(57)【特許請求の範囲】
【請求項１】
入力信号のスペクトルを複数のサブバンドに分割する帯域分割部と、
各サブバンド中の個々のスペクトル係数を量子化するベクトル量子化部と、
ベクトル量子化によって生成されたサブバンドの一連の指示値を分析することによって、前記スペクトルを零ベクトル領域と非零ベクトル領域に分割するスペクトル分析部と、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換するパラメータ符号化部と、
を具備し、
前記パラメータ符号化部が、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換する第１のパラメータ符号化部と、
前記一連の指示値を逆順に並び替える逆順並び替え部と、
零ベクトル各々の逆順に並び替えられた一連の指示値を変換する第２のパラメータ符号化部と、
前記第１のパラメータ符号化部と前記第２のパラメータ符号化部のうちで、より少ないビット数を消費する符号化部を選択する選択部と、
を具備するパラメータ符号化部に置き換えられた、
オーディオ／音声符号化装置。
【請求項２】
入力信号のスペクトルを複数のサブバンドに分割する帯域分割部と、
各サブバンド中の個々のスペクトル係数を量子化するベクトル量子化部と、 
ベクトル量子化によって生成されたサブバンドの一連の指示値を分析することによって、前記スペクトルを零ベクトル領域と非零ベクトル領域に分割するスペクトル分析部と、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換するパラメータ符号化部と、
を具備し、
前記パラメータ符号化部が、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値と、その零ベクトル領域の終了位置を示すパラメータに変換する第１のパラメータ符号化部と、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値と予め決められたスカラー値のうちの一つに開始インデックスの値を掛けることによってその零ベクトル領域中の零ベクトルの数を示すパラメータに変換する第２のパラメータ符号化部と、
前記第１のパラメータ符号化部と前記第２のパラメータ符号化部のうちで、より少ないビット数を消費する符号化部を選択する選択部と、
を具備するパラメータ符号化部に置き換えられた、
オーディオ／音声符号化装置。
【請求項３】
前記零ベクトル領域中の零ベクトル各々の一連の指示値の前記変換により節減されたビットは、前記スペクトルをサブバンド分割し、少なくとも一つのサブバンドに利得補正係数を付与することによって、グローバル利得により細かな分解を与えるために利用される、
請求項１又は２に記載のオーディオ／音声符号化装置。
【請求項４】
前記オーディオ／音声符号化装置は、ステレオまたはマルチチャネル入力信号の一つのチャネルまたは複数のチャネルの符号化に適用される、
請求項１又は２に記載のオーディオ／音声符号化装置。
【請求項５】
前記オーディオ／音声符号化装置は、複数フレーム単位または複数サブフレーム単位でスペクトル係数列を符号化する符号器に適用される、
請求項１又は２に記載のオーディオ／音声符号化装置。
【請求項６】
前記零ベクトル領域中の零ベクトル各々の一連の指示値の前記変換により節減されたビットは、フレーム消失隠蔽パラメータの符号化に利用される、
請求項１又は２に記載のオーディオ／音声符号化装置。
【請求項７】
零ベクトル領域の指示値を復号する指示値復号部と、
その零ベクトル領域の終了位置を示すパラメータを復号する終了位置復号部と、
零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータをその零ベクトル領域中の零ベクトル各々の一連の指示値に変換するパラメータ変換部と、
各サブバンド中の個々のスペクトル係数を逆量子化するベクトル逆量子化部と、 
出力信号を生成するために、前記逆量子化されたスペクトル係数を時間領域へ変換する周波数−時間領域変換部と、
を具備し、
オーディオ／音声符号化装置において前記零ベクトル領域中の零ベクトル各々の一連の指示値が逆順に並び替えられているか否かを示す選択情報を復号する選択パラメータ復号部と、
前記選択情報が前記オーディオ／音声符号化装置での逆順並び替え処理を示す場合は、前記一連の指示値を逆順に並び替える逆順並び替え部と、
をさらに具備する、
オーディオ／音声復号装置。
【請求項８】
零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータをその零ベクトル領域中の零ベクトル各々の一連の指示値に変換する第１のパラメータ変換部と、 
零ベクトル領域の指示値と予め決められたスカラー値のうちの一つに開始インデックスの値を掛けることによってその零ベクトル領域中の零ベクトルの数を示すパラメータをその零ベクトル領域中の零ベクトル各々の一連の指示値に変換する第２のパラメータ変換部と、
前記第１のパラメータ変換部または前記第２のパラメータ変換部のどちらが適用されるかを示す選択情報を復号する選択パラメータ復号部と、
をさらに具備する、
請求項７に記載のオーディオ／音声復号装置。
【請求項９】
前記復号されたスペクトルは、
復号されたスペクトルをある数のサブバンドに分割する帯域分割部と、
復号されたスペクトルを利得補正係数によってスケーリングする利得補正部と、
によりさらに処理される、
請求項７に記載のオーディオ／音声復号装置。
【請求項１０】
入力信号のスペクトルを複数のサブバンドに分割する帯域分割ステップと、
各サブバンド中の個々のスペクトル係数を量子化するベクトル量子化ステップと、 
ベクトル量子化によって生成されたサブバンドの一連の指示値を分析することによって、前記スペクトルを零ベクトル領域と非零ベクトル領域に分割するスペクトル分析ステップと、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換するパラメータ符号化ステップと、
を含み、
前記パラメータ符号化ステップが、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換する第１のパラメータ符号化ステップと、
前記一連の指示値を逆順に並び替える逆順並び替えステップと、
零ベクトル各々の逆順に並び替えられた一連の指示値を変換する第２のパラメータ符号化ステップと、
前記第１のパラメータ符号化ステップと前記第２のパラメータ符号化ステップのうちで、より少ないビット数を消費する符号化ステップを選択する選択ステップと、
を含むパラメータ符号化ステップに置き換えられた、
オーディオ／音声符号化方法。
【請求項１１】
入力信号のスペクトルを複数のサブバンドに分割する帯域分割ステップと、
各サブバンド中の個々のスペクトル係数を量子化するベクトル量子化ステップと、 
ベクトル量子化によって生成されたサブバンドの一連の指示値を分析することによって、前記スペクトルを零ベクトル領域と非零ベクトル領域に分割するスペクトル分析ステップと、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータに変換するパラメータ符号化ステップと、
を含み、
前記パラメータ符号化ステップが、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値と、その零ベクトル領域の終了位置を示すパラメータに変換する第１のパラメータ符号化ステップと、
前記零ベクトル領域中の零ベクトル各々の一連の指示値を零ベクトル領域の指示値と予め決められたスカラー値のうちの一つに開始インデックスの値を掛けることによってその零ベクトル領域中の零ベクトルの数を示すパラメータに変換する第２のパラメータ符号化ステップと、
前記第１のパラメータ符号化ステップと前記第２のパラメータ符号化ステップのうちで、より少ないビット数を消費する符号化ステップを選択する選択ステップと、
を含むパラメータ符号化ステップに置き換えられた、
オーディオ／音声符号化方法。
【請求項１２】
零ベクトル領域の指示値を復号する指示値復号ステップと、 
その零ベクトル領域の終了位置を示すパラメータを復号する終了位置復号ステップと、
零ベクトル領域の指示値とその零ベクトル領域の終了位置を示すパラメータをその零ベクトル領域中の零ベクトル各々の一連の指示値に変換するパラメータ変換ステップと、
各サブバンド中の個々のスペクトル係数を逆量子化するベクトル逆量子化ステップと、  出力信号を生成するために、前記逆量子化されたスペクトル係数を時間領域へ変換する周波数−時間領域変換ステップと、
を含み、
オーディオ／音声符号化装置において前記零ベクトル領域中の零ベクトル各々の一連の指示値が逆順に並び替えられているか否かを示す選択情報を復号する選択パラメータ復号ステップと、
前記選択情報が前記オーディオ／音声符号化装置での逆順並び替え処理を示す場合は、前記一連の指示値を逆順に並び替える逆順並び替えステップと、
をさら含む、
オーディオ／音声復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル量子化を使用したオーディオ／音声符号化装置、オーディオ／音声復号装置及び オーディオ／音声符号化及び復号方法に関係する。
【背景技術】
【０００２】
オーディオ及び音声の符号化においては、変換符号化と線形予測符号化という二つの主要な符号化手法の形式がある。【０００３】
変換符号化は、離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）を使用するなどして、時間領域からスペクトル領域への信号の変換を行なう。個々のスペクトル係数が量子化され、符号化される。量子化または符号化の処理では、個々のスペクトル係数の知覚的重要度を決定するために、通常、心理音響モデルが適用され、そして個々のスペクトル係数は、それらの知覚的重要度に応じて量子化または符号化される。普及している変換コーデックをいくつか挙げると、ＭＰＥＧ ＭＰ３、ＭＰＥＧ ＡＡＣ［１］及び Ｄｏｌｂｙ ＡＣ３がある。変換符号化は、音楽または一般のオーディオ信号に対して有効である。変換コーデックの簡略な構成を図１に示す。【０００４】
図１に例示した符号器では、離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（１０１）を用いて、時間領域の信号Ｓ（ｎ）が周波数領域の信号Ｓ（ｆ）に変換される。【０００５】
マスキング曲線を得るために、周波数領域の信号Ｓ（ｆ）に対して心理音響モデル分析が行なわれる（１０３）。量子化ノイズが不可聴であることを確実にするように、心理音響モデル分析から得られたマスキング曲線に従って、周波数領域の信号Ｓ（ｆ）に対して量子化が適用される（１０２）。【０００６】
個々の量子化パラメータは多重化され（１０４）、復号器側へ送信される。【０００７】
図１に例示した復号器では、最初に、すべてのビットストリーム情報が（１０５）において多重分離される。量子化パラメータは、復号された周波数領域の信号Ｓ〜（ｆ）を復元するように逆量子化される（１０６）。【０００８】
復号された周波数領域の信号Ｓ〜（ｆ）は、復号された時間領域の信号Ｓ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（１０７）を用いて、時間領域へ戻すように変換される。【０００９】
一方、線形予測符号化は、時間領域における音声信号の予測可能な性質を利用し、入力された音声信号に対して線形予測を適用することによって残差／励起信号を得る。音声ピッチ周期の倍数である時間シフトにわたり共鳴効果と高類似度を有する、特に有声範囲の音声信号に対して、このモデル化は音声の非常に効率的な表現をもたらす。線形予測の後、残差／励起信号が、主に、ＴＣＸとＣＥＬＰという二つの異なる方式によって符号化される。【００１０】
ＴＣＸ［２］では、残差／励起信号は、周波数領域において効率的に変換され、符号化される。普及しているＴＣＸコーデックをいくつか挙げると、３ＧＰＰ ＡＭＲ―ＷＢ＋やＭＰＥＧ ＵＳＡＣがある。ＴＣＸコーデックの簡略な構成を図２に示す。 【００１１】
図２に例示した符号器では、時間領域における信号の予測可能な性質を利用するために、入力信号に対してＬＰＣ分析が行なわれる（２０１）。ＬＰＣ分析から生じた個々のＬＰＣ係数が量子化され（２０２）、量子化インデックスが多重化されて（２０７）、復号器側へ送信される。逆量子化モジュール（２０３）からの逆量子化されたＬＰＣ係数を用いて、入力信号Ｓ（ｎ）に対してＬＰＣ逆フィルタリングをかけることによって残差（励起）信号Ｓｒ（ｎ）が得られる（２０４）。【００１２】
離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（２０５）を用いて、残差信号Ｓｒ（ｎ）は周波数領域の信号Ｓｒ（ｆ）に変換される。
【００１３】
Ｓｒ（ｆ）に対して量子化が適用され（２０６）、個々の量子化パラメータが多重化されて（２０７）、復号器側へ送信される。【００１４】
図２に例示した復号器では、最初に、ビットストリーム情報が（２０８）において多重分離される。【００１５】
量子化パラメータは、復号された周波数領域の残差信号Ｓｒ〜（ｆ）を復元するように逆量子化される（２１０）。【００１６】
復号された周波数領域の残差信号Ｓｒ〜（ｆ）は、復号された時間領域の残差信号Ｓｒ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（２１１）を用いて、時間領域へ戻すように変換される。【００１７】
逆量子化モジュール（２０９）からの逆量子化されたＬＰＣパラメータを用いて、復号された時間領域の残差信号Ｓｒ〜（ｎ）はＬＰＣ合成フィルタ（２１２）によって処理されて、復号された時間領域の信号Ｓ〜（ｎ）を得る。【００１８】
ＣＥＬＰ符号化では、残差／励起信号は、何らかの所定のコードブックを使用して量子化される。そして音声品質をさらに向上させるために、元の信号とＬＰＣ合成後の信号との差分信号を周波数領域に変換してさらに符号化することがよく行なわれる。普及しているＣＥＬＰコーデックをいくつか挙げると、ＩＴＵ−Ｔ Ｇ．７２９．１ ［３］やＩＴＵ−Ｔ Ｇ．７１８ ［４］がある。ＣＥＬＰと変換符号化の階層的符号化（階層符号化、エンベディッド符号化）の簡略な構成を図３に示す。【００１９】
図３に例示した符号器では、時間領域における信号の予測可能な性質を利用するために、入力信号に対してＣＥＬＰ符号化が行なわれる（３０１）。ＣＥＬＰパラメータを用いて、ＣＥＬＰローカル復号器（３０２）によって合成信号Ｓｓｙｎ（ｎ）が復元される。予測誤差信号Ｓｅ（ｎ）（入力信号と合成信号の差）が、入力信号から合成信号を引き算することによって得られる。【００２０】
離散フーリエ変換 （ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（３０３）を用いて、予測誤差信号Ｓｅ（ｎ）は周波数領域の信号Ｓｅ（ｆ）に変換される。【００２１】
Ｓｅ（ｆ）に対して量子化が適用され（３０４）、個々の量子化パラメータが多重化されて（３０５）、復号器側へ送信される。【００２２】
図３に例示した復号器では、最初に、すべてのビットストリーム情報が（３０６）において多重分離される。【００２３】
量子化パラメータは、復号された周波数領域の残差信号Ｓｅ〜（ｆ）を復元するように逆量子化される（３０８）。【００２４】
復号された周波数領域の残差信号Ｓｅ〜（ｆ）は、復号された時間領域の残差信号Ｓｅ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（３０９）を用いて、時間領域へ戻すように変換される。【００２５】
ＣＥＬＰパラメータを用いて、ＣＥＬＰ復号器は合成信号Ｓｓｙｎ（ｎ）を復元し（３０７）、復号された時間領域の信号Ｓ〜（ｎ）が、ＣＥＬＰ合成信号Ｓｓｙｎ（ｎ）と復号された予測誤差信号Ｓｅ〜（ｎ）を加算することによって復元される。【００２６】
変換符号化及び線形予測符号化における変換符号化部は、通常、何らかの量子化法を利用することによって実行される。 【００２７】
ベクトル量子化法の一つは、スプリット・マルチレート格子ＶＱまたは代数的ＶＱ（ＡＶＱ）と名付けられている［５］。ＡＭＲ―ＷＢ＋［６］では、スプリット・マルチレート格子ＶＱが、ＴＣＸ領分におけるＬＰＣの残差を量子化するために使用される（図４に示すように）。新たに標準化された音声コーデックであるＩＴＵ―Ｔ Ｇ．７１８においても、スプリット・マルチレート格子ＶＱが、ＭＤＣＴ領分におけるＬＰＣの残差を第３の残差符号化層として量子化するために使用される。【００２８】
スプリット・マルチレート格子ＶＱは、格子量子化器に基づいたベクトル量子化法である。具体的に、ＡＭＲ―ＷＢ＋［６］で使用されるスプリット・マルチレート格子ＶＱの場合には、ＲＥ８格子と呼ばれるGosset格子のサブセットにより構成されるベクトル・コードブックを使用して、スペクトルが８個のスペクトル係数のブロックを単位として量子化される（［５］を参照）。【００２９】
任意の格子のすべての点は、その格子のいわゆる２乗生成マトリクスＧから、ｃ＝ｓ・Ｇ（ここで、ｓは個々の整数値を含む線ベクトルであり、ｃは生成される格子点である）として生成可能である。【００３０】
ある定められたレート（比率）でのベクトル・コードブックを作るためには、ある定められた半径のある範囲（８次元）内の格子点のみが採取される。マルチレート・コードブックは、したがって、それぞれ異なる半径の範囲内の格子点の各サブセットを採取することによって作成され得る。 【００３１】
ＴＣＸコーデックにおいてスプリット・マルチレート・ベクトル量子化を利用した簡略な構成を図４に例示する。【００３２】
図４に例示した符号器では、時間領域における信号の予測可能な性質を利用するために、入力信号に対してＬＰＣ分析が行なわれる（４０１）。ＬＰＣ分析から生じた個々のＬＰＣ係数が量子化され（４０２）、量子化インデックスが多重化されて（４０７）、復号器側へ送信される。逆量子化モジュール（４０３）からの逆量子化されたＬＰＣ係数を用いて、入力信号Ｓ（ｎ）に対してＬＰＣ逆フィルタリングをかけることによって残差（励起）信号Ｓｒ（ｎ）が得られる（４０４）。【００３３】
離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（４０５）を用いて、残差信号Ｓｒ（ｎ）は周波数領域の信号Ｓｒ（ｆ）に変換される。
【００３４】
スプリット・マルチレート格子ベクトル量子化法がＳｒ（ｆ）に対して適用され（４０６）、個々の量子化パラメータが多重化されて（４０７）、復号器側へ送信される。【００３５】
図４に例示した復号器では、最初に、すべてのビットストリーム情報が（４０８）において多重分離される。 【００３６】
量子化パラメータは、復号された周波数領域の残差信号Ｓｒ〜（ｆ）を復元するように、スプリット・マルチレート格子ベクトル逆量子化法によって逆量子化される（４１０）。【００３７】
復号された周波数領域の残差信号Ｓｒ〜（ｆ）は、復号された時間領域の残差信号Ｓｒ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（４１１）を用いて、時間領域へ戻すように変換される。【００３８】
逆量子化モジュール（４０９）からの逆量子化されたＬＰＣパラメータを用いて、復号された時間領域の残差信号Ｓｒ〜（ｎ）はＬＰＣ合成フィルタ（４１２）によって処理されて、復号された時間領域の信号Ｓ〜（ｎ）を得る。【００３９】
図５は、スプリット・マルチレート格子ＶＱの処理を例示する。入力スペクトルＳ（ｆ）は、最初に、ある数の８次元のブロック（またはベクトル）に分割され（５０１）、各ブロック（ベクトル）がマルチレート格子ベクトル量子化法によって量子化される（５０２）。量子化ステップにおいて、スペクトル全体の使用可能なビット数とエネルギー・レベルにより、グローバル利得が最初に計算される。次に、各ブロック（またはベクトル）ごとに、元のスペクトルとグローバル利得との間の比率がそれぞれ異なるコードブックによって量子化される。スプリット・マルチレート格子ＶＱの個々の量子化パラメータは、グローバル利得の量子化インデックス、各ブロック（またはベクトル）についてのコードブック指示値及び各ブロック（またはベクトル）についてのコードベクトル・インデックスである。【００４０】
図６は、ＡＭＲ―ＷＢ＋［６］で採用されたスプリット・マルチレート格子ＶＱのコードブックのリストの概要を示す。この表では、コードブックＱ０、Ｑ２、Ｑ３またはＱ４が、基本コードブックである。ある格子点がこれらの基本コードブックに含まれていない場合には、基本コードブックのＱ３またはＱ４部分のみを使用して、Voronoi拡張［７］が適用される。例として、この表中で、Ｑ５はＱ３のVoronoi拡張であり、 Ｑ６はＱ４のVoronoi拡張である。【００４１】
各コードブックは、ある数のコードベクトルからなる。コードブック中のコードベクトル・インデックスは、あるビット数で表現される。このビット数は、下に示す式１によって得られる。
【数１】
0005629319.tif 000002
【００４２】
コードブックＱ０には、一つのベクトル、零ベクトルしかなく、零ベクトルはベクトルの量子化値が０であることを意味する。したがって、コードベクトル・インデックスのために必要とされるビットはない。【００４３】
スプリット・マルチレート格子ＶＱの量子化パラメータの３つのセット、すなわち、グローバル利得のインデックス、コードブックの指示値及びコードベクトルのインデックスがある。ビットストリーム は、通常、二つの方法で形成される。第１の方法を図７に例示し、第２の方法を図８に例示する。【００４４】
図７では、入力信号Ｓ（ｆ）は最初にある数のベクトルに分割される。次に、当該スペクトルの使用可能なビット数とエネルギー・レベルにより、グローバル利得が得られる。グローバル利得はスカラー量子化器によって量子化され、Ｓ（ｆ）／Ｇがマルチレート格子ベクトル量子化器によって量子化される。ビットストリームが形成されるとき、グローバル利得のインデックスが第１の部分を形成し、すべてのコードブック指示値が一グループにまとめられて第２の部分を形成し、コードベクトルのすべてのインデックスが一グループにまとめられて最後の部分を形成する。【００４５】
図８では、入力信号Ｓ（ｆ）は最初にある数のベクトルに分割される。次に、当該スペクトルの使用可能なビット数とエネルギー・レベルにより、グローバル利得が得られる。グローバル利得はスカラー量子化器によって量子化され、Ｓ（ｆ）／Ｇがマルチレート格子ベクトル量子化器によって量子化される。ビットストリームが形成されるとき、グローバル利得のインデックスが第１の部分を形成し、各ベクトルについてのコードブック指示値とそれに続くコードベクトル・インデックスが第２の部分を形成することになる。
【先行技術文献】
【非特許文献】
【００４６】
【非特許文献１】Karl Heinz Brandenburg, "MP3 and AAC Explained", AES 17th International Conference, Florence, Italy, September 1999.
【非特許文献２】Lefebvre, et al., "High quality coding of wideband audio signals using transform coded excitation (TCX)", IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 1, pp. I/193-I/196, Apr. 1994
【非特許文献３】ITU-T Recommendation G.729.1 (2007) “G.729-based embedded variable bit-rate coder: An 8-32kbit/s scalable wideband coder bitstream interoperable with G.729”
【非特許文献４】T. Vaillancourt et al, “ITU-T EV-VBR: A Robust 8-32 kbit/s Scalable Coder for Error Prone Telecommunication Channels", in Proc. Eusipco, Lausanne, Switzerland, August 2008
【非特許文献５】M. Xie and J.-P. Adoul, "Embedded algebraic vector quantization (EAVQ) with application to wideband audio coding," IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Atlanta, GA, U.S.A, 1996, vol. 1, pp. 240-243
【非特許文献６】3GPP TS 26.290 “Extended AMR Wideband Speech Codec (AMR-WB+)”
【非特許文献７】S. Ragot, B. Bessette and R. Lefebvre, “Low-complexity Multi-Rate Lattice Vector Quantization with Application to Wideband TCX Speech Coding at 32kbit/s," Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Montreal, QC, Canada, May, 2004, vol. 1, pp. 501-504
【発明の概要】
【発明が解決しようとする課題】
【００４７】
使用可能なビット数が多くない場合、または量子化されるスペクトルのエネルギーがある周波数帯域に集中している場合、多数のベクトルが０（零ベクトル）として量子化されるため、復号されたスペクトル中に多数の零ベクトルを生じさせる、つまり、スペクトルが非常に低密度な状態になる。【００４８】
先行技術では、コードブック指示値とコードベクトル・インデックスは２進数に直接変換され、ビットストリームを形成する。【００４９】
したがって、すべてのベクトルに消費される総ビット数は、次のように計算可能である。
【数２】
0005629319.tif 000003
【００５０】
スペクトルの低密度状態が、可能なビット節減を成し遂げるために有効利用されていない、つまり、いくつかのビットが零ベクトルを指示するために浪費される。 
【課題を解決するための手段】
【００５１】
本発明では、信号スペクトルの低密度状態を有効利用することによって、零ベクトルについてのＡＶＱコードブック指示値を別の高効率のインデックスに変換する効率的な方法が取り入れられる。【００５２】
Ｑ０は零ベクトルを指示するものであり、すべての他のコードブックは非零ベクトルを指示するものであるから、すべてのベクトルのコードブック指示値を分析することによってスペクトルの低密度状態の情報を獲得することができる。このステップはスペクトル・クラスター分析と名付けられ、その処理の詳細を以下に例示する。【００５３】
１）スペクトル中で、ある数の零ベクトル（Ｑ０で量子化される）のみからなる零ベクトルの部分をすべて見つけ出し、各部分の中の零ベクトルの数をカウントする。【００５４】
２）当該部分の中の零ベクトルの数がThresholdよりも大きい場合には、その部分は零ベクトル領域として分類される。そうでなければ、 ある数の零ベクトルと隣接するある数の非零ベクトルとを合同させ、非零ベクトル領域として分類する。【００５５】
３）Thresholdは、零ベクトル領域の指示のために、及び零ベクトル領域の末尾のベクトルのインデックス（終了インデックス）の符号化のために使用される消費ビット数に従って決定される。
【数３】
0005629319.tif 000004
【００５６】
４）零ベクトル領域については、零ベクトルごとにＱ０インデックスを送信する代わり、零ベクトル領域の指示値と零ベクトル領域の末尾のベクトルのインデックス（終了インデックス）が送信される。【００５７】
５）零ベクトル領域の指示値は、指示値が復号器側で識別できることを唯一の必要条件として、様々に設計可能である。【００５８】
６）末尾ベクトルのインデックス（終了インデックス）の値は、適応的に設計されたコードブックによって量子化される。このコードブック中で、末尾ベクトルのインデックス（終了インデックス）の可能な値の数に応じて、ある数の代表値が設計可能である。 【００５９】
図９に一例を例示する。この図では、わかりやすいように復号されたスペクトルが例示されている。この例では、二つの非零ベクトル領域と一つの零ベクトル領域の３つの部分がある。零ベクトル領域の先頭ベクトルのインデックスはＩｎｄｅｘ＿ｓｔａｒｔとして示され、零ベクトル領域の末尾ベクトのインデックスはＩｎｄｅｘ＿ｅｎｄとして示される。上記ステップ３で言及したとおり、零ベクトル領域はある数の零ベクトルのみからなり、一方、非零ベクトル領域はある数の非零ベクトルのみからなることを前提とせず、非零ベクトル領域はある数の零ベクトルを有することも可能である。【００６０】
従来の方法の場合には、送信されるべきパラメータは、１）グローバル利得の量子化インデックス ２）すべてのベクトル各々のコードブック指示値 ３）すべてのベクトル各々のコードベクトル・インデックスである。【００６１】
使用可能なビット数が、すべてのベクトル各々の上記パラメータを符号化するのに足りると仮定し）、これらのパラメータすべての符号化に使用される総消費ビット数は、次のとおり求められる:
【数４】
0005629319.tif 000005
【００６２】
零ベクトルはＱ０によって量子化されるのだから、各零ベクトル当り１ビットが消費される。【００６３】
したがって、次式のとおりとなる。
【数５】
0005629319.tif 000006
【００６４】
本発明で提案された方法の場合には、送信されるべきパラメータは、
１）グローバル利得の量子化インデックス 
２）非零ベクトル領域中のすべてのベクトル各々のコードブック指示値  
３）非零ベクトル領域中のすべてのベクトル各々のコードベクトル・インデックス 
４）零ベクトル領域の指示値
５）零ベクトル領域の末尾ベクトルのインデックス（終了インデックス）（または零ベクトル領域中の零ベクトルの数）である。【００６５】
使用可能なビット数が、すべてのベクトル各々の上記パラメータを符号化するのに足りると仮定し、上記パラメータすべての符号化に使用される総消費ビット数は、次のとおり求められる。
【数６】
0005629319.tif 000007
【発明の効果】
【００６６】
本発明の方法を適用することによって、数ビットの節減を達成できる。本発明で提案された方法により節減されるビット数は、次のとおり計算される。
【数７】
0005629319.tif 000008
【００６７】
上記のスペクトル・クラスター分析ステップ２）において、零ベクトル領域中のベクトルの数がThresholdよりも大きいことが調べられる。
【数８】
0005629319.tif 000009
【００６８】
そしてThresholdは式３によって決定される。【００６９】
式３と式８の二つの式から、以下の結論を得ることができる。
【数９】
0005629319.tif 000010
【００７０】
したがって、本発明で提案された方法によってビット節減が達成される（Ｂｉｔｓｓａｖｅ  ＞  ０）。
【図面の簡単な説明】
【００７１】
【図１】変換コーデックの簡略な構成を例示する。
【図２】ＴＣＸコーデックの簡略な構成を例示する。
【図３】階層コーデック（ＣＥＬＰ＋変換）の簡略な構成を例示する。
【図４】スプリット・マルチレート格子ベクトル量子化を利用したＴＣＸコーデックの構成を例示する。
【図５】スプリット・マルチレート格子ベクトル量子化の処理を例示する。
【図６】スプリット・マルチレート格子ＶＱのためのコードブックの表を示す。
【図７】ビットストリーム形成の一つの方法を例示する。
【図８】ビットストリーム形成の別の方法を例示する。
【図９】従来のスプリット・マルチレート格子ＶＱに関する課題を例示する。
【図１０】変換コーデックの提案された構成を例示する。
【図１１】スペクトル・クラスター分析の実現の詳細を例示する。
【図１２】コードブック指示値符号化の実現の詳細を例示する。
【図１３】零ベクトル領域指示表を示す。
【図１４】コードベクトル決定の実現の詳細を例示する。
【図１５】コードベクトル決定の別の方法を例示する。
【図１６】零ベクトル領域指示の別の方法を示す。
【図１７】逆方向サーチの構想を例示する。
【図１８】逆方向サーチ用の指示値表を示す。
【図１９】逆方向サーチの実現の詳細を例示する。
【図２０】消費するビット数をより少なくする別の指示値表を示す。
【図２１】Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲を決定するための構想を例示する。
【図２２】零ベクトル領域指示のために使用される二つの指示値表を示す。
【図２３】異なる指示値表を使用するときの３つの条件を示す。
【図２４】最後のベクトルまでの零ベクトル領域の指示値を含む指示値表を示す。
【図２５】ＴＣＸコーデックの提案された構成を例示する。
【図２６】階層コーデック（ＣＥＬＰ＋変換）の提案された構成を例示する。
【図２７】適応利得量子化を含むＣＥＬＰ＋変換コーデックの提案された構成を例示する。
【図２８】ＣＥＬＰ符号器のビットレートに応じた利得量子化のサーチ範囲の適応的決定の構想を例示する。
【図２９】適応ベクトル利得補正を含む、提案された構成を例示する。
【発明を実施するための形態】
【００７２】
図１０〜図２９を用いて、本発明の主要原理を本節で説明する。当業者は、本発明の精神から逸脱しない範囲で本発明を修正し、適応させることができるであろう。図は、説明を容易にするために提示される。
【００７３】
（実施形態１）
図１０は、スプリット・マルチレート格子ベクトル量子化の本発明による方式を適用した符号器と復号器を具備する、本発明によるコーデックを例示する。
【００７４】
図１０に例示した符号器では、離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（１００１）を用いて、時間領域の信号Ｓ（ｎ）が周波数領域の信号Ｓ（ｆ）に変換される。
【００７５】
マスキング曲線を得るために、周波数領域の信号Ｓ（ｆ）に対して心理音響モデル分析が行なわれる（１００２）。量子化ノイズが不可聴であることを確実にするように、心理音響モデル分析から得られたマスキング曲線に従って、周波数領域の信号Ｓ（ｆ）に対してスプリット・マルチレート格子ベクトル量子化が適用される（１００３）。 
【００７６】
スプリット・マルチレート格子ベクトル量子化は、グローバル利得の量子化インデックス、コードブック指示値及びコードベクトル・インデックスという、量子化パラメータの３つのセットをもつ。
【００７７】
コードブック指示値は、スペクトル・クラスター分析（１００４）へ送られる。スペクトルの低密度状態の情報が、スペクトル・クラスター分析によって抽出され、この情報が上記コードブック指示値をコードブック指示値の別のセットに変換するために使用される（１００５）。
【００７８】
グローバル利得インデックス、コードベクトル・インデックス及び新しいコードブック指示値が多重化されて（１００６）、復号器側へ送信される。
【００７９】
図１０に例示した復号器では、最初に、すべてのビットストリーム情報が（１０７）において多重分離される。 
【００８０】
新コードブック指示値は、元のコードブック指示値を復号するために使用される（１００８）。グローバル利得インデックス、コードベクトル・インデックス及び元のコードブック指示値は、スプリット・マルチレート格子ベクトル逆量子化法（１００９）によって、復号された周波数領域の信号Ｓ〜（ｆ）を復元するように逆量子化される。
【００８１】
復号された周波数領域の信号Ｓ〜（ｆ）は、復号された時間領域の信号Ｓ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（１０１０）を用いて、時間領域へ戻すように変換される。
【００８２】
スペクトル・クラスター分析とコードブック指示値符号器の提案された実現方法を図１１と図１２に例示する。 
【００８３】
図１１には、スペクトル・クラスター分析の提案された実現方法が例示される。 
【００８４】
この方法には５つのステップがあり、各ステップが図を用いて例示される。この図解では、全部で２２個のベクトルがあり、ベクトル・インデックスは０から始まり２１で終わる。
【００８５】
１）２２個のベクトル各々のすべてのコードブック指示値を分類する。コードブックＱ０によって量子化されるベクトルは、零ベクトルであるというように。スペクトルの低密度状態の情報が、各ベクトルそれぞれのコードブック指示値を分析することによって抽出され得る。 
【００８６】
２）ある数の零ベクトルの部分をすべて特定する。ある数の零ベクトルの部分は、ある数の零ベクトルのみからなる部分である。この例では、ある数の零ベクトルの部分が３つある（ｉ＝０、３−１９、２１）
【００８７】
３）各零ベクトル部分中の零ベクトルの数をカウントする。本例では、第１の部分が１個の零ベクトルだけをもつ。第２の部分は１７個の零ベクトルをもち、最後の部分は１個の零ベクトルをもつ。
【００８８】
４）各零ベクトル部分中の零ベクトルの数をThresholdと比較する。Thresholdは、下の式によって決定される。
【数１０】
0005629319.tif 000011
【００８９】
この例では、ＢｉｔｓｉｎｄｉｃａｔｉｏｎとＢｉｔｓｉｎｄｅｘ＿ｅｎｄに、それぞれ、６ビットと２ビットが与えられるので、新しい符号化方式では消費ビット数は８である（詳細な説明は、以下に記載する）。したがって、Thresholdは８である。この例における３つの零ベクトル部分では、第１の部分と第３の部分の零ベクトルの数が上記Thresholdよりも小さい。第２の部分の零ベクトルの数は、上記Thresholdよりも大きい。
【００９０】
５）グループ化。当該零ベクトル部分中の零ベクトルの数がThresholdよりも大きければ、その部分は零ベクトル領域として分類される。そうでなければ、それらの零ベクトルと隣接するある数の非零ベクトルが合同されて、非零ベクトル領域として分類される。本例では、第２の零ベクトル部分が零ベクトル領域として分類される。そして第１の部分と第３の部分とそれらに隣接する非零ベクトルが合同されて、非零ベクトル領域として分類される。このスペクトルは、二つの非零ベクトル領域と一つの零ベクトル領域の３つの領域に単純化可能である。
【００９１】
図１２には、コードブック指示値符号化のための提案された実現方法が例示される。この方法には５つのステップがあり、各ステップが図を用いて例示される。この図解では、図１１におけるスペクトルが例としてなおも使用される。
【００９２】
１）第１の非零ベクトル領域のコードブック指示値を符号化する。非零ベクトル領域では、ベクトル当りの個々のコードブック指示値が従来と同様に維持される。
【００９３】
２）零ベクトル領域を指示する識別コードを割り当てる。零ベクトル領域では、零ベクトル各々のＱ０指示値を送信するのではなく、零ベクトル領域の指示値と零ベクトル領域の終了インデックスが送信される。この例では、６ビットの指示値（１１１１１０）が、零ベクトル領域を指示するために使用される。 
【００９４】
３）零ベクトル領域の末尾ベクトルのインデックスである、Ｉｎｄｅｘ＿ｅｎｄの値を符号化する。この例では、Ｉｎｄｅｘ＿ｅｎｄは、４つの代表値からなる２ビットのコードブックによって量子化される。各代表値は、Ｉｎｄｅｘ＿ｅｎｄの可能な値を示す。この例では、代表値が表中に示される。この表の決定の詳細は、後述部分で説明する。
【００９５】
４）零ベクトル領域中の残りのベクトルのコードブック指示値を符号化する。ほとんどの場合、量子化されたＩｎｄｅｘ＿ｅｎｄは、実際のＩｎｄｅｘ＿ｅｎｄと厳密に一致しない。したがって、零ベクトル領域中の残りのベクトルを符号化する必要がある。残りのベクトルのコードブック指示値は、Ｑ０指示値として与えられる。
【００９６】
５）最後の非零ベクトル領域のコードブック指示値を符号化する。非零ベクトル領域では、ベクトル当りの個々のコードブック指示値が従来と同様に維持される。
【００９７】
図１３には、従来のスプリット・マルチレート格子ＶＱの指示値表と本発明による方法の指示値表が示される。
【００９８】
これらの二つの表から、零ベクトル領域の指示値は、Ｑ６コードブックを指示していた指示値を利用することがわかる。２ビットのコードブックが、可能なＩｎｄｅｘ＿ｅｎｄを量子化するために使用される。したがって、零ベクトル領域に使用される総消費ビット数は８である。それ以後のコードブックＱｎ（ｎ 3 ６）に関しては、コードブックはＱｎ＋１（ｎ 3 ６）の指示値を使用する、つまり、その消費ビット数は元の指示値よりも１ビット分多い。
【００９９】
図１４と図１５は、２ビットのコードブックがどのように決定されるかを表わす二つの例を示す。
【０１００】
図１４は、図１１で使用されたスペクトルを継続して用いている。図に示すように、Ｉｎｄｅｘ＿ｓｔａｒｔは３であり、スペクトル中の総ベクトル数は２２であり、零ベクトル領域のThresholdは８である。Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲は、１１から２１までである（２１は、Ｉｎｄｅｘ＿ｓｔａｒｔの後のすべてのベクトルが零ベクトルであることを意味する）。
【０１０１】
Ｉｎｄｅｘ＿ｅｎｄ を２ビットのコードブックを用いて量子化するために、Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲に従って、代表値が適応的に決定される。Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲が４つの部分に分割される。各部分は、一つの代表値によって示される。各部分の幅（零ベクトルの数）は下の式によって決定される。
【数１１】
0005629319.tif 000012
【０１０２】
代表値は下の式によって決定される。
【数１２】
0005629319.tif 000013
【０１０３】
この例において、元の方法によってすべてのコードブック指示値を符号化するための総消費ビット数は、次のとおりになる。 
【数１３】
0005629319.tif 000014
【０１０４】
この例において、本発明による方法によってすべてのコードブック指示値を符号化するための総消費ビット数は、次のとおりになる。
【数１４】
0005629319.tif 000015
【０１０５】
本発明で提案された方法によって節減されるビット数は、次のとおりに計算される。
【数１５】
0005629319.tif 000016
【０１０６】
図１５は、コードベクトルの幅を計算するための別の方法である（本文書において、スカラー値をもつ「コードベクトル」は、「代表値」とも表記される）。
【０１０７】
各部分の幅（零ベクトルの数）は、下の式によって決定される。
【数１６】
0005629319.tif 000017
【０１０８】
コードベクトルによって表わされるＩｎｄｅｘ＿ｅｎｄの値は、下の式によって決定される。
【数１７】
0005629319.tif 000018
【０１０９】
この例において、元の方法によってすべてのコードブック指示値を符号化するための総消費ビット数は、次のとおりになる。 
【数１８】
0005629319.tif 000019
【０１１０】
この例において、提案された方法によってすべてのコードブック指示値を符号化するための総消費ビット数は、次のとおりになる。 
【数１９】
0005629319.tif 000020
【０１１１】
本発明で提案された方法によって節減されるビット数は、次のとおりに計算される。
【数２０】
0005629319.tif 000021
【０１１２】
コードベクトルを決定するための方法は、上述の例に限定されない。当業者は本発明の精神を逸脱しない範囲でその他の方法を修正し、適応させることができるであろう。 
【０１１３】
この実施形態では、スプリット・マルチレート・ベクトル量子化したスペクトルに対してスペクトル分析を行なうことによって、スペクトルは零ベクトル領域と非零ベクトル領域に分割される。
【０１１４】
零ベクトル領域では、零ベクトル各々のＱ０指示値を送信するのではなく、零ベクトル領域の指示値と零ベクトル領域の末尾ベクトルのインデックス（終了インデックスと表記される）の量子化値が送信される。 
【０１１５】
零ベクトル領域の指示値は、それほど頻繁に使用されない、コードブック指示値の一つを使用する。元のコードブックは、他の指示値によって指示される。
【０１１６】
終了インデックスは、適応的に設計されたコードブックによって量子化される。終了インデックスのすべての可能な値が数個の部分に分けられ、各部分の長さは終了インデックスの可能な値の総数に従って適応的に決定される。各部分は、コードブックの代表値の一つによって表される。
【０１１７】
したがって、連続する零ベクトルに対して、本発明による方法を適用することによってビット節減が達成される。
【０１１８】
さらに、この実施形態では、終了インデックスの値は、コードブック―その代表値の数はＮとして示される―によって量子化される。終了インデックスの可能な値の範囲が、Ｎ個の部分に分けられる。各部分における最小値が、その部分の代表値として選択される。
【０１１９】
したがって、終了インデックスのコードブックのために消費されるビット数は、固定されるという利点もある。しかし、代表値は、終了インデックスの可能な値の範囲に従って適応的に決定される―ということは、異なるシナリオに対して終了インデックスを効率的に量子化できる。 
【０１２０】
さらに、図１６に示すとおり、零ベクトル領域とＱ６の両方の指示が同じ指示値を利用する―ただし、零ベクトル領域とＱ６を区別するためにもう１ビットが付加される。その他のコードブック指示値はすべて変わらない。
【０１２１】
この場合、零ベクトル領域の指示は、頻繁に使用されない、コードブック指示値の一つを使用する。そして、それが零ベクトル領域であるか、元のコードブック指示値であるかを示すために、もう１ビットが使用される。
【０１２２】
したがって、一つのコードブック指示値だけが変更され、その他のコードブックはすべて同じままであるという利点がある。この指示値が適切に（コードブック指示値としてあまり頻繁に使用されないものが）選択されるならば、もっと多くのビットが節減可能である。
【０１２３】
（実施形態２）
零ベクトル領域がより低い周波数範囲にある場合には、終了インデックスの量子化に代えて、開始インデックス（零ベクトル領域中の先頭ベクトルのインデックス）が量子化される。終了インデックスが復号器側で知られるように、ビットストリームを逆順に並び替える。より多くのビットを節減する方法を利用できるように、開始インデックスの量子化と終了インデックスの量子化の間で節減ビット数を比較することが望ましい。
【０１２４】
図１７に示すように、零ベクトル領域がより低い周波数範囲にあり、Ｃｂ＿ｓｔｅｐが実施形態１で例示される順方向サーチによって決定されるとすれば、次のようになる。 
【数２１】
0005629319.tif 000022
【０１２５】
代表値は下の式によって決定される。
【数２２】
0005629319.tif 000023
【０１２６】
条件によっては、Ｉｎｄｅｘ＿ｅｎｄの量子化値と実際値の間の誤差もまた大きくなる。この例では、次のようになる。 
【数２３】
0005629319.tif 000024
【０１２７】
したがって、終了インデックスの代わりに開始インデックスを量子化する方法が提案され、Ｉｎｄｅｘ＿ｅｎｄ の値を復号器に知らせるために、一連のコードブック指示値を逆順に並び替える。
【０１２８】
図１７に示した例については、このようになる。
【数２４】
0005629319.tif 000025
【数２５】
0005629319.tif 000026
【数２６】
0005629319.tif 000027
【０１２９】
実施形態１における方法は、Ｉｎｄｅｘ＿ｓｔａｒｔと総ベクトル数によりＣｂ＿ｓｔｅｐを決定するので、順方向サーチと名付けられる。本実施形態における方法は、Ｉｎｄｅｘ＿ｅｎｄによりＣｂ＿ｓｔｅｐを決定するので、逆方向サーチと名付けられる。
【０１３０】
逆方向サーチ方法を指示するためには１ビット余計に消費されるが（逆方向サーチの指示のためには９ビット、順方向サーチの指示のためには８ビット）、順方向サーチ方法に対比して、逆方向サーチ方法によって節減されるビットは一つ多い。
【数２７】
0005629319.tif 000028
【０１３１】
図１８には、従来のスプリット・マルチレート格子ＶＱの指示値表と提案された方法の指示値表が示される。
【０１３２】
本発明の方法のコードブック表において、順方向サーチの指示値は変更されない。そして逆方向サーチは、順方向サーチの前に０を一つ追加することによって指示される。零ベクトル領域の前に零ベクトルが存在することはあり得ないので、 この指示値がＱ０＋順方向サーチ（０＋１１１１１０）と誤って解釈されることはない。
【０１３３】
図１９は、逆方向サーチ方法の詳細ステップを示す。逆方向サーチ方法には４つのステップがある。
１）コードブック指示値のリスト中で零ベクトル領域を探索する。
２）零ベクトル領域が特定された後、順方向サーチに対比して節減ビット数を比較する。そしてより多くの節減ビット数を達成する方法が選択される。
３）逆方向サーチを使用すべきことが確認された後、コードブック指示値のリストを逆順に並び替え、主幹の実施形態において順方向サーチとして例示した方法と同様に、Ｃｂ＿ｓｔｅｐが決定される。
４）本発明で提案された方法によって、コードブック指示値のリストを圧縮する 。
【０１３４】
復号器側では、コードブック指示値のリストを復元するために３つのステップがある。
１）順方向サーチと同様に、Ｃｂ＿ｓｔｅｐを特定する。
２）符号器側で行なわれた処理と逆の処理によって零ベクトル範囲を拡張する。
３）逆方向サーチが使用されていることを指示値が示す場合、コードブック指示値のリストを逆順に並び替える。
【０１３５】
本実施形態では、零ベクトル領域がより低い周波数範囲にある場合に、終了インデックスの量子化の代わりに、開始インデックス（零ベクトル領域中の先頭ベクトルのインデックス）が量子化される。終了インデックスが復号器側で知られるように、ビットストリームを逆順に並び替える。より多くのビットを節減する方法を利用できるように、開始インデックスの量子化と終了インデックスの量子化の間で節減ビット数を比較することが望ましい。したがって、より多くのビット数の節減が達成可能である。  
【０１３６】
（実施形態３）
実施形態２では、逆順並び替え処理がより多くの演算処理能力を必要とする。本実施形態では、コードブック指示値のリストを逆順に並び替えなくてすむ方法が提案される。
【０１３７】
逆方向サーチ方法では、Ｃｂ＿ｓｔｅｐは次の式で計算される。
【数２８】
0005629319.tif 000029
【数２９】
0005629319.tif 000030
【０１３８】
式４３から、零ベクトルの数がＩｎｄｅｘ＿ｓｔａｒｔの値から得られるように、ｃｖ／（４−ｃｖ） の値を設計することができる。
【０１３９】
係数のセットが、一例として、次ように定義され得る。 
【数３０】
0005629319.tif 000031
【０１４０】
本実施形態では、ビットストリームを逆順に並び替える代わりに、零ベクトルの数は、開始インデックスの値のスカラー倍数として量子化される。各スカラー値が当該コードブック中のコードベクトルの一つによって表わされるように、スカラー値を予め学習させておくことが望ましい。本実施形態には、ビットストリームを逆順に並び替えることを避けることができ、複雑さが減少されるという利点がある。
【０１４１】
（実施形態４）
本実施形態では、Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲に従って、消費ビット数を削減することができる。
【０１４２】
図２０は、零ベクトル領域の表現に必要な総ビット数が、常に８ビットではなく、６または７または８ビットになり得る、新しい指示値表を示す。
【０１４３】
図２１は、零ベクトル領域をもつ入力スペクトルについての、いくつかの条件を例示する。Ｍｉｎとして示されるＩｎｄｅｘ＿ｅｎｄの最小可能値は、次のとおりである。
【数３１】
0005629319.tif 000032
【０１４４】
Ｍａｘとして示されるＩｎｄｅｘ＿ｅｎｄの最大可能値は、次のとおりである。
【数３２】
0005629319.tif 000033
【０１４５】
つまり、Ｉｎｄｅｘ＿ｅｎｄの可能な値の範囲は、ＭｉｎからＭａｘまである。
【０１４６】
Ｉｎｄｅｘ＿ｅｎｄの可能な値の総数としてＬｅｎｇｔｈを定義すると、Ｌｅｎｇｔｈの値に従って、４つの異なるケースがある。
【数３３】
0005629319.tif 000034
【０１４７】
Ｉｎｄｅｘ＿ｅｎｄ の値は、２ビットのコードブック （４つの代表値をもつ）によって量子化されることになる）。Ｉｎｄｅｘ＿ｅｎｄ のすべての可能な値は４つの部分に分けられる。        
【０１４８】
各部分は一つの代表値によって表わされる。総消費ビット数＝６＋２＝８
【０１４９】
本実施形態では、終了インデックスの可能な値の数に従って、コードベクトルを表現するビット数が適応的に決定される―例えば、可能な零ベクトル数の長さが１であれば、零ベクトル数を指示するためのビットは必要ないというように。本実施形態には、さらに多くのビットを節減できるという利点がある。  
【０１５０】
（実施形態５）
実施形態１における零ベクトル領域の指示方法では、Ｑｎ（ｎ3６）の場合の各コードブック指示値は、従来の方法に対比して１ビット余分に消費する。入力信号がＱｎ（ｎ3６）によって量子化されるＭ個のベクトルをもち、 零ベクトル領域がないとすれば、従来の方法に対比してＭ個の余分なビットがコードブック指示で浪費される。 
【０１５１】
本実施形態では、より効率のよい零ベクトル領域指示方法が提案される。
【０１５２】
図２２に示すように、本実施形態では、二つの指示表が使用される。表１は従来の指示表であり、表２は実施形態１における零ベクトル領域指示表である。たとえ入力信号がＱｎ（ｎ3６）によって量子化されるＭ（Ｍ＞１）個のベクトルをもち、零ベクトル領域がないとしても、従来の方法に対比して浪費される最大ビット数が１ビットだけになるように、どちらの表がスペクトル全体に使用されるかを示すために１ビットが消費される。
【０１５３】
図２３では、入力フレームは３つのケースに分類される。
【数３４】
0005629319.tif 000035
【０１５４】
表１が使用され、Ｑ５よりも上位のコードブックを使用する最初のベクトルに対して指示が行なわれる。
【０１５５】
本実施形態における零ベクトル領域指示には、二つの指示値表が使用される。零ベクトル領域をもたないフレームについては、従来の表が使用される。
【０１５６】
零ベクトル領域をもつフレームについては、零ベクトル領域指示表が使用される。必要な場合には、どちらの表が使用されるのかを示すために１ビットが消費される。本実施形態では、零ベクトル領域が存在しないフレームの場合により上位のコードブックを指示するために浪費されるビット数が、１ビットに制限される。
【０１５７】
（実施形態６）
最後のベクトルまでの零ベクトル領域をもつフレームについては、特別な指示値が使用される。それによって、Ｃｂ＿ｓｔｅｐに起因する零ベクトル数の誤差を回避できる。
【０１５８】
指示値表が図２４に示される。最後のベクトルまでの零ベクトル領域をもつフレームについては、それを示すために指示値００１１１１１０が使用される。そしてＩｎｄｅｘ＿ｅｎｄの値を指示するために必要なビット数の追加はない。
【０１５９】
本実施形態では、最後のベクトルまでの零ベクトル領域をもつフレームについては、終了インデックスの量子化誤差を回避できるように特別な指示値が使用される。したがって、最後のベクトルまでの零ベクトル領域をもつフレームの場合により多くのビット数節減が可能であるという利点がある。
【０１６０】
（実施形態７）
本実施形態の特徴は、本発明による方法がＴＣＸコーデックに適用されることである。
【０１６１】
提案された構想を図２５に例示する。
【０１６２】
図２５に例示した符号器では、時間領域における信号の予測可能な性質を利用するために、入力信号に対してＬＰＣ分析が行なわれる（２５０１）。ＬＰＣ分析から生じた個々のＬＰＣ係数が量子化され（２５０２）、量子化インデックスが多重化されて（２５０９）、復号器側へ送信される。逆量子化モジュール（２５０３）からの量子化されたＬＰＣ係数を用いて、入力信号Ｓ（ｎ）に対してＬＰＣ逆フィルタリングをかけることによって残差（励起）信号Ｓｒ（ｎ）が得られる（２５０４）。
【０１６３】
離散フーリエ変換（ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（２５０５）を用いて、残差信号Ｓｒ（ｎ）は周波数領域の信号Ｓｒ（ｆ）に変換される。
【０１６４】
スプリット・マルチレート格子ベクトル量子化が、周波数領域の信号Ｓｒ（ｆ）に対して適用される（２５０６）。
【０１６５】
スプリット・マルチレート格子ベクトル量子化は、グローバル利得の量子化インデックス、コードブック指示値及びコードベクトル・インデックスという、量子化パラメータの３つのセットをもつ。
【０１６６】
コードブック指示値は、スペクトル・クラスター分析（２５０７）へ送られる。スペクトルの低密度状態の情報が、スペクトル・クラスター分析によって抽出され、この情報が上記コードブック指示値をコードブック指示値の別のセットに変換するために使用される（２５０８）。
【０１６７】
グローバル利得インデックス、コードベクトル・インデックス及び新しいコードブック指示値が多重化されて（２５０９）、復号器側へ送信される。
【０１６８】
図２５に例示した復号器では、最初に、すべてのビットストリーム情報が（２５１０）において多重分離される。
【０１６９】
新コードブック指示値は、元のコードブック指示値を復号するために使用される（２５１１）。グローバル利得インデックス、コードベクトル・インデックス及び元のコードブック指示値は、スプリット・マルチレート格子ベクトル逆量子化法（２５１２）によって、復号された周波数領域の信号Ｓｒ〜（ｆ）を復元するように逆量子化される。
【０１７０】
復号された周波数領域の残差信号Ｓｒ〜（ｆ）は、復号された時間領域の残差信号Ｓｒ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（２５３０）を用いて、時間領域へ戻すように変換される。 
【０１７１】
逆量子化モジュール（２５１４）からの逆量子化されたＬＰＣパラメータを用いて、復号された時間領域の残差信号Ｓｒ〜（ｎ）はＬＰＣ合成フィルタ（２１２）によって処理されて、復号された時間領域の信号Ｓ〜（ｎ）を得る。
【０１７２】
（実施形態８）
本実施形態の特徴は、スペクトル・クラスター分析法がＣＥＬＰと変換符号化の階層的符号化（階層符号化、エンベディッド符号化）に適用されることである。
【０１７３】
図２６に例示した符号器では、時間領域における信号の予測可能な性質を利用するために、入力信号に対してＣＥＬＰ符号化が行なわれる（２６０１）。ＣＥＬＰパラメータを用いて、ＣＥＬＰローカル復号器（２６０２）によって合成信号Ｓｓｙｎ（ｎ）が復元され、ＣＥＬＰパラメータは多重化されて（２６０７）、復号器側へ送信される。予測誤差信号Ｓｅ（ｎ）（入力信号と合成信号の差）が、入力信号から合成信号を引き算することによって得られる。
【０１７４】
離散フーリエ変換 （ＤＦＴ）または修正離散コサイン変換（ＭＤＣＴ）などの時間−周波数変換方式（２６０３）を用いて、予測誤差信号Ｓｅ（ｎ）は周波数領域の信号Ｓｅ（ｆ）に変換される。
【０１７５】
スプリット・マルチレート格子ベクトル量子化が、周波数領域の信号Ｓｅ（ｆ）に対して適用される（２６０４）。
【０１７６】
スプリット・マルチレート格子ベクトル量子化は、グローバル利得の量子化インデックスと、コードブック指示値とコードベクトル・インデックスという、量子化パラメータの３つのセットをもつ。
【０１７７】
コードブック指示値は、スペクトル・クラスター分析（２６０５）へ送られる。スペクトルの低密度状態の情報が、スペクトル・クラスター分析によって抽出され、この情報が上記コードブック指示値をコードブック指示値の別のセットに変換するために使用される（２６０６）。
【０１７８】
グローバル利得インデックス、コードベクトル・インデックス及び新しいコードブック指示値が多重化されて（２６０７）、復号器側へ送信される。
【０１７９】
図２６に例示した復号器では、最初に、すべてのビットストリーム情報が（２６０８）において多重分離される。
【０１８０】
新コードブック指示値は、元のコードブック指示値を復号するために使用される（２６０９）。グローバル利得インデックス、コードベクトル・インデックス及び元のコードブック指示値は、スプリット・マルチレート格子ベクトル逆量子化法（２６１０）によって、復号された周波数領域の信号Ｓｅ〜（ｆ）を復元するように逆量子化される。
【０１８１】
復号された周波数領域の残差信号Ｓｅ〜（ｆ）は、復号された時間領域の残差信号Ｓｅ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（２６１１）を用いて、時間領域へ戻すように変換される。 
【０１８２】
ＣＥＬＰパラメータを用いて、ＣＥＬＰ復号器は合成信号Ｓｓｙｎ（ｎ）を復元し（２６１２）、復号された時間領域の信号Ｓ〜（ｎ）が、ＣＥＬＰ合成信号Ｓｓｙｎ（ｎ）と復号された予測誤差信号Ｓｅ〜（ｎ）を加算することによって復元される。
【０１８３】
(実施形態９）
本実施形態では、図２７に示すように、スペクトル・クラスター分析法が適応利得量子化法と組み合わされる。
【０１８４】
符号化及び復号処理は、グローバル利得のインデックスまたはグローバル利得自体がスプリット・マルチレートから適応利得量子化ブロック（２７０６）へ送られる以外は、実施形態８とほとんど同じである。グローバル利得を直接量子化するのではなく、適応利得量子化法は、グローバル利得がより小さな範囲でより効率よく量子化され得るように、合成信号と、スプリット・マルチレート格子ベクトル量子化によって量子化されるコーディング・エラー信号との関連性を利用する。
【０１８５】
ＡＶＱ利得量子化を実現するためには二つの方法がある
【０１８６】
＜方法１＞
ステップ１：合成信号Ｓｓｙｎ（ｆ）の最大絶対値ｓｙｎ＿ｍａｘを探索する。
ステップ２：ＡＶＱ利得／ｓｙｎ＿ｍａｘの比を計算する。
ステップ３：狭められた範囲内でＡＶＱ利得／ｓｙｎ＿ｍａｘの比を量子化する（いろいろな信号系列を使用して、狭められた範囲を予め学習させておくことが望ましい）。
【０１８７】
＜方法２＞
ステップ１：合成信号Ｓｓｙｎ（ｆ）の最大絶対値ｓｙｎ＿ｍａｘを探索する。
ステップ２：インデックス＝Ｉｎｄｅｘ１として、ＡＶＱ利得を量子化する。
ステップ３：インデックス＝Ｉｎｄｅｘ２として、ｓｙｎ＿ｍａｘを量子化する。
ステップ４：狭められた範囲内でＩｎｄｅｘ２−ｉｎｄｅｘ１を送信する（いろいろな信号系列を使用して、狭められた範囲を予め学習させておくことが望ましい）。
【０１８８】
ＣＥＬＰコア・ コーデックが多様なビットレートをもつ場合には、ＣＥＬＰ符号器の多様なビットレートに対応する多様な狭められた範囲を設計することが望ましい。図２８に示すように、ＣＥＬＰ符号器のビットレートがより高くなるほど、元の信号に対比してエラー信号がより小さくなり、合成信号は元の信号により近づくため、エラー信号と合成信号との比はより小さくなる。つまり、上記の比のサーチ範囲が、より小さい範囲へ偏ることになる。
【０１８９】
本実施形態では、適応グローバル利得量子化法が取り入れられる。この方法は、以下のステップからなる。
１）ＣＥＬＰ合成信号Ｓｓｙｎ（ｆ）の振幅情報を抽出する。
２）抽出された振幅情報に従って、グローバル利得のサーチ範囲を狭める。 
３）狭められた範囲内で利得を量子化する。
【０１９０】
利得のサーチ範囲が狭められるから、利得の量子化のために必要なビット数がより少なくてすむ。
【０１９１】
（実施形態１０）
本実施形態の特徴は、スペクトル・クラスター分析法により節減されたビットが、量子化されたベクトルの利得精密度を向上させるために利用されることである。
【０１９２】
図２９は、スペクトルをより小さな帯域に分割し、各帯域に「利得補正係数」を付与することによって、グローバル利得により細かな分解を与えるために、節減されたビットを利用する符号器と復号器を具備する、本発明によるコーデックを例示する。
【０１９３】
符号化及び復号処理は、実施形態１において提案された方法により節減されたビットが、グローバル利得に対して適応ベクトル利得補正をかける（２９０６）ことによって利得精密度を向上させるために利用される以外は、実施形態１の場合とほとんど同じである。
【０１９４】
適応ベクトル利得補正は、スペクトル・クラスター分析法により節減されたビット数に応じて利得を補正するように設計される。節減されたビットがごく少ない場合には、スペクトルはより少数のサブバンドに分割され、サブバンド当りに一つの利得補正係数が算出される。一方、節減されたビットがかなり多い場合には、スペクトルはより多数のサブバンドに分割され、サブバンド当りに一つの利得補正係数が算出される。ＭからＮまでインデックス付けされている個々の係数(係数列）をもつサブバンド当りの利得補正係数は、下の式で計算可能である。
【数３５】
0005629319.tif 000036
【０１９５】
得られた個々の利得補正係数は多重化されて（２９０７）、復号器側へ送信される。
【０１９６】
復号器側では、上記の利得補正係数が、下の式に従って、復号されたスペクトルＳ〜（ｆ）を補正する（２９１１）ために使用される。
【数３６】
0005629319.tif 000037
【０１９７】
利得補正されたスペクトルＳ’〜（ｆ）は、復号された時間領域の信号Ｓ〜（ｎ）を復元するように、逆離散フーリエ変換（ＩＤＦＴ）または逆修正離散コサイン変換（ＩＭＤＣＴ）などの周波数−時間変換方式（２９１２）を用いて、時間領域へ戻すように変換される。
【０１９８】
本実施形態では、スペクトル・クラスター分析から節減されたビットが、スペクトルをより小さな帯域に分割し、各帯域に「利得補正係数」を付与することによって、グローバル利得により細かな分解を与えるために利用される。利得補正係数を送信するように、節減されたビットを利用することによって、量子化性能の向上が可能になり、音質の向上が可能になる。
【０１９９】
スペクトル・クラスター分析法は、ステレオまたはマルチチャネル信号の符号化に適用可能である。例えば、本発明による方法は副信号の符号化に適用され、節減されたビットは主信号の符号化に利用される。これは、主信号は副信号よりも知覚的により重要であるから、主観的な質の向上をもたらすことになろう。
【０２００】
さらに、スペクトル・クラスター分析（ＳＣＡ）法は、複数フレーム単位で（または複数サブフレーム単位で）スペクトル係数列を符号化するコーデックに適用可能である。この適用では、次の符号化段階でのスペクトル係数列または何らか他のパラメータ列を符号化するために、ＳＣＡによって節減されたビットを蓄積して利用することができる。
【０２０１】
さらに、フレーム損失状況において音質を維持できるように、スペクトル・クラスター分析から節減されたビットをＦＥＣ（フレーム消失隠蔽）に利用できる。
【０２０２】
上述の実施形態のすべては、スプリット・マルチレート格子ベクトル量子化を使用するものとして説明されているが、本発明はスプリット・マルチレート格子ベクトル量子化の使用に限定されず、その他のスペクトル係数コーディング手法に適用可能である。当業者は、本発明の精神から逸脱しない範囲で本発明を修正し、適応させることができるであろう。 
【０２０３】
また、上述の実施形態の復号装置は、上述の実施形態の符号化装置から出力された符号化情報を使用する処理を実行するが、本発明はこれに限定されず、符号化情報が上記符号化装置から送信されていない場合にも、当該符号化データが必要なパラメータ及びデータを含む限り、復号装置は処理を実行できる。
【０２０４】
また、本発明による符号化装置及び復号装置は、移動通信システム中の通信端末装置及び基地局装置に搭載可能であり、それにより、上述した効果と同じ動作効果を有する通信端末装置、基地局装置及び移動通信システムを提供することができる。
【０２０５】
本発明がハードウェアにより実現される上述の実施形態により実施例を説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現可能である。
【０２０６】
また、本発明は、単一の処理プログラムが、メモリー、ディスク、テープ、ＣＤ、及びＤＶＤなどの機械的に読出し可能な記録媒体に記録後または書込み後に実働されるケースにも適用可能であり、それにより、ここで述べた実施形態と同じ動作及び効果を提供することができる。
【０２０７】
さらに、上述の各実施形態の記述において使用された各機能ブロックは、集積回路によって構成されたＬＳＩとして、典型的に実現可能である。ＬＳＩは、個別のチップであることも、あるいは部分的にまたは完全に単一チップ上に含まれることも可能である。「ＬＳＩ」がここでは採用されるが、集積化の様々な程度に応じて、これを「ＩＣ」、「システムＬＳＩ」、「超ＬＳＩ」または「極超ＬＳＩ」と言うこともできる。
【０２０８】
さらに、回路集積化の方法はＬＳＩに限定されず、専用回路または汎用プロセッサを使用する実現も可能である。ＬＳＩの製造後に、ＬＳＩ中の回路セルの接続と設定が再構成可能である、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）または再構成可能なプロセッサの利用も可能である。
【０２０９】
さらに、半導体技術または派生的なその他の技術の進歩の結果、ＬＳＩに取って代わる集積回路技術が出現するならば、この技術を利用して機能ブロックの集積化を行なうことも当然可能である。バイオテクノロジーの応用も可能である。
【０２１０】
２０１０年７月６日出願の特願２０１０−１５４２３２の日本出願に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０２１１】
本発明による符号化装置、復号装置並びに符号化及び復号方法は、移動通信システム中の無線通信端末装置や基地局装置、さらに遠隔会議端末装置、ビデオ会議端末装置及びボイス・オーバー・インターネット・プロトコル（ＶＯＩＰ）端末装置に適用可能である。
【図１】
0005629319.tif 000038
【図２】
0005629319.tif 000039
【図３】
0005629319.tif 000040
【図４】
0005629319.tif 000041
【図５】
0005629319.tif 000042
【図６】
0005629319.tif 000043
【図７】
0005629319.tif 000044
【図８】
0005629319.tif 000045
【図９】
0005629319.tif 000046
【図１０】
0005629319.tif 000047
【図１１】
0005629319.tif 000048
【図１２】
0005629319.tif 000049
【図１３】
0005629319.tif 000050
【図１４】
0005629319.tif 000051
【図１５】
0005629319.tif 000052
【図１６】
0005629319.tif 000053
【図１７】
0005629319.tif 000054
【図１８】
0005629319.tif 000055
【図１９】
0005629319.tif 000056
【図２０】
0005629319.tif 000057
【図２１】
0005629319.tif 000058
【図２２】
0005629319.tif 000059
【図２３】
0005629319.tif 000060
【図２４】
0005629319.tif 000061
【図２５】
0005629319.tif 000062
【図２６】
0005629319.tif 000063
【図２７】
0005629319.tif 000064
【図２８】
0005629319.tif 000065
【図２９】
0005629319.tif 000066