JP4300650B2 - 演算処理回路およびその方法と画像処理装置 - Google Patents
演算処理回路およびその方法と画像処理装置 Download PDFInfo
- Publication number
- JP4300650B2 JP4300650B2 JP25346999A JP25346999A JP4300650B2 JP 4300650 B2 JP4300650 B2 JP 4300650B2 JP 25346999 A JP25346999 A JP 25346999A JP 25346999 A JP25346999 A JP 25346999A JP 4300650 B2 JP4300650 B2 JP 4300650B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- output
- mantissa
- texture
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Description
【発明の属する技術分野】
本発明は、演算処理装置およびその方法と画像処理装置とに関し、特に、2の対数演算を含む演算の高速化および装置の小規模化を図れる演算処理装置およびその方法と画像処理装置とに関する。
【0002】
【従来の技術】
種々のCAD(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、3次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような3次元コンピュータグラフィックスでは、各画素(ピクセル)に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ(フレームバッファ)のアドレスに書き込むレンダリング(Rendering) 処理を行う。
レンダリング処理の手法の一つに、ポリゴン(Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形(ポリゴン)の組み合わせとして表現しておき、このポリゴンを単位として描画を行なうことで、表示画面の色を決定する。
【0003】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標(x,y,z)と、色データ(R,G,B)と、張り合わせのイメージパターンを示すテクスチャデータの同次座標(s,t)および同次項qの値とを三角形の内部で補間する処理が行われる。
ここで、同次項qは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのUV座標系における座標、すなわち、テクスチャ座標データ(U,V)は、同次座標(s,t)を同次項qで除算した(s/q,t/q)=(u,v)に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じた乗算結果に応じたものとなる。
【0004】
このようなポリゴンレンダリングを用いた3次元コンピュータグラフィックシステムでは、描画を行う際に、それぞれ異なる縮小率に対応する複数のテクスチャデータを記憶したテクスチャバッファから、最適な縮小率のテクスチャデータを読み出し、この読み出したテクスチャデータを、立体モデルの表面に画素単位で張り付け、リアリティの高い画像データを得るテクスチャマッピング処理を行う。
このとき、読み出しを行うテクスチャデータの縮小率は、例えば、画素単位で決定される。
【0005】
【発明が解決しようとする課題】
上述したような3次元コンピュータグラフィックシステムでは、テクスチャバッファから読み出しを行うテクスチャデータの縮小率を各画素についてどのように決定するかが、表示画像の高画質化および小規模化を図る上で重要である。
【0006】
本発明は上述した従来技術の問題点に鑑みてなされ、上述した3次元コンピュータグラフィックシステムのような画像処理装置並びにその他の装置において使用可能であり、2の対数演算を含む演算を小規模な回路構成で実現できる演算処理回路を提供することを目的とする。
また、本発明は、小規模な装置構成で、高画質な画像表示を行うことができる画像処理装置を提供することを目的とする。
また、本発明は、演算を高速に行うことができる演算処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、本発明の第1の観点の演算処理回路は、整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeを用いて、下記式(6)に示す演算を行う演算処理装置であって、前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、前記データqeと前記qmとをビット結合したデータと、前記データmaxeと前記データμとをビット結合したデータとを加算する加算回路とを有する。
【0008】
【数6】
M=log 2 q+maxe
【0009】
本発明の第1の観点の演算処理回路では、正規化回路において、データqが正規化されて指数qeおよび仮数qmが生成される。
次に、仮数qmがデータ出力手段に出力され、データ出力手段において、仮数qmに対応した「log2 ({1,qm})−qm」を示すデータμが得られ、データμが出力される。
次に、加算回路において、データqeとqmとをビット結合したデータと、データmaxeと前記データμとをビット結合したデータとが加算されてデータMが算出される。
本発明の第1の観点の演算処理回路では、log2 ({1,qm})とデータqmとが近似するためにデータμが小数部のみからなることを利用して、整数部のみからなるデータmaxeとデータμとをビット結合して、データmaxeの加算を実現する。そのため、加算回路を用いた加算処理を削減することができ、小規模化および高速化を図れる。
【0010】
本発明の第1の観点の演算処理回路は、好ましくは、前記データ出力手段は、前記仮数qmと前記μデータとの対応表を有し、入力した前記仮数qmに対応する前記データμを前記対応表を用いて得て、当該得たデータμを出力する。
【0011】
また、本発明の第1の観点の演算処理回路は、好ましくは、前記データ出力手段は、前記仮数qmを入力して前記μデータを生成するプログラムを有し、当該プログラムに基づいて処理を行って、入力した前記仮数qmに対応する前記データμを得て、当該得たデータμを出力する。
【0012】
また、本発明の第2の観点の演算処理回路は、整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeと、データL,Kとを用いて、下記式(7)に示す演算を行ってデータLODを算出する演算処理装置であって、前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、前記データqeと前記qmとをビット結合したデータを、前記データLが示す値だけMSB(Most Significant Bit)に向けてシフトする第1のシフト回路と、前記第1のシフト回路の出力を反転する第1の反転回路と、前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、前記データmaxeと前記データμとをビット結合したデータを、前記データLが示す値だけMSBに向けてシフトする第2のシフト回路と、前記第2のシフト回路の出力を反転する第2の反転回路と、前記データKと2進数の「10」とをビット結合したデータと、前記第1のシフト回路の出力と、前記第2のシフト回路の出力とを加算する加算回路と、前記加算回路の出力を所定ビット内にクランプ処理して前記データLODを生成するクランプ回路とを有する。
【0013】
【数7】
LOD=Clamp(((log2 1/q)+maxe)<<L+K)…(7)
【0014】
また、本発明の第2の観点の演算処理回路では、正規化回路において、データqが正規化され、指数qeおよび仮数qmが生成される。
そして、データqeとqmとをビット結合したデータが、第1のシフト回路に出力され、第1のシフト回路において、当該データが、データLが示す値だけMSBに向けてシフトされて出力される。
次に、第1のシフト回路の出力が、第1の反転回路において反転されて出力される。
また、仮数qmがデータ出力手段に入力され、仮数qmに対応した「log2 ({1,qm})−qm」を示すデータμがデータ出力手段から出力される。
そして、データmaxeとデータμとをビット結合したデータが、第2のシフト回路において、前記データLが示す値だけMSBに向けてシフトされて出力される。
次に、第2のシフト回路の出力が、第2のシフト回路において反転されて出力される。
そして、データKと2進数の「10」とをビット結合したデータと、第1のシフト回路の出力と、第2のシフト回路の出力とが、加算回路において加算される。
次に、クランプ回路において、加算回路の出力が、所定ビット内にクランプ処理されてデータLODが生成される。
【0015】
本発明の第2の観点の演算処理回路では、log2 ({1,qm})とデータqmとが近似するためにデータμが小数部のみからなることを利用して、整数部のみからなるデータmaxeとデータμとをビット結合して、データmaxeの加算を実現する。そのため、加算回路を用いた加算処理を削減することができ、小規模化および高速化を図れる。
【0016】
また、本発明の第1の観点の画像処理装置は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標(s,t)および同次項qから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付ける画像処理装置であって、相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定回路と、前記処理対象となっている前記単位図形の頂点の同次座標(s,t)および同次項qの最大指数を示す整数部のみからなるmaxeデータと、前記決定された代表点に対応する整数部および小数部を持つ前記同次項qと、データL,Kを用いて、下記式(8)から縮小率LODを算出する縮小率算出回路と、前記算出された縮小率LODを用いて、前記記憶手段からテクスチャデータを読み出す読み出し回路とを有し、前記縮小率算出回路は、前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、前記データqeと前記qmとをビット結合したデータを、前記データLが示す値だけMSBに向けてシフトする第1のシフト回路と、前記第1のシフト回路の出力を反転する第1の反転回路と、前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、前記データmaxeと前記データμとをビット結合したデータを、前記データLが示す値だけMSBに向けてシフトする第2のシフト回路と、前記第2のシフト回路の出力を反転する第2の反転回路と、前記データKと2進数の「10」とをビット結合したデータと、前記第1のシフト回路の出力と、前記第2のシフト回路の出力とを加算する加算回路と、前記加算回路の出力を所定ビット内にクランプ処理して前記データLODを生成するクランプ回路とを有する。
【数8】
LOD=Clamp(((log 2 1/q)+maxe)<<L+K)
…(8)
【0017】
本発明の第1の観点の画像処理装置では、代表点決定回路において、同時に処理が実行される複数の画素のうち、処理対象となっている単位図形の内側に位置する画素のなかから、代表点となる画素が決定される。
次に、縮小率算出回路において、処理対象となっている前記単位図形の頂点の同次座標(s,t)および同次項qの最大指数を示す整数部のみからなるmaxeデータと、前記決定された代表点に対応する整数部および小数部を持つ前記同次項qと、データL,Kを用いて、下記式(8)から縮小率LODが算出される。
当該縮小率算出回路における縮小率算出処理の作用は、第2の演算処理回路の作用と同じである。
次に、読み出し回路において、前記算出された縮小率LODを用いて、記憶手段からテクスチャデータが読み出される。
【0018】
また、本発明の第2の観点の画像処理装置は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標(s,t)および同次項qから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付ける画像処理装置であって、相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定回路と、前記処理対象となっている前記単位図形の頂点の同次座標(s,t)および同次項qの最大指数を示す整数部のみからなるmaxeデータと、前記決定された代表点に対応する整数部および小数部を持つ前記同次項qを用いて、下記式(9)から縮小率LODを算出する縮小率算出回路と、前記算出された縮小率LODを用いて、前記記憶手段からテクスチャデータを読み出す読み出し回路とを有し、前記縮小率算出回路は、前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})」を示すデータbを出力するデータ出力手段と、前記データqeと前記データbとをビット結合したデータを反転して出力する第1の反転回路と、前記データmaxeを反転して出力する第2の反転回路と、2進数のデータ「10」と、前記第1の反転回路の出力と、前記第2の反転回路の出力とを加算する第1の加算回路と、前記第1の加算回路の出力を、前記データLが示す値だけMSBに向けてシフトするシフト回路と、前記シフト回路の出力と、前記データKとを加算する第2の加算回路と、前記第2の加算回路の出力を所定ビット内にクランプ処理して前記データLODを生成するクランプ回路とを有する。
【0019】
本発明の第2の観点の画像処理装置では、縮小率算出回路において、以下に示すようにして縮小率LODが算出される。
すなわち、正規化回路において、データqが正規化されて指数qeおよび仮数qmが生成される。
そして、データ出力手段が仮数qmを入力して「log2 ({1,qm})」を示すデータbを出力する。
次に、第1の反転回路において、データqeとデータbとをビット結合したデータが反転されて出力される。
また、第2の反転回路において、データmaxeが反転されて出力される。
次に、第1の加算回路において、2進数のデータ「10」と、第1の反転回路の出力と、第2の反転回路の出力とが加算される。
そして、シフト回路において、第1の加算回路の出力が、データLが示す値だけMSBに向けてシフトされて出力される。
次に、第2の加算回路において、第1のシフト回路の出力と、データKとが加算される。
次に、クランプ回路において、第2の加算回路の出力が、所定ビット内にクランプ処理されて縮小率LODが生成される。
【数9】
LOD=Clamp(((log2 1/q)+maxe)<<L+K)…(9)
【0020】
また、本発明の演算処理方法は、正規化手段、データ出力手段、加算手段とを有する演算処理装置を用いて、整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeを用いて、下記式(5)に示す演算を行う演算処理方法において、
前記正規化手段が、前記データqを正規化して指数qeおよび仮数qmを生成し、
前記データ出力手段が、前記仮数qmと、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき「log 2 ({1,qm})−qm」を示すデータμの対応表、あるいは前記仮数qmを入力して前記μデータを生成するプログラムを用いて、前記仮数qmに対応する前記データμを得て、
前記加算手段が、前記データqeと前記qmとをビット結合したデータと、前記データmaxeと前記データμとをビット結合したデータとを加算してデータMを算出する。
【0021】
【数10】
M=log2 q+maxe …(10)
【0022】
【発明の実施の形態】
以下、本実施形態においては、家庭用ゲーム機などに適用される、任意の3次元物体モデルに対する所望の3次元画像をCRT(Cathode Ray Tube)などのディスプレイ上に高速に表示する3次元コンピュータグラフィックシステムに、本発明の除算回路を適用した場合について説明する。
図1は、本実施形態の3次元コンピュータグラフィックシステム1のシステム構成図である。
3次元コンピュータグラフィックシステム1は、立体モデルを単位図形である三角形(ポリゴン)の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、3次元コンピュータグラフィックシステム1では、平面上の位置を表現する(x,y)座標の他に、奥行きを表すz座標を用いて3次元物体を表し、この(x,y,z)の3つの座標で3次元空間の任意の一点を特定する。
【0023】
図1に示すように、3次元コンピュータグラフィックシステム1は、メインメモリ2、I/Oインタフェース回路3、メインプロセッサ4およびレンダリング回路5が、メインバス6を介して接続されている。
以下、各構成要素の機能について説明する。
メインプロセッサ4は、例えば、ゲームの進行状況などに応じて、メインメモリ2から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理およびジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ4は、ポリゴンレンダリングデータS4を、メインバス6を介してレンダリング回路5に出力する。
I/Oインタフェース回路3は、必要に応じて、外部からポリゴンレンダリングデータを入力し、これをメインバス6を介してレンダリング回路5に出力する。
【0024】
ここで、ポリゴンレンダリングデータは、ポリゴンの各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)が得られる。テクスチャバッファ20に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ(u,v)を用いて行われる。
Fデータは、フォギング処理において用いられる混合係数を示している。
【0025】
以下、レンダリング回路5について詳細に説明する。
図1に示すように、レンダリング回路5は、DDA(Digital Differential Anarizer) セットアップ回路10、トライアングルDDA回路11、テクスチャエンジン回路12、メモリI/F回路13、CRTコントローラ回路14、RAMDAC回路15、DRAM16およびSRAM17を有する。
ここで、テクスチャエンジン回路12が、本発明の請求項10の画像処理装置に対応している。
DRAM16は、テクスチャバッファ20、ディスプレイバッファ21、zバッファ22およびテクスチャCLUTバッファ23として機能する。
【0026】
DDAセットアップ回路10
DDAセットアップ回路10は、後段のトライアングルDDA回路11において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータS4が示す(z,R,G,B,α,s,t,q,F)データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
【0027】
すなわち、DDAセットアップ回路10は、各画素について、(s,t,q)データのx方向の変分であるdsdx,dtdx,dqdxと、y方向の変分であるdsdy,dtdy,dqdyとを生成する。
DDAセットアップ回路10は、算出した変分データS10をトライアングルDDA回路11に出力する。
【0028】
トライアングルDDA回路11
トライアングルDDA回路11は、DDAセットアップ回路10から入力した変分データS10を用いて、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q,F)データを算出する。
また、トライアングルDDA回路11は、並行して処理を行う8画素について、処理対象となる三角形の内部に位置するか否かを示すそれぞれ1ビットの有効ビットデータI1 〜I8 を生成する。
有効ビットデータI1 〜I8 は、例えば、三角形の内部に位置する画素について「1」とし、三角形の外部に位置する画素について「0」とする。
具体的には、図2に示すように、x,y座標系に位置する三角形250について有効ビットデータI1 〜I8 が決定される。
なお、図2において、実線は、同時に処理が行なわれる8(=2×4)画素が属する矩形領域を示している。
トライアングルDDA回路11は、各画素の(x,y)データと、当該(x,y)座標における(z,R,G,B,α,s,t,q,F)データと、有効ビットデータI1 〜I8 と、処理対象となる三角形の頂点のs,t,qデータの最大指数を示すmaxeデータとを、DDAデータS11としてテクスチャエンジン回路12に出力する。
本実施形態では、トライアングルDDA回路11は、並行して処理を行う矩形内に位置する8(=2×4)画素分を単位として、DDAデータS11をテクスチャエンジン回路12に出力する。
【0029】
テクスチャエンジン回路12
テクスチャエンジン回路12は、テクスチャデータの縮小率の選択処理、「s/q」および「t/q」の算出処理、テクスチャ座標データ(u,v)の算出処理、テクスチャアドレス(U,V)の算出処理、テクスチャバッファ20からの(R,G,B,tα)データの読み出し処理、MIPMAP処理、および、混合処理(テクスチャαブレンディング処理)を順に、例えばパイプライン方式で行う。
このとき、例えば、テクスチャデータの縮小率の選択処理と、「s/q」および「t/q」の算出処理とを並列に処理する場合もある。
なお、テクスチャエンジン回路12は、所定の矩形領域内に位置する8画素についての処理を同時に並行して行う。
また、テクスチャエンジン回路12は、処理対象の三角形内に位置する画素については同じパターンのテクスチャデータを用いる。但し、選択するテクスチャデータの縮小率は、同時に処理を行う矩形領域内に位置する8画素を単位として決定する。
【0030】
図3は、テクスチャエンジン回路12の構成図である。
図3に示すように、テクスチャエンジン回路12は、代表点決定回路301、qデータ選択回路302、縮小率演算回路304、テクスチャデータ読み出し回路305、テクスチャブレンド回路306およびMIPMAP処理回路307を有する。
ここで、前述したように、テクスチャエンジン回路12が請求項10に係わる画像処理装置に対応しており、テクスチャバッファ20が記憶手段に対応し、代表点決定回路301が代表点決定回路に対応し、縮小率演算回路304が縮小率算出回路に対応し、テクスチャデータ読み出し回路305が読み出し回路に対応している。
【0031】
〔代表点決定回路301〕
代表点決定回路301は、トライアングルDDA回路11から入力した、DDAデータS11に含まれる有効ビットデータI1 〜I8 から、代表点となる画素を決定し、当該決定した代表点を示す代表点指示データS301をqデータ選択回路302に出力する。
具体的には、代表点決定回路301は、同時に処理される2行×4列の8画素のうち、処理対象となっている三角形の内部に位置するもののなかで、当該8画素が配置される矩形領域の中心に最も近い画素あるいは優先順位が最も高い画素を代表点として決定する。
【0032】
〔qデータ選択回路302〕
qデータ選択回路302は、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 を入力し、これらのうち、代表点指示データS301によって示される画素に対応するqデータを選択し、これをqデータS302として縮小率演算回路304に出力する。
【0033】
縮小率演算回路304は、トライアングルDDA回路11からのmaxeデータS11cと、q選択回路302からのqデータS302とに基づいて、テクスチャデータの縮小率LODを算出する。
ここで、maxeデータS11cは、例えば図2に示すような処理対象の三角形の頂点のs,t,qデータの指数のうち、最大の指数を示している。
このように、縮小率演算回路304では、代表点決定回路301において代表点として決定された画素のqデータと、maxeデータS11cとを用いて縮小率を算出し、これを縮小率LODとしてテクスチャデータ読み出し回路305に出力する。
【0034】
ここで、縮小率LODは、元画像のテクスチャデータを、どの程度縮小したものであるかを示すものであり、元画像の縮小率を1/1とした場合には、1/2,1/4,1/8,...となる。
縮小率演算回路304における縮小率LODの演算処理は、下記式(11)で示される。
【0035】
【数11】
LOD=Clamp(((log2 1/q)−maxe)<<L+K)…(11)
【0036】
上記式(11)において、
LOD:縮小率を示し、整数部3ビット、小数点部4ビット、符号無し(unsigned)のデータ、
maxe:図2に示す三角形の頂点のs,t,qの最大指数を示し、整数部8ビット、符号無し(unsigned)のデータ、
q:整数部10ビット、小数部5ビット、符号有り(signed)のデータ、
L:2ビット、符号無しのデータ、Lの最大値は10進数の「3」
K:整数部8ビット、小数部4ビット、符号有りのデータ
【0037】
図4は、縮小率演算回路304の構成図である。
図4に示すように、縮小率演算回路304は、プライオリティエンコーダ(Priority Encoder)101、シフト回路102、テーブル103、インバータ104,105、加算回路106、シフト回路107、加算回路108およびクランプ(Clamp) 回路109を有する。
ここで、データLおよびデータKは、縮小率演算回路304が内蔵するレジスタに記憶されている。
請求項10の構成要素との対応は、プライオリティエンコーダ101およびシフト回路102が正規化回路に対応し、テーブル103がデータ出力手段に対応し、インバータ104が第1の反転回路に対応し、インバータ105が第2の反転回路に対応し、加算回路106が第1の加算回路に対応し、シフト回路107がシフト回路に対応し、加算回路108が第2の加算回路に対応し、クランプ回路109がクランプ回路に対応している。
【0038】
プライオリティエンコーダ101は、q選択回路302から入力したデータqの2の対数値「log2 q」を求め、当該2の対数値「log2 q」の整数値「int(log2 q)」、すなわち指数qeをデータaとしてシフト回路102およびインバータ104に出力する。
【0039】
シフト回路102は、q選択回路302から入力したデータqを、プライオリティエンコーダ101から入力した指数qeだけ、LSBに向けてシフト演算した結果の小数部を、データqmとしてテーブル103に出力する。
【0040】
テーブル103は、入力データと、当該入力データに1を加算した値の2の対数値との対応表を備え、シフト回路102から入力したデータqmをキーとして、当該データqmに対応する2の対数値「log2 ({1,qm})」を対応表から得て、これをデータbとして出力する。
なお、テーブル103の代わりに、データqmを入力したときに、「log2 ({1,qm})」を自動的に生成するプログラムを用いてもよい。
【0041】
データaとデータbとは、データaを整数部、データbを小数部としてビット結合され、当該ビット結合後のデータ{a,b}がインバータ104に出力される。
ここで、以下に示す式(12)から、データ{a,b}が、前記式(11)における「log2 (1/q)」の符号を反転した値を示していることが分かる。
【0042】
【数12】
【0043】
インバータ104は、データ{a,b}を反転し、その結果であるデータ ̄{a,b}を加算回路106に出力する。
【0044】
インバータ105は、トライアングルDDA回路11から入力したデータmaxeを反転し、その結果であるデータ ̄maxeを加算回路106に出力する。
【0045】
加算回路106は、2=(0.0000010)と、データ ̄maxeと、データ ̄{a,b}とを加算し、その結果であるデータγをシフト回路107に出力する。
ここで、演算式「 ̄{a,b}+ ̄maxe+2」は、下記式(13)のように変形できる。すなわち、データγは、前記式(1)における最も内側の括弧内の演算結果を示している。
【0046】
【数13】
【0047】
シフト回路107は、加算回路106から入力したデータγを、データLが示す値のビット数だけ、MSBに向けてシフトし、その結果をデータδとしてシフト回路107に出力する。
すなわち、下記式(14)が成り立つ。
【0048】
【数14】
δ=γ<<L …(14)
【0049】
加算回路108は、シフト回路107からのデータδと、データKとを加算し、その結果をデータεとしてクランプ回路109に出力する。
すなわち、下記式(15)が成り立つ。
【0050】
【数15】
ε=δ+K …(15)
【0051】
クランプ回路109は、加算回路108から入力したデータεを、整数部3ビット、小数部4ビットのデータにクランプし(丸め込み)、その結果を縮小率LODとして図3に示すテクスチャデータ読み出し回路305に出力する。
【0052】
なお、テクスチャバッファ20には、例えば、図5に示すように、縮小率LOD=0,1,2,3,4のテクスチャデータ320,321,322,323が記憶されている。
テクスチャバッファ20の記憶領域のアドレス空間は、図5に示すように、U,V座標系で表現され、複数の縮小率に対応したテクスチャデータが記憶されている記憶領域の基準アドレス(開始アドレス)は、図4に示す縮小率演算回路304で得られた縮小率LODに基づいて算出される。図5に示す例では、テクスチャデータ320,321,322,323の基準アドレスは、(ubase0 ,vbase0 ),(ubase1 ,vbase1 ),(ubase2 ,vbase2 ),(ubase3 ,vbase3 )となる。
また、テクスチャバッファ20に記憶されているテクスチャデータにおける各画素についてのテクスチャアドレス(U,V)は、基準アドレス(ubase,vbase)と、テクスチャ座標データ(u,v)とを用いて、例えば「U=ubase+u/2LOD 」および「V=vbase+v/2LOD 」から生成される。
【0053】
図6は、図4に示す縮小率演算回路304における処理を説明するための図である。
以下、図6を参照しながら、図4に示す縮小率演算回路304の動作を具体例を用いて説明する。
ここでは、以下に示す値を用いて前記式(11)の演算処理を縮小率演算回路304において行う場合を例示する。
【0054】
q=(0001001110.10100):
ここで、q(0001001110.10100)において、(0001001110)は整数部であり、(10100)は小数部である。
maxe=(00000001.0000000):
ここで、maxe(00000001.0000000)において、(00000001)は整数部、(0000000)は小数部である。
L=(01):
K=(00010011.0000):
ここで、(00010011)は整数部、(0000)は小数部である。
【0055】
この場合に、図4に示す縮小率演算回路304では、先ず、q選択回路302が出力したqデータS302であるq(0001001110.10100)が、図4に示すプライオリティエンコーダ101およびシフト回路102に入力される。
次に、プライオリティエンコーダ101において、q(0001001110.10100)の指数qe(000110)が求められ、当該指数qe(000110)のMSB側に(00)を付加した8ビットのデータであるa(00000110)が出力される。
次に、シフト回路102において、q(0001001110.10100)が、a(00000110)だけ、LSB側に向けてシフトされ、シフト後の小数部が、仮数qm(0011101)としてテーブル103に出力される。
次に、テーブル103において、仮数qm(0011101)に対応する8ビットのデータ(「log2 ({1,qm})」)であるb(01000101)が得られ、b(01000101)が得られて出力される。
【0056】
次に、プライオリティエンコーダ101から出力されたa(00000110)と、b(01000101)とがビット連結{a,b}され、その結果である{a,b}(00000110.01000101)が、インバータ104に出力される。
【0057】
次に、インバータ104において、{a,b}(00000110.01000101)の反転値が求められ、その結果である ̄{a,b}(11111001.10111010)が加算回路106に出力される。
【0058】
また、インバータ105において、図1に示すトライアングルDDA回路11から入力したmaxeデータS11cであるmaxe(00000001.0000000)の反転値が求められ、その結果である ̄maxe(11111110.1111111)が加算回路106に出力される。
【0059】
次に、加算回路106において、10進数の「2」を2進数で示す(0.0000010)と、 ̄{a,b}(11111001.10111010)と、 ̄maxe(11111110.1111111)とが加算され、その加算結果であるデータγ(11111000.1011011)がシフト回路107に出力される。
【0060】
次に、シフト回路107において、データγ(11111000.1011011)が、データL(01)が示す値だけ、MSBに向けてシフトされ、その結果であるδ(11110001.0110110)が、加算回路108に出力される。
【0061】
次に、加算回路108において、データδ(11110001.0110110)と、データK(00010011.0000)とが加算され、その結果であるε(00000100.0110110)がクランプ回路109に出力される。
【0062】
次に、クランプ回路109において、ε(00000100.0110110)が、整数部3ビット、小数部4ビットのデータにクランプされ、その結果であるLOD(100.0110)が、図3に示すテクスチャデータ読み出し回路305に出力される。
【0063】
〔テクスチャデータ読み出し回路305〕
テクスチャデータ読み出し回路305は、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 と、縮小率演算回路304からの縮小率LODと、テクスチャサイズUSIZEおよびVSIZEとを用いて、前述した処理対象となっている三角形内に位置し、かつ同時に処理される矩形領域内の8画素に対応したテクスチャデータS305をテクスチャバッファ20から読み出してMIPMAP処理回路307に出力する。
このとき、テクスチャデータ読み出し回路305は、縮小率LODが整数の場合には、図5に示すテクスチャデータ320〜324のうち、当該縮小率LODに対応する1個のテクスチャデータを読み出してMIPMAP処理回路307に出力する。
また、テクスチャデータ読み出し回路305は、縮小率LODが小数値を持つ場合には、図5に示すテクスチャデータ320〜324のうち、当該縮小率LODの前後の整数の縮小率に対応する2個のテクスチャデータを読み出してMIPMAP処理回路307に出力する。
【0064】
図7は、テクスチャデータ読み出し回路305において、縮小率LODに対応する1個のテクスチャデータを読み出す処理のフローチャートである。
ステップS21:テクスチャデータ読み出し回路305は、8画素分の(s,t,q)データS11a1 〜S11a8 のそれぞれについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とを行い、除算結果「s/q」および「t/q」を算出する。
そして、除算結果「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じて、各画素に対応したテクスチャ座標データ(u1 ,v1 )〜(u8 ,v8 )を算出する。
【0065】
ステップS22:テクスチャデータ読み出し回路305は、例えば、予め用意したアドレステーブルを参照して、縮小率演算回路304において生成した縮小率LODに対応する基準アドレス(ubase,vbase)を得る。
そして、テクスチャデータ読み出し回路305は、基準アドレス(ubase,vbase)と、ステップS21で算出したテクスチャ座標データ(u1 ,v1 )〜(u8 ,v8 )とを用いて、例えば「U=ubase+u/2LOD 」および「V=vbase+v/2LOD 」から、テクスチャバッファ20のUV座標系における物理アドレスであるテクスチャアドレス(U1 ,V1 )〜(U8 ,V8 )を生成する。
【0066】
ステップS23:テクスチャデータ読み出し回路305は、ステップS22で生成したテクスチャアドレス(U1 ,V1 )〜(U8 ,V8 )を、図1に示すメモリI/F回路13を介して、テクスチャバッファ20に出力し、テクスチャデータである(R,G,B,tα)データS3051 〜S3058 を読み出す。
なお、SRAM17には、テクスチャバッファ20に記憶されているテクスチャデータのコピーが記憶されており、テクスチャエンジン回路12は、実際には、メモリI/F回路13を介してSRAM17に記憶されているテクスチャデータを読み出す。
【0067】
ステップS24:テクスチャデータ読み出し回路305は、ステップS23で読み出した(R,G,B,tα)データS3051 〜S3058 をMIPMAP処理回路307に出力する。
【0068】
〔MIPMAP処理回路307〕
MIPMAP処理回路307は、縮小率LODが小数値を持つ場合に、その前後の整数値の縮小率に対応する2個のテクスチャデータの(R,G,B,tα)データS3051 〜S3058 と、縮小率LODとをテクスチャデータ読み出し回路305から入力する。そして、MIPMAP処理回路307は、当該入力した2個のテクスチャデータの(R,G,B,tα)データS3051 〜S3058 を縮小率LODの小数部を用いて線形レベル補間処理して縮小率LODに対応する(R,G,B,tα)データS3071 〜S3078 を生成し、これをテクスチャブレンド回路306に出力する。
MIPMAP処理回路307は、縮小率LODが整数の場合には、テクスチャデータ読み出し回路305から入力した(R,G,B,tα)データS3051 〜S3058 を、そのまま(R,G,B,tα)データS3071 〜S3078 としてテクスチャブレンド回路306に出力する。
【0069】
〔テクスチャブレンド回路306〕
テクスチャブレンド回路306は、DDAデータS11に含まれる8画素分の(R,G,B,α)データS11b1 〜S11b8 と、MIPMAP処理回路307から入力した(R,G,B,tα)データS3071 〜S3078 とを、対応する要素同士で乗算し、(R,G,B,α)データS3061 〜S3068 を生成する。
そして、(R,G,B,α)データS3061 〜S3068 が、(R,G,B,α)データS121 〜S128 として、メモリI/F回路13に出力される。
【0070】
なお、テクスチャエンジン回路12は、フルカラー方式の場合には、テクスチャバッファ20から読み出した(R,G,B,tα)データを直接用いる。一方、テクスチャエンジン回路12は、インデックスカラー方式の場合には、予め作成したカラールックアップテーブル(CLUT)をテクスチャCLUTバッファ23から読み出して、内蔵するSRAMに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ20から読み出したカラーインデックスに対応する(R,G,B)データを得る。
【0071】
メモリI/F回路13
また、メモリI/F回路13は、テクスチャエンジン回路12から入力した(R,G,B,α)データS121 〜S128 、すなわち画素データ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に書き込む(打ち込む)。
【0072】
なお、メモリI/F回路13によるDRAM16に対してのアクセスは、16画素について同時に行なわれる。なお、メモリI/F回路13によるDRAM16に対してのアクセスは、例えば、8画素あるいは32画素について同時に行うようにしてもよい。
【0073】
CRTコントローラ回路14
CRTコントローラ回路14は、与えられた水平および垂直同期信号に同期して、図示しないCRTに表示するアドレスを発生し、ディスプレイバッファ21から表示データを読み出す要求をメモリI/F回路13に出力する。この要求に応じて、メモリI/F回路13は、ディスプレイバッファ21から一定の固まりで表示データを読み出す。CRTコントローラ回路14は、ディスプレイバッファ21から読み出した表示データを記憶するFIFO(First In First Out)回路を内蔵し、一定の時間間隔で、RAMDAC回路15に、RGBのインデックス値を出力する。
【0074】
RAMDAC回路15
RAMDAC回路15は、各インデックス値に対応するR,G,Bデータを記憶しており、CRTコントローラ回路14から入力したRGBのインデックス値に対応するデジタル形式のR,G,Bデータを、D/Aコンバータに転送し、アナログ形式のR,G,Bデータを生成する。RAMDAC回路15は、この生成されたR,G,BデータをCRTに出力する。
【0075】
以下、3次元コンピュータグラフィックシステム1の動作について説明する。ポリゴンレンダリングデータS4が、メインバス6を介してメインプロセッサ4からDDAセットアップ回路10に出力され、DDAセットアップ回路10において、三角形の辺と水平方向の差分を示す変分データS10が生成される。
すなわち、(s,t,q)のx方向の変分であるdsdx,dtdx,dqdxと、y方向の変分であるdsdy,dtdy,dqdyが生成される。
そして、DDAセットアップ回路10からトライアングルDDA回路11に、変分データS10が出力される。
【0076】
次に、トライアングルDDA回路11において、変分データS10に基づいて、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q,F)が生成される。
また、トライアングルDDA回路11において、並行して処理を行う8画素について、処理対象となる三角形の内部に位置するか否かを示すそれぞれ1ビットの有効ビットデータが生成される。
そして、トライアングルDDA回路11からテクスチャエンジン回路12に、各画素の(x,y)データと、当該(x,y)座標における(z,R,G,B,α,s,t,q,F)データと、有効ビットデータI1 〜I8 と、処理対象となる三角形の頂点のs,t,qデータの最大指数を示すmaxeデータとが、DDAデータS11として出力される。
【0077】
次に、図3に示すテクスチャエンジン回路12の代表点決定回路301において代表点が決定され、当該決定された代表点を示す代表点指示データS301がqデータ選択回路302に出力される。
そして、qデータ選択回路302において、入力されたDDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 のうち、代表点指示データS301によって示される画素に対応するqデータが選択され、これがqデータS302として縮小率演算回路304に出力される。
【0078】
次に、図4に示す縮小率演算回路304において、qデータS302およびmaxeデータS11cを用いて、図6に示す手順でテクスチャデータの縮小率LODが算出され、当該縮小率LODがテクスチャデータ読み出し回路305に出力される。
【0079】
次に、テクスチャデータ読み出し回路305において、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 と、縮小率演算回路304からの縮小率LODと、テクスチャサイズUSIZEおよびVSIZEとを用いて、前述した処理対象となっている三角形内に位置し、かつ同時に処理される矩形領域内の8画素に対応したテクスチャデータS305がテクスチャバッファ20から読み出されてMIPMAP処理回路307に出力される。
このとき、縮小率LODが整数の場合には、図5に示すテクスチャデータ320〜324のうち、当該縮小率LODに対応する1個のテクスチャデータがテクスチャデータ読み出し回路305によって読み出されてMIPMAP処理回路307に出力される。
また、縮小率LODが小数値を持つ場合には、図5に示すテクスチャデータ320〜324のうち、当該縮小率LODの前後の整数の縮小率に対応する2個のテクスチャデータがテクスチャデータ読み出し回路305によって読み出されてMIPMAP処理回路307に出力される。
【0080】
次に、MIPMAP処理回路307において、縮小率LODが小数値を持つ場合に、その前後の整数値の縮小率に対応するテクスチャデータ読み出し回路305から入力した2個のテクスチャデータの(R,G,B,tα)データS3051 〜S3058 を用いて線形レベル補間処理が行われ、縮小率LODに対応する(R,G,B,tα)データS3071 〜S3078 が生成され、これがテクスチャブレンド回路306に出力される。
また、MIPMAP処理回路307において、縮小率LODが整数の場合には、テクスチャデータ読み出し回路305から入力した(R,G,B,tα)データS3051 〜S3058 が、そのまま(R,G,B,tα)データS3071 〜S3078 としてテクスチャブレンド回路306に出力される。
【0081】
次に、テクスチャブレンド回路306において、DDAデータS11に含まれる8画素分の(R,G,B,α)データS11b1 〜S11b8 と、MIPMAP処理回路307から入力した(R,G,B,tα)データS3071 〜S3078 とが、対応する要素同士で乗算され、(R,G,B,α)データS3061 〜S3068 が生成される。
そして、DDAデータに含まれるαデータS11d1 〜S11d8 と、(R,G,B,α)データS3061 〜S3068 とが、(R,G,B,α)データS121 〜S128 、すなわち、画素データS12として、メモリI/F回路13に出力される。
【0082】
そして、メモリI/F回路13において、テクスチャエンジン回路12から入力した画素データS12に対応するzデータと、zバッファ22に記憶されているzデータとの比較が行なわれ、入力した画素データS12によって描画される画像が、前回、ディスプレイバッファ21に書き込まれた画像より、手前(視点側)に位置するか否かが判断され、手前に位置する場合には、画像データS12に対応するzデータでzバッファ22に記憶されたzデータが更新される。
【0083】
次に、メモリI/F回路13において、必要に応じて、画像データS12に含まれる(R,G,B)データと、既にディスプレイバッファ21に記憶されている(R,G,B)データとが、画素データS12に対応するαデータが示す混合値で混合され、混合後の(R,G,B)データがディスプレイバッファ21に書き込まれる。
【0084】
以上説明したように、3次元コンピュータグラフィックシステム1によれば、図1に示すテクスチャエンジン回路12においてテクスチャバッファ20からテクスチャデータを読み出す際に、図3および図4に示す縮小率演算回路304において、同時の処理される8画素のうち1画素のqデータなどを用いて縮小率LODが算出される。そして、テクスチャデータ読み出し回路305において、同時に処理れる8画素については、同じ縮小率LODを用いてテクスチャデータが読み出される。
【0085】
第2実施形態
本実施形態では、例えば、図3に示すMIPMAP処理回路307が行う線形レベル補間処理において、2-4以上の精度(小数部の少なくとも上位4ビットが正しいこと)が要求される場合について例示する。
この場合には、縮小率LODの誤差の要因となる前記式(11)に示す「log2 (1/q)」の誤差を2-7にして、データLが最大値「3」である場合でも、縮小率LODの誤差を2-4程度にする必要がある。
本実施形態では、図3および図4に示す縮小率演算回路304に比べて、上述したように縮小率LODの高精度化を図ることができ、しかも少ないゲート数(小規模な回路)で高速に演算を行うことができる縮小率演算回路を用いた3次元コンピュータグラフィックシステムについて説明する。
【0086】
本実施形態の3次元コンピュータグラフィックシステムは、図1に示すテクスチャエンジン回路12の構成を除いて、第1実施形態の3次元コンピュータグラフィックシステム1と同じである。
図8は、本実施形態の3次元コンピュータグラフィックシステムのテクスチャエンジン回路12の構成図である。
図8において、図3と同じ符号を付した構成要素は、前述した第1実施形態で説明した同一符号の構成要素と同じである。
すなわち、本実施形態のテクスチャエンジン回路12において、図8に示す縮小率演算回路504の構成が、前述した第1の実施形態の縮小率演算回路304とは異なる。
本実施形態のテクスチャエンジン回路12が請求項7に係わる画像処理装置に対応している。
ここで、請求項7の構成要素と図8との対応は、テクスチャバッファ20が記憶手段に対応し、代表点決定回路301が代表点決定回路に対応し、縮小率演算回路504が縮小率算出回路に対応し、テクスチャデータ読み出し回路305が読み出し回路に対応している。
また、縮小率演算回路504は、請求項4の演算処理回路にも対応している。
【0087】
以下、縮小率演算回路504について詳細に説明する。
図9は、縮小率演算回路504の構成図である。
図9に示すように、縮小率演算回路504は、プライオリティエンコーダ101、シフト回路102、シフト回路201,202、テーブル203、インバータ204,205、加算回路206およびクランプ回路109を有する。
ここで、請求項4および請求項7の構成要素と図9との対応は、プライオリティエンコーダ101およびシフト回路102が正規化回路に対応し、シフト回路201が第1のシフト回路に対応し、インバータ204が第1の反転回路に対応し、テーブル203がデータ出力手段に対応し、シフト回路202が第2のシフト回路に対応し、インバータ205が第2の反転回路に対応し、加算回路206が加算回路に対応し、クランプ回路109がクランプ回路に対応している。
縮小率演算回路504は、前記式(11)の演算を行い、その演算結果である縮小率LODを図8に示すMIPMAP処理回路307に出力する。
【0088】
プライオリティエンコーダ101は、図8に示すq選択回路302から入力したデータqの2の対数値「log2 q」を求め、当該2の対数値「log2 q」の整数値「int(log2 q)」、すなわち指数qeをデータaとしてシフト回路102,201に出力する。
【0089】
シフト回路102は、q選択回路302から入力したデータqを、プライオリティエンコーダ101から入力した指数qeだけ、LSBに向けてシフト演算した結果の小数部であるデータqmを、データb2としてシフト回路201およびテーブル203に出力する。
【0090】
プライオリティエンコーダ101が出力したデータaと、シフト回路102が出力したデータb2とはビット結合され、その結果であるデータ{a,b2}がシフト回路201に出力される。
【0091】
シフト回路201は、入力したデータ{a,b2}を、入力したデータLだけ、MSBに向けてシフト演算した結果であるデータδ2をインバータ204に出力する。
【0092】
インバータ204は、データδ2を反転し、その結果であるデータ ̄δ2を加算回路206に出力する。
【0093】
テーブル203は、データqmと、「log2 ({1,qm})−qm」との対応表を備え、シフト回路102から入力したデータqm(=b2)をキーとして、当該データqmに対応する「log2 ({1,qm})−qm」を対応表から得て、これをデータμとしてシフト回路202に出力する。
なお、テーブル203の代わりに、入力したデータqmを用いて、「log2 ({1,qm})−qm」を自動的に生成するプログラムを用いてもよい。
【0094】
トライアングルDDA回路11から入力したデータmaxeと、テーブル203から出力されたデータμとは、データmaxeを整数部とし、小数部が7ビットとなるようにデータμの前に(000)を結合して小数部として結合され、当該ビット結合後のデータ{maxe,3’b0,μ}がシフト回路202に出力される。ここで、「3’b0」は、Verilog−HDLの表記で、3ビットの2進数の0を意味する。
【0095】
シフト回路202は、入力したデータ{maxe,3’b0,μ}を、入力したデータLだけ、MSBに向けてシフト演算した結果であるγ2をインバータ205に出力する。
インバータ104は、データ{a,b}を反転し、その結果であるデータ ̄{a,b}を加算回路106に出力する。
【0096】
インバータ204は、データγ2を反転し、その結果であるデータ ̄γ2を加算回路206に出力する。
【0097】
また、データKと「10」とが、小数部が7ビットとなるように「10」の前に1ビットの「0」を加えて結合され、当該ビット結合後のデータ{K,3’b0,10}が加算回路206に出力される。
【0098】
加算回路206は、データ{K,3’b0,10}と、データ ̄δ2と、データ ̄γ2とを加算して、その加算結果であるε2をクランプ回路109に出力する。
【0099】
クランプ回路109は、加算回路206から入力したデータε2を、整数部3ビット、小数部4ビットのデータにクランプし(丸め込み)、その結果を縮小率LODとして図8に示すテクスチャデータ読み出し回路305に出力する。
【0100】
図9に示す縮小率演算回路504では、入力したデータqmに対応するμ(=「log2 ({1,qm})−qm」)を出力する図9に示すテーブル203を用いて、整数部のみからなるmaxeデータと、小数部のみからなるデータμとをビット結合することで、maxeデータに関しての加算処理を削減している。
これにより、縮小率演算回路504によれば、図3および図4に示す縮小率演算回路304に比べて、ゲート数の削減および演算処理の高速化を図れる。
また、縮小率演算回路504では、前記式(11)における「log2 (1/q)」の小数部bと仮数qmの上位4ビット(=2-4)とが近似することと、縮小率LODの7ビットの小数部のうち下位4ビットの精度を決定付ける「log2 (1/q)」の7ビットの小数部のうち下位4ビットをテーブル203を用いて得ることで、縮小率LODの誤差の要因となる前記式(11)に示す「log2 (1/q)」の誤差を2-7にでき、データLが最大値「3」である場合でも、縮小率LODの誤差を2-4程度にできる。
【0101】
図10は、図9に示す縮小率演算回路504における処理を説明するための図である。
以下、図10を参照しながら、図9に示す縮小率演算回路504の動作を具体例を用いて説明する。
ここでは、図6を用いて前述した場合と同様に、以下に示す値を用いて、前記式(11)の演算処理を縮小率演算回路504において行う場合を例示する。
【0102】
q=(0001001110.10100):
maxe=(00000001.0000000):
L=(01):
K=(00010011.0000):
【0103】
q選択回路302が出力したqデータS302であるq(0001001110.10100)が、図9に示すプライオリティエンコーダ101およびシフト回路102に入力される。
次に、プライオリティエンコーダ101において、q(0001001110.10100)の指数qe(000110)が求められ、当該指数qe(000110)のMSB側に(00)を付加した8ビットのデータであるa(00000110)が出力される。
【0104】
次に、シフト回路102において、a(0001001110.10100)が、a(00000110)だけ、MSB側に向けてシフトされ、シフト後の小数部である仮数qm(0011101)が、データb2としてテーブル203に出力される。
次に、テーブル203において、仮数qm(0011101)に対応する4ビットのデータμ(「log2 ({1,qm})−qm」)であるμ(1000)が得られ、μ(1000)が出力される。
【0105】
次に、トライアングルDDA回路11から入力したデータmaxe(00000001)とデータμ(1000)とが、小数部が7ビットとなるようにデータμの前に(000)を結合して小数部として結合され、当該ビット結合後のデータ{maxe,3’b0,μ}=(00000001.0001000)がシフト回路202に出力される。
【0106】
次に、シフト回路202において、入力したデータ{maxe,3’b0,μ}=(00000001.0001000)を、入力したデータL=(01)だけ、MSBに向けてシフト演算した結果であるγ2(00000010.0010000)がインバータ205に出力される。
次に、インバータ205において、データγ2(00000010.0010000)が反転され、その結果であるデータ ̄γ2(11111101.1101111)が加算回路206に出力される。
【0107】
また、プライオリティエンコーダ101が出力したデータa(00000110)と、シフト回路102が出力したデータb2(0011101)とがビット結合され、その結果であるデータ{a,b2}=(00000110.0011101)がシフト回路201に出力される。
【0108】
次に、シフト回路201において、データ{a,b2}=(00000110.0011101)が、入力したデータL(01)だけ、MSBに向けてシフト演算され、その結果であるデータδ2(00001100.0111010)がインバータ204に出力される。
【0109】
次に、インバータ204において、データδ2(00001100.0111010)が反転され、その結果であるデータ ̄δ2(11110011.1000101)が加算回路206に出力される。
【0110】
また、データK(00010011.0000)と「10」とが、小数部が7ビットとなるように「10」の前に1ビットの「0」を加えて結合され、当該ビット結合後のデータ{K,3’b0,10}=(00010011.0000010)が加算回路206に出力される。
【0111】
次に、加算回路206において、データ{K,3’b0,10}と、データ ̄δ2と、データ ̄γ2とが加算され、その加算結果であるε2(00000100.0110110)がクランプ回路109に出力される。
【0112】
次に、クランプ回路109において、加算回路206から入力したデータε2が、整数部3ビット、小数部4ビットのデータにクランプされ(丸め込まれ)、その結果である(100.0110)が縮小率LODとして図8に示すテクスチャデータ読み出し回路305に出力される。
【0113】
第3実施形態
図11は、本実施形態の演算処理回路400の構成図である。
演算処理回路400は、下記式(16)に示す演算を行う演算処理回路である。
【0114】
【数16】
R=log2 (1/q)+maxe
…(16)
【0115】
ここで、上記式(16)において、
q:整数部10ビット、小数部5ビット、符号有り(signed)のデータ、
maxe:整数部8ビット、符号無し(unsigned)のデータ、
【0116】
図11に示すように、演算処理回路400は、プライオリティエンコーダ101、シフト回路102、テーブル203および加算回路206を有する。
演算処理回路400は、請求項1の演算処理回路に対応しており、プライオリティエンコーダ101およびシフト回路102が正規化回路に対応し、テーブル203がデータ出力回路に対応し、加算回路401が加算回路に対応している。
【0117】
プライオリティエンコーダ101は、入力したデータqの2の対数値「log2 q」を求め、当該2の対数値「log2 q」の整数値「int(log2 q)」、すなわち指数qeをデータaとして出力する。
【0118】
シフト回路102は、入力したデータqを、プライオリティエンコーダ101から入力した指数qeだけ、LSBに向けてシフト演算した結果の小数部であるデータqmを、データb2として出力する。
【0119】
プライオリティエンコーダ101が出力したデータaと、シフト回路102が出力したデータb2とはビット結合され、その結果であるデータ{a,b2}が加算回路401に出力される。
【0120】
テーブル203は、データqmと、「log2 ({1,qm})−qm」との対応表を備え、シフト回路102から入力したデータqm(=b2)をキーとして、当該データqmに対応する「log2 ({1,qm})−qm」を対応表から得て、これをデータμとして出力する。
なお、テーブル203の代わりに、入力したデータqmを用いて、「log2 ({1,qm})−qm」を自動的に生成するプログラムを用いてもよい。
【0121】
入力したデータmaxeと、テーブル203から出力されたデータμとは、データmaxeを整数部とし、小数部が7ビットとなるようにデータμの前に(000)を結合して小数部として結合され、当該ビット結合後のデータ{maxe,3’b0,μ}が加算回路401に出力される。
【0122】
加算回路401は、データ{a,b2}と、データ{maxe,3’b0,μ}とを加算し、その結果をデータRとして出力する。
【0123】
演算処理回路400では、入力したデータqmに対応するμ(=「log2 ({1,qm})−qm」)を出力する図9に示すテーブル203を用いて、整数部のみからなるmaxeデータと、小数部のみからなるデータμとをビット結合することで、maxeデータに関しての加算処理を削減している。
これにより、maxeデータに関して加算処理を行う加算回路を設けた場合に比べて、ゲート数の削減および演算処理の高速化を図れる。
【0124】
本発明は上述した実施形態には限定されない。
上述した実施形態では、図4および図9に示す演算処理回路を縮小率演算回路として用いる場合を例示したが、これらの回路は同様の演算を行うその他の装置に用いてもよい。
例えば、図1に示す3次元コンピュータグラフィックシステム1では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ4で行なう場合を例示したが、レンダリング回路5で行なう構成にしてもよい。
【0125】
【発明の効果】
以上説明したように、本発明の演算処理回路によれば、それぞれ前記式(1)および前記式(2)の演算を小規模な回路構成で高速に行うことができる。
また、本発明の演算処理回路によれば、qmを入力して「log2 ({1,qm})−qm」を出力するデータ出力手段を用いることで、高い演算精度を実現できる。
また、本発明の演算処理方法によれば、演算処理の高速化および高精度化を実現できる。
また、本発明の第1の観点の画像処理装置によれば、小規模な装置構成で、高画質な画像表示を行うことができる
さらに、本発明の第2の観点の画像処理装置では、テクスチャデータの縮小率を算出する新たな回路構成を提供できる。
【図面の簡単な説明】
【図1】図1は、本発明の第1実施形態の3次元コンピュータグラフィックシステムのシステム構成図である。
【図2】図2は、図1に示すDDAセットアップ回路における有効ビットデータの生成方法を説明するための図である。
【図3】図3は、図1に示すテクスチャエンジン回路の構成図である。
【図4】図4は、図3に示す縮小率演算回路の構成図である。
【図5】図5は、図1および図3に示すテクスチャバッファのアドレス空間を説明するための図である。
【図6】図6は、図4に示す縮小率演算回路の処理の具体例を説明するための図である。
【図7】図7は、図3に示すテクスチャデータ読み出し回路における処理のフローチャートである。
【図8】図8は、本発明の第2実施形態の3次元コンピュータグラフィックシステムのテクスチャエンジン回路の構成図である。
【図9】図9は、図8に示す縮小率演算回路の構成図である。
【図10】図10は、図9に示す縮小率演算回路の処理の具体例を説明するための図である。
【図11】図11は、本発明の第3実施形態に係わる演算処理回路の構成図である。
【符号の説明】
1…3次元コンピュータグラフィックシステム、2…メインメモリ、3…I/Oインタフェース回路、4…メインプロセッサ、5…レンダリング回路、10…DDAセットアップ回路、11…トライアングルDDA回路、12…テクスチャエンジン回路、13…メモリI/F回路、14…CRTコントローラ回路、15…RAMDAC回路、16…DRAM、17…SRAM、20…テクスチャバッファ、21…ディスプレイバッファ、22…Zバッファ、23…テクスチャCLUTバッファ、101…プライオリティエンコーダ、102,107,201,202…シフト回路、103,203…テーブル、104,105,204,205…インバータ、106,108,206…加算回路、109…クランプ回路、301…代表点決定回路、302…qデータ選択回路、304…縮小率演算回路、305…テクスチャデータ読み出し回路、306…テクスチャブレンド回路、307…MIPMAP処理回路、LOD…縮小率
Claims (11)
- 整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeを用いて、下記式(1)に示す演算を行う演算処理装置回路において、
前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、
前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、
前記データqeと前記qmとをビット結合したデータと、前記データmaxeと前記データμとをビット結合したデータとを加算してデータMを算出する加算回路と
を有する演算処理回路。
【数1】
M=log 2 q+maxe - 前記データ出力手段は、
前記仮数qmと前記データμとの対応表を有し、
入力した前記仮数qmに対応する前記データμを前記対応表を用いて得て、当該得たデータμを出力する、
請求項1に記載の演算処理回路。 - 前記データ出力手段は、
前記仮数qmを入力して前記データμを生成するプログラムを有し、
当該プログラムに基づいて処理を行って、入力した前記仮数qmに対応する前記データμを得て、当該得たデータμを出力する
請求項1に記載の演算処理回路。 - 整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeと、データL,Kとを用いて、下記式(2)に示す演算を行ってデータLODを算出する演算処理回路において、
前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、
前記データqeと前記qmとをビット結合したデータを、前記データLが示す値だけMSB(Most Significant Bit)に向けてシフトする第1のシフト回路と、
前記第1のシフト回路の出力を反転する第1の反転回路と、
前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、
前記データmaxeと前記データμとをビット結合したデータを、前記データLが示す値だけMSBに向けてシフトする第2のシフト回路と、
前記第2のシフト回路の出力を反転する第2の反転回路と、
前記データKと2進数の「10」とをビット結合したデータと、前記第1のシフト回路の出力と、前記第2のシフト回路の出力とを加算する加算回路と、
前記加算回路の出力を所定ビット内にクランプ処理して前記データLODを生成するクランプ回路と
を有する演算処理回路。
【数2】
LOD=Clamp(((log 2 1/q)+maxe)<<L+K)
…(2) - 前記データ出力手段は、
前記仮数qmと前記データμとの対応表を有し、
入力した前記仮数qmに対応する前記データμを前記対応表を用いて得て、当該得たデータμを出力する
請求項4に記載の演算処理回路。 - 前記データ出力手段は、
前記仮数qmを入力して前記データμを生成するプログラムを有し、
当該プログラムに基づいて処理を行って、入力した前記仮数qmに対応する前記データμを得て、当該得たデータμを出力する
請求項4に記載の演算処理回路。 - 立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標(s,t)および同次項qから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付ける画像処理装置において、
相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定回路と、
前記処理対象となっている前記単位図形の頂点の同次座標(s,t)および同次項qの最大指数を示す整数部のみからなるmaxeデータと、整数部および小数部を持ち前記決定された代表点に対応する前記同次項qと、データL,Kとを用いて、下記式(3)から縮小率LODを算出する縮小率算出回路と、
前記算出された縮小率LODを用いて、前記記憶手段からテクスチャデータを読み出す読み出し回路と
を有し、
前記縮小率算出回路は、
前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、
前記データqeと前記qmとをビット結合したデータを、前記データLが示す値だけMSB(Most Significant Bit)に向けてシフトする第1のシフト回路と、
前記第1のシフト回路の出力を反転する第1の反転回路と、
前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})−qm」を示すデータμを出力するデータ出力手段と、
前記データmaxeと前記データμとをビット結合したデータを、前記データLが示す値だけMSBに向けてシフトする第2のシフト回路と、
前記第2のシフト回路の出力を反転する第2の反転回路と、
前記データKと2進数の「10」とをビット結合したデータと、前記第1のシフト回路の出力と、前記第2のシフト回路の出力とを加算する加算回路と、
前記加算回路の出力を所定ビット内にクランプ処理して前記縮小率LODを生成するクランプ回路と
を有する
画像処理装置。
【数3】
LOD=Clamp(((log 2 1/q)+maxe)<<L+K)
…(3) - 前記同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素の処理結果のみを有効なものとして用いる
請求項7に記載の画像処理装置。 - 前記読み出し手段は、前記記憶手段の記憶領域における、前記決定された縮小率LODに応じた基準アドレスと、前記同次座標(s,t)および同次項qに応じたテクスチャ内アドレスとによって決定される物理アドレスから、各画素に対応した前記テクスチャデータを読み出す
請求項7に記載の画像処理装置。 - 立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標(s,t)および同次項qから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付ける画像処理装置において、
相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定回路と、
前記処理対象となっている前記単位図形の頂点の同次座標(s,t)および同次項qの最大指数を示す整数部のみからなるmaxeデータと、整数部および小数部を持ち前記決定された代表点に対応する前記同次項qを用いて、下記式(4)から縮小率LODを算出する縮小率算出回路と、
前記算出された縮小率LODを用いて、前記記憶手段からテクスチャデータを読み出す読み出し回路と
を有し、
前記縮小率算出回路は、
前記データqを正規化して指数qeおよび仮数qmを生成する正規化回路と、
前記仮数qmを入力し、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき、「log 2 ({1,qm})」を示すデータbを出力するデータ出力手段と、
前記データqeと前記データbとをビット結合したデータを反転して出力する第1の反転回路と、
前記データmaxeを反転して出力する第2の反転回路と、
2進数のデータ「10」と、前記第1の反転回路の出力と、前記第2の反転回路の出力とを加算する第1の加算回路と、
前記第1の加算回路の出力を、前記データLが示す値だけMSBに向けてシフトするシフト回路と、
前記シフト回路の出力と、前記データKとを加算する第2の加算回路と、
前記第2の加算回路の出力を所定ビット内にクランプ処理して前記縮小率LODを生成するクランプ回路と
を有する
画像処理装置。
【数4】
LOD=Clamp(((log 2 1/q)+maxe)<<L+K)
…(4) - 正規化手段、データ出力手段、加算手段とを有する演算処理装置を用いて、整数部および小数部を持つ2進数のデータqと、整数部のみからなるデータmaxeを用いて、下記式(5)に示す演算を行う演算処理方法において、
前記正規化手段が、前記データqを正規化して指数qeおよび仮数qmを生成し、
前記データ出力手段が、前記仮数qmと、当該仮数qmに1を加算した2の対数「log 2 ({1,qm})」としたとき「log 2 ({1,qm})−qm」を示すデータμの対応表、あるいは前記仮数qmを入力して前記μデータを生成するプログラムを用いて、前記仮数qmに対応する前記データμを得て、
前記加算手段が、前記データqeと前記qmとをビット結合したデータと、前記データmaxeと前記データμとをビット結合したデータとを加算してデータMを算出する
演算処理方法。
【数5】
M=log 2 q+maxe …(5)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25346999A JP4300650B2 (ja) | 1999-09-07 | 1999-09-07 | 演算処理回路およびその方法と画像処理装置 |
US09/656,229 US6693634B1 (en) | 1999-09-07 | 2000-09-06 | Reduction rate processing circuit and method with logarithmic operation and image processor employing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25346999A JP4300650B2 (ja) | 1999-09-07 | 1999-09-07 | 演算処理回路およびその方法と画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001076175A JP2001076175A (ja) | 2001-03-23 |
JP4300650B2 true JP4300650B2 (ja) | 2009-07-22 |
Family
ID=17251829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25346999A Expired - Fee Related JP4300650B2 (ja) | 1999-09-07 | 1999-09-07 | 演算処理回路およびその方法と画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6693634B1 (ja) |
JP (1) | JP4300650B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3775580B2 (ja) * | 2001-11-21 | 2006-05-17 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
US7295212B2 (en) * | 2002-04-30 | 2007-11-13 | Silicon Graphics, Inc. | Method, system, and computer program product for blending textures in a texture paging scheme |
JP2005115897A (ja) * | 2003-10-07 | 2005-04-28 | Open Vr Co Ltd | 3次元イメージ生成装置及び3次元イメージ生成方法 |
DE602006004033D1 (de) * | 2005-04-19 | 2009-01-15 | Koninkl Philips Electronics Nv | Tiefenwahrnehmung |
JP4661775B2 (ja) | 2006-12-20 | 2011-03-30 | ソニー株式会社 | 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2861687B2 (ja) * | 1992-12-04 | 1999-02-24 | 日本電気株式会社 | 対数演算回路 |
US5471572A (en) * | 1993-07-09 | 1995-11-28 | Silicon Graphics, Inc. | System and method for adding detail to texture imagery in computer generated interactive graphics |
US5819017A (en) * | 1995-08-22 | 1998-10-06 | Silicon Graphics, Inc. | Apparatus and method for selectively storing depth information of a 3-D image |
US5943058A (en) * | 1996-01-25 | 1999-08-24 | Silicon Graphics, Inc. | Texture mapping circuit for performing data interpolations |
US5777623A (en) * | 1996-02-15 | 1998-07-07 | Canon Kabushiki Kaisha | Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels |
US5877771A (en) * | 1996-07-12 | 1999-03-02 | Silicon Graphics, Inc. | Method and apparatus for supersampling based on the local rate of change in texture |
US5953015A (en) * | 1996-11-15 | 1999-09-14 | Samsung Electronics Co., Ltd. | Determining the level of detail for texture mapping in computer graphics |
JP4069486B2 (ja) * | 1998-03-17 | 2008-04-02 | ソニー株式会社 | 記憶回路制御装置およびグラフィック演算装置 |
WO2000075874A1 (en) * | 1999-06-04 | 2000-12-14 | Broadcom Corporation | Method and system for performing mip map level selection |
US6476813B1 (en) * | 1999-11-30 | 2002-11-05 | Silicon Graphics, Inc. | Method and apparatus for preparing a perspective view of an approximately spherical surface portion |
US6429873B1 (en) * | 1999-12-29 | 2002-08-06 | Intel Corporation | Addressing of monolithic texture maps |
-
1999
- 1999-09-07 JP JP25346999A patent/JP4300650B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-06 US US09/656,229 patent/US6693634B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001076175A (ja) | 2001-03-23 |
US6693634B1 (en) | 2004-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3763136B2 (ja) | 描画方法および描画装置 | |
US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
JP4707782B2 (ja) | 画像処理装置およびその方法 | |
WO1996028794A1 (fr) | Dispositif d'affichage graphique tridimensionnel | |
JP4300650B2 (ja) | 演算処理回路およびその方法と画像処理装置 | |
US7015930B2 (en) | Method and apparatus for interpolating pixel parameters based on a plurality of vertex values | |
KR100613747B1 (ko) | 화상 처리장치 및 그 방법 | |
JP3903557B2 (ja) | データ変換装置および画像生成装置 | |
CA2261245C (en) | Division circuit and graphic display processing apparatus | |
JP4042204B2 (ja) | グラフィック演算装置およびその方法 | |
JP4069486B2 (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
JPH11306366A (ja) | グラフィック演算装置およびその方法 | |
JP4244444B2 (ja) | データ処理装置、除算回路および画像処理装置 | |
US6329999B1 (en) | Encoder, method thereof and graphic processing apparatus | |
JP4325038B2 (ja) | 画像処理装置 | |
JP3701627B2 (ja) | 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法 | |
JPH11185052A (ja) | 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法 | |
JP4224887B2 (ja) | 信号処理装置および画像処理装置 | |
JP4635379B2 (ja) | 画像処理装置 | |
JPH11328438A (ja) | 高効率浮動小数点zバッファリングの方法および装置 | |
JPH11272548A (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
JP4580475B2 (ja) | 演算処理装置およびグラフィック演算装置 | |
JP3538826B2 (ja) | 演算回路および演算方法 | |
JP4333793B2 (ja) | 映像信号処理装置および映像信号処理方法 | |
JP3358891B2 (ja) | Z値の透視変換処理方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090309 |
|
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: 20090331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090413 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090309 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |