JP2014056371A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2014056371A JP2014056371A JP2012200168A JP2012200168A JP2014056371A JP 2014056371 A JP2014056371 A JP 2014056371A JP 2012200168 A JP2012200168 A JP 2012200168A JP 2012200168 A JP2012200168 A JP 2012200168A JP 2014056371 A JP2014056371 A JP 2014056371A
- Authority
- JP
- Japan
- Prior art keywords
- texture
- data
- bezier curve
- curve function
- image processing
- 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.)
- Withdrawn
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
【課題】回路規模が小さい非線形グラデーション模様のテクスチャデータを生成する画像処理装置を提供する。
【解決手段】ポリゴンの画像処理を行う画像処理装置であって,第1,第2のテクスチャ座標を有する画素データを入力し,非線形曲面に基づくグラデーション模様を有するテクスチャ画像内のテクセルデータを生成するテクスチャマッピング部を有し,テクスチャマッピング部は,第1のテクスチャ座標と第1のベジエ曲線関数の制御値とを入力し,第1のベジエ曲線関数を演算する第1のベジエ曲線関数演算部と,第2のテクスチャ座標と第2のベジエ曲線関数の制御値とを入力し,第2のベジエ曲線関数を演算する第2のベジエ曲線関数演算部と,第1,第2のベジエ曲線関数演算部の出力を乗算する乗算器と,乗算器の乗算値をブレンド率に使用して,グラデーション模様に対応する複数の色データをブレンドしてテクセルデータを生成するブレンド処理部とを有する。
【選択図】図6
【解決手段】ポリゴンの画像処理を行う画像処理装置であって,第1,第2のテクスチャ座標を有する画素データを入力し,非線形曲面に基づくグラデーション模様を有するテクスチャ画像内のテクセルデータを生成するテクスチャマッピング部を有し,テクスチャマッピング部は,第1のテクスチャ座標と第1のベジエ曲線関数の制御値とを入力し,第1のベジエ曲線関数を演算する第1のベジエ曲線関数演算部と,第2のテクスチャ座標と第2のベジエ曲線関数の制御値とを入力し,第2のベジエ曲線関数を演算する第2のベジエ曲線関数演算部と,第1,第2のベジエ曲線関数演算部の出力を乗算する乗算器と,乗算器の乗算値をブレンド率に使用して,グラデーション模様に対応する複数の色データをブレンドしてテクセルデータを生成するブレンド処理部とを有する。
【選択図】図6
Description
本発明は,画像処理装置に関する。
3次元コンピュータグラフィックスにおいて,画像処理装置は,描画対象のポリゴンの頂点データを処理し,さらに,ポリゴン内の画素の画像データを処理する。ポリゴン内の画素の画像データを生成するために,様々な画像処理が行われるが,その一つの処理に,テクスチャマッピング処理がある。
テクスチャマッピング処理は,予めメモリに格納されているテクスチャデータ(テクセルの色データ)を,ポリゴン内の各画素に貼り付ける処理である。一般的には,ポリゴンの頂点データに,ポリゴンに貼り付けるテクスチャデータを格納するテクスチャメモリ内の座標データ(テクスチャ座標データ)が含まれ,ポリゴン内の画素に対応するテクスチャ座標に基づいてテクスチャメモリ内のテクセルデータが読み出され,その画素の色データの生成に利用される。
テクスチャ画像として,グラデーション模様のテクスチャ画像が良く用いられる。例えば,徐々に変化するブレンド率で2つの色をブレンドすることで,グラデーション模様のテクスチャ画像のデータを生成することができる。線形グラデーションでは,模様が単純で表現力が高くならないため,より表現力が豊かなグラデーション模様として,非線形グラデーション模様のテクスチャ画像が良く利用される。
グラデーション模様については,例えば,特許文献1,2などに開示されている。
非線形グラデーション模様のテクスチャ画像のデータは,非線形曲面のデータであり,非線型曲面の演算処理が複雑であるため,予め演算で求めたテクスチャデータをテクスチャメモリ内に格納しておくことが行われる。そして,描画対象のポリゴン内の画素のテクスチャ座標に基づいて,テクスチャメモリから対応するテクスチャデータ(テクセルの色データ)を読み出し,画素のテクセルの色データとして使用する。
しかし,画像処理で利用できる高速内部メモリの容量をできる限り小さくすることが要求されている。そのため,大容量のテクスチャデータを内部メモリ内に格納することは,制限されたメモリ容量の観点から好ましくない。
一方で,画素のテクスチャデータを生成する演算回路を設けることで,内部メモリの容量の利用を回避することができる。しかし,非線形グラデーション模様のテクスチャデータは,二次元のデータの演算であり,演算回路が膨大になり,集積度の観点で好ましくない。
そこで,本発明の目的は,回路規模が小さい非線形グラデーション模様のテクスチャデータを生成する画像処理装置を提供することにある。
画像処理装置の第1の側面は,ポリゴンの画像処理を行う画像処理装置であって,
第1,第2のテクスチャ座標を有する画素データを入力し,非線形曲面に基づくグラデーション模様を有するテクスチャ画像内の前記第1,第2のテクスチャ座標に対応するテクセルデータを生成するテクスチャマッピング部を有し,
前記非線形曲面の関数は,第1のベジエ曲線関数と第2のベジエ曲線関数との積で規定され,
前記テクスチャマッピング部は,
前記第1のテクスチャ座標と,前記第1のベジエ曲線関数の制御値とを入力し,第1のベジエ曲線関数を演算する第1のベジエ曲線関数演算部と,
前記第2のテクスチャ座標と,前記第2のベジエ曲線関数の制御値とを入力し,第2のベジエ曲線関数を演算する第2のベジエ曲線関数演算部と,
前記第1,第2のベジエ曲線関数演算部の出力を乗算する乗算器と,
前記乗算器の乗算値をブレンド率に使用して,前記グラデーション模様に対応する複数の色データをブレンドして前記テクセルデータを生成するブレンド処理部とを有する。
第1,第2のテクスチャ座標を有する画素データを入力し,非線形曲面に基づくグラデーション模様を有するテクスチャ画像内の前記第1,第2のテクスチャ座標に対応するテクセルデータを生成するテクスチャマッピング部を有し,
前記非線形曲面の関数は,第1のベジエ曲線関数と第2のベジエ曲線関数との積で規定され,
前記テクスチャマッピング部は,
前記第1のテクスチャ座標と,前記第1のベジエ曲線関数の制御値とを入力し,第1のベジエ曲線関数を演算する第1のベジエ曲線関数演算部と,
前記第2のテクスチャ座標と,前記第2のベジエ曲線関数の制御値とを入力し,第2のベジエ曲線関数を演算する第2のベジエ曲線関数演算部と,
前記第1,第2のベジエ曲線関数演算部の出力を乗算する乗算器と,
前記乗算器の乗算値をブレンド率に使用して,前記グラデーション模様に対応する複数の色データをブレンドして前記テクセルデータを生成するブレンド処理部とを有する。
第1の側面によれば,内部メモリにテクスチャデータを格納しておく必要がなく,また画像処理装置の回路規模も小さくできる。
図1は,非線形グラデーション模様のテクスチャ画像とポリゴンとの関係を示す図である。非線形グラデーション模様GRのデータは,座標s=0.0〜1.0,t=0.0〜1.0の2次元の範囲内の非線形の色データまたはその色データを生成するための基礎データである。一般には,2次元の範囲内の非線形の色データが内部メモリに予め格納され,描画対象のポリゴンPGの3つの頂点のテクスチャ座標(s,t)で特定される三角形範囲内のグラデーション模様が,ポリゴンPGにマッピングされる。
図1のように内部メモリに格納される非線形グラデーション模様GRの色データは,各テクセル(テクスチャ画像の各画素に対応)が,例えばRGBそれぞれ8ビットのデータと,8ビットの制御データとを有し,合計で32ビット(4バイト)のデータである。そして,2次元の範囲内に512×512のテクセルがあれば,内部メモリに格納されるデータ量は,512×512×4バイトという膨大な量になる。
図1の非線形グラデーション模様GRは,2つの色を非線形のブレンド率でブレンド処理して得られる。例えば,第1の色データcolor_0と第2の色データcolor_2とがブレンド率br(br=0.0〜1.0)でブレンド処理されると,グラデーション模様GRの色データtexel_colorは,次の演算式で求められる。
texel_color=(1.0-br)*color_0+br*color_1
このブレンド率brが非線形曲面の値になっていれば,グラデーション模様GRの色データも非線形曲面の値になる。
texel_color=(1.0-br)*color_0+br*color_1
このブレンド率brが非線形曲面の値になっていれば,グラデーション模様GRの色データも非線形曲面の値になる。
非線形グラデーション模様は,例えばベジエ曲面で定義することができる。ベジエ曲面は,後述するとおり,2次元の制御点の値(以下制御値)に基づいてベジエ曲面関数により定義できる。ベジエ曲面関数によれば,2次元の制御値を任意に規定することで,所望の非線形曲面を定義できることが知られている。
ただし,ベジエ曲面の関数の演算処理は多くの積算と加減算を必要とするので,そのベジエ曲面関数の演算回路を設けて,処理対象の画素のテクスチャ座標に基づいてテクスチャデータを演算で求める構成すると,演算回路の規模が膨大になり,内部メモリの容量を削減したことの意味がなくなる。
しかしながら,本発明者らが鋭意検討した結果,第1のテクスチャ座標sを変数とする第1のベジエ曲線関数と,第2のテクスチャ座標tを変数とする第2のベジエ曲線関数の出力を乗算することで,2次元の非線形グラデーション模様のデータを生成することができ,そのような演算回路の規模は,ベジエ曲面関数の演算回路より十分小規模であることを見いだした。
図2は,本実施の形態における表示システムの構成を示す図である。表示システムは,表示画像を生成する表示画像生成装置1と,生成された表示画像を表示する表示装置2とを有する。
表示画像生成装置1は,CPU10と,内部メモリ14と,それらを接続する内部バスBUSとを有する。さらに,表示画像生成装置1は,画像生成プログラム12を格納するプログラムメモリを有し,画像生成プログラム12はCPU10で実行される。画像生成プログラム12をCPU10で実行することで,各フレームで表示される3D画像を構成するポリゴンデータが生成される。そして,画像生成プログラム12は,各ポリゴンデータを指定して,ポリゴンデータの描画命令を発行する。
画像処理装置16は,描画命令のポリゴンデータを処理して,表示されるフレーム画像を生成し,内部メモリ14内に格納するハードウエア回路である。3D画像は,多数のポリゴンデータで構成され,画像処理装置16は,多数のポリゴンデータを高速に処理して,内部メモリ14内のフレームメモリ領域内に各ポリゴンの画素の色データを書き込む。
そして,1つのフレーム内の全てのポリゴンの色データの書込処理が完了すると,表示コントローラ18により,そのフレームメモリ領域内の色データが読み出され,表示装置2に出力される。その結果,表示装置2はそのフレームの画像を表示する。
本実施の形態の画像処理装置は,図2の表示画像生成装置1内の画像処理装置16に対応する。
図3は,本実施の形態における画像処理装置16の構成を示す図である。図3には,内部メモリ14と画像処理装置16とに加えて,画像処理装置16に供給されるデータ30,36と,画像処理により生成される内部データ31〜35が示されている。
内部メモリ14は,図2に示した画像生成プログラム12を実行することで生成される各種パラメータデータを格納するパラメータメモリ14Aと,画像処理装置16が生成するポリゴンの色データが書き込まれるフレームメモリ14Bとを有する。
画像生成プログラム12がCPUで実行されると,描画すべきポリゴンデータ30と,非線形グラデーション模様を持つテクスチャ画像データを生成するためのテクスチャパラメータ36とが,パラメータメモリ14A内に格納される。そして,画像生成プログラム12が,ポリゴンデータ30とテクスチャパラメータ36を指定してポリゴンの描画命令を発行すると,それに応答して,画像処理装置16が以下の画像処理を行ってポリゴン内の各画素の色データを生成し,フレームメモリ14Bに書き込む。
画像処理装置16は,ポリゴンの頂点データの処理を行う頂点処理部161と,ポリゴン内の画素データの処理を行う画素処理部165とを有する。以下,頂点処理部161と画素処理部15の処理内容について,ポリゴンの内部データ30〜37と共に説明する。
まず,ポリゴンの描画命令で描画対象のポリゴンデータ30と,非線形グラデーション模様を持つテクスチャ画像のパラメータ36とが指定されている。このポリゴンデータ30とテクスチャパラメータ36は,図2の画像生成プログラムにより生成される。
そこで,頂点処理部161の第1座標変換部162は,パラメータメモリ14Aから描画対象のポリゴンデータ30を読み出す。このポリゴンデータ30は,例えば,次のデータを有する。
ポリゴンの識別番号PGID
絶対空間内の3つの頂点の座標(Xa1,Ya1,Za1)(Xa2,Ya2,Za2)(Xa3,Ya3,Za3)
3つの頂点の色データCL1,CL2,CL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
第1座標変換部162は,描画命令で指定された視点座標に基づいて,3つの頂点の絶対空間内の座標を,視点を原点とする座標系の座標値に変換する。その結果,第1座標変換部162は,次のポリゴンデータ31を出力する。
ポリゴンの識別番号PGID
視点を原点とする空間内の3つの頂点の座標(Xp1,Yp1,Zp1)(Xp2,Yp2,Zp2)(Xp3,Yp3,Zp3)
3つの頂点の色データCL1,CL2,CL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
次にライティング部163は,頂点の色データCL1,CL2,CL3を,光源に基づいて陰影処理して光源処理済みの色データCLL1,CLL2,CLL3を生成する。具体的には,ライティング部163は,描画対象ポリゴンの3つの頂点の座標(Xp1,Yp1,Zp1)〜(Xp3,Yp3,Zp3)と,光源に対する法線ベクトルとを有する頂点情報と,光源の座標と光源の向きを有する光源情報と,視点座標と視点の向きを有する視点情報とに基づいて,各頂点の色データの陰影処理を行い,各頂点の表示される色を決定する。この光源に対する陰影処理の演算方法は,一般に知られた方法で行う。その結果,ライティング部163は,次のポリゴンデータ32を出力する。
ポリゴンの識別番号PGID
視点を原点とする空間内の3つの頂点の座標(Xp1,Yp1,Zp1)(Xp2,Yp2,Zp2)(Xp3,Yp3,Zp3)
3つの頂点の色データCLL1,CLL2,CLL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
そして,第2座標変換部164は,上記ポリゴンデータ32のポリゴンの頂点座標を,視点を原点とする空間内に設定したスクリーンの座標系の座標に変換する。スクリーンの座標系は,スクリーン上の二次元座標x,yと,スクリーン内の深度zからなる。その結果,第2座標変換部164は,次のポリゴンデータ33を出力する。
ポリゴンの識別番号PGID
3つの頂点のスクリーン座標(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)
3つの頂点の色データCLL1,CLL2,CLL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
次に,画素処理部165の各処理について説明する。まず,ラスタライズ処理部166は,描画対象のポリゴン内の画素のデータをラスタライズ順に演算して出力する。
ポリゴンの識別番号PGID
絶対空間内の3つの頂点の座標(Xa1,Ya1,Za1)(Xa2,Ya2,Za2)(Xa3,Ya3,Za3)
3つの頂点の色データCL1,CL2,CL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
第1座標変換部162は,描画命令で指定された視点座標に基づいて,3つの頂点の絶対空間内の座標を,視点を原点とする座標系の座標値に変換する。その結果,第1座標変換部162は,次のポリゴンデータ31を出力する。
ポリゴンの識別番号PGID
視点を原点とする空間内の3つの頂点の座標(Xp1,Yp1,Zp1)(Xp2,Yp2,Zp2)(Xp3,Yp3,Zp3)
3つの頂点の色データCL1,CL2,CL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
次にライティング部163は,頂点の色データCL1,CL2,CL3を,光源に基づいて陰影処理して光源処理済みの色データCLL1,CLL2,CLL3を生成する。具体的には,ライティング部163は,描画対象ポリゴンの3つの頂点の座標(Xp1,Yp1,Zp1)〜(Xp3,Yp3,Zp3)と,光源に対する法線ベクトルとを有する頂点情報と,光源の座標と光源の向きを有する光源情報と,視点座標と視点の向きを有する視点情報とに基づいて,各頂点の色データの陰影処理を行い,各頂点の表示される色を決定する。この光源に対する陰影処理の演算方法は,一般に知られた方法で行う。その結果,ライティング部163は,次のポリゴンデータ32を出力する。
ポリゴンの識別番号PGID
視点を原点とする空間内の3つの頂点の座標(Xp1,Yp1,Zp1)(Xp2,Yp2,Zp2)(Xp3,Yp3,Zp3)
3つの頂点の色データCLL1,CLL2,CLL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
そして,第2座標変換部164は,上記ポリゴンデータ32のポリゴンの頂点座標を,視点を原点とする空間内に設定したスクリーンの座標系の座標に変換する。スクリーンの座標系は,スクリーン上の二次元座標x,yと,スクリーン内の深度zからなる。その結果,第2座標変換部164は,次のポリゴンデータ33を出力する。
ポリゴンの識別番号PGID
3つの頂点のスクリーン座標(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)
3つの頂点の色データCLL1,CLL2,CLL3
3つの頂点に対応するテクスチャ座標(s1,t1)(s2,t2)(s3,t3)
次に,画素処理部165の各処理について説明する。まず,ラスタライズ処理部166は,描画対象のポリゴン内の画素のデータをラスタライズ順に演算して出力する。
図4は,ラスタライズ処理を説明する図である。描画すべきポリゴンPGの3つの頂点V1,V2,V3それぞれのデータは,上記のポリゴンデータ33で説明した通りである。そこで,ラスタライズ処理では,この3頂点のデータから,線型補間演算により,ポリゴン内の画素PXのデータを求める。例えば,頂点V1,V2の間の画素P12のスクリーン座標(x,y),色データCLL,テクスチャ座標(s,t)が,頂点V1,V2のデータを補間比率k:1−kで補間する演算により求められる。さらに,頂点V3,V1との間の画素P31のスクリーン座標,色データ,テクスチャ座標も,頂点V3,V1のデータを補間比率k:k−1で補間する演算により求められる。
そして,2つの画素P12,P31の間の画素PXのスクリーン座標,色データ,テクスチャ座標が,2つの画素P12,P31のデータを補間比率l:1−lで補間する演算により求められる。その結果,ラスタライズ処理部166は,ポリゴンPG内の画素データ34をラスタライズ順に出力する。出力される画素データ34は次の通りである。
スクリーン座標(x,y,z)
色データCLLp
テクスチャ座標(s,t)
次に,テクスチャマッピング部167は,画素データ34を入力し,それに含まれている画素のテクスチャ座標(s,t)と,ポリゴン描画命令で指定されたテクスチャ画像パラメータ36に基づいて,テクセルの色データを演算する。そして,テクスチャマッピング167は,画素データ34に含まれている色データCLLpと,テクセルの色データ(模様の色)とを合成して,フレームメモリ14B内に書き込む色データを生成する。
スクリーン座標(x,y,z)
色データCLLp
テクスチャ座標(s,t)
次に,テクスチャマッピング部167は,画素データ34を入力し,それに含まれている画素のテクスチャ座標(s,t)と,ポリゴン描画命令で指定されたテクスチャ画像パラメータ36に基づいて,テクセルの色データを演算する。そして,テクスチャマッピング167は,画素データ34に含まれている色データCLLpと,テクセルの色データ(模様の色)とを合成して,フレームメモリ14B内に書き込む色データを生成する。
図5は,テクスチャマッピング部167の構成図である。テクスチャマッピング部167では,制御部40が,入力される画素データ34に含まれるテクスチャ座標(s,t)と,パラメータメモリ14Aから読み出したテクスチャ画像のパラメータデータ36とをテクスチャ生成回路41に出力する。テクスチャ画像のパラメータデータ36を特定する情報は,描画対象のポリゴンデータ30〜33に含められていても良く,または,別の方法でテクスチャマッピング部167の制御部40に入力されても良い。
本実施の形態におけるテクスチャ生成回路41について説明する。まず,本実施の形態における非線形グラデーション模様のテクスチャ画像データについて説明する。
図1で説明した非線型グラデーション模様GRは,理想的にはベジエ曲面によって規定することができる。ベジエ曲面の演算式は,次のとおりである。
!は階乗を示し,Pijは(n+1)×(m+1)個の二次元的に配置された制御値である。
したがって,ベジエ曲面は,パラメータとしてn+1,m+1,(n+1)×(m+1)個の制御値Pijを与えられれば,(n+1)×(m+1)個の二次元的に配置された制御値Pijに対応する非線形の曲面の高さとして規定される。そこで,このベジエ曲面の演算値をブレンド係数に対応させて,2つの色をブレンド係数でブレンド処理して得られる色を,テクスチャ画像の色データにする。
理想的には,テクスチャ生成回路41を,上記式1のベジエ曲面の演算式に対応する演算回路で構成すれば,画素データのテクスチャ座標(s,t)に基づいて,テクセルの色データを演算で求めることができ,テクスチャメモリを設ける必要がない。
しかしながら,上記式1のベジエ曲面の演算式は複雑であり,その演算回数は次の通りである。
乗算の回数:(n+m+2)(m+1)(n+1)
加減算の回数:n(n+1)(m+1)/2+m(n+1)(m+1)/2+nm
なお,式2,3の,n!/i!(n-1)!,m!/j!(m-1)!の演算に必要な回数は含まれていない。
乗算の回数:(n+m+2)(m+1)(n+1)
加減算の回数:n(n+1)(m+1)/2+m(n+1)(m+1)/2+nm
なお,式2,3の,n!/i!(n-1)!,m!/j!(m-1)!の演算に必要な回数は含まれていない。
具体例で説明すると,n+1=4,m+1=4の場合(制御値Pijは16個)の式1は以下の通り3次の関数になる。
上記の場合は,乗算の回数が128(P00〜P03の4つの項で各項8回(32回),P10〜P13,P20〜P23,P30〜P33でも同じで,合計128回),加減算の回数が64(16項で48回,16項の加算回数が16回)であり,3次の関数の場合でも演算回路規模は大きくなる。
そこで,本実施の形態では,図1で説明した非線型グラデーション模様GRを,2つのベジエ曲線の積によって規定する。すなわち,以下の演算式のとおりである。
上記の式6,7は,それぞれ変数s,t,制御値Pi,Qjのベジエ曲線の関数である。式1の場合は,制御値Pijは,(n+1)×(m+1)個であったのに対して,式5では,制御値Pi,Qjはそれぞれ(n+1)個,(m+1)個である。式5は,式6,式7の第1,第2のベジエ曲線を乗算したものである。
上記式(5)で規定される座標平面(s,t)の曲面は,式(1)に示された理想的なベジエ曲面と類似または一致させることができる。すなわち,式(1)と式(5)は,次の関係になる。
式8からわかるように,式1のベジエ曲面の二次元の各制御値Pijに対して,式5の2つのベジエ曲線の各制御値Pi,Qjの積が等しくなる場合(Pij=Pi*Qj),式5の曲面は,式1のベジエ曲面と一致させることができる。但し,式1のベジエ曲面の二次元の各制御値Pijと,式5の2つのベジエ曲線の各制御値Pi,Qjの積とが,近似する場合でも,式5の曲面は,式1のベジエ曲面に近似する面にすることができる。
しかも,式5の曲面のように,2つのベジエ曲線の積で定義することで,その演算回数は,以下のようになる。この回数は,式1の場合よりも少ない。
乗算の回数:(n+1)2+(m+1)2+1
加減算の回数:n(n+3)/2+m(m+3)/2
なお,n!/i!(n-1)!,m!/j!(m-1)!の演算に必要な回数は含まれていない。
乗算の回数:(n+1)2+(m+1)2+1
加減算の回数:n(n+3)/2+m(m+3)/2
なお,n!/i!(n-1)!,m!/j!(m-1)!の演算に必要な回数は含まれていない。
具体例で説明すると,n+1=4,m+1=4の場合(制御値Pi,Qjはそれぞれ4個)の式1は以下の通り3次の関数になる。
上記の場合は,乗算の回数が33,加減算の回数が18であり,ベジエ曲面の式4に比較すると,その演算回路規模は小さい。式9では,前半の括弧内の各項に乗算が4回ずつ,減算が3,2,1回あり,4つの項の加算が3回で加減算の合計は9回ある。後半の括弧内も同様である。そして,2つの括弧の乗算が1回ある。
本実施の形態では,図5に示したテクスチャ生成回路41を,式8の演算を行う演算回路で構成する。さらに,好ましくは,上記式9の演算を行う演算回路で構成する。
図6は,本実施の形態におけるテクスチャ生成回路41の構成図である。図6のテクスチャ生成回路41は,テクスチャ座標sに対応する小数部抽出部50と,式6のベジエ曲線関数部51と,テクスチャ座標tに対応する小数部抽出部52と,式7のベジエ曲線関数部53と,2つのベジエ曲線関数部の出力を乗算する乗算器54とを有する。以上の回路構成で,上記の式5,またはn=m=3の場合の式9の演算が行われる。
図中,テクスチャ座標s,tと,ベジエ曲線の制御値p[4],q[4]とは,浮動小数点のデータであり,図中「float」で表記されている。小数部抽出部50,52は,テクスチャ座標s,tの小数点部分を抽出する回路である。テクスチャ座標s,tは,図1に示したとおり,それぞれ0.0〜1.0のいずれかの値であり,有効なデータは小数点部分である。
さらに,図6において,正規化処理部55が,乗算器54の出力を0.0〜1.0の範囲に正規化する処理を行い,ブレンド率brを出力する。これは,ブレンド率brを0.0〜1.0の範囲内に正規化して,後段のブレンド処理部56でブレンド率brとして使用できるようにするためである。ブレンド処理部56は,ブレンド率brに基づいて,グラデーション模様を構成する2つの色color_0,color_1をブレンド処理して,テクセルの色CLtxを出力する。
図7は,図6の第1のベジエ曲線関数部51の構成図である。この第1のベジエ曲線関数部51は,式9の前半の括弧内の演算を行う回路であり,式9の前半の括弧内の各項を演算する回路61,62,63,64が並列に設けられ,それぞれテクスチャ座標sとそれぞれの制御値p0−p3が回路61〜64に入力される。さらに,回路61,62の出力を加算する加算器65と,回路63,64の出力を加算する加算器66と,両加算器65,66の出力を加算する加算器67とを有する。
図8は,図6の第2のベジエ曲線関数部53の構成図である。この第2のベジエ曲線関数部53は,式9の後半の括弧内の演算を行う回路であり,式9の後半の括弧内の各項を演算する回路71,72,73,74が並列に設けられ,それぞれテクスチャ座標sとそれぞれの制御値q0−q3が回路71〜74に入力される。さらに,回路71,72の出力を加算する加算器75と,回路73,74の出力を加算する加算器76と,両加算器75,76の出力を加算する加算器77とを有する。
図9は,図6のブレンド処理部56の演算式を示す図である。ブレンド処理部56は,グラデーション模様のテクスチャ画像のパラメータである2つの色color_0, color_1を,上記の演算回路により生成したブレンド率brに基づいて以下の演算式で演算して,テクセルカラーデータCLtxを出力する。
CLtx=(1.0-br)*color_0 + br*color_1 (式10)
色データcolor_0, color_1は,例えば3原色RGBのデータと制御データAとを有し,color_0=R0,G0,B0,A0,color_1=R1,G1,B1,A1である。また,式10の演算は,各色データについて行われ,制御データAはブレンド処理演算されない。
図5のテクスチャマッピング部に戻り,色合成部42は,ポリゴンの頂点の色データを補間演算で求めた画素の色データCLLpと,テクセルカラーデータCLtxとを合成して,画素の色データCLLsを出力する。具体的には,好ましくは,画素の色データCLLpと,テクセルカラーデータCLtxとを,所定のブレンド率でブレンド処理する。ブレンド処理は,前述の式10と同様の演算である。
CLtx=(1.0-br)*color_0 + br*color_1 (式10)
色データcolor_0, color_1は,例えば3原色RGBのデータと制御データAとを有し,color_0=R0,G0,B0,A0,color_1=R1,G1,B1,A1である。また,式10の演算は,各色データについて行われ,制御データAはブレンド処理演算されない。
図5のテクスチャマッピング部に戻り,色合成部42は,ポリゴンの頂点の色データを補間演算で求めた画素の色データCLLpと,テクセルカラーデータCLtxとを合成して,画素の色データCLLsを出力する。具体的には,好ましくは,画素の色データCLLpと,テクセルカラーデータCLtxとを,所定のブレンド率でブレンド処理する。ブレンド処理は,前述の式10と同様の演算である。
そして,図3の画像処理装置16では,描画・非描画判定部168は,テクスチャマッピング部167が出力する画素データ35のスクリーン画面内座標値(x,y,z)に基づいて,処理対象画素の色データCLLsをフレームメモリ14B内に上書きするか否かを判定する。具体的には,描画・非描画判定部168は,スクリーン画面の座標(x,y)において,フレームメモリ14B内に記憶されている画素の深度zと,現在処理中の画素の深度zとを比較し,処理中の画素の深度zのほうが浅い場合,つまり,フレームメモリ14B内に記憶されているポリゴンの画素より,処理中のポリゴンの画素がスクリーンの深さ方向(z軸方向)で手前の場合は,フレームメモリ14B内に色データCLLsを上書きし,手前でない場合は,色データCLLsを破棄してフレームメモリ14B内には書き込まない。
フレームメモリ14B内に処理中の画素の色データCLLsを上書きした場合は,その画素の深度zが同じフレームメモリ14B内に,または別の深度バッファなどのメモリ内に記録され,その後の画素の色データとの深度チェックに利用可能にされる。
以上説明したとおり,本実施の形態によれば,3次元のコンピュータグラフィックスの画像処理におけるテクスチャマッピングにおいて,非線形グラデーション模様のテクスチャ画像をマッピングする処理で,内部メモリに予め格納したテクスチャ画像をマッピングするのではなく,演算回路によりその都度テクセルの色データを生成する。したがって,内部メモリの容量を削減できる。また,非線形グラデーション模様のテクスチャ画像を,2つのベジエ曲線の積で規定することにより,演算回路の回路規模を小さくすることができる。
51:第1のベジエ曲線関数部
53:第2のベジエ曲線関数部
54:乗算器
56:ブレンド処理部
53:第2のベジエ曲線関数部
54:乗算器
56:ブレンド処理部
Claims (4)
- ポリゴンの画像処理を行う画像処理装置であって,
第1,第2のテクスチャ座標を有する画素データを入力し,非線形曲面に基づくグラデーション模様を有するテクスチャ画像内の前記第1,第2のテクスチャ座標に対応するテクセルデータを生成するテクスチャマッピング部を有し,
前記非線形曲面の関数は,第1のベジエ曲線関数と第2のベジエ曲線関数との積で規定され,
前記テクスチャマッピング部は,
前記第1のテクスチャ座標と,前記第1のベジエ曲線関数の制御値とを入力し,第1のベジエ曲線関数を演算する第1のベジエ曲線関数演算部と,
前記第2のテクスチャ座標と,前記第2のベジエ曲線関数の制御値とを入力し,第2のベジエ曲線関数を演算する第2のベジエ曲線関数演算部と,
前記第1,第2のベジエ曲線関数演算部の出力を乗算する乗算器と,
前記乗算器の乗算値をブレンド率に使用して,前記グラデーション模様に対応する複数の色データをブレンドして前記テクセルデータを生成するブレンド処理部とを有する画像処理装置。 - 請求項1において,
前記第1のベジエ曲線関数は,前記第1のテクスチャ座標をs,当該第1のベジエ曲線の制御値をPi(i=0〜n)とすると,次の通りであり,
前記非線形曲面の関数は,
- 請求項2において,
前記n,mは,n=3,m=3である画像処理装置。 - 請求項1において,
前記テクスチャマッピング部は,さらに,前記テクセルデータと,前記画素データの色データとを合成する色合成部を有する画像処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012200168A JP2014056371A (ja) | 2012-09-12 | 2012-09-12 | 画像処理装置 |
US14/013,702 US20140071124A1 (en) | 2012-09-12 | 2013-08-29 | Image processing apparatus |
EP20130182948 EP2709068A1 (en) | 2012-09-12 | 2013-09-04 | Image processing apparatus |
CN201310409486.XA CN103679776A (zh) | 2012-09-12 | 2013-09-10 | 图像处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012200168A JP2014056371A (ja) | 2012-09-12 | 2012-09-12 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014056371A true JP2014056371A (ja) | 2014-03-27 |
Family
ID=49111025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012200168A Withdrawn JP2014056371A (ja) | 2012-09-12 | 2012-09-12 | 画像処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140071124A1 (ja) |
EP (1) | EP2709068A1 (ja) |
JP (1) | JP2014056371A (ja) |
CN (1) | CN103679776A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170005033A (ko) * | 2014-06-30 | 2017-01-11 | 인텔 코포레이션 | 감소된 픽셀 쉐이딩을 위한 기술 |
US11749499B2 (en) | 2020-09-24 | 2023-09-05 | Nuflare Technology, Inc. | Data generation method and charged particle beam irradiation device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6207534B2 (ja) * | 2012-03-15 | 2017-10-04 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | マルチモダリティ・デフォーマブルレジストレーション |
US10909949B2 (en) * | 2015-06-12 | 2021-02-02 | Avago Technologies International Sales Pte. Limited | System and method to provide high-quality blending of video and graphics |
DE112016006387T5 (de) * | 2016-03-15 | 2018-10-18 | Mitsubishi Electric Corporation | Texturabbildungsvorrichtung und texturabbildungsprogramm |
CN107204033B (zh) * | 2016-03-16 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 图片的生成方法和装置 |
GB201608101D0 (en) * | 2016-05-09 | 2016-06-22 | Magic Pony Technology Ltd | Multiscale 3D texture synthesis |
WO2019140616A1 (zh) * | 2018-01-19 | 2019-07-25 | 深圳市大疆创新科技有限公司 | 障碍物信息处理方法及终端设备 |
US10924633B1 (en) * | 2020-02-03 | 2021-02-16 | Adobe Inc. | RGB-based parametric color mixing system for digital painting |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2207585B (en) * | 1987-07-27 | 1992-02-12 | Sun Microsystems Inc | Method and apparatus for shading images |
AUPM822294A0 (en) * | 1994-09-16 | 1994-10-13 | Canon Inc. | Colour blend system |
JP2889842B2 (ja) * | 1994-12-01 | 1999-05-10 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
US6313840B1 (en) * | 1997-04-18 | 2001-11-06 | Adobe Systems Incorporated | Smooth shading of objects on display devices |
US6271861B1 (en) * | 1998-04-07 | 2001-08-07 | Adobe Systems Incorporated | Smooth shading of an object |
US6147689A (en) * | 1998-04-07 | 2000-11-14 | Adobe Systems, Incorporated | Displaying 2D patches with foldover |
US7027056B2 (en) * | 2002-05-10 | 2006-04-11 | Nec Electronics (Europe) Gmbh | Graphics engine, and display driver IC and display module incorporating the graphics engine |
JP2008148165A (ja) | 2006-12-12 | 2008-06-26 | Canon Inc | 画像処理方法及び画像処理システム |
US20100013854A1 (en) * | 2008-07-18 | 2010-01-21 | Microsoft Corporation | Gpu bezier path rasterization |
EP2202689A1 (en) * | 2008-12-24 | 2010-06-30 | STMicroelectronics R&D Ltd | A processing unit |
JP5318587B2 (ja) | 2009-01-13 | 2013-10-16 | 株式会社セルシス | グラデーション作成方法、プログラムおよび装置 |
-
2012
- 2012-09-12 JP JP2012200168A patent/JP2014056371A/ja not_active Withdrawn
-
2013
- 2013-08-29 US US14/013,702 patent/US20140071124A1/en not_active Abandoned
- 2013-09-04 EP EP20130182948 patent/EP2709068A1/en not_active Withdrawn
- 2013-09-10 CN CN201310409486.XA patent/CN103679776A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170005033A (ko) * | 2014-06-30 | 2017-01-11 | 인텔 코포레이션 | 감소된 픽셀 쉐이딩을 위한 기술 |
JP2017523497A (ja) * | 2014-06-30 | 2017-08-17 | インテル・コーポレーション | 縮小ピクセルシェーディングのための技術 |
KR102225281B1 (ko) | 2014-06-30 | 2021-03-08 | 인텔 코포레이션 | 감소된 픽셀 쉐이딩을 위한 기술 |
US11749499B2 (en) | 2020-09-24 | 2023-09-05 | Nuflare Technology, Inc. | Data generation method and charged particle beam irradiation device |
Also Published As
Publication number | Publication date |
---|---|
EP2709068A1 (en) | 2014-03-19 |
CN103679776A (zh) | 2014-03-26 |
US20140071124A1 (en) | 2014-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014056371A (ja) | 画像処理装置 | |
US11232534B2 (en) | Scheme for compressing vertex shader output parameters | |
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
KR100261076B1 (ko) | 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 | |
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US6417858B1 (en) | Processor for geometry transformations and lighting calculations | |
US7746342B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
JP2015515059A (ja) | シーンにおける不透明度レベルを推定する方法とそれに対応する装置 | |
WO2006095481A1 (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
US6791569B1 (en) | Antialiasing method using barycentric coordinates applied to lines | |
WO1996028794A1 (fr) | Dispositif d'affichage graphique tridimensionnel | |
US8004515B1 (en) | Stereoscopic vertex shader override | |
JP6223916B2 (ja) | 情報処理装置、方法及びプログラム | |
JP4756107B1 (ja) | グラフィックス処理装置 | |
JP3966433B2 (ja) | ガス状物体画像合成回路 | |
JP2009163469A (ja) | 大局照明回路 | |
JP2006113909A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN116934950A (zh) | 皮肤渲染方法及装置、计算机存储介质、电子设备 | |
US9129447B2 (en) | Method and device for generating graphic images | |
Yeo | Accurate rendering of curved higher-order surfaces on the GPU | |
JP2002245483A (ja) | 画像処理装置及び方法並びにそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150525 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150610 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20150915 |