
iLBC (internet Low Bitrate Codec) is designed for narrow band speech and has two supported bit rates. The payload bit rate of 13.33 kbit/s has an encoding frame length of 30 milliseconds while the payload bit rate of 15.20 kbit/s has an encoding frame length of 20 milliseconds. iLBC uses a block-independent linear-predictive coding (LPC) algorithm. When the codec operates at block lengths of 20 ms, it produces 304 bits per block. Similarly, for block lengths of 30 ms it produces 400 bits per block. The two modes for the different frame sizes operate in a very similar way. Where they differ, it is usually explicitly noted by x/y, where x refers to the 20 ms mode and y refers to the 30 ms mode.
The iLBC speech codec is eminently suitable for robust voice communication over IP. The codec smoothly handles the case of lost frames through graceful speech quality degradation; lost frames may often occur in connection with lost or delayed IP packets. Standard low bit rate codecs exploit dependencies between speech frames, which unfortunately result in error propagation when packets are lost or delayed. In contrast, iLBC encoded speech frames are independent and so this problem will not occur. This unique technology gives iLBC robustness against packet loss and delay.
The iLBC algorithm results in a speech coding system with a controlled response to packet loss similar to what is known from pulse code modulation (PCM) with packet loss concealment (PLC), such as the ITU-T G.711 standard which operates at a fixed bit rate of 64 kbit/s. At the same time, the algorithm enables fixed bit rate coding with a quality-versus-bit rate tradeoff close to state-of-the-art. For example, in comparison to G.729A, iLBC yields slightly better voice quality for about the same complexity of algorithms yet also has a higher robustness in dealing with packet loss. Some of the applications for which this coder is suitable are: real time communications such as telephony and videoconferencing, streaming audio, archival, and messaging.