(57)【要約】【課題】圧縮画像の精度を高めたままハードウェアの複雑さを最小限にできる画像符号化・復号化方法及びシステムを提供する。【解決手段】元の画像を１以上の画像ブロックに分割し、ブロック毎に符号化する。符号化に際しては各ブロックの各画素に対して、そこから量子化されたカラーが導出される基準カラーを表すコードワードを生成する。コードワードの生成のために、その画像ブロックのブロックタイプに対応して決定される色空間上の線である最適アナログ曲線を使用し得る。このようにして得られた符号化画像から元の画像を復元する際には、上記の符号化と逆の手順で、即ち符号化画像を符号化画像ブロックに分解してブロック毎に復号化する。【選択図】    図２Ａ
2007020208.tif 000002
【特許請求の範囲】
【請求項１】
画像処理システムにおける、変更されたヘッダー及び少なくとも１つの符号化画像ブロックを含む符号化画像から元の画像を生成する方法であって、
前記符号化画像データを受信する過程と、
前記符号化画像を前記変更されたヘッダー及び前記各符号化画像ブロックに分解する過程と、
前記変更されたヘッダーを読み出して、出力ヘッダーを生成する過程と、
前記各符号化画像ブロックを復号化して、復号化画像ブロックを生成する過程と、
前記出力ヘッダー及び前記各復号化ブロックを組み入れて、前記元の画像の出力ファイルを生成する過程とを含むことを特徴とする元の画像を生成する方法。
【請求項２】
前記各画像ブロックを復号化する過程が、
少なくとも１つのコードワードを有するコードワードセットと、少なくとも１つの画素を有するビットマップとを含む前記各符号化画像ブロックを受信する段階と、
前記符号化画像ブロックのブロックタイプを検出して復号化ユニットを選択する段階と、
前記コードワードのセットを用いて、前記符号化画像ブロックに対する少なくとも１つの量子化されたカラーレベルを計算する段階と、
前記ビットマップの各画素を前記符号化画像ブロックの計算された前記量子化されたカラーレベルの１つにマップする段階とをさらに含むことを特徴とする請求項２に記載の元の画像を生成するための方法。
【請求項３】
少なくとも１つの符号化画像ブロックを含む符号化画像ブロック部分及びヘッダー情報を有する符号化画像データファイルからの如何なる特定された画素も処理するシステムであって、
前記ヘッダー情報を受信して、前記特定された画素を有する符号化画像ブロックのアドレスを計算するために接続されたブロックアドレス計算モジュールと、  前記符号化画像ブロック部分及び前記計算されたアドレスを受信して、前記特定された画素を有する前記符号化画像ブロックを取り出すために接続されたブロック取りだしモジュールと、
前記取り出された符号化画像ブロックを受信し、前記画像ブロックを復号化して前記特定された画素と関連する量子化されたカラーを生成するために接続されたブロック復号化器とを含むことを特徴とするシステム。
【請求項４】
画像処理システムにおける、少なくとも１つの符号化画像ブロックを含む符号化画像ブロック部分及びヘッダーを有する符号化画像データファイルからの如何なる特定された画素も処理する方法であって、
前記特定された画素を有する符号化画像ブロックについてのアドレスを計算する過程と、
前記計算されたアドレスを用いて前記符号化画像ブロックを取り出す過程と、  前記取り出された符号化画像ブロックについての量子化されたカラーレベルを計算する過程と、
前記特定された画素のカラーを前記量子化されたカラーレベルから選択して出力する過程とを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理システムに関し、より詳細にはテクスチャのために固定速度の画像圧縮を用いる３次元レンダリングシステムに関する。
【背景技術】
【０００２】
写実画像或いはアニメーションのような画像をコンピュータ上で生成する技術が知られている。そのような画像を生成するには、グラフィクスサブシステムにおいて大きなメモリ帯域幅及び処理電力を必要とする。帯域幅及び処理電力に求められる条件を緩和するために、種々の圧縮方法及びシステムが開発されてきた。その方法及びシステムとは、エントロピー符号化器、すなわち損失のない符号化技術を用いる符号化器、離散コサイン変換、すなわちＪＰＥＧタイプの圧縮器、ブロックトランケーション符号化、カラーセル圧縮等である。しかしながらその各方法及びシステムは多くの欠点を抱えている。
【０００３】
エントロピー（無損失）符号化器はLempel-Ziv符号化器を備えており、種々の目的に利用される。エントロピー符号化技術は予測精度に応えるものである。エントロピー符号化器によるデータ圧縮では、数ビットを用いて最頻出のシンボルを符号化する。確率が固定されている固定システムでは、エントロピー符号化技術により、圧縮において、所与のアルファベットシンボルにより得られる限界値よりも低い限界値がもたらされる。エントロピー符号化技術について問題は、任意の所与のシンボルにランダムにアクセスできないという点である。対象のシンボルに前置された圧縮データの一部が最初に取り込まれ、圧縮解除され、シンボルを復号化するが、その際に著しく処理時間及びリソースを消費し、またメモリスループットも低下する。エントロピーシステム及び方法が持つ別の問題は、メモリサイズが固定の場合に、保証された圧縮係数を与えられず、このタイプの符号化方式を実用的でないものにしてしまうことである。
【０００４】
離散コサイン変換（「ＤＣＴ」）、すなわちＪＰＥＧタイプの圧縮器により、ユーザはあるレベルの画像品質を選択することができる。ＤＣＴの場合、各係数を、圧縮効率を損なうことなく個別に処理できるように、相関のない係数が生成される。ＤＣＴ係数は、最も重要でない情報を選択的に破棄する、視覚的に重み付けされた量子化値を用いて量子化することができる。
【０００５】
しかしながらＤＣＴはいくつかの欠点を持っている。ＤＣＴ及びＪＰＥＧタイプ圧縮器に関する問題の１つは、適当な圧縮係数及び品質を得るために最小限にアクセス可能なユニットでも、典型的には８×８或いは１６×１６画素の通常大きな画素のブロックを必要とする点である。非常に小さな領域、すなわち１つの画素へのアクセスであっても、大量の圧縮データを取り込み、そのため高いプロセッサ電力及びメモリ帯域幅を必要とする。ＤＣＴ及びＪＰＥＧタイプ圧縮器に関する第２の問題は、圧縮係数が可変であるため、複雑なメモリ管理システムを必要とし、その結果大量のプロセッサリソースを必要とすることである。ＤＣＴ及びＪＰＥＧタイプ圧縮器に関する第３の問題は、大きな圧縮係数を用いるために画像品質が著しく劣化するという点である。例えば、画像縁部周囲のリンギング（過渡変動）及び画像領域内の顕著な色ずれにより、画像は少なからず歪むようになる。また後続の低域通過フィルタ処理ではアーティファクトを除去することができない。
【０００６】
ＤＣＴ及びＪＰＥＧタイプ圧縮器に関する第４の問題は、圧縮器が複雑で、ハードウエアに関連するコストが非常に高いことである。圧縮解除器の処理時間が長いために、システム全体をバッファ処理し、その処理時間を補償するためにさらにハードウエアコストが上昇する。最後にＤＣＴ及びＪＰＥＧタイプ圧縮器に関する第５の問題は、色を基調とした（color keyed）画像がそのシステム及び
方法で圧縮できるが否かがはっきりしない点である。
【０００７】
ブロックトランケーション符号化（「ＢＴＣ」）及びカラーセル圧縮（「ＣＣＣ」）は、４×４画素ブロック上でローカルの１ビット量子化器を用いる。そのブロックの圧縮データは２色のみからなり、２色のうちのどちらが１６画素それぞれに割り当てられるかを示す１６ビットを含む。ＢＴＣ及びＣＣＣ画像の復号化は参照用デーブルを備えたマルチプレクサを用いており、一旦１６画素ブロック（３２ビット）がメモリから回収され、そのブロックに対して取りうる２色を探し、１６の判断ビットからの関連するビットに従ってその色を選択することにより個々の画素が復号化される。
【０００８】
ＢＴＣ／ＣＣＣ法は、各ブロックを２色のみのレベルに量子化するため、画像の劣化が大きい。さらにＣＣＣの２ビットの変形例は、２色を８ビット指標として２５６エントリカラー参照用デーブルに格納する。従ってそのような画素ブロックは、さらにメモリ帯域幅を消費する付加情報を取り込まなければ復号化することができない。
【０００９】
ＢＴＣ／ＣＣＣ方法及びシステムは、２色を１６ビット値（テーブルへの指標を含まない）として格納する３ビット／画素方式を用いて、６バイトの画素ブロックを生成することができる。しかしながらそのような単位の取り込みは、メモリのミスアライメントによる付加的なオーバーヘッドのためシステム性能を劣化させる。ＢＴＣ／ＣＣＣに関する別の問題は、色を基調として（color keying）用いて無色の画素を示す画像を圧縮するために用いる際に、大きな画像品質の劣化が生じる点である。
【００１０】
それゆえ記憶容量、メモリ帯域幅要件及び復号化ハードウエアの複雑さを最小限にするとともに、圧縮画像の精度を最大限にし、一方画像データブロックを従来のサイズに圧縮し、１つ以上の任意の画素にランダムにアクセスするためにアライメントを保持する方法及びシステムが求められている。
【発明の開示】
【課題を解決するための手段】
【００１１】
画像処理システムは、画像符号化器或いは圧縮システム及び相互に接続される画像復号化器或いは圧縮解除システムを備える。画像符号化システムは発生源から元の画像を受信し、その元の画像を、サイズが縮小し、画像品質の損失を最小限にとどめた元の画像を表す圧縮形態に符号化する。画像復号化システムはその符号化された画像を復号化し、元の画像を表すデータを作成する。
【００１２】
画像符号化システムは、１つ以上の画像ブロック符号化器に接続される画像分解器を備える。また１つ以上の画像ブロック符号化器は符号化画像組立器に接続される。符号化画像組立器は出力に接続される。さらに画像分解器及び符号化画像組立器はヘッダー変換器に接続される。符号化画像組立器の出力は、例えば記憶装置、メモリ或いはデータ伝送ラインと接続される場合がある。
【００１３】
画像分解器は元の画像をヘッダー及びいくつかの画像ブロックに分解する。ヘッダーは、ヘッダーを変更し、画像組立器に転送するヘッダー変換器に転送される。各画像ブロックは固定サイズ、例えば４×４画素を有し、１つ以上のブロック符号化器に転送される。ブロック符号化器は画像ブロックを、同様に固定サイズからなる圧縮、すなわち符号化ブロック形態に変換する。符号化画像組立器は符号化画像ブロックを順序付けし、変更されたヘッダーと連結し、元の画像を表す符号化画像データである出力を生成する。
【００１４】
各ブロック符号化器は相互に接続されるカラー量子化器及びビットマップ構築モジュールを備える。さらにカラー量子化器は、ブロックタイプモジュール、曲線選択モジュール及びコードワード発生モジュールを備える。ブロックタイプモジュールは曲線選択モジュールに接続され、曲線選択モジュールはコードワード発生モジュールに接続される。
【００１５】
好適な実施例では、ブロックタイプモジュールは、４量子化画素値（例えば色）或いは３量子化画素値（例えば画像）のいずれかと無色を有する２色セットのどちらを、ブロック分解器から受信した各データブロックの符号化に用いるかを特定する。曲線選択モジュール及びコードワード発生モジュールは、画像ブロックの各画素がマッピングされるカラーセットを特定するために用いることができる２つの基準カラー、すなわちコードワードを選択する役割を果たす。
【００１６】
好適な実施例では、カラーのセットは、色空間のラインに沿って等距離にある。さらに２つの終点の量子化色はそれ自体がコードワードとして用いられ、残りの１つ或いは２つの量子化色は推定或いは補間される。１つの量子化色が推定される場合には、第４の基準は無色である。
【００１７】
一旦コードワード及び量子化色が特定されれば、ビットマップ構築モジュールがブロックの各画素に対するビットマップ値を構築する。各画素のビットマップ値は、いずれの量子化色が画素に最もよく一致するかを示す指標（ＩＤ値として特定される）である。ビットマップ構築モジュールは１つの符号化画像ブロックとしてビットマップ及びコードワードを出力する。好適な実施例では、各ビットマップ値は２ビットであり、３２ビットのビットマップを含んでおり、２つの１６ビットコードワードとともに６４ビット符号化画像ブロックを形成する。
【００１８】
その後ブロック符号化器からの符号化画像データブロックはそれぞれ符号化画像組立器において順序付けされ、符号化画像ブロックのデータファイルを生成する。符号化画像ブロックのデータファイルは、元の画像データからのヘッダー情報と連結され、符号化或いは圧縮画像データを生成する。その符号化画像データは、画像復号化システムにおいて復号化或いは圧縮解除されるようになる。
【００１９】
画像復号化システムは符号化画像分解器、ヘッダー変換器、１つ以上のブロック復号化器及び画像組立器を備える。符号化画像分解器は、ヘッダー変換器及び１つ以上のブロック復号化器に接続される。画像組立器は１つ以上のブロック復号化器及びヘッダー変換器に接続される。画像組立器は、元の画像を表す画像を出力するために用いられる。
【００２０】
符号化画像データは符号化画像分解器により受信され、符号化画像分解器が符号化画像データをヘッダー及び符号化画像ブロックに分解する。ヘッダーは、ヘッダーを変更し、画像組立器に転送するヘッダー変換器に転送される。１つ以上のブロック復号化器により、１つ以上の符号化画像ブロックが個別に復号化される。画像組立器は復号化画像ブロックを、復号化画像ブロックのデータファイルに順序付けする。データファイルは、ヘッダー変換器からヘッダーと連結され、完全なファイルが元の画像を表す画像として出力される。
【００２１】
各ブロック復号化器はブロックタイプ検出器、各ブロックタイプに対する復号化器ユニット及び出力選択器を備える。ブロックタイプ検出器は各復号化器ユニット及び出力選択器に接続される。ブロックタイプ検出器は、何れの復号化器ユニットが符号化ブロックを復号化するために選択されるかを判定する。好適な実施例では、ブロックタイプは、符号化ブロックのコードワードの算術比較により判定される。
【００２２】
選択された復号化器に基づいて、量子化色が、符号化ブロックに対するコードワードから推定される。ブロックの各画素に対する標識値（ＩＤ値）がビットマプデータ列から読み出され、各画素を適当な量子化色にマッピングする。ブロックの各画素に対する色は出力選択器から出力される。出力選択器は適切に復号化されたブロックを順序付けのために画像組立器に送出し、その出力において最終画像が作成される。
【００２３】
また本発明は、画像の部分にランダムにアクセスできることにより、符号化画像の一部のみを復号化する方法を提供する。従って本発明は、特定の順序及び部分で符号化画像を有利に復号化することができる。例えば３次元グラフィクスの場合に、本発明はテクスチャマップに用いられる符号化画像の一部を選択することができる。
【００２４】
さらに本明細書で用いる用語は主に理解のし易さ及び説明を目的として選択しており、本発明の内容を制限するために選択したものではないことに注意されたい。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明により構成されるデータ処理システム１０５のブロック図である。データ処理システム１０５は処理ユニット１１０、メモリ１１５、記憶装置１２０、入力装置１２５、出力装置１３０及びグラフィックサブシステム１３５を備える。さらにデータ処理システム１０５は、データ処理システム１０５の他の構成要素１１０、１１５、１２０、１２５、１３０、１３５にそれぞれ接続されるデータバス１４５も備える。
【００２６】
データバス１４５は従来のデータバスであり、１ラインとして示されるが、プロセッサバス、ＰＣＩバス、グラフィカルバス及びＩＳＡバスの組み合わせであてよい。処理ユニット１１０は、例えばインテルペンティアム（登録商標）プロセッサ、ＳｕｎＳＰＡＲＣプロセッサ或いはモトローラＰｏｗｅｒＰＣプロセッサような従来の処理ユニットである。処理ユニット１１０はデータ処理システム１０５内のデータを処理する。またメモリ１１５、記憶装置１２０、入力装置１２５及び出力装置１３０も当業者が認識している従来の構成要素である。メモリ１１５及び記憶装置１２０はデータ処理システム１０５内のデータを格納する。入力装置１２５はシステムにデータを入力し、一方出力装置１３０はデータ処理システム１０５からデータを受信する。
【００２７】
図２は本発明により構成された画像処理システム２０５のブロック図である。一実施例では、画像処理システム２０５はデータ処理システム１０５内で動作する。画像処理システム２０５は画像符号化器システム２２０及び画像復号化器システム２３０を備える。また画像処理システム２０５は、画像が受信される画像源２１０及び処理した画像が記憶或いはさらに処理するために転送される出力２４０も備える。画像符号化システム２２０は画像源２１０から画像を受信するために接続される。画像復号化器システム２３０は、画像処理システム２０５により生成された画像を出力するために接続される。画像符号化器システム２２０はデータラインを介して画像復号化器システム２３０に接続され、例えば記憶装置１２０並びに又メモリ１１５を通して接続される。
【００２８】
画像符号化器システム２２０内では、画像が個々のブロックに分解され、圧縮或いは符号化画像データとして、例えば記憶装置１４０に転送される前に処理される。符号化画像データがさらにデータ処理するために準備されている場合、その符号化画像データは画像復号化器システム２３０に転送される。画像復号化器システム２３０はその符号化画像データを受信し、そのデータを復号化し、画像源２１０から受信された元の画像を表現したものである出力を生成する。
【００２９】
図３Ａ及び図３Ｂは、本発明の画像符合化器システム２２０の２つの個別の実施例を示すブロック図である。画像符号化器システム２２０は画像分解器３１５、ヘッダー変換器３２１、１つ以上のブロック符号化器３１８（３１８ａ−３１８ｎ、ただしｎはｎ番目の符号化器であり、ｎは正の整数である）及び符号化画像組立器３１９を備える。画像分解器３１５は、画像源２１０のような画像源から元の画像３１０を受信するために接続される。また画像分解器３１５は１つ以上のブロック符号化器３１８及びヘッダー変換器３２１にも接続される。またヘッダー変換器３２１は符号化画像組立器３１９にも接続される。また各ブロック符号化器３１８は符号化画像組立器３１９にも接続される。符号化画像組立器３１９は出力３２０に接続される。
【００３０】
画像分解器３１５は元の画像３１０を受信し、元の画像３１０のヘッダーからの情報をヘッダー変換器３２１に転送する。ヘッダー変換器３２１は元のヘッダーを変更し、さらに以下のように変更されたヘッダーを生成する。また画像分解器３１５は元の画像３１０を分解し、Ｒ個の画像ブロックにする。ただしＲはある整数である。元の画像３１０が分解された画像ブロックの数は、画像の画素数に依存する。例えば好適な実施例では、Ａ画素×Ｂ画素からなる画像３１０は典型的には（Ａ／４）＊（Ｂ／４）であろう。ただしＡ及びＢは整数である。例えば画像が２５６画素×２５６画素である場合、６４×６４ブロックが存在する。言い換えると、画像は、各画像ブロックが４画素×４画素（１６画素）であるように分解される。当業者には、画素の数、すなわち画像ブロックサイズが、例えばｍ×ｎ画素に変更されることは理解されよう。ただしｍ及びｎは正の整数である。
【００３１】
図２Ｂに戻ると、本発明による１つの画像ブロック２６０の例が示される。画像ブロック２６０は画素２７０から構成される。画像ブロック２６０は、幅が画像領域Ｗ画素２７０で、高さがＨ画素２７０として定義することができる。ただしＷ及びＨは整数である。好適な実施例では、画像ブロック２６０はＷ＝４画素２７０とＨ＝４画素２７０（４×４）から構成される。
【００３２】
図３Ａ及び図３Ｂを再度参照されたい。各ブロック符号化器３１８は、画像分解器３１５から画像ブロック２６０を受け取る。各ブロック符号化器３１８は、受け取った各画像ブロック２６０を符号化即ち圧縮し、符号化即ち圧縮した画像ブロックを生成する。各符号化画像ブロックは符号化画像組立器３１９に送られ、符号化画像組立器３１９は、符号化ブロックを順序付けしてデータファイルにする。この符号化画像組立器３１９からのデータファイルは、ヘッダー変換器３２１からの変更ヘッダーと連結されて符号化画像データファイルが生成され、これが出力３２０に送られる。２個以上のブロック符号化器３１８ａ−３１８ｎを設けて、画像符号化器２２０内において各ブロック符号化器３１８ａ−３１８ｎが１つの画像ブロックを処理して複数の画像ブロックを同時に符号化できるようにし、画像処理の効率及び処理能力を高めることができるということに注意されたい。
【００３３】
変更ヘッダー及び符号化画像ブロックは、元の画像３１０を表現する符号化画像データを形成する。以下、ブロック符号化器３１８を含む画像符号化器システム２２０の各要素の機能について、図４Ａ−図４Ｅを参照して詳細に説明する。
【００３４】
元の画像３１０は、赤−緑−青（「ＲＧＢ」）、ＹＵＶ４２０、ＹＵＶ４２２、若しくは専用の（proprietary）色空間等の様々なデータフォーマットの何れ
かを有し得る。場合によっては、元の画像３１０を符号化する前に異なる色空間に変換することが有益なことがある。本発明の或る実施例では、各画像ブロック２６０は、４×４の画素の組であり、各画素２７０のサイズは２４ビットであることに注意されたい。各画素２７０について、赤−緑−青（ＲＧＢ）色空間の場合には、赤（Ｒ）チャネルに８ビット、緑（Ｇ）チャネルに８ビット、青（Ｂ）チャネルに８ビットが割り当てられる。更に、各符号化画像ブロックが４×４の画素の組であるが、各画素のサイズが２ビットしかなく、集合体サイズが４ビットという場合もある。これについては、後に詳述する。
【００３５】
図３Ｃは、本発明のブロック符号化器３１８をより詳細に示すブロック図である。ブロック符号化器３１８は、カラー量子化器３３５及びビットマップ構築モジュール３４０を有する。カラー量子化器３３５は、ビットマップ構築モジュール３４０に接続されている。さらに、カラー量子化器３３５内に、ブロックタイプモジュール３４５、曲線選択モジュール３５５、及びコードワード発生モジュール３６０が図示されている。ブロックタイプモジュール３４５は、曲線選択モジュール３５５に接続されている。曲線選択モジュール３５５は、コードワード発生モジュール３６０に接続されている。
【００３６】
分解された元の画像３１０の各画像ブロック２６０は、まずカラー量子化器３３５に送られて処理され、次にビットマップ構築モジュール３４０に送られて更に処理される。ビットマップ構築モジュール３４０は符号化画像ブロックを出力して、符号化画像組立器３３５に送り、そこでブロックの順序付けがなされる。ブロックタイプモジュール３４５、曲線選択モジュール３５５、及びコードワード発生モジュール３５５を有するカラー量子化器３３５及びビットマップ構築モジュール３４０については、後に図４Ａ−図４Ｅを参照して詳細に説明する。
【００３７】
簡単に説明すると、図３Ｄは、ブロック分解器３１５に入力される元の画像３１０を表すデータシーケンス即ちデータ列３８０を示す図である。元の画像３１０のデータ列３８０は、ａビットのヘッダー３８０ａ及びｂビットの画像データ３８０ｂを含む。ここでａ及びｂは整数である。ヘッダー３８０ａは、画像３１０の画素の幅、画像３１０の画素の高さ、及び画像３１０のフォーマット（例えばＲＧＢまたはＹＵＶフォーマットの場合の画素に割り当てられたビット数）等の情報を、他の情報とともに含む。画像データは、元のデータ３１０自体を表すデータ３８０ｂである。
【００３８】
図３Ｅは、画像符号化器システム２２０が生成する出力３２０である符号化画像データ３８５を表すデータシーケンス、即ちデータ列３８５を示す図である。符号化画像データ３８５のデータ列は、変更ヘッダー部分３８５ａ及び符号化画像ブロック部分３９０−１乃至３９０−Ｒを含む。変更ヘッダー部分３８５ａは、元の画像３１０の元のヘッダー３８０ａからヘッダー変換器３２１によって生成される。ヘッダー変換器３２１によって生成された変更ヘッダーは、ファイルタイプ、元の画像３１０の画素当たりのビット数、元の画像３１０へのアドレス指定、他の種々の符号化パラメータについての情報を、その元の画像３１０のサイズを表す幅や高さ情報とともに含んでいる。符号化画像ブロック部分３９０−１乃至３９０−Ｒは、ブロック符号化器３１８からの符号化画像ブロック３９０−１乃至３９０−Ｒを含む。ここでＲは、分解された元の画像３１０に基づいて決まる整数値である。
【００３９】
図３Ｆは、本発明による符号化画像ブロックを表すデータシーケンス、即ちデータ列３９０を示す図である。符号化画像ブロックを表すデータ列３９０は、符号化画像データ列３８５のなかの符号化画像ブロック３９０−１乃至３９０−Ｒの何れか１つに類似したものであり得るということを理解されたい。
【００４０】
符号化画像ブロックのデータ列３９０は、Ｊ個のコードワード（Ｊは整数値）を含むコードワード部分３９０ａと、ビットマップ部分３９０ｂを含む。コードワード部分３９０ａは、ビットマップ３９０ｂによって指標付けされたカラーを計算するために用いられる、Ｊ個のコードワード３９０ａを含む。コードワードは、画素の特性（例えばカラー成分）を特定するｎビットのデータ列（ｎは整数値）である。好適実施例では、２つの１６ビットコードワード３９０ａ、即ちＣＷ０、ＣＷ１（Ｊ＝２）が存在する。ビットマップは、Ｑビットのデータ部分であり、後に図４Ｂを参照して説明する。
【００４１】
また、好適実施例では、各符号化画像ブロックが、２つの１６ビットコードワードと３２ビット（４×４×２ビット）のビットマップ３９５とを有する６４ビットのデータである。上述のように画像ブロック２６０を符号化することにより、後に詳細に説明するように、高いシステムの柔軟性及び高いデータ処理効率が得られる。
【００４２】
図４Ａ−図４Ｅは、画像符号化器システム２２０の動作を説明するための図である。図４Ａは、画像符号化器システム２２０の一般的な動作を示す。動作の開始４０２においては、ａビットのヘッダー３８０ａとｂビットの画像データ３８０ｂとを有する元の画像３１０のデータ列３８０が、画像ソース２１０からブロック分解器３１５に入力（４０４）される。ブロック分解器３１５は、元の画像３１０を分解（４０６）し、ａビットのヘッダー３８０ａを取出して、それをヘッダー変換器３２１に送る。また、ブロック分解器３１５は、元の画像３１０を分解（４０６）して画像ブロックにする。各画像ブロック２６０は、１個または複数のブロック符号化器３１８において個別に圧縮、即ち符号化（４１０）される。
【００４３】
ヘッダー変換器３２１は、ａビットのヘッダーを変換（４０８）して、変更されたヘッダー３８５ａを生成する。この変更ヘッダー３８５ａは、符号化画像組立器３１９に送られる。ヘッダー変換器３２１がａビットのヘッダーを変換（４０８）するのと同時に、各画像ブロックは、１個または複数の符号化器３１８ａ−３１８ｎによって符号化（４１０）され、符号化画像ブロック３９０−１乃至３９０−Ｒが生成される。各画像ブロック２６０が１個のブロック符号化器３１８ａにおいて逐次処理される場合もあれば、複数の画像ブロック２６０が複数のブロック符号化器３１８ａ−３１８ｎにおいて並行して処理される場合もあるということに注意されたい。
【００４４】
符号化画像ブロック３９０は、ブロック符号化器３１８から出力され、符号化画像組立器３１９により予め定められた順序で配置される。好適実施例では、符号化画像ブロック３９０が、ブロック分解器３１５により分解されたのと同じ順序で、左から右に、かつ上から下に順序付けされて、データファイルが生成される。次に画像符号化器システム２２０は、ヘッダー変換器３２１からの変更ヘッダー情報３８５ａと符号化画像ブロック３９０との組立て（４１２）を行う。詳述すると、変更ヘッダー３８５ａ及び順序付けされた符号化画像ブロック３９０を連結して、符号化画像データファイル３８５を生成する。この符号化画像データファイル３８５は、メモリ１１５、記憶装置１２０、または出力装置１３０等に、符号化出力３２０として書き込み（４１４）される。
【００４５】
図４Ｂは、図２に示す符号化器システム２２０における符号化プロセス４１０を示す。動作の開始４１８において、まずコードワードが選択される（４２０）。図３Ｆを参照して説明したように、好適実施例では、２つの１６ビットコードワード３９０ａ、即ちＣＷ０、ＣＷ１が存在する。このコードワード選択プロセスについては、後に図４Ｃを参照して説明する。
【００４６】
一旦コードワードが選択（４２０）されると、画像ブロック２６０の画素値または特性（例えばカラー等）が量子化（４２２）される。詳述すると、コードワード３９０ａは、そこからＭのレベルに量子化した（Ｍは整数値）画素値が推定されるような、画素空間における複数のポイントを与える。Ｍのレベルに量子化された画素値は、現画像ブロックを表すために用いられる、画素空間における限定された数の画素のサブセットである。画素値、より具体的にはカラーを量子化するためのプロセスについては、後に図４Ｄ及び図４Ｅを参照して説明する。また、ここで説明する実施例はカラーの画素値に関する実施例であるが、当業者は、本発明において任意の画素値を一般に用いることができるということを理解されよう。
【００４７】
好適実施例では、各画素が、Ｍのレベルに量子化されたカラー（Ｍ＝４）の一つとして指標付けすることができる２ビットのデータに符号化される。さらに、好適実施例では、４種の量子化されたカラーが２つのコードワード３９０ａから導出される。この場合、後に説明するように、２つのカラーはコードワード自体であり、他の２つのカラーは、そのコードワードから推定される。また、無色を表す１個の指標とカラーを表す３つの指標が存在する形でコードワード３９０ａを用いることもできる。この場合、カラーのなかの１種類は推定される。
【００４８】
好適実施例では、ビットマップ３９０ｂは３２ビットデータ列である。このビットマップ３９０ｂ及びコードワード３９０ａは、符号化画像ブロック３９０を表す６４ビットのデータ列として出力（４２４）される。詳述すると、符号化画像ブロック３９０は、２つの１６ビットのコードワード３９０ａ（ｎ＝１６）及び３２ビットのビットマップ３９０ｂを有する。１６ビットのデータ列である各コードワード３９０ａ、ＣＷ０、ＣＷ１は、５ビットの赤チャネル、６ビットの緑チャネル、及び５ビットの青チャネルを有する。
【００４９】
各符号化画像ブロック３９０は、３９０ａ１−３９０ａＲ全てがまとめて配置され、元の画像３１０の元のヘッダー３８０ａから導出されたヘッダー情報３８５ａと連結される。得られる出力（４２４）は、元の画像を表す符号化画像データ３８５である。
【００５０】
図４Ｃは、画像ブロック２６０に対するコードワードの選択（４２０）のためのプロセスをより詳細に示す図である。プロセスの開始（４２６）において、カラー量子化器３３５は、ブロックタイプモジュール３４５を用いて、処理される画像ブロック２６０の第１のブロックタイプを選択（４２８）する。例えば、選択（４２８）されるブロックタイプとしては、４種のカラーを有するタイプや、３種のカラー＋無色等のタイプがあり得る。但し、特定のブロックタイプに含まれるカラー群は、色空間において等距離の間隔のカラー群である。
【００５１】
一旦ブロックタイプが選択（４２８）されると、このプロセスは、そのブロックタイプに対する最適なアナログ曲線を計算（４３０）する。最適アナログ曲線の計算（４３０）については、後に図４Ｄを参照して説明する。このアナログ曲線は、画像ブロックにおけるカラーの量子化を簡単にするために用いられる。最適アナログ曲線の計算（４３０）が終了した後、プロセスは、アナログ曲線に沿ったポイントの区画を選択（４３２）する。区画は、指標群｛１．．．（Ｗ×Ｈ）｝をＭ個の互いに交差しない指標の組にグループ化したものとして定義され得る。好適実施例では、指標群｛１．．．１６｝が、ブロックタイプに応じて３個または４個のグループ即ちクラスタに分けられる（Ｍ＝３または４）。
【００５２】
一旦区画が選択（４３２）されると、その特定の区画に対して最適なコードワードが計算（４３４）される。最適コードワードの計算（４３４）については、後に図４Ｅを参照して説明する。コードワードの計算（４３４）に加えて、そのコードワード群に対する誤差値（以下に説明する平均二乗誤差）も計算（４３６）される。この誤差値の計算（４３６）についても、後に図４Ｅを参照して説明する。計算（４３６）された誤差値が初めに得られた第１の誤差値である場合には、その誤差値は格納される。そうでない場合には、計算（４３６）された誤差値は、その誤差値が以前に格納された誤差値より小さい場合にのみ格納（４３８）される。格納（４３８）された各誤差値に対応するブロックタイプ及びコードワードも格納（４４０）される。このプロセスは、誤差関数を最小化するブロックタイプ及びコードワードを探しているということに注意されたい。
【００５３】
このプロセスは、次に全ての選択可能な区画について処理が終了したか否かを判定（４４２）する。他に選択可能な区画が存在する場合には、プロセスは次の区画を選択（４３２）し、再度コードワードを計算（４３４）し、関連する誤差値を計算（４３６）して、誤差値が以前に格納された誤差値より小さい場合にのみ、その誤差値を格納（４３８）し、関連するブロックタイプ及びコードワードを格納（４４０）する。
【００５４】
全ての選択可能な区画の処理が終了した後、プロセスは、全てのブロックタイプが選択されたか否かを判定（４４４）する。他に選択可能なブロックタイプが存在する場合には、プロセスは次のブロックタイプを選択（４２８）する。そして、プロセスは再度、最適アナログ曲線を計算（４３０）し、全ての選択可能な区画を選択（４３２、４４２）し、各区画についてコードワード及び関連する誤差値を計算（４３８、４４０）し、誤差値が以前に格納された誤差値より小さい場合にのみ、その誤差値及び関連するブロックタイプ及びコードワードを格納（４３８、４４０）する。最後のブロックタイプの処理が終了した後、プロセスは、誤差が最小となるブロックタイプ及びコードワード３９０ａの計算結果４４７を出力（４４６）する。
【００５５】
別の実施例では、ブロックタイプを探索する前に最適アナログ曲線を計算（４３０）する。即ち、プロセスは、最適アナログ曲線を計算（４３０）してから、ブロックタイプの選択４２８、区画の選択４３２、コードワードの計算４３４、誤差値の計算４３６、誤差値の格納４３８、及びブロックタイプ及びコードワードの格納４４０を行う。初めに最適アナログ曲線の計算４３０を行うのが有益なのは、全てのブロックタイプが同じアナログ曲線及び色空間を用いており、各ブロックタイプについてアナログ曲線を再計算する必要がない場合である。
【００５６】
図４Ｄは、最適アナログ曲線を特定するためのプロセスを示す。曲線選択モジュール３５５は、画像ブロック２６０の画素２７０のカラーの重心４５０を計算することから処理を開始する（４４８）。一旦重心が計算（４３０）されると、プロセスは、画像ブロック２６０の画素２７０のカラーの第１のモーメントが最小となるような、色空間におけるベクトルを特定（４５２）する。
【００５７】
詳述すると、このベクトルを特定（４５２）するために、プロセスは、画像ブロック２６０の元の画素２７０のカラーである、データポイントの組に直線を合わせる。直線は、データポイントの組の重心を通り、「慣性モーメント」（平均二乗誤差）が最小となるものが選択される。例えば、３つの画素の特性について、慣性モーメントが最小となる直線の方向を計算するために、以下の式により、慣性テンソルＴを個々のカラーから計算する。
【００５８】
【数１】
2007020208.tif 000003
【００５９】
ここで、Ｃ0、Ｃ1、及びＣ2は、画素の特性、例えばＲＧＢまたはＹＵＶ色空
間における重心に対してのカラー成分を表す。ＲＧＢ色空間の場合の好適実施例では、Ｃ0iは、画像ブロックｉの各画素の赤の値、Ｃ1iは、画像ブロックｉの各画素の緑の値、及びＣ2iは、画像ブロックｉの各画素の青の値である。ｉは１乃至Ｗ×Ｈの整数値であり、従ってＷ＝４、Ｈ＝４の場合、ｉは１乃至１６の整数となる。
【００６０】
固有値が最小となるテンソルTの固有ベクトルを、当業者に周知の方法を用い
て計算する。計算された重心に沿った方向の固有ベクトルは、慣性モーメントを最小とする軸線を確定する。この軸線を最適アナログ曲線として用いる。即ち、好適実施例において最適アナログ曲線は直線である。
【００６１】
図４Ｅは、コードワード発生モジュール３６０によって行われるプロセスを示す図である。コードワード発生モジュール３６０は、区画を選択（４３２）し、その区画に対するコードワード及び関連する誤差を計算（４３４、４３６）し、及び誤差値が以前に格納された誤差値より小さい場合に、誤差値、ブロックタイプ、及びコードワードを格納（４３８、４４０）する。このプロセスは、コードワード発生モジュール３６０で開始（４５６）される。コードワード発生モジュール３６０は、以前に求められた最適アナログ曲線にＷ×Ｈのカラー値を投射（４５８）する。Ｗ×Ｈの値は、画素２７０の数で表した画像ブロック２６０のサイズである。好適実施例では、Ｗ及びＨがともに４画素であり、従ってＷ×Ｈは１６画素である。
【００６２】
一旦カラーがアナログ曲線に投射（４５８）されると、カラーは、１次元アナログ曲線上のそのカラーの位置に基づいて、そのアナログ曲線に沿って逐次順序付け（４６０）される。カラーが順序付け（４６０）された後、コードワード発生モジュール３６０は、最適な区画を探索（４６２）する。即ち、コードワード発生モジュール３６０は、アナログ曲線に沿って順序付け（４６０）されたＷ×Ｈのカラー（１色のカラーが各画素に対応する）を取り出し、それらを、互いの間隔が予め定められた間隔である有限個のクラスタに区画化、即ちグループ化する。好適実施例では、Ｗ＝４、Ｈ＝４即ちＷ×Ｈが１６の場合、１６色のカラーを３個か４個のクラスタにする（Ｍ＝３または４）。
【００６３】
最適な区画の探索（４６２）を行う際に、カラー選択モジュール３６０は、最適曲線の上に投射されたＷ×Ｈ個の点について、その選択に関連する誤差が最小となるような最適なＭ個のクラスタを見つける。最適なＭ個のクラスタは、各クラスタに関連する点が予め定められた間隔に従う間隔にあるという制約の下で、平均二乗誤差を最小にすることによって決定する。
【００６４】
４色の等距離のカラーのブロックタイプの好適実施例では、誤差は、アナログ曲線に沿った二乗誤差として、例えば以下の式のように定義され得る。
【００６５】
【数２】
2007020208.tif 000004
【００６６】
ここで、Ｅは特定のグループ化即ちクラスタ化に対する誤差であり、ｐ0及び
ｐ1は、符号化されたカラーであり、ｘiは、最適アナログ曲線上に投射された点
である。
【００６７】
ブロックタイプが３色の等距離のカラーを示している場合の例では、誤差は、アナログ曲線に沿った二乗誤差として、例えば以下の式のように定義され得る。
【００６８】
【数３】
2007020208.tif 000005
【００６９】
ここでも同様に、Ｅは特定のグループ化即ちクラスタ化の場合の誤差であり、ｐ0及びｐ1は、符号化されたカラーであり、ｘiは、最適アナログ曲線上に投射
された点である。
【００７０】
得られた（４４７）最適コードワード３９０ａが特定された後、その最適コードワードは、ビットマップ構築モジュール３４０に送られる。ビットマップ構築モジュール３４０は、コードワード３９０ａを用いて、それらのコードワード３９０ａから特定即ち推定され得るＭ種のカラーを特定する。好適実施例では、ビットマップ構築モジュール３４０がコードワード３９０ａ（例えばＣＷ０、ＣＷ１）を用いて、それらのコードワード３９０ａから特定即ち推定され得る３種または４種のカラーを特定する。
【００７１】
ビットマップ構築モジュール３４０は、画像ブロック２６０に関連するコードワード３９０ａを用いてブロックビットマップ３９０ｂを構築する。画像ブロック２６０におけるカラーは、コードワード３９０ａから特定即ち推定される量子化カラーの１つの関連する最も近いカラーにマップされる。この結果は、そのブロックにおける各画素に付される、関連する量子化カラーを特定するカラー指標であり、ＩＤと称する。
【００７２】
ブロックタイプを示す情報は、コードワード３９０ａ及びビットマップ３９０ｂにより示される。好適実施例では、コードワード３９０ａ、ＣＷ０、ＣＷ１の順序は、ブロックタイプを示す。ＣＷ０の数値がＣＷ１の数値より大きい場合には、画像ブロックは４色ブロックである。そうでない場合は、このブロックは３色プラス無色のブロックである。
【００７３】
上記のように、好適実施例では、２種の画像ブロックタイプ
が存在する。一方の画像ブロックタイプは４色の等距離のカラーを有し、他方の画像ブロックタイプは、３色の等距離のカラーとともに、或る画素が無色であることを示すために用いられる第４のカラー指標を有する。
【００７４】
ビットマップ構築モジュール３４０の出力は、Ｍ個のコードワード３９０ａとともにビットマップ３９０ｂを有する符号化された画像ブロック３９０である。各符号化画像ブロック３９０は、符号化画像組立器３１９に入力され、そこで符号化画像ブロック３９０が順序付けされて１つのファイルにされる。好適実施例では、符号化画像ブロック３９０が、ブロック分解器３１５で分解されたのと同じ順序で、左から右、かつ上から下に順序付けされる。符号化画像ブロック３９０を有する順序付けされたファイルは、ヘッダー情報３８５ａと接続され、ヘッダー情報３８５ａは、元の画像３１０のヘッダー３８０ａから引き出され、画像符号化システム２２０出力３２０である符号化画像データ３８５を生じさせる。画像符号化システム２２０出力３２０は、例えばメモリ１１５、記憶装置１２０、または出力機構１３０に送られ得る。
【００７５】
本発明の画像符号化システム２２０により、画像の有効データサイズを効果的に低下させる（例えば、２４ビット／画素から４ビット／画素へ）。さらに、本発明は、コードワードを無色識別子とともに用いることを可能にすることによって、無色の問題(transparency issues)を効果的に処理する。
【００７６】
図５Ａは、本発明による画像復号化システム２３０のブロック線図である。画像復号化システム２３０には、符号化画像分解ユニット５０１、ヘッダー変換器５０８、１以上のブロック復号化器５０５（５０５ａ〜５０５ｍ、ここでｍは最終のブロック復号化器を示す任意の正の整数）、および画像組立器５０４が含まれる。符号化画像分解器５０１は、画像符号化システム２２０からの出力３２０である符号化画像データ３８５を受取るために接続される。符号化画像分解器５０１は、１以上のブロック復号化器５０５ａ〜５０５ｍと接続される。１以上のブロック復号化器５０５ａ〜５０５ｍは、画像組立器５０４と接続され、それは次に出力２４０と接続される。
【００７７】
符号化画像分解器５０１は符号化画像データ３８５を受取り、それをヘッダー３８５ａおよび符号化画像ブロック３９０−１〜３９０−Ｒへ分解、即ち切断する。符号化画像分解器５０１は、符号化画像データ３８５の変更ヘッダー３８５ａを読み取り、ヘッダー変換器５０８に送る。また符号化画像分解器５０１は、１以上のブロック復号化器５０５ａ〜５０５ｍに送られる個々の符号化画像ブロック３９０−１〜３９０−Ｒへ符号化画像データ３８５を分解する。
【００７８】
ヘッダー変換器５０８は、変更ヘッダー３８５ａを出力ヘッダーに変換する。同時に、符号化画像ブロック３９０−１〜３９０−Ｒは、１以上のブロック復号化器５０５ａ〜５０５ｍによって圧縮解除、即ち符号化される。各符号化画像ブロック３９０が、一つのブロック復号化器５０５ａにおいて連続的に処理され、或いは複数の符号化画像ブロック３９０−１〜３９０−Ｒが、各符号化画像ブロック３９０−１〜３９０−Ｒに対する一つのブロック復号化器５０５ａ〜５０５ｍで同時に処理され得ることに注目されたい。従って、複数のブロック復号化器５０５ａ〜５０５ｍにより、処理能力および画像復号化システム２３０の効率を向上させる並列処理が可能になる。
【００７９】
画像組立器５０４は、１以上のブロック復号化器５０５ａ〜５０５ｍからの各符号化画像ブロックを受取り、ファイルの中に順序付けて配置する。さらに、画像組立器５０４は、ヘッダー変換器５０８から変換されたヘッダーを受取る。変換ヘッダーおよび符号化画像ブロックは一緒に配置され、元の画像３１０を表す出力データ２４０を生じさせる。
【００８０】
図５Ｂは、本発明によるブロック復号化器５０５の第１の実施例のブロック線図である。各ブロック復号化器５０５ａ〜５０５ｍには、ブロックタイプ復号化器５２０、１以上の復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ；ｋは任意の整数）、および出力選択器５２３が含まれる。ブロックタイプ復号化器５２０は、符号化画像分解器５０１、出力選択器５２３、および各１以上の復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）に接続される。各復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）は、出力選択器５２３と接続され、それは次に画像組立器５０４と接続される。
【００８１】
ブロックタイプ復号化器５２０は、符号化画像ブロック３９０を受取り、各符号化画像ブロック３９０に対してブロックタイプを決定する。特に、ブロックタイプ復号化器５２０は、検出されたブロックタイプに対応する出力を選出するために用い得る出力選択器５２３にセレクタ信号を渡す。ブロックタイプは、コードワード３９０ａに基づき検出される。ブロックタイプが決定された後、符号化画像ブロック３９０が各復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）に渡される。各復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）は、各符号化画像ブロック３９０を圧縮解除、即ち符号化して、特定の符号化画像ブロック３９０に対するカラーを生じさせる。各復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）は、ｃ−チャネル幅（各カラー素子（または画素特性）に対して１チャネル）である。ここで、ｃは任意の整数である。セレクタ信号を用い、ブロックタイプ復号化器５２０は、ブロックタイプ復号化器５２０で検出されたブロックタイプに対応する１つの復号化ユニット（例えば、５３３ａ−１〜５３３ａ―ｋ）からの符号化画像ブロック３９０のカラーを出力選択器５２３が出力することを可能にする。或いは、セレクタ信号を用いて、符号化ブロックが復号化ユニットのみを通して処理されるように、適切な復号化ユニット５３３を選択し得る。
【００８２】
図５Ｃは、本発明によるブロック復号化器５０５の第２の実施例のブロック線図である。第２の実施例において、ブロック復号化器５０５には、第１および第２復号化ユニット５３０,５４０、および出力選択器５２３が含まれる。ブロッ
ク復号化器５０５は、符号化画像ブロック３９０を受取るために接続され、またそれは、第１および第２復号化ユニット５３０,５４０、および出力選択器５２
３に接続される。
【００８３】
ブロックタイプ復号化器５２０は、符号化画像ブロック３９０を受取って、符号化画像ブロック３９０のコードワード３９０ａと比較することにより、各符号化画像ブロック３９０に対するブロックタイプを決定する。例えば、好適実施例において、ブロックタイプは４つの量子化カラーまたは３つの量子化カラーと無色である。一旦ブロックタイプが選択され、セレクタ信号が出力選択器５２３に送られると、第１および第２復号化ユニット５３０,５４０によって符号化画像
ブロック３９０が復号化される。第１および第２復号化ユニット５３０,５４０
は、符号化画像ブロック３９０を復号化し、各画像ブロックの画素カラーを生じさせる。ブロックタイプ復号化器５２０によって、出力選択器５２３が選択されたブロックタイプに対応する復号化ユニット５３０,５４０からのカラーを出力
することを可能にする。
【００８４】
図５Ｄは、本発明による復号化ユニットの赤−チャネルを通る復号化ユニットの一実施例を示す論理図である。特に、その復号化ユニットは、図５Ｃに示した復号化ユニット５３０,５４０と同様のものである。その上、それらの各復号化
ユニット５３０,５４０の機能性は、図５Ｄに示す単一の論理図の中に組み合わ
される。さらに、ここでは復号化ユニット５３０,５４０の赤−チャネルに関し
て説明するが、復号化ユニット５３０,５４０における残りのチャネル（例えば
、緑―チャネルおよび青−チャネル）も同様に考えられ、機能的に等価であることを当業者は理解するであろう。
【００８５】
復号化ユニット５３０,５４０を示す論理図は、ブロックタイプ検出器５２０
（例えば、比較ユニット５２２）の一部を含むように示されている。比較ユニット５２２は、第１の２×１マルチプレクサ５２５ａおよび第２の２×１マルチプレクサ５２５ｂとともに働く。比較ユニット５２２は、第１の２×１マルチプレクサ５２５ａおよび第２の２×１マルチプレクサ５２５ｂと接続される。両マルチプレクサ５２５ａ,５２５ｂは、出力するための適切なカラーの選択に役立つ
４×１マルチプレクサ５２６に接続される。
【００８６】
第１の復号化ユニット５３０の赤−チャネル５４４,５４６には、第１および
第２の赤−チャネルライン５５１ａ,５５１ｂおよび第１および第２の赤−カラ
ーブロック５５０ａ,５５０ｂが含まれる。各赤―カラーブロック５５０ａ,５５０ｂの経路に沿って、第１の全加算器５５２ａ,５５２ｂ、第２の全加算器５５
４ａ,５５４ｂ、およびＣＬＡ（桁上げ先見加算器）加算器５５６ａ,５５６ｂがある。第１および第２の赤―カラーブロック５５０ａ,５５０ｂに接続される。
各赤―カラーブロック５５０ａ,５５０ｂは、赤―カラーブロック５５０ａ,５５０ｂに関連する第１の全加算器５５２ａ,５５２ｂにそれぞれ接続される。各第
１の全加算器５５２ａ,５５２ｂは、第２の全加算器５５４ａ,５５４ｂにそれぞれ接続される。各第２の全加算器５５４ａ,５５４ｂは、ＣＬＡ加算器５５６ａ,５５６ｂにそれぞれ接続される。
【００８７】
第２の復号化ユニット５４０は、第１および第２の赤−チャネルライン５５１ａ,５５１ｂおよび各第１および第２の赤―カラーブロック５５０ａ,５５０ｂおよび加算器５５８を含む。前述のように、第１および第２の赤−チャネルライン５５１ａ,５５１ｂは、各赤―カラーブロック５５０ａ,５５０ｂにそれぞれ接続される。各赤―カラーブロック５５０ａ,５５０ｂは、加算器５５８に接続され
る。
【００８８】
第１復号化ユニットの赤―カラーブロック５５０ａの経路からのＣＬＡ加算器５５６ａは、第１の２×１マルチプレクサ５２５ａに接続され、またＣＬＡ加算器５５６ｂは、第２の２×１マルチプレクサ５２５ｂに接続される。第２復号化ユニットの加算器５５８は、第１および第２の２×１マルチプレクサ５２５ａ,
５２５ｂの両方に接続される。
【００８９】
４×１マルチプレクサ５２６は、第１および第２の赤−チャネルライン５５１ａ,５５１ｂと第１および第２の２×１マルチプレクサ５２５ａ,５２５ｂに接続される。また４×１マルチプレクサ５２６は、無色（カラーなし）が送られたかどうかを示す無色表示信号を受取るために接続される。符号化画像ブロック３９０の個々の画素のための関連する量子化カラーとして参照され、ＩＤ信号として参照されるカラー指標の値に基づく出力のたのカラーを、４×１マルチプレクサ５２６は選択する。
【００９０】
図６Ａは、本発明による復号化システム２３０の操作を示す流れ図である。図示のみの目的で、復号化システム２３０のプロセスは、２つの復号ユニット（例えば、５３０,５４０）を有する単一のブロック符号化器５０５で説明される。
そのプロセスは、１以上のブロック復号化器５０５および１以上の復号化ユニット（例えば、５３３ａ−１〜５３３ａ−ｋ）を有する復号化システムと機能的に等価であることを、当業者たちは理解するであろう。
【００９１】
プロセスの開始（６００）は、符号化画像分解器５０１が、符号化または圧縮された画像データ３８５を符号化システム２２０から（例えば、メモリ１１５または記憶装置１２０を通して）受取る（６０５）ことを伴う。符号化画像分解器５０１は、変更ヘッダー３８５ａをヘッダー変換器５０８に送ることにより、符号化画像データ３８５を分解する（６１０）。さらに、符号化画像分解器５０１は、符号化画像データ３８５を個々の符号化画像ブロック３９０−１〜３９０−Ｒに分解する（６１０）。
【００９２】
ヘッダー変換器５０８は、ヘッダー情報を変換し（６１２）、画像組立器５０４に送られる出力ヘッダーを生じさせる。同時に、１以上のブロック復号化器５０５ａ〜５０５ｍは、各符号化画像ブロック３９０に対する画素カラーを復号化する（６１５）。前述のように、各符号化画像ブロック３９０は、１つのブロック復号化器５０５ａにおいて連続的に復号化され（６１５）、或いは複数の符号化画像ブロック３９０−１〜３９０−Ｒは、複数のブロック復号化器５０５ａ〜５０５ｍにおいて同時に復号化され（６１５）得ることを再び注目されたい。符号化画像ブロック３９０の復号化プロセスは、図６Ｂにおいて更に説明する。次に、各復号化（６１５）画像ブロックは、画像組立器５０４によって、変換された６１２ヘッダー情報とともにデータファイルの中に組立てられる（６２０）。画像組立器５０４は、元の画像３１０を表す出力（６２５）としてデータファイルを生じさせる。
【００９３】
図６Ｂは、本発明によるブロック符号化器５０５の操作を示す流れ図である。一旦プロセスが始まる（６３０）と、符号化画像ブロック３９０がブロック復号化器５０５によって受取られ、各符号化画像ブロック３９０に対するブロックタイプが検出される（６４０）。特に、好適実施例において、第１および第２のコードワード３９０ａ、ＣＷ０,ＣＷ１の各々は、ブロック復号化器５０５のブロ
ックタイプ検出器によって受取られる（６３５）。前述のように、ＣＷ０およびＣＷ１の数値の比較によって、ブロックタイプが明らかになる。
【００９４】
さらに、赤−チャネルカラーを表す各コードワード３９０ａ（例えば、ＣＷ０,ＣＷ１）の最初の５ビットは、第１および第２の復号化ユニット５３０,５４０各々の赤−チャネル５４５によって受取られ、緑−チャネルカラーを表す各コードワード３９０ａ ＣＷ０,ＣＷ１の第２の６−ビットは、第１および第２の復号化ユニット５３０,５４０各々の緑−チャネル５４５によって受取られ、また青
−チャネルカラーを表す各コードワード３９０ａ ＣＷ０,ＣＷ１の最後の５−ビットは、第１および第２の復号化ユニット５３０,５４０各々の青−チャネル５
４５によって受取られる。
【００９５】
ブロックタイプ検出器５２０は、各符号化画像ブロック３９０に対するブロックタイプを検出する（６４０）。特に、比較器５２２は第１および第２のコードワード３９０ａ、ＣＷ０,ＣＷ１を比較し、フラッグ信号を発生して第１の２×
１マルチプレクサ５２５ａまたは第２の２×１マルチプレクサ５２５ｂを使用可能にし、次にそれは、第１の復号化ユニット５３０または第２の復号化ユニット５４０のどちらかをそれぞれ選択する（６４５）。プロセスでは次に復号化ユニット５３０,５４０に対する量子化カラーレベルを計算する（６５０）。
【００９６】
量子化カラーレベルを計算する（６５０）ために、第１の復号化ユニット５３０は、以下の関係式を用いて２つのコードワード３９０ａ、ＣＷ０,ＣＷ１に関
する４つのカラーを計算する。
【００９７】
ＣＷ０＝第１コードワード＝第１カラー
ＣＷ１＝第２コードワード＝第２カラー
ＣＷ２＝第３カラー＝（２／３）ＣＷ０＋（１／３）ＣＷ１
ＣＷ３＝第４カラー＝（１／３）ＣＷ０＋（２／３）ＣＷ１
一実施例において、第１の復号化ユニット５３０は、上式のＣＷ２およびＣＷ３を例えば以下のように推定する。
【００９８】
ＣＷ２＝（５／８）ＣＷ０＋（３／８）ＣＷ１
ＣＷ３＝（３／８）ＣＷ０＋（５／８）ＣＷ１
赤−カラーブロック５５０ａ,５５０ｂは、（１／２）ＣＷ０または（１／３
）ＣＷ１を得るために１−ビットシフトレジスタとして役立ち、また各全加算器５５２ａ,５５２ｂ,５５４ａ,５５４ｂは、信号を１−ビット左にシフトさせる
のに役立つ。従って、２−ビットの全体のシフトのために、第１の全加算器５５２ａ,５５２ｂからの信号は、それぞれ（１／４）ＣＷ０または（１／４）ＣＷ
１であり、また３−ビットの全体のシフトのために、第２の全加算器５５４ａ,
５５４ｂからの信号は、それぞれ（１／８）ＣＷ０または（１／８）ＣＷ１である。これらの値により、カラー信号に対する前述の近似が可能となる。
【００９９】
第２の復号化ユニット５４０は、コードワード３９０ａ、ＣＷ０,ＣＷ１に関
する３つのカラーを計算し（６５０）、渡された無色を示す４つの信号を含む。第２の復号化ユニット５４０は、カラーを計算する。例えば、
ＣＷ０＝第１コードワード＝第１カラー
ＣＷ１＝第２コードワード＝第２カラー
ＣＷ３＝第３カラー＝（１／２）ＣＷ０＋（１／２）ＣＷ１
Ｔ＝無色
一実施例において、赤−カラーブロック５５０ａ,５５０ｂから受取った信号が
左に１−ビットシフトし、（１／２）ＣＷ０および（１／２）ＣＷ１に対してカラーが既に各々計算されているので、第２の復号化ユニット５４０は近似を含まない。
【０１００】
選択された（６４５）復号化ユニット５３０,５４０に対する量子化カラーレ
ベルが計算された（６５０）後に、各画素に対するビットマップ値が、符号化画像データブロック３８５から読取られる。各指標が読取られる（６５５）とき、それらは、第１復号化ユニット５３０が選択された（６４５）場合には、計算された４つのカラーの１つに対してマップされ（６６０）、またそれらは、第２復号化ユニット５４０が選択された（６４５）場合には、計算された３つのカラーおよび無色の１つに対してマップされる（６６０）。マップされた（６６０）カラーは、符号化画像ブロック３９０のビットマップ３９０ｂからのＩＤ信号の値に基づく４×１マルチプレクサ５２６によって選択される。先に述べたように、緑−チャネルおよび青−チャネルにおけるカラーの選択に対しても同様プロセスが存在する。
【０１０１】
カラーが赤−、緑−、青−チャネルから出力されたとき、出力は画像組立器５０４によって受取られる。画像組立器５０４は、ブロック符号化器５０５からの出力を元の画像３１０が分解されたのと同じ順序付けで配置する。画像復号化システム２３０から出力される結果（６５５）の画像は、画像を表示する出力ソース２４０（例えば、コンピュータスクリーン）に対して送られた元の画像である。
【０１０２】
本発明のシステムおよび方法の利点として、画像における要求された任意の画像ブロック２６０および画像ブロック２６０における任意の画素２７０に対するランダムアクセスが可能になる。図７Ａは、画素２７０または画像ブロック２６０に対するランダムアクセスを提供する本発明によるシステムのブロック線図を示す。
【０１０３】
ランダムアクセスシステム７００には、ブロックアドレス計算モジュール７１０、ブロック取出しモジュール７２０、および１以上のブロック復号化器５０５が含まれる。ブロックアドレス計算モジュール７１０は、符号化画像データ３８５のヘッダー情報３８５ａを受取るために接続される。またブロックアドレス計算モジュール７１０は、ブロック取出しモジュール７２０に対して接続される。ブロック取出しモジュール７２０は、符号化画像データ３８５の符号化画像ブロック部３９０−１−Ｒを受取るために接続される。またブロック取出しモジュール７２０は、ブロック復号化器５０５に対して接続される。
【０１０４】
図７Ｂは、本発明によるランダムアクセスシステム７００を用いる、画素２７０または画像ブロック２６０に対するランダムアクセスプロセスを示す流れ図である。ある特定の画素２７０が復号化のために特定されたとき、プロセスは、画像復号化システム２３０が符号化画像データ３８５を受取ることを伴い開始される（７４０）。符号化画像データ３８５の変更ヘッダー３８５ａが、ブロックアドレス計算モジュール７１０に送られ、また符号化画像データ３８５の符号化画像ブロック部３９０−１−Ｒが、ブロック取出しモジュール７２０に送られる。
【０１０５】
ブロックアドレス計算モジュール７１０は、変更ヘッダー３８５ａを読取り、要求された画素２７０を有する符号化画像ブロック部３９０−１−Ｒのアドレスを計算する（７４５）。計算された（７４５）アドレスは、画像における画素座標に依存する。計算された（７４５）アドレスを用いて、ブロック取出しモジュール７２０は、要求された画素２７０を有する符号化画像ブロック部３９０−１−Ｒの符号化画像ブロック３９０を識別する。要求された画素２７０を有する符号化画像ブロック３９０が一旦識別されると、特定された符号化画像ブロック３９０のみが処理のためにブロック復号化器５０５に送られる。
【０１０６】
前述の図６Ｂにおけるプロセスと同様に、ブロック復号化器５０５は、要求された画素を有する特定された符号化画像ブロック３９０に対する量子化カラーレベルを計算する（７５５）。量子化カラーレベルが計算された（７５５）後に、要求された画素のカラーが選択され（７６０）、画像復号化システム２３０から出力される（７６５）。
【０１０７】
画像ブロック２６０の画素２７０に対するランダムアクセスにより、画像の断片または必要とする部分のみの選択的な復号化が効果的に可能となる。またランダムアクセスにより、データが必要とされる任意の順序で画像を復号化することが可能になる。例えば、３次元テクスチャマッピング(texture mapping)におい
て、テクスチャの一部のみが必要とされ、また通常これらの部分は幾つかの非連続的な順序付けにおいて必要とされ得る。従って、一部のみまたは画像の断片の処理の場合、本発明は処理効率および能力を向上させる。
【０１０８】
本発明は効果的に元の画像３１０のサイズを２４−ビット／画素から集合体４−ビット／画素へ符号化、即ち圧縮し、その後、元の画像３１０の表示を得るために、符号化画像データ３８５を復号化、即ち圧縮解除する。さらに、特許請求の範囲に記載されている発明は、例えば、画素２７０カラーを識別するための余分なビットを必要としないように、そこから追加のカラーが引き出される２つのベースポイントまたはコードワードを用いる。
【０１０９】
さらに、本発明は、圧縮速度が固定されたままであることが可能なように、同じ数のビット／ブロックを有する個々のブロック基準におけるデータ圧縮を効果的に実現する。また、決められた数の画素２７０を有する固定サイズのブロック故に、本発明は、ブロックにおける任意の特定の画素２７０に対するランダムアクセスを効果的に可能にする。全てのデータのブロックが検索されず、幾つかの画素２７０のみに対応する表示データに復号化されるので、本発明はシステムリソースの効率的な利用を提供する。
【０１１０】
加えて、本発明における固定速度の６４−ビットデータブロックの使用は、個々のデータブロックのより迅速な処理を可能にする単純化されたヘッダー情報を有することを絶つ利点がある。また、６４−ビットデータブロックは、全データ列が組立てられたユニットを待つ必要がなくなった場合、データブロックが迅速に処理されることを可能にする（例えば、１−クロックサイクルにおいて）。さらに、復号化システムは、例えば２つのコードワードによって決定されたカラーのセットに各画素を復号化することが必要なだけであるので、本発明は、復号化システムのために必要なマイクロチップ空間を低減する。
【０１１１】
本発明の特定の実施例および用途について図示および説明してきたが、本発明はここで開示した構成および要素に限定されるべきでなく、本発明の範囲及び精神を逸脱することなく、本発明の装置もしくは方法の詳細および操作を様々に変形及び変更し得るということが、当業者には理解されよう。
【図面の簡単な説明】
【０１１２】
【図１】本発明によるデータ処理システムのブロック図である。
【図２Ａ】本発明による画像処理システムのブロック図である。
【図２Ｂ】本発明による画像ブロックのグラフ図である。
【図３Ａ】本発明による画像符号化器システムの第１の実施例のブロック図である。
【図３Ｂ】本発明による画像符号化器システムの第２の実施例のブロック図である。
【図３Ｃ】本発明による画像ブロック符号化器のブロック図である。
【図３Ｄ】本発明による元の画像のデータシーケンス図である。
【図３Ｅ】本発明による画像符号化器システムから出力された元の画像の符号化画像データのデータシーケンス図である。
【図３Ｆ】本発明による画像ブロック符号化器からの符号化画像ブロックのデータシーケンス図である。
【図４Ａ】本発明による符号化処理を示す流れ図である。
【図４Ｂ】本発明による符号化処理を示す流れ図である。
【図４Ｃ】本発明による符号化処理を示す流れ図である。
【図４Ｄ】本発明による符号化処理を示す流れ図である。
【図４Ｅ】本発明による符号化処理を示す流れ図である。
【図５Ａ】本発明による画像復号化システムのブロック図である。
【図５Ｂ】本発明によるブロック復号化器の第１の実施例のブロック図である。
【図５Ｃ】本発明によるブロック復号化器の第２の実施例のブロック図である。
【図５Ｄ】本発明による復号化器ユニットの第１の実施例を示す論理図である。
【図６Ａ】本発明による復号化処理を示す流れ図である。
【図６Ｂ】本発明による復号化処理を示す流れ図である。
【図７Ａ】本発明による画素或いは画像ブロックにランダムにアクセスするためのサブシステムのブロック図である。
【図７Ｂ】本発明による画素或いは画像ブロックへのランダムアクセスを示す流れ図である。
【図１】
2007020208.tif 000006
【図２Ａ】
2007020208.tif 000007
【図２Ｂ】
2007020208.tif 000008
【図３Ａ】
2007020208.tif 000009
【図３Ｂ】
2007020208.tif 000010
【図３Ｃ】
2007020208.tif 000011
【図３Ｄ】
2007020208.tif 000012
【図３Ｅ】
2007020208.tif 000013
【図３Ｆ】
2007020208.tif 000014
【図４Ａ】
2007020208.tif 000015
【図４Ｂ】
2007020208.tif 000016
【図４Ｃ】
2007020208.tif 000017
【図４Ｄ】
2007020208.tif 000018
【図４Ｅ】
2007020208.tif 000019
【図５Ａ】
2007020208.tif 000020
【図５Ｂ】
2007020208.tif 000021
【図５Ｃ】
2007020208.tif 000022
【図５Ｄ】
2007020208.tif 000023
【図６Ａ】
2007020208.tif 000024
【図６Ｂ】
2007020208.tif 000025
【図７Ａ】
2007020208.tif 000026
【図７Ｂ】
2007020208.tif 000027