説明

確率テーブルの動的な計算によるシンボルプレーン符号化/復号化

本発明は、各ビットプレーンを符号化するために“0”または“1”のビットを有する確率のテーブルを使用することを含む、ビットプレーン(MSB、...、LSB)による算術符号化に関係する。本発明によれば、確率テーブルは、各フレーム上の信号(X)の分布(H)に対応する確率密度モデル(Mod)に基づいて、各信号フレームに関して動的に計算される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声信号、画像信号、または、更に一般的にオーディオ信号、及び/またはビデオ信号、または、更に一般的にマルチメディア信号のようなデジタル信号の、それらの保存、及び/またはそれらの伝送のための符号化/復号化に関係する。
【背景技術】
【0002】
我々は、デジタル信号のための基本的な圧縮方法の中で、“エントロピー符号化”とも呼ばれる可逆的な(lossless)圧縮方法(ハフマン符号化、Golomb-Rice符号化、算術符号化)と、スカラーまたはベクトル量子化に基づく不可逆的な(lossy)圧縮方法との間の違いが分かる。
【0003】
図1を参照すると、一般的な圧縮符号器は、典型的に以下の、
−符号化されるべき情報源Sを分析するための分析モジュール100と、
−量子化モジュール101(スカラーまたはベクトル)と、
−量子化モジュール101の後に接続された符号化モジュール102とを備え、
一方、対応する復号器は、
−復号化モジュール103と、
−逆量子化モジュール104と、
−合成モジュール105とを備える。
【0004】
以下の説明において、分析及び合成については論じられない。その後に関連する符号化及び/または復号化が行われる量子化のみが考察される。我々は、ここでは、更に、その後にシンボルプレーンを使用した量子化インデックスの符号化が行われるデータのブロックのスカラー量子化に関心を有している。いくらかの信号圧縮標準(ビットスライス算術符号化(Bit Sliced Arithmetic Coding:BSAC)符号器におけるMPEG−4オーディオの符号化、画像のビットプレーンにおけるJBIG画像の符号化、特にJPEG2000標準を使用する符号化、MPEG−4ビデオの符号化)において使用されるこの符号化技術は、図2において図解される。
【0005】
図2を参照すると、その後にシンボルプレーン符号化が行われるスカラー量子化において、その符号化は、典型的に以下の、
−N≧1の範囲のX=[x・・・x]によって示されたベクトルを供給するために情報源信号Sを適応させるモジュール200と、
−一連の整数値Y=[y・・・y]を定義する量子化されたベクトルを供給するスカラー量子化モジュール201と、
−シンボルが0または1のビットであり得ると共に、k=0,・・・,K−1である値P=[a1,k・・・aN,k]のベクトル、及び信号S=[s・・・s]のベクトルを供給するシンボルプレーン分解モジュール202と、
−ビットプレーンを符号化すると共に、符号化された値を多重化するためのモジュール203と、
−伝送のための使用するビットNbの数に従ってビットレートを調整するためのモジュール204とを含み、
復号化は、
−逆多重化及び復号化モジュール206と、
−ビットエラーがなく、かつビットストリームを切り捨てることがない場合に、
【数1】

であるように、ベクトル
【数2】

を供給するために整数に変換するためのモジュール207とを含む。
【0006】
従って、符号化されるように適応化された信号X=[x・・・x]から、(モジュール201によって実行される)スカラー量子化は、一連の整数値Y=[y・・・y]を生成する。以下のように、(モジュール202によって実行される)ビットプレーンへの分解は、まず、符号と絶対値を分離することを必要とする。
【0007】
【数3】

【0008】
次に、以下のように、絶対値をビット形式に分解することを必要とする。
【0009】
【数4】

【0010】
ここで、
−B(a)は、量子化された要素Yの絶対値aの2進分解のk番目のビットであると共に、
−Kは、値aのセットの分解に関するビットプレーンの総数であり、この数Kは、以下の式によって、定義される。
【0011】
【数5】

【0012】
ここで、[.]は、より高い整数に丸めることを示すと共に、log(0)=−∞である。
【0013】
0の値の符号は定義されないので、前述の規則(y=0に対してs=0)は、(y=0に対してs=1)に変更され得ることに注意が必要である。
【0014】
平面(プレーン)のエントロピー符号化(モジュール203)は、“コンテキストベースの算術(context-based arithmetic)”符号器と呼ばれる符号器によって有利に行われ得る。
【0015】
算術符号器の原理は、“Witten”等の文献“Arithmetic encoding for Data Compression”、“I.H. Witten”、“R.M. Neal”、“J.G. Cleary”著、Communications of the ACM - Computing Practices、Vol.30、No.6、1987年6月、520〜540頁、において説明される。
【0016】
例えば、この“Witten”等の文献のテーブルI(521頁)を参照すると、確率テーブルは、符号化を実行するために前もって定義されなければならないことが分かる。“コンテキストベースの”算術符号器において、シンボル0及び1に関する確率テーブルから取得されたデータは、常に同じであるとは限らないと共に、例えば、それは、(例えば、更に高いビットプレーンにおいて、及び隣接の要素において)既に復号化された近隣のビットの値によって決まり得るコンテキスト(発生状況)の関数として導き出すことができる。コンテキストベースの算術符号器の原理は、特に、“Howard”等の文献、“Arithmetic encoding for Data Compression”、“P.G. Howard”及び“J.S. Vitter”著、IEEE議事録、vol.82、No.6(1994年6月)において説明されている。
【0017】
概して、モジュール203は、最上位ビットの平面から初めて、そして最下位ビットの平面まで続けて、1つずつ、ビットプレーンを符号化する。より上位のビットプレーン、またはより下位のビットプレーンのこの概念は、図3を参照して以下で説明されることになる。i=1,・・・,nである場合に、符号ビットsは、対応する絶対値aが0でない場合にだけ送信される。ビットプレーンの部分的な復号化を可能にするために、復号化されたビット{ai,kk=0,・・・,K−1の内の1つが1に等しいとすぐに、符号ビットsが送信される。
【0018】
符号器から出力されるビットレートは、一般的に可変である。以下の説明において、この可変ビットレートを管理する方法(図2におけるモジュール200及びモジュール204)は、説明されない。モジュール203によって生成されたビットストリームは、次に、(ビットストリームの階層的性質を利用することによって)ビットストリームを切り捨てる可能性があるか、またはビットエラーを導入する可能性があるチャンネル205を介して送信される。
【0019】
復号化において、デマルチプレクサ−復号器(モジュール206)は、ビットプレーン
【数6】

を、1つずつ復元すると共に、送信された符号ビット
【数7】

を復号化する。
【0020】
この復号化された情報は、信号Yを復元すること(モジュール207)を可能にする。
【0021】
もしビットエラーが存在しないと共に、ビットストリームの切り捨てもない場合、もちろん
【数8】

であり、従って、
【数9】

である。
【0022】
明確にするために、この明細書の残りにおいて、ビットエラーはないと仮定される。
【0023】
ビットプレーン符号化の基本的興味は、それが、必然的に、信号の階層的な(もしくは漸進的な)符号化につながることである。復号器によって送信されたビットストリームが受信されると、信号の継続的、そしてますます正確な近似値が復元され得る。
【0024】
N=8の場合のビットプレーン分解の例は、図3において示される。表された例において、ベクトルYは、Y=[−2,+7,+3,0,+1,−3,−6,+5]である。0でない値{yi=1,・・・,Nは、“有意”であると言われている(図3においてVSで表示される。)。符号ビットは、図3において“sgn”によって表示されたベクトルで表される。この場合、我々は、K=3、P=[0,1,1,0,1,1,0,1]、P=[1,1,1,0,0,1,1,0]、P=[0,1,0,0,0,0,1,1]、そしてS=[1,0,0,0,0,1,1,0]を得る。
【0025】
その場合、ベクトルPは、重みkのビットプレーンを表す。最も高いビットプレーンPK−1は、最上位のビットプレーンを表し(“最上位ビット(Most Significant Bits)”なのでMSBによって表される。)、一方、最も低いビットプレーンPが最下位のビットプレーンを表す(“最下位ビット(Least Significant Bits)”なのでLSBによって表される。)。
【0026】
図2におけるモジュール203の動作が、(その後にスカラー量子化が行われる)ビットプレーン毎の算術符号化のフローチャートに対応する図4を参照して、ここで更に詳細に説明される。当業者において知られているように、これは、N次元の多重化を伴う符号化を含む。開始ステップ400の後で、ビットプレーンの総数Kが獲得される(ステップ401)。現在のループインデックスkが減らされて、k=0の場合に処理が終了するように、この現在のインデックスの値は、従って、初めにk=K−1に設定される(ステップ402)。検査のステップ403では、まだk=0の値に到達していないことを確認する。この値がk=0に到達しない限り(Yの矢印)、現在のインデックスkの平面Pが符号化される(ステップ404)。従って、k=K−1である最初のループは、MSB平面に対応する平面PK−1を処理すると共に、k=0である最後のループは、LSB平面に対応する平面Pを処理する。ステップ405において、平面Pに関連付けられた新しい有意の係数の符号が送信される。次のステップ406は、現在のインデックスkの値を減少させる。もしk=0の値に対する平面Pが処理されたならば(検査のステップ403から出るNの矢印)、その処理は終了される(終了ステップ407)か、または、信号(またはフレーム)が提供するデータの新しいブロックによって再開する。
【0027】
符号化は、従って、MSB平面からLSB平面まで、連続するビットプレーンPに関して実行される。更に、更に漸進的な復号化を可能にするために、平面Pをサブベクトルに細分化することが可能であると共に、この細分化は、恐らくは大きさにおいて(1に等しい)単一のユニットのサブベクトルまでずっと続く。
【0028】
その場合に、適応型算術符号化によって絶対値のビットプレーンを符号化し得る。実際には、平面Pは、適応型算術符号化によって、1つずつ(MSB平面からLSB平面までの逐次的方法において、互いに独立して)符号化され得る。平面Pの符号化におけるシンボル(0及び1)の確率の適応化は、同じ平面P内で既に符号化されたビットだけを使用する。適応型算術符号器は、従って、新しい平面Pの符号化が始まるとき、特に、0及び1の確率を1/2(=0.5)の値に初期化することによって再初期化されると共に、同じ平面に関して符号化が進行するので、これらの確率は、0及び1の頻度を更新することによって漸進的に変化すると共に、適応化される。この種類の符号化の詳細な説明は、文献“An introduction to arithmetic coding”、“G.C. Langdon”著、IBM J.Res.Dev.28、2、135〜149頁(1984年3月)において与えられる。
【先行技術文献】
【非特許文献】
【0029】
【非特許文献1】I.H. Witten、R.M. Neal、J.G. Cleary、“Arithmetic encoding for Data Compression”、Communications of the ACM - Computing Practices、Vol.30、No.6、1987年6月、520〜540頁
【非特許文献2】P.G. Howard、J.S. Vitter、“Arithmetic encoding for Data Compression”、IEEE議事録、vol.82、No.6(1994年6月)
【非特許文献3】G.C. Langdon、“An introduction to arithmetic coding”、IBM J.Res.Dev.28、2、135〜149頁(1984年3月)
【非特許文献4】M. Oger、S. Ragot、M. Antonini、“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、ICASSP、2007年4月
【発明の概要】
【発明が解決しようとする課題】
【0030】
更に洗練された符号器は、0及び1の初期頻度を1/2に設定しないが、しかし、いくらかの動作コンテキストに適応した(例えば、ビットレートもしくは符号化されるべき情報源の種類に適応した)、0及び1に関する初期頻度を与える以前にセーブされたテーブルに、確率値を保存する。最良の状態では、従来技術の符号器は、従って、(事前に定義された頻度の値を含む)シンボル確率テーブルの記憶装置を必要とする。更に一般的に、以前にセーブされたテーブルは、通常、ハフマン符号化または算術符号化のようなエントロピー符号化を適用するために必要である。従来技術の方法は、それらが、特別な動作条件(ビットレート、情報源の種類)に適応しなければならない情報を、事前に計算して格納することを必要とするので、従って、あまり柔軟ではない。その結果、そのようなテーブルを生成するために、符号器/復号器を設計する場合に、全ての考え得る状況を予想する必要がある。
【0031】
本発明は、上記の状況を改善することを目的とする。
【課題を解決するための手段】
【0032】
この目的のために、信号のシンボルプレーン圧縮符号化/復号化のために信号を処理する方法が提供されると共に、該方法において、シンボル値の確率が、少なくとも1つの平面に関して決定される。本発明の要点において、これらの確率は、信号分布の推定値から動的に計算される。
【0033】
好ましくは、信号が、符号化の前に量子化されるので、信号分布の可能な限りの最も正確な推定値を得るために、信号分布の推定は、(量子化後の処理された信号の分布の推定値ではなく、)量子化の前に、符号化されるべき信号に関して実行される。
【0034】
第1の実施例において、信号が一連の値を含むので、各値は、複数のシンボルプレーンのそれぞれにおける複数のシンボル値に分解される。確率は、少なくとも1つの平面に関して計算されると共に、各々は、この平面において、所定のシンボルに等しいシンボル値を有する確率に関連している。好ましくは、確率は、少なくとも最上位のシンボル値を表す平面に関して計算される。
【0035】
第2の実施例において、確率は、その上更に、より上位のシンボル値を表す平面から取得されたシンボル値によって定義されるコンテキストを考慮しながら、更に他の平面に関して計算される。
【0036】
より詳しくは、前記一連の値における同じ信号値の位置に関して、現在の平面におけるシンボル値より、より上位のシンボル値を表す平面から取得された各シンボル値は、この現在の平面及びこの位置に関するコンテキスト値を定義する。上記で言及された確率は、その場合に、この現在の平面に関する複数の考え得るコンテキスト値を考慮しながら、この現在の平面に関して計算される。
【0037】
第3の実施例において、好ましくは2つの、限定された数の考え得るコンテキスト値が選択され、それらは、
−より上位のシンボル値を表す平面における少なくとも1つの有意のシンボルの存在を示す第1のコンテキスト値、及び
−より上位のシンボル値を表す平面において有意のシンボルが発見されなかったことを示す第2のコンテキスト値
である。
【0038】
従来技術と異なり、本発明は、従って、動的に平面毎のシンボルの確率(例えば、ビットプレーンに関する0及び1の確率)を計算するために、確率テーブルを全く記憶せずに、その代りに確率テーブルは“オンライン(on line)で”(信号の関数として)計算されること、(例えば一般化されたガウスモデルで表される)符号化/復号化されるべき情報源の確率密度の推定値を使用すること、を提案する。本発明は、従って、符号化(または復号化)されるべき情報源の確率モデルの情報を使用することができると共に、各平面Pにおいてシンボルの確率を初めに推定するために、そうすることができる。
【0039】
実際には、特に符号化されるべき信号のフォームファクタ(αによって月並みに表示される)を計算するために、いくらかの符号器/復号器が既にそのようなモデル化を実装しているので、符号化されるべき情報源のモデルを使用することができる。その場合に、例えば変換符号器において、“Oger”等による文献“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、“M. Oger”、“S. Ragot”、及び“M. Antonini”著、ICASSP、2007年4月、で提示されたスタックラン(stack-run)符号化を使用してフォームファクタαを計算するために、前から存在する信号分布モデルを当てにすることができる。しかしながら、前記文書がいかなる形のシンボルプレーン符号化も全く開示しないことに、注目するべきである。
【図面の簡単な説明】
【0040】
【図1】一般的な圧縮符号器を示す図である。
【図2】信号圧縮標準符号器において使用される符号化技術を示す図である。
【図3】上位または下位のビットプレーンの概念を示す図である。
【図4】ビットプレーンによる算術符号化のフローチャートを示す図である。
【図5】ビットプレーン符号化に関して、符号化されるべき信号の分布モデルを使用する、本発明の要点における符号器の例を示す図である。
【図6】図5における符号器に対して対をなす復号器を示す図である。
【図7】一般化されたガウス分布の確率密度を例証すると共に、確率p(a)を計算するための様々な区間を示す図である。
【図8】上述の第1の実施例による、各平面Pに関する確率テーブルの初期化を伴うビットプレーン符号化のフローチャートを示す図である。
【図9】図8における符号化に対して対をなす復号化のフローチャートを示す図である。
【図10】3つのビットプレーンへの分解及びLSB平面に関するコンテキストベースの符号化の例を示す図である。
【図11】それに対して割り当てられ得る分布モデルMod(点線の曲線)との比較において、高調波信号と関連付けられたビットプレーンを、この信号のヒストグラムHと同様に例証する図である。
【図12】確率テーブルが本発明の方法によって動的に計算されたビットプレーンの(表された例において平面PK−2を符号化するためのコンテキストベースの)算術符号化の原理を例証する図である。
【図13】上述の第2の実施例による、確率テーブルのコンテキストベースの初期化を伴うビットプレーン符号化のためのフローチャートを示す図である。
【図14】上述の第3の実施例による、考え得るコンテキストが2つだけ与えられる場合の確率テーブルのコンテキストベースの初期化を伴うビットプレーン符号化のためのフローチャートを示す図である。
【発明を実施するための形態】
【0041】
本発明の他の特徴及び利点は、以下の詳細な説明及び付属の図面を分析すると明白になるであろう。
【0042】
本発明は、各平面に関するシンボル(例えば0及び1)の最初の確率を推定するために、符号化されるべき情報源の確率分布を利用する、シンボルプレーン符号化/復号化を提案する。この処理は、確率テーブルから動的な情報を提供することによって、エントロピー符号化を最適化することを目標にする。
【0043】
我々は、エントロピー符号化のようなコンテキストベースの算術符号化の場合を考察し得る。本発明の要点における符号化が特に音声信号及び/またはオーディオ信号のための周波数領域符号器の変換係数の量子化に由来するインデックスの損失なしで行われる一例が、以下で説明される。しかしながら、本発明は、等しく、損失がある符号化、特に画像信号またはビデオ信号のような信号の符号化に適用される。
【0044】
図5は、本発明の要点における、ビットプレーン毎のシンボル0またはシンボル1の最初の確率を発見するために符号化されるべき信号分布モデルを使用する符号器の一例を例証する。図5における例において表された符号器の構造は、“Oger”等の文献“Transform audio coding with arithmetic-coded scalar quantization and model-based bit allocation”、“M. Oger”、“S. Ragot”、及び“M. Antonini”著、ICASSP、2007年4月、において説明された従来技術の符号器に非常に近い。
【0045】
特に、この文献において説明された符号器は、引用された文献において、ビットレートを制御する役目を果たすだけであるフォームファクタαを推定するために、信号の分布モデルを決定する。この種類の符号器は、スタックラン(stack-run)符号化技術を使用すると共に、本発明の要点におけるビットプレーン符号化に関係を有していない。
【0046】
たとえそうでも、本発明は、フォームファクタ計算モジュール505(図5)を含む前から存在する構成から有利に利益を得ることができると共に、更に、以下で説明するように、ビットプレーン符号化を実行するためにこのモジュール505を使用することができる。
【0047】
図5を参照すると、表された例における符号器は、以下の、
−ハイパスフィルタ501と、
−知覚ベースフィルタ処理モジュール502と、
−短期の予測パラメータを獲得する、LPC(線形予測符号化)分析及び量子化のためのモジュール503と、
−MDCT(修正離散コサイン変換)と周波数整形(frequency shaping)のためのモジュール504と、
−説明された例において、一般化されたガウスモデルからフォームファクタαを計算するためのモジュール505と、
−特に使用されるビットの数Nbの関数としてビットレートの制御を実行するビットレート制御モジュール506と、
−第1の実施例において、及び他の後の実施例におけるコンテキスト計算において、ビットプレーン符号化モジュール509の確率テーブルを少なくとも初期化するのに役立つ計算を実行するためにモジュール505を利用するモジュール507と、
−ユニフォームスカラー量子化モジュール508と、
−ビットプレーン符号化モジュール509と、
−ノイズレベルの推定と量子化のためのモジュール510と、
−符号化されたデータの保存のため、もしくは後の復号化に対する伝送のために、モジュール503、505、509、及び510からの出力を多重化するマルチプレクサ511とを備える。
【0048】
入力信号x(n)は、50Hz未満の周波数を取り除くために、ハイパスフィルタ処理によってフィルタ処理される(501)。そして、知覚ベースフィルタ処理が、モジュール501によってフィルタ処理された信号に適用され(502)、そして並列に、LPC分析が、モジュール501によってフィルタ処理された信号に適用される(503)。MDCT分析が、知覚ベースフィルタ処理後の信号に適用される(504)。使用される分析は、3GPP標準のAMR−WB+符号器のそれと同じであると考え得る。フォームファクタαが、MDCT変換の係数に関して推定される(505)。特に、一度フォームファクタが推定されれば、所望のビットレートを獲得することに適した量子化ステップサイズqが計算される(506)。この量子化ステップサイズを使用し、このステップサイズによって除算する(割る)図5におけるモジュール512によって、信号のユニフォームスカラー量子化が実行される(508)。この方法において、整数Y(k)の系列が集められて、モジュール509によって、次に符号化される。好ましくは、復号器に注入されるべきノイズの推定値が同様に生成される(モジュール510)。
【0049】
図5において表された例では、符号化は、本発明の要点において、符号化されるべき信号の関数として動的に推定された分布モデルを受けて確率テーブルがリアルタイムに初期化されるビットプレーン符号化を伴う変形によって実行される。MDCT変換の前の符号化の最初の部分(モジュール501から504まで)は、上述の“Oger”等の文献において示された変換符号化のために使用されるスタックラン(stack-run)ベースの方法と同じである。ビットレート制御と同様に、フォームファクタの推定(モジュール505)は、同様に、同じであると考え得る。しかしながら、ここで、符号化モジュール509の初期化において使用されることになる、シンボル0及び1の確率に関するテーブルを推定するために(モジュール507)、モジュールからの情報が、同様に、使用されることになる。そして、参照符号512によって表示された除算モジュールを使用して、ユニフォームスカラー量子化が適用される(モジュール508)。量子化は、同様に、“Oger”等の文献において説明された量子化と同じであると考え得るが、しかし、ここでは、上述のように、(モジュール505によって定義される)モデルに従って確率テーブルの初期化が行われるビットプレーン符号化(モジュール509)が後に続いている。この場合も先と同様に、“Oger”等の参考文献におけるノイズレベルの推定と同じであると考え得る、ノイズレベルの推定が行われる(モジュール510)。そして、符号器のパラメータが、マルチプレクサ511を通って復号器に送られる。
【0050】
図6を参照すると、対をなす復号器は、
−図5の符号器から受信されたビットストリームを逆多重化するためのモジュール601と、
−LPC係数を復号化するためのモジュール602と、
−図5のモジュール505によって定義されたモデル
【数10】

に基づいて確率を推定するためのモジュール603と、
−量子化ステップサイズ
【数11】

を復号化するためのモジュール606と、
−復号化された量子化ステップサイズの値を使用して、ノイズレベル
【数12】

を復号化するためのモジュール605と、
−復号化された量子化ステップサイズの値を使用して、整数
【数13】

の復号化されたベクトルを供給するために、推定された確率(モジュール603)を受信するビットプレーン復号化モジュール604と、
−ノイズ注入モジュール607と、
−変換領域において表された復号化されたベクトル
【数14】

を発見するために低周波数のデエンファシスを行うためのモジュール608と、
−逆MDCT変換モジュール609と、
−通信における損失または切り捨てがない場合には図5の元の信号x(n)に対応する信号
【数15】

を発見するための、復号化されたLPC係数(モジュール602)に基づく逆知覚ベースフィルタ処理モジュール610とを備え得る。
【0051】
この場合も先と同様に、図5を参照すると、ビットの数が、利用可能なビット量より少ないか、もしくは利用可能なビット量に等しい状態を維持するように、符号化によって使用されるビットの数Nbは、量子化ステップサイズの値を修正する(もしくは適応させる)ために、ビット割り当てモジュールに送られる。最適な量子化ステップサイズqoptを獲得するために、MDCTスペクトルの符号化は、従って、一般的に10回から20回の反復するビットレート制御ループにおいて実行される。更に詳しくは、最初の量子化ステップサイズ、すなわち最適な量子化ステップサイズqoptの決定に基づく最初の反復に関する量子化ステップサイズの値は、一般化されたガウスモデルを決定するためにモジュール505によって供給されたフォームファクタαから推定される。
【0052】
このモジュール505の動作は、以下で更に詳細に説明される。
【0053】
従来の符号化と異なり、この“モデルに基づく(モデルベースの)”(確率的な)符号化は、直接的ではなく、確率モデルに基づいて情報源を定量化して符号化することから構成される。
【0054】
図11を参照すると、振幅(A(MDCT))における変化が、量子化されて符号化されるべき信号(Xによって表され、従って要素xのセットに対応する)に関して表される。この信号Xは、例えば図5のモジュール504によって供給され得ると共に、その結果、周波数(freq)の関数であるMDCT信号に対応する。Yによって表されると共に、要素yの系列に対応する信号を(図5のモジュール508からの出力として)獲得するために、信号Xは、量子化ステップサイズqによって量子化されることが意図される、ということを思い出すことになる。これらの要素yの符号及び絶対値aが決定されると共に、これらの絶対値aは、図11に表されたMSB・・・LSBビットプレーンに分解される。
【0055】
更に詳しくは、信号Xの分布に対応するヒストグラムH(図11における右のグラフ)を獲得するために:
−信号Xの要素xが0に等しい全ての存在が“カウント”されると共に、獲得された数は、0の値のx軸におけるグラフのy軸(Hist)上に示され、
−そして、信号Xの要素xが1に等しい全ての存在が“カウント”されると共に、獲得された数は、1の値のx軸におけるy軸上に示され、
更に、それに続く値2、3等、そして−1、−2、−3等に対して、ヒストグラムが同様に示される。その結果、図11における参照符号Val(x)(右のグラフのx軸)は、信号Xが仮定し得る全ての可能な値を示す。
【0056】
次に、このヒストグラムHは、形の上では例えばガウス分布であり得るモデルMod(点線)によってモデル化される。ここで、図7を参照すると、(参照符号Val(a)が要素aの各絶対値が仮定し得る様々な考え得る値を示す場合に、Val(x)からVal(a)に対する)x軸の値の目盛りの単純な変更の後で、信号Xの分布Hは、最終的に(確率密度関数にちなんでp.d.fで指定された)確率密度モデルで表され得る。
【0057】
図7は、有利に選択され得る特別なモデルである、代表的な一般化されたガウスの確率密度を例証する。我々は、(fαによって表示される)以下の数式をそれに与える。
【0058】
0を中心とすると共にσ標準偏差の一般化されたガウス情報源zの確率密度は、以下の式で表される。
【0059】
【数16】

【0060】
ここで、αは指数関数(図7)の形状を表現するフォームファクタであり、パラメータA(α)及びB(α)は、以下の式で表される。
【0061】
【数17】

【0062】
ここで、Γは、以下の式のように定義されたガンマ関数である。
【0063】
【数18】

【0064】
従って、情報源(符号化されるべき信号)は、一般化されたガウス変数の無作為抽出の結果としてモデル化される。この一般化されたガウスモデルは、その場合に、修正離散コサイン変換(MDCT)領域において、符号化されるべきスペクトルをモデル化するために有利に使用され得る。モデルの特性を示すフォームファクタαの値は、このモデルから取り出すことができる。量子化ステップサイズqを計算するために、図5におけるモジュール505のようなモジュールを統合するいくらかの現存する符号器において、符号化されるべきスペクトルに基づいて、有利に、各信号ブロック(フレーム)に関するフォームファクタαが既に推定されていることを思い出す必要がある。
【0065】
本発明の要点において、(特にフォームファクタαに通じ得る)分布モデルの推定は、同様に、平面毎のシンボル値の確率を計算することを可能にする。この手法は、以下で説明される。
【0066】
この場合も先と同様に、図7を参照すると、N個の考え得る値(図7においてVal(a)によって表示される)の中の要素値aを有する確率p(a)の推定は、以下の計算に基づいている。
【0067】
【数19】

【0068】
図7は、同様に、確率p(a)を計算するための様々な区間を例証する。一般化されたガウス分布が対称性を有するので、既に、p(a)=p(−a)であることが理解され得る。同様に、(要素xから要素y(またはa)を獲得するために)ステップサイズqのユニフォームスカラー量子化が使用されるので、それらの区間が規則的である点に注意が必要である。同様に、要素aの最大値が高くなるほど、関連した確率p(a)が低くなる点に注意が必要である。
【0069】
確率p(a)の計算は、従来の積分法によって実行され得る。好ましい実施例において、適用することが簡単である“台形”法("trapezoidal" method)が使用される。好ましくは、前述の方程式における積分を計算するための量子化ステップサイズがq/σになるように、標準偏差の値αは、1に正規化される。信号の動特性の変化の問題が従って消去され、そして、我々はフォームファクタの値が何であろうと単位分散の中央の信号源に戻されるので、この動作は、積分の更に効果的な計算を可能にする。
【0070】
3つの実施例が、確率p(a)のこれらの計算に基づいて、ビットプレーン毎にシンボル0及び1の確率を推定するために、以下で提示される。
【0071】
第1の実施例において、各ビットプレーンPに関して0または1のビットを有する確率の推定を行うと共に、従って、上記で参照されたものを最初の確率テーブルと定義する。これらのテーブルは、図12を参照して以下で説明されることになる。
【0072】
第2の実施例において、既に符号化されたと共に前の平面において同じ位置にあるビット(これらのビットは従ってコンテキストを定義する)の関数として0または1の条件付き確率の推定を行う。
【0073】
第3の実施例において、2つ(のコンテキスト“有意”または“非有意”)に限定された考え得るコンテキスト値の数の関数として条件付き確率の推定を行う。
【0074】
最新技術において、平面Pにおける0及び1の最初の確率は、値1/2=0.5に設定されること、もしくは、最良の状態では、テーブルに前もってセーブされることを思い出すことになる。しかしながら、実際には、各平面における0及び1の確率は、1/2と全く異なり得る値を仮定し得ると共に、より一般的には、1つの信号フレームから次の信号フレームまで、例えば以下で説明されるような信号内の発声の度合いに応じて非常に異なり得る。
【0075】
図8におけるフローチャートは、モデルに基づいている各平面Pに関する確率テーブルの初期化を伴う、第1の実施例によるビットプレーン符号化の原理を示す。フォームファクタα及び標準偏差σであるモデルのパラメータが最初に推定される(開始ステップ800後のステップ801)。そして、例えば図5において表されたファクタαの値から、スカラー量子化ステップサイズqが決定される(ステップ802)。パラメータσ、α、及びqから、上述のように、要素aの確率が推定される(ステップ803)。図4を参照して説明された原理と類似した原理を用いて、K−1から0まで減らされる(ステップ808)ループインデックスkの現在の値をステップ805において検査することによって、符号化されるべきビットプレーンが残っているかどうかが確認される。次に、各平面において0または1のビットを有する確率が推定される(ステップ806)と共に、そして確率に関するこの情報を用いてこの平面の符号化が実行される(ステップ807)。インデックスkが正であるか、もしくは0である限り(符号化するべき平面がある限り)、このループは繰り返される。そうでなければ、その処理は終了する(終了ステップ809)か、もしくは、符号化されるべき次の信号ブロック(またはフレーム)に関して再開され得る。
【0076】
図9を参照すると、復号化において、開始ステップ900の後で、符号化において使用された分布モデルの特性を示すパラメータ
【数20】

が復号化される。そして、このモデルによって、要素aに関連付けられた確率が推定される(ステップ902)。次に、初めにK−1に設定された(ステップ903)現在のループインデックスkを減らす(ステップ907)ループが適用される。インデックスkが正数である限り(検査のステップ904から出るYの矢印)、更に能率的に各平面Pを復号化する(ステップ906)ために、各平面Pにおける0及び1の確率が推定される(ステップ905)。そうでなければ(検査のステップ904から出力されたNの矢印に対応する0以下のk)、他の平面が符号化される必要はないと共に、その処理は終了し得る(終了ステップ908)か、もしくは、符号化されるべき次のブロック(またはフレーム)に関して再開される
【0077】
我々は、上記によって、要素aの値に関連付けられた確率がどのように計算されるかを理解した。我々は、ここから、各平面Pに関して、与えられたシンボルに関連付けられた確率の計算(図8におけるステップ806及び図9におけるステップ905)が、どのようにこれに起因し得るかを説明することになる。以下の方程式を簡単にするために、要素aと関連付けられた確率p(a)は、以下ではp(a)によって表示される。
【0078】
平面Pにおいて値0を獲得する確率は、この場合も先と同様に、説明された例における一般化されたガウスモデルに対応する確率モデルから計算され得る。要素aの2進分解において0に等しいk番目のビットを有する確率(従って平面Pにおける)は、次式で与えられる。
【0079】
【数21】

【0080】
それは、方程式を書く際の利便性のために、以下に示すように短縮化される。
【0081】
【数22】

【0082】
平面Pにシンボル0を有する確率を与える関係式は、その場合に、以下のようになる。
【0083】
【数23】

【0084】
ここで、それぞれbとMは、
−bは、平面P内のあらゆるビットを表す確率変数(random variable)であり、
−Mは、K個の平面内の存在し得る、考え得る最も大きな絶対値を有する整数であり、M=2−1である。
【0085】
これにより、我々は、確率の表現が平面Kの総数に依存していると共に、従って符号化され得る整数の数に依存していることを理解する。実際には、ここでは、符号化された平面の数がビットストリームに記録されると共に、従って、符号化において、特に平面Pの算術符号化の前に利用されたのと同様に、復号化においてこのデータが利用可能であると仮定されている。a≦Mであることを知って、我々は、従って条件付き確率を得る。
【0086】
確率p(a≦M)は、以下の式によって定義される。
【0087】
【数24】

【0088】
確率p(b=0,a≦M)は、以下の式によって定義される。
【0089】
【数25】

【0090】
方程式を簡単に書くために、値p(b=0|a≦M)(またはp(b=0|a≦M)は、以下の“p(b=0)”のように書かれる。
【0091】
その場合に、平面Pにおいて値0を有する確率(ステップ806)に関して、以下の式を獲得する。
【0092】
【数26】

【0093】
これにより、我々は、確率p(a)(またはp(a))が、図8のステップ803及び図9のステップ902における前の計算の正当性を証明するこの最後の方程式に関連していることを理解する。
【0094】
ビットプレーン符号化のそれ自身の技術は、実質的には従来技術と比べると変わらないままである。しかしながら、本質的な差異は、1/2のデフォルトの初期設定値、またはビットレートまたは情報源に依存して以前にセーブされた初期設定値を選択する代りに、上記で与えられた値p(B(a)=0)に対する0の確率を初期化することに存在する。
【0095】
(b=1)である、値1を有する確率を獲得するには、p(b=1)+p(b=0)=1の形の補足的な関係式を単に利用する。
【0096】
図10は、K=3の平面から取得され得る、様々な値(a=0,1,2,3,・・・,7)の例を示す。従って、平面P(MSB)に関して、0の値を有するビットは、整数0、1、2、及び3(実線)に対応すると共に、従って、MSB平面において0の値を有する確率は、上述の最後の方程式を用いて、以下の式によって与えられる。
【0097】
【数27】

【0098】
同様に、平面Pに関して、0の値を有するビットは、整数0、1、4、及び5に対応すると共に、以下の式によって与えられる。
【0099】
【数28】

【0100】
その他の平面も同様になる。
【0101】
我々は、ここから、図11に戻って、これらの確率計算の結果が表すものについて説明することになる。この図において、全く実例となる目的のために、我々は、高調波(または高い音色)の特性を有するスペクトル信号Xを示した。従って、MDCT信号の振幅(その絶対値)は、ほんの少しの連続した周波数において大きく(これらの周波数に関して上位のビットは1の値を有している)、一方、他の周波数に関連付けられた振幅は、比較的低い(上位のビットは0の値を維持している)。その結果、MSB平面、及び、直接後続する平面または複数の平面は、1のビットをほとんど有していない。この信号の一般的な形に関して、小さな値のフォームファクタα(0.5未満)が求められ得ると共に、MSB平面、及び直接にそれの後に続く平面に関して、0のビットに関する値を獲得する確率は高い(1に近い)。しかしながら、最下位ビットのLSB平面、及び直接にそれに先行する平面は、非常に分かり易く説明すると、ノイズ変動に従って、1と同数の0を含むと共に、0の値を有するビットを発見する確率は、その場合に、平均値になる(0.5に近い)。
【0102】
もし信号が高調波でなく、そして更に多くのノイズを有するならば(例えば無声の音声信号)、MSB平面において0のビットを発見する確率は、更に低くなることになる(0.5に近づく)。この観測は、“Oger”等の参考文献(図1及びそのコメント)において説明される。従って、この“Oger”等の参考文献において説明されたように、もし図11の信号がヒストグラムの形で描かれるならば、(図11においてHによって示された)真中の高さにおける幅が低い値を有する(フォームファクタαを与える)狭いピークが獲得される。しかしながら、非常にノイズの多い信号か、または無声信号に関して、そのヒストグラムは、更に広いピークと、そして更に大きなフォームファクタαを有しているであろう。ここでは、(図11におけるヒストグラムHに近い)符号化されるべき情報源の分布モデルModが、少なくとも最初のMSB平面におけるビット値確率と、どのように関係があるかを理解することができる。
【0103】
これらの計算された確率値は、その場合に、例えば、前述の“Witten”等の参考文献“Arithmetic encoding for Data Compression”、“I.H. Witten”、“R.M. Neal”、“J.G. Cleary”著、Communications of the ACM - Computing Practices、Vol.30、No.6、1987年6月、520〜540頁、において説明されたような、算術符号器(または算術復号器)に与えられ得る。この場合、図12(それは“Witten”等の文献の図1b(522頁)と比較され得る)を参照すると、宣言p(bK−1=0)=A、及びp(bK−1=1)=Bは、平面PK−1(MSB)の確率テーブル(それは“Witten”等の文献のテーブルI(521頁)と比較され得る)を定義する。
【0104】
本発明を適用することにより、従って、符号器及び復号器の両方において増設メモリ資源を必要とすると共に実装の柔軟性を制限する、従来技術の要点である前もって確率テーブルをセーブすることを全く必要とせずに、少なくともMSB平面に関する確率テーブルp(bK−1=0)、p(bK−1=1)を、直接信号の形からフレーム毎に計算することが可能になる。本発明の要点において、確率の計算は、上述のように、好ましくは信号分布モデルの最初の推定(図5におけるモジュール507、及び図6におけるモジュール603)によって、直接信号に関して、リアルタイムに行われる。
【0105】
値A=p(bK−1=0)及びB=p(bK−1=1)の計算は、上記で“確率テーブル初期化”と呼ばれたものに対応する。この操作は、好ましくは各平面に関して実行される。上述の第1の実施例において、これらの確率は、現在の平面P以外の平面におけるビット値を考慮することなしに、現在の平面Pに関して計算される。第2の実施例において、これらの値は、“コンテキスト”を定義することによって考慮される。
【0106】
実際には、この場合も先と同様に、図11を参照すると、直接にMSB平面の後に続く平面において、もし平面のビットが1であったならば、直接に後に続く平面内の同じ位置のビットは、多くの場合、同様に1であることが分かる。もちろん、図11は、単なる実例として提示されるが、しかし、実際の場合にも、この観察結果を得ることができる。一般的に、もし平面において位置iのビットが1であるならば、その場合に、次の平面において同じ位置のビットが同様に1であることは、“最も確からしい”。逆に、(特に音声信号の場合に)信号スペクトルにおけるいくらかの周波数に関連付けられた振幅がほとんど0であることは、通常のことである。従って、もしより高い平面Pのビットが0であるならば、次の平面Pk−1における同じ位置のビットが同様に0であることは、“最も確からしい”。その結果、平面内のビットに関連付けられた確率を推定するために、前の平面における同じ位置のビットの値を有利に考慮することができる。平面Pにおける位置iのビット(例えば図11のMSB平面における1のビットだけ)に関する観測値に基づいて、次の平面Pk−1における同じ位置iのビット(この平面における同様に1であるビット)に関するコンテキストを定義することによって、この観察結果を利用し得る。
【0107】
この原理の使用は、特に算術符号器において行われ、それは、その場合に、以下で説明される実施例において、“コンテキストベース”符号器と呼ばれる。
【0108】
それらは、k<K−1である場合の平面Pに関する条件付き確率計算を可能にするモデルに基づいて、ビットプレーン符号化を適用する。上述のビットプレーン符号化は、平面Pが1つずつ符号化されたと共に、相互に独立しているので、平面Pの間の共通の情報を利用しない。我々は、ここで、既に符号化された情報を利用する方法を提示する。
【0109】
他のビットプレーンとは無関係に、MSBビットプレーンは、前のケースと同様に、一般化されたガウスモデルに基づいて0及び1の確率を初期化して符号化される。しかしながら、k<K−1である場合の平面Pの符号化は、ここで、前の平面PK−1、・・・、Pk+2、Pk+1に関する“コンテキスト”情報の知識を使用する。
【0110】
一般的に、確率テーブルは、様々な考え得るコンテキストに関して、従って前の平面から取得された様々な考え得るビット値に関して計算される。
【0111】
例えば、この場合も先と同様に、図12を参照すると、2つの確率テーブル(平面PK−2のビットが0または1に等しい確率を示す各テーブル)が、平面PK−2に関して、前の平面PK−1における考え得るビット値の関数として、従って図12においてCで示されたコンテキストの関数として、計算される(0の値に関するテーブル、及び1の値に関するテーブル)。表された例において、平面PK−1における位置i=0のビットの値は0であり、従って、そのコンテキストはC=0であると共に、関連する確率テーブルは、値A’及びB’によって与えられる。位置i=1に関して、平面PK−1における対応するビットの値は1であり、従って、そのコンテキストはC=1であると共に、関連する確率テーブルは、ここでは値C’及びD’によって与えられる。位置i=2に関して、平面PK−1における対応するビットの値は0であり、従って、そのコンテキストはC=0であると共に、値A’及びB’によって与えられた確率テーブルが再使用される。位置iが要素aまたはyのインデックスiを指定することを思い出す必要がある。図12において、(もちろん更に上位のビットプレーンがないので)MSB平面のコンテキストCは定義されないことに注意する必要がある。コンピュータ上でこの実施例を実行するために、MSB平面のコンテキストは、まるで全て0に等しいように設定される。
【0112】
我々は、ここで、どのように平面が符号化されるか、または(区間の限界は図12において示されるが)確率区間が連続して細分化される方法について、詳細を説明しない。そのような構成要素の記述に関しては、“Witten”等の文書から参照し得る。
【0113】
図13におけるフローチャートは、本発明の第2の実施例における、平面Pの各ビットに関するコンテキスト判定を伴うビットプレーン符号化の原理を示す。図8におけるフローチャートの構成要素と類似した構成要素は、同じ参照符号によって表示されると共に、再びここでは説明されない。
【0114】
もし少なくとも1つの平面が符号化されるべきであるならば(検査のステップ805から出るYの矢印)、各平面に関する様々な考え得るコンテキスト値と関連付けられた確率が推定される(ステップ1306)。第2の実施例において、k番目の平面のi番目のビットに関して、用語“コンテキスト”は、平面Pに先行する平面における位置iのビットのセットを意味することが理解される。従って、図10を参照すると、平面Pにおける位置7に関して、そのコンテキストは“1”(平面P(MSB)における位置7のビットの値)であり、一方、平面Pにおいて、そのコンテキストは、“11”である(1は平面Pにおける位置7のビットの値であり、そして1は平面P(MSB)における位置7のビットの値である)。
【0115】
現在のビットに関してこの方法において定義されたコンテキストによって、その確率は、その場合に、このビットの位置に関して発見されたコンテキストの関数として推定される(ステップ1307)。そして、この方法において計算された確率によって、全ての位置が使用されるまで、各平面のビットが符号化される(図13におけるステップ1308)。この場合も先と同様に、各ビットに関するコンテキストを考慮して、この処理は、次の平面に関して繰り返される。このループは、符号化する平面がある限り(検査のステップ805から出るYの矢印)、繰り返される。そうでなければ(検査のステップ805から出るNの矢印)、符号化は終了するか、もしくは、次の信号ブロック(またはフレーム)に関して実行され得る。
【0116】
従って、最初に、様々な考え得るコンテキストに関して確率テーブルが計算されると共に、その場合に、コンテキストが分かると、0の値か、または1の値を有する確率が、各ビットに関して推定される。様々な考え得るコンテキストに関して確率テーブル(図12の例における値A’、B’、C’、D’)を計算する方法は、以下で詳細に説明される。
【0117】
コンテキスト自身C(a)の確率(ステップ1306)は、以下のように計算される。K−1より下位のビットプレーン(MSB平面以外)に関して、コンテキストC(a)は、平面Pにおけるaの2K−kによる商であると定義され、それは、以下の式になる。
【0118】
【数29】

【0119】
ここで、−M≦a<Mであると共に、全てのkは、k<Kである。
【0120】
平面Pに関して、考え得るコンテキストの数は、2K−kである。平面Pに関するコンテキストの様々な考え得る値ck、nは、以下の式のように定義される。
【0121】
【数30】

【0122】
ここで、0≦n<2K−kであると共に、全てのkは、k<Kである。
【0123】
従って、第2の実施例において、K=3の平面の場合の図10における例を参照すると、k=1の平面において、我々は、4つの異なるコンテキスト{00,01,10,11}をカウントすると共に、平面Pにおいてck、nに等しいaのk番目のコンテキストを有する確率は、(図13のステップ1306において)以下の式によって与えられる。
【0124】
【数31】

【0125】
以下のように、ここで、コンテキストC(a)が分かると、図13のステップ1307において、k<K−1において0の値を有する条件付き確率が計算される。
【0126】
平面Pの符号化の間、コンテキストの最初の情報(initial knowledge)(位置k+1からK−1までの平面)を利用することが試みられる。k<K−1の場合に、コンテキストck、nが分かると、値0を有する条件付き確率は、以下の式によって定義される。
【0127】
【数32】

【0128】
以下の関係式は、2K−k個の異なる考え得るコンテキスト値(0、1、00、01、10、11、000等)に関する、問題となっている全ての確率を決定することを可能にする。
【0129】
【数33】

【0130】
k<K−1の場合に、確率p(c=ck、n)は、以下の関係式によって定義される。
【0131】
【数34】

【0132】
k<K−1の場合に、確率p(b=0,c=ck、n)はどうかというと、これは、以下の関係式によって定義される。
【0133】
【数35】

【0134】
従って、k<K−1の場合に、コンテキストck、nが分かると、p(b=0|c=ck、n)で示される値0を有する条件付き確率(ステップ1307)は、最終的に、以下の関係式によって定義される。
【0135】
【数36】

【0136】
この場合も先と同様に、平面P(MSB)に関して全てのコンテキストが0であることが明確である、k<K−1の場合の条件付き確率の計算の例が、図10において提示される。平面Pに関して、2つの考え得る0もしくは1のコンテキストがカウントされ、一方、平面P(LSB)に関して、{00、01、10、11}である4つの考え得るコンテキストがカウントされると共に、平面Pに関して、そのコンテキストが“00”である整数は、0及び1である。従って、“00”のコンテキスト(図10における点線)を有する確率は、以下の式によって与えられる。
【0137】
【数37】

【0138】
コンテキストが“00”である場合において、平面Pにおけるビットが2進値0を有している唯一の整数は、整数0である。従って、コンテキストが“00”であることが分かると、平面Pにおいて0に等しいビットを有している確率は、以下の式によって与えられる。
【0139】
【数38】

【0140】
逆に、コンテキストが“00”であることが分かると、平面Pにおいて1に等しいビットを有している確率は、以下の式によって与えられる。
【0141】
【数39】

【0142】
(2個の考え得るコンテキストを有するLSB平面を含む)最後の平面に関する確率テーブルの計算は、考慮されるべきコンテキストの数の指数的成長のために時間がかかるということに気付くことになる。我々は、ここから、特に限られた数の考え得るコンテキスト(ここでは2つの考え得るコンテキスト)が与えられる場合における、k<K−1場合の条件付き確率の計算を伴う、モデルに基づくビットプレーン毎のコンテキストベースの算術符号化に対応する第3の実施例について説明することになる。これは、MSB平面からLSB平面まで移動すると、各新しい平面において2の倍数で増加する多数のコンテキストの代わりに、むしろ、単一のビット(0または1)に関連付けられた最大数のコンテキストが与えられる、コンテキストの使用を伴う条件付き確率に対応する以前のケースの変形である。
【0143】
説明された例において、この最大の数は2であり、そして、以下のように解釈される。
−より上位の平面において同じ位置で符号化されたビットは、全て0に等しく、従って、この位置に関するMDCT量子化係数は、当分の間、非有意であるということを、0のコンテキストは示す。
−より上位の平面において同じ位置で既に符号化されたビットの内の少なくとも1つは、1に等しく、それは、この位置の現在の係数が有意であることを意味するということを、1のコンテキストは示す。
【0144】
図14におけるフローチャートは、この、考え得るコンテキストを2つ(ステップ1406における“0”または“1”)に限定した、平面Pの各ビットに関するコンテキストの判定を伴うビットプレーン符号化の原理を示す。図8及び図13におけるフローチャートにおける構成要素と類似した構成要素は、同じ参照符号によって表示されると共に、再びここでは説明されない。コンテキストの唯一の考え得る値がここでは0または1であるという要点において、ステップ1406、1407、及び1408だけが変更されると共に、それは、実行される符号化(ステップ1408)に同様に影響を与える。
【0145】
以下は、これらの2つの考え得るコンテキスト値によって、図14のステップ1406において行われる、k<K−1の場合の条件付き確率を計算する例である。図10を参照すると、2つの考え得るコンテキストが0及び1であるこの例が再使用される。平面Pにおいて、そのコンテキストが“0”である(それは、現在の平面の前の全ての平面、従ってMSB平面に対応するPに関して値0を有することに対応する)ビットは、整数a=0、1、2、及び3のビットである。従って、0に等しいコンテキストを有する確率は、以下の式によって与えられる。
【0146】
【数40】

【0147】
平面P(LSB)において、そのコンテキストが“0”(平面P及び平面Pを参照)であるビットは、整数a=0、及び1のビットである。0に等しいコンテキストを有する確率は、その場合に、p(c=0)=p(a=0)+p(a=1)である。
【0148】
0に等しいコンテキストを有する確率は、以下のように計算される(図14におけるステップ1406)。コンテキストは、k<K−1である(MSB平面以外の)平面Pに関して定義される。
【0149】
【数41】

【0150】
平面Pにおいて0に等しいaのk番目のコンテキストを有する確率(ステップ1406)は、その場合に、以下の形式の再帰的な関係式によって与えられる。
【0151】
【数42】

【0152】
考え得るコンテキストの2つの選択(図14におけるステップ1407)を伴う、k<K−1の場合に0の値を有する条件付き確率の計算は、コンテキストの情報(位置k+1からK−1までの平面における1に等しいビットの存在)を利用することによって行われる。k<K−1の場合の条件付き確率(ステップ1407)は、その場合に、以下の式のように定義される。
【0153】
【数43】

【0154】
ここでcは、平面P内のあらゆるビットbに関連付けられたコンテキストを表す確率変数である。
【0155】
k<K−1の場合の確率p(c=0)は、以下の関係式によって与えられる。
【0156】
【数44】

【0157】
k<K−1の場合の確率p(b=0,c=0)に関しては、以下の関係式によって定義される。
【0158】
【数45】

【0159】
k<K−1の場合の条件付き確率は、従って、以下の式によって定義される。
【0160】
【数46】

【0161】
同様の方法においてp(b=0|c=1)を計算することが同様に可能である。
【0162】
前述の3つの実施例の内のいずれかに基づく発明は、その場合に、ビットプレーン符号化の効果的な技術になると共に、従来技術より柔軟なこの種類の符号化を与える。実際には、もはや事前に計算された確率テーブル(コンテキスト)を記憶しないことが可能になる。単に符号化/復号化されるべき信号に基づく動的な計算がその場合に有効である。
【0163】
本発明は、同様に、図5に示されると共に上述され、そして符号化されるべき信号の分布を推定し、シンボル値の確率を計算するためのモジュール507にデータを供給するためのモジュール505を備える典型的な符号器のような、本発明の方法を実行するための符号器に関係する。同様に、本発明は、図6に示されると共に上述され、そして信号分布の推定値に基づいてシンボル値の確率を計算するためのモジュール603を備える典型的な復号器のような、本発明の方法を実行するための復号器に関係する。特に、このモジュール603は、符号化する前の信号の確率密度モデルの特性を示す少なくとも1つのパラメータ(例えばフォームファクタα)を供給されると共に、このパラメータαは、復号器によって符号化された形式で受信され、そして復号化される(図6において、
【数47】

によって示される)。
【0164】
同様に、本発明は、そのような符号器またはそのような復号器のメモリに格納されることを意図しているコンピュータプログラムに関係する。そのプログラムは、それが符号器または復号器のプロセッサによって実行される場合に、本発明の方法を実行するための命令を含む。例えば、図8、図9、図13、または図14におけるフローチャートは、そのようなコンピュータプログラムの様々なバージョンに関するそれぞれのアルゴリズムを表すことができる。
【0165】
もちろん、本発明は、ここで説明された実施例に限定されず、それは、他の変形にまで及ぶ。
【0166】
例えば、実際には、算術符号器は、直接シンボルの確率と連携して動作せず、むしろシンボルの全体の頻度と連携して動作する。頻度は、観察された存在の数を乗算された確率に対応するので、上述の発明は、容易に頻度の使用に適応する。この場合も先と同様に、“Witten”等の文献から、このポイントにおける更に多くの詳細に関して参照し得る。従って、上述のように推定された確率を頻度に変換することは差し支えない。
【0167】
更に一般的に、シンボルプレーンが上記で説明され、その値はビット値“0”または“1”であった。しかしながら、本発明は、(2を超えるシンボル、例えば3つのシンボル:“0”、“+1”、“−1”を有する)シンボルプレーン符号化/復号化のアプリケーションにまで及ぶ。“Witten”等の参考文献(テーブルI及び図1b)は、どのように2を超えるシンボルと関連付けられた確率を管理するかを示す。従って、本発明は、情報源(符号化/復号化されるべき信号)のモデルに基づいて、少なくとも1つのシンボルプレーン(好ましくは最上位のシンボルプレーン)内のシンボルの確率を評価することを可能にする。
【0168】
本発明の原理は、同様に、スタック及びランに関する4つのシンボル(0、1、+、−)の確率が、(上記の“Oger”等の参考文献において説明されたように)符号化されるべき信号の分布モデル、例えば一般化されたガウスモデルから計算されるスタックラン符号化の場合に対して適用されることができる。この場合に、モデルに関連付けられたパラメータαの値に基づいて、シンボル(0、1、+、−)の確率を初期化することができる。
【0169】
同様に、上記で論じられたように、本発明は、コンテキストベースの算術符号化のコンテキストを最適化することを可能にする。本発明の要点における符号化がコンテキストベースの算術符号化であり得るという事実は別として、例えば上記で引用された“Langdon”等の参考文献において示されたように、それは、(例えばビットレート、情報源、または同じ平面内のビットによってとられた値の関数として)同様に適応でき得る。
【0170】
更に一般的に、本発明は、シンボルプレーン符号化におけるシンボルの確率に基づいて、あらゆる種類の符号化(ハフマン符号化または他の符号化)に適用される。従って、本発明は、算術符号化に加えて、他の種類のエントロピー符号化に、更に一般的に適用され得る。
【0171】
フォームパラメータの伝送を伴う一般化されたガウスモデルの場合が、単なる実施例の例として上記で説明された。一般化されたガウスモデル以外のモデルが考えられ得る。例えば、固定された確率を備えるモデル(特にラプラシアンモデル)、もしくはパラメータに関するモデル(アルファ−安定(alpha-stable)モデル、混合ガウス(mixed-Gaussian)モデル、または他のモデル)が、同様に、情報源をモデル化するために考察され得る。
【0172】
更に一般的に、信号分布をモデル化するのではなく、単に未加工の(モデル化されていない)信号分布に基づいて、符号化における確率テーブルを計算することが可能である。その場合に、これらの確率テーブルを符号化し、復号器が確率テーブルを再び計算する必要はないように、確率テーブルを復号器に送信することができる(図6におけるモジュール603の除去、及びフォームファクタαの代わりの確率テーブルの受信)。たとえそうであっても、符号化されたビットストリームにおけるデータの量を制限するために、上述のように、信号分布をモデル化すると共に、モデルの特性を示すいくらかのパラメータ(特にフォームファクタα)だけを復号器に送信することが好ましい。
【符号の説明】
【0173】
100 分析モジュール
101 量子化モジュール
102 符号化モジュール
103 復号化モジュール
104 逆量子化モジュール
105 合成モジュール
200 情報源信号を適応させるモジュール
201 スカラー量子化モジュール
202 シンボルプレーン分解モジュール
203 ビットプレーンを符号化し、符号化された値を多重化するためのモジュール
204 ビットレートを調整するためのモジュール
206 逆多重化及び復号化モジュール
207 整数に変換するためのモジュール
501 ハイパスフィルタ
502 知覚ベースフィルタ処理モジュール
503 LPC分析及び量子化のためのモジュール
504 MDCTと周波数整形のためのモジュール
505 フォームファクタαを計算するためのモジュール
506 ビットレート制御モジュール
507 シンボル値の確率を推定するためのモジュール
508 ユニフォームスカラー量子化モジュール
509 ビットプレーン符号化モジュール
510 ノイズレベルの推定と量子化のためのモジュール
511 モジュールからの出力を多重化するマルチプレクサ
601 受信されたビットストリームを逆多重化するためのモジュール
602 LPC係数を復号化するためのモジュール
603 確率を推定するためのモジュール
604 ビットプレーン復号化モジュール
605 ノイズレベルを復号化するためのモジュール
606 量子化ステップサイズを復号化するためのモジュール
607 ノイズ注入モジュール
608 低周波数のデエンファシスを行うためのモジュール
609 逆MDCT変換モジュール
610 逆知覚ベースフィルタ処理モジュール

【特許請求の範囲】
【請求項1】
信号のシンボルプレーン圧縮符号化/復号化のために信号を処理する方法であって、
シンボル値の確率が、少なくとも1つの平面(PK−1)に関して決定され、
前記確率が、信号(X)の分布の推定値(Mod)から動的に計算される
ことを特徴とする方法。
【請求項2】
前記信号が、符号化の前に量子化されると共に、
好ましくは量子化の前に、符号化されるべき前記信号(X)に関する信号分布の推定が実行される
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記信号分布の推定が、信号の確率密度(pdf)を表すモデル(Mod)の特性を示す少なくとも1つのパラメータ(α)を推測するために、前記信号分布(H)のモデル化を含む
ことを特徴とする請求項1または請求項2のいずれか一項に記載の方法。
【請求項4】
前記モデル化が、前記符号化(505)において実行されると共に、
前記パラメータ(α)が復号化の目的のために伝達され、そして、
前記確率が、前記符号化(507)及び前記復号化(603)において、前記パラメータ(α)の関数として計算される
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記モデルが、一般化されたガウスモデルであると共に、
前記パラメータが、フォームファクタ(α)である
ことを特徴とする請求項3または請求項4のいずれか一項に記載の方法。
【請求項6】
前記信号が、一連の値(a)を含み、
各値(a)が、複数のシンボルプレーン(P)のそれぞれにおける複数のシンボル値(0;1)に分解され、
前記確率が、少なくとも1つの平面(MSB)に関して計算されると共に、前記確率の各々が、この平面において所定のシンボルに等しいシンボル値を有する確率を示し、
前記確率が、少なくとも最上位のシンボル値を表す平面(MSB)に関して計算される
ことを特徴とする請求項1から請求項5のいずれか一項に記載の方法。
【請求項7】
前記確率が、より上位のシンボル値を表す平面(Pk+1、Pk+2、・・・、PK−1)から取得されたシンボル値によって定義されるコンテキスト(C)を考慮しながら、更に他の平面(P)に関して計算される
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記一連の値における信号値(a)の同じ位置(i)に関して、
現在の平面(P)におけるシンボル値より、より上位のシンボル値を表す平面(Pk+1、Pk+2、・・・、PK−1)から取得された各シンボル値が、この現在の平面(P)及びこの位置(i)に関するコンテキスト値(C)を定義すると共に、
前記確率が、現在の平面(P)に関するコンテキスト(C)の複数の考え得る値を考慮しながら、現在の平面(P)に関して計算される
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記コンテキスト(C)の限定された数の考え得る値が選択される。
ことを特徴とする請求項8に記載の方法。
【請求項10】
シンボルプレーン毎の考え得るコンテキスト値が、
−より上位のシンボル値を表す平面(Pk+1、Pk+2、・・・、PK−1)における少なくとも1つの有意のシンボルの存在を示す第1のコンテキスト値、及び
−より上位のシンボル値を表す平面(Pk+1、Pk+2、・・・、PK−1)において有意のシンボルが発見されなかったことを示す第2のコンテキスト値
の2つのコンテキスト値に限定される
ことを特徴とする請求項9に記載の方法。
【請求項11】
請求項1から請求項10のいずれか一項に記載の方法を実行するための符号器であって、
前記符号器が、符号化されるべき信号の分布を推定し、前記シンボル値の確率を計算するためのモジュール(507)にデータを供給するためのモジュール(505)を備える
ことを特徴とする符号器。
【請求項12】
請求項1から請求項10のいずれか一項に記載の方法を実行するための復号器であって、
前記復号器が、前記信号の分布の推定値(α)に基づいて前記シンボル値の確率を計算するためのモジュール(603)を備える
ことを特徴とする復号器。
【請求項13】
請求項4に記載の方法を実行するために、
前記シンボル値の確率を計算するための前記モジュール(603)が、符号化する前の信号の確率密度モデルの特性を示す少なくとも1つのパラメータ(α)を供給されると共に、
前記パラメータが、前記復号器によって受信される
ことを特徴とする請求項12に記載の復号器。
【請求項14】
請求項11に記載された符号器、または請求項12か請求項13のいずれかに記載された復号器のメモリに格納されることを意図しているコンピュータプログラムであって、
前記コンピュータプログラムが、前記符号器または前記復号器のプロセッサによって実行される場合に、請求項1から請求項10のいずれか一項に記載の方法を実行するための命令を含む
ことを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公表番号】特表2010−537533(P2010−537533A)
【公表日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2010−521456(P2010−521456)
【出願日】平成20年7月25日(2008.7.25)
【国際出願番号】PCT/FR2008/051412
【国際公開番号】WO2009/027606
【国際公開日】平成21年3月5日(2009.3.5)
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】