JP2003208627A - Image processing device and method therefor - Google Patents

Image processing device and method therefor

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
Application number
JP2002006393A
Other languages
Japanese (ja)
Other versions
JP2003208627A5 (en
Inventor
Tetsugo Inada
徹悟 稲田
Hitoshi Sato
仁 佐藤
Yuji Yamaguchi
裕司 山口
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 JP2002006393A priority Critical patent/JP2003208627A/en
Publication of JP2003208627A publication Critical patent/JP2003208627A/en
Publication of JP2003208627A5 publication Critical patent/JP2003208627A5/ja
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing device and a method therefor capable of performing parallel processing irrespective of operation mode, realizing parallel processing having high execution efficiency without receiving the restriction for the number of pixels capable of being parallel processed, and improving the performance. <P>SOLUTION: The same triangle data are transmitted to each processing module 140-0 to 140-3 in parallel, and each processing module 140-0 to 140-3 receives the information related to the same triangle to discriminate whether it is included in regions RGN0 to RGN3 in charge of own module or not. Each processing module has region discrimination circuits 142-0 to 142-3 for outputting the input information to DDA circuits 143-0 to 143-3 if it is included in the regions RGN0 to RGN3, draws only pixel included in the regions RGN0 to RGN3 in charge of own module, and transmits it to corresponding memory modules 147-0 to 147-3. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、複数の演算処理モ
ジュールが処理データを共有して並列処理を行う画像処
理装置およびその方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus in which a plurality of arithmetic processing modules share processing data and perform parallel processing, and a method thereof.

【0002】[0002]

【従来の技術】近年、3次元コンピュータグラフィック
ス(3D Computer Graphics)をハ
ードウェアで高速に実行するグラフィックスLSIの普
及は著しく、特にゲーム機やパーソナルコンピュータ
(PC)では、このグラフィックスLSIを標準で搭載
しているものが多い。
2. Description of the Related Art In recent years, a graphics LSI for executing three-dimensional computer graphics (3D Computer Graphics) at high speed with hardware has been remarkably popular, and this graphics LSI is standard in a game machine and a personal computer (PC). Many are equipped with.

【0003】図1は、グラフィックス描画を行う一般的
な画像処理装置を概念的に示す図である。
FIG. 1 is a diagram conceptually showing a general image processing apparatus for performing graphics drawing.

【0004】この画像処理装置1は、ピクセル発生部
2、および複数個(図1の例では4個)のメモリモジュ
ール3−0〜3−3を有している。この画像処理装置1
では、ピクセル発生部2において、単位図形たとえば三
角形プリミティブPMがラスタライズされて複数のピク
セルPXが生成される。そして、生成されたピクセルP
Xが図示しない接続回路を介して複数のメモリモジュー
ル3−0〜3−3に送られる。このとき、生成されたピ
クセルは、ピクセルのXY座標に応じて対応するメモリ
モジュールに送られる。
The image processing apparatus 1 has a pixel generating section 2 and a plurality of (four in the example of FIG. 1) memory modules 3-0 to 3-3. This image processing device 1
Then, in the pixel generation unit 2, a unit figure such as a triangle primitive PM is rasterized to generate a plurality of pixels PX. Then, the generated pixel P
X is sent to the plurality of memory modules 3-0 to 3-3 via a connection circuit (not shown). At this time, the generated pixel is sent to the corresponding memory module according to the XY coordinate of the pixel.

【0005】このように、図1の画像処理装置1は、基
本的に一つのピクセル発生部2で発生した複数のピクセ
ルをインターリーブされた複数のメモリモジュール3−
0〜3−3に分配する。
As described above, the image processing apparatus 1 shown in FIG.
Distribute 0 to 3-3.

【0006】[0006]

【発明が解決しようとする課題】ところで、グラフィッ
クスLSIにおける技術的進歩は早く、「Direct
X」で採用された「Vertex Shader」や
「Pixe1 Shader」に代表される機能面での
拡張が続けられているとともに、CPUを上回るペース
で性能の向上が望まれている。
By the way, the technological progress in graphics LSIs is rapid, and "Direct
While the functional expansion represented by “Vertex Shader” and “Pixe 1 Shader” adopted in “X” continues to be enhanced, it is desired to improve the performance at a pace higher than that of the CPU.

【0007】グラフィックスLSIの性能を向上させる
には、LSIの動作周波数を上げることで一応の対応は
可能である。ところが、上述した画像処理装置1は、1
系統のピクセル発生部2で発生した複数のピクセルを複
数のメモリモジュールに分配する基本構成を有すること
から、LSIの動作周波数を上げるだけでは、満足した
性能を得ることはできない。
In order to improve the performance of the graphics LSI, it is possible to deal with it by raising the operating frequency of the LSI. However, the image processing device 1 described above is
Since it has a basic configuration in which a plurality of pixels generated in the system pixel generation unit 2 are distributed to a plurality of memory modules, it is not possible to obtain satisfactory performance simply by increasing the operating frequency of the LSI.

【0008】グラフィックスLSIの性能を向上させる
には、LSIの動作周波数を上げるだけではなく、並列
処理の手法を利用することが有効である。並列処理の手
法を大別すると以下のようになる。第1は領域分割によ
る並列処理法であり、第2はピクセルレベルでの並列処
理法である。
In order to improve the performance of the graphics LSI, it is effective not only to increase the operating frequency of the LSI but also to utilize a parallel processing method. The parallel processing methods are roughly classified as follows. The first is a parallel processing method by region division, and the second is a parallel processing method at the pixel level.

【0009】上記分類は並列処理の粒度に基づいてお
り、領域分割並列処理の粒度があらく、ピクセルレベル
並列処理の粒度が細かい。それぞれの手法の概要を以下
に述べる。
The above classification is based on the granularity of parallel processing, the granularity of area division parallel processing is rough, and the granularity of pixel level parallel processing is fine. The outline of each method is described below.

【0010】領域分割による並列処理 領域分割による並列処理は、画面を複数の矩形領域に分
割し、複数の処理モジュールそれぞれが担当する領域を
割り当てながら並列処理する手法である。
Parallel processing by area division Parallel processing by area division is a method of dividing a screen into a plurality of rectangular areas and performing parallel processing while allocating areas in charge of a plurality of processing modules.

【0011】ピクセルレベルでの並列処理 ピクセルレベルでの並列処理は、粒度の細かい並列処理
の手法である。図2は、ピクセルレベルでの並列処理の
手法に基づくプリミティブレベルでの並列化処理につい
て概念的に示す図である。図2のように、ピクセルレベ
ルでの並列処理の手法では三角形をラスタライズする際
に、2×8のマトリクス状に配列されたピクセルからな
るピクセルスタンプ(Pixel Stamp)PSと
呼ばれる矩形領域単位にピクセルが生成される。図2の
例では、ピクセルスタンプPS0からからピクセルスタ
ンプPS7までの合計8個のピクセルスタンプが生成さ
れている。これらピクセルスタンプPS0〜PS7に含
まれる最大16個のピクセルが同時に処理される。この
手法は、粒度が細かい分、並列処理の効率が良い。
Parallel Processing at Pixel Level Parallel processing at the pixel level is a fine-grained parallel processing technique. FIG. 2 is a diagram conceptually showing the parallel processing at the primitive level based on the method of parallel processing at the pixel level. As shown in FIG. 2, in the method of parallel processing at the pixel level, when rasterizing a triangle, pixels are arranged in a rectangular area unit called a pixel stamp (Pixel Stamp) PS composed of pixels arranged in a 2 × 8 matrix. Is generated. In the example of FIG. 2, a total of eight pixel stamps from pixel stamp PS0 to pixel stamp PS7 are generated. Up to 16 pixels included in these pixel stamps PS0 to PS7 are processed simultaneously. Since this method has a finer granularity, it is efficient in parallel processing.

【0012】しかしながら、上述した領域分割による並
列処理の場合、各処理モジュールを効率良く並列動作さ
せるためには、各領域に描画されるべきオブジェクトを
あらかじめ分類する必要があり、シーンデータ解析の負
荷が重い。また、1フレーム分のシーンデータが全て揃
った上で描画を開始するのではなく、オブジェクトデー
タが与えられると即描画を開始するいわゆるイミーディ
エートモードでの描画を行う際には並列性を引き出すこ
とができない。
However, in the case of parallel processing by the above-described area division, in order to efficiently operate the processing modules in parallel, it is necessary to classify the objects to be drawn in the respective areas in advance, and the load of scene data analysis is increased. heavy. In addition, drawing is not started after all the scene data for one frame has been gathered, but drawing is started immediately when object data is given. So-called immediate mode draws parallelism. I can't.

【0013】また、ピクセルレベルでの並列処理の場
合、グラフィックスで処理されるプリミティブの大きさ
は小さくなる傾向にあることから、ピクセルスタンプの
サイズを大きくしても無効なピクセルが増えるだけで実
行効率が上がらない。したがって、この手法によって並
列処理できるピクセルの数には限界がある。
Further, in the case of parallel processing at the pixel level, since the size of primitives processed by graphics tends to be small, even if the size of the pixel stamp is increased, it is executed only by increasing the number of invalid pixels. Efficiency does not increase. Therefore, there is a limit to the number of pixels that can be processed in parallel by this method.

【0014】本発明は、かかる事情に鑑みてなされたも
のであり、その目的、複数の処理モジュールが処理デー
タを共有して並列処理する際に、動作モードにかかわり
なく並列処理を行うことができ、並列処理できるピクセ
ル数に対する制約を受けずに実行効率の高い並列処理を
実現でき、ひいては、性能の向上を図ることができる画
像処理装置およびその方法を提供することにある。
The present invention has been made in view of the above circumstances, and its purpose is to enable parallel processing regardless of the operation mode when a plurality of processing modules share processing data and perform parallel processing. An object of the present invention is to provide an image processing apparatus and method capable of realizing parallel processing with high execution efficiency without being restricted by the number of pixels that can be processed in parallel, and further improving performance.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点は、複数の処理モジュールが処
理データを共有して並列処理を行いメモリに描画する画
像処理装置であって、上記複数の処理モジュールはそれ
ぞれ、描画すべきプリミティブに関する情報を受けて、
プリミティブがあらかじめインターリーブ状に分割され
た自モジュールの担当領域に含まれるか否かを判定する
領域判定回路と、上記領域判定回路により自モジュール
の担当領域に含まれると判定されると、入力情報に基づ
いて担当領域に対する描画処理を行う処理回路とを含
む。
To achieve the above object, a first aspect of the present invention is an image processing apparatus in which a plurality of processing modules share processing data, perform parallel processing, and draw in a memory. , Each of the plurality of processing modules receives information about the primitive to be drawn,
An area determination circuit that determines whether or not a primitive is included in the area of its own module that has been divided into interleaves in advance. If the area determination circuit determines that the primitive is included in the area of its own module, the input information And a processing circuit for performing drawing processing on the area in charge.

【0016】第1の観点では、上記複数の処理モジュー
ルの領域判定回路には、描画すべきプリミティブに関す
る同一の情報がブロードキャストされる。
According to the first aspect, the same information regarding the primitive to be drawn is broadcast to the area determination circuits of the plurality of processing modules.

【0017】また、第1の観点では、上記複数の処理モ
ジュールの領域判定回路には、描画すべき異なるプリミ
ティブに関する情報がそれぞれ供給される。
Further, according to the first aspect, the area determining circuits of the plurality of processing modules are respectively supplied with information regarding different primitives to be drawn.

【0018】第1の観点では、好適には、上記複数の処
理モジュールの処理回路は、自モジュールの担当する領
域に含まれるピクセルのみを描画する。
According to the first aspect, it is preferable that the processing circuits of the plurality of processing modules draw only the pixels included in the area in charge of the own module.

【0019】また、第1の観点では、各処理モジュール
の担当領域は、所定の単位領域を上記処理モジュールの
数だけ分割した各領域がそれぞれ割り当てられ、上記複
数の処理モジュールの処理回路は、複数の単位領域にお
ける担当領域をスキャンしながらピクセルを発生する。
Further, according to the first aspect, the areas in charge of the respective processing modules are assigned respective areas obtained by dividing a predetermined unit area by the number of the processing modules, and the processing circuits of the plurality of processing modules have a plurality of processing circuits. Generate pixels while scanning the area in charge of the unit area.

【0020】また、第1の観点では、各処理モジュール
の担当領域は、所定の単位領域を上記処理モジュールの
数だけ分割した各領域がそれぞれ割り当てられ、上記複
数の処理モジュールの処理回路は、複数の単位領域にお
ける担当領域をスキャンし、階層的に分割領域単位で同
時にピクセルを発生する。
Further, according to the first aspect, as the areas in charge of the respective processing modules, respective areas obtained by dividing a predetermined unit area by the number of the processing modules are respectively allocated, and the processing circuits of the plurality of processing modules have a plurality of processing circuits. The area in charge of each unit area is scanned, and pixels are simultaneously generated in a hierarchically divided area unit.

【0021】また、第1の観点では、上記メモリはメモ
リインターリーブされた複数のメモリモジュールを含
み、上記複数の処理モジュールと上記複数のメモリモジ
ュールとが一対一に対応しており、上記複数の処理モジ
ュールの処理回路は、自モジュールの担当する領域に対
する処理結果のみを描画して対応するメモリモジュール
に出力する。
According to a first aspect, the memory includes a plurality of memory interleaved memory modules, and the plurality of processing modules and the plurality of memory modules have a one-to-one correspondence with each other. The processing circuit of the module draws only the processing result for the area in charge of its own module and outputs it to the corresponding memory module.

【0022】また、好適には、上記領域判定回路は、プ
リミティブが自モジュールの担当領域に含まれると判定
した場合には入力情報を上記処理回路に出力し、含まれ
ていないと判定した場合には入力情報を上記処理回路に
出力せず棄てる。
Further, preferably, the area determination circuit outputs the input information to the processing circuit when it is determined that the primitive is included in the area that the module is in charge of, and when it is determined that the primitive is not included. Discards the input information without outputting it to the processing circuit.

【0023】本発明の第2の観点は、複数の処理モジュ
ールが処理データを共有して並列処理を行いメモリに描
画する画像処理方法であって、上記複数の処理モジュー
ルに対してインターリーブ状に分割して自モジュールが
処理する担当領域を割り当ておき、上記複数の処理モジ
ュールに対して描画すべきプリミティブに関する情報を
供給し、各処理モジュールにおいて、プリミティブがあ
らかじめインターリーブ状に分割された自モジュールの
担当領域に含まれるか否かを判定し、自モジュールの担
当領域に含まれると判定した場合に、供給された情報に
基づいて担当領域に対する描画処理を行う。
A second aspect of the present invention is an image processing method in which a plurality of processing modules share processing data, perform parallel processing, and draw in a memory, wherein the plurality of processing modules are divided in an interleaved manner. Then, the assigned area to be processed by the own module is allocated, and information about the primitives to be drawn is supplied to the above-mentioned plurality of processing modules. In each processing module, the assigned area of the own module in which the primitives are divided into interleaves beforehand. Is included in the assigned area of the module, and if it is determined that the included area is included in the assigned area of the own module, the drawing processing is performed on the assigned area based on the supplied information.

【0024】第2の観点では、上記複数の処理モジュー
ルには、描画すべきプリミティブに関する同一の情報を
ブロードキャストする。
In the second aspect, the same information regarding the primitive to be drawn is broadcast to the plurality of processing modules.

【0025】第2の観点では、上記複数の処理モジュー
ルには、描画すべき異なるプリミティブに関する情報を
それぞれ供給する。
In the second aspect, the plurality of processing modules are respectively supplied with information regarding different primitives to be drawn.

【0026】好適には、上記複数の処理モジュールにお
いては、自モジュールの担当する領域に含まれるピクセ
ルのみを描画する。
Preferably, each of the plurality of processing modules draws only the pixels included in the area in which the module is in charge.

【0027】また、第2の観点では、各処理モジュール
の担当領域として、所定の単位領域を上記処理モジュー
ルの数だけ分割した各領域をそれぞれ割り当て、上記複
数の処理モジュールにおいては、複数の単位領域におけ
る担当領域をスキャンしながらピクセルを発生する。
Further, in the second aspect, as the areas in charge of each processing module, respective areas obtained by dividing a predetermined unit area by the number of the processing modules are respectively allocated, and in the plurality of processing modules, a plurality of unit areas are allocated. Generate pixels while scanning the area in charge.

【0028】また、第2の観点では、各処理モジュール
の担当領域として、所定の単位領域を上記処理モジュー
ルの数だけ分割した各領域をそれぞれ割り当て、上記複
数の処理モジュールにおいては、複数の単位領域におけ
る担当領域をスキャンし、階層的に分割領域単位で同時
にピクセルを発生する。
Further, in the second aspect, as the areas in charge of the respective processing modules, respective areas obtained by dividing a predetermined unit area by the number of the processing modules are respectively allocated, and in the plurality of processing modules, a plurality of unit areas are allocated. The area in charge is scanned and pixels are simultaneously generated in a hierarchically divided area unit.

【0029】また、第2の観点では、上記メモリを、複
数のメモリモジュールにインターリーブして、上記複数
の処理モジュールと上記複数のメモリモジュールとを一
対一に対応させ、上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に対する処理結果のみ
を描画して対応するメモリモジュールに出力する。
According to a second aspect, the memory is interleaved with a plurality of memory modules so that the plurality of processing modules correspond to the plurality of memory modules in a one-to-one correspondence. , Draws only the processing result for the area in charge of its own module and outputs it to the corresponding memory module.

【0030】本発明によれば、たとえば同じ描画プリミ
ティブに関する情報が各処理モジュールにブロードキャ
ストされる。また、各処理モジュールは、インターリー
ブされた各メモリモジュールと対応付けられる。そし
て、各処理モジュールの領域判定回路において、入力情
報に係るプリミティブがあらかじめインターリーブ状に
分割された自モジュールの担当領域に含まれるか否かの
判定が行われる。各領域判定回路において、プリミティ
ブが自モジュールの担当領域に含まれると判定した場合
には入力情報が自モジュールの処理回路に出力される。
一方、含まれていないと判定した場合には入力情報が処
理回路に出力されず破棄される。そして、描画プリミテ
ィブに関する情報を受けた各処理回路において、たとえ
ば入力情報に基づいて自モジュールの担当する領域に含
まれるピクセルのみが描画されて対応するメモリモジュ
ールに送られる。
According to the invention, for example, information about the same drawing primitive is broadcast to each processing module. Further, each processing module is associated with each interleaved memory module. Then, in the area determination circuit of each processing module, it is determined whether or not the primitive related to the input information is included in the area in charge of the own module, which is divided into interleaves in advance. In each area determination circuit, when it is determined that the primitive is included in the area of its own module, the input information is output to the processing circuit of its own module.
On the other hand, when it is determined that the input information is not included, the input information is not output to the processing circuit and is discarded. Then, in each processing circuit that has received the information regarding the drawing primitive, for example, only the pixels included in the area that the module owns are drawn based on the input information and sent to the corresponding memory module.

【0031】[0031]

【発明の実施の形態】以下、本実施形態においては、パ
ーソナルコンピュータなどに適用される、任意の3次元
物体モデルに対する所望の3次元画像をCRT(Cathode
Ray Tube)などのディスプレイ上に高速に表示する3次
元コンピュータグラフィックスシステムについて説明す
る。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, in the present embodiment, a desired three-dimensional image for an arbitrary three-dimensional object model, which is applied to a personal computer or the like, is displayed on a CRT (Cathode).
A three-dimensional computer graphics system that displays at high speed on a display such as a Ray Tube will be described.

【0032】図3は、本発明に係る画像処理装置として
の3次元コンピュータグラフィックスシステム10のシ
ステム構成図である。
FIG. 3 is a system configuration diagram of a three-dimensional computer graphics system 10 as an image processing apparatus according to the present invention.

【0033】3次元コンピュータグラフィックスシステ
ム10は、立体モデルを単位図形である三角形(ポリゴ
ン)の組み合わせとして表現し、このポリゴンを描画す
ることで表示画面の各ピクセルの色を決定し、ディスプ
レイに表示するポリゴンレンダリング処理を行うシステ
ムである。また、3次元コンピュータグラフィックスシ
ステム10では、平面上の位置を表現する(x,y)座
標の他に、奥行きを表すz座標を用いて3次元物体を表
し、この(x,y,z)の3つの座標で3次元空間の任
意の一点を特定する。
The three-dimensional computer graphics system 10 expresses a three-dimensional model as a combination of triangles (polygons) which are unit figures, draws these polygons to determine the color of each pixel on the display screen, and displays them on the display. This is a system for performing polygon rendering processing. In addition, in the three-dimensional computer graphics system 10, in addition to the (x, y) coordinates that represent the position on the plane, the z coordinate that represents the depth is used to represent the three-dimensional object, and this (x, y, z) An arbitrary point in the three-dimensional space is specified by the three coordinates.

【0034】図3に示すように、3次元コンピュータグ
ラフィックスシステム10は、メインプロセッサ11、
メインメモリ12、I/Oインタフェース回路13、お
よびレンダリング回路14が、メインバス15を介して
接続されている。以下、各構成要素の機能について説明
する。
As shown in FIG. 3, the three-dimensional computer graphics system 10 includes a main processor 11,
The main memory 12, the I / O interface circuit 13, and the rendering circuit 14 are connected via the main bus 15. The function of each component will be described below.

【0035】メインプロセッサ11は、たとえば、アプ
リケーションの進行状況などに応じて、メインメモリ1
2から必要なグラフィックデータを読み出し、このグラ
フィックデータに対して、座標変換、クリッピング(Cli
pping)処理、ライティング(Lighting)処理などのジオメ
トリ(Geometry)処理などを行い、ポリゴンレンダリング
データを生成する。メインプロセッサ11は、ポリゴン
レンダリングデータS11を、メインバス15を介して
レンダリング回路14に出力する。
The main processor 11 uses the main memory 1 according to the progress status of the application, for example.
Read the required graphic data from 2 and perform coordinate conversion and clipping (Cli
Geometry processing such as pping processing and lighting processing is performed to generate polygon rendering data. The main processor 11 outputs the polygon rendering data S11 to the rendering circuit 14 via the main bus 15.

【0036】I/Oインタフェース回路13は、必要に
応じて、外部から動きの制御情報またはポリゴンレンダ
リングデータなどを入力し、これをメインバス15を介
してレンダリング回路14に出力する。
The I / O interface circuit 13 inputs motion control information or polygon rendering data from the outside as necessary, and outputs this to the rendering circuit 14 via the main bus 15.

【0037】レンダリング回路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)を用いて行われる。すなわち、ポリゴンレン
ダリングデータは、三角形の各頂点の物理座標値と、そ
れぞれの頂点の色とテクスチャデータである。
The polygon rendering data input to the rendering circuit 14 includes (x,
y, z, R, G, B, s, t, q) data. Here, the (x, y, z) data indicates the three-dimensional coordinates of the vertices of the Polingo, and the (R, G, B) data indicates the brightness values of red, green, and blue at the three-dimensional coordinates, respectively. There is. In the (s, t, q) data, (s, t) indicates the homogeneous coordinates of the corresponding texture, and q indicates the homogeneous term. Where "s / q" and "t / q"
, Texture size USIZE and VSI respectively
The actual texture coordinate data (u, v) multiplied by ZE
Is obtained. The texture data stored in the graphics memory (specifically, the texture buffer) of the rendering circuit 14 is accessed using the texture coordinate data (u, v). That is, the polygon rendering data is the physical coordinate value of each vertex of the triangle, and the color and texture data of each vertex.

【0038】以下、レンダリング回路14について詳細
に説明する。
The rendering circuit 14 will be described in detail below.

【0039】図4に示すように、レンダリング回路14
は、線形補間演算のための初期設定演算ブロックとして
の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を有している。
As shown in FIG. 4, the rendering circuit 14
Is a DDA (Digital Differential Anarizer) setup circuit 141 as an initial setting calculation block for linear interpolation calculation, a plurality of (four in this embodiment) area determination circuits 142-0 to 142-3, and a linear interpolation processing block. Triangle DDA circuit (hereinafter, simply referred to as DDA circuit) 143-0 to 143-3, texture engine circuit 144-0 to 144-3, memory interface (I / F) circuit 145-0 to 145-3, dedicated memory I
It has a / F circuit 146, a graphics memory 147 composed of, for example, a DRAM, a CRT control circuit 148, a setup data broadcast bus 149, and a texture bus 150.

【0040】本実施形態におけるレンダリング回路14
は、一つの半導体チップ内にロジック回路と少なくとも
表示データとテクスチャデータとを記憶するグラフィッ
クスメモリ147とが混載されている。
The rendering circuit 14 in this embodiment
In one semiconductor chip, a logic circuit and a graphics memory 147 for storing at least display data and texture data are mounted together.

【0041】レンダリング回路14において、DDAセ
ットアップ回路141の出力に対して複数個、本実施形
態では4個の処理モジュール140−0〜140−3が
ブロードキャストバス149により並列に接続され、複
数の処理モジュール140−0〜140−3で処理デー
タを共有し、各モジュール単位で割り当てられた担当描
画領域を並列に処理する。
In the rendering circuit 14, a plurality of, four in the present embodiment, four processing modules 140-0 to 140-3 are connected in parallel by the broadcast bus 149 to the output of the DDA setup circuit 141, and a plurality of processing modules are provided. The processing data is shared by 140-0 to 140-3, and the drawing areas assigned to each module are processed in parallel.

【0042】そして、グラフィックスメモリ147は、
各処理モジュール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に対応して
おり、描画系について他のメモリモジュールに対するメ
モリアクセスが発生しない。
Then, the graphics memory 147 is
The processing modules 140-0 to 140-3 are divided into a plurality (four in the present embodiment) of memory modules 147-0 to 147-3 having the same function. In each of the processing modules 140-0 to 140-3, the memory modules 147-0 to 147-3 are interleaved in a processing size, for example, in a unit of 4 × 4 rectangular area,
Memory module 147-0 and processing module 140-
0, memory module 147-1 and processing module 14
0-1, the memory module 147-2 and the processing module 140-2, and the memory module 147-3 and the processing module 140-3 are in charge of one-to-one correspondence with each other, and the drawing system with respect to other memory modules. No memory access occurs.

【0043】図5および図6は、本実施形態に係る並列
化処理の基本概念を説明するための図である。図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は、後述するように、複数の単位領域における担当
領域をスキャンしながらピクセルを発生する。
FIGS. 5 and 6 are diagrams for explaining the basic concept of parallelization processing according to this embodiment. As shown in FIG. 5, in the present embodiment, the DDA setup circuit 1
Information (triangle data) regarding the same triangle primitive 41 is sent to each processing module 140-0 to 140-3 as a pixel generating means. As described above, the processing modules 140-0 to 140-3 are associated with the memory modules 147-0 to 147-3, respectively, and the areas RGN0 to RG in charge of the own module are in charge.
Only the pixels included in N3 are drawn and sent to the corresponding memory modules 147-0 to 147-3. Responsible areas RGN0 to R of each processing module 140-0 to 140-3
As GN3, a predetermined unit area (16 units in this embodiment) is used.
Each region obtained by dividing the (× 16 pixel rectangular region) by the number of processing modules (4 in this embodiment) is allocated. Each processing module 140-0 to 140
-3, as will be described later, generates pixels while scanning areas in charge in a plurality of unit areas.

【0044】たとえば図6(A)に示すような三角形を
描画する場合、従来は矩形領域単位でピクセルを生成し
ていたが、本実施形態では、図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に送る。
For example, when a triangle as shown in FIG. 6A is drawn, pixels are conventionally generated in units of rectangular areas, but in the present embodiment, as shown in FIGS. 6B to 6E. In the area RGN0 to RGN in charge of its own module
Only pixels included in No. 3 are drawn and sent to the corresponding memory modules 147-0 to 147-3. In particular,
As shown in FIGS. 6A and 6B, the region RGN
The pixels contained in 0 are sent to the memory module 147-0. Similarly, as shown in FIGS. 6A and 6C, the pixels included in the region RGN1 are sent to the memory module 147-1. As shown in FIGS. 6A and 6D, the pixels included in the region RGN2 are sent to the memory module 147-2. 6A and 6A.
As shown in (E), the pixels included in the region RGN3 are sent to the memory module 147-3.

【0045】すなわち、本実施形態では、並列処理の粒
度という観点からはピクセルレベルの並列処理を採用し
ている。そして、ピクセルレベルの並列処理では並列度
に限界があるので、複数のプリミティブを同時に処理す
る。本実施形態では、同一のプリミティブに関して担当
領域を複数の処理モジュール140−0〜140−3に
割り当てて並列に処理する。また、本実施形態では、各
処理モジュール140−0〜140−3とメモリモジュ
ール147−0〜147−3を直結できる処理分配と
し、配線本数を削減し、小型化することができる。その
結果、設計を容易とし、配線コスト、配線遅延を低減し
ている。これにより、本実施形態では、三角形プリミテ
ィブデータはブロードキャスト、ピクセルは1対1の転
送となり、単純なデータ転送を実現している。また、た
とえば巨大なトライアングルが入力された場合であって
も、各処理モジュールで効率の良い並列処理が可能とな
っている。
That is, in this embodiment, pixel level parallel processing is adopted from the viewpoint of the granularity of parallel processing. Since the parallelism at the pixel level has a limit on the degree of parallelism, a plurality of primitives are processed at the same time. In this embodiment, areas in charge of the same primitive are assigned to a plurality of processing modules 140-0 to 140-3 and processed in parallel. Further, in the present embodiment, the processing distribution can be directly connected to the processing modules 140-0 to 140-3 and the memory modules 147-0 to 147-3, and the number of wirings can be reduced and the size can be reduced. As a result, the design is facilitated and the wiring cost and wiring delay are reduced. As a result, in this embodiment, triangle primitive data is broadcast and pixels are transferred one-to-one, so that simple data transfer is realized. Further, even when a huge triangle is input, for example, efficient parallel processing is possible in each processing module.

【0046】一方、各処理モジュール140−0〜14
0−3は、テクスチャリード系に関しては、他の処理モ
ジュールに対するメモリアクセスを必要とする。この場
合は、各処理モジュール140−0〜140−3のテク
スチャエンジン回路144−0〜144−3は、図3に
示すように、テクスチャバス150を介して専用メモリ
I/D回路146と通信してメモリアクセスを行う。
On the other hand, each processing module 140-0 to 14
0-3 requires memory access to other processing modules for the texture read system. In this case, the texture engine circuits 144-0 to 144-3 of the processing modules 140-0 to 140-3 communicate with the dedicated memory I / D circuit 146 via the texture bus 150 as shown in FIG. Access the memory.

【0047】本実施形態において、処理モジュール14
0−0は、領域判定回路142−0、DDA回路143
−0、テクスチャエンジン回路144−0、およびメモ
リI/F回路145−0を有している。そして、DDA
回路143−0、テクスチャエンジン回路144−0、
およびメモリI/F回路145−0により処理回路が構
成される。
In this embodiment, the processing module 14
0-0 is the area determination circuit 142-0 and the DDA circuit 143.
-0, a texture engine circuit 144-0, and a memory I / F circuit 145-0. And DDA
Circuit 143-0, texture engine circuit 144-0,
The memory I / F circuit 145-0 constitutes a processing circuit.

【0048】同様に、処理モジュール140−1は、領
域判定回路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により処理回路が構成
される。
Similarly, the processing module 140-1 has a region determination circuit 142-1, a DDA circuit 143-1, a texture engine circuit 144-1, and a memory I / F circuit 145-1. Then, the DDA circuit 143-
1, the texture engine circuit 144-1 and the memory I / F circuit 145-1 constitute a processing circuit. The processing module 140-2 includes an area determination circuit 142-2,
DDA circuit 143-2, texture engine circuit 144
-2, and a memory I / F circuit 145-2. Then, the DDA circuit 143-2, the texture engine circuit 144-2, and the memory I / F circuit 145-2.
A processing circuit is configured by Processing module 140-
3 is a region determination circuit 142-3 and a DDA circuit 143-
3, a texture engine circuit 144-3, and a memory I / F circuit 145-3. The DDA circuit 143-3, the texture engine circuit 144-3, and the memory I / F circuit 145-3 form a processing circuit.

【0049】以下、レンダリング回路14の各ブロック
の構成および機能について、図面に関連付けて順を追っ
て説明する。
The structure and function of each block of the rendering circuit 14 will be described below in order with reference to the drawings.

【0050】DDAセットアップ回路141は、後段の
各処理モジュール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に並列に出力する(分配する)。
The DDA setup circuit 141 linearly interpolates the values of the vertices of the triangle on the physical coordinate system in the DDA circuits 143-0 to 143-34 of the respective processing modules 140-0 to 140-3 in the subsequent stage to perform linear interpolation. Before the color and depth information of each pixel inside the
(Z, R, G, B, s, t, q) data indicated by the polygon rendering data S11 input via
Perform a setup operation to find the difference between the sides of the triangle and the horizontal direction. Specifically, this setup calculation uses the values of the start point and end point and the distance between the start point and end point to calculate the variation of the value to be obtained when the unit length is moved. . DDA setup circuit 143
Sends information about the input triangle including the calculated variation data through the broadcast bus 149 to the area determination circuits 142-0 to 142-0 of the processing modules 140-0 to 140-3.
142-3 in parallel (output).

【0051】DDAセットアップ回路141の機能につ
いて図7に関連付けてさらに説明する。上述したよう
に、DDAセットアップ回路141の主な処理は、前段
のジオメトリ処理を経て物理座標にまで落ちてきた各頂
点における各種情報(色、テクスチャ座標)の与えられ
た三頂点P0(x0,y0)、P1(x1,y1)、P
2(x2,y2)により構成される三角形内部で変分を
求めて、後段の線形補間処理の基礎デ−タを算出するこ
とである。三角形の描画はひとつひとつのピクセルの描
画に集約されるが、そのために描画開始点における最初
の値を求める必要がある。最初の描画点における各種情
報は、頂点からその最初の描画点までの水平距離に水平
方向の変分を掛けた値と、垂直距離に垂直方向の変分を
掛けた値を足し合わせたものとなる。いったん目的の三
角形の内部の一つの整数格子上の値が求まれば、対象の
三角形内部のその他の格子点における値は変分の整数倍
で求めることが可能となる。
The function of the DDA setup circuit 141 will be further described with reference to FIG. As described above, the main processing of the DDA setup circuit 141 is the three vertices P0 (x0, y0) to which various kinds of information (color, texture coordinates) at each vertex that has fallen to the physical coordinates through the geometry processing of the previous stage. ), P1 (x1, y1), P
This is to calculate the variation within the triangle formed by 2 (x2, y2) and calculate the basic data of the subsequent linear interpolation processing. The drawing of a triangle is concentrated on the drawing of each pixel, but for that purpose it is necessary to find the first value at the drawing start point. The various information at the first drawing point is obtained by adding the value obtained by multiplying the horizontal distance from the vertex to the first drawing point by the horizontal variation and the value obtained by multiplying the vertical distance by the vertical variation. Become. Once the value on one integer grid inside the target triangle is found, the values at other grid points inside the target triangle can be found by integer multiples of the variation.

【0052】なお、三角形の各頂点データは、たとえば
x,y座標が16ビット、z座標が24ビット、RGB
カラー値が各12ビット(=8+4)、s,t,qテク
スチャ座標は各32ビット浮動少数値(IEEEフォー
マット)等で構成される。
Each vertex data of the triangle has, for example, x and y coordinates of 16 bits, z coordinates of 24 bits, and RGB.
The color value is 12 bits (= 8 + 4), and the s, t, q texture coordinates are each 32 bits floating point value (IEEE format).

【0053】なお、このDDAセットアップ回路141
は、たとえばDSP構造ではなく、ASIC手法により
実装している。具体的には、図8に示すように、多段に
配置したレジスタ1411−1〜1413間に並列に複
数の演算ユニットを並列に配置した演算ユニット群14
12−1〜1412−3を挿入したフルデータパスロジ
ック、換言すれば、同期パイプライン方式の時間並列構
造として構成されている。
The DDA setup circuit 141
Are mounted by the ASIC method instead of the DSP structure, for example. Specifically, as shown in FIG. 8, an arithmetic unit group 14 in which a plurality of arithmetic units are arranged in parallel between the registers 1411-1 to 1413 arranged in multiple stages
It is configured as a full data path logic having 12-1 to 1412-3 inserted, in other words, a time parallel structure of a synchronous pipeline system.

【0054】処理モジュール140−0の領域判定回路
142−0は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N0に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−0に出力する。一
方、領域判定回路142−0は、三角形があらかじめ規
定されている自モジュールの担当領域RGN0に含まれ
ていない場合には、入力情報を次段のDDA回路143
−0に出力せずに棄てる。この領域判定回路142−0
は、担当領域RGN0に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
The area determination circuit 142-0 of the processing module 140-0 receives the information about the triangle including the variation data by the DDA setup circuit 141 input via the broadcast bus 149, and the triangle is defined in advance. Area RG of own module
It is determined whether or not N0 is included, and if it is included, the input information is output to the DDA circuit 143-0 at the next stage. On the other hand, when the triangle is not included in the assigned area RGN0 of the own module in which the triangle is defined in advance, the area determination circuit 142-0 outputs the input information to the DDA circuit 143 of the next stage.
Discard without outputting to -0. This area determination circuit 142-0
Determines whether the assigned area RGN0 includes a triangle using the coordinates of the start point and the end point in the X direction and the Y direction included in the input information.

【0055】処理モジュール140−0の担当領域RG
N0は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2マトリクスの左上の領域である。したがっ
て、領域判定回路142−0は、該当する三角形の一部
がこの担当領域RGN0に掛かっている(含まれてい
る)か否かの判定を行う。
Area RG in charge of the processing module 140-0
N0 is an upper left region of a 2 × 2 matrix, as shown in FIG. 9, where a generation unit of 4 × 4 pixels per cycle for one processing module is used, for example. Therefore, the area determination circuit 142-0 determines whether or not a part of the corresponding triangle is (is included) in this assigned area RGN0.

【0056】図10および図11は、領域判定回路14
2の判定処理を概念的に説明するための図であって、図
10は4並列の場合の例を示し、図11は8並列の場合
の例を示している。
10 and 11 show the area determination circuit 14
It is a figure for demonstrating notionally the 2 determination process, FIG. 10 has shown the example in case of 4 parallel, and FIG. 11 has shown the example in case of 8 parallel.

【0057】図10および図11の例では、三角形PM
11およびPM12が処理モジュール140−0の担当
領域RGN0に含まれる領域が全くないことから、領域
判定回路142−0は、三角形があらかじめ規定されて
いる自モジュールの担当領域RGN0に含まれていない
ものとして、入力情報を次段のDDA回路143−0に
出力せずに棄てる。
In the example of FIGS. 10 and 11, the triangle PM
11 and PM12 include no region included in the assigned region RGN0 of the processing module 140-0, the region determination circuit 142-0 is not included in the assigned region RGN0 of its own module in which a triangle is defined in advance. As input, the input information is discarded without being output to the DDA circuit 143-0 at the next stage.

【0058】なお、ここでは、処理モジュール140−
0の領域判定回路142−0の処理を例に示している
が、他の処理モジュール140−1〜140−3の領域
判定回路142−1〜142−3における処理も同様に
行われる。
In this case, the processing module 140-
Although the processing of the area determination circuit 142-0 of 0 is shown as an example, the processing of the area determination circuits 142-1 to 142-3 of the other processing modules 140-1 to 140-3 is performed in the same manner.

【0059】図12は、各処理モジュール140−0〜
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に出力する。
FIG. 12 shows each processing module 140-0.
Area determination circuits 142-0 to 142- in 140-3
It is a flow chart which shows judgment processing operation of 3. 12
As shown in, the area determination circuit 142 (-0 to 3) first determines whether or not the area in charge is included between the start point coordinates and the end coordinates in the X direction (ST1). When it is determined in step ST1 that the assigned area is not included, the area determination circuit 142 determines whether the assigned area is included between the start point coordinate and the end coordinate in the Y direction (ST2). . Then, when it is determined in step ST2 that the assigned area is not included, the input information is discarded without being output to the DDA circuit 143 (−0 to 3) of the next stage. On the other hand, step ST1 or step ST2
In, when it is determined that the area in charge is included,
The input information is output to the DDA circuit 143 at the next stage.

【0060】処理モジュール140−0のDDA回路1
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ピクセルである。
DDA circuit 1 of processing module 140-0
43-0 is linearly interpolated (z, R, G, B, s, t, in each pixel of the area in charge of the triangle using the variation data supplied from the area determination circuit 142-0.
q) Calculate the data. The DDA circuit 143-0 sets the (x, y) data of each pixel and the (z, R, G, B, s, t, q) data at the (x, y) coordinates to DD.
It is output to the texture engine circuit 144-0 as A data (interpolation data). That is, the DDA circuit 143-
0 performs rasterization based on the parameter data, for example, when the triangle is the area that it is in charge of. Specifically, when the triangle is the area in charge of itself, various data (z, texture coordinates, color, etc.) is rasterized. In this case, the generation unit is 4 × 4 pixels in one cycle per local module.

【0061】DDA回路143−0の機能について図1
3に関連付けてさらに説明する。上述したように、前段
のDDAセットアップ回路141により、三角形の描画
開始点における最初の値、水平方向(X方向)および垂
直方向(Y方向)における先出の各種情報の傾き情報が
準備される。ここでの基本的処理は、与えられた三角形
の内部に含まれる整数格子上の値を求めることであり、
その処理の実体は描画開始点からの整数距離と傾きの掛
け算ということになる。また、実際には掛け算を行うと
いうより、水平方向(X方向)に1ピクセル進め水平方
向の傾き分を足しこめば1ピクセル進んだ分の値が求め
られるということになる。よって、計算内容としては、
一定値の加算処理となる。
The function of the DDA circuit 143-0 is shown in FIG.
Further description will be given in connection with No. 3. As described above, the DDA setup circuit 141 at the preceding stage prepares the initial value at the drawing start point of the triangle and the inclination information of the various information described above in the horizontal direction (X direction) and the vertical direction (Y direction). The basic process here is to find the values on the integer grid contained within the given triangle,
The substance of the process is that the integral distance from the drawing start point is multiplied by the slope. Further, actually, rather than performing multiplication, a value of one pixel advanced in the horizontal direction (X direction) can be obtained by adding the amount of inclination in the horizontal direction. Therefore, as the calculation content,
This is a constant value addition process.

【0062】ただし、本実施形態に係るDDA回路は、
図1に示すように一系列のピクセル生成処理を行う場合
とスキャンの仕方が異なる。たとえば図13(A)に示
すような三角形を描画する場合、従来は矩形領域単位で
ピクセルを生成していた。すなわち、図中、破線で示す
処理開始点からX方向にスキャンしていき、三角形の外
に出たらY方向に移動して再びスキャンを行っていた。
これに対して、本実施形態では、処理開始点から自モジ
ュールの担当領域に移動する。そして、X方向にスキャ
ンする。三角形の外に出たらY方向に移動して再びX方
向にスキャンする。すなわち、担当領域を割り振って並
列処理を行う本実施形態では、スキャン自の移動の幅
が、従来と異なる。処理モジュール140−0のDDA
回路143−0は、上述したように、2×2分割の矩形
領域の左上領域が担当領域である。本例では、図13
(B)に示すように、破線で示す処理開始点が自モジュ
ールの担当領域RGN0であることから、DDA回路1
43−0は、次に、Y方向(図面で上方向)に移動し、
再びX方向(図面で右方向)にスキャンする。
However, the DDA circuit according to this embodiment is
As shown in FIG. 1, the method of scanning is different from the case of performing a series of pixel generation processing. For example, when drawing a triangle as shown in FIG. 13A, pixels are conventionally generated in units of rectangular areas. That is, in the figure, the scanning is started in the X direction from the processing start point indicated by the broken line, and when it goes out of the triangle, it moves in the Y direction and scans again.
On the other hand, in the present embodiment, the processing start point is moved to the area in charge of the own module. Then, scanning is performed in the X direction. When it goes out of the triangle, it moves in the Y direction and scans in the X direction again. That is, in the present embodiment in which the assigned area is allocated and the parallel processing is performed, the width of movement of the scan itself is different from the conventional one. DDA of processing module 140-0
As described above, in the circuit 143-0, the upper left area of the 2 × 2 divided rectangular area is the area in charge. In this example, FIG.
As shown in (B), since the processing start point indicated by the broken line is the assigned area RGN0 of the own module, the DDA circuit 1
43-0 then moves in the Y direction (upward in the drawing),
Scan again in the X direction (to the right in the drawing).

【0063】なお、ここでは、処理モジュール140−
0のDDA回路143−0の処理を例に示しているが、
他の処理モジュール140−1〜140−3のDDA回
路143−1〜143−3における処理も同様に行われ
る。
Here, the processing module 140-
Although the processing of the DDA circuit 143-0 of 0 is shown as an example,
The processing in the DDA circuits 143-1 to 143-3 of the other processing modules 140-1 to 140-3 is performed in the same manner.

【0064】図14は、各処理モジュール140−0〜
140−3におけるDDA回路143−0〜143−3
の判定処理動作を示すフローチャートである。図14に
示すように、DDA回路143(−0〜3)は、まず、
処理開始点からX方向およびY方向それぞれについて終
了方向に最も近い担当領域へ移動する(ST11)。次
に、担当領域の中で、三角形(トライアングル)の内部
にある部分についてピクセルを生成する(ST12)。
FIG. 14 shows each processing module 140-0.
DDA circuits 143-0 to 143-3 in 140-3
5 is a flowchart showing the determination processing operation of FIG. As shown in FIG. 14, the DDA circuit 143 (−0 to 3) first
The process moves from the processing start point to the assigned area closest to the end direction in each of the X and Y directions (ST11). Next, pixels are generated for a portion within the triangle (triangle) in the assigned area (ST12).

【0065】テクスチャエンジン回路144−0は、
「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)を
生成する。
The texture engine circuit 144-0 is
Calculation processing of “s / q” and “t / q”, calculation processing of texture coordinate data (u, v), (R, G, from the texture buffer included in the graphics memory 147).
B) The data read processing and the like are performed by a pipeline method. Note that the texture engine circuit 144-0 cooperates with the texture engine circuits 144-1 to 144-3 of the other processing modules 140-1 to 140-3 to, for example, for 8 pixels located in a predetermined rectangle. Perform processing concurrently in parallel. Texture engine circuit 144-
0 is DD by the DDA circuit 144-0 of its own module
For the (s, t, q) data indicated by the A data, an operation of dividing s data by q data and an operation of dividing t data by q data are performed. In addition, the texture engine circuit 144-0 outputs the division results “s / q” and “t /
q ”to the texture sizes USIZE and V, respectively.
SIZE is multiplied to generate texture coordinate data (u, v).

【0066】また、テクスチャエンジン回路144−0
は、テクスチャバス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近傍補間
などのフィルタリング処理を行う。
Further, the texture engine circuit 144-0
Is the texture bus 150, the dedicated memory I / F circuit 14
6, a read request including the generated texture coordinate data (u, v) is output to the graphics memory 147, and the texture buffer included in the graphics memory 147 is output via the dedicated memory I / F circuit 146. By reading the stored texture data,
(R, G, B) data stored at the texture address corresponding to (s, t) data is obtained. The texture engine circuit 144-0 multiplies the read (R, G, B) data by the (R, G, B) data included in the DDA data from the preceding DDA circuit 143-0, respectively. To generate pixel data. The texture engine circuit 144-0 finally uses this pixel data as the color value of the pixel, and the memory I / F circuit 145.
Output to -0. In this case, the texture engine circuit 1
44-0 is the read texture data and (u,
v) The address is subjected to filtering processing such as 4-neighbor interpolation using the decimal part obtained at the time of calculation.

【0067】なお、テクスチャバッファには、MIPM
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
The texture buffer contains MIPM.
Texture data corresponding to a plurality of reduction ratios such as AP (multi-resolution texture) is stored. Here, which reduction rate of texture data is used is determined for each triangle by using a predetermined algorithm.

【0068】テクスチャエンジン回路144−0は、フ
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−0は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
In the case of the full color system, the texture engine circuit 144-0 directly uses the (R, G, B) data read from the texture buffer. On the other hand, in the case of the index color system, the texture engine circuit 144-0 stores SR of the data of the color index table created in advance from the texture color lookup table (CLUT) buffer.
Transfer to a temporary storage buffer composed of AM etc.,
Using this color lookup table, (R, G, B) data corresponding to the color index read from the texture buffer is obtained. For example, when the color look-up table is composed of SRAM, when the color index is input to the address of SRAM, the actual (R, G, B) data appears at the output.

【0069】メモリI/F回路145−0は、テクスチ
ャエンジン回路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に描
画する。
The memory I / F circuit 145-0 stores the z data corresponding to the pixel data input from the texture engine circuit 144-0 and the z data stored in the z buffer included in the memory module 147-0. The image drawn by the comparison and input pixel data is in front (viewpoint side) from the image written in the memory module 147-0 (display buffer) last time.
If it is located in front,
The z data stored in the z buffer is updated with the z data corresponding to the image data. In addition, the memory I / F circuit 145
-0 indicates (R, G, B) data in the memory module 14
Write to 7-0. The memory I / F circuit 145-0 is a memory module 147 that stores pixel data corresponding to a pixel address which is about to be drawn.
With respect to −0, the pixel data is read from the corresponding address in order to perform the modified writing, and the modified data is written back to the same address. When performing hidden surface processing, it is necessary to read the depth data from the corresponding address for modification writing to the memory block that also stores the depth data corresponding to the pixel address that is about to be drawn. If so, write back to the same address after modification. Further, the memory I / F circuit 145-0 is the texture engine circuit 14
Upon receiving the pixel-level processing result supplied by 4-0, the pixel data that has passed various tests in the pixel-level processing is drawn in the memory module 147-0.

【0070】処理モジュール140−1の領域判定回路
142−1は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N1に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−1に出力する。一
方、領域判定回路142−1は、三角形があらかじめ規
定されている自モジュールの担当領域RGN1に含まれ
ていない場合には、入力情報を次段のDDA回路143
−1に出力せずに棄てる。この領域判定回路142−1
は、担当領域RGN1に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
The area determination circuit 142-1 of the processing module 140-1 receives the information about the triangle including the variation data by the DDA setup circuit 141 input via the broadcast bus 149, and the triangle is defined in advance. Area RG of own module
It is determined whether or not it is included in N1, and if it is included, the input information is output to the DDA circuit 143-1 at the next stage. On the other hand, when the triangle is not included in the assigned area RGN1 of the own module in which the triangle is defined in advance, the area determination circuit 142-1 outputs the input information to the DDA circuit 143 of the next stage.
Discard without outputting to -1. This area determination circuit 142-1
Determines whether the assigned area RGN1 includes a triangle by using the coordinates of the start point and the end point in the X direction and the Y direction included in the input information.

【0071】処理モジュール140−1の担当領域RG
N1は、たとえば1処理モジュール当たり1サイクルで
2×2ピクセルの生成単位とすると、図9に示すよう
に、2×2マトリクスの右上の領域である。したがっ
て、領域判定回路142−1は、該当する三角形の一部
がこの担当領域RGN1に掛かっている(含まれてい
る)か否かの判定を行う。
Area RG in charge of the processing module 140-1
N1 is the upper right region of the 2 × 2 matrix, as shown in FIG. 9, when the unit of generation is, for example, 2 × 2 pixels in one cycle per processing module. Therefore, the area determination circuit 142-1 determines whether or not a part of the corresponding triangle is (is included) in this assigned area RGN1.

【0072】たとえば図10の例では、三角形PM11
が処理モジュール140−1の担当領域RGN1に含ま
れる領域が全くないことから、領域判定回路142−1
は、三角形PM11があらかじめ規定されている自モジ
ュールの担当領域RGN1に含まれていないものとし
て、入力情報を次段のDDA回路143−1に出力せず
に棄てる。一方、図10の例における三角形PM12
は、処理モジュール140−1の担当領域RGN1に含
まれる領域があることから、領域判定回路142−1
は、三角形PM12があらかじめ規定されている自モジ
ュールの担当領域RGN1に含まれているものとして、
入力情報を次段のDDA回路143−1に出力する。
For example, in the example of FIG. 10, a triangle PM11
Is not included in the assigned area RGN1 of the processing module 140-1 at all, the area determination circuit 142-1
Assumes that the triangle PM11 is not included in the assigned area RGN1 of the own module which is defined in advance, and discards the input information without outputting it to the DDA circuit 143-1 at the next stage. On the other hand, the triangle PM12 in the example of FIG.
Indicates that there is a region included in the assigned region RGN1 of the processing module 140-1, and therefore the region determination circuit 142-1
Indicates that the triangle PM12 is included in the area RGN1 of the own module, which is defined in advance,
The input information is output to the DDA circuit 143-1 at the next stage.

【0073】処理モジュール140−1のDDA回路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ピクセルである。
DDA circuit 1 of processing module 140-1
43-1 linearly interpolates (z, R, G, B, s, t, at each pixel of the area in charge of the triangle using the variation data supplied from the area determination circuit 142-1.
q) Calculate the data. The DDA circuit 143-1 uses the (x, y) data of each pixel and the (z, R, G, B, s, t, q) data at the (x, y) coordinates as the DD data.
It is output to the texture engine circuit 144-1 as A data (interpolation data). That is, the DDA circuit 143-
1 performs rasterization (Rasterization) based on the parameter data, for example, when the triangle is the area in which the triangle is in charge. Specifically, when the triangle is the area in charge of itself, various data (z, texture coordinates, color, etc.) is rasterized. In this case, the generation unit is 4 × 4 pixels in one cycle per local module.

【0074】DDA回路143−1は、前段のDDAセ
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
The DDA circuit 143-1 uses the DDA setup circuit 141 in the preceding stage to set the first value at the drawing start point of the triangle, the horizontal direction (X direction), and the vertical direction (Y).
Inclination information of the various information described above in the direction) is prepared. The basic processing here is to obtain values on an integer grid included in a given triangle, and the substance of this processing is to multiply the integer distance from the drawing start point by the slope. Further, actually, rather than performing multiplication, a value of one pixel advanced in the horizontal direction (X direction) can be obtained by adding the amount of inclination in the horizontal direction. Therefore, the calculation content is a constant value addition process.

【0075】但し、本実施形態に係るDDA回路は、図
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−1のDDA回路
143−1は、上述したように、2×2分割の矩形領域
の右上領域が担当領域である。本例では、図13(C)
に示すように、破線で示す処理開始点からX方向にスキ
ャンして自モジュールの担当領域RGN1に移動する。
そして、DDA回路143−1は、次に、Y方向(図面
で上方向)に移動し、再びX方向(図面で右方向)にス
キャンする。
However, the DDA circuit according to the present embodiment is different from the case of performing a series of pixel generation processing as shown in FIG. 1 in the way of scanning. For example, when drawing a triangle as shown in FIG. 13A, pixels are conventionally generated in units of rectangular areas. That is, in the figure, the scanning is started in the X direction from the processing start point indicated by the broken line, and when it goes out of the triangle, it moves in the Y direction and scans again. On the other hand, in the present embodiment, the processing start point is moved to the area in charge of the own module. Then, scanning is performed in the X direction. When it goes out of the triangle, it moves in the Y direction and scans in the X direction again. That is, in the present embodiment in which a region in charge is allocated and parallel processing is performed, the width of movement of the scan itself is
Different from conventional. As described above, the DDA circuit 143-1 of the processing module 140-1 is in charge of the upper right area of the 2 × 2 divided rectangular area. In this example, FIG.
As shown in, the scan starts from the processing start point indicated by the broken line in the X direction and moves to the assigned area RGN1 of the own module.
Then, the DDA circuit 143-1 next moves in the Y direction (upward in the drawing) and scans again in the X direction (rightward in the drawing).

【0076】テクスチャエンジン回路144−1は、
「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)を生成する。
The texture engine circuit 144-1 is
Calculation processing of “s / q” and “t / q”, calculation processing of texture coordinate data (u, v), (R, G, from the texture buffer included in the graphics memory 147).
B) The data read processing and the like are performed by a pipeline method. The texture engine circuit 144-1 is the texture engine circuit 144-0, 144-2 to 14-3 of the other processing module 140-0, 140-2 to 140-3.
8 in cooperation with 4-3, for example located within a given rectangle
Pixels are processed simultaneously in parallel. The texture engine circuit 144-1 is the DDA of its own module.
DDA data from the circuit 144-1 indicates (s, t,
For q) data, an operation of dividing s data by q data and an operation of dividing t data by q data are performed. Further, the texture engine circuit 144-1 multiplies the division results “s / q” and “t / q” by the texture sizes USIZE and VSIZE, respectively, to generate texture coordinate data (u, v).

【0077】また、テクスチャエンジン回路144−1
は、テクスチャバス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近傍補間
などのフィルタリング処理を行う。
Further, the texture engine circuit 144-1
Is the texture bus 150, the dedicated memory I / F circuit 14
6, a read request including the generated texture coordinate data (u, v) is output to the graphics memory 147, and the texture buffer included in the graphics memory 147 is output via the dedicated memory I / F circuit 146. By reading the stored texture data,
(R, G, B) data stored at the texture address corresponding to (s, t) data is obtained. The texture engine circuit 144-1 multiplies the read (R, G, B) data by the (R, G, B) data included in the DDA data from the preceding DDA circuit 143-1. To generate pixel data. The texture engine circuit 144-1 finally uses the pixel data as the color value of the pixel, and the memory I / F circuit 145.
Output to -1. In this case, the texture engine circuit 1
44-1 includes the read texture data and (u,
v) The address is subjected to filtering processing such as 4-neighbor interpolation using the decimal part obtained at the time of calculation.

【0078】なお、テクスチャバッファには、MIPM
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
The texture buffer contains MIPM.
Texture data corresponding to a plurality of reduction ratios such as AP (multi-resolution texture) is stored. Here, which reduction rate of texture data is used is determined for each triangle by using a predetermined algorithm.

【0079】テクスチャエンジン回路144−1は、フ
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−1は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
In the case of the full color system, the texture engine circuit 144-1 directly uses the (R, G, B) data read from the texture buffer. On the other hand, in the case of the index color system, the texture engine circuit 144-1 incorporates the data of the color index table created in advance from the texture color lookup table (CLUT) buffer into an SR.
Transfer to a temporary storage buffer composed of AM etc.,
Using this color lookup table, (R, G, B) data corresponding to the color index read from the texture buffer is obtained. For example, when the color look-up table is composed of SRAM, when the color index is input to the address of SRAM, the actual (R, G, B) data appears at the output.

【0080】メモリI/F回路145−1は、テクスチ
ャエンジン回路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に描
画する。
The memory I / F circuit 145-1 stores the z data corresponding to the pixel data input from the texture engine circuit 144-1 and the z data stored in the z buffer included in the memory module 147-1. The image drawn by the comparison and input pixel data is in front (viewpoint side) from the image written in the memory module 147-1 (display buffer) last time.
If it is located in front,
The z data stored in the z buffer is updated with the z data corresponding to the image data. In addition, the memory I / F circuit 145
-1 indicates (R, G, B) data in the memory module 14
Write in 7-1. The memory I / F circuit 145-1 includes a memory module 147 that stores pixel data corresponding to a pixel address that is about to be drawn.
For -1, the pixel data is read from the corresponding address for modification writing, and after modification, writing back to the same address. When performing hidden surface processing, it is necessary to read the depth data from the corresponding address for modification writing to the memory block that also stores the depth data corresponding to the pixel address that is about to be drawn. If so, write back to the same address after modification. Further, the memory I / F circuit 145-1 is the texture engine circuit 14
Receiving the pixel-level processing result supplied by 4-1 the pixel data that has passed various tests in the pixel-level processing is drawn in the memory module 147-1.

【0081】処理モジュール140−2の領域判定回路
142−2は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N2に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−2に出力する。一
方、領域判定回路142−2は、三角形があらかじめ規
定されている自モジュールの担当領域RGN2に含まれ
ていない場合には、入力情報を次段のDDA回路143
−2に出力せずに棄てる。この領域判定回路142−2
は、担当領域RGN2に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
The area determination circuit 142-2 of the processing module 140-2 receives the information regarding the triangle including the variation data by the DDA setup circuit 141 input via the broadcast bus 149, and the triangle is defined in advance. Area RG of own module
It is determined whether or not it is included in N2, and if it is included, the input information is output to the DDA circuit 143-2 at the next stage. On the other hand, when the triangle is not included in the assigned area RGN2 of the own module in which the triangle is defined in advance, the area determination circuit 142-2 outputs the input information to the DDA circuit 143 of the next stage.
Discard without outputting to -2. This area determination circuit 142-2
Determines whether the assigned area RGN2 includes a triangle by using the coordinates of the start point and the end point in the X direction and the Y direction included in the input information.

【0082】処理モジュール140−2の担当領域RG
N2は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2分割の左下の領域である。したがって、領域
判定回路142−2は、該当する三角形の一部がこの担
当領域RGN2に掛かっている(含まれている)か否か
の判定を行う。
Area RG in charge of the processing module 140-2
N2 is a lower left region of 2 × 2 division, as shown in FIG. 9, when a generation unit of 4 × 4 pixels per one processing module is used, for example. Therefore, the area determination circuit 142-2 determines whether or not a part of the corresponding triangle is (is included) in this assigned area RGN2.

【0083】たとえば図10の例では、三角形PM11
が処理モジュール140−2の担当領域RGN2に含ま
れる領域があることから、領域判定回路142−2は、
三角形PM11があらかじめ規定されている自モジュー
ルの担当領域RGN2に含まれているものとして、入力
情報を次段のDDA回路143−2に出力する。一方、
図10の例における三角形PM12は、処理モジュール
140−2の担当領域RGN2に含まれる領域が全くな
いことから、領域判定回路142−2は、三角形PM1
2があらかじめ規定されている自モジュールの担当領域
RGN2に含まれていないものとして、入力情報を次段
のDDA回路143−2に出力せずに棄てる。
For example, in the example of FIG. 10, a triangle PM11
Is included in the assigned area RGN2 of the processing module 140-2, the area determination circuit 142-2
Assuming that the triangle PM11 is included in the assigned area RGN2 of the own module which is defined in advance, the input information is output to the DDA circuit 143-2 at the next stage. on the other hand,
Since the triangle PM12 in the example of FIG. 10 has no area included in the area RGN2 in charge of the processing module 140-2, the area determination circuit 142-2 determines that the triangle PM1.
2 is not included in the assigned area RGN2 of the own module defined in advance, the input information is discarded without being output to the DDA circuit 143-2 in the next stage.

【0084】処理モジュール140−2のDDA回路1
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ピクセルである。
DDA circuit 1 of processing module 140-2
43-2 linearly interpolates (z, R, G, B, s, t, at each pixel of the area in charge of the triangle using the variation data supplied from the area determination circuit 142-2.
q) Calculate the data. The DDA circuit 143-2 DD-converts the (x, y) data of each pixel and the (z, R, G, B, s, t, q) data at the (x, y) coordinates.
It is output to the texture engine circuit 144-2 as A data (interpolation data). That is, the DDA circuit 143-
2 performs rasterization based on the parameter data, for example, when the triangle is the area in which the triangle is in charge. Specifically, when the triangle is the area in charge of itself, various data (z, texture coordinates, color, etc.) is rasterized. In this case, the generation unit is 4 × 4 pixels in one cycle per local module.

【0085】DDA回路143−2は、前段のDDAセ
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
The DDA circuit 143-2 uses the DDA setup circuit 141 in the preceding stage to set the first value at the drawing start point of the triangle, the horizontal direction (X direction) and the vertical direction (Y direction).
Inclination information of the various information described above in the direction) is prepared. The basic processing here is to obtain values on an integer grid included in a given triangle, and the substance of this processing is to multiply the integer distance from the drawing start point by the slope. Further, actually, rather than performing multiplication, a value of one pixel advanced in the horizontal direction (X direction) can be obtained by adding the amount of inclination in the horizontal direction. Therefore, the calculation content is a constant value addition process.

【0086】但し、本実施形態に係るDDA回路は、図
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−2のDDA回路
143−2は、上述したように、2×2の矩形領域の左
下領域が担当領域である。本例では、図13(D)に示
すように、破線で示す処理開始点からY方向(図面で上
方向)にスキャンして自モジュールの担当領域RGN2
に移動する。そして、DDA回路143−2は、次に、
X方向(図面で右方向)にスキャンする。
However, the DDA circuit according to this embodiment is different from the case of performing a series of pixel generation processing as shown in FIG. 1 in the way of scanning. For example, when drawing a triangle as shown in FIG. 13A, pixels are conventionally generated in units of rectangular areas. That is, in the figure, the scanning is started in the X direction from the processing start point indicated by the broken line, and when it goes out of the triangle, it moves in the Y direction and scans again. On the other hand, in the present embodiment, the processing start point is moved to the area in charge of the own module. Then, scanning is performed in the X direction. When it goes out of the triangle, it moves in the Y direction and scans in the X direction again. That is, in the present embodiment in which a region in charge is allocated and parallel processing is performed, the width of movement of the scan itself is
Different from conventional. As described above, the DDA circuit 143-2 of the processing module 140-2 is in charge of the lower left area of the 2 × 2 rectangular area. In this example, as shown in FIG. 13D, the area in charge of the own module RGN2 is scanned in the Y direction (upward in the drawing) from the processing start point indicated by the broken line.
Move to. Then, the DDA circuit 143-2 next
Scan in the X direction (right in the drawing).

【0087】テクスチャエンジン回路144−2は、
「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)を生成する。
The texture engine circuit 144-2 is
Calculation processing of “s / q” and “t / q”, calculation processing of texture coordinate data (u, v), (R, G, from the texture buffer included in the graphics memory 147).
B) The data read processing and the like are performed by a pipeline method. The texture engine circuit 144-2 is the texture engine circuit 144-0, 144-1, 14 of the other processing modules 140-0, 140-1, 140-3.
8 in cooperation with 4-3, for example located within a given rectangle
Pixels are processed simultaneously in parallel. The texture engine circuit 144-2 is the DDA of its own module.
The DDA data from the circuit 144-2 indicates (s, t,
For q) data, an operation of dividing s data by q data and an operation of dividing t data by q data are performed. Further, the texture engine circuit 144-2 multiplies the division results “s / q” and “t / q” by the texture sizes USIZE and VSIZE, respectively, to generate texture coordinate data (u, v).

【0088】また、テクスチャエンジン回路144−2
は、テクスチャバス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近傍補間
などのフィルタリング処理を行う。
Also, the texture engine circuit 144-2
Is the texture bus 150, the dedicated memory I / F circuit 14
6, a read request including the generated texture coordinate data (u, v) is output to the graphics memory 147, and the texture buffer included in the graphics memory 147 is output via the dedicated memory I / F circuit 146. By reading the stored texture data,
(R, G, B) data stored at the texture address corresponding to (s, t) data is obtained. The texture engine circuit 144-2 multiplies the read (R, G, B) data by the (R, G, B) data included in the DDA data from the DDA circuit 143-2 at the preceding stage. To generate pixel data. The texture engine circuit 144-2 finally uses the pixel data as the color value of the pixel and the memory I / F circuit 145.
Output to -2. In this case, the texture engine circuit 1
44-2 represents the read texture data and (u,
v) The address is subjected to filtering processing such as 4-neighbor interpolation using the decimal part obtained at the time of calculation.

【0089】なお、テクスチャバッファには、MIPM
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
The texture buffer contains MIPM.
Texture data corresponding to a plurality of reduction ratios such as AP (multi-resolution texture) is stored. Here, which reduction rate of texture data is used is determined for each triangle by using a predetermined algorithm.

【0090】テクスチャエンジン回路144−2は、フ
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−2は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
In the case of the full color system, the texture engine circuit 144-2 directly uses the (R, G, B) data read from the texture buffer. On the other hand, in the case of the index color system, the texture engine circuit 144-2 is an SR that incorporates the data of the color index table created in advance from the texture color lookup table (CLUT) buffer.
Transfer to a temporary storage buffer composed of AM etc.,
Using this color lookup table, (R, G, B) data corresponding to the color index read from the texture buffer is obtained. For example, when the color look-up table is composed of SRAM, when the color index is input to the address of SRAM, the actual (R, G, B) data appears at the output.

【0091】メモリI/F回路145−2は、テクスチ
ャエンジン回路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に描
画する。
The memory I / F circuit 145-2 stores the z data corresponding to the pixel data input from the texture engine circuit 144-2 and the z data stored in the z buffer included in the memory module 147-2. The image drawn by the comparison and input pixel data is in front (viewpoint side) from the image written in the memory module 147-2 (display buffer) last time.
If it is located in front,
The z data stored in the z buffer is updated with the z data corresponding to the image data. In addition, the memory I / F circuit 145
-2 stores (R, G, B) data in the memory module 14
Write in 7-1. The memory I / F circuit 145-2 is a memory module 147 that stores pixel data corresponding to a pixel address that is about to be drawn.
With respect to -2, the pixel data is read from the corresponding address for the modified writing, and after the modification, it is written back to the same address. When performing hidden surface processing, it is necessary to read the depth data from the corresponding address for modification writing to the memory block that also stores the depth data corresponding to the pixel address that is about to be drawn. If so, write back to the same address after modification. Further, the memory I / F circuit 145-2 is the texture engine circuit 14
Upon receiving the pixel-level processing result supplied by 4-2, pixel data that has passed various tests in the pixel-level processing is drawn in the memory module 147-2.

【0092】処理モジュール140−3の領域判定回路
142−3は、ブロードキャストバス149を介して入
力したDDAセットアップ回路141による変分データ
を含む三角形に関する情報を受けて、たとえば三角形が
あらかじめ規定されている自モジュールの担当領域RG
N1に含まれるか否かを判定し、含まれる場合には、入
力情報を次段のDDA回路143−3に出力する。一
方、領域判定回路142−3は、三角形があらかじめ規
定されている自モジュールの担当領域RGN3に含まれ
ていない場合には、入力情報を次段のDDA回路143
−3に出力せずに棄てる。この領域判定回路142−3
は、担当領域RGN1に三角形が含まれるか否かの判定
を、入力情報に含まれるX方向およびY方向のそれぞれ
の開始点および終了点の座標を用いて行う。
The area determination circuit 142-3 of the processing module 140-3 receives the information regarding the triangle including the variation data by the DDA setup circuit 141 input via the broadcast bus 149, and the triangle is defined in advance. Area RG of own module
It is determined whether or not it is included in N1, and if it is included, the input information is output to the DDA circuit 143-3 at the next stage. On the other hand, when the triangle is not included in the assigned area RGN3 of the own module in which the triangle is defined in advance, the area determination circuit 142-3 outputs the input information to the DDA circuit 143 of the next stage.
Discard without outputting to -3. This area determination circuit 142-3
Determines whether the assigned area RGN1 includes a triangle by using the coordinates of the start point and the end point in the X direction and the Y direction included in the input information.

【0093】処理モジュール140−3の担当領域RG
N3は、たとえば1処理モジュール当たり1サイクルで
4×4ピクセルの生成単位とすると、図9に示すよう
に、2×2分割の右下の領域である。したがって、領域
判定回路142−3は、該当する三角形の一部がこの担
当領域RGN3に掛かっている(含まれている)か否か
の判定を行う。
Area RG in charge of the processing module 140-3
N3 is a lower right region of 2 × 2 division, as shown in FIG. 9, where a generation unit of 4 × 4 pixels per cycle for one processing module is used, for example. Therefore, the area determination circuit 142-3 determines whether or not a part of the corresponding triangle is (is included) in this assigned area RGN3.

【0094】たとえば図10の例では、三角形PM11
およびPM12は、処理モジュール140−3の担当領
域RGN3に含まれる領域があることから、領域判定回
路142−3は、三角形PM11およびPM12があら
かじめ規定されている自モジュールの担当領域RGN3
に含まれているものとして、入力情報を次段のDDA回
路143−3に出力する。
For example, in the example of FIG. 10, a triangle PM11
And PM12 have a region included in the assigned region RGN3 of the processing module 140-3, the region determination circuit 142-3 determines that the triangular regions PM11 and PM12 are assigned to the assigned region RGN3 of its own module.
And outputs the input information to the DDA circuit 143-3 at the next stage.

【0095】処理モジュール140−3のDDA回路1
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ピクセルである。
DDA circuit 1 of processing module 140-3
43-3 linearly interpolates (z, R, G, B, s, t, at each pixel in the area in charge of the triangle using the variation data supplied from the area determination circuit 142-3.
q) Calculate the data. The DDA circuit 143-3 sets the (x, y) data of each pixel and the (z, R, G, B, s, t, q) data at the (x, y) coordinates to DD.
It is output to the texture engine circuit 144-3 as A data (interpolation data). That is, the DDA circuit 143-
3 performs rasterization based on the parameter data when, for example, the triangle is the area in which the triangle is in charge. Specifically, when the triangle is the area in charge of itself, various data (z, texture coordinates, color, etc.) is rasterized. In this case, the generation unit is 4 × 4 pixels in one cycle per local module.

【0096】DDA回路143−3は、前段のDDAセ
ットアップ回路141により、三角形の描画開始点にお
ける最初の値、水平方向(X方向)および垂直方向(Y
方向)における先出の各種情報の傾き情報が準備され
る。ここでの基本的処理は、与えられた三角形の内部に
含まれる整数格子上の値を求めることであり、その処理
の実体は描画開始点からの整数距離と傾きの掛け算とい
うことになる。また、実際には掛け算を行うというよ
り、水平方向(X方向)に1ピクセル進め水平方向の傾
き分を足しこめば1ピクセル進んだ分の値が求められる
ということになる。よって、計算内容としては、一定値
の加算処理となる。
The DDA circuit 143-3 uses the DDA setup circuit 141 in the preceding stage to set the first value at the drawing start point of the triangle, the horizontal direction (X direction) and the vertical direction (Y direction).
Inclination information of the various information described above in the direction) is prepared. The basic processing here is to obtain values on an integer grid included in a given triangle, and the substance of this processing is to multiply the integer distance from the drawing start point by the slope. Further, actually, rather than performing multiplication, a value of one pixel advanced in the horizontal direction (X direction) can be obtained by adding the amount of inclination in the horizontal direction. Therefore, the calculation content is a constant value addition process.

【0097】但し、本実施形態に係るDDA回路は、図
1に示すように一系列のピクセル生成処理を行う場合と
スキャンの仕方が異なる。たとえば図13(A)に示す
ような三角形を描画する場合、従来は矩形領域単位でピ
クセルを生成していた。すなわち、図中、破線で示す処
理開始点からX方向にスキャンしていき、三角形の外に
出たらY方向に移動して再びスキャンを行っていた。こ
れに対して、本実施形態では、処理開始点から自モジュ
ールの担当領域に移動する。そして、X方向にスキャン
する。三角形の外に出たらY方向に移動して再びX方向
にスキャンする。すなわち、担当領域を割り振って並列
処理を行う本実施形態では、スキャン自の移動の幅が、
従来と異なる。処理モジュール140−3のDDA回路
143−3は、上述したように、2×2分割の矩形領域
の右下領域が担当領域である。本例では、図13(E)
に示すように、破線で示す処理開始点からX方向にスキ
ャンしてさらにY方向にスキャンして自モジュールの担
当領域RGN3に移動する。そして、DDA回路143
−3は、次に、X方向(図面で右方向)にスキャンす
る。
However, the DDA circuit according to this embodiment is different from the case of performing a series of pixel generation processing as shown in FIG. 1 in the way of scanning. For example, when drawing a triangle as shown in FIG. 13A, pixels are conventionally generated in units of rectangular areas. That is, in the figure, the scanning is started in the X direction from the processing start point indicated by the broken line, and when it goes out of the triangle, it moves in the Y direction and scans again. On the other hand, in the present embodiment, the processing start point is moved to the area in charge of the own module. Then, scanning is performed in the X direction. When it goes out of the triangle, it moves in the Y direction and scans in the X direction again. That is, in the present embodiment in which a region in charge is allocated and parallel processing is performed, the width of movement of the scan itself is
Different from conventional. As described above, the DDA circuit 143-3 of the processing module 140-3 is in charge of the lower right area of the 2 × 2 divided rectangular area. In this example, FIG.
As shown in, the scan starts from the processing start point indicated by the broken line in the X direction, and further in the Y direction to move to the assigned area RGN3 of the own module. Then, the DDA circuit 143
-3 is then scanned in the X direction (to the right in the drawing).

【0098】テクスチャエンジン回路144−3は、
「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)を
生成する。
The texture engine circuit 144-3 is
Calculation processing of “s / q” and “t / q”, calculation processing of texture coordinate data (u, v), (R, G, from the texture buffer included in the graphics memory 147).
B) The data read processing and the like are performed by a pipeline method. Note that the texture engine circuit 144-3 cooperates with the texture engine circuits 144-0 to 144-2 of the other processing modules 140-0 to 140-2 to, for example, for 8 pixels located in a predetermined rectangle. Perform processing concurrently in parallel. Texture engine circuit 144-
3 is a DD by the DDA circuit 144-3 of its own module
For the (s, t, q) data indicated by the A data, an operation of dividing s data by q data and an operation of dividing t data by q data are performed. Further, the texture engine circuit 144-3 uses the division results “s / q” and “t /”.
q ”to the texture sizes USIZE and V, respectively.
SIZE is multiplied to generate texture coordinate data (u, v).

【0099】また、テクスチャエンジン回路144−3
は、テクスチャバス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近傍補間
などのフィルタリング処理を行う。
Further, the texture engine circuit 144-3
Is the texture bus 150, the dedicated memory I / F circuit 14
6, a read request including the generated texture coordinate data (u, v) is output to the graphics memory 147, and the texture buffer included in the graphics memory 147 is output via the dedicated memory I / F circuit 146. By reading the stored texture data,
(R, G, B) data stored at the texture address corresponding to (s, t) data is obtained. The texture engine circuit 144-3 multiplies the read (R, G, B) data by the (R, G, B) data included in the DDA data from the DDA circuit 143-3 at the preceding stage. To generate pixel data. The texture engine circuit 144-3 finally uses the pixel data as the color value of the pixel, and the memory I / F circuit 145.
Output to -3. In this case, the texture engine circuit 1
44-3 is the read texture data and (u,
v) The address is subjected to filtering processing such as 4-neighbor interpolation using the decimal part obtained at the time of calculation.

【0100】なお、テクスチャバッファには、MIPM
AP(複数解像度テクスチャ)などの複数の縮小率に対
応したテクスチャデータが記憶されている。ここで、何
れの縮小率のテクスチャデータを用いるかは、所定のア
ルゴリズムを用いて、前記三角形単位で決定される。
The texture buffer contains MIPM.
Texture data corresponding to a plurality of reduction ratios such as AP (multi-resolution texture) is stored. Here, which reduction rate of texture data is used is determined for each triangle by using a predetermined algorithm.

【0101】テクスチャエンジン回路144−3は、フ
ルカラー方式の場合には、テクスチャバッファから読み
出した(R,G,B)データを直接用いる。一方、テク
スチャエンジン回路144−3は、インデックスカラー
方式の場合には、あらかじめ作成しておいたカラーイン
デックステーブルのデータを、テクスチャカラールック
アップテーブル(CLUT)バッファより内蔵するSR
AM等で構成した一時保管バッファに転送しておいて、
このカラールックアップテーブルを用いて、テクスチャ
バッファから読み出したカラーインデックスに対応する
(R,G,B)データを得る。たとえばカラールックア
ップテーブルがSRAMで構成された場合、カラーイン
デックスをSRAMのアドレスに入力すると、その出力
には実際の(R,G,B)データが出てくるといった使
い方となる。
In the case of the full color system, the texture engine circuit 144-3 directly uses the (R, G, B) data read from the texture buffer. On the other hand, in the case of the index color system, the texture engine circuit 144-3 is an SR that incorporates the data of the color index table created in advance from the texture color lookup table (CLUT) buffer.
Transfer to a temporary storage buffer composed of AM etc.,
Using this color lookup table, (R, G, B) data corresponding to the color index read from the texture buffer is obtained. For example, when the color look-up table is composed of SRAM, when the color index is input to the address of SRAM, the actual (R, G, B) data appears at the output.

【0102】メモリI/F回路145−3は、テクスチ
ャエンジン回路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に描
画する。
The memory I / F circuit 145-3 stores the z data corresponding to the pixel data input from the texture engine circuit 144-3 and the z data stored in the z buffer included in the memory module 147-3. The image drawn by the comparison and input pixel data is in front (viewpoint side) from the image written in the memory module 147-3 (display buffer) last time.
If it is located in front,
The z data stored in the z buffer is updated with the z data corresponding to the image data. In addition, the memory I / F circuit 145
-3 is (R, G, B) data for the memory module 14
Write in 7-3. The memory I / F circuit 145-3 is a memory module 147 that stores pixel data corresponding to a pixel address that is about to be drawn.
For -3, the pixel data is read from the corresponding address for modification writing, and after modification, writing back to the same address. When performing hidden surface processing, it is necessary to read the depth data from the corresponding address for modification writing to the memory block that also stores the depth data corresponding to the pixel address that is about to be drawn. If so, write back to the same address after modification. Further, the memory I / F circuit 145-3 is connected to the texture engine circuit 14
Upon receipt of the pixel-level processing result supplied by 4-3, pixel data that has passed various tests in the pixel-level processing is drawn in the memory module 147-3.

【0103】専用メモリI/F回路146は、今から描
画しようとしているピクセルにおけるテクスチャアドレ
スに対応したテクスチャデータを格納しているメモリブ
ロックをそのテクスチャアドレスより算出し、グラフィ
ックスメモリ147の所定のメモリモジュールにのみ読
み出し要求を出すことにより、テクスチャデータを読み
出す。また、専用メモリI/F回路146は、テクスチ
ャエンジン回路144−0〜144−3から生成された
テクスチャ座標データ(u,v)を含む読み出し要求を
受けた場合には、SRAM等のバッファに記憶された
(R,G,B)データを読み出す。また、専用メモリI
/F回路146は、CRTコントロール回路148から
表示データを読み出す要求を受けた場合には、この要求
に応じて、グラフィックスメモリ147(具体的にはデ
ィスプレイバッファ)から一定の固まり、たとえば8ピ
クセルあるいは16ピクセル単位で表示データを読み出
す。
The dedicated memory I / F circuit 146 calculates the memory block storing the texture data corresponding to the texture address of the pixel which is about to be drawn from the texture address, and stores it in the predetermined memory of the graphics memory 147. Texture data is read by issuing a read request only to the module. Further, when the dedicated memory I / F circuit 146 receives a read request including the texture coordinate data (u, v) generated from the texture engine circuits 144-0 to 144-3, it is stored in a buffer such as SRAM. The read (R, G, B) data is read. In addition, the dedicated memory I
When the / F circuit 146 receives a request to read the display data from the CRT control circuit 148, the / F circuit 146 responds to the request from the graphics memory 147 (specifically, the display buffer) in a fixed block, for example, 8 pixels or Display data is read in units of 16 pixels.

【0104】グラフィックスメモリ147は、たとえば
テクスチャバッファ、ディスプレイバッファ、zバッフ
ァおよびテクスチャCLUT(Color Look Up Table) バ
ッファとして機能する。また、グラフィックスメモリ1
47は、前述したように、同一機能を有する複数(本実
施形態では4個)のメモリモジュール147−0〜14
7−3に分割されている。また、グラフィックスメモリ
147には、より多くのテクスチャデ−タを格納するた
めに、インデックスカラ−におけるインデックスと、そ
のためのカラ−ルックアップテ−ブル値が、テクスチャ
CLUTバッファに格納されている。インデックスおよ
びカラ−ルックアップテ−ブル値は、上述したように、
テクスチャ処理に使われる。すなわち、通常はR,G,
Bそれぞれ8ビットの合計24ビットでテクスチャ要素
を表現するが、それではデ−タ量が膨らむため、あらか
じめ選んでおいたたとえば256色等の中から一つの色
を選んで、そのデ−タをテクスチャ処理に使う。このこ
とで256色であればそれぞれのテクスチャ要素は8ビ
ットで表現できることになる。インデックスから実際の
カラ−への変換テ−ブルは必要になるが、テクスチャの
解像度が高くなるほど、よりコンパクトなテクスチャデ
−タとすることが可能となる。これにより、テクスチャ
デ−タの圧縮が可能となり、内蔵メモリの効率良い利用
が可能となる。
The graphics memory 147 functions as, for example, a texture buffer, a display buffer, az buffer and a texture CLUT (Color Look Up Table) buffer. Also, graphics memory 1
As described above, reference numeral 47 denotes a plurality (four in this embodiment) of memory modules 147-0 to 14-14 having the same function.
It is divided into 7-3. Further, in the graphics memory 147, in order to store more texture data, the index in the index color and the color lookup table value for that are stored in the texture CLUT buffer. The index and color lookup table values are as described above.
Used for texture processing. That is, normally R, G,
A texture element is represented by a total of 24 bits of 8 bits for each B. However, since the amount of data expands, one color is selected from 256 colors selected in advance, and the data is textured. Used for processing. As a result, if there are 256 colors, each texture element can be represented by 8 bits. The conversion table from the index to the actual color is required, but the higher the resolution of the texture, the more compact the texture data can be. As a result, the texture data can be compressed and the internal memory can be used efficiently.

【0105】以上のように、DDAセットアップ回路1
41、DDA回路143−0〜143−3、テクスチャ
エンジン回路144−0〜144−3、メモリI/F回
路145−0〜145−3等における所定を経て、最終
的なメモリアクセスがピクセル(Pixel;Picture Cell E
lement) という描画ピクセル単位になる。
As described above, the DDA setup circuit 1
41, the DDA circuit 143-0 to 143-3, the texture engine circuit 144-0 to 144-3, the memory I / F circuit 145-0 to 145-3, and the like. ; Picture Cell E
lement) is the drawing pixel unit.

【0106】CRTコントロール回路148は、与えら
れた水平および垂直同期信号に同期して、図示しない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に出力する。
The CRT control circuit 148 synchronizes with the supplied horizontal and vertical synchronizing signals, and outputs a C signal (not shown).
A display address to be displayed on the RT is generated, and a request to read the display data from the display buffer included in the graphics memory 147 is output to the dedicated memory I / F circuit 146. In response to this request, the dedicated memory I / F circuit 1
46 reads display data from the graphics memory 147 (display buffer) in a fixed block. C
The RT control circuit 148 stores the display data read from the graphics memory 147, for example, F
It incorporates an IFO circuit and generates RGB index values at regular time intervals. CRT control circuit 148
Stores the R, G, B data corresponding to each index value, and stores the digital format R, G, B data corresponding to the generated RGB index values in D /
The data is transferred to an A converter (Digital / Analog Converter) to generate R, G, B data in analog format. The CRT control circuit 148 outputs the generated R, G, B data to a CRT (not shown).

【0107】次に、上記構成による動作を、図15〜図
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に掛かっている(含まれている)。
Next, the operation of the above configuration will be described with reference to FIGS. Note that, here, as shown in FIG. 15, three triangular primitives PM101, PM
A case will be described in which 102 and PM 103 are sequentially input to perform drawing processing. In this example, the primitive PM 101 is the responsible area RG of all the processing modules 140-0 to 140-3.
Hanging (included) on N0-RGN3. The primitive PM 102 is a processing module 140-0 to -1.
The processing modules 140-2 and 14 are included in the areas RGN0 and RGN1 in charge of 40-1.
The areas 0 to 3 in charge are not covered (not included) in the areas RGN2 and RGN3. The primitive PM 103 is a responsible area RG of all the processing modules 140-0 to 140-3.
Hanging (included) on N0-RGN3.

【0108】3次元コンピュータグラフィックスシステ
ム10においては、グラフィックス描画等のデータは、
メインプロセッサ11のメインメモリ12、あるいは外
部からのグラフィックスデータを受けるI/Oインタフ
ェース回路13からメインバス15を介してレンダリン
グ回路14に与えられる。なお、必要に応じて、グラフ
ィックス描画等のデータは、メインプロセッサ11等に
おいて、座標変換、クリップ処理、ライティング処理等
のジオメトリ処理が行われる。ジオメトリ処理が終わっ
たグラフィックスデータは、三角形の各3頂点の頂点座
標x,y,z、輝度値R,G,B、描画しようとしてい
るピクセルと対応するテクスチャ座標s,t,qとから
なるポリゴンレンダリングデータS11となる。
In the three-dimensional computer graphics system 10, data such as graphics drawing is
It is supplied to the rendering circuit 14 from the main memory 12 of the main processor 11 or the I / O interface circuit 13 that receives graphics data from the outside via the main bus 15. Note that data such as graphics drawing is subjected to geometry processing such as coordinate conversion, clipping processing, and lighting processing in the main processor 11 or the like, if necessary. The graphics data after the geometry processing is composed of the vertex coordinates x, y, z of the three vertices of the triangle, the brightness values R, G, B, and the texture coordinates s, t, q corresponding to the pixel to be drawn. It becomes the polygon rendering data S11.

【0109】本例では、図16に示すように、3つの三
角形プリミティブPM101,PM102,PM103
に係るポリゴンレンダリングデータS11が、レンダリ
ング回路14のDDAセットアップ回路141に順々に
転送される。
In this example, as shown in FIG. 16, three triangular primitives PM101, PM102, PM103 are provided.
The polygon rendering data S11 according to the above is sequentially transferred to the DDA setup circuit 141 of the rendering circuit 14.

【0110】DDAセットアップ回路141において
は、まず三角形プリミティブPM101に係るポリゴン
レンダリングデータS11に基づいて、三角形の辺と水
平方向の差分などを示す変分データが生成される。具体
的には、開始点の値と終点の値、並びに、その間の距離
を用いて、単位長さ移動した場合における、求めようと
している値の変化分である変分が算出され、変分データ
を含む三角形プリミティブPM101に関する情報が、
図17に示すように、ブロードキャストバス149を通
して、各処理モジュール140−0〜140−3の領域
判定回路142−0〜142−3に並列に供給される。
In the DDA setup circuit 141, first, based on the polygon rendering data S11 related to the triangle primitive PM101, variation data indicating the difference between the sides of the triangle and the horizontal direction is generated. Specifically, using the values of the starting point and the ending point, and the distance between them, the variation that is the variation of the value to be obtained when the unit length is moved is calculated, and the variation data Information about the triangle primitive PM101 including
As shown in FIG. 17, the signals are supplied in parallel to the area determination circuits 142-0 to 142-3 of the processing modules 140-0 to 140-3 through the broadcast bus 149.

【0111】各処理モジュール140−0〜140−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
に出力される。
Each processing module 140-0 to 140-3
In the area determination circuits 142-0 to 142-3, the information about the triangle primitive PM101 including the variation data by the DDA setup circuit 141 input via the broadcast bus 149 is received, and the own module in which the triangle is defined in advance is received. Area in charge of RGN
~ It is determined whether or not it is included in RGN3. in this case,
As described above, the triangle primitive PM101 is assigned to the area RG in charge of all the processing modules 140-0 to 140-3.
Since it is included in N0 to RGN3, as shown in FIG. 18, the input information from each area determination circuit 142-0 to 142-3 is the DDA circuit 143-0 to 143-3 of its own module.
Is output to.

【0112】これと並行として、次の三角形プリミティ
ブPM102に係るポリゴンレンダリングデータS11
がDDAセットアップ回路141に入力される。DDA
セットアップ回路141においては、三角形プリミティ
ブPM102に係るポリゴンレンダリングデータS11
に基づいて、三角形の辺と水平方向の差分などを示す変
分データが生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データを含む三角形プリミティブ
PM102に関する情報が、図18に示すように、ブロ
ードキャストバス149を通して、各処理モジュール1
40−0〜140−3の領域判定回路142−0〜14
2−3に並列に供給される。
In parallel with this, the polygon rendering data S11 relating to the next triangle primitive PM102.
Is input to the DDA setup circuit 141. DDA
In the setup circuit 141, the polygon rendering data S11 relating to the triangle primitive PM102.
Based on, the variation data indicating the difference between the sides of the triangle and the horizontal direction is generated. Specifically, using the value of the start point and the value of the end point, and the distance between them, the variation that is the variation of the value to be obtained when the unit length is moved is calculated, and the variation data Information about the triangle primitive PM102 including the information is transmitted via the broadcast bus 149 as shown in FIG.
40-0 to 140-3 area determination circuits 142-0 to 142
2-3 are supplied in parallel.

【0113】各処理モジュール140−0〜140−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に出力されずに棄てられる。
Each processing module 140-0 to 140-3
In the area determination circuits 142-0 to 142-3, the information about the triangle primitive PM102 including the variation data by the DDA setup circuit 141 input via the broadcast bus 149 is received, and its own module in which the triangle is defined in advance is received. Area in charge of RGN
~ It is determined whether or not it is included in RGN3. in this case,
As described above, the triangle primitive PM102 is assigned to the area RGN in charge of the processing modules 140-0 and 140-1.
0, included in RGN1, processing modules 140-2, 1
40-3 is not included in the responsible area RGN2, RGN3.
Therefore, as shown in FIG. 19, the assigned area RGN0,
Each area determination circuit 142-which is determined to be included in RGN1
The input information from 0, 142-1 is output to the DDA circuits 143-0, 143-1 of its own module. On the other hand, the area determination circuit 142- of the processing modules 140-2 and 140-3 determined to be not included in the assigned areas RGN2 and RGN3
2, 142-3, the input information is the DDA circuit 14 of the next stage.
It is discarded without being output to 3-2 and 143-3.

【0114】これと並行として、次の三角形プリミティ
ブPM103に係るポリゴンレンダリングデータS11
がDDAセットアップ回路141に入力される。DDA
セットアップ回路141においては、三角形プリミティ
ブPM103に係るポリゴンレンダリングデータS11
に基づいて、三角形の辺と水平方向の差分などを示す変
分データが生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データを含む三角形プリミティブ
PM103に関する情報が、図19に示すように、ブロ
ードキャストバス149を通して、各処理モジュール1
40−0〜140−3の領域判定回路142−0〜14
2−3に並列に供給される。
In parallel with this, the polygon rendering data S11 relating to the next triangle primitive PM103.
Is input to the DDA setup circuit 141. DDA
In the setup circuit 141, the polygon rendering data S11 relating to the triangle primitive PM103
Based on, the variation data indicating the difference between the sides of the triangle and the horizontal direction is generated. Specifically, using the values of the starting point and the ending point, and the distance between them, the variation that is the variation of the value to be obtained when the unit length is moved is calculated, and the variation data Information regarding the triangle primitive PM103 including the information is transmitted via the broadcast bus 149 to each processing module 1 as shown in FIG.
40-0 to 140-3 area determination circuits 142-0 to 142
2-3 are supplied in parallel.

【0115】各処理モジュール140−0〜140−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
に出力される。
Each processing module 140-0 to 140-3
In the area determination circuits 142-0 to 142-3, the information regarding the triangle primitive PM103 including the variation data by the DDA setup circuit 141 input via the broadcast bus 149 is received, and its own module in which the triangle is defined in advance is received. Area in charge of RGN
~ It is determined whether or not it is included in RGN3. in this case,
As described above, the triangle primitive PM103 is assigned to the processing area RG of all the processing modules 140-0 to 140-3.
Since it is included in N0 to RGN3, as shown in FIG. 20, the input information from each area determination circuit 142-0 to 142-3 is the DDA circuit 143-0 to 143-3 of its own module.
Is output to.

【0116】各処理モジュール140−0〜140−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の
入力順で以下の処理が行われる。
Each processing module 140-0 to 140-3
In the DDA circuits 143-0 to 143-3, the following processing is performed in the input order of the triangle primitives PM101 to PM103. That is, first, all DDA circuits 143-0
~ 143-3, the triangle primitive PM101
Is performed, and then the processing module 140-
The DDA circuits 143-0 and 143-1 of 0 and 140-1 perform processing on the triangle primitive PM102, and finally, all the DDA circuits 143-0 to 143-3.
In, the process for the triangle primitive PM103 is performed. Similarly, the DDA circuits 143-0 to 143-
3 following texture engine circuits 144-0-14
4-3, and memory I / F circuits 145-0 to 145-
3, the following processing is performed in the input order of the triangle primitives PM101 to PM103.

【0117】具体的には、全DDA回路143−0〜1
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に出力さ
れる。
Specifically, all DDA circuits 143-0 to 143-1.
43-3 or DDA circuits 143-0 and 143-1
, The area determination circuits 142-0 to 142, respectively.
-3 was used to linearly interpolate (z, R, G, B, at each pixel inside the triangle).
s, t, q) data is calculated. Then, the calculated (z, R, G, B, s, t, q) data and the (x, y) data of each vertex of the triangle are texture engine circuits 144-0 to 144- as DDA data. 3 is output.

【0118】テクスチャエンジン回路144−0〜14
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)が生成される。
Texture engine circuits 144-0-14
4-3 or the texture engine circuits 144-0 and 144-1, the DDA circuits 143-0 to 143.
For the (s, t, q) data indicated by the DDA data of -3, an operation of dividing s data by q data and an operation of dividing t data by q data are performed. Then, the division results “s / q” and “t / q” are multiplied by the texture sizes USIZE and VSIZE, respectively, to generate texture coordinate data (u, v).

【0119】次に、テクスチャエンジン回路144−0
〜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に出力される。
Next, the texture engine circuit 144-0
~ 144-3 or texture engine circuit 144-0
And 144-1 output a read request including the generated texture coordinate data (u, v) to the dedicated memory I / F circuit 146, and the dedicated memory I / F circuit 146 is output.
The (R, G, B) data stored in the graphics memory 147 is read via. Next, in the texture engine circuits 144-0 to 144-3 or the texture engine circuits 144-0 and 144-1,
It is included in the read (R, G, B) data and the DDA data from the DDA circuits 143-0 to 143-3 or DDA circuits 143-0 and 143-1 at the preceding stage (R, G, B).
G, B) data is multiplied to generate pixel data. This pixel data is stored in the memory I / F from the texture engine circuits 144-0 to 144-3 or the texture engine circuits 144-0 and 144-1.
Circuits 145-0 to 145-3 or memory I / F circuit 1
It is output to 45-0 and 145-1.

【0120】そして、メモリI/F回路145−0〜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データが更新
される。
Then, the memory I / F circuits 145-0 to 1
45-3 or memory I / F circuits 145-0 and 14
In 5-1 the texture engine circuit 144-0.
144-3 or z data corresponding to the pixel data input from the texture engine circuits 144-0 and 144-1 and corresponding memory modules 147-0 to -1
47-3 or memory modules 147-0 and 14
The image drawn by the input pixel data is compared with the z data stored in 7-1 (z buffer), and the image drawn by the input pixel data is in front of the image written in the display buffer of the memory module (on the viewpoint side). ) Is determined. If the result of determination is that it is located in the front, the memory module 147-0 to 147-3 or the memory module 1 is determined by z data corresponding to image data.
The z data stored in 47-0 and 147-1 are updated.

【0121】次に、メモリI/F回路145−0〜14
5−3またはメモリI/F回路145−0および145
−1において、(R,G,B)データが対応する自モジ
ュールのメモリモジュール147−0〜147−3また
はメモリモジュール147−0および1471に書き込
まれる。
Next, the memory I / F circuits 145-0 to 145-14
5-3 or memory I / F circuits 145-0 and 145
At -1, (R, G, B) data is written in the corresponding memory module 147-0 to 147-3 or memory modules 147-0 and 1471.

【0122】また、専用メモリI/F回路146におい
ては、今から描画しようとしているピクセルにおけるテ
クスチャアドレスに対応したテクスチャを格納している
メモリブロックがそのテクスチャアドレスにより算出さ
れ、グラフィックスメモリ147の所定のメモリモジュ
ールにのみ読みだし要求が出され、テクスチャデータが
読み出される。
In the dedicated memory I / F circuit 146, the memory block storing the texture corresponding to the texture address of the pixel to be drawn is calculated by the texture address, and the predetermined value of the graphics memory 147 is calculated. A read request is issued only to the memory module of, and the texture data is read.

【0123】また、メモリI/F回路145−0〜14
5−3またはメモリI/F回路145−0および145
−1において、今から描画しようとしているピクセルア
ドレスに対応するピクセルデータを格納しているメモリ
モジュール147−0〜147−3またはメモリモジュ
ール147−0および147−1に対して、該当アドレ
スからピクセルデータがモディファイ書き込み(Modify
Write)を行うために読み出され、モディファイ後、同じ
アドレスへ書き戻される。
Further, the memory I / F circuits 145-0 to 145-14
5-3 or memory I / F circuits 145-0 and 145
-1, the memory module 147-0 to 147-3 or the memory modules 147-0 and 147-1 storing the pixel data corresponding to the pixel address to be drawn from the pixel address from the corresponding address. Modify write (Modify
It is read for writing, and after modification, it is written back to the same address.

【0124】メモリI/F回路145−0〜145−3
またはメモリI/F回路145−0および145−1に
おいて、隠れ面処理を行う場合には、やはり同じように
今から描画しようとしているピクセルアドレスに対応す
る奥行きデータを格納しているメモリモジュール147
−0〜147−3またはメモリモジュール147−0お
よび147−1に対して、該当アドレスから奥行きデー
タがモディファイ書き込み(Modify Write)を行うために
読み出され、必要ならばモディファイ後、同じアドレス
へ書き戻される。
Memory I / F circuits 145-0 to 145-3
Alternatively, when the hidden surface processing is performed in the memory I / F circuits 145-0 and 145-1, the memory module 147 that similarly stores the depth data corresponding to the pixel address to be drawn from now on.
-0 to 147-3 or the memory modules 147-0 and 147-1, the depth data is read from the corresponding address to perform the modify write (Modify Write), and if necessary, after the modify, write to the same address. Will be returned.

【0125】そして、図示しないCRTに画像を表示す
る場合には、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へ転送
される。
When displaying an image on a CRT (not shown), the CRT control circuit 148
A display address is generated in synchronization with the applied horizontal and vertical synchronization frequencies, and a request for display data transfer is issued to the dedicated memory I / F circuit 146. Dedicated memory I / F circuit 146
Then, according to the request, the display data is transferred to the CRT control circuit 148 in a fixed block. The CRT control circuit 148 stores the display data in a display FIFO (not shown),
RGB index values are generated at regular intervals. C
In the RT control circuit 148, the RGB values for the RGB indexes are stored in the RAM, and the RGB values for the index values are not shown in D /
Transferred to the A converter. Then, the RGB signal converted into the analog signal by the D / A converter is transferred to the CRT.

【0126】以上説明したように、本実施形態によれ
ば、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を直結できる処理
分配とし、配線本数を削減し、小型化することができ
る。その結果、設計が容易となり、配線コスト、配線遅
延を低減することができる。
As described above, according to this embodiment, the same triangular data by the DDA setup circuit 141 is sent in parallel to each processing module 140-0 to 140-3, and each processing module 140-0 to 140-3 is sent. Is
Each processing module 140-0 to 140-3 is associated with each memory module 147-0 to 147-3.
Receives the information about the triangle including the variation data by the DDA setup circuit 141, and takes charge of the areas RGN0 to RG of its own module in which the triangle is defined in advance.
It is determined whether or not the input information is included in N3. If it is included, the input information is output to the DDA circuits 143-0 to 143-3 in the next stage. If it is not included, the input information is output in the next stage. DD
A circuit 143-0 to 143-3, which has area determination circuits 142-0 to 142-3 to discard without outputting to the circuit, draws only pixels included in the areas RGN0 to RGN3 handled by its own module and corresponds to the corresponding memory Module 147-0
Since the data is sent to 147-3, parallel processing can be performed regardless of the operation mode when a plurality of processing modules share processing data and perform parallel processing. Then, there is an advantage that parallel processing with high execution efficiency can be realized without being restricted by the number of pixels that can be processed in parallel, and that the performance can be improved. Further, in the present embodiment, the processing distribution can be directly connected to the processing modules 140-0 to 140-3 and the memory modules 147-0 to 147-3, and the number of wirings can be reduced and the size can be reduced. As a result, the design becomes easy, and the wiring cost and the wiring delay can be reduced.

【0127】なお、上述した実施形態においては、図1
3(A)〜(E)に示すように、各処理モジュールの担
当領域の大きさとDDA回路がピクセルを発生する矩形
領域の大きさとが一致している場合を例に説明したが、
本発明はこれに限定されるものではない。
It should be noted that in the embodiment described above, FIG.
As shown in 3 (A) to 3 (E), the case where the size of the area in charge of each processing module and the size of the rectangular area in which the DDA circuit generates pixels have been described as an example.
The present invention is not limited to this.

【0128】すなわち、担当領域の大きさと矩形領域の
大きさは一致している必要はない。たとえば、図21
(A)〜(E)に示すように、各担当領域RGN0〜R
GN3においてピクセルを発生する矩形領域を2×2で
階層化することも可能である。この場合、移動は階層的
になる。すなわち、担当領域間での移動と担当領域内で
の矩形領域単位での移動が行われる。そして、各処理モ
ジュールにおいては、複数の単位領域における担当領域
をスキャンし、階層的に分割領域単位で同時にピクセル
を発生する。この場合も、上述した実施形態と同様の効
果を得ることができる。
That is, the size of the area in charge and the size of the rectangular area do not have to match. For example, in FIG.
As shown in (A) to (E), the respective responsible areas RGN0 to RGN
It is also possible to hierarchically form a rectangular area in which pixels are generated in GN3 by 2 × 2. In this case, the movement is hierarchical. That is, the movement between the assigned areas and the movement within the assigned area in units of rectangular areas are performed. Then, in each processing module, areas in charge in a plurality of unit areas are scanned, and pixels are simultaneously generated hierarchically in units of divided areas. Also in this case, the same effect as that of the above-described embodiment can be obtained.

【0129】また、上述した実施形態においては、図1
3(A)〜(E)に示すように、各処理モジュール14
0−0〜140−3の担当領域RGN0〜RGN3の割
り付けを固定、具体的には、2×2の矩形領域の左上を
処理モジュール140−0の担当領域とし、右上を処理
モジュール140−1の担当領域とし、左下を処理モジ
ュール140−2の担当領域とし、右下を処理モジュー
ル140−3の担当領域とした場合を例に説明したが、
本発明はこれに限定されるものではない。
In addition, in the above-described embodiment, FIG.
3 (A) to (E), each processing module 14
The allocation of the assigned areas RGN0 to RGN3 of 0-0 to 140-3 is fixed. Specifically, the upper left of the 2 × 2 rectangular area is set as the assigned area of the processing module 140-0, and the upper right is set to the processing module 140-1. As an example, the case has been described where the lower left area is the area in charge of the processing module 140-2 and the lower right area is the area in charge of the processing module 140-3.
The present invention is not limited to this.

【0130】すなわち、担当領域の割り付けは任意に行
うことも可能である。たとえば、図22(B)に示すよ
うに、左上および左下の2×2の矩形領域においては、
上述したように、左上を処理モジュール140−0の担
当領域とし、右上を処理モジュール140−1の担当領
域とし、左下を処理モジュール140−2の担当領域と
し、右下を処理モジュール140−3の担当領域とし、
右上および右下の2×2の矩形領域においては、左下を
処理モジュール140−0の担当領域とし、右下を処理
モジュール140−1の担当領域とし、右上を処理モジ
ュール140−2の担当領域とし、右上を処理モジュー
ル140−3の担当領域とする等、種々の態様が可能で
ある。
That is, the assigned area can be arbitrarily assigned. For example, as shown in FIG. 22B, in the upper left and lower left 2 × 2 rectangular areas,
As described above, the upper left is the area in charge of the processing module 140-0, the upper right is the area in charge of the processing module 140-1, the lower left is the area in charge of the processing module 140-2, and the lower right is the area of the processing module 140-3. To be in charge
In the upper right and lower right 2 × 2 rectangular areas, the lower left is the area in charge of the processing module 140-0, the lower right is the area in charge of the processing module 140-1, and the upper right is the area in charge of the processing module 140-2. , The upper right is the area in charge of the processing module 140-3, and various other modes are possible.

【0131】担当領域間での移動は、図22(C)〜
(F)に示すように行われる。処理モジュール140−
0のDDA回路143−0は、上述したように、2×2
の矩形領域の左上領域および左下領域が担当領域であ
る。本例では、図22(C)に示すように、破線で示す
処理開始点が自モジュールの担当領域RGN0であるこ
とから、DDA回路143−0は、次に、右斜め上方に
移動し、次に、左斜め上方に移動する。
Movement between assigned areas is as shown in FIG.
This is performed as shown in (F). Processing module 140-
The DDA circuit 143-0 of 0 is 2 × 2 as described above.
The upper left area and the lower left area of the rectangular area are the areas in charge. In this example, as shown in FIG. 22C, since the processing start point indicated by the broken line is the area RGN0 in charge of the own module, the DDA circuit 143-0 next moves diagonally upward to the right and then Then, move diagonally upward to the left.

【0132】処理モジュール140−1のDDA回路1
43−1は、上述したように、2×2の矩形領域の右上
領域および右下領域が担当領域である。本例では、図2
2(D)に示すように、破線で示す処理開始点からX方
向にスキャンして自モジュールの担当領域RGN1に移
動する。そして、DDA回路143−1は、右斜め上方
に移動し、次に、左斜め上方に移動する。
DDA circuit 1 of processing module 140-1
As described above, in 43-1, the upper right area and the lower right area of the 2 × 2 rectangular area are responsible areas. In this example, FIG.
As shown in FIG. 2 (D), scanning is performed in the X direction from the processing start point indicated by the broken line, and the area is moved to the assigned area RGN1 of the own module. Then, the DDA circuit 143-1 moves diagonally upward to the right and then diagonally upward to the left.

【0133】処理モジュール140−2のDDA回路1
43−2は、上述したように、2×2の矩形領域の左下
領域および左上領域が担当領域である。本例では、図2
2(E)に示すように、破線で示す処理開始点からY方
向(図面で上方向)にスキャンして自モジュールの担当
領域RGN2に移動する。そして、DDA回路143−
2は、次に、右斜め上方に移動する。
DDA circuit 1 of processing module 140-2
As for 43-2, as described above, the lower left area and the upper left area of the 2 × 2 rectangular area are the areas in charge. In this example, FIG.
As shown in 2 (E), scanning is performed in the Y direction (upward in the drawing) from the processing start point indicated by the broken line, and the area is moved to the assigned area RGN2 of the own module. Then, the DDA circuit 143-
2 then moves diagonally upward to the right.

【0134】処理モジュール140−3のDDA回路1
43−3は、上述したように、2×2の矩形領域の右下
領域および右上領域が担当領域である。本例では、図2
2(F)に示すように、破線で示す処理開始点からX方
向にスキャンしてさらにY方向にスキャンして自モジュ
ールの担当領域RGN3に移動する。そして、DDA回
路143−3は、次に、右斜め上方に移動する。
DDA circuit 1 of processing module 140-3
In 43-3, as described above, the lower right area and the upper right area of the 2 × 2 rectangular area are the areas in charge. In this example, FIG.
As shown in FIG. 2 (F), from the processing start point indicated by the broken line, scanning is performed in the X direction and further in the Y direction to move to the assigned area RGN3 of the own module. Then, the DDA circuit 143-3 next moves diagonally upward to the right.

【0135】この場合も、上述した実施形態と同様の効
果を得ることができる。
Also in this case, the same effect as that of the above-described embodiment can be obtained.

【0136】また、上述した実施形態においては、同一
のプリミティブに係る担当領域を複数の処理モジュール
140−0〜140−3に割り当てて並列に処理するよ
うに構成したが、たとえば、複数のプリミティブを同時
に処理するように構成することも可能である。具体的に
は、複数の処理モジュールに別々のプリミティブ(たと
えば三角形)を与えて並列動作させることも可能であ
る。
Further, in the above-described embodiment, the areas assigned to the same primitive are assigned to the plurality of processing modules 140-0 to 140-3 and processed in parallel. It can also be configured to process at the same time. Specifically, it is also possible to give different primitives (for example, triangles) to a plurality of processing modules to operate them in parallel.

【0137】図23は、本発明に係る画像処理装置の他
の実施形態を説明するための図で、プリミティブレベル
での並列化処理について概念的に示す図である。図23
の画像処理装置(図3および図4の対応ではレンダリン
グ回路)14Aは、並列に配置された処理モジュール1
40A−0〜140A−3の前段に単位図形(プリミテ
ィブ)を各処理モジュール140A−0〜140A−3
に分配する単位図形分配回路151を設けている。
FIG. 23 is a diagram for explaining another embodiment of the image processing apparatus according to the present invention, and is a diagram conceptually showing the parallel processing at the primitive level. FIG. 23
Image processing apparatus (rendering circuit in the correspondence of FIGS. 3 and 4) 14A includes processing modules 1 arranged in parallel.
Unit graphics (primitives) are provided in front of the 40A-0 to 140A-3 processing modules 140A-0 to 140A-3.
A unit figure distribution circuit 151 for distributing to each other is provided.

【0138】この実施形態では、各処理モジュール14
0A−0〜140A−3に比較的均等な大きさのプリミ
ティブが与えられているときには、各処理モジュール1
40A−0〜140A−3に対する負荷のバランスがと
れ、効率的並列処理が行える。また、この実施形態で
は、グラフィックス処理を行うハードウェアでは、メモ
リのバンド幅を広げるために、複数メモリモジュールを
用いてメモリインターリーブを行うことから、各処理モ
ジュール140A−0〜140A−3と各メモリモジュ
ー147−0〜147−3を全て結ぶ必要がある。その
ため、クロスバー回路152が設けられている。
In this embodiment, each processing module 14
When primitives of relatively uniform size are given to 0A-0 to 140A-3, each processing module 1
The load on 40A-0 to 140A-3 is balanced, and efficient parallel processing can be performed. Further, in this embodiment, in the hardware that performs graphics processing, memory interleaving is performed using a plurality of memory modules in order to increase the memory bandwidth, so that each processing module 140A-0 to 140A-3 It is necessary to connect all the memory modules 147-0 to 147-3. Therefore, the crossbar circuit 152 is provided.

【0139】図23の回路によれば、配線数、配線コス
トが増えることになるが、複数の処理モジュールが処理
データを共有して並列処理する際に、動作モードにかか
わりなく並列処理を行うことができる。そして、並列処
理できるピクセル数に対する制約を受けずに実行効率の
高い並列処理を実現でき、ひいては、性能の向上を図る
ことができる利点がある。
According to the circuit of FIG. 23, the number of wires and the wiring cost increase, but when a plurality of processing modules share processing data and perform parallel processing, parallel processing is performed regardless of the operation mode. You can Then, there is an advantage that parallel processing with high execution efficiency can be realized without being restricted by the number of pixels that can be processed in parallel, and that the performance can be improved.

【0140】なお、図3に示す3次元コンピュータグラ
フィックスシステム10では、ポリゴンレンダリングデ
ータを生成するジオメトリ処理を、メインプロセッサ1
1で行う場合を例示したが、レンダリング回路14で行
う構成にしてもよい。
In the three-dimensional computer graphics system 10 shown in FIG. 3, the main processor 1 performs the geometry processing for generating polygon rendering data.
Although the case where the process is performed by the example 1 is illustrated, the configuration may be performed by the rendering circuit 14.

【0141】[0141]

【発明の効果】以上説明したように、本発明によれば、
複数の処理装置が処理データを共有して並列処理する際
に、動作モードにかかわりなく並列処理を行うことがで
きる。そして、本発明によれば、並列処理できるピクセ
ル数に対する制約を受けずに実行効率の高い並列処理を
実現でき、ひいては、性能の向上を図ることができる利
点がある。
As described above, according to the present invention,
When a plurality of processing devices share processing data and perform parallel processing, parallel processing can be performed regardless of the operation mode. Further, according to the present invention, there is an advantage that parallel processing with high execution efficiency can be realized without being restricted by the number of pixels that can be processed in parallel, and the performance can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】グラフィックス描画を行う一般的な画像処理装
置を概念的に示す図である。
FIG. 1 is a diagram conceptually illustrating a general image processing apparatus that performs graphics drawing.

【図2】ピクセルレベルでの並列処理の手法に基づくプ
リミティブレベルでの並列化処理について概念的に示す
図である。
FIG. 2 is a diagram conceptually showing primitive level parallelization processing based on a pixel level parallel processing method.

【図3】本発明に係る画像処理装置としての3次元コン
ピュータグラフィックスシステムのシステム構成図であ
る。
FIG. 3 is a system configuration diagram of a three-dimensional computer graphics system as an image processing apparatus according to the present invention.

【図4】本実施形態に係るレンダリング回路の一実施形
態を示すブロック構成図である。
FIG. 4 is a block diagram showing an embodiment of a rendering circuit according to the present embodiment.

【図5】本実施形態に係る並列化処理の基本概念を説明
するための図である。
FIG. 5 is a diagram for explaining the basic concept of parallelization processing according to the present embodiment.

【図6】本実施形態に係る並列化処理の基本概念を説明
するための図である。
FIG. 6 is a diagram for explaining the basic concept of parallelization processing according to the present embodiment.

【図7】本実施形態に係るDDAセットアップ回路の機
能を説明するための図である。
FIG. 7 is a diagram for explaining the function of the DDA setup circuit according to the present embodiment.

【図8】本実施形態に係るDDAセットアップ回路の構
成例を示す図である。
FIG. 8 is a diagram showing a configuration example of a DDA setup circuit according to the present embodiment.

【図9】本実施形態に係る処理モジュールの担当領域に
ついて説明するための図である。
FIG. 9 is a diagram for explaining an area in charge of a processing module according to the present embodiment.

【図10】本実施形態に係る領域判定回路の判定処理を
概念的に説明するための図であって、4並列の場合の例
を示す図である。
FIG. 10 is a diagram for conceptually explaining the determination process of the area determination circuit according to the present embodiment, and is a diagram showing an example in the case of four parallels.

【図11】本実施形態に係る領域判定回路の判定処理を
概念的に説明するための図であって、8並列の場合の例
を示す図である。
FIG. 11 is a diagram for conceptually explaining the determination process of the area determination circuit according to the present embodiment, and is a diagram showing an example in the case of eight parallel circuits.

【図12】本実施形態に係る領域判定回路の判定処理動
作を説明するためのフローチャートである。
FIG. 12 is a flowchart for explaining a determination processing operation of the area determination circuit according to the present embodiment.

【図13】本実施形態に係るDDA回路のピクセル生成
処理を説明するための図である。
FIG. 13 is a diagram for explaining pixel generation processing of the DDA circuit according to this embodiment.

【図14】本実施形態に係るDDA回路のピクセル生成
処理動作を説明するためのフローチャートである。
FIG. 14 is a flowchart for explaining a pixel generation processing operation of the DDA circuit according to this embodiment.

【図15】図4の回路の動作を説明するための図であっ
て、連続的に処理される三角形プリミティブの例を示す
図である。
FIG. 15 is a diagram for explaining the operation of the circuit of FIG. 4 and is a diagram showing an example of a triangle primitive which is continuously processed.

【図16】図4の回路の動作を説明するための図であ
る。
16 is a diagram for explaining the operation of the circuit of FIG.

【図17】図4の回路の動作を説明するための図であ
る。
FIG. 17 is a diagram for explaining the operation of the circuit of FIG.

【図18】図4の回路の動作を説明するための図であ
る。
FIG. 18 is a diagram for explaining the operation of the circuit of FIG.

【図19】図4の回路の動作を説明するための図であ
る。
FIG. 19 is a diagram for explaining the operation of the circuit of FIG.

【図20】図4の回路の動作を説明するための図であ
る。
20 is a diagram for explaining the operation of the circuit in FIG.

【図21】各処理モジュールの担当領域の大きさとDD
A回路がピクセルを発生する矩形領域の大きさとが一致
してない場合の例を説明するための図である。
FIG. 21: Size and DD of area in charge of each processing module
It is a figure for explaining an example in case the size of the rectangular field which A circuit generates a pixel does not correspond.

【図22】各処理モジュールの担当領域の割り付けの他
の例を説明するための図である。
FIG. 22 is a diagram for explaining another example of allocation of areas in charge of each processing module.

【図23】本発明に係る画像処理装置の他の実施形態を
説明するための図である。
FIG. 23 is a diagram for explaining another embodiment of the image processing apparatus according to the present invention.

【符号の説明】[Explanation of symbols]

10…画像処理装置、11…メインプロセッサ、12…
メインメモリ、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…担当領域。
10 ... Image processing device, 11 ... Main processor, 12 ...
Main memory, 13 ... I / O interface circuit, 1
4, 14A ... Rendering circuit, 140-0 to 140-
3,140A-0 to 140A-3 ... Processing module, 1
42-0 to 142-3 ... Area determination circuit, 143-0 to 1
43-3 ... Triangle DDA circuit, 144-0 to 1
44-3 ... Texture engine circuit, 145-0-14
5-3 ... Memory interface (I / F) circuit, 146
... Dedicated memory I / F circuit, 147 ... Graphics memory, 147-0 to 147-3 ... Memory module, 14
8 ... CRT control circuit, 149 ... Setup data broadcast bus, 150 ... Texture bus, 151 ... Unit figure distribution circuit, 152 ... Crossbar circuit, RGN0 to RGN3 ... Area in charge.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山口 裕司 東京都品川区東五反田1丁目14番10号 株 式会社ソニー木原研究所内 Fターム(参考) 5B045 DD03 GG11 5B057 AA20 CA01 CA08 CA12 CA13 CA17 CB01 CB08 CB12 CB16 CC04 CH04 CH11 5B080 AA14 CA03 CA09 FA02 GA22   ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Yuji Yamaguchi             1-14-10 Higashi Gotanda, Shinagawa-ku, Tokyo Stock             Ceremony company Sony Kihara Laboratory F-term (reference) 5B045 DD03 GG11                 5B057 AA20 CA01 CA08 CA12 CA13                       CA17 CB01 CB08 CB12 CB16                       CC04 CH04 CH11                 5B080 AA14 CA03 CA09 FA02 GA22

Claims (31)

【特許請求の範囲】[Claims] 【請求項1】 複数の処理モジュールが処理データを共
有して並列処理を行いメモリに描画する画像処理装置で
あって、 上記複数の処理モジュールはそれぞれ、 描画すべきプリミティブに関する情報を受けて、プリミ
ティブがあらかじめインターリーブ状に分割された自モ
ジュールの担当領域に含まれるか否かを判定する領域判
定回路と、 上記領域判定回路により自モジュールの担当領域に含ま
れると判定されると、入力情報に基づいて担当領域に対
する描画処理を行う処理回路と、を含む画像処理装置。
1. An image processing apparatus in which a plurality of processing modules share processing data, perform parallel processing, and draw in a memory, wherein each of the plurality of processing modules receives information regarding a primitive to be drawn, Area determination circuit that determines whether or not is included in the area in charge of its own module that is divided into interleaves in advance, and if it is determined by the area determination circuit that the area is included in the area in charge of the own module, based on the input information And a processing circuit that performs drawing processing on the area in charge.
【請求項2】 上記複数の処理モジュールの領域判定回
路には、描画すべきプリミティブに関する同一の情報が
ブロードキャストされる請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein the same information regarding the primitive to be drawn is broadcast to the area determination circuits of the plurality of processing modules.
【請求項3】 上記複数の処理モジュールの領域判定回
路には、描画すべき異なるプリミティブに関する情報が
それぞれ供給される請求項1記載の画像処理装置。
3. The image processing apparatus according to claim 1, wherein the area determination circuits of the plurality of processing modules are respectively supplied with information regarding different primitives to be drawn.
【請求項4】 上記複数の処理モジュールの処理回路
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項1記載の画像処理装置。
4. The image processing apparatus according to claim 1, wherein the processing circuits of the plurality of processing modules draw only pixels included in an area in which the module is in charge.
【請求項5】 上記複数の処理モジュールの処理回路
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項2記載の画像処理装置。
5. The image processing apparatus according to claim 2, wherein the processing circuits of the plurality of processing modules draw only pixels included in the area in which the module is in charge.
【請求項6】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項4記載の画像処理装置。
6. An area in which a predetermined unit area is divided by the number of the processing modules is allocated to each processing module, and the processing circuits of the plurality of processing modules are in charge of the plurality of unit areas. The image processing apparatus according to claim 4, wherein pixels are generated while scanning the image.
【請求項7】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項5記載の画像処理装置。
7. An area in which a predetermined unit area is divided by the number of the processing modules is allocated to the area in charge of each processing module, and the processing circuits of the plurality of processing modules are in charge of the plurality of unit areas. The image processing apparatus according to claim 5, wherein the pixels are generated while scanning the image.
【請求項8】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項4記載の画像処理
装置。
8. An area in which a predetermined unit area is divided by the number of the processing modules is allocated to the area in charge of each processing module, and the processing circuits of the plurality of processing modules are in charge of the area in the plurality of unit areas. 5. The image processing apparatus according to claim 4, wherein the pixels are scanned to simultaneously generate pixels in units of divided areas.
【請求項9】 各処理モジュールの担当領域は、所定の
単位領域を上記処理モジュールの数だけ分割した各領域
がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項5記載の画像処理
装置。
9. An area in which a predetermined unit area is divided by the number of the processing modules is allocated to the area in charge of each processing module, and the processing circuits of the plurality of processing modules are in charge of the area in the plurality of unit areas. 6. The image processing apparatus according to claim 5, wherein the pixels are scanned and pixels are simultaneously generated in a hierarchically divided area unit.
【請求項10】 上記メモリはメモリインターリーブさ
れた複数のメモリモジュールを含み、 上記複数の処理モジュールと上記複数のメモリモジュー
ルとが一対一に対応しており、 上記複数の処理モジュールの処理回路は、自モジュール
の担当する領域に対する処理結果のみを描画して対応す
るメモリモジュールに出力する請求項1記載の画像処理
装置。
10. The memory includes a plurality of memory interleaved memory modules, the plurality of processing modules correspond to the plurality of memory modules in a one-to-one correspondence, and the processing circuits of the plurality of processing modules include: 2. The image processing apparatus according to claim 1, wherein only the processing result for the area in charge of its own module is drawn and output to the corresponding memory module.
【請求項11】 上記メモリはメモリインターリーブさ
れた複数のメモリモジュールを含み、 上記複数の処理モジュールと上記複数のメモリモジュー
ルとが一対一に対応しており、 上記複数の処理モジュールの処理回路は、自モジュール
の担当する領域に含まれるピクセルのみを描画して対応
するメモリモジュールに出力する請求項2記載の画像処
理装置。
11. The memory includes a plurality of memory interleaved memory modules, wherein the plurality of processing modules and the plurality of memory modules have a one-to-one correspondence, and the processing circuits of the plurality of processing modules include: 3. The image processing apparatus according to claim 2, wherein only the pixels included in the area in which the module is in charge are drawn and output to the corresponding memory module.
【請求項12】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項10記載の画像処理装置。
12. An area obtained by dividing a predetermined unit area by the number of the processing modules is allocated to each processing module, and the processing circuits of the plurality of processing modules are in charge of the plurality of unit areas. The image processing apparatus according to claim 10, wherein the pixels are generated while scanning the image.
【請求項13】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項11記載の画像処理装置。
13. An area in which a predetermined unit area is divided by the number of the processing modules is allocated to the area in charge of each processing module, and processing circuits of the plurality of processing modules are in charge of the plurality of unit areas. The image processing apparatus according to claim 11, wherein the pixels are generated while scanning the.
【請求項14】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項10記載の画像処
理装置。
14. A region to which each processing module is assigned is assigned a region obtained by dividing a predetermined unit region by the number of the processing modules, and the processing circuits of the plurality of processing modules are assigned to the regions to be handled in the plurality of unit regions. 11. The image processing apparatus according to claim 10, wherein the pixels are scanned and pixels are simultaneously generated in a hierarchically divided area unit.
【請求項15】 各処理モジュールの担当領域は、所定
の単位領域を上記処理モジュールの数だけ分割した各領
域がそれぞれ割り当てられ、 上記複数の処理モジュールの処理回路は、複数の単位領
域における担当領域をスキャンし、階層的に分割領域単
位で同時にピクセルを発生する請求項11記載の画像処
理装置。
15. An area obtained by dividing a predetermined unit area by the number of the processing modules is assigned to the area in charge of each processing module, and the processing circuits of the plurality of processing modules are in charge of the area in the plurality of unit areas. 12. The image processing apparatus according to claim 11, wherein the pixels are scanned and pixels are simultaneously generated hierarchically in units of divided areas.
【請求項16】 上記領域判定回路は、プリミティブが
自モジュールの担当領域に含まれると判定した場合には
入力情報を上記処理回路に出力し、含まれていないと判
定した場合には入力情報を上記処理回路に出力せず棄て
る請求項1記載の画像処理装置。
16. The area determination circuit outputs the input information to the processing circuit when it is determined that the primitive is included in the area of its own module, and the input information when it is determined that the primitive is not included. The image processing apparatus according to claim 1, wherein the image processing apparatus discards the image without outputting it to the processing circuit.
【請求項17】 複数の処理モジュールが処理データを
共有して並列処理を行いメモリに描画する画像処理方法
であって、 上記複数の処理モジュールに対してインターリーブ状に
分割して自モジュールが処理する担当領域を割り当てて
おき、 上記複数の処理モジュールに対して描画すべきプリミテ
ィブに関する情報を供給し、 各処理モジュールにおいて、プリミティブがあらかじめ
インターリーブ状に分割された自モジュールの担当領域
に含まれるか否かを判定し、 自モジュールの担当領域に含まれると判定した場合に、
供給された情報に基づいて担当領域に対する描画処理を
行う画像処理方法。
17. An image processing method in which a plurality of processing modules share processing data, perform parallel processing, and draw in a memory, wherein the plurality of processing modules are interleaved and processed by their own modules. Allocating an area in charge, supplying information on the primitives to be drawn to the above processing modules, and in each processing module, whether or not the primitives are included in the area in charge of its own module which is divided into interleaves in advance. When it is determined that the module is included in the area in charge of the own module,
An image processing method for performing drawing processing on a responsible area based on the supplied information.
【請求項18】 上記複数の処理モジュールには、描画
すべきプリミティブに関する同一の情報をブロードキャ
ストする請求項17記載の画像処理方法。
18. The image processing method according to claim 17, wherein the same information about the primitive to be drawn is broadcast to the plurality of processing modules.
【請求項19】 上記複数の処理モジュールには、描画
すべき異なるプリミティブに関する情報をそれぞれ供給
する請求項17記載の画像処理方法。
19. The image processing method according to claim 17, wherein information regarding different primitives to be drawn is supplied to each of the plurality of processing modules.
【請求項20】 上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項17記載の画像処理方法。
20. The image processing method according to claim 17, wherein each of the plurality of processing modules draws only a pixel included in an area in which the module is in charge.
【請求項21】 上記複数の処理モジュールにおいて
は、自モジュールの担当する領域に含まれるピクセルの
みを描画する請求項18記載の画像処理方法。
21. The image processing method according to claim 18, wherein each of the plurality of processing modules draws only a pixel included in an area in which the module is in charge.
【請求項22】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項20記載の画像処理方法。
22. As the area in charge of each processing module,
21. The image processing method according to claim 20, wherein a predetermined unit area is divided by the number of the processing modules, each area is allocated, and the plurality of processing modules generate pixels while scanning areas in charge of the plurality of unit areas. .
【請求項23】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項21記載の画像処理方法。
23. As the area in charge of each processing module,
22. The image processing method according to claim 21, wherein each of predetermined areas is divided into a plurality of processing modules, and each of the areas is allocated, and the plurality of processing modules generate pixels while scanning areas in charge of the plurality of unit areas. .
【請求項24】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項20記載の画像処理
方法。
24. As the area in charge of each processing module,
A predetermined unit area is divided by the number of the processing modules, and each area is allocated. In the plurality of processing modules, the areas in charge of the plurality of unit areas are scanned, and pixels are generated simultaneously in a hierarchically divided area unit. The image processing method according to claim 20.
【請求項25】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項21記載の画像処理
方法。
25. As the area in charge of each processing module,
A predetermined unit area is divided by the number of the processing modules, and each area is allocated. In the plurality of processing modules, the areas in charge of the plurality of unit areas are scanned, and pixels are generated simultaneously in a hierarchically divided area unit. The image processing method according to claim 21.
【請求項26】 上記メモリを、複数のメモリモジュー
ルにインターリーブして、上記複数の処理モジュールと
上記複数のメモリモジュールとを一対一に対応させ、 上記複数の処理モジュールにおいては、自モジュールの
担当する領域に対する処理結果のみを描画して対応する
メモリモジュールに出力する請求項17記載の画像処理
方法。
26. The memory is interleaved with a plurality of memory modules so that the plurality of processing modules correspond to the plurality of memory modules in a one-to-one correspondence, and the plurality of processing modules are in charge of their own modules. 18. The image processing method according to claim 17, wherein only the processing result for the area is drawn and output to the corresponding memory module.
【請求項27】 上記メモリを、複数のメモリモジュー
ルにインターリーブして、上記複数の処理モジュールと
上記複数のメモリモジュールとを一対一に対応させ、 上記複数の処理モジュールにおいては、自モジュールの
担当する領域に対する処理結果のみを描画して対応する
メモリモジュールに出力する請求項18記載の画像処理
方法。
27. The memory is interleaved with a plurality of memory modules so that the plurality of processing modules correspond to the plurality of memory modules in a one-to-one correspondence, and the plurality of processing modules are in charge of their own modules. 19. The image processing method according to claim 18, wherein only the processing result for the area is drawn and output to the corresponding memory module.
【請求項28】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンしながらピクセルを発生す
る請求項26記載の画像処理方法。
28. As the area in charge of each processing module,
27. The image processing method according to claim 26, wherein predetermined areas are divided by the number of the processing modules, and respective areas are allocated, and the plurality of processing modules generate pixels while scanning areas in charge of the plurality of unit areas. .
【請求項29】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールのにおいては、複数の単位領
域における担当領域をスキャンしながらピクセルを発生
する請求項27記載の画像処理方法。
29. As the area in charge of each processing module,
28. The image processing according to claim 27, wherein predetermined areas are divided by the number of the processing modules, and respective areas are allocated, and pixels are generated while scanning areas in charge of the plurality of processing areas in the plurality of processing modules. Method.
【請求項30】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールにおいては、複数の単位領域
における担当領域をスキャンし、階層的に分割領域単位
で同時にピクセルを発生する請求項26記載の画像処理
方法。
30. As the area in charge of each processing module,
Each of the areas obtained by dividing the predetermined unit area by the number of the processing modules is allocated, and in the plurality of processing modules, the areas in charge of the plurality of unit areas are scanned, and pixels are simultaneously generated in a hierarchically divided area unit. The image processing method according to claim 26.
【請求項31】 各処理モジュールの担当領域として、
所定の単位領域を上記処理モジュールの数だけ分割した
各領域をそれぞれ割り当て、 上記複数の処理モジュールとしては、複数の単位領域に
おける担当領域をスキャンし、階層的に分割領域単位で
同時にピクセルを発生する請求項27記載の画像処理方
法。
31. As the area in charge of each processing module,
Each of the areas obtained by dividing the predetermined unit area by the number of the processing modules is allocated, and the plurality of processing modules scan the areas in charge in the plurality of unit areas and hierarchically generate pixels in the divided area units at the same time. The image processing method according to claim 27.
JP2002006393A 2002-01-15 2002-01-15 Image processing device and method therefor Pending JP2003208627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002006393A JP2003208627A (en) 2002-01-15 2002-01-15 Image processing device and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002006393A JP2003208627A (en) 2002-01-15 2002-01-15 Image processing device and method therefor

Publications (2)

Publication Number Publication Date
JP2003208627A true JP2003208627A (en) 2003-07-25
JP2003208627A5 JP2003208627A5 (en) 2005-07-21

Family

ID=27645181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002006393A Pending JP2003208627A (en) 2002-01-15 2002-01-15 Image processing device and method therefor

Country Status (1)

Country Link
JP (1) JP2003208627A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006090610A1 (en) * 2005-02-23 2006-08-31 Sony Computer Entertainment Inc. Image processing device and image processing method
JP2007528062A (en) * 2004-02-27 2007-10-04 エヌヴィディア コーポレイション Graphic device clustering using PCI Express
JP2009245266A (en) * 2008-03-31 2009-10-22 Aisin Aw Co Ltd Map display device, map display program, and navigation device using the same
JP2013148363A (en) * 2012-01-17 2013-08-01 Dainippon Screen Mfg Co Ltd Visual inspection device
US9196031B2 (en) 2012-01-17 2015-11-24 SCREEN Holdings Co., Ltd. Appearance inspection apparatus and method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528062A (en) * 2004-02-27 2007-10-04 エヌヴィディア コーポレイション Graphic device clustering using PCI Express
JP4755172B2 (en) * 2004-02-27 2011-08-24 エヌヴィディア コーポレイション Graphic device clustering using PCI Express
WO2006090610A1 (en) * 2005-02-23 2006-08-31 Sony Computer Entertainment Inc. Image processing device and image processing method
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 (en) * 2008-03-31 2009-10-22 Aisin Aw Co Ltd Map display device, map display program, and navigation device using the same
JP2013148363A (en) * 2012-01-17 2013-08-01 Dainippon Screen Mfg Co Ltd Visual inspection device
US9196031B2 (en) 2012-01-17 2015-11-24 SCREEN Holdings Co., Ltd. Appearance inspection apparatus and method

Similar Documents

Publication Publication Date Title
CN107003964B (en) Handling misaligned block transfer operations
US7920141B2 (en) Method and apparatus for rasterizer interpolation
KR100959470B1 (en) Scalable high performance 3d graphics
US6535216B1 (en) Multi-processor graphics accelerator
EP0307019A2 (en) Apparatus for modifying pixel data stored in a random access memory
JP2017527898A (en) Bandwidth reduction using texture lookup with adaptive shading
EP2596491A1 (en) Displaying compressed supertile images
EP2905743A1 (en) Dividing work among multiple graphics pipelines using a super-tiling technique
US6441818B1 (en) Image processing apparatus and method of same
US5914722A (en) Memory efficient method for triangle rasterization
JP2006235839A (en) Image processor and image processing method
JP2003208627A (en) Image processing device and method therefor
JP3687945B2 (en) Image processing apparatus and method
US6466219B1 (en) Storage device and image data processing apparatus
JP2001243461A (en) Graphics plotter
US7372461B2 (en) Image processing apparatus and method of same
JP2005332195A (en) Texture unit, image drawing apparatus, and texel transfer method
US6466217B1 (en) Method and apparatus for ensuring backward compatibility in a bucket rendering system
US8576219B2 (en) Linear interpolation of triangles using digital differential analysis
US7245303B2 (en) Image processing apparatus
US7372466B2 (en) Image processing apparatus and method of same
US6563507B1 (en) Storage circuit control device and graphic computation device
KR0165464B1 (en) Apparatus and method of span rendering for graphics
JP3971448B2 (en) Drawing apparatus and drawing method
JPH11272548A (en) Storage circuit control device and graphic operation device

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