(57)【要約】【課題】複数のユーザが参加するゲームにおいて、ユーザの意図しないゲームからの離脱を抑制するための新規な手法を提供する。【解決手段】本開示の実施形態によるプログラムは、複数のユーザが参加するゲームにおける仮想体験を画像表示装置を介してユーザに提供するためのコンピュータに、仮想体験を提供するための仮想空間を定義するステップと、画像表示装置を介して仮想空間をユーザに提供するステップと、ユーザの頭部に関連付けられた画像表示装置をユーザが取り外す取り外し動作を検出するステップと、取り外し動作が検出された場合に、ユーザにゲームへの復帰に関する入力を促す出力を生成するステップと、を実行させる。【選択図】図１１
2020064652.tif 000002
【特許請求の範囲】
【請求項１】
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータに、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと、
を実行させるプログラム。
【請求項２】
前記取り外し動作を検出するステップは、
前記第１ユーザの頭部に含まれる第１部位を検出するステップと、
前記第１部位を検出できないとき、前記取り外し動作が行われたと判定するステップと
を含む、請求項１に記載のプログラム。
【請求項３】
前記取り外し動作を検出するステップは、
前記画像表示装置を追跡するステップと、
前記画像表示装置が静止したとき、又は前記画像表示装置が所定の軌道を動いたとき、前記取り外し動作が行われたと判定するステップと
を含む、請求項１に記載のプログラム。
【請求項４】
前記取り外し動作を検出するステップは、
前記第１ユーザにより使用される操作デバイスを追跡するステップと、
前記操作デバイスが静止したとき、又は前記操作デバイスと前記画像表示装置との間の位置関係が所定の条件を満たしたとき、前記取り外し動作が行われたと判定するステップと
を含む、請求項１に記載のプログラム。
【請求項５】
前記コンピュータに、
前記仮想体験を終了する入力を受け付けるステップと、
前記仮想体験を終了する入力が受け付けられたことに応じて、前記第１ユーザを前記仮想体験から正常に離脱させるステップと、
を実行させる、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記コンピュータに、
前記仮想体験を終了しない入力を受け付けるステップと、
前記仮想体験を終了しない入力が受け付けられたことに応じて、前記第１ユーザを前記仮想体験に復帰させるステップと、
を実行させる、請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
前記コンピュータに、
前記仮想体験を終了する入力及び前記仮想体験を終了しない入力のいずれも受け付けられなかったことに応じて、前記第１ユーザが前記仮想体験から不正離脱したと判定するステップ
を実行させる、請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
前記ＵＩは、前記第１ユーザが前記仮想体験への復帰及び正常離脱のいずれも行わない場合に前記第１ユーザが前記仮想体験から不正離脱したとみなされる旨の警告を含む、請
求項１から７のいずれか１項に記載のプログラム。
【請求項９】
前記取り外し動作が検出された場合に、前記画像表示装置に関連付けられる音声出力装置及び画像出力装置のうちの少なくとも１つに、前記仮想体験からの正常離脱を促す出力を行わせるステップ
を含む、請求項１から８のいずれか１項に記載のプログラム。
【請求項１０】
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータであって、
前記コンピュータが備えるプロセッサによる制御により、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
が実行される、コンピュータ。
【請求項１１】
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するための、コンピュータにより実行される方法であって、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像表示装置を介して仮想体験をユーザに提供するためのプログラム、コンピュータ及び方法に関する。より具体的には、本開示は、ゲームにおけるユーザの離脱に関わる処理を実行するためのプログラム、コンピュータ及び方法に関する。
【背景技術】
【０００２】
特許文献１には、複数のユーザが参加するゲームにおいて、ゲームに参加した各ユーザが、ゲームに参加した他のユーザのゲーム中のマナーを評価する手法が開示されている。尚、特許文献１に記載されたゲームは、仮想現実（ＶＲ：Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）技術が適用されたゲームではない。特許文献１の手法によると、各ユーザは、自身に対するマナー評価結果に基づいて、ゲームへの参加が制限されたり、ゲームにおいて不利益を受けたりする。
【０００３】
特許文献１の手法は、ユーザのゲーム参加を制限したり不利益を与えたりすることで、不正離脱のようなマナーの悪い行為をユーザが行うのを間接的に抑制するものである。ここで、「不正離脱」とは、ゲームの状況がユーザにとって不利な状況になった場合などにそのユーザがゲームを途中で終了させるべく、ゲーム端末の通信接続を切断したり、ゲームのホーム画面に戻ったりすることをいう。
【０００４】
特許文献１の手法では、あるユーザが不正離脱した場合に、他のユーザは、この不正離脱が意図的なものか否かを判別することができない。従って、意図的な不正離脱も意図的でない不正離脱も同じマナー評価を受ける。この場合、意図せぬ不正離脱、例えばゲームに習熟していないユーザの意図せぬ不正離脱を、ゲーム参加の制限や不利益を与えることなく抑制することができない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５６７９２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、複数のユーザが参加する仮想空間での仮想体験において、ユーザの不正離脱を抑制するための新規な手法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一実施形態によれば、第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータに、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと、
を実行させるプログラムが提供される。
【０００８】
本開示の別の実施形態によれば、第１ユーザの頭部に関連付けられた画像表示装置を介
して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータであって、
前記コンピュータが備えるプロセッサによる制御により、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
が実行される、コンピュータが提供される。
【０００９】
本開示の別の実施形態によれば、第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するための、コンピュータにより実行される方法であって、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
を含む、方法が提供される。
【発明の効果】
【００１０】
本開示の実施形態により、複数のユーザがプレイに関与するゲームにおいてユーザの意図しないゲームからの離脱を抑制するための新規な手法を提供することができる。
【００１１】
本開示のその他の特徴及び利点は、後述する実施形態の説明、添付の図面及び特許請求の範囲の記載から明らかなものとなる。
【図面の簡単な説明】
【００１２】
【図１】ＨＭＤシステムの構成を概略的に示す図である。
【図２】本開示の一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態に従う、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態に従う、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態に従う、ＨＭＤを装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視認領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視認領域をｙ方向から見たｘｚ断面を表す図である。
【図８Ａ】一実施形態に従う、コントローラの概略構成を表す図である。
【図８Ｂ】一実施形態に従う、コントローラの概略構成を表す図である。
【図９】本開示の一実施形態による、ＨＭＤシステムを介してユーザに仮想体験を提供するための、ゲーム離脱制御機能を含むコンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態による方法のフローチャートである。
【図１２】ユーザＡ及びユーザＢがオンラインマッチプレイをしているときの状況を示す概略図である。
【図１３】ユーザＡが、装着しているＨＭＤ又は手に持っているコントローラを近くの机の上に置くときの様子を概略的に説明する図である。
【図１４】ＨＭＤを取り外すときのＨＭＤの動きの軌跡を利用した取り外し動作検知の様子を概略的に説明する図である。
【図１５】ＨＭＤに設けられた着脱センサを用いてＨＭＤ取り外し動作検知を行う様子を概略的に説明する図である。
【図１６】ＨＭＤ等の位置に基づいて取り外し動作を検知するときの様子を概略的に説明する図である。
【図１７Ａ】ＨＭＤ等の動き及び位置の双方に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図１７Ｂ】ＨＭＤ等の動き及び位置の双方に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図１８Ａ】ユーザの目に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図１８Ｂ】ユーザの目に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図１９Ａ】ＨＭＤとコントローラとの間の位置関係に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図１９Ｂ】ＨＭＤとコントローラとの間の位置関係に基づいて取り外し動作検知を行うときの様子を概略的に説明する図である。
【図２０】ＨＭＤ１１０の表示部１１２に表示される、ユーザ・インターフェースとして提供されるアラートの一例を示す図である。
【図２１】追加のアラートを提供するいくつかの方法を示す概略図である。
【発明を実施するための形態】
【００１３】
［本開示の実施形態の説明］
はじめに、本開示の例示的な実施形態の構成を列記して説明する。本開示の実施形態による方法、プログラム及びコンピュータは、以下のような構成を備えてもよい。
【００１４】
（項目１）
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータに、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと、
を実行させるプログラム。
【００１５】
（項目２）
前記取り外し動作を検出するステップは、
前記第１ユーザの頭部に含まれる第１部位を検出するステップと、
前記第１部位を検出できないとき、前記取り外し動作が行われたと判定するステップと
を含む、項目１に記載のプログラム。
【００１６】
（項目３）
前記取り外し動作を検出するステップは、
前記画像表示装置を追跡するステップと、
前記画像表示装置が静止したとき、又は前記画像表示装置が所定の軌道を動いたとき、前記取り外し動作が行われたと判定するステップと
を含む、項目１に記載のプログラム。
【００１７】
（項目４）
前記取り外し動作を検出するステップは、
前記第１ユーザにより使用される操作デバイスを追跡するステップと、
前記操作デバイスが静止したとき、又は前記操作デバイスと前記画像表示装置との間の位置関係が所定の条件を満たしたとき、前記取り外し動作が行われたと判定するステップと
を含む、項目１に記載のプログラム。
【００１８】
（項目５）
前記コンピュータに、
前記仮想体験を終了する入力を受け付けるステップと、
前記仮想体験を終了する入力が受け付けられたことに応じて、前記第１ユーザを前記仮想体験から正常に離脱させるステップと、
を実行させる、項目１から４のいずれか１項に記載のプログラム。
【００１９】
（項目６）
前記コンピュータに、
前記仮想体験を終了しない入力を受け付けるステップと、
前記仮想体験を終了しない入力が受け付けられたことに応じて、前記第１ユーザを前記仮想体験に復帰させるステップと、
を実行させる、項目１から５のいずれか１項に記載のプログラム。
【００２０】
（項目７）
前記コンピュータに、
前記仮想体験を終了する入力及び前記仮想体験を終了しない入力のいずれも受け付けられなかったことに応じて、前記第１ユーザが前記仮想体験から不正離脱したと判定するステップ
を実行させる、項目１から６のいずれか１項に記載のプログラム。
【００２１】
（項目８）
前記ＵＩは、前記第１ユーザが前記仮想体験への復帰及び正常離脱のいずれも行わない場合に前記第１ユーザが前記仮想体験から不正離脱したとみなされる旨の警告を含む、項目１から７のいずれか１項に記載のプログラム。
【００２２】
（項目９）
前記取り外し動作が検出された場合に、前記画像表示装置に関連付けられる音声出力装置及び画像出力装置のうちの少なくとも１つに、前記仮想体験からの正常離脱を促す出力を行わせるステップ
を含む、項目１から８のいずれか１項に記載のプログラム。
【００２３】
（項目１０）
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するためのコンピュータであって、
前記コンピュータが備えるプロセッサによる制御により、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
が実行される、コンピュータ。
【００２４】
（項目１１）
第１ユーザの頭部に関連付けられた画像表示装置を介して、前記第１ユーザを含む複数のユーザが参加する仮想空間での仮想体験を前記第１ユーザに提供するための、コンピュータにより実行される方法であって、
前記仮想空間を定義するステップと、
前記画像表示装置を介して前記仮想空間を前記第１ユーザに提供するステップと、
前記画像表示装置を前記第１ユーザが取り外す取り外し動作を検出するステップと、
前記取り外し動作が検出された場合に、前記仮想体験を終了するか否かの入力を促すＵＩ（User Interface）を前記画像表示装置に出力させるステップと
を含む、方法。
【００２５】
［本開示の実施形態の詳細］
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同様の要素には同様の符号を付してある。それらの名称及び機能も同様である。このような要素については重複する説明が省略される。
【００２６】
図１を参照して、画像表示装置システム１００の構成について説明する。以下では、画像表示装置の一例としてヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：ＨＭＤ）が用いられるシステムについて具体的に説明する。しかし、ＨＭＤだけでなく、ユーザに仮想体験を提供するための様々な装置を本開示の実施形態に適用することができることが当業者に理解されよう。
【００２７】
図１は、システム１００の構成を概略的に示す。一例では、システム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００２８】
システム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００２９】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００３０】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３１】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００３２】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００３３】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３４】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３５】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【００３６】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００３７】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００３８】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コント
ローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００３９】
ある態様において、モーションセンサ１３０は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ１３０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ１３０は、例えば、手袋型のコントローラ１６０Ａに設けられる。ある実施形態において、現実空間における安全のため、コントローラ１６０Ａは、手袋型のようにユーザ１９０の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、複数の操作ボタンを有する一般的な構造のコントローラ１６０Ｂが用いられてもよい。別の態様において、ユーザ１９０に装着されないセンサがユーザ１９０の手の動きを検出してもよい。ユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。モーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００４０】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００４１】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００４２】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、システム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４３】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置と
して実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４４】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４５】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００４６】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００４７】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００４８】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００４９】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００５０】
ある実施形態において、システム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５１】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００５２】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５３】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５４】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５５】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００５６】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００５７】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００５８】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００５９】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００６０】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００６１】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００６２】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６３】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視界領域４１０を規定する。視界領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６４】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６５】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００６６】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００６７】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視界領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００６８】
別の態様において、システム１００は、システム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００６９】
また、別の態様において、システム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、システム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００７０】
さらに別の態様において、システム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００７１】
図６及び図７を参照して、視界領域４１０について説明する。図６は、仮想空間４００において視界領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視界領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００７２】
図６に示されるように、ｙｚ断面における視界領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７３】
図７に示されるように、ｘｚ断面における視界領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面と
によって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７４】
ある態様において、システム１００は、コンピュータ２００からの信号に基づいて、視界画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視界画像は、仮想空間画像４０２のうち視界領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視界領域４１０の位置が変化する。これにより、表示部１１２に表示される視界画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視界領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７５】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００７６】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、システム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００７７】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視界領域４１０）を特定する。
【００７８】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００７９】
図８Ａを参照して、コントローラ１６０の一例であるコントローラ１６０Ａについて説明する。図８Ａは、ある実施形態に従うコントローラ１６０Ａの概略構成を表す図である。
【００８０】
ある態様において、コントローラ１６０Ａは、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図８Ａにおけるコントローラ１６０Ａは右コントローラを示す。右コントローラは、ユーザ１９０の右手で操作される。左コントローラは、ユーザ１９０の左手で操作される。ある態様において、右コントローラと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ１９０は、右コントローラを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ１６０は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ１６０Ａについて説明する。
【００８１】
右コントローラ１６０Ａは、グリップ８０２と、フレーム８０４と、天面８０６とを備える。グリップ８０２は、ユーザ１９０の右手によって把持されるように構成されている。例えば、グリップ８０２は、ユーザ１９０の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００８２】
グリップ８０２は、ボタン８０８及び８１０と、モーションセンサ１３０とを含む。ボタン８０８は、グリップ８０２の側面に配置され、右手の中指による操作を受け付ける。ボタン８１０は、グリップ８０２の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン８０８、８１０は、トリガー式のボタンとして構成される。モーションセンサ１３０は、グリップ８０２の筐体に内蔵されている。なお、ユーザ１９０の動作がカメラその他の装置によってユーザ１９０の周りから検出可能である場合には、グリップ８０２は、モーションセンサ１３０を備えなくてもよい。
【００８３】
フレーム８０４は、その円周方向に沿って配置された複数の赤外線ＬＥＤ８１２を含む。赤外線ＬＥＤ８１２は、コントローラ１６０Ａを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ８１２から発せられた赤外線は、右コントローラ１６０Ａと左コントローラ（図示しない）との各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、２列に配置された赤外線ＬＥＤ８１２が示されているが、配列の数は図８に示されるものに限られない。１列あるいは３列以上の配列が使用されてもよい。
【００８４】
天面８０６は、ボタン８１４及び８１６と、アナログスティック８１８とを備える。ボタン８１４及び８１６は、プッシュ式ボタンとして構成される。ボタン８１４及び８１６は、ユーザ１９０の右手の親指による操作を受け付ける。アナログスティック８１８は、ある態様において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。
【００８５】
ある態様において、右コントローラ１６０Ａ及び左コントローラは、赤外線ＬＥＤ８１２等の部材を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ１６０Ａと左コントローラは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ８００及び左コントローラは、ＵＳＢインターフェースを介して電力を供給され得る。
【００８６】
図８Ｂを参照して、コントローラ１６０の一例であるコントローラ１６０Ｂについて説明する。図８Ｂは、ある実施形態に従うコントローラ１６０Ｂの概略構成を表す図である。
【００８７】
コントローラ１６０Ｂは、複数のボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）と、左右のアナログスティック８２４Ｌ及び８２４Ｒとを備える。各ボタン８２０及び８２２は、プッシュ式ボタンとして構成される。ボタン８２０及び８２２は、ユーザ１９０の手の親指による操作を受け付ける。ユーザ１９０の手の人差し指又は中指による操作を受け付けることが可能な不図示のトリガー式のボタンが、更にコントローラ１６０Ｂに設けられてもよい。アナログスティック８２４Ｌ及び８２４Ｒは、ある態様において、それぞれ初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。ボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）並びにアナログスティック８２４Ｌ及び８２４Ｒ（更に、含まれる場合には不図示のトリガー式ボタン）には、それぞれ別個の操作コマンドが割り当てられる。操作コマンドは、例えば、仮想空間４００内のオブジェクトに指令を与えるためのコマンド、ゲームのメニュー画面等において各種の設定を行うためのコマンド、及びユーザ１９０が仮想空間４００を体験している際にコンピュータ２００に入力し得る任意の他のコマンドを含む。各ボタン又はアナログスティックに割り当てられた操作コマンドは、例えばゲームの進行や場面の変化に応じて、動的に変更されてもよい。
【００８８】
ある態様において、コントローラ１６０Ｂは、その外表面に配置された不図示の複数の赤外線ＬＥＤを含んでもよい。赤外線ＬＥＤは、コントローラ１６０Ｂを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤから発せられた赤外線は、コントローラ１６０Ｂの位置や姿勢（傾き、向き）を検出するために使用され得る。またコントローラ１６０Ｂは、内部の電子部品を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、コントローラ１６０Ｂは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、コントローラ１６０Ｂは、ＵＳＢインターフェースを介して電力を供給され得る。
【００８９】
図９は、本開示の一実施形態による、システム１００を介してユーザに仮想体験を提供するための、コンピュータ２００の機能を示すブロック図である。既に述べたように、本開示の実施形態において、仮想体験をユーザに提供するための様々な画像表示装置を用いることができる。以下に説明する実施形態では、画像表示装置の一例としてＨＭＤが用いられる。
【００９０】
コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、様々な処理を実行する。
【００９１】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０４と、視線検知部９０６と、基準視線決定部９０８と、視界領域決定部９１０と、仮想視点特定部９１２と、視界画像生成部９１４と、仮想カメラ制御部９１６と、ゲーム離脱制御部９１８と、視界画像出力部９２４と、を含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２６、オブジェクトデータ９２８、アプリケーションデータ９３０、取り外し判定データ９３２、アラートデータ９３４、その他のデータ９３８等を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報をＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な、各種データを含んでもよい。オブジェクトデータ９２８は、仮想空間内に配置される様々なオブジェクトに関するデータを含んでもよい。取り外し判定データ９３２は、ユーザによる画像表示装置（ＨＭＤ等）の取り外し動作を判定するのに使用される様々なデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。
【００９２】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００９３】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００９４】
図９及び図１０を参照して、仮想空間の画像を提供するためのシステム１００の一般的
な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９５】
処理はステップ１００２において開始する。一例として、アプリケーションデータ９３０に含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（又は、仮想空間特定部９０２）は、仮想空間データ９２６を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０４は、ＨＭＤ１１０の位置情報、傾き情報等を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９６】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０６は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０８は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【００９７】
ステップ１０１４において、視界領域決定部９１０は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【００９８】
ステップ１０１６において、視界画像生成部９１４は、視界領域４１０に基づいて視界画像を生成する。視界画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視界画像出力部９２４は、視界画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ１０２０において終了する。
【００９９】
図１１は、本開示の一実施形態による、ゲーム離脱制御方法１１００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１１に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、少なくともプロセッサを備え、当該プロセッサの制御により方法１１００を実行するコンピュータとして実施することもできる。
【０１００】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、ユーザが、当該ユーザに関連付けられるアバター、他のオブジェクト等が配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【０１０１】
図１２は、複数のユーザ、例えば２人のユーザであるユーザＡ及びユーザＢがオンラインゲームのマッチプレイをしているときの状況を示す概略図である。尚、ゲームに参加するユーザの人数は２人に制限されない。本開示の実施形態は、より多くの数のユーザが参
加できるゲームにも適用することができる。ユーザＡ及びユーザＢのそれぞれの場所には、図９に示すシステム１００が設置されており、これらシステムが互いにネットワーク１９２及びサーバ１５０を介して接続されている。説明を簡略にするために、図１２では、ユーザＡが装着した上述のＨＭＤ１１０のようなＨＭＤ１２０２と、右手に持った上述のコントローラ（ゲームに関連した可動デバイス）のようなコントローラ１２０４と、これらＨＭＤ１２０２及びコントローラ１２０４が接続された、机１２０６上のパーソナルコンピュータ（ＰＣ）１２０８のみが示されている。しかし、図１又は図９に示した他の要素が備えられていてもよいことは明らかであろう。ユーザＢも同様のデバイスを有しているが、簡略化のために当該デバイスは省略されている。以下では、図１２に示したユーザＡ及びユーザＢがオンラインマッチプレイをしている状況を想定して、本開示の実施形態について説明する。
【０１０２】
図１１に戻り、処理は最初にステップ１１０４に進む。ステップ１０４において、ゲーム離脱制御部９１８は、アプリケーションデータ９３０などから得られる現在プレイされているゲームに関する情報に基づき、ユーザＡが、他のユーザも参加しているオンラインマッチをプレイしているかどうかを判定する。ステップ１１０４においてユーザＡがプレイ中でないと判定された場合（ステップ１１０４の「Ｎ」）、処理はステップ１１２２に進み、終了する。例えば、ユーザＡがオンラインマッチプレイ中でない場合、又はユーザＡもしくは対戦相手のユーザＢがプレイ中のゲームを正常に終了させたときには、この処理が実行される。
【０１０３】
一方、ユーザＡが現在プレイ中である場合（ステップ１１０４の「Ｙ」）、処理はステップ１１０６に進む。ステップ１１０６において、ゲーム離脱制御部９１８は、ユーザＡによるＨＭＤ１２０２等の取り外し動作が検知されたかどうかを判定する。ＨＭＤ１２０２等の取り外し動作の検知の詳細については図１２〜図１９Ｂを参照して後述する。取り外し動作が検知されなかった場合（ステップ１１０６の「Ｎ」）、処理はステップ１１０４の前に戻る。他方、取り外し動作が検知された場合（ステップ１１０６の「Ｙ」）、処理はステップ１１０８に進む。ステップ１１０８において、ゲーム離脱制御部９１８は、アラートデータ９３４を参照することなどによって、ゲームへの復帰に関する入力を促すための出力として、ユーザＡに対するアラートを生成する。このアラートの生成は、ユーザ・インターフェースの生成を含んでもよい。アラートデータ９３４には、生成されるアラートの内容、形態、生成する場所等のデータが格納されていてもよい。アラートは、表示、音、振動、光などの形態で生成したり、複数の形態で生成したり、重複して生成したりすることができる。アラートの具体例については図２０及び図２１を参照して後述する。
【０１０４】
処理はステップ１１１０に進み、ゲーム離脱制御部９１８は、ゲームへの復帰に関する入力を促す出力に応答してユーザＡがプレイに復帰することを選択したかどうかを判定する。プレイへの復帰が選択されたと判定された場合（ステップ１１１０の「Ｙ」）、処理はステップ１１０４に戻る。プレイへの復帰が選択されなかった場合（ステップ１１１０の「Ｎ」）、処理はステップ１１１２に進む。
【０１０５】
ステップ１１１２において、ゲーム離脱制御部９１８は、プレイに復帰しないこと、即ち正常終了することが選択されたかどうかを判定する。正常終了が選択された場合（ステップ１１１２の「Ｙ」）、処理はステップ１１１４に進む。ステップ１１１４において、正常終了処理が行われる。一例において、ユーザＡがマッチプレイから離脱することを選択した結果として、ユーザＡの負け、相手のユーザＢの勝ちを決定してゲームを終了させてもよい。複数のユーザが参加するゲームにおいて、一部のユーザが離脱したときにゲームの勝敗をどのように決定するかについては任意に定めてもよい。例えば、ユーザＡがユーザＢよりも高い得点を有していた場合でも、ユーザＡが離脱するときには、ユーザＡを負けと決定してもよい。
【０１０６】
プレイへ復帰しないこと（正常終了）が選択されなかった場合（ステップ１１１２の「Ｎ」）、処理はステップ１１１６に進む。ステップ１１１６において、ゲーム離脱制御部９１８は、ゲームのプレイに必要な通信接続が切断されたかどうかを判定する。例えば、ネットワークとの接続のための通信ケーブルが抜かれたとき、通信接続が切断されたと判定される。通信接続が切断されたと判定された場合（ステップ１１１６の「Ｙ」）、処理はステップ１１１８に進む。ステップ１１１８において、ゲーム離脱制御部９１８は不正離脱処理を行った後に処理を終了する。不正離脱処理の一例において、マッチプレイを正常に終了しなかったと判定されたユーザＡに対して、上述の正常終了処理においてユーザＡに課される不利益に加えて、今後のゲーム参加に対する制限、ペナルティなどの不利益が課されてもよい。不正離脱処理においてどのような不利益をユーザＡに課すかは、ゲームの種類、対戦相手が受ける影響等に応じて、任意に定めることができる。
【０１０７】
他方、通信接続が切断されていないと判定された場合（ステップ１１１６の「Ｎ」）、処理はステップ１１２０に進む。ステップ１１２０において、ゲーム離脱制御部９１８は、所定時間が経過したかどうかを判定する。当該所定時間は、例えば、ステップ１１０６において取り外し動作が検知されたときから経過した時間について設定されてもよい。あるいは、所定時間は、ステップ１１０８においてアラートが生成されたときから経過した時間について設定されてもよい。あるいは、所定時間は、ステップ１１１０、１１１２又は１１１６に関連する時点から経過した時間について設定されてもよい。これらの所定時間は、対戦相手であるユーザＢがユーザＡからの何らかの応答を待っている時間に相当し得る。したがって、所定時間をあまり長い時間とすることは好ましくない。一例として、所定時間は３０秒に設定されてもよい。尚、ゲームの種類によっては、所定時間は、より長い時間又はより短い時間であってもよい。このような時間制限を設けることにより、相手プレーヤが無制限に待たされることによって迷惑を被るのを防ぐことができる。
【０１０８】
所定時間が経過していない場合（ステップ１１２０の「Ｎ」）、処理はステップ１１１０の前に戻り、プレイへの復帰が選択されたか否か、プレイへ復帰しないことが選択されたか否か、通信接続が切断されたか否か、所定時間が経過したか否かについての判定が繰り返し実行される。それぞれの判定に関する処理は上述の通りである。ステップ１１２０において所定時間が経過したと判定されると（ステップ１１２０の「Ｙ」）、処理はステップ１１１８に進み、上述の不正離脱処理が実行され、本フローは終了する。
【０１０９】
次に、図１３〜図１９を参照して、図１１のステップ１１０６におけるＨＭＤ等の取り外し動作の検知の具体例について説明する。
【０１１０】
先ず図１３を用いて、ＨＭＤの取り外し又はコントローラを手放すことに基づくＨＭＤ取り外し動作の検知の一例について説明する。図示されるように、ユーザＡが、装着しているＨＭＤ１２０２を頭から外して近くの机の上に置いた状況を考える。ここで、机の上に置かれたＨＭＤをＨＭＤ１３０２として示す。この場合、ＨＭＤ１３０２の動きはほぼ又は完全に静止する。したがって、ＨＭＤが動く距離が最小距離以下になったか否かを判定することにより、ＨＭＤが完全静止状態又はそれに近い状態にあるか否かが分かる。これにより、ユーザＡがＨＭＤ１２０２を取り外したか否かを検知することができる。上記の最小距離は、ＨＭＤ及びコントローラに関して取り外し判定データ９３２に予め格納されていても良い。ユーザがＨＭＤ１２０２を装着してゲームをプレイしている間は、多少なりともＨＭＤの動きが発生する。したがって、上記の最小距離を閾値として用いることにより、ＨＭＤが完全静止状態又はそれに近い状態になったか否かを判定することができる。ＨＭＤ１２０２の位置や動きは、前述のＨＭＤセンサ１２０のポジショントラッキング機能又はセンサ１１４によるＨＭＤの位置及び傾き検出機能を用いて検出することがで
きる。尚、このような機能のないＨＭＤの場合には、ジャイロセンサなどのセンサが追加されても良い。また、図１３ではＨＭＤが置かれる場所として机が示されたが、ＨＭＤが床や椅子などのその他の任意の場所に置かれる場合にも本開示の実施形態を同様に適用することができる。
【０１１１】
図１３には、ユーザＡが手に持っていたコントローラ１２０４を机の上に置いた状況も示されており、置かれたコントローラはコントローラ１３０４として図示されている。この場合もまた、コントローラ１３０４は完全静止状態又はこれに近い状態となる。ユーザがコントローラを手に持ってゲームをプレイしている間は多少なりとも動きが発生する。したがって、コントローラが完全静止状態又はこれに近い状態になったと判定される場合、ユーザがコントローラを手放してどこかに置いたことになる（即ち、取り外し動作が行われたことになる）。コントローラの位置、動き等は、例えば前述のモーションセンサ１３０によって検出することができる。ユーザによっては、ＨＭＤを外す前にコントローラを先に置く場合がある。そのような場合には、コントローラの静止状態に基づいて処理を行うことにより、ＨＭＤの動きに基づく処理よりも早く、ユーザによる取り外し動作を検出することができる。
【０１１２】
次に、図１４を参照して、ＨＭＤの動きに基づく処理の別の例として、取り外し動作時のＨＭＤの動きの軌跡を利用したＨＭＤ取り外し動作検知について説明する。図示されるように、ユーザＡが頭１４０２に装着されたＨＭＤ１４０４を外そうとするとき、ユーザＡは、先ずＨＭＤ１４０４を上方向に軌跡１４０６に沿って持ち上げ、そして持ち上げた位置からどこか別の場所（例えば、机の上）に置くために、ＨＭＤ１４０４を下方向に軌跡１４０８に沿って下げる。このような場合、軌跡１４０６及び軌跡１４０８は放物線状の曲線となる。したがって、このような放物線状の軌道に沿ったＨＭＤの動きが検出されたときに、ＨＭＤの取り外し動作が行われていると判定することができる。このような場合との比較のために、ユーザＡが単に上を向く状況を考えると、ＨＭＤは例えば軌跡１４１０を辿る。軌跡１４１０の動きの距離は短く、上下方向の移動量が少ないので、軌跡１４０６又は軌跡１４０８などの放物線状の動きとはかなり異なることが分かる。したがって、ユーザによるＨＭＤの取り外し動作と、ユーザが単に上を向く動作とは、区別することが可能である。この検知手法によれば、ＨＭＤがどこかに置かれて完全に静止状態になるときより前の段階において、取り外し動作を検知することができる。
【０１１３】
別の例として、ゲームプレイ中に発生する可能性が低い、ゲームプレイとして不自然なＨＭＤの動きを用いて、ＨＭＤの取り外し動作を検知しても良い。例えば、そのような不自然な動きが予めデータとして取り外し判定データ９３２に格納されていてもよい。検出されたＨＭＤの動きが予め格納された動きと比較して同じであるか又は類似するかを判定することにより、取り外し動作を検知することができる。
【０１１４】
次に、図１５を参照して、着脱センサを用いたＨＭＤ取り外し動作検知について説明する。この例では、ユーザＡの頭１５０２に装着されたＨＭＤ１５０４に、点線で概略的に示された着脱センサ１５０６が設けられている。着脱センサ１５０６を用いて、ユーザＡの額が検出されなくなったときにＨＭＤ１５０４が頭から外されたと判定することによって、取り外し動作を検知することができる。着脱センサ１５０６は、例えば、赤外線を使用するタイプのセンサであってもよいし、機械式スイッチのタイプのセンサ、その他の任意のタイプのセンサであってもよい。
【０１１５】
次に、図１６を参照して、ＨＭＤ等の位置に基づいてＨＭＤ取り外し動作を検知する例について説明する。ここで、位置には、ＨＭＤ等の向きも含むものとする。図示されるように、ＨＭＤ１６０２は下向きに置かれた状態であると仮定する。この場合、ＨＭＤ１６０２の下向きの状態がある一定時間以上続いたときにＨＭＤ１６０２が取り外された状態にあると判定することによって、取り外し動作の発生を検知することができる。ＨＭＤ１６０２が上向きになった状態又はその他の向きになった状態が一定時間以上継続したときも、同様の処理が可能である。ＨＭＤの向きが一定時間以上同じままであることは、ゲームプレイ上ほぼあり得ない。したがって、そのような状況が生じた場合、ＨＭＤが机、床等に置かれていると判定することができる。同様に、コントローラ１６０４が特定の向き（例えば、横向き）の状態になったまま、ある一定時間以上が経過したときに、コントローラ１６０４がユーザの手から放れて机等の上に置かれたと判定されても良い。
【０１１６】
以上、ＨＭＤ等の動き及び位置の一方に基づいてＨＭＤ取り外し動作の検知を行う例について説明した。しかし、本開示の実施形態はこのような態様に限定されない。ＨＭＤ等の動きと位置の双方に基づいて、取り外し動作の検知が行われても良い。例えば、所定の位置からの所定の動きによる移動が生じたこと、所定の動きによる所定の位置への移動が生じたこと、所定の動きが所定の位置において生じたことなどに基づいて、取り外し動作の検知が行われても良い。
【０１１７】
図１７Ａ及び図１７Ｂを参照して、ＨＭＤ等の動き及び位置の双方に基づいてＨＭＤ取り外し動作検知を行う例について説明する。図１７Ａ及び図１７Ｂにおいては、簡単化のために、ＨＭＤの向きが白抜きの太い矢印で示されている。図示されるように、図１７ＡのＨＭＤ１７０２は、前向きの状態で上方向にある距離以上動かされる。この動きは、ＨＭＤ１７０２を頭上へ外す動きとして解釈することができる。他方、図１７ＢのＨＭＤ１７０４は、下向きの状態下方向へある距離以上動かされる。この動きは、ＨＭＤ１７０４を床等に置く動きとして解釈することができる。このようにＨＭＤの動きを解釈することに基づいて、ＨＭＤの取り外し動作を検知しても良い。
【０１１８】
以上においては、ＨＭＤ等を頭から外すとき、机に置くとき等を予め想定してＨＭＤ等の取り外し動作検知を行う例について説明した。別の例として、ＨＭＤのポジショントラッキングを行うことによってＨＭＤの動きの追跡を続けていると、ＨＭＤの動きに関するデータが蓄積される。そして、ユーザがどのような動きをしているときに取り外し動作を行っているかを示す教師データを取得して、人工知能（ＡＩ）を用いた機械学習に利用することができる。その場合、予め想定されていなかった動き及び位置に基づいて取り外し動作を検知することも可能となり得る。
【０１１９】
次に、図１８Ａ及び図１８Ｂを参照して、ユーザの頭部及び目の少なくとも一方の位置及び動きの少なくとも一方に基づいてＨＭＤ取り外し動作の検知を行う例について説明する。尚、ユーザの頭部の動き及び位置は、ＨＭＤを装着しているときにはＨＭＤの位置及び動きとして特定することができるので、ここでは特に、目の位置及び動きに基づく処理について説明する。図１８Ａ及び図１８Ｂに示すように、ＨＭＤ１８０２は、前述の注視センサ１４０のような注視センサ１８０４（概略的に示す）を備え、ユーザの目のアイトラッキングを行う。図１８Ａでは、ユーザがＨＭＤ１８０２を頭に装着した状態を想定している。このときには、注視センサ１８０４によってユーザの目をトラッキングすることが可能である。他方、図１８Ｂにおいて、ＨＭＤを頭から外すためにユーザがＨＭＤを頭上に持ち上げたときには、注視センサ１８０４はユーザの目をトラッキングすることができなくなる。このように、目の位置及び／又は動きを検出することができないとき、取り外し動作が行われたと判定されてもよい。さらに、ゲームプレイにおいて通常起きえないような不自然な目の動きを検出したときにも、取り外し動作が行われたと判定されても良い。このような判定に用いるデータは、取り外し判定データ９３２に格納されていても良い。
【０１２０】
次に、図１９Ａ及び図１９Ｂを参照して、ＨＭＤとコントローラとの間の相対的な位置関係に基づいてＨＭＤ取り外し動作の検知を行う例について説明する。図１９Ａは、ＨＭ
Ｄ１９０２を装着したユーザＡが手にコントローラ１９０４を持っている状態を示している。このときのＨＭＤ１９０２とコントローラ１９０４との間の距離Ｄ１の最大距離は、ユーザＡの手の長さによってほぼ決まる。このような状況で、ユーザＡがＨＭＤ１９０２を取り外すための準備としてコントローラ１９０４を少し離れた机上に置くと、机上に置かれたコントローラ１９０６とＨＭＤ１９０２との間の距離Ｄ２は、Ｄ１の最大距離よりも大きくなる。したがって、コントローラとＨＭＤとの間の位置関係が所定の条件を満たす（この例では、距離Ｄ２が距離Ｄ１の最大値よりも大きい）場合に、ＨＭＤの取り外し動作が行われた（又は、行われようとしている）と判定することができる。机上ではなく、参照番号１９０８で示す位置にコントローラが置かれて、コントローラ１９０８とＨＭＤ１９０２との間の距離Ｄ３がＤ１の最大距離以上になったときも同様の処理を行うことができる。
【０１２１】
他方、図１９Ｂに示すように、ユーザＡがコントローラ１９０４を参照番号１９１０で示す位置に移動させてＨＭＤ１９０２に近付けると、コントローラ１９１０とＨＭＤ１９０２との間の距離はある一定距離以下となる。この状態は、ユーザＡがＨＭＤ１９０２を取り外そうとして、コントローラを持っている手をＨＭＤ１９０２に近付けた状態であると解釈することができる。したがって、コントローラとＨＭＤとの間の距離が所定の距離以下になるなどの所定の条件が満たされる場合に、ＨＭＤの取り外し動作が行われたと判定しても良い。あるいは、ゲームの性質上、コントローラをＨＭＤに近付ける必要がない場合において、コントローラが一定時間以上ＨＭＤに近付けられたときに、ＨＭＤの取り外し動作が発生したと判定されても良い。
【０１２２】
図１９Ａ及び図１９Ｂでは、コントローラとＨＭＤとの間の位置関係が所定の条件を満たすか否かに基づく判定について説明された。別の例として、コントローラとユーザの頭部との間の位置関係が所定の条件を満たすか否かに基づいて、同様の判定を行うことができる。
【０１２３】
次に、図２０及び図２１を参照して、図１１のステップ１１０８におけるアラート生成の詳細について説明する。
【０１２４】
図２０は、ＨＭＤ１１０の表示部１１２（図９参照）に表示されるアラートの例を示している。アラート２００２は、ＨＭＤ等の取り外し動作の検知をトリガーとして表示され、ユーザからの入力を受け付けるためのユーザ・インターフェース（ＵＩ）を提供する。この例では、アラート２００２は、「プレイに復帰しますか？」というテキスト表示２００４とともに、復帰選択のための「はい」ボタン２００６を含んでいる。図１１のステップ１１１０においてプレイへの復帰を選択するとき、ユーザは「はい」ボタン２００６を操作すれば良い。また、アラート２００２は、「プレイに復帰しない（正常終了）を選択しますか？」というテキスト表示２００８とともに、正常終了即ち正常離脱を選択するための「はい」ボタン２０１０を含んでいる。図１１のステップ１１１２において正常終了を選択するときには、ユーザは「はい」ボタン２０１０を操作すれば良い。また、アラート２００２は、「正常終了しないときには、不正離脱となり、今後のゲームプレイに不利益を受けますので、ご注意下さい。」という、ユーザに対する警告文２０１２を含んでもよい。当該警告文により、ユーザに対してゲームへの復帰あるいはゲームの正常終了を促すことができる。別の例として、アラート２００２は、「３０秒以内に復帰して下さい。復帰しない場合にはリタイヤとみなします。」のような警告文を含んでも良い。
【０１２５】
図１３〜図１９で説明した取り外し動作の検知手法は、ＨＭＤを取り外す前やＨＭＤの取り外し中に、取り外し動作を検出できる手法（タイミング的には、ＨＭＤ１１０の表示部１１２に表示されるアラート２００２をユーザが視認できるケース）と、ＨＭＤの取り外しが完了しなければ取り外し動作を検出できない手法（タイミング的には、ＨＭＤ１１
０の表示部１１２に表示されるアラート２００２をユーザが視認できないケース）の両方を含み得る。
【０１２６】
図２１は、図１３〜図１９で説明した手法に適用することができる、本開示の実施形態による、重複アラートについて説明する。図２０に示したアラート２００２はＨＭＤ１１０の表示部１１２に表示されるので、ＨＭＤを外した後、ユーザはアラート２００２を見ることができない。従って、ＨＭＤ等の取り外し動作中、取り外し動作が完了する前にアラートを生成してユーザの注意をより確実に惹き付けるために、上記アラート２００２に加えて、追加のアラートを生成しても良い。例えば、図示されるように、ユーザＡの机２１０２上に置かれたＶＲゲームを実行しているＰＣ２１０４のディスプレイに、テキストその他のタイプのアラート２１０６を表示しても良い。この追加のアラート２１０６は、図２０に示される警告文２０１２のような警告文を含んでもよい。別の例において、追加のアラートは、机２１０２に置かれたコントローラ２１０８を振動させることであってもよい。あるいは、追加のアラートは、取り外されたＨＭＤ２１１０に設けられたランプ２１１２を点灯又は点滅させることであってもよい。また、追加のアラートは、アラーム音を生成し、ユーザが使っているヘッドホン２１１４を介して当該アラーム音を発することであってもよい。ヘッドホンの代わりにスピーカが使用されている場合には、当該スピーカを介してアラーム音を発してもよい。
【０１２７】
図２１の重複アラートを行うことにより、ＨＭＤの取り外しが完了しなければ取り外し動作を検出できない場合であっても、ユーザはアラートに気づくので、再度、ＨＭＤを装着して正常に終了させることをユーザに促せる。また、ＨＭＤを取り外す前やＨＭＤの取り外し中に取り外し動作を検出できる場合であっても、ユーザが必ずしもアラートに気づくとは限らないので、図２１の重複アラートを行うことが有用である。
【０１２８】
以上、本開示の実施形態を説明したが、これらは例示にすぎず、本開示の範囲を限定するものではないことは理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることは理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によって規定されるべきである。
【符号の説明】
【０１２９】
１００…ＨＭＤシステム、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０Ａ、１６０Ｂ…コントローラ、１９０…頭部、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視界領域、８００…右コントローラ、８０２…グリップ、８０４…フレーム、８０６…天面、８０８、８１０、８１４、８１６…ボタン、８１２…赤外線ＬＥＤ、８１８…アナログスティック、８２０、８２２…ボタン、８２４Ｒ、８２４Ｌ…アナログスティック、９０２…仮想空間特定部、９０４…ＨＭＤ動作検知部、９０６…視線検知部、９０８…基準視線決定部、９１０…視界領域決定部、９１２…仮想視点特定部、９１４…視界画像生成部、９１６…仮想カメラ制御部、９１８…ゲーム離脱制御部、９２４…視界画像出力部、９２６…仮想空間データ、９２８…オブジェクトデータ、９３０…アプリケーションデータ、９３２…取り外し判定データ、９３４…アラートデータ
【図１】
2020064652.tif 000003
【図２】
2020064652.tif 000004
【図３】
2020064652.tif 000005
【図４】
2020064652.tif 000006
【図５】
2020064652.tif 000007
【図６】
2020064652.tif 000008
【図７】
2020064652.tif 000009
【図８Ａ】
2020064652.tif 000010
【図８Ｂ】
2020064652.tif 000011
【図９】
2020064652.tif 000012
【図１０】
2020064652.tif 000013
【図１１】
2020064652.tif 000014
【図１２】
2020064652.tif 000015
【図１３】
2020064652.tif 000016
【図１４】
2020064652.tif 000017
【図１５】
2020064652.tif 000018
【図１６】
2020064652.tif 000019
【図１７Ａ】
2020064652.tif 000020
【図１７Ｂ】
2020064652.tif 000021
【図１８Ａ】
2020064652.tif 000022
【図１８Ｂ】
2020064652.tif 000023
【図１９Ａ】
2020064652.tif 000024
【図１９Ｂ】
2020064652.tif 000025
【図２０】
2020064652.tif 000026
【図２１】
2020064652.tif 000027