(57)【要約】      （修正有）【課題】既存の光線追跡システム又は遅延レンダリングエンジンと互換性があり、グラフィックスハードウェア上での実行が有利に容易であるレンダリング装置を提供する。【解決手段】光源Ｌ１、Ｌ２によって照明された３Ｄシーン２が、経路追跡によって２Ｄ画像グリッド３上でレンダリングされる。各グリッド画素Ｐ１Ａ、Ｐ１Ｂ、Ｐ２から生じる少なくとも１つの光線は、それが、交点Ｍ１Ａ、Ｍ１Ｂ、Ｍ２において３Ｄ対象物２１、グランド２２に出会うまで３Ｄシーンにおいて追跡される。その光線は、光源の１つの方へ反射され、視認性試験が、交点とその光源との間でその光線用に行われ、その光線の寄与が、関係のある画素でレンダリングを実行する際に交点において追加される。視認性試験は、光源に従いクラスタ方式で画素にわたって実行され、視認性試験は、視認性試験にそれぞれ関連する光源に相関する計算及び又はメモリ記憶装置の点でクラスタ化される。【選択図】図２
2018124986.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの光源によって照明された３Ｄシーンを経路追跡することによって画像グリッド上でレンダリングするための装置であって、前記画像グリッドが、画素を含み、前記装置が、
−  前記画素のそれぞれのために、前記３Ｄシーンにおける前記画素の前記それぞれから生じる少なくとも１つの光線を追跡し、前記少なくとも１つの光線が、交点において前記３Ｄシーンの対象物と出会うまで追跡することと、
−  前記対象物上の前記交点で前記少なくとも１つの光線を前記３Ｄシーンの前記光源の少なくとも１つの方向へ反射させることと、
−  前記交点と前記光源の少なくとも１つとの間で前記少なくとも１つの光線用の視認性試験を行うことと、
−  前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素において前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも１つにおける寄与を追加することと、
を実行するように構成された少なくとも１つのプロセッサを含み、
前記少なくとも１つのプロセッサが、前記光源に従いクラスタ方式で前記画素にわたり前記視認性試験を進めるように更に構成され、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び／又はメモリ記憶装置の点でクラスタ化される装置。
【請求項２】
前記少なくとも１つのプロセッサが、前記光源から前記交点の方向へ光視認性光線を放出することによって、前記交点と前記光源との間で前記画素のそれぞれのために前記視認性試験を実行するように構成される、請求項１に記載の装置。
【請求項３】
前記画像グリッドが、バッファリング記憶装置により提供され、前記少なくとも１つのプロセッサがまた、
−  前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記交点における前記光源の前記寄与を前記バッファリング記憶装置に格納することと、
−  前記視認性試験を行う前に、前記視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも２つのバッファに前記バッファリング記憶装置を配分し、前記縮小光バッファのそれぞれが、前記画素の１つに関連する前記光源の１つに対応させることと、
−  前記縮小光バッファに問い合わせることによって前記視認性試験を行うことと、
を実行するように構成される、請求項１に記載の装置。
【請求項４】
前記バッファリング記憶装置が、前記画素にそれぞれマッピングされたバッファ素子を含む、請求項３に記載の装置。
【請求項５】
前記少なくとも１つのプロセッサが、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックスを前記画素の前記それぞれにマッピングされた前記バッファ素子に格納するように構成される、請求項４に記載の装置。
【請求項６】
前記少なくとも１つのプロセッサが、前記バッファ素子を前記縮小光バッファにクラスタ化するように構成される、請求項３に記載の装置。
【請求項７】
前記少なくとも１つのプロセッサが、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックス及び前記画素の前記それぞれに関連する前記交点の位置を前記縮小光バッファのそれぞれに格納するように構成される、請求項３に記載の装置。
【請求項８】
前記少なくとも１つのプロセッサが、前記光源のいずれかに関連する前記視認性試験の少なくとも２つを並列に実行するように構成される、請求項１に記載の装置。
【請求項９】
前記装置が、
−  前記３Ｄシーン及び前記光源に関するデータを受信するように適合された少なくとも１つの入力部と、
−  前記レンダリングから結果としてもたらされるレンダリングされた画像を出力するように適合された少なくとも１つの出力部と、
を更に含む、請求項１に記載の装置。
【請求項１０】
画像を生成するように適合された少なくとも１つのプロセッサと、
前記生成画像を格納するように適合された少なくとも１つのフレームバッファと、
前記少なくとも１つのフレームバッファからディスプレイに前記生成画像を提供するように適合された前記ディスプレイへの少なくとも１つの出力部と、
を含むＧＰＵ又はグラフィックス処理ユニットであって、請求項１に従ってレンダリングするための装置を含むＧＰＵ又はグラフィックス処理ユニット。
【請求項１１】
少なくとも２つの光源によって照明された３Ｄシーンを経路追跡することによって画像グリッド上でレンダリングするための方法であって、前記画像グリッドが、画素を含み、前記方法が、
−  前記画素それぞれのために、前記３Ｄシーンにおける前記画素の前記それぞれから生じる少なくとも１つの光線を追跡することであって、前記少なくとも１つの光線が、交点において前記３Ｄシーンの対象物と出会うまで追跡することと、
−  前記対象物上の前記交点で前記少なくとも１つの光線を前記３Ｄシーンの前記光源の少なくとも１つの方向へ反射させることと、
−  前記交点と前記光源の前記少なくとも１つとの間で前記少なくとも１つの光線用の視認性試験を行うことと、
−  前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素における前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも１つにおける寄与を追加することと、
を含み、
前記方法が、前記光源に従いクラスタ方式で画素にわたり視認性試験を進めることであって、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び／又はメモリ記憶装置の点でクラスタ化されることを更に含む方法。
【請求項１２】
前記方法が、前記光源から前記交点の方向へ光視認性光線を放出することによって、前記交点と前記光源との間で前記画素のそれぞれのために前記視認性試験を実行することを含む、請求項１１に記載の方法。
【請求項１３】
前記画像グリッドが、バッファリング記憶装置により提供され、前記方法が、
−  前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記交点における前記光源の前記寄与を前記バッファリング記憶装置に格納することと、
−  前記視認性試験を行う前に、前記視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも２つのバッファに前記バッファリング記憶装置を配分し、前記縮小光バッファのそれぞれが、前記画素の１つに関連する前記光源の１つに対応することと、
−  前記縮小光バッファに問い合わせることによって前記視認性試験を行うことと、
を含む、請求項１１に記載の方法。
【請求項１４】
前記バッファリング記憶装置が、前記画素にそれぞれマッピングされたバッファ素子を含む、請求項１３に記載の方法。
【請求項１５】
前記方法が、前記画素のそれぞれのために、前記画素の前記それぞれに関連する前記光源のインデックスを、前記画素の前記それぞれにマッピングされた前記バッファ素子に格納することを含む、請求項１４に記載の方法。
【請求項１６】
−  前記画素それぞれのために、前記３Ｄシーンにおける前記画素の前記それぞれから生じる少なくとも１つの光線を追跡することであって、前記少なくとも１つの光線が、交点において前記３Ｄシーンの対象物と出会うまで追跡することと、
−  前記対象物上の前記交点で前記少なくとも１つの光線を前記３Ｄシーンの前記光源の少なくとも１つの方向へ反射させることと、
−  前記交点と前記光源の前記少なくとも１つとの間で前記少なくとも１つの光線用の視認性試験を行うことと、
−  前記視認性試験が、正の出力を結果としてもたらす場合のみ、前記画像グリッドの前記画素における前記レンダリングを実行する際に、前記交点における前記光源の前記少なくとも１つにおける寄与を追加することと、
を含む、３Ｄシーンをレンダリングするための方法を実行するコンピュータによって実行可能な命令プログラムを実体的に具体化する、コンピュータによって判読可能な非一時的なプログラム記憶装置であって、
前記方法が、前記光源に従いクラスタ方式で前記画素にわたり前記視認性試験を進めることであって、前記視認性試験が、前記視認性試験にそれぞれ関連する前記光源に相関する計算及び／又はメモリ記憶装置の点でクラスタ化されることを更に含む非一時的なプログラム記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
１．技術分野
本発明は、特に、複合照明を用いた仮想３Ｄシーンのインタラクティブレンダリング用の、コンピュータグラフィックスにおける画像レンダリング領域に関する。本発明は、とりわけ、ＧＰＵ（グラフィックス処理ユニット）リアルタイムレンダリングに関する。
【０００２】
本開示において、「レンダリング」という用語は、視覚画像へのジオメトリ及び素材データの変換を広く指す。
【背景技術】
【０００３】
２．背景技術
現実的な照明効果のレンダリングは、全ての直接及び間接照明の寄与を考慮することによる、シーンの十分な光変換の適切なシミュレーションを必要とする。この挑戦的なタスクは、表面に達して四方八方に散乱される全ての照明寄与の積分により表されるレンダリング方程式を解くことを要する。かかる方程式は、例えば、James T. Kajiya,“The Rendering Equation”, ACM SIGGRAPH Computer Graphics, n°143-150, 1986による記事に説明されている。
【０００４】
しかしながら、そのレンダリング方程式を解くことは、主に複合的なシーンジオメトリによって誘発される視認性問題故に、簡単なことではなく、解析的解法は存在しない。経路追跡（特に上記のＡＣＭ  ＳＩＧＧＲＡＰＨの言及を参照）などの確率的光線追跡法は、その方程式を解くために、大量の光路を追跡する必要がある。
【０００５】
多くの確率的経路が、直接的には光源に達しないので、経路追跡エンジンは、次のイベントシミュレーションと呼ばれる、経路に沿った直接光サンプリング戦略に依存することが多い。この方法は、経路に沿った各反射において光源を直接サンプリングすること、及びその光寄与を経路によって伝達されたエネルギに追加することによって、経路追跡収束速度を改善する。
【０００６】
この技術は、エネルギを経路に追加する際に非常に助けとなるが、しかし必要とされる計算時間においては改善すべきものがあり得る。
【０００７】
D. van Antwerpen,“Improving SIMD Efficiency for Parallel Monte Carlo Light transport on the GPU”, High Performance Graphics, 2011による記事において、特に経路追跡などのモンテカルロ光輸送アルゴリズムは、ランダムウォークの確率的終了に関連して改善されるが、ランダムウォークは、通常、サンプル間の不均一な作業負荷に帰着し、それは、ＳＩＭＤ（単一命令多重データ）効率を低下させる。この点において、ストリーム圧縮が、サンプル再生と組み合わされ、新しいサンプルは、各拡張後のストリームの終わりに再生される。新しく生成されたサンプルが、ストリームの終わりに並んで配置されるので、ＳＩＭＤ効率は、サンプル再生中は高いままになる。
【０００８】
計算効率を向上させるが、計算効率は、ランダムなロシアンルーレット終了に、且つ関連するワープにおいて並んで新しく生成されたサンプルの数に依存する。
【０００９】
また、双方向経路追跡の技術もまた、よく知られている。かかる実装形態において、光線は、両方の画素及び光源から追跡される。より正確には、ランダムウォーク段階中に、眼経路及び光路は、各サンプル用に構成され、両方が終了すると、それらの経路間の全ての接続は、接続段階中に評価される。
【００１０】
従って、眼経路及び光路の確率的終了は、サンプル間の不均一な作業負荷に帰着する。上記の記事においてD. van Antwerpenによって提案された解決法は、言及された効率制限に従う例の問題を部分的に解決する。
【００１１】
E. P. Lafortune and Y. D. Willems,“Reducing the Number of Shadow Rays in Bidirectional Path Tracing”, WSCG’95, 1995による記事において、双方向経路追跡におけるシャドー光線の数を低減するためのアルゴリズムが提案される。サンプル数を共同して増加させることによって、確率的プロセスの変動におけるわずかな増加を補償することができる。より正確には、シャドー光線は、それらの寄与の重要性に基づいて選択される。実装形態に依存して、単一のシャドー光線が、光路上のポイント当たりの照明寄与のグループ、眼経路上のポイント当たりの照明寄与のグループ、又は全ての照明寄与のグループ間の各グループ用に選択される。画素当たりのサンプル数は、光線の一定の総数をほぼ取得するように選択される。
【００１２】
その解決法は、ＲＭＳ（二乗平均）誤差を減少させるが、特に小さなシーンに関し、シャドー光線交差試験に消費される時間と比較して、顕著なオーバーヘッド故に計算効率に影響を及ぼす傾向がある。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
３．概要
本開示の目的は、同一のサンプリング戦略を維持できるようにしながら、既存の経路追跡技術に対して計算時間を更に低減すること、及びレンダリングアルゴリズムにおけるシャドー計算を加速することである。
【００１４】
本開示の目的は、特に、既存の光線追跡システム又は遅延レンダリングエンジンと互換性があり、グラフィックスハードウェア上での実行が有利に容易であるレンダリング装置である。
【課題を解決するための手段】
【００１５】
この点で、本開示は、少なくとも２つの光源によって照明された３Ｄシーンを経路追跡することによって画像グリッド上でレンダリングするための装置に関し、画像グリッドは、画素を含む。装置は、
−  画素のそれぞれのために、３Ｄシーンにおけるその画素から生じる少なくとも１つの光線を追跡し、その光線が、交点において３Ｄシーンの対象物と出会うまで追跡するように、
−  対象物上の交点でその光線を３Ｄシーンの光源の少なくとも１つの方へ反射させるように、
−  交点と光源との間でその光線用の視認性試験を行うように、
−  視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素においてレンダリングを実行する際に交点における光源の寄与を追加するように、
構成された少なくとも１つのプロセッサを含む。
【００１６】
本開示によれば、少なくとも１つのプロセッサは、光源に従いクラスタ方式で画素にわたって視認性試験を進めるように更に構成され、視認性試験は、視認性試験にそれぞれ関連する光源に相関する計算及び／又はメモリ記憶装置の点でクラスタ化される。
【００１７】
画素セット用の視認性試験のクラスタ化は、有利なことに、光線コヒーレンシを改善する効果を有する。何故なら、ＧＰＵ上で並列に計算された光視認性光線が、３Ｄ空間の同じ領域、即ち考慮される光源と関連付けられるからである。光視認性光線（又はシャドー光線）は、３Ｄシーンのあるポイントから別のポイントへと（それらの２ポイント間の視認性試験用に）送信される光線である。
【００１８】
典型的には、ＧＰＵは、ワープと呼ばれる並列スレッドブロックのグリッド上で、光線交差などのカーネルプログラムをインスタンス化する。各スレッドブロックは、同じカーネルを実行する同時実行スレッドセットを含む。ブロック内のスレッドは、第１レベルのキャッシュメモリ、即ちＬ１キャッシュへのアクセスを有し、一方でブロックにわたるスレッドは、わずかに遅い共有される第２レベルのキャッシュメモリ、即ちＬ２キャッシュを共有する。純粋な実例のために、特定の実施形態におけるＧＰＵは、２４のワープを含み、ワープのそれぞれは、８スレッドの４ブロックを含み、２４のワープは、ＧＰＵにおいて７６８スレッドを作る。別の特定の実施形態において、ＧＰＵは、３２スレッドの１６ブロックを含む一意のワープを含み、それは、ＧＰＵにおいて５１２スレッドになる。
【００１９】
上記の装置は、有利なことに、直接光サンプリングを用いる既存の解決法に対して、速度処理の向上をもたらす。実際に、直接光サンプリングは、光源が確率的に選択されるので、ＧＰＵキャッシュコヒーレンシを壊す傾向がある。更に、それらの周知の技術において、確率的な光源選択は、（視認性試験用に用いられる）未組織のシャドー光線につながる。即ち、ＧＰＵワープにおいて計算される光線群は、ランダム面からはじまりランダム光源に進む追跡光線である。シャドー光線のこの未組織の分散は、メモリコヒーレンシにとって悪く、処理遅延を伴う。本装置は、同じＧＰＵワープにおいて計算されたシャドー光線間のよりよいコヒーレンシの取得を支援することができる。即ち、接続経路は、それらの経路追跡実装形態において、光源によって分類することができる。
【００２０】
計算及び／又は記憶装置の点における視認性試験のクラスタ化は、恐らく特にコスト効率をよくすることができる。
【００２１】
この点で、所与のＧＰＵワープの全てのスレッドは、有利なことに、所与の反射ステップにおいて（特定の実施形態において：各所与の反射ステップにおいて）同じ光源と関連付けられる。特定の実装形態において、これは、全ての利用されるＧＰＵワープ用に達成される。また、光サンプルは、有利なことに、所与の反射ステップにおいて（特定の実施形態において：各所与の反射ステップにおいて）経路トレーサによって潜在的に選択された光源のバッファにそれぞれ関連するバッファにクラスタ化される。次に、光線クエリが、視認性試験用のそれらのバッファ上で実行され得る。
【００２２】
光源に相関する視認性試験のかかるクラスタ化の適用は、従来の光線クラスタ化の点から見て、同様に次のイベントシミュレーションを伴う経路追跡における従来の視認性試験の点から見て、極めて予想外で驚くべきものに見える。
【００２３】
特定の実装形態において、少なくとも１つのプロセッサは、光源から交点の方へ光視認性光線を放出することによって、交点と光源との間で、画素のそれぞれのために視認性試験を実行するように構成される。
【００２４】
逆シャドー光線を用いるその実装形態は、特に興味深い。何故なら、ＧＰＵ上で並列に計算される光線が、通常、３Ｄ空間のほぼ同じポイントからスタートするからである。光源からの可能な光線スタート位置は、光線が３Ｄシーンにおける任意の表面からスタートできる場合の従来の光線クエリと比較して大幅に低減される。
【００２５】
クラスタ化された解決法は、光線クエリを含むバッファにわたる高速ＧＰＵ縮小など、幾つかの方法の１つを用いて実行することができる。（ストリーム圧縮と呼ばれる）かかる実装形態の例が、D. V. Antwerpen,“Improving SIMD efficiency for parallel Monte Carlo light transport on the GPU”, Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics, pp. 41-50, 2011による記事に与えられている。
【００２６】
好ましくは、画像グリッドは、バッファリング記憶装置を提供され、少なくとも１つのプロセッサはまた、
−  視認性試験が、正の出力を結果としてもたらす場合のみ、交点における光源の寄与をバッファリング記憶装置に格納するように、
−  視認性試験を行う前に、視認性試験用に提供された、且つ縮小光バッファと呼ばれる少なくとも２つのバッファにバッファリング記憶装置を配分し、それらの縮小光バッファのそれぞれが、画素の１つに関連する光源の１つに対応するように、
−  縮小光バッファに問い合わせることによって視認性試験を行うように、
構成される。
【００２７】
バッファリング記憶装置は、有利なことに、画素にそれぞれマッピングされたバッファ素子を含む。
【００２８】
より正確には、特定の実施形態において、少なくとも１つのプロセッサは、画素のそれぞれのために、その画素に関連する光源のインデックスを、その画素にマッピングされたバッファ素子に格納するように構成される。
【００２９】
また有利なことに、少なくとも１つのプロセッサは、バッファ素子を縮小光バッファにクラスタ化するように、且つ／又は画素のそれぞれのために、その画素に関連する光源のインデックス及びその画素に関連する交点の位置を縮小光バッファのそれぞれに格納するように構成される。
【００３０】
好ましくは、少なくとも１つのプロセッサは、光源のいずれかに関連する視認性試験における少なくとも２つを並列に実行するように構成される。
【００３１】
好ましい実装形態において、装置は、
−  ３Ｄシーン及び光源に関するデータを受信するように適合された少なくとも１つの入力部と、
−  レンダリングから結果としてもたらされるレンダリングされた画像を出力するように適合された少なくとも１つの出力部と、
を更に含む。
【００３２】
本開示はまた、少なくとも２つの光源によって照明された３Ｄシーンを経路追跡することによって画像グリッド上でレンダリングするための装置に関し、画像グリッドは、画素を含む。装置は、
−  画素のそれぞれのために、３Ｄシーンにおけるその画素から生じる少なくとも１つの光線を追跡するための手段であって、その光線が、交点において３Ｄシーンの対象物と出会うまで追跡するための手段と、
−  対象物上の交点でその光線を３Ｄシーンの光源の少なくとも１つの方へ反射させるための手段と、
−  交点と光源との間でその光線用の視認性試験を行うための手段と、
−  視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素におけるレンダリングを実行する際に交点における光源の寄与を追加するための手段と、
を含む。
【００３３】
本開示によれば、視認性試験を行うための手段は、光源に従いクラスタ方式で画素にわたる視認性試験を続けるように更に構成される。
【００３４】
本発明は、画像を生成するように適合された少なくとも１つのプロセッサと、生成画像を格納するように適合された少なくとも１つのフレームバッファと、フレームバッファからのディスプレイに生成画像を提供するように適合されたディスプレイへの少なくとも１つの出力部と、を含むＧＰＵ又はグラフィックス処理ユニットに更に関する。
【００３５】
本開示によれば、ＧＰＵは、上記の実施形態に従うレンダリング用の装置を含む。
【００３６】
本開示はまた、少なくとも２つの光源によって照明された３Ｄシーンを経路追跡することによって画像グリッド上でレンダリングするための方法に関し、その画像グリッドは、画素を含む。方法は、
−  画像のそれぞれのために、３Ｄシーンにおけるその画素から生じる少なくとも１つの光線を追跡することであって、その光線が、交点において３Ｄシーンの対象物と出会うまで追跡することと、
−  対象物上の交点でその光線を３Ｄシーンの光源の少なくとも１つの方へ反射させることと、
−  交点と光源との間でその光線用の視認性試験を行うことと、
−  視認性試験が、正の出力を結果としてもたらす場合のみ、画像グリッドのその画素におけるレンダリングを実行する際に交点におけるその光源の寄与を追加することと、
を含む。
【００３７】
本開示によれば、その方法は、光源に従いクラスタ方式で画素にわたり視認性試験を進めることであって、視認性試験が、視認性試験にそれぞれ関連する光源に相関する計算及び／又はメモリ記憶装置の点でクラスタ化されることを更に含む。
【００３８】
その方法は、上記の実施形態のいずれかによる装置によって実行されるのが好ましい。
【００３９】
加えて、本開示は、プログラムがプロセッサによって実行される場合に、上記の実行モードのいずれかに従って方法ステップを実行するように適合されたソフトウェアコードを含む、３Ｄシーンをレンダリングするためのコンピュータプログラムに関する。
【００４０】
本開示は、本開示に従って３Ｄシーンをレンダリングするための方法を実行するコンピュータによって実行可能な命令プログラムを実体的に具体化する、コンピュータによって判読可能な非一時的なプログラム記憶装置に更に関する。
【００４１】
かかる非一時的なプログラム記憶装置は、限定するわけではないが、電子、磁気、光、電磁気、赤外線、半導体装置、又は前述の任意の適切な組み合わせとすることができる。より具体的な例を提供するが、次のもの、即ちポータブルコンピュータディスケット、ハードディスク、ＲＯＭ（読み取り専用メモリ）、ＥＰＲＯＭ（消去可能プログラム可能なＲＯＭ）又はフラッシュメモリ、ポータブルＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）が、単に実例であり、当業者によって容易に認識されるように排他的なリストではないことを理解されたい。
【００４２】
４．図面の一覧
特定の非限定的な実例的実施形態の次の説明を読めば、本開示が一層よく理解され、他の特定の特徴及び利点が明らかになろう。説明は、添付の図面を参照する。
【図面の簡単な説明】
【００４３】
【図１】本開示に従い、経路追跡によって画像グリッド上の３Ｄシーンをレンダリングするための装置を概略的に表すブロック図である。
【図２】図１の装置を用いた、観察者視点から画像グリッド用の３Ｄシーンに適用される光サンプリングを示す。
【図３】図２の画像グリッドに対応する光サンプリング記憶装置を示す。
【図４】図３の光サンプリング記憶装置に由来する縮小された光バッファを表す。
【図５】図１の装置で実行された連続レンダリングステップを示す流れ図である。
【図６】図１に表された装置を含むグラフィックス処理機器を図式で示す。
【発明を実施するための形態】
【００４４】
５．実施形態の詳細な説明
本説明は、本開示の原理を示す。従って、本明細書では明示的に説明も図示もされていないが、当業者が、本開示の原理を具体化する、且つその趣旨及び範囲内に含まれる様々な配列を考案できることが理解されよう。
【００４５】
本明細書で挙げられる全ての例及び条件付き言語は、本開示の原理、及び当該技術を推し進めることに対して発明者によって寄与される概念を理解する際に読者を支援する教育目的用に意図され、且つかかる特に挙げられた例及び条件への限定がないものとして解釈されるべきである。
【００４６】
更に、本開示の原理、態様及び実施形態と同様にそれらの具体例を列挙する本明細書の全ての言明は、それらの構造及び機能的等価物を包含するように意図されている。加えて、かかる等価物が、現在周知の等価物と同様に、将来開発される等価物、即ち構造にかかわらず同じ機能を実行する任意の開発される要素の両方を含むことが意図されている。
【００４７】
従って、例えば、本明細書で提示されるブロック図が、本開示の原理を具体化する実例的な回路の概念図を表すことが、当業者によって理解されよう。同様に、どんなフローチャート、流れ図等も、コンピュータ可読媒体においてほぼ表現され、従ってコンピュータ又はプロセッサ（かかるコンピュータ又はプロセッサが明示的に示されていてもいなくても）によって実行され得る様々なプロセスを表現することが理解されよう。
【００４８】
「適合される」及び「構成される」という用語は、材料を介して達成されるにせよ、ソフトウェア手段（ファームウェアを含む）を介して達成されるにせよ、本装置の初期の構成、後の適合若しくは補足、又は同様にそれらの任意の組み合わせとして、本開示において用いられる。
【００４９】
図に示されている様々な要素の機能は、専用ハードウェアと同様に、適切なソフトウェアと関連してソフトウェアを実行できるハードウェアの使用を通して提供されてもよい。プロセッサによって提供される場合に、機能は、単一の専用プロセッサ、単一の共有プロセッサ、又は複数の個別プロセッサによって提供されてもよく、それらの個別プロセッサの幾つかは、共有されてもよい。更に、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行できるハードウェアを排他的に指すと解釈されるべきではなく、処理装置を一般的に指し、処理装置は、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理装置（ＰＬＤ）を含む。加えて、関連する且つ／又は結果としての機能を実行できる命令及び／又はデータは、例えば集積回路、ハードディスク、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスク）などの光ディスク、ＲＡＭ（ランダムアクセスメモリ）、又はＲＯＭメモリなどの任意のプロセッサ可読媒体上に格納されてもよい。命令は、特に、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせに格納されてもよい。
【００５０】
図に示されている要素が、ハードウェア、ソフトウェア又はそれらの組み合わせの様々な形態で実現され得ることを理解されたい。好ましくは、これらの要素は、１つ又は複数の適切にプログラムされた汎用装置上でハードウェア及びソフトウェアの組み合わせにおいて実現され、それらの汎用装置は、プロセッサ、メモリ及び入出力インターフェースを含んでもよい。
【００５１】
本開示は、図１に示されているように、３Ｄシーンをレンダリングするための装置１の特定の機能的な実施形態に関連して説明される。
【００５２】
装置１は、経路追跡プロセスによって、光源により照明された３Ｄシーンをレンダリングするように適合される。
【００５３】
有利なことに、装置１は、言及される機能を実行するように設計され、構成され、且つ／又は適合された機器又は機器の物理的な部分であり、言及される効果又は結果を生じる。代替実装形態において、装置１は、同じマシンにおいてグループ化されるにせよ又は恐らくは遠隔の相異なるマシンにおいてグループ化されるにせよ、機器セット又は機器の物理的な部分として具体化される。
【００５４】
以下において、モジュールは、物質的で物理的に別個のコンポーネントではなく、機能的なエンティティとして理解されたい。従って、それらは、同じ有形で具体的なコンポーネントに一緒にグループ化されるか、又は幾つかのかかるコンポーネントに配分されるように具体化することができる。また、それらのモジュールのそれぞれは、恐らくそれ自体は少なくとも２つの物理コンポーネント間で共有される。加えて、モジュールは、ハードウェア、ソフトウェア、ファームウェア、又は同様にそれらの任意の混合形態において実行される。それらは、装置１の少なくとも１つのプロセッサ内で具体化されるのが好ましい。
【００５５】
装置１は、３Ｄシーンにおいて光線を追跡するためのモジュール１１と、３Ｄシーンにおいて対象物とそれらの光線との交差に対応する交点を決定するためのモジュール１２と、それらの対象物におけるそれらの光線の反射から光源をターゲットとするためのモジュール１３と、光源に対してクラスタ化される視認性試験を実行するためのモジュール１４と、交点における、結果としての光源寄与を追加するためのモジュール１５と、を含む。モジュール１１〜１５は、互いにつながれ、モジュール１５は、３Ｄシーンにおける光線追跡を遂行するためにモジュール１１にループバックする。
【００５６】
情報は、装置１と対話するユーザインターフェース１６を介して、ユーザによって入力及び検索され得る。ユーザインターフェース１６は、データ、情報又は命令を入力又は検索するのに適した任意の手段、特に当業者によって同様に周知の次の手段、即ちスクリーン、キーボード、トラックボール、タッチパッド、タッチスクリーン、ラウドスピーカ、音声認識システムのいずれか又は幾つかを含む視覚、触覚及び／又はオーディオ能力を含む。
【００５７】
装置１はまた、記憶資源１０からのシーンデータを供給されるように適合される。代替として又は補足的に、装置１は、有利なことに実時間で他の装置又は装置の一部からシーンデータを受信するように構成される。それらのシーンデータは、ジオメトリ（例えば、３Ｄシーンにおける対象物及び光源形状、サイズ及び位置であり、視点、深度マップ及び／又はシャドーマップに関連することを含む）に関する、物質の光特性（例えば半透明対象物、反射表面又は拡散表面、反射率値、光動作表現の種類）に関する、且つ照明状態（例えば時間に合わせた光源又はエリア光源と見なされる光源の種類、照明強度）に関する情報を含む。装置１は、かかるデータが、時が経てば動的に変化する場合に、かかるデータを処理できるように構成されるのが好ましい。
【００５８】
記憶資源１０は、任意の種類の適切な記憶手段から入手することができ、記憶手段は、特に、恐らくはＳＳＤ（固体ディスク）内の、フラッシュメモリなどのＲＡＭ又はＥＥＰＲＯＭ（電気的消去可能プログラム可能読み出し専用メモリとすることができる。
【００５９】
方法の実装形態は、２Ｄ画像グリッド３上に表現される３Ｄシーン２を観察者視点３０から示す図２に明確にされている。画像グリッド３は、画素アレイによって構成される。また、３Ｄシーン２は、３Ｄ対象物２１及びグランド２２などの対象物を含み、且つ光源Ｌ１、Ｌ２によって照明される。光線は、対象物２１、２２上の散乱から反射される。
【００６０】
動作において、経路は、観察者視点３０によって見られるような３Ｄシーン２における画素から開始される（モジュール１１）。それらの経路の１つが、シーン２の対象物と交差する場合に、対応する交点が決定される（モジュール１２）。これは、図示の例において、３Ｄ対象物２１が交点Ｍ１Ａ及びＭ２で交差される場合、及びグランド２２が交点Ｍ１Ｂで交差される場合である。
【００６１】
次に、光源の１つが、それらの交点Ｍ１Ａ、Ｍ１Ｂ及びＭ２のそれぞれのためにランダムに選択され（モジュール１３）、視認性試験が、関係のある交点と、関連する選択された光源との間で行われる（モジュール１４）。図示の例において、交点Ｍ１Ａ、Ｍ１Ｂは、両方とも光源１と関連付けられ、一方で交点Ｍ２は、光源Ｌ２と関連付けられる。本開示に従って、視認性試験は、光源Ｌ１、Ｌ２に対してクラスタ方式で画像グリッド３の画素セット用に実行される。即ち、視認性試験の処理は、Ｍ１Ａ及びＭ１Ｂ用に共同で、且つＭ２用には恐らく別個に実行される。
【００６２】
次に、光源Ｌ１及びＬ２の照明寄与は、必要に応じてＭ１Ａ、Ｍ１Ｂ及びＭ２用の放射輝度計算に追加され（モジュール１５）、それは、画像グリッド３における画素Ｐ１Ａ、Ｐ１Ｂ及びＰ２用の関連する表現にそれぞれつながる。
【００６３】
視認性試験に適用されるクラスタ化された動作は、図３及び４に関連して、特定の実装形態において以下で更に詳述される。スレッドの２Ｄグリッドが、画像画素の２Ｄ画像グリッド３にマッピングされ、２Ｄバッファ記憶装置Ｓ（バッファなど）が、光サンプリング用に使用される。それによって、その２Ｄバッファ記憶装置は、計算グリッド及び画像グリッド３上にマッピングされる。計算グリッドにおける各スレッドは、画素の１つのための経路を計算する責任を負う。
【００６４】
経路に沿った各反射において、現在の画素用にランダムに選択された光源は、２Ｄバッファ記憶装置Ｓに格納されたインデックスを有する。図示の例（図３）において、光サンプリング記憶装置Ｓは、画像グリッド３の画素に従って分割され、その結果、位置Ｂ１Ａ、Ｂ１Ｂ及びＢ２は、画素Ｐ１Ａ、Ｐ１Ｂ及びＰ２にそれぞれ対応し、関連データを受信する。
【００６５】
有利なことに、光サンプリング記憶装置Ｓは、Ｎの小さなバッファに動的に縮小され、Ｎは、関係する光源の数である。例（図４）において、Ｎ＝２で小さな（又は縮小された）バッファＲＢ１及びＲＢ２は、光源Ｌ１及びＬ２にそれぞれ対応する。次に、縮小バッファＲＢ１は、交点Ｍ１Ａ及びＭ１Ｂにそれぞれ対応する２つの部分ＲＢ１Ａ及びＲＢ１Ｂを含み、一方で縮小バッファＲＢ２は、交点Ｍ２に対応する１つの位置を含む。
【００６６】
次に、サンプリングされた光源と表面との間の視認性を解くために、逆光線クエリが、それらのＮの小さなバッファ（ＲＢ１、ＲＢ２）に対して計算される。
【００６７】
実行において、図５に示されているように、装置１は、レンダリング動作において以下のように進むのが好ましい。開始ステージ（ステップ４１）において、経路は、３Ｄシーン２において開始される。次に、各経路用に（ボックス４２）、最大経路長さに達したかどうかがチェックされる（ステップ４３）。ｙｅｓの場合に、処理は、その経路用には終了される（ステップ４４）。そうでなければ、経路が３Ｄシーン２と交差するかどうかがチェックされる（ステップ４５）。ｎｏの場合に、処理は、その経路用には終了される（ステップ４４）。
【００６８】
そうでなければ、経路と３Ｄシーン２との間の交差から取得された交点に関連して、光源が、ランダムに選択される（ステップ４６）。従って、関連する光源インデックスが、光サンプリング記憶装置Ｓに格納される（ステップ４７）。
【００６９】
次に、経路及び従って画像グリッド３の画素用に集合的に、光サンプリング記憶装置Ｓは、Ｎの小さな光バッファに縮小され（ステップ４８）、逆シャドー光線が、それらの光バッファ用に計算される（ステップ４９）。
【００７０】
有利なことに、それらの特徴は、ＧＰＵシェーダ又は計算カーネルにおいて実現される。
【００７１】
図６に見える特定の機器５は、上記の装置１を具体化している。それは、例えば、パーソナルコンピュータ（ＰＣ）、ラップトップ、タブレット、スマートフォン、又はゲームコンソール（例えば画像を生で生成及び表示する専門のゲームコンソールなど）に対応する。機器５は、クロック信号もまた搬送する、アドレス及びデータのバス５５によって、互いに接続される以下の要素を含む。即ち、
−  マイクロプロセッサ５１（又はＣＰＵ）と、
−  幾つかのグラフィカルプロセッサユニット（又はＧＰＵ）５２０及びグラフィカルランダムアクセスメモリ（ＧＲＡＭ）５２１を含むグラフィックスカード５２と、
−  ＲＯＭ型５６の不揮発性メモリと、
−  ＲＡＭ５７と、
−  例えばキーボード、マウス、ジョイスティック、ウェブカメラなどの１つ又は幾つかのＩ／Ｏ（入出力）装置５４（例えば音声認識など、コマンドの導入用の他のモードもまた可能である）と、
−  電源５８と、
−  無線周波数ユニット５９と、
を含む。
【００７２】
機器５はまた、グラフィックスカードにおいて計算され構成された合成画像を例えば生で表示するために、グラフィックスカード５２に直接接続された表示画面タイプの表示装置５３を含む。グラフィックスカード５２に表示装置５３を接続する専用バスの使用は、はるかに大きなデータ送信ビットレートを有する、且つ従ってグラフィックスカードによって構成された画像の表示用の待ち時間を低減するという利点を提供する。変形によれば、表示装置は、機器５の外部にあり、且つ表示信号を送信するために、ケーブルによって又は無線で機器５に接続される。機器５、例えばグラフィックスカード５２は、例えばＬＣＤ、プラズマスクリーン、又はビデオプロジェクタなどの外部表示手段に表示信号を送信するように適合された、送信又は接続用のインターフェースを含む。この点で、ＲＦユニット５９は、無線送信用に使用することができる。
【００７３】
メモリ５２１、５６及び５７の説明において用いられる「レジスタ」という単語が、低容量（幾らかの２進データ）のメモリゾーンと同様に大容量（プログラム全体を格納できるようにするか又は計算されたデータを表すデータの全て若しくは一部を表示できるようにする）のメモリゾーンの両方を、言及されるメモリのそれぞれにおいて示すことに留意されたい。また、ＧＲＡＭ５２１用に表されたレジスタは、任意の方法で配置及び構成することができ、レジスタのそれぞれは、必ずしも隣接するメモリ位置に対応せず、別の状況では分散することができる（それは、１つのレジスタが、幾つかのより小さなレジスタを含む状況を特にカバーする）。
【００７４】
スイッチオンされると、マイクロプロセッサ５１は、ＲＡＭ５７に含まれるプログラムの命令をロードし実行する。
【００７５】
ランダムアクセスメモリ５７は、
−  レジスタ５７０における、機器５をスイッチオンする責任があるマイクロプロセッサ５１の動作プログラムと、
−  レジスタ５７１における、シーンを表すパラメータ（例えばシーンの対象物のモデル化パラメータ、シーンの照明パラメータ）と、
−  レジスタ５７２における、例えば光サンプリング記憶装置Ｓ及び小さな光バッファＲＢ１、ＲＢ２などのサンプリングパラメータと、
を特に含む。
【００７６】
本開示に特有の、且つ上記で説明した方法ステップを実行するアルゴリズムは、それらのステップを実行する機器５に関連するグラフィックスカード５２のメモリＧＲＡＭ５２１に格納される。スイッチオンされ、且つひとたび環境及びピーク形状関数データを表すパラメータ５７１及び５７２が、ＲＡＭ５７にロードされると、グラフィックスカード５２のグラフィックプロセッサ５２０は、それらのパラメータをＧＲＡＭ５２１にロードし、例えばＨＬＳＬ（ハイレベルシェーダ言語）という言語又はＧＬＳＬ（オープンＧＬシェーダ言語）を用い、「シェーダ」タイプのマイクロプログラムの形態におけるそれらのアルゴリズムの命令を実行する。
【００７７】
ランダムアクセスメモリＧＲＡＭ５２１は、
−  レジスタ５２１１における、シーンを表すパラメータと、
−  レジスタ５２１２における、ロードされたサンプリングパラメータと、
−  レジスタ５２１３における、レンダリング動作の枠において計算されたローカル放射輝度と、
を特に含む。
【００７８】
変形によれば、原始関数に関係するデータの少なくとも幾らかは、ＲＡＭ５７に格納され、マイクロプロセッサ５１によって処理される。しかしながら、この変形は、ＧＰＵ５２０に含まれるマイクロプログラムから構成された環境の表現を含む画像の合成において、より大きな待ち時間をもたらす。何故なら、データは、バス５５を通ってグラフィックスカードからランダムアクセスメモリ５７に送信されなければならず、そのための送信容量は、ＧＰＵ５２０からＧＲＡＭ５２１への（逆も同様である）データの送信用にグラフィックスカードにおいて利用可能な容量より一般に劣っているからである。
【００７９】
別の変形によれば、電源５８は、機器５の外部にある。
【００８０】
本開示及び詳細な実施形態に基づいて、他の実装形態が可能であり、且つ本発明の範囲から逸脱せずに当業者の手の届く範囲内にある。特定の要素は、本開示の枠内に留まったまま、任意の方法で特に交換するか又は関連付けることができる。また、相異なる実装形態の要素は、他の実装形態を生成するために、結合されるか、補足されるか、修正されるか、又は除去されてもよい。特に、どんなＢＲＤＦ（双方向反射率分布関数）モデルも、説明された機能性を保持しながら利用することができる。それらの全ての可能性は、本開示によって意図されている。
【図１】
2018124986.tif 000003
【図２】
2018124986.tif 000004
【図３】
2018124986.tif 000005
【図４】
2018124986.tif 000006
【図５】
2018124986.tif 000007
【図６】
2018124986.tif 000008
【外国語明細書】
2018124986000001.pdf