説明

仮想環境でのオクルージョンを推定する方法

【課題】仮想環境でのアンビエントオクルージョンをライブで推定して現実感のある表示の生成に必要な計算時間および/または計算パワーを最適化する。
【解決手段】仮想環境の点P16でのオクルージョンを推定するための方法に関し、点P16は、視点11から見える仮想環境の各点のうちの少なくとも幾つかをグループ化する表面Sに存在する。必要な計算時間を最小限としながら表示を改善するために、表面Sと基点として点P16を有する複数の半直線との交点403を推定するステップであって、交点403が複数の半直線の各半直線40を離散化することで推定されるステップ表面Sとの交点を有する複数の半直線の各半直線にオクルージョン因子を関連付けるステップであって、該因子が各交点403と点P16を隔てているオクルージョン距離Δの関数であるステップ、推定された交点403から点P16でのオクルージョンを推定するステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、合成画像の構成の分野に関し、より詳細には、仮想環境でのアンビエントオクルージョンを推定する分野に関する。本発明はまた、ライブ合成(live composition)のための特殊効果との関連で理解される。
【背景技術】
【0002】
従来技術によれば、仮想環境でのアンビエントオクルージョン(ambient occlusion)をシミュレートするための様々な方法が存在する。これらの方法の1つによれば、仮想環境(またシーンとも呼ばれる)の一点におけるオクルージョンを計算するために、十分な数の光線が、この点から仮想環境全体にわたって発射されて、これらの光線間の交点およびこの点に隣接する幾何学的配置を決定する。交差した光線の数と発射された光線の数との間の関係により、対象となる点におけるオクルージョンを決定することが可能になる。この方法では、良好な品質の結果を得るために、数多くの光線を発射する必要がある。計算を実行するのに必要とされるリソースは、発射される光線の数に直接依存するので、所望の表示品質が高い場合、計算に必要となる要求事項が非常に多くて、ライブで実行することができない。オクルージョン計算をライブで実行するためには、仮想環境の表示品質を損ねる程度にまで、発射される光線の数を低減させることが必要になることがある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
インタラクティブなシミュレーションゲームおよびアプリケーションが出現するのに伴って、特に3次元(3D)において、高品質で現実感のある、高速なグローバルオクルージョン(global occlusion)の推定を提供するライブシミュレーションの方法の必要性が感じられる。
【課題を解決するための手段】
【0004】
本発明の目的は、従来技術のこれら欠点のうち少なくとも1つを克服することである。
【0005】
より具体的には、本発明の目的は、特に、仮想環境でのアンビエントオクルージョンをライブで推定して現実感のある表示を生成するのに必要とされる計算時間および/または計算パワーを最適化することである。
【0006】
本発明は、ある視点から見える仮想環境の各点のうち少なくとも幾つかをグループ化する表面に存在する、仮想環境の点Pにおけるオクルージョンを推定する方法に関し、
−表面と、基点として点Pを有する複数の半直線との間の交点を表す情報の項目を推定するステップであって、これら交点が複数の半直線の各半直線を離散化することによって推定されるステップと、
−表面との交点を有する複数の半直線の各半直線にオクルージョン因子(occlusion factor)を関連付けるステップであって、このオクルージョン因子が、各交点と点Pを隔てているオクルージョン因子(occlusion distance)の関数であるステップと、
−推定された交点を表す情報およびオクルージョン因子から、点Pにおけるオクルージョンを推定するステップを含む。
【0007】
一特性によれば、複数の半直線のうち1つの半直線に関連するオクルージョン因子の値が、この半直線と表面の間の交点から点Pを隔てている距離に反比例する。
【0008】
有利には、点Pにおけるオクルージョンは、表面(S)との交点を有する半直線の数と、複数の半直線の総数との比に対応し、点Pにおけるオクルージョンを表す比の分子が、オクルージョン因子で重み付けされる。
【0009】
特定の特性によれば、この方法はさらに、仮想環境の可視点と視点を隔てている距離を推定するステップを含み、この推定された距離が奥行きマップで表され、各交点を表す情報の項目の推定が、この奥行きマップの空間で実行される。
【0010】
有利には、複数の半直線は、主に点Pに関連する表面の要素上に生じるPを中心とする半球を形成する。
【0011】
特定の特性によれば、半球の底面は、点Pに関連する表面の要素の接線方向にある。
【0012】
有利には、この方法は、点Pにおけるオクルージョンを表す情報の項目を、オクルージョンマップに記憶するステップを含む。
【0013】
特定の特性によれば、半直線の方向は点Pの位置に依存する。
【0014】
別の特性によれば、交点を表す情報は、光線をサンプリングする方法を使用して推定される。
【0015】
本発明はまた、視点から見える仮想環境の各点のうち少なくとも幾つかをグループ化する表面に存在する、仮想環境の点Pにおけるオクルージョンを推定するように構成された装置に関し、この装置は、
−表面と、基点として点Pを有する複数半直線との間の交点を表す情報を推定する手段であって、これら交点が複数の半直線の各半直線を離散化することによって推定される手段と、
−表面との交点を有する複数の半直線の各半直線にオクルージョン因子を関連付けるステップであって、このオクルージョン因子が、各交点と点Pを隔てているオクルージョン距離Δ0の関数である手段と、
−推定された交点およびオクルージョン因子を表す情報から、点Pにおけるオクルージョンを推定する手段とを備える。
【0016】
一特性によれば、複数の半直線のうち1つの半直線に関連するオクルージョン因子の値が、この半直線と表面の間の交点から点Pを隔てている距離に反比例する。
【0017】
有利には、点Pにおけるオクルージョンは、表面との交点を有する半直線の数と、複数の半直線の総数との比に対応し、点Pにおけるオクルージョン因子を表す比の分子が、オクルージョン因子で重み付けされる。
【0018】
以下の説明を読めば、本発明がよりよく理解され、他の具体的な特徴および利点が明らかになろう。この説明では添付図面を参照する。
【図面の簡単な説明】
【0019】
【図1A】本発明の具体的な一実施形態による、ある視点から見た仮想環境を図式的に示した図である。
【図1B】本発明の具体的な一実施形態による、視点から図1Aの可視点をグループ化する表面を表す、仮想環境および視点に関連した奥行きマップを示す図である。
【図2】本発明の具体的な2つの実施形態による、図1Aの仮想環境の可視点の表面との交点が推定される方向の形をなしている半球を図式的に示した図である。
【図3】本発明の具体的な2つの実施形態による、図1Aの仮想環境の可視点の表面との交点が推定される方向の形をなしている半球を図式的に示した図である。
【図4】本発明の具体的な一実施形態による、図2および図3の方向と図1Aの仮想環境の可視点の表面との間の交点を推定するための方法を図式的に示した図である。
【図5】本発明の具体的な一実施形態による、図2および図3の方向と図1Aの仮想環境の可視点の表面との間の交点を推定するための方法を図式的に示した図である。
【図6】本発明の具体的な一実装形態による、図1Aの仮想環境におけるある点におけるオクルージョンを推定するための方法を実施する装置を示す図である。
【図7】本発明の具体的な一実装形態による、図1Aの仮想環境におけるある点におけるオクルージョンを推定するための方法を示す図である。
【発明を実施するための形態】
【0020】
仮想環境の点Pにおけるオクルージョンを推定するための方法の具体的な一実施形態を参照しながら、本発明を説明する。有利には、点Pは、ある視点から目に見える仮想環境の各点のうちの全てまたは幾つかから形成される表面の一部分である。点Pにおけるオクルージョンを決定するために、基点として点Pを有する複数の光線が仮想環境全体にわたって発射され、発射された光線を離散化することにより、これらの光線のそれぞれと可視点の表面との間の交点が決定される。点Pにおけるオクルージョンは、たとえば、可視点の表面との交点を有する光線の数と光線の総数との間の関係に対応する。発射された光線のそれぞれを離散化することにより、表面との交点が存在するときには、それを精度よく決定することが可能になる。ある点におけるオクルージョン、または普通ならある点でのシェーディングとして知られているオクルージョンは、この点の隣接する幾何学的形状に依存するので、対象となる点Pを囲んでいる可視点の表面との交点を精度よく決定することにより、非常に多くの光線を発射する必要もなく、点Pにおけるオクルージョンがより精密に推定できるようになる。したがって、記載されている本発明の具体的な一実施形態による点Pにおけるオクルージョンの推定は高速であり、良好なレベルの品質を提供し、具体的にはリアルタイム、またはライブなアプリケーションを可能にする。
【0021】
可視点の表面の各点におけるオクルージョンを推定することにより、仮想環境に加えられる光の存在を知る必要もなく、仮想環境のアンビエントオクルージョン決定すること、したがって仮想環境の各可視点でのシェーディングを決定することが可能である。
【0022】
図1には、たとえば仮想環境1の観察者である視点11から見える仮想環境または仮想シーン1が示してある。有利には、仮想環境は、仮想環境のあらゆる点において一定かつ一様な照明を確実に行う光環境によって照射される。仮想環境1は、たとえば多角形のモデル化により当業者に知られている任意の方法によってモデル化された、1つまたは幾つかの、仮想オブジェクト12、13、14および15を含み、この多角形モデル化では、このモデルは、1組の多角形と同化しており、NURBS(非一様有理Bスプライン)タイプの曲線モデル化により、それぞれの多角形が、それを構成する頂点および辺のリストによって画定されており、NURBSでは、このモデルは、表面の細分化によってモデル化することにより、制御頂点(control vertices)を介して生成される1組の曲線によって画定される。仮想オブジェクトにより、現実の環境(たとえば、地面、家若しくは家の正面、車、木、すなわち、家の一部、街路、町、田舎など環境を構成する任意の要素)または架空の要素を構成する(現実若しくは仮想の)オブジェクトの(モデル化によって得られる)任意の仮想表現が理解される。仮想環境の各オブジェクト12、13、14および15は、それを覆う表面によって特徴付けられ、各オブジェクトの表面は、そのオブジェクトに特有の(1つまたは幾つかの方向で表面によって反射される入射光の比率に対応する)反射率特性を有する。有利には、オブジェクトの表面の反射率は、光を反射するオブジェクトの区域(表面の1つまたは幾つかの点を含む表面の区域)に応じて変化する。すなわち、オブジェクトの表面の反射率は一定ではない。一変形形態によれば、オブジェクトの表面の任意の点で、オブジェクトの表面の反射率が一定である。図1の例によれば、観察者11は、観察方向111に沿って仮想環境1の点P16を見るが、点P16は、観察方向111と、基点として視点11を有するこの観察方向の先にある仮想環境1の第1のオブジェクト、すなわちオブジェクト13との間の交点に対応する。視点11から見える仮想環境1の一部は視錐体(viewing cone)で示してあり、この視錐体は、観察方向111を含め非常に数多くの観察方向から構成される。有利には、視点11から見えるオブジェクト12から15の1組の点が、可視点の表面Sを形成する。一変形形態によれば、表面Sは、1組の可視点のサブセット、たとえば、これらのオブジェクト12および13のみに関心がある場合には、それらの可視点を含むに過ぎない。点P16におけるオクルージョンを決定することは、点P16に隣接する領域内の表面Sの各点のそれぞれと点Pを隔てている距離を決定することを意味し、すなわち、基点として点Pを有する半直線と表面Sの間の交点を決定することを意味する。表面S上の点Pの隣接する領域により、たとえば、点Pから閾値よりも小さい距離、たとえば25cm、50cm、または1m未満の距離を隔てて位置している表面Sに存在する1組の点が理解される。有利には、基点が点P16にある半直線と表面Sの間の交点の決定は、対象となる点の幾何座標から、領域空間すなわち仮想環境の空間で実行される。基点として点Pを有する1組の半直線が、たとえば、中心Pを有する球、底面の中心がPにある半球、または四半球を形成する。
【0023】
一変形形態によれば、基点が点P16にある半直線と表面Sの間の交点の決定が、奥行きマップ110の空間内で実行される。この変形形態によれば、仮想環境1は、視点11から見えているものとして表示されている。視点11から見えている仮想環境1を表す情報が、奥行きマップ110に記憶される。有利には、視点から見える仮想環境1の各点に対して、奥行きマップは、対象となる可視点の視点11を隔てている距離を表す情報の項目を含む。図1Bには、本発明の具体的な一実施形態による、こうした奥行きマップ110が示してある。この距離を表す情報が、ベクトル1110から1111iで表されており、このノルムは、視点11と対象となる可視点との間の距離に等しい。したがって、奥行きマップは、たとえば、視点11の視野を表し、視点11の観察の主方向に垂直な錐体112によって形成された表面に投影される仮想環境1の可視点に関連する複数の点から構成されている。奥行き、すなわち視点/可視点間の距離を表す情報の項目は、奥行きマップの対応する各点に関連している。奥行きを表すベクトルの端部によって形成される奥行きマップの各点を接続することにより、視点11から見える仮想環境の1組の可視点を表す表面S’が得られる。この表面S’は、表面Sのように、点P43を含め、視点から見える環境の点の全てまたは幾つかのセットを表す。この変形形態によれば、有利には、奥行きの情報は、GPUに関連するメモリ内に記録された表から構成されるデータ構造に記憶され格納される。これらの記録は奥行きの記録と呼ばれる。これらの記録により、視点11から見える仮想環境1の1組の点を参照することができるようになり、それに対して、たとえば仮想環境1または仮想環境の一部分のアンビエントオクルージョンを決定するためのオクルージョン推定法が存在することができ、たとえば、幾つかのオブジェクト12から15のうちの1つが仮想環境1を構成する。
【0024】
図2および図3には、半球20および30が示してあり、それぞれが、基点として点P16を有する半直線で形成されており、それに対して、表面S(または、奥行きマップの空間に位置する場合にはS’)を有する交点が決定される。図2に関して示すように、半球20は、複数のベクトル22、23から構成されており、それぞれのベクトルが、基点として点Pを有する半直線に関連する方向を表す。半球20は、仮想環境の観察方向111において本質的に直交している底面21を有する。半球20を形成するベクトル22、23を決定するために、たとえば、底面21はn個のサンプル(それぞれのサンプルは、たとえば点211またはこの点に関連した表面要素に対応する)でサンプリングされ、次いで、底面21の各サンプルが底面21での直交軸Zに従って半球20上に投影されて、一方で端部として点Pを有し、他方で底面21の対象となるサンプル211の投影を有するベクトル23を形成する。有利には、サンプルの数nは、ユーザによって構成される。計算を早めるためには、サンプルの数nは少ない方が有利である。アンダーサンプリングに関連する表示エラーを避けるために、点Pに関連する半球を表すのに使用されるn個のサンプルが、表面Sの所与の区域内でのある点Pから別の点まで変化し、回転行列がnベースのサンプルに加えられて、対象となる表面Sの区域の各点Pに対して1組の別のn個のサンプルを得る。これを実行するために、回転行列の角度θが、無作為に、または決められた方式で、ある点Pから別の点に変化し、各点Pが、nベースのサンプルから1組のn個のサンプルを生成できるようにする。nベースのサンプルに加えられる2次元の回転行列R2Dは、たとえば次式に等しい。
【0025】
【数1】

【0026】
ベクトル22、23の全てが、共通の第1の端部すなわち点P16を有し、表面要素が、各ベクトル22、23の第2の端部と関連しており、各ベクトルに関連する表面要素の合計が、半球20の表面を形成する。点P16におけるオクルージョンを得るために、基点として点Pを有し、表面Sとの交点を有する半直線が(図4および図5に対してより精密に説明するように)まず決定され、次いで、これらの半直線に対応するベクトルに関連する表面要素が加算される。次いで、一方で表面S110との交点を有する半直線に対応する表面要素の合計と、他方で半球20の表面全体との比が実行される。このようにして得られた表面の比は、点P16におけるオクルージョンを表しており、このオクルージョンは、点Pでの表面Sへのシェーディングを表している。基点として点P16を有する複数の半直線から形成される半球20は、有利には、主として点P16に関連する表面Sの表面要素210上にある。「主として点P16に関連する表面Sの表面要素210上にある」という表現により、半球を形成するベクトルの大部分が、表面要素210との交点をもたないこと、または半球の底面21が、点Pにおいて、所与の閾値未満、たとえば45度未満の表面要素の接線方向の角度を形成することが理解される。
【0027】
やはり図3では、底面31の中心が点P16にある半球が示してある。半球30は、複数のベクトル32、33から構成され、各ベクトルは、表面Sとの交点を決定しなければならない、基点として点Pを有する半直線に関連する方向を表している。図2に示しように、半球30の底面は、点P16に関連する表面Sの表面要素210の接線方向にあり、ベクトルNは、表面要素210での接線に対する法線を表している。たとえば、底面が観察方向111に対して垂直である半球20から、軸Zの向きを表面要素210での接線に垂直になるよう変更することで、底面31が点Pに関連する表面要素210の接線方向にある半球30が得られる。この場合に使用される回転は、たとえば、表面要素210での接線に垂直な空間において観察方向111に従って視点11から見える環境1に対応する空間からサンプル方向ωiに至る回転に対応し、この回転は、視点11から見える環境に対応する空間の座標で表され、R3Dと呼ばれる。R3Dは、角度/軸の表現(r,θ)を使用して分析的に決定され、rは、N32およびZ22に垂直なベクトルとして定義され、θは、その間の角度として定義される。
【0028】
【数2】

【0029】
ここで、‖V‖はベクトルVの正規化演算子(normalization operator)を表す。
【0030】
式(2)において、3次元の軸/角度回転のロドリーグの公式を当てはめることにより、次式が得られる。
【0031】
【数3】

【0032】
この回転行列は、サンプル211毎に1度計算され、各ベクトルに加えられて、法線Nに従って配向された方向ωiが得られる。
【0033】
図4および図5には、一方で基点として点P16を有する方向ωiの半直線40と、他方で表面Sとの間の交点を決定するための、本発明の具体的な一実施形態による方法が示してある。
【0034】
図4に関して示すように、基点として点P16を有し、向きがωiの半直線40が離散化されて複数の要素サンプルになり、各サンプルが、半直線40のセグメントに対応している。図4には2つのサンプル、すなわちセグメント[P−Sωi]および[Sωi−Sωi+1]が示してある。したがって、半直線40は、幾つかの点、すなわち点P16、Sωi402、およびSωi+1404によって表される。こうした方法の目的は、半直線40と表面Sの間の交点403と点P16を隔てている距離に対応するオクルージョン因子(occlusion distance)Δ041を決定することである。サンプルすなわち半直線40のセグメントが表面Sとの交点を有するかどうか判定するために、図5に関して示すように、第1のサンプルに対応する半直線470の第1の点Sωiが、観察方向111に従って表面Sに投影される。点Sωi402の表面Sへの投影は点Stj52であり、Sωi402とStj52を隔てている距離δjが、たとえばGPUに関連するメモリ内の記録テーブルに記録される。半直線40の第1のセグメント[P−Sωi]が表面Sとの交点を有するかどうか判定するためには、点Sωi402およびStj52の位置と、視点11の位置とを比較するだけで十分である。点Sωi402が、点Stj52よりも観察方向111の長さだけ視点11に近い場合、半直線40の第1のセグメント[P−Sωi]は、表面Sとの交点を有しない。逆の場合、すなわち点Stj52が、点Sωi402よりも観察方向111の長さだけ視点11に近い場合、半直線40の第1のセグメント[P−Sωi]は、表面Sとの交点を有する。半直線40の第1のセグメント[P−Sωi]が表面Sとの交点を有する場合、半直線40と表面Sの交点が決定すると、半直線の離散化プロセスが停止する。図4および図5に関して示したケースとは逆の場合、すなわち半直線40の第1のセグメント[P−Sωi]が表面Sとの交点を有しない場合、半直線40の離散化プロセスが、点P16からP→ωiの方向に移動しながら、次のセグメント[Sωi−Sωi+1]まで継続する。点Sωi+1404が、観察方向111に従って表面Sに投影され、その投影の結果が点Stj+153であり、点Sωi+1404とStj+153を隔てる距離δj+1が、たとえばGPUに関連するメモリ内の記録テーブルに記録される。半直線40の第2のセグメント[Sωi−Sωi+1]が表面Sとの交点を有するかどうか判定するために、点Sωi+1404およびStj+153の位置が、視点11の位置と比較される。点Stj+153が、点Sωi+1404よりも視点11に近いと、これは、第2のセグメント[Sωi−Sωi+1]が表面Sとの交点を有することを意味する。交点の位置を精密に決定するために、第2のセグメント[Sωi−Sωi+1]が離散化されて、次に小さなサイズの複数のサンプルになり、第2のセグメントの離散化を表すセグメント[Sωi−Sωi+1]の各点が、Sωi402に最も近い点から始めて、方向111に従って表面Sに投影される。したがって、半直線40のセグメントの離散化動作を何度も反復して実行することにより、半直線40と表面Sの間の交点の位置を非常に精度よく推定することが可能である。点P16および推定された交点の座標から、オクルージョン距離Δ0が決定される。半直線40をさらに小さいサンプルに連続して離散化することにより、表面Sとの交点を精度よく推定できるようになるが、それに必要な計算にはコストがかかる可能性がある。有利には、所定の閾値(たとえば、15、20、25または50のサンプルに等しい)よりも大きい値であるn番目の半直線のサンプルにおいて、表面Sとの交点が決定されなかった場合、半直線40が表面Sとの交点を有しないと考えられる。
【0035】
一変形形態によれば、点Pと、半直線40と表面Sの間の交点との間のオクルージョン距離Δ’0は、交点を囲む点Sωi402および点Sωi+1404、ならびに以前推定した距離δjおよびδj+1から近似することによって決定される。この変形形態によれば、半直線40のサンプリングを表す2つの点、たとえば点Sωi402およびSωi+1404の間で構成される表面Sの表面要素が、全体的に平面であると仮定される。このようにして、オクルージョン距離Δ’0が直線的に補間される。
【0036】
【数4】

【0037】
0から1の間で構成される点P16におけるオクルージョン因子(occlusion factor)を決定するために、オクルージョン距離Δ’0の平方根が、点Pにおける現在のオクルージョンの寄与に加えられ、最終的にサンプルの数に適合される。したがって、点Pにおけるオクルージョン因子A(P)が次式のように得られる。
【0038】
【数5】

【0039】
ここで、nは半直線の数に対応する。
【0040】
Vp、ωiは、対象となる半直線が表面Sとの交点を有しない場合、0に等しい因子に対応し、対象となる半直線が表面Sとの交点を有する場合、1に等しい因子に対応し、
αは、たとえばユーザによって構成された所定のコントラスト因子に対応する。
【0041】
0に近いオクルージョン因子A(P)の値は、点Pにおけるオクルージョンが高いことを意味し、逆に、1に近いオクルージョン因子A(P)の値は、点Pにおけるオクルージョンが低いことを意味することに留意されたい。有利には、このようなオクルージョン因子により、表面Sとの交点を有する各半直線の寄与を、点Pにおけるオクルージョンの計算において重み付けすることができる。図2および図3に関して記述されているように、基点として点Pを有する複数の半直線から形成される半球の表面要素は、この半球を形成する各半直線に関連している。点Pにおけるオクルージョンを決定するために、一方で表面Sとの交点を有する半直線に対応する表面要素の合計と、他方で半球の表面全体との比が実行され、このように得られた表面の比が、点Pにおけるオクルージョンを表す。点Pにおけるグローバルオクルージョンにおける表面Sとの交点である各半直線40の寄与は、点Pと交点を隔てている距離に依存する。実際、オクルージョン距離が増大するほど、点Pにおけるグローバルオクルージョンにおけるこの交点の寄与が減少する。すなわち、半直線40に関連するオクルージョン因子が1に近くなるほど、点Pにおけるグローバルオクルージョンの計算において対象となる半直線の寄与が著しくなる。したがって、表面Sとの交点を有する半直線に関連する表面要素の合計を計算する前に、表面Sとの交点を有する半直線に関連する各表面要素をオクルージョン因子によって重み付けすることが有利である。したがって、点Pにおけるグローバルオクルージョンは、半球の表面全体にわたって表面Sとの交点を有する半直線に関連した、関連する因子A(P)で重み付けられた各表面要素の合計の比率に対応する。
【0042】
図6には、仮想環境1のある点におけるオクルージョンの推定するように適合された、1つまたは幾つかの画像の表示信号を生成するための装置6のハードウェアの一実施形態が図式的に示してある。たとえば、装置6は、パーソナルコンピュータPC、ラップトップまたはゲームのコンソールに対応する。
【0043】
装置6は、クロック信号も伝送するアドレスおよびデータのバス65によって互いに接続された以下の要素を備える。
【0044】
−マイクロプロセッサ61(すなわちCPU)
−グラフィックスカード62(以下のものを含む)
−幾つかのグラフィック処理ユニット(すなわちGPU)620
−グラフィックランダムアクセスメモリ(GRAM)621
−ROM(読取り専用メモリ)タイプの不揮発性メモリ66
−ランダムアクセスメモリすなわちRAM67
−たとえばキーボード、マウス、ウェブカメラなど、1つまたは幾つかのI/O(入力/出力)装置64
−電源68
装置6はまた、グラフィックスカード62に直接接続されて、特に、グラフィックスカードで計算され構成された同期画像の表示を、たとえばライブに表示する表示画面タイプの表示装置63を備える。表示装置63をグラフィックスカード62に接続するために専用のバスを使用することにより、はるかに大きなデータ伝送ビットレートが実現し、したがって、グラフィックスカードによって構成される画像を表示するための待ち時間が低減されるという利点がもたらされる。一変形形態によれば、表示装置は、装置6の外部にあり、表示信号を伝送するケーブルによって装置6に接続されている。装置6、たとえばグラフィックスカード62は、たとえばLCD若しくはプラズマの画面、またはビデオプロジェクタなど、外部の表示手段に表示信号を伝送するように適合された、伝送または接続のための手段(図6には図示せず)を備える。
【0045】
メモリ62、66および67の説明で使用されている用語「レジスタ」は、言及されているメモリのそれぞれにおいて、小容量(いくらかのバイナリデータ)のメモリ領域、ならびに大容量(プログラム全体を記憶し、または計算されたデータを表すデータの全て若しくは一部分を表示できるようにする)のメモリ領域の両方を意味することに留意されたい。
【0046】
電源がオンになると、マイクロプロセッサ61は、RAM67に含まれるプログラムの命令をロードし実行する。
【0047】
ランダムアクセスメモリ67は、特に以下のものを備える。
【0048】
−レジスタ630における、装置6を電源オンする役割のマイクロプロセッサ61の動作プログラム
−仮想環境1を表すパラメータ671(たとえば、仮想環境1のモデル化パラメータ、仮想環境1の照明パラメータ)
本発明に特有の以下に説明する方法のステップを実施するアルゴリズムは、これらのステップを実施する装置6に関連するグラフィックスカード62のメモリRAM67に記憶される。電源がオンになり、環境を表すパラメータ671がRAM67にロードされると、グラフィックスカード62のグラフィックスプロセッサ620が、これらのパラメータをGRAM621にロードし、たとえばHLSL(ハイレベルシェーダランゲージ)言語またはGLSL(OpenGLシェーディングランゲージ)を使用する「シェーダ」タイプのマイクロプログラムの形態でのこれらのアルゴリズムの命令を実行する。
【0049】
ランダムアクセスメモリGRAM621は、特に以下のものを備える。
−レジスタ6210における、仮想環境1を表すパラメータ
−視点11から見える仮想環境1の点の表面Sを表すパラメータ6211(たとえば領域空間内の各点の座標)
−表面Sとの交点が決定される半直線を表すパラメータ6212(たとえば、基点、方向、離散化パラメータ)
−各半直線と表面Sの間の交点を表す情報6213(たとえば、各交点の座標、オクルージョン距離Δ0、距離δj
−仮想環境1の1つまたは幾つかの可視点におけるオクルージョンを表す、オクルージョン情報6214のうちの1つまたは幾つかの項目
−視点11と、視点11から見える仮想環境1の各点との間の距離を表す奥行き情報6215の項目(たとえば、視点と可視点を隔てている距離を表す値)
一変形形態によれば、GRAM621内で利用可能なメモリ記憶空間が十分でない場合に、値6211から6214およびパラメータ6215を記憶するために、RAM67の一部がCPU61によって割り当てられる。しかし、この変形形態により、GPUに含まれるマイクロプログラムから構成される環境1の表現を含む画像を合成する際に待ち時間が長くなるが、それというのも、データは、バス65を通過してグラフィックスカードからランダムアクセスメモリ67に伝送しなければならないが、このバスの伝送容量は一般に、GPUからGRAMに、またその逆に伝送するためにグラフィックスカードで利用可能な伝送容量よりも小さいからである。
【0050】
別の変形形態によれば、電源68は装置4の外部にある。
【0051】
図7には、本発明の非制限的で特に有利な実施形態による、装置6で実施される仮想環境の点Pにおけるオクルージョンを推定するための方法が示してある。
【0052】
初期化ステップ70の間、装置6の様々なパラメータが更新される。具体的には、仮想環境1を表すパラメータが何らかの方法で初期化される。
【0053】
次いで、ステップ71の間、視点11から見える仮想環境1の各点の全てまたは幾つかをグループ化する表面Sが推定され、この表面は、オクルージョンを推定する点Pを含む。有利には、表面Sは、仮想環境1の領域空間内で推定される。一変形形態によれば、表面Sは、視点11と、視点11から見える仮想環境の各視点のうちの全てまたは幾つかとを隔てている距離を表す、奥行きマップの空間内で決定される。
【0054】
次いで、ステップ72の間、一方で基点として点Pを有する複数の半直線の各半直線と、他方で表面Sとの間の交点が推定される。これを実行するために、各半直線は、可変サイズのラインのセグメントを形成するように離散化され、各セグメントのサイズは、ユーザによって構成される。セグメントのサイズが大きいほど、交点の推定のための計算がより高速になるが、交点の推定の精度は損なわれる。逆に言えば、セグメントのサイズが小さいほど、交点の推定がより精密になり、交点の推定に必要となる計算のコストが高くつく。有利には、各交点は、仮想環境1の領域空間内で推定される。
【0055】
一変形形態によれば、奥行きマップの空間内で各交点が推定される。
【0056】
別の変形形態によれば、表面Sとの交点が推定される複数の半直線は、点Pに中心がある半球20を形成し、この半球は、主に点Pに関連する表面要素上に生じる。
【0057】
別の変形形態によれば、Pに中心があり、表面Sとの交点が推定される半直線から形成される半球30は、点Pに関連する表面要素の接線方向にある。
【0058】
特に有利な変形形態によれば、Pに中心がある半球を形成する半直線の方向は、点Pの位置、すなわち点Pの座標に依存するが、これらの座標が領域空間内で表されているか、奥行きマップの空間内で表されているかは関わらない。この変形形態によれば、表面Sの第1の点Pについて複数の半直線が定義され、これら半直線のそれぞれの表面Sとの交点が決定される。第1の点に隣接する第2の点Pについて、有利には、半直線は、第1の点Pに関連する半直線の様々な方向を有するように定義される。点Pに隣接する表面Sの各点のそれぞれに、同じ推論が当てはまる。したがって、第1の点Pの隣接する領域を考慮すると、様々な方向を有する非常に多くの半直線が得られ、それにより、有利には、第1の点P、および点Pに隣接する各点Pに関連する全ての半直線の方向が同じである場合、限定された数の半直線で点Pにおいてオクルージョンを推定している間に発生する可能性のある雑音を低減することができるようになる。
【0059】
最後の変形形態によれば、半直線40は、レイマーチング法(ray marching method)を使用して離散化されて、半直線のそれぞれの表面Sとの交点を決定する。
【0060】
最後に、ステップ73の間、基点として点Pを有する半直線と表面Sとの交点を表す情報から、点Pにおけるオクルージョンが推定される。有利には、点Pにおけるオクルージョンは、表面Sとの交点が見つかった半直線の数と、表面Sとの交点が探索された半直線の数との比に一致している。一変形形態によれば、表面Sとの交点が探索された半直線は、球または有利には半球を形成し、この球または半球の表面要素が各半直線に関連している。この変形形態によれば、点Pにおけるオクルージョンは、表面Sとの交点を有する半直線に関連する表面要素の合計と、この球または半球それぞれの表面全体との比に対応する。別の変形形態によれば、点Pにおけるオクルージョンを表す比の分子は、交点を有する半直線について、点Pと、表面Sとの交点との間の距離を考慮するように、表面Sとの交点を有する各半直線にそれぞれ関連するオクルージョン因子のそれぞれによって重み付けられ、交点への距離が短いとき、半直線に関連するオクルージョンが大きくなる。
【0061】
別の変形形態によれば、点Pにおけるオクルージョン情報が、オクルージョンマップに記憶される。仮想環境1のアンビエントオクルージョンが推定される場合、視点11から見える仮想環境の各点のそれぞれでのオクルージョンは、可視点のそれぞれに対してステップ72および73を何度も反復して実行することによって推定され、可視点のそれぞれのオクルージョン情報が、オクルージョンマップに記憶される。同様に、可視点が変化するとき、ステップ71から73が何度も反復して実行されて、この新規の視点から、1つまたは幾つかの可視点でオクルージョンを推定する。
【0062】
もちろん、本発明は前述の各実施形態には限定されない。
【0063】
具体的には、本発明は、仮想環境の点Pにおけるオクルージョンを推定するための方法には限定されず、この方法を実施する任意の装置、および、特に少なくとも1つのGPUを備える任意の装置にまで及ぶ。点Pにおけるオクルージョンを推定するのに必要な計算の実行は、シェーダタイプのマイクロプログラムでの実行に限定されるものではなく、任意のプログラムタイプ、たとえば、CPUタイプのマイクロプロセッサで実行することのできるプログラムでの実行にまで及ぶ。
【0064】
本発明による使用法は、ライブの利用に限定されるものではなく、たとえば、レコーディングスタジオでの、たとえば合成画像の表示のためのポストプロダクション処理として知られている処理など、他のどんな利用にまでも及ぶ。本発明によるポストプロダクションにおける実施は、特に必要とされる計算時間を低減させながら、臨場感に関して優れた画像表示を提供するという利点をもたらす。
【0065】
本発明はまた、2次元または3次元でビデオ画像を合成するための方法に関し、合成に際して、1つまたは幾つかの観察方向によるアンビエントオクルージョンが計算され、結果として生じるアンビエントオクルージョンを表す情報を使用して画像の画素を表示し、各画素は観察方向に対応する。画像の各画素のそれぞれ毎に表示するために計算されるアンビエントオクルージョンが、観察者の様々な視点に適合するように再計算される。
【0066】
本発明はまた、仮想環境1のオブジェクトへの光の反射を考慮して点Pで受ける光量を推定するための方法に関する。反射する光量は、対象となる点Pにおけるオクルージョン、および、対象となる点Pに隣接する領域に関連する表面の各要素に関連する反射特性に依存する。
【0067】
本発明は、PC若しくはポータブルタイプのコンピュータで実行できるプログラムを介してか、またライブな画像を生成し表示する専用のゲーム機においてはともかく、たとえばビデオゲームアプリケーションで使用することができる。図6に関して説明した装置6には、有利には、キーボードおよび/またはジョイスティックなどの対話手段が設けられ、たとえば音声認識などのコマンドを取り入れるための他のモードも使用可能である。

【特許請求の範囲】
【請求項1】
仮想環境(1)の点P(16)におけるオクルージョンを推定する方法であって、前記点P(16)は、視点(11)から見える前記仮想環境(1)の点のうち少なくとも幾つかをグループ化する表面(S)に存在し、該方法は、以下のステップ、
−前記表面(S)と、基点として前記点P(16)を有する複数の半直線との交点(403)を表す情報(6213)を推定するステップ(72)、前記交点(403)が前記複数の半直線の各半直線(40)の離散化によって推定される、
−前記表面(S)との交点を有する前記複数の半直線の前記半直線にオクルージョン因子を関連付けるステップ、ここで、該オクルージョン因子は、前記交点(403)と前記点P(16)を隔てているオクルージョン距離Δ0の関数である、及び、
−前記点P(16)におけるオクルージョンを、推定された前記交点(403)を表す情報及び前記オクルージョン因子から推定するステップ(73)
を含むことを特徴とする方法。
【請求項2】
前記複数の半直線のうちの1つの半直線に関連するオクルージョン因子の値は、該半直線と前記表面(S)の間の前記交点と前記点Pを隔てている前記距離に反比例することを特徴とする、請求項1に記載の方法。
【請求項3】
前記点P(16)における前記オクルージョンは、前記表面(S)との交点を有する半直線の数と前記複数の半直線の総数との比に対応し、前記点Pにおける前記オクルージョンを表す該比の分子は、前記オクルージョン因子で重み付けされることを特徴とする、請求項1から2のいずれかに記載の方法。
【請求項4】
前記仮想環境(1)の可視点と前記視点(11)を隔てている距離を推定するステップをさらに含み、該推定された距離は奥行きマップ(110)で表され、該奥行きマップの空間で、前記交点を表す情報の項目の前記推定が実行されることを特徴とする、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記複数の半直線は、前記点P(16)に中心があり、主に前記点P(16)に関連する前記表面(S)の表面要素(210)上に生じる半球(20、30)を形成することを特徴とする、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記半直線の底面(31)は、前記点P(16)に関連する前記表面要素(210)の接線方向にあることを特徴とする、請求項5に記載の方法。
【請求項7】
前記点P(16)における前記オクルージョンを表す情報の項目を、オクルージョンマップに記憶するステップを含むことを特徴とする、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記半直線(40)の方向(ωi)は、前記点P(16)の位置に依存することを特徴とする、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記交点(403)を表す情報は、レイマーチング法を使用して推定されることを特徴とする、請求項1から8のいずれか一項に記載の方法。
【請求項10】
仮想環境(1)の点P(16)におけるオクルージョンを推定するように適合された装置であって、前記点P(16)は、視点(11)から見える前記仮想環境(1)の点のうち少なくとも幾つかをグループ化する表面(S)に存在し、該装置は、
−前記表面(S)と、基点として前記点P(16)を有する複数の半直線との交点(403)を表す情報(6213)を推定する手段(620)、前記交点(403)が前記複数の半直線の各半直線(40)の離散化によって推定される、
−前記表面(S)との交点を有する前記複数の半直線の前記半直線にオクルージョン因子を関連付ける手段(620)、ここで、該オクルージョン因子は、前記交点(403)と前記点P(16)を隔てているオクルージョン距離Δ0の関数である、及び、
−前記点P(16)におけるオクルージョンを、推定された前記交点(403)を表す情報及び前記オクルージョン因子から推定する手段(620)
を備えることを特徴とする装置。
【請求項11】
前記複数の半直線のうちの1つの半直線に関連するオクルージョン因子の値は、該半直線と前記表面(S)の間の前記交点と前記点Pを隔てている前記距離に反比例することを特徴とする、請求項10に記載の装置。
【請求項12】
前記点P(16)における前記オクルージョンは、前記表面(S)との交点を有する半直線の数と前記複数の半直線の総数との比に対応し、前記点Pにおける前記オクルージョンを表す該比の分子は、前記オクルージョン因子で重み付けされることを特徴とする、請求項10または11のいずれかに記載の装置。

【図1B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図1A】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−89136(P2012−89136A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−229812(P2011−229812)
【出願日】平成23年10月19日(2011.10.19)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing 
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】