(57)【要約】  現実空間内の対象物の位置及び外観に係る情報を取得し、取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する。当該仮想体積要素の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出し、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する情報処理装置である。
2018235744.tif 000002
【特許請求の範囲】
【請求項１】
現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
当該生成した仮想空間の情報を保持する保持手段と、
前記保持された情報を参照し、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、を含み、
前記仮想空間情報生成手段は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記対象物のうち、対象物の移動または姿勢変化が、予め定められたボーンモデルに基づいて行われる対象物については、前記検出手段が、当該ボーンモデルに含まれる各ボーンについて、当該ボーンとともに移動する仮想体積要素を識別するとともに、前記仮想空間の情報の時間変化の情報として、当該ボーンモデルの各ボーンの位置及び方向に係る時間変化の情報を検出し、
前記推定手段は、前記検出された各ボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、各ボーンの位置及び方向に係る情報を推定し、当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置を推定する情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記ボーンの位置及び方向に係る時間変化の情報に対し、過去に実測された、当該時間変化の情報が得られた後のボーンの移動後の位置を表す情報を関連付けて保持するデータベースにアクセス可能に接続され、
前記推定手段は、前記検出したボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、当該ボーンの位置及び方向を、当該データベースに保持される情報に基づいて推定する情報処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報処理装置であって、
前記所定の時間は、今後の所定の描画のタイミングに合致する時刻までの時間である情報処理装置。
【請求項５】
請求項１から３のいずれか一項に記載の情報処理装置であって、
過去に保持された前記仮想空間の情報を参照し、前記仮想体積要素の少なくとも一部についての過去の移動を表す、前記仮想空間の情報の時間変化の情報を検出し、当該検出した時間変化の情報に基づいて、過去の所定のタイミングにおける、当該仮想体積要素の位置を推定して、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置。
【請求項６】
請求項１から５のいずれか一項に記載の情報処理装置であって、
前記推定手段は、さらに、所定の時間だけ後の、当該仮想体積要素の姿勢または形状を、予め定められた物理シミュレーションエンジンを用いて推定する情報処理装置。
【請求項７】
コンピュータを用い、
取得手段が、現実空間内の対象物の位置及び外観に係る情報を取得する工程と、
仮想空間情報生成手段が、前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する工程と、
保持手段が、当該生成した仮想空間の情報を保持する工程と、
検出手段が、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する工程と、
推定手段が、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する工程と、を含み、
当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置の制御方法。
【請求項８】
コンピュータを、
現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
当該生成した仮想空間の情報を保持する保持手段と、
前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、
として機能させ、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
仮想現実（ＶＲ）技術等、比較的情報処理負荷の高い技術を利用したゲームでは、処理の遅延による応答の遅れを隠蔽するため、将来提示する情報を予測により得ており、当該予測された情報に基づいて、ゲーム画面の描画処理等を行っている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現実空間の情報をデプスセンサ等で取得し、仮想空間に表示する技術を利用している場合、一般に、デプスセンサの情報取得の速度が、描画のフレームレートに比して低速であるため、仮想空間への現実空間の状況反映が遅延することがあり、臨場感を損ねることとなる。【０００４】
本発明は上記実情に鑑みて為されたもので、臨場感を損ねることなく情報提示処理を実行できる情報処理装置、制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００５】
上記従来例の問題点を解決する本発明は、情報処理装置であって、現実空間内の対象物の位置及び外観に係る情報を取得する手段と、前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、当該生成した仮想空間の情報を保持する保持手段と、前記保持された情報を参照し、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、を含み、前記仮想空間情報生成手段は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力することとしたものである。
【発明の効果】
【０００６】
本発明によると、臨場感を損ねることなく情報提示処理を実行できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置に接続される表示装置の例を表す構成ブロック図である。
【図３】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図４】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【図５】本発明の実施の形態に係る情報処理装置における処理の内容例を表す説明図である。
【図６】本発明の実施の形態に係る情報処理装置による描画タイミングの例を表す説明図である。
【図７】本発明の実施の形態に係る情報処理装置の処理例を表す説明図である。
【発明を実施するための形態】
【０００８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置１は、図１に例示するように、例えば家庭用ゲーム機であり、制御部１１と、記憶部１２と、操作受入部１３と、撮像部１４と、通信部１５とを含んで構成される。またこの情報処理装置１は、ユーザが頭部に装着するヘッドマウントディスプレイ（ＨＭＤ）などの表示装置２との間で通信可能に接続されている。
【０００９】
本実施の形態においてユーザが頭部に装着する表示装置２の一例は、ユーザが頭部に装着して使用する表示デバイスであって、図２に例示するように、制御部２１と、通信部２２と、表示部２３とを含む。ここでの例では表示装置２の制御部２１は、マイクロコンピュータ等のプログラム制御デバイスであって、内蔵する記憶部等の図示しないメモリ等に格納されたプログラムに従って動作し、情報処理装置１から通信部２２を介して入力される情報に応じた映像を表示部２３に表示させて、ユーザに閲覧させる。
【００１０】
通信部２２は、有線または無線にて情報処理装置１との間で通信可能に接続される。この通信部２２は、情報処理装置１から表示装置２宛に送信された情報を、制御部２１に出力する。
【００１１】
表示部２３は、ユーザの右目と左目とのそれぞれの目の前に、それぞれの目に対応した映像を表示するものとする。この表示部２３は、有機ＥＬ表示パネルや液晶表示パネルなどの表示素子を含む。この表示素子が制御部２１から入力される指示に従って映像を表示する。この表示素子は、左目用の映像と右目用の映像とを一列に並べて表示する１つの表示素子であってもよいし、左目用の映像と右目用の映像とをそれぞれ独立に表示する一対の表示素子であってもよい。なお、本実施形態においてこの表示装置２は、ユーザが外界の様子を視認することができない非透過型の表示装置であるものとするが、これは必須ではなく、透過型の表示装置であっても構わない。
【００１２】
また情報処理装置１の制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されているプログラムを実行する。本実施の形態では、この制御部１１は、撮像部１４により、現実空間内の対象物の位置及び外観に係る情報を取得し、当該取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により対象物を表現した仮想空間の情報を生成する処理を行う。この処理は、例えばボクセル等と呼ばれる仮想体積要素を複数配置して、対象物を表現する処理や、ポイントクラウド（点群データ、以下単に「点群」と称する）等のように、対象物表面に対応する位置に点群を配することで対象物を表現する処理等、広く知られた処理により行われる。
【００１３】
またこの制御部１１は、仮想体積要素の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出し、この検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する。そして制御部１１は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する処理を実行する。また制御部１１は、仮想空間内の所定の位置に配した仮想的なカメラの視野内の点群をレンダリングして、画像データを生成し、ユーザの表示装置２に対して、通信部１５を介して出力する。この制御部１１の詳しい動作については、後に述べる。
【００１４】
記憶部１２は、ＲＡＭ等のメモリデバイスやディスクデバイス等であり、制御部１１が実行するプログラムを格納する。また、この記憶部１２は制御部１１のワークメモリとしても動作し、制御部１１がプログラム実行の過程で使用するデータを格納する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部１２に格納されたものであってもよい。
【００１５】
操作受入部１３は、図示しない操作デバイスからユーザの指示操作を有線または無線にて受け入れる。ここで操作デバイスは例えば、家庭用ゲーム機のコントローラ等である。操作受入部１３は操作デバイスに対してユーザが行った指示操作の内容を表す情報を制御部１１に出力する。なお、本実施の形態では、ユーザは必ずしも操作デバイスを操作する必要はない。
【００１６】
撮像部１４は、光学カメラやデプスセンサ等を含む。この撮像部１４は、ユーザの前方（頭部前方）の所定視野内の画像を撮像した画像データを繰り返し取得するとともに、当該所定視野内の画像データの各画素に対応する、実空間内の対象物（他のユーザや、ユーザが所在する部屋内の家具等）までの距離情報を繰り返し取得し、取得した距離情報を制御部１１に出力する。
【００１７】
通信部１５は、有線または無線にてユーザの表示装置２との間で通信可能に接続される。この通信部１５は、表示装置２が出力する画像データを受信して、制御部１１へ送出する。またこの通信部１５は、制御部１１から表示装置２宛に送信する画像データを含む情報を受け入れて、当該情報を、表示装置２に出力する。さらにこの通信部１５は、ネットワークインタフェースを含んでもよく、ネットワークを介して外部のサーバコンピュータや、他の情報処理装置との間で種々のデータを送受することとしてもよい。
【００１８】
次に本実施の形態の制御部１１の動作について説明する。本実施の形態の一例では、制御部１１は機能的には、図３に例示するように、実空間情報取得部３１と、点群配置部３２と、保存部３３と、推定部３４と、推定点群配置部３５と、仮想空間情報生成部３６と、出力部３７とを含んで構成される。
【００１９】
実空間情報取得部３１は、撮像部１４から、撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れる。実空間情報取得部３１は、これにより現実空間内の対象物の位置、及び外観に係る情報（色の情報）を取得する。なお、本実施の形態の一例では、対象物の位置等は、例えば撮像部１４を原点として、撮像部１４が撮像する視野の方向をＺ軸、撮像部１４が撮像する画像データの縦方向（重力方向）をＹ軸、これらに直交する軸をＸ軸としたＸＹＺ直交座標系で表す。
【００２０】
点群配置部３２は、実空間情報取得部３１が取得した情報に基づいて、実空間内の対象物を表す仮想空間内の点群の各点（各仮想体積要素）の色及び位置を決定する。このような点群の設定方法については広く知られているので、ここでの詳しい説明は省略する。
【００２１】
保存部３３は、点群配置部３２が設定した点群に含まれる各点の位置及び色の情報を記憶部１２に格納して保存する。本実施の形態では、この保存部３３は、図示しない計時部（カレンダーＩＣ等）から点群配置部３２が点群を設定した時点の日時を表す日時情報を取得し、当該取得した日時情報に関連付けて、点群の情報を記憶部１２に格納して保存するものとする。なお、保存部３３は、このとき、点群の情報の元となった、実空間情報取得部３１が取得した情報の少なくとも一部（例えば撮像された画像データ等）を併せて保存してもよい。
【００２２】
推定部３４は、仮想体積要素（ここでの例では点群に含まれる各点、以下仮想体積要素を点群で表現するときの仮想体積要素を「点」と表記する）の少なくとも一部についての移動を表す、仮想空間の情報の時間変化の情報を検出する。具体的に、この時間変化の情報は次のように検出する。すなわち推定部３４は、保存部３３が保存した過去Ｎ回分（Ｎは２以上の正の整数であり、例えばＮ＝２（前回の点群と今回の点群の２つ））の各時点における仮想空間内の点群の情報（点群の各点の色や位置の情報、以下点群情報と呼ぶ）を参照する。推定部３４は、当該参照した点群内の各点について、対応する点を識別する。つまり、前回の点群内のある点に対応する今回の点群の点を識別する（各時点で対応する点に同じ識別情報を設定する）。そして、推定部３４は、各時点の点群における互いに対応する点ごとの移動量を求める。この移動量は、仮想空間の座標系、例えばξ，η，ζ直交座標を用いて表される。
【００２３】
一例として、この推定部３４は、撮像部１４の位置は移動していないものと仮定する。そして推定部３４は、参照した点群とともに保存されている画像データにおける所定の特徴量等の比較による対応部分の検出結果を用いて対応する点群内の点の移動量を推定する方法やオプティカルフロー等の処理等により、過去Ｎ回分の点群の情報のそれぞれを参照し、当該参照した各回の点群に含まれる各点について、対応する点を識別する処理を行う。
【００２４】
推定部３４は、ここで識別した各点について、時間変化の情報を求める。ここで時間変化の情報は例えば識別された各点の移動量（仮想空間内の各点の座標の微分に相当する差分）や、当該移動量の差分値（仮想空間内の座標の二階微分に相当する差分）、さらにその差分（仮想空間内の座標の三階微分に相当する差分）…などでよい。
【００２５】
推定部３４は、さらに、ここで求めた時間変化の情報に基づいて、演算の時点より所定の時間だけ後の、仮想体積要素である点群の各点の、仮想空間内の位置を推定する。この推定は、各点の移動量やその差分等に基づく外挿演算により行い得る。具体的には、各点の移動量やその差分等を数値的に積分して推定を行うことができる。この推定部３４の動作については、後に種々の変形例を含めてさらに詳しく説明する。
【００２６】
推定点群配置部３５は、推定部３４による推定の結果に基づいて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する。仮想空間情報生成部３６は、推定点群配置部３５により配された点群を含む仮想空間の情報を生成して出力する。
【００２７】
出力部３７は、仮想空間情報生成部３６が生成した、仮想空間内の所定の位置（例えばユーザの目の位置）に配した仮想的なカメラの視野内の点群をレンダリングして、画像データを生成し、ユーザの表示装置２に対して、通信部１５を介して出力する。
【００２８】
［動作］
本実施の形態は、以上の構成を基本的に備え、次のように動作する。すなわち、本実施の形態の情報処理装置１は、図４に例示するように、撮像部１４で撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れ（Ｓ１）、当該取得した情報に基づいて、実空間内の対象物を表す仮想空間内の点群の各点の色及び位置を決定する（Ｓ２）。情報処理装置１は、ここで設定した点群に含まれる各点の位置及び色の情報を記憶部１２に格納して保存する（Ｓ３）。
【００２９】
このとき情報処理装置１は、処理Ｓ２にて点群を設定した時点の日時を表す日時情報を図示しないカレンダーＩＣ等から取得し、当該取得した日時情報に関連付けて、点群の情報を記憶部１２に格納して保存する。また、処理Ｓ２において求めた点群の情報の元となった、撮像された画像データを併せて保存する。
【００３０】
情報処理装置１は、過去Ｎ回の処理Ｓ２の実行時に設定され、処理Ｓ３にて保存された点群の情報を取り出して参照し（Ｓ４）、当該点群に含まれる各点について、対応する点を識別する（Ｓ５）。具体的に、図５のように対象物を表現する点群Ｇの一つに含まれる点ｐについて、時刻ｔ１における各点を順次、注目点として選択し、選択した注目点に対応する、それより過去の時刻ｔ０（ｔ０＜ｔ１）における点群内の点を特定し、選択している注目点と、特定した点とにそれぞれ共通の識別子を設定する。
【００３１】
情報処理装置１は、ここで識別した各点について、時間変化の情報を求める（Ｓ６）。具体的には、処理Ｓ５にて同じ識別子を設定した時刻ｔ０における点ｐa′と、時刻ｔ１における点ｐaとの座標の差を、時刻の差（ｔ１−ｔ０）で除して、点ｐaについての時間変化の情報ΔＰとする。この処理を、時刻ｔ１における点群の各点について行う。
【００３２】
情報処理装置１は、処理Ｓ６で求めた時間変化の情報に基づいて、演算の時点（時刻ｔ１）より所定の時間Δｔだけ後（ｔ１＋Δｔ）の点群の各点の、仮想空間内の位置を推定する（Ｓ７）。具体的には、時刻ｔ１における点群の各点のそれぞれを順次、注目点として選択し、選択した注目点ｐNの座標Ｐ（ξN，ηN，ζN）と、この注目点ｐNについて処理Ｓ６にて求めた時間変化の情報ΔＰとを用い、Ｐ＋ΔＰ×Δｔとして、演算の時点（時刻ｔ１）より所定の時間Δｔだけ後（ｔ１＋Δｔ）での注目点ｐNの座標を推定する。なお、処理Ｓ６にて時間変化の情報が求められていない注目点ｐN（時刻ｔ０には対応する点がなく、時刻ｔ１で現れた点）については、時刻ｔ１から移動しないものとして推定してもよい。なお、この動作例における処理Ｓ５からＳ７の例は一つの例示であり、他の例についても、後に変形例として述べる。
【００３３】
情報処理装置１は、処理Ｓ７での推定の結果に基づいて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する（Ｓ８）。そして情報処理装置１は、この点群を含む仮想空間の情報を生成し、さらに仮想空間内の所定の位置（例えばユーザの目の位置）に配した仮想的なカメラの視野内にある点群をレンダリングして、画像データを生成し（Ｓ９）、ユーザの表示装置２に対して、通信部１５を介して出力する（Ｓ１０）。そして情報処理装置１は、処理Ｓ１に戻って処理を続ける。また、表示装置２は、この情報処理装置１が送信する、レンダリングされた画像データをユーザに提示する。
【００３４】
なお、ここで情報処理装置１は、処理Ｓ１からＳ３までの処理と、処理Ｓ４からＳ１０までの処理とをそれぞれ並列して実行し、それぞれ繰り返し実行してもよい。
【００３５】
本実施の形態のこの例によると、撮像のタイミングとは関わりなく、表示（レンダリング）を行う時点の点群情報を推定して生成する。このため、一般的には、図６に例示するように、実際の撮像のタイミングｔ０，ｔ１，ｔ２…がレンダリングを行うべきタイミングτ０，τ１，τ２…（フレームレートによって定められるタイミング、例えばフレームレートが３０ｆｐｓであれば、１／３０秒ごとのタイミング）と異なっているとしても、レンダリングを行うべきタイミングτ０，τ１，τ２…での点群の情報に基づく画像を提供できる。
【００３６】
すなわち本実施の形態では、例えば上記処理Ｓ７において、時刻ｔ１（ここではτ０＜ｔ１＜τ１＜τ２＜ｔ２としている）での点群の情報と、時刻ｔ０での点群の情報とに基づいてそれからΔｔ1＝τ１−ｔ１だけ後の時点での点群の情報と、Δｔ2＝τ２−ｔ１だけ後の時点での点群の情報とを推定（今後の所定の描画のタイミングに合致する時刻までの時間だけ後の時点での点群の情報を推定）することとし、また、これらτ１，τ２の時点での点群の情報を処理Ｓ８にて生成することとすれば、図６に例示するように、時刻ｔ１から時刻ｔ２の間にある描画タイミングの画像をユーザに提示できる。このことで、たとえ撮像タイミングが１５．１ｆｐｓであるなど、フレームレートに対して若干のずれを持っている場合であっても、フレームレートに従ったタイミングでの画像が生成されることとなる。また、撮像タイミングに対して高速なフレームレートで描画を行わせることも可能となる。
【００３７】
［点またはボクセルを基準とした推定］
以下、情報処理装置１の制御部１１による仮想体積要素の移動の推定の処理のいくつかの例について説明する。まず、この制御部１１は、仮想体積要素そのものを基準として推定を行うこととしてもよい。具体的に、この例では、記憶部１２に保存した過去Ｎ回分（Ｎは２以上の正の整数であり、例えばＮ＝２（前回の点群と今回の点群の２つ））の点群情報を参照し、当該参照した点群内の各点について、対応する点を識別し、対応する点ごとの移動量（仮想空間の座標系、例えばξ，η，ζ直交座標で表される）を求める。
【００３８】
そして、制御部１１は、オプティカルフローの処理により、過去Ｎ回分の点群の情報のそれぞれを参照し、当該参照した各回の点群に含まれる各点について、対応する点を識別しつつ、対応する点の移動量を求める。
【００３９】
なお、ここでは点群の例について説明したがボクセルについても同様に、制御部１１が記憶部１２に保存した過去Ｎ回分（Ｎは２以上の正の整数であり、例えばＮ＝２（前回と今回の２つ））のボクセルの位置や色などの情報を参照し、当該参照したボクセルの情報において、各時点での対応するボクセルを識別し、対応するボクセルごとの移動量（仮想空間の座標系、例えばξ，η，ζ直交座標で表される）を求め、オプティカルフロー等の処理により過去Ｎ回の各時点間での対応するボクセルの移動量を求めることとすればよい。
【００４０】
またここでオプティカルフローによる処理を行う場合、例えば人体等、脊椎動物のように変形に拘束のある場合（人体を含む脊椎動物の体の場合、関節とボーンとにより例えば腕等の各部位の移動範囲が拘束される）であっても、当該拘束とは関わりなく点が移動したものとして扱われる場合がある。そこで、このように仮想体積要素についてオプティカルフロー等の処理によって移動量を求める場合、同方向に移動する仮想体積要素ごとにグループ化（ｋ近傍法などで分類する）し、当該グループ内の移動量の平均値に対して分散σだけ離れている移動量の仮想体積要素については、ノイズとしてフィルタリングして扱ってもよい。
【００４１】
制御部１１は、こうして求めた時間変化の情報に基づいて、演算の時点より所定の時間だけ後の、仮想体積要素の、仮想空間内の位置を推定する。この推定は、各仮想体積要素の移動量やその差分等に基づいて数値的に積分を行うことで行えばよい。
【００４２】
［モデルに基づく推定］
また、仮想体積要素が、人体などのように、ボーンモデルによって推定が可能な対象を表す場合は、情報処理装置１の制御部１１による仮想体積要素のそれぞれを、対象となった脊椎動物（以下の説明では人体を例とする）のどのボーンに対応するものかを識別しておき、ボーンモデルに基づいて仮想体積要素の移動量を推定してもよい。
【００４３】
具体的に、本実施の形態の一例では、情報処理装置１の制御部１１は、仮想体積要素のそれぞれを、同方向に移動する仮想体積要素ごとにグループ化する。このグループ化の処理は、独立成分分析（ＩＣＡ）や主成分分析（ＰＣＡ）、ｋ近傍法等の方法によって行う。また、人体の各部位（胴体、上肢、下肢、上腕、下腕、頭部）は、それぞれ円筒形により近似できるので、円筒形状部分を認識する処理を組み合わせてもよい。また、仮想体積要素の密度が比較的高い場所を認識する処理をさらに含め、グループ化の処理に供してもよい。
【００４４】
制御部１１は、人体の各部位に対応すると考えられる仮想体積要素のグループのうち、グループに属する仮想体積要素の数が最大となっているグループ（最大グループと呼ぶ）を特定する。制御部１１は、当該最大グループの仮想体積要素のグループが、人体の胴体部に対応するものとし、仮想空間内で、重力方向（Ｙ軸方向下方）にある仮想体積要素のグループのうち、胴体部に近い側を上肢、胴体部から遠い側を下肢を表すグループとする（左右（Ｘ軸方向）にそれぞれ１対の上肢、下肢が検出される）。また、胴体部の中心から仮想空間内で、重力方向とは反対側（Ｙ軸方向上方）にある仮想体積要素のグループのうち、属する仮想体積要素の数が最も多いものを頭部を表す仮想体積要素のグループとし、その他の仮想体積要素のグループのうち、一方端が胴体部上方に近接している仮想体積要素のグループを上腕、上腕の他方端に、一方端が近接している仮想体積要素のグループを下腕とする。この上腕、下腕についても、一般には２つずつ検出される。
【００４５】
制御部１１は、それぞれ識別した胴体部、Ｘ軸左側の下肢（右足下肢に相当する）、Ｘ軸左側の上肢（右足上肢に相当する）、Ｘ軸右側の下肢（左足下肢に相当する）、Ｘ軸右側の上肢（左足上肢に相当する）、頭部、Ｘ軸左側の上腕（右手上腕に相当する）、Ｘ軸左側の下腕（右手下腕に相当する）、Ｘ軸右側の上腕（左手上腕に相当する）、Ｘ軸右側の下腕（左手下腕に相当する）の各グループに属する仮想体積要素について、それぞれのグループに対応する、グループごとに固有の識別情報（ラベル）を設定する（ラベリング処理）。
【００４６】
制御部１１は、胴体部、Ｘ軸左側の下肢（右足下肢に相当する）、Ｘ軸左側の上肢（右足上肢に相当する）、Ｘ軸右側の下肢（左足下肢に相当する）、Ｘ軸右側の上肢（左足上肢に相当する）、頭部、Ｘ軸左側の上腕（右手上腕に相当する）、Ｘ軸左側の下腕（右手下腕に相当する）、Ｘ軸右側の上腕（左手上腕に相当する）、Ｘ軸右側の下腕（左手下腕に相当する）の各グループに属する仮想体積要素について、それぞれ、外接円筒形状を求め、この外接円筒形状の回転対称軸（円筒の一対の円盤面のそれぞれの中心を端点とする線分）をボーンとする。なお、この外接円筒形状を求める方法としては、レーベンバーグ・マーカート（Levenberg-Marquardt）法等の非線形最適化法により、仮想体積要素に相当する外接円筒形状を最尤推定する方法などがある。
【００４７】
制御部１１は、人体のモデルに沿って、各ボーンに対応するジョイントを設定する。例えば頭部と胴体部との間には頚椎の関節に対応するジョイントを設定する。このようなジョイントの設定方法は、人体等のボーンモデルを用いた処理において広く知られているので、ここでの詳しい説明を省略する。なお、隣接する円柱状の仮想体積要素群が存在しない（ジョイントが設定できない）グループについては、人体ではない（ボーンモデルを用いることができない）点群として処理を行うこととしてもよい。このような点群については、制御部１１は、既に述べたような、仮想体積要素そのもの（点やボクセル）を基準とした推定を行うこととする。
【００４８】
制御部１１は、また、記憶部１２に保存した過去Ｎ回分（Ｎは２以上の正の整数であり、例えばＮ＝２（前回の点群と今回の点群の２つ））の点群情報を参照し、点群内の各点について、対応する点を識別し、対応する点ごとの移動量（仮想空間の座標系、例えばξ，η，ζ直交座標で表される）を求める。そして制御部１１は、ラベルごとに、当該ラベルが設定されている各点の移動量の統計値（例えば平均値または中央値等）を求める。
【００４９】
この移動量の統計値は、ラベルに対応するボーンの移動量（各ボーンの位置及び方向に係る時間変化の情報）に相当するので、制御部１１は、これにより各ボーンの移動量を推定する。また、制御部１１は、例えばボーンモデルのうち末端に相当するボーン（下腕，下肢）の移動量を、上述のように点群（左右の各下腕，左右の各下肢に係るラベルが付された各点の移動量）に基づいて推定した後、これに連結する上腕、上肢の移動量をインバース・キネマティック（ＩＫ）演算により推定し、さらに当該上腕，上肢の動きからそれに連結する胴体部の移動量についても同様に推定し…というように、いわゆるインバース・キネマティクスの方法を用いて、各ボーンの移動量を推定してもよい。
【００５０】
また制御部１１は、点群そのものに基づく推定（各点ごとに移動量がΔξpc_i，Δηpc_i，Δζpc_i（ここでｉは、ｉ＝１，２，…であり、各共通のラベルが付された各点に固有の識別子を便宜的に表したものである）であるとする）と、ボーン上の点であって、当該ｉ番目の点に最も近い位置にある点のインバース・キネマティックスによる移動量の推定結果（その移動量はΔξIK，ΔηIK，ΔζIKであるとする）と、を用いて、これらの結果を組み合わせて、各点の移動量の推定を行ってもよい。
【００５１】
例えば、本実施の形態のある例では、制御部１１は、ボーンからある点（仮想体積要素）までの距離ｒを、当該ボーンに対応する部位を表す点群としてラベルが設定された点群が存在する仮想空間の範囲を円柱で近似したときの当該円柱の回転軸から、当該点までの距離として定めておく。
【００５２】
そしてこの例の制御部１１は、この距離ｒの情報を用い、ｒが大きいほど「１」に近づき、ｒ＝０のとき「０」となる、ｒについて単調増加するパラメータαを定める。制御部１１は、このαを用いて、ｉ番目の点の移動量（Δξ_i，Δη_i，Δζ_i）を、
Δξ_i＝（１−α）・ΔξIK＋α・Δξpc_i
Δη_i＝（１−α）・ΔηIK＋α・Δηpc_i
Δζ_i＝（１−α）・ΔζIK＋α・Δζpc_i
などと定めてもよい。この例によると、ボーンに近い点ほどボーンに基づく推定結果に対応する移動量だけ移動したものと推定され、ボーンから離れた点ほど、点群そのものについて推定された移動量が反映されることとなり、例えば上腕部に対応する部分の衣服（ボーンから比較的離れた場所となる）の動きが実際の動きに基づいて反映されるとともに、ボーンの移動量の推定結果から著しく離れた場所に移動するという不自然な動きとなることが阻止される。
【００５３】
なお、このパラメータαは、部位ごとに異なって設定されてもよい。例えば頭部においては、ボーンの中心（当該ボーンに対応する部位を表す点群としてラベルが設定された点群が存在する仮想空間の範囲を円柱で近似したときの当該円柱の回転軸の長手方向の中心、つまり円柱の中心）からの距離ｒを用い、ｒが大きいほど「１」に近づき、ｒ＝０のとき「０」となる、ｒについて単調増加するパラメータαを定めてもよい。これにより、ボーン近傍であり、かつ、頭頂側にある点群（髪と考えられる）が、剛体的に、ボーンに従って移動することがなくなる。
【００５４】
制御部１１は、このようにして点群の各点について推定した移動量を用いて、所定の時間だけ後の各点の仮想空間内の位置に各点を配置した、点群情報を生成する。これにより、検出された各ボーンの位置及び方向に係る時間変化の情報に基づき、所定の時間だけ後の、各ボーンの位置及び方向に係る情報が推定され、また当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置が推定される。
【００５５】
制御部１１は、この点群を含む仮想空間の情報を生成し、さらに仮想空間内の所定の位置（例えばユーザの目の位置）に配した仮想的なカメラの視野内にある点群をレンダリングして、画像データを生成し、当該画像データをユーザの表示装置２に対して出力して、ユーザに提示させる。
【００５６】
［ボーンが検出できる場合］
また撮像部１４が撮像した画像データ等に基づいて（点群の情報を用いずに）、制御部１１が対象物のボーンやジョイントの位置及び角度を推定できる場合（画像データに基づくボーンやジョイントの推定方法は広く知られているので、ここでの詳しい説明を省略する）は、点群の移動量に基づくことなく、当該推定された位置及び角度に基づいて各ボーンの移動量（各ボーンの位置及び方向に係る時間変化の情報）を推定してもよい。この場合、画像データに基づいてボーンの移動量が推定できない場合に、制御部１１がラベリング処理した点群の移動量から、ボーンの移動量を推定するようにしてもよい。
【００５７】
［データベースを用いた推定］
さらにここでは、ボーンの移動量（位置及び角度の時間変化）に基づく、所定の時間だけ後のボーンの位置及び角度の推定結果は、当該ボーンの単位時間あたりの移動量に、上記所定の時間の長さを乗じて得ることとしていたが本実施の形態はこれに限られない。このようなボーンの移動量の変化については、代表的なポーズの変化（過去に実測されたもの）を機械学習させてデータベースとして記録しておき、ボーンの移動量を入力したときに、所定の時間だけ後のボーンの位置及び角度の推定結果が得られるようにしておいてもよい。
【００５８】
またこのデータベースは、記憶部１２に格納されていてもよいし、外部のサーバコンピュータに格納され、通信部１５を介してアクセス可能となっていてもよい。
【００５９】
［補正］
また、ここでの例では、ボーンに近い点ほどボーンに基づく推定結果に対応する移動量だけ移動したものと推定され、ボーンから離れた点ほど、点群そのものについて推定された移動量が反映されるものとしたが、本実施の形態はこれに限られない。例えば、ボーンから所定の距離以上に重力方向下方に離れている点については、点群そのものについて推定された移動量がより大きく反映されるようにしてもよい。すなわち、ボーンから所定の距離以上離れた位置にあり、かつボーンから重力方向下方に存在する点については、そうでない点に比べ、上記パラメータαを「１」により近い値（点群そのものについて推定された移動量をより強く反映する値）に設定する。
【００６０】
これは図７に例示するように、ボーン近傍の点が、例えば人体の腕そのものとともに移動すると考えられるのに対し、所定の距離（腕の太さ等、部位の大きさに相当する距離）以上離れており、かつ、当該部位に対応するラベルが付されている点（図７の領域Ａ内に存在し得る点）は、被服等、人体の部位の移動に追従するものの、部位そのものの動きとは独立している（いわば軟体的に移動し得る）こと、そして、当該動きは重力や、風等の外力に影響されるため、ボーンから重力方向に下方にあるものほど、部位そのものの動きとは独立していると考えられることに基づく。
【００６１】
［ボーンに対する点群の位置の設定例］
また、ここまでの説明では、ボーンの情報を用いつつ、点群の各点など、個々の仮想体積要素の過去の移動量に基づいて、個々の仮想体積要素の所定タイミングでの位置を推定することとしていたが、本実施の形態はこれに限られない。
【００６２】
本実施の形態の一例では、個々の仮想体積要素の過去の移動量を用いる代わりに、所定のタイミングでのボーンの位置及び方向を推定した後、当該位置及び方向のボーンに対応するラベルが付された点群に含まれる各点の位置を、当該ボーンを内包する円柱状の範囲に、予め定めた密度で分散して配置してもよい。このような配置の位置を決定する方法としては、非線形最適化法などの方法を採用できる。また、この場合も、ボーンを重力方向に対して比較的上方に内包するよう、各仮想体積要素を分散して配置してもよい。また、各仮想体積要素の色は、過去の仮想体積要素の位置を参照し、今回、色を決定しようとする仮想体積要素が配置された位置に対応する位置に、最も近い位置に存在していた仮想体積要素の色をそのまま用いる等の方法で決定できる。
【００６３】
［過去画像とスローモーション］
さらに情報処理装置１の制御部１１は、過去に保存した、仮想空間内の仮想体積要素の配置位置と色との情報（仮想空間の情報）を参照し、当該仮想体積要素の少なくとも一部について、その過去の移動を表す、仮想空間の情報の時間変化の情報を検出して、過去のタイミングにおける各仮想体積要素の位置及び色を推定してもよい。具体的に、制御部１１は、過去の時刻Ｔ０，Ｔ１，Ｔ２，Ｔ３…において、撮像部１４が撮像した画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報に基づいて決定された、実空間内の対象物を表す仮想空間内の仮想体積要素（点群等）の色及び位置の情報を、記憶部１２に保存しているものとする。
【００６４】
制御部１１は、その後の時刻Ｔnow（Ｔ０＜Ｔ１＜Ｔ２＜Ｔ３…＜Ｔnow）において、過去の時刻τ１，τ２，τ３…（τ１＜τ２＜τ３＜…＜Ｔnow、なお、Ｔ０＜Ｔ１≦τ１とし、Δτ＝τi+1−τi（ｉ＝１，２，３…）は、一定であり、フレームレートのタイミングとする）にて仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報を、上記保存された情報に基づいて定める。ここで例えば時刻τ１にて仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報については、制御部１１は、保存された情報のうち、時刻τ１より以前の時刻での情報（時刻Ｔ０，Ｔ１での情報）に基づいて定めてもよい。この場合は、既に述べた、将来の所定の時点での情報を推定する例と同様の外挿演算の処理となる。
【００６５】
もっとも、本実施の形態のここでの例では、推定する時点より後の情報が得られているので、制御部１１は、内挿処理により、推定を行う時点τ１，τ２，τ３…での仮想体積要素の位置及び色の情報を求めてもよい。つまり、制御部１１は、τ１の時点での仮想空間内に配置されているべき各仮想体積要素の位置及び色の情報については、保存された情報のうち、時刻τ１より以前の時刻での情報（時刻Ｔ０，Ｔ１での情報）と、時刻τ１より後の時刻での情報（時刻Ｔ２，Ｔ３…での情報）とを用いて、これらを内挿して時刻τ１での情報を得る。このような内挿演算については広く知られた方法を採用できるので、ここでの詳しい説明は省略する。
【００６６】
この例によると、過去の時刻τ１，τ２，τ３…での仮想空間内の点群の配置が推定されるので、制御部１１は、仮想空間内の所定の位置（例えばユーザの目の位置）に配した仮想的なカメラの視野内の、当該推定の結果として得られた仮想空間の画像（点群等）をレンダリングして画像データを生成し、ユーザの表示装置２に対して、通信部１５を介して出力する。このとき、過去の時刻τ１，τ２，τ３…での仮想空間の画像を、これらΔτ＝τi+1−τi（一定の値であるとする）のタイミングごとの画像として出力すると、過去の画像がリピート再生できることとなる。
【００６７】
なお、ここではΔτ＝τi+1−τiをフレームレートのタイミングとしたが、本実施の形態ではこの限りではなく、制御部１１は、Δτ＝τi+1−τiを、フレームレートの整数倍のタイミングとしてもよい。具体的にフレームレートが３０ｆｐｓであるときには、Δτを１／１２０としてもよい。そして制御部１１は、過去の時刻τ１，τ２，τ３…での仮想空間の画像を、フレームレート通りに出力する。この例では、整数倍のスローモーション映像として、過去の映像が生成され、提供されることとなる。本実施の形態において特徴的なことの一つは、このような所定の時点での画像が、当該時点において取得された情報ではなく、その時点の前、あるいは前後に取得された情報に基づいて推定して得られていることである。
【００６８】
［シミュレーションエンジン］
また、ここまでの説明の例では、制御部１１は仮想空間に配した仮想体積要素の位置及び色の情報の時間変化に基づいて、将来の所定のタイミング、または過去のタイミングにおける各仮想体積要素の位置及び色を外挿により推定していた。しかしながら、本実施の形態はこれに限られず、制御部１１は仮想空間に配した仮想体積要素の位置及び色の情報の時間変化に基づき、所定のシミュレーションエンジンによるシミュレーションを行い、当該シミュレーションの結果として将来の所定のタイミング、または過去のタイミングにおける各仮想体積要素の位置及び色を推定してもよい。ここでのシミュレーションは、物理現象に基づくシミュレーション（いわゆる物理シミュレーション）や、物理現象を誇張したアニメーション的効果のシミュレーション（変形を誇張したり、触れたとたんに粒子として飛び散るように効果を設定したり、といったアニメーション処理の適用シミュレーション）、化学現象のシミュレーション（反応シミュレーション）等、種々のシミュレーション処理を用いることができる。
【００６９】
この例によると、例えば仮想空間内に配された対象物間の相互作用（例えば物体同士の衝突など）による移動方向の変化や形状の変化（ボールなどの弾性変形等）、重力の影響による移動速度の変化等の情報が反映され、より自然な推定を行うことが可能となる。またこの場合においては、個々の仮想体積要素を、剛体粒子とした粒子運動のシミュレーションとすることとしてもよい。
【００７０】
［処理の一部をネットワーク経由で行う例］
またここまでの説明では、情報処理装置１の制御部１１が、実空間情報取得部３１と、点群配置部３２と、保存部３３と、推定部３４と、推定点群配置部３５と、仮想空間情報生成部３６としての動作を行うものとしたが、この例に代えて、制御部１１は、撮像部１４が撮像した画像データや、取得した、実空間内の対象物までの距離の情報を、別途用意されたサーバ装置へ送出し、このサーバ装置にて実空間情報取得部３１と、点群配置部３２と、保存部３３と、推定部３４と、推定点群配置部３５と、仮想空間情報生成部３６と、出力部３７のうち少なくとも一つの動作を行わせ、サーバ装置に、当該処理の結果としての仮想空間内の所定の位置（例えばユーザの目の位置）に配した仮想的なカメラの視野内の点群をレンダリングした画像データ等の処理の結果を、ユーザの情報処理装置１または表示装置２に対して、送信出力させ、その後の処理を情報処理装置１または表示装置２側にて行うようにしてもよい。
【００７１】
例えば、サーバ装置側にて出力部３７までの処理を行う場合、出力部３７としての動作を行うサーバ装置は、情報処理装置１を介することなく、サーバ装置が備える通信手段（ネットワークインタフェース等）を介して、ユーザの表示装置２に対して、画像データを送信出力する。
【００７２】
またこの例では、実空間情報取得部３１としての動作を行うサーバ装置は、情報処理装置１から、当該情報処理装置１の撮像部１４にて撮像された画像データ、及び、当該画像データの各画素に撮像されている実空間内の対象物までの距離の情報を受け入れることとなる。
【００７３】
この場合の情報処理装置１とサーバ装置との間の情報の授受は、インターネットや、携帯電話回線等の通信経路を介して行われてもよい。すなわち、この例のサーバ装置は、インターネットを介してアクセス可能となっていてもよい。
【００７４】
さらに、本実施の形態の別の例では、サーバ装置が、点群配置部３２と保存部３３と推定部３４との処理を行って、点群に含まれる各点の位置の推定結果を、それらの処理の対象とした画像データや、外観の情報等の提供元であるユーザの情報処理装置１に対して送信出力するようにしてもよい。この場合、その後段の推定点群配置部３５、仮想空間情報生成部３６、及び出力部３７などの処理は、ユーザの情報処理装置１側にて行われる。同様に、サーバ装置が、推定点群配置部３５または、仮想空間情報生成部３６までの処理を行って、その後段の処理をユーザの情報処理装置１側にて行うようにしてもよい。
【００７５】
また、本実施の形態の説明は一例であり、本発明の趣旨を逸脱しない範囲で種々の変形が可能である。例えばここまでの説明において点群の例で説明した処理は、他の仮想体積要素の例、例えばボクセルについても同様に適用できる。
【符号の説明】
【００７６】
１  情報処理装置、２  表示装置、１１  制御部、１２  記憶部、１３  操作受入部、１４  撮像部、１５  通信部、２１  制御部、２２  通信部、２３  表示部、３１  実空間情報取得部、３２  点群配置部、３３  保存部、３４  推定部、３５  推定点群配置部、３６  仮想空間情報生成部、３７  出力部。
【図１】
2018235744.tif 000003
【図２】
2018235744.tif 000004
【図３】
2018235744.tif 000005
【図４】
2018235744.tif 000006
【図５】
2018235744.tif 000007
【図６】
2018235744.tif 000008
【図７】
2018235744.tif 000009
【手続補正書】
【提出日】令和1年8月19日(2019.8.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
当該生成した仮想空間の情報を保持する保持手段と、
前記保持された情報を参照し、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、を含み、
前記仮想空間情報生成手段は、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力し、
前記対象物のうち、対象物の移動または姿勢変化が、予め定められたボーンモデルに基づいて行われる対象物については、
前記検出手段が、当該ボーンモデルに含まれる各ボーンについて、当該ボーンとともに移動する仮想体積要素を識別するとともに、前記仮想空間の情報の時間変化の情報として、当該ボーンモデルの各ボーンの位置及び方向に係る時間変化の情報を検出し、
前記推定手段が、前記検出された各ボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、各ボーンの位置及び方向に係る情報を推定し、当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置を推定する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記ボーンの位置及び方向に係る時間変化の情報に対し、過去に実測された、当該時間変化の情報が得られた後のボーンの移動後の位置を表す情報を関連付けて保持するデータベースにアクセス可能に接続され、
前記推定手段は、前記検出したボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、当該ボーンの位置及び方向を、当該データベースに保持される情報に基づいて推定する情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記所定の時間は、今後の所定の描画のタイミングに合致する時刻までの時間である情報処理装置。
【請求項４】
請求項１または２に記載の情報処理装置であって、
過去に保持された前記仮想空間の情報を参照し、前記仮想体積要素の少なくとも一部についての過去の移動を表す、前記仮想空間の情報の時間変化の情報を検出し、当該検出した時間変化の情報に基づいて、過去の所定のタイミングにおける、当該仮想体積要素の位置を推定して、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力する情報処理装置。
【請求項５】
請求項１から４のいずれか一項に記載の情報処理装置であって、
前記推定手段は、さらに、所定の時間だけ後の、当該仮想体積要素の姿勢または形状を、予め定められた物理シミュレーションエンジンを用いて推定する情報処理装置。
【請求項６】
コンピュータを用い、
取得手段が、現実空間内の対象物の位置及び外観に係る情報を取得する工程と、
仮想空間情報生成手段が、前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する工程と、
保持手段が、当該生成した仮想空間の情報を保持する工程と、
検出手段が、前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する工程と、
推定手段が、当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する工程と、を含み、
当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力し、
前記対象物のうち、対象物の移動または姿勢変化が、予め定められたボーンモデルに基づいて行われる対象物については、
前記検出手段が、当該ボーンモデルに含まれる各ボーンについて、当該ボーンとともに移動する仮想体積要素を識別するとともに、前記仮想空間の情報の時間変化の情報として、当該ボーンモデルの各ボーンの位置及び方向に係る時間変化の情報を検出し、
前記推定手段が、前記検出された各ボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、各ボーンの位置及び方向に係る情報を推定し、当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置を推定する情報処理装置の制御方法。
【請求項７】
コンピュータを、
現実空間内の対象物の位置及び外観に係る情報を取得する手段と、
前記取得した対象物の現実空間内の位置に対応する仮想空間内の位置に、当該対象物の少なくとも外観に沿って、複数の仮想体積要素を配して、当該仮想体積要素の集合により前記対象物を表現した仮想空間の情報を生成する仮想空間情報生成手段と、
当該生成した仮想空間の情報を保持する保持手段と、
前記仮想体積要素の少なくとも一部についての移動を表す、前記仮想空間の情報の時間変化の情報を検出する検出手段と、
当該検出した時間変化の情報に基づいて、所定の時間だけ後の、当該仮想体積要素の位置を推定する推定手段と、
として機能させ、当該推定の結果に基づいて、所定の時間だけ後の仮想空間の情報を生成して出力させ、
前記対象物のうち、対象物の移動または姿勢変化が、予め定められたボーンモデルに基づいて行われる対象物については、
前記検出手段として機能させる際に、当該ボーンモデルに含まれる各ボーンについて、当該ボーンとともに移動する仮想体積要素を識別させるとともに、前記仮想空間の情報の時間変化の情報として、当該ボーンモデルの各ボーンの位置及び方向に係る時間変化の情報を検出させ、
前記推定手段として機能させる際に、前記検出された各ボーンの位置及び方向に係る時間変化の情報に基づいて、所定の時間だけ後の、各ボーンの位置及び方向に係る情報を推定させ、当該推定された各ボーンの位置に基づいて、各ボーンとともに移動するものとして識別された仮想体積要素の移動位置を推定させるプログラム。
【国際調査報告】
2018235744.tif 000010
2018235744.tif 000011
2018235744.tif 000012
2018235744.tif 000013