(57)【要約】【課題】十分な符号ビット長を確保できない場合であっても、第１符号化対象信号の種類に応じ、適切にミュージカルノイズを軽減する。【解決手段】所定数の第１符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、第１符号化対象信号にそれぞれ対応する第１量子化信号と、当該第１量子化信号を特定するための第１量子化インデックスとを生成して出力し、上記所定数の第１符号化対象信号のうち、基準値よりも振幅値が小さな第１符号化対象信号の個数、または、振幅値が基準値以下の第１符号化対象信号の個数、を特定する判定値に基づき、所定数の第１符号化対象信号に対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報を生成して出力し、第１量子化信号を少なくとも用い、選択された符号化方式に則って符号化処理を行う。【選択図】図１２
2011009869.tif 000002
【特許請求の範囲】
【請求項１】
(A) 所定数の第１符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記第１符号化対象信号にそれぞれ対応する第１量子化信号と、当該第１量子化信号を特定するための第１量子化インデックスと、を生成して出力するステップと、
(B) 前記所定数の第１符号化対象信号のうち、基準値よりも振幅値が小さな前記第１符号化対象信号の個数、または、振幅値が前記基準値以下の前記第１符号化対象信号の個数、を特定する判定値に基づき、前記所定数の第１符号化対象信号に対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報を生成して出力するステップと、
(C) 前記第１量子化信号を少なくとも用い、前記ステップ(B)で選択された前記符号化方式に則って符号化処理を行うステップと、
を有する符号化方法。
【請求項２】
請求項１の符号化方法であって、
前記ステップ(B)は、
(B-1) 前記判定値と所定の閾値とを比較する閾値判定により、前記所定数の第１符号化対象信号の集合が、振幅値の小さな前記第１符号化対象信号が多い側のスパース分類に属するか、振幅値の小さな前記第１符号化対象信号が少ない側の非スパース分類に属するか、を判定するステップと、
(B-2) 前記ステップ(B-1)において前記所定数の第１符号化対象信号の集合が前記スパース分類に属すると判定された場合、前記所定数の第１符号化対象信号にそれぞれ対応する前記第１量子化信号のうち振幅値が０の第１量子化信号の個数を特定する第２判定値と所定の第２閾値とを比較する閾値判定により、前記所定数の第１符号化対象信号にそれぞれ対応する第１量子化信号の集合が、振幅値が０の第１量子化信号の個数が多い側の第１分類に属するか、振幅値が０の第１量子化信号の個数が少ない側の第２分類に属するかを判定するステップと、
(B-3) 前記ステップ(B-1)において前記所定数の第１符号化対象信号の集合が前記非スパース分類に属すると判定された場合、前記所定数の第１符号化対象信号の振幅値の統計的ばらつきを特定する第３判定値と所定の第３閾値とを比較する閾値判定により、前記所定数の第１符号化対象信号の集合が、前記統計的ばらつきが大きい側の第３分類に属するか、前記統計的ばらつきが小さい側の第４分類に属するかを判定するステップと、を含み、
前記所定数の第１符号化対象信号の集合が前記第１分類に属すると判定された場合には第１符号化方式を選択し、前記第２分類に属すると判定された場合には第２符号化方式を選択し、前記第３分類に属すると判定された場合には第３符号化方式を選択し、前記第４分類に属すると判定された場合には第４符号化方式を選択し、
前記第１符号化方式は、前記第１符号化対象信号と前記第１量子化信号とから求めた誤差信号を第２符号化対象信号とし、当該第２符号化対象信号を量子化する方式であり、
前記第２符号化方式は、振幅値が０の前記第１量子化信号に対応する前記第１符号化対象信号のみを第２符号化対象信号とし、当該第２符号化対象信号を量子化する方式であり、
前記第３符号化方式は、前記第１量子化信号の振幅値が０の場合に、複数の前記第１符号化対象信号の振幅値からなる集合に依存する量子化正規化基準値と前記第１符号化対象信号の絶対値とから求めた誤差信号を第２符号化対象信号とし、前記第１量子化信号の振幅値が０以外の場合に、前記第１符号化対象信号の絶対値と前記第１量子化信号の絶対値とから求めた誤差信号を第２符号化対象信号とし、当該第２符号化対象信号を量子化する方式であり、
前記第４符号化方式は、振幅値が０の前記第１量子化信号に対応する前記第１符号化対象信号のみについて、前記第１符号化対象信号が正であるか負であるかを示す正負符号情報を生成する方式である、
ことを特徴とする符号化方法。
【請求項３】
請求項２の符号化方法であって、
前記所定数の第１符号化対象信号の集合は、それぞれ、何れかの離散時間区間に対応し、
前記ステップ(B)及び(C)は、前記所定数の第１符号化対象信号の集合に対応する離散時間区間ごとに実行されるステップであり、
前記ステップ(B)は、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度を低くするための平滑化処理を行うステップを含む、
ことを特徴とする符号化方法。
【請求項４】
請求項２または３の符号化方法であって、
前記ステップ(B-3)は、所定の割り当てられたビット数から、前記第１量子化信号を特定するために必要なビット数を減じた残存ビット数が所定値Ｒ（Ｒ≧１）以上である場合に実行されるステップであり、
前記ステップ(B-1)において前記所定数の第１符号化対象信号の集合が前記非スパース分類に属すると判定され、かつ、前記残存ビット数が所定値Ｒ未満である場合には、前記第３判定値の値にかかわらず、予め定められた前記第３符号化方式または前記第４符号化方式が選択され、
前記残存ビット数が所定値Ｒ以上である場合の前記モード情報のビット長は、前記ステップ(B-1)での判定と前記ステップ(B-3)での判定とによって分岐する判定結果を表現可能な第１ビット長とされ、
前記残存ビット数が所定値Ｒ未満である場合の前記モード情報のビット長は、前記ステップ(B-1)によって分岐する判定結果のみを表現可能な第２ビット長とされ、
前記所定値Ｒは、前記第１ビット長から前記第２ビット長を減じた値に等しい、
ことを特徴とする符号化方法。
【請求項５】
(a) 少なくとも第１量子化インデックスを復号して所定数の第１量子化信号を得るステップと、
(b) 少なくともモード情報を用いて復号方式を特定するステップと、
(c) 前記ステップ(b)で特定された復号方式に則り、少なくとも前記第１量子化値を用いて復号信号を生成し、生成した復号信号を出力するステップと、
を有する復号方法。
【請求項６】
請求項５の復号方法であって、
前記ステップ(b)は、
(b-1) 前記モード情報が所定値であった場合に、前記ステップ(a)で出力された前記第１量子化信号のうち振幅値が０の第１量子化信号の個数を特定する第２判定値と所定の第２閾値とを比較する閾値判定を行って、前記所定数の第１量子化信号の集合が、振幅値が０の第１量子化信号の個数が多い側の第１分類に属するか、振幅値が０の第１量子化信号の個数が少ない側の第２分類に属するかを判定し、前記第１分類に属する場合には第１復号方式を選択し、前記第２分類に属する場合には第２復号方式を選択するステップと、
(b-2) 前記モード情報が前記所定値以外であった場合に、前記モード情報が示す第３復号方式または第４復号方式を選択するステップと、を含み、
前記第１復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、当該第２量子化信号を誤差信号として前記第１量子化信号を誤差修正することで復号信号を生成する方式であり、
前記第２復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、当該第２量子化信号またはそれと同値の信号と、振幅値が０でない第１量子化信号と、を含む復号信号を生成する方式であり、
前記第３復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、少なくとも第３量子化インデックスを用いて量子化正規化基準値を復号し、前記第１量子化信号の振幅値が０の場合に、前記第２量子化信号を誤差信号として前記量子化正規化基準値を誤差修正することで復号信号を生成し、前記第１量子化信号の振幅値が０以外の場合に、前記第２量子化信号を誤差信号として前記第１量子化信号を誤差修正することで復号信号を生成する方式であり、
前記第４復号方式は、少なくとも正負符号情報を用いて当該正負符号情報が示す正または負の符号を持つ信号を生成し、当該正または負の符号を持つ信号またはそれと同値の信号と、振幅値が０でない第１量子化信号と、を含む復号信号を生成する方式である、
ことを特徴とする復号方法。
【請求項７】
請求項５または６の復号方法であって、
前記ステップ(b)は、
(b-1) 所定の割り当てられたビット数から、前記第１量子化信号を特定するために必要なビット数を減じた残存ビット数が所定値Ｒ（Ｒ≧１）以上であるか否かを判定するステップと、
(b-2) 前記残存ビット数が所定値Ｒ以上である場合、前記符号の所定の位置から所定の第１ビット長を抽出してこれを前記モード情報とし、前記残存ビット数が所定値Ｒ未満である場合、前記符号の所定の位置から所定の第２ビット長を抽出してこれを前記モード情報とするステップと、含み、
前記所定値Ｒは、前記第１ビット長から前記第２ビット長を減じた値に等しい、
ことを特徴とする復号方法。
【請求項８】
所定数の第１符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記第１符号化対象信号にそれぞれ対応する第１量子化信号と、当該第１量子化信号を特定するための第１量子化インデックスと、を生成して出力し、前記所定数の第１符号化対象信号のうち、基準値よりも振幅値が小さな前記第１符号化対象信号の個数、または、振幅値が前記基準値以下の前記第１符号化対象信号の個数、を特定する判定値に基づき、前記所定数の第１符号化対象信号に対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報を生成して出力し、前記第１量子化信号を少なくとも用い、選択された前記符号化方式に則って符号化処理を行う、
ことを特徴とする符号化器。
【請求項９】
少なくとも第１量子化インデックスを復号して所定数の第１量子化信号を得、少なくともモード情報を用いて復号方式を特定し、特定された復号方式に則り、少なくとも前記第１量子化値を用いて復号信号を生成し、生成した復号信号を出力する、
ことを特徴とする復号器。
【請求項１０】
請求項１から４の何れかの符号化方法の各ステップまたは請求項５から７の何れかの復号方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号の符号化技術及び復号技術に関する。
【背景技術】
【０００２】
信号系列をサンプルあたり１ビット以下で量子化するための手法の一つにベクトル量子化がある。この手法は、入力されたベクトルとの歪が最も小さいベクトルを符号帳から選択し、その番号（以下、「インデックス」という。）を伝送するものであり、量子化対象に即した符号帳を作成しておくことで、量子化歪の小さい量子化を可能とするものである。しかしながら、符号帳のメモリ量や歪を計算するための演算量は、量子化ビット数の指数関数で増大するため、量子化ビット数の多いときの量子化は実現が困難である。これを解決する１つの手法が多段ベクトル量子化（特許文献１）である。また、近年、量子化ノイズの少ない高能率なベクトル量子化手法として、例えばSpherical Vector Quantization（SVQ）法（非特許文献１）など、予め設定された量子化ビット数の範囲内で、周波数成分の一部をパルスとして立てていく（周波数成分の一部を振幅が０以外の量子化信号に量子化し、残りを振幅が０の量子化信号に量子化する）ベクトル量子化手法が広く利用されている。
【０００３】
図１は、従来の多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図である。図２は従来の多段ベクトル量子化手法を用いた符号化器と復号器の処理フローを示す図である。図２（Ａ）は符号化器の処理フローを示しており、図２（Ｂ）は復号器の処理フローを示している。多段ベクトル量子化では、量子化部が多段に接続され、初段の第１量子化部は入力信号について動作し，次段以降は入力信号と前段までの量子化出力の誤差について動作する。このようにすると、メモリ量や演算量を現実的な範囲に抑えたままで、ベクトル量子化が可能となる。図中の多段ベクトル量子化の段数は、分かり易くするため２としてあるが、段数は２以上を用いた構成でも良い。量子化手法には、周波数領域に変換した成分を量子化する手法（非特許文献１）を例として用いた。
【０００４】
符号化器１００は、周波数領域変換部１０１、正規化基準値計算部１０２、正規化基準値量子化部１０３、第１ベクトル量子化部１０４、誤差計算部１０５、第２ベクトル量子化部１０６を備える。復号器１００’は、正規化基準値復号部１０７、第１ベクトル復号部１０８、第２ベクトル復号部１０９、誤差修正部１１０、時間領域変換部１１１を備える。
【０００５】
周波数領域変換部１０１は、時系列信号である時間領域の入力信号ｘ（ｎ）（音響信号等）を入力とし、所定の離散時間区間内のＮ個の入力信号ｘ（０）（ｎ＝０，．．．，Ｎ−１）ごと（フレームごと）に、Ｌ点の周波数成分を示す信号である周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を生成し、これらを出力する（Ｓ１０１）。ただし、ｎは時間領域での信号の番号（離散時間番号）を、ｋは周波数領域での信号の番号（離散周波数番号）を示している。高い周波数に対応する離散周波数番号ｋほど値が大きい。Ｎ，Ｌは、２以上の整数であり、例えば６４や８０である。Ｎ，Ｌは、符号化器１００および復号器１００’で共有される値である。また、周波数領域変換方法としては、例えばＭＤＣＴ(Modified Discrete Cosine Transform)がある。
【０００６】
正規化基準値計算部１０２は、第１符号化対象信号である周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力として、周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）の正規化基準値Ｘ−０を生成して出力する（Ｓ１０２）。なお、正規化基準値Ｘ−０は、Ｓ個（Ｌ≧Ｓ≧２）の周波数領域信号Ｘ（ｋ）の振幅値からなる集合に依存する信号であり、その例は、Ｌ点または各サブバンド（Ｌ点をさらに分割した周波数帯域で、例えば８点で１つのサブバンドを形成する）内の周波数領域信号Ｘ（ｋ）のパワーの平均値の平方根である。Ｓの例は、Ｌや１つのサブバンドのサンプル点数などである。また、例えば、Ｌ点の正規化基準値Ｘ−０は、次式のように計算される。
【０００７】
【数１】
2011009869.tif 000003
【０００８】
また、Ｌ点または各サブバンド内の周波数領域信号Ｘ（ｋ）の平均振幅値を正規化基準値Ｘ−０としてもよい。例えば、Ｌ点の正規化基準値Ｘ−０を
【０００９】
【数２】
2011009869.tif 000004
としてもよい。
【００１０】
以下の説明では、サブバンドでの正規化ではなく、Ｌ点の正規化基準値Ｘ−０を用いた場合について説明する。なお、記述の制約上、Ｘ−０と表現する場合があるが、Ｘ−０と
【００１１】
【数３】
2011009869.tif 000005
【００１２】
とは同じものをさす。同様に、以下で用いる、Ｘ−，Ｘ＾（ｋ），Ｅ＾（ｋ）は、それぞれ、
【００１３】
【数４】
2011009869.tif 000006
と同じものをさす。
【００１４】
正規化基準値量子化部１０３は、正規化基準値計算部１０２で求めた正規化基準値Ｘ−０を入力とし、正規化基準値Ｘ−０を量子化して、正規化基準値量子化インデックスＣＳと、正規化基準値量子化インデックスＣＳに対応する量子化正規化基準値Ｘ−を出力する（Ｓ１０３）。
【００１５】
第１ベクトル量子化部１０４は、各周波数領域信号Ｘ（ｋ）と量子化正規化基準値Ｘ−を入力として、各周波数領域信号Ｘ（ｋ）を、量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化周波数領域信号を求める。そして、正規化周波数領域信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１と、第１ベクトル量子化インデックスＣ１に対応する量子化信号の逆正規化値（量子化インデックスＣ１に対応する量子化信号と量子化正規化基準値Ｘ−との積）である第１量子化信号Ｘ＾（ｋ）を求め、第１ベクトル量子化インデックスＣ１と第１量子化信号Ｘ＾（ｋ）出力する（Ｓ１０４）。
【００１６】
誤差計算部１０５は、周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）を入力として、周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）の間の誤差を、例えば、
Ｅ（ｋ）＝Ｘ（ｋ）−Ｘ＾（ｋ）
のように計算し、第２符号化対象信号である誤差信号Ｅ（ｋ）を出力する（Ｓ１０５）。
【００１７】
第２ベクトル量子化部１０６は、誤差信号Ｅ（ｋ）と量子化正規化基準値Ｘ−を入力とし、誤差信号Ｅ（ｋ）を、量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号をベクトル量子化して、量子化代表ベクトルのインデックスを第２ベクトル量子化インデックスＣ２として出力する（Ｓ１０６）。
【００１８】
符号化器１００は、第１ベクトル量子化インデックスＣ１と第２ベクトル量子化インデックスＣ２と正規化基準値量子化インデックスＣＳが含まれる符号を、復号器１００’に送る。そして、復号器１００’では、以下のような処理が行われる。
【００１９】
正規化基準値復号部１０７は、正規化基準値量子化インデックスＣＳを入力とし、正規化基準値量子化インデックスＣＳに対応する復号量子化正規化基準値Ｘ−を求め、この復号量子化正規化基準値Ｘ−を出力する（Ｓ１０７）。
【００２０】
第１ベクトル復号部１０８は、第１ベクトル量子化インデックスＣ１と復号量子化正規化基準値Ｘ−を入力とし、第１ベクトル量子化インデックスＣ１を復号し、フレーム単位の正規化された信号を正規化第１量子化信号として求め、正規化第１量子化信号に復号量子化正規化基準値Ｘ−を乗算することで逆正規化し、これを復号第１量子化信号Ｘ＾（ｋ）（量子化信号）として出力する（Ｓ１０８）。
【００２１】
第２ベクトル復号部１０９は、第２ベクトル量子化インデックスＣ２と復号量子化正規化基準値Ｘ−を入力とし、第２ベクトル量子化インデックスＣ２を復号し、正規化された信号を正規化誤差信号として求め、正規化誤差信号に復号量子化正規化基準値Ｘ−を乗算することで逆正規化し、これを復号量子化誤差信号Ｅ＾（ｋ）として出力する（Ｓ１０９）。
【００２２】
誤差修正部１１０は、復号第１量子化信号Ｘ＾（ｋ）と復号量子化誤差信号Ｅ＾（ｋ）を入力とし、復号信号Ｚ（ｋ）を、例えば、
Ｚ（ｋ）＝Ｘ＾（ｋ）＋Ｅ＾（ｋ）          （３）
のように求め、復号信号Ｚ（ｋ）を出力する（Ｓ１１０）。
【００２３】
時間領域変換部１１１は、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、例えばフレーム点数Ｌ分の逆ＭＤＣＴを用いて時間領域変換を行い、フレーム点数Ｌ分の出力信号ｚ（ｎ）（ｎ＝０，．．．，Ｎ−１）を出力する（Ｓ１１１）。
【００２４】
図３は、従来の多段ベクトル量子化手法を概念的に説明するための図である。横軸は周波数成分の番号、縦軸は各周波数成分の値（例えば、MDCT係数）を示している。この図に例示する第１符号化対象信号は、周波数領域信号Ｘ（ｋ）であり、破線で示されている。また、初段のベクトル量子化後の信号である第１量子化信号Ｘ＾（ｋ）は、実線で示されている。量子化に必要なビット数に対して予め定められた量子化ビット数が不足すると、振幅値が０の第１量子化信号Ｘ＾（ｋ）が多数発生する。従来の後段のベクトル量子化では、図の第１符号化対象信号である周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）との差分をベクトル量子化している。
【００２５】
なお、上記では、周波数領域信号Ｘ（ｋ）を第１符号化対象信号とし、周波数領域信号Ｘ（ｋ）を第１ベクトル量子化部１０４、正規化基準値計算部１０２および誤差計算部１０５に入力する構成を示した。しかし、時間領域の入力信号ｘ（ｎ）を第１符号化対象信号とし、周波数領域信号Ｘ（ｋ）の代わりに入力信号ｘ（ｎ）を第１ベクトル量子化部１０４、正規化基準値計算部１０２および誤差計算部１０５に入力する構成であってもよい。この場合、周波数領域変換部１０１および時間領域変換部１１１は不要となり、上述の周波数領域信号Ｘ（ｋ）を入力信号ｘ（ｎ）に置換した処理が実行される。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特許２７７６４７４号公報
【非特許文献】
【００２７】
【非特許文献１】ITU-T Recommendation G.729.1, SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS, Digital terminal equipments - Coding of analogue signals by methods other than PCM, G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729, 05/2006.
【発明の概要】
【発明が解決しようとする課題】
【００２８】
上述の符号化器１００と復号器１００’では、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足すると、入力信号に存在するはずの周波数成分が出力信号には存在しない（出力信号から周波数成分が欠損する）という頻度が高くなる。このように出力信号から周波数成分が欠損した場合、出力信号の或る周波数成分の有無が時間的に不連続に変化する頻度が高くなる。人間は、このような周波数成分の有無の時間的に不連続な変化に敏感であり、このような変化はミュージカルノイズと呼ばれるノイズとして知覚される場合がある。
【００２９】
しかしながら、従来の符号化器１００と復号器１００’は、第１量子化信号の値（前段のベクトル量子化で得られた量子化された信号の値）が０か０以外かに関係なく、第１量子化信号と符号化対象信号との誤差を示す信号を後段のベクトル量子化の対象としている。つまり、従来技術には、ミュージカルノイズのような人間が敏感に感じるノイズを軽減すための特別な工夫はない。したがって、元の信号と復号された信号との誤差のパワーが数値の上では小さくなったとしても、人間の感覚が敏感な誤差に着目した符号化ではないので、ミュージカルノイズが残りやすいという課題がある。このようなミュージカルノイズの問題は、周波数領域信号Ｘ（ｋ）を符号化対象信号とした場合に特に顕著となるが、時間領域の入力信号ｘ（ｎ）を符号化対象信号とする場合にも存在する。
【００３０】
一方、量子化に必要なビット数は第１符号化対象信号の種類に応じて異なり、第１符号化対象信号の種類によっては、上述の符号化器１００と復号器１００’との構成でもミュージカルノイズがさほど問題とならず、符号化精度の面からは、むしろ符号化器１００と復号器１００’との構成が好ましい場合もある。このように、第１符号化対象信号の種類に応じて最適な符号化方式および復号方式は異なる。
【００３１】
本発明は、このような課題に鑑みてなされたものであり、十分な符号ビット長を確保できない場合であっても、第１符号化対象信号の種類に応じ、適切にミュージカルノイズを軽減できる技術を提供することを目的とする。
【課題を解決するための手段】
【００３２】
本発明の符号化処理では、所定数（所定サンプル数）の第１符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、第１符号化対象信号にそれぞれ対応する第１量子化信号と、当該第１量子化信号を特定するための第１量子化インデックスとを生成して出力し、上記所定数の第１符号化対象信号のうち、基準値よりも振幅値が小さな第１符号化対象信号の個数、または、振幅値が基準値以下の第１符号化対象信号の個数、を特定する判定値に基づき、所定数の第１符号化対象信号に対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報を生成して出力し、第１量子化信号を少なくとも用い、選択された符号化方式に則って符号化処理を行う。
【００３３】
また、本発明の復号処理では、少なくとも第１量子化インデックスを復号して所定数の第１量子化信号を得、少なくともモード情報を用いて復号方式を特定し、特定された復号方式に則り、少なくとも第１量子化値を用いて復号信号を生成し、生成した復号信号を出力する。
【００３４】
通常、上記所定数の第１符号化対象信号のうち振幅値が小さなものが多い場合（「スパース」と呼ぶ）、上記所定数の第１符号化対象信号の量子化に必要なビット数は少ない。この場合には、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足する頻度が低くなるため、ミュージカルノイズはさほど問題にならない場合が多い。一方、上記所定数の第１符号化対象信号のうち振幅値が大きなものが多い場合、上記所定数の第１符号化対象信号の量子化に必要なビット数は多い。この場合には、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足する頻度が高くなるため、ミュージカルノイズの問題が顕著となる。この場合には、ミュージカルノイズを軽減させることが可能な符号化方式および復号方式を用いることが望ましい。本発明は、基準値よりも振幅値が小さな第１符号化対象信号の個数、または、振幅値が基準値以下の第１符号化対象信号の個数を特定する判定値に基づき、少なくとも、上記所定数の第１符号化対象信号がスパースであるか否かを判定し、上記所定数の第１符号化対象信号に対応する符号化方式および復号方式を選択する。
【発明の効果】
【００３５】
本発明では、十分な符号ビット長を確保できない場合であっても、第１符号化対象信号の種類に応じ、適切にミュージカルノイズを軽減できる。
【図面の簡単な説明】
【００３６】
【図１】従来の多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図。
【図２】従来の多段ベクトル量子化手法を用いた符号化器と復号器の処理フローを示す図。図２（Ａ）は符号化器の処理フローを示しており、図２（Ｂ）は復号器の処理フローを示している。
【図３】従来の多段ベクトル量子化手法を概念的に説明するための図。
【図４】第２方式の原理を説明するための図。
【図５】第３方式の原理を説明するための図。
【図６】第３符号化方式および第３復号方式の手順を説明するための図。
【図７】第３符号化方式および第３復号方式の手順を説明するための図。
【図８】第１符号化対象信号の例と第３符号化方式の第２符号化対象信号を生成するための基準となる信号の例とを比較するための図。
【図９】第４符号化方式の原理を説明するための図。
【図１０】第４復号方式の原理を説明するための図。
【図１１】第１符号化対象信号の性質に応じて方式を選択する方法を説明するためのフローチャート。
【図１２】第１実施形態の符号化器と復号器の構成例を説明するための図。
【図１３】第１実施形態の符号化方式選択部の構成例を説明するための図。
【図１４】第１実施形態の符号化処理部の構成例を説明するための図。
【図１５】第１実施形態の復号方式選択部の構成例を説明するための図。
【図１６】第１実施形態の復号信号生成部の構成例を説明するための図。
【図１７】処理を説明するためのフローチャート。図１７（Ａ）は符号化器の処理を説明するためのフローチャートであり、図１７（Ｂ）は復号器の処理を説明するためのフローチャートである。
【図１８】ステップＳ２０５の処理を例示するためのフローチャート。
【図１９】ステップＳ２０５の処理を例示するためのフローチャート。
【図２０】ステップＳ２０６の処理のを例示するためのフローチャート。
【図２１】ステップＳ２１０の処理を例示するためのフローチャート。
【図２２】図２１のステップＳ２１２の詳細を例示するためのフローチャート。
【図２３】図２１のステップＳ２１４の詳細を例示するためのフローチャート。
【図２４】図２１のステップＳ２１７の詳細を例示するためのフローチャート。
【図２５】ステップＳ２１９の処理を例示するためのフローチャート。
【図２６】ステップＳ２２０の処理の例示するためのフローチャート。
【図２７】ステップＳ２２２の詳細を例示するためのフローチャート。
【図２８】ステップＳ２２４の処理を例示するためのフローチャート。
【図２９】ステップＳ２２６の処理を例示するためのフローチャート。
【図３０】ステップＳ２２８の詳細を例示するためのフローチャート。
【図３１】ステップＳ２２９の詳細を例示するためのフローチャート。
【図３２】方式選択の動作検証結果を説明するための図。
【図３３】方式選択の動作検証結果を説明するための図。
【図３４】方式選択の動作検証結果を説明するための図。
【図３５】方式選択の動作検証結果を説明するための図。
【図３６】方式選択の動作検証結果を説明するための図。
【発明を実施するための形態】
【００３７】
以下、本発明の実施形態を詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００３８】
〔原理〕
まず、本形態の原理を説明する。
【００３９】
上述のように、本形態では、少なくとも、上記所定数の第１符号化対象信号がスパースであるか否かを判定し、上記所定数の第１符号化対象信号に対応する符号化方式および復号方式を選択する。本形態では、４種類の符号化方式および復号方式の中から適切な符号化方式および復号方式を選択する。まず、これらの４種類の符号化方式および復号方式を説明する。
【００４０】
なお、いずれの符号化方式も、所定数の第１符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、第１符号化対象信号にそれぞれ対応する第１量子化信号と、当該第１量子化信号を特定するための第１量子化インデックスと、を生成することを前提した方式である。また、いずれの復号方式も、少なくとも第１量子化インデックスを復号して所定数の第１量子化信号を得ることを前提した方式である。また、各方式を識別子ｍｏｄｅで表現する。
【００４１】
＜第１符号化方式および第１復号方式（ｍｏｄｅ＝０ｂ）＞
第１符号化方式は、第１符号化対象信号と第１量子化信号とから求めた誤差信号を第２符号化対象信号とし、当該第２符号化対象信号を量子化し、その量子化信号を特定するための第２量子化インデックスを生成して出力する方式である。また、これに対応する第１復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、当該第２量子化信号を誤差信号として第１量子化信号を誤差修正することで復号信号を生成する方式である。第１符号化方式および第１復号方式の具体例は、図１から図３を用いて説明した上述の符号化器１００および復号器１００’が実行する符号化方式および復号方式である。第１符号化方式および第１復号方式を総称して第１方式と呼び、それに対応する識別子ｍｏｄｅの値を「０ｂ」とする。
【００４２】
＜第２符号化方式および第２復号方式（ｍｏｄｅ＝０ａ）＞
第２符号化方式は、振幅値が０の第１量子化信号に対応する第１符号化対象信号のみを第２符号化対象信号とし、当該第２符号化対象信号を量子化し、その量子化信号を特定するための第２量子化インデックスを生成して出力する方式である。また、これに対応する第２復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、当該第２量子化信号またはそれと同値の信号と、振幅値が０でない第１量子化信号と、を含む復号信号を生成する方式である。第２符号化方式および第２復号方式を総称して第２方式と呼び、それに対応する識別子ｍｏｄｅの値を「０ａ」とする。
【００４３】
上述の第１符号化方式では、第１符号化対象信号と第１量子化信号とから求めた誤差信号を第２符号化対象信号とし、当該第２符号化対象信号を量子化していた。この方式において、第１符号化対象信号と振幅値が０以外の第１量子化信号との誤差が大きい場合、これらに対応するレベルの大きな誤差信号の量子化精度を優先した量子化を行う必要がある。レベルの小さな信号の量子化誤差を小さくするよりも、レベルの大きな信号の量子化誤差を小さくするほうが重要だからである。そのため、第２ベクトル量子化インデックスに割り当てられたビット数が制限された環境においては、振幅値が０の第１量子化信号に対応するレベルの小さな誤差信号に割り当てられる第２ベクトル量子化インデックスの種類が少なくなる。その結果、レベルの小さな誤差信号に対応する量子化信号の振幅が０なる頻度が高くなり、振幅値が０の周波数成分が多い復号信号になってしまう。これは、ミュージカルノイズの原因の１つとなる。
【００４４】
これに対し、第２符号化方式では、振幅値が０の第１量子化信号に対応する第１符号化対象信号のみを第２符号化対象信号とし、当該第２符号化対象信号を量子化する。つまり、振幅値が０の第１量子化信号に対応する第１符号化対象信号だけを量子化するので、第２ベクトル量子化インデックスに割り当てられたビット数が制限される環境であっても、振幅値が０の第１量子化信号に対応するレベルの小さな誤差信号に割り当てられる第２ベクトル量子化インデックスの種類が多くなる。その結果、レベルの小さな誤差信号に対応する量子化信号の振幅が０なる頻度が低くなり、ミュージカルノイズを軽減できる。
【００４５】
図４は、第２方式の原理を説明するための図である。図４は、Ｌ＝６４の場合の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を各第１符号化対象信号とした場合の例である。図４の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値（例えば、MDCT係数）を示す。図４の破線は、第１符号化対象信号である周波数領域信号Ｘ（ｋ）を例示し、太い実線は、第１符号化対象信号に対応する量子化信号である第１量子化信号Ｘ＾（ｋ）を例示する。図４の例では、「Ｚ」で示す振幅値が０の第１量子化信号Ｘ＾（ｋ）のみを第２符号化対象信号とし、当該第２符号化対象信号を量子化し、その量子化信号を特定するための第２量子化インデックスを生成する。
【００４６】
＜第３符号化方式および第３復号方式（ｍｏｄｅ＝２）＞
第３符号化方式は、第１量子化信号の振幅値が０の場合に、複数の第１符号化対象信号の振幅値からなる集合に依存する量子化正規化基準値と第１符号化対象信号の絶対値とから求めた誤差信号を第２符号化対象信号とし、第１量子化信号の振幅値が０以外の場合に、第１符号化対象信号の絶対値と第１量子化信号の絶対値とから求めた誤差信号を第２符号化対象信号とし、当該第２符号化対象信号を量子化し、その量子化信号を特定するための第２量子化インデックスを生成して出力する方式である。また、これに対応する第３復号方式は、少なくとも第２量子化インデックスを用いて所定数の第２量子化信号を復号し、少なくとも第３量子化インデックスを用いて量子化正規化基準値を復号し、第１量子化信号の振幅値が０の場合に、第２量子化信号を誤差信号として量子化正規化基準値を誤差修正することで復号信号を生成し、第１量子化信号の振幅値が０以外の場合に、第２量子化信号を誤差信号として第１量子化信号を誤差修正することで復号信号を生成する方式である。第３符号化方式および第３復号方式を総称して第３方式と呼び、それに対応する識別子ｍｏｄｅの値を「２」とする。
【００４７】
図５は、第３方式の原理を説明するための図である。図５は、Ｌ＝６４の場合の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を各第１符号化対象信号とした場合の例である。図５の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値を示す。図５の細かい破線は、量子化正規化基準値Ｘ−を例示し、図５の粗い破線は、第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜を例示し、太い実線は、第１符号化対象信号に対応する量子化信号である第１量子化信号の絶対値｜Ｘ＾（ｋ）｜を例示する。なお、図５の量子化正規化基準値Ｘ−は、８サンプルからなるサブベクトルごとに求めた例である。図５の例では、符号化処理において、第１量子化信号の振幅値｜Ｘ＾（ｋ）｜が０の場合（例えば、「Ｑ１」）に、量子化正規化基準値Ｘ−と周波数領域信号の絶対値｜Ｘ（ｋ）｜とから求めた誤差信号を第２符号化対象信号とし、第１量子化信号の振幅値｜Ｘ＾（ｋ）｜が０以外の場合（例えば、「Ｑ２」）に、周波数領域信号の絶対値｜Ｘ（ｋ）｜と第１量子化信号の絶対値｜Ｘ＾（ｋ）｜とから求めた誤差信号を第２符号化対象信号とする。
【００４８】
図６および図７は、第３符号化方式および第３復号方式の手順を説明するための図である。図６および図７の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値を示す。図６の破線は、第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜を例示し、太い実線は、第１符号化対象信号に対応する量子化信号である第１量子化信号の絶対値｜Ｘ＾（ｋ）｜を例示する。図７の細かい破線は、量子化正規化基準値Ｘ−を例示し、粗い破線は、第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜を例示し、実線は、第１符号化対象信号に対応する量子化信号である第１量子化信号の絶対値｜Ｘ＾（ｋ）｜を例示する。
【００４９】
第３符号化方式では、初段のベクトル量子化後に、図６のように、第１符号化対象信号である周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）とを絶対値で表す。そして、図７に示すように、８サンプルからなるサブベクトルごとに量子化正規化基準値Ｘ−を求める。この図からも、振幅値が０の第１量子化信号の絶対値｜Ｘ＾（ｋ）｜と第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜との誤差よりも、量子化正規化基準値Ｘ−と第１符号化対象信号である周波数領域信号Ｘ（ｋ）の絶対値｜Ｘ（ｋ）｜との差分の方が小さいことが分かる。したがって、第１量子化信号の振幅値｜Ｘ＾（ｋ）｜が０のときには、第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜と量子化正規化基準値Ｘ−との差分を後段でベクトル量子化する方が効率的である。また、量子化正規化基準値Ｘ−は、復号器が前段のベクトル復号に利用する情報であり、量子化正規化基準値Ｘ−を後段の符号化に利用しても復号器に新たな情報を伝える必要はない。
【００５０】
なお、図７では８サンプルからなるサブベクトルごとに量子化正規化基準値Ｘ−を求めているが、６４サンプルで１つの量子化正規化基準値Ｘ−を求めてもよいし、他の数ごとに量子化正規化基準値Ｘ−を求めてもよい。ただし、適当なサンプル数を選ごとに量子化正規化基準値Ｘ−を求めれば、量子化正規化基準値Ｘ−と第１符号化対象信号との差分を小さくできる。
【００５１】
図８は、第１符号化対象信号の例と第３符号化方式の第２符号化対象信号を生成するための基準となる信号の例とを比較するための図である。図８の破線は、第１符号化対象信号である周波数領域信号の絶対値｜Ｘ（ｋ）｜を例示し、実線は、第１量子化信号Ｘ＾（ｋ）の振幅値が０以外のときには第１量子化信号の絶対値とし、第１量子化信号Ｘ＾（ｋ）の振幅値が０のときには量子化正規化基準値Ｘ−とした値（第２符号化対象信号を生成するための基準）を例示する。この図から、破線で例示する第１符号化対象信号の絶対値と、実線で例示する第２符号化対象信号を生成するための基準との差分を第２符号化対象信号とすれば、第２符号化対象信号の振幅値を小さくできることがわかる。第２符号化対象信号の振幅値が小さいほど、その量子化に必要なビット数は少なくて済むことから、第３符号化方式および第３復号方式ではミュージカルノイズを軽減できる。
【００５２】
＜第４符号化方式および第４復号方式（ｍｏｄｅ＝１）＞
第４符号化方式は、振幅値が０の第１量子化信号に対応する第１符号化対象信号のみについて、第１符号化対象信号が正であるか負であるかを示す正負符号情報を生成する方式である。これに対応する第４復号方式は、少なくとも正負符号情報を用いて当該正負符号情報が示す正または負の符号を持つ信号を生成し、当該正または負の符号を持つ信号またはそれと同値の信号と、振幅値が０でない第１量子化信号と、を含む復号信号を生成する方式である。第４符号化方式および第４復号方式を総称して第４方式と呼び、それに対応する識別子ｍｏｄｅの値を「１」とする。
【００５３】
図９は、第４符号化方式の原理を説明するための図である。図９は、Ｌ＝６４の場合の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を各符号化対象信号とした場合の例である。図９の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値を示す。図９の破線は、符号化対象信号である周波数領域信号Ｘ（ｋ）を例示し、太い実線は、符号化対象信号に対応する量子化信号である第１量子化信号Ｘ＾（ｋ）を例示する。
【００５４】
図９に例示するように、第４符号化方式では、振幅が０となる第１量子化信号Ｘ＾（ｋ）に対し、当該第１量子化信号Ｘ＾（ｋ）に対応する第１符号化対象信号である周波数領域信号Ｘ（ｋ）が正であるか負であるかを示す正負符号情報（例えば、MDCT係数の正負の符号情報）を生成し、これを符号の一部とする。
【００５５】
図１０は、第４復号方式の原理を説明するための図である。図１０の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値を示す。図１０の太字の破線は、符号化対象信号に対応する量子化信号である第１量子化信号Ｘ＾（ｋ）を例示し、細字の破線は、量子化正規化基準値Ｘ−とその負値-Ｘ−を例示し、太字の実線は復号信号を例示している。なお、図１０の例では、８点の離散周波数点からなるサブバンドごとに量子化正規化基準値Ｘ−が生成されている。
【００５６】
図１０に例示するように、第４復号方式では、少なくとも上記正負符号情報を用いて当該正負符号情報が示す正または負の符号を持つ信号を生成し、当該正または負の符号を持つ信号またはそれと同値の信号と、振幅値が０でない第１量子化信号Ｘ＾（ｋ）と、を含む復号信号を生成する。なお、図１０の例では、正負符号情報が示す正または負の符号を持つ信号として、量子化正規化基準値Ｘ−と正負符号情報が示す正負符号との積からなる信号を用いている。
【００５７】
このように、第４方式では、復号信号の有無が時間的に不連続に変化する頻度を低くできるため、ミュージカルノイズを軽減できる。
【００５８】
＜第１符号化対象信号の性質と最適な方式との関係＞
上述のように、第１方式はミュージカルノイズを軽減する対策が施されていないのに対し、第２〜４方式は、ミュージカルノイズを軽減する対策が施されている。
【００５９】
しかしながら、符号化単位となる所定サンプルの第１符号化対象信号のうち、一部の第１符号化対象信号の振幅値のみが大きく、他の多くの第１符号化対象信号の振幅値がほぼ０の場合（第１符号化対象信号が非常にスパースである場合）、量子化に必要なビット数は非常に少なく、ミュージカルノイズはほとんど問題とならない。
【００６０】
また、第２符号化方式では、振幅値が０の第１量子化信号のみを第２符号化対象信号とするため、第１符号化対象信号と振幅値が０以外の第１量子化信号との誤差が大きい場合には、第１方式よりも符号化精度が低下する。
【００６１】
また、第３方式では、第１符号化対象信号の絶対値、第１量子化信号の絶対値および量子化正規化基準値のような正負の情報を含まない情報から第２符号化対象信号を生成するため、振幅値が０の第１量子化信号に対応する第１符号化対象信号については正負の情報が符号化されない。また、第４方式では、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する第１符号化対象信号の振幅値が符号化されない。そのため、第３方式や第４方式は、符号化単位となる所定サンプルの第１符号化対象信号のうち、一部の第１符号化対象信号の振幅値のみが大きく、他の多くの第１符号化対象信号の振幅値が０に近い場合（第１符号化対象信号がスパースである場合）に、第１方式や第２方式よりも符号化精度が悪くなる。また、第３方式では、前記第１量子化信号の振幅値が０の場合に、量子化正規化基準値と第１符号化対象信号の絶対値とから求めた誤差信号を第２符号化対象信号とするため、量子化正規化基準値に対する第１符号化対象信号の絶対値の統計的ばらつきが大きい場合でも精度よく符号化できる。
【００６２】
＜第１符号化対象信号の性質に応じて方式選択＞
以上のように、各方式は得手不得手があり、第１符号化対象信号の種類に応じて方式を使い分けることが望ましい。具体的には、第１符号化対象信号がスパース（例えば音声の母音の周波数領域信号）または非常にスパース（例えばサイン波の周波数領域信号）である場合には、第３方式や第４方式よりも第１方式や第２方式を用いる方が、高い精度で符号化できる。特に、第１符号化対象信号が非常にスパースである場合には、ミュージカルノイズはほとんど問題とならないため、第２方式よりも第１方式を用いる方が、高い精度で符号化できる。一方、第１符号化対象信号がスパースまたは非常にスパースでない場合（例えば、多重音源の楽音や環境雑音など）には、第１方式や第２方式よりも第３方式や第４方式を用いる方が、高い精度で符号化できる。特に、量子化正規化基準値に対する第１符号化対象信号の絶対値の統計的ばらつきが小さい場合には、第３方式よりも第４方式を用いる方が高い精度で符号化できる場合が多いが、この統計的ばらつきが大きい場合には、第４方式よりも第３方式を用いる方が高い精度で符号化できる場合が多い。
【００６３】
本形態では、上述した第１符号化対象信号の性質に応じて方式を選択する。
【００６４】
図１１は、第１符号化対象信号の性質に応じて方式を選択する方法を説明するためのフローチャートである。
【００６５】
本形態では、まず、第１符号化対象信号がスパースであるかを確認する（Ｓ１１／第１スパース性判定）。ステップＳ１１での判定結果がＹｅｓであれば、次に、第１符号化対象信号が非常にスパースであるかを確認する（Ｓ１２／第２スパース性判定）。ステップＳ１２での結果がＹｅｓであれば、第１方式（ｍｏｄｅ＝０ｂ）が選択される（Ｓ１３）。一方、ステップＳ１２での結果がＮｏであれば、第２方式（ｍｏｄｅ＝０ａ）が選択される（Ｓ１４）。ステップＳ１１での判定結果がＮｏであれば、次に、第１符号化対象信号の絶対値の量子化正規化基準値に対する統計的ばらつきは小さいことを確認する（Ｓ１５／ばらつき判定）。ステップＳ１５での判定結果がＹｅｓであれば、第４方式（ｍｏｄｅ＝１）が選択される（Ｓ１６）。一方、ステップＳ１５での判定結果がＮｏであれば、第３方式（ｍｏｄｅ＝２）が選択される（Ｓ１７）。
【００６６】
このように第１符号化対象信号の性質に応じて方式を選択することにより、十分な符号ビット長を確保できない場合であっても、第１符号化対象信号の種類に応じ、適切にミュージカルノイズを軽減できる。
【００６７】
なお、ステップＳ１１，Ｓ１２の確認は、所定数の第１符号化対象信号のうち、基準値よりも振幅値が小さな第１符号化対象信号の個数、または、振幅値が基準値以下の第１符号化対象信号の個数、を特定する判定値に基づいて行うことができる。例えば、ステップＳ１１の確認は、上記判定値と所定の閾値とを比較する閾値判定により、所定数の第１符号化対象信号の集合が、振幅値の小さな第１符号化対象信号が多い側のスパース分類に属するか、振幅値の小さな第１符号化対象信号が少ない側の非スパース分類に属するか、を判定することにより行うことができる。また、例えば、ステップＳ１２の確認は、所定数の第１符号化対象信号にそれぞれ対応する第１量子化信号のうち振幅値が０の第１量子化信号の個数を特定する第２判定値と所定の第２閾値とを比較する閾値判定により、所定数の第１符号化対象信号にそれぞれ対応する第１量子化信号の集合が、振幅値が０の第１量子化信号の個数が多い側の第１分類に属するか、振幅値が０の第１量子化信号の個数が少ない側の第２分類に属するかを判定することにより行うことができる。また、ステップＳ１５の確認は、例えば、所定数の第１符号化対象信号の振幅値の統計的ばらつきを特定する第３判定値と所定の第３閾値とを比較する閾値判定により、所定数の第１符号化対象信号の集合が、統計的ばらつきが大きい側の第３分類に属するか、統計的ばらつきが小さい側の第４分類に属するかを判定することにより行うことができる。
【００６８】
また、ステップＳ１５の確認を行わず、ステップＳ１１の結果がＮｏとなった場合に、予め定められた第３方式（ｍｏｄｅ＝２）または第４方式（ｍｏｄｅ＝１）が選択されてもよい。また、ステップＳ１２の確認を行わず、ステップＳ１１の結果がＹｅｓとなった場合に、予め定められた第１方式（ｍｏｄｅ＝０ｂ）または第２方式（ｍｏｄｅ＝０ａ）が選択されてもよい。また、ステップＳ１５の確認およびステップＳ１２の確認を行わず、ステップＳ１１の結果がＹｅｓとなった場合に、予め定められた第１方式（ｍｏｄｅ＝０ｂ）または第２方式（ｍｏｄｅ＝０ａ）が選択され、ステップＳ１１の結果がＮｏとなった場合に、予め定められた第３方式（ｍｏｄｅ＝２）または第４方式（ｍｏｄｅ＝１）が選択されてもよい。すなわち、所定数の第１符号化対象信号がスパースか否かに応じて符号化方式および復号方式を選択する構成であればよい。また、ステップＳ１１やステップＳ１２の確認を行わず、ステップＳ１５の確認のみを行って方式を選択してもよい。また、第１〜第４方式としてその他の方式を用いてもよく、５つ以上の方式から１つの方式を選択する構成でもよい。また、ステップＳ１１や、ステップＳ１２や、ステップＳ１５の処理の少なくとも一部を、それぞれ、異なる閾値を用いて複数回実行して、判定結果が５以上に分岐する構成でもよい。
【００６９】
〔第１実施形態〕
次に、本発明の第１実施形態を説明する。
【００７０】
＜構成＞
図１２は、第１実施形態の符号化器と復号器の構成例を説明するための図である。
符号化器２００は、周波数領域変換部１０１、正規化基準値計算部１０２、正規化基準値量子化部１０３、第１ベクトル量子化部１０４、符号化方式選択部２０５、符号化処理部２１０、モード情報生成部２０６を備える。復号器２００’は、正規化基準値復号部１０７、第１ベクトル復号部１０８、復号方式選択部２１９、復号信号生成部２２０、時間領域変換部１１１を備える。符号化器２００は、符号化方式選択部２０５と符号化処理部２１０とモード情報生成部２０６とが、従来の符号化器１００と相違する。また、復号器２００’は、復号方式選択部２１９と復号信号生成部２２０と時間領域変換部１１１とが、従来の復号器１００’と相違する。符号化器２００、復号器２００’のその他の構成部は、符号化器１００、復号器１００’と同じである。
【００７１】
図１３は、第１実施形態の符号化方式選択部２０５の構成例を説明するための図である。図１４は、第１実施形態の符号化処理部２１０の構成例を説明するための図である。図１５は、第１実施形態の復号方式選択部２１９の構成例を説明するための図である。また、図１６は、第１実施形態の復号信号生成部２２０の構成例を説明するための図である。
【００７２】
符号化方式選択部２０５は、第１スパース性判定部２０５ａ、第２スパース性判定部２０５ｂ、ばらつき判定部２０５ｃ、判定制御部２０５ｄを備える。符号化処理部２１０は、選択部２１１、誤差計算部１０５，２１４、第２ベクトル量子化部１０６，２１３，２１５、抽出部２１２，２１６、正負符号情報計算部２１７を備える。復号方式選択部２１９は、モード情報判定部２１９ａ、スパース性判定部２１９ｂ、判定制御部２１９ｄを備える。また、復号信号生成部２２０は、選択部２２１、第２ベクトル復号部１０９，２２３，２２５、誤差修正部１１０，２２６、Ｍ値計算部２２２，２２７、再構成部２２４，２２９、周波数成分計算部２２８を備える。
【００７３】
＜符号化処理＞
図１７（Ａ）は符号化器の処理を説明するためのフローチャートである。
【００７４】
まず、符号化器２００は、前述したステップＳ１０１〜Ｓ１０４の処理を実行し、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）に対応するＬ個の正規化周波数領域信号（前述）を要素とするベクトルをベクトル量子化し、周波数領域信号Ｘ（ｋ）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）と、当該第１量子化信号Ｘ＾（ｋ）を特定するために用いられる第１ベクトル量子化インデックスＣ１（第１量子化インデックス）とを生成して出力する。
【００７５】
次に、符号化方式選択部２０５が、周波数領域信号Ｘ（ｋ）と、第１量子化信号Ｘ＾（ｋ）と、量子化正規化基準値Ｘ−とを入力とし、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）のうち、基準値よりも振幅値が小さな周波数領域信号Ｘ（ｋ）の個数、または、振幅値が基準値以下の周波数領域信号Ｘ（ｋ）の個数、を特定する判定値に基づき、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）に対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報ｍｏｄｅを生成して出力する（Ｓ２０５）。
【００７６】
［ステップＳ２０５の処理の例示］
図１８および図１９は、ステップＳ２０５の処理を例示するためのフローチャートである。
【００７７】
《第１スパース性判定（Ｓ２０５１ａ〜Ｓ２０５１ｅ／図１１のＳ１１の一例）》
まず、符号化方式選択部２０５の第１スパース性判定部２０５ａ（図１３）が、周波数領域信号Ｘ（ｋ）と量子化正規化基準値Ｘ−とを入力とし、判定値ｍと所定の閾値Ｔｈ２とを比較する閾値判定により、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が、振幅値の小さな周波数領域信号Ｘ（ｋ）が多い側のスパース分類に属するか、振幅値の小さな周波数領域信号Ｘ（ｋ）が少ない側の非スパース分類に属するか、を判定する。なお、判定値ｍは、基準値よりも振幅値が小さな周波数領域信号Ｘ（ｋ）の個数、または、振幅値が基準値以下の周波数領域信号Ｘ（ｋ）の個数を特定する値であるが、ここでは、基準値よりも振幅値が小さな周波数領域信号Ｘ（ｋ）の個数を判定値ｍとする。また、基準値は、例えば、複数個の周波数領域信号Ｘ（ｋ）の振幅値からなる集合に依存する信号である。ここでは、調整定数Ｔｈ１と量子化正規化基準値Ｘ−との積を基準値Ｔｈ１・Ｘ−とする。なお、調整定数Ｔｈ１は、例えば、０より大きく１以下の正の数であり、その一例は０．１である。
【００７８】
第１スパース性判定部２０５ａは、まず、ｋ＝０、ｍ＝０として処理を始める（図１８）。第１スパース性判定部２０５ａは、ｋがＬよりも小さいかを確認する（Ｓ２０５１ａ）。ステップＳ２０５１ａでの結果がＹｅｓの場合、第１スパース性判定部２０５ａは、周波数領域信号Ｘ（ｋ）の振幅値｜Ｘ（ｋ）｜が基準値Ｔｈ１・Ｘ−よりも小さいかを確認する（Ｓ２０５１ｂ）。ステップＳ２０５１ｂでの結果がＹｅｓの場合、第１スパース性判定部２０５ａは、ｍの値を１つ増やし（Ｓ２０５１ｃ）、ステップＳ２０５１ｄの処理に進む。ステップＳ２０５１ｂでの結果がＮｏの場合、第１スパース性判定部２０５ａは、ステップＳ２０５１ｃの処理を実行することなく、ステップＳ２０５１ｄの処理に進む。ステップＳ２０５１ｄでは、第１スパース性判定部２０５ａが、ｋの値を１つ増やし（Ｓ２０５１ｄ）、ステップＳ２０５１ａの処理に戻る。ステップＳ２０５１ａでの結果がＮｏの場合、第１スパース性判定部２０５ａは、ｍを判定値とし、判定値ｍが閾値Ｔｈ２よりも大きいことを確認する（Ｓ２０５１ｅ）。なお、閾値Ｔｈ２は、１より大きくＬより小さい正の整数であり、Ｌ＝６４の場合の一例は２０である。
【００７９】
ステップＳ２０５１ｅでの結果がＹｅｓである場合、第１スパース性判定部２０５ａは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が、振幅値の小さな周波数領域信号Ｘ（ｋ）が多い側のスパース分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、第２スパース性判定部２０５ｂに、第２スパース性判定（Ｓ２０５２ａ〜Ｓ２０５２ｆ）を実行させる。一方、ステップＳ２０５１ｅでの結果がＮｏである場合、第１スパース性判定部２０５ａは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が、振幅値の小さな周波数領域信号Ｘ（ｋ）が少ない側の非スパース分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、ばらつき判定部２０５ｃに、ばらつき判定（Ｓ２０５５）を実行させる。
【００８０】
《第２スパース性判定（Ｓ２０５２ａ〜Ｓ２０５２ｆ／図１１のＳ１２の一例）》
第２スパース性判定は、第１スパース性判定（Ｓ２０５１ａ〜Ｓ２０５２ｅ（図１８））において、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合がスパース分類に属すると判定された場合に実行される。第２スパース性判定では、第２スパース性判定部２０５ｂ（図１３）が、第１量子化信号Ｘ＾（ｋ）を入力とし、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）のうち振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数を特定する第２判定値ｍと所定の第２閾値Ｔｈ５とを比較する閾値判定により、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）の集合が、振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数が多い側の第１分類に属するか、振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数が少ない側の第２分類に属するかを判定する。なお、第２判定値ｍは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）のうち振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数を特定するものであるが、ここでは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）のうち振幅値が０以外の第１量子化信号Ｘ＾（ｋ）の個数を第２判定値ｍとする。このような値も「振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数を特定するもの」である。また、第２閾値Ｔｈ５は、０以上Ｌ以下の整数であり、その一例は８である。また、第２閾値Ｔｈ５が０またはＬの場合には、第２方式（ｍｏｄｅ＝０ａ）または第１方式（ｍｏｄｅ＝０ｂ）の何れかのみが選択される。第１方式（ｍｏｄｅ＝０ｂ）と第２方式（ｍｏｄｅ＝０ａ）とを選択可能にするためには、第２閾値Ｔｈ５は１以上Ｌ未満の整数とする。
【００８１】
第２スパース性判定部２０５ｂは、まず、ｋ＝０、ｍ＝０として処理を始める（図１８／Ｓ２０５２ａ）。第２スパース性判定部２０５ｂは、ｋがＬよりも小さいかを確認する（Ｓ２０５２ｂ）。ステップＳ２０５２ｂでの結果がＹｅｓの場合、第２スパース性判定部２０５ｂは、第１量子化信号の振幅値｜Ｘ＾（ｋ）｜が０でないことを確認する（Ｓ２０５２ｃ）。ステップＳＳ２０５２ｃでの結果がＹｅｓの場合、第２スパース性判定部２０５ｂは、ｍの値を１つ増やし（Ｓ２０５２ｄ）、ステップＳ２０５２ｅの処理に進む。ステップＳＳ２０５２ｃでの結果がＮｏの場合、第２スパース性判定部２０５ｂは、ステップＳ２０５２ｄの処理を実行することなく、ステップＳ２０５２ｅの処理に進む。ステップＳ２０５２ｅでは、第２スパース性判定部２０５ｂが、ｋの値を１つ増やし（Ｓ２０５２ｅ）、ステップＳ２０５２ｂの処理に戻る。ステップＳ２０５２ｂでの結果がＮｏの場合、第２スパース性判定部２０５ｂは、ｍを第２判定値とし、第２判定値ｍが第２閾値Ｔｈ５よりも大きいことを確認する（Ｓ２０５２ｆ）。
【００８２】
ステップＳ２０５２ｆでの結果がＮｏである場合、第２スパース性判定部２０５ｂは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）の集合が、振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数が多い側の第１分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、符号化方式として第１方式（ｍｏｄｅ＝０ｂ）を選択し（Ｓ２０５３）、第１方式を特定する識別子ｍｏｄｅ＝０ｂを出力して処理を終了する。
【００８３】
一方、ステップＳ２０５２ｆでの結果がＹｅｓである場合、第２スパース性判定部２０５ｂは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）の集合が、振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数が少ない側の第２分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、符号化方式として第２方式（ｍｏｄｅ＝０ａ）を選択し（Ｓ２０５４）、第２方式を特定する識別子ｍｏｄｅ＝０ａを出力して処理を終了する。
【００８４】
《ばらつき判定（Ｓ２０５５／図１１のＳ１５の一例）》
ばらつき判定は、第１スパース性判定（Ｓ２０５１ａ〜Ｓ２０５２ｅ（図１８））において、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が非スパース分類に属すると判定された場合に実行される。ばらつき判定では、ばらつき判定部２０５ｃが、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）と、量子化正規化基準値Ｘ−とを入力とし、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の振幅値の統計的ばらつきを特定する第３判定値と所定の第３閾値ＴＨ４とを比較する閾値判定により、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）の集合が、統計的ばらつきが大きい側の第３分類に属するか、統計的ばらつきが小さい側の第４分類に属するかを判定する。この例では、ばらつき判定部２０５ｃが、
【００８５】
【数５】
2011009869.tif 000007
【００８６】
を満たすことを確認する（図１９／Ｓ２０５５）。なお、第３閾値ＴＨ４は正の数であり、その一例は２．０である。
【００８７】
ステップＳ２０５５での結果がＮｏである場合、ばらつき判定部２０５ｃは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が、統計的ばらつきが小さい側の第４分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、符号化方式として第４方式（ｍｏｄｅ＝１）を選択し（Ｓ２０５６）、第４方式を特定する識別子ｍｏｄｅ＝１を出力して処理を終了する。
【００８８】
一方、ステップＳ２０５５（図１９）での結果がＹｅｓである場合、ばらつき判定部２０５ｃは、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１符号化対象信号）の集合が、統計的ばらつきが大きい側の第３分類に属すると判定し、その判定結果を判定制御部２０５ｄに出力する。この場合、判定制御部２０５ｄは、符号化方式として第３方式（ｍｏｄｅ＝２）を選択し（Ｓ２０５７）、第３方式を特定する識別子ｍｏｄｅ＝２を出力して処理を終了する（［ステップＳ２０５の処理の例示］終わり）。
【００８９】
モード情報生成部２０６が、各方式を特定する識別子ｍｏｄｅを入力とし、選択された符号化方式を特定するためのモード情報ｍｏｄｅ−ｂｉｔを生成して出力する（図１７（Ａ）／Ｓ２０６）。
【００９０】
［ステップＳ２０６の処理の例示］
図２０は、ステップＳ２０６の処理のを例示するためのフローチャートである。
【００９１】
モード情報生成部２０６が、ステップＳ２０５で選択された方式を特定する識別子ｍｏｄｅを入力とし、識別子ｍｏｄｅの値を判定する（ステップＳ２０６１）。識別子ｍｏｄｅ＝０ａまたは０ｂである場合、モード情報生成部２０６は、モード情報ｍｏｄｅ−ｂｉｔ＝０を生成して出力する（ステップＳ２０６２）。識別子ｍｏｄｅ＝１である場合、モード情報生成部２０６は、モード情報ｍｏｄｅ−ｂｉｔ＝１を生成して出力する（ステップＳ２０６３）。識別子ｍｏｄｅ＝２である場合、モード情報生成部２０６は、モード情報ｍｏｄｅ−ｂｉｔ＝２を生成して出力する（ステップＳ２０６４）（［ステップＳ２０６の処理の例示］終わり）。
【００９２】
符号化処理部２１０が、周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）と量子化正規化基準値Ｘ−との少なくとも一部と、符号化方式選択部２０５から出力された識別子ｍｏｄｅとを入力とし、ステップＳ２０５で選択された符号化方式に則って符号化処理を行う（図１７（Ａ）／ステップＳ２１０）。
【００９３】
［ステップＳ２１０の処理の例示］
図２１は、ステップＳ２１０の処理を例示するためのフローチャートである。
【００９４】
符号化処理部２１０の選択部２１１（図１４）は、識別子ｍｏｄｅを入力とし、識別子ｍｏｄｅが０ｂを示すことを確認する（ステップＳ２１１１）。
【００９５】
ステップＳ２１１１での結果がＹｅｓである場合、第１符号化方式に則った符号化処理が行われる。すなわち、選択部２１１の制御に基づき、誤差計算部１０５に周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）が入力され、誤差計算部１０５が前述のステップＳ１０５の処理を実行し、第２符号化対象信号である誤差信号Ｅ（ｋ）を出力する。次に、第２ベクトル量子化部１０６が、誤差信号Ｅ（ｋ）と量子化正規化基準値Ｘ−を入力とし、前述のステップＳ１０６の処理を実行し、第２ベクトル量子化インデックスＣ２を出力する。第１符号化方式の場合、符号化器２００は、第１ベクトル量子化インデックスＣ１と第２ベクトル量子化インデックスＣ２と正規化基準値量子化インデックスＣＳとモード情報ｍｏｄｅ−ｂｉｔが含まれる符号を、復号器１００’に送って処理を終了する。
【００９６】
ステップＳ２１１１での結果がＮｏである場合、選択部２１１は、識別子ｍｏｄｅが０ａを示すことを確認する（ステップＳ２１１２）。ステップＳ２１１２での結果がＹｅｓである場合、第２符号化方式に則った符号化処理が行われる。すなわち、まず、選択部２１１の制御に基づき、抽出部２１２にＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）と第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）が入力される。抽出部２１２は、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち第１ベクトル量子化部１０４においてパルスが立てられなかった周波数領域信号Ｘ（ｋ）（振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号）だけを抜き出した第２符号化対象信号Ｅ（ｍ）と、第１ベクトル量子化部１０４においてパルスが立てられなかった周波数領域信号の数Ｍ（振幅値が０の第１量子化信号の数）を求め、第２符号化対象信号Ｅ（ｍ）と数Ｍを出力する（ステップＳ２１２）。ここで、ｍは配列番号を表す整数値である。
【００９７】
［ステップＳ２１２の処理の例示］
図２２は、図２１のステップＳ２１２の詳細を例示するためのフローチャートである。抽出部２１２は、まず、ｋ＝０、ｍ＝０として処理を始める。抽出部２１２は、ｋがＬよりも小さいかを確認する（Ｓ２１２１）。ステップＳ２１２１での結果がＹｅｓの場合、次に抽出部２１２は、Ｘ＾（ｋ）が０かを確認する（Ｓ２１２２）。ステップＳ２１２２での結果がＹｅｓの場合、抽出部２１２は、Ｅ（ｍ）をＸ（ｋ）とし、ｍの値を１つ増やし（Ｓ２１２３）、ステップＳ２１２４の処理に進む。一方、ステップＳ２１２２での結果がＮｏの場合、ステップＳ２１２３の処理を実行することなく、ステップＳ２１２４に進む。ステップＳ２１２４では、抽出部２１２が、ｋの値を１つ増やし、ステップＳ２１２１に戻る。Ｓ２１２１での結果がＮｏの場合、抽出部２１２は、ｍの値をＭとし（Ｓ２１２５）、処理を終了する（［ステップＳ２１２の処理の例示］終わり）。
【００９８】
次に、第２ベクトル量子化部２１３に、第２符号化対象信号Ｅ（ｍ）と量子化正規化基準値Ｘ−と振幅値が０の第１量子化信号Ｘ＾（ｋ）の数Ｍが入力される。第２ベクトル量子化部２１３は、第２符号化対象信号Ｅ（ｍ）を量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化第２符号化対象信号を求める。そして、正規化第２符号化対象信号を、Ｍ点または量子化ベクトルの次数の倍数Ｔｈでベクトル量子化し、量子化代表ベクトルのインデックスを第２ベクトル量子化インデックスＣ２として出力する（図２１／Ｓ２１３）。量子化ベクトルの次数とは、例えば８がある。この場合、倍数Ｔｈは、８，１６，…，６４などがあり、Ｍに最も近い数、Ｍ以下で最も近い数、あるいはＭ以上で最も近い数をＴｈとして選べばよい。例えば、Ｍ以下で最も近い数をＴｈとして選んだ場合、Ｍ個の正規化第２符号化対象信号の中からＴｈ個分だけベクトル量子化してもよい。第２符号化方式の場合、符号化器２００は、第１ベクトル量子化インデックスＣ１と第２ベクトル量子化インデックスＣ２と正規化基準値量子化インデックスＣＳとモード情報ｍｏｄｅ−ｂｉｔが含まれる符号を、復号器１００’に送って処理を終了する。
【００９９】
ステップＳ２１１２（図２１）での結果がＮｏである場合、選択部２１１は、識別子ｍｏｄｅが２を示すことを確認する（ステップＳ２１１３）。ステップＳ２１１３での結果がＹｅｓである場合、第３符号化方式に則った符号化処理が行われる。すなわち、まず、選択部２１１の制御に基づき、誤差計算部２１４にＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）と第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）が入力される。誤差計算部２１４は、第１量子化信号Ｘ＾（ｋ）の振幅値が０の場合は、周波数領域信号Ｘ（ｋ）の絶対値と量子化正規化値Ｘ−から誤差信号を求め、第１量子化信号Ｘ＾（ｋ）の振幅値が０以外の場合は、周波数領域信号Ｘ（ｋ）の絶対値と第１量子化信号Ｘ＾（ｋ）の絶対値から誤差信号を求め、誤差信号を第２符号化対象信号Ｅ（ｋ）として出力する（Ｓ２１４）。
【０１００】
［ステップＳ２１４の処理の例示］
図２３は、図２１のステップＳ２１４の詳細を例示するためのフローチャートである。
【０１０１】
誤差計算部２１４は、まず、ｋ＝０として処理を始める。誤差計算部２１４は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（Ｓ２１４１）。ステップＳ２１４１での結果がＹｅｓの場合、Ｘ＾（ｋ）が０かを確認する（Ｓ２１４２）。ステップＳ２１４２での結果がＹｅｓの場合（第１量子化信号Ｘ＾（ｋ）の振幅値が０の場合）、誤差計算部２１４は、周波数領域信号Ｘ（ｋ）の絶対値と量子化正規化値Ｘ−の誤差信号である
｜Ｘ（ｋ）｜−Ａ・Ｘ−
を第２符号化対象信号Ｅ（ｋ）とし（Ｓ２１４３）、ステップＳ２１４５の処理に進む。ここで、Ａは正規化値の調整用の正の数（例えば１．０）である。ステップＳ２１４２での結果がＮｏの場合（第１量子化信号Ｘ＾（ｋ）の振幅値が０以外の場合）、周波数領域信号の絶対値｜Ｘ（ｋ）｜と第１量子化信号の絶対値｜Ｘ＾（ｋ）｜の誤差信号である
｜Ｘ（ｋ）｜−｜Ｘ＾（ｋ）｜
を第２符号化対象信号Ｅ（ｋ）とし（Ｓ２１４４）、ステップＳ２１４５の処理に進む。ステップＳ２１４５では、ｋを１増加させ（Ｓ２１４５）、ステップＳ２１４１に戻る。ステップＳ２１４１での結果がＮｏの場合、処理を終了する（［ステップＳ２１４の処理の例示］終わり）。
【０１０２】
次に、第２ベクトル量子化部２１５に、誤差信号Ｅ（ｋ）と量子化正規化基準値Ｘ−が入力される。第２ベクトル量子化部２１５は、誤差信号Ｅ（ｋ）を、量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号をベクトル量子化して、量子化代表ベクトルのインデックスを第２ベクトル量子化インデックスＣ２として出力する（図２１／Ｓ２１５）。第３符号化方式の場合、符号化器２００は、第１ベクトル量子化インデックスＣ１と第２ベクトル量子化インデックスＣ２と正規化基準値量子化インデックスＣＳとモード情報ｍｏｄｅ−ｂｉｔが含まれる符号を、復号器１００’に送って処理を終了する。
【０１０３】
ステップＳ２１１３（図２１）での結果がＮｏである場合、第４符号化方式に則った符号化処理が行われる。すなわち、まず、抽出部２１６が、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）と第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）から第１ベクトル量子化部１０４においてパルスが立てられなかったもの（振幅値が０の量子化信号に対応する周波数領域信号）だけを抜き出した第２符号化対象信号Ｅ（ｍ）と、第１ベクトル量子化部においてパルスが立てられなかった周波数領域信号の数Ｍ（振幅値が０の量子化信号の数）を求め、第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）と数Ｍを出力する（Ｓ２１６）。この処理は、前述のステップＳ２１２と同一である。
【０１０４】
次に、正負符号情報計算部２１７が、第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）と数Ｍとを入力として、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（第１符号化対象信号）である第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）が正であるか負であるかを示す２進数の正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）を生成して出力する（Ｓ２１７）。
【０１０５】
［ステップＳ２１７の処理の例示］
図２４は、図２１のステップＳ２１７の詳細を例示するためのフローチャートである。
【０１０６】
正負符号情報計算部２１７は、まず、ｍ＝０として処理を始める。正負符号情報計算部２１７は、ｍがＭよりも小さいかを確認する（Ｓ２１７１）。ステップＳ２１７１での結果がＹｅｓの場合、正負符号情報計算部２１７は、第２符号化対象信号Ｅ（ｍ）が０未満（負）であるかを確認する（Ｓ２１７３）。ステップＳ２１７３での結果がＹｅｓの場合（負の場合）、正負符号情報計算部２１７は、ｂ（ｍ）を０とし（Ｓ２１７４）、ステップＳ２１７６の処理に進む。一方、ステップＳ２１７３での結果がＮｏの場合（正の場合）、正負符号情報計算部２１７は、ｂ（ｍ）を１とし（Ｓ２１７５）、ステップＳ２１７６の処理に進む。ステップＳ２１７６では、正負符号情報計算部２１７が、ｍの値を１つ増やし（Ｓ２１７６）、ステップＳ２１７１に戻る。ステップＳ２１７１での結果がＮｏの場合、処理を終了する（［ステップＳ２１７の処理の例示］終わり）。
【０１０７】
第４符号化方式の場合、符号化器２００は、第１ベクトル量子化インデックスＣ１と正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）と正規化基準値量子化インデックスＣＳとモード情報ｍｏｄｅ−ｂｉｔが含まれる符号を、復号器１００’に送って処理を終了する。
【０１０８】
＜復号処理＞
図１７（Ｂ）は復号器の処理を説明するためのフローチャートである。
【０１０９】
まず、復号器２００’は、前述したステップＳ１０７およびＳ１０８の処理を実行し、正規化基準値量子化インデックスＣＳを用いて量子化値を特定し、それを復号量子化正規化基準値Ｘ−とするとともに、第１ベクトル量子化インデックスＣ１と復号量子化正規化基準値Ｘ−を用いてＬ個の量子化信号を特定し、それらをＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）にそれぞれ対応するＬ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）とする。
【０１１０】
次に、復号器２００’の復号方式選択部２１９が、少なくともモード情報ｍｏｄｅ−ｂｉｔを用いて復号方式を特定する（ステップＳ２１９）。
【０１１１】
［ステップＳ２１９の処理の例示］
図２５は、ステップＳ２１９の処理を例示するためのフローチャートである。この例では、モード情報ｍｏｄｅ−ｂｉｔが０（所定値）であった場合に、ステップＳ１０８で出力された復号第１量子化信号Ｘ＾（ｋ）（第１量子化信号）のうち振幅値が０の復号第１量子化信号の個数を特定する第２判定値ｍと所定の第２閾値Ｔｈ５とを比較する閾値判定を行って、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１量子化信号）の集合が、振幅値が０の復号第１量子化信号の個数が多い側の第１分類に属するか、振幅値が０の復号第１量子化信号の個数が少ない側の第２分類に属するかを判定し、第１分類に属する場合には第１復号方式を選択し、第２分類に属する場合には第２復号方式を選択する。また、モード情報ｍｏｄｅ−ｂｉｔが０（所定値）以外であった場合に、モード情報ｍｏｄｅ−ｂｉｔが示す第３符号化方式または第４符号化方式にそれぞれ対応する第３復号方式または第４復号方式を選択する。なお、第２閾値Ｔｈ５は、符号化器２００で使用された値と同一である。
【０１１２】
まず、復号方式選択部２１９のモード情報判定部２１９ａ（図１５）が、モード情報ｍｏｄｅ−ｂｉｔを入力として、モード情報ｍｏｄｅ−ｂｉｔが１を示すことを確認する（図２５／Ｓ２１９１ａ）。ステップＳ２１９１ａでの結果がＹｅｓの場合、判定制御部２１９ｄは、復号方式として第４方式を選択し、第４方式を特定する識別子ｍｏｄｅ＝１を出力して処理を終了する（Ｓ２１９３）。ステップＳ２１９１ａでの結果がＮｏの場合、モード情報判定部２１９ａが、モード情報ｍｏｄｅ−ｂｉｔが２を示すことを確認する（Ｓ２１９１ｂ）。ステップＳ２１９１ｂでの結果がＹｅｓの場合、判定制御部２１９ｄは、復号方式として第３方式を選択し、第３方式を特定する識別子ｍｏｄｅ＝２を出力して処理を終了する（Ｓ２１９４）。ステップＳ２１９１ｂでの結果がＮｏの場合、判定制御部２１９ｄは、モード情報ｍｏｄｅ−ｂｉｔが０を示すとして、スパース性判定部２１９ｂに以下の処理を実行させる。
【０１１３】
スパース性判定部２１９ｂは、第１量子化信号Ｘ＾（ｋ）を入力とし、ｋ＝０、ｍ＝０として処理を始める（ステップＳ２１９２ａ）。スパース性判定部２１９ｂは、ｋがＬよりも小さいかを確認する（Ｓ２１９２ｂ）。ステップＳ２１９２ｂでの結果がＹｅｓの場合、スパース性判定部２１９ｂは、第１量子化信号の振幅値｜Ｘ＾（ｋ）｜が０でないことを確認する（Ｓ２１９２ｃ）。ステップＳＳ２１９２ｃでの結果がＹｅｓの場合、スパース性判定部２１９ｂは、ｍの値を１つ増やし（Ｓ２１９２ｄ）、ステップＳ２１９２ｅの処理に進む。ステップＳＳ２１９２ｃでの結果がＮｏの場合、スパース性判定部２１９ｂは、ステップＳ２１９２ｄの処理を実行することなく、ステップＳ２１９２ｅの処理に進む。ステップＳ２１９２ｅでは、スパース性判定部２１９ｂが、ｋの値を１つ増やし（Ｓ２１９２ｅ）、ステップＳ２１９２ｂの処理に戻る。ステップＳ２１９２ｂでの結果がＮｏの場合、スパース性判定部２１９ｂは、ｍを第２判定値とし、第２判定値ｍが第２閾値Ｔｈ５よりも大きいことを確認する（Ｓ２１９２ｆ）。
【０１１４】
ステップＳ２１９２ｆでの結果がＮｏである場合、スパース性判定部２１９ｂは、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１量子化信号）の集合が、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の個数が多い側の第１分類に属すると判定し、その判定結果を判定制御部２１９ｄに出力する。この場合、判定制御部２１９ｄは、復号方式として第１方式（ｍｏｄｅ＝０ｂ）を選択し（Ｓ２１９５）、第１方式を特定する識別子ｍｏｄｅ＝０ｂを出力して処理を終了する。
【０１１５】
一方、ステップＳ２１９２ｆでの結果がＹｅｓである場合、スパース性判定部２１９ｂは、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）（所定数の第１量子化信号）の集合が、振幅値が０の第１量子化信号Ｘ＾（ｋ）の個数が少ない側の第２分類に属すると判定し、その判定結果を判定制御部２１９ｄに出力する。この場合、判定制御部２１９ｄは、復号方式として第２方式（ｍｏｄｅ＝０ａ）を選択し（Ｓ２１９６）、第２方式を特定する識別子ｍｏｄｅ＝０ａを出力して処理を終了する（［ステップＳ２１９の処理の例示］終わり）。
【０１１６】
次に、復号信号生成部２２０が、復号第１量子化信号Ｘ＾（ｋ）と復号量子化正規化基準値Ｘ−と第２ベクトル量子化インデックスＣ２と正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）との少なくとも一部と、復号方式選択部２１９から出力された識別子ｍｏｄｅとを入力とし、上記のように特定された復号方式に則り、復号信号Ｚ（ｋ）を生成し、生成した復号信号を出力する（図１７（Ｂ）／ステップＳ２２０）。
【０１１７】
［ステップＳ２２０の処理の例示］
図２６は、ステップＳ２２０の処理の例示するためのフローチャートである。
【０１１８】
復号信号生成部２２０の選択部２２１（図１６）は、識別子ｍｏｄｅを入力とし、識別子ｍｏｄｅが０ｂを示すことを確認する（ステップＳ２２１１）。
【０１１９】
ステップＳ２２１１での結果がＹｅｓである場合、第１復号方式に則った復号処理が行われる。すなわち、まず、選択部２２１の制御に基づき、第２ベクトル復号部１０９に第２ベクトル量子化インデックスＣ２と復号量子化正規化基準値Ｘ−を入力し、第２ベクトル復号部１０９が前述のステップＳ１０９の処理によって復号量子化誤差信号Ｅ＾（ｋ）を生成して出力する（Ｓ１０９）。次に、誤差修正部１１０が、復号第１量子化信号Ｘ＾（ｋ）と復号量子化誤差信号Ｅ＾（ｋ）を入力とし、前述のステップＳ１１０の処理によって復号信号Ｚ（ｋ）を生成して出力し（Ｓ１１０）、処理を終了する。
【０１２０】
ステップＳ２２１１（図２６）での結果がＮｏである場合、選択部２２１は、識別子ｍｏｄｅが０ａを示すことを確認する（Ｓ２２１２）。ステップＳ２２１２での結果がＹｅｓである場合、第２復号方式に則った復号処理が行われる。すなわち、まず、Ｍ値計算部２２２は、第１ベクトル復号部１０８において求められた復号第１量子化信号Ｘ＾（ｋ）を入力とし、復号第１量子化信号Ｘ＾（ｋ）の振幅値が０である復号第１量子化信号Ｘ＾（ｋ）の数Ｍを求める（Ｓ２２２）。
【０１２１】
［ステップＳ２２２の処理の例示］
図２７は、図２６のステップＳ２２２の詳細を例示するためのフローチャートである。Ｍ値計算部２２２は、まず、ｋ＝０、ｍ＝０として処理を始める。Ｍ値計算部２２２は、ｋがＬよりも小さいかを確認する（Ｓ２２２１）。ステップＳ２２２１での結果がＹｅｓの場合、次にＭ値計算部２２２は、Ｘ＾（ｋ）が０かを確認する（Ｓ２２２２）。ステップＳ２２２２での結果がＹｅｓの場合、Ｍ値計算部２２２は、ｍの値を１つ増やし（Ｓ２２２３）、ステップＳ２２２４の処理に進む。一方、ステップＳ２２２２での結果がＮｏの場合、Ｍ値計算部２２２は、ステップＳ２２２３の処理を実行することなく、ステップＳ２２２４に進む。ステップＳ２２２４では、Ｍ値計算部２２２が、ｋの値を１つ増やし、ステップＳ２２２１に戻る。ステップＳ２２２１での結果がＮｏの場合、Ｍ値計算部２２２は、ｍの値をＭとし（Ｓ２２２５）、処理を終了する。このように値Ｍを求めることができるため、符号中に数Ｍを伝えるためのビットを含める必要がない（［ステップＳ２２２の処理の例示］終わり）。
【０１２２】
次に、第２ベクトル復号部２２３に、第２ベクトル量子化インデックスＣ２と復号量子化正規化値Ｘ−と振幅値が０である復号第１量子化信号Ｘ＾（ｋ）の数Ｍとが入力される。第２ベクトル復号部２２３は、Ｍ点または量子化ベクトルの次数の倍数Ｔｈで第２ベクトル量子化インデックスＣ２を復号し、正規化第２復号量子化信号を求め、正規化第２復号量子化信号に復号量子化正規化値Ｘ−を乗算することで逆正規化し、復号第２量子化信号Ｅ＾（ｍ）を生成して出力する（図２６／Ｓ２２３）。次に、再構成部２２４に、復号第１量子化信号Ｘ＾（ｋ）と復号第２量子化信号Ｅ＾（ｍ）と第２ベクトル復号部２２３が復号するときに用いた量子化ベクトルの次数の倍数Ｔｈ、振幅値が０である復号第１量子化信号Ｘ＾（ｋ）の数Ｍが入力される。再構成部２２４は、復号第１量子化信号Ｘ＾（ｋ）（第１量子化信号）の振幅値が０以外の場合は復号第１量子化信号Ｘ＾（ｋ）を復号信号Ｚ（ｋ）とし、復号第１量子化信号Ｘ＾（ｋ）の振幅値が０の場合は復号第２量子化信号Ｅ＾（ｍ）を順次復号信号Ｚ（ｋ）とすることで、復号信号Ｚ（ｋ）を求め、出力する（Ｓ２２４）。
【０１２３】
［ステップＳ２２４の処理の例示］
図２８は、ステップＳ２２４の処理を例示するためのフローチャートである。再構成部２２４は、まず、ｋ＝０、ｍ＝０として処理を始める。再構成部２２４は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（Ｓ２２４１）。ステップＳ２２４１での結果がＹｅｓの場合、再構成部２２４は、ｍがＭより小さいことを確認する（Ｓ２２４２）。ステップＳ２２４２での結果がＹｅｓの場合、再構成部２２４は、ｍがＴｈより小さいことを確認する（Ｓ２２４３）。ステップＳ２２４３での結果がＹｅｓの場合、再構成部２２４は、Ｘ＾（ｋ）が０かを確認する（Ｓ２２４４）。ステップＳ２２４４での結果がＹｅｓの場合、再構成部２２４は、Ｅ＾（ｍ）をＺ（ｋ）とし、ｍの値を１つ増加させ、ステップＳ２２４７の処理に進む（Ｓ２２４５）。ステップＳ２２４２、Ｓ２２４３、Ｓ２２４４での結果がＮｏの場合、再構成部２２４は、Ｘ＾（ｋ）をＺ（ｋ）とし、ステップＳ２２４７の処理に進む（Ｓ２２４６）。そして、ステップＳ２２４７では、再構成部２２４がｋの値を１つ増加させ（Ｓ２２４７）、ステップＳ２２４１の処理に戻る。ステップＳ２２４１の結果がＮｏの場合、再構成部２２４は、処理を終了する（［ステップＳ２２４の処理の例示］終わり）。
【０１２４】
ステップＳ２２１２（図２６）での結果がＮｏである場合、選択部２２１（図１６）は、識別子ｍｏｄｅが２を示すことを確認する（Ｓ２２１３）。ステップＳ２２１３での結果がＹｅｓである場合、第３復号方式に則った復号処理が行われる。すなわち、まず、選択部２２１の制御に基づき、第２ベクトル復号部２２５に第２ベクトル量子化インデックスＣ２と復号量子化正規化基準値Ｘ−を入力し、第２ベクトル復号部２２５が前述のステップＳ１０９と同一の処理によって復号量子化誤差信号Ｅ＾（ｋ）を生成して出力する（Ｓ２２５）。
【０１２５】
次に、誤差修正部２２６が、復号量子化誤差信号Ｅ＾（ｋ）と復号第１量子化信号Ｘ＾（ｋ）とを入力とし、復号第１量子化信号Ｘ＾（ｋ）（第１量子化信号）の振幅値が０の場合は、復号量子化正規化基準値Ｘ−（量子化正規化基準値）と復号第２量子化信号Ｅ＾（ｋ）（第２量子化信号）と加重加算結果と、ランダムに生成された１または−１との乗算結果を復号信号Ｚ（ｋ）とし、復号第１量子化信号Ｘ＾（ｋ）の振幅値が０以外の場合は、復号第１量子化信号Ｘ＾（ｋ）と復号第２量子化信号Ｅ＾（ｋ）の和を用いた計算結果を復号信号Ｚ（ｋ）とする（Ｓ２２６）。
【０１２６】
［ステップＳ２２６の処理の例示］
図２９は、ステップＳ２２６の処理を例示するためのフローチャートである。
【０１２７】
誤差修正部２２６は、まず、ｋ＝０として処理を始める。誤差修正部２２６は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（Ｓ２２６１）。ステップＳ２２６１での結果がＹｅｓの場合、誤差修正部２２６は、Ｘ＾（ｋ）が０かを確認する（Ｓ２２６２）。ステップＳ２２６２の結果がＹｅｓの場合（復号第１量子化信号Ｘ＾（ｋ）の振幅値が０の場合）、誤差修正部２２６は、復号量子化正規化基準値Ｘ−と復号第２量子化信号Ｅ＾（ｋ）の加重加算結果Ａ・Ｘ−＋Ｅ＾（ｋ）にランダムに生成した１または−１を乗算し、乗算結果を復号信号Ｚ（ｋ）とする（Ｓ２２６３）。ここで、Ａは正規化基準値の調整用の正の数（例えば１．０）である。また、図中のｒａｎｄ（ｋ）は、ランダムに１または−１を生成する関数を示しており、例えば乱数などを用いて１または−１を生成する関数である。このように、ランダムに１または−１を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに１または−１を乗算することによって自然な音を作り出すことができる。ステップＳ２２６２での結果がＮｏの場合は、誤差修正部２２６は、Ｘ＾（ｋ）が負かを確認する（Ｓ２２６４）。ステップＳ２２６４での結果がＹｅｓの場合（復号第１量子化信号の値が負の場合）は、誤差修正部２２６は、復号第１量子化信号Ｘ＾（ｋ）の絶対値と復号第２量子化信号Ｅ＾（ｋ）の和に−１を乗算し、乗算結果を復号信号Ｚ（ｋ）とする（Ｓ２２６５）。ステップＳ２２６４での結果がＮｏの場合（復号第１量子化信号の値が正の場合）は、誤差修正部２２６は、復号第１量子化信号Ｘ＾（ｋ）の絶対値と復号第２量子化信号Ｅ＾（ｋ）の和を復号信号Ｚ（ｋ）とする（Ｓ２２６６）。誤差修正部２２６は、ｋを１増加させ（Ｓ２２６７）、ステップＳ２２６１の処理に戻る。ステップＳ２２６１の結果がＮｏの場合、誤差修正部２２６は、処理を終了する（［ステップＳ２２６の処理の例示］終わり）。
【０１２８】
ステップＳ２２１３（図２６）での結果がＮｏである場合、第４復号方式に則った復号処理が行われる。すなわち、まず、Ｍ値計算部２２７が、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、それらのうち振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の数Ｍを求め、数Ｍを出力する（Ｓ２２７）。この処理は、前述のステップＳ２２２と同一である。
【０１２９】
次に、周波数成分計算部２２８が、復号量子化正規化基準値Ｘ−と正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）と値Ｍとを入力とし、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）を生成し、信号Ｅ＾（ｍ）を出力する（図２６／Ｓ２２８）。
【０１３０】
［ステップＳ２２８の処理の例示］
図３０は、図２６のステップＳ２２８の詳細を例示するためのフローチャートである。周波数成分計算部２２８は、まず、ｍ＝０として処理を始める。周波数成分計算部２２８は、ｍがＬよりも小さいかを確認する（Ｓ２２８１）。ステップＳ２２８１での結果がＹｅｓの場合、周波数成分計算部２２８は、ｂ（ｍ）が０であるかを確認する（Ｓ２２８３）。Ｓ２２８３での結果がＹｅｓの場合、周波数成分計算部２２８は、
Ｅ＾（ｍ）＝−１・Ｃ（ｍ）・Ｘ−          （５）
を計算し（Ｓ２２８４）、ステップＳ２２８７の処理に進む。一方、Ｓ２２８３での結果がＮｏの場合、周波数成分計算部２２８は、
Ｅ＾（ｍ）＝Ｃ（ｍ）・Ｘ−          （６）
を計算し（Ｓ２２８５）、ステップＳ２２８７の処理に進む。ここで、Ｃ（ｍ）は、復号量子化正規化基準値Ｘ−を周波数領域信号Ｘ（ｋ）に近づけるための正の調整定数である。Ｃ（ｍ）の例は１未満の数や１よりも大きな数であるが、Ｃ（ｍ）＝１．０としてもよい。また、Ｃ（ｍ）は、すべてのｍ＝０，．．．，Ｍ−１に対して同一の値であってもよいし、各ｍまたは一部のｍの集合ごとに定められてもよい。すなわち、信号Ｅ＾（ｍ）の絶対値は、復号量子化正規化基準値Ｘ−またはその重み付け値あるいは定数倍値である。ステップＳ２２８７では、周波数成分計算部２２８が、ｍの値を１つ増やし（Ｓ２２８７）、ステップＳ２２８１の処理に進む。Ｓ２２８１での結果がＮｏの場合、周波数成分計算部２２８は、処理を終了する（［ステップＳ２２８の処理の例示］の説明終わり）。
【０１３１】
次に、再構成部２２９が、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）と信号Ｅ＾（ｍ）（ｍ＝０，．．．，Ｍ−１）とを入力とし、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）を信号Ｅ＾（ｍ）に置換した復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を生成し、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を出力する（図２６／Ｓ２２９）。
【０１３２】
［ステップＳ２２９の処理の例示］
図３１は、図２６のステップＳ２２９の詳細を例示するためのフローチャートである。再構成部２２９は、まず、ｋ＝０、ｍ＝０として処理を始める。再構成部２２９は、ｋがＬよりも小さいかを確認する（Ｓ２２９１）。ステップＳ２２９１での結果がＹｅｓの場合、再構成部２２９は、復号第１量子化信号Ｘ＾（ｋ）が０であるかを確認する（Ｓ２２９２）。ステップＳ２２９２での結果がＹｅｓの場合、再構成部２２９は、信号Ｅ＾（ｍ）を復号信号Ｚ（ｋ）とし（ステップＳ２２９３）、ステップＳ２２９５の処理に進む。一方、ステップＳ２２９２での結果がＮｏの場合、再構成部２２９は、復号第１量子化信号Ｘ＾（ｋ）を復号信号Ｚ（ｋ）とし、ステップＳ２２９５の処理に進む。ステップＳ２２９５では、周波数成分計算部２２８が、ｋの値を１つ増やし（Ｓ２２９５）、ステップＳ２２９１の処理に戻る。ステップＳ２２９１の結果がＮｏの場合、再構成部２２９は、処理を終了する（［ステップＳ２２９の処理の例示］の説明終わり）。
【０１３３】
以上のステップＳ２２０の処理の後、時間領域変換部１１１が、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、それらの時間領域変換を行い、フレーム点数Ｌ分の出力信号ｚ（ｎ）（ｎ＝０，．．．，Ｎ−１）を出力する（Ｓ１１１）。
【０１３４】
＜第１実施形態の特徴＞
以上のように、本形態の符号化処理では、基準値よりも振幅値が小さな第１符号化対象信号の個数、または、振幅値が基準値以下の第１符号化対象信号の個数、を特定する判定値に基づき、所定数の第１符号化対象信号に対応する符号化方式を選択することとした。そのため、第１符号化対象信号がスパースか否かに応じて適切な符号化方式を選択できる。
【０１３５】
また、本形態の符号化処理では、第１符号化対象信号がスパースであると判定された場合に、所定数の第１符号化対象信号にそれぞれ対応する第１量子化信号のうち振幅値が０の第１量子化信号の個数を特定する第２判定値と所定の第２閾値とを比較する閾値判定により、所定数の第１符号化対象信号にそれぞれ対応する第１量子化信号の集合が、振幅値が０の第１量子化信号の個数が多い側の第１分類に属するか、振幅値が０の第１量子化信号の個数が少ない側の第２分類に属するかをすることにした（Ｓ２０５２ａ〜Ｓ２０５２ｆ）。これにより、第１符号化対象信号がスパース（第１分類）か、非常にスパース（第２分類）かを判定でき、それぞれに応じて適切な符号化方式を選択できる。なお、この判定は第１量子化信号を用いているため、復号処理時にも同様に実行できる（Ｓ２１９２ａ〜２１９２ｆ）。よって、第１分類に対応する第１符号化方式が選択されたか、第２分類に対応する第２符号化方式が選択されたかを特定する情報を符号に含める必要はない。
【０１３６】
また、本形態の符号化処理では、第１符号化対象信号がスパースであると判定された場合に、所定数の第１符号化対象信号の振幅値の統計的ばらつきを特定する第３判定値と所定の第３閾値とを比較する閾値判定により、所定数の第１符号化対象信号の集合が、統計的ばらつきが小さい側の第４分類に属するか、統計的ばらつきが大きい側の第３分類に属するかを判定することとした（Ｓ２０５５）。これにより、所定数の第１符号化対象信号の集合の統計的ばらつきに応じて適切な符号化方式を選択できる。
【０１３７】
なお、本発明は上述の実施形態に限定されない。例えば、本形態では、入力信号ｘ（ｎ）を周波数領域に変換して得られた周波数領域信号Ｘ（ｋ）を符号化対象信号とした。しかし、入力信号ｘ（ｎ）を周波数領域に変換して得られた周波数領域信号の特定の周波数帯（例えば、８ｋＨｚ〜１４ｋＨｚなど）の信号を符号化対象信号としてもよい。また、所定の離散時間区間であるフレーム単位またはフレームを複数に符号化対象信号分割した離散時間区間であるサブフレーム単位で抽出された時間領域の信号を符号化対象信号としてもよい。また、これらの信号を量子化した信号を符号化対象信号としてもよい。
【０１３８】
また、本形態では、所定数の符号化対象信号の平均パワーの平方根、または、所定数の符号化対象信号の平均振幅値を正規化基準値Ｘ−０としたが、所定数の符号化対象信号の合計パワーや、所定数の符号化対象信号の振幅値の合計値など、その他の所定数の符号化対象信号の振幅の集合に依存する値を正規化基準値Ｘ−０としてもよい。
【０１３９】
また、本形態では、第１ベクトル量子化部１０４が、正規化後の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１を生成したが、正規化前の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１を生成してもよい。
【０１４０】
また、本形態では、符号化時に、一段目のベクトル量子化を行って得られた信号を符号化方式選択部２０５や符号化処理部２１０に入力したが、二段以上のベクトル量子化を行って得られた信号を符号化方式選択部２０５や符号化処理部２１０に入力する構成でもよい。この場合、復号時にも符号化時と同じ段数のベクトル復号が実行される。
【０１４１】
また、本形態では、Ｌ点の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）に対応する正規化基準値Ｘ−０を用いたが、サブバンドごとに周波数領域信号Ｘ（ｋ）に対応する正規化基準値Ｘ−０が生成されてもよい。
【０１４２】
また、ステップＳ２０５５の確認を行わず、ステップＳ２０５１ｅの結果がＮｏとなった場合に、予め定められた第３方式（ｍｏｄｅ＝２）または第４方式（ｍｏｄｅ＝１）が選択されてもよい。また、ステップＳ２０５２ａ〜Ｓ２０５２ｆの確認を行わず、ステップＳ２０５１ｅの結果がＹｅｓとなった場合に、予め定められた第１方式（ｍｏｄｅ＝０ｂ）または第２方式（ｍｏｄｅ＝０ａ）が選択されてもよい。さらに、ステップＳ２０５５の確認もステップＳ２０５２ａ〜Ｓ２０５２ｆの確認も行わず、ステップＳ２０５１ｅの結果がＹｅｓとなった場合に、予め定められた第１方式（ｍｏｄｅ＝０ｂ）または第２方式（ｍｏｄｅ＝０ａ）が選択され、ステップＳ２０５１ｅの結果がＮｏとなった場合に、予め定められた第３方式（ｍｏｄｅ＝２）または第４方式（ｍｏｄｅ＝１）が選択されてもよい。また、上述の第１〜第４方式以外の符号化方式及び復号方式を用いてもよい。さらに、第１符号化対象信号がスパースか否かに応じて、振幅値が０の第１量子化信号と振幅値が０以外の第１量子化信号とで符号化処理および復号処理を変化させる方式と、振幅値が０の第１量子化信号と振幅値が０以外の第１量子化信号とで符号化処理および復号処理を変化させない方式とを切り替える構成でもよい。また、５つ以上の方式から１つの方式を選択する構成でもよい。また、ステップＳ２０５１ａ〜Ｓ２０５１ｅや、ステップＳ２０５２ａ〜Ｓ２０５２ｆや、ステップＳ２０５５の処理の少なくとも一部を、それぞれ、異なる閾値を用いて複数回実行して、判定結果が５以上に分岐する構成でもよい。
【０１４３】
また、本形態では、第１方式（ｍｏｄｅ＝０ｂ）と第２方式（ｍｏｄｅ＝０ａ）とに対して同じモード情報ｍｏｄｅ−ｂｉｔ「０」を割り当てたが、第１方式（ｍｏｄｅ＝０ｂ）と第２方式（ｍｏｄｅ＝０ａ）とに対して異なるモード情報ｍｏｄｅ−ｂｉｔを割り当ててもよい。
【０１４４】
また、ステップＳ２０５１ｂ、Ｓ２０５１ｅ、Ｓ２０５２ｃ、Ｓ２０５２ｆ、Ｓ２０５５などの各判定方法は上述のものに限定されず、同じ目的を達成するためにそれらと異なる様々な判定方法を用いることができる。例えばステップＳ２０５１ａ〜Ｓ２０５１ｅでは、周波数領域信号Ｘ（ｋ）の振幅値｜Ｘ（ｋ）｜が基準値Ｔｈ１・Ｘ−よりも小さい場合をカウントし、そのカウント値である判定値ｍが閾値Ｔｈ２よりも大きい場合に、非常にスパースであると判定した。しかし、周波数領域信号Ｘ（ｋ）の振幅値｜Ｘ（ｋ）｜が基準値Ｔｈ１・Ｘ−よりも大きい場合をカウントし、そのカウント値である判定値ｍが閾値Ｔｈ２よりも小さい場合に、非常にスパースであると判定してもよい。また、α＞βであるかという判定をα≧βであるかという判定に変更することや、α＜βであるかという判定をα≦βであるかという判定に変更することも可能である。
【０１４５】
また、各符号化方式および復号方式を適宜変更してもよい。例えば、（復号）量子化正規化値Ｘ−を用いる代わりに、処理対象となる離散時間区間（フレームやサブフレームなど）間で（復号）量子化正規化値Ｘ−を平滑化して得られた値を用いてもよい。また、例えば、第２ベクトル量子化部２１３，２１５、第２ベクトル復号部２２３，２２５、周波数成分計算部２２８において、（復号）量子化正規化値Ｘ−を用いる代わりに、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する第１符号化対象信号Ｘ（ｋ）の振幅値からなる集合のみに依存すると推定される第２正規化基準値（量子化正規化値Ｘ−の再計算値）を用いてもよい。また、再構成部２２４，２２９が、Ｘ＾（ｋ）の振幅値が０の場合に、Ｅ＾（ｍ）を復号信号Ｚ（ｋ）とするのではなく、Ｘ＾（ｋ）とＥ＾（ｍ）との線形和などのＥ＾（ｍ）と同値の信号を復号信号Ｚ（ｋ）としてもよい。その他、第４方式において、振幅値が０のＸ＾（ｋ）に対応するＸ（ｋ）から選択された、所定個数以下の符号化対象信号Ｘ（ｋ）に対してのみ、正負符号情報ｂ（ｍ）が生成されてもよい。
【０１４６】
〔第２実施形態〕
前述のように、所定数の第１符号化対象信号の集合は、それぞれ、何れかの離散時間区間（フレームやサブフレーム等）に対応する。また、所定数の第１符号化対象信号の集合がスパースか否かに基づき、符号化方式を選択する処理（Ｓ１１やＳ２０５１ａ〜Ｓ２０５１ｅ）や、選択された符号化方式に則って符号化処理を行う処理（Ｓ２１０）は、当該離散時間区間ごとに実行される。ここで、隣り合う離散時間区間に対してそれぞれ選択された符号化方式が頻繁に変化することは、ミュージカルノイズの原因の一つとなる。本形態では、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度を低くするための平滑化処理を行い、ミュージカルノイズを軽減させる。
【０１４７】
＜構成＞
図１２および図１３を用いて第２実施形態の構成を説明する。
【０１４８】
第２実施形態の符号化器３００は、符号化方式選択部３０５が第１実施形態の符号化器２００と相違する。符号化方式選択部３０５は、平滑化処理部３０５ａを備える点で第１実施形態の符号化方式選択部２０５と相違する。符号化器３００のその他の構成は、符号化器２００と同一である。また、第２実施形態の復号器は第１実施形態の復号器２００’と同一である。
【０１４９】
＜符号化処理＞
次に、図１７および図１８を用い、第２実施形態の符号化処理を説明する。
【０１５０】
第２実施形態の符号化方法は、ステップＳ３０５の処理が第１実施形態のステップＳ２０５の処理と相違する。
【０１５１】
本形態では、ステップＳ２０５１ｅ（図１８）での結果がＹｅｓである場合、平滑化処理部３０５ａが、変数ｆｌｇ＿ｈｏｌｄに定数ＨＯＬＤ＿ＴＩＭＥを代入（ステップＳ３０５１ａ）した後、第２スパース性判定（Ｓ２０５２ａ〜Ｓ２０５２ｆ）が実行される。変数ｆｌｇ＿ｈｏｌｄの値は、以後の離散時間区間（フレームやサブフレーム等）に対する処理においても維持され、後述のように、変数ｆｌｇ＿ｈｏｌｄのちが０でない限り、第１符号化方式または第２符号化方式が選択され易くなる。なお、定数ＨＯＬＤ＿ＴＩＭＥは、第１符号化方式または第２符号化方式が選択され易くなる離散時間区間数（フレーム数やサブフレーム数等）を示す正の整数であり、その一例は５０である。
【０１５２】
ステップＳ２０５１ｅ（図１８）での結果がＮｏである場合、平滑化処理部３０５ａが、変数ｆｌｇ＿ｈｏｌｄの値が０よりも大きいことを確認する（Ｓ３０５１ｂ）。ステップＳ３０５１ｂでの結果がＹｅｓである場合、平滑化処理部３０５ａは、判定値ｍが補正閾値Ｔｈ３よりも大きいことを確認する（Ｓ３０５１ｃ）。なお、補正閾値Ｔｈ３は、閾値Ｔｈ２よりも小さく、かつ、１より大きくＬより小さい正の整数であり、Ｌ＝６４の場合の一例は１０である。ステップＳ３０５１ｃでの結果がＹｅｓである場合、平滑化処理部３０５ａが、変数ｆｌｇ＿ｈｏｌｄから１を引いた値を新たな変数ｆｌｇ＿ｈｏｌｄの値とした後（ステップＳ３０５１ｄ）、第２スパース性判定（Ｓ２０５２ａ〜Ｓ２０５２ｆ）が実行される。ステップＳ３０５１ｃでの結果がＹｅｓである場合、平滑化処理部３０５ａが、変数ｆｌｇ＿ｈｏｌｄから１を引いた値を新たな変数ｆｌｇ＿ｈｏｌｄの値とした後（ステップＳ３０５１ｅ）、ばらつき判定（Ｓ２０５５）が実行される。また、ステップＳ３０５１ｂでの結果Ｎｏである場合にも、ばらつき判定（Ｓ２０５５）が実行される。その他は第１実施形態と同じである。なお、第２実施形態の復号処理は第１実施形態と同一であるため説明を省略する。
【０１５３】
＜第２実施形態の特徴＞
補正閾値Ｔｈ３は閾値Ｔｈ２よりも小さいため、一旦、ステップＳ２０５１ｅの結果がＹｅｓとなった場合（スパースであると判定された場合）、それ以降のＨＯＬＤ＿ＴＩＭＥ分の離散時間区間において、第１符号化方式または第２符号化方式が選択され易くなる。これにより、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度が低くなり、ミュージカルノイズが軽減される。また、第２実施形態でも第１実施形態と同様な効果を得ることができる。
【０１５４】
また、本発明は上述の実施形態に限定されない。例えば、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度を低くする処理方法が上記以外であってもよい。例えば、ステップＳ３０５１ｂ〜Ｓ３０５１ｅの処理の代わりに、ステップＳ２０５１ｅの結果がＹｅｓとなった場合（スパースであると判定された場合）、それ以降のＨＯＬＤ＿ＴＩＭＥ分の離散時間区間において、閾値Ｔｈ２の値が小さくなる構成でもよい。また、ステップＳ２０５１ｅの結果がＹｅｓとなった場合（スパースであると判定された場合）、それ以降のＨＯＬＤ＿ＴＩＭＥ分の離散時間区間において、判定値ｍの値がかさ上げされる（例えば、ｍ＋１０を判定値とする等）構成でもよい。また、一旦、ステップＳ２０５１ｅの結果がＮｏとなった場合（スパースでないと判定された場合）、それ以降のＨＯＬＤ＿ＴＩＭＥ分の離散時間区間において、第３符号化方式または第４符号化方式が選択され易くなる構成でもよい。また、本形態では、スパースであるか否かの判定部分について、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度を低くすることとした。しかし、その他の判定部分（第２スパース性判定やばらつき判定）において、隣り合う離散時間区間に対応する各判定結果が互いに相違する頻度を低くしてもよい。その他、第２実施形態と前述した第１実施形態やその変形とを組み合わせた形態でもよい。
【０１５５】
〔第３実施形態〕
第３実施形態の符号化処理では、所定の割り当てられたビット数から、第１量子化信号を特定するために必要なビット数を減じた残存ビット数が所定値Ｒ（Ｒ≧１）以上である場合にのみ、ばらつき判定（Ｓ２０５５）が実行される。第１スパース判定（Ｓ２０５１ａ〜Ｓ２０５１ｅ）において所定数の第１符号化対象信号の集合が非スパース分類に属すると判定され、かつ、残存ビット数が所定値Ｒ未満である場合には、第３判定値ｍ（Ｓ２１９２ｆ）の値にかかわらず、予め定められた第３符号化方式または第４符号化方式が選択される。なお、残存ビット数が所定値Ｒ以上である場合のモード情報ｍｏｄｅ−ｂｉｔのビット長は、第１スパース判定（Ｓ２０５１ａ〜Ｓ２０５１ｅ）とばらつき判定（Ｓ２０５５）とによって分岐する判定結果を表現可能な第１ビット長とされ、残存ビット数が所定値Ｒ未満である場合のモード情報のビット長は、第１スパース判定（Ｓ２０５１ａ〜Ｓ２０５１ｅ）によって分岐する判定結果のみを表現可能な第２ビット長とされ、所定値Ｒは、第１ビット長から第２ビット長を減じた値に等しい。
【０１５６】
第３実施形態の復号処理では、残存ビット数が所定値Ｒ以上であるか否かを判定し、残存ビット数が所定値Ｒ以上である場合、符号の所定の位置から所定の第１ビット長を抽出してこれをモード情報ｍｏｄｅ−ｂｉｔとし、残存ビット数が所定値Ｒ未満である場合、符号の所定の位置から所定の第２ビット長を抽出してこれをモード情報ｍｏｄｅ−ｂｉｔとする。
【０１５７】
本形態では、一例として、所定値Ｒを１とし、第１ビット長を２ビットとし、第２ビット長を１ビットとした場合を説明する。
【０１５８】
＜構成＞
図１２、図１３および図１５を用いて第３実施形態の構成を説明する。
【０１５９】
第３実施形態の符号化器４００は、符号化方式選択部４０５とモード情報生成部４０６とが第１実施形態の符号化器２００と相違する。符号化方式選択部４０５は、残存ビット数判定部４０５ｃを備える点で第１実施形態の符号化方式選択部２０５と相違する。符号化器３００のその他の構成は、符号化器２００と同一である。
【０１６０】
第３実施形態の復号器４００’は、復号方式選択部４１９が第１実施形態の復号器２００’と相違する。復号方式選択部４１９は、モード情報判定部４１９ａと判定制御部４１９ｄと残存ビット数判定部４１９ｃが第１実施形態の復号方式選択部２１９と相違する。復号器４００’のその他の構成は、復号器２００’と同一である。
【０１６１】
＜符号化処理・復号処理＞
次に、図１７から図２５を用い、第３実施形態の符号化処理および復号処理を説明する。
【０１６２】
第３実施形態の符号化処理は、ステップＳ４０５，４０６の処理が第１実施形態のステップＳ２０５，４０６の処理と相違する。
【０１６３】
本形態の符号化方式の選択処理（図１７／Ｓ４０５）では、ばらつき判定（図１９／Ｓ２０５５）を行う前に、符号化方式選択部４０５の残存ビット数判定部４０５ｃが、残存ビット数が所定値Ｒ以上であるか否かを判定する。残存ビット数の例は、第１ベクトル量子化部１０４での量子化結果を伝送するために割り当てられた所定のビット数ＢＩＴから、第１量子化信号Ｘ＾（ｋ）を特定するために必要なビット数ｎｂｉｔを減じた値である。また、第１量子化信号Ｘ＾（ｋ）を特定するために必要なビット数ｎｂｉｔの例は、第１ベクトル量子化インデックスＣ１のビット数、もしくは、正規化基準値量子化インデックスＣＳのビット数、または、それらのビット数の合計値である。この場合、ばらつき判定（Ｓ２０５５）を行う前に、残存ビット数判定部４０５ｃが、第１ベクトル量子化インデックスＣ１、もしくは、正規化基準値量子化インデックスＣＳのビット数、または、それらの両方を入力とし、ｎｂｉｔがＢＩＴよりも小さいことを確認する（Ｓ４０４１）。ステップＳ４０５１での結果がＹｅｓの場合、ばらつき判定（Ｓ２０５５）が実行される。ステップＳ４０５１での結果がＮｏの場合、ばらつき判定（Ｓ２０５５）を行うことなく、強制的に第４方式が選択される（Ｓ２０５７）。
【０１６４】
本形態のモード情報生成処理（図１７／Ｓ４０６）では、ステップＳ２０６２、Ｓ２０６３、Ｓ２０６４（図２０）の後、モード情報生成部４０６が、第１ベクトル量子化インデックスＣ１、もしくは、正規化基準値量子化インデックスＣＳのビット数、または、それらの両方を入力とし、ｎｂｉｔがＢＩＴよりも小さいことを確認する（Ｓ４０６１）。ステップＳ４０６１での結果がＹｅｓの場合、モード情報生成部４０６は、モード情報ｍｏｄｅ−ｂｉｔのために符号の所定位置の２ビットを割り当てる（ステップＳ４０６２）。ステップＳ４０６１での結果がＮｏの場合、モード情報生成部４０６は、モード情報ｍｏｄｅ−ｂｉｔのために符号の所定位置の１ビットを割り当てる（ステップＳ４０６３）。
【０１６５】
第３実施形態の復号処理は、ステップＳ４１９の処理が第１実施形態のステップＳ２１９の処理と相違する。
【０１６６】
本形態の復号方式の選択処理（図１７（Ｂ）／Ｓ４１９）では、最初に、復号方式選択部４１９の残存ビット数判定部４１９ｃが、第１ベクトル量子化インデックスＣ１、もしくは、正規化基準値量子化インデックスＣＳのビット数、または、それらの両方を入力とし、ｎｂｉｔがＢＩＴよりも小さいことを確認し（図２５／Ｓ４１９１）、その結果を判定制御部４１９ｄに伝える。ステップＳ４１９１の結果がＹｅｓであった場合、判定制御部４１９ｄはモード情報判定部４１９ａに符号の所定の位置の２ビットを抽出させ、これをモード情報ｍｏｄｅ−ｂｉｔとする（Ｓ４１９２）。また、判定制御部４１９ｄはモード情報判定部４１９ａに符号の所定の位置の１ビットを抽出させ、これをモード情報ｍｏｄｅ−ｂｉｔとする（Ｓ４１９３）。その後の処理は、第１実施形態と同じである。
【０１６７】
＜第３実施形態の特徴＞
本形態では、前段の第１ベクトル量子化に関するビットを伝送するために符号に割り当てられた領域が余っているときには、その領域の１ビットとモード情報に割り当てられた１ビットとの計２ビットをモード情報ｍｏｄｅ−ｂｉｔの伝送のために用いる。一方、前段の第１ベクトル量子化に関するビットを伝送するために符号に割り当てられた領域が余っていないときには、モード情報に割り当てられた１ビットのみをモード情報ｍｏｄｅ−ｂｉｔの伝送のために用いる。これにより、符号ビット長を抑制できる。
【０１６８】
また、モード情報に割り当てられた１ビットのみをモード情報ｍｏｄｅ−ｂｉｔの伝送のために用いる場合には第３方式と第４方式とを区別できない。そのため、符号化処理時に第１方式または第２方式が選択されないときには、強制的に予め定められた第３方式または第４方式が選択される。しかし、第３方式を用いるか第４方式を用いるかの相違による符号化精度の差異はさほど大きくないため、このような処理でも復号信号の品質にはさほど影響しない。
【０１６９】
なお、本発明は上述の実施形態に限定されない。例えば、本形態では、前段の第１ベクトル量子化に関するビットを伝送するために符号に割り当てられた領域が余っているか否かに応じ、２種類のビット数（本形態の例では１ビットまたは２ビット）からモード情報ｍｏｄｅ−ｂｉｔの伝送に用いるビット数を選択した。しかし、前段の第１ベクトル量子化に関するビットを伝送するために符号に割り当てられた領域に残存するビット数に応じ、３種類以上のビット数からモード情報ｍｏｄｅ−ｂｉｔの伝送に用いるビット数を選択してもよい。例えば、当該領域に残存するビット数がＲＢＩＴであった場合、このＲＢＩＴとモード情報に割り当てられた１ビットとの計（ＲＢＩＴ＋１）ビットをモード情報ｍｏｄｅ−ｂｉｔの伝送のために用いてもよい。また、例えば、第３実施形態と第２実施形態や前述した第１実施形態の変形とを組み合わせた形態でもよい。
【０１７０】
〔実験結果〕
各音源に対する本形態の方式選択（modeスイッチング）の動作検証を行った。ここでは、第３実施形態で説明したように、モード情報として常時１ビット使用し、第１ベクトル量子化部に関するビットに対して割り当てられた領域が余ったときのみモード情報として１ビット使用した。
【０１７１】
図３２から図３６は、本形態の方式選択の動作検証結果を説明するための図である。これらの図の横軸は識別子ｍｏｄｅの値を示し、縦軸は確率を示す。図３２はノイズがない環境で収録された話し声の周波数領域信号を第１符号化対象信号とした場合（データ１）、図３３はノイズが存在する環境で収録された話し声の周波数領域信号を第１符号化対象信号とした場合（データ２）、図３４は歌付のブルースロック音楽の周波数領域信号を第１符号化対象信号とした場合（データ３）、図３５はグロッケンシュピール（鉄琴）で演奏された音楽の周波数領域信号を第１符号化対象信号とした場合（データ４）、図３６はバグパイプ（風笛）で演奏された音楽の周波数領域信号を第１符号化対象信号とした場合（データ５）の検証結果を示している。
【０１７２】
図３２から図３６に示すように、周波数軸方向においてスパースな音源ほどｍｏｄｅ＝０ａ，０ｂが選択され、スパースでない音源ほどｍｏｄｅ＝１，２が選択される傾向がある。また、量子化正規化基準値に対する第１符号化対象信号の絶対値のばらつきが小さい（第１符号化対象信号の絶対値と量子化正規化基準値の間のＳＮＲ（式(4)の左辺）が大きい）と考えられるデータ２では、ｍｏｄｅ＝２でなくｍｏｄｅ＝１が選択された。
【０１７３】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１７４】
また、上述の構成はコンピュータによって実現できる。この場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１７５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１７６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１７７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１７８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０１７９】
１００，２００，３００，４００  符号化器
１００’，２００’，４００’  復号器
【図１】
2011009869.tif 000008
【図２】
2011009869.tif 000009
【図３】
2011009869.tif 000010
【図４】
2011009869.tif 000011
【図５】
2011009869.tif 000012
【図６】
2011009869.tif 000013
【図７】
2011009869.tif 000014
【図８】
2011009869.tif 000015
【図９】
2011009869.tif 000016
【図１０】
2011009869.tif 000017
【図１１】
2011009869.tif 000018
【図１２】
2011009869.tif 000019
【図１３】
2011009869.tif 000020
【図１４】
2011009869.tif 000021
【図１５】
2011009869.tif 000022
【図１６】
2011009869.tif 000023
【図１７】
2011009869.tif 000024
【図１８】
2011009869.tif 000025
【図１９】
2011009869.tif 000026
【図２０】
2011009869.tif 000027
【図２１】
2011009869.tif 000028
【図２２】
2011009869.tif 000029
【図２３】
2011009869.tif 000030
【図２４】
2011009869.tif 000031
【図２５】
2011009869.tif 000032
【図２６】
2011009869.tif 000033
【図２７】
2011009869.tif 000034
【図２８】
2011009869.tif 000035
【図２９】
2011009869.tif 000036
【図３０】
2011009869.tif 000037
【図３１】
2011009869.tif 000038
【図３２】
2011009869.tif 000039
【図３３】
2011009869.tif 000040
【図３４】
2011009869.tif 000041
【図３５】
2011009869.tif 000042
【図３６】
2011009869.tif 000043