(57)【要約】      （修正有）【課題】仮想空間に対するユーザの体験をさらに改善する。【解決手段】仮想空間２００データを生成するステップと、ＨＭＤの動きに応じて、左右メイン仮想カメラ３００Ｌ，３００Ｒの視野を更新するステップと、左右メイン仮想カメラの視野と仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、左右メイン仮想カメラと反射オブジェクト５００との間の相対位置関係に基づいて、左右サブ仮想カメラ４００Ｌ，４００Ｒの位置と向きを特定するステップと、左右サブ仮想カメラの視野と仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、第１の左目用視野画像及び第２の左目用視野画像を左目用表示部に表示するステップと、第１の右目用視野画像及び前記第２の右目用視野画像を右目用表示部に表示するステップと、を含む。【選択図】図８
2018045299.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの左目に対応する左目用表示部と、当該ユーザの右目に対応する右目用表示部とを備えるヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
（ａ）メイン仮想カメラと、サブ仮想カメラと、反射面を有する反射オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きに応じて、前記メイン仮想カメラの視野を更新するステップと、
（ｃ）前記メイン仮想カメラの視野と前記仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、
（ｄ）前記メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
（ｅ）前記サブ仮想カメラの視野と前記仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、
（ｆ）前記第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び前記第２の左目用視野画像を前記左目用表示部に表示するステップと、
（ｇ）前記第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び前記第２の右目用視野画像を前記右目用表示部に表示するステップと、
を含む、情報処理方法。
【請求項２】
前記ステップ（ｄ）は、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記メイン仮想カメラと前記所定の位置を通る入射軸を特定するステップと、
前記法線ベクトルと前記入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記反射軸を特定するステップと、
前記反射軸に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
を含む、請求項１に記載の情報処理方法。
【請求項３】
前記第１の左目用視野画像に表示された反射オブジェクトと前記第１の右目用視野画像に表示された反射オブジェクトとの間の視差は、前記反射オブジェクトの反射面上に重畳された前記第２の左目用視野画像に表示された所定のオブジェクトと前記反射オブジェクトの反射面上に重畳された前記第２の右目用視野画像に表示された所定のオブジェクトとの間の視差よりも大きい、請求項１又は２に記載の情報処理方法。
【請求項４】
前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、左サブ仮想カメラと、右サブ仮想カメラを備え、
前記ステップ（ｂ）は、
前記ヘッドマウントディスプレイの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、
を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、
前記右メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、
を含み、
前記ステップ（ｅ）は、
前記左サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の左目用視野画像データを生成するステップと、
前記右サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の右目用視野画像データを生成するステップと、
を含む、請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項５】
前記左サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記左メイン仮想カメラと前記所定の位置を通る左入射軸を特定するステップと、
前記法線ベクトルと前記左入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る左反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記左反射軸を特定するステップと、
前記左反射軸に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、
を含み、
前記右サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記右メイン仮想カメラと前記所定の位置を通る右入射軸を特定するステップと、
前記法線ベクトルと前記右入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る右反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記右反射軸を特定するステップと、
前記右反射軸に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、
を含む、請求項４に記載の情報処理方法。
【請求項６】
前記反射オブジェクトの反射面に対する前記左メイン仮想カメラと前記右メイン仮想カメラとの間の輻輳角は、前記左サブ仮想カメラ及び前記右サブ仮想カメラの視野内に存在する所定のオブジェクトに対する前記左サブ仮想カメラと前記右サブ仮想カメラとの間の輻輳角よりも大きい、請求項４又は５に記載の情報処理方法。
【請求項７】
前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成され、
前記ステップ（ｂ）は、
前記ヘッドマウントディスプレイの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、
を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラ及び前記右メイン仮想カメラのうちの少なくとも一方と前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップを含み、
前記第２の左目用視野画像は、前記第２の右目用視野画像と同一である、
請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項８】
前記メイン仮想カメラは、単一のメイン仮想カメラのみから構成され、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成される、請求項１から３のうちいずれか一項に記載の情報処理方法。
【請求項９】
請求項１から８のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
特許文献１に開示されたＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間では、ユーザの頭部に装着されたヘッドマウントデバイス（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：ＨＭＤ）の傾きに基づいて、仮想カメラの向き及び／又は位置が変化する。このように、ＨＭＤの動きに応じて仮想カメラの視野が変化し、ＨＭＤに表示される視野映像が変化するため、ユーザはＶＲ空間に対する没入感を得ることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７６７３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、現実空間（現実世界）では、反射面を有するミラー等の手前に物体が存在する場合、ミラーを見ている観測者は、ミラーの反射面上に映された物体を視認することができる。ＶＲ空間、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間、ＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）空間等の仮想空間においても、現実空間と同じように、反射面を有する反射オブジェクトの手前に所定のオブジェクトが存在する場合、ＨＭＤを装着するユーザは、反射オブジェクトの反射面上に映された所定のオブジェクトを視認できることが好ましい。特に、ユーザの視点（仮想カメラの位置）と反射オブジェクトの反射面との間の相対的位置関係に応じて、反射面上に映された像が変化することが好ましい。
【０００５】
本発明は、仮想空間に対するユーザの体験をさらに改善することが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示が示す一態様によれば、情報処理方法は、ユーザの左目に対応する左目用表示部と、当該ユーザの右目に対応する右目用表示部とを備えるヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される。
当該情報処理方法は、
（ａ）メイン仮想カメラと、サブ仮想カメラと、反射面を有する反射オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きに応じて、前記メイン仮想カメラの視野を更新するステップと、
（ｃ）前記メイン仮想カメラの視野と前記仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、
（ｄ）前記メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
（ｅ）前記サブ仮想カメラの視野と前記仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、
（ｆ）前記第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び前記第２の左目用視野画像を前記左目用表示部に表示するステップと、
（ｇ）前記第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び前記第２の右目用視野画像を前記右目用表示部に表示するステップと、
を含む。
【発明の効果】
【０００７】
本開示によれば、仮想空間に対するユーザの体験をさらに改善することが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。
【図面の簡単な説明】
【０００８】
【図１】ヘッドマウントデバイス（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：ＨＭＤ）システムを示す概略図である。
【図２】ＨＭＤを装着したユーザの頭部を示す図である。
【図３】制御装置のハードウェア構成を示す図である。
【図４】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図５】仮想空間の一例を示すｘｙｚ空間図である。
【図６】（ａ）は、図５に示す仮想空間のｙｘ平面図である。（ｂ）は、図５に示す仮想空間のｚｘ平面図である。
【図７】ＨＭＤに表示された視野画像の一例を示す図である。
【図８】左右メイン仮想カメラと、左右サブ仮想カメラと、反射オブジェクトと、アバターオブジェクトとを含む仮想空間を示す図である。
【図９】第１実施形態に係る情報処理方法を説明するためのフローチャートである。
【図１０】左右サブ仮想カメラの位置と向きを特定する処理を説明するためのフローチャートである。
【図１１】左サブ仮想カメラの位置と向きを特定する方法を説明するための図である。
【図１２】右サブ仮想カメラの位置と向きを特定する方法を説明するための図である。
【図１３】（ａ）は、アバターオブジェクトに対する左サブ仮想カメラと右サブ仮想カメラとの間の輻輳角を説明するための図である。（ｂ）は、反射オブジェクトの反射面に対する左メイン仮想カメラと右メイン仮想カメラとの間の輻輳角を説明するための図である。
【図１４】（ａ）は、左目用表示部に表示された合成視野画像を示す図である。（ｂ）は、右目用表示部に表示された合成視野画像を示す図である。
【図１５】左右メイン仮想カメラと、単一のサブ仮想カメラと、反射オブジェクトと、アバターオブジェクトとを含む仮想空間を示す図である。
【図１６】第２実施形態に係る情報処理方法を説明するためのフローチャートである。
【図１７】単一のサブ仮想カメラの位置と向きを特定するための方法を説明するためのフローチャートである。
【図１８】単一のメイン仮想カメラと、単一のサブ仮想カメラと、反射オブジェクトと、アバターオブジェクトとを含む仮想空間を示す図である。
【図１９】第３実施形態に係る情報処理方法を説明するためのフローチャートである。
【図２０】単一のサブ仮想カメラの位置と向きを特定するための方法を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）ユーザの左目に対応する左目用表示部と、当該ユーザの右目に対応する右目用表示部とを備えるヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
（ａ）メイン仮想カメラと、サブ仮想カメラと、反射面を有する反射オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きに応じて、前記メイン仮想カメラの視野を更新するステップと、
（ｃ）前記メイン仮想カメラの視野と前記仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、
（ｄ）前記メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
（ｅ）前記サブ仮想カメラの視野と前記仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、
（ｆ）前記第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び前記第２の左目用視野画像を前記左目用表示部に表示するステップと、
（ｇ）前記第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び前記第２の右目用視野画像を前記右目用表示部に表示するステップと、
を含む、情報処理方法。
【００１０】
上記方法によれば、メイン仮想カメラと反射オブジェクトとの間の相対位置関係に基づいて、サブ仮想カメラの位置と向きが特定される。また、第２の左目用視野画像が反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び第２の左目用視野画像がヘッドマウントデバイス（ＨＭＤ）の左目用表示部に表示される。さらに、第２の右目用視野画像が反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び第２の右目用視野画像がＨＭＤの右目用表示部に表示される。
【００１１】
このように、ＨＭＤを装着したユーザは、反射オブジェクトと反射オブジェクトの反射面上に映された像（第２の左目用視野画像と第２の右目用視野画像）を立体的に視認（立体視）できると共に、ユーザの動きに応じて、反射オブジェクトの反射面上に映された像を変化させることができる。従って、仮想空間に対するユーザの体験をさらに改善することが可能な情報処理方法を提供することができる。
【００１２】
（２）前記ステップ（ｄ）は、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記メイン仮想カメラと前記所定の位置を通る入射軸を特定するステップと、
前記法線ベクトルと前記入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記反射軸を特定するステップと、
前記反射軸に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
を含む、項目（１）に記載の情報処理方法。
【００１３】
上記方法によれば、メイン仮想カメラの位置と反射オブジェクトの反射面上の所定の位置とを通る入射軸と当該所定の位置での法線ベクトルとによって、サブ仮想カメラの位置と向きが特定される。このように、メイン仮想カメラと反射オブジェクトとの間の相対位置関係に応じてサブ仮想カメラの位置と向きを変化させることができる。
【００１４】
（３）前記第１の左目用視野画像に表示された反射オブジェクトと前記第１の右目用視野画像に表示された反射オブジェクトとの間の視差は、前記反射オブジェクトの反射面上に重畳された前記第２の左目用視野画像に表示された所定のオブジェクトと前記反射オブジェクトの反射面上に重畳された前記第２の右目用視野画像に表示された所定のオブジェクトとの間の視差よりも大きい、項目（１）又は（２）に記載の情報処理方法。
【００１５】
上記方法によれば、第１の左目用視野画像に表示された反射オブジェクトと第１の右目用視野画像に表示された反射オブジェクトとの間の視差は、第２の左目用視野画像に表示された所定のオブジェクトと第２の右目用視野画像に表示された所定のオブジェクトとの間の視差よりも大きい。このように、ＨＭＤを装着したユーザは、所定のオブジェクトが反射オブジェクトの反射面よりも奥側に位置していることを立体的に認識することができる。
【００１６】
（４）前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、左サブ仮想カメラと、右サブ仮想カメラを備え、
前記ステップ（ｂ）は、
前記ヘッドマウントディスプレイの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、
を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、
前記右メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、
を含み、
前記ステップ（ｅ）は、
前記左サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の左目用視野画像データを生成するステップと、
前記右サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の右目用視野画像データを生成するステップと、
を含む、項目（１）から（３）のうちいずれか一項に記載の情報処理方法。
【００１７】
上記方法によれば、左メイン仮想カメラを用いることで第１の左目用視野画像データを生成することができると共に、右メイン仮想カメラを用いることで第１の右目用視野画像データを生成することができる。さらに、左サブ仮想カメラを用いることで第２の左目用視野画像データを生成することができると共に、右サブ仮想カメラを用いることで第２の右目用視野画像データを生成することができる。
【００１８】
（５）前記左サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記左メイン仮想カメラと前記所定の位置を通る左入射軸を特定するステップと、
前記法線ベクトルと前記左入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る左反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記左反射軸を特定するステップと、
前記左反射軸に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、
を含み、
前記右サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記右メイン仮想カメラと前記所定の位置を通る右入射軸を特定するステップと、
前記法線ベクトルと前記右入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る右反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記右反射軸を特定するステップと、
前記右反射軸に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、
を含む、項目（４）に記載の情報処理方法。
【００１９】
上記方法によれば、左メイン仮想カメラの位置と反射オブジェクトの反射面上の所定の位置とを通る左入射軸と当該所定の位置での法線ベクトルとによって、左サブ仮想カメラの位置と向きが特定される。さらに、右メイン仮想カメラの位置と反射オブジェクトの反射面上の所定の位置とを通る右入射軸と当該所定の位置での法線ベクトルとによって、右サブ仮想カメラの位置と向きが特定される。このように、左メイン仮想カメラと反射オブジェクトとの間の相対位置関係に応じて左サブ仮想カメラの位置と向きを変化させることができると共に、右メイン仮想カメラと反射オブジェクトとの間の相対位置関係に応じて右サブ仮想カメラの位置と向きを変化させることができる。
【００２０】
（６）前記反射オブジェクトの反射面に対する前記左メイン仮想カメラと前記右メイン仮想カメラとの間の輻輳角は、前記左サブ仮想カメラ及び前記右サブ仮想カメラの視野内に存在する所定のオブジェクトに対する前記左サブ仮想カメラと前記右サブ仮想カメラとの間の輻輳角よりも大きい、項目（４）又は（５）に記載の情報処理方法。
【００２１】
上記方法によれば、反射オブジェクトの反射面に対する左メイン仮想カメラと右メイン仮想カメラとの間の輻輳角は、左サブ仮想カメラ及び右サブ仮想カメラの視野内に存在する所定のオブジェクトに対する左サブ仮想カメラと右サブ仮想カメラとの間の輻輳角よりも大きい。このように、ＨＭＤを装着したユーザは、所定のオブジェクトが反射オブジェクトの反射面よりも奥側に位置していることを立体的に認識することができる。
【００２２】
（７）前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成され、
前記ステップ（ｂ）は、
前記ヘッドマウントディスプレイの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、
を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラ及び前記右メイン仮想カメラのうちの少なくとも一方と前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップを含み、
前記第２の左目用視野画像は、前記第２の右目用視野画像と同一である、
項目（１）から（３）のうちいずれか一項に記載の情報処理方法。
【００２３】
上記方法によれば、２つのメイン仮想カメラと単一のサブ仮想カメラによって、ＨＭＤを装着したユーザは、反射オブジェクトと反射オブジェクトの反射面上に映された像を立体視できると共に、ユーザの動きに応じて、反射オブジェクトの反射面上に映された像を変化させることができる。特に、単一のサブ仮想カメラを用いた場合では、第２の左目用視野画像は、第２の右目用視野画像と同一となるため、第２の左目視野画像に表示された所定のオブジェクトと第２の右目用視野画像に表示された当該所定のオブジェクトとの間の視差はゼロとなる。このように、ＨＭＤを装着したユーザは、当該所定のオブジェクトが反射オブジェクトの反射面よりも奥側に位置していることを立体的に認識することができる。このように、当該情報処理方法を実行するプロセッサの演算量を軽減することが可能となる。
【００２４】
（８）前記メイン仮想カメラは、単一のメイン仮想カメラのみから構成され、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成される、項目（１）から（３）のうちいずれか一項に記載の情報処理方法。
【００２５】
上記方法によれば、単一のメイン仮想カメラと単一のサブ仮想カメラを用いることで、第１及び第２の左目用視野画像データを生成することができると共に、第１及び第２の右目用視野画像データを生成することができる。このように、当該情報処理方法を実行するプロセッサの演算量を軽減することが可能となる。
【００２６】
（９）項目（１）から（８）のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【００２７】
上記プログラムによれば、仮想空間に対するユーザの体験をさらに改善することが可能なプログラムを提供することができる。
【００２８】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【００２９】
最初に、図１を参照してヘッドマウントデバイス（ＨＭＤ）システム１の構成について説明する。図１は、ＨＭＤシステム１を示す概略図である。図１に示すように、ＨＭＤシステム１は、ユーザＵの頭部に装着されたＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、制御装置１２０とを備える。
【００３０】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、注視センサ１４０とを備える。表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を覆うように構成された非透過型の表示装置を備えている。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部１１２は、左目用表示部１１２Ｌと、右目用表示部１１２Ｒとを含む。左目用表示部１１２Ｌは、ユーザＵの左目に対応しており、ユーザＵの左目に左目用視野画像を提供するように構成されている。右目用表示部１１２Ｒは、ユーザＵの右目に対応しており、ユーザＵの右目に右目用視野画像を提供するように構成されている。また、ＨＭＤ１１０は、透過型表示装置を備えてもよい。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。
【００３１】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動きを検出することができる。
【００３２】
注視センサ１４０は、ユーザＵの視線方向を検出するアイトラッキング機能を有する。注視センサ１４０は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザＵの右目に例えば赤外光を照射して、右目（特に、角膜や虹彩）から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザＵの左目に例えば赤外光を照射して、左目（特に、角膜や虹彩）から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
【００３３】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０と外部コントローラ３２０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線又は有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ１３０は、外部コントローラ３２０に設けられた複数の検知点（図示せず）の位置、傾き及び／又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００３４】
外部コントローラ３２０は、ユーザＵの手の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ３２０は、ユーザＵの右手によって操作される右手用外部コントローラ３２０Ｒと、ユーザＵの左手によって操作される左手用外部コントローラ３２０Ｌと、を有する。コントローラ３２０Ｒは、ユーザＵの右手の位置や右手の手指の動きを示す装置である。また、コントローラ３２０Ｒの動きに応じて仮想空間内に存在する右手オブジェクトが移動する。コントローラ３２０Ｌは、ユーザＵの左手の位置や左手の手指の動きを示す装置である。また、コントローラ３２０Ｌの動きに応じて仮想空間内に存在する左手オブジェクトが移動する。コントローラ３２０Ｒとコントローラ３２０Ｌは略同一の構成を有する。
【００３５】
制御装置１２０は、ＨＭＤ１１０を制御するように構成されたコンピュータである。制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。さらに、制御装置１２０は、位置センサ１３０から取得された情報に基づいて、外部コントローラ３２０の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間内に表示される手オブジェクトの位置と現実空間における外部コントローラ３２０の位置を正確に対応付けることができる。
【００３６】
また、制御装置１２０は、注視センサ１４０から送信された情報に基づいて、ユーザＵの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置１２０は、特定された注視点に基づいて、ユーザＵの視線方向を特定することができる。ここで、ユーザＵの視線方向は、ユーザＵの両目の視線方向であって、ユーザＵの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
【００３７】
次に、図２を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について説明する。図２は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０及び／又はＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交しＨＭＤ１１０の中心を通る方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０及び／又はＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【００３８】
次に、図３を参照することで、制御装置１２０のハードウェア構成について説明する。図３は、制御装置１２０のハードウェア構成を示す図である。図３に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５は、バス１２６を介して互いに通信可能に接続されている。
【００３９】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０に内蔵されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００４０】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び／又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００４１】
特に、プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム（後述する）をＲＡＭ上に展開し、ＲＡＭとの協働で当該プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、メモリや記憶部１２３に格納された所定のアプリケーションプログラム（ゲームプログラム）を実行することで、ＨＭＤ１１０の表示部１１２に仮想空間画像（視野画像）を表示する。これにより、ユーザＵは、表示部１１２に表示された仮想空間に没入することができる。
【００４２】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザＵの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００４３】
Ｉ／Ｏインターフェース１２４は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０とをそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。尚、制御装置１２０は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０とのそれぞれと無線接続されていてもよい。
【００４４】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００４５】
次に、図４から図７を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図４は、視野画像をＨＭＤ１１０に表示する処理を示すフローチャートである。図５は、仮想空間２００の一例を示すｘｙｚ空間図である。図６（ａ）は、図５に示す仮想空間２００のｙｘ平面図である。図６（ｂ）は、図５に示す仮想空間２００のｚｘ平面図である。図７は、ＨＭＤ１１０に表示された視野画像Ｖの一例を示す図である。
【００４６】
図４に示すように、ステップＳ１において、制御部１２１（図３参照）は、仮想カメラ３００と、各種オブジェクトとを含む仮想空間２００を示す仮想空間データを生成する。図５に示すように、仮想空間２００は、中心位置２１を中心とした全天球として規定される（図５では、上半分の天球のみが図示されている）。また、仮想空間２００では、中心位置２１を原点とするｘｙｚ座標系が設定されている。仮想カメラ３００は、ＨＭＤ１１０に表示される視野画像Ｖ（図７参照）を特定するための視軸Ｌを規定している。仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、制御部１２１は、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に応じて、仮想カメラ３００を仮想空間２００内で移動させてもよい。
【００４７】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図６参照）を特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータを取得した上で、当該取得されたデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを特定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸Ｌを決定し、決定された視軸Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域に相当する。換言すれば、視野ＣＶは、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に相当する。また、視野ＣＶは、図６（ａ）に示すｘｙ平面において、視軸Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図６（ｂ）に示すｘｚ平面において、視軸Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。尚、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線方向を示すデータに基づいて、ユーザＵの視線方向を特定し、ユーザＵの視線方向に基づいて仮想カメラ３００の向きを決定してもよい。
【００４８】
このように、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを変化させることができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを変化させることができる。同様に、ユーザＵの視線方向が変化すると、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線方向を示すデータに基づいて、仮想カメラ３００の視野ＣＶを移動させることができる。つまり、制御部１２１は、ユーザＵの視線方向の変化に応じて、視野ＣＶを変化させることができる。
【００４９】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖを示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００５０】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像Ｖを表示する（図７参照）。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが更新され、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新されるので、ユーザＵは仮想空間２００に没入することができる。
【００５１】
以降に説明するように、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部１２１は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部１２１は、左目用視野画像データに基づいて、ＨＭＤ１１０の左目用表示部１１２Ｌに左目用視野画像を表示する。同様に、制御部１２１は、右目用視野画像データに基づいて、ＨＭＤ１１０に右目用表示部１１２Ｒに右目用視野画像を表示する。このようにして、ユーザＵは、左目用表示部１１２Ｌに表示された左目用視野画像を左目で視認しつつ、右目用表示部１１２Ｒに表示された右目用視野画像を右目で視認することで、視野画像を３次元画像として立体的に視認することができる。
【００５２】
（第１実施形態）
次に、図８及び図９を参照することで第１実施形態に係る情報処理方法について説明する。図８は、左メイン仮想カメラ３００Ｌと、右メイン仮想カメラ３００Ｒと、左サブ仮想カメラ４００Ｌと、右サブ仮想カメラ４００Ｒと、反射オブジェクト５００と、アバターオブジェクト６００（所定のオブジェクト）とを含む仮想空間２００を示す図である。図９は、第１実施形態に係る情報処理方法を説明するためのフローチャートである。
【００５３】
図８に示すように、左メイン仮想カメラ３００Ｌと右メイン仮想カメラ３００Ｒは、既に説明した仮想カメラ３００と同様の機能を有する。つまり、ＨＭＤ１１０の動きに応じて左メイン仮想カメラ３００Ｌと右メイン仮想カメラ３００Ｒの視野が更新される。ユーザＵの左目に提示される左目用視野画像は、左メイン仮想カメラ３００Ｌの視野と仮想空間データに基づいて生成される。同様に、ユーザＵの右目に提示される右目用視野画像は、右メイン仮想カメラ３００Ｒの視野と仮想空間データに基づいて生成される。左目用視野画像に表示されたオブジェクトと右目用視野画像に表示されたオブジェクトとの間には所定の視差があるため、既に説明したように、ユーザＵは、左目用視野画像と右目視野画像を見ることで仮想空間（オブジェクト）を立体的に視認することができる。
【００５４】
反射オブジェクト５００は、反射面５２０を有する。仮想空間２００内のオブジェクト（例えば、アバターオブジェクト６００）の像は、反射面５２０上に表示される。本実施形態では、反射オブジェクト５００は、水たまりオブジェクトであるが、所定のオブジェクトの像が表示される反射面を有するオブジェクトであれば、反射オブジェクト５００の種類や形状等は特に限定されない。本実施形態では、左サブ仮想カメラ４００Ｌと右サブ仮想カメラ４００Ｒを用いることで反射面５２０上に表示されるオブジェクトの像が特定される。
【００５５】
次に、図９に示すように、ステップＳ１１において、制御部１２１は、左メイン仮想カメラ３００Ｌの視野と右メイン仮想カメラ３００Ｒの視野を特定する。具体的には、制御部１２１は、ＨＭＤ１１０の位置や向き（動き）に応じて、左メイン仮想カメラ３００Ｌの位置や向きを特定した上で、当該特定された位置や向きに基づいて左メイン仮想カメラ３００Ｌの視軸を特定する。さらに、制御部１２１は、決定された視軸から左メイン仮想カメラ３００Ｌの視野を特定する。このように、制御部１２１は、ＨＭＤ１１０の動きに応じて、左メイン仮想カメラ３００Ｌの視野を更新する。同様に、制御部１２１は、ＨＭＤ１１０の位置や向き（動き）に応じて、右メイン仮想カメラ３００Ｒの位置や向きを特定した上で、当該特定された位置や向きに基づいて右メイン仮想カメラ３００Ｒの視軸を特定する。さらに、制御部１２１は、決定された視軸から右メイン仮想カメラ３００Ｒの視野を特定する。このように、制御部１２１は、ＨＭＤ１１０の動きに応じて、右メイン仮想カメラ３００Ｒの視野を更新する。尚、ステップＳ１１の前に、制御部１２１は、図８に示す仮想空間２００を規定する仮想空間データを生成している点に留意されたい。
【００５６】
次に、ステップＳ１２において、制御部１２１は、左メイン仮想カメラ３００Ｌの視野と仮想空間データに基づいて第１の左目用視野画像データを生成すると共に、右メイン仮想カメラ３００Ｒの視野と仮想空間データに基づいて第１の右目用視野画像データを生成する。
【００５７】
次に、ステップＳ１３において、制御部１２１は、左メイン仮想カメラ３００Ｌと反射オブジェクト５００の反射面５２０との間の相対位置関係に基づいて、左サブ仮想カメラ４００Ｌの位置と向きを特定する。同様に、制御部１２１は、右メイン仮想カメラ３００Ｒと反射面５２０との間の相対位置関係に基づいて、右サブ仮想カメラ４００Ｒの位置と向きを特定する。具体的には、ステップＳ１３に示す処理（左サブ仮想カメラ４００Ｌの位置と向きと右サブ仮想カメラ４００Ｒの位置と向きをそれぞれ特定する処理）について図１０から図１２を参照して説明する。
【００５８】
図１０は、左サブ仮想カメラ４００Ｌの位置と向きと右サブ仮想カメラ４００Ｒの位置と向きをそれぞれ特定するための方法を説明するためのフローチャートである。図１１は、左サブ仮想カメラ４００Ｌの位置と向きを特定する方法を説明するための図である（図１１では、説明の便宜上、図８に示す仮想空間２００のうち、右メイン仮想カメラ３００Ｒと、右サブ仮想カメラ４００Ｒの図示が省略されている。）。図１２は、右サブ仮想カメラ４００Ｒの位置と向きを特定する方法を説明するための図である（図１２では、説明の便宜上、図８に示す仮想空間２００のうち、左メイン仮想カメラ３００Ｌと、左サブ仮想カメラ４００Ｌの図示が省略されている。）。
【００５９】
図１０及び図１１に示すように、制御部１２１は、反射オブジェクト５００の反射面５２０上の所定の位置Ｏ（例えば、中心位置）における法線ベクトルＮＶを特定する（ステップＳ２１）。ステップＳ２２において、制御部１２１は、左メイン仮想カメラ３００Ｌと所定の位置Ｏを通る左入射軸３５０Ｌを特定する。ここで、左入射軸３５０Ｌは、左メイン仮想カメラ３００Ｌの視軸とは異なってもよい。次に、ステップＳ２３において、制御部１２１は、左反射軸３６０Ｌを特定する。具体的には、制御部１２１は、法線ベクトルＮＶと左入射軸３５０Ｌとによって形成される入射角度θＩＮを特定する。次に、制御部１２１は、左反射軸３６０Ｌと法線ベクトルＮＶとによって形成される反射角度θＯＵＴが入射角度θＩＮと同一となるように、左反射軸３６０Ｌを特定する。
【００６０】
次に、ステップＳ２４において、制御部１２１は、左反射軸３６０Ｌに基づいて、左サブ仮想カメラ４００Ｌの位置と向きを特定する。例えば、制御部１２１は、左サブ仮想カメラ４００Ｌの視軸が左反射軸３６０Ｌと平行となるように、左サブ仮想カメラ４００Ｌの向きを特定してもよい。さらに、制御部１２１は、左サブ仮想カメラ４００Ｌの位置が左反射軸３６０Ｌ上に存在するように、左サブ仮想カメラ４００Ｌの位置を設定してもよい。この点において、制御部１２１は、左サブ仮想カメラ４００Ｌの位置を所定の位置Ｏに設定してもよい。
【００６１】
次に、図１２に示すように、制御部１２１は、右メイン仮想カメラ３００Ｒと所定の位置Ｏを通る右入射軸３５０Ｒを特定する（ステップＳ２５）。ここで、右入射軸３５０Ｒは、右メイン仮想カメラ３００Ｒの視軸とは異なってもよい。ステップＳ２６において、制御部１２１は、右反射軸３６０Ｒを特定する。具体的には、制御部１２１は、法線ベクトルＮＶと右入射軸３５０Ｒとによって形成される入射角度θＩＮを特定する。次に、制御部１２１は、右反射軸３６０Ｒと法線ベクトルＮＶとによって形成される反射角度θＯＵＴが入射角度θＩＮと同一となるように、右反射軸３６０Ｒを特定する。
【００６２】
次に、ステップＳ２７において、制御部１２１は、右反射軸３６０Ｒに基づいて、右サブ仮想カメラ４００Ｒの位置と向きを特定する。例えば、制御部１２１は、右サブ仮想カメラ４００Ｒの視軸が右反射軸３６０Ｒと平行となるように、右サブ仮想カメラ４００Ｒの向きを特定してもよい。さらに、制御部１２１は、右サブ仮想カメラ４００Ｒの位置が右反射軸３６０Ｒ上に存在するように、右サブ仮想カメラ４００Ｒの位置を設定してもよい。この点において、制御部１２１は、右サブ仮想カメラ４００Ｒの位置を所定の位置Ｏに設定してもよい。このように、左メイン仮想カメラ３００Ｌと反射オブジェクト５００との間の相対的位置関係に応じて左サブ仮想カメラ４００Ｌの位置と向きが特定されると共に、右メイン仮想カメラ３００Ｒと反射オブジェクト５００との間の相対的位置関係に応じて右サブ仮想カメラ４００Ｒの位置と向きが特定される（ステップＳ１３の処理が実行される）。
【００６３】
図９に戻ると、ステップＳ１４において、制御部１２１は、左サブ仮想カメラ４００Ｌの視野と仮想空間データに基づいて、第２の左目用視野画像データを生成すると共に、右サブ仮想カメラ４００Ｒの視野と仮想空間データに基づいて、第２の右目用視野画像データを生成する。次に、制御部１２１は、第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が反射オブジェクト５００の反射面５２０上に重畳されるように、第１の左目用視野画像と第２の左目用視野画像を左目用表示部１１２Ｌに表示する（ステップＳ１５）。同様に、制御部１２１は、第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が反射オブジェクト５００の反射面５２０上に重畳されるように、第１の右目用視野画像と第２の右目用視野画像を右目用表示部１１２Ｒに表示する（ステップＳ１６）。
【００６４】
例えば、図１４（ａ）は、左目用表示部１１２Ｌに表示された合成視野画像ＶＬを示す図である。合成視野画像ＶＬは、第１の左目用視野画像データに対応する第１の左目用視野画像と、第２の左目用視野画像データに対応する第２の左目用視野画像を合成することで得られる画像である。左サブ仮想カメラ４００Ｌの視野内にアバターオブジェクト６００が存在する場合、アバターオブジェクト６００は第２の左目用視野画像内に表示されるので、図１４（ａ）に示すように、アバターオブジェクト６００の像は、反射オブジェクト５００の反射面５２０上に表示される。同様に、図１４（ｂ）は、右目用表示部１１２Ｒに表示された合成視野画像ＶＲを示す図である。合成視野画像ＶＲは、第１の右目用視野画像データに対応する第１の右目用視野画像と、第２の右目用視野画像データに対応する第２の右目用視野画像を合成することで得られる画像である。右サブ仮想カメラ４００Ｒの視野内にアバターオブジェクト６００が存在する場合、アバターオブジェクト６００は第２の右目用視野画像内に表示されるので、図１４（ｂ）に示すように、アバターオブジェクト６００の像は、反射オブジェクト５００の反射面５２０上に表示される。
【００６５】
また、図１３に示すように、アバターオブジェクト６００に対する左サブ仮想カメラ４００Ｌと右サブ仮想カメラ４００Ｒとの間の輻輳角θＢは、反射オブジェクト５００の反射面５２０に対する左メイン仮想カメラ３００Ｌと右メイン仮想カメラ３００Ｒとの間の輻輳角θＡよりも小さくなるように（θＢ＜θＡ）、制御部１２１は、左サブ仮想カメラ４００Ｌと右サブ仮想カメラ４００Ｒの位置と向きを設定する。例えば、制御部１２１は、図１０に示すステップＳ２４，Ｓ２７の処理を実行する前に、輻輳角θＡを特定する。制御部１２１は、ステップＳ２４，Ｓ２７において、輻輳角θＢが輻輳角θＡよりも小さくなるように左サブ仮想カメラ４００Ｌの位置と向きを設定すると共に、右サブ仮想カメラ４００Ｒの位置と向きを設定する。
【００６６】
輻輳角θＢ＜θＡである場合、第１の左目用視野画像に表示された反射オブジェクト５００の反射面５２０（図１４（ａ））と第１の右目用視野画像に表示された反射オブジェクト５００の反射面５２０（図１４（ｂ））との間の視差は、反射面５２０上に重畳された第２の左目用視野画像に表示されたアバターオブジェクト６００（図１４（ａ））と反射面５２０上に重畳された第２の右目用視野画像に表示されたアバターオブジェクト６００（図１４（ｂ））との間の視差よりも大きくなる。このように、ＨＭＤ１１０を装着したユーザＵは、アバターオブジェクト６００が反射オブジェクト５００の反射面５２０よりも奥側に位置していることを立体的に認識することができる。
【００６７】
本実施形態によれば、ＨＭＤ１１０を装着したユーザＵが反射オブジェクト５００と反射オブジェクト５００の反射面５２０上に映されたアバターオブジェクト６００の像を立体的に視認できる。さらに、左メイン仮想カメラ３００Ｌと反射オブジェクト５００との相対位置関係に応じて左サブ仮想カメラ４００Ｌの視野が変化すると共に、右メイン仮想カメラ３００Ｒと反射オブジェクト５００との間の相対位置関係に応じて右サブ仮想カメラ４００Ｒの視野が変化する。このように、ユーザＵの動きに応じて反射面５２０上に映された像（第２の左目用視野画像と第２の右目用視野画像）を変化させることができる。従って、仮想空間に対するユーザＵの体験をさらに改善することが可能な情報処理方法を提供することができる。
【００６８】
（第２実施形態）
次に、図１５から図１７を参照することで第２実施形態に係る情報処理方法について説明する。図１５は、左メイン仮想カメラ３００Ｌと、右メイン仮想カメラ３００Ｒと、単一のサブ仮想カメラ４００と、反射オブジェクト５００と、アバターオブジェクト６００（所定のオブジェクト）とを含む仮想空間２００Ａを示す図である。図１６は、第２実施形態に係る情報処理方法を説明するためのフローチャートである。図１７は、単一のサブ仮想カメラ４００の位置と向きを特定するための方法を説明するためのフローチャートである。
【００６９】
図１５に示すように、仮想空間２００Ａは、サブ仮想カメラの数が１つである点で図８に示す仮想空間２００とは異なる。つまり、第２実施形態に係る情報処理方法は、単一のサブ仮想カメラ４００を用いることで第２の左目用視野画像データ及び第２の右目用視野画像データが生成される点で第１実施形態に係る情報処理方法とは相違する。次に、図１６に示すように、最初に、ステップＳ３１及びＳ３２に示す処理が実行される。ステップＳ３１及びＳ３２の処理は、図９に示すステップＳ１１及びＳ１２の処理とそれぞれ同一である。次に、ステップＳ３３において、制御部１２１は、左メイン仮想カメラ３００Ｌと反射オブジェクト５００との間の相対的位置関係に基づいて、サブ仮想カメラ４００の位置と向きを特定する。具体的には、ステップＳ３３の処理について図１７を参照して説明する。
【００７０】
図１７に示すように、制御部１２１は、反射オブジェクト５００の反射面５２０上の所定の位置Ｏ（例えば、中心位置）における法線ベクトルＮＶを特定する（ステップＳ４１）。ステップＳ４２において、制御部１２１は、左メイン仮想カメラ３００Ｌと所定の位置Ｏを通る左入射軸３５０Ｌを特定する。次に、ステップＳ４３において、制御部１２１は、左反射軸３６０Ｌを特定する。具体的には、制御部１２１は、法線ベクトルＮＶと左入射軸３５０Ｌとによって形成される入射角度θＩＮを特定する。次に、制御部１２１は、左反射軸３６０Ｌと法線ベクトルＮＶとによって形成される反射角度θＯＵＴが入射角度θＩＮと同一となるように、左反射軸３６０Ｌを特定する。次に、ステップＳ４４において、制御部１２１は、左反射軸３６０Ｌに基づいて、サブ仮想カメラ４００の位置と向きを特定する。
【００７１】
図１６に戻ると、ステップＳ３４において、制御部１２１は、サブ仮想カメラ４００の視野と仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データを生成する。ここで、第２の左目用視野画像データと第２の右目用視野画像データは同一の画像データである（つまり、第２の左目用視野画像と第２の右目用視野画像は同一画像となる）。次に、制御部１２１は、ステップＳ３５及びＳ３６に示す処理をそれぞれ実行する。ステップＳ３５及びＳ３６の処理は、図９に示すステップＳ１５及びＳ１６の処理とそれぞれ同一である。
【００７２】
本実施形態では、第２の左目用視野画像と第２の右目用視野画像が同一となるため、第２の左目用視野画像に表示される所定のオブジェクト（例えば、アバターオブジェクト６００）と第２の右目用視野画像に表示される当該所定のオブジェクトとの間の視差はゼロとなる。従って、第１の左目用視野画像に表示された反射オブジェクト５００の反射面５２０（図１４（ａ））と第１の右目用視野画像に表示された反射オブジェクト５００の反射面５２０（図１４（ｂ））との間の視差は、反射面５２０上に重畳された第２の左目用視野画像に表示されたアバターオブジェクト６００（図１４（ａ））と反射面５２０上に重畳された第２の右目用視野画像に表示されたアバターオブジェクト６００（図１４（ｂ））との間の視差よりも大きくなる。このように、ＨＭＤ１１０を装着したユーザＵは、アバターオブジェクト６００が反射オブジェクト５００の反射面５２０よりも奥側に位置していることを立体的に認識することができる。また、本実施形態に係る情報処理方法は、単一のサブ仮想カメラ４００を用いて実行されるので、当該情報処理方法を実行するプロセッサの演算量を軽減することが可能となる。
【００７３】
尚、第２実施形態の説明では、サブ仮想カメラ４００の位置と向きは、左メイン仮想カメラ３００Ｌと反射オブジェクト５００との間の相対的位置関係に基づいて特定されているが、本実施形態はこれには限定されない。例えば、制御部１２１は、右メイン仮想カメラ３００Ｒと反射オブジェクト５００との間の相対的位置関係に基づいて、サブ仮想カメラ４００の位置と向きを特定してもよい。この場合、ステップＳ４２において、制御部１２１は右入射軸３５０Ｒを特定する、その後、制御部１２１は、右反射軸３６０Ｒを特定した上で、右反射軸３６０Ｒに基づいてサブ仮想カメラ４００の位置と向きを特定する。さらに、制御部１２１は、左メイン仮想カメラ３００Ｌと反射オブジェクト５００との間の相対位置関係及び右メイン仮想カメラ３００Ｒと反射オブジェクト５００との間の相対位置関係とに基づいて、サブ仮想カメラ４００の位置と向きを特定してもよい。
【００７４】
また、ステップＳ３４では、制御部１２１は、第２の左目用視野画像に表示されるアバターオブジェクト６００と第２の右目用視野画像に表示されるアバターオブジェクト６００との間の視差が第１の左目用視野画像に表示された反射オブジェクト５００の反射面５２０と第１の右目用視野画像に表示された反射オブジェクト５００の反射面５２０との間の視差よりも小さくなるように、第２の基準視野画像データに所定の演算処理を行うことで、第２の左目用視野画像データと第２の右目用視野画像データを生成してもよい。
【００７５】
（第３実施形態）
次に、図１８から図２０を参照することで第３実施形態に係る情報処理方法について説明する。図１６は、単一のメイン仮想カメラ３００Ｘと、単一のサブ仮想カメラ４００と、反射オブジェクト５００と、アバターオブジェクト６００とを含む仮想空間２００Ｂを示す図である。図１９は、第３実施形態に係る情報処理方法を説明するためのフローチャートである。図２０は、単一のサブ仮想カメラの位置と向きを特定するための方法を説明するためのフローチャートである。
【００７６】
図１８に示すように、仮想空間２００Ｂは、メイン仮想カメラの数とサブ仮想カメラの数がそれぞれ１つである点で図８に示す仮想空間２００とは異なる。つまり、第３実施形態に係る情報処理方法は、単一のメイン仮想カメラ３００Ｘを用いることで第１の左目用視野画像データと第１の右目用視野画像データが生成されると共に、単一のサブ仮想カメラ４００を用いることで第２の左目用視野画像データ及び第２の右目用視野画像データが生成される点で第１実施形態に係る情報処理方法とは相違する。図１９に示すように、最初に、制御部１２１は、ＨＭＤ１１０の動きに応じて、メイン仮想カメラ３００Ｘの視野を特定する（ステップＳ５１）。次に、制御部１２１は、仮想カメラ３００Ｘの視野と仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データを生成する（ステップＳ５２）。
【００７７】
具体的には、制御部１２１は、仮想カメラ３００Ｘの視野と仮想空間データに基づいて、第１の基準視野画像データを生成する。その後、制御部１２１は、第１の基準視野画像データに所定の演算処理を行うことで、第１の左目用視野画像データと第１の右目用視野画像データを生成する。例えば、制御部１２１は、第１の左目用視野画像に表示された反射オブジェクト５００の反射面５２０と第１の右目用視野画像に表示された反射オブジェクト５００の反射面５２０との間の視差が所定の視差となるように、第１の基準視野画像データに所定の演算処理を行うことで、第１の左目用視野画像データと第１の右目用視野画像データを生成する。
【００７８】
次に、ステップＳ５３において、制御部１２１は、メイン仮想カメラ３００Ｘと反射オブジェクト５００との間の相対的位置関係に基づいて、サブ仮想カメラ４００の位置と向きを特定する。具体的には、ステップＳ５３の処理について図２０を参照して説明する。
【００７９】
図２０に示すように、制御部１２１は、反射オブジェクト５００の反射面５２０上の所定の位置Ｏ（例えば、中心位置）における法線ベクトルＮＶを特定する（ステップＳ６１）。ステップＳ６２において、制御部１２１は、メイン仮想カメラ３００Ｘと所定の位置Ｏを通る入射軸３５０を特定する。次に、ステップＳ６３において、制御部１２１は、反射軸３６０を特定する。具体的には、制御部１２１は、法線ベクトルＮＶと入射軸３５０とによって形成される入射角度θＩＮを特定する。次に、制御部１２１は、反射軸３６０と法線ベクトルＮＶとによって形成される反射角度θＯＵＴが入射角度θＩＮと同一となるように、反射軸３６０を特定する。次に、ステップＳ６４において、制御部１２１は、反射軸３６０に基づいて、サブ仮想カメラ４００の位置と向きを特定する。
【００８０】
図１９に戻ると、ステップＳ５４において、制御部１２１は、サブ仮想カメラ４００の視野と仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データを生成する。具体的には、制御部１２１は、サブ仮想カメラ４００の視野と仮想空間データに基づいて、第２の基準視野画像データを生成する。その後、制御部１２１は、第２の基準視野画像データに所定の演算処理を行うことで、第２の左目用視野画像データと第２の右目用視野画像データを生成する。制御部１２１は、第２の左目用視野画像に表示されるアバターオブジェクト６００と第２の右目用視野画像に表示されるアバターオブジェクト６００との間の視差が第１の左目用視野画像に表示された反射オブジェクト５００の反射面５２０と第１の右目用視野画像に表示された反射オブジェクト５００の反射面５２０との間の視差よりも小さくなるように、第２の基準視野画像データに所定の演算処理を行うことで、第２の左目用視野画像データと第２の右目用視野画像データを生成する。
【００８１】
次に、制御部１２１は、ステップＳ５５及びＳ５６に示す処理をそれぞれ実行する。ステップＳ５５及びＳ５６の処理は、図９に示すステップＳ１５及びＳ１６の処理とそれぞれ同一である。
【００８２】
本実施形態によれば、単一のメイン仮想カメラ３００Ｘと単一のサブ仮想カメラ４００を用いることで第１及び第２の左目用視野画像データを生成することができると共に、第１及び第２の右目用視野画像データを生成することができる。このように、当該情報処理方法を実行するプロセッサの演算量を低減することができる。
【００８３】
制御部１２１によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る情報処理方法をコンピュータ（プロセッサ）に実行させるための情報処理プログラムが記憶部１２３又はＲＯＭに予め組み込まれていてもよい。または、情報処理プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に接続されることで、当該記憶媒体に格納された情報処理プログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた情報処理プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は本実施形態に係る情報処理方法を実行する。
【００８４】
また、情報処理プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部１２３に組み込まれる。
【００８５】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【符号の説明】
【００８６】
１：ＨＭＤシステム
３：通信ネットワーク
２１：中心位置
１１２：表示部
１１２Ｌ：左目用表示部
１１２Ｒ：右目用表示部
１１４：ＨＭＤセンサ
１２０：制御装置
１２１：制御部
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
１４０：注視センサ
２００，２００Ａ，２００Ｂ：仮想空間
３００：仮想カメラ
３００Ｘ：メイン仮想カメラ
３００Ｌ：左メイン仮想カメラ
３００Ｒ：右メイン仮想カメラ
３２０：外部コントローラ
３２０Ｌ：左手用外部コントローラ（コントローラ）
３２０Ｒ：右手用外部コントローラ（コントローラ）
３５０：入射軸
３５０Ｌ：左入射軸
３５０Ｒ：右入射軸
３６０：反射軸
３６０Ｌ：左反射軸
３６０Ｒ：右反射軸
４００：サブ仮想カメラ
４００Ｌ：左サブ仮想カメラ
４００Ｒ：右サブ仮想カメラ
５００：反射オブジェクト
５２０：反射面
６００：アバターオブジェクト（所定のオブジェクト）
ＣＶ：視野
ＣＶａ：第１領域
ＣＶｂ：第２領域
Ｌ：視軸
ＮＶ：法線ベクトル
【図１】
2018045299.tif 000003
【図２】
2018045299.tif 000004
【図３】
2018045299.tif 000005
【図４】
2018045299.tif 000006
【図５】
2018045299.tif 000007
【図６】
2018045299.tif 000008
【図７】
2018045299.tif 000009
【図８】
2018045299.tif 000010
【図９】
2018045299.tif 000011
【図１０】
2018045299.tif 000012
【図１１】
2018045299.tif 000013
【図１２】
2018045299.tif 000014
【図１３】
2018045299.tif 000015
【図１４】
2018045299.tif 000016
【図１５】
2018045299.tif 000017
【図１６】
2018045299.tif 000018
【図１７】
2018045299.tif 000019
【図１８】
2018045299.tif 000020
【図１９】
2018045299.tif 000021
【図２０】
2018045299.tif 000022
【手続補正書】
【提出日】平成29年3月28日(2017.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザの左目に対応する左目用表示部と、当該ユーザの右目に対応する右目用表示部とを備えるヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
（ａ）メイン仮想カメラと、サブ仮想カメラと、反射面を有する反射オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きに応じて、前記メイン仮想カメラの視野を更新するステップと、
（ｃ）前記メイン仮想カメラの視野と前記仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、
（ｄ）前記メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
（ｅ）前記サブ仮想カメラの視野と前記仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、
（ｆ）前記第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び前記第２の左目用視野画像を前記左目用表示部に表示するステップと、
（ｇ）前記第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び前記第２の右目用視野画像を前記右目用表示部に表示するステップと、を含み、
前記第１の左目用視野画像に表示された反射オブジェクトと前記第１の右目用視野画像に表示された反射オブジェクトとの間の視差は、前記反射オブジェクトの反射面上に重畳された前記第２の左目用視野画像に表示された所定のオブジェクトと前記反射オブジェクトの反射面上に重畳された前記第２の右目用視野画像に表示された所定のオブジェクトとの間の視差よりも大きい、
情報処理方法。
【請求項２】
前記ステップ（ｄ）は、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記メイン仮想カメラと前記所定の位置を通る入射軸を特定するステップと、
前記法線ベクトルと前記入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記反射軸を特定するステップと、
前記反射軸に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
を含む、請求項１に記載の情報処理方法。
【請求項３】
前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、左サブ仮想カメラと、右サブ仮想カメラを備え、
前記ステップ（ｂ）は、
前記ヘッドマウントデバイスの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、
前記右メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、を含み、
前記ステップ（ｅ）は、
前記左サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の左目用視野画像データを生成するステップと、
前記右サブ仮想カメラの視野と前記仮想空間データに基づいて、前記第２の右目用視野画像データを生成するステップと、を含む、請求項１又は２に記載の情報処理方法。
【請求項４】
前記左サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記左メイン仮想カメラと前記所定の位置を通る左入射軸を特定するステップと、
前記法線ベクトルと前記左入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る左反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記左反射軸を特定するステップと、
前記左反射軸に基づいて、前記左サブ仮想カメラの位置と向きを特定するステップと、を含み、
前記右サブ仮想カメラの位置と向きを特定するステップは、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記右メイン仮想カメラと前記所定の位置を通る右入射軸を特定するステップと、
前記法線ベクトルと前記右入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る右反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記右反射軸を特定するステップと、
前記右反射軸に基づいて、前記右サブ仮想カメラの位置と向きを特定するステップと、を含む、請求項３に記載の情報処理方法。
【請求項５】
前記反射オブジェクトの反射面に対する前記左メイン仮想カメラと前記右メイン仮想カメラとの間の輻輳角は、前記左サブ仮想カメラ及び前記右サブ仮想カメラの視野内に存在する所定のオブジェクトに対する前記左サブ仮想カメラと前記右サブ仮想カメラとの間の輻輳角よりも大きい、請求項３又は４に記載の情報処理方法。
【請求項６】
前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成され、
前記ステップ（ｂ）は、
前記ヘッドマウントデバイスの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラ及び前記右メイン仮想カメラのうちの少なくとも一方と前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップを含み、
前記第２の左目用視野画像は、前記第２の右目用視野画像と同一である、
請求項１又は２に記載の情報処理方法。
【請求項７】
前記メイン仮想カメラは、単一のメイン仮想カメラのみから構成され、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成される、請求項１又は２に記載の情報処理方法。
【請求項８】
請求項１から７のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【手続補正書】
【提出日】平成29年6月26日(2017.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザの左目に対応する左目用表示部と、当該ユーザの右目に対応する右目用表示部とを備えるヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
（ａ）メイン仮想カメラと、サブ仮想カメラと、反射面を有する反射オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの動きに応じて、前記メイン仮想カメラの視野を更新するステップと、
（ｃ）前記メイン仮想カメラの視野と前記仮想空間データに基づいて、第１の左目用視野画像データと第１の右目用視野画像データとを生成するステップと、
（ｄ）前記メイン仮想カメラと前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
（ｅ）前記サブ仮想カメラの視野と前記仮想空間データに基づいて、第２の左目用視野画像データと第２の右目用視野画像データとを生成するステップと、
（ｆ）前記第１及び第２の左目用視野画像データに基づいて、第２の左目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の左目用視野画像及び前記第２の左目用視野画像を前記左目用表示部に表示するステップと、
（ｇ）前記第１及び第２の右目用視野画像データに基づいて、第２の右目用視野画像が前記反射オブジェクトの反射面上に重畳されるように、第１の右目用視野画像及び前記第２の右目用視野画像を前記右目用表示部に表示するステップと、を含み、
前記第１の左目用視野画像に表示された反射オブジェクトと前記第１の右目用視野画像に表示された反射オブジェクトとの間の視差は、前記反射オブジェクトの反射面上に重畳された前記第２の左目用視野画像に表示された所定のオブジェクトと前記反射オブジェクトの反射面上に重畳された前記第２の右目用視野画像に表示された所定のオブジェクトとの間の視差よりも大きく、
前記メイン仮想カメラは、左メイン仮想カメラと、右メイン仮想カメラを備え、
前記サブ仮想カメラは、単一のサブ仮想カメラのみから構成され、
前記ステップ（ｂ）は、
前記ヘッドマウントデバイスの動きに応じて、前記左メイン仮想カメラの視野と前記右メイン仮想カメラの視野を更新するステップを含み、
前記ステップ（ｃ）は、
前記左メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の左目用視野画像データを生成するステップと、
前記右メイン仮想カメラの視野と前記仮想空間データに基づいて、前記第１の右目用視野画像データを生成するステップと、を含み、
前記ステップ（ｄ）は、
前記左メイン仮想カメラ及び前記右メイン仮想カメラのうちの少なくとも一方と前記反射オブジェクトとの間の相対位置関係に基づいて、前記サブ仮想カメラの位置と向きを特定するステップを含み、
前記第２の左目用視野画像は、前記第２の右目用視野画像と同一である、
情報処理方法。
【請求項２】
前記ステップ（ｄ）は、
前記反射オブジェクトの反射面上の所定の位置における法線ベクトルを特定するステップと、
前記左メイン仮想カメラ及び前記右メイン仮想カメラのうちの少なくとも一方と前記所定の位置を通る入射軸を特定するステップと、
前記法線ベクトルと前記入射軸とによって形成される入射角度を特定するステップと、
前記所定の位置を通る反射軸と前記法線ベクトルとによって形成される反射角度が前記入射角度と同一となるように、前記反射軸を特定するステップと、
前記反射軸に基づいて、前記サブ仮想カメラの位置と向きを特定するステップと、
を含む、請求項１に記載の情報処理方法。
【請求項３】
請求項１又は２に記載の情報処理方法をコンピュータに実行させるためのプログラム。