(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-01
(54)【発明の名称】ライトフィールドボリュームレンダリングシステムおよび方法
(51)【国際特許分類】
G06T 15/08 20110101AFI20230525BHJP
【FI】
G06T15/08
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022565703
(86)(22)【出願日】2021-04-26
(85)【翻訳文提出日】2022-10-26
(86)【国際出願番号】 CA2021050570
(87)【国際公開番号】W WO2021217250
(87)【国際公開日】2021-11-04
(32)【優先日】2020-04-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521093576
【氏名又は名称】アヴァロン ホログラフィックス インク.
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100176337
【氏名又は名称】杉本 弘樹
(72)【発明者】
【氏名】ハミルトン マシュー
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA17
5B080BA02
5B080CA01
5B080CA04
5B080CA08
5B080DA06
5B080FA02
5B080FA03
5B080FA08
5B080FA17
5B080GA06
5B080GA11
5B080GA21
(57)【要約】
ライトフィールドデータがホゲルのサブセットへの分割を導入する階層化方式を受ける、ライトフィールドをボリュームレンダリングするためのシステムおよび方法である。レイヤボリュームのサブボリュームに対応する各サブセットは、レイヤのサブ領域に対応する。レンダリングされたライトフィールド画像を生成するための、効率的なローカルメモリキャッシュ技術、メモリ帯域幅要件を低減するためのプレノプティックダウンサンプリング戦略、およびボリュームレンダリングアルゴリズムと組み合わされたデータの新規な分割である。結果として得られる画像の品質を維持しながら、必要とされるサンプルの総数の減少が得られることができる。アクセスコヒーレンシを最大化するために、光線計算と整合したメモリアクセスを順序付ける方法も提供される。リアルタイム階層化シーン分解が表面レンダリング方法と組み合わせられて、重畳されたボリュームおよび表面を含むシーンのレンダリングをサポートするハイブリッドリアルタイムレンダリング方法を作成することができる。
【特許請求の範囲】
【請求項1】
コンピュータシステムにおけるシーンのライトフィールドボリュームレンダリングのための方法であって、
ボリュームデータを含むシーンの3次元記述をレイヤに分割することであって、各レイヤが関連するライトフィールドおよび少なくとも1つのスラブボリュームを有し、各スラブボリュームが、ホゲルサブセットに関連付けられた全ての光線がスラブボリュームと交差するように、関連する前記ホゲルサブセットを有する、分割することと、
ボリュームレンダリング計算が前記ホゲルサブセット内の光線に対して実行されてレンダリングされたライトフィールドを提供するように、各レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングすることと、
前記対応するスラブボリュームと交差する前記ボリュームデータをキャッシュし、ローカルストアキャッシュメモリに前記ボリュームデータを記憶することと、
各レイヤに関連付けられた前記レンダリングされたライトフィールドを単一の出力ライトフィールド画像にブレンドすることと、を含む、方法。
【請求項2】
前記ボリュームデータの一部のみがキャッシュされる、請求項1に記載の方法。
【請求項3】
前記ホゲルサブセット内の光線に対して実行された前記ボリュームレンダリング計算を、前記スラブ内へのそれらの初期入射時に同期させることをさらに含む、請求項1または2に記載の方法。
【請求項4】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記スラブボリュームと交差する前記光線に対して再構成計算が実行され、前記光線が、前記ローカルストアキャッシュメモリからボリューム要素のセットに選択的にアクセスすることによって、光線経路に沿って位置する再サンプリング点に関連付けられた前記スラブボリュームと交差する、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記ホゲルサブセットが、前記サブセット内の前記ホゲルにおける光線サンプルの重なりを利用するようなサイズにされる、請求項1~5のいずれか一項に記載の方法。
【請求項7】
各ホゲルサブセットに対応するボリュームレンダリング計算が、それらが前記対応するスラブボリュームと交差するときに同期される、請求項1~6のいずれか一項に記載の方法。
【請求項8】
リアルタイムレンダリングシステムにおいて使用される、請求項1~7のいずれか一項に記載の方法。
【請求項9】
ライトフィールド画像レンダリング方法であって、
表面データ要素およびボリュームデータを含むシーンの3次元記述を複数のレイヤに分割するステップであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有する、分割するステップと、
前記複数のレイヤのうちの少なくとも1つを複数のサブセクションにさらに分割するステップであって、各サブセクションが関連するライトフィールドおよびサンプリング方式を有し、各サブセクションの位置が、前記シーン内に表現されたオブジェクトの少なくとも一部の幾何学的形状にしたがって決定される、さらに分割するステップと、
各レイヤおよび各サブセクションについて、前記サンプリング方式にしたがって各レイヤおよび各サブセクション内に含まれる前記表面データを使用して画素外情報を含む画素のセットをレンダリングして、サンプリングされたライトフィールドを生成するステップと、
前記画素のセットを使用して各レイヤおよびサブセクションについて前記サンプリングされたライトフィールドを再構成するステップと、
前記レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングするステップと、
前記再構成されたサンプリングされたライトフィールドと、各レイヤおよびサブセクションに関連付けられたボリュームレンダリングされたライトフィールドとを単一の出力ライトフィールド画像にブレンドするステップと、を含む、ライトフィールド画像レンダリング方法。
【請求項10】
前記サンプリング方式が、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む、請求項9に記載の方法。
【請求項11】
各レイヤに関連付けられた各ライトフィールドが、1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよびその関連レイヤが、前記レイヤのサブボリュームであるスラブボリュームを定義し、前記方法が、
各レイヤに関連付けられた光線に関連するボリュームレンダリング計算を同期させることと、
各対応するスラブボリュームと交差する前記ボリュームデータをキャッシュすることと、
前記光線が前記スラブボリュームと交差するときに、各ホゲルサブセット内の前記光線をボリュームレンダリングすることと、をさらに含む、請求項9または10に記載の方法。
【請求項12】
前記ボリュームデータの一部のみがキャッシュされる、請求項11に記載の方法。
【請求項13】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項11または12に記載の方法。
【請求項14】
前記ホゲルサブセットが、前記サブセット内の前記ホゲル間の光線サンプルの重なりを利用するようなサイズにされる、請求項11~13のいずれか一項に記載の方法。
【請求項15】
ホゲルサブセットに対応する全てのボリュームレンダリング計算が、それらが前記対応するスラブボリュームと交差するときに同期される、請求項11~14のいずれか一項に記載の方法。
【請求項16】
リアルタイムレンダリングシステムにおいて使用される、請求項9~15のいずれか一項に記載の方法。
【請求項17】
コンピュータシステムにおけるシーンのライトフィールドボリュームレンダリングのための方法であって、
ボリュームデータ要素を含む3次元シーンをレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有し、各ライトフィールドが1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよび前記レイヤおよび関連するライトフィールドが、前記レイヤのサブボリュームを含むスラブボリュームを定義する、分割することと、
複数のレンダリングされたライトフィールドを提供するために前記サンプリング方式にしたがって前記レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングすることと、
各レイヤに関連付けられた前記レンダリングされたライトフィールドを単一の出力ライトフィールド画像にアップスケーリングおよびブレンドすることと、を含む、方法。
【請求項18】
前記サンプリング方式が、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む、請求項17に記載の方法。
【請求項19】
前記スラブボリュームと交差する前記ボリュームデータがキャッシュされる、請求項17または18に記載の方法。
【請求項20】
前記スラブボリュームと交差する前記ボリュームデータの一部のみがキャッシュされる、請求項19に記載の方法。
【請求項21】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項17~20のいずれか一項に記載の方法。
【請求項22】
前記ホゲルサブセットが、前記サブセット内の前記ホゲル間の光線サンプルの重なりを利用するようなサイズにされる、請求項17~21のいずれか一項に記載の方法。
【請求項23】
リアルタイムレンダリングシステムにおいて使用される、請求項17~22のいずれか一項に記載の方法。
【請求項24】
コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、
ボリュームデータを記憶するためのシステムメモリと、
前記システムメモリと動作可能に結合されたプロセッサデバイスであって、
ボリュームデータを含むシーンの3次元記述をレイヤに分割することであって、各レイヤが関連するライトフィールドおよび少なくとも1つのスラブボリュームを有し、ホゲルサブセットに関連付けられた全ての光線が前記スラブボリュームと交差するように、各スラブボリュームが関連する前記ホゲルサブセットを有する、分割することと、
前記ホゲルサブセット内の光線および前記スラブボリュームと交差する光線についてボリュームレンダリング計算が実行されてレンダリングされたライトフィールドを提供するように、各レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングすることと、
前記対応するスラブボリュームと交差する前記ボリュームライトフィールドデータをキャッシュし、前記ボリュームライトフィールドデータをローカルストアキャッシュメモリに記憶することと、
各レイヤに関連付けられた前記レンダリングされたライトフィールドを単一の出力ライトフィールド画像にブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システム。
【請求項25】
前記ボリュームデータの一部のみがキャッシュされる、請求項24に記載のシステム。
【請求項26】
前記システムメモリが、ホゲルサブセット内の光線に関連する前記ボリュームレンダリング計算を同期させるようにさらに構成される、請求項24または25に記載のシステム。
【請求項27】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項24~26のいずれか一項に記載のシステム。
【請求項28】
前記ローカルストアキャッシュメモリからボリューム要素のセットに選択的にアクセスすることによって前記スラブボリュームと交差する光線に対して再構成計算が実行される、請求項24~27のいずれか一項に記載のシステム。
【請求項29】
前記ホゲルサブセットが、前記サブセット内の前記ホゲル間の光線サンプルの重なりを利用するようなサイズにされる、請求項24~28のいずれか一項に記載のシステム。
【請求項30】
ホゲルサブセットに関連付けられた前記光線が前記スラブボリュームと交差するとき、前記ホゲルサブセットに対応するボリュームレンダリング計算が同期される、請求項24~29のいずれか一項に記載のシステム。
【請求項31】
リアルタイムレンダリングシステムにおいて使用するためのものである、請求項24~30のいずれか一項に記載のシステム。
【請求項32】
コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、
ボリュームデータを記憶するためのシステムメモリと、
前記システムメモリと動作可能に結合されたプロセッサデバイスであって、
表面データ要素およびボリュームデータを含むシーンの3次元記述を複数のレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有する、分割することと、
前記複数のレイヤのうちの少なくとも1つを複数のサブセクションにさらに分割することであって、各サブセクションが関連するライトフィールドおよびサンプリング方式を有し、各サブセクションの位置が、前記シーンにおいて表現されるオブジェクトの少なくとも一部の幾何学的形状にしたがって決定される、さらに分割することと、
各レイヤおよび各サブセクションについて、前記サンプリング方式にしたがって各レイヤおよび各サブセクション内に含まれる表面データを使用して画素外情報を含む画素のセットをレンダリングして、サンプリングされたライトフィールドを生成することと、
前記画素のセットを使用して各レイヤおよびサブセクションについて前記サンプリングされたライトフィールドを再構成することと、
前記レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングすることと、
前記再構成されたサンプリングされたライトフィールドと、各レイヤおよびサブセクションに関連付けられたボリュームレンダリングされたライトフィールドとを単一の出力ライトフィールド画像にブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システム。
【請求項33】
前記サンプリング方式が、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む、請求項32に記載のシステム。
【請求項34】
レイヤに関連付けられた各ライトフィールドが、1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよび前記関連するレイヤが、前記スラブボリュームと呼ばれる前記レイヤのサブボリュームを定義し、
光線に関連するボリュームレンダリング計算を同期させることと、
前記対応するスラブボリュームと交差する前記ボリュームデータをキャッシュすることと、をさらに含み、
前記ホゲルサブセット内の全ての光線に対するボリュームレンダリング計算が、それらが前記スラブボリュームと交差するときに実行される、請求項32または33に記載のシステム。
【請求項35】
前記ボリュームデータの一部のみがキャッシュされる、請求項32~34のいずれか一項に記載のシステム。
【請求項36】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項32~35のいずれか一項に記載のシステム。
【請求項37】
前記ホゲルサブセットが、前記サブセット内の前記ホゲル間の光線サンプルの重なりを利用するようなサイズにされる、請求項32~36のいずれか一項に記載のシステム。
【請求項38】
各ホゲルサブセットに関連付けられた前記光線が前記スラブボリュームと交差するとき、前記ホゲルサブセットに対応するボリュームレンダリング計算が同期される、請求項32~37のいずれか一項に記載のシステム。
【請求項39】
リアルタイムレンダリングシステムにおいて使用するためのものである、請求項32~38のいずれか一項に記載のシステム。
【請求項40】
コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、
ボリュームデータを記憶するためのシステムメモリと、
前記システムメモリと動作可能に結合されたプロセッサデバイスであって、
ボリュームデータ要素を含む3次元シーンをレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有し、各ライトフィールドが1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよびレイヤが、前記レイヤのサブボリュームを含むスラブボリュームを定義する、分割することと、
前記サンプリング方式にしたがって前記レイヤ内に含まれる前記ボリュームデータを使用して各レイヤに関連付けられた前記ライトフィールドをボリュームレンダリングすることと、
各レイヤに関連付けられた前記レンダリングされたライトフィールドを単一の出力ライトフィールド画像にアップスケールおよびブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システム。
【請求項41】
前記サンプリング方式が、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む、請求項40に記載のシステム。
【請求項42】
前記スラブボリュームと交差する前記ホゲルサブセットの前記ボリュームデータがキャッシュされる、請求項40または41に記載のシステム。
【請求項43】
前記スラブボリュームと交差する前記ホゲルサブセットの前記ボリュームデータの一部のみがキャッシュされる、請求項42に記載のシステム。
【請求項44】
少なくとも1つのレイヤが2つ以上のスラブボリュームを有する、請求項40~43のいずれか一項に記載のシステム。
【請求項45】
前記ホゲルサブセットが、前記サブセット内の前記ホゲルの間の光線サンプルの重なりを利用するようなサイズである、請求項40~44のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2020年4月27日に出願された米国特許出願第63/015,929号の優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、画像およびライトフィールドデータをレンダリングするためのライトフィールドボリュームレンダリングに関し、これは、レンダリング、データ圧縮および解凍システム、ならびにライトフィールドディスプレイにおいてインタラクティブな多次元コンテンツを提供するための方法と組み合わせることができる。
【背景技術】
【0003】
ライトフィールドディスプレイ上でボリュームデータを視覚化するためのボリュームレンダリングライトフィールドの技術が望ましい。ライトフィールドをレンダリングするボリュームは、新たなレベルの説得力のある没入型体験を達成する機会を提供する。ボリュームレンダリングは、医用画像の視覚化、地震の視覚化、流体力学、および工業検査において特に有用である。具体的には、医療分野では、例えば、磁気共鳴撮像(MRI)などのスキャンから生じる3次元(3D)撮像を見る能力は、人間の解剖学的構造を深く理解することを可能にし、効率的な診断を容易にする。さらにまた、この視覚化機能はリアルタイムのインタラクティブレートで実行されることができる場合、時間的要素も組み込むことができるより大きくてより詳細なデータセットを使用して、より詳細で効率的且つ正確な診断が実行されることができる。
【0004】
リアルタイムのコンピュータグラフィックスに関して、3Dシーンは、典型的には、例えばポリゴン、点、スプラインを使用して表面のセットとして表される。当該技術分野において知られているリアルタイム表面レンダリング技術は、一般に、光が反射されるシーンの画像のみを合成する。表面反射を超えるモデリングを可能にする表現の1つの方法は、ボリュームレンダリング技術と結合されたボリューム表現を使用することを含む。しかしながら、これは、一般に、ボリュームデータの多くの光線および多くのサンプルを必要とする。ボリュームレンダリングは計算集約的であるため、ボリュームレンダリングライトフィールドには、計算コストが低く、画質を維持する加速された方法が望ましい。
【0005】
使用可能なライトフィールドディスプレイは、許容可能な品質を達成するために少なくとも数十億画素を必要とすると言われている。したがって、ライトフィールドレンダリングは、従来の2次元(2D)画像レンダリングよりも桁違いに多くの画素または光線をレンダリングする必要がある。したがって、ライトフィールドボリュームレンダリングでは、さらに多くの光線が必要であることが分かる。ライトフィールドにおける多くの光線間の固有の交差/重なりを考えると、ライトフィールドボリュームにおいて、レンダリング光線は、同じサンプルの多くを繰り返しロードしていることが観察されることができる。しかしながら、この固有の再使用を利用するコヒーレンシ方式はあまり明白ではない。
【0006】
Stegmaierらによって記載されているように、最新のGPUでサンプリングおよびリアルタイム速度での実行の制御を向上させることを可能にするため、レイキャスティング法が好ましい方法であると思われる。ボリュームレンダリングの現代のGPU実装は、レイキャスティング手順がボリュームデータセットの多くのサンプルを採取する必要があるため、ダイナミックランダムアクセスメモリ(DRAM)メモリ帯域幅のボトルネックを有することが一般的に観察されている。ボリュームデータからのボクセルは、レンダリングアルゴリズムによって複数回アクセスされる。全てのアクセスがDRAMからの読み取りを伴う場合、メモリ帯域幅およびレイテンシは、重大な性能ボトルネックになる可能性がある。
【0007】
許容可能な作業速度で良好な解像度を提供することができるライトフィールドボリュームレンダリングシステムおよび方法の必要性が依然として存在する。
【0008】
この背景情報は、本発明に関連する可能性があると出願人が考える既知の情報を作成する目的で提供される。前述の情報のいずれかが本発明に対する先行技術を構成することを必ずしも自認を意図したものではなく、解釈されるべきでもない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、一般に、3D画像データのライトフィールドボリュームレンダリングの方法に関する。本開示は、3Dボリュームレンダリングに関連する帯域幅ベースのボトルネックの低減に直接寄与し、より迅速で計算集約的でないレンダリングプロセスを提供する、ボリュームデータのより少ないサンプルを必要とするアルゴリズムを説明する。また、本開示の目的は、レンダリング計算中の遅いメモリベースのボトルネックをさらに緩和するために、ライトフィールドボリュームレンダリングのためにキャッシュを効果的に使用する方法を示す方法を説明することである。
【課題を解決するための手段】
【0010】
一態様によれば、コンピュータシステムにおけるシーンのライトフィールドボリュームレンダリングのためのコンピュータ実装方法であって、ボリュームデータを含むシーンの3次元記述をレイヤに分割することであって、各レイヤが関連するライトフィールドおよび少なくとも1つのスラブボリュームを有し、各スラブボリュームが、ホゲルサブセットに関連付けられた全ての光線がスラブボリュームと交差するように、関連するホゲルサブセットを有する、分割することと、ボリュームレンダリング計算がホゲルサブセット内の光線に対して実行されてレンダリングされたライトフィールドを提供するように、各レイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることと、対応するスラブボリュームと交差するボリュームデータをキャッシュし、ローカルストアキャッシュメモリにボリュームデータを記憶することと、各レイヤに関連付けられたレンダリングされたライトフィールドを単一の出力ライトフィールド画像にブレンドすることと、を含む、コンピュータ実装方法が提供される。
【0011】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0012】
本方法の実施形態では、ボリュームデータの一部のみがキャッシュされる。
【0013】
別の実施形態では、本方法は、ホゲルサブセット内の光線に対して実行されたボリュームレンダリング計算を、スラブ内へのそれらの初期入射時に同期させることをさらに含む。
【0014】
本方法の別の実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0015】
本方法の別の実施形態では、スラブボリュームと交差する光線に対して再構成計算が実行され、光線は、ローカルストアキャッシュメモリからボリューム要素のセットに選択的にアクセスすることによって、光線経路に沿って位置する再サンプリング点に関連付けられたスラブボリュームと交差する。
【0016】
本方法の別の実施形態では、ホゲルサブセットは、サブセット内のホゲルにおける光線サンプルの重なりを利用するようなサイズにされる。
【0017】
本方法の別の実施形態では、各ホゲルサブセットに対応するボリュームレンダリング計算は、それらが対応するスラブボリュームと交差するときに同期される。
【0018】
別の実施形態では、本方法は、リアルタイムレンダリングシステムにおいて使用される。
【0019】
別の態様では、コンピュータ実装ライトフィールド画像レンダリング方法であって、表面データ要素およびボリュームデータを含むシーンの3次元記述を複数のレイヤに分割するステップであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有する、分割するステップと、複数のレイヤのうちの少なくとも1つを複数のサブセクションにさらに分割するステップであって、各サブセクションが関連するライトフィールドおよびサンプリング方式を有し、各サブセクションの位置が、シーン内に表現されたオブジェクトの少なくとも一部の幾何学的形状にしたがって決定される、さらに分割するステップと、各レイヤおよび各サブセクションについて、サンプリング方式にしたがって各レイヤおよび各サブセクション内に含まれる表面データを使用して画素外情報を含む画素のセットをレンダリングして、サンプリングされたライトフィールドを生成するステップと、画素のセットを使用して各レイヤおよびサブセクションについてサンプリングされたライトフィールドを再構成するステップと、レイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングするステップと、再構成されたサンプリングされたライトフィールドと、各レイヤおよびサブセクションに関連付けられたボリュームレンダリングされたライトフィールドとを単一の出力ライトフィールド画像にブレンドするステップと、を含む、コンピュータ実装ライトフィールド画像レンダリング方法が提供される。
【0020】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0021】
本方法の実施形態では、サンプリング方式は、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む。
【0022】
本方法の別の実施形態では、各レイヤに関連付けられた各ライトフィールドは、1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよびその関連レイヤは、レイヤのサブボリュームであるスラブボリュームを定義し、本方法は、各レイヤに関連付けられた光線に関連するボリュームレンダリング計算を同期させることと、各対応するスラブボリュームと交差するボリュームデータをキャッシュすることと、光線がスラブボリュームと交差するときに、各ホゲルサブセット内の光線をボリュームレンダリングすることと、をさらに含む。
【0023】
本方法の別の実施形態では、ボリュームデータの一部のみがキャッシュされる。
【0024】
本方法の別の実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0025】
本方法の別の実施形態では、ホゲルサブセットは、サブセット内のホゲル間の光線サンプルの重なりを利用するようなサイズにされる。
【0026】
本方法の別の実施形態では、ホゲルサブセットに対応する全てのボリュームレンダリング計算は、それらが対応するスラブボリュームと交差するときに同期される。
【0027】
別の実施形態では、本方法は、リアルタイムレンダリングシステムにおいて使用される。
【0028】
別の態様では、コンピュータシステムにおけるシーンのライトフィールドボリュームレンダリングのための方法であって、ボリュームデータ要素を含む3次元シーンをレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有し、各ライトフィールドが1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよびレイヤおよび関連するライトフィールドが、レイヤのサブボリュームを含むスラブボリュームを定義する、分割することと、複数のレンダリングされたライトフィールドを提供するためにサンプリング方式にしたがってレイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることと、各レイヤに関連付けられたレンダリングされたライトフィールドを単一の出力ライトフィールド画像にアップスケーリングおよびブレンドすることと、を含む、方法が提供される。
【0029】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0030】
本方法の実施形態では、サンプリング方式は、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む。
【0031】
本方法の別の実施形態では、スラブボリュームと交差するボリュームデータがキャッシュされる。
【0032】
本方法の別の実施形態では、スラブボリュームと交差するボリュームデータの一部のみがキャッシュされる。
【0033】
本方法の別の実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0034】
本方法の別の実施形態では、ホゲルサブセットは、サブセット内のホゲル間の光線サンプルの重なりを利用するようなサイズにされる。
【0035】
本方法の別の実施形態では、本方法は、リアルタイムレンダリングシステムにおいて使用される。
【0036】
別の態様では、コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、ボリュームデータを記憶するためのシステムメモリと、システムメモリと動作可能に結合されたプロセッサデバイスであって、ボリュームデータを含むシーンの3次元記述をレイヤに分割することであって、各レイヤが関連するライトフィールドおよび少なくとも1つのスラブボリュームを有し、ホゲルサブセットに関連付けられた全ての光線がスラブボリュームと交差するように、各スラブボリュームが関連するホゲルサブセットを有する、分割することと、ホゲルサブセット内の光線およびスラブボリュームと交差する光線についてボリュームレンダリング計算が実行されてレンダリングされたライトフィールドを提供するように、各レイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることと、対応するスラブボリュームと交差するボリュームライトフィールドデータをキャッシュし、ボリュームライトフィールドデータをローカルストアキャッシュメモリに記憶することと、各レイヤに関連付けられたレンダリングされたライトフィールドを単一の出力ライトフィールド画像にブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システムが提供される。
【0037】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0038】
システムの実施形態では、ボリュームデータの一部のみがキャッシュされる。
【0039】
別の実施形態では、システムメモリは、ホゲルサブセット内の光線に関連するボリュームレンダリング計算を同期させるようにさらに構成される。
【0040】
システムの実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0041】
システムの実施形態では、ローカルストアキャッシュメモリからボリューム要素のセットに選択的にアクセスすることによってスラブボリュームと交差する光線に対して再構成計算が実行される。
【0042】
システムの実施形態では、ホゲルサブセットは、サブセット内のホゲル間の光線サンプルの重なりを利用するようなサイズにされる。
【0043】
システムの実施形態では、ホゲルサブセットに関連付けられた光線がスラブボリュームと交差するとき、ホゲルサブセットに対応するボリュームレンダリング計算が同期される。
【0044】
実施形態では、システムは、リアルタイムレンダリングシステムにおいて使用するためのものである。
【0045】
別の態様では、コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、ボリュームデータを記憶するためのシステムメモリと、システムメモリと動作可能に結合されたプロセッサデバイスであって、表面データ要素およびボリュームデータを含むシーンの3次元記述を複数のレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有する、分割することと、複数のレイヤのうちの少なくとも1つを複数のサブセクションにさらに分割することであって、各サブセクションが関連するライトフィールドおよびサンプリング方式を有し、各サブセクションの位置が、シーンにおいて表現されるオブジェクトの少なくとも一部の幾何学的形状にしたがって決定される、さらに分割することと、各レイヤおよび各サブセクションについて、サンプリング方式にしたがって各レイヤおよび各サブセクション内に含まれる表面データを使用して画素外情報を含む画素のセットをレンダリングして、サンプリングされたライトフィールドを生成することと、画素のセットを使用して各レイヤおよびサブセクションについてサンプリングされたライトフィールドを再構成することと、レイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることと、再構成されたサンプリングされたライトフィールドと、各レイヤおよびサブセクションに関連付けられたボリュームレンダリングされたライトフィールドとを単一の出力ライトフィールド画像にブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システムが提供される。
【0046】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0047】
システムの実施形態では、サンプリング方式は、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む。
【0048】
システムの別の実施形態では、レイヤに関連付けられた各ライトフィールドは、1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよび関連するレイヤが、スラブボリュームと呼ばれるレイヤのサブボリュームを定義し、光線に関連するボリュームレンダリング計算を同期させることと、対応するスラブボリュームと交差するボリュームデータをキャッシュすることと、をさらに含み、ホゲルサブセット内の全ての光線に対するボリュームレンダリング計算が、それらがスラブボリュームと交差するときに実行される。
【0049】
システムの別の実施形態では、ボリュームデータの一部のみがキャッシュされる。
【0050】
システムの別の実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0051】
システムの別の実施形態では、ホゲルサブセットは、サブセット内のホゲル間の光線サンプルの重なりを利用するようなサイズにされる。
【0052】
システムの別の実施形態では、ホゲルサブセットに関連付けられた光線がスラブボリュームと交差するとき、各ホゲルサブセットに対応するボリュームレンダリング計算が同期される。
【0053】
別の実施形態では、システムは、リアルタイムレンダリングシステムにおいて使用される。
【0054】
別の実施形態では、コンピュータシステムにおいてシーンの加速されたボリュームレンダリングを実行するためのシステムであって、前記システムが、ボリュームデータを記憶するためのシステムメモリと、システムメモリと動作可能に結合されたプロセッサデバイスであって、ボリュームデータ要素を含む3次元シーンをレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有し、各ライトフィールドが1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよびレイヤが、レイヤのサブボリュームを含むスラブボリュームを定義する、分割することと、サンプリング方式にしたがってレイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることと、各レイヤに関連付けられたレンダリングされたライトフィールドを単一の出力ライトフィールド画像にアップスケールおよびブレンドすることと、を行うように構成されたプロセッサデバイスと、を備える、システムが提供される。
【0055】
実施形態は、任意の置換または組み合わせで組み合わせられることができる以下の特徴のうちの1つ以上を含むことができる。
【0056】
システムの実施形態では、サンプリング方式は、各レイヤに関連付けられたバイナリマトリックスと、各レイヤをマッピングするためのマッピング関数とを含む。
【0057】
システムの別の実施形態では、スラブボリュームと交差するホゲルサブセットのボリュームデータがキャッシュされる。
【0058】
システムの別の実施形態では、スラブボリュームと交差するホゲルサブセットのボリュームデータの一部のみがキャッシュされる。
【0059】
システムの別の実施形態では、少なくとも1つのレイヤは、2つ以上のスラブボリュームを有する。
【0060】
システムの別の実施形態では、ホゲルサブセットは、サブセット内のホゲル間の光線サンプルの重なりを利用するようなサイズにされる。
【図面の簡単な説明】
【0061】
本発明のこれらのおよび他の特徴は、添付の図面を参照する以下の詳細な説明においてより明らかになるであろう。
【0062】
【
図1A】ライトフィールドディスプレイの内側錐台ボリュームおよび外側錐台ボリュームにおける単一のホゲルの概略平面図である。
【0063】
【
図1B】ライトフィールドディスプレイの内側錐台ボリュームおよび外側錐台ボリュームの概略平面図である。
【0064】
【
図1C】ライトフィールドディスプレイの外側錐台ボリュームの単一レイヤの概略平面図である。
【0065】
【
図2】ライトフィールドボリュームレンダリングシステム/方法の実施形態の概略表現(ブロック図)である。
【0066】
【
図3A】単一のホゲルの光線経路を示すライトフィールドディスプレイの内側錐台ボリュームの概略平面図である。
【0067】
【
図3B】単一のホゲルの光線経路を示すライトフィールドディスプレイの外側錐台ボリュームの概略平面図である。
【0068】
【
図3C】単一のホゲルの光線経路を示すライトフィールドディスプレイの内側錐台ボリュームおよび外側錐台ボリュームの概略平面図である。
【0069】
【
図3D】単一のホゲルの光線経路の代替実施形態を示すライトフィールドディスプレイの外側錐台ボリュームの概略平面図である。
【0070】
【
図3E】単一のホゲルの光線経路の代替実施形態を示すライトフィールドディスプレイの内側錐台ボリュームの概略平面図である。
【0071】
【
図3F】単一のホゲルの光線経路の代替実施形態を示すライトフィールドディスプレイの内側錐台ボリュームおよび外側錐台ボリュームの概略平面図である。
【0072】
【
図4】ディスプレイの内側錐台および外側錐台ライトフィールド領域にそれぞれ相関する画像データの例示的な階層化シーン分解(10レイヤの2つの階層化方式)を概略的に示している。
【0073】
【
図5】ライトフィールドボリュームレンダリング方法のフロー図を示している。
【0074】
【
図6】ライトフィールドディスプレイの内側錐台ボリュームおよび外側錐台ボリュームの概略平面図である。
【0075】
【
図7】ライトフィールドボリュームレンダリング方法の代替実施形態のフロー図を示している。
【0076】
【
図8】ライトフィールドボリュームレンダリング方法の代替実施形態のフロー図を示している。
【発明を実施するための形態】
【0077】
定義
他に定義されない限り、本明細書において使用される全ての技術用語および科学用語は、本発明が属する技術分野の当業者によって一般的に理解されるのと同じ意味を有する。
【0078】
「備える(comprising)」という用語と組み合わせて本明細書において使用される場合の「a」または「an」という単語の使用は、「1つ(one)」を意味することができるが、「1つ以上(one or more)」、「少なくとも1つ(at least one)」および「1つまたは複数(one or more than one)」の意味とも一致する。
【0079】
本明細書において使用される場合、「備える(comprising)」、「有する(having)」、「含む(including)」および「含有する(containing)」という用語およびそれらの文法的変形は、包括的またはオープンエンドであり、追加の列挙されていない要素および/または方法ステップを除外しない。「から本質的に構成される(consisting essentially of)」という用語は、組成物、装置、物品、システム、使用または方法に関連して本明細書において使用される場合、追加の要素および/または方法ステップが存在することができるが、これらの追加は、列挙された組成物、装置、物品、システム、方法または使用機能の様式に実質的に影響を及ぼさないことを示す。「から構成される(consisting of)」という用語は、組成物、装置、物品、システム、使用または方法に関連して本明細書において使用される場合、追加の要素および/または方法ステップの存在を除外する。特定の要素および/またはステップを含むものとして本明細書に記載される組成物、装置、物品、システム、使用または方法はまた、特定の実施形態では、これらの実施形態が具体的に言及されているか否かにかかわらず、これらの要素および/またはステップから本質的に構成されることができ、他の実施形態では、これらの要素および/またはステップから構成されることができる。
【0080】
本明細書において使用される場合、「約(about)」という用語は、所与の値からの約+/-10%の変動を指す。そのような変動は、具体的に言及されているか否かにかかわらず、本明細書において提供される任意の所与の値に常に含まれることを理解されたい。
【0081】
本明細書における範囲の列挙は、本明細書に別段の指示がない限り、範囲および範囲内に入る個々の値の双方を、範囲を示すために使用される数字と同じ場所の値に伝えることを意図している。
【0082】
任意の例または例示的な言語、例えば「など(such as)」、「例示的な実施形態(exemplary embodiment)」、「示される実施形態(illustrative embodiment)」および「例えば(for example)」の使用は、本発明に関連する態様、実施形態、変形形態、要素または特徴を例示または示すことを意図しており、本発明の範囲を限定することを意図していない。
【0083】
本明細書において使用される場合、「接続する(connect)」および「接続された(connected)」という用語は、本開示の要素または特徴間の任意の直接的または間接的な物理的関連を指す。したがって、これらの用語は、接続されていると記載された要素または特徴の間に他の要素または特徴が介在している場合であっても、互いに部分的または完全に含まれ、取り付けられ、結合され、配置され、一体に接合され、連通し、動作可能に関連付けられるなどの要素または特徴を示すと理解されることができる。
【0084】
本明細書において使用される場合、「画素」という用語は、ディスプレイを作製するために使用される光源および発光機構を指す。
【0085】
本明細書において使用される場合、基本レベルでの「ライトフィールド」という用語は、閉塞のない空間内の点を通ってあらゆる方向に流れる光の量を記述する関数を指す。したがって、ライトフィールドは、自由空間における光の位置および方向の関数としての放射輝度を表す。ライトフィールドは、様々なレンダリング処理によって合成的に生成されることができ、またはライトフィールドカメラもしくはライトフィールドカメラのアレイから取り込まれることができる。広義には、「ライトフィールド」という用語は、ホゲルのアレイまたはサブセットとして説明されることができる。
【0086】
本明細書において使用される場合、「ライトフィールドディスプレイ」という用語は、装置に入力された有限数のライトフィールド放射輝度サンプルからライトフィールドを再構成する装置である。放射輝度サンプルは、赤、緑、および青(RGB)の色成分を表す。ライトフィールドディスプレイにおける再構成のために、ライトフィールドは、4次元空間から単一のRGB色へのマッピングとして理解されることもできる。4つの次元は、ディスプレイの垂直および水平の次元(x,y)と、ライトフィールドの指向性成分(u,v)を記述する2つの次元とを含む。ライトフィールドは、以下の関数として定義される:
【数1】
【0087】
固定されたxf、yfの場合、LF(xf,yf,u,v)は、「要素画像」と呼ばれる2次元(2D)画像を表す。要素画像は、固定されたxf、yf位置からのライトフィールドの指向性画像である。複数の要素画像が並んで連結される場合、結果として得られる画像は、「積分画像」と呼ばれる。積分画像は、ライトフィールドディスプレイに必要なライトフィールド全体として理解されることができる。
【0088】
本明細書において使用される場合、「ボクセル」という用語は、単一のデータからなる規則的に離間した3次元グリッド上の単一のサンプルまたはデータ点を指す。ボクセルは、3次元データ空間内の位置に対応する個々のボリューム要素であり、それに関連付けられた1つ以上のデータ値を有する。本明細書において使用される場合、「シーンの記述」という用語は、ライトフィールド画像またはビデオをレンダリングすることができる潜在的なソースとすることができる3次元シーンの幾何学的記述を指す。この幾何学的記述は、点、四辺形、および多角形によって表されることができるが、これらに限定されない。
【0089】
本明細書において使用される場合、「シーンの記述」という用語は、ライトフィールド画像またはビデオをレンダリングすることができる潜在的なソースとすることができる3次元シーンの幾何学的記述を指す。この幾何学的記述は、点、四辺形、および多角形によって表されることができるが、これらに限定されない。
【0090】
本明細書において使用される場合、「画素外情報」という用語は、シーンの記述に含まれる情報を指す。画素外情報は、色、深度、表面座標、法線、物質値、透明度値、および他の可能なシーン情報を含むが、これらに限定されない。
【0091】
本明細書において使用される場合、「ディスプレイ面」という用語は、個々のライトフィールドホゲル要素の物理的間隔によって定義される点および方向のセットを指す。ディスプレイ面は、従来の3Dディスプレイのように平面であってもよく、または局所的に、全体的に、またはディスプレイ表面上の任意の場所で非平面であってもよい。ディスプレイ面は、例えば、非平面の曲面上に形成されることができ、したがって、点のセットは、湾曲したディスプレイ面上に存在する。想像されることができる任意の他の所望のディスプレイ面形状がディスプレイ面に使用されることができる。抽象的な数学的意味では、ライトフィールドは、任意の幾何学的面上に定義および表現されてもよく、実際の物理的エネルギー放射能力を有する物理的ディスプレイ面に必ずしも対応しなくてもよい。
【0092】
本明細書において使用される場合、「要素画像」という用語は、固定位置xf,yfについての2次元(2D)画像LF(xf,yf,u,v)を表す。要素画像は、固定されたxf,yf位置からのライトフィールドの指向性画像である。
【0093】
本明細書において使用される場合、「積分画像」という用語は、並んで連結された複数の要素画像を指し、したがって、結果として得られる画像は、「積分画像」と呼ばれる。積分画像は、ライトフィールドディスプレイに必要なライトフィールド全体として理解されることができる。
【0094】
本明細書において使用される場合、「レイヤ」という用語は、ディスプレイ面に平行または非平行な、一定または可変の幅を有する任意の2つの平行または非平行な境界を指す。
【0095】
本明細書に開示される組成物、装置、物品、方法、および使用の任意の実施形態は、当業者によって、そのままで、または本発明の範囲および精神から逸脱することなくそのような変形または均等物を作製することによって実装されることができると考えられる。
【0096】
本明細書では、ライトフィールドデータがホゲルのサブセットへの分割を導入する階層化方式を受ける、ライトフィールドをボリュームレンダリングするためのシステムおよび方法が説明される。ボリュームレンダリングは、医療データの視覚化、工業検査、空港のセキュリティ、計算流体力学(CFD)のような様々な計算科学シミュレーション、波動方程式シミュレーション、および他のアプリケーションに非常に有用である。本システムおよび方法では、レイヤボリュームのサブボリュームに対応する各サブセットは、レイヤのサブ領域に対応する。メモリ帯域幅要件を低減するためのプレノプティックダウンサンプリング戦略およびボリュームレンダリングアルゴリズムを使用した効率的なローカルメモリキャッシュ技術と組み合わされたデータの分割は、レンダリングされたライトフィールド画像を生成することができる。システムおよび方法は、サンプルされたデータキャッシングの冗長性および効果的な使用を低減することによって、結果として得られる画像の品質を依然として維持しながら、必要とされるサンプルの総数を低減する。さらに、本方法は、アクセスコヒーレンシを最大化するために、光線計算と整合したメモリアクセスを順序付ける方法を提供する。本明細書に記載のシステムおよび方法は、重ね合わされたボリュームおよび表面を含むシーンのレンダリングをサポートするハイブリッドリアルタイムレンダリング方法を作成するために、リアルタイム階層化シーン分解表面レンダリング方法と組み合わせることができる。
【0097】
ボリュームレンダリングは、ほとんどのコンピュータグラフィックスにおいて特徴的な一般的な表面レンダリングとは対照的に、3D空間において定義されたスカラー場全体の視覚化を可能にする。3D空間におけるより高いベクトル場の視覚化を可能にする能力を拡張することも可能である。リアルタイムボリュームレンダリングは、データセットのインタラクティブな探索または時変ボリュームデータの処理を可能にする。その後に前後にレンダリングされるときにフレームバッファ内でテクスチャマッピングされて合成される、ビュー位置合わせされた平面を使用してボリュームをスライスすることに基づくスライスベースの方法が提案され、リアルタイムのGPUベースの性能を与えるように示されている。実際には、メモリキャッシング方式は、コヒーレント光線が並列に計算されることが多く、光線ごとに、および光線スレッド計算自体の中に冗長性があるため、これらの冗長アクセスの性能への影響を低減するのに役立つ。全ての冗長性が完全に利用されることができる場合であっても、「最良、最悪のケース」では、全てのサンプルが少なくとも1回DRAMから直接ボクセルグリッドからロードされる必要があり、したがって、レンダリングがリアルタイムレート(例えば30Hz)を達成するためのものである場合、特定のレイテンシおよびメモリ帯域幅要件が発生することを受け入れなければならない。
【0098】
図1Aは、内側および外側の遠方クリップ平面14を定義し、光線を外側平面から内側平面に(またはその逆に)進ませることである既存の技術から明らかな代替の方式を示している。
図1Aに示すように、ライトフィールドディスプレイの各ホゲルについて、ディスプレイ面10上のホゲル視野角θ16およびホゲル中心位置58に基づいて、ホゲルに関連付けられた錐台領域が存在する。単純に言えば、各ホゲルは、内側および外側ホゲルに対して2回レンダリングされ、次いで合成されなければならない。その場合、光線の数は、ディスプレイによって表される全ての方向に対して2つであり、したがって数十億である。既存の技術からかなり明白な代替の方式は、近方クリップ平面12および遠方クリップ平面14を定義することであり、光線は、遠方クリップ平面14から近方クリップ平面12まで、またはその逆に進む。これは、画素ごとに1つの光線をもたらし、光線ごとに多くのサンプルがあるため、全てが潜在的に別々のDRAMアクセスとすることができる多くのメモリアクセスをもたらす。実際には、ライトフィールドレンダリングのための既存のGPUベースの手法を使用して、Hamiltonら(2007)によって以前に説明されたように、光線内コヒーレンスとともに、単一のホゲル内で光線をレンダリングしながら(光線間コヒーレンス)、いくつかのキャッシュコヒーレンシが利用されることができる。しかしながら、光線計算が従来の方法で構造化される場合、一般に、同じボクセルにアクセスする別個のホゲルからの光線は、キャッシュを利用せず、DRAMアクセスの増加につながる。ライトフィールドボリュームレンダリングを加速するために必要なものは、2つである。(1)結果として得られる画像の品質を維持しながら必要とされるサンプルの総数を低減する方法、および(2)必要とされるDRAMからの総アクセスを低減するためにキャッシュが使用されることができるように、アクセスコヒーレンシを最大化するために、光線計算と整合したメモリアクセスを順序付ける方法。
【0099】
図1Bは、ライトフィールドディスプレイの内側錐台ボリューム18および外側錐台ボリューム20の概略平面図である。
図1Bは、ディスプレイの内側錐台ボリューム18および外側錐台ボリューム20のライトフィールド領域にそれぞれ相関する画像データの例示的な階層化シーン分解を概略的に示している。内側および外側錐台ボリュームレイヤは、ディスプレイ面10から延びる。内側および外側錐台ボリューム18、20は互いに鏡像として示されているが、内側および外側錐台ボリューム18、20は、異なる数のレイヤ、異なるサイズのレイヤ、または異なる深度のレイヤを有することができ、異なるレンダリング技術を使用してレンダリングされることができる。レンダリング技術は、斜めレンダリング技術および透視レンダリング技術を含むが、これらに限定されない。
【0100】
ボクセルグリッド22が
図1Cに示されている。有用なライトフィールドディスプレイの最小要件は、少なくとも10億画素程度である。ライトフィールドをボリュームレンダリングするための既存の自明な方法を検討する。単純に言えば、各ホゲルは、内側および外側ホゲルに対して2回レンダリングされ、次いで、Halleによって提案された「二重錐台レンダリング」と同様の方法で合成されなければならない。その場合、光線の数は、ディスプレイによって表される全ての方向に対して2つであり、したがって数十億である。
【0101】
図2は、内側および外側錐台画像を別々にレンダリングするために内側錐台光線計算46および外側錐台光線計算48が同時に実行され、次いでそれらをボリュームレンダリング積分離散化方程式を使用して単一の出力ライトフィールド画像52に合成する50方法のプロセスフロー図を示している。
【0102】
図3A~Fに示すように、単一の錐台内のレイヤ、例えば内側錐台ボリューム18がレンダリング方法にどのように使用されるかが記載されている。ボリュームレンダリングでは、単一の光線に関連する各計算スレッドは、ボリュームレンダリング積分の単一のインスタンスを計算する。積分は、光線経路32に沿って前後に行われる累積計算として離散化される。したがって、各ホゲル内の各画素の内側錐台ボリューム18をレンダリングするために、光線は、図示のように、内側錐台ボリューム18のディスプレイ面10の交点38で始まり、内側錐台ボリューム18の遠方クリップ平面14の交点36に到達するまで続くと仮定されることができる。
図3Bは、ディスプレイ面10上の交点38から、近方クリップ平面12との交点34まで進む、外側錐台ボリューム20内の同じ光線経路32を示している。
図3Cは、
図3Aおよび
図3Bを単一の図に組み合わせて、内側錐台ボリューム18の遠方クリップ平面14における交点36までトレースされた、ディスプレイ面10との交点38からの単一の画素の光線経路32、および、近方クリップ平面12との交点34までトレースされた、ディスプレイ面10上の交点38から進行する、外側錐台ボリューム20内の同じ画素の光線経路32を示している。したがって、
図3Dは、図示のように、光線経路32がディスプレイ面10の交点38からトレースされ、遠方クリップ平面14の交点36に到達するまで続く、ホゲル内の単一の画素の代替実施形態の内側錐台光線経路32を示している。
図3Eは、図示のように光線経路32が近方クリップ平面12の交点34からトレースされ、ディスプレイ面10の交点38に到達するまで続く、ホゲル内の単一画素の代替実施形態の外側錐台ボリューム20の光線経路32を示している。
図3Fは、
図3Dおよび
図3Eを単一の図に組み合わせて、外側錐台ボリューム20のためのディスプレイ面10における交点38までトレースされた近方クリップ平面
図12との交点34から、遠方クリップ平面14上の交点36に到達するまで内側錐台ボリューム18内に続く、単一の方向に移動する単一の画素の代替の光線経路32を示している。
図3Bとは対照的に、外側錐台ボリューム20をレンダリングするために、
図3Eに示すように、光線が近方クリップ平面12で始まり、ディスプレイ面10で終了すると仮定されることができる。外側錐台ボリューム20内の近方クリップ平面12で始まる任意の光線について、それは、
図3Fに示すように、ディスプレイ面10で始まり、内側錐台ボリューム18内の遠方クリップ平面14に続く対応する光線において続く。外側および内側錐台光線セグメントは、並行して別々に計算され、次いで、
図2に示すように簡単な方法で、ボリュームレンダリング積分離散化を介して単一の最終計算に修正されることができる。
【0103】
図4には、ディスプレイの内側錐台ボリューム18および外側錐台ボリューム20のライトフィールド領域にそれぞれ相関する画像データの例示的な階層化シーン分解(10レイヤの2つの階層化方式)が示されている。内側錐台ボリューム18および外側錐台ボリューム20は、ディスプレイ面10によって定義される。遠方クリップ平面14は、内側錐台ボリューム18の最も遠い境界であり、近方クリップ平面12は、外側錐台ボリューム20の最も遠い境界である。内側錐台ボリューム18は、開示された階層化シーン分解技術のように、複数の内側錐台レイヤ40に分割される。外側錐台ボリューム20は、階層化シーン分解技術にしたがって複数の外側錐台レイヤ42に分割される。レイヤ40、42は、例示のみを目的として均一な幅として表されていることに留意されたい。本明細書において使用される場合、「レイヤ」という用語は、ディスプレイ面に平行または非平行な、一定または可変の幅を有する任意の2つの平行または非平行な境界を指す。
【0104】
当該技術分野におけるライトフィールドボリュームレンダリングのための他の技術は、ビュー合成を使用してレンダリングを必要とするビューの数を低減することを提案しており、これは、より効率的なレンダリングシステムを可能にする可能性がある。これらの方法は、有意な訓練データセットを必要とする教師あり学習に基づく。また、アルゴリズムの挙動が訓練例を超えてどのように一般化するかは明らかではなく、これは深刻なアーチファクトをもたらす可能性がある。
【0105】
ライトフィールドボリュームレンダリングは、ボリュームレンダリングモデルを使用してライトフィールド画像を作成するものとして定義されることができる。説明の目的のために、ライトフィールド画像LF(x,y,u,v)をレンダリングすることが仮定される。ボリュームデータ関数は、v(x,y,z)として定義され、典型的にはボクセルグリッド22として表されるが、点ベースまたは四面体表現(Hamilton(2013))を介して表されてもよい。ボリュームグリッドは、仮想ライトフィールドカメラに対して任意に配置され、回転または操作されてもよい。有限ボリュームデータがレンダリングされているとき、内側錐台には、
図1Aに示すように、レイヤの最も深い境界面を表す遠方クリップ平面14があると仮定する。同様に、外側錐台には、その錐台におけるディスプレイ面10から最も遠いレイヤ境界を表す近方クリップ平面12がある。クリップ平面12の近くの外側錐台C
nおよび内側錐台遠方クリップ平面14の概念C
fを仮定する。これらはレンダリングへの重要な入力であるため、ボリュームレンダリング・レイキャスティングプロセスを開始および停止する場所は既知である。別の必要な入力は伝達関数であり、これはTF(密度)|→(色,α)として表されることができる。これはまた、単なる密度以上のより複雑な関数とすることができる。定義する特性は、光線積分計算中にボリューム内の各点について(色,α)を計算するように機能しなければならないことである。リアルタイムボリュームレンダリングの目的のために、前後の合成方程式(または前後逆の合成方程式)が使用されて、著しい計算負荷なしにボリュームレンダリング積分を計算することができる。
【0106】
本発明は、一般に、ライトフィールドデータのボリュームレンダリング、ならびに加速されたボリュームレンダリング技術に関する方法およびシステムに関する。ボリュームレンダリングの最新のグラフィックス処理ユニット(GPU)実装は、レイキャスティング手順がボリュームデータセットの多くのサンプルを採取する必要があるため、DRAMメモリ帯域幅のボトルネックを有することが一般的に観察されている。ボリュームデータからのボクセルは、レンダリングアルゴリズムによって複数回アクセスされる。全てのアクセスがDRAMからの読み取りを伴う場合、メモリ帯域幅およびレイテンシは、深刻な問題になる。実際には、メモリキャッシング方式は、コヒーレント光線が並列に計算されることが多く、光線ごとに、および光線スレッド計算自体の中に冗長性があるため、これらの冗長アクセスの性能への影響を低減するのに役立つことができる。たとえ全ての冗長性が完全に利用されるとしても、「最良、最悪のケース」では、全てのサンプルが少なくとも1回、DRAMから直接ボクセルグリッドからロードされなければならず、したがって特定のレイテンシおよびメモリ帯域幅要件を生じることが受け入れられなければならない。
【0107】
図5は、開示された方法の実施形態のプロセスフロー図を示している。本方法は、ボリュームデータを含むシーンの3次元記述をレイヤに分割することから構成され、各レイヤは、関連するライトフィールドおよび少なくとも1つのスラブボリュームを有し、ホゲルサブセットに関連付けられた全ての光線がスラブボリューム60と交差するように、各スラブボリュームが関連するホゲルサブセットを有する。さらに、ホゲルサブセット内の全ての光線に対するボリュームレンダリング計算がスラブボリューム62と交差する光線に対して実行されるように、レイヤ内に含まれるボリュームデータを使用して各レイヤに関連付けられたライトフィールドをボリュームレンダリングする。対応するスラブボリュームと交差するボリュームデータはキャッシュされ、ローカルストアキャッシュメモリ64に記憶される。本方法はまた、各レイヤに関連付けられたレンダリングされたライトフィールドを単一の出力ライトフィールド画像66にブレンドすることから構成される。
【0108】
図7は、開示された方法の実施形態のプロセスフロー図を示している。本方法は、表面データ要素およびボリュームデータを含むシーンの3次元記述を複数のレイヤに分割することから構成され、各レイヤは、関連するライトフィールドおよびサンプリング方式68を有する。本方法は、複数のレイヤのうちの少なくとも1つを複数のサブセクションに分割することであって、各サブセクションが関連するライトフィールドおよびサンプリング方式を有し、各サブセクションの位置が、シーン70に表されたオブジェクトの少なくとも一部の幾何学的形状にしたがって決定される、分割することをさらに含む。各レイヤおよび各サブセクションについて、本方法は、サンプリング方式にしたがって各レイヤおよび各サブセクション内に含まれる表面データを使用して画素外情報を含む画素のセットをレンダリングして、サンプリングされたライトフィールド72を生成することを含む。サンプリングされたライトフィールドは、画素74のセットを使用して各レイヤおよびサブセクションについて再構成される。各レイヤに関連付けられたライトフィールドは、レイヤ76内に含まれるボリュームデータを使用してボリュームレンダリングされ、各レイヤおよびサブセクションに関連付けられた再構成されたサンプリングされたライトフィールドおよびボリュームレンダリングされたライトフィールドは、単一の出力ライトフィールド画像78にブレンドされる。
【0109】
図8は、ボリュームデータ要素を含む3次元シーンをレイヤに分割することであって、各レイヤが関連するライトフィールドおよびサンプリング方式を有し、各ライトフィールドが1つ以上のホゲルサブセットから構成され、各ホゲルサブセットおよび関連するレイヤがスラブボリューム80と呼ばれるレイヤのサブボリュームを定義する、分割することを含む開示された方法の実施形態のプロセスフロー図を示している。本方法は、サンプリング方式82にしたがってレイヤ内に含まれるボリュームデータを使用して、各レイヤに関連付けられたライトフィールドをボリュームレンダリングすることをさらに含む。各レイヤに関連付けられたレンダリングされたライトフィールドは、ブレンドされ、単一の出力ライトフィールド画像84にアップスケールされる。
【0110】
本発明の様々な特徴は、図面の例示とともに以下の詳細な説明から明らかになるであろう。本明細書に開示されたライトフィールドボリュームレンダリング技術の設計要因、構成および使用は、本明細書に記載および特許請求されている本発明の範囲を限定することを意図しない実施形態を表す様々な例を参照して説明されている。本発明が関係する分野の当業者は、本開示の範囲および趣旨から逸脱することなく、本開示の教示にしたがって実施されることができる、本明細書に開示されていない本発明の他の変形、例、および実施形態が存在することができることを理解するであろう。
【0111】
階層化シーン分解(LSD)コーデックシステムおよび方法
階層化シーン分解符号化および復号(コーデック)は、ライトフィールドディスプレイを生成するための既知のサンプリング、レンダリング、およびビュー合成方法に描画する戦略を適用し、その導出、実装、および適用を含む、本明細書に開示されている新規の階層化シーン分解戦略と組み合わせて使用するために前記戦略を適合させる。
【0112】
3Dディスプレイ
当該技術分野において以前から知られているような従来のディスプレイは、理想化された均一なサンプリングを可能にする2次元アレイに実質的に均等に離間されて編成された空間画素から構成される。対照的に、3次元ディスプレイは、空間サンプルおよび角度サンプルの双方を必要とする。典型的な3次元ディスプレイの空間サンプリングは均一なままであるが、角度サンプルは、角度空間におけるディスプレイのフットプリントの観点から必ずしも均一であると考えることはできない。角度光線分布のための様々なライトフィールドパラメータ化のレビューについては、米国特許第6,549,308号明細書を参照されたい。
【0113】
ライトフィールドの指向成分としても知られる角度サンプルは、「The Lumigraph」においてGortlerらによって教示された平面パラメータ化など、様々な方法でパラメータ化されることができる。ライトフィールド関数が位置に関して離散化されている場合、ライトフィールドは、「Plenoptic Sampling」においてChaiによって教示されるように、平面パラメータ化ピンホールプロジェクタの規則的に離間されたアレイとして理解されることができる。固定されたxf、yfの場合、要素画像LF(xf,yf,u,v)は、任意の光線パラメータ化によってピンホールプロジェクタによって投影された画像として理解されることができる2次元画像を表す。ライトフィールドディスプレイの場合、連続的な要素画像は、有限数のライトフィールド放射輝度サンプルによって表される。理想化された平面パラメータ化ピンホールプロジェクタの場合、前記有限数のサンプルは、規則的に離間されたアレイとして画像平面にマッピングされる(平面内の規則的な間隔は、対応する角度方向空間内の規則的な間隔に対応しない)。
【0114】
典型的な3Dライトフィールドディスプレイの場合、点および方向のセットは、平面ディスプレイ面およびその個々のライトフィールドホゲル要素の物理的間隔によって定義される。しかしながら、ディスプレイが曲面上に形成されることができることが知られており、したがって、点のセットは、曲面ディスプレイ面、または想像されることができる任意の他の所望のディスプレイ面幾何学的形状上に存在する。抽象的な数学的意味では、ライトフィールドは、任意の幾何学的面上に定義および表現されることができ、実際の物理的エネルギー放射能力を有する物理的ディスプレイ面に必ずしも対応しなくてもよい。文献における表面ライトフィールドの概念は、Chenらによって示されているように、このケースを示している。
【0115】
ライトフィールドの指向性成分は、様々な他の任意のパラメータ化によってパラメータ化されることができるため、平面パラメータ化の考慮は、本開示の範囲または趣旨を限定することを意図するものではない。例えば、物理的に具現化されたピンホールプロジェクタにおけるレンズの歪みまたは他の光学的効果は、平面パラメータ化の歪みとしてモデル化されることができる。さらに、ディスプレイ構成要素は、「A transformation method for the reconstruction of functions from nonuniformly spaced samples」においてClarkらによって教示されるようなワーピング関数を介して定義されることができる。
【0116】
ワーピング関数α(u,v)は、ピンホールプロジェクタの歪んだ平面パラメータ化を定義し、ライトフィールドにおける指向性光線の任意の代替角度分布を生成する。ライトフィールドピンホールプロジェクタから伝播する光線の角度分布は、ピンホールプロジェクタの焦点距離fおよび対応する2次元ワーピング関数α(u,v)によって決定される。
【0117】
1人以上のユーザについてライトフィールドを投影する自動立体視ライトフィールドディスプレイは、以下のように定義される:
【数2】
【0118】
ここで、(Mx,My)は、ディスプレイの空間解像度の水平方向および垂直方向の寸法であり、(Nu,Nv)は、ディスプレイの角度解像度成分の水平方向および垂直方向の寸法である。ディスプレイは、ディスプレイによって投影されるライトフィールドの光線方向の分布を定義するピッチDLP、焦点距離f、およびワーピング関数αを有する、理想化されたライトフィールドプロジェクタのアレイである。
【0119】
ライトフィールドディスプレイD=(Mx,My,Nu,Nv,f,α,DLP)を駆動するライトフィールドLF(x,y,u,v)は、x方向におけるMx個のライトフィールド放射輝度サンプル、y方向におけるMy個のライトフィールド放射輝度サンプル、およびuおよびv方向におけるNu,およびNv個のライトフィールド放射輝度サンプルを必要とする。単一のワーピング関数αによってDが定義されているが、理想的なライトフィールドピンホールプロジェクタのアレイ内のライトフィールド平面パラメータ化ピンホールプロジェクタのそれぞれは、実用的なピンホールプロジェクタに著しいマイクロレンズ変動が存在し、角度光線分布がマイクロレンズごとに著しく変化する場合、固有のワーピング関数αを有することができる。
【0120】
ライトフィールドディスプレイレンダリング
表面レンダリング
「Fast computer graphics rendering for full parallax spatial displays」において、Halleらは、ディスプレイの
図6に示すような内側錐台ボリューム18および外側錐台ボリューム20内に位置するオブジェクトをレンダリングするための方法を提供している。
図6は、これらの2つの別個のビュー錐台によって定義されるボリューム領域内のオブジェクトを表すライトフィールドディスプレイを示しており、内側錐台ボリューム18は、ディスプレイ面10の背後に(すなわち、ディスプレイ内に)配置され、外側錐台ボリューム20は、ディスプレイ面の前に(すなわち、ディスプレイの外側に)配置される。図示されているように、様々なオブジェクト(角柱形状および円形形状として概略的に示されている)は、ディスプレイ面10から様々な深度に配置される。
【0121】
Halleらは、内側錐台ボリューム18および外側錐台ボリューム20が2つの別個のライトフィールドとして別々にレンダリングされる二重錐台レンダリング技術を教示している。内側錐台ボリュームLFO(x,y,u,v)18および外側錐台ボリュームLFP(x,y,u,v)20は、深度マージプロセスによって単一のライトフィールドLF(x,y,u,v)に再結合される。
【0122】
この技術は、ピンホールカメラレンダリングモデルを使用して、ライトフィールドの個々の要素画像を生成する。各要素画像(すなわち、各レンダリングされた平面パラメータ化ピンホールプロジェクタ画像)は、内側錐台ボリューム18を取り込むための1つのカメラと、外側錐台ボリューム20を取り込むための1つのカメラとの、2つのカメラの使用を必要とする。Halleらは、標準的な正視カメラおよびその共役擬似視カメラを使用して、ライトフィールドのサンプリング領域においてピンホールプロジェクタ画像をレンダリングすることを教示している。ピンホールカメラCの場合、対応する共役カメラは、C*と示される。
【0123】
ワーピング関数αを使用してパラメータ化されたプロジェクタを有するライトフィールドディスプレイ内の要素画像を取り込むために、理想化された平面的にパラメータ化されたピンホールカメラの再パラメータ化に基づく一般化ピンホールカメラが使用される。Gortlerらによって教示されるように、焦点距離fを有するピンホールカメラCは、2つの平行な平面によって生成されるパラメータ化によって定義される光線を有する。ピンホールカメラCは、画像IC(u,v)を取り込み、ここで、(u,v)は光線パラメータ化平面内の座標である。一般化ピンホールカメラCαは、Clarkらによって教示されるように、2次元の連続的な反転可能な時間ワーピング関数を使用してワーピングされた平面パラメータ化カメラに基づいている。ワーピング関数α(u,v)では、その逆数はγ(u,v)である。したがって、Cαの画像ICα=IC(α(u,v))である。
【0124】
一般化ピンホールカメラCαを考えると、共役一般化カメラC*αは、二重錐台レンダリングを完了するように形成される。Mx×My個の一般化ピンホールカメラ対のグリッドから生成されたビューは、ライトフィールドディスプレイ用のライトフィールドをレンダリングするためにレンダリングされる。
【0125】
したがって、所与のライトフィールドディスプレイD=(M
x,M
y,N
u,N
v,f,a,D
LP)のためのライトフィールドLF(x,y,u,v)を生成するためにレンダリングされなければならない全ての一般化ピンホールカメラ対のセットは、以下のように定義される:
【数3】
【0126】
正視カメラ(O={(Cα(x,y)|1≦x≦Mx,1≦y≦My})のセットは、内側錐台ボリューム18に対応するライトフィールド画像を取り込み、共役一般化カメラ(P={(C*α(x,y)|1≦x≦Mx,1≦y≦My})のセットは、外側錐台ボリューム20に対応する画像を取り込む。上述したように、内側錐台ボリューム18および外側錐台ボリューム20は、単一のライトフィールドに組み合わされる。
【0127】
階層化シーンの分解およびサンプリング方式
Graziosiらによって教示されたサンプリングギャップおよびZwickerらによって教示されたプレノプティックサンプリング理論は、相補的なライトフィールドサンプリング戦略を提供する:Graziosiらは、遠くのオブジェクト(ΔEI)のダウンサンプリングを増加させる一方で、Zwickerらは、近くのオブジェクト(N
res)のダウンサンプリングを増加させる。しかしながら、シーンを表す単一のライトフィールドをダウンサンプリングする場合、これらの戦略の組み合わせは圧縮を保証しない。したがって、本開示は、多次元シーンを複数のレイヤに分割する。複数の(データ)レイヤへのこの分割は、本明細書では階層化シーン分解と呼ばれる。ここで、K
1およびK
2は自然数であり、
図4に示すように、3次元ディスプレイの内側および外側錐台ボリュームを分割するL=(K
1,K
2,L
O,L
P)が定義される。内側錐台ボリューム18は、K
1個の内側錐台レイヤ40のセットに分割され、ここで、
【数4】
である。内側錐台レイヤ40のそれぞれは、ディスプレイ面10から1≦i≦K
1について距離
【数5】
および
【数6】
を置いてディスプレイ面に平行な一対の境界面によって定義される。外側錐台ボリューム20は、K
2個の外側錐台レイヤ42のセットに分割され、ここで、
【数7】
である。
図1Cは、単一の外側錐台レイヤ42を示している。各外側錐台レイヤ42は、ディスプレイ面平面から1≦i≦K
2について距離
【数8】
および
【数9】
を置いてディスプレイ面に平行な一対の境界面によって定義される。
図1Cに示すように、外側錐台レイヤ42は、第1の境界面26および第2の境界面24を含む一対の境界面24、26によって境界付けられる。代替実施形態では、内側錐台ボリューム18および外側錐台ボリューム20は、互いに異なる積レイヤ方式によって分割されてもよい。
【0128】
階層化シーン分解レイヤのそれぞれは、レイヤの平面境界領域に対するシーン制限に基づいて、関連付けられたライトフィールド(本明細書では「ライトフィールドレイヤ」とも呼ばれる)を有する。1≦i≦K
1についての内側錐台レイヤ40
【数10】
、または1≦j≦K
2についての外側錐台レイヤ42
【数11】
を有するライトフィールドディスプレイD=(M
x,M
y,N
u,N
v,f,a,D
LP)の階層化シーン分解L=(K
1,K
2,L
O,L
P)を考える。内側錐台ライトフィールド
【数12】
は、一般化ピンホールカメラO={C
a(x,y)|1≦x≦M
x,1≦y≦M
y}のセットから生成される。この式は、ライトフィールドディスプレイ面から距離dだけ離れた空間のみが結像されるように制約され、ここで、
【数13】
である。したがって、固定されたx,yおよび
【数14】
を有する内側錐台レイヤ40について、
【数15】
を計算する。同様に、外側錐台ライトフィールド
【数16】
は、一般化ピンホールカメラ
【数17】
のセットから生成される。この式は、ライトフィールドディスプレイ面から距離dだけ離れた空間のみが結像されるように制約され、ここで、
【数18】
である。したがって、固定されたx,yおよび
【数19】
を有する外側錐台レイヤ42について、
【数20】
を計算する。
【0129】
階層化シーン分解Lに対する内側および外側錐台領域のライトフィールドのセットがさらに定義されることができる。階層化シーン分解L=(K
1,K
2,L
O,L
P)を有するライトフィールドディスプレイD=(M
x,M
y,N
u,N
v,f,a,D
LP)を仮定する。内側錐台領域のライトフィールドのセットは、
【数21】
のように定義される。外側錐台領域のライトフィールドのセットは、
【数22】
のように定義される。
【0130】
定義されるように、階層化シーン分解は、レイヤごとにライトフィールドを生成する。任意の階層化シーン分解のために、正視カメラは、内側錐台ボリューム18のライトフィールドを生成し、擬似視カメラは、外側錐台ボリューム20のライトフィールドを生成する。これらの一般化ピンホールカメラ対によって取り込まれたシーンが不透明な表面のみからなる場合、ライトフィールドの各点は、一般化ピンホールカメラ平面から空間画像内の対応する点までの距離を示す関連する深度値を有する。ライトフィールド
【数23】
または
【数24】
が与えられると、
【数25】
深度マップは、
【数26】
として正式に定義され、
【数27】
深度マップは、
【数28】
として正式に定義される。深度マップは、関連する撮像一般化ピンホールカメラ光線に対応する表面交点がない場合にD
m=∞をマッピングする。それらのドメインにわたって、
【数29】
および
【数30】
である。換言すれば、階層化シーン分解レイヤのライトフィールドに関連付けられた深度マップは、レイヤ自体の深度境界によって境界付けられる。
【0131】
マージ演算は、階層化シーン分解レイヤセットを内側および外側錐台ボリューム18、20、またはLF
OおよびLF
Pに再結合することができる。内側および外側錐台ボリューム18、20のライトフィールドは、マージ演算子*
mによってマージされる。例えば、2つの任意のライトフィールドが与えられた場合、LF
1(x,y,u,v)およびLF
2(x,y,u,v)であり、ここで、
【数31】
、*
mは、以下のように定義される:
【数32】
したがって、LF
O(x,y,u,v)およびLF
P(x,y,u,v)は、内側および外側錐台レイヤ40、42に関連付けられたライトフィールドをマージすることによって、セットO
LFおよびP
LFから回復されることができる。例えば、以下のとおりである:
【数33】
【数34】
【0132】
これは、階層化シーン分解演算と、前記分解を逆にするためにデータをマージする逆演算とを提供する。K個のレイヤを用いて階層化シーン分解を実行することは、個々のライトフィールドのK倍を生成すると理解される。階層化シーン分解の値は、レイヤによって誘発されるライトフィールド内にある。これらのライトフィールドレイヤは、適切なサンプリング方式で複数のダウンサンプリングされた階層化シーン分解ライトフィールドレイヤに必要な総データサイズが元のライトフィールドのサイズよりも大幅に小さいため、元の全ライトフィールドまたは内側錐台ボリューム18もしくは外側錐台ボリューム20のライトフィールドよりもダウンサンプリングに適している。
【0133】
本発明が関係する分野の当業者は、ライトフィールドを首尾よくサンプリングすることができる複数のタイプのサンプリング方式があることを理解するであろう。提供されるサンプリング方式Sは、階層化シーン分解レイヤライトフィールド内の各要素画像に対して個々のサンプリングレートを指定するなどの他のサンプリング方式が使用されることができるため、本発明の範囲および趣旨を限定または逸脱することを意図するものではない。比較的単純なサンプリング方式は、より大きなサンプリング制御で効果的なコーデックを提供することができる。したがって、本開示は、本発明の範囲および趣旨を限定または逸脱することなく本開示を説明するための単純なサンプリング方式を提供する。
【0134】
本開示にしたがって提供されるライトフィールドサンプリング方式は、ライトフィールド符号化方法を表す。ディスプレイD=(M
x,M
y,N
u,N
v,f,α,D
LP)および階層化シーン分解L=(K
1,K
2,L
O,L
P)が与えられると、本開示は、L
OまたはL
Pにおける任意のレイヤl
iに関連付けられたM
x×M
yバイナリマトリックスM
S[l
i]としてLに関連付けられたサンプリング方式Sと、各レイヤl
iを対R(l
i)=(n
x,n
y)にマッピングするためのマッピング関数R(l
i)とを提供する。(x
m,y
m)のM
S[l
i]におけるバイナリ({0,1})エントリは、要素画像
【数35】
がサンプリング方式に含まれるかどうかを示す:(1)は、
【数36】
が含まれることを示し、(0)は、
【数37】
が含まれないことを示す。R(l
i)=(n
x,n
y)は、n
x×n
yの解像度でライトフィールド
【数38】
における要素画像がサンプリングされることを示す。
【0135】
本開示はまた、プレノプティックサンプリング理論を利用する階層化シーン分解ライトフィールド符号化プロセスを提供する。以下の説明は、階層化シーン分解LOの内側錐台ボリュームL18に関するが、外側錐台ボリュームLP20も同様の方法で符号化されてもよい。
【0136】
各l
i∈L
oについて、対応するライトフィールド
【数39】
の深度マップは、範囲
【数40】
においてdに制限される。上記提示されたサンプリング方式に基づいて、本開示は、以下の式を使用してサンプリング方式Sを作成し、
【数41】
の式の作成をガイドする:
【数42】
【0137】
換言すれば、ΔEIは、各階層化シーン分解レイヤに関連付けられたM
S行列内の「1」エントリ間の距離をガイドする。以下の式は、レイヤ内の個々の要素画像
【数43】
の解像度を設定する:
【数44】
【0138】
ΔEIおよびNresの双方を使用して個々の階層化シーン分解レイヤサンプリングレートを駆動するこのサンプリング方式は、階層化プレノプティックサンプリング理論サンプリング方式(本明細書では「プレノプティックサンプリング方式」とも呼ばれる)と考えることができる。このプレノプティックサンプリング方式は、プレノプティックサンプリング理論恒等関数α(t)=tを利用するディスプレイに基づいている。このレイヤごとのサンプリング方式は、レイヤ内のオブジェクトが互いに遮らないフロントパラレル平面シーンオブジェクトに対して無損失圧縮を提供する。
【0139】
フロントパラレル平面シーンオブジェクトのみの仮定は限定的であり、典型的なシーンを表すものではない。特にサイズがより大きい階層化シーン分解レイヤの場合、必然的にレイヤ内の閉塞が存在する。有意な知覚可能なアーチファクトを導入することなく、潜在的なシーンの全範囲を取り込んで符号化するために、システムは、本開示のライトフィールドプレノプティックサンプリング方式に加えて情報を引き出すことができる。
【0140】
ボリュームレンダリング
Levoy(1988)は、直接ボリュームレンダリング方法が、データから幾何学的表面を明示的に抽出することなく、3次元ボリュームデータセットの画像を生成することを最初に提示した。Knissらは、データセットは空間における連続関数として解釈されるが、実際の目的のために、サンプルの均一な3Dアレイによって表されることを提示している。グラフィックスメモリでは、ボリュームデータは、2Dテクスチャスライスのスタックまたは単一の3Dテクスチャオブジェクトとして記憶される。ボクセルという用語は、「ピクチャ要素」の画素および「テクスチャ要素」のテクセルという用語と同様の個々の「ボリューム要素」を示す。各ボクセルは、データ空間内の位置に対応し、それに関連付けられた1つ以上のデータ値を有する。中間位置の値は、隣接するボリューム要素のデータを補間することによって得られる。このプロセスは、再構成として知られており、ボリュームレンダリングおよび処理用途において重要な役割を果たす。
【0141】
光学モデルの役割は、光がボリューム内の粒子とどのように相互作用するかを記述することである。より複雑なモデルは、照明(ローカル)およびボリュームシャドウを考慮することによって光散乱効果を考慮する。光学パラメータは、データ値によって直接指定されるか、またはデータに1つ以上の伝達関数を適用してデータ内の特徴を分類することから計算される。
【0142】
ボリュームレンダリング計算プロセスの中核は、ビュー光線に沿ったボリュームレンダリング積分の計算である。当該技術分野では、これは、理論的には連続体ベースの積分計算として表されるが、実際には、合成と呼ばれる演算(Ikitsら、2004)に基づいて、離散和ベースの近似として計算されることが多い。合成演算は、前後または前後の順序で光線に沿って実行されることができる。部分的な光線セグメントが、それ自体の中で何らかの順序で合成され、次いで、方式の数学的等価性を維持しながら、隣接する部分的な光線セグメントと合成されることも可能である。
【0143】
本開示の目的のために、光線の周りのボリュームレンダリング積分計算中またはその周りで実行される任意の計算を「ボリュームレンダリング計算」と呼ぶ。これは、照明計算、照明計算をサポートする勾配再構成、合成オペレータ計算、伝達関数計算、またはこれらの潜在的に必要な計算の任意の組み合わせを含むことができるが、これらに限定されるべきではない。
【0144】
一般に、本明細書の目的のために、2つの色をマージして第3の色を生成する任意の種類の演算は、「ブレンド」と呼ばれる。上記のような合成は、ボリュームレンダリング積分計算に沿って各サンプルステップにおいて行われるブレンドの形態とみなすことができる。
【0145】
プログレッシブレンダリングは、Martinによって提示されているようなその特定のユースケースではうまく機能しない可能性があるため、時変4次元(4D)ボリュームデータのインタラクティブビューには、インタラクティブな直接ボリュームレンダリングが必要である。インタラクティブ直接ボリュームレンダリングの例示的なユースケースは、回転中にアーチファクトのない静的ボクセルベースのデータのレンダリング、時変ボクセルベース(例えば、4D MRIまたは超音波、CFD、波、気象、視覚効果(OpenVDB)および他の物理的シミュレーションなど)データのレンダリングを含むが、これらに限定されない。
【0146】
ボリュームレンダリングは、その計算が互いに参照することなく理論的に独立して実行されることができる多くの光線が投射されるため、本質的に並列プロセスである。しかしながら、説明したように、独立した並列スレッド間でさえ、メモリアクセスに重複があることが多い。可能な限り最高の効果的なメモリスループット、したがって時間の観点からの総計算プロセスのより効率的な実行を得るために、メモリアクセスが重複する独立したスレッドがこの重複を最適に利用するように編成されることができるようにメモリアクセスを調整することが理にかなっている。そのようなオーバーラップは、通常、高速キャッシュメモリを使用して利用される。
【0147】
以前の研究、Hamilton(2007、2013)および米国特許第8,564,617号明細書は、別々のスレッドがこのオーバーラップを利用することを可能にするために、2次元画像のボリュームレンダリング計算がどのように調整されることができるかを明らかにしている。現代のマイクロプロセッサは、比較的遅いが大きいDRAMメモリからアクセス冗長性を自動的に利用するのに役立つ、より速いがより小さいキャッシュメモリを利用する。しかしながら、これらのキャッシュがどのデータをキャッシュするかを決定するために使用するメカニズムは、多くの場合、様々な局所性原理に基づいている。これらはしばしば冗長性の良好な予測子であり、性能向上をもたらす。
【0148】
しかしながら、多くの計算において、冗長パターンは、これらの局所性ヒューリスティックスによって自動的に最適にモデル化されない。いくつかのプロセッサ技術は、ユーザプログラム可能なキャッシュメモリの実装、ならびにカスタム特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)の形態をとる専用のコンピューティングプロセッサを可能にする。現代のFPGAは、チップ上のカスタムプログラムされた回路において利用されることができる大きなオンチップSRAMを含む。NVIDIAのGPUおよびその計算統一デバイスアーキテクチャ(CUDA)アプリケーションプログラミングインターフェース(API)は、それらの実行中に並列スレッドのグループによって共有されるユーザプログラマブルキャッシュメモリを可能にする。以前は、Cellプロセッサは、いくつかの並列処理要素によって共有される同様のユーザプログラマブルキャッシュ(Hamiltonら、2007)を有していた。
【0149】
単純ライトフィールドボリュームレンダリングアルゴリズム
2Dの場合および最新のGPUハードウェアを考えると、リアルタイムのインタラクティブなボリュームレンダリング実装のための非常に一般的な選択は、単にレイキャスティングベースの手法を使用することである。各光線は、最新のGPUの大規模な並列性を使用して独立して並列に計算されることができる。各光線について、これは、ボリュームデータの境界ボリュームとの単純な交差計算を含み、次いで、所定のサンプリングレートで光線を進ませる。ライトフィールドディスプレイ用の画像をインタラクティブにボリュームレンダリングするための1つの単純な方法は、ディスプレイ内の個々のホゲルごとにこの同じ2D方法を使用することである。1つの方法は、内側(正視)および外側(擬似視)錐台画像を別々にレンダリングし、次いでボリュームレンダリング積分離散化方程式を使用してそれらを単一の画像に合成することである。この手法の1つの欠点は、ライトフィールド画像が従来の2D画像と比較して膨大な数の光線を必要とするため、大きなメモリ記憶装置、したがってメモリ帯域幅を必要とする可能性があるため、内側および外側錐台計算を別々にバッファリングする必要がある可能性があることである。
【0150】
図1Aに示すように、ライトフィールドディスプレイの各ホゲルについて、ディスプレイ面10上のホゲル視野角θ16およびホゲル中心位置58に基づいて、ホゲルに関連付けられた錐台領域が存在する。単純に言えば、各ホゲルは、内側および外側ホゲルに対して2回レンダリングされ、次いで合成されなければならない。その場合、光線の数は、ディスプレイによって表される全ての方向に対して2つであり、したがって数十億である。既存の技術からかなり明白な代替の方式は、近方クリップ平面12および遠方クリップ平面14を定義することであり、光線は、遠方クリップ平面14から近方クリップ平面12まで、またはその逆に進む。これは、画素ごとに1つの光線をもたらし、画素ごとに多くのサンプルがあるため、全てが潜在的に別々のDRAMアクセスとすることができる多くのメモリアクセスをもたらす。実際には、ある程度のキャッシュコヒーレンシが利用されることができるが、一般にはそうでないものが多く存在する。ライトフィールドボリュームレンダリングを加速するために必要なものは、2つである。第1は、結果として得られる画像の品質を依然として維持しながら必要とされるサンプルの総数の低減であり、第2は、アクセスコヒーレンシを最大化するために、光線計算と整合したメモリアクセスを順序付ける方法である。これは、必要とされるDRAMからの総アクセスを低減するためにキャッシュを使用することを可能にする。
【0151】
この手順は、1つの単一の連続した並列の実行スレッドにおいて、内側錐台から外側錐台(またはその逆)へのその経路上の光線を全て計算することによって単純化されることができる。本明細書において説明するように、近方クリップ平面12は、外側錐台に定義され、遠方クリップ平面14は、内側錐台に定義され、その対応するホゲルの位置においてディスプレイ面10を通って、一方のクリップから他方のクリップへの光線をトレースする。
【0152】
前述の方法による問題は、典型的なライトフィールドディスプレイおよび将来のライトフィールドディスプレイでは、実行されなければならない多くのレイキャスティング計算があることである。各光線について、ボリュームデータの多くのサンプルが必要とされる。単純に実装されると、これらの平行光線のボクセルアクセスパターンは重複することが多いが、それでもボクセルに対する冗長DRAMメモリアクセスをもたらす。全体として、これは、性能の課題を有し、より大きなディスプレイへのスケーリングが課題を提示する方法をもたらす。
【0153】
加速されたライトフィールドボリュームレンダリング
ディスプレイD=(Mx,My,Nu,Nv,α,DlP)と、階層化シーン分解L=(K1,K2,LO,LP)と、ディスプレイDを駆動しているライトフィールドLF(x,y,u,v)とを考える。ディスプレイDのホゲルに関連付けられたピンホールプロジェクタの焦点距離をfとする。
【0154】
LOまたはLP(それぞれ内側または外側錐台)のいずれかにあるレイヤlpを考える。lpがレイヤの境界面を表すいくつかのdmin(lp)およびdmin(lp)を有すると考える。Dの定義に基づいて、ディスプレイおよびその対応するライトフィールドは、My個のホゲルによってMxの2Dアレイから構成される。1<i<Mxおよび1<j<Myに関して、これらのホゲルをHi,jとインデックス付けすることができる。レイヤlpのセクタ分割Pは、最大ΔEI(dmin(lp))2でサイズのサブセットへのホゲルのセットの分割として関数ΔEIに対して定義されることができ、それによって、サブセットは、最大ΔEIdmin(lp)でサイズのサブ間隔における(i,j)に基づいて形成される。
【0155】
分割は、サブセットが全て均一なサイズΔEI(dmin(lp))2であるように、すなわち、ΔEIdmin(lp)がMxおよびMyの双方に均等に分割される場合に作成されることができる。実際の状況では、これは起こらない可能性が高い。この場合、サブセットは、不均一なサイズであってもよく、またはそれらが基づく部分区間の長さがサイズでΔEIdmin(lp)よりも小さくなるように作成されることができる。
【0156】
図1Cは、直感的に、外側錐台レイヤl
p42のセクタ分割を示し、レイヤl
pはまた、内側錐台レイヤ、外側錐台レイヤ42、またはそれらの組み合わせであってもよい。ΔEI30に対して、ホゲルサブセットが作成され、サブセット内のホゲルの中で所与のレイヤの深度で光線サンプルの重なりを最大限に取り込むかまたは利用するサイズからなる。実際には、サブセットサイズは、キャッシュサイズなど、または基礎となるアーキテクチャの他の態様の実際の制限と整合するために調整される必要があり得ることが可能である。
【0157】
ディスプレイDおよび階層化シーン分解LおよびライトフィールドLFを考える。ボクセルグリッド22内のLからの任意のレイヤl
p42を考える。l
p30に対するΔEIのセクタ分割であるPを考える。PのホゲルH
Sのサブセットを考える。H
Sにおけるホゲルのセットは、全てのホゲルの合計のビュー範囲によって定義される主ディスプレイ二重錐台の副錐台を定義する。
図1Cに示すように、レイヤl
p42のスラブ28は、レイヤl
p42とH
Sにおけるホゲルによって誘発される副錐台との交差によって定義されるボリューム領域としてサブセットH
Sに対して定義される。重要な観察は、所与のホゲルサブセット内のホゲルに関連付けられた光線のいずれも、レイヤl
p42に対してスラブ28と交差することである。レイヤ内で発生するこれらの光線に沿った全てのサンプルは、このスラブ28内で発生する。したがって、スラブ28は、固定機能キャッシュとは対照的に、ユーザプログラマブルキャッシング動作のターゲットとなるボリュームの単位として機能することができる。
【0158】
関連する光線サンプルを計算するときにどのボクセルをキャッシュするかを正確に決定するために、スラブ28がボクセルデータとどのように交差するかの概念を定義しなければならない。実際の事例の例として、レイヤlp42の所与のスラブSl28およびボクセルデータからのサンプル再構成に必要な所与の再構成近傍サイズ(説明のために、均一なKxKxKを仮定するが、不均一とすることができる)の場合、何らかの離散領域上で定義されたボクセルデータセットV(x,y,z)を考える。次に、スラブSl28とレイヤlp42との交点を、スラブ28領域内に含まれるVのボクセルのセットと、スラブ28内に厳密に含まれるボクセルのKxKxK近傍内に位置するボクセルのセットとして定義する。
【0159】
図1Cに示すように、深度d
minおよびd
maxを有するレイヤl
pについて深度i*fで階層化ライトフィールドのセクタ分割PからのセクタサブセットP
Sについてである。レイヤLによって囲まれたボリュームと、所与のセクタ分割の全てのホゲルに関連付けられた錐台のボリュームの合計との交点から構成される錐台領域を定義することができる。この錐台領域は、レイヤLに対するP
Sのスラブ28と呼ばれることがある。
【0160】
本明細書において説明するように、平行ライトフィールドボリュームレンダリング計算と併せてキャッシュする方法である。理論的には、ライトフィールド画像をレンダリングするレイキャスティングボリュームレンダリング方法では、各光線は、光線の経路に沿って均一または可変とすることができるいくつかの選択されたサンプリングレートでその経路に沿ったボリュームレンダリング積分の計算を必要とする。この光線計算の最終出力は、光線に関連付けられたレンダリングされたライトフィールド画像の画素要素の色値である。次いで、複数のこれらの光線計算が、所望のライトフィールド画像全体を構成する。理論的には、光線画素計算のそれぞれは、他とは完全に独立して実行されることができ、同じレンダリング出力をもたらす。
【0161】
しかしながら、これらの理論的に独立した並列計算スレッドは、低速メモリへの繰り返しアクセスに関連するメモリスループットおよびレイテンシの不利益を軽減するために、同じ低速メモリ位置にアクセスするスレッドが繰り返しアクセスのためにより高速なキャッシュメモリを使用することを可能にするより協調した方法で実行されることがしばしば有利である。
【0162】
提案された加速方法の鍵は、メモリアクセス要件が重複するスレッドが同時に実行され、共通の高速キャッシュメモリを利用して光線計算プロセス全体を加速することができるように、独立した光線計算スレッドを構造化および調整する方式である。
【0163】
重要な観察は、階層化シーン分解が与えられると、全ての光線がある時点で各レイヤを通過することである。各レイヤは、レイヤをスラブボリュームにさらに細分するホゲルサブセットを定義した。したがって、任意の光線がレイヤを通過する際に、少なくとも1つのスラブボリュームとも交差することをさらに観察することができる。さらに、ホゲルサブセットに対応する全ての光線が、ホゲルサブセットに関連付けられたスラブボリュームと交差することを観察することができる。
【0164】
本明細書において開示される方法の鍵は、ホゲルサブセットに関連付けられた全ての光線が同じスラブボリュームと交差し、スラブボリューム内の各光線のセグメントに対して実行される任意の部分的な光線計算が同期して実行されるように、光線計算を調整することにある。
【0165】
コンピュータサイエンスでは、プロセス同期とは、複数のプロセスが、合意に達するために、または特定の一連の動作にコミットするために、特定の時点で参加またはハンドシェイクするという考えを指す。
【0166】
本方法の鍵は、この技術が改善された効率を実現するために、共通のプログラム可能なローカルストアキャッシュメモリを共有する必要があるため、ホゲルサブセットに対応する全ての光線が同期し、対応するスラブ28と交差することである。これは、ホゲルサブセットがローカルストアキャッシュの周りでスケジュールおよび同期されなければならないことを除いて、前述の方法と同様である。ホゲルサブセット群内で、スラブ28と交差する全てのボクセルは、スラブ28への最初の入射時にホゲル内の全ての光線の光線計算を同期させるステップの前に、ローカルストアメモリに事前ロードされるべきである。全ての光線がスラブ28に入ると、それらは、ローカルストアキャッシュメモリからボクセル(または他の)ボリューム要素にアクセスするだけで、光線経路に沿って位置する再サンプリング点に関連付けられた再構成計算を実行する。光線は、光線経路に沿った離散点で進むか、または「停止」し、これらの離散点は、本明細書では再サンプリング点と呼ばれる。
【0167】
このプロセスの一実施形態は、単一のスラブボリュームと交差する光線に関連付けられた単一の計算スレッドを「マスタ」として表し、他を「スレーブ」として表すことを含み、マスタは、後続の計算においてそれ自体およびスレーブスレッド用の高速キャッシュメモリを初期化するために低速メモリアクセスを開始する。スレーブは、それらがアクセスされることができ、後続の光線計算が実行されることができる前に低速メモリからの必要な数値がキャッシュメモリにプリロードされるまで待機しなければならないという意味でマスタと同期しなければならない。コード例では、マスタ光線を「一次光線」として示し、スレーブスレッドを「二次光線」として示す。この手法の1つの可能な実施形態は、以下の擬似コードを使用して説明される:
近方クリップから遠方クリップの順に、(レイヤリストについてのインサート右側記号)の各レイヤLについて
レイヤLに対するホゲル分割を計算し、それをPと呼ぶ。
ホゲルのサブセットのリストを作成する。
ホゲルの各サブセットについて
このホゲルのサブセットにおける全ての光線画素Rについて
Rがそのホゲルサブセットについての一次光線であるかどうかを決定する
このホゲルサブセットに対してLのスラブを決定する
(Rが一次光線である)場合
Lのスラブと交差する全てのボクセルをローカルストア(「ボリュームデータキャッシュ」)にロードする
レイヤLにある間、光線Rに沿った全てのサンプルについて
密度=サンプル位置における密度を再構成するためのサンプルボリュームデータキャッシュ
(必要に応じて前のレイヤからの)前の値および密度によって評価された伝達関数を使用してアルファおよび色を累積し、それぞれalpha_accumおよびcolor_accumに記憶する。
Rについてのライトフィールド画素にcolor_accumを書き込む
【0168】
特定のアーキテクチャに対する実装の性能および/または適合性に影響を及ぼすように変更されることができる多くのパラメータがある。選択されたレイヤ方式は、スラブ28のサイズを有意に決定する。より大きなスラブ28のサイズは、より多数のボクセルと交差するため、ユーザプログラマブルボクセルキャッシュがロードされる前に大きなプリロードステージを必要とする。例えば、大きなFoVを有するディスプレイの場合、ディスプレイから遠い広いレイヤでは、多くのボクセルデータポイントと交差する可能性が高い比較的非常に大きなスラブ28のサイズをもたらす。
【0169】
この問題に対処する2つの明らかな方法がある。レイヤによって形成された結果として得られるスラブ28の幅を減少させるように、dmin(lp)2,よりも小さいホゲルサブセットを有するセクタ分割を選択することができる。これは、本方法がオーバーラップを利用するための全体的な理論的能力を低下させ、したがって必要な総DRAM帯域幅を増加させることがあるが、状況に応じて許容可能な取引であり得る。別の可能性は、結果として得られるスラブ28の他の幅寸法を必然的に減少させるように、より狭いレイヤを選択することである。
【0170】
一部のレイヤおよび一部のセクタ分割に対するスラブ28を考える。ディスプレイの方向解像度がスケーリングされると、同じ階層化方式を維持することは、スラブ28の幾何学的形状を変化しないままにすることが分かる。このホゲルサブセット内のいずれかのホゲルについて、対応する光線がこのスラブ28と交差するとき、それらは、スラブ28とV(x,y,z)データセットとの交差からのボクセルのセットのみを必要とすることが容易に分かる。
【0171】
したがって、個々のスラブ28に対してキャッシュにロードされるボクセルの数は、方向分解能に関係なく同じままである。方向分解能が増加し、他の全てが固定されたままであると、キャッシュから来るボクセルアクセスの割合が増加する一方で、DRAMから必要とされるメモリ帯域幅は固定されたままである。これは、この最適化された手法を使用すると、従来の総当たり手法よりもさらに高い品質が得られるという点で、優れたスケーリング特性である。
【0172】
メモリ帯域幅要件を低減するプレノプティックダウンサンプリング戦略
ライトフィールドボリュームレンダリングの性能を改善し、DRAMに必要な直接アクセスを低減する別の手段は、光線経路に沿って必要な再構成サンプルの総数を低減し、したがってボクセルアクセスの総数を制限することである。開示された表面シーンベースの階層化シーン分解コーデック作業では、レイヤは、ディスプレイ面10からの距離に基づいてダウンサンプリングされることができることが観察される。これは、Zwickerらに記載されているプレノプティックサンプリング理論の原理である。実際には、多くの場合、このダウンサンプリングは、ライトフィールドディスプレイ上で見たときに、結果として得られるライトフィールド画像に対して非常に小さいかまたは実質的でない(最終的に知覚できない)変化をもたらすことが観察される。
【0173】
具体的には、焦点距離fを有するホゲルを有する所与のディスプレイ構成では、最大深度dを有するレイヤを表すために、以下の方向分解能が必要とされる:
【数45】
【0174】
Pを分割する所与のセクタ内のホゲルに関連付けられた任意の光線は、レイヤLに対してP 28のスラブと交差する。レイヤL内で発生するこれらの光線に沿った全てのサンプルは、このスラブ28内で発生する。
【0175】
最悪のシナリオでは、所与のスラブ28について、画素ごとに計算された単一の光線がなければならないが、セクタサブセットに関連付けられたサンプリング光線のセットは、レイヤの最大深度に基づいて実際に数が減少および増加することができることが観察される。より少ない光線が使用される場合、単一の光線は、1対1の対応ではなく、多くの画素を表す。このダウンサンプリングは、結果として得られるライトフィールド画像の品質に全く影響を与えないか、または実質的に影響を与えないように実行されるべきであるという考えである。
【0176】
以前は、階層化シーン分解定義の文脈において、個々のレイヤは、各レイヤに関連付けられたライトフィールド画像内にどの画素を含める(または含めない)かを表すサンプリング方式に関連付けられていた。ダウンサンプリング方式を正確に指定するために、階層化シーン分解にも基づくボリュームレンダリング方法の文脈で同様の規則を使用することができる。本発明者らは、(本明細書においてボリュームレンダリングについて提案されているように)レイキャスティング手順を使用して所与のレイヤに関連付けられたライトフィールドをレンダリングする文脈において、サンプリングに含まれる画素に対応する光線が「アクティブ」と呼ばれ、サンプリング方式によって除外される光線が「休止」と呼ばれることができるという慣例をさらに使用することを提案する。
【0177】
本開示の目的は、同じ光線サンプリング原理が適用されて、光線キャスティング累積プロセスに沿ってイメージングボリュームをサンプリングすることができることである。換言すれば、単一の光線が最初に投射され、それが次に複数の光線に分岐し、それによってボリューム累積プロセス中にさらなる光線に再帰的に分岐する。この分岐プロセスは、サンプリング原理によって指示されることができる。例えば、1つの可能な実施形態は、深度の焦点距離ごとに、その深度で詳細を取り込むために必要な方向分解能が1だけ増加しなければならないことである。したがって、光線は、理論上、各焦点距離増分に沿ってこの原理にしたがって分岐する。
【0178】
この手法の利点は、光線累積プロセスがディスプレイの近くにあるため、ボリュームレンダリング積分を計算するために必要なボリュームのサンプルが少なくなることである。光線がディスプレイの最大被写界深度に近付くにつれて、サンプリングレートは、単純な手法のサンプリングレートに近付き、それによって全てのホゲル画素が光線プロセス全体の個々の光線に関連付けられる。必要なサンプル数の減少が定量化され、数学的に分析されることができる。
【0179】
提案された方式に必要なサンプルの割合は、ディスプレイ面10からの全ての深度で一定の速度で、サンプルを累積する全てのホゲル画素に対して単純方式に対して計算される。一般性を失うことなく、ホゲルの数に基づいて、全てが乗法係数まで当てはまるため、単一のホゲルが分析のために考慮される。
【0180】
Drはライトフィールドの指向分解能を示すとする(Dr*Drホゲルを仮定)。
【0181】
プレノプティックサンプリングの考えに基づいて、すなわち、理想的な平面パラメータ化された光線分布を仮定すると、iが整数であり、fがホゲルレンズの焦点距離であり、距離i*fでオブジェクトを十分にサンプリングするためには、方向分解能がiでなければならないと仮定される。したがって、深度i*fでi2の光線を必要とする。
【0182】
光線が単一の錐台内のみを進む場合を考慮して、ボリュームレンダリングのために、深度Dr*fで光線がディスプレイ表面からディスプレイの最大被写界深度まで進む光線キャスティング手順があると仮定する。各fの広いレイヤ内では、レイヤが深度i*fにある場合、少なくともi2の光線が必要とされる。
【0183】
光線は、ディスプレイ面からの移動されるfの距離当たりMの速度でボリュームをサンプリングすると仮定される。したがって、全過程にわたるこのようなホゲルに関連付けられた1つ当たりのサンプル数を記述する式が得られる:
【数46】
【0184】
単純サンプリングの下では、それによってホゲルあたりの全てのD
r*D
rの画素が光線の全過程にわたって関連する光線を有し、Mの同じサンプリングレートを仮定すると、サンプルの数は、fの広いレイヤあたりに
【数47】
である。したがって、D
rのレイヤ上では、サンプルの総数は
【数48】
である。
【0185】
したがって、単純サンプリング方式に対する提案されたサンプリング方式の下でのサンプルの比を計算することができる:
【数49】
【0186】
【0187】
Dr=32などのDrのより低い値については、Ratiosamplesが0.36に評価されることが示されており、これは1/3の限界値に非常に近い。したがって、Drの有用な値については、サンプル数は約1/3に低減されると言える。実際には、標準的な単純手法は帯域幅が制限されているため、これはより高性能なアルゴリズムをもたらすと仮定される。
【0188】
以下では、擬似コードを使用してこの戦略が実施されることができる可能な方法について説明する。本発明者らは、所与のレイヤおよび所与のホゲル内で、光線がサンプリング方式に含まれるか否かに基づいて、光線が「アクティブ」または「休止」のいずれかとしてマークされるように実装を提示する。
【0189】
特定のレイヤ内で光線が休止している場合、本方法の利点は、その特定のレイヤ内のそれらの光線に対してボリュームレンダリング計算を実行することを本質的に回避することができることである。これは、ボリュームデータのサンプリング、ならびにボリュームデータからの勾配再構成計算、照明計算、または伝達関数計算などの他のボリュームレンダリング計算が回避されることができることを意味する。
【0190】
しかしながら、光線が休止している場合、同じ光線が同様に休止している場合もしていない場合もある隣接レイヤに関連する同じ光線計算に関してブレンド計算が実行されることができるようにするために、依然として色およびα値が割り当てられなければならない。本明細書の目的のために、休止光線に色を割り当てるプロセスを「アップスケーリング」と呼ぶ。本発明者らは、この動作を実施するための1つの好ましい方法が、最近傍補間法、線形補間、または潜在的にエッジ適応補間技術を含むことができる隣接光線を使用した補間を含むことを提案する。
【0191】
この手法の可能な実装形態は、擬似コードを使用して説明される:
近方クリップから遠方クリップの順に、(レイヤリストについてのインサート右側記号)の各レイヤLについて
全ての光線画素Rについて
光線がアクティブであるかまたは休止しているかを決定する
レイヤLにある間、光線Rに沿った全てのサンプルについて
(光線がアクティブである)場合
密度=サンプル位置における密度を再構成するためのサンプルボリュームデータキャッシュ
(必要に応じて前のレイヤからの)前の値および密度によって評価された伝達関数を使用してアルファおよび色を累積し、それぞれalpha_accumおよびcolor_accumに記憶する
そうでなければ(光線は休止している)
color_accum=ホゲル内の最も近いアクティブ光線からの補間
alpha accum=ホゲル内の最も近いアクティブ光線からの補間
Rについてのライトフィールド画素にcolor_accumを書き込む
レイヤごとに指定されたダウンサンプリングを、ボリュームスラブ要素をキャッシュし、対応するボリュームレンダリング光線計算を同期させる前述の方法と組み合わせることも可能である。低減されたサンプルとレイヤベースのキャッシュの双方を利用する手法を使用して、出力としてレンダリングされたライトフィールド画像を生成するためのプロセスが導出されている。擬似コードは以下のとおりである:
近方クリップから遠方クリップの順に、(レイヤリストについてのインサート右側記号)の各レイヤLについて
レイヤLに対するホゲル分割を計算し、それをPと呼ぶ。
ホゲルのサブセットのリストを作成する。
ホゲルの各サブセットについて
このホゲルのサブセットにおける全ての光線画素Rについて
Rがそのホゲルサブセットについての一次光線であるかどうかを決定する
このホゲルサブセットに対してLのスラブを決定する
(Rが一次光線である)場合
Lのスラブと交差する全てのボクセルをローカルストア(「ボリュームデータキャッシュ」)にロードする
光線がアクティブであるかまたは休止しているかを決定する;(仕様を参照し、このサブプロセスを説明するために別個の擬似コードのブレイクアウトを作成する)
レイヤLにある間、光線Rに沿った全てのサンプルについて
(光線がアクティブである)場合
密度=サンプル位置における密度を再構成するためのサンプルボリュームデータキャッシュ
(必要に応じて前のレイヤからの)前の値および密度によって評価された伝達関数を使用してアルファおよび色を累積し、それぞれalpha_accumおよびcolor_accumに記憶する
そうでなければ(光線は休止している)
color_accum=ホゲル内の最も近いアクティブ光線からの補間
alpha accum=ホゲル内の最も近いアクティブ光線からの補間
Rについてのライトフィールド画素にcolor_accumを書き込む
【0192】
レイヤベースの圧縮分析
予測可能な圧縮率は、(達成可能な圧縮率を示さない)ダウンサンプリング基準とともに、リアルタイムレンダリングおよび伝送システムを作成するために必要とされる。以下は、本開示の階層化シーン分解符号化戦略の圧縮分析を提供する。
【0193】
前述したように、プレノプティックサンプリング理論のみに基づいてライトフィールドをダウンサンプリングすることは、保証された圧縮率を提供しない。本開示は、低レイテンシのリアルタイムライトフィールドコーデックを可能にするダウンサンプリングライトフィールド符号化戦略を提供する。一実施形態では、ΔEIおよびNresの双方を使用する、プレノプティックサンプリング理論に基づく相補的なサンプリング方式が、個々の階層化シーン分解レイヤサンプリングレートを駆動するために使用される。複数のライトフィールドとして全3Dシーンを表す階層化シーン分解は、シーン表現をレイヤ数の係数によって拡張する。本開示は、レイヤ深度が適切に選択される場合、プレノプティックサンプリング理論に基づくダウンサンプリングと組み合わせたときに圧縮率を保証することができることをさらに企図する。
【0194】
所与の階層化シーン分解レイヤl
iに対応するライトフィールド
【数51】
の場合、レイヤの制限された深度範囲は、レイヤのライトフィールドの保証された圧縮率を提供する。単一のレイヤ内に完全に含まれるシーンのダウンサンプリングからの達成可能な圧縮比は、以下の定理において説明されることができる:
【0195】
定理1
等方性方向分解能N=N
u=N
v、階層化シーン分解L、および関連するサンプリング方式S=(M
S,R)を有するディスプレイD=(M
x,M
y,N
u,N
v,f,a,D
LP)を考える。d
min(l
i)<Z
DOF(D)、および
【数52】
が選択されるため、「1」エントリ間の距離がΔEI(d
min(l
i))およびR(l
i)=N
res(d
max(l
i))に設定されるように、対応するライトフィールド
【数53】
による階層化シーン分解レイヤl
iを仮定する。階層化シーン分解レイヤl
iに関連するSに関連付けられた圧縮率は
【数54】
である。
【0196】
証明1
ディスプレイの最大被写界深度内の階層化シーン分解レイヤを考える。ここで、0<c,d≦Z
DOFについて
【数55】
および
【数56】
である。したがって、
【数57】
および
【数58】
および
【数59】
である。したがって、ΔEI(d
min(l
i))=N/cおよびN
res(d
max(l
i))=N/dである。
【0197】
このサブサンプリングのレートに基づいて、システムは、全ての(N/c)
th要素画像を必要とし、したがって1:(N/c)
2の圧縮比を提供する。要素画像サブサンプリングは、1:d
2圧縮比を提供する。したがって、総圧縮比は1:(N/c)
2*1:d
2=1:N
2(d/c)
2である。圧縮係数項
【数60】
は、圧縮比を決定する。
【0198】
dmin(li)=ZDOFおよび(dmax(li))が任意の深度まで拡張することができる代替ケースも存在することができる。ΔEI(ZDOF)=NおよびNresが全ての深度d≧ZDOFについてのNの最大可能値を達成することが知られている。このサブサンプリングのレートに基づいて、システムは、全てのNth要素画像を必要とし、したがって1:N2圧縮比を有するライトフィールドを提供する。ZDOFを超えるさらなる階層化シーン分解レイヤを追加することは、フロントパラレル平面オブジェクトを表現するときに冗長な表現能力を追加する。したがって、コア符号化表現を作成するとき、全シーンは、レイヤ内の最大被写界深度によって最適に分解されることができる。
【0199】
階層化シーン分解レイヤをダウンサンプリングするための圧縮計算式が与えられると、レイヤパラメータが変化するにつれて圧縮係数がどのように変化するかを決定することができる。固定幅のレイヤの場合、またはいくつかのdmax(li)-dmin(li)=wについてwの場合、cf項は、dmax(li)-dmin(li)がディスプレイ面10に最も近いときに最小化される。したがって、ディスプレイ面10からより近くに位置する階層化シーン分解レイヤは、ディスプレイ面10からより遠くに位置するレイヤと同じ圧縮比を達成するために、より狭い幅を必要とする。この圧縮率分析は、深度ZDOFまでディスプレイ面10から空間内に位置する複数の隣接するフロント平面レイヤに分割されたシーンに拡張することができる。
【0200】
定理2
等方性方向分解能N=N
u=N
v、階層化シーン分解L、および関連するサンプリング方式S=(M
S,R)を有するディスプレイD=(M
x,M
y,N
u,N
v,f,a,D
LP)を考える。S
LF=M
xM
yN
uN
vをライトフィールド内の画像画素の数を示すとする。階層化シーン分解表現の圧縮比は、以下のように定義されることができる:
【数61】
【0201】
証明2
圧縮比によってダウンサンプリングされた所与の階層化シーン分解レイヤについて:
【数62】
【0202】
圧縮比を計算するために、圧縮された形態の各レイヤのサイズが計算されて合計され、総圧縮レイヤサイズがライトフィールドのサイズによって除算される。圧縮されたレイヤのセットのサイズが以下である合計を考える:
【数63】
【0203】
したがって、組み合わせられたレイヤの圧縮比は、以下のとおりである:
【数64】
【0204】
階層化シーン分解レイヤが可変幅からなり、d
min(i)およびd
max(i)がi
thレイヤの前後の境界深度を表すシステムでは、階層化シーン分解表現の圧縮比は、以下のとおりである:
【数65】
【0205】
一定の階層化シーン分解レイヤについての合計
【数66】
は、単調に減少し、1に向かう傾向がある。
【0206】
したがって、ディスプレイ面10に近い位置にある階層化シーン分解レイヤは、ディスプレイ面10から遠い位置にある同じ幅のレイヤよりも低い圧縮率を達成する。効率を最大化するために、より狭い幅を有する階層化シーン分解レイヤは、ディスプレイ面10のより近くに配置され、より広い階層化シーン分解レイヤは、ディスプレイ面からより遠くに配置される。この配置は、シーンにわたって均一な圧縮率を維持する。
【0207】
階層化シーン分解レイヤの数およびサイズ
階層化シーン分解に必要なレイヤの数およびレイヤのサイズを決定するために、α(t)=t恒等関数を有するライトフィールドディスプレイが例として提供される。この恒等関数の考慮は、他の関数が利用されることができるため、本開示の範囲または趣旨を限定することを意図するものではない。本発明が関係する分野の当業者は、ディスプレイD=(Mx,My,Nu,Nv,f,a,DLP)が単一の恒等関数αによって定義されているが、平面パラメータ化ピンホールプロジェクタのアレイ内の各ライトフィールド平面パラメータ化ピンホールプロジェクタが固有の恒等関数αを有することができることを理解するであろう。
【0208】
(閉塞がないと仮定して)フロント平面表面を無損失に表現するために、深度ZDOFに位置する前面境界を有する単一階層化シーン分解レイヤは、ZDOFから無限遠までのシステムを表す。無損失圧縮は、元のデータが圧縮されたデータから完全に再構成されることを可能にするデータ圧縮アルゴリズムのクラスとして定義されることができる。コア表現を生成するために、ライトフィールドディスプレイの最大被写界深度に位置する最深レイヤを超える階層化シーン分解レイヤは、これらのレイヤがコア表現の観点から追加の代表的なパワーを提供しないため、考慮されない。これは、内側および外側錐台ボリュームレイヤセットの双方に当てはまる。
【0209】
(内側および外側錐台ボリュームレイヤセットの双方について)ディスプレイ面10からディスプレイの最大被写界深度までの領域内で、階層化シーン分解レイヤは、ライトフィールドディスプレイfの値の整数倍である最大距離深度および最小距離深度を利用する。より狭い幅を有する階層化シーン分解レイヤは、改善されたレイヤごとの圧縮比を提供し、それによってより良好な全体的なシーン圧縮比を提供する。しかしながら、より多くのレイヤが再構成およびマージされなければならないため、分解におけるレイヤの数が多いと、復号に必要な処理量が増加する。したがって、本開示は、異なるレイヤ深度を有するレイヤ分配方式を教示する。一実施形態では、より狭い幅を有する階層化シーン分解レイヤ(および相関によって、前記レイヤによって表されるライトフィールド)は、ディスプレイ面10の近くに配置され、レイヤ幅(すなわち、前面レイヤ境界と背面レイヤ境界との間の深度差)は、ディスプレイ面10からの距離が増加するにつれて指数関数的に増加する。
【0210】
コーデック符号化器/符号化
本開示にかかる符号化は、リアルタイムインタラクティブコンテンツ(例えば、ゲームまたはシミュレーション環境用)、ならびにライトフィールド一般化ピンホールカメラまたはカメラアレイを介して取り込まれた既存の多次元データセットの生成をサポートするように設計されている。
【0211】
ライトフィールドディスプレイD、階層化シーン分解L、およびサンプリング方式Sの場合、システム符号化器は、サンプリング方式に含まれる各階層化シーン分解レイヤに対応するライトフィールドに関連付けられた要素画像を生成する。各要素画像は、一般化ピンホールカメラに対応する。要素画像は、サンプリング方式によって指定された解像度でサンプリングされ、各要素画像は深度マップを含む。
【0212】
著しく高い解像度およびサイズでリアルタイムインタラクティブコンテンツを多次元ディスプレイに駆動するレンダリング性能を達成することは、本明細書に記載の任意の1つの技術のみに依存する欠点を解決するためのハイブリッドまたは組み合わせレンダリング手法の適用によって克服される重大な課題を提示した。
【0213】
所与の恒等関数αの場合、所与の階層化シーン分解レイヤの符号化方式によって指定された一般化ピンホールカメラのセットは、標準グラフィックスビューポートレンダリングを使用して体系的にレンダリングされることができる。このレンダリング方法は、特に多数の基礎となる要素画像を含むサンプリング方式を有する階層化シーン分解レイヤに対して、多数の描画呼び出しをもたらす。したがって、現実的な自動立体視ライトフィールドディスプレイのために階層化シーン分解を利用するシステムでは、このレンダリング方法だけではリアルタイム性能を提供しない。
【0214】
標準的なグラフィックス描画呼び出しを利用するレンダリング技術は、一般化ピンホールカメラの平面パラメータ化(恒等関数α)のレンダリングを透視変換に制限する。ハードウェア最適化ラスタライゼーション機能は、従来の2次元ディスプレイにおける高品質のリアルタイムレンダリングに必要な性能を提供する。これらの加速されたハードウェア機能は、平面パラメータ化に基づいている。あるいは、平行な斜め投影は、標準的なラスタライズされたグラフィックスパイプラインを利用して、一般化ピンホールカメラの平面パラメータ化をレンダリングすることができる。
【0215】
本開示は、三角形のセットを表示画面上の画素に変換することによって一般化ピンホールカメラビューをレンダリングするためのラスタライゼーションの適用を企図する。多数のビューをレンダリングする場合、全ての三角形は、全てのビューにおいてラスタライズされなければならない。斜めレンダリングは、階層化シーン分解レイヤごとに必要とされるレンダリングパスの数を減らし、任意の恒等関数αに対応することができる。システムは、恒等関数αによって指定される角度ごとに1つの平行な斜め投影を利用する。データがレンダリングされると、システムは、「スライスおよびダイス」ブロック変換(米国特許第6,549,308号明細書および米国特許第7,436,537号明細書を参照されたい)を実行して、記憶されたデータをその角度ごとのグループから要素画像のグループに再グループ化する。「スライスおよびダイス」方法だけでは、多数の角度をレンダリングする場合に多くの別個の斜めレンダリング描画呼び出しを必要とするリアルタイムインタラクティブコンテンツには非効率的である。
【0216】
任意の恒等関数αは、レイトレーシングレンダリングシステムによって適合されることもできる。レイトレーシングでは、任意の角度を指定することは、平面パラメータ化を受け入れることよりも高い性能を必要としない。しかしながら、最新の加速されたGPUを利用するレンダリングシステムを必要とするリアルタイムインタラクティブコンテンツの場合、ラスタライゼーションは、レイトレーシングレンダリングシステムよりも信頼性の高い性能スケーラビリティを提供する。
【0217】
本開示は、ライトフィールドを効率的に符号化するためのいくつかのハイブリッドレンダリング手法を提供する。一実施形態では、符号化方式は、より多くの画像がより少ない角度サンプルを必要とする、ディスプレイ面10の近くに配置された階層化シーン分解レイヤ、およびより少ない画像およびより多くの角度サンプルを有する、ディスプレイ面10からより遠くに配置されたレイヤをレンダリングする。関連する実施形態では、透視レンダリング、斜めレンダリング、およびレイトレーシングは、階層化シーン分解レイヤをレンダリングするために組み合わされる。これらのレンダリング技術は、様々なインターリーブされたレンダリング方法において実装されることができる。
【0218】
本開示の一般化された例示的な実施形態によれば、1つ以上のライトフィールドは、2次元ピンホールカメラのアレイをレンダリングするGPUによって符号化される。レンダリングされた表現は、階層化シーン分解レイヤのそれぞれに適用されたサンプリング方式から画素を計算することによって作成される。画素シェーダは、符号化アルゴリズムを実行する。典型的なGPUは、1つの伝送フレームにおいてシーンごとに最大2から4つのピンホールカメラビューを生成するように最適化される。本開示は、数百または数千のピンホールカメラビューを同時にレンダリングすることを必要とし、したがって、データをより効率的にレンダリングするために複数のレンダリング技術が使用される。
【0219】
最適化された一手法では、ディスプレイ面10からさらに離れて位置する階層化シーン分解レイヤ内の一般化ピンホールカメラは、透視レンダリングとして知られる標準的なグラフィックスパイプラインビューポート操作を使用してレンダリングされる。ディスプレイ面10の近くに位置する階層化シーン分解レイヤ内の一般化ピンホールカメラは、「スライスおよびダイス」ブロック変換を使用してレンダリングされる。これらの方法を組み合わせることは、階層化プレノプティックサンプリング理論サンプリング方式についての高効率レンダリングを提供する。本開示は、階層化シーン分解レイヤを提供し、ディスプレイ面10からより遠くに位置するレイヤは、より高い解像度を有するより少数の要素画像を含み、ディスプレイ面10のより近くに位置するレイヤは、より低い解像度を有するより多数の要素画像を含む。本方法は、各要素画像に対して単一の描画呼び出しのみを必要とするため、透視レンダリングを用いてディスプレイ面10からさらに離れたレイヤ内のより少数の要素画像をレンダリングすることは効率的である。しかしながら、ある時点で、透視レンダリングは、ディスプレイ面10の近くに位置するレイヤにとって非効率的になるか、または非効率的であり、これは、これらのレイヤがより多くの要素画像を含み、描画呼び出しの数を増やす必要があるためである。ディスプレイ面10の近くに位置するレイヤに位置する要素画像は、比較的少数の角度に対応するため、斜めレンダリングは、描画呼び出しの数を減らしてこれらの要素画像を効率的にレンダリングすることができる。一実施形態では、システムが、階層化シーン分解レイヤをレンダリングするために、透視レンダリング、斜めレンダリング、またはレイトレーシングをどこで利用すべきかを決定するプロセスが提供され、閾値アルゴリズムを適用し、各階層化シーン分解レイヤは、レンダリングされる要素画像の数(すなわち、透視レンダリング描画呼び出しの回数)を、特定のレイヤ深度で必要とされる要素画像のサイズ(すなわち、斜めレンダリング描画呼び出しの回数)と比較するために評価され、システムは、最小数のレンダリング描画呼び出しを必要とするレンダリング方法(技術)を実装する。
【0220】
標準的なグラフィックス呼び出しを利用することができない場合、システムは、透視または斜めレンダリングの代わりにレイトレーシングを実装することができる。したがって、別の実施形態では、代替的なレンダリング方法は、レイトレーシングを使用して、ディスプレイ面10の近くに配置されたレイヤ、またはディスプレイ面10の近くに配置されたレイヤの一部をレンダリングする。
【0221】
レイトレーシングレンダリングシステムでは、階層化シーン分解レイヤ内の各画素は、ライトフィールドによって定義された光線に関連付けられる。各光線が投射され、階層化シーン分解との交差が、標準的なレイトレーシング方法にしたがって計算される。レイトレーシングは、従来のGPUレンダリングにとって困難な任意の光線角度に対応することができるため、標準的なGPUレンダリングパイプラインによって予想される標準的な平面パラメータ化にしたがわない恒等関数αをレンダリングする場合に有利である。
【0222】
本発明が関係する分野の当業者は、階層化シーン分解要素画像を首尾よく符号化することができる複数のレンダリング方法およびレンダリング方法の組み合わせがあることを理解するであろう。他のレンダリング方法は、システムの基礎となる計算アーキテクチャ、利用されるサンプリング方式、およびライトフィールドディスプレイの恒等関数αに応じて、異なる文脈で効率を提供することができる。
【0223】
コーデック復号器/復号
本開示にかかる復号は、符号化戦略(サンプリングおよびレンダリング)を利用するように設計される。ダウンサンプルされた階層化シーン分解からの階層化ライトフィールドのセットとしてのコア表現は、ライトフィールドLFOおよびLFPを再構成するために復号される。階層化シーン分解L=(K1,K2,LO,LP)および関連するサンプリング方式S=(Ms,R)を有するディスプレイD=(Mx,My,Nu,Nv,f,a,DLP)を考える。要素画像は、サンプリング方式Sによって指定されるようにダウンサンプリングされた分解されたライトフィールドLFOおよびLFPからライトフィールドLFOおよびLFPを再構成することによって復号される。画素は、ディスプレイ面10により近くに位置する内側および外側錐台ボリュームレイヤが最初にレビューされ、空でない画素が位置するまでディスプレイ面10からより遠くに位置する内側および外側錐台ボリュームレイヤに移動するように整合し、空でない画素からのデータは、ディスプレイ面10により近い空の画素に送信される。代替実施形態では、特定の実装は、ライトフィールドディスプレイの内側錐台ボリューム18または外側錐台ボリューム20へのビューを制限することができ、それにより、LFOまたはLFPのうちの一方の復号を必要とする。
【0224】
一実施形態では、復号プロセスは、以下の擬似コードによって表される:
コア階層化復号:
各l
i∈L
oについて:
【数67】
【数68】
(前後対前後逆)
【0225】
同様の手順がLFPを再構成する。各階層化シーン分解レイヤは、所与のサンプリング方式Sによって定義された限定されたサンプルから再構成される。内側錐台ボリュームレイヤまたは外側錐台ボリュームレイヤのそれぞれは、LFOまたはLFPを再生するようにマージされる。
【0226】
再構成LFは、様々な計算およびコーデック後の画質特性を有する様々な形態で実行されることができる。再構成LFは、所与のサンプリング方式Sにしたがってサンプリングされたレイヤに関連付けられたライトフィールド、およびライトフィールドの対応する深度マップが与えられると、それがサンプリングされた全ライトフィールドを再構成するような関数として定義されることができる。再構成LF入力は、所与のサンプリング方式Sおよび対応するダウンサンプリングされた深度マップ
【数69】
によって定義された
【数70】
データのサブセットである。Graziosiらによって記載された深度画像ベースレンダリング(DIBR)は、入力ライトフィールドを再構成することができる。DIBRは、投影レンダリング法に分類されることができる。再投影技術とは対照的に、Widmerらによって教示されたスクリーン空間レイキャスティングなどのレイキャスティング法は、ライトフィールドを再構成することができる。レイキャスティングは、再投影よりも大きな柔軟性を可能にするが、計算リソース要件を増加させる。
【0227】
DIBR手法では、サンプリング方式Sにおいて指定された要素画像は、ライトフィールドから欠落した要素画像を合成するための参照「ビュー」として使用される。「Layered Depth Images for Multi-View Coding」においてVincent Jantet、およびGraziosiらによって記載されたように、システムがDIBR再構成を使用する場合、プロセスは、通常、順方向ワーピング、マージ、および逆投影を含む。
【0228】
逆投影技術の適用は、要素画像などの合成されたビューに亀裂およびサンプリングアーチファクトが生じることを回避する。逆投影は、要素画像の深度マップまたは視差マップが、目標画像を再構成するのに必要な参照画像とともに合成されると仮定する。そのような合成は、通常、順方向ワーピング処理によって行われる。目標画像内の各画素の視差値を用いて、システムは、画素を参照画像内の対応する位置にワーピングする。典型的には、この参照画像位置は、整数画素グリッド上に位置合わせされないため、隣接画素値からの値が補間されなければならない。当該技術分野において知られている逆投影の実装は、単純な線形補間を使用する。しかしながら、線形補間は、問題となる可能性がある。ワーピングされた参照画像位置がオブジェクトエッジ境界上またはその近くに位置する場合、エッジ境界を横切る情報が補間演算に含まれるため、補間値は、重大なアーチファクトを示す可能性がある。合成画像は、「滲んだ」またはぼやけたエッジを有して生成される。
【0229】
本開示は、補間サブステップのための逆投影技術を提供し、滲んだまたはぼやけたエッジのない高品質の合成画像を生成する。本開示は、エッジ適応補間(EAI)を導入し、システムは、参照画像内のワーピングされた画素の色を計算するために補間演算によって必要とされる画素を識別するために深度マップ情報を組み込む。EAIは、ローパスフィルタリング動作中にエッジを適合させて保存する非線形補間手順である。目標画像It(x,y)、参照画像Ir(x,y)、ならびに深度マップDm(It)およびDm(Ir)を有するディスプレイD=(Mx,My,Nu,Nv,f,a,DLP)を考える。本開示は、深度マップDm(It)ピンホールカメラパラメータ(f、αなど)および平面パラメータ化ピンホールプロジェクタのディスプレイのアレイの相対位置を利用して、各It画素整数(x,y,)をIr内の実数位置(xw,yw)にワーピングする。(xw,yw)が整数座標位置に位置していない可能性のあるシナリオでは、値は、Ir整数サンプルに基づいて再構成されなければならない。
【0230】
当該技術分野において知られている線形補間方法は、2×2画素近傍に位置する4つの最も近い整数座標からIr(xw,yw)を再構成する。代替的な再構成方法は、より大きな近傍(3×3画素近傍など)を使用し、様々な再構成品質(Marschnerら、「An evaluation of reconstruction filters for volume rendering」を参照されたい)によって同様の結果を生成する。これらの線形補間方法は、信号の基礎となる幾何学的形状の知識を有しない。滲んだまたはぼやけたエッジ画像は、再構成が、画像内のエッジによって分離された、異なるオブジェクトに属する画素隣接物を利用するときに発生する。他のオブジェクトからの色の誤った包含は、ゴーストアーチファクトを生成する。本開示は、複数のオブジェクトが重なり合うときに生成されるエッジの存在を予測するために深度マップDm(Ir)を使用することによって画素近傍を重み付けまたは省略する方法を提供することによって、この再構成の問題を改善する。
【0231】
目標画像I
t(x,y)内の固定された任意の座標(x
r,y
r)について、d
tは、位置深度を定義する:
【数71】
【0232】
目標画像座標(xr,yr)は、参照画像座標(xw,yw)にワーピングする。
【0233】
(x
w,y
w)に近い点のmサイズ近傍の場合、セットN
S={(x
i,y
i)|1≦i≦m}である。近傍者のそれぞれの重みは、以下のように定義される:
【数72】
【0234】
ここで、w
iは、インデックスiに対応する深度(x
r,y
r)および(x
w,y
w)の近傍の深度の関数である。以下の式は、所与の閾値t
eに対する有効値w
iを表す:
【数73】
【0235】
閾値t
eは、特徴サイズパラメータである。重み関数は、どのようにI
r(x
r,y
r)を再構成するかを決定する:
【数74】
【0236】
再構成関数は、単純な修正線形補間とすることができ、wiの重みは、標準的な重み付け手順に組み込まれ、1の総重みを維持するように再正規化される。
【0237】
本開示はまた、階層化シーン分解を再構成するための性能最適化された復号方法を提供する。階層化シーン分解L=(K1,K2,LO,LP)および関連するサンプリング方式S=(MS,R)を有するディスプレイD=(Mx,My,Nu,Nv,f,a,DLP)を考える。要素画像は、サンプリング方式Sによって指定されるようにダウンサンプリングされた分解されたライトフィールドLFOおよびLFPからライトフィールドLFOおよびLFPを再構成することによって、復号される。上述した、特定の実装は、ライトフィールドディスプレイの内側錐台ボリューム18または外側錐台ボリューム20へのビューを制限することができ、それにより、LFOまたはLFPのうちの一方の復号を必要とする。
【0238】
LFOは、サンプリング方式Sによって指定された要素画像を復号することによって再構成されることができる。特定のレイヤについての再構成LF方法は、欠落要素画像の欠落画素が再構成される順序に関する固有の制約を含まない。本開示の目的は、スループットを最大化する方法を使用して欠落画素を再構成することである。効果的なライトフィールドディスプレイに十分な大きさのライトフィールドは、インタラクティブなフレームレートでコンテンツを提供するために並外れた量のデータスループットを必要とし、したがって、改善された再構成データ伝送が必要とされる。
例示的な実施形態
【0239】
本明細書に記載の方法は、メモリアクセスの冗長性を利用してライトフィールドをボリュームレンダリングする方法を示す。本方法が並列処理フレームワークを使用してどのように実装されることができるかの具体例が提示される。
【0240】
ライトフィールドディスプレイDに関連付けられた階層化シーン分解Lを考える。以前に開示されたコーデックからの形式に基づいて、これは、レイヤのセットおよびサンプリング方式Sであるべきである。所与のディスプレイDに基づいて、このディスプレイの最大被写界深度は、maxDoF(D).であることは既知である。階層化方式は、ディスプレイの焦点距離fの整数倍であるように各深度にレイヤが存在するような方法で選択されることが提案される。「複数のf」深度のそれぞれにおけるこれらのレイヤのそれぞれについて、関数ΔEIの値が計算されることができる。ΔEI(i*f)=iであることは既知である。
【0241】
本開示では、単一の錐台内のレイヤ、例えば内側錐台ボリューム18がレンダリング方法に使用される方法について説明する。ボリュームレンダリングでは、単一の光線に関連する各計算スレッドは、ボリュームレンダリング積分の単一のインスタンスを計算する。積分は、光線経路に沿って前後に行われる累積計算として離散化される。したがって、内側錐台ボリューム18をレンダリングするために、各ホゲル内の各画素について、光線が内側錐台ボリューム18のディスプレイ面10で始まり、内側錐台ボリューム18の遠方クリップ平面14に到達するまで続くと仮定する。対照的に、外側錐台をレンダリングするために、光線は、近方クリップ平面12で始まり、ディスプレイ面10で終了する。外側錐台の近方クリップで始まる任意の光線について、それは、ディスプレイ面10で始まり、内側錐台ボリューム18の遠方クリップ平面14まで続く対応する光線において続く。外側および内側錐台光線セグメントは、並列に別々に計算されることができ、次いで、簡単な方法でボリュームレンダリング積分離散化を介して単一の最終計算に修正されることができる。
【0242】
あるいは、錐台内で後方から前方への順序で光線計算が実行されることも可能である。また、1つの錐台では後方から前方への計算を実行し、その後、他方では前方から後方への計算に進む、またはその逆などが可能である。順序は、これらの計算において流動的であり、積分計算の数学的特性によってのみ制約される。
【0243】
階層化シーン分解ボリュームレンダリングと階層化シーン分解表面レンダリングとの組み合わせ
米国特許第10,432,944号明細書には、表面ベースの表現をリアルタイムレートでレンダリングするための階層化シーン分解ベースの手法が記載されている。この手法の利点は、既存の技術を使用してリアルタイムレートでライトフィールドに必要な多数の画素を生成することができるシステムの実装を可能にすることである。この前述のプロセスの第2の段階(復号段階)は、この文献に記載されているライトフィールドボリュームレンダリング手法と統合されることができることが提案されている。その結果、本発明者らの新規な表面復号手法およびボリュームレンダリング手法の双方によって具現化されるキャッシュ効率の良い方法を利用して、リアルタイムのライトフィールドレンダリングのために同時にボリューム表現および表面表現の双方をサポートするレンダリングシステムが実現されることができる。
【0244】
本開示の目的のために、表面レンダリングのための階層化シーン分解が存在すると仮定する。表面ベースの階層化シーン分解(LSD)コーデックのための非常に広範な復号方法は、以下のように記述される:
コア階層化復号:
各l
i∈L
oについて:
再構成LF
【数75】
【数76】
//または
【数77】
(前後対前後逆)
【0245】
表面ベースのレンダリング、すなわち多角形表面ベースのレンダリングのための階層化された復号プロセスは、ボリュームレンダリングのためのプロセスと自然に組み合わせられることができることが提案される。基本的な考えは、上記の手順では、個々のレイヤが再構成され、次いで(m
*演算子を介して)隣接するレイヤとマージされることである。ボリュームレンダリングのための合成方程式は、マージ演算子に加えて組み込まれなければならないことが提案される。したがって、このより一般的なハイブリッド手法では、レイヤ結合演算子は、以前のようにマージ演算子として機能することもあれば、ボリュームレンダリング光線累積関数として機能することもあるより一般的な関数を実行するため、より一般的且つ複雑になる。この新たな演算子をブレンド演算子と呼ぶことを提案する。この演算子を*
cとする。
コア階層化復号:
各l
i∈L
oについて:
l
iの各ホゲルサブセットh
sについて
以下によって暗示される参照画像をキャッシュする
ホゲルサブセットに関連付けられた表面LFを再構成する(結果の色、深度マップを記憶する)
l_iおよびh_sに関連付けられたスラブと交差するボクセルをキャッシュする
以下までスラブ内の光線に対して光線累積を実行する
(1)光線は、表面LFの同じ画素に記憶された深度値に到達するか、または(2)表面LFの深度が空の場合にはレイヤの終わりまで
累積ボリューム色、対応する表面色値を有するアルファを合成する。
【数78】
//または
【数79】
(前後対前後逆)
【0246】
実際には、この提案は、潜在的な問題を有することがある。表面レイヤは、かなり大きくなる可能性があり(例えば、米国特許第10,244,230号明細書において提案された2方式のべき乗)、したがってボクセルの大きなサブセットと交差する非常に大きなスラブ28を作成する可能性があり、したがって実用的であるためにはあまりにも多くのユーザプログラマブルキャッシュを必要とする。これに対処するための1つの提案は、プロセスのボリュームレンダリング部分をより管理しやすいチャンクに細分化するのに役立つ、より小さなレイヤに表面レイヤを細分化することである。これは、アーキテクチャ上の制約によって駆動される実用的な実装レベルの詳細であり、最も可能性が高いのは、利用可能なユーザプログラマブルキャッシュの量だけである。
【0247】
実際には、このプロセスがリアルタイムレンダリングシステムにおいてピースとして機能するためには、このプロセスは、効率的な実行のために並列化されなければならない。再構成を一連の1D演算に分解することは、プロセスを複数の段階に分割することのペナルティのためのキャッシュサイズ要件を犠牲にし、バッファリングのためのレイテンシペナルティを招くことによって、キャッシュサイズ要件に対する圧力を低減するため、実際に表面再構成コーデックを実装するための良好な方法として以下の行列方法が提案されている。これは、多くの実際の状況にとって許容可能な取引となり得る。
次元分解ライトフィールド再構成
通過1:
Li内の要素画像の各行について
行内の各欠落要素画像について
要素画像における各行について
参照画像内の同じ行から画素をロード(キャッシュ)する
欠落行における各画素について
参照情報から画素を再構成して書き込む
通過2:
Li内の元素像の各列について
列内の各欠落要素画像について
要素画像における各列について
同じ列から参照画素をロード(キャッシュ)する
この列によって誘発されたスラブに関連するボクセルをロード(キャッシュ)する
欠落列における各画素について
参照情報から画素を再構成して書き込む
以下まで画素に関連付けられた光線に対して光線累積を実行する
(1)光線は、表面LFの同じ画素に記憶された深度値に到達するか、または(2)表面LFの深度が空の場合にはレイヤの終わりまで
累積ボリューム色、対応する表面色値を有するアルファを合成して書き込む
【0248】
本明細書において言及される全ての刊行物、特許および特許出願は、本発明が関係する当業者の技術レベルを示し、参照により本明細書に組み込まれる。本明細書における任意の先行技術への言及は、そのような先行技術が共通の一般知識の一部を形成することの承認または任意の形態の示唆ではなく、またそのように解釈されるべきではない。
【0249】
このように説明されている本発明は、多くの方法で変更されることができることは明らかであろう。そのような変形は、本発明の範囲からの逸脱とみなされるべきではなく、当業者にとって明らかであるような全てのそのような変更は、以下の特許請求の範囲内に含まれることが意図される。
参考文献
AGUS,M.,GOBBETTI,E.,GUITIAN,J.A.I.,MARTON,F.,およびPINTORE,G.「GPU Accelerated Direct Volume Rendering on an Interactive Light Field Display」.Visual Computing Group.Pula,Italy.Eurographics.2008。
CHAI,JIN-XIANG,XIN TONG,SHING-CHOW CHAN,およびHEUNG-YEUNG SHUM.「Plenoptic Sampling」
CLARK,J.,PALMER,M.,およびLAWRENCE,P.「A Transformation Method for the Reconstruction of Functions from Nonuniformly Spaced Samples.IEEE Transactions on Acoustics,Speech,およびSignal Processing.VOL.ASSP-33.No,4.1985年10月。
GANTER,D.,ALAIN,M.,HARDMAN,D.,SMOLIC,A.,およびMANZKE,M.「Light-Field DVR on GPU for Streaming Time-Varying Data」.GV2.Trinity College.Dublin,Ireland.Pacific Graphics.2018。
GORTLER,STEVEN J.,RADEK GRZESZCZUK,RICHARD SZELISKI,およびMICHAEL F.COHEN.「The Lumigraph」 43-52。
HALLE,M.,およびKROPP,A.「Fast Computer Graphics Rendering for Full Parallax Spatial Displays」。
HAMILTON,M.,ZHAN,L.,MAYNARD,A.,およびand BORDING,P.R.「Three Dimensional Cache Coherency for Multicore Volume Rendering」.Proceedings of the Seventeenth Annual IEEE Newfoundland Electrical and Computer Engineering Conference(NECEC).2007。
HAMILTON,M.「Real-Time Time-Warped Multiscale Signal Processing for Scientific Visualization」.PhD Dissertation,Department of Computing Science,University of Alberta.2013。
IKITS,M.,KNISS J.,LEFOHN A.,およびHANSEN C.Chapter 39,Volume Rendering Techniques.Edited by Randima Fernando.Addison Wesley。
JANTET,VINCENT.「Layered Depth Images for Multi-View Coding」 Multimedia.pp.1-135.Universite Rennes 1,2012.English。
LEVOY,MARC,およびPAT HANRAHAN.「Light Field Rendering」 SIGGRAPH.pp.1-12。
LOCHMANN,G.,REINERT,B.,BUCHACHER,A.,およびRITSCHEL,T.「Real-time Novel-view Synthesis for Volume Rendering Using a Piece-analytic Representation」.Vision,Modeling,and Visualization.2016。
MARTIN,S.,BRUTON,S.,GANTER,D.,およびMANZKE,M.「Using a Depth Heuristic for Light Field Volume Rendering」.Trinity College.Dublin,Ireland.2012。
MARTIN,S.「View Synthesis in Light Field Volume Rendering Using Convolutional Neural Networks」.Trinity College.Dublin,Ireland.2018年8月。
STEGMAIER,S.,STRENGERT,M.,KLEIN,T.,およびERTL,T.「A Simple and Flexible Volume Rendering Framework for Graphics-Hardware-based Raycasting」.Institute for Visualization and Interactive Systems.University of Stuttgart.Volume Graphics.2005。
ZWICKER,M.,W.MATUSIK,F.DURAND,H.PFISTER.「Antialiasing for Automultiscopic 3D Displays」 Eurographics Symposium on Rendering.2006。
【国際調査報告】