JP3985321B2 - 演算装置および画像処理装置 - Google Patents
演算装置および画像処理装置 Download PDFInfo
- Publication number
- JP3985321B2 JP3985321B2 JP01743498A JP1743498A JP3985321B2 JP 3985321 B2 JP3985321 B2 JP 3985321B2 JP 01743498 A JP01743498 A JP 01743498A JP 1743498 A JP1743498 A JP 1743498A JP 3985321 B2 JP3985321 B2 JP 3985321B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- bit
- coefficient
- addition
- predetermined
- 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 - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 38
- 238000004364 calculation method Methods 0.000 claims description 57
- 238000013507 mapping Methods 0.000 claims description 40
- 238000012937 correction Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明は、たとえば線形補間や補正などを行うための積和演算を高速に行うことのできる演算装置、および、特にコンピュ−タグラフィクス分野などにおいて3次元画像を生成するのに好適な画像処理装置に関する。
【0002】
【従来の技術】
種々のCADシステムや、アミューズメント装置などにおいて、コンピュータグラフィクスがしばしば用いられている。特に、近年の画像処理技術の進展に伴って、3次元コンピュータグラフィクス技術を用いたシステムが急速に普及している。
この3次元コンピュータグラフィックスを行う場合において、最も広く使用されている手法の1つに、ポリゴンレンダリングシステムがある。これは、立体モデルを3角形の単位図形(ポリゴン)の張り合わせとして表現しておき、このポリゴンを描画することで表示画面の各画素の色を決定しディスプレイに表示するシステムである。
【0003】
ところで、そのようなレンダリング処理においては、たとえば、三角形の頂点に基づいて各頂点間あるいは三角形内部の画素データを生成する場合、テクスチャデータに対してハイライト効果を施す場合、テクスチャマッピング時、フォグ効果を施す場合など、頻繁に線形補間演算処理が行われる。
このような場合に行われる線形補間演算を式で示すと、式1のように表すことができる。
【0004】
【数1】
A×α+B×(1−α) …(1)
【0005】
式1に示すような線形補間演算を行う場合、通常であれば、2個の乗算器と1個の加算器、または、1個の乗算器と1個の減算器と1個の加算器を使うような構成が容易に推測できる。
また、図5に示すような演算器で構成することも考えられる。
図5に示す演算器は、A×α+B×(1−α)を、A×α+B× ̄α+B(ただし、 ̄αはαのビット反転を示す。)と展開し、加算項Bと、変数αのビットに対応して選択された部分積out_0〜out7を図示のごとくシフトさせた値とを加算することにより求めるものである。
なお、各部分積out_0〜out_7は、αの各ビットごとに、そのビットが1であればAを選択し、0であればBを選択した値である。
【0006】
【発明が解決しようとする課題】
ところで、式1に示すような一般的な線形補間演算を、たとえば各変数が8ビットの変数であるような8ビットの処理系で行う場合において、A=1,α=1,B=0として通常の乗算を行うと、式2に示すような演算が行われ、上位8ビットを乗算結果として出力すると0xFEとなる。
【0007】
【数2】
0xFF×0xFF+0×(1−0xFF)=0xFE01 …(2)
【0008】
これは、数学的に0から1.0を0x00から0xFFに対応させて考えた場合、1.0×1.0≠1.0ということになり、正しい演算結果が得られなくなることを意味している。
したがって、たとえばこの線形補間演算を前述したような3次元コンピュータグラフィクスシステムのフォグ演算などに適用した場合には、フォグ効果を全く出さないようにフォグ係数を1.0に設定した場合にも、入力した元の画素データが何らかの影響を受けてしまい元の画素データが維持できないことになるという問題が生じる。
【0009】
そのため、これまでは図5に示したような演算器から出力された演算結果に対しては、α=1.0の場合は補正を行って使用するようにしている場合が多いが、これでは回路規模が大きくなるという問題がある。特に、近年このような演算回路は集積回路上に構成したいという要望があるが、その場合にこのような補正回路は、集積回路の外部に設けると装置規模が大きくなり、また内部に設けるとチップ上の回路面積が大きくなるという問題が生じ、回路構成上無くしたいという要望がある。
【0010】
また、このような3次元コンピュータグラフィクスシステムに係わる画像処理回路を集積回路上に構成する場合には、このような線形補間演算器を使用して積和演算を行わせたいという要望がある。しかしながら、これまでは、積を算出する部分と和を算出する部分が2段階となり2つの演算器で構成する形となり、回路規模的にも処理速度的にも改善が望まれていた。
【0011】
したがって、本発明の目的は、補間係数α=1.0の場合においても適切に元のデータが得られるような演算を行うことができる線形補間演算装置であって、積和演算をも高速に行うことができ、一方で回路規模はほとんど増加せず集積回路化に適したような演算装置を提供することにある。
また、本発明の目的は、そのような演算装置を適用することにより、たとえば、テクスチャマッピング処理、フォグ演算、ハイライト演算などの画像処理が高速に効率よく行え、さらには集積回路化に適したような画像処理装置を提供することにある。
【0012】
【課題を解決するための手段】
本願発明者は、前述したような誤差は、αについて、0xFF(255)を1.0に対応させようとしているために誤差が生じることを考えると、この場合にさらにAを加算し、α+1が256となるようにすることで誤差をなくすことができると考えた。そして、図5に示した回路の基本式であるA×α+B× ̄α+Bに対して、α=1.0の時に+Bの項を+Aに切り替えれば、このAの加算が行えることを見いだした。そして、さらに積和演算を行うための新たな項をも付加して、補正乗算、線形補間演算、および、積和演算を行える演算装置およびそれを好適に画像処理に適用できるようにした画像処理装置を発明した。
【0013】
したがって、本発明の演算装置は、各々所定ビット幅の任意の値A,Bと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)の演算を行い、上位所定ビットを演算結果として得る演算装置であって、α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記選択された加算値Fに基づいて、A×α+B× ̄α+F(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する。
【0014】
好適には、前記演算手段は、係数αの各ビットごとに、当該ビットが1の場合は値Aを選択し、当該ビットが0の場合は値Bを選択し、該選択された値を当該ビットに対応する位置にシフトさせて部分積を生成する部分積生成手段と、前記選択された加算値Fおよび前記生成された前記αのビット数分の部分積とを加算する加算手段とを有する。
特定的には、前記加算手段は、1ビットの加算器をツリー状に構成したwallace_tree型アーキテクチャーにより構成される。
【0015】
また、本発明の他の演算装置は、各々所定ビット幅の任意の値A,B,Cと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)+Cの演算を行い、上位所定ビットを演算結果として得る演算装置であって、α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記選択された加算値Fに基づいて、A×α+B× ̄α+F+C(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する。
【0016】
また、本発明の画像処理装置は、各々所定ビット幅の任意の値A,Bと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)の演算を行い、上位所定ビットを演算結果として得る演算装置であって、α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記選択された加算値Fに基づいて、A×α+B× ̄α+F(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する演算装置と、所定の第1のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとしてテクスチャが張り付けられる側の画像データを、前記値Bとして0を、各々入力する入力制御手段とを有する。
【0017】
好適には、前記入力制御手段は、所定の第2のモードの時に、前記演算装置に対して、前記値Aとして画素データを、係数αとしてフォグ係数を、前記値Bとしてフォグカラーを、各々入力する。
【0018】
また、本発明の他の画像処理装置は、各々所定ビット幅の任意の値A,BおよびCと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)+Cの演算を行い、上位所定ビットを演算結果として得る演算装置であって、α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記選択された加算値Fに基づいて、A×α+B× ̄α+F+C(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する演算装置と、所定の第1のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとしてテクスチャが張り付けられる側の画像データを、前記値Bおよび値Cとして0を、各々入力する入力制御手段とを有する。
【0019】
好適には、前記入力制御手段は、所定の第2のモードの時に、前記演算装置に対して、前記値Aとして画素データを、係数αとしてフォグ係数を、前記値Bとしてフォグカラーを、前記値Cとして0を、各々入力する。
また好適には、前記入力制御手段は、所定の第3のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとして環境光を示す値を、前記値Bとして0を、前記値Cとして特定の光源の光を示す値を、各々入力する。
【0020】
【発明の実施の形態】
本発明の一実施の形態について図1〜図5を参照して説明する。
本実施の形態においては、家庭用ゲーム機などに適用される、任意の3次元物体モデルに対する所望の3次元画像をディスプレイ上に高速に表示する3次元コンピュータグラフィックスシステムに、本発明の演算装置および画像処理装置を適用した場合について説明する。
【0021】
まず、その3次元コンピュータグラフィックスシステムについて図1を参照して説明する。
この3次元コンピュータグラフィックスシステム1は、立体モデルを単位図形である三角形(ポリゴン)の張り合わせとして表現しておき、このポリゴンを描画することで表示画面の各画素の色を決定しディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、3次元コンピュータグラフィックスシステム1においては、平面を表わす(x、y)座標のほかに、奥行きを表わすz座標を用いて3次元物体を表わし、またこのx、y、zの3つの座標で3次元空間内の任意の1点を特定する。
【0022】
図1は、その3次元コンピュータグラフィックスシステム1の構成を示すブロック図である。
3次元コンピュータグラフィックスシステム1は、入力部2、3次元画像生成装置3および表示装置4を有する。
また、3次元画像生成装置3は、ジオメトリ演算部32、パラメータ演算部33、画素発生部34、マッピング部35、テクスチャメモリ36、メモリ制御部37、画像メモリ38およびディスプレイ制御部39を有する。
【0023】
まず、各部の構成・機能について説明する。
入力部2は、3次元画像生成装置3に対して、表示対象の立体モデルのデータを入力する入力部である。本実施の形態においては、3次元コンピュータグラフィックスシステム1は家庭用ゲーム機に適用されているので、入力部2は、その家庭用ゲーム機のゲーム自体を制御する主制御装置などに接続される。その主制御装置においては、ゲームの進行状況などに基づいて表示する画面を決定し、その画面表示に必要な立体モデルを選択し、その表示方法の情報を生成する。したがって入力部2は、家庭用ゲーム機の主制御装置より、この表示対象の立体モデルのポリゴンデータなどの情報を受け取り、3次元画像生成装置3へ入力するのに適した形態に変換するなどして、3次元画像生成装置3のジオメトリ演算部32に入力する。なお、その入力されるポリゴンのデータは、各頂点のx,y,z座標データおよびカラー、透明度、テクスチャなどの付随データである。
【0024】
ジオメトリ演算部32は、入力部2より入力されたポリゴンを、3次元空間中の所望の位置に配置させその位置におけるポリゴンデータを生成する。具体的には、ポリゴンの各頂点(x、y、z)ごとに、並進変換、平行変換および回転変換などの幾何学的変換処理(ジオメトリ変換処理という場合もある)を行う。ジオメトリ変換処理を行ったポリゴンデータは、パラメータ演算部33に出力される。
【0025】
パラメータ演算部33は、ジオメトリ演算部32から入力されたポリゴンのデータ、すなわち、ポリゴンの各頂点のデータに基づいて、画素発生部34においてポリゴン内部の画素データを発生するために必要なパラメータを求め、画素発生部34に出力する。具体的にはたとえば、カラー、奥行きおよびテクスチャの傾きの情報などを求める。
【0026】
画素発生部34は、ジオメトリ演算部32でジオメトリ変換処理が行われたポリゴンデータ、および、パラメータ演算部33で求められたパラメータに基づいて、ポリゴンの各頂点間を線形補間してポリゴン内部およびエッジ部分の画素データを発生する。また画素発生部34は、画素データの表示に対応した所定の2次元平面上でのアドレスの生成を行う。生成された画素データおよびアドレスは順次マッピング部35に入力される。
【0027】
マッピング部35は、画素発生部34で生成された画素データおよびアドレスを読み出し、テクスチャマッピング処理などを行って、各画素に対するカラー値を決定する。具体的には、マッピング部35は、テクスチャメモリ36に格納されているテクスチャデータを用いてテクスチャマッピング処理を行い、さらに所望のフォグカラーおよびフォグ係数のデータを用いてフォグ演算を行う。なお、これらの処理は後に詳細に説明する演算装置を用いて行う。これらの処理を行った画素データおよびアドレスは、メモリ制御部37に出力される。
【0028】
テクスチャメモリ36は、マッピング部35でテクスチャマッピングする際に用いるテクスチャパタンを記憶しておくメモリである。本実施の形態において、このテクスチャメモリ36には、テクスチャデータがインデックスデータで記憶されている。
【0029】
メモリ制御部37は、マッピング部35から入力される画素データおよびアドレス、および、既に画像メモリ38に記憶されている対応する画素データに基づいて、新たな画素データを生成し、画像メモリ38に記憶する。すなわち、メモリ制御部37は、マッピング部35から入力されるアドレスに対応した画素データを画像メモリ38から読み出し、その画素データと、マッピング部35から入力された画素データとを用いて、所望の画素演算処理を行い、得られた画素データを画像メモリ38へ書き込む。
また、メモリ制御部37は、ディスプレイ制御部39から表示領域が指定された場合には、その表示領域の画素データを、画像メモリ38から読み出し、ディスプレイ制御部39に出力する。
【0030】
画像メモリ38は、表示用の画像データを記録するメモリであり、実質的に同時にアクセスすることができる2つのメモリバッファ、フレームバッファとZバッファを有する。フレームバッファには、各画素のカラー情報であるフレームデータが格納される。また、Zバッファには、各画素の奥行き情報(Z値)であるZデータが格納される。
【0031】
ディスプレイ制御部39は、メモリ制御部37を介して画像メモリ38より読み出した表示領域の画素データを、表示装置4により表示可能なたとえば所定のアナログ信号に変換し、表示装置4に出力する。なお、これに先立ちディスプレイ制御部39は、メモリ制御部37に対して、表示すべき表示領域の画素データの要求を行う。
【0032】
表示装置4は、本実施の形態においては、通常家庭などで用いられているビデオ入力端子などを有するテレビジョン受信機である。3次元画像生成装置3のディスプレイ制御部39からは、ビデオ信号入力端子を介してアナログビデオ信号が入力され、その信号に基づいて3次元映像を画面上に表示する。
【0033】
次に、この3次元コンピュータグラフィックスシステム1の動作について説明する。
まず、家庭用ゲーム機のゲーム自体を制御する主制御装置などにおいて、表示する3次元画像が決定されると、その画面表示に必要な立体モデルの情報が入力部2に入力される。入力部2はこの情報に基づいて、その画像を表示するための立体モデルのポリゴンデータを3次元画像生成装置3に入力する。
3次元画像生成装置3に入力された各ポリゴンデータは、まず、ジオメトリ演算部32において、画面表示のために3次元空間中の所望の位置に配置されるように、並進変換、平行変換および回転変換などのジオメトリ変換処理が行われる。
【0034】
次に、座標変換の行われたポリゴンデータに対して、パラメータ演算部33においてポリゴン内部の画素データを発生するために必要なパラメータが求められ、画素発生部34において、実際にポリゴンの各頂点間を線形補間してポリゴン内部およびエッジ部分の画素データが発生される。
発生された画素データは、順次マッピング部35に入力される。マッピング部35においては、テクスチャメモリ36に記録されているインデックスデータであるテクスチャパタンデータを、リアルカラーデータに変換し、これを用いてテクスチャマッピング処理を行い、さらにフォグ演算を行い、生成した画素データをメモリ制御部37を介して画像メモリ38に記憶する。なお、この時に、ハイライト処理を行う場合には、テクスチャパタンデータに対して予めハイライト演算を行っておく。
【0035】
画像メモリ38に記憶された画素データは、同様の経路により入力される他の画素データや任意の制御データに基づいて適宜所望の処理が行われる。
これにより画像メモリ38には常に最新の画像データが格納され、画面表示に供される。すなわち、表示装置4に表示するための所定の領域のデータの出力の要求がディスプレイ制御部39からメモリ制御部37に対して行われ、その領域の画素データが適宜画像メモリ38から読み出され、ディスプレイ制御部39において画面表示用の所定の信号に変換され、表示装置4に出力される。
これにより、表示装置4には、所望の画像が画面に表示される。
【0036】
次に、マッピング部34内に設けられ、前述したようなテクスチャマッピング処理、フォグ演算およびハイライト演算を行うための演算装置について、図2を参照して説明する。
図2は、その演算装置の構成を示すブロック図である。
演算装置100は、マルチプレクサ110、演算器120およびレジスタ140を有する。
【0037】
マルチプレクサ110は、演算器120で所望の演算が行われるように、演算装置100に対して印加される複数の変数より所定の変数を選択して演算器120に入力する。
マルチプレクサ110には、外部より、テクスチャマッピングデータRt、テクスチャが張り付けられる側の画像データRf、フォグカラーRfg、フォグ係数f、特定の環境光Dおよび特定の光源の光Eなどが、また、フォグ演算される前のデータRrとして後述するレジスタ140の出力が、各々入力される。マルチプレクサ110は、図示せぬ3次元画像生成装置3の制御部より別途入力される、乗算を行うのか積和演算を行うのかフォグ演算を行うのかを示すモードコントロール信号に基づいて、A×α+B×(1−α)+Cの演算の各変数となるデータをこれらの入力データより各々選択し、後述する演算器120に出力する。
【0038】
より具体的には、テクスチャマッピングを行う場合で、乗算を行う場合には、演算器120の変数AとしてテクスチャマッピングデータRtを、変数αとしてテクスチャが張り付けられる側の画像データRfを、変数Bおよび変数Cとして0を各々選択し、演算器120に出力する。
また、フォグ演算を行う場合には、演算器120の変数Aとしてフォグ演算される前のデータRrを、変数αとしてフォグ係数fを、変数BとしてフォグカラーRfgを、変数Cとして0を各々選択し、演算器120に出力する。
さらに、ハイライト演算などの乗算を行う場合には、演算器120の変数AとしてテクスチャマッピングデータRtを、変数αとして環境光Dを、変数Bとして0を、変数Cとして特定の光源の光Eを各々選択し、演算器120に出力する。
【0039】
演算器120は、本発明に係わり、8ビットのA×α+B×(1−α)+Cの演算を、α=1.0(0xFF)の場合でも適切な結果が得られるように行う演算器である。
この演算器120の構成について図3〜図5を参照して説明する。
図3は、演算器120における演算方法およびその構成を説明するための図であり、A×α+B×(1−α)+Cが、補正項F、変数αのビットに対応して選択された部分積out_0〜out7、および、積和演算項Cを、図示のごとくシフトさせて加算することにより求めることを示している。
【0040】
補正項Fは、α=0xFF(α=1.0)の場合にはAを、それ以外の場合にはBを選択した値である。
各部分積out_0〜out_7は、αの各ビットごとに、そのビットが1であればAを選択し、0であればBを選択した値である。これらの選択したデータは、αのそのビット番号分左にシフトさせて加算の要素とされる。なお、αのビット番号はLSB(20 の桁)がビット0であり、MSB(27 の桁)がビット7である。したがって、αのLSB(20 の桁)の値が1であればout_0はAであり、0であればout_0はBとなる。また、αのMSB(27 の桁)値が1であればout_7はAであり、0であればout_0はBであり、この値を左に7ビットシフトさせた値が加算される。
積和演算項Cは、8ビット×8ビットの乗算結果の上位8ビットをとって8ビットの演算結果を得た結果にさらにこの積和演算項Cが加算できるように、左に8ビットシフトさせて加算される。
【0041】
演算器120の加算器130は、前述したように得られて、各々桁がシフトされた補正項F、各部分積out_0〜out_7および積和演算項Cを加算し、さらにその上位8ビットを演算結果として出力する。
本実施の形態において、加算器130は、wallace_tree型のア−キテクチャーの加算器である。この、wallace_tree型ア−キテクチャーの加算器は、その構成の一部を図4に示すように、1ビットの加算器を順にツリ−状に配置した構成の加算器である。
【0042】
レジスタ140は、演算器120行われた演算結果を一旦記憶し、外部に出力するとともに、マルチプレクサ110に再入力するためのレジスタである。テクスチャマッピングを行ったデータに対してフォグ演算を行う場合などに、このレジスタ140に記憶された結果がマルチプレクサ110を介して演算器120に再入力される。
【0043】
このような構成の演算装置100において、テクスチャマッピング、フォグ演算、および、ハイライト演算などの3次元画像生成装置3のマッピング部35における処理が行われる。
これらの処理について具体的に説明する。
なお、本実施の形態においては、テクスチャマッピングの際は通常の乗算を行い、フォグ演算の場合には線形補間演算を行い、ハイライト演算の際には積和演算を行うものとする。
【0044】
テクスチャマッピングを行う場合には、乗算モードを示すモードコントロール信号がマルチプレクサ110に入力される。これによりマルチプレクサ110において、前述したように、演算器120における変数AとしてテクスチャマッピングデータRtが、変数αとしてテクスチャが張り付けられる側の画像データRfが、変数Bおよび変数Cとして0が各々選択され、演算器120に入力される。その結果、演算器120では、Rt×Rfの乗算が行われ、テクスチャマッピングが行われる。
【0045】
フォグ演算を行う場合には、線形補間演算モードを示すモードコントロール信号がマルチプレクサ110に入力される。これによりマルチプレクサ110において、演算器120における変数Aとしてフォグ演算される前のデータRrが、変数αとしてフォグ係数fが、変数BとしてフォグカラーRfgが、変数Cとして0が各々選択され、演算器120に入力される。その結果、演算器120では、Rr×f+Rfg×(1−f)の線形補間演算が行われ、各画素にフォグ効果が印加される。なおこの時、演算器120においては前述したような補正が行われているので、フォグ係数fが1.0(0xFF)の場合には、フォグカラーRfgに全く影響されないフォグ演算される前のデータが演算器120より出力される。
【0046】
さらに、ハイライト演算を行う場合には、積和演算モードを示すモードコントロール信号がマルチプレクサ110に入力される。これによりマルチプレクサ110において、変数AとしてテクスチャマッピングデータRtが、変数αとして環境光Dが、変数Bとして0が、変数Cとして特定の光源の光Eが各々選択され、演算器120に入力される。その結果、演算器120では、Rt×D+Eの積和演算が行われ、各画素のハイライト効果が印加される。
【0047】
このように、本実施の形態の演算装置100においては、演算器120において、A×α+B×(1−α)を計算する際に、αが0xFFの時にはAを加算する補正を行っており、αが0xFFの時、すなわち数学的には1.0の時の計算結果の誤差を無くすことができる。
またこの補正を行う際に、A×α+B×(1−α)を展開したA×α+B× ̄α+Bの+Bの部分を+Aに置き換えるようにして補正を行っているので、αの値によってAかBかを選択するセレクタを追加するのみでこの補正を行うことができる。
【0048】
またこの演算器120においては、A×α+B×(1−α)+Cの演算が行えるので、変数として入力する値に応じて、補正乗算、積和演算、線形補間演算などを全て行うことができる。
また、その際に、演算器120はwallace_tree型ア−キテクチャーの加算器により各部分積や補正項、積和演算項を加算しているので、回路規模や遅延時間の増加を最小限にすることができる。たとえば集積回路上にこの演算器120を構成する場合には、この回路の面積の増加を最小限に抑え、ほぼ面積の増加なくしてこの演算器120の回路を実現できる。
【0049】
またこれにより、この演算装置100を適用した3次元画像生成装置3においては、フォグ係数fが1.0(0xFF)の場合には、フォグカラーRfgに全く影響されないフォグ演算される前のデータが得られ、適切な画像データが得られる。
また、テクスチャマッピング、フォグ演算、ハイライト演算などを、全てこの演算装置100を用いて行うことができるので、たとえば3次元画像生成装置3を集積回路上に構成する場合には、効率よく回路を構成することができ、回路規模が小さく高機能な3次元画像生成装置3を提供することができる。
【0050】
なお、本発明は本実施の形態に限られるものではなく、種々の改変が可能である。
たとえば、前述した演算装置100の演算器120においては、補正項Fとして、α=0xFF(α=1.0)の場合にはAを、それ以外の場合にはBを選択するようにした。しかし、α=0xFF(α=1.0)の場合の補正項は、Aにすることに限られるものではない。A以上の値であれば、適切に補正が行えるので、たとえば、A+Bを補正項とするようにしてもよい。また、たとえば他の構成部により生成されるA以上の値をとることが確かな任意の値を用いて、α=0xFFの場合の補正項としてよい。
【0051】
また、演算器120の加算器130は、wallace_tree型アーキテクチャーの加算器としたが、適切な演算結果が得られることのみを目的とするのであれば、この加算器の構成は任意でよい。たとえば、アレイ型、キャリーセーブ型など、通常知られている任意の加算器で構成してよい。ただし、遅延時間や回路面積などを考慮すると、本実施の形態のようなwallace_tree型アーキテクチャーの加算器が有効である。
【0052】
また、前述した演算器120においては、8ビットの処理系を用いて説明したが、この変数などのビット幅は8ビットに限られるものではなく、16ビット、32ビットなどを初めとして、任意のビット幅でよい。
また、本実施の形態においては、演算器120を3次元画像生成装置3に適用した場合を例示したが、その他の任意の装置に適用してよい。
【0053】
【発明の効果】
以上説明したように、本発明によれば、補間係数α=1.0の場合においても適切に元のデータが得られるような演算を行うことができる線形補間演算装置であって、積和演算をも高速に行うことができ、一方で回路規模はほとんど増加せず集積回路化に適したような演算装置を提供することができる。
また、たとえば、テクスチャマッピング処理、フォグ演算、ハイライト演算などの画像処理が高速に効率よく行え、さらには集積回路化に適したような画像処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の3次元コンピュータグラフィックスシステムの構成を示すブロック図である。
【図2】図1に示した3次元コンピュータグラフィックスシステムのマッピング部内に設けられる、本発明に係わる演算装置の構成を示すブロック図である。
【図3】図2に示した演算装置の演算器における演算方法およびその構成を説明するための図である。
【図4】図3に示した演算器の加算器の構成を説明するための図である。
【図5】従来の乗算器の演算方法およびその構成を説明するための図である。
【符号の説明】
1…3次元コンピュータグラフィックスシステム、2…入力部、3…3次元画像生成装置、4…表示装置、32…ジオメトリ演算部、33…パラメータ演算部、34…画素発生部、35…マッピング部、36…テクスチャメモリ、37…メモリ制御部、38…画像メモリ、39…ディスプレイ制御部、100…演算装置、110…マルチプレクサ、120…演算器、130…加算器、140…レジスタ
Claims (10)
- 各々所定ビット幅の任意の値A,Bと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)の演算を行い、上位所定ビットを演算結果として得る演算装置であって、
α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、
前記値Aまたは値Bとして選択された加算値Fに基づいて、A×α+B× ̄α+F(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段と、
を有し、
前記演算手段は、
係数αの各ビットごとに、当該ビットが1の場合は値Aを選択し、当該ビットが0の場合は値Bを選択し、該選択された値を当該ビットに対応する位置にシフトさせて部分積を生成する部分積生成手段と、
前記選択された加算値Fおよび前記生成された前記αのビット数分の部分積とを加算する加算手段と
を有する演算装置。 - 前記加算手段は、1ビットの加算器をツリー状に構成したwallace_tree型アーキテクチャーにより構成される
請求項1記載の演算装置。 - 各々所定ビット幅の任意の値A,B,Cと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)+Cの演算を行い、上位所定ビットを演算結果として得る演算装置であって、
α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、
前記値Aまたは値Bとして選択された加算値Fに基づいて、A×α+B× ̄α+F+C(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段と、
を有し、
前記演算手段は、
係数αの各ビットごとに、当該ビットが1の場合は値Aを選択し、当該ビットが0の場合は値Bを選択し、該選択された値を当該ビットに対応する位置にシフトさせて部分積を生成する部分積生成手段と、
前記選択された加算値F、前記生成された前記αのビット数分の部分積および前記Cとを加算する加算手段と
を有する演算装置。 - 前記各手段は、集積回路上に構成される
請求項3記載の演算装置。 - 各々所定ビット幅の任意の値A,Bと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)の演算を行い、上位所定ビットを演算結果として得る演算装置であって、
α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記値Aまたは値Bとして選択された加算値Fに基づいて、A×α+B× ̄α+F(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する演算装置と、
所定の第1のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとしてテクスチャが張り付けられる側の画像データを、前記値Bとして0を、各々入力する入力制御手段と、
を有し、
前記演算手段は、
係数αの各ビットごとに、当該ビットが1の場合は値Aを選択し、当該ビットが0の場合は値Bを選択し、該選択された値を当該ビットに対応する位置にシフトさせて部分積を生成する部分積生成手段と、
前記選択された加算値Fおよび前記生成された前記αのビット数分の部分積とを加算する加算手段と
を有する画像処理装置。 - 前記入力制御手段は、所定の第2のモードの時に、前記演算装置に対して、前記値Aとして画素データを、係数αとしてフォグ係数を、前記値Bとしてフォグカラーを、各々入力する
請求項5記載の画像処理装置。 - 各々所定ビット幅の任意の値A,BおよびCと、所定のビット幅で0≦α≦1の値をとる係数αに対して、A×α+B×(1−α)+Cの演算を行い、上位所定ビットを演算結果として得る演算装置であって、
α=1の場合、加算値Fとして値Aを選択し、α≠1の場合、前記加算値Fとして値Bを選択する加算値選択手段と、前記値Aまたは値Bとして選択された加算値Fに基づいて、A×α+B× ̄α+F+C(ただし、 ̄αはαのビット反転を示す。)の演算を行う演算手段とを有する演算装置と、
所定の第1のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとしてテクスチャが張り付けられる側の画像データを、前記値Bおよび値Cとして0を、各々入力する入力制御手段と、
を有し、
前記演算手段は、
係数αの各ビットごとに、当該ビットが1の場合は値Aを選択し、当該ビットが0の場合は値Bを選択し、該選択された値を当該ビットに対応する位置にシフトさせて部分積を生成する部分積生成手段と、
前記選択された加算値F、前記生成された前記係数αのビット数分の部分積および前記Cとを加算する加算手段と
を有する画像処理装置。 - 前記入力制御手段は、所定の第2のモードの時に、前記演算装置に対して、前記値Aとして画素データを、係数αとしてフォグ係数を、前記値Bとしてフォグカラーを、前記値Cとして0を、各々入力する
請求項7記載の画像処理装置。 - 前記入力制御手段は、所定の第3のモードの時に、前記演算装置に対して、前記値Aとしてテクスチャマッピングデータを、前記係数αとして環境光を示す値を、前記値Bとして0を、前記値Cとして特定の光源の光を示す値を、各々入力する
請求項8記載の画像処理装置。 - 前記各手段は、集積回路上に構成される
請求項7から9のいずれか一に記載の画像処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01743498A JP3985321B2 (ja) | 1998-01-29 | 1998-01-29 | 演算装置および画像処理装置 |
CA002260345A CA2260345C (en) | 1998-01-29 | 1999-01-25 | Signal processing apparatus and image processing apparatus |
US09/237,833 US6373494B1 (en) | 1998-01-29 | 1999-01-27 | Signal processing apparatus and image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01743498A JP3985321B2 (ja) | 1998-01-29 | 1998-01-29 | 演算装置および画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11212955A JPH11212955A (ja) | 1999-08-06 |
JP3985321B2 true JP3985321B2 (ja) | 2007-10-03 |
Family
ID=11943926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01743498A Expired - Lifetime JP3985321B2 (ja) | 1998-01-29 | 1998-01-29 | 演算装置および画像処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6373494B1 (ja) |
JP (1) | JP3985321B2 (ja) |
CA (1) | CA2260345C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950083B1 (en) * | 1997-12-18 | 2005-09-27 | Mustek Systems Inc. | Electronic projector capable of saving and displaying a user-defined logo |
JP2001118049A (ja) * | 1999-10-14 | 2001-04-27 | Sega Corp | マトリクス演算器を有する画像処理装置 |
JP2003162410A (ja) * | 2001-11-27 | 2003-06-06 | Mitsubishi Electric Corp | リニアフィルタ回路 |
JP4490380B2 (ja) * | 2006-02-22 | 2010-06-23 | 大日本印刷株式会社 | 線形補間演算器 |
US7840623B2 (en) | 2005-09-26 | 2010-11-23 | Dai Nippon Printing Co., Ltd. | Interpolator and designing method thereof |
JP4887821B2 (ja) * | 2006-02-15 | 2012-02-29 | 大日本印刷株式会社 | 線形補間演算器 |
JP4805094B2 (ja) * | 2006-10-31 | 2011-11-02 | 富士通セミコンダクター株式会社 | フォグ効果処理方法、グラフィックス装置、グラフィックス用半導体集積回路装置及びフォグ効果処理プログラム |
USD838288S1 (en) * | 2009-02-24 | 2019-01-15 | Tixtrack, Inc. | Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer |
US9766886B2 (en) * | 2011-12-16 | 2017-09-19 | Intel Corporation | Instruction and logic to provide vector linear interpolation functionality |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5548709A (en) * | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
JP2637931B2 (ja) * | 1994-12-01 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | テクスチャ・マッピングを行うコンピュータ・システム |
US5835096A (en) * | 1995-03-24 | 1998-11-10 | 3D Labs | Rendering system using 3D texture-processing hardware for accelerated 2D rendering |
US6111584A (en) * | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
US5844567A (en) * | 1996-08-12 | 1998-12-01 | Silicon Graphics, Inc. | Computer graphics system and method for texture mapping using triangular interpolation |
US6016151A (en) * | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
-
1998
- 1998-01-29 JP JP01743498A patent/JP3985321B2/ja not_active Expired - Lifetime
-
1999
- 1999-01-25 CA CA002260345A patent/CA2260345C/en not_active Expired - Lifetime
- 1999-01-27 US US09/237,833 patent/US6373494B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2260345A1 (en) | 1999-07-29 |
US6373494B1 (en) | 2002-04-16 |
CA2260345C (en) | 2007-07-10 |
JPH11212955A (ja) | 1999-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3021368B2 (ja) | 画素の法線ベクトルを用いたバンプマッピングレンダリング方法及びそれを具現するレンダリング装置 | |
JP3972784B2 (ja) | 画像処理装置およびその方法 | |
US5877769A (en) | Image processing apparatus and method | |
JP2000227966A (ja) | 3dコンピュ―タ・グラフィックス処理装置及び方法 | |
US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
JPH04222074A (ja) | テクスチャマッピングのための傾斜計算方法 | |
JPH0771936A (ja) | 画像処理装置及びその方法 | |
US20140071124A1 (en) | Image processing apparatus | |
JP3985321B2 (ja) | 演算装置および画像処理装置 | |
WO1996028794A1 (fr) | Dispositif d'affichage graphique tridimensionnel | |
US7015930B2 (en) | Method and apparatus for interpolating pixel parameters based on a plurality of vertex values | |
US7636095B2 (en) | Pixel delta interpolation method and apparatus | |
JP3649478B2 (ja) | 画像情報処理装置及び画像情報処理方法 | |
JP2002202964A (ja) | 並列演算装置、エンタテインメント装置、演算処理方法、コンピュータプログラム、半導体デバイス | |
JP3903557B2 (ja) | データ変換装置および画像生成装置 | |
JPH06266852A (ja) | 画像合成装置 | |
JPH11185052A (ja) | 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法 | |
JP4325038B2 (ja) | 画像処理装置 | |
JP3268484B2 (ja) | シェーディング方法およびシェーディング装置 | |
JP4556646B2 (ja) | 図形情報生成装置、画像処理装置、情報処理装置、および図形情報生成方法 | |
JP4224887B2 (ja) | 信号処理装置および画像処理装置 | |
JP3312560B2 (ja) | テクスチャマッピング装置 | |
JP4042204B2 (ja) | グラフィック演算装置およびその方法 | |
WO1997002546A1 (fr) | Circuit graphique pour ordinateur | |
JP4635379B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070209 |
|
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: 20070619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070702 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130720 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |