(57)【特許請求の範囲】
【請求項１】
エンコーダ装置によって実施される方法であって、
フラグと語Ｒとからなる構造を有し、その語Ｒを格納するために利用するビット数を決定するステップと；
構造の前記フラグを１とする構造を指定するステップであって、この１のフラグは、該１のフラグを付した構造中の対応する語Ｒが次の構造中の語Ｒと隣接するようにランの長さの一部を形成することを示すものである、１のフラグを有する構造を指定するステップと、
構造の前記フラグを０とする構造を指定するステップであって、この０のフラグは、該０のフラグを付した構造中の対応する語Ｒが前記ランの長さの最上位部分であることを示すものである、０のフラグを有する構造を指定するステップと；
複数の前記構造をまとめてストリング化することによって、前記１つの構造の語Ｒのビット数によって許容される以上に長いランの長さを符号化するステップとから構成されることを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記ランは、画像データのランである方法。
【請求項３】
データ値を符号化するための拡張ゼロ・ラン・レングス符号化スキームにおける語Ｒの長さからなるＭビットのグループにそれぞれがセグメント化されたＮビット・カウンタと、
前記カウンタに結合され、かつ、フラグをセットし、前記カウンタから選択された前記Ｍビットのグループの出力をイネーブルにするように構成された論理ネットワークと
を備える装置であって、
前記拡張ゼロ・ラン・レングス符号化スキームが、
フラグと語Ｒとからなる構造を有し、その語Ｒを格納するために利用するビット数を決定することと；
構造の前記フラグを１とする構造を指定することであって、この１のフラグは、該１のフラグを付した構造中の対応する語Ｒが次の構造中の語Ｒと隣接するようにランの長さの一部を形成することを示すものである、１のフラグを有する構造を指定することと、
構造の前記フラグを０とする構造を指定することであって、この０のフラグは、該０のフラグを付した構造中の対応する語Ｒが前記ランの長さの最上位部分であることを示すものである、０のフラグを有する構造を指定することと；
複数の前記構造をまとめてストリング化することによって、前記１つの構造の語Ｒのビット数によって許容される以上の長さのランを符号化することと
を含んでいる装置。
【請求項４】
デコーダ装置によって実施される方法であって、
データ・ストリーム内に符号化されているランを、フラグと語Ｒとからなる構造を該データ・ストリームから引き出すことによって、復号化する方法であって、
前記フラグが１の場合には、該フラグが１のその構造内の対応する語Ｒは、次の構造内の語Ｒと隣接するようにランの長さの一部を形成し、
前記フラグが０の場合には、該フラグが０のその構造内の対応する語Ｒがランの長さの最上位部分を形成するものである
復号化の方法。
【請求項５】
生画像データを生成するアレイ中に格納される画素値として表される光を受け取るように構成された光サブシステムと、
フラグと語Ｒとからなる構造を有し、その語Ｒを格納するために利用するビット数を決定するイメージプロセッサと；
エンコードされたデータを蓄積する画像メモリとから構成されるシステムであって、
前記イメージ・プロセッサが、
構造の前記フラグを１とする構造を指定することであって、この１のフラグは、該１のフラグを付した構造中の対応する語Ｒが次の構造中の語Ｒと隣接するようにランの長さの一部を形成することを示すものである、１のフラグを有する構造を指定し、
構造の前記フラグを０とする構造を指定することであって、この０のフラグは、該０のフラグを付した構造中の対応する語Ｒが前記ランの長さの最上位部分であることを示すものである、０のフラグを有する構造を指定し；
複数の前記構造をまとめてストリング化することによって、前記１つの構造の語Ｒのビット数によって許容される以上の長さのランを符号化する
ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
（発明の背景）
（１．発明の分野）
本発明は一般にデータおよび画像圧縮に関し、より詳細には、特に適応量子化および離散ウェーブレット変換が利用される場合の、データおよび画像圧縮のための２進符号化に関する。
【０００２】
（２．関連技術の説明）
いわゆる符号化プロセスによる画像および／またはデータ圧縮においては、外部から得られる、あるいは入力されるテキスト・データまたは数値データなどの値のセットを、２進形（１または０）に符号化することができる。符号化の１つの方法は、テキスト（ＡＳＣＩＩ数値名称など）の各１０進数または符号を単純に固定のビット数（語長）に変換することである。例えば、数字２３、１２８および１００は、シーケンス：０００１０１０１  １００００００  ０１１００１００として２進数に符号化することができる。この生の、すなわち純２進符号は、それが単にデータを取り扱い、かつ、それを２進で表しているため、もはや圧縮機能に役立たない。このような符号化は、ゼロの数が、ゼロでないの数より圧倒的に多い場合、特に、このようなゼロ・データ値が連続しており、２進数において大量のゼロの「連続」を作り出している場合、極めて非効率的である。２進変換時にデータを圧縮するために、特にディジタル通信分野において、様々な方法が開発されてきた。画像圧縮あるいはデータ圧縮のための２進符号化方法の中で、ハフマン符号化方式およびランレングス符号化方式の２つの方法が広く用いられている。
【０００３】
古典ハフマン符号化方式は、それぞれＬiビットの符号語によって、Ｎ個の可能データ値の特定データ・セットＳ内の各可能値ｙi（ｉ＝１，．．．，Ｎ）を符号化する可変長符号化技法である。ハフマン符号化方式の目的は、記号ＬiＰ（ｙi）を最小にすることである。ここで、Ｐ（ｙi）は、符号化するデータ・セットＳ内に生じる値ｙiの確率を表している。上記符号語は、互いを識別するために選定される。符号語は可変長であり、例えば、データ・セットＳ＝｛０，１，２，３，４｝の場合、ハフマン符号化方式は、マッピング｛０＝０，１＝１０，２＝１１０，３＝１１１０，４＝１１１１｝を用いることができる。仮にＰ（０）＞＞Ｐ（１）＞＞Ｐ（２）＞＞Ｐ（３）＞＞Ｐ（４）であれば、この技法は、直線固定長２進表示よりもさらに効果的である。上記Ｌiは、セット内の値の数を表すＮの増加に伴ってほぼ直線的にそのサイズが増加するため、ハフマン符号化方式は、符号化データ・セットＳのＮが小さい場合、あるいは、分散が小さい場合に主として有効である。そのため、古典ハフマン符号化方式とは異なる、いわゆるモディファイド・ハフマン符号化方式（ＭＨＣ）が開発され、データ・セット内のＮが大きい、あるいは、分散が大きい画像用に使用されている。
【０００４】
モディファイド・ハフマン符号化方式では、データ値ｙiは、Ｒａｎｇｅ（２Rangeの値を含むセットを識別する）、および、Ｒａｎｇｅ内の特定値を表すＰｏｉｎｔｅｒの２つの領域を有するデータ構造によって符号化される。領域Ｒａｎｇｅは、ハフマン符号化方式によって符号化され、Ｐｏｉｎｔｅｒは、Ｒａｎｇｅビットのサイズを有する２進数として表される。一例として、Ｒａｎｇｅ値１からｎ内に含まれる値は次のとおりである。
・Ｒａｎｇｅ＝０：値｛０｝（領域Ｐｏｉｎｔｅｒ不要）
・Ｒａｎｇｅ＝１：値｛−１，１｝（特定値を表すために、領域Ｐｏｉｎｔｅｒは１ビット必要）
・Ｒａｎｇｅ＝２：値｛−３，−２，２，３｝（領域Ｐｏｉｎｔｅｒは２ビット必要）
・Ｒａｎｇｅ＝ｎ：値｛−２n＋１，−２n＋２，．．．，−２n-1，２n-1，．．．，２n−２，２n−１｝（領域Ｐｏｉｎｔｅｒはｎビット必要）
【０００５】
例えば、符号化するデータが整数値｛−３，−２，−１，０，１，２，３｝の場合の、各値に対する可能ＭＨＣを表１に示す。
【表１】
0004343440.tif 000002
【０００６】
値０は語０にのみ符号化される（すなわち、Ｒａｎｇｅに対するハフマン符号化であり、他のビットに対するハフマン符号化ではない）。値３は１１０１に符号化される。ここで、下線が付された１１はＲａｎｇｅ２のハフマン符号を表し、続く２（＝Ｒａｎｇｅ）ビット０１は、表において、同じくＲａｎｇｅ＝２を有する可能値｛−３，−２，２，３｝の中の値３を「指して」いる。Ｐ（０）が大きい場合、ゼロ値に対して、表１に示すＭＨＣの１ビットしか使用しないため、上記手法は、各値が、その発生する確率に関係なく３ビットに符号化される通常の固定長２進符号化方式よりもさらに効果的である。当然、ＭＨＣは表索引アーキテクチャで設計され、したがって、符号化および復号化のいずれにもより効率的な方式である。
【０００７】
ゼロ・ラン・レングス符号化方式（ＺＲＬＣ）と呼ばれる別の技法は、多数の連続するゼロ値または「ラン」を含むデータ・セットを符号化するための標準の技法である。ＺＲＬＣはゼロ以外の値のみを（ハフマン符号化方式またはその他の符号化方式を用いて）符号化し、次に、コーダおよびデコーダのいずれに対しても知られている方法に従って、２つの連続するゼロでない値を分割する、ゼロの数を特定する符号によってそれらの符号語をインターリーブする。
【０００８】
従来のＺＲＬＣでは、符号化されたゼロ・ラン・データは、ラン・レングスおよびゼロでない値の２つのセグメントを用いて構成される。例えば、次のデータ・ストリーム
｛００００００５０００−６７８００００−１２０００００００００００１４５０００００００００２３｝
を符号化する代わりに、次のデータ
｛［６，５］［３，−６］［０，７８］［４，−１２］［１２，１］［０，４５］，［９，２３］｝
のみが符号化される。この符号（ここで、 はゼロのラン・レングスを表す）は、６個のゼロのあとに値５が続く、次に、３個のゼロの後に値−６が続く、０個のゼロの後に値７８が続く、等々であることを表している。
【０００９】
これらの技法のいずれかを画像圧縮に利用する場合、符号化スキームに先立って画像圧縮の性質を指示し、最良の方式を選択しなければならない。ハフマン符号化方式を用いるべきか、あるいはランレングス符号化方式を用いるべきかを検討するために、画像またはアプリケーション（テレビ会議など）の性質を分析し、考慮しなければならない。高エントロピーを有する画像の場合、ランレングス符号化方式は、ハフマン符号化方式ほど圧縮比が高くなく、またその逆も言える。２進符号化プロセスをデータ・セット（あるいはデータ・セットのサブ・セット）の特性に調整することができない場合、全体の圧縮比が最適ではない結果になり得る。
【００１０】
イメージングの分野においては、画像を収集し（ディジタル・カメラなどによって）、恐らく「色補間」（画像に全色解像度を与えるために、消失した色成分を決定する）を施した後、画像を（２進符号化の前に）「圧縮」し、あるいは、画像を表すために必要な合計ビット数を低減することが多い。「一次」画像圧縮と、引き続いて実施される圧縮データの２進符号化が、テレビ会議、ディジタル・イメージングおよびネットワーク上のビデオ・ストリーミングなどの多重媒体アプリケーションにおいて、重要な役割を果している。このようなアプリケーションのための一次画像圧縮スキームは、個々のアプリケーションに対する許容画像品質を維持しつつ、画像の格納あるいは伝送用のビットレートを低減するように設計しなければならない。
【００１１】
広く使用されている一次画像圧縮技法の１つが、良く知られている離散コサイン変換（ＤＣＴ）を用いて入力画像の画素を変換する、いわゆるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）である。その結果得られる変換画素値が、圧縮を実現するための、より小さい値のセットに量子化またはマップされる。圧縮解除される圧縮画像の品質は、変換画素の量子化をいかに実行するかによって大きく左右される。圧縮比（圧縮画像と比較した元の生画像のサイズ）も量子化に影響されるが、量子化に続いて実施されるデータの２進符号化による影響をより強く受けることになる。
【００１２】
ランレングス符号化方式を使用する場合、続いて実施されるＪＰＥＧ圧縮画像データの２進符号化は、ブロック化によって制限される。ＪＰＥＧの場合、画像は、例えば８×８あるいは１６×１６ブロックの画素ブロックに分割される。これらのブロックは互いに独立して処理され、したがって、最大可能ランレングスが、ブロック・サイズ（６４または１２８）である。したがって、ランレングス符号化方式を使用する場合、ランレングス値は６ビット幅または８ビット幅である。したがって、ＪＰＥＧの場合、ランレングス符号化方式を、ランレングスを構成しているビット数に固定して保持することができる。ブロック・ベースの符号化方式を利用しない場合、各「ラン」（すなわち、連続するゼロの数）を符号化するためのこのような固定ビット数は、ランの最長値を全体画像の寸法に頼っているため、厳しい制限になる。
【００１３】
高圧縮比かつ許容圧縮解除画像品質を実現する他の一次画像圧縮スキームは、画像「サブバンド」すなわち画像周波数帯域を生成することである。これはＪＰＥＧブロックと異なり、画像をブロックに分割しないため、固定ではなく、サイズが変化する。離散ウェーブレット変換（ＤＷＴ）に基づくこのような一次画像圧縮スキームの一例が、「Ｔｈｅ  Ｃｏｍｐｒｅｓｓｉｏｎ  ｏｆ  Ｃｏｌｏｒ  Ｉｍａｇｅｓ  Ｂａｓｅｄ  ｏｎ  ａ  ２−Ｄｉｍｅｎｓｉｏｎａｌ  ＤＷＴ」（以下、「ＤＷＴ」特許という）という名称の、関連米国特許出願に記載されている。このようなＤＷＴベースのスキームでは、各サブバンドおよびチャネル（カラー・プレーンまたはカラー・プレーンの差）が、特に高エントロピーを有するサブバンドにおいて、ランレングス符号化方式ではなく、ハフマン符号化方式の使用を正当化する特性を持つことができる。
【００１４】
画像を圧縮し、次に、ディジタル・カメラまたは他の画像装置上に符号化する場合、ＪＰＥＧ用の通常のランレングス符号化方式では不十分であり、したがって、より実時間に近い復号化を可能にする固定長構造を維持しつつ、可変かつ極めて大きいランレングス値の符号化を可能にするランレングス符号化スキームが必要である。さらに、一次画像圧縮がステージ（例えば、各サブバンド毎に１ステージ）内にデータを生成し、各ステージにおいてデータが、他の符号化方式とは異なる方式を用いた方が有利な特性を有する場合、可能な最も有効な符号化方式で各ステージを処理することができるよう、適応符号化プロセスを設けなければならない。このような機構により、符号化時に得られる圧縮が最大となり、したがって、画像または他のデータに必要な格納／転送サイズを縮小することが可能になる。
【００１５】
（発明の概要）
語Ｒを格納するために利用するビット数を決定することを含んでおり、フラグに付随して語Ｒがあり、フラグと語Ｒがある構造を有し、さらに、前記語Ｒのビットの各々が完全に利用された場合でも、語Ｒのビット数によって許容される以上に長いランの長さを符号化することを含んでおり、前記符号化は、複数のこのような構造をまとめてストリング化することによって実現される方法。ＤＷＴベースの画像圧縮用の代替実施態様では、複数の符号化スキームの中から、データの各サブバンドおよびチャネルに適用するスキームを決定するための方法がある。
【００１６】
本発明の方法および装置の目的、特徴および利点は、次の説明から明らかになるであろう。
【００１７】
（発明の詳細な説明）
図を参照しながら、本発明の例示的実施形態について説明する。ここで示す例示的実施形態は、本発明の態様を示すためのものであり、本発明の範囲を制限するものではない。主として構成図または流れ図に関して例示的実施形態を説明する。流れ図については、流れ図中の各ブロックは、方法ステップと方法ステップを実行する装置要素の両方を表している。実施態様に応じて、対応する装置要素をハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せで構成することができる。
【００１８】
図１（ａ）から図１（ｅ）は、本発明の一実施形態によるモディファイド・ゼロ・ラン・レングス符号化方式のための基本データ構造を示す図である。
【００１９】
ＪＰＥＧ規格では、８×８ブロック化ストラテジのため、ＺＲＬＣにおけるラン・サイズを６３以下の値に仮定することができ、したがって、６ビット語に固定することができる。２−Ｄ  ＤＷＴによって生成されるサブバンド全体を考える場合、ラン値サイズの上限は、全画像サイズによって決まる。したがって、本発明の一実施形態は、２個のゼロでない値の間のゼロの数で定義されるラン・サイズの符号化用として、フレキシブル構造を提供している。構造符号化方式は、フラグＦおよびＭビットの語Ｒからなっている。図１（ａ）は、符号化されたデータの基本フォーマットを示している。このフォーマットでは、１つまたは複数のタイプ（Ｆ，Ｒ）構造の後に、データ・セット内の全てのゼロでない値のＭＨＣ（モディファイド・ハフマン符号）が続いている。各ＺＲＬＣ構造（Ｆ，Ｒ）は、１ビットＦ値およびビットＲ1．．．ＲMを有している。したがって、図１（ａ）では、第１のランレングスは１つの構造（Ｆ，Ｒ）によって符号化される。定義によれば、ゼロでない値に出会ったとき、ランレングスが終了する。例示のゼロでない値は、ＭＨＣ1とＭＨＣ2の２ビットを使用して符号化される。そのゼロでない値の後の、長さが２M−２を超える第２のゼロ・ランは、２つの構造（Ｆ，Ｒ）を使用して符号化される。次のゼロでない値が、ＭＨＣ1（１ビットのみ）を使用して符号化され、続いて他のゼロ・ラン・レングスが、１つの構造（Ｆ，Ｒ）のみを使用して符号化される。図１（ｂ）に示す構造（Ｆ，Ｒ）＝（０，０）は、そのポイントから調査帯域の終わりまでゼロしか存在しないことを指定している。ｒ個のゼロのランを表す場合、（Ｆ，Ｒ）＝（０，１＋ｒ）が用いられる（ただし、ｒ＜２M−１の場合）。図１（ｃ）に示す構造（０，１）は、経路内の次のゼロでない値が、その前のゼロでない値に隣接していることを表している。すなわち、Ｒ−１個のゼロのランが、２個の連続するゼロでない値の間に出現することを表している。したがって、４個のゼロのランは、図１（ｄ）に示すように、構造（０，５）によって符号化されることになる。
【００２０】
ｒ（ランの合計サイズ）が２M−２より長い場合は、ｌｏｇ2（ｒ−２）Ｍ構造が使用される（ここで、yは、ｙをｙより大きい最小の整数へ丸めることを表す）、各構造は、ターミナルすなわちＦ＝０である最終構造を除き、Ｍビットのｒを格納し、Ｆ＝１を有している。図１（ｅ）に、２M−２より長いｒの一例を示す。ランレングスｒが２Ｍ−２より大きい場合、フラグＦ＝０を用いて、ｒの最上位のＭビットを表す。図１（ｅ）は、ランレングス中に８５個のゼロが存在する符号化に対する構造を示したものである。構造（Ｆ，Ｒ）における語ＲのサイズであるＭの長さが４ビットしかないため、ランレングス１４のみを、フラグ０によって符号化することができる。したがって、フラグＦ＝０を用いて、ランレングス数の最上位部分が表される。数８６（１＋ｒ）は、ランレングスｒ中に８５個のゼロが存在するものについて符号化することになる。２進法においては、８６10は、０１０１０１１０であり、このランレングス数の最初のＭビット（Ｍ＝４）は、０１０１である。したがって、この最初の部分が、（Ｆ，Ｒ）＝（０）すなわち００１０１に符号化される。０１１０に符号化されるその値の第２および最後の部分は、Ｆ＝１のフラグを有しており、その前に符号化された値「０１０１」に続くことを表している。（１１１１１０１１）ｂ＝２５１10であり、ランレングス２５０であるｒより１だけ大きいため、ランレングス２５０は、（Ｆ，Ｒ）＝（０，Ｆ16）；（１，Ｂ16）によって符号化されることになる（Ｆ16は１１１１を表し、Ｂ16は１０１１bを表す）。同様に、ランレングスｒ＝４０９１は、構造（０，Ｆ16）；（１，Ｆ16）；（１，Ｃ16）によって符号化することができる（ここで、（ＦＦＣ）16＝４０９２10である）。図１（ｅ）に示すように、出力の順序は、ラン・サイズの最下位ビットから最上位ビット（構造Ｆ＝０を有する）まで、左から右へ、フラグ１の構造を有している。例えば、図１（ｅ）は、ランレングス８５の符号化において、最上位ビットが最後（フラグＦ＝０を有する）に出力されることを示している。同様に、ランレングス２５０は、（１，Ｂ16）（０，Ｆ16）の順に出力され、ランレングス４０９１は、（１，Ｃ16）（１，Ｆ16）（０，Ｆ16）の順に出力される。同様に、Ｉ×Ｍビットが、ｒ＋１の符号化に必要な合計ビット数である場合、出力順序における任意の構造数に対して、（１，Ｒ0）（１，Ｒ1）（１，Ｒ1-2）（０，Ｒ1-1）を用いることができる。このシナリオにおいては、Ｉ−１個の構造がフラグ１を有し、Ｉ番目の構造がフラグ０を有することになる。本発明の一実施形態におけるモディファイドＺＲＬＣの利点の１つは、ラン・サイズを無制限にし、かつ、Ｍビットしか有さない語Ｒの固定長構造（Ｆ，Ｒ）を用いて符号化できることである。
【００２１】
次の各ランのゼロでない値を符号化する場合、以下に示す可能Ｒａｎｇｅ値を用いたＭＨＣ技法を選択することができる。
・０＝｛１｝
・１＝｛−１，２｝
・２＝｛−３，−２，３，４｝
・ｎ＝｛−２n＋１，−２n＋２，．．．，−２n-1，２n-1＋１，．．．，２n−１，２n｝
下の表に、このような値に対するＬＵＴの一例を示す。ＺＲＬＣは、データ・セット内で出現する全てのゼロ値を取り扱うため、ｙ＝０の場合は、このＭＨＣ技法に包含されない。
【表２】
0004343440.tif 000003
【００２２】
この例では、ルックアップ・テーブル（ＬＵＴ）は、各々のセルがｙ（すなわち、符号化されるデータ）によってアドレス指定されるように構成されており、かつ、６ビットを含んでいる。最初の２ビット（「サイズ」領域）が読み取られ、領域「符号」の「サイズ」＋１ビットのみが考慮され、有効情報として格納される。これらの「サイズ」＋１ビットの中の最上位ビットおよび下線が施されたビットが、ハフマン符号化方式を用いて符号化された領域「ｒａｎｇｅ」（この例ではｒａｎｇｅ０、１および２が、それぞれ０、１０、１１に符号化されている）であり、最下位ビットが、領域「ｐｏｉｎｔｅｒ」を構成している。例えば、−２は、語「１１００」（すなわち、「ｒａｎｇｅ」＝１１および「ｐｏｉｎｔｅｒ」＝１０）に符号化されている。
【００２３】
ハフマン符号化方式の効果的な実施には、ある種の統計的分析を必要とするため、本発明の一実施形態では、ＺＲＬＣにおけるゼロでない値に対してＭＨＣを符号化するＬＵＴについて、典型的な画像解析に基づいた最適符号セットを決定することができる。付録ＡからＥは、このような符号を示したもので、ＤＷＴ特許で使用されている画像圧縮スキームによる結果として、各チャネルの各サブバンドに対する５０以上の異なる画像を考慮し、実験的に得られたものである。分析に利用した画像変換用ＤＷＴフィルタは、９−７二直交スプライン・フィルタであり、同じＤＷＴがＤＷＴ特許で利用されている。
【００２４】
図２は、本発明の一実施形態による画像処理データ・フローを示したものである。
【００２５】
静止画像化あるいは動画像化などディジタル・アプリケーションにおいては、ディジタル・カメラなどで捕えた元の画像を、圧縮解除および／または表示のための伝送に先立って、一定の品質レベルを維持しつつ、可能な限り大きいサイズに圧縮することが望ましい。ＤＷＴ特許に開示されている一次画像圧縮技法は、画像品質を維持するために、色および光に対する人間の視覚系の応答を適応的に利用するために特に開発された技法である。本発明の一実施形態によれば、この圧縮の後、データをさらに圧縮するために、適応２進符号化方式が適用されている。
【００２６】
ＤＷＴ特許で記述したように、ディジタル・カメラまたはその他の類似装置で捕えられる生画像は、通常、バイエル・パターンで表される。センサ・アレイ２００は画素位置セットであり、画像化する環境／景色からセンサに入射される光の強度値を各画素位置に含んでいる。バイエル・パターンでは、生画像２００などの画像の各画素位置は、赤（Ｒ）、緑（Ｇ）あるいは青（Ｂ）３つのカラー・プレーンに結合している。バイエル・パターンは、全てのＲおよびＢに対して２個の関連値を有しており、緑カラー・プレーンは、２つのプレーンＧ１およびＧ２と見ることができる。
【００２７】
ＤＷＴ特許における画像圧縮技法によれば、カラー・プレーンＲ、Ｇ１、Ｇ２およびＢ間の相関を、４つの「チャネル」を生成し、個別に圧縮するように利用している。Ｇ１およびＧ２に関連する画素は、圧縮（ブロック２１２および２１４）に直接渡され、２つのチャネルを包含する。ＲおよびＢ画素は、ほとんど直接には処理されない。Ｒ画素値は、その西隣りのＧ１画素値（ブロック２０５）だけ減じられる。この差（Ｒ−Ｇ１）チャネルが圧縮（ブロック２１０）に渡される。同様に、Ｂに関連する各画素は、その東隣りのＧ２関連画素（ブロック２０６）から減じられる。この差（Ｂ−Ｇ２）チャネルが圧縮（ブロック２１６）に渡される。
【００２８】
これらの差チャネルが、純カラー・プレーンＧ１およびＧ２と共にそれぞれ適切な圧縮ステージ（量子化およびＤＷＴ）に渡される。
【００２９】
Ｒ−Ｇ１、Ｇ１、Ｇ２およびＢ−Ｇ２の４つのチャネルの各々が、それぞれ圧縮ブロック２１０、２１２、２１４および２１６に渡される。各圧縮ブロック２１０、２１２、２１４および２１６では、ＤＷＴ特許によれば、２つのプロセスが生じる。第１のプロセスは、二次元離散ウェーブレット変換（２−ＤＤＷＴ）である。２−ＤＤＷＴは、ＤＷＴ特許に示され、記載されているように、画像の「サブバンド」を生成する。ＤＷＴの後、またはＤＷＴ中に、いわゆる量子化である第２のプロセスが実行される。
【００３０】
量子化は、ｎ個の可能値のセットをｍ個の可能セットにマッピングする手順である。ここで、ｍ＜ｎである。量子化により、ＤＷＴ画像データ・セットの合計可能データ値数が減少する。適応ブロック２２０、２２２、２２４および２２６符号化方式は、効果的な２進表現を有するように、それぞれ圧縮ブロック２１０、２１２、２１４および２１６からのサブバンド・データを配置（パック）する。本発明の一実施形態によれば、上記適応符号化方式ブロック２２０、２２２、２２４および２２６符号化方式は、圧縮プロセスによって生成されるサブバンドとチャネルの各組合せに対して、最適の符号化方式を採用している。本発明の実施形態で定義されているモディファイドＺＲＬＣが、良く知られている純モディファイド・ハフマン符号化方式（ＭＨＣ）と共に利用されている。圧縮データが符号化されているチャネルおよびサブバンドに応じて、この２つの方式の１つが採用されることになる。さらに、モディファイドＺＲＬＣは、構造（Ｆ，Ｒ）内のＲの固定ビット数Ｍを使用しているため、符号化されているサブバンドおよびチャネルに応じて、数Ｍを変更することができる。例えば、符号化のための高エントロピーを有するサブバンドでは、より小さいＭ値を選択することができる。次の表３は、９−７二直交スプラインＤＷＴフィルタを使用し、かつ、その結果得られたＤＷＴ係数を、ＤＷＴ特許に記載されている知覚的に無損失のしきい値化によって量子化したバイエル・パターン（生）画像に関して実行したＤＷＴの場合における特定のサブバンドおよびチャネルに対する、経験を主として到達した最適符号化ストラテジを示したものである。
【表３】
0004343440.tif 000004
【００３１】
上記表３において、図１（ａ）から図１（ｅ）および図４に示すように、ＭＨＣは、良く知られているモディファイド・ハフマン符号化方式であり、ＺＲＬＣMはモディファイドＺＲＬＣ方式である。ここで、Ｍは、ランレングスを符号化する構造におけるビット数である。全ての場合において、ＺＲＬＣMは、ＭＨＣを用いてゼロでない値を符号化する。サブバンドＬＨK、ＨＬK、ＨＨKおよびＬＬKは、各レベルまたはＤＷＴの反復Ｋで作成される様々なサブバンドを表している（ＤＷＴ特許参照）。
【００３２】
したがって、各サブバンドおよびチャネルはその特性に応じて符号化される。例えば、チャネルＧ１およびＧ２のＨＨ2サブバンドは、Ｍ＝２のＺＲＬＣを使用し、ＬＨ2およびＨＬ2サブバンドは純ＭＨＣを使用している。図２は、ＤＷＴ特許に示されているように使用された画像圧縮技法の一例を示したものであるが、異なる特性を有するステージまたはサブ領域にデータを生成する全ての画像圧縮技法が、各々に対する符号化が最適になるように、適応符号化方式を利用することができる。圧縮され、符号化された画像データ２４０を、ある媒体に格納し、１つのシステムから他のシステムへ転送し、あるいは、ネットワークなどの通信経路を介して分配することができる。また、この圧縮され、符号化された画像データは、単一フレームとしては収集したり転送する必要がなく、符号化された値でその宛先ヘストリームすることができる。
【００３３】
ＤＷＴ変換、量子化および符号化に使用される正確なパラメータによって、元の画像サイズを圧縮画像サイズで割った値である圧縮比が変化する。本発明によるこの実施形態は、ＤＷＴ特許に記述されている圧縮プロセスによって生成されるチャネルおよびサブバンドの各々における圧縮比を有利に最適化することができる適応符号化プロセスを提供している。
【００３４】
図１（ａ）から図１（ｅ）および図４、図５に記載されている本発明の重要な態様の１つは、モディファイド・ゼロ・ラン・レングス符号化スキームである。モディファイドＺＲＬＣは、あらゆる画像圧縮プロセスあるいはデータ圧縮プロセスに利用することができ、ＤＷＴ特許からの圧縮プロセスの使用は、単なる典型例にすぎない。同様に、サブバンド特性およびチャネル特性に反応する本発明の他の実施形態が備えている適応符号化手順も、画像圧縮を生成する他の種類のステージあるいはサブ領域に反応するように改変することができる。
【００３５】
図３は、本発明の一実施形態による圧縮画像および符号化画像の回復を示したものである。
【００３６】
復号化ブロック、逆量子ブロック、および逆ＤＷＴブロックは、圧縮および符号化画像データ２４０からラン画像２００への回復を試みるプロセスを含んでいる（図２参照）。
【００３７】
圧縮および符号化画像データ２４０は、チャネル毎に、およびサブバンド毎に効率的に格納される。したがって、圧縮および符号化チャネル（Ｒ−Ｇ１）、Ｇ１、Ｇ２および（Ｂ−Ｇ２）を個別に復号化し、圧縮を解除することができる。まず、各チャネルおよび各サブバンドに属するデータが復号化される（ブロック３１０、３１２、３１４および３１６）。図２に示す適応符号化方式（ブロック２２０、２２２、２２４および２２６）には、特定のサブバンドおよびチャネルのデータに適用された符号化方式の種類に適した復号化方式を利用する必要がある。データの各チャネルおよびサブバンドは、他のサブバンドおよびチャネルの符号化に用いられた技法とは異なる技法で符号化された可能性があり、従って、符号化技法の違いの全てを考慮した上で復号化しなければならない。復号化されたデータの各チャネルは、次に圧縮が解除される（ブロック３２０、３２２、３２４および３２６）。図２に示す圧縮ブロックと同様、圧縮解除は、復号化されたデータの量子化解除および逆ＤＷＴ（ＩＤＷＴ）の実行の２つの手順からなる。圧縮解除ステージについては、ＤＷＴ特許にさらに詳細に考察されている。
【００３８】
一度圧縮解除が完了すると、画素毎に生画像２００の近似が得られる。Ｇ１を（Ｒ−Ｇ１）回復値に加え戻し（ブロック３２５）、Ｇ２を（Ｂ−Ｇ２）回復値に加え戻す（ブロック３２６）ことによって、元の生画像２００からの各バイエル・パターン画素値Ｒ、Ｇ１、Ｇ２およびＢがほぼ回復する。
【００３９】
適応復号化方式はハードウェア、ソフトウェアまたはそれらの組合せによって実施することができ、また、圧縮プロセス符号化機能を実行する装置から物理的に分離することができる。さらに、圧縮および回復からなる画像処理のための基本データ・フローも、圧縮ブロックから、必要な所望回復能力を有する所望のシステムあるいはプロセスへの中間転送を含むことができる。
【００４０】
図４は、本発明の一実施形態によるモディファイド・ゼロ・ラン・レングスコーダを示したものである。
【００４１】
語Ｒのビット数Ｍが３であるモディファイド・ゼロ・ラン・レングスコーダは、図４に示すように、カウンタ４１０および論理ネットワークによって実施することができる。上記カウンタ４１０を利用して、２進法における合計ランレングスが決定される。図の例において１２ビットで示されているカウンタ４１０は、システムに必要な任意のビット数を持つことができる。本発明の一実施形態によれば、ｋビットのカウンタは、最大ランレングス値ｒｕｎ＿ｍａｘ  ＝  ２k−２（ｋは、ｒｕｎ＿ｍａｘが最大全体サブバンドまたは画像の寸法以上になるように選択される）を符号化することができる。データ・ストリーム内で遭遇する連続する「ゼロ」の各々が、カウンタを１だけ増分し、ゼロでない値に遭遇するとカウンタ４１０が（０００００００００００１に）リセットされ、次のゼロのランを待つ。図４のカウンタ４１０は、ランレングス（ｒ）が０００１０１００００１０すなわち３２２個のゼロが符号化されている状態を示している。カウンタ４１０は、値１＋ｒすなわち０００１０１００００１１を保持している。このランレングスを、データ構造（Ｆi，Ｒi）で表す必要があり、Ｒiの長さＭが３に等しいため、カウンタ４１０の値は、Ｒ0、Ｒ1、Ｒ2およびＲ3の４つの３ビット・セグメントと見なされる。また、４つの利用可能データ構造の全てを出力する必要がない場合である。例えば図４の例では、値０００１０１００００１１は、出力する必要のない３個の先行するゼロを有している。したがって、各データ構造（Ｆi，Ｒi）に対するイネーブル信号Ｅｎiは、Ｅｎi＝１のときデータ構造（Ｆi，Ｒi）が出力され、Ｅｎi＝０のときは出力されないように生成される。図４は、ゼロでない値（例えば、ＭＨＣで符号化される）に遭遇した場合に、（Ｆ0，Ｒ0）が常に出力されるように、停止およびリセットがかかった場合に、Ｅｎ0が常にイネーブルにされることを示している。
【００４２】
データ構造は、（Ｆi-1，Ｒi-1）が（Ｆi，Ｒi）に先行する順序で出力される。したがって図４の例では、データ構造（Ｆ0，Ｒ0）の後に（Ｆ1，Ｒ1）が続く、その後に（Ｆ2，Ｒ2）が続くことになる。本発明の一実施形態によれば、データ構造（１，Ｒi）における各領域Ｒiを用いて、構造（０，Ｒi）に遭遇するまで単一ランを構成している。このような構造に対するフラグＦ＝０は、Ｒjのビットが、その前に遭遇した、構造（１，Ｒi）で符号化された、すなわちＦ＝１を有する語Ｒiの他の全てのビットで構成される２進数の最上位であることを示している。１つの構造に対するフラグＦ＝０は、ラン・サイズの全てのビットが遭遇したことを示している。したがって、一対の４入力ＯＲゲート４２２および４２４が設けられており、連続する構造のＯＲゲート結果をその入力として有している。したがって、ＯＲゲート４２２の入力の１つは、ＯＲゲート４２４の出力であり、また、ＯＲゲート４２４についてはその入力の１つが、３入力ＯＲゲート４２６の出力になっている。ＯＲゲート４２２の他の３つの入力は、Ｒ1のビットであり、ＯＲゲート４２４の他の３つの入力は、Ｒ2のビットである。Ｒ3の３ビットは、ＯＲゲート４２６の入力を形成している。この縦続ＯＲゲート構造が、ランレングスを表す必要のある多くの構造を正確に出力し、フラグをたてる機能を実施している。
【００４３】
イネーブル信号Ｅｎiの状態が１であれば、構造（Ｆi，Ｒi）が出力される。２入力ＡＮＤゲートが、Ｅｎ0を除き、各イネーブル信号を統率している。Ｅｎ０は、信号「停止およびリセット」４４０によって制御されている（すなわち、ゼロでない値に遭遇したとき１にセットされ、信号「停止およびリセット」４４０が強制される）。Ｅｎ1はＡＮＤゲート４３２の出力であり、Ｅｎ2はＡＮＤゲート４３４の出力、Ｅｎ3はＡＮＤゲート４３６の出力である。上記ＡＮＤゲートの入力の１つは信号Ｍ3（すなわちＥｎ0）であり、もう一方の入力は、連続する構造に属しているフラグＦである。ランレングス数の終わりに遭遇すると、上記フラグＦがゼロになる。例えば図４の例では、Ｆ2＝０であり、したがってＥｎ3はゼロにセットされ、（Ｆ3，Ｒ3）を出力する必要がないことを表している。図に示す例では、「停止およびリセット」がかかったときは、Ｅｎ0、Ｅｎ1およびＥｎ2は全て１であり、構造（Ｆ2，Ｒ2）（Ｆ1，Ｒ1）および（Ｆ0，Ｒ0）のみを出力する必要性と一致している。ランレングス数１０１００００１０（１０１００００１１に符号化される）の一部を形成しているため、Ｒ1が０００であっても、構造（Ｆ1，Ｒ1）を出力しなければならない。逆に、（Ｆ3，Ｒ3）を構成している先行の３個のゼロは、この例においては、ランレングス値を表すための重要な要素ではないため、出力されない。
【００４４】
フラグＦiは、ＯＲゲートの出力を考察することによって到達する。フラグＦ3は、１２ビット・カウンタの特定例の場合、必要に応じて、任意のランレングス値の最上位部分を形成するため、常にゼロでなければならない。ランレングスが２M−２以下の場合、本発明の一実施形態によれば、（Ｆ0，Ｒ0）のみを出力すれば良いことになる。この場合、図１（ｄ）のデータ構造の定義に従って、フラグＦ0は０でなければならない。２M−２以下のランレングスは、カウンタ４１０のＲ1、Ｒ2およびＲ3部分のビットを満たさないことを表している。縦続ＯＲゲート構造に従って、ＯＲゲート４２６、４２４および４２２の出力は全て０を示すことになる。したがって、Ｆ0は、セットされるべき０にセットされることになる。ＯＲゲート４２６、４２４および４２２の出力が０を示す結果、ランレングスが２M−１未満の場合、Ｅｎ1、Ｅｎ2およびＥｎ3もゼロを示すことになり、したがって、構造（Ｆ1，Ｒ1）（Ｆ2，Ｒ2）および（Ｆ3，Ｒ3）の機能が抑止され、出力されない。あらゆる場合においてＥｎ0＝１であるため、構造（Ｆ0，Ｒ0）が出力され、０から２M−２の範囲の任意のランレングスを適切に表すことができる。ＺＲＬＣコーダは、Ｍの選択および所望の合計カウンタ範囲に応じて改変することができる。
【００４５】
図５は、本発明の一実施形態による適応コーダの構成を示したものである。
【００４６】
ＤＷＴ特許に記述されているように、ＤＷＴの各レベルｋにおけるＬＬK、ＬＨK、ＨＬKおよびＨＨKサブバンドが、サブバンドＬＬK-1を最初として生成される（ｋ＝１の場合、開始データ・セットは画像そのものである）。ＤＷＴ特許によれば、レベルｋ＋１の他の３つのサブバンドを生成するために、ＬＬKサブバンドが変換される。次に、サブバンドＬＨK、ＨＬKおよびＨＨKが量子化され、符号化される。ＤＷＴ解像度の最終レベルが得られるまで、サブバンドＬＬ上を、「ピラミッド」方式でＤＷＴを反復する場合、最終レベルＬＬサブバンドが量子化され、符号化される。他のＬＬKサブバンドは、次のレベルのサブバンドへさらに変換することによって表されるため、それらを量子化し、符号化する必要はない。
【００４７】
最終レベルＬＬサブバンド以外のサブバンドの符号化は、次のように実現される。信号符号化ストラテジが、入力サブバンドを、本発明の様々な実施形態に従って示されたモディファイドＺＲＬＣを用いて符号化するか、あるいは、純ＭＨＣを用いて符号化するかを、何らかの定義済突合せ（上記表３に示すような）に従って指示することになる。符号化ストラテジは、決定ブロック５２０に渡される。決定ブロック５２０は、フロー制御を論理経路の１つに渡す。上記符号化ストラテジが純ＭＨＣを指示した場合、上記決定ブロック５２０は、ＭＨＣ用ＬＵＴ（ルックアップ・テーブル）５３０にフロー制御を渡す。サブバンド、レベルおよび／または符号化するデータのチャネルに基づいて、ＬＵＴ５３０の１つが選択され、サブバンド・データが、ＭＨＣに従って符号化される。ＬＵＴ５３０は一連の表であり、特定入力値に対するマッピングまたはハフマン符号を含んでいる。特定の入力サブバンド・データに対するＬＵＴ５３０から得られるハフマン符号値は、符号化データ５７０になる。
【００４８】
決定ブロック５２０に渡された上記符号化ストラテジが、ＺＲＬＣを用いることを指示した場合、フロー制御はブロック５２５に渡される。
【００４９】
ランレングスを符号化するモディファイドＺＲＬＣM（Ｍは、構造（Ｆ，Ｒ）におけるＲのビット数を表す）が、ＤＷＴブロックからのサブバンド・データ値「ｙ」をゼロと比較することによって実行される。この試験が真であれば、ランレングスコーダ５６０のカウンタは、ランレングスを値ｒだけ増加する。ゼロでないｙ（サブバンド値）に遭遇すると、この値が、ＺＲＬＣ用ＬＵＴ５４０に対するアドレスとして使用される。上記ＺＲＬＣ用ＬＵＴ５４０は、そのゼロでない値に対するＭＨＣマッピングを含んでいる。
【００５０】
圧縮／符号化データ５７０を形成するために出力された、上記ＬＵＴ５４０から見出されたゼロでない値のＭＨＣの前に、ランレングスコーダ５６０のカウンタが停止され、Ｍ＋１ビットの構造（Ｆ，Ｒ）が出力されて、圧縮／符号化データ５７０用の符号化ランレングスになる。次に、ランレングスコーダ５６０のカウンタが、値１にリセットされ、同時期に存在した、ＬＵＴ５４０からの遭遇ゼロでない値のＭＨＣが、ランレングスコーダ５６０から出力される構造（Ｆ，Ｒ）に、ＭＨＣが続くように、圧縮／符号化データ５７０に出力される。ランレングスコーダ５６０はさらに、リセット信号、Ｍ2信号およびＭ3信号の３種類の信号によって統率されている。リセット信号は、新しいサブバンドの開始データを表している。信号Ｍ2は、Ｍ＝２、構造（Ｆ，Ｒ）における語Ｒのサイズが２の場合におけるＺＲＬＣ2の実行を表している。Ｍ2がアサートされたとき、Ｍ＝２に一致する論理ネットワークが、ラン・カウンタと共に動作するようにイネーブルにされる。Ｍ3がアサートされたとき、図４に示すように、Ｍが３に一致する論理ネットワークが、ラン・カウンタと共に動作するようにイネーブルにされる。したがって、本発明の一実施形態では、コーダ５６０に、それぞれ異なるＭ値に適合し、かつ、全てを同じカウンタ場合でも使用することができる複数の論理ネットワークを持たせることができる。
【００５１】
最後に、サブバンド全体をスキャンする場合、仮に、最後のｙがゼロであるとすると、Ｍ＋１個のゼロのみを出力し、終端語（Ｆ，Ｒ）＝（０，０）を表すことができる。
【００５２】
サブバンドＬＬFINALの符号化は異なるデータ・フローに従う。高圧縮を実現するために、量子化および誤り符号化（ブロック５１０）を含む単純予測符号化方式が、そのＬ１サブバンドに適用される。ＬＬサブバンドの量子化係数を符号化する代わりに、隣接する、すなわち連続する値間の誤り値が、エントロピー符号化スキームによって符号化される。これらの値は純ＭＨＣを用いて符号化され、したがって、ＭＨＣ用ＬＵＴ５３０が使用される。モディファイドＺＲＬＣの完全セットが、元の生画像の圧縮バージョンを表すＭＨＣ符号化データである。ＤＷＴ特許に参照されている各「チャネル」を、付録ＡからＥに示すようなＭＨＣ値を含む適当なＬＵＴ５３０または５４０にアクセスする図５の論理で考察し、個別に符号化することができる。
【００５３】
図６は、本発明の一実施形態による画像プロセッサの構成図である。
【００５４】
図６は、適応コーダを含む本発明の少なくとも１つの実施形態に組み込まれた画像化装置の画像処理部品の内部構成図である。図の例示的回路では、センサ６００が、何らかの景色／環境からの色／強度値である画素成分を生成している。センサ６００によって生成されるｎビットの画素値が、キャプチャ・インタフェース６１０に送られる。本発明に関連する上記センサ６００は、通常、領域または位置の１個の「センス」からＲ、ＧまたはＢ成分のいずれか１つをセンスする。したがって、各画素の強度値は、３つのカラー・プレーン（あるいは、Ｇ１およびＧ２を別個に考察する場合は、４つのカラー・プレーン）のうちの１プレーンのみに関係し、共にバイエル・パターン生画像を形成することができる。上記キャプチャ・インタフェース６１０は、センサが生成した画像を解像し、個々の画素に強度値を割り当てる。全画像に対する全てのこのような画素のセットが、ディジタル・カメラ・センサの通常の工業実施態様に従ってバイエル・パターン化される。
【００５５】
センサ・プレーン中の画素セルの幾つかが、景色／環境中の電光状態に適切に反応しないことは、あらゆるセンサ装置において通常のことである。その結果、これらのセルから生成される画素値が欠陥値になる可能性がある。これらの画素は「死画素」と呼ばれている。「画素置換え」ユニット６１５が、死画素の各々を列内の直近の有効画素と置き換えている。ＲＡＭ６１６は、センサによって供給され、上記死画素の行索引および列索引からなっている。このＲＡＭ６１６は、捕えた画像に関連して死画素の位置の特定に役立っている。圧伸モジュール６２５は、センサが捕えたｎビット（典型的にはｎ＝１０）の元の画素強度の各々を、ｍビットの強度値に変換するように設計されている。ここで、ｍ＜ｎ（典型的にはｍ＝８）である。センサ６００およびキャプチャ・インタフェース６１０が、１画素当たりｍビットの値をもたらす場合は、圧伸モジュール６２５は不要である。
【００５６】
一次圧縮器６２８は、圧伸されたセンサ画像データを受信し、ＤＷＴ特許で考察されているＤＷＴベース圧縮などの画像圧縮を実行する。ＲＡＭ６２９を用いて、ＤＷＴ特許に記載されている圧縮技法の実行において、所望のチャネル／サブバンドの各々に対するＤＷＴ係数および／または量子化しきい値を格納することができる。一次圧縮器６２８は、チャネルおよびサブバンド毎の圧縮出力を適応コーダ６３０に供給するように設計することができる。適応コーダ６３０は、図４および図５に示す設計と同様に設計することができる。本発明の一実施形態によれば、適応コーダ６３０を備え付けて、本発明の他の実施形態で使用している純ＭＨＣおよびモディファイドＺＲＬＣなど、様々な２進符号化スキームを実行させることができる。ＲＡＭ６３１を構成して、適応コーダ６３０が利用するＭＨＣＬＵＴおよびＺＲＬＣＬＵＴを格納させることができる。上記適応コーダ６３０は、符号化され、圧縮されたデータを格納アレイ６４０に供給する。適応符号化方式の結果、上記格納アレイ６４０を、多くの可能２進符号化技法の中のわずか１つの技法を画像データに一律に適用する典型的非適応コーダより小型に設計することができる。各画像（または、サブバンドのような副次的な結果による画像圧縮）は、ある符号化スキームの使用が他の符号化スキームを使用するより有利な独自の特性を有しているため、適応符号化方式は、圧縮する、しないにかかわらず、画像データを符号化する場合に特に有利である。
【００５７】
ＲＡＭ表６１６、６２６、６２９および６３１の各々は、バス６６０と直接通信することができ、そのデータをロードし、必要に応じて後で修正することができる。また、これらのＲＡＭ表および他のＲＡＭ表を利用して、必要に応じて中間結果データを格納することができる。図６の画像化装置へ外部転送する準備が整うと、格納アレイ６４０のデータを転送のためにデータをバス６６０上に出力することができる。またバス６６０は、必要に応じて、ＲＡＭ表６１６、６２６、６２９および６３１の更新を容易にしている。
【００５８】
図７は、本発明の一実施形態のシステムを示したものである。
【００５９】
図はコンピュータ・システム７１０を示しており、該コンピュータ・システム７１０は、ＰＣ（パーソナル・コンピュータ）などの任意の汎用または専用計算機あるいはデータ処理装置を用いることができ、カメラ７３０に結合されている。カメラ７３０にはディジタル・カメラ、ディジタル・ビデオ・カメラまたは任意の画像キャプチャ装置、画像システムまたはそれらの組合せを使用することができる。カメラ７３０を利用して、景色７４０の画像が捕えられる。本質的には、捕えられた画像は、ＲＡＭまたは固定ディスクなど他のメモリである画像メモリ・ユニット７３４に効果的に格納させることができるように、画像処理回路７３２によって処理される。最終的にはコンピュータ・システム７１０に入る、上記画像メモリ・ユニット７３４内に格納された画像は、本発明の一実施形態に従って、圧縮され、適応符号化された画像として直接格納することができる。静止画像化を実行することができるほとんどのディジタル・カメラでは、最初に画像が格納され、次にダウンロードされる。これにより、カメラ７３０は余分に遅延することなく、速やかに次の目標物／景色を捕えることができる。本発明は、その様々な実施形態において、特に、捕えた８ビット・バイエル・パターンから直接変換された圧縮画像を提供することにより、カメラ７３０の計算必要条件および関連コストを削減し、より安価なカメラの使用を可能にしている。
【００６０】
本発明の１つまたは複数の実施形態によれば、画像処理回路７３２が圧縮および適応符号化を実行している。コンピュータ・システム７１０にダウンロードすると、圧縮され、符号化された画像を復号化し、プリンタ（図示せず）などの出力装置あるいはモニタ装置７２０に引き渡すことができる。画像復号化は、ＰｅｎｔｉｕｍTM（ＩＮＴＥＬ社の製品）Ｐｒｏｃｅｓｓｏｒなどのプロセッサ７１２、および、命令アドレスおよび結果データを格納／ロードするために用いられるＲＡＭなどのメモリ７１１を使用して実現することができる。上記コンピュータ・システム７１０は、モディファイドＺＲＬＣおよびＭＨＣに必要な、図５および図６に示すＬＵＴをカメラ７３０に提供することができる。
【００６１】
他の実施形態では、既に記述した適応符号化技法およびモディファイドＺＲＬＣ技法を、カメラ７３０内で直接実施するのではなく、ソフトウェア・アプリケ−ションをコンピュータ・システム７１０に実行させることによって実現することができる。このような実施形態では、画像処理回路は、圧縮画像のみを有利に格納することができる。カメラ７３０からダウンロードされた後、符号化および／または復号化を実行するために使用されるアプリケーションは、Ｃ＋＋などの言語で書かれた原始符号から実行可能にコンパイルされたものからのもので良い。その実行可能ファイルの命令は、画像の基準化に必要な命令に対応しており、ディスク７１８またはメモリ７１１に格納させることができる。さらに、他のシステムでも使用できるように、このようなアプリケーション・ソフトウェアをネットワーク上あるいはコンピュータ読取り可能媒体上に分散させることも可能である。
【００６２】
景色７４０のような画像がカメラ７３０によって捕えられると、その画像は、画像処理回路７３２に送信される。該画像処理回路７３２は、とりわけ圧縮画像の適応符号化機能を実行するＩＣその他の部品からなっている。画像メモリ・ユニット７３４は、圧縮され、符号化されたデータを格納する。一度全ての画素が処理され、格納され、あるいはレンダリングのためにコンピュータ・システム７１０に転送されると、カメラ７３０は自由になり、次の画像を捕えることができる。ユーザまたはアプリケーションが画像のダウンロードを希望／要求した場合、上記画像メモリ・ユニット内の符号化データが、画像メモリ・ユニット７３４からＩ／Ｏポート７１７へ転送される。該Ｉ／Ｏポート７１７は、図に示すバス・ブリッジ階層構造（Ｉ／Ｏバス７１５からブリッジ７１４を経てシステム・バス７１３）を使用して、データを一時的にメモリ７１１または任意選択でディスク７１８に格納する。上記コンピュータ・システム７１０は、プロセッサ７１２およびメモリ７１１との情報通信を容易にするシステム・バス７１３と、Ｉ／Ｏバス７１５に結合しているブリッジ７１４とを備えている。Ｉ／Ｏバス７１５は、ディスプレイ・アダプタ７１６、ディスク７１８などの様々なＩ／Ｏ装置、およびシリアル・ポートなどのＩ／Ｏポート７１７を接続している。Ｉ／Ｏ装置、バスおよびブリッジのこのような組合せの多くを本発明を使用して利用することができ、図に示す組合せは単に、このような可能組合せの１つを示したものに過ぎない。
【００６３】
本発明の他の実施形態では、モディファイドＺＲＬＣ符号化方式および適応符号化方式を利用してテキスト・ファイルの圧縮など、通常の非画像データの圧縮を実行することもできる。このようなデータを、ディスク、メモリ７１１またはその他の格納媒体に格納させることができ、適応的に符号化することによって圧縮することができる。このようなデータ符号化においては、モディファイドＺＲＬＣを用いて符号化し、かつ、ＭＨＣを用いて符号化することができるデータ・ストリーム部分を検出することが可能である。多数の連続するゼロを含むデータでは、任意に大きいランレングス値を表すことができるモディファイドＺＲＬＣスキームが、特に効果的である。高エントロピーを示すデータでは、ＭＨＣがより適切である。
【００６４】
本明細書に記載されている例示的実施形態は、単に本発明の原理を示すためのものに過ぎず、本発明の範囲を制限するものではない。本発明の原理は、本明細書に記載されている利点を実現し、かつ、その他の利点を実現し、あるいはその他の目的を満足する広範囲のシステムに適用できるものである。
【表４】
0004343440.tif 000005
0004343440.tif 000006
0004343440.tif 000007
0004343440.tif 000008
0004343440.tif 000009
【図面の簡単な説明】
【図１】  本発明の一実施形態によるモディファイド・ゼロ・ラン・レングス符号化方式のための様々な基本データ構造を示す図である。
【図２】  本発明の一実施形態による画像処理データ・フローを示す図である。
【図３】  本発明の一実施形態による圧縮画像および符号化画像の回復を示す図である。
【図４】  本発明の一実施形態によるモディファイド・ゼロ・ラン・レングスコーダを示す図である。
【図５】  本発明の一実施形態による適応コーダの構成図である。
【図６】  本発明の一実施形態による画像プロセッサの構成図である。
【図７】  本発明の一実施形態のシステムを示す図である。
【図１】
0004343440.tif 000010
【図２】
0004343440.tif 000011
【図３】
0004343440.tif 000012
【図４】
0004343440.tif 000013
【図５】
0004343440.tif 000014
【図６】
0004343440.tif 000015
【図７】
0004343440.tif 000016