JP5460259B2 - アンビエント・オクルージョンを使用する写実的画像処理のためのシステム、方法、およびプログラム - Google Patents

アンビエント・オクルージョンを使用する写実的画像処理のためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP5460259B2
JP5460259B2 JP2009262804A JP2009262804A JP5460259B2 JP 5460259 B2 JP5460259 B2 JP 5460259B2 JP 2009262804 A JP2009262804 A JP 2009262804A JP 2009262804 A JP2009262804 A JP 2009262804A JP 5460259 B2 JP5460259 B2 JP 5460259B2
Authority
JP
Japan
Prior art keywords
ray
scene
primary
pixel data
intersection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009262804A
Other languages
English (en)
Other versions
JP2010134919A (ja
Inventor
マーク・リチャード・ナッター
バリー・エル・マイナー
ホアキン・マドルガ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010134919A publication Critical patent/JP2010134919A/ja
Application granted granted Critical
Publication of JP5460259B2 publication Critical patent/JP5460259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

本発明は、コンピュータ・グラフィックス及び写実的画像(Photorealistic image)の生成に係り、さらに詳細に説明すれば、アンビエント・オクルージョン(ambient occlusion:略称「AO」)を使用する改良された写実的画像処理のためのシステム及び方法に係る。
現代のコンピュータ・グラフィックス・システム及び方法は、ビデオ・ゲーム、フライト及び他のシミュレーション、動画及び他の多数のアプリケーションを含む、種々のアプリケーションにおいて使用するための高品質の画像を描画するように設計された種々の技術を含む。例えば、アニメーション・スタジオについては、今やレイ・トレーシング及び大域照明技術が、動画の製作及び特殊効果に不可欠な役割を果たしている。
1つの共通アプローチは、レイ(ray)の階層的グループ又は「パケット」を使用し、これを階層的加速構造(HAS:hierarchical acceleration structure)に対してテストすることにより、例えば、観測点に到達しない形状のサブセットを考察の対象から除外できるようにすることである。通常のアプローチは、理論上は効率的であるが、アンビエント・オクルージョン(AO)レイのキャスティングは、しばしばキャッシュ及びローカル・ストアに著しい負担をかけ、不要な作業量を必要とする。
従って、通常のシステム及び方法に関連する問題及び不都合のうちの少なくとも幾つかに対処する、写実的画像処理のためのシステム及び方法が要請されている。
以下の要約は、本明細書に開示した実施形態に特有の新規な特徴のうちの幾つかの理解を容易にするために提供するものであって、これが完全な記述であることを意図していない。実施形態の種々の側面を十分に理解するためには、本明細書、請求項、図面及び要約書を全体として参照されたい。
1つの実施形態では、シーン形状モデル及びシーン内に配置したオブジェクトを記述する複数のピクセル・データを含む、シーン・モデル・データを受け取る。複数のピクセル・データのうち第1のピクセル・データを選択する。第1のピクセル・データに基づき、1次ピクセル色及び1次レイを生成する。もし、1次レイがシーン内のオブジェクトと交差すれば、交点Pを決定する。交差したオブジェクト及び交点Pに基づき、表面法線Nを決定する。交点Pに基づき、1次ヒット色を決定する。1次ヒット色に基づき、1次ピクセル色を修正する。交点P及び表面法線Nに基づき、各々が一の方向Dを有する複数のアンビエント・オクルージョン(AO)レイを生成する。各AOレイごとに、当該AOレイの方向Dを逆転させ且つ当該AOレイの原点Oをシーンの外部の点にセットする。各AOレイを、その原点から交点Pに向かうようにシーン内へ進行させる。もし、交点Pに到達する前に、一のAOレイが一のオブジェクトと交差すれば、当該AOレイをアンビエント・オクルージョン計算から除外する。もし、交点Pに到達する前に、一のAOレイが一のオブジェクトと交差しなければ、当該AOレイをアンビエント・オクルージョン計算に組み込む。組み込まれたAOレイに基づき、アンビエント・オクルージョンを評価する。アンビエント・オクルージョン及び1次ヒット色に基づき、1次ピクセル色のシェーディングを行い、ピクセル・データ用の1次ピクセル色に基づき、一の画像を生成する。
本発明は、他の方法及びシステムと比較して、多数の利点を提供する。例えば、本明細書に開示したグラフィック・エンジンは、制限されたローカル・ストレージを有するシステムにおいてさえ、改良されたレイ・トレーシング性能を提供することができる。また、本明細書に開示した実施形態は、所望の写実的品質の要件及びグラフィック・エンジンを具体化するために使用される特定のシステムに適合するようにスケーラブルな、アンビエント・オクルージョン性能を改良する。
推奨実施形態に従った、コンピュータ・グラフィックス・システムを示すブロック図である。 推奨実施形態に従った、例示的なシーン内の1次レイのキャスティングを示すブロック図である。 推奨実施形態に従った、例示的なシーン内のアンビエント・オクルージョン・レイを示すブロック図である。 推奨実施形態に従った、例示的なシーン内のアンビエント・オクルージョンに対する改良されたアプローチの例を示すブロック図である。 推奨実施形態に従って実装することができる、改良されたアンビエント・オクルージョン方法の論理的な動作ステップを示す高水準のフローチャートである。 推奨実施形態に従って実装することができる、改良されたアンビエント・オクルージョン方法の論理的な動作ステップを示す高水準のフローチャートである。 推奨実施形態に従って実装することができる、改良されたアンビエント・オクルージョン方法の論理的な動作ステップを示す高水準のフローチャートである。 1つ以上の推奨実施形態を具体化するように構成することができる、例示的なコンピュータ・システムを示すブロック図である。
これらの非制限的な例で説明する特定の値及び構成は、変更することが可能であって、少なくとも1つの実施形態を説明するためにのみ引用され、本発明の範囲を制限することを意図していない。
以下の説明では、本発明を完全に理解することができるように、多数の詳細事項を記述する。しかし、本発明は、そのような詳細事項なしでも実施することができる。他の場合には、不要な詳細事項を開示することによって本発明を不明瞭にしないように、周知の要素をブロック図等の形式で例示した。さらに、殆どの部分については、ネットワーク通信、電気−磁気シグナリング技術、ユーザ・インタフェース又は入力/出力技術等に関する詳細事項を省略した。というのは、そのような詳細事項は、本発明を完全に理解するのに必要であるとは考えられず、当分野では周知であると考えられるからである。
本発明は、システム、方法又はコンピュータ・プログラムとして具体化することができる。従って、本発明は、完全なハードウェア実施形態、完全なソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)又はハードウェア及びソフトウェアの両側面を組み合わせた実施形態の形式を取ることができ、これらの全てを一般に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、任意の有形的媒体内にコンピュータ使用可能プログラム・コードを具体化した、コンピュータ・プログラムの形式を取ることができる。
1つ以上のコンピュータ使用可能又はコンピュータ可読媒体の任意の組み合わせを使用することができる。例えば、コンピュータ使用可能又はコンピュータ可読媒体は、電子、磁気、光学、電磁気、赤外線又は半導体式のシステム(若しくは装置)又は伝送媒体とすることができる。コンピュータ可読媒体のより特殊な例は、1つ以上の線を有する電気的な接続、フレキシブル・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、読み取り専用のCD−ROM、光ストレージ装置、インターネット又はイントラネットをサポートする伝送媒体、磁気ストレージ装置等を含むであろう。さらに、コンピュータ使用可能媒体又はコンピュータ可読媒体を、紙又は他の適切な媒体とすることもできる。すなわち、紙又は他の適切な媒体上に印刷されたプログラムを、例えば、光学式スキャンを介して捕捉し、コンパイルし、解釈し、又は必要に応じて適宜処理した後、その結果をコンピュータ・メモリに格納することができるからである。本明細書の文脈では、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム等に関連して又はこれらによって使用するためのプログラムを保持し、格納し、通信し、伝搬し、移送することができる、任意の媒体とすることができる。コンピュータ使用可能媒体は、伝搬されるデータ信号の形式を有することもできるが、その場合には、ベースバンド内に又は搬送波の一部として、コンピュータ使用可能プログラム・コードを具体化することができる。コンピュータ使用可能プログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等を含む、適切な任意の媒体を使用して伝送することができる。
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Java(登録商標)、Smalltalk、C++等のようなオブジェクト指向プログラミング言語及び「C」プログラミング言語のような通常の手続き的プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書くことができる。このプログラム・コードは、独立のソフトウェア・パッケージとしてユーザ・コンピュータ上で完全に実行することができ、その一部をユーザ・コンピュータ上で且つ他の一部を遠隔コンピュータ上で実行することができ、或いは遠隔コンピュータ又はサーバ上で完全に実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザ・コンピュータに接続することができ、或いはその接続を(例えば、インターネット・サービス・プロバイダを使用するインターネットを通して)外部コンピュータに行うことができる。
以下では、本発明の実施形態に従った、方法、装置(システム)及びコンピュータ・プログラムのフローチャート又はブロック図を参照して、本発明を説明する。これらのフローチャート又はブロック図の各ブロック、複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができる。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供すると、当該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサ上で実行される諸命令が、フローチャート又はブロック図のブロックで指定された機能を実装するための手段を作成することを目的として、一のマシンを生産することができる。
また、これらのコンピュータ・プログラム命令をコンピュータ可読媒体内に格納すると、当該コンピュータ可読媒体内に格納された諸命令が、フローチャート又はブロック図のブロックで指定された機能を実装する命令手段を含む製品を生産することを目的として、コンピュータ又は他のプログラム可能なデータ処理装置に対し特定の態様で機能するように指示することができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能なデータ処理装置にロードすると、当該コンピュータ又は他のプログラム可能なデータ処理装置上で実行される諸命令が、フローチャート又はブロック図のブロックで指定された機能を実装するためのプロセスを提供することを目的として、一のコンピュータ実装方法を生成するように当該コンピュータ又は他のプログラム可能なデータ処理装置上で一連の動作ステップを実行させることができる。
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを通してメモリ要素に直接的又は間接的に接続された少なくとも1つのプロセッサを含む。これらのメモリ要素は、プログラム・コードの実行中に使用されるローカル・メモリ、バルク記憶装置、プログラム・コードの実行中にバルク記憶装置からの検索回数を減少させるために少なくとも或るプログラム・コードの一時的記憶領域を提供するキャッシュ・メモリを含むことができる。
I/O装置(キーボード、ディスプレイ、ポインティング装置等を含む)は、システムに対し直接的に又は介在するI/Oコントローラを通して結合することができる。また、ネットワーク・アダプタをデータ処理システムに対し結合することもできる。そのようにすると、当該データ処理システムは、介在する専用又は公衆ネットワークを通して、他のデータ処理システム、遠隔プリンタ又はストレージに結合されるようになる。ネットワーク・アダプタの例には、モデム、ケーブル・モデム及びイーサネット(登録商標)・カード等がある。
以下、図面を参照して説明する。図1は、本発明の推奨実施形態に従った、アンビエント・オクルージョンを使用する改良された写実的画像処理のためのシステム100の幾つかのコンポーネントを示す高水準のブロック図である。一般に、システム100は、アンビエント・オクルージョンを使用して、写実的画像処理を実行し、グラフィック・エンジン102を含む。
例えば、多数の写実的画像処理技術は、光の想像上のレイが光源からシーンを通して進行する際のパスをトレースすることに注目する。「レイ・キャスティング」では、シーン内の各ピクセルごとに、グラフィックス・システムは、選択された観測点からシーンを通して選択された光源に進行する想像上のレイをトレースし、当該レイが光源に進行する途中でシーン内のオブジェクトと交差するか否かに基づき、ピクセル色、シェーディング及び他の要因を更新する。このように、グラフィックス・システムは、シーン内のオブジェクトが観測点に対し可視的である(可視性)か否か、そして光源から到来する光が当該オブジェクトに当たることをシーン内の他のオブジェクトが阻止する(直接シャドウ)か否を速やかに決定することができる。そのため、グラフィックス・システムは、3次元シーンを、例えばコンピュータのスクリーンに適切な2次元画像に描画することができる。本明細書において、「レイ・キャスティング」は、可視性及び直接シャドウの計算のためにレイをトレースすることを意味する。
「レイ・トレーシング」、特にWhitted-style のレイ・トレーシングでは、トレース中のレイがシーン内のオブジェクトと交差する場合、グラフィックス・システムは、3つの追加のタイプのレイ(すなわち、その原点がトレース中のレイとオブジェクトの交点である「2次レイ」、反射レイ、屈折レイ及びシャドウ・レイ)の1つ以上を生成する。「反射」レイは、交点から元のレイの正反射パスの方向に進行する。もし、反射レイが他のオブジェクトと交差すれば、当該反射されたオブジェクトは、最初のオブジェクト上に当該反射されたオブジェクトのミラー画像を示すことによって、交点を表すピクセルに影響する。
もし、元のトレース中のレイが透明オブジェクトと交差すれば、「屈折」レイは、交点から元のレイの屈折パスの方向に進行し、当該オブジェクトを通して進行することができる。もし、屈折レイが他のオブジェクトと交差すれば、グラフィックス・システムは、交点を表すピクセルを更新する。もし、当該オブジェクトが光源と向かい合っていれば、「シャドウ」レイは、交点から光源への直線パスをトレースする。もし、シャドウ・レイが不透明オブジェクトと交差すれば、当該不透明オブジェクトは、光源から交点に到来する光を阻止し、その結果、グラフィックス・システムは、交点を表すピクセルを更新する。
Whitted-styleの2次レイに加えて、代表的なグラフィックス・システムは、描画されるシーンの写実性を強化するために、他の多数のシーン操作を実行することができる。例えば、「大域照明」(シーンに対し間接照明効果を追加する技術の総称)は、シーン照明の現実性を改良することにより、シーンに対し追加的な現実性を加える。大域照明技術は資源集約的であることが多いので、幾つかの代表的なグラフィックス・システムは、大域照明をシミュレートするためにアンビエント・オクルージョンを使用する。一般に、通常の「アンビエント・オクルージョン」は、1次及び2次の交点から複数のレイをキャストし、他のオブジェクト及び表面と交差するサンプル・レイの数に基づき、カバレッジ比率を計算する。
アンビエント・オクルージョン及びレイ・トレーシングの2次レイは、レイ・キャスティングにおいて利用可能でない詳細事項を追加し、その結果、より写実的な画像に帰着する。しかし、これらの追加レイは、追加的な計算及びストレージ資源を必要とする。そのような追加的な計算及びストレージの要件は、対話型のレイ・トレーシングをしばしば非実用的又は不可能にした。本明細書に開示する新規な実施形態は、これらの制限のうちの幾つかを克服する。
以下で詳述するように、システム100は、レイの階層的グループ又は「パケット」を使用し、これを階層的加速構造(HAS)に対してテストすることにより、例えば、観測点に到達しない形状のサブセットを考察の対象から除外するように構成することができる。一般に、HASは、或る順序で配列された複数のノードから構成されるデータ構造であり、シーン形状に関する情報を保持するために使用される。そのような情報は、特に、特定のレイ・パスがシーン内のオブジェクトと交差するか否かを評価するために使用することができる。例示的なHASは、ユニフォーム・グリッド、バイナリ・ツリー、kdツリー、オクトツリー及びバウンディング・ボリューム階層(BVH)を含む。レイの階層的パケットを使用し且つ加速構造を通してこれらのパケットをトラバースすると、容認可能な精度を維持しつつ、必要とされる動作の数を著しく減少させることができる。
実際には、アンビエント・オクルージョン積分を解決するのに有用な種々の代表的な技術が存在する。最も直截的なアプローチの1つは、交点Pからレイをキャストするためにモンテカルロ又はサンプリング方法を使用することにより、交点Pにおける可視性関数を近似し、次いでシーン形状内の他のオブジェクトとの交差をテストするというものである。交点Pにおけるアンビエント露出は、交差しなかったアンビエント・レイの数を、キャストされたレイの総数で除算することによって評価される。
HASの代表的な効率的実装は、3次元シーンを前方から後方に、交点からシーン境界又はオブジェクト交点へトラバースすることにより、アンビエント・オクルージョン(AO)レイを3次元シーンと交差させ、その結果、遮蔽される加速構造の部分の不要なトラバーサルを回避することができる。例えば、1つのアプローチでは、当該階層内の各レベルは、当該レベルにおける子ノードのための最大間隔の次元を格納する。実行時には、グラフィック・エンジンは、最大間隔をレイ方向と組み合わせることにより、最初に訪れるべき子ノードを選択する。
通常のアプローチは、理論上は効率的であるが、交点PからのAOレイのキャスティングは、しばしばキャッシュ及びローカル・ストアに著しい負担をかけ、不要な作業量を必要とする。特に、交点Pがシーン内に存在し、そして前方から後方へのトラバーサルの性質のために、AOレイが交点Pの前にあるシーン形状との交差を開始することができる前に、グラフィック・エンジンが、HASの遮蔽された部分を調べることがあり得る。従って、以下で詳述するように、システム100は、キャッシュ及びローカル・ストアに関する負担を減少させつつ、HASをトラバースするための機構を提供する。
広義には、システム100が提供するグラフィックス・システムは、特定シーンのための写実的アンビエント・オクルージョン・レベルを当該グラフィックス・システムによって決定するプロセスを改良することを通して、写実的画像処理の品質を著しく改良する。本明細書に開示した実施形態は、一般的には、レイ・トレーシングの性能を改良し、具体的には、アンビエント・オクルージョン操作を改良する。さらに、本明細書に開示した新規なグラフィック・エンジン及び実施形態は、制限されたローカル・ストレージを有するシステムにおいてさえ、レイ・トレーシングの性能を改良することができる。従って、本明細書に開示した実施形態は、ハイエンド・システム上の性能を改良し、そして当該実施形態がなければグラフィックス・ハードウェアの能力を超えるであろうグラフィックス動作の容認可能な性能を使用可能にすることができる。
具体的には、グラフィック・エンジン102は、シーン・モデル入力104を受け取り、これを処理して複数のピクセル色データ及び他の情報を生成する。グラフィック・エンジン102は、生成された情報をディスプレイ・サブシステム106へ渡し、当該サブシステム106は、生成された情報を使用してディスプレイ108上に画像を表示する。代表的なシーン・モデル入力104は、複数のピクセル・データ及びシーン内のオブジェクトの配置を記述するシーン形状モデルを含む。代表的な動画は、何千もの静止画像を含むことができ、その各々はシーン内のオブジェクトの配置である。
一般に、複数の「ピクセル・データ」は、シーン内のオブジェクトをディスプレイ・スクリーンのような参照フレームと相関させて、この参照フレームからシーンを記述するピクセルの数に有限の上界を置く。シーン・モデル入力内で使用される各ピクセルは、関連するピクセル・データを有する。1つの実施形態では、ピクセル・データは、他のピクセルへの当該ピクセルの相対的位置を指示する当該ピクセル用の座標参照と、後述するように、グラフィック・エンジン102がピクセル・データを処理する過程で修正する予備ピクセル色とを含む。代替実施形態では、ピクセル・データは、予備色を含んでおらず、以下で詳述する処理に基づき、グラフィック・エンジン102が、複数のピクセル・データの各々に対しピクセル色を追加する。
図示の実施形態では、グラフィック・エンジン102は、入力/出力(I/O)モジュール120を含む。一般に、I/Oモジュール120は、通常のI/Oインタフェースである。動作中、I/Oモジュール120は、シーン・モデル入力104を受け取る。また、I/Oモジュール120は、ディスプレイ・サブシステム106に結合する。ディスプレイ・サブシステム106は、通常のディスプレイ・サブシステムであり、グラフィック・エンジン102から処理済みのシーン・モデル・データを受け取り、当該処理済みのシーン・モデル・データに基づき、ディスプレイ108上に画像を表示するように構成される。
図示の実施形態では、グラフィック・エンジン102は、SPU(synergistic processing unit)130及びメモリ140を含む。SPU 130は、後述するように修正される部分を除くと、通常の処理ユニット(PU)である。1つの実施形態では、SPU 130は、Cell(商標)プロセッサである。代替実施形態では、SPU 130は、Broadband Engine(商標)プロセッサである。メモリ140は、後述するように修正される部分を除くと、通常のメモリ・モジュール140である。一般に、動作中、グラフィック・エンジン102は、未処理のシーン・モデル・データ104を受け取り、当該未処理のシーン・モデル・データ104をメモリ140内に格納する。SPU 130は、シーン・モデル・データ104を処理することにより、画像を表示するために使用すべきディスプレイ・サブシステム106に適切な処理済みのシーン・モデル・データを生成する。
具体的には、メモリ140は、モデル・データ142を含む。モデル・データ142は、種々の処理段階で、受け取られたシーン・モデル・データを参照する。1つの実施形態では、モデル・データ142は、HASとして配列される。1つの実施形態では、モデル・データ142は、バウンディング・ボリューム階層(BVH)として配列される。
SPU130は描画モジュール132及びローカル・ストア134を含む。描画モジュール132は、以下で詳述するように、シーン・モデル・データを処理するように構成された論理ブロックである。ローカル・ストア134は、後述するように改変される部分を除くと、通常のPUのローカル・ストアである。一般に、SPU 130は、メモリ140からモデル・データ142の諸部分を検索し、検索済みの部分をローカル・ストア134内に格納する。1つの実施形態では、検索済みの各部分は、前記複数のピクセル・データのうちの単一のピクセル・データである。以下で詳述するように、描画モジュール132は、シーン・モデル・データ104の検索済みの諸部分を処理し、ピクセル色を追加するか又は既存のピクセル色を修正し、修正済みのピクセル・データをモデル・データ142に戻す。
具体的には、グラフィック・エンジン102は、シーン・モデル・データ104を受け取り、本明細書に開示した新規なアンビエント・オクルージョン技術を実行する。図2は、例示的なシーン200内の1次レイ・キャスティングを示す。シーン200は、複数のオブジェクト210及び一の表面220を含む。観測点232からキャストされる1次レイ250は、交点240において表面220と交差する。表面法線230は、(交点240において)表面220に垂直なベクトルの方向を指示する。
図3は、観測点332を有する例示的なシーン300における、AOレイのキャスティングを示す。複数のAOレイ350は、表面320の交点340から外方に進行する。AOレイ350のうちの幾つかは、一のオブジェクト310と交差するであろう。
図4は、観測点432及びシーン境界402を有する例示的なシーン400における、推奨実施形態に従った改良されたAOレイの処理を示す。複数のAOレイ450は、シーン境界402の外部にある諸原点から進行する。一般に、シーン境界402は、グラフィック・エンジン102に既知の、シーン・モデル・データの限界を表す。
各AOレイ450は、シーン境界402の外部にあるその原点から表面420の交点440に向かって直線状に進行する。幾つかの実施形態では、グラフィック・エンジン102は、AOレイ450をパケット460へグループ化する。図示のように、原点452a、452b及び456を有するAOレイ450は、交点440に向かう途中でシーン400内のオブジェクトと交差しない。従って、これらのレイは、後続のアンビエント・オクルージョン計算に組み込まれる。
図示のように、原点454a及び454bを有するAOレイ450は、交点440に向かう途中でオブジェクト410aと交差する。そのため、表面420は、オブジェクト410aによって部分的に遮蔽され、従ってこれらのレイは、後続のアンビエント・オクルージョン計算に組み込まれない。
1つの実施形態では、グラフィック・エンジン102は、アンビエント・オクルージョン計算において全てのAOレイを考慮し、アンビエント・オクルージョン計算に「組み込まれた」AOレイの数を、アンビエント・オクルージョン計算に「組み込まれた」AOレイ及びアンビエント・オクルージョン計算から「除外された」AOレイの総数で除算することによって、カバレッジ比率を生成する。代替実施形態では、グラフィック・エンジン102は、アンビエント・オクルージョン計算及び/又はシェーディング計算に「組み込まれた」AOレイだけを考慮する。
図5は、アンビエント・オクルージョンを使用する、写実的画像処理方法の1つの実施形態を示す。具体的には、図5は、例えば、図1のシステム100によって実行される論理的な動作ステップを示す、高水準のフローチャート500である。一般に、図1のグラフィック・エンジン102のようなグラフィック・エンジンは、特段の指摘がない限り、この方法の諸ステップを実行する。
本プロセスが開始すると、グラフィック・エンジン102は、シーン形状モデル及び複数のピクセル・データを含む、シーン・モデル・データを受け取る(ブロック505)。1つの実施形態では、複数のピクセル・データのうち1つ以上は、予備ピクセル色を含む。次に、グラフィック・エンジン102は、現ピクセル・データとして複数のピクセル・データのうちの1つを選択する(ブロック510)。
次に、グラフィック・エンジン102は、現ピクセル・データに基づき、1次ピクセル色を生成する(ブロック515)。1つの実施形態では、グラフィック・エンジン102は、予備ピクセル色に基づき、1次ピクセル色を生成する。次に、グラフィック・エンジン102は、現ピクセル・データに基づき、1次レイを生成する(ブロック520)。説明を明瞭にするため、図示の実施形態では、グラフィック・エンジン102は、1つのピクセル当たり1つの1次レイを生成する。代替実施形態では、グラフィック・エンジン102は、1つのピクセル当たり複数の1次レイを生成し、各1次レイごとに後述するステップの1つ以上を実行する。
次に、グラフィック・エンジン102は、シーン形状モデルに基づき、1次レイがシーン内のオブジェクトと交差するか否かを決定する(ブロック525)。もし、1次レイがシーン内のオブジェクトと交差すれば(ブロック525)、本プロセスは、YES枝路に沿ってブロック530に継続する。
次に、グラフィック・エンジン102は、1次レイ及びオブジェクトの交差に基づき、交点Pを決定する(ブロック530)。次に、グラフィック・エンジン102は、1次レイ及びオブジェクトの交差に基づき、表面法線Nを決定する(ブロック535)。
次に、グラフィック・エンジン102は、1次レイ及びオブジェクトの交差に基づき、1次ヒット色を決定する(ブロック540)。次に、グラフィック・エンジン102は、1次ヒット色に基づき、1次ピクセル色を修正する(ブロック545)。本プロセスは、図6のマーカ「A」に継続する。
図6は、アンビエント・オクルージョンを使用する、写実的画像処理方法の1つの実施形態を示す。具体的には、図6は、例えば、図1のシステム100によって実行される論理的な動作ステップを示す、高水準のフローチャート600である。一般に、図1のグラフィック・エンジン102のようなグラフィック・エンジンは、特段の指摘がない限り、この方法の諸ステップを実行する。
本プロセスは、マーカ「A」からブロック605に継続する。グラフィック・エンジン102は、交点P及び表面法線Nに基づき、各々が一のレイ方向を有する複数のアンビエント・オクルージョン(AO)レイを生成する(ブロック605)。
次に、グラフィック・エンジン102は、AOレイをパケットへグループ化する(ブロック610)。次に、グラフィック・エンジン102は、処理すべきAOレイ/パケットが存在するか否かを決定する(ブロック615)。最初の実行時には、処理すべき少なくとも1つのAOレイが存在するであろう。もし、処理すべきAOレイ/パケットが存在すれば(ブロック615)、本プロセスは、YES枝路に沿ってブロック620に継続する。
次に、グラフィック・エンジン102は、現AOレイ/パケットとして少なくとも1つのAOレイ/パケットのうちの1つを選択する(ブロック620)。次に、グラフィック・エンジン102は、現AOレイ(又は現パケット内の各AOレイ)の方向を逆転させる(ブロック625)。次に、グラフィック・エンジン102は、現AOレイの原点を交点Pから変更し、現AOレイの元の方向に沿って、シーン境界の外部にあることが知られている点に、原点Oをセットする(ブロック630)。
次に、グラフィック・エンジン102は、最大のAOレイ・トラバーサルをセットする(ブロック635)。1つの実施形態では、最大レイ・トラバーサルは、原点O及び交点Pの間のシーン内距離を表す。代替実施形態では、最大レイ・トラバーサルは、HASにおける、シーン境界及び交点Pの間のノードの数を表す。
次に、グラフィック・エンジン102は、現AOレイを、当該AOレイの方向に沿って、その原点OからHASの第1のノードに進行させる(ブロック640)。次に、グラフィック・エンジン102は、現AOレイがシーン内のオブジェクトにヒットするか否かを決定する(ブロック645)。もし、現AOレイがシーン内のオブジェクトにヒットしていれば(ブロック645)、本プロセスは、YES枝路に沿ってブロック650に継続する。グラフィック・エンジン102は、現AOレイを除外し(ブロック650)、そして本プロセスは、マーカ「B」を介してブロック615に戻り、そこでグラフィック・エンジン102は、処理すべき追加のAOレイ/パケットが存在するか否かを決定する。
もし、現AOレイが(現ノードにおける)シーン内のオブジェクトにヒットしていなければ(ブロック645)、本プロセスは、NO枝路に沿ってブロック655に継続し、そこでグラフィック・エンジン102は、現AOレイが交点Pに到達したか否かを決定する。もし、現AOレイが交点Pに到達していれば(ブロック655)、本プロセスは、YES枝路に沿ってブロック660に継続する。
1つの実施形態では、ブロック655において、グラフィック・エンジン102は、現AOレイがその最大トラバーサル距離を進行したか否かを決定し、そうであれば、交点Pに到達したとして現AOレイをカウントする。次に、グラフィック・エンジン102は、現AOレイを組み込み(ブロック660)、そして本プロセスは、マーカ「B」を介してブロック615に戻り、そこでグラフィック・エンジン102は、処理すべき追加のAOレイ/パケットが存在するか否かを決定する。
もし、現AOレイが交点Pに到達していなければ(ブロック655)、本プロセスは、NO枝路に沿ってブロック665に継続する。グラフィック・エンジン102は、次のHASノードを現HASノードとして選択し(ブロック665)、そして本プロセスは、ブロック640に戻り、そこでグラフィック・エンジン102は、現AOレイを現HASノードに進行させる。
従って、ブロック640〜665に示すように、グラフィック・エンジン102は、各AOレイを、その原点から交点Pに向かうようにシーン内へ進行させる。もし、このAOレイが交点Pに向かう途中で一のオブジェクトにヒットすれば、グラフィック・エンジン102は、当該AOレイを除外し、処理のために次のAOレイを選択する。一方、このAOレイが交点Pに向かう途中で一のオブジェクトにヒットしなければ、グラフィック・エンジン102は、当該AOレイを組み込み、処理のために次のAOレイを選択する。
もし、ブロック615において、処理すべき(現1次レイ交点用の)AOレイ/パケットがそれ以上存在しなければ、本プロセスは、NO枝路に沿って図7のマーカ「C」に継続する。
図7は、アンビエント・オクルージョンを使用する、写実的画像処理方法の1つの実施形態を示す。具体的には、図7は、例えば、図1のシステム100によって実行される論理的な動作ステップを示す、高水準のフローチャート700である。一般に、図1のグラフィック・エンジン102のようなグラフィック・エンジンは、特段の指摘がない限り、この方法の諸ステップを実行する。
本プロセスは、マーカ「C」からブロック705に継続し、そこでグラフィック・エンジン102は、組み込まれたAOレイに基づき、現ピクセル用のAOカバレッジを計算する。代替実施形態では、グラフィック・エンジン102は、組み込まれたAOレイ及び除外されたAOレイの両方に基づき、現ピクセル用のAOカバレッジを計算する。
次に、グラフィック・エンジン102は、計算したAOカバレッジに基づき、1次ピクセル色を修正する(ブロック710)。次に、グラフィック・エンジン102は、処理すべき追加のピクセル及び/又はピクセル・データが存在するか否かを決定する(ブロック715)。もし、処理すべき追加のピクセルが存在すれば(ブロック715)、本プロセスは、YES枝路に沿ってマーカ「D」から図5のブロック510に戻り、そこでグラフィック・エンジン102は、次のピクセル・データを現ピクセル・データとして選択し、そして本プロセスは、前述のように継続する。
もし、1次レイがシーン内のオブジェクトと交差していなければ(ブロック525)、本プロセスは、NO枝路に沿ってマーカ「E」から前述のブロック715に継続する。次に、グラフィック・エンジン102は、複数のピクセル・データを有するシーン・モデル・データを格納する(ブロック720)。次に、ディスプレイ・サブシステム106は、複数のピクセル・データに基づき、ディスプレイ用の画像を生成する(ブロック725)。
従って、本明細書に開示した実施形態は、他の方法及びシステムと比較して、多数の利点を提供する。例えば、本明細書に開示したグラフィック・エンジンは、制限されたローカル・ストレージを有するシステムにおいてさえ、改良されたレイ・トレーシング性能を提供することができる。また、本明細書に開示した実施形態は、所望の写実的品質の要件及びグラフィック・エンジンを具体化するために使用される特定のシステムに適合するようにスケーラブルな、アンビエント・オクルージョン性能を改良する。
前述のように、本明細書に開示した1つ以上の実施形態は、コンピュータ・システムにおいて実施又は具体化することができる。一般に、本明細書において、「コンピュータ」という用語は、任意の自動計算機械を指す。従って、「コンピュータ」という用語は、ラップトップ、パーソナル・コンピュータ、ミニコンピュータ及びメインフレームのような汎用計算機だけでなく、携帯情報端末(PDA)、ネットワーク対応のハンドヘルド装置、インターネット又はネットワーク対応の携帯電話等のような装置も含む。図8は、本明細書に開示した実施形態の1つ以上を実施するのに使用することができる、例示的なコンピュータ・システムの詳細を示すブロック図である。
具体的には、図8は、コンピュータ・システム800を示す。コンピュータ・システム800は、コンピュータ802を含む。コンピュータ802は、通常のコンピュータであり、少なくとも1つのプロセッサ810を含む。プロセッサ810は、通常のコンピュータ・プロセッサであり、シングル−コア、デュアル−コア、中央処理ユニット(PU)、SPU(synergistic processing unit)、付加PU又は他の適切なプロセッサを含むことができる。
プロセッサ810は、システム・バス812に結合する。システム・バス812は、通常のシステム・バスである。図示のように、コンピュータ802の種々のコンポーネントは、システム・バス812に結合する。例えば、コンピュータ802が含むメモリ820は、システム・バス812を通してプロセッサ810に結合する。メモリ820は、通常の主メモリであり、例えば、ランダム・アクセス・メモリ(RAM)を含むことができる。一般に、メモリ820は、アプリケーション822、オペレーティング・システム824及びアクセス機能826を格納する。
一般に、アプリケーション822は、通常のソフトウェア・プログラム・アプリケーションであり、任意の数の代表的なプログラムに加えて、本発明の1つ以上の実施形態を組み込んだコンピュータ・プログラムを含むことができる。オペレーティング・システム824は、通常のオペレーティング・システムであり、例えば、UNIX(登録商標)、AIX(商標)、Linux(登録商標)、マイクロソフト社のウィンドウズ(登録商標)、MacOS(商標)等を含むことができる。アクセス機能826は、ネットワーキング機能を含む通常のアクセス機能であり、オペレーティング・システム824内に含めることができる。
また、コンピュータ802は、ストレージ830を含む。一般に、ストレージ830は、データを格納するための通常の装置である。図示のように、ストレージ830は、ハード・ディスク832、フラッシュ又は他の揮発性メモリ834及び/又は光ストレージ装置836を含むことができる。
I/Oインタフェース840も、システム・バス812に結合する。I/Oインタフェース840は、通常のインタフェースである。図示のように、I/Oインタフェース840は、コンピュータ802の外部にある装置に結合する。具体的には、I/Oインタフェース840は、ユーザ入力装置842及びディスプレイ装置844に結合する。入力装置842は、通常の入力装置であり、例えば、マウス、キーボード、数字キーパッド、タッチ・スクリーン、マイクロホン、ウェッブカメラ等を含むことができる。ディスプレイ装置844は、通常のディスプレイ装置であり、例えば、モニタを含むことができる、LCDディスプレイ、GUIスクリーン、テキスト・スクリーン、タッチ・スクリーン、点字ディスプレイ等を含むことができる。
ネットワーク・アダプタ850も、システム・バス812に結合する。ネットワーク・アダプタ850は、通常のネットワーク・アダプタであり、例えば、無線通信、イーサネット(登録商標)、LAN、WAN又は他の適切なアダプタを含むことができる。図示のように、ネットワーク・アダプタ850は、コンピュータ802を他のコンピュータ及び装置852に結合することができる。他のコンピュータ及び装置852は、ネットワーク環境内で一般に使用される通常のコンピュータ及び装置である。
前述のフローチャート及びブロック図は、本発明の種々の実施形態に従った、システム、方法及びコンピュータ・プログラムの可能な実装のアーキテクチャ、機能性及び動作を示す。この点に関連して、フローチャート又はブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能な命令から成る、モジュール、セグメント又はコードの部分を表すことができる。幾つかの代替実装では、ブロック内に表記した機能は、図面に示す順序とは異なる順序で生じることができる。例えば、図面に順次に示した2つのブロックは、それらの機能性に依存して、実質的に同時に実行することができ、或いは逆の順序で実行することもできる。さらに、ブロック図又はフローチャートの各ブロック及び複数ブロックの組み合わせは、指定された機能を実行する専用のハードウェア・ベースのシステム又は専用ハードウェア及びコンピュータ命令の組み合わせによって実装することができる。
前述の及び他の特徴及び機能の変形又はそれらの代替構成は、望ましくは、他の多くの異なるシステム又はアプリケーションへ組み合わせることができる。さらに、現に予測されていない代替、修正、変形又は改良が、その後に当業者によってなされることが可能であろうが、本願の請求項は、これらもその範囲内に包含することを意図する。
100・・・システム
102・・・グラフィック・エンジン
104・・・シーン・モデル入力
106・・・ディスプレイ・サブシステム
108・・・ディスプレイ
120・・・I/Oモジュール
130・・・SPU(synergistic processing unit)
132・・・描画モジュール
134・・・ローカル・ストア
140・・・メモリ
142・・・モデル・データ
200、300、400・・・シーン
210、310、410・・・オブジェクト
220、320、420・・・表面
230・・・表面法線
232、332、432・・・観測点
240、340、440・・・交点
250、350、450・・・AOレイ
402・・・シーン境界
410a・・・オブジェクト
452a、452b・・・原点
454a、454b・・・原点
456・・・原点
460・・・パケット

Claims (11)

  1. コンピュータに画像を生成させるための方法であって、
    コンピュータに、
    シーン形状モデル及びシーン内に配置されたオブジェクトを記述する複数のピクセル・データを含む、シーン・モデル・データを受け取るステップと、
    前記複数のピクセル・データのうち第1のピクセル・データを選択するステップと、
    前記第1のピクセル・データに基づき、1次ピクセル色を生成するステップと、
    前記第1のピクセル・データに基づき、1次レイを生成するステップと、
    前記1次レイが前記シーン内のオブジェクトと交差するか否かを決定するステップと、
    前記1次レイが前記シーン内のオブジェクトと交差する場合は、交点Pを決定するステップと、
    前記交差したオブジェクト及び前記交点Pに基づき、表面法線Nを決定するステップと、
    前記交点Pに基づき、1次ヒット色を決定するステップと、
    前記1次ヒット色に基づき、前記1次ピクセル色を修正するステップと、
    前記交点P及び前記表面法線Nに基づき、各々が一の方向Dを有する複数のアンビエント・オクルージョン(AO)レイを生成するステップと、
    各AOレイごとに、当該AOレイの方向Dを逆転させ且つ当該AOレイの原点Oを前記シーンの外部の点にセットするステップと、
    各AOレイごとに、前記AOレイの原点Oと前記交点Pの間の距離である最大トラバーサル距離をセットするステップと、
    各AOレイを、当該AOレイの原点から前記交点Pに向かうように前記シーン内へ進行させるステップと、
    前記最大トラバーサル距離を進行する前に一のAOレイが一のオブジェクトと交差する場合は、当該AOレイをアンビエント・オクルージョン計算から除外するステップと、
    一のAOレイがオブジェクトと交差することなく前記最大トラバーサル距離を進行した場合は、当該AOレイをアンビエント・オクルージョン計算に組み込むステップと、
    組み込まれたAOレイに基づき、アンビエント・オクルージョンを評価するステップと、
    前記アンビエント・オクルージョン及び前記1次ヒット色に基づき、前記1次ピクセル色のシェーディングを行うステップと、
    前記ピクセル・データ用の前記1次ピクセル色に基づき、一の画像を生成するステップとを実行させる、方法。
  2. 前記シーン形状モデルを、複数のノードを含む階層的加速構造(HAS)へ編成するステップをさらに含む、請求項1に記載の方法。
  3. 前記HASがkdツリーである、請求項に記載の方法。
  4. 前記HASがバウンディング・ボリューム階層である、請求項に記載の方法。
  5. 各AOレイを進行させる前記ステップが、前記HASをノードからノードへトラバースするステップであり、前記最大トラバーサル距離が、シーン境界及び交点Pの間のノードの数を表す、請求項に記載の方法。
  6. 前記複数のAOレイをパケットへグループ化するステップをさらに含む、請求項1に記載の方法。
  7. コンピュータに画像を生成させるためのプログラムであって、
    コンピュータに、
    シーン形状モデル及びシーン内に配置されたオブジェクトを記述する複数のピクセル・データを含む、シーン・モデル・データを受け取るステップと、
    前記複数のピクセル・データのうち第1のピクセル・データを選択するステップと、
    前記第1のピクセル・データに基づき、1次ピクセル色を生成するステップと、
    前記第1のピクセル・データに基づき、1次レイを生成するステップと、
    前記1次レイが前記シーン内のオブジェクトと交差するか否かを決定するステップと、
    前記1次レイが前記シーン内のオブジェクトと交差する場合は、交点Pを決定するステップと、
    前記交差したオブジェクト及び前記交点Pに基づき、表面法線Nを決定するステップと、
    前記交点Pに基づき、1次ヒット色を決定するステップと、
    前記1次ヒット色に基づき、前記1次ピクセル色を修正するステップと、
    前記交点P及び前記表面法線Nに基づき、各々が一の方向Dを有する複数のアンビエント・オクルージョン(AO)レイを生成するステップと、
    各AOレイごとに、当該AOレイの方向Dを逆転させ且つ当該AOレイの原点Oを前記シーンの外部の点にセットするステップと、
    各AOレイごとに、前記AOレイの原点Oと前記交点Pの間の距離である最大トラバーサル距離をセットするステップと、
    各AOレイを、当該AOレイの原点から前記交点Pに向かうように前記シーン内へ進行させるステップと、
    前記最大トラバーサル距離を進行する前に一のAOレイが一のオブジェクトと交差する場合は、当該AOレイをアンビエント・オクルージョン計算から除外するステップと、
    一のAOレイがオブジェクトと交差することなく前記最大トラバーサル距離を進行した場合は、当該AOレイをアンビエント・オクルージョン計算に組み込むステップと、
    組み込まれたAOレイに基づき、アンビエント・オクルージョンを評価するステップと、
    前記アンビエント・オクルージョン及び前記1次ヒット色に基づき、前記1次ピクセル色のシェーディングを行うステップと、
    前記ピクセル・データ用の前記1次ピクセル色に基づき、一の画像を生成するステップと、
    実行させるためのプログラム。
  8. 前記シーン形状モデルを、複数のノードを含む階層的加速構造(HAS)へ編成するステップをさらに含み、
    各AOレイを進行させる前記ステップが、前記HASをノードからノードへトラバースするステップであり、前記最大トラバーサル距離が、シーン境界及び交点Pの間のノードの数を表す、請求項7に記載のプログラム。
  9. 画像を生成するためのシステムであって、
    ディスプレイ・サブシステムに結合された画像ディスプレイと、
    前記ディスプレイ・サブシステムに結合されたプロセッサとを備え、
    前記プロセッサが、
    シーン形状モデル及びシーン内に配置されたオブジェクトを記述する複数のピクセル・データを含む、シーン・モデル・データを受け取り、
    前記複数のピクセル・データのうち第1のピクセル・データを選択し、
    前記第1のピクセル・データに基づき、1次ピクセル色を生成し、
    前記第1のピクセル・データに基づき、1次レイを生成し、
    前記1次レイが前記シーン内のオブジェクトと交差するか否かを決定し、
    前記1次レイが前記シーン内のオブジェクトと交差する場合は、交点Pを決定し、
    前記交差したオブジェクト及び前記交点Pに基づき、表面法線Nを決定し、
    前記交点Pに基づき、1次ヒット色を決定し、
    前記1次ヒット色に基づき、前記1次ピクセル色を修正し、
    前記交点P及び前記表面法線Nに基づき、各々が一の方向Dを有する複数のアンビエント・オクルージョン(AO)レイを生成し、
    各AOレイごとに、当該AOレイの方向Dを逆転させ且つ当該AOレイの原点Oを前記シーンの外部の点にセットし、
    各AOレイごとに、前記AOレイの原点Oと前記交点Pの間の距離である最大トラバーサル距離をセットし、
    各AOレイを、当該AOレイの原点から前記交点Pに向かうように前記シーン内へ進行させ、
    前記最大トラバーサル距離を進行する前に一のAOレイが一のオブジェクトと交差する場合は、当該AOレイをアンビエント・オクルージョン計算から除外し、
    一のAOレイがオブジェクトと交差することなく前記最大トラバーサル距離を進行した場合は、当該AOレイをアンビエント・オクルージョン計算に組み込み、
    組み込まれたAOレイに基づき、アンビエント・オクルージョンを評価し、
    前記アンビエント・オクルージョン及び前記1次ヒット色に基づき、前記1次ピクセル色のシェーディングを行い、
    前記ピクセル・データ用の前記1次ピクセル色に基づき、一の画像を生成するように構成される、システム。
  10. 前記プロセッサが、前記シーン形状モデルを、複数のノードを含む階層的加速構造(HAS)へ編成するようにさらに構成される、請求項に記載のシステム。
  11. 各AOレイを進行させることが、前記HASをノードからノードへトラバースすることであり、前記最大トラバーサル距離が、シーン境界及び交点Pの間のノードの数を表す、請求項10に記載のシステム。
JP2009262804A 2008-12-05 2009-11-18 アンビエント・オクルージョンを使用する写実的画像処理のためのシステム、方法、およびプログラム Expired - Fee Related JP5460259B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/329,470 US9483864B2 (en) 2008-12-05 2008-12-05 System and method for photorealistic imaging using ambient occlusion
US12/329470 2008-12-05

Publications (2)

Publication Number Publication Date
JP2010134919A JP2010134919A (ja) 2010-06-17
JP5460259B2 true JP5460259B2 (ja) 2014-04-02

Family

ID=42230551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009262804A Expired - Fee Related JP5460259B2 (ja) 2008-12-05 2009-11-18 アンビエント・オクルージョンを使用する写実的画像処理のためのシステム、方法、およびプログラム

Country Status (5)

Country Link
US (1) US9483864B2 (ja)
JP (1) JP5460259B2 (ja)
KR (1) KR101072093B1 (ja)
CN (1) CN101751690B (ja)
TW (1) TW201028956A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009042328B4 (de) * 2009-09-21 2024-02-15 Siemens Healthcare Gmbh Effiziente Bestimmung von Lichteffekten beim Volume Rendering
FR2966623A1 (fr) * 2010-10-21 2012-04-27 Thomson Licensing Procede d’estimation de l’occultation dans un environnement virtuel
CN102194219B (zh) * 2011-05-18 2014-05-07 刘征 一种被障碍物遮挡图像的优化显示方法
US9153068B2 (en) * 2011-06-24 2015-10-06 Nvidia Corporation Clipless time and lens bounds for improved sample test efficiency in image rendering
US20130033507A1 (en) * 2011-08-04 2013-02-07 Nvidia Corporation System, method, and computer program product for constructing an acceleration structure
CN102592305A (zh) * 2011-09-06 2012-07-18 浙江大学 自适应的屏幕空间环境光遮蔽方法
KR102072515B1 (ko) 2012-10-16 2020-02-03 삼성전자주식회사 영상 처리 장치 및 방법
US20140160124A1 (en) * 2012-12-12 2014-06-12 Nvidia Corporation Visible polygon data structure and method of use thereof
US10970912B2 (en) 2013-03-14 2021-04-06 Imagination Technologies Limited 3-D graphics rendering with implicit geometry
GB2549217B (en) * 2013-03-14 2017-11-22 Imagination Tech Ltd 3-D Graphics rendering with implicit geometry
KR102164541B1 (ko) 2013-10-22 2020-10-12 삼성전자 주식회사 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법
US9697640B2 (en) * 2014-04-21 2017-07-04 Qualcomm Incorporated Start node determination for tree traversal in ray tracing applications
WO2015167159A1 (en) * 2014-05-02 2015-11-05 Samsung Electronics Co., Ltd. Rendering system and method for generating ray
CN110832549B (zh) * 2018-05-21 2023-06-27 斯纳普公司 现实世界环境中虚拟对象的经过光线追踪的反射的快速产生方法
CA3045133C (en) * 2019-06-03 2023-03-21 Eidos Interactive Corp. Systems and methods for augmented reality applications
CN110599389B (zh) * 2019-09-10 2022-07-15 苏州蜗牛数字科技股份有限公司 一种判断环境探针遮挡的方法及其系统
US11263800B2 (en) 2019-12-27 2022-03-01 Intel Corporation Apparatus and method for quantized convergent direction-based ray sorting

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499053B2 (en) * 2000-06-19 2009-03-03 Mental Images Gmbh Real-time precision ray tracing
US7773088B2 (en) * 2000-06-19 2010-08-10 Mental Images Gmbh Simultaneous simulation of markov chains using quasi-monte carlo techniques
US6940504B1 (en) * 2000-11-21 2005-09-06 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena using an alpha channel
US6853377B2 (en) * 2002-06-26 2005-02-08 Nvidia Corporation System and method of improved calculation of diffusely reflected light
CA2506419C (en) * 2002-11-15 2014-01-21 Sunfish Studio, Inc. Visible surface determination system & methodology in computer graphics using interval analysis
DE102004007835A1 (de) * 2004-02-17 2005-09-15 Universität des Saarlandes Vorrichtung zur Darstellung von dynamischen komplexen Szenen
US7567248B1 (en) * 2004-04-28 2009-07-28 Mark William R System and method for computing intersections between rays and surfaces
US7184052B2 (en) * 2004-06-18 2007-02-27 Microsoft Corporation Real-time texture rendering using generalized displacement maps
US7348975B2 (en) * 2004-12-28 2008-03-25 Intel Corporation Applications of interval arithmetic for reduction of number of computations in ray tracing problems
US8184119B2 (en) * 2005-07-13 2012-05-22 Siemens Medical Solutions Usa, Inc. Fast ambient occlusion for direct volume rendering
US7973790B2 (en) * 2005-08-11 2011-07-05 Realtime Technology Ag Method for hybrid rasterization and raytracing with consistent programmable shading
US7439973B2 (en) * 2005-08-11 2008-10-21 International Business Machines Corporation Ray tracing with depth buffered display
DE602006005005D1 (de) * 2005-08-26 2009-03-12 Philips Intellectual Property Verfahren zur erzeugung eines 2-d-bildes eines 3-d-objekts
US7692651B2 (en) * 2005-09-22 2010-04-06 Siemens Medical Solutions Usa, Inc. Method and apparatus for providing efficient space leaping using a neighbor guided emptiness map in octree traversal for a fast ray casting algorithm
FR2896895B1 (fr) * 2006-02-01 2008-09-26 Redway Soc Par Actions Simplifiee Procede de synthese d'une image virtuelle par lancer de faisceaux
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination
US7675518B1 (en) * 2006-09-05 2010-03-09 Adobe Systems, Incorporated System and method for generating image shadows with ray-coherent integration of extruded transparency maps
US7884819B2 (en) 2006-09-27 2011-02-08 International Business Machines Corporation Pixel color accumulation in a ray tracing image processing system
CN101178854A (zh) * 2006-11-07 2008-05-14 奥城同立科技开发(北京)有限公司 交通道路图像多向抓拍方法和电子警察系统
US7836258B2 (en) * 2006-11-13 2010-11-16 International Business Machines Corporation Dynamic data cache invalidate with data dependent expiration
US8139060B2 (en) * 2006-11-28 2012-03-20 International Business Machines Corporation Ray tracing image processing system
TWI322392B (en) * 2006-12-14 2010-03-21 Inst Information Industry Apparatus, method, application program, and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3d object
US7969438B2 (en) * 2007-01-23 2011-06-28 Pacific Data Images Llc Soft shadows for cinematic lighting for computer graphics
US8390621B2 (en) * 2007-01-24 2013-03-05 Take Two Interactive Software, Inc. System and method for calculating multi-resolution dynamic ambient occlusion
JP2008262493A (ja) 2007-04-13 2008-10-30 Sony Corp 情報処理装置および情報処理方法、プログラム、並びに、記録媒体
CN101141633B (zh) * 2007-08-28 2011-01-05 湖南大学 一种复杂场景中的运动目标检测与跟踪方法
US8063902B2 (en) * 2007-10-12 2011-11-22 Caustic Graphics, Inc. Method and apparatus for increasing efficiency of transmission and/or storage of rays for parallelized ray intersection testing
US8237711B2 (en) * 2007-11-19 2012-08-07 Caustic Graphics, Inc. Tracing of shader-generated ray groups using coupled intersection testing
US8878849B2 (en) * 2007-12-14 2014-11-04 Nvidia Corporation Horizon split ambient occlusion
US20090309877A1 (en) * 2008-06-16 2009-12-17 Microsoft Corporation Soft shadow rendering

Also Published As

Publication number Publication date
JP2010134919A (ja) 2010-06-17
CN101751690B (zh) 2012-05-30
US9483864B2 (en) 2016-11-01
KR101072093B1 (ko) 2011-10-10
TW201028956A (en) 2010-08-01
KR20100065060A (ko) 2010-06-15
US20100141652A1 (en) 2010-06-10
CN101751690A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
JP5460259B2 (ja) アンビエント・オクルージョンを使用する写実的画像処理のためのシステム、方法、およびプログラム
KR101054702B1 (ko) 광선 추적 이미지 처리 시스템의 픽셀 컬러 결정
US7940265B2 (en) Multiple spacial indexes for dynamic scene management in graphics rendering
US8525826B2 (en) System for iterative interactive ray tracing in a multiprocessor environment
US11069124B2 (en) Systems and methods for reducing rendering latency
US9202303B2 (en) System and method for compositing path color in path rendering
US9911212B2 (en) Resetting of dynamically grown accelerated data structure
US8004518B2 (en) Combined spatial index for static and dynamic objects within a three-dimensional scene
CN110827389A (zh) 严密的光线三角形相交
CN101165721B (zh) 光线跟踪的方法和系统
CN113808245B (zh) 用于遍历光线追踪加速结构的增强技术
US20200043219A1 (en) Systems and Methods for Rendering Optical Distortion Effects
US20130063460A1 (en) Visual shader designer
US8339398B2 (en) Integrated acceleration data structure for physics and ray tracing workload
US10553012B2 (en) Systems and methods for rendering foveated effects
US10699467B2 (en) Computer-graphics based on hierarchical ray casting
US20140125686A1 (en) Image rendering method and system
GB2597822A (en) Graphics processing
US8102389B2 (en) Box casting using an integrated acceleration data structure
US20240095993A1 (en) Reducing false positive ray traversal in a bounding volume hierarchy
US11816781B2 (en) Spatial hashing for world-space spatiotemporal reservoir re-use for ray tracing
US10580198B2 (en) System and method for optimized sparse volume rendering
Hunt et al. Hierarchical visibility for virtual reality
US20230281906A1 (en) Motion vector optimization for multiple refractive and reflective interfaces
KR20220164441A (ko) 그래픽 프로세싱

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20130919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R150 Certificate of patent or registration of utility model

Ref document number: 5460259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees