(57)【要約】      （修正有）【課題】コントローラの操作に関連する付加情報を提示する方法においてユーザの利便性を高める。【解決手段】仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、ＶＲ空間内のオブジェクトを操作するためのコントローラと、ヘッドマウントデバイス及びコントローラを追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、トラッキング情報に基づいて、コントローラに対応するＶＲ空間内の仮想コントローラをディスプレイの画面の第１エリアに含む第１ＶＲ画像を生成するステップと、トラッキング情報の変化に応答して、仮想コントローラ１２２０Ａを前記画面の第２エリアに含み、コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像１４００を生成するステップと、を含む。【選択図】図１４
2019021237.tif 000002
【特許請求の範囲】
【請求項１】
仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイス及び前記コントローラを追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、
前記トラッキング情報に基づいて、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを前記ディスプレイの画面の第１エリアに含む第１ＶＲ画像を生成するステップと、
前記トラッキング情報の変化に応答して、前記仮想コントローラを前記画面の第２エリアに含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、
を含む方法。
【請求項２】
前記第２エリアは、前記第１エリアよりも前記画面の中心近くに位置するエリアである、請求項１に記載の方法。
【請求項３】
前記第１ＶＲ画像を生成する前記ステップは、
前記画面の注視エリアを特定するステップと、
前記トラッキング情報に基づいて、前記画面内における前記仮想コントローラの位置を特定するステップと、
前記注視エリアと前記仮想コントローラの位置との距離を決定するステップと、
前記注視エリアと前記仮想コントローラの前記位置との距離が所定値よりも大きい場合に、前記第１ＶＲ画像を生成するステップと、
を含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記注視エリアは、前記画面内の固定位置として予め設定される、又はユーザの視線の動きに応じて動的に決定される、請求項３に記載の方法。
【請求項５】
前記第２ＶＲ画像を生成する前記ステップは、
前記トラッキング情報の変化に応答して、前記画面内における前記仮想コントローラの位置を更新するステップと、
前記注視エリアと前記仮想コントローラの前記更新された位置との距離を決定するステップと、
前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に、前記第２ＶＲ画像を生成するステップと、
を含む、請求項３又は請求項４に記載の方法。
【請求項６】
前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に前記第２ＶＲ画像を生成する前記ステップは、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が、所定時間よりも長い期間にわたって前記所定値よりも小さく保持された場合に、前記第２ＶＲ画像を生成するステップを含む、請求項５に記載の方法。
【請求項７】
前記ＶＲ空間は、ユーザの関心領域を含み、
前記方法は、更に、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合であっても、前記関心領域と前記仮想コントローラの前記更新された位置との距離が第２の所定値よりも小さいときは、前記第２ＶＲ画像の生成を禁止するステップを含む、
請求項５又は請求項６に記載の方法。
【請求項８】
前記関心領域は、前記コントローラによる操作対象である前記オブジェクトが存在している前記ＶＲ空間内の領域である、請求項７に記載の方法。
【請求項９】
前記トラッキング情報は、前記ヘッドマウントデバイスの位置及び向きの情報並びに前記コントローラの位置の情報を含む、請求項１から請求項８のいずれか１項に記載の方法。
【請求項１０】
前記トラッキング情報は、前記コントローラの向きの情報を更に含み、
前記付加情報は、前記仮想コントローラの周囲において前記コントローラの向きに対応した向きに提示される、
請求項９に記載の方法。
【請求項１１】
前記トラッキング情報の変化は、前記ヘッドマウントデバイスの向きが下へ傾く変化、又は前記コントローラの位置が上昇する変化である、請求項１から請求項１０のいずれか１項に記載の方法。
【請求項１２】
前記コントローラは、ユーザからの操作を受け付ける操作エレメントを含み、
前記仮想コントローラは、前記操作エレメントに対応する仮想操作エレメントを含み、
前記付加情報は、前記操作エレメントについての説明を記述するテキスト又は画像を、対応する前記仮想操作エレメントと視覚的に関連付けて提示する、
請求項１から請求項１１のいずれか１項に記載の方法。
【請求項１３】
前記操作エレメントに対するユーザ操作が行われた場合に、前記第２ＶＲ画像から前記付加情報を取り除くステップを更に含む、請求項１２に記載の方法。
【請求項１４】
仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイスを装着したユーザの視線を追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、
前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを含む第１ＶＲ画像を生成するステップと、
前記トラッキング情報の変化に応答して、前記仮想コントローラを含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、
を含む方法。
【請求項１５】
プロセッサと、
プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１４のいずれか１項に記載の方法を実行させる、メモリと、
を備えるコンピュータ。
【請求項１６】
プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１４のいずれか１項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、コンピュータ、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、シースルーディスプレイデバイスを通してコントロールデバイスを見る場合に、コントロールデバイスのインタラクティブな要素の機能を案内するためのイメージを、コントロールデバイスのインタラクティブな要素の上又は近傍に表示することによって、拡張現実を提供する技術が開示されている。特許文献１の技術によれば、ゲームプレイ中の状態変化に応じて、コントロールデバイスのインタラクティブな要素の機能を案内することが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１８５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のような技術において、ユーザの利便性を高めるために改善の余地がある。
【０００５】
本開示は、上記の点に鑑みてなされたものであり、その目的の１つは、コントローラの操作に関連する付加情報を提示する方法においてユーザの利便性を高めることにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本開示の一態様は、仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイス及び前記コントローラを追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、前記トラッキング情報に基づいて、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを前記ディスプレイの画面の第１エリアに含む第１ＶＲ画像を生成するステップと、前記トラッキング情報の変化に応答して、前記仮想コントローラを前記画面の第２エリアに含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、を含む方法である。
【０００７】
また、本開示の他の一態様は、仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイスを装着したユーザの視線を追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを含む第１ＶＲ画像を生成するステップと、前記トラッキング情報の変化に応答して、前記仮想コントローラを含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、を含む方法である。
【０００８】
また、本開示の他の一態様は、プロセッサとメモリを備え、前記プロセッサの制御により、前記方法が実行される、コンピュータである。
【０００９】
また、本開示の他の一態様は、プロセッサによって実行されると、前記プロセッサに、前記方法を実行させる、プログラムである。
【発明の効果】
【００１０】
本開示によれば、コントローラの操作に関連する付加情報を提示する方法においてユーザの利便性を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】ＨＭＤシステム１００の構成を概略的に示す。
【図２】一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態による、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態による、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態による、ＨＭＤ１１０を装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視認領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視認領域をｙ方向から見たｘｚ断面を表す図である。
【図８】一実施形態によるコントローラの概略構成を表す図である。
【図９】一実施形態による、ＨＭＤシステムにおける仮想空間の表示処理等を実現するためのコンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態による方法のフローチャートである。
【図１２】本開示の一実施形態において想定されるゲームの態様を概略的に説明する図である。
【図１３】本開示の一実施形態の処理により生成される第１ＶＲ画像の例を示す。
【図１４】本開示の一実施形態の処理により生成される第２ＶＲ画像の例を示す。
【図１５】本開示の一実施形態の処理により生成される第２ＶＲ画像の例を示す。
【図１６】本開示の一実施形態の処理により生成される第２ＶＲ画像の例を示す。
【図１７】本開示の一実施形態による方法のフローチャートである。
【図１８】本開示の一実施形態の処理により生成される第３ＶＲ画像の例を示す。
【図１９】本開示の一実施形態の処理により生成される第２ＶＲ画像の例を示す。
【発明を実施するための形態】
【００１２】
［本開示の実施形態の説明］
最初に、本開示の実施形態の内容を列記して説明する。本開示の一実施形態は、以下のような構成を備える。
【００１３】
（項目１）仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイス及び前記コントローラを追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、前記トラッキング情報に基づいて、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを前記ディスプレイの画面の第１エリアに含む第１ＶＲ画像を生成するステップと、前記トラッキング情報の変化に応答して、前記仮想コントローラを前記画面の第２エリアに含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、を含む方法。
【００１４】
（項目２）前記第２エリアは、前記第１エリアよりも前記画面の中心近くに位置するエリアである、項目１に記載の方法。
【００１５】
（項目３）前記第１ＶＲ画像を生成する前記ステップは、前記画面の注視エリアを特定するステップと、前記トラッキング情報に基づいて、前記画面内における前記仮想コントローラの位置を特定するステップと、前記注視エリアと前記仮想コントローラの位置との距離を決定するステップと、前記注視エリアと前記仮想コントローラの前記位置との距離が所定値よりも大きい場合に、前記第１ＶＲ画像を生成するステップと、を含む、項目１又は項目２に記載の方法
【００１６】
（項目４）前記注視エリアは、前記画面内の固定位置として予め設定される、又はユーザの視線の動きに応じて動的に決定される、項目３に記載の方法。
【００１７】
（項目５）前記第２ＶＲ画像を生成する前記ステップは、前記トラッキング情報の変化に応答して、前記画面内における前記仮想コントローラの位置を更新するステップと、前記注視エリアと前記仮想コントローラの前記更新された位置との距離を決定するステップと、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に、前記第２ＶＲ画像を生成するステップと、を含む、項目３又は項目４に記載の方法
【００１８】
（項目６）前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に前記第２ＶＲ画像を生成する前記ステップは、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が、所定時間よりも長い期間にわたって前記所定値よりも小さく保持された場合に、前記第２ＶＲ画像を生成するステップを含む、項目５に記載の方法。
【００１９】
（項目７）前記ＶＲ空間は、ユーザの関心領域を含み、前記方法は、更に、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合であっても、前記関心領域と前記仮想コントローラの前記更新された位置との距離が第２の所定値よりも小さいときは、前記第２ＶＲ画像の生成を禁止するステップを含む、項目５又は項目６に記載の方法
【００２０】
（項目８）前記関心領域は、前記コントローラによる操作対象である前記オブジェクトが存在している前記ＶＲ空間内の領域である、項目７に記載の方法。
【００２１】
（項目９）前記トラッキング情報は、前記ヘッドマウントデバイスの位置及び向きの情報並びに前記コントローラの位置の情報を含む、項目１から項目８のいずれか１項に記載の方法。
【００２２】
（項目１０）前記トラッキング情報は、前記コントローラの向きの情報を更に含み、前記付加情報は、前記仮想コントローラの周囲において前記コントローラの向きに対応した向きに提示される、項目９に記載の方法。
【００２３】
（項目１１）前記トラッキング情報の変化は、前記ヘッドマウントデバイスの向きが下へ傾く変化、又は前記コントローラの位置が上昇する変化である、項目１から項目１０のいずれか１項に記載の方法。
【００２４】
（項目１２）前記コントローラは、ユーザからの操作を受け付ける操作エレメントを含み、前記仮想コントローラは、前記操作エレメントに対応する仮想操作エレメントを含み、前記付加情報は、前記操作エレメントについての説明を記述するテキスト又は画像を、対応する前記仮想操作エレメントと視覚的に関連付けて提示する、項目１から項目１１のいずれか１項に記載の方法
【００２５】
（項目１３）前記操作エレメントに対するユーザ操作が行われた場合に、前記第２ＶＲ画像から前記付加情報を取り除くステップを更に含む、項目１２に記載の方法。
【００２６】
（項目１４）仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイスを装着したユーザの視線を追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを含む第１ＶＲ画像を生成するステップと、前記トラッキング情報の変化に応答して、前記仮想コントローラを含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、を含む方法。
【００２７】
（項目１５）プロセッサと、プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、項目１から項目１４のいずれか１項に記載の方法を実行させる、メモリと、を備えるコンピュータ。
【００２８】
（項目１６）プロセッサによって実行されると、前記プロセッサに、項目１から項目１４のいずれか１項に記載の方法を実行させる、プログラム。
【００２９】
［本開示の実施形態の詳細］
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【００３０】
図１を参照して、ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）システム１００の構成について説明する。図１は、ＨＭＤシステム１００の構成を概略的に示す。一例では、ＨＭＤシステム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００３１】
ＨＭＤシステム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００３２】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００３３】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３４】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００３５】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００３６】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３７】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３８】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【００３９】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００４０】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００４１】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コントローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００４２】
ある態様において、モーションセンサ１３０は、コントローラ１６０に内蔵されて、コントローラ１６０の動きを検出する。例えば、モーションセンサ１３０は、コントローラ１６０の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。別の態様において、コントローラ１６０に内蔵されないモーションセンサ１３０が、コントローラ１６０又はユーザ１９０の身体の動きを検出してもよい。コントローラ１６０又はユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式のモーションセンサ１３０が用いられてもよい。例えば、コントローラ１６０を把持したユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。コントローラ１６０に内蔵されないモーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００４３】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
【００４４】
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００４５】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００４６】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４７】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４８】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４９】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００５０】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００５１】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００５２】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００５３】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００５４】
ある実施形態において、ＨＭＤシステム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５５】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００５６】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５７】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５８】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５９】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００６０】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００６１】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００６２】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００６３】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００６４】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００６５】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００６６】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６７】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視認領域４１０を規定する。視認領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６８】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６９】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００７０】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００７１】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視認領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００７２】
別の態様において、ＨＭＤシステム１００は、ＨＭＤシステム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００７３】
また、別の態様において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００７４】
さらに別の態様において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００７５】
図６及び図７を参照して、視認領域４１０について説明する。図６は、仮想空間４００において視認領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視認領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００７６】
図６に示されるように、ｙｚ断面における視認領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７７】
図７に示されるように、ｘｚ断面における視認領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面とによって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７８】
ある態様において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視界画像は、仮想空間画像４０２のうち視認領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視認領域４１０の位置が変化する。これにより、表示部１１２に表示される視界画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視認領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７９】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００８０】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００８１】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視認領域４１０）を特定する。
【００８２】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００８３】
図８を参照して、コントローラ１６０の一例について説明する。図８は、ある実施形態に従うコントローラ１６０の概略構成を表す図である。
【００８４】
コントローラ１６０は、複数のボタン１６２（１６２ａ、１６２ｂ、１６２ｃ、１６２ｄ）及び１６４（１６４ａ、１６４ｂ、１６４ｃ、１６４ｄ）と、左右のアナログスティック１６６Ｌ及び１６６Ｒとを備える。各ボタン１６２及び１６４は、プッシュ式ボタンとして構成される。ボタン１６２及び１６４は、ユーザ１９０の手の親指による操作を受け付ける。ユーザ１９０の手の人差し指又は中指による操作を受け付けることが可能な不図示のトリガー式のボタンが、更にコントローラ１６０に設けられてもよい。アナログスティック１６６Ｌ及び１６６Ｒは、ある態様において、それぞれ初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。ボタン１６２（１６２ａ、１６２ｂ、１６２ｃ、１６２ｄ）及び１６４（１６４ａ、１６４ｂ、１６４ｃ、１６４ｄ）並びにアナログスティック１６６Ｌ及び１６６Ｒ（更に、含まれる場合には不図示のトリガー式ボタン）には、それぞれ別個の操作コマンドが割り当てられる。操作コマンドは、例えば、仮想空間４００内のオブジェクトに指令を与えるためのコマンド、ゲームのメニュー画面等において各種の設定を行うためのコマンド、及びユーザ１９０が仮想空間４００を体験している際にコンピュータ２００に入力し得る任意の他のコマンドを含む。各ボタン又はアナログスティックに割り当てられた操作コマンドは、例えばゲームの進行や場面の変化に応じて、動的に変更されてもよい。ユーザ１９０は、コントローラ１６０を使った様々な操作を円滑に行うべく、コントローラ１６０の各ボタン及びアナログスティックにどの操作コマンドが割り当てられているかを覚えておくことが望まれる。しかしながら、以下に詳しく説明されるように、ユーザ１９０は、コントローラ１６０を使用している最中にコントローラ１６０の各ボタン及びアナログスティックへの操作コマンドの割り当てを仮想空間４００に表示させることができる。
【００８５】
ある態様において、コントローラ１６０は、その外表面に配置された不図示の複数の赤外線ＬＥＤを含んでもよい。赤外線ＬＥＤは、コントローラ１６０を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤから発せられた赤外線は、コントローラ１６０の位置や姿勢（傾き、向き）を検出するために使用され得る。またコントローラ１６０は、内部の電子部品を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、コントローラ１６０は、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、コントローラ１６０は、ＵＳＢインターフェースを介して電力を供給され得る。
【００８６】
図９は、本開示の一実施形態による、ＨＭＤシステム１００における仮想空間４００の表示処理等を実現するための、コンピュータ２００の機能を示すブロック図である。コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、表示部１１２への画像出力を制御する。
【００８７】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０３と、視線検知部９０４と、基準視線決定部９０６と、視界領域決定部９０８と、コントローラ動作検知部９１０と、視界画像生成部９１２と、視界画像出力部９２６とを含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２８、オブジェクトデータ９３０、アプリケーションデータ９３２、その他のデータ９３４を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報を、ＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な各種データを含んでもよい。オブジェクトデータ９３０は、仮想空間内に配置される様々なオブジェクトに関するデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。
【００８８】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００８９】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００９０】
図９及び図１０を参照して、仮想空間の画像を提供するためのＨＭＤシステム１００の一般的な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９１】
処理はステップ１００２において開始する。一例として、アプリケーションデータに含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（仮想空間特定部９０２）は、仮想空間データ９２８を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０３は、ＨＭＤ１１０の位置情報や傾き情報を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９２】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０４は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０６は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【００９３】
ステップ１０１４において、視界領域決定部９０８は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【００９４】
ステップ１０１６において、視界画像生成部９１２は、視界領域４１０に基づいて視界画像を生成する。視界画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視界画像出力部９２６は、視界画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ１０２０において終了する。
【００９５】
図１１は、本開示の一実施形態による方法１１００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１１に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、方法１１００を実行するプロセッサ２０２（又はコンピュータ２００）として実施することができる。
【００９６】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、複数のユーザが、各ユーザのアバター、ゲームフィールド、当該ゲームフィールド内で行動する各ユーザのユニット等が配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【００９７】
図１２は、本実施形態において想定されるゲームの態様を概略的に説明する図である。この例では、２人のユーザ１２１２Ａ及び１２１２Ｂ（以下、まとめて「ユーザ１２１２」とも呼ぶ）が当該ゲームをプレイする。ユーザ１２１２Ａ及び１２１２Ｂは、それぞれ、ＨＭＤ１１０Ａ及び１１０Ｂ（以下、まとめて「ＨＭＤ１１０」とも呼ぶ）を頭部に装着し、さらにコントローラ１６０Ａ及び１６０Ｂ（以下、まとめて「コントローラ１６０」とも呼ぶ）を把持して操作する。一例では、コントローラ１６０は、図８に関して上述した構成を有する。
【００９８】
仮想空間１２００内には、ユーザ１２１２Ａ及び１２１２Ｂのそれぞれによって操作されるアバター１２１４Ａ及び１２１４Ｂ（以下、まとめて「アバター１２１４」とも呼ぶ）並びにゲームフィールド１２２２が配置される。ゲームフィールド１２２２上には、ユーザ１２１２Ａ及び１２１２Ｂの各々が有するユニット１２１６Ａ及び１２１６Ｂ（以下、まとめて「ユニット１２１６」とも呼ぶ）、基地１２２４Ａ及び１２２４Ｂ（以下、まとめて「基地１２２４」とも呼ぶ）等が配置される。ユニット１２１６は、各ユーザ１２１２が操作することによってゲームフィールド１２２２上を移動することが可能なゲームキャラクタである。ゲームのプレイ中、ユーザ１２１２は、自分のユニット１２１６が相手ユーザの基地１２２４に到達することができるように、様々な操作を行う。
【００９９】
ユーザ１２１２は、アバター１２１４を介して、仮想空間１２００内のゲームフィールド１２２２上で行われるゲームを楽しむことができる。アバター１２１４Ａ及び１２１４Ｂは、それぞれ、仮想コントローラオブジェクト１２２０Ａ及び１２２０Ｂ（以下、まとめて「仮想コントローラオブジェクト１２２０」とも呼ぶ）を把持する。仮想コントローラオブジェクト１２２０は、現実空間のコントローラ１６０に対応する仮想空間１２００内のオブジェクトである。すなわち、仮想空間１２００のアバター１２１４は、現実空間のユーザ１２１２がコントローラ１６０を手に持って操作しているのと同じように、仮想コントローラオブジェクト１２２０を把持している。ユーザ１２１２はアバター１２１４の視点でゲームをプレイすることで仮想空間１２００に入り込むことができるが、アバター１２１４が現実空間の自分と同じように仮想コントローラオブジェクト１２２０を把持していることで、仮想空間１２００への没入感をより高めることができる。
【０１００】
図１２に示されるように、アバター１２１４Ａ及び１２１４Ｂの位置にそれぞれ仮想カメラ１２０４Ａ１及び１２０４Ｂ１（以下、まとめて「仮想カメラ１２０４」とも呼ぶ）が配置される。仮想カメラ１２０４は、アバター１２１４の視点から仮想空間１２００を捉える。仮想カメラ１２０４からのアバター１２１４の視点は、仮想空間１２００内のゲームフィールド１２２２を俯瞰する視点である。例えば、仮想カメラ１２０４Ａ１が捉えるアバター１２１４Ａの視点からの視界画像には、ユーザ１２１２Ａが操作可能なゲームフィールド１２２２上のユニット１２１６Ａが含まれ、仮想カメラ１２０４Ｂ１が捉えるアバター１２１４Ｂの視点からの視界画像には、ユーザ１２１２Ｂが操作可能なゲームフィールド１２２２上のユニット１２１６Ｂが含まれる。更に、各仮想カメラ１２０４が捉える視界画像には、それぞれのアバター１２１４が把持している仮想コントローラオブジェクト１２２０も含まれ得る。上述したように、ユーザ１２１２は、仮想カメラ１２０４によってアバター１２１４の視点から得られた仮想空間１２００の映像を見ることができる。
【０１０１】
図１１に戻り、処理はステップ１１０２において開始する。プロセッサ２０２は、メモリ２０４に格納されているアプリケーションデータ９３２に含まれるゲームプログラムを読み出して実行する。
【０１０２】
処理はステップ１１０４に進み、プロセッサ２０２は、トラッキング情報を取得する。トラッキング情報は、現実空間におけるＨＭＤ１１０の位置情報及び傾き情報を含む。トラッキング情報はまた、現実空間におけるコントローラ１６０の位置情報も含む。更に、トラッキング情報は、現実空間におけるコントローラ１６０の傾き情報を含んでもよい。例えば、プロセッサ２０２のＨＭＤ動作検知部９０３は、ＨＭＤセンサ１２０又はセンサ１１４からＨＭＤ１１０の位置情報及び傾き情報を取得することができる。また例えば、プロセッサ２０２のコントローラ動作検知部９１０は、コントローラ１６０に内蔵されたモーションセンサ１３０、又はコントローラ１６０の外部（例えば部屋の壁）に設置されたモーションセンサ１３０（例えばカメラ）から、コントローラ１６０の位置情報及び傾き情報を取得することができる。
【０１０３】
処理はステップ１１０６に進み、プロセッサ２０２の視界画像生成部９１２は、トラッキング情報に基づいて第１仮想現実（ＶＲ）画像を生成する。第１ＶＲ画像は、アバター１２１４の視点（即ち仮想カメラ１２０４）から仮想空間１２００を捉えた光景を表す画像である。第１ＶＲ画像はまた、画面の第１エリアに仮想コントローラオブジェクト１２２０を含む。第１エリアは、画面の周縁部分（例えば画面の下方部分）に位置するエリアである。例えば、図１２を参照すると、ユーザ１２１２は、コントローラ１６０を自分の胸の前付近で把持する。この場合、トラッキング情報は、ＨＭＤ１１０の下方にコントローラ１６０が存在していることを示す。したがって、第１ＶＲ画像の仮想コントローラオブジェクト１２２０は、画面の下方の周縁部分である第１エリアに配置されるであろう。視界画像生成部９１２によって生成された第１ＶＲ画像は、視界画像出力部９２６から、ＨＭＤ１１０に関連付けられる表示部１１２に出力され、表示部１１２によって表示される。ＨＭＤ１１０を装着したユーザ１２１２は、表示部１１２に表示された第１ＶＲ画像を見ることができる。
【０１０４】
図１３は、視界画像生成部９１２によって生成される第１ＶＲ画像の一例を示す。図示されるように、第１ＶＲ画像１３００は、アバター１２１４Ａの視線の先（画面の中央又は上側部分）に、ゲームフィールド１２２２、ユーザ１２１２Ａが操作するユニット１２１６Ａ、相手ユーザ１２１２Ｂを表す相手アバター１２１４Ｂ、及び相手ユーザ１２１２Ｂが操作するユニット１２１６Ｂを含む。更に、第１ＶＲ画像１３００は、アバター１２１４Ａの視線よりも下方、即ち画面の下方の周縁部分である第１エリア１３０２に、仮想コントローラオブジェクト１２２０Ａを含む。加えて、第１ＶＲ画像１３００は、仮想コントローラオブジェクト１２２０Ａに付随して、仮想コントローラオブジェクト１２２０Ａを把持するアバター１２１４Ａの仮想の手１２２１Ａを含んでもよい。
【０１０５】
仮想コントローラオブジェクト１２２０Ａの配置位置は、トラッキング情報に基づく。より具体的には、仮想コントローラオブジェクト１２２０Ａの配置位置は、ＨＭＤ１１０とコントローラ１６０の相対的な位置及び向きに従って決定される。例えば、ユーザ１２１２がＨＭＤ１１０を装着した頭を上下に傾けたり、コントローラ１６０を上下左右に動かしたりすると、視界画像生成部９１２は、第１ＶＲ画像１３００内の仮想コントローラオブジェクト１２２０の配置位置がそれらの動きに追従するように、第１ＶＲ画像１３００を更新する。これにより、ユーザ１２１２は、現実空間における自分の頭や手の動きに応じてアバター１２１４の視界の中で仮想コントローラオブジェクト１２２０が動く様子を視認することができる。
【０１０６】
処理はステップ１１０８に進み、プロセッサ２０２は、トラッキング情報を更新する。例えば、プロセッサ２０２のＨＭＤ動作検知部９０３は、ＨＭＤセンサ１２０からＨＭＤ１１０の新たな位置情報及び傾き情報を取得する。また例えば、プロセッサ２０２のコントローラ動作検知部９１０は、コントローラ１６０に内蔵又はコントローラ１６０の外部に設置されたモーションセンサ１３０から、コントローラ１６０の新たな位置情報及び傾き情報を取得する。
【０１０７】
処理はステップ１１１０に進み、プロセッサ２０２の視界画像生成部９１２は、トラッキング情報の変化に応答して、第２ＶＲ画像を生成する。第２ＶＲ画像は、第１ＶＲ画像と同様に、アバター１２１４の視点（即ち仮想カメラ１２０４）から仮想空間１２００を捉えた光景を表す画像である。しかしながら、第２ＶＲ画像は、第１ＶＲ画像とは異なり、画面の第２エリアに仮想コントローラオブジェクト１２２０を含む。一例として、第２エリアは、第１エリアよりも画面の中央近くに位置するエリアであってよい。例えば、ユーザ１２１２は、自分の胸の前付近で把持していたコントローラ１６０を上方へ動かして（自分の顔の高さに近づくように持ち上げて）、コントローラ１６０が視界の中央付近に見えるようにすることができる。この場合、トラッキング情報は、コントローラ１６０がＨＭＤ１１０により近接する方向へ移動したことを示す。したがって、第２ＶＲ画像の仮想コントローラオブジェクト１２２０は、画面の中央近くのエリアである第２エリアに配置されるであろう。更に、第２ＶＲ画像は、コントローラ１６０の操作に関連する付加情報の提示を含む。付加情報は、例えば、ユーザ１２１２にコントローラ１６０の操作方法を案内する。一例として、付加情報は、コントローラ１６０の各ボタン及び／又はアナログスティックにどのような操作コマンドが割り当てられているかをユーザ１２１２に知らせることが可能な視覚的情報を含む。視界画像生成部９１２によって生成された第２ＶＲ画像は、視界画像出力部９２６から、ＨＭＤ１１０に関連付けられる表示部１１２に出力され、表示部１１２によって表示される。ＨＭＤ１１０を装着したユーザ１２１２は、表示部１１２に表示された第２ＶＲ画像を見ることができる。
【０１０８】
図１４は、視界画像生成部９１２によって生成される第２ＶＲ画像の一例を示す。図示されるように、第２ＶＲ画像１４００は、図１３の第１ＶＲ画像１３００と同様に、アバター１２１４Ａの視線の先に、ゲームフィールド１２２２、ユニット１２１６Ａ、ユニット１２１６Ｂ、及び相手アバター１２１４Ｂを含む。また、第２ＶＲ画像１４００は、画面の下方の周縁部分である第１エリア１４０２よりも画面の中央に近い第２エリア１４０４に、仮想コントローラオブジェクト１２２０Ａを含む。第２ＶＲ画像１４００は、第１ＶＲ画像１３００の場合と同様の、仮想コントローラオブジェクト１２２０Ａを把持する仮想の手１２２１Ａを付加的に含んでもよい。更に、第２ＶＲ画像１４００は、コントローラ１６０の個々のボタンに割り当てられた操作コマンドの名称を示すボタン説明１４１０（１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄ）を含む。例えば、ボタン説明１４１０ａは、操作コマンド「アクション１」がコントローラ１６０のボタン１６２ａに割り当てられていることを示し、ボタン説明１４１０ｂは、操作コマンド「アクション２」がコントローラ１６０のボタン１６２ｃに割り当てられていることを示し、ボタン説明１４１０ｃは、操作コマンド「アクション３」がコントローラ１６０のボタン１６４ａに割り当てられていることを示し、ボタン説明１４１０ｄは、操作コマンド「アクション４」がコントローラ１６０のボタン１６４ｄに割り当てられていることを示す。アクション１乃至４は、ゲームフィールド１２２２上のゲームキャラクタであるユニット１２１６Ａに行わせることが可能な、例えば、攻撃、防御、特殊能力発動、武器装填、装備変更などの任意の動作であってよい。また図１４の例において、各ボタン説明１４１０は、各ボタン説明１４１０から伸びる線１４１２によって、仮想コントローラオブジェクト１２２０Ａ上の対応するボタンと視覚的にリンクされている。これらの線１４１２は、例えば、コントローラ１６０のボタン１６２ａ、１６２ｃ、１６４ａ、１６４ｄにそれぞれボタン説明１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄがリンクされていることを視覚的に表現する。
【０１０９】
例えば、はじめに、ＨＭＤ１１０Ａを装着したユーザ１２１２Ａは、コントローラ１６０Ａを自分の胸の前付近で把持して、コントローラ１６０Ａのボタン（１６２、１６４）及びアナログスティック（１６６）を適宜操作することによりゲームフィールド１２２２上のユニット１２１６Ａの動作を制御している。この時、このようなＨＭＤ１１０Ａとコントローラ１６０Ａの相対的な位置関係に応じたトラッキング情報に基づいて、例えば図１３に示されるような、仮想コントローラオブジェクト１２２０Ａを画面の下方の周縁部分である第１エリア１３０２に含んだ第１ＶＲ画像１３００が生成される。次いで、ユーザ１２１２Ａは、コントローラ１６０Ａの各ボタン及びアナログスティックへの操作コマンドの割り当てを確認したいと思うかもしれない。その場合、ユーザ１２１２Ａは、例えば、自分の胸の前付近で把持していたコントローラ１６０Ａを、自分の顔の高さに近づくように上方へ動かす（持ち上げる）。ユーザ１２１２Ａのこのような動作によって、トラッキング情報が、コントローラ１６０Ａの位置の変化を反映して更新される。すると、この更新されたトラッキング情報に従って、例えば図１４に示される第２ＶＲ画像１４００のように、仮想コントローラオブジェクト１２２０Ａが画面の中央に近い第２エリア１４０４に移動すると共に、仮想コントローラオブジェクト１２２０Ａの周囲には、コントローラ１６０Ａのボタンに割り当てられた操作コマンドに関するボタン説明１４１０が出現する。このように、ユーザ１２１２Ａは、コントローラ１６０Ａを動かして仮想コントローラオブジェクト１２２０Ａが画面の中央近くにくるようにすることで、ボタン説明１４１０を表示させることができ、このボタン説明１４１０を見ることによって、コントローラ１６０Ａの各ボタンにどのような操作コマンドが割り当てられているかを知ることができる。
【０１１０】
図１５は、視界画像生成部９１２によって生成される第２ＶＲ画像の別の一例を示す。図１４の第２ＶＲ画像１４００と同様に、図１５の第２ＶＲ画像１５００は、画面の下方の周縁部分である第１エリア１５０２よりも画面の中央に近い第２エリア１５０４に仮想コントローラオブジェクト１２２０Ａを含み、更に、仮想コントローラオブジェクト１２２０Ａ上のボタンと線１５１２によって視覚的にリンクされたボタン説明１５１０（１５１０ａ、１５１０ｂ、１５１０ｃ、１５１０ｄ）を含む。しかしながら、図１５の例において、ユーザ１２１２Ａは、コントローラ１６０Ａを上方へ動かす代わりに、コントローラ１６０Ａは自分の胸の前付近で把持したまま、ＨＭＤ１１０Ａを装着した頭を下へ向ける（傾ける）ことによってコントローラ１６０Ａが視界の中央付近にくるようにしている。したがって、ユーザ１２１２Ａが頭を動かす前にはその姿全体が画面内に捉えられていたゲームフィールド１２２２、ユニット１２１６Ａ、ユニット１２１６Ｂ、及び相手アバター１２１４Ｂ（図１３の第１ＶＲ画像１３００を参照）は、ユーザ１２１２ＡがＨＭＤ１１０Ａの向きを下へ傾けたことによって、図１５の第２ＶＲ画像１５００においては、画面の上端へ移動し、あるいは画面の外へ移動して画面から失われている。このように、ユーザ１２１２Ａは、ＨＭＤ１１０Ａの向きを変えることにより、仮想コントローラオブジェクト１２２０Ａが画面の中央近くの第２エリア１５０４にくるようにしてもよい。ユーザ１２１２Ａは、そのような動作を行うことで、仮想コントローラオブジェクト１２２０Ａの周囲にボタン説明１５１０を表示させることができる。
【０１１１】
図１６は、視界画像生成部９１２によって生成される第２ＶＲ画像の更に別の一例を示す。図１６の例の第２ＶＲ画像１６００は、図１４の第２ＶＲ画像１４００と同様に、アバター１２１４Ａの視線の先に、ゲームフィールド１２２２、ユニット１２１６Ａ、ユニット１２１６Ｂ、及び相手アバター１２１４Ｂを含む。しかしながら、第２ＶＲ画像１６００においては、画面の下方の周縁部分に第２エリア１６０４が位置する。第２ＶＲ画像１６００は、画面の下方の周縁部分である第２エリア１６０４に仮想コントローラオブジェクト１２２０Ａを含むと共に、更に、図１４の第２ＶＲ画像１４００及び図１５の第２ＶＲ画像１５００と同様に、仮想コントローラオブジェクト１２２０Ａ上のボタンと線１６１２によって視覚的にリンクされたボタン説明１６１０（１６１０ａ、１６１０ｂ、１６１０ｃ、１６１０ｄ）を含む。一例として、第２エリア１６０４は、図１６に符号１３０２で示されるように、図１３の第１ＶＲ画像１３００における第１エリア１３０２と同じエリアであってよい。
【０１１２】
例えば、ユーザ１２１２Ａは、図１３の（仮想コントローラオブジェクト１２２０Ａを第１エリア１３０２に含んだ）第１ＶＲ画像１３００が生成された後も、図１４の例のようにコントローラ１６０Ａを上方へ動かしたり、図１５の例のようにＨＭＤ１１０Ａを装着した頭を下へ向けたりすることなく、コントローラ１６０ＡとＨＭＤ１１０Ａの位置及び傾きをそのままの状態に維持している。その結果、第２ＶＲ画像１６００において、ゲームフィールド１２２２、ユニット１２１６Ａ、ユニット１２１６Ｂ、及び相手アバター１２１４Ｂは第１ＶＲ画像１３００と同様に画面の上部に位置し、仮想コントローラオブジェクト１２２０Ａは第１エリア１３０２と同じエリアである第２エリア１６０４内に位置するだろう。コントローラ１６０Ａ及びＨＭＤ１１０Ａを動かす代わりに、ユーザ１２１２Ａは、視線（目）を画面の上部（ゲームフィールド１２２２）から仮想コントローラオブジェクト１２２０Ａの近くへ移動させる。例えば、プロセッサ２０２の視線検知部９０４は、このようなユーザ１２１２Ａの視線の動きを含むトラッキング情報を注視センサ１４０から取得することができる。ユーザ１２１２Ａが視線１６５０を仮想コントローラオブジェクト１２２０Ａの近くへ移動させたことをトラッキング情報が示す場合、図１６に示される第２ＶＲ画像１６００のように、仮想コントローラオブジェクト１２２０Ａの周囲にボタン説明１６１０が出現する。このように、ユーザ１２１２Ａは、視線１６５０を仮想コントローラオブジェクト１２２０Ａの近くへ動かすことによっても、ボタン説明１４１０を表示させることが可能である。
【０１１３】
図１７は、本開示の一実施形態による方法１７００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１７に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、方法１７００を実行するプロセッサ２０２（又はコンピュータ２００）として実施することができる。
【０１１４】
方法１７００の処理はステップ１７０２において開始する。プロセッサ２０２は、メモリ２０４に格納されているアプリケーションデータ９３２に含まれるゲームプログラムを読み出して実行する。
【０１１５】
処理はステップ１７０４に進み、プロセッサ２０２の仮想空間特定部９０２は、仮想空間データ９２８及びオブジェクトデータ９３０に基づいて、実行されるゲームのための仮想空間を特定する。このステップ１７０４で特定される仮想空間は、例えば、図１２に示されるように、ゲームフィールド１２２２、ユーザ１２１２を表すアバター１２１４、ユーザ１２１２の操作の対象であるユニット１２１６、ゲームフィールド１２２２上の基地１２２４、アバター１２１４が把持する仮想コントローラオブジェクト１２２０などの、実行されるゲームの世界の中に存在する様々なオブジェクトを含む。
【０１１６】
処理はステップ１７０６に進み、プロセッサ２０２は、トラッキング情報を取得する。例えば、プロセッサ２０２のＨＭＤ動作検知部９０３は、ＨＭＤセンサ１２０又はセンサ１１４から、ＨＭＤ１１０の位置及び傾きを示すトラッキング情報を取得することができる。また例えば、プロセッサ２０２のコントローラ動作検知部９１０は、コントローラ１６０に内蔵されたモーションセンサ１３０、又はコントローラ１６０の外部（例えば部屋の壁）に設置されたモーションセンサ１３０（例えばカメラ）から、コントローラ１６０の位置及び傾きを示すトラッキング情報を取得することができる。更にまた、例えば、プロセッサ２０２の視線検知部９０４は、ユーザ１２１２の視線の動きを示すトラッキング情報を注視センサ１４０から取得することができる。
【０１１７】
処理はステップ１７０８に進み、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面の一部分を注視エリアとして特定する。注視エリアは、ＨＭＤ１１０の画面全体のうち、ユーザが実際に見ているか、又は見ている可能性が高いと考えられる部分的な領域である。例えば、注視エリアは、画面の中央付近など、画面内の固定位置として予め設定されていてよい。この例において、視界画像生成部９１２は、当該予め設定された画面内の固定位置（例えば、画面の中心点を含む所定の大きさの範囲）を、注視エリアとして特定する。また例えば、注視エリアは、ユーザの視線の動きに応じて動的に決定されてもよい。この場合、視界画像生成部９１２は、視線検知部９０４が注視センサ１４０から取得したトラッキング情報に基づいて、ユーザの視線が向けられている画面内の部分的領域を、注視エリアとして特定する。
【０１１８】
処理はステップ１７１０に進み、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０の位置を特定する。前述したように、ステップ１７０６で取得されたトラッキング情報には、ＨＭＤ１１０の位置情報及び傾き情報と、コントローラ１６０の位置情報とが含まれている。視界画像生成部９１２は、例えば、これらのトラッキング情報に基づくＨＭＤ１１０とコントローラ１６０との相対的な位置関係に基づいて、ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０の位置を特定することができる。あるいはまた、視界画像生成部９１２は、コントローラ１６０の位置情報に基づいて仮想空間１２００における仮想コントローラオブジェクト１２２０の位置を算出し、ＨＭＤ１１０の位置情報及び傾き情報に基づいて仮想空間１２００における仮想カメラ１２０４の位置と向きを算出し、次いで、このように得られた仮想空間１２００における仮想コントローラオブジェクト１２２０の位置並びに仮想カメラ１２０４の位置及び向きに基づいて、仮想カメラ１２０４から捉えた仮想コントローラオブジェクト１２２０の相対的な位置、即ちＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０の位置を特定することもできる。
【０１１９】
処理はステップ１７１２に進み、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面内における注視エリアと仮想コントローラオブジェクト１２２０との距離を決定（算出）する。
【０１２０】
処理はステップ１７１４に進み、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面内における注視エリアと仮想コントローラオブジェクト１２２０との距離が所定の閾値よりも大きいか否かを判定する。所定の閾値は、視界画像生成部９１２に第１ＶＲ画像と第２ＶＲ画像のいずれを生成させるかを制御するための、適宜の大きさを有する値である。所定の閾値は、固定値であってもよいし、ユーザの好みにより設定変更可能であってもよい。
【０１２１】
ＨＭＤ１１０の画面内における注視エリアと仮想コントローラオブジェクト１２２０との距離が所定の閾値よりも大きい場合（ステップ１７１４の「Ｙ」）、処理はステップ１７１６に進む。ステップ１７１６において、プロセッサ２０２の視界画像生成部９１２は、図１３に示されるような第１ＶＲ画像１３００を生成する。例えば、ユーザ１２１２は、コントローラ１６０を自分の胸の前付近で把持し、ゲームフィールド１２２２に視線を向けてゲームフィールド１２２２上のユニット１２１６をコントローラ１６０で操作している。この時、例えばユーザ１２１２は、画面中央付近に固定的に設定された注視エリアにゲームフィールド１２２２が重なるようにＨＭＤ１１０の向きを調整するだろう。あるいはまた、ユーザ１２１２は、ゲームフィールド１２２２を画面中央に捉えた状態で、視線をゲームフィールド１２２２に向けることによって注視エリアを画面中央に位置させるかもしれない。一方、コントローラ１６０はＨＭＤ１１０よりも下に位置するので、仮想コントローラオブジェクト１２２０は画面の下方に位置する。したがって、注視エリアと仮想コントローラオブジェクト１２２０が比較的離れているため、ステップ１７１４の判定結果が「Ｙ」となり、ステップ１７１６が実施される。これにより、仮想コントローラオブジェクト１２２０を画面の下方の周縁部分である第１エリア１３０２に含んだ図１３のような第１ＶＲ画像１３００が生成される。
【０１２２】
ステップ１７１６において第１ＶＲ画像が生成された後、処理はステップ１７０６に戻り、トラッキング情報が更新される。以降、更新されたトラッキング情報を用いてステップ１７０８からステップ１７１４が再び実施され、注視エリアと仮想コントローラオブジェクト１２２０との更新された距離に従って、ステップ１７１４の判定が行われる。
【０１２３】
ステップ１７１４において、ＨＭＤ１１０の画面内における注視エリアと仮想コントローラオブジェクト１２２０との距離が所定の閾値よりも小さいと判定された場合（ステップ１７１４の「Ｎ」）、処理はステップ１７１８に進む。ステップ１７１８において、プロセッサ２０２の視界画像生成部９１２は、注視エリアと仮想コントローラオブジェクト１２２０との距離が所定の閾値よりも小さくなってから所定時間が経過したか否かを判定する。所定時間がまだ経過していない場合（ステップ１７１８の「Ｎ」）、処理はステップ１７０６に戻り、所定時間が経過すると（ステップ１７１８の「Ｙ」）、処理はステップ１７２０に進む。ステップ１７１８の判定によって、例えば、ユーザが意図せず（コントローラ１６０に対する操作コマンドの割り当てを確認することを希望していないにもかかわらず）コントローラ１６０を動かしてしまった等のユーザの偶発的な行為に起因して、第２ＶＲ画像がユーザの意図に反して生成される事態が回避される。
【０１２４】
注視エリアと仮想コントローラオブジェクト１２２０との距離が所定の閾値よりも小さい状態が所定時間にわたって持続し、処理がステップ１７２０に進むと、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０とユーザ１２１２の関心領域との距離を決定（算出）する。ユーザ１２１２の関心領域は、仮想空間１２００内においてユーザ１２１２が関心を持っていることが想定される仮想空間１２００の部分的な領域である。例えば、図１２に示される仮想空間１２００の例において、ユーザ１２１２はコントローラ１６０を使用してゲームフィールド１２２２上のユニット１２１６を操作しているから、ゲームフィールド１２２２はユーザ１２１２の関心領域である。関心領域は、例えば、固定の領域として（例えば仮想空間データ９２８又はオブジェクトデータ９３０に）予め設定されてもよいし、あるいはユーザ１２１２が明示的に指定する（例えば、ユーザ１２１２の操作対象である自分のユニット１２１６近傍の局所的な領域を関心領域として指定する）のであってもよい。
【０１２５】
処理はステップ１７２２に進み、プロセッサ２０２の視界画像生成部９１２は、ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０とユーザの関心領域との距離が所定の第２の閾値よりも大きいか否かを判定する。第２の閾値は、第２ＶＲ画像の生成を禁止するか否かを制御するための、適宜の大きさを有する値である。第２の閾値は、固定値であってもよいし、ユーザが適宜その大きさを調整可能であってもよい。
【０１２６】
ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０とユーザの関心領域との距離が所定の第２の閾値よりも大きい場合（ステップ１７２２の「Ｙ」）、処理はステップ１７２４に進む。ステップ１７２４において、プロセッサ２０２の視界画像生成部９１２は、図１４乃至１６に示されるような第２ＶＲ画像（例えば、第２ＶＲ画像１４００、１５００、又は１６００）を生成する。例えば、ユーザ１２１２は、コントローラ１６０の各ボタン及びアナログスティックへの操作コマンドの割り当てを確認するために、頭（ＨＭＤ１１０）は動かさず静止させた状態のまま、自分の胸の前付近で把持していたコントローラ１６０を、当該コントローラ１６０に追従して動く仮想コントローラオブジェクト１２２０がゲームフィールド１２２２と重ならない程度の高さまで持ち上げて、所定時間その場所に保持する。この時、画面中央付近に位置する注視エリアと仮想コントローラオブジェクト１２２０が近づくことによって、ステップ１７１４の判定結果が「Ｎ」となり、また仮想コントローラオブジェクト１２２０が注視エリアに近い位置に一定時間滞留することで、ステップ１７１８の判定結果が「Ｙ」となる。更に、仮想コントローラオブジェクト１２２０は関心領域（ゲームフィールド１２２２）からはある程度離れているので、ステップ１７２２の判定結果は「Ｙ」となる。これにより、ステップ１７２４が実施されて、仮想コントローラオブジェクト１２２０を第２エリア１４０４に含み、更に仮想コントローラオブジェクト１２２０の周りにボタン説明１４１０を含んだ図１４のような第２ＶＲ画像１４００が生成される。同様に、例えばユーザ１２１２が頭（ＨＭＤ１１０）を下へ傾けたり、視線を仮想コントローラオブジェクト１２２０の近くへ移動させたりした場合も、処理はステップ１７１４からステップ１７１８、１７２０、１７２２を辿ってステップ１７２４が実施され、図１５のような第２ＶＲ画像１５００又は図１６のような第２ＶＲ画像がそれぞれ生成される。
【０１２７】
一方、ＨＭＤ１１０の画面内における仮想コントローラオブジェクト１２２０とユーザの関心領域との距離が所定の第２の閾値よりも小さい場合（ステップ１７２２の「Ｎ」）、処理はステップ１７２６に進む。ステップ１７２６において、プロセッサ２０２の視界画像生成部９１２は、第２ＶＲ画像に代えて第３ＶＲ画像を生成する。即ち、仮想コントローラオブジェクト１２２０と関心領域との距離が第２の閾値よりも小さい場合には、第２ＶＲ画像の生成が禁止されて、代わりに第３ＶＲ画像が生成される。第３ＶＲ画像は、付加情報の提示を含まない点においてのみ第２ＶＲ画像と異なる。換言すると、第３ＶＲ画像は、第２ＶＲ画像から付加情報（例えばボタン説明１４１０）を取り除いた画像である。仮想コントローラオブジェクト１２２０がユーザの関心領域（例えばゲームフィールド１２２２）に近づきすぎた場合に、仮想コントローラオブジェクト１２２０の周りに付加情報の提示を含む第２ＶＲ画像を生成すると、そのような第２ＶＲ画像においては、仮想コントローラオブジェクト１２２０の周りの付加情報によって、ユーザの関心領域又はその一部が隠されて見えなくなってしまうおそれがある。そこで第２ＶＲ画像の代わりに第３ＶＲ画像を生成することで、ユーザの関心領域に対する視認性を確保することができる。図１８は、第３ＶＲ画像の一例を示す。図示されるように、第３ＶＲ画像１８００は、ゲームフィールド１２２２のすぐ近くに仮想コントローラオブジェクト１２２０を含む。しかしながら、第３ＶＲ画像１８００において、仮想コントローラオブジェクト１２２０の周りに付加情報（例えば図１４の第２ＶＲ画像１４００におけるボタン説明１４１０）が存在しないため、ゲームフィールド１２２２の視認性が確保されている。
【０１２８】
ステップ１７２４において第２ＶＲ画像が生成された後、処理はステップ１７２８に進む。ステップ１７２８において、プロセッサ２０２の視界画像生成部９１２は、コントローラ１６０のボタン１６２（１６２ａ、１６２ｂ、１６２ｃ、１６２ｄ）及び１６４（１６４ａ、１６４ｂ、１６４ｃ、１６４ｄ）並びにアナログスティック１６６Ｌ及び１６６Ｒ（更に、含まれる場合にはトリガー式ボタン）のいずれかに対してユーザから入力がなされたか否かを判定する。ユーザ入力がなされた場合、処理はステップ１７３０に進み、プロセッサ２０２の視界画像生成部９１２は、第２ＶＲ画像（例えば、第２ＶＲ画像１４００、１５００、又は１６００）からボタン説明（例えば、ボタン説明１４１０、１５１０、又は１６１０）を取り除く。このように、ユーザがコントローラ１６０のボタンへの操作コマンドの割り当てを確認した後にいずれかのボタンを操作すると、仮想コントローラオブジェクト１２２０の周りに出現していたボタン説明は消失し、通常の仮想コントローラオブジェクト１２２０の表示が再現される。
【０１２９】
図１７のフローチャートには示されていないが、方法１７００は、第２ＶＲ画像に含まれる仮想コントローラオブジェクト１２２０及びボタン説明をコントローラ１６０の向きに応じて変化させるステップを含んでもよい。図１９は、このような第２ＶＲ画像の一例を示す。例えば、ユーザは、図１９の上側部分に示されるように、コントローラ１６０をそのピッチ軸１９５０の周りに矢印１９６０の向き（コントローラ１６０を「寝かせる」ように傾ける方向）に回転させることができる。ユーザのこのような動作に従って、図１９の第２ＶＲ画像１９００における仮想コントローラオブジェクト１２２０もそのピッチ軸１９５５の周りに矢印１９６５の向きに回転する。それと共に、第２ＶＲ画像１９００におけるボタン説明１９１０（１９１０ａ、１９１０ｂ、１９１０ｃ、１９１０ｄ）もまた、コントローラ１６０の傾きに応じて回転し、「寝た」状態で提示される。このように、ボタン説明１９１０が「寝た」状態で提示されることにより、仮想コントローラオブジェクト１２２０がゲームフィールド１２２２に比較的近接して存在する場合であっても、ボタン説明１９１０がゲームフィールド１２２２を遮って見えなくしてしまうことが起こりにくくなる。
【０１３０】
本開示の実施形態は、主に、プロセッサ２０２（もしくはコンピュータ２００）又は方法１１００として実施されるものとして説明された。しかし、本開示の実施形態が、プロセッサ２０２に方法１１００を実行させるコンピュータプログラムとして実施することができることは、当業者にとって明らかであろう。
【０１３１】
本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によってのみ規定されるべきである。
【０１３２】
また、上述した様々な実施形態では、非透過型のＨＭＤ装置によってユーザが没入する仮想空間を提供する例について説明したが、ＨＭＤ装置として、透過型のＨＭＤ装置を採用してもよい。そのような実施形態においては、透過型のＨＭＤ装置を介してユーザが視認する現実空間に仮想オブジェクトを含む画像を重ねて表示することにより、拡張現実（ＡＲ：Augmented Reality）空間または複合現実（ＭＲ：Mixed Reality）空間におけるユーザ体験を提供してもよい。具体的には、視界画像生成部９１２は、例えばユーザが現実のコントローラを顔の前へ動かした場合に、上述した様々な第２ＶＲ画像に代えて、コントローラの各ボタンへの操作コマンドの割り当てを案内するための上述したボタン説明（図１４のボタン説明１４１０等）を含む画像を生成する。これにより、ユーザは、例えばコントローラを顔の前に持ち上げる動作をすることによって、現実のコントローラの近傍に仮想のボタン説明が表示されるＡＲまたはＭＲ空間を体験することが可能である。
【符号の説明】
【０１３３】
１００…ＨＭＤシステム、１１０…ＨＭＤ、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０…コントローラ、１９０…ユーザ、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視認領域、６０２、７０２…領域、１６２ａ、１６２ｂ、１６２ｃ、１６２ｄ、１６４ａ、１６４ｂ、１６４ｃ、１６４ｄ…ボタン、１６６Ｒ、１６６Ｌ…アナログスティック、９０２…仮想空間特定部、９０３…ＨＭＤ動作検知部、９０４…視線検知部、９０６…基準視線決定部、９０８…視界領域決定部、９１０…コントローラ動作検知部、９１２…視界画像生成部、９２６…視界画像出力部、９２８…仮想空間データ、９３０…オブジェクトデータ、９３２…アプリケーションデータ、９３４…その他のデータ、１２００…仮想空間、１２０４Ａ１、Ｂ１…仮想カメラ、１２１２Ａ、Ｂ…ユーザ、１２１４Ａ、Ｂ…アバター、１２１６Ａ、Ｂ…ユニット、１２２０Ａ、Ｂ…仮想コントローラオブジェクト、１２２２…ゲームフィールド、１２２４Ａ、Ｂ…基地、１３００…第１ＶＲ画像、１３０２…第１エリア、１４００、１５００、１６００、１９００…第２ＶＲ画像、１４０２、１５０２…第１エリア、１４０４、１５０４、１６０４…第２エリア、１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄ、１５１０ａ、１５１０ｂ、１５１０ｃ、１５１０ｄ、１６１０ａ、１６１０ｂ、１６１０ｃ、１６１０ｄ、１９１０ａ、１９１０ｂ、１９１０ｃ、１９１０ｄ…ボタン説明、１４１２、１５１２、１６１２…線、１８００…第３ＶＲ画像
【図１】
2019021237.tif 000003
【図２】
2019021237.tif 000004
【図３】
2019021237.tif 000005
【図４】
2019021237.tif 000006
【図５】
2019021237.tif 000007
【図６】
2019021237.tif 000008
【図７】
2019021237.tif 000009
【図８】
2019021237.tif 000010
【図９】
2019021237.tif 000011
【図１０】
2019021237.tif 000012
【図１１】
2019021237.tif 000013
【図１２】
2019021237.tif 000014
【図１３】
2019021237.tif 000015
【図１４】
2019021237.tif 000016
【図１５】
2019021237.tif 000017
【図１６】
2019021237.tif 000018
【図１７】
2019021237.tif 000019
【図１８】
2019021237.tif 000020
【図１９】
2019021237.tif 000021
【手続補正書】
【提出日】平成30年7月9日(2018.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想現実（ＶＲ）空間を提示するためのディスプレイを含むヘッドマウントデバイスと、前記ＶＲ空間内のオブジェクトを操作するためのコントローラと、前記ヘッドマウントデバイス及び前記コントローラを追跡してトラッキング情報を生成するセンサと、を備えるシステムにおける情報処理方法であって、
前記トラッキング情報が、前記ヘッドマウントデバイスと前記コントローラとの位置関係が第１の位置関係であることを示す場合、前記コントローラに対応する前記ＶＲ空間内の仮想コントローラを前記ディスプレイの画面の第１エリアに含み、前記コントローラの操作に関連する付加情報の提示を含まない第１ＶＲ画像を生成するステップと、
前記トラッキング情報が、前記ヘッドマウントデバイスと前記コントローラとの位置関係が第２の位置関係であることを示す場合、前記仮想コントローラを前記画面の第２エリアに含み、前記コントローラの操作に関連する付加情報の提示を更に含む第２ＶＲ画像を生成するステップと、
を含む方法。
【請求項２】
前記第２エリアは、前記第１エリアよりも前記画面の中心近くに位置するエリアである、請求項１に記載の方法。
【請求項３】
前記第１ＶＲ画像を生成する前記ステップは、
前記画面の注視エリアを特定するステップと、
前記トラッキング情報に基づいて、前記画面内における前記仮想コントローラの位置を特定するステップと、
前記注視エリアと前記仮想コントローラの位置との距離を決定するステップと、
前記注視エリアと前記仮想コントローラの前記位置との距離が所定値よりも大きい場合に、前記第１ＶＲ画像を生成するステップと、
を含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記注視エリアは、前記画面内の固定位置として予め設定される、又はユーザの視線の動きに応じて動的に決定される、請求項３に記載の方法。
【請求項５】
前記第２ＶＲ画像を生成する前記ステップは、
前記トラッキング情報の変化に応答して、前記画面内における前記仮想コントローラの位置を更新するステップと、
前記注視エリアと前記仮想コントローラの前記更新された位置との距離を決定するステップと、
前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に、前記第２ＶＲ画像を生成するステップと、
を含む、請求項３又は請求項４に記載の方法。
【請求項６】
前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合に前記第２ＶＲ画像を生成する前記ステップは、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が、所定時間よりも長い期間にわたって前記所定値よりも小さく保持された場合に、前記第２ＶＲ画像を生成するステップを含む、請求項５に記載の方法。
【請求項７】
前記ＶＲ空間は、ユーザの関心領域を含み、
前記方法は、更に、前記注視エリアと前記仮想コントローラの前記更新された位置との距離が前記所定値よりも小さい場合であっても、前記関心領域と前記仮想コントローラの前記更新された位置との距離が第２の所定値よりも小さいときは、前記第２ＶＲ画像の生成を禁止するステップを含む、
請求項５又は請求項６に記載の方法。
【請求項８】
前記関心領域は、前記コントローラによる操作対象である前記オブジェクトが存在している前記ＶＲ空間内の領域である、請求項７に記載の方法。
【請求項９】
前記トラッキング情報は、前記ヘッドマウントデバイスの位置及び向きの情報並びに前記コントローラの位置の情報を含む、請求項１から請求項８のいずれか１項に記載の方法。
【請求項１０】
前記トラッキング情報は、前記コントローラの向きの情報を更に含み、
前記付加情報は、前記仮想コントローラの周囲において前記コントローラの向きに対応した向きに提示される、
請求項９に記載の方法。
【請求項１１】
前記トラッキング情報の変化は、前記ヘッドマウントデバイスの向きが下へ傾く変化、又は前記コントローラの位置が上昇する変化である、請求項１から請求項１０のいずれか１項に記載の方法。
【請求項１２】
前記コントローラは、ユーザからの操作を受け付ける操作エレメントを含み、
前記仮想コントローラは、前記操作エレメントに対応する仮想操作エレメントを含み、
前記付加情報は、前記操作エレメントについての説明を記述するテキスト又は画像を、対応する前記仮想操作エレメントと視覚的に関連付けて提示する、
請求項１から請求項１１のいずれか１項に記載の方法。
【請求項１３】
前記操作エレメントに対するユーザ操作が行われた場合に、前記第２ＶＲ画像から前記付加情報を取り除くステップを更に含む、請求項１２に記載の方法。
【請求項１４】
プロセッサと、
プログラムを格納するメモリであって、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１３のいずれか１項に記載の方法を実行させる、メモリと、
を備えるコンピュータ。
【請求項１５】
プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１３のいずれか１項に記載の方法を実行させる、プログラム。