[go: up one dir, main page]

JPH11242585A - 除算回路およびグラフィック演算装置 - Google Patents

除算回路およびグラフィック演算装置

Info

Publication number
JPH11242585A
JPH11242585A JP10042436A JP4243698A JPH11242585A JP H11242585 A JPH11242585 A JP H11242585A JP 10042436 A JP10042436 A JP 10042436A JP 4243698 A JP4243698 A JP 4243698A JP H11242585 A JPH11242585 A JP H11242585A
Authority
JP
Japan
Prior art keywords
value
msb
complement
shift
dividend
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
JP10042436A
Other languages
English (en)
Inventor
Tatsumi Mitsushita
辰己 光下
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 JP10042436A priority Critical patent/JPH11242585A/ja
Priority to CA2261245A priority patent/CA2261245C/en
Priority to US09/253,951 priority patent/US6460063B1/en
Publication of JPH11242585A publication Critical patent/JPH11242585A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/5235Multiplying only using indirect methods, e.g. quarter square method, via logarithmic domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 本発明は、除算のクリティカルパスを短縮
し、除算を高速に行うことができる除算回路を提供す
る。 【解決手段】 除数qが負の場合に、除数qの1の補数
値を出力する1の補数演算器402と、1の補数演算器
402からの出力に1を加算した加算結果を絶対値とす
る加算器408と、1の補数演算器402の出力値につ
いて2の対数値の整数値である対数値を演算するプライ
オリティエンコーダ404と、前記絶対値を、前記対数
値に応じてシフトし、当該シフト演算値のMSBが1の
ときに当該シフト演算値を仮数qmとし、当該シフト演
算値のMSBが0のときに、当該シフト演算値のMSB
を1に置き換えた値を仮数qmとするシフト演算器40
6と、シフト演算器406のシフト演算値のMSBに応
じてシフト量を決定する減算器407とを有する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、高速演算を実現で
きる除算回路およびグラフィック演算装置に関する。
【0002】
【従来の技術】種々のCAD(Computer Aided Design)
システムや、アミューズメント装置などにおいて、コン
ピュータグラフィックスがしばしば用いられている。特
に、近年の画像処理技術の進展に伴い、3次元コンピュ
ータグラフィックスを用いたシステムが急速に普及して
いる。このような3次元コンピュータグラフィックスで
は、各画素(ピクセル)に対応する色を決定するとき
に、各画素の色の値を計算し、この計算した色の値を、
当該画素に対応するディスプレイバッファ(フレームバ
ッファ)のアドレスに書き込むレンダリング(Renderin
g) 処理を行う。レンダリング処理の手法の一つに、ポ
リゴン(Polygon)レンダリングがある。この手法では、
立体モデルを三角形の単位図形(ポリゴン)の組み合わ
せとして表現しておき、このポリゴンを単位として描画
を行なうことで、表示画面の色を決定する。
【0003】ポリゴンレンダリングでは、物理座標系に
おける三角形の各頂点についての、座標(x,y,z)
と、色データ(R,G,B,α)と、張り合わせのイメ
ージパターンを示すテクスチャデータの同次座標(s,
t)および同次項qの値とを入力とし、これらの値を三
角形の内部で補間する処理が行われる。ここで、同次項
qは、簡単にいうと、拡大縮小率のようなもので、実際
のテクスチャバッファのUV座標系における座標、すな
わち、テクスチャ座標データ(u,v)は、同次座標
(s,t)を同次項qで除算した「s/q」および「t
/q」に、それぞれテクスチャサイズUSIZEおよび
VSIZEを乗じたものとなる。このようなポリゴンレ
ンダリングを用いた3次元コンピュータグラフィックシ
ステムでは、描画を行う際に、テクスチャデータをテク
スチャバッファから読み出し、この読み出したテクスチ
ャデータを、立体モデルの表面に貼り付けるテクスチャ
マッピング処理を行う。なお、立体モデルについてテク
スチャマッピングを行なうと、各画素毎に、張り付けを
行なうテクスチャデータが示す画像の拡大縮小率が変化
する。テクスチャバッファへのアクセスは、前述したテ
クスチャ座標データ(u,v)を用いて行われ、テクス
チャデータをテクスチャバッファから読み出す際に、全
ての画素について「s/q」および「t/q」の演算を
行い、テクスチャ座標データ(u,v)を算出する。従
って、除算回数は膨大になる。ところで、従来の3次元
コンピュータグラフィックシステムでは、以下に示すよ
うな除算回路を用いて、前述した「s/q」および「t
/q」を算出している。
【0004】以下、従来の除算回路について説明する。
図4は、従来の除算回路300の一例を説明するための
構成図である。図4に示すように、除算回路300は、
絶対値演算器301,302、プライオリティエンコー
ダ303,304、シフト演算器305,306、減算
器307、逆数器308、乗算器309、シフト演算器
310および符号化器311を有する。除算回路300
では、絶対値演算器301、プライオリティエンコーダ
303およびシフト演算器305において、入力した被
除数sを浮動小数点表現するために被除数sの絶対値が
下記式(1)に示すように正規化され、被除数sの符号
がマイナス(負)のときに、その指数seおよび仮数s
mが下記式(2)および式(3)に基づいて生成され
る。
【0005】
【数1】 s=sm×2se …(1)
【0006】
【数2】 sm=(〜s+1)/{2**int(log2 (〜s+1))} …(2) なお、当該式(2)は、「〜s+1」を、「int(l
og2 (〜s+1))」の1の補数「〜int(log
2 (〜s+1))」だけ、MSBに向けてシフトする演
算である。
【0007】
【数3】 se=int{log2 (〜s+1)} …(3)
【0008】具体的には、被除数sの符号がマイナスの
ときには、図5に示すように、図4に示す絶対値演算器
301において、被除数sの反転(EXclusive
−OR)が演算され、当該反転結果に対して「+1」が
加算され、被乗数sの2の補数「〜s+1」が求めら
れ、この「〜s+1」がプライオリティエンコーダ30
3およびシフト演算器305に出力される。なお、絶対
値演算器301において、被除数sの符号は、被除数s
のMSB(Most Significant Bit)の符号ビットを参照
し、当該MSBが「1」の場合にはマイナス、「0」の
場合にはプラスと判定される。そして、プライオリティ
エンコーダ303において、「〜s+1」の2の対数
「log2 (〜s+1)」が求められ、この2の対数
「log2 (〜s+1)」の整数値「int(log2
(〜s+1))」が、指数seとしてシフト演算器30
5および減算器307に出力される。そして、シフト演
算器305において、「〜s+1」が、「int(lo
2(〜s+1))」の1の補数「〜int(log2
(〜s+1))」、すなわち指数seの1の補数だけM
SBに向けてシフトされ、仮数smが演算される。仮数
smは逆数器309に出力される。
【0009】また、上述した除算回路300では、被除
数sの符号がプラス(正)のときに、絶対値演算器30
1、プライオリティエンコーダ303およびシフト演算
器305において、入力した被除数sの絶対値が正規化
され、その指数seおよび仮数smが、下記式(4)お
よび式(5)に基づいて生成される。
【0010】
【数4】 sm=s/{2**int(log2 s)} …(4) なお、当該式(4)は、「s」を、「int(log2
s)」の1補数「〜int(log2 s)」だけ、MS
Bに向けてシフトする演算である。
【0011】
【数5】 se=int{log2 s} …(5)
【0012】具体的には、被除数sの符号がプラスのと
きには、被乗数sが、絶対値演算器301をスルーし
て、プライオリティエンコーダ303およびシフト演算
器305に出力される。そして、プライオリティエンコ
ーダ303において、被除数sの2の対数「log
2 s」が求められ、この2の対数「log2 s」の整数
値「int(log2 s)」が、指数seとしてシフト
演算器305および減算器307に出力される。そし
て、シフト演算器305において、被除数sが、「in
t(log2 s)」の1の補数「〜int(log
2 s)」だけMSBに向けてシフトされ、仮数smが演
算される。仮数smは逆数器309に出力される。
【0013】また、図1に示す絶対値演算器302、プ
ライオリティエンコーダ304およびシフト演算器30
6は、除数qについて、その指数qeおよび仮数qmを
算出するために用いられ、その処理は、前述した絶対値
演算器301、プライオリティエンコーダ303および
シフト演算器305の処理と同じである。
【0014】また、逆数器308は、除数qの仮数qm
の逆数を演算し、この逆数「1/qm」を逆数器309
に出力する。乗算器309は、仮数smと、仮数qmの
逆数「1/qm」とを乗算し、その乗算結果「sm/q
m」をシフト演算器310に出力する。また、減算器3
07は、 指数seから指数qeを減算し、その減算結
果「se−qe」をシフト演算器310に出力する。
【0015】シフト演算器310は、乗算器309から
の乗算結果「sm/qm」を、減算器307からの減算
結果「se−qe」で示されるビット数だけMSBに向
けてシフトし、シフト演算結果S310を符号化器31
1に出力する。符号化器311は、被除数sの符号と除
数qの符号とに基づいて、これらの符号が異なる場合に
は、シフト演算結果S310のMSBの1つ上位のビッ
トにマイナスを示す「1」を付加し、これを除算結果
「s/q」として出力する。一方、符号化器311は、
被除数sの符号と除数qの符号とで符号が同じ場合に
は、シフト演算結果S310のMSBの1つ上位のビッ
トにプラスを示す「0」を付加し、これを除算結果「s
/q」として出力する。
【0016】
【発明が解決しようとする課題】しかしながら、上述し
た図4に示す従来の除算回路300では、被除数sから
仮数smを求める経路と、除数qから「1/qm」を求
める経路とでは、後者の経路の方が、逆数器308にお
ける演算分だけ、処理時間が長い。そのため、乗算器3
09では、仮数smを入力した後、「1/qm」を入力
するまで処理が停止する。すなわち、除数qから「1/
qm」を求める経路が、除算回路300における演算の
クリティカルパスになる。このような演算処理の停止
は、全ての画素について「s/q」および「t/q」の
演算を行う前述した3次元コンピュータグラフィックシ
ステムにおいては、特に影響が大きくなり、CRTに表
示する3次元画像の動きの高速化および画質の向上を図
る上でのボトルネックとなっている。
【0017】本発明は上述した従来技術の問題点に鑑み
てなされ、除算のクリティカルパスを短縮し、除算を高
速に行うことができる除算回路を提供することを目的と
する。また、本発明は、ディスプレイに表示する3次元
画像の動きの高速化および画質の向上を図ることができ
るグラフィック演算装置を提供することを目的とする。
【0018】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の観点の除算回路は、被除数および除数の補数値に
ついて2の対数演算を行って指数をそれぞれ算出し、前
記補数値を前記指数でそれぞれシフトした後に、前記除
数の補数値のシフト結果の逆数値を逆数演算手段で算出
し、前記被除数のシフト結果と前記算出した逆数値とを
乗算した乗算結果を、前記被除数および前記除数の指数
に応じたシフト量だけシフトして除算結果を算出する除
算回路であって、前記除数が負の場合に、前記除数の1
の補数値を出力する補数演算手段と、前記除数が負の場
合に、前記補数演算手段からの出力に1を加算した加算
結果を絶対値とする加算手段と、前記補数演算手段の出
力値について2の対数値の整数値を演算する対数値演算
手段と、前記絶対値を、前記整数値に応じてシフトする
シフト演算手段と、前記シフト演算手段の演算値のMS
Bが1のときに、当該演算値を仮数とし、当該演算値の
MSBが0のときに、当該演算値のMSBを1に置き換
えた値を仮数とし、前記仮数を前記逆数演算手段に出力
するMSB置き換え手段と、前記シフト演算手段の演算
値のMSBが1のときに、前記被除数の指数から前記整
数値を減算し、前記シフト演算手段の演算値のMSBが
0のときに、前記被除数の指数から、前記整数値に1を
加算した加算値を減算し、前記減算値を前記シフト量と
するシフト量決定手段とを有する。
【0019】本発明の第1の観点の除算回路では、前記
加算手段における演算と、前記対数値演算手段における
演算とを並行して行う。
【0020】本発明の第1の観点の除算回路では、先
ず、被除数について例えば2の補数値が算出され、当該
2の補数値について2の対数演算が行われ、指数が算出
される。次に、前記2の補数値が前記指数でシフトさ
れ、前記被除数の仮数が算出される。また、上述した前
記被除数の仮数の算出と並行して、除数が負の場合に、
当該除数の1の補数値が補数演算手段にて算出され。次
に、加算手段にて、前記補数演算手段にて算出された1
の補数値に1が加算され、その加算結果が前記除数の絶
対値となる。また、前記加算手段における演算と並行し
て、対数値演算手段にて、前記補数演算手段にて算出さ
れた1の補数値について、2の対数値の整数値が演算さ
れる。次に、シフト演算手段において、前記除数の絶対
値が、前記整数値に応じてシフトされる。
【0021】次に、MSB書き換え手段において、前記
シフト演算手段の演算値のMSBが1のときに、当該演
算値が被除数の仮数とされ、当該演算値のMSBが0の
ときに、当該演算値のMSBを1に置き換えた値が被除
数の仮数とされ、前記被除数の仮数が逆数演算手段に出
力される。また、シフト量決定手段において、前記シフ
ト演算手段の演算値のMSBが1のときに、前記被除数
の指数から前記整数値が減算され、前記シフト演算手段
の演算値のMSBが0のときに、前記被除数の指数か
ら、前記整数値に1を加算した加算値が減算され、当該
減算結果がシフト量とされる。次に、逆数演算手段にお
いて、前記被除数の仮数の逆数値が演算される。次に、
前記被除数の仮数と、前記逆数演算手段から出力された
仮数の逆数値との乗算が行われ、当該乗算結果が、前記
シフト量だけシフトされ、除算結果が算出される。
【0022】また、本発明の第2の観点の除算回路は、
被除数と除数の逆数との乗算を浮動小数点方式で行う除
算装置であって、前記被除数が負の場合に、前記被除数
の2の補数値を第1の絶対値とし、前記被除数が正の場
合に、前記被除数を第1の絶対値とする第1の絶対値演
算手段と、前記第1の絶対値について2の対数値の整数
値である第1の対数値を演算する第1の対数値演算手段
と、前記第1の絶対値を、前記第1の対数値の反転値だ
け、MSBに向けてシフトして第1の仮数を算出する第
1のシフト演算手段と、前記除数が負の場合に、前記除
数の1の補数値を出力し、前記除数が正の場合に、前記
除数を出力する補数演算手段と、前記除数が負の場合
に、前記補数演算手段からの出力に1を加算した加算結
果を第2の絶対値とし、前記除数が正の場合に、前記補
数演算手段からの出力を第2の絶対値とする加算手段
と、前記補数演算手段の出力値について2の対数値の整
数値である第2の対数値を演算する第2の対数値演算手
段と、前記第2の絶対値を、前記第2の対数値の反転値
だけ、MSBに向けてシフトする第2のシフト演算手段
と、前記第2のシフト演算手段の演算値のMSBが1の
ときに、当該演算値を第2の仮数とし、当該演算値のM
SBが0のときに、当該演算値のMSBを1に置き換え
た値を第2の仮数とするMSB置き換え手段と、前記第
2のシフト演算手段の演算値のMSBが1のときに、前
記第1の対数値から前記第2の対数値を減算し、前記第
2のシフト演算手段の演算値のMSBが0のときに、前
記第1の対数値から、前記第2の対数値に1を加算した
加算値を減算する減算手段と、前記第2の仮数の逆数を
演算する逆数演算手段と、前記第1の仮数と、前記第2
の仮数の逆数とを乗算する乗算手段と、前記乗算手段の
乗算値を、前記減算手段の減算値だけ、MSBに向けて
シフトする第3のシフト演算手段とを有する。
【0023】ここで、本発明の第2の観点の除算回路で
は、前記加算手段における演算と、前記第2の対数値演
算手段における演算とを並行して行う
【0024】また、本発明の第1の観点のグラフィック
演算装置ほ、立体モデルを単位図形の張り合わせで表現
し、除算回路において、同次座標(s,t)を同次項q
で除算し、当該除算の結果である「s/q」および「t
/q」に応じたテクスチャアドレスを用いて、前記単位
図形に付加するパターンを示すテクスチャデータを記憶
手段から読み出して描画を行い、各画素の色を決定する
グラフィック演算装置であって、前記除算回路は、被除
数および除数の補数値について2の対数演算を行って指
数をそれぞれ算出し、前記補数値を前記指数でそれぞれ
シフトした後に、前記除数の補数値のシフト結果の逆数
値を逆数演算手段で算出し、前記被除数のシフト結果と
前記算出した逆数値とを乗算した乗算結果を、前記被除
数および前記除数の指数に応じたシフト量だけシフトし
て除算結果を算出する除算回路であって、前記除数が負
の場合に、前記除数の1の補数値を出力する補数演算手
段と、前記除数が負の場合に、前記補数演算手段からの
出力に1を加算した加算結果を絶対値とする加算手段
と、前記補数演算手段の出力値について2の対数値の整
数値を演算する対数値演算手段と、前記絶対値を、前記
整数値に応じてシフトするシフト演算手段と、前記シフ
ト演算手段の演算値のMSBが1のときに、当該演算値
を仮数とし、当該演算値のMSBが0のときに、当該演
算値のMSBを1に置き換えた値を仮数とし、前記仮数
を前記逆数演算手段に出力するMSB置き換え手段と、
前記シフト演算手段の演算値のMSBが1のときに、前
記被除数の指数から前記整数値を減算し、前記シフト演
算手段の演算値のMSBが0のときに、前記被除数の指
数から、前記整数値に1を加算した加算値を減算し、前
記減算値を前記シフト量とするシフト量決定手段とを有
する。
【0025】さらに、本発明の第2の観点のグラフィッ
ク演算装置は、ディスプレイに表示する形状を表現する
基本単位となる単位図形に張り合わせるイメージデータ
であるテクスチャデータを記憶する記憶手段と、前記単
位図形の頂点について、3次元座標(x,y,z)、R
(赤),G(緑),B(青)データ、同次座標(s,
t)および同次項qを含むポリゴンレンダリングデータ
を生成するポリゴンレンダリングデータ生成手段と、同
時に処理を行なおうとする複数の画素のそれぞれについ
て、前記単位図形の内側に位置するか否かを判断し、前
記内側に位置する場合に有効を示す有効性指示データを
生成する画素位置判断手段と、前記単位図形の頂点のポ
リゴンレンダリングデータを補間して、前記単位図形内
に位置する画素の補間データを生成する補間データ生成
手段と、前記同時に処理を行なおうとする複数の画素の
うち、前記有効性指示データが有効を示す画素の前記補
間データに含まれる同次座標(s,t)を同次項qで除
算して「s/q」および「t/q」を生成する演算を除
算回路で行い、前記「s/q」および「t/q」に応じ
てテクスチャアドレスを用いて、前記記憶手段からテク
スチャデータを読み出すテクスチャ処理手段とを有す
る。
【0026】ここで、前記テクスチャ処理手段の除算回
路は、被除数および除数の補数値について2の対数演算
を行って指数をそれぞれ算出し、前記補数値を前記指数
でそれぞれシフトした後に、前記除数の補数値のシフト
結果の逆数値を逆数演算手段で算出し、前記被除数のシ
フト結果と前記算出した逆数値とを乗算した乗算結果
を、前記被除数および前記除数の指数に応じたシフト量
だけシフトして除算結果をデジタル形式で算出する除算
回路であって、前記除数が負の場合に、前記除数の1の
補数値を出力する補数演算手段と、前記除数が負の場合
に、前記補数演算手段からの出力に1を加算した加算結
果を絶対値とする加算手段と、前記補数演算手段の出力
値について2の対数値の整数値を演算する対数値演算手
段と、前記絶対値を、前記整数値に応じてシフトするシ
フト演算手段と、前記シフト演算手段の演算値のMSB
が1のときに、当該演算値を仮数とし、当該演算値のM
SBが0のときに、当該演算値のMSBを1に置き換え
た値を仮数とし、前記仮数を前記逆数演算手段に出力す
るMSB置き換え手段と、前記シフト演算手段の演算値
のMSBが1のときに、前記被除数の指数から前記整数
値を減算し、前記シフト演算手段の演算値のMSBが0
のときに、前記被除数の指数から、前記整数値に1を加
算した加算値を減算し、当該減算結果を前記シフト量と
するシフト量決定手段とを有する。
【0027】
【発明の実施の形態】第1実施形態 以下、本発明の実施形態に係わる除算回路について説明
する。図1は、本実施形態の除算回路400の構成図で
ある。除算回路400では、入力した被除数sを浮動小
数点表現するために、被除数sの絶対値が上記式(1)
に示すように正規化され、被除数sの符号がマイナス
(負)のときに、その指数seおよび仮数smが前述し
た式(2)および(3)に基づいて生成される。また、
被除数sの符号がプラス(正)のときに、その指数se
および仮数smが前述した式(4)および(5)に基づ
いて生成される。
【0028】また、除算回路400では、入力した除数
qを浮動小数点表現するために除数qの絶対値が下記式
(6)に示すように正規化され、除数qの符号がマイナ
ス(負)のときに、その指数seおよび仮数smが下記
式(7)および(8)に基づいて生成される。
【数6】 s=sm×2qe …(6)
【0029】
【数7】 qm=(〜q+1)/{2**int(log2 (〜q))} …(7) なお、当該式(7)は、「〜q+1」を、「int(l
og2 (〜q))」の1の補数「〜int(log
2 (〜q)」だけ、MSBに向けてシフトする演算であ
る。なお、式(7)において、仮数qmのMSBが
「0」となった場合には、当該MSBが「1」に置き換
えられる。
【0030】
【数8】 qe=int{log2 (〜q)}+adj …(8) なお、式(8)において、「adj」は、上記式(7)
に示す仮数qmのMSBが「0」の場合に「1」とな
り、仮数qmのMSBが「1」の場合には「0」とな
る。
【0031】また、除算回路400では、除数qの符号
がプラス(正)のときに、入力した除数qの絶対値が正
規化され、その指数qeおよび仮数qmが、下記式
(9)および式(10)に基づいて生成される。
【0032】
【数9】 qm=q/{2**int(log2 q)} …(9) なお、当該式(9)は、「q」を、「int(log2
q)」の1補数「〜int(log2 q)」だけ、MS
Bに向けてシフトする演算である。
【0033】
【数10】 qe=int{log2 q} …(10)
【0034】以下、上述した演算を行う除算回路400
の構成について説明する。図1に示すように、除算回路
400は、絶対値演算器301、プライオリティエンコ
ーダ303、シフト演算器305、逆数器308、乗算
器309、シフト演算器310、符号化器311、1の
補数演算器402、プライオリティエンコーダ404、
シフト演算器406、減算器407および加算器408
を有する。図1において、絶対値演算器301、プライ
オリティエンコーダ303、シフト演算器305、逆数
器308、乗算器309、シフト演算器310および符
号化器311は、図4に示すものと同じである。
【0035】1の補数演算器402は、例えば、除数q
のMSBの符号ビットを参照して、除数qがプラスの場
合(符号ビットが「0」の場合)には、除数qをそのま
まプライオリティエンコーダ404に出力する。また、
1の補数演算器402は、除数qがマイナスの場合(符
号ビットが「1」の場合)には、除数qの1の補数、す
なわち反転(EXOR)を算出し、算出結果「〜q」を
プライオリティエンコーダ404および加算器408に
出力する。
【0036】プライオリティエンコーダ404は、除数
qがプラスの場合に、1の補数演算器402から入力し
た除数qの2の対数「log2 q」を求め、その整数値
「int(log2 q)」を、指数qeとしてシフト演
算器406および減算器407に出力する。また、プラ
イオリティエンコーダ404は、除数qがマイナスの場
合に、1の補数演算器402から入力した算出結果「〜
q」の2の対数「log2 (〜q)」を求め、その整数
値「int(log2 (〜q))」を、指数qeとして
シフト演算器406および減算器407に出力する。
【0037】加算器408は、除数qがプラスのとき
に、1の補数演算器402から入力した「q」をそのま
まシフト演算器406に出力する。また、加算器408
は、除数qがマイナスのときに、1の補数演算器402
から入力した「〜q」に「1」を加算し、その加算結果
「〜q+1」をシフト演算器406に出力する。
【0038】シフト演算器406は、除数qがプラスの
ときに、加算器408から入力した「q」を、プライオ
リティエンコーダ404から入力した「int(log
2 q)」の1の補数「〜int(log2 q)」、すな
わち指数qeの1の補数だけMSBに向けてシフトして
仮数qmを算出し、この仮数qmを逆数器309に出力
する。また、シフト演算器406は、除数qがマイナス
のときに、加算器408から入力した「〜q+1」を、
プライオリティエンコーダ404から入力した「int
(log2 (〜s))」の1の補数「〜int(log
2 (〜s))」、すなわち指数qeの1の補数だけMS
Bに向けてシフトして仮数qmを算出し、この仮数qm
を逆数器309に出力する。
【0039】減算器407は、除数qがプラスのとき
に、プライオリティエンコーダ303から入力した指数
seから、プライオリティエンコーダ404から入力し
た指数qeを減算し、その減算結果「se−qe」をシ
フト量S407としてシフト演算器310に出力する。
また、減算器407は、除数qがマイナスのときに、シ
フト演算器406から入力した仮数qmのMSBを参照
し、このMSBが「1」の場合には、プライオリティエ
ンコーダ303から入力した指数seから、プライオリ
ティエンコーダ404から入力した指数qeを減算し、
その減算結果「se−qe」をシフト量S407として
シフト演算器310に出力する。一方、減算器407
は、参照したMSBが「0」の場合には、プライオリテ
ィエンコーダ303から入力した指数seから、プライ
オリティエンコーダ404から入力した指数qeにad
j(=1)を加算した指数qe’を減算し、その減算結
果「se−(qe+adj)」をシフト量S407とし
てシフト演算器310に出力する。
【0040】逆数器308は、除数qがプラスのとき
に、シフト演算器406から入力した仮数qmの逆数
「1/qm」を算出し、その逆数「1/qm」を乗算器
309に出力する。また、逆数器308は、除数qがマ
イナスであり、シフト演算器406から入力した仮数q
mのMSBが「1」である場合には、その逆数「1/q
m」を算出し、逆数「1/qm」を乗算器309に出力
する。一方、逆数器308は、除数qがマイナスであ
り、シフト演算器406から入力した仮数qmのMSB
が「0」である場合には、当該MSBを「1」にして、
その逆数「1/qm」を算出し、逆数「1/qm」を乗
算器309に出力する。
【0041】乗算器309は、シフト演算器305から
の仮数smと、逆数器308からの仮数「1/qm」と
を乗算し、その乗算結果「sm/qm」をシフト演算器
310に出力する。
【0042】シフト演算器310は、乗算器309から
の乗算結果「sm/qm」を、MSBに向けて、シフト
量S407だけシフトし、そのシフト演算結果S310
を符号化器311に出力する。
【0043】符号化器311は、被除数sの符号と除数
qの符号とに基づいて、これらの符号が異なる場合に
は、シフト演算結果S310のMSBの1つ上位のビッ
トにマイナスを示す「1」を付加し、これを除算結果
「s/q」として出力する。一方、符号化器311は、
被除数sの符号と除数qの符号とで符号が同じ場合に
は、シフト演算結果S310のMSBの1つ上位のビッ
トにプラスを示す「0」を付加し、これを除算結果「s
/q」として出力する。
【0044】以下、除算回路400の動作について説明
する。ここでは、被除数sおよび除数qの双方がマイナ
スの場合を例示して説明する。絶対値演算器301にお
いて、入力された被除数sの1の補数「〜s」に1を加
算した「〜s+1」が演算され、「〜s+1」がプライ
オリティエンコーダ303およびシフト演算器305に
出力される。次に、プライオリティエンコーダ303に
おいて、被除数sの2の対数「log2 s」が求めら
れ、この2の対数「log2 s」の整数値「int(l
og2s)」が、指数seとしてシフト演算器305お
よび減算器407に出力される。次に、シフト演算器3
05において、被除数sが、指数seの1の補数だけM
SBに向けてシフトされ、仮数smが演算される。仮数
smは逆数器309に出力される。すなわち、除算回路
400に被除数sが入力されてから仮数smが算出され
るまでに、図5に示すように、1の補数演算、加算演
算、2の対数演算およびシフト演算の4ステップ(クロ
ックサイクル)を要する。
【0045】また、図2に示すように、1の補数演算器
402に入力された除数qの1の補数「〜q」が、1の
補数演算器402において算出され、プライオリティエ
ンコーダ404および加算器408に出力される。次
に、プライオリティエンコーダ404において、図2に
示すように、「〜q」の2の対数「log2 (〜q)」
が求められ、この2の対数「log2 (〜q)」の整数
値「int(log2 (〜q))」が、指数qeとして
シフト演算器406および減算器407に出力される。
それと同時に、加算器408において、図2に示すよう
に、1の補数演算器402からの「〜q」に対して
「1」が加算され、加算結果「〜q+1」がシフト演算
器406に出力される。
【0046】次に、シフト演算器406において、図2
に示すように、加算器408から入力した「〜q+1」
が、プライオリティエンコーダ404から入力した指数
qeの1の補数だけMSBに向けてシフトされ、仮数q
mが算出される。この仮数qmは、逆数器308および
減算器407に出力される。
【0047】また、減算器407において、シフト演算
器406から入力した仮数qmのMSBが参照され、図
2に示すように、当該MSBが「0」であるため、プラ
イオリティエンコーダ303から入力した指数seか
ら、プライオリティエンコーダ404から入力した指数
qeにadj(=1)を加算した指数qe’が減算さ
れ、その減算結果「se−(qe+adj)」がシフト
量S407としてシフト演算器310に出力される。
【0048】また、逆数器308においても、シフト演
算器406から入力した仮数qmのMSBが参照され、
当該MSBが「0」であるため、図2に示すように、仮
数qmのMSBが「1」に設定され、当該設定された後
の仮数qmの逆数「1/qm」が算出され、当該「1/
qm」が乗算器309に出力される。すなわち、除算回
路400に、除数qが入力されてから逆数「1/qm」
が算出されるまでに、図2に示すように、1の補数演
算、1の加算演算および2の対数演算、シフト演算、q
mのMSBの1への置き換え処理、および、逆数演算の
5ステップが行われるが、qmのMSBの1への置き換
え処理時間は無視できる。従って、除数qが入力されて
から逆数「1/qm」を算出するまで、1の補数演算、
1の加算演算および2の対数演算、シフト演算、およ
び、逆数演算の4クロックサイクルを要する。そのた
め、図1に示す乗算器309では、シフト演算器305
からの仮数smと、逆数器308からの逆数「1/q
m」とを略同時に入力することができ、待ち時間を実質
的に無くすことができる。
【0049】次に、乗算器309において、シフト演算
器305からの仮数smと、逆数器308からの仮数
「1/qm」とが乗算され、その乗算結果「sm/q
m」がシフト演算器310に出力される。次に、乗算結
果「sm/qm」が、シフト演算器310において、シ
フト量S407だけMSBに向けてシフトされ、そのシ
フト演算結果S310が符号化器311に出力される。
【0050】次に、符号化器311において、被除数s
の符号と除数qの符号とに基づいて、これらの符号が異
なるため、シフト演算結果S310のMSBの1つ上位
のビットにマイナスを示す「1」が付加され、これが除
算結果「s/q」として出力される。
【0051】以上説明したように、除算回路400によ
れば、被除数sおよびqがマイナスの場合に、乗算器3
09における逆数「1/qm」の入力待ち時間を無くす
ことができ、高速演算を実現できる。なお、上述した動
作例では、除数sがマイナスの場合を例示したが、除数
sがプラスの場合であっても、除数qを入力してから逆
数「1/qm」を算出するクリティカルパスを1ステッ
プ削減できるため、図4に示す除算回路300に比べて
高速処理を実現できる。また、除算回路400は、図4
に示す除算回路300と略同じ回路規模で実現可能であ
る。
【0052】第2実施形態 以下、本実施形態においては、家庭用ゲーム機などに適
用される、任意の3次元物体モデルに対する所望の3次
元画像をCRT(Cathode Ray Tube)などのディスプレイ
上に高速に表示する3次元コンピュータグラフィックシ
ステムに、本発明の除算回路を適用した場合について説
明する。図3は、本実施形態の3次元コンピュータグラ
フィックシステム1のシステム構成図である。3次元コ
ンピュータグラフィックシステム1は、立体モデルを単
位図形である三角形(ポリゴン)の組み合わせとして表
現し、このポリゴンを描画することで表示画面の各画素
の色を決定し、ディスプレイに表示するポリゴンレンダ
リング処理を行うシステムである。また、3次元コンピ
ュータグラフィックシステム1では、平面上の位置を表
現する(x,y)座標の他に、奥行きを表すz座標を用
いて3次元物体を表し、この(x,y,z)の3つの座
標で3次元空間の任意の一点を特定する。
【0053】図3に示すように、3次元コンピュータグ
ラフィックシステム1は、メインメモリ2、I/Oイン
タフェース回路3、メインプロセッサ4およびレンダリ
ング回路5が、メインバス6を介して接続されている。
以下、各構成要素の機能について説明する。メインプロ
セッサ4は、例えば、ゲームの進行状況などに応じて、
メインメモリ2から必要なグラフィックデータを読み出
し、このグラフィックデータに対してクリッピング(Cli
pping)処理、ライティング(Lighting)処理およびジオメ
トリ(Geometry)処理などを行い、ポリゴンレンダリング
データを生成する。メインプロセッサ4は、ポリゴンレ
ンダリングデータS4を、メインバス6を介してレンダ
リング回路5に出力する。I/Oインタフェース回路3
は、必要に応じて、外部からポリゴンレンダリングデー
タを入力し、これをメインバス6を介してレンダリング
回路5に出力する。
【0054】ここで、ポリゴンレンダリングデータは、
ポリゴンの各3頂点の(x,y,z,R,G,B,α,
s,t,q,F)のデータを含んでいる。ここで、
(x,y,z)データは、ポリゴンの頂点の3次元座標
を示し、(R,G,B)データは、それそれ当該3次元
座標における赤、緑、青の輝度値を示している。データ
αは、これから描画する画素と、ディスプレイバッファ
21に既に記憶されている画素とのR,G,Bデータの
ブレンド(混合)係数を示している。(s,t,q)デ
ータのうち、(s,t)は、対応するテクスチャの同次
座標を示しており、qは同次項を示している。ここで、
「s/q」および「t/q」に、それぞれテクスチャサ
イズUSIZEおよびVSIZEを乗じてテクスチャ座
標データ(u,v)が得られる。テクスチャバッファ2
0に記憶されたテクスチャデータへのアクセスは、テク
スチャ座標データ(u,v)を用いて行われる。Fデー
タは、フォグのα値を示している。すなわち、ポリゴン
レンダリングデータは、三角形の各頂点の物理座標値
と、それぞれの頂点の色とテクスチャおよびフォグの値
のデータを示している。
【0055】以下、レンダリング回路5について詳細に
説明する。図3に示すように、レンダリング回路5は、
DDA(Digital Differential Anarizer) セットアップ
回路10、トライアングルDDA回路11、テクスチャ
エンジン回路12、メモリI/F回路13、CRTコン
トローラ回路14、RAMDAC回路15、DRAM1
6およびSRAM17を有する。DRAM16は、テク
スチャバッファ20、ディスプレイバッファ21、zバ
ッファ22およびテクスチャCLUTバッファ23とし
て機能する。
【0056】DDAセットアップ回路10 DDAセットアップ回路10は、後段のトライアングル
DDA回路11において物理座標系上の三角形の各頂点
の値を線形補間して、三角形の内部の各画素の色と深さ
情報を求めるに先立ち、ポリゴンレンダリングデータS
4が示す(z,R,G,B,α,s,t,q,F)デー
タについて、三角形の辺と水平方向の差分などを求める
セットアップ演算を行う。このセットアップ演算は、具
体的には、開始点の値と終点の値と、開始点と終点との
距離を用いて、単位長さ移動した場合における、求めよ
うとしている値の変分を算出する。DDAセットアップ
回路10は、算出した変分データS10をトライアング
ルDDA回路11に出力する。
【0057】トライアングルDDA回路11 トライアングルDDA回路11は、DDAセットアップ
回路10から入力した変分データS10を用いて、三角
形内部の各画素における線形補間された(z,R,G,
B,α,s,t,q,F)データを算出する。トライア
ングルDDA回路11は、各画素の(x,y)データ
と、当該(x,y)座標における(z,R,G,B,
α,s,t,q,F)データとを、DDAデータ(補間
データ)S11としてテクスチャエンジン回路12に出
力する。本実施形態では、トライアングルDDA回路1
1は、並行して処理を行う矩形内に位置する8(=2×
4)画素分のDDAデータS11をテクスチャエンジン
回路12に出力する。
【0058】テクスチャエンジン回路12 テクスチャエンジン回路12は、「s/q」および「t
/q」の算出処理、テクスチャ座標データ(u,v)の
算出処理、テクスチャバッファ20からの(R,G,
B,α)データの読み出し処理、および、混合処理(α
ブレンディング処理)を順にパイプライン方式で行う。
なお、テクスチャエンジン回路12は、所定の矩形内に
位置する8画素についての処理を同時に並行して行う。
【0059】テクスチャエンジン回路12は、DDAデ
ータS11が示す(s,t,q)データについて、sデ
ータをqデータで除算する演算と、tデータをqデータ
で除算する演算とを行う。テクスチャエンジン回路12
には、前述した第1実施形態の図1に示す除算回路40
0が8個設けられており、8画素についての除算「s/
q」および「t/q」が同時に行われる。
【0060】また、テクスチャエンジン回路12は、除
算結果である「s/q」および「t/q」に、それぞれ
テクスチャサイズUSIZEおよびVSIZEを乗じ
て、テクスチャ座標データ(u,v)を生成する。ま
た、テクスチャエンジン回路12は、メモリI/F回路
13を介して、SRAM17あるいはDRAM16に、
前記生成したテクスチャ座標データ(u,v)を含む読
み出し要求を出力し、メモリI/F回路13を介して、
SRAM17あるいはテクスチャバッファ20に記憶さ
れているテクスチャデータを読み出すことで、(s,
t)データに対応したテクスチャアドレスに記憶された
(R,G,B,α)データS17を得る。ここで、SR
AM17には、テクスチャバッファ20に記憶されてい
るテクスチャデータのコピーが記憶されている。テクス
チャエンジン回路12は、読み出した(R,G,B,
α)データS17の(R,G,B)データと、前段のト
ライアングルDDA回路11からのDDAデータS11
に含まれる(R,G,B)データとを、(R,G,B,
α)データS17に含まれるαデータ(テクスチャα)
が示す割合で混合し、画素データS12を生成する。テ
クスチャエンジン回路12は、この画素データS12
を、メモリI/F回路13に出力する。なお、テクスチ
ャバッファ20には、MIPMAP(複数解像度テクス
チャ)などの複数の縮小率に対応したテクスチャデータ
が記憶されている。ここで、何れの縮小率のテクスチャ
データを用いるかは、所定のアルゴリズムを用いて、前
記三角形単位で決定される。
【0061】テクスチャエンジン回路12は、フルカラ
ー方式の場合には、テクスチャバッファ20から読み出
した(R,G,B,α)データを直接用いる。一方、テ
クスチャエンジン回路12は、インデックスカラー方式
の場合には、予め作成したカラールックアップテーブル
(CLUT)をテクスチャCLUTバッファ23から読
み出して、内蔵するSRAMに転送および記憶し、この
カラールックアップテーブルを用いて、テクスチャバッ
ファ20から読み出したカラーインデックスに対応する
(R,G,B)データを得る。
【0062】メモリI/F回路13 また、メモリI/F回路13は、テクスチャエンジン回
路12から入力した画素データS12に対応するzデー
タと、zバッファ22に記憶されているzデータとの比
較を行い、入力した画素データS12によって描画され
る画像が、前回、ディスプレイバッファ21に書き込ま
れた画像より、手前(視点側)に位置するか否かを判断
し、手前に位置する場合には、画像データS12に対応
するzデータでzバッファ22に記憶されたzデータを
更新する。また、メモリI/F回路13は、必要に応じ
て、画像データS12に含まれる(R,G,B)データ
と、既にディスプレイバッファ21に記憶されている
(R,G,B)データとを、画素データS12に対応す
るαデータが示す混合値で混合する、いわゆるαブレン
ディング処理を行い、混合後の(R,G,B)データを
ディスプレイバッファ21に書き込む(打ち込む)。
【0063】なお、メモリI/F回路13によるDRA
M16に対してのアクセスは、16画素について同時に
行なわれる。
【0064】CRTコントローラ回路14 CRTコントローラ回路14は、与えられた水平および
垂直同期信号に同期して、図示しないCRTに表示する
アドレスを発生し、ディスプレイバッファ21から表示
データを読み出す要求をメモリI/F回路13に出力す
る。この要求に応じて、メモリI/F回路13は、ディ
スプレイバッファ21から一定の固まりで表示データを
読み出す。CRTコントローラ回路14は、ディスプレ
イバッファ21から読み出した表示データを記憶するF
IFO(First In First Out)回路を内蔵し、一定の時間
間隔で、RAMDAC回路15に、RGBのインデック
ス値を出力する。
【0065】RAMDAC回路15 RAMDAC回路15は、各インデックス値に対応する
R,G,Bデータを記憶しており、CRTコントローラ
回路14から入力したRGBのインデックス値に対応す
るデジタル形式のR,G,Bデータを、D/Aコンバー
タに転送し、アナログ形式のR,G,Bデータを生成す
る。RAMDAC回路15は、この生成されたR,G,
BデータをCRTに出力する。
【0066】以下、3次元コンピュータグラフィックシ
ステム1の動作について説明する。ポリゴンレンダリン
グデータS4が、メインバス6を介してメインプロセッ
サ4からDDAセットアップ回路10に出力され、DD
Aセットアップ回路10において、三角形の辺と水平方
向の差分などを示す変分データS10が生成される。こ
の変分データS10は、トライアングルDDA回路11
に出力され、トライアングルDDA回路11において、
三角形内部の各画素における線形補間された(z,R,
G,B,α,s,t,q,F)データが算出される。そ
して、この算出された(z,R,G,B,α,s,t,
q,F)データと、三角形の各頂点の(x,y)データ
とが、DDAデータS11として、トライアングルDD
A回路11からテクスチャエンジン回路12に出力され
る。
【0067】次に、テクスチャエンジン回路12におい
て、DDAデータS11が示す(s,t,q)データに
ついて、sデータをqデータで除算する演算と、tデー
タをqデータで除算する演算とが行われる。このとき、
8個の図1に示す除算回路400によって、8画素分の
除算「s/q」および「t/q」が同時に行われる。そ
して、除算結果「s/q」および「t/q」に、それぞ
れテクスチャサイズUSIZEおよびVSIZEが乗算
され、テクスチャ座標データ(u,v)が生成される。
次に、メモリI/F回路13を介して、テクスチャエン
ジン回路12からSRAM17に、前記生成されたテク
スチャ座標データ(u,v)を含む読み出し要求が出力
され、メモリI/F回路13を介して、SRAM17に
記憶された(R,G,B,α)データS17が読み出さ
れる。次に、テクスチャエンジン回路12において、読
み出した(R,G,B,α)データS17の(R,G,
B)データと、前段のトライアングルDDA回路11か
らのDDAデータS11に含まれる(R,G,B)デー
タとが、(R,G,B,α)データS17に含まれるα
データ(テクスチャα)が示す割合で混合され、画素デ
ータS12が生成される。この画素データS12は、テ
クスチャエンジン回路12からメモリI/F回路13に
出力される。
【0068】そして、メモリI/F回路13において、
テクスチャエンジン回路12から入力した画素データS
12に対応するzデータと、zバッファ22に記憶され
ているzデータとの比較が行なわれ、入力した画素デー
タS12によって描画される画像が、前回、ディスプレ
イバッファ21に書き込まれた画像より、手前(視点
側)に位置するか否かが判断され、手前に位置する場合
には、画像データS12に対応するzデータでzバッフ
ァ22に記憶されたzデータが更新される。
【0069】次に、メモリI/F回路13において、必
要に応じて、画像データS12に含まれる(R,G,
B)データと、既にディスプレイバッファ21に記憶さ
れている(R,G,B)データとが、画素データS12
に対応するαデータが示す混合値で混合され、混合後の
(R,G,B)データがディスプレイバッファ21に書
き込まれる。
【0070】以上説明したように、3次元コンピュータ
グラフィックシステム1によれば、テクスチャエンジン
回路12における「s/q」および「t/q」を算出す
る除算を、前述した図1に示す除算回路400を用いて
行う。そのため、「s/q」および「t/q」を算出す
る除算を高速化でき、CRTに表示する3次元画像の動
きの高速化および画質の向上を図ることができる。
【0071】本発明は上述した実施形態には限定されな
い。例えば、上述した図1に示す除算回路400では、
符号付加器311を設けた場合を例示したが、s/qの
絶対値を算出する機能を実現する場合には、符号付加器
311を設ける必要はない。
【0072】また、上述した図3に示す3次元コンピュ
ータグラフィックシステム1では、SRAM17を用い
る構成を例示したが、SRAM17を設けない構成にし
てもよい。また、図3に示すテクスチャバッファ20お
よびテクスチャCLUTバッファ23を、DRAM16
の外部に設けてもよい。
【0073】さらに、図3に示す3次元コンピュータグ
ラフィックシステム1では、ポリゴンレンダリングデー
タを生成するジオメトリ処理を、メインプロセッサ4で
行なう場合を例示したが、レンダリング回路5で行なう
構成にしてもよい。
【0074】
【発明の効果】以上説明したように、本発明の除算回路
によれば、回路規模を大幅に増大させることなく、除算
のクリティカルパスを短縮し、演算速度を高めることが
できる。また、本発明のグラフィック演算装置によれ
ば、ディスプレイに表示する3次元画像の動きの高速化
および画質の向上を図ることができる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わる除算回路の
構成図である。
【図2】図2は、図1に示す除算回路における被除数q
がマイナスの場合における仮数qmと指数qeを求める
演算フローを示す図である。
【図3】図3は、本発明の第2実施形態の3次元コンピ
ュータグラフィックシステムのシステム構成図である。
【図4】図4は、従来の除算回路の一例を説明するため
の構成図である。
【図5】図5は、図4に示す除算回路における被除数s
がマイナスの場合における仮数smと指数seを求める
演算フローを示す図である。
【符号の説明】
1…3次元コンピュータグラフィックシステム、2…メ
インメモリ、3…I/Oインタフェース回路、4…メイ
ンプロセッサ、5…レンダリング回路、10…DDAセ
ットアップ回路、11…トライアングルDDA回路、1
2…テクスチャエンジン回路、13…メモリI/F回
路、14…CRTコントローラ回路、15…RAMDA
C回路、16…DRAM、17…SRAM、20…テク
スチャバッファ、21…ディスプレイバッファ、22…
Zバッファ、23…テクスチャCLUTバッファ、30
1…2の補数演算器、303,404…プライオリティ
エンコーダ、305,406…シフト演算器、308…
逆数器、309…乗算器、310…シフト演算器、31
1…符号化器、401…1の補数演算器、408…加算
器、407…減算器

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】被除数および除数の補数値について2の対
    数演算を行って指数をそれぞれ算出し、前記補数値を前
    記指数でそれぞれシフトした後に、前記除数の補数値の
    シフト結果の逆数値を逆数演算手段で算出し、前記被除
    数のシフト結果と前記算出した逆数値とを乗算した乗算
    結果を、前記被除数および前記除数の指数に応じたシフ
    ト量だけシフトして除算結果をデジタル形式で算出する
    除算回路において、 前記除数が負の場合に、前記除数の1の補数値を出力す
    る補数演算手段と、 前記除数が負の場合に、前記補数演算手段からの出力に
    1を加算した加算結果を絶対値とする加算手段と、 前記補数演算手段の出力値について2の対数値の整数値
    を演算する対数値演算手段と、 前記絶対値を、前記整数値に応じてシフトするシフト演
    算手段と、 前記シフト演算手段の演算値のMSBが1のときに、当
    該演算値を仮数とし、当該演算値のMSBが0のとき
    に、当該演算値のMSBを1に置き換えた値を仮数と
    し、前記仮数を前記逆数演算手段に出力するMSB置き
    換え手段と、 前記シフト演算手段の演算値のMSBが1のときに、前
    記被除数の指数から前記整数値を減算し、前記シフト演
    算手段の演算値のMSBが0のときに、前記被除数の指
    数から、前記整数値に1を加算した加算値を減算し、当
    該減算結果を前記シフト量とするシフト量決定手段とを
    有する除算回路。
  2. 【請求項2】前記加算手段における演算と、前記対数値
    演算手段における演算とを並行して行う請求項1に記載
    の除算回路。
  3. 【請求項3】前記被除数が負の場合に、前記被除数の2
    の補数値を算出し、当該2の補数値を前記被除数の補数
    値とする2の補数演算手段を有する請求項1に記載の除
    算回路。
  4. 【請求項4】前記シフト演算手段は、前記絶対値を、前
    記整数値の反転値だけMSBに向けてシフトする請求項
    1に記載の除算回路。
  5. 【請求項5】前記被除数および前記除数のMSBに基づ
    いて符号を決定し、当該決定された符号に応じた符号ビ
    ットを、前記除算結果のMSBに付加する符号決定手段
    をさらに有する請求項1に記載の除算回路。
  6. 【請求項6】被除数と除数の逆数との乗算を浮動小数点
    方式で行う除算回路において、 前記被除数が負の場合に、前記被除数の2の補数値を第
    1の絶対値とし、前記被除数が正の場合に、前記被除数
    を第1の絶対値とする第1の絶対値演算手段と、 前記第1の絶対値について2の対数値の整数値である第
    1の対数値を演算する第1の対数値演算手段と、 前記第1の絶対値を、前記第1の対数値の反転値だけ、
    MSBに向けてシフトして第1の仮数を算出する第1の
    シフト演算手段と、 前記除数が負の場合に、前記除数の1の補数値を出力
    し、前記除数が正の場合に、前記除数を出力する補数演
    算手段と、 前記除数が負の場合に、前記補数演算手段からの出力に
    1を加算した加算結果を第2の絶対値とし、前記除数が
    正の場合に、前記補数演算手段からの出力を第2の絶対
    値とする加算手段と、 前記補数演算手段の出力値について2の対数値の整数値
    である第2の対数値を演算する第2の対数値演算手段
    と、 前記第2の絶対値を、前記第2の対数値の反転値だけ、
    MSBに向けてシフトする第2のシフト演算手段と、 前記第2のシフト演算手段の演算値のMSBが1のとき
    に、当該演算値を第2の仮数とし、当該演算値のMSB
    が0のときに、当該演算値のMSBを1に置き換えた値
    を第2の仮数とするMSB置き換え手段と、 前記第2のシフト演算手段の演算値のMSBが1のとき
    に、前記第1の対数値から前記第2の対数値を減算し、
    前記第2のシフト演算手段の演算値のMSBが0のとき
    に、前記第1の対数値から、前記第2の対数値に1を加
    算した加算値を減算する減算手段と、 前記第2の仮数の逆数を演算する逆数演算手段と、 前記第1の仮数と、前記第2の仮数の逆数とを乗算する
    乗算手段と、 前記乗算手段の乗算値を、前記減算手段の減算値だけ、
    MSBに向けてシフトする第3のシフト演算手段とを有
    する除算回路。
  7. 【請求項7】前記加算手段における演算と、前記第2の
    対数値演算手段における演算とを並行して行う請求項6
    に記載の除算回路。
  8. 【請求項8】前記被除数および前記除数のMSBに基づ
    いて符号を決定し、当該決定された符号に応じた符号ビ
    ットを、前記第3のシフト演算手段の演算値のMSBに
    付加する符号決定手段をさらに有する請求項6に記載の
    除算回路。
  9. 【請求項9】立体モデルを単位図形の張り合わせで表現
    し、除算回路において、同次座標(s,t)を同次項q
    で除算し、当該除算の結果である「s/q」および「t
    /q」に応じたテクスチャアドレスを用いて、前記単位
    図形に付加するパターンを示すテクスチャデータを記憶
    手段から読み出して描画を行い、各画素の色を決定する
    グラフィック演算装置において、 前記除算回路は、 被除数および除数の補数値について2の対数演算を行っ
    て指数をそれぞれ算出し、前記補数値を前記指数でそれ
    ぞれシフトした後に、前記除数の補数値のシフト結果の
    逆数値を逆数演算手段で算出し、前記被除数のシフト結
    果と前記算出した逆数値とを乗算した乗算結果を、前記
    被除数および前記除数の指数に応じたシフト量だけシフ
    トして除算結果を算出する除算回路であって、 前記除数が負の場合に、前記除数の1の補数値を出力す
    る補数演算手段と、 前記除数が負の場合に、前記補数演算手段からの出力に
    1を加算した加算結果を絶対値とする加算手段と、 前記補数演算手段の出力値について2の対数値の整数値
    を演算する対数値演算手段と、 前記絶対値を、前記整数値に応じてシフトするシフト演
    算手段と、 前記シフト演算手段の演算値のMSBが1のときに、当
    該演算値を仮数とし、当該演算値のMSBが0のとき
    に、当該演算値のMSBを1に置き換えた値を仮数と
    し、前記仮数を前記逆数演算手段に出力するMSB置き
    換え手段と、 前記シフト演算手段の演算値のMSBが1のときに、前
    記被除数の指数から前記整数値を減算し、前記シフト演
    算手段の演算値のMSBが0のときに、前記被除数の指
    数から、前記対数値に1を加算した加算値を減算し、前
    記減算結果を前記シフト量とするシフト量決定手段とを
    有するグラフィック演算装置。
  10. 【請求項10】前記加算手段における演算と、前記対数
    値演算手段における演算とを並行して行う請求項9に記
    載のグラフィック演算装置。
  11. 【請求項11】前記シフト演算手段は、前記絶対値を、
    前記整数値の反転値だけMSBに向けてシフトする請求
    項9に記載のグラフィック演算装置。
  12. 【請求項12】複数の前記除算回路を有し、 複数の画素について、「s/q」および「t/q」を同
    時に算出する請求項9に記載のグラフィック演算装置。
  13. 【請求項13】ディスプレイに表示する形状を表現する
    基本単位となる単位図形に張り合わせるイメージデータ
    であるテクスチャデータを記憶する記憶手段と、 前記単位図形の頂点について、3次元座標(x,y,
    z)、R(赤),G(緑),B(青)データ、同次座標
    (s,t)および同次項qを含むポリゴンレンダリング
    データを生成するポリゴンレンダリングデータ生成手段
    と、 同時に処理を行なおうとする複数の画素のそれぞれにつ
    いて、前記単位図形の内側に位置するか否かを判断し、
    前記内側に位置する場合に有効を示す有効性指示データ
    を生成する画素位置判断手段と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の補間データを
    生成する補間データ生成手段と、 前記同時に処理を行なおうとする複数の画素のうち、前
    記有効性指示データが有効を示す画素の前記補間データ
    に含まれる同次座標(s,t)を同次項qで除算して
    「s/q」および「t/q」を生成する演算を除算回路
    で行い、前記「s/q」および「t/q」に応じたテク
    スチャアドレスを用いて、前記記憶手段からテクスチャ
    データを読み出すテクスチャ処理手段とを有するグラフ
    ィック演算装置において、 前記テクスチャ処理手段の除算回路は、 被除数および除数の補数値について2の対数演算を行っ
    て指数をそれぞれ算出し、前記補数値を前記指数でそれ
    ぞれシフトした後に、前記除数の補数値のシフト結果の
    逆数値を逆数演算手段で算出し、前記被除数のシフト結
    果と前記算出した逆数値とを乗算した乗算結果を、前記
    被除数および前記除数の指数に応じたシフト量だけシフ
    トして除算結果をデジタル形式で算出する除算回路であ
    って、 前記除数が負の場合に、前記除数の1の補数値を出力す
    る補数演算手段と、 前記除数が負の場合に、前記補数演算手段からの出力に
    1を加算した加算結果を絶対値とする加算手段と、 前記補数演算手段の出力値について2の対数値の整数値
    を演算する対数値演算手段と、 前記絶対値を、前記整数値に応じてシフトするシフト演
    算手段と、 前記シフト演算手段の演算値のMSBが1のときに、当
    該演算値を仮数とし、当該演算値のMSBが0のとき
    に、当該演算値のMSBを1に置き換えた値を仮数と
    し、前記仮数を前記逆数演算手段に出力するMSB置き
    換え手段と、 前記シフト演算手段の演算値のMSBが1のときに、前
    記被除数の指数から前記整数値を減算し、前記シフト演
    算手段の演算値のMSBが0のときに、前記被除数の指
    数から、前記整数値に1を加算した加算値を減算し、当
    該減算結果を前記シフト量とするシフト量決定手段とを
    有するグラフィック演算装置。
JP10042436A 1998-02-24 1998-02-24 除算回路およびグラフィック演算装置 Pending JPH11242585A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10042436A JPH11242585A (ja) 1998-02-24 1998-02-24 除算回路およびグラフィック演算装置
CA2261245A CA2261245C (en) 1998-02-24 1999-02-08 Division circuit and graphic display processing apparatus
US09/253,951 US6460063B1 (en) 1998-02-24 1999-02-22 Division circuit and graphic display processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10042436A JPH11242585A (ja) 1998-02-24 1998-02-24 除算回路およびグラフィック演算装置

Publications (1)

Publication Number Publication Date
JPH11242585A true JPH11242585A (ja) 1999-09-07

Family

ID=12636030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10042436A Pending JPH11242585A (ja) 1998-02-24 1998-02-24 除算回路およびグラフィック演算装置

Country Status (3)

Country Link
US (1) US6460063B1 (ja)
JP (1) JPH11242585A (ja)
CA (1) CA2261245C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004755A (ja) * 2003-06-10 2005-01-06 Korea Advanced Inst Of Science & Technology 3次元コンピュータグラフィックスシステムの除算ユニット
JP2008523450A (ja) * 2004-12-13 2008-07-03 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 平方値に線形従属する計算結果の表示を生成する方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3979162B2 (ja) * 2002-04-22 2007-09-19 ソニー株式会社 画像処理装置およびその方法
CN113706745A (zh) * 2021-08-16 2021-11-26 广州朗国电子科技股份有限公司 一种门锁离线密码生成的方法及相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249149A (en) * 1989-01-13 1993-09-28 International Business Machines Corporation Method and apparatus for performining floating point division
US5220524A (en) * 1990-12-13 1993-06-15 Micron Technology, Inc. Machine method to perform newton iterations for reciprocals
US5563818A (en) * 1994-12-12 1996-10-08 International Business Machines Corporation Method and system for performing floating-point division using selected approximation values
US5768170A (en) * 1996-07-25 1998-06-16 Motorola Inc. Method and apparatus for performing microprocessor integer division operations using floating point hardware

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004755A (ja) * 2003-06-10 2005-01-06 Korea Advanced Inst Of Science & Technology 3次元コンピュータグラフィックスシステムの除算ユニット
JP2008523450A (ja) * 2004-12-13 2008-07-03 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 平方値に線形従属する計算結果の表示を生成する方法

Also Published As

Publication number Publication date
US6460063B1 (en) 2002-10-01
CA2261245C (en) 2012-07-03
CA2261245A1 (en) 1999-08-24

Similar Documents

Publication Publication Date Title
JP3763136B2 (ja) 描画方法および描画装置
US5544294A (en) Method for generating a subpixel mask for computer graphics system and apparatus thereof
US20060250397A1 (en) Graphics processing unit and graphics processing system
JPH05307610A (ja) テクスチャマッピング方法およびその装置
JPH04222074A (ja) テクスチャマッピングのための傾斜計算方法
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
JP4505866B2 (ja) 画像処理装置および映像信号処理方法
JPH11242585A (ja) 除算回路およびグラフィック演算装置
JP4300650B2 (ja) 演算処理回路およびその方法と画像処理装置
JPH09134452A (ja) コンピュータ・グラフィックス・ディスプレイ・システムにおける奥行きバッファ値の高速補間方法及びグラフィックス・システム
JPH03144782A (ja) 三次元図形処理装置
JP4244444B2 (ja) データ処理装置、除算回路および画像処理装置
JP4042204B2 (ja) グラフィック演算装置およびその方法
US6329999B1 (en) Encoder, method thereof and graphic processing apparatus
JPH11185052A (ja) 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法
JPH11306366A (ja) グラフィック演算装置およびその方法
JP4325038B2 (ja) 画像処理装置
JP4224887B2 (ja) 信号処理装置および画像処理装置
JP4386124B2 (ja) 映像信号処理装置および映像信号処理方法
JPH10207694A (ja) ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム
JP4635379B2 (ja) 画像処理装置
JP3538826B2 (ja) 演算回路および演算方法
KR100686357B1 (ko) 로그 연산 방법 및 그 방법을 수행하는 3차원 그래픽 처리장치
JP2000099748A (ja) 3次元グラフィックス処理装置及びその処理方法
JP4333793B2 (ja) 映像信号処理装置および映像信号処理方法