(57)【特許請求の範囲】
【請求項１】
表示装置と、仮想オブジェクトを記憶する情報処理装置とを含む情報処理システムであって、
表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御手段と、
前記第１の画像とは別の画像であって、前記第１の画像よりも高解像度な第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該第２の画像にかかる日時における仮想オブジェクトの画像を当該第２の画像に重畳して表示すべく生成する生成手段と、
前記生成手段で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記表示装置は撮像装置であって、
前記第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合とは、前記表示装置において画像を記録するためのユーザ操作がされた場合であることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
表示装置と、仮想オブジェクトを記憶する情報処理装置とを含む情報処理システムの制御方法であって、
表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御工程と、
前記第１の画像とは別の画像であって、前記第１の画像よりも高解像度な第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該第２の画像にかかる日時における仮想オブジェクトの画像を当該第２の画像に重畳して表示すべく生成する生成工程と、
前記生成工程で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御工程と、
を含む制御方法。
【請求項４】
表示装置と通信可能な、仮想オブジェクトを記憶する情報処理装置であって、
表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御手段と、
前記第１の画像とは別の画像であって、前記第１の画像よりも高解像度な第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該第２の画像にかかる日時における仮想オブジェクトの画像を当該第２の画像に重畳して表示すべく生成する生成手段と、
前記生成手段で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項５】
表示装置と通信可能な、仮想オブジェクトを記憶する情報処理装置の制御方法であって、
表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御工程と、
前記第１の画像とは別の画像であって、前記第１の画像よりも高解像度な第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該第２の画像にかかる日時における仮想オブジェクトの画像を当該第２の画像に重畳して表示すべく生成する生成工程と、
前記生成工程で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御工程と、
を含む制御方法。
【請求項６】
表示装置と通信可能な、仮想オブジェクトを記憶する情報処理装置を、
表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御手段と、
前記第１の画像とは別の画像であって、前記第１の画像よりも高解像度な第２の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該第２の画像にかかる日時における仮想オブジェクトの画像を当該第２の画像に重畳して表示すべく生成する生成手段と、
前記生成手段で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合現実（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ／以下、ＭＲと記載）の技術が普及している。ＭＲ技術を用いて、ヘッドマウントディスプレイを装着したユーザに対し、現実物体とＣＧモデルを配置した空間の体験を提供できる。
【０００３】
特許文献１には、ＭＲ空間（現実空間と仮想空間とを合成した複合現実空間）を生成するにあたり、仮想空間を現実空間の位置合わせに用いられる位置指標として、マーカを用いること、及び、当該マーカの存在をユーザに意識させないためにマーカを検出した場合には当該マーカを隠した画像を描画した画像を生成することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３５０８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＭＲにおいては、ヘッドマウントディスプレイ（ＨＭＤ）を装着したユーザがＭＲ画像（現実空間とＣＧとを合成した重畳画像）を閲覧し、現実物体とＣＧモデルを配置したＭＲ空間をリアルタイムで体験させることができるが、例えば、ＭＲ空間の画像を保存するために、ユーザがＭＲ画像（静止画）の撮像・保存を望むことが考えられる。
【０００６】
例えばＨＭＤの代わりに携帯端末のディスプレイ等でＭＲ画像を表示する場合、携帯端末に搭載されている画面のキャプチャ機能を用いて画像を保存することが可能である。しかし、例えば通信負荷を軽減するために解像度の低い画像がＭＲ画像に用いられることがあり、キャプチャ機能では精細な画像（高解像度の写真）を得ることができない。
【０００７】
仮に高解像度の画像を携帯端末から無線通信で、ＭＲ画像を生成する装置に送信してＭＲ画像を生成しようとすると、画像の送受信に時間がかかってしまう。ＭＲ空間が１つの場合、当該ＭＲ空間においてはリアルタイムに現実物体やＣＧの位置が変移しているため、遅れて受信した画像に現在のＭＲ空間のＣＧ配置に従ってＣＧを重畳すると、撮像指示がされた際に携帯端末に表示されていたＭＲ画像とは異なるＭＲ画像が生成されてしまう。
【０００８】
本発明は、ライブ表示される画像とは別の画像に仮想オブジェクトを重畳させる依頼を受けた場合に、当該別の画像の日時における仮想オブジェクトの画像を再現し、表示装置に表示させる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、表示装置と、仮想オブジェクトを記憶する情報処理装置とを含む情報処理システムであって、表示装置においてライブ表示される第１の画像に、当該表示装置の位置に応じて位置決定された仮想オブジェクトの画像を重畳して表示すべく制御する第１の表示制御手段と、前記表示装置にライブ表示される前記第１の画像とは別の画像に前記仮想オブジェクトを重畳させる依頼を受けた場合に、当該別の画像である第２の画像にかかる日時における仮想オブジェクトの画像を、当該第２の画像に重畳して表示すべく生成する生成手段と、前記生成手段で生成された前記仮想オブジェクトの画像を前記第２の画像に重畳して前記表示装置に表示すべく制御する第２の表示制御制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明は、ライブ表示される画像とは別の画像に仮想オブジェクトを重畳させる依頼を受けた場合に、当該別の画像の日時における仮想オブジェクトの画像を再現し、表示装置に表示させるができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、携帯端末の登録処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、ＭＲ画像の生成処理の流れを示すフローチャートである。
【図６】本発明の実施形態における、各種データテーブルの構成の一例を示す図である。
【図７】本発明の実施形態における、ＭＲ画像生成の様子を示す図である。
【図８】本発明の実施形態における、ＭＲ画像生成の様子を示す図である。
【図９】本発明の実施形態における、過去の現実画像に現在の仮想オブジェクトを重畳してＭＲ画像を生成した様子を示す図である。
【図１０】本発明の実施形態における、ＭＲ空間における物体の位置関係を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。図１は、本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【００１３】
図１に示す通り、本発明の情報処理システムは、携帯端末１００と、サーバ２００とが、ネットワーク１０１（ＬＡＮ１０１）を介して通信可能に接続され、構成されている。
【００１４】
携帯端末１００は、カメラ（撮像部）を介して現実画像（撮像画像）を撮像し、サーバ２００に送信する。また、シャッターボタンが押下されていない場合は低解像度の画像を送信し、シャッターボタンが押下された場合は高解像度の画像を送信するものとする。
【００１５】
サーバ２００は、現実空間に合成する仮想空間の原点座標の情報（Ｘ，Ｙ，Ｚ＝０，０，０）、及び、ＣＧ（仮想オブジェクト）のデータ、仮想空間における仮想オブジェクトの位置・姿勢を記憶している。
【００１６】
サーバ２００は、前記原点座標と現実空間上の所定の位置の位置合わせを行うことによって現実空間に仮想空間を合成した空間（現実空間の所定の位置に仮想空間を配置した空間）であるＭＲ空間を生成する。
【００１７】
そして、当該携帯端末１００の位置・姿勢と、当該ＭＲ空間上の仮想オブジェクトの位置・姿勢（現実空間に合成された仮想空間上の仮想オブジェクトの位置・姿勢）とに従って、当該携帯端末１００から取得した画像に対して、当該携帯端末１００から見たＭＲ空間の画像であるＭＲ画像（現実画像と仮想オブジェクトの画像を重畳した画像）を生成する。当該ＭＲ画像は携帯端末１００に送信され、携帯端末１００に表示される。
【００１８】
例えば、サーバ２００は、図１０の１０００、１０１０に示すようなＭＲ空間の俯瞰図を、現実物体７０１の配置されている現実空間に、仮想物体７１１、７１２、７１３が配置された仮想空間を配置することで生成する。
【００１９】
図１０の１０００は、「２０１４／０１／３０  １３：５９：３８」時点でのＭＲ空間の俯瞰図である。１０１０は、「２０１４／０１／３０  １３：５９：４０」時点でのＭＲ空間の俯瞰図である。ここでは、現在日時＝「２０１４／０１／３０  １３：５９：４０」であるものとする。
【００２０】
以下、図７〜図１０を用いて、本発明の課題の具体例について説明する。
【００２１】
図１０に示す通り、現実物体、及び仮想オブジェクトは、ＭＲ空間内において移動することが考えられる。図１０においては、ユーザＢが携帯端末１００を持ってＭＲ空間内を撮像し、ＨＭＤ（ヘッドマウントディスプレイ）を装着したユーザＡが、仮想オブジェクト７１２を移動させている。また、仮想オブジェクト７１３は、時間の経過に応じて自動で移動している。１００１は携帯端末１００のカメラの画角を示す。
【００２２】
例えば、携帯端末１００には図７にお７２０に示すようなＭＲ画像がライブビューで表示される。これは７００に示す現実画像と、携帯端末１００の位置から仮想空間を見た場合の仮想空間の画像７１０とを重畳することでサーバ２００により生成される。
【００２３】
当該ＭＲ画像は、例えば図８に示すように、サーバ２００により逐次生成され、携帯端末１００に送信されるため、携帯端末１００の表示画面においては８００、８１０、８２０と画面の状態が遷移していくことになる。８００ａ、８００ｂ、８００ｃはそれぞれ、各日時における仮想空間の画像（仮想空間内の仮想オブジェクトの状態遷移を示す画像）である。
【００２４】
ここで、例えば、図８の８００の時点（「２０１３・０１・３０  １３：５９：３８」）でシャッターボタンを押下して高解像度のＭＲ画像を保存しようとしたとする。高解像度画像の場合、低解像度画像に比べて送受信に時間がかかる可能性がある。例えばシャッターボタンが押下されてから高解像度画像がサーバ２００において受信されるまで２秒かかるとする。もしも現在再生中の仮想空間（仮想オブジェクト）を当該現実画像に重畳すると、図９のように、２秒前の現実画像９００に現在の仮想空間の画像９１０を重畳することになり、ユーザはＭＲ画像７２０のような画像を所望していたにもかかわらず、ＭＲ画像９２０に示すように所望の画像とは異なる画像がサーバ２００において生成されてしまうという問題がある。
【００２５】
本発明においては、シャッターボタンが押下された時間と、サーバ２００が画像を受診した時間が異なっていたとしても適切なＭＲ画像を生成してユーザに提供する。以上が本発明の課題の具体例についての説明である。
【００２６】
以下、図２を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。図２は、本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【００２７】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２８】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２９】
また、２０５は入力コントローラで、入力装置２０９であるキーボード（ＫＢ）や不図示のマウス等のポインティングデバイスからの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００３０】
また、本発明の実施形態において、携帯端末１００のＣＲＴ２１０は、タッチパネル機能を有するものとする。ＣＲＴ２１０がタッチパネル機能を有する場合、当該ＣＲＴ２１０は入力装置としても機能し、入力コントローラにタッチパネル機能で検出した（ディスプレイで受け付けた）タッチ操作の情報を入力情報として伝達するものとする。つまり、入力コントローラ２０５は、ＣＲＴ２１０からの入力制御を行う。
【００３１】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３２】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したネットワーク１０１）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３３】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３４】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３５】
２１２は撮像コントローラ（カメラコントローラ）で、撮像部（カメラ装置）２１３へのアクセス制御を行い、撮像部２１３において撮像された現実画像（撮像画像）の取得を行う。また、例えば、外部メモリに記憶されたアプリケーションの起動に応じて撮像部２１３による画像の撮像処理の開始や、ディスプレイ（画面）に表示されたシャッターボタンの押下指示を受け付けることにより撮像部２１３による画像の撮像処理の実行を制御する。以上が図２の説明である。
【００３６】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。図３は、本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【００３７】
撮像処理部３１１は、現実画像を撮像する処理部である。撮像画像自動送信部３１２は、撮像された画像を自動で、逐次サーバ２００に送信する送信部である。
【００３８】
シャッター押下指示受付部３１３は、例えばタッチパネル（表示画面）上に表示されたシャッターボタンの押下指示を受け付ける受付部である。シャッター押下情報送信部３１４は、シャッターの押下指示に応じて、撮像画像自動送信部３１２で送信される撮像画像とは別に、撮像画像とシャッターが押下された旨の情報、シャッターが押下された日時の情報（撮影時刻／撮像時間）をサーバ２００に送信する。
【００３９】
撮像画像受信部３２１は撮像画像を受信する。シャッター押下情報受信部３２２は、シャッター押下情報送信部３１４で送信された情報を受信する。シャッター押下判定部３２３は、シャッター押下情報受信部３２２で受信した情報に基づいて、携帯端末１００でシャッターが押下されたか判定する判定部である。
【００４０】
ＭＲ空間生成部３２４は、仮想オブジェクト記憶部３２８に記憶された、現在の仮想オブジェクトの位置・姿勢の情報に基づいて各仮想オブジェクトが配置されたＭＲ空間を生成する生成部である。
【００４１】
ＭＲ空間再現部３２５は、仮想オブジェクト記憶部３２８に記憶された、シャッター押下時点における仮想オブジェクトの位置・姿勢の情報に基づいて各仮想オブジェクトが配置された、シャッター押下時点でのＭＲ空間を、ＭＲ空間生成部３２４で生成したＭＲ空間とは別に生成する生成部である。
【００４２】
ＭＲ画像生成部３２６は、ＭＲ空間生成部３２４で生成したＭＲ空間の情報と撮像画像自動送信部で送信されて受信した撮像画像とを重畳してＭＲ画像を生成する。
【００４３】
また、シャッター押下判定部でシャッターが押下されたと判定した場合、ＭＲ空間再現部３２５とシャッター押下情報送信部で送信された撮像画像とを重畳してＭＲ画像を生成する。ＭＲ画像送信部３２７は、生成したＭＲ画像を携帯端末１００に送信する。
【００４４】
ＭＲ画像受信部３１５はＭＲ画像を受信し、ＭＲ画像表示部３１６は携帯端末１００の表示画面にＭＲ画像を表示する。ＭＲ画像記憶部３１７はＭＲ画像を記憶する。以上が図３の説明である。
【００４５】
次に図４を参照して、本発明の実施形態における、携帯端末の登録処理について説明する。図４は、本発明の実施形態における、携帯端末の登録処理の流れを示すフローチャートである。
【００４６】
携帯端末１００のＣＰＵ２０１が、ユーザ操作に応じて当該携帯端末１００に記憶されたＭＲアプリケーションを起動する。そして、携帯端末１００のカメラ（撮像部２１３）を用いた撮像処理を開始する（ステップＳ４０１）。
【００４７】
携帯端末１００のＣＰＵ２０１は、当該ＭＲアプリケーションが管理している、携帯端末１００の外部メモリに記憶されたサーバ２００の識別情報（例えばＩＰアドレス）を特定して（ステップＳ４０２）、当該携帯端末１００のカメラ情報の登録要求をサーバ２００に送信する（ステップＳ４０３）。当該登録要求には、携帯端末１００のカメラ情報が含まれるものとする。カメラ情報とは、例えば図６のカメラ情報６３０のような情報である。
【００４８】
図６を参照して、カメラ情報６３０について説明する。カメラ情報６３０は携帯端末１００の外部メモリに記憶されている。また、サーバ２００が携帯端末１００から受信することで、サーバ２００の外部メモリに記憶される。
【００４９】
携帯端末ＩＤ６３１は携帯端末の識別情報である。例えばＭＡＣアドレスである。画角６３２は、携帯端末ＩＤ６３１の示す携帯端末１００に搭載されたカメラ装置（撮像部）の画角の値である。レンズ歪み６３３は、携帯端末ＩＤ６３１の示す携帯端末１００に搭載されたカメラ装置（撮像部）のレンズの歪みの値である。
【００５０】
低解像度画像サイズ６３４は、撮像部で撮像される低解像度画像の画像サイズである。高解像度画像サイズ６３５は、撮像部で撮像される高解像度画像の画像サイズである。以上がカメラ情報６３０の説明である。
【００５１】
図４の説明に戻る。サーバ２００のＣＰＵ２０１は、携帯端末１００からのカメラ情報の登録要求を受け付け（ステップＳ４０４）、サーバ２００の外部メモリに記憶する処理を行う（ステップＳ４０５）。つまり、カメラ情報６３０をサーバ２００に登録する。
【００５２】
サーバ２００のＣＰＵ２０１は、登録結果（例えば登録が成功した旨の情報）を携帯端末１００に送信する（ステップＳ４０６）。ステップＳ４０６で送られた登録結果を携帯端末１００のＣＰＵ２０１が受信し（ステップＳ４０７）、当該登録結果を示す不図示の登録結果画面を携帯端末１００の表示画面に表示する（ステップＳ４０８）。以上が図４の説明である。
【００５３】
次に図５を参照して、本発明の実施形態における、ＭＲ画像の生成処理について説明する。図５は、本発明の実施形態における、ＭＲ画像の生成処理の流れを示すフローチャートである。
【００５４】
携帯端末１００のＣＰＵ２０１は、ＭＲアプリケーションを起動して、現実画像の撮影を開始する（ステップＳ５０１）。つまり現実画像を取得する。尚、当該撮像処理で取得する画像は高解像度の画像であるものとする。
【００５５】
携帯端末１００のＣＰＵ２０１は、シャッターボタンの押下指示を受け付けたか判定する（ステップＳ５０２）。ＭＲアプリケーション起動直後は、シャッターボタンの押下指示を受け付けていないと判定するものとする。
【００５６】
シャッターボタンの押下指示を受け付けていないと判定した場合（ステップＳ５０２でＮＯ）、処理をステップＳ５０３に移行し、ステップＳ５０１で取得した画像を低解像度の画像に変換する（ステップＳ５０３）。そして、低解像度画像とシャッターが押下されていない旨の情報を合わせてサーバ２００に送信する（ステップＳ５０４／第１の撮像画像送信手段）。
【００５７】
具体的には、図６の携帯端末情報６００の情報をサーバ２００に送信する。ここで送信する携帯端末情報６００においては、シャッターフラグ６０５＝０、解像度６０６＝６４０，４８０であるものとする。
【００５８】
ここで図６を参照して、携帯端末情報６００の構成の一例について説明する。携帯端末情報６００は携帯端末１００の外部メモリに記憶されている。また、サーバ２００が携帯端末１００から受信することで、サーバ２００の外部メモリに記憶される。
【００５９】
携帯端末ＩＤ６０１は携帯端末の識別情報である。例えばＭＡＣアドレスである。撮影時刻６０２は、撮像部でシャッターボタンが押下された（シャッター押下により撮像処理が行われた）時刻の情報（撮像時刻／撮像時間）である。尚、図５のステップ５０４で画像がサーバに送信される場合は、シャッターボタンが押下されていないため当該撮影時刻６０２には値が挿入されていないものとする。
【００６０】
尚、後述するステップＳ５０５でサーバ２００に画像が送信される場合には、当該撮影時刻６０２には、シャッター押下時の日時の情報が挿入されている。
【００６１】
位置・姿勢６０３は、ステップＳ５０４・Ｓ５０５でサーバ２００に画像が送信される時点では挿入されていない。後述するステップＳ５０９・Ｓ５１４において、携帯端末１００の位置・姿勢が算出されることにより、サーバ２００の外部メモリ上にて挿入・記憶される。
【００６２】
画像データ６０４は、携帯端末１００からサーバ２００に送信される現実画像（撮像画像）の実態データである。シャッターフラグ６０５は、図５のステップＳ５０２でシャッターボタンが押下されていると判定された時点で「１」の値が、シャッターボタンが押下されていないと判定された時点で「０」の値が、携帯端末１００のＣＰＵ２０１により挿入され、記憶されている。
【００６３】
解像度６０６は、画像データ６０４の解像度である。以上が携帯端末情報６００の説明である。
【００６４】
図５の説明に戻る。サーバ２００のＣＰＵ２０１は、ステップＳ５２２において、仮想空間の原点座標（Ｘ，Ｙ，Ｚ＝０，０，０）と、現実空間上の所定の位置の位置あわせを行う。つまり、現実空間に仮想空間を配置する処理（ＭＲ空間を生成する処理）を行う（ステップＳ５２２）。当該現実空間と仮想空間の位置合わせについては既存の技術を用いる。
【００６５】
また、当該生成したＭＲ空間に、外部メモリに記憶された現在の仮想オブジェクトの位置・姿勢の情報を読み出して、当該ＭＲ空間上に配置する。具体的には、図６の仮想オブジェクト情報履歴より、各仮想オブジェクトの最新のデータ（最新の位置・姿勢）を読み出して、当該最新のデータに従って仮想オブジェクトを、現実空間と合成された仮想空間上に配置することで、ＭＲ空間上に配置する。
【００６６】
ここで図６を参照して、仮想オブジェクト情報６１０、仮想オブジェクト情報履歴６２０の構成の一例について説明する。仮想オブジェクト情報６１０、仮想オブジェクト情報履歴６２０はサーバ２００の外部メモリに記憶されている。
【００６７】
仮想オブジェクトＩＤ６１１、仮想オブジェクトの識別情報である。仮想オブジェクト６１２は、仮想オブジェクトの形状・大きさを示す３ＤＣＧモデルのデータである。
【００６８】
仮想オブジェクトＩＤ６２１は、仮想オブジェクトの識別情報である。仮想オブジェクト情報履歴６２０は、仮想オブジェクト情報６１０の仮想オブジェクトごと（仮想オブジェクトＩＤ６１１ごと）に記憶される、各仮想オブジェクトの位置・姿勢の履歴の情報である。
【００６９】
時刻６２２は、仮想オブジェクトが位置・姿勢６２３（位置情報）に示す位置・姿勢であった時刻（時間／日時）を示す。当該仮想オブジェクト情報履歴６２０には、サーバ２００のＣＰＵ２０１によって、所定時間ごとに仮想オブジェクトの位置・姿勢の情報が追加・記憶される。以上が、仮想オブジェクト情報６１０、仮想オブジェクト情報履歴６２０の説明である。
【００７０】
図４の説明に戻る。サーバ２００のＣＰＵ２０１は、携帯端末１００より携帯端末情報６００を受信し（ステップＳ５０６）、シャッターフラグ６０５を参照して、携帯端末１００においてシャッターボタンが押下されたか判定する（ステップＳ５０７）。つまり、受信した画像が、ユーザ操作に応じて携帯端末１００からサーバ２００に送信された画像か判定する。
【００７１】
シャッターボタンが押下されていない場合（ステップＳ５０７でＮＯ）、現在の仮想オブジェクトの位置・姿勢の情報を取得する（ステップＳ５０８）。つまり、ＭＲ空間に配置中の、各仮想オブジェクトの位置・姿勢（仮想オブジェクト情報履歴６２０における差新の位置・姿勢の情報）を取得する。
【００７２】
また、携帯端末１００の位置・姿勢（ステップＳ５０６で受信した位置・姿勢６０３）の情報を、ステップＳ５０６において受信した現実画像の中から抽出されたマーカ画像、サーバ２００の外部メモリに記憶された当該携帯端末１００の画角６３２、レンズ歪み６３３の情報を用いて算出する（ステップＳ５０９／撮像位置情報取得手段）。当該マーカ画像を用いた撮像画像の位置姿勢の算出方法は既存の技術を用いるものとする。
【００７３】
サーバ２００のＣＰＵ２０１は、当該携帯端末１００の位置・姿勢の情報と、現在の仮想オブジェクトの位置の情報に基づいて、ステップＳ５０６で受信した画像（低解像度画像）に、携帯端末１００から見た仮想オブジェクトの画像を重畳したＭＲ画像（複合現実画像／重畳画像）を生成する（ステップＳ５１０／第１の重畳画像生成手段）。つまり、現在の携帯端末１００の位置・姿勢、ステップＳ５２２で生成されている現在のＭＲ空間における仮想オブジェクトの位置・姿勢に基づいてＭＲ画像を生成する。そして当該ＭＲ画像を携帯端末１００に送信する。
【００７４】
携帯端末１００のＣＰＵ２０１は当該ＭＲ画像を受信し（ステップＳ５１７／第１の重畳画像受信手段、第２の重畳画像受信手段）、受信した画像が高解像度画像か判定する（ステップＳ５１８）。当該判定は、受信した画像のサイズと、携帯端末１００の外部メモリに記憶されたカメラ情報６３０の低解像度画像サイズ６３４、高解像度画像サイズ６３５の値を用いて行う。
【００７５】
ここでは、例えば低解像度画像を受信したものとする。
【００７６】
高解像度画像を受信していない（低解像度画像を受信した）と判定した場合（ステップＳ５１８でＮＯ）、当該受信したＭＲ画像を一時記憶領域に記憶して、表示画面に表示する（ステップＳ５１９）。つまり、ライブビュー画像としてＭＲ画像を表示する（リアルタイム表示する）。
【００７７】
携帯端末１００のＣＰＵ２０１は、ＭＲアプリケーションの終了指示を受け付けたか判定し（ステップＳ５２１）、終了指示があった場合は（ステップＳ５２１でＹＥＳ）処理を終了する。終了指示がなかった場合は（ステップＳ５２１でＮＯ）、処理をステップＳ５０２の前に戻す。
【００７８】
以上が、シャッターボタンが押下されていない場合に行われる処理の流れの説明である。
【００７９】
一方、ステップＳ５０２で、シャッターボタンの押下指示を受け付けたと判定した場合（ステップＳ５０２でＹＥＳ）、処理をステップＳ５０５に移行する。例えば、ステップＳ５１９で表示画面にＭＲ画像がライブビュー表示されている状態で、シャッターボタンが押下される。
【００８０】
携帯端末１００のＣＰＵ２０１は、当該シャッターボタンの押下指示（ユーザ操作による撮像指示）に応じて、撮像中の高解像度画像であって、シャッターボタンが押下された時点での現実画像を、当該撮像時間（シャッターボタンが押下された時間／撮影時刻６０２）と、シャッターフラグ６０５の情報と合わせて送信する（ステップＳ５０５／第２の撮像画像送信手段／シャッター情報送信手段）。
【００８１】
サーバ２００のＣＰＵ２０１は、ステップＳ５０６でこれを受信し（シャッター情報受信手段）、携帯端末１００においてシャッターボタンが押下されたか判定する（ステップＳ５０７）。つまり、受信した画像が、ユーザ操作に応じて携帯端末１００からサーバ２００に送信された画像か判定する。
【００８２】
シャッターボタンが押下されたと判定した場合（ステップＳ５０７でＹＥＳ）、つまり、ステップＳ５０６で受信した携帯端末情報６００のシャッターフラグ６０５＝１の場合、処理をステップＳ５１２に移行する。
【００８３】
サーバ２００のＣＰＵ２０１は、仮想オブジェクト情報履歴６２０を参照して、当該受信した画像の撮像時間（シャッターが押下されたタイミング）の、仮想オブジェクトの位置・姿勢の情報を取得する（ステップＳ５１２）。
【００８４】
そして、当該撮像時間における仮想オブジェクトの位置・姿勢に従って各仮想オブジェクトを配置したＭＲ空間を、ステップＳ５２２で生成したＭＲ空間とは別に生成する（ステップＳ５１３）。尚、現実空間に仮想空間を配置（合成）するための基準となる現実空間上の位置はステップＳ５２２で説明した位置と同じであるものとする。また、位置合わせの手法は従来技術を用いる。
【００８５】
ステップＳ５１３においては、例えば高解像度画像の容量が大きいために送受信に時間がかかり、現在時刻と２秒のタイムラグが発生した場合（サーバ２００に２秒前（過去）にシャッターが押された旨の情報が届いた場合）、サーバ２００のＣＰＵ２０１は２秒前（過去）の仮想オブジェクトの位置・姿勢を読み出して、２秒前（過去）のＭＲ空間を生成することになる。
【００８６】
サーバ２００のＣＰＵ２０１は、携帯端末１００の位置・姿勢の情報を算出して取得する。当該算出方法はステップＳ５０９で説明した内容と同様であるため、詳細な説明は割愛する。
【００８７】
サーバ２００のＣＰＵ２０１は、携帯端末１００の位置・姿勢の情報と、ステップＳ５０６で受信した携帯端末情報６００に含まれる撮影時刻６０２（シャッターボタンが押下された時間＝撮像時間）時点における仮想オブジェクトの位置の情報に基づいて、ステップＳ５０６で受信した画像（高解像度画像）に、携帯端末１００から見た仮想オブジェクトの画像を重畳したＭＲ画像（複合現実画像／重畳画像）を生成する（ステップＳ５１５／第２の重畳画像生成手段）。
【００８８】
つまり、シャッター押下時の携帯端末１００の位置・姿勢、ステップＳ５１３で新たに生成されたＭＲ空間における仮想オブジェクトの位置・姿勢に基づいてＭＲ画像を生成する。そして当該ＭＲ画像を携帯端末１００に送信する（ステップＳ５１６）。
【００８９】
携帯端末１００のＣＰＵ２０１は当該ＭＲ画像を受信し（ステップＳ５１７）、受信した画像が高解像度画像か判定する（ステップＳ５１８）。当該判定は、受信した画像のサイズと、携帯端末１００の外部メモリに記憶されたカメラ情報６３０の低解像度画像サイズ６３４、高解像度画像サイズ６３５の値を用いて行う。
【００９０】
ここでは、例えば高解像度画像を受信したものとする。
【００９１】
高解像度画像を受信したと判定した場合（ステップＳ５１８でＹＥＳ）、当該受信したＭＲ画像を携帯端末１００の永続記憶領域に記憶する（ステップＳ５２０／重畳画像記憶手段）。つまり、後に閲覧可能な情報として携帯端末内に保存する。その後、処理をステップＳ５２１に移行する。以上が図５の説明である。
【００９２】
以上説明したように、本発明によれば、撮像指示に応じて撮影時間における複合現実空間を再現し、再現された複合現実空間に基づいて重畳画像を生成することができる。
【００９３】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１００】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１０２】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０３】
１００  ＰＣ
１０１  ＬＡＮ
２００  携帯端末
【図１】
0006613553.tif 000002
【図２】
0006613553.tif 000003
【図３】
0006613553.tif 000004
【図４】
0006613553.tif 000005
【図５】
0006613553.tif 000006
【図６】
0006613553.tif 000007
【図７】
0006613553.tif 000008
【図８】
0006613553.tif 000009
【図９】
0006613553.tif 000010
【図１０】
0006613553.tif 000011