(57)【特許請求の範囲】
【請求項１】
方法であって、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に没入型の仮想環境を生成するステップと、
仮想セッションを起動して、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、を備え、没入したユーザによる仮想のオブジェクトとのユーザ対話は前記少なくとも１つのユーザ入力に対応し、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出するステップと、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップと、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出するステップと、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動するステップとを備え、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップは、
前記ＨＭＤの前記位置を検出するステップと、
前記ＨＭＤの前記位置に基づいて、前記ＨＭＤが前記周囲環境におけるコンピューティングデバイスの予め設定された距離以下のところに位置決めされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出するステップとを含み、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、方法。
【請求項２】
方法であって、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に没入型の仮想環境を生成するステップと、
仮想セッションを起動して、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、を備え、没入したユーザによる仮想のオブジェクトとのユーザ対話は前記少なくとも１つのユーザ入力に対応し、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出するステップと、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップと、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出するステップと、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動するステップとを備え、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップは、
前記ＨＭＤの前記位置を検出するステップと、
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出するステップと、
前記ＨＭＤの前記移動経路に基づいて、前記ＨＭＤの前記移動経路が前記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出するステップとを含み、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、方法。
【請求項３】
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出するステップは、
前記ＨＭＤの移動方向を検出するステップと、
前記ＨＭＤの移動速度を検出するステップと、
前記検出された移動方向における前記ＨＭＤの前記移動速度が設定された速度以上である場合に、前記仮想セッションの前記終了に対応する前記ジェスチャ入力を検出するステップとを含む、請求項２に記載の方法。
【請求項４】
前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動するステップは、
前記周囲環境におけるコンピューティングデバイスにおいて、前記コンピューティングデバイスへのユーザ入力なしに処理を自動的に起動するステップを含み、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、請求項１から３のいずれか１項に記載の方法。
【請求項５】
システムであって、
バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを備え、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記命令を実行するように構成されたプロセッサとを含み、前記命令は、前記コンピューティングデバイスに、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に没入型の仮想環境を生成させ、
仮想セッションを起動させて、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、没入したユーザによる仮想のオブジェクトとのユーザ対話は前記少なくとも１つのユーザ入力に対応し、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出させ、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出させ、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出させ、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動させ、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出する際に、前記命令は、前記コンピューティングデバイスに、
前記ＨＭＤの前記位置を検出させ、
前記ＨＭＤの前記位置に基づいて、前記ＨＭＤが前記周囲環境におけるコンピューティングデバイスの設定された距離以下のところに位置決めされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出させ、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、システム。
【請求項６】
システムであって、
バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを備え、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記命令を実行するように構成されたプロセッサとを含み、前記命令は、前記コンピューティングデバイスに、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に没入型の仮想環境を生成させ、
仮想セッションを起動させて、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、没入したユーザによる仮想のオブジェクトとのユーザ対話は前記少なくとも１つのユーザ入力に対応し、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出させ、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出させ、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出させ、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動させ、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出する際に、前記命令は、前記コンピューティングデバイスに、
前記ＨＭＤの前記位置を検出させ、
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出させ、
前記ＨＭＤの前記検出された移動経路に基づいて、前記ＨＭＤの前記検出された移動経路が前記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出させ、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、システム。
【請求項７】
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出する際に、前記命令は、前記コンピューティングデバイスに、
前記ＨＭＤの移動方向を検出させ、
前記ＨＭＤの移動速度を検出させ、
前記検出された移動方向における前記ＨＭＤの前記移動速度が設定された速度以上である場合に、前記仮想セッションの前記終了に対応する前記ジェスチャ入力を検出させる、請求項６に記載のシステム。
【請求項８】
前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動する際に、前記命令は、前記コンピューティングデバイスに、
前記周囲環境におけるコンピューティングデバイスにおいて、ユーザ入力なしに処理を自動的に起動させ、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、請求項５から７のいずれか１項に記載のシステム。
【請求項９】
方法であって、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、
仮想セッションを起動して、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出するステップと、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップと、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出するステップと、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動するステップとを備え、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップは、
前記ＨＭＤの前記位置を検出するステップと、
前記ＨＭＤの前記位置に基づいて、前記ＨＭＤが前記周囲環境におけるコンピューティングデバイスの予め設定された距離以下のところに位置決めされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出するステップとを含み、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、方法。
【請求項１０】
方法であって、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、
仮想セッションを起動して、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出するステップと、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップと、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出するステップと、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動するステップとを備え、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出するステップは、
前記ＨＭＤの前記位置を検出するステップと、
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出するステップと、
前記ＨＭＤの前記移動経路に基づいて、前記ＨＭＤの前記移動経路が前記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出するステップとを含み、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、方法。
【請求項１１】
システムであって、
バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを備え、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記命令を実行するように構成されたプロセッサとを含み、前記命令は、前記コンピューティングデバイスに、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成させ、
仮想セッションを起動させて、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出させ、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出させ、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出させ、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動させ、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出する際に、前記命令は、前記コンピューティングデバイスに、
前記ＨＭＤの前記位置を検出させ、
前記ＨＭＤの前記位置に基づいて、前記ＨＭＤが前記周囲環境におけるコンピューティングデバイスの設定された距離以下のところに位置決めされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出させ、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、システム。
【請求項１２】
システムであって、
バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを備え、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記命令を実行するように構成されたプロセッサとを含み、前記命令は、前記コンピューティングデバイスに、
周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成させ、
仮想セッションを起動させて、前記仮想セッションがアクティブ状態にある間に、前記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、
前記周囲環境における前記ＨＭＤの位置または向きのうちの少なくとも１つを検出させ、
前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出させ、
前記ジェスチャ入力の前記検出に基づいて前記仮想セッションの終了を検出させ、
前記仮想セッションの前記検出された終了に応答して、前記アクティブ状態にある間に、前記仮想セッション中に受信された前記少なくとも１つのユーザ入力に関連する処理を起動させ、
前記周囲環境における前記ＨＭＤの前記位置または前記向きのうちの前記少なくとも１つに基づいてジェスチャ入力を検出する際に、前記命令は、前記コンピューティングデバイスに、
前記ＨＭＤの前記位置を検出させ、
前記ＨＭＤの前記位置に基づいて前記ＨＭＤの移動経路を検出させ、
前記ＨＭＤの前記検出された移動経路に基づいて、前記ＨＭＤの前記検出された移動経路が前記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、前記仮想セッションの前記終了の前記検出に対応する前記ジェスチャ入力を検出させ、前記コンピューティングデバイスは、前記ＨＭＤに動作可能に結合され、前記ＨＭＤの外部にある、システム。
【請求項１３】
プロセッサに請求項１から４、９および１０のいずれか１項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１６年１２月５日に出願された米国出願第１５／３６９，９１８号の継続出願であり、その優先権を主張し、米国出願第１５／３６９，９１８号の開示は、全文が引用によって本明細書に援用される。
【０００２】
分野
本明細書は、一般に、拡張現実および／またはバーチャルリアリティ環境において拡張現実および／またはバーチャルリアリティセッションの終了を検出することに関する。
【背景技術】
【０００３】
背景
拡張現実（ＡＲ）および／またはバーチャルリアリティ（ＶＲ）システムは、没入型の三次元（３Ｄ）仮想環境を生成し得る。ユーザは、この仮想環境において、さまざまな電子デバイスを使用して仮想のオブジェクト、要素、特徴などと対話することができ、電子デバイスは、たとえば、ユーザがディスプレイ装置を見るときにのぞき込むディスプレイ、眼鏡またはゴーグルを含むヘルメットまたは他の頭部装着型デバイス、１つ以上の手持ち式電子デバイス（コントローラ、ジョイスティックなど）、センサを備えた手袋、キーボード、マウスおよび他の電子デバイスなどである。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
一局面において、方法は、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、仮想セッションを起動して、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、上記周囲環境における上記ＨＭＤの位置または向きのうちの少なくとも１つを検出して追跡するステップと、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップと、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出するステップと、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動するステップとを含んでもよい。
【０００５】
別の局面において、システムは、バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを含んでもよい。上記コンピューティングデバイスは、実行可能な命令を格納するメモリと、上記命令を実行するように構成されたプロセッサとを含んでもよい。上記命令の実行は、上記コンピューティングデバイスに、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成させ、仮想セッションを起動させて、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、上記周囲環境における上記ＨＭＤの位置または向きのうちの少なくとも１つを検出して追跡させ、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出させ、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出させ、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動させてもよい。
【０００６】
別の局面において、非一時的なコンピュータ読取可能媒体上で具体化されるコンピュータプログラム製品は、一連の命令を格納してもよい。上記命令は、プロセッサによって実行されると、上記プロセッサに方法を実行させてもよい。上記方法は、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、仮想セッションを起動して、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、上記周囲環境における上記ＨＭＤの位置および向きを検出して追跡するステップと、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップと、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出するステップと、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を、上記周囲環境におけるコンピューティングデバイスにおいて自動的に起動するステップとを含んでもよく、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある。
【０００７】
１つ以上の実現例の詳細について、添付の図面および以下の明細書で説明する。他の特徴は、明細書および図面ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【０００８】
【図１】本明細書に記載されている実現例に係る、外部入力デバイスと通信するヘッドマウントディスプレイを含む拡張現実および／またはバーチャルリアリティシステムの例示的な実現例である。
【図２Ａ】本明細書に記載されている実現例に係る例示的なヘッドマウントディスプレイ装置の斜視図である。
【図２Ｂ】本明細書に記載されている実現例に係る例示的なヘッドマウントディスプレイ装置の斜視図である。
【図３】本明細書に記載されている実現例に係る拡張現実および／またはバーチャルリアリティシステムのブロック図である。
【図４Ａ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図４Ｂ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図４Ｃ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図４Ｄ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図４Ｅ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図４Ｆ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図５Ａ】本明細書に記載されている実現例に係る仮想セッションの終了の検出に応答して起動される例示的な処理を示す。
【図５Ｂ】本明細書に記載されている実現例に係る仮想セッションの終了の検出に応答して起動される例示的な処理を示す。
【図５Ｃ】本明細書に記載されている実現例に係る仮想セッションの終了の検出に応答して起動される例示的な処理を示す。
【図６Ａ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図６Ｂ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図６Ｃ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図７Ａ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図７Ｂ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図７Ｃ】本明細書に記載されている実現例に係る仮想セッションの終了を検出するためのシステムを示す。
【図８】本明細書に記載されている実現例に係る方法のフローチャートである。
【図９】本明細書に記載されている技術を実現するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す。
【発明を実施するための形態】
【０００９】
詳細な説明
たとえばヘッドマウントディスプレイ（ＨＭＤ）装置を着用して拡張現実および／またはバーチャルリアリティ環境に没入しているユーザは、仮想環境を探索して、さまざまな異なるタイプの入力を通じて仮想環境と対話することができる。これらの入力は、たとえば、ＨＭＤおよび／もしくはＨＭＤに動作可能に結合された１つ以上の外部電子デバイスの操作、ならびに／または、手／腕のジェスチャ、視線／頭の動きなどを含んでもよい。ユーザが拡張現実／バーチャルリアリティセッションを終了させる選択をしたこと、および／または、特定のユーザ介入なしにユーザが拡張現実／バーチャルリアリティセッションにおける中間停止点に到達したことを検出して、拡張現実／バーチャルリアリティセッションにおいてユーザの行動に関連する周辺タスクおよび／または処理を進めることができる能力は、ユーザエクスペリエンスを向上させ、生産性を向上させることができる。それによって、周辺タスクは、たとえば、仮想セッション中に起こされるアクションに関連する、ＨＭＤの外部の周辺コンピューティングデバイスに対する処理と関係がある。
【００１０】
本明細書に記載されている実現例に係るシステムおよび方法では、ユーザがバーチャルリアリティセッションへの関与を完了したことまたはバーチャルリアリティセッションへの関与を一時的に中止したことを検出すると、たとえば補足的タスクなどのさらなるアクションがシステムによって自動的に実行されてもよい。この検出は、たとえば、補足的タスクを起動するのに必要とされる特定のさらなるユーザ入力または介入なしに、仮想セッションの終了時に特徴的に実行されるアクションまたはジェスチャに基づいてなされてもよい。このアクションまたはジェスチャは、たとえば、ユーザによるＨＭＤの取り外しを含んでもよく、この取り外しは、ＨＭＤ内のセンサおよび／または当該システムにおける他の構成要素内の他のセンサによって提供されるデータに基づいて検出される。このさらなるアクションまたは補足的タスクは、仮想環境に関与している間にユーザによって実行されるアクションに関連するタスク（たとえば、処理、コンパイル、プレビューの生成、起こされるその後のアクションのための提案の生成など）を含んでもよい。仮想セッションの完了および／または仮想セッションの一時的中止は、仮想セッションの終了および／または中止を示す特定のユーザ入力または介入なしに、システムによって受動的な態様で検出されてもよい。仮想セッションの終了または仮想セッションにおける中間点での中断の検出に応答して仮想環境においてユーザのアクションに関連付けられた周辺タスクを自動的に実行することができる能力は、仮想環境におけるユーザエクスペリエンスおよび現実世界の環境において関連タスクを完了する際のユーザエクスペリエンスを全体的に向上させることができる。これにより、さらなるアクションがシステムによって実質的に自動的に実行され得るので、ユーザ生産性を向上させることができ、さもなければ利用されないままであろう（仮想セッションの終了の検出から、ユーザがさらなるアクションを起動するための入力を行うときまでの）時間が生産的に利用されることになる。
【００１１】
図１は、ＨＭＤ１００を着用しているユーザの第三者的図である。この例示的な第三者的図では、ユーザは、拡張現実／バーチャルリアリティシステムが動作可能である物理的空間４００の中にいて、ＨＭＤ１００のディスプレイに表示された仮想環境に関与する。仮想環境は、ＨＭＤ１００の中でユーザが目にすることができるが、単に説明および例示を容易にするために、図１にはＨＭＤ１００のディスプレイ上にユーザに対して表示される仮想環境（または、その中のオブジェクト）の例示的な表示５００が示されている。ユーザは、ＨＭＤ１００に動作可能に結合されてＨＭＤ１００と通信し得る１つ以上の外部コンピューティングデバイス２００と対話し得る。これは、外部デバイス２００とＨＭＤ１００との間の通信およびデータの交換を提供し得る。図１に示される例では、ＨＭＤ１００に動作可能に結合された外部デバイス２００は、手持ち式電子デバイス２００または手持ち式コントローラ２００である。いくつかの実現例では、複数の手持ち式電子デバイス２００、他の外部デバイス２００（たとえば、マウス、キーボード、ジョイスティックなど）がＨＭＤ１００に動作可能に結合されて、仮想環境での対話のためのユーザ入力を受信してもよい。この実現例では、ユーザがＨＭＤ１００を介したバーチャルリアリティセッションへの関与を完了したことまたはＨＭＤ１００を介したバーチャルリアリティセッションへの関与を一時的に中止したことを検出すると、システムによってタスクが自動的に実行されてもよい。
【００１２】
図２Ａおよび図２Ｂは、例示的なＨＭＤ（たとえば、図１に示される例においてユーザが着用しているＨＭＤ１００など）の斜視図である。ＨＭＤ１００は、フレーム１２０に結合されたハウジング１１０を含んでもよく、音声出力デバイス１３０は、たとえばヘッドホンに装着されたスピーカを含み、音声出力デバイス１３０もフレーム１２０に結合されている。図２Ｂでは、ハウジング１１０に受けられる構成要素のうちのいくつかを見ることができるように、ハウジング１１０の前面部分１１０ａがハウジング１１０のベース部分１１０ｂから離れるように回転されている。ハウジング１１０の前面部分１１０ａの内側に面する側には、ディスプレイ１４０が装着されてもよい。前面部分１１０ａがハウジング１１０のベース部分１１０ｂに対して閉鎖位置にあるとき、ハウジング１１０内であってユーザの眼とディスプレイ１４０との間にレンズ１５０が装着されてもよい。ＨＭＤ１００は、さまざまなセンサを含む検知システム１６０と、ＨＭＤ１００の動作を容易にするためにプロセッサ１９０およびさまざまな制御システムデバイスを含む制御システム１７０とを含んでもよい。
【００１３】
たとえば、いくつかの実現例では、検知システム１６０は、さまざまな異なるタイプのセンサ（たとえば、加速度計、ジャイロスコープ、磁気計および他のこのようなセンサなど）を含む慣性測定ユニット（ＩＭＵ）１６２を含んでもよい。ＨＭＤ１００の位置および向きは、ＩＭＵ１６２に含まれるセンサによって提供されるデータに基づいて検出され、追跡されてもよい。ＨＭＤ１００の検出された位置および向きは、システムが次にユーザの頭の動きの方向および移動を検出して追跡することを可能にすることができる。
【００１４】
いくつかの実現例では、ＨＭＤ１００は、視線の方向および移動を検出して追跡するためにたとえば１つ以上のセンサ１６５Ａを含む視線追跡装置１６５を含んでもよい。センサ１６５Ａによって取り込まれた画像は、ユーザの視線の方向および移動を検出して追跡するように処理されてもよく、検出され追跡された視線は、ユーザ入力として処理されて、没入型仮想エクスペリエンスにおける対応する対話に変換されてもよい。カメラ１８０は、ユーザおよび／またはＨＭＤ１００と通信する／ＨＭＤ１００に動作可能に結合された他の外部デバイスの物理的位置の追跡を手助けするために使用され得る静止画および／または動画を取り込んでもよい。取り込まれた画像も、パススルーモードでディスプレイ１４０上にユーザに対して表示されてもよい。
【００１５】
本明細書に記載されている実現例に係るシステムのブロック図が図３に示されている。このシステムは、第１の電子デバイス３００（たとえば、図１および図２Ａ〜図２Ｂに関連して上記したＨＭＤなど）と、第１の電子デバイス３００と通信する少なくとも１つの第２の電子デバイス３０２（たとえば、図１に関連して上記した手持ち式電子デバイス、または他の外部デバイスなど）とを含んでもよい。
【００１６】
第１の電子デバイス３００は、検知システム３６０と制御システム３７０とを含んでもよく、検知システム３６０および制御システム３７０は、それぞれ図２Ａおよび図２Ｂに示される検知システム１６０および制御システム１７０と同様であってもよい。検知システム３６０は、たとえば光センサ、オーディオセンサ、画像センサ、距離および／もしくは近接センサ、ＩＭＵ（たとえば、ジャイロスコープ、加速度計、磁気計などを含む）、タイマ、ならびに／または、他のセンサおよび／もしくはセンサのさまざまな組み合わせを含むさまざまなタイプのセンサを含んでもよい。制御システム３７０は、たとえば電源／一時停止制御装置、オーディオおよびビデオ制御装置、光学制御装置、移行制御装置、および／または、他のこのような装置および／または装置のさまざまな組み合わせを含んでもよい。検知システム３６０および／または制御システム３７０は、特定の実現例に応じて、より多くのデバイスを含んでもよく、またはより少ないデバイスを含んでもよい。検知システム３６０および／または制御システム３７０に含まれる要素は、たとえば図２Ａおよび図２Ｂに示されるＨＭＤ１００以外のＨＭＤ内に異なる物理的配置（たとえば、異なる物理的位置）を有してもよい。また、第１の電子デバイス３００は、メモリ３８０と、検知システム３６０および制御システム３７０と通信するプロセッサ３９０とを含んでもよい。プロセッサ３９０は、検知システム３６０および他の外部ソース（たとえば、第２の電子デバイス３０２など）から受信された入力を処理して、検出された入力に対応する命令を実行してもよい。第１の電子デバイス３００は、第１の電子デバイス３００と他の外部コンピューティングデバイス（たとえば、第２の電子デバイス３０２およびシステム関連情報の処理に関わる他のコンピューティングデバイスなど）との間の通信を提供する通信モジュール３５０も含んでもよい。
【００１７】
第２の電子デバイス３０２は、第２の電子デバイス３０２と別のデバイス（たとえば、第１の電子デバイス３００など）との間の通信およびデータ交換を提供する通信モジュール３０６を含んでもよい。いくつかの実現例では、第２の電子デバイス３０２の特定の構成（すなわち、手持ち式電子デバイスまたはコントローラ対キーボードまたはマウス）に応じて、第２の電子デバイス３０２は、検知システム３０４を含んでもよく、検知システム３０４は、たとえばカメラおよびマイクロフォンに含まれるような画像センサおよびオーディオセンサ、ＩＭＵ、タイマ、手持ち式電子デバイスまたはスマートフォンのタッチセンサ面に含まれるようなタッチセンサ、ならびに他のこのようなセンサおよび／またはセンサのさまざまな組み合わせをたとえば含む。プロセッサ３０９は、第２の電子デバイス３０２の検知システム３０４およびコントローラ３０５と通信してもよく、コントローラ３０５は、メモリ３０８へのアクセスを有し、第２の電子デバイス３０２の動作全体を制御する。
【００１８】
上記のように、ユーザは、仮想セッションの終了時に補足的なまたは後続のアクションまたはタスクが実行され得る仮想環境におけるアプリケーションに関与し得る。この補足的なアクションまたはタスクは、たとえば、仮想セッション中に仮想環境に関与している間にユーザによって提供される入力、アクションなどに関連する処理、および／または、仮想セッション中に実行されるアプリケーションに関連する処理を含んでもよい。この補足的なアクションまたはタスクが特定のユーザ介入なしに仮想セッションの検出された終了に応答してシステムによって起動され得る場合に、生産性を向上させることができる。これにより、仮想セッションの終了から、ユーザが補足的タスクを起動するための別の入力を提供する時点までの、さもなければアイドルである時間を生産的に利用することを可能にすることができる。したがって、本明細書に記載されている実現例に係るシステムおよび方法では、システムは、仮想環境におけるアプリケーションに関与しているユーザが、仮想セッションを終了した（または、仮想セッションから一時的に離れた）ことを、たとえばシステムによって検出されるジェスチャに基づいて検出してもよい。このジェスチャは、仮想セッションの終了時にユーザによって特徴的に起こされるアクション（たとえば、ＨＭＤの取り外しなど）に関連付けられてもよく、それは、ユーザ側での特定のさらなるアクションを必要としない。このタイプのジェスチャは、たとえばＨＭＤ内のセンサによって提供される位置および／または向きデータに基づいて検出されてもよい。
【００１９】
図４Ａ〜図４Ｆは、システムがＨＭＤ１００の位置を検出して、ＨＭＤ１００の検出された位置がユーザの頭部からのまたはユーザの視線外へのＨＭＤ１００の取り外しに対応することを判断する例示的な実現例を示す。次に、システムは、このＨＭＤ１００の検出された位置を仮想セッションの終了と相関付ける。仮想セッションの検出された終了に応答して、システムは、後続アクション、たとえば仮想セッションに関与している間にユーザが起こすアクションに関連するデータの処理、を起動する。このように、ユーザのＨＭＤ１００の取り外しから、ユーザが別のコンピューティングデバイス（たとえば、ＨＭＤ１００に動作可能に結合されたコンピュータ端末など）においてこの処理を手動で起動するであろう時点までの間に、処理または他のアクションが実行され得る。これにより、このさもなければアイドルである時間を生産的に利用することができ、生産性を向上させることができる。
【００２０】
図４Ａは、ＨＭＤ１００によって生成されてたとえばＨＭＤ１００のディスプレイ上に表示される仮想環境に関与している物理的空間４００内のユーザの第三者的図である。図４Ａに示される例では、ユーザは、ＨＭＤ１００を着用しており、手持ち式電子デバイス２００を使用して、仮想環境５００で実行されるアプリケーションに関連付けられたさまざまな仮想の要素と対話しており、別の外部コンピューティングデバイス２５０が仮想環境におけるユーザの対話に基づくデータを受信する。図４Ａに示される例では、単に説明および例示を容易にするために、例示的な仮想環境５００のさまざまな仮想の要素は、それらがユーザに見えるようにユーザの正面に示されている。図４Ａ〜図４Ｆおよび図５Ａ〜図５Ｃに示される例示的な実現例は、単に説明および例示を容易にするために、仮想環境５００で実行される３Ｄモデリングアプリケーションに関連して記載される。しかし、下記の原理は、仮想環境で実行され、仮想セッションの終了後に、および／または、仮想セッションへのユーザ関与が一時的に中止された仮想セッションにおける中間点においてさらなるアクションを実行させる他の多数のアプリケーションおよび仮想エクスペリエンスに適用されてもよい。
【００２１】
図４Ａ、図４Ｂおよび図４Ｃに示されるように、ユーザは、たとえば手持ち式電子デバイス２００および／または手／腕のジェスチャなどを使用して、仮想環境５００におけるさまざまな仮想のオブジェクト、要素などと対話してもよい。仮想オブジェクトとのユーザ対話は、図４Ａから図４Ｂ、図４Ｃに進む際の準備中の仮想３Ｄオブジェクト５５０に対する変化に示されるように、仮想環境において実行されて所望の結果を生成するユーザ入力またはユーザコマンドに対応し得る。
【００２２】
図４Ｄおよび図４Ｅに示されるように、ユーザが仮想セッションを終了させると、またはユーザが仮想環境から一時的に離れると、ユーザは、ＨＭＤ１００を自分の視線外へ移動させてもよく、および／または、ＨＭＤ１００を頭部から取り外してもよい。このＨＭＤ１００の移動／取り外しは、システムによって検出され得る仮想セッションの終了に関連付けられた移動またはジェスチャまたはアクションであると考えられてもよい。このＨＭＤ１００の移動／取り外しは、ユーザが仮想環境から離れて仮想セッションを終了させるおよび／または仮想セッションへの関与を一時的に中止するときにユーザが起こす自然なアクションである。このＨＭＤ１００の移動／取り外しにより、ＨＭＤ１００の前面１１０ａが図４Ｅに示されるように実質的に水平位置にあるかまたは実質的に水平に向けられるようにＨＭＤ１００が方向付けられ得る。
【００２３】
いくつかの実現例では、ＨＭＤ１００の前面１１０ａが実質的に水平な平面に沿って位置合わせされた状態での、事前に設定または予め規定された位置におけるこのＨＭＤ１００の向きは、ＨＭＤ１００の非アクティブ状態に関連付けられてもよい。前面１１０ａが実質的に水平な平面に沿って位置合わせされた状態でのこのＨＭＤ１００の向きは、一般に、ユーザが仮想環境５００に積極的に関与して、ＨＭＤ１００がユーザの視線と整列するように位置決めされている間は生じない。なぜなら、アクティブ状態にあるときにはＨＭＤ１００は位置合わせされるからである。むしろ、ＨＭＤ１００が依然としてユーザの視線と位置合わせされるように位置決めされている間のこのＨＭＤ１００の実質的に水平な向きは、ユーザが不自然な比較的ぎこちない姿勢、すなわち真っすぐに見上げる姿勢をとって維持することを必要とするであろう。このＨＭＤ１００の実質的に水平な向きは、ほとんどの状況で、特にＨＭＤ１００の実質的に水平な向きが、事前に設定または予め規定された時間よりも長く持続または維持される場合に、ユーザの視線からのＨＭＤ１００の取り外しおよび／またはユーザの頭部からの取り外しに関連付けられてもよく、そのためＨＭＤ１００の非アクティブ状態に関連付けられてもよい。したがって、ＨＭＤ１００の取り外しおよび結果として生じるＨＭＤ１００の実質的に水平な向きは、仮想セッションの終了時におけるユーザ側での比較的自然な無意識のアクションであるが、このＨＭＤ１００の実質的に水平な向きの検出は、仮想セッションの終了を比較的信頼性をもって表すものであると考えることができる。そのようにして、上記の比較的自然な無意識のアクションは別にして、仮想セッション中に起こされるアクションに関連する、ＨＭＤの外部のコンピューティングデバイスに対する処理またはさらなるタスクを起動するためにユーザのさらなるアクションは不要である。
【００２４】
いくつかの実現例では、ＨＭＤ１００の非アクティブ状態に関連付けられたユーザの視線からのＨＭＤ１００の取り外しおよび／またはユーザの頭部からの取り外しは、ＨＭＤ１００内の他のセンサによって検出されてもよい。たとえば、いくつかの実現例では、光学追跡装置１６５が、ユーザの眼の検出および／または追跡の際のロスを検知して、その検出および／または追跡の際のロスをユーザの視線外へのＨＭＤ１００の移動および／またはユーザの頭部からの取り外し、およびアクティブ状態から非アクティブ状態へのＨＭＤ１００の移行と関連付けてもよい。いくつかの実現例では、光センサが、ユーザの頭部からのＨＭＤ１００の取り外しおよびアクティブ状態から非アクティブ状態へのＨＭＤ１００の移行に関連付けられた光の変化を検出してもよい。
【００２５】
典型的には、図４Ｆに示されるように、仮想セッションの終了時に、ユーザは、外部コンピューティングデバイス２５０まで移動して、仮想セッション中に起こされるアクションに関連する処理またはさらなるタスクを実行するであろう。しかし、本明細書に記載されている実現例に係るシステムおよび方法では、仮想セッション中に起こされるアクションに関連する処理またはさらなるタスクは、ＨＭＤ１００の取り外しの検出に応答してシステムによって自動的に起動されてもよい。これにより、ＨＭＤ１００の取り外し（図４Ｄに図示）から、ユーザが外部コンピューティングデバイス２５０に到達して処理を起動するためのユーザコマンドを手動入力する（図４Ｆに図示）までの、さもなければアイドルである時間を生産的に利用することができる。
【００２６】
いくつかの実現例では、ＨＭＤ１００の向き状態は、たとえばＨＭＤ１００内のセンサによって検出および／または追跡されてもよい。たとえば、ＨＭＤ１００のＩＭＵ１６２内のセンサ、たとえばＨＭＤ１００のＩＭＵ１６２に含まれるジャイロスコープ、は、図４Ｅに関連して上記したようにＨＭＤ１００が実質的に水平な状態に向けられたことを検出してもよい。上記のように、このＨＭＤ１００の実質的に水平な状態は、一般に、仮想環境に積極的に関与しているユーザがＨＭＤ１００を着用しているときには生じない。しかし、ＨＭＤ１００の向きに基づく仮想セッションの終了の誤認を回避するために、いくつかの実現例では、設定された閾値時間よりも長くＨＭＤ１００が実質的に水平な状態に向けられたままであると判断された場合に、仮想セッションの終了の表示が検出されてもよい。たとえば、いくつかの実現例では、約１秒以上にわたってＨＭＤ１００が実質的に水平な向きにとどまっていることが検出された場合に、ユーザが仮想セッションを終了させたまたは一時的に中止したと判断されてもよい。この１秒という設定閾値時間は、一例に過ぎず、設定閾値時間は、多数の異なる要因に基づいて変化してもよく、これらの要因は、たとえば、特定の適用例の特徴、および／または、当該特定の適用例におけるユーザの対話により特定の時間にわたってＨＭＤ１００が当該実質的に水平な姿勢に向けられ得る可能性などである。
【００２７】
上記のように、ＨＭＤ１００が実質的に水平な状態に向けられたことを検出して、ＨＭＤ１００の実質的に水平な向きに基づいて仮想セッションが終了されたまたは中止されたと判断すると、システムは、終了したばかりの仮想セッションに関連付けられた情報に関連するさらなるアクションまたは補足的タスクを起動してもよい。たとえば、システムは、図４Ａ〜図４Ｄに関連して上記した準備中の仮想３Ｄオブジェクト５５０に関連する情報および／またはデータの処理を開始してもよい。この処理は、ＨＭＤ１００によって実行されてもよく、および／または、１つ以上の外部コンピューティングデバイス（たとえば、図４Ａ〜図４Ｄに示される外部コンピューティングデバイス２５０など）によって実行されてもよい。上記のようにＨＭＤ１００のユーザ取り外しに基づいて仮想セッションの終了が検出されたので、この処理または補足的タスクは、図４Ｆに示されるようにユーザが外部コンピューティングデバイスに到達した後に当該処理または補足的タスクを起動するための特定のユーザコマンドを待つのではなく、仮想セッションの終了の検出に応答して、たとえば図４Ｄに示される時点において、システムによって自動的に起動されてもよい。図４Ｄに示される時点から図４Ｆに示される時点までのこのアイドル時間を使用することにより、ユーザの利便性および生産性を向上させることができる。
【００２８】
上記のように、上記の仮想セッションの終了の検出に応答して、システムは、図４Ａ〜図４Ｆに示されるＨＭＤ１００および／または外部コンピューティングデバイス２５０などの外部コンピューティングデバイスによって処理を自動的に起動してもよい。ユーザがコンピューティングデバイス２５０に到達して処理を起動するためのコマンドを手動で入力するとき（図４Ｆに示される時点）ではなく、仮想セッションの終了が検出されたとき（図４Ｄに示される時点）にこのように処理を起動することにより、利用可能な時間の生産的な利用を可能にすることができる。これは、計算集約的なタスク（たとえば、グラフィックスなどを伴う処理など）を処理する際に特に有益であろう。たとえば、上記のように仮想セッションの終了を検出すると、システムは、ユーザが見ることができるようにオブジェクト５５０の３Ｄプレビューを生成するための処理を起動してもよく、３Ｄプレビューの生成は、図５Ａに示されるような仮想セッション中に起こされるアクション、および／または、図５Ｂに示されるようなオブジェクト５５０の複数の異なる図、および／または、図５Ｃに示されるようなオブジェクト５５０を公開または共有するためのオプションおよび／またはオブジェクト５５０をさらに編集するためのオプション、に関連する、たとえばＨＭＤの外部のコンピューティングデバイスに対する補足的タスク、または周辺タスク、またはさらなるタスクの処理の一例である。これらは、上記のようにＨＭＤ１００の実質的に水平な向きに基づく仮想セッションの終了の検出に応答してシステムによって起動および実行され得るタイプの処理のいくつかの例に過ぎない。
【００２９】
いくつかの実現例では、ＨＭＤ１００のアイドル状態の持続は、（上記のように仮想セッションの終了を表示するためにＨＭＤ１００の水平な向きを検出することに加えて、またはその代わりに）仮想セッションの終了を表示するために、センサ（たとえば、ＨＭＤ１００のＩＭＵ１６２に含まれるセンサなど）によって検出されてもよい。これらのセンサは、ＨＭＤ１００がユーザによって着用されているときには比較的小さな動きさえも検出することができる。すなわち、実質的に静止したままであることがユーザの意図である場合でも、ユーザは完全に静止または固定されたままであることはなく、ユーザが着用しているＨＭＤ１００のセンサは、ユーザ（したがって、ユーザが着用しているＨＭＤ１００）のわずかな自然な動きを検出することになる。この検出された動きは、ユーザが少なくともある程度の仮想環境への関与を維持していることを示し得る。
【００３０】
いくつかの実現例では、仮想セッションの終了または一時的中止を示す設定されたジェスチャは、事前に設定または予め規定された時間以上にわたってＨＭＤ１００が同じ位置にとどまっている、すなわち基本的には完全に静止したままであることを検出したことに基づいて規定されてもよい。図６Ａ〜図６Ｃは、固定された支持面６００上のさまざまな異なる位置における、ユーザの頭部から取り外されたＨＭＤ１００を示す。図６Ａに示される例では、ユーザは、ＨＭＤ１００を取り外して、ＨＭＤ１００が実質的に水平に向けられた状態で、たとえばＨＭＤ１００の例示的な中心線１１２が実質的に水平に向けられた状態で、固定された支持面６００上にＨＭＤ１００を位置決めしている。図６Ｂに示される例では、ユーザは、ＨＭＤ１００を取り外して、ＨＭＤ１００が水平面に対してある角度またはある傾斜で向けられた状態で、たとえばＨＭＤ１００の例示的な中心線１１２が水平面に対してある角度またはある傾斜で向けられた状態で、固定された支持面６００上にＨＭＤ１００を位置決めしている。図６Ｃに示される例では、ユーザは、ＨＭＤ１００を取り外して、ＨＭＤ１００が実質的に垂直に向けられた状態で、たとえばＨＭＤ１００の例示的な中心線１１２が実質的に垂直に向けられた状態で、固定された支持面６００上にＨＭＤ１００を位置決めしている。ＨＭＤ１００の例示的な中心線１１２が図６Ａ〜図６Ｃに含まれているのは、単にＨＭＤ１００を固定された支持面６００上に設置することができるさまざまな異なる位置の例示および説明を容易にするためである。
【００３１】
図６Ａ〜図６Ｃに示されるさまざまな例示的な位置の各々では、固定された支持面６００上に位置決めされたＨＭＤ１００は、ＨＭＤ１００の向きにかかわらず、センサ、たとえばＨＭＤ１００のＩＭＵ１６２のセンサによっていかなる移動も検出されることなしに、実質的に完全に静止したままであってもよい。ＨＭＤ１００のセンサによって提供されるデータに基づいて、システムは、事前に設定または予め規定された時間以上にわたってＨＭＤ１００が静止したままであって移動しなかったことを判断してもよい。この少なくとも設定された時間にわたってＨＭＤ１００が固定されたままであったことの判断に基づいて、システムは、ユーザが仮想環境から離れたことを示す設定されたジェスチャが検出されたと判断してもよい。この仮想セッションの終了または仮想セッションの一時的中止の検出に応答して、システムは、上記のように、処理を起動するための別のユーザ介入なしに、処理、たとえば仮想セッション中に実行されるアクションに関連付けられた処理を自動的に起動してもよい。これにより、ユーザによるコマンドの手動入力または他の特定のユーザ介入なしに、いかなる後続処理、補足的タスクなども起動することを可能にすることができる。この文脈において、ユーザによるコマンドの手動入力は、たとえば、処理を実行するコンピューティングシステムのユーザインターフェイス上でのユーザによる手動入力を指し得る。この後続処理の自動的起動により、ユーザの利便性および生産性を向上させることができ、ＨＭＤ１００のユーザ取り外しから処理を起動するための特定のコマンドのユーザ入力までの、さもなければアイドルである時間が活用される。
【００３２】
いくつかの実現例では、システムは、ユーザの視線外へのＨＭＤ１００の移動および／またはユーザの頭部からのＨＭＤ１００の取り外しを必ずしも伴わない要因に基づいて、仮想セッションの終了および／またはユーザの仮想セッションへの関与の中止を示す設定されたジェスチャを検出してもよい。たとえば、いくつかの実現例では、システムは、物理的空間４００内のＨＭＤ１００を着用しているユーザの位置、たとえば、物理的空間４００の他の要素（たとえば、外部コンピューティングデバイス２５０など）に対する物理的空間４００内のＨＭＤ１００を着用しているユーザの位置、に基づいて、仮想セッションの終了および／またはユーザの仮想セッションへの関与の中止を検出してもよい。いくつかの実現例では、システムは、物理的空間４００を通るユーザの移動、たとえば、物理的空間４００の特定の要素（たとえば、外部コンピューティングデバイス２５０など）の方へのユーザの移動、に基づいて、仮想セッションの終了および／またはユーザの仮想セッションへの関与の中止を検出してもよい。いくつかの実現例では、システムは、物理的空間４００を通るユーザの移動の速さまたはスピードまたは速度、たとえば、物理的空間４００の特定の要素（たとえば、外部コンピューティングデバイス２５０など）の方へのユーザの移動の速さまたはスピードまたは速度、に基づいて、仮想セッションの終了および／またはユーザの仮想セッションへの関与の中止を検出してもよい。システムは、たとえば事前に設定または事前に規定された速さおよび／または加速度値と比較される物理的空間におけるユーザの検出された速度および／または加速度の比較に基づいて、この判断を行ってもよい。
【００３３】
図７Ａに示されるように物理的空間４００内の位置Ａに位置決めされながらＨＭＤ１００を着用して仮想環境５００に関与しているユーザは、図７Ｂに示されるように物理的空間４００内の位置Ｂまで物理的空間４００内を移動してもよく、および／または、図７Ｃに示されるように物理的空間４００内の位置Ｃまで移動してもよい。システムは、ＨＭＤ１００を着用しているユーザが物理的空間４００内を移動すると、物理的空間４００におけるＨＭＤ１００を着用しているユーザの位置および／または向きを検出して追跡してもよい。システムは、ＨＭＤ１００を着用しているユーザが物理的空間４００内の設定された位置にいること、および／または、設定された方向に移動していることもしくは物理的空間４００内の設定された要素に接近していること、および／または、事前に設定された速さもしくはスピードもしくは速度以上で設定された方向に移動していることもしくは設定された要素に接近していること、を検出したことに応答して、設定されたジェスチャを検出するように設定されてもよい。これらの設定されたジェスチャのうちの１つ以上に応答して、システムは、ユーザが仮想セッションへの関与を終了または一時的に中止したと判断してもよく、ユーザが必ずしもＨＭＤ１００を取り外していなくても上記のように処理または補足的タスクを起動してもよい。
【００３４】
たとえば、システムは、ＨＭＤ１００を着用しているユーザが図７Ｃに示される位置Ｃにいるかまたは位置Ｃまで移動したことを検出してもよく、外部コンピューティングデバイス２５０へのユーザの物理的近接に基づいて、仮想セッションを終了または一時的に中止することがユーザの意図であると判断してもよく、システムが外部コンピューティングデバイス２５０の設定された近接の範囲内にユーザを検出するとすぐに、処理および／または他の補足的タスク、たとえば終了または中止されたばかりの仮想セッションに関連する処理および／またはタスク、を自動的に起動してもよい。たとえば外部コンピューティングデバイス１５０における特定の手動ユーザ入力なしにこの処理を起動することができる能力は、生産性および有効性を向上させることができ、ユーザエクスペリエンスを向上させることができる。
【００３５】
いくつかの実現例では、システムは、たとえばユーザが物理的空間４００内の特定の要素（たとえば、外部コンピューティングデバイス２５０など）の方へ移動していることを示す、たとえば設定された経路または方向に沿ったユーザの移動を検出してもよい。システムは、物理的空間４００内のユーザの検出された移動方向に基づいて、ユーザがたとえば外部コンピューティングデバイス２５０の方へ移動していると判断してもよい。たとえば、システムは、ユーザが、図７Ａに示される位置Ａから、図７Ｃに示される外部コンピューティングデバイス２５０への事前に設定された近接の範囲内の位置Ｃの方へ、経路に沿って、図７Ｂに示される位置Ｂまでまたは位置Ｂの方へ移動したことを検出してもよい。システムは、この検出されたユーザの移動方向が、ユーザが仮想環境から離れたことを示し、仮想セッションの終了または一時的中止を意図していると判断してもよい。この検出された移動方向に基づいて、たとえば物理的空間４００内のユーザ位置Ｂ（または、システム設定に基づいて物理的空間４００内の別の位置）において、システムは、仮想セッションの終了または一時的中止を検出してもよく、処理および／または他の補足的タスク、たとえば終了または中止されたばかりの仮想セッションに関連する処理および／またはタスク、を自動的に起動してもよい。
【００３６】
いくつかの実現例では、システムは、たとえば図７Ａに示される位置Ａから、図７Ｂに示される位置Ｂおよび／または図７Ｃに示される位置Ｃの方へのユーザの移動を検出してもよい。また、システムは、たとえば位置Ａにおける検出から位置Ｂにおける検出までに経過した時間に基づいて、ユーザがたとえば位置Ａから位置Ｂまで移動する速さを検出してもよく、またはたとえば位置Ａにおける検出から位置Ｃにおける検出までに経過した時間に基づいて、ユーザが位置Ａから位置Ｃまで移動する速さを検出してもよい。システムは、ユーザが移動している速さとともに、物理的空間４００におけるユーザの検出された移動方向に基づいて、ユーザが仮想環境から離れて仮想セッションの終了または一時的中止を意図していることを判断してもよい。たとえば設定された閾値以上の検出された移動速さまたはスピードとともに、たとえばこの検出された移動に基づいて、システムは、仮想セッションの終了または一時的中止を検出してもよく、処理および／または他の補足的タスク、たとえば終了または中止されたばかりの仮想セッションに関連する処理および／またはタスク、を自動的に起動してもよい。
【００３７】
本明細書に記載されている実現例に係るシステムおよび方法では、処理の起動などの補足的タスクの起動は、仮想セッションの終了および／または仮想セッションの一時的中止の検出に応答して引き起こされてもよい。設定されたジェスチャは、図４Ａ〜図４Ｆに関連して上記したように、ＨＭＤ１００が設定された向きにあることを検出したことに応答して検出されてもよい。設定されたジェスチャは、図６Ａ〜図６Ｃに関連して上記したように、ＨＭＤ１００が設定された時間以上にわたって固定された位置にあることを検出したことに応答して検出されてもよい。設定されたジェスチャは、図７Ａ〜図７Ｃに関連して上記したように、設定された方向および／または設定された速度より速い速度および／または外部オブジェクトの設定された近接の範囲内のユーザ移動を検出したことに応答して検出されてもよい。いくつかの実現例では、設定されたジェスチャは、ＨＭＤ１００内の光学追跡装置が、視線外へのＨＭＤ１００の移動および／またはユーザの頭部からのＨＭＤ１００の取り外しに関連付けられたユーザの眼の追跡のロスを検出した場合に検出されてもよい。いくつかの実現例では、設定されたジェスチャは、ＨＭＤ１００の取り外しを示すであろう高さ（たとえば、腰の高さもしくはそれより下方など）、または、アクティブ状態においてある持続時間にわたってＨＭＤ１００が自然には位置決めされないであろう高さに対応するユーザの頭部の上方の垂直距離にＨＭＤ１００があることを検出したことに応答して検出されてもよい。いくつかの実現例では、設定されたジェスチャは、たとえば特定量の回転と組み合わせた上昇動作を含む、ユーザの視線外へのＨＭＤ１００の移動および／またはユーザの頭部からのＨＭＤ１００の取り外しに特有の経路に沿ったＨＭＤ１００の移動の検出に応答して検出されてもよい。これらは、仮想セッションの終了および／または仮想セッションの一時的中止を示すためにシステムによって検出され得て、ひいては後続処理タスク、特に仮想セッション中にユーザが起こすアクションに関連付けられたタスクの起動を自動的に引き起こし得る設定されたジェスチャのいくつかの例に過ぎない。
【００３８】
本明細書に記載されている実現例に係る拡張現実および／またはバーチャルリアリティ環境において仮想セッションの終了を検出する方法８００が図８に示されている。
【００３９】
ユーザは、たとえば上記のＨＭＤ装置を含むシステムなどのコンピューティングデバイスをたとえば使用して拡張現実エクスペリエンスおよび／またはバーチャルリアリティエクスペリエンスを起動して、拡張現実および／またはバーチャルリアリティ環境を生成してもよく、このＨＭＤ装置は、１つ以上の外部装置に動作可能に結合されるかまたは１つ以上の外部装置と対にされてもよい（ブロック８１０）。システムは、たとえば上記のＨＭＤなどのシステムの要素を検出して追跡し、ユーザが仮想環境から離れたことおよび仮想セッションの終了および／または仮想セッションの一時的中止に対応し得るジェスチャを検出してもよい（ブロック８２０）。仮想セッションの終了および／または一時的中止を示す検出されたジェスチャは、図４Ａ〜図４Ｆに関連して詳細に上記したような、設定された閾値時間以上にわたるＨＭＤの実質的に水平な向きの検出を含んでもよい（ブロック８３０）。仮想セッションの終了および／または一時的中止を示す検出されたジェスチャは、図６Ａ〜図６Ｃに関連して上記したような、閾値時間以上にわたっていかなる検出された移動もなしにＨＭＤが固定されたままであったことの検出を含んでもよい（ブロック８４０）。仮想セッションの終了および／または一時的中止を示す検出されたジェスチャは、図７Ａ〜図７Ｃに関連して上記したような、ＨＭＤを着用しているユーザが特定の位置にいることの検出、および／または、ＨＭＤを着用しているユーザの特定の方向への移動および／または設定された閾値速度以上の速度での移動の検出を含んでもよい（ブロック８５０）。設定されたジェスチャ（ブロック８３０，８４０，８５０）のうちの１つ以上に応答して、システムは、仮想セッションの終了または一時的中止を検出してもよく、図５Ａ〜図５Ｃに関連して上記したように、仮想セッションに関連する処理を起動してもよい（ブロック８７０）。プロセスは、現在の拡張現実および／またはバーチャルリアリティエクスペリエンスが終了されたと判断されるまで継続する（ブロック８６０）。
【００４０】
本明細書に記載されている実現例に係るシステムおよび方法では、仮想セッションの終了または仮想セッションの一時的中止は、特定のユーザ入力または介入を伴わない設定されたジェスチャに基づいて検出されてもよい。後続処理および／または補足的タスクは、仮想セッション中のユーザ対話に基づいて、別のユーザ介入または処理を起動するための手動入力なしに、仮想セッションの検出された終了に応答してシステムによって自動的に起動されてもよく、利用可能な時間および計算資源が生産的に利用される。
【００４１】
図９は、本明細書に記載されている技術とともに使用され得るコンピュータデバイス１０００およびモバイルコンピュータデバイス１０５０の一例を示す。コンピューティングデバイス１０００は、プロセッサ１００２と、メモリ１００４と、ストレージデバイス１００６と、メモリ１００４および高速拡張ポート１０１０に接続する高速インターフェイス１００８と、低速バス１０１４およびストレージデバイス１００６に接続する低速インターフェイス１０１２とを含む。コンポーネント１００２，１００４，１００６，１００８，１０１０および１０１２の各々は、さまざまなバスを用いて相互接続され、共通のマザーボード上に搭載される場合もあれば、適宜他の態様で搭載される場合もある。プロセッサ１００２は、コンピューティングデバイス１０００内で実行するために命令を処理し得て、当該命令は、高速インターフェイス１００８に結合されたディスプレイ１０１６などの外部入出力デバイス上にＧＵＩのためのグラフィック情報を表示するための、メモリ１００４内またはストレージデバイス１００６上に格納された命令を含む。他の実現例では、複数のメモリおよび複数タイプのメモリとともに、複数のプロセッサおよび／または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス１０００が接続されてもよく、各デバイスは、（たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【００４２】
メモリ１００４は、コンピューティングデバイス１０００内の情報を格納する。一実現例では、メモリ１００４は、単一の揮発性メモリユニットまたは複数の揮発性メモリユニットである。別の実現例では、メモリ１００４は、単一の不揮発性メモリユニットまたは複数の不揮発性メモリユニットである。また、メモリ１００４は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ読取可能な媒体であってもよい。
【００４３】
ストレージデバイス１００６は、コンピューティングデバイス１０００に大容量ストレージを提供することができる。一実現例では、ストレージデバイス１００６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ読取可能な媒体であってもよく、またはコンピュータ読取可能な媒体を含んでもよい。コンピュータプログラム製品は、情報担体内で有形に実施され得る。コンピュータプログラム製品は、実行されたときに上記の方法などの１つ以上の方法を実行する命令も含んでもよい。情報担体は、メモリ１００４、ストレージデバイス１００６またはメモリオンプロセッサ１００２などのコンピュータまたは機械読取可能な媒体である。
【００４４】
高速コントローラ１００８は、コンピューティングデバイス１０００のための帯域幅を多く使用する動作を管理するのに対して、低速コントローラ１０１２は、帯域幅をそれほど使用しない動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例では、高速コントローラ１００８は、メモリ１００４、ディスプレイ１０１６（たとえば、グラフィックスプロセッサまたは加速装置を介して）、および高速拡張ポート１０１０に結合され、高速拡張ポート１０１０は、さまざまな拡張カード（図示せず）を受け付け得る。当該実現例では、低速コントローラ１０１２は、ストレージデバイス１００６および低速拡張ポート１０１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、ワイヤレスイーサネット）を含み得る低速拡張ポートは、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの１つ以上の入出力デバイスに結合されてもよい。
【００４５】
コンピューティングデバイス１０００は、図に示されるように複数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス１０００は、標準的なサーバ１０２０として実現されてもよく、またはこのようなサーバのグループの状態で複数回実現されてもよい。また、コンピューティングデバイス１０００は、ラックサーバシステム１０２４の一部として実現されてもよい。また、コンピューティングデバイス１０００は、ラップトップコンピュータ１０２２などのパーソナルコンピュータとして実現されてもよい。代替的に、コンピューティングデバイス１０００からのコンポーネントは、デバイス１０５０などのモバイルデバイス（図示せず）内の他のコンポーネントと組み合わせられてもよい。このようなデバイスの各々は、コンピューティングデバイス１０００，１０５０のうちの１つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス１０００，１０５０で構成されてもよい。
【００４６】
コンピューティングデバイス１０５０は、いくつかあるコンポーネントの中で特に、プロセッサ１０５２と、メモリ１０６４と、ディスプレイ１０５４などの入出力デバイスと、通信インターフェイス１０６６と、送受信機１０６８とを含む。デバイス１０５０は、さらなるストレージを提供するためにマイクロドライブまたは他のデバイスなどのストレージデバイスも備えていてもよい。コンポーネント１０５０，１０５２，１０６４，１０５４，１０６６および１０６８の各々は、さまざまなバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に搭載される場合もあれば、適宜他の態様で搭載される場合もある。
【００４７】
プロセッサ１０５２は、メモリ１０６４に格納された命令を含む命令をコンピューティングデバイス１０５０内で実行することができる。プロセッサは、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス１０５０によって実行されるアプリケーション、およびデバイス１０５０による無線通信などの、デバイス１０５０の他のコンポーネントの連携を提供してもよい。
【００４８】
プロセッサ１０５２は、ディスプレイ１０５４に結合された制御インターフェイス１０５８およびディスプレイインターフェイス１０５６を介してユーザと通信し得る。ディスプレイ１０５４は、たとえばＴＦＴ  ＬＣＤ（Thin-Film-Transistor Liquid Crystal Display：薄膜トランジスタ液晶ディスプレイ）もしくはＯＬＥＤ（Organic Light Emitting Diode：有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス１０５６は、ディスプレイ１０５４を駆動してグラフィック情報および他の情報をユーザに提示するための適切な回路を備え得る。制御インターフェイス１０５８は、ユーザからコマンドを受信し、当該コマンドを変換してプロセッサ１０５２に送信し得る。また、デバイス１０５０と他のデバイスとの近接エリア通信を可能にするために、外部インターフェイス１０６２がプロセッサ１０５２と通信するように設けられてもよい。外部インターフェイス１０６２は、たとえば、いくつかの実現例では有線通信を提供してもよく、または他の実現例では無線通信を提供してもよく、複数のインターフェイスも使用してもよい。
【００４９】
メモリ１０６４は、コンピューティングデバイス１０５０内の情報を格納する。メモリ１０６４は、コンピュータ読取可能な媒体、揮発性メモリユニットまたは不揮発性メモリユニットのうちの１つ以上として実現されてもよい。また、拡張メモリ１０７４が設けられて、拡張インターフェイス１０７２を介してデバイス１０５０に接続されてもよく、拡張インターフェイス５７２は、たとえばＳＩＭＭ（Single In Line Memory Module：シングル・インライン・メモリ・モジュール）カードインターフェイスを含み得る。このような拡張メモリ１０７４は、デバイス１０５０に対して追加の記憶領域を提供してもよく、またはデバイス１０５０のためにアプリケーションもしくは他の情報を格納してもよい。具体的には、拡張メモリ１０７４は、上記のプロセスを実行または補完するための命令を含んでもよく、セキュリティ保護された情報も含んでもよい。したがって、たとえば、拡張メモリ１０７４は、デバイス１０５０のためのセキュリティモジュールとして提供されてもよく、デバイス１０５０の安全な使用を可能にする命令でプログラムされてもよい。また、ハッキングできない態様でＳＩＭＭカードに識別情報を載せるなど、追加情報とともに、セキュリティ保護されたアプリケーションがＳＩＭＭカードを介して提供されてもよい。
【００５０】
以下に記載するように、メモリは、たとえばフラッシュメモリおよび／またはＮＶＲＡＭメモリを含んでもよい。一実現例では、コンピュータプログラム製品は、情報担体内で有形に実施される。コンピュータプログラム製品は、実行されたときに上記の方法などの１つ以上の方法を実行する命令を含む。情報担体は、たとえば送受信機１０６８または外部インターフェイス１０６２の上方に受けられ得るメモリ１０６４、拡張メモリ１０７４またはメモリオンプロセッサ１０５２などのコンピュータまたは機械読取可能な媒体である。
【００５１】
デバイス１０５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス１０６６を介して無線通信してもよい。通信インターフェイス１０６６は、とりわけＧＳＭ（登録商標）音声電話、ＳＭＳ、ＥＭＳもしくはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００またはＧＰＲＳなどのさまざまなモードまたはプロトコルの下での通信を提供し得る。このような通信は、たとえば無線周波数送受信機１０６８を介して行われてもよい。また、ブルートゥース、Ｗｉ−Ｆｉまたは他のこのような送受信機（図示せず）などを用いて狭域通信が行われてもよい。また、ＧＰＳ（グローバルポジショニングシステム）受信機モジュール１０７０は、さらなるナビゲーションおよび位置関連の無線データをデバイス１０５０に提供し得て、当該データは、デバイス１０５０上で実行されるアプリケーションによって適宜使用され得る。
【００５２】
また、デバイス１０５０は、音声コーデック１０６０を用いて可聴に通信してもよく、音声コーデック１０６０は、音声情報をユーザから受信し、当該音声情報を使用可能なデジタル情報に変換し得る。さらに、音声コーデック１０６０は、話者を介するなどして、たとえばデバイス１０５０の受話器においてユーザのために可聴音を生成し得る。このような音は、音声電話からの音声を含んでもよく、記録された音（たとえば、音声メッセージ、音楽ファイルなど）を含んでもよく、デバイス１０５０上で動作するアプリケーションによって生成された音も含んでもよい。
【００５３】
コンピューティングデバイス１０５０は、図に示されるように複数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス１０５０は、携帯電話１０８０として実現されてもよい。また、コンピューティングデバイス１０５０は、スマートフォン１０８２、パーソナルデジタルアシスタントまたは他の同様のモバイルデバイスの一部として実現されてもよい。
【００５４】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／または、それらの組み合わせで実現されてもよい。これらのさまざまな実現例は、プログラム可能なシステム上で実行可能および／または解釈可能である１つ以上のコンピュータプログラムでの実現例を含み得て、当該プログラム可能なシステムは、少なくとも１つのプログラム可能なプロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含み、当該少なくとも１つのプログラム可能なプロセッサは、ストレージシステムとデータおよび命令を送受信するように結合された特殊目的または汎用プロセッサであってもよい。
【００５５】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラム可能なプロセッサのための機械命令を含み、高水準手続き型および／もしくはオブジェクト指向プログラミング言語で実現されてもよく、ならびに／またはアセンブリ／機械言語で実現されてもよい。本明細書で使用される「機械読取可能な媒体」「コンピュータ読取可能な媒体」という用語は、機械読取可能な信号として機械命令を受信する機械読取可能な媒体を含む、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および／またはデバイス（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ））を指す。「機械読取可能な信号」という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を指す。
【００５６】
ユーザとの対話を提供するために、本明細書に記載されているシステムおよび技術は、コンピュータ上で実現されてもよく、当該コンピュータは、ユーザに対して情報を表示するためのディスプレイデバイス（たとえば、ＣＲＴ（cathode ray tube：陰極線管）またはＬＣＤ（liquid crystal display：液晶ディスプレイ）モニタ）と、キーボードと、ユーザが入力をコンピュータに提供することができるポインティングデバイス（たとえば、マウスまたはトラックボール）とを有する。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック）であってもよく、ユーザからの入力は、音響入力、音声入力または触知可能入力を含む任意の形態で受信されてもよい。
【００５７】
本明細書に記載されているシステムおよび技術は、バックエンドコンポーネント（たとえば、データサーバ）を含むコンピューティングシステムで実現されてもよく、またはミドルウェアコンポーネント（たとえば、アプリケーションサーバ）を含むコンピューティングシステムで実現されてもよく、またはフロントエンドコンポーネント（たとえば、ユーザが本明細書に記載されているシステムおよび技術の実現例と対話することができるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ）を含むコンピューティングシステムで実現されてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実現されてもよい。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体（たとえば、通信ネットワーク）によって相互接続されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットが挙げられる。
【００５８】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に互いに離れており、通常は通信ネットワークを介して対話する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有することによって生じる。
【００５９】
いくつかの実現例では、図９に示されるコンピューティングデバイスは、バーチャルリアリティに接続されるセンサ（ＶＲヘッドセット／ＨＭＤ装置１０９０）を含んでもよい。たとえば、図９に示されるコンピューティングデバイス１０５０または他のコンピューティングデバイス上に含まれる１つ以上のセンサは、ＶＲヘッドセット１０９０に入力を提供してもよく、または一般に、ＶＲ空間に入力を提供してもよい。これらのセンサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、バイオメトリックセンサ、温度センサ、湿度センサおよび周囲光センサを含み得るが、これらに限定されるものではない。コンピューティングデバイス１０５０は、これらのセンサを使用して、ＶＲ空間におけるコンピューティングデバイスの絶対位置および／または検出された回転を判断してもよく、絶対位置および／または回転は、その後、ＶＲ空間への入力として使用されてもよい。たとえば、コンピューティングデバイス１０５０は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてＶＲ空間に組み込まれてもよい。ＶＲ空間に組み込まれる場合のユーザによるコンピューティングデバイス／仮想オブジェクトの位置決めにより、ユーザは、ＶＲ空間内で仮想オブジェクトが特定の態様で見られるようにコンピューティングデバイスを位置決めすることができる。たとえば、仮想オブジェクトがレーザポインタに相当する場合、ユーザは、まるでそれが実際のレーザポインタであるかのようにコンピューティングデバイスを操作することができる。ユーザは、コンピューティングデバイスを左右、上下、円の形などに移動させて、レーザポインタを使用するのと同様の態様でデバイスを使用することができる。
【００６０】
いくつかの実現例では、コンピューティングデバイス１０５０上に含まれるかまたはコンピューティングデバイス１０５０に接続される１つ以上の入力デバイスがＶＲ空間への入力として使用されてもよい。入力デバイスは、タッチスクリーン、キーボード、１つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロフォン、入力機能を有するイヤホンもしくはバッド、ゲームコントローラ、または他の接続可能な入力デバイスを含み得るが、これらに限定されるものではない。コンピューティングデバイスがＶＲ空間に組み込まれる場合にコンピューティングデバイス１０５０上に含まれる入力デバイスと対話するユーザは、ＶＲ空間において特定のアクションを生じさせることができる。
【００６１】
いくつかの実現例では、コンピューティングデバイス１０５０のタッチスクリーンは、ＶＲ空間においてタッチパッドとして描写されてもよい。ユーザは、コンピューティングデバイス１０５０のタッチスクリーンと対話することができる。対話は、たとえばＶＲヘッドセット１０９０においては、ＶＲ空間における描写されたタッチパッド上での移動として描写される。描写された移動は、ＶＲ空間における仮想オブジェクトを制御することができる。
【００６２】
いくつかの実現例では、コンピューティングデバイス１０５０上に含まれる１つ以上の出力デバイスは、ＶＲ空間におけるＶＲヘッドセット１０９０のユーザに出力および／またはフィードバックを提供してもよい。この出力およびフィードバックは、視覚的なもの、戦術的なもの、または音声によるものであってもよい。この出力および／またはフィードバックは、振動、１つ以上のライトもしくはストロボをオンおよびオフにすることもしくは点滅および／もしくは明滅させること、警報を鳴らすこと、チャイムを鳴らすこと、曲を流すこと、および音声ファイルの再生を含み得るが、これらに限定されるものではない。出力デバイスは、振動モータ、振動コイル、圧電装置、静電装置、発光ダイオード（ＬＥＤ）、ストロボおよびスピーカを含み得るが、これらに限定されるものではない。
【００６３】
いくつかの実現例では、コンピューティングデバイス１０５０は、コンピュータによって生成された３Ｄ環境における別のオブジェクトとして現れてもよい。ユーザとコンピューティングデバイス１０５０との対話（たとえば、タッチスクリーンを回転させること、タッチスクリーンを揺さぶること、タッチスクリーンに触れること、タッチスクリーン上で指をスワイプすること）は、ＶＲ空間におけるオブジェクトとの対話であると解釈することができる。ＶＲ空間におけるレーザポインタの例では、コンピューティングデバイス１０５０は、コンピュータによって生成された３Ｄ環境における仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス１０５０を操作すると、ＶＲ空間内のユーザは、レーザポインタが動くのを見る。ユーザは、ＶＲ環境でのコンピューティングデバイス１０５０との対話からのフィードバックをコンピューティングデバイス１０５０またはＶＲヘッドセット１０９０で受信する。
【００６４】
いくつかの実現例では、コンピューティングデバイス１０５０は、タッチスクリーンを含んでもよい。たとえば、ユーザは、タッチスクリーン上で起こることとＶＲ空間で起こることとを似せることができる特定の態様でタッチスクリーンと対話することができる。たとえば、ユーザは、ピンチタイプ動作を使用して、タッチスクリーン上に表示されたコンテンツを拡大／縮小してもよい。タッチスクリーン上でのこのピンチタイプ動作は、ＶＲ空間において提供される情報を拡大／縮小させることができる。別の例では、コンピューティングデバイスは、コンピュータによって生成された３Ｄ環境における仮想書籍として描写されてもよい。ＶＲ空間において、書籍のページがＶＲ空間に表示されてもよく、タッチスクリーン上でユーザの指をスワイプすることは、仮想書籍のページをめくる／さっとめくることであると解釈することができる。各ページがめくられる／さっとめくられると、ページコンテンツの変化を見ることに加えて、ユーザは、書籍のページをめくる音などの音声フィードバックを提供されてもよい。
【００６５】
いくつかの実現例では、コンピューティングデバイス（たとえば、マウス、キーボード）に加えて、１つ以上の入力デバイスが、コンピュータによって生成された３Ｄ環境内に描写されてもよい。描写された入力デバイス（たとえば、描写されたマウス、描写されたキーボード）は、ＶＲ空間内に描写されたとおりに使用されて、ＶＲ空間におけるオブジェクトを制御することができる。
【００６６】
コンピューティングデバイス１０００は、さまざまな形態のデジタルコンピュータおよびデバイスを表すよう意図されており、これらのデジタルコンピュータおよびデバイスは、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含むが、これらに限定されるものではない。コンピューティングデバイス１０５０は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すよう意図されている。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載および／またはクレームされている発明の実現例を限定することを意図したものではない。
【００６７】
以下の例には、さらなる実現例が記載されている。
例１：方法であって、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、仮想セッションを起動して、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、上記周囲環境における上記ＨＭＤの位置または向きのうちの少なくとも１つを検出するステップと、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップと、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出するステップと、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動するステップとを備える、方法。
【００６８】
例２：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの向きを検出するステップと、上記ＨＭＤの上記検出された向きと設定された向きとを比較するステップと、上記比較に基づいて、設定された時間以上にわたって上記ＨＭＤの上記検出された向きが上記ＨＭＤの上記予め設定された向きと一致すると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含む、例１に記載の方法。
【００６９】
例３：上記ＨＭＤの上記設定された向きは、上記ユーザが着用する上記ＨＭＤの中心線の水平位置合わせに対応する、例２に記載の方法。
【００７０】
例４：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの上記位置および上記向きを検出するステップと、上記ＨＭＤの上記位置および向きに基づいて、設定された時間以上にわたって上記ＨＭＤが静止したままであると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含む、例１〜３のいずれかに記載の方法。
【００７１】
例５：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの上記位置を検出するステップと、上記ＨＭＤの上記位置に基づいて、上記ＨＭＤが上記周囲環境におけるコンピューティングデバイスの予め設定された距離以下のところに位置決めされていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含み、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例１〜４のいずれかに記載の方法。
【００７２】
例６：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの上記位置を検出するステップと、上記ＨＭＤの上記位置に基づいて上記ＨＭＤの移動経路を検出するステップと、上記ＨＭＤの上記移動経路に基づいて、上記ＨＭＤの上記移動経路が上記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含み、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例１〜５のいずれかに記載の方法。
【００７３】
例７：上記ＨＭＤの上記位置に基づいて上記ＨＭＤの移動経路を検出するステップは、上記ＨＭＤの移動方向を検出するステップと、上記ＨＭＤの移動速度を検出するステップと、上記検出された移動方向における上記ＨＭＤの上記移動速度が設定された速度以上である場合に、上記仮想セッションの上記終了に対応する上記ジェスチャ入力を検出するステップとを含む、例６に記載の方法。
【００７４】
例８：上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動するステップは、上記周囲環境におけるコンピューティングデバイスにおいて、ユーザ入力なしに処理を自動的に起動するステップを含み、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例１〜７のいずれかに記載の方法。
【００７５】
例９：システムであって、
バーチャルリアリティ環境を生成するように構成されたコンピューティングデバイスを備え、上記コンピューティングデバイスは、実行可能な命令を格納するメモリと、上記命令を実行するように構成されたプロセッサとを含み、上記命令は、上記コンピューティングデバイスに、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成させ、仮想セッションを起動させて、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信させ、上記周囲環境における上記ＨＭＤの位置または向きのうちの少なくとも１つを検出させ、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出させ、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出させ、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動させる、システム。
【００７６】
例１０：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出する際に、上記命令は、上記コンピューティングデバイスに、上記ＨＭＤの向きを検出させ、上記ＨＭＤの上記検出された向きと設定された向きとを比較させ、上記比較に基づいて、設定された時間以上にわたって上記ＨＭＤの上記検出された向きが上記ＨＭＤの上記設定された向きと一致すると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出させる、例９に記載のシステム。
【００７７】
例１１：上記ＨＭＤの上記設定された向きは、上記ユーザが着用する上記ＨＭＤの中心線の水平位置合わせに対応する、例１０に記載のシステム。
【００７８】
例１２：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出する際に、上記命令は、上記コンピューティングデバイスに、上記ＨＭＤの上記位置および上記向きを検出させ、上記ＨＭＤの上記位置および向きに基づいて、設定された時間以上にわたって上記ＨＭＤが静止したままであると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出させる、例９〜１１のいずれかに記載のシステム。
【００７９】
例１３：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出する際に、上記命令は、上記コンピューティングデバイスに、上記ＨＭＤの上記位置を検出させ、上記ＨＭＤの上記位置に基づいて、上記ＨＭＤが上記周囲環境におけるコンピューティングデバイスの設定された距離以下のところに位置決めされていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出させ、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例９〜１２のいずれかに記載のシステム。
【００８０】
例１４：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出する際に、上記命令は、上記コンピューティングデバイスに、上記ＨＭＤの上記位置を検出させ、上記ＨＭＤの上記位置に基づいて上記ＨＭＤの移動経路を検出させ、上記ＨＭＤの上記検出された移動経路に基づいて、上記ＨＭＤの上記検出された移動経路が上記周囲環境におけるコンピューティングデバイスと位置合わせされていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出させ、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例９〜１３のいずれかに記載のシステム。
【００８１】
例１５：上記ＨＭＤの上記位置に基づいて上記ＨＭＤの移動経路を検出する際に、上記命令は、上記コンピューティングデバイスに、上記ＨＭＤの移動方向を検出させ、上記ＨＭＤの移動速度を検出させ、上記検出された移動方向における上記ＨＭＤの上記移動速度が設定された速度以上である場合に、上記仮想セッションの上記終了に対応する上記ジェスチャ入力を検出させる、例１４に記載の方法。
【００８２】
例１６：上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を起動する際に、上記命令は、上記コンピューティングデバイスに、上記周囲環境におけるコンピューティングデバイスにおいて、ユーザ入力なしに処理を自動的に起動させ、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、例９〜１５のいずれかに記載のシステム。
【００８３】
例１７：非一時的なコンピュータ読取可能媒体上で具体化されるコンピュータプログラム製品であって、上記コンピュータ読取可能媒体は、一連の命令を格納し、上記一連の命令は、プロセッサによって実行されると、上記プロセッサに方法を実行させ、上記方法は、周囲環境において動作するヘッドマウントディスプレイ（ＨＭＤ）装置内に仮想環境を生成するステップと、仮想セッションを起動して、上記仮想セッションがアクティブ状態にある間に、上記仮想環境において少なくとも１つの対応するコマンドを実行するための少なくとも１つのユーザ入力を受信するステップと、上記周囲環境における上記ＨＭＤの位置および向きを検出するステップと、上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップと、上記ジェスチャ入力の上記検出に基づいて上記仮想セッションの終了を検出するステップと、上記仮想セッションの上記検出された終了に応答して、上記アクティブ状態にある間に、上記仮想セッション中に受信された上記少なくとも１つのユーザ入力に関連する処理を、上記周囲環境におけるコンピューティングデバイスにおいて自動的に起動するステップとを備え、上記コンピューティングデバイスは、上記ＨＭＤに動作可能に結合され、上記ＨＭＤの外部にある、コンピュータプログラム製品。
【００８４】
例１８：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの向きを検出するステップと、上記ＨＭＤの上記検出された向きと設定された向きとを比較するステップと、上記ＨＭＤの上記検出された向きに基づいて、設定された時間以上にわたって上記ＨＭＤが実質的に水平に向けられていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含む、例１７に記載のコンピュータプログラム製品。
【００８５】
例１９：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの上記位置および上記向きを検出するステップと、上記ＨＭＤの上記位置および向きに基づいて、設定された時間以上にわたって上記ＨＭＤが静止したままであると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含む、例１７または１８に記載のコンピュータプログラム製品。
【００８６】
例２０：上記周囲環境における上記ＨＭＤの上記位置または上記向きのうちの上記少なくとも１つに基づいてジェスチャ入力を検出するステップは、上記ＨＭＤの上記位置を検出するステップと、上記ＨＭＤの上記検出され追跡された位置に基づいて、上記ＨＭＤが上記コンピューティングデバイスの設定された距離以下のところに位置決めされていると判断された場合に、上記仮想セッションの上記終了の上記検出に対応する上記ジェスチャ入力を検出するステップとを含む、例１７〜１９のいずれかに記載のコンピュータプログラム製品。
【００８７】
別の例では、拡張現実および／またはバーチャルリアリティシステムにおいて、仮想セッションの終了および／または仮想セッションの中止は、ヘッドマウントディスプレイ装置の位置および／または向き、ならびに／または、ユーザが着用しているヘッドマウントディスプレイ装置の移動および位置／向きの検出に基づいて検出されてもよく、終了されたばかりの仮想セッションに関連付けられた後続処理および／または補足的タスクは、仮想セッションの終了および／または中止の検出に応答して、ユーザ介入および／または処理を起動するようにシステムに指示するコマンドの手動入力なしに、自動的に起動されてもよい。
【００８８】
いくつかの実施形態について説明してきた。しかし、本明細書の精神および範囲から逸脱することなくさまざまな変更がなされてもよいということが理解されるであろう。
【００８９】
また、図面に示される論理フローは、望ましい結果を達成するために、示されている特定の順序またはシーケンシャルな順序を必要としない。また、記載されているフローに他のステップが設けられてもよく、または記載されているフローからステップが削除されてもよく、記載されているシステムに他の構成要素が追加されてもよく、または記載されているシステムから構成要素が除去されてもよい。したがって、他の実施形態も以下の特許請求の範囲の範囲内である。
【００９０】
記載されている実現例の特定の特徴について、本明細書に記載されているように説明してきたが、多くの変形、置換、変更および等価物が当業者に想起されるであろう。したがって、添付の特許請求の範囲は、実現例の範囲内に入る全てのこのような変形および変更を包含するよう意図されているということが理解されるべきである。それらは限定としてではなく単に一例として提示されており、形態および詳細のさまざまな変更がなされてもよいということが理解されるべきである。本明細書に記載されている装置および／または方法のいずれの部分も、相互排他的な組み合わせを除いて、いかなる組み合わせで組み合わせられてもよい。本明細書に記載されている実現例は、記載されているさまざまな実現例の機能、構成要素および／または特徴のさまざまな組み合わせおよび／または下位組み合わせを含み得る。
【図１】
0006872613.tif 000002
【図２Ａ】
0006872613.tif 000003
【図２Ｂ】
0006872613.tif 000004
【図３】
0006872613.tif 000005
【図４Ａ】
0006872613.tif 000006
【図４Ｂ】
0006872613.tif 000007
【図４Ｃ】
0006872613.tif 000008
【図４Ｄ】
0006872613.tif 000009
【図４Ｅ】
0006872613.tif 000010
【図４Ｆ】
0006872613.tif 000011
【図５Ａ】
0006872613.tif 000012
【図５Ｂ】
0006872613.tif 000013
【図５Ｃ】
0006872613.tif 000014
【図６Ａ】
0006872613.tif 000015
【図６Ｂ】
0006872613.tif 000016
【図６Ｃ】
0006872613.tif 000017
【図７Ａ】
0006872613.tif 000018
【図７Ｂ】
0006872613.tif 000019
【図７Ｃ】
0006872613.tif 000020
【図８】
0006872613.tif 000021
【図９】
0006872613.tif 000022