(57)【要約】  符号化処理にて、音響信号に由来する周波数領域のサンプル列を重みつき包絡で割り算し、利得で割り算した結果を量子化して、各サンプルを可変長符号化する。この際に可変長符号化で節約できた情報で、量子化前のサンプルと量子化後のサンプルの誤差を量子化する。節約できたビット数に応じてどのサンプルの誤差を量子化するかの規則を決めて量子化を行う。復号処理では、入力された符号列の可変長符号を復号して周波数領域のサンプル列を得て、さらに、可変長符号のビット数に応じた規則で誤差信号を復号し、この得られたサンプル列から補助情報に基づいて元のサンプル列を得る。
2012137617.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間区間の音響信号に由来する周波数領域のサンプル列を所定の個数のビットで符号化する符号化方法であって、
上記周波数領域のサンプル列の各サンプルの値に対応する整数値を可変長符号化により符号化して可変長符号を生成する符号化ステップと、
上記周波数領域のサンプル列の各サンプルの値からその各サンプルの値に対応する整数値を減算した誤差値の列を算出する誤差算出ステップと、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットを用いて、上記誤差値の列を符号化して誤差符号を生成する誤差符号化ステップと、
を含む符号化方法。
【請求項２】
請求項１の符号化方法において、
上記誤差符号化ステップは、上記余剰ビットを用いて、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを優先的に符号化する、
符号化方法。
【請求項３】
請求項１の符号化方法において、
上記誤差符号化ステップは、上記余剰ビットを用いて、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを優先的に符号化する、
符号化方法。
【請求項４】
請求項１から３の何れかの符号化方法において、
上記誤差符号化ステップは、上記誤差値の列を構成する誤差サンプルのうち符号化の対象となる各誤差サンプルの値の正負の情報を１ビットで符号化する、
符号化方法。
【請求項５】
請求項４の符号化方法において、
整数値に応じて定まる値を再構成値の絶対値とし、上記再構成値の絶対値を誤差サンプルの値が正のときに対応する再構成値とし、０から上記再構成値の絶対値を減算した値を誤差サンプルの値が負のときに対応する再構成値として、
上記誤差符号化ステップは、上記余剰ビットの数が上記誤差値の列を構成する誤差サンプルの数よりも大きい場合には、上記各誤差サンプルに対応する再構成値を上記各誤差サンプルの値から減算した値の正負の情報を別の１ビットを用いて更に符号化する、
符号化方法。
【請求項６】
請求項４又は５の符号化方法において、
整数値が０でない場合の再構成値の絶対値は、整数値が０である場合の再構成値の絶対値よりも大きい、
符号化方法。
【請求項７】
入力された所定の個数のビットで構成される符号を復号する復号方法であって、
上記符号に含まれる可変長符号を復号して整数値の列を生成する復号ステップと、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットで構成される、上記符号に含まれる誤差符号を復号して誤差値の列を生成する誤差復号ステップと、
上記整数値の列の各サンプルと上記誤差値の列の対応する誤差サンプルとを加算する加算ステップと、
を含む復号方法。
【請求項８】
請求項７の復号方法において、
上記誤差復号ステップは、上記余剰ビットで表現された、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを復号する、
復号方法。
【請求項９】
請求項７の復号方法において、
上記誤差復号ステップは、上記余剰ビットで表現された、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを復号する、
復号方法。
【請求項１０】
請求項７から９の何れかの復号方法において、
整数値に応じて定まる値を再構成値の絶対値として、
上記誤差復号ステップは、上記誤差値の列の各誤差サンプルの値を、上記誤差符号を復号することにより得られた上記各誤差サンプルに対応する１ビットの情報で定まる正負を上記各誤差サンプルに対応する整数値に基づく再構成値の絶対値に対して反映させた値とする、
復号方法。
【請求項１１】
請求項１０の復号方法において、
上記誤差復号ステップは、上記各誤差サンプルの値に対応する別の１ビットの情報がある場合には、上記各誤差サンプルの値を、上記反映させた値と、上記別の１ビットの情報で定まる正負を上記各誤差サンプルに対応する整数値に基づく再構成値の絶対値の１／２の値に対して反映させた値とを加算した値とする、
復号方法。
【請求項１２】
請求項１０又は１１の復号方法において、
整数値が０でない場合の再構成値の絶対値は、整数値が０である場合の再構成値の絶対値よりも大きい、
復号方法。
【請求項１３】
所定の時間区間の音響信号に由来する周波数領域のサンプル列を所定の個数のビットで符号化する符号化装置であって、
上記周波数領域のサンプル列の各サンプルの値に対応する整数値を可変長符号化により符号化して可変長符号を生成する符号化部と、
上記周波数領域のサンプル列の各サンプルの値からその各サンプルの値に対応する整数値を減算した誤差値の列を算出する誤差算出部と、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットを用いて、上記誤差値の列を符号化して誤差符号を生成する誤差符号化部と、
を含む符号化装置。
【請求項１４】
請求項１３の符号化装置において、
上記誤差符号化部は、上記余剰ビットを用いて、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを優先的に符号化する、
符号化装置。
【請求項１５】
請求項１３の符号化装置において、
上記誤差符号化部は、上記余剰ビットを用いて、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを優先的に符号化する、
符号化装置。
【請求項１６】
入力された所定の個数のビットで構成される符号を復号する復号装置であって、
上記符号に含まれる可変長符号を復号して整数値の列を生成する復号部と、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットで構成される、上記符号に含まれる誤差符号を復号して誤差値の列を生成する誤差復号部と、
上記整数値の列の各サンプルと上記誤差値の列の対応する誤差サンプルとを加算する加算部と、
を含む復号装置。
【請求項１７】
請求項１６の復号装置において、
上記誤差復号ステップは、上記余剰ビットで表現された、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを復号する、
復号装置。
【請求項１８】
請求項１６の復号装置において、
上記誤差復号部は、上記余剰ビットで表現された、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを復号する、
復号装置。
【請求項１９】
請求項１から１２に記載された方法の各ステップをコンピュータに実現させるためのプログラム。
【請求項２０】
請求項１から１２に記載された方法の各ステップをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響信号の符号化技術並びにこの符号化技術によって得られた符号列の復号技術に関する。より詳しくは、音響信号を周波数領域に変換して得られた周波数領域のサンプル列の符号化とその復号に関する。
【背景技術】
【０００２】
低ビット（例えば10kbit/s〜20kbit/s程度）の音声信号や音響信号の符号化方法として、DFT（離散フーリエ変換）やMDCT（変形離散コサイン変換）などの直交変換係数に対する適応符号化が知られている。例えば標準規格技術であるAMR-WB+(Extended Adaptive Multi-Rate Wideband)は、TCX（transform coded excitation：変換符号化励振）符号化モードを持ち、この中ではDFT係数を8サンプルごとに正規化してベクトル量子化している（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ETSI TS 126 290 V6.3.0 (2005-06)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
AMR-WB+をはじめ、TCXに基づく符号化では周期性に基づく周波数領域の係数の振幅のばらつきは考慮されていないため、ばらつきの大きい振幅をまとめて符号化すると符号化効率は低下してしまう。TCXでの量子化や符号化には各種変形例があるが、係数を利得で割り算した信号の量子化により離散値となったMDCT係数を周波数の低いほうから並べた系列を算術符号などのエントロピー符号化によって圧縮を行う場合を例えば考える。この場合、複数のサンプルを１シンボル（符号化単位）とし、そのシンボルの直前のシンボルに依存して割り当て符号を適応的に制御する。一般に、振幅が小さければ短い符号が割り当てられ、振幅が大きい場合には長い符号が割り当てられる。この結果、フレームあたりのビット数は平均的に削減されるが、フレームあたりの割り当てビット数が固定の場合には、削減されたビットは有効利用できない可能性がある。【０００５】
本発明は、このような技術的背景に鑑みて、離散信号、特に音声音響ディジタル信号の低ビットでの符号化による品質を低演算量で改善する符号化、復号技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様による符号化方法は、所定の時間区間の音響信号に由来する周波数領域のサンプル列を所定の個数のビットで符号化する符号化方法であって、周波数領域のサンプル列の各サンプルの値に対応する整数値を可変長符号化により符号化して可変長符号を生成する符号化ステップと、周波数領域のサンプル列の各サンプルの値からその各サンプルの値に対応する整数値を減算した誤差値の列を算出する誤差算出ステップと、所定の個数から可変長符号のビットの個数を減算した個数のビットである余剰ビットを用いて、誤差値の列を符号化して誤差符号を生成する誤差符号化ステップと、を含む。【０００７】
本発明の一態様による復号方法は、入力された所定の個数のビットで構成される符号を復号する復号方法であって、符号に含まれる可変長符号を復号して整数値の列を生成する復号ステップと、所定の個数から可変長符号のビットの個数を減算した個数のビットである余剰ビットで構成される、符号に含まれる誤差符号を復号して誤差値の列を生成する誤差復号ステップと、整数値の列の各サンプルと誤差値の列の対応する誤差サンプルとを加算する加算ステップと、を含む。
【発明の効果】
【０００８】
整数値に対する可変長符号により節約することができたビットである余剰ビットで、誤差値を復号することにより、フレームあたりのビット数が固定である場合でも符号化効率の向上や量子化歪の軽減などが実現される。
【図面の簡単な説明】
【０００９】
【図１】実施形態の符号化装置の構成を説明するためのブロック図。
【図２】実施形態の符号化装置の処理を説明するためのフローチャート。
【図３】重み付け正規化MDCT係数とパワースペクトル包絡との関係を説明するための図。
【図４】余剰ビット数が多い場合の処理の例を説明するための図。
【図５】実施形態の復号装置の構成を説明するためのブロック図。
【図６】実施形態の符号化装置の処理を説明するためのフローチャート。
【発明を実施するための形態】
【００１０】
図面を参照しながら本発明の実施形態を説明する。なお、重複する構成要素には同じ参照符号を当てて重複説明を省略する。
【００１１】
この実施形態は、所定の時間区間をフレームとし、フレーム内の音響信号に由来する周波数領域のサンプル列を量子化する枠組みの中で、周波数領域のサンプルの重み付平坦化後の系列の可変長符号化を行うことと、その可変長符号化によって節約できた余剰ビットを用いて優先度を決めて誤差信号を量子化することで符号化の歪を少なくするという符号化の改善を特徴の一つとする。特にフレームあたりの割り当てビット数が固定である場合にでも可変長符号化の利点が生かせる。
【００１２】
音響信号に由来する周波数領域のサンプル列、換言すれば音響信号に基づく周波数領域のサンプル列として、例えば、フレーム単位の音声音響ディジタル信号が時間領域から周波数領域に変換して得られるDFT係数列やMDCT係数列、このような係数列に対して正規化や重み付けや量子化などの処理が適用された係数列などを例示することができる。以下、MDCT係数列を例にとって実施形態を説明する。
【００１３】
［符号化の実施形態］
最初に図１から図４を参照して符号化処理を説明する。
【００１４】
図１に示すように、符号化装置１は、周波数領域変換部１１、線形予測分析部１２、線形予測係数量子化符号化部１３、パワースペクトル包絡算出部１４、重み付け包絡正規化部１５、正規化利得計算部１６、量子化部１７、誤差算出部１８、符号化部１９、誤差符号化部１１０を例えば備える。符号化装置１は、図２に例示された符号化方法の各処理を行う。以下、符号化装置１の各処理を説明する。
【００１５】
「周波数領域変換部１１」
まず、周波数領域変換部１１がフレーム単位で音声音響ディジタル信号を周波数領域のＮ点のMDCT係数列に変換する（ステップＳ１１）。
【００１６】
一般論として、符号化側ではMDCT係数列を量子化して、量子化されたMDCT係数列を符号化して、得られた符号列を復号側へ伝送し、復号側では当該符号列から量子化されたMDCT係数列を再構成し、さらに逆MDCT変換によって時間領域の音声音響ディジタル信号を再構成することができる。
【００１７】
ところで、MDCT係数の振幅は近似的に通常のDFTのパワースペクトルと同じ振幅包絡（パワースペクトル包絡）を持つ。このため、振幅包絡の対数値に比例する情報割り当てを行うことによって、全帯域のMDCT係数の量子化歪（量子化誤差）を均一に分散させることができ、全体の量子化歪を小さくすることができ、加えて情報圧縮も実現される。なお、パワースペクトル包絡は線形予測分析によって求められた線形予測係数を使って効率よく推定することができる。
【００１８】
このような量子化誤差を制御する方法としては、各MDCT係数の量子化ビットを適応的に割り当てる（振幅を平坦にした後で量子化のステップ幅を調整する）方法や、重み付けベクトル量子化により適応的に重みをつけて符号を決定する方法がある。ここでは、本発明の実施形態において実行される量子化方法の一例を説明するが、説明する量子化方法に限定されるものではないことに留意されたい。
【００１９】
「線形予測分析部１２」
線形予測分析部１２は、フレーム単位で音声音響ディジタル信号を線形予測分析し、予め定めた次数までの線形予測係数を求めて出力する（ステップＳ１２）。
【００２０】
「線形予測係数量子化符号化部１３」
線形予測係数量子化符号化部１３は、線形予測分析部１２が求めた線形予測係数に対応する符号と、量子化済み線形予測係数とを求めて出力する（ステップＳ１３）。
その際、線形予測係数をLSP(Line Spectral Pairs)に変換し、LSPに対応する符号と量子化済みLSPとを求め、量子化済みLSPを量子化済み線形予測係数に変換する処理を行ってもよい。
【００２１】
線形予測係数に対応する符号である線形予測係数符号は、復号装置２に送信される符号の一部とされる。
【００２２】
「パワースペクトル包絡算出部１４」
パワースペクトル包絡算出部１４は、線形予測係数量子化符号化部１３が出力した量子化済み線形予測係数を周波数領域に変換してパワースペクトル包絡を求める（ステップＳ１４）。求まったパワースペクトル包絡は、重み付け包絡正規化部１５に送信される。また、必要に応じて、図１に破線で示すように誤差符号化部１１０に送信される。
【００２３】
N点のMDCT係数列の各係数X(1)，・・・，X(N)に対応するパワースペクトル包絡係数列の各係数W(1)，・・・，W(N)は、量子化済み線形予測係数を周波数領域に変換して得ることができる。例えば、全極型モデルであるｐ次自己回帰過程により、時刻ｔの時間信号y(t)は、ｐ時点まで遡った過去の自分自身の値y(t-1)，・・・，y(t-p)と予測残差e(t)と量子化済み線形予測係数α1，・・・，αpによって式（１）で表される。このとき、パワースペクトル包絡係数列の各係数W(n)［1≦n≦N］は式（２）で表される。exp（・）はネイピア数を底とする指数関数、ｊは虚数単位、σ2は予測残差エネルギーである。
【００２４】
【数１】
2012137617.tif 000003
【００２５】
なお、上記の次数ｐは、線形予測係数量子化符号化部１３が出力した量子化済み線形予測係数の次数と同一であってもよいし、線形予測係数量子化符号化部１３が出力した量子化済み線形予測係数の次数未満であってもよい。
【００２６】
また、パワースペクトル包絡算出部１４では、パワースペクトル包絡値の代わりにパワースペクトル包絡値の概算値やパワースペクトル包絡値の推定値を算出してもよい。パワースペクトル包絡値とは、パワースペクトル包絡係数列の各係数W(1)，・・・，W(N)のことである。
【００２７】
例えば、パワースペクトル包絡値の概算値を算出する場合は、パワースペクトル包絡算出部１４は、1≦n≦N/4について式（２）により各係数W(n)を求め、W'(4n-3)= W'(4n-2)=W'(4n-1)= W'(4n)=W(n) [1≦n≦N/4]として求めた、N個のW'(n)をパワースペクトル包絡値の概算値として出力する。
【００２８】
「重み付け包絡正規化部１５」
重み付け包絡正規化部１５は、パワースペクトル包絡算出部１４が出力したパワースペクトル包絡によって、MDCT係数列の各係数を正規化する（ステップＳ１５）。ここでは聴覚的に歪が小さくなるような量子化の実現のために、重み付け包絡正規化部１５は、パワースペクトル包絡値の系列やその平方根の系列を周波数方向で平滑化した重み付けスペクトル包絡係数を用いてフレーム単位でMDCT係数列の各係数を正規化する。この結果、フレーム単位の重み付け正規化MDCT係数列の各係数x(1),・・・,x(N)が得られる。重み付け正規化MDCT係数列は、正規化利得計算部１６、量子化部１７及び誤差算出部１８に送信される。重み付け正規化MDCT係数列は一般には低周波領域にやや大きな振幅を持ち、ピッチ周期に起因する微細構造をもつものの、元のMDCT係数列ほどの大きな振幅傾きや振幅の凹凸を持たない。
【００２９】
「正規化利得計算部１６」
次に、正規化利得計算部１６が、フレームごとに、重み付け正規化MDCT係数列の各係数x(1),・・・,x(N)を与えられた総ビット数で量子化できるように、全周波数に亘る振幅値の和またはエネルギー値を用いて量子化ステップ幅を決定し、この量子化ステップ幅になるように重み付け正規化MDCT係数列の各係数を割り算する係数g（以下、利得という。）を求める（ステップＳ１６）。この利得を表す情報である利得情報は、復号装置２に送信される符号の一部とされる。
【００３０】
「量子化部１７」
次に、量子化部１７が、フレームごとに、重み付け正規化MDCT係数列の各係数x(1),・・・,x(N)をステップＳ１６の処理で決定された量子化ステップ幅で量子化する（ステップＳ１７）。すなわち、重み付け正規化MDCT係数列の各係数x(n)[1≦n≦N]を利得gで割り算して得られるx(n)/gの値の小数点以下を四捨五入して得られる整数値u(n)を量子化MDCT係数とする。フレーム単位の量子化MDCT係数列は、誤差算出部１８及び符号化部１９に送信される。なお、x(n)/gの値の小数点以下を切り上げ又は切り下げして得られる値を、整数値u(n)としてもよい。このように、整数値u(n)はx(n)/gの値に対応する値としてもよい。
【００３１】
この実施形態では、x(n)/gの列が特許請求の範囲の周波数領域のサンプル列に対応する。x(n)/gの列は、周波数領域のサンプル列の一例である。また、整数値u(n)である量子化MDCT係数が、周波数領域のサンプル列の各サンプルの値に対応する整数値に対応する。
【００３２】
「誤差算出部１８」
ステップＳ１５の処理で得られた重み付け正規化MDCT系列と、ステップＳ１６の処理で得られた利得ｇと、ステップＳ１７の処理で得られたフレーム単位の量子化MDCT係数列とが、誤差算出部１８の入力となる。量子化による誤差はr(n)=x(n)/g-u(n) [1≦n≦N]で求められる。すなわち、重み付け正規化MDCT係数列の各係数x(n)を利得gで除算した値からその各係数x(n)に対応する量子化MDCT係数u(n)を減算した値をその各係数x(n)に対応する量子化誤差r(n)とする。
【００３３】
量子化誤差r(n)の列が、特許請求の範囲の誤差値の列に対応する。
【００３４】
「符号化部１９」
次に、符号化部１９が、フレームごとに、量子化部１７が出力した量子化MDCT係数列（量子化MDCT係数u(n)の列）を符号化し、得られた符号とその符号のビット数を出力する（ステップＳ１９）。
【００３５】
符号化部１９は、例えば量子化MDCT係数列の値の頻度に応じた長さの符号が割り当てる可変長符号化により、平均符号量を小さくできる。可変長符号としてはライス符号、ハフマン符号、算術符号、ランレングス符号などがある。
【００３６】
なお、ここで例示したライス符号化、ランレングス符号化はいずれも周知であるからその詳細な説明を省略する（例えば参考文献１参照）。
（参考文献１）David Salomon, "Data Compression : The Complete Reference," 3rd edition, Springer-Verlag, ISBN-10: 0-387-40697-2, 2004.
【００３７】
生成された可変長符号は、復号装置２に送信される符号の一部となる。どのような可変長符号化方法が実行されたかは選択情報によって特定される。この選択情報が、復号装置２に送信されるようにしてもよい。
【００３８】
「誤差符号化部１１０」
整数値である量子化MDCT係数列の各係数u(1),・・・,u(N)の可変長符号化の結果、量子化MDCT係数列を表現するに必要なビット数がわかり、想定されたビット数から圧縮によって得られた余剰ビットがわかる。もし、フレームをまたがってビットをやりくりできるならば、余剰ビットは次のフレーム以降で有効利用できる。もし、フレーム内では固定のビット数が割り当てられる場合には別の符号化で有効利用する必要があり、そうでなければ可変長符号化による平均ビット数の削減の意味がなくなる。
【００３９】
そこで、本実施形態では、誤差符号化部１１０が、余剰ビットの全部又は一部を使って、量子化誤差r(n)=x(n)/g-u(n)を符号化する。なお、余剰ビットの全部又は一部を用いることを、余剰ビットを用いると略記することにする。量子化誤差r(n)の符号化に使われなかった余剰ビットは、他の用途、例えば利得gの補正に用いられる。量子化誤差r(n)は、量子化による四捨五入での誤差であるので、-0.5から+0.5までにほぼ均等に分布する。任意のビット数ですべてのサンプル（例えば256点）を符号化するために、余剰ビットによって符号化方法、対象とするサンプルの位置の規則を決めておく。余剰ビットで再構成する系列をq(n)とし、フレーム全体の誤差E=Σn∈N（r(n)-q(n)）2を最小化することが目的である。
【００４０】
誤差符号化部１１０は、まず、重み付け正規化MDCT係数列の符号量として予め設定されたビット数から符号化部１９が出力した可変長符号のビット数を減算したものを余剰ビット数として算出する。次に、誤差算出部１８で得られた量子化誤差列を余剰ビット数で符号化し、得られた誤差符号を出力する（ステップＳ１１０）。この誤差符号は、復号装置２に送信される符号の一部とされる。
【００４１】
＜誤差符号化の具体例１＞
量子化誤差の値を符号化する際に、複数のサンプルをまとめてベクトル量子化を行ってもよい。ただし、一般にテーブル（符号帳）中に符号系列を蓄積し、入力と符号系列の距離計算が必要で、メモリ量と演算量が多くなる。また任意のビット数に対応するために個別の符号帳が必要になるなど、構成が煩雑になる。
【００４２】
具体例１の動作は下記の通りである。
【００４３】
誤差符号化部１１０内の符号帳記憶部に、余剰ビット数の取り得る値ごとの符号帳を予め格納しておく。各符号帳には、その各符号帳に対応する余剰ビット数で表現可能な個数の量子化誤差の系列と同じサンプル数のベクトルと、そのベクトルに対応する符号とが対応付けて予め格納されている。
【００４４】
誤差符号化部１１０は、余剰ビット数を算出した後に、算出された余剰ビット数に対応する符号帳を符号帳記憶部に格納された符号帳から選択し、選択された符号帳を用いてベクトル量子化を行なう。符号帳を選択した後の符号化処理は一般的なベクトル量子化と同じである。すなわち、選択された符号帳の各ベクトルと入力された量子化誤差の系列との距離が最小となるか、それらの相関が最大となるベクトルに対応する符号を誤差符号として出力する。
【００４５】
なお、上記の説明では、符号帳に格納されるベクトルは、量子化誤差の系列と同じサンプル数としたが、符号帳に格納されるベクトルのサンプル数を量子化誤差の系列の整数分の１とし、量子化誤差の系列を複数の部分毎にベクトル量子化し、得られる複数の符号を誤差符号としても良い。
【００４６】
＜誤差符号化部１１０の具体例２＞
量子化誤差列に含まれる量子化誤差を１サンプルずつ符号化する場合には、量子化誤差列に含まれる量子化誤差サンプルについての優先順位をきめて、優先順位の高い量子化誤差サンプルから余剰ビット数で符号化可能なもののみを符号化する。例えば、量子化誤差の絶対値又はエネルギーが大きい量子化誤差サンプルから優先的に符号化する。
【００４７】
優先順位を決める際に例えばパワースペクトル包絡値を参考にすることができる。もちろん、パワースペクトル包絡値と同様に、パワースペクトル包絡値の概算値、パワースペクトル包絡値の推定値、これらの何れかの値を周波数方向で平滑化した値、これらの何れかの値の複数サンプルについての平均値、これらの値の少なくとも何れか１つと大小関係が同一となる値を参考にすることもできるが、以下ではパワースペクトル包絡値を用いる場合についてのみ説明する。図３の例のように、音声や楽音などの音響信号では、量子化対象の周波数領域のサンプル列の振幅傾向（図３の重み付け平坦化後のスペクトル包絡に対応）を音響信号のパワースペクトル包絡（図３の原音のスペクトル包絡に対応）と類似させることにより聴覚的歪を小さくできるので、結果としてパワースペクトル包絡値が大きい場合には、対応する重み付け正規化MDCT係数x(n)の値も大きい傾向にある。重み付け正規化MDCT係数x(n)が大きくても量子化誤差r(n)は-0.5から+0.5の範囲内である。
【００４８】
一方、重み付け正規化MDCT係数x(n)が非常に小さい値である場合、すなわちステップ幅の1/2より小さい値である場合には重み付け正規化MDCT係数x(n)を利得gで割り算した結果は０で、量子化誤差r(n)も0.5より大幅に小さい。すなわち、パワースペクトル包絡値がある程度小さい場合には、重み付け正規化MDCT係数x(n)の他に量子化誤差r(n)の符号化をしたところで聴覚品質への影響は小さいので、誤差符号化部１１０での符号化対象から除外してもよい。パワースペクトル包絡値がある程度大きい場合にはどのサンプルの量子化誤差が大きいかはわからないので、例えばもとのサンプルの周波数軸上での位置の小さい順（周波数が低い順）、又は、パワースペクトル包絡値の大きい順に余剰ビット分だけ、量子化誤差のサンプルr(n)の符号化を各１ビットで行う。また、パワースペクトル包絡値が一定以下の場合を除外するだけでもよい。
【００４９】
量子化誤差系列を符号化するにあたって、ある量子化誤差サンプルの値r(n)=ｘとして、その量子化による歪をE=∫00.5f(x)(x-μ)2dxとする。ここでf(x)は確率分布関数、μは復号装置での再構成値の絶対値である。量子化による歪Eを最小化するためには、dE/dμ=0とするようにμを決めればよい。すなわち、μは量子化誤差r(n)の確率分布の重心点とすればよい。
【００５０】
重み付け正規化MDCT係数x(n)を利得gで割り算して四捨五入した結果、すなわち対応する量子化MDCT係数u(n)の値が０でないなら、量子化誤差r(n)の分布はほぼ均一であり、μ=0.25とできる。
【００５１】
重み付け正規化MDCT係数x(n)を利得gで割り算して四捨五入した結果、すなわち対応する量子化MDCT係数u(n)の値が０なら、量子化誤差r(n)の分布は０に集中する傾向があるので、その分布の重心をμの値として使う必要がある。
【００５２】
この場合、対応する量子化MDCT係数u(n)の値が０となる複数の量子化誤差サンプルごとに、符号化の対象とする量子化誤差サンプルを選択して、その選択された量子化誤差サンプルの複数の量子化誤差サンプルにおける位置と、その選択された量子化誤差サンプルの値とを符号化して誤差符号として復号装置２に送信してもよい。例えば、対応する量子化MDCT係数u(n)の値が０となる４個の量子化誤差サンプルのうち、値の絶対値が最も大きい量子化誤差サンプルを選択し、その選択された量子化誤差サンプルの値を量子化（例えば＋か−かを決定）してその情報を１ビットで送るとともに、その選択された量子化誤差サンプルの位置を２ビットで送る。選択されなかった量子化誤差サンプルは符号が復号装置２に送られないので、復号装置２における復号値は０とする。一般に、２q個のサンプルの何れの位置のサンプルを選択したかを復号装置に伝えるためにはｑビット必要である。
【００５３】
この際のμは、複数サンプル単位で量子化誤差の値の絶対値が最も大きいサンプルだけの分布の重心の値を使えばよい。
【００５４】
余剰ビット数が多い場合には図４のように複数の系列の組み合わせでまばらなサンプルを表現できる。第１の系列は４個の位置のどれか１個のみ（指定に２ビット）に＋か−のパルスをたて、他の位置は０とすることができる。すなわち、第１の系列の表現に３ビット必要になる。同様に第２の系列、第５の系列までで計１５ビットで符号化できる。
【００５５】
余剰ビット数をU、量子化誤差列を構成する量子化誤差サンプルの個数のうち、対応する量子化MDCT係数u(n)の値が０でないものの量子化誤差サンプルの個数をT、対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルの個数をSとするとき、次のような手順で符号化を行うことができる。
【００５６】
（A）U≦Tの場合
誤差符号化部１１０は、量子化誤差列のうちの対応する量子化MDCT係数u(n)の値が０でないT個の量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものからU個選択して、選択されたそれぞれの量子化誤差サンプルに対して、量子化誤差サンプルの正負を表わす情報である１ビットの符号を生成して、生成したUビットの符号を誤差符号として出力する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル（周波数が低い量子化誤差サンプル）を選択する等の予め定めた規則に従って選択する。
【００５７】
（B）T＜U≦T+Sの場合
誤差符号化部１１０は、量子化誤差列のうちの対応する量子化MDCT係数u(n)の値が０でないT個の量子化誤差サンプルのそれぞれについて、量子化誤差サンプルの正負を表わす情報である１ビットの符号を生成する。
【００５８】
誤差符号化部１１０はまた、U-Tビットで量子化誤差系列のうちの対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルを符号化する。対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルが複数ある場合には、対応するパワースペクトル包絡値が大きいものから優先して符号化する。具体的には、対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものからU-T個のそれぞれについて、量子化誤差サンプルの正負を表わす１ビットの符号を生成する。または、対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものから複数個を取り出し、複数個の量子化誤差サンプルごとにベクトル量子化して、U-Tビットの符号を生成する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル（周波数が低い量子化誤差サンプル）を選択する等の予め定めた規則に従って選択する。
【００５９】
誤差符号化部１１０はさらに、生成したUビットの符号とU-Tビットの符号とを合わせたものを誤差符号として出力する。
【００６０】
（C）T＋S＜Uの場合
誤差符号化部１１０は、量子化誤差系列に含まれるすべての量子化誤差サンプルのそれぞれについて、量子化誤差サンプルの正負を表わす１ビットの１巡目符号を生成する。
【００６１】
また、誤差符号化部１１０は、残りのU-(T+S)ビットを使って（A）や（B）の手順で量子化誤差サンプルを更に符号化する。すなわち、U-(T+S)を新たなUとして１巡目の符号化の誤差についてさらに２巡目の(A)を実行する。すなわち、結果的には、少なくとも一部の量子化誤差サンプルについて、量子化誤差サンプルあたり２ビットの量子化を行うことになる。１巡目の符号化では量子化誤差r(n)の値は-0.5から+0.5の範囲内で一様であったが、２巡目の符号化の対象となる１巡目の誤差の値は-0.25から+0.25の範囲内になる。
【００６２】
具体的には、誤差符号化部１１０は、量子化誤差系列を構成する量子化誤差サンプルのうち、対応する量子化MDCT係数u(n)の値が０でなく、かつ、量子化誤差r(n)の値が正である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である0.25を減算して得られた値について、その正負を表わす１ビットの２巡目符号を生成する。
【００６３】
また、誤差符号化部１１０は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化MDCT係数u(n)の値が０でなく、かつ、量子化誤差r(n)の値が負である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である-0.25を減算して得られた値について、その正負を表わす１ビットの２巡目符号を生成する。
【００６４】
また、誤差符号化部１１０は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化MDCT係数u(n)の値が０であり、かつ、量子化誤差r(n)の値が正である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値であるＡ（Ａは、0.25より小さい予め定められた正の値）を減算して得られた値について、その正負を表わす１ビットの２巡目符号を生成する。
【００６５】
さらに、誤差符号化部１１０は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化MDCT係数u(n)の値が０であり、かつ、量子化誤差r(n)の値が負である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である−Ａ（Ａは、0.25より小さい予め定められた正の値）を減算して得られた値について、その正負を表わす１ビットの２巡目符号を生成する。
【００６６】
さらに、誤差符号化部１１０は、生成した１巡目符号と２巡目符号とを合わせたものを誤差符号として出力する。
【００６７】
量子化誤差系列のうちのT+S個の量子化誤差サンプルのすべてを符号化しない場合や、対応する量子化MDCT係数u(n)の値が０である量子化誤差サンプルを複数まとめてサンプルあたり１ビット以下で符号化する場合は、Uビットより少ないUUビットで量子化誤差系列を符号化することになるので、（C）の条件はT＋S<UUの場合とすればよい。
【００６８】
なお、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を用いてもよい。
【００６９】
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を周波数方向で平滑化して得られる値を用いてもよい。平滑化して得られる値として、重み付け包絡正規化部１５で得られた重み付けスペクトル包絡係数を誤差符号化部１１０に入力して用いてもよいし、誤差符号化部１１０で算出してもよい。
【００７０】
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、複数のパワースペクトル包絡値を平均した値を用いてもよい。例えば、W''(4n-3)= W''(4n-2)=W''(4n-1)= W''(4n)=(W(4n-3) + W(4n-2)+ W(4n-1) + W(4n))/4 [1≦n≦N/4]として求めた、N個のW''(n)を用いてもよい。また、パワースペクトル包絡値W(n) [1≦n≦N]の代わりに、パワースペクトル包絡値の概算値の平均値、パワースペクトル包絡値の推定値の平均値を用いてもよい。さらに、パワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を周波数方向で平滑化して得られる値の平均値を用いてもよい。ここでの平均値は、対象となる値を複数サンプルについて平均した値、すなわち複数サンプルの対象となる値を平均した値である。
【００７１】
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値と、パワースペクトル包絡値の概算値と、パワースペクトル包絡値の推定値と、これらの何れかの値を平滑化して得られる値と、これらの何れかの値を複数のサンプルについて平均して得られる値との少なくとも何れか１つと大小関係が同一となる値を用いてもよい。この場合は、大小関係が同一となる値を誤差符号化部１１０で算出して用いる。大小関係が同一となる値とは、二乗値や平方根などである。例えば、パワースペクトル包絡値W(n)［1≦n≦N］と大小関係が同一となる値はパワースペクトル包絡値の二乗値である(W(n))2［1≦n≦N］やパワースペクトル包絡値の平方根である(W(n))1/2［1≦n≦N］である。
【００７２】
なお、パワースペクトル包絡値の平方根やその平滑化後の値が重み付け包絡正規化部１５で得られている場合は、重み付け包絡正規化部１５で得られたものを誤差符号化部１１０に入力して用いてもよい。
【００７３】
なお、図１に破線で例示するように、並び替え部１１１を設けて、量子化MDCT係数列を並び替えてもよい。この場合、符号化部１９は、並び替え部１１１により並び替えられた量子化MDCT係数列を可変長符号化する。特に周期性に基づく量子化MDCT係数列の並び替えでは可変長符号化でビット数を大きく削減できる場合があるので、誤差の符号化による改善が期待できる。
【００７４】
並び替え部１１は、フレームごとに、（１）量子化MDCT係数列の全てのサンプルを含み、かつ、（２）サンプルの大きさを反映する指標が同等か同程度のサンプルが集まるように量子化MDCT係数列に含まれる少なくとも一部のサンプルを並べ替えたもの、を並べ替え後のサンプル列として出力する（ステップＳ１１１）。ここで「サンプルの大きさを反映する指標」とは、例えばサンプルの振幅の絶対値やパワー（自乗値）であるが、これらに限定されない。並び替え部１１の詳細は、特願２０１０−２２５９４９号（ＰＣＴ／ＪＰ２０１１／０７２７５２）を参照のこと。
【００７５】
［復号の実施形態］
続いて図５から図６を参照して復号処理を説明する。
【００７６】
復号装置２では、符号化装置１による符号化処理と逆順の処理でMDCT係数が再構成される。この実施形態では、復号装置２に入力される符号は、可変長符号、誤差符号、利得情報、線形予測係数符号を含む。なお、符号化装置１から選択情報が出力された場合にはこの選択情報も復号装置２に入力される。
【００７７】
図５に示すように、復号装置２は、復号部２１、パワースペクトル包絡算出部２２、誤差復号部２３、利得復号部２４、加算部２５、重み付け包絡逆正規化部２６、時間領域変換部２７を例えば備える。復号装置２は、図６に例示された復号方法の各処理を行う。以下、復号装置２の各処理を説明する。
【００７８】
「復号部２１」
まず、復号部２１が、フレームごとに、入力された符号に含まれる可変長符号を復号して、復号量子化MDCT係数u(n)の列、すなわち符号化装置の量子化MDCT係数u(n)と同一のものと、可変長符号のビットの個数とを出力する（ステップＳ２１）。当然であるが、符号列を得るために実行された可変長符号化方法に対応する可変長復号方法が実行される。復号部２１による復号処理の詳細は符号化装置１の符号化部１９による符号化処理の詳細に対応するので、当該符号化処理の説明をここに援用し、実行された符号化に対応する復号が復号部２１の行う復号処理であることを明記し、これをもって復号処理の詳細な説明とする。
【００７９】
復号量子化MDCT係数u(n)の列が、特許請求の範囲の整数値の列に対応する。
【００８０】
なお、どのような可変長符号化方法が実行されたかは選択情報によって特定される。選択情報に、例えば、ライス符号化の適用領域とライスパラメータを特定する情報と、ランレングス符号化の適用領域を表す情報と、エントロピー符号化の種類を特定する情報が含まれている場合には、これらの符号化方法に応じた復号方法が入力された符号列の対応する領域に適用される。ライス符号化に対応する復号処理、エントロピー符号化に対応する復号処理、ランレングス符号化に対応する復号処理はいずれも周知であるから説明を省略する（例えば上記参考文献１参照）。
【００８１】
「パワースペクトル包絡算出部２２」
パワースペクトル包絡算出部２２は、符号化装置１から入力された線形予測係数符号を復号して量子化済み線形予測係数を得て、得られた量子化済み線形予測係数を周波数領域に変換してパワースペクトル包絡を求める（ステップＳ２２）。量子化済み線形予測係数からパワースペクトル包絡を求める処理は符号化装置１のパワースペクトル包絡算出部１４と同じである。
【００８２】
また、パワースペクトル包絡の代わりに、パワースペクトル包絡値の概算値やパワースペクトル包絡値の推定値を算出してもよいことも符号化装置１のパワースペクトル包絡算出部１４と同じである。ただし、符号化装置１のパワースペクトル包絡算出部１４と同一種類の値を求める必要がある。例えば、符号化装置１のパワースペクトル包絡算出部１４でパワースペクトル包絡値の概算値を求めた場合には、復号装置２のパワースペクトル包絡算出部２２でもパワースペクトル包絡値の概算値を求める。
【００８３】
復号装置２の別手段で線形予測係数符号に対応する量子化済み線形予測係数が求められている場合はその量子化済み線形予測係数を用いてパワースペクトル包絡を算出すれば良い。また、復号装置２の別手段でパワースペクトル包絡が算出されている場合は、復号装置２はパワースペクトル包絡算出部２２を備えていなくてもよい。
【００８４】
「誤差復号部２３」
誤差復号部２３は、まず、量子化MDCT係数列の符号量として予め設定されたビット数から復号部２１が出力したビット数を減算した数を余剰ビット数として算出する。次に符号化装置１の誤差符号化部１１０が出力した誤差符号を、符号化装置１の誤差符号化部１１０に対応する復号方法で復号して復号量子化誤差q(n)を得る（ステップＳ２３）。符号化装置１において量子化誤差列に与えられたビット数は、復号部２１でわかる可変長符号化によるビット数に基づく余剰ビット数から求める。余剰ビット数ごとに符号、復号でサンプルや手順を符号化装置１と復号装置２とで対応するように決めておくので、一意に復号できる。
【００８５】
復号量子化誤差の列が、特許請求の範囲の誤差値の列に対応する。
【００８６】
＜誤差復号の具体例１＞（符号化装置１の＜誤差符号化の具体例１＞に対応）
誤差復号部２３内の符号帳記憶部に、余剰ビット数の取り得る値ごとの符号帳を予め格納しておく。各符号帳には、その各符号帳に対応する余剰ビット数で表現可能な個数の復号量子化誤差の系列と同じサンプル数のベクトルと、そのベクトルに対応する符号、とが対応付けて予め格納される。
【００８７】
誤差復号部２３は、余剰ビット数を算出した後に、算出された余剰ビット数に対応する符号帳を符号帳記憶部に格納された符号帳から選択し、選択された符号帳を用いてベクトル逆量子化を行なう。符号帳を選択した後の復号処理は一般的なベクトル逆量子化と同じである。すなわち、選択された符号帳の各ベクトルのうち、入力された誤差符号に対応するベクトルを復号量子化誤差q(n)として出力する。
【００８８】
なお、上記の説明では、符号帳に格納されるベクトルは、復号量子化誤差の系列と同じサンプル数としたが、符号帳に格納されるベクトルのサンプル数を復号量子化誤差の系列の整数分の１とし、復号量子化誤差の系列を複数の部分毎に入力された誤差符号に含まれる複数の符号それぞれをベクトル逆量子化しても良い。
【００８９】
＜誤差復号部２３の具体例２＞（符号化装置１の＜誤差符号化の具体例２＞に対応）
余剰ビット数をU、復号部２１が出力した復号量子化MDCT係数u(n)の値が０でないもののサンプル数をT、復号部２１が出力した復号量子化MDCT係数u(n)の値が０であるサンプル数をSとするとき、次のような復号手順が好ましい。
【００９０】
（A）U≦Tの場合
誤差復号部２３は、復号量子化MDCT係数u(n)の値が0でないT個サンプルのうち、対応するパワースペクトル包絡値が大きいものからU個選択して、選択されたそれぞれのサンプルに対して、入力された誤差符号に含まれる１ビットの符号を復号してサンプルの正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25又は-0.25を、その復号量子化MDCT係数u(n)に対応する復号量子化誤差q(n)として出力する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル（周波数が低い量子化誤差サンプル）を選択する等の予め定めた規則に従って選択する。例えば、符号化装置１の誤差符号化部１１０で用いた規則に対応する規則を誤差復号部２３に予め保持しておく。
【００９１】
（B）T＜U≦=T+Sの場合
誤差復号部２３は、復号量子化MDCT係数u(n)の値が０でないサンプルに対して、入力された誤差符号に含まれる１ビットの符号を復号して復号量子化誤差サンプルの正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25または-0.25を、その復号量子化MDCT係数u(n)に対応する復号量子化誤差q(n)として出力する。
【００９２】
誤差復号部２３はまた、復号量子化MDCT係数u(n)の値が０であるサンプルのうち、対応するパワースペクトル包絡値が大きいものからU-T個のそれぞれについて、入力された誤差符号に含まれる１ビットの符号を復号して復号量子化誤差サンプルの正負の情報を得て、得られた正負の情報を0.25より小さい予め定められた正の値である再構成値の絶対値Ａに与えて得られる再構成値+A又は-Aを、その復号量子化MDCT係数u(n)に対応する復号量子化誤差q(n)として出力する。
【００９３】
または、復号量子化MDCT係数u(n)の値が０であるサンプルのうち、対応するパワースペクトル包絡値が大きいものから複数個に対して、誤差符号に含まれるU-Tビットの符号をベクトル逆量子化して、対応する復号量子化誤差サンプル値の列を得て、得られた各復号量子化誤差サンプル値を、その復号量子化MDCT係数u(n)に対応する復号量子化誤差q(n)として出力する。
【００９４】
このように、量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が０でない場合の再構成値の絶対値を例えば0.25とし、量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が０である場合の再構成値の絶対値をA（0<A<0.25）とする。これらの再構成値の絶対値は一例であり、量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が０でない場合の再構成値の絶対値は、量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が０である場合の再構成値の絶対値よりも大きければよい。なお、量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が、特許請求の範囲の整数値に対応する。
【００９５】
なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さいサンプル（周波数が低いサンプル）を選択する等の予め定めた規則に従って選択する。
【００９６】
（C）T＋S<Uの場合
誤差復号部２３は、復号量子化MDCT係数u(n)の値が0でないサンプルについては、以下の処理を行う。
【００９７】
入力された誤差符号に含まれる１ビットの１巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25又は-0.25をその復号量子化MDCT係数u(n)に対応する１巡目復号量子化誤差q１(n)とする。さらに、入力された誤差符号に含まれる１ビットの２巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値0.125に与えて得られる再構成値+0.125または-0.125を２巡目復号量子化誤差q2(n)とする。１巡目復号量子化誤差q１(n)と２巡目復号量子化誤差q2(n)とを加算して復号量子化誤差q(n)とする。
【００９８】
また、誤差復号部２３は、復号量子化MDCT係数u(n)の値が０であるサンプルについては、以下の処理を行う。
【００９９】
入力された誤差符号に含まれる1ビットの１巡目符号を復号して正負の情報を得て、得られた正負の情報を0.25より小さい正の値である再構成値の絶対値Ａに与えて得られる再構成値+Aまたは-Aを、その復号量子化MDCT係数u(n)に対応する１巡目復号量子化誤差q１(n)とする。さらに、入力された誤差符号に含まれる１ビットの２巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値A/2に与えて得られる再構成値+A/2または-A/2を２巡目復号量子化誤差q2(n)とする。１巡目復号量子化誤差q１(n)と２巡目復号量子化誤差q2(n)とを加算して復号量子化誤差q(n)とする。
【０１００】
このように、対応する量子化MDCT係数u(n)の値及び復号量子化MDCT係数u(n)の値が０である場合もそうでない場合も、２巡目符号に対応する再構成値の絶対値を１巡目符号に対応する再構成値の絶対値の１／２とする。
【０１０１】
なお、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値の概算値、パワースペクトル包絡値の推定値、これらの何れかの値を平滑化して得られる値、これらの何れかの値を複数のサンプルについて平均して得られる値又はこれらの何れかの値と大小関係が同一となる値の何れかを用いてもよい。ただし、符号化装置１の誤差符号化部１１０と同一種類の値を用いる必要がある。
【０１０２】
「利得復号部２４」
利得復号部２４は、入力された利得情報を復号して利得gを得て出力する（ステップＳ２４）。利得gは、加算部２５に送信される。
【０１０３】
「加算部２５」
加算部２５は、フレームごとに、復号部２１が出力した復号量子化MDCT係数列の各係数u(n)と、誤差復号部２３が出力した復号量子化誤差系列の対応する各係数q(n)とを加算した加算値を計算する。そして、この加算値に、利得復号部２４が出力した利得gを乗じた系列を生成し復号重み付け正規化MDCT係数系列とする（ステップＳ２５）。復号重み付け正規化MDCT係数系列の各係数をx^(n)と表記する。x^(n)=(u(n)+q(n))*gである。
【０１０４】
加算部２５により生成されるこの加算値の列が、特許請求の範囲の周波数領域のサンプル列に対応する。
「重み付け包絡逆正規化部２６」
次に、重み付け包絡逆正規化部２６が、フレームごとに、復号重み付け正規化MDCT係数列の各係数x^(n)にパワースペクトル包絡値を除算することでMDCT係数列を得る（ステップＳ２６）。
【０１０５】
「時間領域変換部２７」
次に、時間領域変換部２７が、フレームごとに、重み付け包絡逆正規化部２６が出力したMDCT係数列を時間領域に変換してフレーム単位の音声音響ディジタル信号を得る（ステップＳ２７）。
【０１０６】
ステップＳ２６からＳ２７の各処理は従来的処理であるから詳細な説明を省略した。
【０１０７】
なお、符号化装置１において並び替え部１１１による並び替え処理が行われている場合には、復号部２１が生成した復号量子化MDCT係数u(n)の列は、復号装置２の並び替え部により並び替えられて（ステップＳ２８）、この並び替えられた復号量子化MDCT係数u(n)の列が、誤差復号部２３及び加算部２５に送信される。この場合、誤差復号部２３及び加算部２５は、復号部２１が生成した復号量子化MDCT係数u(n)の列に代えて、並び替えられた復号量子化MDCT係数u(n)の列に対して上記と同様の処理を行う。
【０１０８】
このように、可変長符号化による圧縮効果を利用することにより、フレーム内のビット数の総計が一定の場合にでも、量子化歪の軽減や符号量の削減が可能である。
【０１０９】
［符号化装置、復号装置のハードウェア構成例］
上述の実施形態に関わる符号化装置１、復号装置２は、キーボードなどが接続可能な入力部と、液晶ディスプレイなどが接続可能な出力部と、ＣＰＵ（Central Processing Unit）、メモリであるＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）と、ハードディスクである外部記憶装置と、これらの入力部、出力部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置間のデータのやり取りが可能なように接続するバスとを例えば備えている。また、必要に応じて、符号化装置１、復号装置２に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けてもよい。
【０１１０】
符号化装置１、復号装置２の外部記憶装置には、符号化、復号を実行するためのプログラム又はこのプログラムの処理において必要となるデータなどが記憶されている。外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくなどでもよい。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。以下、データやその格納領域のアドレスなどを記憶する記憶装置を単に「記憶部」と呼ぶことにする。
【０１１１】
符号化装置１の記憶部には、音声音響信号に由来する周波数領域のサンプル列の符号化、誤差の符号化のためのプログラムなどが記憶されている。
【０１１２】
復号装置２の記憶部には、入力された符号を復号するためのプログラムなどが記憶されている。
【０１１３】
符号化装置１では、記憶部に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてＲＡＭに読み込まれて、ＣＰＵで解釈実行・処理される。この結果、ＣＰＵが所定の機能（例えば、誤差算出部１８、誤差符号化部１１０、符号化部１９）を実現することで符号化が実現される。
【０１１４】
復号装置２では、記憶部に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてＲＡＭに読み込まれて、ＣＰＵで解釈実行・処理される。この結果、ＣＰＵが所定の機能（例えば、復号部２１）を実現することで復号が実現される。
【０１１５】
＜変形例等＞
符号化装置１の量子化部１７では、x(n)/gではなく、x(n)/gの値を所定の関数Gで伸縮させた値G(x(n)/g)を用いてもよい。具体的には、量子化部１７は、重み付け正規化MDCT係数列の各係数x(n)[1≦n≦N]を利得gで割り算して得られるx(n)/gを関数Gで伸縮させた値G(x(n)/g)に対応する整数値、例えばG(x(n)/g)の小数点以下を四捨五入又は切り上げ又は切り下げして得られる整数値u(n)を量子化MDCT係数とする。この量子化MDCT係数が符号化部１９の符号化の対象となる。
【０１１６】
関数Gは、例えばG(h)=sign(h)×|h|aである。sign(h)は、入力されたhの正負の符号を出力する極性符号関数である。sign(h)は、例えば、入力されたhが正の数であれば１を出力し、入力されたhが負の数であれば−１を出力する。|h|は、ｈの絶対値を表す。aは、所定の数であり、例えば0.75である。
【０１１７】
この場合、x(n)/gの値を所定の関数Gで伸縮させた値G(x(n)/g)が、特許請求の範囲の周波数領域のサンプル列に対応することになる。また、誤差算出部１８が得る量子化誤差r(n)は、G(x(n)/g)-u(n)である。この量子化誤差r(n)が誤差符号化部１１０で符号化の対象となる。
【０１１８】
さらに、この場合、復号装置２の加算部２５は、加算により得られたu(n)+q(n)に対して関数Gの逆関数であるG-1=sign(h)×|h|1/aの処理を行った値G-1(u(n)+q(n))に利得gを乗じることにより、復号重み付け正規化MDCT係数系列x^(n)を得る。すなわち、x^(n)=G-1(u(n)+q(n))*gとする。なお、a=0.75である場合には、G-1(h)=sign(h)×|h|1.33とする。
【０１１９】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１２０】
また、上記実施形態において説明したハードウェアエンティティ（符号化装置１、復号装置２）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【０１２１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１２２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１２３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１２４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。  
【図１】
2012137617.tif 000004
【図２】
2012137617.tif 000005
【図３】
2012137617.tif 000006
【図４】
2012137617.tif 000007
【図５】
2012137617.tif 000008
【図６】
2012137617.tif 000009
【手続補正書】
【提出日】平成25年9月20日(2013.9.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
整数値に対する可変長符号により節約することができたビットである余剰ビットで、誤差値を符号化することにより、フレームあたりのビット数が固定である場合でも符号化効率の向上や量子化歪の軽減などが実現される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
【図１】実施形態の符号化装置の構成を説明するためのブロック図。
【図２】実施形態の符号化装置の処理を説明するためのフローチャート。
【図３】重み付け正規化MDCT係数とパワースペクトル包絡との関係を説明するための図。
【図４】余剰ビット数が多い場合の処理の例を説明するための図。
【図５】実施形態の復号装置の構成を説明するためのブロック図。
【図６】実施形態の復号装置の処理を説明するためのフローチャート。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
「正規化利得計算部１６」
次に、正規化利得計算部１６が、フレームごとに、重み付け正規化MDCT係数列の各係数x(1),・・・,x(N)を与えられた総ビット数で量子化できるように、全周波数に亘る振幅値の和またはエネルギー値の和を用いて量子化ステップ幅を決定し、この量子化ステップ幅になるように重み付け正規化MDCT係数列の各係数を割り算する係数g（以下、利得という。）を求める（ステップＳ１６）。この利得を表す情報である利得情報は、復号装置２に送信される符号の一部とされる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
「誤差算出部１８」
ステップＳ１５の処理で得られた重み付け正規化MDCT系数列と、ステップＳ１６の処理で得られた利得ｇと、ステップＳ１７の処理で得られたフレーム単位の量子化MDCT係数列とが、誤差算出部１８の入力となる。量子化による誤差はr(n)=x(n)/g-u(n) [1≦n≦N]で求められる。すなわち、重み付け正規化MDCT係数列の各係数x(n)を利得gで除算した値からその各係数x(n)に対応する量子化MDCT係数u(n)を減算した値をその各係数x(n)に対応する量子化誤差r(n)とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
並び替え部１１１は、フレームごとに、（１）量子化MDCT係数列の全てのサンプルを含み、かつ、（２）サンプルの大きさを反映する指標が同等か同程度のサンプルが集まるように量子化MDCT係数列に含まれる少なくとも一部のサンプルを並べ替えたもの、を並べ替え後のサンプル列として出力する（ステップＳ１１１）。ここで「サンプルの大きさを反映する指標」とは、例えばサンプルの振幅の絶対値やパワー（自乗値）であるが、これらに限定されない。並び替え部１１１の詳細は、特願２０１０−２２５９４９号（ＰＣＴ／ＪＰ２０１１／０７２７５２）を参照のこと。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
（B）T＜U≦T+Sの場合
誤差復号部２３は、復号量子化MDCT係数u(n)の値が０でないサンプルに対して、入力された誤差符号に含まれる１ビットの符号を復号して復号量子化誤差サンプルの正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25または-0.25を、その復号量子化MDCT係数u(n)に対応する復号量子化誤差q(n)として出力する。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の時間区間の音響信号に由来する周波数領域のサンプル列を所定の個数のビットで符号化する符号化方法であって、
上記周波数領域のサンプル列の各サンプルの値に対応する整数値を可変長符号化により符号化して可変長符号を生成する符号化ステップと、
上記周波数領域のサンプル列の各サンプルの値からその各サンプルの値に対応する整数値を減算した誤差値の列を算出する誤差算出ステップと、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットを用いて、上記誤差値の列を符号化して誤差符号を生成する誤差符号化ステップと、
を含む符号化方法。
【請求項２】
請求項１の符号化方法において、
上記誤差符号化ステップは、上記余剰ビットを用いて、上記誤差値の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを優先的に符号化する、
符号化方法。
【請求項３】
請求項１の符号化方法において、
上記誤差符号化ステップは、上記余剰ビットを用いて、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを優先的に符号化する、
符号化方法。
【請求項４】
請求項１から３の何れかの符号化方法において、
上記誤差符号化ステップは、上記誤差値の列を構成する誤差サンプルのうち符号化の対象となる各誤差サンプルの値の正負の情報を１ビットで符号化する、
符号化方法。
【請求項５】
請求項４の符号化方法において、
整数値に応じて定まる値を再構成値の絶対値とし、上記再構成値の絶対値を誤差サンプルの値が正のときに対応する再構成値とし、０から上記再構成値の絶対値を減算した値を誤差サンプルの値が負のときに対応する再構成値として、
上記誤差符号化ステップは、上記余剰ビットの数が上記誤差値の列を構成する誤差サンプルの数よりも大きい場合には、上記各誤差サンプルに対応する再構成値を上記各誤差サンプルの値から減算した値の正負の情報を別の１ビットを用いて更に符号化する、
符号化方法。
【請求項６】
請求項５の符号化方法において、
整数値が０でない場合の再構成値の絶対値は、整数値が０である場合の再構成値の絶対値よりも大きい、
符号化方法。
【請求項７】
入力された所定の個数のビットで構成される符号を復号する復号方法であって、
上記符号に含まれる可変長符号を復号して整数値の列を生成する復号ステップと、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットで構成される、上記符号に含まれる誤差符号を復号して誤差値の列を生成する誤差復号ステップと、
上記整数値の列の各サンプルと上記誤差値の列の対応する誤差サンプルとを加算する加算ステップと、
を含む復号方法。
【請求項８】
請求項７の復号方法において、
上記誤差復号ステップは、上記余剰ビットで表現された、上記誤差値の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを復号する、
復号方法。
【請求項９】
請求項７の復号方法において、
上記誤差復号ステップは、上記余剰ビットで表現された、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを復号する、
復号方法。
【請求項１０】
請求項７から９の何れかの復号方法において、
整数値に応じて定まる値を再構成値の絶対値として、
上記誤差復号ステップは、上記誤差値の列の各誤差サンプルの値を、上記誤差符号を復号することにより得られた上記各誤差サンプルに対応する１ビットの情報で定まる正負を上記各誤差サンプルに対応する整数値に基づく再構成値の絶対値に対して反映させた値とする、
復号方法。
【請求項１１】
請求項１０の復号方法において、
上記誤差復号ステップは、上記各誤差サンプルの値に対応する別の１ビットの情報がある場合には、上記各誤差サンプルの値を、上記反映させた値と、上記別の１ビットの情報で定まる正負を上記各誤差サンプルに対応する整数値に基づく再構成値の絶対値の１／２の値に対して反映させた値とを加算した値とする、
復号方法。
【請求項１２】
請求項１０の復号方法において、
整数値が０でない場合の再構成値の絶対値は、整数値が０である場合の再構成値の絶対値よりも大きい、
復号方法。
【請求項１３】
請求項１１の復号方法において、
整数値が０でない場合の再構成値の絶対値は、整数値が０である場合の再構成値の絶対値よりも大きい、
復号方法。
【請求項１４】
所定の時間区間の音響信号に由来する周波数領域のサンプル列を所定の個数のビットで符号化する符号化装置であって、
上記周波数領域のサンプル列の各サンプルの値に対応する整数値を可変長符号化により符号化して可変長符号を生成する符号化部と、
上記周波数領域のサンプル列の各サンプルの値からその各サンプルの値に対応する整数値を減算した誤差値の列を算出する誤差算出部と、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットを用いて、上記誤差値の列を符号化して誤差符号を生成する誤差符号化部と、
を含む符号化装置。
【請求項１５】
請求項１４の符号化装置において、
上記誤差符号化部は、上記余剰ビットを用いて、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを優先的に符号化する、
符号化装置。
【請求項１６】
請求項１４の符号化装置において、
上記誤差符号化部は、上記余剰ビットを用いて、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを優先的に符号化する、
符号化装置。
【請求項１７】
入力された所定の個数のビットで構成される符号を復号する復号装置であって、
上記符号に含まれる可変長符号を復号して整数値の列を生成する復号部と、
上記所定の個数から上記可変長符号のビットの個数を減算した個数のビットである余剰ビットで構成される、上記符号に含まれる誤差符号を復号して誤差値の列を生成する誤差復号部と、
上記整数値の列の各サンプルと上記誤差値の列の対応する誤差サンプルとを加算する加算部と、
を含む復号装置。
【請求項１８】
請求項１７の復号装置において、
上記誤差復号部は、上記余剰ビットで表現された、上記誤差の列を構成する誤差サンプルのうち対応する上記整数値が０でない誤差サンプルを復号する、
復号装置。
【請求項１９】
請求項１７の復号装置において、
上記誤差復号部は、上記余剰ビットで表現された、上記誤差値の列を構成する誤差サンプルのうち対応するパワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値が大きい誤差サンプルを復号する、
復号装置。
【請求項２０】
請求項１から１３に記載された方法の各ステップをコンピュータに実現させるためのプログラム。
【請求項２１】
請求項１から１３に記載された方法の各ステップをコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【国際調査報告】
2012137617.tif 000010
2012137617.tif 000011
2012137617.tif 000012
2012137617.tif 000013