(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】HMDに対するコントローラの動きを判定するためのシステム及び方法
(51)【国際特許分類】
G06F 3/0346 20130101AFI20240708BHJP
G06F 3/01 20060101ALI20240708BHJP
A63F 13/213 20140101ALI20240708BHJP
G02B 27/02 20060101ALI20240708BHJP
H04N 5/64 20060101ALI20240708BHJP
【FI】
G06F3/0346 422
G06F3/01 510
A63F13/213
G02B27/02 Z
H04N5/64 511A
(21)【出願番号】P 2023083718
(22)【出願日】2023-05-22
(62)【分割の表示】P 2021530898の分割
【原出願日】2019-11-21
【審査請求日】2023-06-21
(32)【優先日】2018-11-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】スタフォード、ジェフリー、ロジャー
(72)【発明者】
【氏名】トクボ、トッド
【審査官】相川 俊
(56)【参考文献】
【文献】国際公開第2016/095057(WO,A1)
【文献】特表2016-532178(JP,A)
【文献】国際公開第2015/137165(WO,A1)
【文献】米国特許出願公開第2017/0173453(US,A1)
【文献】"徹底解説!PlayStationVR",PlayStation.Blog[online],2016年10月04日,[2024年6月14日検索], <https://blog.ja.playstation.com/2016/10/04/20161004-psvr-2/>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0346
G06F 3/01
A63F 13/213
G02B 27/02
H04N 5/64
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイ(HMD)に対して相対的にコントローラをトラッキングするためのシステムであって、
前記コントローラと、
前記HMDとを含み、
前記コントローラは、ライトバー及び光源を含み、前記ライトバーは複数のエッジポイントを有し、
前記HMDは、第1のカメラを備えた下部領域を有し、前記第1のカメラは、前記コントローラが前記HMDの前部領域より下のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第1の複数の画像をキャプチャするように構成されており、
前記HMDは、第2のカメラを備えた上部領域を有し、前記第2のカメラは、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第2の複数の画像をキャプチャするように構成されて
おり、
前記ライトバーの前記複数のエッジポイント及び前記光源は、前記HMDに対する前記コントローラの向きを定める、システム。
【請求項2】
前記HMDは、前記HMDを取り巻く実世界環境の複数の画像、前記第1の複数の画像及び前記第2の複数の画像を受信するように構成されており、前記実世界環境の複数の画像、前記第1の複数の画像、前記第2の複数の画像はそれぞれ、前記実世界環境内の前記HMDの位置及び動き、前記HMDに対して相対的な前記コントローラの第1の位置及び向き、前記HMDに対して相対的な前記コントローラの第2の位置及び向きの判定を容易にするために送信される、請求項1に記載のシステム。
【請求項3】
前記実世界環境内の前記HMDの位置及び動き、前記コントローラの第1の位置及び向き、前記コントローラの第2の位置及び向きは、複数の状態を修正するために判定され、前記HMDは、前記複数の状態に基づいて生成された画像データを受信し、前記画像データに応じて複数の画像を表示するように構成される、請求項2に記載のシステム。
【請求項4】
前記HMDはアイマスクとディスプレイ画面を含み、前記アイマスクは前記ディスプレイ画面の下に配置された前記下部領域を有し、前記下部領域は前記アイマスクの底面である、請求項1に記載のシステム。
【請求項5】
前記アイマスクは、前記下部領域に接続され前記下部領域に隣接する前記前部領域を有し、前記前部領域は前記ディスプレイ画面を含み、前記HMDは前記下部領域に接続されたフレームを含む、請求項4に記載のシステム。
【請求項6】
前記第1のカメラは、前記前部領域と前記フレームの間に配置され、前記HMDから下向きのキャプチャビューを有する、請求項5に記載のシステム。
【請求項7】
前記アイマスクは、前記ディスプレイ画面の上に配置された前記上部領域を含み、前記上部領域は前記アイマスクの上面である、請求項6に記載のシステム。
【請求項8】
前記アイマスクは、前記上部領域に隣接する前記前部領域を有し、前記前部領域は前記上部領域と前記下部領域の間に配置され、前記前部領域は前記上部領域と前記下部領域に接続されている、請求項7に記載のシステム。
【請求項9】
前記フレームは前記上部領域に接続され、前記第2のカメラは、前記前部領域と前記フレームの間に配置され、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの前記第2の複数の画像をキャプチャする、請求項8に記載のシステム。
【請求項10】
前記HMDは、前記フレームに接続されたヘッドバンドを含み、前記下部領域は前記フレームによって前記ヘッドバンドから分離されている、請求項9に記載のシステム。
【請求項11】
前記コントローラはハンドヘルドコントローラである、請求項1に記載のシステム。
【請求項12】
ヘッドマウントディスプレイ(HMD)に対して相対的にコントローラをトラッキングするためのシステムであって、
前記コントローラと、
前記HMDと、
前記HMDに接続された処理デバイスとを含み、
前記コントローラは、ライトバー及び光源を含み、前記ライトバーは複数のエッジポイントを有し、
前記HMDは、第1のカメラを備えた下部領域を有し、前記第1のカメラは、前記HMDから下向きのキャプチャビューを有し、前記第1のカメラは、前記コントローラが前記HMDの前部領域より下のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第1の複数の画像をキャプチャするように構成されており、
前記HMDは、第2のカメラを備えた上部領域を有し、前記第2のカメラは、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第2の複数の画像をキャプチャするように構成されており、
前記処理デバイスは、前記HMDを取り巻く実世界環境の複数の画像、前記第1のカメラからの前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第1の複数の画像、前記第2のカメラからの前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第2の複数の画像を受信するように構成されており、前記処理デバイスは、前記実世界環境の前記複数の画像から前記実世界環境内の前記HMDの位置及び動きを、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第1の複数の画像から前記HMDに対して相対的な前記コントローラの第1の位置及び向きを、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第2の複数の画像から前記HMDに対して相対的な前記コントローラの第2の位置及び向きを判定するように構成されている、システム。
【請求項13】
前記処理デバイスは、前記実世界環境内の前記HMDの位置及び動き、前記コントローラの前記第1の位置及び向き、及び前記コントローラの前記第2の位置及び向きに応じて、アプリケーションの実行によって出力された複数の状態を修正するように構成されており、前記処理デバイスは、前記複数の状態を修正して画像データを生成し、前記画像データを前記HMDに送信するように構成されており、前記HMDは前記画像データに応じて複数の画像を表示するように構成される、請求項1
2に記載のシステム。
【請求項14】
前記HMDはアイマスクとディスプレイ画面を含み、前記アイマスクは前記ディスプレイ画面の下に配置された前記下部領域を有し、前記下部領域は前記アイマスクの底面である、請求項1
2に記載のシステム。
【請求項15】
前記アイマスクは、前記下部領域に接続され前記下部領域に隣接する前記前部領域を有し、前記前部領域は前記ディスプレイ画面を含み、前記HMDは前記下部領域に接続されたフレームを含む、請求項1
4に記載のシステム。
【請求項16】
前記第1のカメラは、前記前部領域と前記フレームの間に配置され、前記HMDから下向きのキャプチャビューを有する、請求項1
5に記載のシステム。
【請求項17】
前記アイマスクは、前記ディスプレイ画面の上に配置された前記上部領域を含み、前記上部領域は前記アイマスクの上面である、請求項1
6に記載のシステム。
【請求項18】
前記アイマスクは、前記上部領域に隣接する前記前部領域を有し、前記前部領域は前記上部領域と前記下部領域の間に配置され、前記前部領域は前記上部領域と前記下部領域に接続されている、請求項1
7に記載のシステム。
【請求項19】
前記フレームは前記上部領域に接続され、前記第2のカメラは、前記前部領域と前記フレームの間に配置され、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの前記第2の複数の画像をキャプチャする、請求項1
8に記載のシステム。
【請求項20】
前記コントローラはハンドヘルドコントローラである、請求項1
2に記載のシステム。
【請求項21】
ヘッドマウントディスプレイ(HMD)に対して相対的にコントローラをトラッキングするための方法であって、
前記HMDは、第1のカメラを備えた下部領域を有し、前記HMDの前記第1のカメラによって、前記コントローラが前記HMDの前部領域より下のレベルにあるとき、前記コントローラの
ライトバーの複数のエッジポイント及び光源の第1の複数の画像をキャプチャすることと、
前記HMDは、第2のカメラを備えた上部領域を有し、前記HMDの前記第2のカメラによって、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第2の複数の画像をキャプチャすることと
を含
み、
前記ライトバーの前記複数のエッジポイント及び前記光源に基づいて、前記HMDに対する前記コントローラの向きが定められる、方法。
【請求項22】
前記HMDを取り巻く実世界環境の複数の画像、前記第1の複数の画像及び前記第2の複数の画像を送信することをさらに含み、
前記実世界環境の複数の画像、前記第1の複数の画像、前記第2の複数の画像はそれぞれ、前記実世界環境内の前記HMDの位置及び動き、前記HMDに対して相対的な前記コントローラの第1の位置及び向き、前記HMDに対して相対的な前記コントローラの第2の位置及び向きの判定を容易にするために送信される、請求項2
1に記載の方法。
【請求項23】
前記実世界環境内の前記HMDの位置及び動き、前記コントローラの第1の位置及び向き、前記コントローラの第2の位置及び向きは、アプリケーションの実行によって出力された複数の状態を修正するために判定され、
前記複数の状態に基づいて生成された画像データを受信することと、
前記画像データに応じて複数の画像を表示することと
をさらに含む、請求項2
2に記載の方法。
【請求項24】
前記HMDはアイマスクとディスプレイ画面を含み、前記アイマスクは前記ディスプレイ画面の下に配置された前記下部領域を有し、前記下部領域は前記アイマスクの底面であり、
前記アイマスクは、前記下部領域に接続され前記下部領域に隣接する前記前部領域を有し、前記前部領域は前記ディスプレイ画面を含み、前記HMDは前記下部領域に接続されたフレームを含み、
前記第1のカメラは、前記前部領域と前記フレームの間に配置され、前記HMDから下向きのキャプチャビューを有し、
前記アイマスクは、前記ディスプレイ画面の上に配置された前記上部領域を含み、前記上部領域は前記アイマスクの上面であり、
前記アイマスクは、前記上部領域に隣接する前記前部領域を有し、前記前部領域は前記上部領域と前記下部領域の間に配置され、前記前部領域は前記上部領域と前記下部領域に接続されており、
前記フレームは前記上部領域に接続され、前記第2のカメラは、前記前部領域と前記フレームの間に配置され、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの前記第2の複数の画像をキャプチャする、請求項2
1に記載の方法。
【請求項25】
ヘッドマウントディスプレイ(HMD)に対して相対的にコントローラをトラッキングするための方法であって、
前記HMDは、第1のカメラを備えた下部領域を有し、前記HMDの前記第1のカメラによって、前記コントローラが前記HMDの前部領域より下のレベルにあるとき、前記コントローラの
ライトバーの複数のエッジポイント及び光源の第1の複数の画像をキャプチャすることと、
前記HMDは、第2のカメラを備えた上部領域を有し、前記HMDの前記第2のカメラによって、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の第2の複数の画像をキャプチャすることと、
前記HMDを取り巻く実世界環境の複数の画像、前記第1のカメラからの前記コントローラの前記第1の複数の画像、前記第2のカメラからの前記コントローラの前記第2の複数の画像を受信することと、
前記実世界環境の前記複数の画像から前記実世界環境内の前記HMDの位置及び動きを、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第1の複数の画像から前記HMDに対して相対的な前記コントローラの第1の位置及び向きを、前記コントローラの
前記ライトバーの前記複数のエッジポイント及び前記光源の前記第2の複数の画像から前記HMDに対して相対的な前記コントローラの第2の位置及び向きを判定することと
を含む。方法。
【請求項26】
前記実世界環境内の前記HMDの位置及び動き、前記コントローラの前記第1の位置及び向き、及び前記コントローラの前記第2の位置及び向きは、アプリケーションの実行によって出力された複数の状態を修正するために判定され、
前記複数の状態に基づいて生成された画像データを受信することと、
前記画像データに応じて複数の画像を表示することと
をさらに含む、請求項2
5に記載の方法。
【請求項27】
前記HMDはアイマスクとディスプレイ画面を含み、前記アイマスクは前記ディスプレイ画面の下に配置された前記下部領域を有し、前記下部領域は前記アイマスクの底面であり、
前記アイマスクは、前記下部領域に接続され前記下部領域に隣接する前記前部領域を有し、前記前部領域は前記ディスプレイ画面を含み、前記HMDは前記下部領域に接続されたフレームを含み、
前記第1のカメラは、前記前部領域と前記フレームの間に配置され、前記HMDから下向きのキャプチャビューを有し、
前記アイマスクは、前記ディスプレイ画面の上に配置された前記上部領域を含み、前記上部領域は前記アイマスクの上面であり、
前記アイマスクは、前記上部領域に隣接する前記前部領域を有し、前記前部領域は前記上部領域と前記下部領域の間に配置され、前記前部領域は前記上部領域と前記下部領域に接続されており、
前記フレームは前記上部領域に接続され、前記第2のカメラは、前記前部領域と前記フレームの間に配置され、前記コントローラが前記HMDの前記前部領域より上のレベルにあるとき、前記コントローラの前記第2の複数の画像をキャプチャする、請求項2
5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ヘッドマウントディスプレイに対するコントローラの動きを判定するためのシステム及び方法に関する。
【背景技術】
【0002】
ヘッドマウントディスプレイ(HMD)は、ゲームをプレイするために使用される。プレーヤーはHMDを自分の頭に装着している。プレーヤーは、プレーヤーがゲームをプレイするために使用するDualShock(商標)コントローラを保持している。カメラは、プレーヤーがゲームをプレイしているテレビ台などの部屋の中に配置されている。カメラはプレーヤーの画像をキャプチャする。
【0003】
本開示の実施形態が生じるのはこの状況においてである。
【発明の概要】
【0004】
本開示で説明される実施形態は、ヘッドマウントディスプレイ(HMD)に対するコントローラの動きを判定するためのシステム及び方法を提供する。
【0005】
一実施形態では、HMDに対して相対的にハンドヘルドコントローラをトラッキングするためのシステムが説明されている。このシステムには、ハンドヘルドコントローラ、HMD、及び処理デバイスが含まれている。HMDは、ユーザの頭に装着するように構成されている。HMDはさらに、アプリケーションの実行によって生成されたコンテンツを有する複数の画像シーンを表示するように構成されている。HMDには、カメラを備えた下部領域がある。カメラには、HMDから下向きのキャプチャビューがある。カメラは、ハンドヘルドコントローラの複数の画像をキャプチャするように構成されている。処理デバイスは、HMDを取り巻く実世界環境の複数の画像及びハンドヘルドコントローラの複数の画像を受信するためにHMDと関連付けられている。処理デバイスは、実世界環境の複数の画像から実世界環境内のHMDの位置及び動きを判定するように構成されている。処理デバイスは、ハンドヘルドコントローラの複数の画像から、HMDに対して相対的なハンドヘルドコントローラの位置を判定するように構成されている。処理デバイスは、HMDの位置及び動き、ならびにハンドヘルドコントローラの位置の変化に応じて、アプリケーションの実行によって出力された状態を修正するように構成されている。HMDは、状態の修正に応じて、HMDに表示された複数の画像シーンを更新するように構成されている。
【0006】
一実施形態では、HMDに対して相対的にハンドヘルドコントローラをトラッキングするための方法が説明されている。この方法は、アプリケーションの実行によって生成されたコンテンツを有する複数の画像シーンを表示することを含む。HMDにはカメラを備えた下部領域があり、カメラにはHMDから下向きのキャプチャビューがある。この方法は、カメラによって、HMDに対するハンドヘルドコントローラの複数の画像をキャプチャすることをさらに含む。この方法は、HMDを取り巻く実世界環境の複数の画像及びハンドヘルドコントローラの複数の画像を受信することを含む。この方法は、実世界環境の複数の画像から実世界環境内のHMDの位置及び動きを判定することをさらに含む。この方法は、ハンドヘルドコントローラの複数の画像から、HMDに対して相対的なハンドヘルドコントローラの位置を判定することを含む。この方法は、HMDの位置及び動き、ならびにハンドヘルドコントローラの位置の変化に応じて、アプリケーションの実行によって状態出力を修正することをさらに含む。この方法は、状態の修正に応じて、HMDに表示された複数の画像シーンを更新することを含む。
【0007】
一実施形態では、HMDに対して相対的にハンドヘルドコントローラをトラッキングするためのプログラム命令を含むコンピュータ可読媒体が説明されている。コンピュータシステムの1つ以上のプロセッサによるプログラム命令の実行により、1つ以上のプロセッサは、上記の方法の複数の動作を実行する。
【0008】
本明細書に記載のシステム及び方法のいくつかの利点には、HMDの下部領域上のカメラがハンドヘルドコントローラ(HHC)に面していることが含まれる。そのため、HHCが下部領域のカメラから見えなくなる可能性が低くなる。また、下部領域のカメラは、ユーザと一緒に移動するHMDと一緒に移動する。したがって、HMDに面するカメラなどのアウトサイドイントラッキングカメラがHHCの動きをキャプチャできない場合、HMDの下部領域のカメラは、HHCの動きの1つ以上の画像をキャプチャする。
【0009】
本開示の他の態様は、本開示に説明されている実施形態の原理の例として示される添付図面と併せて、下記の発明を実施するための形態から、明らかになるであろう。
【図面の簡単な説明】
【0010】
本開示に説明される様々な実施形態は、添付図面と併せて、以下の記述を参照することによって、最も良く理解することができる。
【0011】
【
図1A】ヘッドマウントディスプレイ(HMD)のカメラによるハンドヘルドコントローラ(HHC)のトラッキングを説明するための、システムの図である。
【0012】
【
図1B】HMDの位置及び向きを判定するためにアウトサイドイントラッキングカメラを使用する必要がないことを説明するための、システムの実施形態の図である。
【0013】
【
図1C】HMDが実世界環境において移動するときのHMDの基準点を説明するための、システムの実施形態の図である。
【0014】
【
図1D】HMDのカメラの視野の3次元ボリュームを説明するための、システムの実施形態の図である。
【0015】
【
図2A】HMDのカメラ上の基準座標系に対するHHCの位置1を説明するための、システムの実施形態の図である。
【0016】
【
図2B】HMDのカメラ上の基準座標系に対するHHCの別の位置2を説明するための、システムの実施形態の図である。
【0017】
【
図2C】HMDのカメラ上の基準座標系に対するHHCの別の位置3を説明するための、システムの実施形態の図である。
【0018】
【
図3A】実世界環境の基準座標系に対するHMDの位置aを説明するための、システムの実施形態の図である。
【0019】
【
図3B】実世界環境の基準座標系に対するHMDの別の位置bを説明するための、システムの実施形態の図である。
【0020】
【
図3C】実世界環境の基準座標系に対するHMDの位置cを説明するための、システムの実施形態の図である。
【0021】
【
図4A】実世界環境の基準座標系に対するHMDの位置aと、
図3Aのカメラの基準座標系に対するHHCの位置1を説明するための、システムの実施形態の図である。
【0022】
【
図4B】実世界環境の基準座標系に対するHMDの位置bと、
図3Bのカメラの基準座標系に対するHHCの位置2を説明するための、システムの実施形態の図である。
【0023】
【
図4C】実世界環境の基準座標系に対するHMDの位置cと、
図3Cのカメラの基準座標系に対するHHCの位置3を説明するための、システムの実施形態の図である。
【0024】
【
図5A】インタラクティブプログラムとインタフェースするためのビデオゲームコントローラの実施形態の斜視図である。
【0025】
【
図5B】HMDのカメラによって見た向き1を有するビデオゲームコントローラの実施形態の図である。
【0026】
【
図5C】HMDのカメラによって見た向き2を有するビデオゲームコントローラの実施形態の図である。
【0027】
【
図5D】HMDのカメラによって見た向き3を有するビデオゲームコントローラの実施形態の図である。
【0028】
【
図6】複数のカメラを備えたHMDを説明するための、システムの実施形態の図である。
【0029】
【
図7A】HMDの底面等角図の実施形態の図である。
【0030】
【0031】
【
図7C】HMDの下部領域にある複数のカメラを説明するための、HMDの実施形態の底面図である。
【0032】
【
図7D】HMDの上部領域にある複数のカメラを説明するための、
図7CのHMDの実施形態の上面図である。
【0033】
【0034】
【0035】
【
図8C】HMDの実施形態のさらに別の底面図である。
【0036】
【0037】
【0038】
【
図9A】HMDの下部領域にある複数のカメラの位置を示すための、HMDの実施形態の底面図である。
【0039】
【
図9B】HMDの下部領域にある複数のカメラの位置を示すための、HMDの実施形態の底面図である。
【0040】
【
図9C】HMDの下部領域にある複数のカメラの位置を示すための、HMDの実施形態の底面図である。
【0041】
【
図10A】基準座標系を基準にしたHMDの位置の判定を説明するための、システムの実施形態の図である。
【0042】
【
図10B】HMDの位置及び向きを判定するためのHMD上のプロジェクター及び検出器の使用を説明するための、システムの実施形態の図である。
【0043】
【
図11】推測航法を説明するための、システムの実施形態の図である。
【0044】
【
図12】HHCの画像がHMDの異なるカメラによってキャプチャされる時間に基づいて画像フレームのスティッチングを説明するための、システムの実施形態の図である。
【0045】
【0046】
【
図14】ビデオゲームのインタラクティブゲームプレイのためのシステムを示す。
【0047】
【0048】
【
図16】ビデオゲームコンテンツを生成してユーザが装着するHMDに提供できるコンピュータを使用したゲームプレイの一例を示す。
【0049】
【
図17】HMDの例示のコンポーネントを示すブロック図である。
【0050】
【
図18】情報サービスプロバイダアーキテクチャの実施形態を示す。
【0051】
【
図19】HHCの例示のコンポーネントを示すブロック図である。
【発明を実施するための形態】
【0052】
ヘッドマウントディスプレイ(HMD)に対するハンドヘルドコントローラ(HHC)の動きを判定するためのシステム及び方法を説明する。
【0053】
本開示に説明されている様々な実施形態は、これらの特定の詳細の一部または全部なしでも実施できることに留意されたい。他の例では、本開示に説明されている様々な実施形態を不必要にわかりにくくすることを避けるため、公知のプロセス動作については詳述しない。
【0054】
図1Aは、HMD104のカメラ108によるHHC102のトラッキングを説明するための、システム100の図である。システム100は、コンピューティングデバイス112、コンピュータネットワーク114、ゲームクラウドシステム116、カメラ118、HMD104、及びHHC102を含む。本明細書で使用されるカメラ118などのカメラの例には、魚眼カメラ、深度カメラ、画像キャプチャデバイス、赤外線LEDカメラ、及びSony(商標)プレイステーション(商標)カメラが含まれる。カメラ118は、アウトサイドイントラッキングカメラであり、カメラ108は、インサイドアウトトラッキングカメラである。さらに、カメラ108の例には、深度カメラ、LEDカメラ、赤外線LEDカメラ、及び画像キャプチャデバイスが含まれる。コンピューティングデバイス112の例には、ゲームコンソール、コンピュータ、タブレット、ルータ、プロセッサ、及びスマートフォンが含まれる。コンピュータネットワーク114は、インターネットなどの広域ネットワーク(WAN)またはイントラネットなどのローカルエリアネットワーク(LAN)を含むことができる。ゲームクラウドシステム116は、ゲームアプリケーションまたはビデオ会議アプリケーションなどのアプリケーションを実行する1つ以上のサーバを含む。一例として、ゲームクラウドシステム116は、アプリケーションを実行するための仮想マシンまたは分散型ゲームノードを含む。HHC102の例には、ビデオゲームコントローラ及びSony(商標)DualShock(商標)コントローラが含まれる。
【0055】
カメラ108は、カメラ108がHHC102に面するように、HMD104の下部領域に取り付けられている。例えば、カメラ108は、HMD104の湾曲した下面に取り付けられている。HMD104の下部領域は、HMD602のディスプレイ画面の下にある。カメラ118は、ユーザ106、HMD104、及びHHC102が配置されている、部屋または閉鎖空間または小個室または倉庫などの実世界環境内に配置される。カメラ118は、HMD104、HHC102、及びユーザ106に面している。
【0056】
カメラ118は、有線または無線接続を介してコンピューティングデバイス112に結合されている。さらに、HMD104は、有線または無線接続を介してコンピューティングデバイス112に結合されている。本明細書で使用される無線接続の例には、Bluetooth(商標)接続及びWi-Fi(商標)接続が含まれる。本明細書で使用される有線接続の例には、データのパラレル転送を提供するケーブル、またはユニバーサルシリアルバス(USB)接続であるケーブルが含まれる。コンピューティングデバイス112は、コンピュータネットワーク114を介してゲームクラウドシステム116に結合されている。
【0057】
ユーザ106はHMD104を自分の頭に装着している。さらに、ユーザ106はHHC102を自分の手に保持している。ユーザ106は、HHC102上の1つ以上の入力ボタンを使用することによって、自分のログイン情報を提供する。ログイン情報は、HHC102からコンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116に提供される。ゲームクラウドシステム116の1つ以上のサーバは、ログイン情報を認証して、ゲームクラウドシステム116内に格納されているユーザアカウントAへのアクセスを提供する。ユーザアカウントAは、ゲームクラウドシステム116の1つ以上のサーバによってユーザ106に割り当てられる。
【0058】
ユーザ106がユーザアカウントAへのアクセスを提供されると、ユーザ106は、HHC102上の1つ以上の入力ボタンを選択するか、HHC102上の1つ以上のジョイスティックを動かすか、HHC102を動かすか、HMD104を動かすか、またはこれらの動きと選択の組み合わせを実行する。HHC102が動かされ、及び/またはHHC102上の1つ以上の入力ボタンが選択され、及び/またはHHC102上の1つ以上のジョイスティックが動かされると、HHC102の1つ以上のセンサが、有線または無線接続を介してHHC102からコンピューティングデバイス112へ送信される入力データを生成する。同様に、HMD104が動かされると、HMD104の1つ以上のセンサは、HMD104から有線または無線接続を介してコンピューティングデバイス112に送信される入力データを生成する。HMD104の動きは、実世界環境のxyz座標系などの基準座標系に対して発生する。例えば、実世界環境の基準座標系に対して、HMD104の位置及び向きの変化がある。さらに、HHC102の動きは、HMD104に固定されているXYZ座標系などの別の基準座標系に対して発生する。本明細書に記載されるような1つ以上のセンサの例には、静電容量センサ及び慣性センサが含まれる。慣性センサの例には、ジャイロスコープ、加速度計、磁力計が含まれる。
【0059】
さらに、HMD104のカメラ108は、カメラ108の視野(field-of-view、FOV)110内のHHC102のユーザ106による1つ以上の動きの画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングデバイス112に送信する。FOV110は、本明細書ではインタラクションゾーンと呼ばれることもある。カメラ108によってキャプチャされた画像は、FOV110内にある実世界環境の一部の画像を含み、またHHC102の画像も含む。カメラ108は、HMD104から下向きに向けられて、HMD104、HHC102、コンピューティングデバイス112、及びユーザ106が配置されている実世界環境の床に面する。床はFOV110内にある。例えば、カメラ108のレンズは、床から反射される光を受け取る開口を有する。この例では、開口は、開口が壁に面するようにユーザ106が自分の頭を持ち上げない限り、実世界環境のどの壁からも反射された光を受け取らない。ユーザ110が壁に面しているとき、カメラ108の開口は床に向かって下向きであり、したがってFOV110は床に向かって下向きに延びる。
【0060】
FOV110は、y方向に高さ、x方向に幅、z方向に深度を有する3次元視野である。以下に、y方向、x方向、z方向について説明する。また、HMD104に面しているカメラ118は、実世界環境の1つ以上の画像をキャプチャし、画像は、カメラ118の視野111内でのHMD104のユーザ106による動きを含む。カメラ118のXYZ座標系に対するHMD104の動きの1つ以上の画像のキャプチャは、本明細書では、アウトサイドイントラッキングと呼ばれることがある。カメラ118によってキャプチャされた画像は、有線または無線接続を介してコンピューティングデバイス112に送信される。
【0061】
コンピューティングデバイス112は、HMD104から受信した入力データ、HHC102から受信した入力データ、カメラ108から受信した画像、及びカメラ118から受信した画像などの情報データを、コンピュータネットワーク114を介してゲームクラウドシステム116の1つ以上のサーバへ送信する。ゲームクラウドシステム116の1つ以上のサーバは、情報データを受信し、アプリケーションを実行して、HMD104のディスプレイ画面に表示されている仮想シーンの状態を変更し、仮想シーンの別の状態を出力する。仮想シーンの状態は、本明細書ではコンテンツと呼ばれることがある。例示のために、ゲームクラウドシステム116の1つ以上のサーバは、カメラ118のxyz座標系に対するHMD104の動きの画像を受信し、画像内のHMD104の動きから、HMD104の1つ以上の位置への変更、及びHMD104の1つ以上の向きへの変更を判定する。HMD104の1つ以上の位置への変更は、HMD104の他の1つ以上の位置を判定するためにゲームクラウドシステム116によって分析され、HMD104の1つ以上の向きへの変更は、HMD104の他の1つ以上の向きを判定するためにゲームクラウドシステム116によって分析される。例えば、点Aから点BへのHMD104の位置の変化は、HMD104が現在点Bにあることを判定するために分析される。別の例として、向きAから向きBへのHMD104の向きの変化が分析され、HMD104が向きBにあると判定される。HMD104の他の1つ以上の位置及びHMD104の他の1つ以上の向きは、仮想シーンの他の状態に対応する。カメラ118のxyz座標系に対するHMD104の動きは、実世界環境におけるHMD104の動きである。
【0062】
説明を続けると、ゲームクラウドシステム116の1つ以上のサーバは、HMD104のXYZ座標系に対するHHC102の動きの画像を受信し、アプリケーションを実行して、HHC102の動きからHHC102の1つ以上の位置への変化を判定し、HHC102の他の1つ以上の位置及びHHC102の1つ以上の向きを判定し、HHC102の他の1つ以上の向きを判定する。HHC102の他の1つ以上の位置及びHHC102の他の1つ以上の向きは、仮想シーンの他の状態に対応する。HHC102の1つ以上の位置への変更及び1つ以上の向きへの変更は、カメラ108のXYZ座標系を基準にして判定される。動きは、複数の位置及び/または複数の向きを含むことに留意されたい。例えば、HHC102の動きは、HHC102の複数の位置及び/または複数の向きを含み、HMD104の動きは、HMD104の複数の位置及び/またはHMD104の複数の向きを有する。
【0063】
HHC102の位置は、XYZ座標系の原点などの基準座標からのX方向の距離、XYZ座標系の基準座標からのY方向の距離、及びXYZ座標系の基準座標からのZ方向の距離を含むことに留意されたい。また、HHC102の向きは、XYZ座標系のX軸に対する角度、XYZ座標系のY軸に対する角度、及びXYZ座標系のZ軸に対する角度を含む。X軸はY軸とZ軸のそれぞれに垂直であり、Y軸はZ軸に垂直である。X方向はX軸の方向、Y方向はY軸の方向、Z方向はZ軸の方向である。
【0064】
同様に、実世界環境におけるHMD104の位置は、xyz座標系の原点(0,0,0)などの基準座標RMからのx方向の距離、xyz座標系の基準座標RMからのy方向の距離、及びxyz座標系の基準座標RMからのz方向の距離を含むことに留意されたい。また、HMD104の向きは、基準座標RMを有するxyz座標系のx軸に対する角度、xyz座標系のy軸に対する角度、及びxyz座標系のz軸に対する角度を含む。x軸はy軸とz軸のそれぞれに垂直であり、y軸はz軸に垂直である。x方向はx軸の方向、y方向はy軸の方向、z方向はz軸の方向である。
【0065】
仮想シーンの状態の例には、仮想シーン内の1つ以上の仮想オブジェクトのテクスチャ、または仮想オブジェクトの色、または仮想オブジェクトの強度、または仮想オブジェクトのグラフィックス、または仮想オブジェクトの表示と共に出力されるオーディオデータ、または仮想オブジェクトの位置、または仮想オブジェクトの向き、または仮想シーンの仮想背景のテクスチャ、または仮想背景の色、または仮想背景の強度、または仮想背景のグラフィックス、または仮想背景の表示と共に出力されるオーディオデータ、または仮想背景の位置、または仮想背景の向きが含まれる。仮想背景の例には、仮想オブジェクトを含まない仮想シーンの一部がある。
【0066】
ゲームクラウドシステム116の1つ以上のサーバは、仮想シーンの状態を変更して、画像またはオーディオフレームなどの複数のフレームを生成し、複数のフレームを符号化して、複数の符号化されたフレームを出力する。複数のフレームには、修正された仮想シーンの、他の状態などの修正された状態が含まれる。ゲームクラウドシステム116の1つ以上のサーバは、符号化されたフレームをコンピュータネットワーク114を介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、符号化されたフレームを復号し、復号されたフレームを有線または無線接続を介してHMD104に送信する。HMD104のビデオプロセッサは、復号されたフレームに従って仮想シーンの表示を変更または更新して、修正された仮想シーンをHMD104に表示し、及び/またはHMD104のオーディオプロセッサは、仮想シーンと共に音声出力を変更する。音声は、HMD104の1つ以上のスピーカを介して出力される。
【0067】
一実施形態では、HHC102の代わりに、銃型コントローラまたはSony(商標)Move(商標)コントローラなどの別のタイプのコントローラが使用される。
【0068】
一実施形態では、HMD104とゲームクラウドシステム116との間に使用されるコンピューティングデバイス112はない。例えば、本明細書で説明されるコンピューティングデバイス112によって実行されていた機能は、代わりにHMD104によって実行され、HMD104とコンピュータネットワーク114との間に配置されたコンピューティングデバイス112はない。さらに説明すると、コンピューティングデバイス114によって実行されるものとして本明細書に記載される機能は、HMD104内に統合された1つ以上のプロセッサによって実行される。別の例として、HMD104とゲームクラウドシステム116との間でデータを転送する本明細書に記載の機能は、HMD104内のワイヤレスアクセスカード(WAC)によって実行される。HMD104のWACは、コンピュータネットワーク114と通信する。別の説明として、HMD104とゲームクラウドシステム116との間で本明細書に記載のデータを転送する本明細書に記載の機能は、HMD104内のブロードバンド通信集積回路(IC)によって実行される。ブロードバンド通信ICの例は、加入者識別モジュール(SIM)カードである。ブロードバンド通信ICは、本明細書で説明されるデータを、コンピュータネットワーク114と通信する複数のセルタワーを含むセルラーネットワークと通信する。さらに別の例として、HMD104は、Wi-Fi(商標)プロトコルまたはBluetooth(商標)プロトコルなどの短距離無線プロトコルを介してルータに通信するための通信回路を含む。ルータは実世界環境内にあり、コンピュータネットワーク114に結合されている。
【0069】
図1Bは、HMD104の位置及び向きを判定するためにカメラ118(
図1A)を使用する必要がないことを説明するための、システム120の実施形態の図である。むしろ、インサイドアウトトラッキングは、カメラ108を用いて実行される。実世界環境のxyz座標系などの基準座標系に対するHMD104の位置、動き、及び向きは、HMD104のカメラ108を使用してトラッキングされる。
【0070】
システム120は、HMD104、HHC102、及びコンピューティングデバイス112を含む。コンピューティングデバイス112は、HMD104及びHHC102が配置されている実世界環境内に配置されているテーブルまたはテレビ台などの支持体122上に置かれている。サポート112の下部には、実世界環境のxyz座標系が配置されている。
【0071】
ユーザ106が実世界環境のxyz座標系の原点(0,0,0)などの基準点RAに近づいたり遠ざかったりすると、カメラ108は基準点RAに対するHMD104の位置の変化をトラッキングする。同様に、ユーザ106が基準点RAに対して自分の頭を動かすと、カメラ108は、実世界環境のxyz座標系に対するHMD104の向きの変化をトラッキングする。実世界環境のxyz座標系に対するHMD104の位置及び向きのカメラ108によるトラッキングは、本明細書では、HMD104のインサイドアウトトラッキングと呼ばれることがある。カメラ108は、カメラ108のFOV110内の実世界環境の一部の1つ以上の画像をキャプチャし、1つ以上の画像は、基準点RAを含む。
【0072】
HMD104のカメラ108によるHMD104の位置及び向きのトラッキングに加えて、HMD104は、HMD104の加速度の測定値、HMD104の角速度の測定値、HMD104の位置の測定値、及び慣性センサの座標系に対するHMD104の向きの測定値などの慣性データを出力する慣性センサを含む。例えば、HMD104のジャイロスコープは、ジャイロスコープの座標系に対するHMD104の向きの角速度を測定する。ジャイロスコープの座標系にはスピン軸がある。スピン軸は、上記のy軸と同等であり、一方向に垂直に上向き、反対方向に下向きである。HMD104の慣性センサの座標系は、実世界環境の座標系の一例であることに留意されたい。HMD104のセンサによって生成される慣性データは、HMD104によって生成される入力データの例である。
【0073】
カメラ108によってキャプチャされた実世界環境の1つ以上の画像、及びHMD104のセンサによって生成された慣性データは、有線または無線接続を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、実世界環境の1つ以上の画像と、HMD104のセンサによって生成された慣性データを、仮想シーンの状態を変更するためにコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。
【0074】
一実施形態では、実世界環境のxyz座標系は、支持体122の表面上の任意の点、または実世界環境内の任意の点に配置されている。例えば、実世界環境のxyz座標系は、HMD104及びHHC102が配置されている部屋のコーナーに配置されている。
【0075】
一実施形態では、カメラ108がHMD104の下部領域に配置される代わりに、カメラ(図示せず)がHHC102の上面122に配置される。上面122は、HHC102のボタン及びジョイスティックが配置される面である。HHC102の上面122に配置されたカメラ(図示せず)は、HMD104の1つ以上の画像をキャプチャし、原点などの基準点がカメラ(図示せず)に配置された基準座標系を有する。HHC102の上面122上でカメラ(図示せず)によってキャプチャされたHMD104の1つ以上の画像は、カメラ(図示せず)の基準座標系に対するHMD104の位置及び向きを含む。HHC102は、HHC102のカメラ(図示せず)によってキャプチャされた画像を、有線または無線接続を介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、HHC102のカメラ(図示せず)によってキャプチャされた画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、HHC102のカメラ(図示せず)によってキャプチャされた画像から、HHC102に対するHMD104の位置、動き、及び向きを判定し、その位置と向きに応じて仮想シーンの状態を変更する。
【0076】
一実施形態では、HMD104の慣性センサによって測定されたHMD104の位置及び向きは、ユーザ106によるHMD104の使用のしばらく後にドリフトする。例えば、HMD104の慣性センサによってトラッキングされるHMD104の位置及び向きはしばらくすると不正確になり、誤差が発生する。この場合、実世界環境のカメラ118及び/またはカメラ108によって生成された1つ以上の画像は、ゲームクラウドシステム116の1つ以上のサーバによって使用されて、HMD104の不正確な位置及び不正確な向きを調整する。例えば、HMD104の慣性センサによって測定された不正確な向きが(X1,Y1,Z1)であり、ゲームクラウドシステム116の1つ以上のサーバによって1つ以上の画像から導出されたHMD104の向きが(X2,Y2,Z2)である場合、ゲームクラウドシステム116の1つ以上のサーバは、HMD104の向きが(X1,Y1,Z1)ではなく(X2,Y2,Z2)であることを判定する。したがって、ゲームクラウドシステム116の1つ以上のサーバは、HMD104の慣性センサのドリフトを補正する。
【0077】
一実施形態では、カメラ108は、カメラ108を取り巻く実世界環境を事前スキャンして、基準点RAを有するオブジェクトと、実世界環境内の1つ以上の他の基準点を有する1つ以上の追加オブジェクトの画像をキャプチャする。例えば、ゲームプレイのためのアプリケーションの実行の前に、カメラ108は、実世界環境の画像をキャプチャする。ゲームプレイの前に、HMD104は、ユーザ106が自分の頭を動かして、実世界環境の部分的なビューまたは360度ビューなどの全体的なビューを取得するための指示を表示することができる。指示を見ると、ユーザ106は自分の頭を動かし、HMD104のカメラ108は、オブジェクト及び1つ以上の追加のオブジェクトの画像をキャプチャする。画像は、コンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116に送信される。ゲームクラウドシステム116は、画像からオブジェクトを識別し、基準点を修正する。ゲームプレイ中またはアプリケーションの実行中に、カメラ108は、実世界環境の基準点RA及び1つ以上の他の基準点を有する1つ以上の追加の画像をキャプチャし、その画像をコンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、基準点RA及び1つ以上の他の基準点に対するHMD104の動きを判定する。
【0078】
図1Cは、HMD104が実世界環境において移動するときのHMD104の基準点を説明するための、システム130の実施形態の図である。
図1Bのユーザ106が移動すると、HMD104が移動する。HMD104の基準点は、時間t1において位置P1にある。時間t1において、HHC102は、実世界環境内の位置PO1にある。HHC102の位置PO1は、時間t1におけるHMD104の位置P1を基準にして判定される。例えば、時間t1において、HMD104のカメラ108は、HMD104の位置P1を基準にして、コントローラHHC102の位置PO1を含む1つ以上の画像をキャプチャする。ゲームクラウドシステム116(
図1A)の1つ以上のサーバは、カメラ108からコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介して1つ以上の画像を受信して、HMD104の位置P1を基準にしてコントローラHHC102の位置PO1を識別する。次に、位置PO1及びP1は、仮想シーンの状態を変更するためにアプリケーションを実行するために、ゲームクラウドシステム116の1つ以上のサーバによって使用される。
【0079】
HMD104の基準点は、時間t2において位置P1から位置P2に移動する。また、時間t2において、HHC102は、実世界環境内の位置PO2にある。時間t2において、HMD104のカメラ108は、HMD104の位置P2を基準にして、HHC102の位置PO2を含む1つ以上の画像をキャプチャする。ゲームクラウドシステム116の1つ以上のサーバは、コンピューティングデバイス112及びコンピュータネットワーク114を介して1つ以上の画像を受信し、HMD104の位置P2を基準にしてHHC102の位置PO2を識別して、HHC102のPO1からPO2への位置及びHMD104のP1からP2への位置の変化に基づいて仮想シーンの状態を変更する。
【0080】
同様に、時間t3において、カメラ108は、仮想シーンの状態の変化を容易にするために、HMD104の位置P3に対するHHC102の位置PO3をキャプチャする。仮想シーンの状態は、HMD104の位置の位置P2から位置P3への変化、及びHMD104の位置の位置PO2から位置PO3への変化に基づいて変化する。また、時間t4において、カメラ108は、仮想シーンの状態の変化を容易にするために、HMD104の位置P4に対するHHC102の位置PO4をキャプチャする。仮想シーンの状態は、HMD104の位置の位置P3から位置P4への変化、及びHMD104の位置の位置PO3から位置PO4への変化に基づいて変化する。
【0081】
図1Dは、カメラ108のFOV110の、多角形ボリュームなどの3次元ボリュームを説明するための、システム130の実施形態の図である。システム130は、HMD104及び実世界環境を含む。FOV110は、カメラ108から始まり、実世界環境の床F上に位置する部分132まで延びる3次元ボリュームを作成する。床Fは、実世界環境の壁W1に垂直であり、壁W1は、実世界環境の別の壁W2に垂直または実質的に垂直である。床Fはまた、壁W2に対して垂直または実質的に垂直である。部分132は、対角線DR、長さLR、及び幅WRを有する長方形の部分である。長さLRは、本明細書では垂直範囲と呼ばれることがあり、幅WRは、本明細書では水平範囲と呼ばれることがあり、対角線DRは、本明細書では対角線範囲と呼ばれることがある。
【0082】
FOV110内には、床F上に配置されたオブジェクトO1がある。オブジェクトO1は、垂直面VS及び水平面HSを有する。水平面HSは、オブジェクトO1の上面であり、垂直面VSに隣接している。一例として、水平面HSは、垂直面VSに対して垂直または実質的に垂直である。水平面HSと垂直面VSとの交点には、基準座標系の原点(0,0,0)などの基準座標RBが配置されている。オブジェクトO1上に基準座標RBを持つ基準座標系は、実世界環境のxyz座標系である。オブジェクトO1上のxyz座標系には、x軸、y軸、及びz軸がある。
【0083】
カメラ108は、オブジェクトO1及び部分132の1つ以上の画像をキャプチャし、HMD104はその画像を、
図1Aのコンピューティングデバイス112及び
図1Aのコンピュータネットワーク114を介して、
図1Aのゲームクラウドシステム116に送信する。ゲームクラウドシステム116の1つ以上のサーバは、基準座標RBに対するカメラ108の位置を識別し、その位置は、オブジェクトO1上の基準座標RBからのx方向に沿った距離、基準座標RBからのy方向に沿った距離、及び基準座標RBからのz方向に沿った距離を含む。また、ゲームクラウドシステム116の1つ以上のサーバは、カメラ108の向きを識別し、その向きは、オブジェクトO1上の基準座標系のx軸に対する基準座標RBに対して形成される角度、オブジェクトO1上の基準座標系のy軸に対して形成される角度、及びオブジェクトO1上の基準座標系のz軸に対して形成される角度を含む。
【0084】
一実施形態では、部分132は、多角形または楕円形または円形または台形または菱形などの別の形状を有する。
【0085】
一実施形態では、実世界環境の基準座標系133は、壁W1、壁W2、及び床Fの交点に配置されている。基準座標系133は、x軸、y軸、及びz軸を含み、x、y、及びz軸の交点は、原点(0,0,0)などの基準点である。交点は、壁W1、壁W2、及び床Fの交点にある。x軸は基準点から壁W2の方向にあり、y軸は基準点から壁W1の方向にあり、z軸は基準点から床Fの方向にある。FOV110は、カメラ108の開口がFOV110に向けられているときの基準点を含む。
【0086】
図2A~2Cは、HMD104が静止しているときのHHC102の位置の変化、及びHMD104上に表示される仮想シーン上の位置の変化の影響を説明するための、システム200の実施形態の図である。
図2Aは、カメラ108上の基準座標系に対するHHC102の位置1を説明するための、システム200の実施形態の図である。システム200は、HHC102及びHMD104を含む。カメラ108上の基準座標系は、原点(0,0,0)などの基準座標R1を有する。HHC102の位置1は、カメラ108上の基準座標系の基準座標R1に対する座標(X1,Y1,Z1)を有する。
【0087】
カメラ108は、位置1のHHC102の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置1に基づいて、HMD104のディスプレイ画面に表示された仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン202Aの状態を有する1つ以上のフレームを生成する。仮想シーンは、本明細書では画像シーンと呼ばれることもある。仮想シーン202Aの状態を有するフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン202Aの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス114は、仮想シーン202Aの状態を有する符号化フレームを復号して1つ以上のフレームを出力し、1つ以上のフレームを有線または無線接続を介してHMD104に送信して、HMD104上に仮想シーン202Aを表示する。仮想シーン202Aは、仮想家屋、仮想銃、仮想木、及び仮想十字線などの1つ以上の仮想オブジェクトを含む。仮想シーン202Aの仮想十字線は、カメラ108上の基準座標R1に対するHHC102の位置1に基づいてゲームクラウドシステム116によって判定される位置Aを有する。
【0088】
図2Bは、カメラ108上の基準座標系に対するHHC102の別の位置2を説明するための、システム200の実施形態の図である。
図2Aに示されているHMD104の位置と比較して、HMD104の動きはまったくないか、または最小限である。カメラ108上の基準座標系は、同じ基準座標R1を有する。例えば、基準座標R1は、カメラ118(
図1A)に対して同じ場所または実質的に同じ場所にある実世界環境内の位置にある。HHC102の位置2は、カメラ108上の基準座標系の基準座標R1に対する座標(X2,Y2,Z2)を有する。HHC102の位置2は、ユーザ106がHHC102の位置1(
図2A)と比較して、HHC102を自分の右に動かすときに達成される。
【0089】
カメラ108は、位置2のHHC102の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置2に基づいて、仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン202Bの状態を有する1つ以上のフレームを生成する。仮想シーン202Bの状態を有するフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン202Bの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス114は、仮想シーン202Bの状態を有する符号化フレームを復号して1つ以上のフレームを出力し、1つ以上のフレームを有線または無線接続を介してHMD104に送信して、HMD104上に仮想シーン202Bを表示する。仮想シーン202Bは、
図2Aを参照して上で説明された仮想オブジェクトを含む。仮想シーン202B内の仮想十字線は、HHC102の位置2に基づいてゲームクラウドシステム116によって判定される位置Bを有する。位置Bが、シーン202A内の仮想十字線の位置Aの右側に移動したことに留意されたい。
【0090】
図2Cは、カメラ108上の基準座標系に対するHHC102のさらに別の位置3を説明するための、システム200の実施形態の図である。カメラ108上の基準座標系は、同じ基準座標R1を有する。HHC102の位置3は、カメラ108上の基準座標系の基準座標R1に対する座標(X3,Y3,Z3)を有する。HHC102の位置3は、ユーザ106がHHC102の位置2(
図2B)と比較して、HHC102を自分の右に動かすときに達成される。
【0091】
カメラ108は、位置3のHHC102の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置3に基づいて、仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン202Cの状態を有する1つ以上のフレームを生成する。仮想シーン202Cの状態を有するフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン202Cの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス114は、仮想シーン202Cの状態を有する符号化フレームを復号して1つ以上のフレームを出力し、1つ以上のフレームを有線または無線接続を介してHMD104に送信して、HMD104上に仮想シーン202Cを表示する。仮想シーン202Cは、
図2Aを参照して上で説明された仮想オブジェクトを含む。仮想シーン202C内の仮想十字線は、HHC102の位置3に基づいてゲームクラウドシステム116によって判定される位置Cを有する。位置Cが、シーン202B内の仮想十字線の位置Bの右側に移動したことに留意されたい。
【0092】
図2A~2Cでは、ユーザ106の頭部の動きがまったくないか、または最小限である場合、カメラ108には動きがないか、または最小限であることに留意されたい。ユーザ106の頭は、
図2A~2Cにおいて静止しているか、または実質的に静止している。
【0093】
一実施形態では、仮想シーン202Bは、仮想シーン202A内の仮想オブジェクトと比較して1つ以上の追加の仮想オブジェクトを含むか、または仮想シーン202Aに示される仮想オブジェクトの1つ以上を除外する。同様に、仮想シーン202Cは、仮想シーン202A内の仮想オブジェクトと比較して1つ以上の追加の仮想オブジェクトを含むか、または仮想シーン202Aに示される仮想オブジェクトの1つ以上を除外する。
【0094】
一実施形態では、HHC102が位置1にあるとき、HHC102は、カメラ108上の基準座標系に対して向きAにある。向きAは、(角度X1、角度Y1、角度Z1)の角度を形成する。角度X1は、カメラ108上の基準座標系のX軸を基準にして形成され、角度Y1は、カメラ108上の基準座標系のY軸に対して形成され、角度Z1は、カメラ108上の基準座標系のZ軸に対して形成される。同様に、HHC102が位置2にあるとき、HHC102は、カメラ108上の基準座標系に対して向きBにある。向きBは、(角度X2、角度Y2、角度Z2)の角度を形成する。角度X2は、カメラ108上の基準座標系のX軸を基準にして形成され、角度Y2は、カメラ108上の基準座標系のY軸に対して形成され、角度Z2は、カメラ108上の基準座標系のZ軸に対して形成される。また、HHC102が位置3にあるとき、HHC102は、カメラ108上の基準座標系に対して向きCにある。向きCは、(角度X3、角度Y3、角度Z3)の角度を形成する。角度X3は、カメラ108上の基準座標系のX軸を基準にして形成され、角度Y3は、カメラ108上の基準座標系のY軸に対して形成され、角度Z3は、カメラ108上の基準座標系のZ軸に対して形成される。一実施形態では、角度X1は、角度X2及びX3と同じであり、角度Y1は、角度Y2及びY3と同じであり、角度Z1は、角度Z2及びZ3と同じである。
【0095】
図3A~3Cは、HHC102が静止しているか実質的に静止しているときのHMD104の位置の変化、及びHMD104上に表示される仮想シーン上の位置の変化の影響を説明するための、システム200の実施形態の図である。
図3Aは、実世界環境の基準座標系に対するHMD104の位置aを説明するための、システム200の実施形態の図である。実世界環境の基準座標系は、HHC102上のカメラの位置(図示せず)、またはカメラ118の位置(
図1A)、または実世界環境内の壁もしくは床もしくはオブジェクトなどの構造上の点にあり得る。カメラ108上の基準座標系は、実世界環境の基準座標系に対して位置aにある基準座標R1を有する。HMD104の位置aは、実世界環境の基準座標系に対して座標(xa,ya,za)を有する。さらに、HHC102は、HMD104を基準にして位置1にある。
【0096】
カメラ118またはHHC102上のカメラ(図示せず)などの実世界環境のカメラは、位置aのHMD104の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置aに基づいて、HMD104のディスプレイ画面上に表示された仮想シーンの状態の変化を判定し、HMD104上で表示される仮想シーン202Aの状態を有する1つ以上のフレームを生成する。仮想シーン202Aの状態を有するフレームは、符号化され、HMD104上に仮想シーン202Aを表示するために、ゲームクラウドシステム116からコンピュータネットワーク114及びコンピューティングデバイス112を介して送信される。仮想シーン202Aの仮想十字線は、HMD104のカメラ108上の基準座標R1に対するHHC102の位置1に基づいてゲームクラウドシステム116によって判定される位置Aを有する。
【0097】
図3Bは、実世界環境の基準座標系に対するHMD104の位置bを説明するための、システム200の実施形態の図である。カメラ108上の基準座標系は、実世界環境の基準座標系に対して位置bにある基準座標R2を有する。HMD104の位置bは、実世界環境の基準座標系に対して座標(xb,yb,zb)を有する。また、HHC102は、HMD104を基準にして位置1にある。HHC102は、HMD104のカメラ108に対して同じ位置または実質的に同じ位置にあり、
図3Aに示されるHHC102の位置1と
図3Bに示される位置1との間には動きがまったくないか、または最小限である。
【0098】
実世界環境のカメラは、位置bのHMD104の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置bに基づいて、HMD104のディスプレイ画面に表示された仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン302Aの状態を有する1つ以上のフレームを生成する。仮想シーン302Aの状態を有する1つ以上のフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン302Aの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、仮想シーン302Aの状態を有する符号化されたフレームを復号して、1つ以上のフレームを出力し、有線または無線接続を介してフレームをHMD104に送信する。HMD104は、仮想シーン302Aの状態を有するフレームを受信し、仮想シーン302AをHMD104のディスプレイ画面に表示する。仮想シーン302Aは、仮想シーン202A内の仮想家屋の完全な画像と比較して、仮想家屋の部分的な画像を有する。さらに、仮想シーン302Aは、仮想シーン202A内の仮想木の部分的な画像と比較して、仮想木の完全な画像を有する。また、仮想シーン302Aは、仮想十字線が仮想家屋を指しているのではなく、仮想シーン202Aの仮想背景の一部を指している仮想シーン202Aと比較して、仮想家屋を指している仮想十字線を有する。仮想シーン302Aでは、
図3AのHMD104の位置aと比較してHMD104が右に移動するため、仮想シーン302A内のすべての仮想オブジェクトは、仮想シーン202Aと比較して左に移動する。
【0099】
仮想シーン302Aの仮想十字線は、カメラ108の基準座標R2の代わりにカメラ108の基準座標R1に対するHHC102の位置1に基づいてゲームクラウドシステム116によって判定される、同じ位置Aを有する。HHC102の位置1は、HMD104が位置aから位置bに移動したとしても、HMD104の位置aを基準にして判定される。例えば、カメラ108は、位置1のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。また、実世界環境のカメラは、位置bのHMD104の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。コンピューティングユニット112は、位置1のHHC102の画像及び位置bのHMD104の画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。
【0100】
ゲームクラウドシステム116は、画像から、HHC102の位置1及びHMD104の位置bを判定する。ゲームクラウドシステム116は、HHC102の位置1が変化しておらず、HMD104の位置が位置aから位置bに変化したと判定する。HHC102の位置1が変化しておらず、HMD104の位置が位置aから位置bに変化したと判定すると、ゲームクラウドシステム116は、仮想クロスバーの位置Aが仮想シーン202Aのそれと同じままである仮想シーン302Aの状態を生成する。ゲームクラウドシステム116は、HHC102の位置1が変化していないと判定すると、位置aから位置bへのHMD104の位置の変化を無視する。位置1のHHC102と位置aのHMD104との間の相対位置から、位置1のHHC102と位置bのHMD104との間の相対位置に変化があるが、ゲームクラウドシステム116は、仮想クロスバーの位置Aを変更しない。むしろ、仮想シーン202A内の仮想木及び仮想家屋などの仮想オブジェクトが移動される。
【0101】
図3Cは、実世界環境の基準座標系に対するHMD104の位置cを説明するための、システム200の実施形態の図である。カメラ108上の基準座標系は、実世界環境の基準座標系に対して位置cにある基準座標R3を有する。HMD104の位置cは、実世界環境の基準座標系に対して座標(xc,yc,zc)を有する。また、HHC102は、HMD104を基準にして位置1にある。
図3Bに示されている位置1からのHHC102の動きには変化がまったくないか、または最小限である。
【0102】
実世界環境のカメラは、位置cのHMD104の1つ以上の画像をキャプチャし、その画像をコンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、画像から識別された位置cに基づいて、HMD104のディスプレイ画面上に表示された仮想シーンの状態の変化を判定し、HMD104上に表示される仮想シーン302Bの状態を有する1つ以上のフレームを生成する。仮想シーン302Bの状態を有する1つ以上のフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン302Bの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、仮想シーン302Bの状態を有する符号化されたフレームを復号して、1つ以上のフレームを出力し、フレームを有線または無線接続を介してHMD104に送信する。HMD104は、仮想シーン302Bの状態を有するフレームを受信し、仮想シーン302BをHMD104のディスプレイ画面に表示する。仮想シーン302Bは、仮想シーン302A内の仮想家屋の部分画像と比較して、仮想家屋の画像を有していない。さらに、仮想シーン302Bは、仮想シーン302A内の仮想木の完全な画像と比較して、仮想木の部分的な画像を有する。また、仮想シーン302Bは、仮想十字線が仮想家屋を指している仮想シーン302Aと比較して、仮想木を指している仮想十字線を有する。仮想シーン302Bでは、
図3BのHMD104の位置bと比較してHMD104が右に移動するため、仮想シーン302B内のすべての仮想オブジェクトは、仮想シーン302Aと比較して左に移動する。
【0103】
仮想シーン302Bの仮想十字線は、カメラ108の基準座標R3の代わりにカメラ108の基準座標R1に対するHHC102の位置1に基づいてゲームクラウドシステム116によって判定される、同じ位置Aを有する。HHC102の位置1は、HMD104が位置bから位置cに移動したとしても、HMD104の位置aを基準にして判定される。例えば、カメラ108は、位置1のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。また、実世界環境のカメラは、位置cのHMD104の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。コンピューティングユニット112は、位置1のHHC102の画像及び位置cのHMD104の画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。
【0104】
ゲームクラウドシステム116は、画像から、HHC102の位置1及びHMD104の位置cを判定する。ゲームクラウドシステム116は、HHC102の位置1が変化しておらず、HMD104の位置が位置bから位置cに変化したと判定する。HHC102の位置1が変化しておらず、HMD104の位置が位置bから位置cに変化したと判定すると、ゲームクラウドシステム116は、仮想クロスバーの位置Aが仮想シーン202Aのそれと同じままである仮想シーン302Bの状態を生成する。ゲームクラウドシステム116は、HHC102の位置1が変化していないと判定すると、位置bから位置cへのHMD104の位置の変化を無視する。位置1のHHC102と位置bのHMD104との間の相対位置から、位置1のHHC102と位置cのHMD104との間の相対位置への変化があるが、ゲームクラウドシステム116は仮想クロスバーの位置Aを変更しない。
【0105】
図3A~3Cでは、ユーザ106の手の動きがまったくないか、または最小限である場合、HHC102には動きがまったくないか、または最小限であることに留意されたい。ユーザ106の手は、
図3A~3Cにおいて静止しているか、または実質的に静止している。
【0106】
一実施形態では、仮想シーン302Aは、仮想シーン202A内のものと比較して1つ以上の追加の仮想オブジェクトを含むか、または仮想シーン202Aに示される仮想オブジェクトの1つ以上を除外する。同様に、仮想シーン302Bは、仮想シーン202A内のものと比較して1つ以上の追加の仮想オブジェクトを含むか、または仮想シーン202Aに示される仮想オブジェクトの1つ以上を除外する。
【0107】
図4A~4Cは、HHC102の位置の変化と同時のHMD104の位置の変化、及びHMD104上に表示される仮想シーン上の位置の変化の影響を説明するための、システム200の実施形態の図である。
図4Aは、実世界環境の基準座標系に対するHMD104の位置aと、カメラ108の基準座標系R1に対するHHC102の位置1を説明するための、システム200の実施形態の図である。また、HHC102は、HMD104を基準にして位置1にある。
【0108】
実世界環境のカメラは、位置aのHMD104の1つ以上の画像をキャプチャし、カメラ108は、位置1のHHC102の1つ以上の画像をキャプチャする。実世界環境のカメラ及びカメラ108によってキャプチャされた画像は、コンピューティングデバイス112(
図1A)及びコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信される。ゲームクラウドシステム116は、HMD104の画像から識別された位置a及びHHC102の画像から識別された位置1に基づいて、HMD104のディスプレイ画面上に表示された仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン202Aの状態を有する1つ以上のフレームを生成する。仮想シーン202Aの状態を有するフレームは、符号化され、HMD104上に仮想シーン202Aを表示するために、ゲームクラウドシステム116からコンピュータネットワーク114及びコンピューティングデバイス112を介して送信される。仮想シーン202Aの仮想十字線は、HMD104のカメラ108上の基準座標R1に対するHHC102の位置1に基づいてゲームクラウドシステム116によって判定される位置Aを有する。
【0109】
図4Bは、HHC102が位置2にある間の実世界環境の基準座標系に対するHMD104の位置bを説明するための、システム200の実施形態の図である。カメラ108は、位置2のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。また、実世界環境のカメラは、位置bのHMD104の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。コンピューティングユニット112は、位置2のHHC102の画像及び位置bのHMD104の画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、画像から識別された位置2及びbに基づいて、HMD104のディスプレイ画面に表示された仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン402Aの状態を有する1つ以上のフレームを生成する。仮想シーン402Aの状態を有する1つ以上のフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン402Aの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、仮想シーン402Aの状態を有する符号化されたフレームを復号して、1つ以上のフレームを出力し、そのフレームを有線または無線接続を介してHMD104に送信する。HMD104は、仮想シーン402Aの状態を有するフレームを受信し、仮想シーン402AをHMD104のディスプレイ画面に表示する。仮想シーン402Aは、仮想シーン202A内の仮想家屋の完全な画像と比較して、仮想家屋の部分的な画像を有する。さらに、仮想シーン402Aは、仮想シーン202A内の仮想木の部分的な画像と比較して、仮想木の完全な画像を有する。また、仮想シーン402Aは、仮想十字線が別の場所を指している仮想シーン202Aと比較して異なる場所を指している仮想十字線を有する。仮想シーン402Aでは、
図4AのHMD104の位置aと比較してHMD104が右に移動するため、仮想シーン402A内のすべての仮想オブジェクトは、仮想シーン202Aと比較して左に移動する。
【0110】
また、仮想シーン402Aの仮想十字線は、カメラ108の基準座標R2の代わりにカメラ108の基準座標R1に対するHHC102の位置2に基づいてゲームクラウドシステム116によって判定される、位置Bを有する。HHC102の位置2は、HMD104が位置aから位置bに移動したとしても、HMD104の位置aを基準にして判定される。例えば、ゲームクラウドシステム116は、カメラ108及び実世界環境のカメラから受信した画像から、HHC102の位置2及びHMD104の位置bを判定する。ゲームクラウドシステム116は、HHC102の位置1がHMD104の前の位置aに対して位置2に変化し、HMD104の位置が位置aから位置bに変化したと判定する。HHC102の位置1がHMD104の前の位置aに対して位置2に変更され、HMD104の位置が位置aから位置bに変更されたと判定すると、ゲームクラウドシステム116は、仮想クロスバーの位置Aが仮想シーン402Aの位置Bに変化する仮想シーン402Aの状態を生成する。ゲームクラウドシステム116は、仮想クロスバーの位置Bを判定する際に、位置aから位置bへのHMD104の位置の変化を無視する。位置1のHHC102と位置aのHMD104との間の相対位置から、位置2のHHC102と位置bのHMD104との間の相対位置への変化があるが、ゲームクラウドシステム116は、HMD104位置の変化を考慮せずに仮想クロスバーの位置Bを判定する。
【0111】
図4Cは、HHC102が位置3にある間の実世界環境の基準座標系に対するHMD104の位置cを説明するための、システム200の実施形態の図である。カメラ108は、位置3のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。また、実世界環境のカメラは、位置cのHMD104の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングユニット112に送信する。コンピューティングユニット112は、位置3のHHC102の画像及び位置cのHMD104の画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、画像から識別された位置3及びcに基づいて、HMD104のディスプレイ画面上に表示された仮想シーンの状態の変化を判定し、HMD104で表示される仮想シーン402Bの状態を有する1つ以上のフレームを生成する。
【0112】
仮想シーン402Bの状態を有する1つ以上のフレームは、ゲームクラウドシステム116によって符号化されて、1つ以上の符号化されたフレームを出力する。仮想シーン402Bの状態を有する1つ以上の符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、仮想シーン402Bの状態を有する符号化されたフレームを復号して、1つ以上のフレームを出力し、そのフレームを有線または無線接続を介してHMD104に送信する。HMD104は、仮想シーン402Bの状態を有するフレームを受信し、仮想シーン402BをHMD104のディスプレイ画面に表示する。仮想シーン402Bは、仮想シーン402A内の仮想家屋の部分的な画像と比較して、仮想家屋の画像を有していない。さらに、仮想シーン402Cは、仮想シーン402A内の仮想木の完全な画像と比較して、仮想木の部分的な画像を有する。また、仮想シーン402Bは、仮想十字線が別の場所を指している仮想シーン402Aと比較して仮想シーン402B内の異なる場所を指している仮想十字線を有する。仮想十字線は、仮想シーン402Bの位置Cにあり、仮想シーン402Aの位置Bにある。仮想シーン402Bでは、
図4BのHMD104の位置bと比較してHMD104が右に移動するため、仮想シーン402B内のすべての仮想オブジェクトは、仮想シーン402Aと比較して左に移動する。
【0113】
仮想十字線の位置Cは、カメラ108の基準座標R3の代わりにカメラ108の基準座標R1に対するHHC102の位置3に基づいて、ゲームクラウドシステム116によって判定される。HHC102の位置3は、HMD104が位置bから位置cに移動したとしても、HMD104の位置aを基準にして判定される。例えば、ゲームクラウドシステム116は、カメラ108及び実世界環境のカメラから受信した画像から、HHC102の位置3及びHMD104の位置cを判定する。ゲームクラウドシステム116は、HHC102の位置2がHMD104の前の位置aに対して位置3に変化し、HMD104の位置が位置bから位置cに変化したと判定する。HHC102の位置2がHMD104の前の位置aに対して位置3に変更され、HMD104の位置が位置bから位置cに変更されたと判定すると、ゲームクラウドシステム116は、仮想クロスバーの位置Bが仮想シーン402B内の位置Cに変化する仮想シーン402Bの状態を生成する。ゲームクラウドシステム116は、仮想クロスバーの位置Cを判定する際に、位置bから位置cへのHMD104の位置の変化を無視する。位置2のHHC102と位置bのHMD104との間の相対位置から、位置3のHHC102と位置cのHMD104との間の相対位置への変化があるが、ゲームクラウドシステム116は、HMD104位置の変化を考慮せずに仮想クロスバーの位置Cを判定する。
【0114】
仮想シーン内の仮想クロスバーの位置は、仮想シーンのコーナー上の点に対してゲームクラウドシステム116によって判定されることに留意されたい。例えば、仮想シーン302A(
図3B)内の仮想クロスバーの位置は、仮想シーン302Aの右上コーナーの点を基準にして判定される。本明細書で説明する各仮想シーンは、長方形または正方形などの多角形状を有する。長方形または正方形の形状には4つのコーナーがある。
【0115】
図5Aは、本開示で説明される実施形態による、ゲームクラウドシステム116(
図1A)によって実行されるアプリケーションなどのインタラクティブプログラムとインタフェースするためのビデオゲームコントローラ500の斜視図を示す。ビデオゲームコントローラ500は、
図1AのHHC102の一例である。ビデオゲームコントローラ500は、本体502と、本体502から延びる延長部504A及び504Bとを含む。延長部504A及び504Bは、それぞれ、ユーザ106(
図1A)の左手及び右手によって保持され、したがって、ユーザ106によるビデオゲームコントローラ500の安全な把持を可能にするハンドルとして機能する。本体502の上面には、ボタン506A、506B、506C、及び506D、ジョイスティック508A及び508B、ならびに複数の方向パッド510A、510B、510C、及び510Dなどの様々な入力デバイスが含まれている。また、ビデオゲームコントローラ500の本体502を通って上から下に延びる3次元(3D)制御バー512の上部も示されている。スピーカ514は、ユーザ106にフィードバックを提供する音声を再生するために提供される。
【0116】
さらに、ビデオゲームコントローラ500は、延長部504A及び504Bがユーザ106によってそれぞれ左手及び右手で保持されたときにユーザ106に面する本体502の裏側に沿って画定された、タッチパネル516を含む。タッチパネル516は、実質的に垂直に配向され、延長部504Aと504Bの間に配置され、その結果、延長部504A及び504Bを保持するユーザ106は、ユーザ106のいずれかの手の親指でタッチパネル516を容易に使用できる。タッチパネル516は、タッチセンシティブ技術(例えば、抵抗性、容量性など)を利用して、ユーザ106によって行われたタッチジェスチャを検出する。図示の実施形態では、タッチパネル516はまた、上から下へのわずかな外向きの湾曲を有し、これは、ユーザ106がタッチパネル516上の自分の親指のおおよその垂直位置を感覚だけに基づいて容易に判定することを可能にするその形状によって触覚を提供する。
【0117】
ビデオゲームコントローラ500は、タッチパッド518を含む。タッチパッド518は、ユーザ106からタッチ、またはクリックなどの選択を受け取って入力データを生成する。タッチパッド518は、ジョイスティック508A及び508Bの上に、かつボタン506A、506B、506C、及び506Dのグループ520と、方向パッド510A、510B、510C、及び510Dの別のグループ522との間に配置される。タッチパッド518の下には、ライトバー524がある。ライトバー524は、一連の発光ダイオード(LED)または一連の白熱灯または赤外線ライトバーなどの光源を含む。ライトバー524の他の例には、反射テープまたはマーカーが含まれる。ライトバー524は、タッチパッド518を介してカメラ108(
図1A)に見える。ライトバー524は、タッチパッド518の一部であり、その部分は、半透明の材料または透明な材料から作られている。ライトバー524は、ビデオゲームコントローラ500内の電池によって電力を供給される。
【0118】
図5Bは、HMD104のカメラ108(
図1A)によって見た向き1を有するビデオゲームコントローラ500の実施形態の図である。本体502上に、グループ520と522との間に位置するマーカー526が存在する。マーカー526の例には、LED光源または白熱光源または反射テープが含まれる。マーカー526は、三角形528の頂点に位置している。三角形528の残りの2つの頂点は、ライトバー524のエッジポイント528及び530によって形成される。
【0119】
コントローラ500の向き1は、カメラ108のX軸に対して形成される角度、カメラ108のY軸に対して形成される角度、及びカメラ108のZ軸に対して形成される角度を含む。例えば、向き1は(θ1,φ1,γ1)であり、ここで、θ1はカメラ108のX軸に対して形成される角度であり、φ1はカメラ108のY軸に対して形成される角度であり、γ1は、カメラ108のZ軸に対して形成される角度である。カメラ108は、カメラ108によって見られるように、ライトバー524がマーカー526の水平レベル532の上にある向き1の1つ以上の画像をキャプチャする。ライトバー524が水平レベル532の上にあるとき、ライトバー524のエッジポイント528及び530は、マーカー526の上にある。
【0120】
図5Cは、HMD104のカメラ108(
図1A)によって見た向き2を有するビデオゲームコントローラ500の実施形態の図である。向き2は(θ2,φ2,γ2)であり、ここで、θ2はカメラ108のX軸に対して形成される角度であり、φ2はカメラ108のY軸に対して形成される角度であり、γ2は、カメラ108のZ軸に対して形成される角度である。カメラ108は、カメラ108によって見られるように、ライトバー524がマーカー526の同じ水平レベル532またはほぼ同じ水平レベル532にある向き2の1つ以上の画像をキャプチャする。ライトバー524が同じ水平レベル532またはほぼ同じ水平レベル532にあるとき、ライトバー524のエッジポイント528はマーカー526の上にあり、ライトバー524のエッジポイント530はマーカー526の下にある。
【0121】
図5Dは、HMD104のカメラ108(
図1A)によって見た向き3を有するビデオゲームコントローラ500の実施形態の図である。向き3は(θ3,φ3,γ3)であり、ここで、θ3はカメラ108のX軸に対して形成される角度であり、φ3はカメラ108のY軸に対して形成される角度であり、γ3は、カメラ108のZ軸に対して形成される角度である。カメラ108は、カメラ108によって見られるように、ライトバー524がマーカー526の水平レベル532の下にある向き3の1つ以上の画像をキャプチャする。ライトバー524が水平レベル532の下にあるとき、ライトバー524のエッジポイント528及び530は、マーカー526の下に位置する。
【0122】
一実施形態では、ビデオゲームコントローラ500は、実世界環境から音声をキャプチャするための1つ以上のマイクロフォンを含む。一例として、マイクロフォンはマイクロフォンのアレイとして配置される。配置は、マイクの線形配列である。3つ以上のマイクロフォンがマイクロフォンのアレイに含まれる場合、マイクロフォンアレイによってキャプチャされたオーディオデータの分析に基づいて、マイクロフォンアレイに対して相対的な音源の位置を判定することが可能である。より具体的には、音源は、マイクロフォンアレイの各マイクロフォンによってキャプチャされたその音声の相対的なタイミングに基づいて、マイクロフォンアレイに対して相対的に位置特定することができる。ビデオゲームコントローラ500の位置及び向き、ひいてはマイクロフォンアレイの位置及び向きと組み合わせて、インタラクティブ環境内の音源の位置を判定することができる。さらに、キャプチャされた音声を処理して、実世界環境の特定の領域から発せられない音声を除外することができる。
【0123】
図6は、複数のカメラ604A及び604Bを備えたHMD602を説明するための、システム600の実施形態の図である。カメラ604A及び604Bは、HMD602の下部領域に配置されている。HMD602の下部領域は、HMD602の1つ以上のディスプレイ画面の下にある。HMD602は、
図1AのHMD104の例である。例えば、カメラ604Bは、カメラ108がHMD104の中央下部領域の近くに配置されるのではなく、HMD104の左下領域の近くに配置される場合のカメラ108の例である。
【0124】
カメラ604Aは、HMD602の下部領域の一端に配置され、カメラ604Bは、下部領域の反対側の端に配置されている。カメラ604Aは、原点(0,0,0)などの基準座標R4を有するXAYAZA基準座標系などの基準座標系を提供する。同様に、カメラ604Bは、原点(0,0,0)などの基準座標R5を有するXBYBZB基準座標系などの別の基準座標系を提供する。カメラ604Aは、コントローラ102に向かって下向きの視野606Aを有し、カメラ604Bは、コントローラ102がユーザ106によってHMD602の水平レベルより下のレベルに保持されたときに、同じくコントローラ102に向かって下向きの別の視野606Bを有する。カメラ604Aは、有線または無線接続を介して
図1Aのコンピューティングデバイス112に結合され、カメラ604Bは、有線または無線接続を介してコンピューティングデバイス112に結合されている。
【0125】
カメラ604Aは、視野606A内のHHC102の1つ以上の画像をキャプチャし、カメラ604Bは、視野606B内のHHC102の1つ以上の画像をキャプチャする。カメラ604A及び604Bによってキャプチャされた画像は、HMD602から、有線または無線接続を介して、
図1Aのコンピューティングデバイス112に送信される。
図1Aのコンピューティングデバイス112は、カメラ604A及び604Bによってキャプチャされた画像を、コンピュータネットワーク114を介して、
図1Aのゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、カメラ604A及び604Bによってキャプチャされた画像から、HHC102の位置1及び向きを判定する。一例として、位置1は、基準座標R4からXA1の距離、基準座標R4からYA1の距離、及び基準座標R4からZA1の距離を有する。同様に、カメラ604Aによってキャプチャされた画像から判定されるHHC102の向きは、XAYAZA基準座標系のXA軸からθA1の角度、XAYAZA基準座標系のYA軸からφA1の角度、及びXAYAZA基準座標系のZA軸からのγA1の角度を有する。別の例として、位置1は、基準座標R5からXB1の距離、基準座標R5からYB1の距離、及び基準座標R5からZB1の距離を有する。同様に、カメラ604Bによってキャプチャされた画像から判定されるHHC102の向きは、XBYBZB基準座標系のXB軸からθB1の角度、XBYBZB基準座標系のYB軸からφB1の角度、及びXBYBZB基準座標系のZB軸からのγB1の角度を有する。
【0126】
ゲームクラウドシステム116は、カメラ604A及び604Bによってキャプチャされた画像から判定されるように、HHC102の位置1及び向きに基づいて仮想シーンの状態を修正する。HHC102がカメラ604Aの視野606Aの外側にあるとき、カメラ604BはHHC102の画像をキャプチャすることに留意されたい。同様に、HHC102がカメラ604Bの視野606Bの外側にあるとき、カメラ604AはHHC102の画像をキャプチャする。カメラ604A及び604Bの両方による方が、カメラ108によるよりもHHC102の動きのカバー範囲がより広い。
【0127】
図7Aは、HMD700の底面等角図の実施形態の図であり、これは、
図1AのHMD104または本明細書に記載の他の任意のHMDの例である。HMD700は、前部領域704と、HMD700のアイマスク703の底面である下部領域702とを含む、アイマスク703を有する。前部領域704は、アイマスク703の前面であり、前面は、ユーザ106の目を覆うように、ユーザ106の目の前に配置される。HMD700は、ヘッドバンド706を有し、これは、本明細書では、トップヘッドバンドストラップと呼ばれることもある。ヘッドバンド706は、アイマスク703に結合され、ユーザ106(
図1A)の頭の周りを包むかまたは周りに延びる。アイマスク703は、ゴムまたはプラスチックで作られたフレーム705を含み、フレーム705は、ユーザ106の目の周りにフィットする。下部領域702は、ヘッドバンド706に接続されておらず、フレーム705によってヘッドバンド706から分離されている。また、下部領域702は、ユーザ106の目を覆うことができず、ユーザ106の目の下にある。フレーム705は、取り付けられるか接続されるなどして、下部領域702に結合されており、前部領域704は、下部領域702に結合されている。例えば、フレーム705は、下部領域702に接着されるかネジ止めされており、前部領域704は、下部領域702にネジ止めされている。下部領域702は前部領域704に隣接しており、フレーム705は下部領域702に隣接している。ヘッドは、フレーム705とヘッドバンド706との間に形成された空間を通過する。
【0128】
HMD700の1つ以上のディスプレイ画面は、前部領域704内に配置されている。また、カメラ710は、カメラ710のレンズが下部領域702の外面を通って延びるように、下部領域702に取り付けられている。カメラ710は、前部領域704とフレーム705との間に配置されている。カメラ710は、
図1Aのカメラ108の例である。レンズは、下部領域702の外面内に埋め込まれているか、または外面から延在している。カメラ710は、下部領域702の外面内に埋め込まれている複数の光源708A及び708Bの間に配置されている。光源708A及び708Bは、HMD700の位置及び向きを判定するために使用されるマーカーの例である。例えば、
図1Aのカメラ118は、光708A及び708BならびにHMD700の表面上の他の任意の光源の1つ以上の画像をキャプチャして、実世界環境におけるHMD700の位置及び向きを判定する。本明細書に記載されるマーカーの他の例には、再帰反射テープまたは反射テープまたは蛍光色が含まれる。光源の例には、赤外線光源またはLED光源が含まれる。カメラ710は、下部領域702の前部に配置され、前部は、フレーム705に対してよりも前部領域704に対して近い。
【0129】
前部領域704とフレーム705との間に光源707Bが存在する。同様に、前部領域704とフレーム705との間に別の光源707Aが存在する。光源707Aは、前部領域704の別の側と比較して、前部領域704の反対側にある。前部領域704の反対側は、光源707Bに隣接している。
【0130】
一実施形態では、前部領域704は、光源707A及び707Bを含むように拡張される。光源707Aは、光源707Bが配置されている前部領域704の側よりも前部領域704の側に配置されている。
【0131】
一実施形態では、カメラ710は、HMD700の前部領域704または任意の他の領域に配置されている。
【0132】
一実施形態では、カメラ710は、下部領域702の後部に配置され、後部は、前部領域704に対してよりもフレーム705に対して近い。
【0133】
図7Bは、HMD700の上面等角図の実施形態の図である。HMD700のアイマスク703は、前部領域704に隣接する頂部領域などの上部領域712を含む。上部領域712は、アイマスク703の上面である。上部領域712は、前部領域704に結合されている。例えば、上部領域712は、前部領域704にネジ止めされるかまたは取り付けられている。前部領域704は、上部領域712と下部領域702との間に位置する。上部領域712は、前部領域704の隣などに隣接して、
図7Aの下部領域702に面している。上部領域712、前部領域704、及び下部領域702は、HMD700のアイマスク703の一部を形成する。上部領域712は、フレーム705に隣接し、フレーム705に結合されている。例えば、上部領域712は、フレーム705にネジ止めされるかまたは接着されている。アイマスク703は、フレーム705に隣接している。ヘッドバンド706は、上部領域712に、ネジ止めされるか、取り付けられるか、または接着されるなどして結合されている。上部領域712内には、上部領域712の外面内に埋め込まれた光源708C及び708Dが存在する。
【0134】
図7Cは、複数のカメラ710、752A、及び752Bを説明するための、HMD750の実施形態の底面図である。HMD750は、HMD750に光源707A、707B、708A、708B、708C、及び708D(
図7A及び7B)がないことを除いて、
図7AのHMD700と構造及び機能が同じである。代わりに、HMD750にはカメラ752A及び752Bが含まれている。HMD750はHMD104(
図1A)の一例である。カメラ752A及び752Bは、床F及びHHC102から反射された光を受け取るために床Fに面しているレンズを有し、床Fに対するHHC102の動きの1つ以上の画像をキャプチャする。
【0135】
カメラ752Aは、下部領域702内で、カメラ710の片側に配置されている。また、カメラ752Bは、下部領域702内に、カメラ752Aが配置されている側とは反対側のカメラ710の側に配置されている。カメラ752Bは、カメラ710のFOV110及びカメラ752Aの視野とは異なる視野を有する。FOV110は、カメラ752Aの視野とは異なる。カメラ710のFOV110内にないHHC102のあらゆる動きは、カメラ752AのFOVによって、またはカメラ752BのFOV内にキャプチャされる。
【0136】
各カメラ752A及び752Bは、有線または無線接続を介してコンピューティングデバイス112(
図1A)に結合されている。カメラ752A及び752Bによってキャプチャされた画像は、HMD750のプロセッサに送信される。HMD750のプロセッサは、HMD750のBluetooth(商標)モジュールまたはWi-Fi(商標)モジュールなどの短距離通信モジュールを介して、画像をコンピューティングデバイス112に送信する。コンピューティングデバイス112は、カメラ752A及び752Bによってキャプチャされた画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する(
図1A)。ゲームクラウドシステム116は、カメラ710によってキャプチャされた画像及び/またはカメラ752Aによってキャプチャされた画像及び/またはカメラ752Bによってキャプチャされた画像から、HHC102の位置及び向きを判定して、仮想シーンの状態を変更する。
【0137】
図7Dは、複数のカメラ754A、754B、及び754Cを説明するための、HMD750の実施形態の上面図である。HMD750は、HMD750の上部領域712にカメラ754A、754B、及び754Cを含む。カメラ754Bは、カメラ754Aと754Cとの間に配置されている。カメラ754A、754B、及び754Cは、天井及びHHC102から反射された光を受け取るために実世界環境の天井に面しているレンズを有し、天井に対するHHC102の動きの1つ以上の画像をキャプチャする。天井は床Fの反対側にあり、壁W1とW2(
図1D)に対して実質的に垂直または垂直である。天井は床Fと平行または実質的に平行である。
【0138】
カメラ754Aは、カメラ754B及びカメラ754Cとは異なる視野を有する。また、カメラ754Bは、カメラ754Cとは異なる視野を有する。カメラ754AのFOV内にないHHC102のあらゆる動きは、カメラ754BのFOV、またはカメラ754CのFOVによってキャプチャされる。
【0139】
各カメラ754A、754B、及び754Cは、有線または無線接続を介してコンピューティングデバイス112(
図1A)に結合されている。カメラ754A、754B、及び754Cによってキャプチャされた画像は、HMD750のプロセッサに送信される。HMD750のプロセッサは、画像をHMD750の短距離通信モジュールを介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、カメラ754A、754B、及び754Cによってキャプチャされた画像を、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する(
図1A)。ゲームクラウドシステム116は、カメラ754Aによってキャプチャされた画像及び/またはカメラ754Bによってキャプチャされた画像及び/またはカメラ754Cによってキャプチャされた画像から、HHC102の位置及び向きを判定して、仮想シーンの状態を変更する。
【0140】
カメラ754A、754B、及び754Cは、HHC102がアイマスク703より上のレベルにあるときにHHC102の動きの画像をキャプチャすることに留意されたい。HHC102がアイマスク703の上のレベルにあるとき、HHC102の動きは、カメラ710、カメラ752A、及びカメラ752B(
図7C)によってキャプチャされない。同様に、カメラ710、752A、及び752Bは、HHC102がアイマスク703より下のレベルにあるときにHHC102の動きの画像をキャプチャする。HHC102がアイマスク703より下のレベルにあるとき、HHC102の動きは、カメラ754A、754B、及び754Cによってキャプチャされない。
【0141】
一実施形態では、1つ以上のカメラがヘッドバンド706上に配置されて、実世界環境に対するHMD750の動きの画像をキャプチャする。ヘッドバンド706の1つ以上のカメラは、HMD750のプロセッサに画像を提供し、プロセッサは、その画像をHMD750の短距離通信モジュールに送信する。HMD750の短距離通信モジュールは、画像をコンピューティングデバイス112に送信し、コンピューティングデバイス112は、その画像をコンピュータネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、画像からHMD750の動きを判定し、動きは、画像にキャプチャされた実世界環境の基準座標系を基準にして判定される。次に、その動きは、仮想シーンの状態を変更するためにゲームクラウドシステム116によって使用される。
【0142】
一実施形態では、HMD750は、
図7C及び7Dに示されているものよりも少ないかまたは多い数のカメラを含む。例えば、HMD750は、カメラ752A、752B、754A及び754Cを備えていない。別の例として、HMD750は、カメラ710及び754Bを備えていない。
【0143】
図8Aは、
図7A及び7BのHMD700の例である、HMD800の実施形態の底面図である。HMD800は、
図7A及び7Bの前部領域704の例である前部領域804を有する。HMD800はまた、
図7Aの下部領域702の例である下部領域802を有する。カメラ108は、下部領域802に取り付けられている。例えば、カメラ108は、
図7Aの光源708Aと708Bとの間に取り付けられ、フレーム705に対してよりも前部領域804に対して近い。カメラ108は、基準座標R1を有する。
【0144】
図8Bは、HMD820の実施形態の底面図である。HMD820は、HMD820がHMD700上のカメラ108とは異なる位置に取り付けられたカメラ108を有することを除いて、
図7A及び7BのHMD700の例である。HMD820は、前部領域804及び下部領域802を有する。HMD820のカメラ108は、HMD820の下部領域802に取り付けられている。例えば、カメラ108は、
図7Aの光源708Aと708Bとの間に取り付けられ、フレーム705からの距離とほぼ同じ距離で、前部領域804から離れている。説明のために、カメラ108は、フレーム705からの距離と同じ距離で、前部領域804から離れている。カメラ108は、カメラ108のXYZ基準座標系の原点(0,0,0)である基準座標R6を有する。
【0145】
図8Cは、HMD822の実施形態の底面図である。HMD822は、HMD822がHMD700上のカメラ108とは異なる位置に取り付けられたカメラ108を有することを除いて、
図7A及び7BのHMD700の例である。HMD822は、前部領域804及び下部領域802を有する。HMD822のカメラ108は、HMD822の下部領域802に取り付けられている。例えば、カメラ108は、
図7Aの光源708Aと708Bとの間に取り付けられ、前部領域804に対してよりも
図7Aのフレーム705に対して近い。カメラ108は、カメラ108のXYZ基準座標系の原点(0,0,0)である基準座標R7を有する。
【0146】
図8Dは、HMD824の実施形態の底面図である。HMD824は、HMD824がHMD700上のカメラ108とは異なる位置に取り付けられたカメラ108を有することを除いて、
図7A及び7BのHMD700の例である。HMD824は、前部領域804及び下部領域802を有する。HMD824のカメラ108は、HMD824の下部領域802に取り付けられている。例えば、カメラ108は、
図7Aの光源708Aに対してよりも光源708Bに対して近くに取り付けられ、フレーム705からの距離とほぼ同じ距離で、前部領域804から離れている。カメラ108は、カメラ108のXYZ基準座標系の原点(0,0,0)である基準座標R8を有する。
【0147】
一実施形態では、HMD824のカメラ108は、前部領域804に対してよりもフレーム705に対して近くに配置されている。一実施形態では、HMD824のカメラ108は、前部フレーム705に対してよりも領域804に対して近くに配置されている。
【0148】
図8Eは、HMD826の実施形態の底面図である。HMD826は、HMD826がHMD700上のカメラ108とは異なる位置に取り付けられたカメラ108を有することを除いて、
図7A及び7BのHMD700の例である。HMD826は、前部領域804及び下部領域802を有する。HMD826のカメラ108は、HMD826の下部領域802に取り付けられている。例えば、カメラ108は、
図7Aの光源708Bに対してよりも光源708Aに対して近くに取り付けられ、フレーム705からの距離とほぼ同じ距離で、前部領域804から離れている。カメラ108は、カメラ108のXYZ基準座標系の原点(0,0,0)である基準座標R9を有する。
【0149】
一実施形態では、HMD826のカメラ108は、前部領域804に対してよりもフレーム705に対して近くに配置されている。一実施形態では、HMD826のカメラ108は、フレーム705に対してよりも前部領域804に対して近くに配置されている。
【0150】
図9Aは、HMD902の下部領域802におけるカメラ604A及び604Bの位置を説明するための、HMD902の実施形態の底面図である。HMD902は、HMD902が1つではなく2つのカメラ604A及び604Bを有することを除いて、
図7A及び7BのHMD700の例であり、下部領域802及び前部領域804を有する。
【0151】
カメラ604Aは、
図7Aの光源708Bとカメラ604Bとの間に配置されている。また、カメラ604Aは、光源708Aに対してよりも光源708Bに対して近くに配置されている。同様に、カメラ604Bは、
図7Aの光源708Aとカメラ604Aとの間に配置されている。また、カメラ604Bは、光源708Bに対してよりも光源708Aに対して近くに配置されている。カメラ604A及び604Bの両方は、
図7Aのフレーム705に対してよりも前部領域804に対して近くに配置されている。基準座標R4は、HMD902のカメラ604Aにあり、基準座標R5は、HMD902のカメラ604Bにある。
【0152】
図9Bは、HMD902の下部領域802にあるカメラ604A及び604Bの位置を説明するための、HMD904の実施形態の底面図である。HMD904は、HMD904が1つではなく2つのカメラ604A及び604Bを有することを除いて、
図7A及び7BのHMD700の例であり、下部領域802及び前部領域804を有する。
【0153】
カメラ604A及び604Bの位置は、カメラ604A及び604Bの両方が
図7Aのフレーム705からの距離とほぼ同じ距離またはほぼ同じ距離で前部領域804から離れて配置されることを除いて、
図9Aを参照して上記で説明したものと同じである。例えば、カメラ604A及び604Bは、
図7Aのフレーム705からの距離と同じ距離で、前部領域804から離れて配置されている。基準座標R8は、HMD904のカメラ604Aにあり、基準座標R9は、HMD904のカメラ604Bにある。
【0154】
図9Cは、HMD902の下部領域802におけるカメラ604A及び604Bの位置を説明するための、HMD906の実施形態の底面図である。HMD906は、HMD906が1つではなく2つのカメラ604A及び604Bを有することを除いて、
図7A及び7BのHMD700の例であり、下部領域802及び前部領域804を有する。
【0155】
カメラ604A及び604Bの位置は、カメラ604A及び604Bの両方が前部領域804に対してよりも
図7Aのフレーム705に対して近くに配置されていることを除いて、
図9Aを参照して上記で説明したものと同じである。原点(0,0,0)などの基準座標R10は、HMD906のカメラ604Aにあり、基準座標R11は、HMD906のカメラ604Bにある。基準座標R11は、HMD906のカメラ604Bにある原点(0,0,0)である。
【0156】
図10Aは、基準座標RCを有するxyz座標系などの基準座標系を基準にしたHMD1002の位置の判定を説明するための、システム1000の実施形態の図である。基準座標RCは原点(0,0,0)である。基準座標RCは壁W2上の点にある。基準座標RCを有する基準座標系は、x軸、y軸、及びz軸を有する。
【0157】
HMD1002は、
図7のHMD700の例である。HMD1002は、カメラ108及び別のカメラ1004を有する。カメラ1004は、HMD1002の前部領域1006に配置されている。例えば、カメラ1004のレンズは、HMD1002の前の実世界環境に面するように、前部領域1006を通って延びる。カメラ1004は、外向きのカメラである。前部領域1006は、
図7Aの前部領域704の例である。カメラ1004及び108の両方は、同じ有線または無線接続を介してコンピューティングデバイス112に結合されている。
【0158】
カメラ1004は、HMD1002の前にある実世界環境の1つ以上の画像をキャプチャする。例えば、カメラ1004は、壁W2または壁W1の画像をキャプチャする。カメラ1004は、画像を有線接続を介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、その画像をコンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に転送する。ゲームクラウドシステム116は、カメラ1004から画像を受信し、基準座標RCを有する基準座標系を基準にして、HMD1002の位置及び向きを判定する。例えば、ゲームクラウドシステム116は、基準座標RCからのx方向のカメラ1004の距離、基準座標RCからのy方向のカメラ1004の距離、及び基準座標RCからz方向のカメラ1004の距離を判定する。ゲームクラウドシステム116は、基準座標RCのx軸を基準にしたカメラ1004の角度、基準座標RCのy軸に対するカメラ1004の角度、及び基準座標RCのz軸に対するカメラ1004の角度を判定する。ゲームクラウドシステム116は、基準座標RCを有する基準座標系を基準にして、HMD1002の位置及び向きに応じて仮想シーンの状態を変更する。
【0159】
図10Bは、HMD1024の位置及び向きを判定するためのプロジェクターA及びBとHMD1024上の検出器との使用を説明するための、システム1020の実施形態の図である。システム1020はHMD1024を有し、カメラ108はHMD1024の下部領域に取り付けられている。HMD1024は、
図7A及び7BのHMD700の例である。システム1020は、コンピューティングデバイス112と、HHC102と、プロジェクターA及びBとをさらに含む。本明細書で使用されるプロジェクターの例は、レーザー光源及びミラーを含むプロジェクターである。レーザー光源は、複数の軸に対して移動するミラー上に投影される光を生成し、リサージュパターンなどの所定のパターンで光を反射する。反射された光は、実世界環境のボリューム内に所定のパターンを作成する。
【0160】
HMD1024には、複数の検出器D1、D2、D3、D4、D5、及びD6がある。検出器は、HMD1024の前部領域に配置されている。本明細書で使用される検出器の例は、光センサまたは光を電流に変換するpn接合を有するセンサであり、これは電気信号の例である。HMD1024は、有線または無線接続を介してコンピューティングデバイス112に結合されている。同様に、HMD1024は、有線または無線接続を介してプロジェクターAに結合され、HMD1024は、有線または無線接続を介してプロジェクターBに結合されている。
【0161】
プロジェクターAとBは発光して、実世界環境内で所定のパターンのボリュームを作成する。検出器D1からD6は、ボリューム内の光を検出して、複数の電気信号を出力する。例えば、各検出器D1からD6は、対応する電気信号を出力する。HMD1024は、電気信号内の光強度などの情報をコンピューティングデバイス112に送信する。コンピューティングデバイス112は、HMD1024から受信した情報を、コンピュータネットワーク114(
図1A)を介してゲームクラウドシステム116(
図1A)に送信する。ゲームクラウドシステム116は、情報を処理して、プロジェクターAのxayaza座標系などの基準座標系に対するHMD1024の向きを判定する。同様に、ゲームクラウドシステム116は、情報を処理して、プロジェクターBのxbybzb座標系などの基準座標系に対するHMD1024の向きを判定する。xayaza基準座標系は、xa軸、ya軸、及びza軸を有する。ya軸はxa軸に垂直であり、za軸はya軸とxa軸に垂直である。同様に、xbybzb基準座標系は、xb軸、yb軸、及びzb軸を有する。yb軸はxb軸に垂直であり、zb軸はyb軸とxb軸に垂直である。ゲームクラウドシステム116は、検出器D1からD6によって出力される電気信号の強度から、xa軸に対するHMD1024の角度、ya軸に対するHMD1024の角度、及びza軸に対するHMD1024の角度を含む、xayaza基準座標系に対するHMD1024の向きを判定する。また、ゲームクラウドシステム116は、検出器D1からD6によって出力される電気信号の強度から、xb軸に対するHMD1024の角度、yb軸に対するHMD1024の角度、及びzb軸に対するHMD1024の角度を含む、xbybzb基準座標系に対するHMD1024の向きを判定する。
【0162】
さらに、ゲームクラウドシステム114は、基準座標系xayaza及びxbybzbに対するHMD1024の向きから、基準座標系xayazaの原点などの基準座標からのHMD1024の位置、及び基準座標系xbybzbの原点などの基準座標からのHMD1024の位置を判定する。例えば、ゲームクラウドシステム114は、三角測量を適用して、基準座標系xayazaに対するHMD1024の向き及び基準座標系xbybzbに対するHMD1024の向きに基づいて、HMD1024の位置を判定する。プロジェクターAに対するHMD1024の位置及びプロジェクターBに対するHMD1024の位置を判定する例は、米国特許出願第15/472,193号、現在は米国特許第9,983,692号として発行されており、参照によりその全体が本明細書に組み込まれる。
【0163】
ゲームクラウドシステム114は、基準座標系xayazaまたは基準座標系xbybzbに対するHMD1024の向き、及び基準座標系xayaza及びxbybzbに対するHMD1024の位置から判定して、仮想シーンの状態を変更する。また、ゲームクラウドシステム114は、コンピューティングデバイス112及びコンピュータネットワーク114を介してカメラ108から受信された画像から、HMD1024に対するHHC102の位置及び向きを判定する。HMD1024のXYZ座標系などの基準座標系に対するHHC102の位置及び向きは、仮想シーンの状態を変更するためにゲームクラウドシステム116によって処理される。
【0164】
ゲームクラウドシステム116は、仮想シーンの状態が変化する1つ以上のフレームを生成し、フレームを符号化して、符号化されたフレームを出力する。符号化されたフレームは、ゲームクラウドシステム116からコンピュータネットワーク114を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、符号化されたフレームを復号して画像フレームを出力し、その画像フレームを有線または無線接続を介してHMD1024に送信する。HMD1024は、コンピューティングデバイス112から受信した画像フレームにレンダリングプログラムを適用して、HMD1024のディスプレイ画面上に仮想シーンの1つ以上の画像を表示する。
【0165】
一実施形態では、HMD1024は、5個、4個、または10個などの別の数の検出器を有する。
【0166】
一実施形態では、複数の検出器は、HMD1024の前部領域に配置されることに加えて、HMD1024のヘッドバンドに配置される。
【0167】
図11は推測航法を説明するための、システム1100の実施形態の図である。システム110は、HMD104、HHC102、及びコンピューティングデバイス112を含む。HHC102がHMD104のカメラ108のFOV110の外側にあるとき、HHC102の磁力計、加速器、及びジャイロスコープなどの1つ以上の慣性センサは、HHC102の加速度の測定値、HHC102の位置の測定値、HHC102の角速度の測定値、及び慣性センサの座標系に対するHHC102の向きの測定値などの、慣性データを生成する。例えば、HHC102のジャイロスコープは、ジャイロスコープの座標系に対するHHC102の向きの角速度を測定する。HHC102のジャイロスコープの座標系にはスピン軸がある。HHC102の慣性センサの座標系は、実世界環境の座標系の例である。HHC102のセンサによって生成される慣性データは、HHC102によって生成される入力データの例である。
【0168】
HHC102は、HHC102からの入力データを、有線または無線接続を介してコンピューティングデバイス112に通信する通信デバイスを含む。例えば、HHC102のWi-Fi(商標)通信デバイスまたはBluetooth(商標)通信デバイスは、HHC102の慣性センサに結合され、慣性センサから受信した入力データを通信する。入力データは、HHC102のWi-Fi(商標)通信デバイスまたはBluetooth(商標)通信デバイスから、無線接続を介してコンピューティングデバイス112に通信される。
【0169】
また、カメラ108は、FOV110内のカメラ108によってキャプチャされた1つ以上の画像を、有線または無線接続を介してコンピューティングデバイス112に送信する。例えば、HHC102の通信デバイスは、カメラ108から画像を受信し、その画像を無線接続を介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、コンピュータネットワーク114を介してゲームクラウドシステム116に、カメラ108から受信した画像を送信するかまたは向かわせ、HHC102から受信した入力データを送信するかまたは向かわせる。
【0170】
ゲームクラウドシステム116は、HMD104のカメラ108から受信した画像から、コントローラ102の位置及び向きを判定することができるかどうかを判定する。例えば、ゲームクラウドシステム116は、HHC102の形状をハンドヘルドコントローラの所定の形状と比較して、HHC102の形状と所定の形状との間に一致があるかどうかを判定する。一致が発生してないと判定すると、ゲームクラウドシステム116は、カメラ108に対するHHC102の現在の位置及び現在の向きを画像から判定することができないと判定する。HHC102の現在の位置及び現在の向きが画像から判定できないと判定すると、ゲームクラウドシステム116は、HHC102から受信した入力データから、及びHHC102の以前に判定された位置及び以前に判定された向きから、実世界環境におけるHHC102の現在の位置及び現在の向きを判定する。一例として、ゲームクラウドシステム116は、カメラ108によってキャプチャされ、HHC102がFOV110の外側にある前に受信された1つ以上の画像から、以前に判定された位置を判定する。ゲームクラウドシステム116はさらに、HHC102の加速度、以前に判定された位置、以前に判定された位置を判定するための画像がカメラ108によってキャプチャされた以前の時間、及びHHC102の現在位置の入力データがHHC102によって生成される現在の時間から、HHC102の現在の位置を判定する。HHC102は、入力データが生成される現在の時間を、コンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116に提供する。以前に判定された位置を判定するための画像がカメラ108によってキャプチャされる、以前の時間は、カメラ108からコンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116によって受信される。別の例として、ゲームクラウドシステム116は、カメラ108によってキャプチャされ、HHC102がFOV110の外側にある前に受信された1つ以上の画像から、以前に判定された向きを判定する。ゲームクラウドシステムはさらに、HHC102の角速度、以前に判定された向き、以前に判定された向きを判定するための画像がカメラ108によってキャプチャされた以前の時間、及びHHC102の現在の向きを判定するための入力データがHHC102によって出力される現在の時間から、HHC102の現在の向きを判定する。HHC102は、HHC102の現在の向きを判定するための入力データが出力される現在の時間を送信する。現在の時間は、HHC102からコンピューティングデバイス112及びコンピュータネットワーク114を介してゲームクラウドシステム116に送信される。以前に判定された向きを判定するための画像がカメラ108によってキャプチャされる以前の時間は、カメラ108からコンピューティングデバイス112及びコンピュータネットワーク114を介して受信される。HHC102がFOV110から出た後にFOV110に戻ると、ゲームクラウドシステム116は、カメラ108から受信した画像から、カメラ108の基準座標系に対するHHC102の位置及び向きを判定する。
【0171】
一実施形態では、HMD104内のクロック源は、HHC102内のクロック源と同期していることに留意されたい。例えば、仮想シーンの状態は、時間t1におけるカメラ108に対するHHC102の位置及び向き、ならびに時間t1における実世界環境に対するHMD104の位置及び向きに基づいて、ゲームクラウドシステム116によって生成される。クロック源の例には、クロックジェネレータ、クロックオシレータ、プロセッサなどのデジタルクロック源が含まれる。HMD104とHHC102のクロック源の間のタイミングに差がある場合、実世界環境におけるHMD104の位置及び向き、ならびにカメラ108を基準にするHHC102の位置及び向きに基づいて状態を判定する際に不正確さが存在する。状態が不正確である場合、HMD104に表示される仮想シーンは不正確である。したがって、HMD104のクロック源は、HHC102のクロック源と同期している。
【0172】
一実施形態では、HMD104のクロック源は、HHC102のクロック源と同期している。例えば、HMD104のクロック源は、コンピュータネットワーク114からコンピューティングデバイス112を介してクロック信号を受信し、HMD104のクロック源によって生成されたクロック信号を、コンピュータネットワーク114から受信されたクロック信号と同期させる。同様に、HHC102のクロック源は、コンピュータネットワーク114からコンピューティングデバイス112を介してクロック信号を受信し、HHC102のクロック源によって生成されたクロック信号を、コンピュータネットワーク114から受信されたクロック信号と同期させる。別の例として、ゲームクラウドシステム114は、クロック信号の高論理状態または低論理状態を示す同期信号を、コンピュータネットワーク114及びコンピューティングデバイス112を介して、HMD104及びHHC102の両方に送信して、HMD104の信号をHHC102クロックと同期させる。
【0173】
一実施形態では、HMD104、HHC102、及びゲームクラウドシステム116のクロック信号は同期されている。例えば、HMD104のクロック源は、コンピュータネットワーク114からコンピューティングデバイス112を介してクロック信号を受信し、HMD104のクロック源によって生成されたクロック信号を、コンピュータネットワーク114から受信されたクロック信号と同期させる。同様に、HHC102のクロック源は、コンピュータネットワーク114からコンピューティングデバイス112を介してクロック信号を受信し、HHC102のクロック源によって生成されたクロック信号を、コンピュータネットワーク114から受信されたクロック信号と同期させる。また、ゲームクラウドシステム116のクロック源は、コンピュータネットワーク114からクロック信号を受信し、ゲームクラウドシステム116のクロック源によって生成されたクロック信号を、コンピュータネットワーク114から受信したクロック信号と同期させる。
【0174】
一実施形態では、慣性データは、HHC102がHMD104のカメラ108のFOV110内にあるかどうかに関係なく、HHC102の慣性センサによって測定される。例えば、慣性データは、HHC102がFOV110内にあるときに、HHC102の慣性センサによって測定される。
【0175】
一実施形態では、HMD104の慣性センサによって測定された慣性データは、有線または無線接続を介してコンピューティングデバイス112に送信される。また、HHC102の慣性センサによって測定された慣性データは、有線または無線接続を介してコンピューティングデバイス112に送信される。コンピューティングデバイス112は、HMD104から受信した慣性データ及びHHC102から受信した慣性データを、ネットワーク114を介してゲームクラウドシステム116に送信する。ゲームクラウドシステム116は、HHC102によって測定された慣性データ及びHMD104によって測定された慣性データから、HMD104に対するHHC102の位置及び向きを判定する。例えば、ゲームクラウドシステム116は、実世界環境のy軸を基準にしたHMD104の向きが角度M1であり、実世界環境のy軸に対するHHC102の向きが角度N1であると判定する。ゲームクラウドシステム116は、HMD104のY軸に対するHHC102の向きが角度M1及びN1の和であると判定する。別の例として、ゲームクラウドシステム116は、実世界環境の基準座標を基準とする実世界環境のx軸に沿ったHMD104の位置が位置A1であると判定する。ゲームクラウドシステム116はさらに、実世界環境の基準座標を基準とする実世界環境のx軸に沿ったHMD104の位置が位置B1であると判定する。ゲームクラウドシステム116は、HMD104の位置に対するHHC102の位置が、位置A1及びB1の和であると判定する。
【0176】
図12は、HHC102の画像がHMD1204の異なるカメラ108、1202A及び1202Bによってキャプチャされる時間に基づく画像フレームのスティッチングを説明するための、システム1200の実施形態の図である。HMD1204は、
図7AのHMD700の例である。カメラ1202Aは、前部領域704(
図7A)の部分に配置され、カメラ1202Bは、前部領域704の別の部分に配置されている。例えば、カメラ1202Aは、前部領域704の右半分部分に取り付けられ、カメラ1202Bは、前部領域704の左半分部分に取り付けられる。さらに説明すると、カメラ1202Aは、光源707Aと比較して光源707B(
図7A)により近く、カメラ1202Bは、光源707Bと比較して光源707Aにより近い。
【0177】
カメラ1202Aは、ユーザ106の右側を向いているFOV1208Aを有し、カメラ1202Bは、ユーザ106の左側を向いているFOV1208Bを有する。比較すると、FOV110は床Fに向かって下向きである。ユーザ106は、HHC102をFOV110内にある位置2からFOV110の外側でFOV1208A内にある位置4に移動させる。
【0178】
カメラ108は、FOV110内のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングデバイス112に送信する。加えて、HMD1204のクロック源は、カメラ108に結合されて、カメラ1208Aが画像をキャプチャする時間txを判定し、時間txを有線または無線接続を介してコンピューティングデバイス112に送信する。コンピューティングデバイス112は、FOV110内のHHC102の画像及び時間txを、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。
【0179】
同様に、カメラ1202Aは、FOV1208A内のHHC102の1つ以上の画像をキャプチャし、その画像を有線または無線接続を介してコンピューティングデバイス112に送信する。加えて、HMD1204のクロック源は、カメラ1202Aに結合されて、カメラ1202Aが画像をキャプチャする時間tyを判定し、時間tyを有線または無線接続を介してコンピューティングデバイス112に送信する。コンピューティング装置112は、FOV1208A内のHHC102の画像及び時間tyを、コンピュータネットワーク114を介してゲームクラウドシステム116に送信する。
【0180】
ゲームクラウドシステム116は、時間tyが時間txに連続していると判定する。例えば、ゲームクラウドシステム116は、時間txが時間tyに先行し、時間txとtyの間にカメラ108及び1202Aによってキャプチャされた他の画像がないと判定する。ゲームクラウドシステム116は、カメラ108から受信した画像から時間txについてのHHC102の位置及び向きを判定し、カメラ1202Aから受信した画像から時間tyについてのHHC102の位置及び向きを判定する。ゲームクラウドシステム116はまた、HHC102の位置及び向きは、時間tyでカメラ108によって出力された画像から判定することができないと判定する。ゲームクラウドシステム116は、HHC102の位置及び向きから判定される仮想シーンの状態の変化に従って画像フレームXを生成し、カメラ108によってキャプチャされた画像から位置及び向きが判定される。また、ゲームクラウドシステム116は、HHC102の位置及び向きから判定される仮想シーンの状態のさらなる変化に従って画像フレームYを生成し、カメラ1202Aによってキャプチャされた画像から位置及び向きが判定される。
【0181】
ゲームクラウドシステム116は、時間tx及びtyに基づいて、画像フレームYを画像フレームXとスティッチする。例えば、ゲームクラウドシステム116は、仮想シーンが最初に画像フレームXに従って、次に画像フレームYに従って変化することを判定する。ゲームクラウドシステム116は、画像フレームX及びYを、画像フレームがコンピュータネットワーク114を介してコンピューティングデバイス112にHMD1204上に表示されるシーケンスで送信する。画像フレームYが表示される前に、画像フレームXが表示される。コンピューティングデバイス112は、画像フレームX及びYを有線または無線接続を介してHMD1204に送信する。HMD1204は、画像フレームYを表示する前に画像フレームXを表示する。同様に、HHC102がFOV1208B内にあり、FOV110及び1208Aの外側にある場合、カメラ1202Bによってキャプチャされた画像は、ゲームクラウドシステム116によって使用されて、HHC102の位置及び向きを判定して仮想シーンの状態をさらに変更する。
【0182】
ゲームクラウドシステム114によって実行されるものとして本明細書に記載されている機能は、ゲームクラウドシステム114の1つ以上のサーバまたは、1つ以上のサーバの1つ以上のプロセッサによって実行されることに留意されたい。同様に、コンピューティングデバイス112によって実行されるものとして本明細書に記載されている機能は、コンピューティングデバイス112の1つ以上のプロセッサによって実行されることに留意されたい。
【0183】
一実施形態では、ゲームクラウドシステム116によって実行されるものとして本明細書に記載されている1つ以上の機能は、代わりに、コンピューティングデバイス112によって実行される。
【0184】
一実施形態では、カメラ752A、108、752B(
図7C)、754A、754B、及び754C(
図7D)の2つ以上によってキャプチャされた画像は、カメラ1202A及び108を参照して上記で説明したのと同様の方法でゲームクラウドシステム116によって一緒にスティッチされ、仮想シーンの状態を変更する。
【0185】
図13は、HMD104(
図1A)の例であるHMD1300の等角図である。HMD1300は、ユーザ106(
図1A)が装着したときにユーザ106の頭の後ろに行くバンド1302及び1304を含む。さらに、HMD1300は、インタラクティブ環境、例えば、ゲーム環境、仮想シーン、仮想シーン内のオブジェクト、インタラクティブツアー環境などに関連する、例えば、ゲームプログラム、インタラクティブ環境生成プログラムなどのアプリケーションの実行によって提示される音声を発する、イヤホン1306A及び1306B、例えば、スピーカなどを含む。HMD1300は、ユーザ106がHMD1300のディスプレイ画面に表示されるインタラクティブ環境を見ることができるようにするレンズ1308A及び1308Bを含む。溝1380は、ユーザ106の鼻に載って鼻の上でHMD1300を支持する。
【0186】
いくつかの実施形態では、HMD1300は、サングラス、眼鏡、または読書用眼鏡がユーザ106によって装着されるのと同様の方法で、ユーザ106によって装着される。
【0187】
図14は、本開示に記載の一実施形態による、ビデオゲームのインタラクティブなゲームプレイのためのシステムを示す。ユーザ106は、HMD104を装着して示されている。HMD104は、眼鏡、ゴーグル、またはヘルメットと同じようにして装着され、ビデオゲームまたは他のコンテンツをユーザ106に表示するように構成されている。HMD104は、ユーザの目に近接したディスプレイ機構(例えば、光学系及びディスプレイ画面)、及びHMD104に配信されるコンテンツのフォーマットの提供によって、没入型体験をユーザ106に提供する。一例では、HMD104は、ユーザ106の各眼に表示領域を提供し、表示領域は、ユーザ106の眼の視野の大部分または全体さえも占める。別の例として、ユーザ106は、自分が、例えば、HMD104に表示されるインタラクティブ環境の中にいるかその一部であるかのように感じる。
【0188】
一実施形態では、HMD104は、コンピューティングデバイス112(
図1A)の例であるコンピュータ1402に接続されている。コンピュータ1402への接続は、有線または無線であってもよい。コンピュータ1402は、一実施形態では、ゲームコンソール、パーソナルコンピュータ、ラップトップ、タブレット、モバイルデバイス、スマートフォン、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイス、スマートテレビなどを含むがこれらに限定されない任意の汎用または特殊目的のコンピュータである。いくつかの実施形態では、HMD104は、インターネットに直接接続し、これは別個のローカルコンピュータを必要とせずにクラウドゲームを可能にし得る。例えば、コンピュータ1402の機能は、HMD104の1つ以上のプロセッサに統合されている。一実施形態では、コンピュータ1402は、ビデオゲーム(及び他のデジタルコンテンツ)を実行し、HMD104によるレンダリングのためにビデオゲームからビデオ及びオーディオデータを出力する。
【0189】
一実施形態では、コンピュータ1402は、ローカルまたはリモートコンピュータであり、コンピュータ1402は、エミュレーションソフトウェアを実行する。クラウドゲームの実施形態では、コンピュータ1402は、ゲームクラウドシステム116内などの遠隔地にあり、データセンターに実装される複数のコンピューティングサービスによって表される。ここで、ゲームシステム/ロジックが使用されてコンピュータネットワーク114を介してユーザ106に配布される。
【0190】
ユーザ106は、HHC102を操作して、インタラクティブ環境に入力データを提供する。一例では、カメラC1は、ユーザ106が位置している実世界環境の画像をキャプチャする。カメラC1は、カメラ118(
図1A)の例である。これらのキャプチャされた画像を分析して、ユーザ106、HMD104、及びHHC102の位置及び動きを判定する。一実施形態では、HHC102は、その位置及び向きを判定するためにトラッキングされる1つまたは複数のライトを含む。さらに、一実施形態では、HMD104は、1つ以上のライトを含み、これらは、インタラクティブ環境の表示中に実質的にリアルタイムでHMD104の位置及び向きを判定するためのマーカーとしてトラッキングされる。
【0191】
一実施形態では、カメラC1は、実世界の空間から音声をキャプチャするためのマイクロフォンアレイの1つ以上のマイクロフォンを含む。カメラC1のマイクロフォンアレイによってキャプチャされた音声は、音源の位置を識別するよう処理される。識別された位置からの音声は、識別された位置からでない他の音声を排除するために選択的に利用または処理される。さらに、一実施形態では、カメラC1は、複数の画像キャプチャデバイス、例えば、立体視可能な一対のカメラ、赤外線(IR)カメラ、深度カメラ、及びそれらの組み合わせを含む。
【0192】
いくつかの実施形態では、コンピュータ1402は、コンピュータ1402の1つ以上のプロセッサなどの処理ハードウェア上でローカルにゲームを実行する。ゲームまたはコンテンツは、物理メディア形式(例えば、デジタルディスク、テープ、カード、サムドライブ、ソリッドステートチップまたはカードなど)などの任意の形式で、またはコンピュータネットワーク114からダウンロードすることによって取得される。一実施形態では、コンピュータ1402は、コンピュータネットワーク114を通じたゲームクラウドシステム116との通信において、クライアントとして機能する。ゲームクラウドシステム116は、ユーザ106がプレイしているビデオゲームを維持し、実行する。コンピュータ1402は、HMD104及びHHC102から受信した入力データ、及び/またはカメラC1から受信した画像をゲームクラウドシステム116に送信し、ゲームクラウドシステム116は、入力データ及び画像を処理して、仮想シーンのゲーム状態に影響を与える。実行中のビデオゲームからの、ビデオデータ、オーディオデータ、及び触覚フィードバックデータなどの出力は、コンピュータ1402に送信される。コンピュータ1402はさらに、送信の前にデータを処理し、または関連するデバイスにデータを直接送信する。例えば、ビデオストリーム及びオーディオストリームがHMD104に提供され、一方、振動フィードバックコマンドがHHC102に提供される。
【0193】
一実施形態では、HMD104、HHC102、及びカメラC1は、ゲームクラウドシステム116と通信するようコンピュータネットワーク114に接続するネットワーク化されたデバイスである。例えば、コンピュータ1402は、ビデオゲーム処理を実行しないが、ネットワークトラフィックの通過、例えば、受信及び送信を容易にする、ルータなどのローカルネットワークデバイスである。HMD104、HHC102、及びカメラC1によるコンピュータネットワーク114への接続は、有線または無線の接続である。いくつかの実施形態では、HMD104上に表示されるか、またはディスプレイデバイス1414、例えば、テレビ、液晶ディスプレイ(LCD)ディスプレイデバイス、発光ダイオード(LED)ディスプレイデバイス、プラズマディスプレイデバイス、コンピュータモニタなどに表示されるコンテンツは、コンテンツソース1416のいずれかから取得される。コンテンツソースの例には、例えば、ダウンロード可能なコンテンツ及び/またはストリーミングコンテンツを提供するインターネットウェブサイトが含まれる。いくつかの例では、コンテンツは、映画、ゲーム、静的/動的コンテンツ、写真、ソーシャルメディアコンテンツ、ソーシャルメディアウェブサイト、インタラクティブツアーコンテンツ、漫画コンテンツなどのような任意のタイプのマルチメディアコンテンツを含む。
【0194】
一実施形態では、ユーザ106は、HMD104上でゲームをプレイしており、ここではそのようなコンテンツは、没入型の三次元インタラクティブコンテンツである。ユーザ106がプレイしている間、HMD104上のコンテンツは、ディスプレイデバイス1414に共有される。一実施形態では、ディスプレイデバイス1414に共有されるコンテンツは、ユーザ106に近接しているかリモートの他のユーザが、ユーザ106のゲームプレイと共に視聴することを可能にする。さらに別の実施形態では、ディスプレイデバイス1414上でユーザ106のゲームプレイを見ている別のプレーヤーは、ユーザ106とインタラクティブに参加する。例えば、ディスプレイデバイス1414上でゲームプレイを見ているユーザは、ゲームシーン内のキャラクターを制御し、フィードバックを提供し、ソーシャルインタラクションを提供し、及び/または(テキスト、音声、アクション、ジェスチャーなどを介して)コメントを提供し、これは、HMD104を装着していないユーザがユーザ106とソーシャルインタラクションすることを可能にする。
【0195】
一実施形態では、本明細書で言及されるコンピュータ1402は、パーソナルコンピュータ、またはゲームコンソール、またはタブレットコンピュータ、またはスマートフォン、またはセットトップボックス、またはキオスク、または無線デバイス、またはデジタルパッド、またはスタンドアロンデバイス、またはハンドヘルドゲームプレイデバイスなどを含む。一実施形態では、コンピュータ1402は、符号化されたビデオストリームを受信し、ビデオストリームを復号し、結果として得られたビデオをユーザ106、例えばゲームのプレーヤーに提示する。符号化されたビデオストリームを受信しかつ/またはビデオストリームを復号するプロセスは通常、コンピュータ1402の受信バッファに個々のビデオフレームを格納することを含む。ビデオストリームは、コンピュータ1402に一体化したディスプレイ上で、またはモニタもしくはテレビもしくはHMDなどの別個のデバイス上でユーザ106に提示される。
【0196】
コンピュータ1402は、一実施形態では、複数のゲームプレーヤーをサポートする。例えば、ゲームコンソールは、2人、3人、4人、またはそれ以上の同時プレーヤー(例えば、P1、P2、...Pn)をサポートする。これらのプレーヤーの各々は、ビデオストリームを受信または共有し、あるいは単一のビデオストリームが、各プレーヤーのために特別に生成された、例えば各プレーヤーの視点に基づいて生成されたフレームの領域を含む。任意の数のコンピュータがローカルである(例えば、同じ場所にある)か、地理的に分散している。ゲームシステムに含まれるコンピュータの数は、1または2から数千、数万、またはそれ以上まで幅広く変わる。本明細書で使用するとき、「ゲームプレーヤー」という用語は、ゲームをプレイする人を指すのに使用され、「ゲームプレイデバイス」という用語は、ゲームをプレイするのに用いられるデバイスを指すのに使用される。
【0197】
いくつかの実施形態では、ゲームプレイデバイスは、ゲーム体験をユーザに提供するために協働する複数のコンピューティングデバイスを指す。例えば、ゲームコンソール及びHMDは、HMDを介して見るゲームを配信するために、ビデオサーバシステムと協働する。別の例として、ゲームコンソールはビデオストリームをビデオサーバシステムから受信し、ゲームコンソールは、レンダリングするために、HMD及び/またはテレビにビデオストリームまたはビデオストリームに対する更新を転送する。
【0198】
さらに、HMDは、例えば、ビデオゲームコンテンツ、映画コンテンツ、ビデオクリップコンテンツ、ウェブコンテンツ、広告コンテンツ、コンテストコンテンツ、ギャンブルゲームコンテンツ、電話会議/会議コンテンツ、ソーシャルメディアコンテンツ(投稿、メッセージ、メディアストリーム、フレンドイベント及び/またはゲームプレイなど)、ビデオ部分及び/またはオーディオコンテンツ、及びブラウザを介してインターネット上のソースから消費するために作成されたコンテンツ及びアプリケーションとあらゆるタイプのストリーミングコンテンツなど、作成または使用される任意のタイプのコンテンツを表示及び/またはインタラクションするために使用される。もちろん、前述のコンテンツのリストは、どのタイプのコンテンツも、それがHMDで表示されるか、HMDの画面にレンダリングされる限りレンダリングされるため、限定的なものではない。
【0199】
一実施形態では、コンピュータは、受信したビデオを修正するシステムをさらに含む。例えば、コンピュータは、更なるレンダリングを実行して、1つのビデオ画像を別のビデオ画像上にオーバーレイし、ビデオ画像をクロッピングし、及び/または同様のことを行う。別の例として、コンピュータは、Iフレーム、Pフレーム、及びBフレームなどの各種のビデオフレームを受信して、これらのフレームをユーザに表示するための画像に処理する。いくつかの実施形態では、コンピュータの一部は、ビデオストリームに対して、さらなるレンダリング、シェーディング、3Dへの変換、2次元(2D)画像への変換、歪み除去、サイジング、または同様の動作を実行する。一実施形態では、コンピュータの一部は、複数のオーディオまたはビデオストリームを受信する。
【0200】
コンピュータの入力デバイスは、例えば、片手ゲームコントローラ、または両手ゲームコントローラ、またはジェスチャー認識システム、または視線認識システム、または音声認識システム、またはキーボード、またはジョイスティック、またはポインティングデバイス、または力フィードバック装置、またはモーション検知装置及び/もしくは位置感知デバイス、またはマウス、またはタッチスクリーン、またはニューラルインタフェース、またはカメラ、またはこれらの2つ以上の組み合わせを含む。
【0201】
ビデオソースは、レンダリングロジック、例えば、ハードウェア、ファームウェア、及び/またはストレージなどのコンピュータ可読媒体上に記憶されたソフトウェアなどを含む。このレンダリングロジックは、ゲーム状態に基づいて、ビデオストリームのビデオフレームを作成する。レンダリングロジックのすべてまたは一部は、任意選択で、1つ以上のグラフィック処理ユニット(GPU)内に配置される。レンダリングロジックは、ゲーム状態及び視点に基づいて、オブジェクト間の3次元空間的関係を判定するため、及び/または適切なテクスチャなどを適用するための処理段階を含む。レンダリングロジックは、符号化された生のビデオを生成する。例えば、未処理ビデオは、Adobe Flash(登録商標)規格、HTML-5、.wav、H.264、H.263、On2、VP6、VCー1、WMA、Huffyuv、Lagarith、MPGーx、Xvid、FFmpeg、x264、VP6-8、realvideo、mp3、または同種のものに従って符号化される。符号化処理は、デバイス上のデコーダに配信するために任意選択でパッケージ化されたビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。任意の他のフレームサイズを使用し得るが、典型的なフレームサイズには、800×600ピクセル、1280×720ピクセル、1024×768ピクセル、1080ピクセルがある。フレームレートは、1秒あたりのビデオフレームの数である。一実施形態では、ビデオストリームは、様々な種類のビデオフレームを含む。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。Iフレームは、ディスプレイデバイス上のすべてのマクロブロック/画素を更新する情報を含み、一方、Pフレームは、そのサブセットを更新する情報を含む。Pフレームは、典型的には、Iフレームよりもデータサイズが小さい。本明細書で使用する「フレームサイズ」という用語は、フレーム内の画素数を指すことを意味する。「フレームデータサイズ」という用語は、フレームを格納するのに必要なバイト数を指すのに使用される。
【0202】
いくつかの実施形態では、コンピュータは、汎用コンピュータ、専用コンピュータ、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス、ポータブルゲームデバイス、携帯電話、セットトップボックス、ストリーミングメディアインタフェース/デバイス、スマートテレビまたはネットワーク化されたディスプレイ、または本明細書で定義されるコンピュータの機能を実現するように構成することができる任意のその他のコンピューティングデバイスである。一実施形態では、クラウドゲームサーバは、ユーザ106によって利用されているコンピュータのタイプを検出し、ユーザのコンピュータに適切なクラウドゲーム体験を提供するように構成されている。例えば、画像設定、オーディオ設定、及びその他の種類の設定は、ユーザのコンピュータ用に最適化されている。
【0203】
図15は、本開示に記載の実施形態によるヘッドマウントディスプレイ(HMD)1500を示す。HMD1500は、HMD104(
図1A)の例であり、HMD1500の前面1506の一端からHMD1500の前面1506の反対側の端まで延びる長さ1504を有する。前面1506は、前部領域704(
図7A)の例である。示されるように、HMD1500は、複数の光源1502A~H、J及びKを含む(例えば、1502K及び1502Jは、HMDヘッドバンドの後部または背面に向かって配置されている)。これらのライトはそれぞれ特定の形状及び/または位置を有し、同じ色または異なる色をしている。ライト1502A、1502B、1502C、及び1502Dは、HMD1500の前面に配置されている。ライト1502E及び1502Fは、HMD1500の側面に配置されている。また、ライト1502G及び1502Hは、HMD1500の前面と側面とにまたがるように、HMD1500のコーナーに配置されている。ライトは、ユーザ106がHMD1500を使用するインタラクティブ環境のキャプチャされた画像において識別されることが理解されよう。
【0204】
HMD1500のライトの識別及びトラッキングに基づいて、インタラクティブ環境におけるHMD1500の位置及び向きが判定される。さらに、画像キャプチャデバイス、例えば、カメラ、デジタルカメラ、深度カメラ、赤外線カメラなどに対するHMD1500の特定の向きに応じて、ライトのいくつかが見えるか、または見えないことが理解されよう。また、画像キャプチャデバイスに対して相対的なHMD1500の向きに応じて、ライトの異なる部分(例えば、ライト1502G及び1502H)が画像キャプチャのために露出される。いくつかの実施形態では、慣性センサは、HMD1500内に配置され、これはライトを必要とせずに、位置決めに関するフィードバックを提供する。いくつかの実施形態では、HMD1500のライト及び慣性センサが連動して、位置/動きデータの混合及び選択を可能にする。
【0205】
一実施形態では、HMD1500のライトは、HMD1500の現在の状態を現実空間にいる他のユーザに表示するように構成されている。例えば、ライトの一部またはすべては、色の配置、強度の配置を有し、点滅し、オン/オフ構成、またはHMD1500の現在の状態を表示する他の配置を有する。一例として、HMD1500のライトは、ビデオゲームのアクティブなゲームプレイ(一般に、アクティブなタイムライン中またはゲームのシーン内で発生するゲームプレイ)中に、メニューインタフェース内の移動またはゲーム設定の構成など、(その間にゲームのタイムラインまたはシーンが非アクティブであり、または一時停止される)ビデオゲームの他の非アクティブなゲームプレイの態様とは対照的に、異なる構成を表示する。
【0206】
一実施形態では、ライトは、ゲームプレイの相対的な強度レベルを示す。例えば、ゲームプレイの強度が増加するとき、ライトの強さ、または点滅の割合が大きくなる。
【0207】
HMD1500は、一実施形態では、1つ以上のマイクロフォンをさらに含んでもよい。図示の実施形態では、HMD1500は、HMD1500の前面に配置されたマイクロフォン1504A及び1504Bと、HMD1500の側面に配置されたマイクロフォンとを含む。マイクロフォンのアレイを利用することにより、マイクロフォンのそれぞれからの音声を処理して、音源の位置を判定する。この情報は、不要な音源の排除、音源と視覚的な識別との関連付けなどを含む様々な形で利用される。
【0208】
HMD1500には、カメラなどの1つ以上の画像キャプチャデバイスが含まれている。図示の実施形態では、HMD1500は、画像キャプチャデバイス1506A及び1506Bを含むことを示す。一実施形態では、立体視可能な一対の画像キャプチャデバイスを利用することにより、HMD1500の前の実世界環境の3D画像及びビデオが、HMD1500の視点からキャプチャされる。HMD1500を装着している間に、そのようなビデオがユーザ106に提示されて、ユーザに「ビデオシースルー」機能が提供される。すなわち、ユーザ106は、厳密な意味でHMD1500を通して見ることはできないが、それでも、あたかもHMD1500を通して見ているかのように、画像キャプチャデバイス1506A及び1506Bによってキャプチャされたビデオは、HMD1500の外部の実世界環境を見ることができることと等価な機能を提供する。
【0209】
このようなビデオは、一実施形態では、拡張現実体験を提供するためにインタラクティブ要素で拡張され、または他の方法でインタラクティブ要素と組み合わせられ、もしくは混合される。図示の実施形態では、2つのカメラをHMD1500の前面に示しているが、任意の数の外向きのカメラが存在してもよく、または、単一のカメラがHMD1500に備え付けられて任意の方向に向けられてもよいことが理解されよう。例えば、別の実施形態では、環境のパノラマ画像を追加しキャプチャするために、HMD1500の側部に取り付けられたカメラが存在する場合がある。
【0210】
図16は、HMD104上でレンダリングするためにユーザ106が装着するHMD104にビデオゲームコンテンツを生成及び提供することができるコンピュータ1402を使用するゲームプレイの一例を示している。この図では、HMD104に提供される仮想オブジェクト、例えば、ゲームコンテンツなどの状態は、リッチなインタラクティブ3D空間にある。上で論じたように、インタラクティブオブジェクトの状態は、コンピュータ1402にダウンロードされるか、または一実施形態では、ゲームクラウドシステム116によって実行される。ゲームクラウドシステム116は、特定のゲーム1630へのアクセス、他の友人との経験の共有、コメントの投稿、及び彼らのアカウント情報の管理を許可されるユーザのユーザ識別子1604のデータベースを含む。
【0211】
ゲームクラウドシステム116は、特定のユーザ識別子に対するゲームデータ1606を格納し、ゲームデータ1606は、ゲームプレイ中、将来のゲームプレイ、ソーシャルメディアネットワークとの共有に使用でき、またはトロフィー、賞、ステータス、ランキングなどの格納に使用される。ソーシャルデータ1608は、ゲームクラウドシステム116によって管理される。一実施形態では、ソーシャルデータ1608は、コンピュータネットワーク114を介してゲームクラウドシステム116とインタフェースされる別個のソーシャルメディアネットワークによって管理される。コンピュータネットワーク114を介して、コンピュータ1402を含む任意の数のコンピュータ1610が、コンテンツへのアクセス及び他のユーザとのインタラクションのために接続されている。
【0212】
図16の例を続けると、HMD104で見られる3次元インタラクティブシーンは、3Dビューで示されるキャラクターなどのゲームプレイ、または別のインタラクティブ環境を含む。1つのキャラクター、例えば、P1などは、HMD104を装着しているユーザ106によって制御される。この例は、2人のプレーヤー間のバスケットボールシーンを示しており、HMDユーザ106によって制御されるアバターなどのキャラクターが、3Dビューで別のキャラクターにボールをダンクしている。他のキャラクターは、ゲームのAI(人工知能)キャラクターであるか、別のプレーヤーまたは複数のプレーヤー(Pn)によって制御される。カメラ1612は、しかしながら、HMDの使用のために、部屋のディスプレイ画面の上に配置されて示されている。一実施形態では、カメラ1612は、HMD104の画像をキャプチャする任意の場所に配置される。カメラ1612は、カメラC1(
図14)の例である。したがって、ユーザ106は、カメラ1612から約90度回転して示されている。ディスプレイデバイス1613は、HMD104でレンダリングされたコンテンツを表示し、ディスプレイデバイス1613内のシーンは、カメラ1612の観点から、HMD104が配置される方向に依存する。もちろん、HMDの使用中、ユーザ106は、HMD104によってレンダリングされた動的なインタラクティブシーンを利用する必要に応じて、動き回り、頭を回し、様々な方向を見ている。
【0213】
図17を参照すると、本開示に記載の一実施形態によるHMD1700の例示の構成要素を説明する図が示されている。HMD1700は、HMD104(
図1)またはHMD602(
図6)またはHMD700(
図7A及び7B)、またはHMD800(
図8A)、またはHMD820(
図8B)、またはHMD822(
図8C)、またはHMD824(
図8D)、またはHMD826(
図8E)、またはHMD902(
図9A)、またはHMD904(
図9B)、またはHMD906(
図9C)、またはHMD1002(
図10A)、またはHMD1024(
図10B)、またはHMD1204(
図12)、またはHMD1300(
図13)、またはHMD1500(
図15)の例である。一実施形態では、有効な構成及び機能に応じて、多かれ少なかれコンポーネントがHMD1700に含まれるかまたはそこから除外されることを理解されたい。HMD1700は、プログラム命令を実行するためのプロセッサ1702を含む。メモリ1704が、記憶の目的で備えられており、一実施形態では、揮発性メモリ及び不揮発性メモリの両方を含む。ユーザ106が見る視覚インタフェースを提供するディスプレイ1706が含まれている。ディスプレイ1706の例には、1つ以上のディスプレイ画面を有する1つ以上のディスプレイデバイスが含まれる。
【0214】
ディスプレイ1706は、1つの単一のディスプレイによって画定されるか、または各眼のための別個のディスプレイ画面の形で画定される。2つのディスプレイ画面が提供されている場合、左目と右目のビデオコンテンツを別々に提供することが可能である。例えば、ビデオコンテンツを各目に個別に表示すると、3Dコンテンツの没入型制御が向上する。本明細書で説明するように、一実施形態では、第2の画面には、片方の目に対して出力を使用し、次に2Dフォーマットで表示するためにコンテンツをフォーマットすることによって、HMD1700の第2の画面コンテンツが提供される。一実施形態では、片目は左目ビデオフィードであるが、他の実施形態では、右目ビデオフィードである。
【0215】
電池1708は、HMD1700の構成要素のための電源として提供される。他の実施形態では、電源は、電力へのコンセント接続を含む。他の実施形態では、電源及びバッテリ1708へのコンセント接続が提供される。動き検出モジュール1710は、磁力計1712、加速度計1714及びジャイロスコープ1716などの、様々な種類の動き検知ハードウェアのいずれかを含む。
【0216】
加速度計は、本明細書で説明する場合、加速度及び重力誘起反力を測定するデバイスである。単軸及び多軸(例えば、6軸)モデルは、異なる方向における加速度の大きさ及び方向を検出することができる。加速度計は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、3つの加速度計が重力の方向を提供するために使用され、これは2つの角度(世界空間ピッチ及び世界空間ロール)に対する絶対基準を与える。
【0217】
本明細書に記載する磁力計は、HMD付近の磁場の強度及び方向を測定する。一実施形態では、3つの磁力計は、HMD内で使用され、ワールド空間ヨー角度についての絶対基準を保証する。一実施形態では、磁力計は、±80マイクロステラの地磁場範囲を有するように設計される。磁力計は金属の影響を受け、実際のヨーに対して単調なヨー測定を提供する。磁場は環境内の金属により歪み、これによりヨー測定に歪みが生じる。必要な場合、この歪みは、ジャイロスコープまたはカメラなどの他のセンサからの情報を用いて、較正される。一実施形態では、HMD1700の傾斜角及び方位角を得るために、加速度計1714が磁力計1712と共に使用される。
【0218】
ジャイロスコープは、本明細書で使用される場合、角運動量の原理に基づいて、向きを測定または維持するためのデバイスである。一実施形態では、3つのジャイロスコープが、慣性感知に基づいて、それぞれの軸(x、y及びz)にわたる動きについての情報を提供する。ジャイロスコープは、高速回転を検出するのに有用である。しかしながら、ジャイロスコープは、絶対基準が存在しないと、時間の経過と共にドリフトする。ドリフトを低減するために、ジャイロスコープは定期的にリセットされ、これは、オブジェクトの視覚トラッキング、加速度計、磁力計などに基づく位置/向きの判定など、他の入手可能な情報を使用して行われる。
【0219】
実世界環境の画像及び画像ストリームをキャプチャするために、カメラ1718が備えられている。カメラ1718は、HMD104のカメラ108、またはHMD602(
図6)のカメラ604A、またはHMD602のカメラ604B、またはHMD700のカメラ710(
図7A)、またはカメラ752A(
図7C)、またはカメラ752B(
図7C)、またはカメラ754A(
図7D)、またはカメラ754B(
図7D)、またはカメラ754C(
図7D)の例である。一実施形態では、後向きの、例えば外向きのカメラ(ユーザ106がHMD1700のディスプレイを見ているときに、ユーザ106から離れる方向に向けられる)など、及び前向きのカメラ(ユーザ106がHMD1700のディスプレイを見ているときに、ユーザ106に向けられる)を含む、複数のカメラが(任意選択的に)HMD1700に含まれている。加えて、一実施形態では、深度カメラ1720は、実世界環境におけるオブジェクトの深度情報を感知するためにHMD1700に含まれる。深度カメラ1720は、外向きのカメラである。深度カメラ1720は、HMD104のカメラ108、またはHMD602のカメラ604A(
図6)、またはHMD602のカメラ604B、またはHMD700のカメラ710(
図7)、またはカメラ752A(
図7C)、またはカメラ752B(
図7C)、またはカメラ754A(
図7D)、またはカメラ754B(
図7D)、またはカメラ754C(
図7D)の別の例である。
【0220】
HMD1700は、オーディオ出力を提供するためのスピーカ1722を含む。また、一実施形態では、周囲環境からの音声、ユーザ106によって行われた発話などを含む、実世界空間からのオーディオをキャプチャするためのマイクロフォン1724が含まれる。一実施形態では、HMD1700は、ユーザ106に触覚フィードバックを提供するための触覚フィードバックモジュール1726、例えば、触覚フィードバックデバイスなどを含む。一実施形態では、触覚フィードバックモジュール1726は、触覚フィードバックをユーザ106に提供することができるように、HMD1700の動き及び/または振動を引き起こすことが可能である。
【0221】
LED1730は、HMD1700の状態の視覚インジケータとして提供される。例えば、LEDは、バッテリレベル、電源投入などを示す。カードリーダ1732は、HMD1700がメモリカードへ、またこのメモリカードからの情報を読み出し、書き込むことを可能にするために提供される。ペリフェラルデバイスの接続、または他のデバイス、例えば、他のポータブルデバイス、コンピュータなどへの接続を可能にするためのインタフェースの1つの例としてUSBインタフェース1734を含む。HMD1700の様々な実施形態において、様々な種類のインタフェースのいずれかが、HMD1700のより高い接続性を可能にするために含まれてもよい。
【0222】
一実施形態では、無線ネットワーク技術を介してコンピュータネットワーク114またはコンピューティングデバイス112への接続を可能にするために、Wi-Fi(商標)モジュール1736が含まれる。また、一実施形態では、HMD1700は、他のデバイス、例えば、ゲームコンソール、コンピューティングデバイス112などへの無線接続を可能にするためのBluetooth(商標)モジュール1738を含む。他のデバイスへの接続のための通信リンク1740が含まれる。一実施形態では、通信リンク1740は、無線通信のために赤外線伝送を利用する。他の実施形態では、通信リンク1740は、他のデバイスとの通信のために、様々な無線または有線の伝送プロトコルのいずれかを利用する。
【0223】
入力ボタン/センサ1742は、ユーザ106について入力インタフェースを提供するために含まれる。ボタンなどの様々な種類の入力インタフェースのいずれかを含めてもよい。一実施形態では、超音波技術を介して他のデバイスとの通信を促進するために、超音波通信モジュール1744がHMD1700に含まれる。
【0224】
一実施形態では、バイオセンサ1746は、ユーザ106からの生理学的データ、例えば、バイオメトリック情報などの検出を可能にするために含まれる。1つの実施形態において、バイオセンサ1746は、ユーザの皮膚、声検出、網膜検出を通してユーザ106の生体電気信号を検出してユーザ/輪郭などを識別するための1つ以上の乾燥電極を含む。
【0225】
HMD1700のプロセッサ1702などの1つ以上のプロセッサは、メモリ1704、ディスプレイ1706、バッテリ1708、動き検出モジュール1710、カメラ1718、深度カメラ1720、スピーカ1722、マイクロフォン1724、触覚フィードバックモジュール1726、LED1730、カードリーダ1732、USBインタフェース1734、Wi-Fi(商標)モジュール1736、Bluetooth(商標)モジュール1738、通信リンク1740、入力ボタン/センサ1742、超音波通信モジュール1744、及びバイオセンサ1746に結合されている。
【0226】
HMD1700の前述の構成要素は、HMD1700内に含まれることができる単なる例示的な構成要素として記述されている。本開示に記載の様々な実施形態では、HMD1700は、上記の様々な構成要素の一部を含んでもよいし、または含まなくてもよい。HMD1700の実施形態は、本明細書に説明されるような本発明の態様を容易にする目的のために、ここでは説明されていないが、当該技術分野において既知である他の構成要素を追加で含んでもよい。
【0227】
一実施形態では、HMD1700は、コンピュータネットワーク114と通信するために、ネットワークインタフェースコントローラ(NIC)またはネットワークインタフェースカードなどのワイヤレスアクセスカード(WAC)を含む。
【0228】
図18は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)1802は、ネットワーク114を介して地理的に分散され、接続されたユーザ1800-1、1800-2、1800-3、1800-4などに多数の情報サービスを供給する。一実施形態では、ISPは、株価更新などの1種類のサービス、または放送メディア、ニュース、スポーツ、ゲームなどの様々なサービスを提供することができる。さらに、各ISPによって提供されるサービスは動的であり、つまり、任意の時点でサービスが追加されるかまたは取り除かれる。したがって、特定の個人に特定の種類のサービスを提供するISPは、時間の経過に伴って変わる。例えば、ユーザ106が地元にいる間はユーザ106の付近のISPによってユーザ106にサービスが行われ、ユーザ106が異なる街に移動したときは異なるISPによってユーザ106にサービスが行われる。地元のISPは、情報及びデータを新しいISPに転送することになり、その結果、ユーザ106に関する情報が新しい街までユーザ106に「追従」し、データがユーザ106により近づき、データによりアクセスしやすくする。別の実施形態では、ユーザ106の情報を管理するマスタISPと、マスタISPからの制御下のユーザ106と直接的にインタフェースをとるサーバISPとの間に、マスタとサーバの関係が確立される。別の実施形態では、コンピュータが世界中を移動するときにデータが1つのISPから別のISPに転送され、ユーザ106にサービスを提供するのにより良い位置にあるISPがこれらのサービスを提供するものとなる。
【0229】
ISP1802は、ネットワーク114を経由して顧客にコンピュータベースのサービスを提供するアプリケーションサービスプロバイダ(ASP)1806を含む。ASPモデルを使用して供されるソフトウェアは、オンデマンドソフトウェアまたはソフトウエアアズアサービス(SaaS)と呼ばれることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式は、ハイパーテキスト転送プロトコル(HTTP)などの標準プロトコルの使用によるものである。アプリケーションソフトウェアは、ベンダのシステムに常駐し、ハイパーテキストマークアップ言語(HTML)を使用するウェブブラウザを通じて、ベンダによって提供された専用クライアントソフトウェア、またはシンクライアントなどの他のリモートインタフェースにより、ユーザによってアクセスされる。
【0230】
広い地理的地域にわたって供給されるサービスは、多くの場合にはクラウドコンピューティングを使用する。クラウドコンピューティングとは、動的にスケーラブルなリソースがネットワーク114を介したサービスとして提供される、コンピューティング様式である。ユーザは、ユーザをサポートする「クラウド」のテクノロジインフラストラクチャの専門家である必要はない。一実施形態では、クラウドコンピューティングは、インフラストラクチャアズアサービス(IaaS)、プラットフォームアズアサービス(PaaS)、及びソフトウエアアズアサービス(SaaS)などの異なるサービスに分けられる。クラウドコンピューティングサービスは、多くの場合には、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータはサーバ上に格納される。クラウドという用語は、インターネットがコンピュータネットワーク図にどのように描かれているかに基づき、(例えば、サーバ、ストレージ、及びロジックを使用した)インターネットのメタファとして使用され、メタファが隠す複雑なインフラストラクチャの抽象的概念である。
【0231】
さらに、ISP1802は、ゲームコンピュータによってシングル及びマルチプレーヤービデオゲームをプレイするために使用されるゲーム処理サーバ(GPS)1808を含む。インターネット経由でプレイされる大部分のビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームはプレーヤーからのデータを収集し、それを他のプレーヤーに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストする別個のサーバが必要となる。別の実施形態でプレーヤー1808は、プレーヤー及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPS1808に依存せずに情報を交換する。
【0232】
専用GPSは、コンピュータとは無関係に稼働するサーバである。このようなサーバは、通常、データセンターに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大部分のPCベースのマルチプレーヤーゲームのためのゲームサーバをホスティングするのに好ましい方法である。大規模なマルチプレーヤーオンラインゲームは、通常ゲームタイトルを所有するソフトウェア会社によってホスティングされた専用サーバ上で実行されて、その専用サーバがコンテンツを管理及び更新することを可能にする。
【0233】
放送処理サーバ(BPS)1810は、視聴者にオーディオまたはビデオ信号を配信する。非常に狭い範囲の視聴者への放送はナローキャスティングと呼ばれることもある。放送配信の最終工程は、信号が聴取者または視聴者にどのように達するかであり、信号は、ラジオ局またはテレビ局と同様にアンテナ及び受信機に地上波で到来し得るか、または局を介してケーブルテレビもしくはケーブルラジオ(もしくは「無線ケーブル」)を通じて到来し得るか、またはネットワークから直接到来し得る。インターネットはまた、特に信号及び帯域幅を共有できるマルチキャストを用いて、ラジオまたはテレビのいずれかを受信者に届けてもよい。歴史的に、放送は、全国放送または地域放送などの地理的領域によって区切られてきた。しかしながら、高速インターネットの普及に伴い、コンテンツは世界のほぼすべての国に到達し、放送は地域によって定められない。
【0234】
ストレージサービスプロバイダ(SSP)1812は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは定期的なバックアップ及びアーカイビングも供する。ストレージをサービスとして供することにより、ユーザは必要に応じてより多くのストレージを注文する。別の大きな利点は、SSPにバックアップサービスが含まれており、コンピュータのハードドライブに障害が発生してもユーザがすべてのデータを失うことがないことである。さらに、一実施形態では、複数のSSPは、ユーザデータの全部または一部のコピーを有し、ユーザがどこに位置するか、またはデータにアクセスするために使用されているデバイスとは無関係に、ユーザは効率的な手法でデータにアクセスすることができる。例えば、ユーザ106は、家のコンピュータ内の個人的ファイルにアクセスし、さらに、ユーザ106が移動している間は携帯電話内の個人的ファイルにアクセスする。
【0235】
通信プロバイダ1814は、ユーザに接続性を提供する。通信プロバイダの1つの種類は、インターネットへのアクセスを供するインターネットサービスプロバイダ(ISP)である。ISPは、ダイヤルアップ、デジタル加入者線(DSL)、ケーブルモデム、ファイバ、無線、または専用の高速インターコネクトなどのインターネットプロトコルデータグラムの供給に適したデータ伝送技術を使用して顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージング及びショートメッセージサービス(SMS)テキストメッセージなどのメッセージングサービスも提供する。通信プロバイダの別の種類は、インターネットへの直接のバックボーンアクセスを提供することによって帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)である。ネットワークサービスプロバイダは、一実施形態では、電気通信事業者、データ通信事業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などを含む。
【0236】
データ交換1804は、ISP1802内のいくつかのモジュールを相互接続し、ネットワーク114を介してこれらのモジュールをユーザ1600に接続する。データエクスチェンジ1804は、ISP1802のすべてのモジュールが近接している小さい領域をカバーし、または様々なモジュールが地理的に分散しているときには大きな地理的領域をカバーする。例えば、データ交換1688は、データセンターのキャビネット内に高速ギガビットイーサネット(登録商標)(またはより高速)、または大陸間インタラクティブエリアネットワーク(VLAN)を含む。
【0237】
各ユーザ1800-1、1800-2、1800-3、及び1800-4は、少なくともCPU、ディスプレイ及び入出力インタフェース(I/O)を含むクライアントデバイス1820を用いてリモートサービスにアクセスする。一実施形態では、クライアントデバイスは、パーソナルコンピュータ(PC)、携帯電話、ネットブック、タブレット、ゲームシステム、携帯情報端末(PDA)、HMD、コンピューティングデバイス、HMDとコンピューティングの組み合わせなどである。一実施形態では、ISP1802は、クライアントデバイスのタイプを認識し、使用される通信方法を調整する。他の場合には、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、ISP1802にアクセスする。
【0238】
図19を参照すると、本開示に記載の一実施形態によるHHC1900の例示の構成要素を説明する図が示されている。HHC1900は、HHC102(
図1A)またはHHC500(
図5A)の例である。一実施形態では、有効な構成及び機能に応じて、多かれ少なかれコンポーネントがHHC1900に含まれるかまたはそこから除外されることを理解されたい。HHC1900は、プログラム命令を実行するためのプロセッサ1902を含む。メモリ1904が、記憶の目的で備えられており、一実施形態では、揮発性メモリ及び不揮発性メモリの両方を含む。ユーザ106が見る視覚インタフェースを提供するディスプレイ1906が含まれている。
【0239】
電池1908は、HHC1900のための電源として提供される。他の実施形態では、電源は、電力へのコンセント接続を含む。他の実施形態では、電源及びバッテリ1908へのコンセント接続が提供される。動き検出モジュール1910は、磁力計1912、加速度計1914及びジャイロスコープ1916などの、様々な種類の動き検知ハードウェアのいずれかを含む。
【0240】
磁力計は、HHC付近の磁場の強度及び方向を測定する。一実施形態では、3つの磁力計がHHC内で使用され、ワールド空間ヨー角度についての絶対基準を保証する。一実施形態では、HHC1900の傾斜角及び方位角を得るために、加速度計1914が磁力計1912と共に使用される。
【0241】
HHC1900を取り巻く実世界環境の画像及び画像ストリームをキャプチャするために、カメラ1918が備えられている。例えば、カメラ1918は、HMD104(
図1A)または本明細書で説明されるHMD700(
図7A)などの他の任意のHMDの画像をキャプチャする。一実施形態では、(任意選択的に)2つ以上のカメラがHHC1900に含まれ、これには、外向きの(HHC1900から離れる方向に向けられた)カメラが含まれる。加えて、一実施形態では、深度カメラ1920は、実世界環境におけるオブジェクトの深度情報を感知するためにHHC1900に含まれる。深度カメラ1920は、外向きのカメラである。例えば、深度カメラ1920は、HMD104(
図1A)または本明細書で説明されるHMD700(
図7A)などの他の任意のHMDの画像をキャプチャする。
【0242】
HHC1900には、オーディオ出力を提供するためのスピーカ1922が含まれている。また、一実施形態では、周囲環境からの音声、ユーザ106により行われる発話などを含む、実世界空間からのオーディオをキャプチャするためのマイクロフォン1924が含まれる。一実施形態では、HHC1900は、触覚フィードバックをユーザ106へ提供するための触覚フィードバックモジュール1926、例えば触覚フィードバックデバイスを含む。一実施形態では、触覚フィードバックモジュール1926は、触覚フィードバックをユーザ106に提供することができるように、HHC1900の動き及び/または振動を引き起こすことが可能である。
【0243】
LED1930は、HHC1900の状態の視覚インジケータとして提供される。例えば、LEDはバッテリレベル、電源オンなどを示す。周辺デバイスの接続、または他のポータブルデバイス、コンピュータなどの他のデバイスへの接続を可能にするためのインタフェースの一例として、USBインタフェース1934が含まれる。HHC1900の様々な実施形態では、HHC1900の接続性を高めることを可能にするために、様々な種類のインタフェースのいずれかが含まれ得る。
【0244】
一実施形態では、コンピューティングデバイス112を介してコンピュータネットワーク114に接続するための無線ネットワーキング技術を介してコンピューティングデバイス112への接続を可能にするために、Wi-Fi(商標)モジュール1936が含まれる。また、一実施形態では、HHC1900は、他のデバイス、例えば、コンピューティングデバイス112などへの無線接続を可能にするためのBluetooth(商標)モジュール1938を含む。通信リンク1940は、HMD104または本明細書に記載されている他のHMDなどの他のデバイスへの接続のために含まれる。一実施形態では、通信リンク1940は、無線通信のために赤外線伝送を利用する。他の実施形態では、通信リンク1940は、他のデバイスとの通信のために、様々な無線または有線の伝送プロトコルのいずれかを利用する。
【0245】
入力ボタン/センサ1942は、ユーザ106について入力インタフェースを提供するために含まれる。ボタン、容量性デバイス、タッチパッド、ジョイスティック、トラックボールなど、様々な種類の入力インタフェースのいずれかを含めてもよい。一実施形態では、超音波技術を介して他のデバイスとの通信を促進するために、超音波通信モジュール1944がHHC1900に含まれる。
【0246】
一実施形態では、バイオセンサ1946は、ユーザ106からの生理学的データ、例えば、バイオメトリック情報などの検出を可能にするために含まれる。一実施形態では、バイオセンサ1946は、ユーザの皮膚、声検出、網膜検出を通してユーザ106の生体電気信号を検出してユーザ/輪郭などを識別するための1つ以上の乾燥電極を含む。
【0247】
HHC1900のプロセッサ1902などの1つ以上のプロセッサは、メモリ1904、ディスプレイ1906、バッテリ1908、動き検出モジュール1910、カメラ1918、深度カメラ1920、スピーカ1922、マイクロフォン1924、触覚フィードバックモジュール1926、LED1930、USBインタフェース1934、Wi-Fi(商標)モジュール1936、Bluetooth(商標)モジュール1938、通信リンク1940、入力ボタン/センサ1942、超音波通信モジュール1944、及びバイオセンサ1946に結合されている。
【0248】
一実施形態では、HHC1900は、コンピュータネットワーク114と通信するために、NICまたはネットワークインタフェースカードなどのWACを含む。
【0249】
HHC1900の前述の構成要素は、HHC1900内に含まれることができる単なる例示的な構成要素として記述されている。本開示に記載の様々な実施形態では、HHC1900は、上記の様々な構成要素の一部を含んでもよいし、または含まなくてもよい。HHC1900の実施形態は、本明細書に説明されるような本発明の態様を容易にする目的のために、ここでは説明されていないが、当該技術分野において既知である他の構成要素を追加で含んでもよい。
【0250】
一実施形態では、コンピューティングデバイス112及び/またはゲームクラウドシステム116の1つ以上のサーバは、本明細書では処理デバイスと呼ばれることがある。例えば、コンピューティングデバイス112の1つ以上のプロセッサ及び/またはゲームクラウドシステム116の1つ以上のプロセッサは、本明細書では処理デバイスと呼ばれることがある。
【0251】
本開示に記載の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な一般消費者向け電気製品、小型コンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施され得る。本開示に記載の実施形態はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても、実施することができる。
【0252】
前述の実施形態を念頭に置いて、本開示に記載の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施動作を用い得ることを、理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示に記載の実施形態の一部を形成する、本明細書で説明される動作のうちのいずれも、有用な機械動作である。本開示に記載のいくつかの実施形態はまた、これら動作を実行するためのデバイスまたは装置に関する。本装置は、必要な目的のために特別に構築することができ、または本装置は、コンピュータに記憶されたコンピュータプログラムにより選択的に起動または構成される汎用コンピュータであり得る。具体的には、様々な汎用機械を、本明細書の教示に従って書かれたコンピュータプログラムと共に使用することができ、あるいは、必要な動作を実行するためにより専門的な装置を構築する方がより好都合である場合もある。
【0253】
本開示に記載されているいくつかの実施形態はまた、コンピュータ可読媒体上のコンピュータ可読コードとして具体化することができる。コンピュータ可読媒体は、後でコンピュータシステムにより読み出され得るデータを格納できる任意のデータストレージデバイスである。コンピュータ可読媒体の例には、ハードドライブ、NAS、ROM、RAM、CD-ROM、CD-R、CD-RW、磁気テープ、光学データストレージデバイス、非光学データストレージデバイスなどが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で格納及び実行されるように、ネットワーク結合コンピュータシステム上に分散されたコンピュータ可読有形媒体を含むことができる。
【0254】
一実施形態では、本開示の実施形態で説明される1つ以上の特徴は、本開示で説明される別の実施形態で説明される1つ以上の特徴と組み合わせることができることに留意されたい。
【0255】
さらに、上記の実施形態のいくつかは、ゲーム環境に関して説明されているが、いくつかの実施形態では、ゲームの代わりに、他の環境、例えば、ビデオ会議環境などが使用される。
【0256】
方法動作は特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で実行される限り、動作間に他の維持管理動作が実行されてもよく、または動作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に動作を分散することで、処理に関連する様々な間隔で処理動作が起こることを可能にしてもよいことを、理解すべきである。
【0257】
本開示に記載の前述の実施形態は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は例示的であって限定的ではないと見なされるべきであり、実施形態は本明細書に記載された詳細に限定されるものではなく、添付の特許請求の範囲及び均等物の範囲内で修正され得る。