(57)【要約】      （修正有）【課題】仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させる。【解決手段】プログラムであって、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、ユーザがヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、ヘッドマウントディスプレイ及びコントローラの位置を検出するためのセンサの検出値を用いて、コントローラ及びヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、変更された各関節の位置を用いて、ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、として機能させる。【選択図】図４
2020091774.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、
ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、
前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、
前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、
として機能させるためのプログラム。
【請求項２】
前記表示制御部は、前記ユーザの立ち位置に仮想空間内の分身が位置するように前記ヘッドマウントディスプレイに当該分身の一部を表示するよう制御する
請求項１に記載のプログラム。
【請求項３】
前記表示制御部は、前記分身の各関節の位置が変更される前は、変更前の分身の鏡像を、前記ヘッドマウントディスプレイに表示するよう制御し、前記分身の各関節の位置が変更された後は、変更後の分身の鏡像を、前記ヘッドマウントディスプレイに表示するよう制御する
請求項１または２に記載のプログラム。
【請求項４】
前記表示制御部は、前記仮想空間内の分身の鏡像を、リンクが連結された態様で表示するよう制御する
請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
前記表示制御部は、リンク同士が連結された点を中心とする円を表示するよう制御する
請求項４に記載のプログラム。
【請求項６】
前記コントローラで予め決められた操作がされたか否か判定する判定部として更に機能させるためのプログラムであり、
判定の結果、前記コントローラで予め決められた操作がされた場合、前記位置決定部は、前記コントローラ及びヘッドマウントディスプレイの位置を決定する処理を実行する
請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、
ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、
前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、
前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、
を備える情報処理装置。
【請求項８】
ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、
ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、コントローラ及びヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、
前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、
前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、
を備える情報処理システム。
【請求項９】
ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、
ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定するステップと、
前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更するステップと、
前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御するステップと、
を有する情報処理方法。
【請求項１０】
ユーザに仮想空間を提供するヘッドマウントディスプレイであって、
ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、
前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、
前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、
を備えるヘッドマウントディスプレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイに関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（ＨＭＤともいう）を介してユーザに提供される仮想空間（ＶＲ空間ともいう）において、ユーザの分身（キャラクタともいう）を用いるゲームが開発されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１４９２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このユーザの分身をユーザの姿勢及び動きに追従させるためには、このユーザの分身を操作する前に、分身の大きさをユーザの体の大きさにあわせるキャリブレーションが必要である。しかしながら、このキャリブレーション後の分身の姿勢及び動きが、ユーザの姿勢及び動きと同じになっている保証がなく、仮想空間における分身がユーザの姿勢及び動きに十分に追従していないという問題がある。
【０００５】
本発明は、上記問題に鑑みてなされたものであり、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることを可能とするプログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係るプログラムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、として機能させるためのプログラムである。
【０００７】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【０００８】
本発明の第２の態様に係るプログラムは、第１の態様に係るプログラムであって、前記表示制御部は、前記ユーザの立ち位置に仮想空間内の分身が位置するように前記ヘッドマウントディスプレイに当該分身の一部を表示するよう制御する。
【０００９】
この構成によれば、ユーザは、当該分身の一部をみることで、自分自身の現実の手の関節を見ているような感覚となり、分身の鏡像と合わせてユーザが知覚することで、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。
【００１０】
本発明の第３の態様に係るプログラムは、第１または第２の態様に係るプログラムであって、前記表示制御部は、前記分身の各関節の位置が変更される前は、変更前の分身の鏡像を、前記ヘッドマウントディスプレイに表示するよう制御し、前記分身の各関節の位置が変更された後は、変更後の分身の鏡像を、前記ヘッドマウントディスプレイに表示するよう制御する。
【００１１】
この構成によれば、ユーザが、分身の各関節の位置の変更前後の分身の鏡像を見ることによって、分身の各関節の位置の変更が正しく行われているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。
【００１２】
本発明の第４の態様に係るプログラムは、第１から３のいずれかの態様に係るプログラムであって、前記表示制御部は、前記仮想空間内の分身の鏡像を、リンクが連結された態様で表示するよう制御する。
【００１３】
この構成によれば、ユーザは、分身の関節の細かな曲がり具合を把握することができる。
【００１４】
本発明の第５の態様に係るプログラムは、第４の態様に係るプログラムであって、前記表示制御部は、リンク同士が連結された点を中心とする円を表示するよう制御する。
【００１５】
この構成によれば、ユーザは、分身の関節の位置を容易に把握することができる。
【００１６】
本発明の第６の態様に係るプログラムは、第１から５のいずれかの態様に係るプログラムであって、前記コントローラで予め決められた操作がされたか否か判定する判定部として更に機能させるためのプログラムであり、判定の結果、前記コントローラで予め決められた操作がされた場合、前記位置決定部は、前記コントローラ及びヘッドマウントディスプレイの位置を決定する処理を実行する。
【００１７】
この構成によれば、分身の操作を始める前、または再校正が必要な場合など必要なときに、仮想空間内の分身の各関節の位置の校正を行うことができる。
【００１８】
本発明の第７の態様に係る情報処理装置は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、を備える。
【００１９】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【００２０】
本発明の第８の態様に係る情報処理システムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、を備える。
【００２１】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【００２２】
本発明の第９の態様に係る情報処理方法は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定するステップと、前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更するステップと、前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御するステップと、を有する。
【００２３】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【００２４】
本発明の第１０の態様に係るヘッドマウントディスプレイは、ユーザに仮想空間を提供するヘッドマウントディスプレイであって、ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置を検出するためのセンサの検出値を用いて、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び／または方向を決定する位置決定部と、前記決定されたコントローラ及びヘッドマウントディスプレイの位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する関節位置決定部と、前記変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する表示制御部と、を備える。
【００２５】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【発明の効果】
【００２６】
本発明の一態様によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係るＨＭＤシステムの概略構成を示す図である。
【図２】本実施形態に係る情報処理装置の概略構成を示す図である。
【図３】本実施形態に係るコントローラの一例を示す斜視図である。
【図４】キャリブレーション前にヘッドマウントディスプレイ２に表示される映像の一例である。
【図５】キャリブレーション後にヘッドマウントディスプレイ２に表示される映像の一例である。
【図６】本実施形態に係る情報処理方法の一例を示すフローチャートである。
【図７】キャリブレーションが適正だった場合における分身の鏡像の一例である。
【図８】キャリブレーションが不適正な第１の例における分身の鏡像の一例である。
【図９】キャリブレーションが不適正な第２の例における分身の鏡像の一例である。
【発明を実施するための形態】
【００２８】
以下、各実施形態について、図面を参照しながら説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００２９】
図１は、本実施形態に係るＨＭＤシステムの概略構成を示す図である。図１に示すように、ＨＭＤシステムＳは、情報処理装置１と、ユーザの頭Ｈに装着されるヘッドマウントディスプレイ２と、ユーザが手で使用するコントローラＣ１、Ｃ２と、センサＳ１、Ｓ２とを備える。情報処理装置１は、ヘッドマウントディスプレイ２を介してユーザに仮想空間を提供する。本実施形態では一例として情報処理装置１は、コンピュータであるものとして説明する。なお、情報処理装置１は、多機能携帯端末（いわゆるスマートフォン）であってもよく、その場合、情報処理装置１は、ヘッドマウントディスプレイ２に挿入されて使用される。また、ヘッドマウントディスプレイ２は、情報処理装置１を内蔵する構成であってもよく、その場合、ヘッドマウントディスプレイ２は、ユーザに仮想空間を提供する。
【００３０】
ヘッドマウントディスプレイ２は、センサ２１とモニタ２２を備える。センサ２１は例えば、３軸の加速度センサ及び／または３軸のジャイロセンサを含むモーションセンサである。モニタ２２には、ユーザに提供する視界映像が表示される。
【００３１】
コントローラＣ１は、センサＣ１２を備える。ここで、センサＣ１２は、例えば、３軸の加速度センサ及び／または３軸のジャイロセンサを含むモーションセンサである。
【００３２】
コントローラＣ２は、センサＣ２２を備える。ここで、センサＣ２２は、例えば、３軸の加速度センサ及び／または３軸のジャイロセンサを含むモーションセンサである。
【００３３】
センサＳ１、Ｓ２は、ヘッドマウントディスプレイ２またはユーザの頭Ｈの位置を検出するためのセンサである。センサＳ１、Ｓ２は例えば、赤外線センサであり、赤外線の光源を更に備えてもよい。その場合、プロセッサ１６によって赤外線の出射が制御されずに一定の時間間隔または設定されたスケジュールで赤外線を出射してもよいし、プロセッサ１６によって赤外線の出射が制御されてもよい。例えば、センサＳ１、Ｓ２は、光源から出射された赤外線がヘッドマウントディスプレイ２によって反射され、反射された赤外線をそれぞれ検出する。その際例えばセンサＳ１、Ｓ２は、反射された赤外線を検出した場合、出力電圧が上がるので、情報処理装置１の後述するプロセッサ１６は、反射された赤外線を検出したタイミングを検出することができる。
【００３４】
この場合、情報処理装置１の後述するプロセッサ１６は、センサＳ１、Ｓ２が赤外線を出射してから反射された赤外線を検出する時間差に応じて、センサＳ１、Ｓ２それぞれからヘッドマウントディスプレイ２までの距離を決定する。プロセッサ１６は、これらの距離に基づいて、三角測量の原理を用いて、ヘッドマウントディスプレイ２またはヘッドマウントディスプレイ２を装着したユーザの頭Ｈの位置を決定してもよい。なお、センサＳ１、Ｓ２間の距離は既知であるものとする。
【００３５】
あるいは、情報処理装置１の後述するプロセッサ１６は、ヘッドマウントディスプレイ２に設けられたセンサ２１が検出した角速度からユーザの移動方向を決定し且つセンサ２１が検出した加速度からユーザの移動距離を決定することにより、ヘッドマウントディスプレイ２またはヘッドマウントディスプレイ２を装着したユーザの頭Ｈの位置を決定してもよい。なお、情報処理装置１の後述するプロセッサ１６は、センサＳ１、Ｓ２及びヘッドマウントディスプレイ２に設けられたセンサ２１の検出値を組み合わせて、ヘッドマウントディスプレイ２またはヘッドマウントディスプレイ２を装着したユーザの頭Ｈの位置を決定してもよい。
【００３６】
図２は、本実施形態に係る情報処理装置の概略構成を示す図である。情報処理装置１はコンピュータである。図２に示すように情報処理装置１は、ストレージ１１と、メモリ１２と、入力インタフェース１３と、出力インタフェース１４と、通信インタフェース１５と、プロセッサ１６を備える。
ここでストレージ１１には、プロセッサ１６が読み出して実行するための本実施形態に係るプログラム及び各種のデータが格納されている。メモリ１２は、データ及びプログラムを一時的に保持する。メモリ１２は、揮発性メモリであり、例えばＲＡＭ（Random Access Memory）である。
【００３７】
入力インタフェース１３は、ヘッドマウントディスプレイ２、コントローラＣ１、Ｃ２及びセンサＳ１、Ｓ２から信号が入力される。
出力インタフェース１４は、ヘッドマウントディスプレイ２へ信号（例えば視覚映像を示す信号）を出力する。
通信インタフェース１５は、ネットワークに接続されて、ネットワークに接続されている他のコンピュータと通信する。
【００３８】
プロセッサ１６は、ストレージ１１から本実施形態に係るプログラムをメモリ１２にロードし、当該プログラムに含まれる一連の命令を実行することによって、位置決定部１６１、関節位置決定部１６２、表示制御部１６３、及び判定部１６４として機能する。
【００３９】
なお、図２に示される例では、情報処理装置１がヘッドマウントディスプレイ２の外部に設けられる構成が示されているが、これに限らず、情報処理装置１はヘッドマウントディスプレイ２に内蔵されてもよい。一例として、モニタ２２を含む携帯型の情報通信端末（例えば、スマートフォン）が情報処理装置１として機能してもよい。
【００４０】
図３は、本実施形態に係るコントローラの一例を示す斜視図である。図３に示すように、コントローラＣ１は、筐体Ｈ１、ＡボタンＢ１、ＢボタンＢ２、トリガーボタンＴＢ１、及びスティックＳＴ１を有する。同様に、コントローラＣ２は、筐体Ｈ２、ＣボタンＢ３、ＹボタンＢ４、トリガーボタンＴＢ２、及びスティックＳＴ２を有する。これらのボタン及びスティックＳＴ１、ＳＴ２はユーザによって操作される。例えばユーザは、スティックＳＴ１、ＳＴ２を動かすことによって、ゲーム内のキャラクタをスティックＳＴ１、ＳＴ２を動かした方向に移動させることができる。
【００４１】
図４は、キャリブレーション前にヘッドマウントディスプレイ２に表示される映像の一例である。図４に示すように、ユーザの立ち位置に仮想空間内の分身が位置するようにヘッドマウントディスプレイ２に当該分身の一部（ここでは手首の部分）が表示されている。仮想空間内の分身は、リンクが連結された態様で表示されている。手首の関節の位置が分かりやすくなるように、リンク同士が連結された点を中心とする円が表示されている。
【００４２】
また、ヘッドマウントディスプレイに仮想空間内の分身の鏡像が表示されている。仮想空間内の分身の鏡像は、リンクが連結された態様で表示されている。関節の位置が分かりやすくなるように、リンク同士が連結された点を中心とする円が表示されている。
【００４３】
これを実現するために、表示制御部１６３は、ユーザの立ち位置に仮想空間内の分身が位置するようにヘッドマウントディスプレイ２に当該分身の一部を表示するよう制御する。その際に、表示制御部１６３は、仮想空間内の分身の一部を、リンクが連結された態様で表示するよう制御する。また表示制御部１６３は、リンク同士が連結された点を中心とする円を表示するよう制御する。
【００４４】
また、表示制御部１６３は、分身の鏡像を、ヘッドマウントディスプレイ２に表示するよう制御する。その際に、表示制御部１６３は、仮想空間内の分身の鏡像を、リンクが連結された態様で表示するよう制御する。これにより、ユーザは、分身の関節の細かな曲がり具合を把握することができる。また、表示制御部１６３は、リンク同士が連結された点を中心とする円を表示するよう制御する。これにより、ユーザは、分身の関節の位置を容易に把握することができる。
【００４５】
また図４にはキャリブレーションの方法を案内する情報（キャリブレーション案内情報ともいう）が表示されている。図４の例では、「両手を水平に広げて両方のトリガーボタンを同時に押してください。」という案内が表示されている。
【００４６】
図５は、キャリブレーション後にヘッドマウントディスプレイ２に表示される映像の一例である。図５に示すように、ユーザの立ち位置に仮想空間内の分身が位置するようにヘッドマウントディスプレイ２に当該分身の一部（ここでは手首の部分）が表示されている。仮想空間内の分身は、リンクが連結された態様で表示されている。手首の関節の位置が分かりやすくなるように、リンク同士が連結された点を中心とする円が表示されている。
【００４７】
また、ヘッドマウントディスプレイに仮想空間内の分身の鏡像が表示されている。仮想空間内の分身の鏡像は、リンクが連結された態様で表示されている。関節の位置が分かりやすくなるように、リンク同士が連結された点を中心とする円が表示されている。
【００４８】
これを実現するために、位置決定部１６１は、例えばユーザがヘッドマウントディスプレイ２を頭に装着し且つコントローラＣ１、Ｃ２一つずつを両手に持って腕を広げた場合において、ヘッドマウントディスプレイ２及びコントローラＣ１、Ｃ２の位置を検出するためのセンサＳ１、Ｓ２の検出値を用いて、コントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置及び／または方向を決定する。なお、ここでは一例として腕を広げた場合について説明するが、腕を下げた状態、腕を上げた状態、腕を曲げた状態であってもよく、腕の体に対する相対的な位置および曲げ伸ばし状態については特定の状態に限定されない。また、ここではコントローラＣ１、Ｃ２一つずつを両手に持っている例について説明するが、コントローラを片方しか使わない場合、片方のコントローラを片方の手で持っているときに、当該片方のコントローラの位置及び／または方向を決定してもよい。また、コントローラを手で持つのではなく、手、腕、脚または足など体の一部に装着する場合、体の一部に装着するときに、当該コントローラの位置及び／または方向を決定してもよい。すなわち、位置決定部１６１は、例えばユーザがヘッドマウントディスプレイ２を頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、ヘッドマウントディスプレイ２及び当該コントローラの位置を検出するためのセンサの検出値を用いて、当該コントローラ及びヘッドマウントディスプレイ２の位置及び／または方向を決定してもよい。ここで当該保持には、手で持っている状態が含まれ、当該装着には体の一部に装着している状態が含まれる。
【００４９】
関節位置決定部１６２は、決定されたコントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する。
具体的には例えば、関節位置決定部１６２は、コントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置と方向を用いて、仮想空間内の分身の各関節の位置をＩＫ（インバースキネマティクス）技術を利用して計算する。関節間の長さや、関節が曲がる方向や限界角度は決まっているので、コントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置と方向が確定しただけで、他の関節の位置や曲がり方はある程度限定される。更に人間にとって無理のない姿勢、バランスを保てる姿勢というものがあるので、関節位置決定部１６２は、それらを加味して、おそらく今人間が取っている姿勢（つまり全ての関節位置と方向）を計算する。
【００５０】
表示制御部１６３は、変更された各関節の位置を用いて、ヘッドマウントディスプレイ２に仮想空間内の分身の鏡像を表示するよう制御する。これにより、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【００５１】
表示制御部１６３は、ユーザの立ち位置に仮想空間内の分身が位置するようにヘッドマウントディスプレイ２に当該分身の一部を表示するよう制御する。これにより、ユーザは、当該分身の一部をみることで、自分自身の現実の手の関節を見ているような感覚となり、分身の鏡像と合わせてユーザが知覚することで、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その際に、表示制御部１６３は、仮想空間内の分身の一部を、リンクが連結された態様で表示するよう制御する。また表示制御部１６３は、リンク同士が連結された点を中心とする円を表示するよう制御する。
【００５２】
図４及び図５に示すように、表示制御部１６３は、分身の各関節の位置が変更される前は、変更前の分身の鏡像を、ヘッドマウントディスプレイ２に表示するよう制御し、分身の各関節の位置が変更された後は、変更後の分身の鏡像を、ヘッドマウントディスプレイに表示するよう制御する。これにより、ユーザが、分身の各関節の位置の変更前後の分身の鏡像を見ることによって、分身の各関節の位置の変更が正しく行われているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。
【００５３】
また、表示制御部１６３は、分身の鏡像を、ヘッドマウントディスプレイ２に表示するよう制御する。その際に、表示制御部１６３は、仮想空間内の分身の鏡像を、リンクが連結された態様で表示するよう制御する。これにより、ユーザは、分身の関節の細かな曲がり具合を把握することができる。また、表示制御部１６３は、リンク同士が連結された点を中心とする円を表示するよう制御する。これにより、ユーザは、分身の関節の位置を容易に把握することができる。
【００５４】
また、キャリブレーション完了の旨、及びキャリブレーション完了後の案内を示す情報（完了後の案内情報ともいう）が表示されている。図５の例では、「キャリブレーション完了：両手を手前に伸ばしてください。これでＯＫなら、Ａボタンを押して次に進んでください。再キャリブレーションする場合には両手を水平に広げて両方のトリガーボタンを同時に押してください。」という案内が表示されている。
【００５５】
続いて、図６を用いて、本実施形態に係る情報処理方法の流れについて説明する。図６は、本実施形態に係る情報処理方法の一例を示すフローチャートである。
【００５６】
（ステップＳ１０１）まず、表示制御部１６３は、図４に示すように、分身の鏡像とキャリブレーション案内情報をヘッドマウントディスプレイ２に表示するよう制御する。
【００５７】
（ステップＳ１０２）次に判定部１６４は、コントローラで予め決められた操作がされたか否か判定する。ここではその一例として、判定部１６４は、両方のトリガーボタンＴＢ１、ＴＢ２が押されたか否か判定する。
【００５８】
（ステップＳ１０３）ステップＳ１０３でユーザによって予め決められた操作がされた場合（ここでは一例として両方のトリガーボタンＴＢ１、ＴＢ２が押された場合）、関節位置決定部１６２は、キャリブレーション処理を実行する。具体的には例えば、関節位置決定部１６２は、コントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を決定する。これにより、分身の操作を始める前、または再校正が必要な場合など必要なときに、仮想空間内の分身の各関節の位置の校正を行うことができる。
【００５９】
（ステップＳ１０４）そして表示制御部１６３は、変更された各関節の位置を用いて、前記ヘッドマウントディスプレイに仮想空間内の分身の鏡像を表示するよう制御する。それと並行して、表示制御部１６３は、図５に示すように、キャリブレーション完了の旨及び完了後の案内情報をヘッドマウントディスプレイ２に表示するよう制御する。
【００６０】
（ステップＳ１０５）次に判定部１６４は、予め決められた第２の操作がされたか否か判定する。ここではその一例として、判定部１６４は、ＡボタンＢ１ボタンが押されたか否か判定する。
【００６１】
（ステップＳ１０６）ステップＳ１０５でＡボタンＢ１ボタンが押された場合、プロセッサ１６は、キャリブレーションを終了して次の処理を実行する。
【００６２】
（ステップＳ１０７）ステップＳ１０５でＡボタンＢ１ボタンが押されていない場合、判定部１６４は、コントローラで予め決められた操作がされたか否か判定する。ここではその一例として、判定部１６４は、両方のトリガーボタンＴＢ１、ＴＢ２が押されたか否か判定する。両方のトリガーボタンＴＢ１、ＴＢ２が押された場合、ステップＳ１０３に戻って、処理が繰り返される。
【００６３】
図７は、キャリブレーションが適正だった場合における分身の鏡像の一例である。図８は、キャリブレーションが不適正な第１の例における分身の鏡像の一例である。図９は、キャリブレーションが不適正な第２の例における分身の鏡像の一例である。図７〜図９は、ユーザが同じ姿勢であり、ユーザがコントローラを持っている両手を前に出している場合におけるキャリブレーション後の分身の鏡像を表している。図８では、分身の鏡像が、手を広げたようなリンクの構造になっている。図９では、逆に分身の鏡像が、手を曲げて肩の位置まで手を上げたようなリンクの構造になっている。
【００６４】
図７から図９に示すように、不適正な場合には、適正な場合と比べて、関節の位置が異なっている。このように、ユーザが同じポーズをしたとしても、キャリブレーションの出来、不出来によって、分身の鏡像のポーズが変わる。ユーザは、自身の現在のポーズと、分身の鏡像のポーズとを比較することによって、キャリブレーションが適正に行われたか否かを把握することができる。
【００６５】
以上、本実施形態に係るプログラムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置１または当該ヘッドマウントディスプレイ２を、位置決定部１６１、関節位置決定部１６２、及び表示制御部１６３として機能させるためのプログラムである。位置決定部１６１は、ユーザがヘッドマウントディスプレイ２を頭に装着し且つコントローラＣ１、Ｃ２一つずつを両手に持って腕を広げた場合において、ヘッドマウントディスプレイ２及びコントローラＣ１、Ｃ２の位置を検出するためのセンサの検出値を用いて、コントローラ及びヘッドマウントディスプレイの位置及び／または方向を決定する。関節位置決定部１６２は、決定されたコントローラＣ１、Ｃ２及びヘッドマウントディスプレイ２の位置及び／または方向を用いて、仮想空間内の分身の各関節の位置を変更する。表示制御部１６３は、変更された各関節の位置を用いて、ヘッドマウントディスプレイ２に仮想空間内の分身の鏡像を表示するよう制御する。
【００６６】
この構成によれば、分身の鏡像が表示されるので、分身がユーザの姿勢及び／または各関節の位置に追従しているかどうか（すなわちキャリブレーション結果が正しいかどうか）の判断を更に容易化することができる。その結果、仮想空間における分身のユーザの姿勢及び動きへの追従性を向上させることができる。
【００６７】
なお、センサＳ１、Ｓ２の数は、一例として二つとして説明したが、一つであってもよいし三つ以上あってもよい。またセンサＳ１、Ｓ２は一例として赤外線センサであるものとして説明したが、これに限らず、ユーザを撮像するイメージセンサであってもよい。この場合、ＴＯＦ（Time Of Flight）方式でユーザまでの距離を測定してもよい。
【００６８】
なお、上述した実施形態で説明した情報処理装置１の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。情報処理装置１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００６９】
また、情報処理装置１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００７０】
さらに、一つまたは複数の情報処理機によって情報処理装置１と同様の機能を有する情報処理システムとして実現してもよい。複数の情報処理機を用いる場合、複数の情報処理機のうちの１つをコンピュータとし、当該コンピュータが所定のプログラムを実行することにより情報処理装置１の少なくとも１つの手段として機能が実現されてもよい。
【００７１】
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７２】
１  情報処理装置
１１  ストレージ
１２  メモリ
１３  入力インタフェース
１４  出力インタフェース
１５  通信インタフェース
１６  プロセッサ
１６１  位置決定部
１６２  関節位置決定部
１６３  表示制御部
１６４  判定部
２  ヘッドマウントディスプレイ
２１  センサ
２２  モニタ
Ｃ１、Ｃ２  コントローラ
Ｂ１  Ａボタン
Ｂ２  Ｂボタン
Ｂ３  Ｘボタン
Ｂ４  Ｙボタン
Ｃ１２、Ｃ２２  センサ
Ｓ  ＨＭＤシステム
Ｓ１、Ｓ２  センサ
【図１】
2020091774.tif 000003
【図２】
2020091774.tif 000004
【図３】
2020091774.tif 000005
【図４】
2020091774.tif 000006
【図５】
2020091774.tif 000007
【図６】
2020091774.tif 000008
【図７】
2020091774.tif 000009
【図８】
2020091774.tif 000010
【図９】
2020091774.tif 000011