JP6796197B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6796197B2
JP6796197B2 JP2019514428A JP2019514428A JP6796197B2 JP 6796197 B2 JP6796197 B2 JP 6796197B2 JP 2019514428 A JP2019514428 A JP 2019514428A JP 2019514428 A JP2019514428 A JP 2019514428A JP 6796197 B2 JP6796197 B2 JP 6796197B2
Authority
JP
Japan
Prior art keywords
virtual
user
information
space
real space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019514428A
Other languages
English (en)
Other versions
JPWO2018198909A1 (ja
Inventor
良徳 大橋
良徳 大橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2018198909A1 publication Critical patent/JPWO2018198909A1/ja
Application granted granted Critical
Publication of JP6796197B2 publication Critical patent/JP6796197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/02Viewing or reading apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/38Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory with means for controlling the display position

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年ではヘッドマウントディスプレイ等、仮想的な三次元空間(以下、単に仮想空間と呼ぶ)内の画像を表示するデバイスが広く用いられるようになっている。また、こうした仮想空間内のオブジェクトの動きを、ユーザの動きに応じて決定することで、仮想空間内のキャラクタとして動き、当該キャラクタを制御するといった体験を、ユーザに提供する技術も開発されている。
しかしながら、上記従来の技術では、ユーザの移動も、手の動きも、同じ比率の移動量として仮想空間内のオブジェクトの動きに反映されるため、ユーザに提示できる感覚が限られていた。
本発明は上記実情に鑑みて為されたもので、より多様な体験を提示できる情報処理装置、情報処理方法、及びプログラムを提供することを、その目的の一つとする。
上記従来例の問題点を解決する本発明は、情報処理装置であって、実空間内の所定対象物に関する対象点の実空間内での移動量を検出する検出手段と、仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算し、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、を有し、当該仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられることとしたものである。
本発明によると、ユーザに対してより多様な体験を提示できる。
本発明の実施の形態に係る情報処理装置の構成の例を表すブロック図である。 本発明の実施の形態に係る情報処理装置に接続される表示装置の例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。 本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、例えばサーバコンピュータであり、図1に例示するように、制御部11と、記憶部12と、操作受入部13と、通信部14とを含んで構成される。またこの情報処理装置1は、ユーザが頭部に装着するヘッドマウントディスプレイ(HMD)などの表示装置2との間で通信可能に接続されている。
本実施の形態においてユーザが頭部に装着する表示装置2の一例は、ユーザが頭部に装着して使用する表示デバイスであって、図2に例示するように、制御部21と、通信部22と、撮像部23と、表示部24とを含む。ここでの例では表示装置2の制御部21は、マイクロコンピュータ等のプログラム制御デバイスであって、内蔵する記憶部等の図示しないメモリ等に格納されたプログラムに従って動作し、情報処理装置1から通信部22を介して入力される情報に応じた映像を表示部24に表示させて、ユーザに閲覧させる。
通信部22は、有線または無線にて情報処理装置1との間で通信可能に接続される。この通信部22は、後に述べる撮像部23が撮像した画像データを、情報処理装置1へ送出する。またこの通信部22は、情報処理装置1から表示装置2宛に送信された情報を、制御部21に出力する。
撮像部23は、カメラ等であり、ユーザの前方(頭部前方)の所定視野内の実空間の画像を繰り返し撮像し、撮像して得た画像データを、通信部22を介して情報処理装置1へ送出する。
表示部24は、ユーザの右目と左目とのそれぞれの目の前に、それぞれの目に対応した映像を表示するものとする。この表示部24は、有機EL表示パネルや液晶表示パネルなどの表示素子を含む。この表示素子が制御部21から入力される指示に従って映像を表示する。この表示素子は、左目用の映像と右目用の映像とを一列に並べて表示する1つの表示素子であってもよいし、左目用の映像と右目用の映像とをそれぞれ独立に表示する一対の表示素子であってもよい。なお、本実施形態においてこの表示装置2は、ユーザが外界の様子を視認することができない非透過型の表示装置であるものとする。
また情報処理装置1の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されているプログラムを実行する。本実施の形態では、この制御部11は、実空間内でのユーザの位置の情報を取得し、また、取得した位置を実空間基準位置として、ユーザとともに移動する所定対象物の実空間基準位置からの相対位置座標を取得する。制御部11は、さらに、ユーザに対応する仮想的なオブジェクトの仮想的な空間内の位置及び、所定対象物に対応する仮想的なオブジェクトの仮想的な空間内の位置を演算する。この演算は、先に取得した当該ユーザの位置の情報と、相対位置座標とを用いて行われる。そして制御部11は、仮想的なオブジェクトを、仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する処理を実行する。また制御部11は、仮想空間内の所定の位置に配した仮想的なカメラの視野内の仮想的なオブジェクトをレンダリングして、画像データを生成する。制御部11は、生成した画像データをユーザの表示装置2に対して、通信部14を介して出力する。この制御部11の詳しい動作については、後に述べる。
記憶部12は、RAM等のメモリデバイスやディスクデバイス等であり、制御部11が実行するプログラムを格納する。また、この記憶部12は制御部11のワークメモリとしても動作し、制御部11がプログラム実行の過程で使用するデータを格納する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。
操作受入部13は、図示しない操作デバイスからユーザの指示操作を有線または無線にて受け入れる。ここで操作デバイスは例えば、家庭用ゲーム機のコントローラ等である。操作受入部13は操作デバイスに対してユーザが行った指示操作の内容を表す情報を制御部11に出力する。なお、本実施の形態では、ユーザは必ずしも操作デバイスを操作する必要はない。この場合、操作受入部13は、ユーザを撮像して、ユーザの手の動き等を検出し、当該手の動き等の情報を、操作の内容を表す情報として制御部11に出力してもよい。
通信部14は、有線または無線にてユーザの表示装置2との間で通信可能に接続される。この通信部14は、表示装置2が出力する画像データを受信して、制御部11へ送出する。またこの通信部14は、制御部11から表示装置2宛に送信する画像データを含む情報を受け入れて、当該情報を、表示装置2に出力する。
ここで情報処理装置1の制御部11の動作について説明する。本実施の形態の制御部11は、一例として図3に例示するように、実基準位置取得部31と、相対位置取得部32と、移動量検出部33と、仮想基準位置演算部34と、仮想相対位置演算部35と、仮想オブジェクト配置処理部36と、レンダリング処理部37と、出力部38とを機能的に含んで構成される。
実基準位置取得部31は、実空間内でのユーザの所定の注目部位の位置及び姿勢の情報を取得する。具体的にこの実基準位置取得部31は、表示装置2が出力する、撮像部23にて撮像された画像データに基づいて、実空間内でのユーザの注目部位としての頭部の位置の情報を、実基準位置情報として取得する。このように画像データに基づいて位置や向きを推定して取得する処理は、オドメトリあるいは、SLAM(Simultaneously Localization And Mapping)等の方法として広く知られているので、ここでの詳しい説明を省略する。
この実基準位置取得部31は、実基準位置情報として、例えばユーザの頭部の実空間内での座標(実空間内の所定の基準点を原点とした実空間でのワールド座標系での座標の値)の情報P(xh,yh,zh)と、当該ユーザの頭部の実空間内での向きの情報とを得る。
この実基準位置取得部31が、この例では本発明の第1の取得手段に相当する。ここで実空間でのワールド座標系は、実空間内でユーザが移動する範囲(床面は平面であるものとする)において、床面をXY平面とし、床面からの高さをZ軸とした直交座標系である。またこの直交座標系では、上記床面内に仮想的に設定した所定の軸方向(例えば東西方向)をX軸、これに直交する床面内の軸方向をY軸方向(X軸を東西方向とすれば、Y軸は南北方向となる)とする。
相対位置取得部32は、実基準位置取得部31が取得した実基準位置情報を用い、ユーザとともに移動する所定対象物に関する点(対象点)の実空間基準位置からの相対位置座標を取得する。本発明の一例では、この所定対象物は、ユーザの身体の所定部位(実基準位置情報で特定される部位(注目部位)とした部分(ここでの例では頭部)を除く)であるものとする。具体的に、所定対象物に関する対象点は、所定対象物とともに移動する点であればどこでもよいが、例えば所定対象物上に設定されてもよく、以下の説明ではユーザの足の中心とする。この例では、ユーザは例えば足に、床面からの高さ(実空間でのワールド座標系でのZ軸座標値)を検出するセンサを取り付けておくものとする。情報処理装置1の制御部11は、このセンサからユーザの足の中心位置(以下、単に足の位置と記述する)の情報Q(xf,yf,zf)を取得するものとする。
相対位置取得部32は、実基準位置情報が表すユーザの頭部の実空間内での座標P(xh,yh,zh)と、このユーザの足の位置の情報Q(xf,yf,zf)との相対的な位置Q′(xf−xh,yf−yh,zf−zh)を求める。この相対位置取得部32が本発明の第2の取得手段に相当する。
移動量検出部33は、相対位置取得部32が取得した情報に基づいて、上記所定対象物上の対象点の、予め定められた初期位置からの移動量を求める。一例としてここでの初期位置は足の位置のある床面上から一定の高さの位置zf0とし、移動量を、この高さzf0の位置から、相対位置取得部32が取得したユーザの足の位置の情報Q(xf,yf,zf)が表す現在の足の床面からの高さzfまでの距離ΔQ=zf−zf0として演算する。
仮想基準位置演算部34は、実基準位置取得部31から実基準位置情報Pの入力を受け入れる。また、仮想基準位置演算部34は、相対位置取得部32から相対的な位置Q′の情報の入力を受け入れる。さらにこの仮想基準位置演算部34は、移動量検出部33から移動量ΔQの入力を受け入れる。
仮想基準位置演算部34は、これら入力された情報に基づき、仮想的な空間内のユーザの基準位置を演算する。本実施の形態のここでの例では、この仮想基準位置演算部34は、相対位置取得部32が取得した相対的な位置Q′と、実基準位置情報Pとを加算してユーザの足の実空間でのワールド座標系での位置座標Q(xf,yf,zf)を得る。仮想基準位置演算部34は、この座標Qに対応する仮想空間中の位置座標(仮想空間のワールド座標系(ξ,η,ζ直交座標系とする)の座標の値)の仮の値を次のように演算する:
ξf=α・xf
ηf=α・yf
ζf=α・zf
ここでαは、仮想空間と実空間との座標系の大きさの比であり、α=1でもよい。
さらに仮想基準位置演算部34は、ここで求めた位置座標の仮の値に、移動量に基づく値を加算して、ユーザの足の仮想空間のワールド座標系での座標の値を求める。本実施の形態のここでの例では、移動量はZ軸(仮想空間でのζ軸)方向(床面からの高さ方向)に限られるので、仮想基準位置演算部34は、ζ軸方向の値に、移動量に予め定めた係数(nとする)を乗じた値を加算する。すなわち、ユーザの足に対応する仮想的なオブジェクトの位置の情報を、
ξf=α・xf
ηf=α・yf
ζf=α・zf+n・ΔQ=α・zf+n・zf−n・zf0
とする。仮想基準位置演算部34は、ここで演算したこの位置の情報が表す座標の値を、仮想的なオブジェクトの位置を表す仮想基準位置の座標の値とする。
仮想相対位置演算部35は、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位)の位置座標を求める。具体的に、この仮想相対位置演算部35は、所定対象物に関する対象点である足を基準とした、実基準位置情報で特定される部位である頭部への仮想空間内での相対位置座標を求める。仮想相対位置演算部35は、ここでは相対位置取得部32が出力する相対的な位置Q′の情報の符号を反転する。そして仮想相対位置演算部35は、仮想基準位置演算部34が演算した仮想基準位置の座標の値に、ここで求めた相対位置座標を加算し、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位)の位置座標を、
ξh=α・xf−α・(xf−xh)=α・xh
ηh=α・yf−α・(yf−yh)=α・yh
ζh=α・zf+n・zf−n・zf0−α・(zf−zh)=α・zh+n・zf−n・zf0
と求める。
すなわち、実空間において基準とした第1の部位の位置と、当該第1の部位からの相対的位置として求められる、ユーザとともに移動する対象物(ユーザの第2の部位であってもよい)の位置とを得ておき、仮想空間では、ユーザとともに移動する対象物の位置に基づいて仮想空間内での基準位置を定め、第1の部位の仮想空間内での位置を当該基準位置からの相対的位置として求める。このとき、第2の部位の移動量をn倍する。
仮想オブジェクト配置処理部36は、仮想基準位置演算部34が演算した仮想基準位置の座標に、実空間においてユーザとともに移動する所定対象物に対応する仮想的なオブジェクトを配する。ここでの例では所定対象物をユーザ自身の足としたので、仮想オブジェクト配置処理部36は、仮想基準位置演算部34が演算した仮想基準位置の座標を、ユーザの足に対応するオブジェクト(例えばユーザ自身のアバター等を仮想的なオブジェクトとする場合、アバターの足に対応するオブジェクト)の位置として設定する。
また仮想オブジェクト配置処理部36は、仮想空間内に配するべき仮想的なオブジェクトを、それぞれ所定の方法で定めた位置(例えば予め定められていてもよいし、演算により求められてもよい)に配する設定を行う。またこのオブジェクトには、床面に相当するオブジェクトが含まれてもよい。この場合、仮想オブジェクト配置処理部36は、仮想空間での床面に相当する位置(ζ=zf0の面)を仮想的な床面として、床面を表す仮想的なオブジェクトをさらに配置する設定を行う。
またこの仮想オブジェクト配置処理部36は、仮想相対位置演算部35が演算した仮想空間内の位置に、実空間での実基準位置にあるユーザの部位に対応する仮想的なオブジェクトを配する。ここでの例では実基準位置にあるユーザの部位は、ユーザの頭部であるので、仮想オブジェクト配置処理部36は、仮想相対位置演算部35が演算した仮想空間内の位置を、例えばアバターの頭部に対応するオブジェクトの位置として設定する。
このようにしたことで、仮想空間内での移動量が、実空間内での移動量の所定係数倍(n倍)された状態となる。すなわち本実施の形態では、ユーザの実空間での移動量rに対し、仮想空間ではn×rだけ移動したかのようにユーザの位置が定められる。また、頭部等、当該基準位置に対応する対象物の位置に追従するユーザの部位については、当該基準位置からの実際の大きさに対応する位置に配されるため、自身の大きさが上記所定係数倍されることがない。従って自身に対応するアバターの大きさには実空間における自身のサイズと異ならないにも関わらず、アバターの仮想空間での移動量が実空間での移動量に対して所定係数倍になったかのような状況を演出できる。
これら仮想基準位置演算部34と、仮想相対位置演算部35と、仮想オブジェクト配置処理部36とが本発明の設定手段を実現する。
レンダリング処理部37は、仮想基準位置演算部34と、仮想相対位置演算部35と、仮想オブジェクト配置処理部36とにより設定された仮想空間内において、ユーザの頭部に相当する位置から、ユーザの頭部前方を視野とする仮想的なカメラを設定する。このレンダリング処理部37は、当該設定した仮想的なカメラからの視野内の仮想空間内のオブジェクトの画像データをレンダリングして生成する。この処理は、仮想的な三次元空間の画像データをレンダリングして生成する処理として広く知られた方法を採用できるので、ここでの詳しい説明を省略する。出力部38は、レンダリング処理部37が生成した画像データをユーザが装着する表示装置2に対して送出する。
なお、ここまでの例では、ユーザの頭部を実空間での基準位置(実基準位置)とし、ユーザの足の座標の情報を相対的な位置の情報として取得することとしていたが、本実施の形態では、ユーザの姿勢を検出するため、さらに多くのユーザの部位の実空間での座標情報を、実基準位置からの相対的位置の情報として得てもよい。例えば、本実施の形態の相対位置取得部32は、実基準位置取得部31が取得した実基準位置情報を用い、ユーザの首、左右の肩や手、腹部、左右の股関節、左右のひざ等のそれぞれの実空間内での座標情報を、実基準位置情報が示す実空間での座標からの相対的な座標情報として検出してもよい。
この座標情報の検出は、例えば、ユーザがそれぞれの部位に装着したセンサにより行ってもよいし、外部からユーザの身体を撮像して、ボーンモデルマッチングにより推定することとしてもよい。これらの処理も、広く知られているので、ここでの詳しい説明を省略する。
この例の場合、仮想基準位置演算部34は、相対位置取得部32からユーザの各部位のそれぞれの相対的な位置Q′の情報の入力を受け入れる。そして仮想基準位置演算部34は、相対位置取得部32から入力されたユーザの各部位の相対的な位置Q′の情報のうちいずれかを選択して、当該選択した情報が表す相対的な位置Q′及び移動量ΔQと、実基準位置情報Pとを用いて、仮想基準位置の座標を求める。
そして仮想相対位置演算部35は、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位)の位置座標だけでなく、仮想基準位置演算部34が選択していない、ユーザの各部位の相対的な位置Q′の情報に対応するユーザの各部位の、仮想空間中の位置座標を求める。具体的に仮想相対位置演算部35は、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位)の位置座標(ξh,ηh,ζh)を、仮想基準位置の情報と相対的な位置の情報とに基づいて求める。その後、仮想相対位置演算部35は、仮想基準位置演算部34が選択していない、ユーザの各部位の相対的な位置Q′の情報に対応する、仮想空間でのユーザの各部位の相対的な位置Q′の情報を求める。そして仮想相対位置演算部35は、実空間での実基準位置にあるユーザの部位の仮想空間内での位置座標に対して、当該求めた相対的な位置Q′の情報をそれぞれ加算して、それぞれの部位の仮想空間内での位置座標を求める。
これにより、本実施の形態の情報処理装置1は、ユーザのアバターの姿勢を仮想空間内で表現するための各部位の位置情報を得る。このようにして仮想空間内のユーザのアバター等のオブジェクトにおける、各部位に対応するオブジェクトの位置を設定できる。つまり、仮想空間内の仮想オブジェクトの姿勢の態様を、ユーザの姿勢に応じて設定できる。なお、ユーザの姿勢の情報は、仮想空間内のアバターの姿勢に反映させるだけでなく、仮想空間内のユーザに対応するオブジェクトの色等、他の態様の設定に用いられてもよい。
本実施の形態の情報処理装置1は、基本的に以上の構成を備えており、次のように動作する。以下の例では、ユーザが床面上でジャンプをする例について説明する。本実施の形態の情報処理装置1は、図4に例示する処理を所定のタイミングごと(例えば1/30秒など。表示装置2のフレームレートに一致させてもよい)に繰り返し実行する。この処理では、まずユーザの頭部の実空間内での位置を、実基準位置として取得する(S1)。ここでの例において、ユーザが初期の位置からジャンプして着地し、元の姿勢に戻るまでの間に情報処理装置1が取得するユーザの頭部の実空間内での位置は、ユーザが直立している初期の状態では
(xh0,yh0,zh0)
であり、ユーザがひざを曲げた状態となると、
(xh0,yh0,zh1),なお、zh1<zh0
となる。そして、ユーザがジャンプした状態では
(xh0,yh0,zh2),ここではzh2>zh0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置1が取得する頭部の位置は、もとの直立したときの状態
(xh0,yh0,zh0)
に戻る。
また情報処理装置1は、ユーザの足の、実基準位置からの相対的な位置を取得する(S2)。ここでは、情報処理装置1が取得するユーザの足の位置は、ユーザが直立している状態からひざを曲げた状態に至るまでは初期の位置
(xf0,yf0,zf0)
から変化しないが、ユーザがジャンプしたときに、足の位置は床面から離れて、
(xf0,yf0,zf1),ここでzf1>zf0
となる。そしてその後、ユーザがもとの直立した状態に戻る(着地する)と、その後は、初期の位置
(xf0,yf0,zf0)
に戻ることとなる。
従って、情報処理装置1が取得する足の位置の、頭部の位置(実基準位置)に対する相対的な位置の情報は、
ユーザが直立している初期の状態では
(xf0−xh0,yf0−yh0,zf0−zh0)
であり、ユーザがひざを曲げた状態となると、
(xf0−xh0,yf0−yh0,zf0−zh1),なお、zh1<zh0
となる。そして、ユーザがジャンプした状態では
(xf0−xh0,yf0−yh0,zf1−zh2),ここではzh2>zh0,zf1>zf0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置1が取得する足の位置の、頭部の位置(実基準位置)に対する相対的な位置は、もとの直立したときの状態
(xf0−xh0,yf0−yh0,zf0−zh0)
に戻ることとなる。
情報処理装置1はさらに足の移動量を検出する(S3)。ここでの例において情報処理装置1が検出する足の移動量の情報は、ユーザが直立している状態からひざを曲げた状態に至るまでは
zf0−zf0=0
であり、ユーザがジャンプしたときには、足の位置zf1>zf0の変化に伴い、
zf1−zf0>0
となる。そしてその後、ユーザがもとの直立した状態に戻る(着地する)と、その後は、初期の値、
zf0−zf0=0
に戻ることとなる。
情報処理装置1は、これら実基準位置情報、相対的な位置Q′、並びに移動量ΔQの情報に基づき、仮想的な空間内のユーザの基準位置を演算する(S4)。
具体的に情報処理装置1は、相対的な位置Q′と、実基準位置情報Pとを加算してユーザの足の実空間でのワールド座標系での位置座標Qを得る。そしてこの座標Qに対応する仮想空間中の位置座標(仮想空間のワールド座標系(ξ,η,ζ直交座標系とする)の座標の値)の仮の値を演算し(S5)、さらにこの仮の値に移動量に予め定めた係数(n)を乗じた値を加算する(S6)。
ここでの例では、ユーザの足に対応する仮想的なオブジェクトの位置の情報は、ユーザが直立している初期の状態では
(α・xf0,α・yf0,α・zf0)
であり、ユーザがひざを曲げた状態においても(足の位置は変わらないので)変化しない。
そして、ユーザがジャンプした状態では
(α・xf0,α・yf0,α・zf0+n・(zf1−zf0))、ここでzf1>zf0
となる。その後、ユーザが着地して元の姿勢に戻ると、情報処理装置1が演算により求めたユーザの足に対応する仮想的なオブジェクトの位置の情報は、もとの直立したときの状態と同じく、
(α・xf0,α・yf0,α・zf0)
に戻ることとなる。
情報処理装置1は、この処理S6で求めた座標の値を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める(S7)。具体的に情報処理装置1は、実基準位置から足の位置までの相対的な位置(処理S2で求めた情報)の符号を反転する。そして情報処理装置1は、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報(仮想空間のワールド座標系での値)を得る。情報処理装置1は、ここで得た相対的な位置の情報に、処理S6で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。
従って、この情報は、
ユーザが直立している初期の状態では
(α・xh0−α・xf0+α・xf0,α・yh0−α・yf0+α・yf0,α・zh0−α・zf0+α・zf0)、つまり、
(α・xh0,α・yh0,α・zh0)
であり、ユーザがひざを曲げた状態となると、
(α・xh0−α・xf0+α・xf0,α・yh0−α・yf0+α・yf0,α・zh1−α・zf0+α・zf0)、つまり、
(α・xh0,α・yh0,α・zh1),なお、zh1<zh0
となる。
そして、ユーザがジャンプした状態となると、
(α・xh0−α・xf0+α・xf0,α・yh0−α・yf0+α・yf0,α・zh0−α・zf0+α・zf0+n・(zf1−zf0))、つまり、
(α・xh0,α・yh0,α・zh0+n・(zf1−zf0))、ここでzf1>zf0
となる。
すなわちここでは、ユーザがジャンプしたときには、実空間のジャンプ量に対して頭部の位置はn倍だけ床面から離れた位置までジャンプしたかのように仮想空間内では扱われる。しかしながら頭部から足までの距離は、(α・xf0,α・yf0,α・zf0+n・(zf1−zf0))と(α・xh0,α・yh0,α・zh0+n・(zf1−zf0))との差であるので、(α・xh0−α・xf0,α・yh0−α・yf0,α・zh0−α・zf0)であり、初期の状態と異ならない。
その後、ユーザが着地して元の姿勢に戻ると、情報処理装置1が求める実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標は、もとの直立したときの状態
(α・xh0,α・yh0,α・zh0)
に戻る。
情報処理装置1は、ユーザに対応するアバター(仮想オブジェクト)を配するにあたり、当該アバターの足、すなわち実空間においてユーザとともに移動する所定対象物(ここではユーザの足)に対応する仮想的なオブジェクトを、処理S6で演算した仮想基準位置の座標に配する。また、情報処理装置1は、当該アバターの頭部の位置を、処理S7で求めた位置に設定する(S8)。
そして情報処理装置1は、ユーザの頭部の位置から、ユーザの頭部前方方向の所定視野内の仮想空間の画像をレンダリングし、レンダリングして得られた画像データをユーザが装着する表示装置2に対して送出する(S9)。
この例によると、ユーザが実空間で、床面から高さzf1−zf0だけジャンプしたとき、仮想空間内では仮想的なカメラが仮想的な空間での床面から、そのn倍、つまりn・(zf1−zf0)の高さに設定され、当該仮想的なカメラの視野内の画像データがユーザに提示されることとなる。
[落下速度の調整]
ここで説明した例では、ユーザがジャンプしたときに、実空間のジャンプ量に対して頭部の位置はn倍だけ高い位置までジャンプしたかのように仮想空間内で扱われるが、落下時にもn倍の速度で落下するように表示されることとなる。そこで、情報処理装置1は、落下速度を設定可能としてもよい。一例として、情報処理装置1は、
・n倍の速度で落下する(上述の通り)、
・定速で落下する、
・実際の重力加速度に従う、
・指定した加速度で落下する、
・落下させない、
・上昇させる、
などの設定を受け入れて、それぞれに対応する処理を実行してもよい。
具体的に定速で落下するとの設定を受け入れた場合、情報処理装置1は、所定のタイミングごとに繰り返し実行される、図4に例示した処理S4において、実基準位置情報Pと、前回の実行時の実基準位置情報Ppとの差、P−Pp>0であれば実空間でユーザの体が上昇していると判断して、既に述べたものと同じ処理を実行する。
またここで、実基準位置情報Pと、前回の実行時の実基準位置情報Ppとの差、P−Ppが0または負の値(P−Pp≦0)であるとき、または定速落下中である旨を表すフラグがオンであるときには、情報処理装置1は、実空間でユーザの体が下降していると判断する。実空間でユーザの体が下降していると判断した場合、情報処理装置1は、図4の処理S4からS6に代えて、次のような処理を実行する。すなわち情報処理装置1は、定速落下中である旨を表すフラグをオンする。そして情報処理装置1は、今回得られている相対的な位置Q′と、実基準位置情報Pとに関わらず、ユーザの足に対応する仮想的なオブジェクトの位置の情報(ξf(t),ηf(t),ζf(t))を、ユーザの足に対応する仮想的なオブジェクトの前回の位置の情報(ξf(t−1),ηf(t−1),ζf(t−1))を用いて、次のように設定する:
ξf(t)=ξf(t−1)、
ηf(t)=ηf(t−1)、
ζf(t)=ζf(t−1)−Δζf、
なおここで、ζf(t−1)−Δζf<α・zh0であれば、ζf(t)=α・zh0とし、定速落下中である旨を表すフラグをオフに設定する。
情報処理装置1は、ここで求めた座標の値(ξf(t),ηf(t),ζf(t))を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。具体的に、情報処理装置1は、実基準位置から足の位置までの相対的な位置(処理S2で求めた情報)の符号を反転し、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報(仮想空間のワールド座標系での値)を得ておき、これに求めた仮想基準位置の情報(ξf(t),ηf(t),ζf(t))を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求める。
そして情報処理装置1は、当該アバターの頭部の位置を、ここで求めた、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置に設定する。そして情報処理装置1は、この設定した位置(仮想空間でのユーザの頭部の位置)から、ユーザの頭部前方方向の所定視野内の仮想空間の画像をレンダリングし、レンダリングして得られた画像データをユーザが装着する表示装置2に対して送出する。
情報処理装置1は、これにより、ユーザがジャンプしたとき、ユーザの位置が上昇から下降に移る時点から、定速落下中である旨を表すフラグをオンに設定し、定速落下中である旨を表すフラグがオンである間、仮想空間内で定速(上述の例では、繰り返しタイミングの時間ごとにΔζf)ずつ落下している状況を描画してユーザに提示する。また、ユーザの仮想空間内の頭部の位置が、もとの頭部の位置を下回った時点で、定速落下中である旨を表すフラグをオフに設定して、この処理を中止し、もとの処理に戻す。
また、実際の重力加速度に従う設定や指定された加速度に応じた速度で落下する(空気抵抗がある場合など、終端速度に達する場合を含む)設定がされたときには、上述の例で、落下速度Δζfを、繰り返し処理ごとに変化させる。具体的に、繰り返しタイミングがΔτごとである場合、指定された加速度をgとして、前回の落下速度Δζf(t−1)を用い、今回の落下速度Δζf(t)を、Δζf(t)=Δζf(t−1)+g・Δτと設定すればよい。また終端速度がある場合は、この計算で得られるΔζf(t)が終端速度を超えたときに、Δζf(t)を終端速度に設定し直して用いればよい。
さらに、落下させない設定とした場合(大きくジャンプして、何かに飛び乗るような演出の例)では、情報処理装置1は、所定のタイミングごとに繰り返し実行される、図4に例示した処理S4において、実基準位置情報Pと、前回の実行時の実基準位置情報Ppとの差、P−Pp>0であれば実空間でユーザの体が上昇していると判断して、既に述べたものと同じ処理を実行する。
またここで、実基準位置情報Pと、前回の実行時の実基準位置情報Ppとの差、P−Ppが負の値(P−Pp<0)となると、情報処理装置1は、ユーザの足に対応する仮想的なオブジェクトの位置の高さ方向の情報ζf(t)を、ユーザにとっての仮想的な床面位置として記憶する。
そして以下の処理では、ユーザの仮想空間内の位置のζ軸方向の座標を、この、ユーザにとっての仮想的な床面位置だけ、ζ軸正の方向に平行移動する。
この処理により、ユーザにはあたかも、ジャンプにより高所に移動したかのような映像が提供される。
[XY面内の移動量]
またここまでの説明では、仮想空間の基準位置に対応させる、実空間での所定対象物上の対象点をユーザの足とし、情報処理装置1は、このユーザの足の移動量として、床面上から足までの高さとしていた。しかしながら本実施の形態はこれに限られない。
例えばユーザとともに移動する所定対象物はユーザが乗車している遊技用カート(車両)であってもよい。この場合、対象点は、例えば遊技用カートの先頭部としてもよいし、遊技用カートの重心としてもよい。
この例では、情報処理装置1は、実空間内でのユーザの所定の注目部位の位置及び姿勢の情報を、オドメトリあるいは、SLAM等の広く知られた技術を用いて取得する。また情報処理装置1は、ユーザが乗車している遊技用カートの実空間内での位置情報を実基準位置情報として取得する。この位置情報は、例えば遊技用カート自体に装着した位置検出センサ(GPS(Global Positioning System)等であってもよいし、遊技用カートの走行路面に配した、位置を表す情報を送信するタグからの信号を検出するものなどであってもよい)を用いて取得され、遊技用カート側から無線通信により情報処理装置1に送出されたものであってもよい。
情報処理装置1は、取得した実基準位置情報を用い、ユーザとともに移動する所定対象物上の点(対象点)の実空間基準位置からの相対位置座標を演算する。ここでは既に述べた例と同様、情報処理装置1は、実基準位置情報が表すユーザの頭部の実空間内での座標P(xh,yh,zh)と、この遊技用カート上の対象点の位置の情報Q(xc,yc,zc)との相対的な位置Q′(xc−xh,yc−yh,zc−zh)を求め、これらを記憶しておく。
そして情報処理装置1は、ここで取得ないし求めた情報に基づいて、遊技用カート上の対象点の、予め定められた初期位置からの移動量を求める。一例としてここでの初期位置は前回情報処理装置1が取得した遊技用カートの位置座標(xcp,ycp,zcp)としておき、移動量を、この位置座標から、上記取得した位置Q(xc,yc,zc)までの差のベクトルΔQ(xc−xcp,yc−ycp,zc−zcp)とする。
この例では、情報処理装置1は、これらの情報に基づき、仮想的な空間内のユーザの基準位置を演算する。本実施の形態のここでの例では、この情報処理装置1は、前回の仮想的な空間内のユーザの基準位置Qvp(ξcp,ηcp,ζcp)を記憶しておく。そして情報処理装置1は、この前回の仮想的な空間内のユーザの基準位置Qvpに対し、移動量を表す差のベクトルΔQに予め定めた係数(nとする)を乗じた値を加算する。すなわち、遊技用カート上の対象点に対応する仮想的なオブジェクトの位置の情報Qv(ξc,ηc,ζc)を、
ξc=ξcp+n・(xc−xcp)
ηc=ηcp+n・(yc−ycp)
ζc=ζcp+α・(zc−zcp)
とする。そしてここで演算したこの位置の情報が表す座標の値を、仮想基準位置の座標の値とし、この座標の値を記憶する(ここで演算された(ξc,ηc,ζc)が次回の処理において前回の仮想的な空間内のユーザの基準位置Qvp(ξcp,ηcp,ζcp)となる)。
なお、本実施の形態では、床面内に平行な方向への移動についてはn倍され、高さ方向への移動についてはα倍されるものとしたが、ここではα=nであってもよい。
また、この仮想的な空間内のユーザの基準位置の初期の位置(前回の仮想的な空間内のユーザの基準位置Qvpがない場合の位置)は、遊技用カート上の対象点の実空間内の初期の位置座標Q(xc0,yc0,zc0)と、移動量に対する係数nとを用いて、
ξc=n・xc0
ηc=n・yc0
ζc=α・zc0
と定めてもよい。
またこの例でも、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位等)の位置座標は、ここで求めた仮想基準位置に対して、相対的な位置Q′の情報の符号を反転して(つまり遊技用カートの対象点を基準としたユーザの頭部の相対位置座標として)加算し、仮想空間内でのユーザの頭部(実空間での実基準位置にあるユーザの部位)の位置座標を求める。すなわち、ここでは
ξh=ξc−xc+xh
ηh=ηc−yc+yh
ζh=ζc−zc+zh
と求める。
情報処理装置1は、また、ユーザの各部位の仮想空間内の位置情報を、この頭部の仮想空間内の位置情報からの相対的位置(実空間中の相対的位置)を用いて演算する。そして情報処理装置1は、ここで演算した仮想基準位置の座標に、実空間において遊技用カートに対応する仮想的なオブジェクトを配する。またユーザのアバターの各部位に相当する仮想的なオブジェクトを、ここで演算した各部位の仮想空間内の位置に配置する。
さらに、情報処理装置1は、仮想空間内に配するべき仮想的なオブジェクトを、それぞれ所定の方法で定めた位置(例えば予め定められていてもよいし、演算により求められてもよい)に配する設定を行う。またこのオブジェクトには、床面に相当するオブジェクトが含まれてもよい。この場合、情報処理装置1は、仮想空間での床面に相当する位置(ζ=zf0の面)を仮想的な床面として、床面を表す仮想的なオブジェクトをさらに配置する設定を行う。
情報処理装置1は、そして、ユーザの頭部に相当する位置に配した仮想的なカメラの視野内の画像をレンダリングしてユーザに提示する。
この例によると、遊技用カートに乗車したユーザが、遊技用カートを操作して移動すると、当該移動量がn倍となったかのような仮想空間の画像がユーザに提示される。
また、この例において実空間内のオブジェクト(実オブジェクト)に対応する仮想的なオブジェクトを仮想空間内に配置する場合は、当該実オブジェクトが配置されている実空間の位置に対応する仮想空間の位置(xr,yr,zr)を、遊技用カート等の位置と同様に、
ξc=n・xr
ηc=n・yr
ζc=α・zr
として少なくとも平面内でn倍(各軸方向に移動量と同じ、またはそれより大きい比率を乗じることと)する。
これにより、実空間内の壁等までの距離がn倍され、移動量をn倍した場合に、実空間に対応する位置(n倍しない場合)に壁が配されることによる不具合(すぐに壁に激突するような映像となる)が解消される。
[移動可能な空間]
本実施の形態において、実空間内でのユーザの移動範囲の外周部に壁があるなど、移動範囲に制限がある場合、実空間におけるユーザの位置と、移動範囲の外周部との距離に応じて、実空間の移動量に対する仮想空間内での移動量の比nを異ならせてもよい。一例として、上記ユーザの位置と、移動範囲の外周部との距離が予め定めたしきい値を下回る(このしきい値は例えば、ユーザの手が届く程度の距離とする)ときには、上記比nを「1」とする。この処理によると、例えば移動可能な空間周囲の壁に手が届かない範囲でnを1より小さい値として設定し、ユーザの仮想空間内の移動量よりも実空間内での移動量が大きくなる場合に、壁に近接した位置ではnを「1」とすることで、壁(仮想空間内で移動が制限される位置)までの距離感を実空間と同様の状態に提示できるようになる。
[実空間の位置情報取得]
また、本実施の形態において実空間での位置情報の取得は、ユーザの頭部の位置については当該頭部に装着された撮像部が撮像した画像を利用した、オドメトリやSLAMを用いることとしていたが、本実施の形態はこれに限られない。
例えばユーザの移動可能範囲を撮像するカメラを実空間内に配して、当該カメラが撮像した画像に基づいてユーザの位置や姿勢を推定してもよい。具体的には、ユーザが頭や肩、手首、足首等の各部位にマーカー等のデバイスを装着してもよい。この例では、実空間内に配されたカメラでユーザを撮像し、当該ユーザが装着するマーカーの実空間内での位置を検出して、実空間内でのユーザの位置や姿勢の情報を取得する。このようなマーカーに基づいてユーザの位置や姿勢の情報を取得する処理は広く知られているので、ここでの詳しい説明を省略する。またユーザの各部位の初期位置からの移動量を、ユーザの各部位に取り付けたジャイロセンサ等によって測定し、ユーザの位置を推定してもよい。
[複数のユーザ]
さらに、ここまでの説明ではユーザが一人である状況を想定していたが、本実施の形態はこれに限られない。情報処理装置1は、複数のユーザのそれぞれについて図4に例示した処理を行ってもよい。すなわち各ユーザの実空間内での頭部の位置、及びそれぞれの頭部の位置から同じユーザの足の位置までの相対的位置の情報を取得し、また、それぞれのユーザの移動量を検出して、各ユーザに対応する仮想空間内の仮想基準位置を求め、また、各ユーザの各部位に対応する仮想オブジェクトの位置をそれぞれ求める。このとき、移動量を所定の係数倍(n倍)する。この係数nは、ユーザ間で共通の値を用いるものとしてもよいし、ユーザごとに、例えばゲーム等の所定の条件等に応じて互いに異なる値に設定してもよい。
また情報処理装置1は、各ユーザの頭部の位置にそれぞれ仮想的なカメラを配して、それぞれのユーザの頭部の向きに対応する、仮想空間内の視野内の画像をレンダリングする。そして情報処理装置1は、各ユーザの頭部に配した仮想的なカメラの視野内の画像データを得て、対応するユーザが装着する表示装置2に対して送出する。
[ユーザ以外の移動体]
またユーザ以外に、仮想空間内を移動するオブジェクト(移動体)についても、ユーザの移動量を所定の係数倍(n倍)する軸方向の移動量については、ユーザと同様の係数倍(n倍)することとしてもよい。
このようにすると、例えば弾丸を避ける、といったゲームの場合に、実空間の感覚よりn倍の速度で飛来する弾丸を、実空間での移動速度のn倍の速度で移動して避ける、といった感覚をユーザに与えることが可能となる。
[仮想空間内での体のサイズの変更]
また、ここまでに説明した例では、図4の処理S6で求めた座標の値を仮想基準位置の座標の値として、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めていた(処理S7)。すなわち情報処理装置1は、実基準位置から足の位置までの相対的な位置(図4の処理S2で求めた情報)の符号を反転し、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報(仮想空間のワールド座標系での値)を得ておき、これに図4の処理S6で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めていた。
本実施の形態の別の例では、この演算に代えて、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めるにあたり、実基準位置から足の位置までの相対的な位置(図4の処理S2で求めた情報)の符号を反転するとともに、所定比率rを乗じ、さらに仮想空間の縮尺に変換して足の位置から見た実基準位置への相対的な位置の情報(仮想空間のワールド座標系での値)を得ておき、これに図4の処理S6で求めた仮想基準位置の情報を加算して、実空間での実基準位置にあるユーザの注目部位に対応する、仮想空間内での位置座標を求めてもよい。
このようにすると、上記比率rだけ仮想空間内でユーザの体が拡大あるいは縮小された状態で画像が描画され、ユーザに提示されることとなる。
[ユーザ]
なお、ここまでの例では、ユーザとともに移動する対象物(ユーザ本人の一部でもよい)の移動量に基づいて仮想空間内での移動量を決定することとしていたが、本実施の形態はこれに限られるものではなく、情報処理装置1は、ユーザとともに移動しない、例えば実空間内で移動するドローン等の物体の移動量を用い、例えば当該移動量の所定軸方向の移動量を所定係数倍するなどして、当該ドローン等の物体に対応する仮想空間内での仮想的なオブジェクトの移動量を決定し、当該決定した移動量だけ当該仮想的なオブジェクトを移動させて、ユーザに移動させた状態を表す画像を提示してもよい。
1 情報処理装置、2 表示装置、11 制御部、12 記憶部、13 操作受入部、14 通信部、21 制御部、22 通信部、23 撮像部、24 表示部、31 実基準位置取得部、32 相対位置取得部、33 移動量検出部、34 仮想基準位置演算部、35 仮想相対位置演算部、36 仮想オブジェクト配置処理部、37 レンダリング処理部、38 出力部。

Claims (11)

  1. 実空間内で基準となる対象物の位置である実空間基準位置を取得する第1の取得手段と、
    実空間内の所定対象物に関する対象点の、実空間内での前記実空間基準位置に対する移動量を検出する検出手段と、
    仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算して、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、
    を有し、
    前記設定手段は、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算する設定手段であり
    前記設定手段により設定された仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられる情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記所定対象物は、実空間内でユーザとともに移動する対象物である情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記所定対象物は、実空間内のユーザの足である情報処理装置。
  4. 請求項2または3記載の情報処理装置であって、
    前記実空間内で基準となる対象物はユーザの所定の部位に対応する対象物であり、
    前記設定手段は、当該ユーザの所定の部位に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を求めるとともに、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記求めたユーザの所定の部位に対応する仮想的なオブジェクトの位置と、前記検出した対象点の移動量に、予め定めた係数を乗じて演算した値とに基づいて演算し、前記所定対象物に対応する仮想的なオブジェクトを前記仮想的な空間の当該演算された位置に配置して、仮想的な空間の情報を設定する情報処理装置。
  5. 請求項1から4のいずれか一項に記載の情報処理装置であって、
    前記ユーザとともに移動する前記所定対象物は、ユーザの身体の一部である情報処理装置。
  6. 請求項1からのいずれか一項に記載の情報処理装置であって、
    前記第1の取得手段は、実空間内でのユーザの所定の注目部位を、実空間内で基準となる対象物として、その位置の情報を実空間基準位置として取得しており、
    前記第1の取得手段が取得した実空間基準位置を用いて、ユーザとともに移動する所定対象物上に設定した対象点の前記実空間基準位置からの相対位置座標を取得する第2の取得手段と、
    を有し、
    前記仮想的な空間の情報を設定する設定手段は、ユーザに対応する仮想的なオブジェクトの前記仮想的な空間内の位置及び前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記第1の取得手段が取得した当該ユーザの所定の注目部位の位置の情報と、前記第2の取得手段が取得した相対位置座標と、前記検出した対象点の移動量に予め定めた係数を乗じた値とを用いて演算する情報処理装置。
  7. 請求項6に記載の情報処理装置であって、
    前記第1の取得手段は、ユーザが装着するデバイスの実空間内での位置を検出して、実空間内でのユーザの位置の情報を取得する情報処理装置。
  8. 請求項6または7に記載の情報処理装置であって、
    前記第1の取得手段はさらに、ユーザの姿勢の情報を取得し、
    前記設定手段は、前記ユーザに対応する仮想的なオブジェクトの態様を、当該取得したユーザの姿勢の情報に基づいて設定する情報処理装置。
  9. 請求項6から8のいずれか一項に記載の情報処理装置であって、
    実空間内の実オブジェクトの位置を表す情報を取得する手段をさらに有し、
    前記設定手段は、当該実オブジェクトに対応する仮想オブジェクトを仮想空間内に配置する処理を行い、当該実オブジェクトの実空間内の位置に対応する仮想空間内の座標を、前記移動量に係る予め定めた係数を用いて演算する情報処理装置。
  10. コンピュータを用い、
    第1の取得手段が実空間内で基準となる対象物の位置である実空間基準位置を取得し、
    検出手段が、実空間内の所定対象物に関する対象点の実空間内での前記実空間基準位置に対する移動量を検出し、
    前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算し、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段が、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に、予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算し、
    当該仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いられる情報処理方法。
  11. コンピュータを、
    実空間内で基準となる対象物の位置である実空間基準位置を取得する第1の取得手段と、
    実空間内の所定対象物に関する対象点の、実空間内での前記実空間基準位置に対する移動量を検出する検出手段と、
    仮想的な空間の情報を設定する手段であって、前記所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を、前記検出した対象点の移動量の情報を用いて演算して、仮想的なオブジェクトを、前記仮想的な空間の当該演算された位置に配置して仮想的な空間の情報を設定する設定手段と、
    として機能させ、前記設定手段として機能させる際に、前記取得した、実空間基準位置に対応する前記仮想的な空間内の位置を求めるとともに、前記検出した、所定対象物に関する対象点の移動量に、予め定めた係数を乗じた値を求め、前記求めた実空間基準位置に対応する仮想的な空間内の位置及び、前記求めた値に基づいて所定対象物に対応する仮想的なオブジェクトの前記仮想的な空間内の位置を演算させ、前記設定手段により設定された仮想的な空間の情報が、ユーザに対する仮想的な空間内のオブジェクトの表示処理に用いるプログラム。
JP2019514428A 2017-04-28 2018-04-18 情報処理装置、情報処理方法及びプログラム Active JP6796197B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017090170 2017-04-28
JP2017090170 2017-04-28
PCT/JP2018/016031 WO2018198909A1 (ja) 2017-04-28 2018-04-18 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018198909A1 JPWO2018198909A1 (ja) 2019-11-07
JP6796197B2 true JP6796197B2 (ja) 2020-12-02

Family

ID=63919255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514428A Active JP6796197B2 (ja) 2017-04-28 2018-04-18 情報処理装置、情報処理方法及びプログラム

Country Status (4)

Country Link
US (1) US11112857B2 (ja)
EP (1) EP3617850A4 (ja)
JP (1) JP6796197B2 (ja)
WO (1) WO2018198909A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11156473B2 (en) * 2016-08-18 2021-10-26 Sony Corporation Information processing apparatus, information processing system, and information processing method
US10747324B2 (en) * 2016-11-02 2020-08-18 Panasonic Intellectual Property Management Co., Ltd. Gesture input system and gesture input method
JP7341674B2 (ja) * 2019-02-27 2023-09-11 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7476513B2 (ja) * 2019-10-28 2024-05-01 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び、情報処理プログラム
US12028507B2 (en) * 2021-03-11 2024-07-02 Quintar, Inc. Augmented reality system with remote presentation including 3D graphics extending beyond frame

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430997B1 (en) * 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
WO2010039674A2 (en) * 2008-10-01 2010-04-08 University Of Maryland, Baltimore Step trainer for enhanced performance using rhythmic cues
US9067097B2 (en) * 2009-04-10 2015-06-30 Sovoz, Inc. Virtual locomotion controller apparatus and methods
FI20096276A0 (fi) * 2009-12-02 2009-12-02 Virtual Air Guitar Company Oy Menetelmä, järjestelmä ja tietokoneohjelma koko kehon liikkeiden ohjaukseen ja arvioimiseen
US20130278631A1 (en) * 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
EP2437220A1 (en) * 2010-09-29 2012-04-04 Alcatel Lucent Method and arrangement for censoring content in three-dimensional images
DE202011110924U1 (de) * 2010-11-24 2017-04-25 Google Inc. Geführte Navigation durch mit Geo-Tags versehene Panoramen
US9056240B2 (en) * 2012-03-09 2015-06-16 Matthew Carrell Apparatus for simulating motion in a virtual environment
US8920347B2 (en) * 2012-09-26 2014-12-30 Woodway Usa, Inc. Treadmill with integrated walking rehabilitation device
RU2643667C2 (ru) * 2012-10-24 2018-02-02 Ян ГЕТГЕЛУК Локомоционная система и устройство
US20140213417A1 (en) * 2013-01-29 2014-07-31 Matthew John Kuntz Gyroscopic exercise device
KR102307790B1 (ko) * 2013-02-04 2021-09-30 칠드런스 내셔널 메디컬 센터 하이브리드 제어 수술 로봇 시스템
US9908048B2 (en) 2013-06-08 2018-03-06 Sony Interactive Entertainment Inc. Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display
US9547173B2 (en) * 2013-10-03 2017-01-17 Honda Motor Co., Ltd. System and method for dynamic in-vehicle virtual reality
CN106415447B (zh) 2014-06-30 2019-08-06 索尼公司 信息处理装置、信息处理方法和图像处理系统
US9690375B2 (en) * 2014-08-18 2017-06-27 Universal City Studios Llc Systems and methods for generating augmented and virtual reality images
WO2016065401A1 (en) * 2014-10-30 2016-05-06 Euclideon Pty Ltd An improved computer system and method for user navigation in a virtual environment
US9852546B2 (en) * 2015-01-28 2017-12-26 CCP hf. Method and system for receiving gesture input via virtual control objects
US9665170B1 (en) * 2015-06-10 2017-05-30 Visionary Vr, Inc. System and method for presenting virtual reality content to a user based on body posture
JP6298432B2 (ja) * 2015-10-19 2018-03-20 株式会社コロプラ 画像生成装置、画像生成方法、及び画像生成プログラム
JP6723720B2 (ja) * 2015-10-20 2020-07-15 キヤノン株式会社 表示システム、情報処理方法及びプログラム
EP3436863B1 (en) * 2016-03-31 2024-07-10 Magic Leap, Inc. Interactions with 3d virtual objects using poses and multiple-dof controllers
US10915165B2 (en) * 2016-07-29 2021-02-09 Emmanuel Lusinchi Methods and systems for controlling a displacement of a virtual point of view in a virtual reality environment
US11132533B2 (en) * 2017-06-07 2021-09-28 David Scott Dreessen Systems and methods for creating target motion, capturing motion, analyzing motion, and improving motion
WO2019046942A1 (en) * 2017-09-05 2019-03-14 Technologies Aperium Inc. NAVIGATION IN A VIRTUAL ENVIRONMENT
KR102029906B1 (ko) * 2017-11-10 2019-11-08 전자부품연구원 이동수단의 가상현실 콘텐츠 제공 장치 및 방법

Also Published As

Publication number Publication date
EP3617850A1 (en) 2020-03-04
EP3617850A4 (en) 2021-01-06
US11112857B2 (en) 2021-09-07
JPWO2018198909A1 (ja) 2019-11-07
WO2018198909A1 (ja) 2018-11-01
US20200033940A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
JP6796197B2 (ja) 情報処理装置、情報処理方法及びプログラム
US11083950B2 (en) Information processing apparatus and information processing method
JP6143469B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6369811B2 (ja) 歩行解析システムおよび歩行解析プログラム
JP2022529245A (ja) 電磁追跡のためのセンサ融合
JP6467698B2 (ja) 野球の打撃練習支援システム
CN105229666A (zh) 3d图像中的运动分析
JP2022505423A (ja) 電磁追跡のための周囲電磁歪み補正
US11231771B2 (en) Interactive exercise and training system and method
US11156830B2 (en) Co-located pose estimation in a shared artificial reality environment
EP3960255A1 (en) Exercise equipment
JP2021009673A (ja) 仮想現実システム、プログラム、およびコンピュータ読み取り可能な記憶媒体
US20180216959A1 (en) A Combined Motion Capture System
US12011647B2 (en) Surface interactions in a virtual reality (VR) environment
WO2018207388A1 (ja) モーションキャプチャに関するプログラム、装置および方法
WO2020174586A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7482471B2 (ja) 学習モデルの生成方法
CN111443812A (zh) 基于vr的自由活动方法、vr装置、设备及存储介质
JP2020201183A (ja) カメラ位置調整方法
Rymut et al. Kinematic analysis of hurdle clearance using a mobile device
Chen et al. The Body Sensor Suit with Mixed Reality Interactive Games
CN112711326A (zh) 虚拟物体操作系统及虚拟物体操作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201113

R150 Certificate of patent or registration of utility model

Ref document number: 6796197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150