(57)【要約】【課題】仮想現実空間においてユーザに対して適切にＧＵＩオブジェクトを表示することが可能なプログラムを提供する。【解決手段】本発明は、頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該処理装置に、実空間における頭部装着型表示装置の位置に基づいて仮想空間におけるユーザの視点位置を決定するステップと、仮想空間におけるユーザの可動範囲を決定するステップと、決定された可動範囲の外側の仮想空間領域内にＧＵＩオブジェクトの位置を決定するステップと、遠近法特性プロファイルを用いて、決定された位置のＧＵＩオブジェクトが表示部上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定するステップと、ＧＵＩオブジェクトを含む仮想空間の描画データを生成するステップと、を実行させるプログラムである。【選択図】図１
2019061528.tif 000002
【特許請求の範囲】
【請求項１】
頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該処理装置に、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
前記仮想空間における前記ユーザの可動範囲を決定するステップと、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定するステップと、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定するステップと、
前記決定された大きさの前記ＧＵＩオブジェクトを含む前記仮想空間の描画データを生成するステップと、
を実行させるプログラム。
【請求項２】
前記処理装置は、前記頭部装着型表示装置に含まれる、請求項１に記載のプログラム。
【請求項３】
前記処理装置は、前記頭部装着型表示装置と通信可能に接続された情報処理装置に含まれる、請求項１に記載のプログラム。
【請求項４】
前記描画処理は、実空間における前記ユーザにより把持されるコントローラの位置に基づいて該コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、
前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記ＧＵＩオブジェクトの位置を決定するステップは、前記ユーザの視点位置から見て前記一定の表示サイズの前記ＧＵＩオブジェクトが他の仮想オブジェクトと重複しないように、前記ＧＵＩオブジェクトの位置を決定する、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記ＧＵＩオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも１つを含む、請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行うための情報処理方法であって、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
前記仮想空間における前記ユーザの可動範囲を決定するステップと、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定するステップと、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定するステップと、
前記決定された大きさの前記ＧＵＩオブジェクトを含む前記仮想空間を前記表示部に描画するステップと、
を有する方法。
【請求項８】
ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置を備える情報処理システムであって、
実空間における前記頭部装着型表示装置の位置を取得するセンサと、
前記表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
前記センサにより取得された位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含む前記仮想空間を前記表示部に描画する、
情報処理システム。
【請求項９】
前記情報処理システムは、前記ユーザにより把持されるコントローラを備え、
前記描画処理は、実空間における前記コントローラの位置に基づいて前記コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、
前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項８に記載の情報処理システム。
【請求項１０】
前記記憶部により記憶されたデータは、奥行きごとの、前記仮想空間における単位長の前記表示部に表示される表示サイズを計測することにより予め作成される、請求項８又は９に記載の情報処理システム。
【請求項１１】
前記情報処理システムは、前記頭部装着型表示装置と通信可能に接続された情報処理装置を備え、
前記処理部は、前記頭部装着型表示装置及び前記情報処理装置により実現される、請求項８から１０のいずれか１項に記載の情報処理システム。
【請求項１２】
ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置であって、
前記表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含む前記仮想空間を前記表示部に描画する、
頭部装着型表示装置。
【請求項１３】
頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行うための情報処理装置であって、
前記表示部に表示する前記仮想空間の描画処理を行う処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含む前記仮想空間を前記表示部に描画するためのデータを前記頭部装着型表示装置に送信する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム等に関し、頭部装着型表示装置の表示部に表示するためのプログラム等に関する。
【背景技術】
【０００２】
ユーザの頭部に装着され、眼前に配置されたディスプレイ等の表示部に画像（映像）を表示するヘッドマウントディスプレイ（ＨＭＤ）が知られている。ＨＭＤは、これを装着したユーザに仮想空間における画像や音声を提供することにより、ユーザに対して仮想現実（ＶＲ）の世界を提供することができる。
【０００３】
近年、ユーザがＨＭＤに表示された画面を見ながらプレイするゲーム等のアプリケーションも開発されている。このようなアプリケーションは、ユーザに仮想空間を体験させるための背景やキャラクタ画像とともに、選択式メッセージウィンドウなどのＧＵＩ要素（ＧＵＩオブジェクト）の画像を表示する。例えば特許文献１には、仮想空間中に置かれているＧＵＩを用いて入力を行う入力方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−００４３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＭＤの表示部にユーザ自身の腕や手などに対応する仮想オブジェクトの画像を表示するＶＲアプリケーションにおいて、仮想空間にＧＵＩオブジェクトを配置する場合、以下のような課題がある。このようなＶＲアプリケーションにおいては、仮想空間に配置されるＧＵＩオブジェクトは、ユーザが認識できるように比較的ユーザに近い位置に配置される必要がある。しかし、ユーザ自身の腕や手などに対応する仮想オブジェクトとＧＵＩオブジェクトが干渉してしまう場合、当該ＶＲアプリケーションが提供する仮想現実空間（仮想空間）は、ユーザに対して直感的に大きな違和感を生じさせることになる。具体的には、ＶＲの世界を体験しているユーザに対して、ユーザの腕や手などがＧＵＩオブジェクトを貫通したり埋没したりするような印象を与えてしまうため、没入感を大きく損なってしまう。
【０００６】
一方、ＧＵＩオブジェクトを仮想空間と完全に切り離して表示部の一部に表示する方法もあるが、仮想空間と完全に切り離されたＧＵＩオブジェクトが表示されることもまた、没入感を大きく損なってしまう。
【０００７】
本発明は、このような課題を解決するためになされたものであり、仮想現実空間においてユーザに対して適切にＧＵＩオブジェクトを表示することが可能なプログラム等を提供することを主目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の一態様としてのプログラムは、頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該処理装置に、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間におけるユーザの視点位置を決定するステップと、上記仮想空間における上記ユーザの可動範囲を決定するステップと、上記決定された可動範囲の外側の上記仮想空間領域内に、上記ＧＵＩオブジェクトの位置を決定するステップと、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を用いて、上記決定された位置の上記ＧＵＩオブジェクトが上記表示部上で一定の表示サイズとなるように、上記ＧＵＩオブジェクトの上記仮想空間における大きさを決定するステップと、上記決定された大きさの上記ＧＵＩオブジェクトを含む上記仮想空間の描画データを生成するステップと、を実行させることを特徴とする。
【０００９】
また、本発明において好ましくは、上記処理装置は、上記頭部装着型表示装置に含まれる。
【００１０】
また、本発明において好ましくは、上記処理装置は、上記頭部装着型表示装置と通信可能に接続された情報処理装置に含まれる。
【００１１】
また、本発明において好ましくは、上記描画処理は、実空間における上記ユーザにより把持されるコントローラの位置に基づいて該コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、上記ユーザの可動範囲は、上記コントローラの位置に対応する上記仮想オブジェクトの可動範囲を含む。
【００１２】
また、本発明において好ましくは、上記ＧＵＩオブジェクトの位置を決定するステップは、上記ユーザの視点位置から見て上記一定の表示サイズの上記ＧＵＩオブジェクトが他の仮想オブジェクトと重複しないように、上記ＧＵＩオブジェクトの位置を決定する。
【００１３】
また、本発明において好ましくは、上記ＧＵＩオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも１つを含む。
【００１４】
また、上記の目的を達成するために、本発明の一態様としての情報処理方法は、頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行うための情報処理方法であって、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間におけるユーザの視点位置を決定するステップと、上記仮想空間における上記ユーザの可動範囲を決定するステップと、上記決定された可動範囲の外側の上記仮想空間領域内に、上記ＧＵＩオブジェクトの位置を決定するステップと、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を用いて、上記決定された位置の上記ＧＵＩオブジェクトが上記表示部上で一定の表示サイズとなるように、上記ＧＵＩオブジェクトの上記仮想空間における大きさを決定するステップと、上記決定された大きさの上記ＧＵＩオブジェクトを含む上記仮想空間を上記表示部に描画するステップと、を有することを特徴とする。
【００１５】
また、上記の目的を達成するために、本発明の一態様としての情報処理システムは、ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置を備える情報処理システムであって、実空間における上記頭部装着型表示装置の位置を取得するセンサと、上記表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、上記センサにより取得された位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記ＧＵＩオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記ＧＵＩオブジェクトが上記表示部上で一定の表示サイズとなるように、上記ＧＵＩオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記ＧＵＩオブジェクトを含む上記仮想空間を上記表示部に描画することを特徴とする。
【００１６】
また、本発明において好ましくは、上記情報処理システムは、上記ユーザにより把持されるコントローラを備え、上記描画処理は、実空間における上記コントローラの位置に基づいて上記コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、上記ユーザの可動範囲は、上記コントローラの位置に対応する上記仮想オブジェクトの可動範囲を含む。
【００１７】
また、本発明において好ましくは、上記記憶部により記憶されたデータは、奥行きごとの、上記仮想空間における単位長の上記表示部に表示される表示サイズを計測することにより予め作成される。
【００１８】
また、本発明において好ましくは、上記情報処理システムは、上記頭部装着型表示装置と通信可能に接続された情報処理装置を備え、上記処理部は、上記頭部装着型表示装置及び上記情報処理装置により実現される。
【００１９】
また、上記の目的を達成するために、本発明の一態様としての頭部装着型表示装置は、ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置であって、上記表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記ＧＵＩオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記ＧＵＩオブジェクトが上記表示部上で一定の表示サイズとなるように、上記ＧＵＩオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記ＧＵＩオブジェクトを含む上記仮想空間を上記表示部に描画することを特徴とする。
【００２０】
また、上記の目的を達成するために、本発明の一態様としての情報処理装置は、頭部装着型表示装置の表示部に表示する所定のＧＵＩオブジェクトを含む仮想空間の描画処理を行うための情報処理装置であって、上記表示部に表示する上記仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記ＧＵＩオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記ＧＵＩオブジェクトが上記表示部上で一定の表示サイズとなるように、上記ＧＵＩオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記ＧＵＩオブジェクトを含む上記仮想空間を上記表示部に描画するためのデータを上記頭部装着型表示装置に送信することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、仮想現実空間においてユーザに対して適切にＧＵＩオブジェクトを表示することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態による情報処理システムの全体構成図である。
【図２】本発明の一実施形態による情報処理装置のハードウェア構成を示すブロック図である。
【図３】本発明の一実施形態によるＨＭＤのハードウェア構成を示すブロック図である。
【図４】本発明の一実施形態によるコントローラの概略外観図である。
【図５】本発明の一実施形態による情報処理システムの機能ブロック図である。
【図６】本発明の一実施形態による表示部が表示するＧＵＩオブジェクトの一例を示す図である。
【図７】本発明の一実施形態による表示部が表示する仮想身体の一例を示す図である。
【図８】本発明の一実施形態による遠近法特性プロファイルの一例を示す図である。
【図９】本発明の一実施形態による情報処理システムの情報処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態による情報処理システムについて説明する。本実施形態の情報処理システムがユーザに提供するＶＲシステム（仮想現実空間）は、ＨＭＤを装着したユーザ自身の手がユーザの視界領域内にある場合にＨＭＤの表示部にユーザ自身の手に対応する仮想の手の画像を表示するものである。
【００２４】
図１は、本発明の一実施形態による情報処理システム１の全体構成図である。情報処理システム１は、情報処理装置１０と、ユーザが頭部に装着する頭部装着型表示装置（ＨＭＤ）２０と、ユーザが保持するコントローラ３０と、撮像装置４０と、出力装置５０と、を備える。情報処理システム１は、ＨＭＤ２０を装着したユーザに対して、仮想現実を体感させる。
【００２５】
撮像装置４０は、赤外線センサを備えるカメラを有し、所定のフレームレートで撮影し、撮影した画像を情報処理装置１０に送出する。好ましくは、撮像装置４０は、出力装置５０の上部に取り付けられる。後述するように、ユーザに仮想現実を体感させるために、撮像装置４０は、ユーザにより装着されるＨＭＤ２０を撮影し、撮影画像を情報処理装置１０に送出するように構成される。１つの例では、撮像装置４０は、所定のフレームレートでユーザにより装着されたＨＭＤ２０が発光する赤外線を撮影し、撮影した画像を情報処理装置１０に順次送り、情報処理装置１０は、当該画像を順次取得する。他の例では、撮像装置４０のカメラは、赤外線センサの代わりに又は赤外線センサに追加して、ＣＣＤセンサやＣＭＯＳセンサなどの一般的なカメラで利用されているイメージセンサを備える。
【００２６】
情報処理装置１０は、ＨＭＤ２０を装着したユーザに対して仮想現実空間を提供するゲームなどの様々なアプリケーションであるＶＲアプリケーションを実行する。情報処理装置１０は、ＨＭＤ２０、コントローラ３０、撮像装置４０、及び出力装置５０とそれぞれ電気的に接続される。情報処理装置１０と各装置は、ケーブルなどの既知の有線通信を介して接続されてもよいし、無線ＬＡＮ等の既知の無線通信を介して接続されてもよい。本実施形態におけるＶＲアプリケーションは、ＨＭＤ２０を装着したユーザに対して、アイドル等のライブをライブ会場の客席で鑑賞する体験を提供するライブ体感ＶＲゲームである。ただし、情報処理装置１０が実行するＶＲアプリケーションがこれに限定されないことは理解される。
【００２７】
図２は、本発明の一実施形態による情報処理装置１０のハードウェア構成を示すブロック図である。情報処理装置１０は、プロセッサ１１と、記憶装置１２と、入出力インタフェース（入出力ＩＦ）１３と、通信インタフェース（通信ＩＦ）１４とを備える。これらの各構成装置はバス１５によって接続される。なお、バス１５と各構成装置との間には必要に応じてインタフェースが介在しているものとする。なお、情報処理装置１０は複数の電子装置により構成されても構わない。
【００２８】
プロセッサ１１は、情報処理装置１０全体の動作を制御する処理装置であり、例えばＣＰＵである。なお、プロセッサ１１としては、ＭＰＵ等の電子回路が用いられてもよい。プロセッサ１１は、記憶装置１２に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。またプロセッサ１１は、描画処理を行うＧＰＵを含み、情報処理装置１０は、ＨＭＤ２０を装着したユーザに対して提示するための仮想空間画像を生成し、ＨＭＤ２０へ送信する。
【００２９】
入出力ＩＦ１３は、撮像装置４０、ディスプレイ、キーボードやマウスなどの入出力装置を接続するためのインタフェースである。通信ＩＦ１４は、他のコンピュータや装置と、有線通信又は無線通信を介して、接続するための通信インタフェースである。例えば、情報処理装置１０は、通信ＩＦ１４を介して、ＨＭＤ２０に接続される。説明の便宜上、各ＩＦは上記のとおり説明するが、それぞれの装置におけるインタフェースの種類は上記に限定されず、また各々の装置ごとに異なるインタフェースを備えていてもよい。
【００３０】
記憶装置１２は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばＲＡＭのような半導体メモリである。ＲＡＭは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ１１が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるＲＯＭを含んでいてもよい。この場合、ＲＯＭはファームウェア等のプログラムを格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ１１が使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム（ＯＳ）、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。記憶装置１２は、ＶＲアプリケーションを記憶する。
【００３１】
図３は、本発明の一実施形態によるＨＭＤ２０のハードウェア構成を示すブロック図である。ＨＭＤ２０は、プロセッサ２１と、記憶装置２２と、表示装置（表示部）２３と、ＬＥＤライト２４と、通信インタフェース（通信ＩＦ）２５とを備える。これらの各構成装置はバス２６によって接続される。なお、バス２６と各構成装置との間には必要に応じてインタフェースが介在しているものとする。
【００３２】
プロセッサ２１は、ＨＭＤ２０全体の動作を制御する処理装置であり、例えばＣＰＵである。なお、プロセッサ２１としては、ＭＰＵ等の電子回路が用いられてもよい。プロセッサ２１は、記憶装置２２に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。ＨＭＤ２０は、情報処理装置１０から受信した仮想空間画像を表示装置２３に表示（描画）する。ただしプロセッサ２１は、描画処理を行うＧＰＵを含むこともでき、この場合ＨＭＤ２０は、情報処理装置１０の代わりに仮想空間画像を生成することができる。
【００３３】
記憶装置２２は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばＲＡＭのような半導体メモリである。ＲＡＭは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ２１が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるＲＯＭを含んでいてもよい。この場合、ＲＯＭはファームウェア等のプログラム２１を格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサが使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム（ＯＳ）、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。
【００３４】
表示装置２３は、液晶ディスプレイや有機ＥＬディスプレイなどの非透過型ディスプレイであり、ＨＭＤ２０を装着するユーザに対して仮想空間画像を表示する。したがって、例えばＨＭＤ２０は、一般的なビデオシースルー型ＨＭＤとすることができる。表示装置２３は、頭部装着型表示装置（ＨＭＤ）における表示装置であるが、説明の便宜上、以下では表示部２３と呼ぶ。
【００３５】
ＬＥＤライト２４は、赤外線ＬＥＤにより構成され、ＨＭＤ２０の筐体等に複数取り付けられる。ＬＥＤライト２４は、ユーザの頭部の動きに併せて移動するＨＭＤ２０のトラッキングを実現するために取り付けられるものである。ＬＥＤライト２４は、ＨＭＤ２０のトラッキングを実現可能であれば、所定の色を発光する発光素子としてもよい。
【００３６】
通信ＩＦ２５は、他のコンピュータや装置と、有線通信又は無線通信を介して、接続するための通信インタフェースである。例えば、ＨＭＤ２０は、通信ＩＦ２５を介して、情報通信装置１０に接続される。
【００３７】
１つの変形例では、ＨＭＤ２０は、姿勢センサ（図示せず）を備える。この場合、姿勢センサ２５は、ジャイロセンサ及び加速度センサを含み、ＨＭＤ２０の位置、回転角度、表示部２３が向く方向などを含むセンサ情報を検出し、当該センサ情報を情報処理装置１０に送り、情報処理装置１０は、当該センサ情報を順次取得する。１つの変形例では、ＨＭＤ２０は、ＣＣＤセンサやＣＭＯＳセンサなどから構成されるカメラ（図示せず）を備える。この場合、カメラは、撮影した撮影画像を情報処理装置１０に順次送り、情報処理装置１０は、当該画像を順次取得する。
【００３８】
図４は、本発明の一実施形態によるコントローラ３０の概略外観図である。コントローラ３０は、把持部３１、操作ボタン３２、及びＬＥＤライト３３を有するスティックタイプのコントローラである。把持部３１は、ユーザがコントローラ３０を操作する際に把持する部分である。操作ボタン３２は、通常のゲーム機に備え付けられる１又は複数のボタンである。ＬＥＤライト３３は、所定の色で発光するＬＥＤにより構成され、コントローラの端部に取り付けられる。
【００３９】
本実施形態では、コントローラ３０は、２つの手のそれぞれに対応する２つのコントローラを含み、ユーザは把持部３１を把持して腕や手を動かすことにより、又は操作ボタン３２を操作することにより、ユーザ操作を行う。１つの例では、情報処理装置１０は、撮像装置４０から取得される撮像画像におけるＬＥＤライト３３の位置を追跡し、コントローラ３０の位置及び動きを決定する。１つの例では、コントローラ３０は、ユーザにより押し付けられたボタンの情報を情報処理装置１０に送信する。
【００４０】
コントローラ３０は、ジャイロセンサ及び加速度センサを含んだモーションセンサを備えることができる。この場合、コントローラ３０は、モーションセンサにより検出されたコントローラ３０の位置、回転角度などを含むセンサ情報を情報処理装置１０に送信する。
【００４１】
出力装置５０は、一般的な画像や音声を出力するディスプレイである。１つの例では、出力装置５０は、液晶ディスプレイ、有機ＥＬを用いたディスプレイ、又はプラズマディスプレイである。１つの例では、出力装置５０は、ＨＭＤ２０を装着したユーザに対して提示する仮想空間画像と同じ画像を出力するように構成される。このような構成とすることにより、ユーザがＨＭＤ２０で視認する画像を、他のユーザが出力装置５０により確認することができる。ただしこのような場合、情報処理システム１は、出力装置５０を備えていなくてもよい。他の例では、出力装置５０は、管理者設定画面を表示する。このような構成とすることにより、管理者がキーボードやマウスなどの入力装置からコマンドを入力することで、情報処理システム１に関する設定を行うことが可能となる。出力装置５０は、一般的な音声を出力するスピーカも備えることができる。
【００４２】
図５は本発明の一実施形態による情報処理システム１の機能ブロック図である。情報処理システム１は、位置決定部６１と、記憶部６２と、処理部６３とを備える。これらの機能は、情報処理装置１０のプロセッサ１１又はＨＭＤ２０のプロセッサ２１によりプログラムが実行されることにより実現される。したがって、情報処理装置１０及びＨＭＤ２０の少なくとも一方が図５に示す各種機能を備える。各種機能はプログラム読み込みにより実現されるため、１つのパート（機能）の一部を他のパートが有していてもよい。なお、場合によっては、各機能の一部又は全部は、各機能を実現するための電子回路等を構成することによりハードウェアによって実現してもよい。
【００４３】
位置決定部６１は、撮像装置４０を位置決定用のセンサとして用いて、取得されたセンサ情報からＨＭＤ２０の位置を決定する。位置決定部６１は、撮像装置４０から順次取得するユーザにより装着されたＨＭＤ２０が撮影された撮影画像から、ＨＭＤ２０に取り付けられた複数のＬＥＤライト２４の位置を特定することにより、ＨＭＤ２０の位置及び傾きを決定する。
【００４４】
１つの例では、位置決定部６１が決定するＨＭＤ２０の位置は、撮像装置４０に対する相対的な位置により決定される。１つの例では、位置決定部６１は、ＨＭＤ２０に取り付けられた複数のＬＥＤライト２４の位置を特定することにより、ＨＭＤ２０の表示部２３が向く方向を更に決定する。このような構成とすることにより、情報処理システム１は、ユーザの頭部の位置、傾き、動き等を認識し、ユーザの位置やユーザの視界領域を決定することが可能となる。
【００４５】
１つの例では、ＨＭＤ２０が備える姿勢センサを位置決定用のセンサとして用いる。この場合、位置決定部６１は、姿勢センサで検出されたセンサ情報を更に用いて、ＨＭＤ２０の位置及び傾きを決定する。このようにＬＥＤライト２４の位置を特定するための撮像装置４０とＨＭＤ２０の位置や回転角度等を検出するための姿勢センサとを併用してＨＭＤ２０の位置や傾きをトラッキングする構成とすることにより、位置決定部６１は、高精度のトラッキング処理を行うことが可能となる。ただし、上記のトラッキング処理は例示であり、その他の公知の技術を用いることができる。他の例では、位置決定部６１は、ＬＥＤライト２４の位置を特定するための撮像装置４０と参照光を対象物に照射し該反射光を測定するセンサとを併用することにより、ＨＭＤ２０の位置及び傾きを決定する。
【００４６】
１つの変形例では、位置決定部６１は、ＨＭＤ２０が備えるカメラのみを位置決定用のセンサとして用いて、取得されたセンサ情報からＨＭＤ２０の位置及び傾きを決定する。位置決定部６１は、ＨＭＤ２０から順次取得する撮像装置４０等が撮影された撮影画像から、撮影対象物との相対位置を特定することにより、ＨＭＤ２０の位置及び傾きを決定する。
【００４７】
また位置決定部６１は、撮像装置４０を位置決定用のセンサとして用いて、取得されたセンサ情報からコントローラ３０の位置を決定する。位置決定部６１は、撮像装置４０から順次取得するユーザにより把持されたコントローラ３０が撮影された撮影画像から、コントローラ３０に取り付けられたＬＥＤライト３３の位置を特定することにより、コントローラ３０の位置及び傾きを決定する。撮影画像が２つのコントローラ３０に各々取り付けられたＬＥＤライト３３を含む場合、位置決定部６１は、２つのコントローラ各々の位置及び傾きを決定する。
【００４８】
１つの例では、コントローラ３０が備えるモーションセンサを位置決定用のセンサとして用いる。この場合、位置決定部６１は、モーションセンサで検出されたセンサ情報を更に用いて、コントローラ３０の位置及び傾きを決定する。このようにＬＥＤライト３３の位置を特定するための撮像装置４０とＨＭＤ２０の位置や回転角度等を検出するためのモーションセンサとを併用してコントローラ３０の位置や傾きをトラッキングする構成とすることにより、位置決定部６１は、高精度のトラッキング処理を行うことが可能となる。ただし、上記のトラッキング処理は例示であり、その他の公知の技術を用いることができる。
【００４９】
位置決定部６１は、位置決定用のセンサから順次取得するセンサ情報を用いて、ＨＭＤ２０やコントローラ３０の位置を決定し続ける。１つの例では、位置決定部６１は、撮像装置４０から順次取得する撮影画像に応じて、所定の間隔で定期的にＨＭＤ２０の位置及び傾きを決定し続ける。１つの例では、位置決定部６１は、撮像装置４０から順次取得する撮影画像に応じて、所定の間隔で定期的にコントローラ３０の位置及び傾きを決定し続ける。
【００５０】
記憶部６２は、プログラムやデータ等を記憶装置１２又は記憶装置２２へ記憶する。記憶部６２は、仮想空間に関する情報、仮想空間に配置される仮想オブジェクトに関する情報を記憶する。
【００５１】
処理部６３は、ゲーム等のＶＲアプリケーションを実行するための各種の処理を行う。処理部６３は、ユーザ環境決定部６４と、仮想オブジェクト制御部６５と、ユーザ操作処理部６６、表示画像生成部６７とを含む。
【００５２】
最初に、ユーザ環境決定部６４は、ＶＲアプリケーションが定める内容に従って、３次元仮想空間を構築し、位置決定用のセンサを用いて取得された実空間におけるＨＭＤ２０の位置に基づいて仮想空間におけるユーザの初期位置を決定する。ユーザの初期位置はＶＲシステム起動時等の初期状態におけるユーザ位置であり、ユーザ位置はユーザの視点位置を含み、ユーザ環境決定部６４は、ユーザの視点位置に仮想カメラを配置する。ここで、仮想カメラから見る画像はユーザが視認する画像であるため、仮想カメラが捉える領域、すなわち仮想カメラの視野領域は、ユーザの視界領域に対応することは理解される。ユーザ環境決定部６４は、位置決定部６１が決定したＨＭＤ２０の位置及び傾きを用いてユーザの位置及び向いている方向を決定することによりユーザの初期位置を決定するとともにユーザの視界領域を決定する。
【００５３】
このとき、ユーザ環境決定部６４は、ユーザの初期位置を用いて、ユーザが仮想空間において移動することが可能な範囲であるユーザの可動範囲を決定する。例えばＶＲアプリケーションがライブ体感ＶＲゲームである場合、ユーザ環境決定部６４は、ライブ会場内の３次元仮想空間を構築し、ユーザの客席の位置及び視界領域を決定し、ライブ会場内におけるユーザの可動範囲を決定する。
【００５４】
１つの例では、位置決定部６１は撮像装置４０に対する相対位置によりＨＭＤ２０の位置を決定し、ユーザ環境決定部６４は、このように決定されたＨＭＤ２０の位置に応じて仮想空間におけるユーザの初期位置を決定する。１つの例では、ユーザ環境決定部６４は、ユーザが実空間において移動することが可能な領域に基づいてユーザの可動範囲を決定する。例えばユーザ環境決定部６４は、ユーザの可動範囲の奥行き方向の境界を、実空間上に存在する撮像装置４０の位置に対応する仮想空間上の位置よりも手前に設定する。このように本実施形態では、ユーザ環境決定部６４は、実空間におけるＨＭＤ２０の位置やＶＲアプリケーションの内容に従って構築した仮想空間の環境に応じて、仮想空間構築時などのＶＲシステム起動時においてユーザの可動範囲を決定する。
【００５５】
初期位置決定後も、ユーザ環境決定部６４は、位置決定部６１が決定したＨＭＤ２０の位置及び傾きからユーザの位置及び向いている方向を決定することにより、仮想カメラの視野領域を決定する。ここで、本実施形態においては、ユーザ環境決定部６４が構築する仮想空間における長さは、実空間上の長さと実質的に同じである。ＨＭＤ２０を装着したユーザが実空間上で一の方向に０．１ｍ移動すると、ユーザ環境決定部６４は、仮想空間上の仮想カメラを、仮想空間における当該一の方向に対応する方向に０．１ｍ移動させる。１つの例では、ユーザ環境決定部６４は、位置決定部６１が所定の間隔で定期的に決定するＨＭＤ２０の位置及び傾きを用いて、ユーザの視点位置及び仮想カメラの視野領域を決定し続ける。ただし、ユーザ環境決定部６４が構築する仮想空間における長さは、実空間上の長さに対応するような長さであれば、実空間上の長さと同じでなくてもよい。
【００５６】
仮想オブジェクト制御部６５は、ＶＲアプリケーションが定める内容に従って、設定された位置に設定された大きさの仮想オブジェクトを配置する。例えばＶＲアプリケーションがライブ体感ＶＲゲームである場合、仮想オブジェクト制御部６５は、ライブ会場を構成する建物の壁、座席、柵などの物体の仮想オブジェクト、及びアイドル、他の客などの人物の仮想オブジェクトを配置する。後述する表示画像生成部６７は、仮想カメラの視野領域に配置された仮想オブジェクトが存在する場合に、仮想カメラから見た、該仮想オブジェクトを含む仮想空間画像を生成する。
【００５７】
本実施形態では、仮想オブジェクトは、コントローラ３０を用いてユーザに選択操作をさせるための選択式のウィンドウ又はユーザに設定に関する注意喚起するためのメッセージウィンドウなどの所定のＧＵＩオブジェクトを含む。説明の便宜上、本実施形態では、仮想空間上に配置されるＧＵＩオブジェクトが１つの場合について説明するが、複数あってもよい。１つの例では、ＧＵＩオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも１つを含む。
【００５８】
図６は、本発明の一実施形態によるＧＵＩオブジェクトの一例、具体的にはライブ体感ＶＲゲームにおけるＧＵＩオブジェクトの一例であり、表示画像生成部６７が生成したＧＵＩオブジェクトを含む仮想空間画像を示すものである。図６に示すように、仮想オブジェクト制御部６５は、ＧＵＩオブジェクトを他の仮想オブジェクトと同様にして仮想空間上の所定の位置に配置する。これは、処理部６３が、ＧＵＩオブジェクトを仮想空間と完全に切り離してＨＭＤ２０の表示部２３に表示するように構成されると、ＶＲの世界を体験しているユーザが没入感を損なうためである。ただし、情報処理システム１は、仮想空間においてＧＵＩオブジェクトをユーザに接触させてユーザ操作を行うためではなく、仮想空間においてユーザに視認させるためにＧＵＩオブジェクトを配置する。
【００５９】
図６が示すＧＵＩオブジェクトは、「もう一度ＬＩＶＥを開始しますか？」というユーザに対する質問のウィンドウとともに「はい」と「いいえ」のユーザから回答を受け付けるウィンドウを含む。後述するユーザ操作処理部６６は、ユーザによるコントローラ３０を用いた選択操作を受け付けることにより、もう一度ＬＩＶＥを開始するか否かを決定する。このように、本実施形態におけるＧＵＩオブジェクトは、コントローラ３０を用いてユーザの選択操作を促すような、ユーザに認識させる必要がある仮想オブジェクトである。
【００６０】
ユーザ操作処理部６６は、位置決定部６１が決定した２つのコントローラ３０の位置及び傾きを用いて、実空間のコントローラ３０の位置に対応する仮想空間上の位置にコントローラ３０に対応したスティック状の仮想のペンライトを配置する。このときユーザ操作処理部６６は、仮想のペンライトの位置及び傾きから該ペンライトを把持する腕や手の位置を推定し、仮想のペンライトを把持する仮想の手や仮想の腕を併せて配置する。したがって、ユーザ操作処理部６６は、仮想のペンライト、仮想の手、及び仮想の腕を含む仮想身体を、実空間のコントローラ３０、ユーザの手、及びユーザの腕に対応する仮想空間上の位置に配置する。ただし、仮想身体は、仮想のペンライト、仮想の手、及び仮想の腕のうちの少なくとも１つを含むものであってもよい。またユーザ操作処理部６６の上記機能は、ユーザ操作に応じた仮想オブジェクトの配置であるため、仮想オブジェクト制御部６５が一部又は全部を行ってもよい。なおスティック状の仮想のペンライトは、スティック状のコントローラ３０に対応したスティック状の仮想オブジェクトの１つの例示であって、この形状に限定されない。また１つの例では、ユーザ操作処理部６６は、位置決定部６１が所定の間隔で定期的に決定するコントローラ３０の位置及び傾きを用いて、仮想身体の位置を更新し続ける。
【００６１】
またユーザ操作処理部６６は、ＶＲアプリケーションが定める内容と、ユーザにより押し付けられた操作ボタン３２の情報とに応じて、ＶＲアプリケーションにおける所定の処理を行う。例えばこのときコントローラ３０は、ユーザにより押し付けられた操作ボタン３２の情報である操作情報を情報処理装置１０に送信し、ユーザ操作処理部６６は、情報処理装置１０が受信した操作情報を用いて、所定の処理を行う。また例えば、図６に示すＧＵＩオブジェクトが表示される場合、コントローラ３０から受信する操作情報に応じて、ユーザ操作処理部６６は、もう一度ＬＩＶＥを開始するか否かを決定することができる。
【００６２】
表示画像生成部６７は、ユーザに提示するＨＭＤ２０の表示部２３に表示する仮想カメラから見た仮想空間画像を生成する。表示画像生成部６７は、仮想カメラからの距離に応じて、配置される仮想オブジェクトの表示サイズを変更する。例えば表示画像生成部６７が同じ大きさの仮想オブジェクトの画像を生成する場合、近くの仮想オブジェクトは大きく、遠くの仮想オブジェクトは小さく表示する。１つの例では、表示画像生成部６７は、仮想カメラからの距離に応じてポリゴン数を減少させる従来から知られているＬＯＤを実装することにより実現される。
【００６３】
表示画像生成部６７は、仮想カメラの視野領域に仮想オブジェクトが存在する場合に、該視野領域に存在する仮想オブジェクトを含む仮想空間画像を生成する。同様に、表示画像生成部６７は、仮想カメラの視野領域に仮想身体が存在する場合、該視野領域に存在する仮想身体を含む仮想空間画像を生成する。
【００６４】
図７は、本発明の一実施形態による表示部２３が表示する仮想身体の一例、具体的にはライブ体感ＶＲゲームにおける表示部２３が表示する仮想身体の一例である。図から理解されるように、本実施形態では、表示画像生成部６７は、仮想カメラの視野領域に存在する仮想のペンライト７１、仮想の手７２、及び仮想の腕７３を含む仮想身体を含む仮想空間画像を生成する。このような構成とすることにより、本実施形態では、情報処理システム１は、表示部２３を通してユーザが認識する仮想身体を、ユーザ自身の手及び腕並びにユーザ自身が把持するペンライトであるかのようにユーザに認識させることが可能となる。これにより、ユーザに対して、ＶＲの魅力の１つである没入感を与えることが可能となる。
【００６５】
ここで、ユーザ環境決定部６４が決定するユーザの可動範囲は、実空間におけるコントローラ３０に対応する仮想オブジェクトの可動範囲を含む。本実施形態では、ユーザ環境決定部６４が決定するユーザの可動範囲は、仮想のペンライト、仮想の手、及び仮想の腕を含む仮想身体が配置される可能性がある仮想空間上の領域を含む。
【００６６】
本実施形態では、仮想オブジェクト制御部６５は、ＧＵＩオブジェクトを配置する位置をユーザの可動範囲よりも深い奥行きの所定位置に決定する。このような構成とすることにより、本実施形態では、情報処理システム１は、仮想身体とＧＵＩオブジェクトとが干渉することを防止する。例えば、これにより、ユーザの腕がＧＵＩオブジェクトを貫通したり埋没したりするような印象を与えることを防止することが可能となる。
【００６７】
しかしながら、仮想オブジェクト制御部６５がユーザの可動範囲よりも深い奥行きの位置にＧＵＩオブジェクトを配置すると、表示画像生成部６７が生成する仮想空間画像におけるＧＵＩオブジェクトの表示サイズは小さくなる。すなわち、ＨＭＤ２０が表示部２３に表示するＧＵＩオブジェクトの表示サイズが小さくなる。ＧＵＩオブジェクトは、コントローラ３０を用いてユーザに選択操作をさせるための選択式のウィンドウやユーザに注意喚起するためのメッセージウィンドウなどであり、ユーザに認識させる必要があるものであるため、表示サイズが小さくなることは好ましくない。
【００６８】
本実施形態では、以下で説明するとおり、仮想オブジェクト制御部６５は、決定された位置におけるＧＵＩオブジェクトが表示部２３上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定する。仮想空間における大きさは、例えば仮想空間における縦の長さと横の長さである。
【００６９】
記憶部６２は、仮想カメラからの距離である奥行きと、仮想空間における単位長の表示部２３上の表示サイズとの対応関係を示すデータである遠近法特性プロファイルを記憶する。本実施形態においては、遠近法特性プロファイルは、一般的なユーザによりＶＲアプリケーションが利用可能となる前に、例えばＶＲアプリケーション開発時などに、生成される。遠近法特性プロファイルは、一般的にＶＲアプリケーションによって異なるものであるため、ＶＲアプリケーションごとに生成する必要がある。遠近法特性プロファイルは、遠近法の基準となる単位長を表示部２３に表示し、その単位長の奥行きを変化させ、単位長の表示部２３に表示される表示サイズと奥行きとの関係を計測することにより生成されるものであり、予め作成されるものである。なお単位長は、仮想空間における基準とする長さを示すものであり、単位長の表示部２３上の表示サイズと奥行きとの関係を示すことができる長さであればよく、特定の長さに限定されない。
【００７０】
図８は、本発明の一実施形態による遠近法特性プロファイルの一例である。図８が示す遠近法特性プロファイルは、仮想空間における遠近法の基準となるグリッドの辺の長さ（単位長）と仮想カメラからの奥行き（デプス）との関係を示す関数である。図８の横軸はデプス（ｄｅｐｔｈ）であり、値が大きいほど深い位置、すなわち仮想カメラから遠い位置を表す。図８の縦軸はあるデプスにおいて単位長が表示部２３上で表示される長さ（ｌｅｎｇｔｈ（ｄ））であり、値が大きいほど表示される長さが長い、例えば表示部２３上のピクセル数が大きい、ことを表す。
【００７１】
ここで図８を用いて、奥行き方向におけるユーザの可動範囲とＧＵＩオブジェクトの配置位置との関係を説明する。Ｄ１は、ユーザ環境決定部６４が決定したユーザの可動範囲において最も仮想カメラから遠い位置、すなわちユーザの可動範囲のデプスの限界位置を示すものであり、ユーザの仮想身体の到達限界点である。Ｄ２は、ＧＵＩオブジェクトを配置するデプスの位置を示すものであり、仮想オブジェクト制御部６５が設定したＤ１よりも更に深いデプスの位置である。
【００７２】
上記の遠近法特性プロファイルを用いることにより、仮想オブジェクトの大きさをデプスの位置に応じて変更することにより、任意のデプスの位置において、表示部２３に表示される表示サイズを一定とすることができる。好適な１つの例では、あるデプスｄにおける仮想オブジェクトを構成する任意の一辺について、表示部２３上で表示させたい長さをｌｅｎｇｔｈとすると、そのために必要な当該一辺の仮想空間上の長さｖｒｓｃａｌｅは、以下の式１で表される。ここで単位長は、ｇｒｉｄ＿ｌｅｎｇｔｈとする。
2019061528.tif 000003
（式１）
【００７３】
本実施形態では、仮想オブジェクト制御部６５は、遠近法特性プロファイルを用いて、例えば式１を用いて、決定された位置におけるＧＵＩオブジェクトが表示部２３上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定する。ＧＵＩオブジェクトの表示部２３上での表示サイズは、例えば表示部２３の画面上のピクセル数で表されるものであり、一定の表示サイズとは、ユーザが認識可能な程度の一定のサイズである。
【００７４】
その結果、表示画像生成部６７は、仮想カメラの視野領域にＧＵＩオブジェクトが存在する場合、一定の表示サイズのＧＵＩオブジェクトを含む仮想空間画像を生成することとなる。このような構成とすることにより、本実施形態では、ユーザの手に届かない位置にＧＵＩオブジェクトを配置しつつ、表示部２３には一定サイズのＧＵＩオブジェクトを表示することが可能となる。これにより、視認性が高く、かつユーザの仮想身体と干渉しないＧＵＩオブジェクトを表示することが可能となる。なお、仮想オブジェクト制御部６５は、仮想カメラの視野領域において、一定の表示サイズのＧＵＩオブジェクトが他の仮想オブジェクトと重複しないように、ＧＵＩオブジェクトの位置を決定することもできる。
【００７５】
なお遠近法特性プロファイルは、複数の奥行き距離と、該奥行き距離の各々における仮想空間上の単位長の表示部２３上での表示サイズとの対応関係を示すデータであれば、関数でなくてもよい。
【００７６】
次に、本発明の一実施形態による情報処理システム１の情報処理について図９に示したフローチャートを用いて説明する。図９に示す情報処理は、プログラムを情報処理装置１０に実行させることで実現されるか、プログラムをＨＭＤ２０に実行させることで実現されるか、又はプログラムを情報処理装置１０に実行させ、かつプログラムをＨＭＤ２０に実行させることで実現される。ここでは、主として情報処理装置１０が情報処理を行うものとして説明するが、ＨＭＤ２０が一部又は全部の情報処理を行うこともできる。
【００７７】
情報処理装置１０は、例えば情報処理システム１が提供するＶＲシステム起動時に、本情報処理を開始する。まずステップ９０１において、情報処理装置１０は、センサを用いて決定したＨＭＤ２０の位置及び傾きからユーザの位置及び向いている方向を決定することにより、仮想空間におけるユーザの視点位置を決定する。情報処理装置１０は、決定されたユーザの視点位置に仮想カメラを配置する。
【００７８】
続いてステップ９０２において、情報処理装置１０は、構築した仮想空間の環境及びユーザの視点位置に基づいて、ユーザが仮想空間において移動することが可能な範囲であるユーザの可動範囲を決定する。
【００７９】
続いてステップ９０３において、情報処理装置１０は、ＧＵＩオブジェクトを配置する位置を、ユーザの可動範囲の外側の仮想空間領域内であるユーザの可動範囲よりも深い奥行きの所定位置に決定する。
【００８０】
続いてステップ９０４において、情報処理装置１０は、決定されたユーザの視点位置において、配置された位置のＧＵＩオブジェクトが表示部２３上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定する。このとき情報処理装置１０は、遠近法特性プロファイルなどの奥行きと仮想空間における単位長の表示部２３上の表示サイズとの対応関係を示すデータを用いて、ＧＵＩオブジェクトの仮想空間における大きさを決定する。
【００８１】
続いてステップ９０５において、情報処理装置１０は、決定された大きさのＧＵＩオブジェクトを含む仮想空間の描画データを生成する。具体的には、情報処理装置１０は、ＨＭＤ２０の表示部２３に表示する仮想カメラから見た仮想空間画像を生成する。情報処理装置１０は、生成した仮想空間画像をＨＭＤ２０へ送信し、ＨＭＤ２０は表示部２３に表示する。ただし、情報処理装置１０は、ＨＭＤ２０が表示部２３に表示する仮想カメラから見た仮想空間画像を生成するための描画コマンド等のデータを生成してもよい。
【００８２】
その後、情報処理システム１が提供するＶＲシステムが終了しない限り（ステップ９０６）、情報処理装置１０は、所定の間隔で定期的にセンサを用いて決定されるＨＭＤ２０の位置及び傾きに基づいて、ステップ９０７においてユーザの視点位置及び仮想カメラの視野領域を更新し、ステップ９０４に戻る。このとき、情報処理装置１０は、仮想カメラの配置位置を更新されたユーザの視点位置に更新する。ステップ９０４においては、情報処理装置１０は、更新されたユーザの視点位置において、配置された位置のＧＵＩオブジェクトが表示部２３上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定する。
【００８３】
なお本情報処理は、仮想カメラの視野領域にＧＵＩオブジェクトが存在する場合についての情報処理装置１０の処理を示している。好適な１つの例では、情報処理装置１０は、ステップ９０５の前に、仮想カメラの視野領域にＧＵＩオブジェクトが存在するか否かを判断し、ＧＵＩオブジェクトが存在する場合のみ、ステップ９０５を実行する。他の例では、情報処理装置１０は、ステップ９０４の前に、仮想カメラの視野領域にＧＵＩオブジェクトが存在するか否かを判断し、ＧＵＩオブジェクトが存在する場合のみ、ステップ９０４及びステップ９０５を実行する。
【００８４】
次に、本発明の実施形態による情報処理システム１の作用効果について説明する。本実施形態では、ユーザ環境決定部６４は、ＶＲシステム起動時において、実空間におけるＨＭＤ２０の位置に基づいてユーザの視点位置を決定するとともにユーザの可動範囲を決定する。仮想オブジェクト制御部６５は、このように環境に応じてユーザの可動範囲を決定した上で、該可動範囲のよりも深い奥行きの所定位置にＧＵＩオブジェクト（ＧＵＩ要素）を配置する。続いて仮想オブジェクト制御部６５は、遠近法特性プロファイルを用いて、決定された位置におけるＧＵＩオブジェクトが表示部２３上で一定の表示サイズとなるように、ＧＵＩオブジェクトの仮想空間における大きさを決定する。
【００８５】
また本実施形態では、表示画像生成部６７は、仮想カメラの視野領域に存在する仮想のペンライト７１、仮想の手７２、及び仮想の腕７３を含む仮想身体を含む仮想空間画像を生成する。
【００８６】
このような構成とすることにより、本実施形態では、表示部２３を通してユーザが認識する仮想身体を、ユーザ自身の手及び腕並びにユーザ自身が把持するペンライトであるかのようにユーザに認識させることが可能となる。これにより、ユーザに対して、ＶＲの魅力の１つである没入感を与えることが可能となる。
【００８７】
またこのような構成とすることにより、本実施形態では、ユーザの手に届かない位置にＧＵＩオブジェクトを配置しつつ、表示部２３には一定サイズのＧＵＩオブジェクトを表示することが可能となる。これにより、視認性が高く、かつユーザの仮想身体と干渉しないＧＵＩオブジェクトを表示することが可能となる。またこのような構成とすることにより、本実施形態では、ＧＵＩオブジェクトをＶＲ空間と完全に切り離してＨＭＤ２０の表示部２３に表示する構成と比較して、ユーザに没入感を提供しつつ、幅広い状況下において高い視認性を与えることが可能となる。
【００８８】
またこのように構成された本実施形態における情報処理システム１、情報処理方法、及び当該方法を実行させるプログラム等は、ＶＲ空間を構成する背景とは独立したウィンドウなどのＵＩ要素を表示するＶＲゲームなどのＶＲアプリケーションに汎用的に使用することできるものである。
【００８９】
また本実施形態では、仮想オブジェクト制御部６５は、ユーザの視点位置から見て一定の表示サイズのＧＵＩオブジェクトが他の仮想オブジェクトと重複しないように、ＧＵＩオブジェクトの位置を決定することができる。これにより、視認性が高いＧＵＩオブジェクトを表示することが可能となる。
【００９０】
本発明の実施形態によるプログラムは、該プログラムをプロセッサ１１又はプロセッサ２１に実行させることにより上記の情報処理システム１の動作を実現するため、該プログラムの作用効果は、情報処理システム１と同じである。
【００９１】
本発明の他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムを格納したコンピュータ読み取り可能な記憶媒体とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムをコンピュータに供給することができるサーバとすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する仮想マシンとすることもできる。
【００９２】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。例えば、各装置の各装置の外観形状は図示されたものに限定されない。
【符号の説明】
【００９３】
１  情報処理システム
１０  情報処理装置
１１  プロセッサ
１２  記憶装置
１３  入出力ＩＦ
１４  通信ＩＦ
２０  頭部装着型表示装置
２１  プロセッサ
２２  記憶装置
２３  表示部
２４  ＬＥＤライト
２５  通信ＩＦ
３０  コントローラ
３１  把持部
３２  操作ボタン
３３  ＬＥＤライト
６１  位置決定部
６２  記憶部
６３  処理部
６４  ユーザ環境決定部
６５  仮想オブジェクト制御部
６６  ユーザ操作処理部
６７  表示画像生成部
７１  仮想の腕
７２  仮想の手
７３  仮想のペンライト
【図１】
2019061528.tif 000004
【図２】
2019061528.tif 000005
【図３】
2019061528.tif 000006
【図４】
2019061528.tif 000007
【図５】
2019061528.tif 000008
【図６】
2019061528.tif 000009
【図７】
2019061528.tif 000010
【図８】
2019061528.tif 000011
【図９】
2019061528.tif 000012
【手続補正書】
【提出日】平成30年3月12日(2018.3.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該仮想オブジェクトは所定のＧＵＩオブジェクトを含むものであり、該処理装置に、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
前記仮想空間における前記ユーザの可動範囲を決定するステップと、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定するステップと、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定するステップと、
前記決定された大きさの前記ＧＵＩオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間の描画データを生成するステップと、
を実行させるプログラム。
【請求項２】
前記処理装置は、前記頭部装着型表示装置に含まれる、請求項１に記載のプログラム。
【請求項３】
前記処理装置は、前記頭部装着型表示装置と通信可能に接続された情報処理装置に含まれる、請求項１に記載のプログラム。
【請求項４】
前記描画処理は、実空間における前記ユーザにより把持されるコントローラの位置に基づいて該コントローラの位置に対応する前記仮想オブジェクトを描画する描画処理を含み、
前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記ＧＵＩオブジェクトの位置を決定するステップは、前記ユーザの視点位置から見て前記一定の表示サイズの前記ＧＵＩオブジェクトが他の前記仮想オブジェクトと重複しないように、前記ＧＵＩオブジェクトの位置を決定する、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記ＧＵＩオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも１つを含む、請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行うための情報処理方法であって、該仮想オブジェクトは所定のＧＵＩオブジェクトを含むものであり、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
前記仮想空間における前記ユーザの可動範囲を決定するステップと、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定するステップと、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定するステップと、
前記決定された大きさの前記ＧＵＩオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画するステップと、
を有する方法。
【請求項８】
ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置を備える情報処理システムであって、
実空間における前記頭部装着型表示装置の位置を取得するセンサと、
前記表示部に表示する仮想オブジェクトを含む前記仮想空間の描画処理を行う処理部であって、該仮想オブジェクトは所定のＧＵＩオブジェクトを含むものである、処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
前記センサにより取得された位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画する、
情報処理システム。
【請求項９】
前記情報処理システムは、前記ユーザにより把持されるコントローラを備え、
前記描画処理は、実空間における前記コントローラの位置に基づいて前記コントローラの位置に対応する前記仮想オブジェクトを描画する描画処理を含み、
前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項８に記載の情報処理システム。
【請求項１０】
前記記憶部により記憶されたデータは、奥行きごとの、前記仮想空間における単位長の前記表示部に表示される表示サイズを計測することにより予め作成される、請求項８又は９に記載の情報処理システム。
【請求項１１】
前記情報処理システムは、前記頭部装着型表示装置と通信可能に接続された情報処理装置を備え、
前記処理部は、前記頭部装着型表示装置及び前記情報処理装置により実現される、請求項８から１０のいずれか１項に記載の情報処理システム。
【請求項１２】
ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置であって、
前記表示部に表示する仮想オブジェクトを含む前記仮想空間の描画処理を行う処理部であって、該仮想オブジェクトは所定のＧＵＩオブジェクトを含むものである、処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画する、
頭部装着型表示装置。
【請求項１３】
頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行うための情報処理装置であって、該仮想オブジェクトは所定のＧＵＩオブジェクトを含むものであり、
前記表示部に表示する前記仮想空間の描画処理を行う処理部と、
奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
前記処理部は、
センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定し、
前記仮想空間における前記ユーザの可動範囲を決定し、
前記決定された可動範囲の外側の前記仮想空間領域内に、前記ＧＵＩオブジェクトの位置を決定し、
前記記憶部により記憶されたデータを用いて、前記決定された位置の前記ＧＵＩオブジェクトが前記表示部上で一定の表示サイズとなるように、前記ＧＵＩオブジェクトの前記仮想空間における大きさを決定し、
前記決定された大きさの前記ＧＵＩオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画するためのデータを前記頭部装着型表示装置に送信する、
情報処理装置。