(58)【調査した分野】(Int.Cl.,DB名)
ディジタルオーディオ入力信号のADPCM方式符号化中における符号化ノイズのシェーピングを制御する方法であって、前記ノイズシェーピングは、前記ノイズのフィルタリングを含むフィードバックの実施によって実行される、方法において、
前記入力信号の線形予測分析から生じる第2の反射係数を得るステップであって、前記第2の反射係数であるパラメータは、前記信号の大きいスペクトルダイナミックレンジと前記フィードバックの不安定性のリスクを示す、得るステップ(702)と、
前記第2の反射係数を少なくとも1つの所定のしきい値と比較することによって不安定性のリスクを検出するステップ(705)と、
不安定性のリスクが検出された場合に前記フィードバックを無効化するステップ(706)と、
前記フィードバックが無効化されている現在のフレームに続く所定の数のフレームにわたって、前記フィードバックを順次再有効化するステップ(708、709、710)と
を備えることを特徴とする方法。
前記フィードバックの順次再有効化は、前記フィルタリングパラメータに重み付け係数を適応することによって実行され、前記重み付け係数は、前記所定の数のフレームにわたる増分によって規定されることを特徴とする、請求項2に記載の方法。
前記フィードバックの順次再有効化は、前記所定の数のフレームにわたって前記ノイズフィルタリングの出力に増加するゲイン値を適用することによって実行されることを特徴とする、請求項3に記載の方法。
【背景技術】
【0004】
ITU-T G.722、ITU-T G.726またはITU-T G.727の勧告によって指定されるエンベデッド符号ADPCM符号化/復号化の一般的な原理は、
図1および2を参照して説明するようなものである。
【0005】
図1は、このように、1サンプルあたりBビットとB+Kビットとの間で動作するADPCM方式(例えば、G.722低域、G.727)のエンベデッド符号コーダを示しており、非スケーラブルなADPCM符号化(例えば、G.726、G.722ハイバンド)の場合はK=0に対応することに注意されたい。
【0006】
このコーダは、
信号
【0007】
【数1】
【0008】
の予測を、量子化誤差信号
【0009】
【数2】
【0010】
(v(n')は量子化スケールファクタである)の前のサンプルに基づいて、且つ、再構成信号r
B(n')n'=n-1,...,n-N
P(nは現在の時点である)に基づいて与えることを可能にする予測モジュール110と、
e(n)で示される予測誤差信号を得るために、入力信号x(n)の予測
【0011】
【数3】
【0012】
を後部から差し引く減算モジュール120と、
B+Kビットから成る量子化インデックスI
B+K(n)を与えるために、入力として誤差信号e(n)を受信する、誤差信号用の量子化モジュール130 Q
B+Kとを備える。量子化モジュール130 Q
B+Kは、エンベデッド符号方式のものであり、すなわち、Bビットのコア量子化器と、コア量子化器に埋め込まれるB+k k=1,...,Kビットの量子化器とを備える。
【0013】
ITU-T G.722標準(低域の符号化)の場合では、B=4に対するQ
B、Q
B+1、Q
B+2の識別レベルおよび再構成レベルは、X.Maitre、「7kHz audio coding within 64kbit/s」、IEEE Journal on Selected Areas in Communication、第6-2巻、1988年2月による、G.722標準を説明する概要の表IVおよびVIによって与えられる。
【0014】
量子化モジュール130 Q
B+Kの出力部におけるB+Kビットの量子化インデックスI
B+K(n)は、伝送チャネル140を経て、
図2を参照して説明するようなデコーダに伝送される。
【0015】
コーダは、さらに、
低ビットレートインデックスI
B(n)を与えるためにインデックスI
B+K(n)のK個の低次ビットを除去するためのモジュール150と、
出力としてBビットの量子化誤差信号
【0016】
【数4】
【0017】
を与えるための逆量子化モジュール121 (Q
B)
-1と、
量子化器および逆量子化器を適合させるために、以降の時点に対する、スケールファクタとも呼ばれるレベル制御パラメータv(n)を与えるためのモジュール170 Q
Adaptと、
低ビットレート再構成信号r
B(n)を与えるために予測
【0018】
【数5】
【0019】
を量子化誤差信号に加えるための加算モジュール180と、
Bビットの量子化誤差信号
【0020】
【数6】
【0021】
および1+P
z(z)によってフィルタ処理される信号
【0022】
【数7】
【0023】
に基づいて予測モジュールを適応させるためのモジュール190 P
Adaptとを備える。
【0024】
図1では、155と符号が付けられたハッチング部分が、予測器165および175と逆量子化器121とを含む低ビットレートローカルデコーダを示すことに留意されたい。したがって、このローカルデコーダは、170で、低ビットレートインデックスI
B(n)に基づいて逆量子化器を適応させることを可能にし、且つ、再構成された低ビットレートデータに基づいて予測器165および175を適応させることを可能にする。
【0025】
この部分は、
図2を参照して説明するようなエンベデッド符号ADPCMデコーダでも同様に見られる。
【0026】
フレーム損失がない場合、
図2のエンベデッド符号ADPCMデコーダは、入力として、伝送チャネル140から生じるインデックスI
B+K(ここで0≦k≦K)と、バイナリエラーによって乱される可能性があるI
B+Kの変形とを受信する。デコーダは、信号
【0027】
【数8】
【0028】
を得るために、1サンプルあたりBビットのビットレートの逆量子化モジュール210 (Q
B)
-1による逆量子化を実行する。記号「'」は、受信ビットに基づいて復号化された値であって、伝送エラーのためにコーダによって使用される値と異なっている場合がある値を示す。Bビットの出力信号r'
B(n)は、信号の予測
【0029】
【数9】
【0030】
と、Bビット逆量子化器の出力
【0031】
【数10】
【0032】
との和に等しくなる。デコーダのこの部分255は、
図1の低ビットレートローカルデコーダ155と同一である。
【0033】
ビットレートインジケータモードおよびセレクタ220を用いることによって、デコーダは、再構成される信号を改善することができる。
【0034】
実際は、モードが、B+1ビットが伝送されていることを示すならば、出力は、予測
【0035】
【数11】
【0036】
と、B+1ビットの逆量子化器230の出力
【0037】
【数12】
【0038】
との和に等しくなる。
【0039】
実際は、モードが、B+2ビットが伝送されていることを示すならば、出力は、予測
【0040】
【数13】
【0041】
と、B+2ビットの逆量子化器240の出力
【0042】
【数14】
【0043】
との和に等しくなる。
【0044】
ITU-T標準G.722(以下、G.722と呼ぶ)のエンベデッド符号ADPCM符号化は、[50-7000Hz]の最小帯域幅で規定され、且つ、16kHzでサンプリングされる、広帯域の信号の符号化を実行する。G.722符号化は、直交ミラーフィルタで信号を分解することによって得られる2つの信号サブバンド[0-4000Hz]および[4000-8000Hz]の各々のADPCM符号化である。低域は、6、5および4ビットでのエンベデッド符号ADPCM符号化によって符号化され、高域は、1サンプルあたり2ビットのADPCMコーダによって符号化される。全体のビットレートは、低域を復号化するために使用されるビット数に応じて、64、56または48bit/sとなる。
【0045】
この符号化は、最初にISDN(統合サービスディジタル網)で使用されるために開発された。最近では、IPネットワークでの改善された品質の電話用途で配備されている。
【0046】
レベルの数が多い量子化器に関しては、量子化ノイズのスペクトルは比較的平坦になる。しかしながら、信号が低いエネルギーを有する周波数帯域では、ノイズは、信号より大きいレベルを有する可能性があり、したがって、もはやマスクされる必要はない。その後、これらの領域では可聴になりうる。
【0047】
したがって符号化ノイズのシェーピングが必要である。G.722のようなコーダでは、エンベデッド符号の符号化に適応する符号化ノイズのシェーピングがさらに望ましい。
【0048】
一般に、符号化ノイズシェーピングの目的は、そのスペクトル包絡線が短期間のマスキングしきい値に続く量子化ノイズを得ることであり、この原理は、ノイズのスペクトルが信号のスペクトルにほぼ続くようにしばしば単純化され、信号のより低いエネルギーの帯域であってもノイズが聞こえないままであるような均一な信号対ノイズ比を確保する。
【0049】
エンベデッド符号によるPCM(「パルス符号変調」を表す)方式の符号化に対するノイズシェーピング技術は、ITU-T G.711.1勧告、「Wideband embedded extension for G.711 pulse code modulation」またはY. Hiwasaki、S. Sasaki、H. Ohmuro、T. Mori、J. Seong、M. S. Lee、B. Kovesi、S. Ragot、J.-L. Garcia、C. Marro、L. M.、J. Xu、V. Malenovsky、J. Lapierre、R. Lefebvre、「G.711.1: A wideband extension to ITU-T G.711」、EUSIPCO、Lausanne、2008年で説明される。
【0050】
この勧告は、
図3に例示するようなノイズフィードバックによる符号化ノイズのシェーピングを伴う符号化を説明する。符号化ノイズをシェーピングする(ブロック305)ための知覚フィルタF(z)は、逆コア量子化器から生じる(ブロック301)、64kbit/sのコアビットレートの復号化信号
【0051】
【数15】
【0052】
(レイヤ0に対してL0)に基づいて演算される(ブロック303)。したがって、コアビットレートローカルデコーダ(ブロック301)は、ノイズシェーピングフィルタF(z)を演算することを可能にする。このように、デコーダでは、コアビットレートの復号化信号に基づいて同じノイズシェーピングフィルタを演算することも可能にする。
【0053】
コアビットを供給する量子化器(ブロック308)および改善ビットを供給する量子化器(ブロック309)が、G.711.1コーダでは使用される。
【0054】
コアバイナリストリーム(L0)および改善ビット(L1)を受信するG.711.1デコーダは、符号化ノイズをシェーピングするためのフィルタF(z)を、コーダと同じように、コアビットレート(64kbit/s)の復号化信号に基づいて演算し、このフィルタを改善ビットのための逆量子化器の出力信号に適用し、シェーピングされた高ビットレート信号が、フィルタ処理された信号を復号化されたコア信号に加えることによって得られる。
【0055】
このように、ノイズシェーピングは、コアビットレート信号の知覚品質を改善する。それは、改善ビットについて品質の限定的な改善を提供する。実際には、符号化ノイズシェーピングは、改善ビットの符号化に対しては実行されず、量子化器の入力は、コア量子化については、改善される量子化についてと同じである。
【0056】
次いで、コアビットに加えて改善ビットが復号化されるとき、デコーダは、結果として生じるスプリアス成分を適応化フィルタ処理によって除去しなければならない。
【0057】
勧告G.711.1で実施されるようなノイズフィードバックによるノイズシェーピングは、G.711以外のPCMコーダと、ADPCM方式の符号化とに一般化可能である。
【0058】
PCM/ADPCM符号化での典型的な既知のノイズフィードバック構造を
図4に示す。
以下、次の表記が使用される。
s(n):符号化すべき入力信号
s'(n):コーダの入力信号(符号化すべき変更された信号)
【0059】
【数16】
【0060】
:ローカルデコーダによって提供される復号化信号
【0061】
【数17】
【0062】
:コーダの量子化ノイズ
【0063】
図4は、PCM/ADPCM符号化ノイズのシェーピングの典型的な実施を例示する。このコーダは、PCM/ADPCM符号化ブロック502およびローカルデコーダ503を備える。符号化ノイズ
【0064】
【数18】
【0065】
は、信号s(n)上でフィルタ処理され(ブロック504)、再導入される(ブロック505)。予測係数は、G.711.1(
図3)では、コアビットレートの過去の復号化信号に基づいて推定されるのに対して、信号s(n)に基づいて推定される(ブロック500)。既知の方法では、フィルタ
【0066】
【数19】
【0067】
は、通常は、信号s(n)の短期相関をモデル化する線形予測フィルタA(z)に基づいて、線形予測フィルタA(z)の係数を減衰させることによって得られる(ブロック500)。符号化ノイズは、典型的な値としてγ=0.92のフィルタ
【0068】
【数20】
【0069】
によってシェーピングされる。
【0070】
実際に、
図4のスキームについて、
【0071】
【数21】
【0072】
から開始し、
【0073】
【数22】
【0074】
のPCM/ADPCM量子化ノイズにより、z変換領域では、
【0075】
【数23】
【0076】
を示すことができる。別に述べられる「グローバル」符号化ノイズ
【0077】
【数24】
【0078】
は、
【0079】
【数25】
【0080】
によってフィルタ処理(シェーピング)されるPCM/ADPCM量子化ノイズq(n)に対応する。
【0081】
ADPCM符号化に用いられるノイズフィードバックは、特に、音声または音楽のような「自然な」オーディオ信号に対して符号化ノイズをマスキングすることによって、PCM/ADPCMコーダの品質を改善する効果的な技術である。
図4のスキームは、周波数に応じてより均一な信号対ノイズ比を得るために、マスキングフィルタ
【0082】
【数26】
【0083】
によって符号化ノイズをシェーピングすることを可能にする。
【0084】
しかしながら、音声または音楽より「自然」信号らしさがないものに対して、ノイズフィードバックは、ループ化されたシステムの場合としばしば同様に、不安定になり、復号化信号の劣化または飽和をもたらすおそれがある。ここで、飽和は、復号化信号の振幅が、有限精度(例えば、16ビット符号付き整数)で表現できる最大値を越え、したがって、信号のクリッピングをもたらすという意味に解釈されるべきである。
【0085】
ノイズフィードバックに関して問題のある信号の例は、例えば、無音の短いセグメントによって分離される異なった周波数の一連の純粋な正弦波のような、大きいスペクトルダイナミックレンジの固定シーケンス間で高速遷移を示す信号である。
【0086】
特に、「トーナル」信号(純粋な正弦波)は、ノイズフィードバックによる符号化スキームの不安定性または飽和の問題を生じさせる可能性がある危険性がある信号と考えられる。
【0087】
この方式の信号について、推定されるマスキング(またはシェーピング)フィルタ
【0088】
【数27】
【0089】
は、正弦波間の遷移と、アタックとで急激に変化し、再導入される量子化ノイズは、しばしば非常に高くなる。
【0090】
ノイズフィードバックで観察される安定性および飽和の問題は、ADPCM符号化で特に重大である。実際に、G.722で実施されるようなADPCM符号化は、符号化パラメータ(量子化間隔、予測係数)の順次適応に依存する。この適応は、適応化フィルタ処理のLMS(「最小二乗平均」を表す)アルゴリズムと類似した原理によって1サンプルずつ行われ、これによって、適応は、符号化すべき信号の非定常特性にすぐには従わないことを意味する。特定の信号では、ADPCM符号化単独(ノイズフィードバックなし)での適応は、適応が再収束前に一定時間後に発散するという意味で、ドロップアウトする(「ミストラッキングする」)可能性があることが知られている。
【0091】
図4に戻ると、符号化すべき信号s(n)は、信号s'(n)を形成するように、再導入されるノイズd(n)によって変更されるため、問題のある信号では、ノイズフィードバックは、ADPCM符号化の適応を乱す可能性がある。
【0092】
再導入されるノイズd(n)が信号s(n)のレベルと同様のレベルである場合(これはしばしば、大きいスペクトルダイナミックレンジの固定シーケンス間の高速遷移の場合である)、ADPCMコーダの入力での信号s'(n)は、信号s(n)およびd(n)が同位相であるかまたは位相を異にしているかに応じて、非常に「不安定」になる可能性がある。さらに、ADPCM符号化がドロップアウトする(「ミストラッキングする」)適応を行う場合、ノイズフィードバックは、ドロップアウトの期間および大きさを増幅させる。
【0093】
この現象の原因を示すために、知覚信号対ノイズ比RSB
P(符号化ノイズをマスキングすることを目的とするノイズフィードバックの効果を含むため知覚的な)
【0094】
【数28】
【0095】
を演算することができる。
【0096】
【数29】
【0097】
を示すことができ、ここで、G
MICDAはADPCMコーダの予測ゲインであり、RSB
QはADPCM量子化器の信号対ノイズ比(5ビットラプラス量子化器に関して約24dB)であり、E
Dはマスキングフィルタのインパルス応答f
D(n)のエネルギーである。
【0098】
この式によれば、ゲインG
ADPCMがより低くなるおよび/またはエネルギーE
Dがより高くなると、RSB
Pはより低くなることがわかる。ゲインG
ADPCMが非常に低くなるため(第1の純粋な正弦波に適応するADPCM符号化は、第2の純粋な正弦波に再適応する前に特定の時間を要する)、これらの2つの条件(低いG
ADPCMおよび高いE
D)の両方は、純粋な正弦波の2つのシーケンス間の遷移の状況で持続し、正弦波は非常に共鳴する再導入フィルタを与えるため、E
Dは高い。この場合、ADPCMコーダは不安定になるか、不安定に近くなる。
【0099】
このような不安定および飽和現象は、可聴アーティファクト(例えば、時間において局在的な振幅スパイク)を生成するおそれがあるため、または、実際には、信号の時間的レベルの完全な飽和の場合に「音響衝撃(acoustic shock)」を生成するおそれがあるため、許容され得ない。
【発明の概要】
【発明が解決しようとする課題】
【0101】
したがって、特に、種々の周波数の純粋な正弦波の列のような問題のある信号に関して、フィードバックを伴う符号化構造での不安定および飽和現象を未然に防ぎ、制御する必要性が存在する。
【0102】
本発明は、飽和を改善する。
【課題を解決するための手段】
【0103】
この目的のため、ディジタルオーディオ入力信号のADPCM方式符号化中における符号化ノイズのシェーピングを制御する方法を提案し、ノイズシェーピングは、ノイズのフィルタ処理を含むフィードバックの実施によって実行される。方法は、
フィードバックの不安定性のリスクを示す、信号の大スペクトルダイナミックレンジを示すパラメータを得るステップと、
指示パラメータを少なくとも1つの所定のしきい値と比較することによって不安定性のリスクを検出するステップと、
不安定性のリスクが検出された場合にフィードバックを制限するステップと、
フィードバックが制限されている現在のフレーム以降の所定の数のフレームの間のフィードバックを順次再有効化するステップとを備えるようなものである。
【0104】
このように、方法は、フィードバックで不安定性の現象を生じさせるリスクを冒している潜在的に問題のある信号の高速且つ効果的な検出を行うことを可能にする。このように、この現象は、フィードバックの制限がこれらのリスクのある信号の出現時に実行されるため、回避される。この制限は、このフィードバックの完全な無効化からさえ成りうる。
【0105】
したがって、方法は、厄介な現象の出現への予防作用を有する。フィードバックループの再有効化は、その後、符号化信号の過度に急激な変動を生じさせないように、順次行われる。
【0106】
特定の実施形態では、信号の大きいスペクトルダイナミックレンジを示すためのパラメータは、入力信号の線形予測分析から生じる第2の反射係数か、復号化信号の線形予測分析から生じる第2の反射係数である。
【0107】
このように、このパラメータは、リスクのある信号を非常に代表し、したがって、フィードバックの不安定性のリスクを示す。このパラメータは、特にノイズシェーピングフィルタを演算するために行われる線形予測分析中に得られる。したがって、フィードバックを制御するためにここでそれを再利用するのが有利である。
【0108】
他の実施形態では、信号の大きいスペクトルダイナミックレンジを示すためのパラメータは、入力信号とノイズとの間の信号対ノイズ比である。
【0109】
このパラメータは、正弦波を示す信号だけでなく、任意のタイプのリスクのある信号に対するフィードバックの不安定性のリスクを測定することを可能にする。
【0110】
可能な実施形態では、フィードバックの制限は、ノイズフィルタリングパラメータに用いられる重み付け係数にゼロを設定することによって実行される。
【0111】
これは、ノイズシェーピングフィルタの作用をキャンセルし、したがって簡単な方法でフィードバックを無効化することになる。
【0112】
変形実施形態では、フィードバックの制限は、ノイズフィルタリングの出力でゼロ値のゲインを適用することによって実行される。
【0113】
このように、フィルタは不変のままであるが、その作用は、このゲインの適用によって出力においてキャンセルされる。これは、フィルタの演算を変更することなく、フィードバックを無効化することを可能にする。
【0114】
簡単な方法で、フィードバックの順次再有効化は、重み付け係数をフィルタリングパラメータに適用することによって実行され、フィードバックループの無効化が重み付け係数にゼロを設定することによって実行される場合、重み付け係数は、所定の数のフレームにわたる増加によって規定される。
【0115】
フィードバックループの無効化が、ノイズフィルタリングの出力でゼロ値のゲインを適用することによって実行される場合、フィードバックの順次再有効化は、所定の数のフレームにわたって、ノイズフィルタリングの出力で増加するゲイン値を適用することによって実行される。
【0116】
方法は、階層型のコーダの場合に有利に適合し、階層符号化のコア符号化中および改善符号化中に一度に且つ同時に実施することができる。
【0117】
このように、不安定性の問題はコア符号化中に回避されるだけでなく、改善符号化中にも回避されるが、符号化の複雑さが比例して増加することはない。
【0118】
本発明は、ノイズフィルタリングモジュールを含む、符号化ノイズをシェーピングするためのフィードバックを含むディジタルオーディオ信号ADPCM方式コーダにも関する。コーダは、
フィードバックの不安定性のリスクを示す、信号の大スペクトルダイナミックレンジを示すパラメータを得る手段と、
指示パラメータを少なくとも1つの所定のしきい値と比較することによって不安定性のリスクを検出する手段と、
不安定性のリスクが検出された場合にフィードバックを制限する手段と、
フィードバックが制限されている現在のフレーム以降の所定の数のフレームの間のフィードバックを順次再有効化する手段とを含むノイズシェーピング制御モジュールを備えるようなものである。
【0119】
本発明は、プロセッサによって実行される場合に本発明による制御方法のステップを実施するためのコード命令を備えるコンピュータプログラムにも関する。
【0120】
本発明は、最後に、上述したようなコンピュータプログラムを格納する、プロセッサによって読み取り可能な記録手段に関する。
【0121】
本発明の他の特徴および利点は、単に限定的でない例として与えられる、添付図面を参照する以下の説明を読むことにより、より明瞭に明らかとなる。
【発明を実施するための形態】
【0123】
図5を参照して、本発明を組み込むエンベデッド符号コーダをここで説明する。
【0124】
このコーダは、8kHzで標本化され、5msのフレームを有する信号で動作する。このコーダは、ノイズフィードバック(ステップ606、604、605)によって実施される符号化ノイズシェーピングを備える。ノイズフィードバックは、ここでは、ノイズを得るステップ(606)、ノイズをフィルタリングするステップ(604)および信号を変更するステップ(605)を意味することが意図される。ここで、フィードバックによって変更される信号は入力信号s(n)であるが、ADPCM符号化の場合の等価の方法では、他の信号が符号化ステップ(601)の前に変更されてよく、例えば、フィードバックによって変更される信号は、入力信号s(n)と、ADPCMスカラ量子化を用いる前にADPCM符号化によって予測される信号との間の差であってもよい。
【0125】
ここで説明する例では、符号化は、追加のサンプルあたり1ビットを与える改善ステージで実行される。この選択は、ここでは、コーダの表現を簡単にするために採用される。しかしながら、以下に説明される本発明は、改善ステージがサンプルあたり1より多いビットを与えるより一般的な場合に適合することは明らかである。
【0126】
さらに、「コアコーダ」という用語は、本明細書では広い意味で使用される。したがって、例えばITU-T G.722の56または64kbit/sのような既存のマルチビットレートコーダが、「コアコーダ」であるとみなされてもよい。
【0127】
このコーダは、例えば、標準化されたG.722またはG.727コーダのようなADPCM符号化のタイプの、あるいは標準化されたG.711コーダのようなPCM(「パルス符号変調」を表す)のタイプの、B+k-1ビットの量子化(ブロック601)を伴うコアビットレート符号化ステージ603を備える。
【0128】
このコア符号化ステージは、ローカル復号化モジュール(ブロック602)を備える。
【0129】
コアビットレートコーダは、
図4を参照して説明したものと同様のノイズシェーピングフィードバックループを備える。したがって、符号化ノイズは、演算され(ブロック606)、フィルタリングされ(ブロック604)、再導入される(ブロック605)。
【0130】
コーダは、1サンプルあたりB+k-1ビットのビットレートから1サンプルあたりB+kビットのビットレートに変化するために、1サンプルあたり1ビットを与える改善ステージ613も備える。
【0131】
コア符号化ステージ単独で、以後説明されるノイズシェーピング制御の方法を実施することができるため、この改善ステージは、本発明の実施に関して任意である。
【0132】
この改善ステージは、量子化器(610)およびローカルデコーダ(ブロック611)を使用し、コアコーダと同じマスキングフィルタ
【0134】
を使用するノイズのシェーピングを行う。
【0135】
したがって、コアコーダおよび改善ステージは、その係数がブロック600によって演算される同じノイズシェーピングフィルタ
【0138】
図6は、
図5と等価の解決法を与えるが、フィルタリング部分については別の解釈を与える。予測
【0142】
(モジュール614および615)を使用し、これらのフィルタの入力(それぞれs
c(n)およびt
c(n))は、それぞれブロック616および617によって以下のように作成される。
s
c(n')=t(n) n'=n-n
D,...,n-1
s
c(n')=s(n') n'=n
および
【0144】
ブロック600は、本発明によるノイズシェーピング制御モジュールを表す。
【0145】
本例では、制御モジュール600は、とりわけ、
図7を参照して後に説明するように、入力信号s(n)に基づいてマスキングフィルタの係数の演算を実行する。マスキングフィルタの係数のこの演算は、
図3を参照して説明したG.711.1コーダの場合のように、復号化信号に基づいて実行することもできる。
【0146】
このモジュールは、特に、フィードバックの不安定性のリスクを示すパラメータを得るための手段を備える。このパラメータを得るいくつかの例は、後に説明される。
【0147】
このモジュールは、さらに、例えば、得られたパラメータと所定のしきい値との比較を実行する比較器の形態の、フィードバックの不安定性のリスクを検出する手段を備える。
【0148】
モジュールは、例えば、後に説明するように、ゲインまたは重み付け係数を0または低い値に設定することによって、フィードバックを制限する手段を備える。
【0149】
モジュールは、さらに、フィードバックが制限されている現在のフレームに続く所定の数のフレームにわたってフィードバックを順次再有効化する手段を備える。順次再有効化のこれらの手段は、例えば、所定の数のフレームと連係して重み付けまたはゲインの値を順次増加させる手段である。
【0150】
この制御モジュールは、
図7を参照してここで説明する実施形態では、フローチャートの方式で表されるノイズシェーピング制御方法を実施する。
【0151】
この実施形態では、ステップ701から704は任意であり、必ずしも本発明による制御方法の一部を形成するものではない。
【0152】
ここで、Mは、ノイズシェーピングに使用される線形予測次数であり、その代表的な値はM=4である。
【0153】
このように、ステップ701では、信号s(n)の自己相関r(k)、k=0,...,M(Mは線形予測次数)の演算が実行される。これらの自己相関は、方法の性質を変えることなく、G.711.1でのように復号化信号
【0155】
に基づいて演算することもできることに留意されたい。
【0156】
したがって、信号s(n)は、最初に、
S
pre(n)=s(n)-β
es(n-1)
を得るために、(1-β
ez
-1)のタイプのフィルタによって予め強調され、ここで、β
eは、G.711.1でのように、以下の式、
β
e=1-0.007813c
zcl
にしたがって演算され、ここで、c
zclはゼロ交差の数である。
【0157】
その後、次数M=4の線形予測フィルタ(LPC)が、1フレームあたり(5msごとに)1回推定される。したがって、予め強調された信号s
pre(n)は、
【0159】
を得るために、現在のフレームの開始を中心に80サンプル(10ms)の非対称でハイブリッドの余弦ハミング窓によって重み付けされる。その後、自己相関は、式、
【0162】
このようにして得られた相関は、G.711.1でのように、40dBのノイズフロアを表す1/1.0001の補正係数を含む120Hzの帯域拡張によりr'(k)で変更され、
【0166】
であり、f
0=120Hzおよびf
s=8000Hzである。
【0169】
によって定義される、G.711.1でのような固定小数点算術表現でバイナリシフトの数を計数する正規化係数も演算され、ここで、
【0171】
は、最も近い整数への切り捨てを表す。
【0172】
ステップ702は、ITU-T勧告G.711.1に記載されるレビンソン-ダービンアルゴリズムに対応し、結果として、
予測係数a
i, i=0...Mと、
線形予測フィルタのトレリス実装に関連付けられる反射係数k
i, i=1,...,Mとを与える。
【0173】
レビンソン-ダービンアルゴリズムは、そのステップが以下
繰り返し数i=1、
【0185】
、
i=Mまでiを1だけ増分し、ステップ2に戻る、
のように呼び戻される再帰アルゴリズムである。
【0186】
結果は、線形予測器A(z)=1+a
1z
-1+a
2z
-2+a
3z
-3+a
4z
-4の係数である
【0188】
によって、且つ、J. D. MarkelおよびA. H. Gray「Linear Prediction of Speech」、Springer-verlag、1976年による参照で説明されるようなフィルタA(z)のトレリス実装に対応する反射係数k
iによって与えられる。
【0189】
反射係数k
1は、線形予測によってモデル化される信号の短期スペクトルの「傾斜」を表し、反射係数k
2は、レビンソン-ダービンアルゴリズムの2回目の繰り返しで見られる2次の線形予測の品質係数(共鳴の程度)に関連付けられるため、信号のスペクトルダイナミックレンジの指標である。
【0190】
ここに示す例では、この反射係数k
2は、
図7を参照して示すようなフィードバックの不安定性のリスクを示すパラメータを構成する。
【0191】
ここで、係数k
2は、非常に大きい過電圧を有する信号、特に正弦波の検出を可能にすることが示される。
【0192】
先に説明したように、大きい過電圧を有する信号、特に正弦波は、検出されるべき(ノイズフィードバックに関して)リスクのある信号である。これらのリスクのある信号の検出は、重み付けフィルタ
【0194】
が演算される際に基づくフィルタA(z)を演算するために使用されるレビンソン-ダービンアルゴリズムの出力で第2の偏相関係数を検査することによって行われてもよい。
【0195】
我々は、第2の偏相関係数を、過電圧をその周波数のレベルで所有するサンプリング周波数1/Tの角周波数
【0197】
の正弦波s(n)=cos(nωT)に関するレビンソン-ダービンアルゴリズムによって演算するものとする。その相関関数は
【0200】
アルゴリズムの第1のステップは、
k
1=-cos(ωT)
【0208】
予測エラーがゼロのとき、正弦波は2つのサンプルに基づいて予測可能であり、
x(n)=2cos(ωT)x(n-1)-x(n-2)
となる。
【0209】
予測器の演算前の相関関数の種々の減衰のため、過電圧係数はその理想値に等しくない。3000Hzの正弦波の場合、k
2=0.97が一般的に見られる。したがって、実施される解決法は、一般的に0.95のしきい値より大きい偏相関係数k
2を与える大きい過電圧を有する信号を検出することにある。
【0210】
ステップ703は、正規化係数ηが限界値(MAXNORM=16)を越えるか否かを確認し、これによって、G.711.1でのように低レベルの信号(無音または非常に低い信号)を検出することを可能にする。この正規化係数が所定のしきい値を超える場合、すなわちη≧MAXNORMの場合、線形予測係数a
i, i=0,...,Mは減衰され(ステップ704)、これは、ノイズマスキング(またはシェーピング)フィルタの効果を減少させることになる。
【0211】
この場合、マスクフィルタW(z)-1は、以下の式
【0213】
にしたがってステップ704で得られる係数a
i, i=0,...,Mを使用することによって得られる。
【0214】
逆の場合では、ノイズシェーピングフィルタは、式
【0217】
減衰係数γの値は、メモリに保持され、各フレームの処理の開始時に引き出されるとする。メモリに保持されるこの値は、γ
memで示される。この引き出し動作は、ステップ711で実行される。
【0218】
低レベルの信号(η≧MAXNORM)が検出されるフレームでは、ステップ712で、パラメータγ
memが、例えばGAMMA
1=0.92に等しい値に再初期化される。
【0219】
ノイズシェーピング制御方法は、指示パラメータを少なくとも1つの所定のしきい値と比較することによって、不安定性のリスクを検出するステップ705を備える。
【0220】
いくつかの技術が、正弦波のような大きいスペクトルダイナミックレンジを有する信号を検出するために存在する。ここで説明するように、反射係数k
2による線形予測分析が展開される場合、上述したように第2の反射係数を再利用するのが有利である。
【0221】
この典型的な実施では、ステップ705は、第2の反射係数が所定の値、ここでは0.95(k
2>0.95)を超えるか否かを確認することから成る。このテストは、大きいスペクトルダイナミックレンジを有する信号を検出することを可能にし、特に、(強い振幅変調はせず、比較的一定の振幅の)純粋な正弦波を検出することを可能にする。
【0222】
テストが肯定的であることがわかる場合、このフィードバックの不安定のリスクが実証されるため、フィードバックを制限するステップが実行される。
【0223】
可能な制限は、例えば、ステップ706での、係数γを0に固定することによるフィードバックの無効化である。
【0224】
変形では、係数γは、非常に低いがゼロではない値、例えば0.001に固定される。この変形は、フィードバックの完全な無効化には対応しないが、フィードバックの制限には対応し、これは同じ効果(不安定または飽和を回避する)を与える。
【0225】
等価な方法では、γ=0の場合のフレームでは、
図5および6で、s'(n)=s(n)に固定することが可能であり、これは、信号s(n)にどのようなノイズも導入しないことになる。
【0226】
線形予測係数a
i, i=0,...,Mは、
【0228】
の係数を演算するために、ステップ707でγによって重み付けされる。
【0229】
メモリに保持される値γ
memは、その後、ステップ708で次のフレームのために更新される。この値は、最初に、例えばGAMMA
1=0.92の場合の
【0231】
によってγを増分することによって演算され、結果は、ステップ709および710でGAMMA
1で飽和される。4による除算は、4フレーム後にGAMMA
1の値を引き出すことを可能にする。
【0232】
706でγが非常に低い値に固定される場合(GAMMA
0=0.001)、γを
【0235】
この典型的な場合は、4に等しい所定の数のフレームについて説明されるが、このステップは、4より大きいまたは小さい数のフレームでまったく明らかに実行されてもよい。同様に、増分値は異なってもよく、増分は、非線形的に分配された間隔で実行されてもよい。
【0236】
これらのステップ708から710は、フィードバックが制限されている現在のフレームに続く所定の数のフレーム(ここでは4フレーム)にわたってフィードバックの順次再有効化を実行することになる。
【0237】
したがって、本発明によるノイズシェーピング制御方法は、本実施形態で第2の反射係数に行われるテストによって不安定または飽和を引き起こしそうな問題のある信号を検出し、このテストが肯定的な場合はすぐにノイズフィードバックを制限することから成る。肯定的な検出後、γの値は、その「通常」値GAMMA
1まで、順次(ここで説明される例では4フレーム後に)増加される。γの現在の値は、このパラメータの値をあるフレームから次のフレームに渡すために、γ
mem中に複製される。
【0238】
いくつかのフレームにわたるγの連続的な増分は、ノイズフィードバックを順次復元し、ループ化システムが、信号の「ローカル」統計の突然の変動を引き起こす可能性があるあまりに突然なフィードバックの再有効化に続いて発散するのを防ぐことを可能にする。
【0239】
ノイズシェーピング制御方法の変形実施形態では、不安定性のリスクを示すパラメータが異なる。
【0240】
例えば、スペクトルの平坦さの測定は、LPCウィンドウによってウィンドウ処理された短期信号に基づいて演算されるパワースペクトルのスペクトル線の算術平均と幾何平均との比を演算することによって実行される。この測定は、1本のラインのみを含むスペクトル(純粋な正弦波)に対して非常に大きい値になる傾向がある。
【0241】
この変形実施形態では、ステップ705で大きいダイナミックレンジの信号を検出することを可能にする検出しきい値は、状況(context)(フレーム長、ウィンドウなど)に依存する。しかしながら、この変形は、短期的な時間-周波数変換(フーリエ型の)を演算するステップと、先に説明された測定を演算するステップとを含む。
【0242】
他の変形実施形態では、大きいダイナミックレンジを有する信号を経験的に検出する努力はなされず、ノンパラメトリックで後天的な方法で、フィードバックの不安定性を生じさせる問題のある信号を検出する。この実施形態では、不安定性のリスクパラメータは、
図5および6で定義される、入力信号s(n)と符号化ノイズt(n)との間の瞬間的な信号対ノイズ比である。ステップ705での問題のある信号の検出は、例えばこの比が5dBを下回るとすぐに、信号対ノイズ比のしきい値を固定することによって行われる。この実施形態では、明確に定義される信号対ノイズ比を演算できるようにするために、入力信号とノイズとの平均を演算する必要がある。
【0243】
しかしながら、この方式の後天的な検出は、しばしば、不安定性の問題または飽和の問題がすでにある程度観察可能である場合を生じる。さらに、この変形は、かなり高い誤警報率を有する欠点を示す。
【0244】
フィードバックの不安定性のリスクを示すパラメータを得るための、および、不安定性のリスクの検出のための他の実施形態が
図8に示される。
【0245】
このアルゴリズムは、ステップ702が802になり、705が805になったことのみが、
図7を参照して説明されたアルゴリズムと異なる。
【0246】
実際に、ステップ802では、
図7を参照して説明したように得られる線形予測器の係数a
i, i=0,...,Mおよび反射係数k
i, i=1,...,Mだけでなく、現在のフレームのマスキングフィルタE
Dのエネルギーも、以下の、
【0248】
のように得られ、これはレビンソン-ダービンアルゴリズムの出力での予測ゲインによって近似されてもよい。E
[M]は
【0253】
に等しく、そのエネルギーを演算するために、
【0255】
から開始するより低次の連続する予測器と、偏相関係数とを再演算するアルゴリズムを使用することが適切である。
【0257】
702で演算される結果として生じるフィルタのエネルギーE
Dは、
【0260】
不安定性のリスクを示すパラメータは、その後、
【0262】
によって与えられる。G
ADPCMにより、ADPCMコーダの予測ゲインは前のフレームで予測する。これは、入力信号
【0264】
のエネルギーに関して、おそらくフィルタリングされた、量子化器の飽和しきい値V(n)
2の商によって近似される。
【0265】
不安定のリスクを検出するステップ805は、その後、指示パラメータ
【0267】
をリスクの程度を調節する係数k
RSBを乗算したADPCM量子化器の信号対ノイズ比としてここでは定義されるしきい値(k
RSBRSB
Q)と比較することによって実行される。
【0268】
RSB
Qは、実際には、ADPCM量子化器の信号対ノイズ比である(5ビットラプラス量子化器に関して、24dBのオーダの1/0.00414≒241)。種々のビット数およびラプラス確率密度に対するRSB
Qの値は、Paez および Glissonによる文献「Minimum Mean-Squared-Error Quantization in Speech PCM and DPCM Systems」the IEEE review Trans.、1972年4月のCommunications、225〜230頁のTable IIに与えられる。
【0269】
フィードバックを制限するステップ706は、種々の方法で行うことができる。
【0270】
別の実施形態では、ノイズフィードバックは、係数γを0に設定することによってではなく、ゼロ値のスケールファクタ(またはゲイン)gをフィルタW(z)-1の出力に適用することによって無効化される。
【0271】
この実施形態は、
図9を参照して示される。
【0272】
この図は、同じ要素を有する、
図5に示されるような階層的コーダを示す。唯一の違いは、ノイズシェーピングのための制御モジュール900から始まり、制御モジュール900は、913でコア符号化のためにフィルタリングモジュール604の出力として、且つ、914で改善符号化のためのフィルタリングモジュール608の出力として、0に設定されている場合にフィードバックを無効化するゲインgを供給する。
【0273】
係数gは、値が
図7のステップ711でメモリγ
mem内に配置されるパラメータγについてと同じ方法でg
memに格納される。
【0274】
ブロック900で、フィルタW(z)-1の係数の演算は、したがって、η<MAXNORMの場合に我々がγ=GAMMA
1=0.92に固定したことを除いて、ブロック600と同様である。ブロック900は、さらに、k
2の関数として現在のフレームに適用可能なゲインgの値を提供し、k
2>0.95の場合、g=0である。
【0275】
代わりに、ゲインgは、非常に低いがゼロではない値、例えば0.001に固定される。この変形は、フィードバックの完全な無効化には対応しないが、フィードバックの制限に対応する。
【0276】
ノイズフィードバックの順次復旧は、この変形では、gの値を0から1へ順次変化させることによって行われる。例えば、k
2>0.95の検出に続くk
2≦0.95のフレームでは、後続のフレームでgの値を0.25、0.5、0.75および1に固定することができる。
【0277】
これらの値は、gに与えられる制限値(例えば、不安定性のリスクが検出された場合、g=0.001)にしたがってまったく明らかに適応されてもよい。
【0278】
さらに、703で低レベルの信号が検出される(η≧MAXNORM)フレームでは、ゲインg
memは、γの値を復元する
図7のステップ712と同様に、値1に復元される。
【0279】
本発明によるコーダ1000の例示的な実施形態を、ここで
図10を参照して説明する。
【0280】
ハードウェアに関して、本発明の意味の範囲内で
図5、6および9の実施形態によって説明されたようなコーダは、典型的に、記録および/または作業メモリを含むメモリブロックBMと協働するプロセッサμPと、例えば不安定性検出しきい値の値、または、
図5、6、7、8および9を参照して説明したようなノイズシェーピング制御方法の実施に必要なすべての他のデータを格納するための手段の形の上述したバッファメモリMEMとを備える。このコーダは、入力としてディジタル信号s(n)を受信し、多重化された量子化インデックスI
B+Kを供給する。
【0281】
メモリブロックBMは、コーダのプロセッサμPによって実行されたときに本発明による方法のステップ、特に、フィードバックの不安定性のリスクを示すパラメータを得るステップと、指示パラメータを少なくとも1つの所定のしきい値と比較することによって不安定性のリスクを検出するステップと、不安定性のリスクが検出された場合にフィードバックを制限するステップと、フィードバックが制限されている現在のフレームに続く所定の数のフレームにわたってフィードバックを順次再有効化するステップとを実施するためのコード命令を含むコンピュータプログラムを備えることができる。
【0282】
より一般的な方法では、コンピュータまたはプロセッサによって読み取り可能で、コーダ内に任意に組み込まれ、あるいは取り外し可能な記録手段が、本発明によるノイズシェーピング制御方法を実施するコンピュータプログラムを格納する。
【0283】
例えば、
図7および8は、このようなコンピュータプログラムのアルゴリズムを示すことができる。