IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ガドメの特許一覧

特開2024-1118243Dシーンにおけるオブジェクトの可視性を計算するための方法
<>
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図1
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図2
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図3
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図4
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図5
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図6
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図7
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図8
  • 特開-3Dシーンにおけるオブジェクトの可視性を計算するための方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024111824
(43)【公開日】2024-08-19
(54)【発明の名称】3Dシーンにおけるオブジェクトの可視性を計算するための方法
(51)【国際特許分類】
   G06T 15/10 20110101AFI20240809BHJP
【FI】
G06T15/10
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024014678
(22)【出願日】2024-02-02
(31)【優先権主張番号】2301116
(32)【優先日】2023-02-06
(33)【優先権主張国・地域又は機関】FR
(71)【出願人】
【識別番号】524047039
【氏名又は名称】ガドメ
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】フェーブル,ジェレミー
(72)【発明者】
【氏名】ボビレー,リュック
(72)【発明者】
【氏名】モントゥー,ギヨーム
(57)【要約】      (修正有)
【課題】3Dシーンにおけるオブジェクトの可視性を計算するための方法を提供する。
【解決手段】3Dシーンにおける少なくとも1つのオブジェクトの可視性スコアを計算するための方法は、メインカメラのクローンであり、専用レンダーパイプラインと関連付けられ、専用カメラにより実施され、シーンにおける複数のオブジェクトから少なくとも1つのオブジェクトを選択するステップ、ただ1つの所定の色を含むテクスチャ画像と、選択されたオブジェクトを関連付けるステップ、専用カメラにより、シーンをレンダリングして、少なくとも1つの専用画像を作成するステップ、選択されたオブジェクトについて、専用画像において、少なくとも1つの専用画像におけるオブジェクトに対応する少なくとも1つのポイントにおいて色を読み出すステップ、読み出された色を、所定の色と比較して、オブジェクトと関連付けられる可視性スコアを取得するステップを含む。
【選択図】なし
【特許請求の範囲】
【請求項1】
3次元シーン(50)における少なくとも1つのオブジェクト(600)の可視性スコア(S、Sp)を計算するための方法(200)であって、シーン(50)は、複数のオブジェクト(501、502、503、504)から構成され、メインレンダーパイプラインと関連付けられるメインカメラ(120)により表示ゾーンにおいて表示され、方法は、メインカメラ(120)のクローンであり専用レンダーパイプラインと関連付けられる専用カメラ(420)により実施される、以下のステップ、
- シーンの複数のオブジェクトから少なくとも1つのオブジェクト(600)を選択するステップ(S210)、
- 選択された少なくとも1つのオブジェクト(600)について、
○ ただ1つの所定の色(6101)を含むテクスチャ画像(610)とオブジェクト(600)を関連付け、メインレンダーパイプラインと関連付けられるオブジェクトのテクスチャ画像(510)を置き換えるステップ(S220)、
- 専用カメラにより、シーンをレンダリングして、少なくとも1つの専用画像(70)を作成するステップ(S230)、
- 選択された少なくとも1つのオブジェクト(600)について、
○ 専用画像(70)において、少なくとも1つの専用画像(70)におけるオブジェクト(600)に対応する少なくとも1つのポイント(810)において色(710)を読み出すステップ(S240)、
○ 読み出された色(710)を、所定の色(6101)と比較して、オブジェクト(600)と関連付けられる可視性スコア(S)を取得するステップ(S250)
を含み、
メインカメラ(120)および専用カメラ(420)は、シーケンシャルに動作し、その結果、シーンが表示ゾーンにおいて表示される前または後に専用画像(70)が作成されることを特徴とする、方法(200)。
【請求項2】
可視性スコア(S)が、専用カメラ(420)の第1の反復(I1)中に計算された第1の可視性スコア(S1)、および、専用カメラ(420)の第2の反復(I2)中に計算された第2の可視性スコア(S2)から最も低い可視性スコアを取ることにより計算され、第1および第2の反復(I1、I2)が連続的であり、第2の反復(I2)のために選定される所定の色が、色相環上で、第1の反復(I1)のために選定される所定の色と反対であることを特徴とする、請求項1に記載の方法(200)。
【請求項3】
所定の色(710)が、少なくとも、それぞれ255、0、および255に等しい赤、緑、および青成分を伴うピンク、ならびに、それぞれ0、255、および0に等しい赤、緑、および青成分を伴う緑により形成されるリストから選定されることを特徴とする、請求項1または2に記載の方法(200)。
【請求項4】
専用画像(70)において、選択されたオブジェクト(600)の色(710)を読み出すステップ(S240)が、少なくとも1つの専用画像において選択されたオブジェクト(600)に対応する複数のポイント(810)、例えば16個のポイントに関して行われ、複数のポイントが、テストされるゾーン(800)へと、選択されたオブジェクト(600)を切断し、テストされるゾーンの中心ポイント(810)を取ることにより取得されることを特徴とする、請求項1から3のいずれか一項に記載の方法(200)。
【請求項5】
読み出された色(710)を、所定の色と比較するステップが、
- 各赤、緑、および青成分について、読み出された色(710)と、所定の色(6101)との間の絶対差を計算するステップ、および、
- 計算された絶対差の平均を計算するステップ
により、色差を計算することにより得られることを特徴とする、請求項1から4のいずれか一項に記載の方法(200)。
【請求項6】
読み出された色(710)の、所定の色との比較が、以下のステップ、
- 赤、緑、および青成分から、読み出された色(710)の色相、および、所定の色(6101)の色相を決定するステップ、
- 読み出された色相と、所定の色の色相との間の差を計算するステップ、
- 読み出された色相と、所定の色の色相との間の計算された差の結果に重み付けをして、色相差を取得するステップ、
- 色相差を、値0.25などの所定のしきい値と比較するステップであって、
○ 色相差がしきい値以下である場合、読み出された色(710)と、所定の色(6101)との間の差が、色相差および色差の平均に等しく、
○ 色相差がしきい値よりも大きい場合、読み出された色(710)と、所定の色(6101)との間の差が、色差に等しい、ステップ
を含む色相差計算にさらに基づくことを特徴とする、請求項5に記載の方法(200)。
【請求項7】
専用カメラ(420)の画像作成頻度が、メインカメラ(120)の計算頻度よりも低いことを特徴とする、請求項1から6のいずれか一項に記載の方法(200)。
【請求項8】
専用カメラの画像作成頻度が、メインカメラの画像作成頻度の4分の1以下であることを特徴とする、請求項7に記載の方法。
【請求項9】
専用画像の解像度が、メインカメラ(120)のレンダー解像度未満であることを特徴とする、請求項1から8のいずれか一項に記載の方法(200)。
【請求項10】
専用画像(70)の最も小さい解像度が、96ピクセルの画像幅に対応することを特徴とする、請求項9に記載の方法(200)。
【請求項11】
方法が、専用画像(70)上の選択されたオブジェクト(600)により占有される表面積、および、オブジェクトにより占有される前記表面積と、専用画像の表面積との間の表面積比を決定するステップであって、この比が、しきい値、例えば、1.5%に等しいしきい値未満である場合、可視性スコアが0に等しく、選択されたオブジェクトが、可視であるにはあまりにも小さいと考えられる、ステップを含む、選択されたオブジェクト(600)のサイズをテストするステップ(S270)をさらに含むことを特徴とする、請求項1から10のいずれか一項に記載の方法(200)。
【請求項12】
少なくとも1つのオブジェクトの可視性条件との適合性をユーザに対して決定するステップをさらに含み、前記可視性条件が、少なくとも1つのオブジェクト(600)の可視性スコア(S、Sp)に依存する、請求項1から11のいずれか一項に記載の方法(200)。
【請求項13】
可視性条件が、少なくとも1つのオブジェクト(600)の可視性の最小持続期間、および/または、オブジェクト(600)により占有される表面積と、専用画像の表面積との間の表面積比、および/または、オブジェクト(600)により占有される表面積に対する法線の方向と、表示ゾーンの法線方向との間の角度を含む、所定のパラメータにさらに依存する、請求項12に記載の方法(200)。
【請求項14】
可視性条件との適合性を決定するステップの後に、シーン(50)を修正するステップ、および/または、シーン(50)の内側もしくは外側で追加的なイベントをトリガするステップを含むステップを含む、請求項12または13に記載の方法(200)。
【請求項15】
少なくとも1つのオブジェクト(600)の可視性スコア(S、Sp)が、所定の可視性スコアと異なるときに、オブジェクト(600)を修正し、修正されたオブジェクトの可視性スコアを計算するステップを繰り返すステップをさらに含む、請求項1から11のいずれか一項に記載の方法(200)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の技術分野は、ビデオゲーム、仮想世界、仮想現実、拡張現実、その他などの、グラフィックスレンダリングエンジンを使用するアプリケーションにおける、3次元レンダリングすなわち3Dレンダリング、または、2次元に対する2Dレンダリングの、および、オブジェクト可視性検出の技術分野である。
【0002】
本発明は、3Dシーンとしても知られている3次元シーンの中のオブジェクトの可視性を計算するための方法に関係する。
【背景技術】
【0003】
本技術分野において、Unity、Unreal、および他のものなどのグラフィックスレンダリングエンジンが、リアルタイムで3Dオブジェクトから構成されるシーンの仮想表現を与えるビデオストリームを生成および表示するために通常使用される。
【0004】
このビデオストリームを作り上げる画像は、「レンダリング」としても知られている2次元画像(またはマトリクス画像)である。
【0005】
各レンダリングは、「ビューポート」と呼ばれるレンダリング平面上で、および、「カメラ」と呼ばれるビューの事前定義された角度において、生成および表示される(さらには、「描画される」と言われる)。このために、グラフィックスレンダリングエンジンにより使用されるレンダーパイプラインにおいて組み合わされ、グラフィックスカード上で統合されるアルゴリズムの使用がなされる。
【0006】
レンダーパイプラインは、入力データとして表されるシーンを作り上げる3Dオブジェクトの座標空間(x,y,z)における表現を使用する。
【0007】
これらの入力データから、および、図1を参照すると、各オブジェクト100が、やはり座標空間(x,y,z)において定義されるカメラ120のビューのポイントから、ビューポート110上へと投影される。
【0008】
各レンダリングは、オブジェクト100の3D投影、テクスチャ(表面の外観)、およびライティングエフェクト(シャドウ、反射、その他)を再現する。
【0009】
エンドユーザ(またはビューア)により見られるようなオブジェクトは、例えば、日常品、建物、乗物であって、それらのテクスチャおよびライティングが現実に即している、すなわち、それらの外観が現実の外観に近いものである。
【0010】
カメラ120は、ビューイング角度を決定し、それからシーンが描画される。このカメラ120の位置は、ビデオストリーム中に変化し得る。したがって、シーンを描画するために使用されるビューのポイントは、ある画像から次の画像で変化することがある。結果として、いくつかのオブジェクトは、いくつかの画像において可視であり、または、他の画像において部分的に可視もしくは完全に不可視であることがある。
【0011】
例えば、オブジェクトは、オブジェクト100とカメラ120との間に介在する他のオブジェクトがないときに、および、オブジェクトが十分にライティングされるときに、カメラ120により見られ得る(およびしたがって、可視である)。オブジェクトは、そのオブジェクトとカメラとの間に半透明オブジェクトが介在するときに、または、そのオブジェクトがシャドウゾーン内に部分的に位置するときに、部分的に可視であることがある。最後に、オブジェクトは、そのオブジェクトが、別のオブジェクトの背後に隠される、または、ライティングされないゾーン内に位置するときに、不可視であり得る。
【0012】
オブジェクトがシーンにおいて可視であるか否かは、それゆえに、ビデオストリーム中において永続的ではない。そしてまた、そのことは、アプリオリに決定するのが容易ではなく、なぜならば、カメラ120の動きは、一般的には予測可能でないからである。しかしながら、いくつかのアプリケーションについて、この可視性をリアルタイムで制御および監視することの必要性が存在する。例えば、この可視性の知識は、微調整されるメモリ管理を可能にする。オブジェクトが、可視でない、または、もはや可視でないならば、そのオブジェクトと関連付けられるテクスチャは、メモリ内へとロードされない、または、メモリからアンロードされる得る。テクスチャが最も多くのメモリ空間を占める要素である限りにおいて、そのような可視性計算方法の技術的利益を理解することは容易である。
【0013】
いくつかの解決法が、このことについて存在し、それらの解決法は、オブジェクトと関連付けられるいわゆる可視性スコアによりオブジェクトの可視性を表すことに本質がある。
【0014】
第1の解決法は、zバッファ技法を使用することに本質がある。この技法は、オブジェクトの可視性を、それが描画される時間において決定することを可能にする。最終レンダリングの生成中、他のオブジェクトが、それゆえに、その上部上に描画され得るものであり、そのことは、可視性が決定されているオブジェクトをマスクし得るものであり、可視性計算を不正確にする。
【0015】
第2の解決法は、「レイキャスト」技法を使用することに本質がある。この技法は、オブジェクト同士の間の衝突を検出するために物理エンジンにより通常は使用される「コライダ」または衝突検出器を使用する。可視性が計算されるオブジェクトは、それゆえに、そのようなコライダと関連付けられなければならない。この制約に追加されるのが、この技法は、オブジェクトが、半透明オブジェクトであったとしても別のオブジェクトの背後に、または、シャドウゾーン内に位置するときに、適用され得ないということである。
【0016】
第3の解決法は、特許FR3112638B1において説明される。その解決法は、すべての時間においてメインカメラの位置および特性にしたがう第2のカメラによる、もっぱら可視性を計算することが意図される、および、それゆえに表示されない、および、メイン(メインカメラからのシーンをレンダリングし、ユーザに表示される)メインレンダリングと並列に生成される、第2のレンダリングにおいてステンシルバッファを使用することに本質がある。厳密には、ステンシルバッファは、シーンにおける不透明オブジェクトを描画するステップの後に、第2のレンダリングを生成するように働くパイプラインにおいて使用される。レンダーパイプラインは、必ず「フォワード」タイプのものであり、すなわち、それは、シーンにおける不透明オブジェクトおよび透明オブジェクトがその順序において描画されることを可能とする。
【0017】
この技法は、非常に正確であり、それは、この技法が、シーンのライティングおよびシャドウを考慮に入れ得るということを意味する。例えば、この技法は、オブジェクトの可視性を計算することを、そのオブジェクトが、別のオブジェクトにより部分的にマスクされる、またはシャドウゾーン内に位置するとしても行うために、使用され得る。しかしながら、その技法は、ステンシルバッファへの、およびそれゆえに、適合される計算リソースへのアクセスを要し、フォワードパイプライン以外のレンダーパイプラインとの互換性がない。例えば、この技法は、描画順序が異なる、異なるレンダリング戦略を使用する「ディファード」タイプパイプラインにおいて実施され得ない。
【0018】
それゆえに、すべてのレンダーパイプラインアーキテクチャに、それらのアーキテクチャがソフトウェアであるかそれともハードウェアであるかにかかわらず適合される、オブジェクト可視性スコアを計算するための方法についての必要性が存在する。そのような解決法は、さらには、利用可能な計算およびエネルギーリソースに適応することができるはずである。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】仏国特許発明第3112638号明細書
【発明の概要】
【発明が解決しようとする課題】
【0020】
本発明は、不透明オブジェクトのレンダリングに対応する第2の中間レンダリングからではなく、第2の最終レンダリングから可視性スコアを計算することを可能にすることにより、先に論考された問題に対する解決法を提供する。
【課題を解決するための手段】
【0021】
このために、第2のレンダリングの生成の前および後に展開される色比較技法であって、可視性が検証されるオブジェクトが、半透明オブジェクトにより、部分的にマスクされている、あるいは、あまりにも弱い、もしくは、あまりにも強烈である周囲光に起因して、または、そのオブジェクトの表面上の反射に起因して、ほとんど可視でない様態でレンダリングされる場合を扱うことを可能にする、色比較技法が使用される。
【0022】
本発明の1つの態様は、したがって、3次元シーンにおける少なくとも1つのオブジェクトの可視性スコアを計算するための方法であって、シーンは、複数のオブジェクトから構成され、メインレンダーパイプラインと関連付けられるメインカメラにより表示ゾーンにおいて表示され、方法は、メインカメラのクローンであり専用レンダーパイプラインと関連付けられる専用カメラにより実施される、以下のステップ:
- シーンの複数のオブジェクトから少なくとも1つのオブジェクトを選択するステップ、
- 選択された少なくとも1つのオブジェクトについて:
- ただ1つの所定の色を含むテクスチャ画像とオブジェクトを関連付け、メインレンダーパイプラインと関連付けられるオブジェクトのテクスチャ画像を置き換えるステップ、
- 専用カメラにより、シーンをレンダリングして、少なくとも1つの専用画像を作成するステップ、
- 選択された少なくとも1つのオブジェクトについて、
- 専用画像において、少なくとも1つの専用画像におけるオブジェクトに対応する少なくとも1つのポイントにおいて色を読み出すステップ、
- 読み出された色を、所定の色と比較して、オブジェクトと関連付けられる可視性スコアを取得するステップ
を含み、
メインカメラおよび専用カメラは、シーケンシャルに動作し、その結果、シーンが表示ゾーンにおいて表示される前または後に専用画像が作成されることを特徴とする、方法に関する。
【0023】
本発明のおかげで、メインカメラのクローンである第2のカメラ(それはもっぱら可視性スコアを計算するために使用されるので、専用カメラと呼ばれる)は、リアルタイムでシーンのコンテキストを再現すること、およびしたがって、リアルタイムで可視性スコアを計算し(例えばユーザに)伝達することを可能にする。用語「リアルタイム」は、表示ゾーンにおいてユーザに表示されるようなシーンのレンダリングと同期していることを意味する。このために、レンダーパイプラインは、技術的手段:処理ユニット、表示画面により実施される。
【0024】
テストされるオブジェクトに、所定の色のプレーンテクスチャを割り当てるステップ(選択されたオブジェクトを、ただ1つの所定の色を含むテクスチャ画像と関連付けるステップ)、レンダリングステップ、および、レンダリングされた画像に基づいて実行される色比較ステップの、関連付けが、正確な様式において(すなわち、ユーザが見るものに可能な限り近く)、および、ステンシルバッファを使用することなく、可視性スコアにより、オブジェクトの、可視の、部分的に可視の、または、可視でない態様を表すことを可能にする。
【0025】
計算正確性は、いくつかの特性のおかげで達成される。
【0026】
メインレンダーパイプラインと関連付けられるのでリアルテクスチャとして知られており、選択されたオブジェクトと関連付けられるテクスチャリアルを、所定の色のプレーンテクスチャに取り替えるということは、一般的には複数の色、ならびに、色相およびライティングにおける変動を含む(メインカメラにより表示される)リアルテクスチャと比較して、ロバストな色標準を提供することを可能にする。利点は、例えば、シーンにおける、半透明オブジェクトの存在、または、ライティングもしくは輝度における変化に起因する、色における小さい変動でさえ、検出され得るということである。
【0027】
テクスチャ取り替えステップに対して連続的に実行されるレンダリングステップは、所定の色のプレーンテクスチャを帯びている選択されたオブジェクトのテクスチャを除いて、メインカメラにより表示される画像とあらゆる事項において同一である画像(専用画像として知られている)を(その画像を表示することなく)作成することを可能にする。シェーディングエフェクト(シェーダ)、ライティング、その他のすべてのエフェクトは、メインカメラにより表示されるレンダリングと同一である。専用画像において選択されたオブジェクトに対応する少なくとも1つのポイントにおいて読み出される色は、これらの異なる条件に関する情報を伝達する。
【0028】
オブジェクト上に位置するポイントに対応する、専用画像の1つ以上のポイントにおける色差を測定するということは、(測定値を平均することにより)最終可視性スコアの信号対ノイズ比を増大させること、および/または、オブジェクトの可視性マップを取得することを可能にする。
【0029】
2つのメインおよび専用カメラがシーケンシャルに動作するということは、専用カメラのレンダリングの前に、プレーンテクスチャ画像を割り当てるステップを実行することを可能にするということが留意されるべきである。
【0030】
したがって、本発明による方法は、広い範囲のレンダリング構成およびパイプラインにわたって、リアルタイムで、3Dシーンにおけるいくつかのオブジェクトの可視性の状態を精密に表すことを可能にする。本方法は、ステンシルバッファに基づく先行技術技法よりも実施するのが簡単である。
【0031】
1つの好ましい実施形態によれば、可視性スコアが、専用カメラの第1の反復中に計算された第1の可視性スコア、および、専用カメラの第2の反復中に計算された第2の可視性スコアの中の最も低い可視性スコアを取ることにより計算され、第1および第2の反復が連続的であり、第2の反復のために選定される所定の色が、色相環上で、第1の反復のために選定される所定の色と反対である。
【0032】
この好ましい実施形態は、偽陽性(すなわち、可視でないときに可視と検出されるオブジェクト)を回避すること、およびそれゆえに、方法の正確性を改善することを可能にする。
【0033】
この好ましい実施形態は、特に、シーンが、所定の色に近い色テクスチャを有するとき、または/および、所定の色に近い色テクスチャを伴うオブジェクトが、可視性を測定することが所望されるオブジェクトを隠す、もしくは部分的に覆うときでさえ、正確に可視性スコアを計算することを可能にする。
【0034】
先の段落においてまさに論考された特性にさらに付け加えて、本発明の1つの態様による方法は、個々に考慮されて、または、任意の技術的に可能な組み合わせにしたがって、以下の中からの1つ以上の補足的な特性を有することがある。
【0035】
所定の色が、少なくとも:それぞれ255、0、および255に等しい赤、緑、および青成分を伴うピンク、ならびに、それぞれ0、255、および0に等しい赤、緑、および青成分を伴う緑からなるリストから選定される。
【0036】
ピンクが有利に選定され、なぜならば、ピンクは、一般的には、シーンにおいてあまり存在しない色であるからである。所定の色のこの選定は、それゆえに、選択されたオブジェクトとカメラとの間に介在する、所定の色と同じ色のオブジェクトを見いだすことの確率を低減する。この構成は、可視性検出エラー(比較ステップの終了において見いだされる小さい色差が、選択されたオブジェクトの異常な可視性を示すこと)につながり得るので、ピンクの選定は、可視性スコアのより信頼性の高い測定に好都合である。
【0037】
専用画像において、選択されたオブジェクトの色を読み出すことが、少なくとも1つの専用画像において選択されたオブジェクトに対応する複数のポイント、例えば16個のポイントに対して実行され、複数のポイントのうちのポイントが、テストされるゾーンへと、選択されたオブジェクトを切断することにより、および、テストされるゾーンの中心ポイントを取ることにより、得られる。
【0038】
したがって、オブジェクト上の異なる場所において可視性スコアを決定することが可能である。利点は、オブジェクトが、テストされるオブジェクトを部分的に覆うという、または、オブジェクトの一部がシャドウゾーン内にあるということを考慮に入れることが、したがって可能であるということである。
【0039】
選択されたオブジェクトのサイズ(さらには、専用画像の解像度に依存する)によって、複数のポイントのうちのポイントは、互いに重なることがある。この場合、可視性スコアは、同じポイントについて、いくつかの回数計算され、最終可視性スコアは、計算された可視性スコアの平均である。
【0040】
読み出された色を、所定の色と比較するステップが:
- 各赤、緑、および青成分について、読み出された色と、所定の色との間の絶対差を計算するステップ、および、
- 計算された絶対差の平均を計算するステップ
により、色差を計算することにより得られる。
【0041】
読み出された色を、所定の色と比較するステップが、以下のステップ:
- 赤、緑、および青成分から、読み出された色の色相、および、所定の色の色相を決定するステップ、
- 読み出された色相と、所定の色の色相との間の差を計算するステップ、
- 読み出された色相と、所定の色の色相との間の計算された差の結果に重み付けをして、色相差を取得するステップ、
- 色相差を、値0.25などの所定のしきい値と比較するステップであって:
- 色相差がしきい値以下である場合、読み出された色と、所定の色との間の差が、色相差および色差の平均に等しく、
- 色相差がしきい値よりも大きい場合、読み出された色と、所定の色との間の差が、色差に等しい、ステップ
を含む色相差計算にさらに基づく。
【0042】
したがって、方法は、シーンの輝度における変化に対して、よりレジリエントである。実際、色相差測定は、2つの色が同様であるかどうかを、それらの色の輝度が異なる(一方が明るく、他方が暗い)としても決定することを可能にする。利点は、選択されたオブジェクトが、半透明オブジェクトによりマスクされているとしても、または/および、シーンにおける周囲光が、あまりにも強烈であり、もしくは、あまりにも弱く、選択されたオブジェクトをほとんど可視でないようにするとしても、または/および、選択されたオブジェクトが、そのオブジェクトの表面が明確に見られることを妨げる反射の影響下にあるとしても、可視性スコアが正確に決定されるということである。
【0043】
専用カメラの画像作成頻度(image production frequency)が、メインカメラの計算頻度よりも低い。
【0044】
専用カメラの画像作成頻度が、メインカメラの画像作成頻度の4分の1以下である。
【0045】
したがって、必要な計算リソースが限定され、レンダリングエンジンを使用するアプリケーションの性能が低下しない。
【0046】
専用画像の解像度が、メインカメラのレンダリング解像度よりも低い。
【0047】
頻度における低減と同じように、専用画像の解像度を低減するということは、アプリケーションの性能が、リアルタイムでの可視性の追跡を同時に可能としながら、低下しないということを意味する。
【0048】
専用画像の最も小さい解像度が、96ピクセルの画像幅に対応する。
【0049】
この値は、低いが、正確性および効率を合わせもち、アプリケーションの動作に影響しない、可視性スコアを提供すると確認されている。
【0050】
方法が、色比較ステップの後に、リアルテクスチャ画像と呼称される、メインレンダーパイプラインと関連付けられるテクスチャ画像と、オブジェクトを関連付け、所定の色を含むのみであるテクスチャ画像を置き換える、選択された少なくとも1つのオブジェクトについて行われる追加的なステップをさらに含む。
【0051】
方法が、専用画像上の選択されたオブジェクトにより占有される表面積(surface area)、および、オブジェクトにより占有される前記表面積と、専用画像の表面積との間の表面積比を決定するステップであって、この比が、しきい値、例えば、1.5%に等しいしきい値未満であるならば、可視性スコアが0に等しく、選択されたオブジェクトが、可視であるにはあまりにも小さいと考えられる、ステップを含む、選択されたオブジェクトのサイズをテストするステップをさらに含む。
【0052】
先の段落においてまさに論考された特性にさらに付け加えて、方法は、個々に考慮されて、または、任意の技術的に可能な組み合わせにしたがって、以下の中からの1つ以上の追加的な特性を有することがある:
- 方法が、少なくとも1つのオブジェクトの可視性条件との適合性(compliance)をユーザに対して決定するステップをさらに含むことがあり、前記可視性条件が、少なくとも1つのオブジェクトの可視性スコアに依存する。
- 可視性条件が、それで、少なくとも1つのオブジェクトの可視性の最小持続期間、および/または、オブジェクトにより占有される表面積と、専用画像の表面積との間の表面積比、および/または、オブジェクトにより占有される表面積に対する法線の方向と、表示ゾーンの法線方向との間の角度を含む、所定のパラメータにさらに依存することがある。
- 可視性条件との適合性を決定するステップの後に、方法が、シーンを修正するステップ、および/または、シーンの内側もしくは外側で追加的なイベントをトリガするステップを含むステップを含むことがある。
- 少なくとも1つのオブジェクトの可視性条件との適合性をユーザに対して決定するステップに対する代替法として、方法が、少なくとも1つのオブジェクトの可視性スコアが、所定の可視性スコアと異なるときに、オブジェクトを修正し、修正されたオブジェクトの可視性スコアを計算するステップを繰り返すステップをさらに含むことがある。
【0053】
本発明および本発明の異なる用途が、以下の説明を読み、付随する図を考察すると、より良好に理解される。
【0054】
図は、本発明の目的を、決して限定するためにではなく、本発明の目的を示すために論述される。
【図面の簡単な説明】
【0055】
図1】グラフィックスレンダリングエンジンの動作の単純化された例示を示す図である。
図2】本発明による計算方法におけるステップのシーケンスを例示する梗概線図である。
図3】コンピュータの1つの実施形態を概略的に示す図である。
図4図2のステップを実施するために使用されるグラフィックスレンダリングエンジンの動作の単純化された例示を示す図である。
図5図4のグラフィックスレンダリングエンジンのメインカメラにより、その次の反復中にレンダリングされる3Dシーンの例示の図である。
図6図2の第3のステップの終了において取得される図5の3Dシーンの単純化された例示の図である。
図7図5の3Dシーンの、図4のグラフィックスエンジンの専用カメラによる、レンダリングの単純化された例示の図である。
図8図7の拡大視図である。
図9図2の方法の好ましい実施形態を例示する図である。
【発明を実施するための形態】
【0056】
別段に明記されない限り、異なる図において現れる同じ要素は、単一の参照記号を有する。
【0057】
本発明は、3D仮想シーンにおけるオブジェクトと関連付けられる可視性スコアを計算するための方法、特に、効率、正確性、および、実施の容易さを合わせもつ計算方法に関する。
【0058】
図2は、本発明による計算方法200のステップS205、S210、S220、S230、S240、S250、S260、およびS270のシーケンスを概略的に例示する。
【0059】
実際上は、および、図3を参照すると、方法200は、コンピュータ30、ゲームコンソール、スマートフォン、およびより一般的には、グラフィックスレンダリングエンジンを実施可能な任意のデバイスを備える、システム3により実施される。
【0060】
本説明において、処理アクションが、処理ユニット、すなわち、メモリ301を使用するマイクロプロセッサ300により実行される。これらのマイクロプロセッサは、CPUとも呼ばれる汎用マイクロプロセッサ、および/またはGPUとも呼ばれるグラフィックスマイクロプロセッサである。
【0061】
システム3は、画面31および/またはキーボード32を備えることがある。
【0062】
方法200のステップは、図2図4図5図6図7、および図8を参照して下記で説明される。
【0063】
方法は、メインカメラ120に追加される専用カメラ420(図4を見られたい)を宣言するステップS205によって始まる。レンダリングエンジンのプログラミングインターフェースが、この専用カメラ420を宣言およびインスタンス化するために使用される。
【0064】
本説明の残り部分において、用語「カメラ」は、(仮想)ビューポイントを指し、それからシーンがレンダリングされる。表現「カメラが描画される」は、3Dシーンから、カメラのビューのポイントからの2D画像を生成(またはレンダリング)するということを指す。このために、カメラは、処理ユニットにより実施されるレンダーパイプラインと関連付けられる。
【0065】
レンダーパイプラインは、2D画像を取得するために、3Dシーンのジオメトリックオブジェクトをピクセル化するように設計されるアルゴリズム的ブリックのシーケンスからなる。
【0066】
最後に、「カメラ頻度」は、1秒あたりのカメラ反復の数にもまた対応する、カメラにより生成される1秒あたりの2D画像の数を指す。
【0067】
図5は、メインカメラ120により表示ゾーンにおいて描画および表示される、ならびに、1つ以上のオブジェクトの可視性を検証することが所望される、3Dシーン50を概略的に表す。このシーン50は、識別子を各オブジェクトが有する複数の3Dオブジェクト501、502、503、504から構成される。オブジェクトは、ジオメトリック形状および属性(テクスチャ、その他)のリストにより定義される。
【0068】
メインカメラ120は、メインレンダーパイプラインと関連付けられる。
【0069】
メインカメラ120は、(例えば、図3において例示される画面32のすべてまたは一部を占有する)表示ゾーン上の一連の連続的な画像を生成し、アプリケーションのユーザに表示する。一連の画像における2つの画像の間の時間は、メインカメラ120の頻度に依存する。その頻度は、シーンのリアルタイムビューイングのために必要な流動性を与えるように、人間の視覚に適合される。最小値として、メインカメラ120の画像作成頻度は、1秒あたり30画像である。好ましくは、メインカメラ120の頻度は、1秒あたり60画像である。頻度は、1秒あたり120画像でもまたあり得る。
【0070】
専用カメラ420は、メインカメラ120のクローンであり、すなわち、その専用カメラ420は、すべての時間において、このメインカメラ120の位置および特性(位置、スケール、フィルタオプション、カッティング平面、その他)を追跡する。例えば、その専用カメラ420は、メインカメラ120と同一に、シャドウ、ライティング、その他のエフェクトを再現する。
【0071】
専用カメラ420は、いくつかの事項においてカメラ120と異なる。
【0072】
第1に、専用カメラ420は、方法200のステップS210からS270を実施するためのアルゴリズムを統合するために、メインレンダーパイプラインに対して修正された専用レンダーパイプラインと関連付けられる。
【0073】
第2に、専用カメラ420は、「画面外」様式において、いわゆる専用画像をレンダリングする。このことは、この専用画像が画面31上で表示されないということを意味する。専用画像は、それゆえに、(メインカメラ120により表示されるメインレンダリングとは違い)アプリケーションのユーザにではなく、もっぱら可視性スコアを計算することが意図される。
【0074】
第3に、専用カメラ420の画像作成頻度は、メインカメラ120の頻度よりも低いことがある。
【0075】
専用カメラの画像作成頻度は、したがって、メインカメラの画像作成頻度の4分の1以下であることがある。
【0076】
第4に、カメラ420によりレンダリングされる専用画像の解像度は、低下し得、すなわち、メインレンダリングの解像度よりも低くあり得る。解像度は、例えば、専用画像のサイズにより定義される。好ましくは、専用画像の最も小さい寸法は、96ピクセルであり、最も大きい寸法は、画面31の寸法に対して計算される。
【0077】
専用カメラ420の頻度および解像度を低減することは、グラフィックスエンジンの性能が悪影響を受けないということを確実にする。
【0078】
最後に、専用カメラ420およびメインカメラ120はシーケンシャルに動作するということが留意されるべきである。異なるように説述すれば、2つのカメラ120、420のうちの一方は、他方の前に描画される。専用画像のレンダリングは、したがって、メインウィンドウにおけるシーン画像のレンダリングおよび表示に対して、わずかな時間遅れ、例えば33msの時間遅れを伴ってトリガされる。
【0079】
専用カメラ420がステップS205において宣言されると、ステップS210、S220、S230、S240、S250、ならびに任意選択で、ステップS260およびS270が、専用カメラ420の各反復において、連続的に行われる。
【0080】
方法200のステップS210は、図5に関して先に説明された3Dシーン50から行われる。このシーンは、メインカメラ120により、そのメインカメラ120の次の反復中に表示されるシーンである。
【0081】
ステップS210は、3Dシーン50における複数のオブジェクト501、502、503、504から1つ以上のオブジェクト600を選択するステップである。与えられた例においては、シーン50のオブジェクト502に対応する、1つのオブジェクト600が選択される。
【0082】
選択されたオブジェクト600は、それらの可視性が可視性スコア計算によってリアルタイムで測定されることが所望される、オブジェクト600である。
【0083】
選択ステップS210は、本発明による方法200を実施するシステム3のメモリゾーン301において、選択された各オブジェクト600と関連付けられる識別子のリストを作成し、このリストは、オブジェクトのジオメトリと、オブジェクトのテクスチャとを含む。選択されたオブジェクト600のテクスチャは、典型的には、テクスチャ画像と呼称される画像である。このステップにおいて、オブジェクト600のテクスチャ510が、ユーザに表示されるテクスチャである。テクスチャ510は、選択されたオブジェクト600の「リアルテクスチャ510」または「リアルテクスチャ画像510」と呼称されることになる。
【0084】
ステップS210の後に、選択されたオブジェクト600のリアルテクスチャ画像510を、ただ1つの所定の色を含むテクスチャ画像に取り替えることに本質がある、ステップS220が続く。
【0085】
このために、ステップS220のサブステップS2201中、選択されたオブジェクト600(または、選択された各オブジェクト)は、単一の所定の色6101を含むのみであるテクスチャ画像610と関連付けられる。関連付けステップS220-S2201の前または後に行われ得るサブステップS2202において、選択されたオブジェクト600の(または、選択された各オブジェクトの)リアルテクスチャ画像510を抽出し、メモリ内に保存することがさらに可能である。用語「保存する」は、テクスチャ画像のコピーをではなく、テクスチャ画像の参照によりメモリ内に保存することを指す。
【0086】
したがって、ステップS220の終了において、および、図6を参照すると、いわゆる初期シーン60が取得され、初期シーン60は、所定の色6101のプレーンテクスチャ610を帯びている選択されたオブジェクト600を除いて、メインカメラ120により表示される3Dシーン50と同一である。選択されたこれらのオブジェクト600の、すべての他の属性(またはセッティングおよびエフェクト)、例えば光、シェーディング、シェーダ、その他は保持される。
【0087】
プレーンテクスチャとは、単一の所定の色6101が単一のオブジェクト600のために使用されるということを意味する。
【0088】
好ましくは、所定の色6101は、255に等しい赤成分、0に等しい緑成分、および、255に等しい青成分を伴うピンク(すなわち、RGB(255,0,255))などの、一般的には3Dシーンにおいてあまり存在しない色である。
【0089】
複数のオブジェクトが選択されるとき、同じ所定の色6101、または、異なる所定の色が使用され得る。
【0090】
ステップS220の後に、専用カメラにより、ステップS220の終了において取得されたリアルシーン60の専用画像を生成するステップS230が続く。
【0091】
図7は、オブジェクト501、503、および504と、選択されたオブジェクト600とを含むリアルシーン60の専用レンダリング70の例を示す。
【0092】
選択されたオブジェクト600は、背景内にある。
【0093】
第1のオブジェクト501は、選択されたオブジェクト600から、ある量の距離にあり、その選択されたオブジェクト600への影響力を有さない。
【0094】
第2のオブジェクト503は、中間平面内にあり、選択されたオブジェクト600に部分的に重なる。
【0095】
第3のオブジェクト504は、前景内にある。さらにまた、この第3のオブジェクト504は、透明であり、第2のオブジェクト503を覆い、選択されたオブジェクト600を部分的に覆う。
【0096】
選択されたオブジェクト600は、シーン、および、先のステップS220において割り当てられた所定の色610に依存する、新しい色710を帯びている。
【0097】
新しい色710は、実際には、選択されたオブジェクトの平面とカメラ420との間の平面内のオブジェクトの存在に起因する、または、選択されたオブジェクト600を覆うシャドウゾーンの存在に起因する、プレーンテクスチャ610の修正から結果的に生じる。
【0098】
図7において例示される専用画像70の例において、色710は:
- 選択されたオブジェクト600が覆われていないゾーン711において、所定の色6101に関して修正されていない、
- 選択されたオブジェクト600が第3の透明オブジェクト504によって覆われるゾーン712において、いくらかの振幅を伴って、所定の色6101に関して修正されている、
- 選択されたオブジェクト600が第2のオブジェクト503によって覆われる、ゾーン713において、ゾーン712においてよりも大きい振幅を伴って修正されている。
【0099】
したがって、選択されたオブジェクト600が可視である(ゾーン711においてのように、覆われない)ほど、専用画像における色710と、所定の色6101との間の色差はより小さくなる。
【0100】
逆に、選択されたオブジェクト600が可視でない(ゾーン713においてのように、いくつかのオブジェクトによって覆われる)ほど、専用画像における色710と、所定の色6101との間の色差はより大きくなる。
【0101】
専用画像(70)における色710と、所定の色テクスチャ6101との間の色差は、それゆえに、選択されたオブジェクト600の可視性または不可視性の状態に相関させられ:差が大きいほど、オブジェクトは可視ではなく、逆に、差が小さいほど、オブジェクトはより可視である。
【0102】
専用画像70は、それゆえに、メインカメラ120の次の反復中に生成されるメインレンダリングと本質的に同一のレンダリングである。1つの違いは、選択されたオブジェクトまたは複数のオブジェクト600が、新しい色710を帯びているということである。別の違いは、本発明の実施形態のパラメータセッティングに応じて、専用画像70の解像度であり得る。
【0103】
換言すれば、専用画像70上で、および、メインカメラ120により表示される画像上でレンダリングされるのは、同じシーンであるが、選択されたオブジェクト600に対応するいくつかのオブジェクトについては、リアルテクスチャ510は、専用カメラ420によるレンダリングのために、所定の色6101のプレーンテクスチャ610に変化させられるが、メインカメラ120により、依然使用される。
【0104】
ステップS230の後に続くステップS240およびS250は、この色差を測定し、その色差を可視性スコアにより表すことを目的とする。
【0105】
ステップS240は、専用画像70から実行される。それは、オブジェクト600の色710を読み出すことに本質がある。
【0106】
このステップS240は、専用カメラ420により、レンダリングの終了において、専用パイプラインにおいて「コンピュートシェーダ(compute shader)」を追加することにより実施され得る。
【0107】
図8を参照すると、選択されたオブジェクト600の色710は、オブジェクト600に属する少なくとも1つのポイント810において読み出される。
【0108】
好ましくは、色710は、オブジェクトに属する複数のポイントのうちの各ポイントにおいて連続的に読み出され、これらのポイントは、テストされるゾーンへとオブジェクトを切断し、テストされる各ゾーン内の中心ポイントを決定する、先行のステップ(図2において表されない)により決定される。
【0109】
ポイントの数は、例えば16である。ポイントは、ピクセルに対応する。
【0110】
専用画像について選定される解像度にしたがって、ポイント810は、互いに重ねられることがある。この場合、色読み出しは、同じポイントにおいて、いくつかの回数、行われる。
【0111】
これは、例えば、専用画像70の解像度が最小(専用画像の最も小さい寸法について96ピクセル)である場合である。画像において選択されたオブジェクトのサイズは、その場合、数ピクセルを占有するのみであることがある。
【0112】
ステップS250は、ステップS240の後に続く。それは、各測定ポイント810において、専用画像70上で取得された色710、および、所定の色6101を比較することに本質がある。
【0113】
この色比較の結果は、有利には、0(同一の、または非常に近い色)から1(反対の、または非常に遠い色)の間である。
【0114】
2つの計算技法が、色を比較するために実行され得る。
【0115】
第1の技法は、各赤、緑、および青成分について、読み出された色710と所定の色6101との間の絶対差を計算し、次いで、計算されたこれらの絶対差を平均することにより、色差を測定することに本質がある。
【0116】
第2の技法は、色相比較を色差測定と関連付けることに本質がある。色相比較は、ライティングが異なるとしても、1つの色が別のものと同一であるということを検出することを可能にする。したがって、比較は、シーン輝度における変化に対して、より正確であり、よりロバストである。
【0117】
より厳密には、第2の技法は、以下のステップ:
- 赤、緑、および青成分から、読み出された色710の色相、および、所定の色6101の色相を決定するステップ、
- 読み出された色相と、所定の色の色相との間の差を計算するステップ、
- 読み出された色相と、所定の色の色相との間の計算された差の結果に重み付けをすることであって、重み付けの結果が0から1の間である、重み付けをし、色相差を決定するステップ、
- 色相差を、0.25などの所定のしきい値と比較するステップであって:
- 色相差がしきい値以下であるならば、読み出された色と、所定の色との間の差が、色相差および色差の平均に等しく、
- 色相差がしきい値よりも大きいならば、読み出された色と、所定の色との間の差が、色差に等しい、ステップ
を含む。
【0118】
最終結果は、0(近い、または同一の色)から1(反対の、または遠い色)の間の値である。
【0119】
部分的可視性スコアSpが、次いで、最終結果から決定され、この部分的可視性スコアは、0(可視でないテストゾーン800)から1(可視のテストゾーン800)の間である。
【0120】
部分的可視性スコアSpは、それゆえに、各テストポイント810(すなわち、各テストゾーン800)について取得される。
【0121】
選択されたオブジェクト600の「最終」可視性スコアSが、次いで、ステップS250において取得されたすべての部分的可視性スコアSpの平均を計算することにより決定され得るものであり、この最終スコアSもまた、0(可視でないオブジェクト)から1(可視のオブジェクト)の間である。
【0122】
部分的可視性スコアSpは、以下の場合、選択されたオブジェクト600の可視性を検証するために使用されるということが留意されるべきである:
- オブジェクト600が、半透明オブジェクトにより、部分的にマスクされている、
- シーンにおける周囲光が、あまりにも強烈であり、または、あまりにも弱く、オブジェクトをほとんど可視でないようにする、
- オブジェクトが、その表面が明確に見られ得ないというように、反射される。
【0123】
可視の/可視でない状態は、オブジェクト600の最終可視性スコアS、および、しきい値から決定され得る。
【0124】
最終可視性スコアSおよび/または部分的可視性スコアSpは、次いで、アプリケーションのユーザに、または、他のユーザに、通信手段(表されない)によって伝達される。
【0125】
リアルテクスチャ画像510がステップS220中に保存されるとき、ステップS250の後には、ステップS260が続くことがあり、ステップS260は、初期シーン60において、所定の色6101のプレーンテクスチャ画像610を、リアルテクスチャ画像510に取り替えることに本質がある。
【0126】
このために、ステップS220中に抽出および保存されたテクスチャ画像510が、選択された各オブジェクト600と関連付けられる。
【0127】
メインカメラ120および専用カメラ420はシーケンシャルに動作するので、メインカメラ120のレンダリングは、専用カメラ420のレンダリングの前または後に、すなわち、リアルテクスチャ画像510をプレーンテクスチャ画像610に置き換えてしまう(ステップS220)前に、または、プレーンテクスチャ画像610が専用カメラ420によるレンダリング70のために使用されている間に、リアルテクスチャ画像510を復元した(ステップS260)後に行われる。
【0128】
換言すれば、2つの主および専用カメラ120、420のレンダリングは決して同時に行われないということは、メインカメラ120のためにリアルテクスチャ画像510を、および、専用カメラ420のためにプレーンテクスチャ画像610を常に使用することを可能にする。
【0129】
ステップS260に続いて、ステップS270も続いて行われ得、これは、シーン50において選択されたオブジェクト600のサイズに関する可視性基準を追加することに本質がある。このステップS270は、サイズが表示ゾーンのサイズと比較してあまりにも小さいオブジェクト600を可視でないと示すことを目的とする。これは、オブジェクトがカメラ120から長い距離において位置するからであり得る。
【0130】
このために、ステップS270は、専用画像70上の選択されたオブジェクト600により占有される表面積、および、先に決定されたオブジェクトにより占有される表面積と、専用画像70の表面積との間の表面積比を決定することであって、この比が、しきい値、例えば、1.5%未満であるならば、可視性スコアが0に等しく、選択されたオブジェクトが、可視であるにはあまりにも小さいと考えられる、ことに本質がある。
【0131】
方法200の好ましい実施形態が、図9に関して下記で説明される。
【0132】
この好ましい実施形態において、可視性スコアSは、専用カメラ240の第1の反復I1中に計算された第1の可視性スコアS1、および、専用カメラ240の第2の反復I2中に計算された第2の可視性スコアS2の中の最も低い可視性スコアを取ることにより計算される。
【0133】
第1および第2の反復I1、I2は、連続的な反復である。
【0134】
第2の反復I2のために選定される所定の色は、色相環上で、第1の反復のために選定される所定の色と反対である。例えば、ピンクRGB(255,0,255)が、第1の反復I1のために選定されるならば、緑RGB(0,255,0)が、第2の反復I2のために選定されることになる。
【0135】
この好ましい実施形態は、偽陽性を排除するという効果を有する。
【0136】
このことを説明するために、色において本質的にはピンクであるシーンの例を取り上げることにする。やはりピンクである所定の色が使用される場合、選択されたオブジェクト600は、それがシーンにおける別のオブジェクトの背後に隠されるとしても、単一の反復中に可視と異常に検出されることになる。これは、色が近いからである。
【0137】
同様に、テストされるオブジェクト600が、ピンクに色付けされた別のオブジェクトの背後に隠される場合、オブジェクト600は、ピンクに色付けされたテクスチャを使用する第1の反復I1によって、異常に高い可視性スコアS1を取得することになる。
【0138】
次の反復中に、ピンクと反対の第2の色、例えば緑(それぞれ0、255、および0に等しい赤、緑、および青成分を伴う)を使用することにより、オブジェクト600は、(シーンの、または、テストされるオブジェクトを隠すオブジェクトの)ピンクと、(テストされるオブジェクト600の)緑との間の差に起因する、はるかに低い可視性スコアS2を伴って検出されることになる。この第2の可視性スコアS2を使用することにより、オブジェクトは、可視でない、または、ほとんど可視でないと適正に検出され、偽陽性が回避される。
【0139】
逆に、テストされるオブジェクトが、緑の別のオブジェクトにより隠される場合、第1の反復は、シーンにおけるテストされるオブジェクトの現実可視性に対応する、低いスコアを与えることになる。
【0140】
偽陰性を取得することは可能でないということが、さらには留意される。
【0141】
したがって、本発明による方法200は、広い範囲の構成およびレンダリングパイプラインにわたって、正確性および効率を合わせもつ、オブジェクトと関連付けられる可視性スコアを使用して、リアルタイムで3D仮想シーンにおけるオブジェクトの可視性を追跡することを可能にし、一方で、特許FR3112638B1において説明されるステンシルバッファ技法よりも実施するのが簡単である。
【0142】
方法200は、3D仮想シーンにおけるオブジェクトについて、1人以上のユーザによる、リアルタイムで可視性を追跡することを可能にすることにより、ビデオゲーム、仮想現実、および拡張現実などの、3D仮想シーンを使用する用途の任意の分野において使用され得る。
【0143】
可視性スコアは、したがって、例えば、例えば対象の情報を含むオブジェクトがユーザまたは複数のユーザにより見られたかどうかを評価することを可能にする。対象のこのオブジェクトは、例えば、マーケティング情報を、ただしさらには、教育情報、または、安全規則に関係する情報を表示するために使用されることがある。
【0144】
方法200は、したがって、ユーザが、少なくとも部分的に、オブジェクトを見たかどうかを、このオブジェクトについて計算された可視性スコアに基づいて決定するための任意選択のステップを含み得る。表現「ユーザがオブジェクトを見たか否か」における動詞「見る」は、ここでは、視覚的知覚、すなわち、ユーザが実際にオブジェクトを知覚したということを意味すると理解される。換言すれば、方法は、そのオブジェクトの可視性条件が(ユーザに対して)満たされるということを決定する任意選択のステップを含み得、ここで可視性条件は、オブジェクトについて計算された可視性スコアに、および、少なくとも1つの所定の可視性スコアに依存する。
【0145】
可視性条件は、少なくとも1つのオブジェクトの最小可視性持続期間、および/または、オブジェクトにより占有される表面積と、専用画像の表面積との間の表面積比、および/または、オブジェクトにより占有される表面積に対する法線の方向と、表示ゾーンの法線方向との間の角度を含む、所定のパラメータにさらに依存することがある。最小可視性時間は、典型的には、ユーザがシーンにおけるオブジェクトの存在を知覚するために、および、そのオブジェクトの情報コンテンツを知覚するために必要な最小時間に対応する。例えば、与えられたオブジェクトについて計算された可視性スコア、例えば、最終可視性スコアSが、2sよりも長い持続期間の間1に等しいときに、可視性条件は満たされると言われる。
【0146】
方法200は、次いで、可視性条件が満たされるか否かを決定すると、シーンを修正するステップを含むことがある。
【0147】
したがって、オブジェクトの可視性スコアが第1の所定の可視性スコア未満であるときに、仮想環境を修正する任意選択の最終ステップが実行されることがある。例えば、同じオブジェクトが、3次元シーンにおいて複製される、および/または変位させられることが、前記オブジェクトの可視性スコアが第1の所定の可視性スコアよりも低い限りにおいて行われることがある。この場合、変位は、前記オブジェクトが見られることの確率が高い3次元シーンにおける特定の箇所において行われ得る。
【0148】
補足的および/または代替的な様式において、オブジェクトの可視性スコアが第2の所定の可視性スコアよりも大きいときに、オブジェクトは、3次元シーンにおいて除去される、および/または変位させられることがある。この場合、変位は、前記オブジェクトが見られることの確率が低い3次元シーンにおける特定の箇所においてなされ得る。方法は、それゆえに、対象とされる情報がユーザにより見られたということを確実にするために、3次元シーンを最適化する。
【0149】
最適化は、メモリおよび計算リソースをさらに節約するものであり、なぜならば、オブジェクトがすでに見られたならば、そのオブジェクトは、そのオブジェクトがもはや表示されないように、例えば、削除され、および/または移動させられ得るからである。さらに、オブジェクトの表示は修正され得る。実際、こうして計算された可視性スコアのおかげで、可視でないオブジェクトと関連付けられるテクスチャは、メモリ内へとロードされない、または、メモリからアンロードされることがある。
【0150】
用途の第1の例において、方法は、それが、例えば仮想現実および/または拡張現実を使用する、職業訓練プログラムの範囲の中で使用されるときに、職業訓練の有効性を評価するために使用され得る。実際、可視性スコアのおかげで、どこに、およびどのように、すなわち、どのオブジェクトに、学習者が彼らの注意を集中させているかを客観的に見極めることが可能である。この評価は、例えば、教示方法を改善するために、および/または、学習者を評価するために使用され得る。
【0151】
例えば、可視性スコアは、学習者の挙動を分析するために、および、異なるタイプの学習者、例えば異なるレベルの学習者が、職業訓練プログラムの異なる態様に彼らの注意をどのように集中させるかを理解するために使用され得る。
【0152】
用途の第2の例において、方法は、例えば、ユーザまたは複数のユーザからの最大の関心を生じさせた、販売用の製品を表すオブジェクトを識別することができる。方法は、次いで、シーンにおけるいくつかのオブジェクトに関して実施されるときに、以下の動作を含む任意選択のステップを含むことがある:
- シーンにおける各オブジェクトについて計算された可視性スコアを順序付けすること、および、
- 最も高い可視性スコアを伴うオブジェクトを決定すること。
【0153】
この任意選択のステップの後には、前記オブジェクトのうちの1つ以上のレイアウトを、それらの可視性スコアの順序付けに応じて修正することを含むステップが、さらに続くことがある。したがって、可視性スコアのおかげで、1つ以上のオブジェクトにより3D仮想シーンにおいて表される1つ以上の製品のレイアウトおよび外観を、例えばカスタマイジングにより最適化することが可能である。最後に、3D仮想シーンにおいて配置される異なるオブジェクトの可視性スコアを分析することにより、マーケットリサーチおよび製品テスティングを実行することが、さらには可能である。
【0154】
用途の第3の例において、方法は、オブジェクトの1つ以上の特性の有効性を測定し、その結果このオブジェクトが1人以上のユーザの側で関心を生じさせるようにすることを可能にし得る。例えば、オブジェクトは、安全情報、または、販売用のオブジェクトを広告するために使用されることがある。
【0155】
異なるように説述すれば、可視性スコアは、オブジェクトについてのいくつかの代替物をテストするために使用され得る。「A/Bテスティング」として知られているテスト方法によって、これらの代替物の可視性スコアが、比較され、最も良好な可視性スコアを伴う代替物が保持され得る。実際上は、方法200は、したがって:
少なくとも1つのオブジェクトの可視性スコアを使用するステップであって、
- 少なくとも1つのオブジェクトの可視性スコアが、所定の可視性スコアと異なるときに、オブジェクトを修正し、修正されたオブジェクトについての可視性スコアの計算を繰り返すステップ
を含む、ステップをさらに含むことがある。
【0156】
オブジェクトを修正することとは、オブジェクトと関連付けられる対象とされる、もしくはオブジェクトの表示の、情報を修正すること、または、シーンにおけるそのオブジェクトの場所を修正することを意味する。可視性スコアを使用するこのステップは、広告コンテンツを、その広告コンテンツの可視性を最大化するために、例えばオンザフライで、シーンにおけるいくつかの場所に再割り振りすることを可能にする。それは、さらには、同じオブジェクトの異なる代替物(またはバージョン)を比較するために可視性スコアを使用することを可能にする。
【0157】
用途の第4の例において、方法は、可視性スコアが、所定の可視性スコア未満である、または、所定の可視性スコアよりも大きいときに、追加的なイベントがトリガされることを可能とすることができる。このイベントは、例えば、追加的なオブジェクト、または、視覚的および/もしくは触覚的フィードバック、ならびに/または音の創出であることがある。このイベントは、例えば、オブジェクトの可視性スコアが増大するように、注意がオブジェクトに引き付けられることを可能にすることがある。このイベントは、さらには、他の情報を伝送するために使用され得る。例えば、イベントは、ユーザが、所定の時間よりも大きい時間の間ビューイング角度を維持するときにのみ、オーディオ広告コンテンツ、ならびに/または、没入型および/もしくは対話型要素の形式における、追加的な広告コンテンツを表示することからなることがある。
【0158】
用途の第5の例において、方法は、ユーザインターフェースおよびユーザエクスペリエンスの最適化を可能にすることができる。例えば、可視性スコアは、ユーザインターフェースおよびユーザエクスペリエンスの設計を改善するために、ユーザインターフェースのどの部分がプレイヤからの最大の注意を引くかを分析するために使用され得る。例えば、可視性スコアは、どのボタンまたは機能が、ユーザにより、最も多く、および/または、最も少なく注視されるかを決定するために使用され得る。
【0159】
用途の第6の例において、方法は、ビデオゲームまたは訓練の難易度レベルが、ユーザのレベルに適合されることを可能とすることができる。例えば、あるレベルの主要素の可視性スコアによって、これらの主要素が、見いだすのにあまりにも可視でもなく、あまりにも困難でもないということを確実にすることが可能である。
【0160】
用途の第7の例において、方法は、チュートリアルを改善するために使用され得る。特に、方法は、チュートリアル中に与えられる指図またはヒントの可視性を追跡し、その結果それらの指図またはヒントが、ユーザにより、容易に気付かれ理解されるかどうかを決定するために行い得る。
【0161】
用途の第8の例において、方法は、異常なユーザ挙動を識別することができる。例えば、ユーザであって、その挙動が、可視性スコアがしきい値可視性スコアよりも上であるオブジェクトを無視する、ユーザ、または逆に、ゲーマーのように、シューティングゲームにおいて壁を通して対戦相手を見つけるユーザ。
【0162】
用途の第9の例において、方法は、人工知能により制御される3D仮想シーンの異なるキャラクタの挙動の改善を可能とすることができる。例えば、可視性スコアのおかげで、対象とされるキャラクタの人工知能の挙動を、前記キャラクタの可視性に応じて適合させることが可能である。このことは、それゆえに、予測するのがより難しい、よりリアリスティックなキャラクタを結果的に生じさせる。
【符号の説明】
【0163】
3 システム
30 コンピュータ
31 画面
32 キーボード
50 3Dシーン、シーン、3次元シーン
60 初期シーン、リアルシーン
70 専用レンダリング、専用画像、レンダリング
100 オブジェクト
110 ビューポート
120 カメラ、メインカメラ
200 計算方法、方法
300 マイクロプロセッサ
301 メモリ、メモリゾーン
420 専用カメラ、カメラ
501 3Dオブジェクト、オブジェクト、第1のオブジェクト
502 3Dオブジェクト、オブジェクト
503 3Dオブジェクト、オブジェクト、第2のオブジェクト
504 3Dオブジェクト、オブジェクト、第3のオブジェクト
510 テクスチャ、リアルテクスチャ、リアルテクスチャ画像、テクスチャ画像
600 オブジェクト
610 テクスチャ画像、プレーンテクスチャ、プレーンテクスチャ画像
6101 所定の色、所定の色テクスチャ
710 新しい色、色
711、712、713 ゾーン
800 テストゾーン
810 ポイント、測定ポイント、テストポイント
I1 第1の反復
I2 第2の反復
S 最終可視性スコア、最終スコア、可視性スコア
S1 第1の可視性スコア、可視性スコア
S2 第2の可視性スコア、可視性スコア
S205、S260 ステップ
S210 ステップ、選択ステップ、選択するステップ
S220 ステップ、関連付けステップ
S2201 サブステップ、関連付けステップ
S2202 サブステップ
S230 ステップ
S240 ステップ、読み出すステップ
S250 ステップ、比較するステップ
S270 ステップ、テストするステップ
Sp 部分的可視性スコア、可視性スコア
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】