(57)【特許請求の範囲】
【請求項１】
提示情報を提示する端末と、当該端末と通信するサーバとを備える情報提示システムであって、
前記端末は、
撮像を行い撮像画像を取得する撮像部と、
前記撮像画像より所定の撮像対象を認識し、その前記撮像部に対する位置及び姿勢を算出し、当該認識された撮像対象の種類並びに当該算出された位置及び姿勢を対象情報とする認識部と、
前記対象情報を前記サーバに送信する端末側送信部と、
前記サーバが描画した描画情報を前記サーバより受信する端末側受信部と、
前記受信した描画情報を前記撮像画像に重畳して提示情報を生成する制御部と、
前記生成された提示情報を提示する提示部と、を含み、
前記サーバは、
撮像対象ごとに予め用意された関連情報であって且つ所定の拡張現実表示のために構成された当該関連情報を記憶する記憶部と、
前記端末側送信部より送信された対象情報を受信するサーバ側受信部と、
前記受信した対象情報における撮像対象に対応した関連情報を前記記憶部から読み出し、前記受信した対象情報における位置及び姿勢に応じて当該読み出した関連情報を描画することによって描画情報を生成する描画部と、
前記描画された描画情報を前記端末に送信するサーバ側送信部と、を含み、
前記撮像部は、各々の撮像の際の時刻情報を紐付けたうえで、時間軸上にて所定レートで連続的に撮像画像を取得し、
前記認識部では、前記撮像の際に紐付けられた時刻情報を紐付けたうえで前記対象情報とし、
前記描画部では、前記対象情報に紐付けられた時刻情報を紐付けたうえで前記描画情報を生成し、
前記制御部では、前記時刻情報が紐付いた撮像画像を一定時間分だけバッファリングしておき、当該バッファリングされた撮像画像のうち紐付いた時刻情報が前記受信した描画情報に紐付いた時刻情報と一致する撮像画像に対して、前記受信した描画情報を重畳することで、前記提示情報を生成し、
前記制御部では、前記受信した描画情報が複数存在する場合に、紐付いた時刻情報が最新である描画情報を前記撮像画像に重畳して前記提示情報を生成することを特徴とする情報提示システム。
【請求項２】
前記認識部は、前記撮像画像より、拡大縮小、回転、輝度変化、射影変化のいずれか若しくは任意の組み合わせに対して不変な性質を有した画像特徴量を抽出し、複数種類の所定の撮像対象の各々の画像につき予め抽出された当該性質を有する画像特徴量とマッチングすることにより、前記認識し前記算出することを特徴とする請求項１に記載の情報提示システム。
【請求項３】
前記制御部では、前記紐付いた時刻情報が最新である描画情報を前記撮像画像に重畳して提示情報を生成した後、新たな描画情報が前記端末側受信部において未受信である期間に、
当該期間において前記取得された撮像画像において前記認識部で算出された位置及び姿勢と、前記最新である描画情報が重畳された撮像画像において前記認識部で算出された位置及び姿勢と、の変換関係を求め、
当該期間において前記取得された撮像画像に対して、前記最新である描画情報を前記変換関係で変形したものを重畳することで、前記提示情報を生成することを特徴とする請求項１または２に記載の情報提示システム。
【請求項４】
前記記憶部は、撮像対象ごとに予め用意され、所定対象を重畳させることで実現される所定の拡張現実表示のために構成された関連情報を記憶し、
前記描画部は、前記関連情報を、前記所定対象が前記受信した対象情報における位置及び姿勢において撮像画像内で占める画像として描画することで、当該撮像画像内で占める範囲の情報を紐付けて前記描画情報を生成し、
前記制御部は、前記描画情報を重畳するに際して、前記紐付けられた範囲の情報に従って重畳することを特徴とする請求項１ないし３のいずれかに記載の情報提示システム。
【請求項５】
前記記憶部は、撮像対象ごとに予め用意され、所定の拡張現実表示のために構成され、所定解像度で与えられている関連情報を記憶し、
前記描画部にて前記読み出した関連情報を描画することで描画情報を生成するに際しては、前記端末と前記サーバとの間の通信スループットに基づいて定まるスケール又はユーザが指定したスケールに従って、前記所定解像度以下の解像度で与えられた関連情報が利用されることを特徴とする請求項１ないし４のいずれかに記載の情報提示システム。
【請求項６】
前記サーバ側送信部は、前記描画情報に前記スケールの情報を含めて前記端末へと送信し、
前記制御部は、前記所定解像度以下の解像度で与えられた関連情報が利用されて前記描画された描画情報を、前記スケールの情報に従って前記所定解像度へと戻したうえで、前記提示情報を生成することを特徴とする請求項５に記載の情報提示システム。
【請求項７】
提示情報を提示する端末と、当該端末と通信するサーバとを備える情報提示システムにおける端末であって、
前記端末は、
撮像を行い撮像画像を取得する撮像部と、
前記撮像画像より所定の撮像対象を認識し、その前記撮像部に対する位置及び姿勢を算出し、当該認識された撮像対象の種類並びに当該算出された位置及び姿勢を対象情報とする認識部と、
前記対象情報を前記サーバに送信する端末側送信部と、
前記サーバが描画した描画情報を前記サーバより受信する端末側受信部と、
前記受信した描画情報を前記撮像画像に重畳して提示情報を生成する制御部と、
前記生成された提示情報を提示する提示部と、を含み、
前記サーバは、
撮像対象ごとに予め用意された関連情報であって且つ所定の拡張現実表示のために構成された当該関連情報を記憶する記憶部と、
前記端末側送信部より送信された対象情報を受信するサーバ側受信部と、
前記受信した対象情報における撮像対象に対応した関連情報を前記記憶部から読み出し、前記受信した対象情報における位置及び姿勢に応じて当該読み出した関連情報を描画することによって描画情報を生成する描画部と、
前記描画された描画情報を前記端末に送信するサーバ側送信部と、を含み、
前記撮像部は、各々の撮像の際の時刻情報を紐付けたうえで、時間軸上にて所定レートで連続的に撮像画像を取得し、
前記認識部では、前記撮像の際に紐付けられた時刻情報を紐付けたうえで前記対象情報とし、
前記描画部では、前記対象情報に紐付けられた時刻情報を紐付けたうえで前記描画情報を生成し、
前記制御部では、前記時刻情報が紐付いた撮像画像を一定時間分だけバッファリングしておき、当該バッファリングされた撮像画像のうち紐付いた時刻情報が前記受信した描画情報に紐付いた時刻情報と一致する撮像画像に対して、前記受信した描画情報を重畳することで、前記提示情報を生成し、
前記制御部では、前記受信した描画情報が複数存在する場合に、紐付いた時刻情報が最新である描画情報を前記撮像画像に重畳して前記提示情報を生成することを特徴とする情報提示システムにおける端末。
【請求項８】
前記制御部では、前記紐付いた時刻情報が最新である描画情報を前記撮像画像に重畳して提示情報を生成した後、新たな描画情報が前記端末側受信部において未受信である期間に、
当該期間において前記取得された撮像画像において前記認識部で算出された位置及び姿勢と、前記最新である描画情報が重畳された撮像画像において前記認識部で算出された位置及び姿勢と、の変換関係を求め、
当該期間において前記取得された撮像画像に対して、前記最新である描画情報を前記変換関係で変形したものを重畳することで、前記提示情報を生成することを特徴とする請求項７に記載の情報提示システムにおける端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を提示する情報提示システムに関し、特に、高品位な情報を描画して提示部での提示情報を制御できる情報提示システムに関する。
【背景技術】
【０００２】
撮像対象と撮像部との相対的な位置および姿勢を推定し関連情報を提示する拡張現実において、リアルタイムかつ高品位に情報を提示することができれば、利用者の利便性を向上させることができる。
【０００３】
上記を実現する従来技術の例として、特許文献１および２に開示のものがあり、ここでは以下のような手法が公開されている。
【０００４】
非特許文献１では、拡張現実で情報を重畳する際、球面調和関数で近似した複数の環境マップと双方向反射率分布関数とを用いてレンダリングする手法を開示している。
【０００５】
特許文献１では、端末からサーバへ映像を伝送しサーバで認識処理および描画処理を実行した結果を映像として端末へ伝送する手法を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−４４６５５号公報
【非特許文献】
【０００７】
【非特許文献１】Photorealistic rendering for Augmented Reality: A global illumination and BRDF solution
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１では、環境光源を模擬することでフォトリアリスティックな表現を可能とするが、計算コストが大きく計算資源が限られる端末では実行できないという問題がある。
【０００９】
一方、特許文献１では、端末からサーバへ映像を伝送するため、サーバの豊富な計算資源を利用することで、非特許文献１の問題を一部解決できる。しかし、双方向の映像伝送が必要であるため、通信帯域が狭いと実現できないという問題がある。特に、複数の端末が存在する場合は伝送量が膨大になるため、実現できないという問題がある。また、伝送時間が伝送量に比例するため、リアルタイム性に欠けるという問題がある。さらに、映像を伝送する際にデータ削減目的のために非可逆圧縮方式で符号化する場合は、画質劣化により高品位な情報は得られないという問題がある。
【００１０】
本発明は上記従来技術の課題に鑑み、撮像対象を認識し、提示情報をリアルタイム性を欠くことなく高品位に提示できる情報提示システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、提示情報を提示する端末と、当該端末と通信するサーバとを備える情報提示システムであって、前記端末は、撮像を行い撮像画像を取得する撮像部と、前記撮像画像より所定の撮像対象を認識し、その前記撮像部に対する位置及び姿勢を算出し、当該認識された撮像対象の種類並びに当該算出された位置及び姿勢を対象情報とする認識部と、前記対象情報を前記サーバに送信する端末側送信部と、前記サーバが描画した描画情報を前記サーバより受信する端末側受信部と、前記受信した描画情報を前記撮像画像に重畳して提示情報を生成する制御部と、前記生成された提示情報を提示する提示部と、を含み、前記サーバは、撮像対象ごとに予め用意された関連情報であって且つ所定の拡張現実表示のために構成された当該関連情報を記憶する記憶部と、前記端末側送信部より送信された対象情報を受信するサーバ側受信部と、前記受信した対象情報における撮像対象に対応した関連情報を前記記憶部から読み出し、前記受信した対象情報における位置及び姿勢に応じて当該読み出した関連情報を描画することによって描画情報を生成する描画部と、前記描画された描画情報を前記端末に送信するサーバ側送信部と、を含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、端末において撮像対象に対して撮像部をかざして撮像するだけで、撮像対象に関連する情報を提示することができる。
【００１３】
この際、一般に計算負荷が高く、高品位性を確保する場合はさらに計算負荷が高くなる、撮像対象の位置及び姿勢に応じた描画処理をサーバが担うため、端末に高い計算負荷を課されることがなく、端末の計算資源では計算できないような高品位な情報を提示することができる。
【００１４】
さらに、サーバと端末との間の通信に際して、伝送する情報は対象情報と提示情報に限定されるので、データ量が少なく、通信帯域が狭い場合でも実現できるとともに、伝送時間が短縮されリアルタイム動作を実現できる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態に係る情報提示システムの構成概要を機能ブロック図として示す図である。
【図２】一実施形態に係る情報提示システムの動作のシーケンス図である。
【図３】端末のループ処理の各回における提示情報、バッファリングデータ、撮像画像及び描画情報の模式的な例を、表形式で示す図である。
【図４】関連情報、描画情報及び提示情報を模式的な例によって示す図である。
【図５】図４の例に対応する例によって、解像度を下げた描画情報を模式的に示す図である。
【発明を実施するための形態】
【００１６】
図１は、一実施形態に係る情報提示システムの構成概要を機能ブロック図として示す図である。情報提示システム30は、端末10及びサーバ20を備える。ここで、端末10に関しては複数台存在してもよく、サーバ20はその各々との間で互いに独立に情報提示のための処理を並行して行うことができる。以下、これら複数台存在することのできる端末を代表する任意の1つとして、端末10を説明する。端末10とサーバ20とはインターネット等のネットワークを介して互いに通信する。
【００１７】
端末10は、撮像部1、認識部2、提示部3、制御部4、端末側送信部11及び端末側受信部12を備える。サーバ20は、記憶部5、描画部6、サーバ側受信部21及びサーバ側送信部22を備える。
【００１８】
図２は、一実施形態に係る情報提示システム30の動作のシーケンス図である。以下、図２の各ステップを説明しながら、図１の各部の概要を説明する。
【００１９】
まず、図２のシーケンスの全体的な概要は次の通りである。図２の左側に示すように、当該シーケンスを大きく分けると、この順に実施される４つのステップ群S10,S20,S30,S40に分けることができる。そして、当該ステップ群S10〜S40の全体L1は、ループ処理として繰り返される単位となる。以下、当該全体L1がループ処理として繰り返されるステップ群S10,S20,S30,S40のそれぞれを説明する。
【００２０】
ステップ群S10はこの順に実施されるステップS11,S12,S13を含み、主として撮像部1による撮像が行われる。ステップS11では、制御部4が撮像部1に対して撮像を行うよう指示を与える。ステップS12では、当該指示に従って撮像部1が撮像を行って撮像画像を得る。ステップS13では、撮像部1が当該得た撮像画像を制御部4へと出力する。
【００２１】
ステップ群S20はこの順に実施されるステップS21,S22,S23を含み、主として認識部2による認識が行われる。ステップS21では、制御部4がステップS13で得た撮像画像を認識部2へと出力する。ステップS22では、認識部2が当該出力された撮像画像に撮像されている撮像対象の種類を認識し、撮像対象の撮像部1に対する相対的な位置と姿勢とを計算する。ステップS23では、当該認識され計算された撮像対象の種類並びに位置及び姿勢と、撮像画像に含まれる時刻情報とを対象情報として、対象情報を認識部2より制御部4へと出力する。
【００２２】
なお、撮像画像に含まれる時刻情報とは、ステップS12にて撮像部1が撮像を行った際に当該撮像時刻をタイムスタンプとして付与することで、撮像画像に紐付けられている情報である。
【００２３】
ステップ群S30はこの順に実施されるステップS31,S32,S33,S34を含み、主として描画部6における描画が行われる。ステップS31では、端末10の制御部4が端末側送信部11及びサーバ側受信部21を介してステップS23で得た対象情報をサーバ20へと送信し、対象情報のうち撮像対象の位置及び姿勢の情報と時刻情報とが描画部6へと出力され、対象情報のうち撮像対象の種類の情報と時刻情報とが記憶部5へと出力される。
【００２４】
ステップS32では、記憶部5がステップS31にて受信した撮像対象の種類に応じた関連情報を自身の保存している情報の中から読み出して描画部6へと出力する。ステップS33では、ステップS31で受信した撮像対象の位置及び姿勢の情報とステップS32で受信した関連情報とを入力として、描画部6が当該関連情報を当該位置及び姿勢に応じて描画することで描画情報を生成する。ステップS34では、描画部6が当該生成された描画情報をサーバ側送信部22及び端末側受信部12を介して送信することで、サーバ20より端末10の制御部4へと出力する。
【００２５】
なお、ステップS33における描画情報の生成の際に、描画情報には描画部6がステップS31で受信した時刻情報（当該描画に用いた位置姿勢が算出された撮像画像の時刻情報）が紐付けられる。ステップS34では当該時刻情報の紐付いた描画情報が端末10へと送信される。
【００２６】
ステップ群S40はこの順に実施されるステップS41,S42を含み、主として提示部3における提示が行われる。ステップS41では、制御部4がステップS34で受信した描画情報をステップS13で受信した撮像画像に対して重畳することで提示情報を生成したうえで、当該生成された提示情報を提示部3へと出力する。ステップS42では、提示部3が当該受信した提示情報を提示する。
【００２７】
なお、ステップS41にて描画情報と撮像画像を重畳する際は、それぞれに紐付けられている時刻情報が一致するもの同士を重畳する。
【００２８】
ここで、以上の図２の一連のステップはステップS12で取得する各時刻tの撮像画像P(t)を対象として実施され、ループ単位処理L1が繰り返されることで、一連の時刻t, t+1, t+2, …の撮像画像P(t), P(t+1), P(t+2), …について順次、処理が実施される。ここで、時刻tの撮像画像P(t)に対応する各情報をそれぞれ、位置姿勢C(t)及び対象種類K(t)を含む対象情報O(t)、関連情報R(t)、描画情報G(t)、提示情報D(t)とする。
【００２９】
なお、上記の各時刻tとはすなわち、ステップS23にて説明した撮像画像に紐付けられた時刻情報である。
【００３０】
一実施形態では、ループ単位処理L1は上記のように時刻tで同期して実施することができる。すなわち、ループ単位処理L1内で扱う情報は全て上記のようにステップS12で取得した時刻tの撮像画像P(t)に対応する情報とすることができる。
【００３１】
一方、上記のようにループ単位処理L1を時刻tで同期して実施する場合、ループ単位処理L1は次のような処理完了に要する時間間隔毎に実施せざるを得ないこととなる。すなわち、ステップS12,S22,S33,S42等の完了に要する時間や、ステップS31,S34のネットワーク経由でのデータ送受に要する時間等を加算した時間間隔毎にしか、処理L1を実施することができない。従って、当該時間間隔が大きい場合、提示部3における提示処理のレートが粗くなってしまい、リアルタイムで拡張現実表示等を実施させる際には好ましくない。
【００３２】
従って、上記提示処理のレートを向上させるために、ループ単位処理L1を次のような第一ループ処理L11及び第二ループ処理L12に分けたうえで、各ループ処理L11,L12（図２には不図示）をそれぞれ独立に実施する実施形態で、図２のシーケンス動作を実施するようにしてもよい。すなわち、第一ループ処理L11として、端末10側ではステップ群S10,S20,S40（及びステップS31の送信処理とステップS34の受信処理）をループ処理単位とした所定間隔の処理を継続して実施する。また、当該処理L11とは独立に、第二ループ処理L12として、サーバ20側においてステップ群S30をループ処理単位とした所定間隔の処理を継続して実施する。なお、当該所定間隔は一定でなくともよく、端末10とサーバ20とで異なっていてもよい。
【００３３】
サーバ20側の第二ループ処理L12は、端末10側より対象情報の受信があり次第ただちにループ処理を開始し、サーバ20の計算リソースが許す限り高速に処理することが好ましい。一方、端末10側の第一ループ処理L11においては、以下のように、ステップ群S40をサーバ20側からの描画情報の受信有無に応じた処理として実施すると共に、撮像画像のバッファリング（一時記憶処理）を行うようにすることが好ましい。
【００３４】
すなわち、ループ処理L11にて制御部4において撮像画像P(t)を一定時間分（特に端末10とサーバ20間での情報送受のネットワーク遅延を考慮した一定時間分）だけバッファリングしておき、サーバ20のループ処理L12にて描画部6から対応する描画情報G(t)が得られた時点でただちに、対応する提示情報D(t)を生成して提示部3に提示させるようにすればよい。こうして、ループ処理L11,L12は互いに独立に実施されることで、端末10及びサーバ20のそれぞれの計算リソース（及び端末10・サーバ20間のネットワーク遅延）に適した処理が可能であると共に、時刻情報tが端末10及びサーバ20間において共有されることから、端末10において適切な提示情報D(t)の生成が可能となる。
【００３５】
一実施形態では、ループ処理L11の各N回目(N=1, 2, …)におけるステップ群S40の実施に際しては、サーバ20側から受信完了している描画情報G(t)が複数存在する場合、最も新しい時刻tlatestに対応する描画情報G(tlatest)を対応する撮像画像P(tlatest)に重畳することで、提示部3に提示情報D(tlatest)を提示させるようにしてよい。
【００３６】
この場合、当該提示情報D(tlatest)の生成対象となった最新時刻tlatest以前の描画情報{G(t)|t≦tlatest}は、ループ処理L11のN+1回目のステップ群S40における処理対象から除外するようにしてよい。同様に、制御部4においてバッファリングで保持する撮像画像P(t)も、ループ処理L11のN+1回目においては当該最新時刻tlatestより後(t>tlatest)のものを対象とするようにしてよい。
【００３７】
従って、当該一実施形態においては、N回目のループ処理L11のステップ群S40において上記バッファリングによって提示部3が提示情報D(t)を提示する際に、当該N回目のループ処理L11におけるステップ群S10で取得している現時刻の撮像画像がP(t+n)(ここでn≧0)であるという関係がある。すなわち、端末10側では各々の現在時刻tのループ処理L11においてステップ群S10,S20,S40を実施するが、当該現在時刻tにおいてステップ群S40を実施する対象となるのは、いずれかの過去時刻t-nのループ処理L11のステップS12において撮像して取得された後に現在時刻tまでバッファリングされて保持されている撮像画像P(t-n)と、現在時刻tのループ処理L11で新たにサーバ20より受信した描画情報G(t-n)とから生成される提示情報D(t-n)となる。
【００３８】
また、ネットワーク遅延の変動等によっては、次のような状況も生じうる。すなわち、あるN回目のループ処理L11内のステップ群S40において描画情報G(t)をサーバ20より受信して提示情報D(t)を生成したが、その次のN+1回目のループ処理L11内のステップS40群を実施しようとする際に、新たな次の描画情報G(t+1)（あるいはm≧2としてG(t+m)でもよい）がサーバ20側より未受信であるという状況である。
【００３９】
当該状況が発生すると、端末10側に最新の描画情報（既に提示情報を生成するのに利用した描画情報を除く）が存在しないため、N+1回目のステップ群S40における提示処理ができないこととなってしまう。従って、詳しくは後述するように、サーバ20側から受信されるべき最新の描画情報G(t+1)を直近（N回目のステップ群S40）に用いた描画情報G(t)から補間生成したうで、撮像画像P(t+1)に重畳することで提示情報D(t+1)を補間生成し、提示部3に提示させるようにしてもよい。
【００４０】
図３に、以上の端末10におけるループ処理L11のN=1,2,3,…6回目（それぞれ時刻t=1,2,3,…, 6とする）における生成され提示される提示情報D(t)、保持しているバッファリングデータBuffer(t)、撮像する撮像画像P(t)、サーバ20より受信する描画情報G(t)の模式的な例を、表形式で示す。
【００４１】
図３の例では、N=1,2,3回目のループ処理L11はループ処理開始直後に相当し、最初の撮像画像P(1)に対応するものとして送信した対象情報O(1)（図３では不図示）に対するサーバ20からの応答G(1)が未受信である。すなわち、N=1,2,3回目においてはサーバ20から描画情報G(t)が未受信であるので、バッファリングデータBuffer(t)が順次蓄積されるが、提示情報D(t)を生成することができない。N=4回目のループ処理L11において初めて撮像画像P(1)に対応する描画情報G(1)をサーバ20から受信することで、これらを重畳して提示情報D(1)を生成すると共に、当該生成に用いた撮像画像P(1)を次のN=5回目のループ処理L11におけるバッファリングデータBuffer(t)から削除する。N=5,6回目も同様にそれぞれ描画情報G(2),G(3)の受信を受け、撮像画像P(2),P(3)に重畳して提示情報D(2),D(3)を生成し、次のループ処理L11のバッファリングデータBuffer(t)において既に用いた撮像画像P(2),P(3)を削除する。図３ではN=7回目以降は省略しているが、描画情報G(t)を受信している限り同様の処理が継続されることとなる。
【００４２】
以下、以上の図２の各実施形態の動作シーケンスで動作する図１の各部の詳細を、端末10の各部、サーバ20の各部の順番で説明する。
【００４３】
撮像部1は、図２のステップS11,S12,S13において、制御部4の指示を受けて撮像対象を撮像して、得られた撮像画像を制御部4へと出力する。撮像部1としては近年の携帯端末に標準装備されることの多いデジタルカメラを用いることができる。
【００４４】
認識部2は、図２のステップS21,S22において、制御部4から撮像画像を入力し、撮像画像から撮像対象の種類を認識すると共に、撮像対象の撮像部1に対する相対的な位置と姿勢とを計算する。認識部2はさらに、図２のステップS23において、撮像対象の種類と位置と姿勢と、撮像画像に紐付けられている時刻情報とを対象情報とし、対象情報を制御部4へ出力する。
【００４５】
ここで、その種類が認識対象となる撮像対象については、１種類以上の所定対象（例えば以下の非特許文献２に開示され、拡張現実表示分野等において周知の正方マーカー等）を予め設定しておき、その画像上における特徴情報を予め抽出したうえで認識部2に登録しておく。認識部2では撮像画像より特徴情報を抽出し、当該予め登録されている特徴情報との間でマッチングを行うことにより、撮像画像に撮像されている撮像対象を特定すると共に、相対的な位置及び姿勢を推定する。
【００４６】
非特許文献２  加藤, M. Billinghurst, 浅野, 橘, "マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, 20
no.4, pp.607-617, 1999.
【００４７】
画像に対する特徴情報としては、周知のSIFT特徴量又はSURF特徴量等のような、回転及び拡大縮小あるいは射影変化（射影変換による歪み）のいずれか又はその任意の組み合わせに対して不変な性質を有し、画像の局所領域における相対的な輝度勾配に基づいて算出される局所特徴量を用いることができる。あるいは、同性質を有する周知の ORB特徴量等を用いてもよい。なお、SIFT特徴量は以下の非特許文献３に、SURF 特徴量は以下の非特許文献４に、ORB特徴量は以下の非特許文献５に、それぞれ開示されている。
【００４８】
非特許文献３ 「D.G.Lowe, Distinctive image features from scale-invariant key points, Proc. of Int. Journal of Computer Vision (IJCV), 60(2) pp.91-110 (2004)」
非特許文献４ 「H.Bay, T.Tuytelaars, and L.V.Gool, SURF: Speed Up Robust Features, Proc. of Int. Conf. of ECCV, (2006)」
非特許文献５ 「Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571.」
【００４９】
また、認識部2において撮像対象を特定する際の当該特徴量（特徴情報）同士のマッチングについても、画像認識の分野における周知の各手法を利用することができる。さらに、予め登録しておく撮像対象の特徴情報における画像上の座標情報と、撮像画像より抽出されマッチングされた特徴情報の撮像画像上における座標情報と、を互いに変換する平面射影変換の関係を求めることで、認識部2は撮像対象と撮像部1との間の相対的な位置及び姿勢を算出することができる。当該位置及び姿勢の算出についても、前述の非特許文献２に開示されているような、拡張現実表示分野等における周知手法を利用することができる。
【００５０】
端末側送信部11は、図２のステップS31において、認識部2で得られ制御部4に出力された対象情報をサーバ20のサーバ側受信部21へと送信する。
【００５１】
端末側受信部12は、図２のステップS34において、上記の端末側送信部11で送信した対象情報に対する応答としての描画情報をサーバ20のサーバ側送信部22から受信し、制御部4に出力する。
【００５２】
提示部3は、図２のステップS41,S42において、描画情報と撮像画像とを重畳して生成された提示情報を制御部4から入力し提示する。一実施形態では、当該提示は認識された撮像対象に応じて撮像画像に拡張現実表示を施したものとすることができる。提示部3には、携帯端末等に通常備わるディスプレイを利用することができる。
【００５３】
制御部4は、図２のステップS11,S13において、指示を与えた撮像部1から撮像時の時刻情報が紐付けられた撮像画像を入力し、ステップS21において、当該撮像画像を認識部2へと出力する。
【００５４】
ここで、バッファリング処理として前述したように、一実施形態においては撮像画像を制御部4において一定時間保持しておく。当該一定時間は、認識部2での処理、端末10からサーバ20への送信、描画部6での処理、サーバ20から端末10への送信等にかかる時間を見込んだ長さに設定することが望ましい。 
【００５５】
なお、当該設定する長さとはバッファリングする最大サイズ（最大の撮像画像数）である。提示情報を生成するのに既に利用された撮像画像（及びこれより古い撮像画像）を逐次、バッファリング対象から削除する実施形態においては、サーバ20側からの描画情報の受信状況等に応じて、実際にバッファリングされている撮像画像の数は当該最大数以下の範囲で時間変化することとなる。
【００５６】
制御部4はまた、図２のステップS23において、認識部2で認識した対象情報を入力し、ステップS31において、当該入力された対象情報を端末側送信部11へと出力する。制御部4はさらに、図２のステップS34において端末側受信部12から描画情報を入力し、ステップS41において、当該入力された描画情報に紐付いた時刻情報とその時刻情報が一致する撮像画像に当該入力された描画情報を重畳することで提示情報を生成し、提示部3へ出力する。
【００５７】
すなわち、バッファリング処理として前述したように、入力された描画情報G(t)には時刻tとして時刻情報が含まれるので、時刻情報が一致する撮像画像P(t)に重畳することで、当該時刻tに対応する提示情報D(t)を生成する。当該提示情報D(t)が生成される時点の実時刻は一般に時刻t+n(n≧0)であり、撮像部1では撮像画像P(t+n)が得られているが、制御部4では一定時間分の撮像画像のバッファリングによって、撮像画像P(t)を保持している。
【００５８】
ここで、描画情報を撮像画像に重畳する際には、後述する描画部6で撮像対象の位置及び姿勢に応じて描画されているため、描画情報に含まれる位置情報に応じて単純に重ね合わせるだけで実現できる。従って、当該重畳処理は、端末10において大きな計算負荷を必要とせず高速に処理することが可能である。 
【００５９】
当該重畳する際の一実施形態として、描画情報の伝送時間（図２のステップS34に要する時間）を短縮するため、描画部6の描画の際には描画情報の解像度（サイズ）を小さくしておき、制御部4で描画情報をオリジナルの解像度に変換したうえで、撮像画像に重畳するようにしてもよい。この場合、描画部6ではオリジナルの解像度における描画情報が画像座標で占める範囲の情報と、解像度をオリジナルからどれだけ小さくしたかの情報を紐付けたうえで、小さい解像度で描画された描画情報を端末10側へと送信すればよい。なお、サーバ20の描画部6で描画する描画情報の解像度を小さくすることにより、描画情報の伝送時間の短縮に加えて、描画部6における描画時間を短縮する効果も得られる。
【００６０】
あるいは、上記一実施形態に関連する実施形態として、通信（図２のステップS34（あるいはS34及びS31）における通信）のスループットに応じて、描画情報の解像度や圧縮率（通信のための符号化の際の圧縮率）を制御するようにしてもよい。当該通信のスループットは、端末10の制御部4において監視しておき、スループットに応じた解像度及び／又は圧縮率をステップS31における送信情報に追加することで描画部6に指示するようにしてもよいし、描画部6自身がスループットを監視して解像度及び／又は圧縮率を設定するようにしてもよい。
【００６１】
一実施形態では、前述のバッファリング処理にて補間処理として言及したように、次のようにしてもよい。すなわち、一定時間分バッファリングされている撮像画像P(t)のいずれの時刻情報tとも一致する描画情報G(t)が存在しない期間（端末10においてサーバ20より未受信の期間）において、次の補間処理を行うようにしてよい。ここで、前述のようにバッファリングされる撮像画像P(t)は、直近時刻tlatestにて対応する描画情報G(tlatest)をサーバ20より取得して対応する提示情報D(tlatest)が実際に生成されたものより後の時刻情報t（t＞tlatest）が紐付いているものを対象とする。
【００６２】
補間処理においては、まず、直近時刻の対象情報O(t-n)（当該期間内の対象時刻tとの関係を明示するため、n>0によって直近時刻tlatest=t-nとした）に関して認識部2で算出された相対的な位置及び姿勢C(t-n)を、当該補間しようとしている時刻tにおける対象情報O(t)の位置及び姿勢C(t)に変換する関係H(t-n, t)を求める。
【００６３】
次に、対応する直近時刻の描画情報G(t-n)に、当該変換H(t-n,t)を施すことで補間された描画情報G'(t)を生成し、撮像画像P(t)に重ね合わせることで提示情報D(t)を生成する。当該補間処理により、撮像画像P(t)と描画情報G(t-n)との見かけのズレを抑えたうえで、時刻tの提示情報D(t)を生成することができる。
【００６４】
ここで、変換H(t-n, t)に関しては、正確には認識部2における位置姿勢の算出と同様に平面射影変換として求めることができるが、制御部4における処理の高速化のため、その近似として画像上の移動・拡大縮小の関係として求めるようにしてもよい。
【００６５】
なお、一定時間分バッファリングしている撮像画像P(t)のうちどの時刻tについて上記補間処理を実施するかについては、一定時間範囲内の所定位置（例えば最新時刻、最古時刻、あるいは中間等の所定位置）の時刻tとすればよい。
【００６６】
以上、図１の端末10の各部を説明した。続けて、図１のサーバ20の各部を説明する。
【００６７】
サーバ側受信部21は、図２のステップ31において、端末側送信部11の送信した情報すなわち、認識部2で得られた対象情報を受信する。当該受信した対象情報のうち、撮像対象の種類と時刻情報とは記憶部5へ出力される。当該受信した対象情報の内、撮像対象の位置及び姿勢の情報と時刻情報とは描画部6へと出力される。
【００６８】
記憶部5は、撮像対象に応じた関連情報を記憶しておき、図２のステップS32において、ステップS31で受信した撮像対象の種類に応じた関連情報を読み出して描画部6へと出力する。
【００６９】
当該関連情報は、最終的に提示部3において撮像画像に対して描画情報として重畳させるための、いわば元データに相当し、撮像対象の特徴情報(認識部2の認識で用いたのと同様の特徴情報)において定められた基準座標系において定義される所定対象として、管理者等が予め用意しておき、記憶部5に記憶させておく。
【００７０】
例えば、撮像対象が前述の非特許文献２に開示されているような正方マーカである場合、当該正方マーカの定める基準座標系における所定の立体物（形状、色、模様等をその定義に含む）等として、周知形式であるCADデータのような形式で関連情報を用意しておくことができる。関連情報は撮像対象の種類毎に定義できるので、用途に応じて提示部3において所望の提示処理が可能となる。
【００７１】
描画部6は、図２のステップS33において、記憶部5から関連情報を、サーバ側受信部21から位置及び姿勢の情報を入力し、位置及び姿勢に応じて関連情報を描画することで描画情報を生成し、当該描画情報にサーバ側受信部21より入力された時刻情報を紐付ける。
【００７２】
描画部6はさらに、図２のステップS34において、描画情報をサーバ側送信部22へ出力する。なお、当該出力される描画情報は時刻情報が紐付けられており、撮像画像に重畳させる際の範囲の情報を含み、解像度の縮小が行われている場合には当該縮小の度合いを表すスケール情報も含んでいる。
【００７３】
ここで、位置及び姿勢に応じた関連情報の描画による描画情報の生成とはすなわち、前述の基準座標系において用意されている元データとしての関連情報が、当該位置及び姿勢で（撮像部1の撮像画像として）見た際に、どのように見えるかを計算して求めることに相当する。すなわち、前述の元データとしての関連情報を位置及び姿勢に応じてレンダリング（３次元レンダリング）することに相当する。当該生成する際の計算については、３次元コンピュータグラフィックス等の分野において周知である。
【００７４】
この際、最終的に端末10の制御部4で撮像画像と重畳して提示情報を生成させる際に、当該重畳させるだけで提示情報が生成可能なように、描画部6では関連情報だけを描画の対象とする。従って、撮像画像に対応する画面の全体は描画しないことで処理時間を短縮できるとともに、端末10へ向けての当該描画情報の伝送量を最小限に抑えることで伝送時間も短縮できる。また、当該関連情報のみを描画するに際して、最終的に撮像画像に重畳させる際にどのような座標範囲を占めているかという情報も計算することで、制御部4における重畳処理の際に撮像画像との位置合わせの計算を省略させることができる。
【００７５】
なお、予め定義されている関連情報と描画対象の位置及び姿勢との関係によっては、位置及び姿勢に応じて関連情報を描画した結果、いわば偶然に、撮像画像に対応する画面の全体を占めている場合もありうる。このような場合も画面の一部分として描画することの特別な場合とみなすことができる。
【００７６】
一実施形態では、最終的に提示部3で拡張現実表示させる際に高品位な提示情報を提示させるため、描画部6において、環境マップを考慮して関連情報の位置姿勢に応じた描画情報を描くようにしてもよい。この場合、撮像部1が撮像する環境において事前に、周囲の光源の配置、色および強度等を環境マップとして取得しておき、位置姿勢と関連情報の形状等とに応じて当該環境マップを反映させて描画情報を描くようにすればよい。なお、当該環境マップを考慮した手法は、３次元コンピュータグラフィックス等の分野において周知である。
【００７７】
一実施形態では、制御部4の説明の際にも言及したように、関連情報の描画時間及び伝送時間を短縮するため、描画部6では描画情報の解像度（サイズ、構成画素数）を小さくして描画情報を生成し、どれだけ小さくしたかに関するスケール情報と描画情報とを制御部4へ送信するようにしてもよい。制御部4では受信した描画情報をスケール情報に従ってオリジナルの解像度へ戻すように変換することで、描画情報を再構成することができる。あるいは、前述のように通信のスループットに応じて、描画情報の解像度や圧縮率を制御することもできる。これにより、描画情報の伝送時間を短縮する効果も得られる。
【００７８】
なお、記憶部5に予め記憶される関連情報において、重畳される対象となる撮像画像のサイズと描画の際の位置姿勢とに応じた所定解像度（オリジナルの解像度）を予め定義しておく。上記のように解像度を小さく設定する場合は、当該オリジナルの解像度を基準とし、当該基準に対して小さく設定する。
【００７９】
ここで、オリジナルの解像度(スケールs=1)に対して、どの程度小さい解像度を実際に利用するかは、当該解像度同士の比率としてのスケールsを0<s≦1の範囲で指定することによって決定することができる。この際、前述のように端末10とサーバ20との間の通信のスループットに対する所定の関数式によって当該スケールsを自動的に指定するようにしてもよいし、情報提示システム30を利用するユーザ（管理者を含む）からマニュアルでスケールsの指定を受け付けるようにしてもよい。通信のスループットでスケールsを指定する際は、予め端末10とサーバ20との間で試験通信を行って算出したスループットを固定的に用いてもよいし、情報提示システム30による情報提示を実施しながら逐次的にスループットを算出して、その都度更新されるスループットを用いるようにしてもよい。
【００８０】
図４は、以上のように記憶部5にて撮像対象毎に用意され記憶されている関連情報と、描画部6にて関連情報を位置姿勢に応じて描画して得られる描画情報と、制御部4にて撮像画像に描画情報を重畳して得られる提示情報と、を模式的な例によって示す図である。
【００８１】
図４にて[1]は、撮像部1が撮像する現場Fの例であり、地面G上に展示台Sが配置され、その上面に所定の撮像対象M（例えば周知の正方マーカ）が配置されている。[1]ではまた、当該現場を時刻t1,t2,t3で撮像部1が撮像した際の位置姿勢C(t1),C(t2),C(t3)が例として示されている。[2]は、撮像対象Mに対応する関連情報Rの例であり、正方マーカとしての撮像対象Mに対し、当該正方形部分を底面とする直方体として関連情報Rが予め用意されている。
【００８２】
なお、[2]では関連情報Rを現場F内の実在物体のようにして描いているが、実際には撮像対象Mの定める基準座標系において定義されたデータが関連情報Rである。最終的に提示部3で拡張現実表示させる際は、[2]に示すような実在物体があたかも存在するかのように、関連情報Rが描画されて提示されることとなる。
【００８３】
図４の[1]における時刻t1,t2,t3で撮像部1が位置姿勢C(t1),C(t2),C(t3)で撮像して得られた撮像画像が、それぞれ[3]に撮像画像P(t1),P(t2),P(t3)として示されている。これらは撮像対象Mを概ね正面左側、正面、正面右側からそれぞれ見ている画像である。また、[1]における位置姿勢C(t1),C(t2),C(t3)に応じて描画部6が関連情報Rを描画した描画情報がそれぞれ、[4]に描画情報G(t1),G(t2),G(t3)として示されている。そして、[3]の撮像画像P(t1),P(t2),P(t3)に対して[4]の描画情報G(t1),G(t2),G(t3)を重畳することで制御部4において生成される提示情報がそれぞれ、[5]に提示情報D(t1),D(t2),D(t3)として示されている。
【００８４】
[4]に例示するように、直方体形状で構成された関連情報Rを位置姿勢に応じて描画した描画情報G(t1),G(t2),G(t3)はそれぞれ、[3]の撮像画像P(t1),P(t2),P(t3)のどの範囲にあるかという情報を含んでいるため、位置合わせすることなくそのまま重畳することによって[5]の提示情報D(t1),D(t2),D(t3)が生成可能である。また、描画情報G(t1),G(t2),G(t3)によって描かれた関連情報Rは、撮像画像の全範囲を占めることなく、一部分の範囲のみとして構成されている。（なお、当該描かれた関連情報R以外の領域に関しては、撮像画像に対しては重畳（上書き）を行うことなく撮像画像がそのまま表示される領域である旨の情報のみが描画情報において定義されている領域であるため、その画像データとしてのデータ量はゼロである。）
【００８５】
図５は、解像度を下げた描画情報を模式的に示す図であり、図４の描画情報G(t1)の解像度を半分（スケールs=1/2）に下げた描画情報G(t1)[1/2]が示されている。当該描画情報G(t1)[1/2]を用いる際も、点線で描いている情報G'(t1)として示すように、オリジナルの解像度において関連情報Rを描いた描画情報G(t1)が撮像画像内において占める範囲の情報は、制御部4へと送信されることとなる。制御部4では、スケール情報(s=1/2)に従って描画情報G(t1)[1/2]を2倍に拡大してオリジナルの解像度に戻したうえで、情報G'(t1)で指定される撮像画像内の範囲に配置して、本来の描画情報G(t1)に相当するものを再構成する。
【００８６】
サーバ側送信部22は、図２のステップS34において、描画部6で描画した描画情報を入力し、当該描画情報を端末10の端末側受信部12へと送信する。
【００８７】
以上、図１の各部を説明した。本発明は、次のような効果を奏することができる。描画部6はサーバ20に備わる構成であるため、関連情報に位置姿勢を考慮した描画を行うに際して、当該描画が前述のような環境マップを考慮した一般に計算負荷の高い処理であっても、端末10の側に計算負荷をかけることがない。また、サーバ20と端末10との間のデータ送受も、常に画像全体を送受するといったことはせずに必要な情報のみを送受するので、伝送量が抑制され、膨大な伝送量による大きな遅延は発生しない。また、発生する最低限の遅延に関しても、前述のバッファリング処理によって吸収することで、ユーザ感覚としては概ねリアルタイムで提示部3における提示処理を実現することができる。
【００８８】
本発明は、コンピュータを端末10又はサーバ20として機能させるそれぞれのプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUがコンピュータを端末10又はサーバ20の各部の機能に対応する命令を実行することとなる。
【符号の説明】
【００８９】
10…端末、20…サーバ、30…情報提示システム、1…撮像部、2…認識部、3…提示部、4…制御部、11…端末側送信部、12…端末側受信部、5…記憶部、6…描画部、21…サーバ側受信部、22…サーバ側送信部
【図１】
0006521352.tif 000002
【図２】
0006521352.tif 000003
【図３】
0006521352.tif 000004
【図４】
0006521352.tif 000005
【図５】
0006521352.tif 000006