(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】拡張現実システムおよび方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240308BHJP
G06F 3/01 20060101ALI20240308BHJP
G06F 3/04815 20220101ALI20240308BHJP
【FI】
G06T19/00 600
G06F3/01 510
G06F3/01 570
G06F3/04815
(21)【出願番号】P 2021545327
(86)(22)【出願日】2019-10-15
(86)【国際出願番号】 EP2019077906
(87)【国際公開番号】W WO2020078965
(87)【国際公開日】2020-04-23
【審査請求日】2022-07-22
(32)【優先日】2018-10-15
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】509228994
【氏名又は名称】アマデウス エス.アー.エス.
【氏名又は名称原語表記】AMADEUS S.A.S.
【住所又は居所原語表記】485 Route du Pin Montard,Sophia Antipolis,F-06410 Biot,France
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョン・マヴラントナキス
(72)【発明者】
【氏名】ギアン・ンツィク
(72)【発明者】
【氏名】サワン・カパイ・ハルパラーニ
(72)【発明者】
【氏名】アンヌ-リーズ・アミオット
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2015-152940(JP,A)
【文献】特開2018-049010(JP,A)
【文献】特開2009-242038(JP,A)
【文献】特開2014-229020(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/04815
(57)【特許請求の範囲】
【請求項1】
拡張現実(AR)コンピューティングシステ
ムによって実行される一意に識別可能なオブジェクトの位置を決定する方法であって、
前記ARコンピューティングシステムが、1つまたは複数の拡張現実(AR)コンピューティングデバイス、1つまたは複数のプロセッサ、およびセンサを備え、前記方法が、前記1つまたは複数のプロセッサによって実行され、前記方法が、
前記
ARコンピューティングシステムの
前記センサによって提供された情報に基づいて、前記
ARコンピューティングシステムの周りの環境の少なくとも一部の3次元仮想モデルを生成するステップと、
前記センサを使用して前記環境内でオブジェクトの一意の識別子を検出するステップと、
前記3次元仮想モデル内で前記オブジェクトの位置を決定するステップと
、
前記ARコンピューティングシステムに通信可能に接続された1つまたは複数のARコンピューティングデバイスに、前記オブジェクトに関連する情報を送信するステップであって、前記オブジェクトに関連する前記情報が一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む、ステップと、
前記ARコンピューティングシステムに格納された情報に基づいて、前記オブジェクトの最後の既知の位置を決定するステップと、
前記オブジェクトの前記最後の既知の位置の近くにあることが知られている前記1つまたは複数のARコンピューティングデバイスの1つまたは複数にのみ、前記オブジェクトに関連する前記情報を選択的に送信するステップと
を含む、方法。
【請求項2】
前記
ARコンピューティングシステムの周りの環境内で既知の絶対位置を有する識別子を検出し、仮想モデル内でオブジェクトの前記位置を参照して、それにより前記オブジェクトに絶対的な実世界の位置を関連付けるステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
一意に識別されたオブジェクトに関連する格納された情報を取り出し、前記
ARコンピューティングシステムのユーザの観察可能な表示部分に前記格納された情報の少なくとも一部を表示するステップ
をさらに含む、請求項1に記載の方法。
【請求項4】
前記オブジェクトが、前記
ARコンピューティングシステムの前記ユーザによって観察可能なように、前記
ARコンピューティングシステムの視野(FOV)内にないとき、前記
ARコンピューティングシステムの前記ユーザが、前記オブジェクトに向かって移動できるようにする仮想モデル内のルートを決定し、前記
ARコンピューティングシステムの前記ユーザによって観察可能なように前記
ARコンピューティングシステムの前記視野内に前記ルートを表示するステップ
をさらに含む、請求項3に記載の方法。
【請求項5】
前記方法は、
ARコンピューティングデバイスによって実行されるオブジェクト情報を表示するステップを含み、前記方法は、
移動可能なオブジェクトに関連する情報を受信するステップと、
前記オブジェクトの仮想表現が前記
ARコンピューティングデバイスによって占有された前記環境の仮想表現の一部を形成するか否かをチェックするステップと、
前記オブジェクトに関連する情報を前記
ARコンピューティングデバイスのユーザの観察可能な表示部分に表示するステップと
を含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記オブジェクトが、前記
ARコンピューティングデバイスの前記ユーザによって観察可能なように、前記
ARコンピューティングデバイスの視野(FOV)内にないとき、前記
ARコンピューティングデバイスの前記ユーザが、前記オブジェクトに向かって移動できるようにする仮想モデル内のルートを決定し、前記
ARコンピューティングデバイスの前記ユーザによって観察可能なように前記
ARコンピューティングデバイスの前記視野内に前記ルートを表示するステップ
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ユーザによって提供された音声コマンドを検出および解釈すること、
前記
ARコンピューティングデバイスのセンサを使用して、1つまたは複数のユーザのジェスチャを検出および解釈すること、または
前記
ARコンピューティングデバイスの表示領域または前記
ARコンピューティングデバイスの前記ユーザによって現在観察されるオブジェクトを検出および解釈すること、
の1つまたは複数によって指示を受け取るステップをさらに含む、請求項5に記載の方法。
【請求項8】
一意に識別可能なオブジェクトの位置情報を
ARコンピューティングデバイスから受信するステップと、
システムのメモリデバイスに前記位置情報を格納するステップ、または、前記1つまたは複数の
ARコンピューティングデバイスのうちの1つまたは複数の他の
ARコンピューティングデバイスに前記情報または情報の一部を転送するステップの1つまたは複数と
をさらに含む、請求項
1~7のいずれか一項に記載の方法。
【請求項9】
システムに、請求項1~
8のいずれか一項に記載の方法を実行させる1つまたは複数のプロセッサを含む拡張現実
(AR)コンピューティングシステムによって実行可能な命令を格納した非一時的コンピュータ可読記憶媒体。
【請求項10】
1つまたは複数の拡張現実(AR)コンピューティングデバイス、センサ、および一意に識別可能なオブジェクトの位置を決定するように構成された1つまたは複数のプロセッサを備えた拡張現実
(AR)コンピューティングシステ
ムであって、一意に識別可能なオブジェクトの位置を決定することは、
前記
ARコンピューティングシステムの
前記センサによって提供された情報に基づいて、前記
ARコンピューティングシステムの周りの少なくとも一部の環境の3次元仮想モデルを生成することと、
前記センサを使用して前記環境内でオブジェクトの一意の識別子を検出することと、
前記3次元仮想モデル内で前記オブジェクトの位置を決定することと
、
前記ARコンピューティングシステムに通信可能に接続された1つまたは複数のARコンピューティングデバイスに、前記オブジェクトに関連する情報を送信することであって、前記オブジェクトに関連する前記情報が一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む、ことと、
前記ARコンピューティングシステムに格納された情報に基づいて、前記オブジェクトの最後の既知の位置を決定することと、
前記オブジェクトの前記最後の既知の位置の近くにあることが知られている前記1つまたは複数のARコンピューティングデバイスの1つまたは複数にのみ、前記オブジェクトに関連する前記情報を選択的に送信することとによってなされる、
ARコンピューティングシステム。
【請求項11】
各ARコンピューティングデバイスは、
移動可能なオブジェクトに関連する情報を受信し、
前記オブジェクトの仮想表現が前記
ARコンピューティングデバイスによって占有された前記環境の仮想表現の一部を形成するか否かをチェックし、
前記オブジェクトに関連する情報を前記
ARコンピューティングデバイスのユーザの観察可能な表示部分に表示するように構成される、請求項
10に記載の
ARコンピューティングシステム。
【請求項12】
前記
ARコンピューティングシステムが、
動作モードまたは1つまたは複数の情報選択基準の指示を、前記
ARコンピューティングデバイスのユーザから受け取り、
受け取った指示によって識別された動作モードで前記
ARコンピューティングデバイスを動作する、あるいは前記1つまたは複数の情報選択基準の受け取った指示に従って前記受信した情報をフィルタリングする
ようにさらに構成される、請求項
11に記載の
ARコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の具体例は、概して拡張現実システムおよび方法に関し、特に、拡張現実システム、デバイス、および方法を用いて向上したオブジェクト取り扱いについてのシステムおよび関連する方法に関する。
【背景技術】
【0002】
現代世界におけるデータとデータソースの可用性の増加は、人々がデータを消費する点で向上と革新を推進している。個人はますますオンラインリソースとデータの可用性に依存して、日常の振る舞いやインタラクションを通知している。携帯可能なかつ通信接続されたデバイスが普及しているため、この種の情報にはほぼどこからでもアクセスできる。
【0003】
しかしながら、この情報を使用して視覚世界を拡張することは、まだ始まったばかりである。現在の拡張現実システムは、視覚データを画面またはビューポートにオーバレイして、視覚世界にオーバレイした情報を提供する。これらのタイプのシステムは便利であるが、通常、すでにユーザに利用可能な情報の追加表示を提供するか、オーバレイしたデータで視覚スペクトルを複製することに限定される。完全に統合された拡張現実体験を提供するために、ユーザの視覚についてのコンテキスト情報および詳細を使用する真に拡張されたシステムが必要である。本発明は、図面に関連した以下の詳細な説明からより完全に理解されるであろう。
【図面の簡単な説明】
【0004】
【
図1】実施形態の例示的な拡張現実システムのブロック図である。
【
図2】実施形態で使用するコンピューティングデバイスのブロック図である。
【
図3A】実施形態で使用する拡張現実デバイスのブロック図である。
【
図3B】実施形態で使用する拡張現実デバイスの例を示す図である。
【
図4】オブジェクトを配置するための方法の基本的なフローチャートである。
【
図5】ARデバイスに情報を表示する方法の基本的なフローチャートである。
【
図6】ユーザに提示され得る拡張現実ディスプレイの例を示す図である。
【
図7】オブジェクトを検索する方法の基本的なフローチャートである。
【
図8】オブジェクトの取り扱いを支援する方法の基本的なフローチャートである。
【発明を実施するための形態】
【0005】
ここで、本開示に従って実施される例示的な実施形態を詳細に参照し、その例は、添付の図面に示されている。可能な限り、同じまたは同様の部分を参照するために、同じ参照番号が図面にわたって使用される。
【0006】
実施形態では、拡張現実コンピューティングシステム、以下、ARシステムと称する、によって実行可能である命令を格納する非一時的なコンピュータ可読記憶媒体が提供される。ARシステムは、1つまたは複数のプロセッサを含む。命令は、システムに、一意に識別可能なオブジェクトの位置を決定する方法を実行させるためのものである。方法は、ARシステムのセンサによって提供された情報に基づいて、ARシステムの周囲の環境の少なくとも一部の3次元仮想モデルを生成するステップと、前記センサを使用して環境内のオブジェクトの一意の識別子を検出するステップと、3次元モデル内のオブジェクトの位置を決定するステップとを含む。
【0007】
システムは、コンピューティング環境との通信接続を確立できる拡張現実デバイスであってよい。この環境では、3次元モデル内のオブジェクトの位置に関連する情報は、アドホックネットワークの文脈で確立され得るようなワイヤレスデータ通信接続を介して、さらなる使用のためにコンピューティング環境に送信され得る。
【0008】
別の実施形態では、システムは、拡張現実デバイスと、拡張現実デバイスが通信可能にコンタクトしているコンピューティング環境との両方を含む。この別の実施形態では、3次元モデル内のオブジェクトの絶対位置に関連する情報は、コンピューティング環境に送信され得るだけでなく、そのような転送は、さらなる内部または外部での使用のためにARシステム内にあることが理解されよう。
【0009】
実施形態では、方法はさらに、一意に識別されたオブジェクトに関連する格納された情報を取り出すステップと、ARシステムのユーザの観察可能な表示部分に格納された情報の少なくとも一部を表示するステップとを含み得る。
【0010】
実施形態では、オブジェクトが、ARシステムのユーザによって観察可能なように、ARシステムの視野(FOV)内にあるとき、オブジェクトと明確に関連付けされるように、あるいはオブジェクトのビューに明確にオーバレイされるように、情報が表示部分に提示され得る。
【0011】
実施形態では、方法はさらに、オブジェクトが、ARシステムのユーザによって観察可能なようにARシステムのFOV内にないとき、ARシステムのユーザがオブジェクトに向かって移動できるようにする仮想モデル内にルートを決定するステップと、ARシステムのユーザによって観察可能なようにARシステムのFOV内にルートを表示するステップとを含む。
【0012】
実施形態では、方法はさらに、ARシステムの周囲の環境内の既知の絶対実世界位置を有する識別子を検出するステップと、仮想モデル内のオブジェクトの位置を、既知の絶対実世界位置を有する識別子に参照させ、それによって絶対実世界位置をオブジェクトに関連付けるステップとを含む。
【0013】
実施形態では、1つまたは複数のプロセッサを含む、拡張現実コンピューティングデバイス、以下ではARデバイスと称する、によって実行可能な命令を格納した非一時的コンピュータ可読記憶媒体が提供される。命令は、ARデバイスにオブジェクト情報を表示する方法を実行させるためのものである。方法は、移動可能なオブジェクトに関連する情報を受信するステップと、オブジェクトの仮想表現が、ARデバイスによって占有された環境の仮想表現の一部を形成するか否かをチェックするステップと、ARデバイスのユーザの観察可能な表示部分に、オブジェクトに関連する情報を表示するステップとを含む。
【0014】
実施形態では、仮想表現はARデバイス上に格納され得る。
【0015】
実施形態では、方法はさらに、オブジェクトが、ARデバイスのユーザによって観察可能なようにARデバイスのFOV内にないとき、ARデバイスのユーザがオブジェクトに向かって移動できるようにする仮想モデル内にルートを決定するステップと、ARデバイスのユーザによって観察可能なようにARデバイスのFOV内にルートを表示するステップとを含む。
【0016】
実施形態では、オブジェクトが、ARデバイスのユーザによって観察可能なように、ARデバイスのFOV内にあるとき、オブジェクトと明確に関連付けされるように、あるいはオブジェクトのビューに明確にオーバレイされるように、情報が表示部分に提示され得る。
【0017】
実施形態では、方法はさらに、動作モードについてのARデバイスのユーザからの指示または1つまたは複数の情報選択基準を受け取るステップと、受け取った指示によって識別された動作モードでARデバイスを動作するステップあるいは1つまたは複数の情報選択基準の受け取った指示に従って受け取った情報をフィルタリングするステップとを含む。
【0018】
実施形態では、方法はさらに、ユーザによって提供された音声コマンドの検出および解釈すること、ARデバイスのセンサを使用して1つまたは複数のユーザジェスチャを検出および解釈すること、あるいはARデバイスのディスプレイの領域またはARデバイスのユーザによって現在観察されたオブジェクトを検出および解釈することの1つまたは複数によって指示を受け取るステップをさらに含む。
【0019】
実施形態では、1つまたは複数のプロセッサを含む、コンピューティングシステムによって実行可能な命令を格納した非一時的コンピュータ可読記憶媒体が提供され、命令は、システムに、コンピューティングシステムと通信可能に接続された1つまたは複数のARデバイスに、オブジェクトに関連する情報を送信させるように構成され、情報は、一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む。
【0020】
実施形態では、方法はさらに、コンピューティングシステムに格納された情報に基づいて、オブジェクトの最後の既知の位置を決定するステップと、オブジェクトの最後の既知の位置の近くにあることが知られている1つまたは複数のARデバイスのうちの1つまたは複数のみに、情報を選択的に送信するステップとを含む。
【0021】
ARデバイスは、ARデバイスはオブジェクトが最後に位置したとして知られる部屋にある場合、またはARデバイスがオブジェクトの最後の既知の位置から所定の距離内である場合、最後の既知の位置の近くにあるとみなし得る。
【0022】
実施形態では、方法はさらに、一意に識別可能なオブジェクトの位置情報をARデバイスから受信するステップと、該位置情報をシステムのメモリデバイスに格納するステップ、あるいは該情報または該情報の一部を1つまたは複数のARデバイスのうちの1つまたは複数の他のARデバイスに転送するステップの1つまたは複数を含む。
【0023】
実施形態では、1つまたは複数のプロセッサを含む拡張現実コンピューティングシステム、以下ではARシステムと称する、によって実行される一意に識別可能なオブジェクトの位置を決定する方法を提供する。方法は、ARシステムのセンサによって提供された情報に基づいて、ARシステムの周囲の環境の少なくとも一部の3次元仮想モデルを生成するステップと、該センサを使用して環境内のオブジェクトの一意の識別子を検出するステップと、3次元モデル内のオブジェクトの絶対位置を決定するステップとを含む。
【0024】
実施形態では、1つまたは複数のプロセッサを含む拡張現実コンピューティングデバイス、以下ではARデバイスと称する、によって実行されるオブジェクト情報を表示する方法を提供する。方法は、移動可能なオブジェクトに関連する情報を受信するステップと、オブジェクトの仮想表現が、ARデバイスによって占有された環境の仮想表現の一部を形成するか否かをチェックするステップと、ARデバイスのユーザの観察可能な表示部分に、オブジェクトに関連する情報を表示するステップとを含む。
【0025】
実施形態では、コンピュータシステムによって実行される通信方法が提供される。方法は、コンピューティングシステムと通信可能に接続された1つまたは複数のARデバイスに、オブジェクトに関連する情報を送信するステップを含み、情報は一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む。
【0026】
別の実施形態では、1つまたは複数のプロセッサを備える拡張現実コンピューティングシステム、以下ではARシステムと称する、が提供され、1つまたは複数のプロセッサが、ARシステムのセンサによって提供された情報に基づいて、ARシステムの周囲の環境の少なくとも一部の3次元仮想モデルを生成することと、該センサを使用して環境内のオブジェクトの一意の識別子を検出することと、3次元モデル内のオブジェクトの絶対位置を決定することによって、一意に識別可能なオブジェクトの位置を決定するように構成される。
【0027】
別の実施形態では、1つまたは複数のプロセッサを備える拡張現実コンピューティングデバイス、以下ではARデバイスと称する、が提供され、1つまたは複数のプロセッサが、移動可能なオブジェクトに関連する情報を受信し、オブジェクトの仮想表現が、ARデバイスによって占有された環境の仮想表現の一部を形成するか否かをチェックし、ARデバイスのユーザの観察可能な表示部分に、オブジェクトに関連する情報を表示するように構成される。
【0028】
別の実施形態では、1つまたは複数のプロセッサを備えるコンピューティングシステムが提供され、1つまたは複数のプロセッサが、コンピューティングとの通信接続された1つまたは複数のARデバイスに、オブジェクトに関連する情報を送信するように構成され、情報は一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む。
【0029】
図1は、実施形態の拡張現実システム100のブロック図である。システム100は、コンピューティング環境120とインターフェースするユーザサブシステム110を備える。一実施形態では、ユーザサブシステム110の少なくとも一部は、ユーザが感知するための環境に持って行くことができるように携帯可能である。ユーザサブシステム110は、使用されている環境130内のオブジェクトを感知し、環境130に位置するオブジェクトを含む、仮想表現、あるいは環境およびその構成要素のモデルを作成する。ユーザサブシステム110は、コンピューティング環境120とデータ接続可能にコンタクトして、コンピューティング環境120とデータを交換する。この交換は、一方向でも双方向でも構わない。ユーザサブシステム110は、例えば、ユーザの環境の仮想表現を作成するプロセスにおいて識別されたオブジェクトに関連するデータを、コンピューティング環境120に送信し、コンピューティング環境120がオブジェクト130の現在位置についてデータベースを更新できるようにしてよい。代替でまたは追加で、コンピューティング環境120は、特に、あるオブジェクトの識別に関するデータをユーザデバイス110に送信し、例えば、現在紛失したとみなされ、ユーザが見つけようしているオブジェクトのリストをユーザデバイス110に示すことができる。オブジェクトが見つかるまたは特定の方法で扱われる限り、この効果へのフィードバックがユーザデバイス110によってコンピューティング環境120に提供され得る。
【0030】
コンピューティング環境は、ユーザデバイス110およびコンピューティング環境120の残り、ユーザデバイス110とデータを送受信するためのアプリケーションを実行するアプリケーションサーバ、およびそのようなデータを受信した形式またはさらに処理した形式で格納および取り出すデータベースとの間の通信ができるように、少なくともアプリケーションプログラミングインターフェースを備える。実施形態では、これらのアプリケーションは、実施形態が使用されることになる環境のマップを作成できる地理情報システム(GIS)を含む。
【0031】
コンピューティング環境120のデータベースは、複数のデータベースおよびデータソースを含み得る。これらのデータベースは、システム100のオペレータあるいはシステム100の一部のオペレータの専有するデータベースを含み得る。1つまたは複数のデータベースは、例えば、空港オペレータまたはフライトオペレータに専有されるものであってよい。あるいは、コンピューティングシステム120は、出発制御システム(DCS)データベース、手荷物調整システム(BRS)データベース、飛行管理(FM)データベース、顧客管理(CM)データベース、地理空間データベース(例えば、地図と位置データを含む)、手荷物追跡データベース(例えば、ワールド追跡データベース)および規制データを保持するデータベースなど、外部データベースへのアクセスを有してもよい。そのような外部データベースは、例えば、フライトオペレータによって運用されるデータベースを含み得る。そのようなデータベースは、実施形態においてコンピューティングシステム120が動作している空港に新たに到着したフライトに関連するデータを提供できるとともに、このフライトで運ばれる手荷物に関するデータを、空港内の手荷物の取り扱い方法に関する情報を格納する空港データベースに転送できる。代替でまたは追加で、空港で手荷物を扱うオペレータのデータベースは、航空機オペレータの非独占的なデータベースに転送され、例えば、特定のフライトに積み込まれた手荷物および/またはフライトに積み込まれることになるまたは積み込まれた特定のコンテナについて、航空機のオペレータに通知する。
【0032】
さらに、コンピューティング環境120と統合されておらず、データ接続を介してコンピューティング環境120に接続するデータベースは、個々のデータをコンピューティングシステムに送信できる。これは、例えば、紛失したと見なされる手荷物を空港のオペレータが、該手荷物であるかもしれないと選択的に特定する必要がある状況のケースに当てはまる(例えば、オペレータが、紛失が疑われる時点より前に手荷物を扱った可能性があるか、または手荷物を扱ったと知られているため)。
【0033】
ユーザデバイス110は、コンピューティング環境120を動作するエンティティと同じエンティティによって動作され得る。これは、空港オペレータであってよい。代替的に、ユーザデバイス110は、例えば、空港内で手荷物を扱う担当者など、異なるエンティティによって動作され得る。システム100が1つより多いユーザデバイス110を備え得ることは当然理解されよう。具体的には、1つのユーザデバイス110が、人間のオペレータ毎に与えられ得る。人間のオペレータには、手荷物担当者だけでなく、チェックイン担当者などの他の空港の地上スタッフも含まれることがある。したがって、システム100は多数のユーザデバイスを含み得る。この数は、小規模な運用では10個のユーザデバイスを超えることがあり、大規模な運用では100個のユーザデバイスを超えることもある。
【0034】
APIは、
図2を参照して以降により詳細に述べるように、例えば、コンピューティングデバイス200を使用して、サーバまたはコンピュータシステム上に実装することができる。例えば、専有データソースおよび外部データソースからのデータは、I/Oデバイス230および/またはコンピューティングデバイス200のネットワークインターフェース218を介して取得され得る。さらに、ストレージ228および/またはシステムメモリ221などの適したストレージに処理の間格納され得る。
【0035】
APIと同様、ユーザシステム110は、例えば、コンピューティングデバイス200を使用してサーバまたはコンピュータシステム上に実装され得る。
【0036】
図2は、本開示の実施形態に一致する、例示的なコンピューティングデバイス200のブロック図である。いくつかの実施形態では、コンピューティングデバイス200は、本明細書に記載された機能を提供する専用サーバであってよい。いくつかの実施形態では、専有データソース(例えば、データベース、データソース、およびデータシステム)、API、ユーザシステム110、あるいはそれらの一部など、システム100の構成要素は、コンピューティングデバイス200、または並列に動作する複数のコンピューティングデバイス200を使用して実装され得る。さらに、コンピューティングデバイス200は、本明細書に記載の機能を提供する、あるいは、記載の機能の少なくともいくつかを提供するためにサーバから情報を受信する第2のデバイスであってよい。また、コンピューティングデバイス200は、本開示の実施形態に一致するデータを格納および/または提供する追加のデバイスまたは追加の複数のデバイスであってよい。
【0037】
コンピューティングデバイス200は、1つまたは複数の中央処理ユニット(CPU)220およびシステムメモリ221を含むことができる。コンピューティングデバイス200はまた、複数のグラフィック処理ユニット(GPU)225およびグラフィックメモリ226を含むことができる。いくつかの実施形態では、コンピューティングデバイス200は、GPU225および/またはグラフィックメモリ226を含まないヘッドレスコンピューティングデバイスであってよい。
【0038】
CPU220は、メモリ(例えば、システムメモリ221)、キャッシュ(例えば、キャッシュ241)、またはレジスタ(例えば、レジスタ240の1つ)に格納された命令のセットを実行することができる単一または複数のマイクロプロセッサ、フィールド・プログラマブル・ゲート・アレイ、またはデジタル信号プロセッサであり得る。CPU220は、特に、データ、命令、浮動小数点値、条件値、メモリ(例えば、システムメモリ221またはグラフィックメモリ226)内の位置に対するメモリアドレス、ポインタおよびカウンタを含む可変タイプのデータを格納するための1つまたは複数のレジスタ(例えば、レジスタ240)を含むことができる。CPUレジスタ240は、命令ポインタ、命令カウンタ、および/またはメモリスタックポインタなどの命令を実行することに関連するデータを格納するために使用される専用レジスタを含むことができる。システムメモリ221は、フレキシブルディスク、ハードディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)、磁気光学(MO)ドライブ、デジタル多用途ディスク・ランダム・アクセス・メモリ(DVD-RAM)、ソリッド・ステート・ディスク(SSD)、フラッシュドライブおよび/またはフラッシュメモリ、プロセッサキャッシュ、メモリレジスタ、または半導体メモリなど、有形および/または非一時的なコンピュータ可読媒体を含むことができる。システムメモリ221は、データを格納し、CPU220による直接アクセスを許可できる1つまたは複数のメモリチップであってよい。システムメモリ221は、任意のタイプのランダムアクセスメモリ(RAM)、または本明細書に記載されるように動作可能な他の利用可能なメモリチップであってよい。
【0039】
CPU220は、時にはバスと呼ばれることがある、システムインターフェース250を介してシステムメモリ221と通信できる。GPU225を含む実施形態では、GPU225は、画像の作成を提供および/または高速化するためにメモリ(例えば、グラフィックメモリ226)を操作および変更できる任意のタイプの特殊回路であってよい。CPU225は、表示デバイス224など表示デバイスへの出力のためのフレームバッファ(例えば、フレームバッファ245)に画像を格納できる。いくつかの実施形態では、フレームバッファ245に格納した画像は、ネットワークインターフェース218またはI/Oデバイス230を介して他のコンピューティングデバイスに提供され得る。GPU225は、汎用CPU220よりも効率的にグラフィックデータの大きな並列ブロックを処理するために最適化された高並列構造を有し得る。さらに、GPU225の機能は、専用処理ユニットのチップセットまたはコプロセッサに含まれ得る。
【0040】
CPU220は、システムメモリ221または他のメモリに格納されたプログラム命令を実行でき、メモリ(例えば、システムメモリ221)に格納されたデータに対して動作でき、コンピューティングデバイス200の様々な構成要素間の通信をブリッジする、システムインターフェース250を介してGPU225と通信できる。いくつかの実施形態では、CPU220、CPU225、システムインターフェース250、またはそれらの任意の組み合わせは、単一のチップセットまたは処理ユニットに一体化される。GPU225は、メモリ(例えば、システムメモリ221)に格納された命令のセットを実行して、システムメモリ221またはグラフィックメモリ226に格納されたグラフィックデータを操作できる。例えば、CPU220は、GPU225に命令を提供でき、GPU225は、グラフィックメモリ226に格納されたグラフィックデータをレンダリングするように命令を処理できる。グラフィックメモリ226は、ローカルメモリ、システムメモリ、オンチップメモリ、およびハードディスクを含む、GPU225によってアクセス可能な任意のメモリ空間であってよい。GPU225は、表示デバイス224上に、グラフィックメモリ226に格納されたグラフィックデータの表示を可能にすることができ、グラフィック情報を処理するとともに、その情報をネットワークインターフェース218またはI/Oデバイス230を介して接続されたデバイスに提供できる。
【0041】
コンピューティングデバイス200は、I/Oコントローラ223に接続された表示デバイス224および入出力(I/O)デバイス230(例えば、キーボード、マウス、またはポインティングデバイス)を含むことができる。I/Oコントローラ223は、システムインターフェース250を介してコンピューティングデバイス200の他の構成要素と通信できる。CPU220はまた、システムメモリ221および他のデバイスと、シリアル通信またはダイレクト・ポイント・ツー・ポイント通信を介してなど、システムインターフェース250を介する以外の方法で通信できることが理解されよう。同様に、GPU225は、システムインターフェース250以外の方法で、グラフィックメモリ226および他のデバイスと通信できる。入力を受信することに加えて、CPU220は、I/Oデバイス230(例えば、プリンタ、スピーカ、または他の出力デバイス)を介して出力を提供できる。
【0042】
さらに、コンピューティングデバイス200は、限定ではなく、標準電話回線、LANまたはWANリンク(例えば、802.21、T1、T3、56kb、X.25)、ブロードバンド接続(例えば、ISDN、フレームリレー、ATM)、ワイヤレス接続(例えば、特に、802.11a、802.11b、802.11b/g/n、802.11ac、ブルートゥース(登録商標)、ブルートゥース(登録商標)LTE、3GPP、またはWiMax規格に準拠する)、あるいは上記の一部またはすべての組み合わせを含む、様々な接続を介してLAN、WAN、MAN、またはインターネットにインターフェースするためのネットワークインターフェース218を含むことができる。ネットワークインターフェース218は、ビルトインネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、ワイヤレスネットワークアダプタ、USBネットワークアダプタ、モデムまたは、コンピューティングデバイス200を任意のタイプのネットワークにインターフェースするとともに本明細書に記載の動作を実行するのに適した任意の他のデバイスを備えることができる。
【0043】
図1を再び参照すると、システム100はさらにユーザデバイス110を含み得る。ユーザデバイス110は、拡張現実デバイスであってよい。拡張現実デバイスは、以降により詳細に説明される、
図3Bに示す拡張現実デバイス390などのデバイス、あるいは任意の他の拡張現実デバイスであってよい。拡張現実デバイス390は、例えば、Microsoft Hololens、Epson Moverio BT-300、Epson Moverio BT-2000、ODG R-7、またはネットワーク接続性を備えた任意の他のスマートグラス、Samsung Galaxy S8などのAR対応携帯電話、またはその他のAR対応モバイル・コンピューティング・デバイスであってよい。さらに、拡張現実デバイスは、以降により詳細に説明される
図3Aに示すデバイス300に示された構成要素を使用して実装され得る。
【0044】
図3Aおよび3Bは、本開示の実施形態に一致する例示的な拡張現実デバイス300および390の図である。これらの例示的な拡張現実デバイスは、拡張現実デバイスの内部構成要素(
図3Aに示される)および拡張現実デバイスの外部構成要素(
図3Bに示される)を表すことができる。いくつかの実施形態では、
図3Aは、
図3Bの拡張現実デバイス390内に含まれる例示的な電子デバイス300を表すことができる。
【0045】
図3Aは例示的な電子デバイス300を示す簡略化されたブロック図である。電子デバイス300は、ビデオ表示能力を有する拡張現実能力と、例えば、インターネットを介して他のコンピュータシステムと通信できる能力とを含む。
【0046】
電子デバイス300は、電子デバイス300の構成要素を収容するケース(図示せず)を含むことができる。電子デバイス300の内部構成要素は、例えば、プリント回路基板(PCB)上に構築され得る。電子デバイス300の構成要素およびサブシステムは別々の要素として実現され得るが、構成要素およびサブシステムの機能は、1つまたは複数の要素を一体化、組み合わせ、あるいはパッケージングして、1つまたは複数の組み合わせにすることによっても実現され得る。
【0047】
電子デバイス300は、電子デバイス300の全ての動作を制御する、1つまたは複数のCPU301を備えるコントローラを含むことができる。CPU301は、1つまたは複数のマイクロプロセッサ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル信号プロセッサ(DSP)、または命令の特定のセットを実行できるそれらの任意の組み合わせであってよい。CPU301は、通信機能を実行するためにワイヤレスネットワークと無線周波数信号を交換するためのワイヤレス通信システム306、オーディオを生成するためのオーディオサブシステム320、位置を取得するための位置サブシステム308、および表示要素を生成するための表示サブシステム310などのデバイスサブシステムとインタラクトできる。
【0048】
CPU301はまた、入力デバイス307、永続メモリ330、ランダムアクセスメモリ(RAM)337、読み取り専用メモリ(ROM)338、データポート318(例えば、従来のシリアルデータポート、ユニバーサル・シリアル・バス(USB)データポート、30ピンデータポート、ライトニングデータポート、またはHDMI(登録商標)(High-Definition Multimedia Interface)データポート)、マイク322、カメラ324、およびワイヤレス通信306(任意の適切なワイヤレス(RFなど)、オプティカル、またはその他の短距離通信技術(例えば、Wi-Fi、Bluetooth、NFCなど)を採用できる)とインタラクトできる。
図3Aに示されるサブシステムのいくつかは、通信関連機能を実行する一方、別のいくつかのサブシステムは、「常駐」またはオンデバイスの機能を提供できる。
【0049】
ワイヤレス通信306は、任意の外部デバイス(例えば、サーバなど、図示せず)と通信可能なように、ネットワークとの通信のための通信システムを含む。ワイヤレス通信306の特定の設計は、電子デバイス300が動作を意図されたワイヤレスネットワークに依存する。電子デバイス300は、必要なネットワーク登録またはアクティブ化プロシージャが完了した後、ワイヤレスネットワークを介して通信信号を送受信できる。
【0050】
位置サブシステム308は、位置情報を提供する全地球測位システム(例えば、GPS309)など様々なシステムを提供できる。加えて、位置サブシステムは、位置データをさらに提供するために、接続デバイス(例えば、ワイヤレス通信306を介した接続など)からの位置情報を利用できる。位置サブシステム308によって提供された位置情報は、例えば、永続メモリ330に格納され、アプリケーション334およびオペレーティングシステム332によって使用され得る。
【0051】
表示サブシステム310は、様々なディスプレイ(例えば、左目ディスプレイ311および右目ディスプレイ313)を制御できる。拡張現実ディスプレイを提供するために、表示サブシステム310は、透明ディスプレイ上に、(例えば、GPU302を使用して生成された)グラフィック要素の表示を提供できる。他の実施形態では、左目ディスプレイ311および右目ディスプレイ313上に生成された表示は、カメラ324からキャプチャされ、オーバレイされたグラフィック要素で再現した画像を含むことができる。さらに、表示サブシステム310は、左目ディスプレイ311および右目ディスプレイ313上に異なるオーバレイを表示して、異なる要素を示すか、または深度または遠近のシミュレーションを提供することができる。
【0052】
カメラ324は、CMOSカメラ、CCDカメラ、または静止画または動画データなどの圧縮または非圧縮の画像データをキャプチャおよび出力できる任意の他のタイプのカメラであってよい。いくつかの実施形態では、電子デバイス300は、あるカメラから別のカメラにユーザが切り替えることができるように、あるいは、別のカメラによってキャプチャした画像データの上にもう一つのカメラによってキャプチャした画像データをオーバレイするために、2つ以上のカメラを含むことができる。カメラ324から出力した画像データは、例えば、RAM337に存在する一時的なバッファ、あるいはROM338または永続メモリ330に存在する永続バッファであり得る画像バッファに格納され得る。画像バッファは、例えば、FIFO(first-in first-out)バッファであってよい。いくつかの実施形態では、画像バッファは、グラフィックオーバレイとともにまたはグラフィックオーバレイなしに、左目ディスプレイ311および/または右目ディスプレイ313上に表示するために、GPU302および表示システム310に直接提供され得る。
【0053】
電子デバイスは、電子デバイス300と関連する動きおよび方向データを測定するための、慣性計測ユニット(例えば、IMU340)を含むことができる。IMU340は、加速度計342、ジャイロスコープ344、および他のセンサ346を利用して、電子デバイス300によって使用するための特定の力、角速度、磁場、および生体認証情報をキャプチャできる。IMU340および関連センサ(例えば、加速度計342、ジャイロスコープ344、および他のセンサ346)によってキャプチャしたデータは、永続メモリ330またはRAM337などのメモリに格納され、アプリケーション334およびオペレーティングシステム332によって使用され得る。IMU340およびそれに関連するセンサを介して集めたデータはまた、例えば、ワイヤレス通信306を介してネットワーク上のデバイスに提供され得る。
【0054】
CPU301は、格納されたプログラム制御の下で動作し、永続メモリ330など有形の具現化された非一時的コンピュータ可読媒体に格納されたソフトウェアモジュールを実行する1つまたは複数のプロセッサであってよく、有形の具現化された非一時的コンピュータ可読媒体は、レジスタ、プロセッサキャッシュ、ランダムアクセスメモリ(RAM)、フレキシブルディスク、ハードディスク、CD-ROM(コンパクトディスク-読み取り専用メモリ)、およびMO(磁気光学)、DVD-ROM(デジタル多用途ディスク-読み取り専用メモリ)、DVD-RAM(デジタル多用途-ランダムアクセスメモリ)、または他の半導体メモリであってよい。
【0055】
ソフトウェアモジュールはまた、ROM338などのコンピュータ可読記憶媒体またはEEPROM、EAROM、FLASH(登録商標)を含む、任意の適切な永続メモリ技術に格納され得る。これらのコンピュータ可読記憶媒体は、CPU301による実行のためのコンピュータ可読命令を格納して、電子デバイス300上の様々な機能を実行する。あるいは、機能および方法はまた、ハードウェア構成要素、あるいは例えば、ASICおよび/または特定用途コンピュータなどのハードウェアおよびソフトウェアの組み合わせで実装され得る。
【0056】
ソフトウェアモジュールは、電子デバイス300の動作を制御するために使用される、オペレーティング・システム・ソフトウェア332を含むことができる。加えて、ソフトウェアモジュールは、追加機能を電子デバイス300に提供するためのソフトウェアアプリケーション334を含むことができる。例えば、ソフトウェアアプリケーション334は、上述のシステム100のようなシステムとインタラクトするように設計されたアプリケーションを含むことができる。アプリケーション334は、特定の機能を提供して、電子デバイス300が、異なるデータシステムとインタラクトできるように、および向上した機能および視覚拡張を提供できるようにする。
【0057】
ソフトウェアアプリケーション334の各々は、その対応するアプリケーションによって、拡張現実ディスプレイ上での(例えば、表示サブシステム310を介して)表示を意図された特定のフィールドおよびグラフィック要素の配置を定義するレイアウト情報を含むことができる。いくつかの実施形態では、ソフトウェアアプリケーション334は、オペレーティングシステム332の指示の下で実行するソフトウェアモジュールである。
【0058】
オペレーティングシステム332は、電子デバイス300の様々なサブシステムおよびサービスとソフトウェアアプリケーション334との間で通信するためのインターフェースを提供する複数のアプリケーションプロトコルインターフェース(API)を提供できる。例えば、オペレーティング・システム・ソフトウェア332は、電子デバイス300上での表示のためのグラフィック要素を作成する必要があるアプリケーションにグラフィックAPIを提供する。ユーザインタフェースAPIにアクセスすることにより、アプリケーションに、オーバレイなどの拡張インターフェース制御を作成および管理するとともに、カメラ324、マイクロフォン332、または入力デバイス304を介して入力を受信するための機能と、表示サブシステム310を介した表示を意図される他の機能とが提供される。さらに、カメラサービスAPIは、表示サブシステム310を介して拡張を提供するために処理され使用され得る画像または動画データなどの画像データをキャプチャする目的で、カメラ324を介したビデオのキャプチャを可能にする。
【0059】
いくつかの実施形態では、電子デバイス300の構成要素を一緒に使用して、電子デバイス300にユーザからの入力を提供できる。例えば、表示サブシステム310は、左目ディスプレイ311および右目ディスプレイ313上でのインタラクティブ制御を含むことができる。拡張表示の一部として、これらの制御は、電子デバイス300のユーザの眼前に表れ得る。カメラ324を使用して、電子デバイス300は、ユーザが拡張現実デバイス上に表示した制御の1つを選択したときを検出できる。ユーザは、カメラによってキャプチャされる特定のジェスチャまたは動きをすること、表示サブシステム310が拡張ビュー上に仮想制御を表示させている空間領域に触れること、または電子デバイス300上の入力デバイス307に物理的に触れることによって制御を選択できる。この入力は、電子デバイス300によって処理され得る。
【0060】
いくつかの実施形態では、永続メモリ330は、ユーザアカウントの情報またはデバイス固有の識別子など、電子デバイス300のユーザ固有のデータを含む、データ336を格納する。永続メモリ330はまた、電子デバイス300によってアクセスされたサービスから取得されるもの(例えば、コンテンツ、通知、およびメッセージ)に関連するデータを格納できる。永続メモリ330はさらに、例えば、電子デバイス300の特定のユーザの好みを伴う様々なアプリケーションに関連するデータ、手荷物など一意の識別マークまたはオブジェクトの検出に関連するデータ、検索されるオブジェクトまたはオブジェクトのセットに関連するデータ、ARデバイスのビュー領域に現在または以前に検出されたオブジェクトに関連するデータを格納できる。いくつかの実施形態では、永続メモリ330は、電子デバイス300上で実行しているアプリケーションにユーザの信用を自動的に提供するためなど、アプリケーションのデータの特定のフィールドとともにユーザのデータにリンクするデータ336を格納できる。さらに、種々の実施形態では、データ336はまた、電子デバイス300によって必要とされた情報を備えるサービスデータを含み、ネットワークとの通信を確立および維持できる。
【0061】
いくつかの実施形態では、電子デバイス300はまた、1つまたは複数のリムーバブルメモリモジュール352(例えば、フラッシュメモリ)およびメモリインターフェース350を含むことができる。リムーバブルメモリモジュール352は、ワイヤレスネットワークに対してユーザまたはユーザのアカウントを識別または認証するために使用される情報を格納できる。例えば、GSMおよび後継のネットワークを含む、特定のタイプのワイヤレスネットワークと組み合わせて、リムーバブルメモリモジュール352は、加入者識別モジュール(SIM)と呼ばれる。メモリモジュール352は、ワイヤレスネットワークと組み合わせて動作するために、電子デバイス300のメモリモジュールインターフェース350に挿入または結合され得る。
【0062】
電子デバイス300はまた、電子デバイス300を動作するためのエネルギーを供給するバッテリ362を含み得る。バッテリ362は、外部電源(図示せず)からバッテリ362を充電するような機能、および電子デバイス300内または電子デバイス300に結合された様々な負荷にエネルギーを分配する機能を管理できるバッテリインターフェース360を介して電子デバイス300の電子回路に結合され得る。
【0063】
データおよび場合によっては音声通信アプリケーションを含む、基本的なデバイス動作を制御するアプリケーションのセットは、製造中または製造後に電子デバイス300にインストールされ得る。オペレーティング・システム・ソフトウェア332またはソフトウェアアプリケーション334への追加のアプリケーションまたはアップグレードは、データポート318、ワイヤレス通信306、メモリモジュール352、または他の適切なシステムを介して電子デバイス300にロードされてもよい。ダウンロードしたプログラムまたはコードモジュールは、永続的にインストールされ、例えば、永続メモリ330に書き込まれる、または実行時にCPU301による実行のためにRAM337に書き込まれ実行され得る。
【0064】
図3Bは、拡張現実デバイス390である。いくつかの実施形態では、拡張現実デバイス390は、コンタクトレンズ、眼鏡、ゴーグル、ヘッドギア、または装着者に拡張ビューポートを提供する携帯電話またはコンピューティングデバイスであってよい。
図3Bに示されるように、拡張現実デバイス390は、装着者がそれを介して見ることができるビューポート391を含むことができる。拡張現実デバイス390はまた、処理構成要素392を含むことができる。処理構成要素392は、
図3Aに関連して上述した回路およびモジュールを収容するエンクロージャに含まれ得る。拡張現実デバイス390の各側面上の2つの別個の要素として示されているが、処理ハードウェアおよび/または構成要素は、拡張現実デバイス390の一側面だけに収容されることもできる。
図3Aに示された構成要素は、拡張現実デバイス390の任意の部分に含まれるか、あるいは、他の構成要素は、拡張現実デバイス390と通信接続された1つまたは複数の異なるエンクロージャで提供され、拡張現実デバイス390内に部分的に組み込まれてもよい。
【0065】
いくつかの実施形態では、拡張現実デバイス390は表示デバイス393を含むことができる。これらの表示デバイスは、
図3Aの左目ディスプレイ311および右目ディスプレイ313に関連付けられ得る。これらの構成要素では、表示デバイス393は、左目ディスプレイ311、右目ディスプレイ313、および表示サブシステム310から適切な表示情報を受け取り、ビューポート391上への適切なオーバレイを投影または表示できる。このプロセスを通して、拡張現実デバイス390は、装着者の視野に示されるべき拡張グラフィック要素を提供できる。
図3Bには示されていないが、
図3Aに示されたカメラ324および複数のカメラは、拡張現実デバイス390の一部を形成するか、あるいは、拡張現実デバイス390と通信可能に接続している別個の構成要素として提供され得る。
【0066】
図1に戻って参照すると、個々のデータベース、データソース、データシステム、API、およびユーザデバイス110を含む、システム100の上述の構成要素の各々は、他の構成要素とともに使用されるように設計されたパッケージ化された機能ハードウェアユニットであるか、または関連機能の特定機能を実行するプログラムの一部であるモジュールであってよい。これらのモジュールの各々は、
図2のコンピューティングデバイス200を使用して実装され得る。いくつかの実施形態では、システム100の機能は、データの分散処理を可能にするために、複数のコンピューティングデバイス(例えば、コンピューティングデバイス200に類似した複数のデバイス)にわたって分割され得る。これらの実施形態では、異なる構成要素が、
図2のコンピューティングデバイス200のI/Oデバイス230またはネットワークインターフェース218を介して通信できる。
【0067】
データは、専有データソースおよび外部データソースを介してシステム100にとって利用可能にできる。上述のデータソースは、網羅的なものではないことは理解されよう。多くの異なるデータソースおよび種々のデータが、専有データソースおよび外部データソースの両方に存在し得る。さらに、データのいくつかは、外部および専有データソースの間で重複し得る。例えば、外部データソースは、特定の手荷物の所在についてのデータを含み得る、位置データを提供できる。この同じデータはまた、専有データソースに、同じ形式または異なる形式で含まれ得る。
【0068】
さらに、専有データソースおよび外部データソースにおける任意のデータソース、あるいはシステム100によって使用される任意の他のデータソースは、リレーショナルデータベース管理システム(RDBMS)(例えば、オラクルデータベース、マイクロソフトSQLサーバ、MySQL、PostgreSQL、および/またはIBM DB2)であってよい。RDBMSは、できるだけ少ない動作で、行全体またはレコードのデータを効率的に返すように設計され得る。RDBMSは各行のデータをシリアル化することによってデータを格納できる。例えば、RDBMSでは、レコードに関連するデータは、レコードの全カテゴリに関連するデータが、1つの動作でアクセスされ得るように、シリアルに格納され得る。その上、RDBMSは、共通のフィールドまたは属性についてのレコードを結合することによって、異なるテーブルに格納された関連レコードへのアクセスを効率的に可能する。
【0069】
いくつかの実施形態では、専有データソースおよび外部データソースにおける任意のデータソース、あるいはシステム100によって使用される任意の他のデータソースは、非リレーショナルデータベースシステム(NRDBMS)(例えば、XML、カサンドラ、CouchDB、MongoDB、オラクルNoSQLデータベース、FoundationDB、および/またはRedis)であってよい。非リレーショナルデータベースシステムは、特に、キー値ストア、文書ストア、グラフ、およびタプルストアなど、種々のデータ構造を使用してデータを格納できる。例えば、ドキュメントストアを使用した非リレーショナルデータベースは、特定のレコードに関連したデータの全てを、XMLを使用して符号化した単一のドキュメントに組み合わせることができる。非リレーショナルデータベースは、レコード全体の効率的なアクセスを提供するとともに、複数のデータシステムにわたる効率的な分散化を提供できる。
【0070】
いくつかの実施形態では、専有データソースおよび外部データソースにおける任意のデータソース、あるいはシステム100によって使用される任意の他のデータソースは、グラフデータベース(Neo4jまたはTitan)であってよい。グラフデータベースは、データを表示するために、ノード、エッジ、およびプロパティなどのグラフ概念を使用してデータを格納できる。グラフデータベースに格納されたレコードは、種々のノードに接続したエッジに基づいて他のレコードと関連付けられ得る。このタイプのデータベースは、他のタイプのデータベースシステムではモデル化するのが困難である複雑な階層関係を効率的に格納できる。
【0071】
いくつかの実施形態では、専有データソースおよび外部データソースにおける任意のデータソース、あるいはシステム100によって使用される任意の他のデータソースは、APIを介してアクセスされ得る。特に任意の前述のデータ記憶システムを利用できる、専有データソースおよび外部データソースのデータソースは、複数の電子デバイス、データ記憶システム、または他の電子システムにわたって分散され得ることが理解されよう。
【0072】
データ記憶システムまたはデータソースに直接のアクセスを提供することに加えて、専有データソース110はデータシステムを含むことができる。データシステムは、データベースなど1つまたは複数のデータソースに接続できる。データシステムは、データベースに格納されたデータとのインターフェースを提供できる。いくつかの実施形態では、データシステムは、他のデータにデータベース内のデータを組み合わせることができる。データシステムは、APIまたはいくつかの他のリクエスタにそのデータを提供する前に、データベースにおいてデータを前処理できる。
【0073】
専有データソースは、直接アクセスされる、または公開して利用可能にされることはない。これらのデータソースは、料金の支払いまたはサブスクリプションに基づいて加入者に提供され得る。これらのデータソースへのアクセスは、専有データソースの所有者によって、あるいは、
図1に示され、以降でより詳細に説明されるAPIなどのインターフェースを介して直接提供され得る。
【0074】
様々な専有データソースが、様々なプロバイダからシステム100に利用可能にされ得る。いくつかの実施形態では、データソースのグルーピングの各々は、共通する業界またはドメインに関連するデータを含む。他の実施形態では、専有データソースのグルーピングは、様々なデータソースのプロバイダに依存し得る。例えば、専有データソース110のデータソースは、航空旅行業界に関連するデータを含むことができる。この例では、データベースは、旅行プロフィール情報を含むことができる。基本的な人口統計情報に加えて、旅行プロファイルデータは、今後の旅行情報、過去の旅行履歴、旅行者の好み、ロイヤルティ情報、および旅行者プロフィールに関連するその他の情報を含むことができる。
【0075】
専有データソースと異なり、外部データソースは、一般からアクセス可能であるか、あるいはAPIまたはシステム100のプロバイダの直接制御の外であるデータソースであってよい。フライトデータは、フライト情報、ゲート情報、および/または特に、FlightStats API、 FlightWise API、 FlightStats API、およびthe FlightAware APIを介してアクセスされ得る空港情報を含むことができる。これらの外部データソースの各々は、APIを介してアクセスされる追加データを提供できる。
【0076】
上述のように、APIは、共通のインターフェースで専有データソースおよび外部データソースを介して利用可能な任意のデータにアクセスするための統一のインターフェースを提供できる。APIは、例えば、
図2に関連して記載したコンピューティングデバイス200などのコンピューティングデバイス上で実行されるソフトウェアであってよい。これらの実施形態では、APIは、任意の標準プログラミング言語(Python、Ruby、Java、C、C++、node.js、PHP、Perlなど)を使用して書くことができ、特に、SOAP、JSONオブジェクト、RESTベースサービス、XMLなどを含む種々のデータ転送フォーマットおよび/またはプロトコルを使用してアクセスを提供できる。APIは、規格形式のデータ要求および予測可能なフォーマットの応答を受け取ることができる。いくつかの実施形態では、APIは、1つまたは複数のデータソースからのデータを(例えば、専有データソース、外部データソース、またはその両方に格納されたデータ)を組み合わせて、統一した応答にできる。加えて、いくつかの実施形態では、APIは、様々なデータソースからの情報を処理して、生データでは使用できない追加のフィールドまたは属性を提供できる。この処理は、1つまたは複数のデータソースに基づいてよく、各データソースからの1つまたは複数のレコードを利用できる。例えば、APIは、平均、合計、数的範囲、または他の計算可能な情報などの集約的または統計的情報を提供できる。その上、APIは、複数のデータソースからのデータを共通の形式に正規化できる。上述のAPIの能力についての説明は例示にすぎない。APIが専有データソースおよび外部データソースを介して提供されたデータを読み取りおよびパッケージ化する多くの追加の方法がある。
【0077】
ユーザデバイス110は、APIとインタラクトできる。ユーザデバイス110は、APIから(例えば、
図3のワイヤレス通信306を介して)情報を受信してよい。この情報は、
図3に関連して前述した任意の情報を含むことができる。例えば、ユーザデバイスは、位置情報、動き情報、視覚情報、音声情報、向き情報、または任意の他のタイプの情報を生成してよい。
【0078】
ユーザデバイス110は、自身が所有するコンピューティングリソースを使用して生成した情報を処理してよい。代わりに、生成した情報のいくつかまたは全てが、部分的な処理または全部の処理のために他のデバイスに転送されてもよい。後者の場合、ユーザデバイス110は、データのソースを識別するために、ユーザデバイスIDを転送してよい。
【0079】
ユーザデバイス110上に提示されない情報は、APIを介してユーザデバイスにプッシュされてよい。例えば、手荷物紛失に関する情報は、システム100に関連付けられた1つまたは複数のユーザデバイス、あるいは全てのユーザデバイスにプッシュされて、手荷物が識別されている限りユーザデバイス110において紛失している手荷物を強調表示できるようにする。追加でまたは代替的に、ユーザデバイス110は、APIを介してコンピューティング環境120から情報を引き出すことができる。
【0080】
図4は、ARデバイスを使用してオブジェクトを配置するための例示的な方法500のフローチャートである。ARデバイスは、
図3Aおよび
図3Bを参照して上述したデバイスであってよい。実施形態では、ARデバイスは、ステップ510において、ARデバイスのセンサを使用してARデバイスのユーザの周囲の空間情報を取得することによって開始する。これらのセンサは、1つまたは複数のカメラ324、あるいはより一般的には、ARデバイスの視野(FOV)内のオブジェクトの空間特性を検出するのに適した任意のセンサを含むことができる。取得した空間情報は、ARデバイスによって処理されて、ARデバイスの視野内にオブジェクトの仮想空間モデルを構築する。ARデバイスは、永続メモリ330にプロセッサ実行可能命令を格納する。これらの命令は、環境内でのエージェントの位置の追跡を同時に維持しながら、未知の環境のマップを構築する技術である、SLAM(simultaneous localisation and mapping)を実行するためのコンピュータ実行可能命令を含む。自動運転車両やロボットナビゲーションを含め、様々な技術分野の様々なSLAMアルゴリズムが知られているため、SLAMの詳細な説明は、本明細書に必ずしも含まれる必要はない。プロセッサ実行可能コードは、使用の際に、ステップ520においてARデバイスのCPU301によって実行されて、ARデバイスに、ARデバイスのセンサによって感知されたオブジェクトの仮想モデルを生成させる。この仮想モデルは、ステップ520からステップ510に戻るように接続した矢印によって示されるように、継続的に更新され、ARデバイスの物理的環境の変化が、仮想モデルにおいて検出され含まれるようにできる。物理的環境のそのような変化は、ARデバイスのFOV内のオブジェクトの配置の変化、またはARデバイスのセンサのFOVの単なる変化を含むことができる。ARデバイスのセンサのFOVの変化は、ARデバイスを装着している従業員が移動したか、FOV内のオブジェクトが移動したために発生することがある。
【0081】
ARデバイスによって感知されている(および、ARデバイスのFOVの仮想モデル内に一体化されている)オブジェクトは、一意の識別子を有し得る。そのような一意の識別子は、オブジェクトに付属するか、一意に関連付けられ得る。航空手荷物について、このことは通常、記載の時点では、手荷物に付けたタグ上のバーコードとして符号化された一意の10桁のコードである。ARデバイスの周りの空間情報を感知すると、コードを含む関連するタグが、それらが可視であり復号されうる限り、感知される。CPU301は、検出した一意の識別子を仮想モデルの関連構造に関連付け、その結果、仮想モデルのこれらの構造が、一意の識別子を介してそれぞれの実世界の同等物と一意にリンクされる。上述のように、仮想モデルが継続的に更新される。しかしながら、このことは、センサのFOVが変化して、仮想モデルの一部が更新されなくなり(仮想モデル中に表されたオブジェクトがセンサのFOV内に存在しないので)、仮想モデルのこれらの部分が破棄されることを意味していない。反対に、センサのFOVが変化すると、仮想モデルは引き続き発展する。この仮想モデル内の任意の一意に識別されたオブジェクトがそのように記憶される。
【0082】
一意の識別子について上述したことは、手荷物を識別するために、航空業界で使用される10桁のコードに焦点をあてたが、オブジェクトを一意に識別できる任意の識別子がオブジェクトを識別するために使用され得る。そのような識別子は、QRコード(登録商標)、ARコード、あるいはオブジェクトを一意に識別し、運送の手荷物取り扱いシステムにオブジェクトについてチェックインするときなど、早い段階でオブジェクトを一意に識別する特徴として格納されているオブジェクト自体の特徴を含むことができる。そのような一意に識別する特徴は、チェックインの際に、スキャンまたは撮影された手荷物上の一意のマークを含み得る。
【0083】
上記説明は、ARデバイスのCPUに実行時に自己位置推定と環境地図作成を同時に行うこと(SLAM)を実行させるコンピュータ実行可能コードを格納するARデバイスに焦点を当てているが、これらの動作全てがARデバイス自体で実行される必要がないことは理解されよう。他のコンピューティングデバイス上でのSLAM処理のために別のコンピューティングデバイスに、感知された位置データがアップロードされることが同様に可能である。これにより、センサを備えるデバイスから他のコンピューティングデバイスへのデータ転送が増加するという犠牲を払ってでも、仮想モデルのより詳細またはより高速な計算が可能になり得る。物理デバイス、物理デバイスのグループまたはネットワーク、仮想コンピューティングリソース、またはそれらの組み合わせなど、任意の適切なタイプの他のコンピューティングデバイスが使用され得る。
【0084】
オブジェクトが一意に識別されると、ARデバイスは、ステップ540でオブジェクトに関連する情報を格納するデータベースとインターフェースし、オブジェクトに関連する情報をダウンロードする。このステップは、ARデバイスが、例えば、仮想地図を作成する目的において、あるオブジェクトを単純に検索し、検索の間に決定したこれらのオブジェクトの位置情報をデータベースにアップロードする状況など、オブジェクトに関連する任意の情報を必要としない場合は省略され得る。
【0085】
いくつかの実施形態では、一意に識別されたオブジェクトに関連する情報は、ARデバイスに必要であるが、この実施形態では、データベースからARデバイスにダウンロードされる。ステップ550では、一意に識別されたオブジェクトに関連する情報は、データベースにアップロードされる。この情報は、仮想モデル内にオブジェクトの一意の識別子およびその位置を含み、オブジェクトの絶対位置の情報、または仮想モデル内のオブジェクトの絶対位置の情報を実世界でのオブジェクトの絶対位置の情報に解釈できる情報をデータベースに提供する。加えて、コンテキストまたはユースケース情報は、ARデバイスからデータベースにアップロードされ得る。代替的にまたは追加で、コンテキストまたはユースケース情報がサーバによって推測されるか、アップロードされたコンテキストまたはユースケース情報が、サーバによって推測されたさらなる情報によって補完されてよい。例えば、識別された手荷物など、識別されたオブジェクトが、コンテナなど別のオブジェクトに位置するというARデバイスの観察が、サーバによって使用され、オブジェクトが積み込まれていると推測されてよい。次いで、オブジェクトの現在位置が、他のオブジェクト/コンテナ内に位置していたオブジェクトが配置後にARデバイスによる観察から不明瞭になることがあるとしても、オブジェクトがその中に位置していたオブジェクト/コンテナの現在の位置の参照を通して推測される。航空機へのより大きなオブジェクト/コンテナの移動に関するナリッジを使用して、より大きなオブジェクト/コンテナ内にあることが知られている全てのオブジェクトが航空機へ積み込まれていると推測され得る。
【0086】
ARデバイスにダウンロードした情報は、ARデバイスのユーザが見る視野の上にオーバレイされることによってARデバイスのユーザに表示され得る。情報を表示する方法600が
図5に示される。ステップ610では、ARデバイスのFOV内のオブジェクトが識別され、識別されたオブジェクトに関連する情報がARデバイスにダウンロードされる。オブジェクトを識別し、関連情報をダウンロードする一つの方法が、
図4を参照して上述した方法である。ステップ620では、各オブジェクトについてARデバイスの現在のコンテキストに関連する情報が決定される。このことは、限定ではなく、情報がダウンロードされたオブジェクトがまだARデバイスのFOV内にあるかどうかを判定すること(および、結果的に情報が感度良く表示され得るかどうか)、ダウンロードした情報が、ARデバイスの現在の動作モードまたは動作基準に関連するかどうかを判定することを含む。ARデバイスのユーザが、例えば、ユーザが紛失した手荷物を見つけたいことを示す場合、ダウンロードした情報のうち見つけるべき手荷物に関連するとして示されている手荷物に関連する情報のみがARデバイスの現在のコンテキストに関連して決定される。同様に、ARデバイスが特定の基準を満たす手荷物の積み込みのためである場合(例えば、手荷物がラッシュ処理用に分類されている場合)、この基準に一致する情報のみがARデバイスの現在のコンテキストに関連すると決定される。次いで、このように選択した情報が、ARデバイスのユーザの問題のオブジェクトのビューに重ねられるようにARデバイスに表示される。
【0087】
ARデバイスのユーザに提示された表示の例を
図6に示す。そこでは、ARデバイスのユーザの、ARデバイスを介したユーザの周囲のビューは、識別されたオブジェクトに関連する情報とオーバレイされる。示される例では、この情報は、一意の識別子の表現、手荷物が輸送された、または輸送される予定のフライトの詳細、および、特に、オブジェクトが取り扱われる緊急性を示す評価など手荷物の取り扱い方法の指示を含む。表示された情報は、追加でまたは代替的に手荷物に関連する分類、手荷物の取り扱いの優先度、手荷物の重量、手荷物が輸送される予定の接続フライトについての情報、および/または手荷物の現在のステータスに関連する情報を含むことができる。手荷物の現在のステータスに関連する情報は、手荷物が紛失したか、正しくまたは誤って積まれたか、または、乗客が飛行機に搭乗できなかったなどの理由で手荷物を降ろさなければならなかったかどうかを示す情報を含むことができる。拡張されたビューは、
図3Bのビューポート391を介したビューであってよく、
図3Aの表示サブシステム310の左目ディスプレイ311および右目ディスプレイ313によって提供されるグラフィックオーバレイを投影する
図3Bの表示デバイス393の結果であってもよい。拡張されたビューは、拡張現実ビューとなるビューポート391のグラフィックオーバレイを表すことができる。
【0088】
図7は、
図4を参照して上述した方法500を使用して、オブジェクトを検索する方法800を示し、ステップ810では、ARデバイスのユーザの環境の仮想モデルを生成および/または更新し、ARデバイスのセンサのFOV内で識別されたオブジェクトの情報をダウンロードする。このステップは、実施形態において方法800の一部を形成する個別のステップ810として示される場合、ステップ810/方法500は、他の方法ステップと一緒に1つの処理タスクとして連続的に実行され、ユーザが現在動作する環境の仮想表現は最新のままであることを確実にすることが理解されよう。多数のオブジェクトがARデバイスのセンサのFOV内に提示されている状況では、これらのオブジェクトに関連するすべての情報を精密にARデバイスのユーザに表示するのは困難であることがある。表示された情報の明確さを向上するために、実施形態では、検索またはフィルタリング基準に基づいて情報のフィルタリングを可能にする。これらの基準はステップ820で決定される。これは、ステップ830に示すように、ユーザ入力に基づいて行われ得る。ユーザは、特に、識別を望むオブジェクトのタイプについて明示的な命令を入力してよい。そのような検索基準は、非常に具体的であってよく、例えば、特定のフライトに積み込まれる必要のある手荷物、あるいは、ラッシュ処理の対象となる必要のある鞄など、所定の緊急度の取り扱いを必要とする手荷物に関連し得る。代替的にまたは追加で、検索基準は、紛失している特定の手荷物など、特定のオブジェクトに対して指定され得る。
【0089】
代替的にまたは追加で、ユーザは入力を提供するか、またはその選択についての入力の選択とともに提示されてもよい。ユーザは、例えば、デバイスが特定のモードで動作することを指示するユーザ入力を提供してよい。一実施形態では、デバイスは、ユーザが選択できるモードの数を提示してよい。そのようなモードの一つは、例えば、
図5を参照して上述したモード/方法500、検索モード、航空機またはコンテナが手荷物を積むまたは積み荷を降ろすモードなど、調査される領域の3Dマップが生成されるベースライン入力モードであり得る。
【0090】
ユーザ入力はいくつかの異なる方法で提供され得る。本開示は、特定の方法またはユーザ情報を入力する特定の方法に限定されない。一実施形態では、ユーザ入力は、入力デバイス307を介してARデバイス自体で入力され得る。一実施形態では、入力デバイス307は、ユーザにとって利用可能な検索基準オプションのメニューを表示する手段を含む。
【0091】
ステップ840では、検索基準に一致するオブジェクトの最後の記録位置が取り出される。この情報は、サーバから取り出されるか、関連情報が既にARデバイスに提示されている場合、代替的にARデバイスのメモリから取り出される。この情報は、ARデバイスの周囲の仮想表現が既に作成されており、表現内のオブジェクトが識別された、ARデバイスを使用して以前に実行されたプロセスから利用可能であり得る。代替的にまたは追加で、オブジェクトの最後の既知の位置が、ARデバイスによって作成された、あるいはARデバイスによって作成されている仮想表現内を参照するために、サーバから取り出される。実施形態では、環境内に固定的に設けられた一意の識別子がその視野内にあるように、ユーザはARデバイスを方向付けできる。識別子を検出することによって、固定の実世界基準点が決定される。ARデバイスまたはARデバイスと通信可能に接続されたコンピューティング環境は、そのような検出した一意の識別子を使用して、ユーザの環境が実世界に占める仮想表現の絶対位置を計算する。ユーザの環境の仮想表現と実世界のルート情報との間の空間接続に基づいて、例えば、オブジェクトの最後の既知の位置へユーザを案内するために、ARデバイスを介して/ARデバイスによってユーザに表示され得る。より一般的には、絶対位置が、例えば壁のQRコードを読み取ることによって決定されると、次いでARデバイスに対する任意の座標が絶対座標に変換され得る。異なるタイプの一意の識別子がこの目的に使用されてよく、個別のARデバイスが必要に応じて異なるタイプの識別子を識別するように構成され、異なるARデバイスが異なるタイプまたは同じタイプの識別子を使用して、生成した3Dモデルのための絶対基準点を決定することが理解されよう。環境の仮想表現の一部である座標を、例えばSLAM(Simultaneous Localisation And Mapping)を使用して絶対/実世界座標に変換するために、一意の識別子が、ARデバイスが環境に構成されるFOVに常に残る必要はないことが理解されよう。
【0092】
検索されるべきオブジェクトの最後の既知の場所が、ARデバイスによって取り出されると、オブジェクトがARデバイスの現在のFOV内にあるかどうかの判定が、オブジェクトによって搬送された、前記ARデバイスによって検出された一意の識別子に基づいてARデバイスのFOV内になるオブジェクトを識別することによって、および識別された一意の識別子を検索されているオブジェクトの一意の識別子と相関させることによってなされる。ARデバイスの現在のFOVは、その上にARデバイスおよび/または関係するコンピューティング装置が環境の仮想表現を現在作成できるFOVである。現在のオブジェクトがARデバイスの現在のFOV内にない場合、仮想モデル内のルートが決定される。ARデバイスのFOV内にある関連するルートのそれらの部分は、ステップ850においてARデバイス内に表示され、ARデバイスのユーザが見つけられるべきオブジェクトに近づくことを可能にする。ルートは、ARデバイスに通信可能に接続されたコンピューティングデバイスによって算出され得る。一実施形態では、ルートは、コンピューティングシステム上で動作し、問題のローカル環境のマップに基づいてルートを決定する地理情報システムを使用して計算される。ローカルマップは、例えば、ESRI(www.esri.com)によって提供されるマッピングツールなど、既知の方法で生成されてよく、「実世界」マップ内の座標が、環境の仮想表現内の座標に相関される。これらの座標の一方または両方が、代替的にまたは追加で、グーグルマップなど、地理的またはマップのデータに相関され得る。ローカル環境のマップを介してナビゲートする技術は、グーグルマップを使用したものなど、より大きなスケール上でナビゲートするために使用される技術と同じである。
【0093】
ルートのセクションの表示は、ARデバイスのユーザの移動と、その結果としてのARデバイスのFOVの継続的な変更を修正/許可するために、常に更新される。ステップ850のナビゲーションの支援を改良および表示するプロセスは、ステップ860において、見つけられるべきオブジェクトがARデバイスのFOVに入ったと決定されるまで繰り返される。見つけられるべきオブジェクトがARデバイスのFOV内にあるとき、オブジェクトに関連するとともに、見つけられるべきオブジェクトとしてオブジェクトを識別する情報が、ステップ870においてARデバイスによってユーザに表示される。この表示ステップは、
図5を参照して上述した方法を使用してよい。
【0094】
図8は、オブジェクトの取り扱いを支援する際にARデバイスが使用される方法900を示す。ステップ910では、ARデバイスが位置する環境の仮想表現が生成される。これは、
図4を参照して上述した方法を使用してなされる。識別されている仮想モデル内のオブジェクトに関連する情報がさらに取り出される。検索プロセスに関して上述したように、そのような取り出しは、ARデバイス自体のメモリから、またはARデバイスに通信可能に接続されたサーバからものであてよい。ステップ920では、分類基準が決定され、決定した分類基準に基づく分類情報は、情報が識別されたオブジェクトの現在のビューにオーバレイされるように、ステップ930においてARデバイスに表示される。情報は、
図5を参照して上述した方法で表示され得る。分類基準は、扱われたオブジェクト(例えば、手荷物)を特徴付ける、物理的またはそれ以外の属性である。分類基準の例は、方法900が使用される文脈において機能的意義を有する、次元、大きさ、重量、優先度、クラス、色、または任意の他の属性である。分類基準は、ユーザ入力によってステップ920で決定されるか、あるいはARデバイスのユーザが現在動作する特定のコンテキストのために事前に決定され得る。例えば、手荷物積載分類基準には、優先度、フライトの詳細、クラス、重量などが含まれてよい。
【0095】
ステップ940では、組織的支援は、ARデバイスのユーザ、例えばARデバイスを使用する手荷物担当者に表示される。組織的支援は、ARデバイスのユーザが、組織的支援により示される方法で組織的支援により識別された、または組織的支援と関連するオブジェクトを配置できるようにする情報である。組織的支援は、例えば、組織的支援に関連するオブジェクトが、組織的支援によって示される特定の場所に配置されるべきであることを、ARデバイスのユーザに示してよい。例えば、仮想モデル内の識別された特定の手荷物が、所与の手荷物コンテナに配置されるべきであることが、組織的支援によって示され得る。
【0096】
ARデバイスのユーザがオブジェクトを扱うとき、ARデバイスは、その環境を作成する仮想モデルを更新し、ステップ950において、扱ったオブジェクトが、組織的支援によって与えられた指示に従って取り扱われているかどうかを判定する。これが当てはまらない場合、ステップ960で警告がユーザに表示される。オブジェクトが正しく扱われている場合、ステップ970でこの効果に対する確認が表示される。
【0097】
上記システムが、空港の文脈において説明されたが、システムは、多くの異なるドメインのために使用され得る。使用された特徴および組み込まれたデータは、開示した実施形態が展開される特定のドメインに基づくものとすることができる。
【0098】
発明のさらなる実施形態が以下に記載される。1. 1つまたは複数のプロセッサを含む拡張現実コンピューティングシステム、以降ARシステムと称する、によって実行される一意に識別可能なオブジェクトの位置を決定する方法であって、ARシステムのセンサによって提供された情報に基づいて、ARシステムの周りの環境の少なくとも一部の3次元仮想モデルを生成するステップと、センサを使用して環境内でオブジェクトの一意の識別子を検出するステップと、3次元仮想モデル内でオブジェクトの位置を決定するステップとを含む方法。2. ARシステムの周りの環境内で既知の絶対位置を有する識別子を検出し、仮想モデル内でオブジェクトの位置を参照して、それによりオブジェクトに絶対的な実世界の位置を関連付けるステップをさらに含む、上記1.に記載の方法。3. 一意に識別されたオブジェクトに関連する格納された情報を取り出し、ARシステムのユーザの観察可能な表示部分に格納された情報の少なくとも一部を表示するステップをさらに含む、上記1.に記載の方法。4. オブジェクトが、ARシステムのユーザによって観察可能なように、ARシステムのFOV内にないとき、ARシステムのユーザが、オブジェクトに向かって移動できるようにする仮想モデル内のルートを決定し、ARシステムのユーザによって観察可能なようにARシステムのFOV内にルートを表示するステップをさらに含む、上記3.に記載の方法。5. 1つまたは複数のプロセッサを含む拡張現実コンピューティングデバイス、以降ARデバイスと称される、によって実行されるオブジェクト情報を表示する方法であって、移動可能なオブジェクトに関連する情報を受信するステップと、オブジェクトの仮想表現がARデバイスによって占有された環境の仮想表現の一部を形成するか否かをチェックするステップと、オブジェクトに関連する情報をARデバイスのユーザの観察可能な表示部分に表示するステップとを含む方法。6. オブジェクトが、ARデバイスのユーザによって観察可能なように、ARシステムのFOV内にないとき、ARデバイスのユーザが、オブジェクトに向かって移動できるようにする仮想モデル内のルートを決定し、ARデバイスのユーザによって観察可能なようにARデバイスのFOV内にルートを表示するステップをさらに含む、上記5.に記載の方法。7. ユーザによって提供された音声コマンドを検出および解釈すること、ARデバイスのセンサを使用して、1つまたは複数のユーザのジェスチャを検出および解釈すること、またはARデバイスの表示領域またはARデバイスのユーザによって現在観察されるオブジェクトを検出および解釈すること、の1つまたは複数によって指示を受け取るステップをさらに含む、上記5.に記載の方法。8. コンピューティングシステムによって実行される通信方法であって、 コンピューティングシステムに通信可能に接続された1つまたは複数のARデバイスに、オブジェクトに関連する情報を送信するステップを含み、情報が一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む、方法。9. コンピューティングシステムに格納された情報に基づいて、オブジェクトの最後の既知の位置を決定するステップと、オブジェクトの最後の既知の位置の近くにあることが知られている1つまたは複数のARデバイスの1つまたは複数にのみ、情報を選択的に送信するステップとをさらに含む、上記8.に記載の方法。10. 一意に識別可能なオブジェクトの位置情報をARデバイスから受信するステップと、システムのメモリデバイスに位置情報を格納するステップ、または、1つまたは複数のARデバイスのうちの1つまたは複数の他のARデバイスに情報または情報の一部を転送するステップの1つまたは複数とをさらに含む、上記9.に記載の方法。11. システムに、上記1.~10.のいずれかに記載の方法を実行させる1つまたは複数のプロセッサを含む拡張現実コンピューティングシステムによって実行可能な命令を格納した非一時的コンピュータ可読記憶媒体。12. 一意に識別可能なオブジェクトの位置を決定するように構成された1つまたは複数のプロセッサを備えた拡張現実コンピューティングシステム、以降ARシステムと称される、であって、一意に識別可能なオブジェクトの位置を決定することは、ARシステムのセンサによって提供された情報に基づいて、ARシステムの周りの少なくとも一部の環境の3次元仮想モデルを生成することと、センサを使用して環境内でオブジェクトの一意の識別子を検出することと、3次元仮想モデル内でオブジェクトの位置を決定することとによってなされる、ARシステム。13. ARシステムは、1つまたは複数のプロセッサを含む1つまたは複数の拡張現実コンピューティングデバイス、以降ARデバイスと称される、を備え、ARデバイスは、移動可能なオブジェクトに関連する情報を受信し、オブジェクトの仮想表現がARデバイスによって占有された環境の仮想表現の一部を形成するか否かをチェックし、オブジェクトに関連する情報をARデバイスのユーザの観察可能な表示部分に表示するように構成される、上記12.に記載のARシステム。14. 動作モードまたは1つまたは複数の情報選択基準の指示を、ARデバイスのユーザから受け取り、 受け取った指示によって識別された動作モードでARデバイスを動作する、あるいは1つまたは複数の情報選択基準の受け取った指示に従って受信した情報をフィルタリングするようにさらに構成される、上記13.に記載のARシステム。15. 1つまたは複数のプロセッサを備えたコンピューティングシステムであって、 コンピューティングシステムに通信可能に接続された1つまたは複数のARデバイスに、オブジェクトに関連する情報を送信するように構成され、情報が一意のオブジェクト識別子およびオブジェクト取り扱い情報を含む、コンピューティングシステム。
【0099】
上記説明において、実施形態は、実施形態ごとに変化できる多数の特定の詳細に関して説明されている。説明された実施形態の特定の適合および修正を行うことができる。他の実施形態は、本明細書に開示される本発明の仕様および実施を考慮するにより当業者には明らかであり得る。仕様および例は例示としてのみ考慮されることが意図されている。また、図に示されている一連のステップは、説明のみを目的とすることを意図しており、特定の一連のステップに限定されることを意図していない。したがって、当業者は、これらのステップが同じ方法を実施しながら異なる順序で実行され得ることを理解することができる。
【符号の説明】
【0100】
100 拡張現実システム
110 ユーザサブシステム
120 コンピューティング環境
130 オブジェクト
140 センサ
200 コンピューティングデバイス
218 ネットワークインターフェース
220 CPU
221 システムメモリ
223 I/Oコントローラ
224 表示デバイス
225 GPU
226 グラフィックメモリ
228 ストレージ
230 I/Oデバイス
240 レジスタ
241 キャッシュ
245 フレームバッファ
250 システムインターフェース