(57)【特許請求の範囲】
【請求項１】
関心領域の形状情報を送信せずに該関心領域を含む画像を圧縮して送信する方法であって、
該画像を周波数ドメインに変換する段階と、
変換された係数を一組の関心領域係数と一組のバックグラウンド係数に分割する段階と、
該一組の関心領域係数の最小の非ゼロビット係数が最大バックグラウンド係数より大きくなるように該変換された係数をシフトする段階と、
ビットストリームにおいて、関心領域係数を含むビット平面がバックグラウンド係数を含むビット平面の前に位置するように、該変換された係数をビット平面単位順にエンコーディングする段階と、
前記一組の関心領域係数に対し使用するビット数を示す情報を該ビットストリームの伝送の開始部のヘッダに含ませる段階と、を備える前記方法。
【請求項２】
請求項１に記載の前記方法において、ウェーブレット変換、離散コサイン変換、フーリエ変換、アダマール変換のいずれかによって周波数ドメインへの変換がなされる。
【請求項３】
請求項１または２に記載の前記方法において、前記変換された係数をビット平面単位順にエンコーディングする段階は、算術コーディングを用いて行われる。
【請求項４】
関心領域の形状情報を送信せずに該関心領域を含む画像を圧縮して送信する装置であって、
該画像を周波数ドメインに変換する手段と、
変換された係数を一組の関心領域係数と一組のバックグラウンド係数に分割する手段と、
該一組の関心領域係数の最小の非ゼロビット係数が最大バックグラウンド係数より大きくなるように該変換された係数をシフトする手段と、
ビットストリームにおいて、関心領域係数を含むビット平面がバックグラウンド係数を含むビット平面の前に位置するように、該変換された係数をビット平面単位順にエンコーディングする手段と、
前記一組の関心領域係数に対し使用するビット数を示す情報を該ビットストリームの伝送の開始部のヘッダに含ませる手段と、を備える前記装置。
【請求項５】
請求項４に記載の前記装置において、前記画像を周波数ドメインに変換する手段は、ウェーブレット変換、離散コサイン変換、フーリエ変換、アダマール変換のいずれかによって変換を行う。
【請求項６】
請求項４または５に記載の前記装置において、前記変換された係数をビット平面単位順にエンコーディングする手段は、算術コーディングを用いてエンコーディングを行う。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、静止イメージのためのコーディング・アルゴリズムと、そしてこのアルゴリズムを実行するためのデバイスとに関するものである。このアルゴリズムは、特に、埋込形ビット・ストリームを発生し、そしてイメージの各部分をこのイメージの残りとは異なった品質でコーディングするのに適している。
【０００２】
（本発明の背景および従来技術）
変換コーディングは、多くの実際的なイメージ／ビデオ圧縮システムにおいて広く使用されている。変換を使用する背後の基本思想は、変換後のイメージを圧縮するタスクを、空間ドメインでの直接コーディングよりもより容易にすることである。離散コサイン変換（ＤＣＴ）は、ＪＰＥＧ，Ｈ２６１／Ｈ．２６３およびＭＰＥＧのようなコーディング規格のほとんどにおいて変換として使用されている。
【０００３】
最近では、研究活動のほとんどは、特にシャピロ（Shapiro）が埋込形ゼロツリー・ウェーブレット（ＥＺＷ）イメージ・コーディングに関する彼の業績を発表してからは、ＤＣＴからウェーブレット変換にシフトしてきている（シャピロの“ゼロツリーのウェーブレット係数を使用する埋込形イメージ・コーディング（J. M. Shapiro, "Embedded Image Coding using zerotrees of wavelet coefficients", IEEE Trans. on Signal Processing, Vol. 41, No. 12, pp. 3445-3462, Dec. 1993）”を参照されたい）。
【０００４】
ペネベーカ（W. B. Pennebaker）およびミッチェル（J. L. Mitchell）の論文“ＪＰＥＧ静止イメージ・データ圧縮規格（W. B. Pennebaker, J. L. Mitchell, JPEG Still Image Data Compression Standard, Van Nostrand Reinhold, New York, 1993）”は、ＤＣＴベースのコーディングにおける現行技術水準を記述している。
【０００５】
多くのアプリケーションにおいては、埋込形ビット・ストリームを得ることが望ましい。埋込形ビット・ストリームは、ビット・ストリームの開始部に埋め込んだ全ての低いレートを含むため、それらビットは、最も重要なものから最も重要でないものに順番になっている。埋込形コードを使用することにより、エンコーディングは、単に、ビット・カウントとしてのターゲット・パラメータが満たされたときに停止する。同様の方法で、埋込形ビット・ストリームが与えられたときに、デコーダは、任意の点でデコーディングを中止することができ、そして全ての低いレートのエンコーディングに対応する再構成を生成することができる。
【０００６】
埋込形ビット・ストリームを最適にするためには、イメージの視覚的認識にとって最も意味のあるビットを最初に伝送することが望ましい。これは、それらビット・ストリームが低いビットレートで良好な圧縮／品質レシオを有するようにさせることに対応する。
【０００７】
ＤＣＴは、正規直交（orthonormal）であり、このことは、それがそのエネルギを保存することを意味する。言い換えれば、二乗平均誤差（ＲＭＳＥ）（または、ピーク信号対ノイズ比−ＰＳＮＲ）に関して、ある一定の大きさの変換イメージにおける誤差は、元のイメージにおける同じ大きさの誤差を発生する。
【０００８】
これは、最大の大きさをもつ係数を最初に伝送すべきことを意味し、その理由は、これらが、最大の情報内容を有するからである。これはまた、この情報が、その二進表現にしたがってランク付けすることもできること、そしてその最上位ビットを最初に伝送すべきことを意味する。
【０００９】
ＤＣＴ変換後は、イメージのエネルギのほとんどは、低周波数の係数に集中し、これら係数の残りは、非常に低い値しかもたない。これは、係数の最上位ビット平面（ＭＳＢ）において非常に多くのゼロがあることを意味する。ある一定の係数の第１有意ビット（FSB:first significant bit）が見い出されるまでは、ゼロの確率が非常に高い。したがって、効率的なコーディングのタスクは、これらゼロを効率的な方法でエンコーディングするタスクとなる。
【００１０】
ジゾン（Z. Xiong）とグレルツ（O. Guleryuz）とオーチャード（M.T. Orchard）の論文“ＤＣＴベースの埋込形イメージ・コーダ（Z. Xiong, O. Guleryuz, M.T. Orchard, A DCT-based embedded image coder, IEEE Signal Processing Letters, Vol. 3, No. 11, pp. 289-290, Nov. 1996）”、ローランス（N.X. Laurance）とモンロー（D.M. Monro）の論文“有意度マスキングを備えた埋込形ＤＣＴコーディング（N.X. Laurance, D.M. Monro, Embedded DCT coding with significance masking", Proc.IEEE ICASSP 97, Vol. IV, pp. 2717-2720,1997）”、リー（J. Li）とリー（J. Li）とクオ（C.-C. Jay Kuo）の論文“ビデオ技術のためのオン回路およびシステム（J. Li, J. Li, C.-C. Jay Kuo, Layered DCT still image compression, IEEE Trans. On Circuits and Systems for Video Technology, Vol. 7, No. 2, April 1997, pp. 440-442）”においては、ＤＣＴが使用されている変換であるが、係数のコーディングは、JPEGコーディングがなされるのと同じ方法で行われるのではない。その代わり、埋込形ビット・ストリームを発生することができる。
【００１１】
（発明の摘要）
本発明の目的は、埋込形ＤＣＴベース（ＥＤＣＴ）のイメージを出力し、そしてこれからデコードしたイメージが、JPEGおよび上記引用の論文に発表されたＤＣＴベースのコーダからのものと比べより良好なＰＳＮＲを与えるようになった、アルゴリズムを提供し、かつこのアルゴリズムを実行するためのデバイスを提供することである。
【００１２】
本発明のさらに別の目的は、イメージの関心領域（ＲＯＩ：Regions of Interst）を、本アルゴリズムの埋込形プロパティを温存しながら、このイメージの残りとは異なった品質でエンコーディングするのに使用できる方法を提供することである。
【００１３】
これら目的は、以下の基本的なステップを用いる方法により得られる。
−  イメージを矩形のブロックに分割。
−  各ブロックをＤＣＴで別々に変換する。この変換は、係数のブロックを発生し、そのＤＣ係数は左上隅にあり、そしてそれより高い水平および垂直周波数の係数は、対応するブロック軸の方向にある。従来は、使用するブロックは、８×８サイズであるが、ここでは、２の累乗のブロック・サイズを許容する。サイズを２の累乗に制限する理由は、ＤＣＴを高速で計算することができるからである。
−  ＤＣＴ係数を漸進的方法で量子化し伝送することにより、最も重要な情報を最初に伝送するようにする。
【００１４】
しかし、どの伝送レートでもこの圧縮を良好なものとするには、すなわちビット・ストリームを任意の点でカットできるようにし、そして依然としてその圧縮レートで良好な品質をもつイメージを提供するには、効果的なスキャン順序を使用する必要がある。
【００１５】
このため、本発明によれば、各係数に関して、最も有意のビットから始まってより有意でないビットまでの最初の非ゼロ・ビットを、第１有意ビット（ＦＳＢ）と呼ぶ。この第１有意ビットより前の係数のビットは、ゼロ・ビット（ＺＢ）と呼ぶ。符号情報は、符号ビット（ＳＢ）により表す一方、第１有意ビットより後のビットの残りは、生ビット（ＲＢ）と呼ぶ。コーディングは、ビット平面毎に行う。各ビット平面においては、コーディングは、最も低い周波数の係数から最も高い周波数へである。
【００１６】
送出するどのゼロ・ビットに関しても、デコーダが見い出すその係数に対する不確定インターバルの長さは、２で分割する。第１有意ビットに出会したとき、以下に説明するように、この係数の符号を、埋込形コードを維持するため送出する必要がある。
【００１７】
符号ビットの後、ＲＢを伝送しなければならない。これらは、非常に小さな冗長性を有し、したがってこれらを良好な予測でもってエンコードしようとすることにより得られるものはほとんどない。
【００１８】
次に、受信器は、これらステップを反転させることができる。発生したビット・ストリームは、埋め込み、そしてデコーダは、そのビット・ストリームを任意の点でカットすることができ、そしてそれがあたかもそのビット・レートで直接圧縮されたのと同じ品質を有するイメージを発生することができる。
【００１９】
そのようなコーディング技法に対しこのスキャン順序を使用することにより、非常に良好な視覚的品質を全ての圧縮レシオに対して得られる。
【００２０】
（好ましい実施形態の詳細な説明）
図１においては、８×８ＤＣＴブロックにおけるＤＣＴ係数の配列を示している。このため、左上の隅では、低周波数の係数が見られ、それより高い周波数の係数は、その下および右に見られる。
【００２１】
各係数は、多数のビット、例えば図２に示したように８ビットで表す。図２においては、最初の３ビットはゼロであり、ゼロ・ビット（ＺＢ）と呼び、第４のビットはゼロではなくそして第１有意ビット（ＦＳＢ）と呼び、そしてそれより下の有意のビットは、生ビット（ＲＢ）と呼ぶ。
【００２２】
好ましい実施形態においては、デジタル化したＤＣＴ変換イメージのためのコーディング・アルゴリズムは、以下の通りである。
（１）  全てのＤＣ係数の平均値（DC＿mean）を発見する。この値を各ＤＣ係数から減算する。
（２）  イメージ内の最大の大きさの係数のサイズの半分の量子化器（quantizer）を選ぶ。この量子化器を伝送する。
（３）  現行の量子化器に関してどの新たな係数が有意（significant）であるかについて、またこれら係数の符号（sign）についての情報を送出／エンコードする。１つの係数は、その大きさが（絶対項で）現行の量子化器よりも大きい場合に、量子化器に関して有意であると言う。
（４）  現行の量子化器を、このビット平面（bit plane）内で有意であると見い出した係数の大きさから減算する。その有意である係数の大きさを、現行量子化器が減算した大きさと置き換える。この差は、生ビット（raw bit）のみを保持することに対応する。
（５）  先行のビット平面において有意であった全ての係数に対して、それら係数が量子化器よりも大きなあるいは小さな大きさを有するかどうかの情報を送出／エンコードする。この量子化器を、行うものの大きさから減算し、そしてその結果生じた値でそれら係数を置換する。これは、生ビットを伝送することに対応する。
（６）  現行の量子化器を２で除算する。これは、それら係数のより低い有意のビット平面に降りることに対応する。
（７）  ビット供給が尽きるまで、あるいは何等かの所望の品質に達するまで、ステップ（３）から繰り返す。
【００２３】
ここで、上記のステップ１は、オプションであることに注意されたい。これを使用するならば、ＤＣ係数の平均値を記憶し伝送しなければならない。
【００２４】
この再構成は、以下の通りに行う。
−  全ての係数をゼロにセットする。
−  第１の量子化器を受ける。
−  新たな有意の係数についての情報を受ける。
−  これらを、（１．５＊現行量子化器＊係数符号）として再構成する。この理由は、このステージでは、それら係数の大きさが現行量子化器と（２＊現行量子化器）との間にあることが分かっているからである。これは、（１．５＊現行量子化器）を、不確定なインターバルの中間に置く。以下のステップ５で実行するこの加算または減算は、それら係数を更新することにより、これらが常にその不確定なインターバルの中間にあるようにする。
−  全ての先に有意の係数に対して、これら係数が現行量子化器よりも大きな大きさを有するかどうかチェックする。現行量子化器／２を行うものの大きさに加算し、そして現行量子化器／２を行わないものの大きさから減算する。
−  現行量子化器を２で除算する。
−  ステップ３，すなわち、新たな有意係数の受け取りを、所望の品質に達するまであるいはそれ以上情報がなくなるまで、繰り返す。
【００２５】
ステップ（１）がエンコーダで実行されたとした場合、デコーダは、ＤＣ係数の平均値を受けており、したがってこの値を再構成したＤＣ係数に加算する。
【００２６】
さらに、どのビット平面においても係数を更新するため、スキャン順序を定める必要がある。好ましい実施形態においては、１つの係数は、次の係数に進む前に、全てのブロックにおいて更新する。
【００２７】
１つのブロックの内側では、ＤＣＴ係数を対角線順序でビット平面毎にスキャンする。各々のスキャンした対角線後、フラグを送ることにより、このブロックの残りには新たな有意係数があることを知らせる。これは、ブロック・カットオフ（block cut-off）と呼ぶ。このブロック・カットオフを使用するが、それは、第１ビット平面では、かなり多くのゼロがあり、これは、実際には、明示的な記号が、全てのゼロを良好な予想でもってコーディングするのを試行するよりも良好に機能する。このブロック・カットオフ記号は、新たな有意係数にのみ関している。
【００２８】
ここで、各対角線に対してカットオフ・フラグを有するのではなく、ランレングス・コーディング法を使用することもできる。例えば、ある係数が有意である場合、そのブロック内の次に有意の係数の位置を指示するのにある数を使用することができる。
【００２９】
上述のように、符号ビットは、先行の有意係数に関しては既に送られている。したがって、不確定インターバルは、まだ有意でない係数に対しては２倍大きく、そしてこれらは、新たなスキャンでは最初に考慮すべきである。したがって、各ビット平面の間、最初にこの有意識別をエンコードし、そして次にリファイン量子化する（エンコーディング・プロセスのステップ３と５）。
【００３０】
図４においては、第１有意ビットに出会した後に符号ビットを送出する理由を示している。このため、符号ビットを送出した後、係数の符号を判定し、そしてその結果の係数はもはやあいまいでなくなる。
【００３１】
各ビット平面の間、係数のスキャンは、好ましくは、次の方法で行う。すなわち、最初に、全てのＤＣ係数、次に同じインデックスを有する全てのＡＣ係数を、イメージのＤＣＴブロックの左上隅から始まって右下隅へと対角線順序でする、すなわちDC, AC1, AC2等である。
【００３２】
JPEGで使用されるジグザグ・スキャンもまた、このアルゴリズムの埋込形コーディングのプロパティに影響を与えずに使用できる。
【００３３】
埋込形ビット・ストリームは、このようにしてエンコーダにより発生する。デコーダは、このビット・ストリームを任意の点でカットすることができ、したがってイメージをより低いレートで再構成する。この低いレートでの再構成したイメージの品質は、イメージをそのレートで直接コーディングしたのと同じとなる。イメージのほとんどロスの無いあるいはロスの全く無い再構成が可能である。
【００３４】
図８には、使用するスキャン順序を示す。したがって、最初のブロック８０１において、この手順が開始する。次にブロック８０３において、ＤＣＴ変換を実行する。この時、ＤＣＴ係数の最初のビット平面をブロック８０５で抽出する。このコンテキスト（context）は、次にブロック８０７においてリセットする。
【００３５】
次に、最初の対角線をブロック８０９において抽出し、そして第１係数をブロック８１１で抽出する。この第１ブロックは、次にブロック８１３で抽出する。次に、ブロック８１５において、このブロックが既にカットされているかどうかチェックする。カットされている場合には、この手順は、ブロック８１７に進み、その他の場合はブロック８１９に進む。
【００３６】
ブロック８１９において、このブロックがこの動きでカットオフすべきかどうかチェックする。カットオフすべき場合、本手順は、ブロック８２１に進み、ここで、ブロック・カットオフ記号を伝送し、その他の場合には、本手順はブロック８２３に進む。
【００３７】
ブロック８２３において、係数が先に有意であったかどうかチェックする、すなわち、これが第１有意ビット（ＦＳＢ）であるかどうかチェックする。係数が先に有意である場合、本手順は、ブロック８１７に進み、その他の場合にはブロック８２５に進む。
【００３８】
ブロック８２５において、係数が今有意であるかどうかチェックする。今有意である場合、本手順は、ブロック８２７に進み、その他の場合にはブロック８２９に進む。
【００３９】
ブロック８２９において、この係数が有意でないという情報を含むデータを送出し、そしてこのブロック８２９から本手順はブロック８１７に進む。
【００４０】
ブロック８２７において、係数が有意であるという情報を含むデータを送出し、そしてこのブロック８２９から本手順は、ブロック８１７に対し、符号を送るブロック８３１を介して進む。
【００４１】
ブロック８１７において、これがＤＣＴイメージの最後のブロックであるかどうかチェックする。最後のブロックである場合は、本手順は、ブロック８３３に進み、その他の場合は、本手順は、ブロック８１５に対し戻りそして次のブロックのため本プロセスを繰り返す。
【００４２】
ブロック８３３において、現行の係数が対角線（diagonal）内の最後の係数であるかどうかチェックする。最後の係数である場合は、本手順は、ブロック８３５に進み、その他の場合は次の係数（coefficient）のためブロック８１３に戻る。
【００４３】
ブロック８３５において、この対角線が最後の対角線であるかどうかチェックする。最後の対角線である場合、本手順は、ブロック８３７に進み、その他の場合は、次の対角線のためブロック８１１に戻る。
【００４４】
ブロック８３７において、リファイン（refinement）が開始する。このため、ブロック８３７において、最初の対角線を抽出する。次に、ブロック８３９において、最初の対角線内の最初の係数を抽出する。次にブロック８４１において、最初のブロックを考慮する。このとき、ブロック８４３において、現行の係数が先に有意（previously significant）であったかどうかチェックする。もし先に有意でなかった場合、本手順は、ブロック８４７に進み、その他の場合は、本手順は、ブロック８４７に対し、生ビット（raw bit）を送るブロック８４５を介して進む。
【００４５】
ブロック８４７において、現行のブロックが最後のブロックであるかどうかチェックする。最後のブロックである場合は、本手順は、ブロック８４９に進み、その他の場合は、本手順は、次のブロックのためブロック８４３に戻る。
【００４６】
ブロック８４９において、現行の係数が現行の対角線内の最後のものであるかどうかチェックする。最後のものである場合、本手順は、ブロック８５１に進み、その他の場合は、本手順は、次の係数のためブロック８４１に進む。
【００４７】
ブロック８５１において、現行の対角線が最後の対角線であるかどうかチェックする。最後の対角線である場合、本手順は、ブロック８５３に進み、その他の場合は本手順は、次の対角線のためブロック８３９に進む。
【００４８】
ブロック８５３において、現行のビット平面が最後のビット平面であるかどうかチェックする。最後のビット平面である場合、本手順は、ブロック８５５に進んで、ここで本手順を終了し、その他の場合は、本手順は、次のビット平面のためブロック８０７に戻る。
【００４９】
上記スキャン順序およびアルゴリズムを一般的にさらに明瞭にするため、エンコーダ用の擬似コードを以下に示す。
【００５０】
【数１】
0004215946.tif 000002
【００５１】
正しいスキャン順序を選択した後、これは、スキャンを効率的な方法でコーディングするよう留まる。問題は、主として、新たな係数のマスクをどのようにエンコードするかである。方法として多くのものが使用でき、例えば、ゼロ・ツリー・コーディング、ランレングス・エンコーディング、アドレス・スイッチングがある。
【００５２】
好ましい実施形態においては、コンテキスト・ベースの算術コーディングを使用する。ウィッテン（Witten）外が提供し、そしてウィッテン（Witten）、ニール（Neal）およびクリアリ（Cleary）の“データ圧縮のための算術コーディング（I. H. Witten, R. M. Neal, and J. G. Cleary, "Arithmetic coding for data compression", Communications of the ACM, Vol. 30, No. 6, pp. 520-540, June 1987）”に記述されたガイドラインにしたがって実装した算術コーダを使用することができる。
【００５３】
この適応形確率推定は、拡張し、そして以下に述べるビット平面コーディングに対しカスタム化することができる。
【００５４】
この方法を使用するとき、各記号に対し推定するのに必要なことは、その記号がゼロである確率であるが、それは、使用する記号アルファベットが二進であるからである。これを行うには、コンテキスト・コーディング方法を使用する。
【００５５】
また、コンテキスト・コーディングも、ヌグエン−フィ（Nguyen-Phi）およびウェインリヒタ（Weinrichter）の“ウェーブレット係数のコンテキスト・ビット平面コーディングを使用するＤＷＴイメージ圧縮（K. Nguyen-Phi and H. Weinrichter, DWT image compression using Contextual bitplane coding of wavelet coefficients, Proc. ICASSP 97, pp. 2969-2971, 1997）”に記述されているように、JBIGのような規格においておよびウェーブレット・エンコーダ規格において、双レベルのイメージをコーディングするのに使用されている。
【００５６】
コンテキストなしでは、あるいはたった１つのコンテキストでは、ゼロの確率は、それまで見たゼロの数をコーディングした記号の総数で割ったものとして推定する。コンテキストを使用すると、周囲の記号のあるいは先行する記号の数は、いくつかのコンテキストからその１つを選ぶのに使用する。コンテキストを選ぶことにより、同じコンテキストにおいてコーディングした記号は、同様の統計値を有することが予測されるようにする。この場合、どのコンテキストも、このコンテキスト内で見たゼロの数と記号の総数とを保持する。
【００５７】
ゼロの確率は、このとき、ゼロの数を、記号の総数で割ったものとして推定する。この記号をコーディングした後、コンテキストを更新する。
【００５８】
記号に対しコンテキストを選ぶいくつかの方法が使用できる。また、コンテキストを更新する異なった方法も使用できる。好ましい実施形態においては、このコンテキストは、どの新たなビット平面に対しても再開始する。これは、互いに異なったビット平面は、異なった統計を有すること、またビット平面内の統計は十分に静止している、ということに起因する。
【００５９】
エンコードすべき記号の推定に使用するビットは、互いに一緒にしそして整数を形成するように考慮する。この数は、あるコンテキストをインデックスするのに使用する。このインデックスしたコンテキストは、その推定に対し使用したビットがこの正確なコンフィギュレーションを有していたときに見い出した全ての先行する統計を保持している。
【００６０】
以下においては、ある係数が有意であるか否かについての情報は、それ自身のビット平面、いわゆる有意平面とみなす。このビット平面は、問題の係数が現行のビット平面あるいは任意の先行のビット平面において有意であると見い出した場合には“１”である。
【００６１】
全ての係数の生ビットに対して、たった１つのコンテキストしか使用できない。これは、エントロピー・コーディングなしでビットを生で送出するよりもほんのわずしか良くない。これはまた、ＡＣ係数の符号ビットに対しても当てはまり、そしてこれらもまた、たった１つのコンテキストを使用してエンコードしたものである。注意すべきであるが、それらを生ビットとして送出しそれらを算術コーディングでエンコードしないことは可能である。これは、性能を低下させることがあるが、本アルゴリズムの実行速度を向上させることになる。
【００６２】
ＤＣ符号ビットは、有意平面においてマークしかつ図６に示したように正の符号を有する多数のＤＣ隣接を互いに加算することにより選んだコンテキストにおいてコーディングする。ＡＣ係数のゼロ・ビット（および有意ビット）は、図５に示すように、そのブロック内の６つの隣接する係数および３つの隣接ブロック内の同じ係数を考慮に入れることによりコーディングすることができる。これら係数に対する有意平面内の情報は、コンテキストに対し使用する。
【００６３】
ＤＣ係数のゼロ・ビットに対しては、コンテキストは、全ての隣接するブロック内のＤＣ係数を使用することにより選ぶ。また、この場合、考慮する唯一のものは、有意平面である。
【００６４】
ブロック・カットオフ（block cut-off）は、図７に示すように、４つの隣接するブロック内のカットオフ（cut-off）記号のコンテキストにおいてコーディングする。対角線数もまた、考慮に入れる。これは、関係するカットオフ記号の４ビットと対角線を使用することにより行い、これは、４ビット数であってコンテキストをインデックスする８ビット整数にそれらを構成する。
【００６５】
その結果は、例えば何等かの適当なポスト処理を使用することにより向上させることができる。
【００６６】
ここに記述した本アルゴリズムの計算上の複雑さおよびメモリ要求は、主として、ＤＣＴ計算と算術コーディングの使用とに起因する。
【００６７】
本アルゴリズムはブロック・ベースであるため、並列の実現は可能である。特に、変換ステージの並列実現が可能である。８×８ブロックに分割されるＮ×Ｍイメージを処理するのにＰ個のプロセッサが利用可能であるとすると、各プロセッサは、そのイメージの（Ｎ／Ｐ）×Ｍ部分のブロックにおけるＤＣＴ変換を行うことができる。さらに、ビット平面は、互いに独立にしかも並列に処理できる。これは、コンテキストを各ビット平面において再開始すること、および係数のグループ化を行わないことに起因する。ある特定のビット平面において分かっている必要があるのは、どの係数がそのビット平面の前に有意であるかである。この情報は、その変換の直前のＤＣＴ係数から（また並列に）得ることができる。ここで、符号ビットは、単純な形式でコーディングする必要があることに注意されたい。
【００６８】
本アルゴリズムは、漸進的イメージ伝送に対し非常に良く適していることに注目されたい。漸進的イメージ伝送の間、その伝送の最後のステージにおいてロスの無い圧縮を提供することが望ましい。ＤＣＴの精度に対するどのような制約もなければ、ほぼロスの無い再構成を実現することができる。ロスの無い再構成は、ロス有り・プラス・ロス無し残留エンコーディング法（lossy plus lossless residual encoding method）により実現することができ、この場合、提案した本アルゴリズムはその圧縮のロス有り部分を実現するのに使用する。ここで、このアプローチは、ソフトウェアおよびハードウェアのポータビリティを確保するには、整数反転ＤＣＴを必要とすることに注意されたい。
【００６９】
ある種のアプリケーションにおいては、あるイメージの特定の領域は、他の領域と比較してより良い品質でコーディングする必要がある。このアルゴリズムは、関心のある領域（ＲＯＩ）を、イメージの残りと比較して異なった品質でコーディングするのに使用することができる。例えば、ＲＯＩを１ビット／ピクセル（ｂｐｐ）でコーディングしイメージの残りを０．５ｂｐｐでコーディングすべき場合、漸進的イメージ伝送の間、このイメージを、０．５ｂｐｐが実現されるまで伝送することができ、そして次にそのＲＯＩをさらに追加の０．５ｂｐｐで再構成する情報を伝送することができる（これは、可能な１つのシナリオである）。ＲＯＩはまた、前の段落で述べた方法によりロス無しでコーディングすることもできる。ここで、ＲＯＩは、任意のサイズを有することがあることに注意されたい。この場合、ＭＰＥＧ４において使用される方法を適用することができる（ブロック・パディングあるいは形状適応形ＤＣＴ（Shape Adaptive DCT））。しかし、任意のＲＯＩに対しても本アルゴリズムが機能するようにするには、本アルゴリズムに対しある種の変更が必要である。ＲＯＩでの漸進的コーディングのための種々の技法は、以下に説明する。ここで、簡単にするため、ＲＯＩ形状は、長方形の１つの結合体であり、ここで、長方形の寸法は、ＤＣＴコーディングに対し使用するものである（すなわち、ＪＰＥＧを使用するほとんどのアプリケーションにおいては、８×８ピクセル）。
【００７０】
バックグラウンドのビットレートをｘビット／ピクセル（ｂｐｐ）とし、ＲＯＩに対してはｙｂｐｐ（ｙ＞ｘ）とする。異なった技法を使用することにより、イメージの漸進的伝送を実現することができ、ここで、バックグラウンドは、ｘｂｐｐでコーディングし、ＲＯＩはｙｂｐｐでコーディングする（異なったＲＯＩに対するビットレートは異なっていることができる）。
【００７１】
以下に、そのような異なったビットレートを得るための３つの異なった技法のアウトラインを示す。
【００７２】
第１の技法においては、バックグラウンド（ＢＧ）と関心領域（ＲＯＩ）とは、別々にコーディングする。このような技法は、漸進的伝送に対しては何等かの問題を生じるが、それは、ＢＧとＲＯＩとは別々にコーディングしているからであり、これら２つの異なったビット・ストリームを１つにパックすることにより、イメージ全体の漸進的伝送を実現する方法がなければならない。代替的には、漸進的伝送は、ＢＧまたはＲＯＩを最初に送出しそして次に他方（ＲＯＩまたはＢＧ）を最後に伝送することを生じる。これは、受信器がイメージ全体がその伝送の初期の段階においてどのようなものであるかについての見当をつけることができないことを意味する。
【００７３】
さらに、ＢＧおよびＲＯＩにおける隣接するブロック間の相関は、利用しないが、それは、それらが別々にコーディングされるからである。これは、圧縮性能を低下させることになる。しかし、本方法は、並列処理には良好なものである。
【００７４】
第２の技法においては、ＲＯＩ係数は、ある数でシフトあるいは乗算する。この方法は、ＲＯＩ係数が伝送の初期段階で有意であると見い出され、したがってＢＧに比べ最初にコーディングされることをもたらす。このＲＯＩ係数をシフトすればするほど、ＲＯＩ係数がより早く有意であると見い出される。したがって、ＲＯＩの速度再構成を制御することが可能である。デコーダは、ＲＯＩの形状および場所並びに、ＲＯＩ係数に対し使用するシフト用ファクタを知ることが必要である。この情報は、ビット・ストリームのヘッダ情報に格納し、そしてデコーダは、そのビット・ストリームを受けたときにそれを見い出すことができる。ここで、ＲＯＩの数は、任意とすることができ、ＲＯＩ係数のシフト用（乗算）ファクタは、異なったＲＯＩに対し異なったものとすることができることに注目されたい。この場合、ＲＯＩ速度と重要度を制御することが可能である。
【００７５】
尚、これら係数をあまりにも多くシフトして最も小さいＲＯＩ係数が最も大きいＢＧ係数よりも大きくなった場合には、ＲＯＩ係数全てを最初にコーディングすることに注意されたい。これは、（以下に述べるようにロス無しにおいても）ＲＯＩを最初に完全に再構成させるようにする。また、この場合、ＲＯＩ形状は、伝送する必要はない。伝送する必要があるのは、シフト用ファクタと、受け取った係数がＲＯＩ係数であることを知らせるデコーダへの信号とである（代替的には、ヘッダの開始部において、ＲＯＩ係数に対応する数のバイトを付加することにより、デコーダが何時ＲＯＩ係数のデコードを停止するべきかが分かるようにする）。このようにして、ＲＯＩの形状を伝送する必要がなく、それは、デコーダがそれを発見できるからである。これは、形状情報がかなりの量のビットを占有することになるときには（任意の形状にした領域に対して当てはまる）、重要となることがある。この節約したビットは、ＲＯＩまたはバックグラウンドをより良好にコーディングするために使用することができる。このＲＯＩビットレートを実現すると、デコーダは、バックグラウンドに対して何を受け取るのかを知ることになる。
【００７６】
ここで、上記の技法は、ＤＣＴベースのコーダにおいてのみ適用可能な訳ではない。ウェーブレット・ベースのコーダも、これと同様の技法を、ＲＯＩの形状情報の伝送を回避するのに使用できる。この技法は、例えば、ニスタ（Nister）およびクリストポウロス（Christopoulos）の“２−１０整数ウェーブレットを使用する関心領域での漸進的ロス有り−ロス無しコーディング（Nister D., Christopoulos C.A., " Progressive lossy to lossless coding with a Region of Interest using the Two-Ten integer wavelet", ISO/IEC JTCl/SC29/WG1 N744, Geneva, Switzerland, 23-27 March 1998）”において使用することができる。
【００７７】
また、注意すべきであるが、ＲＯＩの形状を伝送するこの方法は、ビット平面を有意度が減少する順序で伝送する任意の伝送技法に対して用いることができる。必要なことは、ＲＯＩ係数を、バックグラウンドの任意の係数の前に伝送するものに対して十分大きなファクタでシフトすることである。この方法は、変換したイメージ、例えばＤＣＴまたはウェーブレット変換されたもの、並びに通常のビット平面コーディングされたイメージの両方に対して機能する。受信器が、いつＲＯＩ係数情報がオンであるかを知るため、最後のＲＯＩ係数を伝送したときを受信器に伝送しなければならない。これは、多くの種々の方法で行うことができる。例えば、信号を伝送することができ、ゼロ値の係数のみから成るビット平面、またはＲＯＩ係数に対し使用するビット数を示す伝送の開始部におけるヘッダである。
【００７８】
したがって、伝送の初期の段階で、ＲＯＩのみを再構成する。これは、受信器がイメージの残りがどのようなものであるか知るのを困難にする。したがって、この方法は、ＲＯＩの速度再構成に対し良好である。しかし、初期の段階におけるＢＧとＲＯＩにおける隣接ブロック間の相関を利用するのを回避する。
【００７９】
第３の技法によれば、バックグラウンド・ビットレートに達するまで、イメージの全てをコーディングし、そしてそれに達したら、ＲＯＩのみをコーディングし続ける。このような技法の複雑さは、本文に記述のシステムの１つと同様に残る。このため、ダイナミックレンジの向上がなく、隣接ブロック間の相関を（少なくともＢＧレートに達するまで）利用する。さらに、そのスイッチ・レート後は、ＲＯＩ内のＤＣＴ係数の残りのビットは、生ビットとなる。これは、これらビット間の相関を利用することではゲインはほとんどなく、したがってこれらは、エントロピー・コーダなしでもコーディングすることができる。
【００８０】
また、このような技法を使用するとき、ＢＧレートを得たときおよびＲＯＩをこのとき改善すべきことの受信器への信号を送出する必要がある。デコーダはまた、ＲＯＩ形状を知る必要がある。したがって、この方法は、第２技法と比べより遅いＲＯＩ再構成を生じるが、全ての場合において、受信器は、イメージ全体の見当を有する。
【００８１】
受信器は、伝送段階中にＲＯＩの場所を変更することができる。受信器が漸進的伝送方法でイメージを得た時、これは、彼が早くあるいはそのイメージの残りよりも良好な品質で見たい特定のＲＯＩを指定することができる。ＲＯＩの場所および形状は、送信器に送出する。この送信器がイメージを圧縮形態で有する場合、これは、可変長デコーディング（我々の技法における算術デコーディング）を行うことにより、ＲＯＩに対応する係数を見い出すようにする。次に、送信器は、上記技法の内の１つを使用する。ここで、送信器がその情報を再び算術エンコーディングする必要があるが、受信器に既に伝送したビット平面を使用することはない、ということに注目されたい。また、送信器は、イメージを完全に再構成する必要はない（反転ＤＣＴを必要としない）。送信器は、元のイメージを有する場合、彼は、上記の技法を使用することにより（ＤＣＴを最初に行う）、非伝送のビット平面をエンコードして受信器の要求を満たすことができる。
【００８２】
ここで、上記の技法を組み合わせることもでき、これにより、ＲＯＩの速度再構成を、初期の段階で、良好な品質のバックグラウンドと共に実現できる。
【００８３】
最後に、注意すべきであるが、本文で記述の本アルゴリズムは、コンポーネントを独立して圧縮すると見なす。適当なインターリーブにより、カラー・イメージに対する埋込形ビット・ストリームを発生することができる。
【００８４】
本アルゴリズムは、ＤＣＴをベースとし、これは、全ての静止イメージおよびビデオ・コーディング規格で使用されている。適当な量子化およびコンテキスト・ベースの算術コーディングの使用により、埋込形ＤＣＴベース（ＥＤＣＴ）の静止イメージ・コーディング・アルゴリズムが実現される。このプロパティは、ＷＷＷアプリケーションにおいて、データベースを高速でブラウズする際に非常に有用である。
【００８５】
本アルゴリズムはＤＣＴをベースとするため、現行のＪＰＥＧアーキテクチャに対し行わねばならない変更は最小である。選択的なリファインは、チルト処理、階層的コーディングおよび現行のＪＰＥＧの全ての動作モードは、新たなタイプの人為的なものを導入せずとも、サポートされる。
【００８６】
ここで、フーリエ変換のアダマール変換のように、ＤＣＴの代わりに他のアルゴリズムを使用することができる。加えて、ＤＣＴの整数実現例を使用することもできる。この場合、ロス無しコーディングの機会が実現され、したがって提案して技法でロス有りからロス無しへの漸進的伝送を実現できる。１例として、オオタの（デジタル信号のためのロス無し変換コーディング・システム（Ohta Mutsumi）の“Ohta Mutsumi, "Lossless transform coding system for digital signals", US patent 5,703,799, Dec. 30, 1997”記述のＤＣＴ変換、あるいはチャム（Cham）とチャン（Chan）の“１６次整数コサイン変換（W.K. Cham and Y.T. Chan, "An Order-16 Integer Cosine Transform", Signal Processing, Vol. 39, No. 5, May 1991, pages 1205-1208）”のアルゴリズムの場合、ロス有りおよびロス無しのコーディングの両方に対し使用できるアルゴリズムを、我々の発明において記述した方法を使用することにより得られる。また、本アルゴリズムの埋込形プロパティを維持することにより、ロス無しＲＯＩおよびロス有りＢＧを得る可能性が、完全に漸進的な方法で得られる。
【００８７】
上記の方法は、３Ｄコーディングあるいはビデオ・コーディングに対し使用することができる。３Ｄコーディングにおいては、完全埋込形の３Ｄコーダを得ることができ、これにおいて、ある一定のＲＯＩをイメージの残りよりも良好な品質でコーディングする。これは、医療用途およびリモート・センシングの用途において特に有用である。ビデオ・コーディングにおいて、埋込形ビデオ・コーダを設計することができる。ＥＤＣＴは、（例えば、H.261, H.263 およびMPEGのビデオ・コーディング規格における）イントラおよびインターのマクロブロックをコーディングするのに使用できる。ここで、ＥＤＣＴは、モーション・ビデオのエンコーディングに対し使用できることも注意されたい。
【図面の簡単な説明】
【図１】  図１は、ＤＣＴ係数を配列する方法を示す。
【図２】  図２は、１つのピクセルにおけるビット順序を示す。
【図３】  図３は、埋込形コーディング・アルゴリズムのためのスキャン順序を示す。
【図４】  図４は、符号ビットの送出を示す。
【図５】  図５は、ＡＣ係数ゼロ・ビットのためのコンテキストを示す。
【図６】  図６は、ＤＣ係数ゼロ・ビットのためのコンテキストを示す。
【図７】  図７は、カットオフ信号のためのコンテキストを示す。
【図８】  図８は、コーディング手順を示すフローチャート。
【図１】
0004215946.tif 000003
【図２】
0004215946.tif 000004
【図３】
0004215946.tif 000005
【図４】
0004215946.tif 000006
【図５】
0004215946.tif 000007
【図６】
0004215946.tif 000008
【図７】
0004215946.tif 000009
【図８】
0004215946.tif 000010