Internet Low Bitrate Codec
iLBC の符号化アルゴリズムはIETF標準の RFC 3951 で定義されている。
符号化アルゴリズムは、大まかには、線形予測符号化(LPC)と、線形予測の残差信号のフレーム単位コード化とを組み合わせたものである。残差信号の符号化には CELP のような適応型コードブックが使用される。 20 ms/30 msのフレームは 5 ms(40サンプル)のサブフレームに分割されて処理される。 線形予測の残差信号は、その中で最もエネルギーの大きい連続する2つのサブフレームの先頭あるいは最後の複数ビットが「開始ステート」(start state)として最初にコードブックに登録され、そこから後ろ向きあるいは前向きに順次コードブックを用いた符号化が行われる。
最もエネルギーの大きいサブフレームは有声音の開始部分やピッチ周期の繰り返し波形の先頭部分である可能性が高いため 、音声波形の周期性を生かした効率の良い符号化が行える。 また、開始ステートから後ろ向きあるいは前向きに処理する方法により、前のフレームの適応型コードブックを使用することなく現在のフレームのみでコードブックの構築ができる。
符号化は以下のように行われる。
音声のハイパスフィルタによる前処理(必要な場合) 信号に直流成分や50Hz/60Hzの交流ノイズが含まれていれば除去
線形予測パラメータの計算、量子化、補間 音声信号から線形予測係数(10次)を計算 線形予測係数を線スペクトル対に変換し量子化