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

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

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

<>
  • 特開-画像レンダリング方法および装置 図1
  • 特開-画像レンダリング方法および装置 図2
  • 特開-画像レンダリング方法および装置 図3
  • 特開-画像レンダリング方法および装置 図4
  • 特開-画像レンダリング方法および装置 図5
  • 特開-画像レンダリング方法および装置 図6
  • 特開-画像レンダリング方法および装置 図7
  • 特開-画像レンダリング方法および装置 図8A
  • 特開-画像レンダリング方法および装置 図8B
  • 特開-画像レンダリング方法および装置 図9
  • 特開-画像レンダリング方法および装置 図10
  • 特開-画像レンダリング方法および装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022151745
(43)【公開日】2022-10-07
(54)【発明の名称】画像レンダリング方法および装置
(51)【国際特許分類】
   G06T 15/06 20110101AFI20220929BHJP
【FI】
G06T15/06
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022042644
(22)【出願日】2022-03-17
(31)【優先権主張番号】2104106.6
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】アンドリュー ジェイムズ ビゴス
(72)【発明者】
【氏名】シャヒン セルダル コクデミル
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA13
5B080AA19
5B080CA01
5B080CA03
5B080CA08
5B080DA06
5B080FA02
5B080FA09
5B080FA17
5B080GA06
5B080GA11
5B080GA22
(57)【要約】      (修正有)
【課題】画像レンダリング方法及び装置を提供する。
【解決手段】視点でピクセルをレンダリングするための画像レンダリング方法は、シーン内の位置において所定のサーフェスを備えた仮想的なシーンの第1の要素に関し、位置における所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて第1の要素に対応するピクセルをレンダリングするかを評価するステップと、評価するステップで選択された機械学習システムまたは代替的な技術を用いてピクセルをレンダリングするステップと、を含む。
【選択図】図10
【特許請求の範囲】
【請求項1】
視点でピクセルをレンダリングするための画像レンダリング方法であって、
シーン内の位置において所与のサーフェスを備えた仮想的なシーンの第1の要素に関し、
前記位置における前記所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価するステップと、
前記評価するステップで選択された機械学習システムまたは代替的な技術を用いて前記ピクセルをレンダリングするステップと、
を含むことを特徴とする方法。
【請求項2】
前記レンダリングするステップが機械学習システムを用いて前記ピクセルをレンダリングする場合、
前記レンダリングするステップは、
前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムの出力と、光と前記所与のサーフェスとの相互作用を特徴づける分布関数と、を組み合わせるステップと、
表示のために、前記ピクセル値をレンダリングされた画像に含めるステップと、
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記レンダリングするステップは、
前記画像の複数の寄与成分の1つに関して訓練されたそれぞれの機械学習システムを使うステップと、
前記画像の前記複数の寄与成分の各々に関してそれぞれの分布関数を使うステップと、
表示のために、最終的な組み合わされたピクセル値を生成してレンダリングされた画像に含めるために、生成された前記ピクセル値を互いに組み合わせるステップと、
を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記代替的なレンダリング技術はレイトレーシングであることを特徴とする請求項1から3のいずれかに記載の方法。
【請求項5】
前記評価するステップは、
前記第1の要素をレンダリングするのに、前記機械学習システムを使った場合の計算コストが前記代替的なレンダリング技術を使った場合の計算コストより低いかを評価し、
低い場合は前記機械学習システムを選択するステップを含むことを特徴とする請求項1から4のいずれかに記載の方法。
【請求項6】
前記評価するステップは、
前記第1の要素のレンダリングに関する機械学習システムの画像の精度を評価し、
前記精度が所定の閾値を満足する場合は前記機械学習システムを選択するステップを含むことを特徴とする請求項1から5のいずれかに記載の方法。
【請求項7】
前記評価するステップは、
比較のために、前記機械学習システムおよび前記代替的なレンダリング技術の両方を用いて、レンダリングされた画像内のピクセルのサブセットのテストレンダリングを実行するステップを含むことを特徴とする請求項5または6に記載の方法。
【請求項8】
前記評価するステップは、
前記第1の要素に関し、所与の基準を参照するステップを含み、
前記基準は、
i.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときのマテリアルタイプ、
ii.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときのID、
iii.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときの分布関数、
iv.前記機械学習システムの訓練性能、
v.前記機械学習システムを用いて得られたピクセルおよび前記代替的なレンダリング技術を用いて得られたピクセルのレンダリング結果の比較、
の1つ以上に基づくことを特徴とする請求項5または6に記載の方法。
【請求項9】
前記評価するステップは、
前記第1の要素に対応する仮想的なマテリアルが、前記代替的なレンダリング技術を使うものとして予め定められたタイプかを評価することを特徴とする請求項1から8のいずれかに記載の方法。
【請求項10】
前記仮想的なマテリアルは、マテリアルIDを持ち、
当該マテリアルIDにより、仮想的なマテリアルが、前記代替的なレンダリング技術を使うものとして予め定められたタイプかを示す値またはフラグが得られることを特徴とする請求項9に記載の方法。
【請求項11】
前記評価するステップは、
光と前記所与のサーフェスとの相互作用を特徴づける分布関数が、前記第1の要素が前記代替的なレンダリング技術を用いてレンダリングされるものとして予め定められていることを示す指標を与えるかどうかを評価することを特徴とする請求項1から10のいずれかに記載の方法。
【請求項12】
前記評価するステップは、
前記第1の要素に関する前記機械学習システムのエラー値または収束性能が、前記代替的なレンダリング技術を使うことを示す所与の基準を満足するかを評価することを特徴とする請求項1から11のいずれかに記載の方法。
【請求項13】
請求項1から12のいずれかに記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項14】
第1の要素を有しシーン内の位置において所与のサーフェスを備えた仮想的なシーンの画像内の視点でピクセルをレンダリングするように構成された画像処理ユニットと、
前記位置における前記所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価するように構成された評価プロセッサと、
を備え、
前記画像処理ユニットは、選択された機械学習システムまたは代替的な技術を用いて前記ピクセルをレンダリングするように構成されることを特徴とするエンターテインメントデバイス。
【請求項15】
前記視点に基づいて因子を予測するように予め訓練された機械学習システムに、前記位置および方向を与えるように構成された機械学習プロセッサを備え、
前記因子は、光と前記所与のサーフェスとの相互作用を特徴づける分布関数に組み合わされたとき、前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成し、
前記評価プロセッサが前記画像処理ユニットは前記機械学習システムを用いて前記ピクセルをレンダリングするべきだと評価したときは、
前記画像処理ユニットは、
前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムの出力と、光と前記所与のサーフェスとの相互作用を特徴づける分布関数と、を組み合わせ、
表示のために、前記ピクセル値をレンダリングされた画像に含めるように構成されることを特徴とする請求項14に記載のエンターテインメントデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像レンダリング方法および装置に関する。
【背景技術】
【0002】
レイトレーシング(光線追跡)は、レンダリングプロセスの1つであって、仮想的なシーン内の光跡がトレースされる。その後、シーン内で各光線とオブジェクトまたはサーフェスとの相互作用がシミュレートされる。リアリティを高めるために、通常このシミュレーションは、オブジェクトまたはサーフェスのマテリアル特性(例えば、色や反射率)を考慮する。
【0003】
その結果レイトレーシングのプロセスは、計算に関して高コストとなる。さらにこのコストは「どのシーンが、どのような光で、どのような視点からライティングされるか」等に応じて、画像フレームごとに異なる。
【0004】
従って、こうした画像をレンダリングするのに適したフレームレートを保つのは難しい。平均的な画像完了時間(すなわちフレームレート)に対応する平均的な計算コスト、およびレイトレースに起因する平均周辺の所定の不一致に関し、フレームレートがこの不一致から大きな影響を受けないように、平均画像品質を低く設定しなければならない。望ましいフレームレートに関して平均画像品質を最大値近くまで高く設定した場合、刻々変化するトレースの要求が平均を超えて揺らぐと、フレームレートの一貫性が損なわれる。
【0005】
これらの結果はいずれも望ましいものではない。しかしこれは簡単には回避できない。一方レイトレーシングプロセスの計算負荷は、データドリブンで予測不可能である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明はこうした課題に取り組み、これを軽減することを目的とする。
【課題を解決するための手段】
【0007】
本発明の様々な態様および特徴は、請求項および以下の明細書の記載により定義されるが、少なくとも以下を含む。
-第1の例は、請求項1に係る画像レンダリング方法。
-第2の例は、請求項14に係るエンターテインメントデバイス。
【図面の簡単な説明】
【0008】
以下の添付図面を参照し本明細書の詳細な説明を読むことにより、本開示の特徴および多くの利点をより完全に理解できるだろう。
図1】本開示の実施の形態に係るエンターテインメントデバイスの模式図である。
図2】本開示の実施の形態に従ってレイトレースされたオブジェクトである。
図3】本開示の実施の形態に従ってレイトレースされたオブジェクトに寄与する成分の模式図である。
図4】本開示の実施の形態に係る各成分に紐づく分布関数の模式図である。
図5】本開示の実施の形態に係る散乱の分布を示す模式図である。
図6】本開示の実施の形態に係る機械学習に関する訓練スキームの模式図である。
図7】本開示の実施の形態に係るレンダリングされた画像に関するレンダリング経路の模式図である。
図8A】本開示の実施の形態に係る機械学習システムの模式図である。
図8B】本開示の実施の形態に係る機械学習システムの一部の模式図である。
図9】本開示の実施の形態に係る画像レンダリング方法のフロー図である。
図10】本開示の実施の形態に係る画像レンダリング方法のフロー図である。
図11】本開示の実施の形態に係る訓練方法の模式図である。
【発明を実施するための形態】
【0009】
以下、画像レンダリング方法および装置を開示する。本発明の実施の形態の完全な理解のために、以下の説明では複数の特定の例の詳細を示す。しかし本発明を実現するためにこうした詳細が必須でないことは当業者に明らかだろう。逆に当業者に既知である先行技術についての詳細は、記載を明確にするため、必要に応じて省略する。
【0010】
本開示の実施の形態は、所定のオブジェクトまたはシーンに関し、ピクセルサーフェス特性とレンダリングされたピクセルとの関係を学習する機械学習システムを用いて上記の課題に取り組み、これらの課題を軽減することを目的とする。こうした機械学習システムを使うことにより、比較的安定した計算機コスト(機械学習を実行するための)のもと、レイトレースされたオブジェクトまたはシーンのレンダリングを近似することができる。
【0011】
後述するように、異なるシーン、位置もしくはそれらの一部、異なるオブジェクトまたはシーンで使われるマテリアルに応じて、異なる機械学習システムを訓練することができる。
【0012】
機械学習システムは比較的小規模である(典型的には、100kBから1MB)。従ってGPU(30)で実行するには、メモリに保存し、その後廃棄することができる(シーンのテクスチャと同様)。このシステムはGPUのシェーダーで実行することができる。原理的に機械学習システムは、代替的または追加的に、CPUまたは汎用もしくは専用コプロセッサ(例えばニューラルネットワークプロセッサまたはASIC)で実行することもできる。
【0013】
複数の図面で、類似する符号は、同一または対応するパーツを表す。図2から図7は、機械学習システムが訓練される問題空間を示す。
【0014】
図2に、あるオブジェクトまたはシーン(この場合は、台上の車)の高品質なレイトレーシングレンダー200を示す。
【0015】
図3に、このレンダーの背後にある異なる寄与成分を示す。第1に、拡散反射光ライティング成分200-Dは典型的に、サーフェスの艶消色、および光と物体との相互作用に起因する明暗をキャプチャする。第2に、鏡面反射ライティング成分200-Sは、サーフェスの反射率をキャプチャする。その結果きらめきやハイライトが得られる。選択的に、1つ以上の追加的な成分を含むこともできる。例えば、艶および「コーティング」200-Cである。これは第2の外面であり、追加的な光沢やパターンを含む。このようなコーティングの変形例として、スキンまたはファブリックといった、透明および/または一部拡散反射などの成分もあり得る。これらの各成分は、各々のレイトレーシングプロセスにより、通常の仕方で生成されてよい。
【0016】
これらの成分は付加的に足し合わされて、図2のような全体画像を形成する。典型的には、2個または3個の成分がレンダーに寄与する。しかしある条件下では、それより少ないことも(例えば、拡散反射ライティング成分のみが必要な場合)、それより多いことも(例えば、オブジェクトが半透明なので透過成分も必要な場合)ある。
【0017】
次の図4に、上記の画像の寄与成分のもととなるオブジェクトのマテリアル特性を示す。
【0018】
マテリアル特性は、いわゆる双方向散乱分布関数(BSDF)または双方向反射分布関数(BRDF)として表される。
【0019】
BRDFは、不透明なサーフェスで光がどのように反射するかを定義する。同様にBSDFは、光線が特定の方向に反射または拡散する確率を定義する。従ってBRDFまたはBSDFは、サーフェスのライティング特性(入射/出射の放射そのものを除く)を説明する関数である。必要であれば別の関数が使われてもよい。別の関数とは、例えば光が物体をどのように通過するかを定義する双方向透過分布関数(BTDF)などである。
【0020】
典型的なレイトレーシングアプリケーションに関して、図5を参照して説明する。一組の光線(例えば、コンパクトな光源からの)に関し、このアプリケーションは、特定のBSDF、BRDFおよび/またはBTDFを持つモデル上の一点への入射輝度(入射光自体または反射光の)を計算する。特定の寄与成分の応答に関し、入射輝度がBSDF、BRDFまたはBTDFと組み合わされ(例えば掛け合わされ)る。その結果は、当該モデルの点上のピクセル値に加えられる。図5に示されるように、BSDFの光路ωに関する典型的な拡散反射パターンは鏡面反射方向ωへのバイアスを持つが、任意の方向に拡散反射することができる。こうした振る舞いを正確にモデリングすることが、レイトレーシングの計算コストの高コスト化を招く原因の1つとなっている。
【0021】
各点におけるモデルの色情報、および当該点(すなわち、与えられた点によって表される特定のマテリアル)に対応するBSDF、BRDFおよび/またはBTDFを使うことにより、与えられた最終視点に関する光線の振る舞い(例えば、車体のサーフェス上のきらめきやハイライトの現実的な寄与を決定する、光の鏡面反射または拡散反射)を計算することができる。
【0022】
各寄与成分に対して、個別のBSDF、BRDFまたはBTDFを使ってもよい。例えば(非限定的に)、拡散反射光成分にBSDFを使い、鏡面反射成分とコーティング成分にBRDFを使う、といったことができる(これに対し、コーティング成分にBTDFを使うこともできる)。必要に応じて、BSDF、BRDFまたはBTDFのいずれかを使ってもよい。従って、以下特段の断りのない限り、BSDFといったときには、BRDFやBTDFも含むものとする。
【0023】
図4に示されるように、オブジェクトの色特性およびBSDF(200-BSDF-D)の拡散反射マテリアル特性を使ってレイトレーシングを実行すると、拡散反射光成分200-Dが得られる。同様にBSDF(200-BSDF-S)の鏡面反射または反射マテリアル特性を使うと、鏡面反射成分200-Sが得られる。同様にBSDF(200-BSDF-C)のマテリアル特性を使うと(この場合、通常は鏡面反射でもある)、コーティング成分200-Cが得られる。これらの成分を組み合わせることにより、最終的にレイトレースされた画像200が得られる。
【0024】
しかし前述のように、課題は以下の点にある。すなわち、異なるBSDFを持つ異なるサーフェスに入射した光の拡散反射経路または反射経路を計算するにも、特定の視点でシーンのピクセルごとにそれらの結果を足し合わせるにも、計算に要するコストが高く、さらにこれらのコストが大きく変動する可能性がある、という点である。
【0025】
従って本開示の実施の形態は、図4のレイトレーシングステップを、最終画像品質に適したものであって、その計算負荷がより予測可能であるものに置き換えることを目的とする。
【0026】
図6を参照する。本開示の実施の形態では、画像の各寄与成分(拡散反射、鏡面反射および選択的にはコーティングその他の任意の寄与成分)に関し、それぞれ機械学習システムが与えられる。
【0027】
機械学習システムは、典型的には後述のニューラルネットワークである。これは、シーン内の異なる視点から見た複数の画像に関し、BSDF(例えば200-BSDF-D)と、レイトレースされた画像寄与成分のグランドトゥルース(例えば200-D)と、の間の変換を学習するように訓練される。
【0028】
言い換えれば次のようになる。レイトレースされた画像(または寄与成分の1つ)が、オブジェクトに対するライティングの振る舞いと、BSDF(これは、オブジェクトが光に対してどのように反応するかを表す)と、の組み合わせだったとする。さらにこのとき、レイトレースされた画像を取り出し、これをBSDFから分離したとする。すると得られる結果は、「放射輝度」または「濃淡」と呼ばれる品質であり、より一般的には、光がオブジェクト上でどのように振る舞うかを示すものである(レイトレーシングプロセスにより全体的に計算されたものとして)。
【0029】
機械学習システムまたはニューラルネットワークは、この品質の予測を学習することができる。予測された品質は再びBSDFと組み合わされて、レイトレーシング画像を近似する予測画像を生成する。従ってこのネットワークは、ニューラル・プレコンピューテッド光モデルネットワーク(NPLMネットワーク)と呼ぶことができる。
【0030】
より具体的には、オブジェクトの仮想画像上で与えられた位置および視線に関し、機械学習システムまたはニューラルネットワークは、値を出力することを学習する必要がある。この値は、同じ位置/ピクセルに関し、BSDFと組み合わされたとき、当該ピクセルで画像のレイトレーシングを行ったときに得られるピクセル値に近いピクセル値である。結果として、訓練中に、ライティング条件の内部表現(例えば、ポイント光またはホリゾント)と、訓練画像から示唆されるサーフェスライティング特性と、が生成される。
【0031】
ある実施の形態では、画像は、ラスタライズされてもよいし、さもなければ与えられた視点で生成されてもよい。これは、画像がピクセルで埋め尽くされた後、ライティングされる。これらの概念的なピクセルの各々に関しては、対応する3D位置がシーン内に存在する。これに対してNPLMネットワークを使うことにより、適切な「放射輝度」または「濃淡」を得ることができる。
【0032】
図6に、こうしたネットワークの訓練環境を示す。図6に、(例示のみを目的として)拡散反射光寄与成分のためのネットワーク600-Dを示す。
【0033】
拡散反射光寄与成分に関するネットワークへの入力は、オブジェクトまたはシーン上の(x、y、z)位置610および当該点におけるオブジェクト/シーンの法線620である。ここでは視点方向に代えて法線Nが使われる。なぜなら拡散反射光寄与成分に関しては、照度は方向/視点は独立であり、一貫性の観点からすれば既知の値として法線が使えるからである。図6の例では、これらの入力は、車の画像に関する代表値を用いて概念的に示される。
【0034】
選択的に、さらなる入力が与えられてもよい(図示しない)。例えば、ラフネスまたはマットトゥグロス(matt-to-gloss)のスカラー値などである。これらは、選択的に、関連するBSDFから導かれてよい。
【0035】
NPLMネットワークの出力は(後述するように)、各入力位置に関する学習済みの光または照度の品質630である。これは、同じ場所に関して対応する拡散反射光BSDF(200-BSDF-D)と組み合わされると(640)、予測画像(650)の位置(x、y)に関し、予測されたピクセル値を生成する。
【0036】
図6は、各ピクセルに関し、目標レイトレーシング拡散反射光成分200-Dの、予測されたピクセルとグランドトゥルースピクセルとの差が、ネットワークの訓練の損失関数として使われることを示す。しかしこれは必須ではない。むしろ、各ピクセル(x、y)に関し、レイトレーシング用の光が画像内のオブジェクトに対していかなる累積的影響を与えたかについてのプロキシを生成するためには、グランドトゥルース画像をBSDFから分離することができる(逆関数を使って)。ネットワークは、この品質を学習するように訓練される。
【0037】
従って、対応するBSDFから分離されたときのネットワークの誤差関数は、その単一ピクセル(x、y)の出力値と、これに対応するグランドトゥルース画像の単一ピクセルとの差に基づく。
【0038】
各ピクセルに関し、グランドトゥルース画像のピクセルは、これに対応するBSDFから事前に切り離しておくことができる。従ってネットワークは、実際の予測画像ピクセルを生成するのに、その出力をBSDFと組み合わせることなく訓練することができる。これにより、訓練のための計算負荷を減らすことができる。
【0039】
前述のように、訓練されたニューラルから出力される学習済み品質は、環境の光がオブジェクトまたはシーン上でいかに振る舞うかを、シーン内のサーフェス位置の関数および視点の関数としてとらえる。従ってこれは、シーンおよびサーフェス反応モデルにおける光マップの内部表現を効果的に生成する。これについては、後で詳述する。
【0040】
図7を参照して、最終出力画像の各寄与成分について要約する。機械学習システムは、寄与成分に関し、オブジェクト/シーン上の各位置のBSDFに適用される変換が実行できるように訓練される。この変換は、オブジェクト/シーン上の(x、y、z)位置および方向値に基づいて訓練された関数である。前述のように、最終画像の寄与成分の数に応じて、任意の数(例えば、1個、2個、3個、4個あるいはそれより多く)の機械学習システムが採用されてよい。以下、「訓練された関数」という用語は、このような変換を学習した機械学習システムのことをいう。
【0041】
拡散反射光成分の項で説明したように、方向値は、所定の点における法線と考えてよい。なぜなら、拡散反射の濃淡は方向不変と考えることができるからである。
【0042】
一方鏡面反射は、一部の方向への反射であり、視点によって変わる。従って鏡面反射成分の場合、その方向値は、画像視点(これは、仮想空間内の位置を持つだろう)における現在のピクセルの(x、y)位置と、機械学習システムへの入力としてのオブジェクトの(x、y、z)位置と、間の視線角度である(または視線角度に基づく)。これにより、シーンサーフェス上の入力点と現在のピクセル(これに関して、学習された品質が出力される)との間の、視点に依存した関係が与えられる。
【0043】
この場合、コーティング成分もまた鏡面反射である。従ってコーティング成分も、入力に関し、同様の視点または視点ベースの方向を使う。
【0044】
方向依存な成分に関する方向値は、出力ピクセル位置とオブジェクトサーフェス位置との間の視線方向(またはこれに基づく値)であってもよい。例えばこれは、サーフェス反射視点方向(すなわち、入力位置における面の法線が与えられたとき、これに対する視点の反射方向)であってもよい。視点方向に関する情報を含む任意の方向値が考慮されてもよい。
【0045】
それぞれのケースで、訓練された関数は、前述のように、学習した品質をカプセル化する。適切なBSDFを各位置に関するネットワーク出力と組み合わせることにより、各成分に関して濃淡付けされた画像を形成することができる。代替的にまたは追加的に、各成分からの濃淡付けされた画像に関するピクセル値を組み合わせることで、最終出力を生成してもよい。
【0046】
画像のレンダリング中、必ずしもすべての画像がレイトレーシングの対象となるわけではない。同様に、必ずしもすべての画像が上記の技術を用いて生成されるわけでもない。例えばNPLMネットワークは、特定のオブジェクトまたはマテリアルに関し、それぞれのライティングでグランドトゥルースレイトレースされた画像に基づいて訓練されてもよい。
【0047】
その後、これらのオブジェクトまたはマテリアルを、上記の訓練された関数によって与えられるレイトレーシングを用いてリアルタイムにレンダリングする必要がある場合は、関連するNPLMネットワークがメモリにロードされる。この関連するNPLMネットワークは、適切なBSDFと組み合わされると、関連するピクセルへの寄与を生成するために、シーン内の関連するサーフェス位置および視線方向に関して実行される。その他のピクセルは、他の任意の技術(レイトレーシング自体を含む)を用いてレンダリングされてもよい。
【0048】
典型的には、適切な機械学習システムは、オブジェクトまたはマテリアルに関するテクスチャを選びロードするときに使われるものと同じアセット特定スキームも基づいて、選択され、GPUによって使われるメモリにロードされる。従って、例えばあるオブジェクトが、関連するテクスチャにアクセスするのに使われるID「1234」を持つ場合、このIDを関連する機械学習システムに紐づけることもできる。逆に、あるテクスチャが、オブジェクトに紐づいたID「5678」を持つ(例えば、このテクスチャが複数のオブジェクトに共通するマテリアルを代表する)場合、このIDを関連する機械学習システムに紐づけることもできる。このようにして、エンターテインメントデバイスは、機械学習システムをロードするのに、テクスチャをロードするのと同様のプロセスを使うことができる。実際のストレージおよびアクセス技術は、テクスチャと機械学習システムとでは異なるだろう。これは、テクスチャが損失の多い圧縮(これは、圧縮された機械学習システムのオペレーションに影響を与える)を用いてストアされた場合、特に当てはまる。従って機械学習システムは、圧縮を用いずに、または損失のない圧縮を用いて、あるいは圧縮された機械学習システムが十分動作できる程度に小さい損失を伴う圧縮を用いて、ストアされてもよい。これは、圧縮における損失の増加度について、エラーが絶対的なまたは相対的な(非圧縮機械学習システムに対して)品質閾値に達するまで、機械学習システムの出力エラー/コスト関数を比較することによって評価することができる。
【0049】
図8Aを参照する。本開示のいくつかの実施の形態では、機械学習システムまたはNPLMネットワークは任意の好適な機械学習システムであってよい。従って例えば単一のニューラルネットワークが、入力として位置および視点方向を用いて訓練され、出力として学習した特性に関するRGB値を生成してもよい。
【0050】
しかし特に好ましいネットワークは、個別のスプリットアーキテクチャを備える。
【0051】
図8Aに示されるように、非限定的な実施例では、ネットワークは2つの部分を備える。第1部分は位置ネットワークで、第2部分は方向ネットワークである。
【0052】
これらのネットワークの各々は、3個以上のレイヤを備えてもよく、任意の好適な活性化関数を使ってもよい。
【0053】
位置ネットワークは、入力として前述のオブジェクト/シーン内のある点に関する(x、y、z)位置を受信し、中間表現(後で説明する)を出力する。
【0054】
方向ネットワークは、この中間表現および方向入力(例えば、法線、またはピクセル視点、またはサーフェス反射視点方向、または視点ベースの方向値、等)を、例えば(θ、Φ)形式や正規化された(x、y、z)ベクトル形式などで受ける。方向ネットワークは、前述の、レンダリングされるべき仮想カメラ位置(オブジェクト/シーンで共有される空間内の)からの画像内の現在のピクセル位置(x、y)(従ってピクセル視点)に関し、学習された品質に相当するRGB値を出力する。
【0055】
従って非限定的な実施例では、位置ネットワークは3個のレイヤを備える。各レイヤは以下の通りである。第1レイヤは3個の入力ノード(例えば、x、y、z位置)を備える。中間レイヤは128個の隠れたレイヤを備える。最終レイヤは8個の出力を備える。
【0056】
ネットワークのための任意の好適な活性化関数が選ばれてよい。特に、位置ネットワークのレイヤ間の有効な活性化関数として、ReLU(Rectified Linear Unit)関数が評価されてきた。これは、訓練されていない位置によってよく一般化され、オーバーフィッティングを防ぐのに役立つ。
【0057】
同様に非限定的な実施例では、方向ネットワークは4個のレイヤを備える。各レイヤは以下の通りである。第1レイヤは、8個の位置ネットワークの出力と、128個のノードへの方向付与に関する2個または3個のさらなる値を備える。第2および第3レイヤは128個のノードへの入力を備える。最終レイヤ上の3個の最終出力は、現在のピクセルにおける学習された品質についての対応するR、G、B値である。その後、学習された関数(例えば拡散反射光、鏡面反射等)から最終ピクセル寄与を得るために、これを当該位置に関するBSDFと組み合わせてもよい(例えば掛け合わせてもよい)。しかし前述のように、これは訓練中に必須ではない。
【0058】
方向ネットワークに関し、任意の好適な活性化関数が選ばれてよい。特に、方向ネットワークのレイヤ間の有効な活性化関数として、サイン関数が評価されてきた。角度範囲内での光の振る舞いの変化は大きく、角周波数における多くの詳細を含む。しかしこれは低次元の出力(例えば、正規化されたx、y、zベクトル)に基づく。従って、サイン活性化関数が特に有効であることが知られている。
【0059】
従って、特にネットワークを二等分したものは、それぞれ異なる活性化関数を使ってもよい。
【0060】
しかしながらネットワークは、2つの独立したネットワークではなく、スプリットアーキテクチャネットワークとして扱われる。なぜなら、特に訓練スキームは、コスト関数を1つだけ持つからである。すなわちこれは、適切なBSDFから分離された後の方向ネットワークから出力されたRGB値と、レイトレースされた画像のグランドトゥルースの対応ピクセルから得られた目標値と、の間のエラーである。
【0061】
このエラーは、両方のネットワークを通って逆方向伝搬する。すなわち、個別の目標値や位置ネットワークに関するコスト関数は存在しない。従って、実際には位置ネットワークの出力レイヤは、組み合わされたネットワークの隠れたレイヤである。これは、方向値のさらなる入力とともに増加し、第1の活性化関数から可能な第2の異なる活性化関数へのレイヤ内での変化を表す。
【0062】
前述のように、ニューラルネットワークは、照明されたオブジェクト、マテリアルまたはシーンの光モデルを構築する。特に、上記の非限定的な実施例では、位置ネットワークは、(x、y、z)位置をライティングのタイプ(例えば、明るいまたは暗い、および/または、光がどのように各BSDFと相互作用するかに関する可能な他のカテゴリ(例えば相対反射性や拡散反射性))に有効に分類する。この部分からの中間表現出力は、入力位置における光のタイプを特徴づけるライティング空間内のN次元位置であると考えてよい。これは、同じやり方で照明された場合、当該シーンの異なる部分でのN次元位置への照射位置である。鏡面反射成分に関して訓練された位置ネットワークは、拡散反射成分に関するものより多くの出力を持ってもよい。例えば、後者の8個出力に対して13個の出力といった具合である。これは、ライティングのタイプに関し、鏡面反射成分がより多くの多様性を持つことを考慮した結果である。
【0063】
その後方向ネットワークは、当該位置における画像の学習された特性を生成するために、照明されたオブジェクト、マテリアルまたはシーンに関して、入力位置のサーフェスにおいて所定の入力角度で見たとき、光がどのように振る舞うかをモデル化する。
【0064】
従って位置および方向ネットワークは、サーフェス特性を表すBSDFと、レンダリングされた当該サーフェスの望ましい画像と、の間の因子または変化を予測するものとして訓練される。従って、当該サーフェスをレンダリングする目的で、レイトレーシングの代わりにこのネットワークを使うことができる。典型的には(しかし必須ではない)、ネットワークは、最終画像(またはその一部)に必要な成分を生成するのに使われる複数のネットワークとともに、画像の単一の寄与成分(例えば、鏡面反射成分の拡散反射)について訓練される。しかしこれは必須ではない(すなわち、原理的にはネットワークは、完全に組み合わされた画像、または2つ以上の寄与成分(例えば、すべての鏡面反射成分またはすべての拡散反射光成分)について訓練することができる)。
【0065】
[訓練]
別項でも説明するが、ネットワークは、複数の視点で取得された複数のオブジェクト、シーンまたはサーフェスのレイトレースされた画像を用いて訓練される。これによりネットワークは、特に、鏡面反射が場所とともにどのように変わるかを学習することができる。視点は、ランダムに分布させることができ、および/または、レンダリングされた環境を移動したときユーザに取得可能な視点範囲(これは、ビューボリューム(すなわち、視点が発生する空間の立体)として知られる)の中から選ぶことができる。従って視点は、訓練に含まれる必要がある。
【0066】
本開示のある実施の形態では、訓練データは以下のように生成することができる。
【0067】
いかなる機械学習システムであっても、当該システムを訓練するのに使われる訓練データがそのパフォーマンスの鍵となる。従って、よいパフォーマンスにつながる訓練データが生成できると非常に有用である。
【0068】
ここで説明するように、本明細書のNPLMシステムに関する訓練データは、高品質にレンダリングされたシーン/オブジェクト/マテリアル/サーフェス(以下、まとめて一般にシーンと呼ぶ)の画像のセットに基づく。典型的にはこれらは、1つ以上の関連する分布関数(例えば、前述のBSDF、BRDF等)から分離される。これにより、本明細書で扱う学習済みの品質は、直接訓練目標として与えることができる。これにより、訓練中の予測画像生成のための計算負荷を低減し、NPLM自体の出力から離れたところで誤差関数が発生するのを防ぐことができる。
【0069】
異なるNPLMが、視野に依存するおよび依存しない明暗効果(例えば、拡散反射、鏡面反射等)を扱ってもよい。従って通常は、オブジェクトが視野に依存する明暗(例えば、拡散反射や鏡面反射等)を持つ場合、シーン内のオブジェクトが単一の景色であるだけは不十分である。
【0070】
従って、訓練データ画像の数および位置は、シーンのジオメトリ(例えば、オブジェクトがビューボリューム内に見えるとき)だけでなく、潜在的にはシーン内のオブジェクトのマテリアル特性にも依存する可能性がある。
【0071】
従って本開示のある実施の形態では、NPLM訓練データ(これは、複数のカメラ視点で撮影されたシーンの画像の形をとる)は、少なくとも部分的にはシーン内のマテリアル(例えば光反応特性(これは拡散反射または鏡面反射だが、他の潜在的なマテリアル特性、例えば、サーフェスの複雑性、構造および/またはテクスチャから見て狭いまたは広い空間周波数の存在を含んでもよい)といったマテリアル特性)に基づいて生成することができる。
【0072】
特にこれらの画像は、通常はサードパーティの高品質レンダラーによって生成される。この場合、内部データへのアクセスはできない。従って入手できるのは最終的な完成画像のみである。従って、画像内のシェイディングを実施するときの特定のキャストレイやその方向に関する情報(または制御)は入手できない。
【0073】
従って訓練の目的からすれば、望ましくはビューボリューム内のすべての有効視野に関し、シーンの光景を効果的にキャプチャすることのできる画像のセットを生成および使用できることが望ましい。
【0074】
図11を参照する。上記の目的のために、低解像度のセットをレンダリングするために、最初にステップ1110で、ビューボリューム内のカメラ位置のセットが使われる。位置は、シーン周辺の球面上に(例えば操作可能なオブジェクトとして任意の角度から見える場合)、またはシーン周辺の半球上に(仮想グランド上にあって、下からは見えない場合)、またはシーン周辺のリング上に(地上の視点、例えばアバターの一人称視点から見える場合)、等距離またはランダムに分配されてよい。このようなリングは、固定された高さ(アバターの視点に相当する)にあってもよく、あるいは一定の高さ範囲(例えば、アバターがしゃがんだときとジャンプしたときの視点の高さを取り囲むビューシリンダー)を占めてもよい。
【0075】
ステップ1110は、図11の例では、車のオブジェクト周辺のカメラ位置の軌道(リング)として示される。
【0076】
この最初のセットにおけるカメラ位置の数は、1以下であってもよい。しかし通常は3以上であり、より典型的には10または100のオーダである。例えば軌道の1度あたりに1個のカメラがあれば、総数は360個となる。この例では200個のカメラが使われているが、これに限られない。
【0077】
1度あたりの解像度は低く、例えば128×84である。画像の一例がステップ1120に示される。
【0078】
ステップ1130で、各画像の各ピクセルに関し、ピクセルに対応するシーンサーフェスの3D位置を含むメタデータと、ピクセルに対応するシーンサーフェスの法線と、選択的にマテリアルID(または、テクスチャIDやオブジェクトIDのような同様のマテリアルサーフェスに関する識別子)と、が紐付けられる。
【0079】
視点選択プロセスの最初の例では、シーン内のどの位置が最初のカメラ位置のセットで見えるかを特定するために、これらの低解像度画像のいくつか(または典型的にはすべて)でピクセルを用いてレンダリングされたシーンサーフェスの3D位置が集められる。NPLMは、これらの位置で訓練されると有用である。
【0080】
従って選択的には、1つ以上の低解像度画像でレンダリングされたものとして特定された3D位置に関し、3D空間内の新たな位置がサーフェス法線に沿った位置からのオフセットとして計算される。このオフセットのサーフェスからの距離は、変更可能な変数である。この新たな位置は、高品質の(例えば高解像でレイトレースされた)レンダリングを生成するための仮想カメラに関する視点の候補である。
【0081】
しかしこれにより、訓練画像を生成するための高品質にレイトレースされた潜在的なレンダーがより多く生み出される可能性もある。これは計算負荷となる可能性があり、さらにNPLMのセットの訓練に使ったとき著しい冗長を含む可能性もある。
【0082】
従って第1の例では、シーン上のNPLMの訓練に関する方法または有利な何らかの方法で、これらの候補視点位置をフィルタするまたは捨てることが望ましい。
【0083】
特に、視野依存のマテリアル(例えば、鏡面反射または輝きのある)を含むシーンのパーツに関して、視野非依存のマテリアル(例えば、拡散反射または艶消の)より多くの訓練例を持つと有用である。
【0084】
従って、2つの技術のうちの1つが採用される。
【0085】
第1の技術では、ステップ1140で、サーフェス位置における法線に対応する各候補視点に関し、当該位置におけるサーフェスの対応するマテリアル特性がレビューされる。前述のように、特にその拡散反射または鏡面反射反応、あるいは半透明性等が使われてよい。
【0086】
実際にはこれは、マテリアルID(さもなければ、拡散反射または鏡面反射がリアルサーフェスに与える影響(例えば艶消や輝き)を示す値)に関するルックアップテーブルを使うことで実行されてもよい。より具体的(しかし非限定的)には、この特性は、0(完全に拡散反射)から1(鏡面反射)の範囲にある値で表現することもできる。これは、確率関数への入力として扱うことができる。その結果、鏡面反射または輝きのある(視野依存の)マテリアルは比較的高い確率を持ち、拡散反射または艶消の(視野非依存の)マテリアルは比較的低い確率を持つ。
【0087】
その後確率関数は、候補カメラ位置を保つのに使われる。従って、鏡面反射サーフェスに対するカメラ位置の方が拡散反射サーフェスより多くの割合を占めるように保たれる。
【0088】
逆に、値のコンベンションが逆転すると(例えば確率の高低が逆転すると)、確率関数は、同じ効果に対する候補カメラ位置を抽出するのに使うことができる。
【0089】
第2の技術では、代替的または追加的に、キャプチャされた3D位置の各々に関するピクセル値の偏差を決定するために、ステップ1140で、低解像度画像で見たときと同じシーンサーフェスの3D位置に対応するピクセル値の変化性を評価することができる。この場合、視野不変の(例えば、拡散反射または著しく陰った)サーフェス位置は小さな偏差(すなわち、異なる低解像度画像においても、似たような位置にあるピクセル)を持ち、逆に視野依存の(例えば、鏡面反射または輝きのある)サーフェス位置は大きな偏差を持つだろう(すなわちきらめきや光の反射といったように、異なる低解像度画像において、より広い領域に及ぶピクセル)。この偏差(または標準偏差)は、再び確率関数への入力として使うことができる。その結果、鏡面反射または輝きのある(すなわち、視野依存の)マテリアルは比較的高い確率を持ち、拡散反射または艶消の(すなわち、視野非依存の)マテリアルは比較的低い確率を持つ。
【0090】
従っていずれの場合も、ステップ1140で、ビューボリューム内でキャプチャされた各3D位置におけるマテリアルの光反応性に関し、その視野依存性を評価することができる(これは、マテリアルの特性またはピクセルの変化性のいずれか(あるいは潜在的にはそれらの両方)に基づく)。これを確率関数の入力として使うことができる。
【0091】
その後確率関数は、ステップ1150で、各候補視点を維持するか捨てる(淘汰する)かを決定するのに使われる。すなわち、視野依存のサーフェス上に中心付けられた視点は、視野非依存のサーフェス上に中心付けられた視点に比べて、多く維持される。
【0092】
この確率関数の出力範囲は、オリジナルな可能な候補数および最終的に望まれる数に基づいて、訓練に必要なほぼすべて数のカメラ視点を生成するように調整することができる。あるいは代替的に、確率関数は、カメラ視点数が所望の数値の閾値内にある限り繰り返される連続的な維持/淘汰のラウンドに適用することもできる。
【0093】
いずれの場合も、結果は、所望のビューボリューム内にランダムに(しかし、即座にカメラの前面に中心づけられるマテリアルのマテリアル特性(例えば、輝度等)に応じて可変な確率密度で)分布した管理可能なカメラ視点の数である。これはステップs1150の図で、残存点のコンステレーションにより示される。特にカメラ位置は、図示されているものより、オブジェクト/シーンサーフェスから遠く離れている可能性がある。しかし図では分布を明確に表すために、点をサーフェスに近づけて示している。
【0094】
管理可能なカメラ視点の数は、結果物のNPLMの望ましい性能、高品質レイトレースされた画像の生成またはNPLMの訓練に必要な計算負荷、等の因子に基づいて選ぶことができる。訓練を目的としたときの管理可能な数は(非限定的に)、10以上10、000以下であり、典型的には200以上2、000以下である。
【0095】
最後にステップ1160で、残存する視点で画像がレンダリングされる。図11に示すように、選択的にこれらのレンダーは、最初の低解像度画像やゲームプレイ中に使われるレンズより広角の仮想レンズを使って生成される。
【0096】
これは、過剰に多くのシーン(すなわち、ビューボリューム視点からは直接見えない部分)をレンダリングするという結果に陥りがちである。これは、NPLM出力をよりロバストにする傾向がある。これは、特にビューボリュームのエッジ近辺の視点に関して、あるいはビューボリュームの予期せぬ拡張があった場合に(例えば、ゲーム中のクリッピングや小規模のデザイン変更に起因して)、特に顕著である。
【0097】
上記の技術は、最初の低解像度画像内でキャプチャされたシーンサーフェスの法線に基づいて候補カメラ視点を生成したが、これが潜在的にも唯一の技術ではない。
【0098】
上記の技術に伴う潜在的な問題の1つは、シーン内の視野不変位置は当該位置の法線に沿った方向を向くカメラを用いて画像化されるが、これは近くの位置にある他の画像では異なるアングルからのみレンダリングされ、これらのアングルはこうした位置でのシーンサーフェスの法線を用いて向きづけされる、という点にある。その結果、シーンの視野依存部分(およびその近く)では比較的多くの画像がキャプチャされるが、潜在的に画像自体はシーン自体のジオメトリの影響を強く受ける。
【0099】
従って、最初の低解像度画像に戻ると、他の視点選択プロセスの例では、各低解像度画像の各ピクセル(または、少なくともシーン内のサーフェスを表すピクセル)に関して、潜在的な視点位置を考慮することができる。上記の200枚の128×84ピクセル画像の例では、これは160万の候補を生む。これらの画像は、典型的には、シーン自体のトポロジーとは独立に、異なるアングルからシーン上に与えられた位置の複数の例をキャプチャする。その結果、潜在的に訓練セットはよりロバストになる。
【0100】
再び、低解像度画像内で与えられたピクセルに対応する(従って候補視点に対応する)サーフェス位置の視野依存性から導かれたサーフェスマテリアル(および/またはピクセル偏差)は、視点の維持または淘汰に関する確率を駆動するのに使うことができる。このようにして160万個の候補視点は、再び管理可能な数にまで絞ることができる。
【0101】
この場合、シーン内の同じ位置に複数の視野が存在するため、結果物としてのカメラ視野の分布が、シーン内で最もよく見える位置に向けてバイアスされる可能性がある(単に最も視野依存性があるものとは対照的に)。例えば、シーン内のある位置(拡散反射の)が、他の位置(鏡面反射の)より20倍多くの画像の中に見えたとする。この場合も、拡散反射性の位置を見る視点の方が捨てられる可能性が高い。なぜなら、結局は拡散反射位置の画像の方が、輝きのある位置より多いからである。
【0102】
従って、視点を維持するまたは捨てる確率は、どれだけ多くの視点がシーン内の同じ位置に中心付けられているか(異なるアングルからであっても)に基づいて正規化される。この正規化は全体的であってもよい(従って、上記の例では、拡散反射位置の画像を維持する確率は20倍小さくなり、視野数の影響が除去される)。代替的に、正規化は部分的であってもよい。この場合、例えば拡散反射位置の画像を維持する確率は10倍だけ小さくなり、視野数の影響は大きく削減されるものの、完全に除去されるわけではない。これは、視野依存(例えば、鏡面反射/輝きのある)であることに起因してより多くの訓練例を取得したかどうかとは独立に、潜在的にユーザから多く見える領域もまた、より多くの訓練例を取得することを意味する。
【0103】
原理的に、訓練目的で高品質にレイトレースされたレンダーを生成する前に、組み合わされた視点のセットを生成するために、いずれの視点(サーフェス法線ベースの視点および低解像度画像ピクセルベースの視点)のセットも生成され、捨てられる可能性がある。実際いずれの場合も、少なくとも1つの視認可能なサーフェス位置の法線と事実上一致するものは、低解像度画像ピクセルベースの視点のサブセットである可能性が高い。
【0104】
-異なる訓練技術
上記の第2の技術は、選択的に、入手可能な視点を捨てるときに、シーン内の同じ位置に関する複数の視野を補償する問題を考慮する。これは、訓練バイアスの制御を実現することに加えて、シーン内のある位置についての繰り返しを減らすことによって、この第2の技術のための訓練時間を短縮することができる。
【0105】
しかしながら代替的または追加的に、訓練時間は、以下の方法によりさらに短縮することができる。
【0106】
先ず、前述のように、ビューボリューム内の(またはサーフェス上の)視点の最初のセットを選択する。
【0107】
次に、選択的に、ビューボリューム内の位置のセットに関し、最初の低解像度画像のセットを生成する。
【0108】
次に、選択的に、低解像度画像で発見されたシーン内の位置の法線に基づいて、および/または、低解像度画像のピクセルとシーン内に表現された位置との間のラインに基づいて、候補視点を生成する。
【0109】
再び選択的に、シーン内の各位置の鏡面反射/拡散反射の度合いに基づく確率で、これらの視点を捨てることができる。さらに選択的に、複数の画像が各位置に中心付けられているところでは、この確率を変更することができる。
【0110】
従って採用される技術に応じて、得られる結果は、一連の生成された視点となる。これはすなわち、低解像度画像を生成するために選択的に使われるオリジナルな分布か、上記の生成-淘汰の技術により生じる分布である。
【0111】
いずれの場合も、本開示のある実施の形態では、一旦視点が生成されると(選択的には、捨てられないことが確かめられると)、この視点は、選択的には広い角度の形で、高品質画像を生成するためのレイトレーシングプロセスのために与えられる(またはその列に入れられる)。
【0112】
生成された画像上での訓練は、各画像が完成すると開始される。従って、訓練画像の生成(レイトレースされた画像であるため、これには一定の時間を要する)と、これらの画像上での訓練(これにも一定の時間を要する)との、パラレルプロセスが存在する。これにより、完全な画像を準備するための、訓練開始前の待機の問題が防げる。
【0113】
選択的に、視点が生成された時点で(または、生成された視点を捨てるかどうかが決められた時点で)、これらの候補からの視点の選択はランダムであってもよい。その結果、レイトレースされる画像の実際の生成シーケンスもまた、使われる視点の最終セットの中でランダムとなる。
【0114】
これにより、シーン内におけるあるセクションで、NPLMが最初に過学習されるリスクが減る。これは、例えば、時間的制約により訓練を省略する場合にも、NPLMがシーンの視野の様々なセットに示されることを意味する。
【0115】
別の異なる訓練技術では、レイトレーシングアプリケーションの制御を使うことができる場合、選択的に、所定のレンダリングが必要な視点からの画像に関するピクセルのうち、1つのサブセットのみをレンダリングすることもできる。オリジナルな視点のセットに基づくものであれ、捨てられなかった視点に基づくものであれ、訓練セットの中の他の画像内に、所定の回数レンダリングされた画像の中のシーンの一部が存在してもよい。例えば、シーン内の位置がすでに閾値回数より多くレンダリングされていた場合、これは現在のレンダリングからスキップすることができる。なぜなら、すでに十分な数の訓練例が存在するからである。画像のレンダリングされない部分は、マスク値として機能する予約されたピクセル値でタグ付けられてもよい。従って訓練は、入力位置、方向情報およびマスクされないピクセル位置に関するターゲット値のみを用いて実行することができる。これにより、画像をレイトレースするときおよびNPLMを訓練するときに、訓練セットの中の冗長性および関連する計算機負荷を著しく削減することができる。
【0116】
選択的に例外を適用してもよい。例えば、画像の中心近くのピクセルはすでにレンダリングされている。なぜなら、中心のピクセルは通常、選択された(または捨てられなかった)シーン内の位置に関連するからである。これは、そのサーフェス特性の関数である。これは通常、画像の中心でない部分のピクセルである。これは、シーン内の意図しない(または望まない)反復点をキャプチャしがちである。
【0117】
-可変なライティング状態を用いた訓練
前述の可変なライティング技術は、典型的には、所定のライティング条件に関し、レイトレースされた複数の異なるシーン、オブジェクトまたはマテリアル(以下特段の断りのない限り、まとめて一般に「シーン」と呼ぶ)の画像を用いて実行される。通常照明源は、シーン内に固定されていると仮定する(例えば、ウィンドウの位置に起因して、および/または、いわゆる「ホリゾント」と呼ばれる静的な照明マップを与えるものに起因して)。
【0118】
しかしながら、いくつかの環境では、シーンのライティングは大きく変化してもよい。例えば、いくつかのゲームは昼/夜のサイクルおよび/または天候をモデル化する。従って、太陽(または月)の位置は、ゲーム内の仮想的な昼(または夜)の中で変化してもよい。同様に、天候に応じて主要な光源は、太陽のような点光源に近いものであってもよいし、バックライトの雲のように分散光源であってもよい。
【0119】
1つの照明条件に従ってシーンの照明をモデル化するように訓練されたNPLMは、他の条件を十分よく模擬できるまでは一般化されなくてもよい。
【0120】
従って、本開示の実施の形態では、NPLMは、複数の照明条件を用いてすでにレイトレースされたグランドトゥルース画像に基づいて、シーンの照明をモデル化するように訓練される(前述のいずれかの技術を用いて)。
【0121】
典型的には、これらのライティング条件は、所定の範囲内での1つ以上のライティングパラメータの調整を含む。
【0122】
ライティングパラメータは以下を含んでもよい。
-位置。例えば、所定の範囲での太陽の進行。これは、様々なレイトレースされたレンダー内の太陽を含むホリゾントを回転することによって実現されてもよい。別の例は、ノンプレイヤーキャラクターその他の可動光源の運動経路を含む。
-方向。方向の変化の範囲に関してモデル化され得る方向性光源。例えば、灯台またはMPC/可動光運動経路。代替的または追加的に、光の広がりのビーム幅またはビーム角度が特定されてもよい(例えば、通常トーチまたはスポットライトは、デスクライトより狭いビーム角度を持つ)。
-代替的に、これらの(または他の)予測可能な光源(例えば、トーチなどのプレーヤーベースの可動光源)は、どこにトーチ光が落ちるかに応じて、シーンの異なる部分に関して、完全トーチ照明されたおよび非トーチ照明されたNPLMを用いて実現される。
-色または色温度。例えば、日没中の太陽が徐々に赤くなる場合。
-輝度。
-拡散反射。例えば、レンダリングされたホリゾントの、点光源(太陽、月またはビルの光など)の前の雲または霧の連続量への置き換え。
【0123】
単一のNPLMが、こうした1つ以上のパラメータの変化に関して、一度に訓練されてもよい。例えばNPLMは、日の出(これは、所定の範囲の位置および関連する色変化を含む)に関して訓練されてもよい。別のNPLMは、日中(またはその一部)太陽の進行(これは、所定の位置の範囲内にあり、色温度の変化はない)に関して訓練されてもよい。さらなるNPLMは、日没(これは、再び所定の範囲の位置および関連する色変化を含む)に関して訓練されてもよい。
【0124】
より複雑な訓練環境が、ネットワークを形成するためにNPLMのアーキテクチャの変化(例えば、NPLMのメモリ領域が閾値サイズに達したとき、最大となるように)を要求してもよい。
【0125】
NPLMはまた、訓練中、パラメータ変化または関連する訓練データの変化を表す1つ以上の追加的な入力を要求してもよい。
【0126】
例えば、ライティング位置および/または日中のある時刻といったプロキシ値(例えば、色温度とも相関していれば)などは、明示的な入力であってもよい。典型的にはこれは、シーン要素の相対的な位置を光に関連して特徴づけるのに役立つ位置ネットワークへの入力であってもよい。あるいはこれは、光源と視点との関係を特徴づけるのに役立つ方向ネットワークへの入力であってもよい。あるいは実際には、位置ネットワークおよび方向ネットワークの両方への入力であってもよい。ライティング位置は、点光源の位置、拡散反射光源の中心、ホリゾントの中心またはオフセット位置に関係してもよい。入力は、直線状、極線状その他の好適な形式であってよい(例えば、極線はホリゾントに関してより好適である)。従って位置変更は通常、NPC(例えば、交通)の経路、ゲーム中のオブジェクトの動き(例えば、運動するテーブルライト)、環境の変化(例えば、太陽や月)に沿ったものであってよい。
【0127】
同様に、方向(および/または、選択的に、拡散反射のビーム角)は、NPLMの半分のうちの片方または両方への入力であってよい。典型的な方向変化は例えば、スポットライト、セントリー、あるいはそれらの潜在的な動き、交通との組み合わせを含む。拡散反射の角度の値がこれらと関連してもよい。一方、拡散反射の角度の変化は例えば、光源の前のドアの開きを含む。
【0128】
色または色温度は、例えばスカラー値(例えば、温度)あるいはRGBその他の色表現としての入力であってよい。典型的には色表現は、予測画像と同じ色空間に関するものである(すなわち、NPLMの出力を特定のBSDF、BRDF、BTDF等と組み合わせることによって生成された画像ピクセル)。色または色温度は、(再び、位置ネットワーク出力レイヤの中間表現に埋め込まれたシーン位置の分類に役立つ)位置ネットワークへの入力であってもよく、および/または、方向ネットワークへの入力であってもよい。これは、より簡単には、NPLMの色に関連した出力に影響してもよい。典型的な色の変化は例えば、日の出または日没に関するものでもよいし、よりドラマティックなもの(例えば、アラームの起動および関連する所定の赤照明への変換)に関するものでもよい。
【0129】
輝度は、色温度と同様の仕方で、スカラー値として、NPLMの半分のうちの片方または両方への入力であってよい。再び、典型的な輝度の変化は例えば、日の出または日没に関するものでもよい。
【0130】
光源の拡散反射(例えば、方向)は、サーフェスポイントの分類に役立つ位置ネットワークへの入力であってもよく、および/または、光源と視点との関係に役立つ方向ネットワークへの入力であってもよい。拡散反射光源は例えば、雲や霧、あるいは拡散反射天井光を備えた都市/オフィスの環境を含んでよい。
【0131】
これらのパラメータのいくつかまたは全部は、時間と相関してもよい。この場合、代替的または追加的に、時間ベースのパラメータが使われる。これは、上記では位置に関して議論したが、色、輝度または任意の他のパラメータに適用されてもよい。例えば、シーンが太陽に照らされている場合、位置、色および輝度は、すべて時間と相関してもよい。
【0132】
1つ以上のこうした入力を、位置に関する現在の第1レイヤの1つおよび/または方向ネットワークに追加することにより、各ネットワークにおける第1レイヤの入力とノードとの間の重みが1つだけ許される。
【0133】
図8Bを参照する。これらの追加的な入力に対して、より複雑な学習済み反応を可能とするために、現在の第1レイヤと、2つ以上のNPLMの各半分への入力と、の間に、さらなるレイヤが選択的に与えられてもよい。従って例えば、平行入力として光の位置および現在のサーフェスポイント位置を単に与えるのではなく、さらなるレイヤが与えられてもよい。この場合、これらの値のいかなる重要な組み合わせも、予備ステップとして学習することができる。
【0134】
従って例えば、オリジナルのサーフェスポイント位置の位置ネットワークへの入力に加えて、上記の入力のすべてが含まれるなら、部分レイヤへの方向および拡散反射入力、平行部分レイヤへの輝度および色入力ならびに平行部分レイヤへの光位置およびサーフェスポイント位置と完全に接続された(または部分的に接続された)追加レイヤを与えることができる。その後これらの平行レイヤは、ネットワークの第1完全レイヤ完全に接続される。同様のスキームを方向ネットワークにも使うことができる。
【0135】
図8Bに、オリジナルのシーン位置およびライティング位置に関する部分レイヤと、光の色および輝度に関する平行部分レイヤと、を示す。これらは、非限定的な例として、位置ネットワークに含まれる。
【0136】
可変なライティング条件に関する訓練セットは、複数のライティングの変化(例えば、連続する光の位置)に関する訓練セットを生成するのに、前述のいずれかの技術を単に繰り返せばよい。
【0137】
代替的に、前述のような完全なレンダーに関する、位置の単一のセットを得ることができる。その後、所定の範囲内のランダムなパラメータ値か、当該範囲に広がる一連のパラメータ値を選択することにより(これらのパラメータの1つ以上は変化する)、各位置に関し、N個のバージョンのセットが生成される。選択的に、候補位置を捨てるのに確率的な技術が使用される場合は、維持する確率は(選択された点の数を増し、より厳しく要求される訓練状況に対する訓練セットを充実するために)より高くなるか、(同じ視野に関するレンダリングの変化に起因する計算負荷を軽減するために)より低くなる(最大でN倍低くなる)。特定の照明されたシーンに関し、この確率が増えるか、減るか、あるいは同じであるかは、(一方で)計算負荷および時間と、(他方で)最終的なNPLM出力の品質と間のトレードオフを反映する。
【0138】
再び代替的に、維持する確率は最大でN倍高くなってもよく、結果物としての各視点に関し、パラメータ値のバージョンが1つだけ(ランダムであれ、連続的であれ)選ばれてもよい。この場合、1つの視点で複数のパラメータ値を持つのではなく、複数の視点でそれぞれのパラメータ値が存在する。
【0139】
これらの技術はオーバーラップする。例えば、複数のライティングの変化に関して訓練セットを生成すること(これは、各訓練セットに関する視点のそれぞれの異なるコンステレーションになり得る)は、集合的に、同じ位置における異なるパラメータ値のセット、および、唯一の点における単一のパラメータ値となり得る。
【0140】
典型的に、視点の分布がどのように生成されるかは変える必要はない。これは、見る人の位置に関するものであって、光に関するものではないからである。しかし、方向性の強い光に関しては、選択的に、視点を残す確率を、光の方向軸に関して、反射角からの視点の角距離の関数としてバイアスすると有用であろう(すなわち、見る人が光への反射のラインに近づくと、維持するものを増やす)。
【0141】
前述のように、NPLMは、任意の好適な機械学習システム用いて実現されてもよい。従って、本明細書のスプリットネットワークアーキテクチャが好ましいが、原理的には、単一のニューラルネットワーク(あるいは3以上のネットワーク、または他の機械学習システム、潜在的には異なるタイプのもの)を備えたNPLMが使われてもよい。このとき、本明細書で説明した入力は、それらのうちで1つ以上の好適なものが与えられる。
【0142】
異なる技術
各NPLMは、シーンサーフェス位置および視点/鏡面方向入力(これらは、他の追加的な入力とともに、本明細書で説明されている)に反応して、単一のピクセルに関し、学習された品質を生成する。
【0143】
さらに典型的には、最終出力が必要なときは、複数のNPLMs(例えば、拡散反射、鏡面反射、半透明その他のシーンの成分)からの寄与が組み合わされる。
【0144】
その結果、原理的に、複数のNPLMsからの寄与のそれぞれは、各ライティング条件に関して訓練されたNPLMからの寄与と組み合わされてもよい。従って例えば、あるNPLMは午後1時に設定された太陽またはホリゾントであってもよく、別のNPLMは午後2時の太陽/ホリゾントに関して訓練されたものであってもよい。その後、それぞれの出力に関する寄与が組み合わされてもよい。例えば、午後1時には午後1時のネットワークが100%、1:15には午後1時のネットワークが75%で午後2時のネットワークが25%、1:30には50/50、1:45には25/75、2:00には午後2時のネットワークが100%、といった具合である。
【0145】
位置の変化に関しては、選択的に、鏡面反射寄与に関するNPLMsが、拡散反射寄与に関するNPLMsより細かいインターバルで訓練されてもよい。なぜなら、ライティング変化の影響は、鏡面反射寄与でより顕著だからである。例えば鏡面反射NPLMは、1時間のインターバルまたはパラメータ範囲に沿った各10%のポイントで生成されてもよい。一方拡散反射NPLMは、2時間または3時間ごとにまたはパラメータ範囲に沿った各25%のポイントで生成される。
【0146】
従って、パラメータ範囲上の異なるポイントで訓練された異なるNPLMからの寄与は、当該パラメータ範囲上の望ましいポイントを近似するために、混ぜ合わされてもよい。各NPLMによるこれらのパラメータ範囲のサンプリングは、選択的に、鏡面反射寄与より視野依存性の低い寄与(例えば、拡散反射寄与)では、よりまばらであってもよい。
【0147】
上記の時間の例は1次元のパラメータであり、従って所望のパラメータ値をまとめたパラメータ値で訓練された2つのNPLMを混ぜ合わせることのみを要求する。一方、この技術は、3つ以上のNPLMs(例えば、三角形またはパラメータ空間上の他のポリゴン)を用いた2次元のパラメータ(その重み付けられた寄与は、所望のパラメータ値上の三角分割に対応する)に拡張されてもよく、実際には4つ以上のNPLMs(例えば、四面体またはパラメータ空間上の他のボリューム)を用いた3次元のパラメータ(その重み付けられた寄与は、再び所望のパラメータ値上の三角分割に対応する)に拡張されてもよい。
【0148】
ネットワーク構成
前述のように、位置ネットワーク(すなわち、本明細書で開示するスプリットアーキテクチャの第1部分)は、鏡面反射タイプの画像成分に関して訓練されるか、あるいは拡散反射タイプの画像成分に関して訓練されるかに応じて、異なる数の出力を持ってもよい。これは、より一般的な技術の具体的な例である。
【0149】
一般に、NPLMの性能は、実行が要求されるモデリングタスクの複雑さに応じて変わってもよい。例えばこの性能は、概念的なデフォルト設定から引き上げてもよいし、引き下げてもよい。通常この性能を変更するために、ネットワークアーキテクチャが変更されてもよい。
【0150】
第1の態様では、性能は、NPLMのサイズ(例えば、レイヤの数、レイヤのサイズおよび/またはNPLMの配置の間でのレイヤの配置、等)に応じて変更されてもよい。このとき、NPLMの性能を変更するために、NPLMのアーキテクチャが変更される。
【0151】
従って選択的には、NPLMがモデル化する寄与成分のタイプ(拡散反射、鏡面反射、半透明/透過、等)に応じて、NPLMのサイズを変えることができる。
【0152】
特に好ましくは、位置ネットワークのサイズは、鏡面反射または半透明/透過な成分に関しては、拡散反射成分に比べてより大きなものとされ、他のすべては同じとされてよい。なぜなら、鏡面反射成分内のライティングの固有の反応は、より多様だからである。同様に好ましくは、位置ネットワークのサイズは、鏡面反射または半透明/透過な成分に関しては、拡散反射成分に比べてより大きなものとされ、他のすべては同じとされてよい。なぜなら、部分的な反射、透過および内部反射の組み合わせが含まれるからである。
【0153】
同様に、位置ネットワークのサイズは、1つ以上のライティング条件への変更が訓練される場合には(非限定的な例として、ライティングの位置、方向および/または角度幅の変更など)、より大きなものとされてよい。なぜなら、所与のシーンサーフェス位置に関して、ライティング条件の数または複雑さが増すと、これらはモデル化される必要があるからである。
【0154】
サイズは、隠れたレイヤの数またはこれらのレイヤ内のノードの数を変更することにより、変わってもよい。同様に、サイズは、出力レイヤの数(例えば、位置ネットワークの出力レイヤの数。これは、NPLMネットワーク全体の位置ネットワークと方向ネットワークとの間の隠れたレイヤまたはインタフェース/中間レイヤでもある)に応じて変わってもよい。通常レイヤの数が増すと、空間的歪みが増す。ネットワークは、異なるタイプの情報を分類またはフィルタするために、これを入力データに適用することができる。一方、通常、レイヤ内のノードの数が増すと、訓練セット内の特定の条件の数が増す。ネットワークは、これをモデル化することができる。その結果、忠実度が改善される。一方、出力ノードの数が増すと(ここでは、位置ネットワークの出力のように、選択されて特定のフォーマットにマッピングされることはない)、データセットの内部表現においてより厳格でない次元削減を行うことにより、出力ネットワークを用いて(さらに、その後の出力ノード値におけるネットワークオペレーションを用いて)、識別度を改善することができる。
【0155】
選択的または追加的に、方向ネットワークのサイズは、NPLMがモデル化する寄与成分のタイプ(例えば、拡散反射、鏡面反射または半透明/透過、等)に応じて変わってもよい。
【0156】
前述のように、方向ネットワークの入力レイヤは、NPLMスプリットアーキテクチャネットワーク全体の位置ネットワークのより高次元出力を収容するために、そのサイズが変わってもよい。
【0157】
同様に、レイヤの数および/またはレイヤのサイズは、位置ネットワークで述べたものと同じ影響(すなわち、識別性のとモデル忠実性の向上)を与えるために、変わってもよい。
【0158】
位置ネットワークと同様に、好ましくは方向ネットワークのサイズは、鏡面反射または半透明/透過な成分に関しては、拡散反射成分に比べてより大きなものとされ、他のすべては同じとされてよい。なぜなら、鏡面反射成分内におけるライティングの固有の反応は、より多様だからである。同様に好ましくは、方向ネットワークのサイズは、鏡面反射または半透明/透過な成分に関しては、拡散反射成分に比べてより大きなものとされ、他のすべては同じとされてよい。なぜなら、部分的な反射、透過および内部反射の組み合わせが含まれるからである。従って位置ネットワークと同様にそのアーキテクチャは、その性能を変えるために変わってもよい。
【0159】
再び同様に、方向ネットワークのサイズは、1つ以上のライティング条件への変更が訓練される場合には(非限定的な例として、ライティングの位置、方向および/または角度幅の変更など)、より大きなものとされてよい。なぜなら、所与のシーンサーフェス位置に関して、ライティング条件の数または複雑さが増すと、これらはモデル化される必要があるからである。
【0160】
従ってNPLM(例えば、位置ネットワーク、方向ネットワークまたはその両方)は、識別性能を改善するために(例えば、より多くの隠れたレイヤや出力次元に起因して)、および/または、モデルの忠実性を改善するために(例えば、隠れたレイヤ内部のより多くのノードに起因して)、性能を変化させてもよい(例えば、レイヤ、内部ノードの数の増加、あるいは入力または出力の次元の増加といった、アーキテクチャへの変化)。例えば、通常、拡散反射寄与成分は、鏡面反射寄与成分に比べて要求が少ない。
【0161】
必要に応じて(例えば、拡散反射成分の場合)、NPLMは、NPLMに関する概念的な標準またはデフォルト設定から性能を引き上げるのではなく、逆に性能を引き下げてもよい(例えば、前述の性能を上げるステップと逆の処理により)。この利点は、典型的には、収容メモリ容量および計算コストの削減である。
【0162】
異なる寄与チャネルによりモデル化されたマテリアルの反射特性のタイプに加え、代替的または追加的に、NPLMの性能は、ライティングモデル/レンダープロセスの複雑さに関する他の因子に応じて、引き上げられても引き下げられてもよい。
【0163】
例えば、拡散反射光源(ホリゾントなど)は、点光源より複雑さが少なくてもよい。なぜなら、オブジェクト/シーンに当たるライティングは、空間/角度があまり変化しないからである。逆に自身の空間的変化の大きいホリゾント(例えば、日没)は、より複雑だろう。光源の複雑さは、その空間および色の変化性に基づいて(例えば、オブジェクト/シーンの存在しない光空間の2Dフーリエ変換の積分(典型的には、DC成分を無視したもの)に基づいて)。この場合、一様なホリゾントはゼロに近い積分値を持つだろう。一方、複雑なホリゾント(都市空間や日没)はより大きな積分値を持つだろう。NPLMの性能(例えば、サイズ)は、このような光源の複雑さの分析に基づいて設定されてよい(例えば、性能の経験的分析に基づいて)。
【0164】
同様に、動く、ダイナミックなまたは認識可能な光は、NPLMの複雑さの増加を要求してもよい。なぜならこれらは、ライティング条件の変化を生み出すからである。この場合、NPLMへの入力は、ライティング状態入力または出力ピクセルに関して、レンダリングされるオブジェクト/シーンの特定の部分に関する(x、y、z)オブジェクト位置および入力を含んでもよい。従って、太陽が空を横切るシーンのモデルに関し、昼の時間に関する入力(これは、太陽の位置に相関するだろう)が含まれてもよい。現在の光源の状態を識別する他の入力は、1つ以上の光に関する(x、y、z)位置、半径(r)または同様の光のサイズに関する入力および/または光の(主要な)色に関するRGB入力、等を含んでもよい。(レイトレースされたグランドトゥルースに基づく)訓練データは、これらの変化条件の例を含んでもよい。より一般的には、NPLMが環境のダイナミックな局面をモデル化するように訓練されたものである場合、訓練データは代表的な数の好適な例を含むだろう。
【0165】
太陽の場合、一日中の横断(例えば、夜明け、朝、昼間、夕方、日没)は、連続する複数のNPLMsを用いてモデル化される必要があるだろう。これは例えば、NPLMの収容メモリおよび計算コストが好ましい最大値を越えるのを防ぐためである。
【0166】
同様に、シーン内の動く、ダイナミックまたは認識可能なオブジェクトは、NPLMを用いてレンダリングされることが必要なら、NPLMの複雑さが増すことを要求する(選択的に、NPLMは、静的シーン成分のみの、および/または、位置依存性のシーンの一部のレンダリングの寄与に使われてもよい)。従って再び、この場合は、入力は例えばオブジェクトの位置および/または方向のデータを含んでもよい。
【0167】
代替的または追加的に、他の因子がNPLMのモデリングを簡略化し、その結果としてNPLMの性能を引き下げてもよい(あるいは、他の条件を代えないで、モデルの忠実性を改善してもよい)。例えば、レンダリングされたシーンが固定された経路(例えば、クラッシュバリア内のレーストラック)を含む場合、ユーザからアクセスできない視点からの訓練は全体として削減または回避できる。同様に、レンダリングされたシーンが限定されたまたは好ましい視線方向(例えば再び、ほとんどの視界が運転方向にあるときのレーストラック)を含む場合、異なる視点に関する訓練は、最終ユーザケースと釣り合ったこれらの視点の重要性を反映することができる。
【0168】
同様に、背景であるとか、ゲームの焦点から離れているといった理由で、ユーザにとってあまり重要でない視野となるシーンの部分の場合、NPLMの性能は比較的引き下げられてもよい。例えば、オブジェクトまたはテクスチャへの異なるドローディスタンスに関して、異なるNPLMが訓練されてもよい。このとき性能(例えば、サイズ)は、ドローディスタンス/レベルオブディテール(LOD)が異なるところで引き下げられてもよい。
【0169】
代替的または追加的に、NPLMは、特定のシーン、オブジェクトまたはテクスチャに関し訓練することができる。従ってNPLMの性能は、NPLMによって輝度が表されるものの複雑さによって変わる。大きなまたは複雑なシーンは、より大きなNPLM(および/または、シーンおよび結果としてのNPLMのサイズに応じて各パーツを処理する複数のNPLM)を要求してもよい。同様に、複雑なオブジェクト(例えば、車)は、単純なオブジェクト(例えば、球)に比べて、性能の高いNPLMからの恩恵をより強く受ける。シーンまたはオブジェクトの複雑さを評価する方法の1つは、ポリゴンの数を数えることである。このとき、より多くのポリゴンは、より複雑なシーンを示唆する。改良として、ポリゴン間の面角度の変化の程度が、複雑さを示唆するのに使われてもよい。例えば、図の中で車のモデルと同じ数のポリゴンを持つ球は、車自体に比べて、角度の変化性が非常に低い。これは、車の方が構造的により複雑であることを示す。ポリゴンの数と角度の変化/歪とを組み合わせることにより、シーン/オブジェクト(NPLMはこれらの輝度をモデル化する)の複雑さに関するよいプロキシを与えることができる。
【0170】
同様に、複雑なマテリアル(皮膚や毛皮など)は、単純なマテリアル(金属など)に比べて、性能の高いNPLM(および/または、複数のNPLMによる寄与)からの恩恵をより強く受ける。再び、複雑なテクスチャ(例えば、広い空間スペクトル)は、より狭いまたは密集した空間スペクトルに比べて、性能の高いNPLMからの恩恵をより強く受ける。
【0171】
性能は、サイズ(入力/出力の数、レイヤの数、ノードの数、等)を用いて表現してきた。しかし代替的または追加的に、性能は、NPLMの異なるレイヤ上のノード間の活性化関数の選択によっても変わる。前述のように、位置ネットワークの好ましい活性化関数は、ReLU関数である。一方、方向ネットワークの好ましい活性化関数は、サイン関数である。しかし、別のシナリオをモデル化するために、別の関数が選ばれてもよい。
【0172】
例えばNPLMの収容メモリが閾値サイズに達したとき、NPLMの性能が上限となるように設定されてもよい。この閾値サイズは、メモリの動作単位サイズに等しくてもよい。これは例えば、メモリページまたはメモリページの一部もしくは複数のグループである。典型的には、あるシーン/オブジェクト/マテリアルに関するテクスチャへのアクセスおよびロードを目的として選択される。閾値サイズは、テクスチャのサイズまたはグラフィカルイメージデータをGPUにロードするためにGPUおよび/またはゲームによって使われるMipmapのサイズに等しくてもよい。
【0173】
NPLMの複雑さがこの閾値を超えた場合、モデル化のタスクは、簡略化されるか、NPLM間で共有されるか、または結果の精度を低下させる必要がある。
【0174】
従って要約すると、(ネットワーク構成と選択に焦点を当てると)画像レンダリング方法は、複数の機械学習モデルの中から第1の訓練された機械学習モデルを選択するステップを含んでもよい。この機械学習モデルは、画像の少なくとも一部のレンダリングに寄与するデータを生成するように訓練されたものである。従って、例えば寄与データは、例えばライティングおよび/またはマテリアル、テクスチャおよび/または他のサーフェス特性(モデル化の対象となるもの)の複雑さに応じて、画像ピクセルの特定の成分(例えば、拡散反射または鏡面反射寄与成分)に関してもよいし、完全なRGBピクセル(例えば、すべての反射面を一度にモデル化するもの)に関してもよい。
【0175】
このような方法では、第1の訓練された機械学習モデルは、アーキテクチャベースの学習性能(これは、データが生成されるように訓練される仮想環境の第1の側面に反応する)を持つ。従って例えば、学習性能に関係するアーキテクチャ的側面は、NPLMの全部または一部のサイズ(例えば、レイヤまたはノードの数)にあってもよいし、および/または、異なるレイヤのノード同士の接続特性(例えば、使われる活性化関数のタイプの接続度合い)に関係するものであってもよい。
【0176】
このような方法では、第2のステップは、画像の少なくとも一部のレンダリングに寄与するデータを生成するために、第1の訓練された機械学習モデルを使うことを含んでもよい。この点については、本明細書の他の部分でも説明している。従って例えば、NPLMの個別の実行は、画像のピクセルに関するRGB値を生成するために他のNPLMからのデーとともに使われるデータを生成してもよい。あるいはNPLMの個別の実行は、画像自身のピクセルに関するRGB値を生成するためのデータを生成してもよい(これは、例えば分布関数との組み合わせなどの処理後に実行される)。
【0177】
ネットワーク選択
ネットワークは、ゲーム中またはアプリケーション開発フェーズ中に訓練される。開発者は、いつまたはどこでNPLMレンダリングが有用であるかを選んでもよい。例えば、NPLMレンダリングは、所定の品質閾値より低いフレームレートを発生させる原因となることが分かっているシーンでのみ使われてもよい。このような場合、ネットワークは、そのようなシーン(またはその一部)で訓練され、そうしたシーンが出現されるとき使われる。
【0178】
別のケースでは、開発者は、ある種のオブジェクトまたはある種のマテリアルのためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらのオブジェクトまたはマテリアルがレンダリングされるべきシーン内に認められたとき、訓練され使われる。
【0179】
別のケースでは、開発者は、ある種のライティング条件またはそれらの組み合わせのためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらの条件がレンダリングされるべきシーン内に認められたとき、訓練され使われる。
【0180】
同様に別のケースでは、開発者は、特定のドローディスタンス(z-ディスタンス)、あるいは画像中心やユーザの視野から角度的/距離的に離れたもの、あるいはある種のライティング条件のためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらの環境で訓練され使われる。
【0181】
同様に、これらの基準の任意の好適な組み合わせが、訓練および使用のために選ばれてもよい。
【0182】
一方前述のように、色々な理由で、システムの使用中に、シーンに関連した複数のNPLMsが存在してもよい。例えば、より大きなシーンをモデル化するために、複数のNPLMsが存在してもよい(これにより各パートは、NPLMによって、画像再構成の閾値サイズおよび/または閾値品質の範囲内で十分よくモデル化される)。同様に、変化するライティング条件、レベルオブディテール/ドローディスタンス等に起因して、複数のNPLMsが存在してもよい。
【0183】
環境に応じた適切なNPLM(s)が、GPUアクセス可能なメモリのために選択され検索されてもよく、少なくとも部分的なレンダリングのために実行されてもよい。テクスチャその他のグラフィカルアセットのプリフェッチおよびキャッシュに適用される戦略もまた、NPLMsに適用されてよい。
【0184】
失敗モード
本明細書に記載のNPLMsは、各分布関数と組み合わされたとき(典型的にはその後他のNPLMs(例えば、拡散反射および鏡面反射成分)からの寄与と組み合わされる)、画像に関するピクセル値を生成する値を生成する。このピクセル値は、当該画像に関するレイトレースされたピクセル値の近似値であって、計算的に有用なものである。
【0185】
従って一般的には、シーン/オブジェクト/マテリアルをレンダリングするために、必要に応じて1つ以上のNPLMsを使うことが望ましい。ただしこれは、計算的に有用であること、および結果として得られる近似値が十分よいことが条件となる。
【0186】
しかし、これらの条件のいずれかまたは両方が満たされてない場合もある。
【0187】
特に、本明細書の分布関数(BSDF、BRDFおよびBTDF)は、典型的にはゼロでない光散乱を仮定している。この場合、鏡面反射散乱は、拡散反射散乱より方向依存性が強い(これには、完全散乱または一様散乱が仮定されてもよい)。
【0188】
さらにこの散乱は、連続的なNPLMs実行の集合的なピクセル結果の中で、近似誤差をモデルの中に視覚的に隠すものとして機能する。従って、特に拡散反射条件では(実際には、鏡面反射条件でもそうだが)、モデル化されるマテリアルの特性に起因するエラー耐性が引き上げられる。
【0189】
しかし鏡面状のサーフェス(これはガラスを含んでもよく、その場合典型的には、8%が鏡で、92%が伝達物質である)では、散乱は殆どまたはまったく起こらない。従って、結果として得られる画像内の誤差は、ユーザにとっても、訓練中に発生する誤差値の観点から見ても、より顕著なものとなる。これにより、訓練はより困難となる。
【0190】
前述のように、より困難なライティング条件をモデル化するために、選択的にNPLMsは、より大きくすることができる(例えば、鏡面反射条件のために、同じシーンにおける拡散反射条件と比べてより大きなNPLMを使うことにより)。この原理は、ライティング反応をモデル化するのに必要な十分なリソースを与えるために、ミラー状の反射面に対して、潜在的により大きなNPLMを使うことに拡張される。
【0191】
従って、拡散反射および鏡面反射条件に適切な所与のNPLMであっても、これが
鏡面状の反射面に関するライティング条件を適切に(すなわち、許容できるレベルの精度で)モデル化するのに十分なリソースを備えないこともある。一方、十分大きなNPLMが、所望の精度まで訓練されるのに長い訓練時間を要することもあり、運転時間中に、より多くのメモリおよび計算リソースを使うこともある。
【0192】
従って、使われるNPLMsの好ましい最大サイズおよび計算限度に応じて、複数の拡散反射サーフェスと純粋な反射面との間に、以下のような線上の点が存在する。すなわちこの点で、拡散反射散乱が十分小さくなり(例えば、十分狭いまたは十分方向性のあるものとなり)、NPLMによって与えられる近似は最早十分よいとは言えなくなる。
【0193】
同様に、望ましい近似の精度によっては、その精度を実現するのに必要なNPLMがメモリまたは計算負荷の最大割り当て量(そのような割り当て量が存在した場合)を越えてしまうような点が、同じ線上に存在する。
【0194】
一方これとは対照的に、鏡面状のサーフェスは、散乱が殆どまたは全く存在しないため、レイトレーシングにより正確なレンダリングを行うのに比較的向く。従って、レイトレースされた鏡面状サーフェスのレンダリングは、他のレイトレーシングに比べると計算コストがかからない。
【0195】
従って、シーンサーフェス位置における反射率が閾値に達した場合は(完全な鏡は極端な反射率を持つので上記の閾値を越える)、当該位置のピクセルを生成するには、NPLMsを使わず、レイトレーシング(あるいは選択的に他のレンダリング技術、例えば既存の非レイトレーシングレンダリング技術)を使うことが望ましい。前述のように、これは、NPLMの不十分な精度、NPLM(s)の比較的高いコスト、またはその両方に依存する
【0196】
従ってこの閾値を越えた場合は、対応するピクセルのために、レイトレーシングまたはその他の任意の好適な近似技術を、代替的な「失敗モード」として使うことが望ましい。
【0197】
図2の車の例に戻る。この車のフロントグリルの仮想的なクロームは、ボディより鏡面状である。そしてボディは、ホイール、ホイールリム、シートより反射的である。
【0198】
従って説明を目的に、次のようにいうことができる。すなわち車のフロントグリルのクロームは極めて反射的であるため、このマテリアルをNPLMでモデル化しようとすると、開発者の設定する精度の基準を満たさず、精度の基準を満たそうとするとメモリまたは計算の割り当て量の条件を満たさない。従ってクロームのラジエータは、従来のレイトレーシングまたはその他の代替的な技術にフェールオーバーする候補となる。
【0199】
典型的には反射率は、シーン内の所与のマテリアルで一定である(この例ではクローム)。従って第1の選択肢は、NPLMを使うか、それとも代替的な技術(当該マテリアルに対応するピクセルに関するレイトレーシングなど)を使うかを示すのに、マテリアルIDまたはそのようなIDと関連した値を使うことである。
【0200】
このマテリアルIDは、前述のマテリアルIDと同じであってもよい。この値は、当該マテリアルのサーフェスがどの程度拡散反射的か鏡面反射的かを示すものである。この例では、0(完全に拡散反射的)と1(鏡面反射)との間の概念的な範囲が暗示される。従ってこのケースではマテリアルIDが所定の閾値と紐づいており、非限定的な例として、0.95がこのフェールオーバー技術の候補になり得ると考えられる。このケースにおいて、NPLMsがマテリアルベースで訓練された場合、選択的に、あるNPLMはこのマテリアルに関してまったく訓練されなくてもよい。代替的に、NPLMが複数のマテリアルを含むオブジェクトまたはシーン(例えば、車)で訓練された場合、NPLMを使うか、それとも代替的な技術を使うかを判断するために、マテリアルIDおよびサーフェス位置に関する値が参照されてもよい。例えばこのケースでは、クロームのグリル(およびおそらくステアリングも)以外には、すべてNPLMが使われてもよい。
【0201】
関連した値を持つことに代えて、マテリアルIDにフラグを含めることもできる。例えば、ID番号の中の最下位ビットまたは最上位ビット(または任意の所定のビット)が、当該マテリアルがNPLMを使うべきか否かを示すために、従って代替的なレンダリング技術にフェールオーバーすべきか否かを示すために使われてもよい。
【0202】
ここまでマテリアルIDについて述べた。一方、別の対応するIDも特定のサーフェス位置に矛盾なく紐付けられることは当業者に理解されるだろう。こうしたIDには、クラスタID、オブジェクトID、あるいは機械学習システム(例えば、レンダリングのためのNPLMs)の使用または不使用に特有なIDがある。従って代替的または追加的に、反射率またはフラグは、このような代替的なIDに紐付けられてもよい。
【0203】
しかしながら本明細書に記載のいくつかの技術は、マテリアルIDその他の対応するIDを必要としない。従っていくつかの実装は、こうしたIDを使わなくても(あるいは、使おうとしなくても)よい。
【0204】
従って、代替的または追加的に、シーン内のあるサーフェス位置をレンダリングするのにNPLMsと代替技術のどちらを使うかを判断するために、他のメカニズムが検討されてもよい。
【0205】
先ず、鏡面的サーフェス位置がどのようなものかを表すものとして、サーフェス位置と紐づいた分布関数(例えば、BSDF、BRDF。BTDFその他の分布関数)があげられる。従って鏡面反射の閾値の度合いを表す分布関数(または、このような鏡面反射の閾値の度合いを持つシーンの要素と紐づいたもの)を用いて、当該サーフェス位置はNPLMを使ってレンダリングされるのではなく、他の技術が使われるべきであると特定することができる。
【0206】
同様に、訓練されたときのNPLMの収束率および/またはその最終的な損失/エラー関数の性能が、結果物の精度を表すと考えられる。所与のサーフェス位置に関連するNPLM出力に関するエラー関数または損失関数が、訓練サイクルの閾値数を越えて閾値に収束した場合、あるいは(代替的または追加的に)所与のサーフェス位置に関するエラー関数または損失関数が閾値の下限に届かない場合、当該サーフェス位置にNPLMを使うべきでないことが分かる。
【0207】
従って、NPLMの訓練の振る舞いに応じて、所定のサーフェス位置(あるいは、当該サーフェス位置に紐づいたマテリアルIDを持つマテリアル)には、NPLMによってレンダリングされるのではなく、代替技術が用いられる。この場合、フラグまたは値は、マテリアルID、関連する分布関数またはサーフェスやその位置を特徴づける値に埋め込まれる(あるいは、紐付けられる)
【0208】
一方、代替的または追加的に、画像(またはその一部)内のピクセルのサンプルサブセットが、複数の技術を用いて、テスト-レンダリングされてもよい。例えば、画像内のピクセルの0.1%、1%または10%が、レイトレーシングおよび1つ以上のNPLMsを用いてレンダリングされてもよい。これらのサンプルは、ランダムであってもよいし、トラッキングを簡略化するための規則的パターン(例えば、3×3、4×4、8×8、16×16の正方形)であってもよい。
【0209】
候補となる技術の計算負荷を比較することもできる。NPLMがより少ないリソースを使う場合は、評価された画像の残り(またはその一部)にはNPLMが使われるだろう。この部分は、画像内の任意の(あるいは予め選ばれた)テキスト部分、または画像内のオブジェクトもしくはマテリアルに一致してもよい。
【0210】
同様に、候補となる技術の精度を比較することもできる。レイトレーシングが正確であると仮定すると、NPLMの結果がレイトレースされた場合との相違の閾値内にあれば、これは許容できると考えられる(典型的には、これが使用する計算リソースはより少ないことの確認と併せて)
【0211】
いずれにしても、テストされたサンプルピクセルの1つ(典型的には、選択された技術を用いて生成されたサンプルピクセル)が、隣のものと矛盾しないように、最終画像に寄与することができる。従って、例えばレイトレースされたピクセルの方がより正確だったとしても、NPLMが選ばれたのであれば、NPLMを使うことができる。
【0212】
その後残りのピクセルが、選択された技術を用いてレンダリングされる。
【0213】
選択的に、上記の技術は、好適な形で組み合わせることができる。従って例えば、NPLMと代替技術との間のテストのために、画像のどのピクセルまたは領域をサンプルすべきか否かを判断するのに、マテリアルIDまたは関連する値、あるいは分布関数が使われてもよい。逆に、NPLMを使うべきでないマテリアルまたは分布関数を識別するのに、このようなテスト(例えば、エンドユーザのランタイム中ではなく開発中のテスト、あるいはNPLMの訓練挙動)を使うこともできる。
【0214】
従って、上記の技術の任意の好適な組み合わせを使うことにより、以下のような場合に、与えられた画像の全部または一部を、NPLMから代替的なレンダリング技術(例えば、レイトレーシング等)にフェールオーバーすることができる。すなわちこれは、NPLM(s)の精度または計算もしくはメモリのコストから見て、代替技術にフェールオーバーした方がよいと判断される場合、選択的には、与えられたサーフェス位置に関するマテリアルIDまたは分布関数に紐づいた値またはフラグによるシグナルがある場合、および/またはサブセットピクセルのテストレンダリングに反応する場合、などである。
【0215】
まとめ
図9を参照する。本開示の実施の形態を要約すると、視点でピクセルをレンダリングするための画像レンダリング方法であって、この方法は、シーン内の位置において所定のサーフェスを備えた仮想的なシーンの第1の要素に関し、以下のステップを含む。
【0216】
第1ステップ910で、視点に基づく位置および方向が、機械学習システムに与えられる。この機械学習システムは、光と所定のサーフェスとの相互作用を特徴づける分布関数と組み合わされたとき、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値を生成する因子を予測するように、事前に訓練されている。
【0217】
第2ステップ920で、機械学習システムで予測された因子を、分布関数に組み合わせる。これにより、前述のように、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値が生成される。
【0218】
第3ステップ930で、表示のために、ピクセル値をレンダリングされた画像に含める。その後、画像がA/Vポート(90)を通してディスプレイに出力される。
【0219】
本開示の範囲内で上記の方法の1つ以上の変形が可能であることを当業者は理解するだろう。この変形は、本明細書および請求項に記載された方法および/または装置の様々な実施の形態のオペレーションに相当し、非限定的に以下を含む。
-画像の複数の寄与成分(例えば、拡散反射、鏡面反射、コーティング、等)の各々に関して、それぞれの機械学習システムが訓練される。画像の複数の寄与成分の各々に関して、それぞれの分布関数が使われる。表示のためのレンダリングされた画像に含まれるピクセル値を生成するために、生成されたそれぞれのピクセル値が組み合わされる。
-分布関数はそれぞれ、双方向散乱分布関数、双方向反射分布関数および双方向透過分布関数からなるリストから選択されたものである。
-機械学習システムは、ニューラルネットワークである。ニューラルネットワークの第1部分への入力は位置を含む。ニューラルネットワークの第2部分への入力は、第1部分の出力および方向を含む。
-この例では、第1部分の活性化関数と第2部分の活性化関数とは異なる。
-この例では、第1部分の活性化関数はReLUであり、第2部分の活性化関数はサイン関数である。
-この例では、ニューラルネットワークのコスト関数は、第2部分の出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離される。
-この例では、ニューラルネットワークのコスト関数は、学習中に、第2部分および第1部分の両方を通って逆方向伝搬する。
-この例では、ニューラルネットワークは完全に接続されたネットワークである。
-機械学習システムのコスト関数は、機械学習システムの出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離される。
-機械学習システムは、前記シーンの第1の要素のためのテクスチャを選択しロードするのに使われるのと同じアセット識別スキームに基づいて選択され、画像処理ユニットによって使われるメモリにロードされる。
【0220】
次に図10を参照する。本開示の別の実施の形態を要約すると、ある視点でピクセルをレンダリングするための画像レンダリング方法(特に、フォールバック技術を使うかどうかを判断することに焦点を当てたもの)であって、この方法は以下のステップを含む。
【0221】
シーン内の位置において所定のサーフェスを備えた仮想的なシーンの第1の要素に関し、第1のステップs1010は、前記位置における所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システム(例えば、NPLM)を用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価する。
【0222】
次に第2のステップs1020は、前記評価するステップで選択された機械学習システムまたは代替的な技術を用いて前記ピクセルをレンダリングする。
【0223】
再び本開示の範囲内で上記の方法の1つ以上の変形が可能であることを当業者は理解するだろう。この変形は、本明細書および請求項に記載された方法および/または装置の様々な実施の形態のオペレーションに相当し、非限定的に以下を含む。
-レンダリングするステップは、前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムの出力と、光と前記所与のサーフェスとの相互作用を特徴づける分布関数と、を組み合わせる。
-この場合、選択的に、レンダリングするステップは、
前記画像の複数の寄与成分の1つに関して訓練されたそれぞれの機械学習システムを使うステップと、
前記画像の前記複数の寄与成分の各々に関してそれぞれの分布関数を使うステップと、
表示のために、最終的な組み合わされたピクセル値を生成してレンダリングされた画像に含めるために、生成された前記ピクセル値を互いに組み合わせるステップと、
を含む。
-代替的なレンダリング技術はレイトレーシングである。
-評価するステップは、
前記第1の要素をレンダリングするのに、前記機械学習システムを使った場合の計算コストが前記代替的なレンダリング技術を使った場合の計算コストより低いかを評価し、
低い場合は前記機械学習システムを選択するステップを含む。
-評価するステップは、
前記第1の要素のレンダリングに関する機械学習システムの画像の精度を評価し、
前記精度が所定の閾値を満足する場合は前記機械学習システムを選択するステップを含む。
-上記の2つのいずれの場合も、選択的に、評価するステップは、
比較のために、前記機械学習システムおよび前記代替的なレンダリング技術の両方を用いて、レンダリングされた画像内のピクセルのサブセットのテストレンダリングを実行するステップを含む。
-上記の2つのいずれの場合も、選択的に、評価するステップは、
前記第1の要素に関し、所与の基準を参照するステップを含み、
前記基準は、
i.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときのマテリアルタイプ、
ii.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときのID、
iii.前記第1の要素に関し、前記機械学習システムが所定の性能閾値を下回るときの分布関数、
iv.前記機械学習システムの訓練性能、
v.前記機械学習システムを用いて得られたピクセルおよび前記代替的なレンダリング技術を用いて得られたピクセルのレンダリング結果の比較、
の1つ以上に基づく。
-評価するステップは、
前記第1の要素に対応する仮想的なマテリアルが、前記代替的なレンダリング技術を使うものとして予め定められたタイプかを評価する。
-仮想的なマテリアルは、マテリアルIDを持ち、
当該マテリアルIDにより、仮想的なマテリアルが、前記代替的なレンダリング技術を使うものとして予め定められたタイプかを示す値またはフラグが得られる。
-評価するステップは、
光と前記所与のサーフェスとの相互作用を特徴づける分布関数が、前記第1の要素が前記代替的なレンダリング技術を用いてレンダリングされるものとして予め定められていることを示す指標を与えるかどうかを評価する。
-評価するステップは、
前記第1の要素に関する前記機械学習システムのエラー値または収束性能が、前記代替的なレンダリング技術を使うことを示す所与の基準を満足するかを評価する。
【0224】
上記の方法は、上記方法に関するソフトウェア命令の実行に適した従来のハードウェアの上で実行可能であること、または専用ハードウェアを含める(または置き換える)ことが可能であることが理解されるだろう。
【0225】
従来の同等デバイスの既存パーツへの必要な適用は、コンピュータプログラムプロダクトの形で実現されてよい。こうしたコンピュータは、非揮発性の機械読み取り可能な媒体(例えば、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、固体ディスク、PROM、RAM、フラッシュメモリまたはこれらの組み合わせ、または他のストレージ媒体、またはASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)その他の構成可能な回路(従来の同等デバイスへの適用として使うのに適したもの)としてハードウェアにリリースされたもの)に保存された命令を実行可能なプロセッサを備える。これとは別に、このようなコンピュータプログラムは、データ信号を介してネットワーク(例えば、イーサネット(登録商標)、無線ネットワーク、インターネットおよびこれらや他のネットワークとの組み合わせ)上に送信されてもよい。
【0226】
図1を参照する。本明細書に記載の方法および技術は、従来のハードウェア(例えば、仮想シーンから画像を生成するエンターテインメントシステム10)上で実現されてもよい。このようなエンターテインメントシステム10の例として、ソニープレイステーション5(PS5)(登録商標)のようなコンピュータまたはコンソールがある。
【0227】
エンターテインメントシステム10は、中央プロセッサ20を備える。これは、シングルまたはマルチコアプロセッサ(例えばPS5の中の8個のコア)であってもよい。エンターテインメントシステムはまた、画像処理ユニットまたはGPU30を備える。GPUは、CPUと物理的に分離してもよいし、PS5のようにチップ上システム(SoC)としてCPUと一体化されてもよい。
【0228】
エンターテインメントデバイスはまた、RAM40を備える。これは、CPUおよびGPUごとに別々のRAMであってもよいし、PS5のように共有RAMであってもよい。各RAMは、物理的に分離してもよいし、PS5のようにSoCとして一体化されてもよい。さらにディスク50としてストレージが与えられる。これは、内蔵ドライブでも、外付けドライブでも、外部の固体デバイスでも、PS5のように内蔵固体デバイスでもよい。
【0229】
エンターテインメントデバイスは、1つ以上のデータポート60(例えば、USBポート、イーサネット(登録商標)ポート、WiFi(登録商標)ポート、ブルートゥース(登録商標)ポート、等)を介して、データを送信または受信してもよい。これは、選択的に光デバイス70を介してデータを受信してもよい。
【0230】
システムとの相互作用は、典型的には、1つ以上の手持ちコントローラ80(例えば、PS5の筐体内のDual Sense(登録商標))を用いて与えられる。
【0231】
エンターテインメントデバイスからのオーディオ/ビジュアル出力は、典型的に、1つ以上のA/Vポート90または1つ以上の有線/無線データポート60を介して与えられる。
【0232】
部品が統合されていない場合、これらは、専用データリンクまたはバス100を用いて接続されてよい。
【0233】
従って本開示の実施の形態を要約すると、以下を備えたエンターテインメントデバイス(ソニープレイステーション5(登録商標)、等)である。
【0234】
第1に、第1の要素を有しシーン内の位置において所定のサーフェスを備えた仮想的なシーンの画像内の視点でピクセルをレンダリングする(例えば好適なソフトウェア命令によって)ように構成された画像処理ユニット(例えばGPU30、選択的にはCPU20と併せて)。
【0235】
第2に、前記位置における所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価する(例えば好適なソフトウェア命令によって)ように構成された評価プロセッサ(例えばGPU30、選択的にはCPU20と併せて)。
【0236】
画像処理ユニットは、機械学習システムで予測された因子を、分布関数に組み合わせる(再び、例えば好適なソフトウェア命令によって)。これにより、前述のように、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値が生成される
【0237】
さらに画像処理ユニットは、表示のために、ピクセル値をレンダリングされた画像に含める(再び、例えば好適なソフトウェア命令によって)ように構成される。
【0238】
上記のハードウェアは同様に、本明細書の方法および技術を実行できるように以下のように構成される。
-エンターテインメントデバイスは、複数の機械学習プロセッサ(例えば、それぞれのプロセッサ、GPUおよび/またはCPUのスレッドおよび/またはシェーダー)を備える。これらの機械学習プロセッサは、画像の複数の寄与成分(例えば、拡散反射、鏡面反射、コーティング、等)の各々に関して訓練れたそれぞれの機械学習システムを実行する。分布関数の各々は、画像の複数の寄与成分の各々に関して使われる。
画像処理ユニットは、表示のために、レンダリングされた画像に含まれるピクセル値を生成するために、生成されたそれぞれのピクセル値(表示のために、レンダリングされた画像に組み入れられる)を互いに組み合わせる(再び、例えば好適なソフトウェア命令によって)ように構成される。
-機械学習システムは、ニューラルネットワークである。ニューラルネットワークの第1部分への入力は位置を含む。ニューラルネットワークの第2部分への入力は、第1部分の出力および方向を含む。
【0239】
同様に、本開示の他の要約された実施の形態において、エンターテインメントデバイス(例えばソニープレイステーション5(登録商標)等)は、以下を含む。
【0240】
第1に、第1の要素を有しシーン内の位置において所定のサーフェスを備えた仮想的なシーンの画像内の視点でピクセルをレンダリングする(例えば好適なソフトウェア命令によって)ように構成された画像処理ユニット(例えばGPU30、選択的にはCPU20と併せて)。
【0241】
第2に、前記位置における所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価する(例えば好適なソフトウェア命令によって)ように構成された評価プロセッサ(例えばGPU30、選択的にはCPU20と併せて)。
【0242】
画像処理ユニットは、選択された機械学習システムまたは代替的な技術を用いて前記ピクセルをレンダリングする(再び、例えば好適なソフトウェア命令によって)ように構成される。
【0243】
好ましくはエンターテインメントデバイスは、
視点に基づく位置および方向を、機械学習システムに与えるように構成された機械学習プロセッサを備える。この機械学習システムは、光と所定のサーフェスとの相互作用を特徴づける分布関数と組み合わされたとき、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値を生成する因子を予測するように、事前に訓練されている。
評価プロセッサが前記画像処理ユニットは前記機械学習システムを用いて前記ピクセルをレンダリングするべきだと評価したときは、
前記画像処理ユニットは、
前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムの出力と、光と前記所与のサーフェスとの相互作用を特徴づける分布関数と、を組み合わせ、
表示のために、前記ピクセル値をレンダリングされた画像に含めるように構成される。
【0244】
上記のハードウェアは同様に、本明細書の方法および技術を実行できるように構成されてよい。
【0245】
上記の議論は、本発明の典型的な実施の形態のみを説明する。当業者に理解されるように、本発明は、その思想および本質的な特徴からはずれることなく、別の特定の形で実施されてもよい。従って本発明の開示は、説明を目的としたもので、発明および請求項の範囲の限定を目的としたものではない。本開示(本明細書の教示の認識可能な変形を含む)は部分的に以下の請求項の用語の範囲を規定するが、発明的主題は公衆に捧げられたものではない。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
【外国語明細書】