(57)【特許請求の範囲】
【請求項１】
離散型ウェーブレット変換（ＤＷＴ）を使用して得られた画像データの変換されたセットの最適相関の方向を決定するステップと；
誤差値と補償誤差値とを発生することにより、上記画像データの変換されたセットに基いて誤差セットを発生するステップと；
上記決定された最適相関の方向において上記誤差セットのいくつかをコード化するステップとから構成され、
上記画像データの変換されたセットは上記ＤＷＴから発生した複数のサブバンドの１つであり、
前記誤差値は、第１の画素に示された画像データと前記決定された最適相関の方向において前記第１の画素の隣に位置する第２の画素に示された予測値との差であり、
また、前記補償誤差値は、前記誤差値の量子化と逆量子化によって得られ、前回の予測値に加算される値であり、
上記誤差セットのいくつかを量子化した後、量子化された前記誤差値の疑似固定長コード化が行われ、疑似固定長コード化されたコード化値又は前記画像データが直接コード化されたコード化値のいずれかが選択的に出力されることを特徴とする画像圧縮方法。
【請求項２】
前記サブバンドの１つは、ＬＬサブバンドであることを特徴とする請求項１記載の方法。
【請求項３】
前記サブバンドの１つは、ＨＬサブバンドであり、そのＨＬサブバンドが最適相関の垂直方向のサブバンドであり、上記誤差コード化が誤差値を求める際に北隣の予測隣接データ値を考慮することを特徴とする請求項１記載の方法。
【請求項４】
前記サブバンドの１つは、ＨＨサブバンドであり、そのＨＨサブバンドが最適相関の対角方向のサブバンドであり、上記誤差コード化が、誤差値を求める際に西隣の予測隣接データ値と北隣の予測隣接データ値との平均値を考慮することを特徴とする請求項１記載の方法。
【請求項５】
誤差のコード化は、変換されたデータのサブバンド関連を求めることを含むことを特徴とする請求項１記載の方法。
【請求項６】
さらに：
誤差を量子化するステップと；
その誤差の量子化による量子化損の持ち越しを低減するステップと；
を具有することを特徴とする請求項１記載の方法。
【請求項７】
上記量子化損の持ち越しを低減するステップが：
量子化された誤差値を逆量子化することによって補償誤差値を生成するステップと；
上記補償誤差値をフィードバックして前回得られた予測隣接データに加算し、その和がその時現在の予測隣接データとするステップと；
を具有することを特徴とする請求項６記載の方法。
【請求項８】
前記サブバンドの１つは、ＬＨサブバンドであり、そのＬＨサブバンドが最適相関の水平方向のサブバンドであり、上記誤差コード化が誤差値を求める際に西隣の予測隣接データ値を考慮することを特徴とする請求項１記載の方法。
【請求項９】
さらに：
前記誤差セットを発生する前に、前記変換されたセットを量子化するステップを有することを特徴とする請求項１記載の方法。
【請求項１０】
さらに：
前記誤差セットのいくつかをコード化する前に、前記誤差セットを量子化するステップを有することを特徴とする請求項１記載の方法。
【請求項１１】
プロセッサと、このプロセッサに結合したメモリとから構成され；
上記プロセッサは、画像エッジの方向に基いて画像データの離散型ウェーブレット変換されたセット内の最適相関の方向を決定すると共に、誤差値と回復誤差値を発生することによって上記変換されたセットに基いた誤差セットを発生し、
前記誤差値は、第１の画素に示された画像データと前記決定された最適相関の方向において前記第１の画素の隣に位置する第２の画素に示された予測値との差であり、
また上記の回復誤差値は前記誤差値を量子化と逆量子化することによって得られ、前回の予測値に加算される値であり、
上記プロセッサは更に上記誤差セットのいくつかを方向性コード化し、
上記誤差セットのいくつかを量子化した後、量子化された前記誤差値の疑似固定長コード化が行われ、疑似固定長コード化されたコード化値又は前記画像データが直接コード化されたコード化値のいずれかが選択的に出力され、
前記メモリは方向性コード化された誤差セットを蓄積するように構成されたことを特徴とするイメージングシステム。
【請求項１２】
上記ＤＷＴの結果データは、取り込まれた入力画像に９〜７双直交スプライン型フィルタＤＷＴをかける結果得られるデータであることを特徴とする請求項１１記載のイメージングシステム。
【請求項１３】
疑似固定長コード化されたコード化値はルックアップテーブルによって提供されることを特徴とする請求項１記載の方法。
【請求項１４】
疑似固定長コード化されたコード化値はルックアップテーブルによって提供されることを特徴とする請求項１１記載のシステム。
【請求項１５】
さらに：
複数の画素の中で適正に処理されない欠陥画像データを示す画素がある場合、前記画素の画像データは直前の有効なデータによって置き換えられることを特徴とする請求項１記載の方法。
【請求項１６】
さらに：
複数の画素の中で適正に処理されない欠陥画像データを示す画素がある場合、前記画素の画像データは直前の有効なデータによって置き換えられることを特徴とする請求項１１記載のシステム。
【発明の詳細な説明】
【０００１】
発明の背景
１．  技術分野
本発明は、広義にはデータ及び画像圧縮技術に関するものである。より詳しくは、本発明はデータ及び画像圧縮のためのコード化、特に離散型ウェーブレット変換が用いられる場合におけるコード化に関する。
【０００２】
２．  従来技術の説明
イメージングの1つの重要な側面は画像圧縮のプロセスである。ディジタルカメラのようなディジタルシステムにおいては、画像圧縮を用いて許容可能な画像品質を維持しながら可能な限り最小のビット数で大量の画像情報を保存し、送信することが行われる。広く普及している画像圧縮方式の一例として、離散コサイン変換（ＤＣＴ）に基づくＪＰＥＧ（ジョイント・フォトグラフィック・エキスパート・グループ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ））がある。最近、離散型ウェーブレット変換（ＤＷＴ）を用いた新しい画像圧縮方式が開発された。本質的に周期性のＤＣＴと異なり、ＤＷＴは画像のエッジ形状にあるようなデータ中の鋭い不連続点を表すのに最も適しており、また多くの場合より効率的である。また、ＤＷＴは特にディジタルカメラのような小さな携帯型機器にとって時間のかからない効率的なハードウェア実装が可能である。ＤＷＴは、入力画像を図２に示されている一連の「サブバンド」に分解する。これら4つのサブバンドはそれぞれＬＬ、ＨＬ、ＬＨ及びＨＨと命名されており、これらの各サブバンド名中のＨはＤＷＴのハイパス部分の適用を意味し、Ｌはローパス部分を意味する。これらのＤＷＴサブバンド及びその性質についてこの後より詳細に説明する。
【０００３】
データをコード化し圧縮するためには、最初にＤＷＴにかけるか否かにかかわらず、ＤＰＣＭ（差分パルス符号変調）と呼ばれるプロセスを用いることが可能である。ＤＰＣＭにおいては、１つの画素（あるいはデータ値）と隣接画素を用いた予測値との差（誤差値）をコード化することが目標である。この方法では、１つの値と次の値との差はおそらくこれらの値自体より小さいので、高い相関のあるデータセットを比較的少ないビット数（より小さい値）でコード化することができる。相関が弱いデータセットあるいは高エントロピーのデータセットでは、差値（絶対値は使用しない）は元のデータよりコード化しにくいと思われるので、ＤＰＣＭのコード化効率は低下する。例えば、データセット中の各値の取り得る範囲が０〜ｎであるとすると、差の取り得る範囲は−ｎ〜＋ｎであり、この差範囲全体を使ってコード化するにはより多くのビット数が必要になるはずである。イメージングにおいては、エッジ形状、すなわちエッジを定義する画素値が明確に異なる画像の領域はより多くの情報を用いてコード化され、僅かな陰影差あるいは色の濃淡差のような視覚的に有意性の低い情報（ビット数）はより少数のビットを用いてコード化されるという点で、ＤＰＣＭコード化技術は特に有利である。現在使用されている形のＤＰＣＭは、１行の画像すなわち画像部分平面が走査されるのに伴って、それらの画素値がコード化されるという点でシリアル動作である。画素値のコード化は、（１つの画素と隣の画素またはその隣の画素に対する予測値との間の）誤差画像の検出、及びその後におけるその誤差に基づく原画像の画素値及び誤差画像のコード化が必要である。このようなシステムが図１に示されており、以下これについて詳細に説明する。１つの画素と予測した隣の画素との間に誤差がある場合のＤＰＣＭ技術は特に「予測」コード化法と呼ばれる。ほとんどの画像アレイは１行中の値を全て走査するかあるいは取り込んだ後、次の行を走査するので、画素データは西から東に向けて収集される。イメージング機器は行ベース走査を用いることが多いために、ＤＰＣＭは隣接画素は東西方向の隣接画素であるとする。南北方向の画素（すなわち異なる列に属する画素）の誤差画像も考慮することが望ましい場合は、ＤＰＣＭの技術はこれを画像中の全ての画素にわたって同様に行う。
【０００４】
画像走査からあるいは既に保存されている生の画像データから得られた原画像がＤＰＣＭを使用する場合、誤差画像形成方向あるいは方向の集合の勝手な選択が容易に避けられない。しかしながら、ＤＷＴが画像データに最初に適用される場合は、原画像ではなくサブバンドデータがコード化されるべきである。このような場合、ＤＷＴには、コード化されたＤＷＴ画像が任意の方向（または方向の集合）より小さくなる（使用ビットがより少数のこともある）ように、ＤＰＣＭ時に誤差検出のための最良の方向を決定しやすくするような特徴がある。ＤＷＴ処理画像はそのサブバンド内に予測可能な動作態様を持つため、この情報を利用してコード化された画像のサイズを縮小することができる。
【０００５】
このように、ＤＷＴの動作態様に適合し、これを利用するＤＰＣＭ技術であって、誤差検出及びコード化における方向について十分に考慮されたＤＰＣＭ技術の必要がある。
【０００６】
発明の要旨
本発明の方法は、変換された画像データの集合の最適相関の方向を決定し、変換されたデータを誤差コード化することよりなり、その誤差は決定された方向における変換されたデータ値と予測による隣接データ値との間で求められる。
【０００７】
発明の詳細な説明
以下、添付図面を参照して、本発明の実施形態について説明する。これらの実施形態は本発明の種々の態様を例示説明するためのもので、発明の範囲を限定するものとして解釈されるべきではない。これらの実施形態は、主としてブロック図またはフローチャートと関連させて説明する。フローチャートに関しては、フローチャート中の各ブロックは、方法ステップとその方法ステップを実施するための装置要素の両方に対応する。実施形態によって、各ブロックの対応する装置要素は、ハードウェア、ソフトウェア、ファームウェアあるいはこれらを組み合わせた形として構成する可能である。
【０００８】
典型的な画像圧縮法の場合、圧縮解除段階で原画像の近似形しか得られない。この近似形は、ある程度使用する各特定の画像圧縮方式に基づいて相当程度原画像に一致する。そのような損失のある不可逆画像圧縮方式は図１に示すようなデータフローを持つ。図１に示す各ブロックは機能的に表したもので、ハードウェア、ソフトウェアか、ファームウェア、あるいはこれらを組み合わせた形で実施することが可能である。
【０００９】
まず、原画像はいくつかの画素あるいは画素群単位で変換ブロック１１０に通される。本発明の一実施形態によれば、この変換とはＤＷＴ（離散型ウェーブレット変換）を実行していくつかの画像サブバンドを生成することである（図２及び関連説明を参照のこと）。原画像が変換されたならば、サブバンドデータのような変換されたデータは、ＤＰＣＭ（差分パルス符号変調）にかけられ、これによってそれらの変換されたデータから誤差データセットが生成される（ブロック１２０）。
【００１０】
誤差画像は、差（原画素と隣接画素の近似形または予測形との間の）の画素の集合よりなる。誤差画像を用いると、隣接画素に対して高い相関を持ち、従ってそれらによって有意な画像細部が得られることはないという意味で余分である画素値をコード化する必要性を小さくする向きの効果がある。原画像を誤差画像に変換することによって、完全な相関がある隣接画素（光強度が変わらない）は、おそらく０より大きい２つの同じ画素色値／強度値としてではなく、０として表される。その結果、画像を表すのに必要なビット数が少なくなり、そしてこのような隣接画素の相関及び余分度が高いほど、圧縮「比」（ビット数による原画像とビット数による圧縮画像のサイズとの比）は低くなる。誤差データセットが生成されたならば、その誤差データセット及び変換されたデータは共に例えばハフマン・コード化方式及び／またはランレンクス・コード化方式を用いて２進コード化される（ブロック１３０）。
【００１１】
本発明の一実施形態によれば、ＤＰＣＭ（ブロック１２０）は、ＤＷＴの動作態様及びこれから生じるサブバンド特性を考慮に入れて実施される。各サブバンドは、ある方向にあるエッジを他の方向のエッジよりも優先する方向性エッジ特性を有する。本発明の一実施形態によれば、様々なサブバンドのこのような方向性特性を誤差データセットを生成する際に利用することができる。その結果、誤差データセットは、全てのサブバンドに一様に適用される任意の方向で得られる誤差データよりサイズが小さくなる。都合のよいことには、最終圧縮画像は、最も適切な画像情報が伝えられ、他の情報は無視されるという点でデータサイズがより小さくなる。このような各サブバンドの方向特性によって、ＤＰＣＭ法はサブバンド内の相関データをよりよく検出し、その相関性を用いて誤差画像を小さくすることが可能になる。
【００１２】
また、本発明の少なくとも一実施形態によれば、画像のＤＰＣＭ（ブロック１２０）は量子化を含んでいる。量子化は、Ｍ個の値の集合をＮ個の値の集合（ただし、Ｎ＜Ｍ）にマッピングないしは写像する手順である。量子化により、データセットに対して可能なデータ値の総数は減少する。このマッピングは、ｙ＝ｘ／２のような一定の数式に基づいて行われる（ただし、ｘはデータ値、ｙは量子化値を表す）。量子化法を用いて可能なデータ値サイズを縮小すると、画像を表すのに必要なビットの総数が少なくなる。
【００１３】
上記の機能ブロック１１０〜１３０は、画像データを記憶し転送するのに必要なメモリ容量ないしは記憶空間を小さくすることを目的とする圧縮プログラム機能の一例を示す。変換、量子化及びコード化に用いられる方法によって、原画像のデータサイズを圧縮画像のデータサイズで割った圧縮比は変化する。本発明のこの実施形態によれば、圧縮比を効果的に最適化する役割を果たすことができる高度誤差コード化機構にＤＰＣＭの過程に設けられる。画像の圧縮解除は、上に概ね説明した手順を逆に行い、デコードされた画像データについて逆ＤＷＴを実行することによって達成することができる。
【００１４】
図２は、画像に対するＤＷＴ処理動作から生じるサブバンドの例を図解したものである。ＤＷＴは「離散型」アルゴリズムであり、従って入力信号を全ウェーブレットの離散サンプルないしは離散標本によって近似する。従って、これらの離散標本点の故に、ＤＷＴは明確な係数を持つフィルタであると考えることもできる。フーリエ変換あるいは平均化フィルタと異なり、ウェーブレット係数は用途あるいは入力信号の種類に特に適合するように選択することができる。本発明の少なくとも１つの実施形態で選ばれたＤＷＴは、９〜７双直交スプライン型フィルタＤＷＴである。ＤＷＴは、離散型であるため、超大規模集積回路（ＶＬＳＩ）回路のようなディジタル論理回路を用いて実装することができ、従って他のディジタル構成要素と共にチップ上に集積回路として形成することができる。このように、ＤＷＴはディジタルのスチールカメラまたはビデオカメラのようなイメージング装置に容易に実装することができる。ＤＷＴは画像の特徴をよりよく近似することができるため、画像圧縮用として理想的である。さらに、以下に説明するように、ＤＷＴのアーキテクチャは、ただ１つの出力データを生成するのに多くのサイクル数あるいは反復数が必要なフーリエ法や平均化法と異なり、高いデータ処理能力が得られるよう効率的な形で実施することができる。
【００１５】
一般に２次元ＤＷＴとして知られている技術の本質は、入力信号を４つの周波数（これらの周波数は、フィルタリングにおけるハイパス（Ｈ）性あるいはローパス（Ｌ）性を指示する）のサブバンドに分解することである。２次元ＤＷＴは、データ値総数が各々入力データの１／４である４つのサブバンド、ＬＬ、ＬＨ、ＨＬ及びＨＨを作り出す。ＤＷＴは、ＤＷＴの１回の処理により得られる結果データが次のもう１回のＤＷＴ処理にかけることができるような多重分解技術である。反復実行される各分解「レベル」は、前回のレベルのＤＷＴによって生じた「ＬＬ」サブバンドをＤＷＴにかけることにより得られる。これが可能なのは、ＬＬサブバンドは不可欠の画像特徴をほとんど全て含んでおり、前回のレベルのＬＬサブバンド（または１レベルのＤＷＴにおける最初の無圧縮画像）の拡大縮小形と考えることができるためである。ＤＷＴのこの「多重分解」機能により、各サブバンドは、必要に応じて、さらにより小さなサブバンドに分割することができる。
【００１６】
各ＤＷＴ分解レベルｋには４つのサブバンド、ＬＬk、ＨＬk、ＬＨk及びＨＨkが含まれている。第１のＤＷＴ分解レベルは原画像全体についてＤＷＴを実行することにより得られる一方、それ以上のＤＷＴ分解（レベルｋ＋１）は、ＬＬkサブバンドに対してＤＷＴを実行することにより得られる。ＬＬkサブバンドには、画像の拡大縮小形を実質的に再生するのに十分な画像情報を含まれている。ＬＨ1サブバンドは原画像中の水平方向あるいは東西方向のエッジを含んでいる。従って、ＬＨ1は、一般に、南北方向の隣接データより互いに高い相関を持つ東西方向のデータ値を有する。以下に説明するように、ＬＨ1サブバンドのこの特性は、ＤＰＣＭの過程で用いることによって誤差画像によりエントロピー及びデータを低減させることができる。他方、ＨＬ1サブバンドは、原画像中の垂直方向あるいは南北方向のエッジを含んでいる。従って、ＬＨ1は、一般に、南北方向の隣接データより互いに高い相関を持つ東西方向のデータ値を有する。以下に説明するように、ＨＬ1サブバンドのこの特性は、ＤＰＣＭの過程で用いることによってＨＬ1誤差データによりエントロピー及びデータサイズを低減させることができる。ＨＨ1サブバンドは、水平エッジ情報と垂直エッジ情報の単なるベクトル結合と見なすことができる対角方向のエッジを含んでいる。従って、ＨＨ1サブバンドは、単に一意のベクトル方向成分（水平または垂直方向の）中の隣接画素より互いに高い相関を持つ対角方向のデータ値を有する。以下に説明するように、ＨＨ1サブバンドは、２次元ＤＰＣＭが用いられるという点でＨＬ1またはＬＨ1サブバンドとは異なる方法で扱われる。
【００１７】
同様に、ＬＬ1サブバンドにＤＷＴを適用することにより分解された４つの各レベル２のサブバンドについては、各レベル２のサブバンドにレベル１の同じサブバンドの方向性特性に対応する方向性特性がある。従って、ＬＨ2サブバンドはＬＬ1サブバンド画像の水平エッジ情報を有し、ＨＬ2サブバンドはＬＬ1サブバンド画像の垂直エッジ情報を有する。ＨＨ2はその対応するＨＨ1と同様対角エッジ情報を含んでいるが、だだしその対角エッジ情報は元のベース画像ではなくＬＬ1サブバンドから導出される。図２には、２レベルＤＷＴ分解のみし示されている。しかしながら、場合によっては３レベルあるいは４レベルというようにより多くのＤＷＴ分解段を設けることが望ましいこともあると考えられる。一般に、レベルｋのサブバンドは次のような方向性特性を持つ（ｋ＝１の場合、ＬＬ0は原画像を指す）。
【００１８】
ＬＬk−ＬＬk-1サブバンドの拡大縮小形を含んでいる。
ＬＨk−ＬＬk-1サブバンド画像からの水平エッジ情報を含んでいる。
ＨＬk−ＬＬk-1サブバンド画像からの垂直エッジ情報を含んでいる。
ＨＨk−ＬＬk-1サブバンド画像からの対角エッジ情報を含んでいる。
【００１９】
各ＤＷＴ分解レベルで、ＤＰＣＭプロセスは、誤差値をどの方向から計算するかを決定し、これによってサブバンド内でより高い相関があるデータを見つけられる確度を高くする。サブバンドが同一であることによって、エッジの方向、従ってサブバンド中の値間の最適相関の方向に関する情報が得られる。
【００２０】
図３は、本発明の一実施形態によって行われるＤＰＣＭを図解したものである。
【００２１】
図３は、方向性予測コード化（ＤＰＣＭ）システムを表している。図３のシステムは、典型的な画像圧縮システムといくつかの点で異なっている。簡単に言うと、まず方向性予測コード化回路が用いられ、第２にはルックアップテーブルを用いて量子化及び２進コード化が行われる。図３の装置は、予測コード化は各サブバンド毎に異なる誤差予測の方向を考慮することによってサブバンド内のデータの相関性をより有効に利用するという構想を採用しているという点で効果的である。
【００２２】
図３には、入力として、画像取込み装置のＤＷＴ回路または他の構成要素、あるいは情報通信用に構成されたポートから生じるサブバンドのデータ値Ｘi,jが示されている。各Ｘi,jは差回路３００に入力される。差回路３００は、予測された隣接画素値Ｘ′r,sと実際のサブバンドデータＸi,jとの差を計算する。差生成回路３００は、「誤差」あるいはデルタ値と呼ばれる値Δ＝Ｘij−Ｘ′r,sを発生し、出力として供給する。各サブバンドのデータ値Ｘi,jは、誤差補償回路３５によって供給される予測隣接画素値Ｘ′r,sを有する。予測隣接画素値Ｘ′r,sは、次の予測隣接画素値Ｘ′を計算しやすくし、また量子化誤差を低減しやすくするために差生成回路にフィードバックされる。
【００２３】
本発明の一実施形態によれば、予測隣接画素値Ｘ′r,sのｒ及びｓの値はコード化中のサブバンドの方向性特性によって決まる。例えば、サブバンドＬＨの中のデータは水平方向のエッジ情報を含んでいるから、誤差値の計算には西隣のデータを使用すべきである。従って、サブバンドＬＨの場合、ｒ＝ｉ及びｓ＝ｊ−１は、Ｘi,jの西隣（データアレイ中の同じ行の前列）の画素が予測の対象として考慮されており、次いでＸi,jと比較して対応する誤差が計算されるということを示す。サブバンドＨＬ中のデータは垂直方向のエッジ情報を含んでいるから、誤差を計算するには北隣のデータ（あるいは予測データ）を使用するべきである。従って、サブバンドＨＬの場合、ｒ＝ｉ−１及びｓ＝ｊは、Ｘi,jの隣（データアレイ中の同列の前行）の画素が予測の対象として考慮されており、次いでＸi,jと比較して対応する誤差が計算されるということを示す。対角方向のエッジ情報を含んでいるＨＨサブバンドについては、Ｘi,jの北及び西の隣接画素の組合せを考慮するべきである。エッジ形状で画素値が近似する良好な確度が得られるこれらの両方向の隣接画素を考慮する１つの方法は、ＨＨサブバンドについてＸ′r,s＝（Ｘ′i,j-1＋Ｘ′i-1,j）／２となるようにこれらの隣接画素の平均を取ることである。次に、この平均値は誤差を数式で計算するためにＸi,jと比較される。
【００２４】
予測コード化回路３０は、予測値を生成し量子化による誤差を補償する予測値生成／誤差補償回路（ＰＶＥＲ）３５を具有する。ＰＶＥＲ３５は、コード化中のデータがどのサブバンド（ＬＨ、ＨＬあるいはＨＨ）に属するかを指示する制御信号に基づいて判断を行う論理回路網を有することも可能である。もう一つの方法として、これはデータのどの行及び列（ｉ及びｊ）が現在コード化されているかに基づいて判断することも可能である。このような論理回路網は、カウンタ、及び／または一連のフリップフロップ及び処理中のデータの行及び列を追跡する他の状態制御機構を有することができる。
【００２５】
次に、予測コード化回路３０の動作について説明する。差生成回路３００は、Ｘi,jとＸ′r,sとの差を表す値であるΔを生成する。この「誤差」値Δは、ルックアップテーブル（ＬＵＴ）３１０を検索するためのアドレスとして使用される。ＬＵＴ３１０は逆量子化値を計算するためのルックアップテーブルである。ＬＵＴ３１０は所与のΔ誤差値について量子化値と逆量子化値の両方を記憶することができる。ＬＵＴ３１０は、図３に示す誤差補償回路で使用される「補償」誤差値ΔＲを出力する。ＬＵＴ３１０によって出力される補償誤差値ΔＲは量子化及び逆量子化の両方の結果である。例えば、誤差値Δ＝９６は１２という量子化値を持つことができる。量子化値１２は、逆量子化されると、例えば９８という補償誤差値ΔＲを生じる。圧縮を助長するのに役立つのはこの量子化損である。ルックアップテーブルを作成するのに使用される量子化式は、９６や９８のような１２という量子化値にマッピングされる多くの値をもたらすであろう。逆量子化されると、量子化値１２は、この「１２」が９６または９８のどの誤差値を量子化することによって得られたか否かにかかわらず、常に上に与えられた例では９８という逆量子化値を生じる。
【００２６】
誤差値をそのより小さな集合に量子化ことに起因するこの量子化損は、補償機構が適用されなければ行全体の画素に持ち越されることが起こり得る。誤差補償回路３５は、前回の予測隣接画素値をフィードバックして現在の補償誤差値ΔＲに加算することによって量子化損の持ち越しを低減させるように作用する。各予測隣接画素値は、基本的にＸ′r,s（現在）＝Ｘ′r,s(前回）＋ΔＲである与えられる。ＰＶＥＲ３５は、基本的には圧縮解除あるいは順画像圧縮プロセスの逆プロセスである。これは、圧縮解除の段階で行われる逆予測プロセスと同様に行われる。その結果、各データ値の量子化損はその値に局限されることになる。
【００２７】
上に述べたように、予測コード化回路３０は各サブバンドのデータ値Ｘi,jの誤差値Δを生成する。第２のＬＵＴ３２０は、量子化された誤差値の疑似固定長コード化を行うために使用される。この場合も、例えば、Δ＝９６は１２という量子化値を持ち得る。ＬＵＴ３２０は、全範囲の可能なΔ値を量子化値及びそのコードワード（コード化値）にインデックスを付けるためのアドレスとして記憶する。パッカー回路によって送出されたコードワードは、圧縮画像を表すのに十分な情報を含んでおり、後で圧縮解除することによって、予測コード化回路に送られた元の取込み画像の僅かに修正された形をＤＷＴ処理画像全体についてのＸi,j値集合として再生することができる。
【００２８】
例えば、同じサブバンド内の西隣の予測データ値を考慮する必要があるＬＨサブバンドについて考察する。ＬＨサブバンド中の最初のデータ値（例えばＸ1,10）そのものは、そのサブバンド中には西隣の隣接画素を持っていない。従って、そのデータ値に関連した誤差値はその値自身ということになる。次に考慮されるデータ値Ｘ1,11については、西隣の「予測」隣接画素値Ｘ′1,10が、０であるＸ1,10についての予測値に加算される補償誤差値ΔＲ1,10（これは量子化された後逆量子化された誤差値Δ1,10である）としてＰＶＥＲ３５により生成される。従って、Ｘ1,11についての誤差値Δ1,11は、Ｘ1,11−ΔＲ1,10に等しい。次の値Ｘ1,12については、誤差値を計算するために使用される予測値Ｘ′1,11は補償誤差値ΔＲ1,11と前回の予測値Ｘ′1,10との和になる。従って、ＬＨサブバンドについては、一般に：入力データ値Ｘi,jに対して、Ｘ′r,s＝Ｘ′r,s-1＋ΔＲr,s；また、Δi,j＝Ｘi,j−Ｘ′r,sとなる(ただし、ｒ＝ｉ及びｓ＝ｊ−１）。
【００２９】
他方、ＨＬサブバンドでは、同じサブバンド内の北隣の予測データ値が考慮される。ＨＬサブバンド中の最初のデータ値（例えばＸ10,1）自身は、サブバンド中に北隣の隣接画素を持たない。従って、Ｘ10,1に関連した誤差値はＸ10,1そのものになる。次に考慮される同じ列の次の入力データＸ11,1については（垂直方向のエッジが考慮されるので、入力データはＬＨサブバンドの場合のように１行ずつではなく１列ずつ処理される）、北隣の予測隣接画素値Ｘ10,1が、０であったＸ10,1についての予測値に加算される補償誤差値ΔＲ10,1（これは量子化された後逆量子化された誤差値である）としてＰＶＥＲ３５によって生成される。従って、Ｘ11,1についての誤差値Δ11,1は、Ｘ11,1−ΔＲ10,1に等しい。次の値Ｘ12,1については、誤差値Δ12,1を生成するために使用される予測値Ｘ′11,1は補償誤差値ΔＲ11,1と前回の予測値Ｘ′10,1との和になる。従ってＨＬサブバンドについては、一般に、入力データ値Ｘi,jに対して、Ｘ′r,s＝Ｘ′r-1,s＋ΔＲr,s；また、Δｉ，ｊ＝Ｘi,j−Ｘ′r,sとなる（ただしｒ＝ｉ−１及びｓ＝ｊ）。
【００３０】
ＨＨサブバンドのデータ値については、下記の点を除いてＬＨ及びＨＬの場合に概ね説明したのと同じ手順が行われる。入力データは、北隣の予測隣接画素値を西隣の隣接画素値と平均することができるように前回の行をバッファに保存して１行ずつ走査される。この点を除けば、ＨＨサブバンド中のデータの最初の行及び列自身については、ＤＰＣＭは次ように一般化することが可能である：入力データ値Ｘi,jに対して、Ｘ′r,s＝（Ｘ′r,s-1＋Ｘr-1,s）／２＋ΔＲr,s；また、Δi,j＝Ｘi,j−Ｘ′r,s（ただし、ｒ＝ｉ−１、ｓ＝ｊ−１）。
【００３１】
最終レベルのＬＬサブバンドのデータ値は、量子化されずに直接コード化される。この動作を行いやすくするために、マルチプレクサ３４０は、最終レベルのＬＬサブバンド中のデータ以外の全てのデータ値についてＬＵＴ３２０により与えられる量子化されたコードワードを選択し、レベルにかかわらず他の全てのサブバンドに属する値がコード化される時にはＸi,jを選択する。マルチプレクサ３４０によって選択された値は、ＬＵＴ３２０からのコードワードでもＸi,jでも、パッキング回路３５０によってパックされる。
【００３２】
従って、ＬＵＴ３２０は、値Δを量子化／コード化されたコードワードを検索するためのアドレスとして使用するＲＡＭのような簡単なアドレス可能メモリであってもよい。このようなＲＡＭコード化回路は、同じ機能性を達成するために従来用いられているような２進コード化回路と比べて安価である。まだ携帯型ディジタルカメラによる静止画像取込みのような用途の場合、コード化用のテーブルは、取り込まれる全ての画像について用いられる値が書き込まれた同じテーブルを用いて画像取込みに先だって編集することも可能である。
【００３３】
図４は、本発明の１つ以上の実施形態のフローチャートである。
【００３４】
方向性予測コード化の第１段階は、量子化されコード化されるデータのサブバンド関連を検出／導出することである（ブロック４１０）。サブバンド関連を含む一組の制御信号を取り込むこともできれば、カウンタ及びどのデータ（行及び列位置）が処理されているかを追跡する状態制御機構に基づいてサブバンド関連を検出することも可能である。データ値がＬＬサブバンドと関連していることが検知されたならば（ブロック４２０）、そのデータ値は量子化または誤差コード化を行うことなく直接２進コード化される（ブロック４２５）。このＬＬサブバンドはＤＷＴの最後のレベルに属しており（他のレベルではそれらのＬＬサブバンドが次レベルのためにさらに４つのサブバンドに分解されるから）、従ってほとんどの重要な画像情報を含んでいるので、そのまま保存する必要がある。サブバンド関連がＬＨならば（ブロック４３０）、エッジ情報は水平方向であるから、誤差値計算のために西隣の隣接画素値を予測する必要がある（ブロック４３５）。予測及び誤差値計算を行ったならば、データを量子化し、コード化することができる（ブロック４８０）。データのサブバンド関連がＨＬならば（ブロック４４０）、エッジ情報は垂直であるから、誤差値計算のために北隣の隣接画素値を予測する必要がある（ブロック４４５）。予測及び誤差値計算を行ったならば、データを量子化し、コード化することができる（ブロック４８０）。この方法は、入力データセットの方向性特性が導出され、あるいは検出され、誤差がその方向性特性に適合する仕方で計算されるようにして、他の画像圧縮用に容易に修正することが可能である。
【００３５】
上記のどのサブバンド関連も検出されない場合、そのデータはＭＭサブバンドに関連しているはずである。その場合は、データは対角方向により高い相関を有することになり、西隣の隣接画素値（ブロック４５２）及び北隣の隣接画素値（ブロック４５４）を両方共予測する必要がある。これらの予測隣接画素値は互いに平均される（ブロック４５６）。この平均値は、次いで入力サブバンド・データから減算されて誤差値が生成される（ブロック４５８）。この誤差値は量子化され、コード化される（ブロック４８０）。
【００３６】
図５は、本発明の一実施形態による画像処理装置のブロック図である。
【００３７】
図５は、適応エンコーダを含む本発明の少なくとも一実施形態を組み込んだイメージング装置の内部画像処理要素のブロック図である。図５に例示する回路において、センサ６００は、何らかの場面／環境からの色値／強度値である画素値成分を発生する。センサ６００によって発生したｎ−ビット画素値は、取込みインターフェース６１０へ送られる。本発明に関連する状況では、センサ６００は、通常、エリアまたは位置の１「検出」からＲ、ＧあるいはＢ成分の中の１つを検知する。従って、各画素の強度値は、３つの中の１つの色平面のみに対応しており、これらを合わせてバイヤー（Ｂａｙｅｒ）パターン生画像を形成することができる。取込みインターフェース６１０は、センサによって生成された画像を分解し、強度値を個々の画素に割り当てる。画像全体についてのこのような画素の集合は、ディジタルカメラ・センサの代表的な業界実施形態に基づくバイヤーパターンの形になっている。
【００３８】
どのセンサデバイスにおいても、センサ平面中の画素セルの中の一部が場面／環境の照明条件に適切に対応できないのはよくあることである。その結果、それらのセルから生成される画素値は欠陥画素値のこともある。これらの画素は「デッドピクセル」と呼ばれる。「画素置換」ユニット６１５は、各デッドピクセルをその行中のすぐ前に有効であった画素と置換する。ＲＡＭ６１６は、センサによって供給されるデッドピクセル行及び列の索引を記憶する。このＲＡＭ６１６は、取り込まれた画像との関連におけるデッドピクセルの位置を識別しやすくする。
【００３９】
一次圧縮プログラム６２８は、センサ画像データを受け取り、本発明の１つ以上の実施形態に基づく画像圧縮を実行する。ＲＡＭ６２９は、ＤＷＴ特許に記載された圧縮技術を実施する際に、必要に応じて各チャンネル／サブバンドのＤＷＴ係数及び／または量子化しきい値を保存するために使用することができる。一次圧縮プログラム６２８は、上に説明したような方向性予測コード化法を用い、従って生画像に２次元ＤＷＴを適用する結果として既知のデータ相関を利用することによって、コード化データのトータルサイズを縮小する。ＤＷＴ変換は、所望のリアルタイム実行レベルによって、方向性エントロピー・コード化プロセス中にデータをＲＡＭ６２９に一時的に出力することが必要な場合もある。
【００４０】
一次圧縮プログラム６２８は、圧縮された方向性予測コード化出力を２進エンコーダ６３０に供給するように設計することができる。２進エンコーダ６３０は、修正ハフマン符号化のような様々な２進コード化方式を実行するための機能を具備することができる。２進エンコーダ６３０はコード化され圧縮されたデータを記憶装置アレイ６４０に供給する。
【００４１】
６１６及び６２９の各ＲＡＭテーブルは、それぞれのデータをロードし、後で必要があれば修正することができるように、バス６６０と直接通信することができる。さらに、これらのＲＡＭテーブル及びその他のＲＡＭテーブルを用いて、必要に応じて中間結果データを保存することも可能である。
【００４２】
図６は、本発明の一実施形態のシステム図である。
【００４３】
図示例のコンピュータシステム７１０は、任意の汎用あるいは特殊目的の計算機またはＰＣ（パーソナルコンピュータ）のようなデータ処理機械を用いることができ、カメラ７３０に接続されている。カメラ７３０は、ディジタルカメラ、ディジタル・ビデオカメラでも、または任意の画像取込み装置、イメージングシステムあるいはこれらの組合せでもよく、場面７４０の画像を取り込むために用いられる。基本的には、取り込まれた画像は、画像記憶装置７３４に効率的に保存することができるように画像処理回路７３２によって処理され、画像記憶装置７３４としてはＲＯＭ、ＲＡＭあるいは固定ディスクのような他の記憶装置を用いることができる。コンピュータシステム７１０用の画像記憶装置７３４に入れられる画像は、本発明の一実施形態によれば、圧縮され、方向性予測コード化されたデータとして直接記憶することができる。静止画撮像を行うことができるほとんどのディジタルカメラでは、画像はまず記憶され、後でダウンロードされる。そのために、カメラ７３０は余分な遅延なしに次の被写体／場面を迅速に取り込むことが可能になる。本発明は、その様々な実施態様、特に取り込まれた８ビット・バイヤーパターンから直接変換される圧縮画像を得るようにした態様において、カメラ７３０の必要計算量及び付随コストが低減され、より安価なカメラを得ることが可能になる。
【００４４】
画像処理回路７３２は、圧縮及び方向性予測コード化の機能を遂行する。圧縮してコード化された画像は、コンピュータシステム７１０にダウンロードしたならば、デコードしてからプリンタ（図示省略）のような何らかの出力装置あるいはモニタ装置７２０に合わせてレンダリングすることが可能である。画像のデコードは、ペンティアムTM（インテル・コーポレーション社の製品）プロセッサのようなプロセッサ７１２、及びそれは命令アドレス及び結果データを記憶／ロードするために使用されるＲＡＭのようなメモリ７１１を用いて達成することが可能である。
【００４５】
もう一つの実施形態においては、上に説明した方向性予測コード化技術は、直接カメラ７３０中でではなく、コンピュータシステム７１０上で走るソフトウェア・アプリケーションで達成することが可能である。そのような実施形態では、画像処理回路は圧縮画像だけ保存するようにする方が効果的な場合もある。カメラ７３０からのダウンロード後にコード化及び／またはデコードを行うために使用されるアプリケーションは、Ｃ＋＋のような言語で書かれたソースコードから実行可能コンパイルすることも可能である。画像を拡大縮小するために必要な命令に対応するその実行可能ファイルの命令は、ディスク７１８またはメモリ７１１に記憶することができる。さらに、そのようなアプリケーション・ソフトウェアは、他のシステムでの使用のためにネットワークあるいはコンピュータ可読媒体で配布することも可能である。
【００４６】
場面７４０の画像のような画像は、カメラ７３０によって取り込まれると、画像処理回路７３２へ送られる。画像処理回路７３２は、種々の機能、とりわけ圧縮画像の適応コード化機能を実行するＩＣ及びその他の構成要素から成る。画像記憶装置７３４は圧縮してコード化されたデータを保存する。全ての画素が処理されて保存されるか、レンダリングのためにコンピュータシステム７１０に転送されたならば、カメラ７３０は自由に次の画像を取り込むことができる。ユーザまたはアプリケーションが画像のダウンロードを希望あるいは要求すると、画像記憶装置中のコード化された画像データは画像記憶装置７３４から入出力ポート７１７へ転送される。入出力ポート７１７は、図示のバス−ブリッジ階層構造（Ｉ／Ｏバス７１５−ブリッジ７１４−システムバス７１３）を用いてデータをメモリ７１１あるいは、任意態様として、ディスク７１８に一時記憶する。コンピュータシステム７１０は、プロセッサ７１２とメモリ７１１の間の情報転送を容易にするシステムバス７１３、及びＩ／Ｏバス７１５に接続されたブリッジ７１４を有する。Ｉ／Ｏバス７１５は、ディスプレイアダプタ７１６、ディスク７１８、及びシリアルポートのような入出力ポート７１７等の様々な入出力デバイスに接続されている。本発明では、このような入出力デバイス、バス及びブリッジの多くの組合せを用いることができ、図示の組合せはこのような可能な組合せのほんの一例でしかない。
【００４７】
本願で説明した実施形態はもっぱら本発明の原理を例示説明するためのものであり、発明の範囲を限定するように解釈されるべきものではない。むしろ、本発明の原理は、広範にわたるシステムに応用することによって、本願中に説明した効果及びその他の効果を達成することができると共に、他の目的を達成することも可能である
【図面の簡単な説明】
【図１】  損失のある不可逆的画像圧縮方式の構成を図解したものである。
【図２】  画像のＤＷＴ処理の結果得られるサブバンドの構成を図解したものである。
【図３】  本発明の一実施形態に基づき実施されるＤＰＣＭを図解したものである。
【図４】  本発明の一以上の実施形態のフローチャートである。
【図５】  本発明の一実施形態による画像処理装置のブロック図である。
【図６】  本発明の一実施形態におけるシステムの構成を示すブロック図である。
【図１】
0004493215.tif 000002
【図２】
0004493215.tif 000003
【図３】
0004493215.tif 000004
【図４】
0004493215.tif 000005
【図５】
0004493215.tif 000006
【図６】
0004493215.tif 000007