図面 (/)

技術 光反射強度計算回路

出願人 株式会社ディジタルメディアプロフェッショナル
発明者 坪井映樹池戸恒雄
出願日 2004年3月5日 (16年6ヶ月経過) 出願番号 2005-503115
公開日 2006年6月8日 (14年2ヶ月経過) 公開番号 WO2004-079663
状態 不明
技術分野
  • -
主要キーワード 面接線 光反射成分 多角形頂点 鏡面反射光成分 多角形面 パターン読出 推論モデル 逆数計算
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2006年6月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (6)

課題・解決手段

本発明は、光反射成分を精度よく計算できる回路などを提供することを目的とする。 表面粗さをもつ物体反射成分を求めるための回路であって、ベクトルNを面法線ベクトルとし、ベクトルLを光源入射単位ベクトルとし、Vを視線単位ベクトルとし、Hを光源入射ベクトルLと視線ベクトルVとのハーフベクトルとし、N・L=cosθ,N・V=cosγ,V・H=cosφ,N・H=cosβとして、φ、又はcosφの値と関連して、物体の反射率を記憶する手段と、β、又はcosβの値と関連して、輝度分布を記憶する手段と、φ、又はcosφの値により前記の反射率を記憶する手段から、反射成分のうち反射率項(Fλ(φ))に関する情報を得る手段と、β、又はcosβの値により前記輝度分布を記憶する手段から、反射成分のうち輝度分布項(D’(β))に関する情報を得る手段と、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値であるmax[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]に関する情報を得る手段と、前記max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の値の逆数を求め、反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る手段と、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、反射成分に関する情報を得る手段とを具備する回路などを提供する。

概要

背景

光反射モデリングは、3次元コンピュータグラフィックス映像リアリスティック表現するために重要な技術である。特定のアルゴリズムを用いて光反射物体を描画するいくつかの光反射モデリング技術が開発されている。ポリゴン表記法における光反射モデリングとしては、フォンシェーディングが知られている。フォン・シェーディングは、面表面を均一な平面とし、表面粗さによって生じる表面上での乱反射率および光波長特性を考慮しない。一方、表面粗さをモデル化したものとしてクック/トランス(Cook/Torrance)モデルが知られている。これは鏡面反射成分Rsを下記の式(1)で表現するモデルである。

ここで、Nは面法線ベクトルNを表し、Lは光源入射(単位)ベクトルLを表し、Vは視線(単位)ベクトルVを表す。Hは、光源入射ベクトルLと視線ベクトルVとのハーフベクトルHを表す。λは入射光波長を表す。θは光源入射ベクトルLと面法線ベクトルNがなす角を表し、αは光の反射ベクトルと視線ベクトルVとがなす角を表す。また、ρ(λ,θ)は、物体反射率を表す関数であり、D(α)は、輝度分布関数である。
式(1)において幾何減衰率Gは、ベクトル表記であり、括弧内の3項のうち最小値をとる。拡散反射成分cosθ、cosαおよび面法線ベクトルNと視線ベクトルVとの内積cosγをそれぞれ、以下の(2)〜(4)で表す。

上記の(2)から(4)式までを用いて(1)式を展開すると、ラフ面の鏡面反射成分Ispecとして下記式(5)が得られる。

日本国特許公開2003年30683号公報(特許文献1)には、ラフ面の鏡面反射光成分Ispecを得るための回路が開示されている。図5に日本国特許公開2003年30683号公報に開示される回路の概略図を示す。図5中、101は1/cosθテーブル、102は1/cosγテーブル、103はD(cosα)テーブル、104はk×ρ(λ,cosθ)テーブル、105は減算器、106はマルチプレクサ、107は1/2シフター、108は乗算器、109は比較器、110は乗算器、111は乗算器、112はマルチプレクサ、113は乗算した値の2倍の値を出力する乗算器を表す。
この回路では、cosγとcosθの逆数をテーブル101およびテーブル102で求め、1/2シフター107と乗算器108とマルチプレクサ106およびマルチプレクサ112などを用いて最小値を求める。ところが(5)式において、[]内の3項はそれぞれ0から無限大の値を持ち得る。このため、このこれらの値の精度が低く、正しく最小値を選ぶことが難しい。その結果、この回路を用いて得られる鏡面反射成分Ispecの精度が低くなる。
また、異方性反射は、CD−ROM、髪、服、金属などから光が反射する際に、独特の輝度分布を示すことを意味する。異方性反射は、たとえば、面上のけがき微小な溝(以下、「溝」ともいう)での光の反射作用により生じる。異方性反射をコンピュータグラフィックスで表現する方法として、描画する物体の面を定義する際、面を構成する多角形のそれぞれの頂点における面法線、光源入射角、及び視点角を定義すると共に、溝の方向を示す面接線をも定義し、これを多角形内部の内挿補間を行って、補間データから異方性反射を求めることが考えられている。この従来の異方性反射の表現方法では、多角形単位に一様な反射率を設定する。
このような従来の異方性反射の表現方法は、溝が多角形面全体で一様(連続的)に変化している場合には対応できる。しかしながら、布などのように溝が多様に変化するものについては、微小な多角形を多数用いなければ、異方性反射を表現できない。多角形数が増加すると、コンピュータ処理負荷を増大させる。また、蒔絵のように基板が異方性反射特性を持つとともに、表面に金箔銀箔などの反射率の異なる物質が貼り付けてあるものがある。このようなものを表現する場合、従来の方法では、微小な多角形を非常に多く用いなければ、表現できない。したがって、コンピュータの処理負荷を増大させる。

概要

本発明は、光反射成分を精度よく計算できる回路などを提供することを目的とする。 表面粗さをもつ物体の反射成分を求めるための回路であって、ベクトルNを面法線ベクトルとし、ベクトルLを光源入射単位ベクトルとし、Vを視線単位ベクトルとし、Hを光源入射ベクトルLと視線ベクトルVとのハーフベクトルとし、N・L=cosθ,N・V=cosγ,V・H=cosφ,N・H=cosβとして、φ、又はcosφの値と関連して、物体の反射率を記憶する手段と、β、又はcosβの値と関連して、輝度分布を記憶する手段と、φ、又はcosφの値により前記の反射率を記憶する手段から、反射成分のうち反射率項(Fλ(φ))に関する情報を得る手段と、β、又はcosβの値により前記輝度分布を記憶する手段から、反射成分のうち輝度分布項(D’(β))に関する情報を得る手段と、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値であるmax[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]に関する情報を得る手段と、前記max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の値の逆数を求め、反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る手段と、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、反射成分に関する情報を得る手段とを具備する回路などを提供する。

目的

本発明は、鏡面反射成分を精度よく計算できる回路を提供する

効果

実績

技術文献被引用数
- 件
牽制数
- 件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

表面粗さをもつ物体反射成分を求めるための回路であって、ベクトルNを面法線ベクトルとし、ベクトルLを光源入射単位ベクトルとし、Vを視線単位ベクトルとし、Hを光源入射ベクトルLと視線ベクトルVとのハーフベクトルとし、N・L=cosθ,N・V=cosγ,V・H=cosφ,N・H=cosβとして、φ、又はcosφの値と関連して、物体の反射率を記憶する手段と、β、又はcosβの値と関連して、輝度分布を記憶する手段と、φ、又はcosφの値により前記の反射率を記憶する手段から、反射成分のうち反射率項(Fλ(φ))に関する情報を得る手段と、β、又はcosβの値により前記輝度分布を記憶する手段から、反射成分のうち輝度分布項(D’(β))に関する情報を得る手段と、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値であるmax[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]に関する情報を得る手段と、前記max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の値の逆数を求め、反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る手段と、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、反射成分に関する情報を得る手段とを具備する回路。

請求項2

表面粗さをもつ物体の光反射輝度を、反射率、光分布関数、表面での光減衰関数それぞれの成分で定義する光反射表示回路に関し、前記反射率のうち反射成分は、入射光に対する反射光の強さを表す反射率項、物体の表面を微細な面の集合マイクロファセット)と捉えたときの微細面法線分布を元に輝度分布を表す輝度分布項、および、マイクロファセットによる、入射光もしくは反射光の遮蔽による光の減衰率を表した幾何減衰率係数項のそれぞれから得る手段として、光源入射ベクトルと視線ベクトルとの内積値から反射率項を得る第1の手段と、光源入射ベクトルと視線ベクトルがなすハーフベクトルと物体の面法線との内積値を乗算し、輝度分布項を得る第2の手段と、面法線、光源入射ベクトルおよび視線ベクトル、また前記ハーフベクトルのそれぞれを用いた内積値どうしの乗算を行い、その最大値を選択する第3の手段と、前記第3の手段で選択された値の逆数を求めて幾何減衰率係数項を得る第4の手段と、前記の反射率項、輝度分布項、幾何減衰率係数項とを乗算する第5のそれぞれの手段を用いて反射成分を得る回路。

請求項3

請求項1、又は請求項2に記載の回路を含む光反射表示装置

請求項4

物体表面を多角形の集合として表現し、前記多角形の内部に微小な溝、及び反射率の異なる部分のいずれか又は両方が存在するコンピュータ画像における反射強度を計算するための回路であって、前記多角形の各頂点における面法線ベクトルNを入力する手段と、前記多角形の各頂点における光源入射ベクトルLを入力する手段と、前記多角形の各頂点における視線ベクトルVを入力する手段と、前記多角形の各頂点におけるテキスチャマッピングアドレス(U,V)を入力する手段と、前記多角形の頂点に定義された前記面法線ベクトルN、光源入射ベクトルL、視線ベクトルVおよびテキスチャ−マッピングアドレス(U,V)を内挿補間する手段と、内挿補間したテキスチャ−マッピングアドレスに応じた、面接線ベクトルTiを記憶し、内挿補間したテキスチャ−マッピングアドレスに応じて、面接線ベクトルTiを読出す手段と、面接線ベクトルTiと、内挿補間した面法線ベクトルNi、内挿補間した光源入射ベクトルLiおよび内挿補間した視線ベクトルViを用いて多角形面の各内挿補間点における光反射強度を計算する手段とを有する反射強度計算回路

請求項5

前記内挿補間されたテキスチャ−マッピングアドレスに応じたテキスチャ−パターンが、赤、青、緑の3色ごとに分離して記憶され、請求項4に記載の反射強度計算回路から得られた光反射強度と、前記赤、青、緑の3色に応じたテキスチャ−パターンとを合成する請求項4に記載の反射強度計算回路。

請求項6

前記面法線ベクトルN、及び前記光源入射ベクトルLの内積値をcosθとしたときに、前記光反射強度を計算する手段は、θ、又はcosθの値をアドレスとして、光減衰率S(θ)を記憶し、読み出す手段と、θ、又はcosθの値をアドレスとして、鏡面反射率ρsを記憶し、読み出す手段と、θ、又はcosθの値をアドレスとして、拡散反射率ρd、又はcosθρdを記憶し、読み出す手段と、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)をアドレスとして、輝度分布関数(D(φ))を記憶し、読み出す手段と、乗算する手段と、加算する手段と、を具備する請求項4に記載の反射強度計算回路。

請求項7

θ、又はcosθの値をアドレスとして、鏡面反射率ρsを記憶し、読み出す手段により記憶され読み出される鏡面反射率ρsは、赤、青、緑の波長ごとに分離して記憶され、読み出される請求項6に記載の反射強度計算回路。

請求項8

θ、又はcosθの値をアドレスとして、拡散反射率ρd、又はcosθρdを記憶し、読み出す手段により記憶され読み出される値は、赤、青、緑の波長ごとに分離して記憶され、読み出される請求項6に記載の反射強度計算回路。

請求項9

前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)は、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルViのハーフベクトルをHiとし、HiとTiの内積をT・Hとしたときに、次の関係を満たす関数である請求項6に記載の反射強度計算回路。

請求項10

反射強度をIp、光減衰率をS(θ)、鏡面反射率をρs、拡散反射率をρd、輝度分布関数をD(φ)としたときに、反射強度をIp=cosθρd+ρsS(θ)D(φ)により求める請求項4に記載の反射強度計算回路。

請求項11

請求項4〜請求項10のいずれか1項に記載の反射強度計算回路を用いた画像形成装置

請求項12

微小な溝および複数の反射率からなる物体表面の光反射態様を表現するコンピュータグラフィックス回路に関し、物体面を多角形の集合として表現し、それぞれの多角形の頂点には面法線、光源入射ベクトル、視線ベクトルおよびテキスチャ−マッピングアドレスを定義すると共に、多角形表面のけがき方向を示す面接線ベクトルを、多角形内部の点それぞれに定義し2次元配列からなるパターンとして記憶回路に記憶する手段と、それぞれの多角形の頂点に定義された前記面法線、光源入射ベクトル、視線ベクトルおよびテキスチャ−マッピングアドレスを内挿補間して、この内テキスチャ−マッピングアドレスは前記面接線ベクトルのマッピングアドレスとして記憶回路から面接線ベクトルを読出し、読み出された面接線ベクトルと、補間された面法線、光源入射ベクトルおよび視線ベクトルのそれぞれとを用いて多角形面の光反射強度を計算する手段をもつ複合方性反射回路。

請求項13

請求項12の回路において、記憶回路から面接線ベクトルを読み出す際に、テキスチャ−マッピングアドレス点に隣接する少なくとも4つ以上の面接線を読出してフィルタリングを行い、前記フィルタリングにより得られた面接線をマッピングアドレス点の面接線ベクトルとする手段と、視線ベクトルと光源入射ベクトルとがなすハーフベクトルと、前記面接線ベクトルとの内積値を求め、この内積値をアドレスとする光反射分布関数テーブルを設ける手段と、前記ハーフベクトルと面法線ベクトルとのなす角をアドレスとする物体表面の光減衰関数テーブルをそれぞれ設ける手段を用いて補間点の輝度を決定する複合異方性反射回路。

請求項14

請求項12の回路において、赤、緑、青の波長における反射率をそれぞれ記憶する反射率テーブルを設け、面法線、光源入射ベクトルおよび視線ベクトルから得られた値を前記反射率テーブルの読出しアドレスとする手段と、前記反射率テーブルには、同一の多角形面上において複数のそれぞれ反射率が異なる材質が定義された場合に対応して、少なくとも2組以上の反射率を記憶する一方、この複数組の反射率のいずれかを内挿補間時において逐次選択するための反射率選択ビットを、多角形内部の位置に対応する2次元配列からなるパターンとして定義して記憶回路に記憶する手段と、請求項12において補間されたテキスチャ−マッピングアドレスを用いて、前記反射率選択ビットを前記記憶回路から読出し、この反射率選択ビットと前記反射率テーブル読出しアドレスとを用いて、所定の反射率を選択する手段をもつ複合異方性反射回路。

技術分野

本発明は、鏡面反射を計算する回路などに関する。本発明は、またコンピュータグラフィックス技術における異方性反射を計算する回路や、そのような異方性反射に基づいた画像を描画する装置などに関する。

背景技術

光反射モデリングは、3次元コンピュータグラフィックス映像リアリスティック表現するために重要な技術である。特定のアルゴリズムを用いて光反射物体を描画するいくつかの光反射モデリング技術が開発されている。ポリゴン表記法における光反射モデリングとしては、フォンシェーディングが知られている。フォン・シェーディングは、面表面を均一な平面とし、表面粗さによって生じる表面上での乱反射率および光波長特性を考慮しない。一方、表面粗さをモデル化したものとしてクック/トランス(Cook/Torrance)モデルが知られている。これは鏡面反射成分Rsを下記の式(1)で表現するモデルである。

ここで、Nは面法線ベクトルNを表し、Lは光源入射(単位)ベクトルLを表し、Vは視線(単位)ベクトルVを表す。Hは、光源入射ベクトルLと視線ベクトルVとのハーフベクトルHを表す。λは入射光波長を表す。θは光源入射ベクトルLと面法線ベクトルNがなす角を表し、αは光の反射ベクトルと視線ベクトルVとがなす角を表す。また、ρ(λ,θ)は、物体反射率を表す関数であり、D(α)は、輝度分布関数である。
式(1)において幾何減衰率Gは、ベクトル表記であり、括弧内の3項のうち最小値をとる。拡散反射成分cosθ、cosαおよび面法線ベクトルNと視線ベクトルVとの内積cosγをそれぞれ、以下の(2)〜(4)で表す。

上記の(2)から(4)式までを用いて(1)式を展開すると、ラフ面の鏡面反射成分Ispecとして下記式(5)が得られる。

日本国特許公開2003年30683号公報(特許文献1)には、ラフ面の鏡面反射光成分Ispecを得るための回路が開示されている。図5に日本国特許公開2003年30683号公報に開示される回路の概略図を示す。図5中、101は1/cosθテーブル、102は1/cosγテーブル、103はD(cosα)テーブル、104はk×ρ(λ,cosθ)テーブル、105は減算器、106はマルチプレクサ、107は1/2シフター、108は乗算器、109は比較器、110は乗算器、111は乗算器、112はマルチプレクサ、113は乗算した値の2倍の値を出力する乗算器を表す。
この回路では、cosγとcosθの逆数をテーブル101およびテーブル102で求め、1/2シフター107と乗算器108とマルチプレクサ106およびマルチプレクサ112などを用いて最小値を求める。ところが(5)式において、[]内の3項はそれぞれ0から無限大の値を持ち得る。このため、このこれらの値の精度が低く、正しく最小値を選ぶことが難しい。その結果、この回路を用いて得られる鏡面反射成分Ispecの精度が低くなる。
また、異方性反射は、CD−ROM、髪、服、金属などから光が反射する際に、独特の輝度分布を示すことを意味する。異方性反射は、たとえば、面上のけがき微小な溝(以下、「溝」ともいう)での光の反射作用により生じる。異方性反射をコンピュータグラフィックスで表現する方法として、描画する物体の面を定義する際、面を構成する多角形のそれぞれの頂点における面法線、光源入射角、及び視点角を定義すると共に、溝の方向を示す面接線をも定義し、これを多角形内部の内挿補間を行って、補間データから異方性反射を求めることが考えられている。この従来の異方性反射の表現方法では、多角形単位に一様な反射率を設定する。
このような従来の異方性反射の表現方法は、溝が多角形面全体で一様(連続的)に変化している場合には対応できる。しかしながら、布などのように溝が多様に変化するものについては、微小な多角形を多数用いなければ、異方性反射を表現できない。多角形数が増加すると、コンピュータ処理負荷を増大させる。また、蒔絵のように基板が異方性反射特性を持つとともに、表面に金箔銀箔などの反射率の異なる物質が貼り付けてあるものがある。このようなものを表現する場合、従来の方法では、微小な多角形を非常に多く用いなければ、表現できない。したがって、コンピュータの処理負荷を増大させる。

本発明は、鏡面反射成分を精度よく計算できる回路を提供することを目的とする。
また本発明は、小規模の回路により鏡面反射成分を計算できる回路を提供することを別の目的とする。
また本発明は、マルチメディアプロセッサなどに搭載される鏡面反射成分算出回路を提供することを別の目的とする。
さらに本発明は、これら鏡面反射成分算出回路を含むコンピュータなどのハードウェアを提供することを別の目的とする。
本発明は、異方性反射特性を有する表面を少ない負荷で表現できる回路(特にコンピュータグラフィック表示用回路)を提供することを別の目的とする。
本発明は、異方性反射特性と、反射率の異なる部分を有する表面を少ない負荷で表現できる回路(特にコンピュータグラフィック表示用回路)を提供することを別の目的とする。
本発明は、上記のような回路を具備する画像生成装置を提供することを別の目的とする。
[1]上記の課題のうち少なくとも一つを解決するため、本発明の第1の具現例にかかる回路は、表面粗さをもつ物体の反射成分を求めるための回路であって、ベクトルNを面法線ベクトルとし、ベクトルLを光源入射単位ベクトルとし、Vを視線単位ベクトルとし、Hを光源入射ベクトルLと視線ベクトルVとのハーフベクトルとし、N・L=cosθ,N・V=cosγ,V・H=cosφ,N・H=cosβとして、φ、又はcosφの値と関連して、物体の反射率を記憶する手段と、β、又はcosβの値と関連して、輝度分布を記憶する手段と、φ、又はcosφの値により前記の反射率を記憶する手段から、反射成分のうち反射率項(Fλ(φ))に関する情報を得る手段と、β、又はcosβの値により前記輝度分布を記憶する手段から、反射成分のうち輝度分布項(D’(β))に関する情報を得る手段と、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値であるmax[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]に関する情報を得る手段と、前記max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の値の逆数を求め、反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る手段と、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、反射成分に関する情報を得る手段とを具備する回路である。
[2] 上記の課題のうち少なくとも一つを解決するため、本発明の第1の具現例にかかる回路の別の態様としては、表面粗さをもつ物体の光反射輝度を、反射率、光分布関数、表面での光減衰関数それぞれの成分で定義する光反射表示回路に関し、前記反射率のうち反射成分は、入射光に対する反射光の強さを表す反射率項、物体の表面を微細な面の集合マイクロファセット)と捉えたときの微細面法線の分布を元に輝度分布を表す輝度分布項、および、マイクロファセットによる、入射光もしくは反射光の遮蔽による光の減衰率を表した幾何減衰率係数項のそれぞれから得る手段として、光源入射ベクトルと視線ベクトルとの内積値から反射率項を得る第1の手段と、光源入射ベクトルと視線ベクトルがなすハーフベクトルと物体の面法線との内積値を乗算し、輝度分布項を得る第2の手段と、面法線、光源入射ベクトルおよび視線ベクトル、また前記ハーフベクトルのそれぞれを用いた内積値どうしの乗算を行い、その最大値を選択する第3の手段と、前記第3の手段で選択された値の逆数を求めて幾何減衰率係数項を得る第4の手段と、前記の反射率項、輝度分布項、幾何減衰率係数項とを乗算する第5のそれぞれの手段を用いて反射成分を得る回路。
[3] 上記の課題のうち少なくとも一つを解決するため、本発明の光反射表示装置は、上記[1]、又は上記[2]に記載の回路を含む。
[4] 上記の課題のうち少なくとも一つを解決するため、本発明の第2の具現例にかかる回路は、物体表面を多角形の集合として表現し、前記多角形の内部に微小な溝、及び反射率の異なる部分のいずれか又は両方が存在するコンピュータ画像における反射強度を計算するための回路であって、前記多角形の各頂点における面法線ベクトルNを入力する手段と、前記多角形の各頂点における光源入射ベクトルLを入力する手段と、前記多角形の各頂点における視線ベクトルVを入力する手段と、前記多角形の各頂点におけるテキスチャマッピングアドレス(U,V)を入力する手段と、前記多角形の頂点に定義された前記面法線ベクトルN、光源入射ベクトルL、視線ベクトルVおよびテキスチャ−マッピングアドレス(U,V)を内挿補間する手段と、内挿補間したテキスチャ−マッピングアドレスに応じた、面接線ベクトルTiを記憶し、内挿補間したテキスチャ−マッピングアドレスに応じて、面接線ベクトルTiを読出す手段と、面接線ベクトルTiと、内挿補間した面法線ベクトルNi、内挿補間した光源入射ベクトルLiおよび内挿補間した視線ベクトルViを用いて多角形面の各内挿補間点における光反射強度を計算する手段とを有する反射強度計算回路である。
[5] 本発明の第2の具現例にかかる回路は、好ましくは、前記内挿補間されたテキスチャ−マッピングアドレスに応じたテキスチャ−パターンが、赤、青、緑の3色ごとに分離して記憶され、[1]に記載の反射強度計算回路から得られた光反射強度と、前記赤、青、緑の3色に応じたテキスチャ−パターンとを合成する[4]に記載の反射強度計算回路である。
[6] 本発明の第2の具現例にかかる回路は、好ましくは、前記面法線ベクトルN、及び前記光源入射ベクトルLの内積値をcosθとしたときに、前記光反射強度を計算する手段は、θ、又はcosθの値をアドレスとして、光減衰率S(θ)を記憶し、読み出す手段と、θ、又はcosθの値をアドレスとして、鏡面反射率ρsを記憶し、読み出す手段と、θ、又はcosθの値をアドレスとして、拡散反射率ρd、又はcosθρdを記憶し、読み出す手段と、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)をアドレスとして、輝度分布関数(D(φ))を記憶し、読み出す手段と、乗算する手段と、加算する手段とを具備する[4]に記載の反射強度計算回路である。
[7] 本発明の第2の具現例にかかる回路は、好ましくは、θ、又はcosθの値をアドレスとして、鏡面反射率ρsを記憶し、読み出す手段により記憶され読み出される鏡面反射率ρsは、赤、青、緑の波長(原色)ごとに分離して記憶され、読み出される[6]に記載の反射強度計算回路である。
[8] 本発明の第2の具現例にかかる回路は、好ましくは、θ、又はcosθの値をアドレスとして、拡散反射率ρd、又はcosθρdを記憶し、読み出す手段により記憶され読み出される値は、赤、青、緑の波長(原色)ごとに分離して記憶され、読み出される[6]に記載の反射強度計算回路である。
[9] 本発明の第2の具現例にかかる回路は、好ましくは、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)は、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルViのハーフベクトルをHiとし、HiとTiの内積をT・Hとしたときに、次の関係を満たす関数である[6]に記載の反射強度計算回路である。

[10] 本発明の第2の具現例にかかる回路は、好ましくは、反射強度をIp、光減衰率をS(θ)、鏡面反射率をρs、拡散反射率をρd、輝度分布関数をD(φ)としたときに、反射強度をIp=cosθρd+ρsS(θ)D(φ)により求める[4]に記載の反射強度計算回路である。
[11] 上記の課題のうち少なくとも一つを解決するため、本発明の画像形成装置は、[4]〜[10]のいずれか1項に記載の反射強度計算回路を用いた画像形成装置である。
[12] 上記の課題のうち少なくとも一つを解決するため、本発明の第2の具現例にかかる回路の別の態様としては、微小な溝および複数の反射率からなる物体表面の光反射態様を表現するコンピュータグラフィックス回路に関し、物体面を多角形の集合として表現し、それぞれの多角形の頂点には面法線、光源入射ベクトル、視線ベクトルおよびテキスチャ−マッピングアドレスを定義すると共に、多角形表面のけがき方向を示す面接線ベクトルを、多角形内部の点それぞれに定義し2次元配列からなるパターンとして記憶回路に記憶する手段と、それぞれの多角形の頂点に定義された前記面法線、光源入射ベクトル、視線ベクトルおよびテキスチャ−マッピングアドレスを内挿補間して、この内テキスチャ−マッピングアドレスは前記面接線ベクトルのマッピングアドレスとして記憶回路から面接線ベクトルを読出し、読み出された面接線ベクトルと、補間された面法線、光源入射ベクトルおよび視線ベクトルのそれぞれとを用いて多角形面の光反射強度を計算する手段をもつ複合異方性反射回路があげられる。
[13] 本発明の第2の具現例にかかる回路は、好ましくは、[12]の回路において、記憶回路から面接線ベクトルを読み出す際に、テキスチャ−マッピングアドレス点に隣接する少なくとも4つ以上の面接線を読出してフィルタリングを行い、前記フィルタリングにより得られた面接線をマッピングアドレス点の面接線ベクトルとする手段と、視線ベクトルと光源入射ベクトルとがなすハーフベクトルと、前記面接線ベクトルとの内積値を求め、この内積値をアドレスとする光反射分布関数テーブルを設ける手段と、前記ハーフベクトルと面法線ベクトルとのなす角をアドレスとする物体表面の光減衰関数テーブルをそれぞれ設ける手段を用いて補間点の輝度を決定する複合異方性反射回路である。
[14] 本発明の第2の具現例にかかる回路は、好ましくは、[12]の回路において、赤、緑、青の波長における反射率をそれぞれ記憶する反射率テーブルを設け、面法線、光源入射ベクトルおよび視線ベクトルから得られた値を前記反射率テーブルの読出しアドレスとする手段と、前記反射率テーブルには、同一の多角形面上において複数のそれぞれ反射率が異なる材質が定義された場合に対応して、少なくとも2組以上の反射率を記憶する一方、この複数組の反射率のいずれかを内挿補間時において逐次選択するための反射率選択ビットを、多角形内部の位置に対応する2次元配列からなるパターンとして定義して記憶回路に記憶する手段と、[12]において補間されたテキスチャ−マッピングアドレスを用いて、前記反射率選択ビットを前記記憶回路から読出し、この反射率選択ビットと前記反射率テーブル読出しアドレスとを用いて、所定の反射率を選択する手段をもつ複合異方性反射回路である。
ここで、面法線ベクトルNは、対象物を多角形の集合として表現した場合における各多角形法線に関する単位ベクトルを意味する。光源入射単位ベクトルLは、前記多角形の頂点などに入射する入射光の単位ベクトルを意味する。視線単位ベクトルVは、前記多角形の頂点などと視点とを結んでできる単位ベクトルを意味する。
本発明の第1の具現例にかかる回路では、三角関数逆数計算を、少ない階数だけ、計算の後期においてすればよいので、少ない容量で、精度良く鏡面反射成分を計算できる。
本発明の第2の具現例にかかる回路によれば、異方性反射特性を有する表面を少ない負荷で表現できる回路(特にコンピュータグラフィック表示用回路)を提供できる。
本発明の第2の具現例にかかる回路によれば、異方性反射特性と、反射率の異なる部分を有する表面を少ない負荷で表現できる回路(特にコンピュータグラフィック表示用回路)を提供できる。
本発明によれば、上記のような回路を具備する画像生成装置などを提供できる。

図面の簡単な説明

図1は、本発明の第1の具現例にかかる回路のブロック図である。
図2は、本発明の第2の具現例にかかる反射強度計算回路の概略構成を示す図である。
図3は、実施例1における回路の構成例を示すブロック図である。
図4は、実施例2における回路の構成例を示すブロック図である。
図5は、日本国特許公開2003年30683号公報に開示される回路の概略図を示す。

発明を実施するための最良の形態

(1.第1の具現例)
本発明の第1の具現例に係る回路は、コンピュータグラフィックスなどにおいて、表面粗さを持つ物体の表面における適切な光反射を求めるための回路である。この具現例は、基本的にはCook/Torranceの鏡面反射成分の表現を変え、その鏡面反射成分を得るための回路に関する。すなわち、この具現例においては、Cook/Torranceの鏡面反射成分を下記の(6)式で表現する。

ここで、Nは面法線ベクトルNを表し、Lは光源入射(単位)ベクトルLを表し、Vは視線(単位)ベクトルVを表す上は、光源入射ベクトルLと視線ベクトルVとのハーフベクトルHを表す。Fλ(V,L)はフレネル関数をもとにする光の波長ごとの反射率を表し、D(V,L)はベックマン関数等をもとにする輝度分布関数を表し、G(V,L)はマイクロファセットの自己シャドウにおける幾何減衰率関数を表す。また、各ベクトルの内積を以下のように定義する。

式(7)から式(10)を用いて式(6)を展開すると、粗面での反射光成分Ispecとして式(11)が得られる。

(1.1.第1の具現例の基本構成
以下、図面を参照しつつ本発明の第1の具現例にかかる回路を説明する。図1は、本発明の第1の具現例にかかる回路のブロック図である。図1に示されるように本発明の第1の具現例に係る回路は、表面粗さをもつ物体の鏡面反射成分を求めるための回路1であって、物体の反射率を記憶する手段2と、輝度分布を記憶する手段3と、鏡面反射成分のうち反射率項(Fλ(φ))に関する情報を得る手段4と、鏡面反射成分のうち輝度分布項(D’(β))に関する情報を得る手段5と、鏡面反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る手段6と、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、鏡面反射成分に関する情報を得る手段7とを具備する。このような手段を具備するので、本発明の第1の具現例に係る回路は、上記式(11)の鏡面反射成分に関する情報を得ることができる。
(1.2.反射率記憶手段)
物体の反射率を記憶する手段2は、φ、又はcosφの値と関連して、物体の反射率を記憶するための手段である。反射率とは、入射光に対する反射光の強さ(反射率項(Fλ(φ)))を表す。物体の反射率を記憶する手段としては、φ、又はcosφの値をアドレスとして、物体の反射率を記憶するメモリテーブルがあげられる。物体の反射率としては、実測値を記憶しても良いし、理論値を記憶しても良い。物体の反射率を記憶する手段は、好ましくは波長の異なる光に応じた物体の反射率を記憶する。このような光としては、赤、青、緑の光があげられる。
(1.3.輝度分布記憶手段)
輝度分布を記憶する手段3は、β、又はcosβの値と関連して、輝度分布を記憶する手段である。輝度分布を記憶する手段は、物体の表面を微細な面の集合(マイクロファセット)と捉えたときの微細面法線の分布を基に輝度分布(輝度分布項(D’(β)))を記憶する。輝度分布関数(D’(cosβ))として、D(cosβ)をガウス関数、ベックマン関数あるいはcosnβなどのの関数としたときに、D(cosβ)にcosβをかけた関数があげられる。輝度分布を記憶する手段として、D’(cosβ)の値をcosβに関連付けて記憶するメモリがあげられる。
(1.4.反射率項取得手段)
反射率項取得手段4は、鏡面反射成分のうち反射率項(Fλ(φ))に関する情報を得るための手段である。反射率項取得手段として、物体の反射率を記憶する手段からcosφをアドレスとして反射率項(Fλ(φ))に関する情報を得るものがあげられる。
(1.5.輝度分布項取得手段)
輝度分布項取得手段5は、鏡面反射成分のうち輝度分布項(D’(β))に関する情報を得るための手段である。輝度分布項取得手段5として、輝度分布を記憶する手段cosβをアドレスとして反射率項(D’(β))に関する情報を得るものがあげられる。
(1.6.幾何減衰率係数項取得手段)
幾何減衰率係数項取得手段6は、鏡面反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得るための手段である。幾何減衰率係数項取得手段としては、G’の逆数を求め、その後G’を得るものがあげられる。G’の逆数として、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値があげられる。三角関数の値は比較的精度良く求めることができる。本発明では、三角関数の値を求めた後に、その逆数を求めるので、鏡面反射成分の情報を少ない容量で精度良く求めることができる。なお、逆数を求める手段としては、逆数を予め記憶したメモリを用いるものがあげられる。
(1.7.鏡面反射成分情報取得手段)
鏡面反射成分情報取得手段7は、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β,θ,γ,φ))に関する情報から、鏡面反射成分に関する情報を得るための手段である。鏡面反射成分情報取得手段として、Fλ(φ)、D’(β)、(G’(β,θ,γ,φ))の値をかけ合わせ鏡面反射成分を求めるものがあげられる。
(2.動作)
以下、本発明の第1の具現例にかかる回路の基本動作について説明する。反射率項取得手段4は、φ、又はcosφの値により前記の反射率を記憶する手段から、鏡面反射成分のうち反射率項(Fλ(φ))に関する情報を得る。輝度分布項取得手段5は、β、又はcosβの値により前記輝度分布を記憶する手段から、鏡面反射成分のうち輝度分布項(D’(β))に関する情報を得る。幾何減衰率係数項取得手段6は、0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγの値うち最大のものの値であるmax[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]に関する情報を得て、さらに前記max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の値の逆数を求め、鏡面反射成分のうち幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報を得る。鏡面反射成分情報取得手段7は、前記反射率項(Fλ(φ))、前記輝度分布項(D’(β))、及び前記幾何減衰率係数項(G’(β、θ、γ、φ))に関する情報から、鏡面反射成分に関する情報であるIspecを得る。
(3.反射強度計算回路の概要
図2は、本発明の第2の具現例にかかる反射強度計算回路の概略構成を示す図である。
図2に示されるように、本発明の反射強度計算回路は、物体表面を多角形の集合として表現し、前記多角形の内部に微小な溝、及び反射率の異なる部分のいずれか又は両方が存在するコンピュータ画像における反射強度を計算するための回路であって、多角形の各頂点における面法線ベクトルN、多角形の各頂点における光源入射ベクトルL、多角形の各頂点における視線ベクトルV、多角形の各頂点におけるテキスチャ−マッピングアドレス(U,V)を入力する入力手段11と、多角形の頂点に定義された前記面法線ベクトルN、光源入射ベクトルL、視線ベクトルVおよびテキスチャ−マッピングアドレス(U,V)を内挿補間する内挿補間手段12と、内挿補間したテキスチャ−マッピングアドレスに応じた、面接線ベクトルTiを記憶し、内挿補間したテキスチャ−マッピングアドレスに応じて、面接線ベクトルTiを読出す面接線ベクトル記憶手段13と、面接線ベクトルTiと、内挿補間した面法線ベクトルNi、内挿補間した光源入射ベクトルLiおよび内挿補間した視線ベクトルViを用いて多角形面の各内挿補間点における光反射強度を計算する光反射強度計算手段14とを有する。
なお、この具現例の反射強度計算回路は、好ましくは図2に示されるように、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じたテキスチャ−パターンを記憶し、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じて前記テキスチャ−パターンを読み出す手段15をさらに具備する。
(3.1.入力手段)
入力手段11は、多角形の各頂点における面法線ベクトルN、多角形の各頂点における光源入射ベクトルL、多角形の各頂点における視線ベクトルV、多角形の各頂点におけるテキスチャ−マッピングアドレス(U,V)を入力するための手段である。これらは、物体に応じて予め定義されても良く、その場合は定義された値が入力される。
(3.2.内挿補間手段)
内挿補間手段12は、多角形の頂点に定義された前記面法線ベクトルN、光源入射ベクトルL、視線ベクトルVおよびテキスチャ−マッピングアドレス(U,V)を内挿補間するための手段である。内挿補間手段としては、コンピュータグラフィックスに用いられる公知の内挿補間手段を採用できる。内挿補間手段としては、多角形外郭線補間手段と、スパン補間手段とを具備するものがあげられる。多角形外郭線補間手段とは、多角形の外郭線に沿って、補間するための手段である。一方、スパン補間手段は、多角形外郭線補間手段が補間した補間値を用いて、水平方向に補間するための手段である。
(3.3.面接線ベクトル記憶手段)
面接線ベクトル記憶手段13は、内挿補間したテキスチャ−マッピングアドレスに応じた、面接線ベクトルTiを記憶し、内挿補間したテキスチャ−マッピングアドレスに応じて、面接線ベクトルTiを読出すための手段である。なお、面接線ベクトルとは、多角形表面のけがき方向を示すベクトル、すなわち、微小溝の面接線方向を示すベクトルである。
面接線ベクトル記憶手段では、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に隣接する少なくとも4つの面接線ベクトルが読み出され、フィルタリング処理が施されて面接線ベクトルTiが生成される。少なくとも4つの面接線ベクトルとして、好ましくは4つ、又は16個である。この記憶された面接線ベクトルTは、好ましくは3次元ベクトル成分あるいは極座標で定義される。マッピングアドレスに隣接する複数のベクトルを用いるのではなく一組のベクトル成分のみをそのまま用いると、マッピングアドレス(U,V)の内挿補間精度と多角形頂点座標値との誤差からジャギー不連続性)が発生することがある。これを軽減するために、好ましくはフィルタ処理を行う。
フィルタ処理は、テキスチャ−パターンのカラーで用いられる公知の方法を採用すればよい。フィルタ処理は、好ましくは1次あるいは2次フィルタの場合にはマッピングアドレスを中心とする2x2の、3次フィルタの場合には4x4のエリアのベクトルを用いる。ベクトルのフィルタリングでは、好ましくはフィルタリング後にベクトルの正規化を行う。
(3.4.光反射強度計算手段)
光反射強度計算手段14は、面接線ベクトルTiと、内挿補間した面法線ベクトルNi、内挿補間した光源入射ベクトルLiおよび内挿補間した視線ベクトルViを用いて多角形面の各内挿補間点における光反射強度を計算するための手段である。
光反射強度計算手段14は、好ましくは、前記面法線ベクトルN、及び前記光源入射ベクトルLの内積値をcosθとしたときに、θ、又はcosθの値をアドレスとして、光減衰率S(θ)を記憶し、読み出す光減衰率記憶手段16と、θ、又はcosθの値をアドレスとして、鏡面反射率ρsを記憶し、読み出す鏡面反射率記憶手段18と、θ、又はcosθの値をアドレスとして、拡散反射率ρd、又はcosθρdを記憶し、読み出す拡散反射率記憶手段18と、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)をアドレスとして、輝度分布関数(D(φ))を記憶し、読み出す輝度分布記憶手段17と、図示しない乗算する手段と、図示しない加算する手段とを具備する。
拡散反射率ρd、鏡面反射率ρs、光減衰率S(θ,γ)、D(φ)は、好ましくはそれぞれRAMテーブルにより記憶する。またφはRAMあるいはROMにより記憶する。好ましくはmが異なれば、D(φ)に関するRAMの内容を書き換える。なお、先に説明したとおり、光減衰率S(θ,γ)は、近似値として光減衰率S(θ)を用いても良い。
この具現例では、内挿補間された値に対応して、拡散反射率ρd(又はcosθρd)、鏡面反射率ρs、光減衰率S(θ)、輝度分布D(φ)が読み出される。このように本発明では、反射率が内挿補間された値に対応して読み出される。すなわち、本具現例の回路によれば、多角形の内部において様々な反射率を有する表面を表現できる。
拡散反射率ρd(又はcosθρd)、鏡面反射率ρs、光減衰率S(θ)、輝度分布D(φ)の値は、乗算手段や加算手段により乗算、及び加算される。反射強度(異方性反射の強度)をIpとした場合に、好ましくはIpが以下のように求められる。

鏡面反射率記憶手段により記憶され読み出される鏡面反射率ρsは、好ましくは、赤、青、緑の波長ごとに分離して記憶され、読み出される。拡散反射率記憶手段により記憶され読み出される値は、好ましくは、赤、緑、青の波長ごとに分離して記憶され、読み出される。すなわち、上記のIp値は、好ましくは赤、緑、青ごとに求められる。
前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルVi、及び面接線ベクトルTiに関連する関数(φ)は、好ましくは、前記内挿補間した光源入射ベクトルLi、および前記内挿補間した視線ベクトルViのハーフベクトルをHiとし、HiとTiの内積をT・Hとしたときに、次の関係を満たす関数である。

(3.5.テキスチャ−パターン読出し手段)
テキスチャ−パターン読出し手段15は、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じたテキスチャ−パターンを記憶し、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じて前記テキスチャ−パターンを読み出すための手段である。この具現例では、テキスチャ−パターンも、内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じて読み出される。この具現例では、拡散反射率ρd(又はcosθρd)、鏡面反射率ρs、光減衰率S(θ)、輝度分布D(φ)のみならず、テキスチャ−パターンも、内挿補間された値に基づいて読み出される。これにより、より少ない容量で、適切なリアルな画像を表現できる回路を提供できる。
なお、テキスチャ−パターン読出し手段の好ましい態様は、前記内挿補間されたテキスチャ−マッピングアドレス(Ui,Vi)に応じたテキスチャ−パターンが、赤、青、緑の3色ごと(カラーデータごと)に分離して記憶され、読み出されるものである。
(3.6.異方性反射計算式
この具現例が求める内挿点ごとの異方性反射計算式は、例えば式(12)に示される。

ここで式(12)中、Ipは補間点での反射強度を表し、ρdは拡散反射率を表し、ρsは鏡面反射率を表し、S(θ,γ)は光減衰率を表し、ベクトルHは、光源入射ベクトルLと視線ベクトルVとのハーフベクトルを表し、mはラフ面粗さを表す。また、D(φ)は、輝度分布関数である。式(12)において、頂点における面法線ベクトルN、光源入射ベクトルL、及び視線ベクトルVはそれぞれ内挿点毎に補間される。また、光源入射ベクトルLと視線ベクトルVから補間点ごとにハーフベクトルHが求められる。
面接線ベクトルTは、テキスチャ−マッピングアドレスで例えば、面接線記憶回路から読み出される。この面接線ベクトルTは、3次元のベクトル成分あるいは極座標で定義されている。このため、マッピングアドレスで読み出される一点のベクトル成分をそのまま式(12)に用いると、マッピングアドレス(U,V)と多角形頂点座標値との誤差からジャギー(不連続性)が発生することがある。これを軽減するために、好ましくはフィルタリングを行う。このフィルタリングは、テキスチャ−パターンのカラーでもしばしば用いられる方法がある。フィルタリングは、好ましくは1次あるいは2次フィルタの場合にはマッピングアドレスを中心とする2x2の、3次フィルタの場合には4x4のエリアのベクトルを用いる。ベクトルのフィルタリングではフィルタリング後にベクトルの正規化が必要となり、正規化後のベクトルがTとなる。
一方、従来の推論モデルでは反射率ρd、及びρsは一定値となっている。これは物体が一様な反射率をもつ場合に成立する。しかしながら、異なる材質が物体面に混在する場合、内挿点ごとに反射率が異なる。反射率は材質固有の特性であり、また光の波長と、光が面に入射する角度によって変化する。この具現例では、好ましくは赤、緑および青の3つの波長に関する反射率ρdおよびρsを予めRAMテーブルに記憶する。そして、光の入射角によって反射率が変化することから、面法線ベクトルNと光源入射ベクトルLの内積(N・L)で得られる値をそのRAMテーブルのアドレスとして与え、反射率を読み出す。この関係を式(13)とする。

ここでρd(λr,g,b,θ)およびρs(λr,g,b,θ)は、それぞれ面法線ベクトルNと光源入射ベクトルLとの成す角θと、赤、緑、青の波長に対する反射率を示す。この具現例では、θを、式(14)に示すように面法線ベクトルNと、ハーフベクトルHとの内積値(N・H)から得られる角βに置き換えることもできる。

反射率が異なる複数の物質がひとつの多角形面上に分布している場合、前記RAMテーブルからロードされた反射率が1組しかないときは、内挿補間の段階で物質ごとにテーブル内容入れ替えなければならない。このように処理することは、ロードする時間負荷から考え性能上現実的ではない。この具現例では、好ましくは必要な数の反射率を予め複数組を反射率テーブルに記憶しておく。この反射率のいずれかを選択するためのビット情報は、2n組の反射率をテーブルに記憶可能とすれば、nビット長となる。このnビットデータは、テキスチャ−パターンと同様に、好ましくは2次元配列として定義される。すなわちnビットデータは、テキスチャ−パターンのカラーを置き換えした配列となる。これをテキスチャ−パターンの読出しと同様に、補間されたマッピングアドレスで読み出し、このビットを反射率RAMテーブルの上位アドレス下位アドレスは前記θとなる)とすることによって、所定の材質の反射率を得ることができる。
この反射率は(9)式のρd(λr,g,b,θ)およびρs(λr,g,b,θ)となる。
以上のようにこの具現例では、多角形表面の特性、とりわけ、けがき面による光反射と、同一多角形面内でそれぞれ異なる反射率特性を持つ物体の反射強度を表現する手段として、面接線をテキスチャ−パターンと同様に画素単位で設定するためのパターン化と、多種の反射率をテーブル内に記憶して、これを画素単位に選択し、材質固有の反射率として使用するための選択情報を予めパターン化しておき、カラーのテキスチャ−マッピング同様に読み出し、これらを使って多角形面の輝度を決定する。

下図面に従って、本発明の実施例を説明する。図3は、実施例1における回路の構成例を示すブロック図である。図3中、21〜25は乗算器、26は減算器、27はマルチプレクサ、28はD’(cosβ)テーブル、29はFλ(cosφ)テーブル、30は1/2シフター、31は減算器、32はマルチプレクサ、33は乗算器、34は乗算器、35は逆数テーブル、36は乗算器を表す。この実施例において、鏡面反射成分は、式(11)で表される。

Fλ(cosφ)テーブル29には、色成分(赤、青、緑)ごとに反射率が記憶される。反射率Fλ(φ)は、例えばカラー成分ごとに物体の反射特性を実測しその値をテーブル化する。Fλ(φ)は、cosφにより読み出す。よって実際には、Fλ(cosφ)テーブル29には、Fλ(cosφ)に変換された反射率の値が記憶される。
D’(cosβ)テーブル28は、輝度分布関数を記憶する。D’(cosβ)テーブルは、より具体的には、輝度分布関数は、ガウス関数、ベックマン関数あるいはcosnβなどの値にさらにcosβを掛けた値D’(cosβ)を記憶する。D’(cosβ)テーブルの値は、cosβで読み出すことができる。逆数テーブル35は、0から1の値を持った入力値の逆数が記憶される。逆数テーブル35として、RAMのみならず、ROM(読み出し専用)を用いることもできる。
以下、本実施例における回路の動作を説明する。図3に示されるように、この回路では、cosθ、cosφ、cosγ、cosβの値が入力される。また、拡散成分Idiffを求める場合は、拡散係数K1が入力されても良い。
cosθとcosβの値に関する情報が乗算器22に供給される。乗算器22は、これらの値を掛け合わせcosθcosβの値を得て、cosθcosβの値に関する情報を乗算器25に供給する。cosθとcosφの値に関する情報が乗算器23に供給される。乗算器23は、これらの値を掛け合わせcosθcosφの値を得て、cosθcosφの値に関する情報を減算器26、及びマルチプレクサ27に供給する。
cosφとcosγの値に関する情報が乗算器24に供給される。乗算器24は、これらの値を掛け合わせcosφcosγの値を得て、cosφcosγの値に関する情報を減算器26、及びマルチプレクサ27に供給する。cosθcosβとcosγの値に関する情報が乗算器25に供給される。乗算器25は、これらの値を掛け合わせcosθcosβcosγの値を得て、cosθcosβcosγの値に関する情報を減算器31、及びマルチプレクサ32に供給する。
減算器26は、cosθcosφの値とcosφcosγの値とを減算し、減算した情報をマルチプレクサ27に供給する。マルチプレクサ27は、減算情報に基づき、cosθcosφの値とcosφcosγの値との値の大小を判断する。そして、これらのうち大きいと判断された値に関する情報max[cosθcosφ,cosφcosγ]を1/2シフター30に供給する。1/2シフター30は、max[cosθcosφ,cosφcosγ]の値に1/2をかけ、0.5max[cosθcosφ,cosφcosγ]に関する情報を減算器31、及びマルチプレクサ32に供給する。
減算器31は、0.5max[cosθcosφ,cosφcosγ]の値と、cosθcosβcosγの値とを減算し、減算した情報をマルチプレクサ32に供給する。マルチプレクサ32は、減算情報に基づき0.5max[cosθcosφ,cosφcosγ]の値と、cosθcosβcosγの値との大小を判断する。そして、これらのうち大きいと判断された値に関する情報max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]を逆数テーブル35に供給する。逆数テーブル35は、max[0.5cosθcosφ,0.5cosφcosγ,cosθcosβcosγ]の逆数を求める。この値は、式(11)のG‘(β、θ、γ、φ)である。
cosβの値に関する情報が、D’(cosβ)テーブル28に供給される。D’(cosβ)テーブル28は、cosβの値に基づいてD’(β)の値を読み出し、乗算器33に供給する。cosφの値に関する情報が、Fλ(cosφ)テーブル29に供給される。Fλ(cosφ)テーブル29は、cosφの値に基づいて、色成分(赤、青、緑)ごとの反射率Fλ(φ)を読出し、乗算器33、及び乗算器34に供給する。
乗算器33は、D’(β)の値とFλ(φ)の値とをかけ、Fλ(φ)D’(β)を得て、乗算器36に供給する。乗算器36は、Fλ(φ)D’(β)の値と、G‘(β、θ、γ、φ)の値をかけ、Fλ(φ)D’(β)G‘(β、θ、γ、φ)を得る。この値は、式(11)における鏡面反射成分Ispecである。このようにして、本実施例においては、鏡面反射成分Ispecを得る。このように、本実施例では、もっとも精度が低い逆数テーブルを、計算の最終段階においてのみ使用するため、従来の回路にくらべ精度を高くできる。
拡散係数K1の値とcosθの値に関する情報が乗算器21に供給される。乗算器21は拡散係数K1の値とcosθの値とをかけ、K1cosθの値を得て、乗算器34に供給する。乗算器34は、K1cosθの値とFλ(φ)の値をかけ、Fλ(φ)K1cosθの値を得る。このようにして、この実施例の回路においては、拡散成分Idiffを得ることができる。

以下、本発明の第2の具現例に係る回路を実施例によって説明する。図4は、実施例2における回路の構成例を示すブロック図である。図4に示されるように、多角形の頂点に定義された面法線ベクトルN、光源入射ベクトルL、視線ベクトルVおよびテキスチャ−マッピングアドレス(U,V)に関する情報が多角形外郭線補間回路71に供給される。多角形外郭線補間回路71は、多角形の外郭線に沿って、これらの情報を線形に補間する。
多角形外郭線補間回路71により補間された情報は、スパン補間回路72に供給される。スパン補間回路72は、水平軸と交わる左右両端点の間の値を多角形の下から上に向かって補間し、多角形内部の全ての点についての補間値を得る。このようにして得られた補間点の1点の値を面法線ベクトルNi、光源入射ベクトルLi、視線ベクトルViとする。また、マッピングアドレスの補間値を(Ui,Vi)とする。
面法線ベクトルNiと光源入射ベクトルLiに関する情報は、内積回路73に供給される。内積回路73は、面法線ベクトルNiと光源入射ベクトルLiとからcosθを計算する。なお、cosθは、面法線ベクトルNiと光源入射ベクトルLiとの内積で与えられる。
光源入射ベクトルLiと視線ベクトルViに関する情報は、ハーフベクトル回路74に供給される。ハーフベクトル回路74は、光源入射ベクトルLiと視線ベクトルViとからハーフベクトルHiを求める。なお、ハーフベクトルは、以下の式によって与えられる。

一方、テキスチャ−マッピングアドレス(Ui,Vi)は、面接線ベクトルが記憶された面接線テーブル75、反射率選択テーブル76およびテキスチャ−パターンテーブル77に供給される。
面接線テーブル75は、アドレス(Ui,Vi)に応じた面接線ベクトルTを記憶する。そして、面接線テーブル75は、供給されたアドレス(Ui,Vi)情報に基づき、アドレス(Ui,Vi)を中心とする面接線ベクトルTを読み出す。この際、好ましくは少なくとも4つの面接線ベクトルが読み出される。なお、面接線テーブル75は、RAMなどにより構成される。
読み出された面接線ベクトルTは、フィルタ回路78に供給される。フィルタ回路78は、面接線ベクトルにフィルタ処理を施す回路である。フィルタ回路78は、面接線ベクトルにフィルタリングを施しTiを得る。フィルタ処理としては、Sinc、ガウスあるいはトライリニアーなどがある。
TiとハーフベクトルHiとに関する情報が、内積回路79に供給される。内積回路79は、面接線ベクトルTiとハーフベクトルHiに関する情報から内積値を求める。この内積値は、輝度分布関数D(φ)テーブル81にアドレス情報として供給される。
また、この内積値T・Hは、図示しない回路により下記式に従ってφに変換されてもよい。この場合、φの値が、輝度分布関数D(φ)テーブル81にアドレス情報として供給される。

本実施例では、ラフ面の粗さmを多角形面で一様と仮定する。これにより、輝度分布関数D(φ)テーブル81は、T・H、又φによりアドレッシングできる。なお、本実施例において、D(φ)は、下記の値である。

また内積回路73の出力であるcosθは、減衰関数S(θ)テーブル80と、反射率ρ(θ)テーブル82に供給される。なお、ハーフベクトル回路74のハーフベクトルHiと面法線ベクトルNとの内積計算を内積回路73で行い、これを減衰関数テーブル80と反射率テーブル82のアドレスに置き換えてもよい。
減衰関数テーブル80には、減衰関数S(θ,γ)が、cosθ、又はθをアドレスとして記憶される。本実施例では、減衰関数テーブル80に入力されたcosθに関する情報をアドレスとして、減衰率S(θ,γ)が出力される。なお、本実施例では減衰率の近似値を採用するので、γを変数として取り扱わない。
輝度分布関数D(φ)テーブル81には、輝度分布(D(φ))が記憶される。本実施例では、光反射分布関数テーブル81に入力されたφの値に関する情報をアドレスとして、輝度分布(D(φ))が読み出される。
反射率選択テーブル76は、物質固有の反射率を選択する値を、テキスチャ−パターンに対応して記憶する。テキスチャ−マッピングアドレス(Ui,Vi)に関する情報が、反射率テーブル76に供給されると、物質固有の反射率を選択する値がテキスチャ−パターンに対応して読み出される。この読み出された値は、反射率テーブル82のアドレスとして利用される。これにより画素単位で、物質によって異なる反射率と、光源と面法線のなす角に依存した反射率を得ることができる。
反射率テーブル82は、拡散反射率ρd(λ,θ)、及び鏡面反射率ρs(λ,θ)を記憶する。λとしては、赤、緑、青の3波長があげられる。すなわち、本実施例では、反射率テーブルには、3原色に分けた値がそれぞれ記憶される。なお、本実施例では、反射率テーブル82に記憶される拡散反射率ρd(λ,θ)は、cosθρd(λ,θ)として記憶される。
反射率テーブル82(鏡面反射率ρs(λ,θ))の出力は乗算器84aおよび84bにて乗算される。このようにして、鏡面反射成分が得られる。
減衰関数S(θ)テーブル80からの出力と、輝度分布関数D(φ)テーブル81からの出力が乗算器84aに供給される。乗算器84aは、これらの値を乗算し、S(θ)D(φ)の値を求め、乗算器84bに供給する。
乗算器84aからの出力であるS(θ)D(φ)の値と、反射率テーブル82からの出力であるρsの値(ρRs,ρGs,ρBs)が、乗算器84bに供給される。乗算器84bは、これらの値を乗算しρsS(θ)D(φ)の値を求め、加算器85に供給する。
乗算器84bからの出力ρsS(θ)D(φ)と、84cからの出力cosθρdが、加算器85に供給される。加算器85は、これらの値を加算して、cosθρd+ρsS(θ)D(φ)の値を求め、Ipとして出力する。このようにして、Ipの値が求められる。
テキスチャ−パターンテーブル77は、赤、緑、青の3原色ごとのカラー値を記憶する。テキスチャ−パターンテーブル77は、RAMなどにより構成される。テキスチャ−パターンテーブル77に、(Ui,Vi)に関する情報が供給される。テキスチャ−パターンテーブル77は、Ui,Viをアドレスとして所定のカラー値を赤、緑、青の3原色ごとに読み出し、出力する。テキスチャ−パターンテーブル77から読み出されたテキスチャ−パターンのカラー値は、フィルタ回路83に供給される。フィルタ回路83のフィルタリングの手法はフィルタ回路78と同様である。
このカラー値は、反射率テーブル82に記憶された拡散反射率cosθρd(λ,θ)と乗算器84cで乗算された後、鏡面反射成分と加算器85で加算される。このようにして、テキスチャ−パターンを有する各補間点での輝度Ipが得られる。

本発明の第1の具現例にかかる回路は、コンピュータグラフィックスのレンダリング回路として利用できる。
本発明の第1の具現例にかかる回路は、特に光の反射によって生じる表面粗さを考慮した、ラフ表面の光反射効果を描画する回路として利用できる。
本発明の第1の具現例にかかる回路は、光反射を少ない容量で適切に表示できるのでコンピュータグラフィックス用のLSIに利用できる。
本発明の第1の具現例にかかる回路は、シミュレーション、ゲームなどのコンピュータグラフィックス用システムに利用できる。
本発明の第2の具現例にかかる回路は、コンピュータグラフィックス技術における異方性反射を計算する回路や、そのような異方性反射に基づいた画像を描画する装置などに関する。
また、本発明の第2の具現例にかかる回路は、LSI化することにより、リアリティーの高い仮想現実システムの実時間可視化に利用される。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

この 技術と関連性が強い技術

該当するデータがありません

この 技術と関連性が強い法人

該当するデータがありません

この 技術と関連性が強い人物

該当するデータがありません

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ