(57)【特許請求の範囲】
【請求項１】
ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施する方法であって、前記方法は、
前記ハンドヘルドデバイスに搭載される少なくとも１つのセンサによって、前記ハンドヘルドデバイスの移動を示すハンドヘルドデータを取得することであって、前記ハンドヘルドデータを取得することは、
前記ハンドヘルドデバイスに搭載される慣性測定ユニット（ＩＭＵ）によって、前記ハンドヘルドデバイスの線形加速および回転速度を検出することと、
前記ハンドヘルドデバイスに搭載されるハンドヘルドカメラによって、前記ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉することと
を含む、ことと、
前記ウェアラブルデバイスに搭載されるウェアラブルカメラによって、前記ハンドヘルドデバイスの移動を示す基準データを取得することであって、前記基準データを取得することは、
前記ウェアラブルカメラによって、前記ハンドヘルドデバイスに添着される複数の基準のうちのいくつかの基準を含有する基準画像を捕捉すること
を含む、ことと、
前記基準画像内の基準の数を決定することと、
前記基準の数が３以上であることの決定に応答して、前記基準データのみに基づいて、第１の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと、
前記基準の数が１または２と等しいことの決定に応答して、前記基準データおよび前記ハンドヘルドデータに基づいて、第２の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと、
前記基準の数がゼロと等しいことの決定に応答して、前記ハンドヘルドデータのみに基づいて、第３の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと
を含む、方法。
【請求項２】
前記複数の基準は、発光ダイオード（ＬＥＤ）を備える、請求項１に記載の方法。
【請求項３】
ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施する方法であって、前記方法は、
前記ハンドヘルドデバイスに搭載される慣性測定ユニット（ＩＭＵ）によって、前記ハンドヘルドデバイスの移動を示すハンドヘルドデータを取得することと、
第１のデバイスに搭載される結像デバイスによって、前記ハンドヘルドデバイスの移動を示す基準データを取得することであって、前記第１のデバイスは、前記ハンドヘルドデバイスまたは前記ウェアラブルデバイスのいずれかであり、前記基準データを取得することは、
前記結像デバイスによって、前記第１のデバイスと異なる第２のデバイスに添着されるいくつかの基準を含有する基準画像を捕捉することであって、前記第２のデバイスは、前記ハンドヘルドデバイスまたは前記ウェアラブルデバイスのいずれかである、こと
を含む、ことと、
前記基準画像内に含有される基準の数を決定することと、
前記基準画像内に含有される基準の数に基づいて、前記基準データおよび前記ハンドヘルドデータに基づいて、第１の動作状態または第２の動作状態に従って、前記ハンドヘルドデバイスの位置および配向を更新することと
を含む、方法。
【請求項４】
前記複数の基準は、発光ダイオード（ＬＥＤ）を備える、請求項３に記載の方法。
【請求項５】
前記結像デバイスは、前記ハンドヘルドデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ウェアラブルデバイスに添着される、請求項３に記載の方法。
【請求項６】
前記結像デバイスは、前記ウェアラブルデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ハンドヘルドデバイスに添着される、請求項３に記載の方法。
【請求項７】
前記結像デバイスは、前記ハンドヘルドデバイスに搭載され、前記いくつかの基準を含む１つ以上の基準は、前記ウェアラブルデバイスに添着され、前記ハンドヘルドデータを取得することは、
前記ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、前記ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉すること
を含む、請求項３に記載の方法。
【請求項８】
前記結像デバイスは、前記ウェアラブルデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ハンドヘルドデバイスに添着され、前記ハンドヘルドデータを取得することは、
前記ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、前記ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉すること
を含む、請求項３に記載の方法。
【請求項９】
前記基準の数が３以上であることの決定に応答して、前記基準データに基づいて、前記第１の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと、
前記基準の数が１または２と等しいことの決定に応答して、前記基準データおよび前記ハンドヘルドデータに基づいて、前記第２の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと
をさらに含む、請求項３に記載の方法。
【請求項１０】
前記基準の数がゼロと等しいことの決定に応答して、前記ハンドヘルドデータに基づいて、第３の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つは、前記基準データのみに基づいて、前記第１の動作状態に従って更新され、
前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つは、前記ハンドヘルドデータのみに基づいて、前記第３の動作状態に従って更新される、請求項１０に記載の方法。
【請求項１２】
ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施するためのシステムであって、前記システムは、
前記ウェアラブルデバイスと、
前記ハンドヘルドデバイスと、
前記ウェアラブルデバイスおよび前記ハンドヘルドデバイスに通信可能に結合される１つ以上のプロセッサであって、前記１つ以上のプロセッサは、
前記ハンドヘルドデバイスに搭載される慣性測定ユニット（ＩＭＵ）によって、前記ハンドヘルドデバイスの移動を示すハンドヘルドデータを取得することと、
第１のデバイスに搭載される結像デバイスによって、前記ハンドヘルドデバイスの移動を示す基準データを取得することであり、前記第１のデバイスは、前記ハンドヘルドデバイスまたは前記ウェアラブルデバイスのいずれかであって、前記基準データを取得することは、
前記結像デバイスによって、前記第１のデバイスと異なる第２のデバイスに添着されるいくつかの基準を含有する基準画像を捕捉することであって、前記第２のデバイスは、前記ハンドヘルドデバイスまたは前記ウェアラブルデバイスのいずれかである、こと
を含む、ことと、
前記基準画像内に含有される基準の数を決定することと、
前記基準画像内に含有される基準の数に基づいて、前記基準データおよび前記ハンドヘルドデータに基づいて、第１の動作状態または第２の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと
を含む動作を実施するように構成される、１つ以上のプロセッサと
を備える、システム。
【請求項１３】
前記複数の基準は、発光ダイオード（ＬＥＤ）を備える、請求項１２に記載のシステム。
【請求項１４】
前記結像デバイスは、前記ハンドヘルドデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ウェアラブルデバイスに添着される、請求項１２に記載のシステム。
【請求項１５】
前記結像デバイスは、前記ウェアラブルデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ハンドヘルドデバイスに添着される、請求項１２に記載のシステム。
【請求項１６】
前記結像デバイスは、前記ハンドヘルドデバイスに搭載され、前記いくつかの基準を含む複数の基準は、前記ウェアラブルデバイスに添着され、前記ハンドヘルドデータを取得することは、
前記ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、前記ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉すること
を含む、請求項１２に記載のシステム。
【請求項１７】
前記結像デバイスは、前記ウェアラブルデバイスに搭載され、前記いくつかの基準を含む１つ以上の基準は、前記ハンドヘルドデバイスに添着され、前記ハンドヘルドデータを取得することは、
前記ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、前記ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉すること
を含む、請求項１２に記載のシステム。
【請求項１８】
前記動作はさらに、
前記基準の数が３以上であることの決定に応答して、前記基準データに基づいて、前記第１の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと、
前記基準の数が１または２と等しいことの決定に応答して、前記基準データおよび前記ハンドヘルドデータに基づいて、前記第２の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新することと
を含む、請求項１２に記載のシステム。
【請求項１９】
前記動作はさらに、
前記基準の数がゼロと等しいことの決定に応答して、前記ハンドヘルドデータに基づいて、第３の動作状態に従って、前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つを更新すること
を含む、請求項１８に記載のシステム。
【請求項２０】
前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つは、前記基準データのみに基づいて、前記第１の動作状態に従って更新され、
前記ハンドヘルドデバイスの位置および配向のうちの少なくとも１つは、前記ハンドヘルドデータのみに基づいて、前記第３の動作状態に従って更新される、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１８年３月７日に出願され“ＶＩＳＵＡＬ  ＴＲＡＣＫＩＮＧ  ＯＦ  ＰＥＲＩＰＨＥＲＡＬ  ＤＥＶＩＣＥＳ”と題された米国仮特許出願第６２／６４０，００９号および２０１８年３月７日に出願され“ＶＩＳＵＡＬ  ＴＲＡＣＫＩＮＧ  ＯＦ  ＰＥＲＩＰＨＥＲＡＬ  ＤＥＶＩＣＥＳ”と題された米国仮特許出願第６２／６４０，２９９号に対する優先権を主張するものであり、これらの全体の開示は、あらゆる目的のために、本明細書中に完全に記載されているかのように、参照により本明細書中に援用される。
【背景技術】
【０００２】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式で視認者に提示される。仮想現実または「ＶＲ」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実または「ＡＲ」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張のデジタルまたは仮想画像情報の提示を伴う。
【０００３】
これらのディスプレイ技術において成された進歩にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する改良された方法、システム、およびデバイスの必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明は、概して、周辺デバイスの位置特定（位置、配向、および／または距離）に関する。より具体的には、本発明の実施形態は、ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定のためのシステム、デバイス、および方法を提供する。本開示の部分は、拡張現実（ＡＲ）システムを参照して説明されるが、本開示は、種々の用途に適用可能である。
【０００５】
本発明の第１の側面によると、ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施する方法が、提供される。本方法は、ハンドヘルドデバイスに搭載される少なくとも１つのセンサによって、世界に対するハンドヘルドデバイスの移動を示すハンドヘルドデータを取得するステップを含んでもよい。いくつかの実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される慣性測定ユニット（ＩＭＵ）によって、ハンドヘルドデバイスの線形加速および回転速度を検出するステップを含む。いくつかの実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載されるハンドヘルドカメラによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。本方法はさらに、ウェアラブルデバイスに搭載されるウェアラブルカメラによって、ウェアラブルデバイスに対するハンドヘルドデバイスの移動を示す基準データを取得するステップを含んでもよい。いくつかの実施形態では、基準データを取得するステップは、ウェアラブルカメラによって、ハンドヘルドデバイスに添着される複数のＬＥＤのうちのハンドヘルドデバイスに添着されるいくつかの発光ダイオード（ＬＥＤ）を含有する、基準画像を捕捉するステップを含む。
【０００６】
本方法はさらに、基準画像内に含有されるＬＥＤの数を決定するステップを含んでもよい。本方法はさらに、ＬＥＤの数が３以上であることの決定に応答して、基準データのみに基づいて、第１の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。本方法はさらに、ＬＥＤの数が１または２と等しいことの決定に応答して、基準データおよびハンドヘルドデータに基づいて、第２の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。本方法はさらに、ＬＥＤの数がゼロと等しいことの決定に応答して、ハンドヘルドデータのみに基づいて、第３の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。
【０００７】
本発明の第２の側面によると、ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施する方法が、提供される。本方法は、ハンドヘルドデバイスに搭載される少なくとも１つのセンサによって、世界に対するハンドヘルドデバイスの移動を示すハンドヘルドデータを取得するステップを含んでもよい。本方法はまた、第１のデバイスに搭載される結像デバイスによって、ウェアラブルデバイスに対するハンドヘルドデバイスの移動を示す基準データを取得するステップを含んでもよい。いくつかの実施形態では、第１のデバイスは、ハンドヘルドデバイスまたはウェアラブルデバイスのいずれかである。いくつかの実施形態では、基準データを取得するステップは、結像デバイスによって、第１のデバイスと異なる第２のデバイスに添着されるいくつかの基準を含有する基準画像を捕捉するステップを含む。いくつかの実施形態では、第２のデバイスは、ハンドヘルドデバイスまたはウェアラブルデバイスのいずれかである。本方法はさらに、基準画像内に含有される基準の数を決定するステップを含んでもよい。本方法はさらに、基準画像内に含有される基準の数に基づいて、基準データおよびハンドヘルドデータに基づいて、第１の動作状態または第２の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。
【０００８】
いくつかの実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載されるＩＭＵによって、ハンドヘルドデバイスの回転移動を検出するステップを含む。いくつかの実施形態では、結像デバイスは、ハンドヘルドデバイスに搭載され、いくつかの基準を含む、複数の基準は、ウェアラブルデバイスに添着される。いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、複数の基準は、ハンドヘルドデバイスに添着される。いくつかの実施形態では、結像デバイスは、ハンドヘルドデバイスに搭載され、いくつかの基準を含む、複数の基準は、ウェアラブルデバイスに添着される。いくつかの実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、単一基準は、ハンドヘルドデバイスに添着される。そのような実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。
【０００９】
いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、複数の基準は、ハンドヘルドデバイスに添着される。そのような実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。本方法はさらに、基準の数が３以上であることの決定に応答して、基準データに基づいて、第１の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。本方法はさらに、基準の数が１または２と等しいことの決定に応答して、基準データおよびハンドヘルドデータに基づいて、第２の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。本方法はさらに、基準の数がゼロと等しいことの決定に応答して、ハンドヘルドデータに基づいて、第３の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。いくつかの実施形態では、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向は、基準データのみに基づいて、第１の動作状態に従って更新される。いくつかの実施形態では、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向は、ハンドヘルドデータのみに基づいて、第３の動作状態に従って更新される。
【００１０】
本発明の第３の側面によると、ウェアラブルデバイスに対するハンドヘルドデバイスの位置特定を実施するためのシステムが、提供される。本システムは、ウェアラブルデバイスを含んでもよい。本システムはまた、ハンドヘルドデバイスを含んでもよい。本システムはさらに、ウェアラブルデバイスおよびハンドヘルドデバイスに通信可能に結合される、１つ以上のプロセッサを含んでもよい。いくつかの実施形態では、１つ以上のプロセッサは、ハンドヘルドデバイスに搭載される少なくとも１つのセンサによって、世界に対するハンドヘルドデバイスの移動を示すハンドヘルドデータを取得するステップを含む、動作を実施するように構成される。動作はまた、第１のデバイスに搭載される結像デバイスによって、ウェアラブルデバイスに対するハンドヘルドデバイスの移動を示す基準データを取得するステップを含んでもよい。いくつかの実施形態では、第１のデバイスは、ハンドヘルドデバイスまたはウェアラブルデバイスのいずれかである。いくつかの実施形態では、基準データを取得するステップは、結像デバイスによって、第１のデバイスと異なる第２のデバイスに添着されるいくつかの基準を含有する基準画像を捕捉するステップを含む。いくつかの実施形態では、第２のデバイスは、ハンドヘルドデバイスまたはウェアラブルデバイスのいずれかである。動作はさらに、基準画像内に含有される基準の数を決定するステップを含んでもよい。動作はさらに、基準画像内に含有される基準の数に基づいて、基準データおよびハンドヘルドデータに基づいて、第１の動作状態または第２の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含んでもよい。
【００１１】
いくつかの実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載されるＩＭＵによって、ハンドヘルドデバイスの回転移動を検出するステップを含む。いくつかの実施形態では、結像デバイスは、ハンドヘルドデバイスに搭載され、いくつかの基準を含む、複数の基準は、ウェアラブルデバイスに添着される。いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、複数の基準は、ハンドヘルドデバイスに添着される。いくつかの実施形態では、結像デバイスは、ハンドヘルドデバイスに搭載され、いくつかの基準を含む、複数の基準は、ウェアラブルデバイスに添着される。そのような実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、単一基準は、ハンドヘルドデバイスに添着される。そのような実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。いくつかの実施形態では、結像デバイスは、ウェアラブルデバイスに搭載され、いくつかの基準を含む、複数の基準は、ハンドヘルドデバイスに添着される。そのような実施形態では、ハンドヘルドデータを取得するステップは、ハンドヘルドデバイスに搭載される第２のハンドヘルド結像デバイスによって、ハンドヘルドデバイスを囲繞する１つ以上の特徴を含有する世界画像を捕捉するステップを含む。
【００１２】
いくつかの実施形態では、動作はさらに、基準の数が３以上であることの決定に応答して、基準データに基づいて、第１の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含む。いくつかの実施形態では、動作はさらに、基準の数が１または２と等しいことの決定に応答して、基準データおよびハンドヘルドデータに基づいて、第２の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含む。いくつかの実施形態では、動作はさらに、基準の数がゼロと等しいことの決定に応答して、ハンドヘルドデータに基づいて、第３の動作状態に従って、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および配向を更新するステップを含む。
【００１３】
従来の技法に優る多数の利点が、本発明を用いて達成される。例えば、本発明の実施形態は、一連の磁気コイルを採用する、電磁追跡システム等の従来の技法より高い正確度のハンドヘルドデバイスの位置特定をもたらす。本発明の実施形態はまた、ヘッドセット上に装備された正面に面したまたは側面に面した世界カメラ等、ＡＲシステムによってすでに利用されているハードウェアを利用してもよい。実施形態は、ＡＲシステム以外にも、別のデバイスに対する１つのデバイスの位置特定が重要である用途に拡張され得る。本発明の他の利点は、容易に当業者に明白となるであろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、本明細書に説明されるある実施形態による、ウェアラブルＡＲデバイスを通して視認されるような拡張現実（ＡＲ）場面を図示する。
【００１５】
【図２】図２は、ＡＲシステムの種々の可能性として考えられるコンポーネントを図示する。
【００１６】
【図３】図３は、視覚的追跡システムがウェアラブルデバイスおよびハンドヘルドデバイスを有するＡＲシステムとともにどのように組み込まれ得るかの実施例を図示する。
【００１７】
【図４】図４は、位置特定タスクの略図を図示する。
【００１８】
【図５】図５は、ＡＲシステムの例示的構成を図示する。
【００１９】
【図６】図６は、図５に図示される例示的構成を使用して位置特定を実施する、方法を図示する。
【００２０】
【図７】図７は、ＡＲシステムの例示的構成を図示する。
【００２１】
【図８】図８は、図７に図示される例示的構成を使用して位置特定を実施する、方法を図示する。
【００２２】
【図９】図９は、ＡＲシステムの例示的構成を図示する。
【００２３】
【図１０】図１０は、図９に図示される例示的構成を使用して位置特定を実施する、方法を図示する。
【００２４】
【図１１Ａ】図１１Ａは、ＡＲシステムの例示的構成を図示する。
【００２５】
【図１１Ｂ】図１１Ｂは、ＡＲシステムの例示的構成を図示する。
【００２６】
【図１２】図１２は、図１１Ａおよび１１Ｂに図示される例示的構成を使用して位置特定を実施する、方法を図示する。
【００２７】
【図１３】図１３は、前述で図示される例示的構成のいずれかを使用して位置特定を実施する、方法を図示する。
【００２８】
【図１４】図１４は、本明細書に説明されるいくつかの実施形態による、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【００２９】
従来の仮想現実（ＶＲ）または拡張現実（ＡＲ）システムでは、周辺デバイスの６自由度追跡は、ユーザのＡＲヘッドセット、ベルトパック、および／または他の補助デバイス（例えば、トーテム、触知デバイス、ゲーム用機器等）上に方略的に設置された一連の電磁センサおよびエミッタを組み込むことによって達成される。典型的には、電磁追跡システムは、少なくとも１つの電磁場エミッタと、少なくとも１つの電磁場センサとを含む。放出される電磁場は、既知の分布を有するため、検出された場は、周辺デバイスの位置および／または配向を決定するために分析され得る。そのようなシステムは、位置特定問題の単純ソリューションをもたらすが、より高い正確度の位置特定をもたらす、付加的ソリューションの必要がある。本発明の実施形態は、電磁追跡システムに取って代わる、またはそれを補完することができる。
【００３０】
本発明の実施形態は、ウェアラブルデバイス（例えば、ヘッドセット）に対するハンドヘルドデバイス（例えば、トーテム）の高正確度位置特定を実施するための視覚的追跡システムを提供する。結像デバイスが、デバイスのうちの１つに搭載され、他のデバイスに添着される１つ以上の基準の画像を捕捉してもよい。付加的結像デバイスが、種々の環境マーカを捕捉するために、ハンドヘルドデバイスに搭載されてもよい。捕捉された画像内の基準の数に基づいて、基準データ（すなわち、局所基準を有する基準画像に基づくデータ）およびハンドヘルドデータ（世界基準を有する、ハンドヘルドデバイスに搭載されるセンサから集められたデータ）を異なるように利用する、異なるデータ処理スキームが、実装されてもよい。本明細書では、動作状態と称される、各データ処理スキームは、ウェアラブルデバイスに対するハンドヘルドデバイスの位置および／または配向の正確な推定を可能にし得る。追跡システムは、ＡＲシステムに、推定された位置特定を知らせてもよく、ＡＲシステムは、位置特定情報を使用して、ユーザにとって快適であると感じる仮想コンテンツを生成してもよい。
【００３１】
図１は、本明細書に説明されるある実施形態による、ウェアラブルＡＲデバイスを通して視認されるようなＡＲ場面を図示する。ＡＲ場面１００が、描写され、ＡＲ技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム１２０を特徴とする、実世界公園状設定１０６が見える。これらのアイテムに加え、ＡＲ技術のユーザはまた、実世界プラットフォーム１２０上に立っているロボット像１１０と、マルハナバチの擬人化のように見える飛んでいる漫画状アバタキャラクタ１０２とを「見える」と知覚するが、これらの要素（キャラクタ１０２および像１１０）は、実世界には存在しない。ヒト視知覚および神経系が非常に複雑であることに起因して、他の仮想または実世界画像要素の中への仮想画像要素の快適であって自然のように感じる豊かな提示を促進する、ＶＲまたはＡＲ技術を生産することは困難である。
【００３２】
図２は、ＡＲシステムの種々の可能性として考えられるコンポーネントを図示する。図示される実施形態では、ＡＲシステムユーザ２６０は、ユーザの眼の正面に位置付けられるディスプレイシステム２６２に結合されるフレーム２６４構造を特徴とする、頭部搭載型コンポーネント２５８装着しているように描写される。スピーカ２６６が、描写される構成では、フレーム２６４に結合され、ユーザの外耳道に隣接して位置付けられる（一実施形態では、示されない別のスピーカが、ユーザの他の外耳道に隣接して位置付けられ、ステレオ／調節可能音制御を提供する）。ディスプレイ２６２は、有線導線または無線コネクティビティ等によって、ローカル処理およびデータモジュール２７０に動作可能に結合され（２６８によって示されるように）、これは、フレーム２６４に固定して取り付けられる、ヘルメットまたは帽子に固定して取り付けられる、リュック式構成において、ユーザ２６０の胴体に除去可能に取り付けられる、またはベルト結合式構成において、ユーザ２６０の腰部に除去可能に取り付けられる等、種々の構成において搭載されてもよい。
【００３３】
ローカル処理およびデータモジュール２７０は、電力効率的プロセッサまたはコントローラおよびフラッシュメモリ等のデジタルメモリを備えてもよく、両方とも、ａ）画像捕捉デバイス（カメラ等）、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ等のフレーム２６４に動作可能に結合され得る、センサから捕捉されるデータ、および／またはｂ）可能性として、処理または読出後、ディスプレイ２６２への通過のために、遠隔処理モジュール２７２および／または遠隔データリポジトリ２７４を使用して、入手および／または処理されるデータの処理、キャッシュ、および記憶を補助するために利用されてもよい。
【００３４】
ローカル処理およびデータモジュール２７０は、これらの遠隔モジュール２７２、２７４が、相互に動作可能に結合され、ローカル処理およびデータモジュール２７０へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、遠隔処理モジュール２７２および遠隔データリポジトリ２７４に動作可能に結合されてもよい（２７６、２７８によって示されるように）。一実施形態では、遠隔処理モジュール２７２は、データおよび／または画像情報を分析および処理するように構成される、１つ以上の比較的に強力なプロセッサまたはコントローラを備えてもよい。一実施形態では、遠隔データリポジトリ２７４は、比較的に大規模なデジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。一実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール内で実施され、任意の遠隔モジュールからの完全に自律的な使用を可能にする。
【００３５】
図３は、視覚的追跡システムが、ウェアラブルデバイス３０２（例えば、ヘッドセット）と、ハンドヘルドデバイス３０４（例えば、コントローラ）とを有するＡＲシステムの中にどのように組み込まれ得るかの実施例を図示する。いくつかの実施形態では、ハンドヘルドデバイス３０４は、ユーザが入力をＡＲシステムに提供することを可能にする、ハンドヘルドコントローラであってもよい。例えば、ハンドヘルドデバイス３０４は、ゲーム用シナリオにおいて使用されるためのトーテムであってもよい。ハンドヘルドデバイス３０４は、触知デバイスであってもよく、種々のセンサタイプを利用する、１つ以上の触知表面を含んでもよい。ＡＲシステムの動作の間、ユーザは、ハンドヘルドデバイス３０４を能動的に把持することによって、および／または取付機構（例えば、ストラップの周囲のラップ）をユーザの手に固着することによって、ハンドヘルドデバイス３０４をその左手または右手に保持してもよい。
【００３６】
ハンドヘルドデバイス３０４は、基準がハンドヘルドデバイス３０４の外部の結像デバイスの視野内にあり得るように、ハンドヘルドデバイス３０４の１つ以上の外部表面に沿って位置付けられる、１つ以上の基準（本明細書では、ハンドヘルド基準３２２と称される）を含んでもよい。ハンドヘルド基準３２２は、結像デバイスが、ハンドヘルド基準３２２のうちの１つ以上のものの画像を捕捉することによって、ハンドヘルドデバイス３０４に対するその位置および／または配向を決定し得るように、相互に対して既知の関係を有してもよい。ハンドヘルド基準３２２は、動的、静的、電動式、非電動式であってもよく、いくつかの実施形態では、相互から区別可能であってもよい。例えば、第１の基準は、第１の波長を有する、発光ダイオード（ＬＥＤ）であってもよく、第２の基準は、第２の波長を有する、ＬＥＤであってもよい。代替として、または加えて、異なる基準は、異なる明度を有してもよく、および／または異なる周波数でパルス駆動してもよい（例えば、第１の基準は、１００Ｈｚでパルス駆動してもよく、第２の基準は、１５０Ｈｚでパルス駆動してもよい）。
【００３７】
ハンドヘルドデバイス３０４は、ウェアラブルデバイス３０２および／またはハンドヘルドデバイス３０４の周囲のいくつかの特徴が、ハンドヘルドデバイス３０４がユーザによって保持されているとき、結像デバイスの視野内にあるように位置付けられる、１つ以上の結像デバイス（本明細書では、ハンドヘルド結像デバイス３２６と称される）を含んでもよい。例えば、正面ハンドヘルド結像デバイス３２６Ａが、その視野が、ユーザから離れるように、ハンドヘルドデバイス３０４の周囲の１つ以上の特徴に向かって配向されるように位置付けられてもよく、背面ハンドヘルド結像デバイス３２６Ｂが、その視野が、ウェアラブルデバイス３０２に向かって配向されるように位置付けられてもよい。ハンドヘルド結像デバイス３２６は、１つ以上の正面に面した結像デバイスおよび／または１つ以上の背面に面した結像デバイスを含み、所望の累積視野を作成してもよい。いくつかの実施形態では、ハンドヘルド結像デバイス３２６は、カメラ等の光学デバイスであってもよく、静止画または動画を捕捉してもよい。
【００３８】
ハンドヘルドデバイス３０４は、ハンドヘルドデバイス３０４の回転および線形移動がハンドヘルドＩＭＵ３２４によって同様に被られるように、ハンドヘルドデバイス３０４内にしっかりと固着される、慣性測定ユニット（ＩＭＵ）（本明細書では、ハンドヘルドＩＭＵ３２４と称される）を含んでもよい。いくつかのインスタンスでは、ハンドヘルドＩＭＵ３２４は、１つ以上の加速度計（例えば、３つ）、１つ以上のジャイロスコープ（例えば、３つ）、１つ以上の磁力計（例えば、３つ）、および／または未加工測定値を処理されたデータに変換するためのデジタル信号処理ハードウェアおよびソフトウェアを含んでもよい。例えば、ハンドヘルドＩＭＵ３２４は、３つの軸毎に、加速度計、ジャイロスコープ、および磁力計を含んでもよい。軸毎に、ハンドヘルドＩＭＵ３２４は、線形位置、線形速度、線形加速、回転位置、回転速度、および／または回転加速のうちの１つ以上のものを出力してもよい。代替として、または加えて、ハンドヘルドＩＭＵ３２４は、未加工データを出力してもよく、そこから、前述の形態の処理されたデータのいずれかが、計算されてもよい。
【００３９】
ハンドヘルドデバイス３０４は、ハンドヘルド基準３２２、ハンドヘルド結像デバイス３２６、ハンドヘルドＩＭＵ３２４、およびハンドヘルドデバイス３０４の任意の他のコンポーネントに給電する、再充電可能および／または交換可能バッテリ３２８または他の電力供給源を備えてもよい。図３に図示されないが、ハンドヘルドデバイス３０４は、ウェアラブルデバイス３０２および／またはベルトパック３４０との無線通信を可能にするための回路を含んでもよい。例えば、ハンドヘルド結像デバイス３２６およびハンドヘルドＩＭＵ３２４を使用して、データを検出または捕捉することに応じて、ハンドヘルドデバイス３０４は、未加工または処理されたデータをウェアラブルデバイス３０２および／またはベルトパック３４０に伝送してもよい。
【００４０】
ウェアラブルデバイス３０２は、基準が背面ハンドヘルド結像デバイス３２６Ｂの視野内にあり得るように、ウェアラブルデバイス３０６の１つ以上の外部表面に沿って位置付けられる、１つ以上の基準（本明細書では、ウェアラブル基準３０６と称される）を含んでもよい。ウェアラブル基準３０６は、結像デバイスが、ウェアラブル基準３０６のうちの１つ以上のものの画像を捕捉することによって、ウェアラブルデバイス３０６に対するその位置および／または配向を決定し得るように、相互に対して既知の関係を有してもよい。ウェアラブル基準３０６は、動的、静的、電動式、非電動式であってもよく、いくつかの実施形態では、相互から区別可能であってもよい。例えば、第１の基準は、第１の波長を有する、ＬＥＤであってもよく、第２の基準は、第２の波長を有する、ＬＥＤであってもよい。代替として、または加えて、異なる基準は、異なる明度を有してもよく、および／または異なる周波数でパルス駆動してもよい。
【００４１】
ウェアラブルデバイス３０２は、ハンドヘルドデバイス３０４がユーザによって保持されているとき、ハンドヘルドデバイス３０４（具体的には、ハンドヘルド基準３２２）が結像デバイスの視野内にあるように位置付けられる、１つ以上の結像デバイス（本明細書では、ウェアラブル結像デバイス３１０と称される）を含んでもよい。例えば、１つ以上のウェアラブル結像デバイス３１０は、ウェアラブルデバイス３０２の光学シースルーコンポーネントの上方、下方、および／または側面において、ウェアラブルデバイス３０２上で正面に面して位置付けられてもよい。一実施形態では、２つのウェアラブル結像デバイス３１０が、ウェアラブルデバイス３０２の光学シースルーコンポーネントの両側上に位置付けられてもよい。いくつかの実施形態では、ウェアラブル結像デバイス３１０は、カメラ等の光学デバイスであってもよく、静止画または動画を捕捉してもよい。
【００４２】
ウェアラブルデバイス３０２は、ウェアラブルデバイス３０２の回転および線形移動がウェアラブルＩＭＵ３０８によって同様に被られるように、ウェアラブルデバイス３０２内でしっかりと固着される、ＩＭＵ（本明細書では、ウェアラブルＩＭＵ３０８と称される）を含んでもよい。いくつかのインスタンスでは、ウェアラブルＩＭＵ３０８は、１つ以上の加速度計（例えば、３つ）、１つ以上のジャイロスコープ（例えば、３つ）、１つ以上の磁力計（例えば、３つ）、および／または未加工測定を処理されたデータに変換するためのデジタル信号処理ハードウェアおよびソフトウェアを含んでもよい。例えば、ウェアラブルＩＭＵ３０８は、３つの軸毎に、加速度計、ジャイロスコープ、および磁力計を含んでもよい。軸毎に、ウェアラブルＩＭＵ３０８は、線形位置、線形速度、線形加速、回転位置、回転速度、および／または回転加速のうちの１つ以上のものを出力してもよい。代替として、または加えて、ウェアラブルＩＭＵ３０８は、未加工データを出力してもよく、そこから、前述の形態の処理されたデータのいずれかが、計算されてもよい。
【００４３】
いくつかの実施形態では、ＡＲシステムは、ベルトパック３４０を含んでもよく、これは、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施するためのコンピューティング装置（例えば、１つ以上のプロセッサおよび関連付けられたメモリ）を含んでもよい。代替として、または加えて、コンピューティング装置は、ウェアラブルデバイス３０２自体またはさらにハンドヘルドデバイス３０４内に常駐してもよい。コンピューティング装置は、（有線および／または無線接続を介して）未加工または処理されたデータをウェアラブルＩＭＵ３０８、ウェアラブル結像デバイス３１０、ハンドヘルドＩＭＵ３２４、およびハンドヘルド結像デバイス３２６のそれぞれから受信してもよく、ハンドヘルドデバイス３０４の地理的空間位置（ウェアラブルデバイス３０２の地理的空間位置に対する）およびハンドヘルドデバイス３０４の配向（ウェアラブルデバイス３０２の配向に対する）を算出してもよい。コンピューティング装置は、ひいては、マッピングデータベース３４２（例えば、パス可能世界モデル、座標空間等）を備え、姿勢を検出し、実オブジェクトおよび仮想オブジェクトの座標を決定してもよく、さらに、１つ以上の実施形態では、クラウドリソースおよびパス可能世界モデルに接続してもよい。いくつかの実施形態では、ウェアラブル結像デバイス３１０および／またはハンドヘルド結像デバイス３２６を使用して捕捉された画像は、パス可能世界モデルを構築するために使用されてもよい。例えば、特徴は、捕捉された画像内で検出されてもよく、収集されたデータ（例えば、疎点）は、パス可能世界モデルまたは別様に環境マップを構築するために使用されてもよい。
【００４４】
図４は、ハンドヘルドデバイス３０４の位置および配向がウェアラブルデバイス３０２に対して決定される、ＡＲシステムによって実施されるような位置特定タスクの略図を図示する。図示される略図では、ウェアラブルデバイス３０２は、世界基準に対する（ＸＷＰ、ＹＷＰ、ＺＷＰ）として定義される地理的空間位置（「ウェアラブル位置」）と、世界基準に対する（ＸＷＯ、ＹＷＯ、ＺＷＯ）として定義される配向（「ウェアラブル配向」）とを有する。いくつかのインスタンスでは、ウェアラブルデバイス３０２の地理的空間位置は、経度、緯度、および仰角値で表され、ウェアラブルデバイス３０２の配向は、ピッチ角度、ヨー角度、およびロール角度値で表される。
【００４５】
図示されるように、ハンドヘルドデバイス３０４は、ウェアラブルデバイス３０２の地理的空間位置（ＸＷＰ、ＹＷＰ、ＺＷＰ）に対する（Ｘ’ＨＰ、Ｙ’ＨＰ、Ｚ’ＨＰ）として定義される地理的空間位置（「ハンドヘルド位置」）と、ウェアラブルデバイス３０２の配向（ＸＷＯ、ＹＷＯ、ＺＷＯ）に対する（Ｘ’ＨＯ、Ｙ’ＨＯ、Ｚ’ＨＯ）として定義される配向（「ハンドヘルド配向」）とを有する。いくつかのインスタンスでは、ハンドヘルドデバイス３０４の地理的空間位置は、Ｘ、Ｙ、およびＺデカルト値で表され、ハンドヘルドデバイス３０４の配向は、ピッチ角度、ヨー角度、およびロール角度値で表される。１つの具体的実施例として、ハンドヘルドデバイス３０４が、ユーザによって保持されているとき、ハンドヘルドデバイス３０４の地理的空間位置は、（０．７ｍ、−０．５ｍ、０．１ｍ）と等しくなり得、ハンドヘルドデバイス３０４の配向は、（１０．２°、−４６．２°、１５．２°）と等しくなり得る。
【００４６】
図５は、ＡＲシステム５００の例示的構成を図示し、ウェアラブルデバイス３０２は、１つ以上のウェアラブル基準３０６を含み、ハンドヘルドデバイス３０４は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、かつ少なくとも一時的に、ウェアラブル基準３０６を含む、視野を有する、１つ以上の背面に面したハンドヘルド結像デバイス３２６を含む。ＡＲシステム５００は、ハンドヘルドＩＭＵ３２４等、ハンドヘルドデバイス３０４に搭載される、付加的センサを含んでもよい。そのような構成の１つの利点は、ハンドヘルドデバイス３０４が、ウェアラブルデバイス３０２に対する自らの位置特定を実施するために必要とされる、全てのデータを有し、それによって、ウェアラブルデバイス３０２にかかる処理負荷を低減させることであり得る。ＡＲシステム５００は、ウェアラブルＩＭＵ３０８等、ウェアラブルデバイス３０２に搭載される、付加的センサを含んでもよい。
【００４７】
図６は、ＡＲシステム５００を使用してウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施する、方法６００を図示する。方法６００の１つ以上のステップは、省略されてもよく、または図示される実施形態と異なる順序で実施されてもよく、方法６００の１つ以上のステップは、ウェアラブルデバイス３０２、ハンドヘルドデバイス３０４、および／またはベルトパック３４０内に位置する、１つ以上の処理装置において実施されてもよい。
【００４８】
ステップ６０２では、画像（「基準画像」）が、ハンドヘルド結像デバイス３２６によって捕捉される。基準画像は、ウェアラブル基準３０６のうちのいくつかの基準を含有してもよい。例えば、３つのウェアラブル基準３０６が存在する場合、基準画像は、ゼロ、１つ、２つ、または３つの基準を含有することを決定するために分析されてもよい。
【００４９】
ステップ６０４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、基準画像に基づいて計算される。例えば、基準画像は、ウェアラブル基準３０６のうちの任意の基準の場所を決定するために分析されてもよく、位置および／または配向は、基準画像内の基準の場所およびウェアラブル基準３０６間の既知の物理的関係に基づいて、決定されてもよい。ハンドヘルドデバイス３０４の位置および／または配向は、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の姿勢を決定するために使用されてもよい。ステップ６０４の出力は、基準データ６３０と称される。
【００５０】
ステップ６１０では、世界に対する（および／またはウェアラブルデバイス３０２に対する）少なくともハンドヘルドデバイス３０４の回転移動を示すデータ（「ＩＭＵデータ」）が、ハンドヘルドＩＭＵ３２４によって検出される。ＩＭＵデータは、回転速度または未加工データを含んでもよく、そこから、回転速度が、計算されてもよい。いくつかの実施形態では、ＩＭＵデータはまた、ハンドヘルドデバイス３０４の線形移動を示し、線形加速または未加工データを含んでもよく、そこから、線形加速が、計算されてもよい。
【００５１】
ステップ６１２では、ハンドヘルドデバイス３０４の位置および／または配向が、ＩＭＵデータに基づいて計算される。いくつかの実施形態では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、計算され（世界に対する前の既知および／または推定された配向を使用して）、および／または、いくつかの他の実施形態では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、計算される（ウェアラブルデバイス３０２に対する前の既知および／または推定された配向を使用して）。
【００５２】
ステップ６１４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、基準データ６３０および／またはハンドヘルドデータ６３２に基づいて計算される。基準データ６３０は、基準画像および／またはステップ６０４において実施される基準画像に基づく位置および／または配向計算を含んでもよい。ハンドヘルドデータ６３２は、ＩＭＵデータおよび／またはステップ６１２において実施されるＩＭＵデータに基づく位置および／または配向計算を含んでもよい。ステップ６１４における位置および配向計算は、基準画像に見出される基準の数に基づいて、種々の動作状態のうちの１つに従って実施されてもよい。各動作状態は、基準データ６３０およびハンドヘルドデータ６３２を異なるように取り扱ってもよく、他のタイプのデータに対して、１つのタイプのデータにより強調を置いてもよい。動作状態は、図１３を参照してさらに詳細に説明される。
【００５３】
ステップ６１６では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、ＡＲシステム５００を動作させる際に使用するための外部デバイスおよび／またはプロセスに出力される。例えば、位置および／または配向は、仮想コンテンツを生成および表示するために、ＡＲシステム５００に出力されてもよい。
【００５４】
図７は、ＡＲシステム７００の例示的構成を図示し、ウェアラブルデバイス３０２は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、ハンドヘルド基準３２２を含む、視野を有する、１つ以上のウェアラブル結像デバイス３１０を含み、ハンドヘルドデバイス３０４は、１つ以上のハンドヘルド基準３２２を含む。ＡＲシステム７００は、ハンドヘルドＩＭＵ３２４等、ハンドヘルドデバイス３０４に搭載される、付加的センサを含んでもよい。そのような構成の１つの利点は、ハンドヘルドデバイス３０４の簡略化および低電力消費であり得る。ＡＲシステム７００は、ウェアラブルＩＭＵ３０８等、ウェアラブルデバイス３０２に搭載される、付加的センサを含んでもよい。
【００５５】
図８は、ＡＲシステム７００を使用してウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施する、方法８００を図示する。方法８００の１つ以上のステップは、省略されてもよく、または図示される実施形態と異なる順序で実施されてもよく、方法８００の１つ以上のステップは、ウェアラブルデバイス３０２、ハンドヘルドデバイス３０４、および／またはベルトパック３４０内に位置する、１つ以上の処理装置において実施されてもよい。
【００５６】
ステップ８０２では、画像（「基準画像」）が、ウェアラブル結像デバイス３１０によって捕捉される。基準画像は、ハンドヘルド基準３２２のうちのいくつかの基準を含有してもよい。例えば、３つのハンドヘルド基準３２２が存在する場合、基準画像は、ゼロ、１つ、２つ、または３つの基準を含有することを決定するために分析されてもよい。
【００５７】
ステップ８０４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、基準画像に基づいて計算される。例えば、基準画像は、ハンドヘルド基準３２２のうちの任意の基準の場所を決定するために分析されてもよく、位置および／または配向は、基準画像内の基準の場所およびハンドヘルド基準３２２間の既知の物理的関係に基づいて決定されてもよい。ハンドヘルドデバイス３０４の位置および／または配向は、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の姿勢を決定するために使用されてもよい。ステップ８０４の出力は、基準データ８３０と称される。
【００５８】
ステップ８１０では、世界に対する少なくともハンドヘルドデバイス３０４の回転移動を示す、データ（「ＩＭＵデータ」）が、ハンドヘルドＩＭＵ３２４によって検出される。ＩＭＵデータは、回転速度または未加工データを含んでもよく、そこから、回転速度が、計算されてもよい。いくつかの実施形態では、ＩＭＵデータはまた、ハンドヘルドデバイス３０４の線形移動を示し、線形加速または未加工データを含んでもよく、そこから、線形加速が、計算されてもよい。
【００５９】
ステップ８１２では、ハンドヘルドデバイス３０４の位置および／または配向が、ＩＭＵデータに基づいて計算される。いくつかの実施形態では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、計算され（世界に対する前の既知および／または推定された配向を使用して）、および／または、いくつかの実施形態では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、計算される（ウェアラブルデバイス３０２に対する前の既知および／または推定された配向を使用して）。ステップ８１２の出力は、ハンドヘルドデータ８３２と称され得る。
【００６０】
ステップ８１４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、基準データ８３０および／またはハンドヘルドデータ８３２に基づいて計算される。基準データ８３０は、基準画像および／またはステップ８０４において実施される基準画像に基づく位置および／または配向計算を含んでもよい。ハンドヘルドデータ８３２は、ＩＭＵデータおよび／またはステップ８１２において実施されるＩＭＵデータに基づく位置および／または配向計算を含んでもよい。ステップ８１４における位置および／または配向計算は、基準画像に見出される基準の数に基づいて、種々の動作状態のうちの１つに従って実施されてもよい。各動作状態は、基準データ８３０およびハンドヘルドデータ８３２を異なるように取り扱ってもよく、他のタイプのデータと比較して、１つのタイプのデータにより強調を置いてもよい。動作状態は、図１３を参照してさらに詳細に説明される。
【００６１】
ステップ８１６では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、ＡＲシステム７００を動作させる際に使用するための外部デバイスおよび／またはプロセスに出力される。例えば、位置および／または配向は、仮想コンテンツを生成および表示するために、ＡＲシステム７００に出力されてもよい。
【００６２】
図９は、ＡＲシステム９００の例示的構成を図示し、ハンドヘルドデバイス３２６は、ハンドヘルドデバイス３０４がユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、１つ以上の周囲特徴３４４を含む視野を有する、正面ハンドヘルド結像デバイス３２６Ａと、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、１つ以上のウェアラブル基準３０６を含む視野を有する、背面ハンドヘルド結像デバイス３２６Ｂとを含む。例示的構成では、複数のウェアラブル基準３２２が、ウェアラブルデバイス３０２に添着される。ＡＲシステム９００は、ハンドヘルドＩＭＵ３２４等、ハンドヘルドデバイス３０４に搭載される、付加的センサを含んでもよい。そのような構成の１つの利点は、複数の結像デバイスによって提供される増加された正確度であり得る。ＡＲシステム９００は、ウェアラブルＩＭＵ３０８等、ウェアラブルデバイス３０２に搭載される、付加的センサを含んでもよい。
【００６３】
図１０は、ＡＲシステム９００を使用してウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施する、方法１０００を図示する。方法１０００の１つ以上のステップは、省略されてもよく、または図示される実施形態と異なる順序で実施されてもよく、方法１０００の１つ以上のステップは、ウェアラブルデバイス３０２、ハンドヘルドデバイス３０４、および／またはベルトパック３４０内に位置する、１つ以上の処理装置において実施されてもよい。
【００６４】
ステップ１００２では、画像（「基準画像」）が、背面ハンドヘルド結像デバイス３２６Ｂによって捕捉される。基準画像は、ウェアラブル基準３０６のうちのいくつかの基準を含有してもよい。例えば、３つのウェアラブル基準３０６が存在する場合、基準画像は、ゼロ、１つ、２つ、または３つの基準を含有することを決定するために分析されてもよい。
【００６５】
ステップ１００４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、基準画像に基づいて計算される。例えば、基準画像は、ウェアラブル基準３０６のうちの任意の基準の場所を決定するために分析されてもよく、位置および／または配向は、基準画像内の基準の場所およびウェアラブル基準３０６間の既知の物理的関係に基づいて、決定されてもよい。ハンドヘルドデバイス３０４の位置および／または配向は、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の姿勢を決定するために使用されてもよい。ステップ１００４の出力は、基準データ１０３０と称される。
【００６６】
ステップ１００６では、画像（「世界画像」）は、正面ハンドヘルド結像デバイス３２６Ａによって捕捉される。世界画像は、周囲特徴３４４を含有してもよい。
【００６７】
ステップ１００８では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、世界画像に基づいて計算される。いくつかのインスタンスでは、世界画像は、ビジュアルオドメトリ技法を使用して、前の世界画像と比較され、ハンドヘルドデバイス３０４の移動を推定し、これは、世界画像のそれぞれ内の特徴検出を実施し、世界画像間の対応を確立するステップを含んでもよい。世界画像内の検出された特徴の移動と最も一致する、ハンドヘルドデバイス３０４の移動ベクトルが、次いで、計算されてもよい。ステップ１００８の出力は、ハンドヘルドデータ１０３２と称される。
【００６８】
ステップ１０１０では、世界に対する少なくともハンドヘルドデバイス３０４の回転移動を示す、データ（「ＩＭＵデータ」）が、ハンドヘルドＩＭＵ３２４によって検出される。ＩＭＵデータは、回転速度または未加工データを含んでもよく、そこから、回転速度が、計算されてもよい。いくつかの実施形態では、ＩＭＵデータはまた、ハンドヘルドデバイス３０４の線形移動を示し、線形加速または未加工データを含んでもよく、そこから、線形加速が、計算されてもよい。
【００６９】
ステップ１０１２では、ハンドヘルドデバイス３０４の位置および／または配向が、ＩＭＵデータに基づいて計算される。いくつかの実施形態では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、計算され（世界に対する前の既知および／または推定された配向を使用して）、および／またはいくつかの実施形態では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、計算される（ウェアラブルデバイス３０２に対する前の既知および／または推定された配向を使用して）。ステップ１０１２の出力は、ハンドヘルドデータ１０３２と称される。
【００７０】
ステップ１０１４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、基準データ１０３０および／またはハンドヘルドデータ１０３２に基づいて計算される。基準データ１０３０は、基準画像および／またはステップ１００４において実施される基準画像に基づく位置および／または配向計算を含んでもよい。ハンドヘルドデータ１０３２は、世界画像、ステップ１００８において実施される世界画像に基づく位置および／または配向計算、ＩＭＵデータ、および／またはステップ１０１２において実施されるＩＭＵデータに基づく位置および配向計算を含んでもよい。ステップ１０１４における位置および／または配向計算は、基準画像に見出される基準の数に基づいて、種々の動作状態のうちの１つに従って実施されてもよい。各動作状態は、基準データ１０３０およびハンドヘルドデータ１０３２を異なるように取り扱ってもよく、他のタイプのデータに対して、１つのタイプのデータにより強調を置いてもよい。動作状態は、図１３を参照してさらに詳細に説明される。
【００７１】
ステップ１０１６では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、ＡＲシステム９００を動作させる際に使用するための外部デバイスおよび／またはプロセスに出力される。例えば、位置および／または配向は、仮想コンテンツを生成および表示するために、ＡＲシステム９００に出力されてもよい。
【００７２】
図１１Ａは、ＡＲシステム１１００Ａの例示的構成を図示し、ウェアラブルデバイス３０２は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、ハンドヘルド基準３２２を含む視野を有する、１つ以上のウェアラブル結像デバイス３１０を含み、ハンドヘルドデバイス３０４は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、１つ以上の周囲特徴３４４を含む視野を有する、１つ以上のハンドヘルド結像デバイス３２６を含む。図１１Ａに図示される例示的構成では、単一ハンドヘルド基準３２２が、ハンドヘルドデバイス３０４に添着される。ＡＲシステム１１００は、ハンドヘルドＩＭＵ３２４等、ハンドヘルドデバイス３０４に搭載される、付加的センサを含んでもよい。図１１Ａに図示される構成の利点は、複数の結像デバイスによって提供される増加された正確度および単一基準場所によって制約される間の位置および配向を計算する算出効率を含む。ＡＲシステム１１００Ａは、ウェアラブルＩＭＵ３０８等、ウェアラブルデバイス３０２に搭載される、付加的センサを含んでもよい。
【００７３】
図１１Ｂは、ＡＲシステム１１００Ｂの例示的構成を図示し、ウェアラブルデバイス３０２は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、ハンドヘルド基準３２２を含む視野を有する、１つ以上のウェアラブル結像デバイス３１０を含み、ハンドヘルドデバイス３０４は、ハンドヘルドデバイス３０４が通常動作においてユーザによって保持されている間、少なくとも部分的に、および少なくとも一時的に、１つ以上の周囲特徴３４４を含む視野を有する、１つ以上のハンドヘルド結像デバイス３２６を含む。図１１Ｂに図示される例示的構成では、複数のハンドヘルド基準３２２が、ハンドヘルドデバイス３０４に添着される。ＡＲシステム１１００Ｂは、ハンドヘルドＩＭＵ３２４等、ハンドヘルドデバイス３０４に搭載される、付加的センサを含んでもよい。そのような構成の利点は、複数の結像デバイスによって提供される増加された正確度および基準ベースの追跡とビジュアルオドメトリ技法を組み合わせることによる増加されたロバスト性を含む。ＡＲシステム１１００Ｂは、ＩＭＵ等、ウェアラブルデバイス３０２に搭載される、付加的センサを含んでもよい。
【００７４】
図１２は、図１１ＡのＡＲシステム１１００Ａまたは図１１ＢのＡＲシステム１１００Ｂを使用してウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施する、方法１２００を図示する。方法１２００の１つ以上のステップは、省略されてもよく、または図示される実施形態と異なる順序で実施されてもよく、方法１２００の１つ以上のステップは、ウェアラブルデバイス３０２、ハンドヘルドデバイス３０４、および／またはベルトパック３４０内に位置する、１つ以上の処理装置において実施されてもよい。
【００７５】
ステップ１２０２では、画像（「基準画像」）が、ウェアラブル結像デバイス３１０によって捕捉される。基準画像は、いくつかのハンドヘルド基準３２２を含有してもよい。例えば、図１１Ａに関して、１つのハンドヘルド基準３２２が存在する場合、基準画像は、ゼロまたは１つの基準を含有することを決定するために分析されてもよい。例えば、図１１Ｂに関して、３つのハンドヘルド基準３２２が存在する場合、基準画像は、ゼロ、１つ、２つ、または３つの基準を含有することを決定するために分析されてもよい。
【００７６】
ステップ１２０４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、基準画像に基づいて計算される。例えば、図１１Ａに関して、基準画像は、基準の場所を決定するために分析されてもよく、位置および／または配向に関する制約は、基準画像内の基準の場所に基づいて決定されてもよい。例えば、図１１Ｂに関して、基準画像は、任意の基準の場所を決定するために分析されてもよく、位置および／または配向は、基準画像内の基準の場所およびウェアラブル基準３０６間の既知の物理的関係に基づいて、決定されてもよい。
【００７７】
ステップ１２０６では、画像（「世界画像」）が、ハンドヘルド結像デバイス３２６によって捕捉される。世界画像は、周囲特徴３４４を含有してもよい。
【００７８】
ステップ１２０８では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、世界画像に基づいて計算される。いくつかのインスタンスでは、世界画像は、ビジュアルオドメトリ技法を使用して、前の世界画像と比較され、ハンドヘルドデバイス３０４の移動を推定し、これは、世界画像のそれぞれ内の特徴検出を実施し、世界画像間の対応を確立するステップを含んでもよい。世界画像内の検出された特徴の移動と最も一致する、ハンドヘルドデバイス３０４の移動ベクトルが、次いで、計算されてもよい。ステップ１２０８の出力は、ハンドヘルドデータ１２３２と称される。
【００７９】
ステップ１２１０では、世界に対する少なくともハンドヘルドデバイス３０４の回転移動を示す、データ（「ＩＭＵデータ」）が、ハンドヘルドＩＭＵ３２４によって検出される。ＩＭＵデータは、回転速度または未加工データを含んでもよく、そこから、回転速度が、計算されてもよい。いくつかの実施形態では、ＩＭＵデータはまた、ハンドヘルドデバイス３０４の線形移動を示し、線形加速または未加工データを含んでもよく、そこから、線形加速が、計算されてもよい。
【００８０】
ステップ１２１２では、ハンドヘルドデバイス３０４の位置および／または配向が、ＩＭＵデータに基づいて計算される。いくつかの実施形態では、世界に対するハンドヘルドデバイス３０４の位置および／または配向が、計算され（世界に対する前の既知および／または推定された配向を使用して）、および／または、いくつかの実施形態では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、計算される（ウェアラブルデバイス３０２に対する既知および／または推定された配向を使用して）。ステップ１２１２の出力は、ハンドヘルドデータ１２３２と称される。
【００８１】
ステップ１２１４では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、基準データ１２３０および／またはハンドヘルドデータ１２３２に基づいて計算される。例えば、図１１Ａに関して、基準データ１２３０は、基準画像および／またはステップ１２０４において実施される基準画像に基づく位置および／または配向計算に関する制約を含んでもよい。例えば、図１１Ｂに関して、基準データ１２３０は、基準画像および／またはステップ１２０４において実施される基準画像に基づく位置および／または配向計算を含んでもよい。ハンドヘルドデータ１２３２は、世界画像、ステップ１２０８において実施される世界画像に基づく位置および／または配向計算、ＩＭＵデータ、および／またはステップ１２１２において実施されるＩＭＵデータに基づく位置および／または配向計算を含んでもよい。ステップ１２１４における位置および／または配向計算は、基準画像に見出される基準の数に基づいて、種々の動作状態のうちの１つに従って実施されてもよい。各動作状態は、基準データ１２３０およびハンドヘルドデータ１２３２を異なるように取り扱ってもよく、他のタイプのデータに対して、１つのタイプのデータにより強調を置いてもよい。動作状態は、図１３を参照してさらに詳細に説明される。
【００８２】
ステップ１２１６では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、例えば、ＡＲシステム１１００を動作させる際に使用するための外部デバイスおよび／またはプロセスに出力される。例えば、位置および／または配向は、仮想コンテンツを生成および表示するために、ＡＲシステム１１００に出力されてもよい。
【００８３】
図１３は、ＡＲシステム５００、７００、９００、１１００のうちの任意の１つ、または任意のそれらの組み合わせを使用してウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置特定を実施する、方法１３００を図示する。方法１３００の１つ以上のステップは、省略されてもよく、または図示される実施形態と異なる順序で実施されてもよく、方法１３００の１つ以上のステップは、ウェアラブルデバイス３０２、ハンドヘルドデバイス３０４、および／またはベルトパック３４０内に位置する、１つ以上の処理装置において実施されてもよい。
【００８４】
ステップ１３０２では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の移動を示す、データ（「基準データ」）が、結像デバイスを使用して取得される。ステップ１３０２を実施するステップは、ステップ１３０４、１３０６の一方または両方を実施するステップを含んでもよい。ステップ１３０４では、いくつかのウェアラブル基準３０６を含有する、画像（「基準画像」）が、背面ハンドヘルド結像デバイス３２６Ｂによって捕捉される。ステップ１３０６では、いくつかのハンドヘルド基準３２２を含有する、画像（「基準画像」）が、ウェアラブル結像デバイス３１０によって捕捉される。
【００８５】
ステップ１３０８では、世界に対する少なくともハンドヘルドデバイス３０４の回転移動を示す、データ（「ハンドヘルドデータ」）が、検出される。ステップ１３０８を実施するステップは、ステップ１３１０、１３１２の一方または両方を実施するステップを含んでもよい。
【００８６】
ステップ１３１０では、画像（「世界画像」）が、周囲特徴３４４を含有する、正面ハンドヘルド結像デバイス３２６Ａによって捕捉される。ステップ１３１２では、世界に対する少なくともハンドヘルドデバイス３０４の回転移動を示す、データ（「ＩＭＵデータ」）が、ハンドヘルドＩＭＵ３２４によって検出される。ＩＭＵデータは、回転速度または未加工データを含んでもよく、そこから、回転速度が、計算されてもよい。いくつかの実施形態では、ＩＭＵデータはまた、ハンドヘルドデバイス３０４の線形移動を示し、線形加速または未加工データを含んでもよく、そこから、線形加速が、計算されてもよい。
【００８７】
ステップ１３１４では、基準画像内に含有される基準の数が、観察される基準の場所（例えば、ピクセル場所）とともに決定される。
【００８８】
ステップ１３１６では、ウェアラブルデバイス３０２に対するハンドヘルドデバイス３０４の位置および／または配向が、３つの動作状態のうちの１つに従って、計算／推定／更新される。動作状態は、基準画像内で観察される基準の数に基づいて選択される。図示される実施形態では、第１の動作状態（「状態１」）は、３つ以上の基準が基準画像内で観察されるときに選択され、第２の動作状態（「状態２」）は、１つまたは２つの基準が基準画像内で観察されるときに選択され、第３の動作状態（「状態３」）は、ゼロ基準が基準画像内で観察されるときに選択される。状態間の切替は、新しい基準画像が捕捉される度に、または所定のインターバルで生じ得る。例えば、ステップ１３１６は、基準データ（例えば、基準画像）およびハンドヘルドデータ（例えば、世界画像およびＩＭＵ配向）の一方または両方に基づいて、各カメラフレームにおいて実施されてもよい。ステップ１３１６はさらに、前の位置および／または配向計算を組み込み、推定正確度を改良してもよい。
【００８９】
第１の動作状態（「状態１」）によると、位置および／または配向は、（完全６自由度において）高正確度で、例えば、基準データのみに基づいて、計算され得る。４つ以上の基準が、観察されるとき、位置は、完全に解決されることができる。正確に３つの基準が、観察されるとき、位置に対して２つの可能性として考えられる解が存在し、そのうちの１つは、付加的処理および／または以前に計算された位置との比較に基づいて、破棄され得る。いくつかの実施形態では、ハンドヘルドデータが、計算正確度を補完および改良するために使用されてもよい。いくつかの実施形態では、拡張カルマンフィルタが、採用され、前の位置および／または配向計算に基づいて、正確度を改良してもよい。
【００９０】
第２の動作状態（「状態２」）によると、位置および／または配向は、例えば、基準データおよびハンドヘルドデータの両方を使用して計算されてもよい。２つの基準が、観察されるとき、基準データは、制約された位置および／または配向が計算されることを可能にし、ハンドヘルドデータは、基準データによって課された制約下で計算を完了するために使用されてもよい。いくつかの実施形態では、拡張カルマンフィルタが、採用され、前の位置および／または配向計算に基づいて、正確度を改良してもよい。第２の動作状態下で実施される計算は、第１の動作状態下で実施される計算ほど全体的に正確ではなくてもよい。
【００９１】
第３の動作状態（「状態３」）によると、位置および配向は、例えば、ハンドヘルドデータ（すなわち、デッドレコニング）のみに基づいて計算されてもよい。いくつかの実施形態では、拡張カルマンフィルタが、採用され、前の位置および／または配向計算に基づいて、正確度を改良してもよい。第３の動作状態下で実施される計算は、第１または第２の動作状態下で実施される計算ほど全体的に正確ではなくてもよい。
【００９２】
ステップ１３１８では、ＩＭＵバイアス補正が、実施され、ステップ１３１６において入力として提供されるＩＭＵデータの正確度を増加させてもよい。ＩＭＵデータは、経時的にドリフトし得るため、周期的更新は、ＩＭＵデータを再較正することができる。いくつかの実施形態では、バイアス更新が、第１の動作状態が選択されるときのみ提供され、高正確度バイアス更新が、提供されることができる。いくつかの実施形態では、バイアス更新は、両状態が基準データをその計算において利用するため、第１の動作状態または第２の動作状態のいずれかが選択されるときに提供される。バイアス更新は、各カメラフレームまたは所定のインターバルにおいて提供されることができる。
【００９３】
図１４は、本明細書に説明されるいくつかの実施形態による、簡略化されたコンピュータシステム１４００を図示する。図１４は、種々の実施形態によって提供される方法のステップの一部または全部を実施することができる、コンピュータシステム１４００の一実施例の略図を提供する。図１４は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用されてもよいことに留意されたい。図１４は、したがって、広義には、個々のシステム要素が、比較的に分離された様式または比較的により統合された様式においてどのように実装され得るかを図示する。
【００９４】
コンピュータシステム１４００は、バス１４０５を介して電気的に結合されることができる、または必要に応じて別様に通信し得る、ハードウェア要素を備えるように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および／または同等物等、１つ以上の汎用プロセッサおよび／または１つ以上の特殊目的プロセッサを含む、１つ以上のプロセッサ１４１０と、限定ではないが、マウス、キーボード、カメラ、および／または同等物を含むことができる、１つ以上の入力デバイス１４１５と、限定ではないが、ディスプレイデバイス、プリンタ、および／または同等物を含むことができる、１つ以上の出力デバイス１４２０とを含んでもよい。
【００９５】
コンピュータシステム１４００はさらに、限定ではないが、ローカルおよび／またはネットワークアクセス可能記憶装置を備えることができ、および／または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および／または同等物であることができる、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ（「ＲＡＭ」）等のソリッドステート記憶デバイス、および／または読取専用メモリ（「ＲＯＭ」）を含むことができる、１つ以上の非一過性記憶デバイス１４２５を含む、および／またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および／または同等物を含む、任意の適切なデータ記憶を実装するように構成されてもよい。
【００９６】
コンピュータシステム１４００はまた、限定ではないが、Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス、８０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラー通信設備等、および／または同等物等のモデム、ネットワークカード（無線または有線）、赤外線通信デバイス、無線通信デバイス、および／またはチップセットを含むことができる、通信サブシステム１４１９を含み得る。通信サブシステム１４１９は、１つ以上の入力および／または出力通信インターフェースを含み、データが、一実施例として挙げるために以下に説明されるネットワーク等のネットワーク、他のコンピュータシステム、テレビ、および／または本明細書に説明される任意の他のデバイスと交換されることを可能にしてもよい。所望の機能性および／または他の実装関心事に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム１４１９を介して、画像および／または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第１の電子デバイスは、コンピュータシステム１４００、例えば、電子デバイスの中に入力デバイス１４１５として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム１４００はさらに、作業メモリ１４３５を備え、これは、上記に説明されるようなＲＡＭまたはＲＯＭデバイスを含むことができる。
【００９７】
コンピュータシステム１４００はまた、種々の実施形態によって提供されるコンピュータプログラムを備え得る、および／または本明細書に説明されるような他の実施形態によって提供される方法を実装および／またはシステムを構成するように設計され得る、１つ以上のアプリケーションプログラム１４４５等のオペレーティングシステム１４４０、デバイスドライバ、実行可能ライブラリ、および／または他のコードを含む、作業メモリ１４３５内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、一例として、前述の方法に関して説明される１つ以上のプロシージャは、コンピュータおよび／またはコンピュータ内のプロセッサによって実行可能なコードおよび／または命令として実装され得、ある側面では、次いで、そのようなコードおよび／または命令は、説明される方法に従って１つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および／または適合するために使用されることができる。
【００９８】
これらの命令および／またはコードのセットは、上記に説明される記憶デバイス１４２５等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム１４００等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等の可撤性媒体である、および／または記憶媒体が、汎用コンピュータをその上に記憶される命令／コードを用いてプログラム、構成、および／または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム１４００によって実行可能である、実行可能コードの形態をとり得る、および／または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用したコンピュータシステム１４００上へのコンパイルおよび／またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび／またはインストール可能コードの形態をとり得る。
【００９９】
実質的変形例が、具体的要件に従って作製されてもよいことが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および／または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力／出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
【０１００】
前述のように、一側面では、いくつかの実施形態は、コンピュータシステム１４００等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ１４１０が、オペレーティングシステム１４４０の中に組み込まれ得る、１つ以上の命令の１つ以上のシーケンス、および／または作業メモリ１４３５内に含有される、アプリケーションプログラム１４４５等の他のコードを実行することに応答して、コンピュータシステム１４００によって実施される。そのような命令は、記憶デバイス１４２５のうちの１つ以上のもの等の別のコンピュータ可読媒体から作業メモリ１４３５の中に読み取られてもよい。単に、一例として、作業メモリ１４３５内に含有される命令のシーケンスの実行は、プロセッサ１４１０に、本明細書に説明される方法の１つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
【０１０１】
用語「機械可読媒体」および「コンピュータ可読媒体」は、本明細書で使用されるように、機械を具体的方式で動作させるデータを提供することに関わる、任意の媒体を指す。コンピュータシステム１４００を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令／コードをプロセッサ１４１０に提供する際に関わり得る、および／またはそのような命令／コードを記憶および／または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および／または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス１４２５等の光学および／または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ１４３５等の動的メモリを含む。
【０１０２】
一般的形態の物理的および／または有形コンピュータ可読媒体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および／またはコードを読み取ることができる、任意の他の媒体を含む。
【０１０３】
種々の形態のコンピュータ可読媒体が、実行のための１つ以上の命令の１つ以上のシーケンスをプロセッサ１４１０に搬送する際に関わってもよい。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび／または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム１４００によって受信および／または実行される伝送媒体を経由して、命令を信号として送信し得る。
【０１０４】
通信サブシステム１４１９および／またはそのコンポーネントは、概して、信号を受信し、バス１４０５が、次いで、信号および／または信号によって搬送されるデータ、命令等を作業メモリ１４３５に搬送し得、そこから、プロセッサ１４１０が、命令を読み出し、実行する。作業メモリ１４３５によって受信された命令は、随意に、プロセッサ１４１０による実行前または後のいずれかにおいて、非一過性記憶デバイス１４２５上に記憶されてもよい。
【０１０５】
前述の方法、システム、およびデバイスは、実施例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよく、および／または種々の段階は、追加される、省略される、および／または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示の範囲または請求項を限定するものではない。
【０１０６】
具体的詳細が、実装を含む、例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
【０１０７】
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されてもよい。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
【０１０８】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、前述の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の適用に優先する、または別様にそれを修正してもよい。また、いくつかのステップは、前述の要素が検討される前、間、または後に行われてもよい。故に、前述の説明は、請求項の範囲を束縛するものではない。
【０１０９】
本明細書および添付の請求項で使用されるように、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、１つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
【０１１０】
また、単語「ｃｏｍｐｒｉｓｅ（〜を備える）」、「ｃｏｍｐｒｉｓｉｎｇ（〜を備える）」、「ｃｏｎｔａｉｎｓ（〜を含有する）」、「ｃｏｎｔａｉｎｉｎｇ（〜を含有する）」、「ｉｎｃｌｕｄｅ（〜を含む）」、「ｉｎｃｌｕｄｉｎｇ（〜を含む）」、および「ｉｎｃｌｕｄｅｓ（〜を含む）」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、１つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
【０１１１】
また、本明細書に説明される実施例および実施形態は、例証目的のためだけのものであり、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および範囲および添付される請求項の範囲内に含まれるものであることを理解されたい。
【図１】
0006785385.tif 000002
【図２】
0006785385.tif 000003
【図３】
0006785385.tif 000004
【図４】
0006785385.tif 000005
【図５】
0006785385.tif 000006
【図６】
0006785385.tif 000007
【図７】
0006785385.tif 000008
【図８】
0006785385.tif 000009
【図９】
0006785385.tif 000010
【図１０】
0006785385.tif 000011
【図１１Ａ】
0006785385.tif 000012
【図１１Ｂ】
0006785385.tif 000013
【図１２】
0006785385.tif 000014
【図１３】
0006785385.tif 000015
【図１４】
0006785385.tif 000016