(57)【要約】【課題】仮想空間におけるユーザの快適な操作を実現するための技術を提供する。【解決手段】コンピュータで実行される方法は、仮想空間を定義するステップ（Ｓ１８０５）と、仮想空間に移動用オブジェクトを配置するステップ（Ｓ１８１０）と、移動用オブジェクトがヘッドマウントデバイスのユーザに見つめられたことを検知するステップ（Ｓ１８３０）と、移動用オブジェクトがユーザに見つめられたことに応じて、移動用オブジェクトの表示態様を変更するステップ（Ｓ１８３５）と、移動用オブジェクトが予め定められた時間ユーザに見つめられたことに応じて、ユーザの仮想空間における視座を、移動用オブジェクトの位置に対応する位置に移動させるステップ（Ｓ１８４５）とを備える。【選択図】図１８
2018124907.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントデバイスによって提供される仮想空間における移動を支援するためにコンピュータで実行される方法であって、
（Ａ）仮想空間を定義するステップと、
（Ｂ）前記仮想空間に、移動用オブジェクトを配置するステップと、
（Ｃ）前記移動用オブジェクトが前記ヘッドマウントデバイスのユーザに見つめられたことを検知するステップと、
（Ｄ）前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの表示態様を変更するステップと、
（Ｅ）前記移動用オブジェクトが予め定められた時間前記ユーザに見つめられたことに応じて、前記ユーザの前記仮想空間における視座を、前記移動用オブジェクトの位置に対応する位置に移動させるステップとを備える、方法。
【請求項２】
前記仮想空間に、座席オブジェクトを配置するステップをさらに備え、
前記移動用オブジェクトを配置するステップは、前記座席オブジェクトの座面に前記移動用オブジェクトを配置することを含む、請求項１に記載の方法。
【請求項３】
前記移動用オブジェクトを配置するステップは、前記仮想空間における前記視座の初期高さよりも下方に前記移動用オブジェクトを配置することを含む、請求項１または２に記載の方法。
【請求項４】
前記移動用オブジェクトの表示態様を変更するステップは、前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの透過率を、前記ユーザに見つめられる前の前記移動用オブジェクトの透過率よりも小さくすることを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記仮想空間を介して通信する他のユーザのアバターオブジェクトを前記仮想空間に配置するステップと、
前記移動用オブジェクトの位置に前記アバターオブジェクトが存在するか否かを判断するステップとをさらに備え、
前記ユーザの視座を移動させるステップは、前記移動用オブジェクトの位置に前記アバターオブジェクトが存在すると判断された場合に、前記ユーザの視座を前記移動用オブジェクトの位置に対応する位置に移動させることを禁止することを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記移動用オブジェクトの表示態様を変更するステップは、前記移動用オブジェクトの位置に前記アバターオブジェクトが存在すると判断された場合に、前記移動用オブジェクトの表示態様の変更を禁止することを含む、請求項５に記載の方法。
【請求項７】
前記ユーザが前記移動用オブジェクトを見つめている間、前記仮想空間に配置されるオブジェクトのうち、前記移動用オブジェクト以外のオブジェクトの輝度値を小さくするステップをさらに備える、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記移動用オブジェクト以外のオブジェクトは、前記仮想空間を介して通信する他のユーザのアバターオブジェクト、および動画を再生可能に構成されるオブジェクトの少なくとも一方を含む、請求項７に記載の方法。
【請求項９】
前記移動用オブジェクトを配置するステップは、複数の前記移動用オブジェクトを前記仮想空間に配置することを含み、
前記仮想空間に、メニューオブジェクトを配置ステップと、
前記メニューオブジェクトが前記仮想空間に配置されている間、前記複数の移動用オブジェクトの表示態様を変更するステップとをさらに備える、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記移動用オブジェクトが前記ユーザに見つめられたことを検知するステップは、前記仮想空間における前記ユーザの視界の中央部に前記移動用オブジェクトが含まれたことに応じて、前記移動用オブジェクトが見つめられたと検知することを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記ユーザの視線を検出するステップをさらに備え、
前記移動用オブジェクトが前記ユーザに見つめられたことを検知するステップは、前記検出されたユーザの視線が前記移動用オブジェクトに注がれたことに応じて、前記移動用オブジェクトが見つめられたと検知することを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１２】
請求項１〜１１のいずれか１項に記載の方法をコンピュータに実現させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムを格納したメモリと、
前記プログラムを実行するためのプロセッサとを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、仮想空間を提供するための技術に関し、より特定的には、仮想空間における移動を支援するための技術に関する。
【背景技術】
【０００２】
ヘッドマウントデバイス（ＨＭＤ：Head-Mounted  Device）装置を用いて仮想空間を提供する技術が知られている。また、仮想空間上でユーザの操作を実現するための様々な技術が提案されている。
【０００３】
例えば、非特許文献１は、仮想空間でのシューティングゲームにおいて、ユーザの視線を利用して、対象物への照準を合わせる技術を開示している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“視線ひとつでここまで体験は変わる。アイトラッキングシステム搭載ＶＲヘッドセット「ＦＯＶＥ」”、［online］、［平成２９年１月８日検索］、インターネット〈URL：http://www.gizmodo.jp/2016/09/tgs2016-vr-fove.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザが仮想空間の中を疑似的に移動するための方法として、コンピュータに接続されたコントローラを手で操作する技術が広く知られている。この他にも、ユーザが仮想空間の中を移動するための操作をいっそう容易にする技術が必要とされている。例えば、コントローラがコンピュータに接続されていない場合もあり得る。したがって、このような場合にも、ユーザが仮想空間の中を移動するための技術が必要とされている。
【０００６】
本開示は、上記のような問題を解決するためになされたものであって、ある局面における目的は、仮想空間におけるユーザの快適な操作を実現するための技術を提供することである。
【課題を解決するための手段】
【０００７】
ある実施形態に従うと、ヘッドマウントデバイスによって提供される仮想空間における移動を支援するためにコンピュータで実行される方法が提供される。この方法は、仮想空間を定義するステップと、仮想空間に、移動用オブジェクトを配置するステップと、移動用オブジェクトがヘッドマウントデバイスのユーザに見つめられたことを検知するステップと、移動用オブジェクトがユーザに見つめられたことに応じて、移動用オブジェクトの表示態様を変更するステップと、移動用オブジェクトが予め定められた時間ユーザに見つめられたことに応じて、ユーザの仮想空間における視座を、移動用オブジェクトの位置に対応する位置に移動させるステップとを備える。
【０００８】
開示された技術的特徴の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】ＨＭＤシステムの構成の概略を表す図である。
【図２】ある局面に従うコンピュータのハードウェア構成の一例を表すブロック図である。
【図３】ある実施形態に従うＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す模式図である。
【図４】ある実施形態に従う仮想空間を表現する一態様を概念的に表す模式図である。
【図５】ある実施形態に従うＨＭＤを装着するユーザの頭部を上から表した模式図である。
【図６】仮想空間において視認領域をＸ方向から見たＹＺ断面を表す図である。
【図７】仮想空間において視認領域をＹ方向から見たＸＺ断面を表す図である。
【図８】ある実施形態に従うコンピュータをモジュール構成として表わすブロック図である。
【図９】オブジェクト情報のデータ構造例を示す図である。
【図１０】ＨＭＤシステムにおける処理を表すフローチャートである。
【図１１】ある局面に従う仮想空間の構成例を示す図である。
【図１２】図１１の仮想カメラ１が撮影する視界画像を示す図である。
【図１３】ある局面に従う仮想空間の構成例を示す図である。
【図１４】ユーザが移動用オブジェクトを注視していない状態の視界画像を示す図である。
【図１５】ユーザが移動用オブジェクトを注視している状態の視界画像を示す図である。
【図１６】仮想カメラを移動させた後の仮想空間の構成を示す図である。
【図１７】他の実施形態に従うメータオブジェクトを説明するための図である。
【図１８】移動用オブジェクトを用いて仮想カメラを移動するための処理について説明するためのフローチャートである。
【図１９】ユーザのアバターオブジェクトを説明するための図である。
【図２０】ある局面に従う仮想空間を示す図である。
【図２１】図２０の状態におけるユーザの視界画像を示す図である。
【図２２】移動処理を中止するための処理を説明するフローチャートである。
【図２３】ある局面に従うユーザの視界画像を示す図である。
【図２４】ある局面に従うユーザの視界画像を示す図である。
【発明を実施するための形態】
【００１０】
以下、この技術的思想の実施形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。なお、以下で説明される各実施形態は、適宜選択的に組み合わされてもよい。
【００１１】
［ＨＭＤシステムの構成］
図１を参照して、ＨＭＤ（Head-Mounted  Device）システム１００の構成について説明する。図１は、ＨＭＤシステム１００の構成の概略を表す。ＨＭＤシステム１００は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
【００１２】
ＨＭＤシステム１００は、ＨＭＤセット１０５Ａ，１０５Ｂ，１０５Ｃ，１０５Ｄと、ネットワーク１９とサーバ１５０とを含む。ＨＭＤセット１０５Ａ，１０５Ｂ，１０５Ｃ，１０５Ｄの各々は、ネットワーク１９を介してサーバ１５０と通信可能に構成される。以下、ＨＭＤセット１０５Ａ，１０５Ｂ，１０５Ｃ，１０５Ｄを総称して、ＨＭＤセット１０５とも言う。なお、ＨＭＤシステム１００を構成するＨＭＤセット１０５の数は、４つに限られず、３つ以下でも、５つ以上でもよい。
【００１３】
ＨＭＤセット１０５は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コンピュータ２００とを備える。ＨＭＤ１１０は、モニタ１１２と、スピーカ１１８と、マイク１１９と、注視センサ１４０とを含む。
【００１４】
ある局面において、コンピュータ２００は、インターネットその他のネットワーク１９に接続可能であり、ネットワーク１９に接続されているサーバ１５０その他のコンピュータと通信可能である。
【００１５】
ＨＭＤ１１０は、ユーザの頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像および左目用の画像をモニタ１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。ＨＭＤ１１０は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。
【００１６】
モニタ１１２は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ１１２は、ユーザの両目の前方に位置するようにＨＭＤ１１０の本体に配置されている。したがって、ユーザは、モニタ１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像を含む。ある実施形態において、モニタ１１２は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機ＥＬ（Electro  Luminescence）モニタとして実現され得る。
【００１７】
他の局面において、モニタ１１２は、透過型の表示装置として実現され得る。この場合、ＨＭＤ１１０は、図１に示されるようにユーザの目を覆う密閉型ではなく、メガネ型のような開放型であり得る。透過型のモニタ１１２は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、モニタ１１２は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例えば、モニタ１１２は、ＨＭＤ１１０に搭載されたカメラで撮影した現実空間の画像を表示してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい。
【００１８】
ある局面において、モニタ１１２は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００１９】
スピーカ１１８は、音声信号を音声に変換してユーザ１９０に出力する。マイク１１９は、ユーザ１９０の発話を電気信号に変換してコンピュータ２００に出力する。なお、他の局面において、ＨＭＤ１１０は、スピーカ１１８に替えてイヤホンを備えるように構成されてもよい。
【００２０】
ＨＭＤセンサ１２０は、ＨＭＤ１１０の位置および傾きを検出し得る。ある局面において、ＨＭＤ１１０は、複数の光源（図示しない）を含む。各光源は例えば、赤外線を発するＬＥＤ（Light  Emitting  Diode）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置および傾きを検出する。
【００２１】
なお、別の局面において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置および傾きを検出することができる。
【００２２】
さらに別の局面において、ＨＭＤ１１０は、ＨＭＤ１１０の動きを検出するためのデバイスとして、ＨＭＤセンサ１２０の代わりに、またはＨＭＤ１２０に加えてセンサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０の傾きを検出し得る。例えば、センサ１１４は、ＨＭＤ１１０に設定される３軸（ヨー軸、ロール軸、ピッチ軸）まわりの角速度を経時的に検出するジャイロセンサであり得る。コンピュータ２００は、各角速度に基づいて、ＨＭＤ１１０の３軸まわりの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。他の例において、センサ１１４は、加速度センサ、地磁気センサその他のセンサを含み得る。
【００２３】
注視センサ１４０は、ユーザ１９０の右目および左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ１４０は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知できる。
【００２４】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の局面において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００２５】
［ハードウェア構成］
図２を参照して、本実施形態に係るコンピュータ２００について説明する。図２は、ある局面に従うコンピュータ２００のハードウェア構成の一例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ１０と、メモリ１１と、ストレージ１２と、入出力インターフェイス１３と、通信インターフェイス１４とを備える。各構成要素は、それぞれ、バス１５に接続されている。
【００２６】
プロセッサ１０は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ１１またはストレージ１２に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ１０は、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processor  Unit）、ＦＰＧＡ（Field-Programmable  Gate  Array）その他のデバイスとして実現される。
【００２７】
メモリ１１は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ１２からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ１０によって生成されたデータとを含む。ある局面において、メモリ１１は、ＲＡＭ（Random  Access  Memory）その他の揮発メモリとして実現される。
【００２８】
ストレージ１２は、プログラムおよびデータを永続的に保持する。ストレージ１２は、例えば、ＲＯＭ（Read-Only  Memory）、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ１２に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラムを含む。ストレージ１２に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。
【００２９】
なお、別の局面において、ストレージ１２は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ２００に内蔵されたストレージ１２の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００３０】
ある実施形態において、入出力インターフェイス１３は、ＨＭＤ１１０、およびＨＭＤセンサ１２０との間で信号を通信する。ある局面において、ＨＭＤ１１０に含まれるモニタ１１２、センサ１１４、スピーカ１１８、およびマイク１１９は、ＨＭＤ１１０のインターフェイスを介してコンピュータ２００との通信を行ない得る。ある局面において、入出力インターフェイス１３は、ＵＳＢ（Universal  Serial  Bus）、ＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）その他の端子を用いて実現される。なお、入出力インターフェイス１３は上述のものに限られない。
【００３１】
通信インターフェイス１４は、ネットワーク１９に接続されて、ネットワーク１９に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある局面において、通信インターフェイス１４は、例えば、ＬＡＮ（Local  Area  Network）その他の有線通信インターフェイス、あるいは、ＷｉＦｉ（Wireless  Fidelity）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）その他の無線通信インターフェイスとして実現される。なお、通信インターフェイス１４は上述のものに限られない。
【００３２】
ある局面において、プロセッサ１０は、ストレージ１２にアクセスし、ストレージ１２に格納されている１つ以上のプログラムをメモリ１１にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ１０は、入出力インターフェイス１３を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいてモニタ１１２に映像を表示する。
【００３３】
なお、図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられる構成が示されているが、別の局面において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、モニタ１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００３４】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００３５】
ある実施形態において、ＨＭＤシステム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸と規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００３６】
ある局面において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各光源の位置（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置および傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置および傾きの時間的変化を検出できる。
【００３７】
他の局面において、センサ１１４は、３軸のジャイロセンサと、３軸の加速度センサとを有するモーションセンサであり得る。ＨＭＤ１１０は、センサ１１４の出力に基づいて、基準方向（例えば、重力（鉛直）方向）に対するＨＭＤ１１０の傾き角度を算出する。これにより、コンピュータ２００は、グローバル座標系におけるＨＭＤ１１０の傾きを取得できる。
【００３８】
グローバル座標系は現実空間の座標系と平行である。したがって、センサ１１４またはＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。コンピュータ２００は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００３９】
［ｕｖｗ視野座標系］
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す模式図である。センサ１１４またはＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の傾きを検出する。プロセッサ１０は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００４０】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向（ｘ軸）、鉛直方向（ｙ軸）、および前後方向（ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）として設定する。図３に示されるように、ヨー軸は、ユーザ１９０の高さ方向に延在する。
【００４１】
ある局面において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ１０は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、および前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ軸（ｕ軸）、ヨー軸（ｖ軸）、およびロール軸（ｗ軸）に一致する。
【００４２】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、センサ１１４またはＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、センサ１１４またはＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）、およびロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ軸まわりのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー軸まわりのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール軸まわりのＨＭＤ１１０の傾き角度を表す。ある局面において、センサ１１４は、これらピッチ角、ヨー角、ロール角についての角速度を取得可能に構成される。
【００４３】
コンピュータ２００は、センサ１１４またはＨＭＤセンサ１２０の出力に基づいて検出したＨＭＤ１１０の傾き角度に従って、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置および傾きに関わらず、常に一定である。ＨＭＤ１１０の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置および傾きが変化する。
【００４４】
ある局面において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係（例えば、各点間の距離など）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ１０は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００４５】
［仮想空間］
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間２を表現する一態様を概念的に表す模式図である。仮想空間２は、３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間２のうちの上半分の天球が例示されている。仮想空間２では各メッシュが規定される。各メッシュの位置は、仮想空間２に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間２に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間２において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像２２が展開される仮想空間２をユーザに提供する。
【００４６】
ある局面において、仮想空間２では、中心を原点とするＸＹＺ座標系が規定される。ＸＹＺ座標系は、例えば、グローバル座標系に平行である。ＸＹＺ座標系は視点座標系の一種であるため、ＸＹＺ座標系における水平方向、鉛直方向（上下方向）、および前後方向は、それぞれＸ軸、Ｙ軸、Ｚ軸として規定される。したがって、ＸＹＺ座標系のＸ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ＸＹＺ座標系のＹ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ＸＹＺ座標系のＺ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００４７】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ１が、仮想空間２の初期位置２１に配置される。初期位置２１は、例えば、ＸＺ平面における中心位置であって、Ｙ方向の予め定められた高さ位置（初期高さ）であり得る。ある局面において、プロセッサ１０は、仮想カメラ１が撮影する画像をＨＭＤ１１０のモニタ１１２に表示する。換言すれば、仮想カメラ１が配置される位置は、ユーザ１９０の視座（物事を見る位置）となる。仮想カメラ１は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間２を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置および向きの変化が、仮想空間２において同様に再現され得る。
【００４８】
仮想カメラ１には、ＨＭＤ１１０の場合と同様に、ｕｖｗ視野座標系が規定される。仮想空間２における仮想カメラ１のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定されている。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ１の傾きも変化する。また、仮想カメラ１は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間２において移動することもできる。
【００４９】
コンピュータ２００のプロセッサ１０は、仮想カメラ１の位置と、仮想カメラ１の傾き方向、換言すれば、仮想カメラ１の撮影方向を示す基準視線５とに基づいて、仮想空間２における視認領域２３を規定する。視認領域２３は、仮想空間２のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。上記のように、仮想カメラ１のｕｖｗ視野座標系はＨＭＤ１１０のｕｖｗ視野座標系に連動している。そのため、基準視線５は、センサ１１４またはＨＭＤ１２０の出力に基づいて定まるＨＭＤ１１０の傾きによって定まる。
【００５０】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０がモニタ１１２を視認する際の視点座標系に等しい。また、仮想カメラ１のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある局面に従うコンピュータ２００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ１のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００５１】
［ユーザの視線］
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した模式図である。
【００５２】
ある局面において、注視センサ１４０は、ユーザ１９０の右目および左目の各視線を検出する。ある局面において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１およびＬ１を検出する。別の局面において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２およびＬ２を検出する。この場合、ロール軸ｗに対して視線Ｒ２およびＬ２が成す角度は、ロール軸ｗに対して視線Ｒ１およびＬ１が成す角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００５３】
コンピュータ２００が、視線の検出結果として、視線Ｒ１およびＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１およびＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２およびＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２およびＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視認領域２３に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００５４】
また、別の局面において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間２においてテレビ番組を表示することができる。
【００５５】
さらに別の局面において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００５６】
［視界領域］
図６および図７を参照して、視認領域２３について説明する。図６は、仮想空間２において視認領域２３をＸ方向から見たＹＺ断面を表す。図７は、仮想空間２において視認領域２３をＹ方向から見たＸＺ断面を表す。
【００５７】
図６に示されるように、ＹＺ断面における視認領域２３は、領域２４を含む。領域２４は、仮想カメラ１の位置と基準視線５と仮想空間２のＹＺ断面とによって定義される。プロセッサ１０は、仮想空間における基準視線５を中心として極角αを含む範囲を、領域２４として規定する。
【００５８】
図７に示されるように、ＸＺ断面における視認領域２３は、領域２５を含む。領域２５は、仮想カメラ１の位置と基準視線５と仮想空間２のＸＺ断面とによって定義される。プロセッサ１０は、仮想空間２における基準視線５を中心とした方位角βを含む範囲を、領域２５として規定する。極角αおよびβは、仮想カメラ１の位置と仮想カメラ１の向きとに応じて定まる。
【００５９】
ある局面において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像２６をモニタ１１２に表示させることにより、ユーザ１９０に仮想空間における視界を提供する。視界画像２６は、仮想空間画像２２のうち視認領域２３に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ１も動く。その結果、仮想空間２における視認領域２３の位置が変化する。これにより、モニタ１１２に表示される視界画像２６は、仮想空間画像２２のうち、仮想空間２においてユーザが向いた方向の視認領域２３に重畳する画像に更新される。ユーザは、仮想空間２における所望の方向を視認することができる。
【００６０】
このように、仮想カメラ１の傾きは仮想空間２におけるユーザ１９０の頭の向いている方向（基準視線５）に相当する。また、上述したように仮想カメラ１が配置される位置は、仮想空間２におけるユーザの視座に相当する。したがって、仮想カメラ１を移動（位置を変える動作、傾きを変える動作を含む）させることにより、モニタ１１２に表示される視界画像２６が更新され、ユーザ１９０の視界が移動される。
【００６１】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間２に展開される仮想空間画像２２のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間２への高い没入感覚をユーザに与えることができる。
【００６２】
ある実施形態に従うと、仮想カメラ１は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含み得る。また、ユーザ１９０が３次元の仮想空間２を認識できるように、適切な視差が、２つの仮想カメラに設定される。以下では、仮想カメラ１が２つの仮想カメラを含み、２つの仮想カメラのロール軸が合成されることによって生成されるロール軸（ｗ）が、ＨＭＤ１１０のロール軸（ｗ）に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
【００６３】
［ＨＭＤの制御装置］
図８を参照して、ＨＭＤ１１０の制御装置について説明する。ある実施形態において、制御装置は周知の構成を有するコンピュータ２００によって実現される。図８は、ある実施形態に従うコンピュータ２００をモジュール構成として表わすブロック図である。
【００６４】
図８に示されるように、コンピュータ２００は、表示制御モジュール２２０と、仮想空間制御モジュール２３０と、メモリモジュール２４０と、通信制御モジュール２５０とを備える。表示制御モジュール２２０は、サブモジュールとして、仮想カメラ制御モジュール２２１と、視界領域決定モジュール２２２と、視界画像生成モジュール２２３と、基準視線特定モジュール２２４とを含む。仮想空間制御モジュール２３０は、サブモジュールとして、仮想空間定義モジュール２３１と、仮想オブジェクト生成モジュール２３２と、オブジェクト制御モジュール２３３とを含む。
【００６５】
ある実施形態において、表示制御モジュール２２０と仮想空間制御モジュール２３０とは、プロセッサ１０によって実現される。別の実施形態において、複数のプロセッサ１０が表示制御モジュール２２０と仮想空間制御モジュール２３０として作動してもよい。メモリモジュール２４０は、メモリ１１またはストレージ１２によって実現される。通信制御モジュール２５０は、通信インターフェイス１４によって実現される。
【００６６】
表示制御モジュール２２０は、ＨＭＤ１１０のモニタ１１２における画像表示を制御する。仮想カメラ制御モジュール２２１は、仮想空間２に仮想カメラ１を配置する。仮想カメラ制御モジュール２２１は、仮想空間２における仮想カメラ１の位置と、仮想カメラ１の傾き（向き）を制御する。視界領域決定モジュール２２２は、ＨＭＤ１１０の傾き（すなわち、センサ１１４の出力）と、仮想カメラ１の位置に応じて、視認領域２３を規定する。視界画像生成モジュール２２３は、決定された視認領域２３に基づいて、モニタ１１２に表示される視界画像２６を生成する。
【００６７】
基準視線特定モジュール２２４は、センサ１１４またはＨＭＤセンサ１２０の出力に基づいて、ＨＭＤ１１０の傾きを特定する。また、基準視線特定モジュール２２４は、注視センサ１４０からの信号に基づいて、ユーザ１９０の視線を特定し得る。
【００６８】
仮想空間制御モジュール２３０は、ユーザ１９０に提供される仮想空間２を制御する。仮想空間定義モジュール２３１は、仮想空間２を表わす仮想空間データを生成することにより、ＨＭＤシステム１００における仮想空間２を規定する。
【００６９】
仮想オブジェクト生成モジュール２３２は、仮想空間２に配置されるオブジェクトを生成する。オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、動物等を含み得る。また、オブジェクトは、仮想空間２におけるユーザ１９０の視座（すなわち、仮想カメラ１の位置）の移動のトリガとして機能する移動用オブジェクトを含む。
【００７０】
オブジェクト制御モジュール２３３は、仮想空間２に配置されるオブジェクトの動作などを制御する。例えば、オブジェクト制御モジュール２３３は、後述するアバターオブジェクトの動作を制御する。
【００７１】
仮想空間制御モジュール２３０は、仮想空間２に配置されるオブジェクトのそれぞれが、他のオブジェクトと衝突した場合に、当該衝突を検出する。仮想空間制御モジュール２３０は、例えば、あるオブジェクトと、別のオブジェクトとが触れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。仮想空間制御モジュール２３０は、オブジェクトとオブジェクトとが触れている状態から離れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。仮想空間制御モジュール２３０は、オブジェクトとオブジェクトとが触れている状態であることを検出することができる。
【００７２】
メモリモジュール２４０は、コンピュータ２００が仮想空間２をユーザ１９０に提供するために使用されるデータを保持している。ある局面において、メモリモジュール２４０は、空間情報２４１と、オブジェクト情報２４２と、ユーザ情報２４３とを保持している。
【００７３】
空間情報２４１は、仮想空間２を提供するために規定された１つ以上のテンプレートを保持している。
【００７４】
オブジェクト情報２４２は、仮想空間２において再生されるコンテンツ、当該コンテンツで使用されるオブジェクト、およびオブジェクトを仮想空間２に配置するための情報（たとえば、位置情報）を保持している。
【００７５】
図９は、オブジェクト情報２４２のデータ構造例を示す。図９に示されるオブジェクト情報２４２は、オブジェクトごとに、仮想空間２に配置される位置と、３軸（ＸＹＺ）方向における大きさとを互いに関連付けて保持する。他の局面において、オブジェクト情報２４２は、オブジェクトをモデリングするためのデータをさらに関連付けて保持し得る。
【００７６】
図８を再び参照して、ユーザ情報２４３は、ＨＭＤシステム１００の制御装置としてコンピュータ２００を機能させるためのプログラム、オブジェクト情報２４２に保持される各コンテンツを使用するアプリケーションプログラム等を保持している。
【００７７】
メモリモジュール２４０に格納されているデータおよびプログラムは、ＨＭＤ１１０のユーザによって入力される。あるいは、プロセッサ１０が、当該コンテンツを提供する事業者が運営するコンピュータ（例えば、サーバ１５０）からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール２４０に格納する。
【００７８】
通信制御モジュール２５０は、ネットワーク１９を介して、サーバ１５０その他の情報通信装置と通信し得る。また、通信制御モジュール２５０は、ＨＭＤ１１０に搭載される種々のデバイスと通信し得る。
【００７９】
ある局面において、表示制御モジュール２２０および仮想空間制御モジュール２３０は、例えば、ユニティテクノロジーズ社によって提供されるＵｎｉｔｙ（登録商標）を用いて実現され得る。別の局面において、表示制御モジュール２２０および仮想空間制御モジュール２３０は、各処理を実現する回路素子の組み合わせとしても実現され得る。
【００８０】
コンピュータ２００における処理は、ハードウェアと、プロセッサ１０により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール２４０に予め格納されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール２５０を介してサーバ１５０その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ１０によって記憶モジュールから読み出され、実行可能なプログラムの形式でＲＡＭに格納される。プロセッサ１０は、そのプログラムを実行する。
【００８１】
［コンピュータ２００の制御構造］
図１０を参照して、コンピュータ２００における視界画像の更新方法について説明する。図１０は、ＨＭＤシステム１００における処理を表すフローチャートである。
【００８２】
ステップＳ１０１０において、コンピュータ２００のプロセッサ１０は、仮想空間定義モジュール２３１として、仮想空間２を定義する。より具体的には、プロセッサ１０は、仮想空間２の大きさや形状を定義し得る。
【００８３】
ステップＳ１０２０において、プロセッサ１０は、仮想カメラ１を仮想空間２に配置する。このとき、プロセッサ１０は、仮想カメラ１を仮想空間２において予め規定された初期位置２１に配置し得る。
【００８４】
ステップＳ１０３０にて、プロセッサ１０は、視界画像生成モジュール２２３として、初期の視界画像２６を表示するための視界画像データを生成する。生成された視界画像データは、視界画像生成モジュール２２３を介して通信制御モジュール２５０によってＨＭＤ１１０に送信される。
【００８５】
ステップＳ１０３２にて、ＨＭＤ１１０のモニタ１１２は、コンピュータ２００から受信した信号に基づいて、視界画像２６を表示する。ＨＭＤ１１０を装着したユーザ１９０は、視界画像２６を視認すると仮想空間２を認識し得る。
【００８６】
ステップＳ１０３４にて、センサ１１４は、ＨＭＤ１１０の動き（ＨＭＤ１１０の各軸まわりの角速度）を検知する。ＨＭＤ１１０の動きは、ユーザ１９０の頭の動きに連動している。センサ１１４は、検知結果を、コンピュータ２００に出力する。
【００８７】
ステップＳ１０４０にて、プロセッサ１０は、センサ１１４から入力された検知結果に基づいてＨＭＤ１１０の各軸まわりの角速度を算出する。プロセッサ１０は、算出された角速度に基づき、ＨＭＤ１１０の傾きを検知する。プロセッサ１０はさらに、仮想カメラ制御モジュール２２１として、検知した傾きに連動するように仮想カメラ１の傾き（すなわち、仮想カメラ１の基準視線５）を変更する。これにより、仮想カメラ１が撮影する視界画像２６が更新される。なお、図１０に示される例において、コンピュータ２００は、センサ１１４によってユーザ１９０の頭の動きを検知しているが、他の局面において、ＨＭＤセンサ１２０を用いて検知するように構成されてもよい。
【００８８】
ステップＳ１０５０において、プロセッサ１０は、視界画像生成モジュール２２３として、傾きを変更された仮想カメラ１が撮影する視界画像２６を表示するための視界画像データを生成し、生成した視界画像データをＨＭＤ１１０に出力する。
【００８９】
ステップＳ１０５２において、ＨＭＤ１１０のモニタ１１２は、受信した視界画像データに基づいて、更新後の視界画像を表示する。これにより、仮想空間２におけるユーザの視界が更新される。
【００９０】
［移動用オブジェクトを利用した仮想空間での移動］
図１１〜図１７を参照して、移動用オブジェクトを用いて仮想カメラ１の位置（すなわち、ユーザ１９０の視座）を移動する制御について説明する。図１１は、ある局面に従う仮想空間２の構成例を示す。
【００９１】
図１１に示される仮想空間２には、仮想的な映画館が構成されている。より具体的には、この仮想空間２は、スクリーンオブジェクト１１００と、座席オブジェクト１１１０−１、１１２０−２、・・・、１１２０−８と、移動用オブジェクト１１２０−１、１１２０−２、・・・、１１２０−８と、仮想カメラ１とを含む。以下、座席オブジェクト１１１０−１、１１２０−２、・・・、１１２０−８を総称して「座席オブジェクト１１１０」と言い、移動用オブジェクト１１２０−１、１１２０−２、・・・、１１２０−８を総称して「移動用オブジェクト１１２０」と言う。移動用オブジェクト１１２０は、座席オブジェクト１１１０の座面に配置されている。
【００９２】
ある局面において、初期状態において仮想カメラ１が配置される初期位置２１は、座席オブジェクト１１１０−５の上（Ｙ）方向であり得る。また、仮想カメラ１は、スクリーンオブジェクト１１００に正対するように配置されている。
【００９３】
図１２は、図１１の仮想カメラ１が撮影する視界画像１２００を示す。視界画像１２００は、座席オブジェクト１１１０−１、１１１０−２、１１１０−３と、スクリーン１１００とを含む。スクリーンオブジェクト１１００は、サーバ１５０から配信されるコンテンツ（例えば、静止画像、動画像）、またはストレージ１２に格納されるコンテンツを再生可能に構成される。ユーザ１９０は、仮想空間２の中でスクリーン１１００に映しだされるコンテンツを閲覧できる。
【００９４】
視界画像１２００は、マーカ１２１０をさらに含む。マーカ１２１０は、視界画像の中心に配置されている。図６および図７において、視認領域２３は、仮想空間２における基準視線５を中心とする所定範囲であると説明した。視界画像は、視認領域２３に対応する仮想空間画像２２である。したがって、視界画像の中心に表示されるマーカ１２１０は、基準視線５が指し示す位置に対応する。ある実施形態において、コンピュータ２００は、マーカ１２１０を、仮想空間２におけるユーザ１９０の視線が注がれる位置（注視点）として扱う。
【００９５】
図１１を再び参照して、ユーザ１９０は、座席オブジェクト１１１０−５から他の座席オブジェクト１１１０の位置に移動したい場合がある。係る場合、ユーザ１９０は、他の座席オブジェクト１１１０に対応する移動用オブジェクト１１２０を見つめる。コンピュータ２００は、移動用オブジェクト１１２０がユーザ１９０に所定時間（例えば、２秒間）見つめられたことを検知すると、当該見つめられた移動用オブジェクト１１２０の位置に仮想カメラ１（ユーザ１９０の視座）を移動する。
【００９６】
コンピュータ２００は、マーカ１２１０が移動用オブジェクト１１２０に重畳されたことに応じて、換言すれば、仮想空間２におけるユーザ１９０の視界の中央部に移動用オブジェクト１１２０が含まれたことに応じて、移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知する。なお、コンピュータ２００は、基準視線５のベクトルが、移動用オブジェクト１１２０が占める空間領域を貫いたことに応じて、マーカ１２１０が移動用オブジェクト１１２０に重畳されたことを検知できる。移動用オブジェクト１１２０が占める空間領域は、図９で説明したオブジェクト情報２４２に規定されている。
【００９７】
ある実施形態において、コンピュータ２００は、移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知すると、移動用オブジェクト１１２０の表示態様を変更する。これにより、コンピュータ２００は、ユーザ１９０が移動用オブジェクト１１２０を見つめている事象をコンピュータ２００が認識していることを、ユーザ１９０にフィードバックできる。
【００９８】
コンピュータ２００は、一例として、移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知すると、移動用オブジェクト１１２０の透過率を、見つめられる前の透過率よりも小さくする。ある実施形態において、ユーザ１９０に見つめられる前の移動用オブジェクト１１２０の透過率は１００％に設定される。これにより、コンピュータ２００は、ユーザ１９０が現実空間の映画館において存在しない移動用オブジェクト１１２０を頻繁に視認することによる、ユーザ１９０の仮想空間２への没入感の損失を抑制し得る。また、コンピュータ２００は、移動用オブジェクト１１２０がユーザ１９０に見つめられている時間に応じて、移動用オブジェクト１１２０の透過率を徐々に下げるように構成されてもよい。
【００９９】
なお、移動用オブジェクト１１２０の表示態様の変更方法は上記に限られない。例えば、コンピュータ２００は、移動用オブジェクト１１２０の色を変更する処理、移動用オブジェクト１１２０の大きさを変更する処理、移動用オブジェクト１１２０を点滅させる処理、その他の処理を実行し得る。
【０１００】
移動用オブジェクト１１２０の高さ位置（Ｙ方向における位置）は、初期状態において仮想カメラ１が配置される初期位置２１の高さ位置よりも、低く設定される。一例として、移動用オブジェクト１１２０の高さ位置は、初期位置２１の高さ位置から予め定められた距離はなれた位置に設定される。これにより、ユーザ１９０が意図的に下（Ｙ）方向を向かない限り、移動用オブジェクト１１２０がユーザ１９０の視界に含まれることはない。その理由は、ユーザ１９０は、通常、正面を向いているためである。この構成によれば、コンピュータ２００は、ユーザ１９０が頻繁に移動用オブジェクト１１２０を視認することによる、ユーザ１９０の仮想空間２への没入感の損失を抑制できる。
【０１０１】
以下、一例として、ユーザ１９０が、座席オブジェクト１１１０−５の位置から座席オブジェクト１１１０−４の位置に移動したい場合について説明する。この場合、ユーザ１９０は、仮想空間２において座席オブジェクト１１１０−４を視認するために、現実空間においてＨＭＤ１１０を装着した頭を左下方向に向ける。コンピュータ２００は、センサ１１４またはＨＭＤ１２０の出力に基づいて、このユーザ１９０の動作を検知する。これに応じて、コンピュータ２００は、図１３に示されるように仮想カメラ１の向きを変更する。
【０１０２】
図１４は、ユーザ１９０が移動用オブジェクト１１２０−４を注視していない状態の視界画像１４００を示す。視界画像１４００において、マーカ１２１０が、移動用オブジェクト１１２０−４に重畳されていない。そのため、コンピュータ２００は、移動用オブジェクト１１２０−４がユーザ１９０に見つめられたと検知しない。この状態において、移動用オブジェクト１１２０−４は透明であるため、ユーザ１９０はこのオブジェクトを視認していない。
【０１０３】
図１５は、ユーザ１９０が移動用オブジェクト１１２０−４を注視している状態の視界画像１５００を示す。視界画像１５００において、マーカ１２１０が、移動用オブジェクト１１２０−４に重畳されている。そのため、コンピュータ２００は、移動用オブジェクト１１２０−４がユーザ１９０に見つめられたと検知する。この状態において、移動用オブジェクト１１２０−４の透過率が徐々に下がっていくため、ユーザ１９０は、移動用オブジェクト１１２０−４を視認する。
【０１０４】
コンピュータ２００は、移動用オブジェクト１１２０−４が予め定められた時間ユーザ１９０に見つめられたことを検知すると、仮想カメラ１を、移動用オブジェクト１１２０−４に対応する位置に移動させる。ある実施形態において、コンピュータ２００は、仮想カメラ１を、移動用オブジェクト１１２０の位置に対して上（Ｙ）方向に予め定められた距離はなれた位置に移動させる。
【０１０５】
図１６は、仮想カメラ１を移動させた後の仮想空間２の構成を示す図である。図１６において、仮想カメラ１が座席オブジェクト１１１０−４の位置に移動している。これにより、ユーザ１９０は、座席オブジェクト１１１０−４の位置からスクリーンオブジェクト１１００を視認できる。
【０１０６】
図１７は、他の実施形態に従うメータオブジェクト１７００を説明するための図である。図１７において、移動用オブジェクト１１２０−４がユーザ１９０に見つめられている。コンピュータ２００は、これを検知して、移動用オブジェクト１１２０−４の近辺にメータオブジェクト１７００を配置する。メータオブジェクト１７００は、移動用オブジェクト１１２０−４がユーザ１９０に見つめられている時間に応じて時計回りに伸びるように構成される。また、メータオブジェクト１７００は、移動用オブジェクト１１２０−４がユーザ１９０に見つめられている時間が所定時間に到達すると、完全な円を形成するように構成される。この所定時間は、仮想カメラ１を移動するために必要な時間と同じに設定される。当該構成によれば、ユーザ１９０は、自身の視界（仮想カメラ１）が移動されるまでに要する時間を直感的に理解し得る。なお、他の局面において、メータオブジェクト１７００は、円形状に限られず、例えば、棒形状であってもよい。
【０１０７】
［制御構造］
図１８は、上記一連の、移動用オブジェクト１１２０を用いて仮想カメラ１を移動するための処理について説明するためのフローチャートである。図１８に示される処理は、コンピュータ２００のプロセッサ１０がメモリ１１またはストレージ１２に格納される制御プログラムを実行することにより実現され得る。
【０１０８】
ステップＳ１８０５において、プロセッサ１０は、仮想空間定義モジュール２３１として、仮想空間２を定義（作成）する。ステップＳ１８１０において、プロセッサ１０は、仮想オブジェクト生成モジュール２３２として、オブジェクト情報２４２を参照して、仮想カメラ１、座席オブジェクト１１１０、移動用オブジェクト１１２０、その他のオブジェクトを、所定の位置に配置する。
【０１０９】
ステップＳ１８１５において、視界画像生成モジュール２２３として、仮想カメラ１が撮影する視界画像２６を表示するための視界画像データをモニタ１１２に出力する。
【０１１０】
ステップＳ１８２０において、プロセッサ１０は、基準視線特定モジュール２２４として、センサ１１４またはＨＭＤセンサ１２０の出力に基づいて、ＨＭＤ１１０の動き（傾き）を検知する。ＨＭＤ１１０の動きは、ユーザ１９０の頭の動きに連動している。ステップＳ１８２５において、プロセッサ１０は、基準視線特定モジュール２２４として、検知したＨＭＤ１１０の動きに基づいて、基準視線５を特定する。
【０１１１】
ステップＳ１８３０において、プロセッサ１０は、移動用オブジェクト１１２０がユーザ１９０によって見つめられているか否かを判断する。プロセッサ１０は、移動用オブジェクト１１２０がユーザ１９０によって見つめられていると判断した場合（ステップＳ１８３０においてＹＥＳ）、処理をステップＳ１８３５に進める。一方、プロセッサ１０は、移動用オブジェクト１１２０がユーザ１９０によって見つめられていないと判断した場合（ステップＳ１８３０においてＮＯ）、処理をステップＳ１８５０に進める。
【０１１２】
ステップＳ１８３５において、プロセッサ１０は、移動用オブジェクト１１２０の表示態様を変更する。一例として、プロセッサ１０は、移動用オブジェクト１１２０の透過率を１．７％下げる。これにより、ユーザ１９０は、移動用オブジェクト１１２０を視認し得る。ある実施形態において、プロセッサ１０は、ステップＳ１８２０〜Ｓ１８５０の処理を１／３０秒間隔で繰り返すように構成される。この場合、移動用オブジェクト１１２０がユーザ１９０に２秒間見つめられると、移動用オブジェクト１１２０の透過率は約０％になる。
【０１１３】
ステップＳ１８４０において、プロセッサ１０は、予め定められた時間（例えば、２秒間）にわたり移動用オブジェクト１１２０がユーザ１９０によって見つめられたか否かを判断する。プロセッサ１０は、予め定められた時間にわたり移動用オブジェクト１１２０が見つめられたと判断した場合（ステップＳ１８４０においてＹＥＳ）、処理をステップＳ１８４５に進める。一方、プロセッサ１０は、予め定められた時間にわたり移動用オブジェクト１１２０が見つめられていないと判断した場合（ステップＳ１８４０においてＮＯ）、処理をステップＳ１８５０に進める。
【０１１４】
ステップＳ１８４５において、プロセッサ１０は、仮想カメラ制御モジュール２２１として、仮想カメラ１の位置（ユーザ１９０の視座）を、見つめられた移動用オブジェクト１１２０に対応する位置に移動させる。
【０１１５】
ステップＳ１８５０において、プロセッサ１０は、視界画像生成モジュール２２３として、仮想カメラ１が撮影する視界画像２６をモニタ１１２に表示する。
【０１１６】
上記によれば、ある実施形態に従うＨＭＤシステム１００は、移動用オブジェクト１１２０がユーザ１９０に見つめられたことに応じて、仮想空間２におけるユーザ１９０の視座を移動させることができる。そのため、ユーザ１９０は、手で操作するコントローラを有さなくとも、容易に仮想空間２の中を移動できる。
【０１１７】
［アバターオブジェクト］
図１９を参照して、ある実施形態に従うアバターオブジェクトについて説明する。図１９は、ＨＭＤセット１０５Ａ，１０５Ｂ，１０５Ｃ，１０５Ｄの各ユーザのアバターオブジェクトを説明するための図である。以下、ＨＭＤセット１０５Ａのユーザをユーザ１９０Ａ、ＨＭＤセット１０５Ｂのユーザをユーザ１９０Ｂ、ＨＭＤセット１０５Ｃのユーザをユーザ１９０Ｃ、ＨＭＤセット１０５Ｄのユーザをユーザ１９０Ｄと表す。また、ＨＭＤセット１０５Ａに関する各構成要素の参照符号にＡが付され、ＨＭＤセット１０５Ｂに関する各構成要素の参照符号にＢが付され、ＨＭＤセット１０５Ｃに関する各構成要素の参照符号にＣが付され、ＨＭＤセット１０５Ｄに関する各構成要素の参照符号にＤが付される。例えば、ＨＭＤ１１０Ａは、ＨＭＤセット１０５Ａに含まれる。
【０１１８】
図１９において、コンピュータ２００Ａ〜２００Ｄのそれぞれは、ＨＭＤ１１０Ａ〜１１０Ｄのそれぞれを介して、ユーザ１９０Ａ〜１９０Ｄのそれぞれに、仮想空間２Ａ〜２Ｄのそれぞれを提供する。図１９において、仮想空間２Ａに展開されているコンテンツと、仮想空間２Ｂに展開されているコンテンツとは同じである。換言すれば、コンピュータ２００Ａ（ユーザ１９０Ａ）とコンピュータ２００Ｂ（ユーザ１９０Ｂ）とは同じ仮想空間を共有している。
【０１１９】
仮想空間を共有しているユーザ１９０Ａおよびユーザ１９０Ｂは、仮想空間上で互いにコミュニケーションを図ることができる。より具体的には、マイク１１９Ａにより取得されたユーザ１９０Ａの音声データは、サーバ１５０を介してユーザ１９０ＢのＨＭＤ１１０Ｂに送信され、ＨＭＤ１１０Ｂに設けられたスピーカ１１８Ｂから出力される。また、ユーザ１９０Ｂの音声データはサーバ１５０を介してユーザ１９０ＡのＨＭＤ１１０Ａに送信され、音声はＨＭＤ１１０Ａに設けられたスピーカ１１８Ａから出力される。これにより、ユーザ１９０Ａおよび１９０Ｂは、音声により互いにコミュニケーションできる。
【０１２０】
また、仮想空間２Ａおよび仮想空間２Ｂには、ユーザ１９０Ａのアバターオブジェクト１９００Ａと、ユーザ１９０Ｂのアバターオブジェクト１９００Ｂとが配置される。それぞれの仮想空間において、ユーザ１９０Ａの動き（ＨＭＤ１１０Ａの動き）は、アバターオブジェクト１９００Ａに反映され、ユーザ１９０Ｂの動き（ＨＭＤ１１０Ｂの動き）は、アバターオブジェクト１９００Ｂに反映される。より具体的には、コンピュータ２００Ａは、センサ１１４ＢまたはＨＭＤセンサ１２０Ｂにより取得されるユーザ１９０Ｂの動きを示すデータをサーバ１５０を介して受信する。コンピュータ２００Ａは、受信したデータに基づいて、アバターオブジェクト１９００Ｂの動作を制御する。これによりユーザ１９０Ａは、アバターオブジェクト１９００Ｂを通じてユーザ１９０Ｂの動きを認識できる。
【０１２１】
［移動を禁止する処理］
次に、図２０〜図２２を用いて、移動用オブジェクト１１２０がユーザ１９０に見つめられた場合であっても、移動を実行しない場合について説明する。
【０１２２】
図２０は、ある局面に従う仮想空間２Ａを示す。図２０に示される仮想空間２Ａにおいて、座席オブジェクト１１１０−２にアバターオブジェクト１９００Ｂが座っている。また、座席オブジェクト１１１０−５にアバターオブジェクト１９００Ａが座っている。
【０１２３】
ある局面において、仮想カメラ制御モジュール２２１Ａは、ユーザ１９０Ａの視界画像２６Ａを撮影する仮想カメラ１Ａ（図示しない）を、アバターオブジェクト１９００Ａの顔（目）の位置に配置し得る。
【０１２４】
図２１は、図２０の状態におけるユーザ１９０Ａの視界画像２１００を示す。視界画像２１００において、マーカ１２１０が移動用オブジェクト１１２０−２に重畳されている。しかしながら、コンピュータ２００Ａは、ユーザ１９０Ａの視座（アバターオブジェクト１９００Ａの顔に配置される仮想カメラ１Ａ）を、座席オブジェクト１１１０−２に対応する位置に移動させない。その理由は、既に座席オブジェクト１１１０−２にはアバターオブジェクト１９００Ｂが配置されているためである。より具体的には、仮に、座席オブジェクト１１１０−２に、アバターオブジェクト１９００Ａおよび１９００Ｂを配置した場合、アバターオブジェクト同士の距離が極端に近くなってしまい、ユーザ１９０Ａおよび１９０Ｂは、互いにコミュニケーションが図りにくくなってしまうためである。また、第３者（例えば、ユーザ１９０Ｃ）が、アバターオブジェクト１９００Ａと１９００Ｂとが重なっている状態を見て違和感を覚えることを抑制するためである。
【０１２５】
このとき、コンピュータ２００Ａは、移動用オブジェクト１１２０−２がユーザ１９０Ａに見つめられたことを検知しても、移動用オブジェクト１１２０−２の表示態様を変更しないように構成されてもよい。一例として、図２１において、コンピュータ２００Ａは、マーカ１２１０が移動用オブジェクト１１２０−２に重畳されているにもかかわらず、移動用オブジェクト１１２０−２の透過率を小さくしない。当該構成によれば、ユーザ１９０は、移動用オブジェクト１１２０−２をそもそも視認できないため、このオブジェクトを移動先として誤認することはない。
【０１２６】
図２２は、移動処理を中止するための処理を説明するフローチャートである。なお、図２２において、上述の処理と同じ処理には同じ参照符号を付している。したがって、その処理についての説明は繰り返さない。
【０１２７】
ステップＳ２２１０において、プロセッサ１０は、仮想カメラ１と、座席オブジェクト１１１０と、移動用オブジェクト１１２０とに加えて、アバターオブジェクト１９００を仮想空間２に配置する。
【０１２８】
ステップＳ１８３０において、プロセッサ１０は、移動用オブジェクト１１２０がユーザ１９０によって見つめられていると判断した場合（ステップＳ１８３０においてＹＥＳ）、処理をステップＳ２２２０に進める。
【０１２９】
ステップＳ２２２０において、プロセッサ１０は、見つめられている移動用オブジェクト１１２０の位置に、アバターオブジェクト１９００が存在しているか否かを判断する。具体例を用いてこの処理を説明する。ユーザ１９０Ｂの操作によってアバターオブジェクト１９００Ｂ（仮想カメラ１Ｂ）が仮想空間２Ｂの中を移動した場合、移動先を示す情報がサーバ１５０を介してコンピュータ２００Ｂからコンピュータ２００Ａに送信される。これにより、コンピュータ２００Ａは、仮想空間２におけるアバターオブジェクト１９００Ｂを移動させる。このようにコンピュータ２００Ａは、アバターオブジェクト１９００Ｂの位置を把握できる。これにより、コンピュータ２００Ａは、アバターオブジェクト１９００Ｂが座席オブジェクト１１１０のいずれに座っているのかを把握できる。
【０１３０】
プロセッサ１０は、見つめられている移動用オブジェクト１１２０の位置に、アバターオブジェクト１９００が存在していると判断した場合（ステップＳ２２２０においてＹＥＳ）、処理をステップＳ１８５０に進める。この場合、プロセッサ１０は、ステップＳ１８３５の処理（移動用オブジェクト１１２０の表示態様を変更する処理）およびステップＳ１８４５の処理（ユーザの視座を移動する処理）を禁止（省略）する。
【０１３１】
一方、プロセッサ１０は、見つめられている移動用オブジェクト１１２０の位置に、アバターオブジェクト１９００が存在していないと判断した場合（ステップＳ２２２０においてＮＯ）、処理をステップＳ１８３５に進める。
【０１３２】
上記によれば、ＨＭＤシステム１００は、仮想空間上の略同じ位置に、二人以上のユーザの視座（アバターオブジェクト）を配置することを防ぐことで、アバターオブジェクト同士の距離が極端に近くなることを抑制する。その結果、ＨＭＤシステム１００は、仮想空間上でのより円滑なコミュニケーションをユーザに提供し得る。
【０１３３】
［他の構成］
（移動先をより明確にする処理）
図２３は、ある局面に従うユーザ１９０Ａの視界画像２３００を示す。視界画像２３００において、マーカ１２１０が移動用オブジェクト１１２０−１に重畳されている。そのため、移動用オブジェクト１１２０−１が可視化されている。
【０１３４】
ある実施形態において、コンピュータ２００Ａは、移動用オブジェクト１１２０が見つめられている間、仮想空間２Ａに配置されるオブジェクトのうち、移動用オブジェクト１１２０以外のオブジェクトの輝度値を小さくする。一例として、図２３において、コンピュータ２００Ａは、アバターオブジェクト１９００Ｂおよびスクリーンオブジェクト１１００の輝度値を予め定められた割合（例えば、５０％）だけ小さくし得る。なお、他の局面において、コンピュータ２００Ａは、スクリーンオブジェクト１１００全体の輝度値ではなく、スクリーンオブジェクト１１００で再生されるコンテンツの輝度値のみを小さくすうように構成されてもよい。
【０１３５】
スクリーンオブジェクト１１００やアバターオブジェクト１９００Ｂの輝度値が小さくなると、ユーザ１９０Ａは、自身が見つめている移動用オブジェクト１１２０が強調されているように感じる。そのため、ユーザ１９０Ａは、移動用オブジェクト１１２０をより視認しやすくなる。したがって、ユーザ１９０Ａは、仮想空間２Ａにおける移動候補先をより選択しやすくなる。
【０１３６】
（複数の移動先を明示する処理）
図２４は、ある局面に従うユーザ１９０の視界画像２４００を示す。視界画像２４００は、座席オブジェクト１１１０と移動用オブジェクト１１２０とに加えて、メニューオブジェクト２４１０を含む。
【０１３７】
ある局面において、ユーザ１９０は、ＨＭＤ１１０の設定変更などを行なうためにメニューオブジェクト２４１０を見る。例えば、コンピュータ２００は、注視センサ１４０によってユーザ１９０が連続的に瞬きを行なったことを検知して、メニューオブジェクト２４１０を仮想空間２に配置する。
【０１３８】
図２４を参照して、ある実施形態に従うコンピュータ２００は、メニューオブジェクト２４１０を仮想空間２に配置している間、ユーザ１９０の視界に含まれる全ての移動用オブジェクト１１２０の表示態様を変更する（例えば、移動用オブジェクト１１２０の透過率を小さくする）。その理由は、メニューオブジェクト２４１０が表示されている間、ユーザ１９０は、スクリーンオブジェクト１１００に表示されるコンテンツや、他のユーザとのコミュニケーションに集中しておらず、移動用オブジェクト１１２０の表示態様が変更されたとしてもユーザ１９０の邪魔にならないためである。また、ユーザ１９０は、視界に含まれる全ての移動用オブジェクト１１２０を視認できるため、移動候補である移動用オブジェクト１１２０の位置を把握できる。
【０１３９】
他の局面において、コンピュータ２００は、ユーザ１９０が下を向いている間、ユーザ１９０の視界に含まれる全ての移動用オブジェクト１１２０の表示態様を変更する構成であってもよい。ユーザ１９０の視線の高さ（Ｙ方向の位置）は、通常、スクリーンオブジェクト１１００を見るために、または、他のユーザとのコミュニケーションを図るために、（ＸＺ平面に対して）略水平方向を向いている。そのため、ユーザ１９０が下を向いている間に移動用オブジェクト１１２０の表示態様が変更されたとしても、これらはユーザ１９０の邪魔にならない。
【０１４０】
コンピュータ２００は、例えば、センサ１１４が検出するピッチ軸まわりの角速度に基づいて、初期角度に対するピッチ軸まわりの角度変位がしきい値（例えば、３０度）を超えた場合に、ユーザ１９０が下を向いていると判断し得る。コンピュータ２００は、ＨＭＤ１１０を装着しているユーザ１９０が水平方向を観察しているときに角速度センサ１１４より取得されるピッチ角を初期角度として設定し得る。
【０１４１】
なお、コンピュータ２００は、ＨＭＤセンサ１２０によってＨＭＤ１１０のピッチ軸まわりの角速度を取得してもよい。この場合、コンピュータ２００は、ＨＭＤセンサ１２０の出力に基づいてＨＭＤ１１０の水平状態を検出できる。そのため、コンピュータ２００は、水平状態のＨＭＤ１１０のピッチ角を初期角度として設定し得る。
【０１４２】
（移動用オブジェクトがユーザに見つめられていることの検出方法）
上記の例では、コンピュータ２００は、ユーザ１９０の視界の中心（マーカ１２１０）をユーザ１９０の視線として扱うように構成されている。他の局面において、コンピュータ２００は、注視センサ１４０によって検出されるユーザ１９０の視線が、移動用オブジェクト１１２０に向けられていることに応じて、移動用オブジェクト１１２０がユーザ１９０に見つめられていると判断してもよい。
【０１４３】
この場合、マーカ１２１０は、視界画像の中心に固定されず、注視センサ１４０によって検出されるユーザ１９０の視線に応じて視界画像の中を移動する。当該構成によれば、ユーザ１９０が移動用オブジェクト１１２０を見つめていることを、より正確に検知し得る。
【０１４４】
［構成］
以上に開示された技術的特徴は、以下のように要約され得る。
【０１４５】
（構成１）  ある実施形態に従うと、ＨＭＤ１１０によって提供される仮想空間２における移動を支援するためにコンピュータ２００で実行される方法が提供される。この方法は、仮想空間２を定義するステップ（Ｓ１８０５）と、仮想空間２に、移動用オブジェクト１１２０を配置するステップ（Ｓ１８１０）と、移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知するステップ（Ｓ１８３０）と、移動用オブジェクト１１２０がユーザ１９０に見つめられたことに応じて、移動用オブジェクト１１２０の表示態様を変更するステップ（Ｓ１８３５）と、移動用オブジェクト１１２０が予め定められた時間ユーザ１９０に見つめられたことに応じて、ＨＭＤ１１０のユーザ１９０の仮想空間２における視座（仮想カメラ１の位置）を、移動用オブジェクト１１２０の位置に対応する位置に移動させるステップ（Ｓ１８４５）とを備える。
【０１４６】
（構成２）  （構成１）に記載の方法は、仮想空間２に、座席オブジェクトを配置するステップをさらに備える。移動用オブジェクト１１２０を配置するステップは、座席オブジェクト１１１０の座面に移動用オブジェクト１１２０を配置することを含む。
【０１４７】
（構成３）  （構成１）または（構成２）において、移動用オブジェクト１１２０を配置するステップは、仮想空間２における視座の初期高さ（初期位置２１のＹ方向における位置）よりも下方に移動用オブジェクト１１２０を配置することを含む。
【０１４８】
（構成４）  （構成１）〜（構成３）のいずれかにおいて、移動用オブジェクト１１２０の表示態様を変更するステップは、移動用オブジェクト１１２０がユーザ１９０に見つめられたことに応じて、移動用オブジェクト１１２０の透過率を、ユーザ１９０に見つめられる前の移動用オブジェクト１１２０の透過率よりも小さくすることを含む。
【０１４９】
（構成５）  （構成１）〜（構成４）のいずれかに記載の方法は、仮想空間２を介して通信する他のユーザ１９０のアバターオブジェクトを仮想空間２に配置するステップ（Ｓ２２１０）と、移動用オブジェクト１１２０の位置にアバターオブジェクトが存在するか否かを判断するステップ（Ｓ２２２０）とをさらに備える。ユーザ１９０の視座を移動させるステップは、移動用オブジェクト１１２０の位置にアバターオブジェクトが存在すると判断された場合（Ｓ２２２０においてＹＥＳ）に、ユーザ１９０の視座を移動用オブジェクト１１２０の位置に対応する位置に移動させることを禁止することを含む。
【０１５０】
（構成６）  （構成５）において、移動用オブジェクト１１２０の表示態様を変更するステップは、移動用オブジェクト１１２０の位置にアバターオブジェクトが存在すると判断された場合（Ｓ２２２０においてＹＥＳ）に、オブジェクトの表示態様の変更を禁止することを含む。
【０１５１】
（構成７）  （構成１）〜（構成６）のいずれかに記載の方法は、ユーザ１９０が移動用オブジェクト１１２０を見つめている間、仮想空間２に配置されるオブジェクトのうち、移動用オブジェクト１１２０以外のオブジェクトの輝度値を小さくするステップをさらに備える。
【０１５２】
（構成８）  （構成７）において、移動用オブジェクト１１２０以外のオブジェクトは、仮想空間２を介して通信する他のユーザ１９０のアバターオブジェクト、および動画を再生可能に構成されるスクリーンオブジェクト１１００の少なくとも一方を含む。
【０１５３】
（構成９）  （構成１）〜（構成８）のいずれかにおいて、移動用オブジェクト１１２０を配置するステップは、複数の移動用オブジェクト１１２０を仮想空間２に配置することを含む。この方法は、仮想空間２に、メニューオブジェクト２４１０を配置ステップと、メニューオブジェクト２４１０が仮想空間２に配置されている間、複数の移動用オブジェクト１１２０の表示態様を変更するステップとをさらに備える。
【０１５４】
（構成１０）  （構成１）〜（構成９）のいずれかにおいて、移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知するステップは、仮想空間２におけるユーザ１９０の視界の中央部（マーカ１２１０）に移動用オブジェクト１１２０が含まれたことに応じて、移動用オブジェクト１１２０が見つめられたと検知することを含む。
【０１５５】
（構成１１）  （構成１）〜（構成９）のいずれかに記載の方法は、ユーザ１９０の視線を注視センサ１４０を用いて検出するステップをさらに備える。移動用オブジェクト１１２０がユーザ１９０に見つめられたことを検知するステップは、検出されたユーザ１９０の視線が移動用オブジェクト１１２０に注がれたことに応じて、移動用オブジェクト１１２０が見つめられたと検知することを含む。
【０１５６】
今回開示された実施形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１５７】
１  仮想カメラ、２  仮想空間、５  基準視線、１０  プロセッサ、１１  メモリ、１２  ストレージ、１９  ネットワーク、２１  初期位置、２３  視認領域、２６，１２００，１４００，１５００，２１００，２３００，２４００  視界画像、１００  ＨＭＤシステム、１０５  ＨＭＤセット、１１２  モニタ、１１４  センサ、１２０  ＨＭＤセンサ、１１８  スピーカ、１１９  マイク、１４０  注視センサ、１５０  サーバ、１９０  ユーザ、２００  コンピュータ、２２０  表示制御モジュール、２２１  仮想カメラ制御モジュール、２２２  視界領域決定モジュール、２２３  視界画像生成モジュール、２２４  基準視線特定モジュール、２３０  仮想空間制御モジュール、２３１  仮想空間定義モジュール、２３２  仮想オブジェクト生成モジュール、２３３  オブジェクト制御モジュール、２４０  メモリモジュール、２４１  空間情報、２４２  オブジェクト情報、２４３  ユーザ情報、２５０  通信制御モジュール、１１００  スクリーンオブジェクト、１１１０  座席オブジェクト、１１２０  移動用オブジェクト、１２１０  マーカ、１７００  メータオブジェクト、１９００  アバターオブジェクト、２４１０  メニューオブジェクト、Ｎ１  注視点。
【図１】
2018124907.tif 000003
【図２】
2018124907.tif 000004
【図３】
2018124907.tif 000005
【図４】
2018124907.tif 000006
【図５】
2018124907.tif 000007
【図６】
2018124907.tif 000008
【図７】
2018124907.tif 000009
【図８】
2018124907.tif 000010
【図９】
2018124907.tif 000011
【図１０】
2018124907.tif 000012
【図１１】
2018124907.tif 000013
【図１２】
2018124907.tif 000014
【図１３】
2018124907.tif 000015
【図１４】
2018124907.tif 000016
【図１５】
2018124907.tif 000017
【図１６】
2018124907.tif 000018
【図１７】
2018124907.tif 000019
【図１８】
2018124907.tif 000020
【図１９】
2018124907.tif 000021
【図２０】
2018124907.tif 000022
【図２１】
2018124907.tif 000023
【図２２】
2018124907.tif 000024
【図２３】
2018124907.tif 000025
【図２４】
2018124907.tif 000026
【手続補正書】
【提出日】平成29年12月8日(2017.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ヘッドマウントデバイスによって提供される仮想空間における移動を支援するためにコンピュータで実行される方法であって、
仮想空間を定義するステップと、
前記仮想空間に、仮想カメラを配置するステップと、
前記仮想カメラの撮影範囲に対応する画像を前記ヘッドマウントデバイスに出力するステップと、
前記仮想空間に、移動用オブジェクトを配置するステップと、
前記移動用オブジェクトが前記ヘッドマウントデバイスのユーザに見つめられたことを検知するステップと、
前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの表示態様を変更するステップと、
前記移動用オブジェクトが予め定められた時間前記ユーザに見つめられたことに応じて、前記仮想カメラを、前記移動用オブジェクトの位置に対応する位置に移動させるステップとを備える、方法。
【請求項２】
ヘッドマウントデバイスによって提供される仮想空間における移動を支援するためにコンピュータで実行される方法であって、
仮想空間を定義するステップと、
前記仮想空間に、移動用オブジェクトを配置するステップと、
前記移動用オブジェクトが前記ヘッドマウントデバイスのユーザに見つめられたことを検知するステップと、
前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの表示態様を変更するステップと、
前記移動用オブジェクトが予め定められた時間前記ユーザに見つめられたことに応じて、前記ユーザの前記仮想空間における視座を、前記移動用オブジェクトの位置に対応する位置に移動させるステップとを備え、前記方法は、
前記仮想空間に、座席オブジェクトを配置するステップをさらに備え、
前記移動用オブジェクトを配置するステップは、前記座席オブジェクトの座面に前記移動用オブジェクトを配置することを含む、方法。
【請求項３】
前記移動用オブジェクトを配置するステップは、前記仮想空間における前記仮想カメラの初期高さよりも下方に前記移動用オブジェクトを配置することを含む、請求項１に記載の方法。
【請求項４】
前記移動用オブジェクトの表示態様を変更するステップは、前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの透過率を、前記ユーザに見つめられる前の前記移動用オブジェクトの透過率よりも小さくすることを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
ヘッドマウントデバイスによって提供される仮想空間における移動を支援するためにコンピュータで実行される方法であって、
仮想空間を定義するステップと、
前記仮想空間に、移動用オブジェクトを配置するステップと、
前記移動用オブジェクトが前記ヘッドマウントデバイスのユーザに見つめられたことを検知するステップと、
前記移動用オブジェクトが前記ユーザに見つめられたことに応じて、前記移動用オブジェクトの表示態様を変更するステップと、
前記移動用オブジェクトが予め定められた時間前記ユーザに見つめられたことに応じて、前記ユーザの前記仮想空間における視座を、前記移動用オブジェクトの位置に対応する位置に移動させるステップとを備え、前記方法は、
前記仮想空間を介して通信する他のユーザのアバターオブジェクトを前記仮想空間に配置するステップと、
前記移動用オブジェクトの位置に前記アバターオブジェクトが存在するか否かを判断するステップとをさらに備え、
前記ユーザの視座を移動させるステップは、前記移動用オブジェクトの位置に前記アバターオブジェクトが存在すると判断された場合に、前記ユーザの視座を前記移動用オブジェクトの位置に対応する位置に移動させることを禁止することを含む、方法。
【請求項６】
前記移動用オブジェクトの表示態様を変更するステップは、前記移動用オブジェクトの位置に前記アバターオブジェクトが存在すると判断された場合に、前記移動用オブジェクトの表示態様の変更を禁止することを含む、請求項５に記載の方法。
【請求項７】
前記ユーザが前記移動用オブジェクトを見つめている間、前記仮想空間に配置されるオブジェクトのうち、前記移動用オブジェクト以外のオブジェクトの輝度値を小さくするステップをさらに備える、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記移動用オブジェクト以外のオブジェクトは、前記仮想空間を介して通信する他のユーザのアバターオブジェクト、および動画を再生可能に構成されるオブジェクトの少なくとも一方を含む、請求項７に記載の方法。
【請求項９】
前記移動用オブジェクトを配置するステップは、複数の前記移動用オブジェクトを前記仮想空間に配置することを含み、 
前記仮想空間に、メニューオブジェクトを配置ステップと、
前記メニューオブジェクトが前記仮想空間に配置されている間、前記複数の移動用オブジェクトの表示態様を変更するステップとをさらに備える、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記移動用オブジェクトが前記ユーザに見つめられたことを検知するステップは、前記仮想空間における前記ユーザの視界の中央部に前記移動用オブジェクトが含まれたことに応じて、前記移動用オブジェクトが見つめられたと検知することを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記ユーザの視線を検出するステップをさらに備え、
前記移動用オブジェクトが前記ユーザに見つめられたことを検知するステップは、前記検出されたユーザの視線が前記移動用オブジェクトに注がれたことに応じて、前記移動用オブジェクトが見つめられたと検知することを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１２】
請求項１〜１１のいずれか１項に記載の方法をコンピュータに実現させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムを格納したメモリと、
前記プログラムを実行するためのプロセッサとを備える、情報処理装置。