JPH0869546A - Stereoscopic image processing method and image processor - Google Patents
Stereoscopic image processing method and image processorInfo
- Publication number
- JPH0869546A JPH0869546A JP25508694A JP25508694A JPH0869546A JP H0869546 A JPH0869546 A JP H0869546A JP 25508694 A JP25508694 A JP 25508694A JP 25508694 A JP25508694 A JP 25508694A JP H0869546 A JPH0869546 A JP H0869546A
- Authority
- JP
- Japan
- Prior art keywords
- value
- data
- czf
- image processing
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、Zバッファ法により
透視変換されたスクリーン座標のポリゴンにテクスチャ
マッピングを施す画像処理装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus for performing texture mapping on polygons of screen coordinates which have been perspective-transformed by the Z buffer method.
【0002】[0002]
【従来の技術】コンピュータグラフィックスにおいて
は、視野ピラミッドというものを考えて透視変換やクリ
ッピングの処理が行われる。モデリングでは、ワールド
座標系での視点の位置、視線の方向、そして視野角を与
えることで視野ピラミッドがつくられている。2. Description of the Related Art In computer graphics, perspective transformation and clipping processing are performed in consideration of a visual field pyramid. In modeling, the view pyramid is created by giving the position of the viewpoint in the world coordinate system, the direction of the line of sight, and the viewing angle.
【0003】ワールド座標系から視点座標系への変換で
は、視点が原点になるように、全体を(光線を含め)平
行移動し、更に視線がZ軸の正方向を向くように回転移
動させる。この変換にはアフィン変換が用いられる。そ
して、変換された視点座標系からスクリーン座標系へ透
視変換を用いて変換される。In the conversion from the world coordinate system to the viewpoint coordinate system, the whole viewpoint (including the light ray) is translated so that the viewpoint becomes the origin, and further, the line of sight is rotated so as to face the positive direction of the Z axis. An affine transformation is used for this transformation. Then, the transformed viewpoint coordinate system is transformed into the screen coordinate system by using perspective transformation.
【0004】ところで、3次元グラフィックスにおい
て、Zバッファ・アルゴリズムは色々な隠面処理法の中
でもアルゴリズムが単純であり、大量の形状データを高
速にレンダリングすることができるため現在最も一般的
に用いられている。By the way, in three-dimensional graphics, the Z-buffer algorithm is the most commonly used at present because of its simple algorithm among various hidden surface processing methods and the ability to render a large amount of shape data at high speed. ing.
【0005】このZバッファ・アルゴリズムを用いた隠
面処理行う前に上記の座標変換などを行う必要がある。
この中で視野(視点)座標系からスクリーン座標系に変
換する、すなわち、3次元データを2次元データに変換
する透視変換がある。Zバッファ法を用いる場合、X、
Y値だけでなくZ値に対しても透視変換を行う必要があ
る。これはZ値に対して透視変換を行わないと、直線が
直線に、平面が平面に写像されなくなり、前後関係が入
れ替わるなどの問題が発生するからである。Before performing the hidden surface processing using this Z-buffer algorithm, it is necessary to perform the above-mentioned coordinate conversion and the like.
Among these, there is a perspective transformation for converting from a visual field (viewpoint) coordinate system to a screen coordinate system, that is, converting three-dimensional data into two-dimensional data. When using the Z-buffer method, X,
It is necessary to perform perspective transformation not only on the Y value but also on the Z value. This is because if perspective transformation is not performed on the Z value, a straight line is not mapped to a straight line and a plane is not mapped to a flat surface, and there arises a problem that the context is interchanged.
【0006】このため、Z値に対して透視変換する方法
が種々提案されているが、ゲームなどのようにオブジェ
クト(ポリゴンのかたまり、物体)を数多く表示させる
場合などに適した方法は提案されていない。For this reason, various methods have been proposed for performing perspective transformation on Z values, but a method suitable for displaying a large number of objects (lumps of polygons, objects) such as in games has been proposed. Absent.
【0007】一方、テクスチャマッピングの方法とし
て、ピクセル単位で逆透視変換するという方法がある
が、この方法は処理速度が遅いという欠点があり、リア
ルタイムでテクスチャマッピングを行うことはできなか
った。On the other hand, as a texture mapping method, there is a method of performing inverse perspective transformation in pixel units, but this method has a drawback that the processing speed is slow, and thus texture mapping cannot be performed in real time.
【0008】そこで、この問題を解決するために、I/
Oインターフェース、メモリ、辺補間回路、線分補間回
路、マッピングメモリ、乗算回路を備えたテクスチャマ
ッピング装置が特開昭63−80375号や特開平5−
298456号が提案されている。これら装置は、ディ
ジタル微分解析(DDA)を用いてテクスチャマッピン
グを行っている。Therefore, in order to solve this problem, I /
A texture mapping device including an O interface, a memory, an edge interpolation circuit, a line interpolation circuit, a mapping memory, and a multiplication circuit is disclosed in Japanese Patent Laid-Open No. 63-80375 and Japanese Patent Laid-Open No. 5-37575.
No. 298456 has been proposed. These devices perform texture mapping using digital differential analysis (DDA).
【0009】[0009]
【発明が解決しようとする課題】しかし、上述した装置
においては、奥行きを考慮していないため、テクスチャ
マップ上の直線が画面では歪んで見えたり、動かしたと
きにスムーズに動かないという問題があった。However, in the above-mentioned apparatus, since the depth is not taken into consideration, there is a problem that the straight line on the texture map looks distorted on the screen or does not move smoothly when moved. It was
【0010】この発明は上述した従来の問題点に鑑み、
まずZ値について考察し、奥行きを考慮したテクスチャ
マッピング並びにグローシェーディングの可能なZバッ
ファ法を用いた画像処理装置を提供することを目的とし
ている。In view of the above-mentioned conventional problems, the present invention has
First, the Z value is considered, and an object is to provide an image processing apparatus using a Z buffer method capable of texture mapping and glow shading in consideration of depth.
【0011】[0011]
【課題を解決するための手段】この発明は、隠面処理に
Zバッファ法を用いた立体画像処理方法において、前方
クリップ面の値をCZFとし、後方クリップ面の値をC
ZBとした時、CZFとCZBとの距離が大きくなる場
合に、Z値の透視変換値を、Zs=1−CZF/Ze
(ここで、Zsはスクリーン座標上のZ値、Zeは視野
座標上のZ値)に基づいて算出することを特徴とする。According to the present invention, in a stereoscopic image processing method using the Z buffer method for hidden surface processing, the value of the front clip plane is CZF and the value of the rear clip plane is CZF.
When ZB is set and the distance between CZF and CZB becomes large, the perspective transformation value of the Z value is Zs = 1−CZF / Ze.
(Here, Zs is the Z value on the screen coordinates, and Ze is the Z value on the visual field coordinates).
【0012】また、この発明は、隠面処理にZバッファ
法を用いた立体画像処理方法において、前方クリップ面
の値をCZFとし、後方クリップ面の値をCZBとした
時、CZFとCZBとの距離が十分大きい場合あるいは
後方クリッピングを行わない場合に、Z値の透視変換値
を、Zs=CZF/Ze(ここで、Zsはスクリーン座
標上のZ値、Zeは視野座標上のZ値)に基づいて算出
することを特徴とする。Further, according to the present invention, in the stereoscopic image processing method using the Z buffer method for the hidden surface processing, when the value of the front clip plane is CZF and the value of the rear clip plane is CZB, CZF and CZB are combined. When the distance is sufficiently large or when backward clipping is not performed, the perspective transformation value of the Z value is set to Zs = CZF / Ze (where Zs is the Z value on the screen coordinate and Ze is the Z value on the visual field coordinate). It is characterized in that it is calculated based on.
【0013】更に、この発明は、隠面処理にZバッファ
法を用いた立体画像処理方法において、前方クリップ面
の値をCZFとし、後方クリップ面の値をCZBとした
時、CZFとCZBとの距離が十分大きい場合あるいは
後方クリッピングを行わない場合に、スクリーン座標上
のZ値(Zs)を前方クリッピング面の値に応じて1/
Ze(Zeは視野座標上のZ値)を左シフトした値を用
いることを特徴とする。Further, according to the present invention, in the stereoscopic image processing method using the Z buffer method for the hidden surface processing, when the value of the front clip plane is CZF and the value of the rear clip plane is CZB, CZF and CZB are combined. When the distance is large enough or when backward clipping is not performed, the Z value (Zs) on the screen coordinates is set to 1 / depending on the value of the front clipping plane.
It is characterized in that a value obtained by left-shifting Ze (Ze is a Z value on the visual field coordinates) is used.
【0014】上記1/Zeを演算した出力を、バレルシ
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせるとよい。The output obtained by calculating 1 / Ze may be shifted according to the value of CZF by a barrel shifter or a multiplexer.
【0015】この発明の画像処理装置は、上記した方法
でZ値の透視変換を行う処理手段と、このZ値及び表示
するポリゴンのスクリーンデータ、テクスチャマップア
ドレスデータをポリゴン辺の2点間の補間処理でエッジ
展開する手段と、エッジ展開された各データをエッジ2
点間の補間処理でピクセル展開する手段と、ピクセル展
開されたテクスチャマップアドレスデータに応じてテク
スチャマッピングメモリからテクスチャデータとして読
み出す手段と、を備える。The image processing apparatus of the present invention comprises a processing means for perspectively transforming the Z value by the above method, and the Z value and the screen data of the polygon to be displayed and the texture map address data are interpolated between two points on the side of the polygon. A means for expanding the edge in the processing and each edge expanded data
A means for developing a pixel by interpolation processing between points and a means for reading out as texture data from a texture mapping memory according to the texture map address data subjected to the pixel development are provided.
【0016】また、この発明の画像処理装置は、透視変
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
とよい。In the image processing apparatus of the present invention, a register file may be provided between the processing means for performing perspective transformation and the edge developing means, and data for several polygons may be transferred at once.
【0017】更に、この発明の画像処理装置は、テクス
チャマップアドレスデータを透視変換したZ値で乗算
し、この乗算したテクスチャマップアドレスデータをピ
クセル展開し、ピクセル展開したテクスチャマップアド
レスデータを透視変換したZ値で除算することを特徴と
する。Further, the image processing apparatus of the present invention multiplies the texture map address data by the perspective-transformed Z value, expands the multiplied texture map address data into pixels, and perspective-transforms the pixel expanded texture map address data. It is characterized by division by the Z value.
【0018】上記エッジ展開手段は、ポリゴンを構成す
る辺の傾きが入力される第1のマルチプレクサと、この
傾きデータを格納するシフトレジスタと、このシフトレ
ジスタからの出力をフィードバックして前記第1のマル
チプレクサに与える手段と、前記シフトレジスタの出力
を一方の入力とする加算器と、この加算器の出力及び始
点データが入力される第2のマルチプレクサと、前記第
2のマルチプレクサからの出力を格納するシフトレジス
タと、このシフトレジスタからの出力を前記加算回路に
与える手段とからなることを特徴とする。The edge expanding means feeds back the output from the first multiplexer, the shift register that stores the slope data of the first multiplexer to which the slopes of the sides forming the polygon are input, and the first multiplexer by feeding back the output from the shift register. Means for giving to the multiplexer, an adder having one output of the shift register, a second multiplexer to which the output of the adder and start point data are input, and an output from the second multiplexer are stored. It is characterized by comprising a shift register and means for giving the output from the shift register to the adder circuit.
【0019】上記ピクセル展開手段として、2分子1分
母除算器を用いるよい。A 2-numerator / denominator divider may be used as the pixel expanding means.
【0020】また、輝度値データを透視変換したZ値で
乗算し、この乗算した輝度値データをピクセル展開し、
ピクセル展開した輝度値データを透視変換したZ値で除
算するように構成することもできる。Further, the brightness value data is multiplied by the Z value obtained by perspective transformation, and the multiplied brightness value data is expanded into pixels,
It is also possible to configure so that the brightness value data that has undergone pixel expansion is divided by the Z value that has been perspective-transformed.
【0021】透明か否かのフラグを格納した透明マッピ
ングメモリを備えると良い。A transparent mapping memory that stores a flag indicating whether or not it is transparent may be provided.
【0022】[0022]
【作用】上記第1の構成によれば、従来の無駄な計算の
み省いているので、計算量が少なく、また、精度も保た
れる。According to the first configuration, since only the conventional useless calculation is omitted, the calculation amount is small and the accuracy is maintained.
【0023】上記第2の構成によれば、CZBとCZF
との距離が大きい場合に対処しているので、計算が簡単
になり、全体の処理能力が向上する。According to the above second structure, CZB and CZF
Since it copes with the case where the distance between and is large, the calculation is simplified and the overall processing capability is improved.
【0024】2次元のテクスチャマップデータを透視変
換逆透視変換することで、奥行きを考慮したテクスチャ
マッピングが行える。By performing perspective transformation and inverse perspective transformation on the two-dimensional texture map data, texture mapping can be performed in consideration of depth.
【0025】[0025]
【実施例】以下、この発明の実施例につき図面を参照し
て説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0026】図1は、この発明の第1の実施例の全体構
成を示すブロック図である。FIG. 1 is a block diagram showing the overall construction of the first embodiment of the present invention.
【0027】前述したように、3次元グラフィックスに
おいて、Zバッファ・アルゴリズムは色々な隠面処理法
の中でもアルゴリズムが単純であり、大量の形状データ
を高速にレンダリングすることができる。As described above, in three-dimensional graphics, the Z-buffer algorithm is simple among various hidden surface processing methods and can render a large amount of shape data at high speed.
【0028】画像処理装置においては、このZバッファ
・アルゴリズムを用いた隠面処理行う前に視点座標系か
らスクリーン座標系に変換する必要がある。すなわち、
ワールド座標系から視点座標系への変換をアフィン変換
により行いこれらの変換をマイクロプロセッサ部1で行
う視点座標系からスクリーン座標系に変換する透視変換
が行われる。In the image processing apparatus, it is necessary to convert from the viewpoint coordinate system to the screen coordinate system before performing the hidden surface processing using the Z buffer algorithm. That is,
The conversion from the world coordinate system to the viewpoint coordinate system is performed by the affine transformation, and these conversions are performed by the microprocessor unit 1. Perspective transformation is performed to convert the viewpoint coordinate system to the screen coordinate system.
【0029】前述したように、Zバッファ法を用いる場
合、X、Y値だけでなくZ値に対しても透視変換を行う
必要がある。これはZ値に対して透視変換を行わない
と、直線が直線に、平面が平面に写像されなくなり、前
後関係が入れ替わるなどの問題が発生するからである。As described above, when the Z buffer method is used, it is necessary to perform perspective transformation not only on X and Y values but also on Z values. This is because if perspective transformation is not performed on the Z value, a straight line is not mapped to a straight line and a plane is not mapped to a flat surface, and there arises a problem that the context is interchanged.
【0030】Z値に対して、透視変換する方法として
は、次の数式(1)に示すものがある。As a method of performing perspective transformation on the Z value, there is a method shown in the following mathematical expression (1).
【0031】[0031]
【数1】Zs=1/Ze …(1) ここで、Zsはスクリーン座標上のZ値、Zeは視野座
標上のZ値である。## EQU1 ## Zs = 1 / Ze (1) Here, Zs is the Z value on the screen coordinates, and Ze is the Z value on the visual field coordinates.
【0032】上記(1)式を用いることにより、Z値を
透視変換することができるが、この方法では精度が悪い
という問題がある。Although the Z value can be perspective-transformed by using the above equation (1), this method has a problem that the accuracy is low.
【0033】そこで、この精度をよくするためにビュー
・ボリュームの奥行き方向の範囲をなるべく狭くし、Z
値を0と1の間に正規化し、下記の数式(2)により透
視変換する方法が提案されている(例えば、PIXEL
(No.73)88頁ないし89頁参照。)。Therefore, in order to improve this precision, the range of the view volume in the depth direction is made as narrow as possible, and Z
A method has been proposed in which a value is normalized between 0 and 1 and perspective transformation is performed by the following mathematical expression (2) (for example, PIXEL).
(No. 73) pp. 88-89. ).
【0034】[0034]
【数2】 Zs=Z/W=(A・Ze+B)/C・Ze =a(1−CZF/Ze) …(2) ただし、a=CZB/(CZB−CZF) ここで、CZFは前方クリップ面の値、CZBは後方ク
リップ面の値である。## EQU00002 ## Zs = Z / W = (A.Ze + B) /C.Ze=a (1-CZF / Ze) (2) where a = CZB / (CZB-CZF) where CZF is the front clip The surface value, CZB, is the value of the rear clip surface.
【0035】ところで、ゲームなどのように、オブジェ
クトを数多く表示させる場合には、どうしてもCZFと
CZBの距離が大きくなる。そこで、この発明は、オブ
ジェクトを多く表示させる必要がある場合、すなわちC
ZB》CZFの場合には、aは約1になるので、上記
(2)式は次の数式(3)になる。By the way, when many objects are displayed as in a game, the distance between CZF and CZB is inevitably large. Therefore, the present invention, when it is necessary to display many objects, that is, C
In the case of ZB >> CZF, since a becomes about 1, the above formula (2) becomes the following formula (3).
【0036】[0036]
【数3】Zs=1−CZF/Ze …(3)## EQU3 ## Zs = 1-CZF / Ze (3)
【0037】上記(3)式は、(2)式に比べて単純と
なり、演算が簡単に行える。このため、この発明では、
オブジェクトを多く表示させるなどの場合は、上記
(3)式に基づきマイクロプロセッサ部1でZ値を透視
変換する。スクリーン座標上のX、Y値(Xs、Ys)
は次の数式(4)で計算される。The above equation (3) is simpler than the equation (2), and the operation can be performed easily. Therefore, in the present invention,
When displaying many objects, the Z value is perspectively transformed by the microprocessor unit 1 based on the above equation (3). X and Y values on screen coordinates (Xs, Ys)
Is calculated by the following equation (4).
【0038】[0038]
【数4】 Xs=Xe・d/Ze、Ys=Ye・d/Ze …(4) ここで、dは視点からスクリーンまでの距離である。Xs = Xe · d / Ze, Ys = Ye · d / Ze (4) where d is the distance from the viewpoint to the screen.
【0039】また、ZeはCZFとCZBとの間で変化
するため、上記(3)式のZsは0から(1−CZF/
CZB)=1の間で変化する。Zバッファ法を用いる場
合、0から1でも1から0に変化してもZバッファの初
期化の値を変えるだけでよいので、上記(3)式は下記
の数式(5)のように取り扱っても問題はない。Since Ze changes between CZF and CZB, Zs in the above equation (3) is changed from 0 to (1-CZF /
It varies between CZB) = 1. When the Z buffer method is used, it is only necessary to change the initialization value of the Z buffer when changing from 0 to 1 or from 1 to 0. Therefore, the equation (3) should be treated as the following equation (5). There is no problem.
【0040】[0040]
【数5】Zs=CZF/Ze …(5)## EQU5 ## Zs = CZF / Ze (5)
【0041】また、上記(1)式の結果をシフトして用
いることにより、(1)式の精度をよくすることができ
る。すなわち、Zsの値をCZFの値に応じてシフトさ
せる。例えば、CZF=Ze=33の時、1/Zeを小
数点以下16ビットで表すと、07c1hとなる。CZ
F≦Zeの関係から、CZfが33の時は16ビット中
上位5ビットは0固定となる。すなわち、16ビットの
値を5ビット左シフトしても問題がない。但し、この場
合、1/Zeは小数点以下21ビット以上求めておかな
ければならないが、マイクロプロセッサ部1の除算器の
結果が32ビットのものを使用すれば全く問題はない。Further, by shifting and using the result of the expression (1), the accuracy of the expression (1) can be improved. That is, the value of Zs is shifted according to the value of CZF. For example, when CZF = Ze = 33, 1 / Ze is represented by 16 bits after the decimal point, which is 07c1h. CZ
From the relationship of F ≦ Ze, when CZf is 33, the upper 5 bits of 16 bits are fixed to 0. That is, there is no problem even if a 16-bit value is left-shifted by 5 bits. However, in this case, 1 / Ze must be obtained by 21 bits or more below the decimal point, but if the result of the divider of the microprocessor unit 1 is 32 bits, no problem will occur.
【0042】以上のことから、この発明の第1の実施例
を示す図1の画像処理装置では、マイクロプロセッサ部
1からエッジ展開回路2へ出力される透視変換後のZ値
において、CZFとCZBの距離が小さい場合に限ると
きは、上記(3)式を用いる。また、CZFとCZBと
の距離が大きい場合、すなわちCZB/(CZB−CZ
F)=1として良い場合には、上記(5)式を用いる。
このように、CZBとCZFの関係によりZsの演算方
法を切り替えてエッジ展開回路2に出力する。From the above, in the image processing apparatus of FIG. 1 showing the first embodiment of the present invention, CZF and CZB in the Z value after perspective transformation output from the microprocessor unit 1 to the edge expansion circuit 2. When the distance is small, the above equation (3) is used. When the distance between CZF and CZB is large, that is, CZB / (CZB-CZ
When F) = 1, the above equation (5) is used.
In this way, the operation method of Zs is switched according to the relationship between CZB and CZF and output to the edge expansion circuit 2.
【0043】なお、アフィン変換は予めシステムで行っ
ても良いが、このマイクロプロセッサ部1にて行うよう
に構成してもよい。The affine transformation may be performed by the system in advance, but may be performed by the microprocessor unit 1.
【0044】更にマイクロプロセッサ部1の負担を少な
くしたい場合には、上記(1)式を用い、そして精度を
上げるためにZeをシフトさせればよい。特に、(1)
式を用いる場合には、マイクロプロセッサ部1でシフト
させても良いが、1/Zeのデータをそのまま出力し、
受け取る側の回路、この例では、エッジ展開回路2でバ
レルシフタあるいはマルチプレクサを用いてシフトさせ
るように構成している。図2にエッジ展開回路2のデー
タ入力部を構成するシフタ回路の一例を示す。マイクロ
プロセッサ部1から透視変換されたX,Y,1/Ze,
I(輝度値)、MX,MYがバレルシフタ(BRS)2
1に与えられる。BRS21からシフトされたZ値と、
X,Y,I,MX,MYが出力され、エッジ展開され
る。また、1ワードのデータに数パラメータ(XとYな
ど)が含まれる場合には、BRSコントローラ22に入
力されるCZFに基づいて判定すればよい。If it is desired to further reduce the load on the microprocessor unit 1, the above equation (1) may be used, and Ze may be shifted to improve the accuracy. In particular, (1)
When using the formula, it may be shifted by the microprocessor unit 1, but 1 / Ze data is output as it is,
A circuit on the receiving side, in this example, the edge expansion circuit 2 is configured to shift using a barrel shifter or a multiplexer. FIG. 2 shows an example of a shifter circuit forming the data input section of the edge expansion circuit 2. X, Y, 1 / Ze perspective-transformed from the microprocessor unit 1
I (luminance value), MX, MY are barrel shifters (BRS) 2
Given to 1. Z value shifted from BRS21,
X, Y, I, MX, and MY are output and the edges are expanded. If one word of data includes several parameters (X and Y, etc.), the determination may be made based on the CZF input to the BRS controller 22.
【0045】図1に示す画像処理装置において、1ポリ
ゴン分のデータをダイレクト・メモリ・アクセス(DM
A)転送によって、マイクロプロセッサ部1からエッジ
展開回路2に転送される。マイクロプロセッサ部1には
DMA転送のための回路が含まれている。In the image processing apparatus shown in FIG. 1, the data for one polygon is processed by direct memory access (DM
By A) transfer, it is transferred from the microprocessor unit 1 to the edge expansion circuit 2. The microprocessor unit 1 includes a circuit for DMA transfer.
【0046】しかし、1ポリゴンづつデータを転送する
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この発
明では、図3に示すように、数ポリゴン分あるいは、そ
れ以上のポリゴンデータを格納するためのレジスタファ
イル(RGF)23が設けられている。このレジスタフ
ァイル23はRGFアドレスコントローラ24により制
御され、マイクロプロセッサ部1からのZ値、X,Y,
I,MX,MYが格納される。However, if the data is transferred for each polygon, a wasteful time increases or a control circuit for reducing the wasteful time is required. Therefore, in the present invention, as shown in FIG. 3, a register file (RGF) 23 for storing polygon data for several polygons or more is provided. The register file 23 is controlled by the RGF address controller 24, and the Z value, X, Y, from the microprocessor unit 1 is controlled.
I, MX, MY are stored.
【0047】このようにレジストファイル23を設けれ
ばDMA転送時の無駄な処理時間がその分少なくすむ。If the registration file 23 is provided in this way, useless processing time during DMA transfer can be reduced accordingly.
【0048】図4にエッジ展開回路2の構成を示す。図
4に示すように、マイクロプロセッサ部1からスクリー
ン座標値のXs、Ys、Zs、MXs、MYsと輝度値
(I)がレジスタファイル23にDMA転送される。こ
の時、ポリゴンに対する各フラグ、例えば、フラットシ
ェーディング或いはグローシェーディングなどのフラグ
も転送される。そして、このレジストファイル23から
初期演算部25にデータが送られ、この実施例では、こ
の初期演算部25は、図2に示すバレルシフタ21によ
るシフト動作を行う。エッジ展開回路2では、ポリゴン
データを図5のように、左辺と右辺のエッジに展開す
る。なお、この実施例では4角形で説明するが、別に何
角形でもよい。図5に示すように、左辺と右辺と分割さ
れたそれぞれのデータを右辺は補間回路26で左辺は補
間回路27でディジタル微分解析(DDA)により補間
処理し、補間して得られたそれぞれのデータをピクセル
展開回路3に転送する。また、DDAコントロール部2
8からはスキャンライン、すなわちYデータとフラグが
出力される。FIG. 4 shows the configuration of the edge expansion circuit 2. As shown in FIG. 4, the screen coordinate values Xs, Ys, Zs, MXs, MYs and the brightness value (I) are DMA-transferred from the microprocessor unit 1 to the register file 23. At this time, flags for polygons, for example, flags for flat shading or glow shading are also transferred. Then, data is sent from the registration file 23 to the initial calculation unit 25, and in this embodiment, the initial calculation unit 25 performs the shift operation by the barrel shifter 21 shown in FIG. The edge expansion circuit 2 expands the polygon data to the left and right edges as shown in FIG. In addition, although a quadrangular shape is described in this embodiment, any polygonal shape may be used. As shown in FIG. 5, the data obtained by interpolating the divided data on the left side and the right side by interpolation circuit 26 on the right side and interpolation circuit 27 on the left side by digital differential analysis (DDA) and interpolating Is transferred to the pixel expansion circuit 3. Also, the DDA control unit 2
From 8, a scan line, that is, Y data and a flag is output.
【0049】ピクセル展開回路3は、補間回路26、2
7から出力される点データを入力とし、これらの点デー
タの2点により決まるスキャンラインに平行な直線を補
間してピクセル展開し、この展開されたデータをアドレ
スとして、テクスチャマッピングメモリ4をアクセスす
る。テクスチャマッピングメモリ4は、ピクセル展開回
路3から出力されるデータが示すアドレス値のテクスチ
ャデータを出力し、カラー演算回路5に出力する。The pixel expansion circuit 3 includes interpolation circuits 26, 2
The point data output from 7 is input, a straight line parallel to a scan line determined by two points of these point data is interpolated to develop a pixel, and the developed data is used as an address to access the texture mapping memory 4. . The texture mapping memory 4 outputs the texture data having the address value indicated by the data output from the pixel expansion circuit 3, and outputs the texture data to the color calculation circuit 5.
【0050】カラー演算回路5では、ピクセル展開回路
3から読み出されたLUTADからルックアップテーブ
ルメモリ6をアクセスし、そのピクセルの色情報(R、
G、B)を取り出す。そして、カラー演算を行う。In the color operation circuit 5, the look-up table memory 6 is accessed from the LUTAD read from the pixel expansion circuit 3, and the color information (R,
Take out G and B). Then, color calculation is performed.
【0051】メモリ制御回路7では、上述した方法で計
算したZsをピクセル展開したZsが格納されているフ
レームメモリ9と同じフォーマットのZバッファメモリ
8とフレームメモリ(R、G、B値が格納されている)
の制御を行う。The memory control circuit 7 stores the Z buffer memory 8 and the frame memory (R, G, B values) of the same format as the frame memory 9 in which the Zs calculated by the above-described method is stored. ing)
Control.
【0052】このメモリ制御回路7では、まず、Zバッ
ファメモリ8のそのピクセルのデータを読み出し計算し
たピクセルのZs値比較し、Zs値の方が大きければ、
すなわち、計算されたピクセルが手前にあればフレーム
メモリ9とZバッファメモリ8にそれぞれのデータを書
き込み、逆に小さければ何も書き込まない。またCRT
コントローラ10の制御信号により、1つ前のフレーム
のRGBデータを読みだす。このCRTコントローラは
フレームメモリのRGBデータをD/Aコンバータ、R
GBエンコーダを経てコンポジットビデオ信号をCRT
に出力する。In the memory control circuit 7, first, the data of the pixel in the Z buffer memory 8 is read out and compared, and the Zs value of the calculated pixel is compared. If the Zs value is larger,
That is, if the calculated pixel is in front, the respective data is written to the frame memory 9 and the Z buffer memory 8, and conversely, if it is small, nothing is written. Also CRT
The RGB data of the immediately preceding frame is read by the control signal of the controller 10. This CRT controller converts RGB data in the frame memory into a D / A converter, R
CRT composite video signal through GB encoder
Output to.
【0053】このようにして、Zバッファ法に基づくテ
クスチャマッピングが容易に行える。In this way, texture mapping based on the Z buffer method can be easily performed.
【0054】前述した装置におけるテクスチャ・マッピ
ング装置では、奥行きを考慮していないため、図21に
示すように、Z1とZ2が等しい場合には問題がない
が、Z1≠Z2の場合、奥行きを考慮していないため、
図22に示すようにはならないという問題がある。更
に、テクスチャマップ上の直線がスクリーン画面上では
直線にならなかったり、回転などして動かした場合動き
がスムーズにならないという問題がある。そこで、この
発明の第2の実施例では、これらの問題を解決するため
に、次のようにテクスチャマッピングを行っている。Since the texture mapping device in the above-mentioned device does not consider depth, there is no problem when Z1 and Z2 are equal as shown in FIG. 21, but when Z1 ≠ Z2, depth is considered. Because not
There is a problem that it does not become as shown in FIG. Furthermore, there is a problem that the straight line on the texture map does not become a straight line on the screen screen, or the motion does not become smooth when rotated and moved. Therefore, in the second embodiment of the present invention, in order to solve these problems, texture mapping is performed as follows.
【0055】まず、テクスチャマップアドレスMX、M
Yの透視変換(スクリーン変換)を次の数式(6)によ
り行う。First, the texture map addresses MX, M
The perspective conversion (screen conversion) of Y is performed by the following mathematical expression (6).
【0056】[0056]
【数6】 MXs=MX/Ze、MYs=MY/Ze …(6) ここで、MXs、MYsはスクリーン上のテクスチャマ
ップアドレスである。## EQU6 ## MXs = MX / Ze, MYs = MY / Ze (6) where MXs and MYs are texture map addresses on the screen.
【0057】そして、MXs、MYsをポリゴンデータ
からピクセルデータまでデジタル微分解析(DDA)に
より展開する。Then, MXs and MYs are developed from polygon data to pixel data by digital differential analysis (DDA).
【0058】ピクセル展開された(MXs、MYs)を
元のテクスチャマップアドレス(MX、MY)に次の数
式(7)に従い逆変換する。The pixel-developed (MXs, MYs) is inversely converted into the original texture map address (MX, MY) according to the following equation (7).
【0059】[0059]
【数7】 MX=MXs/Zs、MY=MYs/Zs …(7) ここで、Zsはピクセルに展開されたZs値である。## EQU00007 ## MX = MXs / Zs, MY = MYs / Zs (7) Here, Zs is the Zs value developed in the pixel.
【0060】このように演算することで、奥行きを考慮
したテクスチャマッピングが可能となる。By calculating in this way, it becomes possible to perform texture mapping considering depth.
【0061】図6は、上述した方法を用いた画像処理装
置を示すブロック図である。図6に示すように、マイク
ロプロセッサ部1では、前述の第1の実施例と同様に座
標変換、シェーディング、クリッピングなどを行い、ス
クリーン座標値のXs、Ys、Zs、MXs、MYsと
輝度値(I)をDMA転送する。この時、ポリゴンに対
する各フラグ、例えば、フラットシェーディング或いは
グローシェーディングなどのフラグも転送される。ま
た、このマイクロプロセッサ部1は、アフィン変換やD
MA転送などの専用ハードウェアも含まれている。そし
て、上記(6)式の演算並びに上述したZ値の透視変換
はこのブロックで行われる。FIG. 6 is a block diagram showing an image processing apparatus using the above method. As shown in FIG. 6, in the microprocessor unit 1, coordinate conversion, shading, clipping, etc. are performed in the same manner as in the first embodiment described above, and screen coordinate values Xs, Ys, Zs, MXs, MYs and luminance values ( DMA transfer of I). At this time, flags for polygons, for example, flags for flat shading or glow shading are also transferred. In addition, the microprocessor unit 1 uses affine transformation and D
Dedicated hardware such as MA transfer is also included. Then, the calculation of the above equation (6) and the above-described perspective transformation of the Z value are performed in this block.
【0062】1ポリゴン分のデータをDMA転送によっ
て、マイクロプロセッサ部1からエッジ展開回路2に転
送される。しかし、1ポリゴンづつデータを転送する
と、無駄な時間が多くなるかあるいは、無駄な時間を少
なくするための制御回路が必要となる。そこで、この実
施例においても、図3に示すように、数ポリゴン分ある
いは、それ以上のポリゴンデータを格納するためのレジ
スタファイル23が設けられている。このようにレジス
トファイル23を設けたエッジ展開回路2では、ポリゴ
ンデータを図5のように、左辺と右辺のエッジに展開す
る。Data for one polygon is transferred from the microprocessor unit 1 to the edge expansion circuit 2 by DMA transfer. However, if the data is transferred for each polygon, a wasteful time increases or a control circuit for reducing the wasteful time is required. Therefore, also in this embodiment, as shown in FIG. 3, a register file 23 for storing polygon data for several polygons or more is provided. In the edge expansion circuit 2 provided with the resist file 23 as described above, the polygon data is expanded to the left and right edges as shown in FIG.
【0063】図7にこのエッジ展開回路の構成を示す。
このエッジ展開回路は前述の第1の実施例と同様に構成
されるが、この実施例における初期演算部では、図2に
示すシフト動作と、更に上記(6)式に示すMXをMX
sに、MYをMYsに変換する処理が行われる。この初
期化演算回路25aは図8に示すように構成されてい
る。FIG. 7 shows the configuration of this edge expansion circuit.
This edge expansion circuit is configured in the same manner as in the first embodiment described above, but in the initial operation section in this embodiment, the shift operation shown in FIG.
In s, the process of converting MY to MYs is performed. This initialization operation circuit 25a is configured as shown in FIG.
【0064】マイクロプロセッサ部1からDMA転送さ
れたデータを一時的にレジスタファイル(RGF23)
に格納し、1ポリゴンづつ初期演算部25aにデータを
転送する。バレルシフタ250でZ値のシフト処理を行
いMXs,MYs演算部251で、MX、MYにZsを
乗算して、MXs、MYsに変換する。この演算部25
1でMX,MYをスクリーン座標に変換するのは、マイ
クロプロセッサ部1でMX、MYを上記(6)式に基づ
いてスクリーン座標に変換するよりも、このブロックで
スクリーン変換したZs値を乗算した方が精度が良くな
り、入力データのビット数も少なくすむからである。The data DMA-transferred from the microprocessor unit 1 is temporarily stored in a register file (RGF23).
Data is transferred to the initial calculation unit 25a for each polygon. The barrel shifter 250 shifts the Z value, and the MXs / MYs calculator 251 multiplies MX and MY by Zs to convert them into MXs and MYs. This calculation unit 25
The conversion of MX and MY into screen coordinates in 1 is performed by multiplying the screen-converted Zs value in this block, rather than converting MX and MY into screen coordinates based on the above equation (6) in the microprocessor unit 1. This is because the accuracy is better and the number of bits of the input data can be reduced.
【0065】そして、DDA初期設定部252でY値を
判定して、図5のように、右辺と左辺を識別し、傾きデ
ータを算出する。傾きデータは、例えば、Xsの時は、
(Xs1−Xs0)/Ys1−Ys0)(0、1はポリ
ゴンの端点番号)で求める。このブロックで計算された
各パラメータの傾きデータと始点データを右辺と左辺の
補間回路26、27に転送する。図9にその補間回路、
図10に加算回路を示す。なお、Ys値については、1
づつ加算するだけでよいので、図7のDDAコントロー
ル部28で計算する。また、Ys値の算出はカウンタで
行っても良い。Then, the DDA initial setting section 252 determines the Y value, and as shown in FIG. 5, the right side and the left side are discriminated and the tilt data is calculated. The inclination data is, for example, when Xs,
(Xs1−Xs0) / Ys1−Ys0) (0 and 1 are polygon end point numbers). The inclination data and the starting point data of each parameter calculated in this block are transferred to the interpolation circuits 26 and 27 on the right and left sides. The interpolation circuit is shown in FIG.
FIG. 10 shows an adder circuit. The Ys value is 1
Since it is only necessary to add the values one by one, the DDA control unit 28 of FIG. Also, the Ys value may be calculated by a counter.
【0066】図9に示される補間回路26、27は、そ
れぞれ加算回路26a(27a)〜6e(27e)にて
構成され、加算回路26a(27a)は、X座標を補間
して生成する回路、加算回路26b(27b)は、Z値
を補間して生成する回路、加算回路26c(27c)
は、I(輝度値)を補間して生成する回路、加算回路2
6d(27d)は、MX値を補間して生成する回路、加
算回路26e(27e)は、MY値を補間して生成する
回路である。The interpolating circuits 26 and 27 shown in FIG. 9 are composed of adder circuits 26a (27a) to 6e (27e), respectively, and the adder circuit 26a (27a) interpolates and generates the X coordinate. The adder circuit 26b (27b) is a circuit that interpolates and generates the Z value, and the adder circuit 26c (27c).
Is a circuit that interpolates and generates I (luminance value), and an adder circuit 2
6d (27d) is a circuit that interpolates and generates MX values, and addition circuit 26e (27e) is a circuit that interpolates and generates MY values.
【0067】これら加算回路の具体的構成例の一例を図
10に示す。この加算回路は、DDA変換部252で算
出された傾きデータを格納するレジスタ261を備えて
おり、このレジスタ261からのデータが加算器262
に与えられる。また、始点データはマルチプレクサ26
3に与えられ、このマルチプレクサ263には加算回路
262からの出力が与えられる。マルチプレクサ263
のデータはレジスタ264に保持され、このレジスタ2
64の値が加算回路262に与えられる。従って、始点
データはまず、マルチプレクサ263を介してレジスタ
264に保持され、そして、レジスタ264に保持され
た始点データとレジスタ261に保持された傾きデータ
が加算器262で加算され、その値がマルチプレクサ2
63に介してレジスタ264に与えられ、この補間され
たデータが出力される。続いて、前回補間されたデータ
と傾きデータとが加算器262で加算され、逐次補間処
理が行われる。FIG. 10 shows an example of a concrete configuration example of these adder circuits. This adder circuit includes a register 261 that stores the slope data calculated by the DDA conversion unit 252, and the data from this register 261 is added by the adder 262.
Given to. In addition, the start point data is the multiplexer 26.
3 and the output from the adder circuit 262 is given to the multiplexer 263. Multiplexer 263
Data of the register 2 is held in the register 264.
The value of 64 is given to the adding circuit 262. Therefore, the start point data is first held in the register 264 via the multiplexer 263, and the start point data held in the register 264 and the slope data held in the register 261 are added by the adder 262, and the value is added to the multiplexer 2
It is given to the register 264 via 63, and this interpolated data is output. Subsequently, the previously interpolated data and the inclination data are added by the adder 262, and the sequential interpolation processing is performed.
【0068】このエッジ展開を行う回数は、ピクセル展
開回路3を並列化したとき以外は、ピクセル展開を行う
回数に比べて少ない。従って、図9のように、1サイク
ルで全てのパラメータを補間する必要はない。The number of times of this edge expansion is smaller than the number of times of pixel expansion except when the pixel expansion circuit 3 is parallelized. Therefore, it is not necessary to interpolate all the parameters in one cycle as shown in FIG.
【0069】図11は複数のパラメータを補間していく
加算回路を、図12はこの加算回路を用いた補間回路を
示す。図11に示すように、複数の傾きデータはマルチ
プレクサ265を介してシフトレジスタ267に与えら
れ、このシフトレジスタ267からはマルチプレクサ2
65及び加算器268に出力がそれぞれ与えられる。加
算回路268からはマルチプレクサ269を介してレジ
スタ270のデータが転送され、このレジスタ270か
らシフトレジスタ266を介して加算器266にデータ
が与えられる。複数の始点データはマルチプレクサ26
9を介してレジスタ270に与えられる。このように構
成することで、順次複数のパラメータの補間処理が行え
る。このように構成すれば、回路規模が小さくなる。ま
た、このように構成することで、傾きデータを算出する
ための除算回路も各パラメータごとに持つ必要はない。FIG. 11 shows an adder circuit for interpolating a plurality of parameters, and FIG. 12 shows an interpolator circuit using this adder circuit. As shown in FIG. 11, a plurality of gradient data is given to the shift register 267 via the multiplexer 265, and from the shift register 267, the multiplexer 2 is supplied.
Outputs are provided to 65 and adder 268, respectively. The data in the register 270 is transferred from the adder circuit 268 via the multiplexer 269, and the data is given from the register 270 to the adder 266 via the shift register 266. Multiple start point data is the multiplexer 26
9 to the register 270. With this configuration, interpolation processing of a plurality of parameters can be sequentially performed. With this configuration, the circuit scale becomes smaller. Further, with this configuration, it is not necessary to have a dividing circuit for calculating the tilt data for each parameter.
【0070】更に、ピクセル展開回路3ではエッジ展開
回路2から出力された各パラメータの始点と終点、ここ
で、始点は左辺データ、終点は右辺データからピクセル
に補間する。計算方法はエッジ展開回路2と同じであ
る。図13にピクセル展開回路の構成を示す。Further, the pixel expansion circuit 3 interpolates a pixel from the start and end points of each parameter output from the edge expansion circuit 2, where the start point is the left side data and the end point is the right side data. The calculation method is the same as that of the edge expansion circuit 2. FIG. 13 shows the configuration of the pixel expansion circuit.
【0071】初期演算部31にて各傾きデータの初期値
を演算し、この初期データを補間回路32に与える。補
間回路32は、前述の加算回路260と同様に構成さ
れ、DDAにより左辺と右辺の2点間に挟まれたスキャ
ンライン毎にピクセル展開して行く。この補間回路32
によって、ピクセル展開された各パラメータのうち、M
XsとMYsは逆変換回路33でMX、MYに変換しな
ければならない。図14にその逆変換回路の構成を示
す。なお、この回路の除算器331、332は逐次型除
算器である。ここで、分子はMXsとMYsの2種類で
あるが、分母はZsの1種類だけであるので、図16に
示す除算器を用いれば回路規模が小さくなる。この図1
6は2分子1分母除算器の具体的構成を示す回路図であ
る。この除算器を用いたピクセル展開回路を図15に示
す。なお、この除算器330には小数点以下の四捨五入
回路を含む。また分母のZsデータは除算結果と一緒に
出力されるので、シフトレジスタは不要となる。The initial calculation section 31 calculates the initial value of each inclination data, and supplies this initial data to the interpolation circuit 32. The interpolation circuit 32 is configured similarly to the above-mentioned addition circuit 260, and develops pixels for each scan line sandwiched between two points on the left side and the right side by the DDA. This interpolation circuit 32
Of each parameter that is pixel-expanded by
The inverse conversion circuit 33 must convert Xs and MYs into MX and MY. FIG. 14 shows the configuration of the inverse conversion circuit. The dividers 331 and 332 of this circuit are sequential dividers. Here, there are two types of numerator, MXs and MYs, but there is only one type of denominator, Zs. Therefore, the circuit scale can be reduced by using the divider shown in FIG. This Figure 1
6 is a circuit diagram showing a specific configuration of the 2-numerator / denominator divider. A pixel expansion circuit using this divider is shown in FIG. The divider 330 includes a rounding circuit below the decimal point. Further, since the denominator Zs data is output together with the division result, the shift register is unnecessary.
【0072】このようにして求めた(MX、MY)とフ
ラグ(FLAG)に含まれるテクスチャマップブロック
番号(MB)からテクスチャマップメモリ制御部34は
そのピクセルでのルックアップテーブルアドレス(LU
TAD)を読み出し、カラー演算回路5へ転送する。From the texture map block number (MB) contained in the flag (FLAG) and (MX, MY) thus obtained, the texture map memory control unit 34 determines the look-up table address (LU) at that pixel.
TAD) is read out and transferred to the color operation circuit 5.
【0073】カラー演算回路5では、ピクセル展開回路
3から読み出されたLUTADとMBからルックアップ
テーブルメモリをアクセスし、そのピクセルの色情報
(R、G、B)を取り出す。そして、I、FR、FG、
FB(Iが最大値の時の色情報)から図17のフロー図
に従ってカラー演算を行う。ただしこのフロー図は一例
を示すに過ぎない。図18はFRの色強度を示す模式図
である。図19にカラー演算部のブロック図を示す。輝
度値Iはレジスタ51に与えられ、この輝度値がR演算
回路52に与えられる。このR演算回路にはFRとRが
与えられ、図19に示す強度応じて演算が行われる。ま
た、輝度値がG演算回路53に与えられる。このG演算
回路にはFGとGが与えられ、図19に示す強度と同様
に設定された強度で演算が行われる。更に、輝度値がB
演算回路54に与えられる。このB演算回路にはFBと
Bが与えられ、図19に示す強度と同様に設定された強
度応じて演算が行われる。これら各データはLUTアド
レス制御部により制御され、読み出される。In the color operation circuit 5, the look-up table memory is accessed from the LUTAD and MB read from the pixel expansion circuit 3, and the color information (R, G, B) of the pixel is extracted. And I, FR, FG,
Color calculation is performed from FB (color information when I is the maximum value) according to the flow chart of FIG. However, this flowchart is only an example. FIG. 18 is a schematic diagram showing the color intensity of FR. FIG. 19 shows a block diagram of the color calculation unit. The brightness value I is given to the register 51, and this brightness value is given to the R arithmetic circuit 52. FR and R are given to the R operation circuit, and the operation is performed according to the intensity shown in FIG. Further, the brightness value is given to the G calculation circuit 53. FG and G are given to the G calculation circuit, and the calculation is performed with the intensity set similarly to the intensity shown in FIG. Furthermore, the brightness value is B
It is given to the arithmetic circuit 54. FB and B are given to the B arithmetic circuit, and the arithmetic operation is performed according to the intensity set similarly to the intensity shown in FIG. Each of these data is controlled and read by the LUT address control unit.
【0074】図17のフロー図に示すように、まず図1
8に80hより大きいか否か判断され(ステップ1)、
80hより大きい場合には、FRから80hの値を減算
し、そして、この結果に輝度値の上位7ビット分を乗算
する(ステップ2、4)。そして、80hより小さいと
きは、80hの値を出力し、この値に輝度値の上位7ビ
ット分を乗算する(ステップ3、4)。続いて、80h
より大きいか否か判断され(ステップ5)、大きい場合
には、R1とR0を加算し、また大きくない場合にはR
1の値を出力する。As shown in the flow chart of FIG.
8 it is judged whether it is greater than 80h (step 1),
If it is larger than 80h, the value of 80h is subtracted from FR, and the result is multiplied by the upper 7 bits of the luminance value (steps 2 and 4). If it is smaller than 80h, the value of 80h is output and this value is multiplied by the upper 7 bits of the brightness value (steps 3 and 4). Then 80h
It is determined whether or not it is larger (step 5). If it is larger, R1 and R0 are added, and if not larger, R
The value of 1 is output.
【0075】メモリ制御回路7では、上述した方法で計
算したZsをピクセル展開したZsが格納されている。
そして、フレームメモリと同じフォーマットのZバッフ
ァメモリ8とフレームメモリ9(R、G、B値が格納さ
れている)の制御を行う。The memory control circuit 7 stores Zs which is a pixel expansion of Zs calculated by the above-described method.
Then, the Z buffer memory 8 and the frame memory 9 (where R, G, and B values are stored) of the same format as the frame memory are controlled.
【0076】まず、Zバッファメモリ8のそのピクセル
のデータを読み出し計算したピクセルのZs値比較し、
Zs値の方が大きければ、すなわち、計算されたピクセ
ルが手前にあればフレームメモリとZバッファメモリに
それぞれのデータを書き込み、逆に小さければ何も書き
込まない。またCRTコントローラ10の制御信号によ
り、1つ前のフレームのRGBデータを読みだす。この
CRTコントローラ10はフレームメモリ9のRGBデ
ータをD/Aコンバータ、RGBエンコーダを経てコン
ポジットビデオ信号をCRTに出力する。First, the data of that pixel in the Z buffer memory 8 is read out and the Zs value of the calculated pixel is compared,
If the Zs value is larger, that is, if the calculated pixel is in front, the respective data is written in the frame memory and the Z buffer memory, and conversely, nothing is written. Further, the RGB data of the immediately preceding frame is read out by the control signal of the CRT controller 10. The CRT controller 10 outputs the RGB data in the frame memory 9 to a CRT via a D / A converter and an RGB encoder.
【0077】以上のことを行えば、奥行きを考慮したテ
クスチャマッピングが可能となり、また並列化も可能と
なる。By carrying out the above, it becomes possible to perform texture mapping in consideration of the depth, and also parallelization becomes possible.
【0078】また、I(輝度値)に対してもMX、MY
に行った処理と同様の処理を行えば奥行きを考慮したグ
ローシェーディングが可能となる。Further, MX and MY are also applied to I (luminance value).
By performing the same process as the process performed in step 1, glow shading considering depth can be performed.
【0079】すなわち、IをIs(Isはスクリーン座
標上の輝度値)に、 Is=I*Zs …(7)That is, I is Is (Is is a luminance value on the screen coordinates), and Is = I * Zs (7)
【0080】Isをポリゴンデータからピクセルデータ
にDDAにより展開する。Is is expanded from polygon data to pixel data by DDA.
【0081】IsをIに、 I=Is/Zs …(8)Is to I, and I = Is / Zs (8)
【0082】なお、この場合は、前述の2分子1分母除
算器を3分子1分母除算器にする。In this case, the above-mentioned 2-numerator / denominator divider is replaced by a 3-numerator / denominator divider.
【0083】この発明の画像処理装置の処理能力を向上
させるために並列化する場合、テクスチャマッピングメ
モリを並列化分用意するか或いは、高速のメモリを用意
しなければならない。When parallelizing in order to improve the processing capability of the image processing apparatus of the present invention, it is necessary to prepare texture mapping memories for parallelization or to prepare high speed memories.
【0084】そこで、テクスチャマップの透明のフラグ
のみを格納した透明マッピングメモリを使用した実施例
を説明する。An embodiment using a transparent mapping memory that stores only the transparent flag of the texture map will be described.
【0085】図20にマイクロプロセッサ部以降を並列
化したときのブロック図を示す。この例では、図6のテ
クスチャマッピングメモリのところに透明マッピングメ
モリを用い、ここで透明か否かのみを判断する。そし
て、フレームメモリにはRGBデータの変わりに、I、
MB、MX、MYを格納する。テクスチャマッピングメ
モリ、カラー演算はフレームメモリ読み出し時に行う。FIG. 20 shows a block diagram when the microprocessor and subsequent parts are parallelized. In this example, a transparent mapping memory is used in place of the texture mapping memory in FIG. 6, and it is determined here whether or not it is transparent. Then, instead of RGB data, I,
Stores MB, MX, and MY. The texture mapping memory and color calculation are performed when reading the frame memory.
【0086】このように行えば、テクスチャマッピング
メモリは複数個使用しなくても良い。また、余分に透明
マッピングメモリが複数個必要になるが、テクスチャマ
ッピングメモリを複数個用いるよりはかなり容量が少な
くすむ。また、透明データの入ったテクスチャマップも
以前と同様に使用することができる。By doing so, it is not necessary to use a plurality of texture mapping memories. Further, although a plurality of extra transparent mapping memories are required, the capacity is considerably smaller than the case where a plurality of texture mapping memories are used. Also, texture maps containing transparency data can be used as before.
【0087】なお、図20のポリゴンレジスタファイル
(PolyRGF)とラインレジスタファイル(Lin
eRGF)はレジスタファイルまたはファーストインフ
ァーストアウト(FIFO)であり、これらを用いるこ
とで、無駄な処理を少なくしている。The polygon register file (PolyRGF) and the line register file (Lin) shown in FIG.
eRGF) is a register file or first-in first-out (FIFO), and by using these, wasteful processing is reduced.
【0088】[0088]
【発明の効果】この発明は、Z値の透視変換を、Zs=
1−CZF/Ze(ここで、Zsはスクリーン座標上の
Z値、Zeは視野座標上のZ値)に基づいて行うこと
で、従来の無駄な計算のみ省いているので、計算量が少
なく、また、精度も保たれる。According to the present invention, the perspective transformation of Z value is performed by Zs =
1-CZF / Ze (where Zs is the Z value on the screen coordinates and Ze is the Z value on the visual field coordinates), so that only unnecessary calculation in the related art is omitted, so the calculation amount is small. Also, accuracy is maintained.
【0089】また、この発明は、CZFとCZBとの距
離が十分大きい場合あるいは後方クリッピングを行わな
い場合に、Z値の透視変換を、Zs=CZF/Ze(こ
こで、Zsはスクリーン座標上のZ値、Zeは視野座標
上のZ値)に基づいて行うことで、CZBとCZFとの
距離が大きい場合に対処しており、計算が簡単になり、
全体の処理能力が向上する。Further, according to the present invention, when the distance between CZF and CZB is sufficiently large or when backward clipping is not performed, the perspective transformation of Z value is performed by Zs = CZF / Ze (where Zs is on the screen coordinate). By performing the Z value and Ze based on the Z value on the visual field coordinates, the case where the distance between CZB and CZF is large is dealt with, and the calculation is simplified.
Overall processing capacity is improved.
【0090】更に、この発明は、CZFとCZBとの距
離が十分大きい場合あるいは後方クリッピングを行わな
い場合に、スクリーン座標上のZ値(Zs)を前方クリ
ッピング面の値に応じて1/Ze(Zeは視野座標上の
Z値)を左シフトした値を用いることで、精度をあまり
落とさずに処理能力が大幅に向上させることができる。Further, according to the present invention, when the distance between CZF and CZB is sufficiently large or when backward clipping is not performed, the Z value (Zs) on the screen coordinates is set to 1 / Ze (according to the value of the front clipping plane). By using a value obtained by left-shifting (Z value on the visual field coordinates) for Ze, it is possible to significantly improve the processing capability without significantly lowering the accuracy.
【0091】上記1/Zeを演算した出力を、バレルシ
フタまたはマルチプレクサにより、CZFの値に応じて
シフトさせることで、更に、処理能力を向上させること
ができる。By shifting the output obtained by calculating 1 / Ze according to the value of CZF by the barrel shifter or multiplexer, the processing capacity can be further improved.
【0092】この発明の画像処理装置は、上記した方法
でZ値の透視変換を行う処理手段と、このZ値及び表示
するポリゴンのスクリーンデータ、テクスチャマップデ
ータをポリゴン辺の2点間の補間処理でエッジ展開する
手段と、エッジ展開された各データをエッジ2点間の補
間処理でピクセル展開する手段と、ピクセル展開された
テクスチャマップデータに応じてテクスチャマッピング
メモリからテクスチャデータとして読み出す手段と、を
備えることで、最適な処理を効率よく行うことができ
る。The image processing apparatus according to the present invention includes a processing means for performing perspective transformation of Z values by the above-described method, and an interpolation processing between the Z values and the screen data of the polygon to be displayed and the texture map data between two points on the polygon side. Edge expanding means, pixel expanding each edge expanded data by interpolation processing between two edge points, and means for reading out texture data from the texture mapping memory according to the pixel expanded texture map data. With the provision, optimal processing can be efficiently performed.
【0093】また、この発明の画像処理装置は、透視変
換を行う処理手段とエッジ展開手段との間にレジスタフ
ァイルを設け、数ポリゴン分のデータを一度に転送する
ことで、無駄な処理を軽減することができる。Further, the image processing apparatus of the present invention is provided with a register file between the processing means for performing perspective transformation and the edge expansion means, and transfers data for several polygons at once, thereby reducing wasteful processing. can do.
【0094】更に、この発明の画像処理装置は、テクス
チャマップデータを透視変換したZ値で乗算し、この乗
算したテクスチャマップデータをピクセル展開し、ピク
セル展開したテクスチャマップデータを透視変換したZ
値で除算することで、奥行きを考慮したテクスチャマッ
ピングが行える。Furthermore, the image processing apparatus of the present invention multiplies the texture map data by the perspective-transformed Z value, develops the multiplied texture map data into pixels, and the pixel-developed texture map data is perspective-transformed into Z.
By dividing by the value, texture mapping considering depth can be performed.
【0095】上記ピクセル展開手段として、2分子1分
母除算器を用いることで、回路規模を小さくできる。The circuit scale can be reduced by using a 2-numerator / denominator divider as the pixel expanding means.
【図1】この発明の第1の実施例の全体構成を示すブロ
ック図である。FIG. 1 is a block diagram showing an overall configuration of a first embodiment of the present invention.
【図2】エッジ展開回路の入力部を構成するシフタ回路
を示すブロック図である。FIG. 2 is a block diagram showing a shifter circuit forming an input unit of an edge expansion circuit.
【図3】この発明に用いられるレジスタファイルの構成
を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a register file used in the present invention.
【図4】エッジ展開回路の一例を示すブロック図であ
る。FIG. 4 is a block diagram showing an example of an edge expansion circuit.
【図5】ポリゴンデータを示す模式図である。FIG. 5 is a schematic diagram showing polygon data.
【図6】この発明の第2の実施例の全体構成を示すブロ
ック図である。FIG. 6 is a block diagram showing an overall configuration of a second embodiment of the present invention.
【図7】エッジ展開回路の一例を示すブロック図であ
る。FIG. 7 is a block diagram showing an example of an edge expansion circuit.
【図8】初期化演算回路の一例を示すブロック図であ
る。FIG. 8 is a block diagram showing an example of an initialization arithmetic circuit.
【図9】補間回路の一例を示すブロック図である。FIG. 9 is a block diagram showing an example of an interpolation circuit.
【図10】補間回路に用いられる加算回路の構成例を示
すブロック図である。FIG. 10 is a block diagram showing a configuration example of an addition circuit used in an interpolation circuit.
【図11】複数のパラメータを補間する加算回路の構成
例を示すブロック図である。FIG. 11 is a block diagram showing a configuration example of an addition circuit that interpolates a plurality of parameters.
【図12】図11の加算回路を用いた補間回路を示すブ
ロック図である。12 is a block diagram showing an interpolation circuit using the addition circuit of FIG.
【図13】ピクセル展開回路の一例を示すブロック図で
ある。FIG. 13 is a block diagram showing an example of a pixel expansion circuit.
【図14】逆変換回路の構成を示すブロック図である。FIG. 14 is a block diagram showing a configuration of an inverse conversion circuit.
【図15】ピクセル展開回路の構成を示すブロック図で
ある。FIG. 15 is a block diagram showing a configuration of a pixel expansion circuit.
【図16】2分子1分母除算器の具体的構成を示す回路
図である。FIG. 16 is a circuit diagram showing a specific configuration of a 2-numerator / denominator divider.
【図17】カラー演算の動作を示す模式図である。FIG. 17 is a schematic diagram showing an operation of color calculation.
【図18】FRの色強度を示す模式図である。FIG. 18 is a schematic diagram showing the color intensity of FR.
【図19】カラー演算部の構成を示すブロック図であ
る。FIG. 19 is a block diagram showing a configuration of a color calculation unit.
【図20】マイクロプロセッサ部以降を並列化した時の
ブロック図である。FIG. 20 is a block diagram when a microprocessor unit and subsequent components are parallelized.
【図21】ポリゴンとZ値との関係を示す図である。FIG. 21 is a diagram showing a relationship between polygons and Z values.
【図22】ポリゴンとZ値との関係を示す図である。FIG. 22 is a diagram showing a relationship between polygons and Z values.
1 マイクロプロセッサ部 2 エッジ展開回路 3 ピクセル展開回路 4 テクスチャマッピングメモリ 5 カラー演算回路 1 Microprocessor part 2 Edge expansion circuit 3 Pixel expansion circuit 4 Texture mapping memory 5 Color operation circuit
Claims (11)
像処理方法において、前方クリップ面の値をCZFと
し、後方クリップ面の値をCZBとした時、CZFとC
ZBとの距離が大きくなる場合に、Z値の透視変換値
を、Zs=1−CZF/Ze(ここで、Zsはスクリー
ン座標上のZ値、Zeは視野座標上のZ値)に基づいて
算出することを特徴とする立体画像処理方法。1. In a stereoscopic image processing method using the Z buffer method for hidden surface processing, when the value of the front clip plane is CZF and the value of the rear clip plane is CZB, CZF and C
When the distance from ZB becomes large, the perspective transformation value of the Z value is based on Zs = 1-CZF / Ze (where Zs is the Z value on the screen coordinates and Ze is the Z value on the visual field coordinates). A three-dimensional image processing method characterized by calculating.
像処理方法において、前方クリップ面の値をCZFと
し、後方クリップ面の値をCZBとした時、CZFとC
ZBとの距離が十分大きい場合あるいは後方クリッピン
グを行わない場合に、Z値の透視変換値を、Zs=CZ
F/Ze(ここで、Zsはスクリーン座標上のZ値、Z
eは視野座標上のZ値)に基づいて算出することを特徴
とする立体画像処理方法。2. A stereoscopic image processing method using the Z buffer method for hidden surface processing, wherein CZF is the value of the front clip plane and CZB is the value of the rear clip plane, and CZF and C
When the distance from ZB is sufficiently large or when backward clipping is not performed, the perspective transformation value of the Z value is Zs = CZ.
F / Ze (where Zs is the Z value on the screen coordinate, Z
e is a Z value on the visual field coordinates).
像処理方法において、前方クリップ面の値をCZFと
し、後方クリップ面の値をCZBとした時、CZFとC
ZBとの距離が十分大きい場合あるいは後方クリッピン
グを行わない場合に、スクリーン座標上のZ値(Zs)
を前方クリッピング面の値に応じて1/Ze(Zeは視
野座標上のZ値)を左シフトした値を用いることを特徴
とする立体画像処理方法。3. In a stereoscopic image processing method using the Z buffer method for hidden surface processing, when the value of the front clip plane is CZF and the value of the rear clip plane is CZB, CZF and C
Z value (Zs) in screen coordinates when the distance from ZB is large enough or when backward clipping is not performed
Is a value obtained by left-shifting 1 / Ze (Ze is a Z value on the visual field coordinates) according to the value of the front clipping plane.
シフタまたはマルチプレクサにより、CZFの値に応じ
てシフトさせることを特徴とする請求項3に記載の立体
画像処理方法。4. The stereoscopic image processing method according to claim 3, wherein an output obtained by calculating 1 / Ze is shifted according to the value of CZF by a barrel shifter or a multiplexer.
Z値の透視変換を行う処理手段と、このZ値及び表示す
るポリゴンのスクリーンデータ、テクスチャマップアド
レスデータをポリゴン辺の2点間の補間処理でエッジ展
開する手段と、エッジ展開された各データをエッジ2点
間の補間処理でピクセル展開する手段と、ピクセル展開
されたテクスチャマップアドレスデータに応じてテクス
チャマッピングメモリからテクスチャデータを読み出す
手段と、を備える画像処理装置。5. A processing means for perspective-transforming a Z value by the method according to any one of claims 1 to 3, and the Z value, the screen data of the polygon to be displayed, and the texture map address data between two points on the polygon side. A means for performing edge expansion by interpolation processing, a means for performing pixel expansion of each edge expanded data by interpolation processing between two edge points, and a means for reading texture data from the texture mapping memory according to the pixel expanded texture map address data. An image processing apparatus comprising:
段との間にレジスタファイルを設け、数ポリゴン分のデ
ータを一度に転送することを特徴とする請求項5に記載
の画像処理装置。6. The image processing apparatus according to claim 5, wherein a register file is provided between the processing means for performing perspective transformation and the edge expansion means, and data for several polygons is transferred at one time.
変換したZ値で乗算し、この乗算したテクスチャマップ
アドレスデータをピクセル展開し、ピクセル展開したテ
クスチャマップデータを透視変換したZ値で除算するこ
とを特徴とする請求項5または6に記載の画像処理装
置。7. The texture map address data is multiplied by a perspective-transformed Z value, the multiplied texture map address data is expanded into pixels, and the pixel-developed texture map data is divided by the perspective-converted Z value. The image processing device according to claim 5 or 6.
する辺の傾きが入力される第1のマルチプレクサと、こ
の傾きデータを格納するシフトレジスタと、このシフト
レジスタからの出力をフィードバックして前記第1のマ
ルチプレクサに与える手段と、前記シフトレジスタの出
力を一方の入力とする加算器と、この加算器の出力及び
始点データが入力される第2のマルチプレクサと、前記
第2のマルチプレクサからの出力を格納するシフトレジ
スタと、このシフトレジスタからの出力を前記加算回路
に与える手段とからなることを特徴とする請求項5ない
し6のいずれかに記載の画像処理装置。8. The edge expanding means feeds back a first multiplexer into which a slope of a side forming a polygon is input, a shift register storing the slope data, and an output from the shift register to feed back the first multiplexer. 1 means for giving to the multiplexer, an adder having the output of the shift register as one input, a second multiplexer to which the output of the adder and starting point data are input, and an output from the second multiplexer. 7. The image processing apparatus according to claim 5, further comprising a shift register for storing the shift register, and means for giving an output from the shift register to the adder circuit.
除算器を用いたことを特徴とする請求項5ないし8のい
ずれかに記載の画像処理装置。9. The image processing apparatus according to claim 5, wherein a 2-numerator / denominator divider is used as the pixel expanding means.
算し、この乗算した輝度値データをピクセル展開し、ピ
クセル展開した輝度値データを透視変換したZ値で除算
することを特徴とする請求項5または6に記載の画像処
理装置。10. The luminance value data is multiplied by a perspective-transformed Z value, the multiplied luminance value data is subjected to pixel expansion, and the pixel-expanded luminance value data is divided by the perspective converted Z value. Item 7. The image processing device according to Item 5 or 6.
ッピングメモリを備えてなる請求項5または6に記載の
画像処理装置。11. The image processing apparatus according to claim 5, further comprising a transparent mapping memory that stores a flag indicating whether or not it is transparent.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25508694A JP3358891B2 (en) | 1994-06-20 | 1994-10-20 | Z-value perspective transformation processing method and image processing apparatus |
US08/607,277 US5771046A (en) | 1994-06-20 | 1996-02-21 | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6-137688 | 1994-06-20 | ||
JP13768894 | 1994-06-20 | ||
JP25508694A JP3358891B2 (en) | 1994-06-20 | 1994-10-20 | Z-value perspective transformation processing method and image processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0869546A true JPH0869546A (en) | 1996-03-12 |
JP3358891B2 JP3358891B2 (en) | 2002-12-24 |
Family
ID=26470917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25508694A Expired - Fee Related JP3358891B2 (en) | 1994-06-20 | 1994-10-20 | Z-value perspective transformation processing method and image processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3358891B2 (en) |
-
1994
- 1994-10-20 JP JP25508694A patent/JP3358891B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3358891B2 (en) | 2002-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5719600A (en) | Gradient calculation system and method | |
JP3738924B2 (en) | Drawing apparatus and method | |
JPH0628485A (en) | Texture address generator, texture pattern generator, texture plotting device and texture address generating method | |
JPH05307610A (en) | Texture mapping method and its device | |
JPH0935075A (en) | Computer graphics system with high-performance primitive clipping preprocessing | |
JPH0916806A (en) | Stereoscopic image processor | |
JPH09223244A (en) | Method and device for rendering three-dimensional object at a high speed | |
JP2012079338A (en) | Texture mapping device | |
EP1026636B1 (en) | Image processing | |
WO1996028794A1 (en) | Three-dimensional graphic display device | |
US5771046A (en) | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions | |
US5870509A (en) | Texture coordinate alignment system and method | |
US20030160799A1 (en) | Reconfigurable hardware filter for texture mapping and image processing | |
US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
JPH09134452A (en) | High-speed interpolation method for depth buffer value in computer graphics display system and graphics system | |
US6847378B2 (en) | System and method for performing scale and bias operations by preclamping input image data | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
JP2007128180A (en) | Arithmetic processing unit | |
US6476818B1 (en) | Storage circuit control device and graphic computation device | |
JP3358891B2 (en) | Z-value perspective transformation processing method and image processing apparatus | |
US7372466B2 (en) | Image processing apparatus and method of same | |
US6693634B1 (en) | Reduction rate processing circuit and method with logarithmic operation and image processor employing same | |
CA2261245C (en) | Division circuit and graphic display processing apparatus | |
KR100313846B1 (en) | Method and device for calculating lod in bilinear mips mapping | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |