internet Low Bitrate Codec

Template: Infobox file format / Maintenance / MagischeZahlHex missing '# iLBC30 \ n! ' Or '# iLBC20 \ n! '

The internet Low Bitrate Codec ( iLBC ) is an open documented, royalty- free voice codec, which has been developed by Global IP Solutions ( GIPS). He stands out from the older codecs from particular in that it is designed specifically for packet -switched data networks such as the Internet and therefore does very well with packet loss and jitter. iLBC is therefore particularly suitable for VoIP.

Properties

The specified in RFC 3951 Codec iLBC is a narrowband codec that is detected frequencies up to 4000 Hz The standard defines a variant with a block length of 30 ms and one with a block length at a sampling rate of 8 kHz and a sampling depth of 16 bits of 20 ms.

Block Independent Linear Predictive Coding

The innovation behind iLBC is the block- independent linear predictive coding (LPC ) algorithm with controlled response to packet loss. Block independence means that each block is encoded entirely independent of the previous and therefore no information is required from the previous blocks, in order to decode the next block correctly. In the previously published compressed voice codec that was not so, causing errors in the sequence of packet loss in packet- based data networks such as the Internet, continues to write about the following blocks of time. When the G.729 codec, for example, leads to dull, explosive sound on the receiver side. The cause of this technical deficiency is that these codecs were designed for the traditional digital telephone network based on virtual connections, which was not intended that blocks may be lost. Therefore one has designed these codecs only robust to bit errors. Packet-switched data networks, however, also respond to bit errors completely different virtual circuits in circuit-switched networks, since the individual packets are received checksum and simply discarded and where appropriate re-transmitted when a bit error is detected. With the advent of VoIP, therefore there was the need to create a codec that can cope with the new technical basics.

Additionally iLBC provides a packet loss concealment, such as the ITU-T standard G.711, based on pulse code modulation (PCM) with a fixed bit rate of 64 kbit / s working. In this case, a substitute signal is generated for the missing part of the audio signal, which is calculated from the surrounding blocks.

Due to these characteristics, the iLBC codec enables a relatively good voice quality even if data blocks are missing due to lost or delayed IP packets.

Modes

ILBC 30

ILBC in each block 30 includes an audio signal of 30 ms or 240 samples, which are encoded into 399 bits of data plus one dummy bit. This corresponds to 50 octets or bytes per block.

It is the older of the two variants of iLBC.

ILBC 20

ILBC in each block 20 includes an audio signal of 20 msec or 160 samples, which are encoded into 303 bits of data plus one dummy bit. This corresponds to 38 octets or bytes per block.

The developers of iLBC characterize the over 30 younger iLBC iLBC 20 as follows:

"When [ ... ] Compared to 30 ms frame size mode, this mode is 15.2 kbps Characterized with: basic higher quality, higher packet loss robustness, lower complexity and algorithmic delay. "

"Compared with the 30 ms block length mode, this 15.2 kb / s mode is charaktisiert follows: Higher basic quality, greater robustness against packet loss, lower complexity and less algorithmic delay. "

RTP signaling modes

The typical protocol for transmission of data streams on the Internet is RTP. It depends, among other VoIP with SIP on the application. To negotiate throughout the entire transmission path which data formats are available or approved for the subscribers and on servers share the individual points in the SIP header field as SDP offer with. In iLBC 20 this SDP offer is as follows:

A = rtpmap: 109 iLBC/8000 a = fmtp: 109 mode = 20 For iLBC 30 mode = 30 applies:

A = rtpmap: 109 iLBC/8000 a = fmtp: 109 mode = 30 Mode is explicitly both variants available / allowed is set to 0:

A = rtpmap: 109 iLBC/8000 a = fmtp: 109 mode = 0 However, the absence of fashion, it is assumed that iLBC is to use 30:

A = rtpmap: 109 iLBC/8000 As the iLBC blocks are to be transmitted with RTP, is specially in RFC 3952 (Real - time Transport Protocol ( RTP) Payload Format for internet Low Bit Rate Codec ( iLBC ) Speech ) described.

License

Originally, the method was free of license fees only available in the floating point version. For the necessary on microcontrollers and fixed-point DSPs version in fixed-point arithmetic had to Global IP Solutions License fees are paid. As a result of the acquisition of GIPS by Google Inc., the method is free of license fees for unconditional use available to everyone and the reference implementation is distributed as free software under the terms of a BSD-style license.

Compared to G.729A

  • Basic quality higher than G.729A, higher robustness against packet loss
  • Computational complexity comparable to G.729A
  • Unlike G.729a free license, use kostenlons
409012
de