Introducing iLBC

Internet Low Bitrate Codec (iLBC) is an open source narrowband speech codec, developed by Global IP Solutions (GIPS) formerly Global IP Sound. It ensures robust communication over IP. It was formerly licensed as a freeware with limited commercial use, but since 2011 it is available under an open source (3-clause BSD) license as a part of the open source WebRTC project.

It is suitable for robust voice communication over IP, streaming audio, archival and messaging. The algorithm is a version of block-independent linear predictive coding, with the choice of data frame lengths of 20 and 30 milliseconds. The encoded blocks have to be encapsulated in a suitable protocol for transport, usually the Real-time Transport Protocol (RTP).

This codec is also able to handle packet loss successfully in this way error propagation can be avoided. Error propagation is the result of the fact that in case of other types of low bit rate codecs dependencies are exploited between speech frames that cause lower voice quality. This problem is avoided in case of iLBC since there are independent speech frames. This technology gives iLBC robustness against packet loss and delay and ensures higher voice quality.

iLBC is defined in RFC 3951. It is one of the codecs used by Gizmo5, webRTC, Ekiga, QuteCom, Google Talk, Yahoo! Messenger, Polycom IP Phone and Maemo Recorder (on the Nokia N800/N810) and many others.

Parameters and features:

  • Sampling frequency 8 kHz/16 bit (160 samples for 20 ms frames, 240 samples for 30 ms frames)
  • Controlled response to packet loss, delay and jitter
  • Fixed bitrate (15.2 kbit/s for 20 ms frames, 13.33 kbit/s for 30 ms frames)
  • Fixed frame size (304 bits per block for 20 ms frames, 400 bits per block for 30 ms frames)
  • Robustness similar to pulse code modulation (PCM) with packet loss concealment
  • CPU load with higher basic quality and better response to packet loss
  • Computational complexity in a range of G.729A
  • Royalty Free Codec

The major advantage of iLBC codec is the fact that it allows a noticeable improvement in voice quality especially in IP networks. Beside this fact, iLBC is a free codec that means less costs in deployment than in case of other but similar codecs. These issues make it possible to expand services and improve quality easily and effectively.

iLBC is based on block independent linear predictive coding (LPC) algorithm. The encoded blocks are encapsulated to be transported in a suitable protocol like RTP.

iLBC has two supported bit rates. It operates at payload bit rate of 13,33 kbps (399 bits, packetized in 50 bytes) for the frame size of 30 ms and 15.2 kbps (303 bits, packetized in 38 bytes) for the frame size of 20 ms.

It is widely used and suitable especially for real time communication like telephony, videoconferencing, streaming audio, messaging, archival.

Summary for iLBC codec

Algorithm Sample Rate Bit rate Bits per sample Latency CBR VBR Stereo Multi -
channel
Lossy 8 kHz 13.33, 15.20 kbps 16 bit 30, 20ms Yes No No No

Related Pages

More information