(57)【特許請求の範囲】
【請求項１】
実空間を撮像する撮像部と、
前記撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、
拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定し、決定した前記制御パラメータを用いて前記コンテンツの表示を制御する制御部と、
を備え、
前記制御パラメータは、前記視線を制御する視線制御パラメータを含む、
画像処理装置。
【請求項２】
前記所定の基準は、前記コンテンツの位置に対する前記撮像部の相対的な位置に関連する基準を含む、請求項１に記載の画像処理装置。
【請求項３】
前記所定の基準は、前記コンテンツの前記視線を前記撮像部の方向へ向けさせるという基準である、請求項２に記載の画像処理装置。
【請求項４】
前記制御パラメータは、前記コンテンツの表示透過度を制御するパラメータをさらに含む、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記制御パラメータは、前記コンテンツの表示解像度を制御するパラメータをさらに含む、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記所定の基準は、前記コンテンツと前記撮像部との間の距離の閾値比較に基づく基準を含む、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記所定の基準は、前記撮像部の姿勢に応じた角度の閾値比較に基づく基準を含む、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、前記撮像部の位置及び姿勢の前記少なくとも一方の追跡のために使用される前記実空間画像の前記解析の結果を記憶媒体を用いて管理する管理部、をさらに備える、請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
画像処理装置において、
撮像部に実空間を撮像させることと、
前記撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識することと、
拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定することと、
決定した前記制御パラメータを用いて前記コンテンツの表示を制御することと、
前記制御パラメータは、前記視線を制御する視線制御パラメータを含むことと、
を含む画像処理方法。
【請求項１０】
画像処理装置を制御するコンピュータを、
実空間を撮像する撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、
拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定し、決定した前記制御パラメータを用いて前記コンテンツの表示を制御する制御部と、
として機能させ、
前記制御パラメータは、前記視線を制御する視線制御パラメータを含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、仮想的なコンテンツを実空間を映す画像に重畳してユーザに呈示する拡張現実（ＡＲ：Augmented  Reality）と呼ばれる技術が注目されている。ＡＲ技術において呈示されるコンテンツは、テキスト、アイコン又はアニメーションなどの様々な形態で可視化され得る。
【０００３】
ＡＲ技術において、画像に重畳すべきコンテンツは、様々な基準で選択され得る。それら基準の１つは、予めコンテンツと関連付けられているオブジェクトの認識である。例えば、下記特許文献１は、所定の模様が描かれたオブジェクトであるマーカを画像内で検出し、検出されたマーカと関連付けられるコンテンツをそのマーカの検出位置に重畳する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７０３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したようなマーカの検出に基づくＡＲ技術では、通常、マーカが画像から失われると、ＡＲコンテンツの表示を継続することが難しい。仮にマーカが画像から失われた後にもＡＲコンテンツの表示を継続しようとすれば、ＡＲコンテンツの表示は実空間の状況を反映しない不自然なものとなりがちである。
【０００６】
従って、マーカとしての役割を有するオブジェクトが画像から失われた後にも自然な形でＡＲコンテンツの表示を継続することのできる仕組みが実現されることが望ましい。
【課題を解決するための手段】
【０００７】
本開示によれば、実空間を撮像する撮像部と、前記撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定し、決定した前記制御パラメータを用いて前記コンテンツの表示を制御する制御部と、を備え、前記制御パラメータは、前記視線を制御する視線制御パラメータを含む、画像処理装置が提供される。
【０００８】
また、本開示によれば、画像処理装置において、撮像部に実空間を撮像させることと、前記撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識することと、拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定することと、決定した前記制御パラメータを用いて前記コンテンツの表示を制御することと、前記制御パラメータは、前記視線を制御する視線制御パラメータを含むことと、を含む画像処理方法が提供される。
【０００９】
また、本開示によれば、画像処理装置を制御するコンピュータを、実空間を撮像する撮像部により取得される実空間画像を解析することにより、前記撮像部の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、拡張現実空間内に配置される視線を表現可能なコンテンツの表示を制御するための制御パラメータを、追跡される前記撮像部の位置及び姿勢の前記少なくとも一方に基づき、所定の基準に従って決定し、決定した前記制御パラメータを用いて前記コンテンツの表示を制御する制御部と、として機能させ、前記制御パラメータは、前記視線を制御する視線制御パラメータを含む、プログラムが提供される。
【発明の効果】
【００１０】
本開示に係る技術によれば、マーカとしての役割を有するオブジェクトが画像から失われた後にも自然な形でＡＲコンテンツの表示を継続することのできる仕組みが実現される。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る画像処理装置の概要について説明するための説明図である。
【図２Ａ】一実施形態において検出され得るマーカの一例を示す説明図である。
【図２Ｂ】一実施形態において検出され得るマーカの他の例を示す説明図である。
【図３】一実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【図４】一実施形態に係る画像処理装置の論理的機能の構成の一例を示すブロック図である。
【図５】図４に例示した解析部による解析処理の流れの一例を示すフローチャートである。
【図６】特徴点情報の構成の一例を示す説明図である。
【図７】カメラ位置・姿勢情報の構成の一例を示す説明図である。
【図８】マーカ基本情報の構成の一例を示す説明図である。
【図９】マーカ検出情報の構成の一例を示す説明図である。
【図１０】コンテンツ情報の構成の一例を示す説明図である。
【図１１】ＡＲコンテンツの消滅条件の第１の例について説明するための説明図である。
【図１２】ＡＲコンテンツの消滅条件の第２の例について説明するための説明図である。
【図１３Ａ】一実施形態におけるＡＲコンテンツの表示の第１の例を示す説明図である。
【図１３Ｂ】一実施形態におけるＡＲコンテンツの表示の第２の例を示す説明図である。
【図１３Ｃ】一実施形態におけるＡＲコンテンツの表示の第３の例を示す説明図である。
【図１３Ｄ】一実施形態におけるＡＲコンテンツの表示の第４の例を示す説明図である。
【図１４】一実施形態に係る画像処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
また、以下の順序で説明を行う。
１．概要
２．一実施形態に係る画像処理装置の構成例
２−１．ハードウェア構成
２−２．機能構成
２−３．ＡＲコンテンツの表示例
２−４．処理の流れ
３．まとめ
【００１４】
＜１．概要＞
まず、図１〜図２Ｂを用いて、本開示に係る画像処理装置の概要を説明する。
【００１５】
図１は、一実施形態に係る画像処理装置１００の概要について説明するための説明図である。図１を参照すると、ユーザＵａが有する画像処理装置１００が示されている。画像処理装置１００は、実空間１を撮像する撮像部１０２（以下、単にカメラともいう）と、表示部１１０とを備える。図１の例において、実空間１には、テーブル１１、コーヒーカップ１２、本１３及びポスター１４が存在している。画像処理装置１００の撮像部１０２は、このような実空間１を映す映像を構成する一連の画像を撮像する。そして、画像処理装置１００は、撮像部１０２により撮像された画像を入力画像として画像処理を行い、出力画像を生成する。本実施形態において、典型的には、出力画像は、入力画像に拡張現実（ＡＲ）のための仮想的なコンテンツ（以下、ＡＲコンテンツという）を重畳することにより生成される。画像処理装置１００の表示部１１０は、生成された出力画像を順次表示する。なお、図１に示した実空間１は、一例に過ぎない。画像処理装置１００により処理される入力画像は、いかなる実空間を映した画像であってもよい。
【００１６】
画像処理装置１００によるＡＲコンテンツの提供は、入力画像に映るマーカの検出をトリガとして開始され得る。本明細書において、「マーカ」との用語は、一般に、既知のパターンを有する、実空間内に存在する何らかのオブジェクトを意味するものとする。即ち、マーカは、例えば、実物体、実物体の一部、実物体の表面上に示される図形、記号、文字列若しくは絵柄、又はディスプレイにより表示される画像などを含み得る。狭義の意味において「マーカ」との用語は何らかのアプリケーションのために用意される特別なオブジェクトを指す場合があるが、本開示に係る技術はそのような事例には限定されない。
【００１７】
なお、図１では、画像処理装置１００の一例としてスマートフォンを示している。しかしながら、画像処理装置１００は、かかる例に限定されない。画像処理装置１００は、例えば、ＰＣ（Personal  Computer）、ＰＤＡ（Personal  Digital  Assistant）、ゲーム端末、ＰＮＤ（Portable  Navigation  Device）、コンテンツプレーヤ又はデジタル家電機器などであってもよい。
【００１８】
図２Ａは、本実施形態において検出され得るマーカの一例を示す説明図である。図２Ａを参照すると、図１に例示した画像処理装置１００により取得され得る一例としての入力画像Ｉｍ０１が示されている。入力画像Ｉｍ０１には、テーブル１１、コーヒーカップ１２及びポスター１４が映っている。ポスター１４には、既知の絵柄であるマーカ２０ａが印刷されている。画像処理装置１００は、このようなマーカ２０ａを入力画像Ｉｍ０１内で検出すると、マーカ２０ａと関連付けられるコンテンツを入力画像Ｉｍ０１に重畳し得る。
【００１９】
図２Ｂは、本実施形態において検出され得るマーカの他の例を示す説明図である。図２Ｂを参照すると、入力画像Ｉｍ０２が示されている。入力画像Ｉｍ０２には、テーブル１１及び本１３が映っている。本１３には、既知の絵柄であるマーカ２０ｂが印刷されている。画像処理装置１００は、このようなマーカ２０ｂを入力画像Ｉｍ０２内で検出すると、マーカ２０ｂと関連付けられるコンテンツを入力画像Ｉｍ０２に重畳し得る。画像処理装置１００は、図２Ｂに例示したようなマーカ２０ｂの代わりに、既知の文字列であるマーカ２０ｃを用いてもよい。
【００２０】
上述したようなマーカが入力画像内で検出された後、カメラが移動し又はカメラの姿勢が変化したことを原因として、マーカが入力画像から検出されなくなることがあり得る。その場合、一般的なマーカの検出に基づくＡＲ技術では、ＡＲコンテンツの表示を継続することが難しい。仮にマーカが失われた後にもＡＲコンテンツの表示を継続しようとすれば、マーカの位置又は姿勢とは無関係にＡＲコンテンツが表示されてしなうなど、表示の不自然さが生じることとなる。
【００２１】
そこで、本実施形態において、画像処理装置１００は、ＡＲコンテンツの表示の不自然さを解消し又は軽減するために、３次元の実空間内のカメラの位置及び姿勢を追跡すると共に、検出されたマーカの位置及び姿勢をデータベースを用いて管理する。そして、画像処理装置１００は、以下に詳細に説明するように、マーカに対するカメラの相対的な位置及び姿勢の少なくとも一方に基づいて、ＡＲコンテンツの振る舞いを制御する。
【００２２】
＜２．一実施形態に係る画像処理装置の構成例＞
［２−１．ハードウェア構成］
図３は、本実施形態に係る画像処理装置１００のハードウェア構成の一例を示すブロック図である。図３を参照すると、画像処理装置１００は、撮像部１０２、センサ部１０４、入力部１０６、記憶部１０８、表示部１１０、通信部１１２、バス１１６及び制御部１１８を備える。
【００２３】
（１）撮像部
撮像部１０２は、画像を撮像するカメラモジュールである。撮像部１０２は、ＣＣＤ（Charge  Coupled  Device）又はＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を用いて実空間を撮像し、撮像画像を生成する。撮像部１０２により生成される一連の撮像画像は、実空間を映す映像を構成する。なお、撮像部１０２は、必ずしも画像処理装置１００の一部でなくてもよい。例えば、画像処理装置１００と有線又は無線で接続される撮像装置が撮像部１０２として扱われてもよい。
【００２４】
（２）センサ部
センサ部１０４は、測位センサ、加速度センサ及びジャイロセンサなどの様々なセンサを含み得る。センサ部１０４により測定され得る画像処理装置１００の位置、姿勢又は動きは、後に説明するカメラの位置及び姿勢の認識の支援、地理的な位置に特化したデータの取得、又はユーザからの指示の認識などの様々な用途のために利用されてよい、なお、センサ部１０４は、画像処理装置１００の構成から省略されてもよい。
【００２５】
（３）入力部
入力部１０６は、ユーザが画像処理装置１００を操作し又は画像処理装置１００へ情報を入力するために使用される入力デバイスである。入力部１０６は、例えば、表示部１１０の画面上へのユーザによるタッチを検出するタッチセンサを含んでもよい。その代わりに（又はそれに加えて）、入力部１０６は、マウス若しくはタッチパッドなどのポインティングデバイスを含んでもよい。さらに、入力部１０６は、キーボード、キーパッド、ボタン又はスイッチなどのその他の種類の入力デバイスを含んでもよい。
【００２６】
（４）記憶部
記憶部１０８は、半導体メモリ又はハードディスクなどの記憶媒体により構成され、画像処理装置１００による処理のためのプログラム及びデータを記憶する。記憶部１０８により記憶されるデータは、例えば、撮像画像データ、センサデータ及び後に説明する様々なデータベース（ＤＢ）内のデータを含み得る。なお、本明細書で説明するプログラム及びデータの一部は、記憶部１０８により記憶されることなく、外部のデータソース（例えば、データサーバ、ネットワークストレージ又は外付けメモリなど）から取得されてもよい。
【００２７】
（５）表示部
表示部１１０は、ＬＣＤ（Liquid  Crystal  Display）、ＯＬＥＤ（Organic  light-Emitting  Diode）又はＣＲＴ（Cathode  Ray  Tube）などのディスプレイを含む表示モジュールである。表示部１１０は、例えば、画像処理装置１００により生成される出力画像を表示するために使用される。なお、表示部１１０もまた、必ずしも画像処理装置１００の一部でなくてもよい。例えば、画像処理装置１００と有線又は無線で接続される表示装置が表示部１１０として扱われてもよい。
【００２８】
（６）通信部
通信部１１２は、画像処理装置１００による他の装置との間の通信を仲介する通信インタフェースである。通信部１１２は、任意の無線通信プロトコル又は有線通信プロトコルをサポートし、他の装置との間の通信接続を確立する。
【００２９】
（７）バス
バス１１６は、撮像部１０２、センサ部１０４、入力部１０６、記憶部１０８、表示部１１０、通信部１１２及び制御部１１８を相互に接続する。
【００３０】
（８）制御部
制御部１１８は、ＣＰＵ（Central  Processing  Unit）又はＤＳＰ（Digital  Signal  Processor）などのプロセッサに相当する。制御部１１８は、記憶部１０８又は他の記憶媒体に記憶されるプログラムを実行することにより、後に説明する画像処理装置１００の様々な機能を動作させる。
【００３１】
［２−２．機能構成］
図４は、図３に示した画像処理装置１００の記憶部１０８及び制御部１１８により実現される論理的機能の構成の一例を示すブロック図である。図４を参照すると、画像処理装置１００は、画像取得部１２０、解析部１２５、３次元（３Ｄ）構造データベース（ＤＢ）１３０、マーカＤＢ１３５、マーカ検出部１４０、マーカ管理部１４５、コンテンツＤＢ１５０、コンテンツ制御部１５５及び表示制御部１６０を備える。
【００３２】
（１）画像取得部
画像取得部１２０は、撮像部１０２により生成される撮像画像を入力画像として取得する。画像取得部１２０により取得される入力画像は、実空間を映す映像を構成する個々のフレームであってよい。画像取得部１２０は、取得した入力画像を、解析部１２５、マーカ検出部１４０及び表示制御部１６０へ出力する。
【００３３】
（２）解析部
解析部１２５は、画像取得部１２０から入力される入力画像を解析することにより、当該入力画像を撮像した装置の実空間内の３次元的な位置及び姿勢を認識する。また、解析部１２５は、画像処理装置１００の周囲の環境の３次元構造をも認識し、認識した３次元構造を３Ｄ構造ＤＢ１３０に記憶させる。本実施形態において、解析部１２５による解析処理は、ＳＬＡＭ（Simultaneous  Localization  And  Mapping）法に従って行われる。ＳＬＡＭ法の基本的な原理は、“Real-Time  Simultaneous  Localization  and  Mapping  with  a  Single  Camera”（Andrew  J.Davison，Proceedings  of  the  9th  IEEE  International  Conference  on  Computer  Vision  Volume  2,  2003,  pp.1403-1410）に記載されている。なお、かかる例に限定されず、解析部１２５は、他のいかなる３次元環境認識技術を用いて入力画像を解析してもよい。
【００３４】
ＳＬＡＭ法の特徴の１つは、単眼カメラからの入力画像に映る実空間の３次元構造と当該カメラの位置及び姿勢とを並行して動的に認識できる点である。図５は、解析部１２５による解析処理の流れの一例を示している。
【００３５】
図５において、解析部１２５は、まず、状態変数を初期化する（ステップＳ１０１）。ここで初期化される状態変数は、少なくともカメラの位置及び姿勢（回転角）、当該カメラの移動速度及び角速度を含み、さらに入力画像に映る１つ以上の特徴点の３次元位置が状態変数に追加される。また、解析部１２５には、画像取得部１２０により取得される入力画像が順次入力される（ステップＳ１０２）。ステップＳ１０３からステップＳ１０５までの処理は、各入力画像について（即ち毎フレーム）繰り返され得る。
【００３６】
ステップＳ１０３では、解析部１２５は、入力画像に映る特徴点を追跡する。例えば、解析部１２５は、状態変数に含まれる特徴点ごとのパッチ（Patch）（例えば特徴点を中心とする３×３＝９画素の小画像）を新たな入力画像と照合する。そして、解析部１２５は、入力画像内のパッチの位置、即ち特徴点の位置を検出する。ここで検出される特徴点の位置は、後の状態変数の更新の際に用いられる。
【００３７】
ステップＳ１０４では、解析部１２５は、所定の予測モデルに基づいて、例えば１フレーム後の状態変数の予測値を生成する。また、ステップＳ１０５では、解析部１２５は、ステップＳ１０４において生成した状態変数の予測値と、ステップＳ１０３において検出した特徴点の位置に応じた観測値とを用いて、状態変数を更新する。解析部１２５は、ステップＳ１０４及びＳ１０５における処理を、拡張カルマンフィルタの原理に基づいて実行する。なお、これら処理の詳細については、例えば特開２０１１−１５９１６３号公報なども参照されたい。
【００３８】
このような解析処理によって、状態変数に含まれるパラメータが毎フレーム更新される。状態変数に含められる特徴点の数は、フレームごとに増加し又は減少してよい。即ち、カメラの画角が変化すると、新たにフレームインした領域内の特徴点のパラメータが状態変数に追加され、フレームアウトした領域内の特徴点のパラメータが状態変数から削除され得る。
【００３９】
解析部１２５は、このように毎フレーム更新されるカメラの位置及び姿勢を、時系列で３Ｄ構造ＤＢ１３０に記憶させる。また、解析部１２５は、ＳＬＡＭ法の状態変数に含められる特徴点の３次元位置を、３Ｄ構造ＤＢ１３０に記憶させる。特徴点についての情報は、カメラの画角の移動に伴って、３Ｄ構造ＤＢ１３０に次第に蓄積される。
【００４０】
なお、ここでは、解析部１２５がＳＬＡＭ法を用いて撮像部１０２の位置及び姿勢の双方を認識する例について説明した。しかしながら、かかる例に限定されず、例えば、センサ部１０４からのセンサデータに基づいて、撮像部１０２の位置又は姿勢が認識されてもよい。
【００４１】
（３）３Ｄ構造ＤＢ
３Ｄ構造ＤＢ１３０は、解析部１２５による解析処理において利用される特徴点情報１３１と、解析処理の結果として認識されるカメラ位置・姿勢情報１３２とを記憶するデータベースである。
【００４２】
図６は、特徴点情報１３１の構成の一例を示す説明図である。図６を参照すると、特徴点情報１３１は、「特徴点ＩＤ」、「位置」、「パッチ」及び「更新時刻」という４つのデータ項目を有する。「特徴点ＩＤ」は、各特徴点を一意に識別するための識別子である。「位置」は、各特徴点の実空間内の位置を表す３次元ベクトルである。「パッチ」は、入力画像内での各特徴点の検出に利用される小画像の画像データである。「更新時刻」は、各レコードが更新された時刻を表す。図６の例では、２つの特徴点ＦＰ０１及びＦＰ０２についての情報が示されている。しかしながら、実際には、より多くの特徴点についての情報が、３Ｄ構造ＤＢ１３０により特徴点情報１３１として記憶され得る。
【００４３】
図７は、カメラ位置・姿勢情報１３２の構成の一例を示す説明図である。図７を参照すると、カメラ位置・姿勢情報１３２は、「時刻」、「カメラ位置」及び「カメラ姿勢」という３つのデータ項目を有する。「時刻」は、各レコードが記憶された時刻を表す。「カメラ位置」は、解析処理の結果として各時刻において認識されたカメラの位置を表す３次元ベクトルである。「カメラ姿勢」は、解析処理の結果として各時刻において認識されたカメラの姿勢を表す回転角ベクトルである。このように追跡されるカメラ位置及び姿勢は、後に説明するコンテンツ制御部１５５によるＡＲコンテンツの振る舞いの制御、及び表示制御部１６０によるＡＲコンテンツの表示の制御のために用いられる。
【００４４】
（４）マーカＤＢ
マーカＤＢ１３５は、ＡＲ空間内に配置されるコンテンツと関連付けられる１つ以上のマーカについての情報を記憶するデータベースである。本実施形態において、マーカＤＢ１３５により記憶される情報は、マーカ基本情報１３６及びマーカ検出情報１３７を含む。
【００４５】
図８は、マーカ基本情報１３６の構成の一例を示す説明図である。図８を参照すると、マーカ基本情報１３６は、「マーカＩＤ」、「関連コンテンツＩＤ」及び「サイズ」という３つのデータ項目と「マーカ画像」とを有する。「マーカＩＤ」は、各マーカを一意に識別するための識別子である。「関連コンテンツＩＤ」は、各マーカと関連付けられるコンテンツを識別するための識別子である。「マーカ画像」は、入力画像内での各マーカの検出に利用される既知のマーカ画像の画像データである。なお、マーカ画像の代わりに、各マーカ画像から抽出される特徴量のセットが各マーカの検出に利用されてもよい。図８の例では、マーカＭ０１のマーカ画像としてライオンが描画された画像、マーカＭ０２のマーカ画像としてゾウが描画された画像が示されている。「サイズ」は、実空間内で想定される各マーカ画像のサイズを表す。このようなマーカ基本情報１３６は、マーカＤＢ１３５により予め記憶されてもよい。その代わりに、マーカ基本情報１３６は、外部のサーバにより予め記憶され、例えば、画像処理装置１００の位置又は提供されるＡＲアプリケーションの目的に応じて選択的にマーカＤＢ１３５へダウンロードされてもよい。
【００４６】
（５）マーカ検出部
マーカ検出部１４０は、実空間内に存在するマーカを入力画像内で検出する。より具体的には、例えば、マーカ検出部１４０は、何らかの特徴量抽出アルゴリズムに従って、入力画像の特徴量と、マーカ基本情報１３６に含まれる各マーカ画像の特徴量とを抽出する。そして、マーカ検出部１４０は、抽出した入力画像の特徴量を、各マーカ画像の特徴量と照合する。入力画像にマーカが映っている場合には、当該映っている領域において高い照合スコアが示される。それにより、マーカ検出部１４０は、実空間内に存在し入力画像に映るマーカを検出することができる。マーカ検出部１４０が用いる特徴量抽出アルゴリズムは、例えば、“Fast  Keypoint  Recognition  using  Random  Ferns”（Mustafa  Oezuysal，IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence,  Vol.32,  Nr.3,  pp.448-461,  March  2010）に記載されたRandom  Ferns法、又は“SURF:  Speeded  Up  Robust  Features”（H.Bay,  A.Ess,  T.Tuytelaars  and  L.V.Gool,  Computer  Vision  and  Image  Understanding(CVIU),  Vol.110,  No.3,  pp.346--359,  2008）に記載されたＳＵＲＦ法などであってよい。
【００４７】
さらに、マーカ検出部１４０は、検出されたマーカの入力画像内の位置（撮像面上の２次元位置）、並びに入力画像内の当該マーカのサイズ及び形状に基づいて、当該マーカの実空間内の３次元位置と姿勢とを推定する。ここでの推定は、上述した特徴量の照合処理の一部であってもよい。そして、マーカ検出部１４０は、検出されたマーカのマーカＩＤ、並びに当該マーカの推定された３次元位置及び姿勢を、マーカ管理部１４５へ出力する。
【００４８】
（６）マーカ管理部
マーカ管理部１４５は、マーカ検出部１４０により入力画像に映る新たなマーカが検出されると、当該新たなマーカのマーカＩＤ、実空間内の位置及び姿勢、並びに検出時刻をマーカＤＢ１３５に記憶させる。また、マーカ管理部１４５は、一度検出されたマーカが（例えば、画角外への移動又は障害物による遮蔽などの理由により）入力画像から失われると、当該失われたマーカの喪失時刻をマーカＤＢ１３５にさらに記憶させてもよい。
【００４９】
図９は、マーカＤＢ１３５により記憶されるマーカ検出情報１３７の構成の一例を示す説明図である。図９を参照すると、マーカ検出情報１３７は、「マーカＩＤ」、「位置」、「姿勢」、「検出時刻」及び「喪失時刻」という５つのデータ項目を有する。「マーカＩＤ」は、図８に例示したマーカ基本情報１３６のマーカＩＤに対応する。「位置」は、各マーカについて推定された実空間内の位置を表す３次元ベクトルである。「姿勢」は、各マーカについて推定された姿勢を表す回転角ベクトルである。「検出時刻」は、各マーカが検出された時刻を表す。「喪失時刻」は、一度検出されたマーカが検出されなくなった時刻を表す。図９の例では、マーカＭ０１について喪失時刻Ｌ１が記憶されている。これは、マーカＭ０１が一度検出された後、時刻Ｌ１においてマーカＭ０１が入力画像から失われたことを意味する。一方、マーカＭ０２については、検出時刻Ｄ２が記憶されている一方で喪失時刻は記憶されていない。これは、マーカＭ０２が時刻Ｄ２において検出された後、依然としてマーカＭ０２が入力画像に映っていることを意味する。このように管理される各マーカについてのパラメータは、後に説明するコンテンツ制御部１５５によるＡＲコンテンツの振る舞いの制御のために用いられる。
【００５０】
（７）コンテンツＤＢ
コンテンツＤＢ１５０は、上述したマーカと関連付けられる１つ以上のＡＲコンテンツの制御及び表示のために用いられるコンテンツ情報１５１を記憶するデータベースである。
【００５１】
図１０は、コンテンツ情報１５１の構成の一例を示す説明図である。図１０を参照すると、コンテンツ情報１５１は、コンテンツＩＤ及び属性、並びに描画用データを含む。「コンテンツＩＤ」は、各ＡＲコンテンツを一意に識別するための識別子である。図１０の例では、ＡＲコンテンツの属性として、「タイプ」及び「制御パラメータセット」が示されている。「タイプ」は、ＡＲコンテンツの分類のために使用される属性である。ＡＲコンテンツは、例えば、関連付けられるマーカの種類、当該ＡＲコンテンツが表現するキャラクターの種類又は当該ＡＲコンテンツを提供するアプリケーションの種類など、様々な観点で分類されてよい。「制御パラメータセット」は、後に説明するＡＲコンテンツの振る舞いの制御のために用いられる１つ以上の制御パラメータを含み得る。
【００５２】
図１０の例では、各ＡＲコンテンツについて、「接近時」及び「離隔時」の２種類の描画用データが定義されている。これら描画用データは、例えば、ＡＲコンテンツをモデリングするＣＧ（Computer  Graphics）データである。２種類の描画用データは、表示解像度において互いに異なる。後に説明する表示制御部１６０は、検出されたマーカに対する相対的なカメラ位置又は相対的なカメラ姿勢に基づいて、いずれの描画用データをＡＲコンテンツの表示のために用いるかを切り替える。
【００５３】
コンテンツ情報１５１は、コンテンツＤＢ１５０により予め記憶されてもよい。その代わりに、コンテンツ情報１５１は、上述したマーカ基本情報１３６と同様、外部のサーバにより予め記憶され、例えば、画像処理装置１００の位置又は提供されるＡＲアプリケーションの目的に応じて選択的にコンテンツＤＢ１５０へダウンロードされてもよい。
【００５４】
（８）コンテンツ制御部
コンテンツ制御部１５５は、上述したマーカ検出情報１３７を用いて追跡される、検出されたマーカに対する相対的なカメラ位置及びカメラ姿勢の少なくとも一方に基づいて、当該マーカと関連付けられるＡＲコンテンツのＡＲ空間内での振る舞いを制御する。本明細書において、ＡＲコンテンツの振る舞いとは、ＡＲ空間内のＡＲコンテンツの出現及び消滅、並びにＡＲコンテンツの動きを含む。
【００５５】
（８−１）ＡＲコンテンツの出現
コンテンツ制御部１５５は、例えば、マーカ検出部１４０により入力画像に映る新たなマーカが検出されると、マーカ基本情報１３６において当該新たなマーカと関連付けられているＡＲコンテンツをＡＲ空間内に出現させる。ＡＲコンテンツは、関連付けられているマーカの検出に応じて即座に出現してもよく、又はさらに所定の出現条件が満たされた場合に出現してもよい。所定の出現条件とは、例えば、マーカから現在のカメラ位置までの距離が所定の距離閾値を下回る、という条件であってよい。その場合、入力画像にマーカが映っていても、当該マーカからカメラ位置までの距離が遠い場合にはＡＲコンテンツは登場せず、さらにカメラ位置が当該マーカに近付いて初めてＡＲコンテンツが出現する。このような距離閾値は、複数のＡＲコンテンツにわたって共通的に定義されてもよく、又はＡＲコンテンツごとの制御パラメータとして定義されてもよい。
【００５６】
（８−２）ＡＲコンテンツの動き
また、コンテンツ制御部１５５は、カメラの位置及び姿勢の少なくとも一方の変化に応じて、ＡＲコンテンツをＡＲ空間内で移動させる。例えば、コンテンツ制御部１５５は、カメラ姿勢の変化（例えば、所定の変化量を上回る光軸方向の角度変化）からユーザによるカメラのパン又はチルトなどの操作を認識する。そして、コンテンツ制御部１５５は、例えばパンに応じてＡＲコンテンツの向きを変化させ、チルトに応じてＡＲコンテンツを前進又は後退させる。なお、これら操作の種類とＡＲコンテンツの動きとの間のマッピングは、かかる例に限定されない。
【００５７】
また、コンテンツ制御部１５５は、検出されたマーカが入力画像の画角外に移動した場合に、当該マーカと関連付けられるＡＲコンテンツが新たな入力画像の画角内に維持されるように、ＡＲコンテンツをＡＲ空間内で移動させてもよい。ＡＲコンテンツの移動先の３次元位置は、３Ｄ構造ＤＢ１３０により記憶される特徴点位置などから決定され得る。
【００５８】
また、コンテンツ制御部１５５は、ＡＲコンテンツが図１０に例示したような視線を表現可能なキャラクターの画像である場合には、キャラクターのＡＲ空間内の位置に対するカメラの相対的な位置に基づいて、キャラクターの視線をカメラの方向に向けさせてもよい。
【００５９】
（８−３）ＡＲコンテンツの消滅
本実施形態において、ＡＲコンテンツは、上述したように、関連付けられるマーカが入力画像の画角外に移動した場合にも必ずしも消滅しない。しかし、ＡＲコンテンツがカメラの位置及び姿勢に関わらずいつまでも表示されるとすれば、却って不自然な印象をユーザに与える。そこで、本実施形態では、コンテンツ制御部１５５は、検出されたマーカに対する相対的なカメラ位置及びカメラ姿勢の少なくとも一方が所定の消滅条件を満たした場合に、ＡＲコンテンツを消滅させる。所定の消滅条件とは、例えば次の条件Ａ〜Ｄのいずれか又はそれらの組合せであってよい：
条件Ａ）マーカからカメラ位置までの距離が所定の距離閾値を上回る；
条件Ｂ）カメラからマーカへの方向に対するカメラの光軸のなす角度が所定の角度閾値を上回る；
条件Ｃ）マーカの検出時刻からの経過時間が所定の時間閾値を上回る；
条件Ｄ）マーカの喪失時刻からの経過時間が所定の時間閾値を上回る。
ここでの距離閾値、角度閾値及び時間閾値もまた、複数のＡＲコンテンツにわたって共通的に定義されてもよく、又はＡＲコンテンツごとの制御パラメータとして定義されてもよい。
【００６０】
図１１は、ＡＲコンテンツの消滅条件Ａについて説明するための説明図である。図１１を参照すると、実空間１が再び示されている。図１１において、点Ｐ１はマーカ２０ａの検出位置、点線ＤＬ１は点Ｐ１からの距離が距離閾値ｄｔｈ１に等しい境界を示す。画像処理装置１００ａのマーカ２０ａからの距離は、距離閾値ｄｔｈ１を下回る。この場合、画像処理装置１００ａのコンテンツ制御部１５５は、マーカ２０ａと関連付けられるＡＲコンテンツ３２ａを消滅させることなく、ＡＲコンテンツ３２ａを画像処理装置１００ａの画角３０ａの内部に移動させる。その後、例えば画像処理装置１００ａの位置から画像処理装置１００ｂの位置へ装置が移動したものとする。画像処理装置１００ｂのマーカ２０ａからの距離は、距離閾値ｄｔｈ１を上回る。この場合、コンテンツ制御部１５５は、マーカ２０ａと関連付けられるＡＲコンテンツ３２ａを消滅させる。即ち、画像処理装置１００ｂの画角３０ｂには、ＡＲコンテンツ３２ａは映らない。
【００６１】
図１２は、ＡＲコンテンツの消滅条件Ｂについて説明するための説明図である。図１２を参照すると、実空間１が再び示されている。図１２において、点Ｐ１はマーカ２０ａの検出位置を示す。画像処理装置１００ｃのマーカ２０ａからの距離は、所定の距離閾値を下回るものとする。但し、画像処理装置１００ｃの撮像部１０２からマーカ２０ａへの方向Ｖｍａｒｋに対する撮像部１０２の光軸Ｖｏｐｔのなす角度ｒｏｐｔは、所定の角度閾値（図示せず）を上回る。この場合、画像処理装置１００ｃのコンテンツ制御部１５５は、マーカ２０ａと関連付けられるＡＲコンテンツ３２ａを消滅させる。
【００６２】
なお、コンテンツ制御部１５５は、これら消滅条件Ａ及びＢに関わらず、上記消滅条件Ｃ又はＤのように、マーカの検出時刻からの経過時間又はマーカの喪失時刻からの経過時間が所定の時間閾値を上回った時点で、当該マーカと関連付けられるＡＲコンテンツを消滅させてもよい。また、消滅条件Ａ又はＢが満たされ且つマーカの検出時刻又は喪失時刻からの経過時間が所定の時間閾値を上回った時点で、当該マーカと関連付けられるＡＲコンテンツを消滅させてもよい。
【００６３】
このようなＡＲコンテンツの振る舞いの制御により、ＡＲコンテンツがカメラの位置及び姿勢に関わらずいつまでも表示されるというような不自然な状況は防がれる。また、多数のＡＲコンテンツが表示されるというＡＲコンテンツの輻輳の発生も回避される。特に、本実施形態では、マーカに対するカメラの相対的な位置又は姿勢に応じて、ＡＲコンテンツの消滅が制御される。そのため、ユーザのＡＲコンテンツへの興味が薄れたこと（例えばユーザがマーカから離れ、又はマーカとは全く違う方向を撮像していることなど）をきっかけとして、ＡＲコンテンツを消滅させることができる。即ち、ＡＲコンテンツの出現から消滅までのライフサイクルを、ユーザの状況に即して適切に管理することができる。
【００６４】
（８−４）ＡＲコンテンツの共存
また、コンテンツ制御部１５５は、異なるマーカに関連付けられる複数のＡＲコンテンツの共存を、マーカに対する相対的なカメラ位置又は姿勢に基づいて制御してもよい。例えば、コンテンツ制御部１５５は、第１のマーカと関連付けられる第１のＡＲコンテンツがＡＲ空間内に配置されている状況において、第２のマーカが新たに検出された場合に、次の２通りの制御オプションのいずれかを選択し得る：
オプションＡ）第２のマーカと関連付けられる第２のＡＲコンテンツを、第１のＡＲコンテンツに加えてＡＲ空間内に配置する；
オプションＢ）第２のマーカと関連付けられる第２のＡＲコンテンツを、第１のＡＲコンテンツに代えてＡＲ空間内に配置する。
【００６５】
例えば、コンテンツ制御部１５５は、第２のマーカが検出された時点の第１のマーカからカメラ位置までの距離が所定の距離閾値を下回る場合にオプションＡを選択し、上記距離が上記距離閾値を上回る場合にオプションＢを選択してもよい。オプションＡが選択されると、第１及び第２のＡＲコンテンツがＡＲ空間内に共存することとなる。それにより、例えばＡＲコンテンツ間のインタラクションを表現することも可能となる。特に、本実施形態では、マーカが画像から失われた後にもＡＲコンテンツの表示が継続されるため、複数のマーカが同時に入力画像に映らなくとも、ＡＲコンテンツを徐々にＡＲ空間内に追加していくことができる。その場合に、ＡＲ空間内に過剰な数のＡＲコンテンツが共存することを回避し、より自然な条件の下でＡＲコンテンツを共存させることができる。
【００６６】
なお、コンテンツ制御部１５５は、第１及び第２のＡＲコンテンツの種別（例えば、図１０に例示した「タイプ」）に基づいて、複数のＡＲコンテンツの共存を制御してもよい。例えば、コンテンツ制御部１５５は、第１及び第２のＡＲコンテンツが共通する種別を有している場合にのみ、上記オプションＡを選択し得る。共通する種別を有しているＡＲコンテンツとは、例えば、同じ種類のマーカと関連付けられているＡＲコンテンツ、同じ種類のキャラクターを表現するＡＲコンテンツ又は共通する目的を有するアプリケーションのためのＡＲコンテンツなどであってよい。それにより、互いにインタラクションし得ないような雑多なＡＲコンテンツが共存することを回避することができる。
【００６７】
（８−５）制御結果の出力
コンテンツ制御部１５５は、このようにＡＲコンテンツの振る舞いを制御し、入力画像に重畳すべきＡＲコンテンツを選択する。そして、コンテンツ制御部１５５は、選択したＡＲコンテンツのＡＲ空間内の３次元的な表示位置及び表示姿勢を決定する。ＡＲコンテンツの表示位置及び表示姿勢は、典型的には、解析部１２５による画像処理装置１００の周囲の環境の認識結果を用いて決定される。即ち、コンテンツ制御部１５５は、３Ｄ構造ＤＢ１３０により記憶されている特徴点情報１３１とカメラ位置・姿勢情報１３２とを用いて、ＡＲコンテンツの表示位置及び表示姿勢を決定する。ＡＲコンテンツの表示位置及び表示姿勢は、例えば、ＡＲコンテンツがカメラの画角内に入り、かつＡＲコンテンツが画角内の物体上に接地するように決定されてよい。画角が急激に変化したような場合には、ＡＲコンテンツの表示位置は、ＡＲコンテンツが完全には画角の変化に追随せずによりゆっくりと移動するように決定されてもよい。なお、ＡＲコンテンツの表示位置及び表示姿勢の決定手法は、かかる例に限定されない。そして、コンテンツ制御部１５５は、入力画像に重畳すべきＡＲコンテンツの描画用データ、表示位置及び表示姿勢並びにその他の制御パラメータを、表示制御部１６０へ出力する。
【００６８】
コンテンツ制御部１５５から表示制御部１６０へ追加的に出力される制御パラメータは、例えば、ＡＲコンテンツの視線を特定するパラメータを含んでもよい。また、制御パラメータは、ＡＲコンテンツのフェードアウトに関連する透過度パラメータを含んでもよい。例えば、コンテンツ制御部１５５は、上述した消滅条件Ａの判定において、マーカからカメラ位置までの距離が所定の距離閾値に近付くにつれて、ＡＲコンテンツの透過度を高く設定してもよい。同様に、コンテンツ制御部１５５は、上述した消滅条件Ｂの判定において、カメラからマーカへの方向に対するカメラの光軸のなす角度が所定の角度閾値に近付くにつれて、ＡＲコンテンツの透過度を高く設定してもよい。このような透過度の設定によって、ＡＲコンテンツが消滅する前にＡＲコンテンツを徐々にフェードアウトさせることが可能となる。
【００６９】
（９）表示制御部
表示制御部１６０は、マーカ検出部１４０により検出されたマーカと関連付けられるＡＲコンテンツを画像取得部１２０から入力される入力画像に重畳することにより、出力画像を生成する。そして、表示制御部１６０は、生成した出力画像を表示部１１０の画面上に表示する。
【００７０】
より具体的には、表示制御部１６０には、表示すべきＡＲコンテンツの描画用データ、表示位置及び表示姿勢並びにその他の制御パラメータがコンテンツ制御部１５５から入力される。また、表示制御部１６０は、３Ｄ構造ＤＢ１３０から現在のカメラ位置及び姿勢を取得する。そして、表示制御部１６０は、ＡＲコンテンツの表示位置及び表示姿勢と現在のカメラ位置及び姿勢とに基づいてレンダリングされる撮像面上の位置に、ＡＲコンテンツを重畳する。
【００７１】
表示制御部１６０による表示のために用いられる描画用データは、図１０に例示した２種類の描画用データの間で、マーカに対する相対的なカメラ位置又は相対的なカメラ姿勢に基づいて切り替えられてよい。それにより、例えばユーザがマーカに近付き又は当該マーカの近傍を撮像している状況では、当該マーカと関連付けられるコンテンツが高い表示解像度で表示され得る。また、表示制御部１６０は、ＡＲコンテンツの透過度を、コンテンツ制御部１５５からの制御パラメータに応じて変化させてもよい。
【００７２】
本実施形態では、上述したように、ＡＲコンテンツの表示位置及び表示姿勢が画像処理装置１００の周囲の環境の認識結果を用いて決定されるため、表示制御部１６０は、一度検出されたマーカが入力画像の画角外に移動した後にも、当該マーカと関連付けられるＡＲコンテンツを自然な形で入力画像に重畳することができる。また、周囲の環境の認識結果は３Ｄ構造ＤＢ１３０により記憶されるため、例えばあるフレームについて環境の認識が失敗したとしても、環境の認識を一からやり直すことなく、以前の認識結果に基づいて認識を継続することができる。従って、本実施形態によれば、マーカが入力画像に映らなくとも、かつ認識の一時的な失敗が生じたとしても、ＡＲコンテンツの表示は継続され得る。そのため、ユーザは、マーカが映っているか又は環境認識が正常に行われているかを心配することなく、自由にカメラを動かすことができる。
【００７３】
［２−３．ＡＲコンテンツの表示例］
図１３Ａは、本実施形態におけるＡＲコンテンツの表示の第１の例を示す説明図である。図１３Ａを参照すると、一例としての出力画像Ｉｍ１１が示されている。出力画像Ｉｍ１１には、テーブル１１、コーヒーカップ１２及びポスター１４が映っている。画像処理装置１００の解析部１２５は、上述したＳＬＡＭ法に従い、これら実物体の特徴点の位置に基づいて、３次元的なカメラ位置及びカメラ姿勢、並びに環境の３次元構造（即ち、これら特徴点の３次元位置）を認識する。ポスター１４には、マーカ２０ａが印刷されている。マーカ２０ａはマーカ検出部１４０により検出され、マーカ２０ａと関連付けられているＡＲコンテンツ３４ａがコンテンツ制御部１５５によりＡＲ空間内に配置される。その結果、出力画像Ｉｍ１１内で、ＡＲコンテンツ３４ａが表示されている。
【００７４】
図１３Ｂは、本実施形態におけるＡＲコンテンツの表示の第２の例を示す説明図である。図１３Ｂに示されている出力画像Ｉｍ１２は、上述した出力画像Ｉｍ１１に続いて表示され得る画像である。出力画像Ｉｍ１２には、ポスター１４は部分的にしか映っておらず、マーカ検出部１４０によりマーカ２０ａは検出されない。但し、マーカ２０ａに対する相対的なカメラ位置及びカメラ姿勢は上述した消滅条件を満たさないものとする。コンテンツ制御部１５５は、ＡＲコンテンツ３４ａを出力画像Ｉｍ１２の画角内に移動させる。そして、表示制御部１６０は、３Ｄ構造ＤＢ１３０に記憶されるカメラ位置・姿勢情報１３２に基づいて決定される位置に、ＡＲコンテンツ３４ａを重畳する。この後、例えば画像処理装置１００がさらにマーカ２０ａから離れる方向へ移動すると、ＡＲコンテンツ３４ａは、フェードアウトしながら最終的に消滅し得る。
【００７５】
図１３Ｃは、本実施形態におけるＡＲコンテンツの表示の第３の例を示す説明図である。図１３Ｃを参照すると、一例としての出力画像Ｉｍ２１が示されている。出力画像Ｉｍ１１には、テーブル１１及び本１３が映っている。画像処理装置１００の解析部１２５は、上述したＳＬＡＭ法に従い、これら実物体の特徴点の位置に基づいて、３次元的なカメラ位置及びカメラ姿勢、並びに環境の３次元構造を認識する。本１３には、マーカ２０ｂが印刷されている。マーカ２０ｂはマーカ検出部１４０により検出され、マーカ２０ｂと関連付けられているＡＲコンテンツ３４ｂがコンテンツ制御部１５５によりＡＲ空間内に配置される。その結果、出力画像Ｉｍ２１内で、ＡＲコンテンツ３４ｂが表示されている。
【００７６】
図１３Ｄは、本実施形態におけるＡＲコンテンツの表示の第４の例を示す説明図である。図１３Ｄに示されている出力画像Ｉｍ２２は、上述した出力画像Ｉｍ２１に続いて表示され得る画像である。出力画像Ｉｍ２２にはマーカ２０ｂは映っていないものの、ＡＲコンテンツ３４ｂの表示は継続されている。さらに、出力画像Ｉｍ２２には、マーカ２０ａが映っている。マーカ２０ａは、マーカ検出部１４０により検出される。そして、図１３Ｄの状況では、例えばマーカ２０ｂからカメラ位置までの距離が所定の距離閾値を下回ることから、上述したオプションＡが選択される。結果として、コンテンツ制御部１５５は、新たに検出されたマーカ２０ａと関連付けられているＡＲコンテンツ３４ａを、ＡＲコンテンツ３４ｂに加えてＡＲ空間内に配置する。
【００７７】
［２−４．処理の流れ］
図１４は、本実施形態に係る画像処理装置１００による画像処理の流れの一例を示すフローチャートである。
【００７８】
図１４を参照すると、まず、画像取得部１２０は、撮像部１０２により生成される撮像画像を入力画像として取得する（ステップＳ１１０）。そして、画像取得部１２０は、取得した入力画像を、解析部１２５、マーカ検出部１４０及び表示制御部１６０へ出力する。
【００７９】
次に、解析部１２５は、画像取得部１２０から入力される入力画像を対象として、上述した解析処理を実行する（ステップＳ１２０）。ここで実行される解析処理は、例えば、図５を用いて説明したＳＬＡＭ演算処理のうちの１フレーム分の処理に相当し得る。その結果、最新の３次元的なカメラ位置及び姿勢と、入力画像に映る新たな特徴点の３次元位置とが、３Ｄ構造ＤＢ１３０により記憶される。
【００８０】
次に、マーカ検出部１４０は、マーカ基本情報１３６において定義されているマーカを入力画像内で探索する（ステップＳ１３０）。そして、マーカ検出部１４０により新たなマーカが入力画像内で検出されると（ステップＳ１３５）、マーカ管理部１４５は、当該新たなマーカの３次元的な位置及び姿勢、並びに検出時刻をマーカＤＢ１３５に記憶させる（ステップＳ１４０）。
【００８１】
次に、コンテンツ制御部１５５は、表示すべきＡＲコンテンツを選択する（ステップＳ１５０）。ここで選択されるＡＲコンテンツは、例えば、マーカ検出情報１３７において検出時刻が記憶されている検出済みのマーカのうち、上述した消滅条件が満たされていないマーカであってよい。その後の処理は、ステップＳ１５０においてコンテンツ制御部１５５により選択されたＡＲコンテンツが存在するか否かに応じて分岐する（ステップＳ１５５）。
【００８２】
コンテンツ制御部１５５によりいずれのＡＲコンテンツも選択されなかった場合、即ち表示すべきＡＲコンテンツが存在しない場合には、表示制御部１６０は、入力画像をそのまま出力画像とする（ステップＳ１６０）。一方、表示すべきＡＲコンテンツが存在する場合には、コンテンツ制御部１５５は、選択したＡＲコンテンツのＡＲ空間内の３次元的な表示位置及び表示姿勢、並びにその他の制御パラメータ（例えば透過度など）を決定する（ステップＳ１６５）。そして、表示制御部１６０は、決定されたパラメータとカメラの位置及び姿勢とを用いて、ＡＲコンテンツを入力画像に重畳することにより、出力画像を生成する（ステップＳ１７０）。
【００８３】
そして、表示制御部１６０は、生成した（又は入力画像に等しい）出力画像を表示部１１０の画面上に表示する（ステップＳ１８０）。その後、処理はステップＳ１１０に戻り、次のフレームについて上述した処理が繰り返され得る。
【００８４】
＜３．まとめ＞
ここまで、図１〜図１４を用いて、一実施形態に係る画像処理装置１００について詳細に説明した。本実施形態によれば、ＡＲ空間内に配置されるＡＲコンテンツと関連付けられるマーカが入力画像内で検出され、検出されたマーカの実空間内の位置及び姿勢についての情報が記憶媒体を用いて管理される。そして、検出されたマーカに対するカメラの相対的な位置及び姿勢が追跡され、それらの少なくとも一方に基づいて当該マーカと関連付けられるＡＲコンテンツの振る舞いが制御される。ＡＲコンテンツの配置は、ＳＬＡＭ法などの環境認識技術を用いた入力画像の解析結果に基づいて行われる。従って、マーカが画像から失われた後にもＡＲコンテンツの表示を継続することができると共に、マーカと関連付けられるＡＲコンテンツの自然な表示を維持することができる。なお、検出されたマーカの実空間内の位置及び姿勢の双方ではなく、一方のみ（例えば、位置のみ）がデータベース内で管理されてもよい。
【００８５】
上述した画像処理装置１００の論理的機能の一部は、当該装置上に実装される代わりに、クラウドコンピューティング環境内に存在する装置上に実装されてもよい。その場合には、論理的機能の間でやり取りされる情報が、図３に例示した通信部１１２を介して装置間で送信され又は受信され得る。
【００８６】
本明細書において説明した画像処理装置１００による一連の制御処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、画像処理装置１００の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵ（Central  Processing  Unit）などのプロセッサにより実行される。
【００８７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００８８】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
実空間を映す映像を構成する入力画像を取得する画像取得部と、
前記入力画像を解析することにより、前記入力画像を撮像した撮像装置の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、
拡張現実空間内に配置されるコンテンツと関連付けられるオブジェクトであって前記実空間内に存在する前記オブジェクトを前記入力画像内で検出する検出部と、
前記検出部により検出されたオブジェクトの前記実空間内の位置及び姿勢の少なくとも一方を含む検出情報を記憶媒体に記憶させる管理部と、
前記検出情報を用いて追跡される、前記検出されたオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方に基づいて、前記検出されたオブジェクトと関連付けられるコンテンツの前記拡張現実空間内での振る舞いを制御するコンテンツ制御部と、
を備える画像処理装置。
（２）
前記コンテンツ制御部は、前記検出されたオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方が所定の条件を満たした場合に、前記検出されたオブジェクトと関連付けられるコンテンツを消滅させる、前記（１）に記載の画像処理装置。
（３）
前記所定の条件とは、前記検出されたオブジェクトからの前記撮像装置の距離が所定の距離閾値を上回る、という条件である、前記（２）に記載の画像処理装置。
（４）
前記所定の条件とは、前記撮像装置から前記検出されたオブジェクトへの方向に対する前記撮像装置の光軸のなす角度が所定の角度閾値を上回る、という条件である、前記（２）に記載の画像処理装置。
（５）
前記コンテンツ制御部は、第１のオブジェクトと関連付けられる第１のコンテンツが前記拡張現実空間内に配置されている状況において、前記第１のオブジェクトとは異なる第２のオブジェクトが前記検出部により検出された場合に、前記拡張現実空間内に前記第２のオブジェクトと関連付けられる第２のコンテンツを前記第１のコンテンツに加えて配置するか又は前記第１のコンテンツに代えて配置するかを、前記第１のオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方に基づいて決定する、前記（１）に記載の画像処理装置。
（６）
前記コンテンツ制御部は、前記検出されたオブジェクトの検出時刻又は当該オブジェクトが前記入力画像から失われた時刻からの経過時間にさらに基づいて、前記コンテンツの前記拡張現実空間内での振る舞いを制御する、前記（１）〜（５）のいずれか１項に記載の画像処理装置。
（７）
前記コンテンツ制御部は、前記撮像装置の位置及び姿勢の少なくとも一方の変化に応じて、前記コンテンツを前記拡張現実空間内で移動させる、前記（１）〜（６）のいずれか１項に記載の画像処理装置。
（８）
前記コンテンツ制御部は、前記検出されたオブジェクトが前記入力画像の画角外に移動した場合に、前記コンテンツが前記画角内に維持されるように前記コンテンツを前記拡張現実空間内で移動させる、前記（７）に記載の画像処理装置。
（９）
前記コンテンツは、視線を表現可能なキャラクターの画像であり、
前記コンテンツ制御部は、前記キャラクターの前記拡張現実空間内の位置に対する前記撮像装置の相対的な位置に基づいて、前記キャラクターの視線を前記撮像装置の方向に向けさせる、
前記（１）〜（８）のいずれか１項に記載の画像処理装置。
（１０）
前記画像処理装置は、前記検出されたオブジェクトが前記入力画像の画角外に移動した後にも、前記検出されたオブジェクトと関連付けられる前記コンテンツを前記入力画像に重畳する表示制御部、をさらに備える、前記（１）〜（９）のいずれか１項に記載の画像処理装置。
（１１）
前記表示制御部は、前記検出されたオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方に基づいて、前記コンテンツの表示解像度を変化させる、前記（１０）に記載の画像処理装置。
（１２）
前記画像取得部、前記解析部、前記検出部、前記管理部及び前記コンテンツ制御部のうち少なくとも１つが前記画像処理装置の代わりにクラウドコンピューティング環境上に存在する装置により実現される、前記（１）〜（１１）のいずれか１項に記載の画像処理装置。
（１３）
実空間を映す映像を構成する入力画像を取得することと、
前記入力画像を解析することにより、前記入力画像を撮像した撮像装置の前記実空間内の位置及び姿勢の少なくとも一方を認識することと、
拡張現実空間内に配置されるコンテンツと関連付けられるオブジェクトであって前記実空間内に存在する前記オブジェクトを前記入力画像内で検出することと、
検出されたオブジェクトの前記実空間内の位置及び姿勢の少なくとも一方を含む検出情報を記憶媒体に記憶させることと、
前記検出情報を用いて追跡される、前記検出されたオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方に基づいて、前記検出されたオブジェクトと関連付けられるコンテンツの前記拡張現実空間内での振る舞いを制御することと、
を含む画像処理方法。
（１４）
画像処理装置を制御するコンピュータを、
実空間を映す映像を構成する入力画像を取得する画像取得部と、
前記入力画像を解析することにより、前記入力画像を撮像した撮像装置の前記実空間内の位置及び姿勢の少なくとも一方を認識する解析部と、
拡張現実空間内に配置されるコンテンツと関連付けられるオブジェクトであって前記実空間内に存在する前記オブジェクトを前記入力画像内で検出する検出部と、
前記検出部により検出されたオブジェクトの前記実空間内の位置及び姿勢の少なくとも一方を含む検出情報を記憶媒体に記憶させる管理部と、
前記検出情報を用いて追跡される、前記検出されたオブジェクトに対する前記撮像装置の相対的な位置及び姿勢の少なくとも一方に基づいて、前記検出されたオブジェクトと関連付けられるコンテンツの前記拡張現実空間内での振る舞いを制御するコンテンツ制御部と、
として機能させるためのプログラム。
【符号の説明】
【００８９】
１            実空間
２０ａ，２０ｂ，２０ｃ    マーカ（オブジェクト）
１００        画像処理装置
１２０        画像取得部
１２５        解析部
１４０        検出部
１４５        管理部
１５５        コンテンツ制御部
１６０        表示制御部
【図１】
0005991418.tif 000002
【図２Ａ】
0005991418.tif 000003
【図２Ｂ】
0005991418.tif 000004
【図３】
0005991418.tif 000005
【図４】
0005991418.tif 000006
【図５】
0005991418.tif 000007
【図６】
0005991418.tif 000008
【図７】
0005991418.tif 000009
【図８】
0005991418.tif 000010
【図９】
0005991418.tif 000011
【図１０】
0005991418.tif 000012
【図１１】
0005991418.tif 000013
【図１２】
0005991418.tif 000014
【図１３Ａ】
0005991418.tif 000015
【図１３Ｂ】
0005991418.tif 000016
【図１３Ｃ】
0005991418.tif 000017
【図１３Ｄ】
0005991418.tif 000018
【図１４】
0005991418.tif 000019