(57)【要約】  第１基準値よりも小さなサンプルの個数が第２基準値よりも小さい又は第２基準値以下である場合に、各サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり各サンプルの値が正の場合にはその減算値を各サンプルに対応する量子化対象値とし、減算値が正であり各サンプルの値が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値とし、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、第２符号化方式を選択しない場合に別の第１符号化方式を選択する。
2012005210.tif 000002
【特許請求の範囲】
【請求項１】
入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプルの個数に対応する評価値が第２基準値よりも小さい又は前記第２基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、前記第２符号化方式を選択しない場合に別の第１符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択ステップと、
前記符号化方式選択ステップで選択された前記第１符号化方式又は前記第２符号化方式で前記所定個数のサンプルを符号化する符号化ステップと、
を有する符号化方法。
【請求項２】
請求項１の符号化方法であって、
前記評価値の少なくとも一部は、前記サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数と、前回計算された評価値と、の重み付き加算値である、
ことを特徴とする符号化方法。
【請求項３】
請求項１又は２の符号化方法であって、
前回の所定個数のサンプルが前記第１符号化方式で符号化された場合の前記第２基準値の大きさは、前回の所定個数のサンプルが前記第２符号化方式で符号化された場合の前記第２基準値の大きさよりも小さい、
ことを特徴とする符号化方法。
【請求項４】
請求項３の符号化方法であって、
前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数に対応する値である、
ことを特徴とする符号化方法。
【請求項５】
請求項１又は２の符号化方法であって、
前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数に対応する値である、
ことを特徴とする符号化方法。
【請求項６】
請求項１の符号化方法であって、
前記第１符号化方式は、前記所定個数のサンプルのうち一部のサンプルに対応する量子化値が０以外となり、残りのサンプルに対応する量子化値が０となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
ことを特徴とする符号化方法。
【請求項７】
請求項１の符号化方法であって、
前記第１符号化方式は、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、前記所定個数のサンプルを前記量子化正規化値で正規化して得られる所定個数の正規化サンプルを、前記所定個数の正規化サンプルのうち一部の正規化サンプルに対応する量子化値が０以外となり、残りの正規化サンプルに対応する量子化値が０となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
ことを特徴とする符号化方法。
【請求項８】
請求項１の符号化方法であって、
前記第２符号化方式は、前記減算値が正でない場合に０を前記各サンプルに対応する量子化対象値とする処理を含む方式である、
ことを特徴とする符号化方法。
【請求項９】
入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各前記復号値が０の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、前記モード情報が第１値である場合に別の第１復号方式を選択する切り替えステップと、
前記切り替えステップで選択された前記第１復号方式又は前記第２復号方式で復号処理を行う復号ステップと、
を有する復号方法。
【請求項１０】
入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプルの個数に対応する評価値が第２基準値よりも小さい又は前記第２基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、前記第２符号化方式を選択しない場合に別の第１符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択部と、
前記符号化方式選択部で選択された前記第１符号化方式又は前記第２符号化方式で前記所定個数のサンプルを符号化する符号化部と、
を有する符号化装置。
【請求項１１】
請求項１０の符号化装置であって、
前記評価値の少なくとも一部は、前記サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数と、前回計算された評価値と、の重み付き加算値である、
ことを特徴とする符号化装置。
【請求項１２】
請求項１０又は１１の符号化装置であって、
前回の所定個数のサンプルが前記第１符号化方式で符号化された場合の前記第２基準値の大きさは、前回の所定個数のサンプルが前記第２符号化方式で符号化された場合の前記第２基準値の大きさよりも小さい、
ことを特徴とする符号化装置。
【請求項１３】
請求項１２の符号化装置であって、
前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数に対応する値である、
ことを特徴とする符号化装置。
【請求項１４】
請求項１０又は１１の符号化装置であって、
前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第１基準値よりも小さなサンプルの個数に対応する値である、
ことを特徴とする符号化装置。
【請求項１５】
請求項１０の符号化装置であって、
前記第１符号化方式は、前記所定個数のサンプルのうち一部のサンプルに対応する量子化値が０以外となり、残りのサンプルに対応する量子化値が０となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
ことを特徴とする符号化装置。
【請求項１６】
請求項１０の符号化装置であって、
前記第１符号化方式は、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、前記所定個数のサンプルを前記量子化正規化値で正規化して得られる所定個数の正規化サンプルを、前記所定個数の正規化サンプルのうち一部の正規化サンプルに対応する量子化値が０以外となり、残りの正規化サンプルに対応する量子化値が０となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
ことを特徴とする符号化装置。
【請求項１７】
請求項１０の符号化装置であって、
前記第２符号化方式は、前記減算値が正でない場合に０を前記各サンプルに対応する量子化対象値とする処理を含む方式である、
ことを特徴とする符号化装置。
【請求項１８】
入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各上記復号値が０の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、前記モード情報が第１値である場合に別の第１復号方式を選択する切り替え部と、
前記切り替え部で選択された前記第１復号方式又は前記第２復号方式で復号処理を行う復号部と、
を有する復号装置。
【請求項１９】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項２０】
請求項９の復号方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項２１】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項２２】
請求項９の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば音声や音楽などの音響、映像等の信号系列をベクトル量子化により符号化または復号する技術に関する。
【背景技術】
【０００２】
特許文献１に記載された符号化装置では、入力信号はまず正規化値で割算され正規化される。正規化値は量子化され、量子化インデックスが生成される。正規化された入力信号はベクトル量子化され、量子化代表ベクトルのインデックスが生成される。生成された量子化インデックスおよび量子化代表ベクトルは、復号装置に出力される。【０００３】
復号装置では、量子化インデックスが復号され正規化値が生成される。また、量子化代表ベクトルのインデックスが復号されてサンプル列が生成される。生成されたサンプル列のそれぞれのサンプルに正規化値を乗算した値の列が復号信号サンプル列となる。【０００４】
ベクトル量子化には、例えば、所定個数のサンプルの正規化された値に対して、非特許文献１に記載されたAVQ法（Algebraic Vector Quantization）等の予め設定された量子化ビット数の範囲内でパルスを立ててったものを量子化代表ベクトルとするベクトル量子化方法、すなわち、所定個数のサンプルのうち一部のサンプルに対してのみサンプルの値を表わすためのビットが割り当てられ０以外の量子化値が得られ、残りのサンプルに対してはサンプルの値を表わすためのビットが割り当てられず０が量子化値となる量子化代表ベクトルを得るベクトル量子化方法、が用いられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２６１８００号公報
【非特許文献】
【０００６】
【非特許文献１】Recommendation ITU-T G.718, SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS, Digital terminal equipments - Coding of voice and audio signals, Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のベクトル量子化を採用した符号化装置とこれに対応する復号装置では、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足すると、入力信号に存在するはずの周波数成分が復号信号には存在しない（復号信号から周波数成分が欠損する）という頻度が高くなる。入力信号に存在する周波数成分のうち復号信号で欠損した周波数成分をスペクトルホールと呼ぶ。スペクトルホールが発生した場合、復号信号の或る周波数成分の有無が時間的に不連続に変化する頻度が高くなる。人間は、このような周波数成分の有無の時間的に不連続な変化に敏感であり、入力信号が例えば音響信号である場合、このような変化はミュージカルノイズと呼ばれるノイズとして知覚される場合がある。また、入力信号が映像信号である場合には、音響信号でいうところのミュージカルノイズに相当するような、ブロックノイズが発生する場合がある。【０００８】
一方、量子化に必要なビット数は入力信号の種類に応じて異なり、入力信号の種類によっては、上述の符号化装置と復号装置との構成でもミュージカルノイズやブロックノイズ（以下、ミュージカルノイズ及びブロックノイズを総称して「ミュージカルノイズ等」と呼ぶ）がさほど問題とならず、符号化精度の面からは、むしろ上述の符号化装置と復号装置との構成が好ましい場合もある。
このように、入力信号の種類に応じて最適な符号化方式および復号方式は異なる。このような問題は入力信号が周波数領域の信号である場合だけではなく、入力信号が時間領域の信号である場合にも生じ得るものである。【０００９】
本発明は、このような課題に鑑みてなされたものであり、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
符号化においては、入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプルの個数に対応する評価値が第２基準値よりも小さい又は第２基準値以下である場合に、所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり各サンプルの値が正の場合にはその減算値を各サンプルに対応する量子化対象値とし、減算値が正であり各サンプルの値が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値とし、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、第２符号化方式を選択しない場合に別の第１符号化方式を選択し、選択した符号化方式を表すモード情報を生成し、選択した第１符号化方式又は第２符号化方式で所定個数のサンプルを符号化する。【００１１】
復号においては、入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各復号値が０の場合には所定個数の復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値を用い、各復号値が正の場合には各復号値と復号正規化値との線形和を復号信号に対応する大きさを持つ値を復号信号とし、各復号値が負の場合には各復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、モード情報が第１値である場合に別の第１復号方式を選択し、選択した第１復号方式又は第２復号方式で復号処理を行う。
【発明の効果】
【００１２】
値の大きなサンプルが多い場合にはスペクトルホールが生じ、ミュージカルノイズ等が発生しやすい。本発明の符号化では、評価値の大きさによってミュージカルノイズ等の発生しやすさを推定し、ミュージカルノイズ等が発生しやすい場合には、AVQ法等のベクトル量子化では量子化の対象とならないサンプルを含む主要サンプルについて積極的に量子化する符号化方式を選択し、選択した符号化方式を表すモード情報を生成する。これにより、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減可能な符号化が可能となる。本発明の復号では、モード情報に応じた復号方法で復号処理を行うため、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる。
【図面の簡単な説明】
【００１３】
【図１】図１は符号化装置および復号装置の例の機能ブロック図である。
【図２】図２は第２符号化部の例の機能ブロック図である。
【図３】図３は第２復号部の機能ブロック図である。
【図４】図４は符号化方法の例の流れ図である。
【図５】図５はステップＥ３の例の流れ図である。
【図６】図６はステップＥ３の例の流れ図である。
【図７】図７はステップＥ３の例の流れ図である。
【図８】図８はステップＥ３の例の流れ図である。
【図９】図９はステップＥ３の例の流れ図である。
【図１０】図１０はステップＥ３の例の流れ図である。
【図１１】図１１はステップＥ６の例の流れ図である。
【図１２】図１２はステップＥ６２の例の流れ図である。
【図１３】図１３はステップＥ６５の例の流れ図である。
【図１４】図１４は復号方法の例の流れ図である。
【図１５】図１５はステップＤ４の例の流れ図である。
【図１６】図１６はステップＤ４３の例の流れ図である。
【図１７】図１７はステップＤ４４，Ｄ４４’の例の流れ図である。
【図１８】図１８はステップＤ４４，Ｄ４４’の例の流れ図である。
【図１９】図１９はステップＤ４４’の例の流れ図である。
【図２０】図２０はステップＤ４３，Ｄ４４，Ｄ４４’の例の流れ図である。
【図２１】図２１はステップＤ４３，Ｄ４４，Ｄ４４’の例の流れ図である。
【発明を実施するための形態】
【００１４】
以下、この発明の一実施形態を詳細に説明する。
＜原理＞
符号化処理では、入力信号からなる所定個数のサンプルがスパースであるか否かが判定され、スパースでないと判定された場合には、ミュージカルノイズ等を軽減する処理を含む符号化方式によって当該サンプルが符号化される。一方、スパースであると判定された場合には、例えば、ミュージカルノイズ等を軽減する処理を含まない符号化方式によって当該サンプルが符号化される。復号処理では、符号化方式を特定するためのモード情報とを入力とし、モード情報を用いて復号方式が特定され、特定された復号方式によって符号が復号される。なお、所定個数のサンプルがスパースであるとは、当該所定個数のサンプルのうち振幅が小さなものが多いことを意味する。例えば、一部のサンプルの振幅値のみが大きく、他の多くのサンプルの振幅値がほぼ０の場合を指す。
【００１５】
所定個数のサンプルがスパースでない場合、当該所定個数のサンプルの量子化に必要なビット数が多くなる傾向がある。この場合、量子化に必要なビット数に対して予め定められた量子化ビット数が不足する頻度が高くなり、ミュージカルノイズ等の問題が顕著になる場合が多い。よって、スパースでない場合にはミュージカルノイズ等を軽減させることが可能な符号化方式および復号方式が用いられることが望ましい。
【００１６】
一方、所定個数のサンプルがスパースである場合、当該所定個数のサンプルの量子化に必要なビット数が少なくなる傾向がある。この場合には、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足する頻度が低くなり、ミュージカルノイズ等はさほど問題にならない場合が多い。よって、スパースである場合にはミュージカルノイズ等を軽減するための処理を行う必要性は低く、ミュージカルノイズ等を軽減する処理を含まない符号化方式によって入力信号が符号化されてもよい。
【００１７】
このことを具体例によって説明する。まず、スパースであるか否かによって選択される符号化方式および復号方式を例示する。以下では、スパースである場合の符号化方式および復号方式を第１符号化方式および第１復号方式と表し、これらをまとめて第１方式と表す。スパースでない場合の符号化方式および復号方式を第２符号化方式および第２復号方式と表し、これらをまとめて第２方式と表す。第１方式に対応するモード情報ｓを０とし、第２方式に対応するモード情報ｓを１とする。
【００１８】
＜第１方式（ｓ＝０）＞
第１方式の例は、所定個数のサンプルそれぞれを量子化正規化値で正規化したサンプル列に対して、非特許文献１のAVQ法等の予め設定された量子化ビット数の範囲内でパルスを立てていくベクトル量子化方式である。
この例の第１符号化方式では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。入力された所定個数のサンプルを量子化正規化値で割り算（正規化）されたサンプル列は、所定個数のサンプルのうち一部のサンプルに対してのみ０以外の量子化値が得られ、残りのサンプルに対しては０が量子化値となるベクトル量子化方式でベクトル量子化され、ベクトル量子化インデックスが生成される。
【００１９】
なお、入力された所定個数のサンプルによるサンプル列に対して、所定個数のサンプルのうち一部のサンプルに対してのみ０以外の量子化値であり、残りのサンプルに対しては０が量子化値である、複数のサンプル列のうち相関が高いサンプル列を量子化代表ベクトルとしてそのインデックスを生成し、入力された所定個数のサンプルによるサンプル列と量子化代表ベクトルに量子化正規化値を乗算したサンプル列との誤差が最小となるように量子化正規化値を表わす正規化値量子化インデックスを求めてもよい。
この例の第１復号方式では、正規化値量子化インデックスが復号され正規化値が生成される。また、ベクトル量子化インデックスが復号されてサンプル列が生成される。生成されたサンプル列のそれぞれのサンプルに正規化値を乗算した値の列が復号信号サンプル列となる。
【００２０】
＜第２方式（ｓ＝１）の例１＞
第２符号化方式の例１では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。各サンプルごとに、当該サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり当該サンプルの値が正の場合にはその減算値を当該サンプルに対応する量子化対象値とし、減算値が正であり当該サンプルの値が負の場合にはその減算値の正負を反転させた値を当該サンプルに対応する量子化対象値とする。上記減算値が正でない場合には各サンプルに対応する量子化対象値が０とされる。そして、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める。ベクトル量子化には、例えば、所定個の量子化対象値に対して、非特許文献１に記載されたAVQ法等の予め設定された量子化ビット数の範囲内でパルスを立ててったものを量子化代表ベクトルとするベクトル量子化方法、すなわち、所定個の量子化対象値のうち一部の量子化対象値に対してのみその値を表わすためのビットが割り当てられて０以外の量子化値が得られ、残りの量子化対象値に対してはその値を表わすためのビットが割り当てられず０が量子化値となる量子化代表ベクトルに対応するベクトル量子化インデックスを得るベクトル量子化方法、が用いられる。なお、AVQ法の場合には量子化対象値０に対応する量子化値が必ず０となる。
【００２１】
第２復号方式の例１では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が０である場合には正規化値再計算値と第一定数との積の正負をランダムに反転させた値（正規化値再計算値に対応する大きさを持つ値）を復号信号とした復号信号の列を復号信号サンプル列とする。
【００２２】
第２符号化方式の例１では、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、ミュージカルノイズ等を低減することができる。
第２復号方式の例１では、復号値が０の場合には、正規化値再計算値を用いて０ではない値を適宜割り当てるため、入力信号が例えば周波数領域信号である場合に生じ得るスペクトルホールをなくすことができる。これにより、ミュージカルノイズ等を軽減することができる。
【００２３】
＜第２方式（ｓ＝１）の例２＞
以下のような第２方式が用いられてもよい。
第２符号化方式の例２では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。各サンプルごとに、当該サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり当該サンプルの値が正の場合にはその減算値を当該サンプルに対応する量子化対象値とし、減算値が正であり当該サンプルの値が負の場合にはその減算値の正負を反転させた値を当該サンプルに対応する量子化対象値とする。そして量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める。さらに、ベクトル量子化インデックスに対応する符号用に割り当てられたビット数のうち実際にベクトル量子化インデックスに対応する符号に用いられなかったビット数だけ、減算値を正にしない各サンプルの正負を表す正負符号情報を出力する。なお、ベクトル量子化方法は第２方式の例１と同じであり、上記の減算値が正でない場合には各サンプルに対応する量子化対象値が０とされる。
【００２４】
第２復号方式の例２では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が０であって当該復号値に対応する正負符号情報が入力された場合には、正規化値再計算値と第一定数との積に正負符号情報が表す正負を付した値（正規化値再計算値に対応する大きさを持つ値）を復号信号とする。各復号値が０であって当該復号値に対応する正負符号情報が入力されない場合には、正規化値再計算値と第一定数との積の正負をランダムに反転させた値（正規化値再計算値に対応する大きさを持つ値）を復号信号とした復号信号の列を復号信号サンプル列とする。
【００２５】
第２符号化方式の例２でもスペクトルホールの発生を防止することができ、ミュージカルノイズ等を低減することができる。さらに第２符号化方式の例２では、未使用ビット領域を利用して正負符号情報を伝送できるため、復号信号の品質を向上できる。
第２復号方式の例２でもスペクトルホールをなくすことができ、ミュージカルノイズ等を軽減することができる。さらに第２復号方式の例２では、入力された正負符号情報を用いることで復号信号の品質を向上できる。
【００２６】
＜サンプルの性質と最適な方式との関係＞
第１方式はミュージカルノイズ等を軽減する対策が施されていないのに対し、第２方式はミュージカルノイズ等を軽減する対策が施されている。
しかしながら、入力された所定個数のサンプルがスパースである場合、ミュージカルノイズ等はほとんど問題とならない。また、第２方式では、復号値が０の場合には正規化値再計算値を用いて０ではない値を適宜割り当てるため、入力された所定個数のサンプルがスパースである場合に第１方式よりも符号化精度が悪くなる。
【００２７】
以上のように各方式は得手不得手があり、入力された所定個数のサンプルがスパースであるか否かによって方式を使い分けることが望ましい。具体的には、入力された所定個数のサンプルがスパース（例えばグロッケンシュピールの周波数領域信号）である場合には、ミュージカルノイズ等はほとんど問題とならないため、第２方式よりも第１方式を用いる方が、高い精度で符号化できる。一方、入力された所定個数のサンプルがスパースでない場合（例えば、音声や多重音源の楽音、環境雑音など）には、ミュージカルノイズ等が問題となるため、第１方式よりも第２方式を用いる方が望ましい。
【００２８】
このように入力されたサンプルの性質に応じて方式を選択することにより、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうち値の大きなサンプル全てを量子化対象としきれない場合であっても、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる。
【００２９】
＜構成＞
図１に例示するように、実施形態の符号化装置１１は、正規化値計算部１１２、正規化値量子化部１１３、符号化方式選択部１１４、切り替え部１１５，１１６、第１符号化部１１７および第２符号化部１１８を例えば含む。図１に例示すように、実施形態の復号装置１２は、正規化値復号部１２３、切り替え部１２５，１２６、第１復号部１２７および第２復号部１２８を例えば含む。必要に応じて、符号化装置１１は、周波数領域変換部１１１を例えば含んでいてもよい。復号装置１２は、時間領域変換部１２１を例えば含んでいてもよい。
【００３０】
第１符号化部１１７は、第１符号化方式（例えば前述の第１方式）によって符号化を行う処理部である。第２符号化部１１８は、図２に例示するように、量子化対象計算部１１８１およびベクトル量子化部１１８２を含む。必要に応じて、第２符号化部１１８は、量子化対象正規化値計算部１１８３、正負符号情報出力部１１８４を含んでもよい。また、ベクトル量子化部１１８２の代わりにベクトル量子化部１１８２’を含んでもよい。
【００３１】
第１復号部１２７は、第１復号方式（例えば前述の第１方式）によって復号を行う処理部である。第２復号部１２８は、図３に例示するように、正規化値再計算部１２８１、ベクトル復号部１２８２および合成部１２８３を例えば含む。必要に応じて、第２復号部１２８は、復号対象正規化値計算部１２８４、平滑化部１２８５を含んでもよい。また、正規化値再計算部１２８１の代わりに正規化値再計算部１２８７を含んでもよく、ベクトル復号部１２８２の代わりにベクトル復号部１２８２’を含んでもよく、合成部１２８３の代わりに合成部１２８３’を含んでもよい。また、第２復号部１２８は、合成部１２８３，１２８３’および正規化値再計算部１２８１，１２８７の代わりに合成部１２８６を含んでもよい。
【００３２】
＜符号化処理＞
符号化装置１１（図１）は図４に例示する符号化方法の各ステップを実行する。
入力信号Ｘ（ｋ）は、正規化値計算部１１２、符号化方式選択部１１４および切り替え部１１５に入力される。この例の入力信号Ｘ（ｋ）は、音声信号や音響信号や画像信号などの時系列信号である時間領域信号ｘ（ｎ）を周波数領域に変換して得られる周波数領域信号である。周波数領域の入力信号Ｘ（ｋ）が符号化装置１１に直接入力されてもよいし、周波数領域変換部１１１が入力された時間領域信号ｘ（ｎ）を周波数領域に変換して周波数領域の入力信号Ｘ（ｋ）を生成してもよい。周波数領域変換部１１１が周波数領域の入力信号Ｘ（ｋ）を生成する場合、周波数領域変換部１１１は、入力された時間領域信号ｘ（ｎ）を、例えばＭＤＣＴ（Modified Discrete Cosine Transform）により周波数領域の入力信号Ｘ（ｋ）に変換して出力する。ｎは時間領域での信号の番号（離散時間番号）であり、ｋは周波数領域での信号（サンプル）の番号（離散周波数番号）である。ｋの値が大きいほど高い周波数に対応する。１フレームがＬ個のサンプルで構成されているとして、時間領域信号ｘ（ｎ）はフレームごとに周波数領域に変換され、Ｌ個の周波数成分を構成する周波数領域の入力信号Ｘ（ｋ）（ｋ＝０，１，…，Ｌ−１）が生成される。Ｌは所定の正の整数、例えば６４や８０である。
【００３３】
正規化値計算部１１２は、フレームごとに、入力された入力信号Ｘ（ｋ）のＬ個のサンプルのうちの所定個数Ｃ０のサンプルを代表する値である正規化値τＸ０−を計算する（ステップＥ１）。τＸ０−は、τＸ０の上付きバーを意味する。
Ｃ０は、Ｌ、または、１およびＬ以外のＬの公約数である。なお、Ｃ０をＬとすることは、Ｌ個のサンプルごとに正規化値を求めることを意味する。Ｃ０をＬの公約数にすることは、Ｌ個のサンプルをサブバンドに分割して、各サブバンドを構成するＣ０個のサンプルごとに正規化値を求めることを意味する。例えば、Ｌ＝６４であり、８個の周波数成分でサブバンドを構成するとした場合には、８個のサブバンドが構成され、各サブバンドの正規化値が計算されることになる。また、Ｃ０がＬである場合τ＝０であり、正規化値τＸ０−はＬ個のサンプルを代表する値である。すなわち、Ｃ０がＬである場合、フレームごとに１つの正規化値τＸ０−が計算される。一方、Ｃ０が１及びＬ以外のＬの公約数である場合、τは１フレーム中の各サブバンドに対応する整数τ＝０，…，(L/Ｃ０)-1であり、正規化値τＸ０−はτに対応するサブフレームに属するＣ０個のサンプルを代表する値である。すなわち、Ｃ０が１及びＬ以外のＬの公約数である場合、フレームごとに(L/Ｃ０)個の正規化値τＸ０−（τ＝０，…，(L/Ｃ０)-1）が計算される。また、Ｃ０の値にかかわらずｋ＝τ・Ｃ０，・・・，（τ＋１）・Ｃ０−１である。正規化値計算部１１２で計算されたτＸ０−は、正規化値量子化部１１３に送られる。
【００３４】
［正規化値τＸ０−の具体例］
正規化値τＸ０−は、Ｃ０個のサンプルを代表する値である。言い換えると、正規化値τＸ０−は、Ｃ０個のサンプルに対応する値である。正規化値τＸ０−の例は、以下のようなＣ０個のサンプルのパワー平均値に対する平方根である。
【数１】
2012005210.tif 000003
【００３５】
正規化値τＸ０−の他の例は、以下のようなＣ０個のサンプルのパワー合計値に対する平方根をＣ０で除した値である。
【数２】
2012005210.tif 000004
【００３６】
正規化値τＸ０−のさらに他の例は、以下のようなＣ０個のサンプルの平均振幅値である。
【数３】
2012005210.tif 000005
その他の正規化値τＸ０−が用いられてもよい（［正規化値τＸ０−の具体例］の説明終わり）。
【００３７】
正規化値量子化部１１３は、正規化値τＸ０−を量子化した量子化正規化値τＸ−およびその量子化正規化値τＸ−に対応する正規化値量子化インデックス（ｎｑｉ）を求める（ステップＥ２）。τＸ−は、τＸの上付きバーを意味する。量子化正規化値τＸ−は、符号化方式選択部１１４、第１符号化部１１７および第２符号化部１１８に送られ、正規化値量子化インデックスに対応する符号（ビットストリーム）が復号装置１２に送られる。
【００３８】
符号化方式選択部１１４は、入力信号からなる所定個数のサンプルがスパースであるか否かを判定し、スパースであれば第１符号化方式を表す第１モード情報（ｓ＝０）を出力し、スパースでなければ第２符号化方式を表す第２モード情報（ｓ＝１）を出力する。本形態の場合、符号化方式選択部１１４は、所定個数の正規化された入力信号サンプルのうち、大きさが閾値よりも小さなサンプルの個数、または、大きさが閾値以下のサンプルの個数に基づき、当該所定個数の正規化された入力信号サンプルに対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報ｓを出力する（ステップＥ３）。
【００３９】
［ステップＥ３の具体例１］
ステップＥ３の具体例１では、図５に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部１１４は、ｋ＝０，ｍ＝０とすることでｋおよびｍの値を初期化する（ステップＥ３１）。
【００４０】
符号化方式選択部１１４は、ｋとＬとを比較し（ステップＥ３２）、ｋ＜ＬであればステップＥ３３に進み、ｋ＜ＬでなければステップＥ３７に進む。なお、「δとηとを比較する」場合の比較方法に限定はなく、δとηとの大小関係を判定できるのであればどのような比較方法を用いてもよい。例えば、δ＜ηを満たすか否かを知るためにδとηとを比較する処理は、δ＜ηを満たすか否かを判定する処理でも、０＜η−δを満たすか否かを判定する処理でも、δ≧ηを満たすか否かを判定する処理でも、０≧η−δを満たすか否かを判定する処理でもよい。
【００４１】
ステップＥ３３では、符号化方式選択部１１４は、τＸ−を用いてＸ（ｋ）を正規化して正規化値Ｘ〜（ｋ）を生成する（ステップＥ３３）。なお、Ｘ〜はＸの上付きチルダを意味する。例えば、符号化方式選択部１１４は、以下の式のようにＸ（ｋ）をτＸ−で割った値を正規化値Ｘ〜（ｋ）とする。
【数４】
2012005210.tif 000006
【００４２】
符号化方式選択部１１４は、Ｘ〜（ｋ）の絶対値｜Ｘ〜（ｋ）｜（サンプルに対応する値の大きさ）を計算し、｜Ｘ〜（ｋ）｜と所定の閾値Ｔｈ（第１基準値）とを比較し（ステップＥ３４）、｜Ｘ〜（ｋ）｜＜Ｔｈであれば符号化方式選択部１１４は、ｍを１だけインクリメントし（ｍ＋１を新たなｍの値とすることでｍの値を更新して）（ステップＥ３５）、ｋを１だけインクリメントして（ステップＥ３６）、ステップＥ３２に進む。｜Ｘ〜（ｋ）｜＜Ｔｈでなければ符号化方式選択部１１４は、ｍをインクリメントすることなくｋを１だけインクリメントして（ステップＥ３６）ステップＥ３２に進む。なお、閾値Ｔｈの正定数であり、例えばＴｈ＝０．５である。
【００４３】
ステップＥ３２でｋ＜Ｌでないとされると、符号化方式選択部１１４は、カウント値ｍと前回計算されたカウント値ｍ＝’（前回計算された評価値）との重み付き加算値を平滑化カウント値ｍ＝（評価値）とする（ステップＥ３７）。なお、ｍ＝はｍの上付きダブルバーを意味する。例えば、符号化方式選択部１１４は、以下の式によって平滑化カウント値ｍ＝を求める。εとσは調整定数であり、求める性能および仕様に応じて適宜決定される。例えば、εとσはε＋σ＝１を満たす正定数である。例えば、ε＝０．３、σ＝０．７である。
【数５】
2012005210.tif 000007
【００４４】
この平滑化により、スパースであるか否かの判定結果がフレーム間で異なる頻度を減らすことができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、前回計算されたカウント値ｍ＝’は、１フレーム過去に符号化方式選択部１１４で計算された平滑化前のカウント値または平滑化カウント値である。また、前回計算された平滑化カウント値ｍ＝’が０の場合、符号化方式選択部１１４がカウント値ｍの平滑化を行わず、ｍ＝＝ｍとしてもよい。さらに、前回計算された平滑化カウント値ｍ＝’が０であるか否かにかかわらずカウント値ｍの平滑化を行わず、ｍ＝＝ｍとしてもよい。
【００４５】
符号化方式選択部１１４は、第２基準値ｔが閾値ＴＭＩＮであるか否かを判定し（ステップＥ３８）、ｔがＴＭＩＮである場合ｍ＝とｔとを比較し（ステップＥ３９）、ｍ＝＞ｔであれば、ｓ＝０としてモード情報ｓ＝０を出力し（ステップＥ３１０）、ステップＥ３の処理を終える。なお、ＴＭＩＮは所定の正の定数である。ｔの初期値は例えばＴＭＩＮである。また、「δが０であるか否かを判定する」場合の判定方法に限定はなく、δが０であるか否かに対応する判定がなされればよい。例えば、δ＝０であるかを判定してδが０であるか否かを判定してもよいし、δ＝γ（γ≠０）であるかを判定してδが０であるか否かを判定してもよいし、δ＞０およびδ＜０を満たすか否かを判定することでδが０であるか否かを判定してもよい。ステップＥ３９でｍ＝＞ｔでなければ、符号化方式選択部１１４はｓ＝１、ｔ＝ＴＭＡＸとして、モード情報ｓ＝１を出力し（ステップＥ３１１）、ステップＥ３の処理を終える。なお、ＴＭＡＸは閾値であり、ＴＭＩＮより大きな所定の正の定数である。
【００４６】
ステップＥ３８でｔがＴＭＩＮでないとされた場合、符号化方式選択部１１４はｍ＝とｔとを比較し（ステップＥ３１２）、ｍ＝＜ｔであれば、ｓ＝１としてモード情報ｓ＝１を出力し（ステップＥ３１３）、ステップＥ３の処理を終える。ｍ＝＜ｔでなければ、符号化方式選択部１１４はｓ＝０、ｔ＝ＴＭＩＮとして、モード情報ｓ＝０を出力し（ステップＥ３１４）、ステップＥ３の処理を終える。
ステップＥ３８以降の処理により、１フレーム過去と元フレームとでスパースか否かの判定結果（ｓ＝０であるか１であるか）が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。言い換えると、ステップＥ３８以降の処理により、前回の所定個数のサンプルが第１符号化方式で符号化（ｓ＝０）された場合の第２基準値ｔの大きさが、前回の所定個数のサンプルが第２符号化方式（ｓ＝１）で符号化された場合の第２基準値ｔの大きさよりも小さくなる。これにより、前回と今回とで符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、Ｃ０＝Ｌである場合における「前回の所定個数のサンプル」は、１フレーム過去のフレームに属する各サンプルである。Ｃ０が１およびＬ以外のＬの約数である場合における「前回の所定個数のサンプル」は、同じサブバンドに属する１フレーム前のサンプルであってもよいし、同じフレームの連続する前または後のサブバンドのサンプルであってもよい。
【００４７】
［ステップＥ３の具体例２］
ステップＥ３の具体例２では、図５に例示するように、最初にｓ＝０に設定され（ステップＥ３１４’）、その後のステップＥ３１〜Ｅ３８はステップＥ３の具体例１と同じである。
【００４８】
ステップＥ３８でｔがＴＭＩＮであるとされた場合、符号化方式選択部１１４はモード情報をｓ＝１に更新し（ステップＥ３１１’）、ｍ＝とｔとを比較し（ステップＥ３９）、ｍ＝＞ｔであればｓ＝０としてモード情報ｓ＝０を出力し（ステップＥ３１０）、ステップＥ３の処理を終える。ｍ＝＞ｔでなければ、符号化方式選択部１１４はｔ＝ＴＭＡＸとしてモード情報ｓ＝１を出力し（ステップＥ３１１’’）、ステップＥ３の処理を終える。
【００４９】
ステップＥ３８でｔがＴＭＩＮでないと判定された場合、符号化方式選択部１１４はｍ＝とｔとを比較し（ステップＥ３１２）、ｍ＝＜ｔであれば、ｓ＝１としてモード情報ｓ＝１を出力し（ステップＥ３１３）、ステップＥ３の処理を終える。ｍ＝＜ｔでなければ、符号化方式選択部１１４はｔ＝ＴＭＩＮとしてモード情報ｓ＝０を出力し（ステップＥ３１４’’）、ステップＥ３の処理を終える。
【００５０】
［ステップＥ３の具体例３］
ステップＥ３の具体例３では、図６に例示するように、ステップＥ３の具体例１と同じステップＥ３１〜Ｅ３７の処理が実行される。なお、ステップＥ３の具体例１で説明したとおり、ステップＥ３７が実行されずにｍ＝＝ｍとしてもよい。
【００５１】
次に、符号化方式選択部１１４は、ｍ＝とｔとを比較し（ステップＥ３２１）、ｍ＝＞ｔであれば、ｓ＝０、ｔ＝ＴＭＩＮとしてモード情報ｓ＝０を出力し（ステップＥ３２２）、ステップＥ３の処理を終える。ｍ＝＞ｔでなければ、符号化方式選択部１１４はｓ＝１、ｔ＝ＴＭＡＸとしてモード情報ｓ＝１を出力し（ステップＥ３２３）、ステップＥ３の処理を終える。
【００５２】
ステップＥ３２１以降の処理により、１フレーム過去と元フレームとでスパースか否かの判定結果（ｓ＝０であるか１であるか）が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。
【００５３】
［ステップＥ３の具体例４］
ステップＥ３の具体例４では、図７に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部１１４は、ｉ＝０，ｍ＝０とすることでｉおよびｍの値を初期化する（ステップＥ３３０）。
【００５４】
符号化方式選択部１１４は、ｉとＧ（Ｇ＝Ｌ／Ｃ０）とを比較し（ステップＥ３３１）、ｉ＜ＧであればステップＥ３３２に進み、ｉ＜ＧでなければステップＥ３７に進む。なお、Ｃ０がサブバンドのサンプル数を表わす場合、Ｇは１フレーム中のサブバンドの総数を表す。Ｃ０が１フレーム中のサンプル数Ｌを表わす場合、Ｇ＝１となる。ただし、この具体例が意義をなすのはＣ０がサブバンドのサンプル数を表わす場合である。
【００５５】
ステップＥ３３２では、符号化方式選択部１１４は、ｏｒｄ（ｉ）と聴覚重要度閾値Ｐ（聴覚特性に基づいた基準）とを比較し（ステップＥ３３２）、ｏｒｄ（ｉ）＜Ｐでなければｉを１だけインクリメントし（ステップＥ３３４）、ステップＥ３３１に進む。ｏｒｄ（ｉ）＜Ｐであれば、符号化方式選択部１１４は、ｈ＝０とすることでｈの値を初期化して（ステップＥ３３３）ステップＥ３３５に進む。
【００５６】
なお、Ｃ０がサブバンドのサンプル数を表わす場合、ｏｒｄ（ｉ）は、１フレーム中の各サブバンドに対応する０以上の整数のインデックスｉ＝０，...，（Ｌ／Ｃ０）−１を入力とし、インデックスｉに対応するサブバンドの優先順位を出力する関数である。優先順位は０以上（Ｌ／Ｃ０）−１以下の整数であり、値が小さいほど優先順位が高い。例えば、１フレーム中のサブバンドの総数Ｌ／Ｃ０が８であり、インデックスｉ＝０，１，２，３，４，５，６，７にそれぞれ対応する各サブバンドの優先順位が２，１，０，３，５，４，６，７である場合、ｏｒｄ（０）＝２，ｏｒｄ（１）＝１，ｏｒｄ（２）＝０，ｏｒｄ（３）＝３，ｏｒｄ（４）＝５，ｏｒｄ（５）＝４，ｏｒｄ（６）＝６，ｏｒｄ（７）＝７となる。なお、１フレーム中の各サブバンドの優先順位は、入力信号Ｘ（ｋ）に応じて動的に定められてもよいし、固定的に定められてもよい。動的に優先順位を定める方法の一例は、量子化正規化値τＸ−が大きいサブバンドほど優先順位を高くする方法である。固定的に優先順位を定める方法の一例は、人間の聴覚特性を考慮して各サブバンドの優先順位を定めておく方法（例えば低い周波数に対応するサブバンドほど優先順位を高くするなど）である。Ｃ０が１フレーム中のサンプル数Ｌを表わす場合、ｏｒｄ（ｉ）＝０である。聴覚重要度閾値Ｐは１以上Ｌ／Ｃ０以下の整数定数であり、ステップＥ３の具体例３が意味をなすのは１＜Ｐ＜Ｌ／Ｃ０の場合である。例えば、Ｌ／Ｃ０＝８の場合にＰ＝４とする。
【００５７】
ステップＥ３３５では、符号化方式選択部１１４は、ｈとＣ０とを比較し（ステップＥ３３５）、ｈ＜Ｃ０でなければ、ｉを１だけインクリメントし（ステップＥ３３４）、ステップＥ３３１に進む。ｈ＜Ｃ０であれば、符号化方式選択部１１４は、iＸ−を用いてＸ（ｉ・Ｃ０＋ｈ）を正規化して正規化値Ｘ〜（ｉ・Ｃ０＋ｈ）を生成する（ステップＥ３３６）。例えば、符号化方式選択部１１４は、以下の式のようにＸ（ｉ・Ｃ０＋ｈ）をiＸ−で割った値を正規化値Ｘ〜（ｉ・Ｃ０＋ｈ）とする。
【数６】
2012005210.tif 000008
【００５８】
符号化方式選択部１１４は、Ｘ〜（ｉ・Ｃ０＋ｈ）の絶対値｜Ｘ〜（ｉ・Ｃ０＋ｈ）｜を計算し、｜Ｘ〜（ｉ・Ｃ０＋ｈ）｜と所定の閾値Ｔｈとを比較し（ステップＥ３３７）、｜Ｘ〜（ｉ・Ｃ０＋ｈ）｜＜Ｔｈであればｍを１だけインクリメントし（ステップＥ３３８）、ｈを１だけインクリメントして（ステップＥ３３９）、ステップＥ３３５に進む。｜Ｘ〜（ｉ・Ｃ０＋ｈ）｜＜Ｔｈでなければ符号化方式選択部１１４は、ｍをインクリメントすることなくｈを１だけインクリメントして（ステップＥ３３９）ステップＥ３３５に進む。
【００５９】
ステップＥ３７以降の処理は、ステップＥ３の具体例１と同じである。なお、この例の平滑化カウント値ｍ＝（評価値）は、所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプルの個数に対応する値に相当する。
また、ステップＥ３の具体例２のように最初にｓ＝０に設定されているものとし（ステップＥ３１４’）、ステップＥ３の具体例２と同じようにステップＥ３７以降の処理を実行してもよい。
【００６０】
［ステップＥ３の具体例５］
ステップＥ３の具体例５では、図８に例示するように、ステップＥ３の具体例４と同じステップＥ３３０〜Ｅ３７の処理が実行される。次に、ステップＥ３の具体例３と同じステップＥ３２１〜Ｅ３２３の処理が実行される。なお、ステップＥ３の具体例１で説明したとおり、ステップＥ３７が実行されずにｍ＝＝ｍとしてもよい。
【００６１】
［ステップＥ３の具体例６］
ステップＥ３の具体例６では、図９に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部１１４は、ｉ＝０，ｍ＝０とすることでｉおよびｍの値を初期化する（ステップＥ３３０）。
【００６２】
符号化方式選択部１１４は、ｉと聴覚重要度閾値Ｐとを比較し（ステップＥ３４１）、ｉ＜ＰであればステップＥ３４２に進み、ｉ＜ＰでなければステップＥ３７に進む。
【００６３】
ステップＥ３４２では、符号化方式選択部１１４は、ｂ＝ｏ（ｉ）とする（ステップＥ３４２）。ｏ（ｉ）は、１フレーム中の各サブバンドをそれぞれ識別する０以上の整数のインデックスが優先順位の高い順に配列された集合ＳＥＴのｉ番目（ｉ＝０，...，（Ｌ／Ｃ０）−１）の要素（インデックス）を表す。例えば、１フレーム中のサブバンドの総数Ｌ／Ｃ０が８であり、各サブバンドが０，…，７で識別され、集合ＳＥＴ＝｛１，０，３，２，５，４，６，７｝である場合、ｏ（ｉ）は集合ＳＥＴ＝｛１，０，３，２，５，４，６，７｝の先頭からｉ番目の要素を表す。なお、先頭の要素を０番目の要素と表現する。この例では、１で識別されるサブバンドの優先順位が一番高く、７で識別されるサブバンドの優先順位が一番低い。１フレーム中の各サブバンドの優先順位は、入力信号Ｘ（ｋ）に応じて動的に定められてもよいし、固定的に定められてもよい。動的に優先順位を定める方法の一例は、量子化正規化値τＸ−が大きいサブバンドほど優先順位を高くする方法である。固定的に優先順位を定める方法の一例は、人間の聴覚特性を考慮して各サブバンドの優先順位を定めておく方法（例えば低い周波数に対応するサブバンドほど優先順位を高くするなど）である。Ｃ０が１フレーム中のサンプル数Ｌを表わす場合、ｏ（ｉ）＝０である。ただし、この具体例が意義をなすのはＣ０がサブバンドのサンプル数を表わす場合である。
【００６４】
符号化方式選択部１１４は、ｈ＝０とすることでｈの値を初期化して（ステップＥ３３３）ステップＥ３３５に進む。
ステップＥ３３５では、符号化方式選択部１１４は、ｈとＣ０とを比較し（ステップＥ３３５）、ｈ＜Ｃ０でなければ、ｉを１だけインクリメントし（ステップＥ３３４）、ステップＥ３４１に進む。ｈ＜Ｃ０であれば、符号化方式選択部１１４は、bＸ−を用いてＸ（ｂ・Ｃ０＋ｈ）を正規化して正規化値Ｘ〜（ｂ・Ｃ０＋ｈ）を生成する（ステップＥ３４６）。例えば、符号化方式選択部１１４は、以下の式のようにＸ（ｂ・Ｃ０＋ｈ）をbＸ−で割った値を正規化値Ｘ〜（ｂ・Ｃ０＋ｈ）とする。
【数７】
2012005210.tif 000009
【００６５】
符号化方式選択部１１４は、Ｘ〜（ｂ・Ｃ０＋ｈ）の絶対値｜Ｘ〜（ｂ・Ｃ０＋ｈ）｜を計算し、｜Ｘ〜（ｂ・Ｃ０＋ｈ）｜と所定の閾値Ｔｈとを比較し（ステップＥ３４７）、｜Ｘ〜（ｂ・Ｃ０＋ｈ）｜＜Ｔｈであればｍを１だけインクリメントし（ステップＥ３３８）、ｈを１だけインクリメントして（ステップＥ３３９）、ステップＥ３３５に進む。｜Ｘ〜（ｂ・Ｃ０＋ｈ）｜＜Ｔｈでなければ符号化方式選択部１１４は、ｍをインクリメントすることなくｈを１だけインクリメントして（ステップＥ３３９）ステップＥ３３５に進む。
【００６６】
ステップＥ３７以降の処理は、ステップＥ３の具体例１と同じである。
また、ステップＥ３の具体例２のように最初にｓ＝０に設定されているものとし（ステップＥ３１４’）、ステップＥ３の具体例２と同じようにステップＥ３７以降の処理を実行してもよい。
【００６７】
［ステップＥ３の具体例７］
ステップＥ３の具体例７では、図１０に例示するように、ステップＥ３の具体例６と同じステップＥ３３０〜Ｅ３７の処理が実行される。次に、ステップＥ３の具体例３と同じステップＥ３２１〜Ｅ３２３の処理が実行される。なお、ステップＥ３の具体例１で説明したとおり、ステップＥ３７が実行されずにｍ＝＝ｍとしてもよい。
【００６８】
［ステップＥ３の具体例８］
ステップＥ３の具体例１〜３の変形として、図５および図６に例示したステップＥ３２の代わりに、符号化方式選択部１１４がｋとＱとを比較し、ｋ＜ＱであればステップＥ３３に進み、ｋ＜ＱでなければステップＥ３７に進むことにしてもよい。なお、Ｑは０＜Ｑ＜Ｌの定数である。これにより、人間が知覚しやすい低い周波数に対応するサンプルのみについてステップＥ３４の判定が行われるため、人間の聴覚特性を考慮した判定が可能となる。
【００６９】
［ステップＥ３の具体例９］
ステップＥ３の具体例４および５の変形として、ｏｒｄ（ｉ）の代わりにｉ＝０，...，（Ｌ／Ｃ０）−１を入力とし、任意な０以上（Ｌ／Ｃ０）−１以下の整数を出力する関数を用いてもよい。また、上述のステップＥ３の具体例においてｏｒｄ（ｉ）をｏ（ｉ）に置換した構成でもよいし、ｏ（ｉ）をｏｒｄ（ｉ）に置換した構成でもよい。
【００７０】
［ステップＥ３の具体例１０］
その他、入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプルの個数に対応する評価値が第２基準値よりも小さいか否かの判定方法は上述したものに限定されない。例えば、ステップＥ３の具体例１〜９の変形として、Ｔｈ＋θやＴｈ−θを第１基準値としたり、ｔ＋Δやｔ−Δを第２基準値としたりし（θやΔは正定数）、「＜」の代わりに「≦」を用いたり、「＞」の代わりに「≧」を用いたりして同様な判定を行ってもよい。また、サンプルに対応する値の大きさが第３基準値よりも大きなサンプルの個数をカウントし、そのカウント値を第４基準値と比較することで、実質的に同様な判定を行ってもよい（［ステップＥ３の具体例］の説明終わり）。
【００７１】
符号化方式選択部１１４から出力されたモード情報ｓは切り替え部１１５，１１６に送られ、モード情報ｓに対応する符号（ビットストリーム）は復号装置１２に送られる。
ｓ＝０の場合（スパースである場合）、切り替え部１１５，１１６は、入力信号Ｘ（ｋ）を第１符号化部１１７に送る（ステップＥ４）。第１符号化部１１７は、Ｘ（ｋ）とτＸ−とを入力とし、前述の第１方式などの予め定められた第１符号化方式によってＸ（ｋ）を符号化し、ベクトル量子化インデックス（ｖｑｉ）等を含む符号（ビットストリーム）を出力する（ステップＥ５）。この符号は復号装置１２に送られる。
ｓ＝１の場合（スパースでない場合）、切り替え部１１５，１１６は、入力信号Ｘ（ｋ）を第２符号化部１１８に送る（ステップＥ４）。第２符号化部１１８は、Ｘ（ｋ）とτＸ−とを入力とし、予め定められた第２符号化方式によってＸ（ｋ）を符号化し、ベクトル量子化インデックス等を含む符号（ビットストリーム）を出力する（ステップＥ６）。この符号は復号装置１２に送られる。
【００７２】
［ステップＥ６の具体例１］
第２符号化部１１８は、Ｘ（ｋ）とτＸ−とを入力とし、例えば、図１１に例示する処理を行って入力信号Ｘ（ｋ）を符号化する。
第２符号化部１１８（図２）の量子化対象計算部１１８１は、入力信号の各サンプルの値Ｘ（ｋ）の大きさに対応する値から量子化正規化値に対応する値を減算した減算値Ｅ（ｋ）’を計算し、減算値Ｅ（ｋ）’が正であり各サンプルの値Ｘ（ｋ）が正の場合にはその減算値Ｅ（ｋ）’をその各サンプルに対応する量子化対象値Ｅ（ｋ）とし、減算値Ｅ（ｋ）’が正であり各サンプルの値Ｘ（ｋ）が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値Ｅ（ｋ）とし、減算値Ｅ（ｋ）’が正でない場合には０を各サンプルに対応する量子化対象値Ｅ（ｋ）とする。サンプルの値Ｘ（ｋ）の大きさに対応する値の例は、サンプルの値Ｘ（ｋ）の絶対値、サンプルの値Ｘ（ｋ）の絶対値に比例する値、サンプルの値Ｘ（ｋ）の絶対値に定数または変数θを乗じて得られる値、サンプルの値Ｘ（ｋ）に定数および／または変数を乗じて得られる値の絶対値などである。量子化正規化値に対応する値の例は、量子化正規化値、量子化正規化値に比例する値、量子化正規化値に定数および／または変数を乗じて得られる値などである（ステップＥ６２）。量子化対象値Ｅ（ｋ）は、ベクトル量子化部１１８２に送られる。
【００７３】
［ステップＥ６２の具体例１］
例えば、量子化対象計算部１１８１は、図１２に記載された各処理を行い、入力信号の各サンプルの値Ｘ（ｋ）に対応する量子化対象値Ｅ（ｋ）を決定する。
量子化対象計算部１１８１は、ｋ＝０とすることでｋの値を初期化する（ステップＥ６２１）。
【００７４】
量子化対象計算部１１８１は、ｋとＣ０とを比較し（ステップＥ６２２）、ｋ＜Ｃ０でなければステップＥ６２の処理を終える。ｋ＜Ｃ０であれば、量子化対象計算部１１８１は、入力信号の各サンプルの値Ｘ（ｋ）の絶対値と量子化正規化値とから得られる減算値Ｅ（ｋ）’を計算する（ステップＥ６２３）。例えば、量子化対象計算部１１８１は、下式（１）により定義されるＥ（ｋ）’の値を計算する。Ｃ１は正規化値の調整定数であり、例えば１．０である。
【数８】
2012005210.tif 000010
【００７５】
量子化対象計算部１１８１は、減算値Ｅ（ｋ）’と０とを比較し（ステップＥ６２４）、Ｅ（ｋ）’≧０でなければ、Ｅ（ｋ）’を０に更新して（ステップＥ６２５）ステップＥ６２６に進み、Ｅ（ｋ）’≧０であれば、Ｅ（ｋ）’を更新せずにステップＥ６２６に進む。
【００７６】
ステップＥ６２６では、量子化対象計算部１１８１が、Ｘ（ｋ）と０とを比較し（ステップＥ６２６）、Ｘ（ｋ）＜０でなければ、減算値Ｅ（ｋ）’を量子化対象値Ｅ（ｋ）とし（ステップＥ６２７）、Ｘ（ｋ）＜０であれば、減算値Ｅ（ｋ）’の正負を反転させた−Ｅ（ｋ）’を量子化対象値Ｅ（ｋ）とする（ステップＥ６２８）。
量子化対象計算部１１８１は、ｋを１だけインクリメントして（ｋ＋１を新たなｋの値とすることでｋの値を更新して）、ステップＥ６２２に進む（ステップＥ６２９）。
【００７７】
［ステップＥ６２の具体例２］
量子化対象計算部１１８１は、例えば、以下のように入力信号の各サンプルの値Ｘ（ｋ）に対応する量子化対象値Ｅ（ｋ）を決定してもよい。
量子化対象計算部１１８１は、図１２に示すように、ステップＥ６２１〜Ｅ６２４の処理を実行する。
【００７８】
ステップＥ６２４で減算値Ｅ（ｋ）’≧０でないと判定された場合、量子化対象計算部１１８１は、Ｅ（ｋ）を０にし（ステップＥ６２５’）、ｋを１だけインクリメントして（ステップＥ６２９）、ステップＥ６２２に進む。ステップＥ６２４で減算値Ｅ（ｋ）’≧０であると判定された場合、量子化対象計算部１１８１は、ステップＥ６２の具体例１におけるステップＥ６２６以降の処理を行う。
【００７９】
［ステップＥ６２の具体例３］
ステップＥ６２の具体例１，２のステップＥ６２４でＥ（ｋ）’≧０であるか否かによって処理が分岐される代わりに、ステップＥ６２４でＥ（ｋ）’＞０であるか否かによって処理が分岐されてもよい（［ステップＥ６２の具体例］の説明終わり）。
【００８０】
ベクトル量子化部１１８２は、複数のサンプルそれぞれに対応する量子化対象値Ｅ（ｋ）を複数個まとめてベクトル量子化してベクトル量子化インデックスを生成する（ステップＥ６３）。
【００８１】
ベクトル量子化インデックスは、量子化代表ベクトルを表わすインデックスである。ベクトル量子化部１１８２は、例えば、図示していないベクトルコードブック記憶部に記憶された複数の量子化代表ベクトルの中から、複数のサンプルに対応する複数の量子化対象値（ｋ）を成分とするベクトルに最も近い量子化代表ベクトルを選択し、選択された量子化代表ベクトルを表わすベクトル量子化インデックスを出力することにより、ベクトル量子化を行う。ベクトル量子化部１１８２は、例えばＣ０個のサンプルに対応する量子化対象値Ｅ（ｋ）をまとめてベクトル量子化を行う。ベクトル量子化部１１８２は、量子化対象値Ｅ（ｋ）が０の場合には量子化値Ｅ＾（ｋ）’が必ず０となるような量子化方法、例えばAVQ法（Algebraic Vector Quantization,G.718参照）等のベクトル量子化方法を用いてベクトル量子化を行う。このように、入力信号が例えば周波数領域信号である場合に、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、これによりミュージカルノイズ等を低減することができる。
ベクトル量子化インデックスに対応する符号（ビットストリーム）は、復号装置１２に送られる（［ステップＥ６の具体例１］の説明終わり）。
【００８２】
［ステップＥ６の具体例２］
ベクトル量子化によって得られる符号のビット数は、入力信号に応じて様々である。入力信号によっては、ベクトル量子化によって得られる符号（ベクトル量子化インデックスなど）のビット数が、ベクトル量子化用に割り当てられたビット数未満となり、ベクトル量子化用に割り当てられたビットの一部が余る場合がある。ステップＥ６の具体例２では、この余ったビットの領域を用い、さらに０の量子化対象値Ｅ（ｋ）に対応する正負情報を生成する。
【００８３】
ステップＥ６の具体例２では、図１１に例示するように、量子化対象計算部１１８１がステップＥ６２の処理を実行し、ベクトル量子化部１１８２’がステップＥ６３の処理を実行する。
次に、ベクトル量子化部１１８２’は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Ｕとして計算する。「ベクトル量子化用に割り当てられたビット」とは、符号化装置１１から復号装置１２に送られる符号のうちで、ベクトル量子化によって得られる符号（ベクトル量子化インデックスに対応する符号）のために割り当てられたビットを意味する。「ベクトル量子化用に割り当てられたビット数」は、ベクトル量子化用に割り当てられたビットのビット数を表す。「ベクトル量子化用に割り当てられたビット数」は、フレームごとに定められたものであってもよいし、サブバンドごとに定められたものであってもよい。また、「ベクトル量子化用に割り当てられたビット数」は、入力信号に応じて変動するものであってもよいし、入力信号にかかわらず固定されたものであってもよい。
【００８４】
本形態の例では、１フレームごと（Ｌ個のサンプルごと）に未使用ビット数Ｕを計算する。例えば、ベクトル量子化部１１８２’は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、実際にそのフレームに属するＬ個のサンプルのベクトル量子化によって得られたベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Ｕとする。
【００８５】
さらに、ベクトル量子化部１１８２’は、ベクトル量子化インデックスをローカルデコードした値である複数の量子化値Ｅ＾（ｋ）’を出力する。例えば、ベクトル量子化部１１８２’は、ベクトル量子化インデックスによって表される量子化代表ベクトルの各成分を量子化値Ｅ＾（ｋ）’として出力する。この例の量子化値Ｅ＾（ｋ）’は復号装置１２で得られる復号値Ｅ＾（ｋ）と等しい。ただし、必ずしも量子化値Ｅ＾（ｋ）’と復号値Ｅ＾（ｋ）とが同一である必要はなく、量子化値Ｅ＾（ｋ）’が０である場合に復号値Ｅ＾（ｋ）が０となり、量子化値Ｅ＾（ｋ）’が０でない場合に復号値Ｅ＾（ｋ）が０とならなければよい。なお、Ｅ＾は、Ｅの上付きハットを意味する。
ベクトル量子化部１１８２’は、ベクトル量子化インデックス、未使用ビット数Ｕおよび量子化値Ｅ＾（ｋ）’を正負符号情報出力部１１８４に送る（ステップＥ６４）。
【００８６】
正負符号情報出力部１１８４は、量子化値Ｅ＾（ｋ）’が０となる周波数領域の入力信号のサンプルの値Ｘ（ｋ）の正負符号情報を、ベクトル量子化用に割り当てられたビットのうちで使用されなかったビットの領域（「未使用ビット領域」と呼ぶ）に書き込む。言い換えると、正負符号情報出力部１１８４は、ベクトル量子化インデックスに対応する符号（ビットストリーム）の未使用ビット領域に、減算値Ｅ（ｋ）’を正にしない（減算値Ｅ（ｋ）’を０以下にする）各サンプルの値Ｘ（ｋ）の正負を表す正負符号情報を配置する（ステップＥ６５）。なお、未使用ビット領域は、例えば、定められた未使用ビット領域の基準位置（例えば先頭アドレス）と入力された未使用ビット数Ｕとによって特定できる。
【００８７】
これにより、未使用ビット領域を有効利用して復号信号の品質を向上させることができる。ただし、未使用ビット領域に書き込まれる正負符号情報のビット数の上限は未使用ビット数Ｕである。よって、必ずしもすべての正負符号情報が未使用ビット領域に書き込まれるとは限らない。そこで好ましくは、正負符号情報出力部１１８４は、人間の聴覚特性を考慮した基準（聴覚特性に基づいた基準）に従って正負符号情報を抽出し、抽出した正負符号情報を未使用ビット領域に書き込む。例えば、正負符号情報出力部１１８４は、人間が知覚しやすい周波数での周波数領域の入力信号Ｘ（ｋ）の正負符号情報を優先的に抽出して未使用ビット領域に書き込む。
【００８８】
［ステップＥ６５の具体例］
処理を簡略化するための簡単な例として人間の聴覚特性が高域ほど低下することとし、周波数が低い順に未使用ビット数Ｕ分の正負符号情報が未使用ビット領域に上書きされる例を示す。この例では、正負符号情報出力部１１８４は、図１３に記載された各処理を行い、量子化値Ｅ＾（ｋ）’が０となる周波数領域の入力信号Ｘ（ｋ）の正負符号情報を未使用ビット領域に書き込む。なお、図１３ではＣ０個のサンプルに対する処理を表す。Ｃ０がＬである場合には、フレームごとに図１３のステップＥ６５の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図１３のステップＥ６５の処理が繰り返し実行される。
正負符号情報出力部１１８４は、ｋ＝０，ｍ＝０とすることでｋおよびｎの値を初期化し、ステップＥ６５２に進む（ステップＥ６５１）。
【００８９】
正負符号情報出力部１１８４は、ｋとＣ０とを比較し（ステップＥ６５２）、ｋ＜Ｃ０であればステップＥ６５３に進み、ｋ＜Ｃ０でなければ未使用ビット領域から各ビットｂ（ｍ）が配置された領域を除いた領域を新たな未使用ビット領域とし、Ｕ−ｍを新たなＵとし（ステップＥ６５１０）、ステップＥ６５の処理を終える。なお、Ｃ０がＬである場合には、ステップＥ６５１０を実行しなくてもよい。
【００９０】
正負符号情報出力部１１８４は、ｍとＵとを比較し（ステップＥ６５３）、ｍ＜ＵであればステップＥ６５４に進み、ｍ＜Ｕでなければ、ｋを１だけインクリメントして（ステップＥ６５５）、ステップＥ６５２に進む。
【００９１】
ステップＥ６５４では、正負符号情報出力部１１８４は、Ｅ＾（ｋ）’が０であるか否かを判定し（ステップＥ６５４）、Ｅ＾（ｋ）’＝０でなければｋを１だけインクリメントして（ステップＥ６５５）、ステップＥ６５２に進む。Ｅ＾（ｋ）’＝０であれば、量子化対象計算部１１８１は、Ｘ（ｋ）と０とを比較し（ステップＥ６５６）、Ｘ（ｋ）＜０であれば、未使用ビット領域のｍ番目のビットｂ（ｍ）に０を書き込み（ステップＥ６５７）、ステップＥ６５９に進む。Ｘ（ｋ）＜０でなければ、量子化対象計算部１１８１は、未使用ビット領域のｍ番目のビットｂ（ｍ）に１を書き込み（ステップＥ６５８）、ステップＥ６５９に進む。
ステップＥ６５９では、量子化対象計算部１１８１がｍを１だけインクリメントし（ステップＥ６５９）、ｋを１だけインクリメントし（ステップＥ６５５）、ステップＳ６５２に進む（［ステップＥ６５の具体例］の説明終わり）。
【００９２】
ベクトル量子化インデックスと未使用ビット領域に書き込まれた正負符号情報とを含む修正後ベクトル量子化インデックス（ｖｑｉ’）に対応する符号（ビットストリーム）は復号装置１２に送られる（［ステップＥ６の具体例２］の説明終わり）。
なお、ステップＥ６の具体例１又は２において、ベクトル量子化部１１８２で量子化対象値Ｅ（ｋ）が０の場合であっても量子化値Ｅ（ｋ）’が０とならない可能性がある量子化方法を採用する場合は、ベクトル量子化部１１８２は値が０でない量子化対象値Ｅ（ｋ）のみのベクトル量子化を行い、正負符号情報出力部１１８４は、周波数領域の入力信号Ｘ（ｋ）のうち量子化対象値Ｅ（ｋ）が０となるサンプルの正負符号情報を出力するようにすればよい。ただし、この場合は、量子化対象値Ｅ（ｋ）が０となるサンプルのサンプル番号ｋ、または、量子化対象値Ｅ（ｋ）が０とならないサンプルのサンプル番号ｋ、を出力して復号装置に伝える必要がある。このため、ベクトル量子化部１１８２では量子化対象値Ｅ（ｋ）が０の場合は必ず量子化値Ｅ（ｋ）’が０となるベクトル量子化方法を採用するのが好ましい。
【００９３】
＜復号処理＞
復号装置１２（図１）は図１４に例示する復号方法の各ステップを実行する。
正規化値復号部１２１は、復号装置１２に入力された正規化値量子化インデックスに対応する復号正規化値τＸ−を求める（ステップＤ１）。
例えば、図示していないコードブック記憶部に複数の正規化値量子化インデックスのそれぞれに対応する正規化値が記憶されているとする。正規化値復号部１２１は、入力された正規化量子化インデックスをキーとしてそのコードブック記憶部を参照して、その正規化量子化インデックスに対応する正規化値を取得して、復号正規化値τＸ−とする。復号正規化値τＸ−は、第１復号部１２７と第２復号部１２８に送られる。
【００９４】
切り替え部１２５，１２６は、入力されたモード情報ｓに従って復号方式を判定する（ステップＤ２）。
ｓ＝０の場合（スパースである場合）、切り替え部１２５，１２６は、復号装置１２に入力されたベクトル量子化インデックスを第１復号部１２７に送る。第１復号部１２７は、さらにτＸ−を用い、前述の第１方式などの予め定められた第１復号方式によってベクトル量子化インデックスから復号信号の値Ｘ＾（ｋ）を求め、Ｘ＾（ｋ）を出力する（ステップＤ３）。
ｓ＝１の場合（スパースでない場合）、切り替え部１２５，１２６は、復号装置１２に入力されたベクトル量子化インデックスを第２復号部１２８に送る。第２復号部１２８は、さらにτＸ−を用い、予め定められた第２復号方式によってベクトル量子化インデックスから復号信号の値Ｘ＾（ｋ）（またはＸ＾ＰＯＳＴ（ｋ））を求め、Ｘ＾（ｋ）を出力する（ステップＤ４）。
【００９５】
時間領域での復号信号が必要な場合、第１復号部１２７や第２復号部１２８から出力されたＸ＾（ｋ）（またはＸ＾ＰＯＳＴ（ｋ））は時間領域変換部１２１に入力され、これを例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する。
【００９６】
［ステップＤ４の具体例１］
ステップＤ４の具体例１は、第２符号化部１１８が前述の［ステップＥ６の具体例１］での符号化を行う場合の例である。ステップＤ４の具体例１では、第２符号化部１１８が復号正規化値τＸ−とベクトル量子化インデックスとを入力とし、図１５に例示する各ステップを実行する。
【００９７】
ベクトル復号部１２８２（図３）は、ベクトル量子化インデックスに対応する複数の値を求めて複数の復号値Ｅ＾（ｋ）とする（ステップＤ４２）。復号値Ｅ＾（ｋ）は、合成部１２８３に送られる。
例えば、図示していないベクトルコードブック記憶部に複数のベクトル量子化インデックスのそれぞれに対応する量子化代表ベクトルが記憶されているとする。ベクトル復号部１２８２は、入力されたベクトル量子化インデックスに対応する量子化代表ベクトルをキーとしてそのベクトルコードブック記憶部を参照して、そのベクトル量子化インデックスに対応する量子化代表ベクトルを取得する。量子化代表ベクトルの成分が、入力されたベクトル量子化インデックスに対応する複数の値となる。
【００９８】
正規化値再計算部１２８１は、所定個数の復号値Ｅ＾（ｋ）の絶対値の和が大きいほど小さい値を取る正規化再計算値τＸ＝を計算する（ステップＤ４３）。計算された正規化再計算値τＸ＝は、合成部１２８３に送られる。正規化値再計算値τＸ＝は、Ｘの上付きダブルバーを意味する。
【００９９】
［ステップＤ４３の具体例］
例えば、正規化値再計算部１２８１は、図１６に記載された各処理を行うことにより、正規化再計算値τＸ＝の値を求める。正規化再計算値τＸ＝は、符号化において量子化対象値Ｅ（ｋ）が０とされたサンプルを代表する値である。この例では、下式（２）に示すように、Ｃ０個のサンプルのパワーの合計Ｃ０・τＸ−２から、符号化において量子化対象値Ｅ（ｋ）が０とされなかったサンプルのパワーの合計ｔｍｐを減算した値を、量子化対象値Ｅ（ｋ）が０とされたサンプルの数ｍで割り、その平方根を取ることにより、正規化再計算値τＸ＝を計算する。
【０１００】
正規化値再計算部１２８１は、ｋ＝０、ｍ＝０、ｔｍｐ＝０とすることで、ｋ、ｍ、ｔｍｐの値を初期化する（ステップＤ４３１）。
正規化値再計算部１２８１は、ｋとＣ０とを比較し（ステップＤ４３２）、ｋ≧Ｃ０であれば、次式により定義されるτＸ＝の値を計算し（ステップＤ４３７）、ステップＤ４３の処理を終える。
【数９】
2012005210.tif 000011
【０１０１】
ｋ＜Ｃ０であれば正規化値再計算部１２８１は、復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４３３）、Ｅ＾（ｋ）が０であれば、ｍを１だけインクリメントして（ステップＤ４３５）、ステップＤ４３６に進み、復号値Ｅ＾（ｋ）が０でなければ、ステップＤ４３４に進む。
【０１０２】
正規化値再計算部１２８１は、番号ｋのサンプルのパワーを計算して、ｔｍｐに足しこむ（ステップＤ４３４）。その後、ステップＤ４３６に進む。すなわち、計算されたパワーとｔｍｐの値とを加算した値を、新たなｔｍｐの値とする。例えば、正規化値再計算部１２８１は、次式によりパワーを計算する。
【数１０】
2012005210.tif 000012
正規化値再計算部１２８１は、ｋを１だけインクリメントして（ステップＤ４３６）、ステップＤ４３２に進む（［ステップＤ４３の具体例］の説明終わり）。
【０１０３】
合成部１２８３は、各復号値Ｅ＾（ｋ）が正の場合にはその各復号値Ｅ＾（ｋ）と復号正規化値τＸ−との線形和を計算し、各復号値Ｅ＾（ｋ）が負の場合にはその各復号値Ｅ＾（ｋ）の絶対値と復号正規化値τＸ−との線形和の正負反転値を計算し、各復号値Ｅ＾（ｋ）が０の場合には正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負をランダムに反転させた値を計算し、復号信号の値Ｘ＾（ｋ）を求める（ステップＤ４４）。
【０１０４】
［ステップＤ４４の具体例］
合成部１２８３は、例えば、図１７に記載された各処理を行うことにより、復号信号を求める。なお、Ｃ０がＬである場合には、フレームごとに図１７のステップＥ４４の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図１７のステップＥ４４の処理が繰り返し実行される。
【０１０５】
合成部１２８３は、ｋ＝０とすることでｋの値を初期化する（ステップＤ４４１）。
合成部１２８３は、ｋとＣ０とを比較し（ステップＤ４４２）、ｋ＜Ｃ０でなければステップＤ４４の処理を終え、ｋ＜Ｃ０であれば復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４４３）、復号値Ｅ＾（ｋ）が０であれば、正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負をランダムに反転させた値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４４）。すなわち合成部１２８３は、次式により定義される値を計算してＸ＾（ｋ）とする。Ｃ３は、周波数成分の大きさを調整する定数である。この例のＣ３は正定数であり、例えば０．９である。ｒａｎｄ（ｋ）は、１または−１を出力する関数であり、例えば乱数に基づいてランダムに１または−１を出力する。
【数１１】
2012005210.tif 000013
【０１０６】
ステップＤ４４３において復号値Ｅ＾（ｋ）が０でないとされた場合には、合成部１２８３は、復号値Ｅ＾（ｋ）と０とを比較し（ステップＤ４４５）、復号値Ｅ＾（ｋ）＜０であれば復号値Ｅ＾（ｋ）の絶対値｜Ｅ＾（ｋ）｜と、定数Ｃ１と復号正規化値τＸ−との乗算値Ｃ１・τＸ−と、を加算して正負を反転した値（復号値の絶対値｜Ｅ＾（ｋ）｜と復号正規化値τＸ−との線形和の正負反転値）を計算して復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４６）。すなわち、合成部１２８３は、次式により定義される値を計算して、Ｘ＾（ｋ）とする。
【数１２】
2012005210.tif 000014
【０１０７】
復号値Ｅ＾（ｋ）＜０でない場合は、合成部１２８３は、復号値Ｅ＾（ｋ）と、定数Ｃ１と復号正規化値τＸ−との乗算値Ｃ１・τＸ−と、を加算した値（復号値の絶対値｜Ｅ＾（ｋ）｜と復号正規化値τＸ−との線形和）をＸ＾（ｋ）とする（ステップＤ４４７）。すなわち、合成部１２８３は、次式により定義される値を計算してＸ＾（ｋ）とする。
【数１３】
2012005210.tif 000015
【０１０８】
合成部１２８３は、Ｘ＾（ｋ）を決定した後に、ｋを１だけインクリメントして（ステップＤ４４８）、ステップＤ４４２に進む（［ステップＤ４４の具体例］の説明終わり）。
【０１０９】
時間領域での復号信号が必要な場合、合成部１２８３から出力されたＸ＾（ｋ）は時間領域変換部１２１に入力され、時間領域変換部１２１はＸ＾（ｋ）を例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する（［ステップＤ４の具体例１］の説明終わり）。
【０１１０】
［ステップＤ４の具体例２］
ステップＤ４の具体例１は、第２符号化部１１８が前述の［ステップＥ６の具体例２］での符号化を行う場合の例である。ステップＤ４の具体例２では、第２符号化部１１８が復号正規化値τＸ−と修正後ベクトル量子化インデックスとを入力とし、図１５に例示する各ステップを実行する。
【０１１１】
ベクトル復号部１２８２’（図３）は、修正後ベクトル量子化インデックスが含むベクトル量子化インデックスに対応する複数の値を求めて複数の復号値Ｅ＾（ｋ）とする（ステップＤ４２）。また、ベクトル復号部１２８２’は、ベクトル量子化インデックスを用いて未使用ビット数Ｕを計算する（ステップＤ４２’）。例えば、ベクトル復号部１２８２’は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Ｕとして計算する。本形態の例では、１フレームごと（Ｌ個のサンプルごと）に未使用ビット数Ｕを計算する。例えば、ベクトル復号部１２８２’は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、そのフレームに対応するベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Ｕとする。復号値Ｅ＾（ｋ）および未使用ビット数Ｕは、合成部１２８３’に送られる。
【０１１２】
正規化値再計算部１２８１は、所定個数の復号値Ｅ＾（ｋ）の絶対値の和が大きいほど小さい値を取る正規化再計算値τＸ＝を計算する（ステップＤ４３）。計算された正規化再計算値τＸ＝は、合成部１２８３’に送られる。
【０１１３】
合成部１２８３’は、各復号値Ｅ＾（ｋ）が正の場合にはその各復号値Ｅ＾（ｋ）と復号正規化値τＸ−との線形和を計算し、各復号値Ｅ＾（ｋ）が負の場合にはその各復号値Ｅ＾（ｋ）の絶対値と復号正規化値τＸ−との線形和の正負反転値を計算し、各復号値Ｅ＾（ｋ）が０の場合には正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値またはその乗算値の正負反転値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を計算することにより、復号信号の値Ｘ＾（ｋ）を求める。
【０１１４】
ここで、復号値Ｅ＾（ｋ）が０であって修正後ベクトル量子化インデックスが含む正負符号情報によって正負が表されたサンプルについては対応する正負符号情報によってＸ＾（ｋ）の正負が特定される。すなわち、復号値Ｅ＾（ｋ）が０であって正負符号情報によって正であると表されたサンプルについては正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値がＸ＾（ｋ）となり、復号値Ｅ＾（ｋ）が０であって正負符号情報によって負であると表されたサンプルについては正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負反転値がＸ＾（ｋ）となる。一方、復号値Ｅ＾（ｋ）が０であって正負符号情報によって正負が特定されないサンプルについてはランダムにＸ＾（ｋ）の正負が定められる。すなわち、正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負をランダムに反転させた値がＸ＾（ｋ）となる（ステップＤ４４’）。この例では、未使用ビット領域を用いて伝送された正負符号情報を用いてＸ＾（ｋ）の正負を特定できるため、Ｘ＾（ｋ）の品質を向上させることができる。
【０１１５】
［ステップＤ４４’の具体例１］
合成部１２８３’は、例えば、図１７および図１８に記載された各処理を行うことにより、復号信号を求める。なお、Ｃ０がＬである場合には、フレームごとに図１７および図１８のステップＤ４４’の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図１７および図１８のステップＤ４４’の処理が繰り返し実行される。
【０１１６】
ステップＤ４４１〜Ｄ４４８の処理は前述した通りである。ただし、ステップＤ４４’の具体例１では、ステップＤ４４２でｋ＜Ｃ０でないと判定された場合にステップＤ４４１１に進む。
【０１１７】
ステップＤ４４１１では、合成部１２８３’がｋ＝０、ｍ＝０とすることでｋおよびｍの値を初期化する（ステップＤ４４１１）。次に、合成部１２８３’は、ｋとＣ０とを比較し（ステップＤ４４１２）、ｋ＜Ｃ０でなければ未使用ビット領域から各ビットｂ（ｍ）が配置された領域を除いた領域を新たな未使用ビット領域とし、Ｕ−ｍを新たなＵとし（ステップＤ４４２０）、ステップＤ４４’の処理を終える。なお、Ｃ０がＬである場合には、ステップＤ４４２０を実行しなくてもよい。ｋ＜Ｃ０であれば、合成部１２８３’は、ｍと未使用ビット数Ｕとを比較し（ステップＤ４４１３）、ｍ＜Ｕでなければｋを１だけインクリメントして（ステップＤ４４１９）、ステップＤ４４１２に進む。ｍ＜Ｕであれば、合成部１２８３’は、復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４４１４）、Ｅ＾（ｋ）が０でなければ、ｋを１だけインクリメントして（ステップＤ４４１９）、ステップＤ４４１２に進む。Ｅ＾（ｋ）が０であれば、合成部１２８３’は、入力された未使用ビット領域のｍ番目のビットｂ（ｍ）が０であるか否かを判定し（ステップＤ４４１５）、ｂ（ｍ）が０である場合正規化値再計算値τＸ＝と定数Ｃ３’との乗算値の正負を反転させた値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４１６）。Ｃ３’は、周波数成分の大きさを調整する定数であり、例えば、Ｃ３’＝Ｃ３やＣ３’＝ε・Ｃ３である。εは定数や他の処理に応じて定まる変数である。すなわち、合成部１２８３’は、次式により定義される値をＸ＾（ｋ）とする。
【数１４】
2012005210.tif 000016
【０１１８】
なお、ステップＤ４４１６の処理は、既に得られたＸ＾（ｋ）（この例ではステップＤ４４４で得られた）の正負のみを修正するものであってもよいし、既に得られたＸ＾（ｋ）の振幅が変更された値の正負のみを修正するものであってもよいし、新たに式（３）の計算を行うものであってもよい。ステップＤ４４１６の後、合成部１２８３’は、ｍ、ｋをそれぞれ１だけインクリメントして（ステップＤ４４１８、Ｄ４４１９）、ステップＤ４４１２に進む。
【０１１９】
ステップＤ４４１５でｂ（ｍ）が０でないと判定された場合、合成部１２８３’は、正規化値再計算値τＸ＝と定数Ｃ’との乗算値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４１７）。すなわち、合成部１２８３’は、次式により定義される値をＸ＾（ｋ）とする。
【数１５】
2012005210.tif 000017
【０１２０】
なお、ステップＤ４４１７の処理は、既に得られたＸ＾（ｋ）の正負のみを修正するものであってもよいし、既に得られたＸ＾（ｋ）の振幅が変更された値の正負のみを修正するものであってもよいし、新たに式（４）の計算を行うものであってもよい。ステップＤ４４１７の後、合成部１２８３’は、ｍ、ｋをそれぞれ１だけインクリメントして（ステップＤ４４１８、Ｄ４４１９）、ステップＤ４４１２に進む（［ステップＤ４４’の具体例１］の説明終わり）。
【０１２１】
［ステップＤ４４’の具体例２］
合成部１２８３’は、図１９に記載された各処理を行うことにより、復号信号を求めてもよい。なお、Ｃ０がＬである場合には、フレームごとに図１９のステップＤ４４’の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図１９のステップＤ４４’の処理が繰り返し実行される。
合成部１２８３’は、ｋ＝０、ｍ＝０とすることでｋおよびｍの値を初期化する（ステップＤ４４３１）。
【０１２２】
合成部１２８３’は、ｋとＣ０とを比較し（ステップＤ４４２）、ｋ＜Ｃ０でなければ未使用ビット領域から各ビットｂ（ｍ）が配置された領域を除いた領域を新たな未使用ビット領域とし、Ｕ−ｍを新たなＵとし（ステップＤ４４４３）、ステップＤ４４’の処理を終える。なお、Ｃ０がＬである場合には、ステップＤ４４４３を実行しなくてもよい。ｋ＜Ｃ０であれば、合成部１２８３’は、復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４４３）、復号値Ｅ＾（ｋ）が０であればｍと未使用ビット数Ｕとを比較し（ステップＤ４４３８）、ｍ＜Ｕでなければ正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負をランダムに反転させた値を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４４）。すなわち、合成部１２８３’は、次式により定義される値を計算してＸ＾（ｋ）とする。
【数１６】
2012005210.tif 000018
【０１２３】
ステップＤ４４４の後、合成部１２８３’は、ｋを１だけインクリメントして（ステップＤ４４８）、ステップＤ４４２に進む。
【０１２４】
ステップＤ４４３８においてｍ＜Ｕであると判定された場合、合成部１２８３’は、入力された修正後ベクトル量子化インデックスの未使用ビット領域のｍ番目のビットｂ（ｍ）が０であるか否かを判定し（ステップＤ４４３９）、ｂ（ｍ）が０である場合正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負を反転させた値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４４０）。すなわち、合成部１２８３’は、次式により定義される値を計算してＸ＾（ｋ）とする。
【数１７】
2012005210.tif 000019
【０１２５】
なお、修正後ベクトル量子化インデックスが含む未使用ビット領域のｍ番目のビットｂ（ｍ）の位置は、未使用ビット領域の開始ビット位置とビットｂ（ｍ）の配置順序とが定められ、未使用ビット数Ｕが得られれば容易に特定できる。ステップＤ４４４０の後、合成部１２８３’は、ｍ、ｋをそれぞれ１だけインクリメントして（ステップＤ４４４２、Ｄ４４８）ステップＤ４４２に進む。
【０１２６】
ステップＤ４４３９でｂ（ｍ）が０でないと判定された場合、合成部１２８３’は、正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値（正規化値再計算値τＸ＝に対応する大きさを持つ値）を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４４４１）。すなわち、合成部１２８３’は、次式により定義される値を計算してＸ＾（ｋ）とする。
【数１８】
2012005210.tif 000020
【０１２７】
ステップＤ４４４１の後、合成部１２８３’は、ｍ、ｋをそれぞれ１だけインクリメントして（ステップＤ４４４２、Ｄ４４８）ステップＤ４４２に進む。
【０１２８】
一方、ステップＤ４４３において復号値Ｅ＾（ｋ）が０でないと判定された場合には、合成部１２８３’は、前述したステップＤ４４５〜Ｄ４４７の処理を行い、ｋを１だけインクリメントして（ステップＤ４４８）、ステップＤ４４２に進む（［ステップＤ４４’の具体例２］の説明終わり）。
【０１２９】
時間領域での復号信号が必要な場合、合成部１２８３’から出力されたＸ＾（ｋ）は時間領域変換部１２１に入力され、時間領域変換部１２１はＸ＾（ｋ）を例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する（［ステップＤ４の具体例２］の説明終わり）。
【０１３０】
＜本形態の特徴＞
以上のように、本形態では、入力信号がスパースであるか否かによって符号化方式および復号方式を切り替えることとした。そのため、ミュージカルノイズ等の抑制が必要か否かに応じて、適切な符号化方式および復号方式が選択できる。
【０１３１】
また、本形態では、復号値Ｅ＾（ｋ）が０の場合に正規化値再計算値τＸ＝を用いて０ではない値をＸ＾（ｋ）に割り当てるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るスペクトルホールをなくすことができる。これにより、ミュージカルノイズ等を軽減することができる。
【０１３２】
さらに、符号化装置１１でのベクトル量子化で使用されなかった未使用ビット領域を用いて正負符号情報を復号装置１２に伝送する場合、復号装置１２は、未使用ビット領域で伝送された正負符号情報を用いてＸ＾（ｋ）の正負を特定できるため、Ｘ＾（ｋ）の品質を向上することができる。
【０１３３】
ただし、未使用ビット領域に書き込まれる正負符号情報のビット数の上限は未使用ビット数Ｕであり、必ずしもすべての周波数に対する正負符号情報が未使用ビット領域に書き込まれるとは限らない。この場合、人間の聴覚特性を考慮した基準に従って正負符号情報を抽出し、抽出した正負符号情報を未使用ビット領域に書き込むことで、復号装置１２は、例えば、人間の聴覚特性上重要な周波数でのＸ＾（ｋ）の正負を正しく特定できる。その結果、人間の聴覚特性上重要な周波数でのＸ＾（ｋ）の品質を優先的に向上させることができる。
【０１３４】
また、正負符号情報を伝送できなかった周波数でのＸ＾（ｋ）の正負は関数ｒａｎｄ（ｋ）を用いてランダムに定められ、一定ではない。そのため、正負符号情報を伝送できなかった周波数に対しても自然な復号信号を作り出すことができる。
【０１３５】
〔その他変形例〕
本発明は上述の実施の形態に限定されるものではない。以下に上述で述べた以外の変形例を示す。
図２に破線で示すように、第２符号化部１１８に量子化対象値Ｅ（ｋ）を代表する値である量子化対象正規化値τＥ−を計算する量子化対象正規化値計算部１１８３を設けて、ベクトル量子化部１１８２や１２８２’が複数のサンプルそれぞれに対応する量子化対象値Ｅ（ｋ）を量子化対象正規化値τＥ−で正規化した値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求めてもよい。量子化対象値Ｅ（ｋ）を量子化対象正規化値τＥ−で正規化した値の例は、Ｅ（ｋ）をτＥ−で除算した値Ｅ（ｋ）／τＥ−である。量子化対象値Ｅ（ｋ）を正規化してからベクトル量子化することにより、ベクトル量子化の対象のダイナミックレンジを狭くすることができ、少ないビット数で符号化および復号することが可能となる。
【０１３６】
量子化対象正規化値計算部１１８３は、例えば量子化正規化値τＸ−を用いて次式により定義される値を計算して量子化対象値Ｅ（ｋ）とする（図１１／ステップＥ６１）。Ｃ２は正の調整係数（第二定数と呼ぶこともある。）であり、例えば０．３である。
【数１９】
2012005210.tif 000021
【０１３７】
このように、量子化正規化値τＸ−から量子化対象正規化値τＥ−を計算することにより、量子化対象正規化値τＥ−についての情報を送らなくても、復号側では量子化正規化値τＸ−から量子化対象正規化値τＥ−を計算することができる。このため、量子化対象正規化値τＥ−についての情報を送る必要がなくなり、通信量を低減することができる。
【０１３８】
この場合、図３に破線で示すように、第２復号部１２８に復号対象正規化値計算部１２８４が設けられる。復号対象正規化値計算部１２８４は、復号正規化値τＸ−と第二定数Ｃ２とをかけて復号対象正規化値τＥ−とする（図１５／ステップＤ４１）。復号対象正規化値τＥ−は、ベクトル復号部１２８２や１２８２’に送られる。そして、ベクトル復号部１２８２や１２８２’は、τＥ−を用いてベクトル量子化インデックスに対応する複数の値を逆正規化して複数の復号値Ｅ＾（ｋ）とする。例えば、ベクトル復号部１２８２や１２８２’は、ベクトル量子化インデックスに対応する複数の値のそれぞれと復号対象正規化値τＥ−とをかけて複数の復号値Ｅ＾（ｋ）とする。なお、この変形例の復号値Ｅ＾（ｋ）はベクトル量子化インデックスに対応する複数の値を逆正規化された値であるが、量子化値Ｅ＾（ｋ）’は逆正規化する前の値であってもよい。
【０１３９】
また、第２復号部１２８の正規化値再計算部１２８１の代わりに正規化値再計算部１２８１’が設けられてもよい。
正規化値再計算部１２８１’は、ステップＤ４３’（図１５）において、正規化再計算値τＸ’＝が０でない場合には正規化再計算値τＸ＝と前回計算された正規化再計算値τＸ’＝とを重み付き加算した値を上記正規化再計算値τＸ＝とする。正規化再計算値τＸ’＝が０の場合、正規化値再計算部１２８１’は、正規化再計算値の重み付き加算、すなわち正規化再計算値の平滑化を行わない。
【０１４０】
Ｃ０＝Ｌでありフレームごとに正規化再計算値τＸ＝を計算している場合には、前回計算された正規化再計算値τＸ’＝は、１フレーム過去に正規化値再計算部１２８１’により計算された正規化再計算値である。Ｃ０が１およびＬ以外のＬの約数であり、周波数成分をＬ／Ｃ０個のサブバンドに分けてサブバンドごとに正規化再計算値を計算する場合には、前回計算された正規化再計算値τＸ’＝は、同じサブバンドの１フレーム前に計算された正規化再計算値であってもよいし、既に計算された同じフレームの連続する前または後のサブバンドの正規化再計算値であってもよい。
【０１４１】
前回計算された正規化再計算値τＸ’＝を考慮して今回新たに計算される正規化再計算値をτＸｐｏｓｔ＝とすると、τＸｐｏｓｔ＝は次式のように表わされる。α１とβ１は調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α１＝β１＝０．５である。
【数２０】
2012005210.tif 000022
【０１４２】
このように、前回計算された正規化再計算値τＸ’＝を考慮して正規化再計算値を計算することにより、前回計算された正規化再計算値τＸ’＝と今回計算される正規化再計算値の値が近くなり、これらの連続性が上がるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るミュージカルノイズ等を更に軽減することができる。
【０１４３】
また、図３の破線で示すように、第２復号部１２８が平滑化部１２８５を備えてもよい。
平滑化部１２８５は、ステップＤ４４やＤ４４’（図１５）で得られた復号信号の値Ｘ＾（ｋ）を入力とし、復号信号の値Ｘ＾（ｋ）よりも過去の復号信号の値Ｘ＾（ｋ）’が０でない場合、過去の復号信号の値Ｘ＾（ｋ）’と復号信号の値Ｘ＾（ｋ）とを重み付き加算した値を平滑化値Ｘ＾ＰＯＳＴ（ｋ）として出力する。Ｘ＾（ｋ）’が０の場合、平滑化部１２８５は、復号信号の値の重み付き加算、すなわち復号信号の値の平滑化を行わず、Ｘ＾（ｋ）をＸ＾ＰＯＳＴ（ｋ）として出力する（図１５／ステップＤ４５）。過去の復号信号の値Ｘ＾（ｋ）’の例は、復号信号の値Ｘ＾（ｋ）に対応するフレームの１フレーム過去のステップＤ４で得られた復号信号の値や、復号信号の値Ｘ＾（ｋ）に対応するフレームの１フレーム過去のステップＤ４’で得られた平滑化値などである。
【０１４４】
Ｘ＾ＰＯＳＴ（ｋ）は次式のように表わされる。α２とβ２は調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α２＝０．８５、β２＝０．１５である。φ（・）は・の正負符号を表す。
【数２１】
2012005210.tif 000023
【０１４５】
これにより、Ｘ＾（ｋ）の振幅特性の時間軸方向の不連続性によって生じるミュージカルノイズ等を軽減することができる。時間領域での復号信号が必要な場合、平滑化部１２８５から出力されたＸ＾ＰＯＳＴ（ｋ）は時間領域変換部１２１に入力され、時間領域変換部１２１はＸ＾ＰＯＳＴ（ｋ）を例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する。
【０１４６】
また、第２復号部１２８が合成部１２８３，１２８３’および正規化値再計算部１２８１，１２８７の代わりに合成部１２８６を含む場合、合成部４２４は、例えば、τＸ−，Ｅ＾（ｋ）を入力とし、前述したステップＤ４３，Ｄ４４の具体例の代わりに図２０および図２１に記載された以下の処理を行ってもよい。なお、Ｃ０がＬである場合には、フレームごとに以下の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて以下の処理が繰り返し実行される。
【０１４７】
合成部１２８６は、ｋ＝０、ｍ＝０、ｔｍｐ＝０とすることでｋ、ｍ、ｔｍｐの値を初期化する（ステップＤ４３１１）。
【０１４８】
合成部１２８６は、ｋとＣ０とを比較し（ステップＤ４３１２）、ｋ＜Ｃ０であれば復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４３１３）、復号値Ｅ＾（ｋ）が０であれば、ｋを１だけインクリメントして（ステップＤ４３１７）、ステップＤ４３１２に進む。復号値Ｅ＾（ｋ）が０でなければ、合成部１２８６は、番号ｋのサンプルのパワーを計算して、ｔｍｐに足しこむ（ステップＤ４３１４）。すなわち、計算されたパワーとｔｍｐの値とを加算した値を、新たなｔｍｐの値とする。例えば、合成部１２８６は、次式によりパワーを計算する。
【数２２】
2012005210.tif 000024
【０１４９】
さらに、合成部１２８６は、ｍを１だけインクリメントして（ステップＤ４３１５）、以下のＸ＾（ｋ）の値を計算する（ステップＤ４３１６）。
【数２３】
2012005210.tif 000025
なお、ＳＩＧＮ（Ｅ＾（ｋ））は、Ｅ＾（ｋ）が正であるとき１となり、Ｅ＾（ｋ）が負であるとき−１となる関数である。その後、合成部１２８６は、ｍを１だけインクリメントして（ステップＤ４３１７）、ステップＤ４３１２に進む。
【０１５０】
ステップＤ４３１２でｋ＜Ｃ０でないと判定された場合、合成部１２８６は、次式により定義されるτＸ＝の値を計算する（ステップＤ４３１８）。
【数２４】
2012005210.tif 000026
【０１５１】
さらに合成部１２８６は、ｋ＝０とすることでｋの値を初期化する（ステップＤ４３２１）。
合成部１２８６は、ｋとＣ０とを比較し（ステップＤ４３２２）、ｋ＜Ｃ０でなければ、ステップＤ４３，Ｄ４４の処理を終える。ｋ＜Ｃ０であれば、合成部１２８６は、復号値Ｅ＾（ｋ）が０であるか否かを判定し（ステップＤ４３２３）、復号値Ｅ＾（ｋ）が０であれば、正規化値再計算値τＸ＝と第一定数Ｃ３との乗算値の正負をランダムに反転させた値を復号信号の値Ｘ＾（ｋ）とする（ステップＤ４３２４）。すなわち、次式により定義される値を計算してＸ＾（ｋ）とする。
【数２５】
2012005210.tif 000027
その後、合成部１２８６は、ｋを１だけインクリメントして（ステップＤ４３２８）、ステップＤ４３２２に進む。
【０１５２】
一方、ステップＤ４３２３において復号値Ｅ＾（ｋ）が０でないと判定された場合には、合成部１２８６は、Ｘ＾（ｋ）を更新することなくｋを１だけインクリメントして（ステップＤ４３２８）、ステップＤ４３２２に進む。
【０１５３】
また、合成部４２４は、例えば、τＸ−，Ｅ＾（ｋ），Ｕ，ｂ（ｍ）を入力とし、前述したステップＤ４３，Ｄ４４’の具体例の代わりに図１８，図２０および図２１に記載された以下の処理を行ってもよい。図２０および図２１を用いて説明した上述の処理との違いは、ステップＤ４３２２でｋ＜Ｃ０でないと判断されたときにステップＤ４３，Ｄ４４の処理を終える代わりに、合成部１２８６が図１８のステップＤ４４１１の処理に進む点である。その他はこれまで説明したとおりである。
【０１５４】
また、Ｃ０、Ｃ１、Ｃ２、Ｃ３、α１、β１、α２、β２は、求める性能および仕様に応じて適宜変更してもよい。
また、入力信号Ｘ（ｋ）は、周波数領域信号である必要はなく、時間領域信号等の任意の信号であってもよい。すなわち、この発明は、周波数領域信号以外の任意の信号に対する符号化、復号に用いることができる。
【０１５５】
また、フレームごとに入力信号Ｘ（ｋ）に対する正規化値ＦＧＡＩＮが定められ、量子化対象計算部１１８１が入力信号の各サンプルの値Ｘ（ｋ）の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値を用い、量子化正規化値τＸ−の代わりにτＸ−を正規化値ＦＧＡＩＮで正規化した値を用い、ステップＥ６の処理が実行されてもよい。例えば、Ｘ（ｋ）がＸ（ｋ）／ＦＧＡＩＮに置換され、τＸ−がτＸ−／ＦＧＡＩＮに置換されて、ステップＥ６の処理が実行されてもよい。
【０１５６】
このように正規化値ＦＧＡＩＮで正規化される場合、ステップＥ３３（図５および図６）、ステップＥ３３６（図７および図８）、ステップＥ３４６（図９および図１０）が実行されず、Ｘ（ｋ）〜＝Ｘ（ｋ）、Ｘ（ｉ・Ｃ０＋ｈ）〜＝Ｘ（ｉ・Ｃ０＋ｈ）、Ｘ（ｂ・Ｃ０＋ｈ）〜＝Ｘ（ｂ・Ｃ０＋ｈ）としてその後の処理が実行されてもよい。
【０１５７】
また、このように正規化値ＦＧＡＩＮで正規化される場合、正規化値計算部１１２を設けず、正規化値量子化部１１３に量子化正規化値τＸ−の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値が入力されてもよい。この場合、第１符号化部１１７および第２符号化部１１８が、量子化正規化値τＸ−の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値の量子化値を用いて符号化処理を行ってもよい。正規化値量子化インデックスが正規化値ＦＧＡＩＮで正規化した値の量子化値に対応するものであってもよい。
【０１５８】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１５９】
〔ハードウェア、プログラムおよび記録媒体〕
上述した符号化装置１１や復号装置１２は、例えば、CPU(central processing unit)やRAM(random-access memory)などからなる公知または専用のコンピュータと上述の処理内容が記述された特別なプログラムとから構成される。この場合、特別なプログラムはCPUに読み込まれ、CPUが特別なプログラムを実行することによって各機能が実現される。また、特別なプログラムは、単一のプログラム列によって構成されてもよいし、他のプログラムやライブラリを読み出して目的の機能を達成するものであってもよい。
【０１６０】
このようなプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な（non-transitory）記録媒体である。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。プログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、プログラムを流通させてもよい。
【０１６１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
【０１６２】
また、符号化装置１１や復号装置１２の処理部の少なくとも一部が特別な集積回路によって構成されてもよい。
【符号の説明】
【０１６３】
１１  符号化装置
１１１  周波数領域変換部
１１２  正規化値計算部
１１３  正規化値量子化部
１１４  符号化方式選択部
１１５，１１６  切り替え部
１１７  第１符号化部
１１８  第２符号化部
１２  復号装置
１２３  正規化値復号部
１２５，１２６  切り替え部
１２７  第１符号化部
１２８  第２符号化部
１２１  時間領域変換部
【図１】
2012005210.tif 000028
【図２】
2012005210.tif 000029
【図３】
2012005210.tif 000030
【図４】
2012005210.tif 000031
【図５】
2012005210.tif 000032
【図６】
2012005210.tif 000033
【図７】
2012005210.tif 000034
【図８】
2012005210.tif 000035
【図９】
2012005210.tif 000036
【図１０】
2012005210.tif 000037
【図１１】
2012005210.tif 000038
【図１２】
2012005210.tif 000039
【図１３】
2012005210.tif 000040
【図１４】
2012005210.tif 000041
【図１５】
2012005210.tif 000042
【図１６】
2012005210.tif 000043
【図１７】
2012005210.tif 000044
【図１８】
2012005210.tif 000045
【図１９】
2012005210.tif 000046
【図２０】
2012005210.tif 000047
【図２１】
2012005210.tif 000048
【手続補正書】
【提出日】平成24年12月20日(2012.12.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
復号においては、入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各復号値が０の場合には所定個数の復号値の絶対値の和が大きいほど小さい値を取る正規化値再計算値に対応する大きさを持つ値を復号信号とし、各復号値が正の場合には各復号値と復号正規化値との線形和を復号信号とし、各復号値が負の場合には各復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、モード情報が第１値である場合に別の第１復号方式を選択し、選択した第１復号方式又は第２復号方式で復号処理を行う。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
第２復号方式の例１では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化値再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が０である場合には正規化値再計算値と第一定数との積の正負をランダムに反転させた値（正規化値再計算値に対応する大きさを持つ値）を復号信号とした復号信号の列を復号信号サンプル列とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
第２復号方式の例２では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化値再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が０であって当該復号値に対応する正負符号情報が入力された場合には、正規化値再計算値と第一定数との積に正負符号情報が表す正負を付した値（正規化値再計算値に対応する大きさを持つ値）を復号信号とする。各復号値が０であって当該復号値に対応する正負符号情報が入力されない場合には、正規化値再計算値と第一定数との積の正負をランダムに反転させた値（正規化値再計算値に対応する大きさを持つ値）を復号信号とした復号信号の列を復号信号サンプル列とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
正規化値計算部１１２は、フレームごとに、入力された入力信号Ｘ（ｋ）のＬ個のサンプルのうちの所定個数Ｃ０のサンプルを代表する値である正規化値τＸ０−を計算する（ステップＥ１）。τＸ０−は、τＸ０の上付きバーを意味する。
Ｃ０は、Ｌ、または、１およびＬ以外のＬの公約数である。なお、Ｃ０をＬとすることは、Ｌ個のサンプルごとに正規化値を求めることを意味する。Ｃ０をＬの公約数にすることは、Ｌ個のサンプルをサブバンドに分割して、各サブバンドを構成するＣ０個のサンプルごとに正規化値を求めることを意味する。例えば、Ｌ＝６４であり、８個の周波数成分でサブバンドを構成するとした場合には、８個のサブバンドが構成され、各サブバンドの正規化値が計算されることになる。また、Ｃ０がＬである場合τ＝０であり、正規化値τＸ０−はＬ個のサンプルを代表する値である。すなわち、Ｃ０がＬである場合、フレームごとに１つの正規化値τＸ０−が計算される。一方、Ｃ０が１及びＬ以外のＬの公約数である場合、τは１フレーム中の各サブバンドに対応する整数τ＝０，…，(L/Ｃ０)-1であり、正規化値τＸ０−はτに対応するサブバンドに属するＣ０個のサンプルを代表する値である。すなわち、Ｃ０が１及びＬ以外のＬの公約数である場合、フレームごとに(L/Ｃ０)個の正規化値τＸ０−（τ＝０，…，(L/Ｃ０)-1）が計算される。また、Ｃ０の値にかかわらずｋ＝τ・Ｃ０，・・・，（τ＋１）・Ｃ０−１である。正規化値計算部１１２で計算されたτＸ０−は、正規化値量子化部１１３に送られる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
符号化方式選択部１１４は、Ｘ〜（ｋ）の絶対値｜Ｘ〜（ｋ）｜（サンプルに対応する値の大きさ）を計算し、｜Ｘ〜（ｋ）｜と所定の閾値Ｔｈ（第１基準値）とを比較し（ステップＥ３４）、｜Ｘ〜（ｋ）｜＜Ｔｈであれば符号化方式選択部１１４は、ｍを１だけインクリメントし（ｍ＋１を新たなｍの値とすることでｍの値を更新して）（ステップＥ３５）、ｋを１だけインクリメントして（ステップＥ３６）、ステップＥ３２に進む。｜Ｘ〜（ｋ）｜＜Ｔｈでなければ符号化方式選択部１１４は、ｍをインクリメントすることなくｋを１だけインクリメントして（ステップＥ３６）ステップＥ３２に進む。なお、閾値Ｔｈは正定数であり、例えばＴｈ＝０．５である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
ステップＥ３８でｔがＴＭＩＮでないとされた場合、符号化方式選択部１１４はｍ＝とｔとを比較し（ステップＥ３１２）、ｍ＝＜ｔであれば、ｓ＝１としてモード情報ｓ＝１を出力し（ステップＥ３１３）、ステップＥ３の処理を終える。ｍ＝＜ｔでなければ、符号化方式選択部１１４はｓ＝０、ｔ＝ＴＭＩＮとして、モード情報ｓ＝０を出力し（ステップＥ３１４）、ステップＥ３の処理を終える。
ステップＥ３８以降の処理により、１フレーム過去と現フレームとでスパースか否かの判定結果（ｓ＝０であるか１であるか）が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。言い換えると、ステップＥ３８以降の処理により、前回の所定個数のサンプルが第１符号化方式で符号化（ｓ＝０）された場合の第２基準値ｔの大きさが、前回の所定個数のサンプルが第２符号化方式（ｓ＝１）で符号化された場合の第２基準値ｔの大きさよりも小さくなる。これにより、前回と今回とで符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、Ｃ０＝Ｌである場合における「前回の所定個数のサンプル」は、１フレーム過去のフレームに属する各サンプルである。Ｃ０が１およびＬ以外のＬの約数である場合における「前回の所定個数のサンプル」は、同じサブバンドに属する１フレーム前のサンプルであってもよいし、同じフレームの連続する前または後のサブバンドのサンプルであってもよい。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
ステップＥ３２１以降の処理により、１フレーム過去と現フレームとでスパースか否かの判定結果（ｓ＝０であるか１であるか）が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
ベクトル量子化インデックスは、量子化代表ベクトルを表わすインデックスである。ベクトル量子化部１１８２は、例えば、図示していないベクトルコードブック記憶部に記憶された複数の量子化代表ベクトルの中から、複数のサンプルに対応する複数の量子化対象値Ｅ（ｋ）を成分とするベクトルに最も近い量子化代表ベクトルを選択し、選択された量子化代表ベクトルを表わすベクトル量子化インデックスを出力することにより、ベクトル量子化を行う。ベクトル量子化部１１８２は、例えばＣ０個のサンプルに対応する量子化対象値Ｅ（ｋ）をまとめてベクトル量子化を行う。ベクトル量子化部１１８２は、量子化対象値Ｅ（ｋ）が０の場合には量子化値Ｅ＾（ｋ）’が必ず０となるような量子化方法、例えばAVQ法（Algebraic Vector Quantization,G.718参照）等のベクトル量子化方法を用いてベクトル量子化を行う。このように、入力信号が例えば周波数領域信号である場合に、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、これによりミュージカルノイズ等を低減することができる。
ベクトル量子化インデックスに対応する符号（ビットストリーム）は、復号装置１２に送られる（［ステップＥ６の具体例１］の説明終わり）。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
正負符号情報出力部１１８４は、量子化値Ｅ＾（ｋ）’が０となる周波数領域の入力信号のサンプルの値Ｘ（ｋ）の正負符号情報を、ベクトル量子化用に割り当てられたビットのうちで使用されなかったビットの領域（「未使用ビット領域」と呼ぶ）に書き込む。言い換えると、正負符号情報出力部１１８４は、ベクトル量子化インデックスに対応する符号（ビットストリーム）の未使用ビット領域に、Ｅ（ｋ）’を正にしない（Ｅ（ｋ）’を０以下にする）各サンプルの値Ｘ（ｋ）の正負を表す正負符号情報を配置する（ステップＥ６５）。なお、未使用ビット領域は、例えば、定められた未使用ビット領域の基準位置（例えば先頭アドレス）と入力された未使用ビット数Ｕとによって特定できる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
＜復号処理＞
復号装置１２（図１）は図１４に例示する復号方法の各ステップを実行する。
正規化値復号部１２３は、復号装置１２に入力された正規化値量子化インデックスに対応する復号正規化値τＸ−を求める（ステップＤ１）。
例えば、図示していないコードブック記憶部に複数の正規化値量子化インデックスのそれぞれに対応する正規化値が記憶されているとする。正規化値復号部１２１は、入力された正規化量子化インデックスをキーとしてそのコードブック記憶部を参照して、その正規化量子化インデックスに対応する正規化値を取得して、復号正規化値τＸ−とする。復号正規化値τＸ−は、第１復号部１２７と第２復号部１２８に送られる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
正規化値再計算部１２８１は、所定個数の復号値Ｅ＾（ｋ）の絶対値の和が大きいほど小さい値を取る正規化値再計算値τＸ＝を計算する（ステップＤ４３）。計算された正規化値再計算値τＸ＝は、合成部１２８３に送られる。正規化値再計算値τＸ＝は、τＸの上付きダブルバーを意味する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
［ステップＤ４３の具体例］
例えば、正規化値再計算部１２８１は、図１６に記載された各処理を行うことにより、正規化値再計算値τＸ＝の値を求める。正規化値再計算値τＸ＝は、符号化において量子化対象値Ｅ（ｋ）が０とされたサンプルを代表する値である。この例では、下式（２）に示すように、Ｃ０個のサンプルのパワーの合計Ｃ０・τＸ−２から、符号化において量子化対象値Ｅ（ｋ）が０とされなかったサンプルのパワーの合計ｔｍｐを減算した値を、量子化対象値Ｅ（ｋ）が０とされたサンプルの数ｍで割り、その平方根を取ることにより、正規化値再計算値τＸ＝を計算する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
［ステップＤ４４の具体例］
合成部１２８３は、例えば、図１７に記載された各処理を行うことにより、復号信号を求める。なお、Ｃ０がＬである場合には、フレームごとに図１７のステップＥ４４の処理が実行され、Ｃ０が１およびＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図１７のステップＤ４４の処理が繰り返し実行される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
正規化値再計算部１２８１は、所定個数の復号値Ｅ＾（ｋ）の絶対値の和が大きいほど小さい値を取る正規化値再計算値τＸ＝を計算する（ステップＤ４３）。計算された正規化値再計算値τＸ＝は、合成部１２８３’に送られる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
また、第２復号部１２８の正規化値再計算部１２８１の代わりに正規化値再計算部１２８１’が設けられてもよい。
正規化値再計算部１２８１’は、ステップＤ４３’（図１５）において、正規化値再計算値τＸ’＝が０でない場合には正規化値再計算値τＸ＝と前回計算された正規化値再計算値τＸ’＝とを重み付き加算した値を上記正規化値再計算値τＸ＝とする。正規化値再計算値τＸ’＝が０の場合、正規化値再計算部１２８１’は、正規化値再計算値の重み付き加算、すなわち正規化値再計算値の平滑化を行わない。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
Ｃ０＝Ｌでありフレームごとに正規化値再計算値τＸ＝を計算している場合には、前回計算された正規化値再計算値τＸ’＝は、１フレーム過去に正規化値再計算部１２８１’により計算された正規化値再計算値である。Ｃ０が１およびＬ以外のＬの約数であり、周波数成分をＬ／Ｃ０個のサブバンドに分けてサブバンドごとに正規化値再計算値を計算する場合には、前回計算された正規化値再計算値τＸ’＝は、同じサブバンドの１フレーム前に計算された正規化値再計算値であってもよいし、既に計算された同じフレームの連続する前または後のサブバンドの正規化値再計算値であってもよい。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
前回計算された正規化値再計算値τＸ’＝を考慮して今回新たに計算される正規化値再計算値をτＸｐｏｓｔ＝とすると、τＸｐｏｓｔ＝は次式のように表わされる。α１とβ１は調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α１＝β１＝０．５である。
【数２０】
2012005210.tif 000049
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
このように、前回計算された正規化値再計算値τＸ’＝を考慮して正規化値再計算値を計算することにより、前回計算された正規化値再計算値τＸ’＝と今回計算される正規化値再計算値の値が近くなり、これらの連続性が上がるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るミュージカルノイズ等を更に軽減することができる。
【手続補正１９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各前記復号値が０の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化値再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、前記モード情報が第１値である場合に別の第１復号方式を選択する切り替えステップと、
前記切り替えステップで選択された前記第１復号方式又は前記第２復号方式で復号処理を行う復号ステップと、
を有する復号方法。
【手続補正２０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
入力されたモード情報が第２値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各上記復号値が０の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化値再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第２復号方式を選択し、前記モード情報が第１値である場合に別の第１復号方式を選択する切り替え部と、
前記切り替え部で選択された前記第１復号方式又は前記第２復号方式で復号処理を行う復号部と、
を有する復号装置。
【手続補正書】
【提出日】平成25年6月19日(2013.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
入力された所定個数のサンプルに含まれる、当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプル、の個数に対応する値を評価値としたとき、前記評価値が第２基準値よりも小さい又は前記第２基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、前記第２符号化方式を選択しない場合に別の第１符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択ステップと、
前記符号化方式選択ステップで選択された前記第１符号化方式又は前記第２符号化方式で前記所定個数のサンプルを符号化する符号化ステップと、
を有する符号化方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
入力された所定個数のサンプルに含まれる、当該サンプルに対応する値の大きさが第１基準値よりも小さなサンプル、の個数に対応する値を評価値としたとき、前記評価値が第２基準値よりも小さい又は前記第２基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第２符号化方式を選択し、前記第２符号化方式を選択しない場合に別の第１符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択部と、
前記符号化方式選択部で選択された前記第１符号化方式又は前記第２符号化方式で前記所定個数のサンプルを符号化する符号化部と、
を有する符号化装置。
【国際調査報告】
2012005210.tif 000050
2012005210.tif 000051
2012005210.tif 000052
2012005210.tif 000053