IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許7168207情報処理装置、情報処理方法、及びプログラム
<>
  • 特許-情報処理装置、情報処理方法、及びプログラム 図1
  • 特許-情報処理装置、情報処理方法、及びプログラム 図2
  • 特許-情報処理装置、情報処理方法、及びプログラム 図3
  • 特許-情報処理装置、情報処理方法、及びプログラム 図4
  • 特許-情報処理装置、情報処理方法、及びプログラム 図5
  • 特許-情報処理装置、情報処理方法、及びプログラム 図6
  • 特許-情報処理装置、情報処理方法、及びプログラム 図7
  • 特許-情報処理装置、情報処理方法、及びプログラム 図8
  • 特許-情報処理装置、情報処理方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20221101BHJP
   G06F 3/01 20060101ALI20221101BHJP
【FI】
G06T19/00 300B
G06F3/01 510
【請求項の数】 18
(21)【出願番号】P 2018203165
(22)【出願日】2018-10-29
(65)【公開番号】P2020071529
(43)【公開日】2020-05-07
【審査請求日】2021-09-06
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】森口 昌和
(72)【発明者】
【氏名】大塚 健一
【審査官】橋爪 正樹
(56)【参考文献】
【文献】国際公開第2016/002318(WO,A1)
【文献】特開2008-242251(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00-19/20
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備え
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記仮想空間補正部が、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記仮想空間補正部が、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度が高い程、前記角度が大きくなるように前記角度を設定する、
ことを特徴とする情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記仮想空間補正部が、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【請求項6】
請求項に記載の情報処理装置であって、
前記仮想空間補正部が、前記ユーザの現実の空間における位置から前記ユーザが前記現実の空間において行動可能な範囲の境界までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理装置。
【請求項7】
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有し、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記(b)のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項8】
請求項に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記(b)のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項9】
請求項に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度が高い程、前記角度が大きくなるように前記角度を設定する、
ことを特徴とする情報処理方法。
【請求項10】
請求項に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項11】
請求項に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記(b)のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【請求項12】
請求項1に記載の情報処理方法であって、
前記(b)のステップにおいて、前記ユーザの現実の空間における位置から前記ユーザが前記現実の空間において行動可能な範囲の境界までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理方法。
【請求項13】
コンピュータに、
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させ
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記(b)のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
プログラム。
【請求項14】
請求項1に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記(b)のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項15】
請求項1に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度が高い程、前記角度が大きくなるように前記角度を設定する、
ことを特徴とするプログラム。
【請求項16】
請求項1に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項17】
請求項1に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記(b)のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【請求項18】
請求項17に記載のプログラムであって、
前記(b)のステップにおいて、前記ユーザの現実の空間における位置から前記ユーザが前記現実の空間において行動可能な範囲の境界までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘッドマウントディスプレイを介してユーザに仮想現実を提供するための、情報処理装置及び情報処理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
近年、ヘッドマウントディスプレイ(HMD:Head Mounted Display)の低価格化が進んだことから、HMDと仮想現実(VR:Virtual Reality)とを利用したシステムの実用化が進んでいる。特に、非透過型のHMDによれば、VRにおいて、ユーザに没入感を提供でき、ユーザは、VRを実際の現実のように感じることができる。
【0003】
また、このようなHMDとVRとを利用したシステムの用途は、ゲームに限られず、シミュレーション、医療、エンターテインメント、自動車、広告、教育等、多岐に渡っている。
【0004】
ところで、仮想現実を体験しているユーザが見ている仮想空間の大きさと、ユーザが実際に存在している現実空間の大きさとは異なっている。このため、仮想現実では、仮想空間が広く、ユーザはどこまでも真っ直ぐ歩いて行けるように認識できても、実際は、ユーザは、現実の部屋の壁に当たり、行く手を阻まれてしまう。つまり、仮想空間内でユーザが実際に動ける範囲は、現実空間よって制約される。
【0005】
このような問題を解消するため、非特許文献1は、ユーザによるその場での足踏みによって、ユーザが仮想空間内を移動できるようにする技術を開示している。非特許文献1に開示された技術によれば、ユーザは現実空間において殆ど移動することがなく、現実空間による制約を受けることがない。
【0006】
また、非特許文献2及び3は、人の脳の錯覚を利用して、現実空間による制約を抑制する技術を開示している。具体的には、非特許文献2に開示された技術では、ヘッドマウントディスプレイに表示される映像、即ちユーザの視界を少しずつ回転させる。これにより、ユーザに対して、仮想空間内を真っ直ぐ歩いている感覚を与えつつ、現実空間では、曲がりながら歩かせることができる。このため、非特許文献2に開示された技術によれば、現実空間による制約を小さくすることができる。
【0007】
一方、非特許文献3に開示された技術では、ユーザの視界を回転させる代わりに、現実空間内に、円柱形状の壁を設置し、ユーザに、この壁の壁面をタッチさせながら歩かせることで、ユーザに対して、仮想空間内で真っ直ぐ歩いている感覚を与えている。この場合、ユーザは壁の周囲を移動するだけなので、非特許文献3に開示された技術によっても現実空間による制約を小さくすることができる。
【先行技術文献】
【非特許文献】
【0008】
【文献】針山拓人、大蔵典子著 「足踏みによる歩行間隔体感デバイスの開発(第5報)-3軸加速度を利用した歩行・足踏みの評価指標の検討-」、情報処理学会創立50周年記念(第72回)全国大会、2010年、p.4-409~4-410
【文献】「[必見]VR、触覚関連で人間の錯覚現象を利用した面白い研究5選」、[online]、2017年9月13日、リケナン、[2018年4月1日検索]、インターネット<URL:// http://rikediary.com/university/research/illlusion/#Redirected_Walking>
【文献】Katsue Nagakura著 「空間知覚をハックして、狭い室内を無限にまっすぐ歩き続ける「無限回廊」VR」、[online]、2016年5月20日、WIRED FEATURE、[2018年4月1日検索]、インターネット<URL:// https://wired.jp/2016/05/20/mystery-of-a-2500-year-old/>
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、非特許文献1に開示された技術では、現実空間による制約を殆どゼロとすることができるが、ユーザは、実際には歩いてはいないため、仮想現実と現実との間に違和感が生じるという問題がある。
【0010】
また、非特許文献2及び3に開示された技術では、回転半径(又は壁の曲率半径)が小さくなりすぎると、ユーザに真っ直ぐ歩いている感覚を与えることができないため、現実空間による制約の抑制には限度がある。加えて、特に非特許文献3に開示された技術では、円柱状の壁を設置する必要があり、非常にコストがかかってしまう。
【0011】
本発明の目的の一例は、上記問題を解消し、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくし得る、情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明の一側面における情報処理装置は、
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備えていることを特徴とする。
【0013】
また、上記目的を達成するため、本発明の一側面における情報処理方法は、
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有することを特徴とする。
【0014】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0015】
以上のように、本発明によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【図面の簡単な説明】
【0016】
図1図1は、本発明の実施の形態1における情報処理装置の概略構成を示すブロック図である。
図2図2は、本発明の実施の形態1における情報処理装置の構成を具体的に示すブロック図である。
図3図3(a)~(c)は、本発明の実施の形態1にて行われる仮想空間の回転角度の算出処理を説明する図であり、各図は一連の処理を示している。
図4図4は、本発明の実施の形態1にて行われる仮想空間の回転処理を説明する図である。
図5図5は、本発明の実施の形態1における情報処理装置の動作を示すフロー図である。
図6図6(a)及び(b)は、ユーザの視線の移動を説明する図であり、各図は一連の視線の移動を示している。
図7図7は、本発明の実施の形態2における情報処理装置の動作を示すフロー図である。
図8図8は、本発明の実施の形態3における情報処理装置の動作を示すフロー図である。
図9図9は、本発明の実施の形態1~3における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0017】
(実施の形態1)
以下、本発明の実施の形態1における、情報処理装置、情報処理方法、及びプログラムについて、図1図5を参照しながら説明する。
【0018】
[装置構成]
最初に、図1を用いて、本実施の形態1における情報処理装置の構成について説明する。図1は、本発明の実施の形態1における情報処理装置の概略構成を示すブロック図である。
【0019】
図1に示す、本実施の形態1における情報処理装置10は、ヘッドマウントディスプレイを介してユーザに仮想現実を提供する装置である。図1に示すように、情報処理装置10は、情報検出部11と、仮想空間補正部12とを備えている。
【0020】
情報検出部11は、ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する。仮想空間補正部12は、情報検出部11によって検出されたユーザの情報に基づいて、ヘッドマウントディスプレイに映し出される仮想空間を、仮想空間内でのユーザの位置を基準に、その水平面に沿って回転させる。
【0021】
このように、情報処理装置10は、ユーザの状況に応じて、ユーザを中心に仮想空間を回転させることができる。この結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって右又は左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。情報処理装置10によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【0022】
続いて、図2図5を用いて、本実施の形態1における情報処理装置の構成及び機能について具体的に説明する。図2は、本発明の実施の形態1における情報処理装置の構成を
具体的に示すブロック図である。図3(a)~(c)は、本発明の実施の形態1にて行われる仮想空間の回転角度の算出処理を説明する図であり、各図は一連の処理を示している。図4は、本発明の実施の形態1にて行われる仮想空間の回転処理を説明する図である。
【0023】
図2に示すように、本実施の形態1では、情報処理装置10は、ユーザが装着するヘッドマウントディスプレイ20と、ユーザの位置及び体の向きを検出するためのカメラ30とに接続されている。また、図2に示すように、情報処理装置10は、上述した情報検出部11及び仮想空間補正部12に加えて、仮想空間構築部13と、データベース14も備えている。
【0024】
ヘッドマウントディスプレイ20は、いわゆる、VR(Virtual Reality)ゴーグルであり、ユーザはこれを装着することにより、仮想現実に没入することができる。また、ヘッドマウントディスプレイ20は、それ自体の動きを検出するモーションセンサを備えている。モーションセンサは、加速度センサ及び角速度センサで構成されており、ヘッドマウントディスプレイ20の動き及び向きを特定する信号を出力する。ヘッドマウントディスプレイ20及びそれに用いられるセンサは、特に限定されるものではない。本実施の形態では、将来開発される種々のVRゴーグル及びセンサを用いることができる。
【0025】
仮想空間構築部13は、予めデータベース14に登録されているオブジェクトを用いて、情報処理装置10が備えるメモリ(図2において図示せす)のメモリ区間内に仮想空間を構築する。また、仮想空間構築部15は、構築した仮想空間内に、ユーザを表すオブジェクト(以下「ユーザオブジェクト」と表記する)も配置し、ヘッドマウントディスプレイ20の画面には、ユーザオブジェクトを視点とした仮想空間内の映像を表示する。
【0026】
情報検出部11は、本実施の形態1では、ユーザの情報として、ユーザの体の正面の向き及び顔の向きを検出する。具体的には、情報検出部11は、例えば、ヘッドマウントディスプレイ20に取り付けられているモーションセンサからのセンサ信号を取得し、センサ信号に基づいて、ヘッドマウントディスプレイ20の向きを検出し、これをユーザの顔の向きとする。なお、ヘッドマウントディスプレイ20の向きとは、例えば、正面部分(ディスプレイの背面側の部分)の向きであり、それを装着するユーザの顔の向きと一致する向きである。
【0027】
また、情報検出部11は、例えば、カメラ30から設定間隔をおいて出力される画像データを取得し、取得した画像データからユーザの画像を検出し、検出した画像を分析することによって、ユーザの体の向きを検出する。なお、画像分析による検出手法としては、既存の手法が上げられる。また、ユーザの体の向きとは、例えば、ユーザの胸の向きを言う(図3(a)~(c)参照)。なお、情報検出部11による情報の検出は、上記以外のセンサ、例えば、赤外線センサ、ジャイロセンサ等を利用して行われても良い。
【0028】
図3(a)及び(b)に示すように、ユーザの体の正面の向きと顔の向きとが一致している状態から、ユーザが顔を横に向けて、両者が一致していない状態になったとする。この場合、本実施の形態1では、仮想空間補正部12は、両者の差分に基づいて、仮想空間40を回転させる際の角度(以下「回転角度」と表記する。)を設定する。具体的には、図3(b)に示すように用に、体の正面の向きと顔の向きとの差分がa度であるとすると、仮想空間補正部12は、下記の数1を用いて、回転角度bを算出する。下記の数1において、kは変換係数である。
【0029】
(数1)
b=a×k
【0030】
例えば、a=60度、k=0.1であるとすると、回転角度bは、上記数1より、6度(=60×0.1)と算出される。
【0031】
その後、仮想空間補正部12は、設定した角度の分(b度)だけ仮想空間40を回転させる。具体的は、図3(c)に示すように、仮想空間補正部12は、ユーザが顔の向きを横に向けると、仮想空間40を徐々に回転させ、最終的には、元の状態よりも左にb度回転させた状態の仮想空間40が、ヘッドマウントディスプレイの画面に表示される。
【0032】
この結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。
【0033】
また、本実施の形態1において、情報検出部11は、ユーザの情報として、更に、ユーザの進行速度を検出することもできる。具体的には、情報検出部11は、例えば、カメラ30から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度を算出する。この場合、仮想空間補正部12は、進行速度が高い程、上記数1のk値を大きくする。この結果、進行速度が高い程、回転角度bの値が大きくなるので、より確実に、現実空間による制約を抑制できる。なお、情報検出部11による進行速度の検出は、画像データ以外のデータ、例えば、加速度センサのセンサデータ等を利用して行われても良い。
【0034】
また、本実施の形態1では、仮想空間補正部12は、仮想空間40を、その水平面に沿って回転させる。具体的には、図4に示すように、仮想空間構築部13によって、仮想空間40が構築され、更に、座標軸として、仮想空間の水平面においてx軸及びy軸が設定され、高さ方向に沿ってz軸が設定されている。この場合において、仮想空間補正部12は、水平面に沿って、即ち、z軸に並行な軸を回転軸として、仮想空間40を回転させる。図4において、40’は、回転後の仮想空間を示している。
【0035】
[装置動作]
次に、本実施の形態1における情報処理装置10の動作について図5を用いて説明する。図5は、本発明の実施の形態1における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図1図4を参酌する。また、本実施の形態1では、情報処理装置10を動作させることによって、情報処理方法が実施される。よって、本実施の形態1における情報処理方法の説明は、以下の情報処理装置10の動作説明に代える。
【0036】
まず、前提として、仮想空間構築部13が、予めデータベース14に登録されているオブジェクトを用いて、情報処理装置10が備えるメモリのメモリ区間内に仮想空間を構築する。
【0037】
図5に示すように、最初に、情報検出部11は、ヘッドマウントディスプレイ20に取り付けられているモーションセンサからのセンサ信号と、カメラ30が出力する画像データとを取得し、これらを用いて、ユーザの体の正面の向き及び顔の向きを検出する(ステップA1)。
【0038】
次に、仮想空間補正部12は、ユーザの体の正面の向きと顔の向きとが一致していないかどうかを判定する(ステップA2)。ステップA2の判定の結果、両者が一致している場合は、再度ステップA1が実行される。
【0039】
一方、ステップA2の判定の結果、両者が一致していない場合は、仮想空間補正部12は、両者の差分aを算出し、算出した差分aを上記数1に適用して、仮想空間40の回転
角度bを設定する(ステップA3)。
【0040】
次に、仮想空間補正部12は、ステップA3で設定された回転角度bの分だけ、仮想空間を水平面に沿って回転させる(ステップA4)。
【0041】
ステップA4の実行後は、情報処理装置10は、再度ステップA1を実行する。ステップA1~A4は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【0042】
[実施の形態1における効果]
以上のように、情報処理装置10は、ユーザが顔を横に向けると、顔の向きと体の正面の向きとの差分に応じて、仮想空間の映像を補正する。例えば、ユーザが進行方向に対して顔を右に10度ひねると、情報処理装置は、元の位置よりも左に回転させた映像をヘッドマウントディスプレイ20に表示させる。
【0043】
この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、仮想空間より現実空間が狭い場合であっても、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、情報処理装置10によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【0044】
[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図5に示すステップA1~A4を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1における情報処理装置10と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部11、及び仮想空間補正部12として機能し、処理を行なう。
【0045】
また、本実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部11、及び仮想空間補正部12のいずれかとして機能しても良い。
【0046】
(実施の形態2)
次に、本発明の実施の形態2における、情報処理装置、情報処理方法、及びプログラムについて、図6及び図7を参照しながら説明する。
【0047】
[装置構成]
まず、本実施の形態2における情報処理装置は、図1及び図2に示した実施の形態1における情報処理装置10と同様の構成を有している。このため、以降の説明では、適宜図1及び図2を参照する。但し、本実施の形態2における情報処理装置は、情報検出部11及び仮想空間補正部12の機能の点で、実施の形態1における情報処理装置10と異なっている。以下、相違点を中心に説明する。
【0048】
まず、本実施の形態2では、ヘッドマウントディスプレイ20は、顔を装着する側に、視線追跡用のカメラを搭載しており、このカメラによって、ヘッドマウントディスプレイ20を装着しているユーザの視線を追跡することができる。また、ヘッドマウントディスプレイ20は、追跡した視線の座標を特定する信号を出力することができる。このため、情報検出部11は、本実施の形態2では、ユーザの情報として視線を検出する。
【0049】
仮想空間補正部12は、本実施の形態2では、まず、情報検出部11によって検出された視線から、ヘッドマウントディスプレイ20の画面上における視線の移動距離を算出する。具体的には、図6(a)及び(b)に示すように、仮想空間補正部12は、画面の水平方向における視線の移動距離を算出する。図6(a)及び(b)は、ユーザの視線の移動を説明する図であり、各図は一連の視線の移動を示している。
【0050】
次に、仮想空間補正部12は、算出した移動距離に基づいて、仮想空間40を回転させる際の回転角度bを設定する。例えば、ユーザの視野角をm度、単位時間(例えば1秒間)当たりの視線の移動距離をD、画面の水平方向における長さをnとすると、仮想空間補正部12は、下記の数2を用いて、回転角度bを算出する。なお、下記の数2においても、kは変換係数である。
【0051】
(数2)
b=D×m÷n×k
【0052】
例えば、D=80mm、m=120度、n=300mm、k=0.1であるとすると、回転角度bは、上記数2より、3.2度(=80×120÷300×0.1)と算出される。
【0053】
その後、仮想空間補正部12は、設定した回転角度の分(b度)だけ仮想空間40を回転させる。このため、例えば、ユーザが視線を右に動かすと、仮想空間の映像は元の状態よりも左に回転される。結果、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。
【0054】
[装置動作]
次に、本実施の形態2における情報処理装置の動作について図7を用いて説明する。図7は、本発明の実施の形態2における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図6を参酌する。また、本実施の形態2では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、本実施の形態2における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【0055】
まず、前提として、本実施の形態2においても、仮想空間構築部13が、予めデータベース14に登録されているオブジェクトを用いて、情報処理装置10が備えるメモリのメモリ区間内に仮想空間を構築する。
【0056】
図7に示すように、最初に、次に、情報検出部11は、ヘッドマウントディスプレイ20に取り付けられている視線追跡用のカメラが出力する視線の座標を特定する信号を取得し、これらを用いて、ユーザの視線を検出する(ステップB1)。
【0057】
次に、仮想空間補正部12は、ユーザの視線が水平方向において移動しているかどうかを判定する(ステップB2)。なお、仮想空間補正部12は、視線の移動距離が閾値以上である場合、即ち、視線の移動距離が微少でない場合にのみ、YESと判定することもできる。
【0058】
ステップA2の判定の結果、ユーザの視線が水平方向において移動していない場合は、再度ステップA1が実行される。一方、ステップA2の判定の結果、ユーザの視線が水平方向において移動している場合は、仮想空間補正部12は、視線の移動距離Dを上記数2に適用して、仮想空間40の回転角度bを設定する(ステップB3)。
【0059】
次に、仮想空間補正部12は、ステップB3で設定された回転角度bの分だけ、仮想空
間を水平面に沿って回転させる(ステップB4)。
【0060】
ステップB4の実行後は、情報処理装置は、再度ステップB1を実行する。ステップB1~B4は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【0061】
[実施の形態2における効果]
以上のように、本実施の形態2では、情報処理装置は、ユーザが視線を横に向けると、視線の移動距離に応じて、仮想空間の映像を補正する。例えば、ユーザが進行方向に対して視線を右に移動させると、情報処理装置は、左に回転させた映像をヘッドマウントディスプレイ20に表示させる。
【0062】
この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって左に曲がって進んでしまう。よって、本実施の形態2でも、仮想空間より現実空間が狭い場合に、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、本実施の形態2における情報処理装置によっても、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【0063】
[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図7に示すステップB1~B4を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2における情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部11、及び仮想空間補正部12として機能し、処理を行なう。
【0064】
また、本実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部11、及び仮想空間補正部12のいずれかとして機能しても良い。
【0065】
(実施の形態3)
次に、本発明の実施の形態3における、情報処理装置、情報処理方法、及びプログラムについて、図8を参照しながら説明する。
【0066】
[装置構成]
まず、本実施の形態3における情報処理装置は、図1及び図2に示した実施の形態1における情報処理装置10と同様の構成を有している。このため、以降の説明では、適宜図1及び図2を参照する。但し、本実施の形態3における情報処理装置は、情報検出部11及び仮想空間補正部12の機能の点で、実施の形態1における情報処理装置10と異なっている。以下、相違点を中心に説明する。
【0067】
本実施の形態3では、情報検出部11は、ユーザの情報として、ユーザの進行速度のみを検出する。具体的には、情報検出部11は、実施の形態1でも述べたように、例えば、カメラ30から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度を算出する。
【0068】
また、仮想空間補正部12は、本実施の形態3では、検出されたユーザの進行速度に基づいて仮想空間を回転させる際の回転角度bを設定する。具体的には、仮想空間補正部12は、ユーザの進行速度をvとすると、その時系列変化から、進行速度の平均値(平均進行速度)pを求め、これらを下記の数3に代入して、回転角度bを算出する。なお、下記
の数3においても、kは変換係数である。
【0069】
(数3)
b=v÷p×k
【0070】
例えば、v=1.0m/s、p=1.5m/s、k=1.5であるとすると、回転角度bは、上記数3より、1度(=1.0÷1.5×1.5)と算出される。
【0071】
その後、仮想空間補正部12は、設定した回転角度の分(b度)だけ仮想空間40を回転させる。回転方向は、現実空間に合わせて適宜設定される。また、本実施の形態3では、移動速度vが1.5m/s程度であると、回転角度bは1度前後となる。つまり、本実施の形態3では、ユーザが知覚出来ない程度に仮想空間40の回転が行われる。
【0072】
[装置動作]
次に、本実施の形態3における情報処理装置の動作について図8を用いて説明する。図8は、本発明の実施の形態3における情報処理装置の動作を示すフロー図である。また、本実施の形態3では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、本実施の形態3における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【0073】
まず、前提として、本実施の形態3においても、仮想空間構築部13が、予めデータベース14に登録されているオブジェクトを用いて、情報処理装置10が備えるメモリのメモリ区間内に仮想空間を構築する。
【0074】
図8に示すように、最初に、次に、情報検出部11は、カメラ30から出力される画像データに基づいて、ユーザの位置の時系列変化を特定し、特定した時系列変化からユーザの進行速度vを検出する(ステップB1)。
【0075】
次に、仮想空間補正部12は、過去の進行速度vの算出結果を用いて、平均進行速度pを算出する(ステップB2)。そして、仮想空間補正部12は、ステップB1で検出された進行速度vと、ステップB2で算出した平均進行速度pとを、上記数3に適用して、仮想空間40の回転角度bを設定する(ステップB3)。
【0076】
次に、仮想空間補正部12は、ステップB3で設定された回転角度bの分だけ、仮想空間を水平面に沿って回転させる(ステップB4)。
【0077】
ステップB4の実行後は、情報処理装置は、再度ステップB1を実行する。ステップB1~B4は、ユーザがヘッドマウントディスプレイを用いて仮想現実を体験している間、繰り返し実行される。
【0078】
[実施の形態3における効果]
以上のように、本実施の形態3では、情報処理装置は、ユーザが移動すると、進行速度に合わせて、ユーザが知覚しない程度に仮想空間の映像を補正する。この場合、ユーザは、真っ直ぐ進んでいるつもりでも、映像による錯覚によって曲がって進んでしまう。よって、本実施の形態3でも、仮想空間より現実空間が狭い場合に、ユーザは現実空間による制約を受けることなく、仮想空間内を行動することができる。つまり、本実施の形態3における情報処理装置によっても、仮想現実と現実との間の違和感の発生を抑制しつつ、現実空間による制約をより小さくすることができる。
【0079】
[プログラム]
本実施の形態3におけるプログラムは、コンピュータに、図8に示すステップC1~C6を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2における情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報検出部11、及び仮想空間補正部12として機能し、処理を行なう。
【0080】
また、本実施の形態3におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報検出部11、及び仮想空間補正部12のいずれかとして機能しても良い。
【0081】
(変形例)
ここで、上述した実施の形態1~3における変形例について説明する。本変形例では、情報検出部11は、ユーザの情報として、更に、ユーザの現実の空間における位置を検出する。具体的には、情報検出部11は、カメラ30から出力される画像データに基づいて、ユーザの現実の空間における位置を検出する。また、ヘッドマウントディスプレイ20に、GPS(Global Positioning System)受信機が搭載されている場合は、情報検出部11は、GPS受信機で検出されたGPS信号から、ユーザの現実の空間における位置を検出ることもできる。
【0082】
そして、本変形例では、仮想空間補正部12は、検出されたユーザの現実の空間における位置に応じて、仮想空間40を回転させる際の回転角度を補正し、補正後の回転角度の分だけ仮想空間40を回転させる。
【0083】
具体的には、仮想空間補正部12は、ユーザの現実の空間における位置から現実の空間の端までの距離、即ち、ユーザの現実の位置から現実空間において行動可能な範囲の境界までの距離を求める。そして、仮想空間補正部12は、求めた境界までの距離が小さい程、上記数1~数3で用いる変換係数の値を大きくする。この結果、現実空間による制約を、よりいっそう小さくすることができる。
【0084】
(物理構成)
ここで、実施の形態1~3におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図9を用いて説明する。図9は、本発明の実施の形態1~3における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【0085】
図9に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
【0086】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0087】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0088】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0089】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0090】
なお、本実施の形態における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0091】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記21)によって表現することができるが、以下の記載に限定されるものではない。
【0092】
(付記1)
ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、情報検出部と、
検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、仮想空間補正部と、
を備えていることを特徴とする情報処理装置。
【0093】
(付記2)
付記1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記仮想空間補正部が、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【0094】
(付記3)
付記2に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理装置。
【0095】
(付記4)
付記1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記仮想空間補正部が、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【0096】
(付記5)
付記1に記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、前記進行速度を検出し、
前記仮想空間補正部が、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【0097】
(付記6)
付記1~5のいずれかに記載の情報処理装置であって、
前記情報検出部が、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記仮想空間補正部が、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理装置。
【0098】
(付記7)
付記6に記載の情報処理装置であって、
前記仮想空間補正部が、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理装置。
【0099】
(付記8)
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を有することを特徴とする情報処理方法。
【0100】
(付記9)
付記8に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記(b)のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【0101】
(付記10)
付記9に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とする情報処理方法。
【0102】
(付記11)
付記8に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記(b)のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【0103】
(付記12)
付記8に記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【0104】
(付記13)
付記8~12のいずれかに記載の情報処理方法であって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記(b)のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とする情報処理方法。
【0105】
(付記14)
付記13に記載の情報処理方法であって、
前記(b)のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とする情報処理方法。
【0106】
(付記15)
コンピュータに、
(a)ヘッドマウントディスプレイを装着したユーザの情報として、進行速度、体の正面の向き、顔の向き、及び視線のうちの少なくとも1つを検出する、ステップと、
(b)検出された前記ユーザの情報に基づいて、前記ヘッドマウントディスプレイに映し出される仮想空間を、前記仮想空間内での前記ユーザの位置を基準に、その水平面に沿って回転させる、ステップと、
を実行させるプログラム。
【0107】
(付記16)
付記15に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記顔の向きを検出し、
前記(b)のステップにおいて、前記体の正面の向きと前記顔の向きとが一致しない場合に、両者の差分に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【0108】
(付記17)
付記16に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度が高い程、値が大きくなるように前記角度を設定する、
ことを特徴とするプログラム。
【0109】
(付記18)
付記15に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、前記体の正面の向き及び前記視線を検出し、
前記(b)のステップにおいて、検出された前記視線から、前記ヘッドマウントディスプレイの画面上における前記視線の移動距離を算出し、算出した前記移動距離に基づいて、前記仮想空間を回転させる際の角度を設定し、その後、前記ユーザが前記視線の位置を基準位置に戻す際に、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【0110】
(付記19)
付記15に記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、前記進行速度を検出し、
前記(b)のステップにおいて、前記進行速度に基づいて、前記仮想空間を回転させる際の角度を設定し、設定した前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【0111】
(付記20)
付記15~19のいずれかに記載のプログラムであって、
前記(a)のステップにおいて、前記ユーザの情報として、更に、前記ユーザの現実の空間における位置を検出し、
前記(b)のステップにおいて、検出された前記ユーザの現実の空間における位置に応じて、前記仮想空間を回転させる際の角度を補正し、補正後の前記角度の分だけ前記仮想空間を回転させる、
ことを特徴とするプログラム。
【0112】
(付記21)
付記20に記載のプログラムであって、
前記(b)のステップにおいて、前記ユーザの現実の空間における位置から前記現実の空間の端までの距離を求め、求めた前記距離が小さい程、前記仮想空間を回転させる際の角度が大きくなるように補正する、
ことを特徴とするプログラム。
【産業上の利用可能性】
【0113】
以上のように、本発明によれば、仮想現実と現実との間の違和感の発生を抑制しつつ、
現実空間による制約をより小さくすることができる。本発明は、仮想現実を利用する、ゲーム、シミュレーション等の種々の分野に有用である。
【符号の説明】
【0114】
10 情報処理装置
11 情報検出部
12 仮想空間補正部
13 仮想空間構築部
14 データベース
20 ヘッドマウントディスプレイ
30 カメラ
40 仮想空間
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9