(57)【要約】【課題】撮像画像を用いてＡＲ技術を実現する場合に、ユーザの操作によるインタラクションを容易に実現する。【解決手段】撮像画像から、仮想物体を表示させることを示す拡張現実マーカを検出する拡張現実マーカ検出部と、撮像画像から、拡張現実マーカに対応して設けられた操作用マーカの領域を検出する操作用マーカ検出部と、操作用マーカの領域から、操作用マーカに対するユーザ操作を検出する操作検出部と、拡張現実マーカに応じた仮想物体をユーザ操作に応じて変形する仮想物体制御部と、変形した仮想物体を撮像画像に重畳して描画する描画部と、を備える画像処理装置を提供する。【選択図】図１
2015153046.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像から、仮想物体を表示させることを示す拡張現実マーカを検出する拡張現実マーカ検出部と、
前記撮像画像から、前記拡張現実マーカに対応して設けられた操作用マーカの領域を検出する操作用マーカ検出部と、
前記操作用マーカの領域から、前記操作用マーカに対するユーザ操作を検出する操作検出部と、
前記拡張現実マーカに応じた仮想物体を前記ユーザ操作に応じて変形する仮想物体制御部と、
前記変形した前記仮想物体を前記撮像画像に重畳して描画する描画部と、
を備える画像処理装置。
【請求項２】
前記操作用マーカは、前記拡張現実マーカに対して予め定められた位置に配置され、
前記操作用マーカ検出部は、前記拡張現実マーカの領域の位置に基づき、前記撮像画像における前記操作用マーカの領域を検出する
請求項１に記載の画像処理装置。
【請求項３】
前記操作用マーカは、前記拡張現実マーカとは独立して検出可能であり、
前記操作用マーカ検出部は、前記撮像画像から、前記拡張現実マーカとは独立に前記操作用マーカの領域を検出する
請求項１に記載の画像処理装置。
【請求項４】
前記操作検出部は、前記撮像画像における前記操作用マーカの領域の部分画像と、予め記憶された前記操作用マーカの参照画像との差分を検出し、前記差分が所定の閾値より大きい場合に、対応する前記操作用マーカに対して前記ユーザ操作がされたと判断する
請求項１から３の何れか１項に記載の画像処理装置。
【請求項５】
前記操作検出部は、前記撮像画像における前記操作用マーカの領域に、人間の身体の一部分を検出した場合に、対応する前記操作用マーカに対してユーザ操作がされたと判断する
請求項１から３の何れか１項に記載の画像処理装置。
【請求項６】
前記操作検出部は、複数の前記撮像画像における前記操作用マーカの領域のそれぞれに対しての前記ユーザ操作に基づき、前記操作用マーカに対するユーザの時間的な動きを検出し、
前記仮想物体制御部は、前記ユーザの時間的な動きに応じて、前記仮想物体を変形させる
請求項１から５の何れか１項に記載の画像処理装置。
【請求項７】
前記操作用マーカ検出部は、複数の前記撮像画像における前記操作用マーカの領域のそれぞれに対しての前記ユーザ操作に基づき、前記操作用マーカに対するユーザの時間的な動きを検出し、
前記仮想物体制御部は、前記ユーザの時間的な動きに応じた内容のアニメーションで、前記仮想物体を動作させる
請求項１から５の何れか１項に記載の画像処理装置。
【請求項８】
前記仮想物体制御部によって、前記仮想物体が重畳された前記撮像画像を表示する表示部
をさらに備える請求項１から７の何れか１項に記載の画像処理装置。
【請求項９】
撮像画像から、仮想物体を表示させることを示す拡張現実マーカを検出する拡張現実マーカ検出ステップと、
前記撮像画像から、前記拡張現実マーカに対応して設けられた操作用マーカの領域を検出する操作用マーカ検出ステップと、
前記操作用マーカの領域から、前記操作用マーカに対するユーザ操作を検出する操作検出ステップと、
前記拡張現実マーカに応じた仮想物体を前記ユーザ操作に応じて変形する仮想物体制御ステップと、
前記変形した前記仮想物体を前記撮像画像に重畳して描画する描画ステップと、
を含む画像処理方法。
【請求項１０】
コンピュータを、画像処理装置として機能させるためのプログラムであって、
前記コンピュータを、
撮像画像から、仮想物体を表示させることを示す拡張現実マーカを検出する拡張現実マーカ検出部と、
前記撮像画像から、前記拡張現実マーカに対応して設けられた操作用マーカの領域を検出する操作用マーカ検出部と、
前記操作用マーカの領域から、前記操作用マーカに対するユーザ操作を検出する操作検出部と、
前記拡張現実マーカに応じた仮想物体を前記ユーザ操作に応じて変形する仮想物体制御部と、
前記変形した前記仮想物体を前記撮像画像に重畳して描画する描画部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
現実世界に仮想物体を追加して現実以上の情報を提示するＡＲ（拡張現実感）技術が知られている。ＡＲ技術を実現するポピュラーな手法として、用紙等に印刷されたＡＲマーカをカメラで撮影し、ＡＲマーカに対するカメラの相対位置および姿勢を解析して、撮像画像中に仮想物体を追加する手法が知られている。
【０００３】
ＡＲマーカを用いるＡＲ技術は、携帯端末のような演算パワーの少ない機器においても容易に実現することができる。なお、ＡＲマーカとカメラとの相対位置および姿勢を検出する方法は、『「拡張現実感システム構築ツールＡＲToolKitの開発」電子情報通信学会技術研究会，pp79~86,2002-02』等に記載されている。
【０００４】
ＡＲマーカを用いるＡＲ技術の処理は、概略、入力処理と、ディスプレイへの出力処理とに分けられる。入力処理は、カメラから取得した撮像画像からＡＲマーカの領域を抽出して３次元空間上の位置を推定し、ＡＲマーカを解析することで得られるＩＤを用いてＡＲマーカの大きさおよびＡＲマーカにより特定される仮想物体のデータを取得する。ディスプレイの出力処理では、入力処理で取得した仮想物体のデータを用いて３次元空間上に配置し、３次元空間に配置したデータを３次元グラフィックスプロセッサ等により描画してディスプレイに表示する。
【０００５】
このようなＡＲ技術は、例えば小型の車両および恐竜等の物理的に作ることが困難な物を、あたかもその場所に存在するように見せたり、購入する前の家具を自宅の好きな場所に仮想的に配置したりすることにより、ユーザに疑似体験をさせることができる。また、このようなＡＲ技術は、時間または利用ユーザ等によって異なる仮想物体を表示することで、物理的な背景を作り変えずに、ユーザに様々な体験をさせることができる。
【０００６】
ＡＲ技術による描画結果を表示する装置は、一例として、携帯電話である。これ以外にも、ＰＣのディスプレイ、タブレットと呼ばれる液晶パネルディスプレイを備えた小型端末等であってもよい。また、ヘッドマウントディスプレイと呼ばれる、頭部等に固定し、目に近接したディスプレイを持つデバイス等であってもよい。なお、ここで、近接とは、ディスプレイから目に入る光の経路中にミラーおよびハーフミラーを設置した場合も含む。ヘッドマウントディスプレイを用いた場合は、携帯電話等と比較して、ユーザが端末を手に持つ必要が無いので、両手が自由になるというメリットがある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
印刷されたＡＲマーカは、仮想物体を描画する位置を検出するために使用される。従って、ＡＲマーカが印刷された紙自体を動かしたり回転させたりすることにより、その動きに同期してディスプレイ中の描画される位置が変わる。このため、ＡＲマーカを用いるＡＲ技術では、仮想物体に対して、人間の操作によるインタラクションを一部実現することができる。しかし、例えば仮想物体として表示された本のページをめくったり、仮想物体として表示された箱を開けたりといった細かなインタラクションを実現することはできない。すなわち、従来のＡＲマーカを用いるＡＲ技術では、単に仮想物体そのものを動かすことができるのみである。
【０００８】
そこで、ＡＲ技術によってディスプレイに重畳表示される仮想物体に対してユーザがより細かな操作を行い、インタラクションが可能となれば、ユーザに対してよりバリエーション豊かな仮想的体験を提供することが可能となる。
【０００９】
例えば、特許文献１に記載された技術では、カメラで撮影した物体オブジェクトに基づいて仮想物体を撮像画像に重畳表示する場合、静止画を切り出して仮想物体を表示させ続ける。そして、ユーザによるタッチ操作またはキー操作等によって、仮想物体の表示を変化させる。しかし、このような技術では、ユーザの操作を検出するためにカメラ以外にタッチパネル等のデバイスが必要となってしまう。
【００１０】
また、実現手段として、カメラによる撮影動画から、ジェスチャと呼ばれる人間の手などの動きを認識することで、ユーザの操作を認識する装置が考えられる。しかし、この場合、タッチパネルのようなデバイスが不要となるが、どういった操作がユーザにできるか、どういったジェスチャがシステムによって認識されるのか、ユーザにとって分かりにくい。また、ジェスチャの認識は比較的に精度が低い。
【００１１】
本発明は、上記に鑑みてなされたものであって、カメラによる撮像画像を用いてＡＲ技術を実現する場合に、ユーザの操作によるインタラクションを容易に実現する画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る画像処理装置は、撮像画像から、仮想物体を表示させることを示す拡張現実マーカを検出する拡張現実マーカ検出部と、前記撮像画像から、前記拡張現実マーカに対応して設けられた操作用マーカの領域を検出する操作用マーカ検出部と、前記操作用マーカの領域から、前記操作用マーカに対するユーザ操作を検出する操作検出部と、前記拡張現実マーカに応じた仮想物体を前記ユーザ操作に応じて変形する仮想物体制御部と、前記変形した前記仮想物体を前記撮像画像に重畳して描画する描画部と、を備える。
【発明の効果】
【００１３】
本発明によれば、カメラによる撮像画像を用いてＡＲ技術を実現する場合に、ユーザの操作によるインタラクションを容易に実現することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態に係る端末装置の構成図である。
【図２】図２は、マーカの第１例を示す図である。
【図３】図３は、マーカの第２例を示す図である。
【図４】図４は、実施形態に係る端末装置の処理手順を示す図である。
【図５】図５は、グローバル（マーカ）座標系からスクリーン座標系への変換処理を示す図である。
【図６】図６は、仮想物体を表示した端末装置の外観を示す図である。
【図７】図７は、操作用マーカに対するユーザ操作の一例を示す図である。
【図８】図８は、ユーザ操作に応じて変形した仮想物体を表示した端末装置の外観を示す図である。
【図９】図９は、第１変形例に係る操作用マーカの一例を示す図である。
【図１０】図１０は、第１変形例に係る端末装置の操作手順を示す図である。
【図１１】図１１は、第２変形例に係る操作用マーカの一例を示す図である。
【図１２】図１２は、実施形態に係る端末装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、本発明に係る画像処理装置の実施の形態として、端末装置１０を詳細に説明する。
【００１６】
図１は、実施形態に係る端末装置１０の構成図である。端末装置１０は、撮像機能、画像処理機能および表示機能を備えた携帯型の装置であって、例えば、携帯電話、タブレット端末等の手持ちタイプの携帯端末またはヘッドマウントディスプレイ等である。
【００１７】
端末装置１０は、マーカ３０を含む被写体をカメラで撮影し、撮影画像を解析してマーカ３０に対するカメラの相対位置および姿勢を検出し、検出した相対位置および姿勢に応じて配置された仮想物体を撮像画像に重畳して表示する。さらに、端末装置１０は、撮像画像からユーザ操作を検出した場合、ユーザ操作に応じて仮想物体を変形する。
【００１８】
マーカ３０は、用紙等の物体に印刷された２次元情報であり、現実の空間に配置される。マーカ３０は、一例として、モノクロームで記載された２次元情報である。マーカ３０は、モノクロームに限らず、カラーであってもよい。
【００１９】
マーカ３０は、図２に示すように、ＡＲマーカ３１（拡張現実マーカ）と、少なくとも１つの操作用マーカ３２（３２−１，３２−２，３２−３,３２−４）とを含む。
【００２０】
ＡＲマーカ３１は、表示すべき仮想物体、並びに、仮想物体を重畳する撮像画像内における位置および姿勢を特定するための情報である。ＡＲマーカ３１は、外枠部３３と、ＩＤ記述領域３４とを含む。外枠部３３は、撮像画像の中から、ＡＲマーカ３１の画像部分を切り出すための領域である。外枠部３３は、予め定められた外形状の図形であり、内部にＩＤ記述領域３４を記載するための空間を有する。本例では、１０ｃｍ×１０ｃｍの正方形の枠形状である。ＡＲマーカ３１は、このような形状であることにより、ＡＲマーカ３１に対すカメラの相対位置および姿勢を端末装置１０に特定させることができる。なお、ＡＲマーカ３１は、予め定められた形状であれば、正方形に限らずどのような形状であってもよい。
【００２１】
ＩＤ記述領域３４は、予め定められたパターンの図形または文字等が記載される。これにより、ＩＤ記述領域３４は、端末装置１０に、予め登録された画像パターンとの間でのパターンマッチングをさせて、ＡＲマーカ３１のＩＤを取得させることができる。また、ＩＤ記述領域３４は、図３に示すように、Ｎ個（Ｎは２以上の整数）×Ｎ個の格子状の配列領域を形成し、それぞれの領域を０、１に対応した白または黒の領域としてもよい。この場合、ＩＤ記述領域３４には、ＩＤを表す２進数配列（０、１により構成されるデータ列）における、例えば０を黒に、１を白に置き換えた配列パターンが、Ｎ個×Ｎ個の格子領域に形成される。これにより、ＩＤ記述領域３４は、端末装置１０に、白領域と黒領域の配列パターンを検出させて、ＡＲマーカ３１のＩＤを取得させることができる。
【００２２】
それぞれの操作用マーカ３２は、仮想物体を変形させることを指示するユーザ操作を検出するための情報である。それぞれの操作用マーカ３２は、ＡＲマーカ３１に対応して設けられる。本例では、それぞれの操作用マーカ３２は、ＡＲマーカ３１に対して予め定められた位置に配置される。例えば、図２および図３の例においては、４つの操作用マーカ３２（３２−１，３２−２，３２−３,３２−４）は、正方形のＡＲマーカ３１の下側の一辺から予め定められた距離離間した位置に、下側の辺に添って並んで配置されている。
【００２３】
また、それぞれの操作用マーカ３２には、仮想物体をどのように変形するかが予め割り当てられている。例えば、図２および図３の例では、４つの操作用マーカ３２のそれぞれに、互いに異なる動きが割り当てられている。これにより、それぞれの操作用マーカ３２は、ユーザ操作がされた場合（例えば、ユーザが指等により触れた場合）、端末装置１０に、ＡＲマーカ３１に応じて表示されている仮想物体を、割り当てられた動きに応じて変形させることができる。
【００２４】
図１に示すように、端末装置１０は、撮像部１１と、マーカ情報記憶部１２と、ＡＲマーカ検出部１３（拡張現実マーカ検出部）と、操作情報記憶部１４と、操作用マーカ検出部１５と、操作検出部１６と、仮想物体制御部１７と、描画部１８と、表示部１９とを備える。
【００２５】
撮像部１１は、カメラであって、ユーザによる操作に応じてマーカ３０を含む被写体を撮像する。マーカ情報記憶部１２は、ＡＲマーカ３１のＩＤに対応させて、表示する仮想物体を特定する情報およびＡＲマーカ３１の大きさ等を記憶する。
【００２６】
ＡＲマーカ検出部１３は、撮像部１１により撮像された撮像画像から、ＡＲマーカ３１を検出する。より具体的には、ＡＲマーカ検出部１３は、撮像画像の中からＡＲマーカ３１の領域を検出して、ＡＲマーカ３１のＩＤを取得する。さらに、ＡＲマーカ検出部１３は、ＡＲマーカ３１に対する、撮像部１１であるカメラの相対位置および姿勢を検出する。
【００２７】
操作情報記憶部１４は、ＡＲマーカ３１に対応して設けられた操作用マーカ３２に関する情報を記憶する。より具体的には、操作情報記憶部１４は、ＡＲマーカ３１とそれぞれの操作用マーカ３２との位置関係、それぞれの操作用マーカ３２の画像パターン（参照画像）、および、それぞれの操作用マーカ３２に割り当てられている動き等を記憶する。
【００２８】
操作用マーカ検出部１５は、撮像部１１により撮像された撮像画像から、それぞれの操作用マーカ３２の領域を検出する。より具体的には、操作用マーカ検出部１５は、撮像画像中におけるＡＲマーカ３１の位置と、ＡＲマーカ３１と操作用マーカ３２との位置関係とに基づき、撮像画像中における操作用マーカ３２の領域を検出する。
【００２９】
操作検出部１６は、操作用マーカ検出部１５により検出された操作用マーカ３２の領域から、操作用マーカ３２に対してされたユーザ操作を検出する。操作検出部１６は、一例として、撮像画像から検出された操作用マーカ３２の領域の部分画像と、操作情報記憶部１４に記憶された操作用マーカ３２の画像パターン（参照画像）とを比較することにより、その操作用マーカ３２に対してユーザ操作がされたかを判断する。より具体的には、操作検出部１６は、撮像画像における操作用マーカ３２の領域の部分画像と、予め記憶された操作用マーカ３２の参照画像との差分を検出し、差分が所定の閾値より大きい場合に、対応する操作用マーカ３２に対してユーザ操作がされたと判断する。また、操作検出部１６は、撮像画像における操作用マーカ３２の領域に、人間の身体の一部分を検出した場合に、対応する操作用マーカ３２に対してユーザ操作がされたと判断してもよい。そして、操作検出部１６は、何れかの操作用マーカ３２に対してユーザ操作がされたと判定した場合には、そのユーザ操作がされた操作用マーカ３２に割り当てられている動きの情報を仮想物体制御部１７に与える。
【００３０】
仮想物体制御部１７は、ＡＲマーカ検出部１３により検出されたＩＤから、撮像画像に重畳して描画すべき仮想物体を特定する。また、仮想物体制御部１７は、ＡＲマーカ検出部１３により検出されたＡＲマーカ３１とカメラとの相対位置および姿勢を特定する。さらに、仮想物体制御部１７は、ＡＲマーカ検出部１３により検出されたＩＤから、ＡＲマーカ３１の大きさを特定する。そして、仮想物体制御部１７は、特定した各情報に基づき、３次元座標上に仮想物体の３次元モデルを配置する。また、さらに、仮想物体制御部１７は、操作検出部１６によりユーザ操作に応じた動きの情報が与えられた場合には、３次元座標上に配置した仮想物体の３次元モデルを、与えられた動きの情報に応じて変形する。
【００３１】
描画部１８は、仮想物体制御部１７により３次元座標上に配置された仮想物体の３次元モデルを、撮像画像に対応する２次元座標系（スクリーン座標系）に投影する。そして、描画部１８は、撮像部１１により撮像された撮像画像に、スクリーン座標系に投影された仮想物体を重畳して描画する。この場合において、描画部１８は、仮想物体がユーザ操作に応じて変形されている場合には、変形した仮想物体を撮像画像に重畳して描画する。
【００３２】
表示部１９は、ディスプレイであって、描画部１８により仮想物体が重畳して描画された撮像画像を表示する。
【００３３】
図４は、実施形態に係る端末装置１０の処理手順を示す図である。端末装置１０は、操作用マーカ３２に対してユーザ操作がされていない場合、図４のステップＳ１１からステップＳ１７を実行して、仮想物体を重畳した撮像画像を表示する。さらに、端末装置１０は、操作用マーカ３２に対してユーザ操作がされた場合、ステップＳ１１からステップＳ１７に加えて、ステップＳ１８およびステップＳ１９の処理を実行して、変形した仮想物体を重畳した撮像画像を表示する。
【００３４】
まず、ユーザ操作がされていない場合の処理（ステップＳ１１からステップＳ１７）について説明する。
【００３５】
ステップＳ１１において、撮像部１１は、撮像画像を入力する。撮像部１１は、フレーム毎に連続的に撮像する。端末装置１０は、撮像部１１が撮像画像を入力する毎に（フレーム毎に）、以下のステップＳ１２からステップＳ１７の処理を実行する。
【００３６】
続いて、ステップＳ１２において、ＡＲマーカ検出部１３は、撮像画像からＡＲマーカ３１の領域を検出する。例えば、ＡＲマーカ３１がモノクローム画像で作成され、正方形の場合、ＡＲマーカ検出部１３は、以下のように、ＡＲマーカ３１の領域を検出する。
【００３７】
まず、ＡＲマーカ検出部１３は、撮像画像の全体を白色と黒色に二値化する。次に、ＡＲマーカ検出部１３は、二値化した撮像画像を、ラベリングと呼ばれる処理を行って白画素もしくは黒画素のかたまりに分離する。次に、ＡＲマーカ検出部１３は、得られた黒画像のかたまり毎に、輪郭から４つの頂点を検出する。ＡＲマーカ検出部１３は、一例として、直線の折れ曲がった点を頂点とする。操作情報記憶部１４は、頂点が４つでないものは、ＡＲマーカ３１の領域の候補から外し、残った候補をＡＲマーカ３１の領域とする。
【００３８】
続いて、ステップＳ１３において、ＡＲマーカ検出部１３は、ＩＤ記述領域３４に対してパターンマッチングまたは白黒パターン検出をして、ＩＤを取得する。
【００３９】
続いて、ステップＳ１４において、ＡＲマーカ検出部１３は、ＡＲマーカ３１の領域、例えば４つの頂点から、ＡＲマーカ３１に対するカメラの相対位置および姿勢、大きさを算出する。すなわち、ＡＲマーカ検出部１３は、３次元のマーカ座標系（グローバル座標系）に配置した仮想物体の３次元モデルを、カメラにより撮像された撮像画像上の２次元座標系（スクリーン座標系）へ投影するための座標変換式（回転、平行移動および拡大率を表す式）を算出する。
【００４０】
ＡＲマーカ検出部１３は、一例として、次のように算出する。まず、図５に示されるように、３次元のマーカ座標系においてＡＲマーカ３１の中心を（ｘ，ｙ，ｚ）＝（０，０，０）とすると、４隅の頂点が同一平面であるので、４隅の座標は以下のように表される。マーカ座標系は、ＡＲマーカ３１が配置された空間を表す３次元の座標系（グローバル座標系）であってもよい。
Ｍ０＝（−ａ，−ａ，０）
Ｍ１＝（ａ，−ａ，０）
Ｍ２＝（−ａ，ａ，０）
Ｍ３＝（ａ，ａ，０）
【００４１】
この４つの座標に対して、回転および平行移動の３次元の座標変換を施すと、３次元のカメラ座標系の座標に変換される。そして、３次元のカメラ座標系から、撮像画像の撮像面に対応する２次元の仮想スクリーンへの透視投影を行うことで、２次元の座標で表された４つの頂点（Ｍ０´，Ｍ１´，Ｍ２´，Ｍ３´）が算出される。このときの、回転および平行移動の３次元の座標変換式が、カメラの相対位置および姿勢に対応する。また、撮像画像中の画素の大きさと、ＡＲマーカ３１から取得したＩＤの大きさとの比率から、３次元のマーカ座標系と３次元のカメラ座標系との拡大率が算出される。このように、ＡＲマーカ検出部１３は、マーカ座標系（グローバル座標系）に配置した仮想物体の３次元モデルを、カメラにより撮像された撮像画像上の２次元座標系（スクリーン座標系）へ投影するための座標変換式（回転、平行移動および拡大率を表す式）を算出することができる。
【００４２】
続いて、ステップＳ１５において、仮想物体制御部１７は、仮想物体を３次元空間に配置する。より具体的には、仮想物体制御部１７は、ＡＲマーカ３１のＩＤに対応する仮想物体の３次元モデルを取得する。仮想物体制御部１７は、一例として、マーカ情報記憶部１２に記憶された情報、プログラムに予め登録された情報、または、サーバに記憶された情報を読み出して３次元モデルを取得する。３次元モデルは、一例として、３ＤプログラミングＡＰＩ（Application  Programming  Interface）で扱うことができるデータの集まりであり、ポリゴンと呼ばれる三角形平面を表現する点座標の集合、テクスチャ画像データ、および、配置位置等を含む。そして、仮想物体制御部１７は、このような３次元モデルを、マーカ座標系（グローバル座標系）の所定の位置に配置する。これにより、仮想物体制御部１７は、仮想物体を３次元空間に配置することができる。
【００４３】
続いて、ステップＳ１６において、描画部１８は、仮想物体を撮像画像に重畳描画する。具体的には、描画部１８は、３次元空間に配置した仮想物体を、ステップＳ１４で算出したＡＲマーカ３１に対するカメラの相対位置および姿勢および大きさ（すなわち、座標変換式）により、撮像画像の撮像面に対応する２次元の仮想スクリーンへの透視投影を行い、撮像画像の背景としてレンダリングする。仮想スクリーンへの透視投影によるレンダリングは、例えば、３次元グラフィックス専用のＧＰＵもしくはＣＰＵを用い、３ＤプログラミングＡＰＩを用いて行う。
【００４４】
最後に、ステップＳ１７において、表示部１９は、図６に示されるように、仮想物体４０が重畳描画された撮像画像を表示する。
【００４５】
つぎに、ユーザ操作がされた場合の処理（ステップＳ１８からステップＳ１９）について説明する。
【００４６】
ステップＳ１８において、操作用マーカ検出部１５は、操作用マーカ３２に対するユーザ操作を検出する。本例においては、操作用マーカ検出部１５は、図７に示すように、操作用マーカ３２がユーザの指等により触れられた場合、操作用マーカ３２に対してユーザ操作がされたと判断する。
【００４７】
具体的には、操作用マーカ検出部１５は、次のような処理によりユーザ操作がされたかを判断する。まず、ステップＳ１４までの処理により、撮像画像中におけるＡＲマーカ３１の領域が検出され、ＡＲマーカ３１に対するカメラの相対位置および姿勢が算出されている。操作用マーカ３２は、ＡＲマーカ３１に対する位置関係を知っている。従って、操作用マーカ検出部１５は、操作情報記憶部１４に予め記憶されている操作用マーカ３２の３次元モデルを用い、ステップＳ１４において算出された座標変換式により、仮想スクリーンへの透視投影を行う。そして、投影した結果の画像を参照画像として、実際に撮像されている操作用マーカ３２の領域の部分画像と比較して、操作用マーカ３２に対してユーザ操作がされたか否かを判断する。
【００４８】
操作用マーカ検出部１５は、一例として、画素の輝度値の差を使って非類似度を計算し、非類似度がある閾値より小さければ、操作用マーカ３２が検出された（すなわち、操作用マーカ３２がユーザによって隠されていない）と判別する。反対に、操作用マーカ検出部１５は、非類似度がある閾値以上であれば、操作用マーカ３２が検出されていない（すなわち、操作用マーカ３２をユーザが押しているもしくは触っている）と判別する。
【００４９】
また、操作用マーカ検出部１５は、他の方法として、ＡＲマーカ３１に対する予め定められた相対位置に操作用マーカ３２が存在することを利用し、撮像画像における、本来、操作用マーカ３２が写っている領域を特定する。操作用マーカ検出部１５は、例えば最初に撮像した撮像画像における、操作用マーカ３２が写っている領域の部分画像を参照画像として記憶する。そして、記憶した参照画像と、その後の撮像画像から取得した操作用マーカ３２の領域の部分画像とを比較して、ユーザ操作がされたか否かを判断してもよい。
【００５０】
また、非類似度の計算は、例えばグレースケールに変換した後の、画素の輝度値の差の二乗和を用いてもよい。この場合、仮想スクリーンは、多少実際の撮影画像とずれている可能性がある。そこで、操作用マーカ検出部１５は、比較する画像位置を数画素ほど動かして、最も二乗和の小さい値と閾値とを比較してもよい。
【００５１】
例えば、操作用マーカ検出部１５は、下記の式を満たす場合には、ユーザ操作がされていないと判定し、満たさない場合には、ユーザ操作がされたと判定する。なお、Ｔｈは閾値である。操作用マーカ検出部１５は、ｄｘ，ｄｙをある大きさの範囲で動かすことにより、比較する画像位置を数画素ほど動かした判断をすることができる。
【数１】
2015153046.tif 000003
【００５２】
また、操作用マーカ検出部１５は、撮像画像における操作用マーカ３２の領域に、人間の身体の一部分を検出した場合に、対応する操作用マーカ３２に対してユーザ操作がされたと判断してもよい。例えば、操作用マーカ検出部１５は、操作用マーカ３２があるべき画像中の領域に、人間の肌色が含まれているかどうかを検出してもよい。
【００５３】
続いて、ステップＳ１９において、仮想物体制御部１７は、ユーザの操作に応じて、仮想物体を変形する。仮想物体制御部１７は、操作用マーカ３２に対してユーザ操作がされた場合、ユーザ操作がされた操作用マーカ３２に対応する動きで、３次元空間に配置された仮想物体の３次元モデルを変形させる。例えば、仮想物体制御部１７は、図８に示すように、ライトが点灯していない状態の車の３次元モデルに、ライトの光の３次元モデルを追加することにより仮想物体４０を変形する。仮想物体制御部１７は、このように変化させる３次元モデルを、マーカ情報記憶部１２、プログラムまたはサーバ等から取得する。また、仮想物体制御部１７は、既に配置されている仮想物体の３次元モデルのデータ（例えばポリゴンの点座標データ）を変化させてもよい。これにより、仮想物体制御部１７は、箱の蓋が開くように仮想物体を変形することができる。また、仮想物体制御部１７は、３次元モデルを、１秒以内にスムーズに変化させれば、アニメーション表現をすることもできる。
【００５４】
以上のように、本実施形態に係る端末装置１０によれば、カメラによる撮像画像を用いてＡＲ技術を実現する場合に、ユーザの操作によるインタラクションを容易に実現することができる。
【００５５】
つぎに、本実施形態の変形例について説明する。なお、変形例は、本実施形態に係る端末装置１０と略同一の機能および構成を有するので、以下、略同一の構成要素については同一の符号を付けて相違点を除き説明を省略する。
【００５６】
図９は、第１変形例に係る操作用マーカ３２の一例を示す図である。第１変形例に係る操作用マーカ３２は、対応するＡＲマーカ３１とは独立して検出可能となっている。すなわち、第１変形例に係る操作用マーカ３２は、ＡＲマーカ３１と同様に外枠部３３を有する。
【００５７】
図１０は、第１変形例に係る端末装置１０の操作手順を示す図である。第１変形例では、ユーザ操作がされた場合において、端末装置１０は、ステップＳ１８の処理の前に、ステップＳ２１を実行する。
【００５８】
ステップＳ２１において、操作用マーカ検出部１５は、操作用マーカ３２の領域を、ＡＲマーカ３１とは独立に検出する。操作用マーカ検出部１５は、一例として、ＡＲマーカ３１の検出処理と同様に、操作用マーカ３２の領域を検出する。なお、操作用マーカ検出部１５は、一度、操作用マーカ３２の検出に成功した後は、操作用マーカ３２の３次元位置を記憶しておき、以後、記憶した３次元位置の情報に基づき、操作用マーカ３２に対してユーザが触れたことを検出する。この場合、操作用マーカ検出部１５は、操作用マーカ３２の３次元位置を、ＡＲマーカ３１との相対位置で記憶してもよい。これにより、操作用マーカ検出部１５は、ＡＲマーカ３１と操作用マーカ３２との相対位置が予め定められている場合と同様に処理を実行することができる。
【００５９】
このように第１変形例では、操作用マーカ３２は、ＡＲマーカ３１に対して予め定められた位置に設けられていなくてよい。従って、第１変形例に係る端末装置１０によれば、例えば、ＡＲマーカ３１と操作用マーカ３２とを立体物の異なる側面に貼り付けるといったように、操作用マーカ３２の貼り付け位置の自由度を高くすることができる。
【００６０】
図１１は、第２変形例に係る操作用マーカ３２の一例を示す図である。第２変形例において、操作用マーカ検出部１５は、複数の撮像画像における操作用マーカ３２の領域のそれぞれに対してのユーザ操作に基づき、操作用マーカ３２に対するユーザの時間的な動きを検出する。そして、仮想物体制御部１７は、ユーザの時間的な動きに応じて、仮想物体を変形させる。
【００６１】
第２変形例に係る操作用マーカ３２は、例えば、予め定められた方向に並んだ複数の小領域を含む。それぞれの小領域は、例えば、ユーザの指等により隠される程度の大きさである。しかし、複数の小領域の全体は、ユーザの指では全部が隠れない程度の大きさである。
【００６２】
操作用マーカ検出部１５は、複数の小さい領域中における隠れている領域を検出し、連続する撮像画像中において、隠れている領域が左から右に移動していれば、ユーザの指が操作用マーカ３２を左から右へとなぞったと判定する。また、操作用マーカ検出部１５は、連続する撮像画像中において、隠れている領域が右から左に移動していれば、ユーザの指が操作用マーカ３２を右から左へとなぞったと判定する。
【００６３】
そして、仮想物体制御部１７は、ユーザの指が操作用マーカ３２を左から右へとなぞったと判断する場合には、例えば、仮想物体である本のページを左から右にめくるように変形させる。また、仮想物体制御部１７は、ユーザの指が操作用マーカ３２を右から左へとなぞったと判断する場合には、例えば、仮想物体である本のページを右から左にめくるように変形させる。さらに、この場合において、仮想物体制御部１７は、ユーザの時間的な動きに応じた内容のアニメーションで、仮想物体を動作させてもよい。
【００６４】
このように第２変形例に係る端末装置１０によれば、ユーザの動きをユーザ操作として検出して、ユーザの動きに応じて仮想物体の動作を変更することができる。
【００６５】
図１２は、実施形態に係る端末装置１０のハードウェアブロック図である。端末装置１０は、カメラ１０１と、ディスプレイ１０２と、ＣＰＵ（Central  Processing  Unit）１０３と、ＲＯＭ（Read  Only  Memory）１０４と、ＲＡＭ（Random  Access  Memory）１０５と、記憶装置１０６と、通信装置１０７とを備える。各部は、バスにより接続される。
【００６６】
カメラ１０１は、レンズ等の光学系、撮像素子および信号処理回路等を備え、被写体を撮像して画像データを出力する。カメラ１０１は、撮像部１１に対応するハードウェアである。
【００６７】
ディスプレイ１０２は、ＬＣＤ（Liquid  Crystal  Display）等の表示装置である。ディスプレイ１０２は、ＣＰＵ１０３からの表示信号に基づいて情報を表示する。ディスプレイ１０２は、表示部１９に対応するハードウェアである。
【００６８】
ＣＰＵ１０３は、ＲＡＭ１０５の所定領域を作業領域として、ＲＯＭ１０４または記憶装置１０６に予め記憶された各種プログラムとの協働により各種処理を実行し、端末装置１０を構成する各部の動作を統括的に制御する。また、ＣＰＵ１０３は、ＲＯＭ１０４または記憶装置１０６に予め記憶されたプログラムとの協働により、カメラ１０１、ディスプレイ１０２および通信装置１０７等を制御する。
【００６９】
ＲＯＭ１０４は、不揮発性メモリであって、端末装置１０の制御に用いられるプログラムおよび各種情報を記憶する。ＲＡＭ１０５は、揮発性のメモリであって、ＣＰＵ１０３の作業領域として機能する。
【００７０】
記憶装置１０６は、フラッシュメモリ等の半導体による記憶媒体、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶装置１０６は、端末装置１０の制御に用いられるプログラムおよび各種情報等を記憶する。通信装置１０７は、外部の機器と通信して、各種の情報の入力および出力等に用いられる。
【００７１】
本実施形態の端末装置１０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００７２】
また、本実施形態の端末装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の端末装置１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の端末装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００７３】
本実施形態の端末装置１０で実行されるプログラムは、上述した端末装置１０の各処理部（ＡＲマーカ検出部１３、操作用マーカ検出部１５、操作検出部１６、仮想物体制御部１７および描画部１８）を含むモジュール構成となっており、ＣＰＵ１０３（プロセッサ）が記憶媒体等からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、端末装置１０の各部（ＡＲマーカ検出部１３、操作用マーカ検出部１５、操作検出部１６、仮想物体制御部１７および描画部１８）が主記憶装置上に生成されるようになっている。なお、端末装置１０の一部または全部がハードウェアにより構成されていてもよい。
【００７４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能である。
【符号の説明】
【００７５】
１０  端末装置
１１  撮像部
１２  マーカ情報記憶部
１３  ＡＲマーカ検出部
１４  操作情報記憶部
１５  操作用マーカ検出部
１６  操作検出部
１７  仮想物体制御部
１８  描画部
１９  表示部
３０  マーカ
３１  ＡＲマーカ
３２  操作用マーカ
３３  外枠部
３４  ＩＤ記述領域
４０  仮想物体
１０１  カメラ
１０２  ディスプレイ
１０３  ＣＰＵ
１０４  ＲＯＭ
１０５  ＲＡＭ
１０６  記憶装置
１０７  通信装置
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２０１２−２１２３４３号公報
【特許文献２】特許４９７７７２５号公報
【図１】
2015153046.tif 000004
【図２】
2015153046.tif 000005
【図３】
2015153046.tif 000006
【図４】
2015153046.tif 000007
【図５】
2015153046.tif 000008
【図６】
2015153046.tif 000009
【図７】
2015153046.tif 000010
【図８】
2015153046.tif 000011
【図９】
2015153046.tif 000012
【図１０】
2015153046.tif 000013
【図１１】
2015153046.tif 000014
【図１２】
2015153046.tif 000015