本発明の実施形態を、図面を参照して説明する。同一構成要素ないし同一処理には同一符号を割り当てて重複説明を省略する場合がある。なお、各実施形態で扱う音響信号は音声や楽音などの音響、映像などの信号である。ここでは音響信号が時間領域信号であることを想定しているが、必要に応じて周知技術によって時間領域信号を周波数領域信号に変換することも、或いは周波数領域信号を時間領域信号に変換することもできる。従って、符号化処理の対象となる信号は、時間領域信号でも周波数領域信号でもよい(以下の説明では、説明を具体的にするため、周波数領域信号を扱う)。符号化処理の対象として入力される信号は複数のサンプルで構成される系列(サンプル系列)であり、符号化処理は通常、フレーム単位で実行されることから、処理対象の信号を入力信号系列と呼称することにする。
例えば図1に示す技術を参考にすると、入力信号系列X(ω) [ω∈{0,…,L-1}]に含まれる各成分、量子化グローバルゲインg^および量子化正規化済み信号系列X^Q(ω) [ω∈{0,…,L-1}]に含まれる各成分の間の関係は式(1)で表すことができる。ここで、egはグローバルゲインgと量子化グローバルゲインg^との量子化誤差を、eXQは正規化入力信号系列XQ(ω) [ω∈{0,…,L-1}]と量子化正規化済み信号系列X^Q(ω) [ω∈{0,…,L-1}]に含まれる対応する成分同士(同じωの値の成分同士)の量子化誤差を表している。
通常の量子化では、量子化正規化済み信号系列X^Q(ω) [ω∈{0,…,L-1}]に対応する符号である正規化信号符号に消費される消費ビット数は入力信号系列に依存し、正規化信号符号用に予め定められた規定ビット数の一部が未使用のビットとして残る場合が多い。そこで、この余った一つまたは複数のビット(以下、余剰ビットという)を量子化誤差egとeXQの低減に利用する。さらに言えば、余剰ビットに限らず、量子化誤差の低減のために事前に用意された一つまたは複数のビットを利用してもよい。以下、量子化誤差egの低減に利用可能なビットを「ゲイン修正ビット」と呼称する。ゲイン修正ビットのビット数をUgとする。また、量子化誤差eXQの低減に利用可能なビットを「誤差表現ビット」と呼称する。誤差表現ビットのビット数をUXQとする。
なお、「量子化誤差egを低減する」ことは、換言すると、「量子化グローバルゲインを補正する」ことに他ならない。量子化グローバルゲインの補正に関して、一つのフレームに関する離散周波数のインデックスω∈{0,1,2,…,L-1}の全体、つまり系列全体、に共通の量子化グローバルゲインを補正する方法が考えられる。しかし、音響信号の特性を考慮すると、系列全体に共通の量子化グローバルゲインを補正するよりも、系列全体BをN個(ただし、Nは2以上の予め定められた整数である)の範囲{Bn}n=1 N={B1,…,Bn,…,BN}に区分した後、各範囲に対応するゲインを、量子化グローバルゲインを補正することによって求める方が、音声品質の向上を期待できる。このような観点から、実施形態における適応量子化では、量子化グローバルゲインを補正する場合には、量子化正規化済み信号系列X^Q(ω) [ω∈{0,…,L-1}]の系列全体が複数の範囲に区分される。
符号化装置と復号装置とで同じ信号系列BをN個の範囲に区分するために容易に考えられる方法は、隣接する範囲の境界位置や各範囲に含まれる成分数のような範囲を特定する情報を符号化装置の出力とする方法である。しかし、範囲を特定する情報を出力するためには大量のビット数が必要となる。範囲を特定する情報を符号化装置の出力とすることなく、すなわち、ビットを消費することなく、符号化装置と復号装置とで同じ基準で区分を行なう。また、各範囲に対してなるべく均等にゲイン修正ビット、すなわち、量子化グローバルゲインを修正するための情報量、を与えることを想定し、各範囲に含まれる量子化正規化済み信号系列の成分の情報量がなるべく均等となることが望ましい。そこで、系列区分の基準として「各範囲のエネルギーがなるべく等しくなるように区分する基準」又は「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」を採用する。これらの基準による具体的な区分方法については、後に詳述する。
実施形態の詳細を以下に説明する。
《第1実施形態》
第1実施形態の符号化装置1(図2参照)は、正規化信号符号化部120、グローバルゲイン符号化部105、ゲイン補正量符号化部140、区分部150、制御部170、誤差符号化部150及び加算部190を含む。符号化装置1は、必要に応じて、周波数領域変換部101と合成部160を含んでもよい。
まず、符号化装置1(encoder)が行う符号化処理を説明する(図3参照)。
ここでは、符号化装置1の入力信号系列は、フレーム単位の音響信号x(n)に対応するL点(Lは、正整数で例えば256である)の周波数成分である入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]であるとして説明する。ここで、nは離散時間のインデックス、ωは離散周波数のインデックス、LminはL点の周波数成分のうちの最小の離散周波数のインデックス、LmaxはL点の周波数成分のうちの最大の離散周波数のインデックス、を表す。ただし、フレーム単位の音響信号x(n)そのものを符号化装置1の入力信号系列としてもよいし、フレーム単位の音響信号x(n)に対して線形予測分析をした残差信号を符号化装置1の入力信号系列としてもよいし、その残差信号に対応するL点(Lは、正整数で例えば256である)の周波数成分を入力信号系列としてもよい。
<周波数領域変換部101>
符号化装置1は、符号化装置1の前処理部として、または符号化装置1内に、周波数領域変換部101を備えてもよい。この場合は、周波数領域変換部101がフレーム単位の時間領域の音響信号x(n)に対応するL点(Lは、正整数で例えば256である)の周波数成分を生成して入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]として出力する。時間−周波数変換方法として、例えばMDCT(Modified Discrete Cosine Transform)やDCT(Discrete Cosine Transform)を用いることができる。この場合も、フレーム単位の時間領域の音響信号に代えて、フレーム単位の時間領域の音響信号を線形予測分析して得られる残差信号をx(n)としてもよい。
<正規化信号符号化部120>
正規化信号符号化部120は、フレーム単位の入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]の各成分が正規化された信号による系列(正規化済み信号系列XQ(ω) [ω∈{Lmin,…,Lmax}])を符号化して得られる正規化信号符号と、この正規化信号符号に対応する量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を出力する(ステップS1e)。
正規化信号符号化部120から、余剰ビットの数Uが得られる場合には、得られた余剰ビットの数Uは、制御部170に送信される。
正規化信号符号化部120は、例えば、図1の正規化部102、量子化部103、ゲイン制御部104により実現される。正規化部102、量子化部103、ゲイン制御部104のそれぞれは、[背景技術]欄で説明した通りに動作する。
<グローバルゲイン符号化部105>
グローバルゲイン符号化部105が、入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]に対応するゲインである量子化グローバルゲインg^と、量子化グローバルゲインg^に対応するグローバルゲイン符号とを得る(ステップS2e)。また、グローバルゲイン符号化部105は、必要に応じて量子化グローバルゲインg^に対応する量子化ステップ幅も得る。
グローバルゲイン符号化部105は、例えば、[背景技術]欄で説明した通りに動作する。
また、例えば、グローバルゲイン符号化部105は、量子化グローバルゲインの候補とその候補に対応するグローバルゲイン符号の組を複数組格納したテーブルを備え、正規化信号符号化部120で得られたグローバルゲインgと最も近い量子化グローバルゲインの候補を量子化グローバルゲインg^とし、その候補に対応するグローバルゲイン符号を出力してもよい。
要は、グローバルゲイン符号化部105は、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の各成分とゲインとを乗算して得られる信号系列と入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]との相関が最大または誤差が最小となるような基準で求められた量子化グローバルゲインg^とこの量子化グローバルゲインに対応するグローバルゲイン符号を求めて出力すればよい。
なお、ゲイン補正量符号化部140が量子化グローバルゲインg^に対応する量子化ステップ幅を用いた処理を行う場合は、量子化グローバルゲインg^に対応する量子化ステップ幅もゲイン補正量符号化部140に対して出力される。
<制御部170>
制御部170は、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数に応じて、ゲイン補正量符号を生成する処理及び誤差符号を生成する処理の一方の処理を他方の処理よりも優先的に行わせる(ステップS3e)。所定の値とは、例えば0である。どちらの処理を優先的に行うかについての情報である優先情報(例えば、後述するUXQ,Ug)は、誤差符号化部180及びゲイン補正量符号化部140に送信される。
誤差符号は、一例として、後述するように、入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]の各サンプル値を量子化グローバルゲインg^で除算して得られる信号系列と量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]との誤差に対応する符号である。この例では、誤差符号を生成する処理とは、後述する誤差符号化部180によるステップS4eの処理のことである。
この例では、ゲイン補正量符号は、後述するように、量子化グローバルゲインg^をゲイン補正量で補正して得られるゲインを量子化正規化済み信号系列を修正して得られる修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の各サンプルの値に乗算して得られる信号系列と入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]との誤差が最小となるゲイン補正量を特定するための符号である。この例では、ゲイン補正量符号を生成する処理とは、後述する区分部150及びゲイン補正量符号化部140によるステップS6e,S7eの処理のことである。なお、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を修正して修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を得る処理は、後述する加算部190によるステップS5eの処理である。
なお、別の例として、ゲイン補正量符号は、量子化グローバルゲインg^を量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の各サンプルの値に乗算して得られる信号系列と入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]との誤差が最小となるゲイン補正量を特定するための符号としてもよい。この例では、ゲイン補正量符号を生成する処理とは、後述する区分部150及びゲイン補正量符号化部140によるステップS6e,S7eの「修正後量子化正規化済み信号系列X^’Q(ω)」を「量子化正規化済み信号系列X^Q(ω)」に置き換えた処理のことである。
この例では、誤差符号は、入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]の各サンプル値を量子化グローバルゲインg^をゲイン補正量で補正して得られるゲインで除算して得られる信号系列と量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]との誤差に対応する符号としてもよい。この例では、誤差符号を生成する処理とは、後述する誤差符号化部180によるステップS4eの「量子化グローバルゲインg^」を「量子化グローバルゲインg^をゲイン補正量で補正して得られるゲイン」に置き換えた処理のことである。
量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数とは、いわゆる量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルの個数のことである。量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルのことを、非ゼロ係数とも呼ぶ。
以下、図26を用いて、制御部170の処理の一例を説明する。
図26の例では、制御部170は、ω=Lminとし、count=0として、変数ω及び変数countを初期化する(ステップS3e1)。
制御部170は、ωがLmax以下であるか判定する(ステップS3e2)。ωがLmax以下であれば、ステップS3e3に進む。ωがLmax以下でなければ、ステップS3e6に進む。
制御部170は、X^Q(ω)の値が所定の値αg^よりも大きいか判定する(ステップS3e3)。αは所定の0以上の実数である。例えば、α=0である。図26の例では、|X^Q(ω)|2の値がαg^よりも大きいか判定することにより、X^Q(ω)の大きさが所定の値αg^よりも大きいか判定している。もちろん、これは一例に過ぎず、X^Q(ω)の大きさが所定の値αg^よりも大きいか判定することができれば、他の判定手法を用いてもよい。
|X^Q(ω)|2の値がαg^よりも大であれば、制御部170は、変数countを1だけインクリメントし(ステップS3e4)、変数ωを1だけインクリメントする(ステップS3e5)。その後、ステップS3e1に戻る。
|X^Q(ω)|2の値がαg^よりも大でなければ、制御部170は、変数ωを1だけインクリメントする(ステップS3e5)。その後、ステップS3e1に戻る。
例えばこのようにして、制御部170は、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数をまずカウントする。
制御部170は、変数countがThよりも大きいか判定する(ステップS3e6)。ThはL点以下の所定の正の整数である。
変数countがThよりも大きければ、制御部170は、ゲイン修正ビットに、Uビットの余剰ビットのうち所定の数のビットを割り当てる(ステップS3e7)。例えば、Uyesを所定の数として、Ug=min(Uyes,U)とする。minは、最小値を選択する関数である。したがって、UgはUyesとUのどちらか小さい方の値になる。Uyesは、例えば6である。その後、制御部170は、ビットが余っているか、言い換えればU-Ugが0より大であるか判定する(ステップS3e9)。ビットが余っていれば、制御部170は、誤差表現ビットに余ったビットを割り当てる(ステップS3e10)。例えば、UXQ=U-Ugとする。ビットが余っていなければ、ステップS3eの処理を終える。
なお、C1を0.75等の所定の定数とし、floorを床関数として、Uyes=floor(C1U)としてもよい。また、C2を0.25等の所定の定数とし、ceilを天井関数として、Uyes=ceil(C1U)としてもよい。
変数countがThよりも大きくなければ、制御部170は、誤差表現ビットに、Uビットの余剰ビットのうち所定の数のビットを割り当てる(ステップS3e7)。例えば、UnoをUとして、UXQ=min(Uno,U)とする。その後、制御部170は、ビットが余っているか、言い換えればU-UXQが0より大であるか判定する(ステップS3e11)。ビットが余っていれば、制御部170は、ゲイン修正ビットに余ったビットを割り当てる(ステップS3e12)。例えば、Ug=U-UXQとする。ビットが余っていなければ、ステップS3eの処理を終える。なお、Unoは、U以外の所定の値であってもよい。
UXQは誤差符号化部180に送信され、Ugはゲイン補正量符号化部140に送信される。
このようにして、制御部170は、優先的に行われるステップで生成される符号に対して余剰ビットのうち所定の数のビットを割り当て、優先的に行われないステップで生成される符号に余剰ビットのうち上記割り当てたビット以外のビットを割り当てる。これにより、効率的な量子化誤差を修正が可能となる。
量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルの数が少ない場合には、量子化グローバルゲインg^の補正による量子化精度の改善への寄与度は小さい。量子化グローバルゲインg^の補正により影響を受ける量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの数自体が少ないからである。しがって、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルの数が少ない場合には、ゲイン補正量符号を生成する処理よりも、誤差符号を生成する処理を優先させた方が、量子化精度の改善への寄与度は大きい。
<誤差符号化部180>
誤差符号化部180は、UXQビットの誤差符号ビットを用いて、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を修正するための誤差符号とこの誤差符号に対応する復号量子化誤差q(ω)とを生成する(ステップS4e)。
入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]と、量子化グローバルゲインg^と、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]とが、誤差符号化部180の入力となる。
まず、誤差符号化部180は、量子化誤差r(ω)=X(ω)/g^-X^Q(ω)[ω∈{Lmin,…,Lmax}]を計算する。
量子化誤差r(ω)は、量子化による四捨五入での誤差であるので、-0.5から+0.5までにほぼ均等に分布する。任意のビット数ですべてのサンプルを符号化するために、誤差表現ビットによって符号化方法、対象とするサンプルの位置の規則を決めておく。
次に、誤差符号化部180は、量子化誤差r(ω)の列を誤差表現ビット数で符号化し、得られた誤差符号とこの誤差符号に対応する復号量子化誤差q(ω)とを出力する(ステップS4e)。この誤差符号は、合成部160に送信される。また、誤差符号化部180は、復号量子化誤差q(ω)を、加算部190に送信する。
<誤差符号化の具体例1>
量子化誤差の値を符号化する際に、複数のサンプルをまとめてベクトル量子化を行ってもよい。ただし、一般にテーブル(符号帳)中に符号系列を蓄積し、入力と符号系列の距離計算が必要で、メモリ量と演算量が多くなる。また任意のビット数に対応するために個別の符号帳が必要になるなど、構成が煩雑になる。
具体例1の動作は下記の通りである。
誤差符号化部180内の符号帳記憶部に、誤差表現ビット数の取り得る値ごとの符号帳を予め格納しておく。各符号帳には、その各符号帳に対応する誤差表現ビット数で表現可能な個数の量子化誤差の系列と同じサンプル数のベクトルと、そのベクトルに対応する符号とが対応付けて予め格納されている。
誤差符号化部180は、制御部170が決定した誤差表現ビット数に対応する符号帳を符号帳記憶部に格納された符号帳から選択し、選択された符号帳を用いてベクトル量子化を行なう。符号帳を選択した後の符号化処理は一般的なベクトル量子化と同じである。すなわち、選択された符号帳の各ベクトルと入力された量子化誤差の系列との距離が最小となるか、それらの相関が最大となるベクトルを復号量子化誤差q(ω)の系列として出力するとともに、このベクトルに対応する符号を誤差符号として出力する。
なお、上記の説明では、符号帳に格納されるベクトルは、量子化誤差の系列と同じサンプル数としたが、符号帳に格納されるベクトルのサンプル数を量子化誤差の系列の整数分の1とし、量子化誤差の系列を複数の部分毎にベクトル量子化し、得られる複数の符号を誤差符号とし、各符号に対応するベクトルを部分毎の復号量子化誤差q(ω)の系列としても良い。
<誤差符号化部180の具体例2>
量子化誤差列に含まれる量子化誤差を1サンプルずつ符号化する場合には、量子化誤差列に含まれる量子化誤差サンプルについての優先順位をきめて、優先順位の高い量子化誤差サンプルから誤差表現ビット数で符号化可能なもののみを符号化する。例えば、量子化誤差の絶対値又はエネルギーが大きい量子化誤差サンプルから優先的に符号化する。
優先順位を決める際に例えばパワースペクトル包絡値を参考にすることができる。もちろん、パワースペクトル包絡値と同様に、パワースペクトル包絡値の概算値、パワースペクトル包絡値の推定値、これらの何れかの値を周波数方向で平滑化した値、これらの何れかの値の複数サンプルについての平均値、これらの値の少なくとも何れか1つと大小関係が同一となる値を参考にすることもできるが、以下ではパワースペクトル包絡値を用いる場合についてのみ説明する。入力信号系列X(ω)が非常に小さい値である場合、すなわちステップ幅の1/2より小さい値である場合には入力信号系列X(ω) を量子化グローバルゲインg^で割り算した結果は0で、量子化誤差r(ω)も0.5より大幅に小さい。すなわち、パワースペクトル包絡値がある程度小さい場合には、入力信号系列X(ω)の他に量子化誤差r(ω)の符号化をしたところで聴覚品質への影響は小さいので、誤差符号化部180での符号化対象から除外してもよい。パワースペクトル包絡値がある程度大きい場合にはどのサンプルの量子化誤差が大きいかはわからないので、例えばもとのサンプルの周波数軸上での位置の小さい順(周波数が低い順)、又は、パワースペクトル包絡値の大きい順に誤差表現ビット分だけ、量子化誤差のサンプルr(ω)の符号化を各1ビットで行う。また、パワースペクトル包絡値が一定以下の場合を除外するだけでもよい。
なお、パワースペクトル包絡値として、量子化部103の内部で計算される正規化済みパワースペクトル包絡値を、グローバルゲイン符号化部105より求めた量子化グローバルゲインg^を用いて逆正規化した値を用いることができる。もちろん、それ以外の方法で求めた値でもよい。例えば、パワースペクトル包絡値は、入力された時間領域の音響信号x(n)を線形予測分析して得られた線形予測係数を量子化した量子化線形予測係数のパワースペクトルを表す値であってもよい。この場合、量子化線形予測係数の符号が復号装置2に送信される。
正規化済みパワースペクトル包絡値は、正規化済み信号系列XQ(ω)の概形を表すパラメータである。一般的には、量子化部103において、量子化効率の観点から、正規化済み信号系列XQ(ω)を概形(正規化済みパワースペクトル包絡値)と微細構造とに分け、それぞれのパラメータが符号化される。量子化部103が出力する正規化信号符号には、これらの符号化されたそれぞれのパラメータが含まれる。正規化済みパワースペクトル包絡値は、正規化済み入力信号系列XQ(ω)を8や16等の所定の正の整数であるサブバンド数で分割し、それぞれのサブバンドのエネルギーより算出される。
量子化誤差系列を符号化するにあたって、ある量子化誤差サンプルの値r(ω)=xとして、その量子化による歪をE=∫0 0.5f(x)(x-μ)2dxとする。ここでf(x)は確率分布関数、μは再構成値の絶対値である。量子化による歪Eを最小化するためには、dE/dμ=0とするようにμを決めればよい。すなわち、μは量子化誤差r(ω)の確率分布の重心点とすればよい。
量子化正規化済み信号系列X^Q(ω)を量子化グローバルゲインg^で割り算して四捨五入した結果、すなわち対応する量子化正規化済み信号系列X^Q(ω)の値が0でないなら、量子化誤差r(ω)の分布はほぼ均一であり、μ=0.25とできる。
量子化正規化済み信号系列X^Q(ω)を量子化グローバルゲインg^で割り算して四捨五入した結果、すなわち対応する量子化正規化済み信号系列X^Q(ω)の値が0なら、量子化誤差r(ω)の分布は0に集中する傾向があるので、その分布の重心をμの値として使う必要がある。
この場合、対応する量子化正規化済み信号系列X^Q(ω)の値が0ではない複数の量子化誤差サンプルごとに、符号化の対象とする量子化誤差サンプルを選択して、その選択された量子化誤差サンプルの複数の量子化誤差サンプルにおける位置と、その選択された量子化誤差サンプルの値とを符号化して誤差符号として復号装置2に送信してもよい。例えば、対応する量子化正規化済み信号系列X^Q(ω)の値が0ではない4個の量子化誤差サンプルのうち、値の絶対値が最も大きい量子化誤差サンプルを選択し、その選択された量子化誤差サンプルの値を量子化(例えば+か−かを決定)してその情報を1ビットで送るとともに、その選択された量子化誤差サンプルの位置を2ビットで送る。選択された量子化誤差サンプルの復号値は、μに+か−を与えた値とする。選択されなかった量子化誤差サンプルは符号が復号装置2に送られないので、復号値は0とする。一般に、2q個のサンプルの何れの位置のサンプルを選択したかを復号装置に伝えるためにはqビット必要である。
この際のμは、複数サンプル単位で量子化誤差の値の絶対値が最も大きいサンプルだけの分布の重心の値を使えばよい。
誤差表現ビット数をUXQ、量子化誤差列を構成する量子化誤差サンプルの個数のうち、対応する量子化正規化済み信号系列X^Q(ω)の値が0でないものの量子化誤差サンプルの個数をT、対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルの個数をSとするとき、次のような手順で符号化を行うことができる。
(A)UXQ≦Tの場合
誤差符号化部180は、量子化誤差列のうちの対応する量子化正規化済み信号系列X^Q(ω)の値が0でないT個の量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものからUXQ個選択して、選択されたそれぞれの量子化誤差サンプルに対して、量子化誤差サンプルの正負を表わす情報である1ビットの符号を生成して、生成したUXQビットの符号を誤差符号として出力する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル(周波数が低い量子化誤差サンプル)を選択する等の予め定めた規則に従って選択する。
また、誤差符号化部180は、選択された各量子化誤差サンプルについて、その各量子化誤差サンプルの正負を表わす情報を再構成値の絶対値0.25に与えて再構成値+0.25又は-0.25を得て、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
さらに、誤差符号化部180は、選択されたなかった各量子化誤差サンプルについては、0をその各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
(B)T<UXQ≦T+Sの場合
誤差符号化部180は、量子化誤差列のうちの対応する量子化正規化済み信号系列X^Q(ω)の値が0でないT個の量子化誤差サンプルのそれぞれについて、量子化誤差サンプルの正負を表わす情報である1ビットの符号を生成する。
誤差符号化部180はまた、UXQ-Tビットで量子化誤差系列のうちの対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルを符号化する。対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルが複数ある場合には、対応するパワースペクトル包絡値が大きいものから優先して符号化する。具体的には、対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものからUXQ-T個のそれぞれについて、量子化誤差サンプルの正負を表わす1ビットの符号を生成する。または、対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものから複数個を取り出し、複数個の量子化誤差サンプルごとにベクトル量子化して、UXQ-Tビットの符号を生成する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル(周波数が低い量子化誤差サンプル)を選択する等の予め定めた規則に従って選択する。
誤差符号化部180はさらに、生成したUXQビットの符号とUXQ-Tビットの符号とを合わせたものを誤差符号として出力する。
また、誤差符号化部180は、量子化正規化済み信号系列X^Q(ω)の値が0でない各量子化誤差サンプルについて、その各量子化誤差サンプルの正負を表わす情報を再構成値の絶対値0.25に与えて再構成値+0.25又は-0.25を得て、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
また、誤差符号化部180は、量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものからUXQ-T個の各量子化誤差サンプルについて、その各量子化誤差サンプルの正負を表す情報を再構成値A(0<A<0.25)に与えて再構成値+A又は-Aを得て、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。または、誤差符号化部180は、量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルのうち、対応するパワースペクトル包絡値が大きいものから複数個の量子化誤差サンプルについて、誤差符号に含まれるベクトル量子化により得られたUXQ-Tビットの符号に対応する復号量子化誤差サンプル値の列を得て、その複数個の量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
さらに、誤差符号化部180は、符号化の対象とならなかった各量子化誤差サンプルについては、0をその各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
(C)T+S<UXQの場合
誤差符号化部180は、量子化誤差系列に含まれるすべての量子化誤差サンプルのそれぞれについて、量子化誤差サンプルの正負を表わす1ビットの1巡目符号を生成する。
また、誤差符号化部180は、残りのUXQ-(T+S)ビットを使って(A)や(B)の手順で量子化誤差サンプルを更に符号化する。すなわち、UXQ-(T+S)を新たなUXQとして1巡目の符号化の誤差についてさらに2巡目の(A)を実行する。すなわち、結果的には、少なくとも一部の量子化誤差サンプルについて、量子化誤差サンプルあたり2ビットの量子化を行うことになる。1巡目の符号化では量子化誤差r(ω)の値は-0.5から+0.5の範囲内で一様であったが、2巡目の符号化の対象となる1巡目の誤差の値は-0.25から+0.25の範囲内になる。
具体的には、誤差符号化部180は、量子化誤差系列を構成する量子化誤差サンプルのうち、対応する量子化正規化済み信号系列X^Q(ω)の値が0でなく、かつ、量子化誤差r(ω)の値が正である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である0.25を減算して得られた値について、その正負を表わす1ビットの2巡目符号を生成する。
また、誤差符号化部180は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化正規化済み信号系列X^Q(ω)の値が0でなく、かつ、量子化誤差r(ω)の値が負である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である-0.25を減算して得られた値について、その正負を表わす1ビットの2巡目符号を生成する。
また、誤差符号化部180は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化正規化済み信号系列X^Q(ω)の値が0であり、かつ、量子化誤差r(ω)の値が正である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値であるA(Aは、0.25より小さい予め定められた正の値)を減算して得られた値について、その正負を表わす1ビットの2巡目符号を生成する。
さらに、誤差符号化部180は、量子化誤差系列を構成する誤差サンプルのうち、対応する量子化正規化済み信号系列X^Q(ω)の値が0であり、かつ、量子化誤差r(ω)の値が負である量子化誤差サンプルについては、量子化誤差サンプルの値から再構成値である−A(Aは、0.25より小さい予め定められた正の値)を減算して得られた値について、その正負を表わす1ビットの2巡目符号を生成する。
さらに、誤差符号化部180は、生成した1巡目符号と2巡目符号とを合わせたものを誤差符号として出力する。
誤差符号化部180は、量子化正規化済み信号系列X^Q(ω)の値が0でない各量子化誤差サンプルについては、以下の処理を行い、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)を生成して出力する。まず、1巡目符号に対応する正負を表す情報を再構成値の絶対値0.25に与えて再構成値+0.25又は-0.25を得て1巡目復号量子化誤差q1(ω)とする。また、2巡目符号に対応する正負の情報を再構成値の絶対値0.125に与えて得られる再構成値+0.125又は-0.125を2巡目復号量子化誤差q2(ω)とする。そして、1巡目復号量子化誤差q1(ω)と2巡目復号量子化誤差q2(ω)とを加算して、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)とする。
また、誤差符号化部180は、量子化正規化済み信号系列X^Q(ω)の値が0である各量子化誤差サンプルについては、以下の処理を行い、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)を生成して出力する。まず、1巡目符号に対応する正負の情報を再構成値の絶対値A(0<A<0.25)に与えて再構成値+A又は-Aを得て1巡目復号量子化誤差q1(ω)とする。また、2巡目符号に対応する正負の情報を再構成値の絶対値A/2に与えて再構成値+A/2又は-A/2を得て2巡目復号量子化誤差q2(ω)とする。そして、1巡目復号量子化誤差q1(ω)と2巡目復号量子化誤差q2(ω)とを加算して、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)とする。 なお、各量子化誤差サンプルに対応する2巡目符号がない場合には、1巡目復号量子化誤差q1(ω)を、その各量子化誤差サンプルに対応する復号量子化誤差q(ω)として出力する。
量子化誤差系列のうちのT+S個の量子化誤差サンプルのすべてを符号化しない場合や、対応する量子化正規化済み信号系列X^Q(ω)の値が0である量子化誤差サンプルを複数まとめてサンプルあたり1ビット以下で符号化する場合は、UXQビットより少ないUUビットで量子化誤差系列を符号化することになるので、(C)の条件はT+S<UUの場合とすればよい。
なお、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を用いてもよい。
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を周波数方向で平滑化して得られる値を用いてもよい。平滑化して得られる値として、重み付け包絡正規化部15で得られた重み付けスペクトル包絡係数を誤差符号化部180に入力して用いてもよいし、誤差符号化部180で算出してもよい。
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、複数のパワースペクトル包絡値を平均した値を用いてもよい。また、パワースペクトル包絡値W(ω) [Lmin≦ω≦Lmax]の代わりに、パワースペクトル包絡値の概算値の平均値、パワースペクトル包絡値の推定値の平均値を用いてもよい。さらに、パワースペクトル包絡値、パワースペクトル包絡値の概算値又はパワースペクトル包絡値の推定値を周波数方向で平滑化して得られる値の平均値を用いてもよい。ここでの平均値は、対象となる値を複数サンプルについて平均した値、すなわち複数サンプルの対象となる値を平均した値である。
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値と、パワースペクトル包絡値の概算値と、パワースペクトル包絡値の推定値と、これらの何れかの値を平滑化して得られる値と、これらの何れかの値を複数のサンプルについて平均して得られる値との少なくとも何れか1つと大小関係が同一となる値を用いてもよい。この場合は、大小関係が同一となる値を誤差符号化部180で算出して用いる。大小関係が同一となる値とは、二乗値や平方根などである。例えば、パワースペクトル包絡値W(ω) [Lmin≦ω≦Lmax]と大小関係が同一となる値はパワースペクトル包絡値の二乗値である(W(ω))2[Lmin≦ω≦Lmax]やパワースペクトル包絡値の平方根である(W(ω))1/2[Lmin≦ω≦Lmax]である。
<加算部190>
加算部190には、復号量子化誤差q(ω)の列及び量子化正規化済み信号系列X^Q(ω)が入力される。加算部190は、復号量子化誤差q(ω)の列と量子化正規化済み信号系列X^Q(ω)とを加算して、修正後量子化正規化済み信号系列X^’Q(ω)とする(ステップS5e)。修正後量子化正規化済み信号系列X^’Q(ω)は、区分部150及びゲイン補正量符号化部140に送信される。
<区分部150>
区分部150が、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を、「各範囲のエネルギーがなるべく等しくなるように区分する基準」又は「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」で、N個の範囲(ただし、N=2Dであり、Dは2以上の予め定められた整数である)に区分する(ステップS3e)。既述の説明と整合させると、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の離散周波数インデックスの集合を{Lmin,…,Lmax}として、修正後量子化正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]が系列全体Bに相当し、区分部150は、修正後量子化正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]を、「各範囲のエネルギーがなるべく等しくなるように区分する基準」又は「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」で、N個の範囲{Bn}n=1 N={B1,…,Bn,…,BN}に区分する。「各範囲のエネルギーがなるべく等しくなるように区分する基準」又は「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」で区分する区分処理の詳細は後述する。この区分処理で得られるN個の範囲への区分に関する情報(以下、区分情報という)は区分部150から出力されゲイン補正量符号化部140に提供される。
区分部150が行なう区分処理の詳細については後述する。
<ゲイン補正量符号化部140>
ゲイン補正量符号化部140は、図24に示すように、記憶部141、ビット割当部142及び符号化部143を例えば備えている。ゲイン補正量符号化部140は、必要に応じて、図24に破線で示した乗算部144を備えていてもよい。ゲイン補正量符号化部140には、入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]と、量子化グローバルゲインg^と、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]と区分情報が入力される。ゲイン補正量符号化部140は、ゲイン補正量符号化部140の記憶部141に記憶されている複数個のゲイン補正量コードブックを用いて、量子化グローバルゲインを複数個のゲイン補正量で区分された範囲ごとに補正して得られる補正ゲインと修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の各サンプルの値とを乗算して得られる信号系列と入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]との相関が最大又は誤差が最小となるゲイン補正量を特定するための符号であるゲイン補正量符号を出力する。ゲイン補正量符号化部140は、入力されたゲイン修正ビット数Ugに基づいて、Ugビットのゲイン補正量符号を出力するようにする。
この際、ゲイン補正量符号化部140のビット割当部142は、N個(N=2Dであり、Dは2以上の整数)に区分された各範囲に対応するゲイン補正量と区分された範囲を2k個(kは1からD−1までの各整数)纏めた範囲のゲイン補正量とのうち範囲に含まれる区分された範囲の個数が多い範囲に対応するゲイン補正量に優先してビットを割り当てる。具体的には、区分された範囲を2N-1個纏めた範囲、区分された範囲を2N-2個纏めた範囲、…、区分された範囲を2個纏めた範囲、区分された範囲の順に優先してビットを割り当てる。
なお、範囲に含まれる区分された範囲の個数が多い範囲のことを、大きな範囲と省略して記載することもある。また、範囲に含まれる区分された範囲の個数が少ない範囲のことを、小さな範囲と省略して記載することもある。さらに、範囲に含まれる区分された範囲の個数が同じ範囲のことを、同じ大きさの範囲と省略して記載することもある。
同じ大きさの範囲に対応するゲイン補正量については何れの範囲に対応するゲイン補正量に優先してビットを割り当ててもよいが、聴覚的な重要度が高い範囲に対応するゲイン補正量に対して優先的にビットを割り当てるほうが好ましい。例えば、符号化装置100内の図示しない手段又は符号化装置100の外から各範囲の聴覚的な重要度の情報が入力されたとする。この場合には、同じ大きさの範囲に対応するゲイン補正量については、各範囲の聴覚的な重要度の情報に従って、聴覚的な重要度が高い範囲に対応するゲイン補正量に優先してビットを割り当てる。すなわち、範囲に含まれる区分された範囲の個数が同じ範囲に対応するゲイン補正量については、聴覚的な重要度が高い範囲に対応するゲイン補正量に優先してビットを割り当ててもよい。
なお、一般的には、周波数が低い帯域の方が、周波数が高い帯域よりも、聴覚的な重要度が高いことが多い。このため、同じ大きさの範囲に対応するゲイン補正量については、周波数が低い範囲に対応するゲイン補正量に優先してビットを割り当ててもよい。すなわち、範囲に含まれる上記区分された範囲の個数が同じ範囲に対応するゲイン補正量については、周波数が低い範囲に対応するゲイン補正量に優先してビットを割り当ててもよい。
[ゲイン補正量符号化処理の第1例]
ゲイン補正量符号化処理の第1例は、量子化グローバルゲインg^とゲイン補正量とを加算したものを補正ゲインとする例である。ここでは、同じ大きさの範囲に対応するゲイン補正量については周波数が低い範囲に対応するゲイン補正量に優先してビットを割り当て、隣接する2つの範囲のゲイン補正量をベクトル量子化する例について説明する。修正後量子化正規化済み信号系列が4個の範囲に区分されている場合について説明する。
この例では、修正後量子化正規化済み信号系列は、第1の範囲R1、第2の範囲R2、第3の範囲R3及び第4の範囲R4に区分されている。例えば図25に示すように、第1の範囲R1は区間[Lmin,L(1)-1]であり、第2の範囲R2は区間[L(1),L(2)-1]であり、第3の範囲R3は区間[L(2),L(3)-1]であり、第4の範囲R4は区間[L(3),Lmax]である。図25の横軸は、サンプル番号を表す。これらの範囲R1,R2,R3,R4は、2k個(kは一般には1からD−1までの各整数であるが、この例ではk=1)ずつ纏められている。範囲R1及び範囲R2を纏めた範囲を範囲R12とし、範囲R3及び範囲R4を纏めた範囲を範囲R34とする。
これらの範囲R1,R2,R3,R4,R12,R34は、同じ大きさの範囲ごとにa個の範囲で構成されるグループに分割されている。aは一般には2以上の整数であるが、この例ではa=2である。この例では、範囲R1及び範囲R2がグループG12を構成しており、範囲R3及び範囲R4がグループG34を構成しており、範囲R12及び範囲R34がグループG1234を構成している。すなわち、各グループを構成する範囲は、以下のようになる。
グループG12={範囲R1,範囲R2}
グループG34={範囲R3,範囲R4}
グループG1234={範囲R12,範囲R34}
ベクトル量子化は、これらのグループG12,G34,G1234のそれぞれで行われる。
具体的には、次の3つのベクトル量子化が行なわれる。第1のベクトル量子化は、グループG12についてのベクトル量子化、すなわち範囲R1に対応するゲイン補正量と範囲R2に対応するゲイン補正量とのベクトル量子化である。これを以下では「第1VQ」という。第2のベクトル量子化は、グループG34についてのベクトル量子化、すなわち範囲R3に対応するゲイン補正量と範囲R4に対応するゲイン補正量とのベクトル量子化である。これを以下では「第2VQ」という。第3のベクトル量子化は、グループG1234についてのベクトル量子化、すなわち範囲R12に対応するゲイン補正量と範囲R34に対応するゲイン補正量とのベクトル量子化である。これを以下では「第3VQ」という。
<記憶部141>
ゲイン補正量符号化部140の記憶部141には、範囲R1に対応するゲイン補正量の候補Δ1(ma)と、範囲R2に対応するゲイン補正量の候補Δ2(ma)と、これらのゲイン補正量の候補を特定する符号idx12(ma)との組が2Ma個(2のMa乗個、Maは1以上の整数、ma∈{1,…,2Ma}])格納されている。具体的には、Δ1(1)とΔ2(1)とidx12(1)との組、Δ1(2)とΔ2(2)とidx12(2)との組、・・・、Δ1(2Ma)とΔ2(2Ma)とidx12(2Ma)との組が第1VQのゲイン補正量コードブックとして記憶部141に格納されている。符号idx12(ma)のビット数はMaビットである。すなわち、第1VQにより出力される符号(以下、第1VQ符号という)idx12はMaビットである。
a個(この例ではa=2)のゲイン補正量の候補で構成されたベクトルを、ゲイン補正量候補ベクトルと呼ぶことにすると、第1VQのゲイン補正量コードブックには、Δ1(1)及びΔ2(1)で構成されたゲイン補正量候補ベクトル、Δ1(2)及びΔ2(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ1(2Ma)及びΔ2(2Ma)で構成されたゲイン補正量候補ベクトルの計2Ma個のゲイン補正量候補ベクトルと、計2Ma個のゲイン補正量候補ベクトルとそれぞれ対応する計2Ma個の符号Δ12(1),Δ12(2),・・・,idx12(2Ma)が格納されていると考えることができる。
また、記憶部141には、範囲R3に対応するゲイン補正量の候補Δ3(mb)と、範囲R4に対応するゲイン補正量の候補Δ4(mb)と、これらのゲイン補正量の候補を特定する符号idx34(mb)との組が2Mb個(2のMb乗個、Mbは1以上の整数、mb∈{1,…,2Mb}]))格納されている。具体的には、Δ3(1)とΔ4(1)とidx34(1)との組、Δ3(2)とΔ4(2)とidx34 (2)との組、・・・、Δ3(2Mb)とΔ4(2Mb)とidx34(2Mb)との組が第2VQのゲイン補正量コードブックとして記憶部141に格納されている。MbはMaと同じ値であっても異なる値であってもよい。符号idx34(mb)のビット数はMbビットである。すなわち、第2VQにより出力される符号(以下、第2VQ符号という)idx34はMbビットである。
第2VQのゲイン補正量コードブックには、Δ3(1)及びΔ4(1)で構成されたゲイン補正量候補ベクトル、Δ3(2)及びΔ4(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ3(2Mb)及びΔ4(2Mb)で構成されたゲイン補正量候補ベクトルの計2Mb個のゲイン補正量候補ベクトルと、計2Mb個のゲイン補正量候補ベクトルとそれぞれ対応する計2Mb個の符号Δ34(1),Δ34(2),・・・,idx34(2Mb)が格納されていると考えてもよい。
さらに、記憶部141には、範囲R12のゲイン補正量の候補Δ12(mc)と、範囲R34のゲイン補正量の候補Δ34(mc)と、これらのゲイン補正量の候補を特定する符号idx1234(mc)との組が2Mc個(2のMc乗個、Mcは1以上の整数、mc∈{1,…,2Mc}]))格納されている。具体的には、Δ12(1)とΔ34(1)とidx1234(1)との組、Δ12(2)とΔ34(2)とidx1234(2)との組、・・・、Δ12(2Mc)とΔ34(2Mc)とidx1234(2Mc)との組が第3VQのゲイン補正量コードブックとして記憶部141に格納されている。McはMaと同じ値であっても異なる値であってもよい。また、McはMbと同じ値であっても異なる値であってもよい。符号idx1234(mc)のビット数はMcビットである。第3VQにより出力される符号(以下、第3VQ符号という)idx1234はMcビットである。
第3VQのゲイン補正量コードブックには、Δ12(1)及びΔ34(1)で構成されたゲイン補正量候補ベクトル、Δ12(2)及びΔ34(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ12(2Mc)及びΔ34(2Mc)で構成されたゲイン補正量候補ベクトルの計2Mc個のゲイン補正量候補ベクトルと、計2Mc個のゲイン補正量候補ベクトルとそれぞれ対応する計2Mc個の符号Δ1234(1),Δ1234(2),・・・,idx1234(2Mc)が格納されていると考えてもよい。
このように、区分された範囲及び区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲のそれぞれには、複数個のゲイン補正量の候補が対応付けされている。この例では、範囲R1にはΔ1(1),…,Δ1(2Ma)が対応付けされており、範囲R2にはΔ2(1),…,Δ2(2Ma)が対応付けされており、範囲R3にはΔ3(1),…,Δ3(2Mb)が対応付けされており、範囲R4にはΔ4(1),…,Δ4(2Mb)が対応付けされており、範囲R12にはΔ12(1),…,Δ12(2Mc)が対応付けされており、範囲R34にはΔ34(1),…,Δ34(2Mc)が対応付けされている。
ゲイン補正量の候補には、大きな範囲に対応するゲイン補正量の候補の絶対値の方が、その大きな範囲よりも小さい範囲に対応するゲイン補正量の候補の絶対値よりも大きいという関係があってもよい。すなわち、範囲に含まれる区分された範囲の個数が多い範囲に対応するゲイン補正量の候補の絶対値の方が、その範囲に含まれる上記区分された範囲の個数よりも範囲に含まれる区分された範囲の個数が少ない範囲に対応するゲイン補正量の候補の絶対値よりも大きいという関係があってもよい。
この例では、範囲R12及び範囲R34の方が、範囲R1、範囲R2、範囲R3及び範囲R4よりも大きな範囲である。
したがって、Δ12(1),…,Δ12(2Mc)の絶対値が、Δ1(1),…,Δ1(2Ma)の絶対値、Δ2(1),…,Δ2(2Ma)の絶対値、Δ3(1),…,Δ3(2Mb)の絶対値及びΔ4(1),…,Δ4(2Mb)の絶対値よりも大きくなっていてもよい。
同様に、Δ34(1),…,Δ34(2Mc)の絶対値が、Δ1(1),…,Δ1(2Ma)の絶対値、Δ2(1),…,Δ2(2Ma)の絶対値、Δ3(1),…,Δ3(2Mb)の絶対値及びΔ4(1),…,Δ4(2Mb)の絶対値よりも大きくなっていてもよい。
例えば、次のようにしてゲイン補正量候補ベクトルを生成することができる。
まず、a個の値で構成される正規化ゲイン補正量候補ベクトルを2Md個記憶部141に格納しておく。例えば、Md=Ma=Mb=Mcである。正規化ゲイン補正量候補ベクトルを構成するa個の値をΔ1(m),…,Δa(m)と表記すると、正規化ゲイン補正量候補ベクトルは(Δ1(m),…,Δa(m))と表記することができる。記憶部141には、2Md個の正規化ゲイン補正量候補ベクトル、すなわち(Δ1(1),…,Δa(1)),…,(Δ1(2Md),…,Δa(2Md))が格納されている。
また、範囲の大きさごとに予め定められた係数が定められているものとする。この係数は、対応する範囲が大きいほど大きい。言い換えれば、この係数は、範囲に含まれる区分された範囲の個数が多い範囲ほど大きい。
上記の例では、範囲R12,R34は範囲R1,R2,R3,R4よりも大きい範囲である。このため、範囲R12,R34に対応する係数step1234は、範囲R1,R2に対応する係数step12よりも大きい。同様に、範囲R12,R34に対応する係数step1234は、範囲R3,R4に対応する係数step34よりも大きい。
量子化グローバルゲインg^の量子化ステップ幅の範囲内で補正するのが、範囲R12に対応するゲイン補正量及び範囲R34に対応するゲイン補正量である。範囲R12に対応するゲイン補正量の量子化ステップ幅×係数step12の範囲内で補正するのが、範囲R1に対応するゲイン補正量及び範囲R2に対応するゲイン補正量である。範囲R34に対応するゲイン補正量の量子化ステップ幅×係数step34の範囲内で補正するのが、範囲R3に対応するゲイン補正量及び範囲R4に対応するゲイン補正量である。
このとき、正規化ゲイン補正量候補ベクトルに、範囲の大きさに対応する係数を乗算したベクトルを、その範囲のゲイン補正量候補ベクトルとする。言いかえれば、正規化ゲイン補正量候補ベクトル(Δ1(m),…,Δa(m))を構成するa個の値Δ1(m),…,Δa(m)のそれぞれに、範囲の大きさに対応する係数stepを乗算することにより得られたa個の値stepΔ1(m),…, stepΔa(m)により構成されるベクトル(stepΔ1(m),…,stepΔa(m))を、その範囲のゲイン補正量候補ベクトルとする。この乗算は、ゲイン補正量符号化部140の乗算部144により行われる。正規化ゲイン補正量候補ベクトル(Δ1(m),…,Δa(m))は2Md個あるため、m=1,…,2Mdのそれぞれについてこの乗算を行うことにより、2Md個のゲイン補正量候補ベクトル(stepΔ1(m),…, stepΔa(m))が得られる。
上記のa=2の例では、Md=Maとした場合、グループG12を構成する範囲R1,R2に対応するゲイン補正量候補ベクトル(Δ1(m),Δ2(m))は、(Δ1(m),Δ2(m))=(step12Δ1(m),step12Δ2(m))[m=1,…,2Ma]である。Md=Mbとした場合、グループG34を構成する範囲R3,R4に対応するゲイン補正量候補ベクトル(Δ3(m),Δ4(m))は、(Δ3(m),Δ4(m))=(step34Δ1(m),step34Δ2(m))[m=1,…,2Mb]である。Md=Mbとした場合、グループG1234を構成する範囲R12,R34に対応するゲイン補正量候補ベクトル(Δ12(m),Δ34(m))は、(Δ12(m),Δ34(m))=(step1234Δ1(m),step1234Δ2(m))[m=1,…,2Mc]である。
なお、下記の[符号化処理の具体例3]で説明するように、符号化部143が、第1VQ符号idx12と第2VQ符号idx34と第3VQ符号idx1234の少なくとも何れかについて、ゲイン補正量の候補を特定する符号に含まれる一部のビットのみを符号として出力する場合もある。この場合には、ゲイン補正量コードブックに含まれる符号を例えば下記のようにしておく。
Mc=2の場合の第3VQのゲイン補正量コードブックについて例示する。記憶部141には、Δ12(1)とΔ34(1)とidx1234(1)との組、Δ12(2)とΔ34(2)とidx1234(2)との組、Δ12(3)とΔ34(3)とidx1234(3)との組、Δ12(4)とΔ34(4)とidx1234(4)との組、の4組が第3VQのゲイン補正量コードブックとして格納されている。ここで、idx1234(1)を{0,0}の2ビット、idx1234(2)を{1,0}の2ビット、idx1234(3)を{0,1}の2ビット、idx1234(2)を{1,1}の2ビット、としておく。
<ビット割当部142>
ゲイン補正量符号化部140のビット割当部142は、範囲R1に対応するゲイン補正量、範囲R2に対応するゲイン補正量、範囲R3に対応するゲイン補正量、範囲R4に対応するゲイン補正量、範囲R12に対応するゲイン補正量、範囲34に対応するゲイン補正量の6個のゲイン補正量のうちの大きな範囲に対応するゲイン補正量に優先してビットを割り当てる。すなわち、範囲R12に対応するゲイン補正量と、範囲R34に対応するゲイン補正量とに優先してビットを割り当てる。
言い換えれば、第1VQ符号と第2VQ符号と第3VQ符号のうち、より大きな範囲に対応する第3VQ符号に優先してビットを割り当てる。また、第1VQ符号と第2VQ符号については、より周波数が低い範囲に対応する第1VQ符号に優先してビットを割り当てる。具体的なビットの割り当て方法は以下の通りである。
入力されたゲイン修正ビット数UgがMc以下である場合は、範囲R12,R34にそれぞれ対応するゲイン補正量Δ12(mc),Δ34(mc)にビットが割り当てられるが、範囲R1,R2,R3,囲R4にそれぞれ対応するゲイン補正量Δ1(ma),Δ2(ma),Δ3(mb),Δ4(mb)にはビットが割り当てられない。したがって、この場合、ビット割当部142は、第3VQのみを行い第3VQ符号idx1234をゲイン補正量符号として出力する指示を符号化部143に対して行う。
入力されたゲイン修正ビット数UgがMcより大きくMa+Mc以下である場合は、範囲R12,R34にそれぞれ対応するゲイン補正量Δ12(mc),Δ34(mc)及び範囲R1,R2にそれぞれ対応するゲイン補正量Δ1(ma),Δ2(ma)にビットが割り当てられるが、範囲R3,R4にそれぞれ対応するゲイン補正量Δ3(mb),Δ4(mb)にはビットが割り当てられない。したがって、この場合、ビット割当部142は、第3VQと第1VQとを行い第3VQ符号idx1234と第1VQ符号idx12とをゲイン補正量符号として出力する指示を符号化部143に対して行う。
入力されたゲイン修正ビット数UgがMa+Mcより大きい場合は、範囲R1,R2,R3,R4,R12,R34のそれぞれに対応するゲイン補正量Δ1(ma),Δ2(ma),Δ3(mb),Δ4(mb),Δ3(mb),Δ4(mb)にビットが割り当てられる。この場合、ビット割当部142は、第3VQと第1VQと第2VQとを行い第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34とをゲイン補正量符号として出力する指示を符号化部143に対して行う。
なお、入力されたゲイン修正ビット数Ugが0以下である場合は、何れの範囲にもビットは割り当てられず、ビット割当部142は、符号化部143に対する指示は行わない。
<符号化部143>
符号化部143には、ビット割当部142からの指示と、入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]と、量子化グローバルゲインg^と、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]と区分情報が入力される。
符号化部143は、各区分された範囲に対応する複数個のゲイン補正量の候補の中から、所定の誤差を最小にするゲイン補正量を選択する。また、符号化部143は、選択されたゲイン補正量を特定するためのゲイン補正量符号を出力する。
各グループを構成するa個の範囲はそれぞれゲイン補正量候補ベクトルを構成するa個のゲイン補正量の候補に対応付けされているため、符号化部143は、複数のゲイン補正量候補ベクトルの中から所定の誤差を最小にするゲイン補正量候補ベクトルを各グループごとに特定するためのゲイン補正量符号を出力すると考えてもよい。
所定の誤差とは、各区分された範囲についての複数個のゲイン補正量で量子化グローバルゲインをその各区分された範囲ごとに補正して得られるゲインに修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の各サンプルの値を乗算して得られる信号系列と入力信号系列X(ω) [ω∈{Lmin,…,Lmax}]との誤差のことである。具体的には、所定の誤差は、式(D1)、式(D3)、式(D5)で定義された加算値である。
[符号化処理の具体例1:3つの場合で異なる加算式を用いる例]
具体例1は、入力されたゲイン修正ビット数UgがMcまたはMc+MaまたはMc+Ma+Mbの何れかである場合の例である。
(a) 入力されたゲイン修正ビット数UgがMcである場合
入力されたゲイン修正ビット数UgがMcである場合は、第3VQのみを行い第3VQ符号idx1234をゲイン補正量符号として出力する指示がビット割当部142から行われる。この場合は、符号化部143は、まず、1から2Mcのそれぞれのmcについて、式(D1)で定義される加算値を計算する。なお、式(D1)において、区間[Lmin,L(2)-1]が範囲R12に対応し、区間[L(2),Lmax]が範囲R34に対応している。
式(D1)で定義される加算値は、量子化グローバルゲインg^と範囲R12のゲイン補正量の候補Δ12(mc)とを加算して得られる値と範囲R12の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(2)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R12の入力信号系列X(ω) [ω∈{Lmin,…,L(2)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R34のゲイン補正量の候補Δ34(mc)とを加算して得られる値と範囲34の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,Lmax}]の各サンプルの値とを乗算して得られる信号系列と範囲R34の入力信号系列X(ω)[ω∈{L(2),…,Lmax}]との対応するサンプル同士の差の二乗和と、の加算値である。
次に、符号化部143は、この加算値を最小にするmcを選択して、この選択されたmcに対応する符号idx1234(mc)を第3VQ符号idx1234として出力する。この例では、この第3VQ符号idx1234が、ゲイン補正量符号idxとなる。第3VQ符号idx1234は式(D2)により求まる。
(b) 入力されたゲイン修正ビット数UgがMc+Maである場合
入力されたゲイン修正ビット数UgがMc+Maである場合は、第3VQと第1VQとを行い第3VQ符号idx1234と第1VQ符号idx12をゲイン補正量符号として出力する指示がビット割当部142から行われる。この場合は、符号化部143は、まず、1から2Mcの何れかであるmcと1から2Maの何れかであるmaとの組(mc,ma)のそれぞれについて、式(D3)で定義される加算値を計算する。なお、式(D3)において、区間[Lmin,L(1)-1]が範囲R1に対応し、区間[L(1),L(2)-1]が範囲R2に対応し、区間[Lmin,L(2)-1]が範囲R12に対応し、区間[L(2),Lmax]が範囲R34に対応している。
式(D3)で定義される加算値は、量子化グローバルゲインg^と範囲R12のゲイン補正量の候補Δ12 (mc)と範囲R1のゲイン補正量の候補Δ1 (ma)とを加算して得られる値と範囲R1の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R1の入力信号系列X(ω) [ω∈{Lmin,…,L(1)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R12のゲイン補正量の候補Δ12 (mc)と範囲R2のゲイン補正量の候補Δ2 (ma)とを加算して得られる値と範囲R2の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R2の入力信号系列X(ω) [ω∈{L(1),…,L(2)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R34のゲイン補正量の候補Δ34(mc)とを加算して得られる値と範囲R34の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,Lmax}]の各サンプルの値とを乗算して得られる信号系列と範囲R34の入力信号系列X(ω)[ω∈{L(2),…,Lmax}]との対応するサンプル同士の差の二乗和と、の加算値である。
次に、符号化部143は、この加算値が最小となるmcとmaとの組に対応する符号idx1234(mc)を第3VQ符号idx1234とし符号idx12 (ma) を第1VQ符号idx12として、第3VQ符号idx1234と第1VQ符号idx12とゲイン補正量符号idxとして出力する。第3VQ符号idx1234と第1VQ符号idx12は式(D4)により求まる。
(c) 入力されたゲイン修正ビット数UgがMc+Ma+Mbである場合
入力されたゲイン修正ビット数UgがMc+Ma+Mbである場合は、第3VQと第1VQと第2VQを行い第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34をゲイン補正量符号として出力する指示がビット割当部142から行われる。この場合は、符号化部143は、まず、1から2Mcの何れかであるmcと1から2Maの何れかであるmaと1から2Mbの何れかであるmbとの組(mc,ma,mb)のそれぞれについて、式(D5)で定義される加算値を計算する。なお、式(D5)において、区間[Lmin,L(1)-1]が範囲R1に対応し、区間[L(1),L(2)-1]が範囲R2に対応し、区間[L(2),L(3)-1]が範囲R3に対応し、区間[L(3),Lmax]が範囲R4に対応し、区間[Lmin,L(2)-1]が範囲R12に対応し、区間[L(2),Lmax]が範囲R34に対応している。
式(D5)で定義される加算値は、量子化グローバルゲインg^と範囲R12のゲイン補正量の候補Δ12(mc)と範囲R1のゲイン補正量の候補Δ1(ma)とを加算して得られる値と範囲R1の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R1の入力信号系列X(ω) [ω∈{Lmin,…,L(1)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R12のゲイン補正量の候補Δ12(mc)と範囲R1のゲイン補正量の候補Δ2(ma)とを加算して得られる値と範囲R2の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R2の入力信号系列X(ω) [ω∈{L(1),…,L(2)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R34のゲイン補正量の候補Δ34(mc)と範囲R3のゲイン補正量の候補Δ3(mb)とを加算して得られる値と範囲R3の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1}]の各サンプルの値とを乗算して得られる信号系列と範囲R3の入力信号系列X(ω) [ω∈{L(2),…,L(3)-1}]との対応するサンプル同士の差の二乗和と、量子化グローバルゲインg^と範囲R34のゲイン補正量の候補Δ34(mc)と範囲R4のゲイン補正量の候補Δ4(mb)とを加算して得られる値と範囲R4の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax}]の各サンプルの値とを乗算して得られる信号系列と範囲R3の入力信号系列X(ω) [ω∈{L(3),…,Lmax}]との対応するサンプル同士の差の二乗和と、の加算値である。
次に、符号化部143は、この加算値が最小となるmcとmaとmbの組に対応する符号idx1234(mc)を第3VQ符号idx1234とし符号idx12(ma)を第1VQ符号idx12とし符号idx34(mb) を第2VQ符号idx34として、第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34とをゲイン補正量符号idxとして出力する。第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34は式(D6)により求まる。
[符号化処理の具体例2:3つの場合で同じ加算式を用いる例]
具体例2も、具体例1と同様に、入力されたゲイン修正ビット数UgがMcまたはMc+MaまたはMc+Ma+Mbの何れかである場合の例である。
具体例1では、式(D1)と式(D3)と式(D5)の何れかによって加算値を求めたが、具体例2では式(D5)のみによって加算値を求める。
(a) 入力されたゲイン修正ビット数UgがMcである場合
入力されたゲイン修正ビット数UgがMcである場合は、範囲R12,R34にそれぞれ対応するゲイン補正量Δ12(mc),Δ34(mc)にビットが割り当てられるが、範囲R1,R2,R3,R4にそれぞれ対応するゲイン補正量Δ1(ma),Δ2(ma),Δ3(mb),Δ4(mb)にはビットが割り当てられない。この場合、第3VQのみを行い第3VQ符号idx1234をゲイン補正量符号として出力する指示がビット割当部142から行われる。
符号化部143は、Δ1(ma),Δ2(ma),Δ3(mb),Δ4(mb)を0として、1から2Mcのmcそれぞれについて、式(D5)により定義される加算値を求める。そして、符号化部143は、式(D5)により定義される加算値を最小にするmcを選択し、この選択されたmcに対応する符号idx1234(mc)を第3VQ符号idx1234として出力する。この例では、この第3VQ符号idx1234が、ゲイン補正量符号idxとなる。
(b) 入力されたゲイン修正ビット数UgがMc+Maである場合
入力されたゲイン修正ビット数UgがMc+Maである場合は、範囲R12,R34にそれぞれ対応するゲイン補正量Δ12(mc),Δ34(mc)及び範囲R1,R2にそれぞれ対応するゲイン補正量Δ1(ma),Δ2(ma)にビットが割り当てられるが、範囲R3,R4にそれぞれ対応するゲイン補正量Δ3(mb),Δ4(mb)にはビットが割り当てられない。この場合、第3VQと第1VQを行い第3VQ符号idx1234と第1VQ符号idx12をゲイン補正量符号として出力する指示がビット割当部142から行われる。
符号化部143は、この場合は、Δ3(mb),Δ4(mb)を0として、1から2Mcの何れかであるmc及び1から2Maの何れかであるmaの組(mc,ma)のそれぞれについて、式(D5)により定義される加算値を求める。そして、符号化部143は、この加算値が最小となる最小となるmcとmaに対応する符号idx1234(mc)を第3VQ符号idx1234とし符号idx12 (ma)を第1VQ符号idx12とし、第3VQ符号idx1234と第1VQ符号idx12とをゲイン補正量符号idxとして出力する。
(c) 入力されたゲイン修正ビット数UgがMc+Ma+Mbである場合
入力されたゲイン修正ビット数UgがMc+Ma+Mcである場合は、すべての範囲R1,R2,R3,R4,R12,R34のそれぞれにビットが割り当てられる。この場合、第3VQと第1VQと第2VQを行い第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34をゲイン補正量符号として出力する指示がビット割当部142から行われる。
符号化部143は、具体例1と同様に加算値を式(D5)により求め、この加算値が最小となる最小となるmcに対応する符号idx1234(mc) を第3VQ符号idx1234とし符号idx12 (ma) を第1VQ符号idx12とし符号idx34 (ma) を第2VQ符号idx34とし、第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34とをゲイン補正量符号idxとして出力する。
このように、ビットが割り当てられなかったゲイン補正量は、記憶部141に格納されたものではなく0とされるため、補正を行わないことに対応するゲイン補正量と考えることができる。例えば、上記の「(a) 入力されたゲイン修正ビット数UgがMcである場合」では、ビットが割り当てられなかったゲイン補正量であるΔ1(ma),Δ2(ma),Δ3(mb),Δ4(mb)が、補正を行わないことに対応するゲイン補正量となる。
[符号化処理の具体例3:ゲイン修正ビット数が半端な場合を含む例]
具体例3は、入力されたゲイン修正ビット数UgがMcとMc+MaとMc+Ma+Mb以外も含む場合、すなわち、入力されたゲイン修正ビット数Ugが1以上の値の何れかである場合の例である。
(a) 入力されたゲイン修正ビット数Ugが0より大きくMc以下である場合 (0<U≦Mc)
入力されたゲイン修正ビット数Ugが0より大きくMc以下である場合は、第3VQのみを行い第3VQ符号idx1234をゲイン補正量符号として出力する指示がビット割当部142から行われる。
この場合は、符号化部143は、2Ug+1から2 Mcの範囲にある全てのmcについてΔ12(mc),Δ34(mc)を0とし、1からMaの全てのmaについてΔ1(ma),Δ2(ma)を0とし、1からMbの全てのmbについてΔ3(mb),Δ4(mb)を0として、加算値を式(D5)により求める。
そして、符号化部143は、この加算値が最小となるmcに対応する符号idx1234(mc)のうち1から2 Ugの全てのmcを区別できるUgビットの部分を第3VQ符号idx1234とし、この第3VQ符号idx1234をゲイン補正量符号idxとして出力する。
例えば、Ug=1、Mc=2の場合であれば、idx1234(1)の{0,0}の2ビットのうち1ビット目である{0}、または、idx1234(2)の{1,0}の2ビットのうち1ビット目である{1}を第3VQ符号idx1234とする。
(b) 入力されたゲイン修正ビット数UgがMcより大きくMc+Ma以下である場合 (Mc<U≦Mc+Ma)
入力されたゲイン修正ビット数UgがMcより大きくMc+Ma以下である場合は、第3VQと第1VQを行い第3VQ符号idx1234と第1VQ符号idx12をゲイン補正量符号として出力する指示がビット割当部142から行われる。
この場合は、符号化部143は、2Ug-Mc+1から2Maの範囲にある全てのmaについてΔ1(ma),Δ2(ma)を0とし、1から2Mbの全てのmbについてΔ3(mb),Δ4 (mb)を0として、加算値を式(D5)により求める。
そして、符号化部143は、この加算値が最小となるmcとmaに対応する符号idx1234(mc)を第3VQ符号idx1234とし、符号idx12 (ma)のうちの1から2 Ug-Mcの全てのmaを区別できるUg-Mcビットの部分を第1VQ符号idx12として、第3VQ符号idx1234と第1VQ符号idx12とをゲイン補正量符号idxとして出力する。
(c) 入力されたゲイン修正ビット数UgがMc+Maより大きい場合 (Mc+Ma<U)
入力されたゲイン修正ビット数UgがMc+Maより大きい場合は、第3VQと第1VQと第2VQを行い第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34をゲイン補正量符号として出力する指示がビット割当部142から行われる。
この場合は、符号化部143は、2Ug-Mc-Ma+1から2Mbの範囲にある全てのmbについてΔ3(mb),Δ4(mb)を0として、加算値を式(D5)により求める。
そして、符号化部143は、この加算値が最小となる最小となるmcとmaとmbに対応する符号idx1234(mc) を第3VQ符号idx1234とし、符号idx12(ma) を第1VQ符号idx12とし、符号idx34(mc)のうちの1から2 Ug-Mc-Maの全てのmcを区別できるUg-Mc-Maビットの部分を第2VQ符号idx34とし、第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34とゲイン補正量符号idxとして出力する。
なお、式(D2)、式(D4)、式(D6)は誤差が最小となる基準でのベクトル量子化に対応するものであるが、相関が最大となる基準でのベクトル量子化、誤差が最小または相関が最大となる基準でのスカラ量子化などの手法を適用しても良いのは当然のことである。
なお、各ベクトル量子化で用いるゲイン補正量の候補をひとつのゲイン補正量コードブックに格納しておき、ゲイン補正量符号を生成するようにしてもよい。
区分された範囲の個数は、2Dであるとする。2D個の区分された範囲を2k個ずつ纏めた範囲の個数は、2D/2k=2D-kである。したがって、区分された範囲及び区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲の個数は、2D+Σd=1 D-12D-dであり、合計でΣd=1 D2d=2D+Σd=1 D-12D-dである。以下、A=Σd=1 D2dとする。
この場合、ゲイン補正量候補ベクトルは、A個のゲイン補正量の候補で構成されているとする。2D個の区分された範囲及びこれらの2D個の区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲は、それぞれゲイン補正量候補ベクトルを構成するA個のゲイン補正量の候補に対応付けされているものとする。
上記のD=2,k=1であり、式(D5)を用いて加算値を求める例では、A=Σd=1 22d=2+4=6となり、インデックスidx(m)のゲイン補正量候補ベクトル(Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m))は、6個のゲイン補正量の候補Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m)で構成されている。ゲイン補正量の候補Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m)は、それぞれ範囲R12,R34,R1,R2,R3,R4に対応している。
ゲイン補正量コードブックには、複数のゲイン補正量候補ベクトルが格納されている。上記の例では、例えば2Me個のゲイン補正量候補ベクトル(Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m))[m=1,…2Me]が、ゲイン補正量コードブックに格納されている。Meは、2以上の整数である。
この場合、符号化部143は、ゲイン補正量コードブックに格納された複数のゲイン補正量候補ベクトルの中から、所定の誤差を最小にするゲイン補正量候補ベクトルを特定するゲイン補正量符号を得る。ここでの、所定の誤差は、例えば式(D5)で定義される加算値である。
合成部160には、正規化信号符号、グローバルゲイン符号、誤差符号及びゲイン補正量符号が入力される。誤差符号及びゲイン補正量符号はまとめて修正符号とされる。合成部は、正規化信号符号、グローバルゲイン符号及び修正符号をまとめたビットストリームを出力する。ビットストリームは復号装置2へ伝送される。
[符号化部143の変形例]
ゲイン補正量符号化部140の符号化部143は、式(D1)に代えて式(D13)で定義される加算値を最小にするゲイン補正量を特定するためのゲイン補正量符号を得てもよい。
s12及びs34は、例えば以下の式のように定義される。
また、符号化部143は、式(D3)に代えて式(D14)で定義される加算値を最小にするゲイン補正量を特定するためのゲイン補正量符号を得てもよい。
s1及びs2は、例えば以下の式のように定義される。
符号化部143は、式(D5)に代えて式(D15)で定義される加算値を最小にするゲイン補正量を特定するためのゲイン補正量符号を得てもよい。
s3及びs4は、例えば以下の式のように定義される。
このように、量子化グローバルゲインg^を、各区分された範囲についての複数個のゲイン補正量のそれぞれと、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全てのサンプル値の二乗和をそのそれぞれのゲイン補正量に対応する範囲内の全てのサンプルの値の二乗和で除算した値とを乗算した値で各区分された範囲ごとに補正してもよい。
また、符号化部143は、式(D5)に代えて式(D16)で定義される加算値を最小にするゲイン補正量を特定するためのゲイン補正量符号を得てもよい。
このように、量子化グローバルゲインg^を、各区分された範囲についての複数個のゲイン補正量を加算した値と、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全てのサンプル値の二乗和を上記各区分された範囲内の全てのサンプルの値の二乗和で除算した値とを乗算した値で各区分された範囲ごとに補正してもよい。
なお、s12,s34,s1,s2,s3,s4を、それぞれ以下の式のように定義してもよい。
c12は、範囲R12のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c34は、範囲R34のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c1234は、範囲R1234のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c1は、範囲R1のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c2は、範囲R2のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c3は、範囲R3のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c4は、範囲R4のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。
この場合、量子化グローバルゲインg^は、各区分された範囲についての複数個のゲイン補正量のそれぞれと、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルのエネルギーが所定値よりも大きいサンプルの個数をそのそれぞれのゲイン補正量に対応する範囲内のサンプルのエネルギーが上記所定値よりも大きいサンプルの個数で除算した値とを乗算した値で補正されることになる。または、量子化グローバルゲインg^は、各区分された範囲についての複数個のゲイン補正量を加算した値と、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルのエネルギーが所定値よりも大きいサンプルの個数を上記各区分された範囲内のサンプルのエネルギーが上記所定値よりも大きいサンプルの個数で除算した値とを乗算した値で各区分された範囲ごとに補正されることになる。
<区分部150が行なう区分処理の詳細>
まず「各範囲のエネルギーがなるべく等しくなるように区分する基準」での区分処理について説明し、次に「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」での区分処理について説明する。
以下、「各範囲のエネルギーがなるべく等しくなるように区分する基準」を第1基準、「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」を第2基準と略記することがある。
「各範囲のエネルギーがなるべく等しくなるように区分する基準」での区分処理は、例えば、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、
(a) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和と、修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のnと、が最も近付くように、
または、
(b) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和と、修正後量子化正規化済み信号系列の全てのサンプルの値の絶対値和のN分のnと、が最も近付くように、
または、
(c) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以上となる最小のサンプル数になるように、
または、
(d) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和が修正後量子化正規化済み信号系列の全てのサンプルの値の絶対値和のN分のn以上となる最小のサンプル数になるように、
または、
(e) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以下となる最大のサンプル数になるように、
または、
(f) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和が修正後量子化正規化済み信号系列の全てのサンプルの値の絶対値和のN分のn以下となる最大のサンプル数になるように、
求め、
修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分することにより行なわれる。
上記に例示した区分処理は、「各範囲のエネルギーがなるべく等しくなるように区分する基準」による区分を、第1の範囲から順に逐次的に決定していく方法によって実現するものである。上記に例示した区分処理によれば、少ない演算処理量で「各範囲のエネルギーがなるべく等しくなるように区分する基準」による区分を実現できる。
[第1基準による区分処理の第1例]
第1基準による区分処理の第1例を図4と図5と図6を用いて説明する。第1例の区分処理は上記の(a)に対応する。第1例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和と、修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のnと、が最も近付くように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第1基準による区分処理の第1例の具体例1:2つの範囲に区分する例]]
図4は、2つの範囲に区分する例、すなわち、N=2の場合の例である。区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{L mid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるLmidを決定する場合の例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の2分の1と、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(Lmid-1)の値の二乗和との差が最小となるように、第2の範囲の最も低域側にあるサンプル番号であるLmidを求める。すなわち、Lmidは式(3)によって求まる。これにより第1の範囲がX^Q [ω∈{Lmin,…,Lmid-1}]と決定する。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、Lmidであってもよいし、Lmidに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid−Lminであってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第1例の具体例2:4個の範囲に区分する例]]
図5は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の1と、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(1)-1)の値の二乗和との差が最小となるように求めたL(1)を第2の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
また、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の2(すなわち、2分の1)と、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(2)-1)の値の二乗和との差が最小となるように求めたL(2)を第3の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
また、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の3と、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(3)-1)の値の二乗和との差が最小となるように求めたL(3)を第4の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{L(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第1例の一般化:N個の範囲に区分する例]]
図6は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるL(n)を決定する例である。以下では、LminをL(0)として説明する。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^Q(Lmin),…,X^Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、n=1からN−1のそれぞれのnについて、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和のN分のnと、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(n)-1)の値の二乗和との差が最小となるように求めたL(n)を第n+1の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{L(N-1),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
[第1基準による区分処理の第2例]
第1基準による区分処理の第2例は上記の(b)に対応する。第2例の区分処理は、第1例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第1例の区分処理と同じ方法である。第2例の区分処理によれば、第1例の区分処理で行なう二乗計算を省略できる分、第1例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
[第1基準による区分処理の第3例]
第1基準による区分処理の第3例を図7と図8と図9を用いて説明する。第3例の区分処理は上記の(c)に対応する。第3例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以上となる最小のサンプル数になるように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第1基準による区分処理の第3例の具体例1:2つの範囲に区分する例]]
図7は、2つの範囲に区分する例、すなわち、N=2の場合の例である。区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{Lmid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるLmidを決定する場合の例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、離散周波数のインデックスωの番号をLminから順に増やしながら修正後量子化正規化済み信号系列X^’Q(ω)のLminから当該インデクスまでの二乗和plowがplow≧pow/2を満たすか否かを判定し、初めてplow≧pow/2を満たす場合の離散周波数のインデックスωまでを第1の範囲とし、当該インデックスωに1を加算したものを第2の範囲の最も低域側にあるサンプル番号であるインデックスLmidとして出力する。これにより第1の範囲がX^’Q [ω∈{Lmin,…,Lmid-1}]と決定する。
図7は、上記の処理を実現するためのフローチャートである。離散周波数のインデックスωの初期値をLmin、低域のエネルギーplowの初期値を|X^’Q(Lmin)|2に設定する。そして、plow≧pow/2を満たすか否かを判定する。plow≧pow/2を満たさない場合には、離散周波数のインデックスωに1を加えたものを新たなωとし、plowにX^’Q(ω)のエネルギー|X^’Q(ω)|2を加算したものを新たなplowとする。plow≧pow/2を満たす場合には、その時点での離散周波数のインデックスωに1を加えたものをインデックスLmidとして出力する。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、Lmidであってもよいし、Lmidに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid−Lminであってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第3例の具体例2:4個の範囲に区分する例]]
図8は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(1)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の1以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルから第1の範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(Lmin),…,X^’Q(L(1)-2)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の1より小さい、L(1)を第2の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
また、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(2)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の2(すなわち、2分の1)以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲に含まれる全てのサンプルから第2の範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(Lmin),…,X^’Q(L(2)-2)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の2(すなわち、2分の1)より小さい、L(2)を第3の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
また、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(3)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の3以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲に含まれる全てのサンプルから第3の範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(Lmin),…,X^’Q(L(3)-2)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の3より小さい、L(3)を第4の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
これら処理は、具体的には例えば、以下により実現できる。
まず、式(2)によってエネルギーpowを求める。
次に、iをLminから順に1ずつ増やしながら式(4)の条件を満たすか否かを判断していき、式(4)の条件を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、iをL(1)から順に1ずつ増やしながら式(5)の条件を満たすか否かを判断していき、式(5)の条件を満たすiに1を加算したものをL(2)として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
さらに、iをL(2)から順に1ずつ増やしながら式(6)の条件を満たすか否かを判断していき、式(6)の条件を満たすiに1を加算したものをL(3)として求める。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{L(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第3例の一般化:N個の範囲に区分する例]]
図9は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるL(n)を決定する例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、n=1からN−1のそれぞれのnについて、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(n)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和のN分のn以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルから第nの範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(Lmin),…,X^’Q(L(n)-2)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和のN分のnより小さい、L(n)を第n+1の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲、として定まる。
この処理は、具体的には例えば、以下により実現できる。まず、式(2)によってエネルギーpowを求める。次に、n=1について、iをLminから順に1ずつ増やしながら式(7)の条件を満たすか否かを判断していき、式(7)の条件を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、n=2からN−1のそれぞれのnについて、iをL(n-1)から順に1ずつ増やしながら式(7)の条件を満たすか否かを判断していき、式(7)の条件を満たすiに1を加算したものをL(n)として求める処理をnが小さい順に繰り返す。以上の処理により、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{L(N-1),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
[第1基準による区分処理の第4例]
第1基準による区分処理の第4例は上記の(d)に対応する。第4例の区分処理は、第3例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第3例の区分処理と同じ方法である。第4例の区分処理によれば、第3例の区分処理で行なう二乗計算を省略できる分、第3例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
[第1基準による区分処理の第5例]
第1基準による区分処理の第5例を図10と図11と図12を用いて説明する。第3例の区分処理は上記の(e)に対応する。第5例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後量子化正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以下となる最大のサンプル数になるように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第1基準による区分処理の第5例の具体例1:2つの範囲に区分する例]]
図10は、2つの範囲に区分する例、すなわち、N=2の場合の例である。修正後区分対象の量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{Lmid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるLmidを決定する場合の例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、離散周波数のインデックスωの番号をLminから順に増やしながら量子化正規化済み信号系列X^’Q(ω)のLminから当該インデクスまでの二乗和plowがplow≦pow/2を満たすか否かを判定し、初めてplow≦pow/2を満たさなくなる場合の離散周波数のインデックスωから1を減算した離散周波数までを第1の範囲とし、当該インデックスωをを第2の範囲の最も低域側にあるサンプル番号であるインデックスLmidとして出力する。これにより第1の範囲がX^’Q [ω∈{Lmin,…,Lmid-1}]と決定する。
図10は、上記の処理を実現するためのフローチャートである。離散周波数のインデックスωの初期値をLmin、低域のエネルギーplowの初期値を|X^’Q(Lmin)|2に設定する。そして、plow≦pow/2を満たすか否かを判定する。plow≦pow/2を満たす場合には、離散周波数のインデックスωに1を加えたものを新たなωとし、plowにX^’Q(ω)のエネルギー|X^’Q(ω)|2を加算したものを新たなplowとする。plow≦pow/2を満たさない場合には、その時点での離散周波数のインデックスωをインデックスLmidとして出力する。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、Lmidであってもよいし、Lmidに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid−Lminであってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第5例の具体例2:4個の範囲に区分する例]]
図11は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^Q(Lmin),…,X^Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(Lb(1)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の1以下であり、かつ、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルに第2の範囲の最も低域側にある1つのサンプルを加えた信号系列X^’Q(Lmin),…,X^’Q(L(1))の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の1より大きい、L(1)を第2の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
また、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(2)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の2(すなわち、2分の1)以下であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲に含まれる全てのサンプルに第3の範囲の最も低域側にある1つのサンプルを加えた信号系列X^’Q(Lmin),…,X^’Q(L(2))の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の2(すなわち、2分の1)より大きい、L(2)を第3の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
また、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(3)-1)の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の3以下であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲に含まれる全てのサンプルに第4の範囲の最も低域側にある1つのサンプルを加えた信号系列X^’Q(Lmin),…,X^’Q(L(3))の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和の4分の3より大きい、L(3)を第4の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lb(2),…,L(3)-1}]が第3の範囲として定まる。
この処理は、具体的には例えば、以下により実現できる。
まず、式(2)によってエネルギーpowを求める。
次に、iをLminから順に1ずつ増やしながら式(8)の条件を満たすか否かを判断していき、式(8)下の条件を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、iをL(1)から順に1ずつ増やしながら式(9)の条件を満たすか否かを判断していき、式(9)下の条件を満たすiに1を加算したものをL(2)として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
さらに、iをL(2)から順に1ずつ増やしながら式(10)の条件を満たすか否かを判断していき、式(10)の条件を満たすiに1を加算したものをL(3)として求める。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{L(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第1基準による区分処理の第5例の一般化:N個の範囲に区分する例]]
図12は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるL(n)を決定する例である。
まず、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和powを求める。二乗和powは、式(2)によって求まる。
次に、n=1からN−1のそれぞれのnについて、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルX^’Q(Lmin),…,X^’Q(L(n)-1)の値の二乗和が、式(2)により求めた量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和のN分のn以下であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルに第n+1の範囲の最も低域側にある1つのサンプルを加えた信号系列X^’Q(Lmin),…,X^’Q(L(n))の値の二乗和が、式(2)により求めた修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の全サンプルX^’Q(Lmin),…,X^’Q(Lmax)の二乗和のN分のnより大きい、L(n)を第n+1の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲、として定まる。
この処理は、具体的には例えば、以下により実現できる。まず、式(2)によってエネルギーpowを求める。次に、n=1について、iをLminから順に1ずつ増やしながら式(11)の条件を満たすか否かを判断していき、式(11)の条件を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、n=2からN−1のそれぞれのnについて、iをL(n-1)から順に1ずつ増やしながら式(11)の条件を満たすか否かを判断していき、式(11)の条件を満たすiに1を加算したものをL (n)として求める処理をnが小さい順に繰り返す。以上の処理により、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{L(N-1),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
[第1基準による区分処理の第6例]
区分処理の第6例は上記の(f)に対応する。第6例の区分処理は、第5例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第5例の区分処理と同じ方法である。第6例の区分処理によれば、第5例の区分処理で行なう二乗計算を省略できる分、第5例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
次に、第2基準である「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」での区分処理について説明する。
「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」での区分処理は、例えば、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、
(a) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数と、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のnと、が最も近付くように、
または、
(b) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数と、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のnと、が最も近付くように、
または、
(c) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以上となる最小のサンプル数となるように、
または、
(d) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以上となる最小のサンプル数となるように、
または、
(e) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以下となる最大のサンプル数となるように、
または、
(f) 修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以下となる最大のサンプル数となるように、
求め、
修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、量子化正規化済み信号系列をN個の範囲に区分することにより行なわれる。
上記に例示した区分処理は、「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」による区分を、各範囲を逐次的に決定していく方法によって実現するものである。上記に例示した区分処理によれば、少ない演算処理量で「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」による区分を実現できる。
[第2基準による区分処理の第1例]
第2基準による区分処理の第1例を図13と図14と図15を用いて説明する。第1例の区分処理は上記の(a)に対応する。第1例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数と、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のnと、が最も近付くように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第2基準による区分処理の第1例の具体例1:2つの範囲に区分する例]]
図13は、2つの範囲に区分する例、すなわち、N=2の場合の例である。区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{Lmid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL midを決定する場合の例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。各インデックスωについてのfcount(ω)には、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]のインデックスωに対応するサンプルのエネルギー|X^’Q(ω)|2が所定値より大きいサンプルに対して「サンプルのエネルギー|X^’Q(ω)|が所定値より大きい」ことを表す情報として1を設定し、それ以外のサンプルに対して「サンプルのエネルギー|X^’Q(ω)|が所定値より大きくない」ことを表す情報として0を設定する。この例では所定値を任意に予め定めた微小量ε(εは0以上の値)とする。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の2分の1と、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmid-1)との差が最小となるように、第2の範囲の最も低域側にあるサンプル番号であるLmidを求める。すなわち、Lmidは式(B3)によって求まる。これにより第1の範囲がX^’Q [ω∈{Lmin,…,Lmid-1}]と決定される。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、Lmidであってもよいし、Lmidに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid-1−Lmin+1であってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第1例の具体例2:4個の範囲に区分する例]]
図14は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の1と、修正後量子化正規化済み信号系列の第1の範囲にに含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,L(1)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(1)-1)との差が最小となるように求めたL(1)を第2の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
また、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の2(すなわち、2分の1)と、修正後量子化正規化済み信号系列の第1の範囲から第2の範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(2)-1)との差が最小となるように求めたL(2)を第3の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
また、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の3と、修正後量子化正規化済み信号系列の第1の範囲から第3の範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(3)-1)との差が最小となるように求めたL(3)を第4の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{L(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第1例の一般化:N個の範囲に区分する例]]
図15は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるL(n)を決定する例である。以下では、LminをL(0)として説明する。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、n=1からN−1のそれぞれのnについて、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)のN分のnと、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,L(n)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(n)-1)との差が最小となるように求めたL(n)を第n+1の範囲の最も低域側にあるサンプル番号とする。これにより、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{L(N-1),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
なお、「修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値以上であるサンプルの個数と、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値以上であるサンプルの個数のN分のnと、が最も近付くように、」n=1からN−1のそれぞれのnについて、第nの範囲を定める場合は、式(B2)中の「<」を「≦」に置き換えればよい。
[第2基準による区分処理の第2例]
第2基準による区分処理の第2例は上記の(b)に対応する。第2例の区分処理は、第1例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第1例の区分処理と同じ方法である。第2例の区分処理によれば、第1例の区分処理で行なう二乗計算を省略できる分、第1例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
[第2基準による区分処理の第3例]
第2基準による区分処理の第3例を図16と図17と図18を用いて説明する。第3例の区分処理は上記の(c)に対応する。第3例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以上となる最小のサンプル数となるように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第2基準による区分処理の第3例の具体例1:2つの範囲に区分する例]]
図16は、2つの範囲に区分する例、すなわち、N=2の場合の例である。区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{Lmid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるLmidを決定する場合の例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、離散周波数のインデックスωの番号kをLminから順に増やしながらLminから当該インデクスkまでの修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(k)が(fcount(Lmin)+…+fcount(Lmax))/2以上であるか否かを判定し、初めてfcount(Lmin)+…+fcount(k)が (fcount(Lmin)+…+fcount(Lmax))/2以上となる離散周波数のインデックスkまでを第1の範囲とし、当該インデックスkに1を加算したものを第2の範囲の最も低域側にあるサンプル番号であるインデックスL midとして出力する。これにより第1の範囲がX^’Q [ω∈{Lmin,…,Lmid-1}]と決定される。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、L midであってもよいし、L midに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid−Lminであってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第3例の具体例2:4個の範囲に区分する例]]
図17は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(1)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(1)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の1以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルから第1の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(1)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(1)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の1より小さい、L(1)を第2の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L (1)-1}]が第1の範囲として定まる。
次に、修正後量子化正規化済み信号系列の第1と第2の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(2)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(2)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の2分の1以上であり、かつ、修正後量子化正規化済み信号系列の第1と第2の範囲に含まれる全てのサンプルから第2の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(2)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(2)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の2分の1より小さい、L(2)を第3の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(1),…,L (2)-1}]が第2の範囲として定まる。
次に、修正後量子化正規化済み信号系列の第1と第2と第3の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(3)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(3)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の3分の4以上であり、かつ、修正後量子化正規化済み信号系列の第1と第2と第3の範囲に含まれる全てのサンプルから第3の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(3)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(3)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の3分の4より小さい、L(3)を第4の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(2),…,L (3)-1}]が第3の範囲として定まる。
これら処理は、具体的には例えば、以下により実現できる。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。そして、fcount(Lmin)+…+fcount(Lmax)をFとする。
次に、iをLminから順に1ずつ増やしながら式(B4)を満たすか否かを判断していき、式(B4)を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、iをLminから順に1ずつ増やしながら式(B5)を満たすか否かを判断していき、式(B5)を満たすiに1を加算したものをL(2)として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
さらに、iをLminから順に1ずつ増やしながら式(B6)を満たすか否かを判断していき、式(B6)を満たすiに1を加算したものをL(3)として求める。これにより、X^’Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{L(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第3例の一般化:N個の範囲に区分する例]]
図18は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるL(n)を決定する例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、n=1からN−1のそれぞれのnについて、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(n)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(n)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)のN分のn以上であり、かつ、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルから第nの範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(ω)[ω∈{Lmin,…,L(n)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(n)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)のN分のnより小さい、L(n)を第n+1の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲、として定まる。
この処理は、具体的には例えば、以下により実現できる。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。そして、fcount(Lmin)+…+fcount(Lmax)をFとする。
次に、n=1について、iをLminから順に1ずつ増やしながら式(B7)を満たすか否かを判断していき、式(B7)を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、n=2からN−1のそれぞれのnについて、iをL(n-1)から順に1ずつ増やしながら式(B7)を満たすか否かを判断していき、式(B7)を満たすiに1を加算したものをL(n)として求める処理をnが小さい順に繰り返す。以上の処理により、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{L(n),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
[第2基準による区分処理の第4例]
第2基準による区分処理の第4例は上記の(d)に対応する。第4例の区分処理は、第3例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第3例の区分処理と同じ方法である。第4例の区分処理によれば、第3例の区分処理で行なう二乗計算を省略できる分、第3例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
[第2基準による区分処理の第5例]
第2基準による区分処理の第5例を図19と図20と図21を用いて説明する。第5例の区分処理は上記の(e)に対応する。第5例の区分処理は、修正後量子化正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以下となる最大のサンプル数となるように求め、修正後量子化正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後量子化正規化済み信号系列の第Nの範囲とすることで、修正後量子化正規化済み信号系列をN個の範囲に区分する処理である。
[[第2基準による区分処理の第5例の具体例1:2つの範囲に区分する例]]
図19は、2つの範囲に区分する例、すなわち、N=2の場合の例である。区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をX^’Q(ω) [ω∈{Lmin,…,Lmid-1}]とX^’Q(ω) [ω∈{Lmid,…,Lmax}]の2つの範囲に区分する例、具体的には、第1の範囲である低域と第2の範囲である高域との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるLmidを決定する場合の例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、離散周波数のインデックスωの番号kをLminから順に増やしながらLminから当該インデクスkまでの量子化正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(k)が(fcount(Lmin)+…+fcount(Lmax))/2より大であるか否かを判定し、初めてfcount(Lmin)+…+fcount(k)が (fcount(Lmin)+…+fcount(Lmax))/2より大となる離散周波数のインデックスkより1小さいk-1までを第1の範囲とし、当該インデックスkを第2の範囲の最も低域側にあるサンプル番号であるインデックスL midとして出力する。これにより第1の範囲がX^’Q [ω∈{Lmin,…,Lmid-1}]と決定する。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lmid,…,Lmax}]を第2の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は2つの範囲に区分される。
区分部150が出力する区分情報は、Lmidであってもよいし、Lmidに予め定めた値を演算した値であってもよいし、第1の範囲のサンプル数Lmid−Lminであってもよいし、第2の範囲のサンプル数Lmax−Lmid+1であってもよいし、要は、第1の範囲と第2の範囲とを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第5例の具体例2:4個の範囲に区分する例]]
図20は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を4個の範囲に区分する例、具体的には、第1の範囲と第2の範囲との境界を表す情報として第2の範囲の最も低域側にあるサンプル番号であるL(1)を決定し、第2の範囲と第3の範囲との境界を表す情報として第3の範囲の最も低域側にあるサンプル番号であるL(2)を決定し、第3の範囲と第4の範囲との境界を表す情報として第4の範囲の最も低域側にあるサンプル番号であるL(3)を決定する例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(1)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(1)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の1より大きく、かつ、修正後量子化正規化済み信号系列の第1の範囲に含まれる全てのサンプルから第1の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(1)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(1)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の4分の1以下となる、L(1)を第2の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L (1)-1}]が第1の範囲として定まる。
次に、修正後量子化正規化済み信号系列の第1と第2の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(2)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(2)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の2分の1より大きく、かつ、修正後量子化正規化済み信号系列の第1と第2の範囲に含まれる全てのサンプルから第2の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(2)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(2)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の2分の1以下となる、L(2)を第3の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(1),…,L (2)-1}]が第2の範囲として定まる。
次に、修正後量子化正規化済み信号系列の第1と第2と第3の範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(3)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(3)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の3分の4より大きく、かつ、修正後量子化正規化済み信号系列の第1と第2と第3の範囲に含まれる全てのサンプルから第3の範囲の最も高域側にある1つのサンプルを除いた信号系列に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(3)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(3)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)の3分の4以下となる、L(3)を第4の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{L(2),…,L (3)-1}]が第3の範囲として定まる。
この処理は、具体的には例えば、以下により実現できる。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。そして、fcount(Lmin)+…+fcount(Lmax)をFとする。
次に、iをLminから順に1ずつ増やしながら式(B8)を満たすか否かを判断していき、式(B8)を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、iをLminから順に1ずつ増やしながら式(B9)を満たすか否かを判断していき、式(B9)を満たすiに1を加算したものをL(2)として求める。これにより、X^’Q [ω∈{L(1),…,L(2)-1}]が第2の範囲として定まる。
さらに、iをLminから順に1ずつ増やしながら式(B10)を満たすか否かを判断していき、式(B10)を満たすiに1を加算したものをL(3)として求める。これにより、X^Q [ω∈{L(2),…,L(3)-1}]が第3の範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第3の範囲以外の範囲、すなわち、X^’Q [ω∈{Lb(3),…,Lmax}]を第4の範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]は4個の範囲に区分される。
区分部150が出力する区分情報は、L(1)とL(2)とL(3)であってもよいし、L(1)とL(2)とL(3)のそれぞれに予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、4個の範囲の全てを特定できる情報であれば何でもよい。
[[第2基準による区分処理の第5例の一般化:N個の範囲に区分する例]]
図21は、区分対象の修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]をN個の範囲に区分する例、具体的には、第nの範囲と第n+1の範囲との境界を表す情報として第n+1の範囲の最も低域側にあるサンプル番号であるLb(n)を決定する例である。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。
次に、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)を求める。
次に、n=1からN−1のそれぞれのnについて、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルX^’Q(ω)[ω∈{Lmin,…,L(n)-1}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(n)-1)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)のN分のnより大きく、かつ、修正後量子化正規化済み信号系列の第1の範囲から第nの範囲に含まれる全てのサンプルから第nの範囲の最も高域側にある1つのサンプルを除いた信号系列X^’Q(ω)[ω∈{Lmin,…,L(n)-2}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(L(n)-2)が、修正後量子化正規化済み信号系列に含まれる全てのサンプルX^’Q(ω) [ω∈{Lmin,…,Lmax}]のうちサンプルのエネルギーが所定値より大きいサンプルの個数fcount(Lmin)+…+fcount(Lmax)のN分のn以下となる、L(n)を第n+1の範囲の最も低域側にあるサンプル番号として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲、として定まる。
この処理は、具体的には例えば、以下により実現できる。
まず、各インデックスωについてfcount(ω)を式(B2)によって定める。そして、fcount(Lmin)+…+fcount(Lmax)をFとする。
次に、n=1について、iをLminから順に1ずつ増やしながら式(B11)を満たすか否かを判断していき、式(B11)を満たすiに1を加算したものをL(1)として求める。これにより、X^’Q [ω∈{Lmin,…,L(1)-1}]が第1の範囲として定まる。
さらに、n=2からN−1のそれぞれのnについて、iをL(n-1)から順に1ずつ増やしながら式(B11)を満たすか否かを判断していき、式(B11)を満たすiに1を加算したものをL(n)として求める処理をnが小さい順に繰り返す。以上の処理により、n=2からN−1のそれぞれのnについて、X^’Q [ω∈{L(n-1),…,L(n)-1}]が第nの範囲として定まる。
そして、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]の第1の範囲から第N−1の範囲以外の範囲、すなわち、X^’Q [ω∈{Lb(n),…,Lmax}]を第Nの範囲とする。
以上により、修正後量子化正規化済み信号系列X^’Q [ω∈{Lmin,…,Lmax}]はN個の範囲に区分される。
区分部150が出力する区分情報は、L(n)(nは1からN−1までの各整数)であってもよいし、L(n)(nは1からN−1までの各整数)に予め定めた値を演算した値であってもよいし、各範囲のサンプル数であってもよいし、要は、N個の範囲の全てを特定できる情報であれば何でもよい。
[第2基準による区分処理の第6例]
第2基準による区分処理の第6例は上記の(f)に対応する。第6例の区分処理は、第5例の区分処理における「二乗和」を「絶対値和」に置き換えた以外は、第5例の区分処理と同じ方法である。第6例の区分処理によれば、第5例の区分処理で行なう二乗計算を省略できる分、第5例の区分処理よりも少ない演算処理量で区分処理を行なうことが可能となる。
なお、符号化装置1から復号装置2へビットストリームを伝送する実施構成に限定されず、例えば、合成部160によって得られた情報を記録媒体に記録し、当該記録媒体から読み出された当該情報が復号装置2に入力される実施構成も許容される。
第1実施形態の復号装置2(図22参照)は、正規化信号復号部107、グローバルゲイン復号部106、制御部205、修正符号分離部220、誤差復号部230、加算部240、復号信号系列生成部250及び区分部260を含む。復号装置2は必要に応じて分離部210、時間領域変換部270を含んでもよい。
以下、復号装置2(decoder)での処理を説明する(図23参照)。
符号化装置1から送信されたビットストリームは復号装置2に入力される。分離部210が、ビットストリームから、正規化信号符号と、グローバルゲイン符号と、修正符号を取り出す。
<正規化信号復号部107>
正規化信号復号部107には、正規化信号符号が入力される。正規化信号復号部107が、符号化装置1の正規化信号符号化部120が行う符号化方法と対応する復号方法を適用して、正規化信号符号を復号して復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を得る(ステップS1d)。この例では、符号化装置1に対応して説明を行なうため、ωは離散周波数のインデックスを表すものとし、L点の離散周波数の各成分をω=LminからLmaxのそれぞれで表すものとする。正規化信号復号部107は、[背景技術]欄で説明した図1の正規化信号復号部107と同じ動作をする。
例えば、正規化信号復号部107は、まず、正規化信号符号に含まれる符号から、正規化済み信号系列XQ(ω)の概形(正規化済みパワースペクトル包絡値)と微細構造とを復号する。そして、正規化信号復号部107は、正規化済みパワースペクトル包絡値と微細構造とから、復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を得る。
<グローバルゲイン復号部106>
グローバルゲイン復号部106には、グローバルゲイン符号が入力される。グローバルゲイン復号部160は、当該グローバルゲイン符号を復号し、復号グローバルゲインg^を出力する(ステップS2d)。グローバルゲイン復号部106が行う復号処理は、グローバルゲイン復号部106が行う復号処理は、グローバルゲイン符号化部105が行う符号化処理に対応する処理であり、[背景技術]欄のグローバルゲイン復号部106でも説明した通りの周知技術である。
<制御部205>
制御部205には、復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]が入力される。制御部205は、復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数に応じて、ゲイン補正量符号に基づいて復号グローバルゲインg^を補正する処理及び誤差符号に基づいて復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を修正する処理の一方の処理を他方の処理よりも優先的に行わせる(ステップS3d)。所定の値とは、例えば0である。
量子化グローバルゲインg^を補正する処理とは、後述する区分部260及び復号信号系列生成部250によるステップS7d,S8dの処理のことである。
復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]を修正する処理とは、後述する誤差復号部230及び加算部240によるステップS5d,S6dの処理のことである。
復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数とは、いわゆる復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルの個数のことである。復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]の非ゼロのサンプルのことを、非ゼロ係数とも呼ぶ。
制御部205が復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう処理は、符号化装置1の制御部170が量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう処理と同様である。
すなわち、制御部205は、例えば図26の処理を行うことにより、ゲイン修正ビット数Ug及び誤差表現ビット数UXQを決定する。制御部205は、ゲイン修正ビット数Ug及び誤差表現ビット数UXQを、修正符号分離部220に送信する。
例えばこのようにして、制御部205は、どちらの処理を優先的に行うかについての情報である優先情報を決定し、その優先情報を修正符号分離部220に送信する。優先情報とは、上記の例ではゲイン修正ビット数Ug及び誤差表現ビット数UXQのことである。
<修正符号分離部220>
修正符号分離部220には優先情報が入力される。修正符号分離部220は、優先情報に基づいて、修正符号から、誤差符号及びゲイン補正量符号を分離する(ステップS4d)。
復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]は、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]と一致する。このため、符号化装置1の制御部170によって決定される優先情報と、制御部205によって決定される優先情報とは一致する。言い換えれば、符号化装置1の制御部170によって決定されるUg及びUXQの値と、復号装置2の制御部205によって決定されるUg及びUXQの値とは一致する。このため、修正符号分離部220は、修正符号から、UXQビットの誤差符号及びUgビットのゲイン補正量符号を分離することができるのである。
誤差符号は誤差復号部230に送信され、ゲイン補正量符号は復号信号系列生成部250に送信される。
<誤差復号部230>
誤差復号部230には、誤差符号が入力される。誤差復号部230は、符号化装置1の誤差符号化部180に対応する復号方法で誤差符号を復号して復号量子化誤差q(ω)を得る(ステップS5d)。誤差表現ビット数ごとに符号、復号でサンプルや手順を符号化装置1と復号装置2とで対応するように決めておくので、一意に復号できる。
<誤差復号の具体例1>(符号化装置1の<誤差符号化の具体例1>に対応)
誤差復号部230内の符号帳記憶部に、誤差表現ビット数の取り得る値ごとの符号帳を予め格納しておく。各符号帳には、その各符号帳に対応する誤差表現ビット数で表現可能な個数の復号量子化誤差の系列と同じサンプル数のベクトルと、そのベクトルに対応する符号、とが対応付けて予め格納される。
誤差復号部230は、誤差表現ビット数を算出した後に、算出された誤差表現ビット数に対応する符号帳を符号帳記憶部に格納された符号帳から選択し、選択された符号帳を用いてベクトル逆量子化を行なう。符号帳を選択した後の復号処理は一般的なベクトル逆量子化と同じである。すなわち、選択された符号帳の各ベクトルのうち、入力された誤差符号に対応するベクトルを復号量子化誤差q(ω)の系列として出力する。
なお、上記の説明では、符号帳に格納されるベクトルは、復号量子化誤差の系列と同じサンプル数としたが、符号帳に格納されるベクトルのサンプル数を復号量子化誤差の系列の整数分の1とし、復号量子化誤差の系列を複数の部分毎に入力された誤差符号に含まれる複数の符号それぞれをベクトル逆量子化しても良い。
<誤差復号部230の具体例2>(符号化装置1の<誤差符号化の具体例2>に対応)
誤差表現ビット数をUXQ、復号部21が出力した復号正規化済み信号系列X^Q(ω)の値が0でないもののサンプル数をT、復号部21が出力した復号正規化済み信号系列X^Q(ω)の値が0であるサンプル数をSとするとき、次のような復号手順が好ましい。
(A)UXQ≦Tの場合
誤差復号部230は、復号正規化済み信号系列X^Q(ω)の値が0でないT個サンプルのうち、対応するパワースペクトル包絡値が大きいものからUXQ個選択して、選択されたそれぞれのサンプルに対して、入力された誤差符号に含まれる1ビットの符号を復号してサンプルの正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25又は-0.25を、その復号正規化済み信号系列X^Q(ω)に対応する復号量子化誤差q(ω)として出力する。なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さい量子化誤差サンプル(周波数が低い量子化誤差サンプル)を選択する等の予め定めた規則に従って選択する。例えば、符号化装置1の誤差符号化部180で用いた規則に対応する規則を誤差復号部230に予め保持しておく。
パワースペクトル包絡値として、正規化信号復号部107の内部で復号された正規化済みパワースペクトル包絡値を、グローバルゲイン復号部106で復号された復号グローバルゲインg^を用いて逆正規化した値を用いることができる。もちろん、それ以外の方法で求めた値であってもよい。例えば、パワースペクトル包絡値は、量子化線形予測係数の符号より復号された復号線形予測係数のパワースペクトルを表す値であってもよい。
誤差復号部230はまた、選択されなかった各サンプルについては、0をその各サンプルに対応する復号量子化誤差q(ω)として出力する。
(B)T<UXQ≦=T+Sの場合
誤差復号部230は、復号正規化済み信号系列X^Q(ω)の値が0でないサンプルに対して、入力された誤差符号に含まれる1ビットの符号を復号して復号量子化誤差サンプルの正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25または-0.25を、その復号正規化済み信号系列X^Q(ω)に対応する復号量子化誤差q(ω)として出力する。
誤差復号部230はまた、復号正規化済み信号系列X^Q(ω)の値が0であるサンプルのうち、対応するパワースペクトル包絡値が大きいものからUXQ-T個のそれぞれについて、入力された誤差符号に含まれる1ビットの符号を復号して復号量子化誤差サンプルの正負の情報を得て、得られた正負の情報を0.25より小さい予め定められた正の値である再構成値の絶対値Aに与えて得られる再構成値+A又は-Aを、その復号正規化済み信号系列X^Q(ω)に対応する復号量子化誤差q(ω)として出力する。
または、復号正規化済み信号系列X^Q(ω)の値が0であるサンプルのうち、対応するパワースペクトル包絡値が大きいものから複数個に対して、誤差符号に含まれるUXQ-Tビットの符号をベクトル逆量子化して、対応する復号量子化誤差サンプル値の列を得て、得られた各復号量子化誤差サンプル値を、その復号正規化済み信号系列X^Q(ω)に対応する復号量子化誤差q(ω)として出力する。
また、誤差復号部230は、正負の情報を表す符号が割り当てられていない各サンプルについては、0をその各サンプルに対応する復号量子化誤差q(ω)として出力する。
このように、量子化正規化済み信号系列X^Q(ω)の値及び復号正規化済み信号系列X^Q(ω)の値が0でない場合の再構成値の絶対値を例えば0.25とし、量子化正規化済み信号系列X^Q(ω)及び復号正規化済み信号系列X^Q(ω)の値が0である場合の再構成値の絶対値をA(0<A<0.25)とする。これらの再構成値の絶対値は一例であり、量子化正規化済み信号系列X^Q(ω)の値及び復号正規化済み信号系列X^Q(ω)の値が0でない場合の再構成値の絶対値は、量子化正規化済み信号系列X^Q(ω)の値及び復号正規化済み信号系列X^Q(ω)の値が0である場合の再構成値の絶対値よりも大きければよい。
なお、対応するパワースペクトル包絡値が同一である場合は、例えば、より周波数軸上での位置の小さいサンプル(周波数が低いサンプル)を選択する等の予め定めた規則に従って選択する。
(C)T+S<UXQの場合
誤差復号部230は、復号正規化済み信号系列X^Q(ω)の値が0でないサンプルについては、以下の処理を行う。
入力された誤差符号に含まれる1ビットの1巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値0.25に与えて得られる再構成値+0.25又は-0.25をその復号正規化済み信号系列X^Q(ω)に対応する1巡目復号量子化誤差q1(ω)とする。さらに、入力された誤差符号に含まれる1ビットの2巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値0.125に与えて得られる再構成値+0.125または-0.125を2巡目復号量子化誤差q2(ω)とする。1巡目復号量子化誤差q1(ω)と2巡目復号量子化誤差q2(ω)とを加算して復号量子化誤差q(ω)とする。
また、誤差復号部230は、復号正規化済み信号系列X^Q(ω)の値が0であるサンプルについては、以下の処理を行う。
入力された誤差符号に含まれる1ビットの1巡目符号を復号して正負の情報を得て、得られた正負の情報を0.25より小さい正の値である再構成値の絶対値Aに与えて得られる再構成値+Aまたは-Aを、その復号正規化済み信号系列X^Q(ω)に対応する1巡目復号量子化誤差q1(ω)とする。さらに、入力された誤差符号に含まれる1ビットの2巡目符号を復号して正負の情報を得て、得られた正負の情報を再構成値の絶対値A/2に与えて得られる再構成値+A/2または-A/2を2巡目復号量子化誤差q2(ω)とする。1巡目復号量子化誤差q1(ω)と2巡目復号量子化誤差q2(ω)とを加算して復号量子化誤差q(ω)とする。
このように、対応する量子化正規化済み信号系列X^Q(ω)の値及び復号正規化済み信号系列X^Q(ω)の値が0である場合もそうでない場合も、2巡目符号に対応する再構成値の絶対値を1巡目符号に対応する再構成値の絶対値の1/2とする。
なお、各サンプルに対応する2巡目符号がない場合には、その各サンプルに対応する1巡目復号量子化誤差q1(ω)を、その各サンプルに対応する復号量子化誤差q(ω)とする。
また、上記の(A)及び(B)のパワースペクトル包絡値の代わりに、パワースペクトル包絡値の概算値、パワースペクトル包絡値の推定値、これらの何れかの値を平滑化して得られる値、これらの何れかの値を複数のサンプルについて平均して得られる値又はこれらの何れかの値と大小関係が同一となる値の何れかを用いてもよい。ただし、符号化装置1の誤差符号化部180と同一種類の値を用いる必要がある。
<加算部240>
加算部240には、復号量子化誤差q(ω)の列及び復号正規化済み信号系列X^Q(ω)が入力される。加算部240は、復号量子化誤差q(ω)の列と復号正規化済み信号系列X^Q(ω)とを加算して、修正後復号正規化済み信号系列X^’Q(ω)とする(ステップS6d)。修正後復号正規化済み信号系列X^’Q(ω)は、復号信号系列生成部250及び区分部260に送信される。
<区分部260>
区分部260が、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を、「各範囲のエネルギーがなるべく等しくなるように区分する基準」又は「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」で、N個の範囲(ただし、N=2Dであり、Dは2以上の予め定められた整数である)に区分する(ステップS7d)。既述の説明と整合させると、修正後復号正規化済み信号系列X^’Q(ω)の離散周波数インデックスの集合を{Lmin,…,Lmax}として、修正後復号正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]が系列全体Bに相当し、区分部260は、修正後復号正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]をN個の範囲{Bn}n=1 N={B1,…,Bn,…,BN}に区分する。この区分処理の詳細は後述する。この区分処理で得られる区分インデックスbは復号信号系列生成部250に提供される。
区分数Nは、符号化装置1の区分部150における区分数Nと共通の値となるように、例えば符号化装置1の区分部150と復号装置2の区分部260とに予め設定されている。
区分部260が修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう区分処理は、符号化装置1の区分部150が修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう区分処理と同一の処理が行われるように、符号化装置1の区分部150と復号装置2の区分部260との間で予め設定されている。
<区分部260が行なう区分処理の詳細>
区分部260が修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう区分処理は、符号化装置1の区分部150が修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に対して行なう区分処理と同一である。
「各範囲のエネルギーがなるべく等しくなるように区分する基準」での区分処理は、例えば、修正後復号正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、
(a) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和と、修正後復号正規化済み信号系列の全てのサンプルの値の二乗和のN分のnと、が最も近付くように、
または、
(b) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和と、修正後復号正規化済み信号系列の全てのサンプルの値の絶対値和のN分のnと、が最も近付くように、
または、
(c) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後復号正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以上となる最小のサンプル数になるように、
または、
(d) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和が修正後復号正規化済み信号系列の全てのサンプルの値の絶対値和のN分のn以上となる最小のサンプル数になるように、
または、
(e) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の二乗和が修正後復号正規化済み信号系列の全てのサンプルの値の二乗和のN分のn以下となる最大のサンプル数になるように、
または、
(f) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までのサンプル数の合計が、修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルの値の絶対値和が修正後復号正規化済み信号系列の全てのサンプルの値の絶対値和のN分のn以下となる最大のサンプル数になるように、
求め、
修正後復号正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後復号正規化済み信号系列の第Nの範囲とすることで、修正後復号正規化済み信号系列をN個の範囲に区分することにより行なわれる。
上記に例示した区分処理は、「各範囲のエネルギーがなるべく等しくなるように区分する基準」による区分を、第1の範囲から順に逐次的に決定していく方法によって実現するものである。上記に例示した区分処理によれば、少ない演算処理量で「各範囲のエネルギーがなるべく等しくなるように区分する基準」による区分を実現できる。
「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」での区分処理は、例えば、修正後復号正規化済み信号系列の第nの範囲(nは1からN−1までの各整数)を、
(a) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数と、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のnと、が最も近付くように、
または、
(b) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数と、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のnと、が最も近付くように、
または、
(c) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以上となる最小のサンプル数となるように、
または、
(d) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以上となる最小のサンプル数となるように、
または、
(e) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルのエネルギーが所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以下となる最大のサンプル数となるように、
または、
(f) 修正後復号正規化済み信号系列の第1の範囲から第nの範囲までに含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数が、修正後復号正規化済み信号系列に含まれる全てのサンプルのうちサンプルの絶対値が所定値より大きいかまたは所定値以上であるサンプルの個数のN分のn以下となる最大のサンプル数となるように、
求め、
修正後復号正規化済み信号系列のうちの第1の範囲から第N−1の範囲以外の範囲を、修正後復号正規化済み信号系列の第Nの範囲とすることで、修正後復号正規化済み信号系列をN個の範囲に区分することにより行なわれる。
上記に例示した区分処理は、「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」による区分を、各範囲を逐次的に決定していく方法によって実現するものである。上記に例示した区分処理によれば、少ない演算処理量で「各範囲に含まれる有意のサンプルの個数がなるべく等しくなるように区分する基準」による区分を実現できる。
区分部260が行なう区分処理の具体例は、符号化装置1の区分部150が行う区分処理の具体例である「第1の基準による区分処理の第1例」から「第1の基準による区分処理の第6例」、「第2の基準による区分処理の第1例」から「第2の基準による区分処理の第6例」のそれぞれの具体例中の、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]を修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に置き換えたものである。
<復号信号系列生成部250>
復号信号系列生成部250には、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]と、ゲイン補正量符号idxと、復号グローバルゲインg^が入力される。復号信号系列生成部250は、修正後復号正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]を予め定められたN=2D個(Dは2以上の整数)の範囲に区分し、復号信号系列生成部250内の記憶部251に記憶されている複数個のゲイン補正量コードブックを用いて、各区分された範囲についての複数個のゲイン補正量で復号グローバルゲインg^を各区分された範囲ごとに補正して得られる補正ゲインと修正後復号正規化済み信号系列X^’Q(ω)[ω∈{Lmin,…,Lmax}]の各サンプルの値とを乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,Lmax}]として得る(ステップS8d)。
このゲイン補正量符号idxは、符号化装置1において、大きな範囲に対応するゲイン補正量に優先してビットが割り当てるという基準に基づいてビットが割り当てたゲイン補正量を特定するものである。言い換えれば、ゲイン補正量符号idxは、範囲に含まれる区分された範囲の個数が多い範囲に対応するゲイン補正量に対して優先的にビットが割り当てるという基準に基づいてビットが割り当てられたゲイン補正量を特定するものである。
同じ大きさの範囲に対応するゲイン補正量については何れの範囲に対応するゲイン補正量に優先してビットが割り当てられていてもよいが、聴覚的な重要度が高い範囲に対応するゲイン補正量に対して優先的にビットが割り当てられているほうが好ましい。なお、一般的には、周波数が低い帯域のほうが、周波数が高い帯域よりも、聴覚的な重要度が高いことが多い。このため、同じ大きさの範囲に対応するゲイン補正量については、周波数が低い範囲のゲイン補正量に優先してビットが割り当てられている。
したがって、ゲイン補正量符号idxは、符号化装置1において、範囲に含まれる区分された範囲の個数が同じ範囲に対応するゲイン補正量については、聴覚的な重要度が高い範囲に対応するゲイン補正量に優先してビットを割り当てるという基準に更に基づいてビットが割り当てられたゲイン補正量を特定するものであってもよい。
また、ゲイン補正量符号idxは、符号化装置1において、範囲に含まれる区分された範囲の個数が同じ範囲に対応するゲイン補正量については、周波数が低い範囲に対応するゲイン補正量に優先してビットを割り当てるという基準に更に基づいてビットが割り当てられたゲイン補正量を特定するものであってもよい。
[復号信号系列生成処理の第1例]
復号信号系列生成処理の第1例は、量子化グローバルゲインg^とゲイン補正量とを加算したものを補正ゲインとする例である。ここでは、同じ大きさの範囲に対応するゲイン補正量については周波数が低い範囲のゲイン補正量に優先してビットが割り当てられており、隣接する2つの範囲のゲイン補正量をベクトル量子化により復号する例について説明する。修正後復号正規化済み信号系列が4個の範囲に区分されている場合について説明する。
この例では、修正後復号正規化済み信号系列は、第1の範囲R1、第2の範囲R2、第3の範囲R3及び第4の範囲R4に区分されている。例えば図25に示すように、第1の範囲R1は区間[Lmin,L(1)-1]であり、第2の範囲R2は区間[L(1),L(2)-1]であり、第3の範囲R3は区間[L(2),L(3)-1]であり、第4の範囲R4は区間[L(3),Lmax]である。図25の横軸は、サンプル番号を表す。これらの範囲R1,R2,R3,R4は、2k個(kは一般には1からD−1までの各整数であるが、この例ではk=1)ずつ纏められている。範囲R1及び範囲R2を纏めた範囲を範囲R12とし、範囲R3及び範囲R4を纏めた範囲を範囲R34とする。
これらの範囲R1,R2,R3,R4,R12,R34は、同じ大きさの範囲ごとにa個の範囲で構成されるグループに分割されている。aは一般には2以上の整数であるが、この例ではa=2である。この例では、範囲R1及び範囲R2がグループG12を構成しており、範囲R3及び範囲R4がグループG34を構成しており、範囲R12及び範囲R34がグループG1234を構成している。すなわち、各グループを構成する範囲は、以下のようになる。
グループG12={範囲R1,範囲R2}
グループG34={範囲R3,範囲R4}
グループG1234={範囲R12,範囲R34}
ベクトル量子化の復号は、これらのグループG12,G34,G1234のそれぞれで行われる。
隣接する2つの範囲のゲイン補正量のベクトル量子化の復号は、具体的には、次の3つのベクトル量子化の復号により行なわれる。第1のベクトル量子化の復号は、範囲R1に対応するゲイン補正量と範囲R2に対応するゲイン補正量とのベクトル量子化の復号である。これを以下では「第1VQ復号」という。第2のベクトル量子化の復号は、の範囲R3に対応するゲイン補正量と範囲R4に対応するゲイン補正量とのベクトル量子化の復号である。これを以下では「第2VQ復号」という。第3のベクトル量子化の復号は、範囲R12に対応するゲイン補正量と範囲R34に対応するゲイン補正量とのベクトル量子化の復号である。これを以下では「第3VQ復号」という。
本明細書において、復号されたゲイン補正量のことを、復号ゲイン補正量も呼ぶこともある。
復号信号系列生成部250内の記憶部251には、符号化装置1の記憶部141と同じ第1VQのゲイン補正量コードブック、第2VQのゲイン補正量コードブック、第3VQのゲイン補正量コードブックが格納されている。
すなわち、a個(この例ではa=2)のゲイン補正量の候補で構成されたベクトルを、ゲイン補正量候補ベクトルと呼ぶことにすると、第1VQのゲイン補正量コードブックには、Δ1(1)及びΔ2(1)で構成されたゲイン補正量候補ベクトル、Δ1(2)及びΔ2(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ1(2Ma)及びΔ2(2Ma)で構成されたゲイン補正量候補ベクトルの計2Ma個のゲイン補正量候補ベクトル、計2Ma個のゲイン補正量候補ベクトルとそれぞれ対応する計2Ma個の符号Δ12(1),Δ12(2),・・・,idx12(2Ma)が格納されている。
また、第2VQのゲイン補正量コードブックには、Δ3(1)及びΔ4(1)で構成されたゲイン補正量候補ベクトル、Δ3(2)及びΔ4(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ3(2Mb)及びΔ4(2Mb)で構成されたゲイン補正量候補ベクトルの計2Mb個のゲイン補正量候補ベクトルと、計2Mb個のゲイン補正量候補ベクトルとそれぞれ対応する計2Mb個の符号Δ34(1),Δ34(2),・・・,idx34(2Mb)が格納されている。
第3VQのゲイン補正量コードブックには、Δ12(1)及びΔ34(1)で構成されたゲイン補正量候補ベクトル、Δ12(2)及びΔ34(2)で構成されたゲイン補正量候補ベクトル、・・・、Δ12(2Mb)及びΔ34(2Mb)で構成されたゲイン補正量候補ベクトルの計2Mc個のゲイン補正量候補ベクトルと、計2Mc個のゲイン補正量候補ベクトルとそれぞれ対応する計2Mc個の符号Δ1234(1),Δ1234(2),・・・,idx1234(2Mc)が格納されている。
このように、区分された範囲及び区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲のそれぞれには、複数個のゲイン補正量の候補が対応付けされている。この例では、範囲R1にはΔ1(1),…,Δ1(2Ma)が対応付けされており、範囲R2にはΔ2(1),…,Δ2(2Ma)が対応付けされており、範囲R3にはΔ3(1),…,Δ3(2Mb)が対応付けされており、範囲R4にはΔ4(1),…,Δ4(2Mb)が対応付けされており、範囲R12にはΔ12(1),…,Δ12(2Mc)が対応付けされており、範囲R34にはΔ34(1),…,Δ34(2Mc)が対応付けされている。
ゲイン補正量の候補には、大きな範囲に対応するゲイン補正量の候補の絶対値の方が、その大きな範囲よりも小さい範囲に対応するゲイン補正量の候補の絶対値よりも大きいという関係があってもよい。すなわち、範囲に含まれる区分された範囲の個数が多い範囲に対応するゲイン補正量の候補の絶対値の方が、その範囲に含まれる上記区分された範囲の個数よりも範囲に含まれる区分された範囲の個数が少ない範囲に対応するゲイン補正量の候補の絶対値よりも大きいという関係があってもよい。
この例では、範囲R12及び範囲R34の方が、範囲R1、範囲R2、範囲R3及び範囲R4よりも大きな範囲である。
したがって、Δ12(1),…,Δ12(2Mc)の絶対値が、Δ1(1),…,Δ1(2Ma)の絶対値、Δ2(1),…,Δ2(2Ma)の絶対値、Δ3(1),…,Δ3(2Mb)の絶対値及びΔ4(1),…,Δ4(2Mb)の絶対値よりも大きくなっていてもよい。
同様に、Δ34(1),…,Δ34(2Mc)の絶対値が、Δ1(1),…,Δ1(2Ma)の絶対値、Δ2(1),…,Δ2(2Ma)の絶対値、Δ3(1),…,Δ3(2Mb)の絶対値及びΔ4(1),…,Δ4(2Mb)の絶対値よりも大きくなっていてもよい。
例えば、次のようにしてゲイン補正量候補ベクトルを生成することができる。
まず、a個の値で構成される正規化ゲイン補正量候補ベクトルを2Md個記憶部141に格納しておく。例えば、Md=Ma=Mb=Mcである。正規化ゲイン補正量候補ベクトルを構成するa個の値をΔ1(m),…,Δa(m)と表記すると、正規化ゲイン補正量候補ベクトルは(Δ1(m),…,Δa(m))と表記することができる。記憶部141には、2Md個の正規化ゲイン補正量候補ベクトル、すなわち(Δ1(1),…,Δa(1)),…,(Δ1(2Md),…,Δa(2Md))が格納されている。
また、範囲の大きさごとに予め定められた係数が定められているものとする。この係数は、対応する範囲が大きいほど大きい。言い換えれば、この係数は、範囲に含まれる区分された範囲の個数が多い範囲ほど大きい。
上記の例では、範囲R12,R34は、範囲R1,R2,R3,R4よりも大きい範囲である。このため、範囲R12,R34に対応する係数step1234は、範囲R1,R2に対応する係数step12よりも大きい。同様に、範囲R12,R34に対応する係数step1234は、範囲R3,R4に対応する係数step34よりも大きい。
このとき、正規化ゲイン補正量候補ベクトルに、範囲の大きさに対応する係数を乗算したベクトルを、その範囲のゲイン補正量候補ベクトルとする。言いかえれば、正規化ゲイン補正量候補ベクトル(Δ1(m),…,Δa(m))を構成するa個の値Δ1(m),…,Δa(m)のそれぞれに、範囲の大きさに対応する係数stepを乗算することにより得られたa個の値stepΔ1(m),…, stepΔa(m)により構成されるベクトル(stepΔ1(m),…,stepΔa(m))を、その範囲のゲイン補正量候補ベクトルとする。この乗算は、例えば復号信号系列生成部250により行われる。正規化ゲイン補正量候補ベクトル(Δ1(m),…,Δa(m))は2Md個あるため、m=1,…,2Mdのそれぞれについてこの乗算を行うことにより、2Md個のゲイン補正量候補ベクトル(stepΔ1(m),…, stepΔa(m))が得られる。
上記のa=2の例では、Md=Maとした場合、グループG12を構成する範囲R1,R2に対応するゲイン補正量候補ベクトル(Δ1(m),Δ2(m))は、(Δ1(m),Δ2(m))=(step12Δ1(m),step12Δ2(m))[m=1,…,2Ma]である。Md=Mbとした場合、グループG34を構成する範囲R3,R4に対応するゲイン補正量候補ベクトル(Δ3(m),Δ4(m))は、(Δ3(m),Δ4(m))=(step34Δ1(m),step34Δ2(m))[m=1,…,2Mb]である。Md=Mbとした場合、グループG1234を構成する範囲R12,R34に対応するゲイン補正量候補ベクトル(Δ12(m),Δ34(m))は、(Δ12(m),Δ34(m))=(step1234Δ1(m),step1234Δ2(m))[m=1,…,2Mc]である。
[[復号信号系列生成処理の具体例1:3つの場合で異なる加算式を用いる例]]
具体例1は、入力されたゲイン補正量符号idxのビット数Ugが、McとMc+MaとMc+Ma+Mbとの何れかである場合の例である。
(a) 入力されたゲイン補正量符号idxのビット数UgがMcである場合
入力されたゲイン補正量符号idxのビット数UgがMcである場合は、ゲイン補正量符号idxには第3VQ符号idx1234のみが含まれる。従って、復号信号系列生成部250は、まず、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得る。具体的には、記憶部251に格納されたΔ12(1)とΔ34(1)とidx1234(1)との組、Δ12(2)とΔ34(2)とidx1234(2)との組、・・・、Δ12(2Mc)とΔ34(2Mc)とidx1234 (2Mc)との組を参照して、第3VQ符号idx1234と同一のidx1234(mc)に対応するΔ12(mc)を範囲R12に対応する復号ゲイン補正量Δ12として得て、第3VQ符号idx1234と同一のidx1234(mc)に対応するΔ34(mc)を範囲R34に対応する復号ゲイン補正量Δ34として得る。これは、周知のベクトル量子化の復号方法である。
次に、範囲R1については、範囲R1についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]として得る。すなわち、範囲R1の出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルは式(D7)により求まる。
X^(ω)=(g^+Δ12) X^’Q(ω) (D7)
また、範囲R2については、範囲R2についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(1) ,…,L(2)-1]として得る。すなわち、範囲R2の出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1]の各サンプルも式(D7)により求まる。
また、範囲R3については、範囲R3についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]として得る。すなわち、範囲R3の出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]の各サンプルは式(D8)により求まる。
X^(ω)=(g^+Δ34) X^’Q(ω) (D8)
また、範囲R4については、範囲R4についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(3) ,…,Lmax]として得る。すなわち、範囲R4の出力信号系列X^(ω) [ω∈{L(3),…,Lmax]の各サンプルも式(D8)により求まる。
(b) 入力されたゲイン補正量符号idxのビット数UgがMc+Maである場合
入力されたゲイン補正量符号idxのビット数UgがMc+Maである場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得る。各VQ復号は、周知のベクトル量子化の復号方法により行われる。
次に、範囲R1については、範囲R1についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R1に対応する復号ゲイン補正量Δ1と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ1と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]として得る。すなわち、範囲R1の出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルは式(D9)により求まる。
X^(ω)=(g^+Δ12+Δ1) X^’Q(ω) (D9)
また、範囲R2については、範囲R1についての復号ゲイン補正量である範囲R12の復号ゲイン補正量Δ12及び範囲R2の復号ゲイン補正量Δ2と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ2と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1}]として得る。すなわち、範囲R2の出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1}]の各サンプルは式(D10)により求まる。
X^(ω)=(g^+Δ12+Δ2) X^’Q(ω) (D10)
また、範囲R3については、範囲R3についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]として得る。すなわち、範囲R3の出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]の各サンプルは式(D8)により求まる。
また、範囲R4については、範囲R4についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(3) ,…,Lmax]として得る。すなわち、第4の範囲の出力信号系列X^(ω) [ω∈{L(3),…,Lmax]の各サンプルも式(D8)により求まる。
(c) 入力されたゲイン補正量符号idxのビット数UgがMc+Ma+Mbである場合
入力されたゲイン補正量符号idxのビット数UgがMc+Ma+Mbである場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得て、さらに、第2VQ符号idx34に対して第2VQ復号を行い、範囲R3に対応する復号ゲイン補正量Δ3と範囲R4に対応する復号ゲイン補正量Δ4を得る。各VQ復号は、周知のベクトル量子化の復号方法により行われる。
次に、範囲R1については、範囲R1についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R1に対応する復号ゲイン補正量Δ1と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ1と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]として得る。すなわち、第1の範囲の出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルは式(D9)により求まる。
また、範囲R2については、範囲R2についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R2に対応する復号ゲイン補正量Δ2と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ2と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1}]として得る。すなわち、範囲R2の出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1}]の各サンプルは式(D10)により求まる。
また、範囲R3については、範囲R3についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34及び範囲R3に対応する復号ゲイン補正量Δ3と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ3と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1}]として得る。すなわち、第3の範囲の出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1}]の各サンプルは式(D11)により求まる。
X^(ω)=(g^+Δ34+Δ3) X^’Q(ω) (D11)
また、範囲R4については、範囲R4についての復号ゲイン補正量である範囲R34の復号ゲイン補正量Δ34及び範囲R4の復号ゲイン補正量Δ4と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ4と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(3),…,Lmax}]として得る。すなわち、範囲R4の出力信号系列X^(ω) [ω∈{L(3),…,Lmax}]の各サンプルは式(D12)により求まる。
X^(ω)=(g^+Δ34+Δ4) X^’Q(ω) (D12)
[[復号信号系列生成処理の具体例2:3つの場合で同じ加算式を用いる例]]
具体例2も、具体例1と同様に、入力されたゲイン補正量符号idxのビット数Ugが、McとMc+MaとMc+Ma+Mbとの何れかである場合の例である。
(a) 入力されたゲイン補正量符号idxのビット数UgがMcである場合
入力されたゲイン補正量符号idxのビット数UgがMcである場合は、ゲイン補正量符号idxには第3VQ符号idx1234のみが含まれる。従って、復号信号系列生成部250は、まず、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得る。復号ゲイン補正量を得る方法は具体例1と同様である。
また、復号ゲイン補正量Δ1,Δ2,Δ3,Δ4のそれぞれを0とする。
次に、範囲R1については、範囲R1についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R1に対応する復号ゲイン補正量Δ1と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ1と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]として得る。すなわち、範囲R1の出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルは式(D9)により求まる。
また、範囲R2については、範囲R2についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R2に対応する復号ゲイン補正量Δ2と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ2と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(1) ,…,L(2)-1]として得る。すなわち、範囲R2の出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1]の各サンプルは式(D10)により求まる。
また、範囲R3については、範囲R3についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34及び範囲R3に対応する復号ゲイン補正量Δ3と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ3と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]として得る。すなわち、範囲R3の出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]の各サンプルは式(D11)により求まる。
また、範囲R4については、範囲R4についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34及び範囲R4に対応する復号ゲイン補正量Δ4と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ4と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(3) ,…,Lmax]として得る。すなわち、範囲R4の出力信号系列X^(ω) [ω∈{L(3),…,Lmax]の各サンプルは式(D12)により求まる。
(b) 入力されたゲイン補正量符号idxのビット数UgがMc+Maである場合
入力されたゲイン補正量符号idxのビット数UgがMc+Maである場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得る。復号ゲイン補正量を得る方法は具体例1と同様である。
また、復号ゲイン補正量Δ3,Δ4のそれぞれは、0とする。
復号ゲイン補正量Δ12,Δ34,Δ1,Δ2,Δ3,Δ4のそれぞれを得た後の、範囲R1から範囲R4の各範囲の出力信号系列を得る処理は、上記の(a)の場合と同じである。
このようにビットが割り当てられていないゲイン補正量を0として復号グローバルゲインg^の補正を行うことは、対応するゲイン補正量がない範囲については補正を行わないことに対応するゲイン補正量を用いることと同義である。例えば、上記の「(a) 入力されたゲイン補正量符号idxのビット数UgがMcである場合」では、範囲R1,R2,R3,R4が対応するゲイン補正量がない範囲である。
(c) 入力されたゲイン補正量符号idxのビット数UgがMc+Ma+Mbである場合
入力されたゲイン補正量符号idxのビット数UgがMc+Ma+Mbである場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得て、さらに、第2VQ符号idx34に対して第2VQ復号を行い、範囲R3に対応する復号ゲイン補正量Δ3と範囲R4に対応する復号ゲイン補正量Δ4を得る。復号ゲイン補正量を得る方法は具体例1と同様である。
復号ゲイン補正量Δ12,Δ34,Δ1,Δ2,Δ3,Δ4のそれぞれを得た後の、範囲R1から範囲R4の各範囲の出力信号系列を得る処理は、上記の(a)の場合と同じである。
[[復号信号系列生成処理の具体例3:ゲイン補正量符号のビット数が半端な場合を含む例]]
具体例3は、入力されたゲイン補正量符号idxのビット数UgがMcとMc+MaとMc+Ma+Mb以外も含む場合、すなわち入力されたゲイン補正量符号idxのビット数Ugが1以上の値の何れかである場合の例である。
(a) 入力されたゲイン補正量符号idxのビット数Ugが0より大きくMc以下である場合 (0<U≦Mc)
入力されたゲイン補正量符号idxのビット数Ugが0より大きくMc以下である場合は、ゲイン補正量符号idxには第3VQ符号idx1234のみが含まれる。従って、復号信号系列生成部250は、まず、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得る。この場合は、1から2 Ugの全てのmcを区別できるUgビットの部分が、ゲイン補正量符号idxとされている。例えば、Ug=1、Mc=2の場合であれば、idx1234(1)の{0,0}の2ビットのうち1ビット目である{0}、または、idx1234(2)の{1,0}の2ビットのうち1ビット目である{1}が第3VQ符号idx1234とされている。復号ゲイン補正量を得る方法は具体例1と同様である。
また、復号ゲイン補正量Δ1,Δ2,Δ3,Δ4のそれぞれは、0とする。
次に、範囲R1については、範囲R1についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R1の復号ゲイン補正量Δ1と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ1と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,L(1)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]として得る。すなわち、範囲R1の出力信号系列X^(ω) [ω∈{Lmin,…,L(1)-1}]の各サンプルは式(D9)により求まる。
また、範囲R2については、範囲R2についての復号ゲイン補正量である範囲R12に対応する復号ゲイン補正量Δ12及び範囲R2に対応する復号ゲイン補正量Δ2と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ12+Δ2と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(1),…,L(2)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(1) ,…,L(2)-1]として得る。すなわち、範囲R2の出力信号系列X^(ω) [ω∈{L(1),…,L(2)-1]の各サンプルは式(D10)により求まる。
また、範囲R3については、範囲R3についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34及び範囲R3に対応する復号ゲイン補正量Δ3と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ3と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(2),…,L(3)-1]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]として得る。すなわち、第3の範囲の出力信号系列X^(ω) [ω∈{L(2),…,L(3)-1]の各サンプルは式(D11)により求まる。
また、範囲R4については、範囲R4についての復号ゲイン補正量である範囲R34に対応する復号ゲイン補正量Δ34及び範囲R4に対応する復号ゲイン補正量Δ4と、復号グローバルゲインg^とを加算して得られる補正ゲインg^+Δ34+Δ4と、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{L(3),…,Lmax]の各サンプルの値と、を乗算して得られる信号系列を出力信号系列X^(ω) [ω∈{L(3) ,…,Lmax]として得る。すなわち、第4の範囲の出力信号系列X^(ω) [ω∈{L(3),…,Lmax]の各サンプルは式(D11)により求まる。
(b) 入力されたゲイン補正量符号idxのビット数UgがMcより大きくMc+Ma以下である場合 (Mc<Ug≦Mc+Ma)
入力されたゲイン補正量符号idxのビット数UgがMcより大きくMc+Ma以下である場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得る。この場合は、2Ug-Mc+1から2Maの範囲にある全てのmaを区別できるUg-Mcビットの部分が第1VQ符号idx12とされている。復号ゲイン補正量を得る方法は具体例1と同様である。
また、復号ゲイン補正量Δ3,Δ4のそれぞれは、0とする。
復号ゲイン補正量Δ12,Δ34,Δ1,Δ2,Δ3,Δ4のそれぞれを得た後の、範囲R1から範囲R4の各範囲の出力信号系列を得る処理は、上記の(a)の場合と同じである。
(c) 入力されたゲイン補正量符号idxのビット数UgがMc+Maより大きい場合 (Mc+Ma<Ug)
入力されたゲイン補正量符号idxのビット数UgがMc+Maより大きい場合は、ゲイン補正量符号idxには第3VQ符号idx1234と第1VQ符号idx12と第2VQ符号idx34が含まれる。従って、復号信号系列生成部250は、第3VQ符号idx1234に対して第3VQ復号を行い、範囲R12に対応する復号ゲイン補正量Δ12と範囲R34に対応する復号ゲイン補正量Δ34を得て、さらに、第1VQ符号idx12に対して第1VQ復号を行い、範囲R1に対応する復号ゲイン補正量Δ1と範囲R2に対応する復号ゲイン補正量Δ2を得て、さらに、第2VQ符号idx34に対して第2VQ復号を行い、範囲R3に対応する復号ゲイン補正量Δ3と範囲R4に対応する復号ゲイン補正量Δ4を得る。この場合は、2Ug-Mc-Ma+1から2Mbの範囲にある全てのmbを区別できるUg-Mc-Maビットの部分が第2VQ符号idx34とされている。
復号ゲイン補正量Δ12,Δ34,Δ1,Δ2,Δ3,Δ4のそれぞれを得た後の、範囲R1から範囲R4の各範囲の出力信号系列を得る処理は、上記の(a)の場合と同じである。
なお、各ベクトル量子化で用いるゲイン補正量の候補をひとつのゲイン補正量コードブックに格納しておき、1回のベクトル量子化の復号でゲイン補正量を生成するようにしてもよい。
区分された範囲の個数は、2Dであるとする。2D個の区分された範囲を2k個ずつ纏めた範囲の個数は、2D/2k=2D-kである。したがって、区分された範囲及び区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲の個数は、2D+Σd=1 D-12D-dであり、合計でΣd=1 D2d=2D+Σd=1 D-12D-dである。以下、A=Σd=1 D2dとする。
この場合、ゲイン補正量候補ベクトルは、A個のゲイン補正量の候補で構成されているとする。2D個の区分された範囲及びこれらの2D個の区分された範囲を2k個(kは1からD−1までの各整数)ずつ纏めた範囲は、それぞれゲイン補正量候補ベクトルを構成するA個のゲイン補正量の候補に対応付けされているものとする。
上記のD=2,k=1であり、[[復号信号系列生成処理の具体例2:3つの場合で同じ加算式を用いる例]]の「(c) 入力されたゲイン補正量符号idxのビット数UgがMc+Ma+Mbである場合」の例では、A=Σd=1 22d=2+4=6となり、インデックスidx(m)のゲイン補正量候補ベクトル(Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m))は、6個のゲイン補正量の候補Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m)で構成されている。ゲイン補正量の候補Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m)は、それぞれ範囲R12,R34,R1,R2,R3,R4に対応している。
ゲイン補正量コードブックには、複数のゲイン補正量候補ベクトルが格納されている。上記の例では、例えば2Me個のゲイン補正量候補ベクトル(Δ12(m),Δ34(m),Δ1(m),Δ2(m),Δ3(m),Δ4(m))[m=1,…2Me]が、ゲイン補正量コードブックに格納されている。Meは、2以上の整数である。
この場合、復号信号系列生成部250は、ゲイン補正量コードブックに格納された複数のゲイン補正量候補ベクトルの中から、入力されたゲイン補正量符号で特定されるゲイン補正量候補ベクトルを選択する。この選択されたゲイン補正量候補ベクトルを構成するゲイン補正量を用いて、復号グローバルゲインの補正を行う。
[復号信号系列生成部250の変形例]
復号信号系列生成部250は、式(D7),式(D8)にそれぞれ代えて式(D17),式(D18)に基づいて、出力信号系列X^(ω)を求めてもよい。
X^(ω)=(g^+s12Δ12) X^’Q(ω) (D17)
X^(ω)=(g^+s34Δ34) X^’Q(ω) (D18)
s12及びs34は、例えば以下の式のように定義される。
また、復号信号系列生成部250は、式(D9),式(D10),式(D11),式(D12)にそれぞれ代えて式(D19),式(D20),式(D21),式(D22)に基づいて、出力信号系列X^(ω)を求めてもよい。
X^(ω)=(g^+s12Δ12+s1Δ1) X^’Q(ω) (D19)
X^(ω)=(g^+s12Δ12+s2Δ2) X^’Q(ω) (D20)
X^(ω)=(g^+s34Δ34+s3Δ3) X^’Q(ω) (D21)
X^(ω)=(g^+s34Δ34+s4Δ4) X^’Q(ω) (D22)
s1及びs2は、例えば以下の式のように定義される。
また、s3及びs4は、例えば以下の式のように定義される。
このように、復号グローバルゲインg^を、各区分された範囲についての複数個のゲイン補正量のそれぞれと、修正後復号正規化済み信号系列X^’Q(ω)の全てのサンプル値の二乗和をそのそれぞれのゲイン補正量に対応する範囲内の全てのサンプルの値の二乗和で除算した値とを乗算した値で各区分された範囲ごとに補正してもよい。
また、復号信号系列生成部250は、式(D9),式(D10),式(D11),式(D12)にそれぞれ代えて式(D23),式(D24),式(D25),式(D26)に基づいて、出力信号系列X^(ω)を求めてもよい。
X^(ω)=(g^+s1(Δ12+Δ1)) X^’Q(ω) (D23)
X^(ω)=(g^+s2(Δ12+Δ2)) X^’Q(ω) (D24)
X^(ω)=(g^+s3(Δ34+Δ3)) X^’Q(ω) (D25)
X^(ω)=(g^+s4(Δ34+Δ4)) X^’Q(ω) (D26)
このように、復号グローバルゲインg^を、各区分された範囲についての複数個のゲイン補正量を加算した値と、修正後復号正規化済み信号系列X^’Q(ω)の全てのサンプル値の二乗和を各区分された範囲内の全てのサンプルの値の二乗和で除算した値とを乗算した値で各区分された範囲ごとに補正してもよい。
なお、s12,s34,s1,s2,s3,s4を、それぞれ以下の式のように定義してもよい。
c12は、範囲R12のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c34は、範囲R34のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c1234は、範囲R1234のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c1は、範囲R1のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c2は、範囲R2のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c3は、範囲R3のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。c4は、範囲R4のサンプルのエネルギーが所定値よりも大きいサンプルの個数である。
この場合、復号グローバルゲインg^は、各区分された範囲についての複数個のゲイン補正量のそれぞれと、修正後復号正規化済み信号系列X^’Q(ω)のサンプルのエネルギーが所定値よりも大きいサンプルの個数をそのそれぞれのゲイン補正量に対応する範囲内のサンプルのエネルギーが上記所定値よりも大きいサンプルの個数で除算した値とを乗算した値で補正されることになる。また、復号グローバルゲインg^は、各区分された範囲についての複数個のゲイン補正量を加算した値と、修正後復号正規化済み信号系列X^'Q(ω)のサンプルのエネルギーが所定値よりも大きいサンプルの個数を各区分された範囲内のサンプルのエネルギーが上記所定値よりも大きいサンプルの個数で除算した値とを乗算した値で各区分された範囲ごとに補正されることになる。
<時間領域変換部270>
必要に応じて備える時間領域変換部270には、出力信号系列X^(ω)が入力される。時間領域変換部270は、出力信号系列X^(ω)に対して周波数−時間変換を適用して、フレーム単位の時間領域信号系列zF(n)を出力する。周波数−時間変換方法は、周波数領域変換部101で用いられた時間−周波数変換方法に対応する逆変換である。上述の例であれば、ここでの周波数−時間変換方法は、IMDCT(Inverse Modified Discrete Cosine Transform)またはIDCT(Inverse Discrete Cosine Transform)である。
符号化装置1の制御部170の処理において、UXQ=0と決定された場合には、誤差符号化部180及び加算部190の処理は行われない。この場合、修正後量子化正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に代えて、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]に基づいて区分部150及びゲイン補正量符号化部140の処理が行われる。同様に、復号装置2の制御部205の処理において、UXQ=0と決定された場合には、誤差復号部230及び加算部240の処理は行われない。この場合、修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に代えて、復号正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]に基づいて区分部260及び復号信号系列生成部250の処理が行われる。
一方、符号化装置1の制御部170の処理において、Ug=0と決定された場合には、加算部190、区分部150及びゲイン補正量符号化部140の処理は行われない。この場合、復号信号系列生成部250は、復号装置2の加算部240で生成された修正後復号正規化済み信号系列X^’Q(ω) [ω∈{Lmin,…,Lmax}]に復号グローバルゲインg^を乗算することにより得た系列を出力信号系列X^(ω) [ω∈{Lmin,…,Lmax}]とする。
《第2実施形態》
制御部170は、図27に例示するように、量子化正規化済み信号系列X^Q(ω) [ω∈{Lmin,…,Lmax}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数ではなく、正規化済み信号系列XQ(ω) [ω∈{0,…,L-1}]のサンプルの値の大きさが所定の値よりも大きいサンプルの個数に応じて、ゲイン補正量符号を生成する処理及び誤差符号を生成するの処理の一方の処理を他方の処理よりも優先的に行わせてもよい。
この場合、制御部170は、どちらの処理を優先的に行うかについての情報である優先情報を、誤差符号化部180及びゲイン補正量符号化部140だけではなく、合成部160に更に送信する。合成部160は、この優先情報を含めたビットストリームを復号装置2に送信する。合成部160に送信される優先情報は、例えば1ビットの情報である。
この場合、図28に例示するように、復号装置2には、制御部205が備えられていない。分離部210は、ビットストリームから優先情報を分離して、修正符号分離部220に送信する。修正符号分離部200は、その優先情報に基づいて、修正符号からゲイン補正量符号及び誤差符号を分離する。
他の処理は、第1実施形態と同様であるため、ここでは説明を省略する。
《第3実施形態》
第3実施形態は、区分された範囲の数Nに対応する情報を符号化装置1から復号装置2に伝える例である。
符号化装置1の区分部150は、何らかの基準や区分部150の外から伝えられた情報により区分後の範囲数Nを決定し、区分後の範囲の数がNとなるように区分処理を行う。符号化装置1の区分部150は、区分後の範囲の数であるNを特定できる補助符号も出力する。復号装置2の区分部260には、補助符号が入力され、区分後の範囲の数が補助符号により特定される数Nとなるように、区分処理を行なう。
以上の各実施形態の他、本発明である符号化装置、符号化方法、復号装置、復号方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記符号化装置/上記復号装置における処理機能をコンピュータによって実現する場合、符号化装置/復号装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記符号化装置/上記復号装置における処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、符号化装置、復号装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。