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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】深度情報を用いた高速3D再構築
(51)【国際特許分類】
   G06T 17/30 20060101AFI20241017BHJP
【FI】
G06T17/30
【請求項の数】 34
(21)【出願番号】P 2022506610
(86)(22)【出願日】2020-08-06
(65)【公表番号】
(43)【公表日】2022-10-13
(86)【国際出願番号】 US2020045135
(87)【国際公開番号】W WO2021026313
(87)【国際公開日】2021-02-11
【審査請求日】2023-07-19
(31)【優先権主張番号】62/883,851
(32)【優先日】2019-08-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ドン, シユ
【審査官】鈴木 明
(56)【参考文献】
【文献】米国特許出願公開第2019/0197774(US,A1)
【文献】米国特許出願公開第2018/0106891(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/30
(57)【特許請求の範囲】
【請求項1】
ポータブル電子システムであって、前記ポータブル電子システムは、
物理的世界についての情報を捕捉するように構成されている深度センサと、
記物理的世界についての前記捕捉された情報に少なくとも部分的に基づいて前記物理的世界の一部の3次元(3D)表現を算出するためのコンピュータ実行可能命令を実行するように構成されている少なくとも1つのプロセッサと
を備え、
前記コンピュータ実行可能命令は、
前記捕捉された情報から、複数のピクセルを備える深度画像を算出することであって、各ピクセルは、前記物理的世界内の表面までの距離を示す、ことと、
前記捕捉された情報に少なくとも部分的に基づいて、前記深度画像の前記複数のピクセル内の有効ピクセルおよび無効ピクセルを決定することと、
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することと、
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することであって、前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記無効ピクセルによって示される前記物理的世界内の前記表面までの距離に基づいて、前記無効ピクセルに対応する前記3D表現の一部を更新することを含む、こと
を行うための命令を備えるポータブル電子システム。
【請求項2】
前記深度画像を算出することは、前記複数のピクセルによって示される距離についての信頼度レベルを算出することを含み、
前記有効ピクセルおよび前記無効ピクセルを決定することは、前記複数のピクセルのそれぞれに対して、
前記対応する信頼度レベルが所定の値を下回るかどうかを決定することと、
前記対応する信頼度レベルが前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、請求項1に記載のポータブル電子システム。
【請求項3】
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することは、前記物理的世界の前記一部の前記3D表現の幾何学形状を前記有効ピクセルによって示される前記距離で修正することを含む、請求項1または請求項2に記載のポータブル電子システム。
【請求項4】
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することは、オブジェクトをオブジェクトマップに追加することを含む、請求項1に記載のポータブル電子システム。
【請求項5】
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、オブジェクトを前記オブジェクトマップから除去することを含む、請求項4に記載のポータブル電子システム。
【請求項6】
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記無効ピクセルによって示される前記距離に少なくとも部分的に基づいて、1つ以上の再構築された表面を前記物理的世界の前記一部の前記3D表現から除去することを含む、請求項1または請求項2に記載のポータブル電子システム。
【請求項7】
前記1つ以上の再構築された表面は、前記対応する無効ピクセルによって示される距離が前記センサの動作範囲外にあるとき、前記物理的世界の前記一部の前記3D表現から除去される、請求項6に記載のポータブル電子システム。
【請求項8】
前記1つ以上の再構築された表面は、前記対応する無効ピクセルによって示される距離が、前記1つ以上の再構築された表面が前記センサからより遠くに離れるように移動することを示すとき、前記物理的世界の前記一部の前記3D表現から除去される、請求項6に記載のポータブル電子システム。
【請求項9】
前記物理的世界の前記一部の前記3D表現は、前記無効ピクセルの情報を備える、請求項に記載のポータブル電子システム。
【請求項10】
信頼度情報が、前記深度画像のピクセル関連付けられており、前記信頼度情報は、個別のピクセルによって示される前記物理的世界前記表面までの前記距離における信頼度を示し、前記無効ピクセルは、前記有効ピクセルより低い信頼度を有する、請求項1に記載のポータブル電子システム。
【請求項11】
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することは、前記3D表現内の表面を追加および除去することを含み、
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記3D表現内の表面を選択的に除去することを含む、請求項1に記載のポータブル電子システム。
【請求項12】
前記無効ピクセルの情報は、前記センサから、信頼度が閾値を下回る前記物理的世界の前記一部内の表面までの距離を示す、請求項9に記載のポータブル電子システム。
【請求項13】
前記センサは、
ある周波数において変調された光を放出するように構成されている光源と、
複数のピクセル回路を備えるピクセルアレイであって、前記ピクセルアレイはオブジェクトによって反射された前記ある周波数における光を検出するように構成されている、ピクセルアレイと、
記ピクセルアレイ内の前記複数のピクセル回路によって検出された前記反射された光の振幅を示す前記反射された光の振幅画像と、前記ピクセルアレイ内の前記複数のピクセル回路によって検出された前記反射された光と前記放出される光との間の位相偏移を示す前記反射された光の位相画像とを算出するように構成されているミキサ回路と
を備え、
前記深度画像は、前記位相画像に少なくとも部分的に基づいて算出される、請求項1~12のいずれかに記載のポータブル電子システム。
【請求項14】
前記有効ピクセルおよび前記無効ピクセルを決定することは、前記深度画像の前記複数のピクセルのそれぞれに対して、
前記振幅画像内の対応する振幅が所定の値を下回るかどうかを決定することと、
前記対応する振幅が前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、請求項13に記載のポータブル電子システム。
【請求項15】
複数のコンピュータ実行可能命令でエンコーディングされた少なくとも1つの非一過性コンピュータ読み取り可能な媒体であって、前記複数のコンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行されると、物理的世界の一部の3次元(3D)表現を提供するための方法を実行し、前記物理的世界の前記一部の前記3D表現は、前記物理的世界の前記一部の複数のボリュームに対応する複数のボクセルを備え、前記複数のボクセルは、符号付き距離および加重を記憶し、前記方法は、
ユーザの視野内の変化に応じて、前記物理的世界の前記一部についての情報を捕捉することと、
前記捕捉された情報に基づいて、深度画像を算出することであって、前記深度画像は、複数のピクセルを備え、各ピクセルは、前記物理的世界の前記一部内の表面までの距離を示す、ことと、
前記捕捉された情報に少なくとも部分的に基づいて、前記深度画像の前記複数のピクセル内の有効ピクセルおよび無効ピクセルを決定することと、
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することと、
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することであって、前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記無効ピクセルによって示される前記物理的世界内の前記表面までの距離に基づいて、前記無効ピクセルに対応する前記3D表現の一部を更新することを含む、こと
を含む、少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項16】
前記捕捉された情報は、前記複数のピクセルによって示される前記距離についての信頼度レベルを備え、
前記有効ピクセルおよび無効ピクセルを決定することは、前記複数のピクセルのそれぞれに対して、
前記対応する信頼度レベルが所定の値を下回るかどうかを決定することと、
前記対応する信頼度レベルが前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、請求項15に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項17】
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することは、
前記深度画像の前記有効ピクセルに少なくとも部分的に基づいて、符号付き距離および加重を算出することと、
前記算出された加重と前記ボクセル内の個別の記憶された加重を組み合わせ、前記組み合わせられた加重を前記記憶された加重として記憶することと、
前記算出された符号付き距離と前記ボクセル内の個別の記憶された符号付き距離を組み合わせ、前記組み合わせられた符号付き距離を前記記憶された符号付き距離として記憶することと
を含む、請求項15または請求項16に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項18】
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、
前記深度画像の前記無効ピクセルに少なくとも部分的に基づいて、符号付き距離および加重を算出すること
を含み
前記算出することは、
前記深度画像が捕捉された時間に基づいて、前記算出された加重を修正することと、
前記修正された加重と前記ボクセル内の個別の記憶された加重を組み合わせることと、
前記組み合わせられた加重のそれぞれに対して、前記組み合わせられた加重が所定の値を上回るかどうかを決定することと
を含む、請求項15または請求項16に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項19】
前記算出された加重を修正することは、前記算出された加重のそれぞれに対して、前記算出された加重に対応する算出された符号付き距離と個別の記憶された符号付き距離との間に相違が存在するかどうかを決定することを含む、請求項18に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項20】
前記算出された加重を修正することは、前記相違が存在すると決定されると、前記算出された加重を減少させることを含む、請求項19に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項21】
前記算出された加重を修正することは、前記相違が存在しないと決定されると、前記算出された加重を前記修正された加重として割り当てることを含む、請求項19に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項22】
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記組み合わせられた加重が前記所定の値を上回ると決定されると、前記深度画像が捕捉された時間に基づいて、前記算出された加重をさらに修正することを含む、請求項18に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項23】
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記組み合わせられた加重が前記所定の値を下回ると決定されると、前記組み合わせられた加重を前記記憶された加重として記憶し、対応する算出された符号付き距離と個別の記憶された符号付き距離を組み合わせ、前記組み合わせられた符号付き距離を前記記憶された符号付き距離として記憶することを含む、請求項18に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項24】
前記物理的世界の前記一部の前記3D表現は、前記無効ピクセルの情報を備える、請求項15に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項25】
信頼度情報が、前記深度画像のピクセル関連付けられており、前記信頼度情報は、個別のピクセルによって示される前記物理的世界前記表面までの前記距離における信頼度を示し、前記無効ピクセルは、前記有効ピクセルより低い信頼度を有する、請求項15に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項26】
前記物理的世界の前記一部の前記3D表現を前記有効ピクセルで更新することは、前記3D表現内の表面を追加および除去することを含み、
前記物理的世界の前記一部の前記3D表現を前記無効ピクセルで更新することは、前記3D表現内の表面を選択的に除去することを含む、請求項15に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項27】
前記無効ピクセルの情報は、前記物理的世界の前記一部についての前記情報を捕捉するセンサから、信頼度が閾値を下回る前記物理的世界の前記一部内の表面までの距離を示す、請求項24に記載の少なくとも1つの非一過性コンピュータ読み取り可能な媒体。
【請求項28】
3次元(3D)環境を再構築するためのクロスリアリティ(XR)システムを動作させる方法であって、前記XRシステムは、センサの視野内の個別の領域に関する情報を捕捉するユーザによって装着されているセンサと通信する画像情報を処理するように構成されているプロセッサを備え、前記画像情報は、前記捕捉された情報から算出された深度画像を備え、前記深度画像は、複数のピクセルを備え、各ピクセルは、前記3D環境内の表面までの距離を示し、前記方法は、
前記捕捉された情報に少なくとも部分的に基づいて、前記深度画像の前記複数のピクセルを有効ピクセルおよび無効ピクセルとして決定することと、
前記3D環境の表現を前記有効ピクセルで更新することと、
前記3D環境の前記表現を前記無効ピクセルで更新することであって、前記3D環境の前記表現を前記無効ピクセルで更新することは、前記無効ピクセルによって示される前記3D環境内の前記表面までの距離に基づいて、前記無効ピクセルに対応する前記3D環境の前記表現の一部を更新することを含む、こと
を含む、方法。
【請求項29】
前記3D環境の前記表現を前記有効ピクセルで更新することは、前記有効ピクセルに少なくとも部分的に基づいて、前記3D環境の表現の幾何学形状を修正することを含む、請求項28に記載の方法。
【請求項30】
前記3D環境の前記表現を前記無効ピクセルで更新することは、前記無効ピクセルに少なくとも部分的に基づいて、表面を前記3D環境の前記表現から除去することを含む、請求項28または請求項29に記載の方法。
【請求項31】
前記3D環境の前記表現は、前記無効ピクセルの情報を備える、請求項28に記載の方法。
【請求項32】
信頼度情報が、前記深度画像のピクセル関連付けられており、前記信頼度情報は、個別のピクセルによって示される前記3D環境内の前記表面までの前記距離における信頼度を示し、前記無効ピクセルは、前記有効ピクセルより低い信頼度を有する、請求項28に記載の方法。
【請求項33】
前記3D環境の前記表現を前記有効ピクセルで更新することは、前記3D表現内の表面を追加および除去することを含み、
前記3D環境の前記表現を前記無効ピクセルで更新することは、前記3D表現内の表面を選択的に除去することを含む、請求項28に記載の方法。
【請求項34】
前記無効ピクセルの情報は、前記センサから、信頼度が閾値を下回る前記3D環境内の表面までの距離を示す、請求項31に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概して、3次元(3D)世界再構築を使用して、場面をレンダリングする、クロスリアリティシステムに関する。
【背景技術】
【0002】
コンピュータは、ヒューマンユーザインターフェースを制御し、ユーザによって知覚されるにつれて、XR環境の一部または全部がコンピュータによって生成される、Xリアリティ(XRまたはクロスリアリティ)環境を作成し得る。これらのXR環境は、XR環境の一部または全部が、部分的に、環境を説明するデータを使用して、コンピュータによって生成され得る、仮想現実(VR)、拡張現実(AR)、および複合現実(MR)環境であり得る。本データは、例えば、ユーザが、物理的世界の一部として、感知または知覚し、仮想オブジェクトと相互作用し得るようにレンダリングされ得る、仮想オブジェクトを説明し得る。ユーザは、例えば、頭部搭載型ディスプレイデバイス等のユーザインターフェースデバイスを通してレンダリングおよび提示されているデータの結果として、これらの仮想オブジェクトを体験し得る。データは、ユーザに見えるために表示され得る、またはユーザに聞こえるために再生される、オーディオを制御し得る、または触知的(または触覚的)インターフェースを制御し、ユーザが、仮想オブジェクトを感じるにつれて、ユーザが感知または知覚する、タッチ感覚を体験することを可能にし得る。
【0003】
XRシステムは、科学的可視化、医療訓練、工学設計、およびプロトタイプ化、遠隔操作およびテレプレゼンス、および個人的娯楽の分野に及ぶ、多くの用途のために有用であり得る。ARおよびMRは、VRと対照的に、物理的世界の実オブジェクトと関連して、1つ以上のオブジェクトを含む。実オブジェクトと相互作用する、仮想オブジェクトの体験は、XRシステムを使用する際、ユーザの享受を大幅に向上させ、また、物理的世界が改変され得る様子についての現実的かつ容易に理解可能な情報を提示する、種々の用途のための可能性を広げる。
【0004】
XRシステムは、本システムのユーザの周囲の世界の物理的表面を「メッシュ」として表し得る。メッシュは、複数の相互接続された三角形によって表され得る。各三角形は、各三角形が表面の一部を表すように、物理的世界内のオブジェクトの表面上の点を継合する、縁を有する。色、テクスチャ、または他の性質等の表面の部分についての情報は、三角形内に関連付けて記憶され得る。動作時、XRシステムは、メッシュを作成または更新するように、画像情報を処理し、点および表面を検出し得る。
【発明の概要】
【0005】
本願の側面は、深度情報を用いた高速3D再構築のための方法および装置に関する。本明細書に説明される技法は、ともに、別個に、または任意の好適な組み合わせにおいて、使用されてもよい。
【0006】
いくつかの実施形態は、ポータブル電子システムに関する。ポータブル電子システムは、物理的世界についての情報を捕捉するように構成される、深度センサと、少なくとも部分的に、物理的世界についての捕捉された情報に基づいて物理的世界の一部の3次元(3D)表現を算出するためのコンピュータ実行可能命令を実行するように構成される、少なくとも1つのプロセッサとを含む。コンピュータ実行可能命令は、捕捉された情報から、複数のピクセルを備える深度画像を算出するステップであって、各ピクセルは、物理的世界内の表面までの距離を示す、ステップと、少なくとも部分的に、捕捉された情報に基づいて、深度画像の複数のピクセル内の有効ピクセルおよび無効ピクセルを決定するステップと、物理的世界の一部の3D表現を有効ピクセルで更新するステップと、物理的世界の一部の3D表現を無効ピクセルで更新するステップとのための命令を備える。
【0007】
いくつかの実施形態では、深度画像を算出するステップは、複数のピクセルによって示される距離についての信頼度レベルを算出するステップを含み、有効ピクセルおよび無効ピクセルを決定するステップは、複数のピクセル毎に、対応する信頼度レベルが所定の値を下回るかどうかを決定するステップと、対応する信頼度レベルが所定の値を下回るとき、ピクセルを無効ピクセルとして割り当てるステップとを含む。
【0008】
いくつかの実施形態では、物理的世界の一部の3D表現を有効ピクセルで更新するステップは、物理的世界の一部の3D表現の幾何学形状を有効ピクセルによって示される距離で修正するステップを含む。
【0009】
いくつかの実施形態では、物理的世界の一部の3D表現を有効ピクセルで更新するステップは、オブジェクトをオブジェクトマップに追加するステップを含む。
【0010】
いくつかの実施形態では、物理的世界の一部の3D表現を無効ピクセルで更新するステップは、オブジェクトをオブジェクトマップから除去するステップを含む。
【0011】
いくつかの実施形態では、物理的世界の一部の3D表現を無効ピクセルで更新するステップは、少なくとも部分的に、無効ピクセルによって示される距離に基づいて、1つ以上の再構築された表面を物理的世界の一部の3D表現から除去するステップを含む。
【0012】
いくつかの実施形態では、1つ以上の再構築された表面は、対応する無効ピクセルによって示される距離がセンサの動作範囲外にあるとき、物理的世界の一部の3D表現から除去される。
【0013】
いくつかの実施形態では、センサは、ある周波数において変調された光を放出するように構成される、光源と、複数のピクセル回路を備え、オブジェクトによって反射された周波数における光を検出するように構成される、ピクセルアレイと、ピクセルアレイ内の複数のピクセル回路によって検出された反射された光の振幅を示す、反射された光の振幅画像と、ピクセルアレイ内の複数のピクセル回路によって検出された反射された光と放出される光との間の位相偏移を示す、反射された光の位相画像とを算出するように構成される、ミキサ回路とを備える。深度画像は、少なくとも部分的に、位相画像に基づいて算出される。
【0014】
いくつかの実施形態では、有効ピクセルおよび無効ピクセルを決定するステップは、深度画像の複数のピクセル毎に、振幅画像内の対応する振幅が所定の値を下回るかどうかを決定するステップと、対応する振幅が所定の値を下回るとき、ピクセルを無効ピクセルとして割り当てるステップとを含む。
【0015】
いくつかの実施形態は、少なくとも1つのプロセッサによって実行されると、物理的世界の一部の3次元(3D)表現を提供するための方法を実施する、複数のコンピュータ実行可能命令でエンコーディングされた少なくとも1つの非一過性コンピュータ可読媒体に関する。物理的世界の一部の3D表現は、物理的世界の一部の複数のボリュームに対応する、複数のボクセルを含む。複数のボクセルは、符号付き距離および加重を記憶する。本方法は、ユーザの視野内の変化に応じて、物理的世界の一部についての情報を捕捉するステップと、捕捉された情報に基づいて、深度画像を算出するステップであって、深度画像は、複数のピクセルを備え、各ピクセルは、物理的世界の一部内の表面までの距離を示す、ステップと、少なくとも部分的に、捕捉された情報に基づいて、深度画像の複数のピクセル内の有効ピクセルおよび無効ピクセルを決定するステップと、物理的世界の一部の3D表現を有効ピクセルで更新するステップと、物理的世界の一部の3D表現を無効ピクセルで更新するステップとを含む。
【0016】
いくつかの実施形態では、捕捉された情報は、複数のピクセルによって示される距離についての信頼度レベルを備える。有効ピクセルおよび無効ピクセルを決定するステップは、複数のピクセル毎に、対応する信頼度レベルが所定の値を下回るかどうかを決定するステップと、対応する信頼度レベルが所定の値を下回るとき、ピクセルを無効ピクセルとして割り当てるステップとを含む。
【0017】
いくつかの実施形態では、物理的世界の一部の3D表現を有効ピクセルで更新するステップは、少なくとも部分的に、深度画像の有効ピクセルに基づいて、符号付き距離および加重を算出するステップと、算出された加重とボクセル内の個別の記憶された加重を組み合わせ、組み合わせられた加重を記憶された加重として記憶するステップと、算出された符号付き距離とボクセル内の個別の記憶された符号付き距離を組み合わせ、組み合わせられた符号付き距離を記憶された符号付き距離として記憶するステップとを含む。
【0018】
いくつかの実施形態では、物理的世界の一部の3D表現を無効ピクセルで更新するステップは、少なくとも部分的に、深度画像の無効ピクセルに基づいて、符号付き距離および加重を算出するステップを含む。算出するステップは、深度画像が捕捉された時間に基づいて、算出された加重を修正するステップと、修正された加重とボクセル内の個別の記憶された加重を組み合わせるステップと、組み合わせられた加重毎に、組み合わせられた加重が所定の値を上回るかどうかを決定するステップとを含む。
【0019】
いくつかの実施形態では、算出された加重を修正するステップは、算出された加重毎に、算出された加重に対応する算出された符号付き距離と個別の記憶された符号付き距離との間に相違が存在するかどうかを決定するステップを含む。
【0020】
いくつかの実施形態では、算出された加重を修正するステップは、相違が存在すると決定されると、算出された加重を減少させるステップを含む。
【0021】
いくつかの実施形態では、算出された加重を修正するステップは、相違が存在しないと決定されると、算出された加重を修正された加重として割り当てるステップを含む。
【0022】
いくつかの実施形態では、物理的世界の一部の3D表現を無効ピクセルで更新するステップは、組み合わせられた加重が所定の値を上回ると決定されると、深度画像が捕捉された時間に基づいて、さらに算出された加重を修正するステップを含む。
【0023】
いくつかの実施形態では、物理的世界の一部の3D表現を無効ピクセルで更新するステップは、組み合わせられた加重が所定の値を下回ると決定されると、組み合わせられた加重を記憶された加重として記憶し、対応する算出された符号付き距離と個別の記憶された符号付き距離を組み合わせ、組み合わせられた符号付き距離を記憶された符号付き距離として記憶するステップを含む。
【0024】
いくつかの実施形態は、3次元(3D)環境を再構築するためのクロスリアリティ(XR)システムを動作させる方法に関する。XRシステムは、センサの視野内の個別の領域に関する情報を捕捉する、ユーザによって装着されるセンサと通信する、画像情報を処理するように構成される、プロセッサを含む。画像情報は、深度画像から算出された捕捉された情報を含む。深度画像は、複数のピクセルを含む。各ピクセルは、3D環境内の表面までの距離を示す。本方法は、少なくとも部分的に、捕捉された情報に基づいて、深度画像の複数のピクセルを有効ピクセルおよび無効ピクセルとして決定するステップと、3D環境の表現を有効ピクセルで更新するステップと、3D環境の表現を無効ピクセルで更新するステップとを含む。
【0025】
いくつかの実施形態では、3D環境の表現を有効ピクセルで更新するステップは、少なくとも部分的に、有効ピクセルに基づいて、3D環境の表現の幾何学形状を修正するステップを含む。
【0026】
いくつかの実施形態では、3D環境の表現を無効ピクセルで更新するステップは、少なくとも部分的に、無効ピクセルに基づいて、表面を3D環境の表現から除去するステップを含む。
【0027】
前述の説明は、例証として提供され、限定することを意図するものではない。
本発明は、例えば、以下を提供する。
(項目1)
ポータブル電子システムであって、
物理的世界についての情報を捕捉するように構成される深度センサと、
少なくとも1つのプロセッサであって、前記少なくとも1つのプロセッサは、少なくとも部分的に、前記物理的世界についての捕捉された情報に基づいて前記物理的世界の一部の3次元(3D)表現を算出するためのコンピュータ実行可能命令を実行するように構成され、前記コンピュータ実行可能命令は、
前記捕捉された情報から、複数のピクセルを備える深度画像を算出することであって、各ピクセルは、前記物理的世界内の表面までの距離を示す、ことと、
少なくとも部分的に、前記捕捉された情報に基づいて、前記深度画像の複数のピクセル内の有効ピクセルおよび無効ピクセルを決定することと、
前記物理的世界の一部の3D表現を前記有効ピクセルで更新することと、
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することと
のための命令を備える、少なくとも1つのプロセッサと
を備える、ポータブル電子システム。
(項目2)
前記深度画像を算出することは、前記複数のピクセルによって示される距離についての信頼度レベルを算出することを含み、
前記有効ピクセルおよび前記無効ピクセルを決定することは、前記複数のピクセル毎に、
前記対応する信頼度レベルが所定の値を下回るかどうかを決定することと、
前記対応する信頼度レベルが前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、項目1に記載のポータブル電子システム。
(項目3)
前記物理的世界の一部の3D表現を前記有効ピクセルで更新することは、前記物理的世界の一部の3D表現の幾何学形状を前記有効ピクセルによって示される距離で修正することを含む、項目1に記載のポータブル電子システム。
(項目4)
前記物理的世界の一部の3D表現を前記有効ピクセルで更新することは、オブジェクトをオブジェクトマップに追加することを含む、項目1に記載のポータブル電子システム。
(項目5)
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することは、オブジェクトを前記オブジェクトマップから除去することを含む、項目4に記載のポータブル電子システム。
(項目6)
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することは、少なくとも部分的に、前記無効ピクセルによって示される距離に基づいて、1つ以上の再構築された表面を前記物理的世界の一部の3D表現から除去することを含む、項目1に記載のポータブル電子システム。
(項目7)
前記1つ以上の再構築された表面は、前記対応する無効ピクセルによって示される距離が前記センサの動作範囲外にあるとき、前記物理的世界の一部の3D表現から除去される、項目1に記載のポータブル電子システム。
(項目8)
前記1つ以上の再構築された表面は、前記対応する無効ピクセルによって示される距離が、前記1つ以上の再構築された表面が前記センサからより遠くに離れるように移動することを示すとき、前記物理的世界の一部の3D表現から除去される、項目1に記載のポータブル電子システム。
(項目9)
前記センサは、
ある周波数において変調された光を放出するように構成される光源と、
ピクセルアレイであって、前記ピクセルアレイは、複数のピクセル回路を備え、オブジェクトによって反射された前記ある周波数における光を検出するように構成される、ピクセルアレイと、
ミキサ回路であって、前記ミキサ回路は、前記ピクセルアレイ内の複数のピクセル回路によって検出された前記反射された光の振幅を示す前記反射された光の振幅画像と、前記ピクセルアレイ内の複数のピクセル回路によって検出された前記反射された光と前記放出される光との間の位相偏移を示す前記反射された光の位相画像とを算出するように構成される、ミキサ回路と
を備え、
前記深度画像は、少なくとも部分的に、前記位相画像に基づいて算出される、項目1に記載のポータブル電子システム。
(項目10)
前記有効ピクセルおよび前記無効ピクセルを決定することは、前記深度画像の複数のピクセル毎に、
前記振幅画像内の対応する振幅が所定の値を下回るかどうかを決定することと、
前記対応する振幅が前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、項目9に記載のポータブル電子システム。
(項目11)
複数のコンピュータ実行可能命令でエンコーディングされた少なくとも1つの非一過性コンピュータ可読媒体であって、前記複数のコンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行されると、物理的世界の一部の3次元(3D)表現を提供するための方法を実施し、前記物理的世界の一部の3D表現は、前記物理的世界の一部の複数のボリュームに対応する複数のボクセルを備え、前記複数のボクセルは、符号付き距離および加重を記憶し、前記方法は、
ユーザの視野内の変化に応じて、前記物理的世界の一部についての情報を捕捉することと、
前記捕捉された情報に基づいて、深度画像を算出することであって、前記深度画像は、複数のピクセルを備え、各ピクセルは、前記物理的世界の一部内の表面までの距離を示す、ことと、
少なくとも部分的に、前記捕捉された情報に基づいて、前記深度画像の複数のピクセル内の有効ピクセルおよび無効ピクセルを決定することと、
前記物理的世界の一部の3D表現を前記有効ピクセルで更新することと、
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することと
を含む、少なくとも1つの非一過性コンピュータ可読媒体。
(項目12)
前記捕捉された情報は、前記複数のピクセルによって示される距離についての信頼度レベルを備え、
前記有効ピクセルおよび無効ピクセルを決定することは、前記複数のピクセル毎に、
前記対応する信頼度レベルが所定の値を下回るかどうかを決定することと、
前記対応する信頼度レベルが前記所定の値を下回るとき、前記ピクセルを無効ピクセルとして割り当てることと
を含む、項目11に記載のポータブル電子システム。
(項目13)
前記物理的世界の一部の3D表現を前記有効ピクセルで更新することは、
少なくとも部分的に、前記深度画像の有効ピクセルに基づいて、符号付き距離および加重を算出することと、
前記算出された加重と前記ボクセル内の個別の記憶された加重を組み合わせ、前記組み合わせられた加重を前記記憶された加重として記憶することと、
前記算出された符号付き距離と前記ボクセル内の個別の記憶された符号付き距離を組み合わせ、前記組み合わせられた符号付き距離を前記記憶された符号付き距離として記憶することと
を含む、項目11に記載のポータブル電子システム。
(項目14)
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することは、
少なくとも部分的に、前記深度画像の無効ピクセルに基づいて、符号付き距離および加重を算出すること
を含み、前記算出することは、
前記深度画像が捕捉された時間に基づいて、前記算出された加重を修正することと、
前記修正された加重と前記ボクセル内の個別の記憶された加重を組み合わせることと、
前記組み合わせられた加重毎に、前記組み合わせられた加重が所定の値を上回るかどうかを決定することと
を含む、項目11に記載のポータブル電子システム。
(項目15)
前記算出された加重を修正することは、前記算出された加重毎に、前記算出された加重に対応する算出された符号付き距離と個別の記憶された符号付き距離との間に相違が存在するかどうかを決定することを含む、項目14に記載のポータブル電子システム。
(項目16)
前記算出された加重を修正することは、前記相違が存在すると決定されると、前記算出された加重を減少させることを含む、項目15に記載のポータブル電子システム。
(項目17)
前記算出された加重を修正することは、前記相違が存在しないと決定されると、前記算出された加重を前記修正された加重として割り当てることを含む、項目15に記載のポータブル電子システム。
(項目18)
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することは、前記組み合わせられた加重が前記所定の値を上回ると決定されると、前記深度画像が捕捉された時間に基づいて、さらに前記算出された加重を修正することを含む、項目14に記載のポータブル電子システム。
(項目19)
前記物理的世界の一部の3D表現を前記無効ピクセルで更新することは、前記組み合わせられた加重が前記所定の値を下回ると決定されると、前記組み合わせられた加重を前記記憶された加重として記憶し、対応する算出された符号付き距離と個別の記憶された符号付き距離を組み合わせ、前記組み合わせられた符号付き距離を前記記憶された符号付き距離として記憶することを含む、項目14に記載のポータブル電子システム。
(項目20)
3次元(3D)環境を再構築するためのクロスリアリティ(XR)システムを動作させる方法であって、前記XRシステムは、センサの視野内の個別の領域に関する情報を捕捉するユーザによって装着されるセンサと通信する画像情報を処理するように構成されるプロセッサを備え、前記画像情報は、前記捕捉された情報から算出された深度画像を備え、前記深度画像は、複数のピクセルを備え、各ピクセルは、前記3D環境内の表面までの距離を示し、前記方法は、
少なくとも部分的に、前記捕捉された情報に基づいて、前記深度画像の複数のピクセルを有効ピクセルおよび無効ピクセルとして決定することと、
前記3D環境の表現を前記有効ピクセルで更新することと、
前記3D環境の表現を前記無効ピクセルで更新することと
を含む、方法。
(項目21)
前記3D環境の表現を前記有効ピクセルで更新することは、少なくとも部分的に、前記有効ピクセルに基づいて、前記3D環境の表現の幾何学形状を修正することを含む、項目20に記載の方法。
(項目22)
前記3D環境の表現を前記無効ピクセルで更新することは、少なくとも部分的に、前記無効ピクセルに基づいて、表面を前記3D環境の表現から除去することを含む、項目20に記載の方法。
【図面の簡単な説明】
【0028】
添付の図面は、縮尺通りに描かれることを意図していない。図面では、種々の図に図示される、各同じまたはほぼ同じコンポーネントは、同様の数字で表される。明確性の目的のために、全てのコンポーネントが、全ての図面において標識されているわけではない。
【0029】
図1図1は、いくつかの実施形態による、簡略化された拡張現実(AR)場面の実施例を図示する、スケッチである。
【0030】
図2図2は、いくつかの実施形態による、視覚的オクリュージョン、物理学的ベースの相互作用、および環境推測を含む、例示的3D再構築ユースケースを示す、例示的簡略化されたAR場面のスケッチである。
【0031】
図3図3は、いくつかの実施形態による、物理的世界と相互作用するARコンテンツの体験を提供するように構成される、ARシステム内のデータフローを図示する、概略図である。
【0032】
図4図4は、いくつかの実施形態による、ARディスプレイシステムの実施例を図示する、概略図である。
【0033】
図5A図5Aは、いくつかの実施形態による、ユーザが物理的世界環境を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着しているユーザを図示する、概略図である。
【0034】
図5B図5Bは、いくつかの実施形態による、視認光学系アセンブリおよび付帯コンポーネントを図示する、概略図である。
【0035】
図6図6は、いくつかの実施形態による、3D再構築システムを使用するARシステムを図示する、概略図である。
【0036】
図7A図7Aは、いくつかの実施形態による、ボクセルに離散化された3D空間を図示する、概略図である。
【0037】
図7B図7Bは、いくつかの実施形態による、単一視点に対する再構築範囲を図示する、概略図である。
【0038】
図7C図7Cは、いくつかの実施形態による、単一点における再構築範囲に対する知覚範囲を図示する、概略図である。
【0039】
図8図8A-Fは、いくつかの実施形態による、複数の位置および視点から表面を視認する画像センサによって、物理的世界内の表面をボクセルモデルに再構築するステップを図示する、概略図である。
【0040】
図9A図9Aは、いくつかの実施形態による、ボクセルによって表される場面と、場面内の表面と、深度画像内の表面を捕捉する深度センサとを図示する、概略図である。
【0041】
図9B図9Bは、表面からの距離に基づいて、図9Aのボクセルに割り当てられる切り捨て符号付き距離および加重に関連する、切り捨て符号付き距離関数(TSDF)を図示する、概略図である。
【0042】
図10図10は、いくつかの実施形態による、例示的深度センサを図示する、概略図である。
【0043】
図11図11は、いくつかの実施形態による、XRシステムを動作させ、3D環境を再構築する例示的方法を図示する、フローチャートである。
【0044】
図12図12は、いくつかの実施形態による、図11における深度画像内の有効および無効ピクセルを決定する例示的方法を図示する、フローチャートである。
【0045】
図13図13は、いくつかの実施形態による、3D再構築を図11における有効ピクセルで更新する例示的方法を図示する、フローチャートである。
【0046】
図14A図14Aは、いくつかの実施形態による、有効および無効ピクセルを示す、例示的深度画像である。
【0047】
図14B図14Bは、無効ピクセルを伴わない、図14Aの例示的深度画像である。
【0048】
図15図15は、いくつかの実施形態による、3D再構築を図11における無効ピクセルで更新する例示的方法を図示する、フローチャートである。
【0049】
図16図16は、いくつかの実施形態による、図15における算出された加重を修正する例示的方法を図示する、フローチャートである。
【発明を実施するための形態】
【0050】
本明細書に説明されるものは、XRシステム内でXリアリティ(XRまたはクロスリアリティ)環境の3次元(3D)表現を提供するための方法および装置である。現実的XR体験をユーザに提供するために、XRシステムは、実オブジェクトに関連して仮想オブジェクトの場所を正しく相関させるため、ユーザの物理的周囲を把握しなければならない。
【0051】
しかしながら、環境の3D表現を提供することは、有意な課題を構成する。実質的処理が、3D表現を算出するために要求され得る。XRシステムは、仮想オブジェクトをユーザの頭部、身体等に関連して正しく位置付け、それらが物理的オブジェクトと現実的に相互作用するように現れるように、それらの仮想オブジェクトをレンダリングする方法を把握しなければならない。仮想オブジェクトは、例えば、ユーザと仮想オブジェクトが現れるべき場所との間の物理的オブジェクトによってオクルードされ得る。環境に関連してユーザの位置が変化するにつれて、環境の関連部分もまた、変化し得、これは、さらなる処理を要求し得る。さらに、3D表現は、多くの場合、オブジェクトが環境内で移動するにつれて、更新されることが要求される(例えば、クッションをソファから除去する)。ユーザが体験する、環境の3D表現を更新するステップは、環境の3D表現を更新するための使用時のXRシステムの算出リソースが他の機能を実施することが不可能であるため、XR環境を生成するXRシステムの算出リソースのそれほど多くを使用せずに、迅速に実施されなければならない。
【0052】
本発明者らは、センサによって捕捉された情報を使用することによって、算出リソースの低使用量を伴って、XR環境の3D表現の作成および更新を加速させる技法を認識および理解している。センサから環境内のオブジェクトまでの距離を表す、深度が、センサによって測定されてもよい。
【0053】
測定された深度を使用して、XRシステムは、環境内のオブジェクトのマップを維持してもよい。そのマップは、深度センサが1秒に数十回のレートで測定を出力し得るように、比較的に頻繁に更新されてもよい。さらに、比較的に少ない処理が、オブジェクトを深度から識別するために要求され得るため、深度を用いて作成されるマップは、ユーザの近傍内の新しいオブジェクトを識別するために、または逆に言えば、以前にユーザの近傍内にあったオブジェクトが移動したことを識別するために、低算出負担を伴って、頻繁に更新され得る。
【0054】
しかしながら、本発明者らは、深度が、ユーザの近傍内のオブジェクトのマップが修正されるべきであるかどうかについての不完全または曖昧な情報を提供し得ることも認識している。以前に深度から検出されたオブジェクトは、例えば、表面が消えている、表面が異なる角度および/または異なる照明条件下で観察されている、介在されたオブジェクトがセンサによって見つけられない、および/または表面がセンサの範囲外にある等の種々の理由から、検出されない場合がある。
【0055】
いくつかの実施形態では、オブジェクトのより正確なマップが、マップから現在の深度内で検出されないオブジェクトを選択的に除去することによって、維持されてもよい。オブジェクトは、例えば、オブジェクトの以前の場所を通した通視線に沿って、オブジェクトの以前の場所よりユーザから遠い表面を深度内で検出することに基づいて、除去されてもよい。
【0056】
いくつかの実施形態では、深度は、センサ捕捉情報、例えば、表面によって反射された光の振幅に基づいて、異なる信頼度レベルと関連付けられ得る。より小さい振幅は、関連付けられる深度に関してより低い信頼度レベルを示し得る一方、より大きい振幅は、より高い信頼度レベルを示し得る。種々の理由が、センサ測定に低信頼度レベルが割り当てられる結果をもたらし得る。例えば、センサに最も近い表面は、環境内の表面についての正確な情報が収集されないようなセンサの動作範囲外にあり得る。代替として、または加えて、表面は、深度センサが表面からの放射をあまり検出せず、全ての測定が比較的に低信号対雑音比比率を伴って行われるような不良反射特性を有し得る。代替として、または加えて、表面は、センサが表面についての情報を入手しないように、別の表面によって隠されている場合がある。
【0057】
いくつかの実施形態では、深度画像内の深度の信頼度レベルが、オブジェクトのマップを選択的に更新するために使用されてもよい。例えば、1つ以上の深度ピクセルが、高信頼度を伴って、オブジェクトマップがオブジェクトが存在することを示す場所の背後の深度センサによって表面が検出されたことを示す、値を有する場合、オブジェクトマップは、オブジェクトがもはやその場所内に存在しないことを示すように更新されてもよい。オブジェクトマップは、次いで、オブジェクトが、環境から除去されている、または異なる場所に移動されていることを示すように更新されてもよい。
【0058】
いくつかの実施形態では、新しい場所におけるオブジェクトを識別するための信頼度閾値は、オブジェクトを以前に検出された場所から除去するための閾値と異なってもよい。オブジェクトを除去するための閾値は、オブジェクトを追加するためのものより低くてもよい。例えば、低信頼度測定は、それらの測定に基づいて追加された表面が、表面を追加しない場合より誤差を導入し得るような不精密な場所を有するであろうほど十分に雑音の多い表面の場所についての情報を提供し得る。しかしながら、雑音の多い表面は、表面が、信頼度レベルの範囲内の場所にかかわらず、オブジェクトの場所の背後にある場合、オブジェクトを環境のマップから除去するためには適正であり得る。同様に、いくつかの深度センサは、動作範囲を越えた深度に関する曖昧な深度測定をもたらし得る、物理的原理に基づいて動作する。それらのセンサからの深度を使用するとき、センサの動作範囲を越えた測定は、無効として破棄され得る。しかし、表面の全ての曖昧な場所が、マップ内のオブジェクトの場所の背後の場所に対応するとき、他の理由から無効として取り扱われるであろう、それらの測定は、それにもかかわらず、オブジェクトがマップから除去されるべきであることを決定するために使用され得る。
【0059】
いくつかの実施形態では、3D再構築は、オブジェクトのマップを選択的に更新することを促進する、フォーマットにあってもよい。3D再構築は、複数のボクセルを有してもよく、それぞれ、3D再構築によって表される環境のボリュームを表す。各ボクセルは、その個別の角度における、ボクセルから検出された表面までの距離を示す、符号付き距離関数の値を割り当てられ得る。符号付き距離関数が切り捨て符号付き距離関数である、実施形態では、ボクセル内の距離に関する最大絶対値は、符号付き距離が-T~Tの間隔内にあるであろうように、ある最大値Tに切り捨てられ得る。さらに、各ボクセルは、ボクセルに関する距離が表面までの距離を正確に反射させる確実性を示す、加重を含んでもよい。
【0060】
いくつかの実施形態では、オブジェクトは、閾値より高い加重を伴うボクセルに基づいて、環境の3D表現の一部である、オブジェクトマップに追加またはそこから除去されてもよい。例えば、オブジェクトの一部として認識される、表面が、特定の場所にある、ある閾値を上回る、高確実性が存在する場合、マップは、オブジェクトが現在その場所内にある、またはオブジェクトがその場所の中に移動していることを示すように更新されてもよい。逆に言えば、表面がオブジェクトを含有するようにマップに示される場所の背後で検出されていることの高確実性が存在する場合、マップは、オブジェクトが、除去された、または別の場所に移動されたことを示すように更新されてもよい。
【0061】
いくつかの実施形態では、オブジェクトは、深度測定のシーケンスに基づいて、マップに追加またはそこから除去されてもよい。各ボクセル内に記憶される加重は、経時的に更新されてもよい。表面が、繰り返し、ある場所内で検出されるにつれて、その表面に対して定義された値を有する、ボクセル内に記憶される加重は、増加され得る。逆に言えば、以前に検出された表面が依然として存在することを示す、ボクセルの加重は、表面がもはやその場所内に存在しないこと、または表面の存在が確認されることができないほどの測定における相違を示す、新しい測定に基づいて、低減され得る。
【0062】
本明細書に説明されるような技法は、クロスリアリティ場面を提供する、限定された算出リソースを伴う、ウェアラブルまたはポータブルデバイスを含む、多くのタイプのデバイスとともにまたは別個に、かつ多くのタイプの場面のために、使用されてもよい。いくつかの実施形態では、本技法は、XRシステムの一部を形成する、サービスによって実装されてもよい。
【0063】
図1-2は、そのような場面を図示する。例証目的のために、ARシステムは、XRシステムの実施例として使用される。図3-8は、本明細書に説明される技法に従って動作し得る、1つ以上のプロセッサ、メモリ、センサ、およびユーザインターフェースを含む、例示的ARシステムを図示する。
【0064】
図1を参照すると、屋外AR場面4が、描写されており、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム8を特徴とする、物理的世界公園状設定6が見える。これらのアイテムに加え、AR技術のユーザはまた、物理的世界のコンクリートプラットフォーム8上に立っているロボット像10と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ2とが「見える」と知覚するが、これらの要素(例えば、アバタキャラクタ2およびロボット像10)は、物理的世界には存在しない。ヒトの視知覚および神経系の極端な複雑性に起因して、他の仮想または物理的世界画像要素の中で仮想画像要素の快適で、自然な感覚で、豊かな提示を促進する、AR技術を生産することは、困難である。
【0065】
そのようなAR場面は、ユーザの周囲の物理的世界表面の表現を構築および更新し得る、3D再構築コンポーネントを含む、システムを用いて達成され得る。本表現は、レンダリングをオクルードするため、仮想オブジェクトを物理学ベースの相互作用状態に設置するため、および仮想キャラクタ経路計画およびナビゲーションのため、または物理的世界についての情報が使用される、他の動作のために、使用されてもよい。図2は、いくつかの実施形態による、視覚的オクルージョン202と、物理学ベースの相互作用204と、環境推測206とを含む、例示的3D再構築ユースケースを示す、屋内AR場面200の別の実施例を描写する。
【0066】
例示的場面200は、壁、壁の片側上の書籍棚、部屋の角におけるフロアランプ、床、ソファ、および床上のコーヒーテーブルを有する、居間である。これらの物理的アイテムに加え、AR技術のユーザはまた、ソファの背後の壁上の画像、ドアを通して飛んで来た鳥、書籍棚から覗いているシカ、およびコーヒーテーブル上に設置された風車の形態における置物等の仮想オブジェクトを知覚する。壁上の画像に関して、AR技術は、壁の表面だけではなく、また、ランプ形状等の部屋内のオブジェクトおよび表面についての情報を要求し、これは、画像をオクルードし、仮想オブジェクトを正しくレンダリングしている。飛んで来た鳥に関して、AR技術は、現実的物理学を伴って鳥をレンダリングし、オブジェクトおよび表面または鳥が衝突する場合のそれらからの跳ね返りを回避するために、部屋の周囲の全てのオブジェクトおよび表面についての情報を要求する。シカに関して、AR技術は、床またはコーヒーテーブル等の表面についての情報を要求し、シカを設置すべき場所を算出する。風車に関して、システムは、テーブルと別個のオブジェクトであることを識別し得、移動可能であることを推測し得る一方、棚の角または壁の角は、定常であると推測され得る。そのような特異性は、種々の動作のそれぞれにおいて使用または更新される場面の部分に関する推測において使用され得る。
【0067】
場面は、視覚、音、および/またはタッチを含む、1つ以上のユーザ感覚を刺激し得る、ユーザインターフェースを含む、複数のコンポーネントを含む、システムを介して、ユーザに提示されてもよい。加えて、システムは、場面の物理的部分内のユーザの位置および/または運動を含む、場面の物理的部分のパラメータを測定し得る、1つ以上のセンサを含んでもよい。さらに、システムは、メモリ等の関連付けられたコンピュータハードウェアを伴う、1つ以上のコンピューティングデバイスを含んでもよい。これらのコンポーネントは、単一デバイスの中に統合されてもよい、または複数の相互接続されるデバイスを横断して分散されてもよい。いくつかの実施形態では、これらのコンポーネントの一部または全部は、ウェアラブルデバイスの中に統合されてもよい。
【0068】
図3は、いくつかの実施形態による、物理的世界306と相互作用するARコンテンツの体験を提供するように構成される、ARシステム302を描写する。ARシステム302は、ディスプレイ308を含んでもよい。図示される実施形態では、ディスプレイ308は、ユーザがディスプレイを一対のゴーグルまたは眼鏡のようにその眼にわたって装着し得るように、ヘッドセットの一部としてユーザによって装着されてもよい。ディスプレイの少なくとも一部は、ユーザがシースルー現実310を観察し得るように、透明であってもよい。シースルー現実310は、ユーザが、ARシステムのディスプレイおよびセンサの両方を組み込み、物理的世界についての情報を入手する、ヘッドセットを装着している場合、ユーザの視点に対応し得る、ARシステム302の現在の視点内の物理的世界306の一部に対応してもよい。
【0069】
ARコンテンツはまた、シースルー現実310上にオーバーレイされる、ディスプレイ308上に提示されてもよい。ARコンテンツとシースルー現実310との間の正確な相互作用をディスプレイ308上に提供するために、ARシステム302は、物理的世界306についての情報を捕捉するように構成される、センサ322を含んでもよい。
【0070】
センサ322は、深度画像312を出力する、1つ以上の深度センサを含んでもよい。各深度画像312は、複数のピクセルを有してもよく、それぞれ、深度センサに対する特定の方向における物理的世界306内の表面までの距離を表してもよい。未加工深度データは、深度センサから生じ、深度画像を作成し得る。そのような深度画像は、深度センサが新しい画像を形成し得る速度と同速で更新され得、これは、数百または数千回/秒であり得る。しかしながら、そのデータは、雑音があり、不完全であり、黒色ピクセルとして図示される深度画像上に示される、穴を有し得る。いくつかの実施形態では、穴は、それに対して値が割り当てられていない、または任意の値が、閾値を下回り、無視されるような低信頼度を有する、ピクセルであり得る。
【0071】
システムは、画像センサ等の他のセンサを含んでもよい。画像センサは、物理的世界を他の方法において表すように処理され得る、情報を入手してもよい。例えば、画像は、3D再構築コンポーネント316において処理され、物理的世界内のオブジェクトの接続される部分を表す、メッシュを作成してもよい。例えば、色および表面テクスチャを含む、そのようなオブジェクトについてのメタデータも同様に、センサを用いて入手され、3D再構築の一部として記憶されてもよい。
【0072】
システムはまた、物理的世界に対するユーザの頭部姿勢についての情報を入手してもよい。いくつかの実施形態では、センサ310は、頭部姿勢314を算出および/または決定するために使用され得る、慣性測定ユニットを含んでもよい。深度画像のための頭部姿勢314は、例えば、6自由度(6DoF)を伴う、深度画像を捕捉するセンサの現在の視点を示し得るが、頭部姿勢314は、画像情報を物理的世界の特定の部分に関連させる、またはユーザの頭部上に装着されるディスプレイの位置を物理的世界に関連させるため等、他の目的のために使用されてもよい。いくつかの実施形態では、頭部姿勢情報は、画像内のオブジェクトを分析することから等、IMUから以外の方法において導出されてもよい。
【0073】
3D再構築コンポーネント316は、深度画像312および頭部姿勢314および任意の他のデータをセンサから受信し、そのデータを再構築318の中に統合してもよく、これは、少なくとも、単一の組み合わせられた再構築であるように現れ得る。再構築318は、センサデータより完全かつ雑音が少なくあり得る。3D再構築コンポーネント316は、複数の視点からのセンサデータの経時的な空間および時間的平均を使用して、再構築318を更新してもよい。
【0074】
再構築318は、例えば、ボクセル、メッシュ、平面等を含む、1つ以上のデータフォーマットにおける、物理的世界の表現を含んでもよい。異なるフォーマットは、物理的世界の同一部分の代替表現を表してもよい、または物理的世界の異なる部分を表してもよい。図示される実施例では、再構築318の左側において、物理的世界の一部は、グローバル表面として提示され、再構築318の右側において、物理的世界の一部は、メッシュとして提示される。
【0075】
再構築318は、オクルージョン処理または物理学ベースの処理のために、物理的世界の表面表現を生産する等、AR機能のために使用されてもよい。本表面表現は、ユーザが移動する、または物理的世界内のオブジェクトが変化するにつれて、変化し得る。再構築318の側面は、例えば、世界座標内の変化するグローバル表面表現を生産する、コンポーネント320によって使用されてもよく、これは、他のコンポーネントによって使用されてもよい。
【0076】
ARコンテンツは、本情報に基づいて、ARアプリケーション304等によって、生成されてもよい。ARアプリケーション304は、例えば、そのような視覚的オクルージョン、物理学ベースの相互作用、および環境推測等、物理的世界についての情報に基づいて、1つ以上の機能を実施する、ゲームプログラムであってもよい。異なるフォーマットにおけるデータを3D再構築コンポーネント316によって生産された再構築318からクエリすることによって、これらの機能を実施してもよい。いくつかの実施形態では、コンポーネント320は、物理的世界の着目領域内の表現が変化すると、更新を出力するように構成されてもよい。その着目領域は、例えば、ユーザの視野内の部分等のシステムのユーザの近傍における物理的世界の一部に近似するように設定されてもよい、またはユーザの視野内に生じるように投影(予測/決定)される。
【0077】
ARアプリケーション304は、本情報を使用して、ARコンテンツを生成および更新してもよい。ARコンテンツの仮想部分は、シースルー現実310と組み合わせて、ディスプレイ308上に提示され、現実的ユーザ体験を作成してもよい。
【0078】
いくつかの実施形態では、AR体験は、ウェアラブルディスプレイシステムを通して、ユーザに提供されてもよい。図4は、ウェアラブルディスプレイシステム80(以降、「システム80」と称される)の実施例を図示する。システム80は、頭部搭載型ディスプレイデバイス62(以降、「ディスプレイデバイス62」と称される)と、ディスプレイデバイス62の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイデバイス62は、フレーム64に結合されてもよく、これは、ディスプレイシステムユーザまたは視認者60(以降、「ユーザ60」と称される)によって装着可能であって、ディスプレイデバイス62をユーザ60の眼の正面に位置付けるように構成される。種々の実施形態によると、ディスプレイデバイス62は、シーケンシャルディスプレイであってもよい。ディスプレイデバイス62は、単眼または双眼であってもよい。いくつかの実施形態では、ディスプレイデバイス62は、図3におけるディスプレイ308の実施例であってもよい。
【0079】
いくつかの実施形態では、スピーカ66が、フレーム64に結合され、ユーザ60の外耳道に近接して位置付けられる。いくつかの実施形態では、示されない、別のスピーカが、ユーザ60の別の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する。ディスプレイデバイス62は、有線導線または無線コネクティビティ68等によって、ローカルデータ処理モジュール70に動作可能に結合され、これは、フレーム64に固定して取り付けられる、ユーザ60によって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、ユーザ60に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載されてもよい。
【0080】
ローカルデータ処理モジュール70は、プロセッサと、不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリとを含んでもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム64に動作可能に結合される、または別様にユーザ60に取り付けられ得る)センサから捕捉されるデータ、および/またはb)可能性として、処理または読出後にディスプレイデバイス62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して入手および/または処理された、データを含む。ローカルデータ処理モジュール70は、これらの遠隔モジュール72、74が、相互に動作可能に結合され、ローカル処理およびデータモジュール70へのリソースとして利用可能であるように、通信リンク76、78によって、有線または無線通信リンク等を介して、それぞれ、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合されてもよい。いくつかの実施形態では、図3における3D再構築コンポーネント316は、少なくとも部分的に、ローカルデータ処理モジュール70内に実装されてもよい。例えば、ローカルデータ処理モジュール70は、コンピュータ実行可能命令を実行し、少なくとも部分的に、データの少なくとも一部に基づいて、物理的世界表現を生成するように構成されてもよい。
【0081】
いくつかの実施形態では、ローカルデータ処理モジュール70は、データおよび/または画像情報を分析および処理するように構成される、1つ以上のプロセッサ(例えば、グラフィック処理ユニット(GPU))を含んでもよい。いくつかの実施形態では、ローカルデータ処理モジュール70は、単一プロセッサ(例えば、シングルコアまたはマルチコアARMプロセッサ)を含んでもよく、これは、モジュール70の算出予算を限定するが、より小型のデバイスを可能にするであろう。いくつかの実施形態では、3D再構築コンポーネント316は、単一ARMコアの残りの算出予算が、例えば、メッシュを抽出する等の他の使用のためにアクセスされ得るように、単一ARMコア未満の算出予算を使用して、物理的世界表現をリアルタイムで非所定の空間上に生成し得る。
【0082】
いくつかの実施形態では、遠隔データリポジトリ74は、デジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカルデータ処理モジュール70において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。3D再構築は、例えば、本リポジトリ74内に全体または部分的に記憶されてもよい。
【0083】
いくつかの実施形態では、ローカルデータ処理モジュール70は、バッテリ82に動作可能に結合される。いくつかの実施形態では、バッテリ82は、市販のバッテリ等、リムーバブル電源である。他の実施形態では、バッテリ82は、リチウムイオンバッテリである。いくつかの実施形態では、バッテリ82は、電源に繋ぎ、リチウムイオンバッテリを充電する必要なく、またはシステム80をシャットオフし、バッテリを交換する必要なく、ユーザ60がより長い時間周期にわたってシステム80を動作させ得るように、システム80の非動作時間の間にユーザ60によって充電可能な内部リチウムイオンバッテリと、リムーバブルバッテリとの両方を含む。
【0084】
図5Aは、ユーザ30が物理的世界環境32(以降、「環境32と称される」)を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着している、ユーザ30を図示する。ユーザ30は、ARディスプレイシステムを位置34に位置付け、ARディスプレイシステムは、マッピングされた特徴に対する姿勢関係または指向性オーディオ入力等の位置34に対するパス可能世界(例えば、物理的世界内の実オブジェクトへの変化に伴って記憶および更新され得る、物理的世界内の実オブジェクトのデジタル表現)の周囲情報を記録する。位置34は、データ入力36に集約され、少なくとも、例えば、図4の遠隔処理モジュール72上での処理によって実装され得る、パス可能世界モジュール38によって処理される。いくつかの実施形態では、パス可能世界モジュール38は、3D再構築コンポーネント316を含んでもよい。
【0085】
パス可能世界モジュール38は、ARコンテンツ40がデータ入力36から決定されるような物理的世界内に配置され得る場所および方法を決定する。ARコンテンツは、ユーザインターフェースを介して、物理的世界およびARコンテンツの表現の両方を提示することによって、物理的世界内に「設置」され、ARコンテンツは、物理的世界内のオブジェクトと相互作用しているかのようにレンダリングされ、物理的世界内のオブジェクトは、ARコンテンツが、適切であるとき、それらのオブジェクトのユーザのビューを曖昧にしているかのように提示される。いくつかの実施形態では、ARコンテンツは、固定要素42(例えば、テーブル)の一部を再構築(例えば、再構築318)から適切に選択し、ARコンテンツ40の形状および位置を決定することによって、設置されてもよい。実施例として、固定要素は、テーブルであってもよく、仮想コンテンツは、そのテーブル上にあるように現れるように位置付けられてもよい。いくつかの実施形態では、ARコンテンツは、視野44内の構造の中に設置されてもよく、これは、現在の視野または推定される将来的視野であってもよい。いくつかの実施形態では、ARコンテンツは、物理的世界のマッピングされたメッシュモデル46に対して設置されてもよい。
【0086】
描写されるように、固定要素42は、物理的世界内の任意の固定要素のための代用品としての役割を果たし、これは、ユーザ30が、システムがユーザ30にそれが見える度に固定要素42にマッピングする必要なく、固定要素42上のコンテンツを知覚し得るように、パス可能世界モジュール38内に記憶されてもよい。固定要素42は、したがって、前のモデル化セッションからのマッピングされたメッシュモデルである、または別個のユーザから決定されるが、但し、複数のユーザによる将来的参照のために、パス可能世界モジュール38上に記憶されてもよい。したがって、パス可能世界モジュール38は、ユーザ30のデバイスが、最初に、環境32をマッピングすることなく、以前にマッピングされた環境およびディスプレイARコンテンツから環境32を認識し、算出プロセスおよびサイクルを節約し、任意のレンダリングされたARコンテンツの待ち時間を回避し得る。
【0087】
物理的世界のマッピングされたメッシュモデル46は、ARディスプレイシステムによって作成されてもよく、ARコンテンツ40と相互作用し、それを表示するための適切な表面およびメトリックは、再マッピングまたはモデル化する必要なく、ユーザ30または他のユーザによる将来的読出のために、パス可能世界モジュール38内にマッピングおよび記憶されることができる。いくつかの実施形態では、データ入力36は、地理的場所、ユーザ識別、および現在のアクティビティ等の入力であって、パス可能世界モジュール38に、利用可能な1つ以上の固定要素の固定要素42、固定要素42上に最後に設置されたARコンテンツ40、およびその同一コンテンツを表示すべきかどうか(そのようなARコンテンツは、ユーザが特定のパス可能世界モデルを視認しているかどうかにかかわらず、「持続的」コンテンツである)を示す。
【0088】
オブジェクトが固定されていると見なされる、実施形態でも、パス可能世界モジュール38は、物理的世界の変化の可能性を考慮するために、随時、更新されてもよい。固定されたオブジェクトのモデルは、非常に低周波数で更新されてもよい。物理的世界内の他のオブジェクトは、移動している、または別様に、固定されていると見なされなくてもよい。AR場面を現実的感覚を伴ってレンダリングするために、ARシステムは、これらの非固定オブジェクトの位置を固定されたオブジェクトを更新するために使用される周波数よりはるかに高い周波数で更新してもよい。物理的世界内のオブジェクトの全ての正確な追跡を有効にするために、ARシステムは、1つ以上の画像センサを含む、複数のセンサから情報を引き出してもよい。
【0089】
図5Bは、視認光学系アセンブリ48および付帯コンポーネントの概略図である。いくつかの実施形態では、ユーザの眼49に指向される、2つの眼追跡カメラ50は、眼形状、眼瞼オクルージョン、瞳孔方向、およびユーザの眼49上の閃光等のユーザの眼49のメトリックを検出する。いくつかの実施形態では、センサのうちの1つは、飛行時間センサ等の深度センサ51であって、信号を世界に放出し、近隣のオブジェクトからのそれらの信号の反射を検出し、所与のオブジェクトまでの距離を決定してもよい。深度センサは、例えば、オブジェクトが、それらのオブジェクトの運動またはユーザの姿勢の変化のいずれかの結果として、ユーザの視野に進入しているかどうかを迅速に決定してもよい。しかしながら、ユーザの視野内のオブジェクトの位置についての情報は、代替として、または加えて、他のセンサを用いて収集されてもよい。深度情報は、例えば、立体視的画像センサまたはプレノプティックセンサから取得されてもよい。
【0090】
いくつかの実施形態では、世界カメラ52が、周辺視野を上回るビューを記録し、環境32をマッピングし、ARコンテンツに影響を及ぼし得る入力を検出する。いくつかの実施形態では、世界カメラ52および/またはカメラ53は、グレースケールおよび/またはカラー画像センサであってもよく、これは、固定された時間インターバルにおいて、グレースケールおよび/またはカラー画像フレームを出力してもよい。カメラ53はさらに、具体的時間において、ユーザの視野内の物理的世界画像を捕捉してもよい。フレームベースの画像センサのピクセルは、その値が不変である場合でも、反復的にサンプリングされてもよい。世界カメラ52、カメラ53、および深度センサ51はそれぞれ、54、55、および56の個別の視野を有し、図5Aに描写される物理的世界環境32等の物理的世界場面からのデータを収集および記録する。
【0091】
慣性測定ユニット57は、視認光学系アセンブリ48の移動および配向を決定してもよい。いくつかの実施形態では、各コンポーネントは、少なくとも1つの他のコンポーネントに動作可能に結合される。例えば、深度センサ51は、ユーザの眼49が見ている実際の距離に対して測定された遠近調節の確認として、眼追跡カメラ50に動作可能に結合される。
【0092】
視認光学系アセンブリ48は、図5Bに図示されるコンポーネントのうちのいくつかを含んでもよく、図示されるコンポーネントの代わりに、またはそれに加え、コンポーネントを含んでもよいことを理解されたい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、4つの代わりに、2つの世界カメラ52を含んでもよい。代替として、または加えて、カメラ52および53は、その完全視野の可視光画像を捕捉する必要はない。視認光学系アセンブリ48は、他のタイプのコンポーネントを含んでもよい。いくつかの実施形態では、視認光学系アセンブリ48は、1つ以上の動的視覚センサ(DVS)を含んでもよく、そのピクセルは、閾値を超える光強度の相対的変化に非同期して応答してもよい。
【0093】
いくつかの実施形態では、視認光学系アセンブリ48は、飛行時間情報に基づく、深度センサ51を含まなくてもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、1つ以上のプレノプティックカメラを含んでもよく、そのピクセルは、入射光の光強度および角度を捕捉してもよく、そこから深度情報が、決定されることができる。例えば、プレノプティックカメラは、透過性回折マスク(TDM)でオーバーレイされた画像センサを含んでもよい。代替として、または加えて、プレノプティックカメラは、角度感知ピクセルおよび/または位相検出自動焦点ピクセル(PDAF)および/またはマイクロレンズアレイ(MLA)を含有する、画像センサを含んでもよい。そのようなセンサは、深度センサ51の代わりに、またはそれに加え、深度情報のソースとしての役割を果たし得る。
【0094】
また、図5Bにおけるコンポーネントの構成は、実施例として図示されると理解されたい。視認光学系アセンブリ48は、任意の好適な構成を伴う、コンポーネントを含んでもよく、これは、ユーザに、特定のセットのコンポーネントのために実践的最大視野を提供するように設定されてもよい。例えば、視認光学系アセンブリ48が、1つの世界カメラ52を有する場合、世界カメラは、側面の代わりに、視認光学系アセンブリの中心領域内に設置されてもよい。
【0095】
視認光学系アセンブリ48内のセンサからの情報は、システム内のプロセッサのうちの1つ以上のものに結合されてもよい。プロセッサは、ユーザに物理的世界内のオブジェクトと相互作用する仮想コンテンツを知覚させるようにレンダリングされ得る、データを生成してもよい。そのレンダリングは、物理的および仮想の両方のオブジェクトを描写する画像データを生成することを含む、任意の好適な方法で実装されてもよい。他の実施形態では、物理的および仮想コンテンツは、ユーザが物理的世界を通して見る、ディスプレイデバイスの不透明度を変調させることによって、1つの場面に描写されてもよい。不透明度は、仮想オブジェクトの外観を作成し、また、ユーザに仮想オブジェクトによってオクルードされる物理的世界内のオブジェクトが見えないように遮断するように、制御されてもよい。いくつかの実施形態では、画像データは、ユーザインターフェースを通して視認されるとき、仮想コンテンツが物理的世界と現実的に相互作用しているようにユーザによって知覚されるように修正され得る(例えば、オクルージョンを考慮するためにコンテンツをクリッピングする)、仮想コンテンツのみを含んでもよい。コンテンツがユーザに提示される方法にかかわらず、物理的世界のモデルは、仮想オブジェクトの形状、位置、運動、および可視性を含む、物理的オブジェクトによって影響され得る仮想オブジェクトの特性が、正しく算出され得るように要求される。いくつかの実施形態では、モデルは、物理的世界の再構築、例えば、再構築318を含んでもよい。
【0096】
そのモデルは、ユーザのウェアラブルデバイス上のセンサから収集されたデータから作成されてもよい。但し、いくつかの実施形態では、モデルは、複数のユーザによって収集されたデータから作成されてもよく、これは、全てのユーザから遠隔のコンピューティングデバイス内に集約されてもよい(かつ「クラウド内」にあってもよい)。
【0097】
モデルは、少なくとも部分的に、3D再構築システム、例えば、図6にさらに詳細に描写される図3の3D再構築コンポーネント316によって作成されてもよい。3D再構築コンポーネント316は、物理的世界の一部のための表現を生成、更新、および記憶し得る、知覚モジュール160を含んでもよい。いくつかの実施形態では、知覚モジュール160は、センサの再構築範囲内の物理的世界の一部を複数のボクセルとして表してもよい。各ボクセルは、物理的世界内の所定のボリュームの3D立方体に対応し、ボクセルによって表されるボリューム内に表面が存在するかどうかを示す、表面情報を含んでもよい。ボクセルは、その対応するボリュームが、物理的オブジェクトの表面を含むと決定された、空であると決定された、またはセンサを用いてまだ測定されておらず、したがって、その値が未知であるかどうかを示す、値を割り当てられてもよい。値は、空または未知であると決定されたボクセルが、明示的に記憶される必要がないことを示し、ボクセルの値は、空または未知であると決定されたボクセルに関する情報を記憶しないことを含む、任意の好適な方法でコンピュータメモリ内に記憶され得ることを理解されたい。いくつかの実施形態では、XRシステムのコンピュータメモリの一部は、ボクセルのグリッドを表すようにマッピングされ、個別のボクセルの値を記憶してもよい。
【0098】
図7Aは、ボクセル102に離散化される、3D空間100の実施例を描写する。いくつかの実施形態では、知覚モジュール160は、着目オブジェクトを決定し、着目オブジェクトの特徴を捕捉し、冗長情報を回避するために、ボクセルのボリュームを設定してもよい。例えば、知覚モジュール160は、壁、天井、床、および大家具等のより大きいオブジェクトおよび表面を識別するように構成されてもよい。故に、ボクセルのボリュームは、比較的に大サイズ、例えば、4cmの立方体に設定されてもよい。
【0099】
ボクセルを含む、物理的世界の再構築は、立体モデルと称され得る。立体モデルを作成するための情報は、センサが物理的世界を中心として移動するにつれて、経時的に作成されてもよい。そのような運動は、センサを含む、ウェアラブルデバイスのユーザが動き回るにつれて、発生し得る。図8A-Fは、物理的世界を立体モデルの中に再構築する実施例を描写する。図示される実施例では、物理的世界は、表面の一部180を含み、これは、図8Aに示される。図8Aでは、第1の場所におけるセンサ182は、視野184を有し得、その中で、表面の一部180は、可視である。
【0100】
センサ182は、深度センサ等の任意の好適なタイプであってもよい。しかしながら、深度データは、画像センサから、または他の方法において、導出されてもよい。知覚モジュール160は、データをセンサ182から受信し、次いで、図8Bに図示されるように、複数のボクセル186の値を設定し、視野184内のセンサ182によって可視の表面の一部180を表してもよい。
【0101】
図8Cでは、センサ182は、第2の場所に移動し、視野188を有し得る。図8Dに示されるように、ボクセルのさらなるグループが、可視となり、これらのボクセルの値は、センサ182の視野188に進入した表面の一部の場所を示すように設定されてもよい。これらのボクセルの値は、表面のための立体モデルに追加されてもよい。
【0102】
図8Eでは、センサ182はさらに、第3の場所に移動し、視野190を有し得る。図示される実施例では、表面の付加的部分が、視野190内で可視となる。図8Fに示されるように、ボクセルのさらなるグループが、可視となり得、これらのボクセルの値は、センサ182の視野190に進入した表面の一部の場所を示すように設定されてもよい。これらのボクセルの値は、表面のための立体モデルに追加されてもよい。図6に示されるように、本情報は、存続される世界の一部として、立体情報162aとして記憶されてもよい。色またはテクスチャ等の表面についての情報もまた、記憶されてもよい。そのような情報は、例えば、立体メタデータ162bとして記憶されてもよい。
【0103】
存続される世界表現のための情報を生成することに加え、知覚モジュール160は、ARシステムのユーザの周囲の領域の変化のインジケーションを識別および出力してもよい。そのような変化のインジケーションは、存続される世界の一部として記憶される立体データへの更新をトリガする、またはARコンテンツを生成し、ARコンテンツを更新する、コンポーネント304をトリガする等の他の機能をトリガしてもよい。
【0104】
いくつかの実施形態では、知覚モジュール160は、符号付き距離関数(SDF)モデルに基づいて、変化を識別してもよい。知覚モジュール160は、例えば、深度画像160aおよび頭部姿勢160b等のセンサデータを受信し、次いで、センサデータをSDFモデル160cの中に融合させるように構成されてもよい。深度画像160aは、直接、SDF情報を提供してもよく、画像は、SDF情報になるように処理されてもよい。SDF情報は、その情報を捕捉するために使用されるセンサからの距離を表す。それらのセンサは、ウェアラブルユニットの一部であってもよいため、SDF情報は、ウェアラブルユニットの目線、したがって、ユーザの目線から物理的世界を表し得る。頭部姿勢160bは、SDF情報が物理的世界内のボクセルに関連することを可能にし得る。
【0105】
図6に戻って参照すると、いくつかの実施形態では、知覚モジュール160は、知覚範囲内の物理的世界の一部のための表現を生成、更新、および記憶してもよい。知覚範囲は、少なくとも部分的に、センサの再構築範囲に基づいて決定され得、これは、少なくとも部分的に、センサの観察範囲の限界に基づいて決定され得る。具体的実施例として、アクティブIRパルスを使用して動作する、アクティブ深度センサは、ある距離の範囲にわたって確実に動作し、センサの観察範囲を作成し得、これは、数センチメートルまたは数十センチメートル~数メートルであってもよい。
【0106】
図7Bは、視点106を有するセンサ104に対する、再構築範囲を描写する。視点106内の3D空間の再構築は、センサ104によって捕捉されたデータに基づいて構築されてもよい。図示される実施例では、センサ104は、40cm~5mの観察範囲を有する。いくつかの実施形態では、センサの再構築範囲は、その観察限界に近いセンサ出力が、より雑音が多く、不完全で、かつ不正確であり得るため、センサの観察範囲より小さくなるように決定され得る。例えば、40cm~5mの図示される実施例では、対応する再構築範囲は、1~3mに設定されてもよく、本範囲外の表面を示す、センサを用いて収集されたデータは、使用されなくてもよい。
【0107】
いくつかの実施形態では、知覚範囲は、センサの再構築範囲より大きくてもよい。物理的世界についてのデータを使用する、コンポーネント164が、現在の再構築範囲内の物理的世界の一部外の知覚範囲内の領域についてのデータを要求する場合、その情報は、存続される世界162から提供されてもよい。故に、物理的世界についての情報は、クエリによって容易にアクセス可能であってもよい。いくつかの実施形態では、APIが、そのようなクエリに応答し、ユーザの現在の知覚範囲についての情報を提供するように提供されてもよい。そのような技法は、既存の再構築にアクセスするために必要とされる時間を低減させ、改良されたユーザ体験を提供し得る。
【0108】
いくつかの実施形態では、知覚範囲は、ユーザ場所のまわりに中心合わせされる境界ボックスに対応する、3D空間であってもよい。ユーザが、移動するにつれて、コンポーネント164によってクエリ可能であり得る、知覚範囲内の物理的世界の一部も、ユーザに伴って移動し得る。図7Cは、場所112のまわりに中心合わせされる、境界ボックス110を描写する。境界ボックス110のサイズは、ユーザが非合理的速度で移動し得ないため、合理的拡大を伴ってセンサの観察範囲を封入するように設定され得ることを理解されたい。図示される実施例では、ユーザによって装着されるセンサは、5mの観察限界を有する。境界ボックス110は、20mの立方体として設定される。
【0109】
図6に戻って参照すると、3D再構築コンポーネント316は、知覚モジュール160と相互作用し得る、付加的モジュールを含んでもよい。いくつかの実施形態では、存続される世界モジュール162は、知覚モジュール160によって入手されたデータに基づいて、物理的世界のための表現を受信してもよい。存続される世界モジュール162はまた、物理的世界の表現の種々のフォーマットを含んでもよい。例えば、ボクセル等の立体メタデータ162bが、メッシュ162cおよび平面162dとともに記憶されてもよい。いくつかの実施形態では、深度画像等の他の情報も、保存され得る。
【0110】
いくつかの実施形態では、知覚モジュール160は、例えば、メッシュ160d、平面、および意味論160eを含む、種々のフォーマットにおいて、物理的世界のための表現を生成する、モジュールを含んでもよい。これらのモジュールは、表現が生成された時間における1つ以上のセンサの知覚範囲内のデータおよび以前の時間において捕捉されたデータおよび存続される世界162内の情報に基づいて、表現を生成してもよい。いくつかの実施形態では、これらのコンポーネントは、深度センサを用いて捕捉された深度情報に作用してもよい。しかしながら、ARシステムは、視覚センサを含んでもよく、単眼または双眼視覚情報を分析することによって、そのような表現を生成してもよい。
【0111】
いくつかの実施形態では、これらのモジュールは、物理的世界の領域に作用してもよい。それらのモジュールは、物理的世界のサブ領域を、知覚モジュール160がそのサブ領域内の物理的世界の変化を検出すると、更新するようにトリガされてもよい。そのような変化は、例えば、SDFモデル160c内の新しい表面を検出すること、またはサブ領域を表す十分な数のボクセルの値を変化させる等の他の基準によって検出されてもよい。
【0112】
3D再構築コンポーネント316は、物理的世界の表現を知覚モジュール160から受信し得る、コンポーネント164を含んでもよい。物理的世界についての情報は、例えば、アプリケーションからの使用要求に従って、これらのコンポーネントによってプル配信されてもよい。いくつかの実施形態では、情報は、事前に識別された領域の変化または知覚範囲内の物理的世界表現の変化のインジケーション等を介して、使用コンポーネントにプッシュ配信されてもよい。コンポーネント164は、例えば、ゲームプログラム、および視覚的オクルージョン、物理学ベースの相互作用、および環境推測のための処理を実施する、他のコンポーネントを含んでもよい。
【0113】
コンポーネント164からのクエリに応答して、知覚モジュール160は、物理的世界のための表現を1つ以上のフォーマットにおいて送信してもよい。例えば、コンポーネント164が、使用が視覚的オクルージョンまたは物理学ベースの相互作用のためであることを示すとき、知覚モジュール160は、表面の表現を送信してもよい。コンポーネント164が、使用が環境推測のためであることを示すとき、知覚モジュール160は、物理的世界のメッシュ、平面、および意味論を送信してもよい。
【0114】
いくつかの実施形態では、知覚モジュール160は、情報をフォーマットし、コンポーネント164を提供する、コンポーネントを含んでもよい。そのようなコンポーネントの実施例は、レイキャスティングコンポーネント160fであってもよい。使用コンポーネント(例えば、コンポーネント164)は、例えば、特定の視点からの物理的世界についての情報をクエリしてもよい。レイキャスティングコンポーネント160fは、その視点からの視野内の物理的世界データの1つ以上の表現から選択してもよい。
【0115】
前述の説明から理解されるはずであるように、知覚モジュール160またはARシステムの別のコンポーネントは、データを処理し、物理的世界の一部の3D表現を作成してもよい。処理されるべきデータは、少なくとも部分的に、カメラ錐台および/または深度画像に基づいて、3D再構築ボリュームの一部を間引き、平面データを抽出および存続させ、近傍一貫性を維持しながらローカル更新を可能にする、ブロック単位で、3D再構築データを捕捉、存続、および更新し、オクルージョンデータをアプリケーションに提供し、オクルージョンデータが1つ以上の深度データソースの組み合わせから導出される、そのような場面を生成し、および/または多段階メッシュ簡略化を実施することによって低減され得る。
【0116】
3D再構築システムは、物理的世界の複数の視点からのセンサデータを経時的に統合してもよい。センサの姿勢(例えば、位置および配向)が、センサを含むデバイスが移動されるにつれて追跡されてもよい。センサのフレーム姿勢および他の姿勢に関連する方法が、把握されるにつれて、物理的世界のこれらの複数の視点はそれぞれ、単一の組み合わせられた再構築の中にともに融合されてもよい。再構築は、空間および時間的平均化(すなわち、複数の視点からのデータを経時的に平均化する)を使用することによって、オリジナルセンサデータより完全かつ雑音が少なくなり得る。再構築は、例えば、ライブ深度データ等の未加工データ、ボクセル等の融合された立体データ、およびメッシュ等の算出されたデータを含む、異なるレベルの精巧さのデータを含有してもよい。
【0117】
図9Aは、いくつかの実施形態による、y-座標およびz-座標と平行な平面に沿った場面900の断面図を描写する。場面内の表面は、切り捨て符号付き距離関数(TSDF)を使用して表され得、これは、場面内の各3D点をその最も近くの表面までの距離にマッピングし得る。表面上の位置を表す、ボクセルは、ゼロ深度を割り当てられてもよい。場面内の表面は、XRシステムが、複数の深度測定を行う、例えば、2つの異なる角度から、または2人の異なるユーザによって、表面を2回走査し得るため等、ある範囲の不確実性に対応し得る。各測定は、他の測定された深度と若干異なる深度をもたらし得る。
【0118】
表面の測定された場所の不確実性の範囲に基づいて、XRシステムは、不確実性のその範囲内のボクセルと関連付けられる、加重を割り当ててもよい。いくつかの実施形態では、表面からある距離Tを上回る、ボクセルは、高信頼度を伴うもの以外、全く役に立ち得ない。それらのボクセルは、表面の正面または背後の場所に対応し得る。それらのボクセルは、処理を簡略化するために、単に、ある大きさのTを割り当てられ得る。故に、ボクセルは、推定される表面から切り捨て帯域[-T, T]内の値を割り当てられ得、負の値は、表面の正面の場所を示し、正の値は、表面の背後の場所を示す。XRシステムは、表面までの算出された符号付き距離についての確実性を表すための加重を算出してもよい。図示される実施形態では、加重は、「1」~「0」に及び、「1」は、最も確実であって、「0」は、最も確実ではないことを表す。加重は、例えば、立体視結像、構造化光投影、飛行時間カメラ、ソナー結像、および同等物を含む、異なる技術によって提供される異なる正確度のため、深度を測定するために使用される技術に基づいて決定されてもよい。いくつかの実施形態では、それに関して正確な測定が行われない、距離に対応するボクセルは、ゼロの加重を割り当てられてもよい。そのような場合、ボクセルの大きさは、T等の任意の値に設定されてもよい。
【0119】
XRシステムは、ボクセル902のグリッドによって、場面900を表し得る。上記に説明されるように、各ボクセルは、場面900のボリュームを表し得る。各ボクセルは、ボクセルの中心点からその最も近くの表面までの符号付き距離を記憶してもよい。正の符号は、表面の背後を示し得る一方、負の符号は、表面の正面を示し得る。符号付き距離は、複数の測定から取得される距離の加重された組み合わせとして算出されてもよい。各ボクセルは、記憶された符号付き距離に対応する、加重を記憶してもよい。
【0120】
図示される実施例では、場面900は、深度センサ906によって深度画像(図示せず)内で捕捉された表面904を含む。深度画像は、場面900内のある基準点と表面との間の距離を捕捉する、任意の便宜的方法において、コンピュータメモリ内に記憶されてもよい。いくつかの実施形態では、深度画像は、図9Aに図示されるように、x-座標およびy-座標と平行な平面における値として表されてもよく、基準点は、座標系の原点である。X-Y平面における場所は、基準点に対する方向に対応し得る。それらのピクセル場所における値は、平面内の座標によって示される方向における、基準点から最も近くの表面までの距離を示し得る。そのような深度画像は、x-座標およびy-座標と平行な平面におけるピクセル(図示せず)のグリッドを含んでもよい。各ピクセルは、画像センサ906から表面904までの特定の方向における距離を示し得る。
【0121】
XRシステムは、深度センサ906によって捕捉された画像に基づいて、ボクセルのグリッドを更新してもよい。ボクセルのグリッド内に記憶されるTSDFは、深度画像および深度センサ906の対応する姿勢に基づいて算出されてもよい。グリッド内のボクセルは、例えば、ボクセルのシルエットが1つ以上のピクセルと重複するかどうかに応じて、深度画像内の1つ以上のピクセルに基づいて更新されてもよい。
【0122】
図示される実施例では、表面904の正面にあるが、切り捨て距離-Tの外側にある、ボクセルは、センサと表面との間の全てのものが空であることが確実であるため、切り捨て距離-Tの符号付き距離および「1」の加重を割り当てられる。切り捨て距離-Tと表面904との間のボクセルは、オブジェクトの外側にあることが確実であるため、切り捨て距離-T~0の符号付き距離および「1」の加重を割り当てられる。表面904と表面904の背後の所定の深度との間のボクセルは、ボクセルが表面の背後のより遠くにあるほど、それがオブジェクトの内側または虚空を表すかどうかが確実ではなくなるため、0~切り捨て距離Tの符号付き距離および「1」~「0」の加重を割り当てられる。所定の深度後、表面の背後にある全てのボクセルは、ゼロ更新を受ける。図9Bは、図9Aのボクセルの行内に記憶される、TSDFを描写する。さらに、ボクセルのグリッドの一部は、本深度画像に関して更新され得ず、これは、待ち時間を低減させ、算出パワーを節約する。例えば、カメラ錐台908の中に該当しない、全てのボクセルは、本深度画像に関して更新されない。米国特許出願第16/229,799号(その全体として本明細書に組み込まれる)は、高速立体再構築のためのボクセルのグリッドの一部を間引くステップを説明する。
【0123】
いくつかの実施形態では、深度画像は、曖昧なデータを含有し得、これは、対応するボクセルを更新するかどうかについてXRシステムを不確かにする。いくつかの実施形態では、これらの曖昧なデータは、曖昧なデータを廃棄し、および/または新しい深度画像を要求する代わりに、XR環境の3D表現の作成および更新を加速させるために使用されてもよい。本明細書に説明されるこれらの技法は、算出リソースの低使用量を伴って、XR環境の3D表現の作成および更新を有効にする。いくつかの実施形態では、これらの技法は、例えば、更新情報が利用可能になるまでの遅延によって引き起こされる、または大量の算出と関連付けられる遅延によって引き起こされる、待ち時間に起因する、XRシステムの出力におけるアーチファクトを低減させ得る。
【0124】
図10は、いくつかの実施形態による、オブジェクト1204の深度情報を捕捉するために使用され得る、例示的深度センサ1202を描写する。センサ1202は、例えば、検出可能周波数の周期的パターンを用いて、信号を変調させるように構成される、変調器1206を含んでもよい。例えば、IR光信号は、1MHz~100MHzの周波数における1つ以上の周期的信号を用いて、変調されてもよい。光源1208は、変調器1206によって制御され、1つ以上の所望の周波数のパターンを用いて変調された光1210を放出してもよい。オブジェクト1204によって反射される、反射された光1212は、レンズ1214によって集められ、ピクセルアレイ1216によって感知され得る。ピクセルアレイ1216は、1つ以上のピクセル回路1218を含んでもよい。各ピクセル回路1218は、センサ1202に対する方向にオブジェクトから反射された光に対応する、センサ1202から出力された画像のピクセルに関するデータを生産してもよい。
【0125】
ミキサ1220は、ダウンコンバータとして作用し得るように、変調器1206から出力された信号を受信してもよい。ミキサ1220は、例えば、反射された光1212と放出された光1210との間の位相偏移に基づいて、1つ以上の位相画像1222を出力してもよい。1つ以上の位相画像1222の各画像ピクセルは、放出された光1210が、光源からオブジェクトの表面まで進行し、センサ1202に戻るまでの時間に基づく、位相を有し得る。光信号の位相は、例えば、変調器1206からの信号のサイクルにわたる4つ等の複数の場所に対応し得る、4つの点における、透過および反射された光の比較によって測定されてもよい。これらの点における平均位相差が、算出されてもよい。センサから光波を反射したオブジェクト表面の点までの深度が、反射された光の位相偏移および光の波長に基づいて算出されてもよい。
【0126】
ミキサ1220の出力は、例えば、アレイ1216内のピクセルのそれぞれにおいて測定されるような反射された光1212の1つ以上のピーク振幅に基づいて、1つ以上の振幅画像1224の中に形成されてもよい。いくつかのピクセルは、例えば、大雑音と相関し得る、所定の閾値より低い、低ピーク振幅を伴う、反射された光1212を測定し得る。低ピーク振幅は、例えば、不良表面反射率、センサとオブジェクト1204との間の長距離、および同等物を含む、種々の理由のうちの1つ以上のものによって引き起こされ得る。したがって、振幅画像内の低振幅は、深度画像の対応するピクセルによって示される深度の低信頼度レベルを示し得る。いくつかの実施形態では、低信頼度レベルと関連付けられる、深度画像のこれらのピクセルは、無効として決定されてもよい。他の基準も、低振幅の代わりに、またはそれに加え、低信頼度のインジケーションとして使用されてもよい。いくつかの実施形態では、位相測定のための4つの点の非対称性は、低信頼度を示し得る。非対称性は、例えば、ある周期にわたる1つ以上の位相測定の標準偏差によって測定されてもよい。低信頼度を割り当てるために使用され得る、他の基準は、ピクセル回路の過飽和および/または飽和不足を含んでもよい。他方では、閾値より高い信頼度レベルと関連付けられる深度値を有する、深度画像のピクセルは、有効ピクセルとして割り当てられてもよい。
【0127】
図11は、いくつかの実施形態による、XRシステムを動作させ、3D環境を再構築する方法1000を描写する。方法1000は、深度画像内の有効および無効ピクセルを決定することによって(行為1002)、開始してもよい。無効ピクセルは、例えば、ヒューリスティック基準を使用して、深度画像内の曖昧なデータを包含する、または別様に、ボクセルがいくつかまたは全ての処理動作で使用され得ないような低信頼度をボクセルに割り当てられる距離に割り当てるように選択的に定義されてもよい。いくつかの実施形態では、無効ピクセルは、例えば、光輝表面、センサの動作範囲外の表面上で行われた測定、捕捉されたデータの非対称性に起因する算出誤差、センサの過飽和または飽和不足、および同等物を含む、種々の理由のうちの1つ以上のものによって引き起こされ得る。上記のいずれかまたは全てまたは他の基準が、深度画像内のピクセルを無効にするために使用されてもよい。
【0128】
図12は、いくつかの実施形態による、深度画像内の有効および無効ピクセルを決定する方法1002を描写する。方法1002は、例えば、頭部姿勢の運動、ユーザ場所、および/または環境内の物理的オブジェクトによって引き起こされる、ユーザの視野の変化に応じて、深度情報(例えば、赤外線強度画像)を捕捉するステップ(行為1102)を含んでもよい。方法1002は、捕捉された深度情報に基づいて、1つ以上の振幅画像および1つ以上の位相画像を算出してもよい(行為1104)。方法1002は、深度画像の各ピクセルが、深度画像のピクセルによって示される深度の信頼度レベルを示し得る、関連付けられる振幅を有するように、算出された1つ以上の振幅画像および1つ以上の位相画像に基づいて、深度画像を算出してもよい(行為1106)。
【0129】
図11に戻ると、処理は、有効および無効ピクセルに基づいてもよい。いくつかの実施形態では、閾値を下回る信頼度レベルを有する、または別様に、有効性基準に不合格である、および/または無効基準を満たす、ピクセルは、無効ピクセルとして設定され得る。他のピクセルは、有効と見なされ得る。いくつかの実施形態では、閾値を上回る信頼度レベルを有する、または別様に、有効性基準に合格する、および/または有効性基準を満たす、ピクセルは、有効ピクセルとして設定され得る。他のピクセルは、無効と見なされ得る。方法1000は、有効ピクセルおよび/または無効ピクセルに基づいて、XR環境の3D再構築を更新してもよい(行為1004)。図9Aに示されるようなボクセルのグリッドは、ピクセルから算出されてもよい。環境内の表面は、例えば、マーチングキューブアルゴリズムを使用して、ボクセルのグリッドから算出されてもよい。これらの表面は、前景オブジェクトおよび他のオブジェクトを識別するように処理されてもよい。前景オブジェクトは、それらが比較的に迅速に処理および更新されることを可能にするように記憶されてもよい。例えば、前景オブジェクトは、上記に説明されるように、オブジェクトマップ内に記憶されてもよい。
【0130】
いくつかの実施形態では、前景オブジェクトマップは、オブジェクトをマップから除去するのではなく、オブジェクトをマップに追加する、異なるデータを使用して更新されてもよい。例えば、有効ピクセルのみが、オブジェクトを追加するために使用されてもよい一方、いくつかの無効ピクセルは、オブジェクトを除去するために使用されてもよい。図13は、いくつかの実施形態による、ボクセルのグリッドをセンサによって測定された深度画像の有効ピクセルで更新する方法1004を描写する。図13の実施例では、各ボクセルに割り当てられる符号付き距離および加重は、各新しい深度センサ測定が行われるにつれて、例えば、移動平均に基づいて、算出されてもよい。その平均は、以前の測定より最近の測定をより優先し、および/またはより高い信頼度を伴う測定を優先するように加重されてもよい。さらに、いくつかの実施形態では、無効と見なされる、測定は、更新するために全く使用されなくてもよい。方法1004は、深度画像の有効ピクセルに基づいて、符号付き距離および加重を算出するステップ(行為1302)と、算出された加重とボクセルの個別の記憶された加重を組み合わせるステップ(行為1304)と、算出された符号付き距離とボクセルの個別の記憶された符号付き距離を組み合わせるステップ(行為1306)とを含んでもよい。いくつかの実施形態では、行為1306は、行為1304後に、行為1304の組み合わせられた加重に基づいて、実施されてもよい。いくつかの実施形態では、行為1306は、行為1304の前に実施されてもよい。図11に戻って参照すると、いくつかの実施形態では、3D再構築を有効ピクセルで更新後、方法1000は、3D再構築の表現を更新してもよい(行為1008)。更新の結果として、世界構造の表現は、例えば、異なる形状を伴う異なるメッシュモデルおよびグローバル表面を含む、異なる幾何学形状を有し得る。いくつかの実施形態では、更新するステップは、オブジェクトをオブジェクトマップから除去するステップを含んでもよく、更新されたボクセルは、新しいオブジェクトが検出された、および/またはオブジェクトの以前に検出された場所の背後の表面が十分な信頼度を伴って検出されているため等、以前に検出されたオブジェクトがもはや存在しない、または移動していることを示す。
【0131】
無効ボクセルのいくつかまたは全てはまた、以前に検出されたオブジェクトを除去するための処理内で使用されてもよい。例示的深度画像1400Aが、有効および無効ピクセルの両方を示す、図14Aに描写される。図14Bは、例示的深度画像1400Bを描写し、これは、無効ピクセルが除去された深度画像1400Aである。図14Aおよび14Bの比較は、無効ピクセルを伴う画像が無効ピクセルが除去された画像より多くのデータを有することを示す。そのデータは、雑音が多くあり得るが、オブジェクトが存在する、または逆に言えば、より多くの離れた表面が観察されるように、存在しないかどうかを識別するために適正であり得る。したがって、図14Aに描写されるようなデータは、オブジェクトマップを更新し、オブジェクトを除去するために使用されてもよい。そのような更新するステップは、より多くのデータを用いて行われ、したがって、図14Bに描写されるようなデータのみが存在する場合、より迅速に起こり得る。オブジェクトを除去するような更新が、オブジェクトをマップ内に不正確に位置付けることを伴わないため、より高速の更新時間が、誤差を導入するリスクを伴わずに達成され得る。
【0132】
無効ピクセルは、オブジェクトをオブジェクトマップから除去するための任意の好適な方法で使用されてもよい。例えば、有効ピクセルのみを用いてと、有効および無効ピクセルの両方を用いて算出された、ボクセルの別個のグリッドが、維持されてもよい。代替として、無効ピクセルは、表面を検出するために別個に処理されてもよく、これは、次いで、もはや存在しない、オブジェクトマップ内のオブジェクトを識別するために、別個のステップで使用される。
【0133】
いくつかの実施形態では、深度画像1400Aに示される部屋1402を表す、ボクセルのグリッドを更新するために、深度画像1400B内の各有効ピクセルは、グリッド内の1つ以上のボクセルに関する値を算出するために使用されてもよい。1つ以上のボクセル毎に、符号付き距離および加重が、深度画像に基づいて算出されてもよい。ボクセルと関連付けて記憶される符号付き距離は、例えば、ボクセルと関連付けて以前に記憶された算出された符号付き距離および符号付き距離の加重された組み合わせで更新されてもよい。ボクセルと関連付けて記憶される加重は、ボクセルで更新されてもよい。実施例は、深度画像の1つのピクセルあたりボクセルを更新するように説明されるが、いくつかの実施形態では、ボクセルは、深度画像の複数のピクセルに基づいて更新されてもよい。いくつかの実施形態では、グリッド内のボクセル毎に、XRシステムは、最初に、ボクセルに対応する、深度画像内の1つ以上のピクセルを識別し、次いで、識別されたピクセルに基づいて、ボクセルを更新してもよい。
【0134】
図11Aに戻って参照すると、無効ピクセルが処理される方法にかかわらず、行為1006において、方法1000は、XR環境の3D再構築を無効ピクセルで更新してもよい。図示される実施例では、深度画像1400Aが捕捉される前は、部屋1402の表現は、クッションの表面をソファ上に含む。深度画像1400Aでは、クッションに対応する、ピクセル1404の群は、種々の可能性として考えられる理由から、無効として決定され得る。例えば、クッションは、スパンコールで被覆されているため、不良反射率を有し得る。行為1006は、有効ピクセルのみの処理が、クッションがもはや存在しないことを示さないであろう、または迅速に、または高信頼度を伴って、そのことを示さないであろうため、除去されている場合、クッション表面が部屋1402の表現から除去され、依然としてソファ上にあるが、不良反射率を伴う場合、部屋1402の表現内に留まるように、無効ピクセルに基づいて、ボクセルを更新してもよい。いくつかの実施形態では、行為1006は、無効ピクセルによって示される深度に基づいて、表面のステータスを推測し、クッションが存在することが以前に示された場所の背後に表面が検出されるとき、クッションをオブジェクトマップから除去するステップを含んでもよい。
【0135】
図15は、いくつかの実施形態による、新しい深度画像が入手されるにつれてボクセルのグリッドを更新する方法1006を描写する。方法1006は、深度画像の無効ピクセルに基づいて、符号付き距離および加重を算出することによって(行為1502)、開始してもよい。方法1006は、算出された加重を修正するステップ(行為1504)を含んでもよい。いくつかの実施形態では、算出された加重は、深度画像が捕捉された時間に基づいて、調節されてもよい。例えば、より大きい加重が、より最近捕捉された深度画像に割り当てられてもよい。
【0136】
図16は、いくつかの実施形態による、算出された加重を修正する方法1504を描写する。方法1504は、算出された加重毎に、対応する算出された符号付き距離と個別の記憶された符号付き距離との間に相違が存在するかどうかを決定するステップ(行為1602)を含んでもよい。相違が、観察されるとき、方法1504は、算出された加重を減少させてもよい(行為1604)。相違が、観察されないとき、方法1504は、算出された加重を修正された加重として割り当ててもよい(行為1606)。例えば、クッションが、あまりに迅速に除去される場合、深度画像内の無効ピクセルは、クッション表面の以前に捕捉された深度より大きい深度を含み得、これは、クッションが除去されたことを示し得る。他方では、クッションが、依然として、ソファ上にあるが、不良反射率を伴う場合、深度画像内の無効ピクセルは、クッション表面の以前に捕捉された深度に匹敵する深度を含み得、これは、クッションが依然としてソファ上にあることを示し得る。
【0137】
行為1506では、方法1006は、修正された加重とボクセル内の個別の以前に記憶された加重を組み合わせてもよい。いくつかの実施形態では、ボクセル毎に、組み合わせられた加重は、以前に記憶された加重と深度画像から算出された修正された加重の和であってもよい。行為1508では、方法1006は、組み合わせられた加重のそれぞれが所定の値を上回るかどうかを決定してもよい。所定の値は、より低い信頼度レベルを伴うピクセルがより少ない加重を有するように、無効ピクセルの信頼度レベルに基づいて選択されてもよい。組み合わせられた加重が、所定の値を上回るとき、方法1006はさらに、算出された加重を修正してもよい。組み合わせられた加重が所定の値を下回るとき、本方法は、対応する算出された符号付き距離と個別の記憶された符号付き距離を組み合わせるステップ(行為1510)に進み得る。いくつかの実施形態では、行為1510は、組み合わせられた加重単独でピクセルに対応する表面が除去されるべきであることを示す場合、省略されてもよい。
【0138】
いくつかの実施形態では、ボクセルのグリッド内の各ボクセルは、新しい深度画像が収集されるにつれて、記憶された加重の移動平均を有してもよい。各新しい値は、オブジェクトをオブジェクトマップに追加またはそこから除去することを正当とすべきである変化をより迅速に示すように加重される。
【0139】
いくつかの実施形態では、3D再構築を無効ピクセルで更新後、方法1000は、世界構造の表現を更新してもよい(行為1008)。いくつかの実施形態では、行為1008は、更新されたピクセル内の符号付き距離および加重に基づいて、表面を環境の3D表現から除去してもよい。いくつかの実施形態では、行為1008は、更新されたピクセル内の符号付き距離および加重に基づいて、環境の3D表現を以前に除去された表面に戻るように追加してもよい。
【0140】
いくつかの実施形態では、図11-16に関連して説明される方法は、XRシステムの1つ以上のプロセッサ内で実施されてもよい。
【0141】
いくつかの実施形態のいくつかの側面がこれまで説明されたが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。
【0142】
一実施例として、実施形態は、拡張(AR)環境に関連して説明される。本明細書に説明される技法の一部または全部は、MR環境、またはより一般的には、他のXR環境およびVR環境内に適用されてもよいことを理解されたい。
【0143】
別の実施例として、実施形態は、ウェアラブルデバイス等のデバイスに関連して説明される。本明細書に説明される技法の一部または全部は、ネットワーク(クラウド等)、離散アプリケーション、および/またはデバイス、ネットワーク、および離散アプリケーションの任意の好適な組み合わせを介して実装されてもよいことを理解されたい。
【0144】
さらなる実施例として、実施形態は、飛行時間技術に基づく、センサに関連して説明される。本明細書に説明される技法のいくつかまたは全ては、例えば、立体視結像、構造化光投影、およびプレノプティックカメラを含む、任意の好適な技術に基づく、他のセンサを介して実装されてもよいことを理解されたい。
【0145】
そのような改変、修正、および改良は、本開示の一部であることが意図され、本開示の精神および範囲内であると意図される。さらに、本開示の利点が示されるが、本開示の全ての実施形態が、全ての説明される利点を含むわけではないことを理解されたい。いくつかの実施形態は、本明細書およびいくつかの事例において有利として説明される任意の特徴を実装しなくてもよい。故に、前述の説明および図面は、一例にすぎない。
【0146】
本開示の前述の実施形態は、多数の方法のいずれかにおいて実装されることができる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェア内に実装されるとき、ソフトウェアコードが、単一コンピュータ内に提供される、または複数のコンピュータ間に分散されるかどうかにかかわらず、任意の好適なプロセッサまたはプロセッサの集合上で実行されることができる。そのようなプロセッサは、いくつか挙げると、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ、またはコプロセッサ等、当技術分野において公知の市販の集積回路コンポーネントを含む、集積回路コンポーネント内の1つ以上のプロセッサとともに、集積回路として実装されてもよい。いくつかの実施形態では、プロセッサは、ASIC等のカスタム回路内に、またはプログラマブル論理デバイスを構成することから生じる半カスタム回路内に実装されてもよい。さらなる代替として、プロセッサは、市販、半カスタム、またはカスタムかどうかにかかわらず、より大きい回路または半導体デバイスの一部であってもよい。具体的実施例として、いくつかの市販のマイクロプロセッサは、1つまたはそれらのコアのサブセットがプロセッサを構成し得るように、複数のコアを有する。但し、プロセッサは、任意の好適なフォーマットにおける回路を使用して実装されてもよい。
【0147】
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形態のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用または固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。
【0148】
また、コンピュータは、1つ以上の入力および出力デバイスを有してもよい。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用されることができる。ユーザインターフェースを提供するために使用され得る、出力デバイスの実施例は、出力の視覚的提示のためのプリンタまたはディスプレイ画面、または出力の可聴提示のためのスピーカまたは他の音生成デバイスを含む。ユーザインターフェースのために使用され得る、入力デバイスの実施例は、キーボード、およびマウス、タッチパッド、およびデジタル化タブレット等のポインティングデバイスを含む。別の実施例として、コンピュータは、発話認識を通して、または他の可聴フォーマットにおいて、入力情報を受信してもよい。図示される実施形態では、入力/出力デバイスは、コンピューティングデバイスと物理的に別個として図示される。しかしながら、いくつかの実施形態では、入力および/または出力デバイスは、プロセッサと同一ユニットまたはコンピューティングデバイスの他の要素の中に物理的に統合されてもよい。例えば、キーボードは、タッチスクリーン上のソフトキーボードとして実装され得る。いくつかの実施形態では、入力/出力デバイスは、コンピューティングデバイスから完全に接続解除され、無線接続を通して機能的に統合されてもよい。
【0149】
そのようなコンピュータは、企業ネットワークまたはインターネット等、ローカルエリアネットワークまたは広域ネットワークとしての形態を含む、任意の好適な形態の1つ以上のネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
【0150】
また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する、1つ以上のプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングまたはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードまたは中間コードとしてコンパイルされてもよい。
【0151】
本側面では、本開示は、1つ以上のコンピュータまたは他のプロセッサ上で実行されるときに、上記で議論される本開示の種々の実施形態を実装する方法を行う、1つ以上のプログラムで符号化される、コンピュータ可読記憶媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つ以上のフロッピー(登録商標)ディスク、コンパクトディスク(CD)、光学ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイまたは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。前述の実施例から明白なように、コンピュータ可読記憶媒体は、非一過性形態においてコンピュータ実行可能命令を提供するために十分な時間の間、情報を留保し得る。そのようなコンピュータ可読記憶媒体または複数の媒体は、上記に記載されるように、その上に記憶される1つまたは複数のプログラムが、本開示の種々の側面を実装するように1つ以上の異なるコンピュータまたは他のプロセッサ上にロードされ得るように、トランスポータブルであることができる。本明細書で使用されるように、用語「コンピュータ可読記憶媒体」は、製造(すなわち、製造品)または機械と見なされ得るコンピュータ可読媒体のみを包含する。いくつかの実施形態では、本開示は、伝搬信号等のコンピュータ可読記憶媒体以外のコンピュータ可読媒体として具現化されてもよい。
【0152】
用語「プログラム」または「ソフトウェア」は、上記に記載されるように、本開示の種々の側面を実装するようにコンピュータまたは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。加えて、本実施形態の一側面によると、実行されると、本開示の方法を行う、1つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に常駐する必要はないが、本開示の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。
【0153】
コンピュータ実行可能命令は、1つ以上のコンピュータまたは他のデバイスによって実行される、プログラムモジュール等の多くの形態であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。
【0154】
また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。
【0155】
本開示の種々の側面は、単独で、組み合わせて、または前述の実施形態に具体的に議論されない種々の配列において使用されてもよく、したがって、その用途は、前述の説明に記載される、または図面に図示されるコンポーネントの詳細および配列に限定されない。例えば、一実施形態に説明される側面は、他の実施形態に説明される側面と任意の様式で組み合わせられてもよい。
【0156】
また、本開示は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。
【0157】
請求項要素を修飾するための請求項における「第1の」、「第2の」、「第3の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、または方法の行為が行われる時間順序も含意しないが、順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
【0158】
また、本明細書で使用される語句および専門用語は、説明目的のためのものであって、限定と見なされるべきではない。本明細書の「~を含む」、「~を備える」、または「~を有する」、「~を含有する」、「~を伴う」、およびその変形の使用は、その後列挙されたアイテムおよびその均等物および付加的アイテムを包含することを意味する。
図1
図2
図3
図4
図5A
図5B
図6
図7A
図7B
図7C
図8A
図8B
図8C
図8D
図8E
図8F
図9A
図9B
図10
図11
図12
図13
図14A
図14B
図15
図16