JP5916764B2 - 仮想環境における隠蔽の推定方法 - Google Patents

仮想環境における隠蔽の推定方法 Download PDF

Info

Publication number
JP5916764B2
JP5916764B2 JP2013553865A JP2013553865A JP5916764B2 JP 5916764 B2 JP5916764 B2 JP 5916764B2 JP 2013553865 A JP2013553865 A JP 2013553865A JP 2013553865 A JP2013553865 A JP 2013553865A JP 5916764 B2 JP5916764 B2 JP 5916764B2
Authority
JP
Japan
Prior art keywords
information item
buffer
buffer memory
fragment
viewpoint
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.)
Active
Application number
JP2013553865A
Other languages
English (en)
Other versions
JP2014505954A5 (ja
JP2014505954A (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2014505954A publication Critical patent/JP2014505954A/ja
Publication of JP2014505954A5 publication Critical patent/JP2014505954A5/ja
Application granted granted Critical
Publication of JP5916764B2 publication Critical patent/JP5916764B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Description

本発明は、合成画像の構成の分野に関し、より具体的には、仮想環境における隠蔽の推定の分野に関する。本発明は、ライブ構成のための特殊効果のコンテキストにおいても理解される。
先行技術によれば、仮想環境または3Dシーン(すなわち3次元のシーン)における可視性の問題に対処するために、zバッファ(z−buffer)アルゴリズムとして知られている方法を用いることが知られている。仮想環境の可視性に対処することは、環境のどのオブジェクトまたはオブジェクト部分がビューポイントから可視であるか、また、どのオブジェクトまたはオブジェクト部分が可視でないかを判断し、可視のオブジェクトまたはオブジェクト部分のみを表示することにある。この技法によれば、zバッファは、例えば仮想環境のそれぞれのピクセルの最大深度を用いて初期化される。次いで、仮想環境の各オブジェクトが表示される、すなわち、オブジェクトを形成する表面の断片(fragment)に関連付けられた属性(例えば色)が計算されて、検討しているオブジェクトの各断片に関連付けられた深度が推定され、次いでzバッファの中の対応するピクセルの深度値と比較される。オブジェクトの断片に関連付けられた深度が、関連付けられたピクセルについてzバッファに記憶された深度未満であると、次いで、この断片に関連付けられた深度が、zバッファの中の初期深度の代わりに記憶され、zバッファの各ピクセルについて同様に処理される。この処理は、仮想環境の各オブジェクトに対して繰り返され、処理が終了すると、zバッファには、仮想環境のオブジェクトの、ビューポイントに最も近い断片、すなわちビューポイントから可視の断片に関連付けられた深度が含まれる。これらの可視の断片の属性は、次いで、ビューポイントからの仮想環境の画像の最終的な表示を描画するために、画像の各ピクセルに関連付けられる。この技法の問題の1つは、ビューポイントからはこれらの断片の一部分しか可視でしかないにもかかわらず、各オブジェクトの表面の断片のすべての属性を計算する必要があることである。したがって、ビューポイントからの仮想環境を表す画像の最終表示で実際に役立つのは、計算された属性のうちの一部でしかない。
仮想環境における可視性の解決のため、いくつかの先進の技法があり、これらの技法は、仮想環境の別のゾーンから可視のゾーンを決定しようとするものであって、ビューポイントを含んでいるゾーンにおいて可視のオブジェクトまたはオブジェクト部分だけが表示される。これらの技法は、計算を低減することができるが、仮想環境の前処理が必要となり、可視性問題の生の解決が必要とされる動的環境には不適当である。
特に3次元(3D)での相互通信型シミュレーションゲームおよびアプリケーションの出現に伴って、可視性の推定、すなわち高品質かつ現実的で迅速な隠蔽推定を提供するライブシミュレーション方法の必要性が感じられている。
本発明の目的は、従来技術のこれらの欠点の少なくとも1つを克服することである。
より具体的には、本発明の目的は、特に、仮想環境の隠蔽をライブで推定するのに必要な計算時間および/または計算力を最適化して、現実的な表示を生成することである。
本発明は、少なくとも2つのオブジェクトを備える仮想環境の隠蔽を推定する方法に関し、仮想環境は、あるビューポイントから観察されたものであり、この方法は、
− 観察方向に従って、第2のオブジェクトの第2の断片がビューポイントから離れている距離を表す、第2の情報項目を推定するステップと、
− 第2の情報項目と、前記観察方向に従って第1のオブジェクトの第1の断片がビューポイントから離れている距離を表し、第1のバッファメモリに記憶されている、第1の情報項目とを比較するステップであって、
・第2の情報項目が第1の情報項目より小さい場合に限って、第2の断片に関連付けられた属性を表す第3の情報項目を推定し、第2の情報項目を第2のバッファメモリに記憶し、第3の情報項目を第3のバッファメモリに記憶し、
・第2の情報項目が第1の情報項目より大きい場合、第1の情報項目を第2のバッファメモリに記憶し、
第1のバッファメモリ(21、61)と第2のバッファメモリ(22、62)は、一方が読取りアクセス可能になり、他方が書込みアクセス可能であるように、交互に使用される、
前記比較するステップとを含む。
特定の特徴によれば、第1のバッファメモリ、第2のバッファメモリおよび第3のバッファメモリは、グラフィックプロセッサの表示バッファメモリのタイプのメモリである。
有利には、第1の情報項目および第2の情報項目のうち最小値を有する情報項目のが、第4のバッファメモリに記憶される。
特定の特徴によれば、第3の情報項目は、第3のバッファメモリにコピーされる前に第2のバッファメモリに一時的に記憶される。
有利には、第3の情報項目は、第3のバッファメモリにコピーされる前に第2のバッファメモリに一時的に記憶される。
特定の特徴によれば、第2の情報項目が第1の情報項目より大きいとき、第1の断片に関連付けられた属性を表す、第4の情報項目が、第3のバッファメモリに記憶される。
別の特徴によれば、第4の情報項目は、第3のバッファメモリにコピーされる前に第1のバッファメモリに一時的に記憶される。
有利には、推定するステップと、比較するステップと、記憶することとが、第2のオブジェクトのそれぞれの第2の断片に対して繰り返される。
特定の特徴によれば、この方法は、仮想環境の少なくとも2つのオブジェクトを、ビューポイントに最も近いビューポイントから最も遠いビューポイントまでのそれぞれの距離に従って分類するステップを含み、第1のオブジェクトは第2のオブジェクトよりビューポイントに近い。
別の特徴によれば、この方法は、第1のオブジェクトのそれぞれの断片がビューポイントから離れている距離を表す情報を用いて第1のバッファメモリを初期化するステップを含む。
本発明は、少なくとも2つのオブジェクトを備える仮想環境を表す画像を生成するためのモジュールにも関し、仮想環境は、あるビューポイントから観察されたものであり、このモジュールは、
− 観察方向に従って、第2のオブジェクトの第2の断片がビューポイントから離れている距離を表す、第2の情報項目を推定するための推定手段と、
− 第2の情報項目と、前記観察方向に従って、第1のオブジェクトの第1の断片がビューポイントから離れている距離を表す、第1のバッファメモリに記憶された第1の情報項目とを比較するための比較手段であって、
・第2の情報項目が第1の情報項目より小さい場合に限って、第2の断片に関連付けられた属性を表す、第3の情報項目が推定され、第2の情報項目が第2のバッファメモリに記憶され、また、第3の情報項目が第3のバッファメモリに記憶され、
・第2の情報項目が第1の情報項目より大きい場合、第1の情報項目が第2のバッファメモリに記憶され、
第1のバッファメモリと第2のバッファメモリは、一方が読取りアクセス可能であり、他方が書込みアクセス可能であるように、交互に用いられる、前記比較手段とを備える。
有利には、第2のバッファメモリおよび第3のバッファメモリは、グラフィックプロセッサの表示バッファメモリのタイプのメモリである。
特定の特徴によれば、このモジュールは、第1の情報項目および第2の情報項目のうち最小値を有する情報項目を記憶するための第4のバッファメモリを備える。
本発明は、このようなモジュールを備えるグラフィックプロセッサにも関する。
以下の添付図面を参照する説明を読めば、本発明がよりよく理解されるはずであり、他の特定の特徴および利点が明らかになるであろう。
本発明の特定の実施形態にしたがってビューポイントから見た仮想環境を概略的に示す図である。 本発明の特定の実施形態にしたがって図1の仮想環境を表示するためのバッファメモリの配置を示す図である。 本発明の特定の実施形態にしたがって図1の仮想環境のオブジェクトを表示するための図2のバッファメモリの管理を概略的に示す図である。 本発明の特定の実施形態にしたがって図1の仮想環境のオブジェクトを表示するための図2のバッファメモリの管理を概略的に示す図である。 本発明の特定の実施形態にしたがって図1の仮想環境のオブジェクトを表示するための図2のバッファメモリの管理を概略的に示す図である。 本発明の別の特定の実施形態にしたがって図1の仮想環境を表示するためのバッファメモリの配置を示す図である。 本発明の特定の実装形態にしたがって図1の仮想環境の隠蔽を推定する方法を実装する装置を示す図である。 本発明の2つの特定の実装形態にしたがって図1の仮想環境の隠蔽を推定する方法を示す図である。 本発明の2つの特定の実装形態にしたがって図1の仮想環境の隠蔽を推定する方法を示す図である。
図1は、例えば仮想環境1の観客など、ビューポイント10から見た仮想環境または仮想シーン(3Dシーンとも称される)1を示す。仮想環境1は、当業者に公知の任意の方法にしたがってモデル化された、いくつかの仮想オブジェクト11、12、13および14を備え、上記モデル化の方法には、例えば、モデルが、多角形を構成する頂点および辺のリストによってそれぞれ定義された1組の多角形に同化される多角形のモデル化と、モデルが、制御頂点によって生成された1組の曲線によって定義される、NURBS(Non uniform rational basic spline:不均一な合理的基本スプライン)タイプの曲線のモデル化と、表面の細分化によるモデル化とがある。仮想オブジェクトは、実環境(例えば、地面、家または家の前面、自動車、木、すなわち、家の一部分、街路、町、地方などの環境を構成する任意の要素)または想像上の要素を構成する(実在の、または架空の)オブジェクトの(モデル化によって得られる)任意の仮想表現と理解される。仮想環境の各オブジェクト11、12、13および14は、それを覆う表面によって特徴付けられ、それぞれのオブジェクトの表面は、それに特有の(表面により1つまたはいくつかの方向に反射される入射光の割合に対応する)反射率特性を有する。有利には、オブジェクトの表面の反射率は、光を反射するオブジェクトのゾーン(表面のゾーンは、表面の1つまたはいくつかのポイントを含む)に応じて変化する、すなわち、オブジェクトの表面の反射率は一定ではない。変形形態によれば、オブジェクトの表面の反射率は、オブジェクトの表面のいかなるポイントでも一定である。図1の例によると、観客10は、観察方向100により、オブジェクト11の表面のポイントP1 110を見ているが、ここで、ポイントP1 110は、観察方向100と、起点としてビューポイント10を有するこの観察方向を通して遭遇した仮想環境1の第1のオブジェクト、すなわちオブジェクト11との間の交点に相当する。ビューポイント10から見た仮想環境1の部分は、視覚円錐(viewing cone)101によって表され、この視覚円錐は、視覚方向100および視覚方向102を含む非常に多くの視覚方向から成る。オブジェクト12の表面に属するポイントP3 121は、視覚方向102と、この方向102で遭遇する仮想環境1の第1のオブジェクト、すなわちオブジェクト12との間の第1の交点に相当する。観察方向100を拡張することにより、この視覚方向と、第2の仮想オブジェクト12との間の交点が得られ、この交点はポイントP2 120で表される。ビューポイント10がポイントP1 110から離れている距離は、ビューポイント10に対するポイントP1の深度と称され、これは、ビューポイントに対するポイントP2の深度と称される、ビューポイント10がポイントP2 120から離れている距離よりも短い。P1の深度がP2の深度未満であるため、ビューポイントを介して可視であるのはポイントP1であり、ポイントP2はP1によって隠されている。したがって、ポイントP1に関連付けられたオブジェクト11の表面の断片の属性を使用して、観察方向100を介してビューポイント10から見える仮想環境1を表す画像のピクセルを定義することができる。ポイントP3 121はオブジェクト11のポイントによって隠されておらず、ポイントP3 121は、ビューポイントから可視であり、ポイントP3に関連付けられたオブジェクト12の表面の断片の属性を使用して、観察方向102を介してビューポイント10から見える仮想環境1を表す画像のピクセルを定義することができる。断片がビューポイントから可視である場合、その断片はピクセルになる。断片は、有利には、ディスプレイスクリーン上に仮想環境を表すのに表示されることとなる、画像のピクセルのサイズの仮想環境1のポイントに関連付けられた表面要素に相当する。有利には、この断片は、以下のデータ項目の1つまたはいくつかを一緒にグループ化する1組のデータによって定義される。
− 断片のラスタ化の位置、
− ビューポイントにおける断片の深度、
− 属性(例えば色、テクスチャ座標)、
− 断片の透過特性を表すアルファチャネル。
仮想環境1は、有利には、1つまたはいくつかの光源(図示せず)を備える照明環境によって照明される。
図2は、本発明の特定の非限定的な実施形態にしたがって、仮想環境1を表示するためのバッファメモリ21、22、23および24の配置を示す。バッファメモリ21、22および23は、有利にはレンダ(Render)バッファタイプであり、バッファメモリ24は、有利にはzバッファタイプである。レンダバッファとzバッファは、同一の構造を有し、該バッファ内に含むことができるデータが互いに異なる。zバッファは、有利には、深度を表す情報、すなわちzバッファの各ピクセルに関連付けられた深度情報の項目を含む。レンダバッファは、有利には、ピクセルに関連付けられた属性を表す情報、すなわちレンダバッファの各ピクセルに関連付けられた属性情報の項目を含む。ピクセルの属性は、例えば構成要素の色(例えば「赤、緑、青」のRGB)、または構成要素の色+透過性(すなわちRGBα)に相当する。4つのバッファ21〜24から、2つのレンダターゲットRT1 201およびRT2 201が定義される。第1のレンダターゲットRT1 201は、第1のバッファメモリと称されるレンダバッファ21、第3のバッファメモリと称されるレンダバッファ23、および第4のバッファメモリと称されるzバッファ24を備える。第2のレンダターゲットRT2 202は、第2のバッファメモリと称されるレンダバッファ22、第3のバッファメモリと称されるレンダバッファ23、および第4のバッファメモリと称されるzバッファ24を備える。第1のレンダターゲットRT1と第2のレンダターゲットRT2は、仮想環境のオブジェクトを表示するために交互に使用される。レンダターゲットを使用して、仮想環境を構成するオブジェクトの表示を可能にする方法を、図3から図5に関して詳細に説明する。有利には、第1のバッファメモリ21および第2のバッファメモリ22は、仮想環境1を構成する仮想オブジェクト11から14の断片と関連付けられた深度情報の項目を、それらを比較するために記憶するのに用いられる。第3のバッファメモリ23は、仮想環境1を表す画像のピクセルと関連付けられた属性を表す情報項目を記憶するのに用いられる。第4のバッファメモリ24は、仮想環境1を表す画像のピクセルと関連付けられた深度情報を記憶するのに用いられる。
第1、第2、第3、および第4のバッファメモリ21から24は、有利には、グラフィックスカードのGPU(グラフィック処理装置)と関連付けられたGRAM(グラフィックランダムアクセスメモリ)で論理的に定義される。
第1、第2、第3、および第4のバッファメモリ21から24は、有利には、同一サイズであり、m列およびn行で定義される2次元行列に対応する。各バッファメモリは、例えばm×n個のピクセルを備え、mおよびnは2つの整数であり、mおよびnは、有利には、仮想環境を表す画像の定義(例えば1280×720または1920×1080)に相当する。バッファの各ピクセルは、列および行のインデックスによって定義され、4つのバッファ21から24の同じインデックスのピクセルは、画像の同じピクセルに対応する。
一変形形態によれば、バッファメモリの数は4より大きい。この変形形態によれば、この構成は、単一の第4のzバッファおよび単一の第3のレンダバッファを備え、深度情報の項目が記憶されているレンダバッファのタイプのバッファ数は、例えば仮想環境が備えるオブジェクトの数である2より大きい。この変形形態によれば、2つより多くのレンダターゲットもあり、レンダターゲットの数は、第1および第2のバッファ22のタイプのバッファ数と等しい。
図3から図5は、本発明の特定の非限定的な実施形態にしたがって、バッファメモリ21から24を使用して、仮想環境1の表示の実現を可能にする異なるステップを示す。
図3は、オブジェクトの表示、例えば仮想環境1のオブジェクト11、12および13の表示を可能にする方法の第1のステップを示す。この第1のステップの間、第1のオブジェクト、例えばオブジェクト11が表示される。オブジェクト11は、このシーンの表示された第1のオブジェクトであり、考慮に入れるべき隠蔽は存在せず、ビューポイント10から見たオブジェクト11の全体が表示される。これを行なうために、第1のレンダターゲットRT1 201が使用される。第1のオブジェクト11の表示中に、視覚方向に従ってビューポイント10から見たオブジェクト11の断片(例えば、視覚方向100に従ったポイントP110に関連付けられた断片)のそれぞれの深度が、第1のバッファ21に記憶される。これらの深度値(すなわち、第1の深度情報の項目と称される、第1の断片のビューポイント10が第1のオブジェクトから離れている距離を表す、第1の情報項目)は、第1のバッファ21のゾーン31によって表される。このゾーン31は、ビューポイント10から見た第1のオブジェクト11に相当する。第1のオブジェクト11は球面に相当し、第1のゾーン31は円に相当する。オブジェクト11の断片のそれぞれの深度は、第4のバッファ24にも記憶され、これらの深度値は、ゾーン31と同等なゾーン34によって表される。第1のオブジェクト11の表示中に、ビューポイントから見た第1のオブジェクト11の断片に関連付けられた属性が、第3のバッファに記憶される。これらの属性値(すなわち、ビューポイント10から見た第1のオブジェクト11の第1の断片と関連付けられた属性を表す、第3の情報項目)は、第3のバッファ23のゾーン33によって表される。ゾーン31、34および33はそれぞれ、ビューポイント10から見た第1のオブジェクト11の表現、すなわち、第1のバッファ21、第4のバッファ24および第3のバッファ23のそれぞれの円に関連する。この第1のステップの間、第2のレンダターゲットRT2 202は使用されず、第1のレンダターゲットRT1 201が現行のレンダターゲットに相当する。
図4は、仮想環境1のオブジェクト11、12および13を表示する方法の第2のステップを示す。この第2のステップは、仮想環境の第2のオブジェクト12の表示に関連する。第2のレンダターゲットRT2 202が、第1のレンダターゲットRT1の代わりに現行のレンダターゲットになる。視覚円錐101のそれぞれの視覚方向に関して、第2のオブジェクト12と、関係する視覚方向との間に交点が存在するかどうか推定される。交点が存在する場合、ビューポイント10が第2のオブジェクト12から離れている距離が推定され、この距離は、第2の断片と称される、第2のオブジェクト12の検討される断片の深度に相当し、第2の断片に関連付けられた深度は、第2の深度情報の項目と称される。深度が推定される第2のオブジェクトの各断片について、深度値は、対応する断片に対して(すなわち、検討される第2の断片と同じインデックスmおよびnを有する、第1のバッファの第1の断片に対して)第1のバッファ21に記憶された深度値と比較される。したがって、検討される第2の断片に関連付けられた第2の深度情報の項目が、第1の対応するバッファ21の断片に対して、第1のバッファ21に記憶された第1の深度情報の項目より大きい場合、第1の深度情報の項目が、第2のバッファ22に記憶される。これは、同じピクセルに相当するポイントP1 110とポイントP2 120の場合(すなわち、両ポイントが同一の視覚方向100に属する場合)に相当する。この場合、第2のバッファ22に記憶されるのは、深度P1に相当する第1の深度情報の項目である。検討される第2の断片に関連付けられた第2の深度情報の項目が、第1の対応するバッファ21の断片に関して第1のバッファ21に記憶された第1の深度情報の項目より小さい場合、第2の深度情報の項目が第2のバッファ22に記憶される。これは、第1のオブジェクト11によって隠されないポイントP3 121の場合に相当する。P3に関連付けられた断片に関する深度情報の項目が、対応する断片に関して第1のバッファ21に記憶された深度情報の項目と比較される。視覚方向102で遭遇する第1のオブジェクトの断片は存在せず、第1のバッファ21に記憶された深度情報の項目は、例えば、仮想環境1の最大深度または表すことができる最大の数などの所定の値に相当する、デフォルト値である。P3の深度がこのデフォルト値と比較されると、次いで、P3と関連付けられた深度情報の項目が第2のバッファに記憶される。一旦、第2のオブジェクトの第2の断片に関連付けられた深度情報項目のすべてが、第1のバッファ21の対応するピクセル/断片と比較されると、オブジェクト12の形(この場合は長方形)を表す形状が、第2のバッファにおいて得られ、第1の部分42には、第2の断片(すなわち、ビューポイント10から可視の第2のオブジェクト12の断片)の深度値が含まれ、第2の部分41には、第1の断片(すなわち、第2のオブジェクト12の断片を隠す第1のオブジェクト11の断片)の深度値が含まれる。第1の部分42の第2の深度情報の項目が、仮想環境1の概観を与える第4のバッファ24に搬入される、すなわち、第4のバッファ24は、第1のオブジェクトおよび第2のオブジェクトの、ビューポイントに最も近い断片の深度情報の全体が含まれる。ビューポイント10から可視の断片(すなわち、深度情報が第2のバッファ22の第1の部分42に記憶されている、第2の断片)の属性のみが推定されて、ゾーン43の第3のバッファ23に記憶される。第2の断片の属性を、これらの第2の断片の深度を第1のバッファ21に記憶された深度と比較した後にのみ計算することの利点は、可視な第2の断片についてのみ第2の断片の属性を計算すればよく、仮想環境のオブジェクトを表示するのに必要な計算の数を低減することができることである。
図5は、仮想環境1のオブジェクト11、12および13を表示する方法の第3のステップを示す。この第3のステップは、仮想環境の第3のオブジェクト13の表示に関する。第1のレンダターゲットRT1 201は、第2のレンダターゲットRT2の代わりに現行のレンダターゲットになる。第2のステップと同じように、第3のオブジェクト13と、視覚円錐101に含まれる1組の視覚方向100、102との間に交点があるかどうか推定される。交点があれば、深度情報の項目が推定されて3つの断片のそれぞれに関連付けられる。次いで、深度情報のそれぞれの項目が、第2のバッファ22に記憶された、対応する断片(すなわち、インデックスmおよびnが、検討される第3のピクセルのインデックスに対応する第2のバッファ22のピクセル)に関する深度情報、ならびに検討されている断片に関して第1のバッファに記憶された深度情報の項目と比較される。以前のステップと同様に、これらの深度値の最も小さいものが第1のバッファに記憶される。第3のオブジェクト13の形を形状として有する第1のバッファにおいてインプレッション(impression)が得られ、その一部分は、(第1のオブジェクト11が第2のオブジェクト12および第3のオブジェクト13の双方を隠すとき)第1のオブジェクト11の断片と関連付けられた深度値31と、(第2のオブジェクト12が、第1のオブジェクト11によって隠されないが、第3のオブジェクト3を隠す)第2のオブジェクトと関連付けられた深度値52と、最後に、第3のオブジェクト13の断片(第1のオブジェクト11または第2のオブジェクト12によって隠されていない第1のオブジェクトの断片)に関連付けられた深度値51とを含む。
ビューポイント10から可視の第3のオブジェクト13の第3の断片に関連付けられた深度情報51の項目が、第4のバッファ24にコピーされる。第4のバッファ24は、ビューポイント10から可視の第1のオブジェクト11の第1の断片に関連付けられた第1の深度情報34の項目と、ビューポイント10から可視の第2のオブジェクト12の第2の断片と関連付けられた第2の深度情報44の項目と、ビューポイント10から可視の第3のオブジェクト13の第3の断片と関連付けられた深度情報の項目とを含む。第4のバッファ24は、ビューポイント10から見た仮想環境1の全体に関する深度情報の項目の画像を含んでいるが、第1のバッファ21および第2のバッファ22は、オブジェクトおよび関連付けられた隠蔽にリンクする1つのビューしか含んでいない、すなわち、第1および第2のバッファは、関連付けられた隠蔽情報の項目(オブジェクトのどの断片が可視であり、どの断片が隠されるか)を有するオブジェクトのインプレッションを含む。
第3のバッファ23は、ビューポイント10から可視の第3のオブジェクト13の断片、すなわち深度情報51の項目が第1のバッファに記憶される第3のオブジェクトの断片に関する属性を表す情報を用いて更新される。関連付けられた属性を推定するのに先立って第3のオブジェクトの断片の深度を比較することは、断片のすべてではなく、可視の断片に対する計算のみを行なうことにより、画像を表示するのに必要な計算を制限するという利点がある。第4のバッファ24の使用は、すべてのオブジェクトについて深度情報項目を記憶することにより、仮想環境1と一致する視覚が得られるという利点があり、また、1つのzバッファおよび1つのレンダバッファしか使用しない表示方法との互換性を保証することが可能になる。
変形形態によれば、第3のオブジェクトは、第1のバッファ21または第2のバッファ22と同じタイプのレンダタイプのバッファであるが、第1のバッファ21および第2のバッファ22とは異なるレンダタイプのバッファで表示される。この変形形態によれば、第3のオブジェクトは、第1および第2のバッファと同じタイプの、第3のバッファ23および第4のバッファ24の追加のバッファから形成された、第3のレンダターゲット(図示せず)に表示される。この変形形態は、いくつかのオブジェクトの表示が並行して可能になるという利点を有する。実際、データが書き込まれているバッファの中を読み取ることは不可能であるが、この変形形態によると、2つのバッファ(例えば追加のバッファおよび第2のバッファ22)に同時にデータ(例えば深度情報項目)を書き込むことができ、追加のバッファと書込み中でないバッファ(この実例によれば第1のバッファ21)の間の深度の比較が行なわれる。この変形形態によれば、レンダターゲットが3つあり、第3のレンダターゲットが、(第1のバッファ21および第2のバッファ22と同じタイプの)追加のバッファと、第3のバッファ21と、第4のバッファ24を含む。この変形形態によれば、第1のオブジェクトは、例えば第1のレンダターゲットによって表示される。一旦、第1のバッファ21における書込みが完了すると、すなわち第1のオブジェクト11が表示されると、第2のオブジェクト12および第3のオブジェクト13が、それぞれ第2のレンダターゲットRT2および第3のレンダターゲットを介して同時に表示される。第2のオブジェクト12の深度情報の項目は、第2のバッファ22に書き込まれる前に、第1のバッファ21に含まれる情報と比較され、また、第3のオブジェクト13の深度情報の項目も、それ自体が、追加のバッファに書き込まれる前に、第1のバッファ21に含まれる情報項目と比較される。したがって、第3のオブジェクト13は、追加のバッファに表示される前に第2のオブジェクトと比較されることはない。第3のオブジェクトを表示するために第1のオブジェクトにリンクされる隠蔽になされた評価が、隠蔽(すなわち深度情報項目)を検証することにより、第3のバッファにおける表示中に考慮されることになり、これらの隠蔽は、デフォルトで、各オブジェクトの深度情報項目をすべて記憶するzバッファに相当し、深度情報が最も小さい項目のみ記憶されている第4のバッファに常に記憶されている。したがって、全体のシーンにわたって、隠蔽のレベルで可干渉性が保証される。この変形形態によって得られた、いくつかのオブジェクトの並行表示は、処理をさらに加速するという利点を有する。別の変形形態によれば、仮想環境に存在するオブジェクトと同数のレンダターゲットがあり、このことは、仮想環境に存在するオブジェクトと同数の、第1のバッファ21および第2のバッファ22のタイプのバッファがあることを意味する。この変形形態によれば、仮想環境の表示の干渉性、すなわち仮想環境に存在するすべての隠蔽になされた評価が、仮想環境のすべてのオブジェクトに関する深度情報の干渉性の項目を含む第4のバッファを介して保証される。
図6は、本発明の特定の非限定的な別の実施形態にしたがって仮想環境1を表示するためのバッファメモリ21、22、23および24の配置を示す図である。バッファメモリ61、62、63および64は、バッファ61、62および63がレンダバッファタイプであり、バッファ64がzバッファタイプであるという意味において、図2に関して説明されたメモリ21、22、23および24と同様である。第3のバッファ63は、該第3のバッファ63が、仮想環境1を表す画像のピクセルの属性を表す情報項目を記憶するのにも使用されるという意味において、図2の第3のバッファ23と同様である。第4のバッファ64は、該第4のバッファ64が、仮想環境1を表す画像のピクセルに関連付けられた深度情報項目を記憶するのにも使用されるという意味において、図2の第4のバッファ24に同様である。第1のバッファ61および第2のバッファ62と、図2の第1のバッファ21および第2のバッファ22の間の差異は、第1のバッファ61および第2のバッファ62が、例えば、これらの断片に関連付けられた深度情報を記憶するのにチャネルアルファαが使用されるRGBαなど、仮想環境のオブジェクトの属性を表す情報項目を記憶するのに使用されることである。図6のバッファメモリの機構は、2つのレンダターゲット、すなわち第1のレンダターゲットRT1 601および第2のレンダターゲットRT2 602を備える。第1のレンダターゲットRT1は、第1のバッファ61および第4のバッファ64を備える。第2のレンダターゲットRT2は、第2のバッファ62および第4のバッファ64を備える。第1のステップにおいて、第1のレンダターゲットRT1は、例えば現行のターゲットであり、第1のオブジェクト11が表示される。ビューポイント10から視覚方向にしたがって見たオブジェクト11の断片のそれぞれの深度が、これらの断片に関連付けられた属性とともに第1のバッファ61に記憶される。第2のステップにおいて、第2のレンダターゲットRT2が、第1のレンダターゲットRT1の代わりに現行のターゲットになる。この第2のステップの間、第2のオブジェクト12が表示される。このために、第2のオブジェクトの断片のそれぞれの深度を推定して、対応する断片(すなわち同一のインデックスmおよびnを有する)の第1のバッファ61に記憶された情報と比較する。第2の断片に関連付けられた第2の深度情報の項目が、第1のバッファ61に記憶された第1の情報項目の値より大きい値を有する場合には、第2の断片に関連付けられた属性を推定することなく、第2の深度情報の項目のみが、第2のバッファ62に、例えばアルファチャネルに記憶される。しかし、第2の断片に関連付けられた第2の深度情報の項目が、第1のバッファ61に記憶された第1の情報項目の値より小さい値を有する場合には、第2の深度情報の項目が第2のバッファ62に記憶され、第2の断片に関連付けられた属性が計算されて、第2のバッファに、例えばRGBチャネルに記憶され、深度は、関連するアルファチャネルに記憶される。これらのステップは、現行のターゲットとしてレンダターゲットを交代させて、仮想環境のすべてのオブジェクトに対して繰り返される。次いで、最終ステップにおいて、第1のバッファ61と第2のバッファ62のコンテンツが、第3のバッファ63(画像の表示に役立つレンダバッファ)を更新する前に比較される。第3のバッファ63を更新するために、第1および第2のバッファのそれぞれに対応するピクセルに含まれる深度情報項目が、2つずつ比較される。最も小さな深度値を有する断片(第1のバッファ61のピクセルまたは第2のバッファ62に対応するピクセル)に関連付けられた属性を表す情報が、第3のバッファにコピーされる。この実施形態によれば、第3のバッファに対するアクセスは、所与のピクセルに対して1回だけ行われ、これによって帯域幅の要件を制限することができる。この実施形態によると、(第2のバッファに記憶された)第2の断片に関連付けられた第2の深度情報の項目が、(第1のバッファに記憶された)第1の断片に関連付けられた第1の深度情報の項目より小さいとき、第3のバッファにコピーされるのは、第2の断片に関連付けられた属性を表す第3の情報項目である。そうでなければ、(第2のバッファに記憶された)第2の断片に関連付けられた第2の深度情報の項目が、(第1のバッファに記憶された)第1の断片に関連付けられた第1の深度情報の項目より大きいとき、第3のバッファにコピーされるのは、第1の断片に関連付けられた属性を表す第4の情報項目である。この実施形態によれば、第3の情報項目および/または第4の情報項目は、第3のバッファ63にコピーされる前に、それぞれ第2のバッファ62および第1のバッファ61に一時的に記憶される。
図7は、本発明の特定の非限定的な実施形態にしたがって、仮想環境1における隠蔽の推定、ならびに1つまたはいくつかの画像の表示信号の生成に適合された装置7のハードウェアの実施形態を概略的に示す。装置7は、例えばパーソナルコンピュータPC、ラップトップ、またはゲームコンソールに相当する。
装置7は、クロック信号も転送するアドレスおよびデータのバス75によって相互に接続された、以下の要素、すなわち、
− マイクロプロセッサ71(またはCPU)と、
− グラフィックスカード72であって、
・いくつかのグラフィックプロセッサユニット(すなわちGPU)720と、
・グラフィックランダムアクセスメモリ(GRAM)721と
を備えるグラフィックスカード72と、
− ROM(読み取り専用メモリ)タイプの不揮発性メモリ76と、
− ランダムアクセスメモリ、すなわちRAM77と、
− 例えばキーボード、マウス、ウェブカメラなど、1つまたはいくつかのI/O(入出力)装置74と、
− 電源78と、
を備える。
装置7は、グラフィックスカード72に直接接続される表示スクリーンタイプの表示装置73も備え、特に、グラフィックスカードにおいて計算され構成された合成画像の表示を、例えばライブで表示する。表示装置73をグラフィックスカード72に接続する専用バスの使用は、非常に大きなデータ伝送ビットレートが得られ、したがってグラフィックスカードによって構成された画像を表示するための待ち時間が短縮されるという利点がある。変形形態によれば、表示装置は、装置6の外部にあり、表示信号を伝送するケーブルによって装置7に接続される。装置7は、例えばグラフィックスカード72など、表示信号を例えばLCDまたはプラズマスクリーンまたはビデオプロジェクタなどの外部表示手段に伝送するように適合された伝送または接続の手段(図7には示されていない)を備える。
メモリ72、76および77の説明に用いられる用語「レジスタ」は、言及されたメモリのそれぞれにおいて、小容量のメモリゾーン(いくらかの2進データ)、ならびに大容量のメモリゾーン(プログラム全体の記憶、または計算されたデータもしくは表示すべきデータを表すデータの全体もしくは一部分の記憶を可能にする)の双方を意味することに留意されたい。
起動されると、マイクロプロセッサ71が、RAM77に含まれるプログラムの命令をロードして実行する。
ランダムアクセスメモリ77は、特に、
− レジスタ770内の、装置7の起動に関与するマイクロプロセッサ71の動作プログラムと、
− 仮想環境1を表すパラメータ771(例えば、仮想環境1のモデル化パラメータ、仮想環境1の照明パラメータ)とを含む。
本発明に特有の以下で説明される方法のステップを実装するアルゴリズムは、これらのステップを実装する装置7と関連付けられたグラフィックスカード72のメモリGRAM721に記憶される。起動されて、環境を表すパラメータ770がRAM77にロードされると、グラフィックスカード72のグラフィックプロセッサ720は、これらのパラメータをGRAM721にロードして、これらのアルゴリズムの命令を、「シェーダー」タイプのマイクロプログラムの形で、例えばHLSL(High Level Shader Language)またはGLSL(OpenGL Shading Language)を用いて実行する。
ランダムアクセスメモリGRAM721は、特に、
− レジスタ7210内の、仮想環境1を表すパラメータと、
− ビューポイント10から可視の仮想環境1の1つまたはいくつかのオブジェクトから可視の断片の深度を表す第1の情報項目7211と、
− ビューポイント10から可視の仮想環境1の1つまたはいくつかのオブジェクトから可視の断片の深度を表す第2の情報項目7212と、
− ビューポイント10から見た仮想環境1を表す画像のピクセルの属性を表す第3の情報項目7213と、
− ビューポイント10から見た仮想環境1を表す画像のピクセルの深度を表す第4の情報項目7214とを含む。
変形形態によると、GRAM721内の使用可能なメモリ空間が不十分な場合、RAM77の一部分が、CPU71によって値7211から7214の記憶用に割り当てられる。しかし、この変形形態では、GPUに含まれるマイクロプログラムから構成された環境1の表現を備えた画像の構成において、データを、グラフィックスカードからランダムアクセスメモリ77にバス75を通して伝送しなければならず、その伝送容量が、グラフィックスカードにおいてGPUとGRAMの間のデータ伝送に利用可能なものより一般に劣るので、待ち時間が長くなる。
別の変形形態によると、電源78は装置4の外部にある。
有利には、第1の情報項目7211および第2の情報項目7212を含むバッファは、別々に論理的に定義される。
バッファメモリ21から24によって用いられるGRAMのメモリ容量の割当ては、GPUのパイロットを介して、例えばAPI(アプリケーションプログラムインターフェース)のインターミディアリを介して実装される。
図8は、本発明の第1の非限定的で特に有利な実施形態にしたがって、装置7において実装される仮想環境の隠蔽の推定の方法を示す。
初期化ステップ80の間に、装置7の異なるパラメータが更新される。具体的には、仮想環境1を表すパラメータが、任意の方法で初期化される。
次いで、ステップ81の間に、ビューポイント10から観察方向100、102に従って第2の断片120、121が第1のオブジェクト12から離れている距離を表す、第2の情報項目が推定される。ビューポイント10から第2の断片が離れている距離は、第2の断片の深度に相当し、例えば第2のオブジェクトをカメラ空間へ投影することにより、またはユークリッド距離を推定することによって推定される。
次いで、ステップ82の間に、ステップ81において推定された第2の情報項目が、第1のオブジェクト11に属する第1の断片110がビューポイント10から視覚方向100に従って離れている距離を表す、第1の情報項目と比較される。この第1の情報項目は、有利には、第1のバッファメモリ21、61に記憶される。
最終的に、ステップ83の間に、第2のバッファメモリ22が、ステップ82において実装された比較の結果にしたがって更新される。ステップ81において推定された第2の情報項目に相当する深度値が、第1の情報項目に相当する深度値より小さい場合、第2の深度情報の項目が推定された第2のオブジェクト12の第2の断片に関連付けられた属性を表す、第3の情報項目が決定される。第2の情報項目が、第2のバッファメモリ22に記憶され、第3の情報項目が第3のバッファメモリ23に記憶され、第3のバッファメモリ23は、有利には、ビューポイント10から見た仮想環境1を表す画像のピクセルの属性を含む。ステップ81において推定された第2の情報項目に相当する深度値が、第1の情報項目に相当する深度値より大きい場合、第2のバッファメモリ22に記憶されるのは第1の情報項目であり、第2の断片は、第1のオブジェクトの第1の断片によって隠されているのでビューポイント10から可視でなくため、第2の断片に関連付けられた属性の推定は実装されない。有利な変形形態によると、第1の情報項目および第2の情報項目のうち最小値を有する情報が、有利にはzバッファタイプの、第4のバッファメモリに記録される。
有利には、第1のバッファメモリ21、第2のバッファメモリ22および第3のバッファメモリ23は、レンダバッファタイプである。
ステップ81、82および83は、有利には、第2のオブジェクト12のそれぞれの第2の断片に対して、すなわち、いくつかの視覚方向に従って繰り返される。ステップ81、82および83は、有利には、仮想環境1のオブジェクトがすべて考慮されるまで繰り返される。変形形態によれば、ビューポイントが変化すると、ステップ81、82および83が繰り返される。
図9は、本発明の第2の非限定的な実施形態にしたがって、装置7において実装される仮想環境1における隠蔽の推定の方法を示す。
初期化ステップ90の間に、装置7の別々のパラメータが更新される。具体的には、仮想環境1を表すパラメータが、任意の方法で初期化される。
次いで、ステップ91の間に、仮想環境のオブジェクト11から14が、ビューポイントからのそれぞれの距離に従って、ビューポイントに最も近いものから最も遠いものへと分類される。
次いで、ステップ92の間に、第1のバッファメモリ21、61が、ビューポイントに最も近いオブジェクトとして分類された第1のオブジェクト11から各第1の断片を分かつ距離を表す、情報項目を用いて初期化される。変形形態によれば、分類するステップは任意選択であり、第1のバッファメモリは、仮想環境を構成するオブジェクトの中からランダムに選択されたオブジェクトの深度情報項目を用いて初期化される。対応する第1のオブジェクトの第1の断片がない第1のバッファメモリの断片、すなわち深度情報のない第1のバッファメモリの断片については、例えば仮想環境1の最大深度または所定値などのデフォルト値が与えられる。
次いで、図8に関して説明されたものと同一のステップ81の間に、第2のオブジェクト12の第2の断片の深度を表す、第2の情報項目が推定される。
次いで、図8に関して説明されたものと同一のステップ82の間に、深度情報の第2の推定された項目が、第1の深度情報の項目に記憶された第1の深度情報の項目に対して、この第1の深度情報の項目が第1の断片の深度またはデフォルト値に相当するかどうか、比較される。
次いで、図8に関して説明されたものと同一のステップ83の間に、第2のバッファメモリ22、62および第3のバッファメモリ23、63が、比較結果によって更新される。
もちろん、本発明は、前述の実施形態に限定されない。
具体的には、本発明は、仮想環境の隠蔽の推定の方法に限定されないばかりでなく、この方法を実装する任意の装置、および特に少なくとも1つのGPUを含む任意の装置に及び。隠蔽の推定に必要な計算の実装形態は、シェーダータイプのマイクロプログラムの実装形態に限定されないばかりでなく、例えばCPUタイプのマイクロプロセッサによって実行することができるプログラムなど任意のプログラムタイプの実装形態にも及び。
仮想環境を構成するオブジェクトの数は、2、3または4に限定されず、任意の数のオブジェクトに及び。
本発明の用途は、ライブ利用に限定されず、任意の他の利用、例えば録音スタジオにおける、例えば合成画像を表示するためのポストプロダクション処理として知られている処理のための利用などにも及ぶ。ポストプロダクションにおける本発明の実装は、必要な計算時間を低減する一方で、特にリアリズムに関して優れた画像表示を提供するという利点がある。
本発明は、2次元または3次元においてビデオ画像を構成または生成するための方法にも関し、この方法では、1つまたはいくつかの観察方向に従って隠蔽が計算され、結果として得られる断片の属性を表す情報が、画像のピクセルを表示するのに用いられ、各ピクセルは観察方向に対応する。画像のピクセルのそれぞれによって表示用に決定された隠蔽が、視聴者の別々のビューポイントに適合するように再計算される。
本発明は、例えばPCまたは携帯型コンピュータまたは画像をライブで生成して表示する専門のゲーム機で実行することができるプログラムによって、ビデオゲーム用途に用いることができる。図7に関して説明された装置7は、有利には、キーボードおよび/またはジョイスティックなどの対話手段を装備しており、例えば音声認識などの命令を導入するための他のモードも可能である。
[付記1]
少なくとも2つのオブジェクト(11、12)を備える仮想環境(1)を表す画像を生成する方法であって、前記仮想環境(1)がビューポイント(10)から観察され、
第2のオブジェクト(12)の第2の断片が前記ビューポイント(10)から観察方向(100)に従って離れている距離を表す、第2の情報項目を推定するステップ(81)と、前記第2の情報項目と、第1のオブジェクト(11)の第1の断片が前記ビューポイント(10)から前記観察方向(100)に従って離れている距離を表し、および第1のバッファメモリ(21、61)に記憶された第1の情報項目とを比較するステップ(82)であって、前記第2の情報項目が前記第1の情報項目より小さい場合に限って、前記第2の断片に関連付けられた属性を表す、第3の情報項目を推定し、前記第2の情報項目を第2のバッファメモリ(22、62)に記憶し(83)、前記第3の情報項目を第3のバッファメモリ(23、63)に記憶し(83)、前記第2の情報項目が前記第1の項目より大きい場合、前記第1の情報項目を前記第2のバッファメモリ(22、62)に記憶するステップ(83)し、前記第1のバッファメモリ(21、61)と前記第2のバッファメモリ(22、62)は交互に用いられ、前記第1のバッファメモリと前記第2のバッファメモリのうちの一方が読取りアクセス可能になり、他方が書込みアクセス可能になる、前記比較するステップと、を含む、前記方法。
[付記2]
前記第1、第2、および第3のバッファメモリ(21、22、23、61、62、63)は、グラフィックプロセッサのレンダバッファのタイプのメモリである、付記1に記載の方法。
[付記3]
前記第1の情報項目および前記第2の情報項目のうち最小値を有する情報項目が、第4のバッファメモリ(24、64)に記憶される、付記1または2に記載の方法。
[付記4]
前記第3の情報項目は、前記第3のバッファメモリ(23、63)にコピーされる前に前記第2のバッファメモリ(22、62)に一時的に記憶される、付記1から3のいずれか一項に記載の方法。
[付記5]
前記第2の情報項目が前記第1の情報項目より大きい場合、前記第1の断片に関連付けられた属性を表す、第4の情報項目が、前記第3のバッファメモリ(23、63)に記憶される、付記1から4のいずれか一項に記載の方法。
[付記6]
前記第4の情報項目は、前記第3のバッファメモリ(23、63)にコピーされる前に前記第1のバッファメモリ(21、61)に一時的に記憶される、付記5に記載の方法。
[付記7]
前記推定するステップ(81)と、前記比較するステップ(82)と、前記記憶すること(83)とが、前記第2のオブジェクト(12)の各第2の断片に対して繰り返される、付記1から6のいずれか一項に記載の方法。
[付記8]
前記仮想環境(1)の前記少なくとも2つのオブジェクト(11、12)を、前記ビューポイントに対して最も近いものから最も遠いビューポイントまでの前記ビューポイント(10)に対するそれぞれの距離に従って分類するステップ(91)であって、前記第1のオブジェクト(11)が、前記第2のオブジェクト(12)より前記ビューポイント(10)に近い、ステップ(91)を含む、付記1から7のいずれか一項に記載の方法。
[付記9]
前記第1のオブジェクト(11)の断片が前記ビューポイント(10)から離れている距離を表す情報を用いて前記第1のバッファメモリ(21、61)を初期化するステップ(92)を含む、付記1から8のいずれか一項に記載の方法。
[付記10]
少なくとも2つのオブジェクト(11、12)を備える仮想環境(1)を表す画像を生成するモジュールであって、前記仮想環境(1)がビューポイント(10)から観察され、第2のオブジェクト(12)の第2の断片が前記ビューポイント(10)から観察方向(100)に従って離れている距離を表す、第2の情報項目を推定するための推定手段と、前記第2の情報項目と、第1のオブジェクト(11)の第1の断片が前記ビューポイント(10)から前記観察方向(100)に従って離れている距離を表し、および第1のバッファメモリ(21、61)に記憶された第1の情報項目とを比較するための比較手段であって、前記第2の情報項目が前記第1の情報項目より小さい場合に限って、前記第2の断片に関連付けられた属性を表す第3の情報項目が推定され、前記第2の情報項目が第2のバッファメモリ(22、62)に記憶され、前記第3の情報項目が第3のバッファメモリ(23、63)に記憶され、前記第2の情報項目が前記第1の情報項目より大きい場合、前記第1の情報項目が前記第2のバッファメモリ(22、62)に記憶され、前記第1のバッファメモリ(21、61)と前記第2のバッファメモリ(22、62)は交互に用いられ、前記第1のバッファメモリと前記第2のバッファメモリのうちの一方が読取りアクセス可能になり、他方が書込みアクセス可能になる、前記比較手段と、を備えた、モジュール。
[付記11]
前記第1、第2、および前記第3のバッファメモリ(21、22、23、61、62、63)は、グラフィックプロセッサのレンダバッファのタイプのメモリである、付記10に記載の方法。
[付記12]
前記第1の情報項目および前記第2の情報項目のうち最小値を有する情報を記憶するための第4のバッファメモリ(24、64)を備える、付記10または11に記載のモジュール。
[付記13]
付記10から12のいずれか一項に記載のモジュールを含む、グラフィックプロセッサ。

Claims (14)

  1. 少なくとも2つのオブジェクトを備える仮想環境を表す画像を生成する方法であって、前記仮想環境がビューポイントから観察され、
    第2のオブジェクトの第2の断片が前記ビューポイントから観察方向に従って離れている距離を表す、第2の情報項目を計算するステップと、
    前記第2の情報項目と、第1のオブジェクトの第1の断片が前記ビューポイントから前記観察方向に従って離れている距離を表す第1の情報項目であって、第1のバッファメモリに記憶された前記第1の情報項目とを比較するステップであって、
    前記第2の情報項目が前記第1の情報項目より小さい場合に限って、前記第2の断片に関連付けられた属性を表す、第3の情報項目を計算し、前記第2の情報項目を第2のバッファメモリに記憶し、前記第3の情報項目を第3のバッファメモリに記憶し、
    前記第2の情報項目が前記第1の情報項目より大きい場合、前記第1の情報項目を前記第2のバッファメモリに記憶する、前記比較するステップと、を含み、
    前記第1のバッファメモリと前記第2のバッファメモリは、前記第1のバッファメモリと前記第2のバッファメモリのうちの一方が読取りアクセス可能になり、他方が書込みアクセス可能になるように交互に用いられる、
    前記方法。
  2. 前記第1、第2、および第3のバッファメモリは、グラフィカルプロセッサユニットのレンダバッファタイプのメモリである、請求項1に記載の方法。
  3. 前記第1の情報項目および前記第2の情報項目のうち最小値を有する情報項目が、第4のバッファメモリに記憶される、請求項1または2に記載の方法。
  4. 前記第3の情報項目は、前記第3のバッファメモリにコピーされる前に前記第2のバッファメモリに一時的に記憶される、請求項1から3のいずれか一項に記載の方法。
  5. 前記第2の情報項目が前記第1の情報項目より大きい場合、前記第1の断片に関連付けられた属性を表す、第4の情報項目が、前記第3のバッファメモリに記憶される、請求項1から4のいずれか一項に記載の方法。
  6. 前記第4の情報項目は、前記第3のバッファメモリにコピーされる前に前記第1のバッファメモリに一時的に記憶される、請求項5に記載の方法。
  7. 前記計算するステップと、前記比較するステップと、前記記憶することとが、前記第2のオブジェクトの各第2の断片に対して繰り返される、請求項1から6のいずれか一項に記載の方法。
  8. 前記仮想環境の前記少なくとも2つのオブジェクトを、前記ビューポイントに対して最も近いものから最も遠いビューポイントまでの前記ビューポイントに対するそれぞれの距離に従って分類するステップであって、前記第1のオブジェクトが、前記第2のオブジェクトより前記ビューポイントに近い、ステップを含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記第1のオブジェクトの各断片が前記ビューポイントから離れている距離を表す情報を用いて前記第1のバッファメモリを初期化するステップを含む、請求項1から8のいずれか一項に記載の方法。
  10. 少なくとも2つのオブジェクトを備える仮想環境を表す画像を生成するように構成される装置であって、前記仮想環境がビューポイントから観察され、前記装置は、
    第2のオブジェクトの第2の断片が前記ビューポイントから観察方向に従って離れている距離を表す、第2の情報項目を計算し、
    前記第2の情報項目と、第1のオブジェクトの第1の断片が前記ビューポイントから前記観察方向に従って離れている距離を表す第1の情報項目であって、第1のバッファメモリに記憶された前記第1の情報項目とを比較し、
    前記第2の情報項目が前記第1の情報項目より小さい場合に限って、前記第2の断片に関連付けられた属性を表す第3の情報項目が計算され、前記第2の情報項目が第2のバッファメモリに記憶され、前記第3の情報項目が第3のバッファメモリに記憶され、
    前記第2の情報項目が前記第1の情報項目より大きい場合、前記第1の情報項目が前記第2のバッファメモリに記憶される、
    ように構成される少なくとも1つのプロセッサを備え、
    前記第1のバッファメモリと前記第2のバッファメモリは、前記第1のバッファメモリと前記第2のバッファメモリのうちの一方が読取りアクセス可能になり、他方が書込みアクセス可能になるように交互に用いられる、前記装置。
  11. 前記第1、第2、および前記第3のバッファメモリは、グラフィカルプロセッサユニットのレンダバッファタイプのメモリである、請求項10に記載の装置。
  12. 前記第1の情報項目および前記第2の情報項目のうち最小値を有する情報を記憶するための第4のバッファメモリを備える、請求項10または11に記載の装置。
  13. 前記少なくとも1つのプロセッサは、グラフィカルプロセッサユニット(GPU)である、請求項10から12のいずれか一項に記載の装置。
  14. コンピュータープログラムであって、前記コンピュータープログラムがコンピューターで実行されると請求項1から9のいずれか一項に従う方法のステップを実行するためのプログラムコードの命令を含む、前記コンピュータープログラム。
JP2013553865A 2011-02-18 2012-02-03 仮想環境における隠蔽の推定方法 Active JP5916764B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1151329A FR2964775A1 (fr) 2011-02-18 2011-02-18 Procede d'estimation de l'occultation dans un environnement virtuel
FR1151329 2011-02-18
PCT/EP2012/051903 WO2012110336A1 (en) 2011-02-18 2012-02-03 Method for estimation of occlusion in a virtual environment

Publications (3)

Publication Number Publication Date
JP2014505954A JP2014505954A (ja) 2014-03-06
JP2014505954A5 JP2014505954A5 (ja) 2015-03-05
JP5916764B2 true JP5916764B2 (ja) 2016-05-11

Family

ID=44501601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013553865A Active JP5916764B2 (ja) 2011-02-18 2012-02-03 仮想環境における隠蔽の推定方法

Country Status (7)

Country Link
US (1) US9406165B2 (ja)
EP (1) EP2676245B1 (ja)
JP (1) JP5916764B2 (ja)
KR (1) KR20140056146A (ja)
CN (1) CN103370731B (ja)
FR (1) FR2964775A1 (ja)
WO (1) WO2012110336A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329748B1 (ko) * 2012-03-07 2013-11-14 삼성메디슨 주식회사 영상 처리 장치 및 방법
KR20150042094A (ko) * 2013-10-10 2015-04-20 삼성전자주식회사 객체를 렌더링하는 방법, 장치 및 기록매체
GB2534567B (en) 2015-01-27 2017-04-19 Imagination Tech Ltd Processing primitives which have unresolved fragments in a graphics processing system
JP6202118B2 (ja) * 2016-03-09 2017-09-27 日本電気株式会社 描画装置、描画方法およびプログラム
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286271A (ja) 1990-03-30 1991-12-17 Matsushita Electric Ind Co Ltd 画像表示装置
US7375727B1 (en) 1998-07-22 2008-05-20 Nvidia Corporation System, method and computer program product for geometrically transforming geometric objects
US20030002729A1 (en) * 2001-06-14 2003-01-02 Wittenbrink Craig M. System for processing overlapping data
US7450123B1 (en) * 2001-08-31 2008-11-11 Nvidia Corporation System and method for render-to-texture depth peeling
JP2003109032A (ja) * 2001-09-26 2003-04-11 Pioneer Electronic Corp 画像作成装置及びコンピュータプログラム
FI20030072A (fi) 2003-01-17 2004-07-18 Hybrid Graphics Oy Piiloalueiden poistomenetelmä
US20060209065A1 (en) 2004-12-08 2006-09-21 Xgi Technology Inc. (Cayman) Method and apparatus for occlusion culling of graphic objects
JP2007200251A (ja) 2006-01-30 2007-08-09 Renesas Technology Corp 画像データ処理装置
JP4142065B2 (ja) 2006-05-22 2008-08-27 株式会社ソニー・コンピュータエンタテインメント 縮小zバッファ生成方法、隠面消去方法、およびオクルージョンカリング方法
US7911480B2 (en) 2007-10-08 2011-03-22 Via Technologies, Inc. Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline
US8878849B2 (en) 2007-12-14 2014-11-04 Nvidia Corporation Horizon split ambient occlusion
GB0810311D0 (en) 2008-06-05 2008-07-09 Advanced Risc Mach Ltd Graphics processing systems
FR2932911A1 (fr) 2008-06-24 2009-12-25 France Telecom Procede et dispositif de remplissage des zones d'occultation d'une carte de profondeur ou de disparites estimee a partir d'au moins deux images.
CN100576934C (zh) * 2008-07-03 2009-12-30 浙江大学 基于深度和遮挡信息的虚拟视点合成方法
EP2249312A1 (en) * 2009-05-06 2010-11-10 Thomson Licensing Layered-depth generation of images for 3D multiview display devices
US8436854B2 (en) 2009-05-29 2013-05-07 Qualcomm Incorporated Graphics processing unit with deferred vertex shading

Also Published As

Publication number Publication date
US20130321416A1 (en) 2013-12-05
US9406165B2 (en) 2016-08-02
FR2964775A1 (fr) 2012-03-16
KR20140056146A (ko) 2014-05-09
CN103370731B (zh) 2016-08-10
EP2676245B1 (en) 2016-09-14
WO2012110336A1 (en) 2012-08-23
CN103370731A (zh) 2013-10-23
EP2676245A1 (en) 2013-12-25
JP2014505954A (ja) 2014-03-06

Similar Documents

Publication Publication Date Title
JP5873672B2 (ja) 仮想環境のポイントにおいて受光された光の量の推定方法
EP2831848B1 (en) Method for estimating the opacity level in a scene and corresponding device
US10846908B2 (en) Graphics processing apparatus based on hybrid GPU architecture
JP5916764B2 (ja) 仮想環境における隠蔽の推定方法
JP2016529593A (ja) 立体シーンのインターリーブ方式のタイル型レンダリング
JP2016510473A (ja) デプスマップのコンテンツを強化するための方法およびデバイス
US9235663B2 (en) Method for computing the quantity of light received by a participating media, and corresponding device
US11120611B2 (en) Using bounding volume representations for raytracing dynamic units within a virtual space
JP2012089136A (ja) 仮想環境でのオクルージョンを推定する方法
US10872473B2 (en) Edge welding of geometries having differing resolutions
US9390551B2 (en) Method for estimation of information representative of a pixel of a virtual object
EP2511877B1 (en) Heightmap generation for a virtual environment
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
EP2428935B1 (en) Method for estimating the scattering of light in a homogeneous medium
US10255717B2 (en) Geometry shadow maps with per-fragment atomics
US20180005432A1 (en) Shading Using Multiple Texture Maps
Chen Rendering in computer graphics

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

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: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160405

R150 Certificate of patent or registration of utility model

Ref document number: 5916764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250