JP2022529201A - 意味論的拡張人工現実体験 - Google Patents

意味論的拡張人工現実体験 Download PDF

Info

Publication number
JP2022529201A
JP2022529201A JP2021540494A JP2021540494A JP2022529201A JP 2022529201 A JP2022529201 A JP 2022529201A JP 2021540494 A JP2021540494 A JP 2021540494A JP 2021540494 A JP2021540494 A JP 2021540494A JP 2022529201 A JP2022529201 A JP 2022529201A
Authority
JP
Japan
Prior art keywords
computing device
artificial reality
digital map
anchor
client device
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.)
Pending
Application number
JP2021540494A
Other languages
English (en)
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.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies LLC
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 Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of JP2022529201A publication Critical patent/JP2022529201A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一実施形態では、方法は、現実世界領域のデジタルマップにアクセスすることであって、デジタルマップが、現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含む、現実世界領域のデジタルマップにアクセスすることと、デジタルマップ中のアンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信することと、アンカーのための識別子と、アンカーに対する位置情報とに基づいて、デジタルマップ内の位置を決定することと、デジタルマップ内の決定された位置からの方向ベクトルの投影と交差するデジタルマップ中の3次元メッシュを決定することと、3次元メッシュに関連するメタデータを識別することと、メタデータを第2のコンピューティングデバイスに送ることとを含む。【選択図】図1

Description

本開示は、一般に、人工現実システムに関し、詳細には、意味論的拡張人工現実体験を提供することに関する。
本発明の実施形態は、人工現実システムを含むか、または人工現実システムに関連して実装され得る。人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、ハプティックフィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。さらに、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において使用される(たとえば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せに関連し得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
特定の実施形態では、人工現実システムは、軽量クライアントデバイスを通してユーザに永続的意味論的拡張現実体験を提供し得る。人工現実システムは、クライアントデバイスが現在の環境のデジタルマップを記憶することを必要としないことがある。代わりに、サーバは、スパース(sparse)3D点特徴レイヤと、高密度三角形メッシュレイヤと、意味論的レイヤとを含む現実世界環境の3次元(3D)表現を維持し得る。クライアントデバイスは、サーバとメッセージを交換することによって、再位置特定およびその周囲の意味論的情報を取得し得る。
サーバは、収集されたビデオシーケンスに基づいて、および任意の好適な3D再構築技法を使用して、現実世界領域のデジタルマップを生成し得る。デジタルマップは、領域内の3Dオブジェクトについての3Dメッシュと、テクスチャ情報と、意味論的情報とを含み得る。サーバはまた、ユーザによって作成された人工現実オブジェクトをデジタルマップに追加し得る。人工現実オブジェクトは、人工現実オブジェクトのそれぞれのロケーションに関連し得る。サーバは、クライアントデバイスからのクエリに応答して、記憶された情報を提供し得る。クエリは、意味論的クエリと人工現実クエリとを含み得る。
人工現実サービスがクライアントデバイス上で始動されたとき、クライアントデバイスは、サーバに現在ロケーションからキャプチャされた画像を送り得る。サーバは、クライアントデバイスからの受信された画像に基づいて、クライアントデバイスの現在ロケーションを決定し得る。サーバは、クライアントデバイスのロケーション情報をクライアントデバイスに返送し得る。ロケーション情報は、1つまたは複数の利用可能なアンカーのうちの1つからの、3D座標での相対ロケーション情報を含み得る。1つまたは複数の利用可能なアンカーのうちの1つは、クライアントデバイスの現在ロケーションに最も近いアンカーであり得る。クライアントデバイスは、クライアントデバイス自体のセンサーに基づいてクライアントデバイスの移動を計算することによって、アンカーに対するクライアントデバイス自体のロケーションを追跡することが可能であり得る。センサーは、ジャイロスコープまたは加速度計を備え得る。クライアントデバイスは、一定の間隔で、クライアントデバイスの現在ロケーション情報をサーバに報告し得る。
クライアントデバイスは、3D光線によって、サーバに意味論的クエリを送り得る。3D光線は、アンカーのための識別子と、アンカーに対するクライアントデバイスの座標を表す3つの数と、クライアントデバイスの現在ロケーションから発生したベクトルを表す3つの数とによって表され得る。意味論的クエリを受信すると、サーバは、光線と交差するデジタルマップ中の3Dメッシュを決定し、メッシュが属するオブジェクトを識別し得る。サーバは、交差点と識別されたオブジェクトに関連するメタデータとを含む、識別されたオブジェクトに関する情報で応答し得る。メタデータは、識別されたオブジェクトに関連する意味論的情報を含み得る。
クライアントデバイスは、現実オブジェクトに人工現実オブジェクトをアタッチし、イベントをサーバに報告し得る。サーバは、作成された人工現実オブジェクトをデジタルマップに記録し得る。クライアントデバイスが3D光線でクエリを送ったとき、サーバは、人工現実オブジェクトに関する記憶された情報に基づいて応答し得る。したがって、任意のクライアントデバイスが、作成者が配置したロケーションにおける人工現実オブジェクトをレンダリングすることが可能であり得る。人工現実オブジェクトが物理的オブジェクトの後ろに配置されたとき、クライアントデバイスは、物理的オブジェクトによって見えなくなった人工現実オブジェクトの部分に応じて、人工現実オブジェクトを完全にまたは部分的に遮る必要がある。クライアントデバイスは、シーン中のいくつかのグリッドに光線を送ることによって、人工現実オブジェクトのどの部分が物理的オブジェクトの後ろにあるかを決定し得る。精度を改善するために、クライアントデバイスは、物理的オブジェクトが人工現実オブジェクトを見えなくするグリッド内のサブグリッドに光線を送り得る。
特定の実施形態では、サーバが、現実世界領域のデジタルマップにアクセスし得る。デジタルマップは、現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含み得る。サーバは、クライアントデバイスから、デジタルマップ中のアンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信し得る。サーバは、アンカーのための識別子と、アンカーに対する位置情報とに基づいて、デジタルマップ内の位置を決定し得る。サーバは、デジタルマップ内の決定された位置からの方向ベクトルの投影と交差するデジタルマップ中の3次元メッシュを決定し得る。サーバは、3次元メッシュに関連するメタデータを識別し得る。サーバは、メタデータをクライアントデバイスに送り得る。
特定の実施形態では、クライアントデバイスが、現実世界領域のデジタルマップ中のアンカーに対する第2のコンピューティングデバイスの現在位置を決定し得る。クライアントデバイスは、アンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリをサーバに送り得る。方向ベクトルの方向は、第2のコンピューティングデバイスに関連するカメラによって現在キャプチャされている画像中の点によって決定され得る。画像は、第2のコンピューティングデバイスに関連するディスプレイ上に表示され得る。クライアントデバイスは、サーバから、クライアントデバイスの現在位置からの方向ベクトルの投影と交差するデジタルマップ中の3次元メッシュに関連するメタデータを含む応答を受信し得る。クライアントデバイスは、画像中の交差点から所定の距離内で、3次元メッシュに関連する受信されたメタデータに基づいて人工現実オブジェクトをレンダリングし得る。方向ベクトルは、交差点において3次元メッシュと交差し得る。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式上の理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
意味論的拡張人工現実体験を提供する人工現実システムの例示的なアーキテクチャを示す図である。 再位置特定のための例示的なシナリオを示す図である。 複数のアンカーをもつ例示的な3次元空間を示す図である。 意味論的情報がユーザに提示される例示的な状況を示す図である。 人工現実オブジェクトが、サーバからのレンダリング命令に基づいてレンダリングされる、例示的な状況を示す図である。 オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別するための例示的な方法を示す図である。 受信されたメタデータに基づいて人工現実オブジェクトをレンダリングするための例示的な方法を示す図である。 例示的なコンピュータシステムを示す図である。
図1は、意味論的拡張人工現実体験を提供する人工現実システム100の例示的なアーキテクチャを示す。サーバ110は、再位置特定器111と、クライアント軌道113と、意味論的プロバイダ115と、人工現実オブジェクトマネージャ117とを含む複数の機能エンティティを備え得る。クライアントデバイス120は、再位置特定クエリ121と、位置更新123と、オブジェクトクエリ125と、人工現実クエリ127とを含む複数の機能エンティティを備え得る。クライアントデバイス120の再位置特定クエリ121は、サーバ110の再位置特定器111と対話し得る。クライアントデバイス120の位置更新123は、サーバ110のクライアント軌道113と対話し得る。クライアントデバイス120のオブジェクトクエリ125は、サーバ110の意味論的プロバイダ115および人工現実オブジェクトマネージャ117と対話し得る。クライアントデバイス120の人工現実クエリ127は、サーバの人工現実オブジェクトマネージャ117と対話し得る。サーバ111は、現実世界領域のデジタルマップ140にアクセスし得る。デジタルマップ140は、1つまたは複数の3次元再構築技法を使用して、画像の収集に基づいて生成され得る。人工現実システム100は、人工現実管理モジュール130を備え得る。人工現実管理モジュール130は、視覚化131と人工現実オブジェクト操作133とを含む複数の機能エンティティを備え得る。視覚化131は、人工現実オブジェクトと、オブジェクトの意味論的情報と、クライアントデバイスとを、デジタルマップ140中で視覚的に提示し得る。視覚化131は、サーバ110のクライアント軌道113、意味論的プロバイダ115、および人工現実オブジェクトマネージャ117と対話し得る。人工現実管理モジュール130の人工現実オブジェクト操作133は、ユーザがデジタルマップ140中で人工現実オブジェクトを追加、修正、または削除することを可能にし得る。人工現実管理モジュール130の人工現実オブジェクト操作133は、サーバ110の人工現実オブジェクトマネージャ117と対話し得る。本開示は、人工現実システム100の特定のアーキテクチャについて説明するが、本開示は、人工現実システム100の任意の好適なアーキテクチャを企図する。
特定の実施形態では、サーバ110は、現実世界領域のデジタルマップ140にアクセスし得る。デジタルマップ140は、現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含み得る。デジタルマップ140は、3D点特徴レイヤ、または意味論的レイヤをさらに含み得る。特定の実施形態では、デジタルマップ140は、3次元再構築技法のうちの1つまたは複数を使用して、画像の収集に基づいて生成され得る。収集における各画像は、現実世界領域の一部分をキャプチャし得る。特定の実施形態では、サーバ110は、デジタルマップ140を生成し得る。特定の実施形態では、デジタルマップ140は、1つまたは複数の他のコンピューティングデバイスによって生成され得る。限定としてではなく一例として、屋内エリアについてのデジタルマップ140が、複数のビデオシーケンスに基づいて生成され得る。ビデオシーケンスは、屋内エリアの一部分をキャプチャする一連の画像を含み得る。1つまたは複数のコンピューティングデバイスは、3次元再構築技法のうちの1つまたは複数を使用して、デジタルマップ140を生成し得る。本開示は、特定の様式でデジタルマップを生成することについて説明するが、本開示は、任意の好適な様式でデジタルマップを生成することを企図する。
特定の実施形態では、クライアントデバイス120は、サーバ110とメッセージを交換することによって、現実世界領域中のクライアントデバイス120の再位置特定された位置を決定し得る。クライアントデバイス120は、再位置特定要求をサーバ110に送り得る。再位置特定要求は、クライアントデバイス120の現在位置からの画像を含み得る。図2は、再位置特定のための例示的なシナリオを示す。限定としてではなく一例として、図2に示されている、クライアントデバイス120に関連するユーザが、屋内エリアのデジタルマップ140が生成された、屋内エリアに入り得る。クライアントデバイス120は、モバイルフォン、ラップトップコンピュータ、タブレットpc、ヘッドマウントディスプレイに接続されたコンピューティングデバイス、または任意の好適なコンピューティングデバイスであり得る。クライアントデバイス120は、カメラと、ディスプレイと、1つまたは複数のセンサーとを備え得る。人工現実システムのためのアプリケーションが、クライアントデバイス120上にインストールされ得る。クライアントデバイス120は、現在位置からのカメラを使用して画像225をキャプチャし得、再位置特定要求をサーバ110に送り得、再位置特定要求は、キャプチャされた画像225を含む。本開示は、特定の様式で再位置特定プロセスを始動することについて説明するが、本開示は、任意の好適な様式で再位置特定プロセスを始動することを企図する。
特定の実施形態では、サーバ110は、クライアントデバイス120から再位置特定要求を受信し得る。再位置特定要求は、領域内のクライアントデバイス120の現在位置からとられた画像225を含み得る。サーバ110は、受信された画像に基づいて、クライアントデバイス120の現在位置を計算し得る。サーバ110は、受信された画像225中のオブジェクトを識別し、デジタルマップ140中の識別されたオブジェクトの位置を決定し得る。デジタルマップ140中の識別されたオブジェクトの決定された位置に基づいて、サーバ110は、デジタルマップ140中のクライアントデバイス120の現在位置を決定し得る。より詳細には、サーバ110は、画像225をキャプチャしたカメラの現在位置を決定し得る。サーバ110は、クライアントデバイス120の計算された現在位置を含む応答をクライアントデバイス120に送り得る。クライアントデバイス120の現在位置は、デジタルマップ140中の1つまたは複数のアンカーのうちの第1のアンカーと、第1のアンカーに対するクライアントデバイス120の相対座標とによって表され得る。応答は、第1のアンカーのための識別子と、第1のアンカーに関連する座標とを含み得る。第1のアンカーは、領域中の1つまたは複数のアンカーのうちのクライアントデバイス120に最も近いアンカーであり得る。図3は、複数のアンカーをもつ例示的な3次元空間300を示す。限定としてではなく一例として、図3に示されている、4つのアンカー305A、305B、305C、および305Dが、3次元エリアに存在し得る。サーバ110は、再位置特定プロシージャに基づいて、クライアントデバイス120の現在位置が位置313にあると決定し得る。アンカー305Cは、そのエリアにおいて既存のアンカー305A~305Dのうちの位置313に最も近いアンカーであるので、サーバ120は、アンカー305Cの識別子と、アンカー305Cに対する点313の相対座標とを含む応答を準備し得る。サーバ120は、準備された応答をクライアントデバイス120に送り得る。本開示は、特定の様式でアンカーに対するクライアントデバイスの現在位置を決定することについて説明するが、本開示は、任意の好適な様式でアンカーに対するクライアントデバイスの現在位置を決定することを企図する。
特定の実施形態では、クライアントデバイス120は、サーバ110から、クライアントデバイス120の再位置特定された位置を含む応答を受信し得る。再位置特定された位置は、デジタルマップ140中のアンカーと、アンカーに対するクライアントデバイス120の相対座標とによって表され得る。クライアントデバイス120は、クライアントデバイス120に関連する1つまたは複数のセンサーからのデータに基づいてクライアントデバイス120の移動を計算することによって、クライアントデバイス120の現在位置を算出し得る。1つまたは複数のセンサーは、ジャイロスコープまたは加速度計を備え得る。限定としてではなく一例として、前の例を続けると、クライアントデバイス120は、再位置特定プロセスに基づいて、位置313がクライアントデバイス120の現在位置であると決定する。クライアントデバイス120は、クライアントデバイス120に関連するジャイロスコープまたは加速度計からのデータに基づいて、クライアントデバイス120が移動をしたことを検出し得る。クライアントデバイスは、クライアントデバイス120に関連するジャイロスコープまたは加速度計から受信されたデータを処理することによって、新しい位置315を算出し得る。新しい位置315は、アンカー305Cと、アンカー305Cに対する位置315の相対座標とによって表され得る。クライアントデバイス120は、クライアントデバイス120の現在位置を報告するために、位置更新123をサーバ110に送り得る。本開示は、特定の様式で、再位置特定された位置とクライアントデバイスに関連する1つまたは複数のセンサーからのデータとに基づいてクライアントデバイスの現在ロケーションを算出することについて説明するが、本開示は、任意の好適な様式で、再位置特定された位置とクライアントデバイスに関連する1つまたは複数のセンサーからのデータとに基づいてクライアントデバイスの現在ロケーションを算出することを企図する。
特定の実施形態では、クライアントデバイス120は、アンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリをサーバ110に送り得る。アンカーに対する位置情報は、クライアントデバイス120の現在位置の相対座標を含み得る。方向ベクトルの方向は、クライアントデバイス120に関連するカメラによって現在キャプチャされている画像中の点によって決定され得る。特定の実施形態では、点は、画像の中心点であり得る。特定の実施形態では、点は、クライアントデバイス120に関連するユーザによって選択された点であり得る。特定の実施形態では、点は、特定の目的のために、クライアントデバイス120によって選択された点であり得る。画像は、クライアントデバイス120に関連するディスプレイ上に表示され得る。本開示は、特定の様式でオブジェクトクエリをサーバに送ることについて説明するが、本開示は、任意の好適な様式でオブジェクトクエリをサーバに送ることを企図する。
特定の実施形態では、サーバ110は、クライアントデバイス120から、デジタルマップ140中のアンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信し得る。アンカーに対する位置情報は、アンカーに対するクライアントデバイス120の現在位置についての相対座標を含み得る。方向ベクトルに関連する情報は、決定された位置からのベクトルの方向を表す座標を含み得る。サーバ110は、アンカーのための識別子と、アンカーに対する位置情報とに基づいて、デジタルマップ140内のクライアントデバイス120の位置を決定し得る。サーバ110は、デジタルマップ140内の決定された位置からの方向ベクトルの投影と交差するデジタルマップ140中の3次元メッシュを決定し得る。サーバ110は、決定された3次元メッシュが属するデジタルマップ140中のオブジェクトを識別し得る。特定の実施形態では、オブジェクトは物理的オブジェクトであり得る。特定の実施形態では、オブジェクトは人工現実オブジェクトであり得る。サーバ110は、3次元メッシュに関連するメタデータを識別し得る。メタデータは、識別されたオブジェクトに関連し得る。サーバ110は、メタデータをクライアントデバイス120に送り得る。本開示は、特定の様式で、オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別することについて説明するが、本開示は、任意の好適な様式で、オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別することを企図する。
特定の実施形態では、クライアントデバイス120は、サーバ110から、クライアントデバイス120の現在位置からの方向ベクトルの投影と交差するデジタルマップ140中の3次元メッシュに関連するメタデータを含む応答を受信し得る。クライアントデバイス120は、画像中の交差点から所定の距離内で、3次元メッシュに関連する受信されたメタデータに基づいて人工現実オブジェクトをレンダリングし得る。方向ベクトルは、交差点において3次元メッシュと交差し得る。特定の実施形態では、応答は、交差点に関連する情報を含み得る。特定の実施形態では、デジタルマップ140中の3次元メッシュは、メタデータに関連しないことがある。そのような場合、サーバ110からの応答は、メタデータを含まないことがある。クライアントデバイス120は、人工現実オブジェクトをレンダリングしないことがある。本開示は、特定の様式で、オブジェクトクエリに対する応答を受信すると、人工現実オブジェクトをレンダリングすることについて説明するが、本開示は、任意の好適な様式で、オブジェクトクエリに対する応答を受信すると、人工現実オブジェクトをレンダリングすることを企図する。
特定の実施形態では、応答時に受信されたメタデータは、識別されたオブジェクトに関連する意味論的情報を含み得る。識別されたオブジェクトは物理的オブジェクトであり得る。そのような場合、クライアントデバイス120は、意味論的情報を含むテキストボックスをレンダリングし得る。図4は、意味論的情報がユーザに提示される例示的な状況を示す。限定としてではなく一例として、図4に示されている、クライアントデバイス120は、クライアントデバイス120によってキャプチャされた画像中のソファーに向かう方向ベクトルをもつオブジェクトクエリを送った。クライアントデバイス120は、サーバ110から、「グレーソファー」である、ソファーに関連する意味論的情報を含む応答を受信し得る。クライアントデバイス120は、「グレーソファー」というテキストで、画像中のテキストボックス425をレンダリングし得る。テキストボックス425の位置は、応答において受信された交差点からのしきい値距離内にある。本開示は、特定の様式で、サーバから意味論的情報を受信すると、オブジェクトに関連する意味論的情報をレンダリングすることについて説明するが、本開示は、任意の好適な様式で、サーバから意味論的情報を受信すると、オブジェクトに関連する意味論的情報をレンダリングすることを企図する。
特定の実施形態では、3次元メッシュは人工現実オブジェクトに属し得る。そのような場合、3次元メッシュに関連するメタデータは、人工現実オブジェクトについてのレンダリング命令を含み得る。クライアントデバイス120は、人工現実オブジェクトについてのレンダリング命令に基づいて、人工現実オブジェクトをレンダリングし得る。図5は、人工現実オブジェクトが、サーバからのレンダリング命令に基づいてレンダリングされる、例示的な状況を示す。限定としてではなく一例として、図5に示されている、クライアントデバイス120は、クライアントデバイス120によってキャプチャされた画像中のソファーの後ろのテーブルの上方の空間に向かう方向ベクトルをもつオブジェクトクエリを送った。クライアントデバイスは、スマイリーフェイスアイコン525についてのレンダリング命令をもつ応答を受信し得る。クライアントデバイスは、応答において受信されたレンダリング命令に基づいて、スマイリーフェイスアイコン525をレンダリングし得る。本開示は、特定の様式で、サーバからレンダリング命令を受信すると、人工現実オブジェクトをレンダリングすることについて説明するが、本開示は、任意の好適な様式で、サーバからレンダリング命令を受信すると、人工現実オブジェクトをレンダリングすることを企図する。
特定の実施形態では、クライアントデバイス120は、人工現実オブジェクトクエリを送り得る。人工現実オブジェクトクエリは、クライアントデバイス120の現在ロケーションに関連する情報を含み得る。クライアントデバイス120は、クライアントデバイスの周りの利用可能な人工現実オブジェクトに関連するメタデータを含む人工現実オブジェクト応答を受信し得る。クライアントデバイス120は、メタデータ中のレンダリング命令に基づいて、人工現実オブジェクトをレンダリングし得る。本開示は、特定の人工現実オブジェクトクエリと人工現実オブジェクト応答とについて説明するが、本開示は、任意の好適な人工現実オブジェクトクエリと人工現実オブジェクト応答とを企図する。
特定の実施形態では、クライアントデバイス120は、人工現実オブジェクトが1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定する必要があり得る。クライアントデバイス120は、クライアントデバイス120の現在ロケーションから人工現実オブジェクトの中心への方向ベクトルをもつオブジェクトクエリを送り得る。オブジェクト応答を受信すると、クライアントデバイス120は、オブジェクト応答が物理的オブジェクトに関連するメタデータを含む場合、人工現実オブジェクトが物理的オブジェクトの後ろに配置されると決定し得る。クライアントデバイス120は、物理的オブジェクトの後ろの人工現実オブジェクトを遮り得る。本開示は、特定の様式で、人工現実オブジェクトが物理的オブジェクトの後ろに配置されるかどうかを決定することについて説明するが、本開示は、任意の好適な様式で、人工現実オブジェクトが物理的オブジェクトの後ろに配置されるかどうかを決定することを企図する。
特定の実施形態では、クライアントデバイス120は、人工現実オブジェクトが1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定する必要があり得る。クライアントデバイス120は、人工現実オブジェクトがレンダリングされる画像のエリアを複数のグリッドに分割し得る。クライアントデバイス120は、各グリッドについてのオブジェクトクエリをサーバ110に送り得る。クライアントデバイス120は、サーバ110から、各グリッドについて、グリッドに関連する応答を受信し得る。クライアントデバイス120は、各グリッドについて、グリッドに関連する応答が、物理的オブジェクトに関連するメタデータを含む場合、人工現実オブジェクトがグリッド中の1つまたは複数の物理的オブジェクトの後ろに配置されると決定し得る。クライアントデバイス120は、1つまたは複数の物理的オブジェクトの後ろに位置する人工現実オブジェクトの部分に基づいて、人工現実オブジェクトを遮り得る。精度を改善するために、クライアントデバイス120は、人工現実オブジェクトがグリッド中の1つまたは複数の物理的オブジェクトの後ろに配置されると決定された場合、グリッドを複数のサブグリッドに分割し、各サブグリッドについてのオブジェクトクエリをサーバ110に送り得る。本開示は、特定の様式で、人工現実オブジェクトが1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定することについて説明するが、本開示は、任意の好適な様式で、人工現実オブジェクトが1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定することを企図する。
特定の実施形態では、サーバ110は、クライアントデバイス120から、領域中の位置において人工現実オブジェクトを作成する要求を受信し得る。要求は、人工現実オブジェクトのタイプ、人工現実オブジェクトのための識別子、人工現実オブジェクトについてのレンダリング命令、人工現実オブジェクトに関連する意味論的情報、または位置についての座標を含み得る。サーバ110は、クライアントデバイス120が人工現実オブジェクトをデジタルマップ140に追加するのに十分な特権を有するかどうかを確認し得る。サーバ110は、人工現実オブジェクトに関連する受信された情報をデジタルマップ140に追加し得る。限定としてではなく一例として、クライアントデバイス120に関連するユーザは、エリア中の特定のロケーションにおいてスマイリーアイコンを追加することを希望し得る。ユーザは、クライアントデバイス120上のユーザインターフェースにおける利用可能なアイコンのリストからアイコンを選択し得る。ユーザは、クライアントデバイス120に関連するディスプレイ上に表示された画像中のロケーションに、選択されたアイコンをドラッグアンドドロップし得る。クライアントデバイスは、ユーザがアイコンをドロップした位置において、選択されたスマイリーアイコンを作成する要求をサーバ120に送り得る。要求は、タイプと、識別子と、サイズと、レンダリング命令と、アイコンがレンダリングされるべきである位置情報とを含む選択されたアイコンに関連する情報を含み得る。要求は、アイコンの名前、またはユーザがアイコンに追加したテキストなど、スマイリーアイコンに関連する意味論的情報をさらに含み得る。本開示は、特定の様式で、人工現実オブジェクトをデジタルマップに追加することについて説明するが、本開示は、任意の好適な様式で、人工現実オブジェクトをデジタルマップに追加することを企図する。
特定の実施形態では、サーバ110は、クライアントデバイス120から、デジタルマップ140中で人工現実オブジェクトを修正する要求を受信し得る。要求は、デジタルマップ140中の人工現実オブジェクトの識別子と、人工現実オブジェクトを修正するようにとの命令とを含み得る。サーバ110は、クライアントデバイス120がデジタルマップ140中で人工現実オブジェクトを修正するのに十分な特権を有するかどうかを確認し得る。サーバ110は、受信された命令に基づいて、デジタルマップ140中で人工現実オブジェクトに関連する情報を修正し得る。本開示は、特定の様式で、デジタルマップ中で人工現実オブジェクトを修正することについて説明するが、本開示は、任意の好適な様式で、デジタルマップ中で人工現実オブジェクトを修正することを企図する。
特定の実施形態では、サーバ110は、クライアントデバイス120から、人工現実オブジェクトをデジタルマップ140から削除する要求を受信し得る。要求は、デジタルマップ140中の人工現実オブジェクトを一意に識別する人工現実オブジェクトの識別子を含み得る。サーバ110は、クライアントデバイス120が人工現実オブジェクトをデジタルマップ140から削除するのに十分な特権を有するかどうかを確認し得る。サーバ110は、人工現実オブジェクトに関連する情報をデジタルマップ140から削除し得る。本開示は、特定の様式で、人工現実オブジェクトをデジタルマップから削除することについて説明するが、本開示は、任意の好適な様式で、人工現実オブジェクトをデジタルマップから削除することを企図する。
特定の実施形態では、サーバ110は、人工現実管理モジュール130に関連し得る。デジタルマップ140中の1つまたは複数の人工現実オブジェクトは、人工現実管理モジュール130のディスプレイ上で閲覧され得る。人工現実管理モジュール130の視覚化機能エンティティ131は、人工現実オブジェクト、人工現実オブジェクトまたは物理的オブジェクトについての意味論的情報、あるいはアクティブクライアントデバイスをユーザに提示し得る。1つまたは複数の人工現実オブジェクトは、人工現実管理モジュール130によって追加、修正、または削除され得る。人工現実管理モジュール130の人工現実オブジェクト操作機能エンティティ133は、ユーザ入力に基づいて、デジタルマップ140中で人工現実オブジェクトを追加、修正、または削除し得る。本開示は、特定の様式の人工現実管理モジュールの機能性について説明するが、本開示は、任意の好適な様式の人工現実管理モジュールの機能性を企図する。
図6は、オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別するための例示的な方法600を示す。方法はステップ610において開始し得、サーバが現実世界領域のデジタルマップにアクセスし得る。デジタルマップは、現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含み得る。ステップ620において、サーバは、クライアントデバイスから、デジタルマップ中のアンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信し得る。ステップ630において、サーバは、アンカーのための識別子と、アンカーに対する位置情報とに基づいて、デジタルマップ内の位置を決定し得る。ステップ640において、サーバは、デジタルマップ内の決定された位置からの方向ベクトルの投影と交差するデジタルマップ中の3次元メッシュを決定し得る。ステップ650において、サーバは、3次元メッシュに関連するメタデータを識別し得る。ステップ660において、サーバは、メタデータを第2のコンピューティングデバイスに送り得る。特定の実施形態は、適切な場合、図6の方法の1つまたは複数のステップを繰り返し得る。本開示は、図6の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図6の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図6の方法の特定のステップを含む、オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別するための例示的な方法を説明し、示すが、本開示は、適切な場合、図6の方法のステップのすべてを含むか、いくつかを含むか、またはいずれも含まないことがある、任意の好適なステップを含む、オブジェクトクエリを受信すると、3次元メッシュに関連するメタデータを識別するための任意の好適な方法を企図する。さらに、本開示は、図6の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図6の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
図7は、受信されたメタデータに基づいて人工現実オブジェクトをレンダリングするための例示的な方法700を示す。方法は、ステップ710において開始し得、クライアントデバイスが、現実世界領域のデジタルマップ中のアンカーに対する第2のコンピューティングデバイスの現在位置を決定し得る。ステップ720において、クライアントデバイスは、アンカーのための識別子と、アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリをサーバに送り得る。方向ベクトルの方向は、第2のコンピューティングデバイスに関連するカメラによって現在キャプチャされている画像中の点によって決定され得る。画像は、第2のコンピューティングデバイスに関連するディスプレイ上に表示され得る。ステップ730において、クライアントデバイスは、サーバから、クライアントデバイスの現在位置からの方向ベクトルの投影と交差するデジタルマップ中の3次元メッシュに関連するメタデータを含む応答を受信し得る。ステップ740において、クライアントデバイスは、画像中の交差点から所定の距離内で、3次元メッシュに関連する受信されたメタデータに基づいて人工現実オブジェクトをレンダリングし得る。方向ベクトルは、交差点において3次元メッシュと交差し得る。特定の実施形態は、適切な場合、図7の方法の1つまたは複数のステップを繰り返し得る。本開示は、図7の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図7の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図7の方法の特定のステップを含む、受信されたメタデータに基づいて、人工現実オブジェクトをレンダリングするための例示的な方法を説明し、示すが、本開示は、適切な場合、図7の方法のステップのすべてを含むか、いくつかを含むか、またはいずれも含まないことがある、任意の好適なステップを含む、受信されたメタデータに基づいて、人工現実オブジェクトをレンダリングするための任意の好適な方法を企図する。さらに、本開示は、図7の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図7の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
システムおよび方法
図8は、例示的なコンピュータシステム800を示す。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム800上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム800の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム800を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム800を企図する。限定としてではなく例として、コンピュータシステム800は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム800は、1つまたは複数のコンピュータシステム800を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム800は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム800は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム800は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
特定の実施形態では、コンピュータシステム800は、プロセッサ802と、メモリ804と、ストレージ806と、入出力(I/O)インターフェース808と、通信インターフェース810と、バス812とを含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ802は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ802を企図する。限定としてではなく一例として、プロセッサ802は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ804またはストレージ806中の命令のコピーであり得、命令キャッシュは、プロセッサ802によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ802において実行する命令が動作する対象のメモリ804またはストレージ806中のデータのコピー、プロセッサ802において実行する後続の命令によるアクセスのための、またはメモリ804もしくはストレージ806に書き込むための、プロセッサ802において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ802による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ802のための仮想アドレストランスレーション(virtual-address translation)を高速化し得る。特定の実施形態では、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ802を企図する。適切な場合、プロセッサ802は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ802を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム800は、ストレージ806または(たとえば、別のコンピュータシステム800などの)別のソースからメモリ804に命令をロードし得る。プロセッサ802は、次いで、メモリ804から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ802は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ802は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ802は、次いで、メモリ804にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ802は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ806または他の場所とは対照的な)メモリ804中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ806または他の場所とは対照的な)メモリ804中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ802をメモリ804に結合し得る。バス812は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ802とメモリ804との間に常駐し、プロセッサ802によって要求されるメモリ804へのアクセスを容易にする。特定の実施形態では、メモリ804は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ804は、適切な場合、1つまたは複数のメモリ804を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ806は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ806は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ806は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ806は、適切な場合、コンピュータシステム800の内部または外部にあり得る。特定の実施形態では、ストレージ806は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ806は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ806を企図する。ストレージ806は、適切な場合、プロセッサ802とストレージ806との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ806は、1つまたは複数のストレージ806を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース808は、コンピュータシステム800と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム800は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム800との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース808とを企図する。適切な場合、I/Oインターフェース808は、プロセッサ802がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース808は、適切な場合、1つまたは複数のI/Oインターフェース808を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース810は、コンピュータシステム800と、1つまたは複数の他のコンピュータシステム800または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース810は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース810とを企図する。限定としてではなく一例として、コンピュータシステム800は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム800は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム800は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース810を含み得る。通信インターフェース810は、適切な場合、1つまたは複数の通信インターフェース810を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス812は、コンピュータシステム800の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス812は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス812は、適切な場合、1つまたは複数のバス812を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
本明細書では、「または」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に示されていない限り、またはコンテキストによって別段に示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、構成されるか、実施することが可能であるか、実施するように設定されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、構成されるか、可能であるか、設定されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (20)

  1. 第1のコンピューティングデバイスによって、
    現実世界領域のデジタルマップにアクセスすることであって、前記デジタルマップが、前記現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含む、現実世界領域のデジタルマップにアクセスすることと、
    第2のコンピューティングデバイスから、前記デジタルマップ中のアンカーのための識別子と、前記アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信することと、
    前記アンカーのための前記識別子と、前記アンカーに対する前記位置情報とに基づいて、前記デジタルマップ内の位置を決定することと、
    前記デジタルマップ内の決定された前記位置からの前記第2のコンピューティングデバイスによって送られた方向ベクトルと交差する前記デジタルマップ中の3次元メッシュを決定することと、
    前記3次元メッシュに関連するメタデータを識別することと、
    前記メタデータを前記第2のコンピューティングデバイスに送ることと
    を含む、方法。
  2. 前記デジタルマップが、3次元再構築技法のうちの1つまたは複数を使用して、画像の収集に基づいて生成されたものであり、前記収集における各画像が、前記現実世界領域の一部分をキャプチャする、請求項1に記載の方法。
  3. 前記方向ベクトルに関連する前記情報が、前記決定された位置からの前記ベクトルの方向を表す座標を含む、請求項1に記載の方法。
  4. 前記メタデータが、識別されたオブジェクトに関連する意味論的情報を含む、請求項1に記載の方法。
  5. 前記3次元メッシュが人工現実オブジェクトに属する、請求項1に記載の方法。
  6. 前記3次元メッシュに関連する前記メタデータが、前記人工現実オブジェクトについてのレンダリング命令を含む、請求項5に記載の方法。
  7. 第2のコンピューティングデバイスから、前記領域中の位置において人工現実オブジェクトを作成する要求を受信することであって、前記要求が、前記人工現実オブジェクトのタイプ、前記人工現実オブジェクトのための識別子、前記人工現実オブジェクトについてのレンダリング命令、前記人工現実オブジェクトに関連する意味論的情報、または前記位置についての座標を含む、要求を受信することと、
    前記人工現実オブジェクトに関連する受信された情報を前記デジタルマップに追加することと
    をさらに含む、請求項1に記載の方法。
  8. 第3のコンピューティングデバイスから、前記領域内の前記第3のコンピューティングデバイスの現在位置からとられた画像を含む再位置特定要求を受信することと、
    受信された前記画像に基づいて、前記第3のコンピューティングデバイスの前記現在位置を計算することと、
    前記第3のコンピューティングデバイスに、前記第3のコンピューティングデバイスの計算された前記現在位置を含む応答を送ることであって、前記第3のコンピューティングデバイスの前記現在位置が、前記デジタルマップ中の1つまたは複数のアンカーのうちの第1のアンカーと、前記第1のアンカーに対する前記第3のコンピューティングデバイスの相対座標とによって表される、応答を送ることと
    をさらに含む、請求項1に記載の方法。
  9. 応答が、前記第1のアンカーのための識別子と、前記第1のアンカーに関連する座標とを含む、請求項8に記載の方法。
  10. 前記第1のアンカーが、前記領域中の前記1つまたは複数のアンカーのうちの前記第3のコンピューティングデバイスに最も近いアンカーである、請求項8に記載の方法。
  11. 前記第1のコンピューティングデバイスが人工現実管理モジュールに関連し、1つまたは複数の人工現実オブジェクトが、前記人工現実管理モジュールによって追加、修正、または削除される、請求項1に記載の方法。
  12. 第2のコンピューティングデバイスによって、
    現実世界領域のデジタルマップ中のアンカーに対する前記第2のコンピューティングデバイスの現在位置を決定することと、
    第1のコンピューティングデバイスに、前記アンカーのための識別子と、前記アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを送ることであって、前記方向ベクトルの方向が、前記第2のコンピューティングデバイスに関連するカメラによって現在キャプチャされている画像中の点によって決定され、前記画像が、前記第2のコンピューティングデバイスに関連するディスプレイ上に表示される、オブジェクトクエリを送ることと、
    前記第1のコンピューティングデバイスから、前記第2のコンピューティングデバイスの前記現在位置からの前記方向ベクトルの投影と交差する前記デジタルマップ中の3次元メッシュに関連するメタデータを含む応答を受信することと、
    前記画像中の交差点から所定の距離内で、前記3次元メッシュに関連する受信された前記メタデータに基づいて人工現実オブジェクトをレンダリングすることであって、前記方向ベクトルが、前記交差点において前記3次元メッシュと交差する、人工現実オブジェクトをレンダリングすることと
    を含む、方法。
  13. 前記第2のコンピューティングデバイスの前記現在位置を決定することが、
    前記第1のコンピューティングデバイスとメッセージを交換することによって、前記領域中の前記第2のコンピューティングデバイスの再位置特定された位置を決定することであって、前記再位置特定された位置が、前記デジタルマップ中の前記アンカーと、前記アンカーに対する前記第2のコンピューティングデバイスの相対座標とによって表される、前記第2のコンピューティングデバイスの再位置特定された位置を決定することと、
    前記第2のコンピューティングデバイスによって、前記第2のコンピューティングデバイスに関連する1つまたは複数のセンサーからのデータに基づいて前記第2のコンピューティングデバイスの移動を計算することによって、前記第2のコンピューティングデバイスの前記現在位置を算出することと
    を含む、請求項12に記載の方法。
  14. 前記1つまたは複数のセンサーがジャイロスコープまたは加速度計を備える、請求項13に記載の方法。
  15. 前記3次元メッシュに関連する前記メタデータが、前記3次元メッシュが属するオブジェクトに関連する意味論的情報を含み、前記人工現実オブジェクトが、前記意味論的情報を含むテキストボックスである、請求項12に記載の方法。
  16. 前記3次元メッシュに関連する前記メタデータが、前記3次元メッシュが属する人工現実オブジェクトについてのレンダリング命令を含む、請求項12に記載の方法。
  17. 前記人工現実オブジェクトが1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定することと、
    前記1つまたは複数の物理的オブジェクトの後ろに位置する前記人工現実オブジェクトの部分に基づいて、前記人工現実オブジェクトを遮ることと
    をさらに含む、請求項16に記載の方法。
  18. 前記人工現実オブジェクトが前記1つまたは複数の物理的オブジェクトの後ろに配置されるかどうかを決定することは、
    前記人工現実オブジェクトがレンダリングされる前記画像のエリアを複数のグリッドに分割することと、
    前記第1のコンピューティングデバイスに、各グリッドについて、オブジェクトクエリを送ることと、
    前記第1のコンピューティングデバイスから、各グリッドについて、前記グリッドに関連する応答を受信することと、
    各グリッドについて、前記グリッドに関連する前記応答が、物理的オブジェクトに関連するメタデータを含む場合、前記人工現実オブジェクトが前記グリッド中の1つまたは複数の物理的オブジェクトの後ろに配置されると決定することと
    を含む、請求項17に記載の方法。
  19. 前記人工現実オブジェクトが前記グリッド中の1つまたは複数の物理的オブジェクトの後ろに配置されると決定された場合、グリッドが複数のサブグリッドに分割される、請求項18に記載の方法。
  20. 1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む、前記プロセッサに結合された非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行したとき、
    現実世界領域のデジタルマップにアクセスすることであって、前記デジタルマップが、前記現実世界領域内の1つまたは複数の3次元オブジェクトに対応する1つまたは複数の3次元メッシュを含む、現実世界領域のデジタルマップにアクセスすることと、
    第2のコンピューティングデバイスから、前記デジタルマップ中のアンカーのための識別子と、前記アンカーに対する位置情報と、方向ベクトルに関連する情報とを含むオブジェクトクエリを受信することと、
    前記アンカーのための前記識別子と、前記アンカーに対する前記位置情報とに基づいて、前記デジタルマップ内の位置を決定することと、
    前記デジタルマップ内の決定された前記位置からの前記第2のコンピューティングデバイスによって送られた方向ベクトルと交差する前記デジタルマップ中の3次元メッシュを決定することと、
    前記3次元メッシュに関連するメタデータを識別することと、
    前記メタデータを前記第2のコンピューティングデバイスに送ることと
    を行うように動作可能である、システム。
JP2021540494A 2019-04-19 2020-04-10 意味論的拡張人工現実体験 Pending JP2022529201A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/389,882 2019-04-19
US16/389,882 US11217011B2 (en) 2019-04-19 2019-04-19 Providing semantic-augmented artificial-reality experience
PCT/US2020/027763 WO2020214505A1 (en) 2019-04-19 2020-04-10 Semantic-augmented artificial-reality experience

Publications (1)

Publication Number Publication Date
JP2022529201A true JP2022529201A (ja) 2022-06-20

Family

ID=70476551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540494A Pending JP2022529201A (ja) 2019-04-19 2020-04-10 意味論的拡張人工現実体験

Country Status (6)

Country Link
US (1) US11217011B2 (ja)
EP (1) EP3956752B1 (ja)
JP (1) JP2022529201A (ja)
KR (1) KR20210154828A (ja)
CN (1) CN113711166B (ja)
WO (1) WO2020214505A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958959B1 (en) * 2019-09-13 2021-03-23 At&T Intellectual Property I, L.P. Automatic generation of augmented reality media
KR20220152736A (ko) * 2021-05-10 2022-11-17 삼성전자주식회사 시청자 환경 기반 ar 서비스 제공 방법 및 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications
CN103472909B (zh) 2012-04-10 2017-04-12 微软技术许可有限责任公司 用于头戴式、增强现实显示器的逼真遮挡
US10127722B2 (en) * 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
US9245387B2 (en) * 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
US9910887B2 (en) * 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
US20170243403A1 (en) * 2014-11-11 2017-08-24 Bent Image Lab, Llc Real-time shared augmented reality experience
KR102317247B1 (ko) 2015-06-15 2021-10-26 한국전자통신연구원 영상정보를 이용한 증강현실 기반 손 인터랙션 장치 및 방법
US10217231B2 (en) 2016-05-31 2019-02-26 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US10338392B2 (en) * 2016-06-13 2019-07-02 Microsoft Technology Licensing, Llc Identification of augmented reality image display position
US10657701B2 (en) * 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
US10019824B2 (en) * 2016-08-16 2018-07-10 Lawrence Livermore National Security, Llc Annotation of images based on a 3D model of objects
US10453253B2 (en) 2016-11-01 2019-10-22 Dg Holdings, Inc. Virtual asset map and index generation systems and methods
EP3419286A1 (en) 2017-06-23 2018-12-26 Koninklijke Philips N.V. Processing of 3d image information based on texture maps and meshes
US10438414B2 (en) * 2018-01-26 2019-10-08 Microsoft Technology Licensing, Llc Authoring and presenting 3D presentations in augmented reality
US11109065B2 (en) * 2018-09-26 2021-08-31 Google Llc Video encoding by providing geometric proxies
US11132841B2 (en) * 2018-11-30 2021-09-28 Facebook Technologies, Llc Systems and methods for presenting digital assets within artificial environments via a loosely coupled relocalization service and asset management service
US10872459B2 (en) * 2019-02-05 2020-12-22 X Development Llc Scene recognition using volumetric substitution of real world objects

Also Published As

Publication number Publication date
CN113711166A (zh) 2021-11-26
EP3956752A1 (en) 2022-02-23
EP3956752B1 (en) 2024-02-28
KR20210154828A (ko) 2021-12-21
CN113711166B (zh) 2024-04-09
US11217011B2 (en) 2022-01-04
WO2020214505A1 (en) 2020-10-22
US20200334902A1 (en) 2020-10-22
WO2020214505A8 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
JP2010511228A (ja) 3d面上の2dコンテンツとのインタラクト
US10878608B2 (en) Identifying planes in artificial reality systems
JP2022529201A (ja) 意味論的拡張人工現実体験
US20230229524A1 (en) Efficient multi-device synchronization barriers using multicasting
US20130176304A1 (en) Method and apparatus for processing three-dimensional model data
US20230169737A1 (en) Environment model with surfaces and per-surface volumes
WO2021113060A1 (en) Systems and methods for surface detection
US20210049036A1 (en) Capability Space
US10592104B1 (en) Artificial reality trackpad-based keyboard
US11640695B2 (en) Digital garment generation
US20220122285A1 (en) Visual inertial odometry localization using sparse sensors
US11366720B2 (en) Building a resilient operating system based on durable services with kernel support
US11580703B1 (en) Adaptive model updates for dynamic and static scenes
CN117272758B (zh) 基于三角格网的深度估计方法、装置、计算机设备和介质
US20230127307A1 (en) Scene Capture via Artificial Reality Systems
WO2023076368A1 (en) Scene capture and localization failure handling on artificial reality systems
WO2022173600A1 (en) Mixed reality object detection
JP2022540750A (ja) コンピューティングデバイスのメモリ管理
CN111381665A (zh) 一种增强现实的扫描方法、装置、终端和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130