(57)【要約】  本発明の一態様は、複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調する方法であって、1ブロックの最大エネルギが計算され、最大エネルギを有するブロックの位置インデックスが判定され、最大エネルギを有するブロックの位置インデックスより小さい位置インデックスを有するブロックごとに係数が計算され、ブロックごとに、利得が、係数から判定され、ブロックの変換係数に適用される、方法に関する。
2007525707.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調する方法であって、
位置インデックスを有する1ブロックの最大エネルギを計算することと、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとに係数を計算することであって、係数の前記計算が、ブロックごとに、
前記ブロックのエネルギを計算することと、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算することと
を含む、計算することと、
ブロックごとに、前記ブロックの前記変換係数に適用される利得を前記係数から判定することと
を含む方法。
【請求項２】
前記変換係数が、高速フーリエ変換係数である、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項３】
前記サウンド信号の前記スペクトルの下側周波数の知覚される歪みを最小にするために前記スペクトルに適応低周波数強調を適用することを含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項４】
前記変換係数を所定の個数の連続する変換係数のブロックにグループ化することを含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項５】
1ブロックの最大エネルギを計算することが、
前記スペクトル内の所与の位置までの各ブロックの前記エネルギを計算することと、
最大のエネルギを有するブロックの前記エネルギを保管することと
を含み、位置インデックスを判定することが、
最大のエネルギを有する前記ブロックの前記位置インデックスを保管すること
を含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項６】
前記スペクトル内の所与の位置までの各ブロックの前記エネルギを計算することが、
前記スペクトルの最初の1/4まで各ブロックの前記エネルギを計算すること
を含む、請求項5に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項７】
各ブロックの前記係数を計算することが、
最大エネルギを有する前記ブロックの前記位置インデックスより小さい位置インデックスmを有するブロックごとに、関係
Rm = Emax / Em
を使用して比Rmを計算することであって、Emaxが、前記計算された最大エネルギであり、Emが、位置インデックスmに対応するブロックの前記計算されたエネルギである、計算すること
を含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項８】
Rmが所定の値より大きい時に、前記比Rmに前記所定の値をセットすることを含む、請求項7に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項９】
Rm > R(m-1)の時に前記比Rm = R(m-1)をセットすることを含む、請求項7に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項１０】
前記係数を計算することが、前記係数が所定の値より大きい時に前記係数に前記所定の値をセットすることを含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項１１】
前記係数を計算することが、あるブロックの前記係数が前のブロックの前記係数より大きい時に前記あるブロックの前記係数に前記前のブロックの前記係数をセットすることを含む、請求項1に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項１２】
前記係数を計算することが、値(Rm)1/4を計算することと、前記対応するブロックの前記変換係数に関する利得として前記値(Rm)1/4を適用することとをさらに含む、請求項7に記載のサウンド信号のスペクトルを低周波数強調する方法。
【請求項１３】
複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調するデバイスであって、
位置インデックスを有する1ブロックの最大エネルギを計算する手段と、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとに係数を計算する手段であって、前記係数計算手段が、ブロックごとに、
前記ブロックのエネルギを計算する手段と、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算する手段と
を含む、手段と、
ブロックごとに、前記ブロックの前記変換係数に適用される利得を前記係数から判定する手段と
を含むデバイス。
【請求項１４】
複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調するデバイスであって、
位置インデックスを有する1ブロックの最大エネルギのカリキュレータと、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとの係数のカリキュレータであって、前記係数カリキュレータが、ブロックごとに、
前記ブロックのエネルギを計算し、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算する
カリキュレータと、
ブロックごとに、前記係数に応答する利得のカリキュレータであって、前記利得が、前記ブロックの前記変換係数に適用される、カリキュレータと、
を含むデバイス。
【請求項１５】
前記変換係数が、高速フーリエ変換係数である、請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項１６】
前記変換係数が、所定の個数の連続する変換係数のブロックにグループ化される、請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項１７】
前記最大エネルギカリキュレータが、
前記スペクトル内の所定の位置までの各ブロックの前記エネルギを計算し、
前記最大エネルギのストアを含み、
最大エネルギを有するブロックの前記位置インデックスのストアを含む
請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項１８】
前記最大エネルギカリキュレータが、前記スペクトルの最初の1/4までの各ブロックの前記エネルギを計算する、請求項17に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項１９】
前記係数カリキュレータが、
最大エネルギを有する前記ブロックの前記位置インデックスより小さい位置インデックスmを有するブロックごとに、関係
Rm = Emax / Em
を使用して比Rmを計算し、Emaxが、前記計算された最大エネルギであり、Emが、前記位置インデックスmに対応する前記ブロックの前記計算されたエネルギである、請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２０】
前記係数カリキュレータが、Rmが所定の値より大きい時に、前記比Rmに前記所定の値をセットする、請求項19に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２１】
前記係数カリキュレータが、Rm > R(m-1)の時に前記比前記比Rm = R(m-1)をセットする、請求項19に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２２】
前記係数カリキュレータが、前記係数が所定の値より大きい時に前記係数に前記所定の値をセットする、請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２３】
前記係数カリキュレータが、あるブロックの前記係数が前のブロックの前記係数より大きい時に前記あるブロックの前記係数に前記前のブロックの前記係数をセットする、請求項14に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２４】
前記係数カリキュレータが、値(Rm)1/4を計算し、
前記利得カリキュレータが、前記対応するブロックの前記変換係数に関する利得として前記値(Rm)1/4を適用する
請求項19に記載のサウンド信号のスペクトルを低周波数強調するデバイス。
【請求項２５】
受け取られたコーディングされたサウンド信号を処理する方法であって、
前記受け取られたコーディングされたサウンド信号からコーディングパラメータを抽出することであって、前記抽出されたコーディングパラメータが、前記サウンド信号の周波数変換の変換係数を含み、前記変換係数が、請求項1から12のいずれか一項に記載の方法を使用して低周波数強調された、抽出することと、
前記サウンド信号を合成するために前記抽出されたコーディングパラメータを処理することであって、前記低周波数強調された変換係数を低周波数デエンファサイズすることを含む、処理することと
を含む方法。
【請求項２６】
コーディングパラメータを抽出することが、前記低周波数強調された変換係数を変換係数のK個のブロックに分割することを含み、
前記低周波数強調された変換係数を低周波数デエンファサイズすることが、前記変換係数の前記低周波数強調を打ち消すために前記K個のブロックの少なくとも一部の前記変換係数をスケーリングすることを含む
請求項25に記載の受け取られたコーディングされたサウンド信号を処理する方法。
【請求項２７】
前記低周波数強調された変換係数を低周波数デエンファサイズすることが、変換係数の前記K個のブロックの最初のK/s個のブロックの前記変換係数をスケーリングすることを含み、sが、整数である
請求項26に記載の受け取られたコーディングされたサウンド信号を処理する方法。
【請求項２８】
前記変換係数をスケーリングすることが、
変換係数の前記K個のブロックのそれぞれのエネルギεkを計算することと、
前記最初のK/s個のブロックのうちの1ブロックの最大エネルギεmaxを計算することと、
前記最初のK/s個のブロックのそれぞれについて係数fackを計算することと、
対応するブロックの前記係数fackを使用して、前記最初のK/s個のブロックのそれぞれの前記変換係数をスケーリングすることと
を含む、請求項27に記載の受け取られたコーディングされたサウンド信号を処理する方法。
【請求項２９】
前記最初のK/s個のブロックのそれぞれについて、最大エネルギを有するブロックの位置インデックスまで、係数fackを計算することが、次の式
fac0 = max((ε0 / εmax)0.5, 0.1)
fack = max((εk / εmax)0.5, fack-1)、ただしk = 1, ..., K/s-1
を使用することを含み、εkが、インデックスkを有するブロックのエネルギである、請求項28に記載の受け取られたコーディングされたサウンド信号を処理する方法。
【請求項３０】
受け取られたコーディングされたサウンド信号を処理するデコーダであって、
前記受け取られたコーディングされたサウンド信号を供給され、前記受け取られたコーディングされたサウンド信号からのコーディングパラメータのエクストラクタを実施する入力デコーダ部分であって、前記抽出されたコーディングパラメータが、前記サウンド信号の周波数変換の変換係数を含み、前記変換係数が、請求項13から24のいずれか一項に記載のデバイスを使用して低周波数強調された、入力デコーダ部分と、
前記サウンド信号を合成するための前記抽出されたコーディングパラメータのプロセッサであって、前記プロセッサが、前記低周波数強調された変換係数を供給される低周波数デエンファシスモジュールを含む、プロセッサと
を含むデコーダ。
【請求項３１】
前記エクストラクタが、前記低周波数強調された変換係数を変換係数のK個のブロックに分割し、
前記低周波数デエンファシスモジュールが、前記変換係数の前記低周波数強調を打ち消すために前記K個のブロックの少なくとも一部の前記変換係数をスケーリングする
請求項30に記載のデコーダ。
【請求項３２】
前記低周波数デエンファシスモジュールが、変換係数の前記K個のブロックの最初のK/s個のブロックの前記変換係数をスケーリングし、sが、整数である
請求項31に記載のデコーダ。
【請求項３３】
前記低周波数デエンファシスモジュールが、
変換係数の前記K/s個のブロックのそれぞれのエネルギεkを計算し、
前記最初のK/s個のブロックのうちの1ブロックの最大エネルギεmaxを計算し、
前記最初のK/s個のブロックのそれぞれについて係数fackを計算し、
対応するブロックの前記係数fackを使用して、前記最初のK/s個のブロックのそれぞれの前記変換係数をスケーリングする
請求項32に記載のデコーダ。
【請求項３４】
前記低周波数デエンファシスモジュールが、次の式
fac0 = max((ε0 / εmax)0.5, 0.1)
fack = max((εk / εmax)0.5, fack-1)、ただしk = 1, ..., K/s-1
を使用して前記係数fackを計算し、εkが、インデックスkを有するブロックのエネルギである、請求項33に記載のデコーダ。
【請求項３５】
全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディング方法であって、
前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るために、前記LF信号および前記HF信号に対してLPC分析を実行することと、
前記LPC係数からHFマッチング利得の推定値を計算することと、
前記HF信号のエネルギを計算することと、
前記HF信号の合成された版を作るために前記LF信号を処理することと、
前記HF信号の前記合成された版のエネルギを計算することと、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比を計算し、前記計算された比をHF補償利得として表すことと、
利得訂正を得るために、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差を計算することと
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディング方法。
【請求項３６】
前記HF信号が、6400Hzを超える周波数成分からなる、請求項35に記載のHFコーディング方法。
【請求項３７】
前記LPC係数をISF係数に変換することと、
前記ISF係数を伝送のために量子化することと
をさらに含む、請求項35に記載のHFコーディング方法。
【請求項３８】
前記量子化されたISF係数を量子化されたISP係数に変換することと、
前記量子化されたISP係数を量子化されたLPC係数に変換することと
をさらに含む、請求項37に記載のHFコーディング方法。
【請求項３９】
前記HF信号の合成された版を作るために前記LF信号を処理することが、
残差信号を作るために、前記HF信号のスペクトルエンベロープをモデル化するLPCフィルタの量子化された版を介して前記LF信号をフィルタリングすることと、
前記HF信号の前記合成された版を作るために、量子化されたHF合成フィルタを介して前記残差信号をフィルタリングすることと
を含む、請求項35に記載のHFコーディング方法。
【請求項４０】
前記HF信号の前記エネルギを計算することが、
HF知覚フィルタを介して前記HF信号をフィルタリングすることと、
前記知覚フィルタリングされたHF信号のエネルギを計算することと
を含み、前記HF信号の前記合成された版の前記エネルギを計算することが、
HF知覚フィルタを介して前記HF信号の前記合成された版をフィルタリングすることと、
前記HF信号の前記知覚フィルタリングされた合成された版のエネルギを計算することと
を含む、請求項35に記載のHFコーディング方法。
【請求項４１】
前記計算された比をHF利得として表すことが、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の前記計算された比をdB単位で表すこと
を含む、請求項35に記載のHFコーディング方法。
【請求項４２】
LPC分析を実行することが、HF量子化されたLPC係数'AHF(z)を計算することを含み、
HFマッチング利得の推定値を計算することが、
1/(1 + 0.9z-1)の形の1極フィルタを介して単位インパルスδ(n)をフィルタリングすることによって、サンプルごとにナイキスト周波数での減衰する正弦波h(n)の64個のサンプルを計算することと、
低周波数残差を得るために、LF LPCフィルタ'A(z)を介して前記減衰する正弦波h(n)をフィルタリングすることであって、'A(z)が、LFコーダからのLF量子化されたLPC係数を表す、フィルタリングすることと、
合成信号x(n)を得るために、HF LPC合成フィルタ1/'AHF(z)を介して前記フィルタリングされた減衰する正弦波h(n)をフィルタリングすることと、
利得gmatchを作るために、前記合成信号x(n)のエネルギの逆数を計算し、これを対数領域で表すことと、
前記HFマッチング利得の前記推定値を作るために、前記利得gmatchを補間することと
を含む、請求項35に記載のHFコーディング方法。
【請求項４３】
量子化された利得訂正を得るために、前記利得訂正を量子化することを含む、請求項35に記載のHFコーディング方法。
【請求項４４】
全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディングデバイスであって、
前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るために、前記LF信号および前記HF信号に対してLPC分析を実行する手段と、
前記LPC係数からHFマッチング利得の推定値を計算する手段と、
前記HF信号のエネルギを計算する手段と、
前記HF信号の合成された版を作るために前記LF信号を処理する手段と、
前記HF信号の前記合成された版のエネルギを計算する手段と、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比を計算する手段および前記計算された比をHF補償利得として表す手段と、
利得訂正を得るために、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差を計算する手段と
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディングデバイス。
【請求項４５】
全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディングデバイスであって、
前記LF信号および前記HF信号を供給され、前記HF信号に応答して前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るLPC分析手段と、
前記LPC係数に応答するマッチングHF利得の推定値のカリキュレータと、
前記HF信号のエネルギのカリキュレータと、
前記LF信号を供給され、前記LF信号に応答して、前記HF信号の合成された版を作るフィルタと、
前記HF信号の前記合成された版のエネルギのカリキュレータと、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比のカリキュレータと、
前記計算された比を供給され、前記計算された比をHF補償利得として表すコンバータと、
利得訂正を得るための、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差のカリキュレータと
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディングデバイス。
【請求項４６】
前記HF信号が、6400Hzを超える周波数成分からなる、請求項45に記載のHFコーディングデバイス。
【請求項４７】
前記LPC係数のISF係数へのコンバータと、
前記ISF係数のクォンタイザと
をさらに含む、請求項45に記載のHFコーディングデバイス。
【請求項４８】
前記量子化されたISF係数の量子化されたISP係数へのコンバータと、
前記量子化されたISP係数の量子化されたLPC係数へのコンバータと
をさらに含む、請求項47に記載のHFコーディングデバイス。
【請求項４９】
前記LF信号を供給され、前記LF信号に応答して、前記HF信号の合成された版を作る前記フィルタが、
前記LF信号を供給され、前記LF信号に応答して残差信号を作る、量子化されたLPCフィルタと、
前記残差信号を供給され、前記残差信号に応答して前記HF信号の前記合成された版を作る、量子化されたHF合成フィルタと
を含む、請求項45に記載のHFコーディングデバイス。
【請求項５０】
前記HF信号の前記エネルギの前記カリキュレータが、
前記HF信号を供給されるHF知覚フィルタと、
前記知覚フィルタリングされたHF信号のエネルギのカリキュレータと
を含み、前記HF信号の前記合成された版の前記エネルギの前記カリキュレータが、
前記HF信号の前記合成された版を供給されるHF知覚フィルタと、
前記HF信号の前記知覚フィルタリングされた合成された版のエネルギのカリキュレータと
を含む、請求項45に記載のHFコーディングデバイス。
【請求項５１】
前記計算された比をHF利得として表す前記コンバータが、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の前記計算された比をdB単位で表す手段
を含む、請求項45に記載のHFコーディングデバイス。
【請求項５２】
LPCアナライザが、HF量子化されたLPC係数'AHF(z)のカリキュレータを含み、
HFマッチング利得の推定値の前記カリキュレータが、
1/(1 + 0.9z-1)の形の1極フィルタを介して単位インパルスδ(n)をフィルタリングすることによる、サンプルごとのナイキスト周波数πラジアンでの減衰する正弦波h(n)の64個のサンプルのカリキュレータと、
低周波数残差を得るために、前記減衰する正弦波h(n)をフィルタリングするLF LPCフィルタ'A(z)であって、'A(z)が、LFコーダからのLF量子化されたLPC係数を表す、LF LPCフィルタ'A(z)と、
合成信号x(n)を得るために、前記フィルタリングされた減衰する正弦波h(n)をフィルタリングするHF LPC合成フィルタ1/'AHF(z)と、
利得gmatchを作るために、前記合成信号x(n)のエネルギの逆数の、およびこれを対数領域で表すカリキュレータと、
前記HFマッチング利得の前記推定値を作るための、前記利得gmatchのインターポーレータと
を含む、請求項45に記載のHFコーディングデバイス。
【請求項５３】
量子化された利得訂正を得るための、前記利得訂正のクォンタイザを含む、請求項45に記載のHFコーディングデバイス。
【請求項５４】
帯域幅拡張方式を介してコーディングされたHF信号をデコードする方法であって、
前記コーディングされたHF信号を受け取ることと、
前記コーディングされたHF信号からLPC係数および利得訂正を抽出することと、
前記抽出されたLPC係数からHF利得の推定値を計算することと、
HF利得を得るために前記HF利得の前記計算された推定値に前記利得訂正を加算することと、
HF励振信号を作るために前記HF利得によってLF励振信号を増幅することと、
前記HF信号の合成された版を作るためにHF合成フィルタを介して前記HF励振信号を処理することと
を含む方法。
【請求項５５】
前記HF励振信号を前記HF合成フィルタに供給する前に前記HF励振信号のバジネスを減らすことをさらに含む、請求項54に記載のHF信号をデコードする方法。
【請求項５６】
前記HF合成フィルタが、HF線形予測合成フィルタである、請求項54に記載のHF信号をデコードする方法。
【請求項５７】
前記HF信号の前記合成された版のエネルギ変動を平滑化するために前記HF信号の前記合成された版をHFエネルギ平滑化することをさらに含む、請求項54に記載のHF信号をデコードする方法。
【請求項５８】
前記コーディングされたHF信号から前記LPC係数を抽出することが、
前記コーディングされたHF信号からISF係数をデコードすることと、
前記ISF係数をISP係数に変換することと、
前記ISP係数を補間することと、
前記補間されたISP係数を量子化されたHF LPC係数に変換することと
を含む、請求項54に記載のHF信号をデコードする方法。
【請求項５９】
LPC係数を抽出することが、前記コーディングされたHF信号からHF量子化されたLPC係数'AHF(z)を抽出することを含み、
HF利得の推定値を計算することが、
前記抽出されたLPCパラメータから計算することと、
1/(1+0.9z-1)の形の1極フィルタを介して単位インパルスδ(n)をフィルタリングすることによって、サンプルごとにナイキスト周波数πラジアンでの減衰する正弦波h(n)の64個のサンプルを計算することと、
低周波数残差を得るために、LF LPCフィルタ'A(z)を介して前記減衰する正弦波h(n)をフィルタリングすることであって、'A(z)が、LFデコーダからのLF量子化されたLPC係数を表す、フィルタリングすることと、
合成信号x(n)を得るために、HF LPC合成フィルタ1/'AHF(z)を介して前記フィルタリングされた減衰する正弦波h(n)をフィルタリングすることと、
利得gmatchを作るために、前記合成信号x(n)のエネルギの逆数を計算し、これを対数領域で表すことと、
前記HF利得の前記推定値を作るために、前記利得gmatchを補間することと
を含む、請求項54に記載のHF信号をデコードする方法。
【請求項６０】
帯域幅拡張方式を介してコーディングされたHF信号をデコードするデコーダであって、
前記コーディングされたHF信号を受け取る手段と、
前記コーディングされたHF信号からLPC係数および利得訂正を抽出する手段と、
前記抽出されたLPC係数からHF利得の推定値を計算する手段と、
HF利得を得るために前記HF利得の前記計算された推定値に前記利得訂正を加算する手段と、
HF励振信号を作るために前記HF利得によってLF励振信号を増幅する手段と、
前記HF信号の合成された版を作るためにHF合成フィルタを介して前記HF励振信号を処理する手段と
を含むデコーダ。
【請求項６１】
帯域幅拡張方式を介してコーディングされたHF信号をデコードするデコーダであって、
前記コーディングされたHF信号を受け取る入力と、
前記コーディングされたHF信号を供給され、前記コーディングされたHF信号からLPC係数を抽出するデコーダと、
前記コーディングされたHF信号を供給され、前記コーディングされたHF信号から利得訂正を抽出するデコーダと、
前記抽出されたLPC係数からのHF利得の推定値のカリキュレータと、
HF利得を得るための前記HF利得の前記計算された推定値と前記利得訂正との加算器と、
HF励振信号を作るための前記HF利得によるLF励振信号の増幅器と、
前記HF励振信号を供給され、前記HF励振信号に応答して前記HF信号の合成された版を作るHF合成フィルタと
を含むデコーダ。
【請求項６２】
前記HF励振信号を前記HF合成フィルタに供給する前に前記HF励振信号を供給されるバジネスリデューサをさらに含む、請求項61に記載のHF信号をデコードするデコーダ。
【請求項６３】
前記HF合成フィルタが、HF線形予測合成フィルタである、請求項61に記載のHF信号をデコードするデコーダ。
【請求項６４】
前記HF信号の前記合成された版を供給されるHFエネルギ平滑化モジュールをさらに含み、前記HFエネルギ平滑化モジュールが、前記HF信号の前記合成された版のエネルギ変動を平滑化する、請求項61に記載のHF信号をデコードするデコーダ。
【請求項６５】
前記コーディングされたHF信号から前記LPC係数を抽出する前記デコーダが、
前記コーディングされたHF信号からのISF係数のデコーダと、
前記ISF係数のISP係数へのコンバータと、
前記ISP係数のインターポーレータと、
前記補間されたISP係数の量子化されたHF LPC係数へのコンバータと
を含む、請求項61に記載のHF信号をデコードするデコーダ。
【請求項６６】
LPC係数を抽出する前記デコーダが、前記コーディングされたHF信号からの量子化されたLPC係数'AHF(z)のエクストラクタを含み、
前記HF利得の推定値の前記カリキュレータが、
1/(1+0.9z-1)の形の1極フィルタを介して単位インパルスδ(n)をフィルタリングすることによる、サンプルごとのナイキスト周波数πラジアンでの減衰する正弦波h(n)の64個のサンプルのカリキュレータと、
低周波数残差を得るための、前記減衰する正弦波h(n)をフィルタリングするLF LPCフィルタ'A(z)であって、'A(z)が、LFデコーダからのLF量子化されたLPC係数を表す、LF LPCフィルタ'A(z)と、
合成信号x(n)を得るための、前記フィルタリングされた減衰する正弦波h(n)をフィルタリングするHF LPC合成フィルタ1/'AHF(z)と、
利得gmatchを作るための、前記合成信号x(n)のエネルギの逆数の、およびこれを対数領域で表すカリキュレータと、
前記HF利得の前記推定値を作るための、前記利得gmatchのインターポーレータと
を含む、請求項61に記載のHF信号をデコードするデコーダ。
【請求項６７】
第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替える方法であって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答を計算することと、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングすることと、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去することと
を含む方法。
【請求項６８】
前記重み付けフィルタの0入力応答を計算することが、重み付き領域で0入力応答を計算することを含む、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項６９】
前記第1コーディングモードが、ACELPコーディングモードであり、前記第2コーディングモードが、TCXコーディングモードである、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項７０】
前記0入力応答をウィンドウイングすることが、前記0入力応答を前記所定の時間期間までに切り捨てることを含む、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項７１】
前記ウィンドウイングされた0入力応答が前記重み付き信号から除去された後に、前記重み付き信号を所定の持続時間のTCXフレームにウィンドウイングすることを含む、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項７２】
所定の持続時間のTCXフレームにウィンドウイングされた前記重み付き信号を周波数領域に変換することをさらに含む、請求項71に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項７３】
前記重み付けフィルタが、知覚重み付けフィルタである、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替える方法。
【請求項７４】
第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替えるデバイスであって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答を計算する手段と、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする手段と、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去する手段と
を含むデバイス。
【請求項７５】
第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替えるデバイスであって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答のカリキュレータと、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングするウィンドウジェネレータと、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去する加算器と
を含むデバイス。
【請求項７６】
前記0入力応答カリキュレータが、重み付き領域で0入力応答を計算する、請求項75に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項７７】
前記第1コーディングモードが、ACELPコーディングモードであり、前記第2コーディングモードが、TCXコーディングモードである、請求項75に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項７８】
前記ウィンドウジェネレータが、前記0入力応答を前記所定の時間期間までに切り捨てる、請求項75に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項７９】
前記ウィンドウイングされた0入力応答が前記重み付き信号から除去された後に、前記重み付き信号を所定の持続時間のTCXフレームにウィンドウイングするもう1つのウィンドウジェネレータを含む、請求項75に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項８０】
動作時に、所定の持続時間のTCXフレームにウィンドウイングされた前記重み付き信号を周波数領域に変換する周波数変換モジュールをさらに含む、請求項79に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項８１】
前記重み付けフィルタが、知覚重み付けフィルタである、請求項67に記載の第1サウンド信号コーディングモードから第2サウンド信号コーディングモードに切り替えるデバイス。
【請求項８２】
デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作る方法であって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングすることと、
前記ウィンドウの左部分をスキップすることと、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答を計算し、前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングすることと、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算することと
を含む方法。
【請求項８３】
前記計算された0入力応答をウィンドウイングする前に、前記計算された0入力応答に重みを付けることを含む、請求項82に記載のオーバーラップ加算ターゲット信号を作る方法。
【請求項８４】
前記計算された0入力応答に重みを付けることが、前記計算された0入力応答に知覚的に重みを付けることを含む、請求項83に記載のオーバーラップ加算ターゲット信号を作る方法。
【請求項８５】
前記現在のフレームのサンプルの最後の部分をバッファに保存することを含む、請求項82に記載のオーバーラップ加算ターゲット信号を作る方法。
【請求項８６】
前記ウィンドウイングされた計算された0入力応答が、10ms後に0まで単調に減少する振幅を有する、請求項82に記載のオーバーラップ加算ターゲット信号を作る方法。
【請求項８７】
デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作るデバイスであって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングする手段と、
前記ウィンドウの左部分をスキップする手段と、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答を計算する手段および前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする手段と、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算する手段と
を含むデバイス。
【請求項８８】
デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作るデバイスであって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングする第1ウィンドウジェネレータと、
前記ウィンドウの左部分をスキップする手段と、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答のカリキュレータおよび前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする第2ウィンドウジェネレータと、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算する加算器と
を含むデバイス。
【請求項８９】
前記計算された0入力応答をウィンドウイングする前に、前記計算された0入力応答に重みを付けるフィルタを含む、請求項88に記載のオーバーラップ加算ターゲット信号を作るデバイス。
【請求項９０】
前記重み付けフィルタが、知覚重み付けフィルタである、請求項89に記載のオーバーラップ加算ターゲット信号を作るデバイス。
【請求項９１】
前記現在のフレームのサンプルの最後の部分を保存するバッファを含む、請求項88に記載のオーバーラップ加算ターゲット信号を作るデバイス。
【請求項９２】
前記ウィンドウイングされた計算された0入力応答が、10ms後に0まで単調に減少する振幅を有する、請求項88に記載のオーバーラップ加算ターゲット信号を作るデバイス。
【請求項９３】
前記HFマッチング利得を計算することが、ナイキスト周波数でのLF LPCフィルタの周波数応答とHF LPCフィルタの周波数応答との間の比を計算することを含む、請求項35に記載のHFコーディング方法。
【請求項９４】
前記HFマッチング利得の前記カリキュレータが、ナイキスト周波数でのLF LPCフィルタの周波数応答とHF LPCフィルタの周波数応答との間の比を計算する、請求項55に記載のHFコーディングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばディジタル伝送システムおよびディジタル保管システムでのサウンド信号のコーディングおよびデコーディングに関する。排他的ではなく具体的には、本発明は、ハイブリッド変換およびCELP (code-excited linear prediction)コーディングおよびデコーディングに関する。
【背景技術】
【０００２】
情報のディジタル表現は、多数の利益をもたらす。サウンド信号の場合に、音声信号または音楽信号などの情報が、たとえばPCM(パルス符号変調)フォーマットを使用してディジタル化される。したがって、信号は、たとえば1サンプルあたり16ビットまたは20ビットを用いてサンプリングされ、量子化される。単純であるが、PCMフォーマットは、高いビットレート(毎秒ビット数またはビット/秒)を必要とする。この制限は、ソースビットレートを減らし、オーディオ品質、コーディング遅延、および複雑さに関する多くの応用例の特定の制約を満足できる効率的なソースコーディング技法の設計の主な動機づけである。
【０００３】
ディジタルオーディオコーダの機能は、サウンド信号をビットストリームに変換することであり、このビットストリームは、たとえば、通信チャネルを介して伝送されるか、記憶媒体に保管される。ここでは、ロッシイソースコーディングすなわちロッシイ信号圧縮を検討する。具体的には、ディジタルオーディオコーダの役割は、よい主観的オーディオ品質を維持しながら、より少ないビット数を用いてサンプル、たとえばPCMサンプルを表すことである。デコーダまたはシンセサイザは、伝送されたか保管されたビットストリームに対して、これをサウンド信号に変換する責任を負う。信号圧縮方法の紹介に関して[Jayant, 1984]および[Gersho, 1992]、現代の音声およびオーディオのコーディング技法の深いカバレッジに関して[Kleijn, 1995]の全般的な章を参照する。
【０００４】
高品質オーディオコーディングで、2つのクラスのアルゴリズムすなわち、主に音声信号をコーディングするために設計されたCELP (Code-Excited Linear Prediction)コーディングと、音楽信号を表すようによく適合された知覚変換(perceptual transform)(またはサブバンド)コーディングを区別することができる。これらの技法は、主観的品質とビットレートの間のよい妥協を達成することができる。CELPコーディングは、電話または会議など、オーディオ信号が通常はたとえば8kHzまたは16kHzでサンプリングされる、低遅延両方向応用の文脈で開発された。知覚変換コーディングは、ほとんど、ストリーミング応用またはストレージ応用のための、たとえば32kHz、44.1kHz、または48kHzでサンプリングされる広帯域高忠実度音楽信号に適用されてきた。
【０００５】
CELPコーディング[Atal, 1985]は、最も現代的な音声コーディング標準規格のコアフレームワークである。このコーディングモデルによれば、音声信号が、フレームと呼ばれるNサンプルの連続するブロックで処理され、Nは、通常はたとえば10〜30msに対応するサンプルの所定の個数である。ビットレートの削減は、線形予測を介して連続する音声サンプルの間の時間的相関を除去し、効果的なベクトル量子化(VQ)を使用することによって達成される。線形予測(LP)フィルタが、フレームごとに計算され、伝送される。LPフィルタの計算は、通常、ルックアヘッド、たとえば後続フレームからの5〜10ms音声セグメントを必要とする。一般に、Nサンプルフレームが、ピッチ予測を適用するために、サブフレームと呼ばれるより小さいブロックに分割される。サブフレーム長は、たとえば、4〜10msの範囲でセットすることができる。各サブフレームで、励振信号が、通常は2つのコンポーネントすなわち、過去の励振の一部と、革新コードブック(innovative codebook)励振または固定コードブック励振とから入手される。過去の励振の一部から形成される成分を、しばしば、適応コードブックまたはピッチ励振と称する。励振信号の特徴を表すパラメータが、コーディングされ、デコーダに送られ、デコーダでは、励振信号が、再構成され、LPフィルタの入力として使用される。CELPコーディングの例が、ACELP (Algebraic CELP)コーディングモデルであり、この場合に、革新コードブックは、インターリーブされた信号パルスからなる。
【０００６】
CELPモデルは、狭帯域音声コーディングに関して開発され、この狭帯域音声コーディングの入力帯域幅は、300〜3400Hzである。50〜7000Hz帯域で定義される広帯域音声信号の場合に、CELPモデルは、通常、スプリットバンド手法で使用され、この場合に、下側帯域が、波形マッチング(CELPコーディング)によってコーディングされ、上側帯域が、パラメトリックにコーディングされる。この帯域幅分割は、次の複数の動機づけを有する。
・フレームのビットのほとんどを、品質を最大にするために下側帯域信号に割り振ることができる。
・計算の複雑さ(フィルタリングなどの)を、全帯域コーディングと比較して減らすことができる。
・また、波形マッチングは、高周波成分に関して非常に効率的ではない。
このスプリットバンド手法は、たとえばETSI AMR-WB広帯域音声コーディング標準規格で使用されている。このコーディング標準規格は、[3GPP TS 26.190]で指定され、[Bessette, 2002]で説明されている。AMR-WB標準規格の実装は、[3GPP TS 26.173]で与えられる。AMR-WB音声コーディングアルゴリズムは、本質的に、入力広帯域信号を下側帯域(0〜6400Hz)および上側帯域(6400〜7000Hz)に分割し、下側帯域だけにACELPアルゴリズムを適用し、帯域幅拡張(bandwidth extension、BWE)を介して上側帯域をコーディングすることからなる。
【０００７】
技術的現状のオーディオコーディング技法、たとえばMPEG-AACまたはITU-T G.722.1は、知覚変換(またはサブバンド)コーディングに基づいて作られている。変換コーディングでは、時間領域オーディオ信号が、適当な長さのウィンドウをオーバーラップさせることによって処理される。ビットレートの削減は、特定の変換の相関除去およびエネルギコンパクト化特性ならびに知覚的に関連する変換係数だけのコーディングによって達成される。ウィンドウイングされた信号は、通常、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、または変形離散コサイン変換(MDCT)によって分解(分析)される。たとえば40〜60msのフレーム長が、通常、よいオーディオ品質を達成するのに必要である。しかし、過渡状態を表し、アタックの前のコーディング雑音(プレエコー)の時間拡散を防ぐために、たとえば5〜10msの短いフレームも、非静止オーディオセグメントを記述するのに使用される。量子化雑音シェーピングが、量子化の前に、スケール係数を用いて変換係数を正規化することによって達成される。正規化された係数は、通常、スカラ量子化およびその後のハフマンコーディングによってコーディングされる。並行して、知覚マスキング曲線を計算して、量子化プロセスを制御し、主観的品質を最適化する。この曲線は、知覚的に最も関連する変換係数をコーディングするのに使用される。
【０００８】
コーディング効率(特に低ビットレートでの)を改善するために、帯域分割を変換コーディングと共に使用することもできる。この手法は、たとえば、aacPlusとも称する新しいHigh Efficiency MPEG-AAC標準規格で使用されている。aacPlusでは、信号が、2つのサブバンドに分割され、下側帯域信号は、知覚変換コーディング(AAC)によってコーディングされ、上側帯域信号は、帯域幅拡張(BWE)の一種である、いわゆるSBR (Spectral Band Replication)によって記述される。
【０００９】
オーディオ/ビデオ会議、マルチメディアストレージ、およびインターネットオーディオストリーミングなどのある種の応用例で、オーディオ信号は、通常、音声、音楽、および混合された内容からなる。その結果、そのような応用例では、このタイプの入力信号に対して堅牢なオーディオコーディング技法が使用される。言い換えると、オーディオコーディングアルゴリズムは、音声および音楽を含む幅広い種類のオーディオ信号に関して、よく、一貫性のある品質を達成しなければならない。それでも、CELP技法は、固有に音声に最適化されていることが既知であるが、音楽信号のコーディングに使用された時に問題を提示する場合がある。その一方で、技術的現状の知覚変換コーディングは、音楽信号に関してよい性能を有するが、特に低ビットレートでの、音声信号のコーディングに適当ではない。
【００１０】
音声と音楽の両方を含む一般的なオーディオ信号を、よい、かなり一定の品質でコーディングするために、複数の手法が検討されてきた。[Moreau, 1992]、[Lefebvre, 1994]、[Chen, 1996]、および[Chen, 1997]に記載の変換予測コーディングは、音声コーディング技法と音楽コーディング技法の両方を単一のフレームワークに含めるためのよい基礎を提供する。この手法では、線形予測コーディングと変換コーディングを組み合わせる。[Lefebvre, 1994]の技法は、TCX (Transform Coded eXcitation)コーディングと呼ばれ、[Moreau, 1992]、[Chen, 1996]、および[Chen, 1997]と同等であるが、次の説明でこれを検討する。
【００１１】
元々、TCXコーディングの2つの変形が設計され[Lefebvre, 1994]、一方は、短いフレームおよびピッチ予測を使用する、音声信号用であり、他方は、長いフレームを使用しピッチ予測を使用しない、音楽信号用である。両方の場合に、TCXコーディングに用いられる処理は、次の2つのステップに分解することができる。
1)オーディオ信号の現在のフレームを、時間フィルタリングによって処理して、いわゆるターゲット信号を入手し、
2)ターゲット信号を変換領域でコーディングする。
ターゲット信号の変換コーディングでは、長方形ウィンドウイングを用いるDFTを使用する。それでも、フレーム境界でのブロッキングアーチファクトを減らすために、小さいオーバーラップを有するウィンドウイングが、[Jbira, 1998]でDFTの前に使用された。[Ramprashad, 2001]では、ウィンドウイング切替を用いるMDCTが、その代わりに使用される。MDCTは、最大限にデシメートされたフィルタバンクでありながら、DFTよりよい周波数分解能をもたらすという利益を有する。しかし、[Ramprashad, 2001]の場合に、コーダは、特にピッチ分析に関して、閉ループでは動作しない。これに関して、[Ramprashad, 2001]のコーダには、TCXの変形形態としての資格を与えることができない。
【００１２】
ターゲット信号の表現は、TCXコーディングで役割を演じるだけではなく、すべてのコーディングフレームで使用可能なビットのほとんどを消費するので、TCXオーディオ品質の一部も制御する。ここで、DFT領域での変換コーディングを参照する。ターゲット信号をこの領域でコーディングするために、複数の方法が提案されており、たとえば、[Lefebvre, 1994], [Xie, 1996]、[Jbira, 1998]、[Schnitzler, 1999]、および[Bessette, 1999]を参照されたい。これらの方法のすべてが、ある形の利得形状量子化を実施し、これは、ターゲット信号のスペクトルが、まず、実際のコーディングの前に、係数または大域利得gによって正規化されることを意味する。[Lefebvre, 1994]、[Xie, 1996]、および[Jbira, 1998]では、この係数gに、スペクトルのRMS(二乗平均平方根)値がセットされる。しかし、一般に、各フレーム内で、たとえば[Schnitzler, 1999]および[Bessette, 1999]に開示されているように、係数gの異なる値をテストすることによって、これを最適化することができる。[Bessette, 1999]は、係数gの実際の最適化を開示していない。TCXコーディングの品質を改善するために、雑音フィルイン(すなわち、量子化されない係数の代わりのコンフォートノイズの注入)が、[Schnitzler, 1999]および[Bessette, 1999]で使用された。
【００１３】
[Lefebvre, 1994]で説明されているように、TCXコーディングは、広帯域信号、たとえば16kHzでサンプリングされた信号を非常に成功裡にコーディングすることができ、オーディオ品質は、音声について16 kbit/sのサンプリングレートで、音楽に関して24 kbit/sのサンプリングレートで、よい。しかし、TCXコーディングは、音声信号のコーディングに関してACELPほど効率的ではない。この理由から、スイッチドACELP/TCXコーディング(switched ACELP/TCX coding)戦略が、[Bessette, 1999]で短く提示された。ACELP/TCXコーディングの概念は、たとえば[Combescure, 1999]のATCELP (Adaptive Transform and CELP)技法に類似する。明らかに、オーディオ品質は、実際にあるタイプの信号をコーディングするように特殊化された異なるモードの間の切替によって最大化することができる。たとえば、CELPコーディングは、音声に特殊化され、変換コーディングは、音楽により適合され、したがって、これらの2つの技法を、各オーディオフレームが最も適当なコーディングツールを用いて適応式にコーディングされるマルチモードフレームワークに組み合わせることが自然である。ATCELPコーディングでは、CELPと変換コーディングの間の切替が、シームレスではなく、遷移モードを必要とする。さらに、開ループモードの判断が適用される、すなわち、モード判断は、使用可能なオーディオ信号に基づいて、コーディングの前に行われる。対照的に、ACELP/TCXは、2つの同種の線形予測モード(ACELPコーディングおよびTCXコーディング)を使用するという利益を提示し、これによって、切替がより簡単になり、さらに、モード判断は閉ループであり、これは、すべてのコーディングモードがテストされ、最良の合成を選択できることを意味する。
【００１４】
[Bessette, 1999]は、スイッチドACELP/TCXコーディング戦略を短く提示したが、[Bessette, 1999]は、ACELP/TCXモード判断と、ACELP/TCXコーディングでのTCXターゲット信号の量子化の詳細とを開示していない。基礎になる量子化方法は、[Xie, 1996]によって導入された、自己スケーラブルマルチレート格子ベクトル量子化に基づくことだけが知られている。
【００１５】
格子ベクトル量子化を紹介するために、[Gibson, 1988]および[Gersho, 1992]を参照する。N次元格子は、N次元(ユークリッド)空間内の点の規則的な配列である。たとえば、[Xie, 1996]は、ゴセット格子と称する8次元格子を使用するが、ゴセット格子は次のように定義される。
RE8 = 2D8 ∪ {2D8 + (1, ..., 1)}    (1)
ただし
D8 = {(x1, ..., x8) ∈ Z8 | x1 + ... + x8は奇数}   (2)
かつ
D8 + (1, ..., 1) = {(x1 + 1, ..., x8 + 1) ∈ Z8 | (x1, ..., x8) ∈ D8}   (3)
【００１６】
この数学構造は、8つの実数のブロックの量子化を可能にする。RE8を、次の特性を検証する点の集合(x1, ..., x8)としてより直観的に定義することもできる。
i.  成分xiは、符号付き整数である(i=1, ..., 8について)
ii. 合計x1 + ... + x8は、4の倍数である。
iii. 成分xiは、同一のパリティを有する(i=1, ..., 8について)、すなわち、これらは、すべて偶数またはすべて奇数のいずれかである。
次に、8次元量子化コードブックを、RE8の有限部分集合を選択することによって入手することができる。通常、平均二乗誤差が、コードブック検索基準である。[Xie, 1996]の技法では、Q0, Q1, ..., Q5と呼ばれる6つの異なるコードブックが、RE8格子に基づいて定義される。各コードブックQnただしn=0, 1, ..., 5に、24n個の点が含まれ、これは、4nビット毎8次元サブベクトルまたはn/2ビット毎サンプルのレートに対応する。次に、スケーリングされた係数gによって正規化されたTCXターゲット信号のスペクトルを、これを8次元サブベクトル(またはサブバンド)に分割することによって量子化する。これらのサブベクトルのそれぞれを、コードブックQ0, Q1, ..., Q5のうちの1つにコーディングする。その結果、係数gによる正規化の後のTCXターゲット信号の量子化は、8次元サブベクトルごとに、どのコードブックQnが使用されたかを示すコードブック番号nと、コードブックQn内の特定のコードベクトルを指定するインデックスiとを作る。この量子化プロセスを、コードブックQnが異なるレートを有するので、マルチレート格子ベクトル量子化と称する。[Bessette, 1999]のTCXモードは、同一の原理に従うが、正規化係数gの計算ならびに量子化インデックスおよびコードブック番号の多重化に関する詳細は、提供されていない。
【００１７】
RE8に基づく[Xie, 1996]の格子ベクトル量子化技法が、効率を高め、複雑さを減らすために、[Ragot, 2002]で拡張された。しかし、[Ragot, 2002]によって説明された概念のTCXコーディングへの適用は、一度も提案されていない。
【００１８】
[Ragot, 2002]のデバイスでは、8次元ベクトルが、{Q0, Q2, Q3, ..., Q36}と表されるRE8コードブックの集合を組み込んだマルチレートクォンタイザを介してコーディングされる。コードブックQ1は、コーディング効率を改善するために、この集合では定義されていない。すべてのコードブックQnが、同一の8次元RE8格子の部分集合として構成され、Qn ⊂ RE8である。1次元あたりのビット数として定義された第nコードブックのビットレートは、4n/8である、すなわち、各コードブックQnに、24n個のコードベクトルが含まれる。マルチレートクォンタイザの構成は、[Ragot, 2002]の教示に従う。所与の8次元入力ベクトルについて、マルチレートクォンタイザのコーダは、RE8内で最も近い近傍を見つけ、対応するコードブックQnのコードブック番号nおよびインデックスiを出力する。コーディング効率は、量子化インデックスすなわち分割のコードブック番号nおよびインデックスiに関してエントロピコーディング技法を適用することによって改善される。[Ragot, 2002]では、コードブック番号nが、n-1個の1と1つの0のストップビットとを含む単項コードとビットストリームを多重化する前に、コーディングされる。この単項コードによって表されるコードブック番号をnEによって表す。コードブックインデックスiについて、エントロピコーディングは使用されない。単項コードとnEおよびiのビット割振りの例を、次の表1に示す。
【００１９】
【表１】
2007525707.tif 000003
【００２０】
表1からわかるように、入力ベクトルをコーディングするのに、n = 0の場合に1ビットが必要であり、それ以外の場合に5nビットが必要である。
【００２１】
さらに、オーディオコーディングでの実用的な問題は、ビットストリームのフォーマッティングと、フレームイレージャコンシールメント(frame-erasure concealment)とも称する不良フレームの処理である。ビットストリームは、通常、ビットの連続するフレーム(またはブロック)としてコーディング側でフォーマットされる。チャネル損傷(たとえば、CRC (巡回冗長検査)違反、パケット消失、または遅延など)に起因して、いくつかのフレームが、デコーディング側で正しく受け取られない場合がある。その場合に、デコーダは、通常、フレームイレージャを宣言するフラグを受け取り、不良フレームは、デコーダの過去のヒストリに基づいて外挿することによって「デコード」される。CELPデコーディングで不良フレームを処理する一般的な手順は、過去のLP合成フィルタを再利用することと、以前の励振を外挿することからなる。
【００２２】
フレーム消失に対する堅牢性を改善するために、順方向誤り訂正コーディングすなわちFECコーディングとも称するパラメータ反復を使用することができる。
【００２３】
TCXコーディングまたはスイッチドACELP/TCXコーディングのフレームイレージャコンシールメントの問題は、現在の技術ではまだ対処されていない。
【非特許文献１】[Jayant, 1984]
【非特許文献２】[Gersho, 1992]
【非特許文献３】[Kleijn, 1995]
【非特許文献４】[Atal, 1985]
【非特許文献５】[3GPP TS 26.190]
【非特許文献６】[Bessette, 2002]
【非特許文献７】[3GPP TS 26.173]
【非特許文献８】[Moreau, 1992]
【非特許文献９】[Lefebvre, 1994]
【非特許文献１０】[Chen, 1996]
【非特許文献１１】[Chen, 1997]
【非特許文献１２】[Jbira, 1998]
【非特許文献１３】[Ramprashad, 2001]
【非特許文献１４】[Xie, 1996]
【非特許文献１５】[Schnitzler, 1999]
【非特許文献１６】[Bessette et al, 1999]
【非特許文献１７】[Combescure, 1999]
【非特許文献１８】[Gibson, 1988]
【非特許文献１９】[Ragot, 2002]
【非特許文献２０】[Bessette et al, 2002]
【発明の開示】
【課題を解決するための手段】
【００２４】
本発明によれば、下記が提供される。
(1)複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調する方法であって、
位置インデックスを有する1ブロックの最大エネルギを計算することと、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとに係数を計算することであって、係数の前記計算が、ブロックごとに、
前記ブロックのエネルギを計算することと、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算することと
を含む、計算することと、
ブロックごとに、前記ブロックの前記変換係数に適用される利得を前記係数から判定することと
を含む方法。
(2)複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調するデバイスであって、
位置インデックスを有する1ブロックの最大エネルギを計算する手段と、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとに係数を計算する手段であって、前記係数計算手段が、ブロックごとに、
前記ブロックのエネルギを計算する手段と、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算する手段と
を含む、手段と、
ブロックごとに、前記ブロックの前記変換係数に適用される利得を前記係数から判定する手段と
を含むデバイス。
(3)複数のブロックにグループ化された変換係数を含む、周波数領域で変換されたサウンド信号のスペクトルを低周波数強調するデバイスであって、
位置インデックスを有する1ブロックの最大エネルギのカリキュレータと、
最大エネルギを有するブロックの前記位置インデックスより小さい位置インデックスを有するブロックごとの係数のカリキュレータであって、前記係数カリキュレータが、ブロックごとに、
前記ブロックのエネルギを計算し、
前記計算された最大エネルギおよび前記ブロックの前記計算されたエネルギから前記係数を計算する
カリキュレータと、
ブロックごとに、前記係数に応答する利得のカリキュレータであって、前記利得が、前記ブロックの前記変換係数に適用される、カリキュレータと、
を含むデバイス。
(4)受け取られたコーディングされたサウンド信号を処理する方法であって、
前記受け取られたコーディングされたサウンド信号からコーディングパラメータを抽出することであって、前記抽出されたコーディングパラメータが、前記サウンド信号の周波数変換の変換係数を含み、前記変換係数が、上で定義した方法を使用して低周波数強調された、抽出することと、
前記サウンド信号を合成するために前記抽出されたコーディングパラメータを処理することであって、前記低周波数強調された変換係数を低周波数デエンファサイズすることを含む、処理することと
を含む方法。
(5)受け取られたコーディングされたサウンド信号を処理するデコーダであって、
前記受け取られたコーディングされたサウンド信号を供給され、前記受け取られたコーディングされたサウンド信号からのコーディングパラメータのエクストラクタを実施する入力デコーダであって、前記抽出されたコーディングパラメータが、前記サウンド信号の周波数変換の変換係数を含み、前記変換係数が、上で定義したデバイスを使用して低周波数強調された、入力デコーダと、
前記サウンド信号を合成するための前記抽出されたコーディングパラメータのプロセッサであって、前記プロセッサが、前記低周波数強調された変換係数を供給される低周波数デエンファシスモジュールを含む、プロセッサと
を含むデコーダ。
(6)全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディング方法であって、
前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るために、前記LF信号および前記HF信号に対してLPC分析を実行することと、
前記LPC係数からHFマッチング差の推定値を計算することと、
前記HF信号のエネルギを計算することと、
前記HF信号の合成された版を作るために前記LF信号を処理することと、
前記HF信号の前記合成された版のエネルギを計算することと、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比を計算し、前記計算された比をHF補償利得として表すことと、
利得訂正を得るために、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差を計算することと
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディング方法。
(7)全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディングデバイスであって、
前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るために、前記LF信号および前記HF信号に対してLPC分析を実行する手段と、
前記LPC係数からHFマッチング利得の推定値を計算する手段と、
前記HF信号のエネルギを計算する手段と、
前記HF信号の合成された版を作るために前記LF信号を処理する手段と、
前記HF信号の前記合成された版のエネルギを計算する手段と、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比を計算する手段および前記計算された比をHF補償利得として表す手段と、
利得訂正を得るために、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差を計算する手段と
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディングデバイス。
(8)全帯域幅サウンド信号のHF信号およびLF信号への分離から得られた前記HF信号を帯域幅拡張方式を介してコーディングするHFコーディングデバイスであって、
前記LF信号および前記HF信号を供給され、前記HF信号に応答して前記LF信号および前記HF信号のスペクトルエンベロープをモデル化するLPC係数を作るLPC分析手段と、
前記LPC係数に応答するマッチングHF利得の推定値のカリキュレータと、
前記HF信号のエネルギのカリキュレータと、
前記LF信号を供給され、前記LF信号に応答して、前記HF信号の合成された版を作るフィルタと、
前記HF信号の前記合成された版のエネルギのカリキュレータと、
前記HF信号の前記計算されたエネルギと前記HF信号の前記合成された版の前記計算されたエネルギとの間の比のカリキュレータと、
前記計算された比を供給され、前記計算された比をHF補償利得として表すコンバータと、
利得訂正を得るための、前記HFマッチング利得の前記推定値と前記HF補償利得との間の差のカリキュレータと
を含み、前記コーディングされたHF信号が、前記LPCパラメータおよび前記利得訂正を含む
HFコーディングデバイス。
(9)帯域幅拡張方式を介してコーディングされたHF信号をデコードする方法であって、
前記コーディングされたHF信号を受け取ることと、
前記コーディングされたHF信号からLPC係数および利得訂正を抽出することと、
前記抽出されたLPC係数からHF利得の推定値を計算することと、
HF利得を得るために前記HF利得の前記計算された推定値に前記利得訂正を加算することと、
HF励振信号を作るために前記HF利得によってLF励振信号を増幅することと、
前記HF信号の合成された版を作るためにHF合成フィルタを介して前記HF励振信号を処理することと
を含む方法。
(10)帯域幅拡張方式を介してコーディングされたHF信号をデコードするデコーダであって、
前記コーディングされたHF信号を受け取る手段と、
前記コーディングされたHF信号からLPC係数および利得訂正を抽出する手段と、
前記抽出されたLPC係数からHF利得の推定値を計算する手段と、
HF利得を得るために前記HF利得の前記計算された推定値に前記利得訂正を加算する手段と、
HF励振信号を作るために前記HF利得によってLF励振信号を増幅する手段と、
前記HF信号の合成された版を作るためにHF合成フィルタを介して前記HF励振信号を処理する手段と
を含むデコーダ。
(11)帯域幅拡張方式を介してコーディングされたHF信号をデコードするデコーダであって、
前記コーディングされたHF信号を受け取る入力と、
前記コーディングされたHF信号を供給され、前記コーディングされたHF信号からLPC係数を抽出するデコーダと、
前記コーディングされたHF信号を供給され、前記コーディングされたHF信号から利得訂正を抽出するデコーダと、
前記抽出されたLPC係数からのHF利得の推定値のカリキュレータと、
HF利得を得るための前記HF利得の前記計算された推定値と前記利得訂正との加算器と、
HF励振信号を作るための前記HF利得によるLF励振信号の増幅器と、
前記HF励振信号を供給され、前記HF励振信号に応答して前記HF信号の合成された版を作るHF合成フィルタと
を含むデコーダ。
(12)第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替える方法であって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答を計算することと、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングすることと、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去することと
を含む方法。
(13)第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替えるデバイスであって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答を計算する手段と、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする手段と、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去する手段と
を含むデバイス。
(14)第1サウンド信号コーディングモードに従ってコーディングされた前のフレームと第2サウンド信号コーディングモードに従ってコーディングされた現在のフレームとの接合点で前記第1コーディングモードから前記第2コーディングモードに切り替えるデバイスであって、前記サウンド信号が、前記現在のフレームで重み付き信号を作るために重み付けフィルタを介してフィルタリングされ、
前記重み付けフィルタの0入力応答のカリキュレータと、
前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングするウィンドウジェネレータと、
前記現在のフレームで、前記重み付き信号から前記ウィンドウイングされた0入力応答を除去する加算器と
を含むデバイス。
(15)デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作る方法であって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングすることと、
前記ウィンドウの左部分をスキップすることと、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答を計算し、前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングすることと、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算することと
を含む方法。
(16)デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作るデバイスであって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングする手段と、
前記ウィンドウの左部分をスキップする手段と、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答を計算する手段および前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする手段と、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算する手段と
を含むデバイス。
(17)デコードされたターゲット信号から、第1コーディングモードに従ってコーディングされた現在のフレーム内のオーバーラップ加算ターゲット信号を作るデバイスであって、
前記現在のフレームの前記デコードされたターゲット信号を所与のウィンドウ内でウィンドウイングする第1ウィンドウジェネレータと、
前記ウィンドウの左部分をスキップする手段と、
第2コーディングモードに従ってコーディングされた前のフレームの重み付けフィルタの0入力応答のカリキュレータおよび前記0入力応答が所定の時間期間の後に0まで単調に減少する振幅を有するように前記0入力応答をウィンドウイングする第2ウィンドウジェネレータと、
前記オーバーラップ加算ターゲット信号を再構成するために前記計算された0入力応答を前記デコードされたターゲット信号に加算する加算器と
を含むデバイス。
【００２５】
本発明の前述および他の目的、利益、および特徴は、添付図面を例としてのみ参照することによって与えられる、本発明の例示的実施形態の次の非制限的な説明を読んだ時により明白になる。
【発明を実施するための最良の形態】
【００２６】
本発明の非制限的で例示的な実施形態を、ACELP/TCXコーディングモデルおよび自己スケーラブルマルチレート格子ベクトル量子化モデルを使用するオーディオコーディング/デコーディングデバイスに関して開示する。しかし、本発明を、他のタイプのコーディングモデルおよび量子化モデルに同等に適用できることに留意されたい。
【００２７】
コーダの概要
コーダの高水準の説明
本発明によるコーダの一実施形態の高水準概略ブロック図を図1に示す。
【００２８】
図1を参照すると、入力信号が、16kHz以上の周波数でサンプリングされ、Tms、たとえばT = 80msを有する、1.004などのスーパーフレームでコーディングされる。各スーパーフレーム1.004は、たとえばAMR-WBでの前処理に似た形で、前処理され、2つのサブバンドに分割される。1.005などの低周波数(LF)信号が、0〜6400Hz帯で定義され、1.006などの高周波数(HF)信号が、6400〜Fmax Hz帯で定義され、ここで、Fmaxは、ナイキスト周波数である。ナイキスト周波数は、元の信号を歪みなしで再構成することを理論的に可能にする最小サンプリング周波数であり、そのスペクトルが名目上0周波数から最大周波数まで延びる信号について、ナイキスト周波数は、この最大周波数の2倍と等しい。
【００２９】
図1を参照すると、LF信号1.005は、図示の実施例ではAMR-WBコア上で作られたマルチモードACELP/TCXコーディング(モジュール1.002を参照されたい)を介してコーディングされる。AMR-WBは、80msスーパーフレーム内の20msフレームを操作する。ACELPモードは、AMR-WBコーディングアルゴリズムに基づき、したがって、20msフレームを操作する。TCXモードは、80msスーパーフレーム内の20msフレーム、40msフレーム、または80msフレームのいずれでも操作することができる。この例示的実施例では、20ms、40ms、および80msの3つのTCXフレーム長が、それぞれ2.5ms、5ms、および10msのオーバーラップと共に使用される。オーバーラップは、TCXモードでフレーミングの影響を減らすのに必要である(変換コーディングと同様)。
【００３０】
図2は、LF信号のACELP/TCXコーディングのフレームタイプのタイミングチャートの実施例を表す。図2に示されているように、ACELPモードは、80msスーパーフレーム2.005内の第1の2.001、第2の2.002、第3の2.003、および第4の2.004 20ms ACELPフレームのどれにおいても選択することができる。同様に、TCXモードは、80msスーパーフレーム2.005の第1の2.006、第2の2.007、第3の2.008、および第4の2.009 20ms TC xフレームのどれにおいても選択することができる。さらに、最初の2つまたは最後の2つの20msフレームを一緒にグループ化して、TCXモードでコーディングされる40ms TCXフレーム2.011および2.012を形成することができる。最後に、80msスーパーフレーム2.005全体を、1つの単一の80ms TCXフレーム2.010にコーディングすることができる。したがって、ACELPフレームおよびTCXフレームの合計26個の異なる組合せが、2.005などの80msスーパーフレームのコーディングに使用可能である。フレームのタイプすなわちACELPまたはTCXと80msスーパーフレーム内でのその長さは、次の説明で開示するように、閉ループで判定される。
【００３１】
図1を参照すると、HF信号1.006は、帯域幅拡張手法(HFコーディングモジュール1.003を参照されたい)を使用してコーディングされる。帯域幅拡張では、励振フィルタパラメトリックモデルが使用され、ここで、フィルタは、少数のビットを使用してコーディングされ、励振は、デコーダで、受け取られたLF信号励振から再構成される。また、一実施形態で、下側帯域に選択されるフレームタイプ(ACELP/TCX)は、80msスーパーフレームで帯域幅拡張に使用されるフレーム長を直接に指示する。
【００３２】
スーパーフレーム構成
すべての可能なスーパーフレーム構成を、(m1, m2, m3, m4)の形で表2にリストするが、ここで、mkは、80msスーパーフレームの内部の20msのk番目のフレームについて選択されるフレームタイプを表し、
20ms ACELPフレームではmk = 0
20ms TCXフレームではmk = 1
40ms TCXフレームではmk = 2
80ms TCXフレームではmk = 3
である。
【００３３】
たとえば、構成(1, 0, 2, 2)は、80msスーパーフレームが、最初の20msフレームを20ms TCXフレーム(TCX20)としてコーディングし、次に2番目の20msフレームを20ms ACELPフレームとしてコーディングし、最後に最後の2つの20msフレームを単一の40ms TCXフレーム(TCX40)としてコーディングすることによってコーディングされることを示す。同様に、構成(3, 3, 3, 3)は、80ms TCXフレーム(TCX80)が、スーパーフレーム2.005全体を定義することを示す。
【００３４】
【表２】
2007525707.tif 000004
【００３５】
モード選択
スーパーフレーム構成は、開ループ判断または閉ループ判断のいずれかによって判定することができる。開ループ手法は、スーパーフレーム構成を選択することと、その後の、全体的な複雑さを減らす形などでのスーパーフレームコーディングの前の分析からなる。閉ループ手法は、すべてのスーパーフレーム構成を試行し、最良の構成を選択することからなる。閉ループ判断は、一般に、開ループ判断と比較して、より高い品質をもたらすが、複雑さのトレードオフがある。閉ループ判断の非制限的な実施形態を、次の表3に要約する。
【００３６】
閉ループ判断のこの非制限的な実施例では、表2の26個のすべての可能なスーパーフレーム構成を、11回の試行だけで選択することができる。表3の左半分(試行)は、11回の試行のそれぞれで各20msフレームにどのコーディングモードが適用されるかを示す。Fr1からFr4は、スーパーフレームのフレーム1からフレーム4を指す。各試行番号(1から11)は、閉ループ判断プロセスの1ステップを示す。最終的な判断は、ステップ11の後でなければわからない。各20msフレームが、11回の試行のうちの4回だけに用いられることに留意されたい。複数のフレームが1つの試行に用いられる(たとえば、試行5、10、および11を参照されたい)場合に、対応する長さのTCXコーディングが適用される(TCX40またはTCX80)。閉ループ判断プロセスの中間ステップを理解するために、表3の右半分に、試行11の後の最終的な判断がTCX80である場合の、閉ループ判断の例を示す。これは、その特定のスーパーフレームの4つすべての20msフレームのモードに関する値3に対応する。表3の右側の例の太字の番号は、閉ループ判断プロセスの中間ステップのどの点でモード選択が行われるかを示す。
【００３７】
【表３】
2007525707.tif 000005
【００３８】
表3の閉ループ判断プロセスは、次のように進行する。まず、試行1および2で、ACELP (AMR-WB)コーディングおよびTCX20コーディングを、20msフレームFr1に対して試行する。次に、この2つのモードの間で、フレームFr1について選択を行う。選択基準は、重み付き信号と合成された重み付き信号の間のセグメンタル信号対雑音比(SNR)とすることができる。セグメンタルSNRは、たとえば、5msセグメントを使用して計算され、選択されるコーディングモードは、最良のセグメンタルSNRをもたらすコーディングモードである。表3の例では、表3の右側の太字で示されているように、ACELPモードが保持されたと仮定する。
【００３９】
試行3および4で、同一の比較を、フレームFr2についてACELPとTCX20の間で行う。表3の図示の例では、TCX20がACELPよりよかったと仮定する。やはり、TCX20が、上で説明したセグメンタルSNR尺度を基礎として選択される。この選択は、表3の右側の行4の太字で示されている。
【００４０】
試行5で、フレームFr1およびFr2を一緒にグループ化して、TCX40を使用してコーディングされる40msフレームを形成する。このアルゴリズムは、ここで、第1フレームFr1のACELPおよび第2フレームFr2のTCX20と比較した、最初の2つのフレームFr1およびFr2のTCX40の間で選択しなければならない。表3の例では、表3の右側の行5の太字で示されているように、上で説明したセグメンタルSNR基準に従って、シーケンスACELP-TCX20が選択されたと仮定する。
【００４１】
次に、試行1から5と同一の手順を、試行6から10で第3フレームFr3および第4フレームFr4に適用する。表3の例では、試行10の後に、4つの20msフレームが、フレームFr1についてACELP、フレームFr2についてTCX20、一緒にグループ化されたフレームFr3およびFr4についてTCX40として分類される。
【００４２】
最後の試行11は、4つすべての20msフレームすなわち80msスーパーフレーム全体がTCX80を用いてコーディングされる時に実行される。やはり、セグメンタルSNR基準を5msセグメントを用いて使用して、試行10と11を比較する。表3の例では、最後の閉ループ判断が、スーパーフレーム全体のTCX80であると仮定する。4つの20msフレームのモードビットは、表2で述べた(3, 3, 3, 3)になる。
【００４３】
TCXモードの概要
上で開示した閉ループモード選択は、モード判断を行う前に、ACELPおよびTCXを使用してスーパーフレームのサンプルをコーディングしなければならないことを暗示する。ACELPコーディングは、AMR-WBと同様に実行される。TCXコーディングは、図5Ａ〜Ｃのブロック図に示されているように実行される。TCXコーディングモードは、20ms、40ms、および80msのTCXフレームに類似するが、ほとんどがウィンドウイングおよびフィルタ補間にかかわる少数の相違がある。TCXコーディングの詳細を、コーダの次の説明で与える。とりあえず、図5Ａ〜ＣのTCXコーディングは、次のように要約することができる。
【００４４】
入力オーディオ信号を、知覚重み付けフィルタ(AMR-WBでの知覚重み付けフィルタと同一)を介してフィルタリングして、重み付き信号を入手する。重み付けフィルタ係数は、TCXフレーム長に依存する形で補間される。過去のフレームがACELPフレームである場合には、知覚重み付けフィルタの0入力応答(ZIR)を、重み付けされた信号から除去する。次に、この信号をウィンドウイングし(ウィンドウ形状は、次の説明で説明する)、変換を、ウィンドウイングされた信号に適用する。変換領域では、信号は、まず、下側周波数でのコーディング雑音アーチファクトを最小にするために前シェーピングされ、次に、次の説明で開示する特定の格子クォンタイザを使用して量子化される。量子化の後に、逆前シェーピング関数をスペクトルに適用し、次に、このスペクトルを逆変換して、量子化された時間領域信号をもたらす。利得再スケーリングの後に、量子化された信号にウィンドウをもう一度適用して、変換領域での量子化のブロック効果を最小にする。前のフレームもTCXモードである場合には、前のフレームと共にオーバーラップおよび加算を使用する。最後に、適当なフィルタメモリ更新を伴う逆フィルタリングを介して、励振信号を見つける。このTCX励振は、ACELP (AMR-WB)励振と同一の「領域」内にある。
【００４５】
図5Ａ〜Ｃに示されたTCXコーディングの詳細は、本明細書で下で説明する。
【００４６】
帯域幅拡張(BWE)の概要
帯域幅拡張は、ビットレートと複雑さの両方に関して、低コストでHF信号をコーディングするのに使用される方法である。この非制限的な実施例では、励振フィルタモデルが、HF信号のコーディングに使用される。励振は、伝送されない。そうではなく、デコーダは、受け取ったデコードされたLF励振からHF信号励振を外挿する。HF励振信号を伝送するためのビットは不要であり、HF信号に関連するすべてのビットが、このHF信号のスペクトルエンベロープの近似を伝送するのに使用される。線形LPCモデル(フィルタ)が、図1のダウンサンプリングされたHF信号1.006に対して計算される。これらのLPC係数は、少数のビットを用いてコーディングすることができる。というのは、耳の分解能が、高周波数で下がり、オーディオ信号のスペクトル動力学も、高周波数でより小さくなる傾向があるからである。利得も、20msフレームおきに伝送される。この利得は、LF励振信号から外挿されたHF励振信号とHF信号に関連する伝送されるLPCフィルタとの間のマッチングの欠如を補償するために必要である。LPCフィルタは、ISF (Immitance Spectral Frequencies)領域で量子化される。
【００４７】
低周波数帯域および高周波数帯域でのコーディングは、時間同期式であり、帯域幅拡張が、下側帯域のモード選択に従ってスーパーフレーム上でセグメント化されるようになっている。帯域幅拡張モジュールは、コーダの次の説明で開示する。
【００４８】
コーディングパラメータ
コーディングパラメータは、図1に示された3つのカテゴリすなわち、スーパーフレーム構成情報(またはモード情報)1.007、LFパラメータ1.008、およびHFパラメータ1.009に分類することができる。
【００４９】
スーパーフレーム構成は、異なる手法を使用してコーディングすることができる。たとえば、特定のシステム要件を満足するために、しばしば、それぞれがより少数のビットに対応し、おそらくはより短い持続時間を有するより小さいパケットのシーケンスとして、80msスーパーフレームなどの大きいパケットを送ることが望まれるか必要である。ここで、各80msスーパーフレームは、4つの連続するより小さいパケットに分割される。スーパーフレームを4つのパケットに区分するために、あるスーパーフレーム内の各20msフレームについて選択されるフレームのタイプは、対応するパケットに含まれる2ビットによって示される。これは、整数mk ∈ {0, 1, 2, 3}をそれに対応する2進表現に写像することによって、たやすく達成することができる。mkが、80msスーパーフレーム内のk番目の20msフレームについて選択されたコーディングモードを記述する整数であることを想起されたい。
【００５０】
LFパラメータは、フレームのタイプに依存する。ACELPフレームでは、LFパラメータが、AMR-WBのパラメータと同一であるが、音楽信号でのアタックに対するAMR-WBの性能を高めるための平均エネルギパラメータが追加されている。具体的には、20msフレームがACELPモード(モード0)でコーディングされる場合に、対応するパケットでその特定のフレームについて送られるLFパラメータは、次の通りである。
・ISFパラメータ(AMR-WBから再利用される46ビット)、
・平均エネルギパラメータ(AMR-WBと比較して2つの追加ビット)、
・ピッチラグ(AMR-WBと同様)、
・ピッチフィルタ(AMR-WBと同様)、
・固定コードブックインデックス(AMR-WBから再利用される)、および
・コードブック利得(3GPP AMR-WBと同様)。
【００５１】
TCXフレームでは、ISFパラメータが、ACELPモード(AMR-WB)と同一であるが、TCXフレームごとに1回だけ伝送される。たとえば、80msスーパーフレームが、2つの40ms TCXフレームから構成される場合に、2組のISFパラメータだけが、その80msスーパーフレーム全体について伝送される。同様に、80msスーパーフレームが、1つの80ms TCXフレームだけとしてコーディングされる場合に、1組のISFパラメータだけが、そのスーパーフレームについて送られる。TCX20、TCX40、またはTCX80のどれであれ、TCXフレームごとに、次のパラメータが伝送される。
・1組のISFパラメータ(AMR-WBから再利用される46ビット)、
・マルチレート格子VQの量子化されたスペクトル係数を記述するパラメータ(図6を参照されたい)、
・雑音フィルイン用の雑音係数(3ビット)、および
・大域利得(スカラ、7ビット)。
【００５２】
これらのパラメータおよびそのコーディングを、コーダの次の説明で開示する。TCXフレームのビットバジェット(bit budget)の大きい部分が、格子VQインデックス専用であることに留意されたい。
【００５３】
帯域幅拡張によって提供されるHFパラメータは、通常は、スペクトルエンベロープおよびエネルギに関係する。次のHFパラメータが伝送される。
・フレームごとに1組のISFパラメータ(8、9ビット程度)、ただし、フレームは、20ms ACELPフレーム、TCX20フレーム、TCX40フレーム、またはTCX80フレームとすることができる、
・20msフレーム、40msフレーム、または80msフレームごとに1利得の、4次元利得ベクトルとして量子化されたHF利得(7ビット)、および
・TCX40フレームおよびTCX80フレームの、これらのTCXモードでより粗に量子化されたHF利得を変更するための、HF利得訂正。
【００５４】
一実施形態によるビット割振り
この実施形態によるACELP/TCXコーデックは、5つのビットレートすなわち、13.6kbit/s、16.8kbit/s、19.2kbit/s、20.8kbit/s、および24.0kbit/sで動作することができる。これらのビットレートは、AMR-WBレートのうちのいくつかに関係する。上で述べた5つのビットレートで各80msスーパーフレームをエンコードするためのビット数は、それぞれ1088ビット、1344ビット、1536ビット、1664ビット、および1920ビットである。具体的に言うと、合計8ビットが、スーパーフレーム構成に割り振られ(20msフレームあたり2ビット)、64ビットが、各80msスーパーフレーム内の帯域幅拡張に割り振られる。HF信号およびスペクトルエンベロープをエンコードするために望まれる分解能に応じて、より多数またはより少数のビットを帯域幅拡張に使用することができる。残りのビットバジェットすなわちビットバジェットのほとんどは、図1のLF信号1.005をエンコードするのに使用される。異なるタイプのフレームに関する通常のビット割振りの非制限的な実施例を、表9〜12に示す。帯域幅拡張に関するビット割振りを、表13に示す。これらの表には、異なるパラメータをエンコードするのに通常使用される総ビットバジェットの比率が示されている。それぞれTCX40フレームおよびTCX80フレームに対応する表11および12で、括弧内の数字が、等しいサイズの2つのパケット(表11)または4つのパケット(表12)へのビットの分割を示すことに留意されたい。たとえば、表12は、TCX80モードで、スーパーフレームの46個のISFビット(スーパーフレーム全体について1つのLPCフィルタ)が、第1パケット内の16ビット、第2パケット内の6ビット、第3パケット内の12ビット、および最終パケット内の12ビットに分割されることを示す。
【００５５】
同様に、代数VQビット(TCXモードのビットバジェットのほとんど)は、2つのパケット(表11)または4つのパケット(表12)に分割される。この分割は、量子化されたスペクトルが2つ(表11)または4つ(表12)のインターリーブされたトラックに分割される形で行われ、各トラックには、各2つ(表11)または各4つ(表12)のスペクトルブロックのうちの1つが含まれる。各スペクトルブロックは、4つの連続する複素スペクトル係数からなる。このインターリーブは、パケットが欠けている場合に、それがTCX40フレームおよびTCX80フレームのデコードされたスペクトルのインターリーブされた「穴」だけを引き起こすことを保証する。TCX40フレームおよびTCX80フレームのより小さいパケットへのビットのこの分割は、所与のパケットに書き込む時のオーバーフローを管理するために、注意深く行わなければならない。
【００５６】
コーダの非制限的な例示的実施形態の説明
コーダのこの実施形態では、オーディオ信号が、1サンプルあたり16ビットの分解能で、16kHz以上でPCMフォーマットでサンプリングされると仮定する。コーダの役割は、オーディオ信号に基づいてパラメータを計算し、コーディングし、デコードおよび合成のために、ビットストリームにエンコードされたパラメータを伝送することである。フラグが、何が入力サンプリングレートであるかをコーダに示す。
【００５７】
コーダのこの実施形態の単純化されたブロック図を、図1に示す。
【００５８】
入力信号は、80msの連続するブロックに分割され、このブロックを、次の説明では1.004(図1)などのスーパーフレームと称する。各80msスーパーフレーム1.004は、プリプロセッサおよび分析フィルタバンク1.001によって、AMR-WB音声コーディングに似た技法を使用して、前処理され、その後、2つのサブバンド信号すなわち、LP信号1.005およびHF信号1.006に分割される。たとえば、LF信号1.005およびHF信号1.006は、それぞれ周波数帯0〜6400Hzおよび6400〜11025Hzで定義される。
【００５９】
コーダの概要で開示したように、LF信号1.005は、LF (ACELP/TCX)コーディングモジュール1.002を介してマルチモードACELP/TCXコーディングによってコーディングされて、モード情報1.007および量子化されたLFパラメータ1.008が作られ、HF信号は、HF(帯域幅拡張)コーディングモジュール1.003を介してコーディングされて、量子化されたHFパラメータ1.009が作られる。図1に示されているように、モード情報1.007、量子化されたHFパラメータ1.008、および量子化されたLFパラメータ1.009を含む所与の80msスーパーフレーム内で計算されたコーディングパラメータは、マルチプレクサ1.010を介して、たとえば4つの等しいサイズのパケット1.011に多重化される。
【００６０】
次の説明では、プリプロセッサおよび分析フィルタバンク1.001、LF (ACELP/TCX)コーディングモジュール1.002、およびHFコーディングモジュール1.003を含む図1の図の主要なブロックを、詳細に説明する。
【００６１】
プリプロセッサおよび分析フィルタバンク1.001
図19は、図1のプリプロセッサおよび分析フィルタバンク1.001の概略ブロック図である。図19を参照すると、入力の80msスーパーフレーム1.004が、図1のプリプロセッサおよび分析フィルタバンク1.001の出力で、2つのサブバンド信号、具体的にはLF信号1.005およびHF信号1.006に分割される。
【００６２】
さらに図19を参照すると、HFダウンサンプリングモジュール19.001が、入力の80msスーパーフレームの正しいフィルタリング(たとえばAMR-WBを参照されたい)を用いるダウンサンプリングを実行して、HF信号1.006(80msフレーム)を入手し、LFダウンサンプリングモジュール19.002が、入力の80msスーパーフレームの正しいフィルタリング(たとえばAMR-WBを参照されたい)を用いるダウンサンプリングを実行して、AMR-WBサブバンド分解に似た方法を使用してLF信号(80msフレーム)を入手する。HF信号1.006は、図1のHFコーディングモジュール1.003の入力信号を形成する。LFダウンサンプリングモジュール19.002からのLF信号は、さらに、図1のLFコーディングモジュール1.002に供給される前に、2つのフィルタによって前処理される。まず、モジュール19.002からのLF信号は、50Hzのカットオフ周波数を有する高域フィルタ19.003を介して処理されて、直流成分および超低周波数成分を除去される。次に、高域フィルタ19.003からのフィルタリングされたLF信号が、デエンファシスフィルタ19.004を介して処理されて、高周波数成分が強調される。このデエンファシスは、通常、広帯域音声コーダ内にあり、したがって、本明細書ではさらには説明しない。デエンファシスフィルタ19.004の出力は、LFコーディングモジュール1.002に供給される、図1のLF信号1.005を構成する。
【００６３】
LFコーディング
LFコーダの非制限的な実施例の単純化されたブロック図を、図18に示す。図18は、2つのコーディングモード、排他的ではなく具体的にはACELPモードおよびTCXモードが、すべての80msスーパーフレーム内で競合することを示す。具体的には、ACELPコーダ18.015およびTCXコーダ18.016の出力のセレクタスイッチ18.017が、80msスーパーフレーム内の各20msフレームをACELPモードまたはTCXモードすなわち、TCX20モード、TCX40モード、またはTCX80モードのいずれかでコーディングすることを可能にする。モード選択は、コーダの上の概要で説明したように行われる。
【００６４】
したがって、LFコーディングは、2つのコーディングモードすなわち、20msフレームに適用されるACELPモードとTCXとを使用する。オーディオ品質を最適化するために、TCXモードのフレームの長さは、可変にすることを許容される。上で説明したように、TCXモードは、20msフレーム、40msフレーム、または80msフレームのいずれかを操作する。コーダで使用される実際のタイミング構造を、図2に示す。
【００６５】
図18では、LPC分析が、まず、入力LF信号s(n)に対して実行される。LPC分析のウィンドウのタイプ、位置、および長さを、図3に示すが、図3では、ウィンドウが、LF信号の80msセグメントに所与のルックアヘッドを加えたものに関して位置決めされている。ウィンドウは、20msごとに位置決めされる。ウィンドウイングの後に、LPC係数が、20msごとに計算され、次に、ISP (Immitance Spectral Pairs)表現に変換され、デコーダへの伝送のために量子化される。量子化されたISP係数は、スペクトルエンベロープの漸進的変化を平滑化するために5msおきに補間される。
【００６６】
具体的には、モジュール18.002は、入力LF信号s(n)に対して、20msごとにウィンドウイングおよび自己相関の両方を実行する責任を負う。モジュール18.002にはモジュール18.003が続き、モジュール18.003は、ラグウィンドウイングおよび白色雑音訂正を実行する。ラグウィンドウイングされ白色雑音訂正された信号は、モジュール18.004で実施されるレビンソン-ダービンアルゴリズムを介して処理される。モジュール18.005は、LPC係数のISP変換を実行する。モジュール18.005からのISP係数は、モジュール18.006によって、ISP領域で5msごとに補間される。最後に、モジュール18.007が、モジュール18.006からの補間されたISP係数を、5msごとに、補間されたLPCフィルタ係数A(z)に変換する。
【００６７】
モジュール18.005からのISPパラメータは、ISF (Immitance Spectral Frequencies)領域での量子化(モジュール18.009)の前に、モジュール18.008でISFパラメータに変換される。モジュール18.009からの量子化されたISFパラメータは、ACELP/TCXマルチプレクサ18.021に供給される。
【００６８】
また、モジュール18.009からの量子化されたISFパラメータは、モジュール18.010でISPパラメータに変換され、得られたISPパラメータが、5msごとにモジュール18.011によってISP領域で補間され、補間されたISPパラメータが、5msごとに、量子化されたLPCパラメータA(z)に変換される。
【００６９】
図18のLF入力信号s(n)は、前述の説明で説明したように、すべての可能なフレーム長の組合せで、ACELPコーダ18.015によるACELPモードとTCXコーダ18.016によるTCXモードの両方でエンコードされる。ACELPモードでは、20msフレームだけが80msスーパーフレーム内で考慮されるが、TCXモードでは、20msフレーム、40msフレーム、および80msフレームを考慮することができる。表2のすべての可能なACELP/TCXコーディング組合せが、コーダ18.015および18.016によって生成され、その後、対応する合成された信号を重み付けされた領域で元の信号と比較することによってテストされる。表2に示されているように、最終的な選択は、コーディングされた80msスーパーフレーム内のACELPフレームとTCXフレームの混合物とすることができる。
【００７０】
そのために、LF信号s(n)が、知覚重み付けフィルタ18.013を介して処理されて、重み付けされたLF信号が作られる。同一の形で、スイッチセレクタ18.017の位置に応じてACELPコーダ18.015またはTCXコーダ18.016のいずれかからの合成された信号が、知覚重み付けフィルタ18.018を介して処理されて、重み付けされた合成信号が作られる。減算器18.019が、重み付けされたLF信号から重み付けされた合成信号を引いて、重み付けされた誤差信号を作る。セグメンタルSNR計算ユニット18.020は、フィルタ18.013からの重み付けされたLP信号と重み付けされた誤差信号の両方に対して、セグメンタル信号対雑音比(SNR)を作る責任を負う。セグメンタルSNRは、5msサブフレームごとに作られる。セグメンタルSNRの計算は、当業者に周知であり、したがって、本明細書では詳細には説明しない。80msスーパーフレームに対してセグメンタルSNRを最小にするACELPモードおよび/またはTCXモードの組合せが、最良のコーディングモード組合せとして選択される。やはり、80msスーパーフレームでの26個の可能なACELPモードおよび/またはTCXモードの組合せを定義する表2を参照する。
【００７１】
ACELPモード
使用されるACELPモードは、AMR-WB音声コーディング標準規格の12.8kHzで動作するACELPアルゴリズムに非常に似ている。AMR-WBのACELPアルゴリズムと比較した主な変更は、次の通りである。
・LP分析が、図3に示された、異なるウィンドウイングを使用する。
・コードブック利得の量子化が、次の説明で説明するように、5msサブフレームごとに行われる。
ACELPモードは、5msサブフレームを操作し、ここで、ピッチ分析および代数コードブック検索が、サブフレームごとに実行される。
【００７２】
ACELPモードでのコードブック利得量子化
所与の5ms ACELPサブフレーム内で、ピッチ利得gpおよび固定コードブック利得gcを含む2つのコードブック利得が、AMR-WBの7ビット利得量子化に基づいて共同して量子化される。しかし、AMR-WBで使用される固定コードブック利得gcの移動平均(MA)予測は、明示的にコーディングされる絶対参照値によって置換される。したがって、コードブック利得は、平均除去量子化の形によって量子化される。このメモリレス(非予測)量子化は、よく正当化される。というのは、ACELPモードを、非音声信号、たとえば音楽信号の過度に適用することができ、これが、AMR-WBの予測手法より一般的な量子化を必要とするからである。
【００７３】
絶対参照値の計算および量子化(対数領域での)
μenerと表されるパラメータを、開ループで計算し、フレームごとに1回、2ビットを用いて量子化する。LPC残差の現在の20msフレームr = (r0, r1, ..., rL)(ただし、Lはフレーム内のサンプル数)を、4つの5msサブフレーム、ri = (ri(0), ..., ri(Lsub - 1))に分割するが、i = 0, 1, ..., 3であり、Lsubはサブフレーム内のサンプル数である。パラメータμenerは、LPC残差の現在のフレームに対するサブフレームのエネルギの平均(dB単位)
【００７４】
【数１】
2007525707.tif 000006
【００７５】
と単に定義される。ただし、
【００７６】
【数２】
2007525707.tif 000007
【００７７】
は、LPC残差の第iサブフレームのエネルギであり、ei(dB) = 10log10{ei}である。定数1を上の式の実際のサブフレームエネルギに加算して、0の対数値の後続計算を防ぐ。
【００７８】
次に、パラメータμenerの平均値を、次のように更新する。
μener (dB) := μener (dB) - 5 * (ρ1 + ρ2)
ただし、ρi (i = 1または2)は、第i開ループピッチ分析の副産物として計算される正規化された相関である。μenerのこの変更によって、発音された音声セグメントの音声品質が改善される。
【００７９】
次に、平均μener (dB)を、2ビットを用いてスカラ量子化する。量子化レベルは、12dBから18dB、30dB、42dB、および54dBのステップを用いてセットされる。量子化インデックスは、次のように単純に計算することができる。
tmp = (μener - 18) / 12
index = floor(tmp + 0.5)
if (index < 0) index = 0, if (index > 3) index = 3
ここで、floorは、浮動小数点数の整数部分をとることを意味する。たとえば、floor(1.2) = 1であり、floor(7.9) = 7である。
【００８０】
したがって、再構成された平均値(dB単位)は、
【００８１】
【数３】
2007525707.tif 000008
【００８２】
である。しかし、次に、次のようにインデックスおよび再構成された平均値を更新して、アタックなどの過渡信号のオーディオ品質を改善する。
max = max (e1(dB), e2(dB), e3(dB), e4(dB))
if
【００８３】
【数４】
2007525707.tif 000009
【００８４】
かつindex < 3,
index = index + 1、および
【００８５】
【数５】
2007525707.tif 000010
【００８６】
コードブック利得の量子化
AMR-WBでは、ピッチ利得および固定コードブック利得gpおよびgcが、(gp, gc * gc0)の形で共同して量子化され、ここで、gc0は、革新コードベクトルのエネルギに関してgcのMA予測と正規化を組み合わせる。
【００８７】
所与のサブフレームの2つの利得gpおよびgcは、(gp, gc*gc0)の形で、AMR-WB音声コーディングと正確に同様に、7ビットを用いて共同して量子化される。唯一の相違は、gc0の計算にある。gc0の値は、量子化された平均エネルギ
【００８８】
【数６】
2007525707.tif 000011
【００８９】
だけに基づき、次のように計算される。
【００９０】
【数７】
2007525707.tif 000012
【００９１】
ただし、
enerc(dB) = 10*log 10(0.01 + (c(0)*2 + ... + c(Lsub-1)*2)/Lsub)
ここで、c(0), ..., c(Lsub-1)は、長さLsubサンプルのサブフレームのLP残差ベクトルのサンプルである。c(0)は、最初のサンプルであり、c(1)は、2番目のサンプルであり、…、c(Lsub)は、サブフレーム内の最後のLP残差サンプルである。
【００９２】
TCXモード
TCXモード(TCXコーダ18.016)では、次のフレームとのオーバーラップが、TCXターゲット信号の変換コーディングに起因するブロッキングアーチファクトを減らすために定義される。ウィンドウイングおよび信号オーバーラップは、現在のフレームのタイプ(ACELPまたはTCX)およびサイズと、過去のフレームのタイプおよびサイズとの両方に依存する。ウィンドウイングは、次の節で開示する。
【００９３】
TCXコーダ18.016の一実施形態を、図5Ａに示す。TCXエンコーディング手順をこれから説明し、その後、スペクトルを量子化するのに使用される格子量子化に関する説明を続ける。
【００９４】
一実施形態によるTCXエンコーディングは、次のように進行する。
【００９５】
まず、図5Ａに示されているように、入力信号(TCXフレーム)が、知覚重み付けフィルタ5.001を介してフィルタリングされて、重み付き信号が作られる。TCXモードでは、知覚重み付けフィルタ5.001が、ACELPモードで使用される量子化されていないLPC係数A(z)の代わりに、量子化されたLPC係数
【００９６】
【数８】
2007525707.tif 000013
【００９７】
を使用する。これは、合成による分析を使用するACELPと異なって、TCXデコーダが、励振信号を回復するために逆重み付けフィルタを適用しなければならないからである。前にコーディングされたフレームがACELPフレームである場合には、知覚重み付けフィルタの0入力応答(ZIR)が、加算器5.014によって、重み付けされた信号から除去される。一実施形態で、ZIRは、10msまでに切り捨てられ、その振幅が10ms後に0まで単調に減少する形でウィンドウイングされる(カリキュレータ5.100)。複数の時間領域ウィンドウを、この動作に使用することができる。ZIRの実際の計算は、図5Ａには示されていない。というのは、CELPタイプコーダで「フィルタリンギング」とも称するこの信号が、当業者に周知であるからである。重み付き信号が計算されたならば、その信号が、図4Ａ〜4Ｃで説明するウィンドウ選択に従って、適応ウィンドウジェネレータ5.003でウィンドウイングされる。
【００９８】
ジェネレータ5.003によるウィンドウイングの後に、変換モジュール5.004が、高速フーリエ変換(FFT)を使用して、ウィンドウイングされた信号を周波数領域に変換する。
【００９９】
TCXモードでのウィンドウイング - 適応ウィンドウイングモジュール5.003
ACELPフレームとTCXフレームの間のモード切替を、これから説明する。一方のモードから他方のモードへの切替の際の遷移アーチファクトを最小にするために、連続するフレームのウィンドウイングおよびオーバーラップに正しい注意を払わなければならない。適応ウィンドウイングが、プロセッサ6.003によって実行される。図4Ａ〜4Ｃに、TCXフレーム長および前のフレームのタイプ(TCXのACELP)に依存するウィンドウ形状を示す。
【０１００】
図4Ａでは、現在のフレームがTCX20フレームである場合が検討されている。過去のフレームに応じて、適用されるウィンドウは次のようになる。
1)前のフレームが20ms ACELPフレームであった場合に、ウィンドウは、2つのウィンドウセグメントの連結すなわち、20ms持続時間のフラットウィンドウとそれに続く2.5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分)との連結である。コーダは、重み付き音声の2.5msのルックアヘッドを必要とする。
2)前のフレームがTCX20フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、2.5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、17.5ms持続時間のフラットウィンドウと、最後に、2.5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の2.5msのルックアヘッドを必要とする。
3)前のフレームがTCX40フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、15ms持続時間のフラットウィンドウと、最後に、2.5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の2.5msのルックアヘッドを必要とする。
4)前のフレームがTCX80フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、10ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、10ms持続時間のフラットウィンドウと、最後に、2.5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の2.5msのルックアヘッドを必要とする。
【０１０１】
図4Ｂでは、現在のフレームがTCX40フレームである場合が検討されている。過去のフレームに応じて、適用されるウィンドウは次のようになる。
1)前のフレームが20ms ACELPフレームであった場合に、ウィンドウは、2つのウィンドウセグメントの連結すなわち、40ms持続時間のフラットウィンドウとそれに続く5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分)との連結である。コーダは、重み付き音声の5msのルックアヘッドを必要とする。
2)前のフレームがTCX20フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、2.5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、37.5ms持続時間のフラットウィンドウと、最後に、5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分)との連結である。コーダは、やはり重み付き音声の5msのルックアヘッドを必要とする。
3)前のフレームがTCX40フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、35ms持続時間のフラットウィンドウと、最後に、5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分)との連結である。コーダは、やはり重み付き音声の5msのルックアヘッドを必要とする。
4)前のフレームがTCX80フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、10ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、30ms持続時間のフラットウィンドウと、最後に、5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の5msのルックアヘッドを必要とする。
【０１０２】
最後に、図4Ｃでは、現在のフレームがTCX80フレームである場合が検討されている。過去のフレームに応じて、適用されるウィンドウは次のようになる。
1)前のフレームが20ms ACELPフレームであった場合に、ウィンドウは、2つのウィンドウセグメントの連結すなわち、80ms持続時間のフラットウィンドウとそれに続く5ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分)との連結である。コーダは、重み付き音声の10msのルックアヘッドを必要とする。
2)前のフレームがTCX20フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、2.5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、77.5ms持続時間のフラットウィンドウと、最後に、10ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の10msのルックアヘッドを必要とする。
3)前のフレームがTCX40フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、5ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、75ms持続時間のフラットウィンドウと、最後に、10ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の10msのルックアヘッドを必要とする。
4)前のフレームがTCX80フレームであった場合に、ウィンドウは、3つのウィンドウセグメントの連結すなわち、10ms持続時間のハニングウィンドウの平方根の左半分(または正弦波ウィンドウの左半分部分）との連結と、70ms持続時間のフラットウィンドウと、最後に、10ms持続時間のハニングウィンドウの平方根の右半分部分(または正弦波ウィンドウの右半分部分）との連結である。コーダは、やはり重み付き音声の10msのルックアヘッドを必要とする。
【０１０３】
これらのウィンドウタイプのすべてが、現在のフレームがTCXフレームである時に限って、重み付けされた信号に適用されることに留意されたい。ACELPタイプのフレームは、ターゲット信号の誤差を最小にするために、実質的にAMR-WBコーディングに従って、すなわち、励振信号の合成による分析コーディングを介してエンコードされ、ここで、ターゲット信号は、本質的に、それに対する重み付けフィルタの0入力応答が除去される重み付けされた信号である。また、別のTCXフレームが先行するTCXフレームをコーディングする時に、上で説明したウィンドウによってウィンドウイングされた信号が、本明細書で下で開示するように、変換領域で直接に量子化されることに留意されたい。その後、量子化および逆変換の後に、合成された重み付けされた信号が、フレームの始めでのオーバーラップおよび加算を使用して、先行するフレームの記憶されたルックアヘッドと再組合せされる。
【０１０４】
その一方で、ACELPフレームが先行するTCXフレームをエンコードする時には、重み付けフィルタの0入力応答、実際には0入力応答のウィンドウイングされ切り捨てられた版が、まず、ウィンドウイングされた重み付けされた信号から除去される。0入力応答は、フレームの最初のサンプルのよい近似なので、結果の影響は、ウィンドウイングされた信号が、フレームの始め(0入力応答減算のゆえに)とフレームの終り(上で説明し、図4Ａ〜4Ｃに示したルックアヘッドに適用される半ハニングウィンドウのゆえに)の両方で0に向かう傾向があることである。もちろん、ウィンドウイングされ切り捨てられた0入力応答は、逆変換の後に、量子化された重み付けされた信号に加算される。
【０１０５】
したがって、適当な妥協が、TCXフレームで使用される変換の前の最適ウィンドウ(たとえば、ハニングウィンドウ)と、ACELPモードでエンコードする時にターゲット信号に適用しなければならない暗黙の長方形ウィンドウとの間で達成される。これによって、ACELPフレームとTCXフレームの間の滑らかな切替が保証されると同時に、両方のモードでの正しいウィンドウイングが可能になる。
【０１０６】
時間-周波数写像 - 変換モジュール5.004
上で説明したウィンドウイングの後に、変換が、変換モジュール5.004内で、重み付けされた信号に適用される。図5Ａの実施例では、高速フーリエ変換(FFT)が使用される。
【０１０７】
図4Ａ〜4Ｃに示されているように、TCXモードでは、連続するフレームの間でオーバーラップを使用して、ブロッキングアーチファクトを減らす。このオーバーラップの長さは、TCXモードの長さに依存し、TCXモードがそれぞれ20ms、40ms、および80msのフレーム長を扱う時に、それぞれ2.5ms、5ms、および10msがセットされる(すなわち、オーバーラップの長さには、フレーム長の1/8がセットされる)。オーバーラップのこの選択は、FFTによるDFTの高速計算での基数を単純にする。その結果、TCX20モード、TCX40モード、およびTCX80モードの有効時間サポートは、図2に示されているように、それぞれ22.5ms、45ms、および90msである。12800サンプル毎秒のサンプリング周波数(図1のプリプロセッサおよび分析フィルタバンク1.001によって作られるLF信号の)ならびに22.5ms、45ms、および90msのフレーム+ルックアヘッド持続時間では、FFTの時間サポートが、それぞれ288サンプル、576サンプル、および1152サンプルになる。これらの長さは、9×32、9×64、および9×128として表すことができる。したがって、特殊化されたradix-9 FFTを使用して、フーリエスペクトルをすばやく計算することができる。
【０１０８】
前シェーピング(低周波数強調) - 前シェーピングモジュール5.005
フーリエスペクトルを計算(FFT)したならば、適応低周波数強調をスペクトル前シェーピングモジュール5.005によって信号スペクトルに適用して、低周波数の知覚される歪みを最小にする。逆低周波数強調がデコーダでならびにスペクトルデシェーピング(de-shaping)モジュール5.007を介してコーダで適用されて、次のフレームをエンコードするのに使用される励振信号が作られる。適応低周波数強調は、次のように、スペクトルの最初の1/4だけに適用される。
【０１０９】
まず、FFT変換モジュール5.004の出力の変換された信号を、Xと呼ぶことにする。ナイキスト周波数でのフーリエ係数に、系統的に0をセットする。次に、NがFFTのサンプル数である(したがって、Nはウィンドウの長さに対応する)場合に、K=N/2個の複素数値フーリエ係数を4つの連続する係数のブロックにグループ化し、8次元実数値ブロックを形成する。8と異なるサイズのブロック長を一般に使用できることに留意されたい。一実施形態で、8のブロックサイズは、スペクトル量子化に使用される8次元格子クォンタイザと一致するように選択されたものである。図20を参照すると、スペクトルの最初の1/4までの各ブロックのエネルギを計算し、最大のエネルギを有するブロックのエネルギEmaxおよび位置インデックスiを保管する(カリキュレータ20.001)。次に、次のように、iより小さい位置インデックスmを有する8次元ブロックごとに、係数Rmを計算する(カリキュレータ20.002)。
・位置インデックスmの8次元ブロックのエネルギEmを計算し(モジュール20.003)、
・比Rm = Emax / Emを計算し(モジュール20.004)、
・Rm > 10の場合に、Rm = 10をセットし(モジュール20.005)、
・Rm > R(m-1)の場合に、Rm = R(m-1)をセットし(モジュール20.006)、
・値(Rm)1/4を計算する(モジュール20.007)。
【０１１０】
最後の条件(Rm > R(m-1)の場合に、Rm = R(m-1))は、比関数Rmが単調に減少することを保証する。さらに、比Rmが10以下になるように制限することは、低周波数強調関数のスペクトル成分が20dBを超えて変更されないことを意味する。
【０１１１】
iより小さい位置インデックスを有する(および上で説明した制限条件を有する)すべてのブロックの比(Rm)1/4 = (Emax / Em)1/4を計算した後に、これらの比を、変換係数の利得として、各対応するブロックに適用する(カリキュレータ20.008)。これは、最大エネルギEmaxを有するブロックと比較して比較的低いエネルギを有するブロックのエネルギを増やすという効果を有する。量子化の前にこの手順を適用することは、下側帯域でのコーディング雑音のシェーピングという効果を有する。
【０１１２】
図5Ｂに、上で開示した前シェーピングが適用される例のスペクトルを示す。周波数軸は、0と1の間で正規化されており、1はナイキスト周波数である。振幅スペクトルは、dB単位で図示されている。図5Ｂでは、太線が、前シェーピング前の振幅スペクトルであり、非太線部分が、変更された(前シェーピングされた)スペクトルである。したがって、この例では、非太線に対応するスペクトルだけが変更されている。図5Ｃには、前シェーピング関数によって各スペクトル成分に適用される実際の利得が図示されている。図5Ｃから、利得が10までに制限されており、約0.18の正規化された周波数の最大エネルギを有するスペクトル成分(ここではスペクトルの第3高調波)に達する時に1まで単調に減少することがわかる。
【０１１３】
分割マルチレート格子ベクトル量子化 - モジュール5.006
低周波数強調の後に、スペクトル係数を、一実施形態で、格子コードに基づく代数量子化モジュール5.006を使用して量子化する。使用される格子は、8次元ゴセット格子であり、これは、8次元ブロックのスペクトル係数の分割を説明するものである。量子化インデックスは、本質的に大域利得であり、スペクトル内の各8次元サブベクトルを量子化するのに使用される実際の格子点を記述する一連のインデックスである。格子量子化モジュール5.006は、構造化された形で、モジュール5.005からのスケーリングされかつプリシェーピングされたスペクトルの各8次元ベクトルと量子化に使用される格子コードブックの点との間の最近近傍検索を実行する。スケール係数(大域利得)は、実際には、ビット割振りおよび平均歪みを決定する。大域利得が大きいほど、より多くのビットが使用され、平均歪みが少なくなる。スペクトル係数の8次元ベクトルごとに、格子量子化モジュール5.006は、インデックスを出力し、このインデックスは、使用される格子コードブック番号と、対応する格子コードブック内で選択された実際の格子点とを示す。次に、デコーダは、各8次元ベクトルを記述するインデックスと一緒に大域利得インデックスを使用することによって、量子化されたスペクトルを再構成することができる。この手順の詳細を、下で開示する。
【０１１４】
スペクトルを量子化したならば、利得計算および量子化モジュール5.009の出力からの大域利得と、量子化モジュール5.006の出力からの格子ベクトルインデックス)を、マルチプレクサ(図示せず)を介してデコーダに伝送することができる。
【０１１５】
大域利得の最適化および雑音フィル係数の計算
格子ベクトルクォンタイザを使用する際の自明でないステップが、所定のビットバジェット内の正しいビット割振りの判定である。保管されたコードブック(コードブックのインデックスは基本的にテーブル内の位置である)と異なって、格子コードブックのインデックスは、数学(代数)式を使用して計算される。したがって、格子ベクトルインデックスをエンコードするビット数は、入力ベクトルが量子化された後でなければわからない。原理的に、所定のビットバジェット内に留まるためには、複数の大域利得の試行と、ビットの総数を計算するために各異なる利得を用いて正規化されたスペクトルを量子化することとを実行する。所定のビットバジェットを超えずにこれに最も近いビット割振りを達成する大域利得が、最適利得として選択される。一実施形態では、その代わりにヒューリスティック手法を使用して、最適の量子化およびビット割振りを得る前にスペクトルを複数回量子化することを回避する。
【０１１６】
説明を明瞭にするために、次の説明に関連する主要な記号は、表5〜7から集められたものである。
【０１１７】
図5Ａを参照すると、時間領域TCX重み付き信号xが、変換Tおよび前シェーピングPによって処理され、量子化されるべきスペクトルXが作られる。変換Tは、FFTとすることができ、前シェーピングは、上で説明した適応低周波数強調に対応するものとすることができる。
【０１１８】
前シェーピングされたスペクトルとしてのベクトルXに言及する。このベクトルが、X = [X0 X1 ... XN-1]Tの形を有し、Nが、変換Tから得られた変換係数の個数である(前シェーピングPは、この係数の個数を変更しない)と仮定する。
【０１１９】
前シェーピングされたスペクトルの量子化手順の概要
一実施形態で、前シェーピングされたスペクトルXは、図6に示されているように量子化される。この量子化は、XをエンコードするためのRxビットの使用可能ビットバジェットを仮定して、[Ragot, 2002]のデバイスに基づく。図6に示されているように、Xは、次の3つの主要なステップで、利得形状分割ベクトル量子化によって量子化される。
・以下では大域利得と呼ぶ、推定された大域利得gを、分割エネルギ推定モジュール6.001と大域利得および雑音レベル推定モジュール6.002によって計算し、ディバイダ6.003が、この大域利得gによってスペクトルXを正規化して、X' = X/gを入手するが、ここで、X'は、正規化された前シェーピングされたスペクトルである。
・[Ragot, 2002]のマルチレート格子ベクトル量子化を、分割自己スケーラブルマルチレートRE8コーディングモジュール6.004によって、スペクトルX'を形成する係数の8次元ブロックのすべてに適用し、結果のパラメータを多重化する。この量子化方式を適用できるようにするために、スペクトルX'を同一サイズのK個のサブベクトルに分割し、その結果、X = [X'0T X'1T ... X'K-1T]Tになるようにするが、ここで、K番目のサブベクトル(または分割)は、
X'k = [x'8k ... x'8k+K-1], k=0, 1, ..., K-1.
によって与えられる。[Ragot, 2002]のデバイスは、ある形の8次元ベクトル量子化を実際に実施するので、Kには単純に8をセットする。NはKの倍数であると仮定する。
・雑音フィルイン利得facをモジュール6.002で計算して、後に、スペクトルX'の量子化されていない分割にコンフォートノイズを注入する。量子化されていない分割とは、クォンタイザによって0をセットされた係数のブロックである。雑音の注入は、低ビットレートでのアーチファクトをマスクすることを可能にし、オーディオ品質を改善する。単一の利得facを使用するのは、コーディング雑音が、ターゲット領域で平坦であり、逆知覚フィルタW(z)-1によってシェーピングされることをTCXコーディングが仮定するからである。ここでは前シェーピングを使用するが、量子化および雑音注入は、同一の原理に頼る。
【０１２０】
結果として、図6に示されたスペクトルXの量子化は、3種類のパラメータすなわち、大域利得g、(分割)代数VQパラメータ、および雑音フィルイン利得facを作る。ビット割振りまたはビットバジェットRxは、
Rx = Rg + R + Rfac
として分解され、ここで、Rg、R、およびRfacは、それぞれ利得g、代数VQパラメータ、および利得facに割り振られるビット数(またはビットバジェット)である。この例示的実施形態では、Rfac = 0である。
【０１２１】
[Ragot, 2002]のマルチレート格子ベクトル量子化は、自己スケーラブルであり、各分割のビット割振りおよび歪みを直接に制御することを許容しない。これが、[Ragot, 2002]のデバイスがXではなくスペクトルX'の分割に適用される理由である。したがって、大域利得gの最適化は、TCXモードの品質を制御する。一実施形態で、利得gの最適化は、分割の対数エネルギに基づく。
【０１２２】
次の説明では、図6の各ブロックを1つずつ説明する。
【０１２３】
分割エネルギ推定モジュール6.001
分割ベクトルのエネルギ(すなわち、二乗ノルム)が、ビット割振りアルゴリズムで使用され、大域利得ならびに雑音レベルの判定に使用される。N次元入力ベクトルX = [x0, x1 ... xN-1]Tが、K個の分割すなわち8次元サブベクトルに区分され、k番目の分割がxk = [x8k x8k+1 ... x8k+7]T、ただしk = 0, 1, ..., K-1になることを想起されたい。Nが8の倍数であると仮定する。k番目の分割ベクトルのエネルギは、
ek = xkTxk = x8k2 + ... + x8k+72,   k = 0, 1, ... K-1
として計算される。
【０１２４】
大域利得および雑音レベル推定モジュール6.002
大域利得gは、分割のビット消費を直接に制御し、R(g) ≒ Rから解かれるが、ここで、R(g)は、所与のgの値について分割代数VQのすべてによって使用されるビット数(またはビット消費)である。前述の説明で示したように、Rは、分割代数VQに割り振られたビットバジェットである。その結果、大域利得gは、代数VQのビット消費およびビットバジェットと一致するように最適化される。基礎になる原理を、文献では逆ウォーターフィリング(reverse water-filling)と称する。
【０１２５】
量子化の複雑さを減らすために、各分割の実際のビット消費は、計算されるのではなく、分割のエネルギから推定されるだけである。このエネルギ情報は、マルチレートRE8ベクトル量子化の先験的知識と一緒に、gの単純な関数としてR(g)を推定することを可能にする。
【０１２６】
大域利得gは、大域利得および雑音レベル推定モジュール6.002でこの基本原理を適用することによって判定される。分割Xkのビット消費推定値は、大域利得gの関数であり、Rk(g)と表される。単位利得g = 1を用いると、ヒューリスティックから、ビット消費推定値として
Rk(1) = 5 log2 (ε + ek)/2, k = 0, 1, ..., K-1
が与えられる。定数ε > 0は、log2 0の計算を防ぎ、たとえば、値ε = 2が使用される。一般に、定数εは、分割のエネルギekと比較して無視できる。
【０１２７】
Rk(1)の式は、[Ragot, 2002]のマルチレートクォンタイザおよび基礎になるRE8格子の特性の先験的知識に基づく。
・コードブック番号nk > 1について、多くとも5nkビットのk番目の分割のコーディングに関するビットバジェット要件は、表1から確認することができる。これによって、log2 (ε + ek)/2がコードブック番号の推定値である時の式で係数5が与えられる。
・対数log2は、コードベクトルの平均二乗ノルムが、Qnk+1の代わりにQnkを使用する時にほぼ2倍になるという特性を反映したものである。この特性は、表4から観察することができる。
・ε + ekに適用される係数1/2は、コードブックQ2のコードブック番号推定値を較正する。この特定のコードブック内の格子点の平均二乗ノルムは、約8.0であることがわかっている(表4を参照されたい)。log2 (ε + e2))/2 ≒ log2 (2 + 8.0))/2 ≒ 2なので、コードブック番号推定値は、Q2について実際に正しい。
【０１２８】
【表４】
2007525707.tif 000014
【０１２９】
大域利得gが分割に適用される時に、xk/gのエネルギが、ekをg2で割ることによって得られる。これは、利得スケーリングされた分割のビット消費を、Rk(1)から5 log2g2 = 10 log2 gを引くことによって、Rk(1)に基づいて推定できることを暗示する。
Rk(g) = 5 log2(ε + ek)/2g2
= 5 log2(ε + ek)/2 + 5 log2 g2
= Rk(1) - glog   (4)
ここで、glog = 10 log2 gである。推定値Rk(g)は、0を下限とされ、したがって、関係
Rk(g) = max{Rk(1) - glog, 0}   (5)
が実際には使用される。
【０１３０】
K個の分割のすべてのコーディングのビット消費は、単に、個々の分割の合計
R(g) = R0(g) + R1(g) + ... + RK-1(g)   (6)
である。式(6)の非線形性は、所与のビットバジェットR(g) = Rと一致するビット消費を作る大域利得gを分析的に解くことを妨げる。しかし、R(g)はgの単調関数なので、単純な反復アルゴリズムを用いて解を見つけることができる。
【０１３１】
一実施形態で、大域利得gは、値glog = 128から開始してglog = 10 log2 gに二分検索を適用することによって効率的に検索される。各反復iterで、R(g)を式(4)、(5)、および(6)を使用して評価し、glogをglog = glog ± 128/2iterとしてそれぞれ調節する。10回の反復が、十分な精度を与える。次に、大域利得を、
【０１３２】
【数９】
2007525707.tif 000015
【０１３３】
としてglogから解くことができる。
【０１３４】
図7の流れ図で、大域利得gを判定するのに使用される二分アルゴリズムを説明する。このアルゴリズムは、副産物として雑音レベルも提供する。このアルゴリズムは、動作7.001でビットバジェットRを値0.95(R-K)に調整することによって開始される。この調整は、最適大域利得gの過大推定を避けるために、経験的に決定された。この二分アルゴリズムは、単位大域利得を仮定して、その初期値としてビット消費推定値Rk(1)、ただしk = 0, 1, ..., K - 1を必要とする。これらの推定値は、まず分割ekの二乗ノルムを得た後に、動作7.002で式(4)を使用して計算される。このアルゴリズムは、動作7.004でセットされる初期値iter = 0、glog = 0、およびfac = 128/2iter = 128から開始する。
【０１３５】
iter < 10の場合(動作7.004)、二分アルゴリズムの各反復に、動作7.005での増分glog = glog + facと、glogの新しい値を用いる動作7.006および7.007でのビット消費推定値R(g)の評価が含まれる。動作7.008で、推定値R(g)がビットバジェットRを超える場合には、動作7.009でglogを更新する。この反復は、動作7.010でカウンタiterを増分し、ステップサイズfacを半分にすることによって終了する。10回の反復の後に、glogの十分な精度が得られ、大域利得
【０１３６】
【数１０】
2007525707.tif 000016
【０１３７】
を動作7.011で解くことができる。雑音レベルgnsは、動作7.012で、判定された大域利得glogを用いて、量子化されないままにされる可能性が高い分割のビット消費推定値の平均をとることによって推定される。
【０１３８】
図8に、雑音レベルfacの判定に含まれる動作を示す。雑音レベルは、量子化されないままにされる可能性が高い分割の平均エネルギの平方根として計算される。所与の大域利得glogについて、分割は、その推定されたビット消費が5ビット未満すなわちRk(1) - glog < 5の場合に、量子化されない可能性が高い。そのような分割のすべての総ビット消費Rns(g)は、Rk(1) - glog < 5である分割についてRk(1) - glogを計算することによって得られる。これらの分割の平均エネルギを、対数領域でRns(g)からRns(g)/nbとして計算することができるが、ここで、nbは、これらの分割の個数である。雑音レベルは、
fac = 2Rns(g)/nb-5
である。この式では、指数部の定数-5が、チューニング係数であり、このチューニング係数は、雑音係数を平均エネルギに基づく実際の推定値より3dB(エネルギで)下に調整する。
【０１３９】
マルチレート格子ベクトル量子化モジュール5.004
量子化モジュール6.004は、[Ragot, 2002]で開示され、説明されたマルチレート量子化手段である。正規化されたスペクトルの8次元分割X'が、{Q0, Q2, Q3, ...}と表されるRE8コードブックの集合を使用するマルチレート量子化を使用してコーディングされる。コードブックQ1は、コーディング効率を高めるために、この集合では定義されない。n番目のコードブックは、Qnと表され、ここで、nをコードブック番号と称する。すべてのコードブックQnが、同一の8次元RE8格子の部分集合として構成され、Qn ⊂ RE8である。次元あたりのビット数として定義されたn番目のコードブックのビットレートは、4n/8である、すなわち、各コードブックQnに、24n個のコードベクトルが含まれる。マルチレートクォンタイザは、[Ragot, 2002]の教示に従って構成される。
【０１４０】
k番目の8次元分割X'kについて、コーディングモジュール6.004は、RE8格子内の最近近傍Ykを見つけ、次を出力する。
・Yk ∈ Qnkである最小のコードブック番号nk、および
・Qnk内のYkのインデックスik
【０１４１】
コードブック番号nkは、コードベクトルYkを再構成するためにインデックスikと一緒にデコーダから使用可能にされなければならないサイド情報である。たとえば、インデックスikのサイズは、nk > 1の場合に4nkビットである。このインデックスは、4ビットブロックを用いて表すことができる。
【０１４２】
nk = 0の場合に、再構成ykは8次元0ベクトルになり、ikは不要である。
【０１４３】
ビットバジェットオーバーフロー処理および分割インデクシングモジュール6.005
所与の大域利得gについて、実際のビット消費は、ビットバジェットを超えるまたはビットバジェットの下に留まるのいずれかになる可能性がある。可能なビットバジェットアンダーフローは、特定の手段によって対処はされないが、使用可能な余分のビットは、0にされ、未使用のままにされる。ビットバジェットオーバーフローが発生した時には、ビット消費は、コードブック番号n0, n1, ..., nK-1のうちのいくつかを0にすることによって、モジュール6.005内でビットバジェットRxに収容される。コードブック番号nk > 0を0にすることによって、総ビット消費が少なくとも5nk-1ビットだけ減る。ビットバジェットオーバーフローの処理で0にされた分割は、デコーダで雑音フィルインによって再構成される。
【０１４４】
いくつかの分割のコードブック番号が強制的に0にされた時に発生するコーディング歪みを最小にするために、これらの分割を慎重に選択しなければならない。一実施形態で、ビット消費は、エネルギek = xkTxk、ただしk = 0, 1, ..., K-1の降順で分割を1つずつ処理することによって累算される。この手順は、信号依存であり、大域利得の判定に以前に使用された手段と一致する。
【０１４５】
モジュール6.005でのオーバーフロー処理の詳細を調べる前に、マルチレートクォンタイザの出力を表すのに使用されるコードの構造を要約する。nk > 0の単項コードに、k - 1個の1とそれに続く1つの0のストップビットが含まれる。表1に示されているように、ストップビットを除いて、インデックスikおよびコードブック番号nkをコーディングするのに、5nk - 1ビットが必要である。コードブック番号nk = 0には、ストップビットだけが含まれ、0分割が示される。K個の分割がコーディングされる場合に、K - 1個のストップビットだけが必要である。というのは、最後の1が、ビットバジェットRによって暗黙のうちに決定され、したがって冗長であるからである。具体的に言うと、k個の最後の分割が0である場合に、k - 1個のストップビットで十分である。というのは、最後の0の分割を、ビットバジェットRを知ることによってデコードできるからである。
【０１４６】
図6のオーバーフロービットバジェット処理モジュール6.005の動作を、図9の流れ図に示す。このモジュール6.005は、eκ(0) ≧ eκ(1) ≧ ... ≧ eκ(K-1)になるように分割の二乗ノルムを降順でソートすることによって、動作9.001で決定される分割インデックスκ(0), κ(1), ..., κ(K-1)を用いて動作する。したがって、インデックスκ(k)は、k番目に大きい二乗ノルムを有する分割xκ(k)を指す。分割の二乗ノルムは、動作9.001の出力としてオーバーフロー処理に供給される。
【０１４７】
オーバーフロー処理のk番目の反復は、0分割がオーバーフローを引き起こすことができないので、nκ(k) = 0の時に次の反復に直接に進むことによって、簡単にスキップすることができる。この機能性は、論理動作9.005を用いて実施される。k < Kであり(動作9.003)、κ(k)番目の分割が非0分割であると仮定すると、RE8点yκ(k)が、まず動作9.004でインデクシングされる。マルチレートインデクシングは、コードブック番号nκ(k)およびコードベクトルインデックスiκ(k)の正確な値を提供する。現在のκ(k)番目の分割を含む、この分割までのすべての分割のビット消費を計算することができる。
【０１４８】
単項コードの特性を使用すると、現在の分割を含む現在の分割までのビット消費Rkは、動作ブロック9.008で、2項すなわちストップビットを除いたデータに必要なRD,kビットとストップビットのRS,kビットの和として計算される。
Rk = RD,k + RS,k   (7)
ここで、nκ(k) > 0について、
RD,k = RD,k-1 + 5nκ(k) -1,   (8)
RS,k = max{κ(k), RS,k-1}.   (9)
である。必要な初期値には、動作9.002で0がセットされる。ストップビットは、最後の非0分割までの分割だけがこれまでにストップビットを有することが示されていることを考慮に入れて、動作9.007で式(9)からカウントされる。というのは、後続分割が、コードの構成によって0であることがわかっているからである。最後の非0分割のインデックスを、max{κ(0), κ(k), ..., κ(k)}と表すこともできる。
【０１４９】
オーバーフロー処理は、式(8)および(9)のRD,kおよびRS,kの0の初期値から開始されるので、現在の分割までのビット消費は、必ずビットバジェットRS,k-1 + RD,k-1 < Rの中におさまる。現在のκ(k)番目の分割を含むビット消費Rkが、論理動作9.008の検証でビットバジェットRを超える場合に、ブロック9.009で、コードブック番号nκ(k)および再構成yκ(k)を0にする。ビット消費カウンタRD,kおよびRD,kは、ブロック9.010でそれ相応に以前の値に更新リセットされる。これの後に、オーバーフロー処理は、動作9.011でkを1つ増分し、論理動作9.003に戻ることによって、次の反復に進むことができる。
【０１５０】
動作9.004が、オーバーフロー処理ルーチンの一体化された部分として分割のインデクシングを作ることに留意されたい。このインデクシングを保管し、図6のビットストリームマルチプレクサ6.007にさらに供給することができる。
【０１５１】
量子化スペクトルデシェーピングモジュール5.007
スペクトルが、モジュール5.006の分割マルチレート格子VQを使用して量子化されたならば、量子化インデックス(コードブック番号および格子点インデックス)を計算し、マルチプレクサ(図示せず)を介してチャネルに送ることができる。格子内の最近近傍検索およびインデックス計算は、[Ragot, 2002]と同様に実行される。次に、TCXコーダが、モジュール5.005の前シェーピングを逆転する形で、モジュール5.007でスペクトルデシェーピングを実行する。
【０１５２】
スペクトルデシェーピングは、量子化されたスペクトルだけを使用して動作する。モジュール5.005の動作を逆転する処理を得るために、モジュール5.007は、次のステップを適用する。
・スペクトルの最初の1/4(低周波数)で最高のエネルギの8次元ブロックの位置iおよびエネルギEmaxを計算する。
・位置インデックスmの8次元ブロックのエネルギEmを計算する。
・比Rm = Emax / Emを計算する。
・Rm > 10の場合には、Rm = 10をセットする。
・また、Rm > R(m-1)の場合には、Rm = R(m-1)とする。
・値(Rm)1/2を計算する。
iより小さい位置インデックスを有するすべてのブロックについて比Rm = Emax / Emを計算した後に、この比の逆数を、各対応するブロックの利得として適用する。モジュール5.005の前シェーピングとの相違は、(a)モジュール5.007のデシェーピングで、比Rmの平方根(べき1/4ではなく)が計算され、(b)この比が、対応する8次元ブロックの除数(乗数ではなく)として使用されることである。モジュール5.006での量子化の影響を無視できる(完全な量子化)場合に、モジュール5.007の出力がモジュール5.005の入力と正確に等しいことを示すことができる。したがって、この前シェーピングプロセスは、可逆プロセスである。
【０１５３】
HFエンコーディング
図1のHFコーディングモジュール1.003の動作を、図10Ａに示す。図1に関する前述の説明で示したように、HF信号は、入力信号のうちで6400Hzを超える周波数成分からなる。このHF信号の帯域幅は、入力信号サンプリングレートに依存する。低いレートでHF信号をコーディングするために、帯域幅拡張(BWE)方式が、一実施形態で使用される。BWEでは、エネルギ情報が、スペクトルエンベロープおよびフレームエネルギの形でデコーダに送られるが、信号の微細構造は、デコーダで、LF信号から受け取られた(デコードされた)励振信号から外挿され、このLF信号は、一実施形態によれば、スイッチドACELP/TCXコーディングモジュール1.002内でエンコードされる。
【０１５４】
プリプロセッサおよび分析フィルタバンク1.001の出力のダウンサンプリングされたHF信号を、図10ＡではsHF(n)と呼ぶ。この信号のスペクトルは、ダウンサンプリングの前のより高周波数帯域の折り畳まれた版と考えることができる。図18に関して上で説明したLPC分析が、モジュール10.020〜10.022で信号sHF(n)に対して実行されて、この信号のスペクトルエンベロープをモデル化したLPC係数の組が得られる。通常、LF信号の場合より少数のパラメータが必要である。一実施形態で、8つ程度のフィルタが使用される。次に、LPC係数A(z)が、モジュール10.023でISP領域に変換され、その後、モジュール10.004でISP領域からISF領域に変換され、モジュール10.003で量子化されて、マルチプレクサ10.029を介して伝送される。80msスーパーフレームでのLPC分析の回数は、スーパーフレーム内のフレーム長に依存する。量子化されたISF係数が、モジュール10.004でISP係数に変換され、その後、モジュール10.006で量子化されたLPC係数AHF(z)に変換される前に、モジュール10.005で補間される(補間の方法を短く説明することができるか)。
【０１５５】
LPCフィルタ係数の組を、変数zの多項式として表すことができる。また、A(z)は、LF信号用のLPCフィルタであり、AHF(z)は、HF信号用のLPCフィルタである。この2つのフィルタの量子化された版が、それぞれ
【０１５６】
【数１１】
2007525707.tif 000017
【０１５７】
および
【０１５８】
【数１２】
2007525707.tif 000018
【０１５９】
である。図1０Ａ及びＢのLF信号s(n)から、残差信号が、まず、参照10.014によって識別される残差フィルタ
【０１６０】
【数１３】
2007525707.tif 000019
【０１６１】
を介してs(n)をフィルタリングすることによって得られる。次に、この残差信号を、参照10.015によって識別される量子化HF合成フィルタ
【０１６２】
【数１４】
2007525707.tif 000020
【０１６３】
を介してフィルタリングする。利得係数までに、これによって、HF信号の合成された版であるがスペクトル的に折り畳まれた版が作られる。実際のHF合成信号は、アップサンプリングが適用された後に回復される。
【０１６４】
励振が、LF信号から回復されるので、正しい利得が、HF信号について計算される。これは、参照HF信号sHF(n)のエネルギを、合成されたHF信号のエネルギと比較することによって行われる。エネルギは、5msサブフレームごとに1回計算され、エネルギ一致が、6400Hzサブバンド境界で保証される。具体的には、合成されたHF信号と基準HF信号が、知覚フィルタ(モジュール10.011から10.012および10.024から10.025)を介してフィルタリングされる。図10Ａ及びＢの実施形態では、この知覚フィルタが、AHF(z)から導出され、「HF知覚フィルタ」と呼ばれる。この2つのフィルタリングされた信号のエネルギが、それぞれモジュール10.013および10.026で5msごとに計算され、モジュール10.013および10.026によって計算されたエネルギの間の比が、除算器10.027によって計算され、モジュール10.016でdB単位で表される。20msフレーム内に、4つのそのような利得がある(5msサブフレームごとに1つ)。この4利得ベクトルは、HF信号エネルギを正しく一致させるためにHF信号に適用されなければならない利得を表す。
【０１６５】
この利得を直接に伝送するのではなく、推定された利得比が、まず、下側帯域からのフィルタの利得
【０１６６】
【数１５】
2007525707.tif 000021
【０１６７】
と上側帯域からのフィルタの利得
【０１６８】
【数１６】
2007525707.tif 000022
【０１６９】
を比較することによって計算される。この利得比推定値は、図10Ｂに詳細に示されており、次の説明で説明する。この利得比推定値が、モジュール10.010で、5msごとに補間され、dB単位で表され、測定された利得比から減算される。図10Ａ及びＢで
【０１７０】
【数１７】
2007525707.tif 000023
【０１７１】
から
【０１７２】
【数１８】
2007525707.tif 000024
【０１７３】
と表される結果の利得差または利得相関が、モジュール10.009で量子化される。この利得相関は、4次元ベクトルすなわち20msフレームごとに4つの値として量子化することができ、その後、伝送のためにマルチプレクサ10.029に供給される。
【０１７４】
モジュール10.007でフィルタ
【０１７５】
【数１９】
2007525707.tif 000025
【０１７６】
および
【０１７７】
【数２０】
2007525707.tif 000026
【０１７８】
から計算された利得推定値を、図10Ｂで説明する。この2つのフィルタは、デコーダ側で使用可能である。サンプルあたりナイキスト周波数πラジアンでの減衰する正弦波の最初の64個のサンプルが、まず、1極フィルタ10.017を介して単位インパルスδ(n)をフィルタリングすることによって計算される。ナイキスト周波数が使用されるのは、目標が、約6400HzですなわちLF信号とHF信号の間の接続周波数でフィルタ利得を一致させることであるからである。ここで、この基準信号の64サンプル長は、サブフレーム長(5ms)である。次に、減衰する正弦波h(n)を、まずフィルタ
【０１７９】
【数２１】
2007525707.tif 000027
【０１８０】
10.018を介してフィルタリングして低周波数残差を得、次に、フィルタ
【０１８１】
【数２２】
2007525707.tif 000028
【０１８２】
10.019を介してフィルタリングして、HF合成フィルタからの合成信号を得る。フィルタ
【０１８３】
【数２３】
2007525707.tif 000029
【０１８４】
および
【０１８５】
【数２４】
2007525707.tif 000030
【０１８６】
が、サンプルあたりπラジアンの正規化された周波数で同一の利得を有する場合に、フィルタ10.019の出力x(n)のエネルギは、フィルタ10.018の入力h(n)(減衰する正弦波)のエネルギと同等である。利得が異なる場合には、この利得差を、フィルタ10.019の出力での信号x(n)のエネルギで考慮に入れる。訂正利得は、信号x(n)のエネルギが減る時に実際に増えなければならない。したがって、利得訂正は、モジュール10.028で、対数領域(すなわち、dB単位)で信号x(n)のエネルギの逆数として計算される。真のエネルギ比を得るために、dB単位の減衰する正弦波h(n)のエネルギを、モジュール10.028の出力から除去しなければならない。しかし、このエネルギオフセットは定数なので、モジュール10.009の利得訂正コーダで単純に考慮に入れられる。最後に、モジュール10.007からの利得が、モジュール10.010によって減算される前に、補間され、dB単位で表される。
【０１８７】
デコーダでは、HF信号の利得を、デコーダで既知のHFコーディングデバイス1.003の出力をモジュール11.009でコーディングされたデコードされた利得訂正に加算することによって回復することができる。
【０１８８】
デコーダの詳細な説明
デコーダの役割は、コーディングされたパラメータをビットストリームから読み取り、再構成されたオーディオスーパーフレームを合成することである。デコーダの高水準ブロック図を図11に示す。
【０１８９】
前述の説明で示したように、各80msスーパーフレームは、等しいサイズの4つの連続する2進パケットにコーディングされる。この4つのパケットが、デコーダの入力を形成する。チャネルイレージャに起因して、すべてのパケットが使用可能ではない場合があるので、主デマルチプレクサ11.001は、4つのパケットのうちのどれが受け取られたかを示す4つの不良フレームインジケータBFI = (bfi0, bfi1, bfi2, bfi3)も入力として受け取る。k番目のパケットが受け取られた時にbfik = 0であり、k番目のパケットが失われた時にbfik = 1であると仮定する。4つのパケットのサイズは、コーダによって使用されたビットレートを示す入力bit_rate_flagによってデマルチプレクサ11.001に指定される。
【０１９０】
主デマルチプレクシング
デマルチプレクサ11.001は、単純に、コーダのマルチプレクサと逆の動作を行う。パケットkのエンコードされたパラメータに関連するビットは、パケットkが使用可能である時すなわち、bfik = 0である時に抽出される。
【０１９１】
前述の説明で示したように、コーディングされたパラメータは、3つのカテゴリすなわち、モードインジケータ、LFパラメータ、およびHFパラメータに分類される。モードインジケータは、コーダでどのエンコーディングモードが使用されたか(ACELP、TCX20、TCX40、またはTCX80)を指定する。主デマルチプレクサ11.001がこれらのパラメータを回復した後に、これらのパラメータは、それぞれモード外挿モジュール11.002、ACELP/TCXデコーダ11.003)、およびHFデコーダ11.004によってデコードされる。このデコーディングは、2つの信号すなわちLF合成信号およびHF合成信号をもたらし、これらの信号が組み合わされて、後処理および合成フィルタバンク11.005のオーディオ出力が形成される。入力フラグFSが、出力サンプリングレートがどれであるかをデコーダに示すと仮定する。一実施形態で、許容されるサンプリングレートは、16kHz以上である。
【０１９２】
図11のモジュールを、次の説明で説明する。
【０１９３】
LF信号ACELP/TCXデコーダ11.003
LF信号のデコーディングに、本質的にACELP/TCXデコーディングが含まれる。この手順を、図12で説明する。ACELP/TCXデマルチプレクサ12.001が、MODEの値に基づいて、コーディングされたLFパラメータを抽出する。具体的には、LFパラメータが、一方ではISFパラメータ、他方ではACELP固有パラメータまたはTCX固有パラメータに分割される。
【０１９４】
LFパラメータのデコーディングは、主ACELP/TCXデコーディング制御ユニット12.002によって制御される。具体的には、この主ACELP/TCXデコーディング制御ユニット12.002は、制御信号をISFデコーディングモジュール12.003、ISP補間モジュール12.005、ならびにACELPデコーダ12.007およびTCXデコーダ12.008に送る。主ACELP/TCXデコーディング制御ユニット12.002は、ACELPデコーダ12.007とTCXデコーダ12.008の間の切替をも、この2つのデコーダへの正しい入力をセットし、スイッチセレクタ12.009をアクティブ化することによって処理する。主ACELP/TCXデコーディング制御ユニット12.002は、さらに、LF信号の出力バッファ12.010を制御し、その結果、ACELPデコードされたフレームまたはTCXデコードされたフレームが80ms出力バッファの正しい時間セグメントに書き込まれるようにする。
【０１９５】
主ACELP/TCXデコーディング制御ユニット12.002は、LFデコーダの内部の制御データすなわち、BFI_ISF、nb (ISP補間に関するサブフレーム数)、bfi_acelp、LTCX (TCXフレーム長)、BFI_TCX、switch_flag、およびframe_selector (出力LFバッファ12.010でのフレームポインタをセットするため)を生成する。これらのデータの性質を、下で定義する。
・BFI_ISFは、2D整数ベクトルBFI_ISF = (bfi1st_stage bfi2nd_stage)として展開することができ、ISFデコーディング用の不良フレームインジケータからなる。値bfi1st_stageは、2進数であり、ISFの第1ステージが使用可能である場合にbfi1st_stage = 0、これが失われた場合にbfi1st_stage = 1である。値0 ≦ bfi2nd_stage ≦ 31は、ISF第2ステージの5分割のそれぞれの不良フレームインジケータを提供する5ビットフラグであり、bfi2nd_stage = bfi1st_split + 2 * bfi2nd_split + 4 * bfi3rd_split + 8 * bfi4th_split + 16 * bfi5th_splitであり、ここで、分割kが使用可能な場合にbfikth_split = 0であり、そうでない場合にはbfikth_splitは1と等しい。上で説明したビットストリームフォーマットを用いると、bfi1st_stageの値とbfi2nd_stageの値を、次のようにBFI = ( bfi0 bfi1 bfi2 bfi3)から計算することができる。
パケットkのACELPまたはTCX20について、BFI_ISF = ( bfik )、
パケットkおよびk + 1のTCX40について、BFI_ISF = ( bfik (31*bfik+1) )、
パケットk = 0から3のTCX80について、BFI_ISF = (bfi0 (bfi1 + 6*bfi2 + 20*bfi3))
BFI_ISFのこれらの値は、ISF量子化のビットをパックするのに使用されるビットストリームフォーマットと、ステージおよび分割がコーダタイプ(ACELP/TCX20、TCX40、またはTCX80)に応じて1つまたは複数のパケットにどのように分配されるかとによって直接に説明することができる。
・ISF補間に関するサブフレーム数は、ACELPデコードされたフレームまたはTCXデコードされたフレーム内の5msサブフレーム数を指す。したがって、ACELPおよびTCX20ではnb = 4であり、TCX40では8、TCX80では16である。
・bfi_acelpは、ACELPパケット消失を示す2進フラグである。これは、パケットkのACELPフレームについて、単純にbfi_acelp = bfikとしてセットされる。
・TCXフレーム長(サンプル単位)は、TCX20ではLTCX = 256 (20ms)、TCX40では512 (40ms)、TCX80では1024 (80ms)によって与えられる。これは、ブロッキング効果を減らすためにTCXで使用されるオーバーラップを考慮に入れていない。
・BFI_TCXは、TCXデコーダにパケット消失をシグナリングするのに使用される2進ベクトルであり、パケットkのTCX20ではBFI_TCX = (bfik)、パケットkおよびk + 1のTCX40では( bfik bfik+1 )、TCX80ではBFI_TCX = BFIである。
【０１９６】
ACELP/TCXデコーディング制御ユニット12.002によって生成される他のデータは、非常に自己説明的である。スイッチセレクタ12.009は、デコーダフレームのタイプ(ACELPまたはTCX)に従って制御される。frame_selectorデータは、スーパーフレームの正しい20msセグメントへのデコーダフレーム(ACELPもしくはTCX20、TCX40、またはTCX80)の書込を可能にする。図12では、一部の補助データも、ACELP_ZIRおよびrmswsynなどとして現れている。これらのデータは、後続の段落で定義する。
【０１９７】
ISFデコーディングモジュール12.003は、AMR-WB音声コーディング標準規格で定義されたISFデコーダに対応し、不良フレームの処理を除いて同一のMA予測テーブルおよび量子化テーブルを使用する。AMR-WBデバイスと比較した相違は、単一の2進不良フレームインジケータの代わりにBFI_ISF = (bfi1st_stage bfi2nd_stage)を使用することである。ISFクォンタイザの第1ステージが失われた(すなわちbfi1st_stage = 1)場合に、ISFパラメータは、AMR-WB ISFデコーダのフレームイレージャコンシールメントを使用して単純にデコードされる。第1ステージが使用可能である(すなわちbfi1st_stage = 0)場合には、この第1ステージがデコードされる。第2ステージ分割ベクトルは、これらが使用可能な場合に限って、デコードされた第1ステージに累算される。再構成されたISF残差が、MA予測およびISF平均ベクトルに加算されて、再構成されたISFパラメータが形成される。
【０１９８】
コンバータ12.004は、ISFパラメータ(周波数領域で定義される)をISPパラメータ(コサイン領域で定義される)に変換する。この動作は、AMR-WB音声コーディングから採用されたものである。
【０１９９】
ISP補間モジュール12.005は、前にデコードされたフレーム(ACELP/TCX20、TCX40、またはTCX80)のISPパラメータとデコードされたISPパラメータの間の単純な線形補間を実現する。この補間は、ISP領域で行われ、次の式に従って、各5msサブフレームのISPパラメータをもたらす。
ispsubframe-i = i/nb * ispnew + (1-i/nb) * ispold,
ただし、nbは、現在のデコードされたフレーム内のサブフレーム数(ACELPおよびTCX20ではnb = 4、TCX40では8、TCX80では16)であり、i = 0, ..., nb-1は、サブフレームインデックスであり、ispoldは、前にデコードされたフレーム(ACELP、TCX20/40/80)のデコードされたISFパラメータから得られたISPパラメータの組であり、ispnewは、デコーダ12.003でデコードされたISFパラメータから得られたISPパラメータの組である。補間されたISPパラメータは、次に、コンバータ12.006で各サブフレームの線形予測係数に変換される。
【０２００】
ACELPデコーダ12.007およびTCXデコーダ12.008は、全体的なACELP/TCXデコーディングの説明の終りで別々に説明する。
【０２０１】
ACELP/TCX切替
ブロック図の形の図12の説明は、図13の流れ図で完了するが、図13では、ACELPとTCXの間の切替がMODEのスーパーフレームモードインジケータに基づいてどのように処理されるかが正確に定義されている。したがって、図13は、図12のモジュール12.003から12.006がどのように使用されるかを説明するものである。
【０２０２】
ACELP/TCXデコーディングの主要な態様の1つが、ACELPとTCXの間ならびにTCXフレームの間のシームレスな切替を可能にするために、過去にデコードされたフレームからのオーバーラップを処理することである。図13は、デコーディング側に関するこの主要な特徴を詳細に提示する図である。
【０２０３】
オーバーラップは、単一の10msバッファ: OVLP_TCXからなる。過去にデコードされたフレームがACELPフレームである場合に、OVLP_TCX = ACELP_ZIRは、前のACELPフレームの重み付き領域でのLP合成フィルタの0入力応答(ZIR) (1/A(z))を記憶する。過去にデコードされたフレームがTCXフレームである場合に、TCX20では最初の2.5ms (32サンプル)、TCX40では5ms (64サンプル)、TCX80では10ms (128サンプル)だけが、OVLP_TCXで使用される(他のサンプルには0がセットされる)。
【０２０４】
図13に示されているように、ACELP/TCXデコーディングは、MODEのモードインジケータの順次解釈に頼る。パケット番号およびデコードされたフレームインデックスkは、0から3まで増分される。動作13.002、13.003、および13.021から13.023によって実現されるループは、80msスーパーフレームの4つのパケットを順次処理することを可能にする。動作13.005、13.006、および13.009から13.011の説明は、スキップする。というのは、これらが、上で説明したISFデコーディング、ISFからISPへの変換、ISP補間、およびISPからA(z)への変換を実現するからである。
【０２０５】
ACELPをデコードする時(すなわち、動作13.012の検出でmk=0の時)には、バッファACELP_ZIRを更新し、TCXオーバーラップの長さovp_lenに0をセットする(動作13.013および16.017)。ACELP_ZIRの実際の計算は、ACELPデコーディングを扱う次の段落で説明する。
【０２０６】
TCXをデコードする時には、バッファOVLP_TCXを更新し(動作13.014から13.016)、TCXオーバーラップの実際の長さovp_lenに、TCX20、TCX40、およびTCX80についてそれぞれ2.5ms、5ms、および10msに等しいサンプル数にセットする(動作13.018から13.020)。OVLP_TCXの実際の計算は、TCXデコーディングを扱う次の段落で説明する。
【０２０７】
ACELP/TCXデコーダは、LF合成の後続のピッチ後フィルタリング用の2つのパラメータすなわち、80msスーパーフレームの5msサブフレームごとのピッチ利得gp = (g0, g1, ..., g15)およびピッチラグT = (T0, T1, ..., T15)も計算する。これらのパラメータは、プロセッサ13.001で初期化される。新しいスーパーフレームごとに、ピッチ利得には、デフォルトでk = 0, ..., 15についてgpk = 0がセットされ、ピッチラグは、すべてが64(すなわち、5ms)に初期化される。これらのベクトルは、動作13.013でACELPによってのみ変更され、パケットkでACELPが定義されている場合には、g4k, g4k+1, ..., g4k+3が、各デコードされたACELPサブフレーム内のピッチ利得に対応し、T4k, T4k+1, ..., T4k+3は、ピッチラグである。
【０２０８】
ACELPデコーディング
図14に提示されたACELPデコーダは、AMR-WB音声コーディングアルゴリズム[Bessette et al, 2002]から導出される。AMR-WBのACELPデコーダと比較した新しいブロックまたは変更されたブロックが、図14で強調表示されている(これらのブロックに陰をつけることによって)。
【０２０９】
第1ステップで、ACELP固有パラメータが、デマルチプレクサ14.001を介して多重化解除される。
【０２１０】
図14を参照すると、ACELPデコーディングは、線形組合せgp p(n) + gc c(n)として励振信号r(n)を再構成することからなり、ここで、gpおよびgcは、それぞれピッチ利得および固定コードブック利得であり、Tはピッチラグであり、p(n)は、ピッチフィルタ14.006を介して適応コードブック14.005から導出されたピッチ寄与であり、c(n)は、デコーダ14.008によってデコードされ、モジュール14.012および14.013を介して処理されたACELP革新コードブックインデックスから得られた革新コードブック14.009の後処理されたコードベクトルであり、p(n)は、乗算器14.007で利得gpをかけられ、c(n)は、乗算器14.014で利得gcをかけられ、積gp p(n)およびgc c(n)が、加算器モジュール14.015で加算される。ピッチラグTが分数である場合に、p(n)に、適応コードブック14.005での補間が含まれる。その後、再構成された励振が、合成フィルタ
【０２１１】
【数２５】
2007525707.tif 000031
【０２１２】
14.016を通されて、合成s(n)が得られる。この処理は、補間されたLP係数を基礎としてサブフレームに対して実行され、合成は、出力バッファ14.017を介して処理される。ACELPデコーディング処理全体が、主ACELPデコーディングユニット14.002によって制御される。パケットイレージャ(bfi_acelp = 1によってシグナリングされる)は、スイッチセレクタ14.011が革新コードブック14.009からランダム革新コードブック14.010に切り替え、ピッチパラメータおよび利得パラメータを利得デコーダ14.003および14.004内の過去の値から外挿し、外挿されたLP係数に頼ることによって処理される。
【０２１３】
AMR-WBのACELPデコーダと比較した変化は、利得デコーダ14.003、モジュール14.018から14.020での重み付き領域での
【０２１４】
【数２６】
2007525707.tif 000032
【０２１５】
の0入力応答(ZIR)の計算、ならびにモジュール14.021および14.022での重み付き合成の二乗平均平方根値(rmswsyn)の更新に関する。利得デコーディングは、bfi_acelp = 0または1の時に既に開示した。これは、平均除去されたVQを適用するために平均エネルギパラメータに基づく。
【０２１６】
ここでは、
【０２１７】
【数２７】
2007525707.tif 000033
【０２１８】
のZIRが、ブロッキング効果を避けながらACELPフレームからTCXフレームに切り替えるために重み付き領域で計算される。関連する処理は、次の3つのステップに分割され、その結果が、ACELP_ZIRによって指示される10msバッファに保管される。
1)カリキュレータが、
【０２１９】
【数２８】
2007525707.tif 000034
【０２２０】
の10ms ZIRを計算するが、ここで、LP係数は、最後のACELPサブフレームからとられる(モジュール14.018)。
2)フィルタが、ZIRに知覚的に重みを付ける(モジュール14.019)。
3)ハイブリッドフラット-三角形ウィンドウイング(ウィンドウジェネレータを介する)をモジュール14.020で10ms重み付きZIRに適用した後に、ACELP_ZIRが見つかる。このステップでは、下で定義される10msウィンドウw(n)を使用する。
n = 0, ..., 63の場合にはw(n) = 1
n = 64, ..., 127の場合にはw(n) = (128-n)/64
【０２２１】
モジュール14.020が、必ずOVLP_TCX = ACELP_ZIRとしてOVLP_TCXを更新することに留意されたい。
【０２２２】
パラメータrmswsynは、ACELPデコーダで更新される。というのは、これが、パケットイレージャコンシールメントのためにTCXデコーダで使用されるからである。ACELPデコードされたフレームでのこの更新は、サブフレームごとに知覚重み付けフィルタ14.021で重み付きACELP合成sw(n)を計算することと、モジュール14.022で
【０２２３】
【数２９】
2007525707.tif 000035
【０２２４】
を計算することからなり、ここで、L=256 (20 ms)は、ACELPフレーム長である。
【０２２５】
TCXデコーディング
TCXデコーダの一実施形態を、図15に示す。スイッチセレクタ15.017は、次の2つの異なるデコーディングの事例を処理するのに使用される。
事例1:TCXフレーム長が20msであり、関連するパケットが失われたすなわちBFI_TCX = 1の時の、モジュール15.013から15.016を介するTCX20のパケットイレージャコンシールメントと、
事例2:おそらくはモジュール15.001から15.012を介する部分的パケット消失を伴う通常のTCXデコーディング。
【０２２６】
事例1では、TCX20フレームをデコードするための情報が使用可能でない。TCX合成は、
【０２２７】
【数３０】
2007525707.tif 000036
【０２２８】
とほぼ同等の非線形フィルタ(モジュール15.014から15.016)を介して、励振バッファ15.013に保管され、Tだけ遅延された、前にデコードされたTCXフレームからの過去の励振を処理することによって行われ、ここで、T = pitch_tcxは、前にデコードされたTCXフレームで推定されたピッチラグである。非線形フィルタをフィルタ
【０２２９】
【数３１】
2007525707.tif 000037
【０２３０】
の代わりに使用して、合成でのクリックを防ぐ。このフィルタは、3つのブロックすなわち、Tだけ遅延された励振をTCXターゲット領域に写像する伝達関数
【０２３１】
【数３２】
2007525707.tif 000038
【０２３２】
を有するフィルタ15.014と、振幅を±rmswsynに制限するリミッタ15.015と、最後に、合成を見つけるための、伝達関数
【０２３３】
【数３３】
2007525707.tif 000039
【０２３４】
を有するフィルタ15.016に分解される。バッファOVLP_TCXには、この事例では0がセットされる。
【０２３５】
事例2では、TCXデコーディングに、デマルチプレクサ15.001およびVQパラメータデコーダ15を介して代数VQパラメータをデコードすることが含まれる。このデコーディング動作は、この説明の別の部分で提示する。前述の説明で示したように、変換係数の集合Y = [ Y0 Y1 ... YN-1 ]、ただしTCX20、TCX40、およびTCX80についてそれぞれN = 288、576、および1152 は、格子RE8で表される次元8のK個のサブベクトル(連続する変換係数のブロック)に分割される。サブベクトルの個数kは、TCX20、TCX40、およびTCX80についてそれぞれ36、72、および144である。したがって、係数Yは、Y = [Y0 Y1 .... YK-1]として展開することができ、ここで、Yk= [ Y8k ... Y8k+7]であり、k=0, .., K-1である。
【０２３６】
雑音フィルインレベルσnoiseは、コーダで使用された3ビット均一スカラ量子化を逆転することによって、雑音フィルインレベルデコーダ15.003でデコードされる。インデックス0 ≦ idx1 ≦ 7について、σnoiseは、σnoise = 0.1 * (8 - idx1)によって与えられる。しかし、idx1が使用可能でないことがありえる。これは、TCX20でBFI_TCX = (1)、TCX40で(1 x)、TCX80で(x 1 x x)の場合にあてはまり、ここで、xは、任意の2進数値を表す。この場合に、σnoiseには、その最大値がセットされる、すなわち、σnoise = 0.8である。
【０２３７】
コンフォートノイズが、0に丸められたサブベクトルYkに注入され、約6400/6 ≒ 1067Hzを超える周波数に対応する(モジュール15.004)。正確には、Zが、Z = Yとして初期化され、K/6 ≦ k ≦ K (だけ)について、Yk = (0, 0, ..., 0)の場合に、Zkが、次の8次元ベクトルによって置換される。
σnoise * [cos(θ1) sin(θ1) cos(θ2) sin(θ2) cos(θ3) sin(θ3) cos(θ4) sin(θ4) ]
ただし、位相θ1、θ2、θ3、およびθ4は、ランダムに選択される。
【０２３８】
適応低周波数デエンファシスモジュール15.005は、各サブベクトルZk、ただしk=0, ... K/4-1の変換係数を係数fack (図21のモジュール21.004)だけスケーリングするが、これは、kに伴って次のように変化する。
X'k = fack Zk, k=0, ..., K/4-1.
係数fackは、実際には、kの区分的に一定な単調増加関数であり、所与のk = kmax < K/4について1で飽和する(すなわち、k < kmaxではfack < 1、k ≧ kmaxではfack = 1)。kmaxの値は、Zに依存する。fackを得るために、各サブベクトルZkのエネルギεkを、次のように計算する(モジュール21.001)。
εk = ZkTZk + 0.01
ここで、項0.01は、0エネルギを避けるために任意にセットされる(εkの逆数を後で計算する)。次に、最初のK/4個のサブベクトルのうちの最大エネルギを検索する(モジュール21.002)。
εmax = max(ε0, ..., εK/4-1)
fackの実際の計算は、下の式によって与えられる(モジュール21.003)。
fac0 = max((ε0/εmax)0.5, 0.1)
fack = max((εk/εmax)0.5, fack-1)、ただしk=1, ..., K/4-1
【０２３９】
支配的ピッチの推定は、エスティメータ15.006によって実行され、その結果、次にデコードされるフレームがTCX20に対応し、関連するパケットが失われた場合に、そのフレームを正しく外挿できるようになる。この推定は、TCXターゲットのスペクトルの最大振幅のピークが支配的ピッチに対応するという前提に基づく。最大値Mの検索は、400Hz未満の周波数
M = maxi=1...N/32 (X'2i)2 + (X'2i+1)2
および最小インデックス1 ≦ imax ≦ N/32に制限され、(X'2i)2 + (X'2i+1)2 = Mも見つけられるようになっている。次に、支配的ピッチを、Test = N / imax (この値は整数でない場合がある)として、複数のサンプルの中で推定する。支配的ピッチは、TCX20のパケットイレージャコンシールメントのために計算される。バッファリング問題を避ける(励振バッファ15.013は20msまでに制限されている)ために、Test > 256サンプル(20ms)の場合には、pitch_tcxに256をセットし、そうではなく、Test ≦ 256の場合には、pitch_tcxに
【０２４０】
【数３４】
2007525707.tif 000040
【０２４１】
をセットすることによって、20ms内の複数のピッチ期間を回避するが、ここで、
【０２４２】
【数３５】
2007525707.tif 000041
【０２４３】
は、-∞に向かって最も近い整数への丸めを表す。
【０２４４】
使用される変換は、一実施形態で、DFTであり、FFTとして実装される。TCXコーダで使用される順序付けに起因して、変換係数X' = (X'0, ..., X'N-1)は、次のようになる。
・X'0は、直流係数に対応し、
・X'1は、ナイキスト周波数(すなわち、時間領域ターゲット信号が12.8kHzでサンプリングされるので6400Hz)に対応し、
・係数X'2kおよびX'2k+1、ただしk = 1..N/2-1は、周波数k(/N/2) * 6400Hzのフーリエ成分の実数部および虚数部である。
【０２４５】
FFTモジュール15.007は、必ずX'1を強制的に0にする。この0にすることの後に、時間領域TCXターゲット信号x'wが、逆FFTによってFFTモジュール15.007で見つけられる。
【０２４６】
(大域)TCX利得gTCXは、TCXコーダで使用された7ビット対数量子化を逆転することによって、TCX大域利得デコーダ15.008でデコードされる。それを行うために、デコーダ17.008は、
rms = sqrt(1/N(x'w02 + x'w12 + ... + x'wL-12))
としてTCXターゲット信号x'wの二乗平均平方根値を計算する。インデックス0 ≦ idx2 ≦ 127から、TCX利得は、次式によって与えられる。
【０２４７】
【数３６】
2007525707.tif 000042
【０２４８】
(対数)量子化ステップは、約0.71dBである。
【０２４９】
この利得は、乗算器15.009でx'wをxwにスケーリングするのに使用される。この例示的実施形態で使用されるモード外挿および利得反復戦略から、インデックスidx2が、乗算器15.009から使用可能になる。しかし、部分的なパケット消失(TCX40では1つの消失、TCX80では2つまでの消失)の場合に、idx2の最下位ビットに、デマルチプレクサ15.001でデフォルトで0をセットすることができる。
【０２５０】
TCXコーダは、ターゲット信号の変換コーディングの前にオーバーラップを伴うウィンドウイングおよび重み付きZIR除去を使用するので、再構成されるTCXターゲット信号x = (x0, x1, ..., xN-1)は、実際には、合成モジュール15.010でオーバーラップ加算によって見つけられる。オーバーラップ加算は、前にデコードされたフレームのタイプ(ACELPまたはTCX)に依存する。第1ウィンドウジェネレータが、TCXターゲット信号に適応ウィンドウw = [w0 w1 ... wN-1]をかける。
xi := xi * wi, i=0, ..., L-1
ここで、wは、
wi = sin( π/ovlp_len * (i+1)/2 ), i = 0, ..., ovlp_len-1
wi = 1, i = ovlp_len, ..., L-1
wi = cos( π/(L-N) * (i + 1 - L)/2 ), i = L, ..., N-1
によって定義される。
【０２５１】
ovlp_len = 0すなわち、前にデコードされたフレームがACELPフレームである場合に、このウィンドウの左部分が、適当なスキップ手段によってスキップされる。次に、過去にデコードされたフレームからのオーバーラップ(OVLP_TCX)が、適当な加算器を介して、ウィンドウイングされた信号xに加算される。
[ x0 ... x128 ] := [ x0 ... x128 ] + OVLP_TCX
【０２５２】
ovlp_len = 0の場合に、OVLP_TCXは、xのACELPの10ms重み付きZIR (128サンプル)である。そうでない場合には、
【０２５３】
【数３７】
2007525707.tif 000043
【０２５４】
であり、ここで、ovlp_lenは、32、64、または128 (2.5ms、5ms、または10ms)と等しいものとすることができ、これは、前にデコードされたフレームが、それぞれTCX20、TCX40、またはTCX80であることを示す。
【０２５５】
再構成されたTCXターゲット信号は、[x0 ... xL]によって与えられ、最後のN-L個のサンプルが、バッファOVLP_TCXに保存される。
【０２５６】
【数３８】
2007525707.tif 000044
【０２５７】
再構成されたTCXターゲットは、フィルタ15.011で、逆知覚フィルタ
【０２５８】
【数３９】
2007525707.tif 000045
【０２５９】
によってフィルタリングされて、合成が見つけられる。励振も、モジュール15.012で計算されて、ACELP適応コードブックが更新され、後続フレームでのTCXからACELPへの切替が可能にされる。TCX合成の長さが、TCXフレーム長(オーバーラップなし)すなわち20ms、40ms、または80msによって与えられることに留意されたい。
【０２６０】
高周波数(HF)信号のデコーディング
HF信号のデコーディングは、ある種の帯域幅拡張(BWE)機構を実施し、LFデコーダからのあるデータを使用する。これは、AMW-WB音声デコーダで使用されるBWE機構の進化である。HFデコーダの構造を、図16にブロック図の形で示す。HF合成チェーンは、モジュール16.012から16.014からなる。正確には、HF信号は、2ステップすなわち、HF励振信号の計算と、HF励振信号からのHF信号の計算で合成される。HF励振は、時間領域で(乗算器16.012)5msサブフレームごとのスケール係数(または利得)を用いてLF励振信号をシェーピングすることによって得られる。このHF励振は、出力の「バジネス(buzziness)」を減らすためにモジュール16.013で後処理され、その後、伝達関数1/AHF(z)を有するHF線形予測合成フィルタ06.014によってフィルタリングされる。前述の説明で示したように、HF信号をエンコードし、その後にデコードするのに使用されるLP次数は、8である。その結果は、HFエネルギ平滑化モジュール16.015でエネルギ変動を平滑化するために後処理もされる。
【０２６１】
HFデコーダは、80ms HFスーパーフレームを合成する。このスーパーフレームは、MODE = (m0, m1, m2, m3)に従ってセグメント化される。具体的には、HFデコーダで使用されるデコードされたフレームは、LFデコーダで使用されるフレームと同期している。したがって、mk ≦ 1、mk = 2、およびmk = 3は、それぞれ20msフレーム、40msフレーム、および80msフレームを示す。これらのフレームを、それぞれHF-20、HF-40、およびHF-80と呼ぶ。
【０２６２】
上で説明した合成チェーンから、HFデコーディングに必要なパラメータは、ISFパラメータおよび利得パラメータだけであるように思われる。ISFパラメータは、フィルタ18.014
【０２６３】
【数４０】
2007525707.tif 000046
【０２６４】
を表し、利得パラメータは、乗算器16.012を使用してLF励振信号をシェーピングするのに使用される。これらのパラメータは、MODEおよびビットストリームのフォーマットを知ることに基づいて、デマルチプレクサ16.001でビットストリームから多重化解除される。
【０２６５】
HFパラメータのデコーディングは、主HFデコーディング制御ユニット16.002によって制御される。具体的には、主HFデコーディング制御ユニット16.002は、線形予測(LP)パラメータのデコーディング(ISFデコーダ16.003)および補間(ISP補間モジュール16.005)を制御する。主HFデコーディング制御ユニット16.002は、ISFデコーダ16.003および利得デコーダ16.009への正しい不良フレームインジケータをセットする。主HFデコーディング制御ユニット16.002は、HF信号の出力バッファ16.016も制御し、その結果、デコードされたフレームが、80ms出力バッファの正しい時間セグメントに書き込まれるようにする。
【０２６６】
主HFデコーディング制御ユニット16.002は、HDデコーダの内部の制御データすなわち、bfi_isf_hf、BFI_GAIN、ISF補間のサブフレーム数、および出力バッファ16.016上のフレームポインタをセットするためのフレームセレクタを生成する。自己説明的であるフレームセレクタを除いて、これらのデータの性質を、下で詳細に定義する。
・bfi_isf_hfは、ISFパラメータの消失を示す2進フラグである。その定義は、BFI = (bfi0, bfi1, bfi2, bfi3)から下で与えられ、
パケットk内のHF-20の場合に、bfi_isf_hf = bfikであり、
パケットkおよびk+1内のHF-40の場合に、bfi_isf_hf = bfikであり、
HF-80 (パケットk = 0から3内)の場合に、bfi_isf_hf = bfi0である。
この定義は、ビットストリームフォーマットからたやすく理解することができる。前述の説明で示したように、HF信号のISFパラメータは、必ず、HF-20フレーム、HF-40フレーム、またはHF-80フレームを記述する最初のパケット内にある。
・BFI_GAINは、HF利得デコーダにパケット消失をシグナリングするのに使用される2進ベクトルであり、パケットk内のHF-20の場合にBFI_GAIN = (bfik)、パケットkおよびk+1内のHF-40の場合に(bfik bfik+1)、HF-80の場合にBFI_GAIN = BFIである。
・ISF補間のサブフレーム数は、デコードされたフレーム内の5msサブフレーム数を指す。この数は、HF-20の場合に4、HF-40の場合に8、HF-80の場合に16である。
【０２６７】
ISFベクトルisf_hf_qは、ISFデコーダ16.003でAR(1)予測VQを使用してデコードされる。bfi_isf_hf = 0の場合に、第1ステージの2ビットインデックスi1および第2ステージの7ビットインデックスi2が、使用可能であり、isf_hf_qは、
isf_hf_q = cb1(i1) + cb2(i2) + mean_isf_hf + μisf_hf * mem_isf_hf
によって与えられ、ここで、cb1(i1)は、第1ステージのi1番目のコードベクトルであり、cb2(i2)は、第2ステージのi2番目のコードベクトルであり、mean_isf_hfは、平均ISFベクトルであり、μisf_hf = 0.5は、AR(1)予測係数であり、mem_isf_hfは、ISF予測デコーダのメモリである。bfi_isf_hf = 1の場合に、デコードされたISFベクトルは、平均ISFベクトルに向かってシフトされた、前のISFベクトル
isf_hf_q = αisf_hf * mem_isf_hf + mean_isf_hf
に対応し、ここで、αisf_hf = 0.9である。isf_hf_qを計算した後に、AMR-WB音声コーディングで定義されたISF並べ変えを、180HzのISFギャップを用いてisf_hf_qに適用する。最後に、メモリmem_isf_hfを、次のHFフレームに関して
mem_isf_hf = isf_hf_q - mean_isf_hf
として更新する。mem_isf_hfの初期値(デコーダのリセット時の)は、0である。コンバータ16.004が、ISFパラメータ(周波数領域)をISPパラメータ(コサイン領域)に変換する。
【０２６８】
ISP補間モジュール16.005は、前にデコードされたHFフレーム(HF-20、HF-40、またはHF-80)のISPパラメータと新たにデコードされたISPパラメータの間の単純な線形補間を実現する。この補間は、ISF領域で行われ、式
ispsubframe-i = i/nb * ispnew + (1-i/nb) * ispold,
に従って、5msサブフレームごとのISFパラメータをもたらすが、ここで、nbは、現在のデコードされたフレーム内のサブフレーム数(HF-20の場合にnb = 4、HF-40の場合に8、HF-80の場合に16)であり、i = 0, ..., nb-1は、サブフレームインデックスであり、ispoldは、前にデコードされたHFフレームのISFパラメータから得られたISPパラメータの組であり、ispnewは、プロセッサ18.003でデコードされたISFパラメータから得られたISPパラメータの組である。次に、コンバータ10.006が、補間されたISPパラメータを、サブフレームごとの量子化された線形予測係数
【０２６９】
【数４１】
2007525707.tif 000047
【０２７０】
に変換する。
【０２７１】
モジュール16.007でのdB単位の利得gmatchの計算を、次の段落で説明する。この利得は、その以前の値old_gmatchに基づいて、5msサブフレームごとにモジュール16.008で
【０２７２】
【数４２】
2007525707.tif 000048
【０２７３】
として補間されるが、ここで、nbは、現在のデコードされたフレーム内のサブフレーム数(HF-20の場合にnb = 4、HF-40の場合に8、HF-80の場合に16)であり、i = 0, ..., nb-1は、サブフレームインデックスである。これは、ベクトル
【０２７４】
【数４３】
2007525707.tif 000049
【０２７５】
をもたらす。
【０２７６】
6400Hzで大きさを一致させるための利得推定値の計算(モジュール16.007)
プロセッサ16.007を、図10Ｂで説明する。このプロセスは、LPCフィルタの量子化された版だけを使用するので、コーダが同等のステージで計算したものと同一である。周波数6400Hzの減衰する正弦波が、極z = -0.9を有する1次自己回帰フィルタ1/(1+0.9 z-1) (フィルタ10.017)のインパルス応答h(n)の最初の64個のサンプル[ h(0) h(1) ... h(63) ]を計算することによって生成される。この5ms信号h(n)は、その係数がLFデコーダからとられる次数16の(0状態)プレディクタ(フィルタ10.018)
【０２７７】
【数４４】
2007525707.tif 000050
【０２７８】
を介して処理され、その後、その結果が、その係数がHFデコーダからとられる次数8の(0状態)合成フィルタ(フィルタ10.018)
【０２７９】
【数４５】
2007525707.tif 000051
【０２８０】
を介して処理されて、信号x(n)が得られる。2組のLP係数は、現在デコードされているHF-20フレーム、HF-40フレーム、またはHF-80フレームの最後のサブフレームに対応する。その後、訂正利得を、モジュール10.028に示されているように、gmatch = 10 log10 [ 1/(x(0)2 + x(1)2 + ... + x(63)2)]としてdB単位で計算する。
【０２８１】
LF信号とHF信号の両方のサンプリング周波数が、12800Hzであることを想起されたい。さらに、LF信号は、低域オーディオ信号に対応し、HF信号は、スペクトル的に高域オーディオ信号の折り畳まれた版である。HF信号が、6400Hzの正弦波である場合に、HF信号は、合成フィルタバンクの後に、12800Hzではなく6400Hzの正弦波になる。その結果、gmatchは、10^(gmatch/20) / AHF(z)の折り畳まれた周波数応答の大きさが6400Hz前後の1/A(z)の周波数応答の大きさと一致するように設計されているように見える。
【０２８２】
訂正利得のデコーディングおよび利得計算(利得デコーダ16.009)
前述の説明で説明したように、利得補間の後に、HFデコーダは、現在デコードされているフレームのnb個のサブフレームのそれぞれの、dB単位の推定された利得(gest0, gest1, ..., gestnb-1)をモジュール16.008から得る。さらに、HF-20ではnb = 4、HF-40では8、HF-80では16である。利得デコーダ16.009の役割は、サブフレームごとに、推定された利得に加算器16.010を介して加算される、dB単位の訂正利得をデコードして、デコード利得
【０２８３】
【数４６】
2007525707.tif 000052
【０２８４】
を形成することである。
【０２８５】
したがって、この利得デコーディングは、予測2ステージVQスケーラ量子化のデコーディングに対応し、この予測は、補間された6400Hz接合マッチング利得によって与えられる。量子化次元は、可変であり、nbと等しい。
【０２８６】
第1ステージのデコーディング:
4次元HF利得コードブックの第1ステージの7ビットインデックス0 ≦ idx ≦ 127は、4つの利得(G0, G1, G2, G3)にデコードされる。HF-20、HF-40、およびHF-80の不良フレームインジケータbfi = BFI_GAIN0は、パケット消失の処理を可能にする。bfi = 0の場合に、これらの利得は、
(G0, G1, G2, G3) = cb_gain_hf(idx) + mean_gain_hf
としてデコードされるが、ここで、cb_gain_hf(idx)は、コードブックcb_gain_hfのidx番目のコードベクトルである。bfi = 1の場合に、メモリpast_gain_hf_qが、-20dBに向かってシフトされ、
past_gain_hf_q := αgain_hf * (past_gain_hf_q + 20) - 20
になるが、ここで、αgain_hf = 0.9であり、4つの利得(G0, G1, G2, G3)には、同一の値
Gk = past_gain_hf_q + mean_gain_hf、ただしk = 0、1、2、および3
がセットされる。次に、メモリpast_gain_hf_qが、
past_gain_hf_q := (G0 + G1 + G2 + G3)/4 - mean_gain_hf
として更新される。第1ステージ再構成の計算は、
HF-20:  (gc10, gc11, gc12, gc13) = (G0, G1, G2, G3)
HF-40:  (gc10, gc11, ..., gc17) = (G0, G0, G1, G1, G2, G2, G3, G3)
HF-80:  (gc10, gc11, ..., gc115) = (G0, G0, G0, G0, G1, G1, G1, G1, G2, G2, G2, G2, G3, G3, G3, G3)
として与えられる。
【０２８７】
第2ステージのデコーディング:
TCX-20では、(gc20, gc21, gc22, gc23)に単純に(0, 0, 0, 0)がセットされ、実際の第2ステージデコーディングはない。HF-40では、i番目のサブフレームの2ビットインデックス0 ≦ idxi ≦ 3、ただしi = 0, ..., 7が、
bfi = 0の場合にはgc2i = 3 * idx1 - 4.5、そうでない場合にはgc2i = 0
としてデコードされる。TCX-80では、i番目のサブフレームの16個のサブフレームの3ビットインデックス0 ≦ idxi ≦ 7、ただしi = 0, ..., 15が、
bfi = 0の場合にはgc2i = 3 * idx - 10.5、そうでない場合にはgc2i = 0
としてデコードされる。
【０２８８】
TCX-40では、第2スカラリファインメントの大きさが、±4.5dBまでであり、TCX-80では±10.5dBまでである。どちらの場合でも、量子化ステップは3dbである。
【０２８９】
HF利得再構成:
各サブフレームの利得は、モジュール16.011で
【０２９０】
【数４７】
2007525707.tif 000053
【０２９１】
として計算される。
【０２９２】
バジネス低減モジュール16.013およびHFエネルギ平滑化モジュール16.015)
バジネス低減モジュール16.013の役割は、時間領域でHF励振信号rHF(n)のパルスを減衰させることであり、このパルスは、しばしば、オーディオ出力を「ぶんぶん」鳴らさせる。パルスは、絶対値| rHF(n) | > 2 * thres(n)であるかどうかを検査することによって検出され、ここで、thres(n)は、rHF(n)の時間領域エンベロープに対応する適応閾値である。パルスとして検出されたサンプルrHF(n)は、±2 * thres(n)までに制限され、ここで、±は、rHF(n)の符号である。
【０２９３】
HF励振の各サンプルrHF(n)が、1次低域フィルタ0.02/(1 - 0.98 z-1)によってフィルタリングされて、thres(n)が更新される。thres(n)の初期値(デコーダのリセット時の)は、0である。パルス減衰の振幅は、
Δ = max(|rHF(n)|-2*thres(n), 0.0)
によって与えられる。したがって、Δには、現在のサンプルがパルスとして検出されない場合に0がセットされ、これは、rHF(n)を変更されなくする。次に、適応閾値の現在値thres(n)を、
thres(n) := thres(n) + 0.5 * Δ
として変更する。最後に、各サンプルrHF(n)を、rHF(n) ≧ 0の場合にはr'HF(n) = rHF(n) - Δ、そうでない場合にはr'HF(n) = rHF(n) + Δに変更する。
【０２９４】
HF合成sHF(n)の短期エネルギ変動は、モジュール16.015で平滑化される。このエネルギは、サブフレームによって測定される。各サブフレームのエネルギが、適応閾値に基づいて、±1.5dBまでの値だけ変更される。
【０２９５】
所与のサブフレーム[sHF(0) sHF(1) ... sHF(63)]について、サブフレームエネルギは、
ε2 = 0.0001 + sHF(0)2 + sHF(1)2 + ... + sHF(63)2
として計算される。閾値の値tは
ε2 < tの場合にはt = min( ε2 * 1.414, t)
そうでない場合にはt = max( ε2 / 1.414, t)
として更新される。次に、現在のサブフレームを√(t / ε2)だけスケーリングする。
【０２９６】
【数４８】
2007525707.tif 000054
【０２９７】
後処理および合成フィルタバンク
LF合成およびHF合成の後処理およびこの2つの帯域の元のオーディオ帯域幅への再組合せを、図17に示す。
【０２９８】
LF合成(ACELP/TCXデコーダの出力である)は、まず、変換関数1/(1-αpreemph z-1)のフィルタ17.001によってプリエンファシスされるが、ここで、αpreemph = 0.75である。その結果を、LFピッチ後フィルタ17.002に通して、ACELPデコードされたセグメント内だけのピッチ高調波の間のコーディング雑音のレベルを下げる。この後フィルタは、パラメータとして、80msスーパーフレームの5msサブフレームごとにピッチ利得gp = (gp0, gp1, ..., gp15)およびピッチラグT = (T0, T1, ..., T15)をとる。これらのベクトルgpおよびTは、ACELP/TCXデコーダからとられる。フィルタ17.003は、AMR-WB音声コーディングで使用される2次の50Hz高域フィルタである。
【０２９９】
HF合成の後処理は、遅延モジュール17.005を介して行われ、遅延モジュール17.005は、後処理されたLF合成と同期させるためのHF合成の単純な時間位置合わせを実現する。したがって、HF合成は、LFピッチ後フィルタ17.002によって生成される遅延を補償するために、76サンプルだけ遅延される。
【０３００】
合成フィルタバンクは、LPアップサンプリングモジュール17.004、HFアップサンプリングモジュール17.007、および加算器17.008によって実現される。出力サンプリングレートFS = 16000Hzまたは24000Hzは、パラメータとして指定される。モジュール17.004および17.007での12800HzからFSへのアップサンプリングは、AMR-WB音声コーディングに似た形で実施される。FS = 16000の場合に、LFおよびHFの後フィルタリングされた信号が、5倍アップサンプリングされ、120次FIRフィルタによって処理され、4倍ダウンサンプリングされ、5/4だけスケーリングされる。アップサンプリングモジュール17.004と17.007の間の相違は、120次FIRフィルタの係数に関する。同様に、FS = 24000の場合に、LFおよびHFの後フィルタリングされた信号が、15倍アップサンプリングされ、368次FIRフィルタによって処理され、8倍ダウンサンプリングされ、15/8だけスケーリングされる。加算器17.008が、最終的に2つのアップサンプリングされたLF信号とHF信号を組み合わせて、出力オーディオ信号の80msスーパーフレームを形成する。
【０３０１】
本発明を、上記で非制限的な例示的実施形態によって説明したが、本発明の範囲、性質、および趣旨から逸脱せずに、添付請求項の範囲内でこれらの実施形態を随意に変更できることに留意されたい。
【０３０２】
【表５】
2007525707.tif 000055
【０３０３】
【表６】
2007525707.tif 000056
2007525707.tif 000057
【０３０４】
【表７】
2007525707.tif 000058
【０３０５】
【表８】
2007525707.tif 000059
2007525707.tif 000060
【０３０６】
【表９】
2007525707.tif 000061
【０３０７】
【表１０】
2007525707.tif 000062
【０３０８】
【表１１】
2007525707.tif 000063
【０３０９】
【表１２】
2007525707.tif 000064
【０３１０】
【表１３】
2007525707.tif 000065
【図面の簡単な説明】
【０３１１】
【図１】本発明によるコーダの一実施形態を示す高水準概略ブロック図である。
【図２】スーパーフレームの諸フレームタイプのタイミングチャートの非制限的な実施例を示す図である。
【図３】線形予測分析用のウィンドウイングの非制限的な実施例を、5msサブフレームに使用され、20ms ACELP、20ms TCX、40ms TCX、または80ms TCXのフレームモードに依存する補間係数と共に示す図である。
【図４Ａ】現在のフレームモードおよび長さと過去のフレームモードとに依存する、ACELP/TCXコーダ内のフレームウィンドウイングの非制限的な実施例を示す図である。
【図４Ｂ】現在のフレームモードおよび長さと過去のフレームモードとに依存する、ACELP/TCXコーダ内のフレームウィンドウイングの非制限的な実施例を示す図である。
【図４Ｃ】現在のフレームモードおよび長さと過去のフレームモードとに依存する、ACELP/TCXコーダ内のフレームウィンドウイングの非制限的な実施例を示す図である。
【図５Ａ】TCXフレームに関する、本発明によるコーダの構造およびそのコーダによって実施される方法の一実施形態を示す高水準ブロック図である。
【図５Ｂ】図5Ａのコーダによって実行されるスペクトラム前シェーピングの前後の振幅スペクトルの非制限的な例を示すグラフである。
【図５Ｃ】スペクトラム前シェーピング中にスペクトルに適用される利得を判定する重み付け関数の非制限的な実施例を示すグラフである。
【図６】代数コーディングが、係数の集合、たとえば、RE8格子を使用する前に説明した自己スケーラブルマルチレート格子ベクトル量子化を基礎とする周波数係数の集合を量子化するのにどのように使用されるかを示す概略ブロック図である。
【図７】TCXコーダの対数領域での反復大域利得推定手順の非制限的な実施例を示す流れ図である。この大域推定手順は、所与のフレームのビットバジェット内に留まりながら複雑さを減らすために格子クォンタイザを使用してTCXコーディングで実施されるステップである。
【図８】TCXフレーム内の大域利得推定および雑音レベル推定(逆ウォーターフィリング)の非制限的な実施例を示すグラフである。
【図９】分割の格子点インデックスを計算する時の、TCXコーディングでのビットバジェットオーバーフローの処理の実施例を示す流れ図である。
【図１０Ａ】帯域幅拡張に基づく高周波数(HF)コーダの非制限的な実施例を示す概略ブロック図である。
【図１０Ｂ】図10Ａのコーダによって計算される低周波数エンベロープと高周波数エンベロープの間で図10Ａのコーダによって実行される利得マッチング手順の非制限的な例を示す概略ブロック図およびグラフである。
【図１１】本発明によるデコーダの一実施形態を示し、ハイブリッドACELP/TCXを用いてコーディングされた低周波数信号と帯域幅拡張を使用してコーディングされたHF信号の再組合せを示す、高水準ブロック図である。
【図１２】LF信号に関するACELP/TCXデコーダの非制限的な実施例を示す概略ブロック図である。
【図１３】80msフレームを形成する4つのパケットを処理する際の、ACELP/TCXデコーディングの背後の論理の非制限的な実施例を示す流れ図である。
【図１４Ａ】図12のACELP/TCXデコーダで使用されるACELPデコーダの非制限的な実施例を示す概略ブロック図である。
【図１４Ｂ】図12のACELP/TCXデコーダで使用されるACELPデコーダの非制限的な実施例を示す概略ブロック図である。
【図１５Ａ】図12のACELP/TCXデコーダで使用されるTCXデコーダの非制限的な実施例を示す概略ブロック図である。
【図１５Ｂ】図12のACELP/TCXデコーダで使用されるTCXデコーダの非制限的な実施例を示す概略ブロック図である。
【図１６】帯域幅拡張法を基礎として動作するHFデコーダの非制限的な実施例を示す概略ブロック図である。
【図１７】デコーダ側での後処理および合成フィルタバンクの非制限的な実施例を示す概略ブロック図である。
【図１８】LFコーダの非制限的な実施例を示し、ACELPコーダおよびTCXコーダが、競合してどのように試行され、セグメンタルSNR(信号対雑音比)基準を使用して80msスーパーフレーム内のフレームごとに正しいコーディングモードを選択するかを示す、概略ブロック図である。
【図１９】各80msスーパーフレームでコーダ側で適用される前処理およびサブバンド分解の非制限的な実施例を示す概略ブロック図である。
【図２０】図5Ａのコーダのスペクトル前シェーピングモジュールの動作を示す概略流れ図である。
【図２１】図15Ａ及び15Ｂのデコーダの適応低周波数デエンファシスモジュールの動作を示す概略流れ図である。
【符号の説明】
【０３１２】
1.001  プリプロセッサおよび分析フィルタバンク
1.002  LF (ACELP/TCX)コーディングモジュール
1.003  HFコーディングモジュール
1.004  スーパーフレーム
1.005  低周波数(LF)信号
1.006  高周波数(HF)信号
1.007  スーパーフレーム構成情報(またはモード情報)
1.008  LFパラメータ
1.009  HFパラメータ
1.010  マルチプレクサ
1.011  パケット
2.001  第1の20ms ACELPフレーム
2.002  第2の20ms ACELPフレーム
2.003  第3の20ms ACELPフレーム
2.004  第4の20ms ACELPフレーム
2.005  80msスーパーフレーム
2.006  第1の20ms TCxフレーム
2.007  第2の20ms TCxフレーム
2.008  第3の20ms TCxフレーム
2.009  第4の20ms TCxフレーム
2.010  80ms TCXフレーム
2.011  40ms TCXフレーム
2.012  40ms TCXフレーム
5.001  知覚重み付けフィルタ
5.003  適応ウィンドウジェネレータ
5.004  変換モジュール
5.005  前シェーピングモジュール
5.006  代数量子化モジュール
5.007  スペクトルデシェーピングモジュール
5.009  利得計算および量子化モジュール
5.014  加算器
5.100  カリキュレータ
6.001  分割エネルギ推定モジュール
6.002  大域利得および雑音レベル推定モジュール
6.003  ディバイダ
6.004  分割自己スケーラブルマルチレートRE8コーディングモジュール
6.005  ビットバジェットオーバーフロー処理および分割インデクシングモジュール
6.007  ビットストリームマルチプレクサ
10.003  モジュール
10.004  モジュール
10.005  モジュール
10.006  モジュール
10.007  モジュール
10.009  モジュール
10.010  モジュール
10.011  モジュール
10.012  モジュール
10.013  モジュール
10.014  残差フィルタ
10.015  量子化HF合成フィルタ
10.016  モジュール
10.017  1極フィルタ
10.018  フィルタ
10.019  フィルタ
10.020  モジュール
10.021  モジュール
10.022  モジュール
10.023  モジュール
10.024  モジュール
10.025  モジュール
10.026  モジュール
10.027  除算器
10.028  モジュール
10.029  マルチプレクサ
11.001  主デマルチプレクサ
11.002  モード外挿モジュール
11.003  ACELP/TCXデコーダ
11.004  HFデコーダ
11.005  後処理および合成フィルタバンク
12.001  ACELP/TCXデマルチプレクサ
12.002  主ACELP/TCXデコーディング制御ユニット
12.003  ISFデコーディングモジュール
12.004  コンバータ
12.005  ISP補間モジュール
12.006  コンバータ
12.007  ACELPデコーダ
12.008  TCXデコーダ
12.009  スイッチセレクタ
12.010  出力バッファ
14.001  デマルチプレクサ
14.002  ACELPデコーディングユニット
14.003  利得デコーダ
14.004  利得デコーダ
14.005  適応コードブック
14.006  ピッチフィルタ
14.007  乗算器
14.008  デコーダ
14.009  革新コードブック
14.010  ランダム革新コードブック
14.011  スイッチセレクタ
14.012  モジュール
14.013  モジュール
14.014  乗算器
14.015  加算器モジュール
14.017  出力バッファ
14.018  モジュール
14.019  モジュール
14.020  モジュール
14.021  モジュール
14.022  モジュール
15.001  デマルチプレクサ
15.002  VQパラメータデコーダ
15.003  雑音フィルインレベルデコーダ
15.004  モジュール
15.005  適応低周波数デエンファシスモジュール
15.006  エスティメータ
15.007  FFTモジュール
15.008  TCX大域利得デコーダ
15.009  マルチプレクサ
15.010  合成モジュール
15.011  フィルタ
15.012  モジュール
15.013  励振バッファ
15.014  非線形フィルタ
15.015  リミッタ
15.016  非線形フィルタ
15.017  スイッチセレクタ
16.001  デマルチプレクサ
16.002  主HFデコーディング制御ユニット
16.003  ISFデコーダ
16.004  コンバータ
16.005  ISP補間モジュール
16.006  コンバータ
16.007  プロセッサ
16.008  モジュール
16.009  利得デコーダ
16.010  加算器
16.011  モジュール
16.012  乗算器
16.013  バジネス低減モジュール
16.014  HF線形予測合成フィルタ
16.015  HFエネルギ平滑化モジュール
16.016  出力バッファ
17.001  フィルタ
17.002  LFピッチ後フィルタ
17.003  フィルタ
17.004  LFアップサンプリングモジュール
17.005  遅延モジュール
17.007  HFアップサンプリングモジュール
17.008  加算器
18.002  モジュール
18.003  モジュール
18.004  モジュール
18.005  モジュール
18.006  モジュール
18.007  モジュール
18.008  モジュール
18.009  モジュール
18.010  モジュール
18.011  モジュール
18.013  知覚重み付けフィルタ
18.014  フィルタ
18.015  ACELPコーダ
18.016  TCXコーダ
18.017  セレクタスイッチ
18.018  知覚重み付けフィルタ
18.019  減算器
18.020  セグメンタルSNR計算ユニット
18.021  ACELP/TCXマルチプレクサ
19.001  HFダウンサンプリングモジュール
19.002  LFダウンサンプリングモジュール
19.003  高域フィルタ
19.004  デエンファシスフィルタ
20.001  カリキュレータ
20.002  カリキュレータ
20.003  モジュール
20.004  モジュール
20.005  モジュール
20.006  モジュール
20.007  モジュール
20.008  カリキュレータ
21.001  モジュール
21.002  モジュール
21.003  モジュール
21.004  モジュール
【図１】
2007525707.tif 000066
【図２】
2007525707.tif 000067
【図３】
2007525707.tif 000068
【図４Ａ】
2007525707.tif 000069
【図４Ｂ】
2007525707.tif 000070
【図４Ｃ】
2007525707.tif 000071
【図５Ａ】
2007525707.tif 000072
【図５Ｂ】
2007525707.tif 000073
【図５Ｃ】
2007525707.tif 000074
【図６】
2007525707.tif 000075
【図７】
2007525707.tif 000076
【図８】
2007525707.tif 000077
【図９】
2007525707.tif 000078
【図１０Ａ】
2007525707.tif 000079
【図１０Ｂ】
2007525707.tif 000080
【図１１】
2007525707.tif 000081
【図１２】
2007525707.tif 000082
【図１３】
2007525707.tif 000083
【図１４Ａ】
2007525707.tif 000084
【図１４Ｂ】
2007525707.tif 000085
【図１５Ａ】
2007525707.tif 000086
【図１５Ｂ】
2007525707.tif 000087
【図１６】
2007525707.tif 000088
【図１７】
2007525707.tif 000089
【図１８】
2007525707.tif 000090
【図１９】
2007525707.tif 000091
【図２０】
2007525707.tif 000092
【図２１】
2007525707.tif 000093
【国際調査報告】
2007525707.tif 000094
2007525707.tif 000095
2007525707.tif 000096