(57)【特許請求の範囲】
【請求項１】
現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得手段と、
前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御手段と、
前記第１表示制御手段が表示制御をした後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御手段と、
を含むことを特徴とする表示制御装置。
【請求項２】
前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、
各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定される、
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記第２表示制御手段は、前記複数回繰り返し到来する前記第１表示制御フレームのうち、直近の前記第１表示制御フレームからの前記撮影手段の移動に関する前記移動情報に基づいて、当該直近の第１表示制御フレームで生成された前記仮想画像を加工する、
ことを特徴とする請求項２に記載の表示制御装置。
【請求項４】
前記第２表示制御手段は、前記撮影画像の特徴点の変化に基づいて前記移動情報を取得する、
ことを特徴とする請求項１〜３の何れかに記載の表示制御装置。
【請求項５】
前記第２表示制御手段は、前記撮影画像のうち、前記仮想画像の表示位置に対応する領域を前記特徴点の抽出対象とする、
ことを特徴とする請求項４に記載の表示制御装置。
【請求項６】
前記第２表示制御手段は、前記撮影手段の位置の変化を検出可能なセンサの検出結果と、前記撮影手段の向きの変化を検出可能なセンサの検出結果と、の少なくとも一方に基づいて前記移動情報を取得する、
ことを特徴とする請求項１〜５の何れかに記載の表示制御装置。
【請求項７】
前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、
各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定され、
前記第２表示制御手段は、前記第１表示制御手段による前記撮影手段の位置と向きの推計結果の変化に基づいて前記移動情報を取得する、
ことを特徴とする請求項１〜６の何れかに記載の表示制御装置。
【請求項８】
前記第２表示制御手段は、前記移動情報に基づいて、加工した前記仮想画像の表示位置を更に決定し、当該表示位置に、加工した前記仮想画像を表示させる、
ことを特徴とする請求項１〜７の何れかに記載の表示制御装置。
【請求項９】
前記第１表示制御手段は、前記撮影手段の位置の変化を検出可能なセンサの検出結果と、前記撮影手段の向きの変化を検出可能なセンサの検出結果と、の少なくとも一方に更に基づいて、前記撮影手段の現在の位置と向きを推定する、
ことを特徴とする請求項１〜８の何れかに記載の表示制御装置。
【請求項１０】
前記取得手段は、前記撮影手段により撮影された前記撮影画像をリアルタイムで取得し、
前記第１表示制御手段は、リアルタイムで取得された前記撮影画像と前記仮想画像とを合成して表示させ、
前記第２表示制御手段は、リアルタイムで取得された前記撮影画像と、加工した前記仮想画像と、を合成して表示させる、
ことを特徴とする請求項１〜９の何れかに記載の表示制御装置。
【請求項１１】
前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、
各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定され、その数は可変であり、
前記表示制御装置は、所定の条件に基づいて、前記第１表示制御フレームが到来する頻度を決定する決定手段、
を更に含むことを特徴とする請求項１〜１０の何れかに記載の表示制御装置。
【請求項１２】
仮想空間には、複数の前記仮想３次元オブジェクトが配置され、
前記仮想３次元オブジェクトごとに、前記第１表示制御フレームが到来する頻度が可変であり、
前記決定手段は、前記仮想３次元オブジェクトごとに、当該仮想３次元オブジェクトの位置に基づいて、前記第１表示制御フレームが到来する頻度を決定する、
ことを特徴とする請求項１１に記載の表示制御装置。
【請求項１３】
前記第１表示制御手段は、前記撮影画像よりも大きい前記仮想画像を生成し、
前記第２表示制御手段は、前記第１表示制御手段による表示制御では表示されなかった前記仮想画像の部分を加工して表示可能である、
ことを特徴とする請求項１〜１２の何れかに記載の表示制御装置。
【請求項１４】
前記現実空間は、部屋の内部であり、
前記撮影画像には、前記部屋の内部の様子が撮影されており、
前記仮想３次元オブジェクトは、仮想的な家具であり、
前記仮想画像は、前記仮想視点から前記仮想的な家具を見た様子を示す画像である、
ことを特徴とする請求項１〜１３の何れかに記載の表示制御装置。
【請求項１５】
現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得ステップと、
前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御ステップと、
前記第１表示制御ステップで表示制御が行われた後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御ステップと、
を含むことを特徴とする表示制御方法。
【請求項１６】
現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得手段、
前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御手段、
前記第１表示制御手段が表示制御をした後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御装置、表示制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、カメラが現実空間を撮影した撮影画像と、仮想３次元オブジェクトを示す仮想画像と、を合成することによって、拡張現実を提供する技術が知られている。例えば、専用のマーカを紙などに印刷し、カメラでマーカを撮影することによって、カメラの位置と向きを推定し、仮想空間における仮想視点の制御をする技術も知られている。【０００３】
また例えば、非特許文献１及び特許文献１には、撮影画像の特徴点の変化に基づいてカメラの現在の位置と向きを推定するＳＬＡＭ（Simultaneous Localization and Mapping）と呼ばれる技術が記載されている。例えば、拡張現実を提供するコンピュータが、所定のフレームレートで撮影された撮影画像をリアルタイムで表示させ、ＳＬＡＭを利用してカメラと同じ動きをするように仮想視点を制御することで、マーカを使用しなくても、カメラの位置と向きを推定できる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Andrew J.Davison, “Real-Time Simultaneous Localization and Mapping with a Single Camera”, Proceedings of the 9th IEEE International Conference on Computer Vision Volume 2, 2003, pp.1403-1410
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５９１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、ＳＬＡＭを利用してカメラの位置と向きを推定する処理を毎フレーム実行する必要がある。この処理は、計算量が多い処理であり、拡張現実を提供するコンピュータの処理負荷が高くなってしまう。このため、低性能のコンピュータでは処理が追いつかず、例えば、仮想画像の更新が間に合わず表示の滑らかさが低下したり、カメラが移動して被写体の見え方が変わっても仮想３次元オブジェクトの見え方が変わらずに不自然になってしまったりする可能性があった。【０００７】
本発明は上記課題に鑑みてなされたものであって、その目的は、拡張現実を提供するコンピュータの処理負荷を軽減することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る表示制御装置は、現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得手段と、前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御手段と、前記第１表示制御手段が表示制御をした後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御手段と、を含むことを特徴とする。【０００９】
本発明の一態様では、前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定される、ことを特徴とする。【００１０】
本発明の一態様では、前記第２表示制御手段は、前記複数回繰り返し到来する前記第１表示制御フレームのうち、直近の前記第１表示制御フレームからの前記撮影手段の移動に関する前記移動情報に基づいて、当該直近の第１表示制御フレームで生成された前記仮想画像を加工する、ことを特徴とする。【００１１】
本発明の一態様では、前記第２表示制御手段は、前記撮影画像の特徴点の変化に基づいて前記移動情報を取得する、ことを特徴とする。【００１２】
本発明の一態様では、前記第２表示制御手段は、前記撮影画像のうち、前記仮想画像の表示位置に対応する領域を前記特徴点の抽出対象とする、ことを特徴とする。【００１３】
本発明の一態様では、前記第２表示制御手段は、前記撮影手段の位置の変化を検出可能なセンサの検出結果と、前記撮影手段の向きの変化を検出可能なセンサの検出結果と、の少なくとも一方に基づいて前記移動情報を取得する、ことを特徴とする。【００１４】
本発明の一態様では、前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定され、前記第２表示制御手段は、前記第１表示制御手段による前記撮影手段の位置と向きの推計結果の変化に基づいて前記移動情報を取得する、ことを特徴とする。【００１５】
本発明の一態様では、前記第２表示制御手段は、前記移動情報に基づいて、加工した前記仮想画像の表示位置を更に決定し、当該表示位置に、加工した前記仮想画像を表示させる、ことを特徴とする。【００１６】
本発明の一態様では、前記第１表示制御手段は、前記撮影手段の位置の変化を検出可能なセンサの検出結果と、前記撮影手段の向きの変化を検出可能なセンサの検出結果と、の少なくとも一方に更に基づいて、前記撮影手段の現在の位置と向きを推定する、ことを特徴とする。【００１７】
本発明の一態様では、前記取得手段は、前記撮影手段により撮影された前記撮影画像をリアルタイムで取得し、前記第１表示制御手段は、リアルタイムで取得された前記撮影画像と前記仮想画像とを合成して表示させ、前記第２表示制御手段は、リアルタイムで取得された前記撮影画像と、加工した前記仮想画像と、を合成して表示させる、ことを特徴とする。【００１８】
本発明の一態様では、前記第１表示制御手段が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、各第１表示制御フレームの後には、前記第２表示制御手段が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定され、その数は可変であり、前記表示制御装置は、所定の条件に基づいて、前記第１表示制御フレームが到来する頻度を決定する決定手段、を更に含むことを特徴とする。【００１９】
本発明の一態様では、前記仮想空間には、複数の前記仮想３次元オブジェクトが配置され、前記仮想３次元オブジェクトごとに、前記第１表示制御フレームが到来する頻度が可変であり、前記決定手段は、前記仮想３次元オブジェクトごとに、当該仮想３次元オブジェクトの位置に基づいて、前記第１表示制御フレームが到来する頻度を決定する、ことを特徴とする。【００２０】
本発明の一態様では、前記第１表示制御手段は、前記撮影画像よりも大きい前記仮想画像を生成し、前記第２表示制御手段は、前記第１表示制御手段による表示制御では表示されなかった前記仮想画像の部分を加工して表示可能である、ことを特徴とする。【００２１】
本発明の一態様では、前記現実空間は、部屋の内部であり、前記撮影画像には、前記部屋の内部の様子が撮影されており、前記仮想３次元オブジェクトは、仮想的な家具であり、前記仮想画像は、前記仮想視点から前記仮想的な家具を見た様子を示す画像である、ことを特徴とする。【００２２】
本発明に係る表示制御方法は、現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得ステップと、前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御ステップと、前記第１表示制御ステップで表示制御が行われた後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御ステップと、を含むことを特徴とする。【００２３】
本発明に係るプログラムは、現実空間で移動可能な撮影手段が所定のフレームレートで撮影した撮影画像を取得する取得手段、前記撮影画像に基づいて前記撮影手段の現在の位置と向きを推定し、推定結果に基づく仮想視点から仮想３次元オブジェクトを見た様子を示す仮想画像を、前記撮影画像と合成して表示させる第１表示制御手段、前記第１表示制御手段が表示制御をした後のフレームにおいて、前記撮影手段の移動に関する移動情報に基づいて前記仮想画像を加工し、前記撮影画像と合成して表示させる第２表示制御手段、としてコンピュータを機能させる。
【発明の効果】
【００２４】
本発明によれば、拡張現実を提供するコンピュータの処理負荷を軽減することである。
【図面の簡単な説明】
【００２５】
【図１】表示制御装置のハードウェア構成を示す図である。
【図２】撮影部が現実空間を撮影する様子を示す図である。
【図３】撮影画像の一例を示す図である。
【図４】撮影画像に仮想画像を合成させる処理の説明図である。
【図５】表示制御装置において実現される機能の一例を示す機能ブロック図である。
【図６】第１表示制御フレームと第２表示制御フレームの繰り返しパターンの一例を示す図である。
【図７】撮影部の位置と向きの推定方法の一例を説明する図である。
【図８】移動情報と加工方法との関係の一例を示す図である。
【図９】移動情報と加工方法との関係の一例を示す図である。
【図１０】移動情報と加工方法との関係の一例を示す図である。
【図１１】移動情報と加工方法との関係の一例を示す図である。
【図１２】移動情報と加工方法との関係の一例を示す図である。
【図１３】移動情報と表示位置との関係の一例を示す図である。
【図１４】表示制御装置において実行される処理の一例を示すフロー図である。
【図１５】変形例（３）における機能ブロック図である。
【図１６】変形例（４）の処理内容の説明図である。
【発明を実施するための形態】
【００２６】
［１．表示制御装置のハードウェア構成］
以下、本発明に関わる表示制御装置の実施形態の例を説明する。表示制御装置１０は、ユーザに拡張現実を提供するためのコンピュータであり、例えば、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、パーソナルコンピュータ、又はサーバコンピュータ等である。図１は、表示制御装置のハードウェア構成を示す図である。図１に示すように、表示制御装置１０は、制御部１１、記憶部１２、通信部１３、操作部１４、表示部１５、入出力部１６、読取部１７、撮影部１８、及びセンサ部１９を含む。
【００２７】
制御部１１は、例えば、少なくとも１つのマイクロプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースであり、ネットワークを介してデータ通信を行う。操作部１４は、ユーザが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等を含む。操作部１４は、ユーザの操作内容を制御部１１に伝達する。表示部１５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部１５は、制御部１１の指示に従って画面を表示する。入出力部１６は、入出力インタフェースであり、例えば、ＵＳＢポートを含む。入出力部１６は、外部機器とデータ通信を行うために用いられる。読取部１７は、コンピュータ読み取り可能な情報記憶媒体を読み取り、例えば、光ディスクドライブやメモリカードスロットを含む。
【００２８】
撮影部１８は、静止画又は動画を撮影する少なくとも１つのカメラを含み、例えば、ＣＭＯＳイメージセンサ又はＣＣＤイメージセンサなどの撮像素子を含む。例えば、撮影部１８は、所定のフレームレートで現実空間を連続的に撮影可能である。センサ部１９は、表示制御装置１０の位置や姿勢などを検出するための種々のセンサを含み、例えば、加速度センサ１９Ａ及びジャイロセンサ１９Ｂを含む。加速度センサ１９Ａは、モーションセンサとも呼ばれるものであり、表示制御装置１０の加速度を検出する。加速度センサ１９Ａの検出方式としては、振動方式、光学的方式、又は半導体方式等の種々の方式を適用可能である。ジャイロセンサ１９Ｂは、ジャイロスコープとも呼ばれるものであり、表示制御装置１０の角速度を検出する。ジャイロセンサ１９Ｂの検出方式としては、機械方式、流体方式、光学方式、又は量子方式等の種々の方式を適用可能である。
【００２９】
なお、記憶部１２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して他のコンピュータから供給されるようにしてもよいし、入出力部１６又は読取部１７を介して、コンピュータ読み取り可能な情報記憶媒体（例えば、ＵＳＢメモリ、ＳＤカード、又は光ディスク）から供給されるようにしてもよい。また、表示部１５及び撮影部１８は、表示制御装置１０の内部に組み込まれているのではなく、表示制御装置１０の外部にあり、入出力部１６を介して接続されてもよい。また、表示制御装置１０のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。
【００３０】
［２．表示制御装置が実行する処理の概要］
表示制御装置１０は、撮影部１８が現実空間を撮影した撮影画像と、仮想３次元オブジェクトを示す仮想画像と、を合成することによって、ユーザに拡張現実を提供する。本実施形態では、部屋の内部が現実空間であり、部屋に配置される仮想的な家具が仮想３次元オブジェクトであり、仮想視点から仮想的な家具を見た様子を示す画像が仮想画像である場合を例に挙げて説明する。即ち、実在しない家具が室内に存在するように見える拡張現実が提供される場合を説明する。
【００３１】
図２は、撮影部１８が現実空間を撮影する様子を示す図である。図２に示すように、現実空間ＲＳは部屋の内部であり、ユーザは、表示制御装置１０を持って現実空間ＲＳの任意の場所を撮影する。現実空間ＲＳには、家具や家電などが配置されてもよいが、ここでは説明の簡略化のために、家具や家電などが配置されないものとする。
【００３２】
例えば、ユーザは、表示制御装置１０を移動させ、撮影部１８の位置と向きの少なくとも一方を変えることができる。撮影部１８の向きとは、撮影部１８の撮影方向（視線方向）又は注視点と同じ意味である。例えば、撮影部１８が姿勢を変えたり回転したりすると、撮影部１８の向きが変わる。撮影部１８の位置と向きは、両方とも同時に変わらなければならないわけではなく、これらの少なくとも一方が可変であればよい。撮影部１８の位置と向きの少なくとも一方が変わると、撮影部１８の撮影範囲（視野）が変わる。
【００３３】
撮影部１８は、所定のフレームレートで現実空間ＲＳを連続的に撮影する。フレームレートは、単位時間あたりの処理回数であり、動画であれば、単位時間あたりの静止画像数（コマ数）である。フレームレートは、固定値であってもよいし、ユーザが指定可能であってもよい。例えば、フレームレートをＮｆｐｓ（Ｎ：自然数、ｆｐｓ：Frames Per Second）とすると、各フレームの長さは１／Ｎ秒となり、撮影部１８は、処理単位であるフレームごとに、現実空間ＲＳを撮影して撮影画像を生成する。
【００３４】
撮影画像は、特にリアルタイムで表示されることなく、撮影画像の個々の静止画データ又は動画データが記憶部１２に記録されてもよいが、本実施形態では、リアルタイムで撮影画像が表示される場合を説明する。即ち、本実施形態では、各フレームにおいて、撮影画像を取得する処理と、撮影画像を表示させる処理と、が実行され、撮影画像は、撮影後すぐに表示される。
【００３５】
図３は、撮影画像の一例を示す図である。先述したように、現実空間ＲＳには家具や家電などが配置されないので、図３に示すように、撮影画像Ｇ１には、壁、床、及び天井だけが撮影される。なお、本実施形態では、撮影画像Ｇ１の左上を原点Ｏｓとして、スクリーン座標軸（Ｘｓ軸−Ｙｓ軸）が設定されるものとする。また、図３に示すＰ１〜Ｐ４は、撮影画像Ｇ１から抽出される特徴点である。特徴点の詳細は後述する。
【００３６】
拡張現実が提供されるにあたり、仮想画像は、任意のタイミングで撮影画像Ｇ１に合成されるようにしてよい。例えば、撮影画像Ｇ１が表示されてすぐに仮想画像が合成されてもよいし、何秒か経過してから仮想画像が合成されてもよいし、ユーザが所定の操作をした場合に仮想画像が合成されてもよい。
【００３７】
仮想画像に表れる仮想３次元オブジェクトは、少なくとも１つのポリゴンから構成される３次元モデルである。仮想３次元オブジェクトは、記憶部１２上に構築される仮想空間に配置される。仮想空間における仮想３次元オブジェクトの位置と向きは、予め定められていてもよいし、ユーザが指定可能であってもよい。また、合成される仮想３次元オブジェクトの種類は、予め定められていてもよいが、複数種類の仮想３次元オブジェクトの中から、ユーザが合成したいものを自由に選ぶことができてもよい。
【００３８】
例えば、撮影画像Ｇ１が表示された状態で、ユーザが、合成したい仮想３次元オブジェクトを選択した後に、画面上の任意の位置を指定することで、仮想３次元オブジェクトの位置を指定できてもよい。また例えば、ユーザが、仮想３次元オブジェクトを移動させたり向きを変えたりすることができてもよい。他にも例えば、ユーザが、仮想３次元オブジェクトのサイズを指定できてもよい。更に、ユーザが、仮想３次元オブジェクトの色又はテクスチャなどを指定できてもよい。
【００３９】
図４は、撮影画像Ｇ１に仮想画像を合成させる処理の説明図である。図４に示すように、拡張現実が提供されるにあたり、仮想的な３次元空間である仮想空間ＶＳが記憶部１２に構築される。仮想空間ＶＳには、互いに直交する３つの座標軸（Ｘｗ軸−Ｙｗ軸−Ｚｗ軸）が設定される。これら３つの座標軸は、ワールド座標系の座標軸である。原点Ｏｗは、任意の位置であってよく、仮想空間ＶＳ内の位置は、３次元座標で表される。
【００４０】
仮想空間ＶＳには、仮想３次元オブジェクトＶＯが配置され、仮想視点ＶＶが設定される。仮想視点ＶＶは、仮想カメラとも呼ばれるものであり、ビュー座標系の座標軸を定義する。図４では、仮想視点ＶＶの位置をαの符号で示し、仮想視点ＶＶの向きをβの符号で示している。仮想画像Ｇ２は、仮想視点ＶＶから仮想３次元オブジェクトＶＯを見た様子を示す。例えば、仮想画像Ｇ２は、仮想３次元オブジェクトＶＯの各頂点の３次元座標がスクリーン座標系の２次元座標に変換されることで生成される。この変換処理自体は、公知のジオメトリ処理を適用可能である。
【００４１】
図４に示すように、仮想画像Ｇ２は、撮影画像Ｇ１と合成されることで、実在しない仮想３次元オブジェクトＶＯが現実空間ＲＳに配置されているような拡張現実が提供される。図４の例では、仮想３次元オブジェクトＶＯが、撮影部１８から見て奥側の壁の手前に配置されているような画面が表示される。
【００４２】
拡張現実のリアリティを高めるためには、ユーザが撮影部１８を移動させた場合に、被写体の見え方の変化に合うように、仮想３次元オブジェクトＶＯの見え方を調整する必要がある。この点、先述したように、仮想３次元オブジェクトＶＯの見え方を調整するために、例えばＳＬＡＭを利用して撮影部１８の位置と向きを推定して仮想視点ＶＶを制御する処理を毎フレーム実行すると、この処理は複雑なので、表示制御装置１０の処理負荷が高くなってしまう。
【００４３】
そこで、本実施形態では、複雑な処理を毎フレーム実行するのではなく、仮想画像Ｇ２を加工するという簡易な処理のフレームを間に挟み、複雑な処理のフレームを間引くことで、拡張現実のリアリティを維持しつつ、表示制御装置１０の処理負荷を軽減している。以降、複雑な処理が実行されるフレームを第１表示制御フレームと記載し、簡易な処理が実行されるフレームを第２表示制御フレームと記載し、表示制御装置１０の詳細を説明する。
【００４４】
［３．表示制御装置において実現される機能］
図５は、表示制御装置１０において実現される機能の一例を示す機能ブロック図である。図５に示すように、本実施形態では、表示制御装置１０において、データ記憶部１００、撮影画像取得部１１０、及び表示制御部１２０が実現される場合を説明する。
【００４５】
［３−１．データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、拡張現実を提供するために必要なデータを記憶する。例えば、仮想３次元オブジェクトＶＯの形状を定義したオブジェクトデータを記憶する。オブジェクトデータには、仮想３次元オブジェクトＶＯの各頂点の位置関係が格納される。また例えば、仮想３次元オブジェクトＶＯに色又はテクスチャが設定される場合には、データ記憶部１００は、色又はテクスチャを示すデータを記憶してもよい。
【００４６】
また例えば、データ記憶部１００は、仮想空間ＶＳの現在の状態を示す仮想空間データを記憶する。仮想空間ＶＳの現在の状態としては、例えば、仮想３次元オブジェクトＶＯの代表位置、向き（正面方向）、及びポリゴンの頂点の位置が格納されてもよいし、仮想視点ＶＶに関する仮想視点パラメータが格納されてもよい。仮想視点パラメータは、例えば、仮想視点ＶＶの位置、向き、及び画角が格納されてよい。なお、仮想視点ＶＶの向きは、注視点の３次元座標で示されてもよいし、視線方向を示すベクトル情報で示されてもよい。他にも例えば、仮想視点パラメータは、描画領域の境界を示すニアクリップやファークリップを定義する情報を含んでもよい。
【００４７】
なお、データ記憶部１００が記憶するデータは、上記の例に限られない。例えば、撮影画像Ｇ１を特にリアルタイムで表示させない場合には、データ記憶部１００は、個々の撮影画像を示す静止画データ又は動画を示す動画データを記憶してもよい。また例えば、データ記憶部１００は、フレームの繰り返しパターンを示すデータを記憶してもよい。
【００４８】
［３−２．撮影画像取得部］
撮影画像取得部１１０は、制御部１１を主として実現される。撮影画像取得部１１０は、現実空間ＲＳで移動可能な撮影部１８が所定のフレームレートで撮影した撮影画像を取得する。先述したように、本実施形態では、現実空間ＲＳが部屋の内部なので、撮影画像Ｇ１には、部屋の内部の様子が撮影されていることになる。
【００４９】
現実空間ＲＳで移動可能な撮影部１８とは、撮影部１８の位置と向きを変更可能であることを意味し、例えば、撮影部１８を含む筐体を移動させたり、当該筐体の姿勢を変えたり、当該筐体を回転させたりすることが可能なことを意味する。別の言い方をすれば、撮影部１８の撮影範囲（視野）が変更可能であることを意味する。なお、撮影部１８は、常に移動し続けなければならないわけではなく、一時的に現在の場所に留まり、位置と向きが変わらないことがあってもよい。
【００５０】
撮影画像取得部１１０は、撮影部１８が生成した撮影画像Ｇ１を連続的に取得する。本実施形態では、撮影画像取得部１１０は、撮影部１８により撮影された撮影画像をリアルタイムで取得する。即ち、撮影画像取得部１１０は、撮影部１８が撮影画像Ｇ１を生成してすぐに当該撮影画像Ｇ１を取得する。撮影画像取得部１１０は、撮影部１８が撮影画像Ｇ１を生成した時点から所定時間以内に、当該撮影画像Ｇ１を取得する。
【００５１】
なお、撮影画像Ｇ１を特にリアルタイムで表示させない場合には、撮影画像取得部１１０は、データ記憶部１００に記憶された静止画データ又は動画データを取得してもよい。また、表示制御装置１０以外のコンピュータ又は情報記憶媒体に静止画データ又は動画データが記憶されている場合には、撮影画像取得部１１０は、当該コンピュータ又は情報記憶媒体から静止画データ又は動画データを取得してもよい。
【００５２】
［３−３．表示制御部］
表示制御部１２０は、制御部１１を主として実現される。表示制御部１２０は、撮影画像Ｇ１と仮想画像Ｇ２とを合成して表示部１５に表示させる。例えば、表示制御部１２０は、撮影画像Ｇ１に仮想画像Ｇ２を重畳表示させる。この場合、表示制御部１２０は、仮想画像Ｇ２のレイヤを、撮影画像Ｇ１のレイヤよりも上（手前又は前面）に設定する。また例えば、表示制御部１２０は、撮影画像Ｇ１と仮想画像Ｇ２とをアルファブレンドして合成画像を生成してもよい。アルファブレンドは、複数の画像の各々に透明度を設定し、各画像の画素値に透明度を乗じて互いに加算することで１枚の画像を生成する画像合成処理である。
【００５３】
表示制御部１２０は、第１表示制御部１２１と第２表示制御部１２２とを含み、第１表示制御部１２１は、現在のフレームが第１表示制御フレームである場合に処理を実行し、第２表示制御部１２２は、現在のフレームが第２表示制御フレームである場合に処理を実行する。
【００５４】
第１表示制御フレームは、１回だけ到来してもよいが、本実施形態では、第１表示制御部１２１が表示制御をするフレームである第１表示制御フレームは、複数回繰り返し到来し、各第１表示制御フレームの後には、第２表示制御部１２２が表示制御をするフレームである第２表示制御フレームが少なくとも１つ設定される。第１表示制御フレームは、不定期的に到来してもよいが、ここでは、定期的（周期的）に到来するものとする。第１表示制御フレームと第２表示制御フレームの繰り返しパターンは予め定められており、表示制御部１２０は、当該繰り返しパターンに基づいて、現在のフレームが第１表示制御フレームであるか第２表示制御フレームであるかを判定する。
【００５５】
図６は、第１表示制御フレームと第２表示制御フレームの繰り返しパターンの一例を示す図である。図６に示すｔ軸は、時間軸である。ある第１表示制御フレームと次の第１表示制御フレームとの間には、ｋ個（ｋ：自然数）の第２表示制御フレームが設定され、図６の例では、ｋは２である。第１表示制御フレームと、その後のｋ個の第２表示制御フレームと、の組み合わせ（フレームの繰り返し単位）を周期と記載すると、図６の例では、１周期は、ｋ＋１個のフレームから構成される。
【００５６】
例えば、所定の時点から数えて現在が何フレーム目であるかを示すカウンタ変数を用意しておき、表示制御部１２０は、カウンタ変数に基づいて、現在のフレームが第１表示制御フレームであるか第２表示制御フレームであるかを判定する。例えば、カウンタ変数をｉとすると、表示制御部１２０は、後述する初期化処理が終了した場合に、カウンタ変数ｉに初期値（例えば、ｉ＝１）をセットする。表示制御部１２０は、フレーム経過に応じて（即ち、１／Ｎ秒ごとに）、カウンタ変数ｉをカウントアップする。そして、表示制御部１２０は、カウンタ変数ｉを１周期の総フレーム数（ここでは、３）で割った余りが所定値（ここでは、１）であれば第１表示制御フレームであると判定し、それ以外の場合は第２表示制御フレームと判定する。
【００５７】
なお、第１表示制御フレームと第２表示制御フレームの時間的な長さは、互いに異なってもよいが、本実施形態では同じとする。即ち、フレームレートをＮｆｐｓとすると、本実施形態では、第１表示制御フレームの長さも第２表示制御フレームの長さも１／Ｎ秒である。また、１つの周期には、複数の第１表示制御フレームが含まれてもよい。例えば、ある周期において、第１表示制御フレームが２回連続で到来した後に、ｋ個の第２表示制御フレームが到来してもよい。また例えば、ある周期において、１回目の第１表示制御フレームが到来し、ｋ１個の第２表示制御フレームが到来した後に、２回目の第１表示制御フレームが到来し、ｋ２個の第２表示制御フレームが到来してもよい。このように、１周期に含まれる第１表示制御フレームと第２表示制御フレームの数と順序は任意であってよい。
【００５８】
［３−３−１．第１表示制御部］
第１表示制御部１２１は、撮影画像Ｇ１に基づいて撮影部１８の現在の位置と向きを推定し、推定結果に基づく仮想視点ＶＶから仮想３次元オブジェクトＶＯを見た様子を示す仮想画像Ｇ２を、撮影画像Ｇ１と合成して表示させる。本実施形態では、第１表示制御部１２１は、リアルタイムで取得された撮影画像Ｇ１と、仮想画像Ｇ２と、を合成して表示させる。即ち、撮影画像取得部１１０が撮影画像Ｇ１を取得し、第１表示制御部１２１が仮想画像Ｇ２を生成した後すぐに、これらが合成されて表示される。
【００５９】
例えば、第１表示制御部１２１は、撮影部１８の現在の位置と向きを推定し、推定結果を仮想視点ＶＶの位置と向きに反映させる。これにより、撮影部１８が移動した場合に、仮想視点ＶＶは撮影部１８と同じように移動する。即ち、仮想視点ＶＶの位置と向きは、撮影部１８の位置と向きと同じように変わる。撮影部１８の位置と向きの推定方法自体は、公知の視点推定方法を適用可能であり、例えば、ＳＬＡＭを利用してもよい。
【００６０】
図７は、撮影部１８の位置と向きの推定方法の一例を説明する図である。例えば、第１表示制御部１２１は、撮影画像Ｇ１から特徴点Ｐを抽出し、抽出した特徴点Ｐを追跡する。なお、特徴点Ｐは、撮影画像Ｇ１に撮影された被写体ＲＯの特徴を示す点であり、例えば、被写体ＲＯの輪郭の一部を示す点であってもよいし、被写体ＲＯ内部の点（例えば、中心点）であってもよい。特徴点Ｐの抽出方法自体は、公知の特徴点抽出アルゴリズムに基づいて実行されてよく、例えば、輪郭抽出処理により検出した被写体ＲＯの輪郭上の点を特徴点Ｐとしてもよいし、輪郭線同士が所定角度以上で交差する点を特徴点Ｐとしてもよい。
【００６１】
例えば、第１表示制御部１２１は、連続的に取得される撮影画像Ｇ１の特徴点群の変化に基づいて、特徴点群に対応する３次元座標群（３次元マップ）を取得する。３次元座標群は、三角測量を利用して取得すればよい。例えば、図７に示すように、撮影部１８が被写体ＲＯに対して右方向に移動した場合、被写体ＲＯに対応する撮影画像Ｇ１内の特徴点Ｐは、撮影画像Ｇ１上で左に移動する。第１表示制御部１２１は、このように特徴点群を追跡し、三角測量の原理を利用して撮影部１８の移動を推定する。
【００６２】
なお、第１表示制御部１２１は、撮影部１８の位置の変化を検出可能な加速度センサ１９Ａの検出結果と、撮影部１８の向きの変化を検出可能なジャイロセンサ１９Ｂの検出結果と、の少なくとも一方に更に基づいて、撮影部１８の現在の位置と向きを推定するようにしてもよい。移動方向と移動距離は、加速度センサ１９Ａが検出した加速度を２回積分して取得されるようにすればよい。また例えば、向きの変化は、ジャイロセンサ１９Ｂが検出した角速度を積分して取得されるようにすればよい。例えば、第１表示制御部１２１は、特徴点Ｐの追跡により得られる情報と、センサ部１９の情報と、に基づいて、撮影部１８の移動の絶対量を、より正確に推定してもよい。
【００６３】
第１表示制御部１２１は、上記のように撮影部１８の現在の位置と向きを推定すると、推定結果を仮想視点ＶＶの仮想視点パラメータに反映させる。例えば、第１表示制御部１２１は、初期化処理時と、その後の第１表示制御フレーム到来時と、の各々において、撮影部１８の現在の位置と向きの推定結果を仮想視点パラメータに反映させてよい。なお、例えば、第１表示制御部１２１は、第１表示制御フレームにおける仮想視点ＶＶの最新の位置と向きを、特徴点群と３次元座標群との対応関係から算出（即ち、３次元データ投影と新たな２次元データの比較をするパターン）してもよいし、初期化処理時と同様の処理（即ち、毎回初期化処理を行うパターン）によって取得してもよい。なお、撮影画像Ｇ１から新たに特徴点が得られた場合については、初期化処理時と同様の処理としてよい。
【００６４】
第１表示制御部１２１は、仮想視点ＶＶの仮想視点パラメータを決定すると、所定のジオメトリ処理に基づいて、仮想視点ＶＶから仮想３次元オブジェクトＶＯを見た様子を示す仮想画像Ｇ２を生成し、撮影画像Ｇ１と合成して表示することになる。
【００６５】
［３−３−２．第２表示制御部］
第２表示制御部１２２は、第１表示制御部１２１が表示制御をした後のフレームにおいて、撮影部１８の移動に関する移動情報に基づいて仮想画像Ｇ２を加工し、撮影画像Ｇ１と合成して表示させる。本実施形態では、第２表示制御部１２２は、リアルタイムで取得された撮影画像Ｇ１と、加工した仮想画像Ｇ２と、を合成して表示させる。
【００６６】
画像の加工は、２次元的な加工であり、例えば、画像のサイズ（拡大率）を変えること、画像を回転させること、画像を変形させること、画像の一部を切り取ること、又はこれらの組み合わせであってよい。画像の変形は、長方形又は正方形の画像を他の形状に変えることであり、例えば、投影変換を利用してもいし、線形変換と平行移動を組み合わせたアフィン変換を利用してもよい。例えば、投影変換によれば、長方形又は正方形の画像が台形になり、アフィン変換によれば、長方形又は正方形の画像が平行四辺形になる。
【００６７】
移動情報とは、所定の時点からの撮影部１８の位置と向きの変化に関する情報であり、撮影部１８の移動を直接的又は間接的に示す情報である。直接的とは、撮影部１８の位置と向きの変化そのものを示すことを意味し、例えば、３次元的な変化量で示される。間接的とは、撮影部１８の移動と移動情報の値に相関関係があることを意味し、例えば、撮影部１８の位置と向きの少なくとも一方が変わると、移動情報の値が変わることである。
【００６８】
本実施形態では、第１表示制御フレームは複数回繰り返し到来するので、第２表示制御部１２２は、複数回繰り返し到来する第１表示制御フレームのうち、直近の第１表示制御フレームからの撮影部１８の移動に関する移動情報に基づいて、当該直近の第１表示制御フレームで生成された仮想画像Ｇ２を加工するようにしてもよい。即ち、第２表示制御部１２２の加工対象となる仮想画像Ｇ２は、過去に生成された仮想画像Ｇ２のうち、最も新しいものであり、例えば、表示部１５に表示中の仮想画像Ｇ２といえる。なお、第２表示制御部１２２は、直近の第１表示制御フレームよりも前に生成された仮想画像Ｇ２を加工しても構わない。
【００６９】
また、本実施形態では、移動情報が、撮影部１８の移動を間接的に示す情報であり、その一例として、撮影画像Ｇ１の特徴点の変化を示す情報を説明する。即ち、本実施形態の移動情報は、特徴点の２次元的な移動を追跡した情報である。例えば、移動情報は、撮影画像Ｇ１の特徴点Ｐ１〜Ｐ４の各々の２次元座標の変化を示すベクトル情報を含む。第２表示制御部１２２は、撮影画像Ｇ１の特徴点の変化に基づいて移動情報を取得する。特徴点の抽出方法自体は、第１表示制御部１２１と同じであってよい。
【００７０】
移動情報と加工方法との関係は、数式形式又はテーブル形式でデータ記憶部１００に記憶されていてもよいし、プログラムコードの一部として記述されていてもよい。この関係には、撮影画像Ｇ１における被写体の形状的な変化と、仮想画像Ｇ２における仮想３次元オブジェクトＶＯの形状的な変化と、が似るように、加工方法が定められている。別の言い方をすれば、この関係には、撮影画像Ｇ１における被写体のサイズ変化やゆがみ方と、仮想画像Ｇ２における仮想３次元オブジェクトＶＯのサイズ変化やゆがみ方と、が似るように、加工方法が定められている。第２表示制御部１２２は、移動情報に関連付けられた加工方法で仮想画像Ｇ２を加工する。
【００７１】
図８−図１２は、移動情報と加工方法との関係の一例を示す図である。例えば、図８に示すように、ユーザが表示制御装置１０を持って前進すると、それまで撮影されていた被写体が撮影画像Ｇ１に大きく表れる。このため、特徴点Ｐ１〜Ｐ４の間隔が広がり、移動情報が示す特徴点のベクトル情報が外側を向く。この場合、第２表示制御部１２２は、撮影部１８が前進したと推定し、図８に示すように、拡大率を高くして仮想画像Ｇ２を拡大させる。拡大率は、外側を向くベクトル情報が大きくなるほど、高くすればよい。これにより、仮想画像Ｇ２が示す仮想３次元オブジェクトＶＯも大きく表れるので、仮想３次元オブジェクトＶＯに前進して近づくような拡張現実を、簡易な処理で提供することができる。
【００７２】
また例えば、図９に示すように、ユーザが表示制御装置１０を持って後退すると、それまで撮影されていた被写体が撮影画像Ｇ１に小さく表れる。このため、特徴点Ｐ１〜Ｐ４の間隔が狭まり、移動情報が示す各特徴点のベクトル情報が内側を向く。この場合、第２表示制御部１２２は、撮影部１８が後退したと推定し、図９に示すように、拡大率を低くして仮想画像Ｇ２を縮小させる。拡大率は、内側を向くベクトル情報が大きくなるほど、小さくすればよい。これにより、仮想画像Ｇ２が示す仮想３次元オブジェクトＶＯも小さく表れるので、仮想３次元オブジェクトＶＯから後退して遠ざかるような拡張現実を、簡易な処理で提供することができる。
【００７３】
また例えば、図１０に示すように、ユーザが表示制御装置１０をその場で回転させると、それまで撮影されていた被写体は、撮影画像Ｇ１上で逆方向に回転する。このため、特徴点Ｐ１〜Ｐ４は、表示制御装置１０の回転方向の逆方向に回転し、移動情報が示す各特徴点のベクトル情報は、特定の位置を中心にして回転するように一定方向を向く。この場合、第２表示制御部１２２は、撮影部１８が回転したと推定し、図１０に示すように、仮想画像Ｇ２を特徴点Ｐ１〜Ｐ４の回転方向（撮影部１８の回転方向の逆方向）に回転させる。回転量は、特徴点の回転角度（ベクトル情報の大きさ）が大きくなるほど、大きくすればよい。これにより、撮影画像Ｇ１の被写体と一緒に仮想画像Ｇ２も回転するので、仮想３次元オブジェクトＶＯが現実空間ＲＳ内の所定位置に配置されているような拡張現実を、簡易的な処理で提供することができる。
【００７４】
また例えば、図１１に示すように、ユーザが表示制御装置１０を持って被写体に対して回り込みながら近づくと、それまで撮影されていた被写体は撮影画像Ｇ１上で変形する。このため、特徴点Ｐ１〜Ｐ４の各々は被写体の変形に応じた方向に移動し、移動情報が示す各特徴点のベクトル情報は、被写体の変形に応じた方向を向く。例えば、図１１に示すように、撮影部１８が左斜め前に移動して斜め右を向くと、撮影画像Ｇ１上では、距離的に近い左側の壁が大きくなり、距離的に遠い右側の壁が小さくなり、正面の壁は台形になる。このため、特徴点Ｐ１〜Ｐ４は、台形の頂点を示すような配置となる。
【００７５】
図１１の場合、第２表示制御部１２２は、撮影部１８が被写体に対して回り込みながら近づいたと推定し、長方形の仮想画像Ｇ２が台形になるように、仮想画像Ｇ２を射影変換する。射影変換におけるゆがみ具合（変換係数）は、特徴点が示す台形の上底（例えば、特徴点Ｐ３とＰ４を結ぶ線分）と下底（例えば、特徴点Ｐ１とＰ２を結ぶ線分）の差が大きくなるほど、大きくすればよい。なお、図１１の例では、撮影部１８は前進しているので、図８で説明したように、仮想画像Ｇ２の拡大率を高くしてよい。逆に、撮影部１８が後退した場合には、仮想画像Ｇ２の拡大率を低くすればよい。これにより、撮影画像Ｇ１の被写体と一緒に仮想画像Ｇ２もゆがむので、仮想３次元オブジェクトＶＯが現実空間ＲＳ内の所定位置に配置されているような拡張現実を、簡易な処理で提供することができる。
【００７６】
なお、撮影部１８が被写体に対して回り込みながら近づいた場合、射影変換ではなく、アフィン変換を利用してもよい。例えば、図１２に示すように、仮想画像Ｇ２をアフィン変換すると、長方形の仮想画像Ｇ２が平行四辺形に変形する。アフィン変換におけるゆがみ具合（変換係数）は、射影変換と同様、特徴点が示す台形の上底と下底の差が大きくなるほど、大きくすればよい。
【００７７】
また、仮想画像Ｇ２の加工方法は、図８−図１２の各々の方法を組み合わせてもよい。更に、仮想画像Ｇ２の加工方法は、図８−図１２の例に限られない。撮影画像Ｇ１における被写体の変化に応じた加工方法であればよい。即ち、撮影画像Ｇ１における被写体の見え方の変化と同じように見え方が変化する加工方法であればよい。例えば、線形変換と平行移動を組み合わせずに、線形変換だけで仮想画像Ｇ２が加工されてもよい。
【００７８】
また例えば、仮想画像Ｇ２の加工方法だけでなく、第２表示制御部１２２は、移動情報に基づいて、加工した仮想画像Ｇ２の表示位置を更に決定し、当該表示位置に、加工した仮想画像を表示させるようにしてよい。移動情報と表示位置との関係は、数式形式又はテーブル形式でデータ記憶部１００に記憶されていてもよいし、プログラムコードの一部として記述されていてもよい。第２表示制御部１２２は、移動情報に関連付けられた表示位置に、加工した仮想画像Ｇ２を表示させる。
【００７９】
図１３は、移動情報と表示位置との関係の一例を示す図である。図１３に示すように、ユーザが表示制御装置１０を持って移動すると、それまで撮影されていた被写体が撮影画像Ｇ１上で逆方向に移動する。このため、特徴点Ｐ１〜Ｐ４は、被写体と同じ方向に移動する。この場合、第２表示制御部１２２は、撮影部１８が移動したと推定し、図１３に示すように、仮想画像Ｇ２を特徴点Ｐ１〜Ｐ４の移動方向（撮影部１８の移動方向の逆方向）に移動させる。移動距離は、特徴点の移動距離（ベクトル情報の大きさ）が大きくなるほど、大きくすればよい。これにより、ユーザは、仮想３次元オブジェクトＶＯが現実空間ＲＳの特定の位置に存在するように感じることができる。
【００８０】
図１３に示すように、撮影部１８が左方向に移動すると、それまで撮影されていた被写体が撮影画像Ｇ１上において右方向に移動するので、特徴点Ｐ１〜Ｐ４が右方向に移動する。このため、第２表示制御部１２２は、特徴点が右方向に移動した場合には仮想画像Ｇ２の表示位置を右方向に移動させる。これにより、撮影画像Ｇ１の被写体が移動した場合に仮想画像Ｇ２も移動させることができるので、仮想３次元オブジェクトＶＯが現実空間ＲＳ内の所定位置に配置されているような拡張現実を、簡易な処理で提供することができる。
【００８１】
なお、第２表示制御部１２２は、撮影画像Ｇ１の全体を特徴点の抽出対象としてもよいが、本実施形態では、撮影画像Ｇ１のうち、仮想画像Ｇ２の表示位置に対応する領域を特徴点の抽出対象とするようにしてもよい。仮想画像Ｇ２の表示位置に対応する領域とは、表示部１５の表示領域（画面全体）のうち、仮想３次元オブジェクトＶＯが表示されている画素又はその周囲の領域であり、仮想画像Ｇ２を含む領域であってよい。周囲とは、仮想３次元オブジェクトＶＯが表示されている画素から一定距離未満の画素からなる領域である。例えば、図８−図１３の例であれば、仮想画像Ｇ２が表示された周囲（例えば、正面方向の壁が撮影された領域）が特徴点の抽出対象となる。
【００８２】
［４．本実施形態において実行される処理］
図１４は、表示制御装置１０において実行される処理の一例を示すフロー図である。図１４に示す処理は、制御部１１が、記憶部１２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図５に示す機能ブロックにより実行される処理の一例である。
【００８３】
図１４に示すように、まず、制御部１１は、撮影部１８を起動して（Ｓ１）、初期化処理を実行する（Ｓ２）。Ｓ１で起動された撮影部１８は、所定のフレームレートに基づいて撮影を開始し、以降、制御部１１は、撮影画像Ｇ１を連続的に表示部１５に表示させる。Ｓ２においては、制御部１１は、ＳＬＡＭを利用して撮影部１８の位置と姿勢を推定し、仮想視点ＶＶの位置と向きの初期値を取得する。また、制御部１１は、各特徴点に対応する３次元点群を作成する。なお、初期化処理では、仮想画像Ｇ２が合成表示されてもよいし、この時点では仮想画像Ｇ２がまだ合成表示されなくてもよい。
【００８４】
制御部１１は、初期化処理を終了すると、計時処理に基づいて、フレームの開始時点になったかを判定する（Ｓ３）。各フレームは時間的な長さが決まっているので、Ｓ３において、制御部１１は、計時処理により取得される現在時点がフレームの開始時点であるかを判定することになる。また、制御部１１は、この時点でカウンタ変数ｉに初期値を設定し、第１表示制御フレーム又は第２表示制御フレームの処理終了時にカウンタ変数ｉをカウントアップしてよい。なお、制御部１１は、以降の処理でも計時処理を継続する。
【００８５】
フレームの開始時点になったと判定された場合（Ｓ３；Ｙ）、制御部１１は、カウンタ変数ｉに基づいて、現在のフレームが第１表示制御フレームであるか第２表示制御フレームであるかを判定する（Ｓ４）。Ｓ４においては、制御部１１は、カウンタ変数ｉをｋ＋１で割った余りが１であれば第１表示制御フレームと判定し、それ以外の場合は第２表示制御フレームと判定する。
【００８６】
第１表示制御フレームであると判定された場合（Ｓ４；第１表示制御フレーム）、制御部１１は、撮影画像Ｇ１の特徴点と、センサ部１９の検出信号と、に基づいて、仮想視点ＶＶの位置と向きを決定する（Ｓ５）。Ｓ５においては、制御部１１は、ＳＬＡＭを利用して撮影部１８の位置と姿勢を推定し、推定結果を仮想視点ＶＶの位置と向きに反映させるように、仮想視点パラメータを更新する。
【００８７】
制御部１１は、Ｓ５の決定結果に基づいて、仮想画像Ｇ２を生成する（Ｓ６）。Ｓ６においては、制御部１１は、Ｓ５で決定した位置から、Ｓ５で決定した向きで、仮想３次元オブジェクトＶＯを見た様子を示す仮想画像Ｇ２を生成する。
【００８８】
制御部１１は、Ｓ６で生成した仮想画像Ｇ２を撮影画像Ｇ１に重畳して表示させる（Ｓ７）。Ｓ７においては、制御部１１は、撮影画像Ｇ１のレイヤよりも上となるように、仮想画像Ｇ２のレイヤを設定する。
【００８９】
一方、Ｓ４において、第２表示制御フレームであると判定された場合（Ｓ４；第２表示制御フレーム）、制御部１１は、仮想画像Ｇ２の表示位置近辺の特徴点を抽出する（Ｓ８）。Ｓ８においては、仮想画像Ｇ２が示す仮想３次元オブジェクトＶＯが表示された領域内又は当該領域から所定距離以内の領域を、特徴点の抽出対象とする。抽出された特徴点は、記憶部１２に記録される。
【００９０】
制御部１１は、Ｓ８で抽出した撮影画像Ｇ１の特徴点に基づいて、移動情報を取得する（Ｓ９）。Ｓ９においては、制御部１１は、直近の第１表示制御フレームからの各特徴点の位置変化を示すベクトル情報を移動情報として取得する。
【００９１】
制御部１１は、Ｓ９で取得した移動情報に基づいて、直近の第１表示制御フレームで生成した仮想画像Ｇ２を加工する（Ｓ１０）。Ｓ１０においては、図８−１５を参照して説明したように、制御部１１は、移動情報に関連付けられた加工方法で仮想画像Ｇ２を加工する。
【００９２】
制御部１１は、Ｓ９で取得した移動情報に基づいて、加工した仮想画像Ｇ２の表示位置を決定する（Ｓ１１）。Ｓ１１においては、図１３を参照して説明したように、制御部１１は、移動情報に関連付けられた表示位置を取得する。
【００９３】
制御部１１は、Ｓ１１で決定した表示位置に、Ｓ１０で加工した仮想画像Ｇ２を撮影画像Ｇ１に重畳して表示させる（Ｓ１２）。Ｓ１２においては、制御部１１は、撮影画像Ｇ１のレイヤよりも上となるように、仮想画像Ｇ２のレイヤを設定し、仮想画像Ｇ２のレイヤ内において、Ｓ１１で決定した表示位置に仮想画像Ｇ２を表示させる。
【００９４】
制御部１１は、所定の条件に基づいて、初期化処理をやり直すか判定する（Ｓ１３）。初期化処理をやり直すための条件は、予め定められた条件であればよく、例えば、前回の初期化処理から一定時間が経過することであってもよいし、撮影部１８の移動量が閾値以上になることであってもよいし、ユーザが所定の操作をすることであってもよい。
【００９５】
初期化処理をやり直すと判定された場合（Ｓ１３；Ｙ）、Ｓ２の処理に戻り、初期化処理が再度実行される。一方、初期化処理をやり直すと判定されない場合（Ｓ１３；Ｎ）、制御部１１は、所定の終了条件が満たされたかを判定する（Ｓ１４）。終了条件は、本処理を終了するために予め定められた条件であればよく、例えば、ユーザが所定の操作をすることであってよい。終了条件が満たされたと判定された場合（Ｓ１４；Ｙ）、本処理は終了する。一方、終了条件が満たされたと判定されない場合（Ｓ１４；Ｎ）、Ｓ３の処理に戻り、次のフレームが待ち受けられる。
【００９６】
以上説明した表示制御装置１０によれば、複雑な処理を毎フレーム実行するのではなく、仮想画像Ｇ２を加工するという簡易な処理を実行するフレームを間に挟み、複雑な処理を実行するフレームを間引くことで、拡張現実のリアリティを維持しつつ、拡張現実を提供する表示制御装置１０の処理負荷を軽減することができる。
【００９７】
また、第１表示制御フレームが複数回繰り返し到来する場合であったとしても、各第１表示制御フレームの後に第２表示制御フレームを設定することで、表示制御装置１０の処理負荷を軽減することができる。
【００９８】
また、第２表示制御部１２２の加工対象となる仮想画像Ｇ２を、直近の第１表示制御フレームで生成された仮想画像Ｇ２とすることで、撮影部１８の現在の位置と向きに最も近い仮想画像Ｇ２を加工することになるので、拡張現実のリアリティを効果的に高めることができる。
【００９９】
また、撮影画像Ｇ１の特徴点の変化に基づいて移動情報を取得することで、簡易な処理で抽出可能な情報により撮影部１８の移動を推定することができるため、表示制御装置１０の処理負荷を効果的に軽減することができる。更に、実際に撮影された被写体の特徴点を利用することで、撮影部１８の移動の推定精度を高めることもできる。
【０１００】
また、仮想画像Ｇ２の表示位置に対応する領域を特徴点の抽出対象とすることで、抽出する特徴点の数を絞ることができ、表示制御装置１０の処理負荷を効果的に軽減することができる。更に、仮想画像Ｇ２周辺の被写体の変化に合わせて仮想画像Ｇ２を加工することができるので、加工後の仮想画像Ｇ２の不自然さを軽減し、拡張現実のリアリティを高めることができる。
【０１０１】
また、第２表示制御部１２２が移動情報に基づいて仮想画像Ｇ２の表示位置を決定することによって、撮影画像Ｇ１上での被写体の移動とともに仮想画像Ｇ２も移動させることができるので、仮想３次元オブジェクトＶＯが現実空間ＲＳの所定位置に存在するかのようなリアリティの高い拡張現実を簡易な処理によって提供することができる。
【０１０２】
また、第１表示制御部１２１がセンサ部１９の検出信号に更に基づいて撮影部１８の位置と向きを推定することで、撮影部１８の位置と向きの推定精度を高めることができる。
【０１０３】
また、撮影画像Ｇ１がリアルタイムで表示される場合に仮想画像Ｇ２が合成表示されることで、ユーザの目の前に仮想３次元オブジェクトＶＯが存在するかのような拡張現実を提供することができる。
【０１０４】
また、部屋の内部が撮影された場合に、家具を示す仮想３次元オブジェクトＶＯを示す仮想画像Ｇ２を重畳表示させることで、実在しない家具が室内に存在するかのような拡張現実を提供する場合の表示制御装置１０の処理負荷を軽減することができる。
【０１０５】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１０６】
（１）例えば、実施形態では、撮影画像Ｇ１の特徴点の変化に基づいて移動情報が取得されたが、他の情報を移動情報としてもよい。例えば、センサ部１９の検出信号を利用すれば、撮影部１８の移動を大まかに推定できるので、第２表示制御フレームでは、センサ部１９の検出信号を利用して、直近の第１表示制御フレームからの撮影部１８の移動を推定し、仮想画像Ｇ２を加工してもよい。
【０１０７】
本変形例の第２表示制御部１２２は、撮影部１８の位置の変化を検出可能な加速度センサ１９Ａの検出結果と、撮影部１８の向きの変化を検出可能なジャイロセンサ１９Ｂの検出結果の変化と、の少なくとも一方に基づいて移動情報を取得するようにしてもよい。即ち、移動情報は、加速度センサ１９Ａにより検出された撮影部１８の位置変化と、ジャイロセンサ１９Ｂにより検出された撮影部１８の向きの変化（姿勢変化）と、の少なくとも一方を含んでもよい。ここでは、移動情報が、これら両方を含む場合を説明するが、何れか一方のみを含んでもよい。
【０１０８】
第２表示制御部１２２は、撮影部１８の位置変化と向きの変化に関連付けられた加工方法で仮想画像Ｇ２を加工することになる。例えば、第２表示制御部１２２は、撮影部１８が前進したことを移動情報が示す場合、仮想画像Ｇ２を拡大させる。また例えば、第２表示制御部１２２は、撮影部１８が後退したことを移動情報が示す場合、仮想画像Ｇ２を縮小させる。また例えば、第２表示制御部１２２は、撮影部１８が被写体に対して水平に移動したことを移動情報が示す場合、撮影部１８の移動方向に対応する方向に仮想画像Ｇ２を移動させる。また例えば、第２表示制御部１２２は、撮影部１８の向きが変わったことを移動情報が示す場合、撮影画像Ｇ１の被写体の変形と同様の変形をするように、仮想画像Ｇ２を射影変換したりアフィン変換したりする。
【０１０９】
変形例（１）によれば、センサ部１９の検出信号を利用して仮想画像Ｇ２を加工することで、第１表示制御フレームからの撮影部１８の移動の推定（即ち、移動情報の取得処理）を、より簡易的な処理とすることができ、表示制御装置１０の処理負荷を効果的に軽減することができる。
【０１１０】
（２）また例えば、撮影部１８の移動方向や移動速度は、それまでの移動方向や移動速度から急激に変わることは少ない。このため、第１表示制御フレームにおける撮影部１８の位置と向きの変化から、第２表示制御フレームにおける撮影部１８の位置と向きを推定し、仮想画像Ｇ２を加工してもよい。
【０１１１】
本変形例では、第１表示制御部１２１は、撮影部１８の位置と向きの推定結果の履歴をデータ記憶部１００に記録する。例えば、第１表示制御部１２１は、仮想視点ＶＶの仮想視点パラメータを時系列的にデータ記憶部１００に記録する。
【０１１２】
第２表示制御部１２２は、第１表示制御部１２１による撮影部１８の位置と向きの推計結果の変化に基づいて移動情報を取得するようにしてもよい。例えば、第２表示制御部１２２は、過去の一定期間における仮想視点ＶＶの仮想視点パラメータの時系列的な変化から、直近の第１表示制御フレームからの撮影部１８の移動を予想し、移動情報として取得する。
【０１１３】
例えば、撮影部１８が等速運動をしている場合、第２表示制御部１２２は、撮影部１８がそのまま等速運動を維持しているものとして、移動情報を取得する。また例えば、仮想視点ＶＶが加速している場合、第２表示制御部１２２は、仮想視点ＶＶがそのままの加速度を維持しているものとして、移動情報を取得する。また例えば、仮想視点ＶＶが減速している場合、第２表示制御部１２２は、仮想視点ＶＶがそのままの加速度を維持しているものとして、移動情報を取得する。また例えば、仮想視点ＶＶが停止している場合、第２表示制御部１２２は、仮想視点ＶＶがそのまま停止しているものとして、移動情報を取得する。移動情報が取得された後の仮想画像Ｇ２の加工方法は、変形例（１）で説明した方法と同様であってよい。
【０１１４】
変形例（２）によれば、撮影部１８の移動の履歴から撮影部１８の移動を予測することで、第１表示制御フレームからの撮影部１８の移動の推定（即ち、移動情報の取得処理）を、より簡易的な処理とすることができ、表示制御装置１０の処理負荷を効果的に軽減することができる。
【０１１５】
（３）また例えば、各第１表示制御フレームの間に設定される第２表示制御フレームの数は可変であってよく、所定の条件に基づいて、第１表示制御フレームが到来する頻度が変わるようにしてよい。なお、頻度は、単位時間あたりの第１表示制御フレームの数であり、例えば、フレームレートをＮｆｐｓとすると、Ｎ個のフレームにおける第１表示制御フレームの割合である。
【０１１６】
図１５は、変形例（３）における機能ブロック図である。図１５に示すように、本変形例では、頻度決定部１３０が実現される。頻度決定部１３０は、制御部１１を主として実現される。頻度決定部１３０は、所定の条件に基づいて、第１表示制御フレームが到来する頻度を決定する。所定の条件とは、予め定められた条件であればよく、例えば、ユーザの操作に関する条件、現在の処理負荷に関する条件、表示制御装置１０の性能に関する条件、撮影部１８の移動に関する条件、又は仮想３次元オブジェクトＶＯに関する条件などであってよい。
【０１１７】
所定の条件と第１表示制御フレームの頻度との関係は、数式形式又はテーブル形式でデータ記憶部１００に記憶されていてもよいし、プログラムコードの一部として記述されているようにしてもよい。頻度決定部１３０は、所定の条件が満たされるか否かを判定し、満たされる条件に関連付けられた頻度を設定する。表示制御部１２０は、頻度決定部１３０が決定した頻度に基づいて、第１表示制御フレームと第２表示制御フレームの繰り返しパターンを決定し、現在のフレームが第１表示制御フレームであるか第２表示制御フレームであるかを判定する。
【０１１８】
例えば、ユーザの操作に関する条件であれば、頻度決定部１３０は、ユーザが指定した頻度となるように、第１表示制御フレームの頻度を決定する。この場合、ユーザは、単位時間当たりの第１表示制御フレームの頻度を示す数値を指定可能であってもよいし、複数段階の頻度の中から所望の頻度を指定可能であってもよい。
【０１１９】
また例えば、現在の処理負荷に関する条件であれば、頻度決定部１３０は、現在の処理負荷が高いほど第１表示制御フレームの頻度を低くし、現在の処理負荷が低いほど第１表示制御フレームの頻度を高くする。処理負荷は、例えば、ＣＰＵ使用率であってもよいし、メモリ使用率であってもよい。頻度決定部１３０は、所定のコマンド（例えば、ｔｙｐｅｐｅｒｆコマンドやｖｍｓｔａｔコマンドなど）を実行することで処理負荷を取得すればよい。
【０１２０】
また例えば、表示制御装置１０の性能に関する条件であれば、頻度決定部１３０は、表示制御装置１０の性能が高いほど第１表示制御フレームの頻度を高くし、性能が低いほど第１表示制御フレームの頻度を低くする。表示制御装置１０の性能は、例えば、ＣＰＵのクロック数又はキャッシュであってもよいし、メモリの種類であってもよい。
【０１２１】
また例えば、撮影部１８の移動に関する条件であれば、頻度決定部１３０は、撮影部１８の移動量が大きいほど第１表示制御フレームの頻度を高くし、移動量が小さいほど第１表示制御フレームの頻度を低くする。撮影部１８の移動量は、移動距離であってもよいし移動速度であってもよい。撮影部１８の移動量は、実施形態で説明したように、センサ部１９の検出信号に基づいて取得されてもよいし、撮影画像Ｇ１の特徴点の変化に基づいて取得されてもよい。
【０１２２】
また例えば、仮想３次元オブジェクトＶＯに関する条件であれば、例えば、頻度決定部１３０は、仮想３次元オブジェクトＶＯの頂点数が少ないほど第１表示制御フレームの頻度を高くし、頂点数が多いほど第１表示制御フレームの頻度を低くする。また例えば、仮想空間ＶＳに複数の仮想３次元オブジェクトＶＯを配置可能とする場合には、頻度決定部１３０は、仮想３次元オブジェクトＶＯの数が多いほど第１表示制御フレームの頻度を低くし、数が少ないほど第１表示制御フレームの頻度を高くする。またこれとは逆に、頻度決定部１３０は、仮想３次元オブジェクトＶＯの数が少ないほど第１表示制御フレームの頻度を高くし、数が多いほど第１表示制御フレームの頻度を低くしてもよい。
【０１２３】
変形例（３）によれば、所定の条件に応じた頻度の第１表示制御フレームが設定されるので、表示制御装置１０の処理負荷の軽減と、拡張現実のリアリティの向上と、のバランスをより良いものとすることができる。
【０１２４】
（４）また例えば、仮想空間ＶＳには、複数の仮想３次元オブジェクトが配置されるようにしてもよく、仮想３次元オブジェクトＶＯごとに、第１表示制御フレームが到来する頻度が可変であってもよい。
【０１２５】
図１６は、変形例（４）の処理内容の説明図である。図１６に示す例では、本棚を示す仮想３次元オブジェクトＶＯ１と、机を示す仮想３次元オブジェクトＶＯ２と、が仮想空間ＶＳに配置されている。図１６に示すように、仮想３次元オブジェクトＶＯ１は、仮想３次元オブジェクトＶＯ２よりも仮想視点ＶＶから遠い位置に配置されている。
【０１２６】
例えば、第１表示制御部１２１は、仮想３次元オブジェクトＶＯごとに、仮想画像Ｇ２を生成するようにしてよい。このため、図１６の例では、第１表示制御部１２１は、仮想３次元オブジェクトＶＯ１の仮想画像Ｇ２と、仮想３次元オブジェクトＶＯ２の仮想画像Ｇ２と、を生成するようにしてよい。仮想画像Ｇ２とＧ３は、同じレイヤであってもよいし、異なるレイヤであってもよい。ただし、仮想画像Ｇ２とＧ３の各々のレイヤは、撮影画像Ｇ１のレイヤよりも上であるものとする。
【０１２７】
また例えば、第２表示制御部１２２は、仮想３次元オブジェクトＶＯごとに生成された仮想画像Ｇ２を加工し、撮影画像Ｇ１と合成して表示させる。仮想画像Ｇ２の加工方法や撮影画像Ｇ１との合成方法自体は、実施形態で説明した方法と同様であってよい。
【０１２８】
変形例（４）の頻度決定部１３０は、仮想３次元オブジェクトＶＯごとに、当該仮想３次元オブジェクトＶＯの位置に基づいて、第１表示制御フレームが到来する頻度を決定する。例えば、頻度決定部１３０は、仮想３次元オブジェクトＶＯと仮想視点ＶＶとの距離が短いほど第１表示制御フレームの頻度を高くし、距離が長いほど第１表示制御フレームの頻度を低くする。図１６の例では、頻度決定部１３０は、仮想３次元オブジェクトＶＯ１の第１表示制御フレームの頻度を、仮想３次元オブジェクトＶＯ２の第２表示制御フレームの頻度よりも低く設定する。表示制御部１２０は、仮想３次元オブジェクトＶＯごとに、頻度決定部１３０が決定した頻度に基づいて、現在のフレームが第１表示制御フレームであるか第２表示制御フレームであるかを判定することになる。
【０１２９】
変形例（４）によれば、仮想３次元オブジェクトＶＯの位置に基づいて第１表示制御フレームの頻度が可変になるので、仮想視点ＶＶとの距離が近く、形状の変化が出やすく被写体とのずれが分かりやすい場合には、精度の高い処理を頻繁に実行し、仮想視点ＶＶとの距離が遠く、形状の変化が出にくく被写体とのずれが分かりにくい場合には精度の高い処理を間引いて簡易な処理を実行することができる。その結果、表示制御装置１０の処理負荷の軽減と、拡張現実のリアリティの向上と、のバランスをより良いものとすることができる。
【０１３０】
（５）また例えば、仮想画像Ｇ２は、撮影画像Ｇ１と同じサイズでなくてもよく、撮影画像Ｇ１よりも小さくてもよいし大きくてもよい。本変形例の第１表示制御部１２１は、撮影画像Ｇ１よりも大きい仮想画像Ｇ２を生成する。仮想画像Ｇ２は、撮影画像Ｇ１を含むことが可能なサイズであってよい。
【０１３１】
第２表示制御部１２２は、第１表示制御部１２１による表示制御では表示されなかった仮想画像Ｇ２の部分を加工して表示可能である。例えば、第２表示制御部１２２は、仮想画像Ｇ２を縮小したり移動したりすることによって、それまでは表示されなかった領域を、撮影画像Ｇ１と合成して表示可能である。
【０１３２】
例えば、撮影部１８が上方向を向いた場合には、第２表示制御部１２２は、仮想画像Ｇ２を下方向に移動させることによって、仮想画像Ｇ２のうち、それまでは表示されていなかった上側の領域を表示させる。同様に、撮影部１８が下方向、右方向、又は左方向を向いた場合には、第２表示制御部１２２は、仮想画像Ｇ２を上方向、左方向、又は右方向に移動させることによって、仮想画像Ｇ２のうち、それまでは表示されていなかった領域を表示させる。
【０１３３】
変形例（５）によれば、撮影部１８が移動し、それまで撮影されていなかった部分が撮影画像Ｇ１に撮影されたとしても、第１表示制御フレームでは表示されなかった仮想画像Ｇ２の部分を簡易な処理で表示可能になるので、表示制御装置１０の処理負荷を軽減しつつ、拡張現実のリアリティを効果的に高めることができる。
【０１３４】
（６）また例えば、実施形態では、撮影部１８の位置と向きを推定するためにセンサ部１９を利用する場合を説明したが、特にセンサ部１９は利用しなくてもよい。また例えば、センサ部１９の検出結果は、第１表示制御フレームで毎回利用してもよいし、初期化処理時のみだけで利用して第１表示制御フレームでは利用しなくてもよい。また、１台の撮影部１８（単眼カメラ）が利用される場合を説明したが、複数の撮影部１８（複眼カメラ）を利用してもよいし、深度センサを含んだ撮影部１８（ＲＧＢ−Ｄカメラ）を利用してもよい。深度センサは、被写体との距離を検出可能なセンサであればよく、例えば、赤外線や超音波を利用した方式であってよい。深度センサを含んだ撮影部１８によれば、特徴点との距離を直接的に計算可能となる。
【０１３５】
また例えば、実施形態では、第１表示制御部１２１が仮想視点ＶＶの位置と向きが調整する場合を説明したが、仮想３次元オブジェクトＶＯに対する仮想視点ＶＶの相対位置を調整すればよく、仮想３次元オブジェクトＶＯの位置と向きを変えてもよい。即ち、第１表示制御部１２１は、仮想視点ＶＶの位置と向きを変えずに、仮想３次元オブジェクトＶＯを移動させたり回転したりしてもよい。他にも例えば、第１表示制御部１２１は、仮想視点ＶＶと仮想３次元オブジェクトＶＯの両方の位置と向きを変えてもよい。
【０１３６】
また例えば、現実空間ＲＳは、任意の空間であればよく、実施形態で説明した室内に限られない。現実空間ＲＳは、屋外であってもよく、例えば、イベント会場、駐車場、又は競技場などであってよい。また例えば、仮想３次元オブジェクトＶＯは、拡張現実における合成対象となる３次元モデルであればよく、実施形態で説明した家具に限られない。仮想３次元オブジェクトは、屋外に配置される物体を示してもよく、例えば、車やバイクなどの乗物、人や動物などのキャラクタ、洋服や靴などの衣類、木や草などの植物、塀、又は看板などであってよい。また例えば、仮想３次元オブジェクトは、動かない物体に限られず、動く物体であってもよい。この場合、仮想３次元オブジェクトの各頂点の変化を定義したモーションデータがデータ記憶部に記憶されており、表示制御部１２０は、モーションデータを再生することで仮想３次元オブジェクトを動かせばよい。
【０１３７】
また例えば、表示制御装置１０に撮影部１８が含まれている必要はなく、撮影画像取得部１１０は、表示制御装置１０に含まれない撮影部１８で撮影された撮影画像Ｇ１を取得してもよい。この場合、センサ部１９は、表示制御装置１０に含まれておらず、撮影部１８の筐体に含まれるようにしてよい。また例えば、表示制御装置１０は、サーバコンピュータで実現されてもよく、この場合には、表示制御装置１０は表示部１５を含まず、ネットワークを介して接続された端末の表示部に撮影画像Ｇ１と仮想画像Ｇ２を合成して表示させるようにしてもよい。
【図１】
0006621565.tif 000002
【図２】
0006621565.tif 000003
【図３】
0006621565.tif 000004
【図４】
0006621565.tif 000005
【図５】
0006621565.tif 000006
【図６】
0006621565.tif 000007
【図７】
0006621565.tif 000008
【図８】
0006621565.tif 000009
【図９】
0006621565.tif 000010
【図１０】
0006621565.tif 000011
【図１１】
0006621565.tif 000012
【図１２】
0006621565.tif 000013
【図１３】
0006621565.tif 000014
【図１４】
0006621565.tif 000015
【図１５】
0006621565.tif 000016
【図１６】
0006621565.tif 000017