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

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

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

特許76351306自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム
<>
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図1
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図2
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図3
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図4
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図5
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図6
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図7
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図8
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図9
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図10
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図11
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図12
  • 特許-6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-14
(45)【発行日】2025-02-25
(54)【発明の名称】6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20250217BHJP
   G01R 33/02 20060101ALI20250217BHJP
【FI】
G06F3/01
G01R33/02 B
【請求項の数】 17
(21)【出願番号】P 2021543158
(86)(22)【出願日】2020-01-24
(65)【公表番号】
(43)【公表日】2022-03-16
(86)【国際出願番号】 US2020015029
(87)【国際公開番号】W WO2020159827
(87)【国際公開日】2020-08-06
【審査請求日】2023-01-05
(31)【優先権主張番号】62/797,776
(32)【優先日】2019-01-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100104824
【弁理士】
【氏名又は名称】穐場 仁
(74)【代理人】
【識別番号】100121463
【弁理士】
【氏名又は名称】矢口 哲也
(74)【代理人】
【識別番号】100137969
【弁理士】
【氏名又は名称】岡部 憲昭
(72)【発明者】
【氏名】デッゲス, ロナルド ジョセフ ジュニア
(72)【発明者】
【氏名】ワン, シェン
(72)【発明者】
【氏名】ワーナー, アンディ
(72)【発明者】
【氏名】グジャラーティ, アカシ
【審査官】木内 康裕
(56)【参考文献】
【文献】国際公開第2017/189450(WO,A1)
【文献】米国特許出願公開第2005/0062469(US,A1)
【文献】特開2003-240532(JP,A)
【文献】国際公開第2014/125809(WO,A1)
【文献】特表2013-527915(JP,A)
【文献】米国特許出願公開第2014/0051983(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/04895
G01R 33/02
(57)【特許請求の範囲】
【請求項1】
半球の曖昧性を解決する方法であって、前記方法は、
ハンドヘルド式コントローラにおいて1つ以上の磁場を放出することと、
ヘッドセットに対して位置付けられる1つ以上のセンサによって、前記1つ以上の磁場を検出することと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出することと、
第1の時間間隔の間に第1の処理スタックを実行することであって、前記第1の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置および前記第1の配向と、前記移動データとの間の第1の相違を計算することとによって実行される、ことと、
第2の時間間隔の間に第2の処理スタックを実行することであって、前記第2の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置および前記第2の配向と、前記移動データとの間の第2の相違を計算することとによって実行される、ことと、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックが実行を継続することを可能にすることと
を含む、方法。
【請求項2】
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することをさらに含む、請求項1に記載の方法。
【請求項3】
前記第1の相違と閾値を比較することと、
前記第1の相違が、前記閾値を超過することを決定することと、
前記第1の相違が、前記閾値を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記第1の相違と前記第2の相違を比較することと、
前記第1の相違が、前記第2の相違を超過することを決定することと、
前記第1の相違が、前記第2の相違を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
をさらに含む、請求項2に記載の方法。
【請求項5】
前記移動データは、前記ハンドヘルド式コントローラに対応し、前記移動データは、前記ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって検出される、請求項1に記載の方法。
【請求項6】
前記移動データは、前記ヘッドセットに対応し、前記移動データは、前記ヘッドセット内に位置付けられる慣性測定ユニット(IMU)によって検出される、請求項1に記載の方法。
【請求項7】
前記移動データは、前記第1の時間間隔および前記第2の時間間隔の一方または両方の間に検出される、請求項1に記載の方法。
【請求項8】
前記第1の時間間隔は、前記第2の時間間隔と並行してまたは同時に生じる、請求項1に記載の方法。
【請求項9】
前記第1の半球は、前記ヘッドセットを基準として表半球であり、前記第2の半球は、
前記ヘッドセットを基準として裏半球である、請求項1に記載の方法。
【請求項10】
システムであって、
1つ以上の磁場を放出するように構成される磁場エミッタを備えるハンドヘルド式コントローラと、
前記1つ以上の磁場を検出するように構成される1つ以上の磁場センサを備えるヘッドセットと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出するように構成される移動センサと、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
第1の時間間隔の間に第1の処理スタックを実行することであって、前記第1の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置および前記第1の配向と、前記移動データとの間の第1の相違を計算することとによって実行される、ことと、
第2の時間間隔の間に第2の処理スタックを実行することであって、前記第2の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置および前記第2の配向と、前記移動データとの間の第2の相違を計算することとによって実行される、ことと、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックが実行を継続することを可能にすることと
を含む動作を実施するように構成される、1つ以上のプロセッサと
を備える、システム。
【請求項11】
前記動作はさらに、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することを含む、請求項10に記載のシステム。
【請求項12】
前記移動データは、前記ハンドヘルド式コントローラに対応し、前記移動データは、前記ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって検出される、請求項10に記載のシステム。
【請求項13】
前記第1の時間間隔は、前記第2の時間間隔と並行してまたは同時に生じる、請求項10に記載のシステム。
【請求項14】
非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、命令を含んでおり、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ハンドヘルド式コントローラにおいて1つ以上の磁場を放出することと、
ヘッドセットに対して位置付けられる1つ以上のセンサによって、前記1つ以上の磁場を検出することと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出することと、
第1の時間間隔の間に第1の処理スタックを実行することであって、前記第1の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置および前記第1の配向と、前記移動データとの間の第1の相違を計算することとによって実行される、ことと、
第2の時間間隔の間に第2の処理スタックを実行することであって、前記第2の処理スタックが、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置および前記第2の配向と、前記移動データとの間の第2の相違を計算することとによって実行される、ことと、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックが実行を継続することを可能にすることと
を含む動作を実施させる、非一過性コンピュータ可読媒体。
【請求項15】
前記動作はさらに、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することを含む、請求項14に記載の非一過性コンピュータ可読媒体。
【請求項16】
前記動作はさらに、
前記第1の相違と閾値を比較することと、
前記第1の相違が、前記閾値を超過することを決定することと、
前記第1の相違が、前記閾値を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
を含む、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項17】
前記動作はさらに、
前記第1の相違と前記第2の相違を比較することと、
前記第1の相違が、前記第2の相違を超過することを決定することと、
前記第1の相違が、前記第2の相違を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
を含む、請求項15に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
(関連出願の相互参照)
本願は、その内容が、その全体として本明細書に組み込まれる、2019年1月28日に出願され、「METHOD AND SYSTEM FOR RESOLVING HEMISPHERE AMBIGUITY IN SIX DEGREE OF FREEDOM POSE MEASUREMENTS」と題された、米国仮特許出願第62/797,776号の優先権の利益を主張する。
【0002】
現代のコンピューティングおよびディスプレイ技術は、いわゆる、「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部は、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。仮想現実、すなわち、「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実、すなわち、「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【0003】
これらのディスプレイ技術において成された進展にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する、改良された方法、システム、およびデバイスの必要性が、存在する。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、概して、光学システムの性能およびユーザ体験を改良するための技法に関する。より具体的には、本開示の実施形態は、ハンドヘルド式コントローラがデバイスの動作を補助するために採用される、拡張現実(AR)または仮想現実(VR)デバイスを動作させるための方法を提供する。本開示の発明の概要が、下記に与えられる実施例を参照して説明される。下記に使用されるように、一連の実施例への任意の言及は、それらの実施例のそれぞれへの離接的な言及として理解されるものである(例えば、「実施例1-4」は、「実施例1、2、3、または4」として理解されるものである)。
【0005】
実施例1は、1つ以上のセンサを備えるシステムにおける、半球の曖昧性を解決する方法であって、ハンドヘルド式コントローラにおいて1つ以上の磁場を放出するステップと、本システムのヘッドセットまたはベルトパック内に位置付けられる1つ以上のセンサによって、1つ以上の磁場を検出するステップと、第1の時間間隔の間に第1の処理スタックを行うステップであって、1つ以上の磁場に基づいて、ヘッドセットを基準とした、第1の半球内でのハンドヘルド式コントローラの第1の位置および第1の配向を決定するステップと、ハンドヘルド式コントローラまたはヘッドセットのいずれかに対応する、第1の位置、第1の配向、および移動データに基づいて、第1の相違を計算するステップとを含む、ステップと、第2の時間間隔の間に第2の処理スタックを行うステップであって、1つ以上の磁場に基づいて、ヘッドセットを基準とした、第2の半球内でのハンドヘルド式コントローラの第2の位置および第2の配向を決定するステップであって、第2の半球は、第1の半球と正反対にある、ステップと、第2の位置、第2の配向、および移動データに基づいて、第2の相違を計算するステップとを含む、ステップと、第1の相違および第2の相違の一方または両方に基づいて、第1の処理スタックまたは第2の処理スタックのいずれかを中止するステップとを含む、方法である。
【0006】
実施例2は、ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって移動データを検出するステップをさらに含む、実施例1に記載の方法である。
【0007】
実施例3は、ヘッドセット内に位置付けられる慣性測定ユニット(IMU)によって移動データを検出するステップをさらに含む、実施例1に記載の方法である。
【0008】
実施例4は、移動データが、第1の時間間隔および第2の時間間隔の一方または両方の間に検出される、実施例2または3に記載の方法である。
【0009】
実施例5は、移動データが、第1の時間間隔および第2の時間間隔の両方に先立って検出される、実施例2または3に記載の方法である。
【0010】
実施例6は、第1の時間間隔が、第2の時間間隔と並行して生じる、実施例1に記載の方法である。
【0011】
実施例7は、第1の時間間隔が、第2の時間間隔と同時に生じる、実施例1に記載の方法である。
【0012】
実施例8は、第1の時間間隔が、第1の開始時間を有し、第2の時間間隔が、第2の開始時間を有し、第1の開始時間および第2の開始時間が、同時に生じる、または閾値未満だけ分離される、実施例1に記載の方法である。
【0013】
実施例9は、第1の相違と閾値を比較するステップと、第1の相違が、閾値を超過することを決定するステップと、第1の相違が、閾値を超過することを決定するステップに応答して、第1の処理スタックを中止するステップと、第2の処理スタックが継続することを可能にするステップとをさらに含む、実施例1に記載の方法である。
【0014】
実施例10は、第2の相違と閾値を比較するステップと、第2の相違が、閾値を超過することを決定するステップと、第2の相違が、閾値を超過することを決定するステップに応答して、第2の処理スタックを中止するステップと、第1の処理スタックが継続することを可能にするステップとをさらに含む、実施例1に記載の方法である。
【0015】
実施例11は、第1の相違と第2の相違を比較するステップと、第1の相違が、第2の相違を超過することを決定するステップと、第1の相違が、第2の相違を超過することを決定するステップに応答して、第1の処理スタックを中止するステップと、第2の処理スタックが継続することを可能にするステップとをさらに含む、実施例1に記載の方法である。
【0016】
実施例12は、第1の相違と第2の相違を比較するステップと、第2の相違が、第1の相違を超過することを決定するステップと、第2の相違が、第1の相違を超過することを決定するステップに応答して、第2の処理スタックを中止するステップと、第1の処理スタックが継続することを可能にするステップとをさらに含む、実施例1に記載の方法である。
【0017】
実施例13は、第1の半球が、ヘッドセットを基準として表半球であり、第2の半球が、ヘッドセットを基準として裏半球である、実施例1に記載の方法である。
【0018】
実施例14は、第1の位置および第1の配向、または第2の位置および第2の配向のいずれかに基づいて、ユーザに仮想コンテンツを配信するステップをさらに含む、実施例1に記載の方法である。
【0019】
実施例15は、本システムが、光学デバイスである、実施例1に記載の方法である。
【0020】
実施例16は、システムであって、1つ以上の磁場を放出するように構成される、磁場エミッタを備える、ハンドヘルド式コントローラと、1つ以上の磁場を検出するように構成される1つ以上の磁場センサを備える、ヘッドセットまたはベルトパックと、第1の時間間隔の間に第1の処理スタックを行うステップであって、1つ以上の磁場に基づいて、ヘッドセットを基準とした、第1の半球内でのハンドヘルド式コントローラの第1の位置および第1の配向を決定するステップと、ハンドヘルド式コントローラまたはヘッドセットのいずれかに対応する第1の位置、第1の配向、および移動データに基づいて、第1の相違を計算するステップとを含む、ステップと、第2の時間間隔の間に第2の処理スタックを行うステップであって、1つ以上の磁場に基づいて、ヘッドセットを基準とした、第2の半球内でのハンドヘルド式コントローラの第2の位置および第2の配向を決定するステップであって、第2の半球は、第1の半球の正反対にある、ステップと、第2の位置、第2の配向、および移動データに基づいて、第2の相違を計算するステップとを含む、ステップと、第1の相違および第2の相違の一方または両方に基づいて、第1の処理スタックまたは第2の処理スタックのいずれかを中止するステップとを含む、動作を実施するように構成される、プロセッサとを備える、システムである。
【0021】
実施例17は、ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって移動データを検出するステップをさらに含む、実施例16に記載のシステムである。
【0022】
実施例18は、動作がさらに、ヘッドセット内に位置付けられる慣性測定ユニット(IMU)によって移動データを検出するステップを含む、実施例16に記載のシステムである。
【0023】
実施例19は、移動データが、第1の時間間隔および第2の時間間隔の一方または両方の間に検出される、実施例17または18に記載のシステムである。
【0024】
実施例20は、移動データが、第1の時間間隔および第2の時間間隔の両方に先立って検出される、実施例17または18に記載のシステムである。
【0025】
実施例21は、第1の時間間隔が、第2の時間間隔と並行して生じる、実施例16に記載のシステムである。
【0026】
実施例22は、第1の時間間隔が、第2の時間間隔と同時に生じる、実施例16に記載のシステムである。
【0027】
実施例23は、第1の時間間隔が、第1の開始時間を有し、第2の時間間隔が、第2の開始時間を有し、第1の開始時間および第2の開始時間が、同時に生じる、または閾値未満だけ分離される、実施例16に記載のシステムである。
【0028】
実施例24は、動作がさらに、第1の相違と閾値を比較するステップと、第1の相違が、閾値を超過することを決定するステップと、第1の相違が、閾値を超過することを決定するステップに応答して、第1の処理スタックを中止するステップと、第2の処理スタックが継続することを可能にするステップとを含む、実施例16に記載のシステムである。
【0029】
実施例25は、動作がさらに、第2の相違と閾値を比較するステップと、第2の相違が、閾値を超過することを決定するステップと、第2の相違が、閾値を超過することを決定するステップに応答して、第2の処理スタックを中止するステップと、第1の処理スタックが継続することを可能にするステップとを含む、実施例16に記載のシステムである。
【0030】
実施例26は、動作がさらに、第1の相違と第2の相違を比較するステップと、第1の相違が、第2の相違を超過することを決定するステップと、第1の相違が、第2の相違を超過することを決定するステップに応答して、第1の処理スタックを中止するステップと、第2の処理スタックが継続することを可能にするステップとを含む、実施例16に記載のシステムである。
【0031】
実施例27は、動作がさらに、第1の相違と第2の相違を比較するステップと、第2の相違が、第1の相違を超過することを決定するステップと、第2の相違が、第1の相違を超過することを決定するステップに応答して、第2の処理スタックを中止するステップと、第1の処理スタックが継続することを可能にするステップとを含む、実施例16に記載のシステムである。
【0032】
実施例28は、第1の半球が、ヘッドセットを基準として表半球であり、第2の半球が、ヘッドセットを基準として裏半球である、実施例16に記載のシステムである。
【0033】
実施例29は、動作がさらに、第1の位置および第1の配向、または第2の位置および第2の配向のいずれかに基づいて、ユーザに仮想コンテンツを配信するステップを含む、実施例16に記載のシステムである。
【0034】
実施例30は、本システムが、光学デバイスである、実施例16に記載のシステムである。
【0035】
実施例31は、半球の曖昧性を解決する方法であって、ハンドヘルド式コントローラにおいて1つ以上の磁場を放出するステップと、ヘッドセットに対して位置付けられる1つ以上のセンサによって、1つ以上の磁場を検出するステップと、ハンドヘルド式コントローラまたはヘッドセットに対応する移動データを検出するステップと、第1の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第1の半球内でのハンドヘルド式コントローラの第1の位置および第1の配向を決定するステップと、第1の位置、第1の配向、および移動データに基づいて、第1の相違を計算するステップと、第2の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第2の半球内でのハンドヘルド式コントローラの第2の位置および第2の配向を決定するステップであって、第2の半球は、第1の半球の正反対にある、ステップと、第2の位置、第2の配向、および移動データに基づいて、第2の相違を計算するステップとを含む、方法である。
【0036】
実施例32は、システムであって、1つ以上の磁場を放出するように構成される磁場エミッタを備える、ハンドヘルド式コントローラと、1つ以上の磁場を検出するように構成される1つ以上の磁場センサを備える、ヘッドセットと、ハンドヘルド式コントローラまたはヘッドセットに対応する移動データを検出するように構成される、移動センサと、第1の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第1の半球内でのハンドヘルド式コントローラの第1の位置および第1の配向を決定するステップと、第1の位置、第1の配向、および移動データに基づいて、第1の相違を計算するステップと、第2の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第2の半球内でのハンドヘルド式コントローラの第2の位置および第2の配向を決定するステップであって、第2の半球は、第1の半球の正反対にある、ステップと、第2の位置、第2の配向、および移動データに基づいて、第2の相違を計算するステップとを含む、動作を実施するように構成される、1つ以上のプロセッサとを備える、システムである。
【0037】
実施例33は、非一過性コンピュータ可読媒体であって、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、ハンドヘルド式コントローラにおいて1つ以上の磁場を放出するステップと、ヘッドセットに対して位置付けられる1つ以上のセンサによって、1つ以上の磁場を検出するステップと、ハンドヘルド式コントローラまたはヘッドセットに対応する移動データを検出するステップと、第1の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第1の半球内でのハンドヘルド式コントローラの第1の位置および第1の配向を決定するステップと、第1の位置、第1の配向、および移動データに基づいて、第1の相違を計算するステップと、第2の時間間隔の間に、検出された1つ以上の磁場に基づいて、ヘッドセットを基準とした、第2の半球内でのハンドヘルド式コントローラの第2の位置および第2の配向を決定するステップであって、第2の半球は、第1の半球の正反対にある、ステップと、第2の位置、第2の配向、および移動データに基づいて、第2の相違を計算するステップとを含む動作を実施させる、命令を含む、非一過性コンピュータ可読媒体である。
本願発明は、さらに、以下の項目を提供する。
(項目1)
半球の曖昧性を解決する方法であって、前記方法は、
ハンドヘルド式コントローラにおいて1つ以上の磁場を放出することと、
ヘッドセットに対して位置付けられる1つ以上のセンサによって、前記1つ以上の磁場を検出することと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出することと、
第1の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置、前記第1の配向、および前記移動データに基づいて、第1の相違を計算することと、
第2の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置、前記第2の配向、および前記移動データに基づいて、第2の相違を計算することと
を含む、方法。
(項目2)
前記第1の時間間隔の間に第1の処理スタックを行うことであって、前記第1の処理スタックを行うことは、前記第1の位置および前記第1の配向を決定することと、前記第1の相違を計算することとを含む、ことと、
前記第2の時間間隔の間に第2の処理スタックを行うことであって、前記第2の処理スタックを行うことは、前記第2の位置および前記第2の配向を決定することと、前記第2の相違を計算することとを含む、ことと
をさらに含む、項目1に記載の方法。
(項目3)
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することをさらに含む、項目2に記載の方法。
(項目4)
前記第1の相違と閾値を比較することと、
前記第1の相違が、前記閾値を超過することを決定することと、
前記第1の相違が、前記閾値を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
をさらに含む、項目3に記載の方法。
(項目5)
前記第1の相違と前記第2の相違を比較することと、
前記第1の相違が、前記第2の相違を超過することを決定することと、
前記第1の相違が、前記第2の相違を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
をさらに含む、項目3に記載の方法。
(項目6)
前記移動データは、前記ハンドヘルド式コントローラに対応し、前記移動データは、前記ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって
検出される、項目1に記載の方法。
(項目7)
前記移動データは、前記ヘッドセットに対応し、前記移動データは、前記ヘッドセット内に位置付けられる慣性測定ユニット(IMU)によって検出される、項目1に記載の方法。
(項目8)
前記移動データは、前記第1の時間間隔および前記第2の時間間隔の一方または両方の間に検出される、項目1に記載の方法。
(項目9)
前記第1の時間間隔は、前記第2の時間間隔と並行してまたは同時に生じる、項目1に記載の方法。
(項目10)
前記第1の半球は、前記ヘッドセットを基準として表半球であり、前記第2の半球は、前記ヘッドセットを基準として裏半球である、項目1に記載の方法。
(項目11)
システムであって、
1つ以上の磁場を放出するように構成される磁場エミッタを備えるハンドヘルド式コントローラと、
前記1つ以上の磁場を検出するように構成される1つ以上の磁場センサを備えるヘッドセットと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出するように構成される移動センサと、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
第1の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置、前記第1の配向、および前記移動データに基づいて、第1の相違を計算することと、
第2の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置、前記第2の配向、および前記移動データに基づいて、第2の相違を計算することと
を含む動作を実施するように構成される、1つ以上のプロセッサと
を備える、システム。
(項目12)
前記動作はさらに、
前記第1の時間間隔の間に第1の処理スタックを行うことであって、前記第1の処理スタックを行うことは、前記第1の位置および前記第1の配向を決定することと、前記第1の相違を計算することとを含む、ことと、
前記第2の時間間隔の間に第2の処理スタックを行うことであって、前記第2の処理スタックを行うことは、前記第2の位置および前記第2の配向を決定することと、前記第2の相違を計算することとを含む、ことと
を含む、項目11に記載のシステム。
(項目13)
前記動作はさらに、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することを含む、項目12に記載のシステム。
(項目14)
前記移動データは、前記ハンドヘルド式コントローラに対応し、前記移動データは、前記ハンドヘルド式コントローラ内に位置付けられる慣性測定ユニット(IMU)によって検出される、項目11に記載のシステム。
(項目15)
前記第1の時間間隔は、前記第2の時間間隔と並行してまたは同時に生じる、項目11に記載のシステム。
(項目16)
非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、命令を含んでおり、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ハンドヘルド式コントローラにおいて1つ以上の磁場を放出することと、
ヘッドセットに対して位置付けられる1つ以上のセンサによって、前記1つ以上の磁場を検出することと、
前記ハンドヘルド式コントローラまたは前記ヘッドセットに対応する移動データを検出することと、
第1の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第1の半球内での前記ハンドヘルド式コントローラの第1の位置および第1の配向を決定することと、
前記第1の位置、前記第1の配向、および前記移動データに基づいて、第1の相違を計算することと、
第2の時間間隔の間に、
前記検出された1つ以上の磁場に基づいて、前記ヘッドセットを基準とした第2の半球内での前記ハンドヘルド式コントローラの第2の位置および第2の配向を決定することであって、前記第2の半球は、前記第1の半球の正反対にある、ことと、
前記第2の位置、前記第2の配向、および前記移動データに基づいて、第2の相違を計算することと
を含む動作を実施させる、非一過性コンピュータ可読媒体。
(項目17)
前記動作はさらに、
前記第1の時間間隔の間に第1の処理スタックを行うことであって、前記第1の処理スタックを行うことは、前記第1の位置および前記第1の配向を決定することと、前記第1の相違を計算することとを含む、ことと、
前記第2の時間間隔の間に第2の処理スタックを行うことであって、前記第2の処理スタックを行うことは、前記第2の位置および前記第2の配向を決定することと、前記第2の相違を計算することとを含む、ことと
を含む、項目16に記載の非一過性コンピュータ可読媒体。
(項目18)
前記動作はさらに、
前記第1の相違および前記第2の相違の一方または両方に基づいて、前記第1の処理スタックまたは前記第2の処理スタックのいずれかを中止することを含む、項目17に記載の非一過性コンピュータ可読媒体。
(項目19)
前記動作はさらに、
前記第1の相違と閾値を比較することと、
前記第1の相違が、前記閾値を超過することを決定することと、
前記第1の相違が、前記閾値を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
を含む、項目18に記載の非一過性コンピュータ可読媒体。
(項目20)
前記動作はさらに、
前記第1の相違と前記第2の相違を比較することと、
前記第1の相違が、前記第2の相違を超過することを決定することと、
前記第1の相違が、前記第2の相違を超過することを決定することに応答して、
前記第1の処理スタックを中止することと、
前記第2の処理スタックが継続することを可能にすることと
を含む、項目18に記載の非一過性コンピュータ可読媒体。
【図面の簡単な説明】
【0038】
本開示のさらなる理解を提供するために含まれる、付随の図面は、本明細書に組み込まれ、その一部を成し、本開示の実施形態を図示し、発明を実施するための形態とともに、本開示の原理を解説する役割を果たす。本開示の基本的な理解およびこれが実践され得る種々の方法に関して必要であり得るよりも詳細に、本開示の構造的詳細を示す試みは、行われない。
【0039】
図1図1は、いくつかの実施形態による、ウェアラブル拡張現実(AR)デバイスを通して視認されるような、AR場面を図示する。
【0040】
図2図2は、ARシステムの種々の可能性として考えられるコンポーネントを図示する。
【0041】
図3図3は、電磁追跡システムの例示的システム図を図示する。
【0042】
図4図4は、電磁追跡システムがARシステムとともに組み込まれ得る方法のある実施例を図示する。
【0043】
図5図5は、電磁追跡システム内に存在し得る、半球の曖昧性の問題を図示する。
【0044】
図6図6は、1つ以上のセンサを含むシステムまたはデバイスにおける、半球の曖昧性を解決するための方法を図示する。
【0045】
図7図7は、1つ以上のセンサを含むシステムまたはデバイスにおける、半球の曖昧性を解決するための方法を図示する。
【0046】
図8図8は、頭部が、移動しており、トーテムが、静止しているときの予期されるトーテム姿勢を示す、シミュレーションの結果を図示する。
【0047】
図9図9は、トーテムが正しい半球内で初期化されている状態で、頭部が、移動しており、トーテムが、静止しているときの実験データを図示する。
【0048】
図10図10は、トーテムが正しい半球内で初期化されている状態で、トーテムが、静止しているときの実験的なトーテム移動データを図示する。
【0049】
図11図11は、トーテムが不適切な半球内で初期化されている状態で、頭部が、移動しており、トーテムが、静止しているときの実験データを図示する。
【0050】
図12図12は、図11に表示される姿勢データに対応するトーテム運動を伴わない、実験的なトーテム移動データを図示する。
【0051】
図13図13は、本明細書に説明されるいくつかの実施形態による、コンピュータシステムを図示する。
【発明を実施するための形態】
【0052】
典型的な頭部装着型の拡張現実(AR)ディスプレイが、少なくともユーザの頭部に緩く結合され、したがって、ユーザの頭部が、移動すると、移動する。ユーザの頭部運動が、ディスプレイシステムによって検出される場合、表示されているデータが、頭部姿勢の変化を考慮するように更新されることができる。実施例として、頭部装着型ディスプレイを装着するユーザが、ディスプレイ上で3次元(3D)オブジェクトの仮想表現を視認し、3Dオブジェクトが出現する面積の周囲を歩行する場合、その3Dオブジェクトは、視点毎に再レンダリングされ、ユーザに、彼らが実空間を占有するオブジェクトの周囲を歩行しているという知覚を与えることができる。頭部装着型ディスプレイが、仮想空間(例えば、豊かな仮想世界)内に複数のオブジェクトを提示するために使用される場合、頭部姿勢の測定値(例えば、ユーザの頭部の場所および配向)が、場面を再レンダリングし、ユーザの動的に変化する頭部の場所および配向を合致させ、仮想空間内での没入感の向上を提供するために使用されることができる。
【0053】
故に、頭部姿勢の検出または計算が、仮想オブジェクトがユーザにとって意味を成す様式において実世界内の空間を占有しているように見えるように、ディスプレイシステムがそれらをレンダリングするように促進することができる。加えて、ユーザの頭部またはARシステムに関連した、ハンドヘルドデバイスまたはコントローラ(また、「トーテム」とも称され得る)、触覚デバイス、または他の実際の物理的オブジェクト等の実オブジェクトの位置および/または配向の検出もまた、ユーザに表示情報を提示し、ユーザがARシステムのある側面と効率的に相互作用することを可能にするステップにおいて、ディスプレイシステムを促進してもよい。少なくともAR用途に関して、物理的オブジェクトとの空間関係の中への仮想オブジェクトの設置(例えば、2または3次元において物理的オブジェクトに空間的に近接して出現するように提示される)は、些細ではない問題であり得る。
【0054】
例えば、頭部の移動が、周囲環境のビューの中への仮想オブジェクトの設置を有意に複雑にし得る。それは、ビューが周囲環境の画像として捕捉され、次いで、エンドユーザに投影または表示されるかどうか、またはエンドユーザが周囲環境のビューを直接知覚するかどうかにかかわらず、当てはまる。例えば、頭部の移動が、エンドユーザの視野を変化させる可能性が高く、これは、種々の仮想オブジェクトがエンドユーザの視野内に表示される場所に対する更新を要求する可能性が高くなるであろう。
【0055】
加えて、頭部の移動は、多種多様な範囲および速度内で生じ得る。頭部の移動速度は、異なる頭部移動の間でだけではなく、単一の頭部移動の範囲内で、またはそれを横断しても変動し得る。例えば、頭部の移動速度は、最初に始点から(例えば、線形または非線形に)増加し得、終点に到達するにつれて、減少し、頭部移動の始点と終点との間のどこかで最大速度を取得し得る。急速な頭部移動はさらに、エンドユーザに均一に、および/または平滑な運動として見える画像をレンダリングするための特定の表示または投影技術の能力を超過し得る。
【0056】
頭部追跡の正確度および待ち時間(すなわち、ユーザがその頭部を移動させた時間と、画像が更新され、ユーザに表示される時間との間の経過時間)は、仮想現実(VR)およびARシステムのための課題である。特に、ユーザの視野の実質的部分を仮想要素で満たすディスプレイシステムに関して、頭部追跡の正確度が高いこと、および頭部運動の最初の検出からディスプレイによってユーザの視覚系に配信される光の更新までの全体的なシステム待ち時間が、非常に短いことが、重要であり得る。待ち時間が、長い場合、本システムは、ユーザの前庭系と視覚感覚系との間に不整合を生成し、乗物酔いまたはシミュレータ酔いにつながり得るユーザ知覚シナリオを発生させ得る。本システム待ち時間が、長い場合、仮想オブジェクトの見掛け上の場所が、急速な頭部運動の間に不安定に見えるであろう。
【0057】
頭部装着型ディスプレイシステムに加えて、他のディスプレイシステムも、正確かつ短い待ち時間の頭部姿勢検出から恩恵を得ることができる。これらは、ディスプレイがユーザの身体上に装着されないが、例えば、壁または他の表面上に搭載される、視点追従型ディスプレイシステムを含む。視点追従型ディスプレイは、場面上の窓のように作用し、ユーザが「窓」に対してその頭部を移動させるにつれて、場面が、ユーザの変化する視点に合致するように再レンダリングされる。他のシステムは、頭部装着型ディスプレイが実世界上に光を投影する、頭部装着型の投影システムを含む。
【0058】
加えて、現実的な拡張現実体験を提供するために、ARシステムが、ユーザと相互に作用するように設計されてもよい。例えば、複数のユーザが、仮想のボールおよび/または他の仮想オブジェクトを用いて球技を行ってもよい。1人のユーザが、仮想のボールを「捕捉」し、そのボールを別のユーザに投げ返してもよい。別の実施形態では、第1のユーザが、トーテム(例えば、ARシステムに通信可能に結合される、実バット)を提供され、仮想のボールを打ってもよい。他の実施形態では、仮想ユーザインターフェースが、ARユーザに提示され、ユーザが多くの選択肢のうちの1つを選択することを可能にしてもよい。ユーザは、トーテム、触覚デバイス、ウェアラブルコンポーネントを使用する、または単に仮想スクリーンにタッチし、本システムと相互作用してもよい。
【0059】
ユーザの頭部の姿勢および配向を検出するステップ、および空間内の実オブジェクトの物理的場所を検出するステップは、ARシステムが効果的かつ楽しい様式において仮想コンテンツを表示することを可能にする。しかしながら、これらの能力は、ARシステムに対して肝要であるが、それらは、達成することが困難である。例えば、ARシステムは、実オブジェクト(例えば、ユーザの頭部、トーテム、触覚デバイス、ウェアラブルコンポーネント、ユーザの手等)の物理的場所を認識し、実オブジェクトの物理座標を、ユーザに表示されている1つ以上の仮想オブジェクトに対応する仮想座標と相関させる必要があり得る。これは、迅速な率において1つ以上のオブジェクトの位置および配向を追跡する、非常に正確なセンサおよびセンサ認識システムを要求し得る。
【0060】
現在のアプローチは、満足の行く速度または精度規格において位置特定を実施するものではない。したがって、ARおよびVRデバイスの状況では、より優れた位置特定システムの必要性が、存在する。以下の説明において、種々の実施形態が、説明されるであろう。解説の目的のために、具体的な構成および詳細が、実施形態の徹底的な理解を提供するために記載される。しかしながら、実施形態が、具体的な詳細を伴わずに実践され得ることもまた、当業者に明白になるであろう。さらに、周知の特徴が、説明されている実施形態を不明瞭にしないために省略または簡略化されてもよい。
【0061】
図1は、本明細書に説明されるいくつかの実施形態による、ウェアラブルARデバイスを通して視認されるようなAR場面を図示する。AR場面100が、描写されており、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする、実世界の公園状設定106が見える。これらのアイテムに加えて、AR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像110と、マルハナバチの擬人化のように見える、近くを飛んでいる漫画のようなアバタキャラクタ102とが「見える」と知覚するが、これらの要素(キャラクタ102および像110)は、実世界には存在しない。ヒト視知覚および神経系の極端な複雑性に起因して、他の仮想または実世界画像要素の中でもとりわけ、仮想画像要素の快適で自然のように感じる豊かな提示を促進する、VRまたはAR技術を生産することは、厄介である。
【0062】
図2は、ARシステムの種々の可能性として考えられるコンポーネントを図示する。図示される実施形態では、ユーザの眼の正面に位置付けられるディスプレイシステム262に結合されるフレーム264構造を特徴とする、頭部搭載型コンポーネント258を装着する、ARシステムユーザ260が、描写される。スピーカ266が、描写される構成内のフレーム264に結合され、ユーザの外耳道に隣接して位置付けられる(一実施形態では、示されていない、別のスピーカが、ユーザの他の外耳道に隣接して位置付けられ、ステレオ/調節可能な音制御を提供する)。ディスプレイ262は、有線導線または無線コネクティビティ等によって、ローカル処理およびデータモジュール270に(268によって示されるように)動作可能に結合され、これは、フレーム264に固定して取り付けられる、ヘルメットまたは帽子に固定して取り付けられる、ユーザ260の胴体にリュック式構成において除去可能に取り付けられる、またはベルト結合式構成においてユーザ260の腰部に除去可能に取り付けられる等、種々の構成において搭載されてもよい。
【0063】
ローカル処理およびデータモジュール270は、電力効率の高いプロセッサまたはコントローラ、およびフラッシュメモリ等のデジタルメモリを含んでもよく、その両方とも、(1)(カメラ等の)画像捕捉デバイス、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等、フレーム264に動作可能に結合され得る、センサから捕捉されるデータ、および/または(2)可能性として、遠隔処理モジュール272および/または遠隔データリポジトリ274を使用して、処理または読出の後のディスプレイ262への通過のために入手および/または処理される、データの処理、キャッシュ化、および記憶を補助するために利用され得る。
【0064】
ローカル処理およびデータモジュール270は、これらの遠隔モジュール272、274が、相互に動作可能に結合され、ローカル処理およびデータモジュール270へのリソースとして利用可能であるように、1つ以上の有線または無線通信リンク等を介して、(276、278によって示されるように)遠隔処理モジュール272および遠隔データリポジトリ274に動作可能に結合されてもよい。一実施形態では、遠隔処理モジュール272は、データおよび/または画像情報を分析および処理するように構成される、1つ以上の比較的に強力なプロセッサまたはコントローラを含んでもよい。一実施形態では、遠隔データリポジトリ274が、比較的に大容量のデジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。一実施形態では、全てのデータが、ローカル処理およびデータモジュールの中に記憶され、全ての算出が、そこで実施され、任意の遠隔モジュールからの完全に自律的な使用を可能にする。
【0065】
高精度な位置特定を達成するための1つのアプローチは、ユーザのARヘッドセット、ベルトパック、および/または他の補助デバイス(例えば、トーテム、触覚デバイス、ゲーム用器具等)上に方略的に設置される電磁センサと結合される、電磁場の使用を伴い得る。電磁追跡システムは、典型的には、少なくとも電磁場エミッタと、少なくとも1つの電磁場センサとを含む。センサは、既知の分散を伴う電磁場を測定してもよい。これらの測定値に基づいて、エミッタに対する場センサの位置および配向が、決定される。
【0066】
図3は、The Biosense (RTM) division of Johnson & Johnson Corporation、Polhemus (RTM), Inc.(Colchester、Vermont)等の組織によって開発され、Sixense (RTM) Entertainment, Inc.(Los Gatos, California)および他の追随会社等によって製造されたものに類似するコンポーネントを有し得る、電磁追跡システムの例示的システム図を図示する。1つ以上の実施形態では、電磁追跡システムは、既知の磁場を放出するように構成される、電磁場エミッタ302を含む。図3に示されるように、電磁場エミッタ302は、電力供給源310(例えば、電流、バッテリ等)に結合され、電磁場エミッタ302に電力を提供してもよい。
【0067】
1つ以上の実施形態では、電磁場エミッタ302は、磁場を発生させる、いくつかのコイル(例えば、相互に対して垂直に位置付けられ、X、Y、およびZ方向に場を生産する、少なくとも3つのコイル)を含む。これらの磁場は、本システムが既知の磁場に関連したセンサの位置をマッピングし、センサの位置および/または配向を決定することに役立つことを可能にする、座標空間を確立するために使用される。1つ以上の実施形態では、電磁センサ304A、304B等が、1つ以上の実オブジェクトに取り付けられてもよい。電磁センサ304は、電流が放出される電磁場を通して誘発され得る、より小さいコイルを含んでもよい。
【0068】
概して、電磁場センサ304のコンポーネントは、電磁場エミッタ302によって放出される磁場から入射する磁束を捕捉するように位置付けられる/配向される、立方体または他の容器等の小型の構造内にともに結合される、3つの異なるように配向される(すなわち、相互に対して直交して配向される等)コイルのセット等の、小型のコイルまたはループを含んでもよく、これらのコイルを通して誘発される電流を比較し、相互に対するコイルの相対的な位置付けおよび配向を把握することによって、エミッタに対するセンサの相対位置および配向が、計算されてもよい。
【0069】
図4を参照してさらに説明されるであろうように、慣性測定ユニット(IMU)等の1つ以上の移動センサが、電磁場エミッタ302および電磁場センサ304のそれぞれに動作可能に結合され、相互に対する、および/または座標系に対する各コンポーネントの位置および配向を検出してもよい。1つ以上の実施形態では、(可能性として、IMUを含む)複数のセンサが、電磁場エミッタ302および電磁場センサ304に関連して使用され、各コンポーネントの位置および配向を検出してもよい。いくつかの事例では、電磁追跡システムは、3つの方向(すなわち、X、Y、および、Z方向)における、さらに、2つまたは3つの配向角における位置を提供してもよい。いくつかの実施形態では、IMUの測定値が、コイルの測定値と比較され、センサの位置および配向を決定してもよい。1つ以上の実施形態では、カメラ、深度センサ、および他のセンサ等のデータの種々の他の源に加えて、電磁気(EM)データおよび移動データが両方とも、組み合わせられ、位置および配向を決定してもよい。本情報が、(例えば、無線通信、Bluetooth(登録商標)等を通して)処理ユニット306に伝送されてもよい。いくつかの実施形態では、姿勢(または位置および配向)が、従来のシステムにおいて、比較的高いリフレッシュ率において報告されてもよい。
【0070】
従来、電磁エミッタが、テーブル、手術台、壁、または天井等の比較的に安定し、大きいオブジェクトに結合され、1つ以上のセンサが、医療用デバイス、ハンドヘルド式ゲーム用コンポーネント、または同等物等のより小さいオブジェクトに結合される。代替として、図4を参照して下記に説明されるように、電磁追跡システムの種々の特徴が、より安定している大域的座標系に対して空間内で移動する2つのオブジェクトの間の位置および/または配向の変化または差分が、追跡され得る、構成を生産するために採用されてもよく、言い換えると、電磁追跡システムの変形例が、頭部搭載型コンポーネントとハンドヘルド式コンポーネントとの間の位置および配向の差分を追跡するために利用され得る一方、大域的座標系(例えば、ユーザにローカルな部屋環境)に対する頭部姿勢が、本システムの頭部搭載型コンポーネントに結合され得る、外向き捕捉カメラを使用した、同時位置特定およびマッピング(SLAM)技法等によって、別様に決定される、構成が、図4に示される。
【0071】
処理ユニット306は、電磁場エミッタ302を制御してもよく、また、種々の電磁場センサ304からデータを捕捉してもよい。本システムの種々のコンポーネントが、任意の電気機械または無線/Bluetooth(登録商標)手段を通して、相互に結合され得ることを理解されたい。処理ユニット306はまた、既知の磁場、およびその磁場に関連する座標空間に関するデータを含んでもよい。本情報は、次いで、既知の電磁場に対応する座標空間に関連する、センサの位置および配向を検出するために使用される。処理ユニット306はさらに、(図示される実施形態に示されるように)閾値モジュール312に結合されてもよい、または代替として、または加えて、閾値モジュール312をサブコンポーネントとして含んでもよい。いくつかの実装では、閾値モジュール312は、下記により詳細に説明されるであろうように、処理ユニット306によって計算される相違値が、ハンドヘルド式コントローラの姿勢を決定するために比較され得る、閾値を動的に調節するように構成されてもよい。
【0072】
電磁追跡システムの1つの利点は、それらが最小限の待ち時間と、高分解能とを伴う、非常に正確な追跡結果を生産することである。加えて、電磁追跡システムは、必ずしも光学追跡器に依拠するわけではなく、ユーザの視線内に存在しないセンサ/オブジェクトが、容易に追跡され得る。電磁場vの強度が、コイル伝送機(例えば、電磁場エミッタ302)からの距離rの三次関数として降下することを理解されたい。したがって、処理ユニット306が、測定された強度に基づいて距離を予測するアルゴリズム等のある関数を実行し、電磁場エミッタ302から離れた可変距離におけるセンサ/オブジェクトの位置および配向を決定するように構成されてもよい。
【0073】
電磁エミッタからより遠くに離れるように移動するにつれた電磁場の強度の急速な低下を前提として、正確度、効率、および短い待ち時間の観点からの最良な結果が、より近接した距離において達成され得る。典型的な電磁追跡システムにおいて、電磁場エミッタは、電流(例えば、プラグ差込型の電力供給源)によって給電され、電磁場エミッタから離れた20フィートの半径内に位置する、センサを有する。センサと場エミッタとの間のより短い半径が、AR用途を含む多くの用途においてより望ましくあり得る。
【0074】
図4は、電磁追跡システムがARシステムとともに組み込まれ、電磁場エミッタ402がハンドヘルド式コントローラ406の一部として組み込まれ得る方法のある実施例を図示する。1つ以上の実施形態では、ハンドヘルド式コントローラは、ゲーム用シナリオにおいて使用されるべきトーテムであってもよい。他の実施形態では、ハンドヘルド式コントローラは、触覚デバイスであってもよい。さらに他の実施形態では、電磁場エミッタが、単に、ベルトパック470の一部として組み込まれてもよい。ハンドヘルド式コントローラ406は、電磁場エミッタ402に給電する、バッテリ410または他の電力供給源を含んでもよい。電磁場エミッタ402がまた、他のコンポーネントに対する電磁場エミッタ402の位置付けおよび/または配向を決定することを補助するように構成される、IMU450または他の移動センサを含む、および/またはそれに結合され得ることを理解されたい。これは、特に、場エミッタ402およびセンサ404が両方とも可動式である場合に重要であり得る。図4の実施形態に示されるように、ベルトパックではなく、ハンドヘルド式コントローラの中に電磁場エミッタ402を設置することは、電磁場エミッタがベルトパックにおけるリソースに関して競合しておらず、むしろ、ハンドヘルド式コントローラ406においてその独自のバッテリ源を使用することを確実にする。
【0075】
いくつかの実施形態では、電磁センサ404が、ARヘッドセット458上の1つ以上の場所、および/またはベルトパック470上の1つ以上の場所上に設置される等、ARヘッドセット458に対して位置付けられてもよい。ARヘッドセット458上に設置されるセンサが、1つ以上のIMUまたは付加的な磁束捕捉コイル408等の他の感知デバイスに加えて設置されてもよい。例えば、図4に示されるように、センサ404、408が、ヘッドセット458の両側に設置されてもよい。これらのセンサが、かなり小さくなるように工学設計される(故に、ある場合には、あまり感度が高くない場合がある)ため、複数のセンサを有することが、効率および精度を改良し得る。1つ以上の実施形態では、1つ以上のセンサもまた、ベルトパック470またはユーザの身体の任意の他の部分上に設置されてもよい。センサ404、408は、無線で、またはBluetooth(登録商標)を通して、センサ(およびこれが取り付けられるARヘッドセット)の姿勢および配向を決定する、コンピューティング装置に通信してもよい。1つ以上の実施形態では、コンピューティング装置は、ベルトパック470に常駐してもよい。他の実施形態では、コンピューティング装置は、ヘッドセット自体、またはさらにハンドヘルド式コントローラ406に常駐してもよい。コンピューティング装置は、ひいては、姿勢を検出し、実オブジェクトおよび仮想オブジェクトの座標を決定するためのマッピングデータベース430(例えば、パス可能な世界モデル、座標空間等)を含んでもよく、さらに、1つ以上の実施形態においてクラウドリソースおよびパス可能な世界モデルに接続してもよい。
【0076】
多くの事例では、従来の電磁エミッタは、ARデバイスに関して嵩張りすぎ得る。したがって、電磁場エミッタは、従来的なシステムと比較してより小さいコイルを使用して、小型になるように工学設計されてもよい。しかしながら、電磁場の強度が、場エミッタから離れる距離の三次関数として減少することを前提として、電磁センサ404と電磁場エミッタ402との間のより短い半径(例えば、約3~3.5フィート)が、従来のシステムと比較して電力消費量を低減させ得る。本側面は、1つ以上の実施形態において、ハンドヘルド式コントローラ406および電磁場エミッタ402に給電し得る、バッテリ410の寿命を延長させるためにも利用されてもよい。または、他の実施形態では、本側面は、電磁場エミッタ402において磁場を発生させるコイルのサイズを縮小させるために利用されてもよい。しかしながら、磁場の同一の強度を得るために、電力が、増加される必要があり得る。これは、ハンドヘルド式コントローラ406においてコンパクトに嵌合し得る、小型の電磁場エミッタユニット402を可能にする。
【0077】
ARデバイスのために電磁追跡システムを使用するときに、いくつかの他の変更が、行われ得、これは、他の用途より効率的な姿勢報告率を要求し得る。例えば、移動ベースまたはIMUベースの姿勢追跡が、採用されてもよい。多くの場合では、IMUの向上された安定性が、姿勢検出プロセスの効率の向上につながり得る。IMUは、それらが最高50~100ミリ秒安定したままであるように工学設計されてもよい。いくつかの実施形態が、姿勢の更新が10~20Hzの率において報告されることを可能にし得る、外部姿勢推定器モジュールを利用し得る(すなわち、IMUが、経時的にドリフトし得る)ことを理解されたい。合理的な率においてIMUを安定した状態に保つことによって、姿勢更新の率が、(従来のシステムにおけるより高い周波数と比較して)10~20Hzに減少され得る。
【0078】
電磁追跡システムが、10%のデューティサイクルにおいて起動され得る(例えば、100ミリ秒毎のグランドトゥルースに関してのみpingする)場合、これは、ARシステムにおいて電力を節約するための付加的な方法であろう。これは、電磁追跡システムが、100ミリ秒毎に毎10ミリ秒ウェイクアップし、姿勢推定値を発生させることを意味するであろう。これは、電力の消費節約に直接つながり、これは、ひいては、ARデバイスのサイズ、バッテリ寿命、およびコストに影響を及ぼし得る。1つ以上の実施形態では、デューティサイクルの本低減は、1つのみではなく、2つのハンドヘルド式コントローラ(図示せず)を提供することによって、方略的に利用され得る。例えば、ユーザは、2つのトーテム等を要求するゲームを行ってもよい。または、マルチユーザゲームでは、2人のユーザが、ゲームを行うための自分自身のトーテム/ハンドヘルド式コントローラを有してもよい。1つではなく2つのコントローラ(例えば、手毎に対称的なコントローラ)が、使用されるとき、コントローラは、オフセットデューティサイクルにおいて動作してもよい。同一の概念はまた、例えば、マルチプレーヤゲームを行う2人の異なるユーザによって利用される、コントローラにも適用され得る。
【0079】
図5は、本明細書に説明されるもの等の電磁追跡システム内に存在し得る、半球の曖昧性の問題を図示する。6自由度(DOF)追跡に関して、ハンドヘルドデバイスまたはトーテムとも称され得る、ハンドヘルド式コントローラ502(「TX」と標識される)が、軸X、Y、およびZのそれぞれに関して1つずつ、3つの別個の周波数上で変調される、EM信号を発生させ得る。ARヘッドセットとして実装され得る、ウェアラブル504(「RX」と標識される)は、X、Y、およびZ周波数上でEM信号を受信している、EM受信コンポーネントを有する。ハンドヘルド式コントローラの位置および配向(すなわち、姿勢)は、受信されたEM信号の特性に基づいて導出されることができる。しかしながら、EM信号の対称的な本質に起因して、付加的な基準フレームがなければ、ハンドヘルド式コントローラが存在する半球(例えば、表半球506Aまたは裏半球506B)を決定することが可能ではない場合がある。すなわち、同一のEM値が、2つの半球を分割する球体の中心を通して通過する、選定される平面を用いて、2つの正反対のトーテム姿勢(半球毎に1つずつ)のためのウェアラブルにおいて取得されることができる。これは、ウェアラブル504によって受信されたEM信号の単一のスナップ写真に関して、いずれかの姿勢が有効であり得ることを示す、図5に図示される。しかしながら、ハンドヘルド式コントローラ502が移動されると、追跡アルゴリズムが、典型的には、不適切な半球が、種々のセンサからのデータの非一貫性に起因して選定された場合、エラーに遭遇するであろう。半球の曖昧性は、部分的に、6DOFの追跡セッションが開始されると、最初のEMトーテムデータが、明確な絶対位置を有していない事実に起因して、生じる。代わりに、これは、2つの半球の間に心合されるウェアラブル(例えば、ユーザの頭部上に搭載されるARヘッドセット)を用いて2つの等しい球体に分割される、3Dボリュームの2つの位置のうちの一方として解釈され得る、相対距離を提供する。したがって、本開示の実施形態は、ハンドヘルド式コントローラの実際の位置の追跡の成功を可能にするために半球の曖昧性を解決する、方法およびシステムを提供する。
【0080】
本開示のいくつかの実施形態によると、半球の曖昧性の問題を解決するために使用され得る方法は、追跡パイプラインが開始されるとき、一方が、表半球の基準姿勢と関連付けられ、他方が、裏半球の基準姿勢と関連付けられる、2つの処理スタックを開始するステップを含む。両方の処理スタックが、行われている間、それらの出力が、チェックされ、半球の不適切な仮定を伴う処理スタックは、たちまち、ハンドヘルド式コントローラの実際の運動を追跡する問題を有することになるであろう。その時点において、誤った処理スタックが、停止される(例えば、破壊または終結される)ことができ、残りのインスタンスが、処理を継続することを可能にされる。いくつかの実施形態では、チェックが、周期的に実施され、推定される姿勢(電磁気データとIMU等の移動センサによって決定されるような位置データとの融合)と各基準姿勢(例えば、半球506Aの基準姿勢および半球506Bの基準姿勢)との間の発散を計算する。いずれかの計算された発散が、閾値を超過する場合、特定の推定姿勢に関する追跡モジュールの対応するインスタンスが、停止される。これらの方法に関連する付加的な説明が、下記に提供される説明に関してより完全に提供される。
【0081】
図6は、1つ以上のセンサを含むシステムまたはデバイスにおける、半球の曖昧性を解決するための方法600を図示する。本システムは、他の可能性として考えられるものの中でもとりわけ、ARデバイス等の電磁追跡システムまたは光学デバイス、または電磁信号または磁気信号の放出および受信を支援する、任意のシステムであってもよい。方法600の1つ以上のステップが、方法600の実施の間に省略されてもよく、ステップは、示される順序において実施される必要はない。方法600の1つ以上のステップが、他の可能性として考えられるものの中でもとりわけ、処理ユニット306、ローカル処理およびデータモジュール270、および/または遠隔処理モジュール272によって実施されてもよい。
【0082】
ステップ602において、1つ以上の磁場が、ハンドヘルド式コントローラに位置付けられる、磁場エミッタによって放出され得る。磁場エミッタは、1方向(例えば、X、Y、またはZ)において磁場を発生させる各コイルによって、磁場を発生させてもよい。磁場は、恣意的な波形を伴って発生されてもよい。1つ以上の実施形態では、軸はそれぞれ、わずかに異なる周波数において発振してもよい。磁場は、いくつかの実施形態において議論されるが、磁場の本議論は、本開示の実施形態を限定することを意図しておらず、電場および電磁場を含む、他の場も、本開示の範囲内に含まれる。
【0083】
ステップ604において、1つ以上の磁場が、ヘッドセットまたはベルトパック内に位置付けられる、1つ以上のセンサによって検出され得る。いくつかの実施形態では、磁場または電磁場に対応する座標空間が、決定されてもよい。例えば、エミッタ(例えば、ハンドヘルド式コントローラ)の周囲の座標空間が、検出された磁場に基づいて決定されてもよい。いくつかの実施形態では、(既知のオブジェクトに取り付けられ得る)センサにおけるコイルの挙動が、検出されてもよい。例えば、コイルにおいて誘発される電流が、計算されてもよい。他の実施形態では、コイルの回転、または任意の他の定量化可能な挙動が、追跡および測定されてもよい。
【0084】
ステップ606Aにおいて、第1の処理スタックが、開始され、第1の処理スタックを第1の時間間隔の間に行わせる。第1の処理スタックを行うステップは、ステップ608A、612A、および614Aのうちの1つ以上のものを実施するステップを含んでもよい。第1の処理スタックは、ローカル処理およびデータモジュール270、遠隔処理モジュール272上、または本デバイスに対して遠隔のサーバ上で行われてもよい。ステップ606Bにおいて、第2の処理スタックが、開始され、第2の処理スタックを第2の時間間隔の間に行わせる。第2の処理スタックを行うステップは、ステップ608B、612B、および614Bのうちの1つ以上のものを実施するステップを含んでもよい。第2の処理スタックは、ローカル処理およびデータモジュール270、遠隔処理モジュール272上、または本デバイスに対して遠隔のサーバ上で行われてもよい。第1の時間間隔は、第2の時間間隔と同時に、並行して、または非並行して(すなわち、重複していない)生じてもよい。いくつかの実施形態では、第1の処理スタックおよび第2の処理スタックは、同時に初期化される。いくつかの実施形態では、第1の処理スタックおよび記第2の処理スタックは、順次、初期化される。
【0085】
ステップ608Aにおいて、第1の半球内でのハンドヘルド式コントローラの位置および配向が、検出される磁場に基づいて決定される。ステップ608Bにおいて、第2の半球内でのハンドヘルド式コントローラの位置および配向が、検出される磁場に基づいて決定される。第1の半球および第2の半球は、正反対にあってもよく、いくつかの実施形態では、ヘッドセットを基準とした表半球および裏半球に対応してもよい。しかしながら、第1の半球および第2の半球は、表/裏、上方/下方、左/右を含む、種々の構成のうちのいずれかに定義されてもよい。いくつかの実施形態では、半球間の界面が、ヘッドセットの前方方向から10、20、30、40、50、60、70、または80度下向きに向いている、法線を有する平面によって画定される。一実施例では、コントローラ406が、センサにおけるコイルの挙動を種々の位置または配向に相関させる、マッピングテーブルを参照してもよい。これらの計算に基づいて、センサの配向に加えて、座標空間内の位置が、決定されてもよい。
【0086】
ステップ610において、移動データが、IMUセンサ等の移動センサによって検出される。移動データは、ハンドヘルド式コントローラおよび/またはヘッドセットの移動に対応してもよい(例えば、それを示してもよい)。移動データは、他の可能性として考えられるものの中でもとりわけ、線形の加速度、角速度、および/または配向データを含んでもよい。いくつかの実施形態では、移動データは、IMUセンサによって検出されるとき、IMUデータと称され得る。いくつかの事例では、IMUセンサは、ハンドヘルド式コントローラまたはヘッドセット内に位置付けられてもよい。例えば、IMUセンサは、ハンドヘルド式コントローラまたはヘッドセット内に搭載されてもよい。いくつかの実施形態では、移動データは、1つがハンドヘルド式コントローラ内にあり、別のものがヘッドセット内にある、2つの異なるIMUによって検出される。そのような実施形態では、移動データが、ヘッドセットを基準としたハンドヘルド式コントローラの相対移動を決定するために使用されてもよい。
【0087】
ステップ612A、612Bにおいて、第1の処理スタックおよび第2の処理スタックと関連付けられる1つ以上の性能統計が、それぞれ、分析される。図示される実施形態では、ステップ608A、608Bから決定される位置および配向と、移動データを使用して決定されるような、ヘッドセットを基準としたハンドヘルド式コントローラの相対移動との間の相違が、計算される。いくつかの実施例では、処理スタック毎に、複数の姿勢が、決定され、移動データによって示されるようなハンドヘルド式コントローラの移動と比較されてもよい。例えば、移動データが、ハンドヘルド式コントローラが、(ヘッドセットを基準として)移動していないことを示す一方、(検出される磁気データを使用して決定される)決定される姿勢が、ハンドヘルド式コントローラが、移動していることを示す場合、高値を伴う相違が、計算され得る。
【0088】
ステップ614A、614Bにおいて、ステップ612A、612Bにおいて計算された相違が、所定の閾値と比較される。いずれかの相違が、閾値を超過する場合、対応する処理スタックが、中止または終結され、他の処理スタックが、処理を継続する(例えば、付加的な検出された磁場に基づいて、個別の半球内でのハンドヘルド式コントローラの姿勢の決定を継続する)ことを可能にされる。いくつかの実施形態では、閾値は、いずれかの相違が、閾値未満である場合、対応する処理スタックが、処理を継続することを可能にされ、他の処理スタックが、中止されるように、容認可能な正確度閾値として作用する。いくつかの代替実施形態では、相違が、閾値を上回るが、介在相違と称され得る、比較的に小さい値の相違を示す、第2の閾値を下回る場合、本プロセスの一部が、繰り返されてもよい。例えば、本介在相違が、612Aにおいて計算される場合、部分608A、610、612A、および614Aが、相違が、第1の半球処理の終結をもたらすであろう、第2の閾値を超過するまで、繰り返されてもよい。いくつかの実施形態では、閾値が、固定値と対照的に、動的であり、経時的に推定される姿勢に応じて、より大きいまたはより小さい相違を可能にし得る。動的閾値の非限定的実施例は、短い時間にわたって推定される姿勢の大きい変化を決定するステップ含み、次いで、コントローラ306(または介在決定ブロック)が、より大きい相違を伴う閾値を一時的に可能にしてもよい、または所与の時間間隔内で閾値を下回ったままでなければならない、いくつかのサンプルが、調節されてもよい。
【0089】
図7は、1つ以上のセンサを含むシステムまたはデバイスにおける、半球の曖昧性を解決するための方法700を図示する。本システムは、他の可能性として考えられるものの中でもとりわけ、ARデバイス等の電磁追跡システムまたは光学デバイス、または磁気信号の放出および受信を支援する、任意のシステムであってもよい。方法700の1つ以上のステップが、方法700の実施の間に省略されてもよく、ステップは、示される順序において実施される必要はない。方法700の1つ以上のステップが、他の可能性として考えられるものの中でもとりわけ、コントローラ306、ローカル処理およびデータモジュール270、および/または遠隔処理モジュール272よって実施されてもよい。方法700の1つ以上のステップが、方法600の1つ以上のステップに対応し得る。
【0090】
ステップ702において、1つ以上の磁場が、ハンドヘルド式コントローラに位置付けられる、磁場エミッタによって放出され得る。ステップ704において、1つ以上の磁場が、ヘッドセットまたはベルトパック内に位置付けられる、1つ以上のセンサによって検出され得る。ステップ706Aにおいて、第1の処理スタックが、開始され、第1の処理スタックを第1の時間間隔の間に行わせる。ステップ706Bにおいて、第2の処理スタックが、開始され、第2の処理スタックを第2の時間間隔の間に行わせる。ステップ708Aにおいて、第1の半球内でのハンドヘルド式コントローラの位置および配向が、検出される磁場に基づいて決定される。ステップ708Bにおいて、第2の半球内でのハンドヘルド式コントローラの位置および配向が、検出される磁場に基づいて決定される。第1の半球および第2の半球は、正反対にあってもよく、いくつかの実施形態では、ヘッドセットを基準とした表半球および裏半球に対応してもよい。
【0091】
ステップ710において、移動データが、ステップ610を参照して説明されるものと同様に、移動センサによって検出される。ステップ712A、712Bにおいて、第1の処理スタックおよび第2の処理スタックの1つ以上の性能統計が、それぞれ、分析される。図示される実施形態では、ステップ708A、708Bから決定される位置および配向と、移動データを使用して決定されるような、ヘッドセットを基準としたハンドヘルド式コントローラの相対移動との間の相違が、計算される。
【0092】
ステップ714において、ステップ712A、712Bにおいて計算された相違が、相互と比較される。ステップ712Aにおいて計算された相違(すなわち、「第1の相違」)が、ステップ712Bにおいて計算された相違(すなわち、「第2の相違」)を超過した場合、第1の処理スタックが、中止され、第2の処理スタックが、処理を継続する(例えば、付加的な検出された磁場に基づいて、個別の半球内でのハンドヘルド式コントローラの姿勢の決定を継続する)ことを可能にされる。他方では、第1の相違が、第2の相違未満である場合、第2の処理スタックが、中止され、第1の処理スタックが、処理を継続することを可能にされる。
【0093】
本明細書に説明されるいくつかの実施形態では、用語「EM追跡」は、オブジェクトの場所を決定するためのEM波の使用法を指し得る。本明細書に説明されるいくつかの実施形態では、用語「姿勢」は、世界姿勢に関連するオブジェクト位置の(x, y, z)の定義を指し得る。本明細書に説明されるいくつかの実施形態では、用語「世界姿勢」は、(0, 0, 0)の基準点に関連する、オブジェクトの位置を指し得る。本明細書に説明されるいくつかの実施形態では、用語「頭部姿勢」は、世界内での頭部の位置を指し得る。本明細書に説明されるいくつかの実施形態では、用語「トーテム姿勢」は、世界内でのトーテム/ハンドヘルド式コントローラの位置を指し得る。いくつかの実施形態では、トーテム姿勢は、頭部姿勢に融合姿勢を追加することによって算出される。本明細書に説明されるいくつかの実施形態では、用語「IMU姿勢」は、IMUによって測定されるようなトーテムの移動に対応する。本明細書に説明されるいくつかの実施形態では、用語「EM姿勢」は、EM追跡によって測定されるようなトーテムの移動に対応する。本明細書に説明されるいくつかの実施形態では、用語「融合姿勢」は、いくつかの付加的なフィルタリングに加えて、IMU姿勢をEM姿勢に考慮することによって計算される。いくつかの実施形態では、同時の姿勢が、追跡アルゴリズムを通して行われ、トーテム姿勢の全て、すなわち、EM、IMU、および融合のうちの2つのバージョンを取得する。採用される方法に基づいて、適切な姿勢速度(位置の変化)が、観察される条件に応じて仮定される、予期される変化と比較される。
【0094】
いくつかの実装では、トーテム姿勢半球は、トーテム運動が、変化する頭部姿勢と並行して検出されないときに、確立される。本アプローチは、トーテムIMUによって検出されるトーテム運動が存在しないこと、また、頭部姿勢が同一の瞬間に変化することにも依拠する。前提として、トーテム姿勢が、不適切な半球において初期化されることになった場合、頭部姿勢の変化が、トーテム姿勢、世界フレーム内の全てのもの、またはその逆の変化をもたらし、すなわち、右半球内で初期化されたトーテム姿勢には、頭部姿勢が変化した場合でも、その姿勢に変化が見られないはずである。
【0095】
いくつかの実施形態では、トーテム姿勢は、基準フレームが整合されるように、EMエミッタと受信機との間のEMセンサ測定距離を組み合わせ、データを必要な変換に通した後、これを頭部姿勢に加算することによって、計算される。トーテムが、移動しておらず、頭部が、トーテムから離れるように移動する場合、計算されたトーテム姿勢が同一のままであることを確実にするように、EM距離は、同一の絶対値だけ変更されるべきである。いくつかの実施形態では、本方法は、計算されたトーテム姿勢内の不等式が、不正確な半球の初期化のインジケータである、代数解を提供する。静置状態のトーテムを伴う複数のサンプルが、収集されることができ、サンプルの全てが、世界フレーム内で移動するトーテム姿勢をもたらす場合、頭部が移動しているとき、選定された半球が、不正確なものとして破棄されることができる。
【0096】
図8は、頭部が移動しており、トーテムが静止しているときに予期されるトーテム姿勢を示す、シミュレーションの結果を図示する。シミュレートデータが、図9-12を参照して示される実験データによって裏付けられ、頭部が移動しており、トーテムが静止している状態で、実際のトーテム姿勢が、世界基準フレーム内で変化しないであろうことを決定することが可能である、本開示の実施形態を立証する。EMトーテム姿勢が、有意な雑音を有する傾向にあり、融合姿勢が、移動データと必要なフィルタリングとを考慮するための処理を含むため、融合トーテム姿勢が、本実施例に示される。
【0097】
図8を参照すると、トーテム姿勢が、実施例0から4において変化されておらず、世界フレーム内の位置8として図示される。実施例0では、頭部姿勢は、世界フレーム内の位置6において静的であり、残像トーテム姿勢が、世界フレーム内の位置4に存在する。実施例1を参照すると、頭部姿勢は、世界フレーム内の位置6からおよそ位置3まで偏移する。頭部姿勢の本変化に応答して、実際のトーテム位置は、位置8において静的であるが、残像トーテム姿勢は、世界フレーム内で位置4から位置2まで偏移する。実施例2を参照すると、頭部姿勢は、位置6からおよそ位置4まで偏移し、再び、実際のトーテム位置は、残像トーテム姿勢が位置4からおよそ位置0まで偏移する間、静的である。実施例3を参照すると、頭部姿勢は、位置6から位置8まで偏移し、残像トーテム姿勢もまた、位置8まで移動する。実施例4を参照すると、頭部姿勢は、残像トーテム姿勢が位置4からおよそ位置10まで偏移する間、位置6からおよそ位置9まで偏移する。実施例0から4において観察され得るように、いくつかの実施形態では、世界フレーム内での頭部姿勢とトーテム姿勢(実際および残像)のそれぞれとの間の相対距離は、頭部姿勢の位置の広い範囲にわたって同じであり得る。
【0098】
図9は、トーテムが正しい半球内で初期化されている状態で、頭部が移動しており、トーテムが静止しているときの実験データを図示する。図9に示されるように、トーテム融合姿勢は、実施例0から4を横断して実際のトーテム姿勢の移動を示さなかった、図8においてシミュレートデータによって実証されるように、実際のトーテム姿勢によって理論化されたような、トーテムが正しい半球内で初期化されるときの頭部運動にもかかわらず、殆ど変化されていないままである。
【0099】
図10は、トーテムが正しい半球内で初期化されている状態で、トーテムが静止しているときの実験的なトーテム移動データを図示する。図10に示されるデータは、図9に示される姿勢データに対応し得る。図10の上側のプロットは、時間の関数としてのIMUジャイロスコープによる(度単位の)回転の測定値を示し、図10の下側のプロットは、時間の関数としてのIMU加速度計による(m/秒単位の)加速度の測定値を示す。図10に示されるように、IMUジャイロスコープデータは、ゼロ度回転値の周囲にある雑音を有する。IMU加速度データは、X、Y、およびZ軸上に並進変化が、見られないことを示す。加速度の変化は、重力加速度に対して測定されるため、トーテム運動を伴わない場合でも、YおよびZ軸上の一定のオフセットが、予期される。
【0100】
図11は、トーテムが不適切な半球内で初期化されている状態で、頭部が移動しており、トーテムが静止しているときの実験データを図示する。実験データは、トーテムが静止しているときでも、トーテム姿勢が、頭部の移動に伴って変化していることを示す。トーテム融合姿勢が、実施例0から4を横断して残像トーテム姿勢の有意な移動を示した、図8において「残像トーテム姿勢」のシミュレートデータによって理論化されたような、不適切な半球内で初期化されたときの頭部姿勢の拡大バージョンであることが、明白である。
【0101】
図12は、図11に表示される姿勢データに対応するトーテム運動を伴わない、実験的なトーテム移動データを図示する。図12の上側のプロットは、時間の関数としてのIMUジャイロスコープによる(度単位の)回転の測定値を示し、図12の下側のプロットは、時間の関数としてのIMU加速度計による(m/秒単位の)加速度の測定値を示す。IMUジャイロスコープデータは、ゼロ度回転値の周囲の殆どない雑音を示し、IMU加速度データは、X、Y、およびZ軸上に並進変化が、見られないことを示す。
【0102】
図13は、本明細書に説明される実施形態による、簡略化されたコンピュータシステム1300を図示する。図13に図示されるようなコンピュータシステム1300は、本明細書に説明されるデバイスの中に組み込まれてもよい。図13は、種々の実施形態によって提供される方法のステップの一部または全てを実施し得る、コンピュータシステム1300の一実施形態の概略図を提供する。図13が、種々のコンポーネントの一般化された図示を提供することのみを意味し、そのいずれかまたは全てが、適宜、利用され得ることに留意されたい。図13は、したがって、広義には、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る方法を図示する。
【0103】
コンピュータシステム1300は、適宜、バス1305を介して電気的に結合され得る、または別様に通信し得る、ハードウェア要素を含むように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の、1つ以上の汎用目的プロセッサおよび/または1つ以上の特殊目的プロセッサを含む、1つ以上のプロセッサ1310と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含み得る、1つ以上の入力デバイス1315と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含み得る、1つ以上の出力デバイス1320とを含んでもよい。
【0104】
コンピュータシステム1300はさらに、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を含み得る、および/または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および/または同等物であり得る、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読取専用メモリ(「ROM」)を含み得る、1つ以上の非一過性記憶デバイス1325を含む、および/またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータストアを実装するように構成されてもよい。
【0105】
コンピュータシステム1300はまた、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等、および/または同等物等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含み得る、通信サブシステム1319を含んでもよい。通信サブシステム1319は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一実施例として挙げるために下記に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にしてもよい。所望の機能性および/または他の実装懸念点に応じて、ポータブル電子デバイスまたは類似デバイスが、通信サブシステム1319を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスが、コンピュータシステム1300、例えば、電子デバイスの中に入力デバイス1315として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム1300はさらに、上記に説明されるようなRAMまたはROMデバイスを含み得る、作業メモリ1335を含むであろう。
【0106】
コンピュータシステム1300はまた、種々の実施形態によって提供されるコンピュータプログラムを含み得る、および/または本明細書に説明されるような他の実施形態によって提供される方法を実装する、および/またはシステムを構成するように設計され得る、オペレーティングシステム1340、デバイスドライバ、実行可能ライブラリ、および/または1つ以上のアプリケーションプログラム1345等の他のコードを含む、作業メモリ1335内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、実施例として、上記に議論される方法に関して説明される1つ以上のプロシージャは、コンピュータおよび/またはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用目的コンピュータまたは他のデバイスを構成および/または適合させるために使用されることができる。
【0107】
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス1325等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム1300等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等のリムーバブル性媒体である、および/または記憶媒体が、汎用目的コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合させるために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム1300によって実行可能である、実行可能コードの形態をとり得る、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のうちのいずれかを使用したコンピュータシステム1300上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとり得る。
【0108】
実質的な変形例が、具体的要件に従って作製され得ることが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
【0109】
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム1300等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全ては、プロセッサ1310が、オペレーティングシステム1340の中に組み込まれ得る、1つ以上の命令の1つ以上のシーケンス、および/または作業メモリ1335内に含有される、アプリケーションプログラム1345等の他のコードを実行することに応答して、コンピュータシステム1300によって実施される。そのような命令は、記憶デバイス1325のうちの1つ以上のもの等の別のコンピュータ可読媒体から作業メモリ1335の中に読み取られてもよい。単に、実施例として、作業メモリ1335内に含有される命令のシーケンスの実行は、プロセッサ1310に、本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊化ハードウェアを通して実行されてもよい。
【0110】
本明細書で使用されるような、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械を具体的方式で動作させるデータを提供することに関与する、任意の媒体を指す。コンピュータシステム1300を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のために命令/コードをプロセッサ1310に提供することに関わり得る、および/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1325等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1335等の動的メモリを含む。
【0111】
一般的形態の物理的および/または有形コンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取り得る、任意の他の媒体を含む。
【0112】
種々の形態のコンピュータ可読媒体が、実行のための1つ以上の命令の1つ以上のシーケンスをプロセッサ1310に搬送することに関わってもよい。単に、実施例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1300によって受信および/または実行されるべき伝送媒体を経由して、命令を信号として送信し得る。
【0113】
通信サブシステム1319および/またはそのコンポーネントは、概して、信号を受信し、バス1305が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ1335に搬送し得、そこから、プロセッサ1310が、命令を読み出し、実行する。作業メモリ1335によって受信された命令は、随意に、プロセッサ1310による実行前または後のいずれかにおいて、非一過性記憶デバイス1325上に記憶されてもよい。
【0114】
上記に議論される方法、システム、およびデバイスは、実施例である。種々の構成は、適宜、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよい、および/または種々の段階は、追加される、省略される、および/または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示または請求項の範囲を限定するものではない。
【0115】
具体的詳細が、実装を含む、例示的構成の徹底的な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を不明瞭にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
【0116】
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、順次プロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されることができる。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
【0117】
いくつかの例示的構成が説明されたが、種々の修正、代替構築物、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、上記の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の用途に優先する、または別様にそれを修正してもよい。また、いくつかのステップが、上記の要素が検討される前、間、または後に行われてもよい。故に、上記の説明は、請求項の範囲を束縛するものではない。
【0118】
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈が明確に別様に示さない限り、複数の指示物を含む。したがって、例えば、「ユーザ」の言及は、そのようなユーザのうちの1人以上の人を含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
【0119】
また、単語「comprise(~を備える)」、「comprising(~を備えている)」、「contains(~を含有する)」、「containing(~を含有している)」、「include(~を含む)」、「including(~を含んでいる)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定することを意図するが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
【0120】
また、本明細書に説明される実施例および実施形態が、例証目的のみのためのものであって、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれるものであることを理解されたい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13