(57)【特許請求の範囲】
【請求項１】
デジタル音声信号の階層符号化の方法であって、入力信号の現在のフレームに対して、
− 前記現在のフレームの各サンプル(x(n))に対するスカラ量子化インデックス(IB(n))を送出するコア符号化と、
− エンハンスメント信号
【数１】
0005474088.tif 000190
の各符号化サンプルに対するスカラ量子化
【数２】
0005474088.tif 000191
のインデックス(Jk(n))を送出する、少なくとも1つのエンハンスメント符号化とを含み、
前記エンハンスメント符号化が、目標信号
【数３】
0005474088.tif 000192
を決定するために、ノイズシェーピングフィルタ(W(z))を得て、このノイズシェーピングフィルタによってエンハンスメント符号化誤差信号をフィルタリングするステップを含み、前記エンハンスメント信号のスカラ量子化
【数４】
0005474088.tif 000193
の前記インデックス(Jk(n))が、スカラ量子化の可能な値の組と、前記目標信号との間の誤差を最小化することにより決定されることを特徴とする方法。
【請求項２】
現在のサンプルに対して、さらに以下のステップ、すなわち、
− 前記階層符号化の前記入力信号(x(n))を、前の符号化段階の符号化に基づいて、および、前記現在のエンハンスメント符号化段階の再構成信号の過去のサンプルに基づいて部分的に再構成される信号と組み合わせることにより、エンハンスメント符号化誤差信号(eB+k(n))を得るステップと、
− 前の符号化段階の前記符号化から発生する前記再構成信号(rB+k-1(n))と、量子化ステップ
【数５】
0005474088.tif 000194
から発生する信号との加算による、前記現在のサンプルに対する前記再構成信号(rB+k(n))の計算ステップと、
− 前記量子化ステップから発生する前記信号に基づく、前記ノイズシェーピングフィルタのメモリの適応化ステップと
を含むことを特徴とする、請求項1に記載の方法。
【請求項３】
前記可能なスカラ量子化値の組、および前記現在のサンプルに対する誤差信号の量子化値が、コアビットレートの量子化インデックスに関して計算されるレベル制御パラメータによりスケーリングされる、量子化再構成レベルを示す値であることを特徴とする、請求項1に記載の方法。
【請求項４】
エンハンスメント段階kに対する量子化再構成レベルを示す値が、Bが前記コア符号化のビット数を示すB+kビットを用いる埋め込み量子化器の前記量子化の前記再構成レベルを示す値と、B+k-1ビットを用いる埋め込み量子化器の前記量子化再構成レベルを示す値との間の差分により定義され、B+kビットを用いる前記埋め込み量子化器の前記再構成レベルが、B+k-1ビットを用いる前記埋め込み量子化器の前記再構成レベルを2つに分けることにより定義されることを特徴とする、請求項3に記載の方法。
【請求項５】
前記エンハンスメント段階kに対する量子化再構成レベルを示す値が、メモリ空間に格納され、前記コアビットレートの量子化およびエンハンスメントのインデックスの関数として、インデックスが付与されることを特徴とする、請求項4に記載の方法。
【請求項６】
スカラ量子化の可能な値の数が、各サンプルに対して変動することを特徴とする、請求項1に記載の方法。
【請求項７】
前記スカラ量子化インデックス(Jk(n))を与える、前記エンハンスメント信号の符号化サンプルの数が、前記入力信号のサンプルの数よりも小さいことを特徴とする、請求項1に記載の方法。
【請求項８】
前記コア符号化が、スカラ量子化および予測フィルタを使用するADPCM符号化であることを特徴とする、請求項1に記載の方法。
【請求項９】
前記コア符号化が、PCM符号化であることを特徴とする、請求項1に記載の方法。
【請求項１０】
前記コア符号化が、さらに、現在のサンプルに対して、以下のステップ、すなわち、
− 前記符号化ノイズ
【数６】
0005474088.tif 000195
に対する予測信号を、過去の量子化ノイズサンプルに基づいて、および、所定のノイズシェーピングフィルタによりフィルタリングされる量子化ノイズの過去のサンプルに基づいて得るステップと、
− 量子化されるべき修正入力信号を得るために、前記コア符号化の前記入力信号と前記符号化ノイズ予測信号とを組み合わせるステップと
を含むことを特徴とする、請求項8または9に記載の方法。
【請求項１１】
前記エンハンスメント符号化により使用される前記ノイズシェーピングフィルタ(W(z))が、さらに、前記コア符号化により使用されることを特徴とする、請求項10に記載の方法。
【請求項１２】
前記ノイズシェーピングフィルタが、前記入力信号の関数として計算されることを特徴とする、請求項1または10に記載の方法。
【請求項１３】
前記ノイズシェーピングフィルタが、前記コア符号化によりローカルに復号化される信号に基づいて計算されることを特徴とする、請求項1または10に記載の方法。
【請求項１４】
デジタル音声信号の階層コーダであって、入力信号の現在のフレームに対して、
− 前記現在のフレームの各サンプルに対するスカラ量子化インデックス(IB(n))を送出するコア符号化段階(800、1500、1600)と、
− エンハンスメント信号の各符号化サンプルに対するスカラ量子化
【数７】
0005474088.tif 000196
のインデックス(Jk(n))を送出する、少なくとも1つのエンハンスメント符号化段階(EA-k)とを備え、
前記エンハンスメント符号化段階が、目標信号を決定するために、ノイズシェーピングフィルタ(W(z))を得るためのモジュール(850)、このノイズシェーピングフィルタによってエンハンスメント符号化誤差信号をフィルタリングするためのモジュール(EAk-2)、および、スカラ量子化の可能な値の組と、前記目標信号との間の誤差を最小化することにより、前記エンハンスメント信号のスカラ量子化
【数８】
0005474088.tif 000197
のインデックス(Jk(n))を送出する量子化モジュール(EAk-3、EAk-4)を備えることを特徴とする階層コーダ。
【請求項１５】
コード命令を含むコンピュータプログラムであって、これらの命令がプロセッサにより実行される場合に、請求項1から13のいずれか一項に記載の符号化方法のステップを実施することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号の符号化の分野に関する。
【０００２】
本発明による符号化は、特に、可聴周波数信号(音声、音楽など)のようなデジタル信号の送信および/または格納に適している。
【０００３】
本発明は、より詳細には、ADPCM(「適応差分パルス符号変調」を表す)符号化タイプの波形符号化、および、特に、スケーラブルなバイナリ列(binary train)で量子化インデックスを送出することを可能にする、埋め込み符号(embedded code)を用いるADPCMタイプの符号化に関する。
【背景技術】
【０００４】
ITU-T G.722またはITU-T G.727の勧告により具体的に明記される、埋め込み符号ADPCM符号化/復号化の一般的な原理は、図1および図2を参照して説明されるようなものである。
【０００５】
すなわち、図1は、ADPCMタイプの埋め込み符号のコーダを示す。
【０００６】
それは、
−  信号
【０００７】
【数１】
0005474088.tif 000002
【０００８】
の予測を、量子化誤差信号(quantized error signal)の前のサンプル
【０００９】
【数２】
0005474088.tif 000003
【００１０】
(ただし、ν(n’)はスケールファクタである)に基づいて、および、再構成信号(reconstructed signal)の前のサンプルrB(n’)(n’=n-1〜n-NP、ただし、nは現在の時点である)に基づいて与えることを可能にする予測モジュール110、
−  e(n)で示される予測誤差信号を得るために、入力信号x(n)から、その予測
【００１１】
【数３】
0005474088.tif 000004
【００１２】
を差し引く減算モジュール120、
−  B+Kビットからなる量子化インデックスIB+K(n)を与えるために、入力として誤差信号e(n)を受信する、誤差信号に対する量子化モジュール130QB+Kを備える。量子化モジュールQB+Kは、埋め込み符号タイプの量子化モジュールであり、すなわち、それは、Bビットを用いるコア量子化器(core quantizer)、および、コア量子化器に埋め込まれる、B+k(k=1〜K)ビットを用いる量子化器を備える。
【００１３】
ITU-T G.722標準の場合には、B=4に対する量子化器QB、QB+1、QB+2の判定レベルおよび再構成レベルが、“X. Maitre、「7 kHz audio coding within 64 kbit/s」、IEEE Journal on Selected Areas in Communication、第6-2巻、1988年2月”による、G.722標準を説明する概論の表IVおよびVIによって定義される。
【００１４】
量子化モジュールQB+Kの出力でのB+Kビットの量子化インデックスIB+K(n)は、送信チャネル140を介して、図2を参照して説明されるようなデコーダに送信される。
【００１５】
コーダは、さらに、
−  低ビットレートインデックスIB(n)を与えるために、インデックスIB+K(n)のK個の低次ビットを削除するためのモジュール150、
−  出力として、Bビットの量子化誤差信号
【００１６】
【数４】
0005474088.tif 000005
【００１７】
を与えるための逆量子化モジュール120(QB)-1、
−  量子化器および逆量子化器に対して、次の時点に対する、スケールファクタとも呼ばれるレベル制御パラメータν(n)を与えるための、適応化モジュール(adaptation module)170QAdapt、
−  低ビットレートの再構成信号rB(n)を与えるために、量子化誤差信号に対して、予測
【００１８】
【数５】
0005474088.tif 000006
【００１９】
を加算するための加算モジュール180、
−  予測モジュールに対する、Bビットの量子化誤差信号
【００２０】
【数６】
0005474088.tif 000007
【００２１】
に基づく、および、1+Pz(z)によりフィルタリングされる信号
【００２２】
【数７】
0005474088.tif 000008
【００２３】
に基づく適応化モジュール190PAdapt、
を備える。
【００２４】
図1では、155と符号が付けられたドット表示の部分が、予測器(predictor)165および175、ならびに逆量子化器120を含む、低ビットレートのローカルデコーダを示すことが確認され得る。したがって、このローカルデコーダは、逆量子化器120を、170で、低ビットレートインデックスIB(n)に基づいて適応させること、ならびに、予測器165および175を、再構成低ビットレートデータに基づいて適応させることを可能にする。
【００２５】
この部分は、図2を参照して説明されるような埋め込み符号ADPCMデコーダにおいて、同じように見られる。
【００２６】
図2の埋め込み符号ADPCMデコーダは、入力として、送信チャネル140から発生するインデックスI’B+K、バイナリエラーにより場合によっては乱される可能性があるIB+Kの変形(version)を受信し、信号
【００２７】
【数８】
0005474088.tif 000009
【００２８】
を得るために、1サンプル当たりBビットのビットレートの逆量子化モジュール210(QB)-1による逆量子化を実行する。記号「’」は、送信エラーのために、コーダにより送信されるものと、場合によっては異なる可能性がある、デコーダで受信される値を示す。
【００２９】
Bビットで表される出力信号r’B(n)は、信号の予測と、Bビットを用いる逆量子化器の出力との和に等しいことになる。デコーダのこの部分255は、図1の低ビットレートのローカルデコーダ155と同一である。
【００３０】
ビットレートインジケータモードおよびセレクタ220を使用することにより、デコーダは、復元される信号の質をエンハンスする（enhance：高める）ことができる。
【００３１】
実際は、モードが、B+1ビットが送信されたことを示すならば、出力は、予測
【００３２】
【数９】
0005474088.tif 000010
【００３３】
と、B+1ビットを用いる逆量子化器230の出力
【００３４】
【数１０】
0005474088.tif 000011
【００３５】
との和に等しいことになる。
【００３６】
モードが、B+2ビットが送信されたことを示すならば、出力は、予測
【００３７】
【数１１】
0005474088.tif 000012
【００３８】
と、B+2ビットを用いる逆量子化器240の出力
【００３９】
【数１２】
0005474088.tif 000013
【００４０】
との和に等しいことになる。
【００４１】
z変換の表記を使用することにより、この繰り返しの構造を表すために、以下のように記述され得る。
RB+k(z)=X(Z)+QB+k(z)
ただし、B+kビットでの量子化ノイズQB+k(z)を次式により定義する。
【００４２】
【数１３】
0005474088.tif 000014
【００４３】
ITU-T G.722標準(以下、G.722という)の埋め込み符号ADPCM符号化は、[50〜7000Hz]の最小の帯域幅で規定され、16kHzでサンプリングされる、広帯域での信号の符号化を実行する。G.722の符号化は、直交ミラーフィルタによる信号の分解によって得られる、信号の2つのサブバンド、[50〜4000Hz]および[4000〜7000Hz]のそれぞれのADPCM符号化である。低帯域は、1サンプル当たり6、5および4ビットの埋め込み符号ADPCM符号化により符号化され、一方で、高帯域は、1サンプル当たり2ビットのADPCMコーダにより符号化される。全体のビットレートは、低帯域を復号化するために使用されるビット数に応じて、64、56または48bit/sとなる。
【００４４】
この符号化は、最初にISDN(サービス総合ディジタル網)において、その後、IPネットワークでの音声符号化の応用例において使用された。
【００４５】
例として、G.722標準では、図3に示されるような以下の方式で、8ビットが割り当てられる。
高帯域に対しては、Ih1およびIh2の2ビット。
低帯域に対しては、IL1、IL2、IL3、IL4、IL5、IL6の6ビット。
【００４６】
ビットIL5およびIL6は、データによって「盗まれる」か、またはデータによって置換される場合があり、低帯域エンハンスメントビットを構成する。ビットIL1、IL2、IL3、IL4は、低帯域コアビットを構成する。
【００４７】
したがって、G.722標準に従って量子化される信号のフレームは、8、7または6ビットで符号化される量子化インデックスからなる。インデックスの送信の周波数は8kHzであるので、ビットレートは、64、56または48kbit/sとなる。
【００４８】
多数のレベルを有する量子化器に関しては、量子化ノイズのスペクトルは、図4により示されるように、比較的平坦となる。信号のスペクトルもまた、図4に示される(ここでは、有声音信号ブロック)。このスペクトルは、大きなダイナミック振幅(約40dB)を有する。低エネルギー区域では、ノイズは、信号に非常に接近し、したがって、もはや必ずしもマスクされるわけではないことが理解され得る。その場合、それは、これらの領域、特に図4での周波数[2000〜2500Hz]の区域では、可聴となり得る。
【００４９】
したがって、符号化ノイズのシェーピングが必要である。埋め込み符号の符号化に適応する符号化ノイズシェーピングが、さらに望ましいことになる。
【００５０】
埋め込み符号を用いるPCM(「パルス符号変調」を表す)タイプの符号化に対するノイズシェーピング技術は、“ITU-T G.711.1勧告「Wideband embedded extension for G.711 pulse code modulation」または「G.711.1: A wideband extension to ITU-T G.711」、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、EUSIPCO、Lausanne、2008”で説明される。
【００５１】
このように、この勧告は、コアビットレート符号化に対する、符号化ノイズのシェーピングを伴う符号化を説明する。符号化ノイズをシェーピングするための知覚フィルタ(perceptual filter)が、逆コア量子化器から発生する過去の復号化信号(decoded signal)に基づいて計算される。したがって、コアビットレートのローカルデコーダは、ノイズシェーピングフィルタを計算することを可能にする。このように、デコーダでは、このノイズシェーピングフィルタを、コアビットレートの復号化信号に基づいて計算することが可能である。
【００５２】
エンハンスメントビットを送出する量子化器は、コーダで使用される。
【００５３】
コアのバイナリストリームおよびエンハンスメントビットを受信するデコーダは、コーダにおけるフィルタ計算と同じ方式で、コアビットレートの復号化信号に基づいて、符号化ノイズをシェーピングするためのフィルタを計算し、このフィルタを、エンハンスメントビットの逆量子化器からの出力信号に適用し、そしてシェーピングされた高ビットレート信号が、フィルタリングされた信号を復号化コア信号に加算することにより得られる。
【００５４】
このように、ノイズのシェーピングは、コアビットレート信号の知覚品質をエンハンスする。それは、エンハンスメントビットについて、品質の限定的なエンハンスメントを提供する。実際は、符号化ノイズのシェーピングは、エンハンスメントビットの符号化について実行されず、量子化器の入力は、コア量子化に対しては、エンハンスされる量子化に対してと同じである。
【００５５】
次いで、デコーダは、コアビットに加えて、エンハンスメントビットが復号化されるとき、適切に適応化されるフィルタリングを通じて、結果として得られる、誤った(spurious：不要の)構成要素を削除しなければならない。
【００５６】
デコーダでのフィルタの余分な計算は、デコーダの複雑さ(complexity)を増大させる。
【００５７】
この技術は、G.722またはG.727のデコーダタイプのすでに存在する標準のスケーラブルデコーダでは使用されない。したがって、既存の標準のスケーラブルデコーダとの互換性を維持しながら、どのようなビットレートでも信号の品質をエンハンスする要求が存在する。
【先行技術文献】
【特許文献】
【００５８】
【特許文献１】仏国特許第２７４２５６８号（FR2742568）
【非特許文献】
【００５９】
【非特許文献１】X. Maitre、「7 kHz audio coding within 64 kbit/s」、IEEE Journal on Selected Areas in Communication、第6-2巻、1988年2月
【非特許文献２】ITU-T G.711.1勧告「Wideband embedded extension for G.711 pulse code modulation」
【非特許文献３】「G.711.1: A wideband extension to ITU-T G.711」、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、EUSIPCO、Lausanne、2008
【非特許文献４】ITU-T勧告G.711、「Pulse Code Modulation (PCM) of voice frequencies」
【発明の概要】
【発明が解決しようとする課題】
【００６０】
本発明は、この状況を改善することを目的とする。
【課題を解決するための手段】
【００６１】
この目的のために、本発明は、デジタル音声信号の階層符号化(hierarchical coding)の方法であって、入力信号の現在のフレームに対して、
−  現在のフレームの各サンプルに対するスカラ量子化インデックスを送出するコア符号化と、
−  エンハンスメント信号の各符号化サンプル(coded sample)に対するスカラ量子化のインデックスを送出する、少なくとも1つのエンハンスメント符号化とを含む方法を提案する。この方法は、エンハンスメント符号化が、目標信号を決定するために使用される符号化ノイズをシェーピングするためのフィルタを得るステップを含み、前記エンハンスメント信号のスカラ量子化のインデックスが、スカラ量子化の可能な値の組と、前記目標信号との間の誤差を最小化することにより決定されるというものである。
【００６２】
したがって、より高いビットレートのエンハンスメント信号の符号化ノイズのシェーピングが実行される。本発明の要旨を構成する合成ベースの分析スキームは、従来技術の符号化ノイズシェーピングの解決法の場合にあり得るような、デコーダで何らかの相補信号処理を実行することを必要とはしない。
【００６３】
したがって、デコーダで受信される信号は、何らかのノイズシェーピングの計算、または何らかの補正項(corrective term)を必要としない、コアビットレートの信号、および埋め込みビットレートの信号を復号化することができる標準デコーダにより、復号化され得ることになる。
【００６４】
したがって、復号化信号の品質は、デコーダで使用可能なビットレートが何であっても、エンハンスされる。
【００６５】
以下で述べられる様々な特定の実施形態は、上記で定義された方法のステップに対して、独立に、または相互に組み合わせて加えられ得る。
【００６６】
したがって、目標信号の決定の実施のモードは、現在のエンハンスメント符号化段階に対して、この方法が、現在のサンプルに対して、以下のステップ、すなわち、
−  階層符号化の入力信号を、前の符号化段階の符号化に基づいて、および、現在のエンハンスメント符号化段階の再構成信号の過去のサンプルに基づいて部分的に再構成される信号と組み合わせることにより、エンハンスメント符号化誤差信号を得るステップと、
−  得られたノイズシェーピングフィルタによる、目標信号を得るための、エンハンスメント符号化誤差信号のフィルタリングステップと、
−  前の段階の符号化から発生する再構成信号と、量子化ステップから発生する信号との加算による、現在のサンプルに対する再構成信号の計算ステップと、
−  量子化ステップから発生する信号に基づく、ノイズシェーピングフィルタのメモリの適応化ステップと
を含むというものである。
【００６７】
本明細書で説明される演算の構成は、複雑さが非常に低減した演算による、符号化ノイズのシェーピングをもたらす。
【００６８】
特定の実施形態では、可能なスカラ量子化値の組、および現在のサンプルに対する誤差信号の量子化値は、コアビットレートの量子化インデックスに関して計算されるレベル制御パラメータによりスケーリングされる、量子化再構成レベルを示す値である。
【００６９】
したがって、これらの値は、コア符号化の出力レベルに適応化される。
【００７０】
特定の実施形態では、エンハンスメント段階kに対する量子化再構成レベルを示す値は、Bがコア符号化のビット数を示すB+kビットを用いる埋め込み量子化器の量子化の再構成レベルを示す値と、B+k-1ビットを用いる埋め込み量子化器の量子化再構成レベルを示す値との間の差分により定義され、B+kビットを用いる埋め込み量子化器の再構成レベルは、B+k-1ビットを用いる埋め込み量子化器の再構成レベルを2つに分けることにより定義される。
【００７１】
さらには、エンハンスメント段階kに対する量子化再構成レベルを示す値は、メモリ空間に格納され、コアビットレートの量子化およびエンハンスメントのインデックスの関数として、インデックスが付与される。
【００７２】
エンハンスメント量子化器の出力値は、直接ROMに格納されるが、B+kビットを用いる量子化器の出力値を、B+k-1ビットを用いる量子化器の出力値から減算することにより、各サンプリング時点に対して再計算される必要はない。さらには、それらは、例えば、前の段階のインデックスにより容易にインデックスの付与が可能であるテーブル内に、2つずつ配置される。
【００７３】
特定の実施形態では、スカラ量子化の可能な値の数は、各サンプルに対して変動する。
【００７４】
したがって、エンハンスメントビットの数を、符号化されるべきサンプルの関数として適応させることが可能である。
【００７５】
別の変形の実施形態では、スカラ量子化インデックスを与える、前記エンハンスメント信号の符号化サンプルの数は、入力信号のサンプルの数よりも小さい。
【００７６】
これは、例えば、あるサンプルに対して、エンハンスメントビットの割り当て数が0に設定されるときの場合であり得る。
【００７７】
コア符号化の実施の可能なモードは、例えば、スカラ量子化および予測フィルタを使用するADPCM符号化である。
【００７８】
コア符号化の実施の別の可能なモードは、例えば、PCM符号化である。
【００７９】
コア符号化は、さらに、例えば、現在のサンプルに対して、以下のステップ、すなわち、
−  符号化ノイズに対する予測信号を、過去の量子化ノイズサンプルに基づいて、および、所定のノイズシェーピングフィルタによりフィルタリングされる量子化ノイズの過去のサンプルに基づいて得るステップと、
−  量子化されるべき修正入力信号を得るために、コア符号化の入力信号と符号化ノイズ予測信号とを組み合わせるステップと
を用いる符号化ノイズのシェーピングを含むことができる。
【００８０】
このように、複雑さがより少ない符号化ノイズのシェーピングが、コア符号化に対して実行される。
【００８１】
特定の実施形態では、ノイズシェーピングフィルタは、1つのARMAフィルタ、またはARMAフィルタの連続体により規定される。
【００８２】
したがって、分子の値および分母の値から構成される、このタイプの加重関数には、分母の値により信号スパイクを考慮し、分子の値によりこれらのスパイクを減衰させ、したがって、量子化ノイズの最適なシェーピングを与えるという利点がある。ARMAフィルタの縦続接続された連続体(cascaded succession)は、信号のスペクトルの包絡線をモデリングするための構成要素、および、周期性もしくは準周期性の構成要素により、マスキングフィルタのより良好なモデリングを可能にする。
【００８３】
特定の実施形態では、ノイズシェーピングフィルタは、分離したスペクトル傾斜(spectral slope)およびフォルマント形状の2つの縦続状態のARMAフィルタリングセルに分解される。
【００８４】
このように、各フィルタは、入力信号のスペクトル特性の関数として適応化され、したがって、様々なタイプのスペクトル傾斜を表す信号に適している。
【００８５】
有利に、エンハンスメント符号化により使用されるノイズシェーピングフィルタ(W(z))は、さらに、コア符号化により使用され、したがって、実施の複雑さが低減する。
【００８６】
特定の実施形態では、ノイズシェーピングフィルタは、様々な入力信号に最良に適応するように、前記入力信号の関数として計算される。
【００８７】
変形の実施形態では、ノイズシェーピングフィルタは、コア符号化によりローカルに復号化される信号に基づいて計算される。
【００８８】
本発明は、さらに、デジタル音声信号の階層コーダであって、入力信号の現在のフレームに対して、
−  現在のフレームの各サンプルに対するスカラ量子化インデックスを送出するコア符号化段階と、
−  エンハンスメント信号の各符号化サンプルに対するスカラ量子化のインデックスを送出する、少なくとも1つのエンハンスメント符号化段階と
を備える階層コーダに関する。
【００８９】
このコーダは、エンハンスメント符号化段階が、目標信号を決定するために使用される符号化ノイズをシェーピングするためのフィルタを得るためのモジュール、および、スカラ量子化の可能な値の組と、前記目標信号との間の誤差を最小化することにより、前記エンハンスメント信号のスカラ量子化のインデックスを送出する量子化モジュールを備えるというものである。
【００９０】
それは、さらに、コード命令を含むコンピュータプログラムであって、これらの命令がプロセッサにより実行される場合に、本発明による符号化方法のステップを実施するコンピュータプログラムに関する。
【００９１】
最後に、本発明は、説明されたようなコンピュータプログラムを記憶する、プロセッサにより読み取り可能な記憶手段に関する。
【００９２】
本発明の他の特性および利点は、単に限定的でない例として与えられ、添付図面に基づく以下の説明を読むことにより、より明瞭に明らかとなる。
【図面の簡単な説明】
【００９３】
【図１】従来技術による、および先に説明されたような、埋め込み符号ADPCMタイプのコーダを示す図である。
【図２】従来技術による、および先に説明されたような、埋め込み符号ADPCMタイプのデコーダを示す図である。
【図３】従来技術による、および先に説明されたような、埋め込み符号ADPCMタイプのコーダの量子化インデックスの例示的なフレームを示す図である。
【図４】本発明を実施しないコーダに存在する量子化ノイズのスペクトルに対する信号ブロックのスペクトルを示す図である。
【図５】本発明の一般的な実施形態による埋め込み符号コーダの、および符号化方法のブロック図を示す図である。
【図６ａ】本発明によるエンハンスメント符号化段階の、およびエンハンスメント符号化方法のブロック図を示す図である。
【図６ｂ】本発明によるエンハンスメント符号化段階の、およびエンハンスメント符号化方法のブロック図を示す図である。
【図７】本発明による符号化から発生する信号の復号化に適応するデコーダの様々な構成を示す図である。
【図８】本発明によるコーダの、および本発明による符号化方法の第1の詳細な実施形態のブロック図を示す図である。
【図９】本発明によるコーダのコア符号化段階に対する符号化ノイズの例示的な計算を示す図である。
【図１０】図9の符号化ノイズを計算するための詳細な関数を示す図である。
【図１１】本発明の符号化方法による量子化再構成レベルの組の取得の例を示す図である。
【図１２】本発明の符号化方法によるエンハンスメント信号の表現を示す図である。
【図１３】本発明による符号化のためのマスキングフィルタの計算の第1の実施形態のステップを表すフローチャートを示す図である。
【図１４】本発明による符号化のためのマスキングフィルタの計算の第2の実施形態のステップを表すフローチャートを示す図である。
【図１５】本発明によるコーダの、および本発明による符号化方法の第2の詳細な実施形態のブロック図を示す図である。
【図１６】本発明によるコーダの、および本発明による符号化方法の第3の詳細な実施形態のブロック図を示す図である。
【図１７】本発明によるコーダの可能な実施形態を示す図である。
【発明を実施するための形態】
【００９４】
以下、この文書では、「予測」という用語は、過去のサンプルのみを使用する計算を説明するために、意図的に使用される。
【００９５】
次に、図5を参照して、本発明による埋め込み符号コーダが説明される。符号化が、1つの追加のサンプル当たり1ビットを与えるエンハンスメント段階で実行されることを留意することは重要である。この制約は、本明細書で、本発明の説明を簡素化するためにのみ有用である。しかしながら、以下で説明される本発明は、エンハンスメント段階が、1サンプル当たり1を超えるビットを与える場合に容易に一般化されることは明らかである。
【００９６】
このコーダは、例えば、標準化されたG.722もしくはG.727のコーダなどのADPCM符号化タイプ、または、G.711の標準化されたコーダなどのPCM(「パルス符号変調」)コーダの、Bビットの量子化を伴い、ブロック520の出力の関数として修正されるコアビットレート符号化段階500を備える。
【００９７】
510と符号が付けられたブロックは、符号化ノイズのシェーピング、すなわち、図8、15または16を参照して、後でより詳細に説明される、コア符号化のノイズのマスキングを伴う、このコア符号化段階を示す。
【００９８】
このように提示される本発明は、さらに、コア部分で符号化ノイズのマスキングが実行されない場合に関する。さらには、「コアコーダ」という用語が、本文書では広い意味で使用される。したがって、例えば、ITU-T G.722の56または64kbit/sのような既存のマルチビットレートのコーダは、「コアコーダ」であるとみなされ得る。極端には、0kbit/sのコアコーダを考えること、すなわち、まさしく、符号化の第1のステップから、本発明の要旨を構成するエンハンスメント符号化技術を適用することもまた可能である。後者の場合には、エンハンスメント符号化はコア符号化となる。
【００９９】
ここで図5を参照して説明される、ノイズのシェーピングを伴うコア符号化段階は、予測信号
【０１００】
【数１４】
0005474088.tif 000015
【０１０１】
を提供するために、量子化ノイズqB(n)に基づいて、および、フィルタリングされる量子化ノイズ
【０１０２】
【数１５】
0005474088.tif 000016
【０１０３】
に基づいて予測Pr(z)を実行するフィルタリングモジュール520を備える。このフィルタリングされる量子化ノイズ
【０１０４】
【数１６】
0005474088.tif 000017
【０１０５】
は、例えば、フィルタリングされるノイズのKMの部分予測を、図9を参照して後で説明されるような量子化ノイズに加算することにより得られる。
【０１０６】
コア符号化段階は、入力として信号x(n)を受信し、出力として、量子化インデックスIB(n)、IB(n)に基づいて再構成される信号rB(n)、および、例えば図1を参照して説明されるようなADPCM符号化の場合には、量子化器のスケールファクタν(n)を提供する。
【０１０７】
図5に示されるようなコーダは、さらに、複数のエンハンスメント符号化段階を備える。段階EA1(530)、段階EAk(540)および段階EAk2(550)が、ここに示される。
【０１０８】
このように示されるエンハンスメント符号化段階は、図6aおよび6bを参照して、後で詳細に説明されることになる。
【０１０９】
一般には、各エンハンスメント符号化段階kは、入力として信号x(n)、最適インデックスIB+k-1(n)、コア符号化のインデックスIB(n)と前のエンハンスメント段階のインデックスJ1(n)〜Jk-1(n)との連結(concatenation)、または同じことであるが、これらのインデックスの組、前のステップで再構成される信号rB+k-1(n)、マスキングフィルタのパラメータ、および適切ならば、適応符号化の場合にはスケールファクタν(n)を有する。
【０１１０】
このエンハンスメント段階は、出力として、連結モジュール560でインデックスIB+k-1(n)と連結されることになる、この符号化段階に関するエンハンスメントビットに対する量子化インデックスJk(n)を提供する。エンハンスメント段階kは、さらに、出力として、再構成信号rB+k(n)を提供する。ここで、インデックスJk(n)は、インデックスnの各サンプルに対して1ビットを示すが、しかしながら、一般的な場合には、Jk(n)は、可能な量子化値の数が2より大きいならば、1サンプル当たり複数ビットを示すことができることに留意されたい。
【０１１１】
一部の段階は、インデックスIB(n)と連結されることになる、送信されるべきビットJ1(n)〜Jk1(n)に対応し、それにより、結果として得られるインデックスが、後で図7において示され、かつ説明されるような標準デコーダにより復号化され得る。したがって、リモートデコーダを変更する必要はなく、さらには、リモートデコーダに、コーダで実行される処理を「通知する」ための追加の情報は、必要ではない。
【０１１２】
他のビットJk1+1(n)〜Jk2(n)は、ビットレートを上昇させ、マスキングすることにより、エンハンスメントビットに対応し、図7を参照して説明される追加の復号化モジュールを必要とする。
【０１１３】
図5のコーダは、さらに、入力信号に基づいて、または、図13および14を参照して後で説明されるようなコーダの合成フィルタの係数に基づいて、ノイズシェーピングフィルタまたはマスキングフィルタを計算するための、モジュール580を備える。モジュール580は、入力として、元の信号ではなく、ローカルに復号化された信号を有する場合があることに留意されたい。
【０１１４】
ここで示されるようなエンハンスメント符号化段階は、復号化信号のビットレートが何であっても、デコーダを修正することなしに、したがって、デコーダでの何らかの余分な複雑さもなしに、デコーダで信号の向上された品質を提供するエンハンスメントビットを提供することを可能にする。
【０１１５】
このように、本発明の一実施形態によるエンハンスメント符号化段階kを示す図5のモジュールEakが、次に、図6aを参照して説明される。
【０１１６】
この符号化段階により実行されるエンハンスメント符号化は、出力として、可能な量子化値の組と、符号化ノイズシェーピングフィルタの使用により決定される目標信号との間の誤差を最小化する、インデックスおよび量子化値を送出する量子化ステップ
【０１１７】
【数１７】
0005474088.tif 000018
【０１１８】
を含む。
【０１１９】
埋め込み符号量子化器を備えるコーダが、ここでは考察される。
【０１２０】
段階kは、エンハンスメントビットJk、またはビットJk(k=1〜GK)のグループを得ることを可能にする。
【０１２１】
それは、符号化誤差信号eB+k(n)を与えるために、入力信号x(n)から、現在のフレームの、およびサンプルnに対する前の段階の信号rB+k-1(n)の、各前のサンプルn’=n-1〜n-NDに対して、段階kで合成される信号rB+k(n)を減算するためのモジュールEAk-1を備える。
【０１２２】
図4を用いて示されるような平坦なスペクトルで量子化ノイズを引き起こすことになる、二次誤差基準(quadratic error criterion)を最小化することではなく、量子化ステップでは、加重二次誤差基準が最小化されることになり、その結果、スペクトルがシェーピングされたノイズは、より可聴でなくなる。
【０１２３】
このように、段階kは、加重関数W(z)により誤差信号eB+k(n)をフィルタリングするためのフィルタリングモジュールEAk-2を備える。この加重関数は、さらに、コア符号化段階で、ノイズのシェーピングのために使用され得る。
【０１２４】
ノイズシェーピングフィルタは、ここでは、スペクトル加重の逆関数に等しく、すなわち、次式のように表される。
【０１２５】
【数１８】
0005474088.tif 000019
【０１２６】
このシェーピングフィルタは、ARMAタイプ(「自己回帰移動平均(AutoRegressive Moving Average)」)である。その伝達関数は、次数NNの分子および次数NDの分母から構成される。このように、ブロックEAk-1は、本質的には、HM(z)の分母に対応するフィルタW(z)の非再帰型(non-recursive)部分のメモリを定義する働きをする。W(z)の再帰型部分のメモリの定義は、簡潔化のために示されていないが、それは、
【０１２７】
【数１９】
0005474088.tif 000020
【０１２８】
から、および、
【０１２９】
【数２０】
0005474088.tif 000021
【０１３０】
から推定される。
【０１３１】
このフィルタリングモジュールは、出力として、目標信号に対応する、フィルタリングされた信号
【０１３２】
【数２１】
0005474088.tif 000022
【０１３３】
を与える。
【０１３４】
スペクトル加重の役割は、符号化誤差のスペクトルをシェーピングすることであり、これは、加重誤差のエネルギーを最小化することにより実行される。
【０１３５】
量子化モジュールEAk-3は、量子化出力の可能な値に基づいて、以下の式による加重誤差基準を最小化することに努める量子化ステップを実行する。
【０１３６】
【数２２】
0005474088.tif 000023
【０１３７】
この式は、エンハンスメントビットが、各サンプルnに対して計算される場合を示す。
その場合に、量子化器の２つの出力値が考えられる（possible）。我々は、後で、量子化ステップの可能な出力値が如何にして定義されるかを理解することになる。
【０１３８】
すなわち、このモジュールEAk-3は、第1の出力として、前の段階IB+k-1のインデックスと連結されるべき最適ビットJkの値を有し、そして第2の出力
【０１３９】
【数２３】
0005474088.tif 000024
【０１４０】
として、最適インデックスJkに対する量子化器の出力信号を有する、エンハンスメント量子化
【０１４１】
【数２４】
0005474088.tif 000025
【０１４２】
を実行する。ただし、ν(n)は、量子化器の出力レベルを適応させるために、コア量子化により定義されるスケールファクタを示す。
【０１４３】
最後に、エンハンスメント符号化段階は、段階kでの合成信号(synthesized signal)rB+k(n)を与えるために、量子化誤差信号
【０１４４】
【数２５】
0005474088.tif 000026
【０１４５】
を、前の段階で合成された信号rB+k-1(n)に加算するためのモジュールEAk-4を備える。
【０１４６】
同等の方式で、rB+k(n)は、EAk-4の代わりに、インデックスIB+k(n)を復号化することにより、すなわち、任意には有限の精度で、
【０１４７】
【数２６】
0005474088.tif 000027
【０１４８】
を計算することにより、および、予測
【０１４９】
【数２７】
0005474088.tif 000028
【０１５０】
を加算することにより得られ得る。この場合は、Bビット、B+1〜を用いる量子化器の量子化値
【０１５１】
【数２８】
0005474088.tif 000029
【０１５２】
をメモリに格納し、エンハンスメント量子化器の値を
【０１５３】
【数２９】
0005474088.tif 000030
【０１５４】
により計算することが適切である。
【０１５５】
n’=nに対してx(n’)-rB+k-1(n’)に等しい値を有していた信号eB+k(n)は、次のサンプリング時点に対して、以下の式に従って補足される(supplemented)。
【０１５６】
【数３０】
0005474088.tif 000031
【０１５７】
ただし、eB+k(n)もまた、フィルタのメモリMA(「移動平均」を表す)である。したがって、メモリに保存されるべきサンプルの数は、ノイズシェーピングフィルタの分母の係数の数に等しい。
【０１５８】
次いで、フィルタリングのAR(「自己回帰」を表す)部分のメモリは、以下の式に従って更新される。
【０１５９】
【数３１】
0005474088.tif 000032
【０１６０】
複数のARMAセルを縦続状態に配置することによるフィルタリングの場合には、図10に関連して、フィルタの内部変数が、同様に適応化される。
【０１６１】
【数３２】
0005474088.tif 000033
【０１６２】
インデックスnは、1単位だけ増分される。初期化ステップが最初のND個のサンプルに対して実行された後で、eB+k(n)の計算が、eB+k(n)に関して格納メモリをシフトすることにより(最古のサンプルを上書きすることを伴う)、および、値eB+k(n)=x(n)-rB+k-1(n)を空き状態のスロットに書き込むことによりなされることになる。
【０１６３】
図6aに示される本発明は、等価の変形により実行され得ることが留意され得る。実際に、再構成信号は、単に、すでに利用可能なサンプル(過去のサンプルn’=n-1〜n-ND、前の段階の現在のサンプル、フィルタのメモリ)により決定される部分sdet(n)と、最適化されるべき現在のサンプルに単に依存して決定されるべき別の部分sopt(n)とに分解され得る。したがって、計算の負荷を最適化するために、入力信号x(n)と再構成信号rB+k(n)との間の加重誤差である、最小化されるべき誤差
【０１６４】
【数３３】
0005474088.tif 000034
【０１６５】
の計算もまた、2つの部分に分解され得る。第1のステップでは、入力サンプルx(n)とsdet(n)との間の、W(z)による加重差分が計算される(図6aのモジュールEAK-1およびEAK-2)。このようにして得られる値
【０１６６】
【数３４】
0005474088.tif 000035
【０１６７】
は、単一の目標値に減少する、時点nでの目標信号であり、必要であれば、それぞれの可能な量子化値
【０１６８】
【数３５】
0005474088.tif 000036
【０１６９】
に対して1回だけ計算される。次に、最適化ループでは、すべての可能なスカラ量子化値の中から、ユークリッド距離の意味でこの目標値に最も近いものを、簡単に発見する必要がある。
【０１７０】
目標値を計算するための別の変形は、2つの加重フィルタリングW(z)を実行することである。第1のフィルタリングは、入力信号と前の段階の再構成信号rB+k-1(n)との間の差分に加重する。第2のフィルタは、0入力であるが、これらのメモリは、
【０１７１】
【数３６】
0005474088.tif 000037
【０１７２】
の助力により更新される。これら2つのフィルタリングの出力の間の差分は、同じ目標信号を与える。
【０１７３】
図6aで説明される本発明の原理は、図6bで一般化される。ブロック601は、前の段階の符号化誤差εB+k-1(n)を与える。ブロック602は、すべての可能なスカラ量子化値
【０１７４】
【数３７】
0005474088.tif 000038
【０１７５】
を1つずつ導出し、これらの値は、現在の段階の符号化誤差εB+k(n)を得るために、ブロック603により、εB+k-1(n)から減算される。この誤差は、ブロック602を制御するために、ノイズシェーピングフィルタW(z)により加重され(ブロック604)、最小化される(ブロック605)。最終的には、エンハンスメント符号化段階によりローカルに復号化される値は、
【０１７６】
【数３８】
0005474088.tif 000039
【０１７７】
である。
【０１７８】
ここで、表記B+kは、1サンプル当たりのビットレートがB+kビットであることを想定していることを留意することは重要である。したがって、図6は、1サンプル当たり単一のビットが、エンハンスメント符号化段階により加算され、そのため、ブロック602で、2つの可能な量子化値を含む場合について示している。図6bで説明されるエンハンスメント符号化が、1サンプル当たり、任意のビット数kを生成することができることは明らかであり、この場合には、ブロック602での可能なスカラ量子化値の数は2kである。
【０１７９】
図7を参照して、次に、出願人は、本発明による、および図5を参照して説明されるようなコーダからの出力として得られる信号を復号化することができる、埋め込み符号デコーダの様々な構成を説明する。
【０１８０】
実施される復号化デバイスは、信号送信ビットレートによって、および、例えば、信号が、例えばISDNネットワーク710から発信するか、それともIPネットワーク720から発信するかによる、信号の起源によって決まる。
【０１８１】
低ビットレート(48、56または64kbit/s)での送信チャネルに対しては、k1=0、1、2であり、Bがコアビットレートのビット数であるB+k1ビットのバイナリ列を復号化するために、例えばG.722の標準化されたADPCMデコーダタイプの標準デコーダ700を使用することが可能になる。この復号化から発生する、復元される信号rB+k1(n)は、コーダで実施されるエンハンスメント符号化段階の効力によるエンハンスされた品質から利点を得ることになる。
【０１８２】
より高いビットレート、80、96kbit/sでの送信チャネルに対しては、バイナリ列IB+k1+k2(n)が、標準デコーダ700のビットレートよりも大きなビットレートを有し、モードインジケータ740により示されるならば、予測信号
【０１８３】
【数３９】
0005474088.tif 000040
【０１８４】
に加算されるときに、高ビットレートのエンハンスされた信号rB+k1+k2(n)を与えることになる量子化誤差を提供するために、図2を参照して説明されるB+1ビットおよびB+2ビットでの逆量子化に加えて、追加のデコーダ730が、IB+k1+k2(n)の逆量子化を実行する。
【０１８５】
次に、本発明によるコーダの第1の実施形態が、図8を参照して説明される。この実施形態では、コアビットレート符号化段階800が、符号化ノイズシェーピングを伴うADPCMタイプの符号化を実行する。
【０１８６】
コア符号化段階は、コア層の低ビットレートインデックスIB(n)による量子化誤差信号の前のサンプル
【０１８７】
【数４０】
0005474088.tif 000041
【０１８８】
に基づいて、および、図1を参照して説明されたような再構成信号の前のサンプルrB(n’)(n’=n-1〜n-NP)に基づいて実行される信号予測
【０１８９】
【数４１】
0005474088.tif 000042
【０１９０】
を計算するためのモジュール810を備える。
【０１９１】
予測
【０１９２】
【数４２】
0005474088.tif 000043
【０１９３】
を入力信号x(n)から減算するための減算モジュール801が、予測誤差信号
【０１９４】
【数４３】
0005474088.tif 000044
【０１９５】
を得るために提供される。
【０１９６】
コアコーダは、さらに、量子化ノイズの前のサンプルqB(n’)(n’=n-1〜n-NNH)に基づいて、およびフィルタリングされたノイズの前のサンプル
【０１９７】
【数４４】
0005474088.tif 000045
【０１９８】
に基づいて実行される、ノイズ
【０１９９】
【数４５】
0005474088.tif 000046
【０２００】
を予測することPr(z)のためのモジュール802を備える。
【０２０１】
ノイズ予測
【０２０２】
【数４６】
0005474088.tif 000047
【０２０３】
を、予測誤差信号
【０２０４】
【数４７】
0005474088.tif 000048
【０２０５】
に加算するための加算モジュール803が、さらに、eB(n)で示される誤差信号を得るために提供される。
【０２０６】
コア量子化QBモジュール820は、量子化インデックスIB(n)を与えるために、入力として、誤差信号eB(n)を受信する。最適量子化インデックスIB(n)および量子化値
【０２０７】
【数４８】
0005474088.tif 000049
【０２０８】
は、誤差基準
【０２０９】
【数４９】
0005474088.tif 000050
【０２１０】
を最小化する。ただし、値
【０２１１】
【数５０】
0005474088.tif 000051
【０２１２】
は、再構成レベルであり、ν(n)は、量子化器適応化モジュール804から発生するスケールファクタである。
【０２１３】
G.722コーダに対する例として、コア量子化器QBの再構成レベルが、“X. Maitreによる論説(article)、「7 kHz audio coding within 64 kbit/s」、IEEE Journal on Selected Areas in Communication、第6-2巻、1988年2月”の表VIによって定義される。
【０２１４】
量子化モジュールQBによるBビット出力の量子化インデックスIB(n)は、送信チャネル840を介して、図7を参照して説明されるようなデコーダに送信される前に、エンハンスメントビットJ1〜JKと多重化モジュール830で多重化されることになる。
【０２１５】
コア符号化段階は、さらに、量子化器の入力とその出力との間の差分である量子化ノイズ
【０２１６】
【数５１】
0005474088.tif 000052
【０２１７】
を計算するためのモジュール805と、量子化ノイズを量子化ノイズの予測に加算することにより、フィルタリングされる量子化ノイズ
【０２１８】
【数５２】
0005474088.tif 000053
【０２１９】
を計算するためのモジュール806と、信号の予測を量子化誤差に加算することにより、再構成信号
【０２２０】
【数５３】
0005474088.tif 000054
【０２２１】
を計算するためのモジュール807とを備える。
【０２２２】
量子化器QB適応
【０２２３】
【数５４】
0005474088.tif 000055
【０２２４】
モジュール804は、次の時点n+1に対する、スケールファクタとも呼ばれるレベル制御パラメータν(n)を与える。
【０２２５】
予測モジュール810は、再構成量子化誤差信号
【０２２６】
【数５５】
0005474088.tif 000056
【０２２７】
のサンプル、および任意には、1+Pz(z)によりフィルタリングされる再構成量子化誤差信号
【０２２８】
【数５６】
0005474088.tif 000057
【０２２９】
のサンプルに基づいた適応のための適応PAdaptモジュール811を備える。
【０２３０】
後で詳細に説明されるモジュールCalc Mask850は、コア符号化段階およびエンハンスメント符号化段階の両方により、入力信号に基づいて、またはコア符号化により(コアビットレートで)ローカルに復号化される信号に基づいて、または簡易勾配(simplified gradient)アルゴリズムによりADPCM符号化で計算される予測フィルタ係数に基づいて使用され得る、符号化ノイズをシェーピングするためのフィルタを提供するように構成される。後者の場合には、ノイズシェーピングフィルタは、コアビットレート符号化に対して使用される予測フィルタの係数に基づいて、減衰定数を加えること、およびデエンファシスフィルタを加えることにより得られ得る。
【０２３１】
さらには、エンハンスメント段階だけでマスキングモジュールを使用することが可能である。この代替方法は、コア符号化が1サンプル当たりでビットをほとんど使用しない場合に有利であり、この場合、符号化誤差は白色雑音ではなく、信号対雑音比は非常に低い。この状況は、G.722標準での高帯域(4000〜8000Hz)の1サンプル当たり2ビットのADPCM符号化で見られ、この場合には、フィードバックによるノイズシェーピングは、有効ではない。
【０２３２】
図8のブロック802、803、805、806に対応するコア符号化のノイズシェーピングは、任意であることに留意されたい。図16に示されるような本発明は、ブロック801、804、807、810、811、820に削減されるADPCMのコア符号化に関してさえも適用される。
【０２３３】
図9は、一般式が
【０２３４】
【数５７】
0005474088.tif 000058
【０２３５】
であるARMA(「自己回帰移動平均」を表す)フィルタによって、量子化ノイズ
【０２３６】
【数５８】
0005474088.tif 000059
【０２３７】
の予測の計算を実行するモジュール802をより詳細に説明する。
【０２３８】
簡単のために、ここでは、z変換の表記が使用される。
【０２３９】
一度に、および同時に、可聴周波数信号の短期間の特性、および長期間の特性を考慮することができるノイズのシェーピングを得るために、フィルタHM(z)が、縦続状態のARMAフィルタリングセル900、901、902により示される。
【０２４０】
【数５９】
0005474088.tif 000060
【０２４１】
このフィルタの縦続状態から発生する、図9のフィルタリングされる量子化ノイズは、量子化ノイズQB(z)の関数として、次式で与えられることになる。
【０２４２】
【数６０】
0005474088.tif 000061
【０２４３】
図10は、モジュールFk(z)901をより詳細に示す。このセルkの出力での量子化ノイズは、次式で与えられる。
【０２４４】
【数６１】
0005474088.tif 000062
【０２４５】
k=1〜KMで繰り返すことが、
【０２４６】
【数６２】
0005474088.tif 000063
【０２４７】
すなわち、
【０２４８】
【数６３】
0005474088.tif 000064
【０２４９】
により与えられるノイズ予測
【０２５０】
【数６４】
0005474088.tif 000065
【０２５１】
を用いた、
【０２５２】
【数６５】
0005474088.tif 000066
【０２５３】
を与える。
【０２５４】
したがって、図8によるコア符号化ノイズのシェーピングは、以下の式により有効であることが容易に確認される。
【０２５５】
【数６６】
0005474088.tif 000067
【０２５６】
QB(z)=EQ(z)-EB(z)      ・・・（１４）
【０２５７】
【数６７】
0005474088.tif 000068
【０２５８】
ただし、
【０２５９】
【数６８】
0005474088.tif 000069
【０２６０】
である。
【０２６１】
量子化ノイズはほぼ白色であるため、知覚される符号化ノイズのスペクトルは、フィルタ
【０２６２】
【数６９】
0005474088.tif 000070
【０２６３】
によりシェーピングされ、したがって、より可聴でなくなる。
【０２６４】
後で説明されるように、ARMAフィルタリングセルは、係数g1およびg2を以下の方式
【０２６５】
【数７０】
0005474088.tif 000071
【０２６６】
で割り当てることにより、入力信号
【０２６７】
【数７１】
0005474088.tif 000072
【０２６８】
の線形予測のための逆フィルタから推定され得る。
【０２６９】
分子の値および分母の値から構成される、このタイプの加重関数には、分母の値により信号スパイクを考慮し、分子の値によりこれらのスパイクを減衰させ、したがって、量子化ノイズの最適なシェーピングを与えるという利点がある。g1およびg2の値は、
1>g2>g1>0
である。
【０２７０】
特定の値g1=0は、純粋な自己回帰マスキングフィルタを与え、g2=0のそれは、MA移動平均フィルタを与える。
【０２７１】
さらには、有声音信号の場合、および高忠実度のデジタル音声信号の場合には、信号の周期性を表す信号の微細構造に基づくわずかなシェーピングが、信号の高調波の間で知覚される量子化ノイズを低減する。エンハンスメントは、特に、例えば200Hzより大きな、比較的高い基本周波数すなわちピッチを有する信号の場合に重要である。
【０２７２】
長期間のノイズシェーピングARMAセルは、次式で与えられる。
【０２７３】
【数７２】
0005474088.tif 000073
【０２７４】
図8の説明に戻ると、コーダは、さらに、複数のエンハンスメント符号化段階を備える。2つの段階EA1およびEAkが、ここに示される。
【０２７５】
エンハンスメント符号化段階EAkは、エンハンスメントビットJk、またはビットJk(k=1、GK)のグループを得ることを可能にし、図6aおよび6bを参照して説明されるようなものである。
【０２７６】
この符号化段階は、符号化誤差信号eB+k(n)を与えるために、入力信号x(n)から、サンプリング時点n-1〜n-NDに対する段階kでの合成信号rB+k(n)と、時点nに対して段階k-1で合成される信号rB+k-1(n)とで構成される信号rB+k(n)を減算するためのモジュールEAk-1を備える。
【０２７７】
加重関数W(z)によりeB+k(n)をフィルタリングするためのモジュールEAk-2もまた、符号化段階kに含まれる。この加重関数は、先に説明されたようなコア符号化により与えられるマスキングフィルタHM(z)の逆関数に等しい。モジュールEAk-2の出力では、フィルタリングされた信号
【０２７８】
【数７３】
0005474088.tif 000074
【０２７９】
が得られる。
【０２８０】
エンハンスメント符号化段階kは、j=0、1に対して、誤差基準
【０２８１】
【数７４】
0005474088.tif 000075
【０２８２】
を最小化し、第1の出力として、前の段階のインデックスIB+k-1と連結されるべき最適ビットJkの値を有し、そして第2の出力
【０２８３】
【数７５】
0005474088.tif 000076
【０２８４】
として、最適インデックスJkに対する量子化器からの出力信号を有する、エンハンスメント量子化
【０２８５】
【数７６】
0005474088.tif 000077
【０２８６】
を実行するためのモジュールEAk-3を備える。
【０２８７】
段階kは、さらに、段階kでの合成信号rB+k(n)を与えるために、量子化誤差信号
【０２８８】
【数７７】
0005474088.tif 000078
【０２８９】
を、前の段階での合成信号rB+k-1(n)に加算するための加算モジュールEAk-4を備える。
【０２９０】
次いで、単一のシェーピングARMAフィルタの場合には、フィルタリングされる誤差信号は、z変換の表記で次式により与えられる。
【０２９１】
【数７８】
0005474088.tif 000079
【０２９２】
したがって、それぞれのサンプリング時点nに対しては、部分的な再構成信号rB+k(n)が、前の段階で再構成された信号rB+k-1(n)に基づいて、および、信号rB+k(n)の過去のサンプルに基づいて計算される。
【０２９３】
この信号は、誤差信号eB+k(n)を与えるために、信号x(n)から減算される。
【０２９４】
誤差信号は、フィルタリングARMAセルW1を有するフィルタによりフィルタリングされ、それにより次式が与えられる。
【０２９５】
【数７９】
0005474088.tif 000080
【０２９６】
加重誤差基準は、量子化器の可能な出力の2つの値(または、複数ビットならばNG個の値)に対する二次誤差を最小化することに等しい。
【０２９７】
【数８０】
0005474088.tif 000081
【０２９８】
この最小化ステップは、最適インデックスJk、および、最適インデックスに対する量子化値
【０２９９】
【数８１】
0005474088.tif 000082
【０３００】
であって、
【０３０１】
【数８２】
0005474088.tif 000083
【０３０２】
とも示される値を与える。
【０３０３】
マスキングフィルタが、複数の縦続状態のARMAセルからなる場合には、縦続接続したフィルタリングが実行される。
【０３０４】
例えば、縦続状態の短期間のフィルタリングおよびピッチのセルに対して、我々は次式を得ることになる。
【０３０５】
【数８３】
0005474088.tif 000084
【０３０６】
第1のフィルタリングセルの出力は、次式に等しくなる。
【０３０７】
【数８４】
0005474088.tif 000085
【０３０８】
そして、第2のセルの出力は、次式で与えられる。
【０３０９】
【数８５】
0005474088.tif 000086
【０３１０】
【数８６】
0005474088.tif 000087
【０３１１】
が、基準を最小化することにより得られると、eB+k(n)は、
【０３１２】
【数８７】
0005474088.tif 000088
【０３１３】
をeB+k(n)から差し引くことにより適応化され、次いで、格納メモリが左にシフトされ、値rB+k+1(n+1)が、次の時点n+1に対して直近の位置に入れられる。
【０３１４】
その後、フィルタのメモリが、次式により適応化される。
【０３１５】
【数８８】
0005474088.tif 000089
【０３１６】
前の手順が、一般的な場合には、次式
【０３１７】
【数８９】
0005474088.tif 000090
【０３１８】
のように繰り返される。
【０３１９】
このように、エンハンスメントビットは、縦続状態のエンハンスメント段階において、ビット単位で、またはビットのグループ単位で得られる。
【０３２０】
コーダのコアビットおよびエンハンスメントビットが、図1に示されるように、誤差信号e(n)を量子化することにより直接得られる従来技術とは対照的に、本発明によるエンハンスメントビットは、標準デコーダの出力におけるエンハンスメント信号が、量子化ノイズのシェーピングを伴って再構成されるように計算される。
【０３２１】
コア量子化器の出力で得られるインデックスIB(n)を知ることにより、および、B+1ビットを用いるADPCMタイプの量子化器が埋め込み符号量子化器であるため、2つの出力値のみが、B+1ビットを用いる量子化器に対して考えられる（possible）。
【０３２２】
同じ論法が、B+kビットでのエンハンスメント段階の出力に関して、B+k-1ビットでのエンハンスメント段階の関数として適用される。
【０３２３】
図11は、B=4ビットに対するBビットを用いるコア量子化器の最初の4つのレベル、ならびに、G.722コーダの低帯域の符号化のB+1およびB+2ビットを用いる量子化器のレベル、ならびに、B+2ビットに対するエンハンスメント量子化器の出力値を示す。
【０３２４】
この図に示されるように、B+1=5ビットを用いる埋め込み量子化器は、B=4ビットを用いる量子化器のレベルを2つに分けることにより得られる。B+2=6ビットを用いる埋め込み量子化器は、B+1=5ビットを用いる量子化器のレベルを2つに分けることにより得られる。
【０３２５】
本発明の実施形態では、エンハンスメント段階kに対する量子化再構成レベルを示す値は、Bがコア符号化のビット数を示すB+kビットを用いる埋め込み量子化器の量子化の再構成レベルを示す値と、B+k-1ビットを用いる埋め込み量子化器の量子化の再構成レベルを示す値との間の差分により定義され、B+kビットを用いる埋め込み量子化器の再構成レベルは、B+k-1ビットを用いる埋め込み量子化器の再構成レベルを2つに分けることにより定義される。
【０３２６】
したがって、我々は、以下の式を得る。
【０３２７】
【数９０】
0005474088.tif 000091
【０３２８】
【数９１】
0005474088.tif 000092
【０３２９】
は、B+kビットを用いる埋め込み量子化器の可能な再構成レベルを示し、
【０３３０】
【数９２】
0005474088.tif 000093
【０３３１】
は、B+k-1ビットを用いる埋め込み量子化器の再構成レベルを示し、
【０３３２】
【数９３】
0005474088.tif 000094
【０３３３】
は、段階kに対するエンハンスメント項または再構成レベルを示す。例として、段階k=2の、すなわちB+k=6に対する出力でのレベルが、B+k=5ビットに対する埋め込み量子化器の関数として、図11で与えられる。
【０３３４】
B+kビットを用いる量子化器の可能な出力は、次式で与えられる。
【０３３５】
【数９４】
0005474088.tif 000095
【０３３６】
ただし、ν(n)は、固定した量子化器の出力レベルを適応させるために、コア符号化により定義されるスケールファクタを示す。
【０３３７】
従来技術のスキームでは、B、B+1〜B+Kビットを用いる量子化器に対する量子化は、量子化されるべき値e(n)が位置する、B+kビットを用いる量子化器の判定範囲をタグ付けすることにより、1回だけ実行された。
【０３３８】
本発明は、異なるスキームを提案する。B+k-1ビットを用いる量子化器から発生する量子化値を知ることにより、量子化器の入力での信号
【０３３９】
【数９５】
0005474088.tif 000096
【０３４０】
の量子化は、量子化誤差を最小化することにより、および、判定しきい値を呼び出すことなしに処理され、それにより、有利に、積
【０３４１】
【数９６】
0005474088.tif 000097
【０３４２】
の固定小数点実装(fixed-point implementation)に対する計算ノイズを、以下のように低減することを可能にする。
【０３４３】
【数９７】
0005474088.tif 000098
【０３４４】
図4を用いて示されるような平坦なスペクトルで量子化ノイズを引き起こすことになる、二次誤差基準を最小化することではなく、加重二次誤差基準が最小化されることになり、その結果、スペクトルがシェーピングされたノイズは、より可聴でなくなる。
【０３４５】
使用されるスペクトル加重関数はW(z)であり、これは、さらに、コア符号化段階で、ノイズシェーピングのために使用され得る。
【０３４６】
図8の説明に戻ると、復元されるコア信号は、予測と逆量子化器の出力との和に等しく、すなわち、
【０３４７】
【数９８】
0005474088.tif 000099
【０３４８】
であることが理解される。
【０３４９】
信号予測は、コアADPCMコーダに基づいて実行されるため、段階kで可能な2つの再構成信号は、以下の式
【０３５０】
【数９９】
0005474088.tif 000100
【０３５１】
により、段階k-1で実際に再構成される信号の関数として与えられる。
【０３５２】
これから、段階kで最小化されるべき誤差基準が推定される。
【０３５３】
【数１００】
0005474088.tif 000101
【０３５４】
先に説明されたような平坦なスペクトルで量子化ノイズを引き起こすことになる、二次誤差基準を最小化することではなく、コア符号化についてと同じように、加重二次誤差基準が最小化されることになり、その結果、スペクトルがシェーピングされたノイズは、より可聴でなくなる。使用されるスペクトル加重関数はW(z)であり、これは、与えられた例でコア符号化のためにすでに使用されているが、しかしながら、この加重関数を、エンハンスメント段階だけで使用することが可能である。
【０３５５】
図12によれば、信号
【０３５６】
【数１０１】
0005474088.tif 000102
【０３５７】
は、2つの信号、すなわち、n’<nに対してはすべての値
【０３５８】
【数１０２】
0005474088.tif 000103
【０３５９】
の連結を示し、n’=nに対しては0に等しい信号
【０３６０】
【数１０３】
0005474088.tif 000104
【０３６１】
と、n’=nに対しては
【０３６２】
【数１０４】
0005474088.tif 000105
【０３６３】
に等しく、n’<nに対しては0である信号
【０３６４】
【数１０５】
0005474088.tif 000106
【０３６５】
との和に等しいものとして定義される。
【０３６６】
次いで、誤差基準は、z変換の領域で解釈する方が容易であり、以下の式で与えられる。
【０３６７】
【数１０６】
0005474088.tif 000107
【０３６８】
ただし、
【０３６９】
【数１０７】
0005474088.tif 000108
【０３７０】
は、
【０３７１】
【数１０８】
0005474088.tif 000109
【０３７２】
のz変換である。
【０３７３】
【数１０９】
0005474088.tif 000110
【０３７４】
を分解することにより、我々は、次式を得る。
【０３７５】
【数１１０】
0005474088.tif 000111
【０３７６】
例えば、この基準を最小化するために、我々は、量子化値がまだ不明であるので、信号
【０３７７】
【数１１１】
0005474088.tif 000112
【０３７８】
を、
【０３７９】
【数１１２】
0005474088.tif 000113
【０３８０】
で計算することにより開始する。前の段階の信号の和、および
【０３８１】
【数１１３】
0005474088.tif 000114
【０３８２】
の和は、段階kの再構成信号に等しい。
【０３８３】
したがって、
【０３８４】
【数１１４】
0005474088.tif 000115
【０３８５】
は、
【０３８６】
【数１１５】
0005474088.tif 000116
【０３８７】
のように、n’<nに対しては、rB+k(n’)に等しい信号のz変換であり、n’=nに対しては、rB+k-1(n’)に等しい。
【０３８８】
プロセッサにおける実施に関しては、信号rB+k(n)は、一般には明示的に計算されることにはならないが、誤差信号eB+k(n)は、有利に計算されることになり、これは、x(n)とrB+k(n)との間の差分、すなわち、
eB+k(n’)=x(n’)-rB+k(n’)    n’=n-1〜n-ND
=x(n’)-rB+k-1(n’)    n’=n          ・・・（４１）
である。
【０３８９】
eB+k(n)は、rB+k-1(n)に基づいて、およびrB+k(n)に基づいて構成され、後に続くことになるフィルタリングのためにメモリに保存されるべきサンプルの数は、ND個のサンプル、マスキングフィルタの分母の係数の数である。
【０３９０】
フィルタリングされる誤差信号
【０３９１】
【数１１６】
0005474088.tif 000117
【０３９２】
は、次式に等しくなる。
【０３９３】
【数１１７】
0005474088.tif 000118
【０３９４】
加重二次誤差基準は、これから推定される。
【０３９５】
【数１１８】
0005474088.tif 000119
【０３９６】
最適インデックスJkは、基準
【０３９７】
【数１１９】
0005474088.tif 000120
【０３９８】
をj=0、1に対して最小化するものであり、したがって、スカラ量子化
【０３９９】
【数１２０】
0005474088.tif 000121
【０４００】
を、B+kビットを用いるスカラ量子化器の再構成レベルに基づいて計算される2つのエンハンスメントレベル
【０４０１】
【数１２１】
0005474088.tif 000122
【０４０２】
に基づいて実行し、最適コアインデックスおよびインデックスJi(i=1〜k-1)、または同じことであるが、IB+k-1を知る。
【０４０３】
最適インデックスに対する量子化器の出力値は、
【０４０４】
【数１２２】
0005474088.tif 000123
【０４０５】
に等しく、時点nでの再構成信号の値は、次式で与えられることになる。
【０４０６】
【数１２３】
0005474088.tif 000124
【０４０７】
量子化出力
【０４０８】
【数１２４】
0005474088.tif 000125
【０４０９】
を知ることにより、差分信号eB+k(n)は、サンプリング時点nに対して更新される。
【０４１０】
【数１２５】
0005474088.tif 000126
【０４１１】
そして、フィルタのメモリが適応化される。
【０４１２】
nの値は、1単位だけ増分される。次いで、eB+k(n)の計算が、きわめて単純であることが理解される。eB+k(n)のための格納メモリを、左に1スロットだけシフトすることにより、最古のサンプルを脱落させ、直近のサンプルrB+k-1(n+1)として、その時まで不明である量子化値を書き込めば十分である。メモリをシフトすることは、ポインタを賢明に使用することにより回避され得る。
【０４１３】
図13および図14は、マスキングフィルタ計算モジュール850により実施されるマスキングフィルタ計算の実施の2つのモードを示す。
【０４１４】
図13に示される実施の第1のモードでは、前のフレームのサンプルのセグメントS(n)(n=-Ns〜-1、0〜NT)で補足される現在フレームのブロックに対応する信号の現在ブロックが考慮される。
【０４１５】
マスキングフィルタのスペクトルのスパイクを強調するために、信号は、フィルタA1(z)による、E60における相関係数の計算の前に、あらかじめ処理され(プリエンファシス処理)、このフィルタA1(z)の1つまたは複数の係数は、固定されるか、または仏国特許第２７４２５６８号（FR2742568）で説明されるような線形予測により適応化されるかのいずれかである。
【０４１６】
プリエンファシスが使用される場合には、分析されるべき信号SP(n)は、次式の逆フィルタリングにより計算される。
SP(z)=A1(z)S(z)
【０４１７】
その後、信号ブロックは、E61において、従来技術から知られるような、ハニングウィンドウ、またはサブウィンドウの連結から構成されるウィンドウにより加重される。
【０４１８】
その後、Kc2+1の相関係数は、E62において、次式により計算される。
【０４１９】
【数１２６】
0005474088.tif 000127
【０４２０】
プリエンファシスされる信号の包絡線をモデリングする、(自己回帰を表す)ARフィルタA2(z)の係数が、E63において、レビンソン-ダービンのアルゴリズムにより与えられる。
【０４２１】
したがって、フィルタA(z)が、E64において得られ、前記フィルタは、入力信号の包絡線をモデリングする伝達関数
【０４２２】
【数１２７】
0005474088.tif 000128
【０４２３】
を有する。
【０４２４】
この計算が、本発明によるコーダの2つのフィルタ1-A1(z)および1-A2(z)に対して実施されるとき、それにより、シェーピングフィルタは、E65において、次式により得られる。
【０４２５】
【数１２８】
0005474088.tif 000129
【０４２６】
定数gN1、gD1、gN2およびgD2は、マスキングフィルタのスペクトルを適合させることを可能にし、特に、最初の2つは、マスキングフィルタのスペクトルの傾斜を調整することを可能にする。
【０４２７】
このように、マスキングフィルタは、傾斜フィルタおよびフォルマントフィルタが分離された、縦続接続する2つのフィルタにより構成されて得られる。各フィルタが入力信号のスペクトル特性の関数として適応化されるこのモデリングは、特に、任意のタイプのスペクトル傾斜を表す信号に適応化される。gN1およびgN2が0である場合には、第1近似としては十分である、2つの自己回帰フィルタの縦続マスキングフィルタリングが得られる。
【０４２８】
複雑さの低いマスキングフィルタの第2の例示的な実施が、図14を参照して説明される。
【０４２９】
ここでの原理は、ARMAフィルタの合成フィルタを、入力信号の傾斜に依存している補償フィルタにより適用される強調解除(deaccentuation)を伴う復号化信号の再構成のために、直接使用することである。
【０４３０】
マスキングフィルタの式は、次式で与えられる。
【０４３１】
【数１２９】
0005474088.tif 000130
【０４３２】
G.722、G.726およびG.727標準では、ADPCMのARMA予測器は、分母に2つの係数を有する。この場合、E71において計算される補償フィルタは、次式の形式になる。
【０４３３】
【数１３０】
0005474088.tif 000131
【０４３４】
そして、E70において与えられるフィルタPz(z)およびPP(z)は、E72において与えられる減衰定数gZ1およびgP1により制約されるそれらの変形で置換されることになり、それにより、次式の形式のノイズシェーピングフィルタを与える。
【０４３５】
【数１３１】
0005474088.tif 000132
【０４３６】
pCom(i)=0    i=1、2
を用いることにより、ARMAセルからなるマスキングフィルタの単純化された形式が得られる。
【０４３７】
マスキングフィルタの別の非常に単純な形式は、わずかな減衰を伴うARMA予測器の分母のみを、次式
【０４３８】
【数１３２】
0005474088.tif 000133
【０４３９】
のように、例えばgP=0.92で用いることにより得られるものである。
【０４４０】
信号の部分的な再構成のためのこのARフィルタは、低減された複雑さにつながる。
【０４４１】
特定の実施形態では、および、各サンプリング時点でフィルタを適応させることを回避するために、平滑化効果を保存するように、1つの信号フレームで、または1フレーム当たり複数回減衰されるべきフィルタの係数を凍結することが可能になる。
【０４４２】
平滑化を実行する1つの方法は、量子化器の入力での信号に関するダイナミック振幅の急な変動を検出することであり、または、等価であるが、しかし複雑さが最小である、直接に量子化器の出力におけるインデックスに関する方法によるものである。インデックスの2つの急な変動の間で、スペクトル特性の変動がより少なく、したがって、マスキングの目的でより良好に適応化されるADPCM係数を有する区域が得られる。
【０４４３】
量子化ノイズの長期間のシェーピングに対するセルの係数の計算
【０４４４】
【数１３３】
0005474088.tif 000134
【０４４５】
は、有声音に対する周期的な構成要素を含む量子化器の入力信号に基づいて実行される。周期的な信号に対して、特に有声の音声信号に対して、品質において価値のあるエンハンスメントを得ることを望むならば、長期間のノイズシェーピングが重要であることが留意され得る。これは、実際に、その合成モデルが何らかの長期間の予測器を備えないコーダに関して、周期的な信号の周期性を考慮する唯一の方法である。
【０４４６】
ピッチの周期は、例えば、図8の量子化器QBの入力eB(n)での長期間の二次予測誤差を最小化することにより、相関係数
【０４４７】
【数１３４】
0005474088.tif 000135
【０４４８】
を最大化することにより計算される。
【０４４９】
ピッチは、次のようなものである。
Cor(Pitch)=Max{Cor(i)}    i=PMin〜PMax
【０４５０】
マスキングフィルタを生成するために使用されるピッチ予測利得Corf(i)は、次式により与えられる。
【０４５１】
【数１３５】
0005474088.tif 000136
【０４５２】
長期間のマスキングフィルタの係数は、
p2MP(i)=g2PitchCorf(Pitch+i)    i=-MP〜MP、
および、
p1MP(i)=g1PitchCorf(Pitch+i)    i=-MP〜MP、
により与えられることになる。
【０４５３】
ピッチの値の計算の複雑さを低減するためのスキームが、“ITU-T G.711.1標準「Wideband embedded extension for G.711 pulse code modulation」”の図8-4により説明される。
【０４５４】
図15は、本発明によるコーダの第2の実施形態を提案する。
【０４５５】
この実施形態は、図8を参照して説明されるフィルタリングモジュールの代わりに、予測モジュールを使用し、どちらも、コア符号化段階に対するもの、およびエンハンスメント符号化段階に対するものである。
【０４５６】
この実施形態では、コア量子化ノイズシェーピングを伴うADPCMタイプのコーダは、入力信号x(n)と低ビットレート合成信号rB(n)との間の差分である、再構成ノイズを予測するための予測モジュール1505のPD(z)[X(z)-RB(z)]と、予測を入力信号x(n)に加算するための加算モジュール1510とを備える。
【０４５７】
それは、さらに、図8を参照して説明されるものと同一である、信号
【０４５８】
【数１３６】
0005474088.tif 000137
【０４５９】
に対する予測モジュール810であって、低ビットレート量子化インデックスIB(n)により量子化される誤差信号の前のサンプル
【０４６０】
【数１３７】
0005474088.tif 000138
【０４６１】
に基づいて、および、再構成信号の前のサンプルrB(n’)(n’=n-1〜n-NP)に基づいて、予測を実行する予測モジュールを備える。予測
【０４６２】
【数１３８】
0005474088.tif 000139
【０４６３】
を修正入力信号x(n)から減算するための減算モジュール1520は、予測誤差信号を提供する。
【０４６４】
コアコーダは、さらに、量子化ノイズの前のサンプルqB(n’)(n’=n-1〜n-NNH)に基づいて実行されるノイズ予測を計算するためのモジュールPN(z)1530と、このようにして得られる予測を、eB(n)で示される誤差信号を得るために、予測誤差信号から減算するための減算モジュール1540とを備える。
【０４６５】
コア量子化モジュールQBは、1550で、二次誤差基準
【０４６６】
【数１３９】
0005474088.tif 000140
【０４６７】
の最小化を実行する。ただし、値
【０４６８】
【数１４０】
0005474088.tif 000141
【０４６９】
は、再構成レベルであり、ν(n)は、量子化器適応化モジュール1560から発生するスケールファクタである。量子化モジュールは、入力として、誤差信号eB(n)を受信し、それにより、出力として、量子化インデックスIB(n)および量子化信号
【０４７０】
【数１４１】
0005474088.tif 000142
【０４７１】
を与える。G.722に対する例として、コア量子化器QBの再構成レベルが、“X. Maitreによる論説、「7 kHz audio coding within 64 kbit/s」、IEEE Journal on Selected Areas in Communication、第6-2巻、1988年2月”の表VIによって定義される。
【０４７２】
量子化モジュールQBの出力におけるBビットの量子化インデックスIB(n)は、送信チャネル840を介して、図7を参照して説明されるようなデコーダに送信される前に、エンハンスメントビットJ1〜Jkと多重化モジュール830で多重化されることになる。
【０４７３】
量子化ノイズを計算するためのモジュール1570は、量子化器の入力と量子化器の出力との間の差分
【０４７４】
【数１４２】
0005474088.tif 000143
【０４７５】
を計算する。
【０４７６】
モジュール1580は、信号の予測を量子化誤差に加算することにより、再構成信号
【０４７７】
【数１４３】
0005474088.tif 000144
【０４７８】
を計算する。
【０４７９】
量子化器の適応化モジュールQAdapt1560は、次の時点に対する、スケールファクタとも呼ばれるレベル制御パラメータν(n)を与える。
【０４８０】
予測モジュールの適応化モジュールPAdapt811は、再構成信号rB(n)の過去のサンプルに基づいて、および、再構成量子化誤差信号
【０４８１】
【数１４４】
0005474088.tif 000145
【０４８２】
に基づいて、適応化を実行する。
【０４８３】
エンハンスメント段階EAkは、信号
【０４８４】
【数１４５】
0005474088.tif 000146
【０４８５】
を与えるために、先行の段階で再構成された信号rB+k-1(n)を、入力信号x(n)から減算するためのモジュールEAk-10を備える。
【０４８６】
信号
【０４８７】
【数１４６】
0005474088.tif 000147
【０４８８】
のフィルタリングは、フィルタリングモジュールEAk-11によって、フィルタ
【０４８９】
【数１４７】
0005474088.tif 000148
【０４９０】
により、フィルタリングされた信号
【０４９１】
【数１４８】
0005474088.tif 000149
【０４９２】
を与えるために実行される。
【０４９３】
予測信号
【０４９４】
【数１４９】
0005474088.tif 000150
【０４９５】
を計算するためのモジュールEAk-12が、さらに提供され、この計算は、量子化誤差信号の量子化された前のサンプル
【０４９６】
【数１５０】
0005474088.tif 000151
【０４９７】
に基づいて、および、
【０４９８】
【数１５１】
0005474088.tif 000152
【０４９９】
によりフィルタリングされるこの信号のサンプルに基づいて実行される。エンハンスメント段階EA-kは、さらに、目標信号
【０５００】
【数１５２】
0005474088.tif 000153
【０５０１】
を与えるために、予測
【０５０２】
【数１５３】
0005474088.tif 000154
【０５０３】
を、信号
【０５０４】
【数１５４】
0005474088.tif 000155
【０５０５】
から減算するための減算モジュールEA-k13を備える。
【０５０６】
エンハンスメント量子化モジュールEAk-14
【０５０７】
【数１５５】
0005474088.tif 000156
【０５０８】
は、二次誤差基準
【０５０９】
【数１５６】
0005474088.tif 000157
【０５１０】
を最小化するステップを実行する。
【０５１１】
このモジュールは、入力として、信号
【０５１２】
【数１５７】
0005474088.tif 000158
【０５１３】
を受信し、第1の出力として、量子化信号
【０５１４】
【数１５８】
0005474088.tif 000159
【０５１５】
を提供し、そして第2の出力として、インデックスJkを提供する。
【０５１６】
B+kビットを用いる埋め込み量子化器の再構成レベルは、B+k-1ビットを用いる量子化器の埋め込み出力レベルを2つに分けることにより計算される。B+kビットを用いる埋め込み量子化器のこれらの再構成レベルと、B+k-1ビットを用いる量子化器の再構成レベルとの間の差分値が計算される。この差分値
【０５１７】
【数１５９】
0005474088.tif 000160
【０５１８】
は、その後1回限りでプロセッサのメモリに格納され、コア量子化インデックスと、前の段階のエンハンスメント量子化器のインデックスとの組み合わせによりインデックスが付与される。
【０５１９】
こうして、これらの差分値は、可能な量子化値を得るために、段階kの量子化モジュールにより使用される辞書(dictionary)を構成する。
【０５２０】
量子化器の出力における信号
【０５２１】
【数１６０】
0005474088.tif 000161
【０５２２】
を、予測
【０５２３】
【数１６１】
0005474088.tif 000162
【０５２４】
に加算するための加算モジュールEAk-15が、さらに、段階kでの再構成信号rB+k(n)を与えるために、先行の信号を前の段階で再構成された信号rB+k-1(n)に加算するためのモジュールEAk-16と同様に、エンハンスメント段階kに統合される。
【０５２５】
図8を参照して説明されるコーダについてと同じように、先に詳細に説明されたモジュールCalc Mask850は、入力信号に基づいて(図13)か、または図14を参照して説明されるようなADPCM合成フィルタの係数に基づいてかのどちらかで、マスキングフィルタを提供する。
【０５２６】
このように、エンハンスメント段階kは、現在のサンプルに対して、以下のステップ、すなわち、
−  階層符号化の入力信号x(n)と、前のエンハンスメント符号化段階のエンハンスメント符号化から発生する再構成信号rB+k-1(n)との間の差分を計算することにより、差分信号
【０５２７】
【数１６２】
0005474088.tif 000163
【０５２８】
を得るステップと、
−  所定のマスキングフィルタW(z)による差分信号のフィルタリングステップと、
−  目標信号
【０５２９】
【数１６３】
0005474088.tif 000164
【０５３０】
を得るための、予測信号
【０５３１】
【数１６４】
0005474088.tif 000165
【０５３２】
の、フィルタリングされた差分信号
【０５３３】
【数１６５】
0005474088.tif 000166
【０５３４】
からの減算ステップと、
−  信号
【０５３５】
【数１６６】
0005474088.tif 000167
【０５３６】
を、量子化ステップから発生する信号
【０５３７】
【数１６７】
0005474088.tif 000168
【０５３８】
に加算することによる、
【０５３９】
【数１６８】
0005474088.tif 000169
【０５４０】
によりフィルタリングされる量子化器の出力での信号の計算ステップと、
−  前のエンハンスメント符号化段階のエンハンスメント符号化から発生する再構成信号と、前のフィルタリングされた信号とを加算することによる、現在のサンプルに対する再構成信号rB+k(n)の計算ステップと、を実施する。
【０５４１】
図15は、単一のARMAセルからなるマスキングフィルタに関して、説明を簡単にする目的で与えられる。縦続状態の複数のARMAセルへの一般化は、式7から式17により説明されると共に、図9および図10で説明されるスキームに従って行われることになることが理解される。
【０５４２】
マスキングフィルタが、1-PD(z)タイプのただ1つのセルを備える、すなわちPN(z)=0である場合には、
【０５４３】
【数１６９】
0005474088.tif 000170
【０５４４】
の寄与が、
【０５４５】
【数１７０】
0005474088.tif 000171
【０５４６】
から差し引かれることになり、または、さらに良好には、量子化器の入力信号は、EAk-11およびEAk-13を
【０５４７】
【数１７１】
0005474088.tif 000172
【０５４８】
により置換することによって与えられることになる。
【０５４９】
縦続状態の複数のセルARへの一般化は、式7から式17により説明されると共に、図9および図10で説明されるスキームに従って行われることになることが理解される。
【０５５０】
図16は、本発明の第3の実施形態を示し、今回はPCMタイプのコア符号化段階に関する。コア符号化段階1600は、ノイズ
【０５５１】
【数１７２】
0005474088.tif 000173
【０５５２】
の予測を、G.711の標準化されたPCMの量子化ノイズの前のサンプル
【０５５３】
【数１７３】
0005474088.tif 000174
【０５５４】
に基づいて、および、フィルタリングされたノイズの前のサンプル
【０５５５】
【数１７４】
0005474088.tif 000175
【０５５６】
に基づいて計算する予測モジュールPr(z)1610による符号化ノイズのシェーピングを含む。
【０５５７】
図16におけるブロック1610、1620、1640および1650に対応するコア符号化のノイズシェーピングは、任意であることに留意されたい。図16で示されるような発明は、ブロック1630に削減されるPCMコア符号化に関してさえも適用される。
【０５５８】
モジュール1620は、e(n)で示される誤差信号を得るために、予測
【０５５９】
【数１７５】
0005474088.tif 000176
【０５６０】
の、入力信号x(n)への加算を実行する。
【０５６１】
コア量子化モジュール
【０５６２】
【数１７６】
0005474088.tif 000177
【０５６３】
1630は、量子化インデックスIB(n)を与えるために、入力として、誤差信号e(n)を受信する。最適量子化インデックスIB(n)および量子化値
【０５６４】
【数１７７】
0005474088.tif 000178
【０５６５】
は、誤差基準
【０５６６】
【数１７８】
0005474088.tif 000179
【０５６７】
を最小化する。ただし、値
【０５６８】
【数１７９】
0005474088.tif 000180
【０５６９】
は、G.711のPCM量子化器の再構成レベルである。
【０５７０】
例として、B=8に対するG.711標準のコア量子化器
【０５７１】
【数１８０】
0005474088.tif 000181
【０５７２】
の再構成レベルは、“ITU-T勧告G.711、「Pulse Code Modulation (PCM) of voice frequencies」”の、A則(A-law)に対しては表1a、およびμ則(μ-law)に対しては表2a、により定義される。
【０５７３】
量子化モジュール
【０５７４】
【数１８１】
0005474088.tif 000182
【０５７５】
の出力におけるBビットの量子化インデックスIB(n)は、多重化モジュール830で、送信チャネル840を介して、G.711タイプの標準デコーダに送信される前に、エンハンスメントビットJ1〜JKと連結されることになる。
【０５７６】
量子化ノイズを計算するためのモジュール1640は、PCM量子化器の入力と、量子化された出力との間の差分
【０５７７】
【数１８２】
0005474088.tif 000183
【０５７８】
を計算する。
【０５７９】
フィルタリングされた量子化ノイズを計算するためのモジュール1650は、量子化ノイズの、量子化ノイズの予測への加算
【０５８０】
【数１８３】
0005474088.tif 000184
【０５８１】
を実行する。
【０５８２】
エンハンスメント符号化は、中間のビットレートに対する再構成ノイズの最適なシェーピングを保持しながら、量子化ビットを連続的に加算することにより、復号化信号の品質をエンハンスするものである。
【０５８３】
エンハンスメントPCMビットJk、またはビットJk(k=1、GK)のグループを得ることを可能にする段階kは、ブロックEAkにより説明される。
【０５８４】
このエンハンスメント符号化段階は、図8を参照して説明されるそれに類似する。
【０５８５】
それは、符号化誤差信号eB+k(n)を与えるために、サンプルn-ND〜n-1に対して段階kで合成される信号rB+k(n)と、時点nに対して段階k-1で合成される信号rB+k-1(n)とで構成される信号rB+k(n)から、入力信号x(n)を減算するための減算モジュールEAk-1を備える。
【０５８６】
それは、さらに、フィルタリングされた信号
【０５８７】
【数１８４】
0005474088.tif 000185
【０５８８】
を与えるために、マスキングフィルタHM(z)の逆関数に等しい加重関数W(z)によりeB+k(n)をフィルタリングするためのフィルタリングモジュールEAk-2を備える。
【０５８９】
量子化モジュールEAk-3は、j=0、1に対する、誤差基準
【０５９０】
【数１８５】
0005474088.tif 000186
【０５９１】
の最小化を実行し、第1の出力として、前のステップのPCMインデックスIB+k-1と連結されるべき最適PCMビットJkの値を有し、そして第2の出力
【０５９２】
【数１８６】
0005474088.tif 000187
【０５９３】
として、最適PCMビットJkに対するエンハンスメント量子化器の出力信号を有する、エンハンスメント量子化
【０５９４】
【数１８７】
0005474088.tif 000188
【０５９５】
を実行する。
【０５９６】
量子化誤差信号
【０５９７】
【数１８８】
0005474088.tif 000189
【０５９８】
を、前のステップで合成された信号rB+k-1(n)に加算するための加算モジュールEAk-4は、ステップkでの合成信号rB+k(n)を与える。信号eB+k(n)およびフィルタのメモリは、図6および図8に関して前に説明されたように適応化される。
【０５９９】
図8を、および図15を参照して説明されるものと同様にして、モジュール850は、コア符号化のため、および、エンハンスメント符号化のため、の両方のために使用されるマスキングフィルタを計算する。
【０６００】
図8、15または16で示される他の変形の階層コーダを考察することが可能である。ある変形では、エンハンスメント符号化における可能な量子化値の数は、各符号化サンプルに対して変動する。エンハンスメント符号化は、符号化されるべきサンプルの関数として可変のビットの数を使用する。割り当てられるエンハンスメントビットの数は、固定の割り当て規則、または可変の割り当て規則に従って適応化され得る。例示的な可変の割り当ては、例えば、ITU-T G.711.1標準での低帯域のエンハンスメントPCM符号化により与えられる。好ましくは、割り当てアルゴリズムは、それが可変であるならば、リモートデコーダに利用可能な情報を使用しなければならず、それにより、追加の情報が送信される必要がなく、これは、例えば、ITU-T G.711.1標準での場合である。
【０６０１】
同様に、および別の変形では、エンハンスメント符号化でスカラ量子化インデックス(Jk(n))を与える、エンハンスメント信号の符号化サンプルの数は、入力信号のサンプルの数よりも小さくすることができる。この変形は、エンハンスメントビットの割り当て数があるサンプルに対して0に設定される場合に、前の変形から推定される。
【０６０２】
次に、本発明によるコーダの例示的な実施形態が、図17を参照して説明される。
【０６０３】
ハードウェアの点からは、本発明の趣旨内で、第1、第2または第3の実施形態に従って説明されたようなコーダは、典型的には、メモリブロックBMと協働するプロセッサμPを備え、このメモリブロックBMは、格納ならびに/またはワークのメモリ、ならびに、例えば、先行する符号化段階の量子化値、そうでなければ、量子化再構成のレベルの辞書、もしくは、図6、8、15および16を参照して説明されるような符号化方法の実施のために必要な他の任意のデータを格納するための手段を装う上述のバッファメモリMEMを含む。このコーダは、入力として、デジタル信号x(n)の連続的なフレームを受信し、連結された量子化インデックスIB+Kを送出する。
【０６０４】
本発明による方法のステップの実施のためのコード命令であって、これらの命令が、コーダのプロセッサμPにより実行され、ならびに特に、コアビットレートと呼ばれる所定のビットレートでの符号化、現在のフレームの各サンプルに対するスカラ量子化インデックスを送出すること、および、エンハンスメント信号の各符号化サンプルに対するスカラ量子化インデックスを送出する、少なくとも1つのエンハンスメント符号化であるときに、メモリブロックBMは、これらのコード命令を含むコンピュータプログラムを含むことができる。このエンハンスメント符号化は、目標信号を決定するために使用される符号化ノイズをシェーピングするためのフィルタを得るステップを含む。前記エンハンスメント信号のスカラ量子化のインデックスは、スカラ量子化の可能な値の組と、前記目標信号との間の誤差を最小化することにより決定される。
【０６０５】
より一般には、コンピュータまたはプロセッサにより読み取り可能であり、コーダに統合される場合もあればされない場合もあり、任意には取り外し式である記憶手段が、本発明による符号化方法を実施するコンピュータプログラムを記憶する。
【０６０６】
例えば、図8、15または16は、そのようなコンピュータプログラムのアルゴリズムを例証することができる。
【符号の説明】
【０６０７】
500    コアビットレート符号化段階
510    ブロック
520    ブロック、フィルタリングモジュール
530    段階EA1
540    段階EAk
550    段階EAk2
560    連結モジュール
580    モジュール
601〜606    ブロック
700    標準デコーダ
710    ISDNネットワーク
720    IPネットワーク
730    追加のデコーダ
740    モードインジケータ
800    コアビットレート符号化段階
801    減算モジュール、ブロック
802    モジュール、ブロック
803    加算モジュール、ブロック
804    量子化器適応化モジュール、ブロック
805、806    モジュール、ブロック
807    モジュール、ブロック
810    モジュール、予測モジュール、ブロック
811    適応PAdaptモジュール、ブロック
820    コア量子化QBモジュール、ブロック
830    多重化モジュール
840    送信チャネル
850    モジュール、マスキングフィルタ計算モジュール、モジュールCalc Mask
900    ARMAフィルタリングセル
901    ARMAフィルタリングセル、モジュールFk(z)
902    ARMAフィルタリングセル
1505    予測モジュール
1510    加算モジュール
1520    減算モジュール
1530    モジュールPN(z)
1540    減算モジュール
1550    コア量子化モジュール
1560    量子化器適応化モジュール、適応化モジュールQAdapt
1570、1580    モジュール
1600    コア符号化段階
1610    予測モジュールPr(z)、ブロック
1620    モジュール、ブロック
1630    コア量子化モジュール、ブロック
1640、1650    モジュール、ブロック
【図３】
0005474088.tif 000198
【図５】
0005474088.tif 000199
【図６ａ】
0005474088.tif 000200
【図６ｂ】
0005474088.tif 000201
【図９】
0005474088.tif 000202
【図１０】
0005474088.tif 000203
【図１２】
0005474088.tif 000204
【図１７】
0005474088.tif 000205
【図１】
0005474088.tif 000206
【図２】
0005474088.tif 000207
【図４】
0005474088.tif 000208
【図７】
0005474088.tif 000209
【図８】
0005474088.tif 000210
【図１１】
0005474088.tif 000211
【図１３】
0005474088.tif 000212
【図１４】
0005474088.tif 000213
【図１５】
0005474088.tif 000214
【図１６】
0005474088.tif 000215