(57)【要約】【課題】  動体が表示されるべき位置に表示されないという違和感を低減する。【解決手段】  現実空間を撮像した第１画像を取得する撮像手段と、前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理装置であって、前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記第１画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第１画像とを合成した前記第２画像を生成する画像生成手段と、前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第２画像を表示する位置をシフトする表示位置制御手段とを有することを特徴とする。【選択図】  図２
2020071718.tif 000002
【特許請求の範囲】
【請求項１】
現実空間を撮像した第１画像を取得する撮像手段と、前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理装置であって、
前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記第１画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第１画像とを合成した前記第２画像を生成する画像生成手段と、
前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第２画像を表示する位置をシフトする表示位置制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記所定時間は、撮像装置によって撮像を行う第１の時刻と、前記画像表示装置の位置または姿勢を計測する第２の時刻との差分であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像生成手段は、前記第１画像から前記物体を抽出した領域を、前記推定結果に基づく位置に描写した画像を生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記物体は手であって、
前記画像生成手段は、前記第１画像における肌色領域から抽出された前記手を前記推定結果に基づく位置に描写した画像を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１画像は、ステレオ画像であって、
前記画像生成手段は、前記第１画像から抽出された前記物体の３次元の形状に基づいて、前記推定結果に基づく位置に前記物体を描写した画像を生成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１画像はステレオ画像であって、
前記画像生成手段は、前記第１画像から前記物体の３次元の形状を取得し、前記推定結果に基づく位置に前記物体を３次元で描写した画像を生成することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記画像表示装置の位置または姿勢を計測した結果を取得する位置姿勢取得手段を更に有し、
前記表示位置制御手段は、前記位置姿勢取得手段によって得られた結果に基づいて前記第２画像をシフトする量を制御することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記撮像手段によって撮像された過去の画像に基づいて前記物体の動きを推定する推定手段をさらに有し、
前記画像生成手段は、前記推定手段によって推定された結果を用いて前記物体を前記所定時間後における前記物体の位置に描写した画像を生成することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記動体は手であって、
前記推定手段は、さらに前記手の指の関節角度を推定し、
前記画像生成手段は、前記推定手段の結果に基づいて前記手の指を変化させた画像を生成することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記画像表示装置は、ヘッドマウントディスプレイであることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
現実空間を撮像した第１画像を取得する撮像手段と、前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理装置であって、
前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、第１画像をシフトした背景画像を生成する第１生成手段と、
前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記第１画像中の前記推定結果に基づく位置に前記物体を描写した画像と、前記第１生成手段によって生成された前記背景画像とを合成した前記第２画像を生成する第２生成手段と、を有することを特徴とする情報処理装置。
【請求項１２】
仮想空間の第３画像を用いて生成した第４画像を表示する表示手段を備える画像表示装置に、前記第４画像を供給する情報処理装置であって、
仮想空間において特定の物体の所定時間後の位置を推定した結果に基づいて、前記第３画像中の前記推定結果に基づく位置に前記物体を描写した画像から前記第４画像を生成する画像生成手段と、
前記第３画像の生成から表示するまでの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第４画像を表示する位置をシフトする表示位置制御手段とを有することを特徴とする情報処理装置。
【請求項１３】
コンピュータを、請求項１乃至１２のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１４】
現実空間を撮像した第１画像を取得する撮像手段と、前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理方法であって、
前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第２画像を表示する位置をシフトする表示位置制御工程と、
前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記表示手段に供給する第２画像中の前記推定結果に基づく位置に、前記物体に相当する画像を生成する画像生成工程とを有することを特徴とする情報処理方法。
【請求項１５】
現実空間を撮像した第１画像を取得する撮像手段と、および前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理装置を有する情報処理システムであって、
情報処理装置は、
前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記第１画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第１画像とを合成した前記第２画像を生成する画像生成手段と、
前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第２画像を表示する位置をシフトする表示位置制御手段とを有することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実感や複合現実感のシステムに関する。
【背景技術】
【０００２】
設計・製造分野における試作工程の期間短縮、費用削減を目的として、仮想現実感（ＶＲ：Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）や複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）システムが利用されている。これらのシステムではＣＡＤ（コンピュータ支援設計）システムで作成した設計（形状・デザイン）データを用いて、現実物を試作することなく、組み立てやすさやメンテナンス性を評価できる。これらのシステムではヘッドマウントディスプレイ（ＨＭＤ：ＨＥＡＤ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）が用いられる。ＨＭＤは頭部に直接装着することで視野全体を覆い、体験者の位置・姿勢に応じた視点からみた仮想現実感を体験できる映像を表示する。体験者が動くことによってＨＭＤの位置や姿勢が変化した場合、ＨＭＤに表示する映像を生成する処理に時間がかかるため、ＨＭＤには体験者が動く前の映像が表示される。この際、体験者が想定する映像とは異なる映像が表示されることに起因して映像に対する違和感（体感的遅延による違和感）が生じる。そこで、特許文献１では、体感的遅延緩和を目的として、遅延時間の姿勢変化量に対応した量だけ、表示画像を画面内シフトする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１０９９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、動体が現実空間に存在する場合でも動体がどちらの方向に動くか推定せずに、位置姿勢が急激に動く前の画像をシフトさせるだけである。そのため、ＨＭＤの位置姿勢の変化に伴って、動体が表示されるべき位置が移動する方向とは逆方向に、動体が表示されることがある。つまり、特許文献１に開示される方法は現実空間中の動体の動きを考慮していないため、動体を含む映像の遅延を緩和することができなかった。本発明は上記課題に鑑みてなされたものであり、シーン中に動体が存在する場合でもＨＭＤ装着者のＨＭＤの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決する本発明にかかる情報処理装置は、現実空間を撮像した第１画像を取得する撮像手段と、前記第１画像を用いて生成された第２画像を表示する表示手段とを備える画像表示装置に、前記第２画像を供給する情報処理装置であって、前記第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、前記第１画像中の前記推定結果に基づく位置に前記物体を描写した画像と前記第１画像とを合成した前記第２画像を生成する画像生成手段と、前記撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および前記画像表示装置の位置または姿勢の変化量に基づいて、前記表示手段に供給する第２画像を表示する位置をシフトする表示位置制御手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、シーン中に動体が存在する場合でもＨＭＤ装着者のＨＭＤの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】仮想現実空間で発生しうる遅延した画像の表示例を示す図。
【図２】情報処理装置が生成する画像の表示例を示す図。
【図３】情報処理装置のハードウェア構成例を示すブロック図。
【図４】情報処理システムの機能構成例を示すブロック図。
【図５】情報処理装置が実行する処理を示すフローチャート。
【図６】動体モデル取得部１４００が実行する処理を説明するフローチャート。
【図７】動体モデル推定部１４６０が実行する処理を説明するフローチャート。
【図８】遅延取得部１４５０が実行する処理を説明するフローチャート。
【図９】ポリゴン情報と重心位置の例を示す図。
【図１０】予測移動ベクトルの算出方法の例を示す図。
【図１１】ボーン推定結果の変化の例を示す図。
【図１２】関節角度の変化と予測した関節角度の例を示す図。
【図１３】撮像画像に写った動体に対する画像処理の例を示す図。
【図１４】情報処理システムの機能構成例を示すブロック図。
【図１５】情報処理装置が実行する処理を示すフローチャート。
【発明を実施するための形態】
【０００８】
（第１の実施形態）
以下、添付図面を参照して、本発明を適用した好適な実施形態に従って詳細に説明する。
【０００９】
ヘッドマウントディスプレイ（以下、ＨＭＤ）は、両目用のディスプレイおよび両耳用のヘッドホンを内蔵する。ユーザはＨＭＤを頭部に装着することにより、ディスプレイに表示される静止画や動画などを鑑賞し、ヘッドホンから出力される音声や音楽などを聴くことができる。本実施形態では特に複合現実システム（ＭＲシステム）に用いられるＨＭＤの例を説明する。このとき、ＨＭＤはＨＭＤ内の撮像部から取り込んだ現実空間の画像と仮想空間の画像とを合成し、複合現実感を体験できる映像としてＨＭＤ内の表示部に出力する。また、ＨＭＤに内蔵または外付けされたジャイロセンサーや加速度センサーなどによりＨＭＤを装着したユーザの頭部の位置情報と頭部の回転角や傾きなどの姿勢情報を計測することができる。なお、姿勢情報とは、ジャイロセンサー等の姿勢センサーによってＨＭＤの相対的な動きを計測した結果である。以下で記載する画像または映像は、情報処理装置で生成された画像の例である。生成された画像の一部またはすべてが、ＨＭＤを装着したユーザに提示される。本実施形態では、動体１１０を観察し、予測した位置に配置することで遅延を軽減する方法について説明する。本実施形態では、動体をステレオカメラによって観測し、得られた３次元の形状情報から３次元モデルを生成する例を説明する。なお、３次元モデルを使って説明を行うが、３次元モデルを使わずに、撮像画像から抽出される２次元の動体領域を予測した位置に表示する画像を生成してもよい。
【００１０】
まず現実空間において特定の物体（例えば動いている物体あるいは動く可能性がある物体）を含む映像の遅延が仮想現実空間で発生する例を図１で説明する。図１の（Ａ）は、所定の時刻ｔにおける現実空間上におけるＨＭＤと特定の物体（動体１１０）と静止物体１２０の位置関係を示している。ここで、特定の物体とは、動く可能性がある物体の代表としてＨＭＤ装着者の手であるとする。図１の（Ａ）の状態から次の時刻ｔ＋Δｔにおける位置関係を図１の（Ｂ）に示す。時間Δｔは、情報処理装置がＨＭＤに表示する画像を生成する所要時間であるとする（例えば１００ｍｓｅｃ．）。図１（Ｂ）では、Δｔ秒間にＨＭＤがΔΘだけ右に回転し、動体は静止物体１２０に対し、Δｈだけ右側に移動している状態を示している。図１の（Ｃ）と（Ｄ）は、ＨＭＤの視点から見た時刻ｔおよび時刻ｔ＋Δｔにおける遅延のない理想的な画像を示している。図１（Ｅ）は、仮想空間描画処理で遅延が発生している画像１０２０を示している。なお、物体１３０はＣＧモデルを現実空間に合わせて描写したＣＧである。画像１０２０は、時刻ｔにおける画像１０００を画像処理した結果であるが、ＨＭＤの動きとは無関係に画像処理にかかった時間だけ遅延して表示されることになる。ここで、遅延のない図１（Ｄ）における動体の理想的な表示位置に対し、図１（Ｅ）は、矢印１５０の長さだけ水平方向にずれた位置に動体が描写される。この矢印の大きさに比例してＨＭＤ装着者は仮想空間の映像に体感的な違和感を生じさせうる。なお、図１（Ｄ）（Ｅ）（Ｆ）を貫く点線は、画像１０００が見えていた視界を示しており、ＨＭＤの動きに従ってΔＸだけずれて表示されることを示している。一方で、図１（Ｆ）は時刻ｔで生成した映像を、ＨＭＤの移動量ΔΘを加味した大きさΔＸだけ画像の水平方向にシフトしたときの画像を示している。シフト量ΔＸについては、まず、撮像時刻に近い時刻の姿勢と最新の姿勢との変化量を求める。さらに、この変化を、合成画像上における垂直方向と水平方向の画像シフト量に変換する。画像１０３０の黒で示した領域は、画像をシフトしたために撮像できていない領域が黒く表示される様子を示す。図１（Ｆ）の静止物体１２０の位置は、図１（Ｄ）の静止物体１２０の位置と比べてＨＭＤの画面上で同じ位置に表示される。しかし、動体に関しては、矢印１６０の長さ分、実時間（時刻ｔ＋Δｔ）における動体の位置（図１（Ｄ）における動体の理想的な表示位置）とのズレが生じるため、そのぶん動体が遅延していると感じる。これは、Δｔ秒間で動いた動体の移動距離Δｈを無視して、時刻ｔで得た撮像画像１０００をΔＸだけシフトしたために生じる。なお、図１（Ｅ）の画像をシフトする処理を含まない場合の動体の位置と、図１（Ｄ）の理想的な表示位置との差異である矢印１５０よりも、矢印１６０の方が長い。そのため、ＨＭＤ装着者により一層の違和感を与える可能性がある。ＨＭＤが右回転し、装着者の手が右に平行移動するケースは一例である。すなわち、ＨＭＤの位置または姿勢の変化を考慮して画像を表示しても、特定の物体の動きが予測できず、また処理時間を更に要するために、ＨＭＤ装着者にとって違和感のある映像を表示してしまう可能性がある。さらに、���合現実感を提供するためのビデオシースルー型のＨＭＤでは、前述した表示映像の生成の前に、ＨＭＤ搭載カメラで現実空間を撮像して露光する時間、画像情報を伝送する時間が加算される。すなわち、画像生成にかかる処理時間がさらに長くなり、ＨＭＤや動体の姿勢の変化による違和感がさらに増す可能性がある。
【００１１】
図２は、本実施形態の情報処理装置が実施する処理の概要を説明する模式図である。図２（Ａ）および図２（Ｂ）は、図１（Ｃ）と図１（Ｄ）と同じ画像を示している。すなわち、図２の（Ａ）の状態から次の時刻ｔ＋Δｔにおける位置関係を図２の（Ｂ）に示す。時間Δｔは、情報処理装置がＨＭＤに表示する画像を生成する所要時間であるとする（例えば２００ｍｓｅｃ．）。図２（Ｂ）では、Δｔ秒間にＨＭＤがΔΘだけ右に回転し、動体は静止物体１２０に対し、Δｈだけ右側に移動している状態を示している。図２（Ｃ）の画像２０２０は、図２（Ａ）の画像２０００における動体１１０を３次元モデル化した模式図である。図２（Ｄ）の画像２０３０は、３次元モデル化した動体１１１をＨＭＤの動きに従って予測された３次元位置に描写し、背景となる画像２０００と合成した画像である。画像２０３０は、画像２０００を背景にしているため、静止物体１２０や部屋の奥の様子は画像２０００から変化していない。画像２０３０において、動体１１１は、処理時間とＨＭＤの動きに従って予測された位置に描写される。
【００１２】
図２（Ｅ）は、図２（Ｄ）の画像２０３０を特許文献１の手法で画像シフトしたときの画像２０４０を示している。図２（Ｅ）では、遅延のない理想的な図２（Ｂ）の画像２０１０に対して、静止物体１２０の位置と動体１１１の予測位置が画像上で近いことがわかる。このように、動体１１０も予測した画像を生成することにより、体験者に違和感の少ない映像を提示することができる。なお、動体１１０は所定の画像処理を実施しない限り画像２０００の位置に写ることになる。
【００１３】
図３は、本実施形態の情報処理装置を実現するためのハードウェアを示す模式図である。ＣＰＵ９０１は、ＲＡＭ９０７やＲＯＭ２０２に格納されているコンピュータプログラムやデータを使ってコンピュータ全体の制御を行う。また、ＣＰＵはそれと共に以下の各実施形態で情報処理装置が行うものとして説明する各処理を実行する。ＲＡＭ９０７は、外部記憶装置９０６や記憶媒体ドライブ９０５からロードされたコンピュータプログラムやデータを一時的に記憶する。またＲＡＭ９０７は、外部から受信したデータを一時的に記憶するためのエリアを有する。更に、ＲＡＭ９０７は、ＣＰＵ９０１が各処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ９０７は、各種エリアを適宜提供することができる。また、ＲＯＭ９０２には、コンピュータの設定データやブートプログラムなどが格納されている。キーボード９０９、マウス９０８は、操作入力装置の一例としてのものであり、コンピュータのユーザが操作することで、各種の指示をＣＰＵ９０１に対して入力することができる。表示部１９５０は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ９０１による処理結果を画像や文字などで表示することができる。例えば、表示部１９５０には、撮像装置４１０によって撮像された現実空間の画像と仮想画像とを合成した合成画像を表示することができる。外部記憶装置９０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置９０６には、ＯＳ（オペレーティングシステム）や、情報処理装置が行う各処理をＣＰＵ９０１に実行させるためのプログラムやデータが格納されている。外部記憶装置９０６に保存されているコンピュータプログラムやデータは、ＣＰＵ９０１による制御に従って適宜ＲＡＭ９０７にロードされる。ＣＰＵ９０１はこのロードされたプログラムやデータを用いて処理を実行することで、情報処理装置が行う各処理を実行することになる。記憶媒体ドライブ９０５は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出したり、係る記憶媒体にコンピュータプログラムやデータを書込んだりする。尚、外部記憶装置９０６に保存されているものとして説明したプログラムやデータの一部若しくは全部をこの記憶媒体に記録しておいても良い。記憶媒体ドライブ９０５が記憶媒体から読み出したコンピュータプログラムやデータは、外部記憶装置９０６やＲＡＭ９０７に対して出力される。Ｉ／Ｆ９０３は、撮像装置４１０を接続するためのアナログビデオポートあるいはＩＥＥＥ１３９４等のデジタル入出力ポートにより構成される。Ｉ／Ｆ９０３を介して受信したデータは、ＲＡＭ９０７や外部記憶装置９０６に入力される。バス９１０は、上述の各構成部をバス信号によって繋げるものである。
【００１４】
図４は、本実施形態における情報処理システム４００の機能構成例を示すブロック図である。以下、各機能ブロックについて説明する。情報処理システム４００は、ＨＭＤ２００と、ＨＭＤ２００に表示する画像を生成する情報処理装置１００とを有する。ＨＭＤ２００は、撮像部１１００と、表示部１９５０とを有する。ＨＭＤ２００と情報処理装置１００の間の通信はＵＳＢやＩＥＥＥ１３９４、ＬＡＮが選択可能であり、特定の通信方式に限定されるものではない。なお、ＨＭＤ２００に情報処理装置１００が含まれる構成でもよい。
【００１５】
撮像部１１００は、少なくとも撮像光学系と撮像センサーから構成され、現実空間を撮像する。本実施形態では、ＨＭＤの内部に搭載され、静止物体１２０と動体１１０を撮影するステレオカメラである。撮像部１１００は１秒間に６０回撮像を行い、１回の撮像が終了すると撮像光学補正部１２００に撮像画像を送信する。撮像部１１００は、画像と同時に撮像時刻も画像に対応付けて情報処理装置１００に送信する。
【００１６】
表示部１９５０は、少なくとも表示パネルと表示光学系から構成され、表示画像補正部１９００で補正された画像を提示する。
【００１７】
撮像画像補正部１２００は、撮像部１１００によって撮像された画像に対し、レンズ歪み補正処理を行う。補正処理により、レンズを通して撮像された画像の歪みを補正し、ＣＧ画像との整合性を高める。撮像画像補正部１２００は、さらに補正した画像を合成画像生成部１８００に、撮像時刻を遅延取得部１４５０に送信する。
【００１８】
姿勢取得部１３００は、ジャイロセンサーや加速度計から構成され、ＨＭＤの姿勢情報を計測した結果を取得する。姿勢情報とは、ジャイロセンサー等の姿勢センサーによってＨＭＤの相対的な動きを計測した結果である。ここで取得する姿勢情報は、特定の物体の位置を予測するのに用いる。姿勢取得部１３００は、１００Ｈｚ以上で姿勢データが取得でき、遅延が少ない姿勢センサーを使用することが好ましい。姿勢取得部１３００は、計測した姿勢情報を遅延取得部１４５０と合成画像生成部１８００に送信する。姿勢取得部１３００は、現在計測できている最新の姿勢の計測時刻を遅延取得部１４５０に送信する。また、姿勢取得部１３００は、現在計測できている最新の姿勢情報を合成画像生成部１８００に送信する。また、姿勢取得部１３００は、姿勢計測時刻と姿勢計測値を対応付けて保持しており、姿勢計測時刻を入力されると、対応する姿勢計測値を返す処理を行うものとする。
【００１９】
遅延取得部１４５０は、撮像画像補正部１２００から撮像時刻、姿勢取得部１３００から現在計測できている最新の姿勢情報の計測時刻（第１の時刻）を受け、撮像時刻と姿勢取得部の計測時刻（第２の時刻）との差分である遅延時間を取得する。この遅延時間は、動体モデル推定部１４６０に提示され、ＣＧ画像生成処理と合成処理の完了時刻に適した動体モデルの予測に使用される。遅延取得部１４５０は、ＣＧ画像生成部１７００に入力する動体モデルを予測するために、ＣＧ画像生成が完了したあとで表示位置制御部１８５０が取得する最新の姿勢計測する時刻を予測する必要がある。しかし、動体モデル推定部１４６０によって予測する時点では、ＣＧ画像生成部１７００が画像をレンダリングする処理に何ｍｓｅｃ時間を要し、どの時刻の姿勢計測値で背景画像を生成するのかは未知である。本実施形態では、予測するべき姿勢計測時刻を例えば、過去５フレーム蓄積した遅延時間の平均値とする。遅延時間の平均値を用いることにより、過去フレームの情報から現フレームの遅延時間を推定することができる。現フレームの遅延時間は、画像合成が終了したタイミングを合成画像生成部１８００から通知を受けて、算出する。すなわち、現フレームで使用した撮像画像の撮像時刻と、合成画像を生成するために用いた姿勢取得部１３００の姿勢計測時刻の差分を保存し、最新の５フレームにおける遅延時間の平均値を保持する。この遅延時間は、次のフレームの予測に使用する。
【００２０】
位置姿勢推定部１５００は、ＣＧ画像を現実空間と対応させて重畳する為に用いるＨＭＤの位置及び姿勢を推定する。位置姿勢情報とは、現実空間におけるＨＭＤの絶対的な３次元の位置及び姿勢を示す。位置姿勢情報は、ＣＧ画像を現実空間と対応させて重畳する為に用いられる。位置及び姿勢を推定する手段は、現実空間におけるＨＭＤの絶対位置と姿勢が観測可能な方法を用いる。例えば、計測対象に複数のマーカーを付けて、天井などに設置された複数のカメラからマーカーの情報を統合することで位置姿勢を計測する光学センサーなどを用いればよい。また、Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ  （ＳＬＡＭ）を用いた位置及び姿勢の推定手法が利用可能である。ＳＬＡＭは、撮像画像に映った角点のような自然物の特徴を毎フレーム追跡することで現実空間における撮像装置の３次元位置姿勢情報を推定する技術である。光学センサー以外にも、ＨＭＤの撮像部１１００の撮像画像に写るマーカーや画像特徴などを用いてＨＭＤの位置姿勢を計測してもよい。ここで計測した位置及び姿勢を用いて、所定のＣＧモデルを所定の位置及び姿勢に描写したＣＧ画像を生成する。なお、複合現実感の映像を作る場合に必要な構成である。
【００２１】
動体モデル取得部１４００は、撮像画像に映る動体１１０の３次元形状を計測した結果に基づいて動体モデル（ポリゴン）を取得する。本実施形態では、動体１１０として図１０に示す通り、ＨＭＤ装着者の手を例示している。なお、本発明は、動体１１０をＨＭＤ装着者の手に限定するものではなく、別のＨＭＤ装着者の手や、モーションを計測するコントローラーなど空間を動く物体であれば適用可能である。検出した動体１１０の計測結果は、動体モデル推定部１４６０に送信する。本実施形態では、ＨＭＤ装着者の手を計測する方法として、ＨＭＤ搭載のステレオカメラから肌色領域の輪郭線をステレオマッチングして形状を推定する方法を用いる。
【００２２】
動体モデル推定部１４６０は、遅延取得部１４５０が過去の情報から算出した遅延時間を取得して、ＣＧ画像生成後の合成画像と合致した時刻の動体モデルの位置と形状を予測する。予測で求めた位置と形状は、ＣＧ画像生成部１７００に送信し、モデルデータと共にレンダリングする。動体モデルの予測の方法は後述する。
【００２３】
モデルデータ記憶部１７５０は、現実空間あるいは仮想空間に表示させるＣＧ画像を生成するための３次元のＣＧモデルのデータを格納する記憶部である。モデルデータ記憶部１７５０は、ＲＡＭや外部記憶装置などにより構成されている。
【００２４】
ＣＧ画像生成部１７００は、モデルデータ記憶部１７５０から得たＣＧ画像を生成するに必要な３次元ＣＧモデルのデータ、位置姿勢推定部１５００で得たＨＭＤの位置姿勢、動体モデルの位置と形状に基づいてＣＧ画像を生成する。生成したＣＧ画像は、合成画像生成部１８００に出力する。図２（D）において動体１１０は予測された位置に動体モデルが描写されることによって表現されている。一方で、図２（Ｄ）における、物体１３０はＣＧモデルデータに基づいて描写されたＣＧである。物体１３０は現実空間にある物体１２０の上に表示されるように、位置姿勢取得部１５００から取得した空間における位置姿勢情報に基づいて位置合わせされている。
【００２５】
合成画像生成部１８００は、撮像画像（第１画像）に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、撮像画像中の推定結果に基づく位置に特定の物体を描写したＣＧ画像と撮像画像とを合成した合成画像（第２画像）を生成する。特定の物体は、ここでてはＨＭＤ装着者の手であるとする。また、合成画像生成部１８００は、生成した画像は、表示画像補正部１９００に送信する。合成画像生成部１８００は、ＣＧ画像生成部１７００からＣＧ画像を受けて、撮像画像補正部１２００から受信した撮像画像と合成する。
【００２６】
表示位置制御部１８５０は、Ｓ５３５で生成した合成画像を、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、およびＳ５４０で計測した姿勢の変化（例えば図１（ｂ）のΔΘ）に基づいてシフトする。合成後の画像は、ＣＧ画像を生成する前の画像であるため、そのまま体験者に提示すると遅延を体感させてしまう。この体感遅延を軽減するために、合成画像生成部１８００は、画像合成が終了する時刻に近いタイミングでＨＭＤの姿勢を計測し、撮像画像とＣＧ画像を合成した画像を姿勢情報に基づいて画像シフトする。
【００２７】
表示画像補正部１９００は、合成画像生成部１８００で生成された合成画像を、ＨＭＤの表示光学系のレンズ歪みに合わせて画像を補正し、表示部１９５０に送信する。
【００２８】
図５は、本実施形態の情報処理装置が実行する処理の詳細を示すフローチャートである。以下、フローチャートは、ＣＰＵが制御プログラムを実行することにより実現されるものとする。以下、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。ただし、情報処理装置は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
【００２９】
図５を用いて本実施形態の処理の概要を説明する。Ｓ５００では、情報処理装置１００が初期化を行う。Ｓ５０３では、撮像部１１００が、現実空間において特定の物体を撮像した撮像画像（第１画像）の撮像が終了したかどうかを判定する。図２において、撮像画像（第１画像）は画像２０００を指す。撮像画像が利用できるようになった場合は、Ｓ５０５に移行する。まだ撮像が終了していない場合は、再度Ｓ５０３に処理を戻して撮像完了を待つ。
【００３０】
Ｓ５０５では、撮像画像補正部１２００が、現実空間を撮像した撮像画像（第１の画像）と撮像時刻を取得する。図２の画像２０００が撮像画像に対応する。Ｓ５１０では、位置姿勢推定部１５００が、撮像画像に基づいて、ＨＭＤの空間における絶対位置を合わせる為の位置姿勢情報を推定する。Ｓ５１５では、動体モデル取得部１４００が、撮像画像から動体１１０の３次元形状を計測した結果を取得し、動体の３次元的な位置または形状を示す動体モデル（ポリゴン）を取得する。図２における画像２０２０は、画像２０００から動体１１０を抽出した結果である動体モデル１１１を含む。Ｓ５２０では、動体モデル推定部１４６０が、遅延取得部１４５０から撮像した時刻（第１の時刻）を取得する。Ｓ５２５では、動体モデル推定部１４６０が、動体モデル取得部１５００から動体１１０の位置と３次元形状を示す動体モデル１１１を取得し、所定の時間後における動体１１０の位置と３次元形状との少なくとも一方を推定する。所定の時間とは、撮像した時刻（第１の時刻）からＨＭＤの位置または姿勢を計測する時刻（第２の時刻）の差分である。Ｓ５３０は、ＣＧ画像生成部１７００が、所定の位置に事前に読み込んだ静止物体１２０のＣＧモデルデータと、動体モデル推定部１４６０で予測された動体モデルとをＨＭＤの位置姿勢情報に基づいて描写したＣＧ画像を生成する。ここでは、Ｓ５１０で取得されたＨＭＤの位置姿勢情報に基づいて現実空間との位置が整合するように動体モデルを描写する。Ｓ５３５は、合成画像生成部１８００が、第１画像に含まれる特定の物体の所定時間後の位置を推定した結果に基づいて、第１画像中の推定結果に基づく位置に、物体に相当する画像を重畳した第２画像を生成する。図２（Ｄ）では、動体モデル推定部１４６０で予測された位置に動体モデル１１１を画像２０００（第１画像）に描写した画像２０３０を示している。すなわち、撮像画像（第１の画像）を背景に、ＣＧ画像が前景になるように合成した合成画像（第２の画像）を生成する。Ｓ５４０は、合成画像生成部１８００が、姿勢取得部１３００で計測した最新のＨＭＤの姿勢情報を取得する。Ｓ５４５では、表示位置制御部１８５０が、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像（第２画像）を表示する位置をシフトする。図２（Ｅ）の画像２０４０は、画像２０３０をΔＸだけシフトさせた様子を示す。Ｓ５５０では、表示画像補正部１９００が、Ｓ５４５で生成した合成画像を表示光学系に適した画像に変換する。Ｓ５６５は、撮像画像補正部１２００が、ユーザからの終了指示があるかどうかを判定し、終了指示がある場合は、処理を終了する。終了指示がない場合は、Ｓ５０３に処理を移す。
【００３１】
以下、図５を用いて本実施形態の処理の詳細を説明する。
【００３２】
Ｓ５００では、情報処理装置４０１が初期化する。具体的には、ＣＧ画像生成部１７００が、モデルデータ記憶部１７５０から３次元のＣＧモデルを示すデータを読み込む。ここで読み込まれた３次元ＣＧモデルデータは、Ｓ５３０の３次元のＣＧモデルを所定の位置にＣＧ画像を描写する時に利用される。
【００３３】
Ｓ５０３では、撮像部１１００が、撮像画像の生成が終了したかどうかを判定する。撮像画像が利用できるようになった場合は、Ｓ５０５に移行する。まだ撮像が終了していない場合は、再度Ｓ５０３に処理を戻して撮像完了を待つ。
【００３４】
Ｓ５０５では、撮像画像補正部１２００が、撮像画像と撮像時刻を取得する。ここでは撮像時刻をｔと仮定する。また、撮像部はステレオカメラであって、得られる画像はステレオ画像であるとする。
【００３５】
Ｓ５１０では、位置姿勢情報取得部１５００が、ＨＭＤの位置と姿勢のうち少なくとも姿勢情報を光学センサーから取得する。なお姿勢情報は、光学センサーに限らず、ジャイロセンサー、加速度センサー、角加速度センサーなどを適宜組み合わせた情報を取得してもよい。３軸地磁気センサー、３軸加速度センサーおよび３軸ジャイロ（角速度）センサーの少なくとも１つ以上を組み合わせたモーションセンサーを用いて、ユーザの頭部の３次元的な動きを検出してもよい。
【００３６】
Ｓ５１５では、動体モデル取得部１４００が、撮像画像から動体１１０の領域を抽出し、動体１１０の形状を推定する。処理の詳細は後述する。
【００３７】
Ｓ５２０では、動体モデル推定部１４６０が、遅延取得部１４５０から遅延時間を取得する。
【００３８】
Ｓ５２５では、動体モデル推定部１４６０が、動体モデル取得部１５００から動体１１０の位置と３次元形状を取得し、Ｓ５２０で取得した遅延時間に応じて、動体１１０の位置と３次元形状を推定する。処理の詳細は後述する。
【００３９】
Ｓ５３０は、ＣＧ画像生成部１７００が、事前に読み込んだ仮想現実の物体１３０のＣＧモデルデータと、動体モデル推定部１４６０で予測された動体モデルのポリゴン情報とをＨＭＤの位置姿勢情報に基づいて描画する。ここでは、Ｓ５１０で取得されたＨＭＤの位置姿勢情報に基づいて現実空間との位置が整合するように動体モデルを描写する。また、ＣＧ画像生成部１７００はモデルデータに基づいて現実空間の所定の位置に対応させて物体１３０を描写する。
【００４０】
Ｓ５３５は、合成画像生成部１８００が、撮像画像とＣＧ画像を合成する。撮像画像を背景に、ＣＧ画像が前景になるように合成する。
【００４１】
Ｓ５４０は、合成画像生成部１８００が、姿勢取得部１３００で計測した最新のＨＭＤの姿勢情報を取得する。
【００４２】
Ｓ５４５では、表示位置制御部４４２が、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像（第２画像）を表示する位置をシフトする。すなわち、特許文献１に記載の方法と同じく、合成画像生成部１８００が、撮像時刻に近い時刻の姿勢計測値を姿勢取得部１３００から取得し、最新の姿勢計測値との姿勢の差を求める。さらに、この姿勢の差を、合成画像上における垂直方向と水平方向の画像シフト量に変換し、そのシフト量に応じて合成画像を画像シフトすればよい。
【００４３】
Ｓ５５０では、表示画像補正部１９００が、Ｓ５４５で生成した合成画像を表示光学系に適した画像に変換する。本実施形態では、あらかじめ計測していた表示光学系に用いるレンズの歪みを打ち消すように、合成画像に逆の歪みを加えればよい。
【００４４】
Ｓ５５５では、表示位置制御部１８５０は、撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、および画像表示装置の位置または姿勢の変化量に基づいて、表示部に供給する合成画像（第２画像）を表示する位置をシフトする。この制御を受けて、表示部１９５０がＳ５５０で生成した画像を表示パネルに映し、表示光学系を通じてＨＭＤ装着者に映像を提示する。
【００４５】
Ｓ５６０では、合成画像生成部１８００が、次のフレームに利用する遅延時間を算出するため、遅延取得部１４５０に現フレームの遅延を含めた遅延時間の算出を要請する。遅延時間の算出の処理の詳細は後述する。
【００４６】
Ｓ５６５は、撮像画像補正部１２００が、ユーザからの終了指示があるかどうかを判定し、終了指示がある場合は、処理を終了する。終了指示がない場合は、Ｓ５０３に処理を移す。
【００４７】
図６は、本実施形態における動体モデル取得部１４００のＳ５１５の処理の詳細を示すフローチャートである。ここで撮像した画像から動体の領域を抽出し、動体の輪郭線をステレオマッチングすることによって動体モデルを取得する。
【００４８】
Ｓ６００は、動体モデル取得部１４００が、ステレオの撮像画像から肌色領域を抽出する。本実施形態では、あらかじめ肌色を撮像した時の肌色の領域のすべての色情報を記録しておき、テーブルに保持しておく。このとき色情報は、ＲＧＢの３原色の表現であってもよいし、ＹＣｂＣｒの輝度と色味情報で表現してもよい。次に、動体モデル取得部１４００は、抽出した肌色領域から輪郭線を決定する。
【００４９】
Ｓ６１０は、動体モデル取得部１４００が、抽出した動体１１０の輪郭線をステレオ画像でステレオマッチングし、動体１１０の３次元の輪郭線を生成する。３次元の輪郭線の生成は、ステレオ画像のうち１つの画像上の輪郭線上のサンプリング点に対応するエピポーラ線を、他方のステレオ画像に投影し、エピポーラ線と輪郭線が交わる点を対応点とする。この輪郭線上のサンプリング点を複数決定し、輪郭線上に複数の対応点を求める。輪郭線上にある複数の対応点を三角測量によって奥行を算出する。
【００５０】
Ｓ６２０は、動体モデル取得部１４００が、Ｓ６１０で得られた複数の対応点に基づいて動体１１０の形状を表すポリゴン（動体モデル）を取得する。本実施形態では、複数の対応点のうち、点間の距離が近く、画像上の高さ（Ｙ座標値）が近い対応点を３点選択して繋ぐことでポリゴン化すればよい。ただし、Ｓ６００で抽出した肌色領域の外に生成されたポリゴンは破棄する。この処理によって、撮像画像から動体１１０である手を抽出して３次元空間のポリゴン情報を生成することができる。図１１に輪郭線上の対応点からポリゴンを生成したときの模式図を示す。
【００５１】
図７は、本実施形態における動体モデル推定部１４６０のＳ５２５の処理の詳細を示すフローチャートである。
【００５２】
Ｓ７１０は、動体モデル推定部１４６０が、動体モデル取得部１４００で得られたポリゴン情報から動体１１０のポリゴンの重心位置を取得する。重心位置は、ポリゴン頂点の３次元位置を平均すれば算出できる。図１０にポリゴン情報からポリゴンの重心位置を求めたときの位置の模式図を示す。図１０では、作図上２次元で示しているが、データでは３次元の点で定義される。ポリゴンの重心位置は、次フレーム以降でも利用するためにメモリ上に撮像時刻に対応付けて保持しておく。なお、本発明は、ポリゴンの重心位置を求めることに限定されるものではなく、動体１１０の予測をするための代表的な位置を決定できる方法であれば適用可能である。
【００５３】
Ｓ７２０は、動体モデル推定部１４６０が、過去１フレーム前のポリゴン重心位置をメモリから読み出し、現在のポリゴン重心位置から過去１フレーム前のポリゴン重心位置を引くことで、空間の移動ベクトル１７２０を取得する。図１１の模式図では、現在のポリゴン重心１７００と過去１フレーム前のポリゴン重心位置１７１０の位置関係を例示している。さらに、現在のフレームの撮像時刻と過去１フレームの撮像時刻の差からフレーム間の経過時間Ｔを算出し、移動ベクトル１７００を経過時間Ｔで除算することにより、単位時間における速度ベクトルＥ（不図示）を求める。
【００５４】
Ｓ７３０は、動体モデル推定部１４６０が、Ｓ７００で取得した遅延時間を速度ベクトルＥに乗算することにより、動体１１０のポリゴン全体の頂点を移動するための予測移動ベクトル１７３０を取得する。
【００５５】
Ｓ７４０は、動体モデル推定部１４６０が、動体モデル取得部１４００で得られたポリゴンの３次元頂点のすべてに対し、予測移動ベクトルを加算することによって動体の位置を推定する。この予測移動ベクトルの加算により、予測後の動体１１０の形状を生成することができる。
【００５６】
図８は、本実施形態における遅延取得部１４５０のＳ５６０の処理の詳細を示すフローチャートである。Ｓ８００は、遅延取得部１４５０が、現在フレームの撮像時刻を取得する。
【００５７】
Ｓ８１０は、遅延取得部１４５０が、動体モデルの予測に利用した姿勢の計測時刻を姿勢取得部１３００から取得する。
【００５８】
Ｓ８２０は、遅延取得部１４５０が、メモリから過去５フレーム分の遅延時間を取得し、現フレームの遅延時間も合わせて平均の遅延時間を算出する。
【００５９】
Ｓ８３０は、遅延取得部１４５０が、Ｓ８２０で算出した平均遅延時間をメモリに保存し、次のフレームの動体モデル推定部１４６０において動体１１０を予測するときに利用する。
【００６０】
以上の説明により、シーン中に動体が存在する場合でもＨＭＤ装着者のＨＭＤの急激な位置姿勢の変化が起きた時に、動体が表示されるべき位置に表示されないという違和感を低減することができる。
【００６１】
なお、本実施形態では、所定時間後に動体がある予測位置に動体モデルを描写したＣＧ画像と撮影画像とを合成した画像をシフトさせて表示する方法を示した。他の方法として、遅延時間に基づいてシフトさせた撮影画像と所定時間後に動体がある予測位置に動体モデルを描写したＣＧ画像とを合成する。この場合、図５のフローチャートにおいて、Ｓ５３０とＳ５３５との間で、合成画像生成部１８００が撮像画像（第１画像）を遅延時間に基づいてシフトさせる変換を行う。シフト処理された撮像画像と予測位置に描写されたCG画像とを合成した合成画像を、表示制御部１８５０は、表示位置を変更せずにそのまま表示するよう制御する。
【００６２】
（変形例１）
第１の実施形態では、動体モデル推定部１４６０が、動体モデル取得部１４００で検出した手の３次元頂点を、予測移動ベクトルを加算し、平行移動させることで予測形状を生成した。
【００６３】
しかし、本発明は、上記のような平行移動で位置のみを予測することに限定されるものではなく、指の角度も予測してもよい。本変形例では、指の角度まで予測することにより、予測される手の形状の予測精度を高める方法を例示する。
【００６４】
本変形例を実現するために、第１の実施形態の構成を以下のように変更する。
【００６５】
動体モデル取得部１４００では、ＨＭＤ搭載のステレオカメラから、輪郭線の３次元形状をステレオマッチングによって求めた後、手の３次元形状に適合する手の指のボーン推定を行う。
【００６６】
手の指を含めたボーン推定には、例えば、Ｃｈｅｎ  Ｑｉａｎの手法を用いればよい。すなわち、Ｓ６２０で求めた手のポリゴン情報から視点に対する奥行画像を生成し、奥行画像に適合する複数の球体を設定する。次に、球体の位置と過去のフレームにおける手のボーン形状を参照して、現フレームの各指のボーンを推定する。ボーンを推定した結果の模式図を図１１の（ａ）に示す。図１１（ａ）は、１つの関節に２つのボーンが接続されていることを示している。
【００６７】
推定した手の指のボーンから五指の関節における角度を求める。図１１（ａ）に１つの関節における２つのボーンがなす角度を示している。なお、関節の部位は例えば、図１１（ａ）に示すように、親指で２か所（点１８１０）、人差し指から小指までは各３か所を対象とすればよい。関節の角度は、例えば、２つのボーンのベクトルの内積を計算し、内積値をアークコサイン関数に入力することで算出すればよい。このとき２つのボーンのベクトルの長さはそれぞれ１とする。例えば、親指のベクトルは１８３０で示される。
【００６８】
次に、本変形例に係る動体モデル推定部１４６０では、予測移動ベクトルを算出して平行移動する処理に加えて、ボーン推定結果から求めた関節角度を前フレームで推定された関節角度との差分から、ＣＧ画像生成後の合成画像と合致した指の角度を予測する。例えば、現在のフレームにおける関節角度と前フレームの関節角度の差分角度を計算し、同じ回転方向に等角速度運動している前提において、予測した関節角度を求めればよい。図１２（ａ）が前フレームにおける関節角度、図１２（ｂ）が現フレームの関節角度とすると、予測する関節角度は、図１２（ｃ）に示すような角度になる。
【００６９】
さらに、動体モデル推定部１４６０では、予測した指の角度を用いて、ポリゴン頂点を移動する。ポリゴン頂点の移動は、移動前のポリゴン頂点が移動前のボーン上で一番近い点Ｋを求め、移動後のボーンにおいて点Ｋの移動ベクトルを移動前のポリゴン頂点に加えればよい。
【００７０】
本変形例に係る処理の変更点について以下に示す。
【００７１】
Ｓ６２０のポリゴン化処理において、動体モデル取得部１４００が、ポリゴンを生成する処理のあとに、公知の手法を用いてボーン推定を行えばよい。
【００７２】
Ｓ７３０の移動ベクトルの算出において、動体モデル推定部１４６０が、重心位置の移動を算出したあとに、前述した関節角度の予測処理を行い、予測した角度からボーンの姿勢を更新して、さらにポリゴン位置を更新すればよい。
【００７３】
以上のように、本変形例では、位置のみの予測だけではなく、関節角度も予測することによって、動体の可変部位についても、より精度の高い予測が適用可能であることを示した。
【００７４】
（変形例２）
第１の実施形態では、動体１１０の予測形状を生成し、予測した撮像画像と合成して提示したが、撮像画像に映る動体１１０の画像はそのまま提示される。図１３の（Ａ）のように、予測された動体の３次元モデル１１１と動体１１０の２つがＨＭＤ装着者に提示されるため、動体１１０を認識するＨＭＤ装着者が混乱する可能性がある。
【００７５】
本変形例では、動体１１０を予測した３次元形状１１１をＨＭＤ装着者により認識しやすくするために、撮像画像に映りこむ動体１１０に画像処理を行い、目立たなくする処理について説明する。
【００７６】
本変形例を実現するための構成及び処理は、以下を変更すればよい。
【００７７】
合成画像生成部１８００が、Ｓ５４５において、Ｓ６００で抽出した撮像画像の輪郭線から動体の領域を決定し、動体の領域に対して所定の画像処理を行う。
【００７８】
例えば、画像処理の例を図１３に示す。図１３（Ｂ）は、動体の領域に含まれる画素をガウシアンフィルタなどにより暈す処理を行った場合の表示画像である。図１３（Ｃ）は、動体の領域に隣接する代表色を決定し領域内を塗りつぶす処理を行った場合の表示画像である。その他、領域内の画素の色をグレースケールに変換する処理などを用いればよい。すなわち、撮像画像（第１の画像）における肌色領域を所定の色（白や黒）に補完する。または、動体領域に対して透過処理を施しても良い。もちろん、複数の画像処理を組み合わせても適用可能である。
【００７９】
以上のように、本変形例を適用することで、ＨＭＤ装着者が動体１１０の画像を認識しにくくなることで、動体の予測形状である３次元モデル１１１に集中させることでＨＭＤ装着者が感じる体感的違和感を軽減できる。
【００８０】
（第２の実施形態）
第1の実施形態では、複合現実感を提示するＨＭＤを用いて説明した。しかし、本発明は、仮想現実感を提示するＨＭＤに対しても適用可能である。仮想現実感を提示するＨＭＤは、複合現実感を提示するＨＭＤと比べて、撮像装置を備えず、すべての映像をＣＧ映像で表現する点が異なる。なお、仮想現実システムの場合、図１及び図２の黒塗り領域にも仮想現実の画像を表示できる。
【００８１】
第1の実施形態では、自分の手の位置を認識するために、カメラ画像から手を抽出した上で、動体である手の現在位置を予測して提示することを例示した。しかし、本発明は、カメラ画像から抽出した手を予測することに限定されるものではない。例えば、3次元空間の位置姿勢が計測されているゲームコトントローラーなどを動体として扱い、ゲームコントローラーの現在の位置を予測して提示してもよい。
【００８２】
本実施形態では、仮想現実感を提示するＨＭＤで体感的遅延緩和を実施する場合に、ゲームコントローラーを動体とした場合の、動体が表示されるべき位置に表示されないという違和感を低減する方法について説明する。
【００８３】
本実施形態における、情報処理システム４０１の機能構成例を示すブロック図を図１４に示す。本実施形態を実現するために、第１の実施形態の構成を以下のように変更する。以下で説明を省略している箇所については、第1の実施形態と同じであるものとする。
【００８４】
ＨＭＤ２００には、ＨＭＤの位置と姿勢を計測するための計測部１９７０を追加する。計測部１９７０は位置姿勢センサーと姿勢センサーから構成される。
【００８５】
また、ゲームコトントローラー６００を構成に加える。本実施形態では、ゲームコトントローラー６００を体験者が手に持ち、仮想空間における自分の手の位置を動体ＣＧモデルとして表示する。ゲームコントローラー６００の位置姿勢に表示される動体ＣＧモデルは、ゲームコントローラー６００を持っている手の形状に似せたＣＧモデルであることが好ましい。ゲームコントローラー６００には、ゲームコントローラー６００自体の位置姿勢を計測するセンサーと、仮想空間内に配置されている操作対象物のＣＧモデルを操作するための操作ボタンから構成されている。
【００８６】
仮想空間システムでは、仮想空間のCG画像を生成する。ある時刻ｔで生成が開始され、時刻ｔの直前に計測されたHMDの位置姿勢情報に基づいて仮想現実空間のCG画像を第１CG画像と呼ぶ。この時刻ｔから、第１CG画像に基づいた画像の表示が行われる時刻との間（遅延時間）に、HMDとゲームコントローラー６００に姿勢の変化があった場合、第１CG画像をそのまま表示すると体感的違和感が生じる場合がある。遅延時間に応じて動体の位置を予測してレンダリングした画像を第２CG画像と呼ぶ。また、第３CG画像は、CG画像を生成する間にゲームコントローラー６００がどれくらい動くかを予測して、ゲームコントローラーに対応した動体モデルを描写したCG画像であるとする。
【００８７】
ＣＧ画像生成部２７００は、位置姿勢取得部２３００から得られたHMDの位置姿勢情報に基づいて、モデルデータ記憶部１７５０に格納されているＣＧモデルをレンダリングした第１ＣＧ画像（第３画像）を生成する。さらに、動体モデル推定部１４６０で推定された予測位置に動体のＣＧモデルを、第１CG画像にレンダリングした第２CG画像（第４画像）を生成する。もしくは、動体モデルを予測された位置や形状でレンダリングした第３CG画像と、第１CG画像（第３画像）とを合成した合成画像（第４画像）を生成してもよい。ただし、動体のＣＧモデルについては、動体モデル推定部１４６０で推定された位置や形状を入力し、３次元空間に反映させてからレンダリングする。このとき動体のＣＧモデルは、レンダリング後に実行される表示位置制御部１８５０の画像シフト処理で補正されることを考慮して、姿勢計測時刻に即した３次元位置や形状で描画される。すなわち、動体以外のＣＧモデルは、位置姿勢計測時刻をベースにレンダリングされ、動体のＣＧモデルは姿勢計測時刻をベースにレンダリングされることになる。
【００８８】
姿勢取得部１３００は、ＨＭＤ２００の計測部１９７０の姿勢センサーから、CG画像生成部２７００によって生成された第２CG画像を表示する直前に計測された、現在のＨＭＤ２００の姿勢情報を取得する。姿勢情報には、ＨＭＤ２００の姿勢と姿勢計測時刻を含む。姿勢計測時刻は、遅延取得部１４５０と表示位置制御部１８５０に姿勢情報を出力する。なお、計測部１９７０の姿勢センサーは他の位置姿勢センサーよりも高速（例えば１８０Ｈｚ）なセンサーを用いて、姿勢情報を取得できる。
【００８９】
位置姿勢取得部２３００は、ＨＭＤ２００の計測部１９７０の位置姿勢センサーから、CG画像生成部２７００で第１CG画像（第３画像）を生成する直前に計測された、ＨＭＤ２００の位置姿勢情報を取得する。取得したＨＭＤ２００の位置姿勢情報は、ＣＧ画像生成部２７００に出力する。また、位置姿勢取得部２３００は、ゲームコントローラー６００の位置姿勢センサーから、CG画像生成部２７００で第１CG画像（第３画像）を生成する直前に計測された、ゲームコントローラー６００の位置姿勢情報を取得する。ゲームコントローラー６００（動体）の位置姿勢情報は、動体の位置予測に利用される。ここで計測される位置姿勢情報は、仮想現実空間の座標系で表現される。
【００９０】
遅延取得部１４５０は、姿勢取得部１３００から最新の姿勢計測時刻と、位置姿勢取得部２３００から最新の位置姿勢計測時刻とから、動体の予測に必要な遅延時間を算出する。本実施形態では、遅延時間は、第１CG画像の生成を開始した直前に位置姿勢取得部２３００が計測した位置姿勢計測時刻（第３時刻）と、第２CG画像を表示する直前に姿勢取得部１３００が計測した時刻（第４時刻）との差である。第1の実施形態との違いは、遅延時間の算出に撮像時刻ではなく、位置姿勢計測時刻を用いる点である。ＣＧ画像生成部２７００で動体以外のＣＧモデルを描画する場合は、ＨＭＤ２００の位置姿勢を使用してレンダリングするため、生成される映像は、位置姿勢計測時刻時点の映像となる。そのため、画像シフト補正で参照する姿勢計測時刻と位置姿勢計測時刻の差分が補正するべき遅延時間となる。遅延取得部１４５０は、ＣＧ画像生成部２７００に入力する動体モデルを予測するために、姿勢計測時刻を予測する必要がある。しかし、動体モデル推定部１４６０によって予測する時点では、どの時刻の姿勢計測値でＣＧ画像を生成するのかは未知である。本実施形態では、遅延時間を姿勢計測時刻と位置姿勢計測時刻の遅延時間を過去５フレーム蓄積した値の平均値を用いればよい。遅延時間の平均値を用いることにより、過去フレームの情報から現フレームの遅延時間を推定することができる。
【００９１】
動体モデル推定部１４６０は、遅延取得部１４５０が過去の情報から算出した遅延時間を取得して、姿勢計測時刻の動体モデルの位置と形状を予測する。予測で求めた位置と形状は、ＣＧ画像生成部２７００に送信し、動体のＣＧモデルを他のモデルデータと共にレンダリングする。
【００９２】
表示位置制御部１８５０は、遅延時間（位置姿勢計測時刻と姿勢計測時刻の差分）と姿勢の変化量（位置姿勢計測時刻における姿勢値と現在の姿勢値の変化量）に基づいて、表示部に供給する第２ＣＧ画像（第４画像）を表示する位置をシフトする。
【００９３】
図１５は、本実施形態の情報処理装置が実行する処理の詳細を示すフローチャートである。
【００９４】
本実施形態を実現するために、第１の実施形態の処理を以下のように変更する。以下で説明を省略している箇所については、第1の実施形態と同じであるものとする。
【００９５】
Ｓ１５０３は、ＣＧ画像生成部２７００がＨＭＤ２００に画像を出力する間隔を想定してＣＧ画像の生成を開始するか否かを決定する。例えば、一般的な表示ディスプレイの表示間隔は６０Ｈｚであるため、１秒間に６０回のタイミングでＣＧ画像の生成の開始を指示する。
【００９６】
Ｓ１５１５からＳ１５２５では、動体モデル推定部１４６０がゲームコントローラー６００の位置姿勢と、遅延取得部１４５０の遅延時刻から、姿勢計測時刻における動体モデルの位置と形状を予測する。
【００９７】
Ｓ１５５０では、表示位置制御部１８５０が、遅延時間と姿勢変化量に基づいて合成画像を表示する位置をシフトして表示部１９５０に表示制御する。
【００９８】
Ｓ１５６０では、表示位置制御部１８５０が、ＣＧ画像をシフトしたときの姿勢計測時刻と位置姿勢計測時刻との差分である遅延時間を記録して保持する。
【００９９】
以上の説明により、仮想現実感を提示するＨＭＤに対しても本発明を適用することで、動体が表示されるべき位置に表示されないという違和感を低減することができることを示した。
【０１００】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０１】
４００  情報処理システム
１００  情報処理装置
２００  ヘッドマウントディスプレイ
【図１】
2020071718.tif 000003
【図２】
2020071718.tif 000004
【図３】
2020071718.tif 000005
【図４】
2020071718.tif 000006
【図５】
2020071718.tif 000007
【図６】
2020071718.tif 000008
【図７】
2020071718.tif 000009
【図８】
2020071718.tif 000010
【図９】
2020071718.tif 000011
【図１０】
2020071718.tif 000012
【図１１】
2020071718.tif 000013
【図１２】
2020071718.tif 000014
【図１３】
2020071718.tif 000015
【図１４】
2020071718.tif 000016
【図１５】
2020071718.tif 000017