IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特開-画像レンダリング方法及び装置 図1
  • 特開-画像レンダリング方法及び装置 図2
  • 特開-画像レンダリング方法及び装置 図3
  • 特開-画像レンダリング方法及び装置 図4
  • 特開-画像レンダリング方法及び装置 図5
  • 特開-画像レンダリング方法及び装置 図6
  • 特開-画像レンダリング方法及び装置 図7
  • 特開-画像レンダリング方法及び装置 図8A
  • 特開-画像レンダリング方法及び装置 図8B
  • 特開-画像レンダリング方法及び装置 図9
  • 特開-画像レンダリング方法及び装置 図10
  • 特開-画像レンダリング方法及び装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022151741
(43)【公開日】2022-10-07
(54)【発明の名称】画像レンダリング方法及び装置
(51)【国際特許分類】
   G06T 15/06 20110101AFI20220929BHJP
【FI】
G06T15/06
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022042210
(22)【出願日】2022-03-17
(31)【優先権主張番号】2104109.0
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ファビオ カッペロ
(72)【発明者】
【氏名】マシュー サンダース
(72)【発明者】
【氏名】マリナ ビジャヌエバ バレイロ
(72)【発明者】
【氏名】ティモシー ブラッドリー
(72)【発明者】
【氏名】アンドリュー ジェイムズ ビゴス
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA18
5B080DA06
5B080FA02
5B080FA08
5B080GA06
(57)【要約】
【課題】画像レンダリング方法及び装置を提供する。
【解決手段】視点において画素をレンダリングするための画像レンダリング方法は、そのシーン内の位置に所定の表面を有する仮想シーンの第1の要素について、所定の表面と光の相互作用を特徴付ける分布関数と結合したときに、仮想シーンの第1の要素が位置で照明されているように対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、視点に基づく位置と方向とを提供するステップと、機械学習システムからの予測された係数を分布関数と結合して、位置での仮想シーンの照明された第1の要素に対応する画素値を生成するステップと、画素値を表示用のレンダリング済み画像に組み込むステップと、を含み、機械学習システムは、複数の照明条件を含む画像に基づく訓練セットを用いて事前に訓練されたものである。
【選択図】図10
【特許請求の範囲】
【請求項1】
視点における画素をレンダリングするための画像レンダリング方法であって、
そのシーン内の位置に所定の表面を有する仮想シーンの第1の要素について、
前記所定の表面と光の相互作用を特徴付ける分布関数と結合したときに、前記仮想シーンの前記第1の要素が前記位置で照明されているように対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、前記視点に基づく位置と方向とを提供するステップと、
前記機械学習システムからの予測された係数を前記分布関数と結合して、前記位置での前記仮想シーンの前記照明された第1の要素に対応する画素値を生成するステップと、
前記画素値を表示用のレンダリング済み画像に組み込むステップと、
を含み、
前記機械学習システムは、複数の照明条件を含む画像に基づく訓練セットを用いて事前に訓練されたものである、画像レンダリング方法。
【請求項2】
前記複数の照明条件は、1つまたは複数の照明位置の変化を含む、請求項1に記載の画像レンダリング方法。
【請求項3】
照明位置の変化は、
前記仮想シーン内の想定時間と、
移動可能な仮想光源の移動経路と、
を含むリストから選択される1つまたは複数に応じる、請求項2に記載の画像レンダリング方法。
【請求項4】
前記複数の照明条件は、1つまたは複数の照明方向の変化を含む、請求項1から3のいずれか1項に記載の画像レンダリング方法。
【請求項5】
前記照明方向の変化は、
光源の軸方向の変化と、
光の角度の広がりの変化と、
を含むリストから選択される1つまたは複数に応じる、請求項4に記載の画像レンダリング方法。
【請求項6】
前記複数の照明条件は、
照明の色と、
照明の明るさと、
照明拡散と、
を含むリストから選択される1つまたは複数の変化を含む、請求項1から5のいずれか1項に記載の画像レンダリング方法。
【請求項7】
前記画像の複数の寄与構成要素のそれぞれについて、それぞれの機械学習システムが訓練され、
前記画像の前記複数の寄与構成要素のそれぞれについて、それぞれの分布関数が使用され、
前記それぞれの生成された画素値は、表示のために前記レンダリング済み画像に組み込まれる最終的な結合済み画素値を作成するように結合される、請求項1から6のいずれか1項に記載の画像レンダリング方法。
【請求項8】
前記機械学習システムは、ニューラルネットワークであり、
前記ニューラルネットワークの第1の部分への入力は、前記所定の表面の位置を含み、
前記ニューラルネットワークの第2の部分への入力は、前記第1の部分の出力と前記方向とを含む、請求項1から7のいずれか1項に記載の画像レンダリング方法。
【請求項9】
前記機械学習システムは、ニューラルネットワークであり、
前記ニューラルネットワークへの入力は、
照明の位置またはオフセットと、
前記仮想シーン内の想定される時間と、
光源の軸方向と、
光の角度の広がりと、
色または色温度と、
輝度と、
拡散と、
を含むリストから選択される1つ又は複数を示すデータを含む、請求項1から8のいずれか1項に記載の画像レンダリング方法。
【請求項10】
前記ニューラルネットワークの全部または一部への入力が光の複数のプロパティを表す場合、少なくとも部分的に接続された追加入力層が前記ニューラルネットワークに提供される、請求項8又は9に記載の画像レンダリング方法。
【請求項11】
複数の機械学習モデルの中から少なくとも第1の訓練済み機械学習モデルを選択するステップであって、前記機械学習モデルは、複数の照明条件を含む画像に基づく訓練セットを用いて、画像の少なくとも一部のレンダリングに寄与するデータを生成するために訓練されている、ステップを含み、
前記少なくとも第1の訓練済み機械学習モデルは、データを生成するために訓練された仮想環境の少なくとも第1の態様に応答する、アーキテクチャに基づく学習能力を有し、
前記少なくとも第1の訓練済み機械学習モデルを使用して、画像の少なくとも一部のレンダリングに寄与するデータが生成される、請求項1から10のいずれか1項に記載の画像レンダリング方法。
【請求項12】
異なるそれぞれの照明条件について訓練された少なくとも2つのそれぞれの機械学習モデルを使用するステップと、
前記それぞれの機械学習モデルを用いて、前記表面の位置で照明されたような前記仮想シーンの前記第1の要素に対応する画素値を生成するステップと、
前記生成された画素値を前記機械学習システムの出力と結合するステップと、
を含む、請求項1から11のいずれか1項に記載の画像レンダリング方法。
【請求項13】
シーンの複数の候補視点を生成するステップと、
前記視点に対応する前記シーンの表面位置での光に対する前記シーンの前記表面の応答に依存する確率に従って候補視点をカリングするステップと、
その残りの視点での訓練画像を生成するステップと、
によって生成された訓練セットを用いて訓練された機械学習モデルを使用するステップを含む、請求項1から12のいずれか1項に記載の画像レンダリング方法。
【請求項14】
コンピュータシステムに請求項1から13のいずれか1項に記載の方法を実行させるように適合されたコンピュータ実行可能命令を含む、コンピュータプログラム。
【請求項15】
そのシーン内の位置で所定の表面を有する第1の要素を含む仮想シーンの画像内の視点で画素をレンダリングするように構成されたグラフィックス処理部と、
前記所定の表面及び光の相互作用を特徴付ける分布関数を結合したときに、前記位置で照明された前記仮想シーンの前記第1の要素に対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、前記視点に基づく位置及び方向を提供するように構成された機械学習プロセッサと、を含み、
前記グラフィックス処理部は、前記機械学習システムからの前記予測された係数を前記分布関数と結合して、前記位置における前記仮想シーンの前記照明された第1の要素に対応する画素値を生成するように構成され、
前記グラフィックス処理部は、表示のために前記画素値をレンダリング画像に組み込むように構成され、
前記機械学習システムは、複数の照明条件を含む画像に基づく訓練セットで事前に訓練されたものである、エンターテインメントデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像レンダリング方法及び装置に関する。
【背景技術】
【0002】
レイトレーシングは、光路が仮想シーン内で追跡されるレンダリング処理である。シーン内のオブジェクト又は表面での各光線の相互作用が次にシミュレートされる。リアリズムの度合いを達成するために、典型的には、このシミュレーションは、色及び反射率など、これらのオブジェクト又は表面の素材プロパティを考慮する。
【0003】
その結果、レイトレーシングは計算コストの高いプロセスである。さらに、そのコストは、どのシーンに、どの照明で、どの視点から光を当てるかによって、画像フレーム毎に変化する。
【0004】
これは達成することが困難なそのような画像をレンダリングするために好ましいフレームレートを維持させ、平均の画像完成時間(すなわちフレームレート)に対応する平均的な計算コストとレイトレーシングによるその平均値付近の所定の変動とに対して、変動がフレームレートにほとんど影響しない程度に平均画質を低く設定しなければならないか、または平均画質を好ましいフレームレートの最大値に近く設定した場合にレイトレーシングの需要が平均よりも変動したときにそのフレームレートの一貫性を犠牲にしなければならない。
【0005】
どちらも望ましい結果ではないが、レイトレーシングの処理の計算負荷がデータ駆動で予測不可能である以上、簡単に回避することはできない。
【0006】
本発明は、この問題を対処又は緩和しようとする。
【発明の概要】
【0007】
本発明の様々な態様及び特徴は、添付の特許請求の範囲において及び付随する説明のテキスト内で定められ、少なくとも、
-第1の例における、請求項1に係る画像レンダリング方法と、
-第2の例における、請求項15に係るエンターテインメントデバイスと、
を含む。
【0008】
本開示およびそれに付随する利点の多くについてのより完全な理解は、添付の図面と関連して考慮した場合に、以下の詳細な説明を参照することによってよりよく理解されるようになるにつれて、容易に得られるであろう。
【図面の簡単な説明】
【0009】
図1】本明細書の実施形態に係るエンターテインメントデバイスの模式図である。
図2】本明細書の実施形態に係るレイトレーシング済みのオブジェクトを例示す図である。
図3】本明細書の実施形態に係るレイトレーシング済みのオブジェクトに対する寄与構成要素の模式図である。
図4】本明細書の実施形態に係る個々の構成要素に関連付けられた分布関数の模式図である。
図5】本明細書の実施形態に係る散乱分布の模式図である。
図6】本明細書の実施形態に係る機械学習システムに関する訓練スキームの模式図である。
図7】本明細書の実施形態に係るレンダリング済みの画像に関するレンダリング経路の模式図である。
図8A】本明細書の実施形態に係る機械学習システムの模式図である。
図8B】本明細書の実施形態に係る機械学習システムの一部の模式図である。
図9】本明細書の実施形態に係る画像レンダリング方法のフロー図である。
図10】本明細書の実施形態に係る画像レンダリング方法のフロー図である。
図11】本明細書の実施形態に係る訓練の方法の模式図である。
【発明を実施するための形態】
【0010】
画像レンダリング方法および装置が開示されている。以下の説明では、本発明の実施形態を十分に理解するために、多くの具体的な詳細が示される。しかしながら、これらの具体的な詳細は、本発明を実施するために採用する必要がないことは、当業者には明らかであろう。逆に、当業者に知られている具体的な詳細は、適切な場合には、明確化のために省略される。
【0011】
本明細書の実施形態は、所与のオブジェクトまたはシーンについて画素表面プロパティとレンダリング済み画素との間の関係を学習する機械学習システムを用いることによって、上記の問題に対処または軽減しようとするものである。このような機械学習システムを用いることによって、次に、(機械学習システムを実行することの)比較的一貫した計算バジェット(computational budget)に基づいてオブジェクトまたはシーンのレイトレーシング済みのレンダリングを近似的に行うことが可能である。
【0012】
異なる機械学習システムは、本明細書で後ほど説明するように、異なるシーン、場所若しくはその一部、または1つまたは複数のシーン内で使用するための異なるオブジェクト若しくは材料について学習されることができる。
【0013】
機械学習システムは比較的小さく(通常100KBから1MBのオーダー)、そのためGPU(30)で実行する目的で、シーンのテクスチャのようにメモリに引き込まれ、その後捨てられ得る。システムは、GPUのシェーダによって実行されることができる。また、原理的には、機械学習システムは、代替的にまたは追加的に、CPU(20)、またはニューラルネットワークプロセッサ若しくはASICなどの一般的若しくは専門的なコプロセッサによって実行できることが理解されるであろう。
【0014】
次に、図面を参照すると、同様の参照符号は、いくつかの図全体を通して同一または対応する部分を示し、図2~7は、機械学習システムが訓練される問題空間を示す図である。
【0015】
図2は、例示的なオブジェクトまたはシーン、この場合、ひな壇上の車の高品質にレイトレーシング済みのレンダリング200である。
【0016】
図3は、このレンダリングの背後にある異なる寄与構成要素(contributing component)を示す図である。第1に、拡散照明構成要素200-Dは、通常、表面のマットカラーと、光及び形状の相互作用によって生じるシェーディングとをキャプチャする。一方、第2に、鏡面照明構成要素200-Sは、表面の反射率をキャプチャし、結果として、きらめき及びハイライトをもたらす。任意選択で、光沢または「コート」200-Cなど、1または複数の追加構成要素を含むことができ、これは追加の光沢またはパターニングを含む第2の外面である。このようなコートの変化形は、例えば、皮膚又は布に類似した方法で、部分的な透明及び/又は部分的な拡散を可能にし得る。これらの構成要素のそれぞれは、個々のレイトレーシング処理を用いて従来通り生成されることができる。
【0017】
これらの構成要素が加算されて、先に図2で見たような全体像が形成される。典型的には2つまたは3つのこのような構成要素がレンダリングに寄与するが、状況によっては、より少ない数(例えば、拡散構成要素だけが望まれる場合)またはより多い数(例えば、オブジェクトが半透明であるため透過構成要素を必要とする場合)があることを理解されるであろう。
【0018】
次に、図4は、画像の上記寄与構成要素を生じさせるオブジェクトの材料プロパティを含む。
【0019】
材料プロパティは、いわゆる双方向散乱分布関数(BSDF)または双方向反射率分布関数(BRDF)として表される。
【0020】
BRDFは不透明な表面で光がどのように反射するかを定義し、同様にBSDFは光線が特定の方向に反射または散乱する確率を定義する。したがって、BRDFまたはBSDFは、表面の照明プロパティ(入射/出射放射輝度そのものを除く)を記述する関数である。また、光が材料をどのように透過するかを定義する双方向透過率分布関数(BTDF)など、他の関数も適宜使用され得る。
【0021】
図5を参照すると、典型的なレイトレーシングのアプリケーションでは、一組の光線(例えばコンパクトな光源からの)に対して、特定のBSDF、BRDF、および/またはBTDFを有するモデル上の点への入射放射輝度(それ自体は直接または以前に反射したもの)の計算が行われる。入射放射輝度は、特定の寄与構成要素の応答に関してBSDF、BRDF、またはBTDFと結合(combined)され(例えば乗算)、その結果がモデル上のその点の画素値に加算される。図5に示すように、BSDFにおける光線経路ωiの典型的な散乱パターンは、鏡面反射方向ωaに偏りを持つが、どの方向にも散乱し得る。このような挙動を正確にモデル化することは、レイトレーシングの計算コストが高くなる理由の一つである。
【0022】
それぞれの点におけるモデルの色情報と(すなわち、所定の点によって表される特定の材料について)その点に対応するBSDF、BRDF及び/又はBTDFとを用いて、所定の最終視点に対する光線の挙動は、したがって、例えば車両の表面上のきらめき及びハイライトの現実的な分布を決定する光線反射率又は散乱によって、計算されることができる。
【0023】
別個のBSDF、BRDFまたはBTDFが各寄与構成要素に対して使用されてもよい。したがって、非限定的な例として、BSDFが拡散構成要素に対して使用され、BRDFが鏡面構成要素に対して使用され及びこの例ではコート構成要素に対しても(BTDFがまたそのようなコート構成要素に対して使用され得るが)使用され得る。BSDF、BRDF、又はBTDFのいずれかが適宜使用され得ることが理解され、したがって、以下では、BSDFへの言及は、特に断らない限り、適宜のBRDF又はBTDFへの言及を包含する。
【0024】
図4に示すように、オブジェクトの色プロパティおよびBSDFの拡散材料プロパティを用いてレイトレーシングを実行すると(200-BSDF-D)、拡散画像構成要素200-Dが得られる。同様にBSDFの鏡面または反射材料プロパティ(200-BSDF-S)を使用すると、鏡面画像構成要素200-Sが得られる。同様にBSDF(200-BSDF-C)の材料プロパティ、この場合も典型的には鏡面であり、コート画像構成要素200-Cが得られる。これらの構成要素を結合することにより、最終的なレイトレーシング画像200が得られる。
【0025】
しかしながら、問題は、先に述べたように、異なるBSDFを有する異なる表面と交差する光線の反射および散乱経路を計算し、特定の視点におけるシーンの各画素について結果を合計することは、計算上高価であり、また潜在的に非常に変動しやすいということである。
【0026】
したがって、本明細書の実施形態は、図4のレイトレーシングステップを、適切な品質の最終画像に対してより予測可能な計算負荷を有する何か他のものと置き換えることを求める。
【0027】
ここで図6も参照すると、本明細書の実施形態では、画像の各寄与構成要素(例えば、拡散、鏡面、及び任意選択でコート又は他の任意の寄与構成要素)に対して、それぞれの機械学習システムが提供される。
【0028】
機械学習システムは、典型的には、本明細書で後述するように、シーン内の異なる視点における複数の画像について、BSDF(例えば200-BSDF-D)と画像の寄与構成要素のレイトレーシング済みのグランドトゥルース(例えば200-D)との間の変換を学習するように訓練されるニューラルネットワークである。
【0029】
別の言い方をすれば、レイトレーシング済みの画像(又は寄与構成要素の1つ)が、照明がオブジェクト上でどのように再生するかと、そのオブジェクトが光にどのように反応するかを記述するBSDFとの組み合わせである場合、レイトレーシング済みの画像を取ってそれをBSDFと結合解除する(uncombine)ことによって、結果は、「放射輝度(radiance)」又は「シェーディング」と呼ばれ得る品質となるが、より一般的には光が(レイトレーシング処理によって集合的に計算される)オブジェクト上でいかに再生するかを説明するものである。
【0030】
機械学習システム又はニューラルネットワークがこの品質を予測することを学習できる場合、レイトレーシング済みの画像に近似する予測画像を生成するために、BSDFと再び結合させることができる。したがって、このネットワークは、ニューラル・プリコンピューテッド・ライト・モデルまたはNPLMネットワークと呼ばれることがある。
【0031】
より具体的には、オブジェクトの仮想画像上の所与の位置、及びビューの方向について、機械学習システム又はニューラルネットワークは、その同じ位置/画素についてBSDFと結合されると、その画素における画像のレイトレーシングから生じるであろうものと同様の画素値をもたらす値を出力することを学習しなければならない。その結果、学習中に、訓練画像から示唆される照明条件(例えば、点光源又はスカイドームによる)および表面照明プロパティの内部表現を生成する。
【0032】
したがって、例示的な実施形態において、画像は、ラスタライズされるか、さもなければ、所定の視点において生成され、これは、次に照明されるべき画素で画像を埋めることになるであろう。これらの想定画素の各々について、NPLMネットワークを使用して適切な「輝度」または「シェーディング」を得ることができるシーン内の対応する3D位置が存在する。
【0033】
図6は、このようなネットワークのための学習環境、具体的には例としてのみ、拡散寄与構成要素のためのネットワーク600-Dを示す。
【0034】
拡散寄与構成要素のためのネットワークへの入力は、物体又はシーン上の(x,y,z)位置610(例えば画像内の画素に対応する)及びその点における物体/シーンの法線620である。法線Nを視点方向の代わりに使用するのは、拡散寄与構成要素については、照度は方向/視点に依存しないと考えることができるので、既知の値である法線を一貫性のために使用することができるためである。これらの入力を、本説明の例の自動車画像について、それぞれの代表的な値を用いて概念的に示したのが図6である。
【0035】
任意選択で、関連するBSDFから導出され得る粗さ(roughness)又はマット-光沢スカラー値などの追加入力が提供され得る(図示せず)。
【0036】
NPLMネットワークの出力(本明細書で後に説明する)は、入力位置に対する光の学習済みの品質又は照度630であり、同じ位置に対する関連する拡散BSDF(200-BSDF-D)と640とを結合すると、予測画像650における(x,y)位置の予測画素値が生成される。
【0037】
図6は、予測画素と対象のレイトレーシング済み拡散構成要素200-Dのグランドトゥルース画素との間の画素毎の差がネットワークを訓練するための損失関数として使用されることを例示する。しかし、これは必要ではなく、むしろグランドトゥルース画像は、BSDFと結合解除され(すなわち、逆関数を行うことによって)、レイトレーシング済みの光が画像内のオブジェクトに累積的にどのように影響するかのプロキシを各(x,y)画素に対して生成し、これはネットワークが学習するために訓練する品質である。
【0038】
したがって、ネットワークの誤差関数は、その1画素(x,y)の出力値と、その位置の対応するBSDFから合成されない場合のグランドトゥルース画像の対応する1画素(x,y)との間の差に基づく。
【0039】
グランドトゥルース画像の画素は、予め各位置の対応するBSDFから一度結合解除されることができるため、ネットワークは、実際の予測画像画素を生成するために、自身の出力を任意のBSDFと結合する必要なく学習することができる。これにより、訓練時の計算負荷が軽減される。
【0040】
上述したように、訓練済みニューラルネットワークによって出力された学習済みの品質は、環境内の光が、シーン内の表面の位置に応じて、また視点に応じて、オブジェクトまたはシーンの上でどのように再生されるかをキャプチャする。このように、それは、シーンのための光マップ及び表面応答モデルの内部表現を効果的に生成する。これがどのように発生するかは、本明細書において後でより詳細に議論される。
【0041】
次に図7を参照すると、最終出力画像の各寄与構成要素について要約すると、機械学習システムは、その寄与構成要素についてオブジェクト/シーン上の位置に局所的に適用されるBSDFに適用される変換を実行するように訓練される。この変換は、オブジェクト/シーン上の点の(x,y,z)位置及び方向値に基づく、訓練済み関数である。前述のように、最終画像の寄与構成要素の数に応じて、1つ、2つ、3つ、4つ、またはそれ以上の機械学習システムが採用され得る。以下、「訓練済み関数(trained function)」という用語は、このような変換を学習した機械学習システムを指すために使用され得る。
【0042】
拡散構成要素について注記したように、拡散シェーディングは方向不変であると仮定されるため、方向値は所与の点における法線に等しいと仮定することができる。
【0043】
一方、少なくとも部分的に反射するため視点によって変化することになる鏡面構成要素について、方向値は、画像の視点における現在の画素の(x,y)位置(これは仮想空間における位置を有する)と機械学習システムへの入力としてのオブジェクトの(x,y,z)位置との間の視角であるかまたはこれに基づき、それによってシーン表面上の入力点と学習された量(learned quantity)が出力されることになる現在の画素との間に視点依存関係を提供する。
【0044】
この場合、コート構成要素も鏡面であるため、同様の視点または同様に入力に関する方向に基づく視点を使用する。
【0045】
従って、方向依存構成要素の方向値は、出力画素位置と物体表面位置との間の視点方向、またはこれに基づく値、例えば表面鏡面視点方向(すなわち、入力位置における表面の法線を考えると、視点方向が反射する主方向)であり得る。視点方向の情報を取り入れた任意の適切な方向値を考慮することができる。
【0046】
各場合において、訓練済み関数は、本明細書で先に説明したように、学習された品質(learned quality)をカプセル化する。適切なBSDFを各位置のネットワーク出力と結合することで、各構成要素のシェーディング済み画像を構築することができる。代替的に又は追加的に、各構成要素からのシェーディング済み画像について画素値を結合することにより、最終的な出力が生成される。
【0047】
画像のレンダリング中に、画像の全てがレイトレーシングの対象となるとは限らず、同様に、画像の全てが上記の技術を使用して生成されるとは限らないことが理解されよう。例えば、NPLMネットワークは、代表的な照明を有するグランドトゥルースのレイトレーシング済み画像に基づいて、特定のオブジェクト又は材料に対して訓練され得る。
【0048】
これらのオブジェクト又は材料が、本明細書に記載される訓練済み関数によって提供される見かけのレイトレーシングを使用してその後リアルタイムでレンダリングされるとき、関連するNPLMネットワークは、メモリにロードされ、適切なBSDFと結合されたとき、シーンにおける関連の表面位置及び視線方向について実行され、関連する画素へのそれらの寄与を生成する。他の画素は、他の任意の適切な技術(レイトレーシング自体を含む)を使用してレンダリングされ得る。
【0049】
典型的には、適切な機械学習システムは、オブジェクトまたは材料のテクスチャを選択しロードするために使用される同じアセット識別スキームに基づき、GPUによって使用されるメモリに選択されロードされる。したがって、例えば、オブジェクトが関連付けられたテクスチャにアクセスするために使用されるID「1234」を有する場合、このIDは関連する機械学習システムにも関連付けられることができる。逆に、テクスチャがオブジェクトに関連付けられたID「5678」を有する場合(例えば、テクスチャが複数のオブジェクトに共通の材料を表す場合)、このIDは関連する機械学習システムとも関連付けられることができる。このようにして、エンターテインメントデバイスは、テクスチャをロードするのと同様のプロセスを使用して、機械学習システムをロードすることができる。テクスチャが解凍された機械学習システムの動作に影響を与える非可逆圧縮で格納される場合、実際の格納およびアクセス技術は、テクスチャと機械学習システムとの間で異なる場合があることが理解されよう。したがって、機械学習システムは、圧縮なしで、または可逆圧縮を使用して、または損失の程度が解凍された機械学習システムがまだ適切に動作するのに十分低い非可逆圧縮を使用して格納されてもよい。これは、機械学習システムの出力エラー/コスト関数を、圧縮の損失の漸増度について、エラーが絶対または相対(圧縮されていない機械学習システムに対して)品質閾値に達するまで比較することによって評価されることができる。
【0050】
ここで図8Aを参照すると、本明細書の実施形態において、機械学習システムまたはNPLMネットワークは、任意の適切な機械学習システムであり得る。したがって、例えば単一のニューラルネットワークが、入力として位置および視点方向を使用して訓練され、出力として学習されたプロパティに対するRGB値を生成し得る。
【0051】
しかしながら、特に有利なネットワークは、明確な分割アーキテクチャから構成される。
【0052】
図8Aに示すように、非限定的な例では、ネットワークは2つの部分から構成される。第1の部分は位置ネットワークと考えることができ、一方、第2の部分は方向ネットワークと考えることができる。
【0053】
これらのネットワークの各々は、3つ以上の層を有し、任意の適切な活性化関数を使用し得る。
【0054】
位置ネットワークは、オブジェクト/シーン内の点に対する既述の(x、y、z)位置を入力として受け取り、本明細書で後述する中間表現を出力する。
【0055】
方向ネットワークは、この中間表現と、例えば(θ、φ)形式で、又は正規化(x、y、z)ベクトルなどのような方向入力(例えば、法線、又は画素視点、画素の視点方向を映した表面点(surface point mirrored pixel viewpoint direction)若しくは他の視点ベースの方向値)と、を受信する。オブジェクト/シーンと共有される空間内の仮想カメラ位置からレンダリングされる画像内の現在の画素の(x,y)位置(したがって、画素視点)に対して、先に述べた学習された量に対応するRGB値を出力する。
【0056】
したがって、非限定的な例では、位置ネットワークは3層を有し、第1層に3入力ノード(例えばx,y,z位置のための)、中間層に128の隠れノード、最終層に8の出力がある。
【0057】
ネットワークには任意の適切な活性化関数を選択することができるが、位置ネットワークの層間の活性化関数として、整流線形ユニット(ReLU)関数が特に有効であると評価された。これは、未訓練の位置に対してよく汎化し、オーバーフィッティングを回避するのに役立つ。
【0058】
同様に非限定的な例では、方向ネットワークは4つの層を有し、位置ネットワークの8の出力と方向に対する2または3の追加値は、第1の層の128のノードに供給され、次に128のノードの2つのさらなる層に供給され、現在の画素における学習された量に対するR、G、B値に対応する最後の層の3の出力が出力される。これはその後、この訓練済み関数(例えば、拡散、鏡面など)からの最終的な画素寄与を得るために、その位置のBSDFと結合する(例えば、乗算する)ことができるが、前述のようにこれは訓練中に必要ではない。
【0059】
方向ネットワークのために任意の適切な活性化関数が選択され得る一方で、正弦関数(sine function)は方向ネットワークの層間の特に効果的な活性化関数として評価されている。角度領域における光挙動変動は大きく、多くの角度周波数における詳細を含むが、低次元の入力(例えば、正規化されたx,y,zベクトル)に基づくため、正弦活性化関数は特に良好であることが判明している。
【0060】
注目すべきは、したがって、ネットワークの2つの半分が、異なる活性化関数を使用してもよいことである。
【0061】
しかし、ネットワークは、2つの別々のネットワークとしてではなく、分割アーキテクチャネットワークとして扱われる。なぜなら、特に、学習スキームは、1つのコスト関数しか持たないからである。方向ネットワークによって出力されたRGB値と、適切なBSDFと結合されない後の、グランドトゥルースのレイトレーシング済み画像の対応する画素からの目標値との間の誤差である。
【0062】
この誤差は両方のネットワークを通じて逆伝播され、位置ネットワークには個別の目標値またはコスト関数は存在しない。したがって、実際には、位置ネットワークの出力層は、方向値の追加入力で補強された結合ネットワークの隠れ層であり、層内で第1の活性化関数から可能な第2の異なる活性化関数への移行を表す。
【0063】
前述のように、ニューラルネットワークは、照明されたオブジェクト、材料、またはシーンに対する光モデルを構築する。特に、上記の非限定的な例では、位置ネットワークは、(x、y、z)位置を照明タイプ(例えば、明るいまたは暗い、及び/または相対反射率または拡散など、光がそれぞれのBSDFとどのように相互作用するかに関連する他のカテゴリー)に有効にソートする。この部分によって出力される中間表現は、入力位置における光のタイプを特徴付ける照明空間におけるN次元位置として考えることができ、シーンの異なる部分における位置を、それが同じ方法で照明された場合に同じN次元位置に投影することになる。鏡面構成要素用に訓練された位置ネットワークは、拡散構成要素用のものよりも多くの出力、例えば、鏡面構成要素で発生し得る照明のタイプのより大きな変動を考慮するために、8に対して32の出力を有し得る。
【0064】
次に、方向ネットワークは、照明されたオブジェクト、材料、又はシーンについて、ある入力角度で入力位置の表面で見たときに光モデルがどのように振る舞うかをモデル化し、画像内のその位置について学習されたプロパティを生成する。
【0065】
したがって、要約すると、位置及び方向ネットワークは、表面プロパティを記述するBSDFとその表面の所望のレンダリング画像との間の係数または変換を予測するための1つとして一緒に訓練される。そして、このネットワークは、その表面のレンダリングのためのレイトレーシングの代わりに使用することができる。典型的には、必ずしもそうではないが、ネットワークは、鏡面構成要素の拡散など、画像の1つの寄与構成要素だけで訓練され、複数のネットワークが最終画像または画像部分に必要な構成要素を生成するために使用されるが、これは必要ではない(すなわち、原理的には、ネットワークは、完全に結合された画像または2以上の寄与構成要素の結合、例えば全ての鏡面または全ての拡散寄与で訓練されることが可能である)。
【0066】
訓練
ネットワークは、複数の異なる視点から撮影されたオブジェクト、シーン、又は表面の複数のレイトレーシング済み画像を用いて、本明細書の他の箇所で説明したように訓練される。これにより、ネットワークは、鏡面反射が位置によってどのように変化するかについて特に学習することができる。視点は、ランダムな分布であってもよく、及び/又は、例えば、ビューのボリューム、すなわち、視点が発生し得る空間のボリュームとして知られる、レンダリング環境をナビゲートする際にユーザが利用できる視点の範囲内から選択(又は優位に選択)されてもよく、したがって、訓練に含まれる必要があるであろう。
【0067】
本明細書の一実施形態では、訓練データは、以下のように生成され得る。
【0068】
任意の機械学習システムにとって、システムを訓練するために使用される訓練データは、その性能の鍵となり得ることが理解されよう。その結果、良好な性能につながる訓練データを生成することは、非常に有益である。
【0069】
本明細書の他の場所で説明したように、本明細書で説明するNPLMシステムのための訓練データは、シーン/オブジェクト/材料/表面(以下、一般的にシーンと呼ぶ)の高品質のレンダリング済み画像のセットに基づき、典型的には1または複数の関連分布関数(例えば、BSDF、BRDF、または本明細書の他の場所で説明されるような同種のもの)と結合解除される。その結果、本明細書で言及される学習された品質は、直接的な訓練ターゲットとして提供され、訓練中に予測画像を生成する計算上の負担を取り除き、また誤差関数がNPLM自体の出力から一度に派生しないことを保証することが可能である。
【0070】
異なるNPLMは、ビュー依存およびビュー独立のシェーディング効果(例えば、拡散、鏡面など)を取り扱うことができる。したがって、典型的には、オブジェクトがビュー依存シェーディング(例えば、鏡面性、またはミラー反射など)を有する場合、シーン内のオブジェクトの単一のビューでは不十分である。
【0071】
その結果、訓練データ画像の数及び位置は、シーンのジオメトリ(例えば、オブジェクトがビューのボリューム内で可視である場合)だけでなく、潜在的に、シーン内のオブジェクトの材料プロパティにも依存し得る。
【0072】
したがって、本明細書の実施形態では、複数のカメラ視点で撮影されたシーンの画像の形態のNPLM訓練データは、少なくとも部分的に、シーン内の材料(例えば、拡散または鏡面応答のような光応答プロパティなどの材料プロパティ、しかし潜在的には、表面の複雑さなどの他の材料プロパティ-例えば構造的におよび/または質感に狭いまたは広い空間周波数構成要素の存在)に基づいて生成されることが可能である。
【0073】
これらの画像は通常、サードパーティの高品質レンダリング部から生成され、内部データへのアクセスは利用できない。したがって、最終的な完全な画像のみが利用可能であり、画像内でシェーディングを実行する際の特定のキャスト光線またはその方向に関するいかなる情報(または制御)も利用できない場合がある。
【0074】
したがって、訓練の目的のために、ビューのボリューム内の好ましくは全ての有効なビューについて、シーンの外観を効率的にキャプチャする画像のセットを生成し、使用することが望ましい。
【0075】
ここで図11を参照すると、この目的のために、ステップ1110において、まず、ビューのボリューム内のカメラ位置のセットが、低解像度画像のセットをレンダリングするために使用される。位置は、(操作可能なオブジェクトなど、任意の角度から見ることができる場合)シーンの周囲の球面上に等距離であるか、またはランダムに分布していてもよく、(仮想地面をベースにしているため下から見ることができない場合)シーンの周囲の半球上であっても、(地面ベースの視点、例えばアバターの一人称視点などから見ることができる場合)シーンの周囲のリング上であってもよい。このようなリングは、アバター視点に対応する固定高さであってもよいし、アバター視点のしゃがみ高さとジャンプ高さの1又は複数を包含する視円筒のような高さ範囲を占めるようにしてもよい。
【0076】
ステップ1110は、図11に例示される車のオブジェクトの周りのカメラ位置の軌道(リング)を示す。
【0077】
この初期セットにおけるカメラ位置の数は、1つと少ないかもしれないが、典型的には3つ以上であり、より典型的には、数十または数百のオーダーである。例えば、軌道の1度につき1台のカメラであれば、360台のカメラとなる。本実施例では、非限定的な数として200台のカメラが使用される。
【0078】
画像当たりの解像度は低く、例えば128×84画素である。ステップs1120の画像例を示す。
【0079】
注目すべきは、各画像の各画素について、ステップs1130において、メタデータは、画素に対応するシーン表面の3D位置、画素に対応するシーン表面の法線、及び任意選択でテクスチャID又はオブジェクトIDなどの材料表面識別子又は記述子を含むそれに関連付けられることである。
【0080】
視点選択プロセスの第1の例において、これらの低解像度画像の一部又は典型的には全てにおける画素によってレンダリングされたシーン表面の3D位置は、シーン内のどの位置がカメラ位置の第1のセット内で可視であるかを識別するために照合される。これらは、NPLMが訓練されることによって恩恵を受ける3D位置である。
【0081】
したがって、任意選択で、最初の低解像度画像の少なくとも1つにおいてレンダリングされていると識別された各3D位置について、3D空間における新しい位置が表面法線に沿ったその位置からのオフセットとして計算される。表面からのオフセットの距離は、変更することができる変数である。この新しい位置は、高品質(例えば、高解像度レイトレーシング)レンダリングを生成するための仮想カメラの候補視点である。
【0082】
しかしながら、これは、訓練画像として生成するための多数の潜在的な高品質レイトレーシング済みのレンダリングをもたらし、これは計算上負担となり、またNPLMのための訓練セットとして使用する場合、著しい冗長性を含む場合がある。
【0083】
したがって、第一の例では、シーンに関するNPLMの訓練に関連し及び有用である何らかの方法で、これらの候補視点位置をフィルタリングまたはカリング(culling)することが望ましい。
【0084】
特に、ビュー依存材料(例えば、鏡面又は光沢)を含むシーンの部分について、ビュー独立材料(例えば、拡散又はマット)よりも多くの訓練例を有することが有益である。
【0085】
従って、2つのアプローチのうちの1つをとることができる。
【0086】
第1のアプローチでは、ステップ1140において、表面位置における法線に対応する候補視点の各々について、その位置における表面の対応する材料プロパティが検討される。上述したように、特にその拡散応答または鏡面応答、あるいはその半透明性などが使用され得る。
【0087】
実際には、材料ID等と材料表面の拡散性または鏡面性(例えばマットまたは光沢)を示す値とを関連付けたルックアップテーブルを使用することにより行うことができる。より詳細には、このプロパティは、非限定的な例として、完全に拡散している場合の0から鏡面反射の場合の1までの範囲の値で表されることができる。これは確率関数への入力として扱うことができ、そのため、鏡面または光沢(ビュー依存)材料は比較的高い確率を有し、拡散またはマット(ビュー独立)材料は比較的に低い確率を有する。
【0088】
この確率関数を用いて、カメラ位置の候補を保持する。したがって、鏡面に面したカメラ位置は、拡散面に比べ、より高い割合で保持されることになる。
【0089】
逆に、値の規則が逆であれば(例えば、低い確率と高い確率が逆)、確率関数は、同じ効果でカメラ位置の候補を除去するために使用され得る。
【0090】
第2のアプローチでは、代替的に又は追加的に、ステップs1140において、低解像度画像で見たようなシーン表面の同じ3D位置に対応する画素値の変動が評価され、各キャプチャ済み3D位置の画素値の分散(variance)が決定され得る。この方法では、ビュー不変(例えば、拡散または大きく影になっている)の表面位置は低い分散を有する(すなわち、異なる低解像度画像においてその位置を示す画素は類似している)一方、ビュー依存(例えば、鏡面または光沢)表面位置は高い分散を有する(すなわち、例えば、光の輝きまたは反射をいくつかキャッチするので異なる低解像度画像においてその位置を示す画素はより幅広い値の範囲を示すことになる)。この分散、またはその正規化されたバージョンは、再び確率関数への入力として使用することができ、鏡面または光沢のある(ビュー依存)材料は比較的高い確率を有し、拡散またはマット(ビュー独立)材料は比較的低い確率を有するようにする。
【0091】
したがって、いずれの場合も、ステップs1140において、ビューのボリューム内の各キャプチャ済み3D位置における材料の光応答性のビュー依存性の推定値が得られ(材料プロパティ若しくは画素変動、又は潜在的にその両方に基づく)、これを確率関数への入力として使用することができる。
【0092】
確率関数は、次に、ステップs1150において、それぞれの候補視点が保持されるかまたはカリングされるかを決定するために使用され、ビュー依存の表面を中心とする視点は、ビュー独立の表面を中心とする視点よりもより頻繁に保持される。
【0093】
この確率関数の出力範囲は、可能な候補の元の数及び最終的な所望の数に基づいて、訓練のためのカメラ視点の所望の全体の数をほぼ生成するように調整されることができ、あるいは代わりに、確率関数は、残りのカメラ視点の数が所望の数の閾値内になるまで保持/カリングの連続ラウンドに適用されることができる。
【0094】
いずれの場合においても、結果は所望のビューのボリュームにわたってランダムに分布する管理可能な数のカメラ視点であるが、カメラの前面に直ちに集中する材料の材料プロパティ(例えば、輝き又はその他)に反応する可変の確率密度を有するものである。これは、ステップs1150の図にある生存している点(surviving point)の集まり(constellation)によって例示される。実際には、カメラ位置は、この図に示されるよりも物体/シーン表面から遠く離れることができるが、点は、その分布を説明するために、図において表面の近くに配置されている。
【0095】
管理可能な数のカメラ視点の量は、結果として得られるNPLMの所望の性能、高品質のレイトレーシング済み画像を生成し、それに対してNPLMを訓練することの計算負荷、メモリまたはストレージ制約などの因子に基づいて選択することが可能である。訓練目的のための典型的な管理可能な数は、非限定的な例として、10~10,000であってよく、典型的な数は200~2000である。
【0096】
最後に、ステップs1160において、画像は、生存している視点においてレンダリングされる。任意選択で、図11に示すように、これらのレンダリングは、最初の低解像度画像に使用されたレンズ又はゲームプレイ中に使用されたレンズよりも広角の仮想レンズを使用して生成される。
【0097】
これは、シーンの多すぎる部分(すなわち、ビューのボリュームの点から直接見えない部分)をレンダリングする結果となる傾向がある。これは、例えば、ゲーム中のオブジェクトのクリッピング又は小さな設計修正によるビューのボリュームの予期せぬ拡張の場合に、特にビューのボリュームの端に近いビュー位置に対して、NPLM出力をより堅牢にする傾向がある。
【0098】
上記のアプローチは、最初の低解像度画像でキャプチャされたシーン表面の法線に基づいて候補カメラ視点を生成したが、これは唯一の可能なアプローチではない。
【0099】
上記のアプローチの1つの可能な問題は、シーン内のビュー不変の位置がその位置における法線に沿ってその方向に向けるカメラによって撮像され得る一方で、それは近くの位置の他の画像において異なる角度からのみレンダリングされ、今度は、これらの角度はそれらの位置におけるシーン表面の法線によって規定される、ということである。その結果、シーンのビュー依存部分やその近辺で撮影された画像が比較的多くなる一方で、画像自体がシーン自体のジオメトリに過度に影響される可能性がある。
【0100】
したがって、最初の低解像度画像に戻り、視点選択プロセスの別の例において、各低解像度画像の各画素(又は少なくともシーンの表面を表すこれらの画素)に対して潜在的な視点位置が検討され得る。上記の128×84画素の200枚の画像の例では、最大で160万枚の候補があることになる。これらの画像は、典型的には、シーン自体のトポロジーとは無関係に、異なる角度からシーン上の特定の位置の複数のインスタンスをキャプチャする。その結果、訓練セットは潜在的によりロバストである。
【0101】
再び、低解像度画像内の所与の画素、したがって候補視点に対応する表面位置のビュー依存性由来の表面材料(および/または画素分散)を使用して、その視点を保持またはカリングする確率を操作することができる。このようにして、160万点の候補視点を再び管理可能な数まで絞り込むことができる。
【0102】
この場合、シーン内の同じ位置の視点が複数存在する可能性があるため、結果として得られるカメラビューの分布は、ほとんどのビューに依存するのではなく、シーン内で最も見える位置に偏る可能性がある。例えば、シーン内のある(拡散)位置がある(鏡面)位置の20倍以上の画像において可視である場合、拡散位置を見る視点がカリングされる可能性は高くなるが、20倍以上あるため最終的には拡散位置の画像が光沢のものよりも多くなってしまう可能性がある。
【0103】
したがって、任意選択で、視点を保持またはカリングする確率は、(異なる角度からではあるが)シーン内の同じ位置を中心とする視点の数に基づいて正規化されることができる。この正規化は完全であってもよい(従って、上記の例では、拡散位置の画像を保持する確率は20倍少なくされるので、視点数の影響は除去される)。代替的には、正規化は部分的であってもよい。例えば、拡散位置の画像を保持する確率は10倍だけ少なくされるので、ビューの数の効果は著しく減少するが、完全に除去されない。これは、ビュー依存(例えば、鏡面/光沢)であるために多くの訓練例が得られるかどうかにかかわらず、ユーザによって多く見られる可能性のある領域がより多くの訓練例を得ることになることを意味している。
【0104】
原理的には、視点の両方のセット(表面法線ベースの視点および低解像度画像画素ベースの視点)は、訓練目的のために高品質のレイトレーシング済みレンダリングを生成する前に、結合された視点のセットを作成するために生成およびカリングされ得る。実際に、いずれの場合でも、可視の表面位置の少なくともいくつかの法線と一致する低解像度画像画素ベースの視点のサブセットが実質的に存在すると可能性がある。
【0105】
分散訓練技術
上記第2のアプローチは、利用可能な視点をカリングする際に、シーン内の同じ位置の複数のビューを補償する問題を任意に考慮する。訓練バイアスの制御を可能にすることに加えて、シーン内の特定の位置に対する繰り返しを減らすことにより、この第2のアプローチの訓練時間を短縮する。
【0106】
しかし、代替的にまたは追加的に、以下のように訓練時間を(さらに)短縮することができる。
【0107】
前述の通り、ビューのボリューム内(または表面上)の視点の最初の集合を選択する。
【0108】
ここで、任意選択で、ビューのボリューム内の位置のセットについて最初の低解像度画像を生成する。
【0109】
ここで、任意選択で、次に、本明細書で前述したように、低解像度画像で見つかったシーン内の位置の法線に基づくか、及び/又は低解像度画像の画素とシーン内の表された位置との間の線に基づいて、候補視点を生成する。
【0110】
再び任意選択で、これらの視点は、シーン内のそれぞれの位置の鏡面性/拡散の度合いに基づく確率でカリングされることができる。さらに任意選択で、それぞれの位置を中心とする複数の画像がある場合、確率は、少なくとも部分的にこれを考慮するように修正されることができる。
【0111】
したがって、取られるアプローチに応じて、結果は、生成された一連の視点であり、低解像度画像を生成するために任意選択で使用される元の分布、及び上記の生成及びカリング技術のうちの1つから生じる分布のいずれかである。
【0112】
いずれの場合も、本明細書の実施形態において、視点が生成されると(そして、任意選択で、適宜、カリングされていないことが確認されると)、それは、本明細書の他の場所で説明されるように、任意選択で広い角度の形態で、高品質の画像を生成するためのレイトレーシング処理に提供またはキューに入れられる。
【0113】
生成された画像に対する訓練は、それぞれの画像が完了したときに開始される。したがって、訓練画像の生成(レイトレーシング画像であるため、ある程度の時間がかかる)及びそれらの画像に対する訓練(これもある程度の時間がかかり得る)の処理が並列に存在する。訓練を開始する前に完全な訓練セットが生成されるのを待つ必要があるという問題を回避することができる。
【0114】
任意選択で、視点が生成された場合、またはそれらがカリングされるかどうかを決定するために生成された視点が選択される場合、これらの利用できるものからの視点の選択はランダムであることができ、その結果、レイトレーシング済み画像の最終的な生成シーケンスが使用される視点の最終セット内でもランダムである。
【0115】
これにより、NPLMがシーンの1つのセクションで初期に過剰に訓練される可能性を低減し、また、例えば、時間の制約のために訓練を縮小しなければならない場合、NPLMは依然としてシーンの多様なビューの集合に晒されることを意味する。
【0116】
別の分散訓練技術では、レイトレーシングアプリケーションの制御が利用可能であってそれを可能にする場合、任意選択で、所定の視点からの画像の画素のサブセットのみをレンダリングする必要がある。視点の元のセットに基づくか、カリングされなかった視点に基づくかにかかわらず、所定の画像内に、訓練セット内の他の画像において何回もレンダリングされたシーンの部分が存在し得る。例えば、シーン内のある位置が既に閾値以上の回数レンダリングされている場合、その位置には既に十分な数の訓練例があるため、現在のレンダリングではスキップされることがある。画像の未レンダリング部分は、マスク値として機能する画素値でタグ付けされることができる。その結果、入力位置、方向情報、およびマスクされていない画素位置の目標値のみを使用して学習が実行されることができる。これにより、訓練画像をレイトレーシングするときとNPLMを訓練するときの両方において、訓練セット内の冗長性を大幅に削減し、関連する計算負荷も削減することができる。
【0117】
任意選択で、例外を適用することができる。例えば、場合によっては本明細書の他の箇所で説明したようにその表面プロパティに応じて、典型的には中心画素が選択された(又はカリングされなかった)シーン内の位置に関連するため、画像の中心付近の画素は、常にレンダリングされ得る。シーン内の意図しない不要な反復点をキャプチャしやすいのは、典型的には画像の中心ではない部分の画素である。
【0118】
可変照明状態での訓練
本明細書で先に説明した様々な訓練技術は、典型的には、与えられた照明状態について、シーン、オブジェクト、又は材料(本明細書では、特に指定しない限り一般的に「シーン」と呼ぶ)の複数の異なるレイトレーシング済み画像を用いて行われる。典型的には、照明源がシーン内で固定されていると仮定する(例えば、窓の位置による、及び/又は静的照明マップを提供するいわゆる「スカイドーム」を使用するため)。
【0119】
しかし、状況によっては、シーンの照明が大幅に変化することがある。例えば、一部のゲームは、昼/夜サイクル、及び/又は天候をモデル化しており、したがって、太陽(又は月)の位置は、ゲーム内の仮想の昼(又は夜)の経過中に変化することがある。同様に、天候によって、光源は太陽のような点光源と、背面から照らされた雲のような拡散光源とがある。
【0120】
ある照明条件に従ってシーンの照度をモデル化するために訓練されたNPLMは、他の条件を再現するために十分な汎化ができない可能性がある。
【0121】
したがって、本明細書の一実施形態では、NPLMは、複数の照明条件を使用してレイトレーシング済みのグランドトゥルース画像に基づいてシーンの照度をモデル化するために(本明細書に記載された技術のいずれかを使用して)訓練される。
【0122】
典型的には、これらの照明条件は、所定の範囲内の照明パラメータの1又は複数の調整を含む。
【0123】
照明パラメータは、以下を含むことができる。
-位置:例えば、所定範囲における太陽の進行度。これは、様々なレイトレーシング済みのレンダリングにおいて、太陽を構成するスカイドームを回転させることによって達成され得る。他の例は、ノンプレイヤーキャラクタの移動経路または他の移動可能な光源を含み得る。
【0124】
-方向:変化する指向性光源は、例えば灯台またはMPC/移動光源運動経路の場合、方向変化の範囲についてモデル化され得る。代替的に又は追加的に、光のビーム幅又はビーム広がり角が指定され得る(例えば、トーチ又はスポットライトは、典型的には、デスクのランプより狭いビーム角を有する)。代替的に、これらの光源又はトーチなどのプレイヤーベースの移動光源などの予測しにくい光源は、トーチの光が落ちる場所に応じてシーンの異なる部分に対して完全トーチライト及び非トーチライトNPLMを用いることによって実装されることができる。
【0125】
-色または色温度:例えば、夕焼けの時に太陽がだんだん赤くなっていく。
【0126】
-明るさ。
-拡散:例えば、レンダリングされたスカイドームを、太陽若しくは月などの点光源または建物の照明などの前の連続した量の雲又は霧に置き換える。
【0127】
単一のNPLMは、1つ、2つ、またはそれ以上のそのようなパラメータの変動について一度に訓練され得る。例えば、NPLMは、位置の所定の範囲と、色温度の関連付けられた変化とを含む日の出について訓練され得る。別のNPLMは、色温度の変化なしに、位置の所定の範囲内での太陽の日中(またはその一部)の進行について訓練され得る。別のNPLMは、日没について訓練されてもよく、やはり所定の範囲の位置と、色温度の関連付けられた変化とを含む。
【0128】
本明細書の他の箇所に記載されているように、より複雑な訓練環境は、典型的にはNPLMのメモリフットプリントが閾値サイズに達するときに最大まで、ネットワークを収容するためにNPLMアーキテクチャの変更を必要とする場合がある。
【0129】
NPLMはまた、パラメータ変化または訓練データに関連付けられた変化を示す訓練中の1つまたは複数の追加入力を必要とし得る。
【0130】
例えば、照明の位置は、明示的に入力されてもよく、及び/又は、時間帯(例えば、色温度とも相関する場合)等のプロキシ値であってもよい。典型的には、これは、光に対するシーン要素の相対的な位置を特徴付けるのに役立つ位置ネットワークへの入力、光源と視点との間の関係を特徴付けるのに役立つ方向ネットワークへの入力、または両方への実際の入力であり得る。照明の位置は、点光源の位置、拡散光源の中心、スカイドームの中心、またはオフセット位置に関連し得る。入力は、直線、極、または任意の適切な形式(例えば、極はスカイドームにより適している場合がある)であり得る。したがって、位置の変化の典型的な例は、NPCの経路(例えば、交通)、オブジェクトのゲーム内の動き(例えば、テーブルのランプが移動する)、または環境の変化(例えば、太陽または月)に沿ったものである。
【0131】
同様に方向(及び/又は任意にビームの広がり角)は、NPLMの半分のうちの1つ又は両方に入力され得る。方向変化の典型的な例は、スポットライト若しくは見張り、または位置移動、トラフィックとの組み合わせを含む。広がり角の値はこれらに関連付けられることができる。一方、広がり角の変化の例は、光源の前にあるドアを開けることを含む。
【0132】
色または色温度は、例えばスカラー値(例えば色温度について)、RGBまたは同様の色表現として入力され得る。典型的には、色表現は、予測画像(すなわち、NPLMの出力を特定のBSDF、BRDF、BTDF又は同様のものと結合することによって生成される画像画素)と同じ色空間に対するものであろう。色または色温度は、位置ネットワークの出力層の中間表現に具現化されたシーン位置の分類を再び支援するために位置ネットワークに入力されることができ、および/または、そこでNPLMの色関連出力により容易に影響を与え得るため、方向ネットワークに入力され得る。本明細書の他の箇所で述べたように、色の変化の典型的な例は、昇る太陽または沈む太陽に関連し得るが、例えば、アラームの作動および主に赤色照明への関連付けられたスイッチなど、劇的なことさえも関連し得る。
【0133】
輝度は、色温度と同様の方法である色値として、NPLMの一方または両方の半分に入力され得る。この場合も、明るさの変化の典型的な例は、日没または日の出と関連付けられることができる。
【0134】
光源の拡散は、方向と同様に、表面点の分類を助けるために位置ネットワークに入力されることができ、及び/又は光源と視点との間の関係を助けるために方向ネットワークに入力されることができる。拡散光源の例は、雲若しくは霧、または拡散した天井灯を持つ都市/オフィス環境などを含み得る。
【0135】
また、代替的に又は追加的に時間ベースのパラメータが使用されるように、これらのパラメータの一部又は全部は、時間と相関し得ることが理解されよう。これは、位置について上述したが、色、明るさ又は他のパラメータのいずれかに適用することもできる。例えば、位置、色、及び明るさは全て、シーンが太陽によって照らされているときに、時間との相関関係を有することができる。
【0136】
位置及び/又は方向ネットワークのうちの1つの既存の第1層に1または複数のそのような入力を追加することは、各ネットワークにおける入力と第1層のノードとの間の単一のそれぞれの重みのみを可能にすることが理解されよう。
【0137】
したがって、ここで図8Bも参照すると、任意選択で、これらの追加入力に対するより複雑な学習済み応答のための能力を提供するために、さらなる層が、現在の第1層とNPLMのそれぞれの半分への2つ以上の入力との間に提供され得る。したがって、例えば、既存のNPLM位置ネットワークへの並列入力として光の位置及び現在の表面点の位置を提供するだけではなく、これらの値の任意の重要な組み合わせが準備段階として学習されるように、さらなる層が提供され得る。
【0138】
したがって、例えば位置ネットワークへの元の表面点位置入力に加えて上記の入力の全てが含まれる場合、完全接続された追加層が提供され得るか、または例えば部分層に対する方向性及び拡散入力と、平行部分層に対する明るさ及び色と、平行部分層に対する光位置及び表面点位置と、を有する部分接続された層が提供され得る。これらの部分層はその後、ネットワークの第1の全層に完全に接続される。同様のスキームを方向性ネットワークに用いることができる。
【0139】
図8Bは、非限定的な例として、元のシーン位置のための部分層、照明位置のための部分層、および照明の色と明るさとのための平行な部分層が、位置ネットワークに含まれることを示す。
【0140】
可変照明条件のための訓練セットは、単に、複数の照明変化について(例えば、光の連続する位置について)、訓練セットを生成するための本明細書に記載の技術のいずれかを繰り返すことから構成され得る。
【0141】
代替的には、フルレンダリングのための位置の単一のセットは、前述と同様に得ることができ、次に、各位置について、変化させられる1または複数のパラメータのそれぞれについて、所定の範囲内のランダムなパラメータ値、又はその範囲にわたる一連のパラメータ値のいずれかを選択することによって、N個のバージョンのセットを作成する。任意選択で、候補位置を抽出するために確率的アプローチが使用される場合、保持の確率を高くするか(選択された位置の数を増やし、より厳しい訓練状況に対して訓練セットを充実させる)、保持の確率を低くして(最大N倍まで)、同じビューに対するバリエーションをレンダリングすることから生じる計算負荷の関連を軽減することができる。確率が増加されるか、減少されるか、または同じままであるかは、その特定の照明されたシーンについて、一方では計算負荷および時間、他方では最終的なNPLM出力品質との間のトレードオフを反映する。
【0142】
再び代替的には、保持の確率を最大N倍まで増加させることができ、結果として生じる各視点について、パラメータ値のただ1つの(ランダム又は順次)バージョンが選択され、1つの視点において複数のパラメータ値を有するのではなく、複数の視点においてそれぞれのパラメータ値が存在する。
【0143】
例えば、複数の照明変化に対して訓練セットを生成することは、各訓練セットに対して視点の異なるそれぞれの構成をもたらすことができ、同じ位置における異なるパラメータ値のセットと、固有の位置における単一のパラメータ値とをまとめてもたらすことができることが理解されよう。
【0144】
典型的には、視点の分布がどのように生成されるかを変更する必要はない。これは光ではなく視聴者の位置に関係するためである。しかし、指向性の高い光については、光の方向軸に対する反射角からの視点の角度距離に応じて、視点を保持する確率を偏らせることが任意選択で有用であり得る(すなわち、視点が光への反射線上に近くなるにつれて保持を増やす)。
【0145】
本明細書で先に述べたように、NPLMは、任意の適切な機械学習システムを使用して実装することができ、したがって、本明細書で説明した分割ネットワークアーキテクチャが好ましいが、原則として、単一のニューラルネットワーク(または実際に3以上のネットワークまたは他の機械学習システム、異なるタイプの可能性)を構成するNPLMを使用してもよく、これらの1または複数に適宜本明細書で説明する入力が供給される。
【0146】
分散アプローチ
各NPLMは、本明細書の他の箇所で説明したシーン表面位置及び視点/ミラー方向入力、並びに本明細書の前にも説明した追加の入力のいずれかに応答して、単一の画素について学習された品質を生成する。
【0147】
さらに典型的には、(例えば、シーンの拡散、鏡面、半透明及び他の構成要素について訓練された)いくつかのNPLMからの寄与は、最終出力が要求されるときに結合される。
【0148】
その結果、原理的には、いくつかのNPLMからの寄与は、それぞれの照明条件について訓練されたNPLMから結合され得る。例えば、あるNPLMは午後1時に設定された太陽またはスカイドームのために訓練され、別のNPLMは午後2時の太陽/スカイドームのために訓練され得る。例えば、午後1時に午後1時のネットワークの100%、午後1時15分に午後1時の75%及び午後2時の2%、午後1時30分に50/50、午後1時45分に25/75、午後2時に午後2時の100%が出力されるように、それぞれの寄与が結合されることができる。
【0149】
位置の変化については、照明の変化の影響が鏡面寄与でより明らかになるため、任意選択で鏡面寄与のNPLMは拡散寄与のNPLMより細かい間隔で訓練されることができる。例えば、鏡面NPLMは各時間間隔またはパラメータ範囲に沿った各10%の点に対して作成されることができ、一方、拡散NPLMは2~3時間毎またはパラメータ範囲に沿った各25%に対して作成される。
【0150】
したがって、パラメータ範囲上の異なる点で訓練された異なるNPLMからの寄与は、パラメータ範囲上の所望の点を近似するためにブレンドされることができる。
任意選択で、それぞれのNPLMによるこれらのパラメータ範囲のサンプリングは、鏡面寄与に比べて、拡散寄与などのビュー依存性が低い寄与に対してよりスパースにすることができる。
【0151】
また、上記の時間の例は1次元のパラメータであり、したがって、所望のパラメータ値を括るパラメータ値で訓練された2つのNPLMをブレンドすることのみを必要とするが、このアプローチは、その重み付けされた寄与が所望のパラメータ値の三角測量(triangulation)に対応する3つ以上のNPLM(例えば、パラメータ空間上での三角形または他のポリゴン)を使用する二次元のパラメータに拡張されることができ、または実際にはその重み付けされた寄与が再び所望のパラメータ値の三角測量に対応する4つ以上のNPLM(例えば、パラメータ空間における四面体または他のボリューム)を使用する3次元のパラメータにも拡張されることができる。
【0152】
ネットワークの構成
上述のように、位置ネットワーク(すなわち、本明細書に記載の分割アーキテクチャネットワークの第1の部分)は、それが鏡面タイプの拡散画像構成要素に対して訓練されるかどうかに応じて、異なる数の出力を有することができる。これは、より一般的なアプローチの特定の例であることが理解されよう。
【0153】
一般に、NPLMの能力は、それが行うことを要求されるモデリングタスクの複雑さに従って、想定されるデフォルト設定から能力を増加または減少させることによって変化させることができる。その際、ネットワークのアーキテクチャは、一般に、能力を変更するために変更される。
【0154】
第1の態様において、能力は、NPLMのサイズに基づいて変化させることができる(例えば、層の数、層のサイズおよび/またはNPLMの部分間の層の分布、それによって、その能力を変更するためにNPLMのアーキテクチャが変更される)。
【0155】
したがって、任意選択で、サイズは、NPLMがモデル化している寄与構成要素のタイプ(例えば、拡散性、鏡面性、または半透明/透過性)に従って変化し得る。
【0156】
特に、位置ネットワークのサイズは、これらの構成要素に固有の照明応答のより大きな変動性のために、他の全てが等しい場合、拡散構成要素と比較して鏡面または半透明/透過構成要素に対して有益に大きくされ得る。同様の理由で、位置ネットワークのサイズは、部分反射、透過及び内部反射の組み合わせが関与し得るため、他の全てが等しい場合、鏡面構成要素と比較して、半透明/透過性構成要素に対して有益に大きくされ得る。
【0157】
同様に、位置ネットワークのサイズは、モデル化される必要がある所与のシーン表面位置に対する照明条件、又はその複雑さの数の増加のために、1または複数の照明条件に対する変化が訓練される場合(限定しない例として、異なる照明位置、方向、及び/又は角度幅)、有益により大きくされ得る。
【0158】
サイズは、隠れ層の数または1若しくは複数のそのような隠れ層内のノードの数を変更することによって変化させることができる。同様に、サイズは、出力層(例えば、全体的なNPLMネットワークの位置ネットワークと方向ネットワークとの間の隠れ層又はインターフェース/中間層でもある位置ネットワークの出力層)の数に応じて変化させてもよい。層の数を増やすと、ネットワークが入力データに適用して異なるタイプの情報を分類またはフィルタリングできる空間歪みが増加する。一方、層内のノードの数を増やすと、ネットワークがモデル化できる訓練セット内の特定の条件の数が増え、その結果、忠実度が改善される。一方、出力ノードの数を増やすと(位置ネットワークの出力のように、特定のフォーマットにマッピングするために選択されていない場合)、データセットの内部表現に対してより厳密でない次元削減を実施することにより、出力ネットワーク(および出力ノード値で動作する後続ネットワーク)による識別を向上させることができる。
【0159】
代替的に又は追加的に、方向ネットワークのサイズは、NPLMがモデル化している寄与構成要素のタイプ(例えば、拡散性、鏡面性、又は半透明/透過性)に応じて変化することができる。
【0160】
上述のように、方向ネットワークの入力層は、全体的なNPLM分割アーキテクチャネットワーク内の位置ネットワークのより高い次元の出力に対応するようにサイズを変更することができる。
【0161】
同様に、層の数及び/又は層のサイズは、位置ネットワークについて次に概説したのと同様の効果、すなわち、識別能力及びまたモデルの忠実度の増加のために変化させることが可能である。
【0162】
位置ネットワークと同様に、方向ネットワークのサイズは、拡散構成要素と比較して鏡面または半透明/透過構成要素に対して、これらの構成要素に固有の照明応答のより大きな変動性のために、他の全てが等しい場合に、有益に大きくされ得る。同様の理由で、方向ネットワークのサイズは、部分反射、透過および内部反射の組み合わせが関与し得るため、他の全てが同じである場合、鏡面構成要素と比較して、半透明/透過性構成要素に対して有益に大きくされ得る。したがって、位置ネットワークと同様に、そのアーキテクチャを変更して、その能力を変更することができる。
【0163】
同様にまた、方向ネットワークのサイズは、モデル化される必要がある所与のシーン表面位置に対する照明条件、又はその複雑さの数の増加のために、1または複数の照明条件に対する変化が訓練される場合(限定されない例として、異なる照明位置、方向及び/又は角度幅)、有益に大きくされ得る。
【0164】
したがって、NPLM(例えば、位置ネットワーク、方向ネットワーク、またはその両方)は、例えば、必要な照明モデルの要求に応じて、識別機能(たとえば、より多くの隠れ層または出力次元による)を改善するためにおよび/またはモデルの忠実度(たとえば、より多くの隠れ層のノードによる)改善するために、その機能が変更される可能性がある(例えば、層の数の増加、内部ノード、または入力または出力の次元などのその/それらのアーキテクチャへの変更)。例えば、拡散寄与構成要素の要求は、典型的には、鏡面構成要素よりも少ない。
【0165】
逆に、NPLMの想定標準またはデフォルト設定から,NPLMは、能力を増加させる代わりに,適切な場合には(例えば拡散構成要素について)その能力を(例えば能力を増加させるために上述したものとは逆のステップによって)減少させるように有益に変更され得る。この場合、利点は、典型的には、低減されたメモリフットプリント及び計算コストの点である。
【0166】
異なる寄与チャネルによってモデル化されるような材料の反射プロパティ(又はプロパティ)のタイプに加えて、代替的に又は追加的に、NPLMの能力は、照明モデル/レンダリング処理の複雑さに関連する他の因子に対応して増加又は減少され得る。
【0167】
例えば、拡散光源(スカイドームなど)は、オブジェクト/シーンに衝突する照明の空間/角度変動が少ないため、点光源よりも複雑ではない場合がある。逆に、それ自体の空間的な変動が大きいスカイドーム(例えば、日没を示す)は、より複雑になる場合がある。光源の複雑さは、その空間および色の変動に基づいて、例えば、物体/シーンを含まない照明空間の2次元フーリエ変換の積分に基づいて評価されてもよく、典型的にはDC成分がディスカウントされる。この場合、均一なスカイドームはほぼゼロの積分を有することになり、1または複数の点光源はより大きな積分を有することになり、複雑なスカイドーム(街の風景や日没のような)はさらに大きな積分を有し得る。NPLMの能力(例えばサイズ)は、このような光源の複雑さの分析に基づいて、例えば性能の経験的分析に基づいて、設定されることができる。
【0168】
同様に、移動する、動的な、又は配置可能な光は変化する照明条件を作り出すため、増加したNPLMの複雑さを必要とし得る。この場合、NPLMへの入力は、照明状態の入力と、出力画素についてレンダリングされるオブジェクト/シーンの特定の部分についての(x,y,z)オブジェクト位置とを含み得る。したがって、太陽が空を横切るシーンのモデルについて、太陽の位置に相関する1日の時間に関する入力を含み得る。光源の現在の状態を識別するための他の入力は、1または複数の光の(x,y,z)位置、光のサイズに関する(r)半径または同様の入力、および/または光の(支配)色に関するRGB入力などを含み得る。訓練データ(例えば、レイトレーシング済みのグランドトゥルースに基づく)は、これらの変化する条件の例も組み込むことが理解されよう。より一般的には、NPLMが環境の動的な態様をモデル化するために訓練される場合、訓練データは、適切な代表的な数の例を含むであろう。
【0169】
太陽の場合、丸一日の横断は、例えば、本明細書の他の箇所で説明するように、NPLMのメモリフットプリントまたは計算コストが好ましい最大値よりも大きくなるのを避けるために、連続していくつかのNPLMによってモデル化される必要があり得る(例えば、夜明け、朝、真昼、午後および薄暮をモデル化する)。
【0170】
同様に、シーン内の移動する、動的な、または配置可能なオブジェクトは、それらがNPLMを使用してレンダリングされる場合、増加したNPLMの複雑さを必要とし得る(任意選択で、NPLMは、静的シーン構成要素のみのレンダリング、および/または位置に独立であるシーンの一部分に寄与するために使用することができる)。したがって、再びこの場合、入力は、例えば、オブジェクトの位置及び/又は方向データから構成され得る。
【0171】
代替的に又は追加的に、他の因子は、NPLMのモデリングを単純化し、従って、NPLMの能力を低減することを可能にし得る(又は、他の全てが等しい場合、モデルの忠実度を比較的に改善することを可能にし得る)。例えば、レンダリングされたシーンが固定された経路(例えば、レーストラック上、衝突防止バリア内)を含む場合、ユーザがアクセスできない視点からの訓練を減らすことができ、または完全に避けることができる。同様に、レンダリングシーンが限定された、または優先される視線方向を含む場合(例えば、ほとんどの視線が走行方向で行われるレーストラック)、異なる視点に対する訓練は、それらの視点の最終ユースケースに対する比例した重要性を反映することができる。
【0172】
同様に、背景であるかまたはゲームの焦点(中心窩レンダリングの観点から、またはメインキャラクターなどの関心のある点の観点から)から遠いために、シーンの一部がユーザによってあまり批判的に見られない可能性がある場合、NPLMは、比較的能力が低くされ得る。例えば、オブジェクトまたはテクスチャへの異なる描画距離に対して異なるNPLMを訓練し、異なる描画距離/詳細度(LOD)において能力(例えば、サイズ)を低下させ得る。
【0173】
代替的に又は追加的に、本明細書の他の箇所で述べたように、NPLMは、特定のシーン、オブジェクト、材料、又はテクスチャのために訓練され得る。その結果、NPLMの能力は、それが照度を表すものの複雑さに従って変化させることができる。大きなまたは複雑なシーンは、より大きなNPLM(および/または、シーンおよび結果のNPLMのサイズに応じて、それぞれの部分を取り扱う複数のNPLM)を必要とし得る。同様に、複雑な物体(車など)は,単純な物体(球体など)よりも高性能なNPLMの恩恵を受け得る。シーンまたはオブジェクトの複雑さを評価する1つの方法は、ポリゴンの数を数えることで、ポリゴンが多ければ多いほど、シーンがより複雑であると推測される。さらに改良して、ポリゴン間の平面角の分散を利用して、複雑さを推測することも可能である。例えば、図の車のモデルと同じ数のポリゴンを持つ球体は、車自体と比べて角度の分散が非常に小さく、車が構造的に複雑であることを示す。ポリゴン数と角度分散/分布の両方を結合することは、照度がNPLMによってモデル化されるシーン/オブジェクトの複雑さの良い代用品を提供するであろう。
【0174】
同様に、複雑な材料(肌や毛皮など)は、単純な材料(金属など)よりも高性能なNPLM(および/または複数のNPLM寄与部)から恩恵を受け得る。さらにまた、複雑なテクスチャ(例えば、広い空間スペクトルを持つ)は、狭いまたは凝縮された空間スペクトルを持つテクスチャよりも、より能力の高いNPLMから利益を得ることができる。
【0175】
これまで、能力はサイズ(入出力数、層数、ノード数など)の観点から言及されたが、これに代えて、あるいは加えて、NPLMの異なる層のノード間の活性化関数の選択によって、能力を変化させることができる。本明細書の他の箇所で述べたように、位置ネットワークの好ましい活性化関数はReLU関数であり、一方、方向ネットワークの好ましい活性化関数は正弦関数(sin関数)であるが、他のシナリオをモデル化するために他の関数を選択することができる。
【0176】
NPLMの能力は、例えば、NPLMのメモリフットプリントが閾値サイズに達したときに、上限の対象とすることができる。その閾値サイズは、典型的にはシーン/オブジェクト/材料のテクスチャにアクセスしロードする目的で選択されるようなメモリページまたはメモリページの部分的または複数のグループなどのメモリの動作単位サイズに等しい場合がある。閾値サイズは、GPUにグラフィック画像データをロードするためにGPU及び/又はゲームによって使用されるテクスチャ又はミマップサイズ(mimmap size)に等しくてもよい。
【0177】
NPLMの複雑さがこの閾値を超えることになる場合、それがモデル化するタスクは簡略化されるか、NPLM間で共有されなければならないか、または結果の精度が低くなることを受け入れなければならない場合がある。
【0178】
したがって、要約すると、画像レンダリング方法は、(ネットワーク構成および選択をフォーカスする)複数の機械学習モデルの中から少なくとも第1の訓練済み機械学習モデルを選択するステップを含み得る。機械学習モデルは、本明細書の他の場所で議論したように、画像の少なくとも一部のレンダリングに寄与するデータを生成するように訓練されている。したがって、例えば、寄与するデータは、画像画素の特定の構成要素(例えば、拡散または鏡面寄与構成要素について)に関連することができ、または、例えば、モデル化される照明および/または材料、テクスチャおよび/または他の表面プロパティの複雑さに応じて、完全なRGB画素(例えば、全ての反射態様を一度にモデル化する)に関連することができる。
【0179】
そのような方法において、少なくとも第1の訓練された機械学習モデルは、本明細書の他の場所で議論されるように、データを生成するために訓練される仮想環境の少なくとも第1の態様に応答するアーキテクチャベースの学習能力を有する。したがって、例えば、学習能力に関連するアーキテクチャの態様は、層またはノードの数など、NPLMの全てまたは一部のサイズであることができ、および/または異なる層のノード間の接続の性質に関連することができる(例えば、用いられる活性化関数のタイプの接続の度合いの観点から)。
【0180】
このような方法において、本明細書の他の箇所で説明したように、第2のステップは、少なくとも第1の訓練された機械学習モデルを使用して、画像の少なくとも一部のレンダリングに寄与するデータを生成することを含み得る。したがって、例えばNPLMの個々の実行は、画像の画素に対するRGB値を生成するために他のNPLMからのデータと共に使用されるデータを生成してもよく、又は、例えば本明細書の他の場所で説明されているような後続処理(例えば分布関数との結合)の後に、それ自体で画像の画素に対するRGB値を生成するためにデータを生成してもよい。
【0181】
ネットワークの選択
ネットワークは、ゲーム又はアプリケーションの開発段階において訓練される。ディベロッパは、NPLMベースのレンダリングが有利であるときまたは場所を選択し得る。たとえば、フレームレートが所定の品質閾値を下回ることが一貫して判明しているシーンにのみ使用し得る。そのような場合、ネットワークはそれらのシーンまたはその一部で訓練され、それらのシーンに遭遇したときに使用される。
【0182】
他の場合、ディベロッパは、特定のオブジェクトまたは特定の材料にNPLMベースのレンダリングを使用することを選択し得る。この場合、ネットワークは、それらのオブジェクトまたは材料がレンダリングされるシーン内にあると識別されたときに、そのために訓練され、使用される。
【0183】
他の場合、ディベロッパは、特定の照明条件またはそれらの組み合わせに対してNPLMベースのレンダリングを使用することを選択し得る。この場合、ネットワークは、それらの条件がレンダリングされるシーン内として識別されるとき、そのために訓練され、使用される。
【0184】
同様に、ディベロッパは、特定の描画距離(z-距離)、または画像中心もしくはユーザの中心窩のビューから離れた角度/距離、または特定の照明条件に対して、NPLMベースのレンダリングを使用することを選択し得る。この場合、ネットワークはそのような状況に合わせて学習され、使用される。
【0185】
同様に、これらの基準の任意の好適な組み合わせが、訓練及び使用のために選択され得ることが理解されよう。
【0186】
一方、上述のように、システムの使用中に、複数の理由のために、シーンに関連する複数のNPLMが存在し得る。例えば、複数のNPLMは、大きなシーンをモデル化するために(各部分が、閾値のサイズ内及び/又は閾値の画像再生の品質にNPLMによって十分によくモデル化されるように)存在する場合がある。同様に、照明条件、詳細度/描画距離などが異なるため、複数のNPLMが存在する場合がある。
【0187】
状況に適したNPLMは、GPUのアクセス可能なワーキングメモリに選択及び取り出され、画像の少なくとも一部をレンダリングする目的でまたは実行され得る。テクスチャ及び他のグラフィックアセットをプリフェッチ及びキャッシュするために適用される戦略もまた、NPLMに適用され得ることが理解されるであろう。
【0188】
要約
次に図9を参照すると、本明細書の要約の実施形態において、視点において画素をレンダリングするための画像レンダリング方法は、そのシーン内の位置で所定の表面を有する仮想シーンの第1の要素について、以下のステップを備える。
【0189】
第1のステップs910において、本明細書の他の箇所で説明するように、所定の表面との光との相互作用を特徴付ける分布関数と結合されるときに、その位置で照明されるように仮想シーンの第1の要素に対応する画素値を生成する係数(factor)を予測するために予め訓練された機械学習システムに、視点に基づく位置および方向を提供する。
【0190】
第2のステップs920において、機械学習システムからの予測された係数を分布関数と結合して、本明細書の他の箇所で説明するように、位置で照明された仮想シーンの第1の要素に対応する画素値を生成する。
【0191】
第3のステップs930において、本明細書の他の箇所で説明するように、表示のために画素値をレンダリング画像に組み込む。その後、画像は、A/Vポート(90)を介してディスプレイに続いて出力され得る。
【0192】
以下を含むがこれらに限定されない、本明細書に記載され特許請求された方法及び/又は装置の様々な実施形態の動作に対応する上記方法における1つ又は複数の変形が本開示の範囲内で考慮されることは当業者には明らかであろう。
-本明細書の他の箇所に記載されるように、それぞれの機械学習システムは画像の複数の寄与構成要素(例えば、拡散、鏡面、コートなど)のそれぞれについて訓練され、それぞれの分布関数は画像の複数の寄与構成要素のそれぞれについて使用され、それぞれの生成画素値が表示のためにレンダリング画像に組み込まれる画素値を生成するために結合される。
-本明細書の他の箇所に記載されているように、それぞれの分布関数は、双方向散乱分布関数、双方向反射率分布関数、及び双方向透過率分布関数を含むリストから選択される1つまたは複数である。
-本明細書の他の箇所に記載されているように、機械学習システムはニューラルネットワークであり、ニューラルネットワークの第1の部分への入力は位置を含み、ニューラルネットワークの第2の部分への入力は第1の部分の出力と方向とを含む。
-この場合、本明細書の他の箇所で説明するように、第1の部分の活性化関数は、第2の部分の活性化関数と異なる。
-この場合、本明細書の他の箇所で説明するように、第1の部分の活性化関数は、ReLU関数であり、第2の部分の活性化関数は、正弦関数である。
-この例では、本明細書の他の箇所で説明したように、ニューラルネットワークのコスト関数は、第2の部分の出力と、分布関数との逆結合が実行された訓練画像に対する画素のレイトレーシング済みバージョンから得られる値との間の差に基づく。
-この例では、本明細書の他の箇所で説明するように、ネットワークのためのコスト関数は、訓練中に第2の部分と第1の部分の両方を逆伝播される。
-この例では、本明細書の他の箇所に記載されているように、ニューラルネットワークは、完全接続ネットワークである。
-本明細書の他の箇所に記載されているように、機械学習システムのコスト関数は、機械学習システムの出力と、分布関数との逆結合が実行された訓練画像に対する画素のレイトレーシング済みバージョンから得られる値との間の差に基づく。
-機械学習システムは、シーンの第1の要素に対するテクスチャを選択及びロードするために使用される同じアセット識別スキームに基づいて、グラフィックス処理部によって使用されるメモリに選択及びロードされる。
【0193】
次に、図10を参照して、本明細書の別の要約の実施形態において、視点における画素をレンダリングするための画像レンダリング方法(照明条件の変動にフォーカスする)は、以下のステップを含む。
【0194】
そのシーン内の位置に所定の表面を有する仮想シーンの第1の要素に関し、第1のステップs1010は、本明細書の他の箇所で説明したように、所定の表面との光の相互作用を特徴付ける分布関数と結合されたときに、その位置で照明されるように仮想シーンの第1の要素に対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、視点に基づく位置及び方向を提供することを含む。
【0195】
次に、第2のステップs1020は、本明細書の他の箇所で説明するように、機械学習システムからの予測された係数を分布関数と結合して、位置において照明された仮想シーンの第1の要素に対応する画素値を生成することを含む。
【0196】
第3のステップs1030は、次に、表示のために画素値をレンダリング画像に組み込むことを含む。
【0197】
しかしながら、注目すべきは、第1のステップの機械学習システムは、本明細書の他の箇所で説明したように、複数の照明条件を含む画像に基づく訓練セットを用いて予め訓練されたことである。
【0198】
再び、以下を含むがこれらに限定されない、本明細書で説明され請求されたような方法及び/又は装置の様々な実施形態の動作に対応する上記方法の1つ又は複数の変形が、本開示の範囲内で考えられることが当業者には明らかであろう。
-本明細書の他の箇所で説明するように、複数の照明条件は、照明位置の1つまたは複数の変更を含む。
-この場合、任意選択で、本明細書の他の箇所で説明するように、照明位置の変化は、仮想シーン内の想定時間、及び可動仮想光源の動き経路を含むリストから選択される1または複数に応じる。
-本明細書の他の箇所で説明するように、複数の照明条件は、照明方向の1つ又は複数の変化を含む。
-この場合、任意選択で、本明細書の他の箇所で説明するように、照明方向の変化は、光源の軸方向の変化、及び光の角度広がりの変化、を含むリストから選択される1または複数に応じる。
-本明細書の他の箇所で説明するように、複数の照明条件は、照明色、照明輝度、及び照明拡散を含むリストから選択される1つ又は複数の変更を含む。
-本明細書の他の箇所で説明するように、それぞれの機械学習システムは画像の複数の寄与構成要素のそれぞれについて訓練され、それぞれの分布関数は画像の複数の寄与構成要素のそれぞれについて使用され、それぞれの生成された画素値が表示のためにレンダリング画像に組み込まれる最終結合画素値を作成するために結合される。
-本明細書の他の箇所で説明するように、機械学習システムはニューラルネットワークであり、ニューラルネットワークの第1の部分への入力は位置を含み、ニューラルネットワークの第2の部分への入力は第1の部分の出力及び方向を含む。
-本明細書の他の箇所で説明するように、機械学習システムはニューラルネットワークであり、ニューラルネットワークへの入力は、照明位置またはオフセット、仮想シーン内の想定時間、光源の軸方向、光の角度広がり、色または色温度、明るさ、および拡散を含むリストから選択される1つまたは複数を含む。
-機械学習システムがニューラルネットワークである上記2つの場合において、任意選択で、本明細書の他の箇所で説明するように、ニューラルネットワークの全てまたは一部への入力が光の複数のプロパティを表す場合、少なくとも部分的に接続された追加の入力層がニューラルネットワークに提供される。
-本明細書の他の箇所で説明するように、本方法は、複数の機械学習モデルの中から少なくとも第1の訓練済み機械学習モデルを選択するステップであって、該機械学習モデルは、複数の照明条件を含む画像に基づく訓練セットを用いて、画像の少なくとも一部のレンダリングに寄与するデータを生成するために訓練され、少なくとも第1の訓練済み機械学習モデルは、データを生成するために訓練された仮想環境の少なくとも第1の態様に応答するアーキテクチャベースの学習能力を有し、少なくとも第1の訓練済み機械学習モデルを使用して、画像の少なくとも一部のレンダリングに寄与するデータを生成する。
-本明細書の他の箇所で説明するように、本方法は、異なるそれぞれの照明条件について訓練された少なくとも2つのそれぞれの機械学習モデルを使用するステップと、それぞれの機械学習モデルを使用して表面位置で照明されるように仮想シーンの第1の要素に対応する画素値を生成するステップと、生成した画素値を機械学習システムの出力と結合するステップと、を含む。
-本明細書の他の箇所で説明するように、本方法は、シーンの複数の候補視点を生成するステップと、視点に対応するシーン内の表面位置における光に対するシーンの表面の応答に依存する確率に従って候補視点をカリングするステップと、残りの視点における訓練画像を生成するステップと、によって生成された訓練セットを用いて訓練された機械学習モデルを使用するステップを含む。
【0199】
上記の方法は、ソフトウェア命令によって、または専用ハードウェアの包含もしくは置換によって適用可能なように好適に適合された従来のハードウェアで実施され得ることが理解されるであろう。
【0200】
したがって、従来の等価デバイスの既存の部分への必要な適合は、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、ソリッドステートディスク、PROM、RAM、フラッシュメモリ、またはこれらの任意の組み合わせまたは他の記憶媒体などの非一時的機械可読媒体に格納されたプロセッサ実装可能な命令を含むコンピュータプログラム製品の形態で実装されてもよく、またはASIC(特定用途集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)など従来の等価デバイスの適合に使用するのにふさわしい設定可能回路としてハードウェアで実現されてもよい。これとは別に、このようなコンピュータプログラムは、イーサネット、無線ネットワーク、インターネット、またはこれらや他のネットワークの任意の組み合わせなどのネットワーク上のデータ信号によって送信されてもよい。
【0201】
図1を参照すると、本明細書に記載された方法および技術は、仮想シーンから画像を生成するエンターテイメントシステム10などの従来のハードウェアに実装され得る。このようなエンターテイメントシステム10の例は、ソニー(登録商標)のプレイステーション5(登録商標)(PS5)などのコンピュータまたはコンソールである。
【0202】
エンターテインメントシステム10は、中央処理装置20を含む。これは、例えばPS5のように8つのコアを含むシングルコアまたはマルチコアプロセッサであり得る。また、エンターテインメントシステムは、グラフィカルプロセッシングユニットまたはGPU30を含む。GPUは、CPUと物理的に分離していてもよいし、PS5のようにSoC(System on a Chip)としてCPUと一体化されていてもよい。
【0203】
エンターテインメントデバイスはまた、RAM40を含み、CPUとGPUのそれぞれに対して別々のRAMを有するか、PS5のように共有RAMを有するかのいずれでもよい。または各RAMは、物理的に別々であってもよいし、PS5のようにSoCの一部として統合されていてもよい。さらなるストレージは、ディスク50によって提供され、外部または内部ハードドライブとして、または外部ソリッドステートドライブとして、またはPS5におけるように内部ソリッドステートドライブとして提供される。
【0204】
エンターテインメントデバイスは、適宜、USBポート、イーサネット(登録商標)ポート、WiFi(登録商標)ポート、Bluetooth(登録商標)ポートなどの1つまたは複数のデータポート60を介してデータを送信または受信し得る。また、任意選択で、光学ドライブ70を介してデータを受信してもよい。
【0205】
システムとの対話は、典型的には、PS5の場合のDualSense(登録商標)コントローラなど、1または複数の携帯型コントローラ80を用いて提供される。
【0206】
エンターテインメントデバイスからのオーディオ/ビジュアル出力は、典型的には、1または複数のA/Vポート90を通じて、または有線または無線データポート60の1つ又は複数を通じて提供される。
【0207】
構成要素が統合されていない場合、専用のデータリンクまたはバス100を介して、適宜接続することができる。
【0208】
したがって、本明細書の要約の実施形態では、エンターテインメントデバイス(ソニー(登録商標)のプレイステーション5(登録商標)など)は、以下のように構成される。
【0209】
第1に、本明細書の他の箇所で説明したように、グラフィックス処理部(GPU30など、任意選択でCPU20と連動している)は、そのシーン内の位置に所定の表面を有する第1の要素を含む仮想シーンの画像内の視点に画素をレンダリングするように(例えば適切なソフトウェア命令によって)構成される。
【0210】
第2に、本明細書の他の箇所で説明するように、(GPU30など、任意選択でCPU20と連携している)機械学習プロセッサは、所定の表面との光の相互作用を特徴付ける分布関数と結合されたときに、その位置で照明されるように仮想シーンの第1の要素に対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、視点に基づく位置および方向を提供するように構成される。
【0211】
グラフィックス処理部は、本明細書の他の箇所で説明するように、機械学習システムからの予測された係数を分布関数と結合して、位置における仮想シーンの照明された第1の要素に対応する画素値を生成するように(再び例えば、適切なソフトウェア命令によって)構成される。
【0212】
さらに、グラフィックス処理部は、本明細書の他の箇所で説明するように、画素値をディスプレイ用のレンダリング画像に組み込むように(再び例えば適切なソフトウェア命令によって)構成される。
【0213】
上記のハードウェアは、同様に、本明細書に記載される方法および技術を実行するように構成されてもよく、例えば、以下のように構成されることが理解されるであろう。本明細書の他の箇所で説明したように、エンターテインメントデバイスは、画像の複数の寄与構成要素(例えば、拡散、鏡面、コートなど)のうちの1つに対してそれぞれ訓練されたそれぞれの機械学習システムを実行する複数の機械学習プロセッサ(例えば、GPU及び/又はCPUのそれぞれのプロセッサ、シード及び/又はシェーダ)を備え、それぞれの分布関数が画像の複数の寄与構成要素のそれぞれに対して使用され、グラフィックス処理部は、それぞれの生成した画素値を結合し、表示のためにレンダリング済み画像に組み込まれた画素値を作成するように(再び例えば適切なソフトウェア命令によって)構成される。該または各機械学習システムは、ニューラルネットワークであり、該ニューラルネットワークの第1の部分への入力は、位置を含み、該ニューラルネットワークの第2の部分への入力は、該第1の部分の出力と方向とを含む。
【0214】
同様に、本発明の別の要約の実施形態では、エンターテインメントデバイス(ソニー(登録商標)のプレイステーション5(登録商標)など)は、以下のように構成される。
【0215】
第1に、本明細書の他の箇所で説明したように、(GPU30など、任意にCPU20と連携している)グラフィックス処理部は、そのシーン内の位置に所定の表面を有する第1の要素を含む仮想シーンの画像内の視点に画素をレンダリングするように(例えば適切なソフトウェア命令によって)構成される。
【0216】
第2に、本明細書の他の箇所で説明するように、(GPU30など、任意選択でCPU20と連携している)機械学習プロセッサは、所定の表面との光の相互作用を特徴付ける分布関数と結合されたときに、その位置で照らされるように仮想シーンの第1の要素に対応する画素値を生成する係数を予測するように予め訓練された機械学習システムに、視点に基づく位置および方向を提供するように構成される。
【0217】
グラフィックス処理部は、本明細書の他の箇所で説明するように、機械学習システムからの予測された係数を分布関数と結合して、位置における仮想シーンの照明された第1の要素に対応する画素値を生成するように(再び例えば、適切なソフトウェア命令によって)構成される。
【0218】
さらに、グラフィックス処理部は、本明細書の他の箇所で説明するように、画素値を表示用のレンダリング済み画像に組み込むように(再び例えば適切なソフトウェア命令によって)構成される。
【0219】
機械学習システムは、本明細書の他の箇所で説明するように、複数の照明条件を含む画像に基づく訓練セットで事前に訓練されたものである。
【0220】
上記ハードウェアは、同様に、本明細書に記載される方法及び技術を実施するように構成され得ること、例えば、以下のことが理解されよう。
-本明細書の他の箇所で説明されるように、複数の照明条件は、照明位置の1つ又は複数の変更を含む。
-本明細書の他の箇所で説明されるように、複数の照明条件は、照明方向に対する1または複数の変更を含む。
-本明細書の他の箇所で説明されるように、機械学習システムはニューラルネットワークであり、ニューラルネットワークの第1の部分への入力は位置を含み、ニューラルネットワークの第2の部分への入力は第1の部分の出力と方向を含む。
-本明細書の他の箇所で説明されるように、ニューラルネットワークの全部または一部への入力が光の2つ以上のプロパティを表す場合、少なくとも部分的に接続された追加入力層がニューラルネットワークに提供される。
-本明細書の他の箇所で説明されるように、選択プロセッサは複数の機械学習モデルの中から少なくとも第1の訓練済み機械学習モデルを選択するように構成され、機械学習モデルは複数の照明条件を含む画像に基づく訓練セットを用いて画像の少なくとも一部のレンダリングに寄与するデータを生成するように訓練され、少なくとも第1の訓練済み機械学習モデルはデータを生成するために訓練済み仮想環境の少なくとも第1の態様に応答するアーキテクチャベースの学習能力を有し、少なくとも第1の訓練済み機械学習モデルを使用して、画像の少なくとも一部のレンダリングに寄与するデータを生成する。
-本明細書の他の箇所で説明されるように、結合プロセッサは、異なるそれぞれの照明条件で訓練された少なくとも2つのそれぞれの機械学習モデルを使用するように構成され、それぞれの機械学習モデルを使用して表面位置で照明されるように仮想シーンの第1の要素に対応する画素値を生成し、生成された画素値を機械学習システムの出力と結合する。
-本明細書の他の箇所で説明されるように、シーンの複数の候補視点を生成するステップと、視点に対応するシーン内の表面位置における光に対するシーンの表面の応答に依存する確率に従って候補視点をカリングするステップと、残りの視点における訓練画像を生成するステップとによって生成された訓練セットを用いて訓練された機械学習モデルが使用される。
【0221】
前述の議論は、本発明の単なる例示的な実施形態を開示及び説明する。当業者によって理解されるように、本発明は、その精神または本質的な特徴から逸脱することなく、他の具体的な形態で具現化することができる。したがって、本発明の開示は、他の請求項と同様に、例示的であるが、本発明の範囲を限定するものではないことを意図している。本明細書の教示の任意の容易に識別可能な変形を含む本開示は、発明の主題が公共に捧げられないように、前述の請求項の用語の範囲を部分的に規定するものである。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
【外国語明細書】