(57)【特許請求の範囲】
【請求項１】
実空間内で基準となる対象物の位置である実空間基準位置を取得する第１の取得手段と、
実空間内の所定対象物に関する対象点の、実空間内での前記実空間基準位置に対する移動量を検出する検出手段と、
仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算して、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、
を有し、
前記設定手段は、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に、予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算する設定手段であり、
前記設定手段により設定された仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられる情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記所定対象物は、実空間内でユーザとともに移動する対象物である情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記所定対象物は、実空間内のユーザの足である情報処理装置。
【請求項４】
請求項２または３記載の情報処理装置であって、
前記実空間内で基準となる対象物はユーザの所定の部位に対応する対象物であり、
前記設定手段は、当該ユーザの所定の部位に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を求めるとともに、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記求めたユーザの所定の部位に対応する仮想的なオブジェクトの位置と、前記検出した対象点の移動量に、予め定めた係数を乗じて演算した値とに基づいて演算し、前記所定対象物に対応する仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して、仮想的な空間の情報を設定する情報処理装置。
【請求項５】
請求項１から４のいずれか一項に記載の情報処理装置であって、
前記ユーザとともに移動する前記所定対象物は、ユーザの身体の一部である情報処理装置。
【請求項６】
請求項１から５のいずれか一項に記載の情報処理装置であって、
前記第１の取得手段は、実空間内でのユーザの所定の注目部位を、実空間内で基準となる対象物として、その位置の情報を実空間基準位置として取得しており、
前記第１の取得手段が取得した実空間基準位置を用いて、ユーザとともに移動する所定対象物上に設定した対象点の前記実空間基準位置からの相対位置座標を取得する第２の取得手段と、
を有し、
前記仮想的な空間の情報を設定する設定手段は、ユーザに対応する仮想的なオブジェクトの前記仮想的な空間内の位置及び前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記第１の取得手段が取得した当該ユーザの所定の注目部位の位置の情報と、前記第２の取得手段が取得した相対位置座標と、前記検出した対象点の移動量に予め定めた係数を乗じた値とを用いて演算する情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記第１の取得手段は、ユーザが装着するデバイスの実空間内での位置を検出して、実空間内でのユーザの位置の情報を取得する情報処理装置。
【請求項８】
請求項６または７に記載の情報処理装置であって、
前記第１の取得手段はさらに、ユーザの姿勢の情報を取得し、
前記設定手段は、前記ユーザに対応する仮想的なオブジェクトの態様を、当該取得したユーザの姿勢の情報に基づいて設定する情報処理装置。
【請求項９】
請求項６から８のいずれか一項に記載の情報処理装置であって、
実空間内の実オブジェクトの位置を表す情報を取得する手段をさらに有し、
前記設定手段は、当該実オブジェクトに対応する仮想オブジェクトを仮想空間内に配置する処理を行い、当該実オブジェクトの実空間内の位置に対応する仮想空間内の座標を、前記移動量に係る予め定めた係数を用いて演算する情報処理装置。
【請求項１０】
コンピュータを用い、
第１の取得手段が実空間内で基準となる対象物の位置である実空間基準位置を取得し、
検出手段が、実空間内の所定対象物に関する対象点の実空間内での前記実空間基準位置に対する移動量を検出し、
前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算し、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段が、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に、予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算し、
当該仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられる情報処理方法。
【請求項１１】
コンピュータを、
実空間内で基準となる対象物の位置である実空間基準位置を取得する第１の取得手段と、
実空間内の所定対象物に関する対象点の、実空間内での前記実空間基準位置に対する移動量を検出する検出手段と、
仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算して、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、
として機能させ、前記設定手段として機能させる際に、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に、予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算させ、前記設定手段により設定された仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年ではヘッドマウントディスプレイ等、仮想的な三次元空間（以下、単に仮想空間と呼ぶ）内の画像を表示するデバイスが広く用いられるようになっている。また、こうした仮想空間内のオブジェクトの動きを、ユーザの動きに応じて決定することで、仮想空間内のキャラクタとして動き、当該キャラクタを制御するといった体験を、ユーザに提供する技術も開発されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の技術では、ユーザの移動も、手の動きも、同じ比率の移動量として仮想空間内のオブジェクトの動きに反映されるため、ユーザに提示できる感覚が限られていた。【０００４】
本発明は上記実情に鑑みて為されたもので、より多様な体験を提示できる情報処理装置、情報処理方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００５】
上記従来例の問題点を解決する本発明は、情報処理装置であって、実空間内の所定対象物に関する対象点の実空間内での移動量を検出する検出手段と、仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算し、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、を有し、当該仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられることとしたものである。
【発明の効果】
【０００６】
本発明によると、ユーザに対してより多様な体験を提示できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係る情報処理装置の構成の例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置に接続される表示装置の例を表す構成ブロック図である。
【図３】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図４】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【発明を実施するための形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置１は、例えばサーバコンピュータであり、図１に例示するように、制御部１１と、記憶部１２と、操作受入部１３と、通信部１４とを含んで構成される。またこの情報処理装置１は、ユーザが頭部に装着するヘッドマウントディスプレイ（ＨＭＤ）などの表示装置２との間で通信可能に接続されている。
【０００９】
本実施の形態においてユーザが頭部に装着する表示装置２の一例は、ユーザが頭部に装着して使用する表示デバイスであって、図２に例示するように、制御部２１と、通信部２２と、撮像部２３と、表示部２４とを含む。ここでの例では表示装置２の制御部２１は、マイクロコンピュータ等のプログラム制御デバイスであって、内蔵する記憶部等の図示しないメモリ等に格納されたプログラムに従って動作し、情報処理装置１から通信部２２を介して入力される情報に応じた映像を表示部２４に表示させて、ユーザに閲覧させる。
【００１０】
通信部２２は、有線または無線にて情報処理装置１との間で通信可能に接続される。この通信部２２は、後に述べる撮像部２３が撮像した画像データを、情報処理装置１へ送出する。またこの通信部２２は、情報処理装置１から表示装置２宛に送信された情報を、制御部２１に出力する。
【００１１】
撮像部２３は、カメラ等であり、ユーザの前方（頭部前方）の所定視野内の実空間の画像を繰り返し撮像し、撮像して得た画像データを、通信部２２を介して情報処理装置１へ送出する。
【００１２】
表示部２４は、ユーザの右目と左目とのそれぞれの目の前に、それぞれの目に対応した映像を表示するものとする。この表示部２４は、有機ＥＬ表示パネルや液晶表示パネルなどの表示素子を含む。この表示素子が制御部２１から入力される指示に従って映像を表示する。この表示素子は、左目用の映像と右目用の映像とを一列に並べて表示する１つの表示素子であってもよいし、左目用の映像と右目用の映像とをそれぞれ独立に表示する一対の表示素子であってもよい。なお、本実施形態においてこの表示装置２は、ユーザが外界の様子を視認することができない非透過型の表示装置であるものとする。
【００１３】
また情報処理装置１の制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されているプログラムを実行する。本実施の形態では、この制御部１１は、実空間内でのユーザの位置の情報を取得し、また、取得した位置を実空間基準位置として、ユーザとともに移動する所定対象物の実空間基準位置からの相対位置座標を取得する。制御部１１は、さらに、ユーザに対応する仮想的なオブジェクトの仮想的な空間内の位置及び、所定対象物に対応する仮想的なオブジェクトの仮想的な空間内の位置を演算する。この演算は、先に取得した当該ユーザの位置の情報と、相対位置座標とを用いて行われる。そして制御部１１は、仮想的なオブジェクトを、仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する処理を実行する。また制御部１１は、仮想空間内の所定の位置に配した仮想的なカメラの視野内の仮想的なオブジェクトをレンダリングして、画像データを生成する。制御部１１は、生成した画像データをユーザの表示装置２に対して、通信部１４を介して出力する。この制御部１１の詳しい動作については、後に述べる。
【００１４】
記憶部１２は、ＲＡＭ等のメモリデバイスやディスクデバイス等であり、制御部１１が実行するプログラムを格納する。また、この記憶部１２は制御部１１のワークメモリとしても動作し、制御部１１がプログラム実行の過程で使用するデータを格納する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部１２に格納されたものであってもよい。
【００１５】
操作受入部１３は、図示しない操作デバイスからユーザの指示操作を有線または無線にて受け入れる。ここで操作デバイスは例えば、家庭用ゲーム機のコントローラ等である。操作受入部１３は操作デバイスに対してユーザが行った指示操作の内容を表す情報を制御部１１に出力する。なお、本実施の形態では、ユーザは必ずしも操作デバイスを操作する必要はない。この場合、操作受入部１３は、ユーザを撮像して、ユーザの手の動き等を検出し、当該手の動き等の情報を、操作の内容を表す情報として制御部１１に出力してもよい。
【００１６】
通信部１４は、有線または無線にてユーザの表示装置２との間で通信可能に接続される。この通信部１４は、表示装置２が出力する画像データを受信して、制御部１１へ送出する。またこの通信部１４は、制御部１１から表示装置２宛に送信する画像データを含む情報を受け入れて、当該情報を、表示装置２に出力する。
【００１７】
ここで情報処理装置１の制御部１１の動作について説明する。本実施の形態の制御部１１は、一例として図３に例示するように、実基準位置取得部３１と、相対位置取得部３２と、移動量検出部３３と、仮想基準位置演算部３４と、仮想相対位置演算部３５と、仮想オブジェクト配置処理部３６と、レンダリング処理部３７と、出力部３８とを機能的に含んで構成される。
【００１８】
実基準位置取得部３１は、実空間内でのユーザの所定の注目部位の位置及び姿勢の情報を取得する。具体的にこの実基準位置取得部３１は、表示装置２が出力する、撮像部２３にて撮像された画像データに基づいて、実空間内でのユーザの注目部位としての頭部の位置の情報を、実基準位置情報として取得する。このように画像データに基づいて位置や向きを推定して取得する処理は、オドメトリあるいは、ＳＬＡＭ（Simultaneously Localization And Mapping）等の方法として広く知られているので、ここでの詳しい説明を省略する。
【００１９】
この実基準位置取得部３１は、実基準位置情報として、例えばユーザの頭部の実空間内での座標（実空間内の所定の基準点を原点とした実空間でのワールド座標系での座標の値）の情報Ｐ（ｘｈ，ｙｈ，ｚｈ）と、当該ユーザの頭部の実空間内での向きの情報とを得る。
【００２０】
この実基準位置取得部３１が、この例では本発明の第１の取得手段に相当する。ここで実空間でのワールド座標系は、実空間内でユーザが移動する範囲（床面は平面であるものとする）において、床面をＸＹ平面とし、床面からの高さをＺ軸とした直交座標系である。またこの直交座標系では、上記床面内に仮想的に設定した所定の軸方向（例えば東西方向）をＸ軸、これに直交する床面内の軸方向をＹ軸方向（Ｘ軸を東西方向とすれば、Ｙ軸は南北方向となる）とする。
【００２１】
相対位置取得部３２は、実基準位置取得部３１が取得した実基準位置情報を用い、ユーザとともに移動する所定対象物に関する点（対象点）の実空間基準位置からの相対位置座標を取得する。本発明の一例では、この所定対象物は、ユーザの身体の所定部位（実基準位置情報で特定される部位（注目部位）とした部分（ここでの例では頭部）を除く）であるものとする。具体的に、所定対象物に関する対象点は、所定対象物とともに移動する点であればどこでもよいが、例えば所定対象物上に設定されてもよく、以下の説明ではユーザの足の中心とする。この例では、ユーザは例えば足に、床面からの高さ（実空間でのワールド座標系でのＺ軸座標値）を検出するセンサを取り付けておくものとする。情報処理装置１の制御部１１は、このセンサからユーザの足の中心位置（以下、単に足の位置と記述する）の情報Ｑ（ｘｆ，ｙｆ，ｚｆ）を取得するものとする。
【００２２】
相対位置取得部３２は、実基準位置情報が表すユーザの頭部の実空間内での座標Ｐ（ｘｈ，ｙｈ，ｚｈ）と、このユーザの足の位置の情報Ｑ（ｘｆ，ｙｆ，ｚｆ）との相対的な位置Ｑ′（ｘｆ−ｘｈ，ｙｆ−ｙｈ，ｚｆ−ｚｈ）を求める。この相対位置取得部３２が本発明の第２の取得手段に相当する。
【００２３】
移動量検出部３３は、相対位置取得部３２が取得した情報に基づいて、上記所定対象物上の対象点の、予め定められた初期位置からの移動量を求める。一例としてここでの初期位置は足の位置のある床面上から一定の高さの位置ｚｆ０とし、移動量を、この高さｚｆ０の位置から、相対位置取得部３２が取得したユーザの足の位置の情報Ｑ（ｘｆ，ｙｆ，ｚｆ）が表す現在の足の床面からの高さｚｆまでの距離ΔＱ＝ｚｆ−ｚｆ０として演算する。
【００２４】
仮想基準位置演算部３４は、実基準位置取得部３１から実基準位置情報Ｐの入力を受け入れる。また、仮想基準位置演算部３４は、相対位置取得部３２から相対的な位置Ｑ′の情報の入力を受け入れる。さらにこの仮想基準位置演算部３４は、移動量検出部３３から移動量ΔＱの入力を受け入れる。
【００２５】
仮想基準位置演算部３４は、これら入力された情報に基づき、仮想的な空間内のユーザの基準位置を演算する。本実施の形態のここでの例では、この仮想基準位置演算部３４は、相対位置取得部３２が取得した相対的な位置Ｑ′と、実基準位置情報Ｐとを加算してユーザの足の実空間でのワールド座標系での位置座標Ｑ（ｘｆ，ｙｆ，ｚｆ）を得る。仮想基準位置演算部３４は、この座標Ｑに対応する仮想空間中の位置座標（仮想空間のワールド座標系（ξ，η，ζ直交座標系とする）の座標の値）の仮の値を次のように演算する：
ξｆ＝α・ｘｆ
ηｆ＝α・ｙｆ
ζｆ＝α・ｚｆ
ここでαは、仮想空間と実空間との座標系の大きさの比であり、α＝１でもよい。
【００２６】
さらに仮想基準位置演算部３４は、ここで求めた位置座標の仮の値に、移動量に基づく値を加算して、ユーザの足の仮想空間のワールド座標系での座標の値を求める。本実施の形態のここでの例では、移動量はＺ軸（仮想空間でのζ軸）方向（床面からの高さ方向）に限られるので、仮想基準位置演算部３４は、ζ軸方向の値に、移動量に予め定めた係数（ｎとする）を乗じた値を加算する。すなわち、ユーザの足に対応する仮想的なオブジェクトの位置の情報を、
ξｆ＝α・ｘｆ
ηｆ＝α・ｙｆ
ζｆ＝α・ｚｆ＋ｎ・ΔＱ＝α・ｚｆ＋ｎ・ｚｆ−ｎ・ｚｆ０
とする。仮想基準位置演算部３４は、ここで演算したこの位置の情報が表す座標の値を、仮想的なオブジェクトの位置を表す仮想基準位置の座標の値とする。
【００２７】
仮想相対位置演算部３５は、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位）の位置座標を求める。具体的に、この仮想相対位置演算部３５は、所定対象物に関する対象点である足を基準とした、実基準位置情報で特定される部位である頭部への仮想空間内での相対位置座標を求める。仮想相対位置演算部３５は、ここでは相対位置取得部３２が出力する相対的な位置Ｑ′の情報の符号を反転する。そして仮想相対位置演算部３５は、仮想基準位置演算部３４が演算した仮想基準位置の座標の値に、ここで求めた相対位置座標を加算し、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位）の位置座標を、
ξｈ＝α・ｘｆ−α・（ｘｆ−ｘｈ）＝α・ｘｈ
ηｈ＝α・ｙｆ−α・（ｙｆ−ｙｈ）＝α・ｙｈ
ζｈ＝α・ｚｆ＋ｎ・ｚｆ−ｎ・ｚｆ０−α・（ｚｆ−ｚｈ）＝α・ｚｈ＋ｎ・ｚｆ−ｎ・ｚｆ０
と求める。
【００２８】
すなわち、実空間において基準とした第１の部位の位置と、当該第１の部位からの相対的位置として求められる、ユーザとともに移動する対象物（ユーザの第２の部位であってもよい）の位置とを得ておき、仮想空間では、ユーザとともに移動する対象物の位置に基づいて仮想空間内での基準位置を定め、第１の部位の仮想空間内での位置を当該基準位置からの相対的位置として求める。このとき、第２の部位の移動量をｎ倍する。
【００２９】
仮想オブジェクト配置処理部３６は、仮想基準位置演算部３４が演算した仮想基準位置の座標に、実空間においてユーザとともに移動する所定対象物に対応する仮想的なオブジェクトを配する。ここでの例では所定対象物をユーザ自身の足としたので、仮想オブジェクト配置処理部３６は、仮想基準位置演算部３４が演算した仮想基準位置の座標を、ユーザの足に対応するオブジェクト（例えばユーザ自身のアバター等を仮想的なオブジェクトとする場合、アバターの足に対応するオブジェクト）の位置として設定する。
【００３０】
また仮想オブジェクト配置処理部３６は、仮想空間内に配するべき仮想的なオブジェクトを、それぞれ所定の方法で定めた位置（例えば予め定められていてもよいし、演算により求められてもよい）に配する設定を行う。またこのオブジェクトには、床面に相当するオブジェクトが含まれてもよい。この場合、仮想オブジェクト配置処理部３６は、仮想空間での床面に相当する位置（ζ＝ｚｆ０の面）を仮想的な床面として、床面を表す仮想的なオブジェクトをさらに配置する設定を行う。
【００３１】
またこの仮想オブジェクト配置処理部３６は、仮想相対位置演算部３５が演算した仮想空間内の位置に、実空間での実基準位置にあるユーザの部位に対応する仮想的なオブジェクトを配する。ここでの例では実基準位置にあるユーザの部位は、ユーザの頭部であるので、仮想オブジェクト配置処理部３６は、仮想相対位置演算部３５が演算した仮想空間内の位置を、例えばアバターの頭部に対応するオブジェクトの位置として設定する。
【００３２】
このようにしたことで、仮想空間内での移動量が、実空間内での移動量の所定係数倍（ｎ倍）された状態となる。すなわち本実施の形態では、ユーザの実空間での移動量ｒに対し、仮想空間ではｎ×ｒだけ移動したかのようにユーザの位置が定められる。また、頭部等、当該基準位置に対応する対象物の位置に追従するユーザの部位については、当該基準位置からの実際の大きさに対応する位置に配されるため、自身の大きさが上記所定係数倍されることがない。従って自身に対応するアバターの大きさには実空間における自身のサイズと異ならないにも関わらず、アバターの仮想空間での移動量が実空間での移動量に対して所定係数倍になったかのような状況を演出できる。
【００３３】
これら仮想基準位置演算部３４と、仮想相対位置演算部３５と、仮想オブジェクト配置処理部３６とが本発明の設定手段を実現する。
【００３４】
レンダリング処理部３７は、仮想基準位置演算部３４と、仮想相対位置演算部３５と、仮想オブジェクト配置処理部３６とにより設定された仮想空間内において、ユーザの頭部に相当する位置から、ユーザの頭部前方を視野とする仮想的なカメラを設定する。このレンダリング処理部３７は、当該設定した仮想的なカメラからの視野内の仮想空間内のオブジェクトの画像データをレンダリングして生成する。この処理は、仮想的な三次元空間の画像データをレンダリングして生成する処理として広く知られた方法を採用できるので、ここでの詳しい説明を省略する。出力部３８は、レンダリング処理部３７が生成した画像データをユーザが装着する表示装置２に対して送出する。
【００３５】
なお、ここまでの例では、ユーザの頭部を実空間での基準位置（実基準位置）とし、ユーザの足の座標の情報を相対的な位置の情報として取得することとしていたが、本実施の形態では、ユーザの姿勢を検出するため、さらに多くのユーザの部位の実空間での座標情報を、実基準位置からの相対的位置の情報として得てもよい。例えば、本実施の形態の相対位置取得部３２は、実基準位置取得部３１が取得した実基準位置情報を用い、ユーザの首、左右の肩や手、腹部、左右の股関節、左右のひざ等のそれぞれの実空間内での座標情報を、実基準位置情報が示す実空間での座標からの相対的な座標情報として検出してもよい。
【００３６】
この座標情報の検出は、例えば、ユーザがそれぞれの部位に装着したセンサにより行ってもよいし、外部からユーザの身体を撮像して、ボーンモデルマッチングにより推定することとしてもよい。これらの処理も、広く知られているので、ここでの詳しい説明を省略する。
【００３７】
この例の場合、仮想基準位置演算部３４は、相対位置取得部３２からユーザの各部位のそれぞれの相対的な位置Ｑ′の情報の入力を受け入れる。そして仮想基準位置演算部３４は、相対位置取得部３２から入力されたユーザの各部位の相対的な位置Ｑ′の情報のうちいずれかを選択して、当該選択した情報が表す相対的な位置Ｑ′及び移動量ΔＱと、実基準位置情報Ｐとを用いて、仮想基準位置の座標を求める。
【００３８】
そして仮想相対位置演算部３５は、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位）の位置座標だけでなく、仮想基準位置演算部３４が選択していない、ユーザの各部位の相対的な位置Ｑ′の情報に対応するユーザの各部位の、仮想空間中の位置座標を求める。具体的に仮想相対位置演算部３５は、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位）の位置座標（ξｈ，ηｈ，ζｈ）を、仮想基準位置の情報と相対的な位置の情報とに基づいて求める。その後、仮想相対位置演算部３５は、仮想基準位置演算部３４が選択していない、ユーザの各部位の相対的な位置Ｑ′の情報に対応する、仮想空間でのユーザの各部位の相対的な位置Ｑ′の情報を求める。そして仮想相対位置演算部３５は、実空間での実基準位置にあるユーザの部位の仮想空間内での位置座標に対して、当該求めた相対的な位置Ｑ′の情報をそれぞれ加算して、それぞれの部位の仮想空間内での位置座標を求める。
【００３９】
これにより、本実施の形態の情報処理装置１は、ユーザのアバターの姿勢を仮想空間内で表現するための各部位の位置情報を得る。このようにして仮想空間内のユーザのアバター等のオブジェクトにおける、各部位に対応するオブジェクトの位置を設定できる。つまり、仮想空間内の仮想オブジェクトの姿勢の態様を、ユーザの姿勢に応じて設定できる。なお、ユーザの姿勢の情報は、仮想空間内のアバターの姿勢に反映させるだけでなく、仮想空間内のユーザに対応するオブジェクトの色等、他の態様の設定に用いられてもよい。
【００４０】
本実施の形態の情報処理装置１は、基本的に以上の構成を備えており、次のように動作する。以下の例では、ユーザが床面上でジャンプをする例について説明する。本実施の形態の情報処理装置１は、図４に例示する処理を所定のタイミングごと（例えば１／３０秒など。表示装置２のフレームレートに一致させてもよい）に繰り返し実行する。この処理では、まずユーザの頭部の実空間内での位置を、実基準位置として取得する（Ｓ１）。ここでの例において、ユーザが初期の位置からジャンプして着地し、元の姿勢に戻るまでの間に情報処理装置１が取得するユーザの頭部の実空間内での位置は、ユーザが直立している初期の状態では
（ｘｈ0，ｙｈ0，ｚｈ0）
であり、ユーザがひざを曲げた状態となると、
（ｘｈ0，ｙｈ0，ｚｈ1），なお、ｚｈ1＜ｚｈ0
となる。そして、ユーザがジャンプした状態では
（ｘｈ0，ｙｈ0，ｚｈ2），ここではｚｈ2＞ｚｈ0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置１が取得する頭部の位置は、もとの直立したときの状態
（ｘｈ0，ｙｈ0，ｚｈ0）
に戻る。
【００４１】
また情報処理装置１は、ユーザの足の、実基準位置からの相対的な位置を取得する（Ｓ２）。ここでは、情報処理装置１が取得するユーザの足の位置は、ユーザが直立している状態からひざを曲げた状態に至るまでは初期の位置
（ｘｆ0，ｙｆ0，ｚｆ0）
から変化しないが、ユーザがジャンプしたときに、足の位置は床面から離れて、
（ｘｆ0，ｙｆ0，ｚｆ1），ここでｚｆ1＞ｚｆ0
となる。そしてその後、ユーザがもとの直立した状態に戻る（着地する）と、その後は、初期の位置
（ｘｆ0，ｙｆ0，ｚｆ0）
に戻ることとなる。
【００４２】
従って、情報処理装置１が取得する足の位置の、頭部の位置（実基準位置）に対する相対的な位置の情報は、
ユーザが直立している初期の状態では
（ｘｆ0−ｘｈ0，ｙｆ0−ｙｈ0，ｚｆ0−ｚｈ0）
であり、ユーザがひざを曲げた状態となると、
（ｘｆ0−ｘｈ0，ｙｆ0−ｙｈ0，ｚｆ0−ｚｈ1），なお、ｚｈ1＜ｚｈ0
となる。そして、ユーザがジャンプした状態では
（ｘｆ0−ｘｈ0，ｙｆ0−ｙｈ0，ｚｆ1−ｚｈ2），ここではｚｈ2＞ｚｈ0，ｚｆ1＞ｚｆ0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置１が取得する足の位置の、頭部の位置（実基準位置）に対する相対的な位置は、もとの直立したときの状態
（ｘｆ0−ｘｈ0，ｙｆ0−ｙｈ0，ｚｆ0−ｚｈ0）
に戻ることとなる。
【００４３】
情報処理装置１はさらに足の移動量を検出する（Ｓ３）。ここでの例において情報処理装置１が検出する足の移動量の情報は、ユーザが直立している状態からひざを曲げた状態に至るまでは
ｚｆ0−ｚｆ0＝０
であり、ユーザがジャンプしたときには、足の位置ｚｆ1＞ｚｆ0の変化に伴い、
ｚｆ1−ｚｆ0＞０
となる。そしてその後、ユーザがもとの直立した状態に戻る（着地する）と、その後は、初期の値、
ｚｆ0−ｚｆ0＝０
に戻ることとなる。
【００４４】
情報処理装置１は、これら実基準位置情報、相対的な位置Ｑ′、並びに移動量ΔＱの情報に基づき、仮想的な空間内のユーザの基準位置を演算する（Ｓ４）。
【００４５】
具体的に情報処理装置１は、相対的な位置Ｑ′と、実基準位置情報Ｐとを加算してユーザの足の実空間でのワールド座標系での位置座標Ｑを得る。そしてこの座標Ｑに対応する仮想空間中の位置座標（仮想空間のワールド座標系（ξ，η，ζ直交座標系とする）の座標の値）の仮の値を演算し（Ｓ５）、さらにこの仮の値に移動量に予め定めた係数（ｎ）を乗じた値を加算する（Ｓ６）。
【００４６】
ここでの例では、ユーザの足に対応する仮想的なオブジェクトの位置の情報は、ユーザが直立している初期の状態では
（α・ｘｆ0，α・ｙｆ0，α・ｚｆ0）
であり、ユーザがひざを曲げた状態においても（足の位置は変わらないので）変化しない。
【００４７】
そして、ユーザがジャンプした状態では
（α・ｘｆ0，α・ｙｆ0，α・ｚｆ0＋ｎ・（ｚｆ1−ｚｆ0））、ここでｚｆ1＞ｚｆ0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置１が演算により求めたユーザの足に対応する仮想的なオブジェクトの位置の情報は、もとの直立したときの状態と同じく、
（α・ｘｆ0，α・ｙｆ0，α・ｚｆ0）
に戻ることとなる。
【００４８】
情報処理装置１は、この処理Ｓ６で求めた座標の値を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める（Ｓ７）。具体的に情報処理装置１は、実基準位置から足の位置までの相対的な位置（処理Ｓ２で求めた情報）の符号を反転する。そして情報処理装置１は、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報（仮想空間のワールド座標系での値）を得る。情報処理装置１は、ここで得た相対的な位置の情報に、処理Ｓ６で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。
【００４９】
従って、この情報は、
ユーザが直立している初期の状態では
（α・ｘｈ0−α・ｘｆ0＋α・ｘｆ0，α・ｙｈ0−α・ｙｆ0＋α・ｙｆ0，α・ｚｈ0−α・ｚｆ0＋α・ｚｆ0）、つまり、
（α・ｘｈ0，α・ｙｈ0，α・ｚｈ0）
であり、ユーザがひざを曲げた状態となると、
（α・ｘｈ0−α・ｘｆ0＋α・ｘｆ0，α・ｙｈ0−α・ｙｆ0＋α・ｙｆ0，α・ｚｈ1−α・ｚｆ0＋α・ｚｆ0）、つまり、
（α・ｘｈ0，α・ｙｈ0，α・ｚｈ1），なお、ｚｈ1＜ｚｈ0
となる。
【００５０】
そして、ユーザがジャンプした状態となると、
（α・ｘｈ0−α・ｘｆ0＋α・ｘｆ0，α・ｙｈ0−α・ｙｆ0＋α・ｙｆ0，α・ｚｈ0−α・ｚｆ0＋α・ｚｆ0＋ｎ・（ｚｆ1−ｚｆ0））、つまり、
（α・ｘｈ0，α・ｙｈ0，α・ｚｈ0＋ｎ・（ｚｆ1−ｚｆ0））、ここでｚｆ1＞ｚｆ0
となる。
【００５１】
すなわちここでは、ユーザがジャンプしたときには、実空間のジャンプ量に対して頭部の位置はｎ倍だけ床面から離れた位置までジャンプしたかのように仮想空間内では扱われる。しかしながら頭部から足までの距離は、（α・ｘｆ0，α・ｙｆ0，α・ｚｆ0＋ｎ・（ｚｆ1−ｚｆ0））と（α・ｘｈ0，α・ｙｈ0，α・ｚｈ0＋ｎ・（ｚｆ1−ｚｆ0））との差であるので、（α・ｘｈ0−α・ｘｆ0，α・ｙｈ0−α・ｙｆ0，α・ｚｈ0−α・ｚｆ0）であり、初期の状態と異ならない。
【００５２】
その後、ユーザが着地して元の姿勢に戻ると、情報処理装置１が求める実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標は、もとの直立したときの状態
（α・ｘｈ0，α・ｙｈ0，α・ｚｈ0）
に戻る。
【００５３】
情報処理装置１は、ユーザに対応するアバター（仮想オブジェクト）を配するにあたり、当該アバターの足、すなわち実空間においてユーザとともに移動する所定対象物（ここではユーザの足）に対応する仮想的なオブジェクトを、処理Ｓ６で演算した仮想基準位置の座標に配する。また、情報処理装置１は、当該アバターの頭部の位置を、処理Ｓ７で求めた位置に設定する（Ｓ８）。
【００５４】
そして情報処理装置１は、ユーザの頭部の位置から、ユーザの頭部前方方向の所定視野内の仮想空間の画像をレンダリングし、レンダリングして得られた画像データをユーザが装着する表示装置２に対して送出する（Ｓ９）。
【００５５】
この例によると、ユーザが実空間で、床面から高さｚｆ1−ｚｆ0だけジャンプしたとき、仮想空間内では仮想的なカメラが仮想的な空間での床面から、そのｎ倍、つまりｎ・（ｚｆ1−ｚｆ0）の高さに設定され、当該仮想的なカメラの視野内の画像データがユーザに提示されることとなる。
【００５６】
［落下速度の調整］
ここで説明した例では、ユーザがジャンプしたときに、実空間のジャンプ量に対して頭部の位置はｎ倍だけ高い位置までジャンプしたかのように仮想空間内で扱われるが、落下時にもｎ倍の速度で落下するように表示されることとなる。そこで、情報処理装置１は、落下速度を設定可能としてもよい。一例として、情報処理装置１は、
・ｎ倍の速度で落下する（上述の通り）、
・定速で落下する、
・実際の重力加速度に従う、
・指定した加速度で落下する、
・落下させない、
・上昇させる、
などの設定を受け入れて、それぞれに対応する処理を実行してもよい。
【００５７】
具体的に定速で落下するとの設定を受け入れた場合、情報処理装置１は、所定のタイミングごとに繰り返し実行される、図４に例示した処理Ｓ４において、実基準位置情報Ｐと、前回の実行時の実基準位置情報Ｐpとの差、Ｐ−Ｐp＞０であれば実空間でユーザの体が上昇していると判断して、既に述べたものと同じ処理を実行する。
【００５８】
またここで、実基準位置情報Ｐと、前回の実行時の実基準位置情報Ｐpとの差、Ｐ−Ｐpが０または負の値（Ｐ−Ｐp≦０）であるとき、または定速落下中である旨を表すフラグがオンであるときには、情報処理装置１は、実空間でユーザの体が下降していると判断する。実空間でユーザの体が下降していると判断した場合、情報処理装置１は、図４の処理Ｓ４からＳ６に代えて、次のような処理を実行する。すなわち情報処理装置１は、定速落下中である旨を表すフラグをオンする。そして情報処理装置１は、今回得られている相対的な位置Ｑ′と、実基準位置情報Ｐとに関わらず、ユーザの足に対応する仮想的なオブジェクトの位置の情報（ξf（ｔ），ηf（ｔ），ζf（ｔ））を、ユーザの足に対応する仮想的なオブジェクトの前回の位置の情報（ξf（ｔ−１），ηf（ｔ−１），ζf（ｔ−１））を用いて、次のように設定する：
ξf（ｔ）＝ξf（ｔ−１）、
ηf（ｔ）＝ηf（ｔ−１）、
ζf（ｔ）＝ζf（ｔ−１）−Δζf、
なおここで、ζf（ｔ−１）−Δζf＜α・ｚｈ0であれば、ζf（ｔ）＝α・ｚｈ0とし、定速落下中である旨を表すフラグをオフに設定する。
【００５９】
情報処理装置１は、ここで求めた座標の値（ξf（ｔ），ηf（ｔ），ζf（ｔ））を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。具体的に、情報処理装置１は、実基準位置から足の位置までの相対的な位置（処理Ｓ２で求めた情報）の符号を反転し、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報（仮想空間のワールド座標系での値）を得ておき、これに求めた仮想基準位置の情報（ξf（ｔ），ηf（ｔ），ζf（ｔ））を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。
【００６０】
そして情報処理装置１は、当該アバターの頭部の位置を、ここで求めた、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置に設定する。そして情報処理装置１は、この設定した位置（仮想空間でのユーザの頭部の位置）から、ユーザの頭部前方方向の所定視野内の仮想空間の画像をレンダリングし、レンダリングして得られた画像データをユーザが装着する表示装置２に対して送出する。
【００６１】
情報処理装置１は、これにより、ユーザがジャンプしたとき、ユーザの位置が上昇から下降に移る時点から、定速落下中である旨を表すフラグをオンに設定し、定速落下中である旨を表すフラグがオンである間、仮想空間内で定速（上述の例では、繰り返しタイミングの時間ごとにΔζf）ずつ落下している状況を描画してユーザに提示する。また、ユーザの仮想空間内の頭部の位置が、もとの頭部の位置を下回った時点で、定速落下中である旨を表すフラグをオフに設定して、この処理を中止し、もとの処理に戻す。
【００６２】
また、実際の重力加速度に従う設定や指定された加速度に応じた速度で落下する（空気抵抗がある場合など、終端速度に達する場合を含む）設定がされたときには、上述の例で、落下速度Δζfを、繰り返し処理ごとに変化させる。具体的に、繰り返しタイミングがΔτごとである場合、指定された加速度をｇとして、前回の落下速度Δζf（ｔ−１）を用い、今回の落下速度Δζf（ｔ）を、Δζf（ｔ）＝Δζf（ｔ−１）＋ｇ・Δτと設定すればよい。また終端速度がある場合は、この計算で得られるΔζf（ｔ）が終端速度を超えたときに、Δζf（ｔ）を終端速度に設定し直して用いればよい。
【００６３】
さらに、落下させない設定とした場合（大きくジャンプして、何かに飛び乗るような演出の例）では、情報処理装置１は、所定のタイミングごとに繰り返し実行される、図４に例示した処理Ｓ４において、実基準位置情報Ｐと、前回の実行時の実基準位置情報Ｐpとの差、Ｐ−Ｐp＞０であれば実空間でユーザの体が上昇していると判断して、既に述べたものと同じ処理を実行する。
【００６４】
またここで、実基準位置情報Ｐと、前回の実行時の実基準位置情報Ｐpとの差、Ｐ−Ｐpが負の値（Ｐ−Ｐp＜０）となると、情報処理装置１は、ユーザの足に対応する仮想的なオブジェクトの位置の高さ方向の情報ζf（ｔ）を、ユーザにとっての仮想的な床面位置として記憶する。
【００６５】
そして以下の処理では、ユーザの仮想空間内の位置のζ軸方向の座標を、この、ユーザにとっての仮想的な床面位置だけ、ζ軸正の方向に平行移動する。
【００６６】
この処理により、ユーザにはあたかも、ジャンプにより高所に移動したかのような映像が提供される。
【００６７】
［ＸＹ面内の移動量］
またここまでの説明では、仮想空間の基準位置に対応させる、実空間での所定対象物上の対象点をユーザの足とし、情報処理装置１は、このユーザの足の移動量として、床面上から足までの高さとしていた。しかしながら本実施の形態はこれに限られない。
【００６８】
例えばユーザとともに移動する所定対象物はユーザが乗車している遊技用カート（車両）であってもよい。この場合、対象点は、例えば遊技用カートの先頭部としてもよいし、遊技用カートの重心としてもよい。
【００６９】
この例では、情報処理装置１は、実空間内でのユーザの所定の注目部位の位置及び姿勢の情報を、オドメトリあるいは、ＳＬＡＭ等の広く知られた技術を用いて取得する。また情報処理装置１は、ユーザが乗車している遊技用カートの実空間内での位置情報を実基準位置情報として取得する。この位置情報は、例えば遊技用カート自体に装着した位置検出センサ（ＧＰＳ（Global Positioning System）等であってもよいし、遊技用カートの走行路面に配した、位置を表す情報を送信するタグからの信号を検出するものなどであってもよい）を用いて取得され、遊技用カート側から無線通信により情報処理装置１に送出されたものであってもよい。
【００７０】
情報処理装置１は、取得した実基準位置情報を用い、ユーザとともに移動する所定対象物上の点（対象点）の実空間基準位置からの相対位置座標を演算する。ここでは既に述べた例と同様、情報処理装置１は、実基準位置情報が表すユーザの頭部の実空間内での座標Ｐ（ｘｈ，ｙｈ，ｚｈ）と、この遊技用カート上の対象点の位置の情報Ｑ（ｘｃ，ｙｃ，ｚｃ）との相対的な位置Ｑ′（ｘｃ−ｘｈ，ｙｃ−ｙｈ，ｚｃ−ｚｈ）を求め、これらを記憶しておく。
【００７１】
そして情報処理装置１は、ここで取得ないし求めた情報に基づいて、遊技用カート上の対象点の、予め定められた初期位置からの移動量を求める。一例としてここでの初期位置は前回情報処理装置１が取得した遊技用カートの位置座標（ｘｃp，ｙｃp，ｚｃp）としておき、移動量を、この位置座標から、上記取得した位置Ｑ（ｘｃ，ｙｃ，ｚｃ）までの差のベクトルΔＱ（ｘｃ−ｘｃp，ｙｃ−ｙｃp，ｚｃ−ｚｃp）とする。
【００７２】
この例では、情報処理装置１は、これらの情報に基づき、仮想的な空間内のユーザの基準位置を演算する。本実施の形態のここでの例では、この情報処理装置１は、前回の仮想的な空間内のユーザの基準位置Ｑｖp（ξｃp，ηｃp，ζｃp）を記憶しておく。そして情報処理装置１は、この前回の仮想的な空間内のユーザの基準位置Ｑｖpに対し、移動量を表す差のベクトルΔＱに予め定めた係数（ｎとする）を乗じた値を加算する。すなわち、遊技用カート上の対象点に対応する仮想的なオブジェクトの位置の情報Ｑｖ（ξｃ，ηｃ，ζｃ）を、
ξｃ＝ξｃp＋ｎ・（ｘｃ−ｘｃp）
ηｃ＝ηｃp＋ｎ・（ｙｃ−ｙｃp）
ζｃ＝ζｃp＋α・（ｚｃ−ｚｃp）
とする。そしてここで演算したこの位置の情報が表す座標の値を、仮想基準位置の座標の値とし、この座標の値を記憶する（ここで演算された（ξｃ，ηｃ，ζｃ）が次回の処理において前回の仮想的な空間内のユーザの基準位置Ｑｖp（ξｃp，ηｃp，ζｃp）となる）。
【００７３】
なお、本実施の形態では、床面内に平行な方向への移動についてはｎ倍され、高さ方向への移動についてはα倍されるものとしたが、ここではα＝ｎであってもよい。
【００７４】
また、この仮想的な空間内のユーザの基準位置の初期の位置（前回の仮想的な空間内のユーザの基準位置Ｑｖpがない場合の位置）は、遊技用カート上の対象点の実空間内の初期の位置座標Ｑ（ｘｃ0，ｙｃ0，ｚｃ0）と、移動量に対する係数ｎとを用いて、
ξｃ＝ｎ・ｘｃ0
ηｃ＝ｎ・ｙｃ0
ζｃ＝α・ｚｃ0
と定めてもよい。
【００７５】
またこの例でも、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位等）の位置座標は、ここで求めた仮想基準位置に対して、相対的な位置Ｑ′の情報の符号を反転して（つまり遊技用カートの対象点を基準としたユーザの頭部の相対位置座標として）加算し、仮想空間内でのユーザの頭部（実空間での実基準位置にあるユーザの部位）の位置座標を求める。すなわち、ここでは
ξｈ＝ξｃ−ｘｃ＋ｘｈ
ηｈ＝ηｃ−ｙｃ＋ｙｈ
ζｈ＝ζｃ−ｚｃ＋ｚｈ
と求める。
【００７６】
情報処理装置１は、また、ユーザの各部位の仮想空間内の位置情報を、この頭部の仮想空間内の位置情報からの相対的位置（実空間中の相対的位置）を用いて演算する。そして情報処理装置１は、ここで演算した仮想基準位置の座標に、実空間において遊技用カートに対応する仮想的なオブジェクトを配する。またユーザのアバターの各部位に相当する仮想的なオブジェクトを、ここで演算した各部位の仮想空間内の位置に配置する。
【００７７】
さらに、情報処理装置１は、仮想空間内に配するべき仮想的なオブジェクトを、それぞれ所定の方法で定めた位置（例えば予め定められていてもよいし、演算により求められてもよい）に配する設定を行う。またこのオブジェクトには、床面に相当するオブジェクトが含まれてもよい。この場合、情報処理装置１は、仮想空間での床面に相当する位置（ζ＝ｚｆ０の面）を仮想的な床面として、床面を表す仮想的なオブジェクトをさらに配置する設定を行う。
【００７８】
情報処理装置１は、そして、ユーザの頭部に相当する位置に配した仮想的なカメラの視野内の画像をレンダリングしてユーザに提示する。
【００７９】
この例によると、遊技用カートに乗車したユーザが、遊技用カートを操作して移動すると、当該移動量がｎ倍となったかのような仮想空間の画像がユーザに提示される。
【００８０】
また、この例において実空間内のオブジェクト（実オブジェクト）に対応する仮想的なオブジェクトを仮想空間内に配置する場合は、当該実オブジェクトが配置されている実空間の位置に対応する仮想空間の位置（ｘｒ，ｙｒ，ｚｒ）を、遊技用カート等の位置と同様に、
ξｃ＝ｎ・ｘｒ
ηｃ＝ｎ・ｙｒ
ζｃ＝α・ｚｒ
として少なくとも平面内でｎ倍（各軸方向に移動量と同じ、またはそれより大きい比率を乗じることと）する。
【００８１】
これにより、実空間内の壁等までの距離がｎ倍され、移動量をｎ倍した場合に、実空間に対応する位置（ｎ倍しない場合）に壁が配されることによる不具合（すぐに壁に激突するような映像となる）が解消される。
【００８２】
［移動可能な空間］
本実施の形態において、実空間内でのユーザの移動範囲の外周部に壁があるなど、移動範囲に制限がある場合、実空間におけるユーザの位置と、移動範囲の外周部との距離に応じて、実空間の移動量に対する仮想空間内での移動量の比ｎを異ならせてもよい。一例として、上記ユーザの位置と、移動範囲の外周部との距離が予め定めたしきい値を下回る（このしきい値は例えば、ユーザの手が届く程度の距離とする）ときには、上記比ｎを「１」とする。この処理によると、例えば移動可能な空間周囲の壁に手が届かない範囲でｎを１より小さい値として設定し、ユーザの仮想空間内の移動量よりも実空間内での移動量が大きくなる場合に、壁に近接した位置ではｎを「１」とすることで、壁（仮想空間内で移動が制限される位置）までの距離感を実空間と同様の状態に提示できるようになる。
【００８３】
［実空間の位置情報取得］
また、本実施の形態において実空間での位置情報の取得は、ユーザの頭部の位置については当該頭部に装着された撮像部が撮像した画像を利用した、オドメトリやＳＬＡＭを用いることとしていたが、本実施の形態はこれに限られない。
【００８４】
例えばユーザの移動可能範囲を撮像するカメラを実空間内に配して、当該カメラが撮像した画像に基づいてユーザの位置や姿勢を推定してもよい。具体的には、ユーザが頭や肩、手首、足首等の各部位にマーカー等のデバイスを装着してもよい。この例では、実空間内に配されたカメラでユーザを撮像し、当該ユーザが装着するマーカーの実空間内での位置を検出して、実空間内でのユーザの位置や姿勢の情報を取得する。このようなマーカーに基づいてユーザの位置や姿勢の情報を取得する処理は広く知られているので、ここでの詳しい説明を省略する。またユーザの各部位の初期位置からの移動量を、ユーザの各部位に取り付けたジャイロセンサ等によって測定し、ユーザの位置を推定してもよい。
【００８５】
［複数のユーザ］
さらに、ここまでの説明ではユーザが一人である状況を想定していたが、本実施の形態はこれに限られない。情報処理装置１は、複数のユーザのそれぞれについて図４に例示した処理を行ってもよい。すなわち各ユーザの実空間内での頭部の位置、及びそれぞれの頭部の位置から同じユーザの足の位置までの相対的位置の情報を取得し、また、それぞれのユーザの移動量を検出して、各ユーザに対応する仮想空間内の仮想基準位置を求め、また、各ユーザの各部位に対応する仮想オブジェクトの位置をそれぞれ求める。このとき、移動量を所定の係数倍（ｎ倍）する。この係数ｎは、ユーザ間で共通の値を用いるものとしてもよいし、ユーザごとに、例えばゲーム等の所定の条件等に応じて互いに異なる値に設定してもよい。
【００８６】
また情報処理装置１は、各ユーザの頭部の位置にそれぞれ仮想的なカメラを配して、それぞれのユーザの頭部の向きに対応する、仮想空間内の視野内の画像をレンダリングする。そして情報処理装置１は、各ユーザの頭部に配した仮想的なカメラの視野内の画像データを得て、対応するユーザが装着する表示装置２に対して送出する。
【００８７】
［ユーザ以外の移動体］
またユーザ以外に、仮想空間内を移動するオブジェクト（移動体）についても、ユーザの移動量を所定の係数倍（ｎ倍）する軸方向の移動量については、ユーザと同様の係数倍（ｎ倍）することとしてもよい。
【００８８】
このようにすると、例えば弾丸を避ける、といったゲームの場合に、実空間の感覚よりｎ倍の速度で飛来する弾丸を、実空間での移動速度のｎ倍の速度で移動して避ける、といった感覚をユーザに与えることが可能となる。
【００８９】
［仮想空間内での体のサイズの変更］
また、ここまでに説明した例では、図４の処理Ｓ６で求めた座標の値を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めていた（処理Ｓ７）。すなわち情報処理装置１は、実基準位置から足の位置までの相対的な位置（図４の処理Ｓ２で求めた情報）の符号を反転し、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報（仮想空間のワールド座標系での値）を得ておき、これに図４の処理Ｓ６で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めていた。
【００９０】
本実施の形態の別の例では、この演算に代えて、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めるにあたり、実基準位置から足の位置までの相対的な位置（図４の処理Ｓ２で求めた情報）の符号を反転するとともに、所定比率ｒを乗じ、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報（仮想空間のワールド座標系での値）を得ておき、これに図４の処理Ｓ６で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めてもよい。
【００９１】
このようにすると、上記比率ｒだけ仮想空間内でユーザの体が拡大あるいは縮小された状態で画像が描画され、ユーザに提示されることとなる。
【００９２】
［ユーザ］
なお、ここまでの例では、ユーザとともに移動する対象物（ユーザ本人の一部でもよい）の移動量に基づいて仮想空間内での移動量を決定することとしていたが、本実施の形態はこれに限られるものではなく、情報処理装置１は、ユーザとともに移動しない、例えば実空間内で移動するドローン等の物体の移動量を用い、例えば当該移動量の所定軸方向の移動量を所定係数倍するなどして、当該ドローン等の物体に対応する仮想空間内での仮想的なオブジェクトの移動量を決定し、当該決定した移動量だけ当該仮想的なオブジェクトを移動させて、ユーザに移動させた状態を表す画像を提示してもよい。
【符号の説明】
【００９３】
１  情報処理装置、２  表示装置、１１  制御部、１２  記憶部、１３  操作受入部、１４  通信部、２１  制御部、２２  通信部、２３  撮像部、２４  表示部、３１  実基準位置取得部、３２  相対位置取得部、３３  移動量検出部、３４  仮想基準位置演算部、３５  仮想相対位置演算部、３６  仮想オブジェクト配置処理部、３７  レンダリング処理部、３８  出力部。
【図１】
0006796197.tif 000002
【図２】
0006796197.tif 000003
【図３】
0006796197.tif 000004
【図４】
0006796197.tif 000005