(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-28
(54)【発明の名称】三次元環境のボクセルモデルからの表面メッシュの生成
(51)【国際特許分類】
G06T 19/00 20110101AFI20240521BHJP
G06T 15/00 20110101ALI20240521BHJP
【FI】
G06T19/00 A
G06T15/00 501
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023572128
(86)(22)【出願日】2022-05-13
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 FR2022050913
(87)【国際公開番号】W WO2022243626
(87)【国際公開日】2022-11-24
(32)【優先日】2021-05-21
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523438809
【氏名又は名称】ノヴァクアーク
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】グリ,ギョーム
(72)【発明者】
【氏名】トレットナー,フィリップ ウーリッヒ
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050CA07
5B050EA07
5B050FA05
(57)【要約】
通信端末のセット上の三次元環境のビューを、ボクセルのグリッドの形態でサーバ上に記憶された環境のモデルに基づいて生成するための方法であって、このサーバが、
-グリッドをサブグリッドのセットに分割する工程(S1)と、
-各サブグリッドについて表面メッシュを生成する工程(S2)と、
-各サブグリッドについて、メッシュのエッジ領域を除くメッシュのサブ部分を単純化し、エッジの各頂点をボクセルに関連付けるテーブルを作成する工程(S3)と、
-大域表面メッシュを形成するために、このテーブルを使用してサブグリッドのメッシュを組み立てる工程(S4)と、
-大域表面メッシュを通信端末に送信する工程(S5)、及び大域表面メッシュと、通信端末の各々に関連付けられた視点と、に基づいて、三次元環境のビューを生成する工程(S6)と、を実装する、方法。
【選択図】
図5
【特許請求の範囲】
【請求項1】
通信端末のセットにわたる三次元環境のビューを、ボクセルのグリッドの形態でサーバ上に記憶された前記環境のモデルから生成するための方法であって、前記サーバが、
-前記グリッドの少なくとも一部分をサブグリッドのセットに分割する工程(S1)と、
-前記セットの各サブグリッドについて表面メッシュを生成する工程(S2)と、
-前記サブグリッドの各々について、前記表面メッシュのエッジ領域を除く前記表面メッシュのサブ部分を単純化する工程(S3)、及び前記エッジの各頂点をボクセルに関連付けるテーブルを作成する工程と、
-大域表面メッシュを形成するために、前記テーブルを使用して、前記セットの前記サブグリッドの表面メッシュを組み立てる工程(S4)と、
-前記大域表面メッシュを前記通信端末に送信する工程(S5)、及び前記大域表面メッシュと前記通信端末の各々に関連付けられた視点と、に基づいて、前記三次元環境のビューを生成する工程(S6)と、を実装する、方法。
【請求項2】
遷移表面が、前記ボクセルに関連付けられ、前記表面メッシュが、前記遷移表面に基づいて生成される、請求項1に記載の方法。
【請求項3】
前記サーバが、前記モデルの修正を検出したときに、前記修正に対応する表面メッシュの再計算のための要求を待ち行列に挿入し、前記待ち行列内に存在し、かつ1つの同じサブグリッドに関連する再計算要求が、前記サブグリッドについての表面メッシュの単一の生成を実施するように処理される、請求項1又は2に記載の方法。
【請求項4】
前記組み立て工程(S4)が、前記大域表面メッシュの追加の単純化のサブ工程を含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
1つ以上の情報処理プラットフォーム上で実行されたときに、請求項1~4のいずれか一項に記載の方法を実装するための命令を有する、コンピュータプログラム。
【請求項6】
三次元環境のビューを前記環境のモデルから生成するためのサーバであって、前記モデルをボクセルのグリッドの形態で記憶するためのメモリと、処理手段であって、
-前記グリッドの少なくとも一部分をサブグリッドのセットに分割すること(S1)と、
-前記セットの各サブグリッドについて表面メッシュを生成すること(S2)と、
-前記サブグリッドの各々について、前記表面メッシュのエッジ領域を除く前記表面メッシュのサブ部分を単純化すること(S3)、及び前記エッジの各頂点をボクセルに関連付けるテーブルを作成することと、
-大域表面メッシュを形成するために、前記テーブルを使用して、前記セットの前記サブグリッドの表面メッシュを組み立てること(S4)と、
-前記大域表面メッシュを前記通信端末のセットに送信する(S5)ことであって、各端末が、前記大域表面メッシュと、前記通信端末の各々に関連付けられた視点と、に基づいて、前記三次元環境のビューを生成する(S6)ために提供されている、送信することと、を実装するための処理手段と、を備える、サーバ。
【請求項7】
遷移表面が、前記ボクセルに関連付けられ、前記表面メッシュが、前記遷移表面に基づいて生成される、請求項1~6に記載のサーバ。
【請求項8】
前記サーバが、前記モデルの修正を検出するときに、前記サーバが、前記修正に対応する表面メッシュの再計算のための要求を待ち行列に挿入し、前記待ち行列内に存在し、か
つ1つの同じサブグリッドに関連する再計算要求が、前記サブグリッドについての表面メッシュのその単一の生成を実施するように処理される、ように更に構成されている、請求項6又は7に記載のサーバ。
【請求項9】
前記組み立て工程(S4)が、前記大域表面メッシュの追加の単純化を含む、請求項6~8のいずれか一項に記載のサーバ。
【請求項10】
請求項6~9の一項に記載のサーバと、少なくとも1つの通信端末と、を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末のセットによる、同じコンピュータサーバによって管理される三次元環境のビューの生成に関する。本発明は、特に、「ビデオゲーム」タイプのマルチユーザ仮想ユニバースの分野に適用される。
【背景技術】
【0002】
仮想三次元環境の分野は、急速に成長している。このタイプの環境は、特定の特性を修正することと、可能な限り最も現実的な様式で移動することと、によって、多数のユーザが、環境内で対話することを可能にする。
【0003】
ユーザの動きは、ユーザの視点及びユーザの視野に影響を与えるので、三次元環境の表示は絶えず変化しなければならない。追加的に、ユーザの動きは、他のユーザに視認可能である可能性があり、これもまた、ユーザが世界で有しなければならない個人的なビューに影響を与える。
【0004】
加えて、いくつかの三次元環境は、ユーザが変化を加えることを可能にし、これは、例えば、既存のオブジェクトをくり抜くこと、又は新しいオブジェクトを作成することによって、環境に影響を与えることがある。これらの修正は、他のユーザが有する三次元環境のビューにも反映されなければならない。
【0005】
様々な既存の三次元環境の中で、特に、本出願人によって実装され、「デュアルユニバース」と呼ばれるものを引用することが可能である。デュアルユニバースは、大規模マルチプレーヤ空間シミュレーションビデオゲームである。ゲームは、「単一の、連続した、かつ分けられていない」ユニバースで行われるものであり、一人称ゲームである。
【0006】
ゲームによって実装される環境に関する説明は、ウェブサイト(https://www.dualuniverse.game)、又はウィキペディアのページ(https://en.wikipedia.org/wiki/Dual_Universe)で見出すことができ、ウィキペディア自体には多数のドキュメント参照が提供されている。
【0007】
当然ながら、「マインクラフト」ゲームで実装されているような他の三次元環境も利用可能である。
【0008】
三次元環境をモデル化するには、様々な方法がある。1つの可能性は、二次元デジタル画像をピクセルのアレイから離散化することができるのと同じ方式で、環境をボクセルのマトリックス又は「グリッド」に離散化することである。「デュアルユニバース」環境は、特に、このようなモデル化に基づいて動作する。
【0009】
三次元環境を視認できるようにするために、この環境に関するデータは、ユーザに関連付けられた通信端末に送信されなければならない。ユーザの反復的な対話のために、これらのデータは、ユーザが有する三次元環境のビューを「リフレッシュ」するために、少なくとも部分的に、非常に規則的な様式で送信されなければならない。
【0010】
しかし、デュアルユニバース、マインクラフトなどの没入型ゲームで使用されるユニバースなどの大きな環境のボクセルモデルは、非常に大量のデータを含意する。データの量は、環境のサイズ及び使用される離散化に直接依存する。
【0011】
したがって、三次元環境を管理するサーバ及び様々な通信端末から転送される量も非常に大きく、通信ネットワークと、サーバ及び/又は通信端末を実装するコンピューティングリソースとの両方に、非常に高い制約を伴う可能性がある。
【0012】
しかしながら、単一のサーバによって管理される環境のサイズを(大幅に)制限しないという選択がなされるやいなや、2つの手段が可能であると思われる。
【0013】
まず、ボクセルモデルをユーザに送信することが可能である。しかしながら、そのような手法は、通信ネットワークの輻輳を引き起こし、ユーザ、特に非常に高い転送レートを有していないユーザによって知覚されるサービスの品質を損なう可能性がある。追加的に、それは、ユーザの通信端末が、スクリーン又は任意の他のヒューマンマシン境界面(仮想現実マスクなど)上にレンダリングされることを可能にする、データ構造へのボクセルモデルの変換を実施するために十分な性能を有する必要がある。また、ホストは通常、発信帯域幅の使用に対する支払いを必要とし、したがって、この手法は、著しい経済的影響を有する可能性がある。
【0014】
別の手段は、サーバ上でこの変換を実施し、視認されるデータを各ユーザに送信することにある。しかし、このメカニズムは、サーバ側の計算のコストがユーザの数に比例するという事実、及び計算されるデータが環境内のユーザの視点に依存し、したがってユーザごとに異なるという事実に直面する。その場合、サーバはかなりのコンピューティングリソースを必要とし、これにより、そのコストが増大し、そのような三次元環境のオペレータにとって法外なものとなる可能性がある。
【0015】
その場合、いくつかのシステムによって採用される提案は、ユニバースのサイズを制限し、各ユニバースに別個のサーバを関連付け、その結果、限られた数のユーザのみが対話できるようになるということにある。しかしながら、この提案は、これらの三次元環境が提供することができるレクリエーション及び没入の可能性に不利益な制限を形成する。
【発明の概要】
【0016】
本発明は、前述の欠点を少なくとも部分的に克服する解決策を提供することを目的とする。特に、必要なリソース(送信及び計算)を最小化することによって、視認自体とユーザ体験の両方の質に(特にジッタ、反応時間などに関して)影響を与えることなく、多数の移動端末による単一の三次元環境の視認を可能にすることを目的とする。
【0017】
この目的のために、第1の態様によれば、本発明は、通信端末のセットにわたる三次元環境のビューを、ボクセルのグリッドの形態でサーバ上に記憶された当該環境のモデルから生成するための方法であって、当該サーバが、
-当該グリッドの少なくとも一部分をサブグリッドのセットに分割する工程と、
-当該セットの各サブグリッドについて表面メッシュを生成する工程と、
-当該サブグリッドの各々について、当該表面メッシュのエッジ領域を除く当該表面メッシュのサブ部分を単純化する工程、及び当該エッジの各頂点をボクセルに関連付けるテーブルを作成する工程と、
-大域表面メッシュを形成するために、当該テーブルを使用して、当該セットの当該サブグリッドの表面メッシュを組み立てる工程と、
-当該大域表面メッシュを当該通信端末に送信する工程、及び当該大域表面メッシュと、当該通信端末の各々に関連付けられた視点と、に基づいて、当該三次元環境のビューを生成する工程と、を実装する、方法によって実装され得る。
【0018】
好ましい実施形態によれば、本発明は、以下の特徴のうちの1つ又はいくつかを含み、これらは、別々に、又は互いに部分的に組み合わせて、又は互いに全体的に組み合わせて
使用され得る。
-遷移表面が、当該ボクセルに関連付けられ、当該表面メッシュが、当該遷移表面に基づいて生成されること、
-当該サーバが、当該モデルの修正を検出したときに、当該修正に対応する表面メッシュの再計算のための要求を待ち行列に挿入し、当該待ち行列内に存在し、かつ1つの同じサブグリッドに関連する再計算要求が、当該サブグリッドについての表面メッシュの単一の生成を実施するように処理されること、
-組み立て工程が、大域表面メッシュの追加の単純化のサブ工程を含むこと。
【0019】
別の態様によれば、本発明はまた、1つ以上の情報処理プラットフォーム上で実行されたときに、前述の方法を実装するための命令を含むコンピュータプログラムによって実装され得る。
【0020】
本発明の他の実施形態は、三次元環境のビューを、当該環境のモデルから生成するためのサーバであって、当該モデルをボクセルのグリッドの形態で記憶するためのメモリと、処理手段であって、
-当該グリッドの少なくとも一部分をサブグリッドのセットに分割することと、
-当該セットの各サブグリッドについて表面メッシュを生成することと、
-当該サブグリッドの各々について、当該表面メッシュのエッジ領域を除く当該表面メッシュのサブ部分の単純化、及び当該エッジの各頂点をボクセルに関連付けるテーブルを作成することと、
-大域表面メッシュを形成するために、当該テーブルを使用して、当該セットの当該サブグリッドの表面メッシュを組み立てることと、
-当該大域表面メッシュを通信端末のセットに送信することであって、各端末が、当該大域表面メッシュと、当該通信端末の各々に関連付けられた視点とに基づいて、当該三次元環境のビューを生成するために提供される、送信することと、を実装するための処理手段と、を備える、サーバに関する。
【0021】
好ましい実施形態によれば、本発明は、以下の特徴のうちの1つ又はいくつかを含み、これらは、別々に、又は互いに部分的に組み合わせて、又は互いに全体的に組み合わせて使用され得る。
【0022】
-遷移表面が、当該ボクセルに関連付けられ、当該表面メッシュが、当該遷移表面に基づいて生成されること、
-サーバは、当該サーバが、当該モデルの修正を検出したときに、当該修正に対応する表面メッシュの再計算のための要求を待ち行列に挿入し、当該待ち行列内に存在し、かつ1つの同じサブグリッドに関連する再計算要求が、当該サブグリッドについての表面メッシュの単一の生成を実施するように処理されるように、更に構成されていること、
-組み立てが、大域表面実メッシュの追加の単純化を含むこと。
【0023】
本発明の他の実施形態は、上で定義されたサーバと、少なくとも1つの通信端末と、を備えるシステムに関する。
【0024】
本発明の更なる特徴及び利点は、添付の図面を参照して例として与えられる、本発明の好ましい実施形態の以下の説明から明らかになるであろう。
【図面の簡単な説明】
【0025】
添付の図面は、本発明を示す。
【
図1】本発明が適合し得る一般的な状況を概略的に示す。
【
図2】本発明の一実施形態によるボクセル及び頂点の原理を概略的に示す。
【
図3】本発明の一実施形態による方法の流れ図を概略的に示す。
【
図5】三次元環境を表すグリッド及びサブグリッドに分ける例を概略的に示す。
【発明を実施するための形態】
【0026】
本発明は、特に、様々なプレーヤが仮想及び三次元環境、又はユニバースにおいて対話することができる、大規模マルチプレーヤビデオゲームに適用される。しかしながら、本発明は、同じ三次元環境を、この環境を管理するサーバに同時に接続された数人のユーザ間で共有することを必要とする、他の事業分野における用途も見出すことができる。
【0027】
図1は、本発明が一実施形態に従って適合し得る状況を示している。
【0028】
少なくとも1つの通信端末31、32、33は、通信ネットワーク20を介してサーバ10に接続されている。
【0029】
これらの通信端末は、電気通信ネットワークを通じて情報の通信を可能にする任意の情報処理プラットフォームであり得る。具体的には、コンピュータ、コンピュータに接続されたコンソール、スマートフォンなどであり得る。
【0030】
これらの通信端末はまた、少なくとも1つのプロセッサと、コンピュータ命令を記憶するためのメモリと、を有する。通信手段は、異なるタイプのアクセスネットワーク、すなわち、セルラーネットワーク、特に、第4世代又は第5世代、WLAN若しくはWIFIなどのローカルネットワーク、又はBluetooth若しくはNFD(近距離無線通信)などの近接ネットワークなどへの接続を可能にすることができる。
【0031】
通信ネットワーク20は、遠隔ユーザが同じサーバに接続することを可能にするために、インターネットなどの大域ネットワークを含み得るサブネットワークの相互接続として見ることができる。通信ネットワークはまた、大域「インターネット」ネットワークへの通信端末31、32、33の接続を可能にするアクセスネットワークを含み得る。
【0032】
サーバ10は、固有情報を処理するためのデバイスとして、又はサーバファーム若しくはクラウドコンピューティングインフラストラクチャの形態で配置された複数のデバイス上に展開され得る機能サーバとして見ることができる。
【0033】
サーバは、ボクセルのグリッドの形態で三次元環境のモデル11の記憶を可能にするメモリ(又はメモリのセット)を有する。
【0034】
サーバはまた、このモデルから大域表面メッシュを生成するためのソフトウェア手段を有する。この大域表面メッシュは、それぞれ、メッセージ41、42、43によって通信端末に送信され得る。
【0035】
本発明の文脈では、通信端末の複数のユーザ(又はプレーヤ)が、単一の(機能)サーバ10によって管理される同じ三次元環境11を共有することができる。後で見られるように、サーバによる大域表面メッシュの生成は、(例えば、ボクセルモデルの送信と比較して)端末に送信される情報量を低減する。
【0036】
次いで、端末は、この大域表面メッシュに基づいて、この三次元環境の(主観的な)ビューを生成することができる。このメッシュはすべての端末に対して同じであるが、ビューは主観的であり、各ユーザのビューの位置及びパラメータ(方向、角度など)に依存する。
【0037】
以下、「ボクセル」(「体積要素」を表す)は、2Dデジタル画像化におけるピクセルの三次元等価物を指す。等方性3Dユニバースを考えた場合、ボクセルは、基本立方体の外観を有する。
【0038】
「ピクセル」と同様に、データをボクセルに関連付けることが可能である。これらのデータは、特に、表示中のボクセルの外観をガイドすることができる。それらは特に、色、透明度、光強度などを判定することができる。
【0039】
ボクセルの概念は、3D画像化において一般的なものであり、特にウィキペディアのページ(https://fr.wikipedia.org/wiki/Voxel)に詳細に説明されている。
【0040】
図2は、ボクセル内に離散化されたオブジェクト200を示しており、いくつかは視認可能であり、他はマスクされている。
【0041】
各ボクセル210は、8つの対応する頂点211、212などを有し得る。頂点は、基準フレーム内で3つの座標x、y、zによって特徴付けることができるボクセルの頂部である。
【0042】
三次元環境11は、ボクセルの三次元グリッドとみなされ得る。したがって、この環境のオブジェクトは、その場所に対応するボクセルに特定の値を割り当てることによって表される。これらのボクセルの値は、特に、このオブジェクトの外観、つまり、色、物質などに対応し得る。
【0043】
オブジェクトは、非常に大きいサイズのもの(例えば惑星)であり得るか、又はより小さいサイズのもの(宇宙船、キャラクタ、若しくは更にはツール)であり得る。
【0044】
三次元環境を表すグリッドは、かなりのサイズであり得、この環境のサイズ及び離散化の解像度(すなわち、ユニバースのサイズに対するボクセルのサイズ)の両方に依存する。
【0045】
ボクセルのグリッドの形態の環境のそのようなモデルの利点のうちの1つは、ユーザによるその修正の相対的な単純さ、つまり、実際にはボクセルの1つの値を修正するだけで十分であり得るということである。例えば、オブジェクトを構築することは、このオブジェクトの場所及び幾何学的形状に対応するボクセルの値を修正することに相当する。オブジェクト(例えば、惑星の地面)を作成することは、押し出された領域のボクセルに「透明」値(空気に対応する)を割り当てることに相当し、これは、マスクされたボクセルを自動的に視認可能のままにする。
【0046】
様々な解像度モードによれば、各ボクセルに、その色若しくはレンダリング情報、又は例えば物質(汚れ、岩、金属、プラスチック、空気など)などのより高いセマンティックレベルの情報を直接関連付けることが可能である。後者の場合、レンダリング(特に、色、強度など)は、後続の工程において、例えば、各通信端末に展開されたレンダリングエンジンによって、このセマンティック情報から判定される。
【0047】
追加的に、他のタイプの情報が、グリッドのボクセルに関連付けられ得る。例えば、そこに、幾何学的情報、特に遷移表面を定義する情報が関連付けられ得る。
【0048】
この遷移表面は、ボクセルの外観よりも小さなスケールレベルで、ボクセルの外観に影
響を与えることを可能にする。特に、これは、いくつかのボクセルにわたって滑らかな(すなわち、不連続性のない)表面をモデル化することを可能にする。
【0049】
図4は、8つの頂点が、V
11、V
12、V
13、V
14、V
21、V
22、V
23、V
24で表されるボクセルと、遷移表面A、B、C、Dと、を示している。
【0050】
例えば、4つの頂点A、B、C、Dの位置を示すことによって、ボクセルを以下のように2つの部分に分割する四辺形を定義することが可能である。
-
図4において点線によって表される第1の部分、V
11、V
12、V
13、V
14、V
21、V
22、V
23、V
24は、ボクセルのレンダリング値(色、物質など)に対応し得、
-第2の部分、V
21、V
22、V
23、V
24、A、B、C、Dは、面V
21、V
22、V
23、V
24による隣接するボクセルのレンダリング値に対応し得る。
【0051】
この遷移表面は、隣接するボクセルが透明であるときに本質的に機能する。この場合、ボクセルV11、V12、V13、V14、V21、V22、V23、V24は、形状V11、V12、V13、V14、V21、V22、V23、V24として表すことができ、立方体ではない。
【0052】
遷移表面が、隣接するボクセルについて、他の面(V12、V13、V22、V23)、(V11、V14、V21、V24)、(V14、V13、V24、V23)、(V11、V12、V21、V22)によって正確に定義される場合、これにより、それぞれの境界表面の連結によって、いくつかのボクセルにわたる連続表面を取得することが可能である。この結果は、より自然な美的レンダリングを可能にし、例えば、「マインクラフト」環境などで、オブジェクト及び風景の離散化を回避することを可能にする。
【0053】
そのような環境のモデルから、環境の大域表面メッシュを生成することが可能である。このメッシュは、三次元環境の表面のみを表すデータ構造であり、すなわち、異なるユーザがその視点に基づいて視認可能であり得るものである。このメッシュは、ユーザに依存せず、必要なときに生成され、サーバに接続された様々な通信端末に送信される。上述したように、各端末は、次いで、この大域表面メッシュとその主観的データ(環境内の位置、ビューの方向/角度など)の両方に基づいて、ユニバースのビュー、つまり「レンダリング」を生成することができる。
【0054】
本発明によれば、大域表面メッシュの生成は、サーバによっていくつかの工程で実行される。
【0055】
図3の第1の初期工程S1は、三次元環境のグリッドの少なくとも一部をサブグリッドのセットに分割することにある。
【0056】
各工程においてボクセルのグリッド全体を考慮することは、以下のように二重に無効であるように見える。
-メモリ消費は、アルゴリズムの入力ボクセルデータに対して数ギガバイトのオーダーであり、
-追加的に、ボクセルのグリッドのわずかな修正は、メッシュの完全な再計算及び単純化アルゴリズムの適用を必要とする(
図3の工程S2~S6)。
【0057】
これらの問題を改善するために、メイングリッドはサブグリッドに分けられる。これらのサブグリッドは、立方体であり得、固定サイズであり得る。
【0058】
図5は、三次元環境を表すグリッド400の一例を概略的に示している。この例では、このグリッドは、4つのサブグリッド410、420、430、440に分割された。これらのサブグリッド410の各々は、複数のボクセル411、412、413、414、415などを含む。当然ながら、実際には、サブグリッドは、実質的により多数のボクセルを含み、グリッドは、はるかに多数のサブグリッドを含む。また、
図5におけるサブグリッド間のギャップは、単に図を明確にするためのものであり、具体的な現実を表すものではなく、したがって、頂点AはエッジV
11~V
21上にあり、頂点BはエッジV
14~V
24上にある、といった具合である。
【0059】
したがって、各サブグリッドは、大域グリッドのサイズよりも実質的に小さいサイズのデータ構造を形成する。更に、サーバ10が利用可能なコンピューティングのリソースに基づいて、サブグリッドのサイズを最適に判定することが可能である。
【0060】
大域表面メッシュの生成の後続工程は、最初に実行することができ、モデル11が修正されたときに再び実行することができる。
【0061】
これらの修正は、上述したように、他の原因、すなわち、新しいオブジェクトの作成、オブジェクトの破壊、オブジェクトの修正などを有し得る。一般に、これらの様々な原因は、ボクセルに関連付けられた値(色、物質、遷移表面など)の修正をもたらす。
【0062】
一実施形態によれば、モデルにおける修正の検出は、再計算要求を生成し、再計算要求は待ち行列に入れられる。この待ち行列は、メッシュ生成モジュールによって消費される。あるメカニズムが、いくつかの再計算要求を集約することを可能にし、したがって、例えば、単一のサブグリッドのいくつかの連続した修正に対して表面メッシュを数回計算することは逆効果である。
【0063】
したがって、本発明の一実施形態によれば、メッシュ生成モジュールが利用可能であるとき、メッシュ生成モジュールは、待ち行列内の第1の要求を消費し、この第1の要求と同じサブグリッドに関連する他の要求を検索し(待ち行列全体における検索、又は時間ウィンドウに従う検索など)、(それぞれの要求に対応する)様々な修正を考慮して、このサブグリッドに対する表面メッシュを1回だけ生成する。
【0064】
したがって、この実施形態によれば、FIFOタイプ(「先入れ先出し」、First
In,First Out)の待ち行列が設定される。この実施形態は、サーバ上に固定された有限のコンピューティング能力が存在する限りにおいて興味深いものであり、サーバが飽和している場合にメッシュ更新頻度を低減すること、及び利用可能なコンピューティング能力が存在する場合に、より高速な更新を有することを可能にする。この手法は、メッシュの送信回数の低減、したがって帯域幅コストの低減を可能にするので、本発明の文脈においても有益である。
【0065】
メッシュ更新要求が非常に可変である場合、動的サイズのコンピューティングインフラストラクチャに基づく別の実施形態を選択することが有益であり得る。メッシュの更新頻度が強く保証されるべきメトリックである場合、動的サイズインフラストラクチャも関連するであろう。
【0066】
工程S2において、サーバは、1つ以上のサブグリッドについて表面メッシュを生成することができる。典型的には、モデルの修正によって影響を受けるサブグリッドのみを再び生成することができる。
【0067】
ボクセルデータは、通常、直接視認することができない。したがって、不透明ボクセル
と透明ボクセルとの間の境界面を表すメッシュが生成されて、ユーザがこのデータを視認することを可能にする。したがって、外観のみが必要な場合、この境界面上にないすべての情報は完全に不要である。
【0068】
ボクセルデータを表すメッシュを生成するために、隣り合うボクセルの対を考慮することができる。2つのボクセルのうちの一方が不透明物質を有し、他方が透明物質を有する場合、不透明物質が割り当てられる2つのボクセルの間に四辺形が生成される。
【0069】
一実施形態によれば、四辺形の頂点の位置は、上記で説明したように、ボクセルに関連付けられた遷移表面に関する情報を使用して調整される。
【0070】
このようにして、サブグリッドの隣り合うボクセルの対のセットを考慮すると、表面メッシュ、すなわち、不透明ボクセル(又はボクセル部分)(空気とは異なる物質に対応する)と、透明ボクセル(又はボクセル)(空気に対応する)との間の境界表面のみを記述するデータ構造が効果的に取得される。この表面メッシュは、三次元環境の視認可能部分に対応する。
【0071】
一実施形態によれば、サブグリッドの表面メッシュの生成は、各ボクセルに対応する四辺形を三角形に変換することにある三角分割サブ工程を含む。
【0072】
この三角分割は、サブグリッドのテッセレーション、つまりタイリングを生成する。それにもかかわらず、三角形の数は非常に多くなる可能性があり、これは、サーバによる効率的な処理にとって最適ではない。
【0073】
そのような三角分割を単純化するために、文献は多数の解決策を提案している。特に、より大きなサイズの多角形を構成するために、同一平面上の三角形を集約することが可能である。
【0074】
簡単な単純化は、隣り合う三角形が同一平面上にあるか否かを検証するための表面メッシュの各点(頂点)の分析に基づくことができ、同一平面上にある場合、この点は削除され、該当の三角形は単一の多角形に統合される。
【0075】
他のアルゴリズムが存在し、メッシュの単純化を最適化することを可能にする。
【0076】
この場合、開始メッシュは「良質」ではないことに留意すべきである。特に、この段階で利用可能なメッシュは多様体ではない。メッシュがn多様体であると言われるのは、稜線において最大n個の平面表面が接続されている場合である。したがって、2多様体メッシュは、稜線が多くとも2つの平面表面の境界である表面のアレイである。
【0077】
非多様体メッシュは一般に取り扱いが難しく、多数の単純化アルゴリズムに問題を提起する。したがって、本発明の特定の制約の範囲内で好適なアルゴリズムを選択するために精選が行われなければならない。
【0078】
したがって、フリーソフトツールとして利用可能であり、著者M.Garlandの論文「Quadric-based Polygonal Surface Simplification,」School of Computer Science of Pittsburgh,May 1999に記載されているQSIimアルゴリズムを引用することができる。
【0079】
「Fast and Robust QEF Minimization using
Probabilistic Quadrics」by Philip Trettner,Leif Kobbeltに記載されているアルゴリズムを引用することも可能であり、これは、http://www.graphics.rwth-aachen.from/public/03308/で利用可能である。
【0080】
本発明によれば、単純化アルゴリズムは、サブグリッドの表面メッシュのサブ部分に対してのみ実装される。このサブ部分は、エッジ領域から除外されたサブグリッドに対応する。
【0081】
実際に、メッシュは、エッジ領域から除外される。このエッジ領域は、サブグリッドの境界上のマージンによって定義され得る。
【0082】
特に、頂点のうちの少なくとも1つがサブグリッドのメッシュのエッジに(すなわち、別のサブグリッドのメッシュ内で直接の隣接ボクセルを有するボクセルに)属するメッシュの三角形のセットによって、エッジ領域を定義することが可能である。
【0083】
この目的は、2つのサブグリッド間の接合部を判定し、幾何学的形状の単純化誤差を評価するのに必要な情報の損失を回避することである。
【0084】
このテーブルは、領域のエッジにおける三角形の異なる頂点から、どのボクセルが来るかを示している。
【0085】
本発明の一実施形態によれば、頂点は、事前定義された規則に従って、単一のボクセルに関連付けられる。例えば、所与の基準フレームに基づいて、各頂点は、左下のボクセルに任意に関連付けられる。
【0086】
したがって、テーブルは、ボクセルのグリッドと頂点のグリッドと[(頂点1、ボクセル1)、(頂点2、ボクセル2)など]の間の単一の一致を可能にする。
【0087】
各メッシュは、隣接するメッシュから独立して生成され得、サブグリッドに必要なメモリのみを必要とする。追加的に、サブグリッドが固定された既知のサイズを有するという事実は、サブグリッドのサイズの選択に従ってサーバを最適な大きさにすることを可能にする。
【0088】
例えば、
【0089】
【数1】
ボクセルのサブグリッドで動作するように選択することが可能である。各ボクセルのデータ構造は、約30バイトの情報を表す。したがって、サブグリッドは、約1メガバイトを表す。
【0090】
一般に、サブグリッドの大部分は、幾何学的形状を含まない(空気と物質との間に遷移がないため)。したがって、対応するメッシュは一般に、ボクセルデータのサイズに比べて小さい。非縮退構造の場合、このサイズは、セルのメッシュの部分的な単純化工程の後、サブグリッドメッシュ当たり10キロバイトのオーダーである。
【0091】
メッシュの例は、4000個のサブグリッドから構成され得、これは、完全なメッシュ
の製作及び単純化のための数百メガバイトの処理サイズに相当する。
【0092】
工程S4において、サーバは、大域表面メッシュを形成するために、サブグリッドの表面メッシュを組み立てる。
【0093】
先で見られるように、サーバは、環境のモデルの修正によって影響を受けるサブグリッドのメッシュのみを生成することができる。したがって、組み立ては、様々な年齢のサブグリッドを組み立てることにあり得る。
【0094】
前の工程S3で生成された中間メッシュは、単純化及びサブグリッドの制御されたサイズに起因して、比較的小さい。サーバがそれらを同時にメモリ内に有することには、特に問題はない。
【0095】
この組み立ては、各サブグリッドのメッシュを連結し、各サブグリッドに関連付けられたテーブルを使用して、2つの連続するメッシュ間の接合領域を形成することにある。
【0096】
本発明の一実施形態によれば、テーブル内のすべての接合ボクセルが観察される。接合部において空気から物質への遷移(1つのサブグリッドにおける空気及び隣接するサブグリッドにおける物質)がある場合、これらのボクセルに関連付けられた頂点を接続することによって三角形が追加される。
【0097】
本発明の一実施形態によれば、組み立て工程は、大域表面メッシュを単純化するサブ工程を更に含む。
【0098】
この単純化のアルゴリズムは、工程S3で展開されたものと同様であり得るが、グリッド全体に対して、エッジ領域を除外することはない。
【0099】
この新たな単純化は、一方では、エッジ領域(工程S3の間に単純化され得なかった)を単純化して対に接合されるようにし、いくつかのサブグリッド上で単純化され得る領域を検出することを可能にする。例えば、多角形は、2つ(又はそれ以上)のサブグリッド上で同一平面上にあり得、これらの多角形を統合することによってメッシュ全体を単純化することが可能である。
【0100】
この大域表面メッシュは、任意選択的な追加の単純化の後に、工程S5の間にサーバによって通信端末に送信され得る。
【0101】
それらの各々は、次いで、工程S6において、当該大域表面メッシュ及び端末に関連付けられた視点に基づいて、三次元環境のビューを独立して生成することができる。面メッシュからビューを構築するこの工程は、それ自体従来のものであり、異なる3Dレンダリング技法によって実装することができる。
【0102】
例として、「Zバッファ」の周知の方法について言及することができ、この方法は、シーンのどの要素がレンダリングされなければならず、どの要素が他の要素によって隠され、どの順序でオブジェクトの表示が行われるべきかを判定することによって、視認可能性問題に対処することを可能にする。
【0103】
ビューを生成するこの工程は、端末のユーザが環境を視認することができるスクリーンを表す二次元表面に向けて、表面メッシュを投影することを更に含み得る。
【0104】
したがって、本発明によれば、単純化された表面メッシュを表すデータのみが通信端末
に送信される。これらのデータは、ボクセルモデルのデータと比較してわずかに大きい。追加的に、この表面メッシュは、ユーザの視点に対して不可知である。したがって、「ブロードキャスト」タイプの送信を実装することができ、計算の一部をユーザ端末にオフロードすることができる。
【0105】
更に、グリッドをサブグリッドに分けることによって、低減されたサイズのデータ構造を操作することを可能にし、環境の各修正において再計算されるデータの量を最小化することによって、サーバの負荷を制御下に保つことを可能にする。
【0106】
このメカニズムは、環境の修正の数が環境内を移動するユーザの数と比較して相対的に少なく、したがって、環境更新を受信しなければならない場合に、特に適切である。実際に、修正は、サブグリッドのみに影響を与え、サブグリッドの再計算、及び組み立てによる大域表面メッシュの再計算という小さな限界最小値のみを必要とする。
【0107】
当然ながら、本発明は、説明及び図示された例及び実施形態に限定されず、特許請求の範囲によって定義される。特に、当業者が利用可能な多数の変形が可能である。
【国際調査報告】