JP2003208627A - 画像処理装置およびその方法 - Google Patents
画像処理装置およびその方法Info
- Publication number
- JP2003208627A JP2003208627A JP2002006393A JP2002006393A JP2003208627A JP 2003208627 A JP2003208627 A JP 2003208627A JP 2002006393 A JP2002006393 A JP 2002006393A JP 2002006393 A JP2002006393 A JP 2002006393A JP 2003208627 A JP2003208627 A JP 2003208627A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- area
- charge
- module
- modules
- 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
Links
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
ができ、並列処理できるピクセル数に対する制約を受け
ずに実行効率の高い並列処理を実現でき、ひいては、性
能の向上を図ることができる画像処理装置およびその方
法を提供する。 【解決手段】同じ三角形データを各処理モジュール14
0−0〜140−3に並列に送り、各処理モジュール1
40−0〜140−3は、同一の三角形に関する情報を
受けて、自モジュールの担当領域RGN0〜RGN3に
含まれるか否かを判断し、含まれる場合には入力情報を
DDA回路143−0〜143−3に出力する領域判定
回路142−0〜142−3を有し、自モジュールの担
当する領域RGN0〜RGN3に含まれるピクセルのみ
を描画して対応するメモリモジュール147−0〜14
7−3に送る。
Description
ジュールが処理データを共有して並列処理を行う画像処
理装置およびその方法に関するものである。
ス(3D Computer Graphics)をハ
ードウェアで高速に実行するグラフィックスLSIの普
及は著しく、特にゲーム機やパーソナルコンピュータ
(PC)では、このグラフィックスLSIを標準で搭載
しているものが多い。
な画像処理装置を概念的に示す図である。
2、および複数個(図1の例では4個)のメモリモジュ
ール3−0〜3−3を有している。この画像処理装置1
では、ピクセル発生部2において、単位図形たとえば三
角形プリミティブPMがラスタライズされて複数のピク
セルPXが生成される。そして、生成されたピクセルP
Xが図示しない接続回路を介して複数のメモリモジュー
ル3−0〜3−3に送られる。このとき、生成されたピ
クセルは、ピクセルのXY座標に応じて対応するメモリ
モジュールに送られる。
本的に一つのピクセル発生部2で発生した複数のピクセ
ルをインターリーブされた複数のメモリモジュール3−
0〜3−3に分配する。
クスLSIにおける技術的進歩は早く、「Direct
X」で採用された「Vertex Shader」や
「Pixe1 Shader」に代表される機能面での
拡張が続けられているとともに、CPUを上回るペース
で性能の向上が望まれている。
には、LSIの動作周波数を上げることで一応の対応は
可能である。ところが、上述した画像処理装置1は、1
系統のピクセル発生部2で発生した複数のピクセルを複
数のメモリモジュールに分配する基本構成を有すること
から、LSIの動作周波数を上げるだけでは、満足した
性能を得ることはできない。
には、LSIの動作周波数を上げるだけではなく、並列
処理の手法を利用することが有効である。並列処理の手
法を大別すると以下のようになる。第1は領域分割によ
る並列処理法であり、第2はピクセルレベルでの並列処
理法である。
り、領域分割並列処理の粒度があらく、ピクセルレベル
並列処理の粒度が細かい。それぞれの手法の概要を以下
に述べる。
割し、複数の処理モジュールそれぞれが担当する領域を
割り当てながら並列処理する手法である。
の手法である。図2は、ピクセルレベルでの並列処理の
手法に基づくプリミティブレベルでの並列化処理につい
て概念的に示す図である。図2のように、ピクセルレベ
ルでの並列処理の手法では三角形をラスタライズする際
に、2×8のマトリクス状に配列されたピクセルからな
るピクセルスタンプ(Pixel Stamp)PSと
呼ばれる矩形領域単位にピクセルが生成される。図2の
例では、ピクセルスタンプPS0からからピクセルスタ
ンプPS7までの合計8個のピクセルスタンプが生成さ
れている。これらピクセルスタンプPS0〜PS7に含
まれる最大16個のピクセルが同時に処理される。この
手法は、粒度が細かい分、並列処理の効率が良い。
列処理の場合、各処理モジュールを効率良く並列動作さ
せるためには、各領域に描画されるべきオブジェクトを
あらかじめ分類する必要があり、シーンデータ解析の負
荷が重い。また、1フレーム分のシーンデータが全て揃
った上で描画を開始するのではなく、オブジェクトデー
タが与えられると即描画を開始するいわゆるイミーディ
エートモードでの描画を行う際には並列性を引き出すこ
とができない。
合、グラフィックスで処理されるプリミティブの大きさ
は小さくなる傾向にあることから、ピクセルスタンプの
サイズを大きくしても無効なピクセルが増えるだけで実
行効率が上がらない。したがって、この手法によって並
列処理できるピクセルの数には限界がある。
のであり、その目的、複数の処理モジュールが処理デー
タを共有して並列処理する際に、動作モードにかかわり
なく並列処理を行うことができ、並列処理できるピクセ
ル数に対する制約を受けずに実行効率の高い並列処理を
実現でき、ひいては、性能の向上を図ることができる画
像処理装置およびその方法を提供することにある。
め、本発明の第1の観点は、複数の処理モジュールが処
理データを共有して並列処理を行いメモリに描画する画
像処理装置であって、上記複数の処理モジュールはそれ
ぞれ、描画すべきプリミティブに関する情報を受けて、
プリミティブがあらかじめインターリーブ状に分割され
た自モジュールの担当領域に含まれるか否かを判定する
領域判定回路と、上記領域判定回路により自モジュール
の担当領域に含まれると判定されると、入力情報に基づ
いて担当領域に対する描画処理を行う処理回路とを含
む。
ルの領域判定回路には、描画すべきプリミティブに関す
る同一の情報がブロードキャストされる。
ジュールの領域判定回路には、描画すべき異なるプリミ
ティブに関する情報がそれぞれ供給される。
理モジュールの処理回路は、自モジュールの担当する領
域に含まれるピクセルのみを描画する。
の担当領域は、所定の単位領域を上記処理モジュールの
数だけ分割した各領域がそれぞれ割り当てられ、上記複
数の処理モジュールの処理回路は、複数の単位領域にお
ける担当領域をスキャンしながらピクセルを発生する。
の担当領域は、所定の単位領域を上記処理モジュールの
数だけ分割した各領域がそれぞれ割り当てられ、上記複
数の処理モジュールの処理回路は、複数の単位領域にお
ける担当領域をスキャンし、階層的に分割領域単位で同
時にピクセルを発生する。
リインターリーブされた複数のメモリモジュールを含
み、上記複数の処理モジュールと上記複数のメモリモジ
ュールとが一対一に対応しており、上記複数の処理モジ
ュールの処理回路は、自モジュールの担当する領域に対
する処理結果のみを描画して対応するメモリモジュール
に出力する。
リミティブが自モジュールの担当領域に含まれると判定
した場合には入力情報を上記処理回路に出力し、含まれ
ていないと判定した場合には入力情報を上記処理回路に
出力せず棄てる。
ールが処理データを共有して並列処理を行いメモリに描
画する画像処理方法であって、上記複数の処理モジュー
ルに対してインターリーブ状に分割して自モジュールが
処理する担当領域を割り当ておき、上記複数の処理モジ
ュールに対して描画すべきプリミティブに関する情報を
供給し、各処理モジュールにおいて、プリミティブがあ
らかじめインターリーブ状に分割された自モジュールの
担当領域に含まれるか否かを判定し、自モジュールの担
当領域に含まれると判定した場合に、供給された情報に
基づいて担当領域に対する描画処理を行う。
ルには、描画すべきプリミティブに関する同一の情報を
ブロードキャストする。
ルには、描画すべき異なるプリミティブに関する情報を
それぞれ供給する。
いては、自モジュールの担当する領域に含まれるピクセ
ルのみを描画する。
の担当領域として、所定の単位領域を上記処理モジュー
ルの数だけ分割した各領域をそれぞれ割り当て、上記複
数の処理モジュールにおいては、複数の単位領域におけ
る担当領域をスキャンしながらピクセルを発生する。
の担当領域として、所定の単位領域を上記処理モジュー
ルの数だけ分割した各領域をそれぞれ割り当て、上記複
数の処理モジュールにおいては、複数の単位領域におけ
る担当領域をスキャンし、階層的に分割領域単位で同時
にピクセルを発生する。
数のメモリモジュールにインターリーブして、上記複数
の処理モジュールと上記複数のメモリモジュールとを一
対一に対応させ、上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に対する処理結果のみ
を描画して対応するメモリモジュールに出力する。
ティブに関する情報が各処理モジュールにブロードキャ
ストされる。また、各処理モジュールは、インターリー
ブされた各メモリモジュールと対応付けられる。そし
て、各処理モジュールの領域判定回路において、入力情
報に係るプリミティブがあらかじめインターリーブ状に
分割された自モジュールの担当領域に含まれるか否かの
判定が行われる。各領域判定回路において、プリミティ
ブが自モジュールの担当領域に含まれると判定した場合
には入力情報が自モジュールの処理回路に出力される。
一方、含まれていないと判定した場合には入力情報が処
理回路に出力されず破棄される。そして、描画プリミテ
ィブに関する情報を受けた各処理回路において、たとえ
ば入力情報に基づいて自モジュールの担当する領域に含
まれるピクセルのみが描画されて対応するメモリモジュ
ールに送られる。
ーソナルコンピュータなどに適用される、任意の3次元
物体モデルに対する所望の3次元画像をCRT(Cathode
Ray Tube)などのディスプレイ上に高速に表示する3次
元コンピュータグラフィックスシステムについて説明す
る。
の3次元コンピュータグラフィックスシステム10のシ
ステム構成図である。
ム10は、立体モデルを単位図形である三角形(ポリゴ
ン)の組み合わせとして表現し、このポリゴンを描画す
ることで表示画面の各ピクセルの色を決定し、ディスプ
レイに表示するポリゴンレンダリング処理を行うシステ
ムである。また、3次元コンピュータグラフィックスシ
ステム10では、平面上の位置を表現する(x,y)座
標の他に、奥行きを表すz座標を用いて3次元物体を表
し、この(x,y,z)の3つの座標で3次元空間の任
意の一点を特定する。
ラフィックスシステム10は、メインプロセッサ11、
メインメモリ12、I/Oインタフェース回路13、お
よびレンダリング回路14が、メインバス15を介して
接続されている。以下、各構成要素の機能について説明
する。
リケーションの進行状況などに応じて、メインメモリ1
2から必要なグラフィックデータを読み出し、このグラ
フィックデータに対して、座標変換、クリッピング(Cli
pping)処理、ライティング(Lighting)処理などのジオメ
トリ(Geometry)処理などを行い、ポリゴンレンダリング
データを生成する。メインプロセッサ11は、ポリゴン
レンダリングデータS11を、メインバス15を介して
レンダリング回路14に出力する。
応じて、外部から動きの制御情報またはポリゴンレンダ
リングデータなどを入力し、これをメインバス15を介
してレンダリング回路14に出力する。
ンレンダリングデータは、ポリゴンの各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およびVSI
ZEを乗じて、実際のテクスチャ座標データ(u,v)
が得られる。レンダリング回路14のグラフィックスメ
モリ(具体的にはテクスチャバッファ)に記憶されたテ
クスチャデータへのアクセスは、テクスチャ座標データ
(u,v)を用いて行われる。すなわち、ポリゴンレン
ダリングデータは、三角形の各頂点の物理座標値と、そ
れぞれの頂点の色とテクスチャデータである。
に説明する。
は、線形補間演算のための初期設定演算ブロックとして
のDDA(Digital Differential Anarizer) セットアッ
プ回路141、複数(本実施形態では4)の領域判定回
路142−0〜142−3、線形補間処理ブロックとし
てのトライアングルDDA回路(以下、単にDDA回路
という)143−0〜143−3、テクスチャエンジン
回路144−0〜144−3、メモリインタフェース
(I/F)回路145−0〜145−3、専用メモリI
/F回路146、たとえばDRAMからなるグラフィッ
クスメモリ147、CRTコントロール回路148、セ
ットアップデータ用ブロードキャストバス149、およ
びテクスチャバス150を有している。
は、一つの半導体チップ内にロジック回路と少なくとも
表示データとテクスチャデータとを記憶するグラフィッ
クスメモリ147とが混載されている。
ットアップ回路141の出力に対して複数個、本実施形
態では4個の処理モジュール140−0〜140−3が
ブロードキャストバス149により並列に接続され、複
数の処理モジュール140−0〜140−3で処理デー
タを共有し、各モジュール単位で割り当てられた担当描
画領域を並列に処理する。
各処理モジュール140−0〜140−3に対応して同
一機能を有する複数(本実施形態では4個)のメモリモ
ジュール147−0〜147−3に分割されている。各
処理モジュール140−0〜140−3は、メモリモジ
ュール147−0〜147−3が処理の大きさ、たとえ
ば4×4の矩形領域単位にインターリーブされており、
メモリモジュール147−0と処理モジュール140−
0、メモリモジュール147−1と処理モジュール14
0−1、メモリモジュール147−2と処理モジュール
140−2、およびメモリモジュール147−3と処理
モジュール140−3は、担当領域が1対1に対応して
おり、描画系について他のメモリモジュールに対するメ
モリアクセスが発生しない。
化処理の基本概念を説明するための図である。図5に示
すように、本実施形態では、DDAセットアップ回路1
41による同じ三角形プリミティブに関する情報(トラ
イアングルデータ)をピクセル発生手段としての各処理
モジュール140−0〜140−3に送る。各処理モジ
ュール140−0〜140−3は、上述したように、各
メモリモジュール147−0〜147−3と対応付けら
れており、自モジュールの担当する領域RGN0〜RG
N3に含まれるピクセルのみを描画して対応するメモリ
モジュール147−0〜147−3に送る。各処理モジ
ュール140−0〜140−3の担当領域RGN0〜R
GN3としては、所定の単位領域(本実施形態では16
×16ピクセルの矩形領域)を処理モジュールの数だけ
(本実施形態では4)分割した各領域がそれぞれ割り当
てられる。なお、各処理モジュール140−0〜140
−3は、後述するように、複数の単位領域における担当
領域をスキャンしながらピクセルを発生する。
描画する場合、従来は矩形領域単位でピクセルを生成し
ていたが、本実施形態では、図6(B)〜(E)に示す
ように、自モジュールの担当する領域RGN0〜RGN
3に含まれるピクセルのみを描画して対応するメモリモ
ジュール147−0〜147−3に送る。具体的には、
図6(A)および図6(B)に示すように、領域RGN
0に含まれるピクセルはメモリモジュール147−0に
送る。同様に、図6(A)および図6(C)に示すよう
に、領域RGN1に含まれるピクセルはメモリモジュー
ル147−1に送る。図6(A)および図6(D)に示
すように、領域RGN2に含まれるピクセルはメモリモ
ジュール147−2に送る。図6(A)および図6
(E)に示すように、領域RGN3に含まれるピクセル
はメモリモジュール147−3に送る。
度という観点からはピクセルレベルの並列処理を採用し
ている。そして、ピクセルレベルの並列処理では並列度
に限界があるので、複数のプリミティブを同時に処理す
る。本実施形態では、同一のプリミティブに関して担当
領域を複数の処理モジュール140−0〜140−3に
割り当てて並列に処理する。また、本実施形態では、各
処理モジュール140−0〜140−3とメモリモジュ
ール147−0〜147−3を直結できる処理分配と
し、配線本数を削減し、小型化することができる。その
結果、設計を容易とし、配線コスト、配線遅延を低減し
ている。これにより、本実施形態では、三角形プリミテ
ィブデータはブロードキャスト、ピクセルは1対1の転
送となり、単純なデータ転送を実現している。また、た
とえば巨大なトライアングルが入力された場合であって
も、各処理モジュールで効率の良い並列処理が可能とな
っている。
0−3は、テクスチャリード系に関しては、他の処理モ
ジュールに対するメモリアクセスを必要とする。この場
合は、各処理モジュール140−0〜140−3のテク
スチャエンジン回路144−0〜144−3は、図3に
示すように、テクスチャバス150を介して専用メモリ
I/D回路146と通信してメモリアクセスを行う。
0−0は、領域判定回路142−0、DDA回路143
−0、テクスチャエンジン回路144−0、およびメモ
リI/F回路145−0を有している。そして、DDA
回路143−0、テクスチャエンジン回路144−0、
およびメモリI/F回路145−0により処理回路が構
成される。
域判定回路142−1、DDA回路143−1、テクス
チャエンジン回路144−1、およびメモリI/F回路
145−1を有している。そして、DDA回路143−
1、テクスチャエンジン回路144−1、およびメモリ
I/F回路145−1により処理回路が構成される。処
理モジュール140−2は、領域判定回路142−2、
DDA回路143−2、テクスチャエンジン回路144
−2、およびメモリI/F回路145−2を有してい
る。そして、DDA回路143−2、テクスチャエンジ
ン回路144−2、およびメモリI/F回路145−2
により処理回路が構成される。処理モジュール140−
3は、領域判定回路142−3、DDA回路143−
3、テクスチャエンジン回路144−3、およびメモリ
I/F回路145−3を有している。そして、DDA回
路143−3、テクスチャエンジン回路144−3、お
よびメモリI/F回路145−3により処理回路が構成
される。
の構成および機能について、図面に関連付けて順を追っ
て説明する。
各処理モジュール140−0〜140−3のDDA回路
143−0〜143−34において物理座標系上の三角
形の各頂点の値を線形補間して、三角形の内部の各ピク
セルの色と深さ情報を求めるに先立ち、メインバス15
を介して入力したポリゴンレンダリングデータS11が
示す(z,R,G,B,s,t,q)データについて、
三角形の辺と水平方向の差分などを求めるセットアップ
演算を行う。このセットアップ演算は、具体的には、開
始点の値と終点の値と、開始点と終点との距離を用い
て、単位長さ移動した場合における、求めようとしてい
る値の変分を算出する。DDAセットアップ回路143
は、算出した変分データを含む入力三角形に関する情報
をブロードキャストバス149を通して各処理モジュー
ル140−0〜140−3の領域判定回路142−0〜
142−3に並列に出力する(分配する)。
いて図7に関連付けてさらに説明する。上述したよう
に、DDAセットアップ回路141の主な処理は、前段
のジオメトリ処理を経て物理座標にまで落ちてきた各頂
点における各種情報(色、テクスチャ座標)の与えられ
た三頂点P0(x0,y0)、P1(x1,y1)、P
2(x2,y2)により構成される三角形内部で変分を
求めて、後段の線形補間処理の基礎デ−タを算出するこ
とである。三角形の描画はひとつひとつのピクセルの描
画に集約されるが、そのために描画開始点における最初
の値を求める必要がある。最初の描画点における各種情
報は、頂点からその最初の描画点までの水平距離に水平
方向の変分を掛けた値と、垂直距離に垂直方向の変分を
掛けた値を足し合わせたものとなる。いったん目的の三
角形の内部の一つの整数格子上の値が求まれば、対象の
三角形内部のその他の格子点における値は変分の整数倍
で求めることが可能となる。
x,y座標が16ビット、z座標が24ビット、RGB
カラー値が各12ビット(=8+4)、s,t,qテク
スチャ座標は各32ビット浮動少数値(IEEEフォー
マット)等で構成される。
は、たとえばDSP構造ではなく、ASIC手法により
実装している。具体的には、図8に示すように、多段に
配置したレジスタ1411−1〜1413間に並列に複
数の演算ユニットを並列に配置した演算ユニット群14
12−1〜1412−3を挿入したフルデータパスロジ
ック、換言すれば、同期パイプライン方式の時間並列構
造として構成されている。
142−0は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N0に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−0に出力する。一
方、領域判定回路142−0は、三角形があらかじめ規
定されている自モジュールの担当領域RGN0に含まれ
ていない場合には、入力情報を次段のDDA回路143
−0に出力せずに棄てる。この領域判定回路142−0
は、担当領域RGN0に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
N0は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2マトリクスの左上の領域である。したがっ
て、領域判定回路142−0は、該当する三角形の一部
がこの担当領域RGN0に掛かっている(含まれてい
る)か否かの判定を行う。
2の判定処理を概念的に説明するための図であって、図
10は4並列の場合の例を示し、図11は8並列の場合
の例を示している。
11およびPM12が処理モジュール140−0の担当
領域RGN0に含まれる領域が全くないことから、領域
判定回路142−0は、三角形があらかじめ規定されて
いる自モジュールの担当領域RGN0に含まれていない
ものとして、入力情報を次段のDDA回路143−0に
出力せずに棄てる。
0の領域判定回路142−0の処理を例に示している
が、他の処理モジュール140−1〜140−3の領域
判定回路142−1〜142−3における処理も同様に
行われる。
140−3における領域判定回路142−0〜142−
3の判定処理動作を示すフローチャートである。図12
に示すように、領域判定回路142(−0〜3)は、ま
ず、X方向において開始点座標から終了座標までの間に
担当領域を含むか否かの判定を行う(ST1)。ステッ
プST1において、担当領域を含んでいないと判定した
場合には、領域判定回路142は、Y方向において開始
点座標から終了座標までの間に担当領域を含むか否かの
判定を行う(ST2)。そして、ステップST2におい
て、担当領域を含んでいないと判定した場合には、入力
情報を次段のDDA回路143(−0〜3)に出力せず
に棄てる。一方、ステップST1またはステップST2
において、担当領域を含んでいると判定した場合には、
入力情報を次段のDDA回路143に出力する。
43−0は、領域判定回路142−0から供給された変
分データを用いて、三角形内部の担当領域の各ピクセル
における線形補間された(z,R,G,B,s,t,
q)データを算出する。DDA回路143−0は、各ピ
クセルの(x,y)データと、当該(x,y)座標にお
ける(z,R,G,B,s,t,q)データとを、DD
Aデータ(補間データ)としてテクスチャエンジン回路
144−0に出力する。すなわち、DDA回路143−
0は、パラメータデータに基づいて、たとえば三角形が
自分が担当する領域である場合に、ラスタライゼーショ
ン(Rasterization)を行う。具体的に
は、その三角形が自分が担当する領域の場合に、各種デ
ータ(z、テクスチャ座標、カラーなど)をラスタライ
ズする。この場合、生成単位は、1ローカルモジュール
当たり1サイクルで4×4ピクセルである。
3に関連付けてさらに説明する。上述したように、前段
のDDAセットアップ回路141により、三角形の描画
開始点における最初の値、水平方向(X方向)および垂
直方向(Y方向)における先出の各種情報の傾き情報が
準備される。ここでの基本的処理は、与えられた三角形
の内部に含まれる整数格子上の値を求めることであり、
その処理の実体は描画開始点からの整数距離と傾きの掛
け算ということになる。また、実際には掛け算を行うと
いうより、水平方向(X方向)に1ピクセル進め水平方
向の傾き分を足しこめば1ピクセル進んだ分の値が求め
られるということになる。よって、計算内容としては、
一定値の加算処理となる。
図1に示すように一系列のピクセル生成処理を行う場合
とスキャンの仕方が異なる。たとえば図13(A)に示
すような三角形を描画する場合、従来は矩形領域単位で
ピクセルを生成していた。すなわち、図中、破線で示す
処理開始点からX方向にスキャンしていき、三角形の外
に出たらY方向に移動して再びスキャンを行っていた。
これに対して、本実施形態では、処理開始点から自モジ
ュールの担当領域に移動する。そして、X方向にスキャ
ンする。三角形の外に出たらY方向に移動して再びX方
向にスキャンする。すなわち、担当領域を割り振って並
列処理を行う本実施形態では、スキャン自の移動の幅
が、従来と異なる。処理モジュール140−0のDDA
回路143−0は、上述したように、2×2分割の矩形
領域の左上領域が担当領域である。本例では、図13
(B)に示すように、破線で示す処理開始点が自モジュ
ールの担当領域RGN0であることから、DDA回路1
43−0は、次に、Y方向(図面で上方向)に移動し、
再びX方向(図面で右方向)にスキャンする。
0のDDA回路143−0の処理を例に示しているが、
他の処理モジュール140−1〜140−3のDDA回
路143−1〜143−3における処理も同様に行われ
る。
140−3におけるDDA回路143−0〜143−3
の判定処理動作を示すフローチャートである。図14に
示すように、DDA回路143(−0〜3)は、まず、
処理開始点からX方向およびY方向それぞれについて終
了方向に最も近い担当領域へ移動する(ST11)。次
に、担当領域の中で、三角形(トライアングル)の内部
にある部分についてピクセルを生成する(ST12)。
「s/q」および「t/q」の算出処理、テクスチャ座
標データ(u,v)の算出処理、グラフィックスメモリ
147に含まれるテクスチャバッファからの(R,G,
B)データの読み出し処理等をパイプライン方式で行
う。なお、テクスチャエンジン回路144−0は、他の
処理モジュール140−1〜140−3のテクスチャエ
ンジン回路144−1〜144−3と協働して、たとえ
ば所定の矩形内に位置する8ピクセルについての処理を
同時に並行して行う。テクスチャエンジン回路144−
0は、自モジュールのDDA回路144−0によるDD
Aデータが示す(s,t,q)データについて、sデー
タをqデータで除算する演算と、tデータをqデータで
除算する演算とを行う。また、テクスチャエンジン回路
144−0は、除算結果である「s/q」および「t/
q」に、それぞれテクスチャサイズUSIZEおよびV
SIZEを乗じて、テクスチャ座標データ(u,v)を
生成する。
は、テクスチャバス150、専用メモリI/F回路14
6を介して、グラフィックスメモリ147に、生成した
テクスチャ座標データ(u,v)を含む読み出し要求を
出力し、専用メモリI/F回路146を介して、グラフ
ィックスメモリ147に含まれるテクスチャバッファに
記憶されているテクスチャデータを読み出すことで、
(s,t)データに対応したテクスチャアドレスに記憶
された(R,G,B)データを得る。テクスチャエンジ
ン回路144−0は、読み出した(R,G,B)データ
と、前段のDDA回路143−0からのDDAデータに
含まれる(R,G,B)データとを、それぞれ掛け合わ
せるなどして、ピクセルデータを生成する。テクスチャ
エンジン回路144−0は、このピクセルデータを最終
的にピクセルのカラー値としてメモリI/F回路145
−0に出力する。この場合、テクスチャエンジン回路1
44−0は、読み出されたテクスチャデータと、(u,
v)アドレスは算出時に得た小数部を使って4近傍補間
などのフィルタリング処理を行う。
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−0は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
ャエンジン回路144−0から入力したピクセルデータ
に対応するzデータと、メモリモジュール147−0に
含まれるzバッファに記憶されているzデータとの比較
を行い、入力したピクセルデータによって描画される画
像が、前回、メモリモジュール147−0(ディスプレ
イバッファ)に書き込まれた画像より、手前(視点側)
に位置するか否かを判定し、手前に位置する場合には、
画像データに対応するzデータでzバッファに記憶され
たzデータを更新する。また、メモリI/F回路145
−0は、(R,G,B)データをメモリモジュール14
7−0に書き込む。メモリI/F回路145−0は、今
から描画しようとしているピクセルアドレスに対応する
ピクセルデータを格納しているメモリモジュール147
−0に対して、該当アドレスからピクセルデータをモデ
ィファイ書き込みするために読み出し、モディファイ後
同じアドレスへ書き戻す。隠れ面処理を行なう場合に
は、やはり同じように今から描画しようとしているピク
セルアドレスに対応する奥行きデータを格納しているメ
モリブロックに対して、該当アドレスから奥行きデータ
をモディファイ書き込みするため読み出し、必要ならば
モディファイ後同じアドレスへ書き戻す。また、メモリ
I/F回路145−0は、テクスチャエンジン回路14
4−0により供給されたピクセルレベルの処理結果を受
けて、ピクセルレベルの処理における各種テストをパス
したピクセルデータをメモリモジュール147−0に描
画する。
142−1は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N1に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−1に出力する。一
方、領域判定回路142−1は、三角形があらかじめ規
定されている自モジュールの担当領域RGN1に含まれ
ていない場合には、入力情報を次段のDDA回路143
−1に出力せずに棄てる。この領域判定回路142−1
は、担当領域RGN1に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
N1は、たとえば1処理モジュール当たり1サイクルで
2×2ピクセルの生成単位とすると、図9に示すよう
に、2×2マトリクスの右上の領域である。したがっ
て、領域判定回路142−1は、該当する三角形の一部
がこの担当領域RGN1に掛かっている(含まれてい
る)か否かの判定を行う。
が処理モジュール140−1の担当領域RGN1に含ま
れる領域が全くないことから、領域判定回路142−1
は、三角形PM11があらかじめ規定されている自モジ
ュールの担当領域RGN1に含まれていないものとし
て、入力情報を次段のDDA回路143−1に出力せず
に棄てる。一方、図10の例における三角形PM12
は、処理モジュール140−1の担当領域RGN1に含
まれる領域があることから、領域判定回路142−1
は、三角形PM12があらかじめ規定されている自モジ
ュールの担当領域RGN1に含まれているものとして、
入力情報を次段のDDA回路143−1に出力する。
43−1は、領域判定回路142−1から供給された変
分データを用いて、三角形内部の担当領域の各ピクセル
における線形補間された(z,R,G,B,s,t,
q)データを算出する。DDA回路143−1は、各ピ
クセルの(x,y)データと、当該(x,y)座標にお
ける(z,R,G,B,s,t,q)データとを、DD
Aデータ(補間データ)としてテクスチャエンジン回路
144−1に出力する。すなわち、DDA回路143−
1は、パラメータデータに基づいて、たとえば三角形が
自分が担当する領域である場合に、ラスタライゼーショ
ン(Rasterization)を行う。具体的に
は、その三角形が自分が担当する領域の場合に、各種デ
ータ(z、テクスチャ座標、カラーなど)をラスタライ
ズする。この場合、生成単位は、1ローカルモジュール
当たり1サイクルで4×4ピクセルである。
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−1のDDA回路
143−1は、上述したように、2×2分割の矩形領域
の右上領域が担当領域である。本例では、図13(C)
に示すように、破線で示す処理開始点からX方向にスキ
ャンして自モジュールの担当領域RGN1に移動する。
そして、DDA回路143−1は、次に、Y方向(図面
で上方向)に移動し、再びX方向(図面で右方向)にス
キャンする。
「s/q」および「t/q」の算出処理、テクスチャ座
標データ(u,v)の算出処理、グラフィックスメモリ
147に含まれるテクスチャバッファからの(R,G,
B)データの読み出し処理等をパイプライン方式で行
う。なお、テクスチャエンジン回路144−1は、他の
処理モジュール140−0、140−2〜140−3の
テクスチャエンジン回路144−0、144−2〜14
4−3と協働して、たとえば所定の矩形内に位置する8
ピクセルについての処理を同時に並行して行う。テクス
チャエンジン回路144−1は、自モジュールのDDA
回路144−1によるDDAデータが示す(s,t,
q)データについて、sデータをqデータで除算する演
算と、tデータをqデータで除算する演算とを行う。ま
た、テクスチャエンジン回路144−1は、除算結果で
ある「s/q」および「t/q」に、それぞれテクスチ
ャサイズUSIZEおよびVSIZEを乗じて、テクス
チャ座標データ(u,v)を生成する。
は、テクスチャバス150、専用メモリI/F回路14
6を介して、グラフィックスメモリ147に、生成した
テクスチャ座標データ(u,v)を含む読み出し要求を
出力し、専用メモリI/F回路146を介して、グラフ
ィックスメモリ147に含まれるテクスチャバッファに
記憶されているテクスチャデータを読み出すことで、
(s,t)データに対応したテクスチャアドレスに記憶
された(R,G,B)データを得る。テクスチャエンジ
ン回路144−1は、読み出した(R,G,B)データ
と、前段のDDA回路143−1からのDDAデータに
含まれる(R,G,B)データとを、それぞれ掛け合わ
せるなどして、ピクセルデータを生成する。テクスチャ
エンジン回路144−1は、このピクセルデータを最終
的にピクセルのカラー値としてメモリI/F回路145
−1に出力する。この場合、テクスチャエンジン回路1
44−1は、読み出されたテクスチャデータと、(u,
v)アドレスは算出時に得た小数部を使って4近傍補間
などのフィルタリング処理を行う。
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−1は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
ャエンジン回路144−1から入力したピクセルデータ
に対応するzデータと、メモリモジュール147−1に
含まれるzバッファに記憶されているzデータとの比較
を行い、入力したピクセルデータによって描画される画
像が、前回、メモリモジュール147−1(ディスプレ
イバッファ)に書き込まれた画像より、手前(視点側)
に位置するか否かを判定し、手前に位置する場合には、
画像データに対応するzデータでzバッファに記憶され
たzデータを更新する。また、メモリI/F回路145
−1は、(R,G,B)データをメモリモジュール14
7−1に書き込む。メモリI/F回路145−1は、今
から描画しようとしているピクセルアドレスに対応する
ピクセルデータを格納しているメモリモジュール147
−1に対して、該当アドレスからピクセルデータをモデ
ィファイ書き込みするために読み出し、モディファイ後
同じアドレスへ書き戻す。隠れ面処理を行なう場合に
は、やはり同じように今から描画しようとしているピク
セルアドレスに対応する奥行きデータを格納しているメ
モリブロックに対して、該当アドレスから奥行きデータ
をモディファイ書き込みするため読み出し、必要ならば
モディファイ後同じアドレスへ書き戻す。また、メモリ
I/F回路145−1は、テクスチャエンジン回路14
4−1により供給されたピクセルレベルの処理結果を受
けて、ピクセルレベルの処理における各種テストをパス
したピクセルデータをメモリモジュール147−1に描
画する。
142−2は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N2に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−2に出力する。一
方、領域判定回路142−2は、三角形があらかじめ規
定されている自モジュールの担当領域RGN2に含まれ
ていない場合には、入力情報を次段のDDA回路143
−2に出力せずに棄てる。この領域判定回路142−2
は、担当領域RGN2に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
N2は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2分割の左下の領域である。したがって、領域
判定回路142−2は、該当する三角形の一部がこの担
当領域RGN2に掛かっている(含まれている)か否か
の判定を行う。
が処理モジュール140−2の担当領域RGN2に含ま
れる領域があることから、領域判定回路142−2は、
三角形PM11があらかじめ規定されている自モジュー
ルの担当領域RGN2に含まれているものとして、入力
情報を次段のDDA回路143−2に出力する。一方、
図10の例における三角形PM12は、処理モジュール
140−2の担当領域RGN2に含まれる領域が全くな
いことから、領域判定回路142−2は、三角形PM1
2があらかじめ規定されている自モジュールの担当領域
RGN2に含まれていないものとして、入力情報を次段
のDDA回路143−2に出力せずに棄てる。
43−2は、領域判定回路142−2から供給された変
分データを用いて、三角形内部の担当領域の各ピクセル
における線形補間された(z,R,G,B,s,t,
q)データを算出する。DDA回路143−2は、各ピ
クセルの(x,y)データと、当該(x,y)座標にお
ける(z,R,G,B,s,t,q)データとを、DD
Aデータ(補間データ)としてテクスチャエンジン回路
144−2に出力する。すなわち、DDA回路143−
2は、パラメータデータに基づいて、たとえば三角形が
自分が担当する領域である場合に、ラスタライゼーショ
ン(Rasterization)を行う。具体的に
は、その三角形が自分が担当する領域の場合に、各種デ
ータ(z、テクスチャ座標、カラーなど)をラスタライ
ズする。この場合、生成単位は、1ローカルモジュール
当たり1サイクルで4×4ピクセルである。
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−2のDDA回路
143−2は、上述したように、2×2の矩形領域の左
下領域が担当領域である。本例では、図13(D)に示
すように、破線で示す処理開始点からY方向(図面で上
方向)にスキャンして自モジュールの担当領域RGN2
に移動する。そして、DDA回路143−2は、次に、
X方向(図面で右方向)にスキャンする。
「s/q」および「t/q」の算出処理、テクスチャ座
標データ(u,v)の算出処理、グラフィックスメモリ
147に含まれるテクスチャバッファからの(R,G,
B)データの読み出し処理等をパイプライン方式で行
う。なお、テクスチャエンジン回路144−2は、他の
処理モジュール140−0、140−1、140−3の
テクスチャエンジン回路144−0、144−1、14
4−3と協働して、たとえば所定の矩形内に位置する8
ピクセルについての処理を同時に並行して行う。テクス
チャエンジン回路144−2は、自モジュールのDDA
回路144−2によるDDAデータが示す(s,t,
q)データについて、sデータをqデータで除算する演
算と、tデータをqデータで除算する演算とを行う。ま
た、テクスチャエンジン回路144−2は、除算結果で
ある「s/q」および「t/q」に、それぞれテクスチ
ャサイズUSIZEおよびVSIZEを乗じて、テクス
チャ座標データ(u,v)を生成する。
は、テクスチャバス150、専用メモリI/F回路14
6を介して、グラフィックスメモリ147に、生成した
テクスチャ座標データ(u,v)を含む読み出し要求を
出力し、専用メモリI/F回路146を介して、グラフ
ィックスメモリ147に含まれるテクスチャバッファに
記憶されているテクスチャデータを読み出すことで、
(s,t)データに対応したテクスチャアドレスに記憶
された(R,G,B)データを得る。テクスチャエンジ
ン回路144−2は、読み出した(R,G,B)データ
と、前段のDDA回路143−2からのDDAデータに
含まれる(R,G,B)データとを、それぞれ掛け合わ
せるなどして、ピクセルデータを生成する。テクスチャ
エンジン回路144−2は、このピクセルデータを最終
的にピクセルのカラー値としてメモリI/F回路145
−2に出力する。この場合、テクスチャエンジン回路1
44−2は、読み出されたテクスチャデータと、(u,
v)アドレスは算出時に得た小数部を使って4近傍補間
などのフィルタリング処理を行う。
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−2は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
ャエンジン回路144−2から入力したピクセルデータ
に対応するzデータと、メモリモジュール147−2に
含まれるzバッファに記憶されているzデータとの比較
を行い、入力したピクセルデータによって描画される画
像が、前回、メモリモジュール147−2(ディスプレ
イバッファ)に書き込まれた画像より、手前(視点側)
に位置するか否かを判定し、手前に位置する場合には、
画像データに対応するzデータでzバッファに記憶され
たzデータを更新する。また、メモリI/F回路145
−2は、(R,G,B)データをメモリモジュール14
7−1に書き込む。メモリI/F回路145−2は、今
から描画しようとしているピクセルアドレスに対応する
ピクセルデータを格納しているメモリモジュール147
−2に対して、該当アドレスからピクセルデータをモデ
ィファイ書き込みするために読み出し、モディファイ後
同じアドレスへ書き戻す。隠れ面処理を行なう場合に
は、やはり同じように今から描画しようとしているピク
セルアドレスに対応する奥行きデータを格納しているメ
モリブロックに対して、該当アドレスから奥行きデータ
をモディファイ書き込みするため読み出し、必要ならば
モディファイ後同じアドレスへ書き戻す。また、メモリ
I/F回路145−2は、テクスチャエンジン回路14
4−2により供給されたピクセルレベルの処理結果を受
けて、ピクセルレベルの処理における各種テストをパス
したピクセルデータをメモリモジュール147−2に描
画する。
142−3は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N1に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−3に出力する。一
方、領域判定回路142−3は、三角形があらかじめ規
定されている自モジュールの担当領域RGN3に含まれ
ていない場合には、入力情報を次段のDDA回路143
−3に出力せずに棄てる。この領域判定回路142−3
は、担当領域RGN1に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
N3は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2分割の右下の領域である。したがって、領域
判定回路142−3は、該当する三角形の一部がこの担
当領域RGN3に掛かっている(含まれている)か否か
の判定を行う。
およびPM12は、処理モジュール140−3の担当領
域RGN3に含まれる領域があることから、領域判定回
路142−3は、三角形PM11およびPM12があら
かじめ規定されている自モジュールの担当領域RGN3
に含まれているものとして、入力情報を次段のDDA回
路143−3に出力する。
43−3は、領域判定回路142−3から供給された変
分データを用いて、三角形内部の担当領域の各ピクセル
における線形補間された(z,R,G,B,s,t,
q)データを算出する。DDA回路143−3は、各ピ
クセルの(x,y)データと、当該(x,y)座標にお
ける(z,R,G,B,s,t,q)データとを、DD
Aデータ(補間データ)としてテクスチャエンジン回路
144−3に出力する。すなわち、DDA回路143−
3は、パラメータデータに基づいて、たとえば三角形が
自分が担当する領域である場合に、ラスタライゼーショ
ン(Rasterization)を行う。具体的に
は、その三角形が自分が担当する領域の場合に、各種デ
ータ(z、テクスチャ座標、カラーなど)をラスタライ
ズする。この場合、生成単位は、1ローカルモジュール
当たり1サイクルで4×4ピクセルである。
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−3のDDA回路
143−3は、上述したように、2×2分割の矩形領域
の右下領域が担当領域である。本例では、図13(E)
に示すように、破線で示す処理開始点からX方向にスキ
ャンしてさらにY方向にスキャンして自モジュールの担
当領域RGN3に移動する。そして、DDA回路143
−3は、次に、X方向(図面で右方向)にスキャンす
る。
「s/q」および「t/q」の算出処理、テクスチャ座
標データ(u,v)の算出処理、グラフィックスメモリ
147に含まれるテクスチャバッファからの(R,G,
B)データの読み出し処理等をパイプライン方式で行
う。なお、テクスチャエンジン回路144−3は、他の
処理モジュール140−0〜140−2のテクスチャエ
ンジン回路144−0〜144−2と協働して、たとえ
ば所定の矩形内に位置する8ピクセルについての処理を
同時に並行して行う。テクスチャエンジン回路144−
3は、自モジュールのDDA回路144−3によるDD
Aデータが示す(s,t,q)データについて、sデー
タをqデータで除算する演算と、tデータをqデータで
除算する演算とを行う。また、テクスチャエンジン回路
144−3は、除算結果である「s/q」および「t/
q」に、それぞれテクスチャサイズUSIZEおよびV
SIZEを乗じて、テクスチャ座標データ(u,v)を
生成する。
は、テクスチャバス150、専用メモリI/F回路14
6を介して、グラフィックスメモリ147に、生成した
テクスチャ座標データ(u,v)を含む読み出し要求を
出力し、専用メモリI/F回路146を介して、グラフ
ィックスメモリ147に含まれるテクスチャバッファに
記憶されているテクスチャデータを読み出すことで、
(s,t)データに対応したテクスチャアドレスに記憶
された(R,G,B)データを得る。テクスチャエンジ
ン回路144−3は、読み出した(R,G,B)データ
と、前段のDDA回路143−3からのDDAデータに
含まれる(R,G,B)データとを、それぞれ掛け合わ
せるなどして、ピクセルデータを生成する。テクスチャ
エンジン回路144−3は、このピクセルデータを最終
的にピクセルのカラー値としてメモリI/F回路145
−3に出力する。この場合、テクスチャエンジン回路1
44−3は、読み出されたテクスチャデータと、(u,
v)アドレスは算出時に得た小数部を使って4近傍補間
などのフィルタリング処理を行う。
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−3は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
ャエンジン回路144−3から入力したピクセルデータ
に対応するzデータと、メモリモジュール147−3に
含まれるzバッファに記憶されているzデータとの比較
を行い、入力したピクセルデータによって描画される画
像が、前回、メモリモジュール147−3(ディスプレ
イバッファ)に書き込まれた画像より、手前(視点側)
に位置するか否かを判定し、手前に位置する場合には、
画像データに対応するzデータでzバッファに記憶され
たzデータを更新する。また、メモリI/F回路145
−3は、(R,G,B)データをメモリモジュール14
7−3に書き込む。メモリI/F回路145−3は、今
から描画しようとしているピクセルアドレスに対応する
ピクセルデータを格納しているメモリモジュール147
−3に対して、該当アドレスからピクセルデータをモデ
ィファイ書き込みするために読み出し、モディファイ後
同じアドレスへ書き戻す。隠れ面処理を行なう場合に
は、やはり同じように今から描画しようとしているピク
セルアドレスに対応する奥行きデータを格納しているメ
モリブロックに対して、該当アドレスから奥行きデータ
をモディファイ書き込みするため読み出し、必要ならば
モディファイ後同じアドレスへ書き戻す。また、メモリ
I/F回路145−3は、テクスチャエンジン回路14
4−3により供給されたピクセルレベルの処理結果を受
けて、ピクセルレベルの処理における各種テストをパス
したピクセルデータをメモリモジュール147−3に描
画する。
画しようとしているピクセルにおけるテクスチャアドレ
スに対応したテクスチャデータを格納しているメモリブ
ロックをそのテクスチャアドレスより算出し、グラフィ
ックスメモリ147の所定のメモリモジュールにのみ読
み出し要求を出すことにより、テクスチャデータを読み
出す。また、専用メモリI/F回路146は、テクスチ
ャエンジン回路144−0〜144−3から生成された
テクスチャ座標データ(u,v)を含む読み出し要求を
受けた場合には、SRAM等のバッファに記憶された
(R,G,B)データを読み出す。また、専用メモリI
/F回路146は、CRTコントロール回路148から
表示データを読み出す要求を受けた場合には、この要求
に応じて、グラフィックスメモリ147(具体的にはデ
ィスプレイバッファ)から一定の固まり、たとえば8ピ
クセルあるいは16ピクセル単位で表示データを読み出
す。
テクスチャバッファ、ディスプレイバッファ、zバッフ
ァおよびテクスチャCLUT(Color Look Up Table) バ
ッファとして機能する。また、グラフィックスメモリ1
47は、前述したように、同一機能を有する複数(本実
施形態では4個)のメモリモジュール147−0〜14
7−3に分割されている。また、グラフィックスメモリ
147には、より多くのテクスチャデ−タを格納するた
めに、インデックスカラ−におけるインデックスと、そ
のためのカラ−ルックアップテ−ブル値が、テクスチャ
CLUTバッファに格納されている。インデックスおよ
びカラ−ルックアップテ−ブル値は、上述したように、
テクスチャ処理に使われる。すなわち、通常はR,G,
Bそれぞれ8ビットの合計24ビットでテクスチャ要素
を表現するが、それではデ−タ量が膨らむため、あらか
じめ選んでおいたたとえば256色等の中から一つの色
を選んで、そのデ−タをテクスチャ処理に使う。このこ
とで256色であればそれぞれのテクスチャ要素は8ビ
ットで表現できることになる。インデックスから実際の
カラ−への変換テ−ブルは必要になるが、テクスチャの
解像度が高くなるほど、よりコンパクトなテクスチャデ
−タとすることが可能となる。これにより、テクスチャ
デ−タの圧縮が可能となり、内蔵メモリの効率良い利用
が可能となる。
41、DDA回路143−0〜143−3、テクスチャ
エンジン回路144−0〜144−3、メモリI/F回
路145−0〜145−3等における所定を経て、最終
的なメモリアクセスがピクセル(Pixel;Picture Cell E
lement) という描画ピクセル単位になる。
れた水平および垂直同期信号に同期して、図示しないC
RTに表示する表示アドレスを発生し、グラフィックス
メモリ147に含まれるディスプレイバッファから表示
データを読み出す要求を専用メモリI/F回路146に
出力する。この要求に応じて、専用メモリI/F回路1
46は、グラフィックスメモリ147(ディスプレイバ
ッファ)から一定の固まりで表示データを読み出す。C
RTコントロール回路148は、グラフィックスメモリ
147から読み出した表示データを記憶するたとえばF
IFO回路を内蔵し、一定の時間間隔で、RGBのイン
デックス値を発生する。CRTコントロール回路148
は、各インデックス値に対応するR,G,Bデータを記
憶しており、発生したRGBのインデックス値に対応す
るデジタル形式のR,G,Bデータを、図示しないD/
Aコンバータ(Digital/Analog Converter)に転送し、ア
ナログ形式のR,G,Bデータを生成する。CRTコン
トロール回路148は、この生成されたR,G,Bデー
タを図示しないCRTに出力する。
20に関連付けて説明する。なおここでは、図15に示
すように、3つの三角形プリミティブPM101,PM
102,PM103を順次入力して描画処理する場合を
説明する。この例では、プリミティブPM101は、全
処理モジュール140−0〜140−3の担当領域RG
N0〜RGN3に掛かっている(含まれている)。プリ
ミティブPM102は、処理モジュール140−0〜1
40−1の担当領域RGN0,RGN1に掛かっている
(含まれている)が、処理モジュール140−2,14
0−3の担当領域RGN2,RGN3には掛かっていな
い(含まれていない)。プリミティブPM103は、全
処理モジュール140−0〜140−3の担当領域RG
N0〜RGN3に掛かっている(含まれている)。
ム10においては、グラフィックス描画等のデータは、
メインプロセッサ11のメインメモリ12、あるいは外
部からのグラフィックスデータを受けるI/Oインタフ
ェース回路13からメインバス15を介してレンダリン
グ回路14に与えられる。なお、必要に応じて、グラフ
ィックス描画等のデータは、メインプロセッサ11等に
おいて、座標変換、クリップ処理、ライティング処理等
のジオメトリ処理が行われる。ジオメトリ処理が終わっ
たグラフィックスデータは、三角形の各3頂点の頂点座
標x,y,z、輝度値R,G,B、描画しようとしてい
るピクセルと対応するテクスチャ座標s,t,qとから
なるポリゴンレンダリングデータS11となる。
角形プリミティブPM101,PM102,PM103
に係るポリゴンレンダリングデータS11が、レンダリ
ング回路14のDDAセットアップ回路141に順々に
転送される。
は、まず三角形プリミティブPM101に係るポリゴン
レンダリングデータS11に基づいて、三角形の辺と水
平方向の差分などを示す変分データが生成される。具体
的には、開始点の値と終点の値、並びに、その間の距離
を用いて、単位長さ移動した場合における、求めようと
している値の変化分である変分が算出され、変分データ
を含む三角形プリミティブPM101に関する情報が、
図17に示すように、ブロードキャストバス149を通
して、各処理モジュール140−0〜140−3の領域
判定回路142−0〜142−3に並列に供給される。
の領域判定回路142−0〜142−3においては、ブ
ロードキャストバス149を介して入力したDDAセッ
トアップ回路141による変分データを含む三角形プリ
ミティブPM101に関する情報を受けて、三角形があ
らかじめ規定されている自モジュールの担当領域RGN
〜RGN3に含まれるか否かが判定される。この場合、
上述したように、三角形プリミティブPM101は、全
処理モジュール140−0〜140−3の担当領域RG
N0〜RGN3に含まれることから、図18に示すよう
に、各領域判定回路142−0〜142−3から入力情
報が自モジュールのDDA回路143−0〜143−3
に出力される。
ブPM102に係るポリゴンレンダリングデータS11
がDDAセットアップ回路141に入力される。DDA
セットアップ回路141においては、三角形プリミティ
ブPM102に係るポリゴンレンダリングデータS11
に基づいて、三角形の辺と水平方向の差分などを示す変
分データが生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データを含む三角形プリミティブ
PM102に関する情報が、図18に示すように、ブロ
ードキャストバス149を通して、各処理モジュール1
40−0〜140−3の領域判定回路142−0〜14
2−3に並列に供給される。
の領域判定回路142−0〜142−3においては、ブ
ロードキャストバス149を介して入力したDDAセッ
トアップ回路141による変分データを含む三角形プリ
ミティブPM102に関する情報を受けて、三角形があ
らかじめ規定されている自モジュールの担当領域RGN
〜RGN3に含まれるか否かが判定される。この場合、
上述したように、三角形プリミティブPM102は、処
理モジュール140−0,140−1の担当領域RGN
0,RGN1に含まれ、処理モジュール140−2,1
40−3の担当領域RGN2,RGN3に含まれない。
したがって、図19に示すように、担当領域RGN0,
RGN1に含まれると判定した各領域判定回路142−
0,142−1から入力情報が自モジュールのDDA回
路143−0,143−1に出力される。一方、担当領
域RGN2,RGN3に含まれないと判定した処理モジ
ュール140−2,140−3の領域判定回路142−
2,142−3では、入力情報が次段のDDA回路14
3−2,143−3に出力されずに棄てられる。
ブPM103に係るポリゴンレンダリングデータS11
がDDAセットアップ回路141に入力される。DDA
セットアップ回路141においては、三角形プリミティ
ブPM103に係るポリゴンレンダリングデータS11
に基づいて、三角形の辺と水平方向の差分などを示す変
分データが生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データを含む三角形プリミティブ
PM103に関する情報が、図19に示すように、ブロ
ードキャストバス149を通して、各処理モジュール1
40−0〜140−3の領域判定回路142−0〜14
2−3に並列に供給される。
の領域判定回路142−0〜142−3においては、ブ
ロードキャストバス149を介して入力したDDAセッ
トアップ回路141による変分データを含む三角形プリ
ミティブPM103に関する情報を受けて、三角形があ
らかじめ規定されている自モジュールの担当領域RGN
〜RGN3に含まれるか否かが判定される。この場合、
上述したように、三角形プリミティブPM103は、全
処理モジュール140−0〜140−3の担当領域RG
N0〜RGN3に含まれることから、図20に示すよう
に、各領域判定回路142−0〜142−3から入力情
報が自モジュールのDDA回路143−0〜143−3
に出力される。
のDDA回路143−0〜143−3では、三角形プリ
ミティブPM101〜PM103の入力順で以下の処理
が行われる。すなわち、まず、全DDA回路143−0
〜143−3において、三角形プリミティブPM101
に対する処理が行われ、次に、処理モジュール140−
0,140−1のDDA回路143−0,143−1に
おいて、三角形プリミティブPM102に対する処理が
行われ、最後に、全DDA回路143−0〜143−3
において、三角形プリミティブPM103に対する処理
が行われる。同様に、DDA回路143−0〜143−
3に後続するテクスチャエンジン回路144−0〜14
4−3、さらにメモリI/F回路145−0〜145−
3では、三角形プリミティブPM101〜PM103の
入力順で以下の処理が行われる。
43−3またはDDA回路143−0および143−1
においては、それぞれ領域判定回路142−0〜142
−3から供給された変分データを用いて、三角形内部の
各ピクセルにおける線形補間された(z,R,G,B,
s,t,q)データが算出される。そして、算出された
(z,R,G,B,s,t,q)データと、三角形の各
頂点の(x,y)データとが、DDAデータとして、テ
クスチャエンジン回路144−0〜144−3に出力さ
れる。
4−3またはテクスチャエンジン回路144−0および
144−1においては、DDA回路143−0〜143
−3によるDDAデータが示す(s,t,q)データに
ついて、sデータをqデータで除算する演算と、tデー
タをqデータで除算する演算とが行われる。そして、除
算結果「s/q」および「t/q」に、それぞれテクス
チャサイズUSIZEおよびVSIZEが乗算され、テ
クスチャ座標データ(u,v)が生成される。
〜144−3またはテクスチャエンジン回路144−0
および144−1から専用メモリI/F回路146に対
して生成されたテクスチャ座標データ(u,v)を含む
読み出し要求が出力され、専用メモリI/F回路146
を介して、グラフィックスメモリ147に記憶された
(R,G,B)データが読み出される。次に、テクスチ
ャエンジン回路144−0〜144−3またはテクスチ
ャエンジン回路144−0および144−1において、
読み出した(R,G,B)データと、前段のDDA回路
143−0〜143−3またはDDA回路143−0お
よび143−1からのDDAデータに含まれる(R,
G,B)データとが掛け合わされ、ピクセルデータとし
て生成される。このピクセルデータは、テクスチャエン
ジン回路144−0〜144−3またはテクスチャエン
ジン回路144−0および144−1からメモリI/F
回路145−0〜145−3またはメモリI/F回路1
45−0および145−1に出力される。
45−3またはメモリI/F回路145−0および14
5−1において、テクスチャエンジン回路144−0〜
144−3またはテクスチャエンジン回路144−0お
よび144−1から入力したピクセルデータに対応する
zデータと、対応するメモリモジュール147−0〜1
47−3またはメモリモジュール147−0および14
7−1(zバッファ)に記憶されているzデータとの比
較が行われ、入力したピクセルデータによって描画され
る画像が、前回、メモリモジュールのディスプレイバッ
ファに書き込まれた画像より、手前(視点側)に位置す
るか否かが判定される。判定の結果、手前に位置する場
合には、画像データに対応するzデータでメモリモジュ
ール147−0〜147−3またはメモリモジュール1
47−0および147−1に記憶されたzデータが更新
される。
5−3またはメモリI/F回路145−0および145
−1において、(R,G,B)データが対応する自モジ
ュールのメモリモジュール147−0〜147−3また
はメモリモジュール147−0および1471に書き込
まれる。
ては、今から描画しようとしているピクセルにおけるテ
クスチャアドレスに対応したテクスチャを格納している
メモリブロックがそのテクスチャアドレスにより算出さ
れ、グラフィックスメモリ147の所定のメモリモジュ
ールにのみ読みだし要求が出され、テクスチャデータが
読み出される。
5−3またはメモリI/F回路145−0および145
−1において、今から描画しようとしているピクセルア
ドレスに対応するピクセルデータを格納しているメモリ
モジュール147−0〜147−3またはメモリモジュ
ール147−0および147−1に対して、該当アドレ
スからピクセルデータがモディファイ書き込み(Modify
Write)を行うために読み出され、モディファイ後、同じ
アドレスへ書き戻される。
またはメモリI/F回路145−0および145−1に
おいて、隠れ面処理を行う場合には、やはり同じように
今から描画しようとしているピクセルアドレスに対応す
る奥行きデータを格納しているメモリモジュール147
−0〜147−3またはメモリモジュール147−0お
よび147−1に対して、該当アドレスから奥行きデー
タがモディファイ書き込み(Modify Write)を行うために
読み出され、必要ならばモディファイ後、同じアドレス
へ書き戻される。
る場合には、CRTコントロール回路148において、
与えられた水平垂直同期周波数に同期して、表示アドレ
スが発生され、専用メモリI/F回路146へ表示デー
タ転送の要求が出される。専用メモリI/F回路146
では、その要求に従い、一定のまとまった固まりで、表
示データがCRTコントロール回路148に転送され
る。CRTコントロール回路148では、図示しないデ
ィスプレイ用FIFO等にその表示データが貯えられ、
一定の間隔でRGBのインデックス値が生成される。C
RTコントロール回路148においては、RAM内部に
RGBのインデックスに対するRGB値が記憶されてい
て、インデックス値に対するRGB値が図示しないD/
Aコンバータへ転送される。そして、D/Aコンバータ
でアナログ信号に変換されたRGB信号がCRTへ転送
される。
ば、DDAセットアップ回路141による同じ三角形デ
ータを各処理モジュール140−0〜140−3に並列
に送り、各処理モジュール140−0〜140−3は、
各メモリモジュール147−0〜147−3と対応付け
られており、各処理モジュール140−0〜140−3
は、DDAセットアップ回路141による変分データを
含む三角形に関する情報を受けて、三角形があらかじめ
規定されている自モジュールの担当領域RGN0〜RG
N3に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−0〜143−3に出
力し、含まれていない場合には、入力情報を次段のDD
A回路143−0〜143−3に出力せずに棄てる領域
判定回路142−0〜142−3を有し、自モジュール
の担当する領域RGN0〜RGN3に含まれるピクセル
のみを描画して対応するメモリモジュール147−0〜
147−3に送るようにしたので、複数の処理モジュー
ルが処理データを共有して並列処理する際に、動作モー
ドにかかわりなく並列処理を行うことができる。そし
て、並列処理できるピクセル数に対する制約を受けずに
実行効率の高い並列処理を実現でき、ひいては、性能の
向上を図ることができる利点がある。また、本実施形態
では、各処理モジュール140−0〜140−3とメモ
リモジュール147−0〜147−3を直結できる処理
分配とし、配線本数を削減し、小型化することができ
る。その結果、設計が容易となり、配線コスト、配線遅
延を低減することができる。
3(A)〜(E)に示すように、各処理モジュールの担
当領域の大きさとDDA回路がピクセルを発生する矩形
領域の大きさとが一致している場合を例に説明したが、
本発明はこれに限定されるものではない。
大きさは一致している必要はない。たとえば、図21
(A)〜(E)に示すように、各担当領域RGN0〜R
GN3においてピクセルを発生する矩形領域を2×2で
階層化することも可能である。この場合、移動は階層的
になる。すなわち、担当領域間での移動と担当領域内で
の矩形領域単位での移動が行われる。そして、各処理モ
ジュールにおいては、複数の単位領域における担当領域
をスキャンし、階層的に分割領域単位で同時にピクセル
を発生する。この場合も、上述した実施形態と同様の効
果を得ることができる。
3(A)〜(E)に示すように、各処理モジュール14
0−0〜140−3の担当領域RGN0〜RGN3の割
り付けを固定、具体的には、2×2の矩形領域の左上を
処理モジュール140−0の担当領域とし、右上を処理
モジュール140−1の担当領域とし、左下を処理モジ
ュール140−2の担当領域とし、右下を処理モジュー
ル140−3の担当領域とした場合を例に説明したが、
本発明はこれに限定されるものではない。
うことも可能である。たとえば、図22(B)に示すよ
うに、左上および左下の2×2の矩形領域においては、
上述したように、左上を処理モジュール140−0の担
当領域とし、右上を処理モジュール140−1の担当領
域とし、左下を処理モジュール140−2の担当領域と
し、右下を処理モジュール140−3の担当領域とし、
右上および右下の2×2の矩形領域においては、左下を
処理モジュール140−0の担当領域とし、右下を処理
モジュール140−1の担当領域とし、右上を処理モジ
ュール140−2の担当領域とし、右上を処理モジュー
ル140−3の担当領域とする等、種々の態様が可能で
ある。
(F)に示すように行われる。処理モジュール140−
0のDDA回路143−0は、上述したように、2×2
の矩形領域の左上領域および左下領域が担当領域であ
る。本例では、図22(C)に示すように、破線で示す
処理開始点が自モジュールの担当領域RGN0であるこ
とから、DDA回路143−0は、次に、右斜め上方に
移動し、次に、左斜め上方に移動する。
43−1は、上述したように、2×2の矩形領域の右上
領域および右下領域が担当領域である。本例では、図2
2(D)に示すように、破線で示す処理開始点からX方
向にスキャンして自モジュールの担当領域RGN1に移
動する。そして、DDA回路143−1は、右斜め上方
に移動し、次に、左斜め上方に移動する。
43−2は、上述したように、2×2の矩形領域の左下
領域および左上領域が担当領域である。本例では、図2
2(E)に示すように、破線で示す処理開始点からY方
向(図面で上方向)にスキャンして自モジュールの担当
領域RGN2に移動する。そして、DDA回路143−
2は、次に、右斜め上方に移動する。
43−3は、上述したように、2×2の矩形領域の右下
領域および右上領域が担当領域である。本例では、図2
2(F)に示すように、破線で示す処理開始点からX方
向にスキャンしてさらにY方向にスキャンして自モジュ
ールの担当領域RGN3に移動する。そして、DDA回
路143−3は、次に、右斜め上方に移動する。
果を得ることができる。
のプリミティブに係る担当領域を複数の処理モジュール
140−0〜140−3に割り当てて並列に処理するよ
うに構成したが、たとえば、複数のプリミティブを同時
に処理するように構成することも可能である。具体的に
は、複数の処理モジュールに別々のプリミティブ(たと
えば三角形)を与えて並列動作させることも可能であ
る。
の実施形態を説明するための図で、プリミティブレベル
での並列化処理について概念的に示す図である。図23
の画像処理装置(図3および図4の対応ではレンダリン
グ回路)14Aは、並列に配置された処理モジュール1
40A−0〜140A−3の前段に単位図形(プリミテ
ィブ)を各処理モジュール140A−0〜140A−3
に分配する単位図形分配回路151を設けている。
0A−0〜140A−3に比較的均等な大きさのプリミ
ティブが与えられているときには、各処理モジュール1
40A−0〜140A−3に対する負荷のバランスがと
れ、効率的並列処理が行える。また、この実施形態で
は、グラフィックス処理を行うハードウェアでは、メモ
リのバンド幅を広げるために、複数メモリモジュールを
用いてメモリインターリーブを行うことから、各処理モ
ジュール140A−0〜140A−3と各メモリモジュ
ー147−0〜147−3を全て結ぶ必要がある。その
ため、クロスバー回路152が設けられている。
トが増えることになるが、複数の処理モジュールが処理
データを共有して並列処理する際に、動作モードにかか
わりなく並列処理を行うことができる。そして、並列処
理できるピクセル数に対する制約を受けずに実行効率の
高い並列処理を実現でき、ひいては、性能の向上を図る
ことができる利点がある。
フィックスシステム10では、ポリゴンレンダリングデ
ータを生成するジオメトリ処理を、メインプロセッサ1
1で行う場合を例示したが、レンダリング回路14で行
う構成にしてもよい。
複数の処理装置が処理データを共有して並列処理する際
に、動作モードにかかわりなく並列処理を行うことがで
きる。そして、本発明によれば、並列処理できるピクセ
ル数に対する制約を受けずに実行効率の高い並列処理を
実現でき、ひいては、性能の向上を図ることができる利
点がある。
置を概念的に示す図である。
リミティブレベルでの並列化処理について概念的に示す
図である。
ピュータグラフィックスシステムのシステム構成図であ
る。
態を示すブロック構成図である。
するための図である。
するための図である。
能を説明するための図である。
成例を示す図である。
ついて説明するための図である。
概念的に説明するための図であって、4並列の場合の例
を示す図である。
概念的に説明するための図であって、8並列の場合の例
を示す図である。
作を説明するためのフローチャートである。
処理を説明するための図である。
処理動作を説明するためのフローチャートである。
て、連続的に処理される三角形プリミティブの例を示す
図である。
る。
る。
る。
る。
る。
A回路がピクセルを発生する矩形領域の大きさとが一致
してない場合の例を説明するための図である。
の例を説明するための図である。
説明するための図である。
メインメモリ、13…I/Oインタフェース回路、1
4,14A…レンダリング回路、140−0〜140−
3,140A−0〜140A−3…処理モジュール、1
42−0〜142−3…領域判定回路、143−0〜1
43−3…トライアングルDDA回路、144−0〜1
44−3…テクスチャエンジン回路、145−0〜14
5−3…メモリインタフェース(I/F)回路、146
…専用メモリI/F回路、147…グラフィックスメモ
リ、147−0〜147−3…メモリモジュール、14
8…CRTコントロール回路、149…セットアップデ
ータ用ブロードキャストバス、150…テクスチャバ
ス、151…単位図形分配回路、152…クロスバー回
路、RGN0〜RGN3…担当領域。
Claims (31)
- 【請求項1】 複数の処理モジュールが処理データを共
有して並列処理を行いメモリに描画する画像処理装置で
あって、 上記複数の処理モジュールはそれぞれ、 描画すべきプリミティブに関する情報を受けて、プリミ
ティブがあらかじめインターリーブ状に分割された自モ
ジュールの担当領域に含まれるか否かを判定する領域判
定回路と、 上記領域判定回路により自モジュールの担当領域に含ま
れると判定されると、入力情報に基づいて担当領域に対
する描画処理を行う処理回路と、を含む画像処理装置。 - 【請求項2】 上記複数の処理モジュールの領域判定回
路には、描画すべきプリミティブに関する同一の情報が
ブロードキャストされる請求項1記載の画像処理装置。 - 【請求項3】 上記複数の処理モジュールの領域判定回
路には、描画すべき異なるプリミティブに関する情報が
それぞれ供給される請求項1記載の画像処理装置。 - 【請求項4】 上記複数の処理モジュールの処理回路
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項1記載の画像処理装置。 - 【請求項5】 上記複数の処理モジュールの処理回路
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項2記載の画像処理装置。 - 【請求項6】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項4記載の画像処理装置。 - 【請求項7】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項5記載の画像処理装置。 - 【請求項8】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項4記載の画像処理
装置。 - 【請求項9】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項5記載の画像処理
装置。 - 【請求項10】 上記メモリはメモリインターリーブさ
れた複数のメモリモジュールを含み、 上記複数の処理モジュールと上記複数のメモリモジュー
ルとが一対一に対応しており、 上記複数の処理モジュールの処理回路は、自モジュール
の担当する領域に対する処理結果のみを描画して対応す
るメモリモジュールに出力する請求項1記載の画像処理
装置。 - 【請求項11】 上記メモリはメモリインターリーブさ
れた複数のメモリモジュールを含み、 上記複数の処理モジュールと上記複数のメモリモジュー
ルとが一対一に対応しており、 上記複数の処理モジュールの処理回路は、自モジュール
の担当する領域に含まれるピクセルのみを描画して対応
するメモリモジュールに出力する請求項2記載の画像処
理装置。 - 【請求項12】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項10記載の画像処理装置。 - 【請求項13】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項11記載の画像処理装置。 - 【請求項14】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項10記載の画像処
理装置。 - 【請求項15】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項11記載の画像処
理装置。 - 【請求項16】 上記領域判定回路は、プリミティブが
自モジュールの担当領域に含まれると判定した場合には
入力情報を上記処理回路に出力し、含まれていないと判
定した場合には入力情報を上記処理回路に出力せず棄て
る請求項1記載の画像処理装置。 - 【請求項17】 複数の処理モジュールが処理データを
共有して並列処理を行いメモリに描画する画像処理方法
であって、 上記複数の処理モジュールに対してインターリーブ状に
分割して自モジュールが処理する担当領域を割り当てて
おき、 上記複数の処理モジュールに対して描画すべきプリミテ
ィブに関する情報を供給し、 各処理モジュールにおいて、プリミティブがあらかじめ
インターリーブ状に分割された自モジュールの担当領域
に含まれるか否かを判定し、 自モジュールの担当領域に含まれると判定した場合に、
供給された情報に基づいて担当領域に対する描画処理を
行う画像処理方法。 - 【請求項18】 上記複数の処理モジュールには、描画
すべきプリミティブに関する同一の情報をブロードキャ
ストする請求項17記載の画像処理方法。 - 【請求項19】 上記複数の処理モジュールには、描画
すべき異なるプリミティブに関する情報をそれぞれ供給
する請求項17記載の画像処理方法。 - 【請求項20】 上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項17記載の画像処理方法。 - 【請求項21】 上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項18記載の画像処理方法。 - 【請求項22】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項20記載の画像処理方法。 - 【請求項23】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項21記載の画像処理方法。 - 【請求項24】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項20記載の画像処理
方法。 - 【請求項25】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項21記載の画像処理
方法。 - 【請求項26】 上記メモリを、複数のメモリモジュー
ルにインターリーブして、上記複数の処理モジュールと
上記複数のメモリモジュールとを一対一に対応させ、 上記複数の処理モジュールにおいては、自モジュールの
担当する領域に対する処理結果のみを描画して対応する
メモリモジュールに出力する請求項17記載の画像処理
方法。 - 【請求項27】 上記メモリを、複数のメモリモジュー
ルにインターリーブして、上記複数の処理モジュールと
上記複数のメモリモジュールとを一対一に対応させ、 上記複数の処理モジュールにおいては、自モジュールの
担当する領域に対する処理結果のみを描画して対応する
メモリモジュールに出力する請求項18記載の画像処理
方法。 - 【請求項28】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項26記載の画像処理方法。 - 【請求項29】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールのにおいては、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項27記載の画像処理方法。 - 【請求項30】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項26記載の画像処理
方法。 - 【請求項31】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールとしては、複数の単位領域に
おける担当領域をスキャンし、階層的に分割領域単位で
同時にピクセルを発生する請求項27記載の画像処理方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002006393A JP2003208627A (ja) | 2002-01-15 | 2002-01-15 | 画像処理装置およびその方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002006393A JP2003208627A (ja) | 2002-01-15 | 2002-01-15 | 画像処理装置およびその方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003208627A true JP2003208627A (ja) | 2003-07-25 |
| JP2003208627A5 JP2003208627A5 (ja) | 2005-07-21 |
Family
ID=27645181
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002006393A Pending JP2003208627A (ja) | 2002-01-15 | 2002-01-15 | 画像処理装置およびその方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003208627A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006090610A1 (ja) * | 2005-02-23 | 2006-08-31 | Sony Computer Entertainment Inc. | 画像処理装置および画像処理方法 |
| JP2007528062A (ja) * | 2004-02-27 | 2007-10-04 | エヌヴィディア コーポレイション | Pciエクスプレスを用いたグラフィックデバイスのクラスタリング |
| JP2009245266A (ja) * | 2008-03-31 | 2009-10-22 | Aisin Aw Co Ltd | 地図表示装置及び地図表示プログラム、並びにこれを用いたナビゲーション装置 |
| JP2013148363A (ja) * | 2012-01-17 | 2013-08-01 | Dainippon Screen Mfg Co Ltd | 外観検査装置 |
| US9196031B2 (en) | 2012-01-17 | 2015-11-24 | SCREEN Holdings Co., Ltd. | Appearance inspection apparatus and method |
-
2002
- 2002-01-15 JP JP2002006393A patent/JP2003208627A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007528062A (ja) * | 2004-02-27 | 2007-10-04 | エヌヴィディア コーポレイション | Pciエクスプレスを用いたグラフィックデバイスのクラスタリング |
| JP4755172B2 (ja) * | 2004-02-27 | 2011-08-24 | エヌヴィディア コーポレイション | Pciエクスプレスを用いたグラフィックデバイスのクラスタリング |
| WO2006090610A1 (ja) * | 2005-02-23 | 2006-08-31 | Sony Computer Entertainment Inc. | 画像処理装置および画像処理方法 |
| US7825928B2 (en) | 2005-02-23 | 2010-11-02 | Sony Computer Entertainment Inc. | Image processing device and image processing method for rendering three-dimensional objects |
| JP2009245266A (ja) * | 2008-03-31 | 2009-10-22 | Aisin Aw Co Ltd | 地図表示装置及び地図表示プログラム、並びにこれを用いたナビゲーション装置 |
| JP2013148363A (ja) * | 2012-01-17 | 2013-08-01 | Dainippon Screen Mfg Co Ltd | 外観検査装置 |
| US9196031B2 (en) | 2012-01-17 | 2015-11-24 | SCREEN Holdings Co., Ltd. | Appearance inspection apparatus and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7920141B2 (en) | Method and apparatus for rasterizer interpolation | |
| US6535216B1 (en) | Multi-processor graphics accelerator | |
| CN107003964B (zh) | 处理未对准块传送操作 | |
| EP1424653B1 (en) | Dividing work among multiple graphics pipelines using a super-tiling technique | |
| EP0307019A2 (en) | Apparatus for modifying pixel data stored in a random access memory | |
| KR20130132752A (ko) | 압축된 슈퍼타일 이미지들의 디스플레이 | |
| US6441818B1 (en) | Image processing apparatus and method of same | |
| US20010030756A1 (en) | Graphics plotting apparatus | |
| JP2003208627A (ja) | 画像処理装置およびその方法 | |
| US6466219B1 (en) | Storage device and image data processing apparatus | |
| JP3687945B2 (ja) | 画像処理装置およびその方法 | |
| JP2005332195A (ja) | テクスチャユニット、画像描画装置、テクセル転送方法 | |
| CN100543777C (zh) | 用于在一个存储桶绘制系统中确保向后兼容的方法和装置 | |
| US7372461B2 (en) | Image processing apparatus and method of same | |
| JP2006235839A (ja) | 画像処理装置および画像処理方法 | |
| US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
| US6563507B1 (en) | Storage circuit control device and graphic computation device | |
| JP2003132347A (ja) | 画像処理装置 | |
| US7372466B2 (en) | Image processing apparatus and method of same | |
| US6476818B1 (en) | Storage circuit control device and graphic computation device | |
| KR0165464B1 (ko) | 그래픽을 위한 스팬렌더링방법 및 장치 | |
| CN1215441C (zh) | 支持嵌入式与外加式图形加速装置协作的装置和方法 | |
| JPH11272548A (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
| JP3971448B2 (ja) | 描画装置及び描画方法 | |
| JP4635379B2 (ja) | 画像処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041129 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070518 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070727 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070904 |