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

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

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

特表2022-537817動的オクルージョンのための高速の手のメッシュ化
<>
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図1
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図2
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図3
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図4
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図5A
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図5B
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図6
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図7
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図8
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図9
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図10
  • 特表-動的オクルージョンのための高速の手のメッシュ化 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-30
(54)【発明の名称】動的オクルージョンのための高速の手のメッシュ化
(51)【国際特許分類】
   G06T 15/40 20110101AFI20220823BHJP
   G06T 17/20 20060101ALI20220823BHJP
【FI】
G06T15/40
G06T17/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021576046
(86)(22)【出願日】2020-06-25
(85)【翻訳文提出日】2022-02-01
(86)【国際出願番号】 US2020039601
(87)【国際公開番号】W WO2020264149
(87)【国際公開日】2020-12-30
(31)【優先権主張番号】62/868,640
(32)【優先日】2019-06-28
(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)【発明者】
【氏名】モリノー, デイビッド ジェフリー
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA13
5B080AA17
5B080BA04
5B080CA00
5B080FA02
5B080GA01
5B080GA22
(57)【要約】
没入型のユーザ体験を提供する、拡張現実/複合現実システム。その体験は、仮想オブジェクトをオクルードするために使用され得る、ユーザの手を表す、オクルージョンデータのために、低算出リソースを伴う、増加された更新速度を提供される。手オクルージョンデータは、手のメッシュをライブ深度センサデータから算出することによって生成される。少量のデータが、手が単に特徴点から識別された複数のセグメントによって表される、モデルを用いて、ライブ深度データをマスクすることによって処理される。手オクルージョンデータは、深度データの捕捉の時間と手のメッシュがオクルージョン処理のために使用されるであろう時間との間の手の姿勢の変化を予測することによって生成されてもよい。手のメッシュは、予測される姿勢における手を表すように歪曲されてもよい。
【特許請求の範囲】
【請求項1】
仮想オブジェクトを動的にオクルードするために、コンピューティングシステムを動作させ、手を再構築する方法であって、前記方法は、
仮想オブジェクトを場面内にレンダリングするアプリケーションから、前記場面内の手に関連するデータに関するクエリを受信することと、
ユーザによって装着されるデバイスから、前記場面の情報を捕捉することであって、前記デバイスは、1つ以上のセンサを備え、前記場面の情報は、前記ユーザによって装着されるデバイスと前記場面内の物理的オブジェクトとの間の距離を示す深度情報を含む、ことと、
前記場面内の物理的オブジェクトが手を含むかどうかを検出することと、
前記手が検出されると、少なくとも部分的に、前記場面の情報に基づいて、前記手のモデルを算出することと、
前記手のモデルを用いて、前記ユーザによって装着されるデバイスと前記場面内の物理的オブジェクトとの間の距離を示す深度情報をマスクすることと、
前記手のモデルに対してマスクされた前記深度情報に基づいて、手のメッシュを算出することであって、前記算出することは、前記デバイスと前記手の変化との間の相対的場所として、前記手のメッシュをリアルタイムで更新することを含む、ことと、
前記アプリケーションが、前記手のメッシュによってオクルードされない前記仮想オブジェクトの部分をレンダリングするように、前記手のメッシュを前記アプリケーションに供給することと
を含む、方法。
【請求項2】
前記手のモデルは、前記手のセグメント上の点を示す前記手の複数の特徴点を含む、請求項1に記載の方法。
【請求項3】
前記手の複数の特徴点の少なくとも一部は、前記手の関節および前記手の指先に対応する、請求項2に記載の方法。
【請求項4】
前記方法はさらに、
前記複数の特徴点に基づいて、前記手の輪郭を決定することと、
前記手のモデルを用いて、前記ユーザによって装着されるデバイスと前記場面内の物理的オブジェクトとの間の距離を示す深度情報をマスクすることと
を含み、前記深度情報をマスクすることは、
前記手のモデルの輪郭外の深度情報をフィルタリング除去することと、
少なくとも部分的に、前記フィルタリングされた深度情報に基づいて、前記手の深度画像を生成することであって、前記深度画像は、複数のピクセルを含み、各ピクセルは、前記手の点までの距離を示す、ことと
を含む、請求項2に記載の方法。
【請求項5】
前記手のモデルの輪郭外の深度情報をフィルタリング除去することは、
前記場面内の物理的オブジェクトと関連付けられる深度情報を除去することを含む、請求項4に記載の方法。
【請求項6】
前記手のモデルを用いて、前記ユーザによって装着されるデバイスと前記場面内の物理的オブジェクトとの間の距離を示す深度情報をマスクすることは、前記深度画像の部分と手のセグメントを関連付けることを含み、
前記手のメッシュをリアルタイムで更新することは、前記手のセグメントの適切なサブセットを表す前記手のメッシュの部分を選択的に更新することを含む、
請求項2に記載の方法。
【請求項7】
前記手のメッシュを算出する前に、前記深度画像内の穴を充填することをさらに含む、請求項6に記載の方法。
【請求項8】
前記深度画像内の穴を充填することは、
ステレオ深度情報を前記デバイスのステレオカメラから生成することを含み、前記ステレオ深度情報は、前記深度画像内の穴の領域に対応する、請求項7に記載の方法。
【請求項9】
前記深度画像内の穴を充填することは、
手の3Dモデルからの表面情報にアクセスすることを含み、前記表面情報は、前記深度画像内の穴の領域に対応する、請求項7に記載の方法。
【請求項10】
前記手のモデルに対してマスクされた前記深度情報に基づいて、前記手のメッシュを算出することは、
前記仮想オブジェクトを前記場面内にレンダリングするアプリケーションから前記場面内の手に関連するデータに関して時間tにおいて受信されたクエリからの待ち時間nを予測することと、
前記クエリ時間t+前記待ち時間nの時間における手の姿勢を予測することと、
前記クエリ時間t+前記待ち時間nの時間において予測される姿勢を用いて、前記手のメッシュを歪曲させることと
を含む、請求項1に記載の方法。
【請求項11】
前記ユーザによって装着されるデバイスと前記場面内の物理的オブジェクトとの間の距離を示す深度情報は、少なくとも30フレーム/秒のフレームレートにおける深度画像のシーケンスを含む、請求項1に記載の方法。
【請求項12】
ユーザによって携行可能な電子システムであって、
前記ユーザによって装着されるデバイスであって、前記デバイスは、仮想オブジェクトをレンダリングするように構成されるディスプレイを備え、前記デバイスを装着している前記ユーザの頭部姿勢および1つ以上の物理的オブジェクトを含む場面の情報を捕捉するように構成される1つ以上のセンサを備え、前記場面の情報は、前記デバイスと前記1つ以上の物理的オブジェクトとの間の距離を示す深度情報を含む、デバイスと、
手のメッシュ化コンポーネントであって、前記手のメッシュ化コンポーネントは、コンピュータ実行可能命令を実行し、前記頭部姿勢が変化および/または前記手が移動するにつれて、前記場面内の手を検出し、前記検出された手の手のメッシュを算出し、前記手のメッシュをリアルタイムで更新するように構成される、手のメッシュ化コンポーネントと、
アプリケーションであって、前記アプリケーションは、コンピュータ実行可能命令を実行し、前記仮想オブジェクトを前記場面内にレンダリングするように構成され、前記アプリケーションは、前記手のメッシュ化コンポーネントから、前記手のメッシュおよび前記手によってオクルードされる前記仮想オブジェクトの部分を受信する、アプリケーションと
を備える、電子システム。
【請求項13】
前記手のメッシュ化コンポーネントは、
前記手上の特徴点を識別することと、
前記特徴点間のセグメントを算出することと、
前記深度情報から、前記算出されたセグメントのうちの1つ以上のものに対する近接度に基づいて、情報を選択することと、
前記選択された深度情報に基づいて、前記手のメッシュの少なくとも一部を表すメッシュを算出することと
を行うことによって、手のメッシュを算出するように構成される、請求項12に記載のポータブル電子システム。
【請求項14】
前記深度情報は、複数のピクセルを含み、前記複数のピクセルはそれぞれ、前記場面内のオブジェクトまでの距離を表し、
前記メッシュを算出することは、閾値未満の距離における差異を表す隣接するピクセルをグループ化することを含む、
請求項13に記載のポータブル電子システム。
【請求項15】
ARシステムを動作させ、仮想オブジェクトを、物理的オブジェクトを含む場面内にレンダリングする方法であって、前記ARシステムは、少なくとも1つのセンサと、少なくとも1つのプロセッサとを備え、前記方法は、
前記少なくとも1つのセンサを用いて、場面の情報を捕捉することであって、前記場面の情報は、前記場面内の物理的オブジェクトまでの距離を示す深度情報を含む、ことと、
前記少なくとも1つのプロセッサを用いて、
前記捕捉された情報を処理し、前記場面内の手を検出し、前記手上の点を算出することと、
前記手上の算出された点に対する近接度に基づいて、前記深度情報のサブセットを選択することと、
前記選択された深度情報に基づいて、前記手の表現を算出することであって、前記手の表現は、前記手の表面を示す、ことと
を含む、方法。
【請求項16】
前記算出された手の表現を記憶することと、
捕捉された情報を連続的に処理し、前記記憶された手の表現を更新することと
をさらに含む、請求項15に記載の方法。
【請求項17】
前記手の表現を算出することは、
前記捕捉された情報に基づいて、前記手の運動の1つ以上のパラメータを算出することと、
前記運動の1つ以上のパラメータに基づいて、前記算出された手の表現を使用して、仮想オブジェクトをレンダリングすることと関連付けられる待ち時間に基づいて決定される将来的時間に、前記手の位置を投影することと、
前記算出された前記手の表現をモーフィング処理し、前記手を前記投影された位置において表すことと
を含む、請求項15に記載の方法。
【請求項18】
前記手の表現に基づいて、前記仮想オブジェクトの選択された部分をレンダリングすることをさらに含み、前記選択された部分は、前記手によってオクルードされない前記仮想オブジェクトの部分を表す、請求項15に記載の方法。
【請求項19】
前記深度情報は、それぞれが距離を表す複数のピクセルを含む深度マップを含み、
前記選択された深度情報に基づいて、前記手の表現を算出することは、表面セグメントを表すピクセルのグループを識別することを含む、
請求項15に記載の方法。
【請求項20】
前記手の表現を算出することは、前記ピクセルの識別されたグループに基づいて、前記手を表すメッシュを定義することを含む、請求項19に記載の方法。
【請求項21】
前記メッシュを定義することは、前記識別された表面セグメントに対応する三角形領域を識別することを含む、請求項20に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概して、3D世界再構築を使用して、場面をレンダリングする、クロスリアリティシステムに関する。
【背景技術】
【0002】
コンピュータは、ヒューマンユーザインターフェースを制御し、ユーザによって知覚されるにつれて、XR環境の一部または全部がコンピュータによって生成される、Xリアリティ(XRまたはクロスリアリティ)環境を作成し得る。これらのXR環境は、XR環境の一部または全部が、部分的に、環境を説明するデータを使用して、コンピュータによって生成され得る、仮想現実(VR)、拡張現実(AR)、および複合現実(MR)環境であり得る。本データは、例えば、ユーザが、物理的世界の一部として、感知または知覚し、仮想オブジェクトと相互作用し得るようにレンダリングされ得る、仮想オブジェクトを説明し得る。ユーザは、例えば、頭部搭載型ディスプレイデバイス等のユーザインターフェースデバイスを通してレンダリングおよび提示されているデータの結果として、これらの仮想オブジェクトを体験し得る。データは、ユーザに見えるために表示され得る、またはユーザに聞こえるために再生される、オーディオを制御し得る、または触知的(または触覚的)インターフェースを制御し、ユーザが、仮想オブジェクトを感じるにつれて、ユーザが感知または知覚する、タッチ感覚を体験することを可能にし得る。
【0003】
XRシステムは、科学的可視化、医療訓練、工学設計、およびプロトタイプ化、遠隔操作およびテレプレゼンス、および個人的娯楽の分野に及ぶ、多くの用途のために有用であり得る。ARおよびMRは、VRと対照的に、物理的世界の実オブジェクトと関連して、1つ以上のオブジェクトを含む。実オブジェクトと相互作用する、仮想オブジェクトの体験は、XRシステムを使用する際、ユーザの享受を大幅に向上させ、また、物理的世界が改変され得る様子についての現実的かつ容易に理解可能な情報を提示する、種々の用途のための可能性を広げる。
【0004】
XRシステムは、システムのユーザの周囲の物理的世界を「メッシュ」として表し得る。メッシュは、複数の相互接続された三角形によって表され得る。各三角形は、各三角形が表面の一部を表すように、物理的世界内のオブジェクトの表面上の点を継合する、縁を有する。色、テクスチャ、または他の性質等の表面の部分についての情報は、三角形内に関連付けて記憶され得る。動作時、XRシステムは、メッシュを作成または更新するように、画像情報を処理し、点および表面を検出する。
【発明の概要】
【課題を解決するための手段】
【0005】
本願の側面は、動的オクルージョンのための高速の手のメッシュ化のための方法および装置に関する。本明細書に説明される技法は、ともに、別個に、または任意の好適な組み合わせにおいて、使用されてもよい。
【0006】
いくつかの実施形態は、仮想オブジェクトを動的にオクルードするために、コンピューティングシステムを動作させ、手を再構築する方法に関する。本方法は、仮想オブジェクトを場面内にレンダリングするアプリケーションから、場面内の手に関連するデータに関するクエリを受信するステップと、ユーザによって装着されるデバイスから、場面の情報を捕捉するステップであって、デバイスは、1つ以上のセンサを備え、場面の情報は、ユーザによって装着されるデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報を含む、ステップと、場面内の物理的オブジェクトが手を含むかどうかを検出するステップと、手が検出されると、少なくとも部分的に、場面の情報に基づいて、手のモデルを算出するステップと、手のモデルを用いて、ユーザによって装着されるデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報をマスクするステップと、手のモデルに対してマスクされた深度情報に基づいて、手のメッシュを算出するステップであって、算出するステップは、デバイスと手の変化との間の相対的場所として、手のメッシュをリアルタイムで更新するステップを含む、ステップと、アプリケーションが、手のメッシュによってオクルードされない仮想オブジェクトの部分をレンダリングするように、手のメッシュをアプリケーションに供給するステップとを含む。
【0007】
いくつかの実施形態では、手のモデルは、手のセグメント上の点を示す、手の複数の特徴点を含む。
【0008】
いくつかの実施形態では、手の複数の特徴点の少なくとも一部は、手の関節および手の指先に対応する。
【0009】
いくつかの実施形態では、本方法はさらに、複数の特徴点に基づいて、手の輪郭を決定するステップと、手のモデルを用いて、ユーザによって装着されるデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報をマスクするステップとを含む。深度情報をマスクするステップは、手のモデルの輪郭外の深度情報をフィルタリング除去するステップと、少なくとも部分的に、フィルタリングされた深度情報に基づいて、手の深度画像を生成するステップであって、深度画像は、複数のピクセルを含み、各ピクセルは、手の点までの距離を示す、ステップとを含む。
【0010】
いくつかの実施形態では、手のモデルの輪郭外の深度情報をフィルタリング除去するステップは、場面内の物理的オブジェクトと関連付けられる、深度情報を除去するステップを含む。
【0011】
いくつかの実施形態では、手のモデルを用いて、ユーザによって装着されるデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報をマスクするステップは、深度画像の部分と手のセグメントを関連付けるステップを含み、手のメッシュをリアルタイムで更新するステップは、手のセグメントの適切なサブセットを表す、手メッシュの部分を選択的に更新するステップを含む。
【0012】
いくつかの実施形態では、本方法はさらに、手のメッシュを算出する前に、深度画像内の穴を充填するステップを含む。
【0013】
いくつかの実施形態では、深度画像内の穴を充填するステップは、ステレオ深度情報をデバイスのステレオカメラから生成するステップを含み、ステレオ深度情報は、深度画像内の穴の領域に対応する。
【0014】
いくつかの実施形態では、深度画像内の穴を充填するステップは、手の3Dモデルからの表面情報にアクセスするステップを含み、表面情報は、深度画像内の穴の領域に対応する。
【0015】
いくつかの実施形態では、手のモデルに対してマスクされた深度情報に基づいて、手のメッシュを算出するステップは、仮想オブジェクトを場面内にレンダリングするアプリケーションから場面内の手に関連するデータに関して時間tにおいて受信されたクエリからの待ち時間nを予測するステップと、クエリ時間t+待ち時間nの時間における手の姿勢を予測するステップと、クエリ時間t+待ち時間nの時間において予測される姿勢を用いて、手のメッシュを歪曲させるステップとを含む。
【0016】
いくつかの実施形態では、ユーザによって装着されるデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報は、少なくとも30フレーム/秒のフレームレートにおける深度画像のシーケンスを含む。
【0017】
いくつかの実施形態は、ユーザによって携行可能な電子システムに関する。電子システムは、ユーザによって装着される、デバイスを備える。デバイスは、仮想オブジェクトをレンダリングするように構成される、ディスプレイを備え、デバイスを装着しているユーザの頭部姿勢および1つ以上の物理的オブジェクトを含む場面の情報を捕捉するように構成される、1つ以上のセンサを備え、場面の情報は、デバイスと1つ以上の物理的オブジェクトとの間の距離を示す、深度情報を含む。電子システムは、コンピュータ実行可能命令を実行し、頭部姿勢が変化および/または手が移動するにつれて、場面内の手を検出し、検出された手の手のメッシュを算出し、手のメッシュをリアルタイムで更新するように構成される、手のメッシュ化コンポーネントと、コンピュータ実行可能命令を実行し、仮想オブジェクトを場面内にレンダリングするように構成される、アプリケーションであって、手のメッシュ化コンポーネントから、手のメッシュおよび手によってオクルードされる仮想オブジェクトの部分を受信する、アプリケーションとを備える。
【0018】
いくつかの実施形態では、手のメッシュ化コンポーネントは、手上の特徴点を識別し、特徴点間のセグメントを算出し、深度情報から、算出されたセグメントのうちの1つ以上のものに対する近接度に基づいて、情報を選択し、選択された深度情報に基づいて、手のメッシュの少なくとも一部を表す、メッシュを算出することによって、手のメッシュを算出するように構成される。
【0019】
いくつかの実施形態では、深度情報は、複数のピクセルを含み、複数のピクセルはそれぞれ、場面内のオブジェクトまでの距離を表す。メッシュを算出するステップは、閾値未満の距離における差異を表す、隣接するピクセルをグループ化するステップを含む。
【0020】
いくつかの実施形態は、ARシステムを動作させ、仮想オブジェクトを、物理的オブジェクトを含む、場面内にレンダリングする方法に関する。ARシステムは、少なくとも1つのセンサと、少なくとも1つのプロセッサとを備える。本方法は、少なくとも1つのセンサを用いて、場面の情報を捕捉するステップであって、場面の情報は、場面内の物理的オブジェクトまでの距離を示す、深度情報を含む、ステップと、少なくとも1つのプロセッサを用いて、捕捉された情報を処理し、場面内の手を検出し、手上の点を算出するステップと、手上の算出された点に対する近接度に基づいて、深度情報のサブセットを選択するステップと、選択された深度情報に基づいて、手の表現を算出するステップであって、手の表現は、手の表面を示す、ステップとを含む。
【0021】
いくつかの実施形態では、本方法はさらに、算出された手の表現を記憶するステップと、捕捉された情報を連続的に処理し、記憶された手の表現を更新するステップとを含む。
【0022】
いくつかの実施形態では、手の表現を算出するステップは、捕捉された情報に基づいて、手の運動の1つ以上のパラメータを算出するステップと、運動の1つ以上のパラメータに基づいて、算出された手の表現を使用して、仮想オブジェクトをレンダリングするステップと関連付けられる待ち時間に基づいて決定される、将来的時間に、手の位置を投影するステップと、算出された手の表現をモーフィング処理し、手を投影された位置において表すステップとを含む。
【0023】
いくつかの実施形態では、本方法はさらに、手の表現に基づいて、仮想オブジェクトの選択された部分をレンダリングするステップを含み、選択された部分は、手によってオクルードされない仮想オブジェクトの部分を表す。
【0024】
いくつかの実施形態では、深度情報は、それぞれが距離を表す複数のピクセルを含む、深度マップを含む。選択された深度情報に基づいて、手の表現を算出するステップは、表面セグメントを表す、ピクセルのグループを識別するステップを含む。
【0025】
いくつかの実施形態では、手の表現を算出するステップは、ピクセルの識別されたグループに基づいて、手を表す、メッシュを定義するステップを含む。
【0026】
いくつかの実施形態では、メッシュを定義するステップは、識別された表面セグメントに対応する、三角形領域を識別するステップを含む。
【0027】
前述の概要は、例証として提供され、限定することを意図するものではない。
【図面の簡単な説明】
【0028】
添付の図面は、縮尺通りに描かれることを意図していない。図面では、種々の図に図示される、各同じまたはほぼ同じコンポーネントは、同様の数字で表される。明確性の目的のために、全てのコンポーネントが、全ての図面において標識されているわけではない。
【0029】
図1図1は、いくつかの実施形態による、簡略化された拡張現実(AR)場面の実施例を図示する、スケッチである。
【0030】
図2図2は、いくつかの実施形態による、視覚的オクリュージョン、物理学的ベースの相互作用、および環境推測を含む、例示的世界再構築ユースケースを示す、例示的簡略化されたAR場面のスケッチである。
【0031】
図3図3は、いくつかの実施形態による、物理的世界と相互作用するARコンテンツの体験を提供するように構成される、ARシステム内のデータフローを図示する、概略図である。
【0032】
図4図4は、いくつかの実施形態による、ARディスプレイシステムの実施例を図示する、概略図である。
【0033】
図5A図5Aは、いくつかの実施形態による、ユーザが物理的世界環境を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着しているユーザを図示する、概略図である。
【0034】
図5B図5Bは、いくつかの実施形態による、視認光学系アセンブリおよび付帯コンポーネントを図示する、概略図である。
【0035】
図6図6は、いくつかの実施形態による、世界再構築システムを使用するARシステムを図示する、概略図である。
【0036】
図7図7は、いくつかの実施形態による、動的オクルージョンのために、手のメッシュをリアルタイムで生成するように構成される、ARシステムを図示する、概略図である。
【0037】
図8図8は、いくつかの実施形態による、動的オクルージョンのために、手のメッシュをリアルタイムで生成する方法を図示する、フローチャートである。
【0038】
図9図9Aは、いくつかの実施形態による、眼に対応する、1つのセンサによって捕捉された例示的画像である。図9Bは、いくつかの実施形態による、左および右眼に対応する、2つのセンサによって捕捉された2つの例示的画像である。図9Cは、いくつかの実施形態による、少なくとも部分的に、図9Aの画像または図9Bの画像から取得され得る、例示的深度画像である。図9Dは、いくつかの実施形態による、図8の手のモデルの輪郭を図示する、例示的画像である。図9Eは、いくつかの実施形態による、手の例示的な8つの特徴点モデルを図示する、概略図である。図9Fは、いくつかの実施形態による、手の例示的な22の特徴点モデルを図示する、概略図である。図9Gは、いくつかの実施形態による、稠密な手のメッシュを図示する、概略図である。
【0039】
図10図10は、いくつかの実施形態による、図8の手のモデルを用いて、深度情報をマスクするステップの詳細を図示する、フローチャートである。
【0040】
図11図11は、いくつかの実施形態による、図8の手のセグメント化に対してマスクされた深度情報に基づいて、手のメッシュをリアルタイムで算出するステップの詳細を図示する、フローチャートである。
【発明を実施するための形態】
【0041】
本明細書に説明されるものは、X現実(XR)システムにおける動的オクルージョンのために、高速の手のメッシュ化のための方法および装置である。XRシステムは、3次元再構築を作成および使用してもよい。現実的XR体験をユーザに提供するために、XRシステムは、仮想オブジェクトの場所を実オブジェクトに関連して正しく相関させるために、ユーザの物理的周囲を把握しなければならない。世界再構築は、XRシステムの一部であるセンサを用いて収集される、それらの物理的周囲についての画像および情報深度から構築されてもよい。世界再構築は、次いで、そのようなシステムの複数のコンポーネントのいずれかによって使用されてもよい。例えば、世界再構築は、視覚的オクルージョン処理を実施する、物理学ベースの相互作用を算出する、または環境推測を実施する、コンポーネントによって使用されてもよい。
【0042】
オクルージョン処理は、仮想オブジェクトがユーザによって知覚されるべき場所のユーザのそのビューを遮断する、物理的世界内のオブジェクトが存在するため、ユーザにレンダリングおよび/または表示されるべきではない、その仮想オブジェクトの部分を識別する。物理学ベースの相互作用は、仮想オブジェクトがユーザに現れる場所または方法を決定するために算出される。例えば、仮想オブジェクトは、物理的オブジェクト上に静置している、虚空を通して移動している、または物理的オブジェクトの表面と衝突しているように現れるように、レンダリングされてもよい。世界再構築は、そこから物理的世界内のオブジェクトについての情報がそのような計算のために取得され得る、モデルを提供する。
【0043】
そのようなシステムを提供する際、有意な課題が存在する。実質的処理が、世界再構築およびオクルージョン情報を算出するために要求され得る。さらに、XRシステムは、仮想オブジェクトをユーザの頭部、身体等に関連して位置付ける方法を正しく把握しなければならない。物理的環境に関連するユーザの位置が、変化するにつれて、物理的世界の関連部分もまた、変化し得、これは、さらなる処理を要求し得る。さらに、3D再構築データは、多くの場合、オブジェクトが物理的世界内で移動する(例えば、カップがテーブル上で移動する)につれて、更新されることが要求される。ユーザが体験している環境を表す、データへの更新は、世界再構築を実施しながら、他の機能を実施することが不可能であるため、XR環境を生成するコンピュータのコンピューティングリソースのあまり多くを使用せずに、迅速に実施されなければならない。さらに、そのデータを「消費」するコンポーネントによる再構築データの処理は、コンピュータリソースに関する需要を悪化させ得る。
【0044】
動的オクルージョン処理は、仮想オブジェクトがユーザによって知覚されるべき場所のそのユーザのビューを遮断する、物理的オブジェクトが存在し、物理的オブジェクトと仮想オブジェクトとの間の相対的位置が、経時的に変化するため、ユーザにレンダリングおよび/または表示されるべきではない、仮想オブジェクトの部分を識別する。ユーザの手を考慮するためのオクルージョン処理は、特に、望ましいXR体験を提供するために重要であり得る。しかしながら、本発明者らは、手のために具体的に改良されたオクルージョン処理が、ユーザのためのより現実的XR体験を提供し得ることを認識し、その真価を認めた。XRシステムは、例えば、約5フレーム/秒(fps)のフレームレートで得られたグラフィック画像に基づいて、オクルージョン処理で使用される、オブジェクトのためのメッシュを生成し得る。しかしながら、そのレートは、手運動および/または頭部運動に起因して、手と手の背後の仮想オブジェクトとの間の場所変化の速度、例えば、15fps超、30fps超、または45fps超を満たさない場合がある。
【0045】
XRデバイスのユーザは、手を用いてジェスチャを行うことを通して、デバイスと相互作用してもよい。手は、それらが、直接、ユーザ相互作用で使用されるため、待ち時間が重要となる。ユーザの手は、デバイスとの相互作用の間、高速で、例えば、ユーザが世界再構築のために物理的環境を走査するために移動するよりも高速で移動し得る。さらに、ユーザの手は、ユーザによって装着される、XRデバイスにより近い。したがって、ユーザの手と手の背後の仮想オブジェクトとの間の相対的位置もまた、頭部運動に敏感である。オクルージョン処理のために使用される、手の表現が、相対的運動のこれらのソースに追い付くために十分に高速で更新されない場合、オクルージョン処理は、手の場所に基づかないことになり、オクルージョン処理は、不正確となるであろう。手の背後の仮想オブジェクトが、手運動および/または頭部運動の間、手によってオクルードされて現れるように正しくレンダリングされない場合、XR場面は、ユーザに非現実的に現れるであろう。仮想オブジェクトは、手が透明であるかのように手の上部に現れ得る。仮想オブジェクトは、そうでなければ、その意図される場所にあるように現れ得ない。手は、仮想オブジェクトの色パターンを有するように現れ得る、または他のアーチファクトが、現れ得る。結果として、手の運動は、XR体験におけるユーザの没入感を壊すことになる。
【0046】
本発明者らは、仮想オブジェクトをオクルードする、オブジェクトが、ユーザの手であるとき、特に高算出需要が要求され得ることを認識し、その真価を認めた。しかしながら、算出負担は、低算出リソースを用いて高レートで手オクルージョンデータを生成する、技法によって減少され得る。手オクルージョンデータは、手のメッシュを、グラフィック画像より高い頻度で得られる、ライブ深度センサデータから算出することによって生成されてもよい。いくつかの実施形態では、ライブ深度センサデータは、少なくとも30fpsのフレームレートで得られてもよい。そのデータの高速処理を有効にするために、少量のデータが、手が単に特徴点から識別された複数のセグメントによって表される、モデルを用いて、ライブ深度データをマスクすることによって、オクルージョン処理で使用される手のモデルを作製するために処理されてもよい。さらに、オクルージョン処理の正確度を増加させるために、手オクルージョンデータは、深度データの捕捉の時間と手のメッシュがオクルージョン処理のために使用されるであろう時間との間の手の姿勢の変化を予測することによって生成されてもよい。手のメッシュは、予測される姿勢において手を表すように歪曲されてもよい。
【0047】
本明細書に説明されるような技法は、クロスリアリティ場面を提供する、限定された算出リソースを伴う、ウェアラブルまたはポータブルデバイスを含む、多くのタイプのデバイスとともにまたは別個に、かつ多くのタイプの場面のために使用されてもよい。いくつかの実施形態では、本技法は、XRシステムの一部を形成する、サービスによって実装されてもよい。
【0048】
図1-2は、そのような場面を図示する。例証目的のために、ARシステムは、XRシステムの実施例として使用される。図3-6は、本明細書に説明される技法に従って動作し得る、1つ以上のプロセッサ、メモリ、センサ、およびユーザインターフェースを含む、例示的ARシステムを図示する。
【0049】
図1を参照すると、屋外AR場面4が、描写されており、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム8を特徴とする、物理的世界公園状設定6が見える。これらのアイテムに加え、AR技術のユーザはまた、物理的世界のコンクリートプラットフォーム8上に立っているロボット像10と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ2とが「見える」と知覚するが、これらの要素(例えば、アバタキャラクタ2およびロボット像10)は、物理的世界内には存在しない。ヒトの視知覚および神経系の極端な複雑性に起因して、他の仮想または物理的世界画像要素の中で仮想画像要素の快適で、自然な感覚で、豊かな提示を促進する、AR技術を生産することは、困難である。
【0050】
そのようなAR場面は、ユーザの周囲の物理的世界表面の表現を構築および更新し得る、世界再構築コンポーネントを含む、システムを用いて達成され得る。本表現は、レンダリングをオクルードするため、仮想オブジェクトを物理学ベースの相互作用状態に設置するため、および仮想キャラクタ経路計画およびナビゲーションのため、または物理的世界についての情報が使用される、他の動作のために、使用されてもよい。図2は、いくつかの実施形態による、視覚的オクルージョン202と、物理学ベースの相互作用204と、環境推測206とを含む、例示的世界再構築ユースケースを示す、屋内AR場面200の別の実施例を描写する。
【0051】
例示的場面200は、壁、壁の片側上の書籍棚、部屋の角におけるフロアランプ、床、ソファ、および床上のコーヒーテーブルを有する、居間である。これらの物理的アイテムに加え、AR技術のユーザはまた、ソファの背後の壁上の画像、ドアを通して飛んで来た鳥、書籍棚から覗いているシカ、およびコーヒーテーブル上に設置された風車の形態における置物等の仮想オブジェクトを知覚する。壁上の画像に関して、AR技術は、壁の表面だけではなく、また、ランプ形状等の部屋内のオブジェクトおよび表面についての情報を要求し、これは、画像をオクルードし、仮想オブジェクトを正しくレンダリングしている。飛んで来た飛鳥に関して、AR技術は、現実的物理学を伴って鳥をレンダリングし、オブジェクトおよび表面または鳥が衝突する場合のそれらからの跳ね返りを回避するために、部屋の周囲の全てのオブジェクトおよび表面についての情報を要求する。シカに関して、AR技術は、床またはコーヒーテーブル等の表面についての情報を要求し、シカを設置すべき場所を算出する。風車に関して、システムは、テーブルと別個のオブジェクトであることを識別し得、移動可能であることを推測し得る一方、棚の角または壁の角は、定常であると推測され得る。そのような特異性は、種々の動作のそれぞれにおいて使用または更新される場面の部分に関する推測において使用され得る。
【0052】
場面は、視覚、音、および/またはタッチを含む、1つ以上のユーザ感覚を刺激し得る、ユーザインターフェースを含む、複数のコンポーネントを含む、システムを介して、ユーザに提示されてもよい。加えて、システムは、場面の物理的部分内のユーザの位置および/または運動を含む、場面の物理的部分のパラメータを測定し得る、1つ以上のセンサを含んでもよい。さらに、システムは、メモリ等の関連付けられたコンピュータハードウェアを伴う、1つ以上のコンピューティングデバイスを含んでもよい。これらのコンポーネントは、単一デバイスの中に統合されてもよい、または複数の相互接続されるデバイスを横断して分散されてもよい。いくつかの実施形態では、これらのコンポーネントの一部または全部は、ウェアラブルデバイスの中に統合されてもよい。
【0053】
図3は、いくつかの実施形態による、物理的世界306と相互作用するARコンテンツの体験を提供するように構成される、ARシステム302を描写する。ARシステム302は、ディスプレイ308を含んでもよい。図示される実施形態では、ディスプレイ308は、ユーザがディスプレイを一対のゴーグルまたは眼鏡のようにその眼にわたって装着し得るように、ヘッドセットの一部としてユーザによって装着されてもよい。ディスプレイの少なくとも一部は、ユーザがシースルー現実310を観察し得るように、透明であってもよい。シースルー現実310は、ユーザが、ARシステムのディスプレイおよびセンサの両方を組み込み、物理的世界についての情報を入手する、ヘッドセットを装着している場合、ユーザの視点に対応し得る、ARシステム302の現在の視点内の物理的世界306の一部に対応してもよい。
【0054】
ARコンテンツはまた、シースルー現実310上にオーバーレイされる、ディスプレイ308上に提示されてもよい。ARコンテンツとシースルー現実310との間の正確な相互作用をディスプレイ308上に提供するために、ARシステム302は、物理的世界306についての情報を捕捉するように構成される、センサ322を含んでもよい。
【0055】
センサ322は、深度マップ312を出力する、1つ以上の深度センサを含んでもよい。各深度マップ312は、複数のピクセルを有してもよく、それぞれ、深度センサに対する特定の方向における物理的世界306内の表面までの距離を表してもよい。未加工深度データは、深度センサから生じ、深度マップを作成し得る。そのような深度マップは、深度センサが新しい画像を形成し得る速度と同速で更新され得、これは、数百または数千回/秒であり得る。しかしながら、そのデータは、雑音があり、不完全であり、黒色ピクセルとして図示される深度マップ上に示される、穴を有し得る。
【0056】
システムは、画像センサ等の他のセンサを含んでもよい。画像センサは、物理的世界を他の方法において表すように処理され得る、情報を入手してもよい。例えば、画像は、世界再構築コンポーネント316において処理され、物理的世界内のオブジェクトの接続される部分を表す、メッシュを作成してもよい。例えば、色および表面テクスチャを含む、そのようなオブジェクトについてのメタデータも同様に、センサを用いて入手され、世界再構築の一部として記憶されてもよい。
【0057】
システムはまた、物理的世界に対するユーザの頭部姿勢についての情報を入手してもよい。いくつかの実施形態では、センサ310は、頭部姿勢314を算出および/または決定するために使用され得る、慣性測定ユニット(IMU)を含んでもよい。深度マップのための頭部姿勢314は、例えば、6自由度(6DoF)を伴う、深度マップを捕捉するセンサの現在の視点を示し得るが、頭部姿勢314は、画像情報を物理的世界の特定の部分に関連させる、またはユーザの頭部上に装着されるディスプレイの位置を物理的世界に関連させるため等、他の目的のために使用されてもよい。いくつかの実施形態では、頭部姿勢情報は、画像内のオブジェクトを分析することから等、IMUから以外の方法において導出されてもよい。
【0058】
世界再構築コンポーネント316は、深度マップ312および頭部姿勢314および任意の他のデータをセンサから受信し、そのデータを再構築318の中に統合してもよく、これは、少なくとも、単一の組み合わせられた再構築であるように現れ得る。再構築318は、センサデータより完全かつ雑音が少なくあり得る。世界再構築コンポーネント316は、複数の視点からのセンサデータの経時的な空間および時間的平均を使用して、再構築318を更新してもよい。
【0059】
再構築318は、例えば、ボクセル、メッシュ、平面等を含む、1つ以上のデータフォーマットにおける、物理的世界の表現を含んでもよい。異なるフォーマットは、物理的世界の同一部分の代替表現を表してもよい、または物理的世界の異なる部分を表してもよい。図示される実施例では、再構築318の左側において、物理的世界の一部は、グローバル表面として提示され、再構築318の右側において、物理的世界の一部は、メッシュとして提示される。
【0060】
再構築318は、オクルージョン処理または物理学ベースの処理のために、物理的世界の表面表現を生産する等、AR機能のために使用されてもよい。本表面表現は、ユーザが移動する、または物理的世界内のオブジェクトが変化するにつれて、変化し得る。再構築318の側面は、例えば、世界座標内の変化するグローバル表面表現を生産する、コンポーネント320によって使用されてもよく、これは、他のコンポーネントによって使用されてもよい。
【0061】
ARコンテンツは、本情報に基づいて、ARアプリケーション304等によって、生成されてもよい。ARアプリケーション304は、例えば、視覚的オクルージョン、物理学ベースの相互作用、および環境推測等、物理的世界についての情報に基づいて、1つ以上の機能を実施する、ゲームプログラムであってもよい。異なるフォーマットにおけるデータを世界再構築コンポーネント316によって生産された再構築318からクエリすることによって、これらの機能を実施してもよい。いくつかの実施形態では、コンポーネント320は、物理的世界の着目領域内の表現が変化すると、更新を出力するように構成されてもよい。その着目領域は、例えば、ユーザの視野内の部分等のシステムのユーザの近傍における物理的世界の一部に近似するように設定されてもよい、またはユーザの視野内に生じるように投影(予測/決定)される。
【0062】
ARアプリケーション304は、本情報を使用して、ARコンテンツを生成および更新してもよい。ARコンテンツの仮想部分は、シースルー現実310と組み合わせて、ディスプレイ308上に提示され、現実的ユーザ体験を作成してもよい。
【0063】
いくつかの実施形態では、AR体験は、ウェアラブルディスプレイシステムを通して、ユーザに提供されてもよい。図4は、ウェアラブルディスプレイシステム80(以降、「システム80」と称される)の実施例を図示する。システム80は、頭部搭載型ディスプレイデバイス62(以降、「ディスプレイデバイス62」と称される)と、ディスプレイデバイス62の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイデバイス62は、フレーム64に結合されてもよく、これは、ディスプレイシステムユーザまたは視認者60(以降、「ユーザ60」と称される)によって装着可能であって、ディスプレイデバイス62をユーザ60の眼の正面に位置付けるように構成される。種々の実施形態によると、ディスプレイデバイス62は、シーケンシャルディスプレイであってもよい。ディスプレイデバイス62は、単眼または双眼であってもよい。いくつかの実施形態では、ディスプレイデバイス62は、図3におけるディスプレイ308の実施例であってもよい。
【0064】
いくつかの実施形態では、スピーカ66が、フレーム64に結合され、ユーザ60の外耳道に近接して位置付けられる。いくつかの実施形態では、示されない、別のスピーカが、ユーザ60の別の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する。ディスプレイデバイス62は、有線導線または無線コネクティビティ68等によって、ローカルデータ処理モジュール70に動作可能に結合され、これは、フレーム64に固定して取り付けられる、ユーザ60によって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、ユーザ60に除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載されてもよい。
【0065】
ローカルデータ処理モジュール70は、プロセッサと、不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリとを含んでもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。データは、a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム64に動作可能に結合される、または別様にユーザ60に取り付けられ得る)センサから捕捉されるデータ、および/またはb)可能性として、処理または読出後に、ディスプレイデバイス62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して入手および/または処理された、データを含む。ローカルデータ処理モジュール70は、これらの遠隔モジュール72、74が、相互に動作可能に結合され、ローカル処理およびデータモジュール70へのリソースとして利用可能であるように、通信リンク76、78によって、有線または無線通信リンク等を介して、それぞれ、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合されてもよい。いくつかの実施形態では、図3における世界再構築コンポーネント316は、少なくとも部分的に、ローカルデータ処理モジュール70内に実装されてもよい。例えば、ローカルデータ処理モジュール70は、コンピュータ実行可能命令を実行し、少なくとも部分的に、データの少なくとも一部に基づいて、物理的世界表現を生成するように構成されてもよい。
【0066】
いくつかの実施形態では、ローカルデータ処理モジュール70は、データおよび/または画像情報を分析および処理するように構成される、1つ以上のプロセッサ(例えば、グラフィック処理ユニット(GPU))を含んでもよい。いくつかの実施形態では、ローカルデータ処理モジュール70は、単一プロセッサ(例えば、シングルコアまたはマルチコアARMプロセッサ)を含んでもよく、これは、モジュール70の算出予算を限定するが、より小型のデバイスを可能にするであろう。いくつかの実施形態では、世界再構築コンポーネント316は、単一ARMコアの残りの算出予算が、例えば、メッシュを抽出する等の他の使用のためにアクセスされ得るように、単一ARMコア未満の算出予算を使用して、物理的世界表現をリアルタイムで非所定の空間上に生成し得る。
【0067】
いくつかの実施形態では、遠隔データリポジトリ74は、デジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカルデータ処理モジュール70内において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。世界再構築は、例えば、本リポジトリ74内に全体または部分的に記憶されてもよい。
【0068】
いくつかの実施形態では、ローカルデータ処理モジュール70は、バッテリ82に動作可能に結合される。いくつかの実施形態では、バッテリ82は、市販のバッテリ等、リムーバブル電源である。他の実施形態では、バッテリ82は、リチウムイオンバッテリである。いくつかの実施形態では、バッテリ82は、電源に繋ぎ、リチウムイオンバッテリを充電する必要なく、またはシステム80をシャットオフし、バッテリを交換する必要なく、ユーザ60がより長い時間周期にわたってシステム80を動作させ得るように、システム80の非動作時間の間にユーザ60によって充電可能な内部リチウムイオンバッテリと、リムーバブルバッテリとの両方を含む。
【0069】
図5Aは、ユーザ30が物理的世界環境32(以降、「環境32と称される」)を通して移動するにつれてARコンテンツをレンダリングする、ARディスプレイシステムを装着している、ユーザ30を図示する。ユーザ30は、ARディスプレイシステムを位置34に位置付け、ARディスプレイシステムは、マッピングされた特徴に対する姿勢関係または指向性オーディオ入力等の位置34に対するパス可能世界(例えば、物理的世界内の実オブジェクトへの変化に伴って記憶および更新され得る、物理的世界内の実オブジェクトのデジタル表現)の周囲情報を記録する。位置34は、データ入力36に集約され、少なくとも、例えば、図4の遠隔処理モジュール72上での処理によって実装され得る、パス可能世界モジュール38によって処理される。いくつかの実施形態では、パス可能世界モジュール38は、世界再構築コンポーネント316を含んでもよい。
【0070】
パス可能世界モジュール38は、ARコンテンツ40がデータ入力36から決定されるような物理的世界内に配置され得る場所および方法を決定する。ARコンテンツは、ユーザインターフェースを介して、物理的世界およびARコンテンツの表現の両方を提示することによって、物理的世界内に「設置」され、ARコンテンツは、物理的世界内のオブジェクトと相互作用しているかのようにレンダリングされ、物理的世界内のオブジェクトは、ARコンテンツが、適切であるとき、それらのオブジェクトのユーザのビューを曖昧にしているかのように提示される。いくつかの実施形態では、ARコンテンツは、固定要素42(例えば、テーブル)の一部を再構築(例えば、再構築318)から適切に選択し、ARコンテンツ40の形状および位置を決定することによって、設置されてもよい。実施例として、固定要素は、テーブルであってもよく、仮想コンテンツは、そのテーブル上にあるように現れるように位置付けられてもよい。いくつかの実施形態では、ARコンテンツは、視野44内の構造の中に設置されてもよく、これは、現在の視野または推定される将来的視野であってもよい。いくつかの実施形態では、ARコンテンツは、物理的世界のマッピングされたメッシュモデル46に対して設置されてもよい。
【0071】
描写されるように、固定要素42は、物理的世界内の任意の固定要素のための代用品としての役割を果たし、これは、ユーザ30が、システムがユーザ30にそれが見える度に固定要素42にマッピングする必要なく、固定要素42上のコンテンツを知覚し得るように、パス可能世界モジュール38内に記憶されてもよい。固定要素42は、したがって、前のモデル化セッションからのマッピングされたメッシュモデルである、または別個のユーザから決定されるが、但し、複数のユーザによる将来的参照のために、パス可能世界モジュール38上に記憶されてもよい。したがって、パス可能世界モジュール38は、ユーザ30のデバイスが、最初に、環境32をマッピングすることなく、以前にマッピングされた環境およびディスプレイARコンテンツから環境32を認識し、算出プロセスおよびサイクルを節約し、任意のレンダリングされたARコンテンツの待ち時間を回避し得る。
【0072】
物理的世界のマッピングされたメッシュモデル46は、ARディスプレイシステムによって作成されてもよく、ARコンテンツ40と相互作用し、それを表示するための適切な表面およびメトリックは、再マッピングまたはモデル化する必要なく、ユーザ30または他のユーザによる将来的読出のために、パス可能世界モジュール38内にマッピングおよび記憶されることができる。いくつかの実施形態では、データ入力36は、地理的場所、ユーザ識別、および現在のアクティビティ等の入力であって、パス可能世界モジュール38に、利用可能な1つ以上の固定要素の固定要素42、固定要素42上に最後に設置されたARコンテンツ40、およびその同一コンテンツを表示すべきかどうか(そのようなARコンテンツは、ユーザが特定のパス可能世界モデルを視認しているかどうかにかかわらず、「持続的」コンテンツである)を示す。
【0073】
オブジェクトが固定されていると見なされる、実施形態でも、パス可能世界モジュール38は、物理的世界の変化可能性を考慮するために、随時、更新されてもよい。固定されたオブジェクトのモデルは、非常に低頻度で更新されてもよい。物理的世界内の他のオブジェクトは、移動している、または別様に、固定されていると見なされなくてもよい。AR場面を現実的感覚を伴ってレンダリングするために、ARシステムは、これらの非固定オブジェクトの位置を固定されたオブジェクトを更新するために使用される頻度よりはるかに高い頻度で更新してもよい。物理的世界内のオブジェクトの全ての正確な追跡を有効にするために、ARシステムは、1つ以上の画像センサを含む、複数のセンサから情報を引き出してもよい。
【0074】
図5Bは、視認光学系アセンブリ48および付帯コンポーネントの概略図である。いくつかの実施形態では、ユーザの眼49に向かって指向される、2つの眼追跡カメラ50は、眼形状、眼瞼オクルージョン、瞳孔方向、およびユーザ眼49上の閃光等のユーザ眼49のメトリックを検出する。いくつかの実施形態では、センサのうちの1つは、飛行時間センサ等の深度センサ51であって、信号を世界に放出し、近隣のオブジェクトからのそれらの信号の反射を検出し、所与のオブジェクトまでの距離を決定してもよい。深度センサは、例えば、オブジェクトが、それらのオブジェクトの運動またはユーザの姿勢の変化のいずれかの結果として、ユーザの視野に進入しているかどうかを迅速に決定してもよい。しかしながら、ユーザの視野内のオブジェクトの位置についての情報は、代替として、または加えて、他のセンサを用いて収集されてもよい。深度情報は、例えば、立体視的画像センサまたはプレノプティックセンサから取得されてもよい。
【0075】
いくつかの実施形態では、世界カメラ52が、周辺視野を上回るビューを記録し、環境32をマッピングし、ARコンテンツに影響を及ぼし得る入力を検出する。いくつかの実施形態では、世界カメラ52および/またはカメラ53は、グレースケールおよび/またはカラー画像センサであってもよく、これは、固定された時間インターバルにおいて、グレースケールおよび/またはカラー画像フレームを出力してもよい。カメラ53はさらに、具体的時間において、ユーザの視野内の物理的世界画像を捕捉してもよい。フレームベースの画像センサのピクセルは、その値が不変である場合でも、反復的にサンプリングされてもよい。世界カメラ52、カメラ53、および深度センサ51はそれぞれ、54、55、および56の個別の視野を有し、図5Aに描写される物理的世界環境32等の物理的世界場面からデータを収集し、記録する。
【0076】
慣性測定ユニット57は、視認光学系アセンブリ48の移動および配向を決定してもよい。いくつかの実施形態では、各コンポーネントは、少なくとも1つの他のコンポーネントに動作可能に結合される。例えば、深度センサ51は、ユーザの眼49が見ている実際の距離に対して測定された遠近調節の確認として、眼追跡カメラ50に動作可能に結合される。
【0077】
視認光学系アセンブリ48は、図5Bに図示されるコンポーネントのうちのいくつかを含んでもよく、図示されるコンポーネントの代わりに、またはそれに加え、コンポーネントを含んでもよいことを理解されたい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、4つの代わりに、2つの世界カメラ52を含んでもよい。代替として、または加えて、カメラ52および53は、その完全視野の可視光画像を捕捉する必要はない。視認光学系アセンブリ48は、他のタイプのコンポーネントを含んでもよい。いくつかの実施形態では、視認光学系アセンブリ48は、1つ以上の動的視覚センサ(DVS)を含んでもよく、そのピクセルは、閾値を超える光強度の相対的変化に非同期して応答してもよい。
【0078】
いくつかの実施形態では、視認光学系アセンブリ48は、飛行時間情報に基づく深度センサ51を含まなくてもよい。いくつかの実施形態では、例えば、視認光学系アセンブリ48は、1つ以上のプレノプティックカメラを含んでもよく、そのピクセルは、入射光の光強度および角度を捕捉してもよく、そこから深度情報が、決定されることができる。例えば、プレノプティックカメラは、透過性回折マスク(TDM)でオーバーレイされた画像センサを含んでもよい。代替として、または加えて、プレノプティックカメラは、角度感知ピクセルおよび/または位相検出自動焦点ピクセル(PDAF)および/またはマイクロレンズアレイ(MLA)を含有する、画像センサを含んでもよい。そのようなセンサは、深度センサ51の代わりに、またはそれに加え、深度情報のソースとしての役割を果たし得る。
【0079】
また、図5Bにおけるコンポーネントの構成は、実施例として図示されることを理解されたい。視認光学系アセンブリ48は、任意の好適な構成を伴う、コンポーネントを含んでもよく、これは、ユーザに特定のセットのコンポーネントのために実践的な最大視野を提供するように設定されてもよい。例えば、視認光学系アセンブリ48が、1つの世界カメラ52を有する場合、世界カメラは、側面の代わりに、視認光学系アセンブリの中心領域内に設置されてもよい。
【0080】
視認光学系アセンブリ48内のセンサからの情報は、システム内のプロセッサのうちの1つ以上のものに結合されてもよい。プロセッサは、ユーザに物理的世界内のオブジェクトと相互作用する仮想コンテンツを知覚させるようにレンダリングされ得る、データを生成してもよい。そのレンダリングは、物理的および仮想の両方のオブジェクトを描写する画像データを生成することを含む、任意の好適な方法で実装されてもよい。他の実施形態では、物理的および仮想コンテンツは、ユーザが物理的世界を通して見る、ディスプレイデバイスの不透明度を変調させることによって、1つの場面に描写されてもよい。不透明度は、仮想オブジェクトの外観を作成し、また、ユーザに仮想オブジェクトによってオクルードされる物理的世界内のオブジェクトが見えないように遮断するように、制御されてもよい。いくつかの実施形態では、画像データは、ユーザインターフェースを通して視認されるとき、仮想コンテンツが物理的世界と現実的に相互作用しているようにユーザによって知覚されるように修正され得る(例えば、オクルージョンを考慮するためにコンテンツをクリッピングする)、仮想コンテンツのみを含んでもよい。コンテンツがユーザに提示される方法にかかわらず、物理的世界のモデルは、仮想オブジェクトの形状、位置、運動、および可視性を含む、物理的オブジェクトによって影響され得る仮想オブジェクトの特性が、正しく算出され得るように要求される。いくつかの実施形態では、モデルは、物理的世界の再構築、例えば、再構築318を含んでもよい。
【0081】
そのモデルは、ユーザのウェアラブルデバイス上のセンサから収集されたデータから作成されてもよい。但し、いくつかの実施形態では、モデルは、複数のユーザによって収集されたデータから作成されてもよく、これは、全てのユーザから遠隔のコンピューティングデバイス内に集約されてもよい(かつ「クラウド内」にあってもよい)。
【0082】
モデルは、少なくとも部分的に、世界再構築システム、例えば、図6にさらに詳細に描写される図3の世界再構築コンポーネント316によって作成されてもよい。世界再構築コンポーネント316は、物理的世界の一部のための表現を生成、更新、および記憶し得る、知覚モジュール160を含んでもよい。いくつかの実施形態では、知覚モジュール160は、センサの再構築範囲内の物理的世界の一部を複数のボクセルとして表してもよい。各ボクセルは、物理的世界内の所定のボリュームの3D立方体に対応し、ボクセルによって表されるボリューム内に表面が存在するかどうかを示す、表面情報を含んでもよい。ボクセルは、その対応するボリュームが、物理的オブジェクトの表面を含むと決定された、空であると決定された、またはセンサを用いてまだ測定されておらず、したがって、その値が未知であるかどうかを示す、値を割り当てられてもよい。値は、空または未知であると決定されたボクセルが、明示的に記憶される必要がないことを示し、ボクセルの値は、空または未知であると決定されたボクセルに関する情報を記憶しないことを含む、任意の好適な方法でコンピュータメモリ内に記憶され得ることを理解されたい。
【0083】
存続される世界表現のための情報を生成することに加え、知覚モジュール160は、ARシステムのユーザの周囲の領域の変化のインジケーションを識別および出力してもよい。そのような変化のインジケーションは、存続される世界の一部として記憶される立体データへの更新をトリガする、またはARコンテンツを生成し、ARコンテンツを更新する、コンポーネント304をトリガする等の他の機能をトリガしてもよい。
【0084】
いくつかの実施形態では、知覚モジュール160は、符号付き距離関数(SDF)モデルに基づいて、変化を識別してもよい。知覚モジュール160は、例えば、深度マップ160aおよび頭部姿勢160b等のセンサデータを受信し、次いで、センサデータをSDFモデル160cの中に融合させるように構成されてもよい。深度マップ160aは、直接、SDF情報を提供してもよく、画像は、SDF情報になるように処理されてもよい。SDF情報は、その情報を捕捉するために使用されるセンサからの距離を表す。それらのセンサは、ウェアラブルユニットの一部であってもよいため、SDF情報は、ウェアラブルユニットの目線、したがって、ユーザの目線から物理的世界を表し得る。頭部姿勢160bは、SDF情報が物理的世界内のボクセルに関連することを可能にし得る。
【0085】
いくつかの実施形態では、知覚モジュール160は、知覚範囲内の物理的世界の一部のための表現を生成、更新、および記憶してもよい。知覚範囲は、少なくとも部分的に、センサの再構築範囲に基づいて決定され得、これは、少なくとも部分的に、センサの観察範囲の限界に基づいて決定され得る。具体的実施例として、アクティブIRパルスを使用して動作する、アクティブ深度センサは、ある距離の範囲にわたって確実に動作し、センサの観察範囲を作成し得、これは、数センチメートルまたは数十センチメートル~数メートルであってもよい。
【0086】
世界再構築コンポーネント316は、知覚モジュール160と相互作用し得る、付加的モジュールを含んでもよい。いくつかの実施形態では、存続される世界モジュール162は、知覚モジュール160によって入手されたデータに基づいて、物理的世界のための表現を受信してもよい。存続される世界モジュール162はまた、物理的世界の表現の種々のフォーマットを含んでもよい。例えば、ボクセル等の立体メタデータ162bが、メッシュ162cおよび平面162dとともに記憶されてもよい。いくつかの実施形態では、深度マップ等の他の情報も、保存され得る。
【0087】
いくつかの実施形態では、知覚モジュール160は、例えば、メッシュ160d、平面、および意味論160eを含む、種々のフォーマットにおいて、物理的世界のための表現を生成する、モジュールを含んでもよい。これらのモジュールは、表現が生成された時間における1つ以上のセンサの知覚範囲内のデータおよび以前の時間において捕捉されたデータおよび存続される世界162内の情報に基づいて、表現を生成してもよい。いくつかの実施形態では、これらのコンポーネントは、深度センサを用いて捕捉された深度情報に作用してもよい。しかしながら、ARシステムは、視覚センサを含んでもよく、単眼または双眼視覚情報を分析することによって、そのような表現を生成してもよい。
【0088】
いくつかの実施形態では、これらのモジュールは、物理的世界の領域に作用してもよい。それらのモジュールは、物理的世界のサブ領域を、知覚モジュール160がそのサブ領域内の物理的世界の変化を検出すると、更新するようにトリガされてもよい。そのような変化は、例えば、SDFモデル160c内の新しい表面を検出すること、またはサブ領域を表す十分な数のボクセルの値を変化させる等の他の基準によって検出されてもよい。
【0089】
世界再構築コンポーネント316は、物理的世界の表現を知覚モジュール160から受信し得る、コンポーネント164を含んでもよい。物理的世界についての情報は、例えば、アプリケーションからの使用要求に従って、これらのコンポーネントによってプル配信されてもよい。いくつかの実施形態では、情報は、事前に識別された領域の変化または知覚範囲内の物理的世界表現の変化のインジケーション等を介して、使用コンポーネントにプッシュ配信されてもよい。コンポーネント164は、例えば、ゲームプログラム、および視覚的オクルージョン、物理学ベースの相互作用、および環境推測のための処理を実施する、他のコンポーネントを含んでもよい。
【0090】
コンポーネント164からのクエリに応答して、知覚モジュール160は、物理的世界のための表現を1つ以上のフォーマットにおいて送信してもよい。例えば、コンポーネント164が、使用が視覚的オクルージョンまたは物理学ベースの相互作用のためであることを示すとき、知覚モジュール160は、表面の表現を送信してもよい。コンポーネント164が、使用が環境推測のためであることを示すとき、知覚モジュール160は、物理的世界のメッシュ、平面、および意味論を送信してもよい。
【0091】
いくつかの実施形態では、知覚モジュール160は、情報をフォーマットし、コンポーネント164に提供する、コンポーネントを含んでもよい。そのようなコンポーネントの実施例は、レイキャスティングコンポーネント160fであってもよい。使用コンポーネント(例えば、コンポーネント164)は、例えば、特定の視点からの物理的世界についての情報をクエリしてもよい。レイキャスティングコンポーネント160fは、その視点からの視野内の物理的世界データの1つ以上の表現から選択してもよい。
【0092】
物理的世界についての情報もまた、オクルージョン処理のために使用されてもよい。その情報は、世界再構築コンポーネント316の一部であり得る、視覚的オクルージョンコンポーネント164aによって使用されてもよい。視覚的オクルージョンコンポーネント164aは、例えば、アプリケーションに、物理的オブジェクトによってオクルードされる、視覚的オブジェクトの部分を示す、情報を供給してもよい。代替として、または加えて、視覚的オクルージョンコンポーネント164aは、物理的オブジェクトについての情報をアプリケーションに提供してもよく、これは、その情報をオクルージョン処理のために使用してもよい。上記に述べられたように、手の位置についての正確な情報は、オクルージョン処理のために重要である。ある実施例では、本明細書に説明されるように、視覚的オクルージョンコンポーネント164aは、アプリケーションによる要求に応答して、手のモデルを維持し、要求されると、そのモデルをアプリケーションに提供してもよい。図7は、そのような処理の実施例を図示し、これは、図6に図示されるコンポーネントのうちの1つ以上のものを横断して、または、いくつかの実施形態では、異なるまたは付加的コンポーネントによって、実施されてもよい。
【0093】
図7は、いくつかの実施形態による、動的オクルージョン処理のために、手のメッシュをリアルタイムで生成するように構成される、ARシステム700を描写する。ARシステム700は、ARデバイス上に実装されてもよい。ARシステム700は、ARデバイス上のセンサを使用して、ARデバイス(例えば、ディスプレイデバイス62)を装着している)ユーザの姿勢(例えば、頭部姿勢、手の姿勢、および同等物)および場面の情報を捕捉するように構成される、データ収集部分702を含んでもよい。場面の情報は、ARデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報を含んでもよい。
【0094】
データ収集部分702は、手追跡コンポーネントを含む。手追跡コンポーネントは、深度および画像情報等のセンサデータを処理し、場面内の片手または両手を検出してもよい。他のセンサデータも、場面内の片手または両手を検出するために処理されてもよい。検出されると、片手または両手は、特徴点のセット等によって、疎略な方法で表され得る。特徴点は、例えば、関節、指先、または手のセグメントの他の境界を表し得る。データ収集部分702によって収集または生成された情報は、疎略表現に基づいて、片手または両手のより豊かなモデル、例えば、メッシュを生成するために使用されるために、手のメッシュ化部分704に通過されてもよい。
【0095】
手のメッシュ化部分704は、姿勢が変化し、および/または手が移動するにつれて、検出された片手または両手の手のメッシュを算出し、手のメッシュをリアルタイムで更新するように構成される。
【0096】
ARシステム700は、手のメッシュを手のメッシュ化部分704から受信し、1つ以上の仮想オブジェクトを場面内にレンダリングするように構成される、アプリケーション706を含んでもよい。いくつかの実施形態では、アプリケーション706は、オクルージョンデータを手のメッシュ化部分704から受信してもよい。いくつかの実施形態では、オクルージョンデータは、片手または両手によってオクルードされる、仮想オブジェクトの部分を示してもよい。いくつかの実施形態では、例えば、図示される実施形態では、オクルージョンデータは、片手または両手のモデルであってもよく、そこからアプリケーション706は、オクルージョンデータを算出してもよい。具体的実施例として、オクルージョンデータは、手のメッシュ化部分704から受信された片手または両手の手のメッシュであってもよい。
【0097】
図8は、いくつかの実施形態による、動的オクルージョンのために、手のメッシュをリアルタイムで生成する方法800を図示する、フローチャートである。いくつかの実施形態では、方法800は、ARシステム700内の1つ以上のプロセッサによって実施されてもよい。方法800は、ARシステム700の手のメッシュ化コンポーネント704が、ARシステム700のアプリケーション706から、場面内の片手または両手に関連するデータに関するクエリを受信する(行為802)と、開始してもよい。方法800は、ARシステム700のデータ収集部分702によって捕捉された場面の情報に基づいて、場面内の片手または両手を検出するステップ(行為804)を含んでもよい。
【0098】
片手または両手が、検出されると、方法800は、場面の情報に基づいて、片手または両手の1つ以上のモデルを算出するステップ(行為806)を含んでもよい。片手または両手の1つ以上のモデルは、疎略であって、表面ではなく、手上の特徴点の位置を示してもよい。それらの特徴点は、関節または手のセグメントの末端部分を表し得る。特徴点は、例えば、片手または両手のステレオ画像を含む、片手または両手についてのセンサデータから認識されてもよい。深度情報、および、いくつかのインスタンスでは、片手または両手の単眼画像が、代替として、または加えて、特徴点を識別するために使用されてもよい。
【0099】
「Hand Pose Estimation」と題された、米国仮特許出願第62/850,542号は、手の位置および姿勢についての情報を取得し、取得された情報に基づいて、手をモデル化する例示的方法および装置を説明する。米国出願第62/850,542号の出願バージョンのコピーは、付属として添付され、あらゆる目的のために、参照することによってその全体として本明細書に組み込まれる。その出願に説明されるような技法が、手の疎略モデルを構築するために使用されてもよい。
【0100】
いくつかの実施形態では、片手または両手の1つ以上のモデルが、ARデバイスのセンサによって捕捉された場面の情報に基づいて、算出されてもよい。場面の情報の実施例は、片眼に対応する、1つのセンサによって捕捉された図9Aの例示的画像、左および右眼に対応する、2つのセンサによって捕捉された図9Bの2つの例示的画像、および、少なくとも部分的に図9Aの画像または図9Bの画像から取得され得る、図9Cの例示的深度画像を含む。
【0101】
いくつかの実施形態では、片手または両手の1つ以上のモデルは、手の複数の特徴点を含んでもよく、これは、手のセグメント上の点を示し得る。特徴点のうちのいくつかは、手の関節および手の指先に対応し得る。図9Eおよび図9Fは、それぞれ、手の例示的な8つの特徴点モデルおよび手の例示的な22の特徴点モデルを図示する、概略図を描写する。
【0102】
いくつかの実施形態では、手のモデルの特徴点は、手の輪郭を決定するために使用されてもよい。図9Dは、手の例示的輪郭を描写し、これは、手のモデルの特徴点に基づいて決定されてもよい。例えば、隣接する特徴点は、図9Eおよび9Fにおいて図式的に図示される、線によって接続されてもよく、手の輪郭は、線からの距離として示されてもよい。線からの距離は、手の画像、ヒトの解剖学的構造についての情報、および/または他の情報から決定されてもよい。いったん手の特徴点が、識別されると、手のモデルは、後の時間において、手について以前に入手された情報を使用して、更新されてもよいことを理解されたい。例えば、特徴点を接続する線の長さは、変化し得ない。
【0103】
疎略手モデルは、限定された量のデータを選択するために使用されてもよく、そこから表面情報を含む、手のより豊かなモデルが、例えば、構築されてもよい。いくつかの実施形態では、選択は、手の輪郭を使用して、深度データ等の付加的データをマスクすることによって行われてもよい。故に、方法800は、片手または両手の1つ以上のモデルを用いて、ARデバイスと場面内の物理的オブジェクトとの間の距離を示す、深度情報をマスクするステップ(行為808)を含んでもよい。
【0104】
図10は、いくつかの実施形態による、片手または両手の1つ以上のモデルを用いて、深度情報をマスクするステップ(行為808)の詳細を図示する、フローチャートを描写する。行為808は、片手または両手の1つ以上のモデルの輪郭外の深度情報をフィルタリング除去するステップ(行為1002)を含んでもよい。本行為は、場面内の手以外の物理的オブジェクトと関連付けられる深度情報を除去する結果をもたらす。行為808は、フィルタリングされた深度情報に基づいて、片手または両手の深度画像を生成するステップ(行為1004)を含んでもよい。
【0105】
深度画像は、それぞれ、片手または両手の点までの距離を示し得る、ピクセルを含んでもよい。いくつかの実施形態では、深度情報は、深度情報が片手または両手の全ての表面に関して捕捉されないように捕捉されてもよい。例えば、深度情報は、アクティブIRセンサを用いて、捕捉されてもよい。ユーザが、暗色の石を伴う、指輪を装着している場合、例えば、IRは、収集された不十分な情報内に穴が存在するであろうように、暗色の指輪から反射し得ない。行為808は、深度画像内の穴を充填するステップ(行為1006)を含んでもよい。いくつかの実施形態では、穴は、充深度画像内の穴を識別し、ARデバイスのステレオカメラから、識別された領域に対応するステレオ深度情報を生成することによって、填されてもよい。いくつかの実施形態では、穴は、深度画像内の穴を識別し、片手または両手の1つ以上の3Dモデルから、識別された領域に対応する表面情報にアクセスすることによって、充填されてもよい。
【0106】
随意に、片手または両手のメッシュは、複数のサブメッシュとして算出されてもよく、各サブメッシュは、片手または両手のセグメントを表す。セグメントは、特徴点によって境界されるセグメントに対応し得る。それらのセグメントの多くは、関節によって境界されるため、セグメントは、その最後の手のメッシュ算出以降に移動したセグメントと関連付けられるサブメッシュを更新することによって、手のメッシュが迅速に更新され得るように、少なくとも手のある他のセグメントから独立して移動し得る、手の部分に対応する。そのような実施形態では、行為808は、片手または両手の1つ以上のモデルの特徴点に対応する、深度画像内の特徴点を識別するステップ(行為1008)を含んでもよい。特徴点によって分離される、手のセグメントが、算出されてもよい。行為808は、深度画像の部分と深度画像内の識別された特徴点によって分離される手のセグメントを関連付けるステップ(行為1010)を含んでもよい。
【0107】
方法800は、片手または両手の1つ以上のモデルに対してマスクされた深度情報に基づいて、片手または両手のメッシュを算出するステップ(行為810)を含んでもよい。片手または両手のメッシュは、片手または両手の表面を示す、片手または両手の表現であってもよい。図9Gは、いくつかの実施形態による、算出された稠密な手のメッシュを描写する。しかしながら、本願は、稠密な手のメッシュを算出するステップに限定されない。いくつかの実施形態では、疎略な手のメッシュが、動的オクルージョンのために十分であり得る。
【0108】
いくつかの実施形態では、片手または両手のメッシュは、深度情報から算出されてもよい。例えば、メッシュは、多くの場合、表面の一部を表す、三角形として表される、領域の集合であってもよい。そのような領域は、それに関して距離における差異が、閾値未満であって、ピクセルが同一表面上にある可能性が高いことを示す、深度画像内の隣接するピクセルをグループ化することによって識別されてもよい。ピクセルのそのような領域を境界する、1つ以上の三角形が、識別され、メッシュに追加されてもよい。しかしながら、メッシュを深度情報から形成するための他の技法が、使用されてもよい。
【0109】
片手または両手のメッシュを算出するステップは、ARデバイスと片手または両手との間の相対的場所が変化するにつれて、片手または両手のメッシュをリアルタイムで更新するステップを含んでもよい。片手または両手のメッシュを算出するために使用される場面の情報が捕捉される時間と、1つ以上の算出された手のメッシュが、例えば、アプリケーションによって、例えば、コンテンツをレンダリングするために使用される時間との間には、待ち時間が存在し得る。いくつかの実施形態では、片手または両手のセグメントの運動が、片手または両手のそれらのセグメントの将来的位置が投影された/予測され得るように、追跡されてもよい。片手または両手のメッシュは、片手または両手のメッシュを使用して処理された仮想オブジェクトがレンダリングされるであろう時間においてセグメントの投影される場所に共形化するように歪曲されてもよい。
【0110】
図11は、いくつかの実施形態による、手のセグメント化に対してマスクされた深度情報に基づいて片手または両手のメッシュをリアルタイムで算出するステップ(行為810)の詳細を図示する、フローチャートを描写する。行為810は、手のメッシュ化部分704が片手または両手に関連するデータに関するクエリをアプリケーション706から受信する、時間tを決定するステップ(行為1102)を含んでもよい。
【0111】
行為810は、時間tにおいてアプリケーション706から受信されたクエリからの待ち時間nを予測するステップ(行為1104)を含んでもよい。行為810は、クエリ時間t+待ち時間nの時間における姿勢(例えば、手の姿勢)を予測するステップ(行為1106)を含んでもよい。行為810は、クエリ時間t+待ち時間nの時間において予測される姿勢を用いて、片手または両手のメッシュを歪曲させるステップ(行為1108)を含んでもよい。いくつかの実施形態では、手の姿勢を予測するステップは、クエリ時間t+待ち時間nの時間における深度画像内の片手または両手の特徴点の移動を予測するステップを含んでもよい。そのような予測は、特徴点の位置を経時的に追跡するステップに基づいて行われてもよい。そのような追跡は、速度または加速等の運動のパラメータが決定されることを可能にする。位置の投影は、決定された運動のパラメータが同一のままであると仮定して、以前の位置から将来的位置への外挿に基づいて行われてもよい。代替として、または加えて、投影は、カルマンフィルタまたは類似投影技法を使用して決定されてもよい。
【0112】
いくつかの実施形態では、予測される姿勢を用いて、片手または両手のメッシュを歪曲させるステップは、クエリ時間t+待ち時間n時間において変化することが予測される特徴点間にある、手のセグメントのサブセットに対応する、片手または両手のメッシュの部分を歪曲させるステップを含んでもよい。
【0113】
以前に算出されたメッシュを歪曲させ、時間t+待ち時間nにおける片手または両手を表す際、複数の要因が、考慮され得る。nの値は、例えば、1つ以上のメッシュを歪曲させる処理のために、およびアプリケーションがオブジェクトをレンダリングする際に1つ以上のメッシュを使用するために要求される時間を反映させ得る。その値は、ソフトウェアの動作時、構造または試験から推定または測定されてもよい。別の実施例として、値は、使用時の待ち時間を測定する、または1つ以上のメッシュのための要求が行われる時間における処理負荷に基づいて、以前に確立された待ち時間を調節するステップに基づいて、動的に決定されてもよい。
【0114】
1つ以上のメッシュを歪曲させる際、歪曲の量は、片手または両手のメッシュを形成するために使用されるデータが捕捉された時間および1つ以上のメッシュが使用されるであろうまでの待ち時間に基づいてもよい。いくつかの実施形態では、片手または両手のメッシュは、アプリケーションからの要求に応答して以外で作成されてもよい。例えば、いったんアプリケーションが、APIを通してコールを行うこと等によって、それがオクルージョン処理のために構成されていることを示すと、ARシステムは、1つ以上の更新された手のメッシュを周期的に算出してもよい。代替として、手追跡プロセスは、システムのある量の算出リソースを使用して、持続的に起動してもよい。いずれの場合も、片手または両手のメッシュは、少なくとも30回/秒等、比較的に頻繁に更新されてもよい。なお、データがメッシュを作製するために捕捉されたときと、メッシュのための要求が受信されたときとの間には、遅延が存在し得、本遅延もまた、手のメッシュを歪曲させる際に考慮され得る。
【0115】
方法800は、アプリケーションが片手または両手のメッシュによってオクルードされない仮想オブジェクトの部分をレンダリングするように、片手または両手のメッシュをアプリケーション706に供給するステップ(行為812)を含んでもよい。
【0116】
いくつかの実施形態のいくつかの側面がこれまで説明されたが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。
【0117】
一実施例として、実施形態は、拡張(AR)環境に関連して説明される。本明細書に説明される技法の一部または全部は、MR環境、またはより一般的には、他のXR環境およびVR環境内に適用されてもよいことを理解されたい。
【0118】
別の実施例として、実施形態は、ウェアラブルデバイス等のデバイスに関連して説明される。本明細書に説明される技法の一部または全部は、ネットワーク(クラウド等)、離散アプリケーション、および/またはデバイス、ネットワーク、および離散アプリケーションの任意の好適な組み合わせを介して実装されてもよいことを理解されたい。
【0119】
そのような改変、修正、および改良は、本開示の一部であるように意図され、本開示の精神および範囲内であるように意図される。さらに、本開示の利点が示されるが、本開示の全ての実施形態が、全ての説明される利点を含むわけではないことを理解されたい。いくつかの実施形態は、本明細書およびいくつかのインスタンスで有利として説明される任意の特徴を実装しなくてもよい。故に、前述の説明および図面は、一例にすぎない。
【0120】
本開示の前述の実施形態は、多数の方法のいずれかにおいて実装されることができる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装されてもよい。ソフトウェア内に実装されるとき、ソフトウェアコードが、単一コンピュータ内に提供される、または複数のコンピュータ間に分散されるかどうかにかかわらず、任意の好適なプロセッサまたはプロセッサの集合上で実行されることができる。そのようなプロセッサは、いくつか挙げると、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ、またはコプロセッサ等、当技術分野において公知の市販の集積回路コンポーネントを含む、集積回路コンポーネント内の1つ以上のプロセッサとともに、集積回路として実装されてもよい。いくつかの実施形態では、プロセッサは、ASIC等のカスタム回路内に、またはプログラマブル論理デバイスを構成することから生じる半カスタム回路内に実装されてもよい。さらなる代替として、プロセッサは、市販、半カスタム、またはカスタムかどうかにかかわらず、より大きい回路または半導体デバイスの一部であってもよい。具体的実施例として、いくつかの市販のマイクロプロセッサは、1つまたはそれらのコアのサブセットがプロセッサを構成し得るように、複数のコアを有する。但し、プロセッサは、任意の好適なフォーマットにおける回路を使用して実装されてもよい。
【0121】
さらに、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの形態のうちのいずれかで具現化され得ることを理解されたい。加えて、コンピュータは、携帯情報端末(PDA)、スマートフォン、または任意の好適な携帯用または固定電子デバイスを含む、概してコンピュータと見なされないが好適な処理能力を伴う、デバイスで具現化されてもよい。
【0122】
また、コンピュータは、1つ以上の入力および出力デバイスを有してもよい。これらのデバイスは、とりわけ、ユーザインターフェースを提示するために使用されることができる。ユーザインターフェースを提供するために使用され得る、出力デバイスの実施例は、出力の視覚的提示のためのプリンタまたはディスプレイ画面、または出力の可聴提示のためのスピーカまたは他の音生成デバイスを含む。ユーザインターフェースのために使用され得る、入力デバイスの実施例は、キーボード、およびマウス、タッチパッド、およびデジタル化タブレット等のポインティングデバイスを含む。別の実施例として、コンピュータは、発話認識を通して、または他の可聴フォーマットにおいて、入力情報を受信してもよい。図示される実施形態では、入力/出力デバイスは、コンピューティングデバイスと物理的に別個として図示される。しかしながら、いくつかの実施形態では、入力および/または出力デバイスは、プロセッサと同一ユニットまたはコンピューティングデバイスの他の要素の中に物理的に統合されてもよい。例えば、キーボードは、タッチスクリーン上のソフトキーボードとして実装され得る。いくつかの実施形態では、入力/出力デバイスは、コンピューティングデバイスから完全に接続解除され、無線接続を通して機能的に統合されてもよい。
【0123】
そのようなコンピュータは、企業ネットワークまたはインターネット等、ローカルエリアネットワークまたは広域ネットワークとしての形態を含む、任意の好適な形態の1つ以上のネットワークによって相互接続されてもよい。そのようなネットワークは、任意の好適な技術に基づいてもよく、任意の好適なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
【0124】
また、本明細書で概説される種々の方法およびプロセスは、種々のオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する、1つ以上のプロセッサ上で実行可能である、ソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングまたはスクリプト作成ツールのうちのいずれかを使用して、書き込まれてもよく、また、フレームワークまたは仮想マシン上で実行される実行可能機械言語コードまたは中間コードとしてコンパイルされてもよい。
【0125】
本側面では、本開示は、1つ以上のコンピュータまたは他のプロセッサ上で実行されるときに、上記で議論される本開示の種々の実施形態を実装する方法を行う、1つ以上のプログラムで符号化される、コンピュータ可読記憶媒体(または複数のコンピュータ可読媒体)(例えば、コンピュータメモリ、1つ以上のフロッピー(登録商標)ディスク、コンパクトディスク(CD)、光学ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイまたは他の半導体デバイス内の回路構成、または他の有形コンピュータ記憶媒体)として具現化されてもよい。前述の実施例から明白なように、コンピュータ可読記憶媒体は、非一過性形態においてコンピュータ実行可能命令を提供するために十分な時間の間、情報を留保し得る。そのようなコンピュータ可読記憶媒体または複数の媒体は、上記に記載されるように、その上に記憶される1つまたは複数のプログラムが、本開示の種々の側面を実装するように1つ以上の異なるコンピュータまたは他のプロセッサ上にロードされ得るように、トランスポータブルであることができる。本明細書で使用されるように、用語「コンピュータ可読記憶媒体」は、製造(すなわち、製造品)または機械と見なされ得るコンピュータ可読媒体のみを包含する。いくつかの実施形態では、本開示は、伝搬信号等のコンピュータ可読記憶媒体以外のコンピュータ可読媒体として具現化されてもよい。
【0126】
用語「プログラム」または「ソフトウェア」は、上記に記載されるように、本開示の種々の側面を実装するようにコンピュータまたは他のプロセッサをプログラムするために採用され得る、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指すために、一般的意味において本明細書で使用される。加えて、本実施形態の一側面によると、実行されると、本開示の方法を行う、1つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に常駐する必要はないが、本開示の種々の側面を実装するように、いくつかの異なるコンピュータまたはプロセッサの間でモジュール様式において分散され得ることを理解されたい。
【0127】
コンピュータ実行可能命令は、1つ以上のコンピュータまたは他のデバイスによって実行される、プログラムモジュール等の多くの形態であってもよい。概して、プログラムモジュールは、特定のタスクを行う、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態では、所望に応じて、組み合わせられる、または分散されてもよい。
【0128】
また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶されてもよい。例証を簡単にするために、データ構造は、データ構造内の場所を通して関係付けられるフィールドを有することが示されてもよい。そのような関係は、同様に、フィールド間の関係を伝えるコンピュータ可読媒体内の場所を伴うフィールドのために記憶装置を割り当てることによって、達成されてもよい。しかしながら、ポインタ、タグ、またはデータ要素間の関係を確立する他の機構の使用を通すことを含む、任意の好適な機構が、データ構造のフィールド内の情報の間の関係を確立するために使用されてもよい。
【0129】
本開示の種々の側面は、単独で、組み合わせて、または前述の実施形態に具体的に議論されない種々の配列において使用されてもよく、したがって、その用途は、前述の説明に記載される、または図面に図示されるコンポーネントの詳細および配列に限定されない。例えば、一実施形態に説明される側面は、他の実施形態に説明される側面と任意の様式で組み合わせられてもよい。
【0130】
また、本開示は、その実施例が提供されている、方法として具現化されてもよい。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。故に、例証的実施形態では、連続作用として示されるが、いくつかの作用を同時に行うことを含み得る、作用が図示されるものと異なる順序で行われる、実施形態が構築されてもよい。
【0131】
請求項要素を修飾するための請求項における「第1の」、「第2の」、「第3の」等の順序の用語の使用は、単独では、別の要素と比べた1つの請求項要素のいかなる優先順位、先行、または順序、または方法の行為が行われる時間順序も含意しないが、順序の用語は、請求項要素を区別するために、(順序の用語の使用のためであるが)ある名前を有する1つの請求項要素と、同一の名前を有する別の要素を区別する標識としてのみ使用される。
【0132】
また、本明細書で使用される語句および専門用語は、説明目的のためのものであって、限定と見なされるべきではない。本明細書の「~を含む」、「~を備える」、または「~を有する」、「~を含有する」、「~を伴う」、およびその変形の使用は、その後列挙されたアイテムおよびその均等物および付加的アイテムを包含することを意味する。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
【国際調査報告】