(57)【要約】  一般的な一態様では、ユーザのために仮想環境を生成するためのシステムおよび方法が記載される。仮想環境は、第２の電子デバイスに通信可能に結合される第１の電子デバイスを用いて生成することができる。方法は、周囲環境において第２の電子デバイスの移動を追跡することと、１つまたは複数のセンサを用いて、周囲環境における移動に関連付けられる動きの範囲を判断することと、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることと、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することとを備え、複数の仮想オブジェクトは仮想構成に従い、前記方法はさらに、仮想構成に従って、複数の仮想オブジェクトのレンダリングをトリガすることを備える。
2019521452.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成することと、   
周囲環境において前記第２の電子デバイスの移動を追跡することと、
１つまたは複数のセンサを用いて、前記周囲環境において前記第２の電子デバイスの移動に関連付けられる動きの範囲を判断することと、
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲に相関させることと、
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することと、
前記第１の電子デバイスにおける前記仮想環境において、前記仮想構成に従って前記複数の仮想オブジェクトをレンダリングすることをトリガすることとを備える、方法。
【請求項２】
前記複数の仮想オブジェクトのうちの少なくとも１つは、前記仮想環境および前記仮想環境に関連付けられるオプションを示すユーザインターフェイスの一部であり、前記仮想構成を判断することは、前記仮想環境に関連付けられる前記動きの範囲に一致するように前記ユーザインターフェイスを適合することを含む、請求項１に記載の方法。
【請求項３】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲と相関させることは、
前記第１の電子デバイスまたは前記第２の電子デバイスのうちの少なくとも一方にアクセスするユーザの身体的側面を判断することと、
前記身体的側面に関連付けられる少なくとも１つの能力を前記周囲環境から前記仮想環境に変換することと、
前記少なくとも１つの変換された能力に従って前記仮想環境で仮想コンテンツを提供することとを含む、請求項１に記載の方法。
【請求項４】
前記第１の電子デバイスにアクセスするユーザの身体的側面は、前記ユーザに関連付けられる、前記仮想環境内の検出位置、姿勢、物理的空間内の検出位置、または検出された高さおよび腕の長さに関連する到達距離のうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲に相関させることは、
前記第１の電子デバイスにアクセスしているユーザが前記第１の電子デバイスにアクセスしながら着座位置にあると判断したことに応答して、前記仮想環境における前記少なくとも１つの能力が前記ユーザの前記着座位置に対処することを可能にすることを含む、請求項３に記載の方法。
【請求項６】
前記複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスに関連付けられる前記ユーザの身体的側面を判断することと、前記ユーザの前記身体的側面および前記周囲環境に関連付けられる前記動きの範囲を用いて到達ゾーンを推定することとを含み、前記到達ゾーンは、前記第１の電子デバイスにアクセスする前記ユーザの到達範囲内にあって、前記仮想環境内に複数の仮想オブジェクトを配置する領域として、用いられる、請求項３に記載の方法。
【請求項７】
前記仮想環境に関連付けられる前記動きの範囲は、前記第２の電子デバイス上で実行される加速度計を用いて判断される、請求項１に記載の方法。
【請求項８】
前記周囲環境において前記第２の電子デバイスの移動を追跡することは、前記周囲環境において前記第１の電子デバイスおよび前記第２の電子デバイスにアクセスするユーザの画像をキャプチャすることによって前記第２の電子デバイスの横方向の移動を追跡することを含む、請求項１に記載の方法。
【請求項９】
前記第１の電子デバイスはＨＭＤデバイスであり、前記第２の電子デバイスはポータブル電子デバイスである、請求項１に記載の方法。
【請求項１０】
前記複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスにアクセスするユーザの身長を判断することと、前記ユーザの前記身長および前記周囲環境に関連付けられる前記動きの範囲を用いて到達ゾーンを推定することとを含み、前記到達ゾーンは、前記第１の電子デバイスにアクセスする前記ユーザの到達範囲内にあって、前記仮想環境内に複数の仮想オブジェクトを配置する領域として、用いられる、請求項９に記載の方法。
【請求項１１】
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスの垂直オフセットを検出することと、前記垂直オフセットを用いて複数のオブジェクトを前記第１の電子デバイスにアクセスするユーザの到達範囲内に配置することとを含む、請求項１に記載の方法。
【請求項１２】
命令が格納された非一時的な機械可読媒体であって、前記命令はプロセッサによって実行されるとコンピューティングデバイスに、
第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成させ、
周囲環境において前記第２の電子デバイスの移動を追跡させ、
１つまたは複数のセンサを用いて、前記周囲環境において前記第２の電子デバイスに関連付けられる移動に関連付けられる動きの範囲を判断させ、
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲に相関させ、
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断させ、
前記第１の電子デバイスにおける前記仮想環境において、前記仮想構成に従って前記複数の仮想オブジェクトをレンダリングすることをトリガさせる、非一時的な機械可読媒体。
【請求項１３】
前記複数の仮想オブジェクトのうちの少なくとも１つは、前記仮想環境および前記仮想環境に関連付けられるオプションを示すユーザインターフェイスの一部であり、前記仮想構成を判断することは、前記仮想環境に関連付けられる前記動きの範囲に一致するように前記ユーザインターフェイスを適合することを含む、請求項１２に記載の非一時的な機械可読媒体。
【請求項１４】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲と相関させることは、前記第１の電子デバイスにアクセスするユーザの身体的側面を判断することを含む、請求項１２に記載の非一時的な機械可読媒体。
【請求項１５】
前記第１の電子デバイスはＨＭＤデバイスであり、前記第２の電子デバイスはポータブル電子デバイスである、請求項１２に記載の非一時的な機械可読媒体。
【請求項１６】
前記複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスに関連付けられるユーザの身体的側面を判断することと、前記ユーザの前記身体的側面および前記周囲環境に関連付けられる前記動きの範囲を用いて到達ゾーンを推定することとを含み、前記到達ゾーンは、前記第１の電子デバイスに関連付けられるおよび／またはアクセスするユーザの到達範囲内にあって、前記仮想環境内に複数の仮想オブジェクトを配置する領域として、用いられる、請求項１２に記載の非一時的な機械可読媒体。
【請求項１７】
システムであって、
メモリと、
前記メモリに結合される少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサは、
第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成し、
周囲環境において前記第２の電子デバイスの移動を追跡し、
１つまたは複数のセンサを用いて、前記周囲環境における前記移動に関連付けられる動きの範囲を判断し、
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲に相関させ、
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断し、
前記第１の電子デバイスにおける前記仮想環境において、前記仮想構成に従って前記複数の仮想オブジェクトをレンダリングすることをトリガするよう構成される、システム。
【請求項１８】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲と相関させることは、ユーザが前記第１の電子デバイスにアクセスしている間着座位置にある、と判断したことに応答して、前記仮想環境内の前記少なくとも１つの能力が、前記第１の電子デバイスにアクセスしている前記ユーザの着座位置に対処することを可能にすることを含む、請求項１７に記載のシステム。
【請求項１９】
前記周囲環境において前記第２の電子デバイスの移動を追跡することは、前記第２の電子デバイスに格納される加速度計データを解析することを含む、請求項１７に記載のシステム。
【請求項２０】
前記第１の電子デバイスはＨＭＤデバイスであり、前記第２の電子デバイスはポータブル電子デバイスである、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
この出願は２０１６年７月２２日に出願された、「仮想現実ユーザインターフェイスのためのユーザの動きの範囲の検出（DETECTING USER RANGE OF MOTION FOR VIRTUAL REALITY USER INTERFACES）」と題される米国仮出願第６２／３６５，５２６号の継続であり、その優先権を主張し、その開示はここに引用により援用される。
【０００２】
この記載は、一般に、仮想現実（ＶＲ）コンテンツにアクセスするユーザのための動きの範囲の能力を検出するための方法およびデバイスに関する。
【背景技術】
【０００３】
背景
多くの仮想現実環境は、広範囲の入力デバイスからユーザ入力を受け入れる。例えば、モバイルデバイス、キーボード、コントローラ、および追跡された手の動きの任意の組み合わせを用いて、仮想現実（ＶＲ）空間への入力を与えることができる。ＶＲ空間に入力を与えることはまた、動きとデバイス操作との組み合わせを必要とし得る。各動きおよびデバイス操作は、ＶＲ空間にアクセスするユーザによって実行され得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
１つまたは複数のコンピューティングデバイスのシステムは、システムにインストールされ、動作でシステムに特定のアクションを実行させるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せを有することによって、特定の動作またはアクションを実行するよう構成することができる。１つまたは複数のコンピュータプログラムは、データ処理装置によって実行されるとデータ処理装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するよう構成することができる。
【０００５】
１つの一般的な局面において、コンピュータにより実現される方法は、第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成することと、周囲環境において第２の電子デバイスの移動を追跡することと、１つまたは複数のセンサを用いて、周囲環境において第２の電子デバイスの移動に関連付けられる動きの範囲を判断することとを備える。方法はさらに、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることと、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することと、第１の電子デバイスにおける仮想環境において、仮想構成に従って複数の仮想オブジェクトをレンダリングすることをトリガすることとを備えてもよい。
【０００６】
実現例は、以下の特徴の１つ以上を含んでもよい。複数の仮想オブジェクトのうちの少なくとも１つは、仮想環境および仮想環境に関連付けられるオプションを示すユーザインターフェイスの一部であり、仮想構成を判断することは、仮想環境に関連付けられる動きの範囲に一致するようにユーザインターフェイスを適合することを含む、方法。周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることは、第１の電子デバイスまたは第２の電子デバイスの少なくとも１つにアクセスするユーザの身体的側面を判断することと、身体的側面に関連付けられる少なくとも１つの能力を周囲環境から仮想環境に変換することと、少なくとも１つの変換された能力に従って仮想環境で仮想コンテンツを提供することとを含む、方法。いくつかの実装形態では、第１の電子デバイスにアクセスするユーザの身体的側面は、ユーザに関連付けられる、仮想環境内の検出位置、姿勢、物理的空間内の検出位置、または検出された高さおよび腕の長さに関連する到達距離のうちの少なくとも１つを含む。いくつかの実装形態では、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることは、さらに、ユーザが、第１の電子デバイスにアクセスしている間、着座位置にある、と判断したことに応答して、仮想環境内の少なくとも１つの能力がユーザの着座位置に対処することを可能にすることを含む。
【０００７】
いくつかの実装形態では、この方法は、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスに関連付けられるユーザの身体的側面を判断することと、ユーザの身体的側面および周囲環境に関連付けられる動きの範囲を用いて到達ゾーンを推定することとを含むことを備えてもよい。到達ゾーンは、第１の電子デバイスにアクセスするユーザの到達範囲内にあって、仮想環境内に複数の仮想オブジェクトを配置する領域として、用いることができる。いくつかの実装形態では、仮想環境に関連付けられる動きの範囲は、第２の電子デバイス上で実行される加速度計を用いて判断される。いくつかの実装形態では、周囲環境において第２の電子デバイスの移動を追跡することは、周囲環境において第１の電子デバイスおよび第２の電子デバイスにアクセスするユーザの画像をキャプチャすることによって第２の電子デバイスの横方向の移動を追跡することを含む。いくつかの実装形態では、第１の電子デバイスはＨＭＤデバイスであり、第２の電子デバイスはポータブル電子デバイスである。
【０００８】
いくつかの実装形態では、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスにアクセスするユーザの身長を判断することと、ユーザの身長および周囲環境に関連付けられる動きの範囲を用いて到達ゾーンを推定することとを含む。到達ゾーンは、第１の電子デバイスにアクセスするユーザの到達範囲内にあって、仮想環境内に複数の仮想オブジェクトを配置する領域として、用いることができる。
【０００９】
いくつかの実装形態では、この方法は、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスの垂直オフセットを検出することと、垂直オフセットを用いて複数のオブジェクトを第１の電子デバイスにアクセスするユーザの到達範囲内に配置することとを含むことを備えてもよい。
【００１０】
記載されたシステムの実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含み得る。
【００１１】
１つ以上の実現例の詳細が、添付の図面および以下の記載において述べられる。他の特徴は記載および図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１２】
【図１Ａ】ユーザが仮想現実（ＶＲ）空間と対話する例を示す図である。
【図１Ｂ】ユーザが仮想現実（ＶＲ）空間と対話する例を示す図である。
【図２Ａ】ユーザがＶＲ空間と対話する例を示すブロック図である。
【図２Ｂ】ユーザがＶＲ空間と対話する例を示すブロック図である。
【図３】ＶＲ空間においてＨＭＤデバイスに通信可能に結合されるＶＲ機器を示すブロック図である。
【図４】本明細書で説明される実現例および技術による、頭部装着型ディスプレイおよびコントローラを含む仮想現実システムの実現例である。
【図５】動きの範囲を検出し、動きの範囲に従って仮想コンテンツを提示するためのプロセスの一実装形態を示すフローチャートである。
【図６】本明細書に記載の技術を実施するために用いることができるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す。
【発明を実施するための形態】
【００１３】
様々な図面における同様の参照符号は同様の要素を示す。
詳細な説明
仮想現実（ＶＲ）アプリケーションでは、ユーザは、ユーザの身体的サイズおよび／または利用可能な動きの範囲に合うように物理的または人間工学的に適合されていない環境に置かれることがある。これは、ユーザがＶＲ空間内で仮想オブジェクトおよびアプリケーションと快適に対話することを不可能にする可能性がある。環境評価およびそのような環境に対する自動調整の提供は、ユーザがＶＲ空間内で仮想オブジェクトおよびアプリケーションと快適に対話することを可能にし得る。前述の自動調整がなければ、ユーザは、アプリケーションと対話することができるようにするために、位置を変える（例えば、着座から起立するかもしくはその逆、および／または体をひねるもしくは回す）必要があるかもしれない。本明細書に記載のシステムおよび方法は、特定のユーザの現在の物理的位置に基づいて、特定のアプリケーションが特定のユーザに使用可能かどうかについての判断を与えることができる。このシステムおよび方法は、ユーザの快適さを補助するために小さな位置調整を実行する能力を提供することができ、さらにユーザの現在の物理的位置（たとえば立っている、座っているなど）からユーザがアプリケーションを用いることができるようにするのを補助するために大きな位置調整を提供することができる。
【００１４】
着座した、水平な、または立った位置でユーザに利用可能な動きの範囲を評価することによって、本開示に記載のシステムおよび方法は、ＶＲ空間およびＶＲ空間に関連付けられるオプションを示すユーザインターフェイスを、ユーザに関連付けられる利用可能な動きの範囲に一致させるように適合することができる。例えば、本明細書に記載のシステムおよび方法は、ユーザが３６０度の範囲の回転運動および／またはユーザの身体からの特定の到達半径を有する椅子に座っていることを検出した場合、特定のユーザインターフェイスをレンダリングし、着座しているユーザと検出されたユーザの範囲および到達範囲とに基づいて、ＶＲ空間内でユーザに対してＨＭＤデバイスにおいて提供することができる。代替的に、ユーザが立っていると判断された場合、異なるユーザインターフェイスがレンダリングのためにトリガされ、ＨＭＤデバイス内における表示のために提供されてもよい。同様に、ユーザが横になっていると判断された場合、別の異なるユーザインターフェイスがレンダリングのためにトリガされ、ＨＭＤデバイス内における表示のために提供されてもよい。
【００１５】
いくつかの実装形態では、ユーザの動きの範囲は、ＶＲ空間を生成している要素に通信可能に結合される１つまたは複数のデバイスに関連付けられる加速度計によって検出することができる。そのような加速度計は、ＶＲ空間を表示するＨＭＤデバイスに通信可能に結合されるモバイルデバイスの一部であり得る。いくつかの実装形態では、カメラ、追跡システム、追跡センサなどを用いて、ユーザに関連付けられる動きの範囲についての近似値を求めることができる。
【００１６】
本開示に記載のシステムおよび方法は、ユーザおよびＶＲ機器を自動的に評価し、ＶＲ空間、ＶＲ機器、ＶＲオブジェクト、および／または関連付けられるＶＲアプリケーションコンテンツを、ＶＲ空間にアクセスするユーザに関連付けられる特定の物理的プロパティまたは特徴に適合させることができる。ＶＲアプリケーションの自動的評価および／または調整、ならびにＶＲアプリケーションで対話するために用いられるハードウェアの関連構成は、仮にシステムがユーザに対して構成されていないと仮定した場合よりも、日中において人間工学的、構成、および物流の中断を少なくして、日々の計算活動を達成することを可能にする。そのような自動化を仮想現実環境（例えば、ＶＲ空間）および関連付けられる機器に追加することは、ＶＲ空間で用いられる仮想コンテンツおよびインターフェイス、制御、および機器の比較的迅速な構成ならびに表示を提供することができる。例えば、制御、ユーザインターフェイス、モニタ、椅子、仮想コンテンツなどの自動化された解析および配置は、コンピューティング環境にアクセスするユーザに個別に合わせたコンピューティング環境（物理的および仮想的）を提供することができる。
【００１７】
いくつかの実装形態では、ＶＲ空間および関連付けられる機器の適合は、経時的なユーザの動作および／またはユーザが時間の経過とともに利用する動きの範囲を検出することに応答して実行され得る。たとえば、（たとえば、動作および位置追跡、視線追跡、デバイス追跡、および／またはセンサ測定などを介した）ユーザの動作の検出に応答して、本開示に記載のシステムおよび方法は、ＶＲアプリケーションにアクセスするユーザの身体的側面に従って、ＶＲアプリケーションにおいてコンテンツをレンダリングする（かまたはコンテンツのレンダリングをトリガする）ことができる。ユーザの身体的側面は、ＶＲ空間内において検出された位置、物理的空間において検出された位置（例えば、立っている、座っている、動いているなど）、検出またはユーザにより入力された高さ、ユーザの身長、腕の長さ、頭の回転角度、視線、モビリティ能力などのうちのいずれかまたはすべてに関連する検出または計算された到達距離などを含むことができるが、それらに限定はされない。
【００１８】
本明細書に記載のシステムおよび方法は、加えて、ＶＲ空間、関連機器、およびＶＲアプリケーションと対話するユーザの特定の姿勢を検出することができ、検出された姿勢に基づいて特定の対話、ＶＲコンテンツ、およびオプションを提供することができる。例えば、システムおよび方法は、ユーザが座っているのかまたは立っているのかを検出することができる。この検出は、特定のモビリティオプションを提供または禁止するために用いることができる。例えば、仮想ゲームでの対話中にユーザが着座している場合、（関連付けられるコントローラまたは他のハードウェアもしくはソフトウェアベースのセンサを用いる）ＶＲアプリケーションは、ユーザが着座していると判断し、着座位置について追加の動作オプションを提供するかまたは動作オプションを修正できる。（関連付けられるコントローラまたは他のハードウェアもしくはソフトウェアベースのセンサを用いる）ＶＲアプリケーションが、ユーザが同じ仮想ゲーム中に立っている、と判断した場合、ＶＲアプリケーションは異なる動作オプションを提供することができる。したがって、仮想ゲームによって、ユーザが物理的に歩き、向きを変えて、ＶＲ空間で提供されるアプリケーションコンテンツと対話することができるようになると、ＶＲアプリケーションはそのような機能を用い、追加の起立のみのタイプの対話型オプションを可能にする。それよりも、ユーザが（例えば、飛行機の中、机になど）着座していることが検出された場合、ＶＲアプリケーションは、歩くことや向きを変えることを伴う機能を解除し、着座しているユーザにとって便利な、異なる、より適切なオプションを提供することができる。
【００１９】
いくつかの実装形態では、本開示に記載されるシステムおよび方法は、経時的なユーザの動作のパターンを検出し、検出されたパターンを用いてユーザの利用可能な動きの範囲および／またはユーザの制限された動きの範囲を判断することができる。例えば、パターンを検出することは、ユーザが着座していること、立っていること、動いていること、手を伸ばしていること、向きを変えること、および／または周りを見つめていることを検出することを含むことができる。いくつかの実装形態では、パターンを用いることにより、側方から側方への移動機能を用いて、ユーザが椅子において着座位置にいることを確認することができる。例えば、パターンは、ユーザが、円（または円の一部）内で側方から側方に回転する機能を有する回転椅子にいることを示すことができる。
【００２０】
いくつかの実装形態では、検出されたパターンを用いて、ユーザが立っているのかまたは歩いているのかを判断することができる。他の実装形態では、パターンを用いて、ユーザが着座位置にあるかまたは立った位置にあるかを判断することができる。パターン検出および異なるパターンの判断は、１つまたは複数の機械学習アルゴリズムを用いて実施することができる。いくつかの実装形態では、パターン検出およびパターン区別は、たとえば、ルックアップテーブルを用い、ユーザの動きの範囲を測定して、そのような動きを既知の動作および既知の動作に関連付けられる範囲（たとえば制限）と比較することにより、実行され得る。
【００２１】
いくつかの実装形態では、本明細書に記載されるシステムおよび方法は、特定のＶＲハードウェアに関連付けられるセンサにアクセスして、ＶＲ空間にアクセスしているユーザに関する身体的側面を検出することができる。例えば、ＶＲ空間に通信可能に結合されるユーザのモバイルデバイス上の加速度計を解析して、ユーザが静止状態の椅子に着座しているのかまたは回転椅子に着座しているのかを検出することができる。特に、本明細書に記載のシステムは、モバイルデバイスの加速度計が安定した側方から側方への動きを示す測定値を捕捉していることを検出した場合、システムはユーザが回転椅子に座っていると判断することができる。そのような検出を用いて、ＶＲ空間内の仮想コンテンツおよびオブジェクトを、ユーザの把握（たとえば到達）または視野の範囲内になるように、物理的に配置することができる。いくつかの実装形態では、本明細書で説明されているシステムおよび方法は、ユーザが座っているかまたは立っているかを判断することができる。ユーザが着座していると判断された場合、ＶＲソフトウェアは、着座しているユーザにとって都合のよいＶＲ空間への到達および／またはＶＲ空間との対話に対応するために、ＶＲ空間において特定の高さ（例えば３フィート）未満にオブジェクトを配置するように構成されてもよい。いくつかの実装形態では、特定のコンテンツ（たとえば仮想オブジェクト）が着座したユーザの到達範囲内になるように仮想オブジェクトを縮小し、積み重ね、および／または他の態様で編成することによって、仮想オブジェクトをユーザアクセス可能領域にスナップすることができる。
【００２２】
図１Ａ〜図１Ｂは、ユーザがＶＲ空間１００Ａ〜１００Ｂと対話する例を示す。ユーザの視野がＨＭＤデバイスによって生成されるＶＲ空間に限定される状態で、ＨＭＤデバイスが仮想環境／ＶＲ空間を生成するように、周囲環境を遮断する（例えば、実質的に遮断する）ＨＭＤデバイスを装着している１人または複数のユーザに関して、図１Ａ〜図１Ｂに示される例示的実現例を説明する。しかしながら、本明細書に記載の概念および特徴は、他の種類のＨＭＤデバイス、ならびに他の種類の仮想現実環境および拡張現実環境にも適用することができる。さらに、本明細書で説明される図に示される例は、ＨＭＤデバイスを装着し、コントローラ、コンピューティングデバイスなどを保持するユーザの三人称視点として示されるユーザを含み得る。
【００２３】
示される例では、対話型コンテンツを有するいくつかのアプリケーションウィンドウが示されている。各ＶＲ空間１００Ａ〜１００Ｂは、静的コンテンツおよび／または対話型コンテンツを伴うアプリケーションを含む。図１Ａおよび図１Ｂに示すＶＲ空間１００Ａ〜１００Ｂは、ユーザ（例えば、ユーザ１０２Ａまたは１０２Ｂ）が、任意の数の仮想アプリケーションウィンドウおよび／または他のＶＲコンテンツの仮想視覚化の周りを移動することを可能にする環境を表す。仮想アプリケーションウィンドウおよびＶＲコンテンツの適切な物理的配置は、そのようなコンテンツとのユーザ対話を容易にし得、そしてＶＲ空間におけるユーザ体験を向上させ得る。
【００２４】
一般に、ＶＲ空間１００Ａ〜１００Ｂは、例えば、図１Ａおよび図１Ｂに示すように、ユーザが装着するＨＭＤデバイス１０４を含むシステムによって生成されてもよい。ＨＭＤデバイス１０４は様々な異なる種類のユーザ入力によって制御されてもよく、ユーザは、例えば手／腕のジェスチャ、頭のジェスチャ、ＨＭＤデバイス１０４の操作、ＨＭＤデバイス１０４に動作可能に結合されるポータブルコントローラの操作などを含む様々な異なる種類のユーザ入力を通じて、ＨＭＤデバイス１０４によって生成されるＶＲ空間と対話してもよい。ユーザは、ＨＭＤデバイス１０４に通信可能に結合されることができるポータブル電子デバイス１０５を携帯してもよい（またはその近くにいてもよい）。
【００２５】
ユーザの視野がＨＭＤデバイスによって生成される仮想環境（例：ＶＲ空間）に限定される状態で、ＨＭＤデバイスが仮想環境を生成するように、周囲環境を実質的に遮断するＨＭＤデバイスを装着しているユーザに関して、図１Ａ〜図１Ｂに示される例示的実現例を説明する。しかしながら、図１Ａ〜図１Ｂに関して以下に記載される概念および特徴は、以下に記載されるように、他の種類のＨＭＤデバイス、ならびに他の種類の仮想現実環境および拡張現実環境にも適用することができる。
【００２６】
図１Ａに示すように、ユーザ１０２Ａは、ＨＭＤデバイス１０４を装着しており、ＶＲ空間１０６Ａを規定する部屋に面している。ＨＭＤデバイス１０４は、ＶＲ空間１０６Ａ内で仮想コンテンツを描写するために、ユーザの周囲環境において画像をキャプチャしてもよいし、および／または特徴を定義する情報を収集してもよい。ＨＭＤデバイス１０４によって収集された画像および情報は、その後、ＶＲ空間１０６ＡにおいてＨＭＤデバイス１０５によって処理されてもよい。さらに、センサ（図示せず）から情報を取得して、ＶＲ空間１０６Ａにおけるユーザの対話に基づいて、仮想コンテンツを更新することができる。センサは、ユーザに属する手、足、または他の身体部分の位置、ならびにそのような要素の６つの回転自由度での回転を追跡してもよい。
【００２７】
センサは、ＶＲ空間１０６Ａにおいてユーザの位置、動作、および対話を検出し追跡することができる。いくつかの実装形態では、センサはデバイス１０５または他のデバイスの一部であり得る。追跡は、例えば、ユーザ１０２Ａの特定の物理的プロパティに合うようにＶＲアプリケーションの人間工学を動的に適合させるために、用いることができる。示されるように、ユーザ１０２Ａは、ＶＲ空間１０６Ａにおいて、開いておりかつユーザ選択および対話に利用可能なある数のアプリケーションと、対話してもよい。本明細書に記載のシステムは、ユーザ１０２Ａが立っていると判断することができ、したがって、ユーザが自分の立っている位置に基づいて到達することができるコンテンツ、メニュー、制御などの特定の配置を提供することができる。例えば、アプリケーション１０８、１１０、１１２、および１１４は、ユーザから到達可能な距離内に提供することができる。到達可能距離は、身長、腕の長さ、頭の回転、視線、モビリティ能力などを含むがこれらに限定されない、立っているユーザ１０２Ａの身体的プロパティに関係してもよい。
【００２８】
ユーザ１０２ＡはＶＲ空間１０６Ａにおいてアプリケーション１０８、１１０、１１２にアクセスする仮想体験を楽しんでいてもよいし、さらには、アプリケーション１１４に示される映画を楽しんでいてもよい。本明細書に記載のシステムは、ＶＲ空間内のユーザ１０２Ａから仮想オブジェクト（例えば、図示の例ではアプリケーション１０８〜１１４）までの距離を判断することができる。この距離は、オブジェクト、制御、メニュー、および他のＶＲオブジェクトをＶＲ空間１０６Ａ内に配置するために用いることができる。配置は各特定のユーザに合わせて調整することができる。
【００２９】
いくつかの実装形態では、本明細書で説明されているシステムは、ユーザの到達ゾーンを判断することができる。到達ゾーンは、物理的空間内におけるユーザの最大の腕の長さまたは到達可能領域に関係し得る。そのような到達領域は、物理的空間と仮想空間との間で相関し得、物理的空間から仮想空間へと変換され得る。例えば、システムは、ユーザの身長を計算することができ、身長を約半分に分割して、推定される到達ゾーンを得ることができる。これはユーザごとに構成することができ、ＶＲ空間においてユーザに提供されるアプリケーションおよびオブジェクトに対する距離配置規則に対するトリガを与えることができる。同様に、システムは、ユーザが物理的またはＶＲ空間内で対話することができる特定の３次元（３Ｄ）面の高さを用いて、他の物理的またはＶＲオブジェクトの快適かつ人間工学的な配置を判断することができる。たとえば、ユーザがドラムやピアノなどの楽器を演奏している場合、手の配置および楽器との対話は、他の対話またはユーザインターフェイス構成要素を提供するために用いられ得る。例えば、システムは、キーボードの配置およびそれとの対話、メニューの配置、頭部の配置、目線、ボタンまたはコントローラの配置、リストの配置などを判断する方法として、楽器との対話およびその配置を用いることができる。
【００３０】
いくつかの実装形態では、ユーザの身体的側面は、本明細書で説明されているシステムによって確認することができる。例えば、システム３００を用いて、電子デバイス（例えば、ＨＭＤ１０４）にアクセスするユーザについての仮想環境内での検出された位置、ユーザの姿勢、ユーザについての物理的空間内での検出された位置、検出されたユーザの身長、および／またはユーザに関連付けられる腕の長さに関する到達距離を含むがそれらに限定はされない、ユーザの１つまたは複数の身体的側面を検出または判断することができる。仮想環境にアクセスするユーザの他の身体的側面は、本明細書に記載のシステム、センサ、およびデバイスによって検出することができる。
【００３１】
ユーザの１つまたは複数の身体的側面を検出すると、システム３００は、周囲環境に関連付けられる動きの範囲を、仮想環境に関連付けられる動きの範囲と相関させることができる。この相関付けは、ユーザが周囲（例えば、物理的）環境において立っているかまたは着座していると判断すること、およびそのような情報を用いて仮想環境においてユーザにとって有用な動きの範囲を確認することを含むことができる。例えば、第１の電子デバイス（例えば、ＨＭＤデバイス）にアクセスしているユーザがＨＭＤデバイスにアクセスしながら着座していると判断したことに応答して、システム３００は、仮想環境における少なくとも１つの能力がユーザの着座位置に対処することを可能にする。例示的な能力は、ユーザの腕についての到達空間（または制限）を含み得る。システム３００は、ユーザが利用可能な物理的到達範囲の制限または能力を考慮に入れることができ、ユーザに利用可能な到達範囲の制限内にコンテンツおよび／または制御を配置することができる。
【００３２】
図１Ａの示された例では、システムは、ユーザ１０２Ａが立っていると判断（例えば、センサを用いて検出）し、したがって（例えば、アプリケーション１０８、１１０、１１２、１１４）からユーザの手までの距離を計算することができる。この計算を利用して、ユーザがアプリケーション１０８〜１１４のうちの１つに到達するために過度に体を伸ばすことなく、快適な態様でアプリケーション１０８〜１１４に向かって歩き、対話することができるように、ユーザにとって人間工学的で有用なＶＲ空間を提供することができる。いくつかの実装形態では、ＶＲ空間１０６Ａに示される対話中に、アプリケーション１１２をアプリケーション１１０の前に提供して、電子メールをユーザに通知することができる。ユーザ１０２Ａに基づく距離の判断は、アプリケーション１１２によって生成される「A. Faaborg」からの電子メールの通知の都合のよい配置を判断するために行うことができる。この判断は、ユーザ１０２Ａが立っている位置にある間、ユーザにとって到達可能でありかつ快適でもある領域にアプリケーション１１２を提供することができる。
【００３３】
図１Ｂを参照して、ユーザ１０２Ｂは椅子１１６に着座し、図１Ａと同様にＶＲ空間１０６Ｂにおいてアプリケーション１０８〜１１４にアクセスしている。この例では、アプリケーション１０８〜１１４は、着座しているユーザ（例えば、ユーザ１０２Ｂ）の快適な到達範囲に対して構成されている。例えば、アプリケーション１０８〜１１４は、あたかもユーザが机のところで着座しているかのように左から右へと配置されている。着座しているユーザ１０２Ｂが追加のアプリケーション１１８、１２０、および１２２にアクセスしたい場合には、ユーザが到達しやすくするために、追加のアプリケーション１１８〜１２２はアプリケーション１１０およびアプリケーション１１２の背後に積み重ねられる。ＶＲ空間１０６Ｂはさらにキーボード１２４および仮想メニュー１２６を含む。キーボード１２４は仮想的であってもよく、キーボードを調整する必要なしにユーザが手を伸ばしてタイプする位置に示されることができる。仮想メニュー１２６は、ユーザがＶＲ空間１０６Ｂ内で対話するために、ある数のメニュー項目を選択するために手を伸ばすことができるように、仮想机上に提供される。アプリケーション１０８〜１２２、キーボード１２４、および仮想メニュー１２６の配置は、動作および／または制限に関連するユーザ能力に基づいて判断することができる。例えば、本明細書に記載のシステムは、ユーザが着座しており、着座位置において側方から側方に動くことができる、と判断することができる。この判断に応答して、ＶＲ空間１０６Ｂは、着座しているユーザにとって快適な態様で提供され得る。いくつかの実装形態では、システムは、特定のユーザの距離、長さ、および能力を検出することができ、そのような情報を用いて特定のユーザに対して適合および構成されたＶＲ空間を提供することができる。いくつかの実装形態では、情報はユーザに関連付けられる測定値を含み得る。情報は、ＶＲ空間１０６Ｂにおいて特定の要素の長さおよび／または幅を推定するために用いられ得る。例えば、着座したユーザは、仮想机の長さ１２８および幅１３０ならびにユーザの前に配置されるアプリケーションレイアウトを規定し得る最大到達ゾーンを有し得る。
【００３４】
１つの非限定的な例では、映画アプリケーション１１４は、図１Ａに示されるように、立っているユーザに表示され得る。映画アプリケーション１１４は、ユーザから、ある距離に、ＶＲ空間１０６Ａの遠い壁上にある。ユーザは立っており、ＶＲ空間１０６Ａ内を歩き回ることができると判断されるので、ユーザは、向きを変えるかまたは映画アプリケーション１１４に向かって歩くことによって、映画アプリケーション１１４内のコンテンツに容易にアクセスすることができる。対照的に、着座しているユーザ１０２Ｂは、図１Ａにおいてアプリケーション１１４に示されるコンテンツを見ることは困難であり得る。着座しているユーザ１０２Ｂは、着座位置が低く、アプリケーション１１４にアクセスして対話するには遠すぎる可能性がある。これに応じて、本明細書に記載のシステムは、ユーザ１０２Ｂが着座していることを検出し、ＶＲ空間のレイアウトをＶＲ空間１０６Ａに示されるコンテンツからＶＲ空間１０６Ｂに変更することができる。これは、着座しているユーザ１０２Ｂにとって都合がよく、ユーザが目の緊張および／または首の緊張を避けることを可能にすることができ、なぜならば、図１Ｂに示されるアプリケーション１１４は、着座しているユーザ１０２Ｂの作業空間（例えば、個人的な周囲環境）に合うように、より近く、および適合されるからである。移動可能および非移動可能なユーザの場合のためにＶＲ空間を修正するべく、同様の適合がなされ得る。
【００３５】
いくつかの実装形態では、ＶＲ空間１０６Ｂは、動いているユーザまたは静止しているユーザのために仮想コンテンツへのアクセスを与えるように機能する、移動可能な仮想コンテンツを提供するように構成され得る。例えば、移動可能な仮想コンテンツは、ＶＲ空間に表示可能な仮想オブジェクト、アプリケーション、制御、および／または他のグラフィック要素を含むことができる。いくつかの実装形態では、移動可能な仮想コンテンツは、側方から側方への回転動作を可能にする回転椅子に座っているユーザとの対話のために構成され得る。いくつかの実装形態では、移動可能な仮想コンテンツは、着座しているユーザに関連付けられる到達範囲に資する方向に移動するように構成され得る。いくつかの実装形態では、移動可能な仮想コンテンツは、立っているユーザおよび／または移動可能なユーザとの対話のために構成され得る。
【００３６】
いくつかの実装形態では、移動可能な仮想コンテンツは、動いているユーザに資する適切な距離および時間閾値で提供されるように構成され得る。いくつかの実装形態では、本開示全体にわたって説明されるシステムは、ユーザの位置の変化（たとえば、着座している、立っている、移動している）を検出し、検出された変化を用いて仮想コンテンツがＶＲ空間１０６Ｂ内においてどのように移動および構成されるかに関連付けられる更新された規則および構成を提供することができる。
【００３７】
図２Ａに示すように、ユーザ２０２Ａは、ＨＭＤデバイス２０４を装着しており、ＶＲ空間２０６Ａを規定する部屋に面している。ユーザ２０２Ａは椅子２０８に着座しており、追跡システム２１０はユーザ２０２Ａが着座していることを検出することができる。１つの非限定的な例では、追跡システムは、表示情報、安全情報、ユーザデータ、またはその他の取得可能なデータなどのデータを相関させる基礎として、ＶＲデバイス（たとえば、コントローラ、ＨＭＤデバイス、モバイルデバイスなど）に関連付けられる位置データを用いることができる。このデータは、ＶＲ空間２０６Ａにアクセスするユーザ２０２Ａのために、人間工学的に位置決めされた仮想コンテンツを提供するために、用いることができる。
【００３８】
いくつかの実装形態では、追跡システム２１０を用いて、ＶＲ空間２０６Ａにアクセスするために用いられる１つまたは複数のデバイスを追跡することができる。これらのデバイスは、ＶＲ空間において表される特定のコンピューティングデバイス、コントローラ、および／または基地局デバイスから取得可能な位置、速度、および／または加速度データに基づいて追跡されてもよい。たとえば、データは１つまたは複数のデバイスに関連付けられる慣性測定装置（ＩＭＵ）から取得され得、一方、位置データはＶＲ空間２０６Ａに関連付けられる１つまたは複数の追跡されるオブジェクト（たとえばコントローラ、ＨＭＤデバイス）および／または基地局から取得され得る。
【００３９】
追加のデータもまた、ＶＲ空間２０６Ａにアクセスするデバイスに関連付けられるいくつかの搭載センサから取得され得る。そのようなデータは、加速度計およびジャイロスコープのデータ、方位データ、補正データ、および／または一般的もしくは特定の位置情報を示す他のセンサデータに関するものであり得る。本明細書に記載のシステムは、そのようなデータを用いて、予め規定される範囲内の追跡されるオブジェクトに関する６つの自由度の位置情報を、その予め規定される範囲内の１つまたは複数の他のデバイスと相関させることができる。予め規定される範囲は、ＶＲ空間全体、ＶＲ空間のサブセット、またはＶＲ空間にアクセスするユーザに関する他の測定可能な範囲であり得る。
【００４０】
いくつかの実装形態では、本明細書に記載のシステムおよび方法は、特定のＶＲハードウェアに関連付けられるセンサにアクセスして、ＶＲ空間２０６Ａにアクセスするユーザに関する特定の身体的側面を検出することができる。例えば、ＶＲ空間に通信可能に結合されるユーザのモバイルデバイス上の加速度計を解析して、ユーザが静止状態の椅子に着座しているのかまたは回転椅子に着座しているのかを検出することができる。システムは、ユーザ２０２Ａが椅子２０８に着座していると判断した場合、着座ユーザ２０２Ａの視聴に対応するために、システムは仮想コンテンツ２１２Ａを、角度をつけた位置に描くことができる。特に、本明細書に記載のシステムは、ユーザ２０２Ａに属するモバイルデバイスの加速度計が垂直方向に変化しない側方から側方への動きを示す測定値を捕捉していることを検出した場合、システムはユーザ２０２Ａが回転椅子に着座していると判断することができる。そのような検出を用いて、ＶＲ空間２０６Ａ内の仮想コンテンツ２１２Ａを、ユーザ２０２Ａに関連付けられる把握および／または可視領域の範囲内になるように、物理的に配置することができる。
【００４１】
システムは、代わりに、図２Ｂに示すように、ユーザ（例えば、図２Ｂのユーザ２０２Ｂ）が立っていると判断することができる。この例では、ＶＲ空間２０６Ｂは、ユーザに対して、ＨＭＤデバイス２０４において、制御および仮想コンテンツ２１２Ｂが手の届かないＶＲ空間２０６Ｂの領域にある状態で、与えられることができ、なぜならば、ユーザ２０２Ｂはコンテンツ２１２Ｂと対話するかまたはそれを修正するためにコンテンツ２１２Ｂに歩いて行くことができるからである。さらに、ユーザ２０２Ｂは立っていると判断されるので、仮想コンテンツ２１２Ｂは着座しているユーザに対して角度を成すように構成されなくてもよい。
【００４２】
いくつかの実装形態では、アプリケーション開発者は、ＶＲアプリケーションにおいて仮想コンテンツ（たとえば、３Ｄ仮想オブジェクトまたはアプリケーション）のプロパティについての変数および規則を実装することができる。例えば、アプリケーション開発者は、検出されたユーザプロパティに基づいて、任意の数の仮想オブジェクトに対して１つまたは複数の構成可能な態様を構成することができる。そのようなユーザプロパティは、身長、体重、姿勢、腕の長さ、身体能力または身体障害、歩行速度または移動速度、ユーザ位置（例えば、座っている、立っている、横になっている）などを含み得る。任意のまたはすべてのユーザプロパティを用いて、ＶＲ空間内の仮想オブジェクトについて特定のモードまたはオプションをトリガできる。
【００４３】
１つの非限定的な例では、ユーザ２０２Ｂは彼女のポケット（図示せず）に携帯電話を持っていてもよい。携帯電話は、ユーザが周囲環境で立って歩き回っていることを検出するよう、加速度計または他のセンサを含むことができる。図２Ｂに示されるように、システムは、周囲環境で歩き回る移動の検出に基づいてユーザ２０２Ｂが立っていることを検出するために、１つまたは複数のセンサ（例えば、位置検出システム２１０）を同様に用いることができる。動きの能力は、ユーザ１０２Ｂの環境において仮想対話および仮想オブジェクト配置を構成する際に用いるために、推定または直接測定することができる。
【００４４】
いくつかの実装形態では、本明細書で説明されているシステムおよび方法を用いて、特定のビデオ（たとえば、球面ビデオ）がＶＲ空間においてユーザにどのように示されるかを方向付けることができる。例えば、ディレクタは球面ビデオを作成し、ユーザの動きの範囲（または動きの範囲のないこと）に基づいてＨＭＤデバイスに表示されるシーンの垂直方向および水平方向の配置を判断することができる。特に、本明細書に記載のシステムが、ユーザが静止椅子に着座していることを検出した場合、システムは、球面ビデオのために特定の次のシーンビューをリセットするように構成することができる。したがって、ビデオは、新たなシーンごとにユーザの真正面に視点を与えることができる。すなわち、ビデオは、検出された各ユーザの質および動きの範囲に基づいて、各ユーザに対して異なるように再生され得る。
【００４５】
いくつかの実装形態では、ＶＲコンテンツはユーザの身長に従って配置することができる。ＨＭＤデバイス、追跡システム、および／またはカメラは、ＨＭＤデバイスの垂直位置を検出するために用いることができ、検出された垂直位置に沿ってＶＲコンテンツを提供することができる。例えば、ビーンバッグに座っているユーザは地面から約２フィートの距離でＨＭＤデバイスを用いているかもしれず、一方、立っているユーザは約３フィートから約６フィートのどこかでＨＭＤデバイスを用いているかもしれず、本明細書に記載のシステムは、このような距離を自動的に検出して、ＶＲコンテンツをＨＭＤデバイスにおいて特定のユーザベースの高さで表示することができる。
【００４６】
図３は、ＶＲ空間においてＨＭＤデバイス（例えば、ＨＭＤデバイス３０３）に通信可能に結合されるコントローラを示すブロック図である。動作中、システム３００は、ＶＲ空間と対話するように構成されるＶＲアプリケーションソフトウェア、コンピュータ、およびコントローラデバイスで操作することができる任意の数の仮想オブジェクトを収容するＶＲ空間を提供するように構成することができる。例えば、コントローラ３０１および３０２は、没入型仮想環境を生成するためにＨＭＤデバイス３０３とインターフェイスし得る。コントローラ３０１およびコントローラ３０２は、例えば、デバイス間の通信を確立し、ＶＲ空間とのユーザ対話を容易にするために、ＨＭＤデバイス３０３とペアにされ得る。いくつかの実装形態では、コントローラ３０１および３０２はどちらもＨＭＤデバイス３０３とペアにされず、代わりに、各々、ＶＲアプリケーション内の追跡システム（たとえば追跡システム１１０）または別の外部追跡デバイスによって追跡される。
【００４７】
図３に示すように、コントローラ３０１は、検知システム３６０と制御システム３７０とを含む。検知システム３６０は、例えば、光センサ、音声センサ、画像センサ、距離／近接センサ、位置センサ（例えば、ジャイロスコープおよび加速度計を含む慣性測定ユニット（ＩＭＵ））および／または他のセンサならびに／またはセンサの組み合わせ、たとえばユーザに関連付けられる視線を検出および追跡するように位置決めされた画像センサを含む、１つまたは複数の異なる種類のセンサを含むことができる。制御システム３７０は、例えば、電力／休止制御装置、音声および映像制御装置、光学制御装置、遷移制御装置、および／もしくは他のこのような装置ならびに／または異なる装置の組み合わせを含んでもよい。特定の実現例に応じて、検知システム３６０および／または制御システム３７０は、より多くの、またはより少ない装置を含んでもよい。
【００４８】
コントローラ３０１はまた、検知システム３６０および制御システム３７０と通信する少なくとも１つのプロセッサ３９０と、メモリ３８０と、コントローラ３０１と他の外部デバイス、例えばコントローラ３０２および／またはＨＭＤデバイス３０３との間の通信を与える通信モジュール３５０とを含み得る。
【００４９】
コントローラ３０２は、コントローラ３０１と、例えばＨＭＤデバイス３０３などの他の外部デバイスとの間の通信を与える通信モジュール３０６を含むことができる。コントローラ３０１およびコントローラ３０２とＨＭＤデバイス３０３との間のデータ交換を提供することに加えて、通信モジュール３０６はまた、ＶＲ空間およびシステム３００にアクセス可能な多数の他の電子デバイス、コンピュータ、および／もしくはコントローラを接続ならびに／またはそれらと通信するように構成され得る。
【００５０】
コントローラ３０２は、例えばカメラおよびマイクロフォンに含まれるような画像センサおよび音声センサ、ＩＭＵ、コントローラのタッチ感知面もしくはスマートフォンに含まれるようなタッチセンサ、および他のそのようなセンサならびに／または異なるセンサの組み合わせを含む検知システム３０４を含み得る。少なくとも１つのプロセッサ３０９は、検知システム３０４および制御システム３０５と通信状態であってもよい。制御システム３０５はメモリ３０８にアクセスすることができ、コントローラ３０２の全体的な動作を制御することができる。
【００５１】
コントローラ３０１と同様に、コントローラ３０２の制御システム３０５は、例えば、電力／休止制御装置、音声および映像制御装置、光学制御装置、遷移制御装置、および／もしくは他のこのような装置ならびに／または異なる装置の組み合わせを含んでもよい。一般に、本開示に記載されるシステムおよび方法は、ユーザの手またはコントローラ３０１および３０２を追跡し、ＶＲ空間においてそのような手および／またはコントローラ３０１および３０２に関連付けられるユーザ対話パターンおよびジェスチャを解析して、そのような対話パターンおよびジェスチャの意図を判断することができる。
【００５２】
いくつかの実装形態では、本明細書で説明されているシステムおよび方法を用いて、動作におけるユーザ制限を検出することができる。そのような制限は、仮想コンテンツをユーザに特定の態様で提供するための規則またはトリガとして構成することができる。いくつかの実装形態では、システムは、ユーザが自分の周囲環境内においてユーザの正面中央位置の左右に約１０度移動したことを検出した場合、システムは、範囲が制限であると推測することができ、制御、オブジェクト、および他の仮想コンテンツが、利用可能な移動の２０度空間に利用可能なビューおよび周辺ビュー内に配置されることを確実にすることができる。
【００５３】
図４は、本明細書で説明される実現例および技術による、頭部装着型ディスプレイおよびコントローラを含む仮想現実システムの実現例である。図４に示す例示的実現例において、ＨＭＤデバイス４０２を装着しているユーザはポータブル電子デバイス４０４を保持している。ポータブル電子デバイス４０４は、例えば、ＨＭＤデバイス４０２（ならびに／または他の仮想現実ハードウェアおよびソフトウェア）によって生成されるＶＲ空間における対話のためにＨＭＤデバイス４０２とペアにされ通信することができるコントローラ、スマートフォン、ジョイスティック、または別のポータブルコントローラとすることができる。ポータブル電子デバイス４０４は、例えば、有線接続、または例えばＷｉＦｉもしくはＢｌｕｅｔｏｏｔｈ（登録商標）接続などの無線接続を介して、ＨＭＤ４０２と動作可能に結合されるか、またはペアリングされることができる。ポータブル電子デバイス４０４とＨＭＤデバイス４０２とのこのペアリングまたは動作可能な結合は、コントローラ４０４とＨＭＤデバイス４０２との間の通信、およびポータブル電子デバイス４０４とＨＭＤデバイス４０２との間のデータの交換を提供することができ、これにより、ポータブル電子デバイス４０４は、ＨＭＤデバイス４０２によって生成されたＶＲ空間内で対話するためにＨＭＤデバイス４０２と通信するコントローラとして機能することが可能になる。すなわち、ポータブル電子デバイス４０４は、複数の異なる態様で操作することができる。ポータブル電子デバイス４０４の操作は、ＨＭＤデバイス４０２によって生成される没入型仮想環境において、対応する選択、移動、または他の種類の対話に変換することができる。これは、例えば、仮想オブジェクトとの対話、仮想オブジェクトの操作、または仮想オブジェクトの調整、仮想環境に関するスケールもしくはパースペクティブの変化、仮想環境内の現在位置から仮想環境内の選択された目的地もしくは特徴までのユーザの移動（例えば、ナビゲーション、テレポーテーション、移送）、および他のそのような対話を含むことができる。
【００５４】
図５は、動きの範囲を検出し、その動きの範囲に従って仮想コンテンツを提示するためのプロセス５００の一実施形態を示すフローチャートである。ブロック５０２において、プロセス５００は、第２の電子デバイスに通信可能に結合される第１の電子デバイスを用いて仮想環境を生成することを含み得る。例えば、ＨＭＤデバイス４０２は、そのような仮想環境を生成していてもよく、ポータブル電子デバイス４０２に通信可能および／または動作可能に結合されてもよい。ポータブル電子デバイス４０２は、ユーザに属してもよく、ユーザの動作に基づいて動作を追跡してもよい。例えば、ブロック５０４において、プロセス５００は、周囲環境において第２の電子デバイス（例えば、ポータブル電子デバイス４０４）の移動を追跡することを含み得る。いくつかの実装形態では、移動は、ユーザが回転椅子に着座していることを示すよう、横方向（例えば、側方から側方）の移動であり得る。
【００５５】
いくつかの実装形態では、周囲環境における第２の電子デバイスの移動を追跡することは、ユーザが周囲環境にいる間に第１の電子デバイス（たとえばＨＭＤデバイス４０２）および第２の電子デバイス（たとえばポータブル電子デバイス４０４）にアクセスするユーザの画像をキャプチャすることによって横方向の移動を追跡することを含み得る。
【００５６】
いくつかの実装形態では、周囲環境において第２の電子デバイスの移動を追跡することは、第２の電子デバイスに格納されている加速度計データを解析することを含む。例えば、加速度計データを検出して、デバイス４０２および４０４にアクセスするユーザが回転椅子に着座しているかどうかを判断するために用いることができる。
【００５７】
ブロック５０６で、プロセス５００は、１つまたは複数のセンサを用いて、周囲環境内の移動に関連付けられる動きの範囲を判断することを含む。例えば、デバイス４０２またはデバイス４０４と通信可能に結合される任意の数のセンサが移動を追跡することができ、そのような移動は経時的に特定の動きの範囲を含むことができる。いくつかの実装形態では、センサは第１の電子デバイスと関連付けられてもよい。いくつかの実装形態では、センサは第２の電子デバイスと関連付けられてもよい。本明細書に記載のシステムは、動きの範囲を確認するために移動を経時的に追跡することができる。動きの範囲は、ユーザの到達範囲を判断し、仮想オブジェクトを配置するために、用いられ得る。いくつかの実装形態では、動きの範囲は、第２の電子デバイス（たとえば、ポータブル電子デバイス４０４）上で実行されている加速度計を用いて判断することができる。
【００５８】
ブロック５０８において、プロセス５００は、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることおよび／または変換することを含む。例えば、本明細書に記載のシステムは、第１の電子デバイスおよび第２の電子デバイスに関連付けられるユーザが第１の電子デバイスにアクセスしている間座っているかまたは立っているかを判断することができる。ユーザが着座している場合、プロセス５００は、ユーザが着座位置から仮想コンテンツに到達することができるように、ユーザが物理的世界（すなわち周囲環境）において有する利用可能な動きの範囲を仮想環境における動きの範囲と相関させることができる。相関付けは、周囲環境から仮想環境に動きの範囲を変換することを含むことができる。変換は、ユーザが周囲環境内を移動する（または周囲環境内で到達する）ことができる距離を計算すること、およびそのような距離を仮想環境に変換することを含むことができる。本明細書に記載のシステムは、環境間の動きの範囲を相関付け、そのような範囲内で仮想コンテンツおよび／または制御を生成し提供することによって、仮想環境内の検出（または判断される）場所内にそのようなコンテンツおよび／または制御を提供できる。いくつかの実装形態では、システムは、デバイス４０２および４０４にアクセスするユーザが回転椅子（たとえば、または他の静止状態でない椅子もしくは装置）に着座しているかどうかを判断でき、回転椅子（またはその他の静止状態でない椅子もしくは装置）における着座位置で利用できるコンテンツおよび／または制御を提供できる。
【００５９】
ブロック５１０において、プロセス５００は、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することを含む。例えば、システムは、ユーザが回転椅子に着座していると判断した場合、特定の仮想コンテンツ配置を提供することができる。具体的には、ユーザが回転椅子に着座していると判断された場合、ユーザが、判断された利用可能な動きの範囲内ですべての仮想コンテンツ（および／またはユーザインターフェイス選択）に到達できるように、仮想オブジェクトを仮想構成に入れることができる。
【００６０】
いくつかの実装形態では、動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスおよび第２の電子デバイスに関連付けられるユーザの身長を判断することと、ユーザの身長および動きの範囲に基づいて到達ゾーンを推定することとを含む。到達ゾーンは、仮想オブジェクトを仮想環境内に配置する領域として用いることができる。
【００６１】
そのような到達ゾーンは、ユーザが複数の仮想オブジェクトに衝突し、到達し、選択し、またはそうでなければアクセスすることができる仮想環境内の位置によって定義することができる。いくつかの実装形態では、複数の仮想オブジェクトについて、動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスの垂直オフセットを検出することと、垂直オフセットを用いて複数のオブジェクトを第１の電子デバイスにアクセスするユーザに隣接させることとを含む。例えば、ユーザの身長、ＨＭＤデバイスの高さ、コントローラの高さ、手の位置、またはユーザおよび／もしくは仮想環境に関連付けられる他の垂直距離を用いて、仮想環境内（例えば、ＶＲ空間）に仮想オブジェクトを配置することができる。
【００６２】
いくつかの実装形態では、ＶＲ空間にアクセスするユーザに関連付けられるモバイルデバイス（たとえばデバイス４０４）は、ユーザおよびモバイルデバイスに関連付けられる加速度計の移動の検出に基づいて、ユーザの動きの範囲を判断することができる。検出および解析は、ユーザのためにユーザインターフェイスを適合させるよう、モバイルデバイス４０４によって実行され得る。いくつかの実装形態では、ＶＲ空間に関連付けられる別の追跡デバイスが、ユーザの動きの範囲の制限または制限のないことを検出することができ、ユーザのために特定のユーザインターフェイスコンテンツを修正するよう通信することができる。
【００６３】
ＨＭＤデバイスにおけるユーザへの表示のために修正されるユーザインターフェイスの一例の適合は、判断されたユーザの動きの範囲に基づいて特定の視野角で提供されるよう仮想コンテンツおよび／またはオブジェクトを適合させることを含み得る。いくつかの実装形態では、シーン内のすべての利用可能なコンテンツを視聴するためにユーザが移動可能である必要がないことを確実にするようにユーザインターフェイスを提供することができる。例えば、ＶＲ空間内のモバイルデバイス、追跡デバイス、または他のデバイスが、ユーザが回転椅子に着座していること、または回転椅子がユーザの範囲内にあることを自動的に検出する場合、本明細書に記載のシステムは、回転椅子に着座したときに、ユーザによって、視聴用に調整されるユーザインターフェイスコンテンツを提供するよう、自動的に構成され得る。
【００６４】
ブロック５１２において、プロセス５００は、第１の電子デバイス内の仮想環境において、仮想構成に従って任意の数の仮想オブジェクトのレンダリングをトリガすること（例えば、表示をトリガすること）を含む。例えば、ＨＭＤデバイス４０２は、仮想構成に従って仮想オブジェクトのうちのいずれかをレンダリングしてユーザに表示することをトリガすることができる。
【００６５】
いくつかの実装形態では、本明細書で説明されるシステムは、ユーザが歩行中または特定の仮想オブジェクトに接近したときに快適な距離で仮想オブジェクトまたはコンテンツに到達またはそれを表示できるように、ユーザから正確な距離で仮想オブジェクトまたはコンテンツを提供するために、歩いているユーザの歩幅および／または速度を判断することができる。いくつかの実装形態では、本明細書で説明されるシステムは、ユーザによってアクセスされているＨＭＤデバイスの垂直位置を判断し、ＨＭＤデバイスの垂直位置を用いておおよその高さを判断し、判断されたおおよその高さに基づいて仮想オブジェクトまたはコンテンツを提供および／またはトリガし得る。特に、ＨＭＤデバイスの垂直位置が約４フィートである場合、システムは、ユーザが子供または非常に背の低い個人である可能性が高いと判断し、その垂直位置に従ってコンテンツ、オブジェクト、および制御を調整することができる。
【００６６】
いくつかの実装形態では、本明細書で説明されているシステムは、特定の仮想コンテンツまたはオブジェクトをユーザに適合させるべきであると判断することができる。例えば、システムは、ユーザが同じ動きを繰り返しているが、制御、メニュー、またはオブジェクトとの対話に失敗していると判断した場合、システムは、繰り返される到達または対話の試みが失敗しているようだと判断することができる。それに応答して、制御、メニュー、またはオブジェクトは、たとえば、ユーザの到達範囲によりよく合うように適合されることができる。
【００６７】
いくつかの実装形態では、データは、ユーザ対話に基づいて上記の任意およびすべての説明された修正に基づいて記録することができる。そのようなデータを他のアプリケーションに提供して、データに関連付けられるユーザにＶＲ空間の人間工学、利便性、および使いやすさを提供することができる。データを用いることにより、いくつかのアプリケーションで、ユーザが各アプリケーションにおいて構成を修正する必要なしに、ユーザのために体験を生成することができる。
【００６８】
さらに別の例では、本明細書に記載のシステムは、ユーザが自分を傷つける可能性がある態様で反復動作を行っていることが検出された場合、追跡および格納されたデータを用いて、制御、メニューおよびオブジェクトを意図的に新しい位置に移動することができる。同様に、システムは、ユーザの姿勢を評価するように適合させることができ、適切な姿勢を促すために自動的に配置された制御、メニュー、およびオブジェクトを監視することができる。
【００６９】
いくつかの実装形態では、複数の仮想オブジェクトのうちの少なくとも１つは、仮想環境およびその仮想環境に関連付けられるオプションを示すユーザインターフェイスの一部である。さらに、仮想構成を判断することは、仮想環境に関連付けられる動きの範囲に一致するようにユーザインターフェイスを適合させることを含み得る。
【００７０】
いくつかの実装形態では、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることは、第１の電子デバイスのうちの少なくとも１つにアクセスする（または第２の電子デバイスにアクセスする）ユーザの身体的側面を判断することを含み得る。
【００７１】
いくつかの実装形態では、第１の電子デバイスにアクセスするユーザの身体的側面は、ユーザに関連付けられる、仮想環境内の検出位置、姿勢、物理的空間内の検出位置、検出された高さ、および／または腕の長さに関連する到達距離のうちの少なくとも１つを含み得る。
【００７２】
いくつかの実装形態では、周囲環境に関連付けられる動きの範囲を仮想環境に関連付けられる動きの範囲に相関させることは、第１の電子デバイスにアクセスしているユーザが第１の電子デバイスにアクセスしている間着座しているかどうかを判断すること、または第１の電子デバイスにアクセスしているユーザが第１の電子デバイスにアクセスしている間立っているかどうかを判断することを含んでもよい。例えば、相関付けは、周囲環境において着座したユーザの動きの範囲を、着座時にユーザにとって物理的にアクセス可能な（３次元）空間に相関する仮想環境内の動きの範囲に変換することを含むことができる。変換は、ユーザが周囲環境において移動する（またはその中で到達する）ことができる距離を計算すること、およびそのような距離を仮想環境に変換して物理的にアクセス可能な空間になることを含むことができる。本明細書に記載のシステムは、環境間の動きの範囲を相関付け、仮想環境の空間内の検出（または判断された）場所内で仮想コンテンツおよび／または制御を生成し提供することによって、そのような場所内で仮想コンテンツおよび／または制御を提供できる。
【００７３】
いくつかの実装形態では、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスに関連付けられるユーザの身体的側面を判断することと、ユーザの身体的側面および周囲環境に関連付けられる動きの範囲を用いて到達ゾーンを推定することとを含んでもよい。到達ゾーンは、第１の電子デバイスにアクセスするユーザの到達範囲内にあって、仮想環境内に複数の仮想オブジェクトを配置する領域として、用いることができる。
【００７４】
いくつかの実装形態では、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスにアクセスするユーザの身長を判断することと、ユーザの身長および周囲環境に関連付けられる動きの範囲を用いて到達ゾーンを推定することとを含んでもよい。到達ゾーンは、第１の電子デバイスにアクセスするユーザの到達範囲内にあって、仮想環境内に複数の仮想オブジェクトを配置する領域として、用いることができる。
【００７５】
いくつかの実装形態では、複数の仮想オブジェクトについて、仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、第１の電子デバイスの垂直オフセットを検出することと、垂直オフセットを用いて複数のオブジェクトを第１の電子デバイスにアクセスするユーザの到達範囲内に配置することとを含んでもよい。
【００７６】
図６は、ここに記載される技術とともに用いられてもよい汎用コンピュータデバイス６００および汎用モバイルコンピュータデバイス６５０の例を示す。コンピューティングデバイス６００は、プロセッサ６０２、メモリ６０４、記憶装置６０６、メモリ６０４および高速拡張ポート６１０に接続している高速インターフェイス６０８、ならびに低速バス６１４および記憶装置６０６に接続している低速インターフェイス６１２を含む。コンポーネント６０２，６０４，６０６，６０８，６１０および６１２の各々は様々なバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサ６０２は、コンピューティングデバイス６００内で実行される命令を処理可能であり、この命令には、ＧＵＩのためのグラフィック情報を高速インターフェイス６０８に結合されているディスプレイ６１６などの外部入出力デバイス上に表示するためにメモリ６０４内または記憶装置６０６上に記憶されている命令が含まれる。他の実現例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイス６００が接続され得、各デバイスは（例えばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【００７７】
メモリ６０４は情報をコンピューティングデバイス６００内に記憶する。一実現例では、メモリ６０４は１つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ６０４は１つまたは複数の不揮発性メモリユニットである。また、メモリ６０４は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ可読媒体であってもよい。
【００７８】
記憶装置６０６は、コンピューティングデバイス６００に大容量記憶を提供可能である。一実現例では、記憶装置６０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他のコンフィギュレーションにおけるデバイスを含む多数のデバイスといった、コンピュータ可読媒体であってもよく、または当該コンピュータ可読媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報媒体内に有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含み得る。情報媒体は、メモリ６０４、記憶装置６０６、またはプロセッサ６０２上のメモリといった、コンピュータ可読媒体または機械可読媒体である。
【００７９】
高速コントローラ６０８はコンピューティングデバイス６００のための帯域幅集約的な動作を管理するのに対して、低速コントローラ６１２はより低い帯域幅集約的な動作を管理する。そのような機能の割当ては例示に過ぎない。一実現例では、高速コントローラ６０８はメモリ６０４、ディスプレイ６１６に（例えばグラフィックスプロセッサまたはアクセラレータを介して）、および様々な拡張カード（図示せず）を受付け得る高速拡張ポート６１０に結合される。当該実現例では、低速コントローラ６１２は記憶装置６０６および低速拡張ポート６１４に結合される。様々な通信ポート（例えばＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータといったネットワーキングデバイスなどの１つ以上の入出力デバイスに、例えばネットワークアダプタを介して結合され得る。
【００８０】
コンピューティングデバイス６００は、図に示すように多数の異なる形態で実現されてもよい。例えば、コンピューティングデバイス６００は標準的なサーバ６２０として、またはそのようなサーバのグループ内で複数回実現されてもよい。また、コンピューティングデバイス６００はラックサーバシステム６２４の一部として実現されてもよい。さらに、コンピューティングデバイス６００はラップトップコンピュータ６２２などのパーソナルコンピュータにおいて実現されてもよい。あるいは、コンピューティングデバイス６００からのコンポーネントは、デバイス６５０などのモバイルデバイス（図示せず）内の他のコンポーネントと組合されてもよい。そのようなデバイスの各々がコンピューティングデバイス６００，６５０の１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス６００，６５０で構成されてもよい。
【００８１】
コンピューティングデバイス６５０は、数あるコンポーネントの中でも特に、プロセッサ６５２、メモリ６６４、ディスプレイ６５４などの入出力デバイス、通信インターフェイス６６６、およびトランシーバ６６８を含む。また、デバイス６５０には、マイクロドライブまたは他のデバイスなどの記憶装置が提供されて付加的なストレージが提供されてもよい。コンポーネント６５０，６５２，６６４，６５４，６６６および６６８の各々は様々なバスを用いて相互に接続されており、当該コンポーネントのいくつかは共通のマザーボード上にまたは他の態様で適宜搭載され得る。
【００８２】
プロセッサ６５２は、メモリ６６４に記憶されている命令を含む、コンピューティングデバイス６５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、例えば、ユーザインターフェイス、デバイス６５０が実行するアプリケーション、およびデバイス６５０による無線通信の制御といった、デバイス６５０の他のコンポーネントの協調を提供し得る。
【００８３】
プロセッサ６５２は、ディスプレイ６５４に結合された制御インターフェイス６５８およびディスプレイインターフェイス６５６を介してユーザと通信し得る。ディスプレイ６５４は、例えば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）もしくはＯＬＥＤ（有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス６５６は、ディスプレイ６５４を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイス６５８はユーザからコマンドを受信し、当該コマンドをプロセッサ６５２に提出するために変換し得る。さらに、外部インターフェイス６６２が、デバイス６５０と他のデバイスとの隣接通信を可能にするために、プロセッサ６５２と通信した状態で提供されてもよい。外部インターフェイス６６２は、例えば、ある実現例では有線通信を提供し、他の実現例では無線通信を提供してもよく、また、複数のインターフェイスが用いられてもよい。
【００８４】
メモリ６６４は情報をコンピューティングデバイス６５０内に記憶する。メモリ６６４は、１つもしくは複数のコンピュータ可読媒体、１つもしくは複数の揮発性メモリユニット、または１つもしくは複数の不揮発性メモリユニットの１つ以上として実現され得る。さらに、拡張メモリ６７４が提供され、例えばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含み得る拡張インターフェイス６７２を介してデバイス６５０に接続されてもよい。このような拡張メモリ６７４はデバイス６５０に余分のストレージスペースを提供し得るか、またはデバイス６５０のためのアプリケーションもしくは他の情報をさらに記憶し得る。具体的には、拡張メモリ６７４は上述のプロセスを実行または補足するための命令を含み得、さらにセキュア情報を含み得る。ゆえに、例えば、拡張メモリ６７４はデバイス６５０のためのセキュリティモジュールとして提供されてもよく、デバイス６５０のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキング不可能なようにＳＩＭＭカード上に識別情報を置くといったように、セキュアなアプリケーションが付加的な情報とともにＳＩＭＭカードを介して提供されてもよい。
【００８５】
メモリは、以下に記載のように、例えばフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。一実現例では、コンピュータプログラムプロダクトが情報媒体内に有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含む。情報媒体は、メモリ６６４、拡張メモリ６７４、またはプロセッサ６５２上のメモリといった、コンピュータ可読媒体または機械可読媒体であり、これは、例えばトランシーバ６６８または外部インターフェイス６６２上で受信され得る。
【００８６】
デバイス６５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス６６６を介して無線通信し得る。通信インターフェイス６６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、様々なモードまたはプロトコル下の通信を提供し得る。そのような通信は、例えば無線周波数トランシーバ６６８を介して起こり得る。さらに、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）を用いるなどして、短距離通信が起こり得る。さらに、ＧＰＳ（全地球測位システム）レシーバモジュール６７０が付加的なナビゲーション関連および位置関連の無線データをデバイス６５０に提供し得、当該データはデバイス６５０上で実行されるアプリケーションによって適宜用いられ得る。
【００８７】
また、デバイス６５０は、ユーザから口頭情報を受信して当該情報を使用可能なデジタル情報に変換し得る音声コーデック６６０を用いて可聴的に通信し得る。音声コーデック６６０も同様に、例えばデバイス６５０のハンドセット内で、スピーカを介すなどしてユーザに可聴音を生成し得る。そのような音は音声電話からの音を含んでいてもよく、録音された音（例えば音声メッセージ、音楽ファイル等）を含んでいてもよく、さらに、デバイス６５０上で実行されるアプリケーションが生成する音を含んでいてもよい。
【００８８】
コンピューティングデバイス６５０は、図に示すように多数の異なる形態で実現されてもよい。例えば、コンピューティングデバイス６５０はセルラー電話６８０として実現されてもよい。また、コンピューティングデバイス６５０は、スマートフォン６８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【００８９】
本明細書に記載のシステムおよび技術の様々な実現例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現され得る。これらの様々な実現例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【００９０】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる）は、プログラム可能なプロセッサのための機械命令を含み、高水準手続き型および／もしくはオブジェクト指向型プログラミング言語で、ならびに／またはアセンブリ／機械言語で実装することができる。本明細書で用いられるとき、用語「機械可読媒体」「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および／またはデータをプログラマブルプロセッサに提供するよう用いられる任意のコンピュータプログラム製品、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【００９１】
ユーザとの対話を提供するために、本明細書に記載されるシステムおよび技術は、例えばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタといったユーザに対して情報を表示するための表示デバイスと、例えばマウス、トラックボールといったユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスが同様に、ユーザとの対話を提供するために用いられ得；例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックといった任意の形態の感覚フィードバックであり得；ユーザからの入力は、音響入力、発話入力、または触覚入力を含む任意の形態で受取られ得る。
【００９２】
本明細書に記載されるシステムおよび技術は、バックエンドコンポーネントを例えばデータサーバとして含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、例えば本明細書に記載されるシステムおよび技術の実現例とユーザが対話することが可能であるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネントを含むか、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、例えば通信ネットワークといったデジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）およびインターネットワークを含む。
【００９３】
計算システムはクライアントおよびサーバを含むことができる。クライアントとサーバとは一般に互いから遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されるとともに互いに対してクライアント−サーバ関係を有するコンピュータプログラムによって発生する。
【００９４】
いくつかの実装形態では、図６に示されているコンピューティングデバイスは、仮想現実（ＶＲヘッドセット６９０）とインターフェイスをとるセンサを含むことができる。例えば、図６に示すコンピューティングデバイス６５０または他のコンピューティングデバイスに含まれる１つまたは複数のセンサは、ＶＲヘッドセット６９０に入力を与えるか、または一般に、ＶＲ空間に入力を与えることができる。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、バイオメトリックセンサ、温度センサ、湿度センサ、および周囲光センサを含み得るが、これらに限定されない。コンピューティングデバイス６５０は、センサを用いて、ＶＲ空間内のコンピューティングデバイスの絶対位置および／または検出された回転を判断することができ、それは次いでＶＲ空間への入力として用いることができる。例えば、コンピューティングデバイス６５０は、コントローラ、レーザポインタ、キーボード、武器などのような仮想オブジェクトとしてＶＲ空間に組み込まれてもよい。ＶＲ空間に組み込まれたときのユーザによるコンピューティングデバイス／仮想オブジェクトの位置決めは、ユーザがコンピューティングデバイスを位置決めして、仮想オブジェクトをＶＲ空間内で特定の態様で見ることを可能にすることができる。例えば、仮想オブジェクトがレーザポインタを表す場合、ユーザは、あたかもそれが実際のレーザポインタであるかのようにコンピューティングデバイスを操作することができる。ユーザは、コンピューティングデバイスを左右、上下、円形などに動かし、レーザポインタを用いるのと同様の態様でコンピューティングデバイスを用いることができる。
【００９５】
いくつかの実装形態では、コンピューティングデバイス６５０上に含まれるかまたはそれに接続される１つまたは複数の入力デバイスをＶＲ空間への入力として用いることができる。入力デバイスは、タッチスクリーン、キーボード、１つまたは複数のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイク、イヤホンまたは入力機能を有するイヤホン、ゲームコントローラ、またはその他の接続可能な入力デバイスを含み得るが、それらに限定はされない。コンピューティングデバイス６５０がＶＲ空間に組み込まれるときに、コンピューティングデバイス６５０に含まれる入力デバイスと対話するユーザは、特定のアクションをＶＲ空間で生じさせることができる。
【００９６】
いくつかの実装形態では、コンピューティングデバイス６５０のタッチスクリーンは、ＶＲ空間内でタッチパッドとしてレンダリングすることができる。ユーザは、コンピューティングデバイス６５０のタッチスクリーンと対話することができる。対話は、例えば、ＶＲヘッドセット６９０において、ＶＲ空間内のレンダリングされたタッチパッド上の動作としてレンダリングされる。レンダリングされた動作は、ＶＲ空間内でオブジェクトを制御することができる。
【００９７】
いくつかの実装形態では、コンピューティングデバイス６５０に含まれる１つまたは複数の出力デバイスは、ＶＲ空間においてＶＲヘッドセット６９０のユーザに出力および／またはフィードバックを与えることができる。出力およびフィードバックは、視覚的、戦術的、または音声的であり得る。出力および／またはフィードバックは、振動、１つまたは複数のライトまたはストロボのオンおよびオフまたは明滅および／もしくは点滅、警報の鳴動、チャイムの再生、歌の再生、ならびに音声ファイルの再生を含むことができるが、これらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電装置、静電装置、発光ダイオード（ＬＥＤ）、ストロボ、およびスピーカを含むことができるが、これらに限定されない。
【００９８】
いくつかの実装形態では、コンピューティングデバイス６５０は、コンピュータにより生成される３Ｄ環境において別のオブジェクトとして現れてもよい。ユーザによるコンピューティングデバイス６５０との対話（例えば、回転、振動、タッチスクリーンへの接触、指をタッチスクリーン上でスワイプ）は、ＶＲ空間内のオブジェクトとの対話として解釈することができる。ＶＲ空間内のレーザポインタの例では、コンピューティングデバイス６５０は、コンピュータにより生成される３Ｄ環境内の仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス６５０を操作すると、ＶＲ空間内のユーザはレーザポインタの移動を見る。ユーザは、ＶＲ空間におけるコンピューティングデバイス６５０との対話からのフィードバックをコンピューティングデバイス６５０またはＶＲヘッドセット６９０上で受け取る。
【００９９】
いくつかの実装形態では、コンピューティングデバイスに加えて１つまたは複数の入力デバイス（たとえば、マウス、キーボード）を、コンピュータにより生成される３Ｄ環境でレンダリングすることができる。レンダリングされた入力デバイス（例えば、レンダリングされたマウス、レンダリングされたキーボード）は、ＶＲ空間内のオブジェクトを制御するためにＶＲ空間内にレンダリングされるとおりに用いることができる。
【０１００】
コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを意図している。コンピューティングデバイス６５０は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことを意図している。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文書に記載および／または特許請求される本発明の実装形態を限定するものではない。
【０１０１】
多数の実施形態が記載された。それにもかかわらず、明細書の精神および範囲から逸脱することなく、様々な修正がなされ得ることが理解されるであろう。
【０１０２】
加えて、図面において示される論理フローは、望ましい結果を達成するために、示された特定の順序または連続する順序を必要としない。さらに、説明されたフローから、他のステップが与えられてもよく、またはステップが削除されてもよく、他の構成要素が、説明されたシステムに追加され、またはそこから除去されてもよい。従って、他の実施形態は特許請求の範囲内にある。
【図１Ａ】
2019521452.tif 000003
【図１Ｂ】
2019521452.tif 000004
【図２Ａ】
2019521452.tif 000005
【図２Ｂ】
2019521452.tif 000006
【図３】
2019521452.tif 000007
【図４】
2019521452.tif 000008
【図５】
2019521452.tif 000009
【図６】
2019521452.tif 000010
【手続補正書】
【提出日】平成31年4月12日(2019.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成することと、 
周囲環境において前記第２の電子デバイスの移動を追跡することと、
１つまたは複数のセンサを用いて、前記周囲環境において前記第２の電子デバイスの移動に関連付けられる動きの範囲を判断することと、
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲に相関させることと、
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することと、
前記第１の電子デバイスにおける前記仮想環境において、前記仮想構成に従って前記複数の仮想オブジェクトをレンダリングすることをトリガすることとを備える、方法。
【請求項２】
前記複数の仮想オブジェクトのうちの少なくとも１つは、前記仮想環境および前記仮想環境に関連付けられるオプションを示すユーザインターフェイスの一部であり、前記仮想構成を判断することは、前記仮想環境に関連付けられる前記動きの範囲に一致するように前記ユーザインターフェイスを適合することを含む、請求項１に記載の方法。
【請求項３】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲と相関させることは、
前記第１の電子デバイスまたは前記第２の電子デバイスのうちの少なくとも一方にアクセスするユーザの身体的側面を判断することと、
前記身体的側面に関連付けられる少なくとも１つの能力を前記周囲環境から前記仮想環境に変換することと、
前記少なくとも１つの変換された能力に従って前記仮想環境で仮想コンテンツを提供することとを含む、請求項１または２に記載の方法。
【請求項４】
前記第１の電子デバイスにアクセスするユーザの身体的側面は、前記ユーザに関連付けられる、前記仮想環境内の検出位置、姿勢、物理的空間内の検出位置、または検出された高さおよび腕の長さに関連する到達距離のうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲に相関させることは、
前記第１の電子デバイスにアクセスしているユーザが前記第１の電子デバイスにアクセスしながら着座位置にあると判断したことに応答して、前記仮想環境における前記少なくとも１つの能力が前記ユーザの前記着座位置に対処することを可能にすることを含む、請求項３または４に記載の方法。
【請求項６】
前記複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスに関連付けられる前記ユーザの身体的側面を判断することと、前記ユーザの前記身体的側面および前記周囲環境に関連付けられる前記動きの範囲を用いて到達ゾーンを推定することとを含み、前記到達ゾーンは、前記第１の電子デバイスにアクセスする前記ユーザの到達範囲内にあって、前記仮想環境内に複数の仮想オブジェクトを配置する領域として、用いられる、請求項３から５のいずれか１項に記載の方法。
【請求項７】
前記仮想環境に関連付けられる前記動きの範囲は、前記第２の電子デバイス上で実行される加速度計を用いて判断される、請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記周囲環境において前記第２の電子デバイスの移動を追跡することは、前記周囲環境において前記第１の電子デバイスおよび前記第２の電子デバイスにアクセスするユーザの画像をキャプチャすることによって前記第２の電子デバイスの横方向の移動を追跡することを含む、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記第１の電子デバイスはＨＭＤデバイスであり、前記第２の電子デバイスはポータブル電子デバイスである、請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスにアクセスするユーザの身長を判断することと、前記ユーザの前記身長および前記周囲環境に関連付けられる前記動きの範囲を用いて到達ゾーンを推定することとを含み、前記到達ゾーンは、前記第１の電子デバイスにアクセスする前記ユーザの到達範囲内にあって、前記仮想環境内に複数の仮想オブジェクトを配置する領域として、用いられる、請求項９に記載の方法。
【請求項１１】
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる動きの範囲に適合される仮想構成を判断することは、前記第１の電子デバイスの垂直オフセットを検出することと、前記垂直オフセットを用いて複数のオブジェクトを前記第１の電子デバイスにアクセスするユーザの到達範囲内に配置することとを含む、請求項１から９のいずれか１項に記載の方法。
【請求項１２】
請求項１から１１のいずれか１項に記載の方法を少なくとも１つのプロセッサに実行させるためのプログラム。
【請求項１３】
システムであって、
メモリと、
前記メモリに結合される少なくとも１つのプロセッサとを備え、前記少なくとも１つのプロセッサは、
第２の電子デバイスに通信可能に結合される第１の電子デバイスで仮想環境を生成し、
周囲環境において前記第２の電子デバイスの移動を追跡し、
１つまたは複数のセンサを用いて、前記周囲環境における前記移動に関連付けられる動きの範囲を判断し、
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲に相関させ、
複数の仮想オブジェクトについて、前記仮想環境に関連付けられる前記動きの範囲に適合される仮想構成を判断し、
前記第１の電子デバイスにおける前記仮想環境において、前記仮想構成に従って前記複数の仮想オブジェクトをレンダリングすることをトリガするよう構成される、システム。
【請求項１４】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる前記動きの範囲と相関させることは、
前記第１の電子デバイスまたは前記第２の電子デバイスのうちの少なくとも一方にアクセスするユーザの身体的側面を判断することと、
前記身体的側面に関連付けられる少なくとも１つの能力を前記周囲環境から前記仮想環境に変換することと、
前記少なくとも１つの変換された能力に従って前記仮想環境で仮想コンテンツを提供することとを含む、請求項１３に記載のシステム。
【請求項１５】
前記周囲環境に関連付けられる前記動きの範囲を前記仮想環境に関連付けられる動きの範囲と相関させることは、ユーザが前記第１の電子デバイスにアクセスしている間着座位置にある、と判断したことに応答して、前記仮想環境内の前記少なくとも１つの能力が、前記第１の電子デバイスにアクセスしている前記ユーザの着座位置に対処することを可能にすることを含む、請求項１４に記載のシステム。
【請求項１６】
前記周囲環境において前記第２の電子デバイスの移動を追跡することは、前記第２の電子デバイスに格納される加速度計データを解析することを含む、請求項１３から１５のいずれか１項に記載のシステム。
【請求項１７】
前記第１の電子デバイスはＨＭＤデバイスであり、前記第２の電子デバイスはポータブル電子デバイスである、請求項１３から１６のいずれか１項に記載のシステム。
【国際調査報告】
2019521452.tif 000011
2019521452.tif 000012
2019521452.tif 000013