JP2000148975A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JP2000148975A
JP2000148975A JP10318134A JP31813498A JP2000148975A JP 2000148975 A JP2000148975 A JP 2000148975A JP 10318134 A JP10318134 A JP 10318134A JP 31813498 A JP31813498 A JP 31813498A JP 2000148975 A JP2000148975 A JP 2000148975A
Authority
JP
Japan
Prior art keywords
data
circuit
address
texture
image processing
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.)
Granted
Application number
JP10318134A
Other languages
English (en)
Other versions
JP4828006B2 (ja
Inventor
Toshiaki Shino
俊明 志野
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP31813498A priority Critical patent/JP4828006B2/ja
Publication of JP2000148975A publication Critical patent/JP2000148975A/ja
Application granted granted Critical
Publication of JP4828006B2 publication Critical patent/JP4828006B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 メモリへのアクセス時のアドレス指定に制限
を設けた場合でも、メモリへのアクセスを正確に行うこ
とができる画像処理装置を提供する。 【解決手段】 所定の大きさのブロックを単位として画
像データの書き込みが行われ、記憶領域に規定された2
次元のアドレス空間における前記ブロックの代表点のア
ドレスの指定に制限があるDRAM147と、所定の処
理を行って画像データを生成するメインプセッサ11
と、ホストインタフェース回路149を介してメインプ
セッサ11から入力した画像データを含む前記ブロック
の前記代表点のアドレスを前記制限に基づいて指定した
ときに、画像データがDRAM147内の所定の記憶領
域に書き込まれるように、画像データを並べ替えるデー
タ並べ替え部400とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理装置に関
する。
【0002】
【従来の技術】種々のCAD(Computer Aided Design)
システムや、アミューズメント装置などにおいて、コン
ピュータグラフィックスがしばしば用いられている。特
に、近年の画像処理技術の進展に伴い、3次元コンピュ
ータグラフィックスを用いたシステムが急速に普及して
いる。このような3次元コンピュータグラフィックスで
は、各画素(ピクセル)に対応する色を決定するとき
に、各画素の色の値を計算し、この計算した色の値を、
当該画素に対応するディスプレイバッファ(フレームバ
ッファ)のアドレスに書き込むレンダリング(Renderin
g) 処理を行う。
【0003】レンダリング処理の手法の一つに、ポリゴ
ン(Polygon)レンダリングがある。この手法では、立体
モデルを三角形の単位図形(ポリゴン)の組み合わせと
して表現しておき、このポリゴンを単位として描画を行
うことで、表示画面の色を決定する。
【0004】ポリゴンレンダリングでは、物理座標系に
おける三角形の各頂点についての、座標(x,y,z)
と、色データ(R,G,B)と、張り合わせのイメージ
パターンを示すテクスチャデータの同次座標(s,t)
および同次項qの値とを入力とし、これらの値を三角形
の内部で補間する処理が行われる。ここで、同次項q
は、簡単にいうと、拡大縮小率のようなもので、実際の
テクスチャバッファのUV座標系における座標、すなわ
ち、テクスチャ座標データ(u,v)は、同次座標
(s,t)を同次項qで除算した「s/q」および「t
/q」に、それぞれテクスチャサイズUSIZEおよび
VSIZEを乗じたものとなる。
【0005】図28は、3次元コンピュータグラフィッ
クスシステムの基本的な概念を示すシステム構成図であ
る。
【0006】この3次元コンピュータグラフィックスシ
ステムにおいては、グラフィックス描画等のデータは、
メインプロセッサ1のメインメモリ2、あるいは外部か
らのグラフィックスデータを受けるI/Oインタフェー
ス回路3からメインバス4を介してレンダリングプロセ
ッサ5a、フレームバッファメモリ5bを有するレンダ
リング回路5に与えられる。
【0007】レンダリングプロセッサ5aには、表示す
るためのデータを保持することを目的とするフレームバ
ッファ5bと、描画する図形要素(たとえば三角形)の
表面に張り付けるテクスチャデータを保持しているテク
スチャメモリ6が結合されている。そして、レンダリン
グプロセッサ5aによって、図形要素毎に表面にテクス
チャを張り付けた図形要素を、フレームバッファ5bに
描画するという処理が行われる。
【0008】フレームバッファ5bとテクスチャメモリ
6は、一般的にDRAM(Dynamic Random Access Memor
y)により構成される。そして、図28のシステムにおい
ては、フレームバッファ5bとテクスチャメモリ6は、
物理的に別々のメモリシステムとして構成されている。
【0009】
【発明が解決しようとする課題】ところで、上述したよ
うな3次元コンピュータグラフィックシステムなどで
は、DRAMの読み出し動作および書き込み動作を効率
よく行うために、例えば、グラフィック処理の特色を考
慮してDRAMへのアクセス時のアドレス指定に制限を
設けることが考えられる。しかしながら、このような制
限を設けると、図28に示すシステムにおいて、レンダ
リングプロセッサ5aおよびメインプロセッサ1と、フ
レームバッファメモリ5bおよびテクスチャメモリ6と
の間でデータ送受信を行う際に、DRAMに対してのア
クセス時のアドレス指定の制限によって生じる種々の課
題を解決する必要がある。
【0010】本発明は、かかる事情に鑑みてなされたも
のであり、メモリへのアクセス時のアドレス指定に制限
を設けた場合でも、メモリへのアクセスを正確に行うこ
とができる画像処理装置を提供することを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点の画像処理装置は、所定の大き
さのブロックを単位として画像データの書き込みが行わ
れ、記憶領域に規定された2次元のアドレス空間におけ
る前記ブロックの代表点のアドレスの指定に制限がある
記憶回路と、所定の処理を行って画像データを生成する
画像処理回路と、前記画像処理回路から入力した画像デ
ータを含む前記ブロックの前記代表点のアドレスを前記
制限に基づいて指定したときに、前記画像データが前記
記憶回路内の所定の記憶領域に書き込まれるように、前
記画像データを並べ替えるデータ並べ替え回路と、前記
並べ替えられた前記画像データを含む前記ブロックを、
前記記憶回路に書き込む書き込み回路とを有する。
【0012】また、本発明の第2の観点の画像処理装置
は、所定の大きさのブロックを単位として記憶領域に記
憶された画像データの読み出しが行われ、前記記憶領域
に規定された2次元のアドレス空間における前記ブロッ
クの代表点のアドレスの指定に制限がある記憶回路と、
第1のデータ長の第1の画像データを入力し、当該第1
の画像データを用いた処理を行う画像処理回路と、前記
制限に基づいて代表点を指定して前記ブロック単位で前
記記憶回路から前記画像データを読み出す読み出し回路
と、前記読み出しによって得られた第2のデータ長の第
2の画像データを並べ替えて生成した前記第1の画像デ
ータを前記画像処理回路に出力するデータ並べ替え回路
とを有する。
【0013】また、本発明の第1の観点の画像処理装置
は、所定の大きさのブロックを単位として記憶領域に対
しての画像データの読み出しおよび書き込みが行われ、
前記記憶領域に規定された2次元のアドレス空間におけ
る前記ブロックの代表点のアドレスの指定に制限がある
記憶回路と、前記制限に基づいて代表点を指定して前記
ブロックを単位として前記記憶回路から前記画像データ
を読み出す読み出し回路と、前記読み出された画像デー
タを含む前記ブロックの前記代表点のアドレスを前記制
限に基づいて指定したときに、前記読み出された画像デ
ータが前記記憶回路内の所定の記憶領域に書き込まれる
ように、前記読み出された画像データを並べ替えるデー
タ並べ替え回路と、前記制限に基づいて代表点を指定し
て、前記並べ替えられた画像データを含む前記ブロック
を前記記憶回路に書き込む書き込み回路とを有する。
【0014】また、本発明の第4の観点の画像処理装置
は、単位図形の頂点について、3次元座標(x,y,
z)、R(赤),G(緑),B(青)データ、テクスチ
ャ同次座標(s,t)および同次項qを含むポリゴンレ
ンダリングデータを用いてレンダリング処理を行う画像
処理装置であって、表示データと少なくとも一つの図形
要素が必要とするテクスチャデータとを記憶し、所定の
大きさのブロックを単位として書き込みが行われ、記憶
領域に規定された2次元のアドレス空間における前記ブ
ロックの代表点のアドレスの指定に制限がある記憶回路
と、前記単位図形の頂点のポリゴンレンダリングデータ
を補間して、前記単位図形内に位置する画素の補間デー
タを生成する補間データ生成回路と、前記補間データに
含まれるテクスチャ同次座標(s,t)を同次項qで除
算して「s/q」および「t/q」を生成し、当該「s
/q」および「t/q」に応じたテクスチャアドレスを
用いて、前記記憶回路からテクスチャデータを読み出
し、図形要素の表面への前記読み出したテクスチャデー
タの張り付け処理を行って表示データを生成するテクス
チャ処理回路と、前記テクスチャ処理回路から入力した
表示データを含む前記ブロックの前記代表点のアドレス
を前記制限に基づいて指定したときに、前記表示データ
が前記記憶回路内の所定の記憶領域に書き込まれるよう
に、前記表示データを並べ替えるデータ並べ替え回路
と、前記並べ替えられた前記表示データを含む前記ブロ
ックを、前記記憶回路に書き込む書き込み回路とを有す
る。
【0015】さらに、本発明の第5の観点の画像処理装
置は、単位図形の頂点について、3次元座標(x,y,
z)、R(赤),G(緑),B(青)データ、テクスチ
ャ同次座標(s,t)および同次項qを含むポリゴンレ
ンダリングデータを用いてレンダリング処理を行う画像
処理装置であって、表示データと少なくとも一つの図形
要素が必要とするテクスチャデータとを記憶し、所定の
大きさのブロックを単位として書き込みが行われ、記憶
領域に規定された2次元のアドレス空間における前記ブ
ロックの代表点のアドレスの指定に制限がある記憶回路
と、前記単位図形の頂点のポリゴンレンダリングデータ
を補間して、前記単位図形内に位置する画素の補間デー
タを生成する補間データ生成回路と、前記補間データに
含まれるテクスチャ同次座標(s,t)を同次項qで除
算して「s/q」および「t/q」を生成し、当該「s
/q」および「t/q」に応じたテクスチャアドレスを
用いて前記記憶回路から読み出されたテクスチャデータ
を、図形要素の表面への張り付け処理を行って表示デー
タを生成するテクスチャ処理回路と、前記制限に基づい
て代表点を指定して前記ブロック単位で前記記憶回路か
ら前記テクスチャデータを読み出す読み出し回路と、イ
ンタフェース回路と、前記読み出されたテクスチャデー
タを、前記インタフェース回路の出力フォーマットに応
じて並べ替えて、前記インタフェース回路に出力するデ
ータ並べ替え回路とを有する。
【0016】
【発明の実施の形態】以下、本実施形態においては、パ
ーソナルコンピュータなどに適用される、任意の3次元
物体モデルに対する所望の3次元画像をCRT(Cathode
Ray Tube)などのディスプレイ上に高速に表示する3次
元コンピュータグラフィックスシステムについて説明す
る。
【0017】図1は、本発明に係る画像処理装置として
の3次元コンピュータグラフィックスシステム10のシ
ステム構成図である。
【0018】3次元コンピュータグラフィックスシステ
ム10は、立体モデルを単位図形である三角形(ポリゴ
ン)の組み合わせとして表現し、このポリゴンを描画す
ることで表示画面の各画素の色を決定し、ディスプレイ
に表示するポリゴンレンダリング処理を行うシステムで
ある。また、3次元コンピュータグラフィックスシステ
ム10では、平面上の位置を表現する(x,y)座標の
他に、奥行きを表すz座標を用いて3次元物体を表し、
この(x,y,z)の3つの座標で3次元空間の任意の
一点を特定する。
【0019】図1に示すように、3次元コンピュータグ
ラフィックスシステム10は、メインプロセッサ11、
メインメモリ12、I/Oインタフェース回路13、お
よびレンダリング回路14が、メインバス15を介して
接続されている。以下、各構成要素の機能について説明
する。
【0020】メインプロセッサ11は、例えば、アプリ
ケーションの進行状況などに応じて、メインメモリ12
から必要なグラフィックデータを読み出し、このグラフ
ィックデータに対してクリッピング(Clipping)処理、ラ
イティング(Lighting)処理などのジオメトリ(Geometry)
処理などを行い、ポリゴンレンダリングデータを生成す
る。メインプロセッサ11は、ポリゴンレンダリングデ
ータS11を、メインバス15を介してレンダリング回
路14に出力する。
【0021】I/Oインタフェース回路13は、必要に
応じて、外部から動きの制御情報またはポリゴンレンダ
リングデータなどを入力し、これをメインバス15を介
してレンダリング回路14に出力する。
【0022】ここで、ポリゴンレンダリングデータは、
ポリゴンの各3頂点の(x,y,z,R,G,B,s,
t,q)のデータを含んでいる。ここで、(x,y,
z)データは、ポリンゴの頂点の3次元座標を示し、
(R,G,B)データは、それぞれ当該3次元座標にお
ける赤、緑、青の輝度値を示している。(s,t,q)
データのうち、(s,t)は、対応するテクスチャの同
次座標を示しており、qは同次項を示している。ここ
で、「s/q」および「t/q」に、それぞれテクスチ
ャサイズUSIZEおよびVSIZEを乗じてテクスチ
ャ座標データ(u,v)が得られる。テクスチャバッフ
ァ147aに記憶されたテクスチャデータへのアクセス
は、テクスチャ座標データ(u,v)を用いて行われ
る。すなわち、ポリゴンレンダリングデータは、三角形
の各頂点の物理座標値と、それぞれの頂点の色とテクス
チャデータである。
【0023】以下、レンダリング回路14について詳細
に説明する。図1に示すように、レンダリング回路14
は、ホストインタフェース回路149、DDA(Digital
Differential Anarizer) セットアップ回路141、ト
ライアングルDDA回路142、テクスチャエンジン回
路143、メモリインタフェース(I/F)回路14
4、CRTコントロール回路145、RAMDAC回路
146、DRAM147およびSRAM(Static RAM)1
48を有する。本実施形態におけるレンダリング回路1
4は、一つの半導体チップ内にロジック回路と少なくと
も表示データとテクスチャデータとを記憶するDRAM
147とが混載されている。
【0024】DRAM147 DRAM147は、テクスチャバッファ147a、ディ
スプレイバッファ147b、zバッファ147cおよび
テクスチャCLUT(Color Look Up Table) バッファ1
47dとして機能する。また、DRAM147は、後述
するように、同一機能を有する複数(本実施形態では4
個)のモジュールに分割されている。
【0025】また、DRAM147には、より多くのテ
クスチャデータを格納するために、インデックスカラー
におけるインデックスと、そのためのカラールックアッ
プテーブル値が、テクスチャCLUTバッファ147d
に格納されている。インデックスおよびカラールックア
ップテーブル値は、テクスチャ処理に使われる。すなわ
ち、通常はR,G,Bそれぞれ8ビットの合計24ビッ
トでテクスチャ要素を表現するが、それではデータ量が
膨らむため、あらかじめ選んでおいた例えば256色等
の中から一つの色を選んで、そのデータをテクスチャ処
理に使う。このことで256色であればそれぞれのテク
スチャ要素は8ビットで表現できることになる。インデ
ックスから実際のカラーへの変換テーブルは必要になる
が、テクスチャの解像度が高くなるほど、よりコンパク
トなテクスチャデータとすることが可能となる。これに
より、テクスチャデータの圧縮が可能となり、内蔵DR
AMの効率良い利用が可能となる。
【0026】さらにDRAM147には、描画と同時並
行的に隠れ面処理を行うため、描画しようとしている物
体の奥行き情報が格納されている。なお、表示データと
奥行きデータおよびテクスチャデータの格納方法として
は、メモリブロックの先頭から連続して表示データが格
納され、次に奥行きデータが格納され、残りの空いた領
域に、テクスチャの種類毎に連続したアドレス空間でテ
クスチャデータが格納される。これにより、テクスチャ
データを効率よく格納できることになる。
【0027】図2は、DRAM147、SRAM14
8、並びに、DRAM147およびSRAM148へア
クセスするメモリI/F回路144の具体的な構成例を
示すブロック図である。
【0028】図2に示すように、図1に示すDRAM1
47およびSRAM148は、前述したように4個のメ
モリモジュール200,210,220,230に分割
されている。
【0029】メモリモジュール200は、メモリ20
1,202を有する。メモリ201は、DRAM147
の一部を構成するバンク201A,201Bと、SRA
M148の一部を構成するバンク201C,201Dと
を有する。また、メモリ202は、DRAM147の一
部を構成するバンク202A,202Bと、SRAM1
48の一部を構成するバンク202C,202Dとを有
する。なお、SRAM148を構成するバンク201
C,201D,202C,202Dに対しては同時アク
セスが可能である。
【0030】メモリモジュール210は、メモリ21
1,212を有する。メモリ211は、DRAM147
の一部を構成するバンク211A,211Bと、SRA
M148の一部を構成するバンク211C,211Dと
を有する。また、メモリ212は、DRAM147の一
部を構成するバンク212A,212Bと、SRAM1
48の一部を構成するバンク212C,212Dとを有
する。なお、SRAM148を構成するバンク211
C,211D,212C,212Dに対しては同時アク
セスが可能である。
【0031】メモリモジュール220は、メモリ22
1,222を有する。メモリ221は、DRAM147
の一部を構成するバンク221A,221Bと、SRA
M148の一部を構成するバンク221C,221Dと
を有する。また、メモリ222は、DRAM147の一
部を構成するバンク222A,222Bと、SRAM1
48の一部を構成するバンク222C,222Dとを有
する。なお、SRAM148を構成するバンク221
C,221D,222C,222Dに対しては同時アク
セスが可能である。
【0032】メモリモジュール230は、メモリ23
1,232を有する。メモリ231は、DRAM147
の一部を構成するバンク231A,231Bと、SRA
M148の一部を構成するバンク231C,231Dと
を有する。また、メモリ232は、DRAM147の一
部を構成するバンク232A,232Bと、SRAM1
48の一部を構成するバンク232C,232Dとを有
する。なお、SRAM148を構成するバンク231
C,231D,232C,232Dに対しては同時アク
セスが可能である。
【0033】ここで、メモリモジュール200,21
0,220,230の各々は、図1に示すテクスチャバ
ッファ147a、ディスプレイバッファ147b、Zバ
ッファ147cおよびテクスチャCLUTバッファ14
7dの全ての機能を持つ。すなわち、メモリモジュール
200,210,220,230の各々は、対応する画
素のテクスチャデータ、描画データ((R,G,B)デ
ータ)、zデータおよびテクスチャカラールックアップ
テーブルデータの全てを記憶する。ただし、メモリモジ
ュール200,210,220,230は、相互で異な
る画素についてのデータを記憶する。ここで、同時に処
理される16画素についてのテクスチャデータ、描画デ
ータ、zデータおよびテクスチャカラールックアップテ
ーブルデータが、相互に異なるバンク201A,201
B,202A,202B,211A,211B,212
A,212B,221A,221B,222A,222
B,231A,231B,232A,232Bに記憶さ
れる。これにより、メモリI/F回路144は、DRA
M147に対して、例えば8(X方向)×2画素(Y方
向)の16画素についてのデータが同時に書き込むこと
が可能になる。なお、読み出しは、例えば、8(X方
向)×1画素(Y方向)の8画素についてデータが同時
に読み出すことが可能になる。なお、メモリI/F回路
144は、後述するように、いわゆる所定のインターリ
ーブ方式のアドレッシングに基づいてDRAM147へ
のアクセス(書き込み)を行う。
【0034】図3は、DRAM147のバッファ(例え
ばテクスチャバッファ)としての構成例を示す概略図で
ある。図3に示すように、2×8画素(ピクセル)の領
域でメモリアクセスされたデータは、ページ(ロウ)や
ブロック(カラム)と呼ばれる領域に格納される。各ロ
ウROW0〜ROWn+1 は、図3(a)に示すように、
それぞれ4個のカラム(ブロック)M0A,M0B,M
1A,M1Bに区分けされている。そして、書き込み時
には、X方向およびY方向について偶数のバウンダリ、
読み出し時には、X方向について8の倍数のバウンダ
リ、Y方向については任意バウンダリの領域でアクセス
が行われる。
【0035】なお、バンク201C,201D,202
C,202D,211C,211D,212C,212
D,221C,221D,222C,222D,231
C,231D,232C,232Dには、それぞれバン
ク201A,201B,202A,202B,211
A,211B,212A,212B,221A,221
B,222A,222B,231A,231B,232
A,232Bに記憶されているテクスチャデータが記憶
される。
【0036】次に、インターリーブ方式のアドレッシン
グに基づくテクスチャバッファ147aにおけるテクス
チャデータの記憶パターンについて、図4〜図6に関連
付けてさらに詳細に説明する。図4はテクスチャデータ
に含まれる同時にアクセスが行われるカラーデータ(画
素データ)を説明するための図、図5はテクスチャデー
タを構成する単位ブロックを説明するための図、図6は
テクスチャバッファのアドレス空間を説明するするため
の図である。
【0037】本実施形態の場合、図4に示すように、テ
クスチャデータに含まれる、2×8のマトリクス状に配
置された画素の色データを示すカラーデータpix0
pix15が、同時にアクセスされる。
【0038】カラーデータpix0 〜pix15は、テク
スチャバッファ147aを構成するSRAM148の異
なるバンクに記憶される必要がある。本実施形態では、
カラーデータpix0 ,pix1 ,pix8 ,pix9
が、それぞれ図2に示すメモリ201のバンク201
C,201Dおよびメモリ202のバンク202C,2
02Dに記憶される。また、カラーデータpix2 ,p
ix3 ,pix10,pix11が、それぞれ図2に示すメ
モリ211のバンク211C,211Dおよびメモリ2
12のバンク212C,212Dに記憶される。また、
カラーデータpix4 ,pix5 ,pix12,pix13
が、それぞれ図2に示すメモリ221のバンク221
C,221Dおよびメモリ222のバンク222C,2
22Dに記憶される。さらに、カラーデータpix6
pix7 ,pix14,pix15が、それぞれ図2に示す
メモリ231のバンク231C,231Dおよびメモリ
232のバンク232C,232Dに記憶される。
【0039】本実施形態では、同時に処理される矩形領
域内に位置する画素のカラーデータpix0 〜pix15
の組を単位ブロックRi と呼び、例えば、1枚のイメー
ジを示すテクスチャデータは、図5に示すように、B×
Aのマトリクス状に配置された単位ブロックR0 〜R
BA-1からなる。単位ブロックR0 〜RBA-1は、図6に示
すように、1次元のアドレス空間で連続したアドレスを
持つように、テクスチャバッファ147aを構成するD
RAM147に記憶されている。また、各単位ブロック
0 〜RBA-1内のカラーデータpix0 〜pix15は、
1次元のアドレス空間内で連続したアドレスを持つよう
に、SRAM148の相互に異なるバンクに記憶され
る。すなわち、テクスチャバッファ147aには、同時
にアクセスが行われるカラーデータからなる単位ブロッ
クが、一次元のアドレス空間で連続したアドレスを持つ
ように記憶される。
【0040】ホストインタフェース回路149 ホストインタフェース回路149は、レンダリング回路
14の外部でメインバス15に接続され、レンダリング
回路14の内部でDDAセットアップ回路141および
メモリI/F回路144に接続されている。ホストイン
タフェース回路149は、後述するように、メモリI/
F回路144と、メインプセッサ11およびI/Oイン
タフェース回路13との間で通信を行う際のインタフェ
ースとなる。
【0041】DDAセットアップ回路141 DDAセットアップ回路141は、後段のトライアング
ルDDA回路142において物理座標系上の三角形の各
頂点の値を線形補間して、三角形の内部の各画素の色と
深さ情報を求めるに先立ち、ポリゴンレンダリングデー
タS11が示す(z,R,G,B,s,t,q)データ
について、三角形の辺と水平方向の差分などを求めるセ
ットアップ演算を行う。このセットアップ演算は、具体
的には、開始点の値と終点の値と、開始点と終点との距
離を用いて、単位長さ移動した場合における、求めよう
としている値の変分を算出する。DDAセットアップ回
路141は、算出した変分データS141をトライアン
グルDDA回路142に出力する。
【0042】トライアングルDDA回路142 トライアングルDDA回路142は、DDAセットアッ
プ回路141から入力した変分データS141を用い
て、三角形内部の各画素における線形補間された(z,
R,G,B,s,t,q)データを算出する。トライア
ングルDDA回路11は、各画素の(x,y)データ
と、当該(x,y)座標における(z,R,G,B,
s,t,q)データとを、DDAデータ(補間データ)
S142としてテクスチャエンジン回路143に出力す
る。例えば、トライアングルDDA回路142は、並行
して処理を行う矩形内に位置する8(=2×4)画素分
のDDAデータS142をテクスチャエンジン回路14
3に出力する。
【0043】テクスチャエンジン回路143 テクスチャエンジン回路143は、「s/q」および
「t/q」の算出処理、テクスチャ座標データ(u,
v)の算出処理、テクスチャバッファ147aからの
(R,G,B)データの読み出し処理等をパイプライン
方式で行う。なお、テクスチャエンジン回路143は、
例えば所定の矩形内に位置する8画素についての処理を
同時に並行して行う。
【0044】テクスチャエンジン回路143は、DDA
データS142が示す(s,t,q)データについて、
sデータをqデータで除算する演算と、tデータをqデ
ータで除算する演算とを行う。テクスチャエンジン回路
143には、例えば図示しない除算回路が8個設けられ
ており、8画素についての除算「s/q」および「t/
q」が同時に行われる。
【0045】また、テクスチャエンジン回路143は、
除算結果である「s/q」および「t/q」に、それぞ
れテクスチャサイズUSIZEおよびVSIZEを乗じ
て、テクスチャ座標データ(u,v)を生成する。ま
た、テクスチャエンジン回路143は、メモリI/F回
路144を介して、SRAM148あるいはDRAM1
47に、生成したテクスチャ座標データ(u,v)を含
む読み出し要求を出力し、メモリI/F回路144を介
して、SRAM148あるいはテクスチャバッファ14
7aに記憶されているテクスチャデータを読み出すこと
で、(s,t)データに対応したテクスチャアドレスに
記憶された(R,G,B)データS148を得る。ここ
で、SRA5148には、前述したようにテクスチャバ
ッファ147aに格納されているテクスチャデータが記
憶される。テクスチャエンジン回路143は、読み出し
た(R,G,B)データS148の(R,G,B)デー
タと、前段のトライアングルDDA回路142からのD
DAデータS142に含まれる(R,G,B)データと
を、それぞれ掛け合わせるなどして、カラーデータS1
43を生成する。テクスチャエンジン回路143は、こ
のカラーデータS143をメモリI/F回路144に出
力する。
【0046】なお、テクスチャバッファ147aには、
MIPMAP(複数解像度テクスチャ)などの複数の縮
小率に対応したテクスチャデータが記憶されている。こ
こで、何れの縮小率のテクスチャデータを用いるかは、
所定のアルゴリズムを用いて、前記三角形単位で決定さ
れる。
【0047】テクスチャエンジン回路143は、フルカ
ラー方式の場合には、テクスチャバッファ147aから
読み出した(R,G,B)データを直接用いる。一方、
テクスチ7エンジン回路143は、インデックスカラー
方式の場合には、あらかじめ作成したカラールックアッ
プテーブル(CLUT)をテクスチャCLUTバッファ
147dから読み出して、内蔵するSRAMに転送およ
び記憶し、このカラールックアップテーブルを用いて、
テクスチャバッファ147aから読み出したカラーイン
デックスに対応する(R,G,B)データを得る。
【0048】メモリI/F回路144 メモリI/F回路144は、テクスチャエンジン回路1
43から入力したカラーデータS143に対応するzデ
ータと、zバッファ147cに記憶されているzデータ
との比較を行い、入力したカラーデータS143によっ
て描画される画像が、前回、ディスプレイバッファ14
7bに書き込まれた画像より、手前(視点側)に位置す
るか否かを判断し、手前に位置する場合には、画像デー
タS143に対応するzデータでzバッファ147cに
記憶されたzデータを更新する。また、メモリI/F回
路144は、(R,G,B)データをディスプレイバッ
ファ147bに書き込む。さらに、メモリI/F回路1
44は、テクスチャエンジン回路143からのSRAM
148に、生成されたテクスチャ座標データ(u,v)
を含む読み出し要求を受けた場合には、SRAM148
に記憶された(R,G,B)データS148を読み出
す。また、メモリI/F回路144は、CRTコントロ
ール回路145から表示データを読み出す要求を受けた
場合には、この要求に応じて、ディスプレイバッファ1
47bから一定の固まり、例えば8画素あるいは16画
素単位で表示データを読み出す。
【0049】また、メモリI/F回路144は、DRA
M147から読み出したデータをホストインタフェース
回路149に出力する。
【0050】メモリI/F回路144は、DRAM14
7およびSRAM148へのアクセス(書き込みまたは
読み出し)を行うが、書き込み経路と読み出し経路とが
別経路として構成されている。すなわち、書き込みの場
合には書き込みアドレスADRWとカラーデータcdw
が書き込み系回路で処理されてDRAM147に書き込
み、読み出しの場合には読み出し系回路で処理されてD
RAM147またはSRAM148から読み出す。そし
て、メモリI/F回路144は、所定のインターリーブ
方式のアドレッシングに基づいてDRAM147へのア
クセスを、書き込みを16画素単位、読み出しを8画素
単位で行う。
【0051】以下に、メモリI/F回路144の具体的
な構成例について、図2にを参照しながら説明する。
【0052】メモリI/F回路144は、図2に示すよ
うに、ディストリビュータ300、アドレスコンバータ
310,320,330,340、メモリコントローラ
350,360,370,380、読み出しコントロー
ラ390およびデータ並べ替え部400を有する。
【0053】〔ディストリビュータ300〕ディストリ
ビュータ300は、書き込み時に、データ並べ替え部4
00から8画素分のカラーデータcwdおよび書き込み
アドレスADRW2 を入力し、これらから16画素分の
カラーデータを生成した後に、各々4画素分のデータか
らなる4つの画像データS301,S302,S30
3,S304に分割し、その画像データおよび書き込み
アドレスをそれぞれアドレスコンバータ310,32
0,330,340に出力する。ここで、1画素分の
(R,G,B)データは各々32ビット、zデータは3
2ビットからなる。
【0054】〔アドレスコンバータ310,320,3
30,340〕アドレスコンバータ310,320,3
30,340は、書き込み時に、ディストリビュータ3
00から入力した(R,G,B)データおよびzデータ
に対応したアドレスを、それぞれメモリモジュール20
0,210,220,230内のアドレスに変換し、そ
れぞれ変換したアドレスS310,S320,S33
0,S340と分割された画像データをメモリコントロ
ーラ350,360,370,380に出力する。
【0055】図7は、このディストリビュータ300の
画像データ処理(ピクセル処理)を模式的に示す図であ
る。この図は、前述した図3〜図6に対応するものであ
り、ディストリビュータ300は、DRAM147に対
して、例えば2×8画素の16画素についてのデータが
同時にアクセス可能になるように画像データ処理を行
う。そして、読み出し動作では、X方向について8の倍
数のバウンダリ、かつY方向について任意のバウンダリ
での領域でアクセスを行い、書き込み動作では、X方向
およびY方向について偶数のバウンダリの領域でアクセ
スを行うようなアドレッシングとなるように画像データ
の処理を行う。これによりDRAM147は、アクセス
の先頭がメモリセル番号MCN「1」,「2」,「3」
にはならず、必ずメモリセル番号MCN「0」となり、
ページ違反の発生等が防止される。また、ディストリビ
ュータ300は、各DRAMモジュール220〜230
に対して、カラーデータを、表示領域において隣接した
部分は、異なるDRAMモジュールとなる配置するとな
るように画像データの処理を行う。これにより、三角形
のような平面を描画する場合には面で同時に処理できる
ことになるため、それぞれのDRAMモジュールの動作
確率は非常に高くなっている。
【0056】〔メモリコントローラ350,360,3
70,380〕メモリコントローラ350,360,3
70,380は、それぞれ書き込み系配線群401W,
402W,411W,412W,421W,422W,
431W,432W、並びに読み出し系配線群401
R,402R,411R,412R,421R,422
R,431R,432Rを介してメモリモジュール20
0,210,220,230に接続されており、書き込
み時および読み出し時にメモリモジュール200,21
0,220,230に対してのアクセスを制御する。
【0057】具体的には、書き込み時には、メモリコン
トローラ350,360,370,380は、ディスト
リビュータ300から出力され、アドレスコンバータ3
50,360,370,380から入力した4画素分の
(R,G,B)データおよびzデータを、書き込み系配
線群401W,402W,411W,412W,421
W,422W,431W,432Wを介してメモリモジ
ュール200,210,220,230に同時に書き込
む。このとき、例えば、メモリモジュール200では、
前述したように、バンク201A,201B,202
A,202Bの各々に、1画素分の(R,G,B)デー
タおよびzデータが記憶される。メモリモジュール21
0,220,230についても同じである。
【0058】また、各メモリコントローラ350,36
0,370,380は、自身のステートマシンがいわゆ
るアイドル(IDLE)状態にあるときに、アイドル信
号S350,S360,S370,S380を読み出し
コントローラ390にアクティブで出力し、このアイド
ル信号S350,S360,S370,S380に応答
した読み出しコントローラ390による読み出しアドレ
スおよび読み出し要求信号S391を受けて、読み出し
系配線群401R,402R,411R,412R,4
21R,422R,431R,432Rを介してデータ
の読み出しを行い、読み出し系配線群351,361,
371,381、並びに配線群440を介して読み出し
コントローラ390に出力する。
【0059】なお、本実施形態では、書き込み系配線群
401W,402W,411W,412W,421W,
422W,431W,432W、並びに読み出し系配線
群401R,402R,411R,412R,421
R,422R,431R,432Rの配線本数は128
本(128ビット)、読み出し系配線群351,36
1,371,381の配線本数は256本(256ビッ
ト)、ならびに読み出し系配線群440の配線本数は1
024本(1024ビット)である。
【0060】〔読み出しコントローラ390〕読み出し
コントローラ390は、アドレスコンバータ391およ
びデータ演算処理部392により構成されている。アド
レスコンバータ391は、読み出しアドレスADRR2
を受けた場合、メモリコントローラ350,360,3
70,380からのアイドル信号S350,S360,
S370,S380をすべてアクティブで受けると、こ
のアイドル信号S350,S360,S370,S38
0に応答して、8画素単位で読み出しを行うように、読
み出しアドレスおよび読み出し要求信号S391を各メ
モリコントローラ350,360,370,380に出
力する。データ演算部392は、読み出しアドレスおよ
び読み出し要求信号S391に応答して各メモリコント
ローラ350,360,370,380で読み出された
8画素あるいは16画素単位の、テクスチャデータ、
(R,G,B)データ、zデータおよびテクスチャカラ
ールックアップテーブルデータを配線群440を介して
入力し、所定の演算処理を行って、データ並べ替え部4
00でデータ並べ替えを行った後に、要求先、例えばホ
ストインタフェース回路149に出力する。また、DR
AM147の記憶領域内において一の矩形領域からデー
タを読み出して他の矩形領域に書き込む場合にも、読み
出しコントローラ390、データ並べ替え部400およ
びディストリビュータ300を介してデータ転送が行わ
れる。
【0061】読み出しコントローラ390は、上述した
ように、メモリコントローラ350,360,370,
380のすべてがアイドル状態にあるときに、読み出し
アドレスおよび読み出し要求信号S391をメモリコン
トローラ350,360,370,380に出力して読
み出しデータを受けることから、読み出すデータの同期
をとることができる。したがって、読み出しコントロー
ラ390は、データを一時的に保持するFIFO(First
In First Out)回路等の保持回路を設ける必要がなく、
回路規模の縮小化が図られている。
【0062】〔データ並べ替え部400〕データ並べ替
え部400は、「Host to Local」、「L
ocalto Host」、「Local to Lo
cal」の3つの転送モードを有し、各々の転送モード
に応じてデータの並べ替えを行う。データ並べ替え部4
00は、例えば、テクスチャエンジン回路143から入
力した転送モード指示信号および画素データ長指示信号
に基づいて、転送モードおよび1画素のデータ長を判断
する。なお、1画素のデータ長としては、例えば、32
ビット、16ビット、8ビットおよび4ビットがある。
ここで、1画素のデータ長32ビットおよび16ビット
は、テクスチャデータなどに用いられ、1画素のデータ
長8ビットおよび4ビットは、インデックスデータなど
に用いられる。
【0063】データ並べ替え部400は、「Host
to Local」転送モードにおいて、テクスチャエ
ンジン回路143から入力した64ビット幅の転送デー
タhwd(カラーデータS143)と書き込みアドレス
ADRW1 とから、256ビット幅のカラーデータcw
dと、代表点座標(btrx,btry)およびバリッ
ドフラグbtrvldを含むアドレスADRW2 とを生
成し、これらをディストリビュータ300に出力する。
【0064】また、データ並べ替え部400は、「Lo
cal to Host」転送モードにおいて、ホスト
インタフェース回路149から入力したアドレスADR
1に応じたアドレスADRR2 を生成し、当該アドレ
スADRR2 に基づいて行われた読み出し動作によっ
て、コントローラ390から入力した8画素分の256
ビットのカラーデータmc_0dtr〜mc_7dtr
を、パッキングして64ビット幅の転送データhrdを
生成し、これをホストインタフェース回路149に出力
する。
【0065】さらに、データ並べ替え部400は、「L
ocal to Local」転送モードにおいて、D
RAM147の記憶領域内で一の矩形記憶領域からデー
タを読み出して他の矩形記憶領域に転送する(書き込
む)際に、読み出しコントローラ390から8画素分の
256ビットのカラーデータmc_0dtr〜mc_7
dtrを入力し、これを転送先の矩形記憶領域の起点座
標にあわせてシフトしてカラーデータcwdを生成し、
当該カラーデータcwdと、転送先の書き込み動作で使
用される代表点座標(btrx,btry)およびバリ
ッドフラグbtrvldを含むアドレスADRW2 とを
ディストリビュータ300に出力する。
【0066】図8は、図2に示すデータ並べ替え部40
0の構成図である。図8に示すように、データ並べ替え
部400は、FIFO(First In First Out)回路410
1 〜4103 、ラッチ回路4104 データ並べ替え回路
420、アドレス生成部430およびコントローラ44
0を有する。
【0067】FIFO回路4101 は、例えば、64ビ
ット幅で深さ3段のFIFO回路であり、コントローラ
440からの制御信号S4401 に基づいて、テクスチ
ャエンジン回路143から入力した64ビット幅の転送
データhwdをFIFO方式でデータ並べ替え回路42
0に出力する。FIFO回路4102 は、例えば、64
ビット幅で深さ3段のFIFO回路であり、コントロー
ラ440からの制御信号S4402 に基づいて、データ
並べ替え回路420から入力した64ビット幅の転送デ
ータhrdをFIFO方式でホストインタフェース回路
149に出力する。
【0068】FIFO回路4103 は、例えば、64ビ
ット幅で深さ16段のFIFO回路であり、コントロー
ラ440からの制御信号S4403 に基づいて、読み出
しコントローラ390から入力した各々32ビットの8
画素分のカラーデータmc_0dtr〜mc_7dtr
をFIFO方式でデータ並べ替え回路420に出力す
る。FIFO回路4103 へのカラーデータmc_0d
tr〜mc_7dtrの入力は、後述するように、コン
トローラ440によって制御される。ラッチ回路410
4 は、例えば、256ビット幅であり、コントローラ4
40からの制御信号S4404 に基づいて、データ並べ
替え回路420から入力した256ビット幅のカラーデ
ータcwd_aを図2に示すディストリビュータ300
に出力する。
【0069】図9は、図8に示すデータ並べ替え回路4
20の構成図である。図9に示すように、データ並べ替
え回路420は、シフト回路4501 ,4502 、セレ
クタ4510 〜4517 、ラッチ回路4520 〜452
7 およびラッチ回路4530 〜4537 を有する。
【0070】シフト回路4501 は、「Host to
Local」転送を行う場合に、コントローラ440
から入力した制御信号S4406 に基づいて、64ビッ
ト幅の転送データhwd、すなわち2画素分のカラーデ
ータをLSB側に配置した256ビット(8画素)分の
カラーデータをテクスチャエンジン回路143から入力
し、当該カラーデータを32ビット単位でシフト処理し
て生成した256ビットのカラーデータmc_0a〜m
c_7aを出力する。
【0071】セレクタ4510 〜4517 は、制御信号
S4406 に基づいて、それぞれ入力端子aを介して入
力した32ビットのカラーデータmc_0a〜mc_7
aと、入力端子bを介して入力した32ビットのカラー
データmc_0a〜mc_7aとのうち一方を選択し
て、出力端子aからラッチ回路4520 〜4527 に出
力する。
【0072】ラッチ回路4520 〜4527 は、制御信
号S4406 に基づいて、それぞれセレクタ4510
4517 の出力端子cから出力した32ビットのカラー
データを、図8に示すFIFO回路4102 あるいはラ
ッチ回路4104 に出力する。ラッチ回路4530 〜4
537 は、制御信号S4406 に基づいて、それぞれシ
フト回路4501 から入力したカラーデータmc_0a
〜mc_7aを、シフト回路4502 と、図8に示すF
IFO回路4102 あるいはラッチ回路4104 に出力
する。ここで、ラッチ回路4520 〜4527 の各々の
32ビットの出力線は、それぞれラッチ回路4530
4537 の各々の32ビットの出力線と同じであり、そ
れぞれラッチ回路4520 〜4527 とラッチ回路45
0 〜4537 とのうち一方から32ビットのカラーデ
ータが出力されるように制御される。
【0073】シフト回路4502 は、ラッチ回路453
0 〜4537 から入力した256ビットのカラーデータ
を32ビット単位でシフト処理して生成した各々32ビ
ットのカラーデータmc_0b〜mc_7bを、それぞ
れセレクタ4510 〜4517 の入力端子bに出力す
る。
【0074】以下、図8に示すデータ並べ替え部400
におけるデータ並べ替え処理とアドレス生成部430に
おけるアドレス生成処理とを、各転送モードに分けて説
明する。なお、前述したように、DRAM147に対し
ての書き込みは、代表点を基準とした8画素(X方向)
×2画素(Y方向)の16画素のカラーデータが記憶さ
れている矩形記憶領域を単位として行われる。一方、D
RAM147からの読み出しは、代表点を基準とした8
画素(X方向)×1画素(Y方向)の8のカラーデータ
が記憶されている矩形記憶領域を単位として行われる。
【0075】また、代表点のアドレスは、読み出し動作
では、Y方向については任意のアドレスを指定できる
が、X方向について8の倍数のアドレスしか指定できな
い。一方、代表点のアドレスは、書き込み動作では、X
方向およびY方向の双方とも、2の倍数のアドレスしか
指定できない。
【0076】以下に示す並べ替え処理では、DRAM1
47の記憶領域における、図10に示すような、幅
「3」、高さ「3」で起点座標が(5,5)の矩形記憶
領域500に対してのカラーデータの読み出し動作およ
び書き込み動作を伴う場合を例示して説明する。
【0077】<「Host to Local」転送モ
ード>以下、テクスチャエンジン回路143から入力し
た図11に示す64ビット幅の転送データhwd0 〜h
wd4 に含まれる8画素分の各々32ビット(1画素の
データ長が32ビット)のカラーデータpix0 〜pi
8 を、図10に示す矩形記憶領域500に転送して書
き込む場合の動作を説明する。
【0078】この場合には、テクスチャエンジン回路1
43から、転送データhwdが、矩形記憶領域500の
図10中左上端点からスキャンライン方向にX座標が増
加する順番で与えられ、1スキャンライン終了後、次の
スキャンラインのデータがX座標が増加する順番で与え
られる。このとき、スキャンラインが異なるデータも6
4ビット内にパックされて与えられる。
【0079】先ず、テクスチャエンジン回路143から
の図11に示す各々64ビット幅の転送データhwd0
〜hwd4 が、図8に示すFIFO回路4101 を介し
て、データ並べ替え回路420に順に出力される。そし
て、転送データhwd0 のカラーデータpix0 ,pi
1 をLSBから順に配置した256ビットのカラーデ
ータが、図9に示すシフト回路4501 において、図1
2(A)に示すように、32ビット単位でMSBに向け
て「1」だけシフトされ、当該シフト後のカラーデータ
cwd_a0 が、図9に示すラッチ回路4530 〜45
7 から図13(A)に示すカラーデータcwd0 とし
て出力され、カラーデータcwd0 が図8に示すラッチ
回路4104 を介して図2に示すディストリビュータ3
00に出力される。
【0080】次に、転送データhwd1 のカラーデータ
pix2 ,pix3 をLSBから順に配置した256ビ
ットのカラーデータが、図9に示すシフト回路4501
において、図12(B)に示すように、32ビット単位
でMSBに向けて「1」だけシフトされ、当該シフト後
のカラーデータcwd_a1 が、図9に示すラッチ回路
4530 〜4537 から図13(B)に示すカラーデー
タcwd1 として出力され、カラーデータcwd1 が図
8に示すラッチ回路4104 を介して図2に示すディス
トリビュータ300に出力される。また、シフト後のカ
ラーデータcwd_a1 は、セレクタ4510 〜451
7およびラッチ回路4520 〜4527 を介して、シフ
ト回路4502 に出力される。
【0081】次に、転送データhwd2 のカラーデータ
pix4 ,pix5 をLSBから順に配置した256ビ
ットのカラーデータが、図9に示すシフト回路4501
において、図12(C)に示すように、32ビット単位
でMSBに向けて「2」だけシフトされた後に、図9に
示すセレクタ4510 〜4517 を介してラッチ回路4
530 〜4537 に記憶される。このとき、カラーデー
タpix4 ,pix5 が、ラッチ回路4532 ,453
3 に記憶される。また、前述したシフト回路4502
出力された、図12(B)に示す256ビットのカラー
データcwd_a1 が、LSBに向けて「1」だけシフ
トされた後に、セレクタ4510 〜4517 を介してラ
ッチ回路4520 〜4527 に記憶される。このとき、
カラーデータpix3 が、ラッチ回路4521 に記憶さ
れる。そして、ラッチ回路4530 ,4521 ,453
2 〜4537 からの出力によって、図13(C)に示す
ように、カラーデータpix3 ,pix4 ,pix5
含むカラーデータcwd2 が、図8に示すラッチ回路4
104 を介して図2に示すディストリビュータ300に
出力される。
【0082】次に、転送データhwd3 のカラーデータ
pix6 ,pix7 をLSBから順に配置した256ビ
ットのカラーデータが、図9に示すシフト回路4501
において、図12(D)に示すように、32ビット単位
でMSBに向けて「1」だけシフトされ、当該シフト後
のカラーデータcwd_a3 が、図9に示すラッチ回路
4530 〜4537 から図13(D)に示すカラーデー
タcwd3 として出力され、カラーデータcwd3 が図
8に示すラッチ回路4104 を介して図2に示すディス
トリビュータ300に出力される。
【0083】次に、転送データhwd4 のカラーデータ
pix8 をLSBから順に配置した256ビットのカラ
ーデータが、図9に示すシフト回路4501 において、
図12(E)に示すように、32ビット単位でMSBに
向けて「1」だけシフトされ、当該シフト後のカラーデ
ータcwd_a4 が、図9に示すラッチ回路4530
4537 から図13(E)に示すカラーデータcwd4
として出力され、カラーデータcwd4 が図8に示すラ
ッチ回路4104 を介して図2に示すディストリビュー
タ300に出力される。
【0084】また、データ並べ替え部400では、上述
したカラーデータcwd0 〜cwd4 に対応する代表点
座標(btrx,btry)およびバリッドフラグbt
rvldをアドレス生成部430において生成する。代
表点座標(btrx,btry)およびバリッドフラグ
btrvldは、アドレスADRW2 内に含められ、デ
ィストリビュータ300に出力される。ここで、カラー
データcwd0 〜cwd4 に対応する、代表点座標を
(btrx0 ,btry0 )〜(btrx4 ,btry
4 )とし、バリッドフラグをbtrvld0 〜btrv
ld4 とする。なお、アドレス生成部430における、
アドレスADRW2 の生成は、図8に示すコントローラ
440からの制御信号S4405 に基づいて行われる。
【0085】また、バリッドフラグbtrvldは、1
6ビットからなり、前述したように8画素(X方向)×
2画素(Y方向)の16画素分の矩形記憶領域(256
×2ビット)を単位としてDRAM147に書き込みを
行う際に、記憶内容の書き換えを行うか否かを、各画素
の記憶領域毎に示している。バリッドフラグbtr座標
vldの各ビットは、書き込みを行う単位である16画
素分の記憶領域の各1画素分の記憶領域に対応してい
る。バリッドフラグbtrvldの各ビットは、対応す
る記憶領域をマスクする場合(書き換えを行わない場
合)に論理値「0」を示し、マスクしない場合(書き換
えを行う場合)に論理値「1」を示している。
【0086】ここで、1回の書き込みで使用されるカラ
ーデータは8画素分の256ビットのデータであるた
め、当該カラーデータを、書き込みを行う記憶領域のう
ちY方向のアドレスが偶数の記憶領域に書き込む場合に
は、16ビットのバリッドフラグbtrvldのうち上
位8ビットを論理値「0」にし、書き込みを行う記憶領
域のうちY方向のアドレスが奇数の記憶領域に書き込む
場合には、16ビットのバリッドフラグbtrvldの
うち下位8ビットを論理値「0」にする。
【0087】図13(A)〜(E)に示すように、カラ
ーデータcwd0 〜cwd4 のそれぞれについて、バリ
ッドフラグbtrvld0 〜btrvld4 が、アドレ
ス生成部430において生成される。ここで、例えば、
バリッドフラグbtrvld0 は、下位8ビットが論理
値「0」になっているため、カラーデータcwd0 は、
書き込みを行う記憶領域のうちY方向のアドレスが奇数
の記憶領域に書き込まれる。
【0088】また、アドレス生成部430は、図12
(A)〜(E)に示すカラーデータcwd0 〜cwd4
のそれぞれを、前述した8画素(X方向)×2画素(Y
方向)の16画素分の矩形記憶領域を単位としてDRA
M147に書き込む際の図13(A)〜(E)に示す代
表点座標(btrx0 ,btry0 )〜(btrx4
btry4 )をそれぞれ生成する。
【0089】上述したように図2にデータ並べ替え部4
00の図8に示すデータ並べ替え回路420で生成され
た図13(A)〜(E)に示すカラーデータcwd0
cwd4 は、上述したように図8に示すアドレス生成部
430において生成されたアドレスADRW2 に含まれ
る図13(A)〜(E)に示す代表点座標(btr
0 ,btry0 )〜(btrx4 ,btry4 )およ
びバリッドフラグをbtrvld0 〜btrvld4
基づいた図2に示すディストリビュータ300、アドレ
スコンバータ310およびメモリコントローラ350,
360,370,380の処理を経て、以下に示すよう
に、図2に示すDRAM147に書き込まれる。
【0090】先ず、図14(A)に示すように、代表点
座標(btrx0 ,btry0 )=(4,4)によって
規定される16画素分の矩形記憶領域500内のY座標
が「5」(奇数)の記憶領域に、当該記憶領域内のX座
標が最も小さいアドレスに図13(A)に示すカラーデ
ータcwd0 のLSBが書き込まれるように、カラーデ
ータcwd0 が書き込まれる。このとき、前述したよう
に、バリッドフラグbtrvld0 の下位8ビットが全
て論理値「0」の場合にはY座標が奇数の記憶領域にカ
ラーデータcwd0 が書き込まれ、バリッドフラグbt
rvld0 の上位8ビットが全て論理値「0」の場合に
はY座標が偶数の記憶領域にカラーデータcwd0 が書
き込まれる。また、カラーデータcwd0 の書き込み
は、バリッドフラグbtrvld0 のうち、論理値
「1」のビットに対応する各々32ビットの記憶領域に
対してのみ行われる。この場合には、バリッドフラグb
trvld0 は、「0x0600」、すなわち「000
0011000000000」であり、論理値「1」の
ビットは、(X,Y)座標が(5,5)および(6,
5)の記憶領域に対応しているため、図14(A)に示
すように、当該記憶領域に対してのみカラーデータpi
0 ,pix1 が書き込まれる。
【0091】次に、図14(B)に示すように、代表点
座標(btrx1 ,btry1 )=(6,4)によって
規定される16画素分の矩形記憶領域500内のY座標
が「5」(奇数)の記憶領域に、図13(B)に示すカ
ラーデータcwd1 のカラーデータpix2 が書き込ま
れる。書き込み方法は、前述した図14(A)に示す場
合と同じである。
【0092】次に、同様に、図14(C)に示すよう
に、代表点座標(btrx2 ,btry2 )=(4,
6)によって規定される16画素分の矩形記憶領域50
0内のY座標が「6」(偶数)の記憶領域に、図13
(C)に示すカラーデータcwd2のカラーデータpi
3 ,pix4 ,pix5 が書き込まれる。
【0093】次に、同様に、図15(D)に示すよう
に、代表点座標(btrx3 ,btry3 )=(4,
6)によって規定される16画素分の矩形記憶領域50
0内のY座標が「7」(奇数)の記憶領域に、図13
(D)に示すカラーデータcwd3のカラーデータpi
6 ,pix7 が書き込まれる。
【0094】次に、同様に、図15(F)に示すよう
に、代表点座標(btrx4 ,btry4 )=(6,
6)によって規定される16画素分の矩形記憶領域50
0内のY座標が「7」(奇数)の記憶領域に、図13
(E)に示すカラーデータcwd4のカラーデータpi
8 が書き込まれる。
【0095】これにより、テクスチャエンジン回路14
3から入力した図11に示す64ビット幅の転送データ
hwd0 〜hwd4 に含まれる各々32ビットの8画素
分のカラーデータpix0 〜pix8 が、図10に示す
矩形記憶領域500に書き込まれる。
【0096】なお、上述した図11〜図15に示す例で
は、1画素のデータ長が32ビットのカラーデータpi
0 〜pix8 を、テクスチャエンジン回路143から
入力して図10に示す矩形記憶領域500に書き込む場
合を例示したが、1画素のデータ長は任意であり、例え
ば16ビットであってもよい。以下、1画素のデータ長
が16ビットのカラーデータpix0 〜pix8 を、テ
クスチャエンジン回路143から入力して図10に示す
矩形記憶領域500に書き込む場合の処理について説明
する。この場合には、図16に示すように、テクスチャ
エンジン回路143から入力される64ビット幅の転送
データには、各々4画素分のカラーデータが含まれる。
この場合には、図16に示す転送データhwd0 に含ま
れるカラーデータpix0 〜pix3 を含む256ビッ
トのカラーデータが、図9に示すデータ並べ替え回路4
20のシフト回路4501 においてMSB方向に1ビッ
トだけシフトされ、図17(A)に示す256ビットの
カラーデータcwd_a0 が生成され、当該カラーデー
タcwd_a0 に応じてラッチ回路4530 〜4537
から、図18(A)に示すカラーデータcwd0 がディ
ストリビュータ300に出力される。次に、図16に示
す転送データhwd1 に含まれるカラーデータpix4
〜pix7 を含む256ビットのカラーデータが、図9
に示すデータ並べ替え回路420のシフト回路4501
においてMSB方向に2ビットだけシフトされ、さら
に、転送データhwd0 に含まれるカラーデータpix
3 を追加することで、図17(B)に示す256ビット
のカラーデータcwd_a1 が生成され、当該カラーデ
ータcwd_a1 に応じた図18(B)に示すカラーデ
ータcwd1 がディストリビュータ300に出力され
る。
【0097】次に、図16に示す転送データhwd2
含まれるカラーデータpix8 を含む256ビットのカ
ラーデータが、図9に示すデータ並べ替え回路420の
シフト回路4501 においてMSB方向に3ビットだけ
シフトされ、さらに、転送データhwd1 に含まれるカ
ラーデータpix6 、pix7 を追加することで、図1
7(C)に示す256ビットのカラーデータcwd_a
2 が生成され、当該カラーデータcwd_a2 に応じた
図18(C)に示すカラーデータcwd2 がディストリ
ビュータ300に出力される。
【0098】また、カラーデータcwd0 〜cwd3
対応する図18(A)〜(C)に示す代表点座標(bt
rx,btry)およびバリッドフラグbtrvld
が、アドレス生成部430において生成される。
【0099】これにより、テクスチャエンジン回路14
3から入力した図16に示す64ビット幅の転送データ
hwd0 〜hwd2 に含まれる各々16ビットの8画素
分のカラーデータpix0 〜pix8 が、図10に示す
矩形記憶領域500に書き込まれる。
【0100】<「Local to Host」転送モ
ード>以下、DRAM147から読み出した8画素分の
カラーデータmc_0dtr〜mc_7dtrを、64
ビット幅の転送データにパッキングして、ホストインタ
フェース回路149に出力する場合の動作を説明する。
なお、前述したように、DRAM147からの読み出し
は、代表点を基準とした8画素(X方向)×1画素(Y
方向)の8のカラーデータが記憶されている矩形記憶領
域を単位として行われる。また、代表点のアドレスは、
読み出し動作では、Y方向については任意のアドレスを
指定できるが、X方向について8の倍数のアドレスしか
指定できない。
【0101】この場合に、図8に示すデータ並べ替え部
400のアドレス生成部430は、、ホストインタフェ
ース回路149から入力したアドレスADRR1 に基づ
いて、DRAM147内の読み出しを行う矩形記憶領域
について、図19に示すX,Y座標系における図19中
左上端からスキャンライン方向にX座標が増大する順番
で代表点座標(sbx,sby)を算出する。そして、
当該代表点座標(sbx,sby)を含むアドレスAD
RR2 をディストリビュータ300に出力する。
【0102】また、データ並べ替え回路420は、アド
レスADRR2 に応じてDRAM147から読み出され
た8画素分のカラーデータmc_0dtr〜mc_7d
trを、図2に示す読み出しコントローラ390から図
8に示すデータ並べ替え部400のFIFO回路410
3 を介して入力し、これを64ビット幅の転送データh
wdにパッキングして、FIFO回路4101 を介し
て、ホストインタフェース回路149に出力する。この
とき、カラーデータmc_0dtrが、当該読み出しを
行う矩形記憶領域の代表点座標に記憶されていたカラー
データであり、カラーデータmc_7dtrが、当該矩
形記憶領域内のX座標が最大の座標に記憶されていたカ
ラーデータである。
【0103】以下、一例として、図19に示す幅13、
高さ3、起点座標が(5,5)のDRAM147内の矩
形記憶領域600から読み出したカラーデータpix0
〜pix38を、4画素分のカラーデータを含む64ビッ
ト幅の転送データにパッキングしてホストインタフェー
ス回路149に出力する場合の動作を説明する。
【0104】先ず、アドレス生成部430に、アドレス
ADRR1 が、ホストインタフェース回路149から入
力される。そして、アドレス生成部430において、図
19に示す矩形記憶領域600の読み出し動作を行うた
めに、図19および図20(A)〜(I)に示す代表点
座標(sbx0 ,sby0 )〜(sbx8 ,sby8
を含むアドレスADRR2が、図2に示すディストリビ
ュータ300に順に出力され、アドレスコンバータ31
0およびおよびメモリコントローラ350,360,3
70,380の処理を経て、図20(A)〜(I)に示
すカラーデータmc_0dtr〜mc_7dtrが、図
2に示す読み出しコントローラ390から図8に示すデ
ータ並べ替え部400のFIFO回路4103 を介して
データ並べ替え回路420に順に出力される。
【0105】図9に示すデータ並べ替え回路420で
は、コントローラ440からの制御信号S4406 に基
づいて以下に示す処理が行われる。なお、図9に示すシ
フト回路4501 は、セレクタ4510 〜4517 の入
力端子aに接続されている256(=32×8)ビット
の出力用記憶領域と、当該出力用記憶領域の上位ビット
に位置する224(=32×8)ビットの内部記憶領域
とを有し、32ビット単位でシフト動作を行う。
【0106】先ず、図20(A)に示す256ビットの
カラーデータmc_0dtr〜mc_7dtrがシフト
回路4501 に入力され、32ビット単位で、LSBに
向けて「5」だけシフトされた後に、カラーデータpi
0 〜pix2 が、ラッチ回路4530 〜4532 に記
憶される。
【0107】次に、図20(B)に示す256ビットの
カラーデータmc_0dtr〜mc_7dtrが、シフ
ト回路4501 に入力され、32ビット単位で、MSB
に向けて「3」だけシフトされ、出力用記憶領域に記憶
されているカラーデータpix3 〜pix7 が、セレク
タ4513 〜4517 の入力端子aおよび出力端子cを
介して、ラッチ回路4523 〜4527 に書き込まれ
る。これにより、ラッチ回路4530 〜4537 に、図
21(B)の出力用記憶領域に対応する部分に示される
カラーデータcwd_b1 が記憶される。
【0108】そして、ラッチ回路4530 〜4533
記憶されているカラーデータpix0 〜pix3 が、図
22に示す64ビットの転送データhrd0 として、図
8に示すFIFO回路4102 を介して、ホストインタ
フェース回路149に出力される。次に、ラッチ回路4
534 〜4537 に記憶されているカラーデータpix
4〜pix7 が、図22に示す64ビットの転送データ
hrd1 として、図8に示すFIFO回路4102 を介
して、ホストインタフェース回路149に出力される。
【0109】また、シフト回路4501 の内部記憶領域
に記憶されているカラーデータpix8 〜pix10が、
32ビット単位で、LSBに向けて「8」だけシフトさ
れた後に、ラッチ回路4530 〜4532 に書き込まれ
る。次に、図20(C)に示すカラーデータmc_0d
tr〜mc_7dtrがシフト回路4501 に入力さ
れ、32ビット単位で、MSBに向けて「3」だけシフ
トされた後に出力され、カラーデータpix11,pix
12が、ラッチ回路4533 ,4534 に書き込まれる。
次に、図20(D)に示すカラーデータmc_0dtr
〜mc_7dtrが、シフト回路4501 に入力され、
シフトされずに出力され、カラーデータpix13〜pi
15が、ラッチ回路4535 〜4537 に書き込まれ
る。これにより、ラッチ回路4530 〜4537 に、図
21(D)の出力用記憶領域に対応する部分に示される
カラーデータcwd_b3 が記憶される。
【0110】そして、ラッチ回路4530 〜4533
記憶されているカラーデータpix8 〜pix11が、図
22に示す64ビットの転送データhrd2 として、図
8に示すFIFO回路4102 を介して、ホストインタ
フェース回路149に出力される。次に、ラッチ回路4
534 〜4537 に記憶されているカラーデータpix
12〜pix15が、図22に示す64ビットの転送データ
hrd3 として、図8に示すFIFO回路4102 を介
して、ホストインタフェース回路149に出力される。
【0111】また、次に、図20(E)に示す256ビ
ットのカラーデータmc_0dtr〜mc_7dtr
が、シフト回路4501 に入力され、シフトされずに出
力され、カラーデータpix16〜pix23が、ラッチ回
路4530 〜4537 に書き込まれる。これにより、ラ
ッチ回路4530 〜4537 に、図21(E)の出力用
記憶領域に対応する部分に示されるカラーデータcwd
_b4 が記憶される。
【0112】そして、ラッチ回路4530 〜4533
記憶されているカラーデータpix16〜pix19が、図
22に示す64ビットの転送データhrd4 として、図
8に示すFIFO回路4102 を介して、ホストインタ
フェース回路149に出力される。次に、ラッチ回路4
534 〜4537 に記憶されているカラーデータpix
20〜pix23が、図22に示す64ビットの転送データ
hrd5 として、図8に示すFIFO回路4102 を介
して、ホストインタフェース回路149に出力される。
【0113】また、次に、図20(F)に示す256ビ
ットのカラーデータmc_0dtr〜mc_7dtrが
シフト回路4501 に入力され、シフトされずに、カラ
ーデータpix24,pix25が、ラッチ回路4530
4531 に記憶される。
【0114】次に、図20(G)に示す256ビットの
カラーデータmc_0dtr〜mc_7dtrが、シフ
ト回路4501 に入力され、32ビット単位で、LSB
に向けて「3」だけシフトされ、カラーデータpix26
〜pix28が、ラッチ回路4532 〜4534 に書き込
まれる。
【0115】次に、図20(H)に示す256ビットの
カラーデータmc_0dtr〜mc_7dtrが、シフ
ト回路4501 に入力され、32ビット単位で、MSB
に向けて「5」だけシフトされ、カラーデータpix29
〜pix36のうち、出力用記憶領域に記憶されているカ
ラーデータpix29〜pix31が、ラッチ回路4535
〜4537 に書き込まれるこれにより、ラッチ回路45
0 〜453に、図21(H)の出力用記憶領域に対応
する部分に示されるカラーデータcwd_b7 が記憶さ
れる。
【0116】そして、ラッチ回路4530 〜4533
記憶されているカラーデータpix24〜pix27が、図
22に示す64ビットの転送データhrd6 として、図
8に示すFIFO回路4102 を介して、ホストインタ
フェース回路149に出力される。次に、ラッチ回路4
534 〜4537 に記憶されているカラーデータpix
28〜pix31が、図22に示す64ビットの転送データ
hrd7 として、図8に示すFIFO回路4102 を介
して、ホストインタフェース回路149に出力される。
【0117】次に、シフト回路4501 の内部記憶領域
に記憶されているカラーデータpix32〜pix36が、
32ビット単位で、LSBに向けて「8」だけシフトさ
れた後に、ラッチ回路4530 〜4534 に書き込まれ
る。次に、図20(I)に示すカラーデータmc_0d
tr〜mc_7dtrがシフト回路4501 に入力さ
れ、32ビット単位で、MSBに向けて「5」だけシフ
トされた後に出力され、カラーデータpix37,pix
38が、ラッチ回路4535 ,4536 に書き込まれる。
これにより、ラッチ回路4530 〜4536 に、図21
(I)に示されるカラーデータcwd_b8 が記憶され
る。
【0118】そして、ラッチ回路4530 〜4533
記憶されているカラーデータpix32〜pix35が、図
22に示す64ビットの転送データhrd8 として、図
8に示すFIFO回路4102 を介して、ホストインタ
フェース回路149に出力される。次に、ラッチ回路4
534 〜4536 に記憶されているカラーデータpix
36〜pix38が、図22に示す64ビットの転送データ
hrd9 として、図8に示すFIFO回路4102 を介
して、ホストインタフェース回路149に出力される。
【0119】以上説明したように、図19に示す幅1
3、高さ3、起点座標が(5,5)のDRAM147内
の矩形記憶領域600から読み出したカラーデータpi
0 〜pix38が、図22に示すように、4画素分のカ
ラーデータを含む64ビット幅の転送データhrd0
hrd9 にパッキングされてホストインタフェース回路
149に出力される。
【0120】<「Local to Local」転送
モード>この場合には、DRAM147内の転送元の記
憶領域から代表点座標(sbx,sby)を基準として
読み出した8画素分のカラーデータmc_0dtr〜m
c_7dtrを、書き込み先(転送先)の記憶領域に、
代表点座標(btrx,btry)を基準として書き込
む。このとき、転送元の矩形記憶領域の代表点座標の算
出順番は、前述した「Host to Local」転
送モードのように、一方向ではなく、指定された方向で
行われる。
【0121】以下、代表点座標(sbx,sby)を右
から左、下から上に順に生成して、DRAM147の図
19に示す矩形記憶領域600から読み出したカラーデ
ータpix0 〜pix38を、幅13、高さ3で起点座標
が(10,7)の矩形記憶領域に、代表点座標(btr
x,btry)を右から左、下から上に順に生成して書
き込む場合の動作を説明する。
【0122】先ず、図8に示すアドレス生成部430に
おいて、図19に示す矩形記憶領域600の読み出し動
作を行うために、図23(A)〜(I)に示す代表点座
標(sbx8 ,sby8 )〜(sbx0 ,sby0 )を
含むアドレスADRR2 が、図2に示すディストリビュ
ータ300に順に出力され、アドレスコンバータ310
およびおよびメモリコントローラ350,360,37
0,380の処理を経て、図23(A)〜(I)に示す
カラーデータmc_0dtr〜mc_7dtrが、図2
に示す読み出しコントローラ390から図8に示すデー
タ並べ替え部400のFIFO回路4103 を介してデ
ータ並べ替え回路420に順に出力される。すなわち、
前述した図20に示す場合と比べて代表点座標が逆の順
序で、ディストリビュータ300に出力される。
【0123】次に、図9に示すデータ並べ替え回路42
0では、コントローラ440からの制御信号S4406
に基づいて以下に示す処理が行われる。先ず、図23
(A)に示すカラーデータmc_0dtr〜mc_7d
trが、図9に示すシフト回路4501 において、32
ビット単位でMSBに向けて「1」だけシフトされ、当
該シフト後のカラーデータが図9に示すラッチ回路45
0 〜4537 から図24(A)に示すカラーデータc
wd0 として出力され、カラーデータcwd0 が図8に
示すラッチ回路4104 を介して図2に示すディストリ
ビュータ300に出力される。
【0124】次に、図23(B)に示すカラーデータm
c_0dtr〜mc_7dtrが、図9に示すシフト回
路4501 においてシフトされずに、ラッチ回路453
0 〜4537 に書き込まれた後に、シフト回路4502
に出力され、シフト回路4502 において、32ビット
単位でLSBに向けて「1」だけシフトされ、当該シフ
ト後のカラーデータが、セレクタ4510 〜4517
介して、ラッチ回路4520 〜4527 に書き込まれ
る。そして、ラッチ回路4520 〜4527 から、図2
4(A)に示すカラーデータcwd1 が、図8に示すラ
ッチ回路4104 を介して、ディストリビュータ300
に出力される。
【0125】次に、ラッチ回路4530 〜4537 に記
憶されている図23(B)に示すカラーデータが、さら
に、シフト回路4502 に出力され、シフト回路450
2 において、32ビット単位でMSBに向けて「3」だ
けシフトされ、当該シフト後のカラーデータが、セレク
タ4510 〜4517 を介して、ラッチ回路4520
4527 に書き込まれる。これにより、ラッチ回路45
3 に、カラーデータpix29が記憶される。また、図
23(C)に示すカラーデータmc_0dtr〜mc_
7dtrが、図9に示すシフト回路4501 において、
LSBに向けて「5」だけシフトされ、ラッチ回路45
0 〜4537 に書き込まれる。これにより、ラッチ回
路4530 〜4532 に、カラーデータpix26〜pi
28が記憶される。そして、ラッチ回路4523 ,45
0 〜4532 から、図24(C)に示すカラーデータ
cwd2 が、図8に示すラッチ回路4104 を介して、
ディストリビュータ300に出力される。
【0126】次に、図23(D)に示すカラーデータm
c_0dtr〜mc_7dtrが、図9に示すシフト回
路4501 において、32ビット単位でMSBに向けて
「1」だけシフトされ、当該シフト後のカラーデータが
図9に示すラッチ回路4530 〜4537 から図24
(D)に示すカラーデータcwd3 として出力され、カ
ラーデータcwd3 が図8に示すラッチ回路4104
介して図2に示すディストリビュータ300に出力され
る。
【0127】次に、図23(E)に示すカラーデータm
c_0dtr〜mc_7dtrが、図9に示すシフト回
路4501 においてシフトされずに、ラッチ回路453
0 〜4537 に書き込まれた後に、シフト回路4502
に出力され、シフト回路4502 において、32ビット
単位でLSBに向けて「1」だけシフトされ、当該シフ
ト後のカラーデータが、セレクタ4510 〜4517
介して、ラッチ回路4520 〜4527 に書き込まれ
る。そして、ラッチ回路4520 〜4527 から、図2
4(E)に示すカラーデータcwd4 が、図8に示すラ
ッチ回路4104 を介して、ディストリビュータ300
に出力される。
【0128】次に、ラッチ回路4530 〜4537 に記
憶されている図23(E)に示すカラーデータが、さら
に、シフト回路4502 に出力され、シフト回路450
2 において、32ビット単位でMSBに向けて「3」だ
けシフトされ、当該シフト後のカラーデータが、セレク
タ4510 〜4517 を介して、ラッチ回路4520
4527 に書き込まれる。これにより、ラッチ回路45
3 に、カラーデータpix16が記憶される。また、図
23(F)に示すカラーデータmc_0dtr〜mc_
7dtrが、図9に示すシフト回路4501 において、
LSBに向けて「5」だけシフトされ、ラッチ回路45
0 〜4537 に書き込まれる。これにより、ラッチ回
路4530 〜4532 に、カラーデータpix13〜pi
15が記憶される。そして、ラッチ回路4523 ,45
0 〜4532 から、図24(F)に示すカラーデータ
cwd5 が、図8に示すラッチ回路4104 を介して、
ディストリビュータ300に出力される。
【0129】次に、図23(G)に示すカラーデータm
c_0dtr〜mc_7dtrが、図9に示すシフト回
路4501 において、32ビット単位でMSBに向けて
「1」だけシフトされ、当該シフト後のカラーデータが
図9に示すラッチ回路4530 〜4537 から図24
(G)に示すカラーデータcwd6 として出力され、カ
ラーデータcwd6 が図8に示すラッチ回路4104
介して図2に示すディストリビュータ300に出力され
る。
【0130】次に、図23(H)に示すカラーデータm
c_0dtr〜mc_7dtrが、図9に示すシフト回
路4501 においてシフトされずに、ラッチ回路453
0 〜4537 に書き込まれた後に、シフト回路4502
に出力され、シフト回路4502 において、32ビット
単位でLSBに向けて「1」だけシフトされ、当該シフ
ト後のカラーデータが、セレクタ4510 〜4517
介して、ラッチ回路4520 〜4527 に書き込まれ
る。そして、ラッチ回路4520 〜4527 から、図2
4(H)に示すカラーデータcwd7 が、図8に示すラ
ッチ回路4104 を介して、ディストリビュータ300
に出力される。
【0131】次に、ラッチ回路4530 〜4537 に記
憶されている図23(H)に示すカラーデータが、さら
に、シフト回路4502 に出力され、シフト回路450
2 において、32ビット単位でMSBに向けて「3」だ
けシフトされ、当該シフト後のカラーデータが、セレク
タ4510 〜4517 を介して、ラッチ回路4520
4527 に書き込まれる。これにより、ラッチ回路45
3 に、カラーデータpix3 が記憶される。また、図
23(I)に示すカラーデータmc_0dtr〜mc_
7dtrが、図9に示すシフト回路4501 において、
LSBに向けて「5」だけシフトされ、ラッチ回路45
0 〜4537 に書き込まれる。これにより、ラッチ回
路4530 〜4532 に、カラーデータpix0 〜pi
3 が記憶される。そして、ラッチ回路4523 ,45
0 〜4532 から、図24(I)に示すカラーデータ
cwd8 が、図8に示すラッチ回路4104 を介して、
ディストリビュータ300に出力される。
【0132】また、データ並べ替え部400では、図2
4(A)〜(I)に示されるように、上述したカラーデ
ータcwd0 〜cwd8 に対応する代表点座標(btr
0,btry0 )〜(btrx8 ,btry8 )およ
びバリッドフラグbtrvld0 〜btrvld8 が、
アドレス生成部430において生成される。代表点座標
(btrx0 ,btry0 )〜(btrx8 ,btry
8 )およびバリッドフラグbtrvld0 〜btrvl
8 は、アドレスADRW2 内に含められ、ディストリ
ビュータ300に出力される。
【0133】そして、代表点座標(btrx0 ,btr
0 )〜(btrx8 ,btry8)およびバリッドフ
ラグbtrvld0 〜btrvld8 を基準として、8
画素(X方向)×2画素(Y方向)の16画素を単位と
して、図24(A)〜(I)に示すカラーデータcwd
0 〜cwd8 に含まれるカラーデータpix0 〜pix
38が、DRAM147内の矩形記憶領域700に書き込
まれる。これにより、DRAM147の図19に示す矩
形記憶領域600から読み出したカラーデータpix0
〜pix38が、図25に示す矩形記憶領域に700に転
送される。以上が、図8に示すデータ並べ替え回路42
0およびアドレス生成部430の説明である。
【0134】コントローラ440は、テクスチャエンジ
ン回路143から入力した転送モード指示信号S800
および画素データ長指示信号S801に基づいて、制御
信号S4401 〜S4406 を生成する。コントローラ
440は、FIFO回路4101 〜4103 およびラッ
チ回路4104 をそれぞれ制御する制御信号S4401
〜S4404 を出力する。また、コントローラ440
は、アドレス生成部430を制御する制御信号S440
5 を出力する。また、コントローラ440は、データ並
べ替え回路420を制御する制御信号S4406 を出力
する。
【0135】また、コントローラ440は、FIFO回
路4103 への入力、すなわちDRAM147からのカ
ラーデータmc_0dtr〜mc_7dtrの読み出し
を以下に示すようにして制御する。コントローラ440
は、FIFO回路4103 の記憶領域を監視し、各々6
4ビット幅の16段の記憶回路のうち半分の8段の記憶
回路が空(有効データの未記憶状態)になったことを検
出すると、画素データ長指示信号S801に応じた回数
だけ連続して読み出しを行うことを指示する制御信号S
4405 をアドレス生成部430に出力する。ここで、
1回の読み出しによって、8画素分の256ビットのカ
ラーデータmc_0dtr〜mc_7dtrがDRAM
147から読み出される。
【0136】具体的には、コントローラ440は、画素
データ長指示信号S801が示す画素データ長に応じ
て、図26に示す読み出し指示回数を示す制御信号S4
405をアドレス生成部430に出力する。すなわち、
コントローラ440は、1画素のデータ長が32ビッ
ト、16ビット、8ビットおよび4ビットの場合に、そ
れぞれ2回、4回、8回および16回の読み出し指示回
数を示す制御信号S4405 をアドレス生成部430に
出力する。
【0137】図26に示す読み出し指示回数を示す制御
信号S4405 を出力することで、FIFO回路410
3 の空(未記憶)の8段の記憶回路に、DRAM147
から読み出されたカラーデータmc_0dtr〜mc_
7dtrを記憶させることができる。このとき、FIF
O回路4103 の8段の記憶回路は、8×64ビットの
カラーデータを記憶する。
【0138】すなわち、画素データ長が32ビットの場
合には、1回の読み出し動作で読み出されるカラーデー
タmc_0dtr〜mc_7dtrには、図27(A)
に示すように、32×8ビットのカラーデータが含まれ
ているため、これを2回連続して読み出すことで、32
×8×2(=8×64)ビットの読み出しを行うことが
できる。また、画素データ長が16ビットの場合には、
1回の読み出し動作で読み出されるカラーデータmc_
0dtr〜mc_7dtrには、図27(B)に示すよ
うに、16×8ビットのカラーデータが含まれているた
め、これを4回連続して読み出すことで、16×8×4
(=8×64)ビットの読み出しを行うことができる。
また、画素データ長が8ビットの場合には、1回の読み
出し動作で読み出されるカラーデータmc_0dtr〜
mc_7dtrには、図27(C)に示すように、8×
8ビットのカラーデータが含まれているため、これを8
回連続して読み出すことで、8×8×8(=8×64)
ビットの読み出しを行うことができる。また、画素デー
タ長が4ビットの場合には、1回の読み出し動作で読み
出されるカラーデータmc_0dtr〜mc_7dtr
には、図27(D)に示すように、4×8ビットのカラ
ーデータが含まれているため、これを16回連続して読
み出すことで、4×8×16(=8×64)ビットの読
み出しを行うことができる。
【0139】以上説明したように、コントローラ440
が、FIFO回路4103 の記憶領域を監視し、各々6
4ビット幅の16段の記憶回路のうち半分の8段の記憶
回路が空になったときに、画素データ長指示信号S80
1に応じた回数だけ連続してDRAM147から読み出
しを行うことで、コントローラ440によるFIFO回
路4103 の制御を簡単にでき、コントローラ440の
負担を軽減できる。そのため、コントローラ440が行
うその他の処理が、FIFO回路4103 の制御に待た
される状態を回避できる。すなわち、上述したようなコ
ントローラ440による制御を行っていない一般的な従
来のFIFO回路のでは、例えば、空き(未記憶)状態
の記憶回路が存在する間、メモリからの読み出しを連続
して行い、全ての記憶回路が記憶状態になったときに読
み出しを停止するように入力制御を行う。しかしなが
ら、このように制御を行うと、読み出しを停止したとき
に、1回の読み出しで読み出される8画素分のカラーデ
ータのうち一部のデータのみがFIFO回路に書き込ま
れる状態が発生する。そのため、次に前回と同じ8画素
のカラーデータを読み出し、当該読み出した8画素のカ
ラーデータのうち前回にFIFO回路に書き込まれなか
った画素のカラーデータを特定し、当該特定したカラー
データのみをFIFO回路に書き込むように制御を行う
必要があり、制御が複雑になる。
【0140】CRTコントロール回路145 CRTコントロール回路145は、与えられた水平およ
び垂直同期信号に同期して、図示しないCRTに表示す
るアドレスを発生し、ディスプレイバッファ147bか
ら表示データを読み出す要求をメモリI/F回路144
に出力する。この要求に応じて、メモリI/F回路14
4は、ディスプレイバッファ147bから一定の固まり
で表示データを読み出す。CRTコントローラ回路14
5は、ディスプレイバッファ147bから読み出した表
示データを記憶するFIFO回路を内蔵し、一定の時間
間隔で、RAMDAC回路146に、RGBのインデッ
クス値を出力する。
【0141】RAMDAC回路146 RAMDAC回路146は、各インデックス値に対応す
るR,G,Bデータを記憶しており、CRTコントロー
ラ回路145から入力したRGBのインデックス値に対
応するデジタル形式のR,G,Bデータを、図示しない
D/Aコンバータ(Digital/Analog Converter)に転送
し、アナログ形式のR,G,Bデータを生成する。RA
MDAC回路146は、この生成されたR,G,Bデー
タをCRTに出力する。
【0142】以下、上述した3次元コンピュータグラフ
ィックシステム10の全体動作について説明する。3次
元コンピュータグラフィックシステム10において、グ
ラフィック描画等のデータは、メインプロセッサ11の
メインメモリ12、あるいは外部からのグラフィックス
データを受けるI/Oインタフェース回路13からメイ
ンバス15を介してレンダリング回路14に与えられ
る。なお、必要に応じて、グラフィックス描画等のデー
タは、メインプロセッサ11等において、座標変換、ク
リップ処理、ライティング処理等のジオメトリ処理が行
われる。ジオメトリ処理が終わったグラフィックスデー
タは、三角形の各3頂点の頂点座標x,y,z、輝度値
R,G,B、描画しようとしている画素と対応するテク
スチャ座標s,t,qとからなるポリゴンレンダリング
データS11となる。
【0143】このポリゴンレンダリングデータS11
は、レンダリング回路14のDDAセットアップ回路1
41に入力される。DDAセットアップ回路141にお
いては、ポリゴンレンダリングデータS11に基づい
て、三角形の辺と水平方向の差分などを示す変分データ
S141が生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データS141としてトライアン
グルDDA回路142に出力される。
【0144】トライアングルDDA回路142において
は、変分データS141を用いて、、三角形内部の各画
素における線形補間された(z,R,G,B,s,t,
q)データが算出される。そして、この算出された
(z,R,G,B,s,t,q)データと、三角形の各
頂点の(x,y)データとが、DDAデータS142と
して、トライアングルDDA回路142からテクスチャ
エンジン回路143に出力される。
【0145】テクスチャエンジン回路143において
は、DDAデータS142が示す(s,t,q)データ
について、sデータをqデータで除算する演算と、tデ
ータをqデータで除算する演算とが行われる。そして、
除算結果「s/q」および「t/q」に、それぞれテク
スチャサイズUSIZEおよびVSIZEが乗算され、
テクスチャ座標データ(u,v)が生成される。
【0146】次に、テクスチャエンジン回路143から
メモリI/F回路144に対して、アドレスADRR1
を含む読み出し要求S143が出力され、メモリI/F
回路144を介して、DRAM147(SRAM14
8)に記憶された(R,G,B)データS148が読み
出される。
【0147】次に、テクスチャエンジン回路143にお
いて、読み出した(R,G,B)データS148の
(R,G,B)データと、前段のトライアングルDDA
回路142からのDDAデータS142に含まれる
(R,G,B)データとが掛け合わされ、カラーデータ
S143として生成される。このカラーデータS143
は、テクスチャエンジン回路143からメモリI/F回
路144に出力される。
【0148】フルカラーの場合には、テクスチャバッフ
ァ147aからのデータ(R,G,B)を直接用いれば
よいが、インデックスカラーの場合には、あらかじめ作
成しておいたカラーインデックステーブル(Color Inde
x Table )のデータが、テクスチャCLUT(Color Lo
ok Up Table)バッファ147dより、SRAM等で構成
される一時保管バッファへ転送され、この一時保管バッ
ファのCLUTを用いてカラーインデックスから実際の
R,G,Bカラーが得られる。なお、CULTがSRA
Mで構成された場合は、カラーインデックスをSRAM
のアドレスに入力すると、その出力には実際のR,G,
Bカラーが出てくるといった使い方となる。
【0149】そして、メモリI/F回路144におい
て、テクスチャエンジン回路143から入力したカラー
データS143に対応するzデータと、zバッファ14
7cに記憶されているzデータとの比較が行われ、入力
したカラーデータS12によって描画される画像が、前
回、ディスプレイバッファ21に書き込まれた画像よ
り、手前(視点側)に位置するか否かが判断される。判
断の結果、手前に位置する場合には、画像データS14
3に対応するzデータでzバッファ147cに記憶され
たzデータが更新される。
【0150】次に、メモリI/F回路144において、
(R,G,B)データがディスプレイバッファ147b
に書き込まれる。これら書き込む(更新も含む)べきデ
ータは、書き込み系回路である、図2に示すデータ並べ
替え部400、ディストリビュータ300、アドレスデ
コーダ310,320,330,340を介してメモリ
コントローラ350,360,370,380に供給さ
れ、メモリコントローラ350,360,370,38
0によって、それぞれ書き込み系配線群401W,40
2W,411W,412W,421W,422W,43
1W,432Wを介し所定のメモリに対して並列的に書
き込まれる。
【0151】メモリI/F回路144においては、今か
ら描画しようとしている画素におけるテクスチャアドレ
スに対応したテクスチャを格納しているメモリブロック
がそのテクスチャアドレスにより算出され、そのメモリ
ブロックにのみ読みだし要求が出され、テクスチャデー
タが読み出される。この場合、該当するテクスチャデー
タを保持していないメモリブロックにおいては、テクス
チャ読み出しのためのアクセスが行われないため、描画
により多くのアクセス時間を提供することが可能となっ
ている。
【0152】このとき、メモリI/F回路144におけ
る、テクスチャエンジン回路143からの画像データS
143をDRAM147に書き込む処理は、例えば、図
11〜図18を参照して前述したように、64ビット幅
の転送データhwdを、256ビット幅のカラーデータ
cwdに変換して行われる。
【0153】また、描画においても同様に、今から描画
しようとしている画素アドレスに対応するカラーデータ
を格納しているメモリブロックに対して、該当アドレス
からカラーデータがモディファイ書き込み(Modify Writ
e)を行うために読み出され、モディファイ後、同じアド
レスへ書き戻される。
【0154】隠れ面処理を行う場合には、やはり同じよ
うに今から描画しようとしている画素アドレスに対応す
る奥行きデータを格納しているメモリブロックに対し
て、該当アドレスから奥行きデータがモディファイ書き
込み(Modify Write)を行うために読み出され、必要なら
ばモディファイ後、同じアドレスへ書き戻される。
【0155】このようなメモリI/F回路144に基づ
くDRAM147とのデータのやり取りにおいては、そ
れまでの処理を複数並行処理することで、描画性能を向
上させることができる。特に、トライアングルDDA回
路142とテクスチャエンジン143の部分を並列実行
形式で、同じ回路に設ける(空間並列)か、または、パ
イプラインを細かく挿入する(時間並列)ことで、部分
的に動作周波数を増加させるという手段により、複数画
素の同時算出が行われる。
【0156】また、カラーデータは、メモリI/F回路
144の制御のもと、表示領域において隣接した部分
は、異なるDRAMモジュールとなるように配置され
る。これにより、三角形のような平面を描画する場合に
は面で同時に処理される。このため、それぞれのDRA
Mモジュールの動作確率は非常に高い。
【0157】そして、図示しないCRTに画像を表示す
る場合には、CRTコントロール回路145において、
与えられた水平垂直同期周波数に同期して、表示アドレ
スが発生され、メモリI/F回路144へ表示データ転
送の要求が出される。メモリI/F回路144では、そ
の要求に従い、一定のまとまった固まりで、表示データ
がCRTコントロール回路145に転送される。CRT
コントロール回路145では、図示しないディスプレイ
用FIFO(First In First Out)等にその表示データが
貯えられ、一定の間隔でRAMDAC146へRGBの
インデックス値が転送される。
【0158】また、図1に示すホストインタフェース回
路149を介して、メインプロセッサ11からメモリI
/F回路144に対してDRAM147あるいはSRA
M148に格納されているデータの読み出し要求があっ
た場合、読み出しコントローラ390のアドレスコンバ
ータ391に読み出しアドレスADRR2 が入力され
る。このとき、アドレスコンバータ391ではメモリコ
ントローラ350,360,370,380からのアイ
ドル信号S350,S360,S370,S380をす
べてアクティブで入力された否かのチェックが行われ
る。そして、アイドル信号S350,S360,S37
0,S380がすべてアクティブで入力されると、アイ
ドル信号S350,S360,S370,S380に応
答して、8画素あるいは16画素単位で読み出しを行う
ように、読み出しアドレスおよび読み出し要求信号S3
91が各メモリコントローラ350,360,370,
380に出力される。
【0159】読み出しアドレスおよび読み出し要求信号
S391を受けて、各メモリコントローラ350,36
0,370,380で8画素あるいは16画素単位の、
テクスチャデータ、(R,G,B)データ、zデータお
よびテクスチャカラールックアップテーブルデータが読
み出し系配線群401R,402R,411R,412
R,421R,422R,431R,432Rを介して
並列的に読み出され、さらに読み出し系配線群351,
361,371,381,配線群440を介してデータ
演算部392に入力される。そして、データ演算部39
2で所定の演算処理が行われた後に、データ並べ替え部
400において、256ビット幅のカラーデータmc_
0dtr〜mc_7dtrから64ビット幅の転送デー
タhrdに変換され、要求先、例えばメインプロセッサ
11にホストインタフェース回路149を介して出力さ
れる。
【0160】RAMDAC146においては、RAM内
部にRGBのインデックスに対するRGB値が記憶され
ていて、インデックス値に対するRGB値が図示しない
D/Aコンバータへ転送される。そして、D/Aコンバ
ータでアナログ信号に変換されたRGB信号がCRTへ
転送される。
【0161】以上説明したように、本実施形態によれ
ば、図1に示すホストインタフェース回路149および
テクスチャエンジン回路143と、DRAM147との
間でのデタフォーマットが異なる場合でも、図2に示す
データ並べ替え部400においてデータの並べ替えを行
うことで、テクスチャエンジン回路143およびホスト
インタフェース回路149とDRAM147との間での
データ転送を正確に行うことができる。また、本実施形
態によれな、DRAM147に対してアクセスするアド
レスパターンに制限がある場合でも、データ並べ替え部
400において当該制限を考慮してデータの並べ替えを
行うことで、DRAM147に対してのカラーデータの
書き込みおよび読み出しを正確に行うことができる。
【0162】また、本実施形態によれば、図8に示すデ
ータ並べ替え部400において、コントローラ440
が、FIFO回路4103 の記憶領域を監視し、各々6
4ビット幅の16段の記憶回路のうち半分の8段の記憶
回路が空になったときに、画素データ長指示信号S80
1に応じた回数だけ連続してDRAM147から読み出
しを行うことで、コントローラ440によるFIFO回
路4103 の制御を簡単にでき、コントローラ440の
負担を軽減できる。そのため、コントローラ440が行
うその他の処理が、FIFO回路4103 の制御処理に
よって待たされる状態を回避できる。
【0163】また、本実施形態によれば、DRAM14
7およびSRAM148へのアクセス(書き込みまたは
読み出し)を行うメモリI/F回路144において、書
き込み経路と読み出し経路とを別経路として構成し、書
き込みの場合には書き込みアドレスADRWとカラーデ
ータcwdを書き込み系回路であるデータ並べ替え部4
00、ディストリビュータ300、アドレスコンバータ
310,320,330,340およびメモリコントロ
ーラ350,360,370,380で処理してDRA
M147に書き込み、読み出しの場合には読み出し系回
路であるデータ並べ替え部400、読み出しコントロー
ラ390、メモリコントローラ350,360,37
0,380で処理してDRAM147またはSRAM1
48から読み出すことから、例えば読み出しの割り込み
が入った時等に早いタイミングで切り替えることがで
き、読み出しの際の性能向上を図れる利点がある。
【0164】また、メモリI/F回路144は、所定の
インターリーブ方式のアドレッシングに基づいてDRA
M147へのアクセスを、例えば16画素単位あるいは
8画素単位で行い、アクセスを行う領域に制限を加えて
いることから、ペ−ジ違反を起こさない画像処理装置を
実現できる。
【0165】さらに、本実施形態によれば、半導体チッ
プ内部に内蔵されたDRAM147に、表示データと少
なくとも一つの図形要素が必要とするテクスチャデータ
を記憶させた構成を有することから、表示領域以外の部
分にテクスチャデータを格納できることになり、内蔵D
RAMの有効利用が可能となり、高速処理動作、並びに
低消費電力化を並立させるようにした画像処理装置が実
現可能となる。そして、単一メモリシステムを実現で
き、すべてが内蔵された中だけで処理ができる。その結
果、ア−キテクチャとしても大きなパラダイムシフトと
なる。また、メモリの有効利用ができることで、内部に
持っているDRAMのみでの処理が可能となり、内部に
あるがゆえのメモリと描画システムの間の大きなバンド
幅が、十分に活用可能となる。また、DRAMにおいて
も特殊な処理を組み込むことが可能となる。
【0166】さらに、表示アドレス空間において、隣接
するアドレスにおける表示要素が、それぞれ異なるDR
AMのブロックになるように配置するので、さらにビッ
ト線の有効利用が可能となり、グラフィックス描画にお
けるような、比較的固まった表示領域へのアクセスが多
い場合には、それぞれのモジュ−ルが同時に処理できる
確率が増加し、描画性能の向上が可能となる。
【0167】また、チップ内部にDRAMを内蔵するこ
とで、その高速なインタ−フェ−ス部分がチップの内部
だけで完結することになるため、大きな付加容量のI/
Oバッファであるとか、チップ間配線容量をドライブす
る必要がなくなり、消費電力は内蔵しない場合に比較し
て小さくなる。よって、さまざまな技術を使って、一つ
のチップの中だけですべてができるような仕組みは、今
後の携帯情報端末等の身近なデジタル機器のためには、
必要不可欠な技術要素となっている。
【0168】本発明は上述した実施形態には限定されな
い。例えば、DRAM147に対してのアクセスパター
ンの制限は、上述したものに制限されず、その他のアク
セスパターンの制限がある場合でも、本発明を適用可能
である。また、図8に示すデータ並べ替え部400の構
成や、図9に示すデータ並べ替え回路420の構成も、
これらに限定されるものではない。
【0169】また、図8に示すFIFO回路4101
4103 の段数は任意である。また、コントローラ44
0が、FIFO回路4103 の記憶状態を開始して読み
出し要求を出すタイミングは、空領域が半分になったと
き以外でもよい。
【0170】また、上述した図1に示す3次元コンピュ
ータグラフィックスシステム10では、SRAM148
を用いる構成を例示したが、SRAM148を設けない
構成にしてもよい。
【0171】さらに、図1に示す3次元コンピュータグ
ラフィックスシステム10では、ポリゴンレンダリング
データを生成するジオメトリ処理を、メインプロセッサ
11で行う場合を例示したが、レンダリング回路14で
行う構成にしてもよい。
【0172】
【発明の効果】以上説明したように、本発明の画像処理
装置によれば、記憶回路へのアクセス時のアドレス指定
に制限がある場合でも、画像処理回路と記憶回路の間の
データ送受信を正確に行うことができる。また、本発明
の画像処理装置によれば、記憶回路へのアクセス時のア
ドレス指定に制限がある場合でも、記憶回路の記憶領域
内でのデータ転送を正確に行うことができる。
【図面の簡単な説明】
【図1】本発明に係る3次元コンピュータグラフィック
スシステムの構成を示すブロック図である。
【図2】本発明に係るレンダリング回路におけるDRA
M、SRAM、並びに、DRAMおよびSRAMへアク
セスするメモリI/F回路の具体的な構成例を示すブロ
ック図である。
【図3】本発明に係るDRAMバッファの構成例を示す
概略図である。
【図4】テクスチャデータに含まれる同時にアクセスが
行われるカラーデータを説明するための図である。
【図5】テクスチャデータを構成する単位ブロックを説
明するための図である。
【図6】テクスチャバッファのアドレス空間を説明する
するための図である。
【図7】本発明に係るメモリI/F回路におけるディス
トリビュータの画像データ処理を説明するための図であ
る。
【図8】図8は、図2に示すデータ並べ替え部400の
構成図である。
【図9】図9は、図8に示すデータ並べ替え回路420
の構成図である。
【図10】図10は、図1に示すDRAM内の記憶領域
を示す図である。
【図11】図11は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が32ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図12】図12は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が32ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図13】図13は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が32ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図14】図14は、図13に示すカラーデータを図1
に示すDRAMに書き込む動作を説明するための図であ
る。
【図15】図15は、図13に示すカラーデータを図1
に示すDRAMに書き込む動作を説明するための図であ
る。
【図16】図16は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が16ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図17】図17は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が16ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図18】図18は、図2に示すデータ並べ替え部にお
ける1画素のデータ長が16ビットの場合の「Host
to Local」転送モードの動作を説明するため
の図である。
【図19】図19は、図2に示すデータ並べ替え部にお
ける「Local to Host」転送モードの動作
を説明するための図である。
【図20】図20は、図2に示すデータ並べ替え部にお
ける「Local to Host」転送モードの動作
を説明するための図である。
【図21】図21は、図2に示すデータ並べ替え部にお
ける「Local to Host」転送モードの動作
を説明するための図である。
【図22】図22は、図2に示すデータ並べ替え部にお
ける「Local to Host」転送モードの動作
を説明するための図である。
【図23】図23は、図2に示すデータ並べ替え部にお
ける「Local to Loacl」転送モードの動
作を説明するための図である。
【図24】図24は、図2に示すデータ並べ替え部にお
ける「Local to Local」転送モードの動
作を説明するための図である。
【図25】図25は、図2に示すデータ並べ替え部にお
ける「Local to Local」転送モードの動
作を説明するための図である。
【図26】図26は、図8に示すコントローラからアド
レス生成部に出力する制御信号の読み出し要求に示され
る読み出し指示回数と、1画素のデータ長との関係を説
明するための図である。
【図27】図27は、1画素のデータ長が32ビット、
16ビット、8ビットおよび4ビットの場合における、
1回の読み出し動作によってDRAMから読み出される
カラーデータを説明するための図である。
【図28】3次元コンピュータグラフィックスシステム
の基本的な概念を示すシステム構成図である。
【符号の説明】
10…3次元コンピュータグラフィックスシステム、1
1…メインプロセッサ、12…メインメモリ、13…I
/Oインタフェース回路、14…レンダリング回路、1
41…DDAセットアップ回路、142…トライアング
ルDDA回路、143…テクスチャエンジン回路、14
4…メモリI/F回路、145…CRTコントローラ回
路、146…RAMDAC回路、147…DRAM、1
47a…テクスチャバッファ、147b…ディスプレイ
バッファ、147c…zバッファ、147d…テクスチ
ャCLUTバッファ、148…SRAM、200,21
0,220,230…メモリモジュール、300…ディ
ストリビュータ、310,320,330,340…ア
ドレスデコーダ、350,360,370,380…メ
モリコントローラ、390…読み出しコントローラ、3
91…アドレスデコーダ、392…データ演算処理部、
400…データ並べ替え部、4101 〜4103 …FI
FO回路、4104 …ラッチ回路、420…データ並べ
替え回路、430…アドレス生成部、440…コントロ
ーラ

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】所定の大きさのブロックを単位として画像
    データの書き込みが行われ、記憶領域に規定された2次
    元のアドレス空間における前記ブロックの代表点のアド
    レスの指定に制限がある記憶回路と、 所定の処理を行って画像データを生成する画像処理回路
    と、 前記画像処理回路から入力した画像データを含む前記ブ
    ロックの前記代表点のアドレスを前記制限に基づいて指
    定したときに、前記画像データが前記記憶回路内の所定
    の記憶領域に書き込まれるように、前記画像データを並
    べ替えるデータ並べ替え回路と、 前記並べ替えられた前記画像データを含む前記ブロック
    を、前記記憶回路に書き込む書き込み回路とを有する画
    像処理装置。
  2. 【請求項2】前記記憶回路は、前記2次元のアドレス空
    間内の直交する2方向のそれぞれについて、所定のアド
    レス間隔で前記代表点のアドレスが指定される請求項1
    に記載の画像処理装置。
  3. 【請求項3】前記第1の画像データは、複数の画素デー
    タからなり、 前記データ並べ替え回路は、前記画素データ単位で、前
    記並べ替えを行う請求項1に記載の画像処理装置。
  4. 【請求項4】前記データ並べ替え回路は、 前記画像処理回路から入力した第1のデータ長の第1の
    画像データを第2のデータ長の第2の画像データ内に配
    置し、前記第2の画像データを含む前記ブロックの前記
    代表点のアドレスを前記制限に基づいて指定したとき
    に、前記第1の画像データが前記記憶回路の所定の記憶
    領域に書き込まれるように、前記第2の画像データを並
    べ替え、 前記書き込み回路は、前記並べ替えられた前記第2の画
    像データを含む前記ブロックを、前記記憶回路に書き込
    む請求項3に記載の画像処理装置。
  5. 【請求項5】前記ブロックは矩形であり、前記第2の画
    像データの前記第2のデータ長は前記ブロックの一辺の
    長さと同じであり、前記記憶回路の記憶領域における前
    記ブロックの前記一辺の方向のアドレスをX方向のアド
    レスとし、当該X方向と直交する方向のアドレスをY方
    向のアドレスとした場合に、 前記データ並べ替え回路は、同一の前記第1の画像デー
    タに含まれる複数の画素データのうち、前記所定の記憶
    領域における異なるY方向のアドレスに書き込まれる画
    素データを、相互に異なる前記第2の画像データ内に配
    置する請求項4に記載の画像処理装置。
  6. 【請求項6】前記データ並べ替え回路は、前記ブロック
    内における有効な画素データを特定する有効性指示デー
    タを生成する請求項3に記載の画像処理装置。
  7. 【請求項7】前記書き込み回路は、前記有効性指示デー
    タに基づいて、前記ブロック内の有効性が指示されてい
    る画素データで、前記記憶回路の対応する記憶内容を書
    き換える請求項6に記載の画像処理装置。
  8. 【請求項8】前記記憶回路、前記画像処理回路、前記デ
    ータ並べ替え回路および前記書き込み回路が一つの半導
    体チップ内に混載されている請求項1に記載の画像処理
    装置。
  9. 【請求項9】所定の大きさのブロックを単位として記憶
    領域に記憶された画像データの読み出しが行われ、前記
    記憶領域に規定された2次元のアドレス空間における前
    記ブロックの代表点のアドレスの指定に制限がある記憶
    回路と、 第1のデータ長の第1の画像データを入力し、当該第1
    の画像データを用いた処理を行う画像処理回路と、 前記制限に基づいて代表点を指定して前記ブロック単位
    で前記記憶回路から前記画像データを読み出す読み出し
    回路と、 前記読み出しによって得られた第2のデータ長の第2の
    画像データを並べ替えて生成した前記第1の画像データ
    を前記画像処理回路に出力するデータ並べ替え回路とを
    有する画像処理装置。
  10. 【請求項10】前記記憶回路は、前記2次元のアドレス
    空間内の直交する2方向のそれぞれについて、所定のア
    ドレス間隔で前記代表点のアドレスが指定される請求項
    9に記載の画像処理装置。
  11. 【請求項11】前記第1の画像データおよび前記第2の
    画像データは、複数の画素データからなり、 前記データ並べ替え回路は、前記画素データ単位で、前
    記並べ替えを行う請求項9に記載の画像処理装置。
  12. 【請求項12】前記記憶回路、前記読み出し回路および
    データ並べ替え回路が一つの半導体チップ内に混載され
    ている請求項9に記載の画像処理装置。
  13. 【請求項13】所定の大きさのブロックを単位として記
    憶領域に対しての画像データの読み出しおよび書き込み
    が行われ、前記記憶領域に規定された2次元のアドレス
    空間における前記ブロックの代表点のアドレスの指定に
    制限がある記憶回路と、 前記制限に基づいて代表点を指定して前記ブロックを単
    位として前記記憶回路から前記画像データを読み出す読
    み出し回路と、 前記読み出された画像データを含む前記ブロックの前記
    代表点のアドレスを前記制限に基づいて指定したとき
    に、前記読み出された画像データが前記記憶回路内の所
    定の記憶領域に書き込まれるように、前記読み出された
    画像データを並べ替えるデータ並べ替え回路と、 前記制限に基づいて代表点を指定して、前記並べ替えら
    れた画像データを含む前記ブロックを前記記憶回路に書
    き込む書き込み回路とを有する画像処理装置。
  14. 【請求項14】前記記憶回路は、前記2次元のアドレス
    空間内の直交する2方向のそれぞれについて、所定のア
    ドレス間隔で前記代表点のアドレスが指定される請求項
    13に記載の画像処理装置。
  15. 【請求項15】前記記憶回路は、前記読み出しと前記書
    き込みとで、前記ブロックの大きさおよび前記代表点の
    アドレスの指定の制限が異なる請求項13に記載の画像
    処理装置。
  16. 【請求項16】前記第1の画像データは、複数の画素デ
    ータからなり、 前記データ並べ替え回路は、前記画素データ単位で、前
    記並べ替えを行う請求項13に記載の画像処理装置。
  17. 【請求項17】前記データ並べ替え回路は、書き込みを
    行う前記ブロック内の有効な画素データを特定する有効
    性指示データを生成する請求項16に記載の画像処理装
    置。
  18. 【請求項18】前記書き込み回路は、前記有効性指示デ
    ータに基づいて、前記ブロック内の有効性が指示されて
    いる画素データで、前記記憶回路の対応する記憶内容を
    書き換える請求項17に記載の画像処理装置。
  19. 【請求項19】前記記憶回路、前記読み出し回路、前記
    データ並べ替え回路および前記書き込み回路が一つの半
    導体チップ内に混載されている請求項13に記載の画像
    処理装置。
  20. 【請求項20】単位図形の頂点について、3次元座標
    (x,y,z)、R(赤),G(緑),B(青)デー
    タ、テクスチャ同次座標(s,t)および同次項qを含
    むポリゴンレンダリングデータを用いてレンダリング処
    理を行う画像処理装置であって、 表示データと少なくとも一つの図形要素が必要とするテ
    クスチャデータとを記憶し、所定の大きさのブロックを
    単位として書き込みが行われ、記憶領域に規定された2
    次元のアドレス空間における前記ブロックの代表点のア
    ドレスの指定に制限がある記憶回路と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の補間データを
    生成する補間データ生成回路と、 前記補間データに含まれるテクスチャ同次座標(s,
    t)を同次項qで除算して「s/q」および「t/q」
    を生成し、当該「s/q」および「t/q」に応じたテ
    クスチャアドレスを用いて、前記記憶回路からテクスチ
    ャデータを読み出し、図形要素の表面への前記読み出し
    たテクスチャデータの張り付け処理を行って表示データ
    を生成するテクスチャ処理回路と、 前記テクスチャ処理回路から入力した表示データを含む
    前記ブロックの前記代表点のアドレスを前記制限に基づ
    いて指定したときに、前記表示データが前記記憶回路内
    の所定の記憶領域に書き込まれるように、前記表示デー
    タを並べ替えるデータ並べ替え回路と、 前記並べ替えられた前記表示データを含む前記ブロック
    を、前記記憶回路に書き込む書き込み回路とを有する画
    像処理装置。
  21. 【請求項21】単位図形の頂点について、3次元座標
    (x,y,z)、R(赤),G(緑),B(青)デー
    タ、テクスチャ同次座標(s,t)および同次項qを含
    むポリゴンレンダリングデータを用いてレンダリング処
    理を行う画像処理装置であって、 表示データと少なくとも一つの図形要素が必要とするテ
    クスチャデータとを記憶し、所定の大きさのブロックを
    単位として書き込みが行われ、記憶領域に規定された2
    次元のアドレス空間における前記ブロックの代表点のア
    ドレスの指定に制限がある記憶回路と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の補間データを
    生成する補間データ生成回路と、 前記補間データに含まれるテクスチャ同次座標(s,
    t)を同次項qで除算して「s/q」および「t/q」
    を生成し、当該「s/q」および「t/q」に応じたテ
    クスチャアドレスを用いて前記記憶回路から読み出され
    たテクスチャデータを、図形要素の表面への張り付け処
    理を行って表示データを生成するテクスチャ処理回路
    と、 前記制限に基づいて代表点を指定して前記ブロック単位
    で前記記憶回路から前記テクスチャデータを読み出す読
    み出し回路と、 インタフェース回路と、 前記読み出されたテクスチャデータを、前記インタフェ
    ース回路の出力フォーマットに応じて並べ替えて、前記
    インタフェース回路に出力するデータ並べ替え回路とを
    有する画像処理装置。
JP31813498A 1998-11-09 1998-11-09 画像処理装置 Expired - Fee Related JP4828006B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31813498A JP4828006B2 (ja) 1998-11-09 1998-11-09 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31813498A JP4828006B2 (ja) 1998-11-09 1998-11-09 画像処理装置

Publications (2)

Publication Number Publication Date
JP2000148975A true JP2000148975A (ja) 2000-05-30
JP4828006B2 JP4828006B2 (ja) 2011-11-30

Family

ID=18095891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31813498A Expired - Fee Related JP4828006B2 (ja) 1998-11-09 1998-11-09 画像処理装置

Country Status (1)

Country Link
JP (1) JP4828006B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687916B1 (ko) * 2005-06-08 2007-02-27 삼성전자주식회사 화상을 웹페이지에 게시하기 위한 화상처리장치 및화상처리방법
JP2009301218A (ja) * 2008-06-11 2009-12-24 Nec System Technologies Ltd ベクターイメージ描画装置、ベクターイメージ描画方法およびプログラム
WO2012108411A1 (ja) * 2011-02-10 2012-08-16 日本電気株式会社 符号化/復号化処理プロセッサ、および無線通信装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687916B1 (ko) * 2005-06-08 2007-02-27 삼성전자주식회사 화상을 웹페이지에 게시하기 위한 화상처리장치 및화상처리방법
JP2009301218A (ja) * 2008-06-11 2009-12-24 Nec System Technologies Ltd ベクターイメージ描画装置、ベクターイメージ描画方法およびプログラム
WO2012108411A1 (ja) * 2011-02-10 2012-08-16 日本電気株式会社 符号化/復号化処理プロセッサ、および無線通信装置
US8989242B2 (en) 2011-02-10 2015-03-24 Nec Corporation Encoding/decoding processor and wireless communication apparatus

Also Published As

Publication number Publication date
JP4828006B2 (ja) 2011-11-30

Similar Documents

Publication Publication Date Title
US7027066B2 (en) Graphics plotting apparatus
US6222563B1 (en) Graphic processing apparatus and method
JP4182575B2 (ja) 記憶装置および画像データ処理装置
EP0658858B1 (en) Graphics computer
US6480199B1 (en) Image processing apparatus
US6473091B1 (en) Image processing apparatus and method
JP4828006B2 (ja) 画像処理装置
US7245303B2 (en) Image processing apparatus
EP0940772B1 (en) Image processing apparatus
JP4665268B2 (ja) 画像処理装置
JP4081860B2 (ja) 画像処理装置
US6563507B1 (en) Storage circuit control device and graphic computation device
US7583270B2 (en) Image processing apparatus
JP4232234B2 (ja) 画像処理装置
US6476818B1 (en) Storage circuit control device and graphic computation device
US5255366A (en) Address processing unit for a graphics controller
JPH11272548A (ja) 記憶回路制御装置およびグラフィック演算装置
JP2647073B2 (ja) 図形表示装置
JP2003085038A (ja) 画像処理装置
JP4670887B2 (ja) 画像処理装置
JPH05257793A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090803

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110914

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

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees