(57)【要約】【課題】ブロックノイズを低減し、圧縮後の画像が元の画像と比較して再現性が高い画像圧縮装置、画像復号装置、および画像圧縮方法を提供することを目的とする。【解決手段】画像を特定の画素数を有する画像ブロック４０２に分割するブロック分割部１１０と、画像ブロック４０２を色系統の異なる複数の分離ブロック４０４ａ、４０４ｂに多重化する多重化部１２０と、分離ブロック４０４ａ、４０４ｂに対応する複数組の代表色を決定する代表色決定部１３０と、分離ブロック４０４ａ、４０４ｂごとに各画素に分離ブロック４０４ａ、４０４ｂの代表色もしくは代表色から生成される補間色、または特定色を割り当てる色割当部１４０と、を備えたことを特徴とする。【選択図】図１
2010239271.tif 000002
【特許請求の範囲】
【請求項１】
画像を特定の画素数を有する画像ブロックに分割するブロック分割部と、
前記画像ブロックに含まれる画素を複数の分離ブロックに振り分けて多重化する多重化部と、
前記分離ブロックに対応する複数組の代表色を決定する代表色決定部と、
前記分離ブロックごとに各画素に該分離ブロックの代表色もしくは該代表色から生成される補間色、または特定色を割り当てる色割当部と、
を備えたことを特徴とする画像圧縮装置。
【請求項２】
前記多重化部は前記画像ブロックに含まれる画素を所定の条件に応じて振り分けることにより複数の前記分離ブロックに多重化し、
前記代表色決定部は多重化された複数の前記分離ブロックごとに代表色を決定することを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
前記代表色決定部は前記画像ブロックごとに２つの代表色からなる系統を複数生成し、
前記多重化部は前記画像ブロックの各画素を前記複数の系統のいずれかに振り分けて複数の前記分離ブロックに多重化することを特徴とする請求項１に記載の画像圧縮装置。
【請求項４】
前記色割当部は、
前記複数の分離ブロックの少なくとも１つにおいて、該分離ブロックに前記画像ブロックから振り分けのなかった無効画素に透明色を割り当てることを特徴とする請求項１から３のいずれか１項に記載の画像圧縮装置。
【請求項５】
前記色割当部は、
前記分離ブロックの重ね順にかかわらず、
前記複数の分離ブロックの全てにおいて、該分離ブロックに前記画像ブロックから振り分けのなかった無効画素に透明色を割り当てることを特徴とする請求項１から３のいずれか１項に記載の画像圧縮装置。
【請求項６】
当該画像圧縮装置はデータをストリームに格納する格納部を備え、
前記格納部は、前記画像ブロックごとに、全ての分離ブロックにおいて決定された代表色の色情報を格納し、複数の分離ブロックごとに各画素のカラーインデックスを格納することを特徴とする請求項１に記載の画像圧縮装置。
【請求項７】
多重化された複数の分離ブロックからなる画像ブロックを取得するブロック取得部と、
それぞれの分離ブロックについて２つの代表色を取得し、該２つの代表色を線形補間して補間色を生成し、各画素に該画素のカラーインデックスに応じて前記代表色もしくは前記補間色または特定色を割り当てて画像を復号する復号部と、
復号された分離ブロックを重ね合わせて画像ブロックを再生する重畳部と、
を備えることを特徴とする画像復号装置。
【請求項８】
画像を特定の画素数を有する画像ブロックに分割し、
前記画像ブロックに含まれる画素を複数の分離ブロックに振り分けて多重化し、
前記分離ブロックごとに代表色を２色決定し、
前記分離ブロックごとに各画素に該分離ブロックの代表色もしくは該代表色から生成される補間色、または特定色を割り当てることを特徴とする画像圧縮方法。
【請求項９】
画像を特定の画素数を有する画像ブロックに分割し、
２つの代表色からなる色系統を複数生成し、
前記画像ブロックの各画素を前記複数の色系統のいずれかに振り分けて複数の分離ブロックを生成して多重化し、
前記分離ブロックごとに各画素に該分離ブロックの代表色もしくは該代表色から生成される補間色、または特定色を割り当てることを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック単位の画像圧縮装置、画像復号装置、および画像圧縮方法に関するものである。
【背景技術】
【０００２】
通常の画像データは、各画素が色情報を持っている。色情報としては、ＲＧＢやＣＭＹＫなどの色空間で各色の階調を保持するものが代表的であるが、カラーパレットに色を定義して各画素にはパレットのインデックスを指定するインデックスカラーも古くから利用されている。
【０００３】
一方、近年はコンピュータにおいて動画像や３ＤＣＧなどが普及してきており、より高速な画像処理が求められるようになってきている。このため、ハードウェアの性能向上とあわせて、データ構造やデータ処理方法においても、より高速に処理可能なものが求められている。ここで上記のような画像データは高速処理においてはそのデータの大きさが負担となっており、メモリ容量やバスの帯域幅、プロセッサの処理能力を圧迫する原因となっている。このため画像を取り扱う処理において高速化を図る場合には、データサイズの削減と、圧縮及び復号処理の軽減の両方の面から考慮する必要がある。
【０００４】
これまでに上述のメモリ容量、メモリ帯域幅を低減させるために、さまざまな画像圧縮手法が開発されている。その中でも画像の圧縮効率を高める目的で、非可逆圧縮方式であるＪＰＥＧ、ＢＴＣ（Block Truncation Coding）、ＣＣＣ（Color Cell Compression）等が開発された。その中で例えば特許文献１においては、３ＤＣＧ用のテクスチャ圧縮技術として、Ｓ３ＴＣ（S3 Texture Compression、ＤＸＴＣとも呼ばれる）と称される画像圧縮手法が開示されている。
【０００５】
Ｓ３ＴＣは、画像を４×４の画像ブロックに分割し、画像ブロック毎に代表色２色とその代表色の間に定義される２色の補間色を設定し、画素毎にこれら４色を割り当てる。４×４の画像ブロックには４色しか使われないうえ、データに保持されているのは代表色２色のみであって、各画素には４色のいずれを使用するかを示すインデックスのみが保持される。これにより、画質の低下を抑えつつ、大幅にデータ量を削減することができる。
【０００６】
また、Ｓ３ＴＣは、画像圧縮後にメモリに格納された画像群へのランダムアクセス性が高く、復号時の演算が比較的少なく、さらに圧縮率が固定である。このためＳ３ＴＣは、３次元ＣＧをハードウェアで支援する際のテクスチャ画像の圧縮に適していて、広く用いられている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第５９５６４３１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のＳ３ＴＣでは、２つの代表色と、これを線形補間した２色の４色によって各画素の色を表示する。このため、色空間（例えばＲＧＢ）内において代表色間の直線上（色系統）にない画素の色は表現しにくいという問題がある。極端な例でいえば、２つの代表色がＲ（２５５，０，０）とＧ（０，２５５，０）であった場合に、青（０，０，２５５）は表現することができない。無論このようなことがないように適切に代表色を決定するよう工夫されているが、三原色で表される色を直線で表示するため、４×４の画像ブロック内で極端に色系統が異なる画素が存在した場合には、原理的に本来の色を再現しにくい。
【０００９】
なお写真のようになめらかに色が変化する画像においてはこのような問題は発生しにくいが、アニメーションのように色境界に縁取りがあったり、画像中にテキストがあったりすると、極端な色変化が存在する。このような場合には、隣接する画像ブロック間で色合いが急変してブロックノイズとなったり、ぼけやにじみと感じられたりして、画質が低下する原因となってしまう。
【００１０】
そこで本発明は、このような課題に鑑み、ブロックノイズを低減し、圧縮後の画像が元の画像と比較して再現性が高い画像圧縮装置および画像復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明にかかる画像圧縮装置の代表的な構成は、画像を特定数の画素数を有する画像ブロックに分割するブロック分割部と、画像ブロックを複数の分離ブロックに多重化する多重化部と、分離ブロックに対応する複数組の代表色を決定する代表色決定部と、分離ブロックごとに各画素に分離ブロックの代表色もしくは代表色から生成される補間色、または特定色を割り当てる色割当部と、を備えたことを特徴とする。
【００１２】
上記構成によれば、画像ブロックの多重化を先に行う場合は、各分離ブロックにおいて、代表色決定部、色割り当て部、格納部として、従来のＳ３ＴＣの符号化エンジン(プログラムモジュール）を利用することができる。これにより、各分離ブロックにおいて、表現しにくい画素を減少させることができる。したがって、復号時に復号された画像は、従来のものと比較して表現力が向上し、ブロックノイズも低減される。このとき、特定色には透明のような特殊な色を含む。
【００１３】
多重化部は画像ブロックに含まれる画素を所定の条件に応じて振り分けることにより複数の分離ブロックに多重化し、代表色決定部は多重化された複数の分離ブロックごとに代表色を決定してもよい。
【００１４】
上記構成によれば、まず画像ブロックを所定の条件に応じて複数の分離ブロックに多重化してから、各分離ブロックにおいて振り分けのあった画素を有効画素とし、有効画素から代表色を決定する。振り分けのなかった画素は無効画素として、補間色または特定色を割り当てる。これにより、各分離ブロックは同系統の色ばかりが残っている可能性が従来より高いことから、より精度の高い代表色を決定することができ、復号した画像を重ね合わせて再現性の高い画像を得ることができる。
【００１５】
代表色決定部は画像ブロックごとに２つの代表色からなる系統を複数生成し、多重化部は画像ブロックの各画素を複数の系統のいずれかに振り分けて複数の分離ブロックに多重化してもよい。
【００１６】
上記の構成によれば、まず画像ブロックに複数組の代表色を決定し、各画素がいずれの系統に含まれるかに応じて分離ブロックを生成する。各分離ブロックにおいて振り分けのあった画素を有効画素とし、振り分けのなかった画素を無効画素として、無効画素に補間色または特定色を割り当てる。複数組の代表色を用いることができるために従来よりも色のカバー領域が格段に広くなり、三原色で表現される色を全て高精度に近似することができる。また多重化した各分離ブロックはそれぞれが２つの代表色を有するため、従来のＳ３ＴＣの復号エンジン（チップやプログラムモジュール）を利用することができる。そして、後に復号した画像を重ね合わせて再現性の高い画像を得ることができる。
【００１７】
色割当部は、複数の分離ブロックの少なくとも１つにおいて、分離ブロックに画像ブロックから振り分けのなかった無効画素に透明色を割り当てるとよい。
【００１８】
上記構成によれば、分離ブロックの重ね順が既知の場合には、上に（後から）重ねる分離ブロックにおいて無効画素に透明色を割り当てることにより、他の分離ブロックの有効画素の色が見えるように合成することができる。分離ブロックが２つの場合において、画像ブロック毎に最大７色（下の分離ブロックが４色、上の分離ブロックが３色＋透明）で表現可能である。またこのとき、下の分離ブロックでは、上の分離ブロックの画素に隠されてしまう画素は、有効画素に使用している色を割り当てることによって色数を節約し、圧縮効率を高めることができる。
【００１９】
色割当部は、分離ブロックの重ね順にかかわらず、複数の分離ブロックの全てにおいて、分離ブロックに画像ブロックから振り分けのなかった無効画素に透明色を割り当てるとよい。
【００２０】
上記構成によれば、分離ブロックの重ね順がわかっていない場合であっても、全ての分離ブロックにおいて無効画素に透明色を割り当てることにより、他の分離ブロックの有効画素の色が見えるように合成することができる。分離ブロックが２つの場合において、画像ブロック毎に最大６色（下の分離ブロックが３色＋透明、上の分離ブロックが３色＋透明）で表現可能である。
【００２１】
画像圧縮装置はデータをストリームに格納する格納部を備え、格納部は、画像ブロックごとに、全ての分離ブロックにおいて決定された代表色の色情報を格納し、複数の分離ブロックごとに各画素のカラーインデックスを格納するとよい。
【００２２】
上記の構成によれば、１つの画像ブロックについてのデータ（代表色の色情報と各画素のカラーインデックス）が連続して格納されるため、復号する際のデータ管理性を高めることができる。
【００２３】
上記課題を解決するために、本発明にかかる画像復号装置の代表的な構成は、多重化された複数の分離ブロックからなる画像ブロックを取得するブロック取得部と、それぞれの分離ブロックについて２つの代表色を取得し、２つの代表色を線形補間して補間色を生成し、各画素に画素のカラーインデックスに応じて代表色もしくは補間色または特定色を割り当てて分離ブロックを復号する復号部と、復号された分離ブロックを重ね合わせて画像ブロックを再生する重畳部とを備えることを特徴とする。
【００２４】
上記の構成によれば、複数枚の分離ブロックを重ね合わせるだけで、従来のものより再現性の高い高画質な画像ブロックを得ることができる。また、復号部として従来のＳ３ＴＣのエンジン（チップやプログラムモジュール）を利用することができるため、ハードウェアおよびソフトウェアに大幅な変更を伴うことなく本発明を実現することが可能である。
【００２５】
また上記課題を解決するために、本発明にかかる画像圧縮方法の代表的な構成は、画像を特定数の画素数を有する画像ブロックに分割し、画像ブロックに含まれる画素を複数の分離ブロックに振り分けて多重化し、分離ブロックごとに代表色を２色決定し、分離ブロックごとに各画素に分離ブロックの代表色もしくは代表色から生成される補間色、または特定色を割り当てることを特徴とする。
【００２６】
本発明にかかる画像圧縮方法の他の代表的な構成は、画像を特定数の画素数を有する画像ブロックに分割し、２つの代表色からなる色系統を複数生成し、画像ブロックの各画素を複数の色系統のいずれかに振り分けて複数の分離ブロックを生成して多重化し、分離ブロックごとに各画素に分離ブロックの代表色もしくは代表色から生成される補間色、または特定色を割り当てることを特徴とする。
【００２７】
上述した画像圧縮装置における技術的思想に対応する構成要素やその説明は、当該画像圧縮方法にも適用可能である。
【発明の効果】
【００２８】
本発明にかかる画像圧縮装置、画像復号装置、および画像圧縮方法によれば、ブロックノイズを低減し、再現性の高い画像を提供可能である。
【図面の簡単な説明】
【００２９】
【図１】第１実施形態にかかる画像圧縮装置と画像復号装置の構成を説明する図である。
【図２】圧縮処理部を説明する図である。
【図３】圧縮処理部の処理を説明するフローチャートである。
【図４】画像復号時の分離ブロックの重ね順が既知の場合の画像の状態を説明する図である。
【図５】画像復号時の分離ブロックの重ね順が不明の場合の画像の状態を説明する図である。
【図６】圧縮データの格納方式を説明する図である。
【図７】他のデータ格納方式を説明する図である。
【図８】復号処理部を説明する図である。
【図９】復号処理部の処理を説明するフローチャートである。
【図１０】第２実施形態にかかる圧縮処理部の処理を説明するフローチャートである。
【図１１】画像復号時の分離ブロックの重ね順が既知の場合の画像の状態を説明する図である。
【図１２】画像復号時の分離ブロックの重ね順が不明の場合の画像の状態を説明する図である。
【発明を実施するための形態】
【００３０】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００３１】
（第１実施形態）
図１は第１実施形態にかかる画像圧縮装置１０と画像復号装置３０の構成を説明する図である。図１（ａ）に示す画像圧縮装置１０は、テクスチャ画像（元画像４００）が記憶された記憶部１２と、各種処理を行うＣＰＵ１４（Central Processing Unit）と、ＣＰＵ１４の作業領域としての作業メモリ１６（メインメモリやＶＲＡＭ等）とを備えている。
【００３２】
図１（ｂ）に示す画像復号装置３０は、２Ｄおよび３Ｄの画像処理を行う演算・描画プロセッサ３２（ＣＰＵやＧＰＵ：Graphics Processing Unit）と、演算・描画プロセッサ３２の作業領域としての作業メモリ３４（メインメモリやＶＲＡＭ：Video Random Access Memory）と、記憶部３６を備えている。画像復号装置３０で復号された画像はモニタ４０に出力されて表示される。
【００３３】
圧縮画像製作者（例えばゲームソフト開発者）は、画像圧縮装置１０（いわゆる開発用ＰＣ）を利用する。画像圧縮装置１０において、ＣＰＵ１４は記憶部１２から元画像４００を読み出す。このときフルカラー（２４ビットまたは３２ビット）の元画像４００を記憶部１２から読み出し、作業メモリ１６上に展開する。ＣＰＵ１４に含まれる圧縮処理部１００は、作業メモリ１６に展開された画像を後述するように圧縮し、圧縮画像４０３を生成する。圧縮画像４０３は、記憶部１２あるいは他の記憶部へストリーム（ストリームはファイルとして独立している場合もあり、確保されたメモリ領域の場合もある）として格納される。なお、圧縮処理部１００は、既存のＳ３ＴＣ圧縮プログラムやＡＰＩ（Application Programming Interface）を流用して実現することができる。
【００３４】
圧縮画像利用者（例えばゲームソフト利用者）は、画像復号装置３０（例えばゲーム機やユーザーＰＣ）を利用する。このとき、画像復号装置３０は、圧縮画像４０３を格納したストリームを記憶部３６から取得する。記憶部３６は、例えばＣＤやＤＶＤなどの記録媒体である。また、ネット回線等を通じてストリームを受け取る場合には、ハードディスク等が記憶部３６に該当する。ストリームに格納された圧縮画像４０３は作業メモリ３４に読み出され、復号処理部３００によって復号される。復号された復号画像４０６は、そのままモニタ４０に表示したり、またはポリゴンデータのサーフェス（表面）に貼り付けられるなどの変形・加工処理をしたのちにモニタ４０に表示される。
【００３５】
また、例えばゲームソフト開発者が開発用ＰＣ上で圧縮画像４０３を確認するために、開発用ＰＣにおいて復号を行う場合がある。この場合は、同一システム上に、画像圧縮装置１０と画像復号装置３０を同時に実装することも可能である。
【００３６】
このようにＳ３ＴＣを用いて画像を圧縮することによりデータ量を削減し、特に画像復号装置において効果を有する。具体的には、画像復号装置３０における記憶部３６から作業メモリ３４への転送データ量、記憶部３６上の画像データ格納サイズ、作業メモリ３４と演算・描画プロセッサ３２間の転送データ量、作業メモリ３４上でのテクスチャバッファサイズなどを圧縮することができる。なお非圧縮の画像データを、分離された２枚のＳＴ３Ｃ圧縮データへ変換した場合、１／３〜１／４のデータ量に圧縮することができる。これによりフレームレートを向上させ、また大量のテクスチャや高精細なテクスチャをストレスなく用いることが可能となる。
【００３７】
図２は圧縮処理部１００を説明する図、図３は圧縮処理部１００の処理を説明するフローチャート、図４は画像復号時の分離ブロックの重ね順が既知の場合の画像の状態を説明する図、図５は、画像復号時の分離ブロックの重ね順が不明の場合の画像の状態を説明する図である。
【００３８】
図２に示すように、圧縮処理部１００は、ブロック分割部１１０と、多重化部１２０と、代表色決定部１３０と、色割当部１４０と、格納部１５０で構成される。以下に圧縮処理部１００の構成と動作をあわせて説明する。
【００３９】
ブロック分割部１１０は、元画像４００を、特定数の画素数を有する画像ブロック４０２に分割する（Ｓ１１０）。本実施形態では、図４（ａ）に示すように、元画像４００から４×４の１６画素ごとに１つの画像ブロック４０２として取り出す。例えば画像の画素サイズが２５６×２５６である場合には、６４×６４個の画像ブロックが生成される。なお、Ｓ３ＴＣでは特定画素数として４×４の１６画素を用いているが、復号処理部３００が対応していれば１６画素に限る必要はない。このとき図４（ａ）に示すように、画像ブロック４０２には様々な色の画素が混在して含まれている。
【００４０】
多重化部１２０は、画像ブロック４０２の各画素を分離ブロック４０４ａ、４０４ｂに振り分けて多重化する（Ｓ１２０）。多重化方法は、色系統別に分離する方法の他に、輝度や彩度で分離する方法や、ブロックの周辺部と中央部で分離する方法などがあり、最適な多重化方法は、画像ブロック毎に最適な分離手法が異なる。したがって以下では色系統によって分離させるが、あくまでも一例であってこれに限定されるものではない。
【００４１】
例えば、上述の複数の方法で画像ブロック４０２を分離し、後述する方法で復号された画像をそれぞれ元画像４００との誤差を計算し、誤差が最も少なかった圧縮結果を圧縮画像４０３として出力してもよい。
【００４２】
さらに４×４の画素の画像ブロック４０２を２つの分離ブロックに分割する組み合わせは、画像ブロック４０２に使用されている色数をｎ個とすると、有効な組み合わせは２のｎ乗個であり、最大でも２の１６乗である６５５３６通りに限定される。この全ての組み合わせ、あるいは明らかに無駄な分割（０色と１６色に分割等）を省いた最適化を行った組み合わせで分離ブロックを作成し、それぞれの分離ブロックをＳ３ＴＣ圧縮する。そして後述する方法で復号された画像をそれぞれ元画像４００との誤差を計算し、誤差が最も少なかったＳ３ＴＣ圧縮結果を圧縮画像４０３として出力してもよい。
【００４３】
上述した２つの、元画像４００との誤差を計算し、誤差が最も少なかったＳ３ＴＣ圧縮結果を出力する方法は、処理速度は犠牲となるが、さらに復号画像４０６の画質を高めることが可能である。
【００４４】
本実施形態では、画像ブロック４０２の各画素をＲＧＢの色系統別に２つの分離ブロック４０４ａ、４０４ｂに振り分けて多重化する方法を一例として説明する。色系統としては、例えば赤系統と青系統に分けることができる。具体例としては、各画素のＲＧＢの色情報を比較してＲ＞Ｂの画素を第１分離ブロック４０４ａに振り分け、Ｒ≦Ｂの画素を第２分離ブロック４０４ｂに振り分ける。ここで図４（ｂ）に示すように、各分離ブロック４０４ａ、４０４ｂにおいて、振り分けのあった画素を有効画素とし、振り分けのなかった画素を無効画素とする。
【００４５】
代表色決定部１３０は、分離ブロック４０４ａ、４０４ｂごとに代表色を２色決定する。ここでまず、復号時の分離ブロックの重ね順が既知であるか否かを判断する（Ｓ１３０）。画像を復号した後に重ね合わせる場合、原則として後から重ねた色が有効になる（上塗りされる）ため、重ね順が既知の場合には下になる画像の無効画素に任意の色を割り当てることができるが、重ね順がわからない場合には両方の無効画素に透明色を設定する必要がある。カラーインデックスは２ビット（４通り）であるから、１色を透明色の指定に用いると、補間色は１色しか使用することができない。
【００４６】
重ね順が既知である場合（Ｓ１３０のＹＥＳ）、図４（ａ）に示したように、第１分離ブロック４０４ａには３色+透明色を用いることができ、第２分離ブロック４０４ｂには４色を用いることができる（第１分離ブロック４０４ａが上にくる場合）。なお、重ね合わせた結果としての画像に透明色が必要である場合には、第２分離ブロック４０４ｂも３色＋透明色となる。
【００４７】
そこで代表色決定部１３０は、分離ブロック４０４ａ、４０４ｂごとに代表色を２色決定する（Ｓ１３２）。第１分離ブロック４０４ａの代表色をＡ１、Ａ２（図において○と●）とする。同様に、第２分離ブロック４０４ｂの代表色をＢ１、Ｂ２（図において、△と▲）とする。代表色決定方法としては、主成分解析を用いる方法や、総当りで決定する方法、輝度や分離ブロック内での位置で選ぶ方法等があるが、本実施形態では主成分解析を用いる方法を一例として用いる。具体例として、代表色決定部１３０は、第１分離ブロック４０４ａの有効画素を主成分分析を用いて解析し、第１代表色Ａ１および第２代表色Ａ２を決定する。このとき無効画素は「色がない」画素であるから、有効画素についてのみ演算を行えばよく、計算負荷を飛躍的に軽減することができる。
【００４８】
ここで、あらかじめ画像ブロック４０２を色系統別に複数の分離ブロック４０４ａ、４０４ｂに多重化していることから、個々の分離ブロック４０４ａ、４０４ｂの色系統の数が少なくなり、同系統の色のみとなる可能性が大幅に高くなる。このため、従来よりも精度の高い代表色を決定することができ、復号した際には再現性の高い画像を得ることが可能となる。
【００４９】
色割当部１４０は、分離ブロック４０４ａ、４０４ｂごとに、各画素に代表色もしくは該代表色から生成される補間色、または特定色を割り当てる（Ｓ１４２）。第１分離ブロック４０４ａでは代表色Ａ１、Ａ２が既に定められているから、これらから１つの補間色を算出する。第２分離ブロック４０４ｂについては、代表色Ｂ１、Ｂ２から２つの補間色を算出する。
【００５０】
図４（ｃ）は色の割り当てを説明する図である。上記したように、画像を復号した後に重ね合わせる場合、原則として後から重ねた色が有効になる（上塗り）。したがって上に重ねられる第１分離ブロック４０４ａは、無効画素に透明色を割り当てる。下に重ねられる第２分離ブロック４０４ｂの無効画素は、第１分離ブロック４０４ａの有効画素によって上塗りされるため、任意の色（特定色）を割り当てることができる。例えば特定色として、代表色の１つをダミーデータとして割り当ててもよい。したがって、図４（ｄ）に示すように、画像ブロック４０２ごとに最大７色（第１分離ブロック４０４ａが３色＋透明、第２分離ブロック４０４ｂが４色）で表現可能である。
【００５１】
代表色（Ａ１、Ａ２）の間に１色の補間色（Ａ３）を求める場合には、例えば次式が用いられる。
【数１】
2010239271.tif 000003
代表色（Ｂ１、Ｂ２）の間に２色の補間色（Ｂ３、Ｂ４）を求める場合には、例えば次式が用いられる。
【数２】
2010239271.tif 000004
【００５２】
一方、重ね順が不明な場合には（Ｓ１３０のＮＯ）、第１分離ブロック４０４ａおよび第２分離ブロック４０４ｂの両方の無効画素に透明色を設定する。したがって、第１分離ブロック４０４ａおよび第２分離ブロック４０４ｂ両方に補間色は１色ずつしか指定できない。
【００５３】
そこで代表色決定部１３０は、図５（ａ）に示すように、分離ブロック４０４ａ、４０４ｂのそれぞれに３色＋透明色となるように代表色を２色決定する（Ｓ１３４）。色割当部１４０は、図５（ｂ）に示すように、分離ブロック４０４ａ、４０４ｂの各画素について、代表色あるいは補間色の最も近い色のインデックスを割り当てる（Ｓ１４４）。このとき図５（ｃ）に示すように、上下いずれの分離ブロック４０４ａ、４０４ｂにおいても、無効画素には透明色を割り当てる。したがって、図５（ｄ）に示すように、画像ブロック毎に最大６色（分離ブロック４０４ａ、４０４ｂ共に３色＋透明）で表現可能である。
【００５４】
図２に示した格納部１５０は、図３のフローチャートに示すように、画像ブロック４０２の圧縮データ（圧縮画像４０３が分離ブロック４０４ａ、４０４ｂとなっているもの）をストリームに格納する（Ｓ１５０）。ストリームとは抽象的なデータ型であって、圧縮データの格納先としては一時的にデータを保持および受け渡しできるものであればよく、メモリストリームでもファイルストリームでもよい。
【００５５】
図６は圧縮データの格納方式を説明する図である。本実施形態では、図６に示すように、上記のようにして求めた第１分離ブロック４０４ａの代表色Ａ１、Ａ２、第２分離ブロック４０４ｂの代表色Ｂ１、Ｂ２、および第１分離ブロック４０４ａの各画素のカラーインデックス、第２分離ブロック４０４ｂの各画素のカラーインデックスをこの順で格納している。このとき、補間色については、代表色（Ａ１〜Ａ２、Ｂ１〜Ｂ２）から算出できるため、格納しない。
【００５６】
このように、１つの画像ブロック４０２についての圧縮データ（代表色の色情報と各画素のカラーインデックス）が連続して格納されるため、復号する際のデータ管理性を高めることができる。
【００５７】
図７は他のデータ格納方式を説明する図である。図７（ａ）は、元画像４００の圧縮データを第１分離ブロック４０４ａ、第２分離ブロック４０４ｂごとに別々のファイル（ファイルストリーム）に格納する方式である。各ファイルの格納形式は従来のＳ３ＴＣと同一とすることができ、互換性を高めることができる。復号時には、２つのファイルを読み込み、２枚を重ね合わせるだけでよい。
【００５８】
図７（ｂ）は、圧縮データを第１分離ブロック４０４ａ、第２分離ブロック４０４ｂごとにレイヤＡ、レイヤＢに分けて、同じファイルに格納するマルチレイヤー方式である。図７（ｃ）は図７（ｂ）と似て、２つの圧縮データの領域Ａ、領域Ｂを縦か横に連結して格納する連結方式である。１つのファイルに２枚分の圧縮データが格納されているため、管理上の手間が少なくなる利点を有している。
【００５９】
図７（ｄ）はインターリーブ方式であって、４×４の画像ブロック４０２の縦または横に１列ごとに第１分離ブロック４０４ａのデータ、第２分離ブロック４０４ｂのデータを交互に格納する。復号時には、ファイルを読み込み、４×４画素ごとに横または縦並びの２つを１組として重ね合わせる。この場合も１つのファイルに２枚分の圧縮データが格納されているため、管理上の手間が少なくなる利点を有している。
【００６０】
図３に戻って、上記の多重化（Ｓ１２０）からデータの格納（Ｓ１５０）までの処理を、全ての画像ブロック４０２について終了するまで繰り返す（Ｓ１６０）。これにより元画像４００全体に対して処理を行い、画像圧縮処理が完了する。
【００６１】
（復号処理）
次に、画像復号装置３０の復号処理部３００について説明する。図８は復号処理部３００を説明する図、図９は復号処理部３００の処理を説明するフローチャートである。復号処理部３００は、ブロック取得部３１０と、復号部３２０と、重畳部３３０とを備える。以下に復号処理部３００の構成と動作をあわせて説明する。
【００６２】
ブロック取得部３１０は、ストリームから圧縮画像４０３を読み込む際に、まず今回の圧縮画像４０３において重ね順が定められているか否かを取得する（Ｓ３００）。重ね順の取得には、重ね順が定められている場合と、定められていない場合を含む。なお、画像ごとに重ね順を取得するとは限らず、システム（方式）として予め重ね順を定めておいてもよい。
【００６３】
次にブロック取得部３１０は、ストリームから、多重化された複数の分離ブロック４０４ａ、４０４ｂからなる画像ブロック４０２を取得する（Ｓ３１０）。すなわち図６または図７に示したような格納方式に従い、１つの画像ブロック４０２を構成する複数の分離ブロック４０４ａ、４０４ｂを特定して取得する。
【００６４】
次に復号部３２０は、それぞれの分離ブロックについて２つの代表色（Ａ１、Ａ２、またはＢ１、Ｂ２）を取得する（Ｓ３２０）。そして、補間色が１色なのか２色なのかを代表色データの大小関係から取得し（Ｓ３２２）、２つの代表色を線形補間して補間色を生成する（Ｓ３３０）。このとき、重ね順が定められている場合には上にくる分離ブロック（第１分離ブロック４０４ａ）においては１つの補間色を生成し、下にくる分離ブロック（第２分離ブロック４０４ｂ）においては２つの補間色を生成する。そして各画素に該画素のカラーインデックスに応じて代表色、補間色、または特定色を割り当てて画像を復号する（Ｓ３４０）。復号部としては、従来のＳ３ＴＣのエンジン（チップやプログラムモジュール）を利用することができる。
【００６５】
重畳部３３０は、復号された分離ブロック４０４ａ、４０４ｂを重ね合わせて画像ブロック４０２を再生する（Ｓ３５０）。このとき分離ブロック４０４ａ、４０４ｂの重ね順が定められていれば、これに従う。
【００６６】
次に、全ての画像ブロック４０２について復号が終了したか否かを判断し（Ｓ３６０）、終了していなければ（Ｓ３６０のＮＯ）、次の分離ブロックの取得から（Ｓ３１０）復号した分離ブロックの重畳（Ｓ３５０）までを行う。
【００６７】
全ての画像ブロック４０２の復号が終了した場合（Ｓ３６０のＹＥＳ）、画像ブロック４０２を並べ、最終的な復号画像４０６を生成する（Ｓ３７０）（図４（ｄ）および図５（ｄ）参照）。
【００６８】
上記説明した如く、本発明にかかる画像圧縮装置、画像復号装置、および画像圧縮方法によれば、画像ブロックを複数の分離ブロックに多重化してから圧縮を行うことにより、各分離ブロックにおいて、色系統が大きく外れるなどの表現しにくい画素を、大幅に減らすことができる。したがって、復号時に復号された画像は、従来のものと比較して表現力が向上し、ブロックノイズが低減し、再現性の高い画像を提供可能である。
【００６９】
（第２実施形態）
本発明にかかる画像圧縮装置の第２実施形態について説明する。図１０は第２実施形態にかかる圧縮処理部１００の処理を説明するフローチャート、図１１および図１２は画像の状態を説明する図であって、上記第１実施形態と説明の重複する部分については同一の符号を付して説明を省略する。
【００７０】
上記第１実施形態においては、まず多重化部１２０が画像ブロック４０２を２つの分離ブロック４０４ａ、４０４ｂに多重化した後に、代表色決定部１３０が各分離ブロック４０４ａ、４０４ｂについて代表色を決定するように説明した。これに対し本実施形態は、代表色決定部１３０が画像ブロック４０２から２つの代表色からなる色系統を２組決定し、多重化部１２０がこの色系統に基づいて画素を振り分けることより多重化を行う例である。
【００７１】
図１０に示すように、ブロック分割部１１０は、元画像４００を、特定数の画素数を有する画像ブロック４０２に分割する（Ｓ１１０）。このとき図１１（ａ）、図１２（ａ）に示すように、画像ブロック４０２には様々な色の画素が混在して含まれている。
【００７２】
次に本実施形態においては、ブロックの多重化を行う前に（図３のＳ１２０参照）、復号時の分離ブロックの重ね順が既知であるか否かを判断する（Ｓ１３０）。重ね順が既知である場合は（Ｓ１３０のＹＥＳ）、図１１（ａ）に示すように第１分離ブロック４０４ａに３色+透明色を、第２分離ブロック４０４ｂに４色を用いることができる。これに基づき、代表色決定部１３０が２系統２つずつの代表色（Ａ１−Ａ２、Ｂ１−Ｂ２：図１１（ｂ）において○と●、△と▲）を決定する（Ｓ１３２）。この段階では、図１１（ｂ）に示すように、まだ画像ブロック４０２は多重化されていない。
【００７３】
多重化部１２０は、画像ブロック４０２の各画素を複数の色系統のいずれかに振り分けて、図１１（ｃ）に示すように複数の分離ブロック４０４ａ、４０４ｂに多重化する（Ｓ１２２）。色割当部１４０は、分離ブロック４０４ａ、４０４ｂごとに、各画素に代表色もしくは該代表色から生成される補間色、または特定色を割り当てる（Ｓ１４２）。このとき図１１（ｃ）に示すように、上に重ねられる第１分離ブロック４０４ａの無効画素には透明色を割り当て、下に重ねられる第２分離ブロック４０４ｂの無効画素には特定色（ダミーデータ）を割り当てる。
【００７４】
重ね順が不明である場合は（Ｓ１３０のＮＯ）、図１２（ａ）に示すように、分離ブロック４０４ａ、４０４ｂ共に３色+透明色を用いる。これに基づき、代表色決定部１３０が２系統２つずつの代表色（Ａ１−Ａ２、Ｂ１−Ｂ２：図１２（ｂ）において○と●、△と▲）を決定する（Ｓ１３４）。そして多重化部１２０が複数の分離ブロック４０４ａ、４０４ｂに多重化し（Ｓ１２４）、色割当部１４０が分離ブロック４０４ａ、４０４ｂごとに、各画素に代表色もしくは該代表色から生成される補間色、または特定色を割り当てる（Ｓ１４４）。このとき図１２（ｃ）に示すように、分離ブロック４０４ａ、４０４ｂ共に、無効画素には透明色を割り当てる。
【００７５】
格納部１５０が画像ブロック４０２の圧縮データ（圧縮画像４０３が分離ブロック４０４ａ、４０４ｂとなっているもの）をストリームに格納すると（Ｓ１５０）、上記の多重化（Ｓ１２０）からデータの格納（Ｓ１５０）までの処理を、全ての画像ブロック４０２について終了するまで繰り返す（Ｓ１６０）。これにより元画像４００全体に対して処理を行い、画像圧縮処理が完了する。
【００７６】
上記構成とすることにより、複数組の代表色（色系統）をより適正化することができる。すなわち、本実施形態によれば、色系統の境界をより実在する色に即して動的に設定することができる。
【００７７】
なお、本明細書の画像圧縮装置および画像復号装置における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【００７８】
また、上記各実施形態においては、画像ブロック４０２を２つの分離ブロック４０４ａ、４０４ｂに分けるよう説明したが、３以上の分離ブロックに多重化してもよい。また元画像４００を４×４画素単位で分割した画像ブロック４０２に対して分離と圧縮を繰り返すように説明したが、元画像４００全体を分離した後に、画像全体を画像ブロック４０２に分割して圧縮してもよい。これらの場合においても、本発明の範疇であると解される。
【００７９】
なお、上記実施形態においては３ＤＣＧにおいてポリゴンデータのサーフェス貼り付けるテクスチャデータを例に用いて説明した。しかし本発明はこれに限定するものではなく、画質を低下させることなく高い圧縮率を得るための技術として広く適用することができる。
【００８０】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００８１】
本発明は、ブロック単位の画像圧縮装置、画像復号装置、および画像圧縮方法として利用することができる。
【符号の説明】
【００８２】
１０   …画像圧縮装置
１２   …記憶部
１４   …ＣＰＵ
１６   …メインメモリ
３０   …画像復号装置
３２   …演算・描画プロセッサ
３４   …作業メモリ
３６   …記憶部
４０   …モニタ
１００  …圧縮処理部
１１０  …ブロック分割部
１２０  …多重化部
１３０  …代表色決定部
１４０  …色割当部
１５０  …格納部
２００  …圧縮処理部
３００  …復号処理部
４００  …元画像
４０２  …画像ブロック
４０３  …圧縮画像
４０４  …分離ブロック
４０４ａ  …第１分離ブロック
４０４ｂ  …第２分離ブロック
４０６  …復号画像
【図１】
2010239271.tif 000005
【図２】
2010239271.tif 000006
【図３】
2010239271.tif 000007
【図４】
2010239271.tif 000008
【図５】
2010239271.tif 000009
【図６】
2010239271.tif 000010
【図７】
2010239271.tif 000011
【図８】
2010239271.tif 000012
【図９】
2010239271.tif 000013
【図１０】
2010239271.tif 000014
【図１１】
2010239271.tif 000015
【図１２】
2010239271.tif 000016