特許第6367624号(P6367624)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社スクウェア・エニックスの特許一覧

特許6367624プログラム、情報処理装置、算出方法及び記録媒体
<>
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000021
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000022
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000023
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000024
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000025
  • 特許6367624-プログラム、情報処理装置、算出方法及び記録媒体 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6367624
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】プログラム、情報処理装置、算出方法及び記録媒体
(51)【国際特許分類】
   G06T 15/80 20110101AFI20180723BHJP
【FI】
   G06T15/80
【請求項の数】9
【全頁数】18
(21)【出願番号】特願2014-139981(P2014-139981)
(22)【出願日】2014年7月7日
(65)【公開番号】特開2016-18343(P2016-18343A)
(43)【公開日】2016年2月1日
【審査請求日】2017年4月4日
(73)【特許権者】
【識別番号】308033283
【氏名又は名称】株式会社スクウェア・エニックス
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】徳吉 雄介
【審査官】 村松 貴士
(56)【参考文献】
【文献】 米国特許出願公開第2006/0132486(US,A1)
【文献】 特開2003−203220(JP,A)
【文献】 Jiaping Wang, 外4名,“All-Frequency Rendering of Dynamic, Spatially-Varying Reflectance”,ACM Transactions on Graphics,米国,ACM,2009年12月,Vol.28, No.5,pp.133:1-133:10
【文献】 KUN XU, 外2名,“A Practical Algorithm for Rendering Interreflections with All-Frequency BRDFs”,ACM Transactions on Graphics,米国,ACM,2014年 1月,Vol.33, No.1,pp.10:1-10:16
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00 − 15/87
(57)【特許請求の範囲】
【請求項1】
3次元シーン内のシェーディング点における放射輝度を算出する1以上のコンピュータに、
直接照明が所定の面により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する処理と、
前記球光源の入射放射輝度、及び前記球光源の位置における双方向反射分布関数(BRDF)を球面ガウス関数で近似(SG近似)する処理と、
前記シェーディング点から見た前記光源の拡がり示す関数をSG近似する処理と、
SG近似された前記光源の発光放射輝度SG近似された前記光源の拡がりを示す関数、及びSG近似された前記球光源の位置におけるBRDFの積を求めることにより前記シェーディング点における入射放射輝度を求める処理と、
前記シェーディング点におけるBRDFをSG近似する処理と、
記シェーディング点における入射放射輝度、及びSG近似された前記シェーディング点におけるBRDFの積を求めることにより、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する処理と、
を実行させるプログラムであって、
SG近似された前記球光源の拡がりを示す関数の鋭さが、SG近似された前記球光源の発光放射輝度とSG近似された前記シェーディング点におけるBRDFとの積の鋭さよりも十分大きい場合に、前記シェーディング点におけるBRDFと前記球光源の位置におけるBRDFとをSG近似する処理を実行させないプログラム。
【請求項2】
前記光源の拡がりを示す関数及び前記シェーディング点におけるBRDFの少なくともいずれかを、非等方性球面ガウス関数に近似する請求項1に記載のプログラム。
【請求項3】
前記光源の拡がりを示す関数をSG近似する処理において、前記シェーディング点から見た前記光源のコーン形状を示す関数を前記光源の拡がりを示す関数としてSG近似する請求項1または2に記載のプログラム。
【請求項4】
前記プログラムは、複数の前記光源を、所定の条件に応じて集合に分類する処理を前記1以上のコンピュータにさらに実行させ、
前記光源の位置におけるBRDFをSG近似する処理において、集合内の前記複数の光源の各々について、前記シェーディング点から見た該光源の拡がりの大きさに応じて該光源の位置におけるBRDFにブラー処理を適用する請求項1乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記プログラムは、複数の前記光源を、所定の条件に応じて集合に分類する処理を前記1以上のコンピュータにさらに実行させ、
前記光源の位置におけるBRDFをSG近似する処理において、集合内の前記複数の光源の各々について、反射のローブを平均化する処理を適用する請求項1乃至4のいずれか1項に記載のプログラム。
【請求項6】
記プログラムは、複数の前記球光源の各々について算出された前記シェーディング点における放射輝度を積算する処理を前記1以上のコンピュータにさらに実行させる請求項1乃至のいずれか1項に記載のプログラム。
【請求項7】
3次元シーン内のシェーディング点における放射輝度を算出する情報処理装置であって、
直接照明が所定の面により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する変換手段と、
前記球光源の入射放射輝度及び前記球光源の位置における双方向反射分布関数(BRDF)を球面ガウス関数で近似(SG近似)する第1の近似手段と、
前記シェーディング点から見た前記光源の拡がりを示す関数をSG近似する第の近似手段と、
前記第1の近似手段によりSG近似された前記光源の発光放射輝度、前記第の近似手段によりSG近似された前記光源の拡がりを示す関数、及び前記第1の近似手段によりSG近似された前記球光源の位置におけるBRDFの積を求めることにより前記シェーディング点における入射放射輝度を求める第1の算出手段と、
前記シェーディング点におけるBRDFをSG近似する第の近似手段と、
記第1の算出手段により求められた前記シェーディング点における入射放射輝度、及び前記第の近似手段によりSG近似された前記シェーディング点におけるBRDFの積を求めることにより、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する第2の算出手段と、を有し、
SG近似された前記球光源の拡がりを示す関数の鋭さが、SG近似された前記球光源の発光放射輝度とSG近似された前記シェーディング点におけるBRDFとの積の鋭さよりも十分に大きい場合に、前記第3の近似手段は、前記シェーディング点におけるBRDFをSG近似せず、前記第1の近似手段は、前記球光源の位置におけるBRDFをSG近似しない情報処理装置。
【請求項8】
3次元シーン内のシェーディング点における放射輝度の算出方法であって、
直接照明の入射放射輝度により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する変換工程と、
前記球光源の入射放射輝度及び前記球光源の位置における双方向反射分布関数(BRDF)を球面ガウス関数で近似(SG近似)する第1の近似工程と、
前記シェーディング点から見た前記光源の拡がりを示す関数をSG近似する第の近似工程と、
前記第1の近似工程においてSG近似された前記光源の発光放射輝度、前記第の近似工程においてSG近似された前記光源の拡がりを示す関数、及び前記第1の近似工程においてSG近似された前記球光源の位置におけるBRDFの積を求めることにより前記シェーディング点における入射放射輝度を求める第1の算出工程と、
前記シェーディング点におけるBRDFをSG近似する第の近似工程と、
記第1の算出工程において求められた前記シェーディング点における入射放射輝度、及び前記第の近似工程においてSG近似された前記シェーディング点におけるBRDFに基づいて、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する第2の算出工程と、を有し、
SG近似された前記球光源の拡がりを示す関数の鋭さが、SG近似された前記球光源の発光放射輝度とSG近似された前記シェーディング点におけるBRDFとの積の鋭さよりも十分に大きい場合に、前記第3の近似工程において、前記シェーディング点におけるBRDFはSG近似されず、前記第1の近似工程において、前記球光源の位置におけるBRDFはSG近似されない算出方法。
【請求項9】
請求項1乃至のいずれか1項に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、算出方法及び記録媒体に関し、特に光源によりオブジェクト面に生じる放射輝度の描画表現技術に関する。
【背景技術】
【0002】
近年、コンピュータグラフィックスの分野では、高品質かつ写実的なグラフィックの提供のために様々な描画表現技術が提案、実装なされている。このような描画表現技術の1つに、描画されるオブジェクト(描画オブジェクト)のマテリアル(材質)や該オブジェクトの周辺に配置された照明の光源種類を考慮して、光源によって生じる放射輝度を描画再現するものがある。
【0003】
描画オブジェクト上の1つの点(シェーディング点)の放射輝度、あるいは描画される画像上における1画素における放射輝度は、周辺に配置された照明(直接照明)や、これらの光源が特定の面により反射することで生じる所謂間接照明によって生じる放射輝度を総和することにより再現される。具体的には、各光源についてレンダリング方程式の解(各光源による放射輝度)を求め、それらを積分することにより、周辺光源によるシェーディング点の放射輝度が算出される。この積分解を求める手法の一つとして、間接照明に関しては、間接照明を複数の仮想点光源で近似したインスタントラジオシティ法が存在する。また直接照明に関しては、面積を持った光源を複数の点光源で近似して積分を近似する方法がある。
【0004】
一方で、上述のように単純に点光源で近似する方式では、光源位置とシェーディング点とが極めて近接する場合やシェーディング点が鏡面反射のように鋭い反射分布を示すマテリアルである場合等、シェーディング点が急激に明るくなる等の不自然な描画結果(スパイク状のアーティファクト)を示す場合があった。これは、レンダリング方程式においてシェーディング点との距離を示す項が分母に存在すること、また分子に存在する双方向反射分布関数(BRDF:Bidirectional Reflectance Distribution Function)が鋭い場合に誤差の分散が大きくなることによる。
【0005】
これに対し、非特許文献1には直接照明として半径の小さな球光源を定義するシーンにおける不自然な鏡面反射の発生を、光源を球面ガウス関数に近似(SG近似)することで解決している。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】チアピン・ワン(Jiaping Wang)、外4名著、「動的・空間的に変化する反射率の全周波数描画(All-Frequency Rendering of Dynamic, Spatially-Varying Reflectance)」、ACM Transactions on Graphics、Vol.28 Number.5、 pp.133:1-133:10、2009年12月
【非特許文献2】クン・シュウ(Kun Xu)、外5名著、「全周波数BRDFを用いる相互反射描画の実用的アルゴリズム(A Practical Algorithm for Rendering Interreflections with All-frequency BRDFs)」、ACM Transactions on Graphics、Vol.33 Number.1、pp.10:1-10-16、2014年1月
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1においてワンらが提案するレンダリング方程式の近似解法は、物理法則を無視しているため、光源ごとにシーンに依存したパラメータのチューニングが必要であり、多数の光源が存在する場合に実用的でない、あるいはチューニングに係るユーザの作業が煩雑であった。また非特許文献1では半径の小さい球光源のみを前提としていたため、該解法では半径が大きくなることでエネルギーが保存されず、近似誤差が大きくなる可能性があった。さらに、近似後のレンダリング方程式も光源とシェーディング点との距離項が分母に存在するため、依然としてスパイク状のアーティファクトが描画結果に現れる場合があった。
【0008】
一方で、非特許文献2においてシュウらが提案する手法では、エネルギー保存則を考慮してシェーディング点と光源(仮想球光源)とで構成されるコーンについてSG近似を行っているが、光源とシェーディング点との距離が近い場合のスパイク状のアーティファクトの発生を回避することができず、距離に応じて別手法を用いるものであった。
【0009】
本発明の少なくとも1つの実施形態は、上述の問題点に鑑みてなされたものであり、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現するプログラム、情報処理装置、算出方法及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0010】
前述の目的を達成するために、本発明の少なくとも1つの実施形態に係る情報処理装置は、3次元シーン内のシェーディング点における放射輝度を算出する情報処理装置であって、球面ガウス関数で表現(SG表現)された対象光源の発光放射輝度を取得する取得手段と、シェーディング点から見た対象光源の拡がりを示す関数を球面ガウス関数で近似(SG近似)する第1の近似手段と、取得手段により取得されたSG表現された対象光源の発光放射輝度と、第1の近似手段によりSG近似された対象光源の拡がりを示す関数との積を求めることによりシェーディング点における入射放射輝度を求める第1の算出手段と、シェーディング点における双方向反射分布関数(BRDF)をSG近似する第2の近似手段と、シェーディング点を描画する視点を示す情報、第1の算出手段により求められたシェーディング点における入射放射輝度、及び第2の近似手段によりSG近似されたシェーディング点におけるBRDFに基づいて、シェーディング点における放射輝度を算出する第2の算出手段と、を有する。
【発明の効果】
【0011】
このような構成により本発明の少なくとも1つの実施形態によれば、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現することが可能となる。
【図面の簡単な説明】
【0012】
図1】本発明の実施形態及び変形例に係るPC100の機能構成を示したブロック図
図2】本発明の実施形態1に係るPC100において実行される輝度算出処理を例示したフローチャート
図3】本発明の実施形態に係るシェーディング点から見た対象光源の拡がりを説明するための図
図4】本発明の実施形態2に係るPC100において実行される輝度算出処理を例示したフローチャート
図5】本発明の変形例に係るクラスタリングによる間接照明のフリッカ現象を説明するための図
図6】本発明の変形例に係るPC100において実行される輝度算出処理を例示したフローチャート
【発明を実施するための形態】
【0013】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、3次元シーン内のシェーディング点における放射輝度を反映したコンピュータグラフィックス(CG)画像を生成可能なPCに、本発明を適用した例を説明する。しかし、本発明は、3次元シーン内のシェーディング点における放射輝度を算出することが可能な任意の機器に適用可能である。
【0014】
また、本明細書において「シェーディング点」とは該点に対応する描画オブジェクトの描画において、該オブジェクトが視点に対して放射する輝度成分(放射輝度)を求める点を指すものとする。また「発光放射輝度」は3次元シーン内に定義された光源がシーンに対して与える、シーンデザイナ等により予め定められた輝度を指し、「入射放射輝度」は、光源から放射されてシェーディング点に入射する輝度を指すものとする。また単に「放射輝度」と表現した場合は、描画されるCG画像に係る視点に対してシェーディング点が提示する輝度を指すものとする。
【0015】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0016】
制御部101は、例えばCPU等のPC100が有する各ブロックの動作を制御する。具体的には制御部101は、記憶媒体102に記憶された各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
【0017】
記憶媒体102は、不揮発性メモリやHDD等の記憶装置である。記憶媒体102は、PC100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等を記憶する。また記憶媒体102は、後述の描画処理での生成対象となる3次元シーン(対象シーン)に配置される描画オブジェクトの各種データを記憶する。またメモリ103は、RAM等の揮発性メモリである。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する。
【0018】
描画部104は、例えばGPU等の描画装置である。描画部104は、例えば描画用メモリ105に展開された描画オブジェクトのデータを、所定のパラメータに基づいて並進や回転等の処理を行い、設定された視点の情報(位置、方向、画角、上方向等)に従って対象シーンを描画する描画処理を実行し、CG画像を生成する。本実施形態のPC100は、描画処理において少なくとも一部の描画オブジェクトについて、対象シーン内に配置された直接照明に係る光源によって生じる放射輝度を算出する後述の輝度算出処理を実行する。
【0019】
《輝度算出処理》
このような構成をもつ本実施形態のPC100において実行される輝度算出処理について、図2のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記憶媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本輝度算出処理は、例えば描画処理の所定のタイミングで、放射輝度の算出を行うシェーディング点の各々について実行されるものとして説明する。また、本実施形態では便宜上、輝度算出処理における演算の主体が制御部101であるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、複数のシェーディング点の各々について、複数の光源により生じる放射輝度を算出することになるため、並行演算を得意とする描画部104が本輝度算出処理の少なくとも一部の処理を実行してもよいことは容易に理解されよう。
【0020】
S201で、制御部101は、シェーディング点における双方向反射分布関数(BRDF)を非等方性球面ガウス関数に近似(ASG近似)する。非等方性球面ガウス関数とは、拡がりを有する光源による照明演算をモンテカルロ法を用いて行う場合の計算コストを低減するために、シュウらによって提案された近似手法である(Kun Xu、外5名著、"Anisotropic Spherical Gaussians"、ACM Transactions on Graphics、Vol.32 Number.6、pp.209:1-209:11、2013年11月)。BRDFは球面ガウス関数により近似してもよいが、等方性のBRDFであっても反射のローブが非等方性分布となるため、本実施形態ではシェーディング点のBRDFはASG近似する。ASG近似を用いる場合、SG近似を用いる場合よりも演算は複雑となるが、より再現度の高い演算結果を得ることができる。
【0021】
なお、本実施形態では演算量の増加を考慮し、シェーディング点におけるBRDFの近似のみを非等方性球面ガウス関数を用いるものとして説明するが、本発明の実施はこれに限られるものではない。本発明の実施においては、後述するように様々なパラメータを球面ガウス関数に近似するが、その近似において球面ガウス関数を等方性とするか非等方性とするかについては、所望の演算時間、演算量、再現精度に基づいて自由に選択されるものであってよい。またASG近似やSG近似は、非特許文献1やシュウらによって示される解析的近似を用いる方式に限るものでなく、フィッティング等のその他の手法が用いられてよい。
【0022】
S202で、制御部101は、対象シーン内に定義された直接照明に係る光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない1つの光源を対象光源に選択する。本実施形態では簡単のため、輝度算出処理の対象となる直接照明に係る光源の発光放射輝度の方向性分布は、予め球面ガウス関数で表現(SG表現)されているものとして説明する。即ち、対象シーン内に定義される直接照明に係る光源の発光放射輝度
は、例えば対象シーンをデザインしたシーンデザイナ等により定義された球面ガウス関数の各種パラメータ(球面ガウス関数の振幅(拡がり)μem、発光放射の中心ベクトルξem、鋭さηem)と、対象光源から放射する全ての光線のベクトルωにより定義されるものであってよい。なお、SG表現された対象光源は方向性に偏りを有する分布を示すものである必要はなく、一様分布であるものが含まれてよい。例えば、対象光源が方向性に関して一様分布である場合は、発光放射輝度は鋭さηem=0としてSG表現できる。
【0023】
なお、本実施形態に係る発明において適用対象となる直接照明に係る光源は、その発光放射輝度が予めSG表現されているものである必要はない。本実施形態に係る発明において適用対象となる直接照明に係る光源は、球光源のように光源が拡がりを有しており、かつスポットライト等の指向性を有する光源等のように球面ガウス関数に近似(SG近似)することが可能な光源であればよい。この場合、発光放射輝度は、対象光源から放射される光束の分布を最小二乗法等によりフィッティングする等の処理を行うことによりSG近似すればよい。
【0024】
S203で、制御部101は、シェーディング点から見た対象光源の拡がりを示す関数Lc(x,ω)(xはシェーディング点を示すベクトル)をSG近似する。上述したように、本実施形態に係る発明において適用対象となる光源は拡がりを有しているため、シェーディング点を基準とする拡がりを関数で示すことができる。例えば対象光源が球光源である場合は、シェーディング点から見た対象光源の拡がりは、シェーディング点と球光源とで定義されるコーンの形状を示す関数となる。対象光源の拡がりを示す関数はSG近似により
で表せるものとすると、コーン内のエネルギーが保存する必要があるため
が成立し、従って球面ガウス関数の振幅μcは、
で求められる。なお、図3に示されるように、ξcはコーンの回転軸を規定するベクトル、即ち球光源の中心からシェーディング点に向かうベクトルの逆ベクトルであり、シェーディング点から見たコーンの傾斜(拡がり:回転軸とコーンの母線とがなす角)がθrである場合、
が成立するため、式1は
となる。このようにして得られたLc(x,ω)は選択したベクトルωの光線がコーンに内包されるのであれば1を示し、内包されなければ0を示す関数となる。
【0025】
なお、上述した非特許文献1で示されるシーンに応じて設定が必要となるパラメータを除外するために、コーンを示す関数の鋭さηcは、鋭さを1次関数で表すのであれば
であるため、最小二乗法を用いて
が最適解として予め算出されていてもよい。またこの他、1次元のLUTを使用する、あるいは実験的に求められた以下の有理数近似式
を使用して決定するものであってもよい。
【0026】
S204で、制御部101は、シェーディング点における入射放射輝度Lin(x,ω)を求める。シェーディング点における入射放射輝度Lin(x,ω)は、SG表現された発光放射輝度とSG近似されたシェーディング点から見た対象光源の拡がりを示す関数Lc(x,ω)との積により算出する。即ち、双方とも球面ガウス関数を用いて表現されているため、入射放射輝度Lin(x,ω)は
として算出することができる。なお、本ステップにおいて発光放射輝度と対象光源の拡がりを示す関数とは双方とも球面ガウス関数で表されているため、得られる入射放射輝度も球面ガウス関数で表すことができる。
【0027】
S205で、制御部101は、CG画像を描画する視点に向かうシェーディング点における放射輝度のうち、対象光源による寄与量を算出する。制御部101は、SG近似された入射放射輝度と、SG近似されたシェーディング点におけるBRDFとの積により、シェーディング点における放射輝度のうちの対象光源による寄与量を算出する。
【0028】
即ち、本ステップにおける処理は、対象光源から放射する全ての光線による、描画する視点についてのシェーディング点における放射輝度を算出するためのレンダリング方程式を解くことと等価である。つまり、SG近似あるいはASG近似を用いることにより、シェーディング点におけるレンダリング方程式(ωeyeをシェーディング点から描画する視点に向かうベクトル、nはシェーディング点における法線ベクトル)
は、シェーディング点におけるBRDFのASG近似が
である場合、シュウらのASG近似手法を用いることで式2は
として解析的に解を得ることができる。なお、上述したシュウらのASG近似手法ではASG近似したBRDFの鋭さをνとして定義していたが、本実施形態の手法ではASG近似したBRDFの鋭さをηにて示すため、その関係式を上記した。
【0029】
S206で、制御部101は、S205において算出された対象光源に係る放射輝度の寄与量を、例えばメモリ103に格納されているシェーディング点の放射輝度の値に積算する。
【0030】
S207で、制御部101は、対象シーン内に定義された直接照明に係る光源に、対象光源に未選択の光源が存在するか否かを判断する。制御部101は、未選択の光源が存在すると判断した場合、処理をS202に戻す。また制御部101は、未選択の光源が存在しないと判断した場合、S208で各光源による寄与量の積算が完了した、シェーディング点における放射輝度の値を出力し、本輝度算出処理を完了する。
【0031】
即ち、本輝度算出処理におけるループ処理は、対象シーン内に定義された直接照明に係る1以上の光源によるシェーディング点から描画する視点への放射輝度を算出するために、各光源による寄与量の総和演算を行うことと等価である。これにより、アーティスト等によるシーンに依存した光源ごとのチューニングが必要なパラメータ、及び光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減したシェーディング点における放射輝度を算出することができる。
【0032】
以上説明したように、本実施形態の情報処理装置によれば、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現することができる。情報処理装置は、球面ガウス関数で表現(SG表現)された対象光源の発光放射輝度を取得し、シェーディング点から見た対象光源の拡がりを示す関数を球面ガウス関数で近似(SG近似)し、それらの積を求めることによりシェーディング点における入射放射輝度を求める。また情報処理装置は、シェーディング点における双方向反射分布関数(BRDF)をSG近似し、シェーディング点を描画する視点を示す情報、シェーディング点における入射放射輝度、及びSG近似されたシェーディング点におけるBRDFに基づいて、シェーディング点における放射輝度を算出する。
【0033】
[実施形態2]
上述した実施形態1では、対象シーンに存在する直接照明に係る光源のみにより、シェーディング点の放射輝度を求めるものとして説明したが、本発明の実施はこれに限られるものではない。即ち、フォトントレーシングやリフレクティブシャドウマップの生成において考慮されるように、直接照明に係る光源から放射された光線が対象シーンに存在する所定の描画オブジェクトで反射されることによって生じる間接照明に係る仮想的な光源を考慮する際にも本発明は適用可能である。
【0034】
なお、アーティスト等により各種パラメータが定義される直接照明と異なり、間接照明はエネルギー保存等の物理法則に従って演算が行われるものであるため、非特許文献1に示したワンらの手法は、本実施形態において考慮する間接照明に係る光源についてはそもそも適用することができない。以下では、間接照明に係る光源についても実施形態1と同様にSG近似を利用することで、光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減する方法について説明する。
【0035】
また、本実施形態では、上述した実施形態1と同様の構成を有するPC100に本発明を適用した例について説明するため、PC100の機能構成に係る説明は省略する。
【0036】
《輝度算出処理》
以下、本実施形態の輝度算出処理について、図4を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態1の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。なお、以下の説明においては間接照明に係る光源は、リアルタイム描画を考慮して演算を簡素化するため、1バウンスによって定義される仮想点光源(VPL:Virtual Point Light)をランダムサンプリングして定義したものとして説明するが、本発明の実施において考慮すべき間接照明に係る光源は、複数回のバウンスにより定義されるものであってもよいことは言うまでもない。また本実施形態では間接照明に係る光源はフォトントレーシングにより規定されるVPLであるものとし、これを例えばハサンらにより提案される仮想球光源(VSL:Virtual Spherical Light)(Milos Hasan、外3名著、"Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes"、ACM Transactions on Graphics、Vol.28 Number.5、pp.143:1-143:6、2009年12月)に変換して利用するものとして説明する。しかしながら本発明の実施は、後述する変換処理を省略するため、拡がりを有する、例えばVSL以外にもウォレスらにより提案される仮想領域光源(VAL:Virtual Area Light)(John R Wallace、外2名著、"A Ray Tracing Algorithm for Progressive Radiosity"、SACM SIGGRAPH Computer Graphics - Special issue: Proceedings of the 1989 ACM SIGGRAPH conference、Volume 23 Issue 3、pp.315-324, 1989年7月)として予め定義されてもよい。
【0037】
S201においてシェーディング点におけるBRDFをASG近似した後、制御部101はS401で、対象シーン内に定義された光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない1つの光源を対象光源に選択する。
【0038】
S402で、制御部101は、対象光源が間接照明に係る光源であるか否かを判断する。即ち、制御部101は、対象光源がVPLであるか否かを判断する。制御部101は、対象光源が間接照明に係る光源であると判断した場合は処理をS403に移し、直接照明に係る光源であると判断した場合は処理をS203に移す。なお、本実施形態では対象光源に直接照明に係る光源と間接照明に係る光源の両方が含まれているものとしているため、本ステップのように対象光源の種類がいずれであるかを判断するが、対象光源が間接照明に係る光源であることが予め判明している場合は、本ステップの処理を行わずに後述のS403、S404の処理を行えばよいことは容易に理解されよう。
【0039】
S403で、制御部101は、対象光源をVSLに変換する。VPLのVSLへの変換は、例えばVPLの中心をVSLの中心位置として定義し、VPLの密度の逆数を半径として定義することによりVSLに変換する。間接照明に係る光源が1バウンスであるものとすると、その半径remは、光線のサンプル数をN、光線の確率密度をp、要因となる直接光源の位置ベクトルをx0、VPLの座標(VSLの中心座標)の位置ベクトルをxem、要因となる直接光源からVPLに向かうベクトルをωorig、VPL位置における法線ベクトルをnemとすると、
の関係を用いて解析的に求めることが可能である。即ち、本実施形態の輝度算出処理では間接照明に係る光源については拡がりを有する光源に変換するため、要因となる直接光源は実施形態1のように拡がりを有する光源である必要はなく、直接照明に係る光源は拡がりを有さない点光源であるものとして説明する。なお、フォトンが複数回バウンスする場合や拡がりを有するような大きな光源から放射される場合は、上記の解析解を用いることはできないため、ハサンらが提案するような密度推定により半径を求める方式が採用されてよい。
【0040】
なお、本実施形態ではVPLを変換したVSLの半径として解析解を使用するものとして説明するが、本発明の実施はこれに限られるものではない。つまり、ランダムサンプリングにより定義されたVPLの各々をVSLに変換した間接照明に係る光源を取り扱う場合、VSLの半径を解析解に決定すると、確率密度を考慮してはいるものの実際に生成されたVPLの分布を無視しているので誤差が大きくなり、不自然な放射輝度が再現される可能性がある。これに対し、プラツキンらはランダムサンプリングにより定義したVPLを種として、VPL位置の近さ、VPL位置における法線の類似度、VPL位置の描画オブジェクトの色等により集合に分類(クラスタリング:Clustering)し、各集合において重複しないようにVSLの半径を決定する方法を提案しており(Roman Prutkin、外2名著、"Reflective Shadow Map Clustering for Real-Time Global Illumination"、Eurographics 2012 Short Papers、 pp.9-12、2012年3月)、該手法を利用して本ステップの処理を行ってもよい。
【0041】
S404で、制御部101は、変換したVSLの発光放射輝度Lin(−ω)を求め、SG近似する。VSLの発光放射輝度は、対象光源位置のオブジェクトのBRDFや法線方向等によって変化するため、該BRDFのSG近似が
であるとすると、
として得ることができる。なお、ここでΦemは、VPLの位置に入射するフォトンのパワー(エネルギー)である。VSLのSG近似した発光放射輝度を取得した後、制御部101は処理をS203に移す。S203以降の処理は、対象光源が直接照明に係る光源である場合と同様に処理することができる。
【0042】
このようにすることで本実施形態の輝度算出処理では、間接照明として定義された光源についても同様に発光放射輝度をSG近似することで、実施形態1と同様に光源とシェーディング点との距離の項を排除してシェーディング点における放射輝度を算出することができる。即ち、対象シーンに存在する直接照明に限らず、直接照明によって生じた間接照明も考慮した、シェーディング点における放射輝度を好適に算出することができる。
【0043】
[変形例]
ところで、特定の方向に鋭い鏡面反射を示す面による間接照明を再現する際には、例えばVPLを離散的にサンプリングした場合、該面に配置されたVPLの各々は、VPLと光源との位置関係に応じた方向に強く放射される。即ち、該面にVPLが離散的に配置されており、かつその各々において反射方向が異なるため、1つの光源から放射し、該面によって反射されたことにより照射される範囲は、間隙を有して離散的に明るくなるような、斑状のアーティファクトを引き起こす。
【0044】
これに対し、実施形態2のようにVSL変換行うことで反射光に拡がりをもたせて表現することができるため、鋭い鏡面反射によるこのような斑状のアーティファクトの発生は多少軽減される。しかしながら、VSLによる反射もその中心と光源との位置関係に応じた方向に強く放射されることになるため、例えば図5(a)に示されるように各VSLが密になっていたとしても、斑状のアーティファクトは発生し得るものであった。
【0045】
本変形例では、さらにこのような斑状のアーティファクトを低減する方法について説明する。なお、本変形例においても上述した実施形態1と同様の構成を有するPC100に本発明を適用した例について説明するため、PC100の機能構成に係る説明は省略する。
【0046】
《輝度算出処理》
以下、本変形例の輝度算出処理について、図6を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態1及び2の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。また、本輝度算出処理の説明では、簡単のため間接照明に係る光源(VPL)は1バウンスのみとし、クラスタリングにより同一の集合に含められるVPLは法線、色、BRDF等が均一であるものとする。
【0047】
S201においてシェーディング点におけるBRDFをASG近似した後、制御部101はS601で、対象シーン内に定義した間接照明に係る光源(VPL)をクラスタリングする処理を行う。本変形例のクラスタリングは、上述した選定基準により行われるものとして説明するが、本発明の実施においてクラスタリングにより同一集合に含められるVPLの選定基準はこれに限られるものではない。また本実施形態ではクラスタリングを用いるものとして説明するが、実施形態2で説明したように解析的に求められた半径remを使用するものであっても本発明が適用可能であることは言うまでもない。
【0048】
S602で、制御部101は、クラスタリングにより分類した各集合内のVPLを、VSLに変換する。このとき制御部101は、各VSLの半径を上述した解析解ではなく、例えばクラスタ内の中心から見た最遠のVPLやVPLの位置の分散を実際に計測し、なるべく重複が生じないように決定するものとする。制御部101は、全ての集合内のVPLをVSLに変換した後、処理をS401に移す。
【0049】
S401において対象光源が選択されると、制御部101はS603で、対象光源が間接照明に係る光源であるか否かを判断する。なお、本ステップにおける間接照明に係る光源であるか否かの判断は、S602において全てのVPLがVSLに変換されているため、対象光源がVSLであるか否かの判断となる。制御部101は、対象光源が間接照明に係る光源であると判断した場合は処理をS604に移し、直接照明に係る光源であると判断した場合は処理をS203に移す。
【0050】
S604で、制御部101は、対象光源であるVSLの発光放射輝度Lin(−ω)を求め、SG近似する。このとき、制御部101は仮想光源を離散化させたことによる図5(a)に示したような照射される範囲の間隙が発生しないように、VSLの半径に応じた、即ちシェーディング点とVSLとで規定されるコーンの太さに応じて照射される範囲が拡張されるようにBRDFにブラー効果を適用する処理(ブラー処理)を行う。このようにコーンの太さに応じたブラー処理により照射される範囲を拡張することで、図5(b)に示されるように好適な間接照明を再現することができる。
【0051】
なお、このようにBRDFにブラー処理を行ってVSLの発光放射輝度を規定する場合、発光放射輝度がブラー関数をSG近似することで
として解析的に解を得ることができる。ここで、Bem(ω')がブラー関数、ξorigはVSLと要因となった直接照明に係る光源とで構成されるコーンの軸を示すベクトル、μb、ηbのそれぞれは該コーンをSG近似した際の振幅、鋭さを示している。従って、S205において求めるシェーディング点における放射輝度のうちの対象光源による寄与量は、これを用いて算出すればよい。
【0052】
なお、本実施形態ではブラー処理を行うことにより好適な間接照明を再現する方法について説明したが、クラスタリングを行った場合の斑状のアーティファクトは、トクスビグのPhong Distributionにおける平均化の原理(Michael Toksvig著、"Mipmapping Normal Maps"、http://www.nvidia.com/object/mipmapping_normal_maps.html)を応用して、SG近似したBRDFをPhongに近似した後に平均化し、再度phongからSGに戻すことで、クラスタリング内のVSLの複数のローブを平均化したローブを近似する手法によっても解決可能である。あるいはロウレイセンらの手法(Jurgen Laurijissen、外3名著、"Fast Estimation and Rendering of Indirect Highlights"、Computer Graphics Forum、Volume 29 Number 4、 pp.1305-1313、2010年6月)を用いて反射のローブの平均化を行ってもよい。
【0053】
[変形例2]
上述した実施形態1及び2、変形例では、主としてリアルタイムレンダリングを考慮し、演算量を低減しつつ、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現する方法について説明した。しかしながら、リアルタイムレンダリングのように演算を完了させるべき時間に拘束がある条件下ではなく、オフラインレンダリングのように時間的な拘束条件はない反面、その描画再現精度が評価される分野においては、上述したBRDFにSG及びASG近似を用いる方式では所望の精度が実現できない可能性がある。これは、ワンらのSpherical Warping手法を用いたSG及びASG近似が、近似において用いるSG及びASGの数を増加させたとしても誤差が収束しないことに起因する。即ち、誤差が収束しない以上、オフラインレンダリングにおいて時間をかけたとしても再現度が向上しない可能性があった。
【0054】
一方、オフラインレンダリングのように演算量や演算時間への制約が低い場合、リアルタイムレンダリングよりも多くのフォトントレーシングが可能、即ちより多くのVSLを演算において考慮することができる。即ち、1つのシェーディング点について定義される各VSLの半径をより小さくすることができ、SG近似したコーンの形状を示す関数Lc(x,ω)の鋭さηcが強くなる。故に、SG近似したコーンの形状を示す関数Lc(x,ω)の鋭さηcが、VSLのSG近似した発光放射輝度Lem(−ω)とASG近似したシェーディング点とのBRDFの積で表現されるSGの鋭さηρよりも十分に大きい場合、レンダリング方程式において該発光放射輝度とシェーディング点のBRDFとの積は定数とみなすことができる。
【0055】
即ち、SG近似したコーンの形状を示す関数Lc(x,ω)の鋭さηc≫ηρが成立するのであれば、式2のレンダリング方程式は
となり、シェーディング点のBRDFとVSLのBRDFをASG及びSG近似することなく表現できる。この表現はBRDFをSG近似していないため、縮小不可能な誤差(バイアス)が取り除かれている。一方でBRDFをSG近似しないために増加する誤差(分散)もあるが、これはVSLの数を多くすることで収束可能である。また2つのBRDFの積がLcに比べて十分に低周波の場合、この増加する分散は十分に小さいことが期待できる。
【0056】
なお、例えば
が成立するか否か、即ちサンプリング数が多く、VSLの半径が十分に小さいか否かを各シェーディング点について判断することで、実施形態2や変形例の方式を用いるか、本変形例のようにBRDFに対してSG及びASG近似を利用しない方式を用いるかを切り替えればよい。具体的にはαが0より大きい有限値(例えば0.001等)であれば、VPLが無限に定義された場合に解は収束する。あるいは、使用する演算方式の判別は、ASG近似したシェーディング点のBRDFとSG近似したVSLのBRDFの積の鋭さ、またはASG近似したシェーディング点のBRDFとSG近似したVSLの発光放射輝度との積の鋭さに対して、SG近似したコーンの形状を示す関数Lc(x,ω)の鋭さとは無関係に予め閾値を設けておくことにより行われてもよい。
【0057】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、1以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。
【符号の説明】
【0058】
100:PC、101:制御部、102:記憶媒体、103:メモリ、104:描画部、105:描画用メモリ
図1
図2
図3
図4
図5
図6