JP5172523B2 - 画像データ処理方法、画像データ処理装置及び圧縮回路 - Google Patents

画像データ処理方法、画像データ処理装置及び圧縮回路 Download PDF

Info

Publication number
JP5172523B2
JP5172523B2 JP2008198709A JP2008198709A JP5172523B2 JP 5172523 B2 JP5172523 B2 JP 5172523B2 JP 2008198709 A JP2008198709 A JP 2008198709A JP 2008198709 A JP2008198709 A JP 2008198709A JP 5172523 B2 JP5172523 B2 JP 5172523B2
Authority
JP
Japan
Prior art keywords
data
order
image data
pixels
color data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008198709A
Other languages
English (en)
Other versions
JP2010041122A (ja
Inventor
和浩 檜田
卓 竹本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008198709A priority Critical patent/JP5172523B2/ja
Priority to US12/511,870 priority patent/US20100026696A1/en
Publication of JP2010041122A publication Critical patent/JP2010041122A/ja
Application granted granted Critical
Publication of JP5172523B2 publication Critical patent/JP5172523B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、画像データ処理方法、画像データ処理装置及び圧縮回路に関し、特に、キャッシュメモリと主メモリ間の画像データの転送効率を向上する画像データ処理方法、画像データ処理装置及び圧縮回路に関する。
従来より、各種画像を表示するための画像データが、パーソナルコンピュータ(以下、PCという)、ゲーム機等で広く扱われている。画像データは、画像を構成する複数のピクセルのそれぞれのカラーデータ等の各種データを含む。画像データは、CPU、GPU(Graphics Processing Unit)、専用エンジン等の処理回路において処理されるデータ量の多いデータである。
近年は、画像データは、画像の質向上のために、種々の工夫されたデータである。例えば、物体の輪郭にジャギーと呼ばれるギザギザの発生を目立たなくするために、1つのピクセルを複数の仮想上のサブピクセルで表現する技術がある(例えば、非特許文献1参照)。例えば、1つのピクセルを4つのサブピクセルで表現して、アンチエイリアシング処理を行うことによって、物体の輪郭を滑らかに表現することができる。
しかし、このような技術を用いた場合、1つのピクセルを複数のサブピクセルで表現するためデータ量が多くなるという問題が生じる。画像データの処理は、大量データを処理するため、高速処理が要求されるが、画像データ量の増大は、データバス上の画像データの転送効率を低下させてしまうという問題があった。
アラン・ワット著「3D コンピュータ・グラフィクス 第3版」 「14章 アンチエイリアシング 理論と実際、14.7 スーパーサンプリングあるいはポストフィルタリング」アディソン・ウエズリ、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)
そこで、本発明は、画像データの転送効率を向上させる画像データ処理方法、画像データ処理装置及び圧縮回路を提供することを目的とする。
本発明の一態様によれば、キャッシュメモリに記憶された複数のピクセルのそれぞれのデータを、各サブピクセル毎のデータ内容を第1の順番に並べた場合の順番データと、前記各サブピクセルが使用するデータが前記第1の順番においてどの順位のデータかを示すインデックスデータとに展開し、前記キャッシュメモリに記憶された前記複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを、主メモリへ書き込む場合に、前記複数のピクセルのそれぞれのデータを、前記第1の順番の中の各順位毎に前記各サブピクセルの前記データを第2の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第2の順番に並べたインデックスデータ群とに変換することにより前記画像データに対して所定の圧縮処理を施し、前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリに書き込む場合に、読み出された画像データに対して所定の伸長処理を施す画像データ処理方法を提供することができる。
本発明によれば、画像データの転送効率を向上させることができる。
以下、図面を参照して本発明の実施の形態を説明する。
(全体構成)
まず図1に基づき、本実施の形態に係わる画像データ処理装置の構成を説明する。図1は、本実施の形態に係わる画像データ処理装置の構成を示す構成図である。
図1は、画像データを処理するPC、ゲーム機等の情報処理装置の一部の回路構成を示す。図示しないCPUからの指示に基づいて、画像データ処理装置1の演算回路11は、画像データを主メモリ12からバス13を介して読み出して、マルチサンプルアンチエイリアシングによるレンダリング処理等の画像処理演算を行い、演算結果の画像データを主メモリ12に書き込む処理を行う。
演算回路11と主メモリ12との間には、キャッシュメモリ部14が設けられている。主メモリ12は、DDRのSRAM等である。キャッシュメモリ部14は、キャッシュコントローラ15とキャッシュメモリ16とを含んでいる。キャッシュメモリ16は、複数のラインデータを記憶する。キャッシュメモリ16は、さらに、各サブピクセルについて、後述する所定のカラーデータに関するフラグデータfを記憶するフラグデータ部16aを含む。
バスインターフェース(I/F)17は、バス13に接続されている。バスI/F17とキャッシュメモリ部14との間には、伸長回路18と圧縮回路19とが設けられている。図1において、主メモリ12とバス13とを除く回路が、例えば、GPUに含まれる。
演算回路11は、画像処理を行うためのパイプライン回路を含み、CPUからの指示に基づいて所定の画像処理、例えばレンダリング処理を行う。
そして、後述するように、キャッシュメモリ部14は、主メモリ12から画像データを読み出すときは、所定の伸長処理を施す伸長回路18を用いて圧縮された画像データを伸長する。画像データ処理回路1は、主メモリ12へ画像データを書き込むときは、所定の圧縮処理を施す圧縮回路19を用いて画像データを圧縮する。
演算回路11は、通常は、主メモリ12から読み出された画像データに対して演算処理を行い、演算結果の画像データは主メモリ12へ書き込まれる。さらに、画像データ処理回路1は、CPUからの指示に応じて、所定の画像処理を行った画像データの、いわゆる書き込みのみ(write only)を行うモードで、各回路を動作させることもできる。以下、書き込みのみのモードを、ライト・オンリー・キャッシュモードという。
このライト・オンリー・キャッシュモード時、CPUは、そのモードであることをキャッシュコントローラ15に指示する。キャッシュコントローラ15は、その指示に応じて、後述するような、ライト・オンリー・キャッシュモードに応じた画像データの読み出しをするように、伸長回路18に対して指示する。伸長回路18は、その指示に応じて、後述するような形式で、主メモリ12から画像データを読み出して取得する。ライト・オンリー・キャッシュモード時、キャッシュコントローラ15は、後述するように、フラグデータ部16aのフラグデータの管理を行う。
なお、バスI/F17が、後述するようなライト・オンリー・キャッシュモードに応じた画像データの読み出し処理を行うようにしてもよい。その場合、キャッシュコントローラ15は、バスI/F17に対して、ライト・オンリー・キャッシュモードに応じた画像データの転送をするように指示する。
ライト・オンリー・キャッシュモード時、主メモリ12から読み出した1ラインデータに関するフラグデータfとして、所定の値が、フラグデータ部16aに書き込まれるが、その所定の値の書き込みも、キャッシュコントローラ15が行う。
キャッシュコントローラ15は、ライト・オンリー・キャッシュモード時、演算回路11が、あるピクセルについて、後述する第1カラーデータを書いた場合に、フラグデータ部16aにおける対応するサブピクセルの所定のカラーデータ(以下の例では第1カラーデータ)に関するフラグデータfを、所定のデータに書き換える。
なお、本実施の形態では、フラグデータ部15のフラグデータfの処理は、キャッシュコントローラ15が行うが、別の回路が行ってもよい。
(データ構造)
図2は、ピクセルとサブピクセルの関係を説明するための図である。図2は、画像を構成する複数のピクセルpの一部を示す。図2に示すように、複数のピクセルpのそれぞれは、4つの仮想上のサブピクセルsp1からsp4を含む。すなわち、画像データは、キャッシュメモリ16に記憶された複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む。ここでは、8×8の64個のピクセルの画像データを1ラインの単位データとして、キャッシュメモリ16には、複数のラインの画像データが記憶される。すなわち、キャッシュメモリ16の1ラインには、8×8のピクセルブロックPBの画像データが記憶され、画像データは、キャッシュメモリ16と主メモリ12との間では、このライン単位で読み出しと書き込みが行われる。
例えば、アンチエイリアシング処理は、サブサンプリングされたこれらのサブピクセルを用いて行われる。
本実施の形態では、後述するように、同一ピクセル内のサンプリング点の色が一色、すなわちサブピクセルspの色が全て同じであれば、3つのカラーデータのない1/4圧縮状態となるように、画像データが主メモリ12に記憶される。また、同一ピクセル内のサンプリング点の色が2色であれば、2つのカラーデータのない1/2圧縮状態となるように、画像データが主メモリ12に記憶される。同一ピクセル内のサンプリング点の色が3色であれば、1つのカラーデータのない3/4圧縮状態となるように、画像データが主メモリ12に記憶される。同一ピクセル内のサンプリング点の色が4色であれば、全てのカラーデータが含まれる非圧縮状態となるように、画像データが主メモリ12に記憶される。このような圧縮状態の画像データが混在する画像データが主メモリ12に記憶される。
画像表示のためには、フレームバッファに1ピクセル当たり、4つのカラーデータが必要である。しかし、1ピクセル中の4つのカラーデータには、同一のカラーデータである場合が多い。そこで、画像データ処理時、4つのカラーデータと、各サブピクセルがどのカラーデータを使うのかを示すカラーデータのインデックスデータとに分けて、各ピクセルのカラーデータを保持する。
図3は、画像データ処理時における各ピクセルのデータ構造の例を示す図である。各ピクセルpは、4つのサブピクセルspのカラーデータを含むため、各ピクセルデータは、各サブピクセルspがどのカラーデータを使うのかを示すインデックスデータを記憶するインデックスデータ部21を有する。そして、各ピクセルデータは、各ピクセルデータのカラーデータを含む、4つのカラーデータ部22から25も有する。すなわち、画像データ処理時には、各ピクセルのデータは、インデックスデータと順番データとに展開される。順番データは、インデックスデータにより対応付けられたサブピクセル毎のデータ内容であるカラーデータを、4つのカラーデータ部22から25の順番に並べたデータである。インデックスデータは、各サブピクセルが使用するカラーデータが4つのカラーデータ部22から25の順番においてどの順位のデータかを示すデータである。。
なお、ここでは、4つのカラーデータの例を用いているので、各ピクセルについて、第1から第4のカラーデータが保持可能となっているのが、カラーデータの数は、各ピクセルにおいて指定可能なカラーの数と等しい。すなわち、3つのカラーデータが指定可能であれば、第1から第3のカラーデータ部を含み、かつインデックスデータも、3つのカラーデータを指定可能なデータとなる。
さらになお、4つのサブピクセルsp1からsp4のそれぞれのカラーデータが記憶されるが、カラーデータの無いサブピクセルspもあり得る。各ピクセルpは、少なくとも1色のカラーデータを有している。カラーデータは、ここでは、4つの色のデータ、例えば、RGBAのカラーデータがあるとする。1つ目のカラーデータが、第1カラーデータ部22の第1カラーデータである。2つ目、3つ目、及び4つ目のカラーデータが、それぞれ第2,第3及び第4カラーデータ部23,24,25の第2,第3及び第4カラーデータである。
インデックスデータ部21は、上述したように、各サブピクセルspがどのカラーデータを使うのかを示すインデックスデータを記憶する。
例えば、第1のサブピクセルsp1が第1カラーデータ部22のカラーデータを使用する場合は、第1のサブピクセルsp1のインデックスデータとして、第1カラーデータ部22を示す「00」が、記憶される。また、第2のサブピクセルsp2が第2カラーデータ部23のカラーデータを使用する場合は、第2のサブピクセルsp2のインデックスデータとして、第2カラーデータ部23を示す「01」が、記憶される。同様に、第3のサブピクセルsp3が第3カラーデータ部24のカラーデータを使用する場合は、第3のサブピクセルsp3のインデックスデータとして、第3カラーデータ部24を示す「10」が、記憶される。同様に、第4のサブピクセルsp4が第4カラーデータ部25のカラーデータを使用する場合は、第4のサブピクセルsp4のインデックスデータとして、第4カラーデータ部25を示す「11」が、記憶される。
以上のように、画像データ処理時においては、各ピクセルデータは、インデックスデータと、各サブピクセルのカラーデータとに分けられてすなわち展開されて保持される。このようなデータ構造の画像データは、主メモリ12に記憶されるときには、図4に示すようなデータ構造になるように、圧縮回路19により圧縮される。
図4は、主メモリ12に記憶される画像データのデータ構造の例を示す図である。図4は、キャッシュメモリ16の1ライン分の圧縮データを示す。
図4において、圧縮された1ラインデータ30は、第1カラーデータ部31と、インデックスデータ部32と、第2カラーデータ部33と、第3カラーデータ部34と、第4カラーデータ部35とを含む。
第1カラーデータ部32のデータは、ピクセルブロックPB内の64個のピクセルデータの第1カラーデータだけを所定の順番(例えば、ピクセルブロックPB内の1番から64番の順)で並べたデータである。インデックスデータ部33のデータは、ピクセルブロックPB内の64個のピクセルデータのインデックスデータだけを所定の順番に並べたデータである。第2カラーデータ部34、第3カラーデータ部35、第4カラーデータ部36のデータは、それぞれ、ピクセルブロックPB内の64個のピクセルの第2から第4のカラーデータだけを所定の順番に並べたデータである。
すなわち、第1カラーデータ部31は、複数のピクセルについて、図3における4つのカラーデータ部22から25の順番の中の第1の順位(第1カラーデータ部22)のカラーデータだけを、所定の順番(例えば、例えば、ピクセルブロックPB内の1番から64番の順)に並べた順位別データ群である。第2カラーデータ部33,第3カラーデータ部34、及び第4カラーデータ部35も、同様に、それぞれ、複数のピクセルについて、図3における4つのカラーデータ部22から25の順番の中の第2,第3及び第4の各順位(第2、第3及び第4のカラーデータ部23,24,25)のカラーデータだけを、所定の順番(例えば、例えば、ピクセルブロックPB内の1番から64番の順)に並べた順位別データ群である。
そして、インデックスデータ部32は、複数のピクセルのそれぞれのインデックスデータを所定の順番(例えば、例えば、ピクセルブロックPB内の1番から64番の順)に並べたインデックスデータ群である。
このような変換は圧縮回路19によって行われる。すなわち、圧縮回路19は、複数のピクセルのそれぞれのデータを、順位別データ群とインデックスデータ群とに変換する圧縮処理を行う。
なお、上述したように、複数のピクセルデータの中には、2つ以上のカラーデータを使用しない圧縮状態のデータもあるので、ピクセルによっては、第2から第4のカラーデータの全てが無い場合もある。よって、その場合は、カラーデータの無い部分は、先頭から詰められ、第2から第4のカラーデータ部34から36は、第1カラーデータ部32のデータ長よりも短くなる。
よって、第1カラーデータ部32とインデックスデータ部33は、それぞれ固定長データであり、第2から第4のカラーデータ部34から36は、それぞれ不定長データとなる。
例えば、各カラーデータが4バイトのデータ長であり、各インデックスデータが1バイトであると、第1カラーデータ部32は、256バイトの固定長データであり、インデックスデータ部33は、64バイトの固定長データである。第2から第4のカラーデータ部34から36は、それぞれ、0から256バイトの不定長データとなる。
キャッシュメモリ14は、キャッシュのミスヒットがあったときには、キャッシュのリフィル処理を、上述した1ラインデータの単位で行い、主メモリ12には、画像データが、このような圧縮された形式で記憶される。なお、圧縮された画像データは、主メモリ12内では、詰められて記憶されるのではなく、所定の固定の記憶領域内に順番に記憶される。
さらに、キャッシュメモリ16においては、生の画像データが記憶される。図5は、キャッシュメモリ16に記憶されたときの各ピクセルのデータ構造を説明するための図である。各ピクセルデータは、上述したように、データ処理の途中では、図3に示すようなデータ構造を有して、インデックスデータと、4つのサブピクセルsp1からsp4のカラーデータとを有しているが、キャッシュメモリ16に記憶されたときには、図5に示すように、各サブピクセルが第1カラーデータであるか否かを示すフラグデータfとを含むピクセルデータとなる。
すなわち、各サブピクセルのうち、いずれが第1カラーデータであるかを示すフラグデータfが、サブピクセル毎のデータとして、キャッシュメモリ16に記憶される。図5に示す、複数のサブピクセルの複数のフラグデータfを記憶する領域が、フラグデータ部16aである。
すなわち、各ピクセルデータについて、いずれのサブピクセルが第1カラーデータであるかを示し、かつその第1カラーデータが書き換えられたか否かを示すフラグデータfが、フラグデータ部16aに記憶される。例えば、1つ以上のサブピクセルに、第1カラーデータであることを示すフラグデータfが記憶される。
図6は、主メモリ12に記憶される1ラインデータの記憶状態を説明するための図である。図4に示す圧縮された1ラインの画像データ30が、複数、主メモリ12に記憶されるとき、図6に示すように、複数の画像データ30のそれぞれは、主メモリ12内に詰められて記憶され配置されるのではなく、所定の固定の記憶領域内に所定の順番で記憶される。
また、主メモリ12から読み出した画像データは、伸長回路18によって、伸長されて、キャッシュメモリ16内では、図5に示すような、圧縮されていない状態で記憶される。
よって、キャッシュメモリ16のフラグデータ部16aは、各ピクセルの各サブピクセル毎に、第1カラーデータが不明であるか否かを示すフラグデータfを記憶する記憶部である。
(動作)
まず、キャッシュメモリ16のラインデータの読み出しと書き込みの両方を行う場合における、画像データ処理回路1の動作について説明する。
演算回路11は、キャッシュメモリ16に記憶されている画像データを読み出そうとしたときに、キャッシュメモリ16にその画像データが無いときには、キャッシュのリフィル動作が行われる。画像データ処理回路1は、キャッシュリフィル時に、主メモリ12から画像データを、図4に示す1ラインデータ30を読み出し、伸長回路18によって、伸長してキャッシュメモリ16に記憶する。キャッシュリフィル時に主メモリ12から読み出される画像データは、図4に示す第1カラーデータ部31、インデックスデータ部32、第2カラーデータ部33、第3カラーデータ部34、第4カラーデータ部35の、1ラインの全てのデータである。
また、キャッシュライトバック時は、画像データ処理回路1は、キャッシュメモリ16に記憶された圧縮されていない図5に示すような画像データを、1ライン分、圧縮回路19によって圧縮し、図4に示す圧縮データを主メモリ12に転送する。キャッシュライトバック時に主メモリ12に転送される画像データは、図4に示す第1カラーデータ部31、インデックスデータ部32、第2カラーデータ部33、第3カラーデータ部34、第4カラーデータ部35の、1ラインの全てのデータである。
演算回路11の画像処理において、元の画像データを読み出し、その読み出した画像データに対して所定の処理を施して、所定結果の画像データを書き出す処理が行われる場合は、上述したようなラインデータの読み出しと書き込みの両方が行われるので、上述したような動作が行われる。
しかし、演算回路11の画像処理において、元の画像データを読み出す必要がなく、所定のカラーデータを書き込むだけのような処理もある。このような処理の場合、画像データ処理回路1は、ライト・オンリー・キャッシュモードで動作する。画像データ処理回路1の動作は、図示しないCPUあるいは演算回路11からの指示に応じて、キャッシュコントローラ15の制御の下で行われる。
次に、このライト・オンリー・キャッシュモード時の動作について説明する。
ライト・オンリー・キャッシュモード時、画像データ処理回路1は、キャッシュリフィル時に、主メモリ12から画像データを、図4に示す1ラインデータ30の全てを読み出すのではなく、図4に示すインデックスデータ部33、第2カラーデータ部33、第3カラーデータ部34、第4カラーデータ部35のデータである。すなわち、第1順位の順位別データ群である第1カラーデータ部31のデータは読み出されない。
伸長回路18は、読み出した画像データを、伸長して図5に示すようなデータ構造にしてキャッシュメモリ16に記憶する。しかし、このとき、第1カラーデータ部32のデータは読み出されていないので、各ピクセルの対応する第1カラーデータのサブピクセルのフラグデータfを、値が不明であることを示すデータ(例えば「0」)にして、フラグデータ部16aに記憶する。
すなわち、フラグデータ部16aは、各ピクセルの第1カラーデータの更新状態を記憶する記憶部である。一つのピクセルにおいて、第1カラーデータを使用するサブピクセルが複数あれば、その複数のサブピクセルのフラグデータは、「0」となる。
よって、全てのピクセルについて、第1カラーデータを使用するサブピクセルに関して、カラーデータは不明であることを示すフラグデータ「0」が、所定の値として、フラグデータ部16aに記憶される。なお、図5のピクセルデータにおいて、「0」のフラグデータfのサブピクセルについては、第1カラーデータの値は、不定である値が記憶される。
キャッシュメモリ16に書き込まれた画像データに対して画像処理が施され、あるピクセルの第1カラーデータが書き込まれると、第1カラーデータが書き込まれて更新されたことを示す所定の値として、対応するサブピクセルのフラグデータfに「1」が、キャッシュコントローラ15により書き込まれる。すなわち、演算回路11が、その後の処理によってあるピクセルの第1カラーデータを書き込むと、キャッシュコントローラ15は、フラグデータ部16aにおける対応するサブピクセルのフラグデータfを、不明でないことを示すフラグデータ「1」に書き換える。よって、フラグデータ部16aは、各ピクセルの第1カラーデータが不明な状態のままか、あるいは演算回路11によって書き込まれ更新された状態であるかを示すデータを記憶する記憶部である。
キャッシュライトバック時に、圧縮回路19は、フラグデータ部16aのデータをチェックし、そのライトバックするラインのフラグデータ部16a中のフラグデータが、全て「0」であれば、第1カラーデータは、書き換えられていないので、第2から第4のカラーデータとインデックスデータだけが圧縮されて主メモリ12へ転送される。なお、圧縮回路19においてライトマスクを利用する場合は、第1カラーデータも転送するようにしてもよい。
また、キャッシュライトバック時に、圧縮回路19は、フラグデータ部16aのデータをチェックし、そのライトバックするラインの第1カラーフラグデータ部16a中のフラグデータが、一つでも「1」であれば、書き換えられている第1カラーデータがあるので、第1から第4のカラーデータとインデックスデータが圧縮されて主メモリ12へ転送される。なお、この場合も、ライトマスクを利用して、第1カラーデータを転送するようにしてもよい。
(効果)
以上のような構成の場合、例えば、通常は、第2カラーデータ部33以降のデータが使用される確率は低いので、4つのサブピクセル毎にカラーデータがある場合、第1カラーデータ部31のデータサイズを、100とすれば、圧縮された1ラインデータは、150程度で済む場合が多いことになる。
データ圧縮しない従来のデータでは、4つのサブピクセルの場合は、400である。よって、上述した実施の形態に係る画像データ処理装置によれば、主メモリ12からの画像データの読み出しにおいては、データの転送効率を高くすることができる。
また、ライト・オンリー・キャッシュモード時も、同様に、例えば、第1カラーデータ部31のデータサイズを100として、圧縮された1ラインデータが150程度で済む場合は、リフィルのために読み出されるデータのサイズは、50になる。さらに、主メモリ12へのライトバック時の転送量も、データサイズは、150となる。従って、ライト・オンリー・キャッシュモード時は、読み出しと書き込みの両方のデータサイズは、200となり、データ圧縮しない従来の場合のデータサイズが、読み出しと書き込みの両方で800となることに比べて、上述した実施の形態に係る画像データ処理装置は、データの転送効率は高い。
なお、圧縮しない従来の場合に、ライトマスク等を用いたとしても、データサイズは、400となるので、上述した実施の形態に係る画像データ処理装置の方が、データの転送効率は高い。
以上のように、上述した本実施の形態によれば、キャッシュメモリ16と主メモリとの間で、画像データの転送効率を向上させることができる。
なお、演算回路11あるいはキャッシュコントローラ15は、各ピクセルのカラーデータの書き込みにおいては、データ量を少なくするために次のようなカラーデータの更新処理を行うことによって、各ピクセルのカラーデータの確定をするようにしてもよい。
第1の更新処理としては、図3に示すように、あるピクセルのカラーデータ中、例えば、第1、第3及び第4のカラーデータが使用されているが、第2のカラーデータが使用されていない場合、第1、第3及び第4のカラーデータを、第1、第2及び第3のカラーデータに変更して、インデックスデータ21と4つのカラーデータ22から25の内容を更新する。すなわち、第2カラーデータが使われていなかったので、図3のカラーデータを詰めて、第1から第3のカラーデータ22から24を使い、第4のカラーデータ25を使わないように、各ピクセルのデータが更新される。
その後、新たにカラーデータが書き込まれるときには、第4のインデックスデータと、第4カラーデータ25が使用される。
さらに、第2の更新処理としては、同様に、例えば、第1、第3及び第4のカラーデータ22,24,25が使用されていて、新たに書き込むサブピクセルのカラーデータが、既に書き込まれている第1,第3及び第4のカラーデータ2,24,25のいずれかと同一の場合は、第1、第3及び第4のカラーデータ22,24,25を、第1、第2及び第3のカラーデータ22,23,24に変更し、第4のカラーデータは使用しないで、インデックスデータ21の内容を更新するように、各ピクセルのデータが更新される。
その結果、新たに書き込まれるカラーデータが、既に書き込まれているカラーデータと同じ場合は、第4カラーデータは使用されない。
さらに、第3の更新処理としては、同様に、例えば、新たに書き込むカラーデータと第3のカラーデータが同一であるときは、まず、その第3のカラーデータ以外の第1,第2及び第4のカラーデータについて、上述した第2の更新処理と同様にデータを詰める処理をし、その後に、新たなカラーデータの書き込みを行うと共に、インデックスデータの変更を行うようにする。
その結果、例えば、新たなカラーデータが書き込まれる前に、新たなカラーデータと同一の第3のカラーデータ以外の第1,第2及び第4のカラーデータについて、詰める処理を行われ、例えば、第2のカラーデータが使われておらず、第1と第2のカラーデータだけに変更されたとする。その後、新たなカラーデータの追加と、インデックスデータの変更処理を行う。このとき、新たなカラーデータが元の第3カラーデータと同じであるので、第1と第4のカラーデータが、それぞれ第1と第2のカラーデータに変更され、新たなカーデータが第3のカラーデータとして追加され、インデックスデータも併せて変更される。
以上のような各種更新処理によるデータの順序管理処理も併せて、ピクセルデータの更新処理において行うようにしてもよい。
なお、上述した実施の形態では、キャッシュメモリ16には、圧縮されていない画像データが記憶されていたが、キャッシュメモリ16には、画像データを上述したような圧縮された画像データを記憶するようにしてもよい。その場合は、圧縮回路19は、不要であり、その代わり演算回路11との間に圧縮回路が設けられる。
さらになお、上述した画像データは、カラーデータだけを含むデータあるが、カラーデータ以外のデータに対しても、上述した本実施の形態に係る処理装置は、適用可能である。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
本発明の実施の形態に係わる画像データ処理装置の構成を示す構成図である。 本発明の実施の形態に係わる、ピクセルとサブピクセルの関係を説明するための図である。 本発明の実施の形態に係わる、画像データ処理時における各ピクセルのデータ構造の例を示す図である。 本発明の実施の形態に係わる主メモリに記憶される画像データのデータ構造の例を示す図である。 本発明の実施の形態に係わる、キャッシュメモリに記憶されたときの各ピクセルのデータ構造を説明するための図である。 本発明の実施の形態に係わる、主メモリに記憶される1ラインデータの記憶状態を説明するための図である。
符号の説明
1 画像データ処理装置、11 演算回路、12 主メモリ、13 バス、14 キャッシュメモリ部、15 キャッシュコントローラ、16 キャッシュメモリ、16a フラグデータ部、17 バスインターフェース、18 伸長回路、19 圧縮回路

Claims (5)

  1. キャッシュメモリに記憶された複数のピクセルのそれぞれのデータを、各サブピクセル毎のデータ内容を第1の順番に並べた場合の順番データと、前記各サブピクセルが使用するデータが前記第1の順番においてどの順位のデータかを示すインデックスデータとに展開し、
    前記キャッシュメモリに記憶された前記複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを、主メモリへ書き込む場合に、前記複数のピクセルのそれぞれのデータを、前記第1の順番の中の各順位毎に前記各サブピクセルの前記データを第2の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第2の順番に並べたインデックスデータ群とに変換することにより前記画像データに対して所定の圧縮処理を施し、
    前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリに書き込む場合に、読み出された画像データに対して所定の伸長処理を施すことを特徴とする画像データ処理方法。
  2. 記主メモリに記憶された前記画像データを読み出す場合に、前記第1の順番における第1順位の順位別データ群は、読み出さず、前記第1の順番における第2順位以降の各順位別データ群と、前記インデックスデータ群とを読み出して、前記所定の伸長処理が施されることを特徴とする請求項1に記載の画像データ処理方法。
  3. 複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを記憶するキャッシュメモリと、
    前記キャッシュメモリに記憶された前記複数のピクセルのそれぞれのデータが各サブピクセル毎のデータ内容を第1の順番に並べた場合の順番データと前記各サブピクセルが使用するデータが前記第1の順番においてどの順位のデータかを示すインデックスデータとに展開される前記キャッシュメモリに記憶された前記画像データを、主メモリへ書き込む場合に、前記複数のピクセルのそれぞれのデータを、前記第1の順番の中の各順位毎に前記各サブピクセルの前記データを第2の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第2の順番に並べたインデックスデータ群とに変換することにより前記画像データに対して所定の圧縮処理を施す圧縮回路と、
    前記主メモリに記憶された前記画像データを、前記主メモリから読み出して前記キャッシュメモリに書き込む場合に、読み出された画像データに対して所定の伸長処理を施す伸長回路と、
    を有することを特徴とする画像データ処理装置。
  4. 記伸長回路は、前記主メモリに記憶された前記画像データを読み出す場合に、前記第1の順番における第1順位の順位別データ群は、読み出さず、前記第1の順番における第2順位以降の各順位別データ群と、前記インデックスデータ群とを読み出して、前記所定の伸長処理が施されることを特徴とする請求項3に記載の画像データ処理装置。
  5. 複数のピクセルのそれぞれについての仮想上の複数のサブピクセルのデータを含む画像データを圧縮する圧縮回路であって、
    キャッシュメモリに記憶された前記複数のピクセルのそれぞれのデータ各サブピクセル毎のデータ内容を第1の順番に並べた場合の順番データと前記各サブピクセルが使用するデータが前記第1の順番においてどの順位のデータかを示すインデックスデータとに展開されて画像処理される場合に、
    前記複数のピクセルのそれぞれのデータを、前記第1の順番の中の各順位毎に前記各サブピクセルの前記データを第2の順番に並べた順位別データ群と、前記複数のピクセルのそれぞれの前記インデックスデータを前記第2の順番に並べたインデックスデータ群とに変換することにより前記画像データに対して所定の圧縮処理を施す圧縮回路
JP2008198709A 2008-07-31 2008-07-31 画像データ処理方法、画像データ処理装置及び圧縮回路 Expired - Fee Related JP5172523B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008198709A JP5172523B2 (ja) 2008-07-31 2008-07-31 画像データ処理方法、画像データ処理装置及び圧縮回路
US12/511,870 US20100026696A1 (en) 2008-07-31 2009-07-29 Image data processing method, image data processor, and data structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008198709A JP5172523B2 (ja) 2008-07-31 2008-07-31 画像データ処理方法、画像データ処理装置及び圧縮回路

Publications (2)

Publication Number Publication Date
JP2010041122A JP2010041122A (ja) 2010-02-18
JP5172523B2 true JP5172523B2 (ja) 2013-03-27

Family

ID=41607864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008198709A Expired - Fee Related JP5172523B2 (ja) 2008-07-31 2008-07-31 画像データ処理方法、画像データ処理装置及び圧縮回路

Country Status (2)

Country Link
US (1) US20100026696A1 (ja)
JP (1) JP5172523B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
JP3781224B2 (ja) * 1997-03-19 2006-05-31 株式会社ルネサステクノロジ 半導体装置
JP3872056B2 (ja) * 2003-11-10 2007-01-24 株式会社ソニー・コンピュータエンタテインメント 描画方法
JP2005301414A (ja) * 2004-04-07 2005-10-27 Sony Computer Entertainment Inc 画像生成装置および画像生成方法
JP4037875B2 (ja) * 2005-02-24 2008-01-23 株式会社東芝 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
US20090009526A1 (en) * 2007-07-03 2009-01-08 Sun Microsystems, Inc. Method and system for rendering a shape

Also Published As

Publication number Publication date
US20100026696A1 (en) 2010-02-04
JP2010041122A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
KR100908779B1 (ko) 프레임 버퍼 병합
US8670613B2 (en) Lossless frame buffer color compression
JP4550878B2 (ja) グラフィックス処理装置
US9406149B2 (en) Selecting and representing multiple compression methods
US8059144B2 (en) Generating and resolving pixel values within a graphics processing pipeline
KR102646818B1 (ko) 그래픽스 파이프라인에서의 인덱스들의 압축 및 압축 해제
JP4971442B2 (ja) ピクセルデータ変換のための画像処理装置及び方法
US7170512B2 (en) Index processor
US20240273767A1 (en) Compressing texture data on a per-channel basis
JP2011090663A (ja) 画像処理装置及びプログラム
US7768521B2 (en) Image processing apparatus and image processing method
JP2002140722A (ja) エイリアシングを除去した画像を描画する装置及び方法
JP2005077522A (ja) 画像処理装置および画像処理方法
JP5172523B2 (ja) 画像データ処理方法、画像データ処理装置及び圧縮回路
JP4592998B2 (ja) 画像情報の伝送方法及び伝送装置
KR100371253B1 (ko) 화상생성방법및장치
US20120026179A1 (en) Image processing division
JP4760390B2 (ja) 画像処理装置
JP5343707B2 (ja) 画像処理装置
JP3778068B2 (ja) 画像データの展開方法及び画像表示制御装置
US20230206380A1 (en) Optimizing partial writes to compressed blocks
US20230196624A1 (en) Data processing systems
JP2015219351A (ja) 画像処理装置
WO2009107168A1 (ja) 文字描画装置
JPH06282657A (ja) 図形表示方法及びその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121226

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees