(57)【特許請求の範囲】
【請求項１】
３次元シーン内のシェーディング点における放射輝度を算出する１以上のコンピュータに、
直接照明が所定の面により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する処理と、
前記球光源の入射放射輝度、及び前記球光源の位置における双方向反射分布関数（ＢＲＤＦ）を球面ガウス関数で近似（ＳＧ近似）する処理と、
前記シェーディング点から見た前記球光源の拡がり示す関数をＳＧ近似する処理と、
ＳＧ近似された前記球光源の発光放射輝度、ＳＧ近似された前記球光源の拡がりを示す関数、及びＳＧ近似された前記球光源の位置におけるＢＲＤＦの積を求めることにより前記シェーディング点における入射放射輝度を求める処理と、
前記シェーディング点におけるＢＲＤＦをＳＧ近似する処理と、
前記シェーディング点における入射放射輝度、及びＳＧ近似された前記シェーディング点におけるＢＲＤＦの積を求めることにより、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する処理と、
を実行させるプログラムであって、
ＳＧ近似された前記球光源の拡がりを示す関数の鋭さが、ＳＧ近似された前記球光源の発光放射輝度とＳＧ近似された前記シェーディング点におけるＢＲＤＦとの積の鋭さよりも十分大きい場合に、前記シェーディング点におけるＢＲＤＦと前記球光源の位置におけるＢＲＤＦとをＳＧ近似する処理を実行させないプログラム。
【請求項２】
前記球光源の拡がりを示す関数及び前記シェーディング点におけるＢＲＤＦの少なくともいずれかを、非等方性球面ガウス関数に近似する請求項１に記載のプログラム。
【請求項３】
前記球光源の拡がりを示す関数をＳＧ近似する処理において、前記シェーディング点から見た前記球光源のコーン形状を示す関数を前記球光源の拡がりを示す関数としてＳＧ近似する請求項１または２に記載のプログラム。
【請求項４】
前記プログラムは、複数の前記球光源を、所定の条件に応じて集合に分類する処理を前記１以上のコンピュータにさらに実行させ、
前記球光源の位置におけるＢＲＤＦをＳＧ近似する処理において、集合内の前記複数の球光源の各々について、前記シェーディング点から見た該球光源の拡がりの大きさに応じて該球光源の位置におけるＢＲＤＦにブラー処理を適用する請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記プログラムは、複数の前記球光源を、所定の条件に応じて集合に分類する処理を前記１以上のコンピュータにさらに実行させ、
前記球光源の位置におけるＢＲＤＦをＳＧ近似する処理において、集合内の前記複数の球光源の各々について、反射のローブを平均化する処理を適用する請求項１乃至４のいずれか１項に記載のプログラム。
【請求項６】
前記プログラムは、複数の前記球光源の各々について算出された前記シェーディング点における放射輝度を積算する処理を前記１以上のコンピュータにさらに実行させる請求項１乃至５のいずれか１項に記載のプログラム。
【請求項７】
３次元シーン内のシェーディング点における放射輝度を算出する情報処理装置であって、
直接照明が所定の面により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する変換手段と、
前記球光源の入射放射輝度及び前記球光源の位置における双方向反射分布関数（ＢＲＤＦ）を球面ガウス関数で近似（ＳＧ近似）する第１の近似手段と、
前記シェーディング点から見た前記球光源の拡がりを示す関数をＳＧ近似する第２の近似手段と、
前記第１の近似手段によりＳＧ近似された前記球光源の発光放射輝度、前記第２の近似手段によりＳＧ近似された前記球光源の拡がりを示す関数、及び前記第１の近似手段によりＳＧ近似された前記球光源の位置におけるＢＲＤＦの積を求めることにより前記シェーディング点における入射放射輝度を求める第１の算出手段と、
前記シェーディング点におけるＢＲＤＦをＳＧ近似する第３の近似手段と、
前記第１の算出手段により求められた前記シェーディング点における入射放射輝度、及び前記第３の近似手段によりＳＧ近似された前記シェーディング点におけるＢＲＤＦの積を求めることにより、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する第２の算出手段と、を有し、
ＳＧ近似された前記球光源の拡がりを示す関数の鋭さが、ＳＧ近似された前記球光源の発光放射輝度とＳＧ近似された前記シェーディング点におけるＢＲＤＦとの積の鋭さよりも十分に大きい場合に、前記第３の近似手段は、前記シェーディング点におけるＢＲＤＦをＳＧ近似せず、前記第１の近似手段は、前記球光源の位置におけるＢＲＤＦをＳＧ近似しない情報処理装置。
【請求項８】
３次元シーン内のシェーディング点における放射輝度の算出方法であって、
直接照明の入射放射輝度により反射されることによって仮想的に定義される間接照明を、所定の拡がりを有する球光源に変換する変換工程と、
前記球光源の入射放射輝度及び前記球光源の位置における双方向反射分布関数（ＢＲＤＦ）を球面ガウス関数で近似（ＳＧ近似）する第１の近似工程と、
前記シェーディング点から見た前記球光源の拡がりを示す関数をＳＧ近似する第２の近似工程と、
前記第１の近似工程においてＳＧ近似された前記球光源の発光放射輝度、前記第２の近似工程においてＳＧ近似された前記球光源の拡がりを示す関数、及び前記第１の近似工程においてＳＧ近似された前記球光源の位置におけるＢＲＤＦの積を求めることにより前記シェーディング点における入射放射輝度を求める第１の算出工程と、
前記シェーディング点におけるＢＲＤＦをＳＧ近似する第３の近似工程と、
前記第１の算出工程において求められた前記シェーディング点における入射放射輝度、及び前記第３の近似工程においてＳＧ近似された前記シェーディング点におけるＢＲＤＦに基づいて、前記シェーディング点における前記シェーディング点を描画する視点に向かう放射輝度を算出する第２の算出工程と、を有し、
ＳＧ近似された前記球光源の拡がりを示す関数の鋭さが、ＳＧ近似された前記球光源の発光放射輝度とＳＧ近似された前記シェーディング点におけるＢＲＤＦとの積の鋭さよりも十分に大きい場合に、前記第３の近似工程において、前記シェーディング点におけるＢＲＤＦはＳＧ近似されず、前記第１の近似工程において、前記球光源の位置におけるＢＲＤＦはＳＧ近似されない算出方法。
【請求項９】
請求項１乃至６のいずれか１項に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、算出方法及び記録媒体に関し、特に光源によりオブジェクト面に生じる放射輝度の描画表現技術に関する。
【背景技術】
【０００２】
近年、コンピュータグラフィックスの分野では、高品質かつ写実的なグラフィックの提供のために様々な描画表現技術が提案、実装なされている。このような描画表現技術の１つに、描画されるオブジェクト（描画オブジェクト）のマテリアル（材質）や該オブジェクトの周辺に配置された照明の光源種類を考慮して、光源によって生じる放射輝度を描画再現するものがある。
【０００３】
描画オブジェクト上の１つの点（シェーディング点）の放射輝度、あるいは描画される画像上における１画素における放射輝度は、周辺に配置された照明（直接照明）や、これらの光源が特定の面により反射することで生じる所謂間接照明によって生じる放射輝度を総和することにより再現される。具体的には、各光源についてレンダリング方程式の解（各光源による放射輝度）を求め、それらを積分することにより、周辺光源によるシェーディング点の放射輝度が算出される。この積分解を求める手法の一つとして、間接照明に関しては、間接照明を複数の仮想点光源で近似したインスタントラジオシティ法が存在する。また直接照明に関しては、面積を持った光源を複数の点光源で近似して積分を近似する方法がある。
【０００４】
一方で、上述のように単純に点光源で近似する方式では、光源位置とシェーディング点とが極めて近接する場合やシェーディング点が鏡面反射のように鋭い反射分布を示すマテリアルである場合等、シェーディング点が急激に明るくなる等の不自然な描画結果（スパイク状のアーティファクト）を示す場合があった。これは、レンダリング方程式においてシェーディング点との距離を示す項が分母に存在すること、また分子に存在する双方向反射分布関数（ＢＲＤＦ：Bidirectional Reflectance Distribution Function）が鋭い場合に誤差の分散が大きくなることによる。
【０００５】
これに対し、非特許文献１には直接照明として半径の小さな球光源を定義するシーンにおける不自然な鏡面反射の発生を、光源を球面ガウス関数に近似（ＳＧ近似）することで解決している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】チアピン・ワン（Jiaping Wang）、外４名著、「動的・空間的に変化する反射率の全周波数描画（All-Frequency Rendering of Dynamic, Spatially-Varying Reflectance）」、ACM Transactions on Graphics、Vol.28 Number.5、 pp.133:1-133:10、2009年12月
【非特許文献２】クン・シュウ（Kun Xu）、外５名著、「全周波数ＢＲＤＦを用いる相互反射描画の実用的アルゴリズム（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月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１においてワンらが提案するレンダリング方程式の近似解法は、物理法則を無視しているため、光源ごとにシーンに依存したパラメータのチューニングが必要であり、多数の光源が存在する場合に実用的でない、あるいはチューニングに係るユーザの作業が煩雑であった。また非特許文献１では半径の小さい球光源のみを前提としていたため、該解法では半径が大きくなることでエネルギーが保存されず、近似誤差が大きくなる可能性があった。さらに、近似後のレンダリング方程式も光源とシェーディング点との距離項が分母に存在するため、依然としてスパイク状のアーティファクトが描画結果に現れる場合があった。
【０００８】
一方で、非特許文献２においてシュウらが提案する手法では、エネルギー保存則を考慮してシェーディング点と光源（仮想球光源）とで構成されるコーンについてＳＧ近似を行っているが、光源とシェーディング点との距離が近い場合のスパイク状のアーティファクトの発生を回避することができず、距離に応じて別手法を用いるものであった。
【０００９】
本発明の少なくとも１つの実施形態は、上述の問題点に鑑みてなされたものであり、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現するプログラム、情報処理装置、算出方法及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述の目的を達成するために、本発明の少なくとも１つの実施形態に係る情報処理装置は、３次元シーン内のシェーディング点における放射輝度を算出する情報処理装置であって、球面ガウス関数で表現（ＳＧ表現）された対象光源の発光放射輝度を取得する取得手段と、シェーディング点から見た対象光源の拡がりを示す関数を球面ガウス関数で近似（ＳＧ近似）する第１の近似手段と、取得手段により取得されたＳＧ表現された対象光源の発光放射輝度と、第１の近似手段によりＳＧ近似された対象光源の拡がりを示す関数との積を求めることによりシェーディング点における入射放射輝度を求める第１の算出手段と、シェーディング点における双方向反射分布関数（ＢＲＤＦ）をＳＧ近似する第２の近似手段と、シェーディング点を描画する視点を示す情報、第１の算出手段により求められたシェーディング点における入射放射輝度、及び第２の近似手段によりＳＧ近似されたシェーディング点におけるＢＲＤＦに基づいて、シェーディング点における放射輝度を算出する第２の算出手段と、を有する。
【発明の効果】
【００１１】
このような構成により本発明の少なくとも１つの実施形態によれば、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態及び変形例に係るＰＣ１００の機能構成を示したブロック図
【図２】本発明の実施形態１に係るＰＣ１００において実行される輝度算出処理を例示したフローチャート
【図３】本発明の実施形態に係るシェーディング点から見た対象光源の拡がりを説明するための図
【図４】本発明の実施形態２に係るＰＣ１００において実行される輝度算出処理を例示したフローチャート
【図５】本発明の変形例に係るクラスタリングによる間接照明のフリッカ現象を説明するための図
【図６】本発明の変形例に係るＰＣ１００において実行される輝度算出処理を例示したフローチャート
【発明を実施するための形態】
【００１３】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、３次元シーン内のシェーディング点における放射輝度を反映したコンピュータグラフィックス（ＣＧ）画像を生成可能なＰＣに、本発明を適用した例を説明する。しかし、本発明は、３次元シーン内のシェーディング点における放射輝度を算出することが可能な任意の機器に適用可能である。
【００１４】
また、本明細書において「シェーディング点」とは該点に対応する描画オブジェクトの描画において、該オブジェクトが視点に対して放射する輝度成分（放射輝度）を求める点を指すものとする。また「発光放射輝度」は３次元シーン内に定義された光源がシーンに対して与える、シーンデザイナ等により予め定められた輝度を指し、「入射放射輝度」は、光源から放射されてシェーディング点に入射する輝度を指すものとする。また単に「放射輝度」と表現した場合は、描画されるＣＧ画像に係る視点に対してシェーディング点が提示する輝度を指すものとする。
【００１５】
《ＰＣ１００の構成》
図１は、本発明の実施形態に係るＰＣ１００の機能構成を示すブロック図である。
【００１６】
制御部１０１は、例えばＣＰＵ等のＰＣ１００が有する各ブロックの動作を制御する。具体的には制御部１０１は、記憶媒体１０２に記憶された各ブロックの動作プログラムを読み出し、メモリ１０３に展開して実行することにより各ブロックの動作を制御する。
【００１７】
記憶媒体１０２は、不揮発性メモリやＨＤＤ等の記憶装置である。記憶媒体１０２は、ＰＣ１００が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等を記憶する。また記憶媒体１０２は、後述の描画処理での生成対象となる３次元シーン（対象シーン）に配置される描画オブジェクトの各種データを記憶する。またメモリ１０３は、ＲＡＭ等の揮発性メモリである。メモリ１０３は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する。
【００１８】
描画部１０４は、例えばＧＰＵ等の描画装置である。描画部１０４は、例えば描画用メモリ１０５に展開された描画オブジェクトのデータを、所定のパラメータに基づいて並進や回転等の処理を行い、設定された視点の情報（位置、方向、画角、上方向等）に従って対象シーンを描画する描画処理を実行し、ＣＧ画像を生成する。本実施形態のＰＣ１００は、描画処理において少なくとも一部の描画オブジェクトについて、対象シーン内に配置された直接照明に係る光源によって生じる放射輝度を算出する後述の輝度算出処理を実行する。
【００１９】
《輝度算出処理》
このような構成をもつ本実施形態のＰＣ１００において実行される輝度算出処理について、図２のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部１０１が、例えば記憶媒体１０２に記憶されている対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより実現することができる。なお、本輝度算出処理は、例えば描画処理の所定のタイミングで、放射輝度の算出を行うシェーディング点の各々について実行されるものとして説明する。また、本実施形態では便宜上、輝度算出処理における演算の主体が制御部１０１であるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、複数のシェーディング点の各々について、複数の光源により生じる放射輝度を算出することになるため、並行演算を得意とする描画部１０４が本輝度算出処理の少なくとも一部の処理を実行してもよいことは容易に理解されよう。
【００２０】
Ｓ２０１で、制御部１０１は、シェーディング点における双方向反射分布関数（ＢＲＤＦ）を非等方性球面ガウス関数に近似（ＡＳＧ近似）する。非等方性球面ガウス関数とは、拡がりを有する光源による照明演算をモンテカルロ法を用いて行う場合の計算コストを低減するために、シュウらによって提案された近似手法である（Kun Xu、外５名著、"Anisotropic Spherical Gaussians"、ACM Transactions on Graphics、Vol.32 Number.6、pp.209:1-209:11、2013年11月）。ＢＲＤＦは球面ガウス関数により近似してもよいが、等方性のＢＲＤＦであっても反射のローブが非等方性分布となるため、本実施形態ではシェーディング点のＢＲＤＦはＡＳＧ近似する。ＡＳＧ近似を用いる場合、ＳＧ近似を用いる場合よりも演算は複雑となるが、より再現度の高い演算結果を得ることができる。
【００２１】
なお、本実施形態では演算量の増加を考慮し、シェーディング点におけるＢＲＤＦの近似のみを非等方性球面ガウス関数を用いるものとして説明するが、本発明の実施はこれに限られるものではない。本発明の実施においては、後述するように様々なパラメータを球面ガウス関数に近似するが、その近似において球面ガウス関数を等方性とするか非等方性とするかについては、所望の演算時間、演算量、再現精度に基づいて自由に選択されるものであってよい。またＡＳＧ近似やＳＧ近似は、非特許文献１やシュウらによって示される解析的近似を用いる方式に限るものでなく、フィッティング等のその他の手法が用いられてよい。
【００２２】
Ｓ２０２で、制御部１０１は、対象シーン内に定義された直接照明に係る光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない１つの光源を対象光源に選択する。本実施形態では簡単のため、輝度算出処理の対象となる直接照明に係る光源の発光放射輝度の方向性分布は、予め球面ガウス関数で表現（ＳＧ表現）されているものとして説明する。即ち、対象シーン内に定義される直接照明に係る光源の発光放射輝度
0006367624.tif 000002
は、例えば対象シーンをデザインしたシーンデザイナ等により定義された球面ガウス関数の各種パラメータ（球面ガウス関数の振幅（拡がり）μem、発光放射の中心ベクトルξem、鋭さηem）と、対象光源から放射する全ての光線のベクトルωにより定義されるものであってよい。なお、ＳＧ表現された対象光源は方向性に偏りを有する分布を示すものである必要はなく、一様分布であるものが含まれてよい。例えば、対象光源が方向性に関して一様分布である場合は、発光放射輝度は鋭さηem＝０としてＳＧ表現できる。
【００２３】
なお、本実施形態に係る発明において適用対象となる直接照明に係る光源は、その発光放射輝度が予めＳＧ表現されているものである必要はない。本実施形態に係る発明において適用対象となる直接照明に係る光源は、球光源のように光源が拡がりを有しており、かつスポットライト等の指向性を有する光源等のように球面ガウス関数に近似（ＳＧ近似）することが可能な光源であればよい。この場合、発光放射輝度は、対象光源から放射される光束の分布を最小二乗法等によりフィッティングする等の処理を行うことによりＳＧ近似すればよい。
【００２４】
Ｓ２０３で、制御部１０１は、シェーディング点から見た対象光源の拡がりを示す関数Ｌc(ｘ,ω)（ｘはシェーディング点を示すベクトル）をＳＧ近似する。上述したように、本実施形態に係る発明において適用対象となる光源は拡がりを有しているため、シェーディング点を基準とする拡がりを関数で示すことができる。例えば対象光源が球光源である場合は、シェーディング点から見た対象光源の拡がりは、シェーディング点と球光源とで定義されるコーンの形状を示す関数となる。対象光源の拡がりを示す関数はＳＧ近似により
0006367624.tif 000003
で表せるものとすると、コーン内のエネルギーが保存する必要があるため
0006367624.tif 000004
が成立し、従って球面ガウス関数の振幅μcは、
0006367624.tif 000005
で求められる。なお、図３に示されるように、ξcはコーンの回転軸を規定するベクトル、即ち球光源の中心からシェーディング点に向かうベクトルの逆ベクトルであり、シェーディング点から見たコーンの傾斜（拡がり：回転軸とコーンの母線とがなす角）がθrである場合、
0006367624.tif 000006
が成立するため、式１は
0006367624.tif 000007
となる。このようにして得られたＬc(ｘ,ω)は選択したベクトルωの光線がコーンに内包されるのであれば１を示し、内包されなければ０を示す関数となる。
【００２５】
なお、上述した非特許文献１で示されるシーンに応じて設定が必要となるパラメータを除外するために、コーンを示す関数の鋭さηcは、鋭さを１次関数で表すのであれば
0006367624.tif 000008
であるため、最小二乗法を用いて
0006367624.tif 000009
が最適解として予め算出されていてもよい。またこの他、１次元のＬＵＴを使用する、あるいは実験的に求められた以下の有理数近似式
0006367624.tif 000010
を使用して決定するものであってもよい。
【００２６】
Ｓ２０４で、制御部１０１は、シェーディング点における入射放射輝度Ｌin(ｘ,ω)を求める。シェーディング点における入射放射輝度Ｌin(ｘ,ω)は、ＳＧ表現された発光放射輝度とＳＧ近似されたシェーディング点から見た対象光源の拡がりを示す関数Ｌc(x,ω)との積により算出する。即ち、双方とも球面ガウス関数を用いて表現されているため、入射放射輝度Ｌin(ｘ,ω)は
0006367624.tif 000011
として算出することができる。なお、本ステップにおいて発光放射輝度と対象光源の拡がりを示す関数とは双方とも球面ガウス関数で表されているため、得られる入射放射輝度も球面ガウス関数で表すことができる。
【００２７】
Ｓ２０５で、制御部１０１は、ＣＧ画像を描画する視点に向かうシェーディング点における放射輝度のうち、対象光源による寄与量を算出する。制御部１０１は、ＳＧ近似された入射放射輝度と、ＳＧ近似されたシェーディング点におけるＢＲＤＦとの積により、シェーディング点における放射輝度のうちの対象光源による寄与量を算出する。
【００２８】
即ち、本ステップにおける処理は、対象光源から放射する全ての光線による、描画する視点についてのシェーディング点における放射輝度を算出するためのレンダリング方程式を解くことと等価である。つまり、ＳＧ近似あるいはＡＳＧ近似を用いることにより、シェーディング点におけるレンダリング方程式（ωeyeをシェーディング点から描画する視点に向かうベクトル、ｎはシェーディング点における法線ベクトル）
0006367624.tif 000012
は、シェーディング点におけるＢＲＤＦのＡＳＧ近似が
0006367624.tif 000013
である場合、シュウらのＡＳＧ近似手法を用いることで式２は
0006367624.tif 000014
として解析的に解を得ることができる。なお、上述したシュウらのＡＳＧ近似手法ではＡＳＧ近似したＢＲＤＦの鋭さをνとして定義していたが、本実施形態の手法ではＡＳＧ近似したＢＲＤＦの鋭さをηにて示すため、その関係式を上記した。
【００２９】
Ｓ２０６で、制御部１０１は、Ｓ２０５において算出された対象光源に係る放射輝度の寄与量を、例えばメモリ１０３に格納されているシェーディング点の放射輝度の値に積算する。
【００３０】
Ｓ２０７で、制御部１０１は、対象シーン内に定義された直接照明に係る光源に、対象光源に未選択の光源が存在するか否かを判断する。制御部１０１は、未選択の光源が存在すると判断した場合、処理をＳ２０２に戻す。また制御部１０１は、未選択の光源が存在しないと判断した場合、Ｓ２０８で各光源による寄与量の積算が完了した、シェーディング点における放射輝度の値を出力し、本輝度算出処理を完了する。
【００３１】
即ち、本輝度算出処理におけるループ処理は、対象シーン内に定義された直接照明に係る１以上の光源によるシェーディング点から描画する視点への放射輝度を算出するために、各光源による寄与量の総和演算を行うことと等価である。これにより、アーティスト等によるシーンに依存した光源ごとのチューニングが必要なパラメータ、及び光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減したシェーディング点における放射輝度を算出することができる。
【００３２】
以上説明したように、本実施形態の情報処理装置によれば、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現することができる。情報処理装置は、球面ガウス関数で表現（ＳＧ表現）された対象光源の発光放射輝度を取得し、シェーディング点から見た対象光源の拡がりを示す関数を球面ガウス関数で近似（ＳＧ近似）し、それらの積を求めることによりシェーディング点における入射放射輝度を求める。また情報処理装置は、シェーディング点における双方向反射分布関数（ＢＲＤＦ）をＳＧ近似し、シェーディング点を描画する視点を示す情報、シェーディング点における入射放射輝度、及びＳＧ近似されたシェーディング点におけるＢＲＤＦに基づいて、シェーディング点における放射輝度を算出する。
【００３３】
［実施形態２］
上述した実施形態１では、対象シーンに存在する直接照明に係る光源のみにより、シェーディング点の放射輝度を求めるものとして説明したが、本発明の実施はこれに限られるものではない。即ち、フォトントレーシングやリフレクティブシャドウマップの生成において考慮されるように、直接照明に係る光源から放射された光線が対象シーンに存在する所定の描画オブジェクトで反射されることによって生じる間接照明に係る仮想的な光源を考慮する際にも本発明は適用可能である。
【００３４】
なお、アーティスト等により各種パラメータが定義される直接照明と異なり、間接照明はエネルギー保存等の物理法則に従って演算が行われるものであるため、非特許文献１に示したワンらの手法は、本実施形態において考慮する間接照明に係る光源についてはそもそも適用することができない。以下では、間接照明に係る光源についても実施形態１と同様にＳＧ近似を利用することで、光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減する方法について説明する。
【００３５】
また、本実施形態では、上述した実施形態１と同様の構成を有するＰＣ１００に本発明を適用した例について説明するため、ＰＣ１００の機能構成に係る説明は省略する。
【００３６】
《輝度算出処理》
以下、本実施形態の輝度算出処理について、図４を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態１の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。なお、以下の説明においては間接照明に係る光源は、リアルタイム描画を考慮して演算を簡素化するため、１バウンスによって定義される仮想点光源（ＶＰＬ：Virtual Point Light）をランダムサンプリングして定義したものとして説明するが、本発明の実施において考慮すべき間接照明に係る光源は、複数回のバウンスにより定義されるものであってもよいことは言うまでもない。また本実施形態では間接照明に係る光源はフォトントレーシングにより規定されるＶＰＬであるものとし、これを例えばハサンらにより提案される仮想球光源（ＶＳＬ：Virtual Spherical Light）（Milos Hasan、外３名著、"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月）に変換して利用するものとして説明する。しかしながら本発明の実施は、後述する変換処理を省略するため、拡がりを有する、例えばＶＳＬ以外にもウォレスらにより提案される仮想領域光源（ＶＡＬ：Virtual Area Light）（John R Wallace、外２名著、"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月）として予め定義されてもよい。
【００３７】
Ｓ２０１においてシェーディング点におけるＢＲＤＦをＡＳＧ近似した後、制御部１０１はＳ４０１で、対象シーン内に定義された光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない１つの光源を対象光源に選択する。
【００３８】
Ｓ４０２で、制御部１０１は、対象光源が間接照明に係る光源であるか否かを判断する。即ち、制御部１０１は、対象光源がＶＰＬであるか否かを判断する。制御部１０１は、対象光源が間接照明に係る光源であると判断した場合は処理をＳ４０３に移し、直接照明に係る光源であると判断した場合は処理をＳ２０３に移す。なお、本実施形態では対象光源に直接照明に係る光源と間接照明に係る光源の両方が含まれているものとしているため、本ステップのように対象光源の種類がいずれであるかを判断するが、対象光源が間接照明に係る光源であることが予め判明している場合は、本ステップの処理を行わずに後述のＳ４０３、Ｓ４０４の処理を行えばよいことは容易に理解されよう。
【００３９】
Ｓ４０３で、制御部１０１は、対象光源をＶＳＬに変換する。ＶＰＬのＶＳＬへの変換は、例えばＶＰＬの中心をＶＳＬの中心位置として定義し、ＶＰＬの密度の逆数を半径として定義することによりＶＳＬに変換する。間接照明に係る光源が１バウンスであるものとすると、その半径ｒemは、光線のサンプル数をＮ、光線の確率密度をｐ、要因となる直接光源の位置ベクトルをｘ0、ＶＰＬの座標（ＶＳＬの中心座標）の位置ベクトルをｘem、要因となる直接光源からＶＰＬに向かうベクトルをωorig、ＶＰＬ位置における法線ベクトルをｎemとすると、
0006367624.tif 000015
の関係を用いて解析的に求めることが可能である。即ち、本実施形態の輝度算出処理では間接照明に係る光源については拡がりを有する光源に変換するため、要因となる直接光源は実施形態１のように拡がりを有する光源である必要はなく、直接照明に係る光源は拡がりを有さない点光源であるものとして説明する。なお、フォトンが複数回バウンスする場合や拡がりを有するような大きな光源から放射される場合は、上記の解析解を用いることはできないため、ハサンらが提案するような密度推定により半径を求める方式が採用されてよい。
【００４０】
なお、本実施形態ではＶＰＬを変換したＶＳＬの半径として解析解を使用するものとして説明するが、本発明の実施はこれに限られるものではない。つまり、ランダムサンプリングにより定義されたＶＰＬの各々をＶＳＬに変換した間接照明に係る光源を取り扱う場合、ＶＳＬの半径を解析解に決定すると、確率密度を考慮してはいるものの実際に生成されたＶＰＬの分布を無視しているので誤差が大きくなり、不自然な放射輝度が再現される可能性がある。これに対し、プラツキンらはランダムサンプリングにより定義したＶＰＬを種として、ＶＰＬ位置の近さ、ＶＰＬ位置における法線の類似度、ＶＰＬ位置の描画オブジェクトの色等により集合に分類（クラスタリング：Clustering）し、各集合において重複しないようにＶＳＬの半径を決定する方法を提案しており（Roman Prutkin、外２名著、"Reflective Shadow Map Clustering for Real-Time Global Illumination"、Eurographics 2012 Short Papers、 pp.9-12、2012年3月）、該手法を利用して本ステップの処理を行ってもよい。
【００４１】
Ｓ４０４で、制御部１０１は、変換したＶＳＬの発光放射輝度Ｌin(−ω)を求め、ＳＧ近似する。ＶＳＬの発光放射輝度は、対象光源位置のオブジェクトのＢＲＤＦや法線方向等によって変化するため、該ＢＲＤＦのＳＧ近似が
0006367624.tif 000016
であるとすると、
0006367624.tif 000017
として得ることができる。なお、ここでΦemは、ＶＰＬの位置に入射するフォトンのパワー（エネルギー）である。ＶＳＬのＳＧ近似した発光放射輝度を取得した後、制御部１０１は処理をＳ２０３に移す。Ｓ２０３以降の処理は、対象光源が直接照明に係る光源である場合と同様に処理することができる。
【００４２】
このようにすることで本実施形態の輝度算出処理では、間接照明として定義された光源についても同様に発光放射輝度をＳＧ近似することで、実施形態１と同様に光源とシェーディング点との距離の項を排除してシェーディング点における放射輝度を算出することができる。即ち、対象シーンに存在する直接照明に限らず、直接照明によって生じた間接照明も考慮した、シェーディング点における放射輝度を好適に算出することができる。
【００４３】
［変形例］
ところで、特定の方向に鋭い鏡面反射を示す面による間接照明を再現する際には、例えばＶＰＬを離散的にサンプリングした場合、該面に配置されたＶＰＬの各々は、ＶＰＬと光源との位置関係に応じた方向に強く放射される。即ち、該面にＶＰＬが離散的に配置されており、かつその各々において反射方向が異なるため、１つの光源から放射し、該面によって反射されたことにより照射される範囲は、間隙を有して離散的に明るくなるような、斑状のアーティファクトを引き起こす。
【００４４】
これに対し、実施形態２のようにＶＳＬ変換行うことで反射光に拡がりをもたせて表現することができるため、鋭い鏡面反射によるこのような斑状のアーティファクトの発生は多少軽減される。しかしながら、ＶＳＬによる反射もその中心と光源との位置関係に応じた方向に強く放射されることになるため、例えば図５（ａ）に示されるように各ＶＳＬが密になっていたとしても、斑状のアーティファクトは発生し得るものであった。
【００４５】
本変形例では、さらにこのような斑状のアーティファクトを低減する方法について説明する。なお、本変形例においても上述した実施形態１と同様の構成を有するＰＣ１００に本発明を適用した例について説明するため、ＰＣ１００の機能構成に係る説明は省略する。
【００４６】
《輝度算出処理》
以下、本変形例の輝度算出処理について、図６を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態１及び２の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。また、本輝度算出処理の説明では、簡単のため間接照明に係る光源（ＶＰＬ）は１バウンスのみとし、クラスタリングにより同一の集合に含められるＶＰＬは法線、色、ＢＲＤＦ等が均一であるものとする。
【００４７】
Ｓ２０１においてシェーディング点におけるＢＲＤＦをＡＳＧ近似した後、制御部１０１はＳ６０１で、対象シーン内に定義した間接照明に係る光源（ＶＰＬ）をクラスタリングする処理を行う。本変形例のクラスタリングは、上述した選定基準により行われるものとして説明するが、本発明の実施においてクラスタリングにより同一集合に含められるＶＰＬの選定基準はこれに限られるものではない。また本実施形態ではクラスタリングを用いるものとして説明するが、実施形態２で説明したように解析的に求められた半径remを使用するものであっても本発明が適用可能であることは言うまでもない。
【００４８】
Ｓ６０２で、制御部１０１は、クラスタリングにより分類した各集合内のＶＰＬを、ＶＳＬに変換する。このとき制御部１０１は、各ＶＳＬの半径を上述した解析解ではなく、例えばクラスタ内の中心から見た最遠のＶＰＬやＶＰＬの位置の分散を実際に計測し、なるべく重複が生じないように決定するものとする。制御部１０１は、全ての集合内のＶＰＬをＶＳＬに変換した後、処理をＳ４０１に移す。
【００４９】
Ｓ４０１において対象光源が選択されると、制御部１０１はＳ６０３で、対象光源が間接照明に係る光源であるか否かを判断する。なお、本ステップにおける間接照明に係る光源であるか否かの判断は、Ｓ６０２において全てのＶＰＬがＶＳＬに変換されているため、対象光源がＶＳＬであるか否かの判断となる。制御部１０１は、対象光源が間接照明に係る光源であると判断した場合は処理をＳ６０４に移し、直接照明に係る光源であると判断した場合は処理をＳ２０３に移す。
【００５０】
Ｓ６０４で、制御部１０１は、対象光源であるＶＳＬの発光放射輝度Ｌin(−ω)を求め、ＳＧ近似する。このとき、制御部１０１は仮想光源を離散化させたことによる図５（ａ）に示したような照射される範囲の間隙が発生しないように、ＶＳＬの半径に応じた、即ちシェーディング点とＶＳＬとで規定されるコーンの太さに応じて照射される範囲が拡張されるようにＢＲＤＦにブラー効果を適用する処理（ブラー処理）を行う。このようにコーンの太さに応じたブラー処理により照射される範囲を拡張することで、図５（ｂ）に示されるように好適な間接照明を再現することができる。
【００５１】
なお、このようにＢＲＤＦにブラー処理を行ってＶＳＬの発光放射輝度を規定する場合、発光放射輝度がブラー関数をＳＧ近似することで
0006367624.tif 000018
として解析的に解を得ることができる。ここで、Ｂem(ω')がブラー関数、ξorigはＶＳＬと要因となった直接照明に係る光源とで構成されるコーンの軸を示すベクトル、μb、ηbのそれぞれは該コーンをＳＧ近似した際の振幅、鋭さを示している。従って、Ｓ２０５において求めるシェーディング点における放射輝度のうちの対象光源による寄与量は、これを用いて算出すればよい。
【００５２】
なお、本実施形態ではブラー処理を行うことにより好適な間接照明を再現する方法について説明したが、クラスタリングを行った場合の斑状のアーティファクトは、トクスビグのPhong Distributionにおける平均化の原理（Michael Toksvig著、"Mipmapping Normal Maps"、http://www.nvidia.com/object/mipmapping_normal_maps.html）を応用して、ＳＧ近似したＢＲＤＦをPhongに近似した後に平均化し、再度phongからＳＧに戻すことで、クラスタリング内のＶＳＬの複数のローブを平均化したローブを近似する手法によっても解決可能である。あるいはロウレイセンらの手法（Jurgen Laurijissen、外３名著、"Fast Estimation and Rendering of Indirect Highlights"、Computer Graphics Forum、Volume 29 Number 4、 pp.1305-1313、2010年6月）を用いて反射のローブの平均化を行ってもよい。
【００５３】
［変形例２］
上述した実施形態１及び２、変形例では、主としてリアルタイムレンダリングを考慮し、演算量を低減しつつ、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現する方法について説明した。しかしながら、リアルタイムレンダリングのように演算を完了させるべき時間に拘束がある条件下ではなく、オフラインレンダリングのように時間的な拘束条件はない反面、その描画再現精度が評価される分野においては、上述したＢＲＤＦにＳＧ及びＡＳＧ近似を用いる方式では所望の精度が実現できない可能性がある。これは、ワンらのSpherical Warping手法を用いたＳＧ及びＡＳＧ近似が、近似において用いるＳＧ及びＡＳＧの数を増加させたとしても誤差が収束しないことに起因する。即ち、誤差が収束しない以上、オフラインレンダリングにおいて時間をかけたとしても再現度が向上しない可能性があった。
【００５４】
一方、オフラインレンダリングのように演算量や演算時間への制約が低い場合、リアルタイムレンダリングよりも多くのフォトントレーシングが可能、即ちより多くのＶＳＬを演算において考慮することができる。即ち、１つのシェーディング点について定義される各ＶＳＬの半径をより小さくすることができ、ＳＧ近似したコーンの形状を示す関数Ｌc(x,ω)の鋭さηcが強くなる。故に、ＳＧ近似したコーンの形状を示す関数Ｌc(x,ω)の鋭さηcが、ＶＳＬのＳＧ近似した発光放射輝度Ｌem(−ω)とＡＳＧ近似したシェーディング点とのＢＲＤＦの積で表現されるＳＧの鋭さηρよりも十分に大きい場合、レンダリング方程式において該発光放射輝度とシェーディング点のＢＲＤＦとの積は定数とみなすことができる。
【００５５】
即ち、ＳＧ近似したコーンの形状を示す関数Ｌc(x,ω)の鋭さηc≫ηρが成立するのであれば、式２のレンダリング方程式は
0006367624.tif 000019
となり、シェーディング点のＢＲＤＦとＶＳＬのＢＲＤＦをＡＳＧ及びＳＧ近似することなく表現できる。この表現はＢＲＤＦをＳＧ近似していないため、縮小不可能な誤差（バイアス）が取り除かれている。一方でＢＲＤＦをＳＧ近似しないために増加する誤差（分散）もあるが、これはＶＳＬの数を多くすることで収束可能である。また２つのＢＲＤＦの積がＬcに比べて十分に低周波の場合、この増加する分散は十分に小さいことが期待できる。
【００５６】
なお、例えば
0006367624.tif 000020
が成立するか否か、即ちサンプリング数が多く、ＶＳＬの半径が十分に小さいか否かを各シェーディング点について判断することで、実施形態２や変形例の方式を用いるか、本変形例のようにＢＲＤＦに対してＳＧ及びＡＳＧ近似を利用しない方式を用いるかを切り替えればよい。具体的にはαが０より大きい有限値（例えば0.001等）であれば、ＶＰＬが無限に定義された場合に解は収束する。あるいは、使用する演算方式の判別は、ＡＳＧ近似したシェーディング点のＢＲＤＦとＳＧ近似したＶＳＬのＢＲＤＦの積の鋭さ、またはＡＳＧ近似したシェーディング点のＢＲＤＦとＳＧ近似したＶＳＬの発光放射輝度との積の鋭さに対して、ＳＧ近似したコーンの形状を示す関数Ｌc(x,ω)の鋭さとは無関係に予め閾値を設けておくことにより行われてもよい。
【００５７】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、１以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【符号の説明】
【００５８】
１００：ＰＣ、１０１：制御部、１０２：記憶媒体、１０３：メモリ、１０４：描画部、１０５：描画用メモリ
【図１】
0006367624.tif 000021
【図２】
0006367624.tif 000022
【図３】
0006367624.tif 000023
【図４】
0006367624.tif 000024
【図５】
0006367624.tif 000025
【図６】
0006367624.tif 000026