Data compressing method

阅读:818发布:2021-07-12

专利汇可以提供Data compressing method专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To encode wavelet-transformed picture data by transforming data to what respectively include a series of coefficients with a series of elements having different frequency characteristics so as to encode the coefficients by a compact style. SOLUTION: In order to generate a corresponding transforming coefficient 112, an inputted picture is preferably provided for a linear transformer 110. Discrete wavelet transformation(DWT) is preferably used. Two-dimensional DWT of a picture is a transformation which expresses the picture by using the approximation of a low frequency and the detailed elements of three high frequencies with respect to the picture. However, in order to make picture data free from correlation, other linear transformations can be executed. For example, discrete cosine transformation(DCT) can be executed. In order to give an encoding expression 122, the transforming coefficient 112, especially values for displaying the bit number string are coded by a bit re-array 120 by an efficient system.,下面是Data compressing method专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 データ符号化方法であって、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換し、 コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数がその先行するゼロの番号を変えないように前記係数の丸めを含むことを特徴とするデータ符号化方法。
  • 【請求項2】 前記丸めは有意でない係数の最初の番号を切捨てることと、係数がゼロでない、より有意な係数に1を加えることを含むことを特徴とする請求項1に記載された方法。
  • 【請求項3】 データ符号化方法であって、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換し、 前記要素を所定のブロックに分割し、 前記ブロックの各々について符号化し、前記係数はコンパクト形式で、2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証する丸めを含むことを特徴とするデータ符号化方法。
  • 【請求項4】 前記変換は前記データのウエーブレット変換を含むことを特徴とする請求項1または3に記載の方法。
  • 【請求項5】 前記データはデジタル画像データを含むことを特徴とする請求項1または3に記載の方法。
  • 【請求項6】 データ符号化装置であって、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換するための変換手段と、 コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数がその先行するゼロの番号を変えないように前記係数を丸めるためのエンコーダ手段と、を含むことを特徴とするデータ符号化装置。
  • 【請求項7】 前記丸めは有意でない係数の最初の番号を切捨てることと、係数がゼロでない、より有意な係数に1を加えることを含むことを特徴とする請求項6に記載された装置。
  • 【請求項8】 データ符号化装置であって、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換するための変換手段と、 前記要素を所定のブロックに分割するための分割手段と、 前記ブロックの各々について符号化し、前記係数はコンパクト形式で、2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証して丸めるためのエンコーダ手段と、を含むことを特徴とするデータ符号化装置。
  • 【請求項9】 前記変換は前記データのウエーブレット変換を含むことを特徴とする請求項6または8に記載された装置。
  • 【請求項10】前記データはデジタル画像データを含むことを特徴とする請求項6または8に記載された装置。
  • 【請求項11】データ符号化のためのコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品であって、前記コンピュータプログラム製品は、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換するための変換手段と、 コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数がその先行するゼロの番号を変えないように前記係数を丸めるためのエンコーダ手段と、を含むことを特徴とするコンピュータプログラム製品。
  • 【請求項12】前記丸めは有意でない係数の最初の番号を切捨てることと、係数がゼロでない、より有意な係数に1を加えることを含むことを特徴とする請求項11に記載のコンピュータプログラム製品。
  • 【請求項13】データ符号化のためのコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品であって、前記コンピュータプログラム製品は、 前記データを異なる周波数特性を有する一連の要素で、
    前記要素は各々一連の係数を含んだものに変換するための変換手段と、 前記要素を所定のブロックに分割するための分割手段と、 前記ブロックの各々について符号化し、前記係数はコンパクト形式で、2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証して丸めるためのエンコーダ手段と、を含むことを特徴とするコンピュータプログラム製品。
  • 【請求項14】前記変換は前記データのウエーブレット変換を含むことを特徴とする請求項11または13に記載されたコンピュータプログラム製品。
  • 【請求項15】前記データはデジタル画像データを含むことを特徴とする請求項11または13に記載されたコンピュータプログラム製品。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明は、デジタルの画像圧縮およびデジタルの映像圧縮に特有のアプリケーションを有するデジタルデータ圧縮の分野に関連する。 特に、
    本発明は、符号化しているビット面を使用する画像圧縮方法のための変換画像係数の効果的な量子化と関連し、
    変換された画像と映像信号のビット面符号化に先がけた、効率的な丸めを含む。

    【0002】

    【従来の技術】デジタルデータの圧縮、特にデジタルの画像圧縮は、しばらくの間大きな関心が寄せられていた分野である。 デジタルの画像圧縮の分野では、多くの様々な技術が利用されている。 特に、1つのポピュラーな技術が、画像の標準的なサイズのブロックを対応する余弦要素に変換するための離散的な余弦変換(DCT)を利用するJPEG基準である。 この点において、より高い周波数の余弦要素は、実体的な圧縮要因を得ることを補助するために密に量子化される。 その密な量子化は画像圧縮の「lossy」技術 の一例である。 JPEG基準は、また、変換された係数の次のlossless圧縮に備える。

    【0003】最近では、ウエーブレット変換の分野はデータ圧縮に代わる形式として大きい注目を集めている。
    ウエーブレット変換は、鋭いエッジなどの切れ目を持っている代表的なデータに非常に適していることが明らかにされている。 そのような切れ目は画像データまたはそれに類するデータでしばしば存在する。

    【0004】本発明の好ましい実施形態は画像データの圧縮に関連して記述されるが、そこにおいて、好ましい実施形態が制限されないことは明白である。 信号に対するウエーブレット解析の様々な適用例に関しては、ブルース他による「ウエーブレット解析」1996年10月ページ
    26-35のIEEEスペクトラムの一覧ができる。 コンピュータ・グラフィックスにおけるウエーブレットの異なったアプリケーションの議論のために、リファレンスはMorg
    an Kaufmann Publishers , Inc.によって1996年出版された“Wavelets for Computer Graphics”、I. Stollin
    itz他、によって作られる。

    【0005】画像圧縮の多くの効率的な方法は、変換画像データのビット平面符号化を使用する。 例えば、以下の符号化方法は、変換(通常は離散的なウエーブレット変換)画像データのビット面の符号化を効果的に使用する、米国特許5,412,741、5,315,670そして5,321,776の方法に属するゼロ-ツリーウエーブレット (EZW) 及び変換画像ビット平面の2進コンテキストエントロピー符号化の例がある。 これらの方法のうちのすべては、レート/歪み/複雑トレードオフについて、現在利用可能な最も競合する性能のうちのいくらかを提供する。

    【0006】ビット面符号化技術によって、通常、すべてのビット面が符号化される。 下の最も重要なビット面だけが、前もって決定された最小のビット面に符号化される。 例えば、8ビットの2進表現10000111を有する係数135の符号化を考慮し、下向きの係数のビット面の符号化を伴ったビット面3を含む(最上位のビットで、ビット面0から番号付を開始する)。 係数は、それぞれビット平面7, 6, 5, 4および3でビットである10000ビットで、符号化される。 デコーダは、この情報を受け取ってその時ビット面7、6、5、4、および3のこれらのビットを複製できるが、下のビット面のビットは認識できない。 下位のビット面で全てのビットが0であると仮定する代わりに、係数が135の場合は、デコーダがビット平面2を1に仮定できる10000000の2進数(128の10進数)として復号される。 そして、係数が135の場合で、他の下位のビット面の0は10000100の2進数(132の10進数)として復号される。 これは、丸めの一般化した形式であり、よりよい結果を一般に提供する。 なぜなら、それは復号された係数とオリジナルの(平均的な)違いを減らすからである。

    【0007】選択枝として、この一般化された丸めはエンコーダにおいて実行される。 ビット平面2の1は符号化に先がけて135 (10000111+00000100=10001011または1
    39の小数)に付加され得る。 下位のビット面3を続いて符号化することで、係数は10001として符号化され、100
    01000または136の10進数として復号される。 実際、これは均一な量子化の簡単な形式である。

    【0008】効率的なビット面符号化技術に関して、例えば、SWEET(以下を参照)やEZWファミリーなど、エンコーダ(または、均一な量子化)において丸めることは効率的ではなく、圧縮性能を低下させる。 この理由は以下において議論される。

    【0009】

    【発明の概要】本発明の目的は、先行技術の1またはそれ以上の不利を改善することにある。

    【0010】本発明の第一の概要によると、提供されるデータ符号化方法は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換し、コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、
    さらに、丸められた係数がその先行するゼロの番号を変えないように前記係数の丸めを含む。

    【0011】本発明の第二の概要によると、提供されるデータ符号化方法は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換し、前記要素を所定のブロックに分割し、
    前記ブロックの各々について符号化し、前記係数はコンパクト形式で、2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証する丸めを含む。

    【0012】本発明の第三の概要によると、提供されるデータ符号化装置は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換するための変換手段と、コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、
    前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数がその先行するゼロの番号を変えないように前記係数を丸めるためのエンコーダ手段と、を含む。

    【0013】本発明の第四の概要によると、提供されるデータ符号化装置は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換するための変換手段と、前記要素を所定のブロックに分割するための分割手段と、前記ブロックの各々について符号化し、前記係数はコンパクト形式で、
    2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証して丸めるためのエンコーダ手段と、を含む。

    【0014】本発明の第五の概要によると、提供されるコンピュータプログラム製品は、データ符号化のためのコンピュータプログラムが記録されたコンピュータ可読媒体を含み、前記コンピュータプログラム製品は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換するための変換手段と、コンパクト形式で前記係数を符号化し、前記係数は2進数の数列を含み、前記符号化は、前記2進数の数列のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、
    丸められた係数がその先行するゼロの番号を変えないように前記係数を丸めるためのエンコーダ手段と、を含む。

    【0015】本発明の第六の概要によると、提供されるコンピュータプログラム製品は、データ符号化のためのコンピュータプログラムが記録されたコンピュータ可読媒体を含み、前記コンピュータプログラム製品は、前記データを異なる周波数特性を有する一連の要素で、前記要素は各々一連の係数を含んだものに変換するための変換手段と、前記要素を所定のブロックに分割するための分割手段と、前記ブロックの各々について符号化し、前記係数はコンパクト形式で、2進数の数列を含み、さらに前記符号化は各々のブロックで最も大きな係数のうち先行するゼロの番号を符号化するための第一の効率的な符号化技術を提供すること含み、さらに、丸められた係数は、前記ブロックにおいて、最も大きいマグニチュードの先行するゼロの番号を変えないことを保証して丸めるためのエンコーダ手段と、を含む。

    【0016】

    【実施形態の詳細な説明】付随図面のうちの1つあるいはそれ以上で、ステップおよび/または特徴にされる参照箇所は、同じ参照数字を持ち、反対の意図が示されない限り、それらのステップおよび/または特徴は、この記述の目的のために同一の機能および/または動作をするものとする。

    【0017】好ましい実施形態を説明する前に、オーストラリア暫定的特許出願No. PO4728、キャノン インフォメーション システムズ リサーチ オーストラリア
    Pty. Ltd. により1997年1月22日に出願された、名称が「デジタル画像圧縮」において開示された画像圧縮と復号の方法であるSWEETについて説明する。

    【0018】この圧縮と復号の方法は、以下に表題が付けられた節、「1.0 SWEET画像圧縮方法の概観」「1.1
    第一のSWEET画像圧縮方法の符号化処理」「1.2 第一のSWEET画像圧縮方法の復号処理」「1.3 2次元の例」、そして「1.4 第二のSWEET画像圧縮方法の符号化処理」で説明される。

    【0019】(1.0 SWEET画像圧縮方法の概観)符号化方法の概観を提供するために、図1において高レベルのブロック図が説明される。 対応する変換係数112を生成するために、入画像102は、好ましくは線形変換である、変換ブロック110に提供される。 離散的なウエーブレット変換(DWT)は好ましく使用される。 画像の二次元のDWTは、その画像に対する低周波数の近似と3つの高周波数の詳細要素とを用いて画像を表現する変換である。 因襲的に、これらの構成要素はサブバンドと名付けられる。 DWTにより成形された4つのサブ画像のうちのそれぞれが、オリジナルの画像のサイズのある4分の1となる。 低周波数の画像はオリジナルの画像についての情報のほとんどを包含する。 この情報、あるいはエネルギーの密集した構成は、画像圧縮のために利用される離散的なウエーブレット変換の画像サブバンドの特徴である。

    【0020】単一レベルのDWTは、低周波数の画像、すなわちサブバンドに対して任意の回数、再帰的に適用されうる。 例えば、画像のレベル3のDWTは、変換を1回適用し、その変換の結果低いサブバンドに対してDWTを適用することによって得られる。 従って、このような変換では、9つの詳細なサブバンドと1つの(非常に)低周波数のサブバンドに帰着する。 DWTsのレベル3の後でさえ、結果として生じる低周波数のサブバンドはオリジナルの画像の重要な情報量を依然として包含し、まだ64倍小さいが(1/4x1/4x1/4)、圧縮において64のファクターに影響を与える。

    【0021】しかしながら、画像データを相関のないものにするために他の線形変換が実行されてもよい。 例えば、離散的な余弦変換(DCT)は実行できる。 変換係数1
    12、特にそのビット数列を表示する値は符号化表現122
    を与えるために、効率的な方式でビットを再配列するブロック120により符号化される。

    【0022】復号プロセスは単にこの符号化プロセスの逆である。 符号化された係数は、変化係数に復号される。 その時、(変換領域)画像はオリジナルの画像またはその近似を成形するために逆変換される。

    【0023】実施形態の説明を続ける前に、以後、使用される専門用語の簡単な検討を提供する。 2進整数表現の数値、「ビットn」、または「ビット数n」は最下位ビットの左側で2進数の桁n番目を表す。 例えば、8ビットの2進表現を仮定すると、10進数の9は00001001として表示される。 この数では、ビット3は1と等しい一方、
    ビット2、1、および0は、0、0、および1とそれぞれ等しい。 さらに、ビット数列によって表現されたそれぞれの係数を、列と行において配列した係数を有する行列として表現してもよい。 概念的にいう行列は、3つの次元を有するとみなされるかもしれない。 列方向の第1次元、
    行方向の第2次元、ビットシーケンス方向の第3次元である。 各ビットシーケンスを同一ビット番号において通過する3次元空間における1平面はビットプレーンと呼ばれる。

    【0024】変換符号化のアプリケーションのため、係数の可能な範囲を表現するために必要とされる係数あたりのビット数は、線形変換と入力画像の(画素あたりのビットで)各画素の解像度によって決定される。 各画素に関する値の範囲は代表的には、変換係数の大部分の値に対して相対的に大きく、大半の係数はゼロが先行する多くの数を有する。 例えば、数値9は8ビット表現で4
    個のゼロが先行し、16ビットの表現では12個のゼロが先行する。 圧縮方法と装置は、効率的な方法で、係数ブロックに関して、これら先行するゼロを表現する(あるいは符号化する)。 残りのビットと数値の符号は修正なしに直接符号化される。

    【0025】説明の簡単化のために、以降において、変換係数は符号のない2進数の形に1つの符号ビットを付けて表現されるものと仮定する。 すなわち、10進数−9
    と9は同じビット列、即ち、1001で表現され、前者は1に等しい符号ビットを有して負の値であることを表現し、後者は0に等しい符号ビットを有して正の値を表現する。 先行するゼロの数は変換係数の範囲によって決定される。 整数表現を用いると、その係数はすでに暗黙のうちに最も近い整数に量子化されるが、このことは本発明においては、必ずしも必要でない。 さらに、圧縮の目的のために、小数点以下のビットに含まれる何らかの情報は通常無視される。

    【0026】領域は一組の連続的な画像係数を含む。 係数という語は以後、画素と相互変換可能なように用いられるが、当業者には良く理解されるように、前者は変換ドメイン(例えば、DWTドメイン)内の画素を参照するために用いられるのが代表的である。

    【0027】(1.1 第一のSWEET画像圧縮方法の符号化処理)最初の画像圧縮方法のより詳細な説明は図3及び図4の参照により与えられる。

    【0028】図3は最初の画像符号化方法を示しているフローチャートである。 ステップ302において、入力画像を用いて処理が開始され、ステップ304で、入力画像は線形変換、好ましくは離散ウエーブレット変換を用いて変換される。 初期領域は画像全体となるように定義される。 例えば、入力画像の3レベルDWTの場合、
    得られる係数は10個のサブバンドから構成され、領域として特定できる。 これ以外に、各々のサブバンドを別々に処理し、各々の初期領域を問題とするサブバンド全体に設定することができる。

    【0029】ステップ306では、絶対値が最大の変換係数の最上位ビット(msb)が決定され、パラメータ
    maxBitNumberはこの係数値にセットされる。 例えば、最大の変換係数が2進数の値00001001(10進数の9)の場合、パラメータmaxBitNumberは3にセットされるが、これはmsbがビット数3のためである、最大の変換係数のMSBより大きい変換係数のmsbより大きい値がセットされてもよい。

    【0030】さらに、ステップ306で、符号化パラメータ、minBitNumberは符号化された画像の品質を指定するためにセットされる。 さらに詳しくは、この符号化パラメータは変換される画像の全ての係数の精度を指定し、必要に応じて変更できる。 例えば、minBitNumberが3では、値が1より元の画像がより粗くなる。

    【0031】オプションとして、本技術は入力画像の符号化表現で出力ヘッダを提供するステップ308を含む。 こうすれば、実際の実行の際、ヘッダ情報は符号化表現の一部として出力される。 例えば、本発明の出力ヘッダは画像の高さと幅、DWTのレベル数、DCサブバンドの平均値、maxBitNumberパラメータ、minBitNumberパラメータについての情報を含む。

    【0032】ステップ310が始まると、変換画像の各々のサブバンドがステップ312とステップ314とで、別々に符号化される。 各サブバンドは独立して低周波数から高周波数の順番に符号化される。 DCサブバンドに関しては、符号化に先行して平均値が除去され、ステップ30
    8でヘッダ情報に符号化される。 ステップ312で、各々のサブバンドはサブバンド全体として初期領域をセットすることにより符号化される。 ステップ314では、
    パラメータとして maxBitNumberとminBitNumberとにより、領域が符号化される。 これは、画像の低解像度バージョンが高解像度以前のビットストリームに符号化されるために階層化コードを提供する。 処理はステップ31
    6で終了する。

    【0033】図4は各々の領域を符号化するために図3
    のステップ314でコールされる手順"Code region(cur
    rentBitNumber, minBitNumber)"の詳細なフローチャートである。ここで、maxBitNumberがcurrentBitNumberとして提供される。ステップ402で処理が始まる。図4
    の領域符号化処理に対する入力はcurrentBitNumberとmi
    nBitNumberパラメータとを含む。 望ましくは、本方法は選択された領域または部分領域で処理がそれ自体をコールできるような再帰てきな技術として実行される。 しかしながら、処理は非再帰的な方法により実行してもよい。

    【0034】決定ブロック404で、currentBitNumber
    パラメータがminBitNumberパラメータより小さいかを決定するためのチェックがされる。 それ以外に、決定ブロック404が真(yes)を返す場合には何も行わずに処理はステップ406の呼び出し手順に戻る。 この条件は選択された領域の全ての係数がminBitNumberより小さいmsb番号を有することを表している。 決定ブロック404は偽(no)を返す場合、処理は決定ブロック4
    08に続く。

    【0035】決定ブロック408では、選択された領域が 1 x 1画素であるか決定するためのチェックを行う。
    決定ブロック408が真(yes)を返す場合、処理はステップ410に進む。 ステップ410では、1 x 1画素が符号化される。 望ましくは、これは符号化表現にmi
    nBitNumberより上の残りのビットを直接出力することを含む。 ステップ412では、処理は呼び出し手順に戻る。 それ以外のの場合、決定ブロック408が偽(n
    o)を返す場合、領域は1つ以上の係数を含んでおり、
    決定ブロック414に処理は続く。

    【0036】決定ブロック414では、それが有意かであるかを決定するために選択された領域をチェックする。 つまり、領域の有意性が調べられる。 領域内で、各々の係数がのmsb数がcurrentBitNumberパラメータの値より小さい場合、その領域は有意でないとされる。 領域の有意性の概念を正確にするために、数学的定義は数式1で与えられる。 与えられたビット数で、仮にcurren
    tBitNumber = nで、領域は以下の場合は有意でないとされる。

    【0037】

    【数1】

    【0038】ここでRは領域、またCijは領域内の係数を示す。

    【0039】決定ブロック414が偽(no)を返すならば、処理はステップ416に続く。 ステップ416では、値0(すなわち第一のトークン)は符号化された表現ストリームに出力され、currentBitNumberパラメータは1だけ減される。 すなわち、この領域の次に低いビットプレーンが処理のために選択される。 処理は決定ブロック404に続き、ここでパラメータcurrentBitNumber
    -1とminBitNumberによりその領域が再処理される。 それ以外の場合、決定ブロック414が真(yes)を返した場合、つまり領域が有意な場合、処理はステップ41
    8に続く。

    【0040】ステップ418では、値1(すなわち、第二のトークン)が符号化表現ストリームに出力される。
    ステップ420では、指定した分割アルゴリズムを用いて選択領域が予め決められた数(望ましくは4)の部分領域に分割される。 使用する分割アルゴリズムはデコーダに知られる。

    【0041】この方法では、矩形領域が使用される。 領域は4個の等しいサイズの(正方形)部分領域に分割されるのが望ましい。 図2に示すように、選択された領域(R)200はM×M係数のサイズを有し、4つの等しいサイズの部分領域210、212、214そして216に分割される。 部分領域の各々はN×Nのサイズで、NはM/
    2に等しい。 初期領域のサイズと形状によってはこれが常に可能とならない。 不可能な場合は、初期領域を多数の正方形領域に分割し、各々が2のべき乗の寸法をとるようにし、これらの区画を別々に符号化できる。 いずれの場合も、インテリジェントな方法で行わなければ、全体的な結果に対してこの初期化は最小の効果をもたらす。 選択的に、ブロック単位のコーダに適している異なる分割が用いられてもよい。

    【0042】ステップ422では、各々の部分領域が同じcurrentBitNumberとminBitNumberパラメータで符号化される。 これは、図4の手順 "Code region(currentBit
    Number, minBitNumber)"の再帰的呼び出しを用いて行うのが望ましい。部分領域の符号化は並列または逐次敵に実施できる。後者の場合、処理は低周波数のサブバンドから高周波数のサブバンドに向かって開始する。

    【0043】符号化された表現において、変換係数はcu
    rrentBitNumberからminBitNumberに画素ビットを単に出力することにより符号化される。 望ましくは、標記に従い、係数ビットがゼロでない場合のみ符号を出力する。
    例えば、currentBitNumber =3の場合で、minBitNumber
    = 1であれば−9(00001001)は符号ビット「1」に続く「100」に符号化される。

    【0044】(1.2 第一のSWEET画像圧縮方法の復号処理)図5は、図3及び4の処理を用いて得られた画像の符号化表現を復号する方法を示すフロー図である。 ステップ502では、符号化表現を用いて処理を開始する。 ステップ504では、ヘッダ情報が符号化表現から読取られて、もとの画像のサイズを決定し、これによって、初期領域サイズを決定する。 また、maxBitNumber
    (符号化処理における初期currentBitNumberに等しい)
    やminBitNumberなどの情報が入力される。 更に、情報は
    DCサブバンドの平均値を含む。

    【0045】ステップ506では、各サブバンドの復号が各々のサブバンドへ領域を設定することから開始される。 ステップ508では、maxBitNumberとminBitNumber
    パラメータを用いて選択領域が復号される。 ステップ5
    10では、逆DWTを復号した選択領域に適用する。 処理はステップ512で終了する。

    【0046】図6は手順コール"Decode region(current
    BitNumber, minBitNumber)"を用いて各領域を復号化するための図5のステップ508の詳細なフロー図である。ここで、maxBitNumberはcurrentBitNumberとして提供される。ステップ602では、処理は開始する。図6
    の領域復号処理に対する入力はcurrentBitNumberとminB
    itNumberパラメータである。 また、本方法は再帰的技術として実行されることが望ましい。 しかしながら、処理は非再帰的な方法で実行することができる。

    【0047】決定ブロック604では、currentBitNumb
    erがminBitNumberより小さいか決定するためのチェックをする。 決定ブロック604が真(yes)を返す場合、処理はステップ606に続き、ここで、呼び出し手順に処理が戻る。 それ以外の場合、決定ブロック604
    が偽(no)を返した場合、処理は決定ブロック608
    に続く。

    【0048】決定ブロック608では、選択された領域が1×1画素のサイズを有するか決定するためのチェックを行う。 決定ブロック608が真(yes)を返す場合、処理はステップ610に続き、ステップ610では、1×1領域が復号される。 処理は、ステップ612
    で呼び出し手順に戻る。 決定ブロック608が偽(n
    o)を返す場合、処理はステップ614に続き、ステップ614では、符号化表現からビットが入力される。

    【0049】決定ブロック616で、ビットが1に等しいか決定するためのチェックを行う。 即ち、その領域が有意であるか決定するために入力はチェックされる。 決定ブロック616が偽(no)を返した場合、処理はステップ618に続く。 ステップ618では、currentBit
    Numberが決定され、処理は決定ブロック604に続く。
    それ以外の場合、決定ブロック616が真(yes)を返した場合、処理はステップ620に続く。 ステップ6
    20では、領域は所定の個数(望ましくは4)の部分領域に分割される。 ステップ622では、部分領域の各々がcurrentBitNumberとminBitNumberを用いて復号される。 このことは図6に示されている手順を再帰的に呼び出す手段により実行される。 ステップ624では、処理は呼び出し手順に戻る。

    【0050】このように、エンコーダでの有意性の決定から出力されたビットはアルゴリズムが採るパスをデコーダに指示し、こうして、エンコーダに倣う。 画素、可能な符号は適当なビット数( currentBitNumberからmin
    BitNumberまで、及び、それら非ゼロがある場合には符号ビット)で単純に読み出し復号される。

    【0051】(1.3 2次元の例)本方法は大部分の変換係数の先行するゼロを効率的に符号化し、その一方で最上位の有意なビットから予め決められた最下位の有意ビットに、minBitNumberパラメータにより指定されるビットを符号化し、符号は単にそのままとする。 このようにして、本圧縮方法は先行するゼロを上手に表現している。 本方法は、ある状況、即ち、離散ウエーブレット変換画像係数の符号化に関して、非常に効果的であり、典型的に大きなダイナミックレンジを示す。 典型的には少数の係数は非常に大きな値を有し、その一方で、大半は非常に小さい値を有している。

    【0052】4×4の係数を含んでいる2次元領域の符号化の例は、図7Aから7Dを参照して説明される。 図7Aの4×4領域700の処理は、全ての係数のうちで最大のビット番号(ビット平面)である7にmaxBitNumb
    erをセットして開始する。

    【0053】

    【数2】

    【0054】図示の目的において、minBitNumberは3にセットされる。 ヘッダーはmaxBitNumberとminBitNumber
    を含む符号化表現で出力されることが好ましい。 このとき、領域700の符号化処理は以下のようになる。

    【0055】currentBitNumber = 7で、領域700はビット番号7(図4の決定ブロック404、408、41
    4、及びステップ418を参照)に関して有意であるので1(1)が出力される。 領域700は、図7Aの左上領域710、右上領域712、左下領域714、そして右下領域716の4つの部分領域に分割される(図4のステップ420を参照)。 各部分領域は2×2の係数を含む。

    【0056】図7Aの部分領域710、712、714
    そして716は図7Bに示された所定の処理シーケンスで順番に符号化される。 ここで領域750は部分領域7
    50Aから750Dの4つを含む。 図中に示されている3
    つの矢印は、処理の順番あるいはシーケンス、すなわち、左上部分領域750A、右上部分領域750B、左下部分領域750Cそして右下部分領域750Dそれぞれの処理を示す。

    【0057】図7Aの部分領域710は最初に符号化される(図4のステップ422を参照)。 CurrentBitNumb
    erが7に等しい場合、1(1)が符号化表現で出力される。 部分領域710は10進数の値200、13、−1
    3、3を有する4個の1×1画素に分割される。 これらの係数の各々はcurrentBitNumber = 7からminBitNumber
    = 3までの各係数のビットを出力することで符号化される(図4の決定ブロック408とステップ410を参照)。 要求されれば符号ビットは出力される。 このようにして、10進数の値200は符号ビット0により続けて11001と符号化される。 係数値13は符号ビット0を伴い00001として符号化される。 係数値−13
    は符号ビット1を伴い00001として符号化される。
    最後に、係数値3は00000として符号化される(符号ビットなし) 。 各係数の符号化表現は、currentBitN
    umberと minBitNumberの間に係数「200」のビットに先行する2つの「1」ビットを含む。 これで、左上の部分領域710の符号化は完了する。 この状態での符号化出力は以下のようになる。

    【0058】

    【数3】

    【0059】ヘッダ情報は前述の表現に示されていない。

    【0060】右上の部分領域712は次に符号化される(図7B参照)。 領域712は7、6,5、そして4に等しいcurrentBitNumberの各々について有意でないので、これらのビット番号に関してゼロ(0)が出力される。 currentBitNumber = 3で1(1)が出力されるのは、このビット平面はビット番号3に関して有意であるからである。 部分領域712は値−11、−8、―4、
    −3 を有する1×1画素の4つに分割される。 これらの10進数の値は符号ビット1を伴ったビット値1と符号ビットのないビット値0として、それぞれ符号化される。 従って、この段階で、符号化表現は以下のようになる。

    【0061】

    【数4】

    【0062】左下の部分領域714は次に符号化される。

    【0063】領域714は7,6、5、4に等しいcurr
    entBitNumberの各々について有意でないので、これらのビット番号に関してゼロ(0)が出力される。 currentB
    itNumber=3では1(1)が出力されるのは、このビット平面はビット数3に関して有意でであるためである。
    部分領域714は値8,1、2、そして−1を有する1
    ×1画素4つに分割される。 これらは符号ビット0を伴う2進数の値1と、符号ビットのない2進数の値0,0
    そして0としてそれぞれ符号化される。

    【0064】最後に、値−2、−2、−3、そして−3
    を有する右下の部分領域716が符号化される。 curren
    tBitNumber = 7, 6, 5, 4, 3の各々で部分領域716はこれらのビット数に対して有意でないためゼロ(0)が出力される。 符号ビットが出力されない。 つまり、符号化表現は以下のようになる。

    【0065】

    【数5】111100100000100000110000000001111100000011
    000000000.

    【0066】デコーダは単に符号化処理に倣って図7C
    に示されたように符号化表現から領域を再編成する。

    【0067】復号処理は多数の方法で「よりスマート」
    に行うことができる。 そのような「よりスマート」な方法の1つは図7Dに図示される。 この場合、非ゼロ係数の大きさは2のminBitNumberのべき乗の半分ずつ各々増加する。 このことは図7Dに示される。 この方法では、
    「スマート」な復号処理は復号された係数ともとの係数との間の平均二乗誤差を一般的に減少できる。 さらに、
    エンコーダは、これ以外にもこのような(タイプの)演算を実行することができ、これによって、デコーダに図7Cに図示した最も簡単な方法を利用させる。

    【0068】(1.4 第二のSWEET画像圧縮方法の符号化処理)他の方法による符号化処理は図9から12を参照して説明される。

    【0069】デジタル画像全体の離散ウエーブレット変換はブロック単位で実行することができる。 各ブロックの変換の結果は一組の係数となり、これは画像全体の離散ウエーブレット変換の一組の空間的に対応する係数と等しい。 例えば、画像全体に関して、離散ウエーブレット変換の所定の係数の組から、デジタル画像の一部またはブロックは指定された細部まで再現できる。 周波数領域から所定の係数の組を選択することは実質的に空間領域からデジタル画像(ブロック)の対応する部分を表現することになる。 デジタル画像のブロック単位の離散ウエーブレット変換は画像を複数ブロックに分解し、各ブロックに対して独立に変換を適用することにより実行でき、これによって実質的に現在の空間的な位置に関連したDWT係数を評価することができる。 ブロック単位の変換を採用する利点は、その画像の他のブロックから最小限の相互作用(実質的には独立)を伴ってブロックを実質的に符号化できることである。 ブロック単位の技術は本質的にメモリーにローカライズされており、コンピュータシステムに適用して実施された場合、一般的に効率的である。

    【0070】図9は第2の符号化方法に関するブロック単位の符号化処理を説明するフロー図である。 処理はステップ902で始まる。 ステップ904で、ヘッダが出力される。 この情報は画像の高さと、幅、ブロックサイズ、DWTのレベル数、2つの符号化パラメータmaxBitNum
    berとminBitNumberを含むのが望ましい。 オプションとして、多かれ少なかれ、ヘッダ情報は用途によって使用できる。

    【0071】符号化パラメータ maxBitNumberは様々な方法により選択できる。 全ての画像ブロックについて、
    これらのうちのいずれかを符号化する前にブロックDW
    Tが実行される場合、maxBitNumberは全部のDWTブロックにわたって最も大きい係数のMSB番号となるように選択できる。 例えば、最大の係数が1000001
    (10進数の値で129)であるとすると、maxBitNumb
    erはMSBはビット番号7であるので、7にセットされる。 これ以外に、入力画像の変換と解像度によって決まる決定範囲を用いることができる。 例えば、8ビットの入力画像(プラス符号7ビットに対してシフトされるレベル)と Haar変換とを伴って、最大のMSBはJ
    +7で区切られ、JはDWTのレベル数である。 ブロックが小さい場合、このパラメータの選択は圧縮に対して有意な効果を有し得る。 場合によっては、より洗練されたmaxBitNumberを選択する方法が採用されてもよい。 しかしながら、これは特定のアプリケーションに依存する。

    【0072】パラメータminBitNumberは圧縮比に対する画質の兼合いを決定し、変更することができる。 例えば、略直交変換では、値3は8ビットグレースケールまたは24ビットRGB画像で十分な画質を与える。

    【0073】ステップ906では、画像はブロックに分解される(あるいは、画像ブロックが形成される)。 画像は重複するブロックに分解されるのが望ましい。 しかしながら、重複しないブロックが採用されるかもしれない。 係数のブロックはもとの画像全体と同程度の大きさとするか、8×8係数(3レベル変換に関して)のブロックと同程度の小ささにすることができる。 メモリの少ないアプリケーションについて、できる限り小さいブロックが採用され得る。 一般に、16係数のブロックサイズは3乃至4レベルのDWTによる高レベルの圧縮に対して十分である。 3レベルDWTでの8×8係数のブロックサイズは各ブロックのDC係数の対して差動パルス符号変調(DPCM)を用いることにより、良好な符号化効率を維持することができる。

    【0074】ステップ908では、各ブロックはレベルシフトされ、変換は実行される。 望ましくは、DWTが使用される。 画像の値はレベルシフトされ(例えば、8
    ビット画像では128だけシフトされる)、望ましくない平均バイアスを減少あるいは排除し、画像のそれぞれの空間ブロックが変換される。 DWTでは。 通常、現在のブロックを取囲むブロックについて何らかの知識が要求されるが、これは厳密には要求されない。

    【0075】ステップ910では、maxBitNumberとminB
    itNumberパラメータを用いてブロックが符号化される。
    処理はステップ912で終了する。

    【0076】ブロックを符号化するためのステップ91
    0は、図10のフロー図に詳細に図示されている。 図1
    0のブロック符号化処理への入力はcurrentBitNumberと
    theminBitNumberパラメータを含む。 図9のステップ9
    10を参照して、maxBitNumberはcurrentBitNumberパラメータとして入力される。 処理はステップ1002で開始する。 決定ブロック1004で、currentBitNumberが
    minBitNumberより小さいかを決定するためのチェックがされる。 もし、決定ブロック1004が真(yes)を返した場合、処理はステップ1006に続く。 ステップ1006では、実行は呼出し処理に戻り、これによって、ブロック内の全ての係数はminBitNumberより小さいMSB番号を有することを示す。 それ以外の場合で、決定ブロック1004は偽(no)を返すと、処理は決定ブロック1008に続く。

    【0077】決定ブロック1008では、現在のブロックが有意であるかを決定するためのチェックを行う。 決定ブロック1008が偽(no)を返すと、処理はステップ1010に続く。 ステップ1010で、符号化表現でゼロ(0)が出力され、currentBitNumberは減ぜられ、すなわち、次に低いビット平面が選択される。 処理は決定ブロック1004に続く。 これ以外の場合、決定ブロック1008が真(yes)を返すと、処理はステップ1012に続く。

    【0078】ステップ1010を併せて、決定ブロック1004と1008とにより、処理はブロック内で最大の係数のMSB番号を見つけ出すことができるようになる。 ブロック内の全ての係数のMSB番号がcurrentBit
    Numberより小さければ、currentBitNumberに対してブロックは有意でない。 これは、ブロックのビット平面が有意かまたはminBitNumberよりcurrentBitNumberが小さくなるまで繰り返される。

    【0079】ステップ1012で、ビット平面は有意であることを示すために、符号化表現に1(1)が出力される。 ステップ1014で、DCサブバンドは符号化される。 ステップ1016では、ブロックの細部は、パラメータJ、currentBitNumber及びminBitNumberを用いて符号化される。 ステップ1018では、実行は呼出し処理に戻る。 つまり、ブロックが有意であれば、ステップ1012、1014、そして、1016は実行され、
    (一般化)クワドツリー セグメンテーションを用いて
    minBitNumberより大きなMSB番号を有する全ての係数を見つける。 ブロックが有意の場合、DCサブバンド係数と残りの係数を含むレベルJに対して、「ブロック細部」と呼ばれるブロックの、2つの「サブブロック」に分割される。 これは、全ての低いレベルでレベルJのブロックについて高い周波数情報を表すためである。

    【0080】DCサブバンドの符号化に関する図10のステップ1014は図12のフロー図により詳細に図示される。 すなわち、図12はcurrentBitNumberとminBit
    Numberパラメータwp用いてサブバンドあるいはサブブロックを符号化する処理を示している。 ステップ120
    2では、処理が開始する。 決定ブロック1204では、
    currentBitNumberがminBitNumberより小さいかを判断するチェックを行う。 決定ブロック1204が真(ye
    s)を返すと、処理はステップ1206に続く。 ステップ1206では、実行は呼出し手順に戻る。 それ以外の場合、決定ブロック1204が偽(no)を返すと、処理は決定ブロック128に続く。

    【0081】決定ブロック1208では、(サブバンド)ブロックサイズが1×1画素であるかを決定するためのチェックを行う。 決定ブロック1208が真(ye
    s)を返すと、処理はステップ1210に続く。 ステップ1210で、1×1画素は符号化される。 これは、必要ならば、符号ビットに続けてcurrentBitNumberとminB
    itNumberを含めて、これらの間にあるビットを出力することを伴う。 処理はステップ1212で呼出し手順に戻る。 それ以外の場合、決定ブロック1208が偽(n
    o)を返すと、処理は決定ブロック1214に続く。

    【0082】決定ブロック1214では、(サブバンド)ブロックが有意であるかを決定するためのチェックを行う。 決定ブロック1214が偽(no)を返すと、
    処理はステップ1216に続く。 ステップ1216で、
    符号化表現でゼロ(0)が出力され、currentBitNumber
    は減じられる。 処理は決定ブロック1204に続く。 それ以外の場合、決定ブロック1214が真(yes)を返すと、処理はステップ1218に続く。

    【0083】ステップ1218では、(サブバンド)ブロックが有意であることを示すために符号化表現で1が出力される。 ステップ1220で、(サブバンド)ブロックは4つのサブブロックに分割される。 ステップ12
    22で、各々のサブブロックは図12の処理に対して再帰的な呼出しによりパラメータcurrentBitNumberとminB
    itNumberとを用いて符号化される。

    【0084】つまり、図12の処理では、サブバンドまたはそのサブブロックは符号化される。 最大のMSB番号は前述のように分離される。 サブブロックが1つの画素のみを包含する場合、単一の係数として符号化される。 それ以外の場合、currentBitNumberは減じられ、cu
    rrentBitNumberがminBitNumberより小さくなるまで、あるいは、サブバンド(サブブロック)が有意になるまで符号化表現にゼロ(0)が出力される。 サブバンド(サブブロック)が有意である場合、4個の(できるだけ等しくなるように)サブブロックに分割され、順番にこれらは符号化される。 単一の係数は例えば、DC係数は、
    currentBitNumberからminBitNumberへ係数ビットを出力することにより符号化される。 また、符号は係数ビットの幾つかが非ゼロの場合のみ出力されるのが望ましい。

    【0085】ブロック細部を符号化するための図10のステップ1016は図11のフロー図により図示される。 ステップ1102で、処理は開始する。 決定ブロック1104では、currentBitNumberがminBitNumberより小さいか判定するためのチェックをする。 決定ブロック1104が真(yes)を返すと、実行はステップ11
    06で呼出し手順に戻る。 それ以外の場合、決定ブロック1104が偽(no)を返すと、処理は決定ブロック1108に続く。

    【0086】決定ブロック1108で、ブロック(細部)が有意か決定するためのチェックを行う。 決定ブロック1108が偽(no)を返すと、処理はステップ1
    110に続く。 ステップ1110で、符号化表現でゼロ(0)が出力され、currentBitNumberは減じられる。 処理は次に決定ブロック1104に進む。 それ以外の場合、決定ブロック1108は真(yes)を返すと、処理はステップ1112に進む。

    【0087】ステップ1112では、ブロック(細部)
    が有意であることを示すために符号化表現に1が出力される。 ステップ1114では、high-low(H
    L),low-high(LH),そしてhigh−h
    igh(HH)周波数サブバンドの各々が符号化される。 HL、LHそしてHH周波数サブバンド各々の解像度は共通にACサブバンドと呼ばれる。 これらのサブバンドの各々は図12の処理に従って符号化される。 ステップ1116では、(ブロック詳細が存在するならば)
    図11に図示されている再帰的な呼出し手順によって、
    パラメータJ−1、currentBitNumberとminBitNumberを用いてブロック細部が符号化される。 実行はステップ1
    118で呼出し手順に戻る。

    【0088】このように、レベルJに関するブロック詳細は最大の係数MSB番号を最初に分離するように処理される。 これは、currentBitNumberを減じ、ブロックが有意になるまでゼロを出力することにより行われる。 ブロックは次にレベルJでの3個の高周波数サブバンドとレベルJ−1について(J−1が0より大きい場合)ブロック詳細に分割される。 この分割アプローチはいわゆる1/fタイプのスペクトルモデルにより導き出される。

    【0089】第2の方法に関する復号処理は図9から1
    2を参照して説明した符号化処理に倣うことで実行され得る。

    【0090】符号化、復号化方法及び装置は画像を記憶するか、送信するかのいずれか或いは両方のために適した表現形式で、効率的かつ柔軟性のある方法でデジタル画像データを表現する。 符号化技術は一般的に変換係数の配列を表現するために使用することができ、また、離散ウエーブレット変換領域において画像を表現することにより効率的な表現を提供するために使用できる。 特に、方法と装置は入力画像から得られた変換係数のブロックの先行するゼロを表現する(あるいは符号化する)。 本技術は、与えられたサイズのコードに関して元画像の良好な再生を与える点と、高速な復号を与える点に関して効率的である。 さらに、本技術は線形変換から得られた係数がエントロピー符号化を用いることなく独立して符号化される点で柔軟性がある。 本方法の有利な側面は符号化の深さ第1の性質を含む。 さらに、サブバンドを符号化する場合、本方法の有利な側面は、各々のサブバンドを別々に階層符号化することが含まれる。

    【0091】(2. 方法の望ましい実施形態)好ましい実施形態は画像データのウエーブレット変換によって最初に処理される。 ウエーブレット変換処理の説明は多くの標準的なテキスト、特に、前記のStollnitzらによる本で与えられる。 標準的なウエーブレット処理の概観は添付図面を参照して説明される。 最初に図13を参照して、オリジナル画像1は離散ウエーブレット変換(DW
    T)を利用して4つのサブ画像3−6に変換される。 サブ画像あるいはサブバンドは通常LL1、HL1、LH1、およびHH1で示される。 サブバンド名の一つの接尾辞はレベル1を示す。 LL1サブバンドはオリジナル画像の低域通過のデシメイトされたバージョンである。 利用されたウエーブレット変換は、例えば、Haar基礎機能、Daubechies
    基礎機能などを変化させ、包含することができる。 LL1
    サブバンドはその時次々と利用され、サブバンド、LL2
    (8)、HL2 (9)、LH2 (10)、HH2 (11)を与える図
    14に示されるように2番目の離散ウエーブレット変換が適用される。 例えば、この処理は、LL4サブバンドが説明される図15において説明されるように続けられて、LL
    4バンド分解処理はDCサブバンドと呼ばれるLL4サブバンドを伴ったオクターブバンドフィルタバンクとして参照される。 明らかに、さらに進んだ分解のレベルは入力画像のサイズに依存して供給される。 各々単一レベルのDWTは、元画像を得るために次々逆にされる。 このため、JレベルのDWTはJの単一レベルの逆DWTの直列として逆変換することができる。

    【0092】階層的に符号化された画像はDCサブバンドを符号化することで処理できる。 次に、残りのサブバンドは減少レベルの順序で符号化される。 4レベルのDWT
    に関して、レベル4のサブバンドはDCサブバンド(LL4)
    の後で符号化される。 それはHL4、LH4、そしてH
    H4サブバンドである。 レベル3(HL3、LH3、およびHH
    3)のサブバンドは、次に符号化されて、レベル2(HL
    2、LH2、およびHH2)とレベル1(HL1、LH1、およびHH
    1)が続く。

    【0093】標準の画像によって、符号化されたサブバンドは通常、画像中の「詳細な」情報を含む。 それゆえ、それらはしばしば値のまばらな配列を含み、現実の圧縮は、サブバンドの量子化とそれらのまばらな行列フォームの効率的な符号化により達成できる。

    【0094】図16に説明をうつして、フローチャート2
    0に図示されている望ましい実施形態は前述したように入力画像データの離散ウエーブレット変換21を最初に求める構成を含む。 次に、各々のサブバンドは階層順により処理される22。 次に、各々のサブバンドの係数が調べられる23。 係数は、後に説明される丸め効果を考慮した効率的な符号化の修正を伴った前述のSWEET符号化方法を利用して符号化される24。

    【0095】図17に説明をうつして, 復号処理30は符号化に対して逆の処理が適用されることを図示している。 復号処理30は階層順31で各々のサブバンドにわたってループする構成を含む。 各々のサブバンドに関して、各係数が調べられる32。 各々の係数のビット平面は、係数が本来あるように再構成するSWEET法を利用して、復号される33。 後で、いったん係数が復号されたら、逆離散ウエーブレット変換35は、オリジナルなデータを再生するために適用される。

    【0096】SWEET符号化方法は、ここおよびオーストラリア仮明細書番号PO4728において説明されているように、DWTサブバンド係数を符号化、復号化するために使用される。 SWEETはビット平面を符号化する方法である、即ち、係数の組はデータセットからなるビット平面を単純に符号化することで効率的に符号化することができる。 例えば、図18において、4つの番号(13
    5、7、191、99)と10進数の形式41に加えて8ビットの2進数表現42のグループを示すテーブル4
    0が図示されている。 ビット平面符号化は暗黙のうちに、あるいは明示的にビット平面7,6、5、4. . と所定の最小ビット平面番号まで符号化することで、このグループを単純に符号化することができる。 ビット平面の符号化を実行するには様々な方法がある。 例えば、最小ビット平面番号が3で、伝達されるべきデータが以下に無い場合、一つのオプションはビット平面7(明示的に1010)で全てのビットを符号化することであり、
    そのとき、ビット平面6(0001)内の全てのビットとビット平面3までの全てのビットが符号化される。 代わりに、係数7(0000)に関するビット平面7からビット平面3の全てのビットを辿って、同様に、係数191(1
    0111)(00000)に関してビット平面7からビット平面3まで全てのビットを辿ると、係数の135(1000
    0)を符号化することができる。

    【0097】しかしながら、好ましい実施形態の効率的な丸め方法の記述が関係する限り、選ばれる符号化の実際の順序は不適切なものである。

    【0098】最小ビット平面番号がビット平面0であるとすると、次に、整数係数に関して、係数は損失なく符号化される。 しかしながら、損失のある画像圧縮アプリケーションに関しては、最小ビット平面番号は通常これより大きく、係数は通常は整数でなく、幾らかの損失が発生するだろう。 図18の例の場合、最小ビット平面はビット平面3であった。 この場合、ビット平面7からビット平面3までの全てのビット42はエンコーダにより符号化され(少なくとも暗黙のうちに) そしてデコーダに送られる。 デコーダは、次に、これら符号化されたビット面42を正確に再構築し、単純な場合、残りのビット平面(ビット平面2,1、0)を0で満たす。

    【0099】望ましい実施形態において、上述の簡単化したアプローチを超えて、符号化効率を高めるために、
    2つの技術が適用される。 一つは、デコーダで丸める、
    あるいはエンコーダで丸める、均一な量子化の形態を最初に用いることができる。 デコーダでの丸めを実行するために、係数は降冪にビット平面n minまで符号化されるとすると、ビット平面 n min −1内の1は平均誤差を減らすために係数に加えることができる。 図18の例にこれを適用すると、その結果は図19に示されたようになる。 係数135は単純に128として復号されるが、ビット平面2で1を付加することは132として復号されることを意味する。 元の係数と復号された係数との間の誤差は単純なケースでは7であるが、図19の例ではわずか3である。

    【0100】改良として、0まで符号化されていない係数のみをエンコーダで丸める際に、丸められる。 ビット平面内で最も有意なビットがビット平面内で符号化された最小値より小さければ、係数はゼロまで符号化される。 例えば、カラム51で、番号7は不変であり続けている、より高いビット平面内に帰着する。

    【0101】ビット平面の符号化の前で、符号化されたビット平面の最小値はビット平面n m inであり、ビット平面n min −1に1を加えることができる。 図18及び19
    の例を繰り返して、10進数の係数135(45)に関してビット平面2で1を加えることは (10000111 + 000
    00100 = 10001011 2進数) 10進数139(図19の5
    2)を与える。 符号器は、前と同じようにビット平面を
    n min (53)まで符号化し、デコーダは非符号化平面をゼロで満たす。 従って、135は(10001000) 136として復号される。

    【0102】典型的な画像またはデータに関して、圧縮の有意量は、画像の典型的な変換が、0に向かって重み傾斜した大きさの分布を有するという事実に依存する。
    これは、小さいマグニチュードを有する係数の確率が高いことを示す図20において概念的に説明される一方、大きいマグニチュードを有する確率は、増加するマグニチュードによって急速に減少する。 図20は更に、n minの大部分の値に関して、2 nminより下位に多くの係数が存在することを図示する。

    【0103】係数の大多数がゼロとして符号化される(すなわち、2 nminより小さい大きさを有する)ので、圧縮の有意量によるビット平面符号化技術を利用することは可能である。 SWEET符号化方法、および、
    大部分の効率的な画像符号化方法は、効率的な方法、代表的にはゼロ(符号化された)係数あたりのビットの分数を伴って、ゼロ(符号化された)係数の大多数を符号化する。 また、図20で図示されたことは、2 nminより小さいマグニチュードを有する係数の有意な数は存在するが、2 nminより大きいマグニチュードを伴う係数の数に対する比較で、2 nminに密なものであるということである。 これは、最小のビット平面n minが何であるとしても、ビット平面符号化前の通常の丸めはゼロに対して符号化されない係数値を有意に増加させる(符号化の前に丸めが実行されないケースと比べて、2 nminより小さく、2 nmin-2より大きいですべての係数は2
    nminまで丸められ、その後、ゼロまで符号化されない)。 符号化の歪みを減少させることは確保できるが、
    この処理はより多くの非ゼロ係数を結果として生じているので、より正確な復号を通じて、圧縮比はかなり小さくなるだろう(SWEET法及び大部分の他の方法の有効性は、より多くの非ゼロ符号化係数を伴ってかなり限定される)。

    【0104】従って、画像圧縮アプリケーションのために、ビット平面符号化に先がけた丸めは、記述されたように、一般に望ましくない。 しかしながら、特定のビット平面符号化方式の知識で、ビット平面符号化に先立つ効率的な丸めの形式を実行することは可能である。 もし係数がゼロに符号化されなければ、ゼロの係数(係数はゼロに符号化)の同じ数を残して、ビット平面 n min -1
    で1ビットを加えることは可能である。

    【0105】更なる改良は、SWEET(および、EZW
    符号化方法における一定の変形)のような符号化方法を作ることができる。 時々、ビット平面n min -1で1が係数に付加される時には、係数の最も有意なビットのビット平面番号が一つ増加する(例えば、00000100は00001011
    を与えるために00000111に付加される時)。 このことは 、係数、あるいは係数のグループに先行するゼロ(最も有意なビットの上のゼロ)を効率的に符号化することに一般的に依存したSWEETのような効率的なビット平面符号化方式では、時として望ましくない。 そして、
    これは圧縮効率に影響を与えうる。 SWEET(さらにEZW符号化方法の一定の変形)によって、係数の2×2のブロックのうちの先行する0が効率的に符号化される。

    【0106】そのポイントを図示するために図21に示したような2×2の係数ブロックの例を考える(1次元形式において)。 ビット平面4より上の0ビット平面は、これらのビット平面が効率的に符号化されるSWEET
    (あるいはEZW)のような方法を用いているので示されていない。 これら先行するゼロを効率的に符号化することで、SWEETは他のビット平面をも同様に容易に符号化する。 例えば、n min =3(60)で、ビット平面4と3は(1001と0011)として、1つの平面あたりの合計で4ビットまたは8ビットを必要とされる。 もし、最も有意なビットのビット平面番号が、ビット平面番号4を越えていないならば、その時1ビットはビット平面2で個々の係数に付加される。 従って、ビット平面2で1は、1
    6、8、そして16として符号化/復号化される係数1
    6、7そして14に付加される。 その時、最も有意なビットがビット平面5に並べられるので、ビット平面2で1
    ビットは29に付加されず、従って、先行する0の符号化の効率に影響を及ぼすことになる。

    【0107】デコーダ丸めの前の形式を用いるとき、0
    まで符号化される7は8まで符号化されることに注意するべきである。 ビット平面符号化に先行した、この丸めの形式は、非ゼロ符号化係数の数を増加させるが、そのような方法は圧縮比に有意な効果をもたらさない。 とにかく係数7に関して符号化が必要なビット平面4および3
    以上が与えられた例では、丸めに余分な負担はない。
    (符号がつけられたデータに関しては、非ゼロ符号化係数の符号ビットを送信することが必要で、従って、8として7を符号化することは符号に関して追加ビットを1
    つ要求する。 )切上げが圧縮比に有意な影響をもたらす他の多くの係数が存在し、それゆえ丸めはこれらのケースでは実行されない。 従って、典型的な変換画像係数に関して、丸めのこの形式は、デコーダにおいて丸めるより一般的に優れている。 さらに、それはエンコーダで単なるハードウェア内で行うことができ、従って、実行することは非常に簡単である。 係数が符号化される時に、
    ビット平面n min -1で1ビットを付加することが係数の最も有意なビットのビット平面番号を、与えられた所望の最大値を超えて増大させるか否か、テストをすることは簡単である。 デコーダはまた非常に簡単であり、単に、
    エンコーダにより送られたビットを再構築し、0によって残りの下位ビット面を(暗黙に)満たす。

    【0108】(2.1 装置の望ましい実施形態)符号化処理は、むしろ、図8で示されているような、従来の汎用目的のコンピュータを用いて実行され、図13から21までのプロセスがコンピュータで実行できるソフトウェアとして実行され得る。 特に、符号化方法のステップは、コンピュータにより実行されるソフトウェアの指示により実行される。 ソフトウェアは2つの部分に分割できる;
    符号化方法を実行するための1つの部分;さらに、ユーザーとの間のユーザーインタフェースを管理する別の部分、である。 例えば、ソフトウェアは、コンピュータ可読媒体、以下で説明される記憶装置を含む、に保存される。 ソフトウエアはコンピュータ可読媒体からコンピュータにロードされ、コンピュータにより実行される。 そのようなソフトウエアあるいは、コンピュータプログラムが記録されたものを有するコンピュータ可読媒体はコンピュータプログラム製品である。 コンピュータでコンピュータプログラム製品を使用するのは、むしろ、本発明の実施形態に従ってデジタル画像の符号化表現にとって、有利な装置をもたらす。

    【0109】コンピュータシステム800は、コンピュータ802、ビデオディスプレイ816、および入力装置818と8
    20を含む。 さらに、コンピュータシステム800は、ラインプリンタ、レーザープリンタ、プロッター、およびコンピュータ802と接続された他の再生機器を含む多くの他の出力装置を備えることができる。 コンピュータシステム800は、モデム通信パス、コンピュータネットワーク、あるいはその類似の適切な通信チャンネル830を使って通信インタフェース808cを経た1台以上の他のコンピュータと接続できる。 コンピュータネットワークには、ローカルエリアネットワーク(LAN)と広域ネットワーク(WAN)とイントラネットおよび/またはインターネットを含んでもよい。

    【0110】コンピュータ802自身は、中央処理装置(単に、以下、プロセッサという)804、ランダムアクセスメモリー(RAM)と読み出し専用メモリ(ROM)、入出力(IO)インタフェース808a、808bおよび808c、ビデオインタフェース810、および図8のブロック812に、一般に表されている1つ以上の記憶装置を含む。 記憶装置8
    12は以下のうちの1つ以上を含むことができる、フロッピーディスク、ハードディスクドライブ、磁気光学式のディスクドライブ、CD-ROM、磁気テープ、またはその技術分野の当業者に既知の多くの不揮発性の記憶装置などである。 804から812までの構成要素のそれぞれは、データ、アドレス、およびコントロールバスを順に含むことができるバス814を経由した1つ以上の他の装置と典型的に接続される。

    【0111】ビデオインタフェース810はビデオディスプレイ816に接続され、コンピュータ802からビデオディスプレイ816に表示するためのビデオ信号を供給する。 コンピュータ802を動作させるためのユーザー入力は、1つ以上の入力装置808bによって与えることができる。 例えば、オペレータはコンピュータ802へ入力を与えるために、キーボード818および/またはマウス820
    などのポインティングディバイスを使用できる。

    【0112】システム800は、単に実例的な目的に関して与えられるものであり、本発明の範囲及び趣旨から逸脱することなく他の形態を採用することは可能である。
    実施形態が実行できる模範的なコンピュータは、IBM-PC
    /ATs、あるいは互換機、またはPCs、Sun Sparcstati
    on(TM)、または同類のマッキントッシュ(TM)ファミリーのうちの1つを含む。 前述は、単に本発明の実施形態が実行できるコンピュータのタイプの模範的なものである。 典型的に、以下に説明される実施形態のプロセスは、ソフトウエア、あるいはコンピュータ可読媒体としてのハードディスクドライブ(一般的には図8のブロック812に図示)に記録されたプログラムとして常駐し、プロセッサ804を用いて読取り、制御される。 ネットワークから取り出されたプログラム、画素データ、
    およびその他のデータの中間的な保存はハードディスクドライブ812とできる限り協調して、半導体メモリー806
    を使って遂行できる。 いくつかの例において、プログラムは、CD-ROMまたはフロッピーディスク(両者は一般にブロック812によって示される)において符号化されてユーザーに供給できるか、または例えばコンピュータと接続されたモデム機器を経たネットワークからユーザーにより読取られる。 さらに、ソフトウェアは、また、他のコンピュータ可読媒体で磁気テープ、ROM、あるいは集積回路、磁気光学式のディスク、ラジオ、またはコンピュータと他の機器との間の赤外線伝送チャンネル、PC
    MCIAのようなコンピュータ可読カード、及びインターネット、さらに電子メール伝送、websites上で記録された情報等を含むイントラネットを含むものから、コンピュータシステム800にロードされる。 前述のものは適切なコンピュータ可読媒体の単なる模範である。 他のコンピュータ可読媒体は本発明の範囲と趣旨を逸脱せずに実行できる。

    【0113】符号化の方法はその機能またはサブ機能を実行する1つ以上の集積回路などの専用ハードウェアで代わりに実行される。 そのような専用ハードウェアは、
    グラフィックプロセッサ、デジタル信号プロセッサ、または1つ以上のマイクロプロセッサー、および関連したメモリーを含んでもよい。

    【0114】前記の内容は本発明の実施形態のわずかな部分を説明したにすぎず、修正、および/あるいは、変化は、本発明の範囲と趣旨を逸脱せずにその技術分野における当業者によってなされ得るものである。 それゆえに、本実施形態は図解となるべき全ての点を考慮するもので、制限的ではない。

    【0115】

    【図面の簡単な説明】

    本発明の実施形態は、例示により、図面を参照して説明される。

    【図1】図1は本特許出願で説明された画像表現技術を示す高レベルブロック図である。

    【図2】図2は本特許出願で説明された分割を示す図である。

    【図3】図3は本特許出願で説明された画像の表現または符号化の方法を示すフロー図である。

    【図4】図4は図3での領域の符号化ステップを示す詳細なフロー図である。

    【図5】図5は図3の方法に従って作成した画像の符号化表現の復号方法を示すフロー図である。

    【図6】図6は図5での領域の復号ステップを示す詳細なフロー図である。

    【図7】図3から6の符号化および復号化の方法に従った2次元、8係数領域の処理を示す図である。

    【図8】図8は汎用目的のコンピュータのブロック線図である。

    【図9】図9は本特許出願で説明された別の方法による画像表現または符号化を示すフロー図である。

    【図10】図10は本特許出願で説明された別の方法による画像表現または符号化を示すフロー図である。

    【図11】図11は本特許出願で説明された別の方法による画像表現または符号化を示すフロー図である。

    【図12】図12は本特許出願で説明された別の方法による画像表現または符号化を示すフロー図である。

    【図13】図13は画像データをウエーブレット変換の処理を説明する図である。

    【図14】図14は画像データをウエーブレット変換の処理を説明する図である。

    【図15】図15は画像データをウエーブレット変換の処理を説明する図である。

    【図16】図16は符号化処理のフローチャートを示す図である。

    【図17】図17は復号化処理のフローチャートを示す図である。

    【図18】図18は一連の数の初期のビット平面を表現する図である。

    【図19】図19は望ましい実施形態の最初の方法を適用した後のビット平面の形式を示す図である。

    【図20】図20は変換画像係数の大きさの典型的な分布を示す図である。

    【図21】図21は代わりの実施形態において用いられるように、多くの数のビット平面表現を説明する図である。

    ───────────────────────────────────────────────────── フロントページの続き (71)出願人 000001007 キヤノン株式会社 東京都大田区下丸子3丁目30番2号 (72)発明者 ジェームス フィリップ アンドリュー オーストラリア国 2113 ニュー サウス ウェールズ州,ノース ライド,トーマ ス ホルト ドライブ 1 キヤノン イ ンフォメーション システムズ リサーチ オーストラリア プロプライエタリー リミテツド内 (72)発明者 アンドリュー ペーター ブラッドリー オーストラリア国 2113 ニュー サウス ウェールズ州,ノース ライド,トーマ ス ホルト ドライブ 1 キヤノン イ ンフォメーション システムズ リサーチ オーストラリア プロプライエタリー リミテツド内

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈