JP3538826B2 - 演算回路および演算方法 - Google Patents
演算回路および演算方法Info
- Publication number
- JP3538826B2 JP3538826B2 JP34731196A JP34731196A JP3538826B2 JP 3538826 B2 JP3538826 B2 JP 3538826B2 JP 34731196 A JP34731196 A JP 34731196A JP 34731196 A JP34731196 A JP 34731196A JP 3538826 B2 JP3538826 B2 JP 3538826B2
- Authority
- JP
- Japan
- Prior art keywords
- binary number
- texture
- data
- result
- bits
- 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.)
- Expired - Fee Related
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Description
算方法に関し、特に、例えば、コンピュータグラフィッ
クスシステムなどにおいて、固定小数点で表されたMビ
ットの2進数Aと、固定小数点で表されたNビットの2
進数であって、小数点がMSB(Most Significant Bi
t)とその1ビット上位との間に設定されている2進数
Bとを乗算し、その乗算結果として、Mビットの2進数
Cを得る場合に、その誤差を低減することができるよう
にする演算回路および演算方法に関する。
ステムにおいては、ある物体と他の物体との重なり部分
を描画する際に、いわゆるブレンディング(blending)
処理が行われる。即ち、例えば、ある物体に対応する画
像データをAとするとともに、他の物体に対応する画像
データをBとするとき、ブレンド係数として、0以上1
以下の実数であるαを用意し、これらの物体の重なり部
分の画像データCが、次式により求められる。 C=αA+(1−α)B・・・(1)
タグラフィックスシステムでは、その処理の高速化のた
めに、画像データA乃至Cや、ブレンド係数αは、固定
小数点とされた2進数で表される(扱われる)。このた
め、特に、ブレンド係数αが1の場合、ブレンド係数α
を乗数(または被乗数)として行われる乗算には、誤差
が生じる課題があった。
システムにおいて、ブレンド係数αが、例えば4ビット
で表され、そのMSB(Most Significant Bit)と、そ
の1つ上位のビットとの間に小数点が設定されていると
すると、このようなブレンド係数αによれば、例えば、
2進数で、0.0000b,0.0001b,0.00
10b,・・・,0.1111b(bは、その前の数字
が2進数であることを表す)を、つまり、10進数で、
0,1/16,2/16,・・・,15/16を表すこ
とができる。
できないため、固定小数点で表現された画像データA
に、ブレンド係数αとして1を乗算したいときには、4
ビットで表現し得る最大のブレンド係数αとしての0.
1111bが乗算される。このため、本来ならば、その
演算結果としてAが得られるはずが、それよりも小さい
値が得られることになる。
る場合には、その誤差が累積され、最終的に得られる値
には、大きな誤差が含まれることになる。
A,Bをブレンドし、そのブレンド結果Cに、さらに、
他の画像データDをブレンドする場合においては、ま
ず、式(1)にしたがい、乗算器41で、Aとブレンド
係数α1とが乗算されるとともに、乗算器42で、Bと
(1−α1)とが乗算され、いずれも加算器43に供給
されて加算される。この加算結果としての画像データC
は、やはり式(1)にしたがい、乗算器44でブレンド
係数α2と乗算され、加算器46に出力される。また、
乗算器45では、画像データDと(1−α2)とが乗算
され、その乗算結果が、加算器46に出力される。加算
器46では、乗算器44と45との出力が加算され、こ
れにより、求めるべき画像データEが算出される。
びα2がいずれも1であるときには、本来は、画像デー
タA,C,Eは、同一の値となるはずであるが、演算器
41または44において、4ビットで表現し得る最大値
0.1111bがブレンド係数α1またはα2としてそれ
ぞれ乗算された場合、その大小関係は、A>C>Eとな
り、従って、式(1)にしたがったブレンド処理が行わ
れるたびに、元の画像データAを小さくした値が得られ
ることになる。
ビット使用する(上位に1ビット追加する)方法がある
が、これでは、グラフィックスアプリケーションで取り
扱うブレンド係数すべてのビット数が1ビット増加する
ことになり、1でないブレンド係数については、いわば
無駄にビット数が増加されることになる。
つ下位のビットとの間に設定するなどのように、ブレン
ド係数αのデータ形式を変更する方法もあるが、この場
合、既に存在するグラフィックスアプリケーションに対
処することが困難である。さらに、この場合、1を越え
る値も表現することが可能となるが、ブレンド係数αは
0以上1以下の範囲を表現することができれば充分であ
り、1を越える値の範囲については無駄になる。また、
この場合、小数点以下のビット数が1ビット減るため、
微妙なブレンドを行うのが困難となる。
たものであり、Mビットの2進数Aと、小数点がMSB
とその1ビット上位との間に設定されているNビットの
2進数Bとを乗算し、その乗算結果として、Mビットの
2進数Cを得る場合に、その誤差を低減することができ
るようにするものである。
路は、2進数AとBとを乗算する乗算手段と、乗算手段
の乗算結果に2進数Aを加算する加算手段と、加算手段
の加算結果の上位Mビットを、Mビットの2進数Cとし
て取り出す取り出し手段とを備えることを特徴とする。
Bとを乗算し、その乗算結果に2進数Aを加算し、その
加算結果の上位Mビットを、Mビットの2進数Cとして
取り出すことを特徴とする。
算手段は、2進数AとBとを乗算し、加算手段は、乗算
手段の乗算結果に2進数Aを加算し、取り出し手段は、
加算手段の加算結果の上位Mビットを、Mビットの2進
数Cとして取り出すようになされている。
進数AとBとを乗算し、その乗算結果に2進数Aを加算
し、その加算結果の上位Mビットを、Mビットの2進数
Cとして取り出すようになされている。
グラフィックスシステムの構成例を示している。
は、3次元グラフィックスシステムを構成する各ブロッ
クを制御するとともに、所定の画像処理、その他の各種
の処理を行うようになされている。
l)2は、例えば、図示せぬ記録媒体や通信回線から供
給される3次元グラフィックスデータを受信し、バス3
を介して、メインプロセッサ1や、メインメモリ4、ジ
オメトリ処理回路6に供給するようになされている。バ
ス3は、メインプロセッサ1、I/Oインターフェイス
2、メインメモリ4、およびジオメトリ処理回路6を相
互に接続している。
Oインターフェイス2で受信されたグラフィックスデー
タや、メインプロセッサ1で処理されたデータなどを必
要に応じて記憶するようになされている。
こに供給されるデータに対して、例えば、座標変換や、
クリッピング(Clipping)処理、ライティング(Lighti
ng)処理等のジオメトリ(Geomerty)処理を施し、その
結果得られる、例えば、3角形(triangle)のポリゴン
のデータ(ポリゴンデータ)X,Y,Z,R,G,B,
α,S,T,Q,FをDDA(Digital Differential A
narizer)セットアップ回路7に出力するようになされ
ている。即ち、この3次元グラフィックスシステムで
は、3次元画像をポリゴン(単位図形)としての3角形
に分解し、このポリゴンを描画することで、その3次元
画像全体の描画が行われるようになされており、ジオメ
トリ処理回路6では、そのような3角形を描画するのに
必要なデータとしてのポリゴンデータX,Y,Z,R,
G,B,α,S,T,Q,Fが求められる。
G,B,α,S,T,Qのうち、X,Y,Zは、3角形
のポリゴンの3頂点それぞれの物理座標系におけるx,
y,z座標をそれぞれ表し、R,G,Bは、その3頂点
それぞれにおける赤(Red)、緑(Green)、青(Blue)
の輝度値を表している。
る画素のRGBと、後述するディスプレイバッファ12
に既に記憶されている画素のRGBとのブレンドの割合
を表すブレンド(Blend)係数を表している。なお、α
は、例えば、0以上1以下の実数で、これから描画しよ
うとしている画素の画素値(カラー値)をFcとすると
ともに、ディスプレイバッファ12に記憶されている画
素の画素値をBcとするとき、これらのブレンド結果と
しての画素値Ccは、前述した式(1)と同様の次式に
より与えられる。 Cc=αFc+(1−α)Bc
の3頂点それぞれにおけるテクスチャ座標(テクスチャ
についての同次座標)を表す。即ち、この3次元グラフ
ィックスシステムでは、テクスチャマッピング(textur
e mapping)によって、物体の表面に模様(テクスチ
ャ)が付されるようになされており、S,T,Qは、こ
のテクスチャマッピングにおいて用いられる。なお、S
/Q,T/Qそれぞれに、テクスチャサイズ(Texture
Size)(ミップマップのレベル)を乗じた値がテクスチ
ャアドレスとなる。
る画素をぼやけさせる場合のそのぼやけの程度を表すフ
ォグ(fog)値で、例えば、この値が大きいほど、ぼや
けて表示される。
処理回路6からのポリゴンデータX,Y,Z,R,G,
B,α,S,T,Qを用いて、後段のDDA演算回路8
において行われるDDA演算のためのセットアップ演算
を行い、その演算結果を、DDA演算回路8に出力する
ようになされている。DDA演算回路8は、DDAセッ
トアップ回路7における演算結果を用いて、DDA演算
を行い、その演算結果を、テクスチャプロセッサ9に供
給するようになされている。
て、例えば線型補間により、その2点間を結ぶ線分を構
成する画素についての各値を求める演算である。即ち、
例えば、2点のうちの一方を始点とするとともに、他方
を終点とし、その始点および終点に、ある値が与えられ
ているとき、終点に与えられている値と、始点に与えら
れている値との差分を、その始点と終点との間にある画
素数で除算することで、始点および終点に与えられてい
る値の変化分(変化の割合)が求められ、これを、始点
から終点の方向に進むにつれて、始点に与えられている
値に順次加算(積算)することで、始点と終点との間に
ある各画素における値が求められる。
いて、ポリゴンの3頂点をp1,p2,p3とすると
き、点p1とp2、点p2とp3、および点p1とp3
に対して、このようなDDA演算が施され、これによ
り、ポリゴンの3辺上にある画素についてのポリゴンデ
ータZ,R,G,B,α,S,T,Qが、さらには、そ
のポリゴン内部にある画素についてのポリゴンデータ
Z,R,G,B,α,S,T,Qが、x,y座標を変数
として求められる。
G,B,α,S,T,Qの、x,y軸方向についての変
化分が必要となるが、この変化分が、DDAセットアッ
プ回路7において行われるセットアップ演算により求め
られるようになされている。
路8からのDDA演算結果、即ち、ポリゴンを構成する
各画素のx,y座標と、そのx,y座標における画素に
ついてのポリゴンデータZ,R,G,B,α,S,T,
Qを受信し、そのデータに基づいてテクスチャマッピン
グを行うようになされている。
ば、S,TそれぞれをQで除算することにより、テクス
チャアドレスU(∝S/Q),V(∝T/Q)を算出
し、必要に応じて各種のフィルタリング処理を行うこと
で、与えられたx,y座標におけるテクスチャの色を算
出する。具体的には、テクスチャアドレスU,Vととも
に、リード要求(Read Request)を、メモリI/F10
に出力することで、テクスチャバッファ11から、テク
スチャアドレスU,Vに対応するテクスチャデータ(Te
xture Color Data)を読み出す。このテクスチャデータ
は、メモリI/F10を介して、テクスチャプロセッサ
9に供給されるようになされており、テクスチャプロセ
ッサ9は、このテクスチャデータとしてのR,G,B値
と、DDA演算回路8からのR,G,B値とに各種のフ
ィルタリング(Filtering)処理を施し、即ち、例え
ば、両者を所定の割合で混合し、さらに、あらかじめ設
定された色を、フォグ値Fにしたがって混合し、ポリゴ
ンを構成する各画素の最終的なR,G,B値を算出す
る。
得られた画素のR,G,B値は、その画素のx,y座
標、およびその他必要なポリゴンデータとともに、メモ
リI/F10に転送されるようになされている。
データの読み出しおよび書き込みを制御するようになさ
れている。即ち、メモリI/F10は、例えば、テクス
チャプロセッサ9から、リード要求とともに、テクスチ
ャアドレスU,Vを受信すると、テクスチャバッファ1
1から、そのテクスチャアドレスU,Vに記憶されてい
るテクスチャデータを読み出し、テクスチャプロセッサ
9に供給するようになされている。
ロセッサ9から供給されるポリゴンデータに基づいて、
そのポリゴンのZ値(ポリゴンの所定の代表点の深さを
表すもの)と、Zバッファ13に既に記憶されているポ
リゴンのZ値とを比較し、テクスチャプロセッサ9から
のポリゴンが、Zバッファ13に記憶されているポリゴ
ンよりも手前に位置する場合には、Zバッファ13に記
憶されているZ値を更新するとともに、テクスチャプロ
セッサ9からのR,G,B値を、ディスプレイバッファ
12に書き込むようになされている。なお、メモリI/
F10は、テクスチャプロセッサ9からのR,G,B値
に付随するブレンド係数αがある場合には、ディスプレ
イバッファ12から、対応する画素のR,G,B値を読
み出し、テクスチャプロセッサ9からのR,G,B値
を、例えばブレンド係数αにしたがってブレンドして、
そのブレンド結果を、ディスプレイバッファ12に書き
込むようになされている。
トローラ14からの要求に応じて、ディスプレイバッフ
ァ12に記憶されたデータを読み出し、CRTコントロ
ーラ14に供給するようにもなされている。
Aセットアップ回路7、DDA演算回路8、テクスチャ
プロセッサ9、およびメモリI/F10が、描画の高速
化を図るための描画専用のレンダリングエンジン(rend
ering engine)21を構成している。
ディスプレイバッファ12、およびZバッファ13で構
成されている。テクスチャバッファ11は、ミップマッ
プ(MIPMAP)の各レベル(Level)に対応した縮小率の
テクスチャデータを記憶するようになされている。ディ
スプレイバッファ12は、CRT(Cathod Ray Tube)
16に表示する画像に対応するデータを記憶するように
なされている。Zバッファ13は、最も手前にあるポリ
ゴンについてのデータを、そのZ値とともに記憶するよ
うになされている。なお、メモリI/F10が、受信し
たデータのうちのZ値を、Zバッファに既に記憶されて
いるZ値と比較し、受信したデータに対応するポリゴン
の方が手前にある場合に、ディスプレイバッファ12に
対するデータの書き込みと、Zバッファ13に記憶され
たZ値の更新を行うようになされている。
から与えられる水平、垂直同期信号に同期して、表示ア
ドレス(表示Address)を発生し、その表示アドレスか
らのデータの読み出し要求を、メモリI/F10に出力
し、その要求に応じて、メモリI/F10から供給され
る所定のまとまったR,G,B値を、表示データ(表示
Data)として受信するようになされている。さらに、C
RTコントローラ14は、例えば、FIFO(First In
First Out)方式のメモリ(以下、適宜、FIFOメモ
リという)を内蔵しており、そのFIFOメモリに、受
信した表示データを記憶させ、所定の一定の間隔で、そ
の表示データを、RAMDAC15に転送するようにな
されている。
クス値と、RGB値を対応付けて記憶しているCLUT
(Color Look Up Table)およびD/A変換器(Digital
Analog Converter)を内蔵しており、CRTコントロ
ーラ14からのインデックス値を、それに対応するRG
B値に変換し、さらにD/A変換してアナログ信号に変
換し、CRT16に供給するようになされている。CR
T16は、RAMDAC15からの信号にしたがった表
示を行うようになされている。
データが受信されると、例えば、メインプロセッサ1で
は、そのグラフィックデータに対して必要な処理(例え
ば、光源計算処理など)が施され、メインメモリ4に転
送されて記憶される。メインメモリ4に記憶されたデー
タは、適宜読み出され、ジオメトリ処理回路6に転送さ
れる。ジオメトリ処理回路6では、そこに供給されたデ
ータに対してジオメトリ処理が施されることにより、ポ
リゴンデータX,Y,Z,R,G,B,α,S,T,Q
が算出される。このポリゴンデータは、DDAセットア
ップ回路7に供給される。
リ処理回路6からのポリゴンデータに対して、セットア
ップ演算が施され、DDA演算回路8に供給される。D
DA演算回路8では、DDAセットアップ回路7におけ
る演算結果を用いて、DDA演算が行われ、その演算結
果が、必要なポリゴンデータとともに、テクスチャプロ
セッサ9に供給される。
回路8の出力に基づいて、テクスチャアドレスU,Vが
算出され、そのテクスチャアドレスU,Vからのリード
要求が、メモリI/F10に対して出力される。メモリ
I/F10は、テクスチャプロセッサ9からリード要求
とともにテクスチャアドレスU,Vを受信すると、テク
スチャバッファ11から、テクスチャアドレスU,Vに
対応するテクスチャデータを読み出し、テクスチャプロ
セッサ9に供給する。テクスチャプロセッサ9は、メモ
リI/F10からテクスチャデータを受信すると、その
テクスチャデータを用いて、各種のフィルタリング処理
を行い、その処理結果を、メモリI/F10に供給する
ことで、ディスプレイバッファ12に書き込む。
アドレスが発生され、その表示アドレスからのデータの
読み出し要求が、メモリI/F10に出力される。メモ
リI/F10では、CRTコントローラ14からの要求
に応じて、ディスプレイバッファ12から表示データを
読み出し、CRTコントローラ14に転送する。CRT
コントローラ14は、メモリI/F10から表示データ
を受信すると、その表示データを、RAMDAC15を
介して、CRT16に供給し、これにより、CRT16
においては、ポリゴンで構成される3次元画像が表示さ
れる。
ジン21において各画素ごとに行われるレンダリング処
理について説明する。
に、ポリゴンに貼り付けるテクスチャの拡大率(縮小
率)などに基づいて、ミップマップ(MIPMAP(Multum In
Parvo MAP))の解像度のレベル(level)が選択され
る。さらに、DDA演算により求められたテクスチャの
同次表現でのアドレス(address)(同次座標)(S,
T)がQで除算され、その除算結果に、選択された解像
度のレベル(テクスチャのサイズ)が乗算されること
で、テクスチャアドレスが算出される。そして、このテ
クスチャアドレスは、テクセル(Texel)におけるテク
スチャに対応するから、これから、ピクセル(画素)
(pixel)におけるテクスチャが求められる。即ち、あ
るピクセルの周囲にある、例えば、4つのテクセルを用
いてバイリニア(Bi-Liner)補間などを行うことによ
り、そのピクセルにおけるテクスチャ(テクスチャカラ
ー)が求められる(1)。
ー(color)と、上述の(1)で求められたテクスチャ
カラーとを、同じくDDA演算で求められたテクスチャ
用のブレンド係数αt(Texture α)にしたがって混合
し、即ち、物体のカラーまたはテクスチャカラーをそれ
ぞれCDDAまたはCtとするとき、前述の式(1)に対応
する演算である式Cb=αt×CDDA+(1−αt)×Ct
を演算し、混合カラーCbを求める(2)。
ォグ効果をだすためのフォグブレンディング(Fog Blen
ding)処理を施し、即ち、フォグ値(フォグ係数)また
はフォグとして使用するカラーをそれぞれFまたはCf
とするとき、前述の式(1)に対応する演算である式C
s=F×Cb+(1−F)×Cfを演算し、これにより、
ソースカラーCsを求める(3)。
な処理として知られている、いわゆるアルファテスト
(α Test)が行われる。即ち、DDA演算により求め
られたブレンド係数αsと、あらかじめ設定された固定
のブレンド係数αrとを比較し、その比較結果に基づい
て、ピクセルの描画を行うかどうかが決定される
(4)。
より、そこに記憶されているZ値(Zd)と、DDA演
算により求められたZ値(ZDDA)とが比較され、ピク
セルが、描画対象であるかどうかが最終的に判定される
(5)。
描画が決定されたピクセルについては、そのピクセルの
カラーをCsと、既に描画されている、対応するピクセ
ルのカラーをCdと、それぞれするとき、前述の式
(1)にしたがって、式Cfb=α×Cs+(1−α)×
Cdが演算されることにより、カラーCsとCdとが、D
DA演算で求めたブレンド係数αを用いてブレンドさ
れ、ブレンド後のカラーCfbが求められる(6)。
して、減色処理が施される(7)。
スプレイバッファ12に書き込まれる(描画される)
(8)。
ゴンに貼り付けるときに行われる合成処理について説明
する。
ティング(lighting)計算(光源計算)が行われること
により、照明と視点位置からの、物体の表面を構成する
ポリゴン(3角形)の各頂点における色(カラー)が決
定され、また、DDA演算により、ポリゴン内部を構成
するピクセルそれぞれの色が決定される。
フラグメントカラー(Fragment Color(FC))と呼ばれ
る。
フラグメントカラーに対して、テクスチャカラー(Text
ure Color(TC))をどのように影響させるかによって、
様々な効果を得ることができる(なお、テクスチャを貼
り付けず、また、光源計算もしない場合があるが、この
場合は、単に物体色として、テクスチャカラーの指定が
行われることがある)。
カラーを影響させる方法としては、図3に示すように、
映し絵(decal)、モジュレイト(modulate)、ブレン
ド(blend)と呼ばれるものなどがある。
が、モジュレイトであり、モジュレイトでは、図3に示
すように、フラグメントカラーにテクスチャカラーが乗
算され、その乗算結果が用いられる。例えば、物体に赤
色の照明があたっている場合、青色のテクスチャは黒色
に、赤色のテクスチャは赤色に、それぞれ見えるが、モ
ジュレイトによれば、そのような実際に見える色に描画
がなされる。
に、テクスチャを、そのまま物体に貼り付けるような場
合などに使用される。映し絵では、テクスチャのブレン
ド係数αtも与えられている場合、図3に示すように、
そのブレンド係数にしたがって、ライティングされた物
体に、テクスチャがブレンドされるため、例えば、半透
明のテクスチャを物体に貼り付けることができる。な
お、半透明でない(かつ透明でもない)テクスチャを物
体に貼り付ける場合に映し絵を使用した場合、その結果
得られる色は、通常、実際に見える色とは異なるものと
なる。
められた固定の色Cenvが、テクスチャのデータ(textu
re data)をブレンド係数(混合比)として用いて、フ
ラグメントカラーにブレンドされる。
は、テクスチャの明るさ、そのブレンドに用いるブレン
ド係数、および色(R,G,B)があり、ここでは、映
し絵、モジュレイト、またはブレンドそれぞれにおいて
用いることのできるデータは決まっている。即ち、映し
絵では、色または色とブレンド係数だけが用いられる。
モジュレイトでは、明るさ、明るさとブレンド係数、
色、または色とブレンド係数のうちのいずれも用いるこ
とができる。ブレンドでは、明るさまたは明るさとブレ
ンド係数だけが用いられる。
の図2または図3でそれぞれ説明したレンダリング処理
または合成処理だけでも、0以上1未満の乗数または被
乗数としてのブレンド係数やフォグ値などを用いた乗算
が、数多く行われる。
は、このような乗算が、図4に示すような演算回路によ
って行われるようになされている。
Mビットの2進数Aと、固定小数点で表されたNビット
の2進数であって、小数点がMSBとその1ビット上位
との間に設定されている2進数Bとの乗算結果として、
次のような、2進数Aと同一ビット数であるMビットの
2進数Cが出力される。
段)、加算器32(加算手段)、およびシフタ33(取
り出し手段)で構成され、2進数AとBとは、乗算器3
1で乗算される。この乗算結果は、加算器32に出力さ
れる。加算器32には、乗算器31の出力の他、2進数
Aも供給されており、そこでは、これらが加算されて、
シフタ33に出力される。シフタ33では、加算器32
の出力が、2進数Bと同一ビット数であるNビットだけ
右シフトされることにより、加算器32の出力の上位M
ビットが取り出され、これが、2進数AとBの乗算結果
としての2進数Cとして出力される。
に1を乗算する場合には、Nビットの2進数Bで表現し
得る最大値を用いることで、誤差のない乗算結果を得る
ことができる。
を4ビットとすると、その最大値は、0.1111b、
即ち、10進数では、15/16であるから、これを、
2進数Aに乗算した場合、A×15/16が得られる。
従って、A×1の演算結果を得るためには、A×15/
16にA×1/16を加算すれば良い。そこで、いま、
X>>Yが、2進数XのYビット右シフト(2Yによる
除算)を表すものとすると、A×1は、次式で計算する
ことができる。
得る最大値(1111b)を乗算し、その乗算結果に、
2進数Aを加算し、その加算結果を、2進数Bのビット
数(ここでは4ビット)だけシフトすることにより、そ
のMSBから、2進数Aのビット数だけ取り出せば、A
×1の演算結果を得ることができることがわかる。
と、2進数Bで表現し得る最大値とを入力することで、
A×1の正しい演算結果を得ることができる。
=11bの場合、乗算器31による乗算結果は、図5
(A)に示すように、101101bとなる。さらに、
この乗算器31の出力に、Aを加算した値、即ち、加算
器32の加算結果は、図5(B)に示すように、111
100bとなる。そして、この加算結果のMSBから、
Aのビット数である4ビットを取り出したもの、即ち、
シフタ33でBと同一のビット数である2ビット右シフ
トしたものは、1111bとなり、Aと同一の値を得る
ことができる。
bの場合、乗算器31による乗算結果は、図6(A)に
示すように、101101bとなる。さらに、この乗算
器31の出力に、Aを加算した値、即ち、加算器32の
加算結果は、図6(B)に示すように、110000b
となる。そして、この加算結果のMSBから、Aのビッ
ト数である2ビットを取り出したもの、即ち、シフタ3
3でBと同一のビット数である4ビット右シフトしたも
のは、11bとなり、やはり、Aと同一の値を得ること
ができる。
適用した場合について説明したが、本発明は、その他、
0以上1以下の値を乗数または被乗数とする乗算を行
う、あらゆる装置に適用可能である。
上1未満の範囲の値を乗算する場合には、図4の演算回
路では誤差が生じることがあるので、この場合は、通常
の乗算器(例えば、図4に示す乗算器31だけ)を用い
るようにすれば良い。
3に記載の演算方法によれば、2進数AとBとが乗算さ
れ、その乗算結果に2進数Aが加算される。そして、そ
の加算結果の上位Mビットが、Mビットの2進数Cとし
て取り出される。従って、2進数Bの小数点が、そのM
SBと1ビット上位との間に設定されている場合であっ
ても、Aに1を乗算した、正しい乗算結果としてのMビ
ットの2進数Cを得ることが可能となる。
例を示すブロック図である。
すブロック図である。
ための図である。
ための図である。
の構成を示すブロック図である。
ス, 3 バス, 4メインメモリ, 6 ジオメトリ
処理回路, 7 DDAセットアップ回路,8 DDA
演算回路, 9 テクスチャプロセッサ, 10 メモ
リI/F,11 テクスチャバッファ, 12 ディス
プレイバッファ, 13 Zバッファ, 14 CRT
コントローラ, 15 RAMDAC, 16 CR
T,20 メモリ, 21 レンダリングエンジン,
31 乗算器(乗算手段),32 加算器(加算手
段), 33 シフタ(取り出し手段)
Claims (4)
- 【請求項1】 固定小数点で表されたMビットの2進数
Aと、固定小数点で表されたNビットの2進数であっ
て、小数点がMSB(Most Significant Bit)とその1
ビット上位との間に設定されている2進数Bとを乗算
し、その乗算結果として、Mビットの2進数Cを出力す
る演算回路において、 2進数AとBとを乗算する乗算手段と、 前記乗算手段の乗算結果に2進数Aを加算する加算手段
と、 前記加算手段の加算結果の上位Mビットを、前記Mビッ
トの2進数Cとして取り出す取り出し手段とを備えるこ
とを特徴とする演算回路。 - 【請求項2】 2進数Bは、Nビットの2進数が表現し
得る最大値であることを特徴とする請求項1に記載の演
算回路。 - 【請求項3】 固定小数点で表されたMビットの2進数
Aと、固定小数点で表されたNビットの2進数であっ
て、小数点がMSB(Most Significant Bit)とその1
ビット上位との間に設定されている2進数Bとを乗算
し、その乗算結果として、Mビットの2進数Cを出力す
る演算方法において、 2進数AとBとを乗算し、 その乗算結果に2進数Aを加算し、 その加算結果の上位Mビットを、前記Mビットの2進数
Cとして取り出すことを特徴とする演算方法。 - 【請求項4】 2進数Bは、Nビットの2進数が表現し
得る最大値であることを特徴とする請求項3に記載の演
算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34731196A JP3538826B2 (ja) | 1996-12-26 | 1996-12-26 | 演算回路および演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34731196A JP3538826B2 (ja) | 1996-12-26 | 1996-12-26 | 演算回路および演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10187419A JPH10187419A (ja) | 1998-07-21 |
JP3538826B2 true JP3538826B2 (ja) | 2004-06-14 |
Family
ID=18389367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34731196A Expired - Fee Related JP3538826B2 (ja) | 1996-12-26 | 1996-12-26 | 演算回路および演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3538826B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7272082B2 (ja) * | 2019-04-18 | 2023-05-12 | セイコーエプソン株式会社 | 表示方法及び表示装置 |
-
1996
- 1996-12-26 JP JP34731196A patent/JP3538826B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10187419A (ja) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1025558B1 (en) | A method and apparatus for performing chroma key, transparency and fog operations | |
US5896136A (en) | Computer graphics system with improved blending | |
US6005580A (en) | Method and apparatus for performing post-process antialiasing of polygon edges | |
US6038031A (en) | 3D graphics object copying with reduced edge artifacts | |
US6275235B1 (en) | High precision texture wrapping method and device | |
US6987518B2 (en) | Graphics and video integration with alpha and video blending | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
JP3529759B2 (ja) | 画像処理プログラム、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、プログラム実行装置、画像処理装置、及び画像処理方法 | |
US6927778B2 (en) | System for alpha blending and method thereof | |
US6859209B2 (en) | Graphics data accumulation for improved multi-layer texture performance | |
US6778188B2 (en) | Reconfigurable hardware filter for texture mapping and image processing | |
US20070291045A1 (en) | Multiple texture compositing | |
US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
US6943791B2 (en) | Z-slope test to optimize sample throughput | |
JP3538826B2 (ja) | 演算回路および演算方法 | |
US20030169271A1 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
US6927775B2 (en) | Parallel box filtering through reuse of existing circular filter | |
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 | |
US20030164842A1 (en) | Slice blend extension for accumulation buffering | |
US6329999B1 (en) | Encoder, method thereof and graphic processing apparatus | |
US6847372B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
US6750862B1 (en) | Method and system for performing enhanced lighting functions for texture map data | |
JPH10187124A (ja) | 描画装置および描画方法 | |
US6847368B2 (en) | Graphics system with a buddy / quad mode for faster writes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040130 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040314 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080402 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |