Internet Low Bitrate Codec

Internet Low Bitrate Codec あるいは iLBC は、ロイヤリティフリーのナローバンド音声符号化方式で、米国の Global IP Solutions 社（旧 Global IP Sound 社）が VoIP などのために開発した。 他の方式と比べパケットロスの多いIPネットワークでも音質の低下が少ない特徴がある。
iLBC は、Gizmo5、Ekiga、、Google トーク、Yahoo! Messengerなどでの音声コーデックの1つとして使われている。
概要.
iLBC はIPネットワークのようなパケットロスやパケット遅延の多い環境のために開発された音声符号化方式である。ITU-T G.729など一般的な低ビットレートの音声コーデックは音声信号を 20 ms 程度のフレームに分割して処理を行い、適応型コードブックのような複数フレームにまたがる情報を用いて符号化/復号を行う。この方法は圧縮効率がいいが、パケットロスなどにより途中のフレームの情報が失われた場合、その後の多くフレームに影響が及び音質が劣化する。
iLBC ではフレームごとに独立して符号化/復号を行うことで、パケットロスやパケット遅延の影響を最低限に抑え、他の方式より性能低下が穏やかになるようにしたものである。
iLBC の特徴は以下の通りである
iLBC の符号化データを Real-time Transport Protocol（RTP）を用いインターネット上で送るためのデータ形式は、IETF標準の RFC 3952 で定義されている
アルゴリズム.
iLBC の符号化アルゴリズムはIETF標準の RFC 3951 で定義されている。
符号化アルゴリズムは、大まかには、線形予測符号化（LPC）と、線形予測の残差信号のフレーム単位コード化とを組み合わせたものである。残差信号の符号化には CELP のような適応型コードブックが使用される。
20 ms/30 msのフレームは 5 ms（40サンプル）のサブフレームに分割されて処理される。
線形予測の残差信号は、その中で最もエネルギーの大きい連続する2つのサブフレームの先頭あるいは最後の複数ビットが「開始ステート」（"start state"）として最初にコードブックに登録され、そこから後ろ向きあるいは前向きに順次コードブックを用いた符号化が行われる。
最もエネルギーの大きいサブフレームは有声音の開始部分やピッチ周期の繰り返し波形の先頭部分である可能性が高いため
、音声波形の周期性を生かした効率の良い符号化が行える。
また、開始ステートから後ろ向きあるいは前向きに処理する方法により、前のフレームの適応型コードブックを使用することなく現在のフレームのみでコードブックの構築ができる。
符号化は以下のように行われる。
復号はこれとは逆に、パケットの情報を使って開始ステートのビット列から順番に線形予測の残差信号を計算し、それを線形予測フィルタの入力とすることで最終的な音声信号を生成する。
復号は以下のように行われる。