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

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

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

<>
  • 特開-画像レンダリング方法および装置 図1
  • 特開-画像レンダリング方法および装置 図2
  • 特開-画像レンダリング方法および装置 図3
  • 特開-画像レンダリング方法および装置 図4
  • 特開-画像レンダリング方法および装置 図5
  • 特開-画像レンダリング方法および装置 図6
  • 特開-画像レンダリング方法および装置 図7
  • 特開-画像レンダリング方法および装置 図8
  • 特開-画像レンダリング方法および装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022151746
(43)【公開日】2022-10-07
(54)【発明の名称】画像レンダリング方法および装置
(51)【国際特許分類】
   G06T 15/06 20110101AFI20220929BHJP
【FI】
G06T15/06
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022042661
(22)【出願日】2022-03-17
(31)【優先権主張番号】2104156.1
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】アンドリュー ジェイムズ ビゴス
(72)【発明者】
【氏名】ギレス ライナー
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA19
5B080CA01
5B080CA03
5B080CA08
5B080DA06
5B080FA02
5B080FA09
5B080FA17
5B080GA06
5B080GA11
5B080GA22
(57)【要約】      (修正有)
【課題】画像レンダリング方法および装置を提供する。
【解決手段】視点でピクセルをレンダリングするための画像レンダリング方法は、シーン内の位置において所定のサーフェスを備えた仮想的なシーンの第1の要素に関し、視点に基づいて因子を予測するように予め訓練された機械学習システムに、位置および方向を与えるステップを含む。因子は、光と所与のサーフェスとの相互作用を特徴づける分布関数に組み合わされたとき、位置で照明された仮想的なシーンの第1の要素に対応するピクセル値を生成する。方法はさらに、位置で照明された仮想的なシーンの第1の要素に対応するピクセル値を生成するために、機械学習システムによって予測された因子を分布関数と組み合わせるステップと、表示のために、ピクセル値をレンダリングされた画像に含めるステップと、を含む。
【選択図】図9
【特許請求の範囲】
【請求項1】
視点でピクセルをレンダリングするための画像レンダリング方法であって、
シーン内の位置において所与のサーフェスを備えた仮想的なシーンの第1の要素に関し、
前記視点に基づいて因子を予測するように予め訓練された機械学習システムに、前記位置および方向を与えるステップを含み、
前記因子は、光と前記所与のサーフェスとの相互作用を特徴づける分布関数に組み合わされたとき、前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成し、
前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムによって予測された因子を前記分布関数と組み合わせるステップと、
表示のために、前記ピクセル値をレンダリングされた画像に含めるステップと、
をさらに含むことを特徴とする方法。
【請求項2】
前記機械学習システムの各々は、前記画像の複数の寄与成分の各々に関して訓練され、
前記分布関数の各々は、前記画像の複数の寄与成分の各々に関して使われ、
表示のために、最終的な組み合わされたピクセル値を生成してレンダリングされた画像に含めるために、生成された前記ピクセル値の各々は互いに組み合わされることを特徴とする請求項1に記載の方法。
【請求項3】
前記分布関数の各々は、
i.双方向散乱分布関数、
ii.双方向反射分布関数、
iii.双方向透過分布関数、
のいずれかであることを特徴とする請求項1または2に記載の方法。
【請求項4】
前記機械学習システムはニューラルネットワークであり、
前記ニューラルネットワークの第1部分への入力は位置を含み、
前記ニューラルネットワークの第2部分への入力は、前記第1部分の出力および方向を含むことを特徴とする請求項1から3のいずれかに記載の方法。
【請求項5】
前記第1部分の活性化関数と前記第2部分の活性化関数とは異なることを特徴とする請求項4に記載の方法。
【請求項6】
前記第1部分の活性化関数はReLUであり、前記第2部分の活性化関数はサイン関数であることを特徴とする請求項5に記載の方法。
【請求項7】
前記ニューラルネットワークのコスト関数は、第2部分の出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離されることを特徴とする請求項4から6のいずれかに記載の方法。
【請求項8】
前記ニューラルネットワークのコスト関数は、学習中に、前記第2部分および前記第1部分の両方を通って逆方向伝搬することを特徴とする請求項4から7のいずれかに記載の方法。
【請求項9】
前記ニューラルネットワークは完全に接続されたネットワークであることを特徴とする請求項4から8のいずれかに記載の方法。
【請求項10】
前記機械学習システムのコスト関数は、機械学習システムの出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離されることを特徴とする請求項1から9のいずれかに記載の方法。
【請求項11】
前記機械学習システムは、前記シーンの第1の要素のためのテクスチャを選択しロードするのに使われるのと同じアセット識別スキームに基づいて選択され、画像処理ユニットによって使われるメモリにロードされることを特徴とする請求項1から10のいずれかに記載の方法。
【請求項12】
請求項1から11のいずれかに記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項13】
第1の要素を有しシーン内の位置において所与のサーフェスを備えた仮想的なシーンの画像内の視点でピクセルをレンダリングするように構成された画像処理ユニットと、
前記視点に基づいて因子を予測するように予め訓練された機械学習システムに、前記位置および方向を与えるように構成された機械学習プロセッサと、
を備え、
前記因子は、光と前記所与のサーフェスとの相互作用を特徴づける分布関数に組み合わされたとき、前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成し、
画像処理ユニットは、前記位置で照明された前記仮想的なシーンの前記第1の要素に対応するピクセル値を生成するために、前記機械学習システムによって予測された因子を前記分布関数と組み合わせるように構成され、
画像処理ユニットは、表示のために、前記ピクセル値をレンダリングされた画像に含めるように構成されることを特徴とするエンターテインメントデバイス。
【請求項14】
複数の機械学習プロセッサを備え、
前記機械学習プロセッサは、画像の複数の寄与成分の各々に関して訓練れたそれぞれの機械学習システムを実行し、
前記分布関数の各々は、前記画像の複数の寄与成分の各々に関して使われ、
画像処理ユニットは、表示のために、レンダリングされた画像に含まれるピクセル値を生成するために、生成されたそれぞれのピクセル値を互いに組み合わせるように構成されることを特徴とする請求項13に記載のエンターテインメントデバイス。
【請求項15】
前記機械学習システムはニューラルネットワークであり、
前記ニューラルネットワークの第1部分への入力は位置を含み、
前記ニューラルネットワークの第2部分への入力は、前記第1部分の出力および方向を含むことを特徴とする請求項13または14に記載のエンターテインメントデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像レンダリング方法および装置に関する。
【背景技術】
【0002】
レイトレーシング(光線追跡)は、レンダリングプロセスの1つであって、仮想的なシーン内の光跡がトレースされる。その後、シーン内で各光線とオブジェクトまたはサーフェスとの相互作用がシミュレートされる。リアリティを高めるために、通常このシミュレーションは、オブジェクトまたはサーフェスのマテリアル特性(例えば、色や反射率)を考慮する。
【0003】
その結果レイトレーシングのプロセスは、計算に関して高コストとなる。さらにこのコストは「どのシーンが、どのような光で、どのような視点からライティングされるか」等に応じて、画像フレームごとに異なる。
【0004】
従って、こうした画像をレンダリングするのに適したフレームレートを保つのは難しい。平均的な画像完了時間(すなわちフレームレート)に対応する平均的な計算コスト、およびレイトレースに起因する平均周辺の所定の不一致に関し、フレームレートがこの不一致から大きな影響を受けないように、平均画像品質を低く設定しなければならない。望ましいフレームレートに関して平均画像品質を最大値近くまで高く設定した場合、刻々変化するトレースの要求が平均を超えて揺らぐと、フレームレートの一貫性が損なわれる。
【0005】
これらの結果はいずれも望ましいものではない。しかしこれは簡単には回避できない。一方レイトレーシングプロセスの計算負荷は、データドリブンで予測不可能である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明はこうした課題に取り組み、これを軽減することを目的とする。
【課題を解決するための手段】
【0007】
本発明の様々な態様および特徴は、請求項および以下の明細書の記載により定義されるが、少なくとも以下を含む。
-第1の例は、請求項1に係る画像レンダリング方法。
-第2の例は、請求項13に係るエンターテインメントデバイス。
【図面の簡単な説明】
【0008】
以下の添付図面を参照し本明細書の詳細な説明を読むことにより、本開示の特徴および多くの利点をより完全に理解できるだろう。
図1】本開示の実施の形態に係るエンターテインメントデバイスの模式図である。
図2】本開示の実施の形態に従ってレイトレースされたオブジェクトである。
図3】本開示の実施の形態に従ってレイトレースされたオブジェクトに寄与する成分の模式図である。
図4】本開示の実施の形態に係る各成分に紐づく分布関数の模式図である。
図5】本開示の実施の形態に係る散乱の分布を示す模式図である。
図6】本開示の実施の形態に係る機械学習に関する訓練スキームの模式図である。
図7】本開示の実施の形態に係るレンダリングされた画像に関するレンダリング経路の模式図である。
図8】本開示の実施の形態に係る機械学習システムの模式図である。
図9】本開示の実施の形態に係る画像レンダリング方法のフロー図である。
【発明を実施するための形態】
【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】
図8を参照する。本開示のいくつかの実施の形態では、機械学習システムまたは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】
ネットワーク選択
ネットワークは、ゲーム中またはアプリケーション開発フェーズ中に訓練される。開発者は、いつまたはどこでNPLMレンダリングが有用であるかを選んでもよい。例えば、NPLMレンダリングは、所定の品質閾値より低いフレームレートを発生させる原因となることが分かっているシーンでのみ使われてもよい。このような場合、ネットワークは、そのようなシーン(またはその一部)で訓練され、そうしたシーンが出現されるとき使われる。
【0067】
別のケースでは、開発者は、ある種のオブジェクトまたはある種のマテリアルのためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらのオブジェクトまたはマテリアルがレンダリングされるべきシーン内に認められたとき、訓練され使われる。
【0068】
別のケースでは、開発者は、ある種のライティング条件またはそれらの組み合わせのためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらの条件がレンダリングされるべきシーン内に認められたとき、訓練され使われる。
【0069】
同様に別のケースでは、開発者は、特定のドローディスタンス(z-ディスタンス)、あるいは画像中心やユーザの視野から角度的/距離的に離れたもの、あるいはある種のライティング条件のためにNPLMベースのレンダリングを使うことを選択してもよい。この場合ネットワークは、これらの環境で訓練され使われる。
【0070】
同様に、これらの基準の任意の好適な組み合わせが、訓練および使用のために選ばれてもよい。
まとめ
図9を参照する。本開示の実施の形態を要約すると、視点でピクセルをレンダリングするための画像レンダリング方法であって、この方法は、シーン内の位置において所定のサーフェスを備えた仮想的なシーンの第1の要素に関し、以下のステップを含む。
【0071】
第1ステップ910で、視点に基づく位置および方向が、機械学習システムに与えられる。この機械学習システムは、光と所定のサーフェスとの相互作用を特徴づける分布関数と組み合わされたとき、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値を生成する因子を予測するように、事前に訓練されている。
【0072】
第2ステップ920で、機械学習システムで予測された因子を、分布関数に組み合わせる。これにより、前述のように、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値が生成される。
【0073】
第3ステップ930で、表示のために、ピクセル値をレンダリングされた画像に含める。その後、画像がA/Vポート(90)を通してディスプレイに出力される。
【0074】
本開示の範囲内で上記の方法の1つ以上の変形が可能であることを当業者は理解するだろう。この変形は、本明細書および請求項に記載された方法および/または装置の様々な実施の形態のオペレーションに相当し、非限定的に以下を含む。
-画像の複数の寄与成分(例えば、拡散反射、鏡面反射、コーティング、等)の各々に関して、それぞれの機械学習システムが訓練される。画像の複数の寄与成分の各々に関して、それぞれの分布関数が使われる。表示のためのレンダリングされた画像に含まれるピクセル値を生成するために、生成されたそれぞれのピクセル値が組み合わされる。
-分布関数はそれぞれ、双方向散乱分布関数、双方向反射分布関数および双方向透過分布関数からなるリストから選択されたものである。
-機械学習システムは、ニューラルネットワークである。ニューラルネットワークの第1部分への入力は位置を含む。ニューラルネットワークの第2部分への入力は、第1部分の出力および方向を含む。
-この例では、第1部分の活性化関数と第2部分の活性化関数とは異なる。
-この例では、第1部分の活性化関数はReLUであり、第2部分の活性化関数はサイン関数である。
-この例では、ニューラルネットワークのコスト関数は、第2部分の出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離される。
-この例では、ニューラルネットワークのコスト関数は、学習中に、第2部分および第1部分の両方を通って逆方向伝搬する。
-この例では、ニューラルネットワークは完全に接続されたネットワークである。
-機械学習システムのコスト関数は、機械学習システムの出力と、レイトレースバージョンから求められたピクセル値との差に基づき、分布関数と分離される。
-機械学習システムは、前記シーンの第1の要素のためのテクスチャを選択しロードするのに使われるのと同じアセット識別スキームに基づいて選択され、画像処理ユニットによって使われるメモリにロードされる。
【0075】
上記の方法は、上記方法に関するソフトウェア命令の実行に適した従来のハードウェアの上で実行可能であること、または専用ハードウェアを含める(または置き換える)ことが可能であることが理解されるだろう。
【0076】
従来の同等デバイスの既存パーツへの必要な適用は、コンピュータプログラムプロダクトの形で実現されてよい。こうしたコンピュータは、非揮発性の機械読み取り可能な媒体(例えば、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、固体ディスク、PROM、RAM、フラッシュメモリまたはこれらの組み合わせ、または他のストレージ媒体、またはASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)その他の構成可能な回路(従来の同等デバイスへの適用として使うのに適したもの)としてハードウェアにリリースされたもの)に保存された命令を実行可能なプロセッサを備える。これとは別に、このようなコンピュータプログラムは、データ信号を介してネットワーク(例えば、イーサネット(登録商標)、無線ネットワーク、インターネットおよびこれらや他のネットワークとの組み合わせ)上に送信されてもよい。
【0077】
図1を参照する。本明細書に記載の方法および技術は、従来のハードウェア(例えば、仮想シーンから画像を生成するエンターテインメントシステム10)上で実現されてもよい。このようなエンターテインメントシステム10の例として、ソニープレイステーション5(PS5)(登録商標)のようなコンピュータまたはコンソールがある。
【0078】
エンターテインメントシステム10は、中央プロセッサ20を備える。これは、シングルまたはマルチコアプロセッサ(例えばPS5の中の8個のコア)であってもよい。エンターテインメントシステムはまた、画像処理ユニットまたはGPU30を備える。GPUは、CPUと物理的に分離してもよいし、PS5のようにチップ上システム(SoC)としてCPUと一体化されてもよい。
【0079】
エンターテインメントデバイスはまた、RAM40を備える。これは、CPUおよびGPUごとに別々のRAMであってもよいし、PS5のように共有RAMであってもよい。各RAMは、物理的に分離してもよいし、PS5のようにSoCとして一体化されてもよい。さらにディスク50としてストレージが与えられる。これは、内蔵ドライブでも、外付けドライブでも、外部の固体デバイスでも、PS5のように内蔵固体デバイスでもよい。
【0080】
エンターテインメントデバイスは、1つ以上のデータポート60(例えば、USBポート、イーサネット(登録商標)ポート、WiFi(登録商標)ポート、ブルートゥース(登録商標)ポート、等)を介して、データを送信または受信してもよい。これは、選択的に光デバイス70を介してデータを受信してもよい。
【0081】
システムとの相互作用は、典型的には、1つ以上の手持ちコントローラ80(例えば、PS5の筐体内のDual Sense(登録商標))を用いて与えられる。
【0082】
エンターテインメントデバイスからのオーディオ/ビジュアル出力は、典型的に、1つ以上のA/Vポート90または1つ以上の有線/無線データポート60を介して与えられる。
【0083】
部品が統合されていない場合、これらは、専用データリンクまたはバス100を用いて接続されてよい。
【0084】
従って本開示の実施の形態を要約すると、以下を備えたエンターテインメントデバイス(ソニープレイステーション5(登録商標)、等)である。
【0085】
第1に、第1の要素を有しシーン内の位置において所定のサーフェスを備えた仮想的なシーンの画像内の視点でピクセルをレンダリングする(例えば好適なソフトウェア命令によって)ように構成された画像処理ユニット(例えばGPU30、選択的にはCPU20と併せて)。
【0086】
第2に、前記位置における所与のサーフェスのライティングを表す値を出力するように訓練された機械学習システムを用いて前記第1の要素に対応するピクセルをレンダリングするか、あるいは代替的なレンダリング技術を用いて前記第1の要素に対応するピクセルをレンダリングするかを評価する(例えば好適なソフトウェア命令によって)ように構成された評価プロセッサ(例えばGPU30、選択的にはCPU20と併せて)。
【0087】
画像処理ユニットは、機械学習システムで予測された因子を、分布関数に組み合わせる(再び、例えば好適なソフトウェア命令によって)。これにより、前述のように、仮想的なシーンの当該位置で照明された第1の要素に対応するピクセル値が生成される
【0088】
さらに画像処理ユニットは、表示のために、ピクセル値をレンダリングされた画像に含める(再び、例えば好適なソフトウェア命令によって)ように構成される。
【0089】
上記のハードウェアは同様に、本明細書の方法および技術を実行できるように以下のように構成される。
-エンターテインメントデバイスは、複数の機械学習プロセッサ(例えば、それぞれのプロセッサ、GPUおよび/またはCPUのスレッドおよび/またはシェーダー)を備える。これらの機械学習プロセッサは、画像の複数の寄与成分(例えば、拡散反射、鏡面反射、コーティング、等)の各々に関して訓練れたそれぞれの機械学習システムを実行する。分布関数の各々は、画像の複数の寄与成分の各々に関して使われる。
画像処理ユニットは、表示のために、レンダリングされた画像に含まれるピクセル値を生成するために、生成されたそれぞれのピクセル値(表示のために、レンダリングされた画像に組み入れられる)を互いに組み合わせる(再び、例えば好適なソフトウェア命令によって)ように構成される。
-機械学習システムは、ニューラルネットワークである。ニューラルネットワークの第1部分への入力は位置を含む。ニューラルネットワークの第2部分への入力は、第1部分の出力および方向を含む。
【0090】
上記の議論は、本発明の典型的な実施の形態のみを説明する。当業者に理解されるように、本発明は、その思想および本質的な特徴からはずれることなく、別の特定の形で実施されてもよい。従って本発明の開示は、説明を目的としたもので、発明および請求項の範囲の限定を目的としたものではない。本開示(本明細書の教示の認識可能な変形を含む)は部分的に以下の請求項の用語の範囲を規定するが、発明的主題は公衆に捧げられたものではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】