G.718
G.718 は複数の音声符号化方式を階層的に組み合わせることでビットレートと帯域幅の柔軟性を向上させたものである。同様のアイデアを用いたものとして G.729.1 がある。 コアとなる音声符号化アルゴリズムとして CELP の一種の ACELP を使用する。 狭帯域版と広帯域版があり、入出力のサンプリング周波数は広帯域の場合 16 kHz、狭帯域の場合 8 kHz あるいは 16 kHz である。
コア部分の性能がよいため、G.718 広帯域コーデックの 8 kbps での音質は G.722.2 の 12.65 kbit/s の場合と等価で、G.718 狭帯域コーデックの8 kbps での音質は G.722.2 の 11.8 kbit/s の場合に等しい 。
G.718 がサポートする 8、12、16、24、32 kbps までの 5 種類のビットレートに対応して、コーデックが出力するビット列は 5 階層の埋め込み構造になっている。符号化したビット列から必要な階層のみを容易に取り出すことができる。
ビットレート 8 kbpsに対応するのがコア層となる第1層で、ACELP を符号化アルゴリズムとして用いる。第2層は 4 kbpsの ACELP 拡張層である。 第3層から第5層までは MDCT(修正離散コサイン変換)を用いた符号化アルゴリズムを用い、第2層までで符号化できなかった情報の符号化を行う。第3層には通信路でフレームが消失した場合の音質低下を避けるための補助情報も格納される。
コアとなる第1層は 3GPP2 で定義された第三世代携帯電話の広帯域音声符号化コーデック VMR-WB の仕様をベースにしたもので、音声符号化の代表的なアルゴリズムである ACELP(algebraic code excited linear prediction)を使う。コア部分はサンプリング周波数 16 kHz の入力信号を 12.8 kHz に再サンプリングし、符号化処理を行う。
第1層では 20 ms のフレームに対し以下の処理により符号化を行う。
12.8 kHz にリサンプリング、ハイパスフィルタによる直流成分除去などの前処理
スペクトル分析(音声区間検出と雑音抑制用)
入力が広帯域/狭帯域かを検出
スペクトル分析結果より音声区間検出(voice activity detection)
スペクトル分析結果より雑音スペクトル推定
推定された雑音スペクトルを用いて雑音抑制
ACELPのための線形予測係数の計算など
聴感重み付けされた音声信号の計算
オープンループでのピッチ周波数(音声波形の基本となる周波数)分析
背景雑音スペクトルの推定値を更新
信号フレーム内容より処理モードを選択
これらの処理を行った後、、信号フレームの内容により以下の処理モードのいずれかの処理により符号化を行う。