(57)【要約】  本発明は、各ビットプレーンを符号化するために“０”または“１”のビットを有する確率のテーブルを使用することを含む、ビットプレーン（ＭＳＢ、．．．、ＬＳＢ）による算術符号化に関係する。本発明によれば、確率テーブルは、各フレーム上の信号（Ｘ）の分布（Ｈ）に対応する確率密度モデル（Ｍｏｄ）に基づいて、各信号フレームに関して動的に計算される。
2010537533.tif 000002
【特許請求の範囲】
【請求項１】
信号のシンボルプレーン圧縮符号化／復号化のために信号を処理する方法であって、
シンボル値の確率が、少なくとも１つの平面（ＰＫ−１）に関して決定され、
前記確率が、信号（Ｘ）の分布の推定値（Ｍｏｄ）から動的に計算される
ことを特徴とする方法。
【請求項２】
前記信号が、符号化の前に量子化されると共に、
好ましくは量子化の前に、符号化されるべき前記信号（Ｘ）に関する信号分布の推定が実行される
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記信号分布の推定が、信号の確率密度（ｐｄｆ）を表すモデル（Ｍｏｄ）の特性を示す少なくとも１つのパラメータ（α）を推測するために、前記信号分布（Ｈ）のモデル化を含む
ことを特徴とする請求項１または請求項２のいずれか一項に記載の方法。
【請求項４】
前記モデル化が、前記符号化（５０５）において実行されると共に、
前記パラメータ（α）が復号化の目的のために伝達され、そして、
前記確率が、前記符号化（５０７）及び前記復号化（６０３）において、前記パラメータ（α）の関数として計算される
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記モデルが、一般化されたガウスモデルであると共に、
前記パラメータが、フォームファクタ（α）である
ことを特徴とする請求項３または請求項４のいずれか一項に記載の方法。
【請求項６】
前記信号が、一連の値（ａｉ）を含み、
各値（ａｉ）が、複数のシンボルプレーン（Ｐｋ）のそれぞれにおける複数のシンボル値（０；１）に分解され、
前記確率が、少なくとも１つの平面（ＭＳＢ）に関して計算されると共に、前記確率の各々が、この平面において所定のシンボルに等しいシンボル値を有する確率を示し、
前記確率が、少なくとも最上位のシンボル値を表す平面（ＭＳＢ）に関して計算される
ことを特徴とする請求項１から請求項５のいずれか一項に記載の方法。
【請求項７】
前記確率が、より上位のシンボル値を表す平面（Ｐｋ＋１、Ｐｋ＋２、・・・、ＰＫ−１）から取得されたシンボル値によって定義されるコンテキスト（Ｃ）を考慮しながら、更に他の平面（Ｐｋ）に関して計算される
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記一連の値における信号値（ａｉ）の同じ位置（ｉ）に関して、
現在の平面（Ｐｋ）におけるシンボル値より、より上位のシンボル値を表す平面（Ｐｋ＋１、Ｐｋ＋２、・・・、ＰＫ−１）から取得された各シンボル値が、この現在の平面（Ｐｋ）及びこの位置（ｉ）に関するコンテキスト値（Ｃ）を定義すると共に、
前記確率が、現在の平面（Ｐｋ）に関するコンテキスト（Ｃ）の複数の考え得る値を考慮しながら、現在の平面（Ｐｋ）に関して計算される
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記コンテキスト（Ｃ）の限定された数の考え得る値が選択される。
ことを特徴とする請求項８に記載の方法。
【請求項１０】
シンボルプレーン毎の考え得るコンテキスト値が、
−より上位のシンボル値を表す平面（Ｐｋ＋１、Ｐｋ＋２、・・・、ＰＫ−１）における少なくとも１つの有意のシンボルの存在を示す第１のコンテキスト値、及び
−より上位のシンボル値を表す平面（Ｐｋ＋１、Ｐｋ＋２、・・・、ＰＫ−１）において有意のシンボルが発見されなかったことを示す第２のコンテキスト値
の２つのコンテキスト値に限定される
ことを特徴とする請求項９に記載の方法。
【請求項１１】
請求項１から請求項１０のいずれか一項に記載の方法を実行するための符号器であって、
前記符号器が、符号化されるべき信号の分布を推定し、前記シンボル値の確率を計算するためのモジュール（５０７）にデータを供給するためのモジュール（５０５）を備える
ことを特徴とする符号器。
【請求項１２】
請求項１から請求項１０のいずれか一項に記載の方法を実行するための復号器であって、
前記復号器が、前記信号の分布の推定値（α）に基づいて前記シンボル値の確率を計算するためのモジュール（６０３）を備える
ことを特徴とする復号器。
【請求項１３】
請求項４に記載の方法を実行するために、
前記シンボル値の確率を計算するための前記モジュール（６０３）が、符号化する前の信号の確率密度モデルの特性を示す少なくとも１つのパラメータ（α）を供給されると共に、
前記パラメータが、前記復号器によって受信される
ことを特徴とする請求項１２に記載の復号器。
【請求項１４】
請求項１１に記載された符号器、または請求項１２か請求項１３のいずれかに記載された復号器のメモリに格納されることを意図しているコンピュータプログラムであって、
前記コンピュータプログラムが、前記符号器または前記復号器のプロセッサによって実行される場合に、請求項１から請求項１０のいずれか一項に記載の方法を実行するための命令を含む
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号、画像信号、または、更に一般的にオーディオ信号、及び／またはビデオ信号、または、更に一般的にマルチメディア信号のようなデジタル信号の、それらの保存、及び／またはそれらの伝送のための符号化／復号化に関係する。
【背景技術】
【０００２】
我々は、デジタル信号のための基本的な圧縮方法の中で、“エントロピー符号化”とも呼ばれる可逆的な（lossless）圧縮方法（ハフマン符号化、Golomb-Rice符号化、算術符号化）と、スカラーまたはベクトル量子化に基づく不可逆的な（lossy）圧縮方法との間の違いが分かる。
【０００３】
図１を参照すると、一般的な圧縮符号器は、典型的に以下の、
−符号化されるべき情報源Ｓを分析するための分析モジュール１００と、
−量子化モジュール１０１（スカラーまたはベクトル）と、
−量子化モジュール１０１の後に接続された符号化モジュール１０２とを備え、
一方、対応する復号器は、
−復号化モジュール１０３と、
−逆量子化モジュール１０４と、
−合成モジュール１０５とを備える。
【０００４】
以下の説明において、分析及び合成については論じられない。その後に関連する符号化及び／または復号化が行われる量子化のみが考察される。我々は、ここでは、更に、その後にシンボルプレーンを使用した量子化インデックスの符号化が行われるデータのブロックのスカラー量子化に関心を有している。いくらかの信号圧縮標準（ビットスライス算術符号化（Bit Sliced Arithmetic Coding：ＢＳＡＣ）符号器におけるＭＰＥＧ−４オーディオの符号化、画像のビットプレーンにおけるＪＢＩＧ画像の符号化、特にＪＰＥＧ２０００標準を使用する符号化、ＭＰＥＧ−４ビデオの符号化）において使用されるこの符号化技術は、図２において図解される。
【０００５】
図２を参照すると、その後にシンボルプレーン符号化が行われるスカラー量子化において、その符号化は、典型的に以下の、
−Ｎ≧１の範囲のＸ＝［ｘ１・・・ｘＮ］によって示されたベクトルを供給するために情報源信号Ｓを適応させるモジュール２００と、
−一連の整数値Ｙ＝［ｙ１・・・ｙＮ］を定義する量子化されたベクトルを供給するスカラー量子化モジュール２０１と、
−シンボルが０または１のビットであり得ると共に、ｋ＝０，・・・，Ｋ−１である値Ｐｋ＝［ａ１，ｋ・・・ａＮ，ｋ］のベクトル、及び信号Ｓ＝［ｓ１・・・ｓＮ］のベクトルを供給するシンボルプレーン分解モジュール２０２と、
−ビットプレーンを符号化すると共に、符号化された値を多重化するためのモジュール２０３と、
−伝送のための使用するビットＮｂの数に従ってビットレートを調整するためのモジュール２０４とを含み、
復号化は、
−逆多重化及び復号化モジュール２０６と、
−ビットエラーがなく、かつビットストリームを切り捨てることがない場合に、
【数１】
2010537533.tif 000003
であるように、ベクトル
【数２】
2010537533.tif 000004
を供給するために整数に変換するためのモジュール２０７とを含む。
【０００６】
従って、符号化されるように適応化された信号Ｘ＝［ｘ１・・・ｘＮ］から、（モジュール２０１によって実行される）スカラー量子化は、一連の整数値Ｙ＝［ｙ１・・・ｙＮ］を生成する。以下のように、（モジュール２０２によって実行される）ビットプレーンへの分解は、まず、符号と絶対値を分離することを必要とする。
【０００７】
【数３】
2010537533.tif 000005
【０００８】
次に、以下のように、絶対値をビット形式に分解することを必要とする。
【０００９】
【数４】
2010537533.tif 000006
【００１０】
ここで、
−Ｂｋ（ａｉ）は、量子化された要素Ｙｉの絶対値ａｉの２進分解のｋ番目のビットであると共に、
−Ｋは、値ａｉのセットの分解に関するビットプレーンの総数であり、この数Ｋは、以下の式によって、定義される。
【００１１】
【数５】
2010537533.tif 000007
【００１２】
ここで、［.］は、より高い整数に丸めることを示すと共に、ｌｏｇ２（０）＝−∞である。
【００１３】
０の値の符号は定義されないので、前述の規則（ｙｉ＝０に対してｓｉ＝０）は、（ｙｉ＝０に対してｓｉ＝１）に変更され得ることに注意が必要である。
【００１４】
平面（プレーン）のエントロピー符号化（モジュール２０３）は、“コンテキストベースの算術（context-based arithmetic）”符号器と呼ばれる符号器によって有利に行われ得る。
【００１５】
算術符号器の原理は、“Witten”等の文献“Arithmetic encoding for Data Compression”、“I.H. Witten”、“R.M. Neal”、“J.G. Cleary”著、Communications of the ACM - Computing Practices、Ｖｏｌ．３０、Ｎｏ．６、１９８７年６月、５２０〜５４０頁、において説明される。
【００１６】
例えば、この“Witten”等の文献のテーブルＩ（５２１頁）を参照すると、確率テーブルは、符号化を実行するために前もって定義されなければならないことが分かる。“コンテキストベースの”算術符号器において、シンボル０及び１に関する確率テーブルから取得されたデータは、常に同じであるとは限らないと共に、例えば、それは、（例えば、更に高いビットプレーンにおいて、及び隣接の要素において）既に復号化された近隣のビットの値によって決まり得るコンテキスト（発生状況）の関数として導き出すことができる。コンテキストベースの算術符号器の原理は、特に、“Howard”等の文献、“Arithmetic encoding for Data Compression”、“P.G. Howard”及び“J.S. Vitter”著、ＩＥＥＥ議事録、ｖｏｌ．８２、Ｎｏ．６（１９９４年６月）において説明されている。
【００１７】
概して、モジュール２０３は、最上位ビットの平面から初めて、そして最下位ビットの平面まで続けて、１つずつ、ビットプレーンを符号化する。より上位のビットプレーン、またはより下位のビットプレーンのこの概念は、図３を参照して以下で説明されることになる。ｉ＝１，・・・，ｎである場合に、符号ビットｓｉは、対応する絶対値ａｉが０でない場合にだけ送信される。ビットプレーンの部分的な復号化を可能にするために、復号化されたビット｛ａｉ，ｋ｝ｋ＝０，・・・，Ｋ−１の内の１つが１に等しいとすぐに、符号ビットｓｉが送信される。
【００１８】
符号器から出力されるビットレートは、一般的に可変である。以下の説明において、この可変ビットレートを管理する方法（図２におけるモジュール２００及びモジュール２０４）は、説明されない。モジュール２０３によって生成されたビットストリームは、次に、（ビットストリームの階層的性質を利用することによって）ビットストリームを切り捨てる可能性があるか、またはビットエラーを導入する可能性があるチャンネル２０５を介して送信される。
【００１９】
復号化において、デマルチプレクサ−復号器（モジュール２０６）は、ビットプレーン
【数６】
2010537533.tif 000008
を、１つずつ復元すると共に、送信された符号ビット
【数７】
2010537533.tif 000009
を復号化する。
【００２０】
この復号化された情報は、信号Ｙを復元すること（モジュール２０７）を可能にする。
【００２１】
もしビットエラーが存在しないと共に、ビットストリームの切り捨てもない場合、もちろん
【数８】
2010537533.tif 000010
であり、従って、
【数９】
2010537533.tif 000011
である。
【００２２】
明確にするために、この明細書の残りにおいて、ビットエラーはないと仮定される。
【００２３】
ビットプレーン符号化の基本的興味は、それが、必然的に、信号の階層的な（もしくは漸進的な）符号化につながることである。復号器によって送信されたビットストリームが受信されると、信号の継続的、そしてますます正確な近似値が復元され得る。
【００２４】
Ｎ＝８の場合のビットプレーン分解の例は、図３において示される。表された例において、ベクトルＹは、Ｙ＝［−２，＋７，＋３，０，＋１，−３，−６，＋５］である。０でない値｛ｙｉ｝ｉ＝１，・・・，Ｎは、“有意”であると言われている（図３においてＶＳで表示される。）。符号ビットは、図３において“ｓｇｎ”によって表示されたベクトルで表される。この場合、我々は、Ｋ＝３、Ｐ０＝［０，１，１，０，１，１，０，１］、Ｐ１＝［１，１，１，０，０，１，１，０］、Ｐ２＝［０，１，０，０，０，０，１，１］、そしてＳ＝［１，０，０，０，０，１，１，０］を得る。
【００２５】
その場合、ベクトルＰｋは、重みｋのビットプレーンを表す。最も高いビットプレーンＰＫ−１は、最上位のビットプレーンを表し（“最上位ビット（Most Significant Bits）”なのでＭＳＢによって表される。）、一方、最も低いビットプレーンＰ０が最下位のビットプレーンを表す（“最下位ビット（Least Significant Bits）”なのでＬＳＢによって表される。）。
【００２６】
図２におけるモジュール２０３の動作が、（その後にスカラー量子化が行われる）ビットプレーン毎の算術符号化のフローチャートに対応する図４を参照して、ここで更に詳細に説明される。当業者において知られているように、これは、Ｎ次元の多重化を伴う符号化を含む。開始ステップ４００の後で、ビットプレーンの総数Ｋが獲得される（ステップ４０１）。現在のループインデックスｋが減らされて、ｋ＝０の場合に処理が終了するように、この現在のインデックスの値は、従って、初めにｋ＝Ｋ−１に設定される（ステップ４０２）。検査のステップ４０３では、まだｋ＝０の値に到達していないことを確認する。この値がｋ＝０に到達しない限り（Ｙの矢印）、現在のインデックスｋの平面Ｐｋが符号化される（ステップ４０４）。従って、ｋ＝Ｋ−１である最初のループは、ＭＳＢ平面に対応する平面ＰＫ−１を処理すると共に、ｋ＝０である最後のループは、ＬＳＢ平面に対応する平面Ｐ０を処理する。ステップ４０５において、平面Ｐｋに関連付けられた新しい有意の係数の符号が送信される。次のステップ４０６は、現在のインデックスｋの値を減少させる。もしｋ＝０の値に対する平面Ｐ０が処理されたならば（検査のステップ４０３から出るＮの矢印）、その処理は終了される（終了ステップ４０７）か、または、信号（またはフレーム）が提供するデータの新しいブロックによって再開する。
【００２７】
符号化は、従って、ＭＳＢ平面からＬＳＢ平面まで、連続するビットプレーンＰｋに関して実行される。更に、更に漸進的な復号化を可能にするために、平面Ｐｋをサブベクトルに細分化することが可能であると共に、この細分化は、恐らくは大きさにおいて（１に等しい）単一のユニットのサブベクトルまでずっと続く。
【００２８】
その場合に、適応型算術符号化によって絶対値のビットプレーンを符号化し得る。実際には、平面Ｐｋは、適応型算術符号化によって、１つずつ（ＭＳＢ平面からＬＳＢ平面までの逐次的方法において、互いに独立して）符号化され得る。平面Ｐｋの符号化におけるシンボル（０及び１）の確率の適応化は、同じ平面Ｐｋ内で既に符号化されたビットだけを使用する。適応型算術符号器は、従って、新しい平面Ｐｋの符号化が始まるとき、特に、０及び１の確率を１／２（＝０．５）の値に初期化することによって再初期化されると共に、同じ平面に関して符号化が進行するので、これらの確率は、０及び１の頻度を更新することによって漸進的に変化すると共に、適応化される。この種類の符号化の詳細な説明は、文献“An introduction to arithmetic coding”、“G.C. Langdon”著、ＩＢＭ  Ｊ．Ｒｅｓ．Ｄｅｖ．２８、２、１３５〜１４９頁（１９８４年３月）において与えられる。
【先行技術文献】
【非特許文献】
【００２９】
【非特許文献１】I.H. Witten、R.M. Neal、J.G. Cleary、“Arithmetic encoding for Data Compression”、Communications of the ACM - Computing Practices、Ｖｏｌ．３０、Ｎｏ．６、１９８７年６月、５２０〜５４０頁
【非特許文献２】P.G. Howard、J.S. Vitter、“Arithmetic encoding for Data Compression”、ＩＥＥＥ議事録、ｖｏｌ．８２、Ｎｏ．６（１９９４年６月）
【非特許文献３】G.C. Langdon、“An introduction to arithmetic coding”、ＩＢＭ  Ｊ．Ｒｅｓ．Ｄｅｖ．２８、２、１３５〜１４９頁（１９８４年３月）
【非特許文献４】M. Oger、S. Ragot、M. Antonini、“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、ＩＣＡＳＳＰ、２００７年４月
【発明の概要】
【発明が解決しようとする課題】
【００３０】
更に洗練された符号器は、０及び１の初期頻度を１／２に設定しないが、しかし、いくらかの動作コンテキストに適応した（例えば、ビットレートもしくは符号化されるべき情報源の種類に適応した）、０及び１に関する初期頻度を与える以前にセーブされたテーブルに、確率値を保存する。最良の状態では、従来技術の符号器は、従って、（事前に定義された頻度の値を含む）シンボル確率テーブルの記憶装置を必要とする。更に一般的に、以前にセーブされたテーブルは、通常、ハフマン符号化または算術符号化のようなエントロピー符号化を適用するために必要である。従来技術の方法は、それらが、特別な動作条件（ビットレート、情報源の種類）に適応しなければならない情報を、事前に計算して格納することを必要とするので、従って、あまり柔軟ではない。その結果、そのようなテーブルを生成するために、符号器／復号器を設計する場合に、全ての考え得る状況を予想する必要がある。
【００３１】
本発明は、上記の状況を改善することを目的とする。
【課題を解決するための手段】
【００３２】
この目的のために、信号のシンボルプレーン圧縮符号化／復号化のために信号を処理する方法が提供されると共に、該方法において、シンボル値の確率が、少なくとも１つの平面に関して決定される。本発明の要点において、これらの確率は、信号分布の推定値から動的に計算される。
【００３３】
好ましくは、信号が、符号化の前に量子化されるので、信号分布の可能な限りの最も正確な推定値を得るために、信号分布の推定は、（量子化後の処理された信号の分布の推定値ではなく、）量子化の前に、符号化されるべき信号に関して実行される。
【００３４】
第１の実施例において、信号が一連の値を含むので、各値は、複数のシンボルプレーンのそれぞれにおける複数のシンボル値に分解される。確率は、少なくとも１つの平面に関して計算されると共に、各々は、この平面において、所定のシンボルに等しいシンボル値を有する確率に関連している。好ましくは、確率は、少なくとも最上位のシンボル値を表す平面に関して計算される。
【００３５】
第２の実施例において、確率は、その上更に、より上位のシンボル値を表す平面から取得されたシンボル値によって定義されるコンテキストを考慮しながら、更に他の平面に関して計算される。
【００３６】
より詳しくは、前記一連の値における同じ信号値の位置に関して、現在の平面におけるシンボル値より、より上位のシンボル値を表す平面から取得された各シンボル値は、この現在の平面及びこの位置に関するコンテキスト値を定義する。上記で言及された確率は、その場合に、この現在の平面に関する複数の考え得るコンテキスト値を考慮しながら、この現在の平面に関して計算される。
【００３７】
第３の実施例において、好ましくは２つの、限定された数の考え得るコンテキスト値が選択され、それらは、
−より上位のシンボル値を表す平面における少なくとも１つの有意のシンボルの存在を示す第１のコンテキスト値、及び
−より上位のシンボル値を表す平面において有意のシンボルが発見されなかったことを示す第２のコンテキスト値
である。
【００３８】
従来技術と異なり、本発明は、従って、動的に平面毎のシンボルの確率（例えば、ビットプレーンに関する０及び１の確率）を計算するために、確率テーブルを全く記憶せずに、その代りに確率テーブルは“オンライン（on line）で”（信号の関数として）計算されること、（例えば一般化されたガウスモデルで表される）符号化／復号化されるべき情報源の確率密度の推定値を使用すること、を提案する。本発明は、従って、符号化（または復号化）されるべき情報源の確率モデルの情報を使用することができると共に、各平面Ｐｋにおいてシンボルの確率を初めに推定するために、そうすることができる。
【００３９】
実際には、特に符号化されるべき信号のフォームファクタ（αによって月並みに表示される）を計算するために、いくらかの符号器／復号器が既にそのようなモデル化を実装しているので、符号化されるべき情報源のモデルを使用することができる。その場合に、例えば変換符号器において、“Oger”等による文献“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、“M. Oger”、“S. Ragot”、及び“M. Antonini”著、ＩＣＡＳＳＰ、２００７年４月、で提示されたスタックラン（stack-run）符号化を使用してフォームファクタαを計算するために、前から存在する信号分布モデルを当てにすることができる。しかしながら、前記文書がいかなる形のシンボルプレーン符号化も全く開示しないことに、注目するべきである。
【図面の簡単な説明】
【００４０】
【図１】一般的な圧縮符号器を示す図である。
【図２】信号圧縮標準符号器において使用される符号化技術を示す図である。
【図３】上位または下位のビットプレーンの概念を示す図である。
【図４】ビットプレーンによる算術符号化のフローチャートを示す図である。
【図５】ビットプレーン符号化に関して、符号化されるべき信号の分布モデルを使用する、本発明の要点における符号器の例を示す図である。
【図６】図５における符号器に対して対をなす復号器を示す図である。
【図７】一般化されたガウス分布の確率密度を例証すると共に、確率ｐ（ａｉ）を計算するための様々な区間を示す図である。
【図８】上述の第１の実施例による、各平面Ｐｋに関する確率テーブルの初期化を伴うビットプレーン符号化のフローチャートを示す図である。
【図９】図８における符号化に対して対をなす復号化のフローチャートを示す図である。
【図１０】３つのビットプレーンへの分解及びＬＳＢ平面に関するコンテキストベースの符号化の例を示す図である。
【図１１】それに対して割り当てられ得る分布モデルＭｏｄ（点線の曲線）との比較において、高調波信号と関連付けられたビットプレーンを、この信号のヒストグラムＨと同様に例証する図である。
【図１２】確率テーブルが本発明の方法によって動的に計算されたビットプレーンの（表された例において平面ＰＫ−２を符号化するためのコンテキストベースの）算術符号化の原理を例証する図である。
【図１３】上述の第２の実施例による、確率テーブルのコンテキストベースの初期化を伴うビットプレーン符号化のためのフローチャートを示す図である。
【図１４】上述の第３の実施例による、考え得るコンテキストが２つだけ与えられる場合の確率テーブルのコンテキストベースの初期化を伴うビットプレーン符号化のためのフローチャートを示す図である。
【発明を実施するための形態】
【００４１】
本発明の他の特徴及び利点は、以下の詳細な説明及び付属の図面を分析すると明白になるであろう。
【００４２】
本発明は、各平面に関するシンボル（例えば０及び１）の最初の確率を推定するために、符号化されるべき情報源の確率分布を利用する、シンボルプレーン符号化／復号化を提案する。この処理は、確率テーブルから動的な情報を提供することによって、エントロピー符号化を最適化することを目標にする。
【００４３】
我々は、エントロピー符号化のようなコンテキストベースの算術符号化の場合を考察し得る。本発明の要点における符号化が特に音声信号及び／またはオーディオ信号のための周波数領域符号器の変換係数の量子化に由来するインデックスの損失なしで行われる一例が、以下で説明される。しかしながら、本発明は、等しく、損失がある符号化、特に画像信号またはビデオ信号のような信号の符号化に適用される。
【００４４】
図５は、本発明の要点における、ビットプレーン毎のシンボル０またはシンボル１の最初の確率を発見するために符号化されるべき信号分布モデルを使用する符号器の一例を例証する。図５における例において表された符号器の構造は、“Oger”等の文献“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、“M. Oger”、“S. Ragot”、及び“M. Antonini”著、ＩＣＡＳＳＰ、２００７年４月、において説明された従来技術の符号器に非常に近い。
【００４５】
特に、この文献において説明された符号器は、引用された文献において、ビットレートを制御する役目を果たすだけであるフォームファクタαを推定するために、信号の分布モデルを決定する。この種類の符号器は、スタックラン（stack-run）符号化技術を使用すると共に、本発明の要点におけるビットプレーン符号化に関係を有していない。
【００４６】
たとえそうでも、本発明は、フォームファクタ計算モジュール５０５（図５）を含む前から存在する構成から有利に利益を得ることができると共に、更に、以下で説明するように、ビットプレーン符号化を実行するためにこのモジュール５０５を使用することができる。
【００４７】
図５を参照すると、表された例における符号器は、以下の、
−ハイパスフィルタ５０１と、
−知覚ベースフィルタ処理モジュール５０２と、
−短期の予測パラメータを獲得する、ＬＰＣ（線形予測符号化）分析及び量子化のためのモジュール５０３と、
−ＭＤＣＴ（修正離散コサイン変換）と周波数整形（frequency shaping）のためのモジュール５０４と、
−説明された例において、一般化されたガウスモデルからフォームファクタαを計算するためのモジュール５０５と、
−特に使用されるビットの数Ｎｂの関数としてビットレートの制御を実行するビットレート制御モジュール５０６と、
−第１の実施例において、及び他の後の実施例におけるコンテキスト計算において、ビットプレーン符号化モジュール５０９の確率テーブルを少なくとも初期化するのに役立つ計算を実行するためにモジュール５０５を利用するモジュール５０７と、
−ユニフォームスカラー量子化モジュール５０８と、
−ビットプレーン符号化モジュール５０９と、
−ノイズレベルの推定と量子化のためのモジュール５１０と、
−符号化されたデータの保存のため、もしくは後の復号化に対する伝送のために、モジュール５０３、５０５、５０９、及び５１０からの出力を多重化するマルチプレクサ５１１とを備える。
【００４８】
入力信号ｘ（ｎ）は、５０Ｈｚ未満の周波数を取り除くために、ハイパスフィルタ処理によってフィルタ処理される（５０１）。そして、知覚ベースフィルタ処理が、モジュール５０１によってフィルタ処理された信号に適用され（５０２）、そして並列に、ＬＰＣ分析が、モジュール５０１によってフィルタ処理された信号に適用される（５０３）。ＭＤＣＴ分析が、知覚ベースフィルタ処理後の信号に適用される（５０４）。使用される分析は、３ＧＰＰ標準のＡＭＲ−ＷＢ＋符号器のそれと同じであると考え得る。フォームファクタαが、ＭＤＣＴ変換の係数に関して推定される（５０５）。特に、一度フォームファクタが推定されれば、所望のビットレートを獲得することに適した量子化ステップサイズｑが計算される（５０６）。この量子化ステップサイズを使用し、このステップサイズによって除算する（割る）図５におけるモジュール５１２によって、信号のユニフォームスカラー量子化が実行される（５０８）。この方法において、整数Ｙ（ｋ）の系列が集められて、モジュール５０９によって、次に符号化される。好ましくは、復号器に注入されるべきノイズの推定値が同様に生成される（モジュール５１０）。
【００４９】
図５において表された例では、符号化は、本発明の要点において、符号化されるべき信号の関数として動的に推定された分布モデルを受けて確率テーブルがリアルタイムに初期化されるビットプレーン符号化を伴う変形によって実行される。ＭＤＣＴ変換の前の符号化の最初の部分（モジュール５０１から５０４まで）は、上述の“Oger”等の文献において示された変換符号化のために使用されるスタックラン（stack-run）ベースの方法と同じである。ビットレート制御と同様に、フォームファクタの推定（モジュール５０５）は、同様に、同じであると考え得る。しかしながら、ここで、符号化モジュール５０９の初期化において使用されることになる、シンボル０及び１の確率に関するテーブルを推定するために（モジュール５０７）、モジュールからの情報が、同様に、使用されることになる。そして、参照符号５１２によって表示された除算モジュールを使用して、ユニフォームスカラー量子化が適用される（モジュール５０８）。量子化は、同様に、“Oger”等の文献において説明された量子化と同じであると考え得るが、しかし、ここでは、上述のように、（モジュール５０５によって定義される）モデルに従って確率テーブルの初期化が行われるビットプレーン符号化（モジュール５０９）が後に続いている。この場合も先と同様に、“Oger”等の参考文献におけるノイズレベルの推定と同じであると考え得る、ノイズレベルの推定が行われる（モジュール５１０）。そして、符号器のパラメータが、マルチプレクサ５１１を通って復号器に送られる。
【００５０】
図６を参照すると、対をなす復号器は、
−図５の符号器から受信されたビットストリームを逆多重化するためのモジュール６０１と、
−ＬＰＣ係数を復号化するためのモジュール６０２と、
−図５のモジュール５０５によって定義されたモデル
【数１０】
2010537533.tif 000012
に基づいて確率を推定するためのモジュール６０３と、
−量子化ステップサイズ
【数１１】
2010537533.tif 000013
を復号化するためのモジュール６０６と、
−復号化された量子化ステップサイズの値を使用して、ノイズレベル
【数１２】
2010537533.tif 000014
を復号化するためのモジュール６０５と、
−復号化された量子化ステップサイズの値を使用して、整数
【数１３】
2010537533.tif 000015
の復号化されたベクトルを供給するために、推定された確率（モジュール６０３）を受信するビットプレーン復号化モジュール６０４と、
−ノイズ注入モジュール６０７と、
−変換領域において表された復号化されたベクトル
【数１４】
2010537533.tif 000016
を発見するために低周波数のデエンファシスを行うためのモジュール６０８と、
−逆ＭＤＣＴ変換モジュール６０９と、
−通信における損失または切り捨てがない場合には図５の元の信号ｘ（ｎ）に対応する信号
【数１５】
2010537533.tif 000017
を発見するための、復号化されたＬＰＣ係数（モジュール６０２）に基づく逆知覚ベースフィルタ処理モジュール６１０とを備え得る。
【００５１】
この場合も先と同様に、図５を参照すると、ビットの数が、利用可能なビット量より少ないか、もしくは利用可能なビット量に等しい状態を維持するように、符号化によって使用されるビットの数Ｎｂは、量子化ステップサイズの値を修正する（もしくは適応させる）ために、ビット割り当てモジュールに送られる。最適な量子化ステップサイズｑｏｐｔを獲得するために、ＭＤＣＴスペクトルの符号化は、従って、一般的に１０回から２０回の反復するビットレート制御ループにおいて実行される。更に詳しくは、最初の量子化ステップサイズ、すなわち最適な量子化ステップサイズｑｏｐｔの決定に基づく最初の反復に関する量子化ステップサイズの値は、一般化されたガウスモデルを決定するためにモジュール５０５によって供給されたフォームファクタαから推定される。
【００５２】
このモジュール５０５の動作は、以下で更に詳細に説明される。
【００５３】
従来の符号化と異なり、この“モデルに基づく（モデルベースの）”（確率的な）符号化は、直接的ではなく、確率モデルに基づいて情報源を定量化して符号化することから構成される。
【００５４】
図１１を参照すると、振幅（Ａ（ＭＤＣＴ））における変化が、量子化されて符号化されるべき信号（Ｘによって表され、従って要素ｘｉのセットに対応する）に関して表される。この信号Ｘは、例えば図５のモジュール５０４によって供給され得ると共に、その結果、周波数（ｆｒｅｑ）の関数であるＭＤＣＴ信号に対応する。Ｙによって表されると共に、要素ｙｉの系列に対応する信号を（図５のモジュール５０８からの出力として）獲得するために、信号Ｘは、量子化ステップサイズｑによって量子化されることが意図される、ということを思い出すことになる。これらの要素ｙｉの符号及び絶対値ａｉが決定されると共に、これらの絶対値ａｉは、図１１に表されたＭＳＢ・・・ＬＳＢビットプレーンに分解される。
【００５５】
更に詳しくは、信号Ｘの分布に対応するヒストグラムＨ（図１１における右のグラフ）を獲得するために：
−信号Ｘの要素ｘｉが０に等しい全ての存在が“カウント”されると共に、獲得された数は、０の値のｘ軸におけるグラフのｙ軸（Ｈｉｓｔ）上に示され、
−そして、信号Ｘの要素ｘｉが１に等しい全ての存在が“カウント”されると共に、獲得された数は、１の値のｘ軸におけるｙ軸上に示され、
更に、それに続く値２、３等、そして−１、−２、−３等に対して、ヒストグラムが同様に示される。その結果、図１１における参照符号Ｖａｌ（ｘｉ）（右のグラフのｘ軸）は、信号Ｘが仮定し得る全ての可能な値を示す。
【００５６】
次に、このヒストグラムＨは、形の上では例えばガウス分布であり得るモデルＭｏｄ（点線）によってモデル化される。ここで、図７を参照すると、（参照符号Ｖａｌ（ａｉ）が要素ａｉの各絶対値が仮定し得る様々な考え得る値を示す場合に、Ｖａｌ（ｘｉ）からＶａｌ（ａｉ）に対する）ｘ軸の値の目盛りの単純な変更の後で、信号Ｘの分布Ｈは、最終的に（確率密度関数にちなんでp.d.fで指定された）確率密度モデルで表され得る。
【００５７】
図７は、有利に選択され得る特別なモデルである、代表的な一般化されたガウスの確率密度を例証する。我々は、（ｆαによって表示される）以下の数式をそれに与える。
【００５８】
０を中心とすると共にσ標準偏差の一般化されたガウス情報源ｚの確率密度は、以下の式で表される。
【００５９】
【数１６】
2010537533.tif 000018
【００６０】
ここで、αは指数関数（図７）の形状を表現するフォームファクタであり、パラメータＡ（α）及びＢ（α）は、以下の式で表される。
【００６１】
【数１７】
2010537533.tif 000019
【００６２】
ここで、Γは、以下の式のように定義されたガンマ関数である。
【００６３】
【数１８】
2010537533.tif 000020
【００６４】
従って、情報源（符号化されるべき信号）は、一般化されたガウス変数の無作為抽出の結果としてモデル化される。この一般化されたガウスモデルは、その場合に、修正離散コサイン変換（ＭＤＣＴ）領域において、符号化されるべきスペクトルをモデル化するために有利に使用され得る。モデルの特性を示すフォームファクタαの値は、このモデルから取り出すことができる。量子化ステップサイズｑを計算するために、図５におけるモジュール５０５のようなモジュールを統合するいくらかの現存する符号器において、符号化されるべきスペクトルに基づいて、有利に、各信号ブロック（フレーム）に関するフォームファクタαが既に推定されていることを思い出す必要がある。
【００６５】
本発明の要点において、（特にフォームファクタαに通じ得る）分布モデルの推定は、同様に、平面毎のシンボル値の確率を計算することを可能にする。この手法は、以下で説明される。
【００６６】
この場合も先と同様に、図７を参照すると、Ｎ個の考え得る値（図７においてＶａｌ（ａｉ）によって表示される）の中の要素値ａｉを有する確率ｐ（ａｉ）の推定は、以下の計算に基づいている。
【００６７】
【数１９】
2010537533.tif 000021
【００６８】
図７は、同様に、確率ｐ（ａｉ）を計算するための様々な区間を例証する。一般化されたガウス分布が対称性を有するので、既に、ｐ（ａｉ）＝ｐ（−ａｉ）であることが理解され得る。同様に、（要素ｘｉから要素ｙｉ（またはａｉ）を獲得するために）ステップサイズｑのユニフォームスカラー量子化が使用されるので、それらの区間が規則的である点に注意が必要である。同様に、要素ａｉの最大値が高くなるほど、関連した確率ｐ（ａｉ）が低くなる点に注意が必要である。
【００６９】
確率ｐ（ａｉ）の計算は、従来の積分法によって実行され得る。好ましい実施例において、適用することが簡単である“台形”法（"trapezoidal" method）が使用される。好ましくは、前述の方程式における積分を計算するための量子化ステップサイズがｑ／σになるように、標準偏差の値αは、１に正規化される。信号の動特性の変化の問題が従って消去され、そして、我々はフォームファクタの値が何であろうと単位分散の中央の信号源に戻されるので、この動作は、積分の更に効果的な計算を可能にする。
【００７０】
３つの実施例が、確率ｐ（ａｉ）のこれらの計算に基づいて、ビットプレーン毎にシンボル０及び１の確率を推定するために、以下で提示される。
【００７１】
第１の実施例において、各ビットプレーンＰｋに関して０または１のビットを有する確率の推定を行うと共に、従って、上記で参照されたものを最初の確率テーブルと定義する。これらのテーブルは、図１２を参照して以下で説明されることになる。
【００７２】
第２の実施例において、既に符号化されたと共に前の平面において同じ位置にあるビット（これらのビットは従ってコンテキストを定義する）の関数として０または１の条件付き確率の推定を行う。
【００７３】
第３の実施例において、２つ（のコンテキスト“有意”または“非有意”）に限定された考え得るコンテキスト値の数の関数として条件付き確率の推定を行う。
【００７４】
最新技術において、平面Ｐｋにおける０及び１の最初の確率は、値１／２＝０．５に設定されること、もしくは、最良の状態では、テーブルに前もってセーブされることを思い出すことになる。しかしながら、実際には、各平面における０及び１の確率は、１／２と全く異なり得る値を仮定し得ると共に、より一般的には、１つの信号フレームから次の信号フレームまで、例えば以下で説明されるような信号内の発声の度合いに応じて非常に異なり得る。
【００７５】
図８におけるフローチャートは、モデルに基づいている各平面Ｐｋに関する確率テーブルの初期化を伴う、第１の実施例によるビットプレーン符号化の原理を示す。フォームファクタα及び標準偏差σであるモデルのパラメータが最初に推定される（開始ステップ８００後のステップ８０１）。そして、例えば図５において表されたファクタαの値から、スカラー量子化ステップサイズｑが決定される（ステップ８０２）。パラメータσ、α、及びｑから、上述のように、要素ａｉの確率が推定される（ステップ８０３）。図４を参照して説明された原理と類似した原理を用いて、Ｋ−１から０まで減らされる（ステップ８０８）ループインデックスｋの現在の値をステップ８０５において検査することによって、符号化されるべきビットプレーンが残っているかどうかが確認される。次に、各平面において０または１のビットを有する確率が推定される（ステップ８０６）と共に、そして確率に関するこの情報を用いてこの平面の符号化が実行される（ステップ８０７）。インデックスｋが正であるか、もしくは０である限り（符号化するべき平面がある限り）、このループは繰り返される。そうでなければ、その処理は終了する（終了ステップ８０９）か、もしくは、符号化されるべき次の信号ブロック（またはフレーム）に関して再開され得る。
【００７６】
図９を参照すると、復号化において、開始ステップ９００の後で、符号化において使用された分布モデルの特性を示すパラメータ
【数２０】
2010537533.tif 000022
が復号化される。そして、このモデルによって、要素ａｉに関連付けられた確率が推定される（ステップ９０２）。次に、初めにＫ−１に設定された（ステップ９０３）現在のループインデックスｋを減らす（ステップ９０７）ループが適用される。インデックスｋが正数である限り（検査のステップ９０４から出るＹの矢印）、更に能率的に各平面Ｐｋを復号化する（ステップ９０６）ために、各平面Ｐｋにおける０及び１の確率が推定される（ステップ９０５）。そうでなければ（検査のステップ９０４から出力されたＮの矢印に対応する０以下のｋ）、他の平面が符号化される必要はないと共に、その処理は終了し得る（終了ステップ９０８）か、もしくは、符号化されるべき次のブロック（またはフレーム）に関して再開される
【００７７】
我々は、上記によって、要素ａｉの値に関連付けられた確率がどのように計算されるかを理解した。我々は、ここから、各平面Ｐｋに関して、与えられたシンボルに関連付けられた確率の計算（図８におけるステップ８０６及び図９におけるステップ９０５）が、どのようにこれに起因し得るかを説明することになる。以下の方程式を簡単にするために、要素ａｉと関連付けられた確率ｐ（ａｉ）は、以下ではｐ（ａ）によって表示される。
【００７８】
平面Ｐｋにおいて値０を獲得する確率は、この場合も先と同様に、説明された例における一般化されたガウスモデルに対応する確率モデルから計算され得る。要素ａｉの２進分解において０に等しいｋ番目のビットを有する確率（従って平面Ｐｋにおける）は、次式で与えられる。
【００７９】
【数２１】
2010537533.tif 000023
【００８０】
それは、方程式を書く際の利便性のために、以下に示すように短縮化される。
【００８１】
【数２２】
2010537533.tif 000024
【００８２】
平面Ｐｋにシンボル０を有する確率を与える関係式は、その場合に、以下のようになる。
【００８３】
【数２３】
2010537533.tif 000025
【００８４】
ここで、それぞれｂｋとＭは、
−ｂｋは、平面Ｐｋ内のあらゆるビットを表す確率変数（random variable）であり、
−Ｍは、Ｋ個の平面内の存在し得る、考え得る最も大きな絶対値を有する整数であり、Ｍ＝２Ｋ−１である。
【００８５】
これにより、我々は、確率の表現が平面Ｋの総数に依存していると共に、従って符号化され得る整数の数に依存していることを理解する。実際には、ここでは、符号化された平面の数がビットストリームに記録されると共に、従って、符号化において、特に平面Ｐｋの算術符号化の前に利用されたのと同様に、復号化においてこのデータが利用可能であると仮定されている。ａ≦Ｍであることを知って、我々は、従って条件付き確率を得る。
【００８６】
確率ｐ（ａ≦Ｍ）は、以下の式によって定義される。
【００８７】
【数２４】
2010537533.tif 000026
【００８８】
確率ｐ（ｂｋ＝０，ａ≦Ｍ）は、以下の式によって定義される。
【００８９】
【数２５】
2010537533.tif 000027
【００９０】
方程式を簡単に書くために、値ｐ（ｂｋ＝０｜ａｉ≦Ｍ）（またはｐ（ｂｋ＝０｜ａ≦Ｍ）は、以下の“ｐＭ（ｂｋ＝０）”のように書かれる。
【００９１】
その場合に、平面Ｐｋにおいて値０を有する確率（ステップ８０６）に関して、以下の式を獲得する。
【００９２】
【数２６】
2010537533.tif 000028
【００９３】
これにより、我々は、確率ｐ（ａｉ）（またはｐ（ａ））が、図８のステップ８０３及び図９のステップ９０２における前の計算の正当性を証明するこの最後の方程式に関連していることを理解する。
【００９４】
ビットプレーン符号化のそれ自身の技術は、実質的には従来技術と比べると変わらないままである。しかしながら、本質的な差異は、１／２のデフォルトの初期設定値、またはビットレートまたは情報源に依存して以前にセーブされた初期設定値を選択する代りに、上記で与えられた値ｐ（Ｂｋ（ａ）＝０）に対する０の確率を初期化することに存在する。
【００９５】
ｐＭ（ｂｋ＝１）である、値１を有する確率を獲得するには、ｐＭ（ｂｋ＝１）＋ｐＭ（ｂｋ＝０）＝１の形の補足的な関係式を単に利用する。
【００９６】
図１０は、Ｋ＝３の平面から取得され得る、様々な値（ａｉ＝０，１，２，３，・・・，７）の例を示す。従って、平面Ｐ２（ＭＳＢ）に関して、０の値を有するビットは、整数０、１、２、及び３（実線）に対応すると共に、従って、ＭＳＢ平面において０の値を有する確率は、上述の最後の方程式を用いて、以下の式によって与えられる。
【００９７】
【数２７】
2010537533.tif 000029
【００９８】
同様に、平面Ｐ１に関して、０の値を有するビットは、整数０、１、４、及び５に対応すると共に、以下の式によって与えられる。
【００９９】
【数２８】
2010537533.tif 000030
【０１００】
その他の平面も同様になる。
【０１０１】
我々は、ここから、図１１に戻って、これらの確率計算の結果が表すものについて説明することになる。この図において、全く実例となる目的のために、我々は、高調波（または高い音色）の特性を有するスペクトル信号Ｘを示した。従って、ＭＤＣＴ信号の振幅（その絶対値）は、ほんの少しの連続した周波数において大きく（これらの周波数に関して上位のビットは１の値を有している）、一方、他の周波数に関連付けられた振幅は、比較的低い（上位のビットは０の値を維持している）。その結果、ＭＳＢ平面、及び、直接後続する平面または複数の平面は、１のビットをほとんど有していない。この信号の一般的な形に関して、小さな値のフォームファクタα（０．５未満）が求められ得ると共に、ＭＳＢ平面、及び直接にそれの後に続く平面に関して、０のビットに関する値を獲得する確率は高い（１に近い）。しかしながら、最下位ビットのＬＳＢ平面、及び直接にそれに先行する平面は、非常に分かり易く説明すると、ノイズ変動に従って、１と同数の０を含むと共に、０の値を有するビットを発見する確率は、その場合に、平均値になる（０．５に近い）。
【０１０２】
もし信号が高調波でなく、そして更に多くのノイズを有するならば（例えば無声の音声信号）、ＭＳＢ平面において０のビットを発見する確率は、更に低くなることになる（０．５に近づく）。この観測は、“Oger”等の参考文献（図１及びそのコメント）において説明される。従って、この“Oger”等の参考文献において説明されたように、もし図１１の信号がヒストグラムの形で描かれるならば、（図１１においてＨによって示された）真中の高さにおける幅が低い値を有する（フォームファクタαを与える）狭いピークが獲得される。しかしながら、非常にノイズの多い信号か、または無声信号に関して、そのヒストグラムは、更に広いピークと、そして更に大きなフォームファクタαを有しているであろう。ここでは、（図１１におけるヒストグラムＨに近い）符号化されるべき情報源の分布モデルＭｏｄが、少なくとも最初のＭＳＢ平面におけるビット値確率と、どのように関係があるかを理解することができる。
【０１０３】
これらの計算された確率値は、その場合に、例えば、前述の“Witten”等の参考文献“Arithmetic encoding for Data Compression”、“I.H. Witten”、“R.M. Neal”、“J.G. Cleary”著、Communications of the ACM - Computing Practices、Ｖｏｌ．３０、Ｎｏ．６、１９８７年６月、５２０〜５４０頁、において説明されたような、算術符号器（または算術復号器）に与えられ得る。この場合、図１２（それは“Witten”等の文献の図１ｂ（５２２頁）と比較され得る）を参照すると、宣言ｐＭ（ｂＫ−１＝０）＝Ａ、及びｐＭ（ｂＫ−１＝１）＝Ｂは、平面ＰＫ−１（ＭＳＢ）の確率テーブル（それは“Witten”等の文献のテーブルＩ（５２１頁）と比較され得る）を定義する。
【０１０４】
本発明を適用することにより、従って、符号器及び復号器の両方において増設メモリ資源を必要とすると共に実装の柔軟性を制限する、従来技術の要点である前もって確率テーブルをセーブすることを全く必要とせずに、少なくともＭＳＢ平面に関する確率テーブルｐＭ（ｂＫ−１＝０）、ｐＭ（ｂＫ−１＝１）を、直接信号の形からフレーム毎に計算することが可能になる。本発明の要点において、確率の計算は、上述のように、好ましくは信号分布モデルの最初の推定（図５におけるモジュール５０７、及び図６におけるモジュール６０３）によって、直接信号に関して、リアルタイムに行われる。
【０１０５】
値Ａ＝ｐＭ（ｂＫ−１＝０）及びＢ＝ｐＭ（ｂＫ−１＝１）の計算は、上記で“確率テーブル初期化”と呼ばれたものに対応する。この操作は、好ましくは各平面に関して実行される。上述の第１の実施例において、これらの確率は、現在の平面Ｐｋ以外の平面におけるビット値を考慮することなしに、現在の平面Ｐｋに関して計算される。第２の実施例において、これらの値は、“コンテキスト”を定義することによって考慮される。
【０１０６】
実際には、この場合も先と同様に、図１１を参照すると、直接にＭＳＢ平面の後に続く平面において、もし平面のビットが１であったならば、直接に後に続く平面内の同じ位置のビットは、多くの場合、同様に１であることが分かる。もちろん、図１１は、単なる実例として提示されるが、しかし、実際の場合にも、この観察結果を得ることができる。一般的に、もし平面において位置ｉのビットが１であるならば、その場合に、次の平面において同じ位置のビットが同様に１であることは、“最も確からしい”。逆に、（特に音声信号の場合に）信号スペクトルにおけるいくらかの周波数に関連付けられた振幅がほとんど０であることは、通常のことである。従って、もしより高い平面Ｐｋのビットが０であるならば、次の平面Ｐｋ−１における同じ位置のビットが同様に０であることは、“最も確からしい”。その結果、平面内のビットに関連付けられた確率を推定するために、前の平面における同じ位置のビットの値を有利に考慮することができる。平面Ｐｋにおける位置ｉのビット（例えば図１１のＭＳＢ平面における１のビットだけ）に関する観測値に基づいて、次の平面Ｐｋ−１における同じ位置ｉのビット（この平面における同様に１であるビット）に関するコンテキストを定義することによって、この観察結果を利用し得る。
【０１０７】
この原理の使用は、特に算術符号器において行われ、それは、その場合に、以下で説明される実施例において、“コンテキストベース”符号器と呼ばれる。
【０１０８】
それらは、ｋ＜Ｋ−１である場合の平面Ｐｋに関する条件付き確率計算を可能にするモデルに基づいて、ビットプレーン符号化を適用する。上述のビットプレーン符号化は、平面Ｐｋが１つずつ符号化されたと共に、相互に独立しているので、平面Ｐｋの間の共通の情報を利用しない。我々は、ここで、既に符号化された情報を利用する方法を提示する。
【０１０９】
他のビットプレーンとは無関係に、ＭＳＢビットプレーンは、前のケースと同様に、一般化されたガウスモデルに基づいて０及び１の確率を初期化して符号化される。しかしながら、ｋ＜Ｋ−１である場合の平面Ｐｋの符号化は、ここで、前の平面ＰＫ−１、・・・、Ｐｋ＋２、Ｐｋ＋１に関する“コンテキスト”情報の知識を使用する。
【０１１０】
一般的に、確率テーブルは、様々な考え得るコンテキストに関して、従って前の平面から取得された様々な考え得るビット値に関して計算される。
【０１１１】
例えば、この場合も先と同様に、図１２を参照すると、２つの確率テーブル（平面ＰＫ−２のビットが０または１に等しい確率を示す各テーブル）が、平面ＰＫ−２に関して、前の平面ＰＫ−１における考え得るビット値の関数として、従って図１２においてＣで示されたコンテキストの関数として、計算される（０の値に関するテーブル、及び１の値に関するテーブル）。表された例において、平面ＰＫ−１における位置ｉ＝０のビットの値は０であり、従って、そのコンテキストはＣ＝０であると共に、関連する確率テーブルは、値Ａ’及びＢ’によって与えられる。位置ｉ＝１に関して、平面ＰＫ−１における対応するビットの値は１であり、従って、そのコンテキストはＣ＝１であると共に、関連する確率テーブルは、ここでは値Ｃ’及びＤ’によって与えられる。位置ｉ＝２に関して、平面ＰＫ−１における対応するビットの値は０であり、従って、そのコンテキストはＣ＝０であると共に、値Ａ’及びＢ’によって与えられた確率テーブルが再使用される。位置ｉが要素ａｉまたはｙｉのインデックスｉを指定することを思い出す必要がある。図１２において、（もちろん更に上位のビットプレーンがないので）ＭＳＢ平面のコンテキストＣは定義されないことに注意する必要がある。コンピュータ上でこの実施例を実行するために、ＭＳＢ平面のコンテキストは、まるで全て０に等しいように設定される。
【０１１２】
我々は、ここで、どのように平面が符号化されるか、または（区間の限界は図１２において示されるが）確率区間が連続して細分化される方法について、詳細を説明しない。そのような構成要素の記述に関しては、“Witten”等の文書から参照し得る。
【０１１３】
図１３におけるフローチャートは、本発明の第２の実施例における、平面Ｐｋの各ビットに関するコンテキスト判定を伴うビットプレーン符号化の原理を示す。図８におけるフローチャートの構成要素と類似した構成要素は、同じ参照符号によって表示されると共に、再びここでは説明されない。
【０１１４】
もし少なくとも１つの平面が符号化されるべきであるならば（検査のステップ８０５から出るＹの矢印）、各平面に関する様々な考え得るコンテキスト値と関連付けられた確率が推定される（ステップ１３０６）。第２の実施例において、ｋ番目の平面のｉ番目のビットに関して、用語“コンテキスト”は、平面Ｐｋに先行する平面における位置ｉのビットのセットを意味することが理解される。従って、図１０を参照すると、平面Ｐ１における位置７に関して、そのコンテキストは“１”（平面Ｐ２（ＭＳＢ）における位置７のビットの値）であり、一方、平面Ｐ０において、そのコンテキストは、“１１”である（１は平面Ｐ１における位置７のビットの値であり、そして１は平面Ｐ２（ＭＳＢ）における位置７のビットの値である）。
【０１１５】
現在のビットに関してこの方法において定義されたコンテキストによって、その確率は、その場合に、このビットの位置に関して発見されたコンテキストの関数として推定される（ステップ１３０７）。そして、この方法において計算された確率によって、全ての位置が使用されるまで、各平面のビットが符号化される（図１３におけるステップ１３０８）。この場合も先と同様に、各ビットに関するコンテキストを考慮して、この処理は、次の平面に関して繰り返される。このループは、符号化する平面がある限り（検査のステップ８０５から出るＹの矢印）、繰り返される。そうでなければ（検査のステップ８０５から出るＮの矢印）、符号化は終了するか、もしくは、次の信号ブロック（またはフレーム）に関して実行され得る。
【０１１６】
従って、最初に、様々な考え得るコンテキストに関して確率テーブルが計算されると共に、その場合に、コンテキストが分かると、０の値か、または１の値を有する確率が、各ビットに関して推定される。様々な考え得るコンテキストに関して確率テーブル（図１２の例における値Ａ’、Ｂ’、Ｃ’、Ｄ’）を計算する方法は、以下で詳細に説明される。
【０１１７】
コンテキスト自身Ｃｋ（ａ）の確率（ステップ１３０６）は、以下のように計算される。Ｋ−１より下位のビットプレーン（ＭＳＢ平面以外）に関して、コンテキストＣｋ（ａ）は、平面Ｐｋにおけるａｉの２Ｋ−ｋによる商であると定義され、それは、以下の式になる。
【０１１８】
【数２９】
2010537533.tif 000031
【０１１９】
ここで、−Ｍ≦ａ＜Ｍであると共に、全てのｋは、ｋ＜Ｋである。
【０１２０】
平面Ｐｋに関して、考え得るコンテキストの数は、２Ｋ−ｋである。平面Ｐｋに関するコンテキストの様々な考え得る値ｃｋ、ｎは、以下の式のように定義される。
【０１２１】
【数３０】
2010537533.tif 000032
【０１２２】
ここで、０≦ｎ＜２Ｋ−ｋであると共に、全てのｋは、ｋ＜Ｋである。
【０１２３】
従って、第２の実施例において、Ｋ＝３の平面の場合の図１０における例を参照すると、ｋ＝１の平面において、我々は、４つの異なるコンテキスト｛００，０１，１０，１１｝をカウントすると共に、平面Ｐｋにおいてｃｋ、ｎに等しいａのｋ番目のコンテキストを有する確率は、（図１３のステップ１３０６において）以下の式によって与えられる。
【０１２４】
【数３１】
2010537533.tif 000033
【０１２５】
以下のように、ここで、コンテキストＣｋ（ａ）が分かると、図１３のステップ１３０７において、ｋ＜Ｋ−１において０の値を有する条件付き確率が計算される。
【０１２６】
平面Ｐｋの符号化の間、コンテキストの最初の情報（initial knowledge）（位置ｋ＋１からＫ−１までの平面）を利用することが試みられる。ｋ＜Ｋ−１の場合に、コンテキストｃｋ、ｎが分かると、値０を有する条件付き確率は、以下の式によって定義される。
【０１２７】
【数３２】
2010537533.tif 000034
【０１２８】
以下の関係式は、２Ｋ−ｋ個の異なる考え得るコンテキスト値（０、１、００、０１、１０、１１、０００等）に関する、問題となっている全ての確率を決定することを可能にする。
【０１２９】
【数３３】
2010537533.tif 000035
【０１３０】
ｋ＜Ｋ−１の場合に、確率ｐＭ（ｃｋ＝ｃｋ、ｎ）は、以下の関係式によって定義される。
【０１３１】
【数３４】
2010537533.tif 000036
【０１３２】
ｋ＜Ｋ−１の場合に、確率ｐＭ（ｂｋ＝０，ｃｋ＝ｃｋ、ｎ）はどうかというと、これは、以下の関係式によって定義される。
【０１３３】
【数３５】
2010537533.tif 000037
【０１３４】
従って、ｋ＜Ｋ−１の場合に、コンテキストｃｋ、ｎが分かると、ｐＭ（ｂｋ＝０｜ｃｋ＝ｃｋ、ｎ）で示される値０を有する条件付き確率（ステップ１３０７）は、最終的に、以下の関係式によって定義される。
【０１３５】
【数３６】
2010537533.tif 000038
【０１３６】
この場合も先と同様に、平面Ｐ２（ＭＳＢ）に関して全てのコンテキストが０であることが明確である、ｋ＜Ｋ−１の場合の条件付き確率の計算の例が、図１０において提示される。平面Ｐ１に関して、２つの考え得る０もしくは１のコンテキストがカウントされ、一方、平面Ｐ０（ＬＳＢ）に関して、｛００、０１、１０、１１｝である４つの考え得るコンテキストがカウントされると共に、平面Ｐ０に関して、そのコンテキストが“００”である整数は、０及び１である。従って、“００”のコンテキスト（図１０における点線）を有する確率は、以下の式によって与えられる。
【０１３７】
【数３７】
2010537533.tif 000039
【０１３８】
コンテキストが“００”である場合において、平面Ｐ０におけるビットが２進値０を有している唯一の整数は、整数０である。従って、コンテキストが“００”であることが分かると、平面Ｐ０において０に等しいビットを有している確率は、以下の式によって与えられる。
【０１３９】
【数３８】
2010537533.tif 000040
【０１４０】
逆に、コンテキストが“００”であることが分かると、平面Ｐ０において１に等しいビットを有している確率は、以下の式によって与えられる。
【０１４１】
【数３９】
2010537533.tif 000041
【０１４２】
（２ｋ個の考え得るコンテキストを有するＬＳＢ平面を含む）最後の平面に関する確率テーブルの計算は、考慮されるべきコンテキストの数の指数的成長のために時間がかかるということに気付くことになる。我々は、ここから、特に限られた数の考え得るコンテキスト（ここでは２つの考え得るコンテキスト）が与えられる場合における、ｋ＜Ｋ−１場合の条件付き確率の計算を伴う、モデルに基づくビットプレーン毎のコンテキストベースの算術符号化に対応する第３の実施例について説明することになる。これは、ＭＳＢ平面からＬＳＢ平面まで移動すると、各新しい平面において２の倍数で増加する多数のコンテキストの代わりに、むしろ、単一のビット（０または１）に関連付けられた最大数のコンテキストが与えられる、コンテキストの使用を伴う条件付き確率に対応する以前のケースの変形である。
【０１４３】
説明された例において、この最大の数は２であり、そして、以下のように解釈される。
−より上位の平面において同じ位置で符号化されたビットは、全て０に等しく、従って、この位置に関するＭＤＣＴ量子化係数は、当分の間、非有意であるということを、０のコンテキストは示す。
−より上位の平面において同じ位置で既に符号化されたビットの内の少なくとも１つは、１に等しく、それは、この位置の現在の係数が有意であることを意味するということを、１のコンテキストは示す。
【０１４４】
図１４におけるフローチャートは、この、考え得るコンテキストを２つ（ステップ１４０６における“０”または“１”）に限定した、平面Ｐｋの各ビットに関するコンテキストの判定を伴うビットプレーン符号化の原理を示す。図８及び図１３におけるフローチャートにおける構成要素と類似した構成要素は、同じ参照符号によって表示されると共に、再びここでは説明されない。コンテキストの唯一の考え得る値がここでは０または１であるという要点において、ステップ１４０６、１４０７、及び１４０８だけが変更されると共に、それは、実行される符号化（ステップ１４０８）に同様に影響を与える。
【０１４５】
以下は、これらの２つの考え得るコンテキスト値によって、図１４のステップ１４０６において行われる、ｋ＜Ｋ−１の場合の条件付き確率を計算する例である。図１０を参照すると、２つの考え得るコンテキストが０及び１であるこの例が再使用される。平面Ｐ１において、そのコンテキストが“０”である（それは、現在の平面の前の全ての平面、従ってＭＳＢ平面に対応するＰ２に関して値０を有することに対応する）ビットは、整数ａｉ＝０、１、２、及び３のビットである。従って、０に等しいコンテキストを有する確率は、以下の式によって与えられる。
【０１４６】
【数４０】
2010537533.tif 000042
【０１４７】
平面Ｐ０（ＬＳＢ）において、そのコンテキストが“０”（平面Ｐ１及び平面Ｐ２を参照）であるビットは、整数ａｉ＝０、及び１のビットである。０に等しいコンテキストを有する確率は、その場合に、ｐＭ（ｃ０＝０）＝ｐ（ａｉ＝０）＋ｐ（ａｉ＝１）である。
【０１４８】
０に等しいコンテキストを有する確率は、以下のように計算される（図１４におけるステップ１４０６）。コンテキストは、ｋ＜Ｋ−１である（ＭＳＢ平面以外の）平面Ｐｋに関して定義される。
【０１４９】
【数４１】
2010537533.tif 000043
【０１５０】
平面Ｐｋにおいて０に等しいａのｋ番目のコンテキストを有する確率（ステップ１４０６）は、その場合に、以下の形式の再帰的な関係式によって与えられる。
【０１５１】
【数４２】
2010537533.tif 000044
【０１５２】
考え得るコンテキストの２つの選択（図１４におけるステップ１４０７）を伴う、ｋ＜Ｋ−１の場合に０の値を有する条件付き確率の計算は、コンテキストの情報（位置ｋ＋１からＫ−１までの平面における１に等しいビットの存在）を利用することによって行われる。ｋ＜Ｋ−１の場合の条件付き確率（ステップ１４０７）は、その場合に、以下の式のように定義される。
【０１５３】
【数４３】
2010537533.tif 000045
【０１５４】
ここでｃｋは、平面Ｐｋ内のあらゆるビットｂｋに関連付けられたコンテキストを表す確率変数である。
【０１５５】
ｋ＜Ｋ−１の場合の確率ｐＭ（ｃｋ＝０）は、以下の関係式によって与えられる。
【０１５６】
【数４４】
2010537533.tif 000046
【０１５７】
ｋ＜Ｋ−１の場合の確率ｐ（ｂｋ＝０，ｃｋ＝０）に関しては、以下の関係式によって定義される。
【０１５８】
【数４５】
2010537533.tif 000047
【０１５９】
ｋ＜Ｋ−１の場合の条件付き確率は、従って、以下の式によって定義される。
【０１６０】
【数４６】
2010537533.tif 000048
【０１６１】
同様の方法においてｐＭ（ｂｋ＝０｜ｃｋ＝１）を計算することが同様に可能である。
【０１６２】
前述の３つの実施例の内のいずれかに基づく発明は、その場合に、ビットプレーン符号化の効果的な技術になると共に、従来技術より柔軟なこの種類の符号化を与える。実際には、もはや事前に計算された確率テーブル（コンテキスト）を記憶しないことが可能になる。単に符号化／復号化されるべき信号に基づく動的な計算がその場合に有効である。
【０１６３】
本発明は、同様に、図５に示されると共に上述され、そして符号化されるべき信号の分布を推定し、シンボル値の確率を計算するためのモジュール５０７にデータを供給するためのモジュール５０５を備える典型的な符号器のような、本発明の方法を実行するための符号器に関係する。同様に、本発明は、図６に示されると共に上述され、そして信号分布の推定値に基づいてシンボル値の確率を計算するためのモジュール６０３を備える典型的な復号器のような、本発明の方法を実行するための復号器に関係する。特に、このモジュール６０３は、符号化する前の信号の確率密度モデルの特性を示す少なくとも１つのパラメータ（例えばフォームファクタα）を供給されると共に、このパラメータαは、復号器によって符号化された形式で受信され、そして復号化される（図６において、
【数４７】
2010537533.tif 000049
によって示される）。
【０１６４】
同様に、本発明は、そのような符号器またはそのような復号器のメモリに格納されることを意図しているコンピュータプログラムに関係する。そのプログラムは、それが符号器または復号器のプロセッサによって実行される場合に、本発明の方法を実行するための命令を含む。例えば、図８、図９、図１３、または図１４におけるフローチャートは、そのようなコンピュータプログラムの様々なバージョンに関するそれぞれのアルゴリズムを表すことができる。
【０１６５】
もちろん、本発明は、ここで説明された実施例に限定されず、それは、他の変形にまで及ぶ。
【０１６６】
例えば、実際には、算術符号器は、直接シンボルの確率と連携して動作せず、むしろシンボルの全体の頻度と連携して動作する。頻度は、観察された存在の数を乗算された確率に対応するので、上述の発明は、容易に頻度の使用に適応する。この場合も先と同様に、“Witten”等の文献から、このポイントにおける更に多くの詳細に関して参照し得る。従って、上述のように推定された確率を頻度に変換することは差し支えない。
【０１６７】
更に一般的に、シンボルプレーンが上記で説明され、その値はビット値“０”または“１”であった。しかしながら、本発明は、（２を超えるシンボル、例えば３つのシンボル：“０”、“＋１”、“−１”を有する）シンボルプレーン符号化／復号化のアプリケーションにまで及ぶ。“Witten”等の参考文献（テーブルＩ及び図１ｂ）は、どのように２を超えるシンボルと関連付けられた確率を管理するかを示す。従って、本発明は、情報源（符号化／復号化されるべき信号）のモデルに基づいて、少なくとも１つのシンボルプレーン（好ましくは最上位のシンボルプレーン）内のシンボルの確率を評価することを可能にする。
【０１６８】
本発明の原理は、同様に、スタック及びランに関する４つのシンボル（０、１、＋、−）の確率が、（上記の“Oger”等の参考文献において説明されたように）符号化されるべき信号の分布モデル、例えば一般化されたガウスモデルから計算されるスタックラン符号化の場合に対して適用されることができる。この場合に、モデルに関連付けられたパラメータαの値に基づいて、シンボル（０、１、＋、−）の確率を初期化することができる。
【０１６９】
同様に、上記で論じられたように、本発明は、コンテキストベースの算術符号化のコンテキストを最適化することを可能にする。本発明の要点における符号化がコンテキストベースの算術符号化であり得るという事実は別として、例えば上記で引用された“Langdon”等の参考文献において示されたように、それは、（例えばビットレート、情報源、または同じ平面内のビットによってとられた値の関数として）同様に適応でき得る。
【０１７０】
更に一般的に、本発明は、シンボルプレーン符号化におけるシンボルの確率に基づいて、あらゆる種類の符号化（ハフマン符号化または他の符号化）に適用される。従って、本発明は、算術符号化に加えて、他の種類のエントロピー符号化に、更に一般的に適用され得る。
【０１７１】
フォームパラメータの伝送を伴う一般化されたガウスモデルの場合が、単なる実施例の例として上記で説明された。一般化されたガウスモデル以外のモデルが考えられ得る。例えば、固定された確率を備えるモデル（特にラプラシアンモデル）、もしくはパラメータに関するモデル（アルファ−安定（alpha-stable）モデル、混合ガウス（mixed-Gaussian）モデル、または他のモデル）が、同様に、情報源をモデル化するために考察され得る。
【０１７２】
更に一般的に、信号分布をモデル化するのではなく、単に未加工の（モデル化されていない）信号分布に基づいて、符号化における確率テーブルを計算することが可能である。その場合に、これらの確率テーブルを符号化し、復号器が確率テーブルを再び計算する必要はないように、確率テーブルを復号器に送信することができる（図６におけるモジュール６０３の除去、及びフォームファクタαの代わりの確率テーブルの受信）。たとえそうであっても、符号化されたビットストリームにおけるデータの量を制限するために、上述のように、信号分布をモデル化すると共に、モデルの特性を示すいくらかのパラメータ（特にフォームファクタα）だけを復号器に送信することが好ましい。
【符号の説明】
【０１７３】
１００    分析モジュール
１０１    量子化モジュール
１０２    符号化モジュール
１０３    復号化モジュール
１０４    逆量子化モジュール
１０５    合成モジュール
２００    情報源信号を適応させるモジュール
２０１    スカラー量子化モジュール
２０２    シンボルプレーン分解モジュール
２０３    ビットプレーンを符号化し、符号化された値を多重化するためのモジュール
２０４    ビットレートを調整するためのモジュール
２０６    逆多重化及び復号化モジュール
２０７    整数に変換するためのモジュール
５０１    ハイパスフィルタ
５０２    知覚ベースフィルタ処理モジュール
５０３    ＬＰＣ分析及び量子化のためのモジュール
５０４    ＭＤＣＴと周波数整形のためのモジュール
５０５    フォームファクタαを計算するためのモジュール
５０６    ビットレート制御モジュール
５０７    シンボル値の確率を推定するためのモジュール
５０８    ユニフォームスカラー量子化モジュール
５０９    ビットプレーン符号化モジュール
５１０    ノイズレベルの推定と量子化のためのモジュール
５１１    モジュールからの出力を多重化するマルチプレクサ
６０１    受信されたビットストリームを逆多重化するためのモジュール
６０２    ＬＰＣ係数を復号化するためのモジュール
６０３    確率を推定するためのモジュール
６０４    ビットプレーン復号化モジュール
６０５    ノイズレベルを復号化するためのモジュール
６０６    量子化ステップサイズを復号化するためのモジュール
６０７    ノイズ注入モジュール
６０８    低周波数のデエンファシスを行うためのモジュール
６０９    逆ＭＤＣＴ変換モジュール
６１０    逆知覚ベースフィルタ処理モジュール
【図１】
2010537533.tif 000050
【図２】
2010537533.tif 000051
【図３】
2010537533.tif 000052
【図４】
2010537533.tif 000053
【図５】
2010537533.tif 000054
【図６】
2010537533.tif 000055
【図７】
2010537533.tif 000056
【図８】
2010537533.tif 000057
【図９】
2010537533.tif 000058
【図１０】
2010537533.tif 000059
【図１１】
2010537533.tif 000060
【図１２】
2010537533.tif 000061
【図１３】
2010537533.tif 000062
【図１４】
2010537533.tif 000063
【国際調査報告】
2010537533.tif 000064
2010537533.tif 000065
2010537533.tif 000066
2010537533.tif 000067