開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示するためのシステム、方法、及び媒体が提供される。
開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示するためのシステムが提供され、このシステムは、複数のヘッドマウントディスプレイを備え、複数のヘッドマウントディスプレイのうちの第1のヘッドマウントディスプレイに透明ディスプレイ及び少なくとも1つのプロセッサが設けられ、少なくとも1つのプロセッサが、ヘッドマウントディスプレイの物理的環境における複数の物理的位置のうちの第1の物理的位置が前記ヘッドマウントディスプレイに最も近い位置にあることを判断し、第1の3次元モデルを含む第1のコンテンツを受信し、第2の3次元モデルを含む第2のコンテンツを受信し、透明ディスプレイを使用して第1の3次元モデルの第1のビューを第1の時刻に表示し、透明ディスプレイを使用してサーバから受信した1つ又は複数の命令に基づいて第1の時刻に続く第2の時刻に第2の3次元モデルの第1のビューを表示する、ようにプログラムされる。
いくつかの実施形態では、少なくとも1つのプロセッサは、第1の時刻の後で第2の時刻の前の第3の時刻にサーバから命令を受け取るようにさらにプログラムされ、第1のヘッドマウントディスプレイに第1のコンテンツの表示を中止させ、1つ又は複数の命令の受信に応答して第2のコンテンツの表示を開始させる。
いくつかの実施形態では、システムがさらにサーバを備え、サーバは、第2のコンテンツが表示されるべきであるという指示を受信し、第2のコンテンツが表示されるべきであるという指示を受信することに応答して、1つ又は複数の命令を少なくとも第1のヘッドマウントディスプレイに送信する。
いくつかの実施形態では、システムは、複数のヘッドマウントディスプレイのうち第2のヘッドマウントディスプレイをさらに含み、第2のヘッドマウントディスプレイは少なくとも1つの第2のプロセッサを含み、少なくとも1つの第2のプロセッサは第2のヘッドマウントディスプレイをサーバとして機能させるようにプログラムされる。
いくつかの実施形態では、第1のコンテンツ及び第2のコンテンツは、第1のコンテンツを表示する前にコンテンツのコーパスの一部として受信される。
いくつかの実施形態では、第1のコンテンツは第1の時刻の前に受信され、第2のコンテンツは第1の時刻の後に受信される。
いくつかの実施形態では、少なくとも1つのプロセッサは、第2のコンテンツが表示されるべきであるという指示の受信に応答して第2のコンテンツを要求するようにさらにプログラムされている。
いくつかの実施形態では、少なくともプロセッサは、第2のコンテンツに対する要求を送信することなく表示されるプッシュコンテンツとして第2のコンテンツをサーバから受信するようにさらにプログラムされている。
いくつかの実施形態では、頭部追跡システムをさらに含み、少なくとも1つのハードウェアプロセッサはさらに、第1のコンテンツが、第1のヘッドマウントディスプレイ複数の物理的位置のうちの第1の物理的位置に表示されるべきであるという指示を受信し、第2のコンテンツが、第1のヘッドマウントディスプレイの物理的環境内の複数の物理的位置のうちの第2の物理的位置に表示されるべきであるという指示を受信し、透明ディスプレイを使用して、頭部追跡システムによって出力された情報から決定された第1の物理的位置に対する第1の頭部位置に少なくとも部分的に基づいて、第1の物理的位置に第1の3次元モデルの第1のビューを表示し、頭部追跡システムによって出力された情報に基づいて、第1の頭部位置とは異なる第1の物理的位置に関する第2の頭部位置を決定し、第2の頭部位置を決定することに応答して、第2の頭部位置に基づいて第1の3次元モデルの第2のビューを表示し、ヘッドマウントディスプレイの物理的環境における複数の物理的位置のうちの第2の物理的位置が複数の物理的位置のうちのヘッドマウントディスプレイに最も近くにあると判定し、第2の物理的位置が複数の物理的位置のうちのヘッドマウントディスプレイに最も近い位置にあると決定したことに応答して、第2の物理的位置に固定された第2の3次元を表示する、ようにプログラムされている
いくつかの実施形態では、少なくとも1つのハードウェアプロセッサは、第2の物理的位置が複数のヘッドマウントディスプレイの最も近くに位置すると判定したことに応答して第1の物理的位置における第1の3次元モデルの表示を禁止するようにさらにプログラムされる。
いくつかの実施形態では、頭部追跡システムが慣性測定ユニットを備える。
いくつかの実施形態では、少なくとも1つのプロセッサは、ヘッドマウントディスプレイが第2の物理的位置により接近したと判断したことに応答して、サーバから第2のコンテンツを要求するようにさらにプログラムされる。
いくつかの実施形態では、少なくともプロセッサは、第2のコンテンツに対する要求を送信することなく表示されるべきプッシュコンテンツとして第2のコンテンツをサーバから受信するようにさらにプログラムされている。
いくつかの実施形態では、システムが、少なくとも1つの入力デバイスと、少なくとも1つの第3のプロセッサとを備えた演算デバイスをさらに含み、第3のプロセッサが、第1のコンテンツが第1の物理的位置に関連付けられ、第2のコンテンツが第2の物理的位置に関連付けられることを示す入力を入力デバイスから受信し、第1のコンテンツは第1の物理的位置に関連付けられ、第2のコンテンツは第2の物理的位置に関連付けられることを示す情報をサーバに送信し、情報は拡張マークアップ言語(XML)文書としてフォーマットされている。
いくつかの実施形態では、第1のヘッドマウントディスプレイと通信するように構成され第2の慣性測定ユニット及び少なくとも1つの第4のプロセッサを備えたユーザ入力デバイスと、少なくとも1つの第5のプロセッサを備えた複数のヘッドマウントディスプレイのうちの第2のヘッドマウントディスプレイとをさらに備え、第4のプロセッサが、ユーザ入力デバイスの物理的な動きを示す情報を第1のヘッドマウントディスプレイに送信するようにプログラムされ、第1のヘッドマウントディスプレイの少なくとも1つのプロセッサが、第1の3次元モデルに関連して第1のユーザインタフェース要素をユーザ入力デバイスの物理的な動きを示す情報に基づく位置に表示し、第1の3次元モデルに関してユーザインタフェース要素の位置を示す情報をサーバに送信するようにプログラムされ、第5のプロセッサが、第1の3次元モデルに関連してユーザインタフェースが表示されるべき位置を示す1つ又は複数の命令をサーバから受信し、第1の3次元モデルに関連するユーザインタフェース要素の位置に関連するサーバから受信した情報に基づいて、第1の3次元モデルに対する位置にユーザインタフェース要素を表示する、ようにプログラムされている。
いくつかの実施形態では、ユーザインタフェース要素は、位置にドットとして表示される。
いくつかの実施形態では、少なくとも1つの画像取込デバイスをさらに含み、少なくとも1つのプロセッサは、モバイル演算デバイスによって表示されるコードの画像を取り込み、画像にエンコードされた情報をサーバに送信して、第1のヘッドマウントディスプレイをモバイル演算デバイスとペアリングさせる。
いくつかの実施形態では、少なくとも1つのプロセッサは、モバイル演算デバイスを使用してサーバによって少なくとも部分的に提供されるサービスにログインするようにユーザに促し、第1のヘッドマウントディスプレイをサービスにログインするためにコードの画像を取り込むようにユーザに促すようにさらにプログラムされる。
いくつかの実施形態では、第1の物理的位置は、物理的環境内のバリアの第1の側面上の物理的環境の少なくとも第1の区画と、バリアの第1の側面上の物理環境の第2の区画とに関連付けられ、第2の物理的位置は、バリアの第2の側面上の物理的環境の少なくとも第3の区画と、バリアの第2の側面上の物理的環境の第4の区画とに関連し、第2の区画が物理的な環境における第1の区画と第3の区画の間に配置され、少なくとも1つのハードウェアプロセッサは、第1のヘッドマウントディスプレイが第1の区画内に配置されていると判断し、第1のヘッドマウントディスプレイが第1の区画内に配置されていると判断したことに応答して第1のコンテンツを第1の物理的位置に表示し、第1のヘッドマウントディスプレイが第3の区画に移動したと判断し、第1のヘッドマウントディスプレイが第3の区画に移動したと判断したことに応答して第2のコンテンツを第2の物理的位置に表示する。
いくつかの実施形態では、少なくとも1つのハードウェアプロセッサは、第3の3次元モデルを含む第3のコンテンツを受信し、第1のヘッドマウントディスプレイが第4の区画に移動したと判断し、第1のヘッドマウントディスプレイが第4の区画に移動したと判断したことに応答して第3のコンテンツを第1のヘッドマウントディスプレイの作業メモリにロードし、第1のヘッドマウントディスプレイが第4の区画から第1の区画に移動したと判定し、第1のヘッドマウントディスプレイが第4の区画から第1の区画に移動したとの決定に応答して第1のヘッドマウントディスプレイの作業メモリにロードされた第3のコンテンツを表示する、ようにプログラムされている。
いくつかの実施形態では、システムがサーバをさらに含み、サーバが、第1の期間中に、第1のヘッドマウントディスプレイによって第1のコンテンツの表示の間に第1のヘッドマウントディスプレイの位置に関する情報を受信し、第1の期間中に取り込まれた第1のヘッドマウントディスプレイの装着者の視野に対応するビデオを受信し、第1のヘッドマウントディスプレイの位置に関する情報を記録し、第1の期間中に第1のヘッドマウントディスプレイの視野に対応するビデオを記録し、第1の期間中、第2のヘッドマウントディスプレイによる第1のコンテンツの表示中に第2のヘッドマウントディスプレイの位置に関する情報を受信し、第1の期間中に取り込まれた第2のヘッドマウントディスプレイの装着者の視野に対応するビデオを受信し、第2のヘッドマウントディスプレイの位置に関する情報を記録し、第1の期間中、第2のヘッドマウントディスプレイの視野に対応するビデオを記録し、第1の期間中に記録されたコンテンツを表示する要求を第1の演算デバイスから受信し、第1の演算デバイスに同時に、第1のコンテンツを表示させ、第1のヘッドマウントディスプレイの位置に関する記録された情報に基づいて第1のコンテンツに対する第1の位置に第1のアバターを表示し、第2のヘッドマウントディスプレイの位置に関する記録された情報に基づいて第1のコンテンツに対して第2の位置に第2のアバターを表示し、第1のヘッドマウントディスプレイが第1の位置にあった時に第1のヘッドマウントディスプレイによって取り込まれたビデオの一部を第1のウィンドウに表示させ、第2のヘッドマウントディスプレイが第2の位置にあった時に第2のヘッドマウントディスプレイによって取り込まれたビデオの一部を第2のウィンドウに表示させる。
いくつかの実施形態では、サーバは、第1のアバターと関連して第1のヘッドマウントディスプレイの装着者の視線を示す第1のユーザインタフェース要素を表示し、第2のアバターに関連して第2のヘッドマウントディスプレイの装着者の視線を示す第2のユーザインタフェース要素を表示するようにさらにプログラムされる。
いくつかの実施形態では、複数のヘッドマウントディスプレイのうちの第2のヘッドマウントディスプレイが、仮想現実ディスプレイと、少なくとも1つのプロセッサとを備え、少なくとも1つのプロセッサが、第1のコンテンツを受信し、第2のコンテンツを受信し、仮想現実ディスプレイを使用して第1の時刻に第1の3次元モデルの第1のビューを表示し、仮想現実ディスプレイを使用して第1の時刻に続く第2の時刻に第2の3次元モデルの第1のビューを表示する。
開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示するための別のシステムが提供され、該システムが複数のヘッドマウントディスプレイを備え、複数のヘッドマウントディスプレイのそれぞれが、第1のコンテンツ及び第2のコンテンツを含むサーバからコンテンツを受信し、ヘッドマウントディスプレイの物理的環境における第1の物理的位置に近いことに少なくとも部分的に基づいて第1のコンテンツを表示し、複数のヘッドマウントディスプレイの第1のヘッドマウントディスプレイ、及び第1の時刻に第1の物理的位置の近くに設置された複数のヘッドマウントディスプレイの第2のヘッドマウントディスプレイが第1の物理的位置に近いことに基づいて第1の物理的位置に対して同じ向きで第1の物理的位置に第1のコンテンツを同時に表示し、物理的環境における第2の物理的位置に近いことに基づいて第2のコンテンツを表示し、複数のヘッドマウントディスプレイのうちの第3のヘッドマウントディスプレイ、及び第1の時刻に第2の物理的位置の近くに位置する複数のヘッドマウントディスプレイのうちの第4のヘッドマウントディスプレイが、第2の物理的位置に近いことに基づいて第2の物理的位置に対して同じ向きで第2の物理的位置に第2のコンテンツを同時に表示する。
開示される主題のいくつかの実施形態によれば、対話型コンテンツを表示するためのシステムが提供され、このシステムは、仮想現実ディスプレイを含むヘッドマウントディスプレイを備え、ヘッドマウントディスプレイが、第1のコンテンツ、第2のコンテンツ、第3のコンテンツを含むコンテンツを受信し、第1の表示情報及び第2の表示情報を受信し、第1の表示情報に基づいて環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置の第1のコンテンツを表示し、第1の表示情報に基づいて環境内のヘッドマウントディスプレイの第2の位置に近いことに少なくとも部分的に基づいて第2の位置にある第2のコンテンツを表示し、第2の表示情報に基づいて環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置に第3のコンテンツを表示する。
開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示する方法が提供され、該方法が、ヘッドマウントディスプレイの物理的環境における複数の物理的位置のうちの第1の物理的位置がヘッドマウントディスプレイに最も近い位置にあることを判断し、第1の3次元モデルを含む第1のコンテンツを受信し、第2の3次元モデルを含む第2のコンテンツを受信し、透明ディスプレイを使用して第1の3次元モデルの第1のビューを第1の時刻に表示し、透明ディスプレイを使用してサーバから受信した1つ又は複数の命令に基づいて第1の時刻に続く第2の時刻に第2の3次元モデルの第1のビューを表示する。
開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示するための別の方法が提供され、該方法が、第1のコンテンツ及び第2のコンテンツを含むサーバからコンテンツを受信し、ヘッドマウントディスプレイの物理的環境における第1の物理的位置に近いことに少なくとも部分的に基づいて前記第1のコンテンツをヘッドマウントディスプレイに表示し、複数のヘッドマウントディスプレイの第1のヘッドマウントディスプレイ、及び第1の時刻に第1の物理的位置の近くに設置された複数のヘッドマウントディスプレイの第2のヘッドマウントディスプレイが、第1の物理的位置にに近いことに基づいて第1の物理的位置に対して同じ向きで第1の物理的位置に第1のコンテンツを同時に表示し、物理的環境における第2の物理的位置に近いことに基づいて第2のコンテンツを表示し、複数のヘッドマウントディスプレイのうちの第3のヘッドマウントディスプレイ、及び第1の時刻に第2の物理的位置の近くに位置する複数のヘッドマウントディスプレイのうちの第4のヘッドマウントディスプレイが、第2の物理的位置に近いことに基づいて第2の物理的位置に対して同じ向きで第2の物理的位置に第2のコンテンツを同時に表示する。
開示される主題のいくつかの実施形態によれば、対話型コンテンツを表示するための方法が提供され、該方法は、第1のコンテンツ、第2のコンテンツ、第3のコンテンツを含むコンテンツを受信し、第1の表示情報及び第2の表示情報を受信し、第1の表示情報に基づいて及びヘッドマウントディスプレイの仮想現実ディスプレイを用いて、環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置の第1のコンテンツを表示し、第1の表示情報に基づいて及び仮想現実ディスプレイを用いて、環境内の前記ヘッドマウントディスプレイの第2の位置に近いことに少なくとも部分的に基づいて第2の位置にある第2のコンテンツを表示し、第2の表示情報に基づいて及び仮想現実ディスプレイを用いて、環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置に第3のコンテンツを表示する。
開示される主題のいくつかの実施形態によれば、プロセッサによって実行されるとプロセッサに対話型拡張現実表示を表示する方法を実行させるコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体が提供され、ヘッドマウントディスプレイの物理的環境における複数の物理的位置のうちの第1の物理的位置がヘッドマウントディスプレイに最も近い位置にあることを判断し、第1の3次元モデルを含む第1のコンテンツを受信し、第2の3次元モデルを含む第2のコンテンツを受信し、透明ディスプレイを使用して第1の3次元モデルの第1のビューを第1の時刻に表示し、透明ディスプレイを使用してサーバから受信した1つ又は複数の命令に基づいて第1の時刻に続く第2の時刻に第2の3次元モデルの第1のビューを表示する。
開示される主題のいくつかの実施形態によれば、プロセッサによって実行された時にプロセッサに対話型拡張現実感表示を表示する方法を実行させるコンピュータ実行可能命令を含む別の非一時的コンピュータ可読媒体が提供され、該方法が、第1のコンテンツ及び第2のコンテンツを含むサーバからコンテンツを受信し、ヘッドマウントディスプレイの物理的環境における第1の物理的位置に近いことに少なくとも部分的に基づいて前記第1のコンテンツをヘッドマウントディスプレイに表示し、複数のヘッドマウントディスプレイの第1のヘッドマウントディスプレイ及び第1の時刻に第1の物理的位置の近くに設置された複数のヘッドマウントディスプレイの第2のヘッドマウントディスプレイが第1の物理的位置に近いことに基づいて第1の物理的位置に対して同じ向きで第1の物理的位置に第1のコンテンツを同時に表示し、物理的環境における第2の物理的位置に近いことに基づいて第2のコンテンツを表示し、複数のヘッドマウントディスプレイのうちの第3のヘッドマウントディスプレイ及び第1の時刻に第2の物理的位置の近くに位置する複数のヘッドマウントディスプレイのうちの第4のヘッドマウントディスプレイが第2の物理的位置に近いことに基づいて第2の物理的位置に対して同じ向きで第2の物理的位置に第2のコンテンツを同時に表示する。
開示される主題のいくつかの実施形態によれば、プロセッサによって実行されるとプロセッサに対話型コンテンツを表示するための方法を実行させるコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体が提供され、該方法が、第1のコンテンツ、第2のコンテンツ、第3のコンテンツを含むコンテンツを受信し、第1の表示情報及び第2の表示情報を受信し、第1の表示情報に基づいて環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置の第1のコンテンツを表示し、第1の表示情報に基づいて環境内の前記ヘッドマウントディスプレイの第2の位置に近いことに少なくとも部分的に基づいて第2の位置にある第2のコンテンツを表示し、第2の表示情報に基づいて環境内のヘッドマウントディスプレイの位置の第1の位置に近いことに少なくとも部分的に基づいて第1の位置に第3のコンテンツを表示する。
開示される主題の様々な目的、特徴、及び利点は、添付の図面と関連して考慮すると、以下の詳細な説明を参照することによって開示される主題がより十分に理解され得、図面において類似の参照番号は類似の要素を示している。
開示される主題のいずれかの実施形態を詳細に説明する前に、開示される主題はその適用において以下の説明に記載されるか又は以下に示される構成の詳細及び構成要素の配置に限定されないことが理解されよう。開示される主題は他の実施形態が可能であり様々な方法で実施又は実行することが可能である。また、本明細書で使用されている表現及び用語は説明を目的としており限定と見なされるべきではないことを理解されたい。本明細書における「含む」、「備える」、又は「有する」及びそれらの変形の使用は、その後に列挙される項目及びその均等物、並びに追加の項目を包含することを意味する。他に特定又は限定されない限り、「搭載された」、「接続された」、「支持された」、及び「連結された」という用語及びその変形は広く使用され、直接及び間接の両方の搭載、接続、支持、及び連結までカバーする。さらに、「接続された」及び「連結された」は物理的又は機械的な接続又は連結に限定されない。
以下の説明は、当業者が開示される主題の実施形態を製作し使用することを可能にするために提示される。例示された実施形態に対する様々な修正は当業者には容易に明らかとなり、本明細書の一般的な原理は開示される主題の実施形態から逸脱することなく他の実施形態及び用途に適用できる。従って、開示されている主題の実施形態は、示されている実施形態に限定されることを意図するものではなく本明細書に開示されている原理及び特徴と一致する最も広い範囲を与えられるべきである。以下の詳細な説明は、図面を参照して読まれるべきであり異なる図面における同様の要素は同様の参照番号を有する。必ずしも縮尺通りではない図は、選択された実施形態を示し開示される主題の実施形態の範囲を限定することを意図しない。当業者は本明細書に提供された例が多くの有用な代替物を有しそして開示される主題の実施態様の範囲内に入ることを認識するであろう。
開示される主題のいくつかの実施形態によれば、対話型拡張現実感表示を表示するためのメカニズム(システム、方法及び/又は媒体を含むことができる)が提供される。いくつかの実施形態では、ユーザは、拡張現実デバイスを使用して表示されるべき対話型表示を生成することができる。例えば、インストラクタは、様々なホログラム(例えば、3Dモデル、チャート、2Dグラフィックスなど)の表示に使用されるコンテンツを作成及び/又は選択できて、インストラクタが生徒に伝えようとしている概念の理解を助ける。より具体的な例では、インストラクタは人体の解剖学的構造の様々な側面を示す様々なホログラムを作成することができる。
いくつかの実施形態では、ユーザは、異なる物理的位置、異なる仮想位置、及び/又は異なる時刻に表示するために対話型表示の異なる部分を選択することができる。例えば、インストラクタは、異なるコンセプト(又は様々な方法での同じコンセプト)を示す人体解剖学の異なる3Dモデルを順序付けられた表示に配置することができ、及び/又は人体解剖学の異なる3Dモデルを異なる物理的位置(例えば図2に関連して以下に説明されるような放送ステーション)及び/又は仮想位置(例えば、図10及び11に関連して以下に説明されるような仮想博物館内の表示スペース)に割り当てることができる。より具体的な例では、インストラクタは一連の3Dモデルに表示されているもの(例えばスライドショーと同様の方法)を話し合うことができ、一方、生徒はインストラクタの話を聞いたりインストラクタと対話したりしながらモデルの周りを自由に動き回ることができる。表示終了後、様々なモデルを様々な物理的及び/又は仮想的な場所に(例えば、表示を構築する時にインストラクタによって入力された指示に従って)表示することができ、学生は様々なモデル間を自由に移動してクラスで話し合ったコンセプトをさらに探求することができる。
いくつかの実施形態では、ユーザは、1つ又は複数のユーザ入力デバイスを使用して、ユーザが装着している拡張現実感デバイスを通して表示されているコンテンツ内の1つ又は複数の場所を強調表示することができる。その同じコンテンツを1人又は複数人の他のユーザに表示している他の拡張現実デバイスによって同じ場所が強調されることができる。例えば、インストラクタは、拡張現実デバイスを使用して3Dモデルを見ることができ、拡張現実デバイス及び/又は別個のデバイスを仮想の「レーザポインタ」として使用して、インストラクタが装着した拡張現実感デバイスで表示された3Dモデル内の1つ又は複数の特徴を強調表示することができる。そのような例では、対応するポインタは、同じ3Dモデル上の同じ場所でインストラクタの生徒が装着する他の拡張現実デバイスによって複製することができる。
いくつかの実施形態では、複数の拡張現実デバイスを共通の1つ又は複数のサーバとネットワーク接続して、拡張現実デバイスの時刻及び/又は場所に基づいて関連コンテンツを提供することができる。例えば、上述のように、インストラクタは様々な3Dモデルを様々な物理空間に割り当てることができる。そのような例では、サーバは特定の学生に最も近い空間のコンテンツのみを送信することができる。これは、個々の拡張現実感デバイスを凌駕することなく、インストラクタが大量のコンテンツを利用可能にすることができる。追加的又は代替的に、これにより、第1のユーザによって提供される入力(例えば、インストラクタによって使用される「レーザポインタ」を介して)を第2のユーザのデバイス(学生の拡張現実デバイスなど)によって投影されるホログラム上で見ることができるので、他の学生(又は他のユーザ)間の共同作業が可能になり得る。さらに、サーバからのコンテンツ及び/又は命令を同様に配置された拡張現実デバイスに提供することによって、様々な拡張現実デバイスがすべて同じコンテンツを表示していることが保証され、異なる拡張現実デバイスの装着者による共同作業が容易になり得る。
本明細書に記載されている機構は一般に教室環境での使用に関連して説明されているが、機構は様々な用途で使用するために構成することができる。例えば、本明細書で説明されるメカニズムは、対話型拡張現実博物館展示を提供し、マルチプレーヤ拡張現実ゲーム体験を提供し、大量のディテールのある3Dデザインを作成する時の共同作業スペースを提供するように構成できる。
図1は、開示される主題のいくつかの実施形態に従って使用することができるヘッドマウントディスプレイ(HMD)の例100を示す。図1に示すように、ヘッドマウントディスプレイ100は、HMD100の装着者の目にホログラフィックオブジェクトなどの画像を表示するのに使用することができるディスプレイプロセッサ104及び透明ディスプレイ102を含むことができる。いくつかの実施形態では、透明ディスプレイ102は、透明ディスプレイ102を通して物理的環境を見ている装着者に対して物理的環境の外観を視覚的に増強するように構成することができる。例えば、いくつかの実施形態では、物理的環境の外観は、拡張現実環境を作り出すために透明ディスプレイ102を介して表示されるグラフィカルコンテンツ(例えば、それぞれがそれぞれの色及び明るさを有する1つ又は複数のピクセル)によって増強され得る。追加又は代替として、いくつかの実施形態では、透明ディスプレイ102は、(例えば、物理環境がHMD100を通して見えないようにブロックするための1つ又は複数の技法を使用することによって)完全に不透明な仮想環境をレンダリングするように構成できる。いくつかのそのような実施形態では、HMD100を使用して仮想現実環境を表示することができる。
図1に示すように、いくつかの実施形態では、透明ディスプレイ102は、レンズ106内に配置された1つ又は複数の画像生成要素(例えばディスプレイピクセル)を含むことができる(例えばシースルー有機発光ダイオード(OLED)ディスプレイのピクセルなど)。追加的又は代替的に、いくつかの実施形態では、透明ディスプレイ102はレンズ106の端部に光変調器を含むことができる。
いくつかの実施形態では、HMD100は様々なセンサ及び/又は他の関連システムを含むことができる。例えば、HMD100は1つ又は複数の画像センサを含むことができる視線追跡システム108を含み得、該画像センサは装着者の目の視線方向を表す視線追跡データを生成することができる。いくつかの実施形態では、視線追跡システム108は、任意の適切な数及び配置の光源及び/又は画像センサを含むことができる。例えば、図1に示すように、HMD100の視線追跡システム108は、少なくとも1つの内向きセンサ109を利用することができる。いくつかの実施形態では、ユーザは、注視情報の取得及び使用を許可するように促されてユーザの目の位置及び/又は動きを追跡する。
いくつかの実施形態では、HMD100は、図1に示す動きセンサ112などの1つ又は複数の動きセンサを利用することができる頭部追跡システム110を含んで、例えば、装着者の頭部の方向及び/又は向きを決定することによって、装着者の頭部位置を追跡するのに使用することができる頭部姿勢データを取り込む。いくつかの実施形態では、頭部追跡システム110は、3軸又は3自由度位置センサシステムとして構成された慣性測定ユニットを含むことができる。
いくつかの実施形態では、頭部追跡システム110は、全地球測位システム(GPS)又は他の全地球ナビゲーションシステムなどの他の適切な測位技術もサポートすることができる。さらに、位置センサシステムの特定の例を説明したが、他の任意の適切な位置センサシステムを使用することができることが理解されよう。例えば、頭部姿勢及び/又は運動データは装着者に装着された及び/又は装着者の外部に装着されたセンサの任意の適切な組合せからのセンサ情報に基づいて決定され得、任意の数のジャイロスコープ、加速度計、慣性測定ユニット(IMU)、GPSデバイス、気圧計、磁力計、カメラ(例えば、可視光カメラ、赤外線カメラ、飛行時刻深度カメラ、構造化深度カメラなど)、通信デバイス(例えば、Wi−Fiアンテナ/インタフェース、ブルートゥース(登録商標)など)などがこれらに限定されないが含まれる。
いくつかの実施形態では、HMD100は、光学センサ114などの1つ又は複数の外向きセンサを利用することができる光学センサシステムを含んで周囲の画像データを取り込める。いくつかの実施形態では、HMD100を装着しているユーザによって、センサ114視野内の他の人によって、又は光学センサ114の視野内の物理的物体によって、ジェスチャベースの入力及び/又は他の適切な動きなど取り込まれた画像データが使用されて画像データに取り込まれた動きを検出する。さらに、いくつかの実施形態では、1つ又は複数の外向きセンサは、物理的環境及び/又は環境内の物理的対象物から2D画像情報及び/又は深度情報を取り込むことができる。例えば、外向きセンサは、深度カメラ、可視光カメラ、赤外線カメラ、位置追跡カメラ、及び/又は任意の他の適切な画像センサ若しくは画像センサの組合せを含み得る。
いくつかの実施形態では、構造化深度カメラは、構造化赤外線照明を投影し、照明が投影されるシーンから反射された照明の画像データを生成するように構成することができる。そのような実施形態では、シーンの深度マップは、撮像シーンの様々な領域内の特徴間の間隔に基づいて構築することができる。追加又は代替として、いくつかの実施形態では、パルス赤外線照明をシーンに投影し、シーンから反射された照明を検出するように構成された飛行時刻深度カメラ(time-of-flight depth camera)をHMD100に組み込むことができる。いくつかの実施形態では、照明は赤外線光源116によって提供され得る。
いくつかの実施形態では、HMD100は、音声データを取り込むことができるマイクロフォン118などの1つ又は複数のマイクロフォンを含むマイクロフォンシステムを含むことができる。他の例では、スピーカ120などの1つ又は複数のスピーカを介して音声を装着者に示すことができる。
いくつかの実施形態では、HMD100は、例えば、HMD100の様々なセンサ及びシステムと通信する(図4に関連して以下に説明されるような)プロセッサ及びメモリを含むことができるコントローラ122などのコントローラを含むことができる。いくつかの実施形態では、コントローラはプロセッサによって実行可能な命令をメモリに記憶でき、センサから信号入力を受信し、HMD100の姿勢を決定し、透明ディスプレイ102を使用して表示されたコンテンツの表示特性を調整する。
いくつかの実施形態において、HMD100は、その全体が参照により本明細書に組み込まれるMicrosoft Technology Licensing、LLC発行の米国特許第9,495,801号に記載されている特徴などの、他の適切な特徴又は特徴の組合せを有することができる。本明細書におけるHMD100の説明は、開示される主題に関連して使用することができるハードウェアを説明するためだけのものである。しかしながら、開示される主題は、Microsoft(登録商標)製のHoloLens(登録商標)、及び/又は各々がその全体が参照により本明細書に組み入れられる米国特許第8,847,988号、米国特許第8,941,559号、及び米国特許出願公開第2014/0160001号に記載されるデバイスなどの任意の拡張現実デバイスに使用され得る。
図2は、開示される主題のいくつかの実施形態によるネットワーク化HMDシステム100の一例200を示す。図2に示すように、システム200は、同じ物理的空間(例えば、同じ部屋)に配置された様々なHMD100−1〜100−5を含むことができる。システム200は、1つ又は複数の画像がHMD100によって表示されるべき物理空間内の点に対応することができる様々なステーション202−1〜202−3を含むことができる。例えば、各ステーション202は、1つ又は複数の画像に対する所定の空間的アンカーとしてHMD100によって使用され得る。より具体的な例では、ステーションが視野内にある限りHMDがそのステーションに対応する画像を表示するように指示されている場合、たとえHMDがステーションから比較的遠くに移動したとしても(例えば、ステーションから5メートル以上)、ステーション202はHMD(例えば、HMD100)によって表示される画像の空間アンカーを定義することができる。別の例として、各ステーション202は、HMD100が1つ又は複数の画像を配置することができる座標系を定義するのに使用することができる。より具体的な例では、ステーション202は、ユーザが特定のステーションに比較的近い場合にのみ及び/又はHMDが視野内の最も近いステーションに対応する1つ又は複数の画像のみを表示するように指示された時(例えば、システム200に関連して及び図6に関連して以下に説明されるなど)、HMD(例えばHMD100)がそのステーションに対応する画像を表示するように指示されるグローバル座標系の原点を定義することができる。いくつかの実施形態では、各ステーション202は受動的及び/又は能動的であり得る。例えば、1つ又は複数のステーション202は、(例えば、光学センサ114によって取り込まれた画像から)HMD100によって認識することができる特定の記号(例えば、文字、数字、アイコン、QRコード(登録商標)など)を有する一片の紙とすることができる。別の例として、1つ又は複数のステーション202は、(例えば、光学センサ114によって取り込まれた画像から)HMD100によって認識され得る特定のオブジェクト又はオブジェクトの一部(例えば、家具、アクションフィギュア、おもちゃなど)で有り得る。さらに別の例として、1つ又は複数のステーション202は、HMD100と通信することができるブルートゥース(登録商標)デバイス(例えば、ブルートゥース(登録商標)低エネルギービーコン)などのアクティブデバイスとすることができる。さらに別の例として、ステーション202は、HMD100と通信することができる能動的又は受動的RFIDデバイスとすることができる。いくつかの実施形態では、ステーション202の位置はHMD100−1〜100−5によって視覚的に強調表示されて、ユーザが様々なステーションに移動するのを助け得る。例えば、ユーザの視野内の1つ又は複数のステーション202は、ボールの画像、テキスト、そのステーションに関連して表示されるコンテンツの概要、及び/又は任意の他の適切な視覚補助によって表すことができる。
いくつかの実施形態では、システム200は、各ステーションに関連して表示されることになるコンテンツを制御することができるサーバ204を含むことができる。いくつかの実施形態において、サーバ204は、サーバコンピュータ、HMD、タブレットコンピュータ、スマートフォン、パーソナルコンピュータ、ラップトップコンピュータなどの任意の適切な演算デバイスを使用して実行することができる。いくつかの実施形態では、各HMD100は通信リンク208を介して通信ネットワーク206に接続し得、サーバ204は通信リンク212を介して通信ネットワーク206に接続し得る。いくつかのそのような実施形態(例えば、ステーション202がアクティブデバイスである実施形態)では、ステーション202は通信リンク210を介して通信ネットワーク206に接続することができる。いくつかの実施形態では、ユーザ演算デバイス220は、通信リンク222を介して通信ネットワーク206に接続することができる。通信ネットワーク206は、任意の適切な通信ネットワーク又は通信ネットワークの組合せとすることができる。例えば、通信ネットワーク206は、Wi−Fiネットワーク(1つ又は複数の無線ルータ、1つ又は複数のスイッチなどを含み得る)、ピアツーピアネットワーク(例えば、ブルートゥース(登録商標)ネットワーク、ジグビーメッシュネットワークなど)、セルラーネットワーク(例えば、CDMA、GSM(登録商標)、LTE、LTE Advanced、WiMAXなどの任意の適切な規格に準拠する3Gネットワーク、4Gネットワークなど)、有線ネットワークなどで有り得る。通信リンク208、210、及び212はそれぞれ、Wi−Fiリンク、ブルートゥース(登録商標)リンク、セルラーリンクなどの任意の適切な通信リンク又は通信リンクの組合せとすることができる。
いくつかの実施形態では、ユーザはユーザ演算デバイス220を介してサーバ204と対話して、各ステーション202に関連して表示されるべきコンテンツを選択することができる。例えば、ユーザは、特定の他の解剖学的特徴がない場合(例えば、筋肉がない場合には)、ステーション202−2に近いHMDにヒト血管系の対話型3Dモデルを示す画像を表示させるようにサーバ204に指示することができる。一方、ユーザは、サーバ204に指示して、血管系が特定の主要筋肉群にどのように統合されるかを示す対話型3Dモデルを示す画像をステーション202−3に近いHMDに示させる。これらは単に例として与えられたものであり、ユーザは各ステーションに関連して表示されるべき任意の適切なコンテンツを選択することができることに留意されたい。いくつかの実施形態では、ユーザはステーションごとに異なるコンテンツを表示するようにサーバ204に指示することができ、サーバ204がHMD100にステーション202ごとに異なるコンテンツを表示する。いくつかのそのような実施形態では、HMD100の装着者は、ステーション間を移動して、各ステーションで異なるコンテンツを観察することができ、これは、異なる概念を実証するためにユーザが選択したものであり得る。それに加えて又はその代わりに、いくつかの実施形態では、ユーザは、各放送ステーションで同じコンテンツを表示するようにサーバ204に指示することができる。例えば、そのような実施形態では、各HMD100がどのステーションの近くに位置しているかにかかわらず、インストラクタがシステム200内のすべてのHMD100によって表示されている特定のコンテンツについて議論するので、クラスの生徒はすべて従うことができる。いくつかの実施形態では、ユーザは、1つ又は複数の基準点に対する1つ又は複数のステーション202の位置(例えば、部屋内の位置、特定のデバイスに関する基準点など)を指定することができる。
いくつかの実施形態では、ユーザは、ユーザ演算デバイス220及び/又はサーバ204を介して1つ又は複数のステーション202に関連して表示されるべき表示を生成することができる。そのような表示に、例えば、どのコンテンツが各ステーションで表示されるべきであるか、そのコンテンツがステーションで表示されるべきである時刻(例えば、表示中の時間の長さ、期間など)、各ステーションで(及び/又はすべてのステーションに亘って)コンテンツが表示される順序、どのHMD100にどのコンテンツが表示されるべきか、及び/又はHMD100に関連するどのユーザ、及び/又は任意の他の適切な情報が含まれ得る。いくつかの実施形態では、表示されるべきコンテンツを参照する文書として表示される時に、表示されるべき順序で、表示されるべき時刻に、各放送ステーションに関連してどのコンテンツを表示するなどの表示が、サーバ204によって各HMD100に伝達され得る。例えば、サーバ204は、HMD100が既にHMD100にロードされているコンテンツから表示を生成するために使用することができるXMLファイルを送信することができる。
いくつかの実施形態では、ユーザは、ユーザ演算デバイス220からHMD100によって表示されるべきコンテンツ及び/又はコンテンツの識別情報をサーバ204にアップロードすることができる。例えば、ユーザは、(例えばHMD100によって)使用されて1つ又は複数の解剖学的特徴の3D表現を生成することができる解剖学的モデルをユーザ演算デバイス220からサーバ204にアップロードすることができる。別の例として、ユーザは、1つ又は複数の解剖学的モデルにアクセスすることができる位置情報(例えば、URL)を提供することができる。いくつかの実施形態では、HMD100は任意の適切な時にコンテンツをダウンロード及び/又は保存することができる。例えば、管理者は拡張現実コンテンツの表示中及び/又はそのようなコンテンツの他の表示中に使用されるコンテンツを各HMD100にダウンロード、サイドロード及び/又は他の方法で転送することができる。より特定の例では、HMD100が機関によって所有されている場合、その機関に関連付けられているユーザは、HMD100のそれぞれにコンテンツを事前にロードすることができる。別の例として、いくつかの実施形態では、HMD100のユーザはコンテンツを表示するために使用することができるアプリケーションをダウンロードすることができる。そのような例では、コンテンツをアップロードするユーザは、コンテンツをアプリケーションと関連付けることができ、コンテンツは、アプリケーションがHMDにインストールされた後にアプリケーションと共に及び/又はアプリケーションによってダウンロードすることができる。さらに別の例として、いくつかの実施形態では、HMD100のユーザはダウンロードするコンテンツを選択することができ、及び/又はユーザについて知られている情報に基づいてコンテンツを自動的にダウンロードすることができる。より特定の例では、ユーザは、コンテンツに関連するイベント(例えば、クラス)に参加するためのユーザの登録に基づいてコンテンツをダウンロードすることを許可され得る。別のより具体的な例では、コンテンツはその間にコンテンツが表示されるイベントとのユーザの関連付け(例えばクラス)に基づいて自動的にダウンロードされる。さらに別の例として、コンテンツがHMD100によって必要とされる時に、コンテンツをオンデマンド方式でストリーミング及び/又はダウンロードすることができる。いくつかの実施形態では、ユーザは、コンテンツに対して支払いをすること、及び/又はコンテンツに対する予約購読に申し込むことを促されることができる。
いくつかの実施形態では、ユーザ演算デバイス220は、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルコンピュータ、ヘッドマウントディスプレイ(例えば、HMD100)などの任意の適切な演算デバイス又はデバイスの組合せとすることができる。いくつかの実施形態では、ユーザは、任意の適切な技法又は技法の組合せを使用してユーザ演算デバイス220及び/又はサーバ204を使用することで、コンテンツを選択し、表示を生成し、コンテンツをアップロードすることなどができる。例えば、ユーザ演算デバイス220は、任意の適切な数のステーション及び/又は任意の適切な数のHMDについてコンテンツの表示を生成及び/又は編集するように構成されている表示アプリケーションをメモリから実行することができる。別の例として、ユーザ演算デバイス220は、演算デバイス220又はリモートで実行された表示アプリケーションとの対話を容易にする他のアプリケーションによって実行されるウェブブラウザを介して、ネットワーク206を通じて他の演算デバイス(例えば、サーバ204、クラウドサーバなど)によって実行される表示アプリケーションと対話することができる。
いくつかの実施形態では、各HMD100は、(例えば通信ネットワーク206を介して)サーバ204と対話できるアプリケーションを実行して、各ステーションに関連するコンテンツを表示することができる。特定のHMD100がステーションから所定の距離内に入った時(例えば、HMD100−2がステーション202−2に近づいた時)、サーバ204はステーション202−2に関連するコンテンツを提供することができる。HMD100をサーバ204とネットワーク接続することによって、HMD100は、HMD100がメモリから表示することができるであろうよりも多くのコンテンツを容易に表示することができる。さらに、HMD100をサーバ204とネットワーク接続することによって、プレゼンタ(例えば、HMD100−1のユーザ)が、対話型表示中に他の様々なHMD100によって表示されているコンテンツを容易に制御できる。
いくつかの実施形態では、システム200は、任意の適切な技術又は技術の組合せを使用して、どのコンテンツが特定のHMD100によって表示されるべきかを決定することができる。例えば、HMD100は、どのステーションに最も近いかを判断し、そのステーションに関連するコンテンツをサーバ204に要求することができ、及び/又はそのステーションに関連するコンテンツをメモリから表示することができる。そのような例では、HMD100は、任意の適切な技法、例えば外向きカメラ(例えば、光センサ114)によって取り込まれた画像データを分析すること、様々なステーション202から受信された信号(例えば、ブルートゥース(登録商標)信号)の強度を分析すること、GPS受信機などを使用して決定されたHMD100のGPS座標を分析することなどを用いて、どのステーション202(又は複数のステーション)が最も近いかを判断することができる。別の例として、HMD100は情報(例えば、1つ又は複数の画像、様々な信号の信号強度、GPS座標など)をサーバ204に提供することができ、サーバ204は、どのステーション(1つ又は複数)がHMD100に最も近いかを判断できる。さらに別の例として、サーバ204は、任意の適当なデータ(例えば、様々なHMDからステーションによって受信されたブルートゥース(登録商標)信号の信号強度)に基づいて、どのHMDがそのステーションに最も近いかを示す情報をステーション202から受信することができる(例えば、そのステーションに他の近隣ステーションより近いHMDのリストとして、そのステーションから様々なHMDまでの距離として)。そのような例では、各ステーションは、各HMDが単一のステーションによってのみ示されてリストされるように他の近隣のステーションと調整することができる。どのHMDかを決定することができる。
いくつかの実施形態では、HMD100は、異なるコンテンツを任意の適切な時に表示すべきかを決定できる。例えば、HMD100−2は、HMD100−2がステーション202−2の近傍を離れてステーション202−3に接近したと判断することができ、その判断に基づいてHMD100−2がステーション202−3に接近したとの判断に応答してステーション202−3のコンテンツを表示し及び/又は要求することができる。追加又は代替として、いくつかの実施形態では、サーバ204は、任意の適切な時に命令及び/又はコンテンツをHMD100−2にプッシュすることができる。例えば、サーバ204は、HMD100−2がステーション202−2の近傍を離れてステーション202−3に近づいたと判断することができ、HMD100−2がステーション202−3に接近したとの判断に応答してステーション202に関連するコンテンツを表示するようにHMDに命令をプッシュすることができる(及び/又はコンテンツ自体をプッシュすることができる)。別の例として、サーバ204は、任意の適切な1つ又は複数のステーション202によって表示されているコンテンツを変更する命令を(例えばプレゼンタから)受信することができる。そのような指示に応答して、サーバ204は、新しいコンテンツを表示する指示(及び/又は新しいコンテンツ自体)を適切なHMD100にプッシュすることができる。さらに別の例として、サーバ204は、特定の時刻に特定のコンテンツを受信するように特定のHMD100を割り当てる命令を受信することができる。そのような例では、特定のHMD100の装着者は、コンテンツがサーバ204からステーションに関連付けられているという指示を受信した後に(及び/又はコンテンツ自体を受信した後に)HMD100がコンテンツを表示している割り当てステーションに移動するように促される。
いくつかの実施形態では、プレゼンタは、1つ又は複数のステーション202を使用して他のステーションの近くのHMDによって表示されているものを制御できる。例えば、いくつかの実施形態では、HMD100−1の装着者は、任意の適切なユーザインタフェースデバイスを使用して、ステーション202−1に表示されるコンテンツと対話し、ステーション202−2及びステーション202−3(及び/又は任意の他の適切なステーション)のうちの1つ又は複数に表示されるコンテンツを制御することができる。そのような例では、HMD100−1の装着者は、音声認識システムへの音声入力、ジェスチャ認識システムへの入力としてのジェスチャ(例えば、HMD100−1に統合される)、他の演算デバイスの入力デバイス(例えば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータなどの演算デバイスのタッチスクリーン、ラップトップコンピュータ、パーソナルコンピュータなどの演算デバイスのマウス及び/又はキーボード)、専用入力デバイス(例えば、図3Aに関連して以下で説明されるように)などの任意の適切な入力デバイス又はデバイスの組合せを使用することができる。いくつかの実施形態では、サーバ204は、コンテンツ及び/又は表示される追加のコンテンツの表示方法に関する1つ又は複数のHMD100への命令などコンテンツの表示中に、追加の情報をHMD100に伝達することができる。例えば、図3A及び図3Bを参照して以下に説明されるように、第1のHMD100−1のユーザは、入力デバイスを使用して(例えば、スペースを通る線、コンテンツ上の点、ユーザの手などを介して)HMD100−1によって表示されているコンテンツの特定の部分を指すことができ、サーバ204は、同じコンテンツを表示する1つ又は複数の他のHMD100に命令を送信でき、ここでコンテンツはこれらのHMDのそれぞれにHMD100−1のユーザが特定の部分を指していることを示す補足コンテンツを表示し得る。いくつかの実施形態において、そのような追加の情報が使用できて、HMD100によるコンテンツの表示が制御される。例えば、HMD100−1のユーザは、HMD100−1(及び/又は任意の他の適切なデバイス)への入力を介して表示を制御することができ、1つ又は複数の他のHMD100は、サーバ204から命令及び/又はコンテンツを受信することができ、それによって1つ又は複数の他のHMD100は、HMD100−1のユーザからの入力に従ってどのコンテンツが表示されているかを変更する。いくつかの実施形態では、HMD100は表示の記録にアクセスすることができ(例えば、コンテンツが表示される変更を含む)、表示中にサーバ204によって送信された命令を(例えばファイルとして)記録に含み得(これは、例えば、どのコンテンツを表示すべきかを示す文書を含むことができる)、及び/又はHMD100によって表示される時に命令をストリーミングすることができる。例えば、HMD100は、表示の第1の部分に従って特定の3Dモデルを表示することができ、表示中、3Dモデルの表示中にサーバ204によって送信された命令に基づいて3Dモデルに関連してポインタを表示することができる。そのような例では、表示中に記録された音声も(例えばスピーカ120を介して)ユーザに表示することができる。これにより、表示が与えられた時に居たユーザが経験したように、ユーザが表示を経験するのが容易になる。
いくつかの実施形態では、HMD100による視覚的コンテンツに関連して表示することができるオーディオ情報も各ステーションに関連付けることができる。追加的又は代替的に、いくつかの実施形態では、音声は各ステーションで(例えば、ステーション202の一部であるハードウェア及び/又は1つ又は複数のHMD100のマイクロフォン118によって)記録することができる。いくつかの実施形態では、後のアクセスのために(例えば、学習補助として)特定のHMD100の装着者の要求に応じて音声を記録することができる。
HMD100−1〜100−5は、互いに局所的(例えば、同じ部屋)にあるものとして上記で説明されているが、システム200内のHMDは、互いに局所的に及び/又は互いに離れて配置され得る。例えば、システム200を使用して、1つ又は複数の遠隔地に配置された1つ又は複数のHMD100の装着者と協働及び/又は対話することができる。いくつかの実施形態では、間に視線が交わらない場合、2つのHMD100は互いに離れていてもよい。例えば、2つのHMD100は、それらが同じローカルエリアネットワーク(LAN)に接続されているか異なるネットワークに接続されているかにかかわらず、それらが異なる部屋に配置されている場合、互いに離れていると見なすことができる。別の例として、異なるLANに接続されている2つのHMD100は互いに遠隔と見なすことができる。さらに別の例として、異なるサブネットに接続されている2つのHMD100は互いに遠隔と見なすことができる。いくつかの実施形態では、例えば、図3Bに関連して以下に記載されるように、互いに離れている2つのHMD100を使用して、2つのHMD100のうちの少なくとも1つによって表示されているホログラムに関連して遠隔ユーザをアバターで表すことによって協働することができる。
いくつかの実施形態では、サーバ204は、HMD100から局所に又は離れて配置することができる。さらに、いくつかの実施形態では、複数のサーバ204が使用できて(異なる物理的位置に配置され得る)、異なるコンテンツを提供し、冗長機能を提供するなどできる。いくつかの実施形態では、システム200内のHMDのうちの1つは本明細書に記載のサーバ204の1つ又は複数の動作を実行でき、表示の間、いつ移動するかを他のHMDに指示して更新された情報を配布するなどする。例えば、システム200内のローカルHMD100を相互接続してメッシュネットワークを形成することができ、サーバ204として機能するHMD(例えばHMD100−1)は、更新された情報を提供することによって他のHMDの動作を制御することができる。さらに、いくつかの実施形態では、サーバ204として機能するHMDは、メッシュネットワーク内のノードとすることができ、他のネットワーク(例えば、LAN、セルラーなど)を介して通信してリモートに関する情報(例えば、図3Bに関連して以下に説明されるように)などの他の情報を受信することができる。実施形態によっては、サーバ204として機能するHMDは、遠隔ユーザのアバターがホログラム、アバターの配置情報などに関連してどのHMD又は複数のHMDに表示されることを示す情報を配布するかを決定することができる。
いくつかの実施形態では、任意の適切なHMD(例えば、HMD100−1)のユーザは、HMDに入力することによって、(例えば、スライドショーと同様の方法で)コンテンツの表示を制御することができる。例えば、ユーザは、ユーザ入力(例えば、ボタン、タッチセンサなど)をタップして、拡張現実感表示を進行させ、及び/又は画像センサ(例えば、光学センサ114など)による取込みを実行することができる。別の例として、ユーザは、ユーザ入力をタップアンドホールド(例えば、ボタンを押したまま、タッチセンサを押し続けたりなど)して拡張現実感表示を逆方向に進めたり及び/又は異なるジェスチャを実行することができる。いくつかの実施形態では、HMD100−1は、拡張現実表示を前進(又は後退)する命令を生成し、その命令を(別のHMDであり得る)サーバ204に送信することができ、それによってHMD100−1で受信されたユーザ入力に基づいて他のHMDに新しいコンテンツを表示させることができる。追加又は代替として、いくつかの実施形態では、HMD100−1がサーバ204として動作している場合、HMD100−1は、入力の受信に応答してHMD100−1で受信されたユーザ入力に従って他のHMDに新しいコンテンツを表示させることができる。システム200は、拡張現実デバイス上の物理的環境で拡張現実表示を表示することに関連して概して説明されるが、システムは、任意のタイプの複合現実(例えば、拡張仮想現実表示)又は完全仮想現実を表示するように構成され得る。例えば、物理環境内の位置に対応するステーション202ではなく、ステーションは仮想環境内の点に対応することができる。追加又は代替として、いくつかの実施形態では、システム200内の1つ又は複数のHMDを拡張現実デバイスとし、他のHMDを仮想現実デバイスとすることができる。例えば、遠隔地にいるユーザは仮想現実デバイスを使用して特定のステーションでグループに参加することができる。そのような例では、仮想現実デバイスは、3Dモデル、他のユーザ(例えば、ステーションに物理的に近く位置する拡張現実デバイスのユーザ、及び/又は仮想現実デバイスの他のユーザ)に対応するアバターを、3Dモデルのユーザの現在のビューを表す3Dモデルと相対する位置に表示するなどできる。いくつかの実施形態では、仮想現実デバイスのユーザは、ユーザ入力デバイス(例えば、ゲームコントローラ、タッチパッドなど)によって受信された入力、ユーザの物理的動きを示す出力、又は任意の他の好適な情報などの任意の技法を使用して変化させて表示される3Dモデルのビューをもたらすことができる。追加的又は代替的に、いくつかの実施形態では、仮想現実デバイスのユーザは、同じ3Dモデルを見ている拡張現実デバイスの視点を採用することができる。いくつかの実施形態では、特定のステーションの周りのグループに加わるために使用される仮想現実デバイスは、ステーションで及び/又はステーションの近くで取り込まれたビデオ(例えばステーションの周りの環境の360度ビデオを取り込むカメラによって)の1つ又は複数の部分を表示して複合現実感表示を生成したり、そのステーションの物理的環境と類似していてもしなくてもよい仮想環境(例えば、他のステーションを含むことができる仮想部屋)で3Dモデルを表示したりしてもよいし、3Dモデル及び他のユーザに関する情報を表示してもよい(例えば、3Dモデルを空白の環境で表示する(例えば、単一の背景色を使用する))。
図3Aは、開示される主題のいくつかの実施形態による、表示画像と対話するためのシステムの例300を示す。図3Aに示すように、ユーザ入力デバイス302は、通信リンク304を介してHMD100−1と通信することができる。いくつかの実施形態では、通信リンク304はユーザ入力デバイス302とHMD100−1との間の通信を容易にすることができる任意の適切な通信リンクとすることができる。例えば、通信リンク304は、有線リンク(例えば、USBリンク、イーサネット(登録商標)リンク、独自の有線通信リンクなど)及び/又は無線リンク(例えば、ブルートゥース(登録商標)リンク、Wi−Fiリンクなど)とすることができる。いくつかの実施形態では、ユーザ入力デバイス302は、1つ又は複数の他のデバイス及び/又は対象物(例えば、HMD100−1、ステーション202、HMD100−1の装着者の特定の身体部分など)に対するユーザ入力デバイス302の位置及び/又は位置の相対的な変化(例えば、ユーザ入力デバイス302が特定の方向に加速されていること、ユーザ入力デバイス302が左方向に回転されていることなどを示すセンサ出力に基づく)を決定するため任意の適切なセンサを含み得る。例えば、いくつかの実施形態では、ユーザ入力デバイス302は、1つ又は複数の以上の加速度計、1つ又は複数のジャイロスコープ、1つ又は複数の電子コンパス、1つ又は複数の画像センサ、慣性測定ユニットなどを含むことができる。
いくつかの実施形態では、ユーザ入力デバイス302は、HMD100−1の装着者によるポインティングデバイスとして使用してHMD100によって表示されているコンテンツの特定の部分(例えば、ホログラム306−1の部分)を強調することができ、ホログラム306−1の特定の部分を選択でき、特定の方法で(例えば、「クリックしてドラッグ」タイプの動作で)ホログラム306−1の特定の部分を移動させることができる。例えば、ホログラム306−1の特定の領域を強調表示するユーザインタフェース要素308は、ホログラム306−1に関してユーザ入力デバイス302が指し示す方向に基づく位置においてホログラム306−1に関連して表示され得る。図3Aを参照すると、ホログラム306−1に表示されているのと同じコンテンツを含む第2のホログラム306−2を表示している第2のHMD100−2も、ユーザインタフェース要素308(例えば、サーバ204から受信しHMD100−1、HMD100−2、及び/又は別のHMDなどのHMDによって実装され得る命令に基づいて)を表示できる。
いくつかの実施形態では、HMD100−1及び/又はサーバ204は、ユーザ入力デバイス302の動き及び/又は位置データを示すデータをユーザ入力デバイス302から受信することができる。ユーザ入力デバイス302からのデータに基づいて、HMD100−1及び/又はサーバ204は、ホログラム306−1の一部として(及びホログラム306−2と同じ内容を表示する別のHMD100によって表示されている及び他の任意のホログラムの一部として)表示されるべきユーザインタフェース要素308の位置及び/又は方向を決定することができる。
いくつかの実施形態では、ユーザ入力デバイス302は、ホログラム306−1に対して指している方向(図2に関連して上述したように、ステーション202−1又は他の適切なものに固定することができる)を決定することができるHMD100−1の不可欠な一部であり得る。HMD100−1が指している方向に関する情報は装着者の目が見ている方向を推測するために使用され得る(場合によっては、これは例えば注視情報に基づいて増強され得る)。いくつかの実施形態では、HMD100の装着者が見ている推定位置は、ホログラム306−1に対してユーザインタフェース要素308を位置決めするための入力として使用することができる(例えば、HMD100−1の装着車がどこを見ているかを線、点、複数の点などで示す)。
いくつかの実施形態では、ユーザ入力デバイス302は、位置情報をHMD100−1及び/又はサーバ204に伝達することができる別個のデバイスとすることができ、そしてHMD100−1の装着者がどこにいるかを示すためにユーザインタフェース要素308を生成するのに使用できる。任意の適切な技術又は技術の組合せを使用して、ユーザ入力デバイス302の位置情報に基づいてユーザインタフェース要素を生成することができる。例えば、いくつかの実施形態では、HMD100−1及び/又はサーバ204は、装着者の身体の一部(例えば、ユーザの身体の中心、例えば、HMD100−1の位置に基づいて推測され得る)に対するユーザ入力デバイス302の位置を決定することができ、装着者の身体のその部分及びユーザ入力デバイス302と交差する線を引くことができる。別の例として、いくつかの実施形態では、HMD100−1及び/又はサーバ204は、ホログラム306−1に対するユーザ入力デバイス302の位置及び/又は向きを決定し、場所と向きに基づいてユーザ入力デバイス302から線を引くことができる。そのような例では、ユーザ入力デバイス302の位置は、前の例よりも正確に較正される必要があるかもしれず、ホログラムの局所座標で計算されるかもしれない。従って、そのような例では、ユーザインタフェース要素308が表示される位置の精度は、較正の精度、ホログラム306−1のアンカーポイント(又は他の位置参照)からの距離(アンカーポイントから遠い距離としてより正確でないと判断される可能性がある)に基づいて変わり得る。
さらに別の例として、いくつかの実施形態では、HMD100−1及び/又はサーバ204は、ユーザ入力デバイス302から第1の入力を受け取ることができ、これは、HMD100−1の装着者がホログラム306上でユーザインタフェース要素308の生成を開始していることを知らせることができる。第1のユーザ入力(例えば、第1のボタン押下)を受信すると、HMD100−1及び/又はサーバ204は、ホログラム306−1に対する装着者の現在の位置に基づいて、デフォルト位置にユーザインタフェース要素308を生成することができる(例えば、ユーザの体からホログラム306−1の中心に向かって直線的に延びる)。最初のボタンを押した後、HMD100及び/又はサーバ204は、ユーザインタフェース要素の方向(例えば、ホログラム306−1と交差する点及び/又は線がホログラム306−1と交差する方向)をユーザ入力デバイス302から受信した出力に基づいて変更することができる。このような例では、最初のボタンを押した後、装着者は、ユーザインタフェースデバイス302を並進させてラインがホログラム306−1と交差する点を上下に移動させるか及び/又は左右に移動させ得るし、ユーザインタフェースデバイス302を回動させてラインがホログラム306−1と交差する方向を変え得る。第2のユーザ入力を受信すると、HMD100−1及び/又はサーバ204は、ホログラム306−1に対するユーザインタフェース要素308の位置及び/又は向きを固定することができる。ホログラム306−1に表示されるべき線に関するそのような制御方式は、2Dグラフィカルユーザインタフェースにおいてポインタ(例えば、カーソル)を制御するためのマウスの操作にいくらか類似することがある。
いくつかの実施形態において、HMD100は、HMD100のユーザに試験を管理するのに使用され得る。例えば、サーバ204のユーザは、2つのHMDが同じ位置に同じ向きで同じコンテンツを表示しないように、コンテンツをHMD100に表示させる表示を作成することができる。即ち、そのような例では、協働を容易にするのではなく、各ユーザに個別のコンテンツが表示されるようにコンテンツを配信することができる。いくつかの実施形態において、管理ユーザ(例えば、試験のインストラクタ又は試験監督者)は、試験コンテンツを表示する任意のHMD100と同じコンテンツを表示されることを許可され得る。いくつかの実施形態では、ユーザ(例えば学生)は、試験問題に対する回答を提供するのに、ユーザ入力デバイス302などのポインティングデバイスを使用してホログラム内の特定の場所を指すことができる。さらに、いくつかの実施形態では、HMD100及び/又はサーバ204は、ユーザがポインティングデバイスで強調表示しているホログラム内の位置を判定して、ユーザが試験問題に正しく答えたかどうかを自動的に判定することができる。例えば、解剖学的ホログラム上の特定の筋肉を見つけるようにユーザに促すことができ、ユーザ入力デバイス302を用いてユーザが指している位置が筋肉に対応するかどうかをサーバ204が判断することができる。
図3Bは、開示される主題のいくつかの実施形態による、表示された画像と対話するための別のシステムの例310を示す。図3Bを参照すると、第1の場所で第1のユーザ312によって装着された第1のHMD100−1は、ホログラム306−1を表示することができる。いくつかの実施形態では、HMD100−1は、ホログラム306−1に対するユーザ312の手314の位置を追跡することができる。いくつかの実施形態では、HMD100−1は任意の適切な技法又は技法の組合せを使用してユーザの手の位置及び/又は向きを追跡することができる。例えば、HMD100−1は、1つ又は複数の画像センサ(例えば、光学センサ114)によって生成された画像及び/又はシーン内の深度情報などの任意の他の適切なデータを使用して視覚的にユーザの手の位置を追跡することができる。別の例として、HMD100−1は、1つ又は複数のセンサを使用してユーザの手によって保持されている(又はそうでなければ取り付けられている)デバイスの位置を感知することによってユーザの手の位置を追跡することができる。
いくつかの実施形態では、HMD100−1は、ホログラム306−1に対するHMD100−1の位置及びユーザの手を示す情報をサーバ204に送信することができる。図3Bを参照すると、サーバ204は、ホログラム306−1と同じ内容を含むホログラム306−2を表示する第2のHMD100−2に情報を送信することができ、情報は、HMD100−1のユーザ312を表すアバター316を表示する位置を示すことができる。HMD100−2は、そのような情報を使用して、アバター316及びホログラム306−2を有する手要素318を第2のユーザ320に表示することができる。いくつかの実施形態において、HMD100−1は、ホログラム306−1(図示せず)に関連してユーザ320のアバターを表示させることができる。
図4は、開示される主題のいくつかの実施形態による、HMD100、サーバ204、及びユーザ入力デバイス302のうちの少なくとも1つを実装するために使用され得るハードウェアの例400を示す。図4を参照すると、いくつかの実施形態では、HMD100は、プロセッサ402、ディスプレイ404、1つ又は複数の入力406、1つ又は複数の通信システム408、及び/又はメモリ410を含むことができる。いくつかの実施形態では、プロセッサ402は、中央処理デバイス(CPU)、グラフィック処理デバイス(GPU)など、任意の適切なハードウェアプロセッサ又はプロセッサの組合せとすることができる。いくつかの実施形態では、ディスプレイ404は、図1に関連して上述したような透明ディスプレイなどの任意の適切なディスプレイデバイスを含むことができる。いくつかの実施形態では、入力406は、注視追跡システム108、頭部追跡システム110、動きセンサ112、光学センサ114、マイクロホン118など、ユーザ入力を受け取るために使用することができる任意の適切な入力デバイス及び/又はセンサを含むことができる。
いくつかの実施形態では、通信システム408は、通信ネットワーク206及び/又は他の任意の適切な通信ネットワークを介して情報を通信するための任意の適切なハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。例えば、通信システム408は、1つ又は複数のトランシーバ、1つ又は複数の通信チップ及び/又はチップセットなどを含み得る。より特定の例では、通信システム408は、Wi−Fi接続、ブルートゥース(登録商標)接続、セルラ接続などを確立するのに使用することができるハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。
いくつかの実施形態では、メモリ410は、プロセッサ402によって使用され得る命令、値などを格納するために使用され得る任意の適切な記憶デバイスを含んで、例えばディスプレイ404を使用してコンテンツを表示し、通信システム408などを介してサーバ204と通信する。メモリ410は、任意の適切な揮発性メモリ、不揮発性メモリ、記憶デバイス、任意の他の適切な種類の記憶媒体、又は任意の適切なそれらの組合せを含むことができる。例えば、メモリ410は、RAM、ROM、EEPROM、1つ又は複数のフラッシュドライブ、1つ又は複数のハードディスク、1つ又は複数のソリッドステートドライブ、1つ又は複数の光学ドライブなどを含み得る。いくつかの実施形態では、メモリ410は、その上にHMD100の動作を制御するためのコンピュータプログラムをエンコードすることができる。いくつかのそのような実施形態では、プロセッサ402は、コンピュータプログラムの少なくとも一部を実行して、コンテンツ(例えば、1つ又は複数のホログラム)を表示し、サーバ204からコンテンツを受信し、サーバ204に情報を送信することなどができる。いくつかの実施形態において、HMD100は、Unity Technologiesから入手可能なUnity 3Dなど、サーバ204から受信したコンテンツをレンダリングするための任意の適切なハードウェア及び/又はソフトウェアを使用することができる。さらに、いくつかの実施形態では、Unity Technologiesから入手可能なネットワーキングソフトウェアなど、HMD100とサーバ204との間で制御データ、画像データ、音声などを通信するのに任意の適切な通信プロトコルを使用することができる。
いくつかの実施形態において、サーバ204は、プロセッサ412、ディスプレイ414、1つ又は複数の入力416、1つ又は複数の通信システム418、及び/又はメモリ420を含み得る。いくつかの実施形態では、プロセッサ412は、中央処理デバイス、グラフィック処理デバイスなどの任意の適切なハードウェアプロセッサ又はプロセッサの組合せとすることができる。いくつかの実施形態では、ディスプレイ414は、コンピュータモニタ、タッチスクリーン、テレビなどのような任意の適切なディスプレイデバイスを含むことができる。いくつかの実施形態では、入力416は、キーボード、マウス、タッチスクリーン、マイクロフォンなどのようなユーザ入力を受け取るために使用することができる任意の適切な入力デバイス及び/又はセンサを含むことができる。
いくつかの実施形態では、通信システム418は、任意の適切なハードウェア、ファームウェア、及び/又はソフトウェアを含んで通信ネットワーク206及び/又は他の任意の適切な通信ネットワークを介して情報を通信することができる。例えば、通信システム418は、1つ又は複数のトランシーバ、通信チップ及び/又はチップセットなどを含むことができる。より特定の例では、通信システム418は、Wi−Fi接続、ブルートゥース(登録商標)接続、セルラ接続などを確立するために使用することができるハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。
いくつかの実施形態では、メモリ420は命令、値などを格納するのに使用できる任意の適切な記憶デバイスを含んで、例えばプロセッサ412がディスプレイ414を使用してコンテンツを表示し、1つまたは複数のHMD100などと通信するのに使用できる。メモリ420は、任意の適切な揮発性メモリ、不揮発性メモリ、記憶デバイス、任意の他の適切な種類の記憶媒体、又は任意の適切なそれらの組合せを含むことができる。例えば、メモリ420は、RAM、ROM、EEPROM、1つ又は複数のフラッシュドライブ、1つ又は複数のハードディスク、1つ又は複数のソリッドステートドライブ、1つ又は複数の光学ドライブなどを含み得る。いくつかの実施形態では、メモリ420は、その上にサーバ204の動作を制御するためのサーバプログラムをエンコードすることができる。そのような実施形態では、プロセッサ412は、コンピュータプログラムの少なくとも一部を実行して、コンテンツ(例えば、1つ又は複数のホログラム)を1つ又は複数のHMD100に送信し、1つ又は複数のHMD100からコンテンツを受信し、1つ又は複数のデバイス(例えば、HMD100−1、ユーザ入力デバイス302、他のサーバ、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンなど)から命令を受信することができる。
いくつかの実施形態において、ユーザ入力デバイス302は、プロセッサ422、1つ又は複数の入力224、1つ又は複数の通信システム426、及び/又はメモリ428を含み得る。いくつかの実施形態では、プロセッサ422は、中央処理デバイス、グラフィック処理デバイスなどの任意の適切なハードウェアプロセッサ又はプロセッサの組合せとすることができる。いくつかの実施形態では、入力424は、1つ又は複数の物理的ボタン又はソフトウェアボタン、1つ又は複数の移動センサ、マイクロフォン、タッチパッドなど、ユーザ入力を受け取るのに使用できる任意の適切な入力デバイス及び/又はセンサを含み得る。
いくつかの実施形態では、通信システム426は、通信リンク304及び/又は他の任意の適切な通信リンクを介して情報を通信するための任意の適切なハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。例えば、通信システム426は、1つ又は複数のトランシーバ、1つ又は複数の通信チップ及び/又はチップセットなどを含むことができる。より特定の例では、通信システム426は、Wi−Fi接続、ブルートゥース(登録商標)接続、セルラ接続などを確立するために使用することができるハードウェア、ファームウェア、及び/又はソフトウェアを含むことができる。
いくつかの実施形態では、メモリ428は命令、値などを格納するために使用され得る任意の適切な記憶デバイスを含み得て、プロセッサ422が、例えばユーザ入力がいつ受信されたかを判定しセンサデータを記録し1つ又は複数のHMD100と通信センサデータを通信などするのに使用する。メモリ428は、任意の適切な揮発性メモリ、不揮発性メモリ、記憶デバイス、任意の他の適切な種類の記憶媒体、又は任意の適切なそれらの組合せを含むことができる。例えば、メモリ428は、RAM、ROM、EEPROM、1つ又は複数のフラッシュドライブ、1つ又は複数のハードディスク、1つ又は複数のソリッドステートドライブ、1つ又は複数の光学ドライブなどを含み得る。いくつかの実施形態では、メモリ428は、その上にユーザ入力デバイス302の動作を制御するためのコンピュータプログラムをエンコードすることができる。そのような実施形態では、プロセッサ422は、コンピュータプログラムの少なくとも一部を実行してデータ(例えばセンサ出力を表す)を1つ又は複数のHMD100に送信し、データ(例えばセンサ出力を表す)を1つ又は複数のサーバ204に送信などする。
図5は、開示される主題のいくつかの実施形態によると、コンテンツ及び/又はサーバ204への表示を選択及び/又はアップロードするユーザ演算デバイス220と、表示に従ってコンテンツを受信し表示するHMD100との間の情報フローの例500を示す。
図5に示すように、502において、いくつかの実施形態では、ユーザ演算デバイス220は、そこから1つ又は複数の表示が作成されるべきコンテンツのコーパスを選択することができる。いくつかの実施形態では、ユーザ演算デバイス220のユーザは、任意の適切な技法又は技法の組合せを使用してコンテンツのコーパスを選択することができる。例えば、いくつかの実施形態では、ユーザは、ユーザ演算デバイス220によって少なくとも部分的に実行される任意の適切なアプリケーション又はアプリケーションの組合せを使用してコンテンツを作成することができる。別の例として、ユーザ演算デバイス220のユーザは、コンテンツの作成者及び/又は発行者に関連するウェブページからコンテンツを選択し、そのコンテンツをユーザ演算デバイス220及び/又はサーバ204にダウンロードすることができる。さらに別の例として、ユーザ演算デバイス220のユーザは、そのようなコンテンツへのアクセスを提供するユーザ演算デバイス220によって少なくとも部分的に実行されるアプリケーションを使用してコンテンツを選択することができる。さらに別の例として、ユーザ演算デバイス220のユーザは、ユーザ演算デバイス220に結合された記憶媒体(例えば、USBドライブ、外付けハードドライブ、光学記憶媒体など)からコンテンツを選択することができる。
いくつかの実施形態では、コンテンツのコーパスは、ユーザが表示する特徴の特定の組合せを選択することができる人体解剖学の3D解剖学的モデルのコレクションなど、コンテンツ発行者によって生成されたコンテンツの事前選択コレクションを含むことができる。追加的又は代替的に、いくつかの実施形態では、コンテンツのコーパスは、ユーザ演算デバイス220のユーザによって様々なソースから収集された3Dモデルを含み得る。
504で、いくつかの実施形態では、ユーザ演算デバイス220は、コンテンツのコーパス及び/又はコンテンツにアクセスできる場所を示す情報をサーバ204にアップロードすることができる。いくつかの実施形態では、ユーザ演算デバイス220は、任意の適切な技法又は技法の組合せを使用してコンテンツ及び/又は位置情報をサーバ204にアップロードすることができる。例えば、ユーザ演算デバイス220は、サーバ204に関連付けられたアプリケーションプログラムインタフェース(API)を介してコンテンツ及び/又は位置情報をアップロードすることができる。別の例として、ユーザ演算デバイス220は、ウェブページ及び/又はサーバ204に関連付けられた他のアプリケーションを介してコンテンツ及び/又は位置情報をアップロードすることができる。さらに別の例として、ユーザ演算デバイス220は、ファイル転送プロトコル(ftp)などの任意の他の適切な技術又は技術の組合せを使用してコンテンツ及び/又は位置情報をアップロードすることができる。追加又は代替として、いくつかの実施形態では、ユーザ演算デバイス220は、コンテンツのコーパスをローカルに(例えば、ユーザ演算デバイス220に結合されたハードドライブを使用して)格納することができる。
506で、いくつかの実施形態では、サーバ204は、ユーザ演算デバイス220によってアップロードされたコンテンツを受信し、及び/又はユーザ演算デバイス220によって識別された場所からコンテンツをダウンロードすることができ、(例えば、ウェブページ、APIなどを介して)ユーザ演算デバイス220のユーザにアクセス可能であるようにコンテンツをサーバ204に関連するストレージに保存できる。
508で、いくつかの実施形態では、サーバ204は、表示中にコンテンツの少なくとも一部を表示することになっている1つ又は複数のHMDに選択されたコンテンツのコーパスを提供することができる。いくつかの実施形態では、サーバ204は、任意の適切な技法又は技法の組合せを使用して、コンテンツのコーパスの一部又はコーパス全体をHMDにロードすることができる。例えば、サーバ204は、HMDにダウンロードされるアプリケーションの一部としてコーパスの少なくとも一部を提供することができる。別の例として、サーバ204は、HMDからの要求に応答してコーパスの少なくとも一部を提供することができる。さらに別の例として、サーバ204は、要求に応じてコンテンツを提供することができ、及び/又は必要に応じてHMDにコンテンツをストリーミングすることができる。より具体的な例では、表示が始まる前に、サーバ204はその表示で使用されているコンテンツをHMDに提供することができる。
510で、いくつかの実施形態では、ユーザ演算デバイス220のユーザは、ローカル及び/又はリモートで(例えば、サーバ204から)コンテンツのコーパスにアクセスするローカルで実行される表示アプリケーションを使用して、選択されたコンテンツから表示を生成できる。いくつかの実施形態では、表示アプリケーションは、コンテンツのコーパスからのコンテンツのサブセットを含むシーンの作成を容易にすることができる。例えば、表示アプリケーションは、人体の解剖学的構造の3Dモデルに表示するためのユーザが特定の身体部分及び層(例えば、皮膚、筋肉、骨、神経など)及び様々な部分やレイヤーを表示する順序を選択することを可能にし得る。さらに、そのような例では、表示アプリケーションは、特定の筋肉又は神経など表示の一部分内の3Dモデルの特定の部分をユーザが強調表示することを可能にする。
いくつかの実施形態では、510において、ユーザ演算デバイス220のユーザは、様々なステーション(例えば、ステーション202)、様々なユーザ又はユーザのグループ(例えば、HMD100の学生ユーザ)、各種展示スペースなどに対しそれぞれ特定のコンテンツを選択できる。
512で、いくつかの実施形態では、ユーザ演算デバイス220は、どのコンテンツが表示で使用されるか、コンテンツが表示される順番、表示される補足コンテンツ(例えば、テキスト、音声など)を示す表示情報等をサーバ204にアップロードすることができる。いくつかの実施形態では、表示情報は任意の適切なフォーマットにフォーマットすることができる。例えば、表示情報は、拡張マークアップ言語(XML)文書としてユーザ演算デバイス220からアップロードすることができる。別の例として、表示は、コンテンツ自体を含むメディアファイルとしてアップロードすることができる(その場合、コンテンツのコーパスをサーバ204にアップロードする必要はないかもしれない)。いくつかの実施形態では、サーバ204を省略することができ、及び/又は図5に示すものより少ない機能を実行することができることに留意されたい。例えば、いくつかの実施形態では、コンテンツは、最初にサーバ204にアップロードされることなく、ユーザ演算デバイス220(又は他の任意のソース)からHMD100にロードされ得る。別の例として、いくつかの実施形態では、表示情報は、サーバ204を介して送信されることなく、ユーザ演算デバイス220からHMD100に送信され得る(インターネット上のノード、1つ又は複数の電子メールサーバ、1つ又は複数ストレージサーバなど、1つまたは複数の他のサーバが表示情報の送信に関与する場合があるが)。
ユーザ演算デバイス220によって実行されているアプリケーションを使用して表示を生成することに加えて又は代替として、ユーザ演算デバイス220は、サーバ204と対話して、サーバ204によって少なくとも部分的に実行されるアプリケーションを使用して表示を生成し得る。例えば、ユーザ演算デバイス220は、サーバ204によって実行されているアプリケーション用のグラフィカルユーザインタフェースを提供するのに使用することができ、ユーザ演算デバイス220によって受信される入力は、アプリケーションの動作を制御するのに使用することができる。いくつかの実施形態において、サーバ204によって少なくとも部分的に実行されるアプリケーションを使用して表示が生成される場合、サーバ204は表示情報を(例えばXML文書として)生成し、ユーザ演算デバイス220からそのような情報を受信しない。
516で、いくつかの実施形態では、サーバ204は、表示を体験するのに使用される少なくとも特定の表示についての表示情報をHMD100に提供することができる。いくつかの実施形態では、サーバ204は任意の適切な時に表示情報を提供することができる。例えば、サーバ204は、表示が行われる予定の特定のクラス又はグループを含むユーザに関連付けられた任意のHMDに表示情報が生成された後に、その表示情報へのアクセスを提供することができる(例えば、ユーザ演算デバイス220のユーザによって識別される)。別の例として、サーバ204は、(例えば、ユーザ演算デバイス220のユーザ、HMD100−1などによって示されるように)表示の開始時に特定の場所に存在するHMDに表示情報へのアクセスを提供することができる。例えば、ユーザに関連するHMDは、(例えば、ユーザ演算デバイス220のユーザによって識別されるように)表示が与えられることになる特定のクラス又はグループなどを含む。いくつかの実施形態では、表示情報はコンテンツに関連して受信することができる。例えば、表示情報は、コンテンツの一部としてHMD100に転送されるファイルとすることができる。
518で、いくつかの実施形態では、表示情報を受信したHMDは、表示情報に従って(例えば、508でHMDにロードされたコンテンツから)コンテンツを表示することができる。例えば、図2に関連して上述したように、HMD(例えば、HMD100−2)は、表示情報において受信された指示に基づいて第3のステーションに関連して特定の3Dモデルを表示することができる。
追加又は代替として、いくつかの実施形態では、520で、サーバ204は、表示情報に基づいて、及びHMDから受信した情報に基づいて、コンテンツを1つ又は複数のHMDにストリーミングすることができる。例えば、図2に関連して上述したように、HMDは、どのステーションがHMDに最も近いか、及び/又はHMDの装着者の視野内にあるかについての情報を提供することができ、サーバ204は適切なコンテンツをHMDにストリーミングすることができる。別の例として、HMDは、どのステーションがHMDに最も近いか、及び/又はどのステーションがHMDの装着者の視野内にあるかを決定するのにサーバ204が使用できる情報を提供することができる。サーバ204は、適切なコンテンツをHMDにストリーミングすることができる。さらに別の例として、サーバ204は、第1のHMD(例えば、HMD100−2)及び/又はユーザ入力デバイス(例えば、ユーザ入力デバイス302)から、HMD100−2の装着者が3Dモデルの特定の部分を指していることを示す情報を受信することができ、またサーバ204は、第2のHMDによってコンテンツに統合されるべき補足コンテンツと同じコンテンツを見ている別のHMD(例えば、HMD100−1)に情報をストリーミングすることができる。
522で、いくつかの実施形態では、HMD100は、サーバ204から受信したストリーミングコンテンツを表示することができる。いくつかの実施形態では、522で表示されるストリーミングコンテンツは、3Dモデル全体、3Dモデルへの変更、補足コンテンツなど、任意の適切なストリーミングコンテンツとすることができる。
図6は、開示される主題のいくつかの実施形態による、コンテンツを1つ又は複数のヘッドマウントディスプレイに配信するためのプロセスの例600を示す。図6に示すように、602において、プロセス600は、HMDによって1つ又は複数の拡張現実感表示を作成するために使用されるコンテンツを受信することができる。いくつかの実施形態では、コンテンツは、任意の適切なフォーマットで及び/又は任意の適切なソースから受信することができる。例えば、ユーザ演算デバイスのユーザ(例えば、ユーザ演算デバイス220)は、コンテンツを(例えば、サーバ204に)アップロードすることができる。別の例として、ユーザは、コンテンツを検索するために使用することができる住所及び/又は信用証明書の識別情報を表示することができる。いくつかの実施形態では、コンテンツは、(例えば、ホログラムとして)HMDによって表示することができる1つ又は複数の3Dモデルを作成するのに使用することができる任意の適切な視覚情報を含むことができる。例えば、いくつかの実施形態では、コンテンツは、人体からの様々なシステムを示すホログラムを生成するのにHMDによって使用され得る人体の様々な3Dモデルを含み得る。
604において、プロセス600は、拡張現実感表示としてコンテンツの少なくとも一部を表示するのに使用することができる1つ又は複数の命令を受け取ることができる。例えば、命令は、表示されるべきコンテンツの様々な部分、コンテンツの様々な部分を表示する順序、特定のコンテンツなどをそこで表示する場所(例えば、部屋の中、ステーションに関連してなど)を識別することができる。いくつかの実施形態では、命令は、任意の適切なフォーマットで、及び/又は任意の適切な技法若しくは技法の組合せを使用して受け取ることができる。例えば、いくつかの実施形態では、指示は、指示を指定するユーザ入力を受け取ったユーザデバイス上で生成されたXMLファイルとして受け取ることができる。別の例として、命令は、ユーザデバイスによって表示され得るウェブページ又は他の適切なユーザインタフェースを介してユーザデバイスから受信され得、拡張現実感表示を指定するためのユーザ入力を受信し得る。そのような例では、ユーザ入力をウェブページに関連付けられ命令を(例えばXML文書として)生成することができるサーバに伝達することができる。
606において、プロセス600はヘッドマウントディスプレイからコンテンツの要求を受け取ることができる。例えば、上述のように、特定のユーザに関連付けられたHMD(例えば、そのような関連付けは、ユーザがHMDによって実行されているアプリケーションにサインインすることによって作成され得る)は、ユーザに関連付けられた情報(例えば、コンテンツが割り当てられているクラスにユーザが関連付けられていることを示す情報)に基づいて及び/又は任意の他の適切な技法若しくは技法の組合せを使用して、ユーザからの入力に応答してコンテンツを要求し得る。いくつかの実施形態では、要求は、任意の適切な技法又は技法の組合せを使用して受信することができる。例えば、HMDは、コンテンツに関連した特定のアドレス(例えば、IPアドレス、URLなど)にナビゲートすることができる。別の例として、HMDはアプリケーションのリポジトリにアクセスし、コンテンツを含む(及び/又はダウンロードすることができる)アプリケーションをダウンロードする要求を送信することができる。
608で、プロセス600は、HMDがコンテンツを受信することを許可されているかどうかを判定することができる。例えば、プロセス600は、HMDがコンテンツを受信することを許可されているユーザアカウントにログインしているかどうかを判定することができる。別の例として、プロセス600は、HMDによって実行されているアプリケーションが、コンテンツを受信することを許可されているユーザアカウントにログインしているかどうかを判定することができる。608で、プロセス600がHMDがコンテンツを受信することを許可されていないと判断した場合(608で「いいえ」)、プロセス600は、620に進みコンテンツにアクセスするためにログインするようにユーザに促し(例えば、表示されるスクリーンにログインさせたり、図8に関連して以下に述べるように適当な視覚コードの画像を取り込むようユーザを促したりなど)、ユーザにHMDを適切なアカウントにログインさせることに成功すると608に戻ることができる。
そうではなく、プロセス600が、608で、HMDがコンテンツを受信することを許可されていると判断した場合(608で「はい」)、プロセス600は610に進むことができる。610で、プロセス600は、コンテンツを要求しているHMDにコンテンツを送信することができる。いくつかの実施形態では、コンテンツは、任意の適切なプロトコルを使用して任意の適切なフォーマットで及び/又は任意の適切な圧縮を適用して送信することができる。
612で、プロセス600は、トークンを許可されたHMDに送信することができ、それがコンテンツから拡張現実表示を生成するための命令にアクセスする(及び/又はコンテンツ及び/又はコンテンツに関連するサービスにアクセスする)のに使用される。いくつかの実施形態では、トークンは任意の適切な形を取ることができる。さらに、いくつかの実施形態では、トークンは、所定の期間後に期限切れになるように構成することができる。
614で、プロセス600はヘッドマウントディスプレイが以前に取得したコンテンツに基づいて拡張現実感表示への要求を受け取ることができる。いくつかの実施形態では、要求は、任意の適切な入力に応答してHMDによって送信され得る。例えば、ユーザは、HMDが拡張現実感表示を要求することであることを示すユーザ入力を提供することができる。別の例として、HMDは、それが特定の場所で及び/又は特定の時刻で使用される時に拡張現実感表示を自動的に要求するように(例えば、ユーザの介入なしに、要求を許可するためだけに要求されるユーザ入力などで)構成できる。さらに別の例として、HMDは、(例えば、ブルートゥース(登録商標)からの)特定の信号の受信に応答して、及び/又は特定の視覚的合図(例えば、QRコード(登録商標))の1つ又は複数の画像を取り込むことに応答して、(例えば、ユーザの介入なしに、要求を許可するためにのみ要求されるユーザ入力などで)拡張現実感表示を自動的に要求するように構成できる。いくつかの実施形態では、612で、要求をHMDに送信したトークンと共に送信することができる。いくつかの実施形態では、614で受信された要求は、特定の拡張現実感表示のための指示の要求であり得る。代替として、いくつかの実施形態では、614で受信された要求は拡張現実感表示のための命令に対する一般的な要求とすることができ、返される命令は管理者によって選択された命令とすることができる。
616で、プロセス600は、拡張現実感表示のための命令を要求しているHMDが拡張現実感表示を受信することを許可されているかどうかを判定することができる。例えば、プロセス600は、HMDが有効なトークンを表示したかどうか、及び/又はHMDが許可されたユーザアカウントにログインしているかどうかを判断することができる。HMDが拡張現実感表示を受信することを許可されているとプロセス600が判断した場合(616で「はい」)、プロセス600は618に進み、コンテンツの少なくとも一部を用いて拡張現実感表示を表示するためにHMDに命令することができる。そうではなく、プロセス600が、HMDが拡張現実感表示を受信することを許可されていないと判断した場合(616で「いいえ」)、プロセス600は620に進み、HMDのユーザにログインを促し、表示を受信することが許可されていないことを示したり、エラーメッセージを表示したりできる。いくつかの実施形態において、プロセス600の1つ又は複数の部分は、サーバ204(又は複数のサーバ204)によって実行され得る。
図7は、開示される主題のいくつかの実施形態による、ヘッドマウントディスプレイを使用して拡張現実感表示を生成するためのプロセスの例700を示す。図7を参照すると、702で、プロセス700は、ユーザ識別情報を指定する入力を受け取ることができる。例えば、ユーザは、HMD100によって表示された仮想キーボードを使用して、ユーザ名及び/又はパスワードを入力することができる。別の例として、ユーザは、ユーザを識別するために使用され得る情報を話すことができ、そしてプロセス700は、ユーザの身元を検証するために任意の適切な音声認識技術又は技術の組合せを使用することができる。さらに別の例として、いくつかの実施形態では、ユーザは別のデバイス(例えば、スマートフォン、タブレット、キーボード)を(例えば、ブルートゥース(登録商標)を使用して)HMDと対にし、ペアリングデバイスの入力を使用してユーザ識別情報を入力することができる。さらに別の例として、図8に関連して以下に説明されるように、HMDは、ユーザを識別するのに使用することができる画像を取り込むことができる。
704で、プロセス700は、拡張現実感表示を生成するために使用されるコンテンツを要求することができる。いくつかの実施形態では、要求は、任意の適切な技法又は技法の組合せを使用して生成することができる。例えば、HMD実行プロセス700は、ユーザ入力に基づいて特定のアドレス(例えば、IPアドレス、URLなど)にナビゲートすることができ、(例えば、住所の情報の要求などに応じてウェブページ上のリンクを自動的に選択することによって)そのアドレスのコンテンツを要求することができる。別の例として、HMDは、HMDによって実行されているアプリケーションを使用してコンテンツを要求することができ、それは他の情報(例えば、702で指定されたユーザがコンテンツを使用するクラスにサインアップしたことを示す情報)に基づいて自動的にコンテンツをダウンロードできる。
706で、プロセス700は、拡張現実感表示を生成するのに使用されるコンテンツを受信して記憶することができる。いくつかの実施形態では、コンテンツは、メモリ410などの任意の適切な場所に格納することができる。
708で、プロセス700は、コンテンツから特定の拡張現実感表示を生成するための命令などのさらなる情報を要求する時にプロセス700を実行しているHMDを認証するために使用されるトークンを受信することができる。いくつかの実施形態では、トークンは、任意の適切なフォーマットで受信することができ、例えばサーバ204によって使用できる任意の適切な情報を含んでHMDが拡張現実感表示にアクセスすることを許可されていると判断することができる。
710で、プロセス700は、コンテンツから拡張現実感表示を生成するために使用され得る情報についての要求(及び/又はトークン)を送信することができる。図6の614に関連して上述したように、プロセス700は、任意の適切な入力に応答して拡張現実感表示の要求を送信することができる。例えば、HMDは、拡張現実感表示の要求として機能することができる特定のアドレス(例えば、URL)にナビゲートすることができる。別の例として、HMDは、特定の条件が満たされると(例えば、HMDが特定のジオフェンス内にある時に)、自動的に(例えば、ユーザの介入なしに、又は要求を許可するためだけに必要なユーザ入力と共に)拡張現実感表示を要求できる(一定の時刻HMDが特定のジオフェンス内にある、HMDが他のデバイスから特定の信号を受信しているなど)。
712で、プロセス700は、拡張現実感表示を生成するために使用することができる情報(例えば命令)を受け取ることができる。いくつかの実施形態では、情報は任意の適切なフォーマットで受信することができる。例えば、情報は、どのコンテンツが表示されるべきか、コンテンツがどの順序で表示されるべきか、特定のコンテンツがどの位置に表示されるべきか等を示すXML文書とすることができる。
714で、プロセス700は、受信した命令に基づいてコンテンツから拡張現実感表示を生成することができる。例えば、プロセス700は、どのステーションがHMD実行プロセス700に最も近いかを決定することができ、712で受信された情報に基づいてそのステーションに対応するホログラムを表示することができる。いくつかの実施形態によっては、プロセス700は、拡張現実感表示のどの部分が現在ユーザに表示されているかを示す情報をHMDにサーバ(例えば、サーバ204)に送信させることができる。いくつかの実施形態では、そのような情報はサーバによって使用されて、表示されている特定のコンテンツについての更新された情報を伝えることができる。代替として、サーバは、拡張現実感表現のどの部分に更新情報が対応するかについての識別情報を含む更新情報を送信することができ、HMDは、識別情報を解釈して更新情報が現在表示されているコンテンツに関連するかどうかを判定できる。
716で、プロセス700は、何らかの更新された情報が受け取られたかどうかを判定することができる。いくつかの実施形態では、更新された情報は、拡張現実感表示の一部として表示されているコンテンツの表示を変更するための命令と共に、サーバ(例えば、サーバ204)からの任意の適切な情報を含み得る。更新情報が受信されていないとプロセス700が判断した場合(716で「いいえ」)、プロセス700は716(及び/又は714)に戻って更新情報が受信されたかどうかを判断し続ける(及び/又は拡張現実感表示の他の部分が生成されたか及び/又は表示されたか)。そうではなく、プロセス700が、更新された情報を受信したと判断した場合(716で「はい」)、プロセス700は718に進むことができる。
718で、プロセス700は、更新された情報に基づいて更新された拡張現実感表示を生成することができる。いくつかの実施形態では、更新された情報は拡張現実感表示に影響を及ぼし得る任意の適切な情報を含み得る。例えば、更新された情報は(例えば、図3Bに関連して上述したように)ポインタデバイスの方向に対応するユーザインタフェース要素の位置の指示であり得る。そのような例では、プロセス700は現在表示されているホログラムにユーザインタフェース要素を挿入することができる(ホログラムが見られている角度からユーザインタフェース要素が見られることができる場合)。別の例として、更新された情報は、HMDによって生成されている拡張現実感表示の一部を変更するための命令、例えば、表示を通して前方に移動するか又は表示を通して後方に移動する命令であり得る。さらに別の例として、更新された情報は、他のHMD(例えば、HMD実行プロセス700から離れて位置する)のユーザの3Dモデル(例えば、アバター)及びアバターが表示されているホログラムに関連してどこに表示されるべきかを示す位置情報であり得る。
図8は、開示される主題のいくつかの実施形態による、サーバ204とのペアリング操作を実行するユーザデバイス220及びHMD100−1の例800を示す。図8に示すように、ユーザデバイス802(例えば、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ、ラップトップコンピュータなど、ユーザ演算デバイス220として使用されてもされなくてもよい)が視覚コード(より具体的には、QRコード(登録商標))を表示している。いくつかの実施形態では、ユーザデバイス802は、本明細書で説明されるコンテンツ及び/又は拡張現実感表示に関連するアプリケーション又はサービスにログインするために使用され得る。いくつかのそのような実施形態では、ユーザデバイス802を使用して、リンク(又は他の適切なユーザー操作)の選択に応じて通信リンク804(例えば、LAN接続、セルラ接続などを含み得る)を介して(例えば、サーバ204から)QRコード(登録商標)を取り出すことができる。いくつかの実施形態において、ユーザデバイス802は、QRコード(登録商標)へのリンクを有する電子メールを検索するために使用され得、QRコード(登録商標)へのリンク(及び/又はQRコード(登録商標)自体)と共にプッシュ通知を受信し得る。QRコード(登録商標)(及び/又はQRコード(登録商標)自体)へのリンクは、QRコード(登録商標)をサーバ204などから取り出すことができるアプリケーションにアクセスすることができる。HMD100−1は、(例えば、光センサ114を使用して)QRコード(登録商標)の画像を取り込むことができ、それによって、HMD100−1は、通信リンク806を介して(例えば、サーバ204に)HMD100−1がユーザ802と対になることを示し得る要求を提出できる。いくつかの実施形態では、サーバ204は、任意の適切な期間(例えば、クラスの期間、1日、1週間、1ヶ月、1学期、無期限など)でユーザデバイス802をHMD100−1と関連付けることができる。ユーザデバイス802を介して補足コンテンツを提供することができる。例えば、サーバ204は、HMD100−1によって現在表示されている拡張現実感表示の一部を補足するコンテンツをユーザデバイス802にプッシュする(又はそうでなければ利用可能にする)ことができる。より特定の例では、ユーザデバイス802は拡張現実感表示に関連する補足テキストを表示することができる。別のより具体的な例では、ユーザデバイス802は拡張現実感表示に関連する試験問題を提供することができる。別の例として、ユーザは、ユーザデバイス802を使用して現在表示されている拡張現実感表示の一部に自動的に関連付けることができるメモを取ることができる(例えば、仮想キーボード、音声認識などを使用して)。さらに別の例として、ユーザデバイス802は、メモリ補助としてメモを補足するためにユーザによって使用され得るHMD100−1から情報など(例えば、表示中に取り込まれた画像、テキスト、ビデオ、オーディオなど)を受信することができる。
図9は、図8に関連して上述したように、開示される主題のいくつかの実施形態による、ログイン及び/又はペアリング動作中のユーザデバイス802、サーバ204、及びHMD100間の情報フローの例900を示す。図9に示すように、ユーザデバイス802は、HMD100にログインするためのユーザ入力を受け取ることができる。例えば、902において、ユーザデバイス802は、ウェブページにナビゲートすること、及び/又はHMD100−1を使用することに関連するアプリケーションを実行して拡張現実感表示を生成することができる。そのような例では、ユーザデバイス802を使用して、ログイン認証情報(例えば、ユーザ名、パスワード、バイオメトリック情報など)を提供することができる。
904で、ユーザデバイス802は、サーバ204からHMD100−1によってスキャンされるべき視覚コードを要求することができる。例えば、図8に関連して上述したように、ユーザデバイス802は、QRコード(登録商標)を要求することができ、HMD100−1によってスキャンしてサーバ204でHMD100−1をユーザデバイス802とペアリングしたり、及び/又はサーバ204に対してHMD100−1を認証したりする。
906で、サーバ204は、ユーザデバイス802が許可されていると判断された場合に、要求された視覚コードを提供することができる。いくつかの実施形態では、サーバ204は、任意の適切なフォーマットで及び/又は任意の適切なタイプのデータとして視覚コードを提供することができる。例えば、QRコード(登録商標)は、図8に関連して上述されたが、これは一例に過ぎず、バーコード、ステゲノグラフィックエンコード情報を有する画像など任意の適切な機械可読視覚コードを使用することができる。さらに、いくつかの実施形態では、視覚コードに加えて又はその代わりに、サーバ204は、ユーザデバイス802に、HMD100−1がユーザデバイス802とペアリングする(及び/又はログイン)のに使用できるエンコードサウンドを発することができる。
908で、ユーザデバイス802は視覚コードを表示することができ、(例えば図8に示されるように)HMD100−1の画像センサ(例えば光学センサ114)を視覚コードに向けるようにユーザに促すことができる。910で、HMD100−1は、ユーザデバイス802によって表示された視覚コードの画像を取り込むことができ、912で視覚コードに含まれる情報を復号することができる。
914で、HMD100−1は、視覚コードの画像から復号された情報に基づいて情報をサーバ204に送信することができる。例えば、HMD100−1は、視覚コードの画像を取り込むことに応答して、特定のウェブページにナビゲートすること及び/又は特定のアドレスに要求を送信することができる。
916で、サーバ204は、914でHMD100−1によって送信された情報の受信に応答してユーザデバイス802とHMD100−1とをペアリングすることができ、及び/又はHMD100−1にログインすることができる。いくつかの実施形態では、2つのデバイスが対になっていることの表示は、データベース204内に維持されているデバイスのデータベース内のエントリを通じてなど任意の適切な技法又は技法の組合せを使用して示すことができる。
918において、HMD100−1は、例えば、HMD100−1の装着者が異なる場所に移動しながら、拡張現実感表示からのコンテンツを表示することができる。920で、HMD100−1は、どのコンテンツ形式の拡張現実感表示が現在HMD100−1によって表示されているかを示す情報を送信することができる。追加的に又は代替的に、サーバ204は、どのコンテンツが表示されているかを追跡することができる(例えば、表示を通じて進行するための更新された命令に基づいて、HMD100−1の位置などに基づいて)。
922で、サーバ204は、HMD100−1によって現在表示されているコンテンツに基づいて補足コンテンツ及び/又は命令をユーザデバイス802にプッシュすることができる。追加的又は代替的に、ユーザデバイス802は、もしあれば、サーバ204から定期的に更新情報を要求することができる。924で、ユーザデバイス802は、922でサーバ204によって送信された補足コンテンツを表示することができる。
図10は、開示される主題のいくつかの実施形態による、HMD100−1(例えば、アバターとして)を使用して3Dモデルをユーザと関連付けHMD100−2による3Dモデルを表示する第1のHMD100−1、サーバ204、及び第2のHMD100−2間の情報フローの例1000を示す。図10に示すように、HMD100−1は、特定の3Dモデルが100−1のユーザと関連付けられるべきであることを示す入力を受け取ることができる。いくつかの実施形態では、HMD100−1は、ユーザがユーザと関連付けるための特定の3Dモデルをそこから選択することができる任意の数の3Dモデルを表示することができる。例えば、3Dモデルは、他のHMDによってユーザの顔面及び/又は頭上に表示されるべきマスクであり得る。他の例として、3Dモデルは、他のHMDによってユーザの代理として使用することができる3Dアバターとすることができる。いくつかの実施形態では、3Dモデルをカスタマイズ及び/又は設計するためのユーザインタフェースをユーザに提供することができる。追加又は代替として、いくつかの実施形態では、対をなすユーザデバイス(例えば、図8及び図9に関連して上述したようなユーザデバイス802)を使用して、ユーザによるレビューのためにHMD100−1によって表示できる3Dモデルを選択、カスタマイズ、設計などできる。
1004で、HMD100−1(及び/又はペアリングされたユーザデバイス)は選択された3Dモデルをユーザと関連付ける要求をサーバ204に提出することができる。いくつかの実施形態では、要求は、3Dモデル、3Dモデルの識別情報、3Dモデルのアドレスなどを含むことができる。1006で、サーバ204はHMD100−1のユーザを選択された3Dモデルと関連付けし、その結果、3Dモデルがユーザに関連して使用される。
1008において、HMD100−2はHMD100−1に関連する3Dモデルを要求することができる。あるいは、サーバ204は3DモデルをHMD100−2にプッシュすることができる。いくつかの実施形態において、HMD100−1のユーザによってHMD100−2のユーザに提供される視覚コードをスキャンすることによって3Dモデルを要求できる。例えば、HMD100−1のユーザは、(例えば、ペアリングされたユーザデバイスを使用して)HMD100−2による走査のために視覚コードを表示することができる。別の例として、HMD100−1のユーザは、(例えば、テキストメッセージのような、各HMDに関連付けられたペアのユーザデバイス間から送信されたメッセージを介して)視覚コードをHMD100−2のユーザと共有することができる。1010で、サーバ204は、HMD100−1のユーザのための3Dモデル情報をHMD100−2に送信することができる。
1012で、HMD100−2は、HMD100−1のユーザに関連付けられた3Dモデルをレンダリングすることができる。いくつかの実施形態において、HMD100−2は、ユーザの身体的存在に関連して3Dモデルをレンダリングすることができる。例えば、3Dモデルは、HMD100−2がユーザ100−1の一部の上に重ね合わせることができるマスク、ヘルメット、衣装などとして拡張現実感を提供する。追加的又は代替的に、HMD100−2はHMD100−1のユーザに対するアバターとして3Dモデルをレンダリングすることができる。
図10の例では、3Dモデルの選択として、HMD100−1のユーザが示されている。HMD100−2のユーザはHMD100−1のユーザに関連して使用する3Dモデルを選択することができる。
図11は、開示される主題のいくつかの実施形態による、様々なモデルを順番に表示するための表示スペースの例1100を示す。図11に示すように、表示スペース1100は建物の部屋のような構造と同一の広がりを持っていてもいなくてもよい物理的領域1102を含むことができる。いくつかの実施形態では、バリア1104は物理的領域1102を2つ以上の領域に分割することができる。バリア1104は物理的領域1102をおおよそ半分に分割する直線状のバリアとして示されているが、これは単なる一例であり、バリア1104は任意の適切な形状を有することができる。例えば、バリア1104は、ステップパターン、「U」字型などのようなより複雑な形状を形成することができる。いくつかの実施形態では、バリア1104は、壁、カーテンなどのような物理的空間1102内に建てられた恒久的又は一時的構造によって形成された物理的バリアであり得る。あるいは、いくつかの実施形態では、バリア1104は、HMD(例えば、HME100−1)によって表示されるが、物理的バリアには対応しない完全に仮想的なバリアとすることができる。
いくつかの実施形態では、バリア1104は、例えばバリア1104によって形成された仮想部屋の焦点として機能することができる、複数の表示スペース1106及び1108を形成することができる。2つの表示スペースが示されているが、これは単なる例であり、任意の適切な数の表示スペースがバリアと関連付けられ、潜在的に複数の表示スペースがバリアの同じ側に表示され別の表示スペースがバリアの別の側に表示される。
いくつかの実施形態では、物理空間1102は、それぞれ仮想センサに対応することができる様々な区画1110〜1116に細分することができる。例えば、物理空間1102内の1つ又は複数の物理的な点は、どの区画にHMD100が位置するかを決定するための基準点として指定され得る。そのような例では、HMD100はHMD100の現在の区画を決定するのに1つ又は複数の点までの距離を決定することができる。そのような例では、仮想センサはHMD100によって実施することができる。別の例として、ブルートゥース(登録商標)ビーコンなどの1つ又は複数のアクティブデバイスからの信号を使用して、HMD100の現在の区画を特定することができる。いくつかの実施形態では、HMD100−1が区画1110内に存在する時、それは表示スペース1106のためにコンテンツをロードすることができ、表示スペース1106がユーザ312の視野内にある時そのコンテンツを表示することができる。ユーザ312が区画1110から区画1112に移動すると、HMD100−1はユーザがバリア1104の周りを移動するのに備えて表示スペース1108のコンテンツをロードすることができる。図2と図5について上述したように、いくつかの実施形態では、コンテンツが表示スペースに表示される順序は、ユーザ演算デバイス220のユーザによって生成された表示情報などの任意の適切な情報に基づき得る。いくつかの実施形態では、HMD100−1を装着しているユーザ312が、表示スペース1108がユーザ312の視野内にあるように区画1114に入ると、HMD100−1はユーザが区画1112に移動した時に表示スペース1108に関連してロードされたコンテンツの表示を開始できる。
いくつかの実施形態では、ユーザ312が区画1114から区画1116に移動すると、HMD100−1は、そのスペースに関連する以前にロードされたコンテンツを置き換えてスペース1106のコンテンツの次の部分をロードすることができ、その結果、ユーザ312がバリア1104の周りに移動した時にHMD100−1が表示スペース1106に新しいコンテンツを表示する。しかしながら、ユーザ312が再び区画1114に戻った場合、HMD100−1はユーザが表示を通して後方に移動することができるように表示スペース1106のための前のコンテンツをロードすることができる。いくつかの実施形態では、表示内の一連のコンテンツは、ユーザがバリア1104の周りを時計回りに移動しながら前方に移動することができ、ユーザがバリアの周りを反時計回りに移動し始めると後方に移動することができる。但し、これは単なる例に過ぎない。
いくつかの実施形態では、表示は、HMDは最初に区画1110(又は任意の他の指定された区画)に入り、その結果、ユーザが物理的空間1102をどこに入れるかにかかわらず、同じコンテンツが同じ表示スペースに表示される時に開始するように指定することができる。あるいは、いくつかの実施形態では、ユーザが最初に物理空間1102に入った時に表示がユーザに最も近い表示空間にあることができる。
いくつかの実施形態では、バリア1104の周りを移動するユーザに関連するHMDは、ユーザがバリア1104の周りを同じ回数移動した場合、一緒になって表示スペース1106及び1108内に同じコンテンツを表示することができる。これにより、異なるユーザ間での共有経験が促進される。いくつかのそのような実施形態では、同じ回数だけバリア1104の周りを移動しなかった2つの異なるHMDは、表示スペース1106及び1108内に異なるコンテンツを表示することができる。追加的に又は代替的に、いくつかの実施形態では、2つ以上の異なるHMDを互いにリンクして、それらが表示スペース1106及び/又は1108に同じコンテンツを表示するようにすることができる。例えば、特定のHMDをマスターHMDとして指定することができ、マスターHMDと対になったHMDは、それらがマスターHMDと共にバリア1104の周りを移動しなくても表示スペース1106及び/又は1108に同じコンテンツを表示することができる。別の例として、リンクされたHMDはどのコンテンツを表示するかを決定することができる(例えば、HMDの大半が存在する場所に基づいて、バリア1104の周りを最も頻繁に移動した移動したHMDに基づいて、バリア1104の周囲を最も少ない回数で移動したHMDに基づいて、など)。いくつかの実施形態では、任意の適切な技法又は技法の組合せを使用して2つ以上の異なるHMDを互いにリンクすることができる。例えば、リンクされるべきHMDは、1つ又は複数の他のHMDとリンクされているとしてHMDを指定する構成ファイルの存在に基づくことができる。別の例として、最初に物理空間1102に入った時、物理空間1102に関連付けられたアプリケーションを起動した時など、セットアップルーチンの一部としてユーザにグループを選択するように促すことができる。そのような例では、経験を共有したいと思うユーザは、彼らが同じグループの一員であることを示すことができる。さらに別の例として、互いにリンクされるべき各HMDは、HMDをリンクさせることができる特定の視覚コード(例えば、QRコード(登録商標))の画像を取り込むことができる。さらに別の例として、HMDと対をなすデバイス(例えば、スマートフォン、タブレットコンピュータなど)を使用して、参加するグループを選択することができ、及び/又はリンクする1つ又は複数の他のHMDを選択することができる。
いくつかの実施形態では、HMD100−1は、そうでなければ装着者が特定のコンテンツにナビゲートするためにバリアの周りを移動する時に表示されるはずのコンテンツをスキップすることができる。例えば、ユーザは、(例えばハードウェアボタンを押すことにより)HMD100−1上にメニューを表示させることができ、メニューからユーザは特定のコンテンツを表示するためのコマンドを選択して内容などの先へ進むことができる。別の例として、ユーザは、表示されるべきコンテンツを選択し、そのコンテンツを進めるなどして、ペアリングされたデバイス(例えば、ペアリングされたスマートフォン)上のアプリケーションにアクセスすることができる。さらに別の例として、HMD100−1は、どのコンテンツが表示スペース1106及び/又は1108に表示されるべきであるかを示す命令及び/又はコンテンツをサーバ(例えば、サーバ204)から受信することができ、それによって特定のコンテンツがHMD100−1によって表示され得る。
いくつかの実施形態では、ユーザがバリアの周りを移動する時にコンテンツが表示スペースに表示される順序は、任意の適切な技法又は技法の組合せを使用して生成され得る。例えば、図2のステーションに関連して上述したように、管理ユーザは、アプリケーションを使用して表示スペースに表示されるべきコンテンツの順序付きリストを含む表示を組み立てることができる。別の例として、コンテンツの順序はランダムに表示され得る。さらに別の例として、コンテンツが表示される順序は、コンテンツのコーパスに格納されている順序から決定することができる。いくつかの実施形態では、表示スペース1106及び/又は1108に表示されるコンテンツは、HMDに事前にロードすることができ、及び/又は装着者が物理的空間1102を通って移動している間に受け取ることができる。例えば、HMDがコンテンツの表示を開始する前に、表示されるべきコンテンツのすべてをHMDにダウンロード、アップロード、サイドロードなどすることができる。別の例として、コンテンツの一部をHMDにプリロードすることができ、プリロードされたコンテンツが表示されると、HMDは(例えば、サーバ204からコンテンツをダウンロードすることでサーバ204からコンテンツをストリーミングすることによって)追加のコンテンツを取得することができる。さらに別の例として、HMDは必要に応じてリアルタイムでコンテンツをストリーミングすることができる。
図12は、開示される主題のいくつかの実施形態による限られた物理的空間内に一連のコンテンツを表示するためのプロセスの例1200を示す。図12を参照すると、1202で、プロセス1200は、HMD(例えば、HMD100−1)がバリアの周囲の様々な区画(例えば、バリア1104)の中に位置する最初の区画を決定することができる。いくつかの実施形態では、プロセス1200は、1つ又は複数のビーコン(例えば、ブルートゥース(登録商標)ビーコン)からの信号、HMDのイメージセンサによって取り込まれた画像やHMDなどのGPS位置などに基づくなど、任意の適切な技法又は技法の組合せを使用してHMDの初期区画を決定し得る。いくつかの実施形態では、1202での判断は、HMDによって、及び/又はサーバ(例えば、サーバ204)などの別の演算デバイスによって行うことができる。
1204で、プロセス200は、少なくとも最初の区画と別の区画に対応する第1の表示スペースに対応するコンテンツにアクセスすることができる。例えば、図11に関連して上述したように、2つの区画を1つの表示スペースに関連付けることができる。いくつかの実施形態では、第1の表示スペースに表示されるコンテンツは、例えば、一連のコンテンツ内のコンテンツの第1の部分とすることができる。より特定の例では、第1の表示スペースに表示されるコンテンツは一連の展示物の中の最初の展示物であり得る。
1206で、プロセス1200は第1の表示スペースのためのコンテンツを表示することができる。例えば、図11に関連して上述したように、第1の表示スペースがユーザの視野内にある時、プロセス1200は第1の表示スペース用のコンテンツを表示させることができる。
1208で、プロセス1200はHMDが第1の表示スペースに対応する最後の区画に移動したかどうかを判定することができる。いくつかの実施形態では、各表示スペースはそこから表示スペースが見える1つ又は複数の区画に関連付けることができる。プロセス1200は、図11に関連して上述した技法などの任意の適切な技法又は技法の組合せを使用して、図11及び1202についてHMDがいつ第1の表示スペースに対応する最後の区画に移動するかを判断することができる。いくつかの実施形態では、HMDが次の表示スペースに対応しない区画に移動した時に表示からコンテンツの次の部分が表示されるように、区画を特定の順序で定義することができる。最初の表示スペースに対応する最後の区画から表示できる。例えば、最後の区画が、最初の表示スペースを見ることができる最後の区画として最初の区画から時計回りに決定することができる。そのような例では、ユーザがバリアの周りを時計回りに動くと、表示は一連の3Dシーンなどのシーケンスを通って前方に進むことができる。
1210で、プロセス1200が、HMDが第1の表示スペースに対応する最後の領域に移動したと判断した場合(1210で「はい」)、プロセス1200は1212に進むことができる。1212で、プロセス1200は次の表示スペースのコンテンツにアクセスすることができる。いくつかの実施形態では、プロセス1200は、(例えば、サーバ204などのサーバからコンテンツをダウンロードすることによって)内部メモリから及び/又はリモートストレージからコンテンツにアクセスすることができる。いくつかの実施形態では、プロセス1200は、(次の表示スペースがHMDの装着者の視野内に入った時に表示される準備ができるように)コンテンツをプリロードすることができる。
1214で、プロセス1200は、HMDが次の表示スペースに対応する区画に移動したかどうか(例えば、ユーザがバリア1104の周りを移動したかどうか)を判断することができる。プロセス1200が、HMDが次の表示スペースに移動したと判断した場合(1214で「はい」)、次の表示スペースがHMDの装着者の視野内にある時、プロセス1200は、1216で、次の表示スペースに対応するコンテンツを表示させることができる。
1210で、プロセス1200が、HMDが最初の表示スペースに対応する最後の領域に移動していないと判断した場合(1210で「いいえ」)、又はHMDが次の表示スペースに移動していないとプロセス1200が判断した場合(1214で「いいえ」)、プロセス1200は1218に進み、HMDが第1の表示スペースに関連する第1の区画に戻ったかどうかを判定することができる。さらに、1216で、次の表示スペースのためのコンテンツを表示している間に、ユーザは第1の表示スペースに関連する区画に戻って移動することができ、そしてプロセス1200は1218に移動することができる。
プロセス1200が、HMDが第1のスペースに対応する第1の区画に戻っていないと判断した場合(1218で「いいえ」)、プロセス1200は、1208に戻って、HMDが現在の表示スペースに関連する最後の区画に移動したかどうかを判断することができる(即ち、HMDが最初の表示スペースに対応する区画にあった時の次の表示スペース)。そうではなく、プロセス1200が、HMDが第1のスペースに対応する第1の区画に戻ったと判断した場合(1218で「はい」)、プロセス1200は、1220で、現在表示されているコンテンツの前のコンテンツの一部にアクセスでき、その結果、HMDは、前の表示スペース(これは次の表示スペースと同じ物理的空間であり得る)に後退する場合コンテンツを表示することができる。いくつかの実施形態では、プロセス1200は、ユーザが次又は前の表示スペースに(例えば、どちらかの方向でバリア1104の反対側に)移動した時、HMDは常にその表示スペースに対応するコンテンツを表示する準備ができる。
いくつかの実施形態では、プロセス1200は、HMDによって又はサーバによって実行することができる。追加的又は代替的に、プロセス1200の特定の部分はHMDによって実行され、他の部分はサーバ、センサなどの1つ又は複数の他のデバイスによって実行される。
図13A〜図13Dが、開示される主題のいくつかの実施形態による、使用するコンテンツを表示するために使用されているHMDの記録されたセッションの再生からのシーンの例を示す。いくつかの実施形態では、HMD100及び/又はサーバ204は、1人又は複数のユーザの動作を表すメディア(例えば、オーディオ、ビデオ、及び/又はコンピュータ生成グラフィック)を記録することができ、このメディアはレビューのために(例えばユーザの1人によって、インストラクタなどによって)アクセスできる。図13Aは、開示される主題のいくつかの実施形態による、アバター1302によって表される第1のユーザ(HLA)及びアバター1304によって表される第2のユーザー(HLB)が仮想事故犠牲者1306(AI)と対話している第1のレビューモードの例を示す。図13Aに示す態様では、会話の筆記録を表すテキスト1308は、場面が進むにつれて表示され得る。さらに、ウィンドウ1310及び1312は、それぞれ第1のユーザ1302及び第2のユーザ1304によって装着されたHMDからの第1の人物の視界を示すことができる。いくつかの実施形態では、異なるユーザは異なる色付きのアバター(及び/又は個別化されたアバター)によって表すことができ、ウィンドウ1310及び1312は色分け(及び/又はラベル付け)してシーンのどの部分を見ているかを明確にすることができる。いくつかの実施形態では、検討中のコンテンツは仮想現実セッションを表すことができ、検討中のセッション中にユーザが装着したHMDを介してユーザに表示されたシーンのグラフィックス及び/又は画像を含むことができる。追加又は代替として、レビューされているコンテンツは、拡張現実(又は他の複合現実)セッションを表すことができ、HMDによって取り込まれた画像データを超えて、ユーザが位置した広い環境の画像日付を含まないことがある(例えばウィンドウ1310及び1312に示されるように)。
いくつかの実施形態では、セッション中に記録されたコンテンツを検討するのに任意の適切な演算デバイスを使用することができる。例えば、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどを使用して、レビューコンテンツを2次元画像として表示することができる。別の例として、コンテンツはHMDによって(例えば拡張現実感又は仮想現実体験として)表示されることができ、HMDの装着者は、シーンを通して物理的に動くことによって、(例えば異なる視点からコンテンツを見るために)記録されたコンテンツの周りをナビゲートすることができ、HMDによって表示されるコンテンツは、ユーザの現在の位置及び視野に基づくことができる。別の例として、HMDの装着者は、セッションのどの部分が表示されているかを制御し(即ち、時刻をたどってナビゲートする)、又は異なるレビューモードに入り(例えば、鳥瞰図を表示する、HMDによって記録されたビデオコンテンツを表示する)、及び/又は例えば仮想現実レビューセッションのためにHMDによって記録されなかったHMDの視点に関連するコンテンツを再生するための1つ又は複数のコマンドを完全没入型レビューモードで発行できる(HMDの装着者の視野に対応する画像が一人称モードで表示される)。
いくつかの実施形態では、コンテンツのレビュー中に、レビューされた人が特定のアバター(例えば、アバター1302又は1304)及び/又は特定のウィンドウ(例えば、ウィンドウ1310又は1312)を選択して、一人称レビューモードに入ることができる。特定のユーザに関連付けられた一人称視点に対応するコンテンツは、(例えば、図13Aに示される三人称視点ではなく)主視点として表示される。そんな一人称視点では、他のユーザに対応するウィンドウは表示されてもされなくてもよい。
図13Bは、開示される主題のいくつかの実施形態による、異なる時点での図13Aのシーンの他の一例を示している。いくつかの実施形態では、例えば早送り又は巻き戻し、スクラバ1316に沿ったユーザインタフェース要素1314のドラッグ、(例えば、トランスクリプトからの)キーワードの検索などによって、記録を検討するユーザは記録の任意の部分にナビゲートすることができる。図13Cは、開示される主題のいくつかの実施形態による、図13A〜13Bに示されるシーンの鳥瞰図の一例を示す。いくつかの実施形態では、ユーザは、任意の適切な技法又は技法の組合せを使用してコンテンツ内の特定の時点にナビゲートすることができ、利用可能な技法はコンテンツを表示するために使用されるハードウェアに依存し得る。例えば、コンテンツが2Dディスプレイ(例えば、パーソナルコンピュータ又はタブレットコンピュータ)によって表示されている場合、ユーザは、コンテンツ(図示せず)に関連して表示されたユーザインタフェース要素を使用して(例えば、マウス、タッチパッド、タッチスクリーン、ゲームコントローラなどを使用して)ユーザインタフェース要素を選択することによって、一時停止、再生、早送り、巻き戻し、スキップするなどをすることができる。別の例として、コンテンツが2Dディスプレイ又はHMDによって表示されている場合、ユーザは(例えば、ペアリングされたデバイスのタッチパッド上、ペアリングされたデバイスのタッチスクリーン上、HMD上のタッチセンシティブ入力上で)タッチコマンドを使用して、コンテンツをナビゲートする(再生/一時停止をタップする、早送りをする方向をスワイプする、巻き戻しをする方向をスワイプするなど)。さらに別の例として、コンテンツが2Dディスプレイ又はHMDによって表示されている場合、ユーザは音声コマンドを使用してコンテンツをナビゲートすることができる。
図13Dが、開示される主題のいくつかの実施形態による拡張現実セッションの再生の例を示す。図13Dに示すように、より広い周囲の物理的環境のビデオは再生に利用できないかもしれないが、ビデオコンテンツの録画中の会話を表す音声及び/又はテキストの有無にかかわらず、ユーザのアバター、ホログラム1318、及びHMDによって記録されたビデオを表示するウィンドウは表示され得る。
いくつかの実施形態では、レビュー中にコンテンツを表示するために使用することができる情報は、任意の適切な時に、任意の適切な技法又は技法の組合せを使用して、演算デバイスによって受信することができる。いくつかの実施形態では、セッション中に表示されたコンテンツ(例えば、3Dモデル、1つ又は複数の仮想環境又は仮想環境の一部など)は、任意の適切なソースから任意の適切な時刻に受信することができる。例えば、コンテンツは、表示中及び/又は表示後に使用された時刻の前に、演算デバイスにダウンロード、アップロード、サイドロードなどすることができる。別の例として、コンテンツの少なくとも一部は、演算デバイスによって既に格納されていることがある(例えば、演算デバイスが表示するように構成されたHMDである場合、演算デバイスがレビュー中のセッション中に表示されたコンテンツを表示するように構成されたHMDである場合など)。いくつかの実施形態では、セッションの動的部分に関する情報(例えば、HMDの位置、音声、補足コンテンツなど)は、任意の適切な時に受信することができる。例えば、演算デバイスは、(例えば、サーバ204などのサーバからの)特定のセッションを表示する要求に応答して、表示されたコンテンツ、環境、及び/又は他のHMDに関するHMDの位置に関する記録情報を受け取ることができる。別の例として、演算デバイスは、検討されるべきセッション中に表示されたコンテンツ、環境、及び/又は他のHMDに関するHMDの位置に関する情報を受信することができる(例えば、演算デバイスは、セッション中の情報を記録することができる)。さらに別の例として、演算デバイスは、セッションの検討中に表示されたコンテンツ、環境、及び/又は他のHMDに関するHMDの位置に関する情報を受信することができる(例えば、セッションを確認するために必要なので、コンテンツはストリーミングされるかそうでなければ通信され得る)。いくつかの実施形態では、動的コンテンツの一部は異なるフォーマットを使用して通信することができる。例えば、HMDの位置、表示されているコンテンツ、補足コンテンツなどに関する情報は、XMLファイルとして通信することができ、オーディオコンテンツ及び/又はビデオコンテンツは、メディアファイルとして受信することができる。
図14は、開示される主題のいくつかの実施形態による、1つ又は複数のHMDによって記録されたメディアを検討するためのプロセスの例1400を示す。図14に示すように、1402で、プロセス1400は検討されるべきコンテンツの選択を受け取ることができる。いくつかの実施形態では、レビューされるコンテンツは、HMDが使用された特定のセッションに対応して拡張現実感表示を見ることができる。例えば、レビューされる内容は、HMDを利用する学生のグループに与えられた講義に対応し全員が講義をフォローすることができる。いくつかの実施形態では、コンテンツは、日付、タイトル、ユーザなどによってなど、任意の適切な方法で編成することができる。
1404で、プロセス1400は、選択されたコンテンツをダウンロード、ストリーミング、ロード、及び/又はそうでなければアクセスすることができる。いくつかの実施形態では、記録されたコンテンツは、任意の適切な演算デバイスによって任意の適切な場所に格納することができる。例えば、記録されたコンテンツは、ユーザ演算デバイス(例えば、ユーザ演算デバイス220)、ローカルネットワーク上のサーバ、リモートサーバ、ネットワーク接続ストレージなどによって格納することができる。いくつかの実施形態では、1404において、選択されたコンテンツを表示のために記憶デバイスから取り出すことができる。
1406で、プロセス1400は、選択されたモード又はデフォルトのモードで(例えば、選択が行われなかった場合)、選択されたセッションからの記録されたコンテンツを表示することができる。例えば、プロセス1400は、鳥瞰的な観点から、地上レベルの観点から、セッションを記録したHMDのうちの1つの観点などから、記録されたコンテンツを表示することができる。いくつかの実施形態では、プロセス1400は写しのテキストを表示することができる。
1408で、プロセス1400は、視聴モード及び/又は1つ又は複数の設定が更新されたかどうかを判定することができる。例えば、ユーザは、新しい閲覧モードを選択すること、テキストをオン又はオフにすること、音声をオン又はオフにすること、特定のHMDからのビューをオン又はオフにすることなどができる。プロセス1400が視聴モード及び/又は1つ又は複数の設定が更新されたと判断した場合(1408で「はい」)、プロセス1400は1410に進み、新しい視聴モード及び/又は設定に基づいて更新コンテンツを表示することができる。そうではなく、プロセス1400が視聴モード及び/又は1つ又は複数の設定が更新されていないと判断した場合(1408で「いいえ」)、プロセス1400は1412に進むことができる。
1412で、プロセス1400は、記録されたコンテンツ内をナビゲートするための入力が受け取られたかどうかを判定することができる。例えば、ユーザは特定の時刻又はキーワードを検索することができ、早送りユーザインタフェース要素を選択することができ、進捗インジケータをスクラバに沿って移動させることなどができる。記録されたコンテンツ内をナビゲートするための入力が受け取られたとプロセス1400が判断した場合(1412で「はい」)、プロセス1400は1414に進み、受け取ったナビゲーション入力に基づいてコンテンツの表示を変更することができる。そうではなく、記録されたコンテンツ内をナビゲートするための入力が受け取られていないとプロセス1400が判断した場合(1412で「いいえ」)、プロセス1400は1406に戻って現在の視聴モードで現在の設定でコンテンツを表示し続けることができる。
いくつかの実施形態では、任意の適切なコンピュータ可読媒体を使用して本明細書に記載の機能及び/又はプロセスを実行するための命令を格納することができる。例えば、いくつかの実施形態では、コンピュータ可読媒体は一時的又は非一時的であり得る。例えば、非一時的コンピュータ可読媒体は、磁気媒体(ハードディスク、フロッピーディスクなど)、光学媒体(コンパクトディスク、デジタルビデオディスク、ブルーレイディスクなど)、半導体媒体(RAM、フラッシュメモリ、電気的プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)など)、伝送中に束の間でない又は永続性の外観のある任意の適切な媒体、及び/又は任意の適切な有形の媒体などの媒体を含むことができる。別の例として、一時的なコンピュータ可読媒体は、ワイヤ、導体、光ファイバ、回路におけるネットワーク上の信号、伝送中に束の間の又は永続性の外観のない任意の適切な媒体、及び/又は任意の適切な無形媒体を含むことができる。
開示される主題は特定の実施形態及び実施例に関連して上記に記載されているが、本発明は必ずしもそのように限定されず、他の多数の実施形態、実施例、使用、修正、並びに実施形態、実施例及び使用からの逸脱は、添付の特許請求の範囲によって包含されることを意図していることを当業者は認識するであろう。本明細書に引用された各特許及び刊行物の全開示は、そのような各特許又は刊行物があたかも個々に参照により本明細書に組み込まれているかのように参照により本明細書に組み込まれる。
本発明の様々な特徴及び利点は特許請求の範囲に記載される。