JP2003085038A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JP2003085038A
JP2003085038A JP2001270204A JP2001270204A JP2003085038A JP 2003085038 A JP2003085038 A JP 2003085038A JP 2001270204 A JP2001270204 A JP 2001270204A JP 2001270204 A JP2001270204 A JP 2001270204A JP 2003085038 A JP2003085038 A JP 2003085038A
Authority
JP
Japan
Prior art keywords
data
circuit
address
image processing
processing apparatus
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.)
Pending
Application number
JP2001270204A
Other languages
English (en)
Inventor
Atsushi Narita
篤史 成田
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 JP2001270204A priority Critical patent/JP2003085038A/ja
Publication of JP2003085038A publication Critical patent/JP2003085038A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 DRAMなどの記憶回路へのアクセスの高速
化を図れる画像処理装置を提供することを目的とする。 【解決手段】 それぞれ1ページを単位とした画像デー
タを記憶する複数のバッファから構成されるDRAM1
47と、制御信号S410に基づいて、DRAM147
にアクセスするときに用いられるサイズの画像データ全
体が単数の前記バッファに書き込まれるように、前記画
像データの論理アドレスからDRAM147の物理アド
レスを生成し、前記画像データを、DRAM147内の
前記生成された物理アドレスに書き込むメモリI/F回
路144とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理装置に関
し、DRAMなどの記憶回路へのアクセスに特徴を有す
る画像処理装置に関するものである。
【0002】
【従来の技術】種々のCAD(Computer Aided Design)
システムや、アミューズメント装置などにおいて、コン
ピュータグラフィックスがしばしば用いられている。特
に、近年の画像処理技術の進展に伴い、3次元コンピュ
ータグラフィックスを用いたシステムが急速に普及して
いる。このような3次元コンピュータグラフィックス
は、膨大な画像データをリアルタムに処理するため、D
RAMなどの記憶回路に頻繁にアクセスを行う。従来で
は、DRAMへのアクセスは、固定したサイズのページ
を基に行われている。
【0003】
【発明が解決しようとする課題】しかしながら、例え
ば、グラフィック処理において、まとめて処理が行われ
る画像データのサイズが複数ある場合に、DRAMへの
アクセスを固定したサイズのページを基に行うと、まと
めて処理される画像データが複数のページに跨がってD
RAM内に格納されることがあり、ページブレイクが生
じてDRAMへのアクセス時間が長くなるという問題が
ある。また、DRAM内の限られた記憶領域を効率的に
使用することも重要である。
【0004】本発明は上述した従来技術の問題点に鑑み
てなされ、多様なサイズの画像データを扱う場合に、従
来に比べてDRAMへのアクセス時間を短縮することが
できる画像処理装置を提供することを目的とする。
【0005】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の発明の画像処理装置は、それぞれ1ページを単位
とした画像データを記憶する複数のバッファから構成さ
れる記憶回路と、制御信号に基づいて、前記記憶回路に
アクセスするときに用いられるサイズの画像データ全体
が単数の前記バッファに書き込まれるように、前記画像
データの論理アドレスから前記記憶回路内の物理アドレ
スを生成するアドレス生成回路と、前記画像データを、
前記記憶領域内の前記生成された前記物理アドレスに書
き込む書き込み回路とを有する。
【0006】第1の発明の画像処理装置の作用は以下の
ようになる。記憶回路にアクセスする際に、アドレス生
成回路において、制御信号に基づいて、前記記憶回路に
アクセスするときに用いられるサイズの画像データ全体
が単数の前記バッファに書き込まれるように、前記画像
データの論理アドレスから前記記憶回路内の物理アドレ
スが生成される。そして、書き込み回路が、前記画像デ
ータを、前記記憶領域内の前記生成された前記物理アド
レスに書き込む。このように、第1の画像処理装置で
は、アドレス生成回路において、制御信号に基づいて、
前記記憶回路にアクセスするときに用いられるサイズの
画像データ全体が単数の前記バッファに書き込まれるよ
うに、前記画像データの論理アドレスから前記記憶回路
内の物理アドレスを生成することから、画像データのサ
イズに応じて、画像データを記憶回路に記憶する形態を
柔軟に制御できる。そのため、ページブレイクの発生数
を削減し、記憶回路へのアクセス時間を短縮できる。
【0007】また、第1の発明の画像処理装置は、好ま
しくは、前記アドレス生成回路は、前記画像処理装置の
外部から入力された前記制御信号に基づいて、前記物理
アドレスを生成する。また、第1の発明の画像処理装置
は、好ましくは、前記記憶回路は、マトリクス状に配置
された複数の画素の色をそれぞれ示す複数の画素データ
をを同時に書き込み可能であり、前記画像処理装置は、
前記記憶回路に同時に書き込まれる複数の画素データの
それぞれに対応した複数の前記アドレス生成回路を有
し、前記アドレス生成回路は、対応する前記画素データ
を書き込む前記記憶回路の記憶領域内のアドレスを示す
前記物理アドレスを生成し、前記書き込み回路は、前記
複数の画素データを、前記記憶領域内の前記物理アドレ
スにそれぞれ書き込む。
【0008】また、第1の発明の画像処理装置は、好ま
しくは、前記画素データは、前記色を示す色データと、
対応する画素の2次元上のx方向およびy方向の位置を
それぞれ示す第1の位置データおよび第2の位置データ
とを含み、前記アドレス生成回路は、前記第2の位置デ
ータと、前記記憶領域のx方向の幅に応じた幅データと
を乗算する乗算回路と、前記第1の位置データと、前記
乗算回路の乗算結果とを加算して前記書き込みアドレス
を生成する加算回路とを有する。
【0009】また、第2の発明の画像処理装置は、好ま
しくは、立体モデルを複数の単位図形を組み合わせて表
現し、表示装置のマトリクス状に配置された画素毎に色
を示す画素データを生成する画像処理装置において、前
記単位図形の頂点について、R(赤),G(緑),B
(青)データを含むポリゴンレンダリングデータを生成
するポリゴンレンダリングデータ生成回路と、前記単位
図形の頂点のポリゴンレンダリングデータを補間して、
前記単位図形内に位置する画素の画素データを生成する
データ補間回路と、それぞれ1ページを単位として複数
の画素データを記憶する複数のバッファから構成され、
複数の前記画素データの前記R,G,Bデータを同時に
書き込み可能な記憶回路と、制御信号に基づいて、前記
記憶回路にアクセスするときに用いられるサイズの画像
データ全体が単数の前記バッファに書き込まれるよう
に、前記画素データの論理アドレスから前記記憶回路内
の物理アドレスを生成するアドレス生成回路と、前記画
素データを、前記記憶領域内の前記生成された前記物理
アドレスに書き込む書き込み回路とを有する。
【0010】
【発明の実施の形態】以下、任意の3次元物体モデルに
対する所望の3次元画像をCRT(Cathode Ray Tube)な
どのディスプレイ上に高速に表示する3次元コンピュー
タグラフィックスシステムについて説明する。
【0011】図1は、本実施形態の3次元コンピュータ
グラフィックスシステム10のシステム構成図である。
3次元コンピュータグラフィックスシステム10は、立
体モデルを単位図形である三角形(ポリゴン)の組み合
わせとして表現し、このポリゴンを描画することで表示
画面の各画素の色を決定し、ディスプレイに表示するポ
リゴンレンダリング処理を行うシステムである。また、
3次元コンピュータグラフィックスシステム10では、
平面上の位置を表現する(x,y)座標の他に、奥行き
を表すz座標を用いて3次元物体を表し、この(x,
y,z)の3つの座標で3次元空間の任意の一点を特定
する。
【0012】図1に示すように、3次元コンピュータグ
ラフィックスシステム10は、メインプロセッサ11、
メインメモリ12、I/Oインタフェース回路13、お
よびレンダリング回路14が、メインバス15を介して
接続されている。ここで、3次元コンピュータグラフィ
ックスシステム10が第2の発明の画像処理装置に対応
し、レンダリング回路14が第1の発明の画像処理装置
に対応している。また、メインプロセッサ11が第2の
発明の制御回路に対応している。以下、各構成要素の機
能について説明する。
【0013】メインプロセッサ11は、たとえば、アプ
リケーションの進行状況などに応じて、メインメモリ1
2から必要なグラフィックデータを読み出し、このグラ
フィックデータに対してクリッピング(Clipping)処理、
ライティング(Lighting)処理などのジオメトリ(Geometr
y)処理などを行い、ポリゴンレンダリングデータを生成
する。メインプロセッサ11は、ポリゴンレンダリング
データS11を、メインバス15を介してレンダリング
回路14に出力する。また、メインプロセッサ11は、
レンダリング回路14における画像処理を制御し、レン
ダリング回路14の画像処理内容においてメモリI/F
回路144がDRAM147にアクセスするときに用い
る画像データのサイズに応じて、メモリI/F回路14
4がDRAM147にアクセスするときに用いる物理ア
ドレスの生成処理を制御するための制御信号S410を
生成し、制御信号S410をメモリI/F回路144に
出力する。
【0014】I/Oインタフェース回路13は、必要に
応じて、外部から動きの制御情報またはポリゴンレンダ
リングデータなどを入力し、これをメインバス15を介
してレンダリング回路14に出力する。
【0015】ここで、ポリゴンレンダリングデータは、
ポリゴンの各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)を用いて行われ
る。すなわち、ポリゴンレンダリングデータは、三角形
の各頂点の物理座標値と、それぞれの頂点の色とテクス
チャデータである。
【0016】以下、レンダリング回路14について詳細
に説明する。図1に示すように、レンダリング回路14
は、DDA(Digital DifferentialAnarizer) セットア
ップ回路141、トライアングルDDA回路142、テ
クスチャエンジン回路143、メモリインタフェース
(I/F)回路144、CRTコントロール回路14
5、RAMDAC回路146、DRAM147およびS
RAM(Static RAM)148を有する。本実施形態におけ
るレンダリング回路14は、一つの半導体チップ内にロ
ジック回路と少なくとも表示データとテクスチャデータ
とを記憶するDRAM147とが混載されている。ここ
で、メインプロセッサ11が第2の発明のポリゴンレン
ダリングデータ生成回路に対応し、トライアングルDD
A回路142が第2の発明のデータ補間回路に対応し、
メモリI/F回路144が本発明のアドレス生成回路お
よび書き込み回路に対応し、DRAM147が本発明の
記憶回路に対応している。
【0017】DRAM147 DRAM147は、テクスチャバッファ147a、ディ
スプレイバッファ147b、zバッファ147cおよび
テクスチャCLUT(Color Look Up Table) バッファ1
47dとして機能する。
【0018】また、DRAM147には、より多くのテ
クスチャデータを格納するために、インデックスカラー
におけるインデックスと、そのためのカラールックアッ
プテーブル値が、テクスチャCLUTバッファ147d
に格納されている。インデックスおよびカラールックア
ップテーブル値は、テクスチャ処理に使われる。すなわ
ち、通常はR,G,Bそれぞれ8ビットの合計24ビッ
トでテクスチャ要素を表現するが、それではデータ量が
膨らむため、あらかじめ選んでおいたたとえば256色
等の中から一つの色を選んで、そのデータをテクスチャ
処理に使う。このことで256色であればそれぞれのテ
クスチャ要素は8ビットで表現できることになる。イン
デックスから実際のカラーへの変換テーブルは必要にな
るが、テクスチャの解像度が高くなるほど、よりコンパ
クトなテクスチャデータとすることが可能となる。これ
により、テクスチャデータの圧縮が可能となり、内蔵D
RAMの効率良い利用が可能となる。
【0019】さらにDRAM147には、描画と同時並
行的に隠れ面処理を行うため、描画しようとしている物
体の奥行き情報が格納されている。なお、表示データと
奥行きデータおよびテクスチャデータの格納方法として
は、メモリブロックの先頭から連続して表示データが格
納され、次に奥行きデータが格納され、残りの空いた領
域に、テクスチャの種類毎に連続したアドレス空間でテ
クスチャデータが格納される。これにより、テクスチャ
データを効率よく格納できることになる。
【0020】図2は、DRAM147、SRAM14
8、並びに、DRAM147およびSRAM148へア
クセスするメモリI/F回路144の具体的な構成例を
示すブロック図である。
【0021】図2に示すように、図1に示すDRAM1
47およびSRAM148は、4個のメモリモジュール
200,210,220,230に分割されている。
【0022】メモリモジュール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に対しては同時アク
セスが可能である。
【0023】メモリモジュール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に対しては同時アク
セスが可能である。
【0024】メモリモジュール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に対しては同時アク
セスが可能である。
【0025】メモリモジュール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に対しては同時アク
セスが可能である。
【0026】ここで、メモリモジュール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,
201B,202A,202B,211A,211B,
212A,212B,221A,221B,222A,
222B,231A,231B,232A,232Bに
記憶される。これにより、I/F回路144は、DRA
M147に対して、たとえば2×8画素の16画素につ
いてのデータが同時にアクセス可能になる。なお、I/
F回路144は、後述するように、いわゆる所定のイン
ターリーブ方式のアドレッシングに基づいてDRAM1
47へのアクセス(書き込み)を行う。
【0027】なお、バンク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に記憶されているテクスチャデータが記憶
される。
【0028】テクスチャバッファ147aには、同時に
アクセスが行われる画素データからなる単位ブロック
が、一次元のアドレス空間で連続したアドレスを持つよ
うに記憶される。
【0029】以下、DRAM147の機能を説明する。
DRAM147の記憶領域は、例えば、1Mワード(1
ワード=32ビット)の記憶容量を持ち、図3に示すよ
うに、ディスプレイバッファ147b、zバッファ14
7c、テクスチャバッファ147aとして使用される。
なお、DRAM147には、図示はしないが、テクスチ
ャカラーのモードがインダイレクトモードのときに使用
されるカラールックアップテーブル(CLUT)のデー
タを記憶できる。
【0030】また、DRAM147は、図4に示すよう
に、それぞれ2kワードのページ(ロウ)と呼ばれる5
12個の領域から構成される。さらに、1ページは、6
4ワードのブロックと呼ばれる領域を32個集めて構成
され、ディスプレイバッファ147aやzバッファ14
7cはページ単位でバッファを構成するのに対して、テ
クスチャバッファ147bはさらに細かいブロック単位
でバッファを構成できる。従って、ペースポインタは、
ディスプレイバッファ147aおよびzバッファ147
cは2kワードのページ単位で設定するのに対して、テ
クスチャバッファ147aは64ワードのブロック単位
で設定できる。
【0031】以下、ページ、ブロックおよびカラムの概
念についてメモリモジュール200を用いて説明する。
本実施形態では、レンダリング回路14の処理内容に応
じて、メモリI/F回路144からDRAM147への
アクセスにおいて、2つの形式のページ(ロウ)および
カラムを選択的に使用する。 〔第1の形式〕第1の形式では、図5,図6および図7
に示すように、DRAM147の記憶領域において、2
×8画素(ピクセル)の領域でアクセスされたデータ
は、ページ(ロウ)、ブロックおよびカラムと呼ばれる
領域に格納される。各ロウROW0〜ROWn+1 は、図
5に示すように、x方向に64ワード、y方向に32ワ
ードの領域を有し、それぞれx方向に32ワード、y方
向に16ワードの4個の領域M0A,M0B,M1A,
M1Bに区分けされている。領域M0A,M0Bは、例
えば、それぞれ図2に示すメモリモジュール200のメ
モリチップ201のバンク201A,201Bの記憶領
域に対応している。領域M1A,M1Bは、例えば、そ
れぞれ図2に示すメモリモジュール200のメモリチッ
プ202のバンク202A,202Bの記憶領域に対応
している。
【0032】そして、x方向について8画素毎のバウン
ダリ、かつy方向について偶数のバウンダリでの領域で
アクセス(書き込み、読み出し)が行われる。これによ
り、たとえばロウROW0とロウROW1をまたぐよう
な領域へのアクセスが行われることがなく、いわゆるペ
ージ違反が発生することがない。
【0033】また、領域M0A,M0B,M1A,M1
Bは、図6に示すように、それぞれx方向に8ワード、
y方向に8ワードのブロックに区分けされている。ま
た、32ピクセル格納モードでは、図7に示すように、
領域M0A,M0B,M1A,M1Bは、それぞれx方
向に8ワード、y方向に2ワードの32個のカラムから
構成される。
【0034】〔第2の形式〕第2の形式では、図8およ
び図9に示すように、DRAM147の記憶領域におい
て、2×8画素(ピクセル)の領域でアクセスされたデ
ータは、ページ(ロウ)、ブロックおよびカラムと呼ば
れる領域に格納される。各ロウROW0〜ROWn+1
は、図8に示すように、x方向に32ワード、y方向に
64ワードの領域を有し、それぞれx方向に16ワー
ド、y方向に32ワードの4個の領域M0A,M0B,
M1A,M1Bに区分けされている。領域M0A,M0
Bは、例えば、それぞれ図2に示すメモリモジュール2
00のメモリチップ201のバンク201A,201B
の記憶領域に対応している。領域M1A,M1Bは、例
えば、それぞれ図2に示すメモリモジュール200のメ
モリチップ202のバンク202A,202Bの記憶領
域に対応している。
【0035】そして、x方向について8画素毎のバウン
ダリ、かつy方向について偶数のバウンダリでの領域で
アクセス(書き込み、読み出し)が行われる。これによ
り、たとえばロウROW0とロウROW1をまたぐよう
な領域へのアクセスが行われることがなく、いわゆるペ
ージ違反が発生することがない。
【0036】また、32ピクセル格納モードでは、図9
に示すように、領域M0A,M0B,M1A,M1B
は、それぞれx方向に8ワード、y方向に2ワードの3
2個のカラムから構成される。すなわち、領域M0A,
M0B,M1A,M1Bでは、それぞれカラムが2個
(x方向)×16個(y方向)にマトリクス状に配列さ
れている。
【0037】DDAセットアップ回路141 DDAセットアップ回路141は、後段のトライアング
ルDDA回路142において物理座標系上の三角形の各
頂点の値を線形補間して、三角形の内部の各画素の色と
深さ情報を求めるに先立ち、ポリゴンレンダリングデー
タS11が示す(z,R,G,B,α,s,t,q)デ
ータについて、三角形の辺と水平方向の差分などを求め
るセットアップ演算を行う。このセットアップ演算は、
具体的には、開始点の値と終点の値と、開始点と終点と
の距離を用いて、単位長さ移動した場合における、求め
ようとしている値の変分を算出する。DDAセットアッ
プ回路141は、算出した変分データS141をトライ
アングルDDA回路142に出力する。
【0038】トライアングル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をテクスチャエンジ
ン回路143に出力する。
【0039】テクスチャエンジン回路143 テクスチャエンジン回路143は、「s/q」および
「t/q」の算出処理、テクスチャ座標データ(u,
v)の算出処理、テクスチャバッファ147aからの
(R,G,B)データの読み出し処理等をパイプライン
方式で行う。なお、テクスチャエンジン回路143は、
たとえば所定の矩形内に位置する8画素についての処理
を同時に並行して行う。
【0040】テクスチャエンジン回路143は、DDA
データS142が示す(s,t,q)データについて、
sデータをqデータで除算する演算と、tデータをqデ
ータで除算する演算とを行う。テクスチャエンジン回路
143には、たとえば図示しない除算回路が8個設けら
れており、8画素についての除算「s/q」および「t
/q」が同時に行われる。
【0041】また、テクスチャエンジン回路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を得る。ここ
で、SRAM148には、前述したようにテクスチャバ
ッファ147aに格納されているテクスチャデータが記
憶される。テクスチャエンジン回路143は、読み出し
た(R,G,B)データS148の(R,G,B)デー
タと、前段のトライアングルDDA回路142からのD
DAデータS142に含まれる(R,G,B)データと
を、それぞれ掛け合わせるなどして新たな(R,G,
B)データを生成し、この生成した(R,G,B)デー
タと、DDAデータS142に含まれる(x,y,z,
α)データとを格納した画素データS143を生成す
る。テクスチャエンジン回路143は、この画素データ
S143をメモリI/F回路144に出力する。
【0042】なお、テクスチャバッファ147aには、
MIPMAP(複数解像度テクスチャ)などの複数の縮
小率に対応したテクスチャデータが記憶されている。こ
こで、何れの縮小率のテクスチャデータを用いるかは、
所定のアルゴリズムを用いて、前記三角形単位で決定さ
れる。
【0043】テクスチャエンジン回路143は、フルカ
ラー方式の場合には、テクスチャバッファ147aから
読み出した(R,G,B)データを直接用いる。一方、
テクスチャエンジン回路143は、インデックスカラー
方式の場合には、あらかじめ作成したカラールックアッ
プテーブル(CLUT)をテクスチャCLUTバッファ
147dから読み出して、内蔵するSRAMに転送およ
び記憶し、このカラールックアップテーブルを用いて、
テクスチャバッファ147aから読み出したカラーイン
デックスに対応する(R,G,B)データを得る。
【0044】メモリI/F回路144 メモリI/F回路144は、テクスチャエンジン回路1
43から入力した画素データS143に格納されたzデ
ータと、zバッファ147cに記憶されているzデータ
との比較を行い、入力した画素データS143によって
描画される画像が、前回、ディスプレイバッファ147
bに書き込まれた画像より、手前(視点側)に位置する
か否かを判断し、手前に位置する場合には、画素データ
S143に対応するzデータでzバッファ147cに記
憶されたzデータを更新する。また、メモリI/F回路
144は、画素データS143に格納された(R,G,
B)データを、必要に応じてαブレンディング処理を行
った後に、ディスプレイバッファ147bに書き込む。
さらに、メモリI/F回路144は、テクスチャエンジ
ン回路143からのSRAM148に、生成されたテク
スチャ座標データ(u,v)を含む読み出し要求を受け
た場合には、SRAM148に記憶された(R,G,
B)データS148を読み出す。また、メモリI/F回
路144は、CRTコントロール回路145から表示デ
ータを読み出す要求を受けた場合には、この要求に応じ
て、ディスプレイバッファ147bから一定の固まり、
たとえば8画素あるいは16画素単位で表示データを読
み出す。
【0045】このように、メモリI/F回路144は、
DRAM147およびSRAM148へのアクセス(書
き込みまたは読み出し)を行うが、書き込み経路と読み
出し経路とが別経路として構成されている。すなわち、
書き込みの場合には書き込みアドレスADRWと書き込
みデータDTWが書き込み系回路で処理されてDRAM
147に書き込み、読み出しの場合には読み出し系回路
で処理されてDRAM147またはSRAM148から
読み出す。そして、メモリI/F回路144は、所定の
インターリーブ方式のアドレッシングに基づいてDRA
M147へのアクセスを、たとえば16画素単位で行
う。
【0046】以下に、メモリI/F回路144の具体的
な構成例について、図2に関連付けて説明する。
【0047】メモリI/F回路144は、図2に示すよ
うに、ディストリビュータ300、アドレスコンバータ
310,320,330,340、メモリコントローラ
350,360,370,380および読み出しコント
ローラ390を有する。ここで、アドレスコンバータ3
10,320,330,340が本発明のアドレス生成
回路に対応し、メモリコントローラ350,360,3
70,380が本発明の書き込み回路に対応している。
【0048】〔ディストリビュータ300〕ディストリ
ビュータ300は、DRAM147に対して、たとえば
2×8画素の16画素についてのデータが同時にアクセ
ス可能になるようにデータ分配処理を行う。なお、本実
施形態では、x方向について8画素毎のバウンダリ、か
つy方向について偶数のバウンダリでの領域でアクセス
(書き込み、読み出し)を行うようなアドレッシングと
なるように、アドレス生成処理が行われる。
【0049】ディストリビュータ300は、書き込み時
に、図1に示すテクスチャエンジン回路143から、1
6画素分の(R,G,B,α,z)データからなるデー
タDTWと、(x,y)データからなるアドレスADR
RWとを格納した画素データS143を入力する。そし
て、ディストリビュータ300は、16画素分のデータ
DTWを、各々4画素分のデータからなる4つの画素デ
ータS301D,S302D,S303D,S304D
に分割し、これらをそれぞれアドレスコンバータ31
0,320,330,340に出力する。また、ディス
トリビュータ300は、16画素分の書き込みアドレス
ADRRWを、各々4画素分の書き込みアドレスからな
る4つの書き込みアドレスS301A,S302A,S
303A,S304Aに分割し、これらをそれぞれアド
レスコンバータ310,320,330,340に出力
する。ここで、1画素分の(R,G,B,α)データに
含まれるRデータ、Gデータ、Bデータおよびαデータ
は各々8ビット、zデータは32ビットからなる。
【0050】〔アドレスコンバータ310,320,3
30,340〕アドレスコンバータ310,320,3
30,340は、書き込み時に、ディストリビュータ3
00から入力した(R,G,B,α)データおよびzデ
ータの書き込みアドレス(論理アドレス)S301A,
S302A,S303A,S304Aを、それぞれメモ
リモジュール200,210,220,230内のアド
レスである物理アドレスに変換するアドレス変換処理を
行い、それによって得た書き込みアドレス(物理アドレ
ス)S310,S320,S330,S340と、画素
データS301D,S302D,S303D,S304
Dとをそれぞれメモリコントローラ350,360,3
70,380に出力する。ここで、アドレスコンバータ
310,320,330,340におけるアドレス変換
処理は基本的に同じであるため、以下、アドレスコンバ
ータ310において、32個のブロックから1ページが
構成される32ピクセル格納モードを採用した場合を例
示して説明する。
【0051】アドレスコンバータ310は、メインプロ
セッサ11からの制御信号S410に基づいて、前述し
た第1の形式および第2の形式に応じたアドレス変換処
理を選択的に行う。アドレスコンバータ310は、第1
の形式に応じたアドレス変換処理において、例えば、図
2に示すディストリビュータ300から入力した書き込
みアドレスS301Aに含まれるx〔10:6〕データ
およびy〔10:5〕データと、所定の設定レジスタか
らのバッファ幅データbwおよびベースポインタdb
p,zbpを用いて、チップセレクトデータcs、バン
クセレクタデータbs、ディスプレイバッファ147b
のロウアドレスdrowおよびコラムアドレスdco
l、並びにzバッファ147cのロウアドレスzrow
およびコラムアドレスzcolを生成し、これらを含む
書き込みアドレスS310をメモリコントローラ350
に出力する。
【0052】また、アドレスコンバータ310は、第2
の形式に応じたアドレス変換処理において、例えば、図
2に示すディストリビュータ300から入力した書き込
みアドレスS301Aに含まれるx〔10:5〕データ
およびy〔10:6〕データと、所定の設定レジスタか
らのバッファ幅データbwおよびベースポインタdb
p,zbpを用いて、チップセレクトデータcs、バン
クセレクタデータbs、ディスプレイバッファ147b
のロウアドレスdrowおよびコラムアドレスdco
l、並びにzバッファ147cのロウアドレスzrow
およびコラムアドレスzcolを生成し、これらを含む
書き込みアドレスS310をメモリコントローラ350
に出力する。このように、レンダリング回路14では、
メインプロセッサ11からの制御信号S410に基づい
て、画像データのサイズに応じて、論理アドレスを物理
アドレスに変換する。そのため、図5および図8に示す
ページを跨ぐようなDRAM147へのアクセスが頻繁
に発生することを防止でき、メモリI/F回路144に
よるDRAM147へのアクセス時間を短縮できる。
【0053】x〔10:6〕データは、xデータの6〜
10ビット目の合計5ビットからなり、2次元上のx方
向の位置を示し、x〔10:6〕データによって図5に
示す記憶領域のx方向のアドレスを64ワード単位で指
定する。また、x〔10:5〕データは、xデータの5
〜10ビット目の合計6ビットからなる。また、y〔1
0:5〕は、yデータの5〜10ビット目の合計6ビッ
トからなり、2次元上のy方向の位置を示し、y〔1
0:5〕データによって図5に示す記憶領域のy方向の
アドレスを32ワード単位で指定する。また、y〔1
0:6〕は、yデータの6〜10ビット目の合計5ビッ
トからなる。また、バッファ幅データbwは、図5に示
すDRAM147の2次元の記憶領域のx方向の幅(ワ
ード)を示している。ベースポインタdbpは、図3に
示すDRAM147の記憶領域のうちディスプレイバッ
ファ147bとして使用される記憶領域の先頭アドレス
を示している。ベースポインタzbpは、図3に示すD
RAM147の記憶領域のうちzバッファ147cとし
て使用される記憶領域の先頭アドレスを示している。
【0054】また、チップセレクトデータcsは、例え
ば、図2に示すメモリチップ201,202のうち一方
を選択するためのデータである。バンクセレクタデータ
bsは、図2に示す各メモリチップにおいて、バンク
A,Bのうち一方を選択するためのデータである。ディ
スプレイバッファ147bのロウアドレスdrowは、
DRAM147内のページのベースポインタdbpから
のアドレスを示すデータである。また、コラムアドレス
dcolは、DRAM147内のロウアドレスdrow
によって指定されたページ内のコラムについてのロウア
ドレスdrowからのアドレスを示すデータである。z
バッファ147cのロウアドレスzrowは、DRAM
147内のページのベースポインタzbpからのページ
アドレスを示すデータである。また、コラムアドレスz
colは、DRAM147内のロウアドレスzrowに
よって指定されたページ内のコラムについてのロウアド
レスzrowからのアドレスを示すデータである。
【0055】以下、アドレスコンバータ310内の構成
について説明する。図10は、アドレスコンバータ31
0内に組み込まれた1画素分の書き込みアドレスを生成
するアドレス生成ブロック480の構成図である。アド
レスコンバータ310は、4画素について同時処理を行
うため、図10に示すアドレス生成ブロック480を4
個内蔵している。アドレスを生成するアドレス生成ブロ
ック480が、本発明のアドレス生成回路に対応してい
る。
【0056】図10に示すように、アドレス生成ブロッ
ク480は、乗算器500,501および加算器50
2,503を有する。ここで、乗算器500および加算
器502を用いてデータS301D内の画素データのデ
ィスプレイバッファ147bへの書き込みアドレスを算
出し、乗算器501および加算器503を用いてデータ
S301D内のZデータのzバッファ147cへの書き
込みアドレスを算出する。
【0057】本実施形態では、例えば、VHDL(Veril
og Hardware Description Language) などのハードウェ
ア記述言語を用いてメモリI/F回路144の機能を記
述した回路パターン生成用データを作成し、当該回路パ
ターン生成用データから回路パターンを自動生成する。
このとき、回路パターン生成用データにおいて、図10
に示す乗算器500および加算器502を1つのマクロ
セル800として扱い、乗算器501および加算器50
3を1つのマクロセル801として扱う。これにより、
メモリI/F回路144内に組み込まれた複数のアドレ
ス生成ブロック480の設計過程を共有できる共に、乗
算器500および加算器502、並びに乗算器501お
よび加算器503を、それぞれ物理的に近接した位置に
配置した回路構成を実現でき、回路動作を高速にでき
る。
【0058】乗算器500は、制御信号S410によっ
て第1の形式が指定されている場合に、アドレスデータ
yのy〔10:5〕とバッファ幅データbwとを乗算
し、その乗算結果S500を加算器502に出力する。
また、乗算器500は、制御信号S410によって第2
の形式が指定されている場合に、アドレスデータyのy
〔10:6〕とバッファ幅データbwとを乗算し、その
乗算結果S500を加算器502に出力する。
【0059】加算器502は、制御信号S410によっ
て第1の形式が指定されている場合に、乗算結果S50
0と、アドレスデータxのx〔10:6〕と、ベースポ
インタdbpとを加算し、その加算結果を図2に示すア
ドレスS310に含めてメモリコントローラ351に出
力する。このとき、加算器502から出力された加算結
果内の所定ビットによって、ロウアドレスdrow、コ
ラムアドレスdcol、バンクセレクトデータbsおよ
びチップセレクトデータcsが示されている。また、加
算器502は、制御信号S410によって第2の形式が
指定されている場合に、乗算結果S500と、アドレス
データxのx〔10:5〕と、ベースポインタdbpと
を加算し、その加算結果を図2に示すアドレスS310
に含めてメモリコントローラ351に出力する。
【0060】また、乗算器501および加算器503
も、制御信号S410に基づいて所定の演算を行い、そ
の加算結果を図2に示すアドレスS310に含めてメモ
リコントローラ351に出力する。このとき、加算器5
03から出力された加算結果内の所定ビットによって、
ロウアドレスzrowおよびコラムアドレスzcolが
示されている。
【0061】上述したアドレス変換処理において、アド
レス生成ブロック480は、第1の形式が指定された場
合に、以下式(1),(2)に基づいて、ロウアドレス
drowおよびコラムアドレスdcolを算出および生
成し、第2の形式が指定された場合に、以下式(3),
(4)に基づいて、ロウアドレスdrowおよびコラム
アドレスdcolを算出および生成する。
【0062】
【数1】 drow=y〔10:5〕×bw+x〔10:6〕+dbp …(1)
【0063】
【数2】 dcol={y〔3〕,x〔3〕,y〔2:1〕} …(2)
【0064】
【数3】 0 drow=y〔10:6〕×bw+x〔10:5〕+zbp …(3)
【0065】
【数4】 dcol={y〔4〕,x〔3〕,y〔3:1〕} …(4)
【0066】〔メモリコントローラ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に対してのアクセスを制御する。
【0067】具体的には、書き込み時には、メモリコン
トローラ350,360,370,380は、ディスト
リビュータ300から出力され、アドレスコンバータ3
50,360,370,380から入力した4画素分の
(R,G,B,α)データおよびzデータを、書き込み
系配線群401W,402W,411W,412W,4
21W,422W,431W,432Wを介してメモリ
モジュール200,210,220,230に同時に書
き込む。このとき、たとえば、メモリモジュール200
では、前述したように、バンク201A,201B,2
02A,202Bの各々に、1画素分の(R,G,B,
α)データおよびzデータが記憶される。メモリモジュ
ール210,220,230についても同じである。
【0068】また、各メモリコントローラ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に出力する。
【0069】なお、本実施形態では、書き込み系配線群
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ビット)である。
【0070】また、メモリコントローラ350,36
0,370,380は、それぞれアドレスコンバータ3
10,320,330,340から入力した画素データ
S301D,S302D,S303D,S304Dに含
まれる4画素分の(R,G,B,α)データを、それぞ
れ書き込みアドレスS310,S320,S330,S
340が指し示すDRAM147内のアドレスに書き込
む際に、各画素毎に、当該入力した(R,G,B)デー
タと、当該指し示されたアドレスに既に記憶されている
(R,G,B)データとをαデータによって示される混
合比で混合して新たな(R,G,B)データを生成し、
当該生成した(R,G,B)データと、当該入力したα
データとから構成される(R,G,B,α)データを当
該指し示されたDRAM147内のアドレスに書き込
む、いわゆるαブレンディング処理を行う。
【0071】図11は、メモリコントローラ350内の
1画素分のαブレンディング処理を行うαブレンディン
グ処理ブロックの構成図である。図11に示すように、
メモリコントローラ350は、各画素毎にαブレンディ
ング処理ブロック600R,600G,600Bを有
し、これらを4画素分有している。αブレンディング処
理ブロック600R,600G,600Bが、それぞれ
本発明の色データ生成回路に対応している。αブレンデ
ィング処理ブロック600R,600G,600Bは、
それぞれRデータ、GデータおよびBデータについて処
理を行う点を除いて同じである。本実施形態では、例え
ば、VHDLなどのハードウェア記述言語を用いてメモ
リI/F回路144の回路パターンを設計する際に、α
ブレンディング処理ブロック600R,600G,60
0Bをそれぞれマクロセルとして扱う。これにより、メ
モリI/F回路144内に組み込まれたαブレンディン
グ処理ブロック600R,600G,600Bの設計過
程を共有できる共に、αブレンディング処理ブロック6
00R,600G,600Bの各々において構成要素を
物理的に近接した位置に配置でき、回路動作を高速にで
きる。なお、例えば、αブレンディング処理ブロック6
00R,600G,600Bを1つのマクロセルとして
扱って設計を行ってもよい。
【0072】図11において、ソースデータSはアドレ
スコンバータ310から入力した1画素分の(R,G,
B,α)データである。また、デスティネーションデー
タDは、ソースデータSを書き込もうとするDRAM1
47内のアドレスに既に記憶されている1画素分の
(R,G,B,α)データである。
【0073】αブレンディング処理ブロック600R
は、ソースデータSのRデータおよびαデータであるデ
ータSRおよびSαと、デスティネーションデータDの
RデータおよびαデータであるデータDRおよびDα
と、ディザ(Dither)データDITHとを入力する。ディ
ザデータは、データを間引くために用いられる。また、
αブレンディング処理ブロック600Rは、DRAM1
47に書き込むRデータを示すデータWRを生成し、こ
れをクランプブロック650に出力する。
【0074】αブレンディング処理ブロック600G
は、ソースデータSのGデータおよびαデータであるデ
ータSGおよびSαと、デスティネーションデータDの
GデータおよびαデータであるデータDGおよびDα
と、ディザデータDITHとを入力する。また、αブレ
ンディング処理ブロック600Gは、DRAM147に
書き込むRデータを示すデータWGを生成し、これをク
ランプブロック650に出力する。
【0075】αブレンディング処理ブロック600B
は、ソースデータSのBデータおよびαデータであるデ
ータSBおよびSαと、デスティネーションデータDの
BデータおよびαデータであるデータDBおよびDα
と、ディザデータDITHとを入力する。また、αブレ
ンディング処理ブロック600Bは、DRAM147に
書き込むBデータを示すデータWBを生成し、これをク
ランプブロック650に出力する。
【0076】以下、αブレンディング処理ブロック60
0Rについて詳細に説明する。図11に示すように、α
ブレンディング処理ブロック600Rは、マルチプレク
サ610,611,612,613、減算器620、乗
算器630および加算器640,641を有する。
【0077】マルチプレクサ610,611は、データ
SR、データDRおよび論理値「0」を入力し、これら
のうち一つを、図示しない制御データに基づいて選択
し、それぞれデータS610,S611として減算器6
20に出力する。マルチプレクサ612は、データS
R、データDRおよび固定のα値であるFixαを入力
し、これらのうち一つを、図示しない制御データに基づ
いて選択し、データS612として乗算器630に出力
する。マルチプレクサ613は、データSR、データD
Rおよび論理値「0」を入力し、これらのうち一つを、
図示しない制御データに基づいて選択し、それぞれデー
タS613として加算器640に出力する。
【0078】減算器620は、データS610からデー
タS611を減算する減算処理を行い、減算結果を示す
データS620を乗算器630に出力する。乗算器63
0は、データS620とデータS612とを乗算する乗
算処理を行い、乗算結果を示すデータS630を加算器
641に出力する。
【0079】加算器640は、データS613と、ディ
ザデータDITHとを加算する加算処理を行い、加算結
果を示すデータS640を加算器641に出力する。加
算器641は、データS630とデータS640とを加
算する加算処理を行い、加算結果を示すデータWRを加
算器641を後段のクランプブロック650に出力す
る。ここで、データWRは、DRAM147に書き込む
Rデータを示している。
【0080】以下、図11に示すαブレンディング処理
ブロック600Rの動作の一例について説明する。ここ
では、αブレンディング処理ブロック600Rを用い
て、下記式(5)のαブレンディグ処理の演算を行う場
合を例示する。
【0081】
【数5】 WR=(SR−DR)×Dα+DITH …(5)
【0082】この場合には、図示しない制御信号に基づ
いて、マルチプレクサ610においてデータSRが選択
され、マルチプレクサ611においてデータDRが選択
され、マルチプレクサ612においてデータDαが選択
され、マルチプレクサ613において論理値「0」が選
択される。
【0083】次に、減算器620において、データSR
からデータDRが減算され、減算結果「SR−DR」が
乗算器630に出力される。次に、乗算器630におい
て、減算結果「SR−DR」と、データDαとの乗算が
行われ、乗算結果「(SR−DR)×Dα」が加算器6
41に出力される。また、それと並行して、加算器64
0において、論理値「0」と、ディザデータDITHと
の加算が行われ、加算結果「DITH」が加算器641
に出力される。
【0084】次に、加算器641において、乗算結果
「(SR−DR)×Dα」と、加算結果「DITH」と
の加算が行われ、加算結果「(SR−DR)×Dα+D
ITH」が、データWRとしてクランプブロック650
に出力される。
【0085】αブレンディング処理600Gの処理は、
データSG,DGを用いて処理を点を除いて、前述した
αブレンディング処理600Rの処理と同じである。ま
た、αブレンディング処理600Bの処理は、データS
B,DBを用いて処理を点を除いて、前述したαブレン
ディング処理600Rの処理と同じである。
【0086】クランプブロック650は、αブレンディ
ング処理ブロック600R,600G,600Bから入
力したデータWR,WG,WB,Sαに対して32ビッ
ト内にデータ長を調整するために下位数ビットを切り捨
てるクランプ処理を行って32ビットの(R,G,B,
α)データS650を生成する。
【0087】メモリコントローラ350は、アドレスコ
ンバータ310からのアドレスS310によって指定さ
れたDRAM147のディスプレイバッファ147b内
のアドレスに、(R,G,B,α)データS650を書
き込む。また、アドレスコンバータ310からのアドレ
スS310によって指定されたDRAM147のzバッ
ファ147c内のアドレスに、対応するzデータを書き
込む。
【0088】なお、図21に示すディストリビュータ3
00の処理と、アドレスコンバータ310,320,3
30,340の処理と、メモリコントローラ350,3
51,352,353の処理とが、順次にパイプライン
方式で実行される場合には、例えば、図11に示す乗算
器630の内部と、加算器640の入力側とに、それぞ
れタイミング調整用のフリップフロップが配設される。
【0089】〔読み出しコントローラ390〕読み出し
コントローラ390は、アドレスコンバータ391およ
びデータ演算処理部392により構成されている。アド
レスコンバータ391は、読み出しアドレスADRRを
受けた場合、メモリコントローラ350,360,37
0,380からのアイドル信号S350,S360,S
370,S380をすべてアクティブで受けると、この
アイドル信号S350,S360,S370,S380
に応答して、8画素あるいは16画素単位で読み出しを
行うように、読み出しアドレスおよび読み出し要求信号
S391を各メモリコントローラ350,360,37
0,380に出力する。データ演算部392は、読み出
しアドレスおよび読み出し要求信号S391に応答して
を各メモリコントローラ350,360,370,38
0で読み出された8画素あるいは16画素単位の、テク
スチャデータ、(R,G,B)データ、zデータおよび
テクスチャカラールックアップテーブルデータを配線群
440を介して入力し、所定の演算処理を行って、要求
先、たとえばテクスチャエンジン回路143またはCR
Tコントロール回路145に出力する。
【0090】読み出しコントローラ390は、上述した
ように、メモリコントローラ350,360,370,
380のすべてがアイドル状態にあるときに、読み出し
アドレスおよび読み出し要求信号S391をメモリコン
トローラ350,360,370,380に出力に読み
出しデータを受けることから、読み出すデータの同期を
とることができる。したがって、読み出しコントローラ
390は、データを一時的に保持するFIFO(First I
n First Out)回路等の保持回路を設ける必要がなく、回
路規模の縮小化が図られている。
【0091】CRTコントロール回路145 CRTコントロール回路145は、与えられた水平およ
び垂直同期信号に同期して、図示しないCRTに表示す
るアドレスを発生し、ディスプレイバッファ147bか
ら表示データを読み出す要求をメモリI/F回路144
に出力する。この要求に応じて、メモリI/F回路14
4は、ディスプレイバッファ147bから一定の固まり
で表示データを読み出す。CRTコントローラ回路14
5は、ディスプレイバッファ147bから読み出した表
示データを記憶するFIFO回路を内蔵し、一定の時間
間隔で、RAMDAC回路146に、RGBのインデッ
クス値を出力する。
【0092】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に出力する。
【0093】次に、上記構成による動作を説明する。3
次元コンピュータグラフィックスシステム10において
は、グラフィックス描画等のデータは、メインプロセッ
サ11のメインメモリ12、あるいは外部からのグラフ
ィックスデータを受けるI/Oインタフェース回路13
からメインバス15を介してレンダリング回路14に与
えられる。なお、必要に応じて、グラフィックス描画等
のデータは、メインプロセッサ11等において、座標変
換、クリップ処理、ライティング処理等のジオメトリ処
理が行われる。ジオメトリ処理が終わったグラフィック
スデータは、三角形の各3頂点の頂点座標x,y,z、
輝度値R,G,B、描画しようとしている画素と対応す
るテクスチャ座標s,t,qとからなるポリゴンレンダ
リングデータS11となる。
【0094】このポリゴンレンダリングデータS11
は、レンダリング回路14のDDAセットアップ回路1
41に入力される。DDAセットアップ回路141にお
いては、ポリゴンレンダリングデータS11に基づい
て、三角形の辺と水平方向の差分などを示す変分データ
S141が生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データS141としてトライアン
グルDDA回路142に出力される。
【0095】トライアングルDDA回路142において
は、変分データS141を用いて、、三角形内部の各画
素における線形補間された(z,R,G,B,α,s,
t,q)データが算出される。そして、この算出された
(z,R,G,B,α,t,q)データと、三角形の各
頂点の(x,y)データとが、DDAデータS142と
して、トライアングルDDA回路142からテクスチャ
エンジン回路143に出力される。
【0096】テクスチャエンジン回路143において
は、DDAデータS142が示す(s,t,q)データ
について、sデータをqデータで除算する演算と、tデ
ータをqデータで除算する演算とが行われる。そして、
除算結果「s/q」および「t/q」に、それぞれテク
スチャサイズUSIZEおよびVSIZEが乗算され、
テクスチャ座標データ(u,v)が生成される。
【0097】次に、テクスチャエンジン回路143から
メモリI/F回路144に対して生成されたテクスチャ
座標データ(u,v)を含む読み出し要求が出力され、
メモリI/F回路144を介して、SRAM148に記
憶された(R,G,B)データS148が読み出され
る。次に、テクスチャエンジン回路143において、読
み出した(R,G,B)データS148の(R,G,
B)データと、前段のトライアングルDDA回路142
からのDDAデータS142に含まれる(R,G,B)
データとをそれぞれ掛け合わせるなどして新たな(R,
G,B)データが生成され、この生成された(R,G,
B)データと、DDAデータS142に含まれる(x,
y,z,α)データとを格納した画素データS143が
生成される。この画素データS143は、テクスチャエ
ンジン回路143からメモリI/F回路144に出力さ
れる。
【0098】フルカラーの場合には、テクスチャバッフ
ァ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カラーが出てくるといった使い方となる。
【0099】次に、図2示すメモリI/F回路144内
のアドレスコンバータ310,320,330,340
において、前述したように、アドレス変換処理が行わ
れ、16個の画素データについて、書き込みアドレス
(論理アドレス)S301A,S302A,S303
A,S304Aから書き込みアドレス(物理アドレス)
S310,S320,S330,S340が、それぞれ
対応する図10に示すアドレス生成ブロック480を用
いて算出される。そして、メモリI/F回路144にお
いて、テクスチャエンジン回路143から入力した画素
データS143に対応するzデータと、zバッファ14
7c内の上記算出された書き込みアドレスに記憶されて
いるzデータとの比較が行われ、入力した画素データS
12によって描画される画像が、前回、ディスプレイバ
ッファ21に書き込まれた画像より、手前(視点側)に
位置するか否かが判断される。判断の結果、手前に位置
する場合には、画素データS143に含まれるzデータ
でzバッファ147cに記憶されたzデータが更新され
る。
【0100】次に、図2に示すメモリI/F回路144
内のメモリコントローラ350,360,370,38
0において、画素データS143に含まれる(R,G,
B,α)データを用いたαブレンディング処理が行わ
れ、その結果得られた(R,G,B,α)データがディ
スプレイバッファ147bに書き込まれる。これら書き
込む(更新も含む)べきデータは、書き込み系回路であ
る、ディストリビュータ300、アドレスデコーダ31
0,320,330,340を介してメモリコントロー
ラ350,360,370,380に供給され、メモリ
コントローラ350,360,370,380によっ
て、それぞれ書き込み系配線群401W,402W,4
11W,412W,421W,422W,431W,4
32Wを介し所定のメモリに対して並列的に書き込まれ
る。
【0101】このとき、メモリコントローラ350,3
60,370,380は、αブレンディング処理におい
て、それぞれアドレスコンバータ310,320,33
0,340から入力した画素データS301D,S30
2D,S303D,S304Dに含まれる4画素分の
(R,G,B,α)データを、各画素毎に、当該入力し
た(R,G,B)データと、当該指し示されたアドレス
に既に記憶されている(R,G,B)データとをαデー
タによって示される混合比で混合して新たな(R,G,
B)データを生成する。そして、メモリコントローラ3
50,360,370,380は、該生成した(R,
G,B)データと、当該入力したαデータとから構成さ
れる(R,G,B,α)データを当該指し示されたDR
AM147内のアドレスに書き込む。
【0102】また、図示しないCRTに画像を表示する
場合には、CRTコントロール回路145において、与
えられた水平垂直同期周波数に同期して、表示アドレス
が発生され、メモリI/F回路144へ表示データ転送
の要求が出される。メモリI/F回路144では、その
要求に従い、一定のまとまった固まりで、表示データが
CRTコントロール回路145に転送される。CRTコ
ントロール回路145では、図示しないディスプレイ用
FIFO(First In First Out)等にその表示データが貯
えられ、一定の間隔でRAMDAC146へRGBのイ
ンデックス値が転送される。
【0103】以上説明したように、3次元コンピュータ
グラフィックスシステム10によれば、レンダリング回
路14において、メインプロセッサ11からの制御信号
S410に基づいて、画像データのサイズに応じて、論
理アドレスを物理アドレスに変換する。そのため、図5
および図8に示すページを跨ぐようなDRAM147へ
のアクセス(ページブレイク)が頻繁に発生することを
防止でき、メモリI/F回路144によるDRAM14
7へのアクセス時間を短縮できる。また、メインプロセ
ッサ11によって、メモリI/F回路144からDRA
M147へのアクセスに用いるアドレスを柔軟に変更
(プログラム)できる。また、3次元コンピュータグラ
フィックスシステム10によれば、メモリI/F回路1
44において、論理アドレスからDRAM147にアク
セスする物理アドレスを柔軟に生成できるため、DRA
M147に空き領域が小さくなるように、画像データを
効率的に記憶することが可能になる。
【0104】また、3次元コンピュータグラフィックス
システム10によれば、16画素分の画素データについ
ての書き込みアドレスの生成処理を16個の図10に示
すアドレス生成ブロック480を用いて並列に行い、ア
ドレス生成処理の高速化を図る。また、本実施形態によ
れば、図10に示すように、1画素分のアドレス生成ブ
ロック480において、マクロセル800,801を用
いて設計を行うことで、アドレスコンバータ310,3
20,330,340の処理の高速化を図る。また、図
10に示すアドレス生成ブロック480を用いて前述し
たように書き込みアドレスS310,S320,S33
0,S340を生成することで、同時にアクセスする1
6画素分の画素データを、それぞれ異なる16個のバン
ク201A,201B,202A,202B,211
A,211B,212A,212B,221A,221
B,222A,222B,231A,231B,232
A,232Bに割り当てる。その結果、3次元コンピュ
ータグラッックシステム10によれば、16画素分の
(R,G,B,α)データをDRAM147のディスプ
レイバッファ147bに同時に書き込むとができ、処理
速度を向上できる。
【0105】また、本実施形態によれば、図11に示す
ように、各画素データについてのαブレンディング処理
を、Rデータ、GデータおよびBデータについて並列に
行うことで、αブレンディング処理の高速化を図る。ま
た、本実施形態によれば、図11に示すように、1画素
分のαブレンディング処理ブロック600R,600
G,600Bを、それぞれマクロセルを用いて設計を行
うことで、メモリコントローラ350,360,37
0,380におけるαブレンディング処理の処理の高速
化を図る。その結果、3次元コンピュータグラッックシ
ステム10によれば、処理速度を向上できる。
【0106】また、本実施形態では、DRAM147お
よびSRAM148へのアクセス(書き込みまたは読み
出し)を行うメモリI/F回路144において、書き込
み経路と読み出し経路とを別経路として構成し、書き込
みの場合には書き込みアドレスADRWと書き込みデー
タDTWを書き込み系回路であるディストリビュータ3
00、アドレスコンバータ310,320,330,3
40およびメモリコントローラ350,360,37
0,380で処理してDRAM147に書き込み、読み
出しの場合には読み出し系回路である読み出しコントロ
ーラ390、メモリコントローラ350,360,37
0,380で処理してDRAM147またはSRAM1
48から読み出すことから、たとえば読み出しの割り込
みが入った時等に早いタイミングで切り替えることがで
き、読み出しの際の性能向上を図れる。
【0107】さらに、本実施形態によれば、半導体チッ
プ内部に内蔵されたDRAM147に、表示データと少
なくとも一つの図形要素が必要とするテクスチャデータ
を記憶させた構成を有することから、表示領域以外の部
分にテクスチャデータを格納できることになり、内蔵D
RAMの有効利用が可能となり、高速処理動作、並びに
低消費電力化を並立させるようにした画像処理装置が実
現可能となる。そして、単一メモリシステムを実現で
き、すべてが内蔵された中だけで処理ができる。その結
果、アーキテクチャとしても大きなパラダイムシフトと
なる。また、メモリの有効利用ができることで、内部に
持っているDRAMのみでの処理が可能となり、内部に
あるがゆえのメモリと描画システムの間の大きなバンド
幅が、十分に活用可能となる。また、DRAMにおいて
も特殊な処理を組み込むことが可能となる。
【0108】なお、本発明は上述した実施形態には限定
されない。また、上述した図1に示す3次元コンピュー
タグラフィックスシステム10では、SRAM148を
用いる構成を例示したが、SRAM148を設けない構
成にしてもよい。
【0109】さらに、図1に示す3次元コンピュータグ
ラフィックスシステム10では、ポリゴンレンダリング
データを生成するジオメトリ処理を、メインプロセッサ
11で行う場合を例示したが、レンダリング回路14で
行う構成にしてもよい。
【0110】また、上述した実施形態では、16個の画
素データを同時にDRAM147に書き込む場合を例示
したが、同時に書き込みを行う画素データの数は任意で
ある。
【0111】
【発明の効果】以上説明したように、本発明の画像処理
装置によれば、記憶回路へのアクセス時間を従来に比べ
て短縮できる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係る3次元コンピ
ュータグラフィックスシステムの構成を示すブロック図
である。
【図2】図2は、図1に示すメモリI/F回路およびD
RAMの構成を示すブロック図である。
【図3】図3は、図1に示すDRAMの機能を説明する
ための図である。
【図4】図4は、図1に示すDRAMのアドレス空間を
説明するための図である。
【図5】図5は、図1に示すDRAMにおける第1の形
式のページ(ロウ)の概念について説明するための図で
ある。
【図6】図6は、図1に示すDRAMにおける第1の形
式のブロックの概念について説明するための図である。
【図7】図7は、図1に示すDRAMにおける第1の形
式のカラムの概念について説明するための図である。
【図8】図8は、図1に示すDRAMにおける第2の形
式のページ(ロウ)の概念について説明するための図で
ある。
【図9】図9は、図1に示すDRAMにおける第2の形
式のカラムの概念について説明するための図である。
【図10】図10は、図2に示すアドレスコンバータ内
の1画素分のアドレス生成ブロックのブロック図であ
る。
【図11】図11は、図2に示すメモリコントローラの
1画素分のαブレンディング処理ブロックのブロック図
である。
【符号の説明】
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…データ演算処理部

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】それぞれ1ページを単位とした画像データ
    を記憶する複数のバッファから構成される記憶回路と、 制御信号に基づいて、前記記憶回路にアクセスするとき
    に用いられるサイズの画像データ全体が単数の前記バッ
    ファに書き込まれるように、前記画像データの論理アド
    レスから前記記憶回路内の物理アドレスを生成するアド
    レス生成回路と、 前記画像データを、前記記憶領域内の前記生成された前
    記物理アドレスに書き込む書き込み回路とを有する画像
    処理装置。
  2. 【請求項2】前記アドレス生成回路は、前記画像処理装
    置の外部から入力された前記制御信号に基づいて、前記
    物理アドレスを生成する請求項1に記載の画像処理装
    置。
  3. 【請求項3】前記記憶回路は、マトリクス状に配置され
    た複数の画素の色をそれぞれ示す複数の画素データを同
    時に書き込み可能であり、 前記画像処理装置は、 前記記憶回路に同時に書き込まれる複数の画素データの
    それぞれに対応した複数の前記アドレス生成回路を有
    し、 前記アドレス生成回路は、 対応する前記画素データを書き込む前記記憶回路の記憶
    領域内のアドレスを示す前記物理アドレスを生成し、 前記書き込み回路は、 前記複数の画素データを、前記記憶領域内の前記物理ア
    ドレスにそれぞれ書き込む請求項1に記載の画像処理装
    置。
  4. 【請求項4】前記画素データは、前記色を示す色データ
    と、対応する画素の2次元上のx方向およびy方向の位
    置をそれぞれ示す第1の位置データおよび第2の位置デ
    ータとを含み、 前記アドレス生成回路は、 前記第2の位置データと、前記記憶領域のx方向の幅に
    応じた幅データとを乗算する乗算回路と、 前記第1の位置データと、前記乗算回路の乗算結果とを
    加算して前記書き込みアドレスを生成する加算回路とを
    有する請求項3に記載の画像処理装置。
  5. 【請求項5】前記乗算回路および前記加算回路は、前記
    画像処理装置の少なくとも一部の回路の機能をハードウ
    ェア記述言語を用いて記述した回路パターン生成用デー
    タに基づいて、前記少なくとも一部の回路の回路パター
    ンを自動生成した際に、前記回路パターン生成用データ
    において同一のマクロセル内にその機能が記述された請
    求項4に記載の画像処理装置。
  6. 【請求項6】立体モデルを複数の単位図形を組み合わせ
    て表現し、表示装置のマトリクス状に配置された画素毎
    に色を示す画素データを生成する画像処理装置におい
    て、 前記単位図形の頂点について、R(赤),G(緑),B
    (青)データを含むポリゴンレンダリングデータを生成
    するポリゴンレンダリングデータ生成回路と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の画素データを
    生成するデータ補間回路と、 それぞれ1ページを単位として複数の画素データを記憶
    する複数のバッファから構成され、複数の前記画素デー
    タの前記R,G,Bデータを同時に書き込み可能な記憶
    回路と、 制御信号に基づいて、前記記憶回路にアクセスするとき
    に用いられるサイズの画像データ全体が単数の前記バッ
    ファに書き込まれるように、前記画素データの論理アド
    レスから前記記憶回路内の物理アドレスを生成するアド
    レス生成回路と、 前記画素データを、前記記憶領域内の前記生成された前
    記物理アドレスに書き込む書き込み回路とを有する画像
    処理装置。
  7. 【請求項7】所定のプログラムに基づいて、前記制御信
    号を生成する制御回路をさらに有する請求項6に記載の
    画像処理装置。
  8. 【請求項8】前記アドレス生成回路は、前記画像処理装
    置の外部から入力された前記制御信号に基づいて、前記
    物理アドレスを生成する請求項6に記載の画像処理装
    置。
  9. 【請求項9】前記画像処理装置は、 前記記憶回路に同時に書き込まれる複数の画素データの
    それぞれに対応した複数の前記アドレス生成回路を有
    し、 前記アドレス生成回路は、 対応する前記画素データを書き込む前記記憶回路の記憶
    領域内のアドレスを示す前記物理アドレスを生成し、 前記書き込み回路は、 前記複数の画素データを、前記記憶領域内の前記物理ア
    ドレスにそれぞれ書き込む請求項6に記載の画像処理装
    置。
  10. 【請求項10】前記画素データは、前記色を示す色デー
    タと、対応する画素の2次元上のx方向およびy方向の
    位置をそれぞれ示す第1の位置データおよび第2の位置
    データとを含み、 前記アドレス生成回路は、 前記第2の位置データと、前記記憶領域のx方向の幅に
    応じた幅データとを乗算する乗算回路と、 前記第1の位置データと、前記乗算回路の乗算結果とを
    加算して前記書き込みアドレスを生成する加算回路とを
    有する請求項9に記載の画像処理装置。
  11. 【請求項11】前記乗算回路および前記加算回路は、前
    記画像処理装置の少なくとも一部の回路の機能をハード
    ウェア記述言語を用いて記述した回路パターン生成用デ
    ータに基づいて、前記少なくとも一部の回路の回路パタ
    ーンを自動生成した際に、前記回路パターン生成用デー
    タにおいて同一のマクロセル内にその機能が記述された
    請求項10に記載の画像処理装置。
JP2001270204A 2001-09-06 2001-09-06 画像処理装置 Pending JP2003085038A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001270204A JP2003085038A (ja) 2001-09-06 2001-09-06 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001270204A JP2003085038A (ja) 2001-09-06 2001-09-06 画像処理装置

Publications (1)

Publication Number Publication Date
JP2003085038A true JP2003085038A (ja) 2003-03-20

Family

ID=19095888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001270204A Pending JP2003085038A (ja) 2001-09-06 2001-09-06 画像処理装置

Country Status (1)

Country Link
JP (1) JP2003085038A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01293453A (ja) * 1988-05-23 1989-11-27 Matsushita Electric Ind Co Ltd 画像管理方法
JPH11212532A (ja) * 1998-01-29 1999-08-06 Hitachi Ltd 半導体記憶装置
JP2001051668A (ja) * 1999-08-16 2001-02-23 Sony Corp 画像処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01293453A (ja) * 1988-05-23 1989-11-27 Matsushita Electric Ind Co Ltd 画像管理方法
JPH11212532A (ja) * 1998-01-29 1999-08-06 Hitachi Ltd 半導体記憶装置
JP2001051668A (ja) * 1999-08-16 2001-02-23 Sony Corp 画像処理装置

Similar Documents

Publication Publication Date Title
EP0607988A1 (en) Program controlled processor
JP4568950B2 (ja) グラフィックス描画装置
JP4182575B2 (ja) 記憶装置および画像データ処理装置
JPWO2003009125A1 (ja) 演算装置および画像処理装置
US6480199B1 (en) Image processing apparatus
JP4665268B2 (ja) 画像処理装置
JP2000182069A (ja) 画像処理装置およびその方法
JP4314655B2 (ja) 画像処理装置
US7245303B2 (en) Image processing apparatus
JP2003085038A (ja) 画像処理装置
JP4828006B2 (ja) 画像処理装置
JP4081860B2 (ja) 画像処理装置
JP4232234B2 (ja) 画像処理装置
US6476818B1 (en) Storage circuit control device and graphic computation device
JP3741053B2 (ja) 画像処理装置
US7583270B2 (en) Image processing apparatus
JPH11272548A (ja) 記憶回路制御装置およびグラフィック演算装置
JP4580475B2 (ja) 演算処理装置およびグラフィック演算装置
JP4670887B2 (ja) 画像処理装置
JP2001118056A (ja) 画像処理装置
JP2647073B2 (ja) 図形表示装置
JP2007026473A (ja) 描画装置及び描画方法
JPH11288467A (ja) データ転送装置およびグラフィック演算装置
JPH11162157A (ja) メモリ装置および画像生成装置
JP2003022696A (ja) テスト回路および画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111011