【文献】
Jurgen Schnitzler,WIDE BAND SPEECH CODING USING FORWARD/BACKWARD ADAPTIVE PREDICTION WITH MIXED TIME/FREQUENCY DOMAIN EXCITATION,IEEE,1999年
【文献】
Jar-Ferr YANG,Transform-Based CELP Vocoders with Low-Delay Low-Complexity and Variable-Rate Features,IEICE,2002年 6月
(58)【調査した分野】(Int.Cl.,DB名)
前記入力音響信号は音声信号であり、前記分類器が、前記入力音声信号の連続的な断片の各々を、活動状態の音声断片または非活動状態の音声断片として分類する、請求項4に記載のコードブック装置。
(a)前記入力音響信号の特性、および(b)前記コーダを使用するコーデックのビットレートのうちの少なくとも1つの関数としての、それぞれ前記第2および第3のコードブックステージでの、前記時間領域CELPコードブックおよび前記変換領域コードブックの順序の選択器をさらに備える、請求項7に記載のコーダ。
前記選択器が、前記入力音響信号の前記特性、および前記コーダを使用する前記コーデックのビットレートの両方に応答して、前記第3のコードブックステージを迂回する、請求項8に記載のコーダ。
前記変換領域コードブックが、変換領域コードブック目標信号を前記変換計算器に供給する前に、前記変換領域コードブック目標信号を処理するプリエンファシスフィルタを備える、請求項12または13に記載のコーダ。
前記変換領域コードブックのステージが、前記量子化器からの量子化された変換領域係数の逆変換の計算器、前記逆変換された量子化された変換領域係数を処理して時間領域励振信号を生成するためのデエンファシスフィルタ、前記時間領域励振信号を処理してフィルタリングされた変換領域コードブック励振信号を生成するための加重合成フィルタ、および、前記フィルタリングされた変換領域コードブック励振信号をスケーリングして変換領域コードブック励振寄与を生成するための、前記変換領域コードブックゲインを使用する増幅器をさらに備える、請求項12から14のいずれか一項に記載のコーダ。
前記変換領域コードブックのステージが、前記変換計算器からの変換領域係数、および前記量子化器からの量子化された変換領域係数を使用する前記変換領域コードブックゲインの計算器を備える、請求項12から20のいずれか一項に記載のコーダ。
【発明を実施するための形態】
【0012】
図1は、ACELPコーダ100の主な構成要素を示す。
【0013】
図1ではy
1(n)は、フィルタリングされた適応コードブック励振信号(すなわち、適応コードブックベクトルv(n)に対する加重合成フィルタの零状態応答)であり、y
2(n)は同様に、フィルタリングされた新規コードブック励振信号である。信号x
1(n)およびx
2(n)はそれぞれ、適応および新規のコードブック検索用の目標信号である。H(z)と示される加重合成フィルタは、LP合成フィルタ1/A(z)および知覚加重フィルタW(z)の縦接続であり、すなわちH(z)=[1/A(z)]・W(z)である。
【0014】
LPフィルタA(z)は、例えばz変換で伝達関数
【0016】
を提示することが可能であり、ここでa
iは線形予測係数(LP係数)を表し、a
0=1であり、Mは線形予測係数の数(LP分析の次数)である。LP係数a
iは、ACELPコーダ100のLP分析器(図示せず)において決定される。LP分析器は、例えば上述の論文[3GPP TS26.190“Adaptive Multi-Rate - Wideban (AMR-WB speech codec Transcoding functions”]において説明されており、したがって本開示ではさらには説明しない。
【0017】
知覚加重フィルタの例は、W(z)=A(z/γ
1)/A(z/γ
2)となる場合があり、ここでγ
1およびγ
2は、0から1の間の値を有し、知覚加重フィルタW(z)の周波数応答を決定する定数である。
【0018】
<適応コードブック検索>
図1のACELPコーダ100では適応コードブック検索が、適応コードブックステージ120において、各々のサブフレームの間に、元の音声と合成された音声との間の平均二乗加重誤差を最小化することにより遂行される。このことは、次式の項を最大化することにより実現される。
【0020】
ここでx
1(n)は上記で述べた目標信号であり、y
1(n)は上記で述べたフィルタリングされた適応コードブック励振信号であり、Nはサブフレームの長さである。
【0021】
目標信号x
1(n)は、入力音響信号s(n)、例えば音声を知覚加重フィルタW(z)101によって最初に処理して、知覚加重された入力音響信号s
w(n)を得ることにより得られる。次いで減算器102が、知覚加重された入力音響信号s
w(n)から加重合成フィルタH(z)103の零入力応答を減算して、適応コードブック検索用の目標信号x
1(n)を得る。知覚加重フィルタW(z)101、加重合成フィルタH(z)=W(z)/A(z)103、および減算器102を、適応コードブック検索用の目標信号x
1(n)の計算器と一括して定義することが可能である。
【0022】
適応コードブックインデックスT(ピッチ遅延)が、適応コードブック検索の間に索出される。次いで、適応コードブック検索の間に索出された適応コードブックインデックスTに対する適応コードブックゲインg
p(ピッチゲイン)が、次式により与えられる。
【0024】
簡単のためにコードブックインデックスTは、フィルタリングされた適応コードブック励振信号の表記から省略されている。したがって信号y
1(n)は、信号y
1(T)(n)と同等である。
【0025】
適応コードブックインデックスTおよび適応コードブックゲインg
pは、量子化され、適応コードブックパラメータとしてデコーダに送信される。適応コードブック検索は、上述の論文[3GPP TS26.190「Adaptive Multi-Rate - Wideband(AMR-WB)speech codec; Transcoding functions」]において説明されており、したがって本開示ではさらには説明しない。
【0026】
<新規コードブック検索>
新規コードブック検索が、新規コードブックステージ130において、計算器111において、適応コードブック寄与を除去した後で平均二乗加重誤差を最小化することにより、すなわち次式のように遂行される。
【0028】
ここで新規コードブック検索用の目標信号x
2(n)は、減算器104によって、適応コードブック目標信号x
1(n)から適応コードブック励振寄与g
p・y
1(n)を減算することにより算出される。
x
2(n)=x
1(n)-g
p・y
1(n) (4)
【0029】
適応コードブック励振寄与は、適応コードブックステージ120において、加重合成フィルタH(z)105によって適応コードブック121(時間領域CELPコードブック)からの適応コードブックインデックスTでの適応コードブックベクトルv(n)を処理して、フィルタリングされた適応コードブック励振信号y
1(n)(すなわち、適応コードブックベクトルv(n)に対する加重合成フィルタ105の零状態応答)を得ることにより、および、増幅器106を使用して適応コードブックゲインg
pにより、フィルタリングされた適応コードブック励振信号y
1(n)を増幅することにより計算される。
【0030】
式(3)の新規コードブック励振寄与g
c・y
2(k)(n)は、新規コードブックステージ130において、新規コードブックインデックスkを新規コードブック107に適用して新規コードブックベクトルc(n)を生成することにより計算される。次いで新規コードブックベクトルc(n)は、加重合成フィルタH(z)108によって処理されて、フィルタリングされた新規コードブック励振信号y
2(k)(n)を生成する。次いでフィルタリングされた新規コードブック励振信号y
2(k)(n)は、増幅器109によって新規コードブックゲインg
cを用いて増幅されて、式(3)の新規コードブック励振寄与g
c・y
2(k)(n)を生成する。最後に減算器110が、項x
2(n)-g
c・y
2(k)(n)を計算する。次いで計算器111が、前文で述べた項を二乗し、この項を、0からN-1の範囲でのnの異なる値での他の対応する項x
2(n)-g
c・y
2(k)(n)と合算する。式(3)で指示するように計算器111は、これらの演算を異なる新規コードブックインデックスkに対して反復して、所与の新規コードブックインデックスkでの平均二乗加重誤差の最小値Eを、したがって式(3)の完全な計算結果を索出する。平均二乗加重誤差の最小値Eに対応する新規コードブックインデックスkが選定される。
【0031】
ACELPコードブックでは新規コードブックベクトルc(n)は、符号s
jおよび位置m
jを伴うM個のパルスを包含し、したがって次式により与えられる。
【0033】
ここでs
j=±1であり、n=0に対してδ(n)=1であり、n≠0に対してδ(n)=0である。
【0034】
最後に式(3)からのEを最小化することによって、次式の最適新規コードブックゲインが結果として得られる。
【0036】
平均二乗加重誤差の最小値Eに対応する新規コードブックインデックスkおよび対応する新規コードブックゲインg
cは、量子化され、新規コードブックパラメータとしてデコーダに送信される。新規コードブック検索は、上述の論文[3GPP TS26.190“Adaptive Multi-Rate - Wideband(AMR-WB)speech codec;Transcoding functions”]において説明されており、したがって本明細書ではさらには説明しない。
【0037】
図2は、ACELPデコーダ200の主な構成要素および動作の原理を示す概略ブロック図である。
【0038】
図2を参照するとACELPデコーダ200は、適応コードブックインデックスT(ピッチ遅延)および適応コードブックゲインg
p(ピッチゲイン)を含む、復号化された適応コードブックパラメータを受信する。適応コードブックステージ220において、適応コードブックインデックスTが適応コードブック201に適用されて適応コードブックベクトルv(n)が生成され、生成された適応コードブックベクトルv(n)が増幅器202で適応コードブックゲインg
pを用いて増幅されて、適応コードブック励振寄与203が生成される。
【0039】
さらに
図2を参照するとACELPデコーダ200は、新規コードブックインデックスkおよび新規コードブックゲインg
cを含む、復号化された新規コードブックパラメータをさらに受信する。新規コードブックステージ230において、復号化された新規コードブックインデックスkは、新規コードブック204に適用されて対応する新規コードブックベクトルを出力する。次いで新規コードブック204からのベクトルが、増幅器205で新規コードブックゲインg
cを用いて増幅されて、新規コードブック励振寄与206を生成する。
【0040】
次いで全励振が、適応コードブック励振寄与203および新規コードブック励振寄与206の加算器207での合算によって形成される。次いで全励振が、LP合成フィルタ1/A(z)208によって処理されて、元の音響信号s(n)、例えば音声の合成物s'(n)を生成する。
【0041】
本開示は、別の追加的なコードブックステージが励振を形成するために使用されるようにCELPモデルを修正することを教示する。そのような別のコードブックは、それが変換領域係数を符号化するので変換領域コードブックステージとさらに呼ばれる。CELPモデルでのいくつかのコードブックおよびそれらの順序の選定を、以下の説明において説明する。修正されたCELPモデルの一般的な構造体を、
図6でさらに示す。
【0042】
<修正されたCELPモデルの第1の構造体>
図4は、この非限定的な例ではACELPデコーダを使用する、デコーダに適用される修正されたCELPモデルの第1の構造体を示す概略ブロック図である。修正されたCELPモデルの第1の構造体は、適応コードブックステージ220、変換領域コードブックステージ420、および新規コードブックステージ230を含む第1のコードブック装置を備える。
図4に例示するように、全励振e(n)408は以下の寄与、すなわち、
- 適応コードブックステージ220において適応コードブックベクトルv(n)が、適応コードブック201により適応コードブックインデックスTに応答して生成され、適応コードブックゲインg
pを使用する増幅器202によりスケーリングされて、適応コードブック励振寄与203を生成する、
- 変換領域コードブックステージ420において変換領域ベクトルq(n)が生成され、変換領域コードブックゲインg
qを使用する増幅器407によりスケーリングされて、変換領域コードブック励振寄与409を生成する、および、
- 新規コードブックステージ230において新規コードブックベクトルc(n)が、新規コードブック204により新規コードブックインデックスkに応答して生成され、新規コードブックゲインg
cを使用する増幅器205によりスケーリングされて、新規コードブック励振寄与206を生成する、
を含む。このことは、以下の関係式により例示される。
e(n)=g
p・v(n)+g
q・q(n)+g
c・c(n)、n=0、…、N-1 (7)
【0043】
修正されたCELPモデルのこの第1の構造体は、1つのステージ420での変換領域コードブック402を、追随するステージ230での時間領域ACELPコードブックまたは新規コードブック204により追随される状態で組み合わせる。変換領域コードブック402は、例えば音響信号の周波数表現としての離散コサイン変換(DCT)、およびDCTの変換領域係数を逆量子化するための代数ベクトル量子化器(AVQ)デコーダを使用する場合がある。DCTおよびAVQの使用は単なる例であり、他の変換を実装することが可能であり、変換領域係数を量子化するための他の方法を使用することもまた可能であることに留意されたい。
【0044】
<変換領域コードブック用の目標信号の算出>
コーダ(
図3)では、第1のコードブック装置の変換領域コードブックステージ320の変換領域コードブックは以下のように動作する。(新規コードブックのサブフレームと位置合わせされた)所与のサブフレームにおいて、変換領域コードブック用の目標信号q
in(n)300、すなわちスケーリングされた適応コードブックベクトルg
p・v(n)を除去した後の励振残差r(n)が次式のように算出される。
q
in(n)=r(n)-g
p・v(n)、n=0、…、N-1 (8)
【0045】
ここでr(n)は、零状態による加重合成フィルタH(z)の逆関数によって目標信号x
1(n)315をフィルタリングすることにより得られるいわゆる残差領域での目標ベクトルである。項v(n)313は適応コードブックベクトルを表し、項g
p314は適応コードブックゲインを表す。
【0046】
<プリエンファシスフィルタリング>
変換領域コードブックでは変換領域コードブック用の目標信号q
in(n)300は、フィルタF(z)301を用いてプリエンファシスされる。プリエンファシスフィルタの例はF(z)=1/(1-α・z
-1)であり、差分方程式は次式により与えられる。
q
in,d(n)=q
in(n)+α・q
in,d(n-1) (9)
【0047】
ここでq
in(n)300は、プリエンファシスフィルタF(z)301に入力される目標信号であり、q
in,d(n)302は、変換領域コードブック用のプリエンファシスされた目標信号であり、係数αがプリエンファシスのレベルを制御する。この非限定的な例では、αの値が0から1の間に設定される場合、プリエンファシスフィルタは、より低い周波数を強調するために変換領域コードブック用の目標信号にスペクトル傾斜を付与する。
【0048】
<変換計算>
変換領域コードブックは、変換領域DCT係数Q
in,d(k)304のブロックを生成するために、例えば矩形の非重複の窓を使用して、プリエンファシスされた目標信号q
in,d(n)302に、例えばDCTを適用するための変換計算器303をさらに備える。DCT-IIを使用することが可能であり、DCT-IIは次式のように規定される。
【0050】
ここでk=0、…、N-1であり、Nはサブフレームの長さである。
【0051】
<量子化>
ビットレートに応じて変換領域コードブックは、例えばAVQエンコーダ305を使用して、変換領域DCT係数Q
in,d(k)304のすべてのブロック、または、通常はより低い周波数に対応する一部のブロックのみを量子化して、量子化された変換領域DCT係数Q
d(k)306を生成する。他の量子化されない変換領域DCT係数Q
in,d(k)304は、0に設定される(量子化されない)。AVQの実装形態の例は、米国特許第7,106,228号において見出すことが可能であり、この特許の内容は参照により本明細書に組み込まれている。AVQエンコーダ305からの量子化かつ符号化された変換領域係数306のインデックスが、変換領域コードブックパラメータとしてデコーダに送信される。
【0052】
あらゆるサブフレームでは、AVQに割り当てられるビット配分は、固定ビット配分および浮動的な数のビットの和として構成される。AVQエンコーダ305は、変換領域DCT係数Q
in,d(k)304を量子化するAVQ用の複数のAVQサブ量子化器を備える。エンコーダ305の使用されるAVQサブ量子化器によって異なるが、AVQは通常、割り当てられたビットのすべてを消費せず、各々のサブフレームで利用可能な可変の数のビットを残す。これらのビットは、追随するサブフレームで用いられる浮動的なビットである。その浮動的な数のビットは、最初のサブフレームでは0に等しく、所与のフレームでの最後のサブフレームでAVQから結果として生じる浮動的なビットは未使用のままである。本段落の前の説明は、固定数のビット毎フレームを用いる固定ビットレート符号化を支持するものである。可変ビットレート符号化構成では異なる数のビットを、ある特定のひずみ測度によって、またはAVQエンコーダ305のゲインに関係して各々のサブフレームで使用することが可能である。ビットの数を、ある特定の平均ビットレートを達成するように制御することが可能である。
【0053】
<逆変換計算>
時間領域での変換領域コードブック励振寄与を得るために、変換領域コードブックステージ320では最初に、逆DCT(iDCT)を使用する逆変換計算器307で、量子化された変換領域DCT係数Q
d(k)306を逆変換して、逆変換されたエンファシスされた量子化された励振(逆変換された音響信号)q
d(n)308を生成する。逆DCT-II(スケールファクタ2/Nを除けばDCT-IIIに対応する)が使用され、次式のように規定される。
【0055】
ここでn=0、…、N-1であり、Nはサブフレームの長さである。
【0056】
<デエンファシスフィルタリング>
次いでデエンファシスフィルタ1/F(z)309が、逆変換されたエンファシスされた量子化された励振q
d(n)308に適用されて、変換領域コードブックステージからの時間領域励振q(n)310を得る。デエンファシスフィルタ309は、プリエンファシスフィルタF(z)301の逆伝達関数(1/F(z))を有する。上記の式(9)で与えられるプリエンファシスフィルタF(z)に関する非限定的な例では、デエンファシスフィルタ1/F(z)の差分方程式は次式により与えられることになる。
q(n)=q
d(n)-α・q
d(n-1) (12)
【0057】
ここでデエンファシスフィルタ309の場合ではq
d(n)308は、逆変換されたエンファシスされた量子化された励振q
d(n)308であり、q(n)310は、変換領域コードブックステージからの時間領域励振信号q(n)である。
【0058】
<変換領域コードブックゲインの計算および量子化>
変換領域コードブックステージからの時間領域励振信号q(n)310が算出されると、計算器(図示せず)が次式のように変換領域コードブックゲインを算出する。
【0060】
ここでQ
in,d(k)はAVQ入力の変換領域DCT係数304であり、Q
d(k)はAVQ出力の(量子化された)変換領域DCT係数304であり、kは変換領域係数インデックスであってk=0、…、N-1であり、Nは変換領域DCT係数の数である。
【0061】
さらに変換領域コードブックステージ320において、式(13)からの変換領域コードブックゲインが以下のように量子化される。最初にゲインが次式のように、予測される新規エネルギーE
predにより正規化される。
【0063】
予測される新規エネルギーE
predは、適応コードブック寄与の推定値を減算することを伴う、所与のフレームの範囲内のすべてのサブフレームにわたる平均残差信号エネルギーとして得られる。すなわち次式となる。
【0065】
ここでPはサブフレームの数であり、C
norm(0)およびC
norm(1)はそれぞれ、開ループピッチ分析の前半および後半のフレームの正規化相関であり、r(n)は残差領域での目標ベクトルである。
【0066】
次いで正規化されたゲインg
q,normは、対数領域でスカラ量子化器により量子化され、最終的には非正規化された結果、量子化された変換領域コードブックゲインとなる。例示的な例では6ビットのスカラ量子化器が使用され、そのことによって量子化レベルは対数領域で均一に分散される。量子化された変換領域コードブックゲインのインデックスは、変換領域コードブックパラメータとしてデコーダに送信される。
【0067】
<適応コードブックゲインの精密化>
修正されたCELPモデルの第1の構造体が使用されるとき、変換領域コードブックステージからの時間領域励振信号q(n)310を使用して、次式のように適応コードブック検索用の元の目標信号x
1(n)315を精密化することが可能である。
x
1,updt(n)=x
1(n)-g
q・y
3(n) (15)
【0068】
そして適応コードブックステージでは、x
1(n)の代わりに使用されるx
1,updt(n)を用いて式(2)を使用して適応コードブックゲインを精密化する。信号y
3(n)は、加重合成フィルタH(z)311によって変換領域コードブックステージからの時間領域励振信号q(n)310をフィルタリングすることにより得られるフィルタリングされた変換領域コードブック励振信号(すなわち、変換領域コードブック励振寄与q(n)に対する加重合成フィルタH(z)311の零状態応答)である。
【0069】
<新規コードブック検索用の目標ベクトルの算出>
変換領域コードブックステージ320が使用されるとき、新規コードブック検索用の目標信号x
2(n)316の算出が、x
1(n)=x
1,updt(n)であり、g
p=g
p,updtである式(4)、すなわち、
x
2(n)=x
1,updt(n)-g
p,updt・y
1(n)
=x
1(n)-g
q・y
3(n)-g
p,updt・y
1(n) (16)
を使用して遂行される。
【0070】
図3を参照すると、増幅器312が演算g
q・y
3(n)を遂行して変換領域コードブック励振寄与を計算し、減算器104および317が演算x
1(n)-g
p,updt・y
1(n)-g
q・y
3(n)を遂行する。
【0071】
同様に残差領域での目標信号r(n)が、次式のように新規コードブック検索用に更新される。
r
updt(n)=r(n)-g
q・q(n)-g
p,updt・v(n) (17)
【0072】
次いで新規コードブック検索が、ACELPモデルでのように適用される。
【0073】
<デコーダでの変換領域コードブック>
図4に戻って参照するとデコーダでは、変換領域コードブックステージ420からの励振寄与409が、量子化された変換領域DCT係数Q
d(k)および変換領域コードブックゲインg
qを含む受信された変換領域コードブックパラメータから得られる。
【0074】
変換領域コードブックは最初に、例えばAVQデコーダ404を使用して、受信された復号化された(量子化された)量子化された変換領域DCT係数Q
d(k)を逆量子化して、逆量子化された変換領域DCT係数を生成する。逆変換、例えば逆DCT(iDCT)が、逆変換計算器405によってこれらの逆量子化された変換領域DCT係数に適用される。デコーダでは変換領域コードブックは、逆DCT変換の後にデエンファシスフィルタ1/F(z)406を適用して、時間領域励振信号q(n)を形成する。次いで変換領域コードブックステージ420は、変換領域コードブックゲインg
qを使用する増幅器407によって時間領域励振信号q(n)をスケーリングして、変換領域コードブック励振寄与409を形成する。
【0075】
次いで全励振408が、適応コードブック励振寄与203、変換領域コードブック励振寄与409、および新規コードブック励振寄与206の加算器410での合算によって形成される。次いで全励振408が、LP合成フィルタ1/A(z)208によって処理されて、元の音響信号、例えば音声の合成物s'(n)を生成する。
【0076】
<変換領域コードブックビット配分>
通常はビットレートが高くなるほど、より多くのビットが、新規コードブックのサイズを異なるビットレートにわたって同じにする変換領域コードブックにより使用される。修正されたCELPモデルの上記で開示した第1の構造体は、音声信号を実際的に意識されないような形で符号化するために、および一般的なオーディオ信号も効率的に符号化するために、高いビットレート(およそ48kビット/s以上)で使用することが可能である。
【0077】
そのような高いビットレートでは、適応および新規のコードブックゲインのベクトル量子化器を、2つのスカラ量子化器により置換することが可能である。より具体的には、線形スカラ量子化器が適応コードブックゲインg
pを量子化するために使用され、対数スカラ量子化器が新規コードブックゲインg
cを量子化するために使用される。
【0078】
<修正されたCELPモデルの第2の構造体>
新規コードブックステージにより追随される変換領域コードブックステージを使用する、修正されたCELPモデルの上記で説明した第1の構造体(
図3)を、入力音響信号の特性に応じてさらに適応的に変更することが可能である。例えば非活動状態の(inactive)音声断片を符号化する際は、変換領域コードブックステージおよびACELP新規コードブックステージの順序を変更することが有利である場合がある。したがって修正されたCELPモデルの第2の構造体は、第1のコードブックステージでの時間領域適応コードブックを、第3のコードブックステージでの変換領域コードブックにより追随される、第2のコードブックステージでの時間領域ACELP新規コードブックにより追随される状態で組み合わせる第2のコードブック装置を使用する。第2のステージのACELP新規コードブックは通常、非常に小さなコードブックを備える場合があり、回避される場合さえある。
【0079】
変換領域コードブックステージを新規コードブックステージに対する事前量子化器と理解することが可能である、修正されたCELPモデルの第1の構造体とは反対に、修正されたCELPモデルの第2の構造体の第2のコードブック装置での変換領域コードブックステージは、独立型の第3のステージの量子化器(または、新規コードブックステージが使用されないならば第2のステージの量子化器)として使用される。しかしながら変換領域コードブックステージは、すべての周波数範囲での適応および新規のコードブック励振寄与の減算後に励振残差を白色化する第1のコードブック装置での変換領域コードブックステージに反して、知覚的により重要なより低い周波数を符号化する際に通常はより大きな加重値を当てる。このことは、入力音響信号の雑音状の(非活動状態の)断片を符号化する際に望ましい場合がある。
【0080】
<変換領域コードブック用の目標信号の算出>
修正されたCELPモデルの第2の構造体のブロック図である
図5を参照すると、変換領域コードブックステージ520は以下のように動作する。所与のサブフレームにおいて、変換領域コードブック検索用の目標信号x
3(n)518が、適応コードブック検索目標信号x
1(n)から、適応コードブックゲインg
pを使用する増幅器106によりスケーリングされるフィルタリングされた適応コードブック励振信号y
1(n)を減算して新規コードブック検索目標信号x
2(n)を形成する減算器104、および、(新規コードブックが使用されるならば)新規コードブック検索目標信号x
2(n)から、新規コードブックゲインg
cを使用する増幅器109によりスケーリングされるフィルタリングされた新規コードブック励振信号y
2(n)を減算する減算器525を使用する計算器により、次式のように算出される。
x
3(n)=x
1(n)-g
p・y
1(n)-g
c・y
2(n), n=0、…、N-1 (18)
【0081】
計算器はさらに、零状態による加重合成フィルタH(z)の逆関数によって変換領域コードブック検索用の目標信号x
3(n)518をフィルタリングし、結果として変換領域コードブック検索用の残差領域目標信号u
in(n)500を得る。
【0082】
<プリエンファシスフィルタリング>
信号u
in(n)500は、変換領域コードブック検索に対する入力信号として使用される。この非限定的な例では変換領域コードブックでは信号u
in(n)500は、最初にフィルタF(z)301を用いてプリエンファシスされて、プリエンファシスされた信号u
in,d(n)502を生成する。そのようなプリエンファシスフィルタの例が、式(9)により与えられる。式(9)のフィルタは、より低い周波数を強調するために信号u
in(n)500にスペクトル傾斜を付与する。
【0083】
<変換計算>
変換領域コードブックは、変換領域DCT係数U
in,d(k)504のブロックを生成するために、例えば矩形の非重複の窓を使用して、プリエンファシスされた信号u
in,d(n)502に、変換計算器303により適用される例えばDCTをさらに備える。DCTの例は式(10)で与えられる。
【0084】
<量子化>
通常は変換領域DCT係数U
in,d(k)504のすべてのブロックが、例えばAVQエンコーダ305を使用して量子化されて、量子化された変換領域DCT係数U
d(k)506を生成する。しかしながら量子化された変換領域DCT係数U
d(k)506は、前述の説明で解説したように低いビットレートではゼロに設定される場合がある。第1のコードブック装置の変換領域コードブックに反して、AVQエンコーダ305を、より低い周波数に対応するブロックを符号化するようにAVQに強制する代わりに、すべての帯域幅にわたって最も高いエネルギーを伴うブロックを符号化するために使用することが可能である。
【0085】
第1のコードブック装置と同様に、あらゆるサブフレームでのAVQに割り当てられるビット配分は、固定ビット配分および浮動的な数のビットの和として構成される。AVQエンコーダ305からの符号化された量子化された変換領域DCT係数U
d(k)506のインデックスが、変換領域コードブックパラメータとしてデコーダに送信される。
【0086】
別の非限定的な例では量子化を、CELPコードブック検索でのように知覚加重領域での平均二乗誤差を最小化することにより遂行することが可能である。上記で説明したプリエンファシスフィルタF(z)301を、知覚加重の簡単な形式として理解することが可能である。より手の込んだ知覚加重を、変換および量子化の前に信号u
in(n)500をフィルタリングすることにより遂行することが可能である。例えばプリエンファシスフィルタF(z)301を加重合成フィルタW(z)/A(z)により置換することは、目標信号x
3(n)を変換かつ量子化することと同等である。知覚加重を、例えば量子化の前に周波数マスクを変換領域DCT係数U
in,d(k)504に乗算することにより、変換領域で適用することがさらに可能である。このことによって、プリエンファシスおよびデエンファシスのフィルタリングの必要性がなくなることになる。周波数マスクを、加重合成フィルタW(z)/A(z)から導出することが可能である。
【0087】
<逆変換計算>
量子化された変換領域DCT係数U
d(k)506は、例えば逆DCT(iDCT)を使用する逆変換計算器307で逆変換されて、逆変換されたエンファシスされた量子化された励振u
d(n)508を生成する。逆変換の例は式(11)で与えられる。
【0088】
<デエンファシスフィルタリング>
逆変換されたエンファシスされた量子化された励振u
d(n)508は、デエンファシスフィルタ1/F(z)309によって処理されて、変換領域コードブックステージからの時間領域励振信号u(n)510を得る。デエンファシスフィルタ309は、プリエンファシスフィルタF(z)301の逆伝達関数を有し、上記で説明したプリエンファシスフィルタF(z)に関する非限定的な例では、デエンファシスフィルタ309の伝達関数は式(12)により与えられる。
【0089】
信号y
3(n)516は、加重合成フィルタH(z)311によって時間領域励振信号u(n)510をフィルタリングすることにより得られる変換領域コードブック励振信号(すなわち、時間領域励振信号u(n)510に対する加重合成フィルタH(z)311の零状態応答)である。
【0090】
最後に変換領域コードブック励振信号y
3(n)516は、変換領域コードブックゲインg
qを使用する増幅器312によりスケーリングされる。
【0091】
<変換領域コードブックゲインの計算および量子化>
変換領域コードブック励振寄与u(n)510が算出されると、変換領域コードブックゲインg
qが以下の関係式を使用して得られる。
【0093】
ここでU
in,d(k)504はAVQ入力の変換領域DCT係数であり、U
d(k)506はAVQ出力の量子化された変換領域DCT係数である。
【0094】
変換領域コードブックゲインg
qは、新規コードブックゲインg
cによる正規化を使用して量子化される。一例では6ビットのスカラ量子化器が使用され、そのことによって量子化レベルは線形領域で均一に分散される。量子化された変換領域コードブックゲインg
qのインデックスは、変換領域コードブックパラメータとしてデコーダに送信される。
【0095】
<適応コードブック寄与の制限>
非活動状態の音響信号断片、例えば非活動状態の音声断片を符号化するとき、適応コードブック励振寄与は、合成での強い周期性を回避するために制限される。実際、適応コードブックゲインg
pは通常0≦g
p≦1.2により制約される。非活動状態の音響信号断片を符号化するとき、0≦g
p≦0.65により適応コードブックゲインg
pを制約するために適応コードブック検索ではリミッタが設けられる。
【0096】
<デコーダでの変換領域コードブック>
デコーダでは、変換領域コードブックからの励振寄与が、最初に(例えばAVQデコーダ(図示せず)を使用して)復号化された(量子化された)変換領域(DCT)係数を逆量子化し、逆変換(例えば逆DCT(iDCT))をこれらの逆量子化された変換領域(DCT)係数に適用することにより得られる。最後にデエンファシスフィルタ1/F(z)が逆DCT変換の後に適用されて、変換領域コードブックゲインg
qによりスケーリングされる時間領域励振信号u(n)を形成する(
図4の変換領域コードブック402を参照)。
【0097】
デコーダでは、個別のコードブック寄与は他のコードブック寄与によって変わらない、または他のコードブック寄与に影響を与えないので、復号化処理の間のコードブックおよび対応するコードブックステージの順序は重要ではない。したがって修正されたCELPモデルの第2の構造体内の第2のコードブック装置は、q(n)=u(n)である
図4の修正されたCELPモデルの第1の構造体の第1のコードブック装置と同一である場合があり、全励振は式(7)により与えられる。
【0098】
最後に変換領域コードブックは、
図5に例示するように、減算器530によって、(a)加重合成フィルタH(z)311によって処理され、変換領域コードブックゲインg
qによりスケーリングされた、変換領域コードブックステージからの時間領域励振信号u(n)を、(b)変換領域コードブック検索目標信号x
3(n)518から減算すること、および、計算器511で誤差基準min{|error(n)|
2}を最小化することにより検索される。
【0099】
<一般的な修正されたCELPモデル>
複数の可能な構造体を用いる一般的な修正されたCELPコーダを
図6に示す。
【0100】
図6のCELPコーダは、入力音響信号の特性の関数としての、それぞれ第2および第3のコードブックステージでの、時間領域CELPコードブックおよび変換領域コードブックの順序の選択器を備える。選択器はさらに、修正されたCELPモデルを使用するコーデックのビットレートに応答して、第3のステージでのコードブックを選択しない、より具体的には第3のステージを迂回する場合がある。前文の場合では、第2のコードブックステージに追随する第3のコードブックステージはない。
【0101】
図6に例示するように選択器は、音声などの入力音響信号に応答して、連続的なフレームの各々を、例えば活動状態の音声フレーム(または断片)または非活動状態の音声フレーム(または断片)と分類する分類器601を備え得る。分類器601の出力は第1のスイッチ602を駆動するために使用され、第1のスイッチ602は、適応コードブックステージの後の第2のコードブックステージが、ACELP符号化604であるか、それとも変換領域(TD)符号化605であるかを決定する。さらに分類器601の出力によりやはり駆動される第2のスイッチ603が、第2のACELPステージ604がTDステージにより追随されるかどうか、または、第2のTDステージ605がACELPステージ607により追随されるかどうかを決定する。さらに分類器601は、さらなるステージが第2のACELPステージ604または第2のTDステージ605に追随しないように、活動状態または非活動状態の音声フレーム、および修正されたCELPモデルを使用するコーデックのビットレートに関係して第2のスイッチ603を動作させる場合がある。
【0102】
例示的な例での、修正されたCELPモデルでのコードブック(ステージ)の数およびそれらの順序をテーブルI(表1)に示す。テーブルIにおいて理解可能であるように、分類器601による判断は、信号タイプ(活動状態または非活動状態の音声フレーム)に、およびコーデックのビットレートによって異なる。
【0104】
実装形態の例はACELPモデルを参照して本明細書において上記で与えているが、ACELP以外のCELPモデルを使用することが可能であることを心に留めておくべきである。DCTおよびAVQの使用は単なる例であり、他の変換を実装することが可能であり、変換領域係数を量子化するための他の方法を使用することもまた可能であることにさらに留意されたい。