(57)【要約】【課題】十分な符号ビット長を確保できない場合にミュージカルノイズを軽減する。【解決手段】符号化処理では、所定数の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号または当該量子化信号を特定するために用いられる量子化インデックスとを生成し、振幅値が０の上記量子化信号に対応する符号化対象信号が正であるか負であるかを示す正負符号情報を生成する。復号処理では、量子化インデックスを用いて所定数の量子化信号を特定し、それらを所定数の符号化対象信号にそれぞれ対応する量子化信号として出力する。さらに、振幅値が０の量子化信号に対応する符号化対象信号が正であるか負であるかを示す正負符号情報を用い、上記量子化信号のうち、振幅値が０の量子化信号の少なくとも一部を、正負符号情報が示す正または負の符号を持つ信号に置換する。【選択図】図５
2011009868.tif 000002
【特許請求の範囲】
【請求項１】
(A) 所定数の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号を特定するために用いられる量子化インデックスと、を生成するステップと、
(B) 振幅値が０の前記量子化信号に対応する前記符号化対象信号のみについて、前記符号化対象信号が正であるか負であるかを示す正負符号情報を生成するステップと、
を有する符号化方法。
【請求項２】
請求項１の符号化方法であって、
前記ステップ(B)は、前記振幅値が０の前記量子化信号に対応する前記符号化対象信号から選択された、所定個数以下の符号化対象信号に対してのみ、前記正負符号情報を生成するステップである、
ことを特徴とする符号化方法。
【請求項３】
請求項２の符号化方法であって、
前記符号化対象信号は、周波数領域の信号であり、
選択された前記所定個数以下の符号化対象信号に対応する周波数の平均は、選択されなかった前記振幅値が０の前記量子化信号に対応する符号化対象信号に対応する周波数の平均よりも低い、
ことを特徴とする符号化方法。
【請求項４】
請求項２の符号化方法であって、
前記符号化対象信号は、周波数領域の信号であり、
選択された前記所定個数以下の符号化対象信号は、周波数が最も低いものまたは周波数が最も高いものから順に選択されたものである、
ことを特徴とする符号化方法。
【請求項５】
(a) 少なくとも量子化インデックスを復号して所定数の量子化信号を得るステップと、
(b)信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成するステップと、
(c) 前記ステップ(a)で得られた量子化信号のうち振幅値が０でない量子化信号に対して、当該振幅値が０でない量子化信号を復号信号として出力し、前記ステップ(a)で得られた量子化信号のうち振幅値が０である量子化信号に対して、前記ステップ(b)で生成された信号を含む集合に属する信号またはそれと同値の信号を復号信号として出力するステップと、
を有する復号方法。
【請求項６】
請求項５の復号方法であって、
前記ステップ(c)は、
(c-1) 前記ステップ(a)で得られた振幅値が０でない量子化信号を復号信号として出力するステップと、
(c-2) 前記ステップ(a)で得られた振幅値が０である量子化信号のうち所定個数以下を対象として、前記ステップ(b)で生成した信号またはそれと同値の信号を復号信号として出力するステップと、
(c-3) 前記ステップ(a)で得られた振幅値が０である量子化信号のうち、前記ステップ(c-2)の対象外のものを対象として、前記正負符号情報とは無関係に生成した信号を復号信号として出力するステップと、を含む、
ことを特徴とする復号方法。
【請求項７】
請求項６の復号方法であって、
前記量子化信号は、周波数領域の信号であり、
前記ステップ(c-2)の対象となる前記量子化信号に対応する周波数の平均は、前記ステップ(c-3)の対象となる前記量子化信号に対応する周波数の平均よりも低い、
ことを特徴とする復号方法。
【請求項８】
請求項６の復号方法であって、
前記量子化信号は、周波数領域の信号であり、
前記ステップ(a)で得られた振幅値が０である量子化信号のうち、周波数が最も低いものまたは周波数が最も高いものから順に所定個数以下選択されたものを前記ステップ(c-2)の対象とする、
ことを特徴とする復号方法。
【請求項９】
請求項５から８の何れかの復号方法であって、
(c) 正規化基準値量子化インデックスを用いて量子化値を特定し、それをＳ個（Ｓ≧２）の符号化対象信号の振幅値からなる集合に依存する正規化基準値の量子化値である、量子化正規化基準値として出力するステップをさらに有し、
前記正負符号情報が示す正または負の符号を持つ信号の絶対値は、前記量子化正規化基準値またはその重み付け値あるいは定数倍値である、
ことを特徴とする復号方法。
【請求項１０】
請求項５から８の何れかの復号方法であって、
(c) 正規化基準値量子化インデックスを用いて量子化値を特定し、それをＳ個（Ｓ≧２）の符号化対象信号の振幅値からなる集合に依存する正規化基準値の量子化値である、量子化正規化基準値として出力するステップと、
(d)前記量子化正規化基準値と、振幅値が０以外の前記量子化信号とを少なくとも用い、振幅値が０の前記量子化信号に対応する前記符号化対象信号の振幅値からなる集合のみに依存すると推定される第２正規化基準値を生成するステップと、をさらに有し、
前記正負符号情報が示す正または負の符号を持つ信号の絶対値は、前記第２正規化基準値またはその重み付け値あるいは定数倍値である、
ことを特徴とする復号方法。
【請求項１１】
請求項１０の復号方法であって、
前記正規化基準値は、前記Ｓ個の符号化対象信号の平均パワーの平方根、または、前記Ｓ個の符号化対象信号の平均振幅値であり、
前記ステップ(d)は、
(d-1) 前記量子化正規化基準値の二乗値とＳとの乗算値と、前記Ｓ個の符号化対象信号にそれぞれ対応する前記量子化信号のパワーの合計値と、の差分を、前記Ｓ個の符号化対象信号のいずれかに対応する振幅値が０の前記量子化信号の個数で除算した値の平方根である第１再計算値を生成するステップと、
(d-2) 前記量子化正規化基準値とＳとの乗算値と、前記Ｓ個の符号化対象信号にそれぞれ対応する前記量子化信号の振幅値の合計値と、の差分を、前記Ｓ個の符号化対象信号のいずれかに対応する振幅値が０の前記量子化信号の個数で除算した第２再計算値を生成するステップと、
(d-3) 前記第１再計算値と前記第２再計算値との比較、または、いずれか一方が重み付けられた前記第１再計算値と前記第２再計算値との比較により、前記第１再計算値と前記第２再計算値の何れか一方を前記第２正規化基準値、または、その候補として選択するステップと、を含む、
ことを特徴とする復号方法。
【請求項１２】
請求項１１の復号方法であって、
前記ステップ(d-3)は、前記第１再計算値と前記第２再計算値の何れか一方を前記第２正規化基準値の候補として選択するステップであり、
前記ステップ(d)は、
(d-4) 前記第２正規化基準値の候補と前記量子化正規化基準値との比較、または、いずれか一方が重み付けられた前記第２正規化基準値の候補と前記量子化正規化基準値との比較により、前記第２正規化基準値の候補と前記量子化正規化基準値の何れか一方を前記第２正規化基準値として選択するステップをさらに含む、
ことを特徴とする復号方法。
【請求項１３】
請求項９から１２の何れかの復号方法であって、
前記正規化基準値量子化インデックスは、それぞれ、何れかの離散時間区間に対応し、
前記ステップ(c)は、
(c-1) 離散時間区間ごとに、それに対応する前記正規化基準値量子化インデックスで特定される復号正規化基準値を抽出するステップと、
(c-2) 処理対象の離散時間区間よりも１つ前の離散時間区間に対して抽出された復号正規化基準値が０の場合は、当該処理対象の離散時間区間に対して抽出された復号正規化基準値を、当該処理対象の離散時間区間に対する前記量子化正規化基準値として出力し、当該１つ前の離散時間区間に対して抽出された復号正規化基準値が０でない場合は、当該処理対象の離散時間区間に対して抽出された復号正規化基準値と当該１つ前の離散時間区間に対して抽出された復号正規化基準値との加重加算結果を、当該処理対象の離散時間区間に対する前記量子化正規化基準値として出力するステップと、を含む、
ことを特徴とする復号方法。
【請求項１４】
所定数の符号化対象信号またはそれらに対応する所定数の信号、を要素とするベクトルを量子化し、前記符号化対象信号にそれぞれ対応する量子化信号と、当該量子化信号を特定するために用いられる量子化インデックスと、を生成し、振幅値が０の前記量子化信号に対応する前記符号化対象信号のみについて、前記符号化対象信号が正であるか負であるかを示す正負符号情報を生成することを特徴とする符号化器。
【請求項１５】
少なくとも量子化インデックスを復号して所定数の量子化信号を得、信号が正であるか負であるかを示す正負符号情報を用い、前記正負符号情報が示す正または負の符号を持つ信号を生成し、得られた量子化信号のうち振幅値が０でない量子化信号に対して、当該得られた振幅値が０でない量子化信号を復号信号として出力し、得られた量子化信号のうち振幅値が０である量子化信号に対して、前記正負符号情報が示す正または負の符号を持つ信号を含む集合に属する信号またはそれと同値の信号を復号信号として出力することを特徴とする復号器。
【請求項１６】
請求項１から４の何れかの符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１７】
請求項５から１３の何れかの復号方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号の符号化技術及び復号技術に関する。
【背景技術】
【０００２】
信号系列をサンプルあたり１ビット以下で量子化するための手法の一つにベクトル量子化がある。この手法は、入力されたベクトルとの歪が最も小さいベクトルを符号帳から選択し、その番号（以下、「インデックス」という。）を伝送するものであり、量子化対象に即した符号帳を作成しておくことで、量子化歪の小さい量子化を可能とするものである。しかしながら、符号帳のメモリ量や歪を計算するための演算量は、量子化ビット数の指数関数で増大するため、量子化ビット数の多いときの量子化は実現が困難である。これを解決する１つの手法が多段ベクトル量子化（特許文献１）である。また、近年、量子化ノイズの少ない高能率なベクトル量子化手法として、例えばSpherical Vector Quantization（SVQ）法（非特許文献１）など、予め設定された量子化ビット数の範囲内で、周波数成分の一部をパルスとして立てていく（周波数成分の一部を振幅が０以外の量子化信号に量子化し、残りを振幅が０の量子化信号に量子化する）ベクトル量子化手法が広く利用されている。
【０００３】
図１は、多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図である。図２は符号化器と復号器の処理フローを示す図である。図２（Ａ）は符号化器の処理フローを示しており、図２（Ｂ）は復号器の処理フローを示している。多段ベクトル量子化では、量子化部が多段に接続され、初段の第１量子化部は入力信号について動作し，次段以降は入力信号と前段までの量子化出力の誤差について動作する。このようにすると、メモリ量や演算量を現実的な範囲に抑えたままで、ベクトル量子化が可能となる。図中の多段ベクトル量子化の段数は、分かり易くするため２としてあるが、段数は２以上を用いた構成でも良い。量子化手法には、周波数領域に変換した成分を量子化する手法（非特許文献１）を例として用いた。
【０００４】
符号化器１００は、周波数領域変換部１０１、正規化基準値計算部１０２、正規化基準値量子化部１０３、第１ベクトル量子化部１０４、誤差計算部１０５、第２ベクトル量子化部１０６を備える。復号器１００’は、正規化基準値復号部１０７、第１ベクトル復号部１０８、第２ベクトル復号部１０９、誤差修正部１１０、時間領域変換部１１１を備える。
【０００５】
周波数領域変換部１０１は、時系列信号である時間領域の入力信号ｘ（ｎ）（音響信号等）を入力とし、所定の離散時間区間内のＮ個の入力信号ｘ（０）（ｎ＝０，．．．，Ｎ−１）ごと（フレームごと）に、Ｌ点の周波数成分を示す信号である周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を生成し、これらを出力する（Ｓ１０１）。ただし、ｎは時間領域での信号の番号（離散時間番号）を、ｋは周波数領域での信号の番号（離散周波数番号）を示している。高い周波数に対応する離散周波数番号ｋほど値が大きい。Ｎ，Ｌは、２以上の整数であり、例えば６４や８０である。Ｎ，Ｌは、符号化器１００および復号器１００’で共有される値である。また、周波数領域変換方法としては、例えばＭＤＣＴ(Modified Discrete Cosine Transform)がある。
【０００６】
正規化基準値計算部１０２は、符号化対象信号である周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力として、周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）の正規化基準値Ｘ−０を生成して出力する（Ｓ１０２）。なお、正規化基準値Ｘ−０は、Ｓ個（Ｌ≧Ｓ≧２）の周波数領域信号Ｘ（ｋ）の振幅値からなる集合に依存する信号であり、その例は、Ｌ点または各サブバンド（Ｌ点をさらに分割した周波数帯域で、例えば８点で１つのサブバンドを形成する）内の周波数領域信号Ｘ（ｋ）のパワーの平均値の平方根である。Ｓの例は、Ｌや１つのサブバンドのサンプル点数などである。また、例えば、Ｌ点の正規化基準値Ｘ−０は、次式のように計算される。
【０００７】
【数１】
2011009868.tif 000003
【０００８】
また、Ｌ点または各サブバンド内の周波数領域信号Ｘ（ｋ）の平均振幅値を正規化基準値Ｘ−０としてもよい。例えば、Ｌ点の正規化基準値Ｘ−０を
【０００９】
【数２】
2011009868.tif 000004
としてもよい。
【００１０】
以下の説明では、サブバンドでの正規化ではなく、Ｌ点の正規化基準値Ｘ−０を用いた場合について説明する。なお、記述の制約上、Ｘ−０と表現する場合があるが、Ｘ−０と
【数３】
2011009868.tif 000005
とは同じものをさす。同様に、以下で用いる、Ｘ−，Ｘ＾（ｋ），Ｅ＾（ｋ）は、それぞれ、
【数４】
2011009868.tif 000006
と同じものをさす。
【００１１】
正規化基準値量子化部１０３は、正規化基準値計算部１０２で求めた正規化基準値Ｘ−０を入力とし、正規化基準値Ｘ−０を量子化して、正規化基準値量子化インデックスＣＳと、正規化基準値量子化インデックスＣＳに対応する量子化正規化基準値Ｘ−を出力する（Ｓ１０３）。
【００１２】
第１ベクトル量子化部１０４は、各周波数領域信号Ｘ（ｋ）と量子化正規化基準値Ｘ−を入力として、各周波数領域信号Ｘ（ｋ）を、量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化周波数領域信号を求める。そして、正規化周波数領域信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１と、第１ベクトル量子化インデックスＣ１に対応する量子化信号の逆正規化値（量子化インデックスＣ１に対応する量子化信号と量子化正規化基準値Ｘ−との積）である第１量子化信号Ｘ＾（ｋ）を求め、第１ベクトル量子化インデックスＣ１と第１量子化信号Ｘ＾（ｋ）出力する（Ｓ１０４）。
【００１３】
誤差計算部１０５は、周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）を入力として、周波数領域信号Ｘ（ｋ）と第１量子化信号Ｘ＾（ｋ）の間の誤差を、例えば、
Ｅ（ｋ）＝Ｘ（ｋ）−Ｘ＾（ｋ）
のように計算し、誤差信号Ｅ（ｋ）を出力する（Ｓ１０５）。
【００１４】
第２ベクトル量子化部１０６は、誤差信号Ｅ（ｋ）と量子化正規化基準値Ｘ−を入力とし、誤差信号Ｅ（ｋ）を、量子化正規化基準値Ｘ−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号をベクトル量子化して、量子化代表ベクトルのインデックスを第２ベクトル量子化インデックスＣ２として出力する（Ｓ１０６）。
【００１５】
符号化器１００は、第１ベクトル量子化インデックスＣ１と第２ベクトル量子化インデックスＣ２と正規化基準値量子化インデックスＣＳが含まれる符号を、復号器１００’に送る。そして、復号器１００’では、以下のような処理が行われる。
【００１６】
正規化基準値復号部１０７は、正規化基準値量子化インデックスＣＳを入力とし、正規化基準値量子化インデックスＣＳに対応する復号量子化正規化基準値Ｘ−を求め、この復号量子化正規化基準値Ｘ−を出力する（Ｓ１０７）。
【００１７】
第１ベクトル復号部１０８は、第１ベクトル量子化インデックスＣ１と復号量子化正規化基準値Ｘ−を入力とし、第１ベクトル量子化インデックスＣ１を復号し、フレーム単位の正規化された信号を正規化第１量子化信号として求め、正規化第１量子化信号に復号量子化正規化基準値Ｘ−を乗算することで逆正規化し、これを復号第１量子化信号Ｘ＾（ｋ）（量子化信号）として出力する（Ｓ１０８）。
【００１８】
第２ベクトル復号部１０９は、第２ベクトル量子化インデックスＣ２と復号量子化正規化基準値Ｘ−を入力とし、第２ベクトル量子化インデックスＣ２を復号し、正規化された信号を正規化誤差信号として求め、正規化誤差信号に復号量子化正規化基準値Ｘ−を乗算することで逆正規化し、これを復号量子化誤差信号Ｅ＾（ｋ）として出力する（Ｓ１０９）。
【００１９】
誤差修正部１１０は、復号第１量子化信号Ｘ＾（ｋ）と復号量子化誤差信号Ｅ＾（ｋ）を入力とし、復号信号Ｚ（ｋ）を、例えば、
Ｚ（ｋ）＝Ｘ＾（ｋ）＋Ｅ＾（ｋ）          （３）
のように求め、復号信号Ｚ（ｋ）を出力する（Ｓ１１０）。
【００２０】
時間領域変換部１１１は、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、例えばフレーム点数Ｌ分の逆ＭＤＣＴを用いて時間領域変換を行い、フレーム点数Ｌ分の出力信号ｚ（ｎ）（ｎ＝０，．．．，Ｎ−１）を出力する（Ｓ１１１）。
【００２１】
なお、上記では、周波数領域信号Ｘ（ｋ）を符号化対象信号とし、周波数領域信号Ｘ（ｋ）を第１ベクトル量子化部１０４、正規化基準値計算部１０２および誤差計算部１０５に入力する構成を示した。しかし、時間領域の入力信号ｘ（ｎ）を符号化対象信号とし、周波数領域信号Ｘ（ｋ）の代わりに入力信号ｘ（ｎ）を第１ベクトル量子化部１０４、正規化基準値計算部１０２および誤差計算部１０５に入力する構成であってもよい。この場合、周波数領域変換部１０１および時間領域変換部１１１は不要となり、上述の周波数領域信号Ｘ（ｋ）を入力信号ｘ（ｎ）に置換した処理が実行される。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特許２７７６４７４号公報
【非特許文献】
【００２３】
【非特許文献１】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係数の正負の符号情報）を生成し、これを前述の第１ベクトル量子化インデックスＣ１等とともに符号の一部とする。
【００３６】
図４は、本形態の復号処理の原理を説明するための図である。図４の横軸は離散周波数番号ｋを示し、縦軸は周波数成分の値（例えば、MDCT係数）を示す。図４の太字の破線は、符号化対象信号に対応する量子化信号である第１量子化信号Ｘ＾（ｋ）を例示し、細字の破線は、量子化正規化基準値Ｘ−とその負値-Ｘ−を例示し、太字の実線は復号信号を例示している。なお、図４の例では、８点の離散周波数点からなるサブバンドごとに量子化正規化基準値Ｘ−が生成されている。
【００３７】
図４に例示するように、本形態の復号処理では、第１ベクトル量子化インデックスＣ１を用いてＬ個の量子化信号を特定し、それらをＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）とする。そして、上述の正負符号情報を用い、第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）の少なくとも一部を、正負符号情報が示す正または負の符号を持つ信号に置換し、復号信号を生成する。この例では、振幅値が０の第１量子化信号Ｘ＾（ｋ）を、量子化正規化基準値Ｘ−と正負符号情報が示す正負符号との積からなる信号に置換することで、復号信号を生成している。これにより、復号信号の有無が時間的に不連続に変化する頻度を低くし、ミュージカルノイズを軽減できる。
【００３８】
〔第１実施形態〕
図５は、第１実施形態の符号化器と復号器の構成例を説明するための図である。図６は、第１実施形態の符号化器と復号器の処理を説明するためのフローチャートである。図６（Ａ）は符号化器の処理を説明するためのフローチャートであり、図６（Ｂ）は復号器の処理を説明するためのフローチャートである。
【００３９】
＜構成＞
符号化器２００は、周波数領域変換部１０１、正規化基準値計算部１０２、正規化基準値量子化部１０３、第１ベクトル量子化部１０４、抽出部２１２、正負符号情報計算部２１３を備える。復号器２００’は、正規化基準値復号部１０７、第１ベクトル復号化部１０８、Ｍ値計算部２１４、周波数成分計算部２１５、再構成部２１６、時間領域変換部１１１を備える。符号化器２００は、抽出部２１２と正負符号情報計算部２１３とが従来の符号化器１００と相違する。また、復号器２００’は、Ｍ値計算部２１４と周波数成分計算部２１５と再構成部２１６とが従来の復号器１００’と相違する。符号化器２００、復号器２００’のその他の構成部は、符号化器１００、復号器１００’と同じである。
【００４０】
＜符号化処理＞
符号化器２００は、以下の符号化処理を実行する。
まず、符号化器２００は、前述したステップＳ１０１〜Ｓ１０４の処理を実行し、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）に対応するＬ個の正規化周波数領域信号（前述）を要素とするベクトルをベクトル量子化し、周波数領域信号Ｘ（ｋ）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（量子化信号）と、当該第１量子化信号Ｘ＾（ｋ）を特定するために用いられる第１ベクトル量子化インデックスＣ１（量子化インデックス）とを生成して出力する。
【００４１】
次に、符号化器２００は、振幅値が０の第１量子化信号Ｘ＾（ｋ）のみに対し、当該第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）が正であるか負であるかを示す正負符号情報を生成して出力する（Ｓ２１２、Ｓ２１３）。
【００４２】
まず、抽出部２１２が、周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）と第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）から第１ベクトル量子化部１０４においてパルスが立てられなかったもの（振幅値が０の量子化信号に対応する周波数領域信号）だけを抜き出した第２符号化対象信号Ｅ（ｍ）と、第１ベクトル量子化部においてパルスが立てられなかった周波数領域信号の数Ｍ（振幅値が０の量子化信号の数）を求め、第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）と数Ｍを出力する（Ｓ２１２）。ここで、ｍは配列番号を表す整数値である。
【００４３】
［ステップＳ２１２の処理の例示］
図７は、図６（Ａ）のステップＳ２１２の詳細を例示するためのフローチャートである。抽出部２１２は、まず、ｋ＝０、ｍ＝０として処理を始める。抽出部２１２は、ｋがＬよりも小さいかを確認する（Ｓ２１２１）。ステップＳ２１２１での結果がＹｅｓの場合、次に抽出部２１２は、Ｘ＾（ｋ）が０かを確認する（Ｓ２１２２）。ステップＳ２１２２での結果がＹｅｓの場合、抽出部２１２は、Ｅ（ｍ）をＸ（ｋ）とし、ｍの値を１つ増やし（Ｓ２１２３）、ステップＳ２１２４の処理に進む。一方、ステップＳ２１２２での結果がＮｏの場合、ステップＳ２１２３の処理を実行することなく、ステップＳ２１２４に進む。ステップＳ２１２４では、抽出部２１２が、ｋの値を１つ増やし、ステップＳ２１２１に戻る。Ｓ２１２１での結果がＮｏの場合、抽出部２１２は、ｍの値をＭとし（Ｓ２１２５）、処理を終了する（［ステップＳ２１２の処理の例示］終わり）。
【００４４】
次に、正負符号情報計算部２１３が、第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）と数Ｍとを入力として、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）である第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）が正であるか負であるかを示す２進数の正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）を生成して出力する（Ｓ２１３）。
【００４５】
［ステップＳ２１３の処理の例示］
図８は、図６（Ａ）のステップＳ２１３の詳細を例示するためのフローチャートである。
【００４６】
正負符号情報計算部２１３は、まず、ｍ＝０として処理を始める。正負符号情報計算部２１３は、ｍがＭよりも小さいかを確認する（Ｓ２１３１）。ステップＳ２１３１での結果がＹｅｓの場合、正負符号情報計算部２１３は、第２符号化対象信号Ｅ（ｍ）が０未満（負）であるかを確認する（Ｓ２１３３）。ステップＳ２１３３での結果がＹｅｓの場合（負の場合）、正負符号情報計算部２１３は、ｂ（ｍ）を０とし（Ｓ２１３４）、ステップＳ２１３６に進む。一方、ステップＳ２１３３での結果がＮｏの場合（正の場合）、正負符号情報計算部２１３は、ｂ（ｍ）を１とし（Ｓ２１３５）、ステップＳ２１３６に進む。ステップＳ２１３６では、正負符号情報計算部２１３が、ｍの値を１つ増やし（Ｓ２１３６）、ステップＳ２１３１に戻る。ステップＳ２１３１での結果がＮｏの場合、処理を終了する（［ステップＳ２１３の処理の例示］終わり）。
【００４７】
符号化器２００は、第１ベクトル量子化インデックスＣ１と正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）と正規化基準値量子化インデックスＣＳが含まれる符号を、復号器１００’に送る。
【００４８】
＜復号処理＞
復号器２００’は、以下の復号処理を実行する。
まず、復号器２００’は、前述したステップＳ１０７およびＳ１０８の処理を実行し、正規化基準値量子化インデックスＣＳを用いて量子化値を特定し、それを復号量子化正規化基準値Ｘ−とするとともに、第１ベクトル量子化インデックスＣ１と復号量子化正規化基準値Ｘ−を用いてＬ個の量子化信号を特定し、それらをＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）にそれぞれ対応するＬ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）とする。
【００４９】
次に、復号器２００’は、正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）を用い、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）を、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｋ）に置換する（Ｓ２１４〜Ｓ２１６）。
【００５０】
まず、Ｍ値計算部２１４が、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、それらのうち振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の数Ｍを求め、数Ｍを出力する（Ｓ２１４）。
【００５１】
［ステップＳ２１４の処理の例示］
図９は、図６（Ｂ）のステップＳ２１４の詳細を例示するためのフローチャートである。Ｍ値計算部２１４は、まず、ｋ＝０、ｍ＝０として処理を始める。Ｍ値計算部２１４は、ｋがＬよりも小さいかを確認する（Ｓ２１４１）。ステップＳ２１４１での結果がＹｅｓの場合、次にＭ値計算部２１４は、Ｘ＾（ｋ）が０かを確認する（Ｓ２１４２）。ステップＳ２１４２での結果がＹｅｓの場合、Ｍ値計算部２１４は、ｍの値を１つ増やし（Ｓ２１４３）、ステップＳ２１４４の処理に進む。一方、ステップＳ２１４２での結果がＮｏの場合、Ｍ値計算部２２２は、ステップＳ２１４３の処理を実行することなく、ステップＳ２１４４に進む。ステップＳ２１４４では、Ｍ値計算部２１４が、ｋの値を１つ増やし、ステップＳ２１４１に戻る。ステップＳ２１４１での結果がＮｏの場合、Ｍ値計算部２１４は、ｍの値をＭとし（Ｓ２１４５）、処理を終了する（［ステップＳ２１４の処理の例示］終わり）。
【００５２】
次に、周波数成分計算部２１５が、復号量子化正規化基準値Ｘ−と正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）と値Ｍとを入力とし、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）を生成し、信号Ｅ＾（ｍ）を出力する（Ｓ２１５）。
【００５３】
［ステップＳ２１５の処理の例示］
図１０は、図６（Ｂ）のステップＳ２１５の詳細を例示するためのフローチャートである。周波数成分計算部２１５は、まず、ｍ＝０として処理を始める。周波数成分計算部２１５は、ｍがＬよりも小さいかを確認する（Ｓ２１５１）。ステップＳ２１５１での結果がＹｅｓの場合、周波数成分計算部２１５は、ｂ（ｍ）が０であるかを確認する（Ｓ２１５３）。Ｓ２１５３での結果がＹｅｓの場合、周波数成分計算部２１５は、
Ｅ＾（ｍ）＝−１・Ｃ（ｍ）・Ｘ−          （４）
を計算し（Ｓ２１５４）、ステップＳ２１５７の処理に進む。一方、Ｓ２１５３での結果がＮｏの場合、周波数成分計算部２１５は、
Ｅ＾（ｍ）＝Ｃ（ｍ）・Ｘ−          （５）
を計算し（Ｓ２１５５）、ステップＳ２１５７の処理に進む。ここで、Ｃ（ｍ）は、復号量子化正規化基準値Ｘ−を周波数領域信号Ｘ（ｋ）に近づけるための正の調整定数である。Ｃ（ｍ）の例は１未満の数や１よりも大きな数であるが、Ｃ（ｍ）＝１．０としてもよい。また、Ｃ（ｍ）は、すべてのｍ＝０，．．．，Ｍ−１に対して同一の値であってもよいし、各ｍまたは一部のｍの集合ごとに定められてもよい。すなわち、信号Ｅ＾（ｍ）の絶対値は、復号量子化正規化基準値Ｘ−またはその重み付け値あるいは定数倍値である。ステップＳ２１５７では、周波数成分計算部２１５が、ｍの値を１つ増やし（Ｓ２１５７）、ステップＳ２１５１の処理に進む。Ｓ２１５１での結果がＮｏの場合、周波数成分計算部２１５は、処理を終了する（［ステップＳ２１５の処理の例示］の説明終わり）。
【００５４】
次に、再構成部２１６が、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）と信号Ｅ＾（ｍ）（ｍ＝０，．．．，Ｍ−１）とを入力とし、復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）を信号Ｅ＾（ｍ）に置換した復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を生成し、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を出力する（Ｓ２１６）。
【００５５】
［ステップＳ２１６の処理の例示］
図１１は、図６（Ｂ）のステップＳ２１６の詳細を例示するためのフローチャートである。再構成部２１６は、まず、ｋ＝０、ｍ＝０として処理を始める。再構成部２１６は、ｋがＬよりも小さいかを確認する（Ｓ２１６１）。ステップＳ２１６１での結果がＹｅｓの場合、再構成部２１６は、復号第１量子化信号Ｘ＾（ｋ）が０であるかを確認する（Ｓ２１６２）。ステップＳ２１６２での結果がＹｅｓの場合、再構成部２１６は、信号Ｅ＾（ｍ）を復号信号Ｚ（ｋ）とし（ステップＳ２１６３）、ステップＳ２１６５の処理に進む。一方、ステップＳ２１６２での結果がＮｏの場合、再構成部２１６は、復号第１量子化信号Ｘ＾（ｋ）を復号信号Ｚ（ｋ）とし、ステップＳ２１６５の処理に進む。ステップＳ２１６５では、周波数成分計算部２１５が、ｋの値を１つ増やし（Ｓ２１６５）、ステップＳ２１６１の処理に戻る。ステップＳ２１６１の結果がＮｏの場合、再構成部２１６は、処理を終了する（［ステップＳ２１６の処理の例示］の説明終わり）。
【００５６】
その後、時間領域変換部１１１が、復号信号Ｚ（ｋ）（ｋ＝０，．．．，Ｌ−１）を入力とし、それらの時間領域変換を行い、フレーム点数Ｌ分の出力信号ｚ（ｎ）（ｎ＝０，．．．，Ｎ−１）を出力する（Ｓ１１１）。
【００５７】
＜第１実施形態の特徴＞
本形態では、符号化器２００が、Ｌ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）に対応するＬ個の正規化周波数領域信号を要素とするベクトルをベクトル量子化し、周波数領域信号Ｘ（ｋ）にそれぞれ対応する第１量子化信号Ｘ＾（ｋ）（量子化信号）と、当該第１量子化信号Ｘ＾（ｋ）を特定するために用いられる第１ベクトル量子化インデックスＣ１（量子化インデックス）とを生成し、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対し、当該第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）のみについて、周波数領域信号Ｘ（ｋ）（符号化対象信号）が正であるか負であるかを示す正負符号情報を生成することとした。また、復号器２００’が、正規化基準値量子化インデックスＣＳを用いて量子化値を特定し（復号し）、それを復号量子化正規化基準値Ｘ−とするとともに、第１ベクトル量子化インデックスＣ１と復号量子化正規化基準値Ｘ−を用いてＬ個の量子化信号を特定し、それらをＬ個の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）にそれぞれ対応するＬ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）し、正負符号情報ｂ（ｍ）（ｍ＝０，．．．，Ｍ−１）を用い、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）を、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｋ）に置換し、復号信号を生成することにした。このように生成された復号信号の場合、量子化誤差に起因して振幅値が０となり、信号の有無が時間的に不連続に変化する頻度が小さくなる。その結果、ミュージカルノイズが軽減される。
【００５８】
なお、本形態では、入力信号ｘ（ｎ）を周波数領域に変換して得られた周波数領域信号Ｘ（ｋ）を符号化対象信号とした。しかし、入力信号ｘ（ｎ）を周波数領域に変換して得られた周波数領域信号の特定の周波数帯（例えば、８ｋＨｚ〜１４ｋＨｚなど）の信号を符号化対象信号としてもよい。また、所定の離散時間区間であるフレーム単位またはフレームを複数に符号化対象信号分割した離散時間区間であるサブフレーム単位で抽出された時間領域の信号を符号化対象信号としてもよい。また、これらの信号を量子化した信号を符号化対象信号としてもよい。
【００５９】
また、本形態では、復号時に、Ｌ個の復号第１量子化信号Ｘ＾（ｋ）（ｋ＝０，．．．，Ｌ−１）のうち、振幅値が０の第１量子化信号Ｘ＾（ｋ）を、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｋ）に置換し、復号信号を生成することにした。しかし、置換をするのではなく、復号信号が、振幅値が０の第１量子化信号Ｘ＾（ｋ）と信号Ｅ＾（ｋ）との線形和を含んでいてもよい。すなわち、第１量子化信号Ｘ＾（ｋ）のうち振幅値が０でない第１量子化信号Ｘ＾（ｋ）に対して、当該振幅値が０でない第１量子化信号Ｘ＾（ｋ）を復号信号として出力し、第１量子化信号Ｘ＾（ｋ）のうち振幅値が０である第１量子化信号Ｘ＾（ｋ）に対して、信号Ｅ＾（ｋ）またはそれと同値の信号を復号信号として出力すればよい。
【００６０】
また、本形態では、所定数の符号化対象信号の平均パワーの平方根、または、所定数の符号化対象信号の平均振幅値を正規化基準値Ｘ−０としたが、所定数の符号化対象信号の合計パワーや、所定数の符号化対象信号の振幅値の合計値など、その他の所定数の符号化対象信号の振幅の集合に依存する値を正規化基準値Ｘ−０としてもよい。
【００６１】
また、本形態では、符号化処理時にＬ点の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）に対応する正規化基準値Ｘ−０を用い、復号処理時にＬ点の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）に対応する復号量子化正規化基準値Ｘ−を用いて信号Ｅ＾（ｍ）を生成した。しかし、符号化処理時に、サブバンドごとに周波数領域信号Ｘ（ｋ）に対応する正規化基準値Ｘ−０を生成する場合には、復号処理時にサブバンドごとに周波数領域信号Ｘ（ｋ）に対応する復号量子化正規化基準値Ｘ−を用いて信号Ｅ＾（ｍ）を生成してもよい。
【００６２】
また、本形態では、第１ベクトル量子化部１０４が、正規化後の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１を生成したが、正規化前の符号化対象信号をベクトル量子化して、量子化代表ベクトルのインデックスである第１ベクトル量子化インデックスＣ１を生成してもよい。
【００６３】
また、本形態では、信号Ｅ＾（ｍ）の絶対値が、復号量子化正規化基準値Ｘ−またはその重み付け値あるいは定数倍値であることとした。しかし、復号量子化正規化基準値Ｘ−を使用できない場合に、少なくとも一部の信号Ｅ＾（ｍ）の絶対値を乱数等のランダム値としてもよい。
【００６４】
また、本形態では、符号化時に、一段目のベクトル量子化を行って得られた信号を抽出部２１２に入力したが、二段以上のベクトル量子化を行って得られた信号を抽出部２１２に入力する構成でもよい。この場合、復号時にも符号化時と同じ段数のベクトル復号が実行される。
【００６５】
〔第１実施形態の変形例〕
第１実施形態では、符号化処理時に、すべてのｍ＝０，．．．，Ｍ−１について２進数の正負符号情報ｂ（ｍ）を生成して、これらを符号に含め、復号処理時に、各正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）を生成し、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）を信号Ｅ＾（ｍ）で置換した。しかし、Ｌ点の周波数領域信号Ｘ（ｋ）（ｋ＝０，．．．，Ｌ−１）（符号化対象信号）に対応する符号中の正負符号情報ｂ（ｍ）に対して許容される合計ビット数ＢＩＴ（ＢＩＴ≧１）がＭ未満の場合には、すべてのｍ＝０，．．．，Ｍ−１に対する正負符号情報ｂ（ｍ）を符号に含めることができない。第１実施形態の変形例では、符号化処理時に、ＢＩＴ個以下の２進数の正負符号情報ｂ（ｍ）を生成し、復号処理時に、ＢＩＴ個以下の正負符号情報ｂ（ｍ）を用いて信号Ｅ＾（ｍ）を生成し、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）を信号Ｅ＾（ｍ）で置換する。
【００６６】
＜構成＞
図５を用いて本変形例の機能構成を説明する。第１実施形態の変形例の符号化器３００、復号器３００’が第１実施形態の符号化器２００、復号器２００’と異なる点は、正負符号情報計算部３１３、周波数成分計算部３１５だけであり、その他は第１実施形態と同じである。
【００６７】
＜符号化処理・復号処理＞
図６を用いて本変形例の符号化処理および復号処理を説明する。
第１実施形態の変形例の符号化処理および復号処理が第１実施形態の符号化処理および復号処理と異なる点は、符号化器３００と復号器３００’とでＢＩＴの値を共有している点、および、ステップＳ３１３、ステップＳ３１５だけであり、その他は第１実施形態と同じである。
【００６８】
ステップＳ３１３の処理では、正負符号情報計算部３１３が、第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）と数Ｍとを入力として、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）である第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）から選択された、ＢＩＴ個以下の第２符号化対象信号Ｅ（ｍ）に対してのみ、正負符号情報ｂ（ｍ）を生成し、正負符号情報ｂ（ｍ）を出力する。第２符号化対象信号Ｅ（ｍ）（ｍ＝０，．．．，Ｍ−１）からＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を選択する方法に制限はないが、人間が敏感に聞き分けることができる周波数帯に対応する第２符号化対象信号Ｅ（ｍ）がより多く選択されることが望ましい。例えば、人間の聴覚は、高い周波数の音になるほど周波数分解能が悪くなる。そのため、より低い周波数に対応するＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を選択することが望ましい。これを定量的に表現すると、選択されたＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）に対応する周波数の平均が、選択されなかった第２符号化対象信号Ｅ（ｍ）に対応する周波数の平均よりも低くなることが望ましい。
【００６９】
［ステップＳ３１３の処理の例示］
図８を用いてステップＳ３１３の詳細を例示する。この例では、ステップＳ２１４１での結果がＹｅｓの場合、正負符号情報計算部３１３が、ｍがＢＩＴよりも小さいかを確認する（ステップＳ３１３２）。ステップＳ３１３２での結果がＹｅｓの場合、ステップＳ２１３３以降の処理が実行される。一方、ステップＳ３１３２での結果がＮｏの場合、ステップＳ３１３の処理が終了する。その他は、前述した第１実施形態の［ステップＳ２１３の処理の例示］と同様である。ただし、この変形例では、ステップＳ２１３１、Ｓ２１３３〜Ｓ２１３６の処理も正負符号情報計算部３１３が実行する。
【００７０】
ここで、ｍの値が小さいほど低い周波数に対応するため、この処理の例では、低い周波数に対応するものから順番に、ＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を選択し、選択した第２符号化対象信号Ｅ（ｍ）に対応する正負符号情報ｂ（ｍ）が生成されることになる（［ステップＳ３１３の処理の例示］終わり）。
【００７１】
ステップＳ３１５では、周波数成分計算部３１５が、復号量子化正規化基準値Ｘ−とＢＩＴ個数以下の正負符号情報ｂ（ｍ）と値Ｍとを入力とし、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）を生成し、信号Ｅ＾（ｍ）を出力する。
【００７２】
［ステップＳ３１５の処理の例示］
図１０を用いてステップＳ３１５の詳細を例示する。この例では、ステップＳ２１５１での結果がＹｅｓの場合、周波数成分計算部３１５が、ｍがＢＩＴよりも小さいかを確認する（ステップＳ３１５２）。ステップＳ３１５２での結果がＹｅｓの場合、ステップＳ２１５３以降の処理が実行される。一方、ステップＳ３１５２での結果がＮｏの場合、周波数成分計算部２１５は、
Ｅ＾（ｍ）＝Ｃ（ｍ）・Ｘ−・ｒａｎｄ（ｍ）          （６）
（正負符号情報とは無関係に生成した信号）を計算し（Ｓ３１５６）、ステップＳ２１５７の処理に進む。なお、ｒａｎｄ（ｍ）はｍに対して１または-1を出力する関数であり、その一例は乱数などを用いてランダムに１または-1を出力する関数である。また、ランダムに１または−１を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからである。その他は、前述した第１実施形態の［ステップＳ２１５の処理の例示］と同様である。ただし、この変形例では、ステップＳ２１５１、Ｓ２１５３〜Ｓ２１５７の処理も周波数成分計算部３１５が実行する（［ステップＳ３１５の処理の例示］終わり）。
【００７３】
＜第１実施形態の変形例の特徴＞
この変形例でも第１実施形態と同様にミュージカルノイズが軽減される。
また、この変形例では、符号化器３００が、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）から選択された、ＢＩＴ個以下の第２符号化対象信号Ｅ（ｍ）に対してのみ、正負符号情報ｂ（ｍ）を生成し、復号器３００’が、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の一部を、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号に置換することとした。これにより、符号化対象信号に対応する符号中の正負符号情報ｂ（ｍ）に対して許容される合計ビット数が制限されている場合でも、本発明を実装できる。
【００７４】
また、上記の選択されたＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）に対応する周波数の平均が、選択されなかった第２符号化対象信号Ｅ（ｍ）に対応する周波数の平均よりも低くなるようにすることで、人間が敏感に聞き分けることができる周波数帯への影響を抑えつつ、正負符号情報ｂ（ｍ）の合計ビット数を削減できる。
【００７５】
なお、本形態では、周波数が最も低いものから順番に選択されたＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を対象として正負符号情報ｂ（ｍ）を生成した。しかし、その他の順序で選択されたＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を対象として正負符号情報ｂ（ｍ）を生成してもよい。また、周波数が最も高いものから順番に選択されたＢＩＴ個数以下の第２符号化対象信号Ｅ（ｍ）を対象として正負符号情報ｂ（ｍ）を生成してもよい。
【００７６】
また、第１実施形態の変形例と、第１実施形態の最後に説明したその他の変形とを組み合わせてもよい。例えば、本形態では、復号時に、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の一部を、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号に置換することとした。しかし、置換をするのではなく、復号信号が、振幅値が０の第１量子化信号Ｘ＾（ｋ）と信号Ｅ＾（ｋ）との線形和を含んでいてもよい。すなわち、振幅値が０でない第１量子化信号Ｘ＾（ｋ）を復号信号として出力し、振幅値が０である第１量子化信号Ｘ＾（ｋ）のうち所定個数以下を対象として、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）またはそれと同値の信号を復号信号として出力し、振幅値が０である第１量子化信号Ｘ＾（ｋ）のうち上記の対象外のものを対象として、正負符号情報ｂ（ｍ）とは無関係に生成した信号Ｅ＾（ｍ）を復号信号として出力すればよい。
【００７７】
〔第２実施形態〕
第１実施形態やその変形例では、量子化正規化基準値Ｘ−に依存する値を信号Ｅ＾（ｍ）の振幅値とした（式（４）〜（６））。ここで、量子化正規化基準値Ｘ−は、すべてのｋ＝０，．．．，Ｌ−１に対応する周波数領域信号Ｘ（ｋ）の振幅値の集合に依存する値である。一方、信号Ｅ＾（ｍ）は、振幅値が０の第１量子化信号Ｘ＾（ｋ）のみに置換される信号なのだから、信号Ｅ＾（ｍ）の振幅値が、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）の振幅値からなる集合のみに依存するほうが、復号信号の精度が向上する。本形態は、符号に新たな付加情報を加えることなく、復号器が、振幅値が０の第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）の振幅値からなる集合のみに依存すると推定される第２正規化基準値Ｅ−を生成し、この第２正規化基準値Ｅ−に依存する値を信号Ｅ＾（ｍ）の振幅値とする。
【００７８】
＜構成＞
図１２は、第２実施形態の符号化器と復号器の構成例を説明するための図である。第２実施形態の符号化器は、第１実施形態またはその変形例の符号化器２００または３００と同じである。第２実施形態の復号器４００’が第１実施形態またはその変形例の復号器２００’または３００’と異なる点は、正負符号情報計算部４１３、周波数成分計算部２１５だけであり、その他は第１実施形態またはその変形例と同じである。
【００７９】
＜符号化処理・復号処理＞
図１３は、第２実施形態の復号器の処理を説明するためのフローチャートである。第２実施形態の符号化処理は、第１実施形態またはその変形例と同じである。第２実施形態の復号処理では、まず、復号器４００’が、第１実施形態のステップＳ１０７、Ｓ１０８、Ｓ２１４の処理を実行する。次に、正規化基準値再計算部４１６が、復号第１量子化信号Ｘ＾（ｋ）と復号量子化正規化基準値Ｘ−と値Ｍとを入力とし、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）（符号化対象信号）の振幅値からなる集合のみに依存すると推定される第２正規化基準値Ｅ−を生成し、第２正規化基準値Ｅ−を出力する（Ｓ４１６）。
【００８０】
［ステップＳ４１６の処理の例示］
図１４は、ステップＳ４１６の詳細を例示するためのフローチャートである。
正規化基準値再計算部４１６は、まず、ｋ＝０、ｔｍｐ＝０として処理を始める。正規化基準値再計算部４１６は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいか確認する（Ｓ４１６１）。ステップＳ４１６１での結果がＹｅｓの場合、正規化基準値再計算部４１６は、ｔｍｐに｜Ｘ＾（ｋ）｜２を加算する（Ｓ４１６６）。次に、正規化基準値再計算部４１６は、ｋの値を１つ増やし（Ｓ４１６７）、ステップＳ４１６１の処理に戻る。一方、Ｓ４１６１での結果がＮｏの場合、正規化基準値再計算部４１６は、第２正規化基準値Ｅ−を
【００８１】
【数５】
2011009868.tif 000007
のように求め（Ｓ４１６８）、処理を終了する。
【００８２】
また、図１５は、ステップＳ４１６の別の処理を例示するためのフローチャートである。このフローでは値が０の第１量子化信号の数を再度計算している。正規化基準値再計算部４１６は、まず、ｋ＝０、ｍ＝０、ｔｍｐ＝０として処理を始める。正規化基準値再計算部４１６は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（Ｓ４１６１）。ステップＳ４１６１での結果がＹｅｓの場合、正規化基準値再計算部４１６は、ｍがＭより小さいことを確認する（Ｓ４１６２）。ステップＳ４１６２での結果がＹｅｓの場合、正規化基準値再計算部４１６は、Ｘ＾（ｋ）が０かを確認する（Ｓ４１６４）。ステップＳ４１６４での結果がＹｅｓの場合、正規化基準値再計算部４１６は、ｍの値を１つ増やし（Ｓ３１５５）、ステップＳ４１６７の処理に進む。一方、ステップＳ４１６２、Ｓ４１６４での結果がＮｏの場合、正規化基準値再計算部４１６は、ｔｍｐに｜Ｘ＾（ｋ）｜２を加算し、その加算結果を新たなｔｍｐとし（Ｓ４１６６）、ステップＳ４１６７の処理に進む。ステップＳ４１６７では、正規化基準値再計算部４１６が、ｋの値を１つ増やし（Ｓ４１６７）、ステップＳ４１６１の処理に戻る。一方、Ｓ４１６１での結果がＮｏの場合、正規化基準値再計算部４１６は、第２正規化基準値Ｅ−を
【００８３】
【数６】
2011009868.tif 000008
のように求め（Ｓ４１６８’）、処理を終了する。
【００８４】
ここで、振幅値が０の第１量子化信号Ｘ＾（ｋ）のパワーは０であることから、図１４の処理フローでも、図１５の処理フローでも、復号量子化正規化基準値Ｘ−の二乗に周波数領域信号Ｘ（ｋ）の数Ｌを乗算し、乗算結果から、復号第１量子化信号Ｘ＾（ｋ）のパワー｜Ｘ＾（ｋ）｜２の合計値を減算し、減算結果を振幅値が０の復号第１量子化信号の数Ｍで除算し、除算結果の平方根を第２正規化基準値Ｅ−としていることになる。一般化して表現すると、第２正規化基準値Ｅ−は、復号量子化正規化基準値Ｘ−の二乗値とＳ（Ｌ≧Ｓ≧２）との乗算値と、Ｓ個の周波数領域信号Ｘ（ｋ）（符号化対象信号）にそれぞれ対応する復号第１量子化信号Ｘ＾（ｋ）のパワー｜Ｘ＾（ｋ）｜２の合計値と、の差分を、Ｓ個の周波数領域信号Ｘ（ｋ）のいずれかに対応する振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の個数Ｍで除算した値の平方根である。
【００８５】
＜第２実施形態の特徴＞
この変形例でも第１実施形態と同様にミュージカルノイズが軽減される。また、第１実施形態の変形例と組み合わせた場合には、第１実施形態の変形例と同様な効果を得ることができる。さらに、第２実施形態では、復号器４００’が、正規化基準値量子化インデックスＣＳを用いて量子化値を特定し、それをＳ個（Ｌ≧Ｓ≧２）の周波数領域信号Ｘ（ｋ）（符号化対象信号）の振幅値からなる集合に依存する正規化基準値の量子化値である、復号量子化正規化基準値Ｘ−とし、復号量子化正規化基準値Ｘ−と、振幅値が０以外の第１量子化信号Ｘ＾（ｋ）とを少なくとも用い、振幅値が０の復号第１量子化信号Ｘ＾（ｋ）に対応する周波数領域信号Ｘ（ｋ）の振幅値からなる集合のみに依存すると推定される第２正規化基準値Ｅ−を生成し、正負符号情報ｂ（ｍ）が示す正または負の符号を持つ信号Ｅ＾（ｍ）の絶対値が、第２正規化基準値Ｅ−またはその重み付け値あるいは定数倍値となるようにした。これにより、信号Ｅ＾（ｍ）の精度が向上し、その結果、復号信号の精度が向上する。
【００８６】
なお、第１実施形態の最後に説明したその他の変形を第２の実施形態に適用してもよく、第２の実施形態と第１実施形態の変形例とを組み合わせてもよい。
【００８７】
〔第２実施形態の変形例〕
量子化正規化基準値Ｘ−及び第１量子化信号Ｘ＾（ｋ）と目標値（周波数領域信号の正規化値Ｘ−０及び周波数領域信号Ｘ（ｋ））との誤差が大きい場合、第２実施形態の第２正規化基準値Ｅ−の計算方法では、第２正規化基準値Ｅ−を精度良く計算できないときがある。本変形例では、復号量子化正規化基準値Ｘ−の二乗値とＳ（Ｌ≧Ｓ≧２）との乗算値と、Ｓ個の周波数領域信号Ｘ（ｋ）（符号化対象信号）にそれぞれ対応する復号第１量子化信号Ｘ＾（ｋ）のパワー｜Ｘ＾（ｋ）｜２の合計値と、の差分を、Ｓ個の周波数領域信号Ｘ（ｋ）のいずれかに対応する振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の個数Ｍで除算した値の平方根である第１再計算値Ｅ−１と、復号量子化正規化基準値Ｘ−とＳとの乗算値と、Ｓ個の周波数領域信号Ｘ（ｋ）にそれぞれ対応する復号第１量子化信号Ｘ＾（ｋ）の振幅値｜Ｘ＾（ｋ）｜の合計値と、の差分を、Ｓ個の周波数領域信号Ｘ（ｋ）のいずれかに対応する振幅値が０の復号第１量子化信号Ｘ＾（ｋ）の個数Ｍで除算した値である第２再計算値Ｅ−2を生成する。そして、第１再計算値Ｅ−１と第２再計算値Ｅ−2との比較、または、いずれか一方が重み付けられた第１再計算値Ｅ−１と第２再計算値Ｅ−2との比較により、第１再計算値Ｅ−１と第２再計算値Ｅ−2の何れか一方を第２正規化基準値Ｅ−、または、その候補として選択する。さらに、第１再計算値Ｅ−１と第２再計算値Ｅ−2の何れか一方を第２正規化基準値Ｅ−の候補と選択する場合には、この第２正規化基準値Ｅ−の候補と復号量子化正規化基準値Ｘ−との比較、または、いずれか一方が重み付けられた第２正規化基準値Ｅ−の候補と復号量子化正規化基準値Ｘ−との比較により、第２正規化基準値Ｅ−の候補と復号量子化正規化基準値Ｘ−の何れか一方を第２正規化基準値Ｅ−として選択する。
【００８８】
以下では、Ｓ＝Ｌとし、第１再計算値Ｅ−１と第２再計算値Ｅ−2の何れか一方を第２正規化基準値Ｅ−の候補と選択する場合の処理を具体的に説明するが、これは本発明を限定するものではない。
【００８９】
＜構成＞
図１２を用いて本変形例の機能構成を説明する。第２実施形態の変形例の符号化器は第２実施形態のものと同じである。第２実施形態の変形例の復号器５００’が第２実施形態の復号器４００’と異なる点は、正規化基準値再計算部５１６だけであり、その他は第２実施形態と同じである。
【００９０】
＜復号処理＞
図１３、図１６、図１７を用いて本変形例の復号処理を説明する。
第２実施形態の変形例の符号化処理は第２実施形態と同じである。第２実施形態の変形例の復号処理が第２実施形態の復号処理と異なる点は、正規化基準値再計算部５１５のステップＳ５１６の処理のみであり、その他は第２実施形態と同じである。
【００９１】
［ステップＳ５１６の処理の例示］
図１６は、図１３のステップＳ５１６の処理を例示するためのフローチャートである。
正規化基準値再計算部５１５は、ｋ＝０、ｔｍｐ＝０、ｔｍｐ２＝０として処理を始める。正規化基準値再計算部５１５は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（Ｓ５１６１）。ステップＳ５１６１での結果がＹｅｓの場合、正規化基準値再計算部５１５は、ｔｍｐに｜Ｘ＾（ｋ）｜２を加算した結果を新たなｔｍｐとし、ｔｍｐ２に｜Ｘ＾（ｋ）｜を加算した結果を新たなｔｍｐ２とする（Ｓ５１６６）。正規化基準値再計算部５１５は、ｋの値を１つ増やし（Ｓ５１６７）、ステップＳ５１６１の処理に戻る。ステップＳ５１６１での結果がＮｏの場合、正規化基準値再計算部５１５は、第１再計算値Ｅ−１と第２再計算値Ｅ−２を
【００９２】
【数７】
2011009868.tif 000009
【００９３】
のように求める（Ｓ５１６８）。正規化基準値再計算部５１５は、Ｅ−１がＥ−２のＡ１倍より大きいかを確認する（「いずれか一方が重み付けられた第１再計算値Ｅ−１と第２再計算値Ｅ−2との比較」に対応）（Ｓ５１６９）。Ａ１は、どちらの候補を選ぶかの基準となる調整用の定数であり、例えばＡ１＝０．５である。ステップＳ５１６８での結果がＹｅｓの場合、第１再計算値Ｅ−１を第２正規化基準値Ｅ−とし（Ｓ５１７０）、ステップＳ５１６８での結果がＮｏの場合、第２再計算値Ｅ−２を第２正規化基準値Ｅ−とする（Ｓ５１７１）。この段階の第２正規化基準値Ｅ−は、最終的な第２正規化基準値Ｅ−の候補である。次に、正規化基準値再計算部５１５は、Ｅ−がＸ−のＡ２倍より小さいかを確認する（「いずれか一方が重み付けられた第２正規化基準値Ｅ−の候補と量子化正規化基準値Ｘ−との比較」に対応）（Ｓ５１７２）。Ａ２は、Ｅ−が矛盾する値となっていないかを確認するための定数であり、例えばＡ２＝１である。正規化基準値再計算部５１５は、ステップＳ５１７２での結果がＹｅｓの場合には、この時点の第２正規化基準値Ｅ−を最終的な第２正規化基準値Ｅ−として処理を終了し、ステップＳ５１７２がＮｏの場合、第２正規化基準値Ｅ−を復号量子化正規化基準値Ｘ−に置き換え（Ｓ５１７３）、処理を終了する。
【００９４】
図１７は、図１３のステップＳ５１６の別の処理を例示するためのフローチャートである。このフローでは値が０の第１量子化信号の数を再度計算している。正規化基準値再計算部５１５は、ｋ＝０、ｍ＝０、ｔｍｐ＝０、ｔｍｐ２＝０として処理を始める。正規化基準値再計算部５１５は、ｋがＬ（周波数領域信号Ｘ（ｋ）の数）よりも小さいかを確認する（５１６１）。ステップＳ５１６１での結果がＹｅｓの場合、正規化基準値再計算部５１５は、ｍがＭより小さいことを確認する（Ｓ５１６２）。ステップＳ５１６２での結果がＹｅｓの場合、正規化基準値再計算部５１５は、Ｘ＾（ｋ）が０かを確認する（Ｓ５１６４）。ステップＳ５１６４での結果がＹｅｓの場合、正規化基準値再計算部５１５は、ｍの値を１つ増やす（Ｓ５１６５）。ステップＳ５１６２、Ｓ５１６４での結果がＮｏの場合、正規化基準値再計算部５１５は、ｔｍｐに｜Ｘ＾（ｋ）｜２を加算した結果を新たなｔｍｐとし、ｔｍｐ２に｜Ｘ＾（ｋ）｜を加算した結果を新たなｔｍｐ２とする（Ｓ５１６６）。正規化基準値再計算部５１５は、ｋの値を１つ増やし（Ｓ５１６７）、ステップＳ５１６１の処理に戻る。Ｓ５１６１での結果がＮｏの場合、正規化基準値再計算部５１５は、第１再計算値Ｅ−１と第２再計算値Ｅ−２を
【００９５】
【数８】
2011009868.tif 000010
のように求める（Ｓ５１６８’）。ステップＳ５１６９からＳ５１７３までの処理は図１６と同じである。
【００９６】
ここで、振幅値が０の第１量子化信号Ｘ＾（ｋ）のパワーは０であることから、図１６の処理フローでも、図１７の処理フローでも、復号量子化正規化基準値Ｘ−の二乗に周波数領域信号Ｘ（ｋ）の数Ｌを乗算し、乗算結果から、復号第１量子化信号Ｘ＾（ｋ）のパワー｜Ｘ＾（ｋ）｜２の合計を減算し、減算結果を値が０の復号第１量子化信号の数Ｍで除算し、除算結果の平方根を第１再計算値Ｅ−１としていることになる。同様に、図１６の処理フローでも、図１７の処理フローでも、復号量子化正規化基準値Ｘ−に周波数領域信号Ｘ（ｋ）の数Ｌを乗算し、乗算結果から、復号第１量子化信号Ｘ＾（ｋ）の絶対値｜Ｘ＾（ｋ）｜の合計を減算し、減算結果を値が０の復号第１量子化信号の数Ｍで除算し、除算結果を第２再計算値Ｅ−２としていることになる。なお、第１再計算値Ｅ−１や第２再計算値Ｅ−2を一般化した表現は前述の通りである。
【００９７】
＜第２実施形態の変形例の特徴＞
この変形例でも第１、２実施形態と同様な効果を得るこができる。また、第１実施形態の変形例と組み合わせた場合には、第１実施形態の変形例と同様な効果を得ることができる。さらに、上述のように、第２実施形態の変形例では、第２正規化基準値Ｅ−をより精度良く計算できるので、信号Ｅ＾（ｍ）の精度が向上し、その結果、復号信号の精度が向上する。
【００９８】
なお、第１実施形態の最後に説明したその他の変形を当該第２の実施形態の変形例に適用してもよく、第２の実施形態の変形例と第１実施形態の変形例とを組み合わせてもよい。
【００９９】
〔第３実施形態〕
第３実施形態は、復号器側の復号量子化正規化基準値を決めるときに、１つ過去のフレーム、サブフレームまたはサブバンド（離散時間区間）の量子化正規化基準値も考慮する点が第１、２実施形態およびそれらの変形例と異なる。本形態は、第１、２実施形態およびそれらの変形例のいずれにも適用可能である。図５に示す復号器６００’は、第１実施形態またはその変形例に第３実施形態を適用した構成を示し、図１２に示す復号器７００’は、第２実施形態またはその変形例に第３実施形態を適用した構成を示す。いずれも、正規化基準値復号部６０７が第１、２実施形態およびそれらの変形例と異なる。
【０１００】
前述の正規化基準値量子化インデックスＣＳは、それぞれ、何れかのフレーム、サブフレームまたはサブバンド（以下「フレーム等」という）に対応する。すなわち、正規化基準値量子化インデックスＣＳは、それぞれ、何れかの離散時間区間に対応する。正規化基準値復号部６０７は、フレーム等ごとに、それに対応する正規化基準値量子化インデックスＣＳで特定される復号正規化基準値を抽出する。正規化基準値復号部６０７は、処理対象のフレーム等よりも１つ前のフレーム等（離散時間区間）に対して抽出された復号量子化正規化基準値Ｘ−Ｐ（復号正規化基準値）が０の場合は、当該処理対象のフレーム等に対して抽出された復号量子化正規化基準値Ｘ−Ｃ（復号正規化基準値）を、当該処理対象のフレーム等に対する復号量子化正規化基準値Ｘ−として出力し、当該１つ前のフレーム等に対して抽出された復号量子化正規化基準値Ｘ−Ｐ（復号正規化基準値）が０でない場合は、当該処理対象のフレーム等に対して抽出された復号量子化正規化基準値Ｘ−Ｃ（復号正規化基準値）と当該１つ前の離散時間区間に対して抽出された復号量子化正規化基準値Ｘ−Ｐ（復号正規化基準値）との加重加算結果
Ｘ−＝αＸ−Ｃ＋βＸ−Ｐ      （１１）
を、当該処理対象のフレーム等に対する復号量子化正規化基準値Ｘ−として出力する。αとβは調整係数を表し、例えばそれぞれ０．５とすればよい。その他は、第１、２実施形態およびそれらの変形例と同じである。
【０１０１】
＜第３実施形態の特徴＞
本形態でも、その組み合わせに応じ、第１、２実施形態およびそれらの変形例と同様な効果を得るこができる。また、本形態では、復号側において、１つ過去のフレームまたはサブバンドの復号量子化正規化基準値Ｘ−Ｐが０以外のときに、その量子化正規化基準値Ｘ−Ｐと現在の処理対象のフレームまたはサブバンドの復号量子化正規化基準値Ｘ−Ｃと加重加算結果を、当該処理対象のフレームまたはサブバンドに対する復号量子化正規化基準値Ｘ−とするため、復号量子化正規化基準値Ｘ−のフレーム等ごとの変化量が小さくなり、ミュージカルノイズをより軽減することができる。
【０１０２】
なお、第１実施形態の最後に説明したその他の変形を第３の実施形態に適用してもよく、第３の実施形態と第１、２実施形態やそれらの変形例とを組み合わせてもよい。
【０１０３】
〔実験結果〕
第１実施形態の方法での効果を確認するため、実験を行った。図１８は、クラシック音楽のみを対象とするときの実験結果を示す図であり、図１９は、歌付きのクラシック音楽が流れているときの実験結果を示す図であり、図２０は、歌付きのポップス音楽が流れているときの実験結果を示す図である。各図とも、横軸は時間（秒）、縦軸は
【０１０４】
【数９】
2011009868.tif 000011
を示しており、上の方ほど品質がよい。また、点線は従来の方法で符号化、復号した場合、実線は第１実施形態の方法で符号化、復号した場合を示している。なお、符号化対象信号は、ＭＤＣＴ(Modified Discrete Cosine Transform)で周波数領域に変換された周波数領域信号である。どの実験結果でも、第１実施形態の方法で符号化、復号した方が品質がよいことが分かる。このことからも、本発明が限られたビット数での効率的なベクトル量子化を実現できることが分かる。
【０１０５】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、１つの機能ブロックが実行する処理を複数の機能ブロックで実行してもよく、複数の機能ブロックが実行する処理を一つの機能ブロックで実行してもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１０６】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１０７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１０８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０１１１】
１００〜３００  符号化器
１００’〜６００’  復号器
【図１】
2011009868.tif 000012
【図２】
2011009868.tif 000013
【図３】
2011009868.tif 000014
【図４】
2011009868.tif 000015
【図５】
2011009868.tif 000016
【図６】
2011009868.tif 000017
【図７】
2011009868.tif 000018
【図８】
2011009868.tif 000019
【図９】
2011009868.tif 000020
【図１０】
2011009868.tif 000021
【図１１】
2011009868.tif 000022
【図１２】
2011009868.tif 000023
【図１３】
2011009868.tif 000024
【図１４】
2011009868.tif 000025
【図１５】
2011009868.tif 000026
【図１６】
2011009868.tif 000027
【図１７】
2011009868.tif 000028
【図１８】
2011009868.tif 000029
【図１９】
2011009868.tif 000030
【図２０】
2011009868.tif 000031