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

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

▶ マジック リープ, インコーポレイテッドの特許一覧

<>
  • 特表-占有率グリッドを使用した場面理解 図1
  • 特表-占有率グリッドを使用した場面理解 図2
  • 特表-占有率グリッドを使用した場面理解 図3
  • 特表-占有率グリッドを使用した場面理解 図4
  • 特表-占有率グリッドを使用した場面理解 図5A
  • 特表-占有率グリッドを使用した場面理解 図5B
  • 特表-占有率グリッドを使用した場面理解 図6A
  • 特表-占有率グリッドを使用した場面理解 図6B
  • 特表-占有率グリッドを使用した場面理解 図7
  • 特表-占有率グリッドを使用した場面理解 図8
  • 特表-占有率グリッドを使用した場面理解 図9
  • 特表-占有率グリッドを使用した場面理解 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-13
(54)【発明の名称】占有率グリッドを使用した場面理解
(51)【国際特許分類】
   G06T 15/00 20110101AFI20240205BHJP
【FI】
G06T15/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023547211
(86)(22)【出願日】2022-02-03
(85)【翻訳文提出日】2023-08-30
(86)【国際出願番号】 US2022015056
(87)【国際公開番号】W WO2022169938
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】63/145,868
(32)【優先日】2021-02-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ラムナート, ディヴィヤ
(72)【発明者】
【氏名】ドン, シユ
(72)【発明者】
【氏名】チョーダリー, シッダルタ
(72)【発明者】
【氏名】マヘンドラン, シッダルタ
(72)【発明者】
【氏名】カライ カナン, アルムガム
(72)【発明者】
【氏名】シンガル, プラティーク
(72)【発明者】
【氏名】グプタ, クシ
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA17
5B080BA00
5B080CA00
5B080FA00
5B080GA21
(57)【要約】
本書は、占有率グリッドを使用したクロスリアリティシステムのための場面理解を説明する。一側面では、方法は、物理的環境の画像を使用して生成される、物理的環境のモデル内で、1つまたはそれを上回るオブジェクトを認識することを含む。オブジェクト毎に、境界ボックスが、オブジェクトの周囲に適合される。複数のセルを含む占有率グリッドが、オブジェクトの周囲の境界ボックス内に生成される。ある値が、セルがオブジェクトの一部を含むかどうかに基づいて、占有率グリッドの各セルに割り当てられる。オブジェクトに関する占有率グリッドを説明する情報を含む、オブジェクト表現が、生成される。オブジェクト表現は、1つまたはそれを上回るデバイスに送信される。
【特許請求の範囲】
【請求項1】
1つまたはそれを上回るデータ処理装置によって実施される方法であって、前記方法は、
物理的環境の画像を使用して生成される前記物理的環境のモデル内で、1つまたはそれを上回るオブジェクトを認識することと、
オブジェクト毎に、
前記オブジェクトの周囲に境界ボックスを適合させることと、
前記オブジェクトの周囲の前記境界ボックス内に複数のセルを含む占有率グリッドを生成することと、
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることと、
前記オブジェクトに関する前記占有率グリッドを説明する情報を含むオブジェクト表現を生成することと、
前記オブジェクト表現を1つまたはそれを上回るデバイスに送信することと
を含む、方法。
【請求項2】
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることは、
第1の値を、前記オブジェクトの一部を含む各セルに割り当てることと、
前記第1の値とは異なる第2の値を、前記オブジェクトのいずれの部分も含まない各セルに割り当てることと
を含む、請求項1に記載の方法。
【請求項3】
前記1つまたはそれを上回るオブジェクトの所与のオブジェクトに対する変化を検出することと、
前記所与のオブジェクトに関する新しい占有率グリッドを生成することと、
前記所与のオブジェクトに関する前記新しい占有率グリッドを、前記物理的環境の更新されたモデルではなく、前記1つまたはそれを上回るデバイスに送信することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記1つまたはそれを上回るデバイスはそれぞれ、前記所与のオブジェクトに関する前記新しい占有率グリッドを使用して、前記物理的環境のためのローカルメッシュを更新する、請求項3に記載の方法。
【請求項5】
前記モデルは、前記物理的環境を表す複数のボクセルを備える、請求項1に記載の方法。
【請求項6】
前記ボクセル内で認識されたオブジェクトのタイプに基づいて、意味論的標識を各ボクセルに割り当てることをさらに含む、請求項5に記載の方法。
【請求項7】
前記ボクセル毎の意味論的標識に基づいて、ボクセルをクラスタ化することをさらに含む、請求項6に記載の方法。
【請求項8】
コンピュータ実装システムであって、
1つまたはそれを上回るコンピュータと、
1つまたはそれを上回るコンピュータメモリデバイスであって、前記1つまたはそれを上回るコンピュータメモリデバイスは、前記1つまたはそれを上回るコンピュータと相互動作可能に結合され、1つまたはそれを上回る命令を記憶する有形非一過性機械可読媒体を有し、前記1つまたはそれを上回る命令は、前記1つまたはそれを上回るコンピュータによって実行されると、
物理的環境の画像を使用して生成される前記物理的環境のモデル内で、1つまたはそれを上回るオブジェクトを認識することと、
オブジェクト毎に、
前記オブジェクトの周囲に境界ボックスを適合させることと、
前記オブジェクトの周囲の前記境界ボックス内に複数のセルを含む占有率グリッドを生成することと、
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることと、
前記オブジェクトに関する前記占有率グリッドを説明する情報を含むオブジェクト表現を生成することと、
前記オブジェクト表現を1つまたはそれを上回るデバイスに送信することと
を含む動作を実施する、1つまたはそれを上回るコンピュータメモリデバイスと
を備える、コンピュータ実装システム。
【請求項9】
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることは、
第1の値を、前記オブジェクトの一部を含む各セルに割り当てることと、
前記第1の値とは異なる第2の値を、前記オブジェクトのいずれの部分も含まない各セルに割り当てることと
を含む、請求項8に記載のコンピュータ実装システム。
【請求項10】
前記動作は、
前記1つまたはそれを上回るオブジェクトの所与のオブジェクトに対する変化を検出することと、
前記所与のオブジェクトに関する新しい占有率グリッドを生成することと、
前記所与のオブジェクトに関する前記新しい占有率グリッドを、前記物理的環境の更新されたモデルではなく、前記1つまたはそれを上回るデバイスに送信することと
を含む、請求項8に記載のコンピュータ実装システム。
【請求項11】
前記1つまたはそれを上回るデバイスはそれぞれ、前記所与のオブジェクトに関する前記新しい占有率グリッドを使用して、前記物理的環境のためのローカルメッシュを更新する、請求項10に記載のコンピュータ実装システム。
【請求項12】
前記モデルは、前記物理的環境を表す、複数のボクセルを備える、請求項8に記載のコンピュータ実装システム。
【請求項13】
前記動作は、前記ボクセル内で認識されたオブジェクトのタイプに基づいて、意味論的標識を各ボクセルに割り当てることを含む、請求項12に記載のコンピュータ実装システム。
【請求項14】
前記動作は、前記ボクセル毎の意味論的標識に基づいて、ボクセルをクラスタ化することを含む、請求項13に記載のコンピュータ実装システム。
【請求項15】
非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、コンピュータシステムによって実行可能な1つまたはそれを上回る命令を記憶しており、前記1つまたはそれを上回る命令は、
前記物理的環境の画像を使用して生成される物理的環境のモデル内で、1つまたはそれを上回るオブジェクトを認識することと、
オブジェクト毎に、
前記オブジェクトの周囲に境界ボックスを適合させることと、
前記オブジェクトの周囲の前記境界ボックス内に複数のセルを含む占有率グリッドを生成することと、
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることと、
前記オブジェクトに関する前記占有率グリッドを説明する情報を含むオブジェクト表現を生成することと、
前記オブジェクト表現を1つまたはそれを上回るデバイスに送信することと
を含む動作を実施する、非一過性コンピュータ可読媒体。
【請求項16】
前記セルが前記オブジェクトの一部を含むかどうかに基づいて、前記占有率グリッドの各セルに、ある値を割り当てることは、
第1の値を、前記オブジェクトの一部を含む各セルに割り当てることと、
前記第1の値とは異なる第2の値を、前記オブジェクトのいずれの部分も含まない各セルに割り当てることと
を含む、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項17】
前記動作は、
前記1つまたはそれを上回るオブジェクトの所与のオブジェクトに対する変化を検出することと、
前記所与のオブジェクトに関する新しい占有率グリッドを生成することと、
前記所与のオブジェクトに関する前記新しい占有率グリッドを、前記物理的環境の更新されたモデルではなく、前記1つまたはそれを上回るデバイスに送信することと
を含む、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項18】
前記1つまたはそれを上回るデバイスはそれぞれ、前記所与のオブジェクトに関する前記新しい占有率グリッドを使用して、前記物理的環境のためのローカルメッシュを更新する、請求項17に記載の非一過性コンピュータ可読媒体。
【請求項19】
前記モデルは、前記物理的環境を表す複数のボクセルを備える、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項20】
前記動作は、前記ボクセル内で認識されたオブジェクトのタイプに基づいて、意味論的標識を各ボクセルに割り当てることを含む、請求項19に記載の非一過性コンピュータ可読媒体。
【請求項21】
前記動作は、前記ボクセル毎の意味論的標識に基づいて、ボクセルをクラスタ化することを含む、請求項20に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、参照することによってその全体として本明細書に組み込まれる、2021年2月4日に出願された、米国仮出願第63/145,868号の利益を主張する。
【0002】
本開示は、クロスリアリティシステムのための場面理解に関する。
【背景技術】
【0003】
コンピュータは、ヒューマンユーザインターフェースを制御し、ユーザによって知覚されるにつれて、XR環境の一部または全部がコンピュータによって生成される、Xリアリティ(XRまたはクロスリアリティ)環境を作成し得る。これらのXR環境は、XR環境の一部または全部が、部分的に、環境を説明するデータを使用して、コンピュータによって生成され得る、仮想現実(VR)、拡張現実(AR)、および複合現実(MR)環境であり得る。本データは、例えば、ユーザが、物理的世界の一部として、感知または知覚し、仮想オブジェクトと相互作用し得る方法で、レンダリングされ得る、仮想オブジェクトを説明し得る。ユーザは、例えば、頭部搭載型ディスプレイデバイス等のユーザインターフェースデバイスを通してレンダリングおよび提示されているデータの結果として、これらの仮想オブジェクトを体験し得る。データは、ユーザに見えるように表示され得る、またはユーザが聞こえるように再生されるオーディオを制御し得る、または触知的(または触覚的)インターフェースを制御し、ユーザが、仮想オブジェクトを感じるにつれて、ユーザが感知または知覚する、タッチ感覚を体験することを有効にし得る。
【0004】
XRシステムは、科学的可視化、医療訓練、工学設計、およびプロトタイプ化、遠隔操作およびテレプレゼンス、および個人的娯楽の分野に及ぶ、多くの用途のために有用であり得る。ARおよびMRは、VRと対照的に、物理的世界の実オブジェクトと関連して、1つまたはそれを上回る仮想オブジェクトを含む。実オブジェクトと相互作用する、仮想オブジェクトの体験は、XRシステムを使用する際、ユーザの享受を大幅に向上させ、また、物理的世界が改変され得る様子についての現実的かつ容易に理解可能な情報を提示する、種々の用途のための可能性を広げる。
【0005】
仮想コンテンツを現実的にレンダリングするために、XRシステムは、システムのユーザの周囲の物理的世界の表現を構築し得る。本表現は、例えば、XRシステムの一部を形成する、ウェアラブルデバイス上のセンサを用いて入手された画像を処理するによって構築されてもよい。そのようなシステムでは、ユーザは、システムがその環境の表現を構築するために十分な情報を入手するまで、ユーザがXRシステムを使用することを意図する部屋または他の物理的環境の周囲を見て回ることによって、初期化ルーチンを実施し得る。システムが動作し、ユーザが環境の周囲を、または他の環境へと動き回るにつれて、ウェアラブルデバイス上のセンサは、付加的情報を入手し、物理的世界の表現を拡張または更新し得る。
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書は、概して、オブジェクトに関する占有率グリッドを使用して、XR環境を作成および更新するためのシステムおよび技法を説明する。占有率グリッドは、オブジェクトによって占有される環境の面積を表すことができる。いくつかの実装では、占有率グリッドは、3次元グリッドを含み、グリッドの各セルは、オブジェクトがセルによって表される環境の面積を占有するかどうかを示す、ある値を含むことができる。3次元グリッドは、オブジェクトが位置する環境の全体的な面積を表す、境界ボックスを包含することができる。
【0007】
占有率グリッドは、例えば、環境内のオブジェクトの場所を更新するために、物理的世界を表すモデル、例えば、メッシュを更新するために使用されることができる。例えば、可視化システムは、1つまたはそれを上回るXRディスプレイシステムから物理的世界の画像を受信することができる。可視化システムは、画像を分析し、画像内のオブジェクトを検出し、環境内のオブジェクトの場所を決定することができる。可視化システムは、モデルを更新し、モデルをユーザのXRディスプレイシステムに送信するのではなく、境界ボックスと、オブジェクトに関する占有率グリッド情報とを含む、オブジェクト表現を生成し、そのオブジェクト表現をユーザのXRディスプレイシステムに送信することができる。XRディスプレイシステムは、オブジェクト表現を使用して、モデルを更新することができる。
【0008】
一般に、本明細書において説明される主題の1つの革新的な側面は、物理的環境の画像を使用して生成される、物理的環境のモデル内で、1つまたはそれを上回るオブジェクトを認識するアクションを含む方法において具現化されることができる。オブジェクト毎に、境界ボックスが、オブジェクトの周囲に適合される。複数のセルを含む占有率グリッドが、オブジェクトの周囲の境界ボックス内に生成される。ある値が、セルがオブジェクトの一部を含むかどうかに基づいて、占有率グリッドの各セルに割り当てられる。オブジェクトに関する占有率グリッドを説明する情報を含む、オブジェクト表現が、生成される。オブジェクト表現は、1つまたはそれを上回るデバイスに送信される。本側面の他の実施形態は、対応するコンピュータシステムと、装置と、1つまたはそれを上回るコンピュータ記憶デバイス上に記録されるコンピュータプログラムとを含み、それぞれ、本方法のアクションを実施するように構成される。1つまたはそれを上回るコンピュータのシステムは、動作時に、アクションを引き起こす、またはシステムにアクションを実施させるシステム上にインストールされる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせによって、特定の動作またはアクションを実施するように構成されることができる。1つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実施させる命令を含むことによって、特定の動作またはアクションを実施するように構成されることができる。
【0009】
前述および他の実施形態はそれぞれ、随意に、単独で、または組み合わせて、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。いくつかの側面では、セルがオブジェクトの一部を含むかどうかに基づいて、占有率グリッドの各セルに、ある値を割り当てることは、第1の値をオブジェクトの一部を含む各セルに割り当てることと、第1の値とは異なる第2の値を、オブジェクトのいずれの部分も含まない各セルに割り当てることとを含む。
【0010】
いくつかの側面は、1つまたはそれを上回るオブジェクトの所与のオブジェクトに対する変化を検出することと、所与のオブジェクトに関する新しい占有率グリッドを生成することと、所与のオブジェクトに関する新しい占有率グリッドを、物理的環境の更新されたモデルではなく、1つまたはそれを上回るデバイスに送信することとを含むことができる。1つまたはそれを上回るデバイスはそれぞれ、所与のオブジェクトに関する新しい占有率グリッドを使用して、物理的環境のためのローカルメッシュを更新することができる。
【0011】
いくつかの側面では、モデルは、物理的環境を表す、複数のボクセルを含む。いくつかの側面は、ボクセル内で認識されたオブジェクトのタイプに基づいて、意味論的標識を各ボクセルに割り当てることを含むことができる。いくつかの側面は、ボクセル毎の意味論的標識に基づいて、ボクセルをクラスタ化することを含むことができる。
【0012】
本明細書において説明される主題は、特定の実施形態において実装されることができ、以下の利点のうちの1つまたはそれを上回るものを結果としてもたらし得る。本書において説明される場面理解技法を使用することは、物理的環境内で見出されたオブジェクトについての正確な情報を伴う、物理的環境の再構築を有効にする。より正確な本情報は、より豊富なARコンテンツが、その再構築物内に正確に設置されることを有効にすることができる。例えば、オブジェクトが、少なくとも最小表面積を有する平坦な表面を伴うテーブルであることが既知であることは、ゲームアプリケーションが、適切なARコンテンツをテーブル上に設置することを有効にする。
【0013】
オブジェクトによって占有される環境の面積を表す、占有率グリッドを生成すること、および占有率グリッドを説明する情報を、環境を表す更新されたモデル、例えば、メッシュではなく、ARシステムに送信することは、情報を伝達する際の待ち時間を低減させ、ARシステムによる表示のための環境を再構築するために使用される情報を記憶するために、ARシステムによって要求されるであろう、データ記憶リソースの量を大幅に低減させる。占有率グリッドは、コンパクトな形態で、再構築物および空間占有率内の正確なオブジェクト設置を有効にし、正確度を犠牲にすることなく、データ記憶および待ち時間の利点を提供する。これはまた、大規模なマップのフルメッシュをダウンロードするために別様に要求されるであろう、モデルを更新する際の待ち時間を増加させることなく、より強力なコンピューティングデバイスを使用して、算出の大部分が、クラウド内のサーバによって実施されることも有効にする。
【0014】
加えて、占有率グリッドは、オブジェクトが位置する面積の輪郭を表す、境界ブロックよりも、オブジェクトの場所および占有率をより良好に反映することができる。オブジェクト毎の占有率グリッドを使用することは、同一面積内の複数のオブジェクト、例えば、その座部がテーブルの下に位置している椅子の占有率の正確な表現を有効にすることができる。
【0015】
本明細書において説明される主題の1つまたはそれを上回る実装の詳細が、付随の図面および下記の説明において記述される。本主題の他の特徴、側面、および利点は、本説明、図面、および請求項から明白な状態になるであろう。
【図面の簡単な説明】
【0016】
図1図1は、簡略化された拡張現実(AR)場面の実施例を図示する、スケッチである。
【0017】
図2図2は、XRシステムの例示的使用事例を示す、簡略化された例示的AR場面のスケッチである。
【0018】
図3図3は、その中でARシステムが、物理的世界と相互作用するARコンテンツの体験を提供するように構成される、環境を示す。
【0019】
図4図4は、ユーザのための仮想コンテンツを表示する、例示的ARディスプレイシステムを示す。
【0020】
図5A図5Aは、ユーザが物理的世界環境を通して移動するにつれて、ARコンテンツをレンダリングする、ARディスプレイシステムを装着しているユーザを示す。
【0021】
図5B図5Bは、視認光学系アセンブリおよび付帯コンポーネントを示す。
【0022】
図6A図6Aは、環境を再構築するための例示的パイプラインを示す。
【0023】
図6B図6Bは、例示的パイプラインのコンポーネントをより詳細に示す。
【0024】
図7図7は、例示的ARディスプレイシステムのコンポーネントを示す。
【0025】
図8図8は、例示的占有率グリッドを示す。
【0026】
図9図9は、オブジェクトに関するオブジェクト表現を生成するための例示的プロセスのフローチャートである。
【0027】
図10図10は、本書において説明されるコンピュータ実装方法と関連して使用され得る、コンピューティングシステムのブロック図である。
【0028】
種々の図面における同様の参照番号および指定は、同様の要素を示す。
【発明を実施するための形態】
【0029】
詳細な説明
本明細書は、概して、物理的環境内で検出されたオブジェクトを含む、Xリアリティ(XRまたはクロスリアリティ)場面を提供するために、場面理解を使用するためのシステムおよび技法を説明する。現実的なXR体験を複数のユーザに提供するために、XRシステムは、実オブジェクトと関連して、仮想オブジェクトの場所を正しく相関させるために、ユーザの物理的な周囲の状況を把握しなければならない。XRシステムは、場面の環境マップを構築することができ、これは、XRシステムのユーザによって装着されるXRデバイスの一部である、センサを用いて収集された、画像および/または深度情報から作成されることができる。
【0030】
XRシステムでは、各XRデバイスは、ある時点において、走査の間に収集された1つまたはそれを上回る画像からの情報を統合することによって、その物理的環境のローカルマップを発生し得る。いくつかの実装では、そのマップの座標系は、走査が開始されたときのデバイスの配向に結び付けられる。その配向は、異なるセッションが、それぞれが環境を走査するセンサを伴う自分自身のウェアラブルデバイスを伴う、異なるユーザ、または異なる時間において同一デバイスを使用する、同一ユーザと関連付けられるかどうかにかかわらず、ユーザがXRシステムと相互作用するにつれて、セッション毎に変化し得る。
【0031】
しかしながら、XRシステム上で実行するアプリケーションは、XRシステムと相互作用する複数のユーザによって、共有様式においてアクセスされ得る、正準マップから取得され得るもの等の持続空間情報に基づいて、仮想コンテンツの場所を規定することができる。持続空間情報は、持続マップによって表されることができる。持続マップは、遠隔記憶媒体(例えば、クラウド)内に記憶されることができる。例えば、ユーザによって装着されるウェアラブルXRデバイスは、オンにされた後、クラウド記憶装置等の持続記憶装置から、先に作成および記憶された、適切な記憶されたマップを読み出すことができる。記憶されたマップを読み出すことは、ウェアラブルデバイス上のセンサを用いた物理的世界の走査を伴わずに、ウェアラブルデバイスの使用を有効にし得る。代替として、または加えて、本システム/デバイスは、物理的世界の新しい領域に進入することに応じて、同様に、適切な記憶されたマップを読み出すことができる。
【0032】
物理的世界についてのデータを複数のデバイス間で共有することは、仮想コンテンツの共有されたユーザ体験を有効にし得る。同一の記憶されたマップへのアクセスを有する、2つのXRデバイスは両方とも、例えば、記憶されたマップに対して位置特定されることができる。いったん位置特定されると、ユーザのXRデバイスは、その場所をXRデバイスによって維持される基準フレームに平行移動させることによって、基準によって規定された場所を有する仮想コンテンツを記憶されたマップにレンダリングすることができる。XRデバイスは、本ローカル基準フレームを使用し、ユーザデバイスのディスプレイを制御し、仮想コンテンツを規定された場所内にレンダリングすることができる。
【0033】
これらおよび他の機能をサポートするために、XRシステムは、ユーザのXRデバイス上のセンサを用いて収集された物理的世界についてのデータに基づいて、1つまたはそれを上回る記憶されたマップを含む、持続空間情報を創出、維持、および使用する、コンポーネントを含むことができる。これらのコンポーネントは、XRシステムを横断して分散され、いくつかは、例えば、XRデバイスの頭部搭載型部分上で動作することができる。他のコンポーネントは、ローカルまたはパーソナルエリアネットワークを経由して頭部搭載型部分に結合される、ユーザと関連付けられるコンピュータ上で動作することができる。さらにその他は、広域ネットワークを経由してアクセス可能な1つまたはそれを上回るサーバにおいて等、遠隔場所において動作することができる。
【0034】
これらのコンポーネントは、例えば、1つまたはそれを上回るユーザデバイスによって収集された物理的世界についての情報から、持続マップとして、または持続マップ内に記憶されるために十分な品質である情報を識別し得る、マップマージコンポーネントを含むことができる。マップマージコンポーネントは、XRデバイスから入力を受信し、正準形態であり得る、マップを更新するために使用されることになる、入力の一部の好適性を決定することができる。本マップは、ユーザのXRデバイスに提供され得る。
【0035】
場面理解コンポーネントは、オブジェクトを検出および/または認識し、オブジェクトの表現を生成し、マップ内のオブジェクトを再構築するために使用されることができる。オブジェクト認識は、環境の場面内のオブジェクトとの相互作用またはインテリジェンスを指し得る。場面理解は、場面の意味論を理解する、および/または場面についての知識を理解/抽出するための能力を指し得る。持続的かつ共有可能なオブジェクト/意味論は、インテリジェントなマップおよび複数人物、例えば、マルチプレーヤ体験を有効にするために重要である。
【0036】
場面理解は、備品(例えば、壁、床、天井等の背景)と、オブジェクトとを含む、場面の意味論を識別するための能力である。静的対動的、材料、照明等の場面意味論に区別することが可能である。
【0037】
場面理解は、XR環境内での意味論配慮型ユーザ相互作用のために使用されることができる。例えば、場面理解は、ゲームコンテンツを結び付けるための床、壁、および天井平面を位置特定し、ゲームコンテンツを結び付けるためのソファ、椅子、テーブル、または他の家具のメッシュを位置特定し、階レベルおよび部屋のレイアウトを推定し、オブジェクト標識を手に入れるためにレイキャストするために、および/または意味論配慮型物理学のために使用されることができる。
【0038】
場面理解を使用すると、マップは、物理的環境内のオブジェクトについてのより正確な情報を含むことができる。場面理解の算出は、ユーザのXRデバイスから遠隔にある、遠隔サーバを使用して、例えば、クラウド内で実施されることができる。本クラウドベースのアプローチは、ユーザ間の均一な体験のために、同一のマップを使用するマルチユーザアプリケーションをサポートすることができる。いくつかの実装では、非常に大規模な面積が、マッピングされる必要があり得るため、ユーザのXRデバイスではなく、ロバストなサーバを使用して、マップを生成し、標識することが、より実践的であり、はるかに高速であり得る。これはまた、そのような算出が、リアルタイム処理の代わりに、オフラインで実施されることも有効にする。クラウドベースのアプローチは、その環境のマップを一度構築し、そのマップを使用し、場面理解技法によって提供される拡張された情報を用いて、他者と共有することを望み得る企業もサポートすることができる。これはまた、マップが、異なるエコシステムから由来する情報から生成されることも有効にする。
【0039】
マップはまた、XRデバイスから受信された新しい画像および情報に基づいて、経時的に更新されることもできる。XRシステムは、新しく検出されたオブジェクトまたは先に検出されたオブジェクト内の変化に基づいて、完全な更新されたマップをXRデバイスに提供するのではなく、オブジェクトに関するオブジェクト表現をXRデバイスに送信することができる。オブジェクト表現は、例えば、オブジェクトによって占有される物理的環境の面積を表す、占有率グリッドを含むことができる。いくつかの実装では、占有率グリッドは、3次元グリッドを含み、グリッドの各セルは、オブジェクトがセルによって表される環境の面積を占有するかどうかを示す、ある値を含むことができる。3次元グリッドは、オブジェクトが位置する環境の全体的な面積を表す、境界ボックスを包含することができる。
【0040】
XRデバイスは、オブジェクト表現を使用し、例えば、環境を表すメッシュを標識する、および/またはマップ内のオブジェクトを示すことによって、XRデバイスにおいて記憶されるマップを更新することができる。これはまた、XRシステムまたはXRデバイスが、検出されたオブジェクトを参照して、他のオブジェクトを表示することを有効にする。例えば、検出されたオブジェクトが、テーブルである場合、XRデバイスは、占有率グリッドを使用し、テーブルの上部表面によって占有される環境の部分を決定し、テーブルの表面上にオブジェクトを表示することができる。
【0041】
本明細書に説明されるような技法は、拡張または複合現実場面を提供する、限定された算出リソースを伴う、ウェアラブルまたはポータブルデバイスを含む、多くのタイプのデバイスとともに、かつ多くのタイプの場面のために、ともにまたは別個に使用されることができる。いくつかの実装では、本技法は、XRシステムの一部を形成する、1つまたはそれを上回るサービスによって実装されることができる。
【0042】
図1は、簡略化された拡張現実(AR)場面100の実施例を図示する、スケッチである。AR場面100が、描写されており、この中でAR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム158を特徴とする、物理的世界公園様設定156が見える。これらのアイテムに加えて、AR技術のユーザはまた、物理的世界コンクリートプラットフォーム158の上に立っているロボット像157と、それによってマルハナバチの擬人化のように見える、飛んでいる漫画様アバタキャラクタ152とが「見える」と知覚するが、これらの要素、例えば、アバタキャラクタ152およびロボット像157は、物理的世界内には存在しない。ヒトの視知覚および神経系の極端な複雑性に起因して、他の仮想または物理的世界イメージ要素の中でもとりわけ、仮想画像要素の快適かつ自然な感覚の豊富な提示を促進する、AR技術を生産することは、困難である。
【0043】
そのようなAR場面は、追跡情報に基づいて物理的世界のマップを構築するシステムを用いて、達成され、ユーザが、ARコンテンツを物理的世界内に設置することを有効にし、ARコンテンツが設置された物理的世界のマップ内の場所を決定し、設置されたARコンテンツが、例えば、異なるAR体験セッションの間、物理的世界内に表示するために再ロードされ得るように、AR場面を保存し、複数のユーザがAR体験を共有することを有効にし得る。本システムは、ユーザの周囲の物理的世界表面のデジタル表現を構築および更新し得る。本表現は、仮想オブジェクトを設置するために、物理学ベースの相互作用において、および仮想キャラクタ経路計画およびナビゲーションのために、またはその中で物理的世界についての情報が使用される他の動作のために、完全または部分的に、ユーザと仮想コンテンツのレンダリングされた場所との間で、物理的オブジェクトによってオクルードされるように現れるように、仮想コンテンツをレンダリングするために使用されてもよい。
【0044】
図2は、XRシステムの例示的使用事例を示す、簡略化された例示的AR場面200のスケッチである。例示的場面200は、壁と、壁の片側上の本棚と、部屋の角における床置きランプと、床と、ソファと、床上のコーヒーテーブルとを有する、居間である。これらの物理的アイテムに加えて、AR技術のユーザはまた、ソファの背後の壁上の画像202、ドアを通して飛んで来た鳥204、本棚から外を覗いているシカ、およびコーヒーテーブル上に設置された風車206の形態における装飾品等の仮想オブジェクトも知覚する。
【0045】
壁上の画像202に関して、AR技術は、仮想オブジェクトを正しくレンダリングするために、壁の表面だけではなく、画像をオクルードしているランプシェード等の部屋内のオブジェクトおよび表面についての情報も要求する。飛んで来た鳥204に関して、AR技術は、オブジェクトおよび表面を回避する、または鳥204が衝突する場合、それらを跳ね返すように、現実的物理学を用いて鳥204をレンダリングするために、部屋の周囲の全てのオブジェクトおよび表面についての情報を要求する。シカに関して、AR技術は、シカを設置するべき場所を算出するために、床またはコーヒーテーブル等の表面についての情報を要求する。風車206に関して、本システムは、テーブルと別個のオブジェクトであることを識別することができ、それが移動可能であることを決定し得るのに対し、棚の角または壁の角は、定常であると決定され得る。そのような区別は、種々の動作のそれぞれにおいて使用または更新される場面の部分に関する決定の際に使用されてもよい。
【0046】
仮想オブジェクトは、先のAR体験セッション内に設置されることができる。新しいAR体験セッションが、居間内で開始すると、AR技術は、仮想オブジェクトが、先に設置された場所において正確に表示され、異なる視点から現実的に可視であることを要求する。例えば、風車206は、書籍を伴わない異なる場所においても、テーブルの上方に漂流しているのではなく、書籍上に立っているものとして表示されるべきである。そのような漂流は、新しいAR体験セッションのユーザの場所が、居間内で正確に位置特定されない場合に起こり得る。別の実施例として、ユーザが、風車206が設置されたときの視点とは異なる視点から風車206を視認している場合、AR技術は、表示されている風車206の対応する側を要求する。
【0047】
場面は、複数のコンポーネントを含むシステムを介して、ユーザに提示され、視覚、聴覚、および/または触覚等、1つまたはそれを上回るユーザ感知を刺激し得る、ユーザインターフェースを含み得る。加えて、本システムは、場面の物理的部分内のユーザの位置および/または運動を含む、場面の物理的部分のパラメータを測定し得る、1つまたはそれを上回るセンサを含んでもよい。さらに、本システムは、メモリ等の関連付けられるコンピュータハードウェアを伴う、1つまたはそれを上回るコンピューティングデバイスを含んでもよい。これらのコンポーネントは、単一のデバイスの中に統合されてもよい、または複数の相互接続されたデバイスを横断して分散されてもよい。いくつかの実装では、これらのコンポーネントのいくつかまたは全ては、ウェアラブルデバイスの中に統合され得る。
【0048】
図3は、その中でARシステム302が、物理的世界と相互作用するARコンテンツの体験を提供するように構成される、環境300を示す。ARシステム302は、ディスプレイ308を含み得る。図示される実施例では、ディスプレイ308は、ユーザが、対のゴーグルまたは眼鏡同様に、ディスプレイを自分の眼にわたって装着し得るように、ヘッドセットの一部としてユーザによって装着されることができる。ディスプレイ308の少なくとも一部は、ユーザが、シースルー現実310を観察し得るように、透明であってもよい。シースルー現実310は、ARシステム302の現在の視点内にある、物理的世界306の部分に対応することができ、これは、ユーザが、ARシステムのディスプレイおよびセンサの両方を組み込んでいるヘッドセットを装着し、物理的世界についての情報を入手している場合には、ユーザの視点に対応し得る。
【0049】
ARコンテンツはまた、シースルー現実310上にオーバーレイされる、ディスプレイ308上に提示されてもよい。ARコンテンツとシースルー現実310との間の正確な相互作用をディスプレイ308上に提供するために、ARシステム302は、物理的世界306についての情報を捕捉するように構成される、センサ322を含むことができる。
【0050】
センサ322は、深度マップ312を出力する、1つまたはそれを上回る深度センサを含むことができる。各深度マップ312は、そのそれぞれが、深度センサに対する特定の方向における物理的世界306内の表面までの距離を表し得る、複数のピクセルを有することができる。未加工の深度データは、深度センサから由来し、深度マップを作成し得る。そのような深度マップは、深度センサが新しい画像を形成し得るほど高速に更新され得、これは、1秒あたり数百または数千回であり得る。しかしながら、そのデータは、雑音が多くかつ不完全であり、図示される深度マップ上に黒色ピクセルとして示される、穴を有し得る。
【0051】
本システムは、画像センサ等の他のセンサを含むことができる。画像センサは、他の方法において物理的世界を表すために処理され得る、単眼または立体視情報を入手し得る。例えば、画像は、世界再構築コンポーネント316内で処理され、物理的世界内のオブジェクトの接続された部分を表す、メッシュを作成し得る。例えば、色および表面テクスチャを含む、そのようなオブジェクトについてのメタデータも同様に、センサを用いて入手され、世界再構築物の一部として記憶されることができる。
【0052】
ARシステム302はまた、物理的世界に対するユーザの頭部姿勢(または「姿勢」)についての情報を入手することができる。いくつかの実装では、ARシステム302の頭部姿勢追跡コンポーネントは、頭部姿勢をリアルタイムで算出するために使用されることができる。頭部姿勢追跡コンポーネントは、例えば、3つの垂直軸における平行移動(例えば、前/後、上/下、左/右)および3つの垂直軸を中心とした回転(例えば、ピッチ、ヨー、およびロール)を含む、6自由度を伴って、座標フレーム内のユーザの頭部姿勢を表すことができる。いくつかの実装では、センサ322は、頭部姿勢314を算出および/または決定するために使用され得る、慣性測定ユニット(IMU)を含むことができる。深度マップのための頭部姿勢314は、例えば、6自由度を伴う、深度マップを捕捉するセンサの現在の視点を示すことができるが、頭部姿勢314は、画像情報を物理的世界の特定の部分に関連させる、またはユーザの頭部上に装着されるディスプレイの位置を物理的世界に関連させる等の他の目的のために使用されてもよい。
【0053】
いくつかの実装では、頭部姿勢情報は、画像内のオブジェクトの分析から等、IMUから以外の方法において導出されることができる。例えば、頭部姿勢追跡コンポーネントは、カメラによって捕捉された視覚的情報およびIMUによって捕捉された慣性情報に基づいて、物理的オブジェクトに対するARデバイスの相対的位置および配向を算出することができる。頭部姿勢追跡コンポーネントは、次いで、例えば、物理的オブジェクトに対するARデバイスの算出された相対的位置および配向と物理的オブジェクトの特徴を比較することによって、ARデバイスの頭部姿勢を算出し得る。いくつかの実装では、その比較は、経時的に捕捉された画像内のこれらの特徴の位置の変化が、ユーザの頭部姿勢における変化と関連付けられ得るように、経時的に安定性のある、センサ322のうちの1つまたはそれを上回るものを用いて捕捉された画像内の特徴を識別することによって行われることができる。
【0054】
いくつかの実装では、ARデバイスは、ユーザがARデバイスとともに物理的世界全体を通して移動するにつれて捕捉された、一連の画像フレーム内の連続画像内で認識された特徴点から、マップを構築することができる。各画像フレームは、ユーザが移動するにつれて、異なる姿勢から捉えられ得るが、本システムは、連続画像フレームの特徴と先に捕捉された画像フレームをマッチングさせることによって、各連続画像フレームの特徴の配向を調節し、初期画像フレームの配向をマッチングさせることができる。同一の特徴を表す点が、先に収集された画像フレームからの対応する特徴点にマッチングするであろうような連続画像フレームの平行移動は、各連続画像フレームを整合させ、先に処理された画像フレームの配向をマッチングさせるために使用されることができる。結果として生じるマップ内のフレームは、第1の画像フレームがマップに追加されたときに確立される共通配向を有し得る。本マップは、共通基準フレーム内の特徴点のセットとともに、現在の画像フレームからの特徴をマップにマッチングさせることによって、物理的世界内のユーザの姿勢を決定するために使用されることができる。
【0055】
環境内のユーザの姿勢の追跡を有効にすることに加えて、本マップは、世界再構築コンポーネント316等のARシステム302の他のコンポーネントが、ユーザに対する物理的オブジェクトの場所を決定することを有効にすることができる。世界再構築コンポーネント316は、深度マップ312および頭部姿勢314およびセンサ322からの任意の他のデータを受信し、そのデータを再構築物318の中に統合することができる。再構築物318は、センサデータよりも完全であり、雑音が少なくあり得る。世界再構築コンポーネント316は、経時的に、複数の視点からのセンサデータの空間および時間的平均化を使用して、再構築物318を更新することができる。
【0056】
再構築物318は、例えば、ボクセル、メッシュ、平面等を含む、1つまたはそれを上回るデータ形式において、物理的世界の表現を含むことができる。異なる形式は、物理的世界の同一部分の代替表現を表すことができる、または物理的世界の異なる部分を表すことができる。図示される実施例では、再構築物318の左側には、物理的世界の一部が、グローバル表面として提示され、再構築物318の右側には、物理的世界の一部が、メッシュとして提示される。
【0057】
ARシステム302は、物理的世界の複数の視点から、経時的に、センサデータを統合することができる。センサの姿勢(例えば、位置および配向)は、センサを含むデバイスが移動されるにつれて、追跡されてもよい。センサのフレーム姿勢、およびそれが他の姿勢と関連する様子が、把握されるにつれて、物理的世界のこれらの複数の視点はそれぞれ、物理的世界の単一の組み合わせられた再構築物の中にともに融合されることができ、これは、マップのための抽象層としての役割を果たし、空間情報を提供し得る。再構築物は、空間および時間的平均化(すなわち、経時的な複数の視点からのデータの平均化)または任意の他の好適な方法を使用することによって、元のセンサデータよりも完全であり、雑音が少なくあり得る。
【0058】
図3に図示される実施例では、マップは、その中に単一のウェアラブルデバイスのユーザが存在する、物理的世界の一部を表す。そのシナリオでは、マップ内のフレームと関連付けられる頭部姿勢は、セッションの開始時における単一のデバイスに関する初期配向に対する配向を示す、ローカル頭部姿勢として表されてもよい。例えば、頭部姿勢は、デバイスがオンにされた、または別様に、環境を走査し、その環境の表現を構築するように動作されたときの初期頭部姿勢に対して追跡されてもよい。
【0059】
物理的世界のその部分を特徴付けるコンテンツと組み合わせて、マップは、メタデータを含むことができる。メタデータは、例えば、マップを形成するために使用されるセンサ情報の捕捉時間を示すことができる。メタデータは、代替として、または加えて、マップを形成するために使用される情報の捕捉時間におけるセンサの場所を示すことができる。場所は、直接、GPSチップからの情報等を用いて、または間接的に、センサデータが収集されていた間の1つまたはそれを上回る無線アクセスポイントから受信された信号の強度を示す、無線(例えば、Wi-Fi)シグネチャ等を用いて、および/またはセンサデータが収集された間に、それに対してユーザデバイスが接続した無線アクセスポイントのBSSID等の識別子を用いて、表現されてもよい。
【0060】
再構築物318は、オクルージョン処理または物理学ベースの処理のための物理的世界の表面表現を生産すること等、AR機能のために使用されることができる。本表面表現は、ユーザが移動する、または物理的世界内のオブジェクトが変化するにつれて、変化し得る。再構築物318の側面は、例えば、他のコンポーネントによって使用され得る、世界座標内の変化するグローバル表面表現を生産する、コンポーネント320によって使用されることができる。
【0061】
ARコンテンツは、本情報に基づいて、ARアプリケーション304によって等、生成されることができる。ARアプリケーション304は、例えば、視覚的オクルージョン、物理学ベースの相互作用、および環境推論等の物理的世界についての情報に基づいて、1つまたはそれを上回る機能を実施する、ゲームプログラムであることができる。ARアプリケーション304は、世界再構築コンポーネント316によって生産された再構築物318から異なる形式におけるデータにクエリすることによって、これらの機能を実施することができる。いくつかの実装では、コンポーネント320は、物理的世界の着目領域内の表現が変化すると、更新を出力するように構成されることができる。その着目領域は、例えば、ユーザの視野内の一部等、システムのユーザの近傍内の物理的世界の一部に近似するように設定される、またはユーザの視野内に入るように投影(予測/決定)されることができる。
【0062】
ARアプリケーション304は、本情報を使用し、ARコンテンツを生成および更新することができる。ARコンテンツの仮想部分は、シースルー現実310と組み合わせて、ディスプレイ308上に提示され、現実的ユーザ体験を作成し得る。
【0063】
いくつかの実装では、AR体験は、遠隔処理および/または遠隔データ記憶装置を含み得るシステムの一部であり得る、ウェアラブルディスプレイデバイス、および/または、いくつかの実装では、他のユーザによって装着される他のウェアラブルディスプレイデバイスであり得る、XRデバイスを通して、ユーザに提供されてもよい。例えば、世界再構築物316またはその一部は、ユーザのXRデバイスから遠隔にあるクラウドベースのシステム内に実装されることができる。
【0064】
図4は、ユーザのための仮想コンテンツを表示する、例示的ARディスプレイシステム400を示す。システム400は、頭部搭載型ディスプレイデバイス462(以降、「ディスプレイデバイス462」と称される)と、ディスプレイデバイス462の機能をサポートするための種々の機械的および電子モジュールおよびシステムとを含む。ディスプレイデバイス462は、フレーム464に結合され、これは、ディスプレイシステムユーザまたは視認者460(以降、「ユーザ460」と称される)によって装着可能であり、ディスプレイデバイス462をユーザ460の眼の正面に位置付けるように構成されることができる。種々の実装によると、ディスプレイデバイス462は、シーケンシャルディスプレイであることができる。ディスプレイデバイス462は、単眼または両眼であることができる。いくつかの実装では、ディスプレイデバイス462は、図3におけるディスプレイ308の実施例であり得る。
【0065】
いくつかの実装では、スピーカ466が、フレーム464に結合され、ユーザ460の外耳道に近接して位置付けられる。いくつかの実装では、示されないが、別のスピーカが、ユーザ460の別の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する。ディスプレイデバイス462は、有線導線または無線コネクティビティ468によって等、ローカルデータ処理モジュール470に動作可能に結合され、これは、フレーム464に固定して取り付けられる、ユーザ560によって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、(例えば、リュック式構成において、ベルト結合式構成において)ユーザ460に取り外し可能に取り付けられる等、様々な構成において搭載されることができる。
【0066】
ローカルデータ処理モジュール470は、プロセッサおよび不揮発性メモリ、例えば、フラッシュメモリ等のデジタルメモリを含むことができ、その両方とも、データの処理、キャッシング、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(カメラ等)、マイクロフォン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム464に動作可能に結合される、または別様にユーザ460に取り付けられ得る)センサから捕捉されるデータ、および/またはb)可能性として、処理または読出後にディスプレイデバイス462への通過のために、遠隔処理モジュール472および/または遠隔データリポジトリ474を使用して入手および/または処理されるデータを含む。
【0067】
いくつかの実装では、ウェアラブルデバイスは、遠隔コンポーネントと通信することができる。ローカルデータ処理モジュール470は、それぞれ、有線または無線通信リンクを介して等、通信リンク476、478によって、遠隔処理モジュール472および遠隔データリポジトリ474に動作可能に結合され、したがって、これらの遠隔モジュール472、474が、相互に動作可能に結合され、ローカルデータ処理モジュール470に対するリソースとして利用可能であり得る。さらなる実装では、遠隔データリポジトリ474に加えて、またはその代替として、ウェアラブルデバイスは、クラウドベースの遠隔データリポジトリおよび/またはサービスにアクセスすることができる。いくつかの実装では、上記に説明される頭部姿勢追跡コンポーネントは、少なくとも部分的に、ローカルデータ処理モジュール470内に実装されることができる。いくつかの実装では、図3における世界再構築コンポーネント416は、少なくとも部分的に、ローカルデータ処理モジュール470内に実装されることができる。例えば、ローカルデータ処理モジュール470は、少なくとも部分的に、データの少なくとも一部に基づいて、コンピュータ実行可能命令を実行し、マップおよび/または物理的世界表現を生成するように構成されることができる。
【0068】
いくつかの実装では、ローカルデータ処理モジュール470は、データおよび/または画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサ(例えば、グラフィックス処理ユニット(GPU))を含むことができる。いくつかの実装では、ローカルデータ処理モジュール470は、単一のプロセッサ(例えば、シングルコアまたはマルチコアARMプロセッサ)を含むことができ、これは、ローカルデータ処理モジュールの算出予算を限定するが、より小型のデバイスを有効にするであろう。いくつかの実装では、世界再構築コンポーネント416は、単一の高度RISC機械(ARM)コアよりも少ない算出予算を使用し、物理的世界表現をリアルタイムで非所定の空間上に生成することができ、したがって、単一のARMコアの残りの算出予算が、例えば、メッシュを抽出すること等の他の使用のためにアクセスされることができる。
【0069】
いくつかの実装では、遠隔データリポジトリ474は、デジタルデータ記憶設備を含むことができ、これは、インターネット、または「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実装では、全てのデータが、記憶され、全ての算出が、ローカルデータ処理モジュール470内で実施され、遠隔モジュールからの完全に自律的な使用を可能にする。いくつかの実装では、全てのデータが、記憶され、全てまたは大部分の算出が、遠隔データリポジトリ474内で実施され、より小さいデバイスを可能にする。世界再構築物は、例えば、全体的または部分的に、本リポジトリ474内に記憶されることができる。
【0070】
いくつかの実装では、世界再構築物が、ローカルデータ処理モジュール470内に記憶される。ローカルデータ処理モジュール470は、物理的世界内に位置するオブジェクトに関連する情報を受信し、ローカルで記憶された世界再構築物を更新することができる。オブジェクトに関する情報は、物理的世界内のオブジェクトの場所、およびオブジェクトによって占有される物理的世界の面積を説明する情報を含むことができる。例えば、オブジェクトに関する情報は、オブジェクトに関する境界ボックス情報と、オブジェクトに関する占有率グリッドとを含む、オブジェクト表現を含むことができる。
【0071】
いくつかの実装では、ローカルデータ処理モジュール470は、バッテリ482に動作可能に結合される。いくつかの実装では、バッテリ482は、市販のバッテリ等のリムーバブル電源である。他の実装では、バッテリ482は、リチウムイオンバッテリである。いくつかの実装では、バッテリ482は、システム480の非動作時間の間、ユーザ460によって充電可能な内部リチウムイオンバッテリと、リムーバブルバッテリとの両方を含み、したがって、ユーザ460は、リチウムイオンバッテリを充電するために電源に繋ぐ必要もなく、またはバッテリを交換するためにシステム480をシャットオフする必要もなく、より長い期間にわたってシステム480を動作させ得る。
【0072】
図5Aは、ユーザ430が物理的世界環境532(以降、「環境532」と称される)を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着している、ユーザ530を示す。ユーザの移動経路に沿ってARシステムによって捕捉された情報は、1つまたはそれを上回る追跡マップの中に処理されてもよい。ユーザ530は、ARディスプレイシステムを位置534に位置付け、ARディスプレイシステムは、位置534に対するパス可能世界(例えば、物理的世界内の実オブジェクトの変化に伴って記憶および更新され得る、物理的世界内の実オブジェクトのデジタル表現)の周囲情報を記録する。その情報は、画像、特徴、指向性オーディオ入力、または他の所望のデータと組み合わせて、姿勢として記憶されてもよい。位置534は、データ入力536に対して集約され、少なくともパス可能世界モジュール538によって処理され、これは、例えば、図4の遠隔処理モジュール572上の処理によって実装されてもよい。いくつかの実装では、パス可能世界モジュール538は、処理された情報が、レンダリング仮想コンテンツ内で使用される物理的オブジェクトについての他の情報と組み合わせて、物理的世界内のオブジェクトの場所を示し得るように、頭部姿勢コンポーネント514と、世界再構築コンポーネント516とを含んでもよい。
【0073】
パス可能世界モジュール538は、データ入力536から決定されるように、少なくとも部分的に、ARコンテンツ540が物理的世界内に設置され得る場所および方法を決定する。ARコンテンツは、ユーザインターフェースを介して、物理的世界の表現およびARコンテンツの両方を提示することによって、物理的世界内に「設置」され、ARコンテンツは、物理的世界内のオブジェクトと相互作用しているかのようにレンダリングされ、物理的世界内のオブジェクトは、ARコンテンツが、適切なとき、それらのオブジェクトのユーザのビューを不明瞭にしているかのように提示される。いくつかの実装では、ARコンテンツは、固定要素542(例えば、テーブル)の一部を再構築物(例えば、再構築物518)から適切に選択し、ARコンテンツ540の形状および位置を決定することによって、設置されてもよい。実施例として、固定要素は、テーブルであってもよく、仮想コンテンツは、そのテーブル上に現れるように位置付けられてもよい。いくつかの実施形態では、ARコンテンツは、現在の視野または推定される将来的視野であり得る、視野544内の構造の中に設置されてもよい。いくつかの実施形態では、ARコンテンツは、物理的世界のモデル546(例えば、メッシュ)に対して持続されてもよい。
【0074】
描写されるように、固定要素542は、ユーザ530にそれが見える度に、システムが固定要素542にマッピングする必要なく、ユーザ530が固定要素542上にコンテンツを知覚し得るように、パス可能世界モジュール538内に記憶され得る、物理的世界内の任意の固定要素のためのプロキシ(例えば、デジタルコピー)としての役割を果たす。固定要素542は、したがって、前のモデル化セッションからの、または別個のユーザから決定されるものであるものの、複数のユーザによる将来的参照のためにパス可能世界モジュール538によって記憶される、メッシュモデルであってもよい。したがって、パス可能世界モジュール538は、環境532を以前にマッピングされた環境から認識し、ユーザ530のデバイスが環境532の全部または一部を最初にマッピングすることなく、ARコンテンツを表示し、算出プロセスおよびサイクルを節約し、任意のレンダリングされたARコンテンツの待ち時間を回避し得る。
【0075】
物理的世界のメッシュモデル546は、ARディスプレイシステムによって作成されてもよく、ARコンテンツ540と相互作用し、表示するための適切な表面およびメトリックは、完全または部分的に、モデルを再作成する必要なく、ユーザ530または他のユーザによる将来的読出のために、パス可能世界モジュール538によって記憶されることができる。いくつかの実装では、データ入力536は、パス可能世界モジュール538に、1つまたはそれを上回る固定要素のうちのどの固定要素542が利用可能であるかどうか、固定要素542上に最後に設置されたARコンテンツ540、およびその同一コンテンツを表示すべきかどうか(そのようなARコンテンツは、ユーザが特定のパス可能世界モデルを視認しているかどうかにかかわらず、「持続」コンテンツである)を示すための、地理的場所、ユーザ識別、および現在のアクティビティ等の入力である。
【0076】
オブジェクトが固定されていると見なされる(例えば、台所のテーブル)、実装においてさえ、パス可能世界モジュール538は、物理的世界の変化の可能性を考慮するために、物理的世界のモデル内のそれらのオブジェクトを随時更新してもよい。固定されたオブジェクトのモデルは、非常に低周波数で更新されてもよい。物理的世界内の他のオブジェクトは、移動している、または別様に固定されていると見なされないものであり得る(例えば、台所の椅子)。AR場面を現実的感覚でレンダリングするために、ARシステムは、これらの非固定オブジェクトの位置を、固定オブジェクトを更新するために使用されるものよりはるかに高い周波数で更新してもよい。物理的世界内のオブジェクトの全ての正確な追跡を有効にするために、ARシステムは、1つまたはそれを上回る画像センサを含む、複数のセンサから情報を引き出してもよい。下記に詳細に説明されるように、ARシステムは、オブジェクト毎の占有率を含む、受信されたオブジェクト表現に基づいて、オブジェクトのモデルを更新することができる。
【0077】
図5Bは、視認光学系アセンブリ548および付帯コンポーネントを示す。いくつかの実施形態では、2つの眼追跡カメラ550が、ユーザの眼549に向かって指向され、眼形状、眼瞼オクルージョン、瞳孔方向、およびユーザの眼549上の閃光等、ユーザの眼549のメトリックを検出する。
【0078】
いくつかの実装では、センサのうちの1つは、飛行時間センサ等の深度センサ551であって、信号を世界に放出し、近隣のオブジェクトからのそれらの信号の反射を検出し、所与のオブジェクトまでの距離を決定してもよい。深度センサは、例えば、オブジェクトが、それらのオブジェクトの運動またはユーザの姿勢の変化のいずれかの結果として、ユーザの視野に進入したかどうかを迅速に決定し得る。しかしながら、ユーザの視野内のオブジェクトの位置についての情報は、代替として、または加えて、他のセンサを用いて収集されてもよい。深度情報は、例えば、立体視的画像センサまたはプレノプティックセンサから取得されてもよい。
【0079】
いくつかの実装では、世界カメラ552は、周辺より広いビューを記録し、マッピングし、および/または別様に、環境532のモデルを作成し、ARコンテンツに影響を及ぼし得る、入力を検出する。いくつかの実装では、世界カメラ552および/またはカメラ553は、グレースケールおよび/またはカラー画像センサであってもよく、これは、グレースケールおよび/またはカラー画像フレームを固定される時間インターバルにおいて出力してもよい。カメラ553はさらに、ユーザの視野内の物理的世界画像を具体的時間において捕捉してもよい。フレームベースの画像センサのピクセルは、その値が不変である場合でも、反復的にサンプリングされてもよい。世界カメラ552、カメラ553、および深度センサ551はそれぞれ、554、555、および556の個別の視野を有し、物理的世界環境532等の物理的世界場面からのデータを収集および記録する。
【0080】
慣性測定ユニット557は、視認光学系アセンブリ548の移動および配向を決定してもよい。いくつかの実装では、各コンポーネントは、少なくとも1つの他のコンポーネントに動作可能に結合される。例えば、深度センサ551は、ユーザの眼549が見ている実際の距離に対する測定された遠近調節の確認として、眼追跡カメラ550に動作可能に結合される。
【0081】
いくつかの実装では、視認光学系アセンブリ548は、4つの代わりに、2つの世界カメラ552を含んでもよい。代替として、または加えて、カメラ552および553は、その完全視野の可視光画像を捕捉する必要はない。視認光学系アセンブリ548は、他のタイプのコンポーネントを含んでもよい。いくつかの実施形態では、視認光学系アセンブリ548は、1つまたはそれを上回る動的視覚センサ(DVS)を含んでもよく、そのピクセルは、光強度の相対的変化が閾値を超えることに非同期して応答してもよい。
【0082】
いくつかの実装では、視認光学系アセンブリ548は、飛行時間情報に基づく深度センサ551を含まなくてもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ548は、1つまたはそれを上回るプレノプティックカメラを含んでもよく、そのピクセルは、入射光の光強度および角度を捕捉してもよく、そこから深度情報が、決定されることができる。例えば、プレノプティックカメラは、透過性回折マスク(TDM)でオーバーレイされた画像センサを含んでもよい。代替として、または加えて、プレノプティックカメラは、角度感知ピクセルおよび/または位相検出自動焦点ピクセル(PDAF)および/またはマイクロレンズアレイ(MLA)を含有する、画像センサを含んでもよい。そのようなセンサは、深度センサ551の代わりに、またはそれに加え、深度情報源としての役割を果たし得る。
【0083】
また、図5Bにおけるコンポーネントの構成は、実施例として提供されることを理解されたい。視認光学系アセンブリ548は、任意の好適な構成を伴うコンポーネントを含んでもよく、これは、ユーザに、特定のセットのコンポーネントのために実践的な最大視野を提供するように設定されてもよい。例えば、視認光学系アセンブリ548が、1つの世界カメラ552を有する場合、世界カメラは、側面の代わりに、視認光学系アセンブリの中心領域内に設置されてもよい。
【0084】
視認光学系アセンブリ548内のセンサからの情報は、システム内のプロセッサのうちの1つまたはそれを上回るものに結合されてもよい。プロセッサは、ユーザに仮想コンテンツが物理的世界内のオブジェクトと相互作用するように知覚させるようにレンダリングされ得る、データを生成してもよい。そのレンダリングは、物理的および仮想オブジェクトの両方を描写する、画像データを生成することを含め、任意の好適な方法において実装されてもよい。他の実施形態では、物理的および仮想コンテンツは、ユーザが物理的世界を透かし見る、ディスプレイデバイスの不透明度を変調させることによって、1つの場面に描写されてもよい。不透明度は、仮想オブジェクトの外観を作成し、ユーザに仮想オブジェクトによってオクルードされる物理的世界内のオブジェクトが見えないように遮断するように、制御されてもよい。いくつかの実施形態では、画像データは、仮想コンテンツがユーザインターフェースを通して視認されるとき、物理的世界と現実的に相互作用するように、ユーザによって知覚されるように修正され得る(例えば、コンテンツをクリッピングし、オクルージョンを考慮する)、仮想コンテンツのみを含んでもよい。
【0085】
コンテンツが特定の場所におけるオブジェクトの印象を作成するために表示され得る、視認光学系アセンブリ548上の場所は、視認光学系アセンブリの物理学に依存し得る。加えて、物理的世界に対するユーザの頭部の姿勢およびユーザの眼が見ている方向は、コンテンツが現れるであろう視認光学系アセンブリ上の特定の場所に表示される、物理的世界コンテンツ内の場所に影響を及ぼすであろう。上記に説明されるようなセンサは、センサ入力を受信するプロセッサが、オブジェクトが、視認光学系アセンブリ548上にレンダリングされ、ユーザのために所望の外観を作成すべき場所を算出し得るように、本情報を収集し、および/またはそこから本情報が計算され得る、情報を供給してもよい。
【0086】
コンテンツがユーザに提示される方法にかかわらず、物理的世界のモデルが、仮想オブジェクトの形状、位置、運動、および可視性を含む、物理的オブジェクトによって影響され得る、仮想オブジェクトの特徴が、正しく算出され得るように、使用され得る。いくつかの実施形態では、モデルは、物理的世界の再構築物、例えば、再構築物518を含んでもよい。
【0087】
そのモデルは、ユーザのウェアラブルデバイス上のセンサから収集されたデータから作成されてもよい。但し、いくつかの実施形態では、モデルは、複数のユーザによって収集されたデータから作成されてもよく、これは、全てのユーザから遠隔のコンピューティングデバイス内に集約されてもよい(かつ「クラウド内」にあってもよい)。モデルは、少なくとも部分的に、例えば、図3の世界再構築コンポーネント516等の世界再構築コンポーネントによって、作成されてもよい。
【0088】
図6Aは、環境の再構築を生成するための例示的パイプライン600を示す。再構築は、例えば、ボクセル、メッシュ、平面等を含む、1つまたはそれを上回るデータフォーマットにおいて、物理的世界の表現を含むことができる。
【0089】
図5Aのパス可能世界モジュール538と同一または類似し得る、パス可能世界モジュール620は、複数のデバイス610からデータ611を収集する。パス可能世界モジュール620は、デバイス610から遠隔にある、1つまたはそれを上回る遠隔サーバによって、例えば、クラウドベースの環境内に実装されることができる。
【0090】
本デバイスは、ユーザデバイス、例えば、ユーザによって装着されるウェアラブルXRデバイスを含むことができる。データは、例えば、深度画像(例えば、深度マップ312)と、随意に、カラー画像とを含むことができる。データはまた、画像毎に、デバイス610が画像を捕捉した時点におけるデバイス610に関する姿勢(例えば、頭部姿勢)および場所情報を含むことができる。本情報は、画像が捕捉された時点におけるデバイス610の配向および場所を提供する。
【0091】
別個のコンポーネントとして示されるが、パス可能世界モジュール620は、深層マップマージ(DMM)エンジン630と、場面理解エンジン650とを含むことができる。パス可能世界モジュール620は、複数のデバイス610から受信された画像および他のデータを集約し、そのデータをDMMエンジン630に渡すことができる。
【0092】
一般に、DMMエンジン630は、画像によって表されるマップをマージし、物理的世界のマップを再構築する。マップを再構築する際、DMMエンジン630は、マップを表すために、種々のタイプのデータ670を生成する。図6Bを参照してより詳細に説明されるように、本データ670は、画像内で検出/認識されたオブジェクト、画像によって描写された物理的世界を表すタイル、物理的世界のメッシュ、および物理的世界の平面の説明を含む。
【0093】
場面理解エンジン650は、DMMエンジン630によって生成されたデータを、物理的世界内のオブジェクトに関連する付加的なデータを用いて、豊富なものにすることができる。例えば、場面理解エンジン650は、例えば、オブジェクト認識技法を使用して、オブジェクトを認識し、オブジェクトに関する標識を生成することができる。標識は、例えば、オブジェクトのタイプ、およびまたはオブジェクトの識別を示すことができる。場面理解エンジン650は、マップ内の標識と、ユーザに提示される再構築物とを含むことができる。場面理解エンジン650はまた、オブジェクト680の表現を抽象化/生成すること、およびオブジェクトによって占有される環境の面積を表す占有率グリッドを生成すること等、オブジェクトについての付加的な情報も生成することができる。占有率グリッドは、再構築物内の適切な場所および配向においてオブジェクトを表示し、ARコンテンツをオブジェクトに結び付けるために、デバイス611によって使用されることができる。
【0094】
図6Bは、例示的パイプライン600のコンポーネントをより詳細に示す。図6Bに示されるように、複数のデバイス610は、DMMエンジン630と、場面理解エンジン650とを含む、パス可能世界モジュール620にデータを提供する。
【0095】
DMMエンジン630は、デバイス610から受信されたデータを使用して、物理的世界のマップを再構築するために、いくつかのマップマージ機能を実施することができる。特に、DMMエンジン630は、デバイス610から受信された深度画像631を並べ替えることができる。例えば、DMMエンジン630は、同一のまたは隣接する面積の画像が、新しい順序において相互に近傍にあるように、場所および/または姿勢に基づいて、画像を並べ替えることができる。
【0096】
DMMエンジン630は、深度融合動作632を実施し、画像を融合し、物理的世界の単一の組み合わせられた再構築物を生成することができる。DMMエンジン630は、画像毎に受信された姿勢情報を使用して、画像を融合することができる。DMMエンジン630は、画像をともに融合し、画像によって描写された物理的世界の立体表現を作成することができる。立体表現は、ボクセルの形態であることができる。各ボクセルは、物理的世界内の所定の体積の3次元立方体に対応し、表面情報を含み、ボクセルによって表される体積内に表面が存在するかどうかを示し得る。
【0097】
DMMエンジン630はまた、メッシュ化動作633を実施し、画像によって描写された物理的世界を表すメッシュを生成することもできる。メッシュは、物理的世界内のオブジェクトの接続された部分を表す、3次元モデルである。メッシュは、環境の物理的表面および物理的世界のオブジェクトに対応する頂点と、エッジと、面とを含むことができる。
【0098】
DMMエンジン630はまた、平面IDマッチング動作634を実施し、画像によって描写されるような物理的世界内の平面を識別し、識別子(「ID」)を平面に割り当て、画像からの平面を他の画像内の対応する平面とマッチングさせることもできる。
【0099】
DMMエンジン630は、ボクセル表現、メッシュ、および平面についての情報をメモリ635内に記憶し、これは、ランダムアクセスメモリ(RAM)として実装され得る。DMMエンジン630はまた、マップまたはそのボクセル表現を複数のより小さなタイルにセグメント化し、タイルをメモリ635内に記憶することもできる。DMMエンジン635は、デバイス610、タイル642、およびメッシュ643から受信された画像内で検出された各オブジェクトの説明641をメモリ内に記憶する。DMMエンジン630はまた、オブジェクトについての情報と、平面についての情報、例えば、平面IDとを含む、オブジェクトデータベース644を維持することもできる。本データベース644は、平面またはオブジェクトにクエリするために使用されることができる。
【0100】
場面理解エンジン650は、深層ネットワーク推測を実施し、メッシュ643内のオブジェクトを認識する。場面理解エンジン650は、訓練された機械学習モデル、例えば、訓練された深層ニューラルネットワークモデルを使用し、メッシュ内のオブジェクトを認識することができる。認識されたオブジェクト毎に、場面理解エンジン650は、オブジェクトの一部を含む、意味論的標識を各ボクセルに割り当てることができる。例えば、ボクセルのセットが、椅子が含む場合、セット内の各ボクセルは、標識「椅子」を割り当てられ得る。いくつかの実装では、場面理解エンジン650は、3次元意味論的セグメント化ネットワークを使用し、ボクセルあたりの意味論的標識を生成する。
【0101】
場面理解エンジン650は、クラスタ化動作652を実施し、ボクセルのクラスタを生成することができる。各クラスタは、メッシュ643内で認識された共通のオブジェクトを表すことができる。同一タイプの複数のオブジェクトが存在する場合、場面理解エンジン650は、オブジェクトのタイプのインスタンス毎に、個々のクラスタを生成することができる。いくつかの実装では、場面理解エンジン650は、意味論的標識をともにクラスタ化し、DB走査アルゴリズムを使用して、オブジェクトを形成する。
【0102】
場面理解エンジン650は、オブジェクト毎、例えば、ボクセルのクラスタに対応するオブジェクト毎に、占有率グリッドを作成する。占有率グリッドは、オブジェクトによって占有される環境の面積を表すことができる。いくつかの実装では、占有率グリッドは、3次元グリッドを含み、グリッドの各セルは、オブジェクトがセルによって表される環境の面積を占有するかどうかを示す、ある値を含むことができる。3次元グリッドは、オブジェクトが位置する環境の全体的な面積を表す、境界ボックスを包含することができる。
【0103】
占有率グリッドを生成するために、場面理解エンジン650は、オブジェクトに関する境界ボックスを生成する、例えば、適合させる、または取得することができる。例えば、場面理解エンジン650は、メッシュ内のオブジェクトの幾何学的位置を表すために、オブジェクトの周囲に、最小限の配向された境界ボックスを適合させることができる。場面理解エンジン650は、次いで、境界ボックスをセルの3次元グリッドにセグメント化することができる。場面理解エンジン650は、次いで、グリッドの各セルを評価し、オブジェクトの任意の部分がセル内に見出されるかどうかを決定することができる。場面理解エンジン650は、セルがオブジェクトの一部を含むかどうかに基づいて、各セルに、ある値を割り当てることができる。例えば、オブジェクトの一部を含むセルの場合、場面理解エンジン650は、そのセルに1の値を割り当てることができる。セルが、オブジェクトのいずれの部分によっても占有されない場合、場面理解エンジン650は、そのセルに、異なる値、例えば、0の値を割り当てることができる。
【0104】
図8は、例示的占有率グリッド800を示す。例示的占有率グリッドは、テーブル810によって占有される物理的世界の面積を表す。占有率グリッド800は、テーブル810を包含するように生成される境界ボックスに基づいて、サイズ指定および成形される。図8に示されるように、テーブル810の一部を含む各セルは、1の値を有し、テーブル810の一部を含まない各セルは、0の値を有する。明瞭性のために、図8は、占有率グリッド800の片側のセルに関する値のみを示す。
【0105】
図6Bに戻って参照すると、場面理解エンジン650は、占有率グリッドおよび検出されたオブジェクトについての他の情報、例えば、オブジェクトのタイプを識別する標識、境界ボックス情報等を用いて、プロトコルバッファ(protobuf)を更新する(635)。データは、次いで、データベース644に移動される。
【0106】
いくつかの実装では、場面理解エンジン650は、オブジェクト毎のオブジェクト表現を作成し、各オブジェクト表現を用いて、protobufを更新する。オブジェクト表現は、オブジェクトについてのデータを含むことができる。例えば、オブジェクトに関するオブジェクト表現は、マップを識別するマップ識別子、例えば、スパースマップ識別子と、随意に、オブジェクトが位置するマップのバージョンとを含むことができる。オブジェクトに関するオブジェクト表現は、オブジェクトに関する一意のオブジェクト識別子を含むことができる。マップ識別子およびオブジェクト識別子は、座標フレーム一意ID(CFUID)であることができ、これは、マップおよび持続的姿勢識別子を表すための複数または全てのデバイス610を横断したグローバルに一意の識別子である。
【0107】
オブジェクトに関するオブジェクト表現は、意味論的標識識別子を含むことができる。意味論的標識識別子は、オブジェクトのタイプまたは他の意味論的表現を示すことができる。例えば、オブジェクト表現が、部屋内の椅子に関するものである場合、意味論的標識識別子は、「椅子」であることができる。
【0108】
オブジェクトに関するオブジェクト表現は、マップまたはメッシュ内のオブジェクトの場所を表す、境界ボックスに関する境界ボックス情報を含むことができる。境界ボックス情報は、境界ボックスの中心の座標、例えば、x、y、z座標を含むことができる。境界ボックス情報はまた、境界ボックスが、中心から各方向に延在する、例えば、xを延在する、yを延在する、およびzを延在する、距離を示す情報を含むこともできる。境界ボックス情報はまた、境界ボックス内のオブジェクトの姿勢を示す、情報を含むこともできる。
【0109】
オブジェクトに関するオブジェクト表現は、占有率グリッド情報を含むことができる。占有率グリッド情報は、グリッドの各セルの場所を示す情報と、セル毎に、オブジェクトの一部がセル内にあるかどうかを示す、ある値とを含むことができる。
【0110】
オブジェクト表現は、デバイス610に送信されることができ、したがって、オブジェクトは、ユーザに表示される再構築物内に、正確に表示されることができる。オブジェクトが変化する、例えば、オブジェクトの場所または姿勢が変化する場合、本変化は、デバイス610から受信された画像内で検出されることができる。パイプライン600の一部として、場面理解エンジン650は、オブジェクトに関する新しいまたは更新されたオブジェクト表現を生成し、そのオブジェクト表現をデバイス610に送信するであろう。
【0111】
メッシュではなくオブジェクト表現を提供することによって、再構築物は、低減された待ち時間を伴って、かつそうでなければメッシュが占有するであろうものと同量のデータ記憶を占有することなく、デバイス610において更新されることができる。占有率グリッドは、更新されたメッシュを使用することに勝る利点、例えば、データ記憶、待ち時間、帯域幅の利点、および境界ボックスに勝る利点を提供する。境界ボックスは、それら自体が、オブジェクトの幾何学的形状の十分な説明を提供しない。代わりに、境界ボックスは、オブジェクトの場所および配向のみを示す。占有率グリッドを使用すると、デバイス610および/またはパス可能世界モジュール620は、ARコンテンツを設置するために、オブジェクトの平面およびメッシュを識別することができる。
【0112】
占有率グリッドを使用することはまた、デバイス610が、メッシュを使用することの待ち時間の追加を伴うことなく、クエリ時に、デバイス610において、平面およびメッシュを標識することも有効にする。これは、メッシュおよび平面のより小さな変化に対するオブジェクト情報の一貫性を確保する。
【0113】
図7は、例示的ARディスプレイシステム700のコンポーネントを示す。ARディスプレイシステム700は、ARディスプレイシステム400と同一のまたは類似するコンポーネントを含むことができる。ARディスプレイシステム700はまた、図7に示されるように、世界再構築物(WR)クエリハンドラ710と、WRエンジン720と、メモリ、例えば、ダブルデータレート同期型動的ランダムアクセスメモリ(DDR SDRAM)メモリ730内に記憶される、オブジェクト説明732とを含むこともできる。
【0114】
オブジェクト説明は、図6Aおよび6Bの場面理解エンジン650によって生成される、オブジェクト表現を含むことができる。例えば、パス可能世界モジュール620は、オブジェクト表現を、オブジェクトデータベースから、デバイス610の1つとしてのARディスプレイシステム700に、送信することができる。
【0115】
WRクエリハンドラ710は、アプリケーション、例えば、ARアプリケーションからクエリを受信し、クエリに対する応答を生成し、その応答を要求側アプリケーションに送信することができる。クエリは、例えば、特定の視点から、マップによって表される物理的世界についての情報を取得するために使用されることができる。クエリに応答して、WRクエリハンドラ710は、物理的世界に関する表現を1つまたはそれを上回る形式において送信することができる。例えば、クエリが、その使用が視覚的オクルージョンまたは物理学ベースの相互作用のためであることを示すとき、WRクエリハンドラは、表面の表現を送信することができる。クエリが、使用が環境的推論のためであることを示すとき、WRクエリハンドラ710は、物理的世界のメッシュ、平面、および意味論を送信することができる。
【0116】
WRクエリハンドラ710は、特定のタイプのクエリを取り扱う、個々のクエリハンドラを含むことができる。例えば、WRクエリハンドラ710は、クエリに対して応答性があるメッシュを識別し、そのメッシュを要求側アプリケーションに提供することができる、メッシュ化サービス711を含む。WRクエリハンドラ710は、クエリに対して応答性がある平面を識別し、その平面を要求側アプリケーションに提供することができる、平面サービス712を含む。WRクエリハンドラ710はまた、クエリに対して応答性があるオブジェクトを識別し、オブジェクトを含むメッシュ、またはオブジェクトについての情報を要求側アプリケーションに提供することができる、意味論サービス713を含む。
【0117】
WRエンジン720は、メッシュ化情報721と、平面情報723とを含む。WRエンジン720は、メッシュ情報721および平面情報723を使用して、メッシュおよび平面を再構築することができる。例えば、WRエンジン720は、ARディスプレイシステム700のディスプレイによる表示のために、物理的世界の再構築物を生成することができる。WRエンジン720は、オブジェクト情報、例えば、オブジェクト表現を使用し、オブジェクトに関する標識を用いて、メッシュおよび平面を標識することができる。
【0118】
WRエンジン720はまた、本情報を使用し、ARコンテンツをオブジェクト上に設置することもできる。例えば、WRエンジン720は、その情報を使用し、テーブルの上部表面を識別し、ARコンテンツ、例えば、仮想ランプをテーブルの表面上に設置することができる。特定の実施例では、WRエンジン720は、例えば、テーブルの一部を含むセルおよびそれらのセルの配向に基づいて、テーブルの上部表面の一部を含む、占有率グリッドのセルを識別することができる。WRエンジン720は、次いで、テーブルの上部に関して識別されたセルの真上のメッシュ内に、仮想ランプの底部を設置することができる。
【0119】
WRエンジン720は、オブジェクトに関する占有率グリッドを使用し、平面を標識することができる。抽出された平面毎に、WRエンジン720は、オブジェクトデータベース644を通して検索し、平面と重複する面積を有する境界ボックスを用いて、オブジェクトをフィルタ除去し、それらを候補として保存することができる。各平面の候補に関して、WRエンジン720は、平面上の頂点を使用し、それらの占有率グリッドを点検し、占有率グリッドと交差する頂点の数を計算することができる。本比率は、平面が、オブジェクトからの占有率グリッドとマッチングされ得るかどうかを表す。
【0120】
図9は、オブジェクトに関するオブジェクト表現を生成するための例示的プロセス900のフローチャートである。プロセス900は、例えば、図6Aおよび6Bのパス可能世界モジュール620によって実施されることができ、これは、1つまたはそれを上回るコンピュータ上に実装されることができる。
【0121】
1つまたはそれを上回るオブジェクトが、物理的環境のモデル内で認識される(902)。本モデルは、物理的環境を表す、ボクセルのセットを含むことができる。上記に説明されるように、ボクセルは、1つまたはそれを上回るデバイスのセンサから受信された画像および関連付けられるデータに基づいて、DMMエンジンによって生成されることができる。オブジェクトは、機械学習モデル、例えば、訓練された深層ニューラルネットワークを使用して認識されることができる。DMMエンジンは、その中でオブジェクトが、ボクセル内で認識されたオブジェクトのタイプを示す意味論的標識を用いて認識される、各ボクセルを標識することができる。
【0122】
境界ボックスは、認識された各オブジェクトの周囲に適合される(904)。例えば、オブジェクトのエッジは、検出されることができ、境界ボックスは、全てのエッジがボックス内にあるように、オブジェクトの周囲に適合されることができる。境界ボックスは、オブジェクト全体が境界ボックス内にあることを確実にしながら、それが可能な限り小さくあるように適合されることができる。
【0123】
占有率グリッドが、オブジェクト毎に生成される(906)。占有率グリッドは、オブジェクトによって占有される環境の面積を表すことができる。いくつかの実装では、占有率グリッドは、3次元グリッドを含む。3次元グリッドは、オブジェクトの周囲に適合される、境界ボックスを包含することができる。
【0124】
ある値が、オブジェクト毎の占有率グリッドの各セルに割り当てられる(908)。オブジェクトの一部を含む各セルは、第1の値を割り当てられ得る。オブジェクトのいずれの部分も含まない各セルは、第1の値とは異なる第2の値を割り当てられ得る。例えば、オブジェクトの一部を含む各セルは、1の値を割り当てられ得、オブジェクトの一部を含まない各セルは、0の値を割り当てられ得る。他の適切な値もまた、使用されることができる。
【0125】
オブジェクト表現が、オブジェクト毎に生成される(910)。オブジェクト表現は、オブジェクトについてのデータを含むことができる。例えば、オブジェクトに関するオブジェクト表現は、マップを識別するマップ識別子と、随意に、オブジェクトが位置するマップのバージョンと、オブジェクトに関する一意のオブジェクト識別子と、オブジェクトのタイプを示す意味論的標識識別子または他の意味論的表現と、マップまたはメッシュ内のオブジェクトの場所を表す境界ボックスに関する境界ボックス情報と、グリッドの各セルの場所を示す占有率グリッド情報と、セル毎に、オブジェクトの一部がセル内にあるかどうかを示す、ある値とを含むことができる。
【0126】
オブジェクト毎のオブジェクト表現は、1つまたはそれを上回るデバイスに送信される(912)。オブジェクト表現は、1つまたはそれを上回るARディスプレイデバイスに送信されることができる。ARデバイスは、次いで、オブジェクト表現を使用し、オブジェクトを伴うARコンテンツを設置することができる。
【0127】
本明細書において説明される主題および機能的動作の実施形態は、デジタル電子回路網内に、有形に具現化されるコンピュータソフトウェアまたはファームウェア内に、本明細書において開示される構造およびそれらの構造均等物を含むコンピュータハードウェア内に、またはそれらのうちの1つまたはそれを上回るものの組み合わせにおいて実装されることができる。本明細書において説明される主題の実施形態は、1つまたはそれを上回るコンピュータプログラム、すなわち、データ処理装置による実行のため、またはその動作を制御するために、有形非一過性プログラム搬送装置上にエンコードされる、コンピュータプログラム命令の1つまたはそれを上回るモジュールとして実装されることができる。代替として、または加えて、プログラム命令は、人工的に生成された伝搬信号、例えば、機械生成電気、光、または電磁信号上にエンコードされることができ、これは、データ処理装置による実行のために、好適な受信機装置への伝送のための情報をエンコードするために生成される。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたはそれを上回るものの組み合わせであり得る。
【0128】
用語「データ処理装置」は、データ処理ハードウェアを指し、実施例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、および機械を包含する。装置はまた、特殊目的論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)である、またはさらに、それらを含むことができる。装置は、随意に、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたはそれを上回るものの組み合わせを構成するコードを含むことができる。
【0129】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称される、またはそれらとしても説明され得る、コンピュータプログラムは、コンパイラ型またはインタプリタ型言語、または宣言型または手続型言語を含む、任意の形態のプログラミング言語において書き込まれることができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境内の使用にとって好適な他のユニットとしてを含む、任意の形態において展開されることができる。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語文書内に記憶された1つまたはそれを上回るスクリプト内に、当該プログラム専用の単一のファイル内に、または複数の協調ファイル、例えば、1つまたはそれを上回るモジュール、サブプログラム、またはコードの一部を記憶するファイル内に記憶されることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの施設において位置する、または複数の施設を横断して分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開されることができる。
【0130】
本明細書において説明されるプロセスおよび論理フローは、入力データを動作させ、出力を生成することによって機能を実施するために、1つまたはそれを上回るコンピュータプログラムを実行する、1つまたはそれを上回るプログラム可能コンピュータによって実施されることができる。本プロセスおよび論理フローはまた、特殊目的論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されることができ、装置もまた、それらとして実装されることもできる。
【0131】
コンピュータプログラムの実行にとって好適なコンピュータは、実施例として、汎用または特殊目的マイクロプロセッサまたはその両方、または任意の他の種類の中央処理ユニットを含む。概して、中央処理ユニットは、読取専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信するであろう。コンピュータの不可欠な要素は、命令を実施または実行するための中央処理ユニット、および命令およびデータを記憶するための1つまたはそれを上回るメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つまたはそれを上回る大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含む、またはそれからデータを受信する、またはそれらにデータを転送する、またはその両方を行うように動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつかのみを挙げると、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ内に埋め込まれることができる。
【0132】
コンピュータプログラムの命令およびデータを記憶するために好適なコンピュータ可読媒体は、実施例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路網によって補完される、またはその中に組み込まれ得る。
【0133】
ユーザとの相互作用を提供するために、本明細書において説明される主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタと、これによってユーザが、コンピュータに入力を提供することができる、キーボード、およびポインティングデバイス、例えば、マウスまたはトラックボールとを有する、コンピュータ上に実装されることができる。他の種類のデバイスも、同様に、ユーザとの相互作用を提供するために使用されることができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態において受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そこからドキュメントを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【0134】
本明細書において説明される主題の実施形態は、例えば、データサーバとしてのバックエンドコンポーネントを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、それを通してユーザが本明細書において説明される主題の実装と相互作用し得る、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータを含む、または1つまたはそれを上回るそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステム内に実装されることができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えば、インターネットを含む。
【0135】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、概して、相互から遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントとサーバの関係は、個別のコンピュータ上で起動し、相互にクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、例えば、クライアントとして作用する、ユーザデバイスと相互作用するユーザに、データを表示し、そこからユーザ入力を受信する目的のために、データ、例えば、HTMLページをユーザデバイスに伝送する。ユーザデバイスにおいて生成されたデータ、例えば、ユーザ相互作用の結果は、サーバにおいてユーザデバイスから受信されることができる。
【0136】
1つのそのようなタイプのコンピュータの実施例が、図10に示され、これは、汎用コンピュータシステム1000の概略図を示す。システム1000は、一実装による、先に説明されたコンピュータ実装方法のいずれかと関連して説明される動作のために使用されることができる。システム1000は、プロセッサ1010、メモリ1020、記憶デバイス1030、および入/出力デバイス1040を含む。コンポーネント1010,1020,1030、および1040はそれぞれ、システムバス1050を使用して相互接続される。プロセッサ1010は、システム1000内での実行のための命令を処理することが可能である。一実装では、プロセッサ1010は、シングルスレッドプロセッサである。別の実装では、プロセッサ1010は、マルチスレッドプロセッサである。プロセッサ1010は、メモリ1020内、または記憶デバイス1030上に記憶される命令を処理し、入/出力デバイス1040上に、ユーザインターフェースのためのグラフィック情報を表示することが可能である。
【0137】
メモリ1020は、システム1000内に情報を記憶する。一実装では、メモリ1020は、コンピュータ可読媒体である。一実装では、メモリ1020は、揮発性メモリユニットである。別の実装では、メモリ1020は、不揮発性記憶ユニットである。
【0138】
記憶デバイス1030は、システム1000のための大容量記憶装置を提供することが可能である。一実装では、記憶デバイス1030は、コンピュータ可読媒体である。種々の異なる実装では、記憶デバイス1030は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイスであってもよい。
【0139】
入/出力デバイス1040は、システム1000に対する入/出力動作を提供する。一実装では、入/出力デバイス1040は、キーボードおよび/またはポインティングデバイスを含む。別の実装では、入/出力デバイス1040は、グラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
【0140】
本明細書は、多くの具体的な実装詳細を含有するが、これらは、請求され得る内容の範囲に対する限定として解釈されるべきではなく、むしろ、特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書において説明される、ある特徴はまた、単一の実施形態において、組み合わせて実装されることもできる。逆に言えば、単一の実施形態の文脈において説明される種々の特徴もまた、複数の実施形態において別個に、または任意の好適な副次的組み合わせにおいて実装されることもできる。さらに、特徴が、ある組み合わせにおいて作用するものとして、上記に説明され、最初にそのように請求さえされ得るが、請求項される組み合わせからの1つまたはそれを上回る特徴は、ある場合には、その組み合わせから除外されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例も対象とし得る。
【0141】
同様に、動作が、図面内で、特定の順序で描写されるが、これは、そのような動作が、望ましい結果を達成するために、示される特定の順序で、または順次順序で実施されること、または全ての図示される動作が、実施されることを要求するものとして理解されるべきではない。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実施形態における種々のシステムモジュールおよびコンポーネントの分離は、全ての実施形態において、そのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品内にともに統合される、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
【0142】
本主題の特定の実施形態が、説明されている。他の実施形態は、以下の請求項の範囲内にある。例えば、請求項において列挙されるアクションは、異なる順序で実施されても、依然として、望ましい結果を達成することができる。一実施例として、付随の図において描写されるプロセスは、望ましい結果を達成するために、必ずしも示される特定の順序または順次順序を要求しない。ある場合には、マルチタスクおよび並列処理が、有利であり得る。
【0143】
請求される内容は、以下の通りである。
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図7
図8
図9
図10
【国際調査報告】