【課題を解決するための手段】
【0012】
第1の態様において、この課題は、情報信号を符号化するための情報エンコーダによって解決される。情報エンコーダは、
予測多項式A(z)の線形予測係数を得るために情報信号を分析するアナライザと、
予測多項式A(z)の線形予測係数を予測多項式A(z)のスペクトル周波数表現の周波数値へ変換するコンバータであって、
P(z)=A(z)+z
−m−lA(z
−1)、及び、
Q(z)=A(z)−z
−m−lA(z
−1)、
mは予測多項式A(z)の次数、lはゼロ以上、
として定義される多項式対P(z)及びQ(z)を分析することにより前記周波数値を決定するように構成され、P(z)から導出される厳密な実数スペクトルとQ(z)からの厳密な虚数スペクトルを確立することによって、及びP(z)から導出される厳密な実数スペクトルとQ(z)から導出される厳密な虚数スペクトルのゼロを識別することによって、前記周波数値を得るように構成されたコンバータと、
前記周波数値から量子化された周波数値を取得する量子化器と、
前記量子化された周波数値を含むビットストリームを生成するビットストリーム生成器と、を備える。
【0013】
本発明による情報エンコーダは零交差探索を用いるのに対し、従来技術による根を求めるためのスペクトル手法は、振幅スペクトル中の谷の検知に依存する。しかしながら、谷を探索する場合の確度は、零交差を探索する場合より劣る。例えば、数列[4,2,1,2,3]を考察されたい。明らかに、最小値は第3の要素であり、よって、ゼロは、第2の要素と第4の要素との間のどこかに存在することになる。言い替えれば、ゼロが第3の要素の右側に存在するか、左側に存在するかを決定することはできない。しかしながら、数列[4,2,1,−2,−3]について考察する場合は、直ちに、零交差が第3の要素と第4の要素との間に存在することが分かり、よって、許容誤差が半減する。振幅スペクトル手法の場合、零交差探索の場合と同じ確度を達成するには、分析点の数を2倍にする必要があることになる。
【0014】
振幅│P(z)│と│Q(z)│の評価を比較すれば、零交差手法は、確度において著しい優位点を有する。例えば、数列3,2,−1,−2を考察されたい。零交差手法では、ゼロは、2と−1との間に存在することが明らかである。しかしながら、対応する振幅列3,2,1,2を考察する場合、ゼロは、第2の要素と最後の要素との間のどこかに存在する、としか結論することができない。言い替えれば、零交差手法の場合の確度は、振幅ベースの手法の2倍である。
【0015】
さらに、本発明による情報エンコーダは、m=128等の長い予測子を用いてもよい。これに対して、チェビシェフ変換は、A(z)の長さが比較的短い、例えばm≦20である場合にしか十分に機能しない。長い予測子の場合、チェビシェフ変換は、数値的に不安定であり、よって、アルゴリズムの実用的実装は不可能である。
【0016】
したがって、提案する情報エンコーダの主要な特性は、零交差が探索されることに起因して、そして時間領域から周波数領域への変換が行われ、それによって極めて低い計算複雑性によりゼロを発見し得ることに起因して、チェビシェフベースの方法のように高い確度、又はより優れた確度を達成し得ることである。
【0017】
結果的に、本発明による情報エンコーダは、ゼロ(根)をより正確に決定するだけでなく、低い計算複雑性で決定する。
【0018】
本発明による情報エンコーダは、数列の線スペクトルを決定する必要があるあらゆる信号処理アプリケーションにおいて使用可能である。本明細書では、例示的に、情報エンコーダを音声符号化の側面で論じる。本発明は、音声信号又は汎用オーディオ信号等の入力信号から線スペクトルを決定するための方法を必要とし、かつ入力信号がデジタルフィルタ又は他の数列として表現される、スペクトル振幅包絡線、知覚周波数マスキングしきい値、時間振幅包絡線、知覚時間マスキングしきい値、又は他の包絡線形状、若しくは線スペクトルを用いて包絡線情報を表現する、符号化、分析又は処理のための自己相関信号等の包絡線形状と等価の他の表現、をモデリングするための線形予測子を使用する、音声、オーディオ及び/又はビデオ符号化デバイス又はアプリケーションにおいて適用可能である。
【0019】
情報信号は、例えば、オーディオ信号又はビデオ信号であってもよい。周波数値は、線スペクトル周波数であっても、イミッタンススペクトル周波数であってもよい。ビットストリーム内で伝送される量子化された周波数値は、オーディオ信号又はビデオ信号を再現するために、デコーダがビットストリームを復号できるようにする。
【0020】
本発明の好適な一実施形態によれば、コンバータは、予測多項式A(z)から多項式P(z)とQ(z)を決定するための決定デバイスを備えている。
【0021】
本発明の好適な実施形態によれば、コンバータは、P(z)から導出される厳密な実数スペクトルとQ(z)から導出される厳密な虚数スペクトルのゼロを識別するためのゼロ識別子を備えている。
【0022】
本発明の好適な一実施形態によれば、ゼロ識別子は、
a)実数スペクトルをヌル周波数において開始することと、
b)実数スペクトルにおいて符号変化が発見されるまで周波数を増大することと、
c)虚数スペクトルにおいてさらなる符号変化が発見されるまで周波数を増大することと、
d)全てのゼロが発見されるまでステップb)及びステップc)を反復すること、によってゼロを識別するように構成されている。
【0023】
Q(z)ひいてはスペクトルの虚数部は、ヌル周波数において常にゼロを有することに留意されたい。根は重なり合うことから、P(z)ひいてはスペクトルの実数部は、ヌル周波数において常に非ゼロになる。したがって、ヌル周波数における実数部から開始して、最初の零交差ひいては最初の周波数値を示す最初の符号変化が発見されるまで、周波数を増大させることができる。
【0024】
根はインタレースされるので、Q(z)のスペクトルは次の符号変化を有することとなる。したがって、Q(z)のスペクトルの符号変化が発見されるまで、周波数を増大させることができる。次に、このプロセスは、全ての周波数値が発見されるまで、P(z)及びQ(z)のスペクトル間で交互に反復されてもよい。したがって、スペクトルにおける零交差の位置決めに使用される手法は、チェビシェフ領域において適用される手法に類似する[6、7]。
【0025】
P(z)及びQ(z)のゼロはインタレースされることから、1パスで全てのゼロを発見するように実数部及び複素数部上のゼロの探索を交互に行い、よって、複雑性を完全探索の半分に減らすことができる。
【0026】
本発明の好適な一実施形態によれば、ゼロ識別子は、ゼロを補間によって識別するように構成される。
【0027】
零交差手法に加えて、ゼロのポジションを、例えば[7]のような従来方法において行われるようなより高い確度で推定できるように、補間を容易に適用することができる。
【0028】
本発明の好適な一実施形態によれば、コンバータは、長くされた多項式対P
e(z)及びQ
e(z)を生成するための多項式P(z)及びQ(z)へ値「0」を有する1つ又は複数の係数を加えるゼロパディング・デバイスを備えている。確度は、評価されるスペクトルの長さを拡大することによってさらに向上させることができる。システムに関する情報を基礎として、事例によっては、実質上、周波数値間の最小距離を決定し、ひいては、全ての周波数値をそれにより発見することができるスペクトルの最小長さを決定することが可能である[8]。
【0029】
本発明の好適な一実施形態によれば、コンバータは、線形予測係数を予測多項式A(z)のスペクトル周波数表現の周波数値へ変換する間に、長くされた多項式P
e(z)及びQ
e(z)の値「0」を有することが知られている係数を用いる演算の少なくとも一部が省略されるように構成される。
【0030】
しかしながら、スペクトルの長さが増せば、計算複雑性も増大する。複雑性の最大の誘因は、A(z)の係数の、時間領域から周波数領域への高速フーリエ変換などの変換である。しかしながら、これは、係数ベクトルが所望される長さにゼロパディングされていることから、極めて疎である。複雑性の低減には、この事実を容易に使用することができる。これは、どの係数がゼロであるかが正確に分かり、よって、高速フーリエ変換の各反復において単純にゼロを包含する演算を省くことができるという意味において、どちらかといえば単純な問題である。このように疎な高速フーリエ変換の適用は、単純であり、よって当業者たるプログラマは誰でもこれを実装することができる。このような実装の複雑性は、O(Nlog
2(1+m+l))であり、ここで、Nは、スペクトルの長さであり、m及びlは、先に定義した通りである。
【0031】
本発明の好適な一実施形態によれば、コンバータは、長くされた多項式P
e(z)及びQ
e(z)から合成多項式C
e(P
e(z),Q
e(z))を確立するように構成された合成多項式フォーマを備えている。
【0032】
本発明の好適な一実施形態によれば、コンバータは、P(z)から導出される厳密な実数スペクトル及びQ(z)からの厳密な虚数スペクトルが、合成多項式C
e(P
e(z),Q
e(z))を変換することによって単一のフーリエ変換により、確立されるように構成される。
【0033】
本発明の好適な一実施形態によれば、コンバータは、多項式対P(z)とQ(z)又は多項式対P(z)とQ(z)から導出される1つ又は複数の多項式を周波数領域へフーリエ変換するフーリエ変換デバイスと、P(z)から導出されるスペクトルの位相を、それが厳密に実数であるように調整するとともに、Q(z)から導出されるスペクトルの位相を、それが厳密に虚数であるように調整する調整デバイスと、を備えている。フーリエ変換デバイスは、高速フーリエ変換を基礎とするものであっても、離散型フーリエ変換を基礎とするものであってもよい。
【0034】
本発明の好適な一実施形態によれば、調整デバイスは、多項式対P(z)とQ(z)又は多項式対P(z)とQ(z)から導出される1つ又は複数の多項式の係数を循環シフトする係数シフタとして構成されている。
【0035】
本発明の好適な一実施形態によれば、係数シフタは、係数列の原初の中間点がその数列の第1のポジションへシフトされるような方法で、係数を循環シフトするように構成されている。
【0036】
理論的には、対称数列のフーリエ変換が実数値をとり、かつ逆対称の数列が純虚数フーリエスペクトルを有することは周知である。本事例における入力数列は、長さm+lの多項式P(z)又はQ(z)の係数であるが、これより遙かに長い長さN>>(m+l)の離散型フーリエ変換を有する方が好まれると思われる。より長いフーリエスペクトルを生成する従来的手法は、入力信号のゼロパディングである。しかしながら、数列のゼロパディングは、対称性が保たれるように慎重に実装されなければならない。
【0037】
まず、係数、
[p
0,p
1,p
2,p
1,p
0]
を有する多項式P(z)について考察する。
【0038】
通常、FFTアルゴリズムを適用する方法は、対称点が第1の要素であることを要求し、よって、例えば、MATLABに適用する場合、
fft([p
2,p
1,p
0,p
0,p
1])
のように書いて実数値の出力を求めることができる。具体的には、循環シフトが適用されてもよく、よって、中間点要素に対応する対称点、即ち係数p
2は、第1のポジションになるように左へシフトされる。次に、p
2の左側にあった係数は、数列の終わりに付加される。
【0039】
ゼロパディングされた数列、
[p
0,p
1,p
2,p
1,p
0,0,0...0]
の場合も、同じプロセスを適用することができる。よって、数列、
[p
2,p
1,p
0,0,0...0,p
0,p
1]
が実数値の離散型フーリエ変換を有する。ここで、入力数列におけるゼロの数は、スペクトルの所望される長さをNとすれば、N−m−lである。
【0040】
同様に、多項式Q(z)に対応する係数、
[q
0,q
1,0,−q
1,−q
0]
について考察されたい。前述の中間点が第1のポジションにくるように循環シフトを適用すれば、
[0,−q
1,−q
0,q
0,q
1]
が得られ、これは、純虚数の離散型フーリエ変換を有する。次には、この数列にゼロパディング変換を行なうことができる。
[0,−q
1,−q
0,0,0...0,q
0,q
1]
【0041】
上記は、数列の長さが奇数である事例にのみ当てはまり、よって、m+lは偶数であることに留意されたい。m+lが奇数である事例に関しては、2つのオプションがある。即ち、周波数領域において循環シフトを実装することができ、あるいは、ハーフサンプルでDFTを適用することができる(下記参照)。
【0042】
本発明の好適な一実施形態によれば、調整デバイスは、フーリエ変換デバイスの出力の位相をシフトするための位相シフタとして構成される。
【0043】
本発明の好適な一実施形態によれば、位相シフタは、フーリエ変換デバイスの出力の位相を、k番目の周波数ビンにexp(i2πkh/N)を乗算することによってシフトするように構成される。ここで、Nは、サンプルの長さであり、かつh=(m+l)/2である。
【0044】
時間領域における循環シフトが周波数領域における位相回転と同一であることはよく知られている。具体的には、時間領域におけるh=(m+l)/2ステップのシフトは、k番目の周波数ビンとexp(−i2πkh/N)との乗算に一致する。ここで、Nはスペクトルの長さである。したがって、循環シフトの代わりに、周波数領域における乗算を適用すれば、全く同じ結果を得ることができる。ただし、この手法では、複雑性が僅かに増す。h=(m+l)/2は、m+lが偶数であるときにのみ整数であることに留意されたい。m+lが奇数のとき、循環シフトは、有理数のステップ分の遅延を必要とすることになり、これを直に実装することは困難である。代わりに、上述の相回転によって、周波数領域における対応するシフトを適用することができる。
【0045】
本発明の好適な実施形態によれば、コンバータは、多項式対P(z)とQ(z)又は多項式対P(z)とQ(z)から導出される1つ又は複数の多項式を、P(z)から導出されるスペクトルが厳密に実数であるように、かつQ(z)から導出されるスペクトルが厳密に虚数であるように、ハーフサンプルを用いて周波数領域へフーリエ変換するフーリエ変換デバイスを備えている。
【0046】
ある代替例は、ハーフサンプルを有するDFTを実装するものである。具体的には、従来のDFTを、
で定義できるのに対して、ハーフサンプルDFTは、次式のように定義することができる。
【0047】
この公式化に対しては、FFTのような高速実装を容易に考案することができる。
【0048】
この公式化の利点は、いまや対称点が通常のn=1ではなく、n=1/2に存在することにある。よって、このハーフサンプルDFTを用いれば、数列、
[2,1,0,0,1,2]
で、実数値のフーリエスペクトルが得られる。
【0049】
よって、m+lが奇数である場合、係数p
0,p
1,p
2,p
2,p
1,p
0を有する多項式P(z)に関して、ハーフサンプルDFT及びゼロパディングを用いれば、入力数列が、
[p
2,p
1,p
0,0,0...0,p
0,p
1,p
2]
のとき、実数値のスペクトルを求めることができる。
【0050】
同様に、多項式Q(z)の場合、数列、
[−q
2,−q
1,−q
0,0,0...0,q
0,q
1,q
2]
にハーフサンプルDFTを適用して、純虚数スペクトルを求めることができる。
【0051】
これらの方法により、mとlの如何なる組合せに対しても、多項式P(z)の実数値スペクトルと任意のQ(z)の純虚数スペクトルを求めることができる。実際には、P(z)とQ(z)のスペクトルが各々純実数と純虚数であることから、これらを単一の複素スペクトルに格納することができ、よって、これは、P(z)+Q(z)=2A(z)のスペクトルに一致する。係数2によるスケーリングでは、根の位置に変化がなく、よってこれを無視することができる。したがって、単一のFFTを用いてA(z)のスペクトルのみを評価すれば、P(z)とQ(z)のスペクトルを求めることができる。先に説明したように、A(z)の係数に循環シフトを適用するだけでよい。
【0052】
例えば、m=4でありl=0である場合、A(z)の係数は、
[a
0,a
1,a
2,a
3,a
4]
であり、これは、ゼロパディングによって、次のように任意の長さNにすることができる。
[a
0,a
1,a
2,a
3,a
4,0,0...0]
【0053】
次に、(m+l)/2=2ステップの循環シフトを適用すれば、次のようになる。
[a
2,a
3,a
4,0,0...0,a
0,a
1]
【0054】
この数列のDFTを採用すれば、スペクトルの実数部及び複素数部にP(z)とQ(z)のスペクトルが存在する。
【0055】
本発明の好適な一実施形態によれば、コンバータは、多項式P(z)とQ(z)から合成多項式C(P(z),Q(z))を確立するように構成された合成多項式フォーマを備えている。
【0056】
本発明の好適な一実施形態によれば、コンバータは、P(z)から導出される厳密な実数スペクトルとQ(z)からの厳密な虚数スペクトルが、例えば高速フーリエ変換(FFT)により合成多項式C(P(z),Q(z))を変換することによって、単一のフーリエ変換により確立されるように構成されている。
【0057】
多項式P(z)とQ(z)は、各々、z
−(m+l)/2における対称軸と対称でありかつ逆対称である。よって、単位円z=exp(iθ)上で評価されるz
−(m+l)/2P(z)とz
−(m+l)/2Q(z)のスペクトルは、各々、実数値及び複素数値ということになる。ゼロは、単位円上に存在することから、零交差を探索すれば、ゼロを発見することができる。さらに、単位円上の評価は、単純に高速フーリエ変換によって実装することができる。
【0058】
z
−(m+l)/2P(z)とz
−(m+l)/2Q(z)に対応するスペクトルは、各々実数及び複素数であることから、これらを単一の高速フーリエ変換によって実装することができる。具体的には、和z
−(m+l)/2(P(z)+Q(z))を求めれば、スペクトルの実数部と複素数部は、各々、z
−(m+l)/2P(z)とz
−(m+l)/2Q(z)に対応する。さらに、
z
−(m+l)/2(P(z)+Q(z))=2z
−(m+l)/2A(z) (4)
であることから、P(z)とQ(z)を明示的に決定することなく、2z
−(m+l)/2A(z)のFFTを直に取り込んでz
−(m+l)/2P(z)とz
−(m+l)/2Q(z)に対応するスペクトルを求めることができる。知りたいものはゼロの位置だけであるため、スカラ2による乗算を省略し、代わりにFFTによるz
−(m+l)/2A(z)を評価することができる。A(z)は、m+1個の非ゼロ係数しか持たないことから、FFT枝刈りを用いて複雑性を低減できることを観察されたい[11]。全ての根が発見されることを保証するためには、2つのゼロ毎にその間の少なくとも1つの周波数上でスペクトルが評価されるに足る長い長さNのFFTを用いなければならない。
【0059】
本発明の好適な一実施形態によれば、コンバータは、多項式P(z)とQ(z)のスペクトルの数値範囲を、多項式P(z)とQ(z)又は多項式P(z)とQ(z)から導出される1つ又は複数の多項式にフィルタ多項式B(z)を乗算することによって制限する制限デバイスを備えている。ここで、フィルタ多項式B(z)は、対称性であって、単位円上に根を持たない。
【0060】
音声コーデックは、限定リソースを有するモバイルデバイス上で実装されることが多く、よって、数値演算は、固定小数点表示によって実装されなければならない。したがって、実装されるアルゴリズムは、その範囲が限定される数値表現を用いて動作することが極めて重要である。しかしながら、一般的な音声スペクトル包絡線の場合、フーリエスペクトルの数値範囲があまりに大きく、よって、零交差位置の保持を保証するためには、FFTの32ビット実装が必要である。
【0061】
一方で、16ビットのFFTは、より低い複雑性で実装可能である場合が多く、よって、この16ビット範囲内に適合するようにスペクトル値の範囲を限定することが有益であると考えられる。方程式|P(e
iθ)|≦2|A(e
iθ)|と|Q(e
iθ)|≦2|A(e
iθ)|から、B(z)A(z)の数値範囲を限定することによってB(z)P(z)とB(z)Q(z)の数値範囲も限定されることが分かる。B(z)が単位円上にゼロを持たなければ、B(z)P(z)及びB(z)Q(z)は、単位円上にP(z)及びQ(z)と同じ零交差を有する。さらに、B(z)は、z
−(m+l+n)/2P(z)B(z)及びz
−(m+l+n)/2Q(z)B(z)がそれぞれ対称性と逆対称を保ち、かつそのスペクトルが純実数及び純虚数であるように、対称性でなければならない。したがって、z
(n+l)/2A(z)のスペクトルを評価する代わりに、z
(n+l+n)/2A(z)B(z)を評価することができる。ここで、B(z)は、単位円上に根を持たない次数nの対称多項式である。言い替えれば、先に述べたものと同じ手法を適用することができるが、まずは、A(z)をフィルタB(z)で乗算し、次に修正した位相シフトz
−(m+l+n)/2を適用する。
【0062】
残りのタスクは、A(z)B(z)の数値範囲が、B(z)は必ず対称性でありかつ単位円上に根を持たないという制約によって限定されるように、フィルタB(z)を設計することである。この要件を満たす最も単純なフィルタは、次数2の線形位相フィルタ、
B
1(z)=β
0+β
1z
−1+β
2z
−2 (5)
である。ここで、β
k∈Rはパラメータであり、かつ│β
2│>2│β
1│である。β
kを調整すれば、スペクトル傾斜を修正することができ、積A(z)B
1(z)の数値範囲を縮小することができる。計算上極めて効率的な手法は、βを、0周波数及びナイキストにおける振幅が等しくなるように、即ち│A(1)B
1(1)│=│A(−1)B
1(−1)│であるように選択することであり、例えば、次式を選ぶことができる。
β
0=A(1)−A(−1)、
β
1=2(A(1)+A(−1)) (6)
【0063】
この手法は、略平坦なスペクトルを提供する。
【0064】
A(z)が高域通過特性を有するのに対して、B
1(z)は低域通過であり(
図5も参照されたい)、積A(z)B
1(z)は、予期されるように、0周波数及びナイキスト周波数において同じ振幅を有し、かつこれは、多かれ少なかれ平坦である。B
1(z)は1自由度しか持たないので、積が完全に平坦になると予期できないことは明らかである。さらに、B
1(z)A(z)の最高ピークと最低の谷との比は、A(z)のそれより遙かに小さいものであり得ることを観察されたい。これは、B
1(z)A(z)の数値範囲がA(z)のそれより遙かに小さいという望ましい効果が達成されていることを意味する。
【0065】
第2の、僅かに複雑性の高い方法は、A(0.5z)のインパルス応答の自己相関r
kを計算するものである。ここでは、0.5を乗算することによってA(z)のゼロが原点方向へ移動し、それによってスペクトル振幅が約半分に縮小される。自己相関r
kにレビンソン−ダービンを適用すれば、最小位相である次数nのフィルタH(z)が得られる。次に、B
2(z)=z
−nH(z)H(z
−1)を定義して、略一定である│B
2(z)A(z)│を求めることができる。│B2(z)A(z)│の範囲が│B
1(z)A(z)│のそれより小さいことに留意され得る。B(z)を設計するためのさらなる手法は、FIR設計に関する古典的文献[18]において容易に見出すことができる。
【0066】
本発明の好適な一実施形態によれば、コンバータは、長くされた多項式P
e(z)とQ
e(z)又は長くされた多項式P
e(z)とQ
e(z)から導出される1つ又は複数の多項式のスペクトルの数値範囲を、長くされた多項式P
e(z)とQ
e(z)にフィルタ多項式B(z)を乗算することによって制限する制限デバイスを備えている。ここで、フィルタ多項式B(z)は、対称性であって、単位円上に根を持たない。B(z)は、先に説明した通りに求めることができる。
【0067】
さらなる態様では、この課題は、情報信号を符号化するための情報エンコーダを作動するための方法によって解決される。本方法は、
予測多項式A(z)の線形予測係数を求めるべく情報信号を分析するステップと、
予測多項式A(z)の線形予測係数を予測多項式A(z)のスペクトル周波数表現の周波数値f
1...f
nへ変換するステップであって、
P(z)=A(z)+z
−m−lA(z
−1)、及び、
Q(z)=A(z)−z
−m−lA(z
−1)
mは予測多項式A(z)の次数、lはゼロ以上、
のように定義される多項式対P(z)及びQ(z)を分析することによって前記周波数値f
1...f
nを決定し、、P(z)から導出される厳密な実数スペクトル及びQ(z)からの厳密な虚数スペクトルを確立しかつP(z)から導出される厳密な実数スペクトル及びQ(z)から導出される厳密な虚数スペクトルのゼロを識別することによって、前記周波数値f
1...f
nを得るステップと、
前記周波数値f
1...f
nから量子化された周波数値f
q1...f
qnを得るステップと、
前記量子化された周波数値f
q1...f
qnを含むビットストリームを生成するステップと、を含む。
【0068】
さらに、本プログラムは、プロセッサ上で実行されることにより本発明による方法を実行するコンピュータプログラムによっても注目される。