G.729.1

G.729.1は ITU-T G.729 を拡張した広帯域の音声とオーディオ用のコーデックで、G.729、G.729.A、G.729.Bとの相互運用性があり、8 kbps～32 kbps の広範囲のビットレートをサポートする。主に VoIP 用に利用されている。

G.729.1の正式な名称は//"G.729-based embedded variable bit-rate coder:An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729"// である。

1. 概要
-----

G.729.1 は G.729 をコアコーデックとし、複数の音声符号化方式を階層的に組み合わせることでビットレート、帯域幅の柔軟性を向上させたものである。

通常の電話インタフェースの2倍の帯域幅を持つ 50 Hz-7 kHzの音声/オーディオ信号を入力とし、 50 Hz-4 kHz の帯域幅を持つ信号を 8～12 kbps に、 50 Hz-7 kHz の帯域幅の信号を 14～32 kbps に符号化できる。

G.729.1 がサポートする 8 kbps～32 kbps までの 12 種類のビットレートに対応してコーデックが出力するビット列は 12 階層の埋め込み構造になっている。符号化したビット列から必要な階層のみを容易に取り出すことができる。

ビットレート 8 kbpsに対応するのがコア層となる第1層で、G.729 と同じ符号化アルゴリズムを用い、出力ビット列は G.729、G.729.A、G.729.B と完全な相互運用性がある。第2層は4 kbpsのG.729の拡張層である。 第3層から12層までは 50 Hz-7 kHz の広帯域音声/オーディオ信号を扱うことができる。2 kbps 単位で情報が増えていき、それに応じて音質が向上する。 それぞれの階層と使用するアルゴリズムを以下にまとめる。

{| class="wikitable"|+ G.729.1 の全体構成 ! 階層 !! アルゴリズム !! 帯域幅 !! 最終的なビットレート !! 説明 |- ! 1 | ACELP  || 50 Hz-4 kHz || 8 kbps || コア層 |- ! 2 | ACELP  || 50 Hz-4 kHz || 12 kbps || コア層の追加部分 |- ! 3 | TDBWE  || 4 kHz-7 kHz || 14 kbps || 粗くパラメータ化した高域成分 |- ! 4-12 | TDAC  || 50 Hz-7 kHz || 16-32 kbps  || 付加情報 |}

符号化した情報は第1層から第12層まで順番にビット列を並べた形で表現され、ビットレートと音質の調整は単純にビット列を切捨てることで行える。

G.729.1 の特徴を以下にまとめる。

音声と音楽など一般的なオーディオの両方をサポート
入出力のサンプリング周波数 16 kHz/16 bit
8～32 kbpsまでの 12 種類のビットレート
12 階層の埋め込み構造ビットストリーム
8 kbpsのコア層は G.729、G.729.A、G.729.B と相互運用性あり
20 msのフレーム長、符号化遅延 48.9375 ms
3 種類の音声符号化アルゴリズムの階層的組み合わせG.729.1 の符号化データを Real-time Transport Protocolを用いインターネット上で送るためのデータ形式は、IETF標準の 4749}}、および 5459}} で定義されている。

2. アルゴリズム
---------

G.729.1 は、G.729 と同様のアルゴリズムをコアとする3種類の音声符号化アルゴリズムの階層的組み合わせからなる。コアのアルゴリズムで入力信号の符号化を行い、符号化できなかった残差部分を他の2つのアルゴリズムを使い付加情報として追加する。

コアには、音声符号化の代表的なアルゴリズムである CELP の一種である ACELPを使う。これは G.729 で使われているものと同じアルゴリズムである。コア部分は 50 Hz-4 kHz の入力信号を 8-12 kbps に符号化する。

4 kHz-7 kHz までの高い周波数成分の符号化には TDBWEと呼ばれるパラメータ符号化アルゴリズムを使う。音声の低域成分と比べると、高域成分には多くの情報が含まれていないため、このアルゴリズムでは時間領域のエンベロープと周波数領域のエンベロープとをかなり粗くパラメータ化し符号化を行う。コア部分との組み合わせにより 50 Hz-7 kHz の入力を 14 kbps に符号化する。

これ以上のビットレートの場合、コア部分で符号化できなかった信号成分のみを別に符号化し、付加情報として第4層以上に追加する。コア部分で符号化できた成分と本来の信号との差を、変換予測符号化と呼ばれる手法の1つである TDACアルゴリズムを使って符号化する。

TDAC では、入力信号を MDCTにより周波数領域のパラメータに変換したのち 18 のサブバンドに分割し、サブバンドごとのゲインとスペクトル形状とをそれぞれベクトル量子化する。エネルギーが小さいサブバンドのように聴感上重要度の低いサブバンドに少ないビットを割り当てることで情報の圧縮を行う。 また、聴感上重要度の高いサブバンドほど階層の低い層に符号化することで情報の階層化を行う。例えば、もっとも聴感上の重要度の高いサブバンドの情報は第4層に格納され、重要度の低いサブバンドはそれより高い層に格納される。

また、G.729.1 はIPネットワークようなパケットロスやパケット遅延の多い環境での利用を想定しているため、これらの符号化アルゴリズムの結果とは別に、通信路での情報消失時の音質低下を避けるための補助情報も各階層に格納されている。これらの情報は必要に応じ復号時に使用される。

3. 脚注
-----

4. 参考文献
-------

Jacob Benesty, M. M. Sondhi, Yiteng Huang . //Springer Handbook of Speech Processing//. Springer, 2007. ISBN 978-3540491255.
ITU-T Recommendation G.729.1 , //G.729-based embedded variable bit-rate coder:An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729//. ITU-T, 2006.
IETF Network Working Group. RFC4749 [1]. IETF. October 2006.
IETF Network Working Group. RFC5459 [2]. IETF. January 2009.

5. 関連項目
-------

音声符号化
G.711
G.722
G.722.1
G.722.2
G.723
G.723.1
G.726
G.729

6. 外部リンク
--------

[3] - technical specification
[4]
4749}} - RTP Payload Format for the G.729.1 Audio Codec
5459}} - G.729.1 RTP Payload Format Update: Discontinuous Transmission  Support