(57)【要約】【課題】仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくし得る、情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】情報処理装置１０は、ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、情報検出部１１と、検出されたユーザの情報に基づいて、ヘッドマウントディスプレイに映し出される仮想空間を、仮想空間内でのユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部１２と、を備えている。【選択図】図１
2020071529.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備えていることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記仮想空間補正部が、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記仮想空間補正部が、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項５】
請求項１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項６】
請求項１〜５のいずれかに記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記仮想空間補正部が、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記仮想空間補正部が、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理装置。
【請求項８】
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有することを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記（ｂ）のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理方法。
【請求項１１】
請求項８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記（ｂ）のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項１２】
請求項８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項１３】
請求項８〜１２のいずれかに記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記（ｂ）のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項１４】
請求項１３に記載の情報処理方法であって、
前記（ｂ）のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の
角度が大きくなるように補正する、
ことを特徴とする情報処理方法。
【請求項１５】
コンピュータに、
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させるプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記（ｂ）のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とするプログラム。
【請求項１８】
請求項１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記（ｂ）のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項１９】
請求項１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項２０】
請求項１５〜１９のいずれかに記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記（ｂ）のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項２１】
請求項２０に記載のプログラムであって、
前記（ｂ）のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイを介してユーザに仮想現実を提供するための、情報処理装置及び情報処理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、ヘッドマウントディスプレイ（ＨＭＤ：Head Mounted Display）の低価格化が進んだことから、ＨＭＤと仮想現実（ＶＲ：Virtual Reality）とを利用したシステムの実用化が進んでいる。特に、非透過型のＨＭＤによれば、ＶＲにおいて、ユーザに没入感を提供でき、ユーザは、ＶＲを実際の現実のように感じることができる。
【０００３】
また、このようなＨＭＤとＶＲとを利用したシステムの用途は、ゲームに限られず、シミュレーション、医療、エンターテインメント、自動車、広告、教育等、多岐に渡っている。
【０００４】
ところで、仮想現実を体験しているユーザが見ている仮想空間の大きさと、ユーザが実際に存在している現実空間の大きさとは異なっている。このため、仮想現実では、仮想空間が広く、ユーザはどこまでも真っ直ぐ歩いて行けるように認識できても、実際は、ユーザは、現実の部屋の壁に当たり、行く手を阻まれてしまう。つまり、仮想空間内でユーザが実際に動ける範囲は、現実空間よって制約される。
【０００５】
このような問題を解消するため、非特許文献１は、ユーザによるその場での足踏みによって、ユーザが仮想空間内を移動できるようにする技術を開示している。非特許文献１に開示された技術によれば、ユーザは現実空間において殆ど移動することがなく、現実空間による制約を受けることがない。
【０００６】
また、非特許文献２及び３は、人の脳の錯覚を利用して、現実空間による制約を抑制する技術を開示している。具体的には、非特許文献２に開示された技術では、ヘッドマウントディスプレイに表示される映像、即ちユーザの視界を少しずつ回転させる。これにより、ユーザに対して、仮想空間内を真っ直ぐ歩いている感覚を与えつつ、現実空間では、曲がりながら歩かせることができる。このため、非特許文献２に開示された技術によれば、現実空間による制約を小さくすることができる。
【０００７】
一方、非特許文献３に開示された技術では、ユーザの視界を回転させる代わりに、現実空間内に、円柱形状の壁を設置し、ユーザに、この壁の壁面をタッチさせながら歩かせることで、ユーザに対して、仮想空間内で真っ直ぐ歩いている感覚を与えている。この場合、ユーザは壁の周囲を移動するだけなので、非特許文献３に開示された技術によっても現実空間による制約を小さくすることができる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】針山拓人、大蔵典子著  「足踏みによる歩行間隔体感デバイスの開発（第５報）−３軸加速度を利用した歩行・足踏みの評価指標の検討−」、情報処理学会創立５０周年記念（第７２回）全国大会、２０１０年、ｐ．４−４０９〜４−４１０
【非特許文献２】「［必見］ＶＲ、触覚関連で人間の錯覚現象を利用した面白い研究５選」、［online］、２０１７年９月１３日、リケナン、［２０１８年４月１日検索］、インターネット＜URL：// http://rikediary.com/university/research/illlusion/#Redirected_Walking＞
【非特許文献３】Katsue Nagakura著  「空間知覚をハックして、狭い室内を無限にまっすぐ歩き続ける「無限回廊」VR」、［online］、２０１６年５月２０日、WIRED FEATURE、［２０１８年４月１日検索］、インターネット＜URL：// https://wired.jp/2016/05/20/mystery-of-a-2500-year-old/＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、非特許文献１に開示された技術では、現実空間による制約を殆どゼロとすることができるが、ユーザは、実際には歩いてはいないため、仮想現実と現実との間に違和感が生じるという問題がある。
【００１０】
また、非特許文献２及び３に開示された技術では、回転半径（又は壁の曲率半径）が小さくなりすぎると、ユーザに真っ直ぐ歩いている感覚を与えることができないため、現実空間による制約の抑制には限度がある。加えて、特に非特許文献３に開示された技術では、円柱状の壁を設置する必要があり、非常にコストがかかってしまう。
【００１１】
本発明の目的の一例は、上記問題を解消し、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくし得る、情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面における情報処理装置は、
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備えていることを特徴とする。
【００１３】
また、上記目的を達成するため、本発明の一側面における情報処理方法は、
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有することを特徴とする。
【００１４】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態１における情報処理装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における情報処理装置の構成を具体的に示すブロック図である。
【図３】図３（ａ）〜（ｃ）は、本発明の実施の形態１にて行われる仮想空間の回転角度の算出処理を説明する図であり、各図は一連の処理を示している。
【図４】図４は、本発明の実施の形態１にて行われる仮想空間の回転処理を説明する図である。
【図５】図５は、本発明の実施の形態１における情報処理装置の動作を示すフロー図である。
【図６】図６（ａ）及び（ｂ）は、ユーザの視線の移動を説明する図であり、各図は一連の視線の移動を示している。
【図７】図７は、本発明の実施の形態２における情報処理装置の動作を示すフロー図である。
【図８】図８は、本発明の実施の形態３における情報処理装置の動作を示すフロー図である。
【図９】図９は、本発明の実施の形態１〜３における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態１）
以下、本発明の実施の形態１における、情報処理装置、情報処理方法、及びプログラムについて、図１〜図５を参照しながら説明する。
【００１８】
［装置構成］
最初に、図１を用いて、本実施の形態１における情報処理装置の構成について説明する。図１は、本発明の実施の形態１における情報処理装置の概略構成を示すブロック図である。
【００１９】
図１に示す、本実施の形態１における情報処理装置１０は、ヘッドマウントディスプレイを介してユーザに仮想現実を提供する装置である。図１に示すように、情報処理装置１０は、情報検出部１１と、仮想空間補正部１２とを備えている。
【００２０】
情報検出部１１は、ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する。仮想空間補正部１２は、情報検出部１１によって検出されたユーザの情報に基づいて、ヘッドマウントディスプレイに映し出される仮想空間を、仮想空間内でのユーザの位置を基準に、その水平面に沿って回転させる。
【００２１】
このように、情報処理装置１０は、ユーザの状況に応じて、ユーザを中心に仮想空間を回転させることができる。この結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって右又は左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。情報処理装置１０によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【００２２】
続いて、図２〜図５を用いて、本実施の形態１における情報処理装置の構成及び機能について具体的に説明する。図２は、本発明の実施の形態１における情報処理装置の構成を
具体的に示すブロック図である。図３（ａ）〜（ｃ）は、本発明の実施の形態１にて行われる仮想空間の回転角度の算出処理を説明する図であり、各図は一連の処理を示している。図４は、本発明の実施の形態１にて行われる仮想空間の回転処理を説明する図である。
【００２３】
図２に示すように、本実施の形態１では、情報処理装置１０は、ユーザが装着するヘッドマウントディスプレイ２０と、ユーザの位置及び体の向きを検出するためのカメラ３０とに接続されている。また、図２に示すように、情報処理装置１０は、上述した情報検出部１１及び仮想空間補正部１２に加えて、仮想空間構築部１３と、データベース１４も備えている。
【００２４】
ヘッドマウントディスプレイ２０は、いわゆる、ＶＲ（Virtual Reality）ゴーグルであり、ユーザはこれを装着することにより、仮想現実に没入することができる。また、ヘッドマウントディスプレイ２０は、それ自体の動きを検出するモーションセンサを備えている。モーションセンサは、加速度センサ及び角速度センサで構成されており、ヘッドマウントディスプレイ２０の動き及び向きを特定する信号を出力する。ヘッドマウントディスプレイ２０及びそれに用いられるセンサは、特に限定されるものではない。本実施の形態では、将来開発される種々のＶＲゴーグル及びセンサを用いることができる。
【００２５】
仮想空間構築部１３は、予めデータベース１４に登録されているオブジェクトを用いて、情報処理装置１０が備えるメモリ（図２において図示せす）のメモリ区間内に仮想空間を構築する。また、仮想空間構築部１５は、構築した仮想空間内に、ユーザを表すオブジェクト（以下「ユーザオブジェクト」と表記する）も配置し、ヘッドマウントディスプレイ２０の画面には、ユーザオブジェクトを視点とした仮想空間内の映像を表示する。
【００２６】
情報検出部１１は、本実施の形態１では、ユーザの情報として、ユーザの体の正面の向き及び顔の向きを検出する。具体的には、情報検出部１１は、例えば、ヘッドマウントディスプレイ２０に取り付けられているモーションセンサからのセンサ信号を取得し、センサ信号に基づいて、ヘッドマウントディスプレイ２０の向きを検出し、これをユーザの顔の向きとする。なお、ヘッドマウントディスプレイ２０の向きとは、例えば、正面部分（ディスプレイの背面側の部分）の向きであり、それを装着するユーザの顔の向きと一致する向きである。
【００２７】
また、情報検出部１１は、例えば、カメラ３０から設定間隔をおいて出力される画像データを取得し、取得した画像データからユーザの画像を検出し、検出した画像を分析することによって、ユーザの体の向きを検出する。なお、画像分析による検出手法としては、既存の手法が上げられる。また、ユーザの体の向きとは、例えば、ユーザの胸の向きを言う（図３（ａ）〜（ｃ）参照）。なお、情報検出部１１による情報の検出は、上記以外のセンサ、例えば、赤外線センサ、ジャイロセンサ等を利用して行われても良い。
【００２８】
図３（ａ）及び（ｂ）に示すように、ユーザの体の正面の向きと顔の向きとが一致している状態から、ユーザが顔を横に向けて、両者が一致していない状態になったとする。この場合、本実施の形態１では、仮想空間補正部１２は、両者の差分に基づいて、仮想空間４０を回転させる際の角度（以下「回転角度」と表記する。）を設定する。具体的には、図３（ｂ）に示すように用に、体の正面の向きと顔の向きとの差分がａ度であるとすると、仮想空間補正部１２は、下記の数１を用いて、回転角度ｂを算出する。下記の数１において、ｋは変換係数である。
【００２９】
（数１）
ｂ＝ａ×ｋ
【００３０】
例えば、ａ＝６０度、ｋ＝０．１であるとすると、回転角度ｂは、上記数１より、６度（＝６０×０．１）と算出される。
【００３１】
その後、仮想空間補正部１２は、設定した角度の分（ｂ度）だけ仮想空間４０を回転させる。具体的は、図３（ｃ）に示すように、仮想空間補正部１２は、ユーザが顔の向きを横に向けると、仮想空間４０を徐々に回転させ、最終的には、元の状態よりも左にｂ度回転させた状態の仮想空間４０が、ヘッドマウントディスプレイの画面に表示される。
【００３２】
この結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。
【００３３】
また、本実施の形態１において、情報検出部１１は、ユーザの情報として、更に、ユーザの進行速度を検出することもできる。具体的には、情報検出部１１は、例えば、カメラ３０から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度を算出する。この場合、仮想空間補正部１２は、進行速度が高い程、上記数１のｋ値を大きくする。この結果、進行速度が高い程、回転角度ｂの値が大きくなるので、より確実に、現実空間による制約を抑制できる。なお、情報検出部１１による進行速度の検出は、画像データ以外のデータ、例えば、加速度センサのセンサデータ等を利用して行われても良い。
【００３４】
また、本実施の形態１では、仮想空間補正部１２は、仮想空間４０を、その水平面に沿って回転させる。具体的には、図４に示すように、仮想空間構築部１３によって、仮想空間４０が構築され、更に、座標軸として、仮想空間の水平面においてｘ軸及びｙ軸が設定され、高さ方向に沿ってｚ軸が設定されている。この場合において、仮想空間補正部１２は、水平面に沿って、即ち、ｚ軸に並行な軸を回転軸として、仮想空間４０を回転させる。図４において、４０’は、回転後の仮想空間を示している。
【００３５】
［装置動作］
次に、本実施の形態１における情報処理装置１０の動作について図５を用いて説明する。図５は、本発明の実施の形態１における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図４を参酌する。また、本実施の形態１では、情報処理装置１０を動作させることによって、情報処理方法が実施される。よって、本実施の形態１における情報処理方法の説明は、以下の情報処理装置１０の動作説明に代える。
【００３６】
まず、前提として、仮想空間構築部１３が、予めデータベース１４に登録されているオブジェクトを用いて、情報処理装置１０が備えるメモリのメモリ区間内に仮想空間を構築する。
【００３７】
図５に示すように、最初に、情報検出部１１は、ヘッドマウントディスプレイ２０に取り付けられているモーションセンサからのセンサ信号と、カメラ３０が出力する画像データとを取得し、これらを用いて、ユーザの体の正面の向き及び顔の向きを検出する（ステップＡ１）。
【００３８】
次に、仮想空間補正部１２は、ユーザの体の正面の向きと顔の向きとが一致していないかどうかを判定する（ステップＡ２）。ステップＡ２の判定の結果、両者が一致している場合は、再度ステップＡ１が実行される。
【００３９】
一方、ステップＡ２の判定の結果、両者が一致していない場合は、仮想空間補正部１２は、両者の差分ａを算出し、算出した差分ａを上記数１に適用して、仮想空間４０の回転
角度ｂを設定する（ステップＡ３）。
【００４０】
次に、仮想空間補正部１２は、ステップＡ３で設定された回転角度ｂの分だけ、仮想空間を水平面に沿って回転させる（ステップＡ４）。
【００４１】
ステップＡ４の実行後は、情報処理装置１０は、再度ステップＡ１を実行する。ステップＡ１〜Ａ４は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【００４２】
［実施の形態１における効果］
以上のように、情報処理装置１０は、ユーザが顔を横に向けると、顔の向きと体の正面の向きとの差分に応じて、仮想空間の映像を補正する。例えば、ユーザが進行方向に対して顔を右に１０度ひねると、情報処理装置は、元の位置よりも左に回転させた映像をヘッドマウントディスプレイ２０に表示させる。
【００４３】
この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、情報処理装置１０によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【００４４】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図５に示すステップＡ１〜Ａ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における情報処理装置１０と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部１１、及び仮想空間補正部１２として機能し、処理を行なう。
【００４５】
また、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部１１、及び仮想空間補正部１２のいずれかとして機能しても良い。
【００４６】
（実施の形態２）
次に、本発明の実施の形態２における、情報処理装置、情報処理方法、及びプログラムについて、図６及び図７を参照しながら説明する。
【００４７】
［装置構成］
まず、本実施の形態２における情報処理装置は、図１及び図２に示した実施の形態１における情報処理装置１０と同様の構成を有している。このため、以降の説明では、適宜図１及び図２を参照する。但し、本実施の形態２における情報処理装置は、情報検出部１１及び仮想空間補正部１２の機能の点で、実施の形態１における情報処理装置１０と異なっている。以下、相違点を中心に説明する。
【００４８】
まず、本実施の形態２では、ヘッドマウントディスプレイ２０は、顔を装着する側に、視線追跡用のカメラを搭載しており、このカメラによって、ヘッドマウントディスプレイ２０を装着しているユーザの視線を追跡することができる。また、ヘッドマウントディスプレイ２０は、追跡した視線の座標を特定する信号を出力することができる。このため、情報検出部１１は、本実施の形態２では、ユーザの情報として視線を検出する。
【００４９】
仮想空間補正部１２は、本実施の形態２では、まず、情報検出部１１によって検出された視線から、ヘッドマウントディスプレイ２０の画面上における視線の移動距離を算出する。具体的には、図６（ａ）及び（ｂ）に示すように、仮想空間補正部１２は、画面の水平方向における視線の移動距離を算出する。図６（ａ）及び（ｂ）は、ユーザの視線の移動を説明する図であり、各図は一連の視線の移動を示している。
【００５０】
次に、仮想空間補正部１２は、算出した移動距離に基づいて、仮想空間４０を回転させる際の回転角度ｂを設定する。例えば、ユーザの視野角をｍ度、単位時間（例えば１秒間）当たりの視線の移動距離をＤ、画面の水平方向における長さをｎとすると、仮想空間補正部１２は、下記の数２を用いて、回転角度ｂを算出する。なお、下記の数２においても、ｋは変換係数である。
【００５１】
（数２）
ｂ＝Ｄ×ｍ÷ｎ×ｋ
【００５２】
例えば、Ｄ＝８０ｍｍ、ｍ＝１２０度、ｎ＝３００ｍｍ、ｋ＝０．１であるとすると、回転角度ｂは、上記数２より、３．２度（＝８０×１２０÷３００×０．１）と算出される。
【００５３】
その後、仮想空間補正部１２は、設定した回転角度の分（ｂ度）だけ仮想空間４０を回転させる。このため、例えば、ユーザが視線を右に動かすと、仮想空間の映像は元の状態よりも左に回転される。結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。
【００５４】
［装置動作］
次に、本実施の形態２における情報処理装置の動作について図７を用いて説明する。図７は、本発明の実施の形態２における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図６を参酌する。また、本実施の形態２では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、本実施の形態２における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【００５５】
まず、前提として、本実施の形態２においても、仮想空間構築部１３が、予めデータベース１４に登録されているオブジェクトを用いて、情報処理装置１０が備えるメモリのメモリ区間内に仮想空間を構築する。
【００５６】
図７に示すように、最初に、次に、情報検出部１１は、ヘッドマウントディスプレイ２０に取り付けられている視線追跡用のカメラが出力する視線の座標を特定する信号を取得し、これらを用いて、ユーザの視線を検出する（ステップＢ１）。
【００５７】
次に、仮想空間補正部１２は、ユーザの視線が水平方向において移動しているかどうかを判定する（ステップＢ２）。なお、仮想空間補正部１２は、視線の移動距離が閾値以上である場合、即ち、視線の移動距離が微少でない場合にのみ、ＹＥＳと判定することもできる。
【００５８】
ステップＡ２の判定の結果、ユーザの視線が水平方向において移動していない場合は、再度ステップＡ１が実行される。一方、ステップＡ２の判定の結果、ユーザの視線が水平方向において移動している場合は、仮想空間補正部１２は、視線の移動距離Ｄを上記数２に適用して、仮想空間４０の回転角度ｂを設定する（ステップＢ３）。
【００５９】
次に、仮想空間補正部１２は、ステップＢ３で設定された回転角度ｂの分だけ、仮想空
間を水平面に沿って回転させる（ステップＢ４）。
【００６０】
ステップＢ４の実行後は、情報処理装置は、再度ステップＢ１を実行する。ステップＢ１〜Ｂ４は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【００６１】
［実施の形態２における効果］
以上のように、本実施の形態２では、情報処理装置は、ユーザが視線を横に向けると、視線の移動距離に応じて、仮想空間の映像を補正する。例えば、ユーザが進行方向に対して視線を右に移動させると、情報処理装置は、左に回転させた映像をヘッドマウントディスプレイ２０に表示させる。
【００６２】
この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、本実施の形態２でも、仮想空間より現実空間が狭い場合に、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、本実施の形態２における情報処理装置によっても、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【００６３】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図７に示すステップＢ１〜Ｂ４を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部１１、及び仮想空間補正部１２として機能し、処理を行なう。
【００６４】
また、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部１１、及び仮想空間補正部１２のいずれかとして機能しても良い。
【００６５】
（実施の形態３）
次に、本発明の実施の形態３における、情報処理装置、情報処理方法、及びプログラムについて、図８を参照しながら説明する。
【００６６】
［装置構成］
まず、本実施の形態３における情報処理装置は、図１及び図２に示した実施の形態１における情報処理装置１０と同様の構成を有している。このため、以降の説明では、適宜図１及び図２を参照する。但し、本実施の形態３における情報処理装置は、情報検出部１１及び仮想空間補正部１２の機能の点で、実施の形態１における情報処理装置１０と異なっている。以下、相違点を中心に説明する。
【００６７】
本実施の形態３では、情報検出部１１は、ユーザの情報として、ユーザの進行速度のみを検出する。具体的には、情報検出部１１は、実施の形態１でも述べたように、例えば、カメラ３０から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度を算出する。
【００６８】
また、仮想空間補正部１２は、本実施の形態３では、検出されたユーザの進行速度に基づいて仮想空間を回転させる際の回転角度ｂを設定する。具体的には、仮想空間補正部１２は、ユーザの進行速度をｖとすると、その時系列変化から、進行速度の平均値（平均進行速度）ｐを求め、これらを下記の数３に代入して、回転角度ｂを算出する。なお、下記
の数３においても、ｋは変換係数である。
【００６９】
（数３）
ｂ＝ｖ÷ｐ×ｋ
【００７０】
例えば、ｖ＝１．０ｍ／ｓ、ｐ＝１．５ｍ／ｓ、ｋ＝１．５であるとすると、回転角度ｂは、上記数３より、１度（＝１．０÷１．５×１．５）と算出される。
【００７１】
その後、仮想空間補正部１２は、設定した回転角度の分（ｂ度）だけ仮想空間４０を回転させる。回転方向は、現実空間に合わせて適宜設定される。また、本実施の形態３では、移動速度ｖが１．５ｍ／ｓ程度であると、回転角度ｂは１度前後となる。つまり、本実施の形態３では、ユーザが知覚出来ない程度に仮想空間４０の回転が行われる。
【００７２】
［装置動作］
次に、本実施の形態３における情報処理装置の動作について図８を用いて説明する。図８は、本発明の実施の形態３における情報処理装置の動作を示すフロー図である。また、本実施の形態３では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、本実施の形態３における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【００７３】
まず、前提として、本実施の形態３においても、仮想空間構築部１３が、予めデータベース１４に登録されているオブジェクトを用いて、情報処理装置１０が備えるメモリのメモリ区間内に仮想空間を構築する。
【００７４】
図８に示すように、最初に、次に、情報検出部１１は、カメラ３０から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度ｖを検出する（ステップＢ１）。
【００７５】
次に、仮想空間補正部１２は、過去の進行速度ｖの算出結果を用いて、平均進行速度ｐを算出する（ステップＢ２）。そして、仮想空間補正部１２は、ステップＢ１で検出された進行速度ｖと、ステップＢ２で算出した平均進行速度ｐとを、上記数３に適用して、仮想空間４０の回転角度ｂを設定する（ステップＢ３）。
【００７６】
次に、仮想空間補正部１２は、ステップＢ３で設定された回転角度ｂの分だけ、仮想空間を水平面に沿って回転させる（ステップＢ４）。
【００７７】
ステップＢ４の実行後は、情報処理装置は、再度ステップＢ１を実行する。ステップＢ１〜Ｂ４は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【００７８】
［実施の形態３における効果］
以上のように、本実施の形態３では、情報処理装置は、ユーザが移動すると、進行速度に合わせて、ユーザが知覚しない程度に仮想空間の映像を補正する。この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって曲がって進んでしまう。よって、本実施の形態３でも、仮想空間より現実空間が狭い場合に、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、本実施の形態３における情報処理装置によっても、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【００７９】
［プログラム］
本実施の形態３におけるプログラムは、コンピュータに、図８に示すステップＣ１〜Ｃ６を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部１１、及び仮想空間補正部１２として機能し、処理を行なう。
【００８０】
また、本実施の形態３におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部１１、及び仮想空間補正部１２のいずれかとして機能しても良い。
【００８１】
（変形例）
ここで、上述した実施の形態１〜３における変形例について説明する。本変形例では、情報検出部１１は、ユーザの情報として、更に、ユーザの現実の空間における位置を検出する。具体的には、情報検出部１１は、カメラ３０から出力される画像データに基づいて、ユーザの現実の空間における位置を検出する。また、ヘッドマウントディスプレイ２０に、ＧＰＳ（Global Positioning System）受信機が搭載されている場合は、情報検出部１１は、ＧＰＳ受信機で検出されたＧＰＳ信号から、ユーザの現実の空間における位置を検出ることもできる。
【００８２】
そして、本変形例では、仮想空間補正部１２は、検出されたユーザの現実の空間における位置に応じて、仮想空間４０を回転させる際の回転角度を補正し、補正後の回転角度の分だけ仮想空間４０を回転させる。
【００８３】
具体的には、仮想空間補正部１２は、ユーザの現実の空間における位置から現実の空間の端までの距離、即ち、ユーザの現実の位置から現実空間において行動可能な範囲の境界までの距離を求める。そして、仮想空間補正部１２は、求めた境界までの距離が小さい程、上記数１〜数３で用いる変換係数の値を大きくする。この結果、現実空間による制約を、よりいっそう小さくすることができる。
【００８４】
（物理構成）
ここで、実施の形態１〜３におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図９を用いて説明する。図９は、本発明の実施の形態１〜３における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【００８５】
図９に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００８６】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８７】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８８】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８９】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００９０】
なお、本実施の形態における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００９１】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記２１）によって表現することができるが、以下の記載に限定されるものではない。
【００９２】
（付記１）
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備えていることを特徴とする情報処理装置。
【００９３】
（付記２）
付記１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記仮想空間補正部が、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【００９４】
（付記３）
付記２に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理装置。
【００９５】
（付記４）
付記１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記仮想空間補正部が、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【００９６】
（付記５）
付記１に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【００９７】
（付記６）
付記１〜５のいずれかに記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記仮想空間補正部が、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【００９８】
（付記７）
付記６に記載の情報処理装置であって、
前記仮想空間補正部が、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理装置。
【００９９】
（付記８）
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有することを特徴とする情報処理方法。
【０１００】
（付記９）
付記８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記（ｂ）のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【０１０１】
（付記１０）
付記９に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理方法。
【０１０２】
（付記１１）
付記８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記（ｂ）のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【０１０３】
（付記１２）
付記８に記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【０１０４】
（付記１３）
付記８〜１２のいずれかに記載の情報処理方法であって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記（ｂ）のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【０１０５】
（付記１４）
付記１３に記載の情報処理方法であって、
前記（ｂ）のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理方法。
【０１０６】
（付記１５）
コンピュータに、
（ａ）ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも１つを検出する、ステップと、
（ｂ）検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させるプログラム。
【０１０７】
（付記１６）
付記１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記（ｂ）のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【０１０８】
（付記１７）
付記１６に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とするプログラム。
【０１０９】
（付記１８）
付記１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記（ｂ）のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【０１１０】
（付記１９）
付記１５に記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記（ｂ）のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【０１１１】
（付記２０）
付記１５〜１９のいずれかに記載のプログラムであって、
前記（ａ）のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記（ｂ）のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【０１１２】
（付記２１）
付記２０に記載のプログラムであって、
前記（ｂ）のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とするプログラム。
【産業上の利用可能性】
【０１１３】
以上のように、本発明によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、
現実空間による制約をより小さくすることができる。本発明は、仮想現実を利用する、ゲーム、シミュレーション等の種々の分野に有用である。
【符号の説明】
【０１１４】
１０  情報処理装置
１１  情報検出部
１２  仮想空間補正部
１３  仮想空間構築部
１４  データベース
２０  ヘッドマウントディスプレイ
３０  カメラ
４０  仮想空間
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020071529.tif 000003
【図２】
2020071529.tif 000004
【図３】
2020071529.tif 000005
【図４】
2020071529.tif 000006
【図５】
2020071529.tif 000007
【図６】
2020071529.tif 000008
【図７】
2020071529.tif 000009
【図８】
2020071529.tif 000010
【図９】
2020071529.tif 000011