(57)【要約】【課題】画像データの転送効率を向上させる画像データ処理方法及び画像データ処理装置を提供する。【解決手段】画像データ処理方法は、キャッシュメモリ１６に記憶された複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを、主メモリ１２へ書き込む場合に、画像データに対して所定の圧縮処理を施し、主メモリ１２に記憶された画像データを、主メモリ１２から読み出してキャッシュメモリ１６に書き込む場合に、読み出された画像データに対して所定の伸長処理を施す。【選択図】図１
2010041122.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリに記憶された複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを、主メモリへ書き込む場合に、前記画像データに対して所定の圧縮処理を施し、
前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリに書き込む場合に、読み出された画像データに対して所定の伸長処理を施すことを特徴とする画像データ処理方法。
【請求項２】
前記キャッシュメモリに記憶された前記複数のピクセルのそれぞれのデータを、各サブピクセル毎のデータ内容を第１の順番に並べた場合の順番データと、前記各サブピクセルが使用するデータが前記第１の順番においてどの順位のデータかを示すインデックスデータとに展開し、
前記所定の圧縮処理において、前記複数のピクセルのそれぞれのデータを、前記第１の順番の中の各順位毎に前記各サブピクセルの前記データを第２の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第２の順番に並べたインデックスデータ群とに変換し、
前記主メモリに記憶された前記画像データを読み出す場合に、前記第１の順番における第１順位の順位別データ群は、読み出さず、前記第１の順番における第２順位以降の各順位別データ群と、前記インデックスデータ群とを読み出して、前記所定の伸長処理が施されることを特徴とする請求項１に記載の画像データ処理方法。
【請求項３】
複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを記憶するキャッシュメモリと、
該キャッシュメモリに記憶された前記画像データを、主メモリへ書き込む場合に、前記画像データに対して所定の圧縮処理を施す圧縮回路と、
前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリに書き込む場合に、読み出された画像データに対して所定の伸長処理を施す伸長回路と、
を有することを特徴とする画像データ処理装置。
【請求項４】
前記キャッシュメモリに記憶された前記複数のピクセルのそれぞれのデータを、各サブピクセル毎のデータ内容を第１の順番に並べた場合の順番データと、前記各サブピクセルが使用するデータが前記第１の順番においてどの順位のデータかを示すインデックスデータとに展開し、
前記圧縮回路は、前記所定の圧縮処理において、前記複数のピクセルのそれぞれのデータを、前記第１の順番の中の各順位毎に前記各サブピクセルの前記データを第２の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第２の順番に並べたインデックスデータ群とに変換したときに、
前記伸長回路は、前記主メモリに記憶された前記画像データを読み出す場合に、前記第１の順番における第１順位の順位別データ群は、読み出さず、前記第１の順番における第２順位以降の各順位別データ群と、前記インデックスデータ群とを読み出して、前記所定の伸長処理が施されることを特徴とする請求項３に記載の画像データ処理装置。
【請求項５】
複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データのデータ構造であって、
前記複数のピクセルのそれぞれのデータを、各サブピクセル毎のデータ内容を第１の順番に並べた場合の順番データと、前記各サブピクセルが使用するデータが前記第１の順番においてどの順位のデータかを示すインデックスデータとに展開した場合に、
前記複数のピクセルのそれぞれのデータを、前記第１の順番の中の各順位毎に前記各サブピクセルの前記データを第２の順番に並べた順位別データ群と、
前記複数のピクセルのそれぞれの前記インデックスデータを前記第２の順番に並べたインデックスデータ群とを有する画像データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ処理方法、画像データ処理装置及びデータ構造に関し、特に、キャッシュメモリと主メモリ間の画像データの転送効率を向上する画像データ処理方法、画像データ処理装置及びデータ構造に関する。
【背景技術】
【０００２】
従来より、各種画像を表示するための画像データが、パーソナルコンピュータ（以下、PCという）、ゲーム機等で広く扱われている。画像データは、画像を構成する複数のピクセルのそれぞれのカラーデータ等の各種データを含む。画像データは、CPU、GPU（Graphics Processing Unit）、専用エンジン等の処理回路において処理されるデータ量の多いデータである。
【０００３】
近年は、画像データは、画像の質向上のために、種々の工夫されたデータである。例えば、物体の輪郭にジャギーと呼ばれるギザギザの発生を目立たなくするために、１つのピクセルを複数の仮想上のサブピクセルで表現する技術がある（例えば、非特許文献１参照）。例えば、１つのピクセルを４つのサブピクセルで表現して、アンチエイリアシング処理を行うことによって、物体の輪郭を滑らかに表現することができる。
【０００４】
しかし、このような技術を用いた場合、１つのピクセルを複数のサブピクセルで表現するためデータ量が多くなるという問題が生じる。画像データの処理は、大量データを処理するため、高速処理が要求されるが、画像データ量の増大は、データバス上の画像データの転送効率を低下させてしまうという問題があった。
【非特許文献１】アラン・ワット著「３D  コンピュータ・グラフィクス  第３版」  「１４章  アンチエイリアシング  理論と実際、１４．７  スーパーサンプリングあるいはポストフィルタリング」アディソン・ウエズリ、ISBN  0-201-39855-9（Alan Watt, “3D Computer Graphics Third Edition” 14. Anti-aliasing theory and practice, 14.7 Supersampling or Post-filtering, ADDSON WESLEY, ISBN 0-201-39855-9）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、画像データの転送効率を向上させる画像データ処理方法、画像データ処理装置及びデータ構造を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、キャッシュメモリに記憶された複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを、主メモリへ書き込む場合に、前記画像データに対して所定の圧縮処理を施し、前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリ書き込む場合に、読み出された画像データに対して所定の伸長処理を施す画像データ処理方法を提供することができる。
【発明の効果】
【０００７】
本発明によれば、画像データの転送効率を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の実施の形態を説明する。
【０００９】
（全体構成）
まず図１に基づき、本実施の形態に係わる画像データ処理装置の構成を説明する。図１は、本実施の形態に係わる画像データ処理装置の構成を示す構成図である。  
図１は、画像データを処理するPC、ゲーム機等の情報処理装置の一部の回路構成を示す。図示しないCPUからの指示に基づいて、画像データ処理装置１の演算回路１１は、画像データを主メモリ１２からバス１３を介して読み出して、マルチサンプルアンチエイリアシングによるレンダリング処理等の画像処理演算を行い、演算結果の画像データを主メモリ１２に書き込む処理を行う。
【００１０】
演算回路１１と主メモリ１２との間には、キャッシュメモリ部１４が設けられている。主メモリ１２は、DDRのSRAM等である。キャッシュメモリ部１４は、キャッシュコントローラ１５とキャッシュメモリ１６とを含んでいる。キャッシュメモリ１６は、複数のラインデータを記憶する。キャッシュメモリ１６は、さらに、各サブピクセルについて、後述する所定のカラーデータに関するフラグデータｆを記憶するフラグデータ部１６ａを含む。
【００１１】
バスインターフェース（I/F）１７は、バス１３に接続されている。バスI/F１７とキャッシュメモリ部１４との間には、伸長回路１８と圧縮回路１９とが設けられている。図１において、主メモリ１２とバス１３とを除く回路が、例えば、GPUに含まれる。
【００１２】
演算回路１１は、画像処理を行うためのパイプライン回路を含み、CPUからの指示に基づいて所定の画像処理、例えばレンダリング処理を行う。  
そして、後述するように、キャッシュメモリ部１４は、主メモリ１２から画像データを読み出すときは、所定の伸長処理を施す伸長回路１８を用いて圧縮された画像データを伸長する。画像データ処理回路１は、主メモリ１２へ画像データを書き込むときは、所定の圧縮処理を施す圧縮回路１９を用いて画像データを圧縮する。
【００１３】
演算回路１１は、通常は、主メモリ１２から読み出された画像データに対して演算処理を行い、演算結果の画像データは主メモリ１２へ書き込まれる。さらに、画像データ処理回路１は、CPUからの指示に応じて、所定の画像処理を行った画像データの、いわゆる書き込みのみ（write only）を行うモードで、各回路を動作させることもできる。以下、書き込みのみのモードを、ライト・オンリー・キャッシュモードという。
【００１４】
このライト・オンリー・キャッシュモード時、CPUは、そのモードであることをキャッシュコントローラ１５に指示する。キャッシュコントローラ１５は、その指示に応じて、後述するような、ライト・オンリー・キャッシュモードに応じた画像データの読み出しをするように、伸長回路１８に対して指示する。伸長回路１８は、その指示に応じて、後述するような形式で、主メモリ１２から画像データを読み出して取得する。ライト・オンリー・キャッシュモード時、キャッシュコントローラ１５は、後述するように、フラグデータ部１６ａのフラグデータの管理を行う。
【００１５】
なお、バスI/F１７が、後述するようなライト・オンリー・キャッシュモードに応じた画像データの読み出し処理を行うようにしてもよい。その場合、キャッシュコントローラ１５は、バスI/F１７に対して、ライト・オンリー・キャッシュモードに応じた画像データの転送をするように指示する。
【００１６】
ライト・オンリー・キャッシュモード時、主メモリ１２から読み出した１ラインデータに関するフラグデータｆとして、所定の値が、フラグデータ部１６ａに書き込まれるが、その所定の値の書き込みも、キャッシュコントローラ１５が行う。
【００１７】
キャッシュコントローラ１５は、ライト・オンリー・キャッシュモード時、演算回路１１が、あるピクセルについて、後述する第１カラーデータを書いた場合に、フラグデータ部１６ａにおける対応するサブピクセルの所定のカラーデータ（以下の例では第１カラーデータ）に関するフラグデータｆを、所定のデータに書き換える。  
なお、本実施の形態では、フラグデータ部１５のフラグデータｆの処理は、キャッシュコントローラ１５が行うが、別の回路が行ってもよい。
【００１８】
（データ構造）
図２は、ピクセルとサブピクセルの関係を説明するための図である。図２は、画像を構成する複数のピクセルｐの一部を示す。図２に示すように、複数のピクセルpのそれぞれは、４つの仮想上のサブピクセルsp1からsp4を含む。すなわち、画像データは、キャッシュメモリ１６に記憶された複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む。ここでは、８×８の６４個のピクセルの画像データを１ラインの単位データとして、キャッシュメモリ１６には、複数のラインの画像データが記憶される。すなわち、キャッシュメモリ１６の１ラインには、８×８のピクセルブロックPBの画像データが記憶され、画像データは、キャッシュメモリ１６と主メモリ１２との間では、このライン単位で読み出しと書き込みが行われる。  
例えば、アンチエイリアシング処理は、サブサンプリングされたこれらのサブピクセルを用いて行われる。
【００１９】
本実施の形態では、後述するように、同一ピクセル内のサンプリング点の色が一色、すなわちサブピクセルspの色が全て同じであれば、３つのカラーデータのない１／４圧縮状態となるように、画像データが主メモリ１２に記憶される。また、同一ピクセル内のサンプリング点の色が２色であれば、２つのカラーデータのない１／２圧縮状態となるように、画像データが主メモリ１２に記憶される。同一ピクセル内のサンプリング点の色が３色であれば、１つのカラーデータのない３／４圧縮状態となるように、画像データが主メモリ１２に記憶される。同一ピクセル内のサンプリング点の色が４色であれば、全てのカラーデータが含まれる非圧縮状態となるように、画像データが主メモリ１２に記憶される。このような圧縮状態の画像データが混在する画像データが主メモリ１２に記憶される。
【００２０】
画像表示のためには、フレームバッファに１ピクセル当たり、４つのカラーデータが必要である。しかし、１ピクセル中の４つのカラーデータには、同一のカラーデータである場合が多い。そこで、画像データ処理時、４つのカラーデータと、各サブピクセルがどのカラーデータを使うのかを示すカラーデータのインデックスデータとに分けて、各ピクセルのカラーデータを保持する。
【００２１】
図３は、画像データ処理時における各ピクセルのデータ構造の例を示す図である。各ピクセルpは、４つのサブピクセルspのカラーデータを含むため、各ピクセルデータは、各サブピクセルspがどのカラーデータを使うのかを示すインデックスデータを記憶するインデックスデータ部２１を有する。そして、各ピクセルデータは、各ピクセルデータのカラーデータを含む、４つのカラーデータ部２２から２５も有する。すなわち、画像データ処理時には、各ピクセルのデータは、インデックスデータと順番データとに展開される。順番データは、インデックスデータにより対応付けられたサブピクセル毎のデータ内容であるカラーデータを、４つのカラーデータ部２２から２５の順番に並べたデータである。インデックスデータは、各サブピクセルが使用するカラーデータが４つのカラーデータ部２２から２５の順番においてどの順位のデータかを示すデータである。。  
なお、ここでは、４つのカラーデータの例を用いているので、各ピクセルについて、第１から第４のカラーデータが保持可能となっているのが、カラーデータの数は、各ピクセルにおいて指定可能なカラーの数と等しい。すなわち、３つのカラーデータが指定可能であれば、第１から第３のカラーデータ部を含み、かつインデックスデータも、３つのカラーデータを指定可能なデータとなる。
【００２２】
さらになお、４つのサブピクセルsp1からsp4のそれぞれのカラーデータが記憶されるが、カラーデータの無いサブピクセルspもあり得る。各ピクセルpは、少なくとも１色のカラーデータを有している。カラーデータは、ここでは、４つの色のデータ、例えば、RGBAのカラーデータがあるとする。１つ目のカラーデータが、第１カラーデータ部２２の第１カラーデータである。２つ目、３つ目、及び４つ目のカラーデータが、それぞれ第２，第３及び第４カラーデータ部２３，２４，２５の第２，第３及び第４カラーデータである。
【００２３】
インデックスデータ部２１は、上述したように、各サブピクセルspがどのカラーデータを使うのかを示すインデックスデータを記憶する。  
例えば、第１のサブピクセルsp1が第１カラーデータ部２２のカラーデータを使用する場合は、第１のサブピクセルsp1のインデックスデータとして、第１カラーデータ部２２を示す「００」が、記憶される。また、第２のサブピクセルsp2が第２カラーデータ部２３のカラーデータを使用する場合は、第２のサブピクセルsp2のインデックスデータとして、第２カラーデータ部２３を示す「０１」が、記憶される。同様に、第３のサブピクセルsp3が第３カラーデータ部２４のカラーデータを使用する場合は、第３のサブピクセルsp3のインデックスデータとして、第３カラーデータ部２４を示す「１０」が、記憶される。同様に、第４のサブピクセルsp4が第４カラーデータ部２５のカラーデータを使用する場合は、第４のサブピクセルsp4のインデックスデータとして、第４カラーデータ部２５を示す「１１」が、記憶される。  
以上のように、画像データ処理時においては、各ピクセルデータは、インデックスデータと、各サブピクセルのカラーデータとに分けられてすなわち展開されて保持される。このようなデータ構造の画像データは、主メモリ１２に記憶されるときには、図４に示すようなデータ構造になるように、圧縮回路１９により圧縮される。
【００２４】
図４は、主メモリ１２に記憶される画像データのデータ構造の例を示す図である。図４は、キャッシュメモリ１６の１ライン分の圧縮データを示す。  
図４において、圧縮された１ラインデータ３０は、第１カラーデータ部３１と、インデックスデータ部３２と、第２カラーデータ部３３と、第３カラーデータ部３４と、第４カラーデータ部３５とを含む。
【００２５】
第１カラーデータ部３２のデータは、ピクセルブロックPB内の６４個のピクセルデータの第１カラーデータだけを所定の順番（例えば、ピクセルブロックPB内の１番から６４番の順）で並べたデータである。インデックスデータ部３３のデータは、ピクセルブロックPB内の６４個のピクセルデータのインデックスデータだけを所定の順番に並べたデータである。第２カラーデータ部３４、第３カラーデータ部３５、第４カラーデータ部３６のデータは、それぞれ、ピクセルブロックPB内の６４個のピクセルの第２から第４のカラーデータだけを所定の順番に並べたデータである。
【００２６】
すなわち、第１カラーデータ部３１は、複数のピクセルについて、図３における４つのカラーデータ部２２から２５の順番の中の第１の順位（第１カラーデータ部２２）のカラーデータだけを、所定の順番（例えば、例えば、ピクセルブロックPB内の１番から６４番の順）に並べた順位別データ群である。第２カラーデータ部３３，第３カラーデータ部３４、及び第４カラーデータ部３５も、同様に、それぞれ、複数のピクセルについて、図３における４つのカラーデータ部２２から２５の順番の中の第２，第３及び第４の各順位（第２、第３及び第４のカラーデータ部２３，２４，２５）のカラーデータだけを、所定の順番（例えば、例えば、ピクセルブロックPB内の１番から６４番の順）に並べた順位別データ群である。
【００２７】
そして、インデックスデータ部３２は、複数のピクセルのそれぞれのインデックスデータを所定の順番（例えば、例えば、ピクセルブロックPB内の１番から６４番の順）に並べたインデックスデータ群である。
【００２８】
このような変換は圧縮回路１９によって行われる。すなわち、圧縮回路１９は、複数のピクセルのそれぞれのデータを、順位別データ群とインデックスデータ群とに変換する圧縮処理を行う。
【００２９】
なお、上述したように、複数のピクセルデータの中には、２つ以上のカラーデータを使用しない圧縮状態のデータもあるので、ピクセルによっては、第２から第４のカラーデータの全てが無い場合もある。よって、その場合は、カラーデータの無い部分は、先頭から詰められ、第２から第４のカラーデータ部３４から３６は、第１カラーデータ部３２のデータ長よりも短くなる。
【００３０】
よって、第1カラーデータ部３２とインデックスデータ部３３は、それぞれ固定長データであり、第２から第４のカラーデータ部３４から３６は、それぞれ不定長データとなる。  
例えば、各カラーデータが４バイトのデータ長であり、各インデックスデータが１バイトであると、第１カラーデータ部３２は、２５６バイトの固定長データであり、インデックスデータ部３３は、６４バイトの固定長データである。第２から第４のカラーデータ部３４から３６は、それぞれ、０から２５６バイトの不定長データとなる。
【００３１】
キャッシュメモリ１４は、キャッシュのミスヒットがあったときには、キャッシュのリフィル処理を、上述した１ラインデータの単位で行い、主メモリ１２には、画像データが、このような圧縮された形式で記憶される。なお、圧縮された画像データは、主メモリ１２内では、詰められて記憶されるのではなく、所定の固定の記憶領域内に順番に記憶される。
【００３２】
さらに、キャッシュメモリ１６においては、生の画像データが記憶される。図５は、キャッシュメモリ１６に記憶されたときの各ピクセルのデータ構造を説明するための図である。各ピクセルデータは、上述したように、データ処理の途中では、図３に示すようなデータ構造を有して、インデックスデータと、４つのサブピクセルsp1からsp4のカラーデータとを有しているが、キャッシュメモリ１６に記憶されたときには、図５に示すように、各サブピクセルが第１カラーデータであるか否かを示すフラグデータｆとを含むピクセルデータとなる。  
すなわち、各サブピクセルのうち、いずれが第１カラーデータであるかを示すフラグデータｆが、サブピクセル毎のデータとして、キャッシュメモリ１６に記憶される。図５に示す、複数のサブピクセルの複数のフラグデータｆを記憶する領域が、フラグデータ部１６ａである。
【００３３】
すなわち、各ピクセルデータについて、いずれのサブピクセルが第１カラーデータであるかを示し、かつその第１カラーデータが書き換えられたか否かを示すフラグデータｆが、フラグデータ部１６ａに記憶される。例えば、１つ以上のサブピクセルに、第１カラーデータであることを示すフラグデータｆが記憶される。
【００３４】
図６は、主メモリ１２に記憶される１ラインデータの記憶状態を説明するための図である。図４に示す圧縮された１ラインの画像データ３０が、複数、主メモリ１２に記憶されるとき、図６に示すように、複数の画像データ３０のそれぞれは、主メモリ１２内に詰められて記憶され配置されるのではなく、所定の固定の記憶領域内に所定の順番で記憶される。
【００３５】
また、主メモリ１２から読み出した画像データは、伸長回路１８によって、伸長されて、キャッシュメモリ１６内では、図５に示すような、圧縮されていない状態で記憶される。
【００３６】
よって、キャッシュメモリ１６のフラグデータ部１６ａは、各ピクセルの各サブピクセル毎に、第１カラーデータが不明であるか否かを示すフラグデータｆを記憶する記憶部である。
【００３７】
（動作）
まず、キャッシュメモリ１６のラインデータの読み出しと書き込みの両方を行う場合における、画像データ処理回路１の動作について説明する。  
演算回路１１は、キャッシュメモリ１６に記憶されている画像データを読み出そうとしたときに、キャッシュメモリ１６にその画像データが無いときには、キャッシュのリフィル動作が行われる。画像データ処理回路１は、キャッシュリフィル時に、主メモリ１２から画像データを、図４に示す１ラインデータ３０を読み出し、伸長回路１８によって、伸長してキャッシュメモリ１６に記憶する。キャッシュリフィル時に主メモリ１２から読み出される画像データは、図４に示す第１カラーデータ部３１、インデックスデータ部３２、第２カラーデータ部３３、第３カラーデータ部３４、第４カラーデータ部３５の、１ラインの全てのデータである。
【００３８】
また、キャッシュライトバック時は、画像データ処理回路１は、キャッシュメモリ１６に記憶された圧縮されていない図５に示すような画像データを、１ライン分、圧縮回路１９によって圧縮し、図４に示す圧縮データを主メモリ１２に転送する。キャッシュライトバック時に主メモリ１２に転送される画像データは、図４に示す第１カラーデータ部３１、インデックスデータ部３２、第２カラーデータ部３３、第３カラーデータ部３４、第４カラーデータ部３５の、１ラインの全てのデータである。
【００３９】
演算回路１１の画像処理において、元の画像データを読み出し、その読み出した画像データに対して所定の処理を施して、所定結果の画像データを書き出す処理が行われる場合は、上述したようなラインデータの読み出しと書き込みの両方が行われるので、上述したような動作が行われる。
【００４０】
しかし、演算回路１１の画像処理において、元の画像データを読み出す必要がなく、所定のカラーデータを書き込むだけのような処理もある。このような処理の場合、画像データ処理回路１は、ライト・オンリー・キャッシュモードで動作する。画像データ処理回路１の動作は、図示しないCPUあるいは演算回路１１からの指示に応じて、キャッシュコントローラ１５の制御の下で行われる。
【００４１】
次に、このライト・オンリー・キャッシュモード時の動作について説明する。  
ライト・オンリー・キャッシュモード時、画像データ処理回路１は、キャッシュリフィル時に、主メモリ１２から画像データを、図４に示す１ラインデータ３０の全てを読み出すのではなく、図４に示すインデックスデータ部３３、第２カラーデータ部３３、第３カラーデータ部３４、第４カラーデータ部３５のデータである。すなわち、第１順位の順位別データ群である第１カラーデータ部３１のデータは読み出されない。
【００４２】
伸長回路１８は、読み出した画像データを、伸長して図５に示すようなデータ構造にしてキャッシュメモリ１６に記憶する。しかし、このとき、第１カラーデータ部３２のデータは読み出されていないので、各ピクセルの対応する第１カラーデータのサブピクセルのフラグデータｆを、値が不明であることを示すデータ（例えば「０」）にして、フラグデータ部１６ａに記憶する。
【００４３】
すなわち、フラグデータ部１６ａは、各ピクセルの第１カラーデータの更新状態を記憶する記憶部である。一つのピクセルにおいて、第１カラーデータを使用するサブピクセルが複数あれば、その複数のサブピクセルのフラグデータは、「０」となる。  
よって、全てのピクセルについて、第１カラーデータを使用するサブピクセルに関して、カラーデータは不明であることを示すフラグデータ「０」が、所定の値として、フラグデータ部１６ａに記憶される。なお、図５のピクセルデータにおいて、「０」のフラグデータｆのサブピクセルについては、第１カラーデータの値は、不定である値が記憶される。
【００４４】
キャッシュメモリ１６に書き込まれた画像データに対して画像処理が施され、あるピクセルの第１カラーデータが書き込まれると、第１カラーデータが書き込まれて更新されたことを示す所定の値として、対応するサブピクセルのフラグデータｆに「１」が、キャッシュコントローラ１５により書き込まれる。すなわち、演算回路１１が、その後の処理によってあるピクセルの第１カラーデータを書き込むと、キャッシュコントローラ１５は、フラグデータ部１６ａにおける対応するサブピクセルのフラグデータｆを、不明でないことを示すフラグデータ「１」に書き換える。よって、フラグデータ部１６ａは、各ピクセルの第１カラーデータが不明な状態のままか、あるいは演算回路１１によって書き込まれ更新された状態であるかを示すデータを記憶する記憶部である。
【００４５】
キャッシュライトバック時に、圧縮回路１９は、フラグデータ部１６ａのデータをチェックし、そのライトバックするラインのフラグデータ部１６ａ中のフラグデータが、全て「０」であれば、第１カラーデータは、書き換えられていないので、第２から第４のカラーデータとインデックスデータだけが圧縮されて主メモリ１２へ転送される。なお、圧縮回路１９においてライトマスクを利用する場合は、第１カラーデータも転送するようにしてもよい。
【００４６】
また、キャッシュライトバック時に、圧縮回路１９は、フラグデータ部１６ａのデータをチェックし、そのライトバックするラインの第１カラーフラグデータ部１６ａ中のフラグデータが、一つでも「１」であれば、書き換えられている第１カラーデータがあるので、第１から第４のカラーデータとインデックスデータが圧縮されて主メモリ１２へ転送される。なお、この場合も、ライトマスクを利用して、第１カラーデータを転送するようにしてもよい。
【００４７】
（効果）
以上のような構成の場合、例えば、通常は、第２カラーデータ部３３以降のデータが使用される確率は低いので、４つのサブピクセル毎にカラーデータがある場合、第１カラーデータ部３１のデータサイズを、１００とすれば、圧縮された１ラインデータは、１５０程度で済む場合が多いことになる。
【００４８】
データ圧縮しない従来のデータでは、４つのサブピクセルの場合は、４００である。よって、上述した実施の形態に係る画像データ処理装置によれば、主メモリ１２からの画像データの読み出しにおいては、データの転送効率を高くすることができる。
【００４９】
また、ライト・オンリー・キャッシュモード時も、同様に、例えば、第１カラーデータ部３１のデータサイズを１００として、圧縮された１ラインデータが１５０程度で済む場合は、リフィルのために読み出されるデータのサイズは、５０になる。さらに、主メモリ１２へのライトバック時の転送量も、データサイズは、１５０となる。従って、ライト・オンリー・キャッシュモード時は、読み出しと書き込みの両方のデータサイズは、２００となり、データ圧縮しない従来の場合のデータサイズが、読み出しと書き込みの両方で８００となることに比べて、上述した実施の形態に係る画像データ処理装置は、データの転送効率は高い。
【００５０】
なお、圧縮しない従来の場合に、ライトマスク等を用いたとしても、データサイズは、４００となるので、上述した実施の形態に係る画像データ処理装置の方が、データの転送効率は高い。
【００５１】
以上のように、上述した本実施の形態によれば、キャッシュメモリ１６と主メモリとの間で、画像データの転送効率を向上させることができる。
【００５２】
なお、演算回路１１あるいはキャッシュコントローラ１５は、各ピクセルのカラーデータの書き込みにおいては、データ量を少なくするために次のようなカラーデータの更新処理を行うことによって、各ピクセルのカラーデータの確定をするようにしてもよい。
【００５３】
第１の更新処理としては、図３に示すように、あるピクセルのカラーデータ中、例えば、第１、第３及び第４のカラーデータが使用されているが、第２のカラーデータが使用されていない場合、第１、第３及び第４のカラーデータを、第１、第２及び第３のカラーデータに変更して、インデックスデータ２１と４つのカラーデータ２２から２５の内容を更新する。すなわち、第２カラーデータが使われていなかったので、図３のカラーデータを詰めて、第１から第３のカラーデータ２２から２４を使い、第４のカラーデータ２５を使わないように、各ピクセルのデータが更新される。
【００５４】
その後、新たにカラーデータが書き込まれるときには、第４のインデックスデータと、第４カラーデータ２５が使用される。
【００５５】
さらに、第２の更新処理としては、同様に、例えば、第１、第３及び第４のカラーデータ２２，２４，２５が使用されていて、新たに書き込むサブピクセルのカラーデータが、既に書き込まれている第１，第３及び第４のカラーデータ２，２４，２５のいずれかと同一の場合は、第１、第３及び第４のカラーデータ２２，２４，２５を、第１、第２及び第３のカラーデータ２２，２３，２４に変更し、第４のカラーデータは使用しないで、インデックスデータ２１の内容を更新するように、各ピクセルのデータが更新される。
【００５６】
その結果、新たに書き込まれるカラーデータが、既に書き込まれているカラーデータと同じ場合は、第４カラーデータは使用されない。
【００５７】
さらに、第３の更新処理としては、同様に、例えば、新たに書き込むカラーデータと第３のカラーデータが同一であるときは、まず、その第３のカラーデータ以外の第１，第２及び第４のカラーデータについて、上述した第２の更新処理と同様にデータを詰める処理をし、その後に、新たなカラーデータの書き込みを行うと共に、インデックスデータの変更を行うようにする。
【００５８】
その結果、例えば、新たなカラーデータが書き込まれる前に、新たなカラーデータと同一の第３のカラーデータ以外の第１，第２及び第４のカラーデータについて、詰める処理を行われ、例えば、第２のカラーデータが使われておらず、第１と第２のカラーデータだけに変更されたとする。その後、新たなカラーデータの追加と、インデックスデータの変更処理を行う。このとき、新たなカラーデータが元の第３カラーデータと同じであるので、第１と第４のカラーデータが、それぞれ第１と第２のカラーデータに変更され、新たなカーデータが第３のカラーデータとして追加され、インデックスデータも併せて変更される。
【００５９】
以上のような各種更新処理によるデータの順序管理処理も併せて、ピクセルデータの更新処理において行うようにしてもよい。
【００６０】
なお、上述した実施の形態では、キャッシュメモリ１６には、圧縮されていない画像データが記憶されていたが、キャッシュメモリ１６には、画像データを上述したような圧縮された画像データを記憶するようにしてもよい。その場合は、圧縮回路１９は、不要であり、その代わり演算回路１１との間に圧縮回路が設けられる。
【００６１】
さらになお、上述した画像データは、カラーデータだけを含むデータあるが、カラーデータ以外のデータに対しても、上述した本実施の形態に係る処理装置は、適用可能である。
【００６２】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係わる画像データ処理装置の構成を示す構成図である。
【図２】本発明の実施の形態に係わる、ピクセルとサブピクセルの関係を説明するための図である。
【図３】本発明の実施の形態に係わる、画像データ処理時における各ピクセルのデータ構造の例を示す図である。
【図４】本発明の実施の形態に係わる主メモリに記憶される画像データのデータ構造の例を示す図である。
【図５】本発明の実施の形態に係わる、キャッシュメモリに記憶されたときの各ピクセルのデータ構造を説明するための図である。
【図６】本発明の実施の形態に係わる、主メモリに記憶される１ラインデータの記憶状態を説明するための図である。
【符号の説明】
【００６４】
１  画像データ処理装置、１１  演算回路、１２  主メモリ、１３  バス、１４  キャッシュメモリ部、１５  キャッシュコントローラ、１６  キャッシュメモリ、１６ａ  フラグデータ部、１７  バスインターフェース、１８  伸長回路、１９  圧縮回路
【図１】
2010041122.tif 000003
【図２】
2010041122.tif 000004
【図３】
2010041122.tif 000005
【図４】
2010041122.tif 000006
【図５】
2010041122.tif 000007
【図６】
2010041122.tif 000008