(57)【要約】  符号化では、複数組の、サンプルそれぞれの位置に対応する予め定めた係数による組の中から、サンプルの値と、サンプルの量子化値とサンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する。復号では、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とし、入力されたインデックス情報が表す、複数のサンプル位置に対応する予め定めた係数による組を用い、各サンプル位置に対応する、復号値と当該係数とを乗算した値を出力する。
2012005211.tif 000002
【特許請求の範囲】
【請求項１】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化ステップと、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択ステップと、
を有する符号化方法。
【請求項２】
請求項１の符号化方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成される。
【請求項３】
請求項１の符号化方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。
【請求項４】
請求項１から３の何れかの符号化方法であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である。
【請求項５】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号ステップと、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算ステップと、
を有する復号方法。
【請求項６】
請求項５の復号方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成される。
【請求項７】
請求項５の復号方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。
【請求項８】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化部と、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択部と、
を有する符号化装置。
【請求項９】
請求項８の符号化装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成される。
【請求項１０】
請求項８の符号化装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。
【請求項１１】
請求項８から１０の何れかの符号化装置であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である。
【請求項１２】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号部と、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算部と、
を有する復号装置。
【請求項１３】
請求項１２の復号装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成される。
【請求項１４】
請求項１２の復号装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。
【請求項１５】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１６】
請求項５の復号方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１７】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１８】
請求項５の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば音声や音楽などの音響、映像等の信号系列をベクトル量子化により符号化又は復号する技術に関する。
【背景技術】
【０００２】
特許文献１に記載された符号化装置では、入力信号はまず正規化値で割算され正規化される。正規化値は量子化され、量子化インデックスが生成される。正規化された入力信号はベクトル量子化され、量子化代表ベクトルのインデックスが生成される。生成された量子化インデックス及び量子化代表ベクトルは、復号装置に出力される。復号装置では、量子化インデックスが復号され正規化値が生成される。量子化代表ベクトルのインデックスが復号されてサンプル列が生成される。生成されたサンプル列のそれぞれのサンプルに正規化値を乗算して得られた値の列が復号信号サンプル列となる。【０００３】
一方、量子化ノイズの少ない高能率なベクトル量子化手法として、例えばＳＶＱ法（Spherical Vector Quantization、例えば非特許文献１参照）など、予め設定された量子化ビット数の範囲内で、複数の入力信号をまとめて量子化するベクトル量子化手法が広く利用されている。【０００４】
ＳＶＱ法では、量子化正規化値を用いてＭＤＣＴ（Modified Discrete Cosine Transform）係数などの入力信号の各サンプルが正規化され、正規化された各サンプルがサブバンドごとにまとめて量子化される。この際、サブバンド毎の聴覚的重要度に応じ、各サブバンドに対応する符号のビット数（量子化ビット数）が動的に割り当てられる。またＳＶＱ法では、入力信号のスパース性が仮定され、入力信号の主要成分が優先的に量子化される。そのため、高調波や母音のように周波数領域でのエネルギーがまばらにしか存在しない入力信号（スパース信号）を高精度に量子化できる。【０００５】
しかしながら、多くの周波数にエネルギーが分布する入力信号の各サンプルをＳＶＱ法で量子化した場合、入力信号に存在するはずの周波数成分が量子化値から復元された復号信号には存在しない（復号信号から周波数成分が欠損する）頻度が高くなる。このように復号信号から周波数成分が欠損した場合、復号信号の或る周波数成分の有無が時間的に不連続に変化する頻度が高くなる。人間は、このような周波数成分の有無の時間的に不連続な変化に敏感である。入力信号が例えば音響信号である場合、このような変化はミュージカルノイズと呼ばれるノイズとして知覚される場合がある。また、入力信号が映像信号である場合には、音響信号でいうところのミュージカルノイズに相当するような、ブロックノイズが発生する場合がある。以下、ミュージカルノイズ及びブロックノイズを総称して「ミュージカルノイズ等」と呼ぶ。【０００６】
これに対し、ＳＶＱ法と比べ、復号信号から周波数成分が欠損する頻度が比較的低いＡＶＱ法（Algebraic Vector Quantization、例えば非特許文献２参照）というベクトル量子化手法がある。ＡＶＱ法はＳＶＱ法と同様に信号のスパース性を仮定した手法であるが、ＳＶＱ法よりも多くの周波数成分を復元可能な量子化値を得ることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−２６１８００号公報
【非特許文献】
【０００８】
【非特許文献１】Recommendation ITU-T 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.
【非特許文献２】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.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＡＶＱ法の振幅の量子化精度はＳＶＱ法と比べて荒い。たとえ復号信号から周波数成分が欠損する頻度が低くても振幅の量子化精度が荒ければ、ミュージカルノイズ等が発生する。このような問題はＡＶＱ法に限られるものではなく、量子化精度に基づいてミュージカルノイズ等が発生する場合に共通する。また、このような問題は入力信号が周波数領域の信号である場合だけではなく、入力信号が時間領域の信号である場合にも生じ得る。
本発明では、量子化精度に基づいて発生するミュージカルノイズ等を低減する技術が提供される。
【課題を解決するための手段】
【００１０】
符号化では、複数組の、サンプルそれぞれの位置に対応する予め定めた係数による組の中から、サンプルの値と、サンプルの量子化値とサンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する。復号では、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とし、入力されたインデックス情報が表す、複数のサンプル位置に対応する予め定めた係数による組を用い、各サンプル位置に対応する、復号値と当該係数とを乗算した値を出力する。
【発明の効果】
【００１１】
符号化においては、複数のサンプルそれぞれの量子化値に乗じられる複数個の係数による組を表すインデックス情報を出力するため、復号時の量子化誤差を低減させ、ミュージカルノイズ等を低減させることができる。
復号においては、インデックス情報が表す複数個の係数を複数の復号値に乗じるため、量子化誤差を低減でき、ミュージカルノイズ等を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は符号化装置及び復号装置の例の機能ブロック図である。
【図２】図２は符号化方法の例の流れ図である。
【図３】図３はステップＥ４の例の流れ図である。
【図４】図４は復号方法の例の流れ図である。
【図５】図５はステップＤ３の例の流れ図である。
【図６】図６は入力信号と量子化値と勾配係数（傾き補正ゲイン）との関係を例示した図である。
【発明を実施するための形態】
【００１３】
以下、この発明の一実施形態を詳細に説明する。
（構成）
図１に例示するように、実施形態の符号化装置１１は、正規化値計算部１１２、正規化値量子化部１１３、ベクトル量子化部１１５及び勾配計算部１１６（「係数組選択部」に相当）を例えば含む。図１に例示するように、実施形態の復号装置１２は、正規化値復号部１２１、ベクトル復号部１２２及び勾配修正部１２４を例えば含む。必要に応じて、符号化装置１１は、周波数領域変換部１１１を例えば含んでいてもよい。復号装置１２は、時間領域変換部１２５、平滑化部１２６を例えば含んでいてもよい。
【００１４】
（符号化処理）
符号化装置１１は図２に例示する符号化方法の各ステップを実行する。
入力信号Ｘ（ｋ）は正規化値計算部１１２、ベクトル量子化部１１５及び勾配計算部１１６に入力される。この例の入力信号Ｘ（ｋ）は、音響信号などの時系列信号である時間領域信号ｘ（ｎ）を周波数領域に変換して得られる周波数領域信号である。周波数領域の入力信号Ｘ（ｋ）が符号化装置１１に直接入力されてもよいし、周波数領域変換部１１１が入力された時間領域の入力信号ｘ（ｎ）を周波数領域に変換して周波数領域の入力信号Ｘ（ｋ）が生成されてもよい。周波数領域変換部１１１が周波数領域の入力信号Ｘ（ｋ）を生成する場合、周波数領域変換部１１１は、入力された時間領域の入力信号ｘ（ｎ）を、例えばＭＤＣＴ（Modified Discrete Cosine Transform）により周波数領域の入力信号Ｘ（ｋ）に変換して出力する。ｎは時間領域での信号の番号（離散時間番号）であり、ｋは周波数領域での信号（サンプル）の番号（離散周波数番号）である。ｎの値が大きいほど遅い時間に対応する。ｋの値が大きいほど高い周波数に対応する。１フレームがＬ個のサンプルで構成されているとして、時間領域信号ｘ（ｎ）はフレームごとに周波数領域に変換され、Ｌ個の周波数成分を構成する周波数領域の入力信号Ｘ（ｋ）（ｋ＝０，１，…，Ｌ−１）が生成される。Ｌは所定の正の数、例えば６４や８０などの１よりも大きな整数である。なお、ＭＤＣＴを用いる場合には、入力された時系列信号であるＬ個のサンプルからなるフレームごとに周波数領域へ変換され、この変換対象となるフレームが１／２フレームずつ、すなわち、Ｌ／２個のサンプルずつシフトされる。
正規化値計算部１１２は、フレームごとに、入力された入力信号Ｘ（ｋ）のＬ個のサンプルのうちの所定の個数Ｃ０のサンプルを代表する値である正規化値τＸ０−を計算する（ステップＥ１）。τＸ０−は、τＸ０の上付きバーを意味する。ここで、τは、１フレーム中のＬ個のサンプルのうちの所定の個数Ｃ０のサンプルにより構成される各サブバンドに対して、一意に割り当てられた０以上の整数とする。
【００１５】
Ｃ０は、Ｌ、又は、１及びＬ以外のＬの公約数である。なお、Ｃ０をＬとすることは、Ｌ個のサンプルごとに正規化値を求めることを意味する。Ｃ０を１及びＬ以外のＬの公約数にすることは、Ｌ個のサンプルをサブバンドに分割して、各サブバンドを構成するＣ０個のサンプルごとに正規化値を求めることを意味する。例えば、Ｌ＝６４であり、８個の周波数成分でサブバンドを構成するとした場合には、８個のサブバンドが構成され、各サブバンドの正規化値が計算される。また、Ｃ０がＬである場合τ＝０であり、正規化値τＸ０−はＬ個のサンプルを代表する値である。すなわち、Ｃ０がＬである場合、フレームごとに１つの正規化値τＸ０−が計算される。一方、Ｃ０が１及びＬ以外のＬの公約数である場合、τは１フレーム中の各サブバンドに対応する整数τ＝０，…，(L/Ｃ０)-1であり、正規化値τＸ０−はτに対応するサブフレームに属するＣ０個のサンプルを代表する値である。すなわち、Ｃ０が１及びＬ以外のＬの公約数である場合、フレームごとに(L/Ｃ０)個の正規化値τＸ０−（τ＝０，…，(L/Ｃ０)-1）が計算される。また、Ｃ０の値にかかわらずｋ＝τ・Ｃ０，・・・，（τ＋１）・Ｃ０−１である。正規化値計算部１１２で計算されたτＸ０−は、正規化値量子化部１１３に送られる。
【００１６】
［正規化値τＸ０−の具体例］
正規化値τＸ０−は、Ｃ０個のサンプルを代表する値である。言い換えると、正規化値τＸ０−は、Ｃ０個のサンプルに対応する値である。正規化値τＸ０−の例は、以下のようなＣ０個のサンプルのパワー平均値に対する平方根である。
【数１】
2012005211.tif 000003
正規化値τＸ０−の他の例は、以下のようなＣ０個のサンプルのパワー合計値に対する平方根をＣ０で除した値である。
【数２】
2012005211.tif 000004
正規化値τＸ０−の他の例は、以下のようなＣ０個のサンプルの平均振幅値である。
【数３】
2012005211.tif 000005
正規化値τＸ０−は上記の例に限定されない（［正規化値τＸ０−の具体例］の説明終わり）。
【００１７】
正規化値量子化部１１３は、正規化値τＸ０−を量子化した量子化正規化値τＸ−及びその量子化正規化値τＸ−に対応する正規化値量子化インデックスを求める（ステップＥ２）。τＸ−は、τＸの上付きバーを意味する。量子化正規化値τＸ−はベクトル量子化部１１５に送られ、正規化値量子化インデックスに対応する符号（ビットストリーム）が復号装置１２に送られる。
【００１８】
ベクトル量子化部１１５は、フレームごとに、入力された入力信号Ｘ（ｋ）のＬ個のサンプルのうちの複数のサンプルＸ（ｋ）をまとめてベクトル量子化してベクトル量子化インデックスを生成する。ベクトル量子化インデックスは、量子化代表ベクトルを表わすインデックスである。この例のベクトル量子化部１１５は、量子化正規化値τＸ−を用いて複数のＸ（ｋ）を正規化し、正規化された複数のサンプルＸ（ｋ）’を求める。例えば、ベクトル量子化部１１５は、Ｘ（ｋ）をτＸ−で除算する、もしくはＸ（ｋ）にτＸ−の逆数を乗ずることでＸ（ｋ）’を求める。ベクトル量子化部１１５は、例えば、図示していないベクトルコードブック記憶部に記憶された複数の量子化代表ベクトルの中から、複数のＸ（ｋ）’を成分とするベクトルに最も近い量子化代表ベクトルを選択し、選択された量子化代表ベクトルを表わすベクトル量子化インデックスを出力することにより、ベクトル量子化を行う。ベクトル量子化部１１５は、例えばＣ０個のＸ（ｋ）’をまとめてベクトル量子化を行う。ベクトル量子化部１１５は、例えばＡＶＱ法（例えば非特許文献２等参照）等のベクトル量子化方法を用いてベクトル量子化を行うが、これ以外のベクトル量子化方法が採用されてもよい。また、Ｃ０がサブバンドのサンプル数である場合、人間の聴覚特性を考慮した優先順位が低いサブバンドについてベクトル量子化がなされなくてもよい。優先順位は、例えば、人間が知覚しやすい周波数に対応するサブバンドほど高い。例えば、量子化正規化値τＸ−が大きいサブバンドほど優先順位を高くする。
【００１９】
また、ベクトル量子化によって得られる符号のビット数は、入力信号に応じて様々である。入力信号によっては、ベクトル量子化によって得られる符号（ベクトル量子化インデックスなど）のビット数が、ベクトル量子化用に割り当てられたビット数未満となり、ベクトル量子化用に割り当てられたビットの一部が余る場合がある。なお、「ベクトル量子化用に割り当てられたビット」とは、符号化装置１１から復号装置１２に送られる符号のうちで、ベクトル量子化によって得られる符号（ベクトル量子化インデックスに対応する符号）のために割り当てられたビットを意味する。「ベクトル量子化用に割り当てられたビット数」は、ベクトル量子化用に割り当てられたビットのビット数を表す。「ベクトル量子化用に割り当てられたビット数」は、フレームごとに定められたものであってもよいし、サブバンドごとに定められたものであってもよい。また、「ベクトル量子化用に割り当てられたビット数」は、入力信号に応じて変動するものであってもよいし、入力信号にかかわらず固定されたものであってもよい。ベクトル量子化部１１５は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Ｕとして計算する。本形態の例では、１フレームごと（Ｌ個のサンプルごと）に未使用ビット数Ｕを計算する。例えば、ベクトル量子化部１１５は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、実際にそのフレームに属するＬ個のサンプルのベクトル量子化によって得られたベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Ｕとする。Ｕは０以上の整数である。
【００２０】
さらに、ベクトル量子化部１１５は、ベクトル量子化インデックスをローカルデコードした値である複数の量子化値Ｘ＾（ｋ）を出力する。例えば、ベクトル量子化部１１５は、ベクトル量子化インデックスによって表される量子化代表ベクトルの各成分Ｘ（ｋ）’を、量子化正規化値τＸ−を用いて逆正規化した値をＸ（ｋ）の量子化値Ｘ＾（ｋ）として出力する。例えば、ベクトル量子化部１１５は、Ｘ（ｋ）’とτＸ−との乗算値を量子化値Ｘ＾（ｋ）として出力する。この例の量子化値Ｘ＾（ｋ）は復号装置１２で得られる復号値Ｘ＾（ｋ）と等しい。ベクトル量子化がなされていないサブバンドの量子化値Ｘ＾（ｋ）は０となる。なお、Ｘ＾は、Ｘの上付きハットを意味する。
【００２１】
ベクトル量子化部１１５は、ベクトル量子化インデックス、未使用ビット数Ｕ及び量子化値Ｘ＾（ｋ）を勾配計算部１１６に送る（ステップＥ３）。
【００２２】
勾配計算部１１６は、ＭＭＡＸ組の、Ｃ０個の勾配係数（傾き補正ゲイン）により構成される組を、例えば図示していない記憶部に保持する。ＭＭＡＸは２以上の整数である。例えば、勾配計算部１１６は、Ｃ０個の勾配係数（傾き補正ゲイン）γｍ（ｋ）（ｋ＝０,・・・,Ｃ０−１）を要素とする勾配係数ベクトルγｍ＝［γｍ（０）,・・・,γｍ（Ｃ０−１）］（複数個の勾配係数による組）をｍ（ｍ＝０,・・・,ＭＭＡＸ−１）行目の行ベクトルとする式（１）に示す勾配行列γを保持する。
【数４】
2012005211.tif 000006
【００２３】
勾配計算部１１６は、フレームごとに、入力された入力信号Ｘ（ｋ）のＬ個のサンプルのうちのＣ０個のサンプルＸ（ｋ）（ｋ＝０,・・・,Ｃ０−１）に対応する値を要素とする第１ベクトルと、これらＣ０個のサンプルＸ（ｋ）の量子化値Ｘ＾（ｋ）（ｋ＝０,・・・,Ｃ０−１）のそれぞれを勾配係数ベクトルγｍの各要素γｍ（ｋ）で修正したＣ０個の修正値に対応する値を要素とする第２ベクトルとの誤差を最小化する（例えば最小にする）勾配係数ベクトルの行番号ｍ’を求め、行番号ｍ’を表すインデックス情報ｉｄｘをベクトル量子化用に割り当てられたビットのうちで使用されなかったビットの領域（「未使用ビット領域」と呼ぶ）に書き込む。
言い換えると、勾配計算部１１６は、複数の勾配係数γｍ（ｋ）を要素とする勾配係数ベクトルγｍを行ベクトルとする勾配行列γの中から、複数のサンプルＸ（ｋ）に対応する値を要素とする第１ベクトルと、複数の量子化値Ｘ＾（ｋ）を勾配係数ベクトルγｍの各要素で修正した複数の修正値に対応する値を要素とする第２ベクトルとの間の誤差を最小化する勾配係数ベクトルの行番号ｍ’を表すインデックス情報ｉｄｘを出力し、ベクトル量子化インデックスに対応する符号（ビットストリーム）の未使用ビット領域に配置する。
すなわち、勾配計算部１１６は、例えば、複数組の、サンプルＸ（ｋ）それぞれの位置に対応する予め定めた係数γｍ（ｋ）による組の中から、サンプルＸ（ｋ）の値と、サンプルの量子化値Ｘ＾（ｋ）とサンプルのそれぞれの位置に対応する係数γｍ（ｋ）とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数γｍの組を表すインデックス情報ｉｄｘを出力する。なお、本形態の「サンプルＸ（ｋ）それぞれの位置」は、各離散周波数番号ｋに対応する周波数軸上の位置である（ステップＥ４）。
【００２４】
これにより、符号化装置１１は、未使用ビット領域を有効利用して振幅の量子化誤差を修正するための情報を復号装置１２に送ることができ、量子化精度に基づいて発生するミュージカルノイズ等を低減させることができる。
【００２５】
勾配係数ベクトルγｍの要素であるＣ０個の勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）は互いに相関を持つ。言い換えると、各勾配係数ベクトルγｍは互いに相関を持つ複数の勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とするベクトルである。Ｘ（０），・・・, Ｘ（Ｃ０−１）は、ｋを第１軸にとり、Ｘ（ｋ）を第２軸にとる（ｋ, Ｘ（ｋ））平面上の直線や曲線に偏って分布する場合が多い。このようなＸ（０），・・・, Ｘ（Ｃ０−１）の特性を考慮した勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とする勾配係数ベクトルγｍを用いることで、量子化誤差を高い精度で修正できる。例えば、同一の行番号ｍに対応する各勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）が、ｋ（勾配係数γｍ（ｋ）が乗じられる量子化値Ｘ＾（ｋ）に対応する周波数に対応する値、言い換えると、勾配係数γｍ（ｋ）に対応する周波数に対応する値）を第１軸にとりγｍ（ｋ）（勾配係数の値）を第２軸にとる（ｋ, γｍ（ｋ））平面上の直線又は特定の曲線に偏って分布するものとする。言い換えると、例えば列番号に対応する値ｋを第１軸にとり当該列番号での勾配係数γｍ（ｋ）を第２軸にとる（ｋ, γｍ（ｋ））平面上の直線又は特定の曲線に偏って分布する複数の勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とするベクトルを勾配係数ベクトルγｍとする。より具体的には、例えば同一の行番号ｍに対応する各勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）が、（ｋ, γｍ（ｋ））平面上の直線上又は特定の曲線上に位置するものとする。言い換えると、（ｋ, γｍ（ｋ））平面上の直線又は特定の曲線上の各勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とするベクトルを勾配係数ベクトルγｍとした。（ｋ, γｍ（ｋ））平面上の直線上又は特定の曲線は、例えば行番号ｍごとに異なる。以下に勾配行列γを例示する。この例は、Ｃ０＝８、ＭＭＡＸ＝３の場合のものである。この例では、各勾配係数γｍ（０），・・・, γｍ（７）が行番号ｍ（ｍ＝０,１,２）ごとに定められた直線上に配置される。
【数５】
2012005211.tif 000007
【００２６】
第１ベクトルの例は、Ｃ０個のＸ（ｋ）を要素とするベクトル、Ｃ０個のＸ（ｋ）の大きさ｜Ｘ（ｋ）｜を要素とするベクトル、Ｃ０個のＸ（ｋ）又は｜Ｘ（ｋ）｜に定数や変数を乗じた値を要素とするベクトルなどである。第２ベクトルの例は、Ｃ０個の修正値を要素とするベクトル、Ｃ０個の修正値の大きさを要素とするベクトル、Ｃ０個の修正値又は大きさに定数や変数を乗じた値を要素とするベクトルなどである。修正値の例は、Ｘ＾（ｋ）とγｍ（ｋ）との積、Ｘ＾（ｋ）の大きさ｜Ｘ＾（ｋ）｜とγｍ（ｋ）との積、Ｘ＾（ｋ）とγｍ（ｋ）との積の大きさ、Ｘ＾（ｋ）とγｍ（ｋ）との積の大きさを表す値、その他Ｘ＾（ｋ）とγｍ（ｋ）との積に対応する値などである。
【００２７】
第１ベクトルと第２ベクトルとの間の誤差の例は、第１ベクトルと第２ベクトルとの間の距離である。距離の定義に限定はなく、マンハッタン距離、ユークリッド距離、それらの変形等どのようなものでもよい。第１ベクトルと第２ベクトルとの誤差を最小化する勾配係数ベクトルの例は、第１ベクトルと第２ベクトルとの誤差を最小にする勾配係数ベクトルや、或る探索条件や探索範囲内で第１ベクトルと第２ベクトルとの誤差を最小にする勾配係数ベクトルなどである。
【００２８】
未使用ビット領域は、例えば、定められた未使用ビット領域の基準位置（例えば先頭アドレス）と入力された未使用ビット数Ｕとによって特定できる。ただし、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘのビット数の上限は未使用ビット数Ｕである。よって、必ずしもあらゆる行番号に対応するインデックス情報ｉｄｘを未使用ビット領域に書き込めるとは限らない。そこで勾配計算部１１６は、例えば、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘで識別可能な行番号の範囲を探索範囲とし、行番号ｍ’を選択する。言い換えると、勾配計算部１１６は、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘが表す行番号ｍ’のみを選択する。すなわち、勾配計算部１１６は、ベクトル量子化インデックスに対応する符号用に割り当てられたビット数うち実際にベクトル量子化インデックスに対応する符号に用いられなかったビット数で表現可能なインデックス情報ｉｄｘで識別可能な行番号ｍ’のみを選択する。例えば、勾配計算部１１６は、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘで識別可能なｍＭＡＸ種類の行番号ｍ＝０，・・・,ｍＭＡＸ−１から、以下のような行番号ｍ’を特定し、行番号ｍ’に対応するインデックス情報ｉｄｘを未使用ビット領域に書き込む。
【数６】
2012005211.tif 000008
なお、‖・‖は・のノルムであり、ａｒｇｍｉｎｍ‖・‖は‖・‖を最小にするｍをｍ’とすることを意味し、ａｒｇｍｉｎｍはａｒｇｍｉｎの下付きのｍを意味し、χ＝［Ｘ（０），・・・，Ｘ（Ｃ０−１）］、χ＾＝［Ｘ＾（０），・・・，Ｘ＾（Ｃ０−１）］であり、Ａｍは以下のような行番号ｍに対応する勾配係数ベクトルγｍ＝［γｍ（０），・・・,γｍ（Ｃ０−１）］を対角成分に持つ対角行列を意味する。
【数７】
2012005211.tif 000009
上述のようなインデックス情報ｉｄｘのビット数は、ベクトル量子化インデックスに対応する符号用に割り当てられたビット数からベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である。以上より、未使用ビット領域のみを用いてインデックス情報ｉｄｘを伝送できる。
【００２９】
［ステップＥ４の具体例］
この例の勾配計算部１１６は、図３に記載された各処理を行い、選択した勾配係数ベクトルの行番号を表すインデックス情報ｉｄｘを、未使用ビット領域に書き込む。Ｃ０がＬである場合には、フレームごとに図３のステップＥ４の処理が実行され、Ｃ０が１及びＬ以外のＬの公約数である場合には、１フレーム中の各サブバンドについて図３のステップＥ４の処理が繰り返し実行される。
勾配計算部１１６は、入力された未使用ビット数Ｕと０とを比較し（ステップＥ４０）、Ｕ＞０でなければ、以下に示すように、勾配計算部１１６は、入力された複数の量子化値Ｘ＾（０），・・・，Ｘ＾（Ｃ０−１）を更新することなく、ステップＥ４の処理を終える（ステップＥ４１２）。
【数８】
2012005211.tif 000010
Ｕ＞０であれば、勾配計算部１１６は、ｍ＝０，ｉｄｘ＝０とすることでｍ及びｉｄｘの値を初期化し（ステップＥ４１）、ステップＥ４２に進む。
【００３０】
ステップＥ４２では、勾配計算部１１６は、未使用ビット数Ｕを用い、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘで識別可能な行番号の範囲を探索範囲として定め、この探索範囲（行番号の範囲）を特定するための探索範囲特定値ｍＭＡＸを特定する。言い換えると、勾配計算部１１６は、未使用ビット領域に書き込むことが可能なインデックス情報ｉｄｘで識別可能な行番号の種類を特定するｍＭＡＸを求める（ステップＥ４２）。
【００３１】
通常、未使用ビット数Ｕのビットでは２Ｕ種類の行番号を識別可能である。そのため、２Ｕ種類の行番号の範囲を探索範囲としてもよい。しかしながら、この具体例では「勾配係数ベクトルγｍ’を用いた補正を行わない」ことを示す値をインデックス情報ｉｄｘが取り得る値の１つに割り当て、残りの２Ｕ−１個の値で識別可能な２Ｕ−１種類の行番号を探索範囲とする。探索範囲（行番号の範囲）とｍＭＡＸとの関係は予め定められる必要がある。この具体例のｍＭＡＸは１以上２Ｕ−１以下なおかつＭＭＡＸ以下の整数であり、探索範囲が行番号０，・・・,ｍＭＡＸ−１である。勾配計算部１１６は、例えば以下の式によってｍＭＡＸを求める。
ｍＭＡＸ＝ｍａｘ［ｍｉｎ｛２Ｕ−１，ＭＭＡＸ｝，１］
勾配計算部１１６は、以下の式に表される計算を行う（ステップＥ４３）。
【数９】
2012005211.tif 000011
【００３２】
勾配計算部１１６は、ｍとｍＭＡＸとを比較（ステップＥ４４）し、ｍ＜ｍＭＡＸであれば、勾配計算部１１６は、以下のようにeを計算し（ステップＥ４５）、ｅＭＩＮとｅとを比較し（ステップＥ４６）、ｅＭＩＮ＞ｅでなければ勾配計算部１１６は、ｍを１だけインクリメントし（ステップＥ４８）、ステップＥ４４に進む。
【数１０】
2012005211.tif 000012
ｅＭＩＮ＞ｅであれば勾配計算部１１６は、ｉｄｘ＝ｍ＋１及びｅＭＩＮ＝ｅとすることでｉｄｘ及びｅＭＩＮを更新し（ステップＥ４７）、ｍを１だけインクリメントして（ステップＥ４８）、ステップＥ４４に進む。
【００３３】
一方、ステップＥ４４でｍ＜ｍＭＡＸでないと判定された場合、勾配計算部１１６は、未使用ビット領域にｉｄｘを書き込み（ステップＥ４９）。この例の勾配計算部１１６は、復号装置１２が、ｍＭＡＸに基づいて、必要なｉｄｘが未使用ビット領域のどこに配置されているのかを特定できるようにしておく。例えば、未使用ビット領域でのｉｄｘの格納位置がｍＭＡＸによって定まる。
次に勾配計算部１１６は、ｉｄｘ＞０であるか否か（ｉｄｘ＝０であるか否か）を判定する（ステップＥ４１０）。ｉｄｘ＞０であれば（ｉｄｘ＝０でなければ）、勾配計算部１１６は、ローカルデコード値である複数の量子化値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を、以下のように更新し（ステップＥ４１１）、ステップＥ４の処理を終える。
【数１１】
2012005211.tif 000013
ｉｄｘ＞０でなければ（ｉｄｘ＝０であれば）、以下に示すように、勾配計算部１１６は、ローカルデコード値である複数の量子化値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を更新することなく（ステップＥ４１２）、ステップＥ４の処理を終える。
【数１２】
2012005211.tif 000014
ただし、Ｃ０がＬである場合ｂ＝０である。Ｃ０が１及びＬ以外のＬの公約数である場合、ｂは１フレーム中の各サブバンドに対応する整数０，…，(L/Ｃ０)-1の何れかであり、例えば最も低い周波数のサブバンドに対応する整数０である（［ステップＥ４の具体例］の説明終わり）。
【００３４】
ベクトル量子化インデックスと未使用ビット領域に書き込まれたインデックス情報ｉｄｘとを含む修正後ベクトル量子化インデックスに対応する符号（ビットストリーム）は復号装置１２に送られる。
【００３５】
（復号処理）
復号装置１２は図４に例示する復号方法の各ステップを実行する。
正規化値復号部１２１は、復号装置１２に入力された正規化値量子化インデックスに対応する復号正規化値τＸ−を求める（ステップＤ１）。復号正規化値τＸ−は、ベクトル復号部１２２に送られる。
【００３６】
図示していないコードブック記憶部に複数の正規化値量子化インデックスのそれぞれに対応する正規化値が記憶されているとする。正規化値復号部１２１は、入力された正規化量子化インデックスをキーとしてそのコードブック記憶部を参照して、その正規化量子化インデックスに対応する正規化値を取得して、復号正規化値τＸ−とする。
【００３７】
ベクトル復号部１２２は、復号装置１２に入力された修正後ベクトル量子化インデックスが含むベクトル量子化インデックスに対応する複数の値を求めて複数の復号値Ｘ＾（ｋ）とする。また、ベクトル復号部１２２は、ベクトル量子化インデックスを用いて未使用ビット数Ｕを計算する（ステップＤ２）。
【００３８】
本形態では、図示していないベクトルコードブック記憶部に複数のベクトル量子化インデックスのそれぞれに対応する量子化代表ベクトルが記憶されているとする。ベクトル復号部１２２は、入力されたベクトル量子化インデックスに対応する量子化代表ベクトルをキーとしてそのベクトルコードブック記憶部を参照して、そのベクトル量子化インデックスに対応する量子化代表ベクトルを取得する。ベクトル復号部１２２は、量子化代表ベクトルの成分Ｘ（ｋ）’を量子化正規化値τＸ−で逆正規化した復号値Ｘ＾（ｋ）を出力する。例えば、ベクトル復号部１２２は、Ｘ（ｋ）’とτＸ−との乗算値を復号値Ｘ＾（ｋ）として出力する。
【００３９】
また、ベクトル復号部１２２は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Ｕとして計算する。本形態の例では、１フレームごと（Ｌ個のサンプルごと）に未使用ビット数Ｕを計算する。例えば、ベクトル復号部１２２は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、そのフレームに対応するベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Ｕとする。
【００４０】
復号値Ｅ＾（ｋ）及び未使用ビット数Ｕは、勾配修正部１２４に送られる。
勾配修正部１２４は、符号化装置１１で使用したのと同じ勾配行列γ（式（１）参照）を、例えば図示していない記憶部に保持する。勾配修正部１２４は、復号装置１２に入力された修正後ベクトル量子化インデックスが含む未使用ビット領域からインデックス情報ｉｄｘを読み出し、ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の各要素γｍ’（ｋ）（ｋ＝０,・・・,Ｃ０−１）を用い、Ｃ０個の復号値Ｘ＾（ｋ）（ｋ＝０,・・・,Ｃ０−１）を修正する。言い換えると、勾配修正部１２４は、複数の勾配係数γｍ（ｋ）を要素とする勾配係数ベクトルγｍを行ベクトルとする勾配行列γ中のインデックス情報ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の各要素γｍ’（ｋ）を用い、複数の復号値Ｘ＾（ｋ）を修正する（ステップＤ３）。例えば、勾配修正部１２４は、インデックス情報ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の要素γｍ’（ｋ）と復号値Ｘ＾（ｋ）との乗算値を復号値Ｘ＾（ｋ）の修正値Ｘ＾ＵＤ（ｋ）とする。勾配修正部１２４は修正値Ｘ＾ＵＤ（ｋ）を出力する。すなわち、勾配修正部１２４は、入力されたインデックス情報ｉｄｘが表す、複数のサンプル位置に対応する予め定めた係数γｍ’（ｋ）による組を用い、各サンプル位置に対応する復号値Ｘ＾（ｋ）と係数γｍ’（ｋ）とを乗算した値を出力する。
【００４１】
［ステップＤ３の具体例］
この例の勾配修正部１２４は、図５に記載された各処理を行い、復号値Ｘ＾（ｋ）を修正する。
勾配修正部１２４は、入力された未使用ビット数Ｕと０とを比較し（ステップＤ３０）、Ｕ＞０でなければ、以下に示すように、勾配計算部１１６は、入力された複数の量子化値Ｘ＾（０），・・・，Ｘ＾（Ｃ０−１）を更新することなく（ステップＤ３６）、ステップＤ３の処理を終える。
【数１３】
2012005211.tif 000015
【００４２】
Ｕ＞０であれば、勾配修正部１２４は、前述のステップＥ４２と同じ方法によってｍＭＡＸを設定する（ステップＥ３２）。勾配修正部１２４は、例えば以下の式によってｍＭＡＸを求める。
ｍＭＡＸ＝ｍａｘ［ｍｉｎ｛２Ｕ−１，ＭＭＡＸ｝，１］
【００４３】
勾配修正部１２４は、ｍＭＡＸに基づき、修正後ベクトル量子化インデックスの未使用ビット領域からインデックス情報ｉｄｘを読み込む（ステップＤ３３）。例えば、勾配修正部１２４は、ｍＭＡＸに基づいてインデックス情報ｉｄｘの格納位置を特定し、インデックス情報ｉｄｘを読み込む。
【００４４】
勾配修正部１２４は、ｉｄｘ＞０であるか否か（ｉｄｘ＝０であるか否か）を判定する（ステップＤ３４）。ｉｄｘ＞０であれば（ｉｄｘ＝０でなければ）、勾配修正部１２４は、複数の復号値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を、以下のように更新し（ステップＤ３５）、ステップＤ３の処理を終える。
【数１４】
2012005211.tif 000016
ｉｄｘ＞０でなければ（ｉｄｘ＝０であれば）、以下に示すように、勾配修正部１２４は、複数の復号値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を更新することなく（ステップＤ３６）、ステップＤ３の処理を終える。
【数１５】
2012005211.tif 000017
以上で［ステップＤ３の具体例］の説明を終える。
【００４５】
時間領域での復号信号が必要な場合、勾配修正部１２４から出力された修正値Ｘ＾ＵＤ（ｋ）は時間領域変換部１２５に入力され、時間領域変換部１２５はＸ＾ＵＤ（ｋ）を例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する。
【００４６】
（本形態の特徴）
このように本形態では、復号装置１２が符号化装置１１で選択された勾配係数ベクトルを用いて複数の復号値Ｘ＾（ｋ）を修正するため、量子化誤差に基づくミュージカルノイズ等を軽減できる。
【００４７】
また本形態では、互いに相関を持つ勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とするベクトルを勾配係数ベクトルγｍとした。例えば、（ｋ, γｍ（ｋ））平面上の直線又は特定の曲線に偏って分布する複数の勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）を要素とするベクトルを勾配係数ベクトルγｍとした。音声信号や音響信号などの入力信号のエンベロープは直線や曲線をなす場合が多く、このような入力信号の特性を反映させた勾配係数ベクトルγｍ用いることにより、インデックス情報ｉｄｘの情報量を抑制しつつ量子化誤差を高精度に修正できる。図６の例の場合、ｋ＝０，…，６３での入力信号の大きさ｜Ｘ（ｋ）｜はｋが大きいほど小さい。そのため、（ｋ, γｍ（ｋ））平面上の傾きが負となる直線に偏って分布する勾配係数γｍ（０），・・・, γｍ（６３）を要素とする勾配係数ベクトルγｍを用いて｜Ｘ（０）｜，・・・, ｜Ｘ（６３）｜を修正することで、量子化値の大きさ｜Ｘ＾（０）｜，・・・, ｜Ｘ＾（６３）｜との誤差を小さくできる。このようにサブバンドごとに入力信号の特性に適した勾配係数ベクトルγｍを用いることで量子化誤差を効率的に削減することができる。
【００４８】
また、符号化装置１１で選択された勾配係数ベクトルγｍ’を特定するためのインデックス情報ｉｄｘは未使用ビット領域を有効利用して伝送されるため、インデックス情報ｉｄｘを伝送するための付加領域が不要である。
【００４９】
変形例：
なお、本発明は上述の実施の形態に限定されるものではない。例えば、復号装置１２が平滑化部１２６を含む場合、平滑化部１２６は、ステップＤ３（図４）で得られた修正値Ｘ＾ＵＤ（ｋ）を入力とし、修正値Ｘ＾ＵＤ（ｋ）よりも過去の修正値Ｘ＾ＵＤ（ｋ）’が０でない場合、過去の修正値Ｘ＾ＵＤ（ｋ）’と修正値Ｘ＾ＵＤ（ｋ）とを重み付き加算した値を平滑化値Ｘ＾ＰＯＳＴ（ｋ）として出力する。Ｘ＾ＵＤ（ｋ）’が０の場合、平滑化部１２６は、修正値の重み付き加算、すなわち修正値の平滑化を行わず、Ｘ＾ＵＤ（ｋをＸ＾ＰＯＳＴ（ｋ）として出力する（図４／ステップＤ４）。過去の修正値Ｘ＾ＵＤ（ｋ）’の例は、修正値Ｘ＾ＵＤ（ｋ）に対応するフレームの１フレーム過去のステップＤ３で得られた修正値や、修正値Ｘ＾ＵＤ（ｋ）に対応するフレームの１フレーム過去のステップＤ４で得られた平滑化値などである。
【００５０】
Ｘ＾ＰＯＳＴ（ｋ）は次式のように表わされる。αとβは調整係数であり、求める性能及び仕様に応じて適宜決定される。例えば、α＝０．８５、β＝０．１５である。α、βは、求められる性能及び仕様に応じて適宜変更されてもよい。φ（・）は・の正負符号を表す。
【数１６】
2012005211.tif 000018
【００５１】
これにより、Ｘ＾ＵＤ（ｋ）の振幅特性の時間軸方向の不連続性によって生じるミュージカルノイズ等を軽減することができる。時間領域での復号信号が必要な場合、平滑化部１２６から出力されたＸ＾ＰＯＳＴ（ｋ）は時間領域変換部１２５に入力され、時間領域変換部１２５はＸ＾ＰＯＳＴ（ｋ）を例えば逆フーリエ変換により時間領域信号ｚ（ｎ）に変換して出力する。
【００５２】
また、入力信号Ｘ（ｋ）は、周波数領域信号である必要はなく、時間領域信号等の任意の信号であってもよい。すなわち、この発明は、周波数領域信号以外の任意の信号に対する符号化、復号に用いることができる。この場合、同一の行番号ｍに対応する各勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）が、例えばｋ（勾配係数γｍ（ｋ）が乗じられる量子化値Ｘ＾（ｋ）に対応する時間に対応する値、言い換えると、勾配係数γｍ（ｋ）に対応する時間に対応する値）を第１軸にとりγｍ（ｋ）（勾配係数の値）を第２軸にとる（ｋ, γｍ（ｋ））平面上の直線又は特定の曲線に偏って分布するものとする。より具体的には、例えば同一の行番号ｍに対応する各勾配係数γｍ（０），・・・, γｍ（Ｃ０−１）が、（ｋ, γｍ（ｋ））平面上の直線上又は特定の曲線上に位置するものとする。なお、この変形例ではｋが離散時間に対応する離散時間番号であり、「サンプルＸ（ｋ）それぞれの位置」は、離散時間番号ｋに対応する時間軸上の位置である。ｋが離散時間番号である場合、ｋの値が大きいほど遅い時間に対応する。
【００５３】
また、フレームごとに入力信号Ｘ（ｋ）に対する正規化値ＦＧＡＩＮが定められ、ベクトル量子化部１１５が入力信号の各サンプルの値Ｘ（ｋ）の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値を用い、量子化正規化値τＸ−の代わりにτＸ−を正規化値ＦＧＡＩＮで正規化した値を用い、ステップＥ３の処理が実行されてもよい。例えば、Ｘ（ｋ）がＸ（ｋ）／ＦＧＡＩＮに置換され、τＸ−がτＸ−／ＦＧＡＩＮに置換されて、ステップＥ３の処理が実行されてもよい。また、この場合、正規化値計算部１１２が存在せず、正規化値量子化部１１３に量子化正規化値τＸ−の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値が入力されてもよい。この場合、ベクトル量子化部１１５が、量子化正規化値τＸ−の代わりにＸ（ｋ）を正規化値ＦＧＡＩＮで正規化した値の量子化値を用いてステップＥ３の処理を行ってもよい。正規化値量子化インデックスが正規化値ＦＧＡＩＮで正規化した値の量子化値に対応するものであってもよい。
【００５４】
また、上記実施形態では、符号化装置１１の勾配計算部１１６が、ｉｄｘ＞０であるか否かを判定し、ｉｄｘ＞０であれば複数の量子化値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を更新し、ｉｄｘ＞０でなければ更新しないこととした（図３／ステップＥ４１０〜Ｅ４１２）。また、復号装置１２の勾配修正部１２４が、ｉｄｘ＞０であるか否かを判定し、ｉｄｘ＞０であれば複数の量子化値Ｘ＾（ｂ・Ｃ０），…，Ｘ＾（（ｂ＋１）・Ｃ０−１）を更新し、ｉｄｘ＞０でなければ更新しないこととした（図５／ステップＤ３４〜Ｄ３６）。これらの変形として、式（１）に示した勾配行列γに１の要素のみからなる行番号ｍ＝−１の行ベクトル（勾配係数ベクトル）γ−１＝［γ−１（０）,・・・,γ−１（Ｃ０−１）］＝［１,・・・,１］を付加し、ｉｄｘ＞０であるか否かにかかわらず勾配計算部１１６や勾配修正部１２４が、以下のような演算を行ってもよい。
【数１７】
2012005211.tif 000019
【００５５】
また、例示した行番号ｍやインデックス情報ｉｄｘの具体的な数値は本発明を限定するものではなく、例示したｍやｉｄｘの番号が繰り上がっても良いし、繰り下がってもよいし、一部の番号が使用されなくてもよい。
【００５６】
また、上記の実施形態ではインデックス情報ｉｄｘを未使用ビット数Ｕの未使用ビット領域に格納する例を示したが、インデックス情報ｉｄｘが未使用ビット領域に格納されない形態であってもよい。
【００５７】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５８】
ハードウェア、プログラム及び記録媒体：
上述した符号化装置１１や復号装置１２は、例えば、CPU(central processing unit)やRAM(random-access memory)などからなる公知又は専用のコンピュータと上述の処理内容が記述された特別なプログラムとから構成される。この場合、特別なプログラムはCPUに読み込まれ、CPUが特別なプログラムを実行することによって各機能が実現される。また、特別なプログラムは、単一のプログラム列によって構成されてもよいし、他のプログラムやライブラリを読み出して目的の機能を達成するものであってもよい。
【００５９】
このようなプログラムは、コンピュータで読み取り可能記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。コンピュータで読み取り可能な記録媒体の例は非一時的な（non-transitory）記録媒体である。プログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、プログラムを流通させてもよい。
【００６０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
また、符号化装置１１や復号装置１２の処理部の少なくとも一部が特別な集積回路であってもよい。
【符号の説明】
【００６１】
１１  符号化装置
１１１  周波数領域変換部
１１２  正規化値計算部
１１３  正規化値量子化部
１１５  ベクトル量子化部
１１６  勾配計算部
１２  復号装置
１２１  正規化値復号部
１２２  ベクトル復号部
１２４  勾配修正部
１２５  時間領域変換部
１２６  平滑化部
【図１】
2012005211.tif 000020
【図２】
2012005211.tif 000021
【図３】
2012005211.tif 000022
【図４】
2012005211.tif 000023
【図５】
2012005211.tif 000024
【図６】
2012005211.tif 000025
【手続補正書】
【提出日】平成23年10月24日(2011.10.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化ステップと、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択ステップと、
を有する符号化方法。
【請求項２】
請求項１の符号化方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである。
【請求項３】
請求項１の符号化方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する。
【請求項４】
請求項１から３の何れかの符号化方法であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である。
【請求項５】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号ステップと、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算ステップと、
を有する復号方法。
【請求項６】
請求項５の復号方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである。
【請求項７】
請求項５の復号方法であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する。
【請求項８】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化部と、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択部と、
を有する符号化装置。
【請求項９】
請求項８の符号化装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである。
【請求項１０】
請求項８の符号化装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する。
【請求項１１】
請求項８から１０の何れかの符号化装置であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である。
【請求項１２】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号部と、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算部と、
を有する復号装置。
【請求項１３】
請求項１２の復号装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである。
【請求項１４】
請求項１２の復号装置であって、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する。
【請求項１５】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１６】
請求項５の復号方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１７】
請求項１の符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１８】
請求項５の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【手続補正書】
【提出日】平成24年12月20日(2012.12.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
復号値Ｘ＾（ｋ）及び未使用ビット数Ｕは、勾配修正部１２４に送られる。
勾配修正部１２４は、符号化装置１１で使用したのと同じ勾配行列γ（式（１）参照）を、例えば図示していない記憶部に保持する。勾配修正部１２４は、復号装置１２に入力された修正後ベクトル量子化インデックスが含む未使用ビット領域からインデックス情報ｉｄｘを読み出し、ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の各要素γｍ’（ｋ）（ｋ＝０,・・・,Ｃ０−１）を用い、Ｃ０個の復号値Ｘ＾（ｋ）（ｋ＝０,・・・,Ｃ０−１）を修正する。言い換えると、勾配修正部１２４は、複数の勾配係数γｍ（ｋ）を要素とする勾配係数ベクトルγｍを行ベクトルとする勾配行列γ中のインデックス情報ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の各要素γｍ’（ｋ）を用い、複数の復号値Ｘ＾（ｋ）を修正する（ステップＤ３）。例えば、勾配修正部１２４は、インデックス情報ｉｄｘが表す行番号ｍ’の勾配係数ベクトルγｍ’の要素γｍ’（ｋ）と復号値Ｘ＾（ｋ）との乗算値を復号値Ｘ＾（ｋ）の修正値Ｘ＾ＵＤ（ｋ）とする。勾配修正部１２４は修正値Ｘ＾ＵＤ（ｋ）を出力する。すなわち、勾配修正部１２４は、入力されたインデックス情報ｉｄｘが表す、複数のサンプル位置に対応する予め定めた係数γｍ’（ｋ）による組を用い、各サンプル位置に対応する復号値Ｘ＾（ｋ）と係数γｍ’（ｋ）とを乗算した値を出力する。
【手続補正書】
【提出日】平成25年6月18日(2013.6.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化ステップと、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択ステップと、
を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである符号化方法。
【請求項２】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化ステップと、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択ステップと、を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する符号化方法。
【請求項３】
請求項１または２の符号化方法であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である符号化方法。
【請求項４】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号ステップと、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算ステップと、
を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである復号方法。
【請求項５】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号ステップと、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算ステップと、を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する復号方法。
【請求項６】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化部と、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択部と、
を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである符号化装置。
【請求項７】
複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化部と、
複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組の中から、前記サンプルの値と、前記サンプルの量子化値と前記サンプルのそれぞれの位置に対応する係数とを乗算した値との間の誤差の全てのサンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択部と、を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する符号化装置。
【請求項８】
請求項６または７の符号化装置であって、
前記係数組選択ステップが出力するインデックス情報のビット数は、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に実際に用いられたビット数を減算して得られる数以下である符号化装置。
【請求項９】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号部と、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算部と、
を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数に対応する値を第１軸にとり前記係数の値を第２軸にとる平面上の直線上にある係数により構成され、
前記複数組の係数による組は、
前記平面上でそれぞれ異なる傾きを有するものである復号装置。
【請求項１０】
入力されたベクトル量子化インデックスに対応する複数の値を求めて複数のサンプル位置に対応する復号値とするベクトル復号部と、
入力されたインデックス情報が表す、前記複数のサンプル位置に対応する予め定めた係数による組を用い、前記各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算部と、を有し、
前記係数による組は、
前記係数が対応するサンプルの位置に対応する時間又は周波数の値を第１軸にとり前記係数の値を第２軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成され、
前記複数組の係数による組は、
前記平面上にある第１軸と平行ではない直線又は特定の曲線に偏って分布する復号装置。
【請求項１１】
請求項１から３の何れかの符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１２】
請求項４または５の復号方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１から３の何れかの符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項４または５の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
【国際調査報告】
2012005211.tif 000026
2012005211.tif 000027
2012005211.tif 000028
2012005211.tif 000029