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

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

▶ オキュラス ブイアール,エルエルシーの特許一覧

特表2023-536434融合データを使用するオブジェクトトラッキングのためのシステム及び方法
<>
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図1A
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図1B
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図2
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図3
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図4
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図5
  • 特表-融合データを使用するオブジェクトトラッキングのためのシステム及び方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-25
(54)【発明の名称】融合データを使用するオブジェクトトラッキングのためのシステム及び方法
(51)【国際特許分類】
   G06F 3/0346 20130101AFI20230818BHJP
   G06T 7/00 20170101ALI20230818BHJP
   G06T 7/70 20170101ALI20230818BHJP
   G06F 3/01 20060101ALI20230818BHJP
【FI】
G06F3/0346 426
G06T7/00 660Z
G06T7/70 Z
G06F3/01 570
G06F3/0346 425
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023504803
(86)(22)【出願日】2021-07-27
(85)【翻訳文提出日】2023-03-20
(86)【国際出願番号】 US2021043345
(87)【国際公開番号】W WO2022031478
(87)【国際公開日】2022-02-10
(31)【優先権主張番号】16/983,958
(32)【優先日】2020-08-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】フォースター, クリスティアン
(72)【発明者】
【氏名】ヤン, チョンユアン
(72)【発明者】
【氏名】ユイ, チー ホー
【テーマコード(参考)】
5B087
5E555
5L096
【Fターム(参考)】
5B087AA07
5B087AA09
5B087AB02
5E555AA64
5E555BA08
5E555BA87
5E555BB08
5E555BE16
5E555BE17
5E555CA29
5E555CA44
5E555CB19
5E555CB47
5E555CB48
5E555CB66
5E555DA08
5E555DA09
5E555DD02
5E555EA20
5E555FA00
5L096AA06
5L096BA08
5L096CA04
5L096DA01
5L096FA67
5L096FA69
5L096GA40
5L096HA05
5L096HA11
(57)【要約】
一実施形態では、方法は、ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、ユーザの手のポーズを推定するために第1の画像から1つ以上の特徴を識別することと、ユーザの手のポーズ、及びユーザの手とコントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、コントローラの第1のポーズを推定することと、コントローラのIMUデータを受信することと、コントローラのIMUデータを使用してコントローラの第1のポーズを更新することによって、コントローラの第2のポーズを推定することと、を含む。方法は、複数のデータソースを利用して環境の様々な条件下でコントローラをトラッキングし、一貫して正確なコントローラトラッキングを提供する。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピューティングシステムによって、
ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持している前記ユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、
前記ユーザの前記手のポーズを推定するために、前記第1の画像から1つ以上の特徴を識別することと、
前記ユーザの前記手の前記ポーズ、及び前記ユーザの前記手と前記コントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、前記コントローラの第1のポーズを推定することと、
前記コントローラの慣性計測ユニット(IMU)データを受信することと、
前記コントローラの前記IMUデータを使用して前記コントローラの前記第1のポーズを更新することによって、前記コントローラの第2のポーズを推定することと、
を含む、方法。
【請求項2】
前記第1の画像が、第1の周波数でキャプチャされ、前記コントローラの前記IMUデータが、第2の周波数で受信され、前記第2の周波数が、前記第1の周波数よりも高い、請求項1に記載の方法。
【請求項3】
前記ウェアラブルデバイスのポーズを推定するために前記ウェアラブルデバイスのIMUデータを受信することと、
前記ウェアラブルデバイスの前記ポーズに基づいて前記ユーザの前記手の前記ポーズを更新することと、をさらに含み、任意選択で、
前記ウェアラブルデバイスの前記ポーズが、前記ウェアラブルデバイスの前記IMUデータと前記ユーザの前記第1の画像とに基づいて推定される、請求項1又は2に記載の方法。
【請求項4】
前記コントローラの前記更新された第1のポーズと前記コントローラの前記IMUデータとに基づいて前記手のIMU予測ポーズを推定することと、
前記手の前記IMU予測ポーズに基づいて前記手の第2のポーズを推定することと、
任意選択で、前記1つ以上のカメラを使用して前記ユーザの第2の画像をキャプチャすることであって、前記ユーザの前記第2の画像が、前記環境内で前記コントローラを保持している前記ユーザの前記手の少なくとも一部を描写する、前記ユーザの第2の画像をキャプチャすることと、
前記ユーザの前記第2の画像から前記1つ以上の特徴を識別することと、
前記ユーザの前記第2の画像から識別された前記1つ以上の特徴に基づいて前記手の第3のポーズを推定することと、
をさらに含み、さらに任意選択で、
前記手の前記第2のポーズを推定する周波数が、前記手の前記第3のポーズを推定する周波数よりも高い、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記ウェアラブルデバイスが、
前記ユーザの画像をキャプチャするように構成された前記1つ以上のカメラと、
前記ユーザの前記手の前記ポーズを推定するように構成されたハンドトラッキングユニットと、
前記コントローラの前記第2のポーズを推定するように構成されたコントローラトラッキングユニットと、を備える、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記コントローラの前記第2のポーズを推定することが、
前記推定されたグリップと前記環境に対する前記ユーザの前記手の前記推定されたポーズとに基づいて、前記環境に対する前記コントローラのポーズを推定することと、
前記コントローラの前記IMUデータに基づいて、前記環境に対する前記コントローラの前記ポーズを調整することと、
前記環境に対する前記コントローラの前記調整されたポーズと前記コントローラの前記IMUとに基づいて、前記手に対する前記コントローラのポーズを推定することと、
前記環境に対する前記コントローラの前記調整されたポーズと前記手に対する前記コントローラの前記推定されたポーズとに基づいて、前記コントローラの前記第2のポーズを推定することと、を含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
命令を格納する1つ以上のコンピュータ可読非一時的記憶媒体であって、前記命令は、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持している前記ユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、
前記ユーザの前記手のポーズを推定するために、前記第1の画像から1つ以上の特徴を識別することと、
前記ユーザの前記手の前記ポーズ、及び前記ユーザの前記手と前記コントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、前記コントローラの第1のポーズを推定することと、
前記コントローラの慣性計測ユニット(IMU)データを受信することと、
前記コントローラの前記IMUデータを使用して前記コントローラの前記第1のポーズを更新することによって、前記コントローラの第2のポーズを推定することと、をさせる、
1つ以上のコンピュータ可読非一時的記憶媒体。
【請求項8】
前記第1の画像が、第1の周波数でキャプチャされ、前記コントローラの前記IMUデータが、第2の周波数で受信され、前記第2の周波数が、前記第1の周波数よりも高い、請求項7に記載の媒体。
【請求項9】
ソフトウェアが、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
前記ウェアラブルデバイスのポーズを推定するために前記ウェアラブルデバイスのIMUデータを受信することと、
前記ウェアラブルデバイスの前記ポーズに基づいて前記ユーザの前記手の前記ポーズを更新することと、をさせるようにさらに動作可能であり、任意選択で、
前記ウェアラブルデバイスの前記ポーズが、前記ウェアラブルデバイスの前記IMUデータと前記ユーザの前記第1の画像とに基づいて推定される、
請求項7又は8に記載の媒体。
【請求項10】
ソフトウェアが、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
前記コントローラの前記更新された第1のポーズと前記コントローラの前記IMUデータとに基づいて前記手のIMU予測ポーズを推定することと、
前記手の前記IMU予測ポーズに基づいて前記手の第2のポーズを推定することと、
前記1つ以上のカメラを使用して前記ユーザの第2の画像をキャプチャすることであって、前記ユーザの前記第2の画像が、前記環境内で前記コントローラを保持している前記ユーザの前記手の少なくとも一部を描写する、前記ユーザの第2の画像をキャプチャすることと、
前記ユーザの前記第2の画像から前記1つ以上の特徴を識別することと、任意選択で、
前記ユーザの前記第2の画像から識別された前記1つ以上の特徴に基づいて前記手の第3のポーズを推定することと、をさせるようにさらに動作可能である、
請求項7から9のいずれか一項に記載の媒体。
【請求項11】
前記手の前記第2のポーズを推定する周波数が、前記手の前記第3のポーズを推定する周波数よりも高い、請求項10に記載の媒体。
【請求項12】
前記ウェアラブルデバイスが、
前記ユーザの画像をキャプチャするように構成された前記1つ以上のカメラと、
前記ユーザの前記手の前記ポーズを推定するように構成されたハンドトラッキングユニットと、
前記コントローラの前記第2のポーズを推定するように構成されたコントローラトラッキングユニットと、を備える、
請求項7から11のいずれか一項に記載の媒体。
【請求項13】
前記コントローラの前記第2のポーズを推定することが、
前記推定されたグリップと前記環境に対する前記ユーザの前記手の前記推定されたポーズとに基づいて、前記環境に対する前記コントローラのポーズを推定することと、
前記コントローラの前記IMUデータに基づいて、前記環境に対する前記コントローラの前記ポーズを調整することと、
前記環境に対する前記コントローラの前記調整されたポーズと前記コントローラの前記IMUとに基づいて、前記手に対する前記コントローラのポーズを推定することと、
前記環境に対する前記コントローラの前記調整されたポーズと前記手に対する前記コントローラの前記推定されたポーズとに基づいて、前記コントローラの前記第2のポーズを推定することと、を含む、
請求項7から11のいずれか一項に記載の媒体。
【請求項14】
システムであって、1つ以上のプロセッサと、前記プロセッサのうちの1つ以上に結合されており、かつ命令を含む1つ以上のコンピュータ可読非一時的記憶媒体と、を備え、前記命令は、前記プロセッサのうちの前記1つ以上によって実行されると、前記システムに、
ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持している前記ユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、
前記ユーザの前記手のポーズを推定するために、前記第1の画像から1つ以上の特徴を識別することと、
前記ユーザの前記手の前記ポーズ、及び前記ユーザの前記手と前記コントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、前記コントローラの第1のポーズを推定することと、
前記コントローラの慣性計測ユニット(IMU)データを受信することと、
前記コントローラの前記IMUデータを使用して前記コントローラの前記第1のポーズを更新することによって、前記コントローラの第2のポーズを推定することと、
をさせるように動作可能である、
システム。
【請求項15】
前記命令が、実行されると、
前記ウェアラブルデバイスのポーズを推定するために前記ウェアラブルデバイスのIMUデータを受信することと、
前記ウェアラブルデバイスの前記ポーズに基づいて前記ユーザの前記手の前記ポーズを更新することと、を行うようにさらに動作可能である、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、オブジェクトトラッキングに関し、より具体的には、特徴推定とセンサデータとの融合に基づくオブジェクトトラッキングのための方法、装置、及びシステムに関する。
【背景技術】
【0002】
AR/VRデバイスに提供される入力命令は、典型的には、コントローラトラッキング又はハンドトラッキングに基づく。コントローラは、コントローラ上の赤外線(IR)発光ダイオード(LED)によって形成された既知のパターンを使用してトラッキングされ、コントローラ上のボタンを介して環境内の特定の位置に命令を入力することができる。手の特徴をトラッキングすることによって、手のジェスチャによって入力命令を行うこともできる。例えば、ユーザは、手のスワイプジェスチャをトラッキングすることによって仮想書籍のページをめくることができる。しかしながら、コントローラトラッキングは、必要とされる追加のハードウェア、例えば、閉塞又は他の光源によって干渉されることがあるコントローラ上のIRカメラ及びIR LEDライトのために、よりコストがかかり、ハンドトラッキングは、確度が低い。
【発明の概要】
【0003】
上記の問題に対処するために、コントローラからの慣性計測ユニット(IMU)データに基づいて、手のグリップを推定し、手のグリップを調整することによって、コントローラをトラッキングする方法、装置、及びシステムが開示される。本開示は、コントローラ中にLEDを実装することなく(例えば、LEDライトのパターンをトラッキングすることなく)コントローラをトラッキングする方法を提供し、その結果、本出願で開示される方法は、コントローラをトラッキングするための費用効率の高い正確な方法を提供する。本出願で開示される方法は、ユーザの手のキャプチャされた画像から識別された特徴トラッキングに基づいてユーザの手のグリップを推定し、次いで、ユーザの手の推定されたグリップを使用してコントローラのポーズを推定し得る。さらに、本出願の方法は、コントローラのIMUデータを受信して、コントローラの推定されたポーズを調整し、より速い周波数でコントローラの最終ポーズを提供し得る。
【0004】
なお、本明細書に開示される実施形態は一例にすぎず、本開示の範囲はこれらに限定されない。特定の実施形態は、本明細書に開示される実施形態の構成要素、要素、特徴、機能、動作、又はステップの全てを含むか、一部を含むか、又はいずれも含まない場合がある。
【0005】
本発明の一態様によれば、コンピューティングシステムによる方法であって、ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、第1の画像から1つ以上の特徴を識別して、ユーザの手のポーズを推定することと、ユーザの手のポーズ、及びユーザの手とコントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、コントローラの第1のポーズを推定することと、コントローラのIMUデータを受信することと、コントローラのIMUデータを使用してコントローラの第1のポーズを更新することによって、コントローラの第2のポーズを推定することと、を含む方法が提供される。
【0006】
第1の画像は、第1の周波数でキャプチャされ得、コントローラのIMUデータが、第2の周波数で受信され、第2の周波数が、第1の周波数よりも高い。
【0007】
方法は、ウェアラブルデバイスのポーズを推定するためにウェアラブルデバイスのIMUデータを受信することと、ウェアラブルデバイスのポーズに基づいてユーザの手のポーズを更新することと、をさらに含み得る。
【0008】
ウェアラブルデバイスのポーズは、ウェアラブルデバイスのIMUデータとユーザの第1の画像とに基づいて推定され得る。
【0009】
方法は、コントローラの更新された第1のポーズとコントローラのIMUデータとに基づいて手のIMU予測ポーズを推定することと、手のIMU予測ポーズに基づいて手の第2のポーズを推定することと、をさらに含み得る。
【0010】
方法は、1つ以上のカメラを使用してユーザの第2の画像をキャプチャすることであって、ユーザの第2の画像が、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する、キャプチャすることと、ユーザの第2の画像から1つ以上の特徴を識別することと、ユーザの第2の画像から識別された1つ以上の特徴に基づいて手の第3のポーズを推定することと、をさらに含み得る。
【0011】
手の第2のポーズを推定する周波数は、手の第3のポーズを推定する周波数よりも高くてもよい。
【0012】
ウェアラブルデバイスは、ユーザの画像をキャプチャするように構成された1つ以上のカメラと、ユーザの手のポーズを推定するように構成されたハンドトラッキングユニットと、コントローラの第2のポーズを推定するように構成されたコントローラトラッキングユニットと、を備え得る。
【0013】
コントローラの第2のポーズを推定することは、推定されたグリップと環境に対するユーザの手の推定されたポーズとに基づいて、環境に対するコントローラのポーズを推定することと、コントローラのIMUデータに基づいて、環境に対するコントローラのポーズを調整することと、環境に対するコントローラの調整されたポーズとコントローラのIMUとに基づいて、手に対するコントローラのポーズを推定することと、環境に対するコントローラの調整されたポーズと手に対するコントローラの推定されたポーズとに基づいて、コントローラの第2のポーズを推定することと、を含み得る。
【0014】
本発明の一態様によれば、ソフトウェアを具現化する1つ以上のコンピュータ可読非一時的記憶媒体であって、ソフトウェアが、実行されたとき、ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、ユーザの手のポーズを推定するために、第1の画像から1つ以上の特徴を識別することと、ユーザの手のポーズ、及びユーザの手とコントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、コントローラの第1のポーズを推定することと、コントローラの慣性計測ユニット(IMU)データを受信することと、コントローラのIMUデータを使用してコントローラの第1のポーズを更新することによって、コントローラの第2のポーズを推定することと、を行うように動作可能である、ソフトウェアを具現化する1つ以上のコンピュータ可読非一時的記憶媒体が提供される。
【0015】
第1の画像は、第1の周波数でキャプチャされ得、コントローラのIMUデータが、第2の周波数で受信され、第2の周波数が、第1の周波数よりも高い。
【0016】
ソフトウェアは、実行されると、ウェアラブルデバイスのポーズを推定するためにウェアラブルデバイスのIMUデータを受信することと、ウェアラブルデバイスのポーズに基づいてユーザの手のポーズを更新することと、をさらに動作させることができ得る。
【0017】
ウェアラブルデバイスのポーズは、ウェアラブルデバイスのIMUデータとユーザの第1の画像とに基づいて推定され得る。
【0018】
ソフトウェアは、実行されると、コントローラの更新された第1のポーズとコントローラのIMUデータとに基づいて手のIMU予測ポーズを推定することと、手のIMU予測ポーズに基づいて手の第2のポーズを推定することと、をさらに動作させることができ得る。
【0019】
ソフトウェアは、実行されると、1つ以上のカメラを使用してユーザの第2の画像をキャプチャすることであって、ユーザの第2の画像が、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する、キャプチャすることと、ユーザの第2の画像から1つ以上の特徴を識別することと、ユーザの第2の画像から識別された1つ以上の特徴に基づいて手の第3のポーズを推定することと、をさらに動作させることができ得る。
【0020】
手の第2のポーズを推定する周波数は、手の第3のポーズを推定する周波数よりも高くてもよい。
【0021】
ウェアラブルデバイスは、ユーザの画像をキャプチャするように構成された1つ以上のカメラと、ユーザの手のポーズを推定するように構成されたハンドトラッキングユニットと、コントローラの第2のポーズを推定するように構成されたコントローラトラッキングユニットと、を備え得る。
【0022】
コントローラの第2のポーズを推定することは、推定されたグリップと環境に対するユーザの手の推定されたポーズとに基づいて、環境に対するコントローラのポーズを推定することと、コントローラのIMUデータに基づいて、環境に対するコントローラのポーズを調整することと、環境に対するコントローラの調整されたポーズとコントローラのIMUとに基づいて、手に対するコントローラのポーズを推定することと、環境に対するコントローラの調整されたポーズと手に対するコントローラの推定されたポーズとに基づいて、コントローラの第2のポーズを推定することと、を含み得る。
【0023】
本発明の一態様によれば、1つ以上のプロセッサと、プロセッサのうちの1つ以上に結合されており、かつプロセッサのうちの1つ以上によって実行されたときに動作可能である命令を含む、1つ以上のコンピュータ可読非一時的記憶媒体と、を備えるシステムであって、命令が、システムに、ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることと、ユーザの手のポーズを推定するために、第1の画像から1つ以上の特徴を識別することと、ユーザの手のポーズ、及びユーザの手とコントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、コントローラの第1のポーズを推定することと、コントローラの慣性計測ユニット(IMU)データを受信することと、コントローラのIMUデータを使用してコントローラの第1のポーズを更新することによって、コントローラの第2のポーズを推定することと、をさせる、システムが提供される。
【0024】
命令は、実行されると、ウェアラブルデバイスのポーズを推定するためにウェアラブルデバイスのIMUデータを受信することと、ウェアラブルデバイスのポーズに基づいてユーザの手のポーズを更新することと、をさらに動作させることができ得る。
【0025】
本発明による実施形態は、特に、方法、ストレージ媒体、システム、及びコンピュータプログラム製品を対象とする添付の特許請求の範囲に開示されており、1つの請求項カテゴリ、例えば方法で言及された任意の特徴は、別の請求項カテゴリ、例えばシステムでも同様に特許請求され得る。添付の特許請求の範囲における従属性又は参照は、形式的な理由のみのために選択される。しかしながら、任意の先行する請求項への意図的な参照から生じる任意の主題(特に、複数の従属性)も同様に特許請求され得、その結果、請求項及びその特徴の任意の組合せが開示され、添付の特許請求の範囲で選択された従属性に関係なく特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲に記載された特徴の組合せだけでなく、特許請求の範囲で言及された各特徴を特許請求の範囲の任意の他の特徴又は他の特徴の組合せと組み合わせることができる、特許請求の範囲の特徴の任意の他の組合せも含む。さらに、本明細書に記載又は描写された実施形態及び特徴のいずれも、別個の請求項、及び/又は本明細書に記載若しくは図示された任意の実施形態若しくは特徴と、又は添付の特許請求の範囲の特徴とのうちのいずれかとの任意の組合せで特許請求され得る。
【0026】
本開示のある特定の態様及びそれらの実施形態は、これら又は他の課題に対する解決策を提供し得る。本明細書では、本明細書に開示される1つ以上の問題に対処する様々な実施形態が提案される。本開示に開示される方法は、グリップの推定及びコントローラのIMUデータに基づいてコントローラのポーズを推定及び調整する、コントローラのためのトラッキング方法を提供し得る。さらに、環境及びユーザの手に対するコントローラのポーズに基づいて、本出願で開示される方法はまた、次のフレームにおけるユーザの手の探索範囲を減少させるためにユーザの手のIMU予測ポーズを提供し得る。したがって、本出願に開示される特定の実施形態は、コントローラを費用効率高くトラッキングし(例えば、LEDを設置する必要がない)、トラッキングタスクを実行するためのプロセス時間を改善し得る。
【0027】
本開示の特定の実施形態は、人工現実システムを含むか、又は人工現実システムとともに実装され得る。人工現実は、ユーザに提示される前に何らかの方法で調整された現実味のある形態であり、例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、又はそれらの何らかの組合せ及び/若しくは派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ又はキャプチャされたコンテンツ(例えば、現実世界の写真)と組み合わされた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、又はそれらの何らかの組合せを含み得、それらのうちのいずれも、単一のチャネル又は複数のチャネル(視聴者に三次元効果をもたらすステレオビデオなど)で提示され得る。さらに、いくつかの実施形態では、人工現実は、例えば、人工現実でコンテンツを作成するために使用される、及び/又は人工現実で使用される(例えば、人工現実内で活動を行う)アプリケーション、製品、アクセサリ、サービス、又はそれらの何らかの組合せに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイス若しくはコンピューティングシステム、又は人工現実コンテンツを1人以上の視聴者に提供することができる任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
【0028】
なお、本明細書に開示される実施形態は一例にすぎず、本開示の範囲はこれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、又はステップの全てを含むか、一部を含むか、又はいずれも含まない場合がある。本発明による実施形態は、特に、方法、ストレージ媒体、システム、及びコンピュータプログラム製品を対象とする添付の特許請求の範囲に開示されており、1つの請求項カテゴリ、例えば方法で言及された任意の特徴は、別の請求項カテゴリ、例えばシステムでも同様に特許請求され得る。添付の特許請求の範囲における従属性又は参照は、形式的な理由のみのために選択される。しかしながら、任意の先行する請求項への意図的な参照から生じる任意の主題(特に、複数の従属性)も同様に特許請求され得、その結果、請求項及びその特徴の任意の組合せが開示され、添付の特許請求の範囲で選択された従属性に関係なく特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲に記載された特徴の組合せだけでなく、特許請求の範囲で言及された各特徴を特許請求の範囲の任意の他の特徴又は他の特徴の組合せと組み合わせることができる、特許請求の範囲の特徴の任意の他の組合せも含む。さらに、本明細書に記載又は描写された実施形態及び特徴のいずれも、別個の請求項、及び/又は本明細書に記載若しくは図示された任意の実施形態若しくは特徴と、又は添付の特許請求の範囲の特徴とのうちのいずれかとの任意の組合せで特許請求され得る。
【0029】
本明細書に組み込まれ、かつ本明細書の一部を形成する添付の図面は、本開示のいくつかの態様を示し、説明とともに本開示の原理を説明するのに役立つ。
【図面の簡単な説明】
【0030】
図1A】コントローラのトラッキングシステムの例示的な図を示す。
図1B】コントローラのトラッキングシステムの例示的な図を示す。
図2】融合センサデータを使用するトラッキングシステムアーキテクチャの例示的な図を示す。
図3】中央モジュールと、コントローラをトラッキングするためのコントローラモジュールと、を備えるトラッキングシステムの例示的な図を示す。
図4】中央モジュールと、コントローラモジュールと、コントローラをローカル又はグローバルにトラッキングするためのリモートサーバと、を備えるトラッキングシステムの例示的な図を示す。
図5】ユーザの手の特徴トラッキングとコントローラのIMUデータとを融合することによって、コントローラのポーズの調整をトラッキングするための方法の一実施形態を示す。
図6】例示的なコンピュータシステムを示す。
【発明を実施するための形態】
【0031】
現在のAR/VRデバイスは、一般に、AR/VRデバイスのための命令を入力するための簡単で直感的な方法をユーザに提供するために、ポータブル/ウェアラブルデバイス(例えば、コントローラ)とペアリングされる。コントローラは、通常、ユーザがコントローラを介してある特定の機能を実行し得るように、コントローラのポーズを推定するため、かつ/又はコントローラの位置をトラッキングするために、AR/VRデバイス用の少なくとも1つの慣性計測ユニット(IMU)及び赤外線(IR)発光ダイオード(LED)を装備する。例えば、ユーザは、コントローラを使用して、部屋の隅に視覚的オブジェクトを表示し得る。しかしながら、LEDを装備することは、コントローラの製造コストを増加させ、LED光のパターンを決定することによってコントローラをトラッキングすることは、ある特定の環境条件下で干渉を受ける可能性がある。また、完全に特徴トラッキングに依存してコントローラをトラッキングすると、不正確になる可能性がある。本開示に開示される特定の実施形態は、ユーザの手の特徴トラッキングデータとコントローラのIMUデータとを融合することによって、コントローラのポーズを推定する方法を提供する。
【0032】
さらに、本開示に開示される特定の実施形態は、手の推定されたグリップとコントローラのIMUデータとの融合に基づいてユーザの手のIMU予測ポーズを提供して、次のフレームにおけるハンドトラッキングを容易にし得る。コントローラのIMUデータを利用して手のグリップを調整することにより、コントローラのポーズをより頻繁に更新して、効率的で正確なトラッキングを維持することができる。本開示に開示される特定の実施形態は、効率的かつ低コストで、視覚慣性オドメトリ(VIO)ベースの同時位置特定及びマッピング(SLAM)トラッキングシステムなどの任意の種類のトラッキングシステムに適用され得る。
【0033】
図1A図1Bは、ある特定の実施形態による、コントローラをトラッキングするための例示的なトラッキングシステムを示している。図1Aにおいて、トラッキングシステム100は、中央モジュール(図示せず)及びコントローラモジュール110(例えば、コントローラ)を備える。中央モジュールは、カメラと、環境内のコントローラモジュール110をトラッキングするための少なくとも1つのプロセッサと、を備える。特定の実施形態では、中央モジュールは、トラッキングされるオブジェクト(例えば、コントローラモジュール110によって実装されたコントローラ)の画像をキャプチャするために、ヘッドマウントデバイスなどのウェアラブルデバイスに実装され得る。例えば、カメラを有するウェアラブルデバイスは、オブジェクトのインサイド・アウトトラッキング(例えば、SLAM)を実行し得る。特定の実施形態では、トラッキングされるオブジェクトはまた、環境内に実装/固定された1つ以上のカメラ、例えば、アウトサイド・イントラッキングによってトラッキングされ得る。
【0034】
中央モジュールのカメラは、ユーザの手の少なくとも一部を描写する第1のフレーム120をキャプチャし得る。より具体的には、第1のフレーム120は、コントローラモジュール110を保持しているユーザの手の少なくとも一部を描写する。中央モジュールは、第1のフレーム120からユーザの手の少なくとも一部の1つ以上の特徴122、124、126を識別し得る。特定の実施形態では、第1のフレーム120は、コントローラモジュール110を保持しているユーザの手を少なくとも描写する1つ以上の特徴を備え得る。図1Bにおいて、コントローラモジュール110は、ユーザが保持するためのハンドル112を備える。中央モジュールは、ユーザの手のポーズを推定するために使用され得るユーザの手の特徴122、124、126を識別する。例えば、手の人差し指と親指とで囲まれた空間がコントローラ110と重なる領域122、コントローラ110を保持しているユーザの手を表す手124の尺骨縁、及び指先及びコントローラ110を含む領域126。第1のフレーム120からの識別された特徴122、124、126は、ユーザの手のポーズ/位置を推定するために使用され得る。さらに、ユーザの手のポーズが使用されて、ユーザの手のグリップを推定し得る。例えば、ユーザの手のポーズは、ユーザのハンドジェスチャを表すユーザの手のスケルトン/基本的な幾何学的形状であり得る。ユーザの手の推定されたグリップは、ユーザの手とコントローラモジュール110との間の相対ポーズを画定するユーザの手の推定されたグリップに基づいて、コントローラモジュール110のポーズを推定するために利用され得る。
【0035】
コントローラモジュール110は、コントローラモジュール110がIMUデータを中央モジュールに提供して、コントローラモジュール110の推定されたポーズを更新/調整し得るように、少なくとも1つのIMUを備える。コントローラモジュール110は、ユーザ及びコントローラモジュール110のフレームを取得する中央モジュールの周波数よりも速い周波数でIMUデータを提供し得る。例えば、中央モジュールは、コントローラモジュール110を保持しているユーザの第2のフレーム130をキャプチャし、特徴122、124、126又は第2のフレーム130からユーザの手のポーズを推定するために使用することができる任意の他の潜在的な特徴を識別し得る。中央モジュールが第2のフレーム130内の識別された特徴に基づいてユーザの手の更新されたポーズを推定する前に、中央モジュールは、コントローラモジュール110の受信IMUデータを使用して、第1のフレーム120から推定された手のグリップに基づいて推定されたコントローラモジュール110の推定されたポーズを調整し得る。特定の実施形態では、中央モジュールは、コントローラモジュール110のポーズを推定するために、(例えば、キャプチャされたフレームに基づいて)30Hzの周波数でユーザの手のポーズを提供/更新し得、コントローラモジュール110は、コントローラモジュール110のポーズが、コントローラモジュール110のIMUデータに基づいて、より速い周波数でトラッキング/調整されて、コントローラモジュール110をトラッキングする確度及び効率を維持することができるように、コントローラモジュール110の推定されたポーズを更新するために中央モジュールへ500Hzの周波数でIMUデータを提供し得る。特定の実施形態では、中央モジュールは、必要に応じて、いずれかのトラッキング結果(例えば、特徴トラッキング又はIMUトラッキング)に基づいてコントローラのポーズを出力し得る。
【0036】
特定の実施形態では、キャプチャされたフレームは、ユーザの手のポーズを推定するために使用することができる少なくとも1つの特徴を備えると識別される可視光画像であり得る。可視光画像は、RGB画像、CMYK画像、グレースケール画像、又はユーザの手のポーズを推定するための任意の好適な画像であり得る。特定の実施形態では、キャプチャされたフレーム120、130からの識別された特徴122、124、126は、仮想/拡張環境での再生のためのコントローラモジュール110(例えば、コントローラモジュール110の対応データ)の動き、向き、及び/又は空間位置を判定するために、中央モジュールのカメラによって正確にトラッキングされるように構成されている。特定の実施形態では、コントローラモジュール110の推定されたポーズは、フレーム(例えば、第1のフレーム120及び第2のフレーム130)間の識別された特徴122、124、126に基づいて判定された空間的移動(X-Y-Z位置決め移動)によって調整され得る。例えば、中央モジュールは、フレームk+1、例えば動作中にキャプチャされたフレーム内のユーザの手の更新された空間位置を判定し、それをフレームk、例えば以前にキャプチャされた、又はストレージに格納されたフレーム内のユーザの手の以前の空間位置と比較して、ユーザの手のポーズを再調整し得る。コントローラモジュールをトラッキングするために中央モジュールで実行される詳細な動作及びアクションは、図2図5でさらに説明され得る。
【0037】
図2は、ある特定の実施形態による、中央モジュール及びコントローラモジュールを備える例示的なトラッキングシステム200を示している。トラッキングシステム200は、ユーザによって装着されるヘッドセットに実装された中央モジュールと、ユーザによって保持されるコントローラに実装されたコントローラモジュールと、を備える。特定の実施形態では、ユーザは、各手に対してヘッドセットとペアリングされた2つのコントローラを有し得る。ヘッドセットは、少なくとも1つのカメラと、少なくとも1つのIMUと、コントローラをトラッキングするための命令を処理するように構成された少なくとも1つのプロセッサと、を備える。さらに、コントローラは、コントローラのIMUデータをヘッドセットの中央モジュールに提供するように構成された少なくとも1つのIMUと、ヘッドセットから送信された命令/較正を処理するように構成された少なくとも1つのプロセッサと、を備える。
【0038】
ヘッドセットのカメラは、環境内のユーザ及びコントローラ202の1つ以上の画像をキャプチャし、機械学習又は深層学習を介してハンドトラッキング204のために画像202からユーザの手の1つ以上の特徴を識別する。ユーザの手のポーズを推定/判定するために使用することができる識別された特徴に基づいて、ヘッドセットのプロセッサは、識別された特徴に基づいてユーザの手のポーズ及び/又はユーザの手の位置を推定し得る。特定の実施形態では、ユーザの手のポーズは、一連の画像にわたって識別された反復特徴に基づいて推定され得る。特定の実施形態では、ヘッドセットのプロセッサは、ハンドトラッキング204の結果に基づいて、環境206に対するユーザの手のポーズを推定し得る。
【0039】
特定の実施形態では、ヘッドセット208のIMUはまた、ヘッドセットのIMUデータをヘッドセットのプロセッサに提供し得、ヘッドセットのプロセッサは、ヘッドセットのIMUデータに基づいて、インサイド・アウトトラッキング210を介して環境212に対するヘッドセットのポーズを推定し得る。特定の実施形態では、ヘッドセットのプロセッサは、ヘッドセットのIMUデータ及びカメラ画像202に基づいて、インサイド・アウトトラッキング210を介して環境212に対するヘッドセットのポーズを推定し得る。例えば、ヘッドセットのIMUデータは、環境内のヘッドセットのポーズを算出するために、ヘッドセットの角速度、加速度、及び動きの情報を提供し得る。さらに、ヘッドセットのプロセッサは、環境212に対するヘッドセットのポーズを利用して、ハンドトラッキング204を容易にし得る。例えば、環境212に対するヘッドセットのポーズは、環境212に対するヘッドセットのポーズ/位置を環境内のユーザ及びコントローラ202の画像と比較してユーザの手のポーズを調整/推定することによって、ハンドトラッキング204を容易にするために供給され得る。
【0040】
次いで、ヘッドセットのプロセッサは、ユーザの手206の推定されたポーズに基づいてユーザの手214のグリップを推定し、ユーザの手214の推定されたグリップに基づいて環境216に対するコントローラのポーズを推定し得る。例えば、ヘッドセットのプロセッサは、ユーザの手のポーズ(ユーザの手からの識別された特徴を含む)を使用して、ユーザの手のジェスチャ/ポーズの逆に基づいて、ヘッドセットのプロセッサがコントローラのポーズを生成し得るように、コントローラを保持しているジェスチャを表すユーザの手を推定し得る。
【0041】
さらに、コントローラのIMUは、データ融合218のためにコントローラ220のIMUデータをヘッドセットに提供して、ユーザの手のグリップに基づいて推定されたコントローラのポーズを調整する。データ融合ユニット218は、IMUデータを利用して、コントローラユニット222のIMU予測ポーズを算出し得る。コントローラユニット222のIMU予測ポーズは、環境に対するコントローラのポーズを調整し、かつユーザの手214の逆グリップを推定するためにグリップ推定器ユニット214によって利用され得、逆グリップは、コントローラの調整されたポーズのポーズに基づいてユーザの手214のポーズを推測する。特定の実施形態では、コントローラ224の最終ポーズは、ヘッドセットの動作/必要性に基づいて提供され得る。例えば、コントローラ224の最終ポーズは、2つのキャプチャされたフレームの間(例えば、グリップの次の推定の前)で推定され得る。一方、コントローラ224の最終ポーズは、IMU調整グリップ、例えばコントローラの受信IMUデータによって調整された、推定されたグリップに基づいて推定されることもあり得る。ヘッドセットのプロセッサは、省電力の要求又は要望に基づいて、ある特定の周波数におけるコントローラ224の最終ポーズを推定し得る。
【0042】
加えて、データ融合218によって提供されたデータに基づいて、ヘッドセットのプロセッサは、コントローラ222のIMU予測ポーズに基づいて手226のIMU予測ポーズを提供し、ハンドトラッキング204を容易にするために手226のIMU予測ポーズを使用し得る。例えば、コントローラ222のIMU予測ポーズは、より速い周波数(例えば、500Hz~1kHz)で提供されて、2つのフレーム間のギャップを埋めることができる。逆グリップ推定をコントローラ222のIMU予測ポーズに適用することにより、ヘッドセットは、手226のIMU予測ポーズを生成することができる。手226のIMU予測ポーズは、ハンドトラッキング204の処理時間を改善するために、次のフレームにおける手の探索範囲を縮小するために使用することができる。
【0043】
図3は、ある特定の実施形態による、中央モジュール310及びコントローラモジュール340を備えるトラッキングシステム300の例示的な図を示している。中央モジュール310は、カメラ312、IMU314、手及びヘッドセットトラッキングユニット316、並びに環境内のコントローラモジュール340のトラッキング/調整を実行するためのコントローラトラッキングユニット318を備える。中央モジュール310は、コントローラモジュール340を介してある特定の機能を実行するためにコントローラモジュール340とペアリングされている。コントローラモジュール340は、中央モジュール310にコントローラモジュール340をトラッキングするためのIMUデータ344を提供するように構成された、少なくとも1つのIMU342を備える。特定の実施形態では、コントローラモジュール340は、対応するモジュールの予測、例えばコントローラモジュール340の対応データを計算するために、IMUデータ344をコントローラトラッキングユニット318に送信する。特定の実施形態では、中央モジュール340は、コントローラモジュール340のIMUデータ344に基づいて、500Hz~1kHzの周波数でコントローラモジュール340のポーズを計測する。
【0044】
動作中のコントローラモジュール340のポーズを生成/推定するために、中央モジュール310のカメラ312は、コントローラモジュール340がコントローラモジュール340をトラッキングするためのカメラの視野(FOV)範囲内にあるときに、画像又は一連の画像320をキャプチャし得る。特定の実施形態では、画像320は、コントローラモジュール340を保持しているユーザの手の少なくとも一部を示している。中央モジュール310のカメラ312は、画像320から識別された特徴に基づいてユーザの手のポーズを推定するために、ハンド/ヘッドセットトラッキングユニット316に画像320を送信する。
【0045】
ハンド/ヘッドセットトラッキングユニット316は、機械学習、深層学習、又は任意の好適な計算方法を介して画像320からユーザの手の1つ以上の特徴を識別する。ユーザの手324のポーズを推定/判定するために使用することができる識別された特徴に基づいて、中央モジュール310のハンド/ヘッドセットトラッキングユニット316は、ユーザの手の識別された特徴に基づいて、ユーザの手324のポーズ及び/又は環境内のユーザの手の位置を推定する。特定の実施形態では、ユーザの手324のポーズは、一連の画像にわたって識別された反復特徴に基づいて推定され得る。中央モジュール310のハンド/ヘッドセットトラッキングユニット316は、処理能力又は要件に基づく周波数でユーザの手324のポーズを推定する。特定の実施形態では、中央モジュール310のハンド/ヘッドセットトラッキングユニット316は、30Hzの周波数でユーザの手324のポーズを推定する。
【0046】
特定の実施形態では、中央モジュール310のIMU314はまた、ヘッドセットのポーズの推定を容易にするためにハンド/ヘッドセットトラッキングユニット316にIMUデータ322を送信する。例えば、ハンド/ヘッドセットトラッキングユニット316は、中央モジュール310のポーズを推定するためにインサイド・アウトトラッキングを実行し得る。画像320(環境内のコントローラモジュール340を含む)及び中央モジュール316のIMUデータ322に基づいて、中央モジュール310のハンド/ヘッドセットトラッキングユニット316は、中央モジュール310のポーズを推定し得、その結果、ユーザの手324の推定されたポーズ(画像320に基づいて推定された)は、中央モジュール310のポーズ(例えば、環境内のユーザの手に対する中央モジュール310の位置)によって調整され得る。
【0047】
中央ユニット310のハンド/ヘッドセットトラッキングユニット316は、コントローラトラッキングのために、ユーザの手324のポーズをコントローラトラッキングユニット318に送信する。コントローラトラッキングユニット318は、ユーザの手のグリップを推定するように構成されたグリップ推定ユニット326と、グリップ推定ユニット326から送信されたデータとコントローラモジュール340から送信されたデータとを融合/統合するように構成されたデータ融合ユニット328と、を備える。
【0048】
コントローラトラッキングユニット318のグリップ推定ユニット326は、ハンド/ヘッドセットトラッキングユニット316からユーザの手324のポーズを受信し、ユーザの手324のポーズに基づいてユーザの手のグリップを推定する。さらに、グリップ推定ユニット326は、ユーザの手のグリップに基づいて、コントローラモジュール340のポーズを推定する。例えば、ユーザの手324のポーズは、コントローラモジュール340を保持しているユーザのジェスチャを明らかにし得る。したがって、ユーザの手324のポーズに基づいて、グリップ推定ユニット326は、ユーザの手のグリップを推定し、次いで、ユーザの手とコントローラモジュール340との間の相対ポーズを画定するユーザの手のグリップに基づいて、環境330に対するコントローラモジュールのポーズを推定し得る。さらに、グリップ推定ユニット326は、環境330に対するコントローラのポーズをデータ融合ユニット328に送信する。
【0049】
コントローラトラッキングユニット318のデータ融合ユニット328は、中央モジュール310内のコントローラトラッキングモジュール318のグリップ推定ユニット326から環境330に対するコントローラのポーズを受信し、さらにコントローラモジュール340からIMUデータ344を受信する。データ融合ユニット328は、環境330に対するコントローラモジュールのポーズをコントローラモジュール340のIMUデータ344と統合して、中央モジュール310がコントローラモジュール340を介して対応する命令を正確に実行するためのコントローラモジュールの調整された/最終ポーズを出力し得る。特定の実施形態では、データ融合ユニット328は、中央モジュール310の要求又は処理速度に基づく周波数でコントローラモジュールの調整されたポーズを出力し得る。特定の実施形態では、データ融合ユニット328は、コントローラモジュール330からIMUデータ344を受信したときにグリップ推定ユニット326から送信されたコントローラモジュール340のポーズをデータ融合ユニット328が更新することができるため、30Hzなどのユーザの手のポーズを推定する周波数よりも速い周波数でコントローラモジュールの調整されたポーズを出力し得る。
【0050】
さらに、データ融合ユニット328はまた、グリップ推定ユニット326が、キャプチャされたフレームに基づいて推定されたコントローラモジュール340のポーズを調整し得るように、コントローラモジュール340のIMUデータ344に基づくコントローラユニット332のIMU予測ポーズをグリップ推定ユニット326に提供し得る。グリップ推定ユニット326は、ハンドトラッキングのプロセスを容易にするために、コントローラモジュール340のIMUデータ344に基づくユーザの手346のIMU予測ポーズをハンドトラッキングユニット316に提供し得る。ユーザの手346のIMU予測ポーズにより、ハンドトラッキングユニット316は、次のキャプチャされたフレーム内の予測された範囲内のユーザの手の特徴を識別し得、その結果、ハンドトラッキングユニット316は、より少ないプロセス時間でハンドトラッキングを完了し得る。
【0051】
さらに、中央モジュール310はまた、ユーザ/コントローラモジュール340の状態を生成すること、ユーザ/コントローラモジュール340をローカル若しくはグローバルに位置付けすること、及び/又はコントローラモジュール340を介して環境内に仮想タグ/オブジェクトをレンダリングすることなどの、広範なサービス及び機能を実施するために、識別された特徴を含むこれらのキャプチャされた画像320を利用し得る。特定の実施形態では、中央モジュール310はまた、ユーザの状態を生成するのを支援するためにIMUデータ322を使用し得る。特定の実施形態では、中央モジュール310は、キャプチャされた画像320に基づいて環境内のコントローラモジュール340に対するユーザの状態情報を使用して、環境内に仮想オブジェクトを投影するか、又はコントローラモジュール340を介してマップ内に仮想タグを設定し得る。
【0052】
特定の実施形態では、トラッキングシステム300は、例えば、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、スマートフォン、タブレットコンピュータ、拡張/仮想現実デバイス、ヘッドマウントデバイス、ポータブルスマートデバイス、ウェアラブルスマートデバイス、又はトラッキングシステム300と互換性のある任意の好適なデバイスなどの、任意の好適なコンピューティングデバイスに実装され得る。本開示では、トラッキングデバイスによってトラッキングされ、位置特定されているユーザは、車両などの移動可能なオブジェクトに搭載されたデバイス、又は人に取り付けられたデバイスを指し得る。本開示では、ユーザは、トラッキングシステム300と対話又は通信する個人(人間のユーザ)、団体(例えば、企業、会社、若しくはサードパーティアプリケーション)、又はグループ(例えば、個人若しくは団体の)であり得る。特定の実施形態では、中央モジュール310は、ヘッドマウントデバイスに実装され得、コントローラモジュール340は、ヘッドマウントデバイスから分離されたリモートコントローラに実装され得る。ヘッドマウントデバイスは、中央モジュール310のカメラ312、IMU314、ハンド/ヘッドセットトラッキングユニット316、及びコントローラユニット318を実装するように構成された1つ以上のプロセッサを備える。一実施形態では、各プロセッサは、カメラ312、IMU314、ハンド/ヘッドセットトラッキングユニット316、及びコントローラユニット318を別々に実装するように構成されている。リモートコントローラは、コントローラモジュール340のIMU342を実装するように構成された1つ以上のプロセッサを備える。一実施形態では、各プロセッサは、IMU342を別々に実装するように構成されている。
【0053】
本開示は、トラッキングシステム300内の各要素を接続するための、又はトラッキングシステム300を他のシステムと接続するための任意の好適なネットワークを想定している。限定ではなく、例として、ネットワークの1つ以上の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、セルラー電話網、又はこれらのうちの2つ以上の組合せを含み得る。ネットワークは、1つ以上のネットワークを含み得る。
【0054】
図4は、ある特定の実施形態による、マッピングサービスを有するトラッキングシステム400の例示的な図を示している。トラッキングシステム400は、コントローラモジュール410と、中央モジュール420と、クラウド430と、を備える。コントローラモジュール410は、少なくとも1つのIMU412と、プロセッサ414と、を備える。コントローラモジュール410は、特定の機能を実行するために中央モジュール420から1つ以上の命令442を受信する。コントローラモジュール410は、動作中のポーズ推定のためにIMUデータ440を中央モジュール420に送信するように構成されており、その結果、中央モジュール420は、コントローラモジュール410を介して命令442をマップ内又は環境内で正確に実行し得る。
【0055】
中央モジュール420は、カメラ422と、少なくとも1つのIMU424と、ハンドトラッキングユニット426と、コントローラトラッキングユニット428と、を備える。中央モジュール420は、様々な方法、例えば、図1A図3に開示された方法に基づいてコントローラモジュール410をトラッキングするように構成されている。中央モジュール420のカメラ422は、ユーザによって保持されているコントローラモジュール410の1つ以上のフレームをキャプチャし得、中央モジュール420のIMU424は、中央モジュール420のIMUデータをハンドトラッキングユニット426に提供し得る。ハンドトラッキングユニット426は、機械学習を介してキャプチャされたフレームから特徴を識別して、ユーザの手のポーズを推定し、中央モジュール420のIMUデータに基づいてユーザの手のポーズを調整し得る。さらに、ハンドトラッキングユニット426は、コントローラモジュール410のポーズを推定するために、ユーザの手のポーズをコントローラトラッキングユニット428に送信する。コントローラトラッキングユニット428は、ユーザの手のポーズ及びコントローラモジュール410のIMUデータ440を受信し、受信したデータを融合することによってコントローラモジュール410のポーズを推定する。
【0056】
特定の実施形態では、コントローラトラッキングユニット428は、異なるフレーム内で識別された特徴に基づいて対応データを判定し得る。対応データは、環境内のコントローラモジュール410の特徴の位置などの特徴の観測値及び計測値を含み得る。さらに、コントローラトラッキングユニット428はまた、所定の特徴の近くで収集されるステレオ計算を実行して、中央モジュール420がコントローラモジュール410をトラッキングするための追加情報を提供し得る。加えて、中央モジュール420のコントローラトラッキングユニット428は、対応データに対応するクラウド430にライブマップを要求し得る。特定の実施形態では、ライブマップはマップデータ444を含み得る。中央モジュール420のコントローラトラッキングユニット428はまた、コントローラモジュール410がローカル又はグローバルにライブマップ内に位置付けされるようにリモート再位置特定サービス444を要求し得る。特定の実施形態では、環境に対するコントローラモジュール410のポーズは、カメラ422によってキャプチャされたフレーム、例えば、ローカルに構築されたマップに基づいて構築され得る。特定の実施形態では、中央モジュール420のコントローラトラッキングユニット428はまた、(例えば、ローカルに構築された環境では、)クラウド430内に格納されたマップの更新のために、コントローラモジュール410の対応データをクラウド430に送信し得る。
【0057】
図5は、ある特定の実施形態による、コントローラをトラッキングするための例示的な方法500を示している。トラッキングシステムのコントローラモジュールは、ポータブルデバイス(例えば、入力ボタンを有するリモートコントローラ、タッチパッドを有するスマートパックなど)に実装され得る。トラッキングシステムの中央モジュールは、ウェアラブルデバイス(例えば、ヘッドマウントデバイスなど)に実装されるか、又は任意のコンピューティングシステム(例えば、スマートフォン、仮想現実システム、ゲームシステムなどのエンドユーザのデバイス)に提供若しくは表示され得、かつコントローラモジュールとペアリングされ得る。方法500は、ステップ510において、カメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写する第1の画像をキャプチャすることによって開始し得る。特定の実施形態では、カメラは、ユーザによって装着されたウェアラブルデバイスに実装された1つ以上のカメラであり得る。特定の実施形態では、ウェアラブルデバイスはコントローラであり得る。特定の実施形態では、ウェアラブルデバイスは、1つ以上のIMUを装備し得る。
【0058】
ステップ520において、方法500は、ユーザの手のポーズを推定するために、第1の画像から1つ以上の特徴を識別し得る。特定の実施形態では、方法500は、ウェアラブルデバイスのIMUデータをさらに受信して、ウェアラブルデバイスのポーズを推定し、ウェアラブルデバイスのポーズに基づいてユーザの手のポーズを更新し得る。さらに、ウェアラブルデバイスのポーズは、ウェアラブルデバイスのIMUデータ及びユーザの第1の画像に基づいて推定される。
【0059】
ステップ530において、方法500は、ユーザの手のポーズ、及びユーザの手とコントローラとの間の相対ポーズを画定する推定されたグリップに基づいて、コントローラの第1のポーズを推定し得る。
【0060】
ステップ540において、方法500は、コントローラのIMUデータを受信し得る。特定の実施形態では、コントローラのIMUデータは、第1の画像がキャプチャされた周波数よりも速い周波数で受信され得る。例えば、第1の画像は第1の周波数でキャプチャされ得、コントローラのIMUデータは第2の周波数でキャプチャされ得る。第2の周波数(例えば、500Hz)は、第1の周波数(例えば、30Hz)よりも高い。
【0061】
ステップ550において、方法500は、コントローラのIMUデータを使用してコントローラの第1のポーズを更新することによって、コントローラの第2のポーズを推定し得る。特定の実施形態では、方法500は、コントローラの更新された第1のポーズ及びコントローラのIMUデータに基づいて手のIMU予測ポーズを推定し、手のIMU予測ポーズに基づいて手の第2のポーズを推定し得る。特定の実施形態では、方法500は、推定されたグリップに基づいて環境に対するコントローラのポーズを推定し、コントローラのIMUデータに基づいて環境に対するコントローラのポーズを調整し、環境に対するコントローラの調整されたポーズ及びコントローラのIMUに基づいて手に対するコントローラのポーズを推定し、かつ環境に対するコントローラの調整されたポーズ及び手に対するコントローラの推定されたポーズに基づいてコントローラの第2のポーズを推定することによって、コントローラの第2のポーズを推定し得る。
【0062】
特定の実施形態では、方法500はさらに、カメラを使用して、環境内でコントローラを保持しているユーザの手の少なくとも一部を描写するユーザの第2の画像をキャプチャし、ユーザの第2の画像から1つ以上の特徴を識別し、かつユーザの第2の画像から識別された1つ以上の特徴に基づいて手の第3のポーズを推定し得る。さらに、手の第2のポーズを推定する周波数(例えば、500Hz)は、手の第3のポーズを推定する周波数(例えば、30Hz)よりも高い。
【0063】
特定の実施形態では、ウェアラブルデバイスは、ユーザの画像をキャプチャするように構成されたカメラと、ユーザの手のポーズを推定するように構成されたハンドトラッキングユニットと、コントローラの第2のポーズを推定するように構成されたコントローラトラッキングユニットと、を備え得る。
【0064】
特定の実施形態は、必要に応じて、図5の方法の1つ以上のステップを繰り返し得る。本開示は、図5の方法の特定のステップを特定の順序で発生するものとして説明及び図示しているが、本開示は、任意の好適な順序で発生する図5の方法の任意の好適なステップを想定している。さらに、本開示は、図5の方法の特定のステップを含むローカル位置特定のための例示的な方法を説明及び図示しているが、本開示は、任意の好適なステップを含むローカル位置特定のための任意の好適な方法を想定しており、必要に応じて、図5の方法のステップの全てを含むか、一部を含むか、又はいずれも含まない場合がある。さらに、本開示は、図5の方法の特定のステップを実行する特定の構成要素、デバイス、又はシステムを説明及び図示しているが、本開示は、図5の方法の任意の好適なステップを実行する任意の好適な構成要素、デバイス、又はシステムの任意の好適な組合せを想定している。
【0065】
図6は、例示的なコンピュータシステム600を示している。特定の実施形態では、1つ以上のコンピュータシステム600は、本明細書に記載又は図示された1つ以上の方法の1つ以上のステップを実行する。特定の実施形態では、1つ以上のコンピュータシステム600は、本明細書で説明又は図示される機能を提供する。特定の実施形態では、1つ以上のコンピュータシステム600上で実行されるソフトウェアは、本明細書に記載若しくは図示された1つ以上の方法の1つ以上のステップを実行するか、又は本明細書に記載若しくは図示された機能を提供する。特定の実施形態は、1つ以上のコンピュータシステム600の1つ以上の部分を含む。本明細書では、コンピュータシステムへの言及は、必要に応じて、コンピューティングデバイスを包含し得、逆もまた同様である。さらに、コンピュータシステムへの言及は、必要に応じて、1つ以上のコンピュータシステムを包含し得る。
【0066】
本開示は、任意の好適な数のコンピュータシステム600を想定している。本開示は、任意の好適な物理的形態をとるコンピュータシステム600を想定している。限定ではなく、例として、コンピュータシステム600は、組込みコンピュータシステム、システム・オン・チップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータ・オン・モジュール(COM)又はシステム・オン・モジュール(SOM))、デスクトップコンピュータシステム、ラップトップ若しくはノートブックコンピュータシステム、インタラクティブ・キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、又はこれらのうちの2つ以上の組合せであり得る。必要に応じて、コンピュータシステム600は、単一であるか若しくは分布しているか、複数の場所にまたがるか、複数の機械にまたがるか、複数のデータセンターにまたがるか、又は1つ以上のネットワーク内の1つ以上のクラウドコンポーネントを含み得るクラウド内に存在する、1つ以上のコンピュータシステム600を含み得る。必要に応じて、1つ以上のコンピュータシステム600は、本明細書に記載又は図示された1つ以上の方法の1つ以上のステップを実質的な空間的又は時間的制限なしに実行し得る。限定ではなく、例として、1つ以上のコンピュータシステム600は、本明細書に記載又は図示された1つ以上の方法の1つ以上のステップをリアルタイム又はバッチモードで実行し得る。1つ以上のコンピュータシステム600は、必要に応じて、本明細書に記載又は図示された1つ以上の方法の1つ以上のステップを異なる時間又は異なる場所で実行し得る。
【0067】
特定の実施形態では、コンピュータシステム600は、プロセッサ602、メモリ604、ストレージ606、入力/出力(I/O)インターフェース608、通信インターフェース610、及びバス612を含む。本開示は、特定の構成内の特定の数の特定の構成要素を有する特定のコンピュータシステムを説明及び図示しているが、本開示は、任意の好適な構成内の任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを想定している。
【0068】
特定の実施形態では、プロセッサ602は、コンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ604、又はストレージ606から命令を取り出し(又はフェッチし)、それらを復号して実行し、次いで、内部レジスタ、内部キャッシュ、メモリ604、又はストレージ606に1つ以上の結果を書き込み得る。特定の実施形態においては、プロセッサ602は、データ、命令、又はアドレスのための1つ以上の内部キャッシュを含み得る。本開示は、必要に応じて、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ602を想定している。限定ではなく、例として、プロセッサ602は、1つ以上の命令キャッシュ、1つ以上のデータキャッシュ、及び1つ以上の変換ルックアサイド・バッファ(TLB)を含み得る。命令キャッシュ内の命令は、メモリ604又はストレージ606内の命令のコピーであり得、命令キャッシュは、プロセッサ602によるそれらの命令の取り出しを高速化し得る。データキャッシュ内のデータは、プロセッサ602で実行する命令が、プロセッサ602で実行する後続の命令によるアクセスのために、又はメモリ604若しくはストレージ606への書き込みのために、プロセッサ602で実行された以前の命令の結果で動作するための、メモリ604又はストレージ606内のデータのコピー、又は他の適切なデータであり得る。データキャッシュは、プロセッサ602による読み込み動作又は書き込み動作を高速化し得る。TLBは、プロセッサ602の仮想アドレス変換を高速化し得る。特定の実施形態においては、プロセッサ602は、データ、命令、又はアドレスのための1つ以上の内部レジスタを含み得る。本開示は、必要に応じて、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ602を想定している。必要に応じて、プロセッサ602は、1つ以上の算術論理演算ユニット(ALU)を含み得るか、マルチコアプロセッサであり得るか、又は1つ以上のプロセッサ602を含み得る。本開示は、特定のプロセッサを説明及び例示しているが、本開示は、任意の好適なプロセッサを想定している。
【0069】
特定の実施形態では、メモリ604は、プロセッサ602が実行するための命令又はプロセッサ602が動作するためのデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム600は、ストレージ606又は別のソース(例えば、別のコンピュータシステム600など)からメモリ604に命令をロードし得る。次いで、プロセッサ602は、メモリ604から内部レジスタ又は内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ602は、内部レジスタ又は内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中又は実行後に、プロセッサ602は、(中間結果又は最終結果であり得る)1つ以上の結果を内部レジスタ又は内部キャッシュに書き込み得る。次いで、プロセッサ602は、それらの結果のうちの1つ以上をメモリ604に書き込み得る。特定の実施形態では、プロセッサ602は、(ストレージ606又は他の場所とは対照的に)1つ以上の内部レジスタ若しくは内部キャッシュ又はメモリ604内の命令のみを実行し、(ストレージ606又は他の場所とは対照的に)1つ以上の内部レジスタ若しくは内部キャッシュ又はメモリ604内のデータのみに対して動作する。(各々がアドレスバス及びデータバスを含み得る)1つ以上のメモリバスは、プロセッサ602をメモリ604に結合し得る。バス612は、後述するように、1つ以上のメモリバスを含み得る。特定の実施形態においては、1つ以上のメモリ管理ユニット(MMU)が、プロセッサ602とメモリ604との間に存在し、プロセッサ602によって要求されるメモリ604へのアクセスを容易にする。特定の実施形態においては、メモリ604は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、必要に応じて、揮発性メモリであってもよい。必要に応じて、このRAMは、ダイナミックRAM(DRAM)又はスタティックRAM(SRAM)であってもよい。さらに、必要に応じて、このRAMは、シングルポート又はマルチポートRAMであってもよい。本開示は、任意の好適なRAMを想定している。メモリ604は、必要に応じて、1つ以上のメモリ604を含み得る。本開示は、特定のメモリを説明及び例示しているが、本開示は、任意の好適なメモリを想定している。
【0070】
特定の実施形態においては、ストレージ606は、データ又は命令のための大容量ストレージを含む。限定ではなく、例として、ストレージ606は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、若しくはユニバーサル・シリアル・バス(USB)ドライブ、又はこれらのうちの2つ以上の組合せを含み得る。ストレージ606は、必要に応じて、取り外し可能又は取り外し不可能な(すなわち固定された)媒体を含み得る。ストレージ606は、必要に応じて、コンピュータシステム600の内部にあっても外部にあってもよい。特定の実施形態では、ストレージ606は、不揮発性ソリッドステートメモリである。特定の実施形態においては、ストレージ606は、読み出し専用メモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的変更可能ROM(EAROM)、若しくはフラッシュメモリ、又はこれらのうちの2つ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ606を想定している。ストレージ606は、必要に応じて、プロセッサ602とストレージ606との間の通信を容易にする1つ以上のストレージ制御ユニットを含み得る。必要に応じて、ストレージ606は、1つ以上のストレージ606を含み得る。本開示は、特定のストレージを記載及び図示しているが、本開示は、任意の好適なストレージを想定している。
【0071】
特定の実施形態では、I/Oインターフェース608は、コンピュータシステム600と1つ以上のI/Oデバイスとの間の通信のための1つ以上のインターフェースを提供するハードウェア、ソフトウェア、又はその両方を含む。コンピュータシステム600は、必要に応じて、これらのI/Oデバイスのうちの1つ以上を含み得る。これらのI/Oデバイスのうちの1つ以上は、人とコンピュータシステム600との間の通信を可能にし得る。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、又はこれらのうちの2つ以上の組合せを含み得る。I/Oデバイスは、1つ以上のセンサを含み得る。本開示は、任意の好適なI/Oデバイス及びそれらのための任意の好適なI/Oインターフェース608を想定している。必要に応じて、I/Oインターフェース608は、プロセッサ602がこれらのI/Oデバイスのうちの1つ以上を駆動することを可能にする1つ以上のデバイス又はソフトウェアドライバを含み得る。I/Oインターフェース608は、必要に応じて、1つ以上のI/Oインターフェース608を含み得る。本開示は、特定のI/Oインターフェースを説明及び例示しているが、本開示は、任意の好適なI/Oインターフェースを想定している。
【0072】
特定の実施形態では、通信インターフェース610は、コンピュータシステム600と、1つ以上の他のコンピュータシステム600又は1つ以上のネットワークとの間の通信(例えば、パケットベースの通信など)のための1つ以上のインターフェースを提供するハードウェア、ソフトウェア、又はその両方を含む。限定ではなく、例として、通信インターフェース610は、イーサネット又は他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)若しくはネットワークアダプタ、又はWI-FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)若しくは無線アダプタを含み得る。本開示は、任意の好適なネットワーク及びそのための任意の好適な通信インターフェース610を想定している。限定ではなく、例として、コンピュータシステム600は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、若しくはインターネットの1つ以上の部分、又はこれらのうちの2つ以上の組合せと通信し得る。これらのネットワークのうちの1つ以上の、1つ以上の部分は、有線又は無線であり得る。一例として、コンピュータシステム600は、無線PAN(WPAN)(例えば、BLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、セルラー電話網(例えば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)ネットワーク)、若しくは他の好適な無線ネットワーク、又はこれらのうちの2つ以上の組合せと通信し得る。コンピュータシステム600は、必要に応じて、これらのネットワークのうちのいずれかのための任意の好適な通信インターフェース610を含み得る。通信インターフェース610は、必要に応じて、1つ以上の通信インターフェース610を含み得る。本開示は、特定の通信インターフェースを説明及び図示しているが、本開示は、任意の好適な通信インターフェースを想定している。
【0073】
特定の実施形態では、バス612は、コンピュータシステム600の構成要素を互いに結合するハードウェア、ソフトウェア、又はその両方を含む。限定ではなく、例として、バス612は、アクセラレーテッド・グラフィックス・ポート(AGP)若しくは他のグラフィックスバス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、INFINIBANDインターコネクト、ローピンカウント(LPC)バス、メモリバス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、若しくは別の好適なバス、又はこれらのうちの2つ以上の組合せを含み得る。バス612は、必要に応じて、1つ以上のバス612を含み得る。本開示は、特定のバスを説明及び図示しているが、本開示は、任意の好適なバス又は相互接続を想定している。
【0074】
本明細書では、1つの若しくは複数のコンピュータ可読非一時的記憶媒体は、必要に応じて、1つ以上の半導体ベース若しくは他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向けIC(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスク、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、SECURE DIGITALカード若しくはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、又はこれらのうちの2つ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、必要に応じて、揮発性、不揮発性、又は揮発性と不揮発性との組合せであり得る。
【0075】
本明細書では、「又は」は、他に明示的に示されているか、又は文脈によって他に示されている場合でない限り、包括的であり、排他的ではない。したがって、本明細書では、「A又はB」は、他に明示的に示されているか、又は文脈によって他に示されている場合でない限り、「A、B、又はその両方」を意味する。さらに、「及び」は、他に明示的に示されているか、又は文脈によって他に示されている場合でない限り、合同及び個別の両方である。したがって、本明細書では、「A及びB」は、他に明示的に示されているか、又は文脈によって他に示されている場合でない限り、「A及びBは、一緒に又は別々に」を意味する。
【0076】
本開示の範囲は、当業者が理解するであろう、本明細書に記載又は図示された例示的な実施形態に対する全ての変更、置換、変形、変更、及び修正を包含する。本開示の範囲は、本明細書に記載又は図示された例示的な実施形態に限定されない。さらに、本開示は、特定の構成要素、要素、特徴、機能、動作、又はステップを含むものとして本明細書のそれぞれの実施形態を説明及び図示しているが、これらの実施形態のいずれも、当業者が理解するであろう本明細書のいずれかに記載又は示されている構成要素、要素、特徴、機能、動作、又はステップのうちのいずれかの任意の組合せ又は順列を含み得る。さらに、特定の機能を実行するように適合されたか、配置されたか、可能であるか、構成されたか、可能にされたか、動作可能であるか、若しくは機能する装置若しくはシステム又は装置若しくはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、又は構成要素がそのように適合されたか、配置されたか、可能であるか、構成されたか、可能にされたか、動作可能であるか、又は機能する限り、それ又はその特定の機能が起動され、オンにされ、又はロック解除されているか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の利点を提供するものとして特定の実施形態を説明又は例示しているが、特定の実施形態は、これらの利点のいずれも提供しないか、一部を提供するか、又は全てを提供する場合がある。
【0077】
様々な実施形態によれば、本明細書の特徴の利点は、本出願が、LEDを装備するためにペアリングされたコントローラを必要とせずに、依然として正確かつ費用効率の高いトラッキングのままであるトラッキング方法を提供できることである。トラッキング方法は、トラッキング方法がグリップに基づいてコントローラのポーズを推定することができるように、キャプチャされた画像から識別された特徴に基づいてユーザの手のポーズを推定し、次いで、ユーザの手のポーズに基づいてユーザの手のグリップを推定する。さらに、トラッキング方法は、コントローラのIMUデータに基づいてコントローラのポーズを調整/較正することができる。加えて、トラッキング方法の処理時間もまた、IMUデータによって提供される予測によって改善することができる。本開示の特定の実施形態はまた、LEDなしで、又はコントローラ上に配設されたLEDが故障したときに、コントローラをトラッキングすることを可能にする。したがって、本開示に開示された特定の実施形態は、コントローラのための改善された費用効率の高いトラッキング方法を提供し得る。
【0078】
図中のプロセスは、本発明のある特定の実施形態によって実行される動作の特定の順序を示し得るが、そのような順序は例示的なものであることを理解されたい(例えば、代替的な実施形態は、異なる順序で動作を実行し得、ある特定の動作を組み合わせ得、特定の動作と重複し得る、など)。
【0079】
本発明をいくつかの実施形態の観点から説明したが、当業者は、本発明が記載された実施形態に限定されず、添付の特許請求の範囲の範囲内で修正及び変更を加えて実施され得ることを認識するであろう。したがって、説明は、限定ではなく例示とみなされるべきである。
図1A
図1B
図2
図3
図4
図5
図6
【国際調査報告】