(57)【要約】【課題】  外乱などのより、マーカの大きさや歪みを正しく認識することができない場合でも、適切な傾き関係で仮想オブジェクトを合成すること。【解決手段】  画像解析部１０３が撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識し、一方でセンサ部１０４は端末の姿勢を示すセンサ値を検出する。そして、平滑化処理部１０７は、マーカの撮影方向と、センサ値に基づいた撮影方向とに基づいて、センサ値に基づいた撮影方向に対して平滑化処理を行う。仮想オブジェクト位置決定部１０９は、平滑化処理部１０７により平滑化されたセンサ値に基づいた撮影方向を用いて仮想オブジェクトの傾きを補正し、傾きが補正された仮想オブジェクトをマーカの位置に合わせて撮影データに合成する。ディスプレイ部１０２は、仮想オブジェクトが合成された撮影データを表示する。【選択図】  図１
2012128578.tif 000002
【特許請求の範囲】
【請求項１】
撮影データを取り込む撮影手段と、
前記撮影手段により取り込まれた撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識する認識手段と、
端末の姿勢を示すセンサ値を検出するセンサ値検出手段と、
前記認識手段により検出された撮影方向と、前記センサ値検出手段のセンサ値に基づいた撮影方向とに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化手段と、
前記平滑化手段により平滑化されたセンサ値に基づいた撮影方向を用いてオブジェクトの傾きを補正する補正手段と、
前記補正手段により傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成手段と、
前記合成手段によりオブジェクトが合成された撮影データを表示する表示手段と、
を備える携帯端末。
【請求項２】
前記平滑化手段は、
前記認識手段により認識されたマーカの撮影方向、および前記センサ値検出手段のセンサ値に基づいた撮影方向のそれぞれの検出履歴における変遷状態に基づいて、平滑化処理を行う
ことを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記平滑化手段は、
前記センサ値検出手段により検出されたセンサ値の検出履歴における変遷状態が、前記認識手段により認識されたマーカの撮影方向の検出履歴における変遷状態と一致していない場合、平滑化処理を行うことを特徴とする請求項１から３のいずれか一項に記載の携帯端末。
【請求項４】
前記センサ値検出手段により検出されたセンサ値に基づいた撮影方向と、前記認識手段の解析結果に基づいた撮影方向との差分が大きいほど、大きくなる平滑化パラメータを用いて平滑化処理を行うことを特徴とする請求項１から３のいずれか一項に記載の携帯端末。
【請求項５】
撮影データを取り込む撮影手段と、
前記撮影手段により取り込まれた撮影データ中のマーカおよび前記マーカより大なる解析対象物を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識する認識手段と、
前記認識手段により認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化手段と、
前記平滑化手段により平滑化されたマーカに基づいた撮影方向を用いてオブジェクトの傾きを補正する補正手段と、
前記補正手段により傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成手段と、
前記合成手段によりオブジェクトが合成された撮影データを表示する表示手段と、
を備える携帯端末。
【請求項６】
撮影データを取り込む撮影ステップと、
前記撮影ステップにおいて取り込まれた撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識する認識ステップと、
端末の姿勢を示すセンサ値を検出するセンサ値検出ステップと、
前記認識ステップにおいて検出された撮影方向と、前記センサ値検出ステップにおいて検出されたセンサ値に基づいた撮影方向とに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化ステップと、
前記平滑化ステップにより平滑化されたセンサ値に基づいた撮影方向を用いてオブジェクトの傾きを補正する補正ステップと、
前記補正ステップにおいて傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成ステップと、
前記合成ステップにおいてオブジェクトが合成された撮影データを表示する表示ステップと、
を備える画像処理方法。
【請求項７】
撮影データを取り込む撮影ステップと、
前記撮影ステップにおいて取り込まれた撮影データ中のマーカおよび前記マーカより大なる解析対象物を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識する認識ステップと、
前記認識ステップにおいて認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化ステップと、
前記平滑化ステップにおいて平滑化されたマーカに基づいた撮影方向を用いてオブジェクトの傾きを補正する補正ステップと、
前記補正ステップにおいて傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成ステップと、
前記合成ステップにおいてオブジェクトが合成された撮影データを表示する表示ステップと、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した撮影データに仮想オブジェクト等の画像データを合成して表示する携帯端末および画像処理方法に関する。
【背景技術】
【０００２】
近年において、ＡＲ（Augmented Reality：拡張現実）技術を用いたサービスが開発・提供されている。例えば、カメラにより取得した画像中のマーカなどの対象物に対応付けられた付加情報を取得し、取得した付加情報を当該対象物に合成して表示する技術が知られている。この技術では、いわゆる仮想オブジェクトと称される付加情報は、各ユーザの移動端末において、マーカなどの対象物と対応付けて記憶されている。このような技術に共通する技術として、手のひら（肌色部分）を検出して、その部分にキャラクタなどの画像データを合成する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６２９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マーカが平面的に構成されている場合、その撮影方向によっては、ゆがんで見えたり、傾いて見えたりするものである。そうした場合、携帯端末は、マーカをある傾き方をもって撮影したものと判断することができ、仮想オブジェクトもその傾きにあわせて傾きをもたせるよう加工処理し、加工された仮想オブジェクトをマーカの位置にあわせて合成する。
【０００５】
例えば、図１３においてマーカの例を示す。図１３（ａ）では、マーカが外光を受けた場合の例を示しており、黒枠にＤと記されたマーカの一部が外光により欠けた状態が示されている。この場合、マーカは斜め方向から撮影されたものと判断される場合がある。
【０００６】
また、図１３（ｂ）では、マーカが紙などの柔らかい部材で形成された場合において、風などによりマーカの一部がめくれてしまった場合の例を示している。この例でも、マーカの一部が欠けたものとなる。この場合も同様にマーカは斜め方向から撮影されたものと判断される場合がある。
【０００７】
また、図１３（ｃ）では、マーカは手振れにより左右にずれた場合の例を示す。この場合もやはりマーカが歪んでみえ、またはそのサイズを誤認する場合があり、その歪みやサイズ誤認の度合いによっては、斜め方向から撮影されたものと判断されたり、近くから（または遠くから）撮影されたものである場合がある。
【０００８】
このようにマーカが斜めから撮影されたと判断されると、図１４に示されるとおり、仮想オブジェクトは、そのマーカの傾きに応じて加工されて、合成処理される。図１４（ａ）では、マーカと仮想オブジェクトが正しい傾き関係で合成された例を示す。図１４（ｂ）では、例えば外光によりマーカの一部が欠けてしまった場合、仮想オブジェクトの傾きがずれて合成処理される例を示す。
【０００９】
このようにして、手振れや、外乱（外光や、画像解析対処物の振動など）の影響を受けた結果、マーカの大きさや歪みを正しく認識することができない、という問題が生じる。その結果、正しく仮想オブジェクトを、マーカにあわせて合成することができないという問題がある。
【００１０】
そこで、本発明においては、上述の課題を解決するために、外乱などのより、マーカの大きさや歪みを正しく認識することができない場合でも、適切な傾き関係で仮想オブジェクトを合成することができる携帯端末および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明の携帯端末は、撮影データを取り込む撮影手段と、前記撮影手段により取り込まれた撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識する認識手段と、端末の姿勢を示すセンサ値を検出するセンサ値検出手段と、前記認識手段により検出された撮影方向と、前記センサ値検出手段のセンサ値に基づいた撮影方向とに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化手段と、前記平滑化手段により平滑化されたセンサ値に基づいた撮影方向を用いてオブジェクトの傾きを補正する補正手段と、前記補正手段により傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成手段と、前記合成手段によりオブジェクトが合成された撮影データを表示する表示手段と、を備えている。
【００１２】
また、本発明の画像処理方法は、撮影データを取り込む撮影ステップと、前記撮影ステップにおいて取り込まれた撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識する認識ステップと、端末の姿勢を示すセンサ値を検出するセンサ値検出ステップと、前記認識ステップにおいて検出された撮影方向と、前記センサ値検出ステップにおいて検出されたセンサ値に基づいた撮影方向とに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化ステップと、前記平滑化ステップにより平滑化されたセンサ値に基づいた撮影方向を用いてオブジェクトの傾きを補正する補正ステップと、前記補正ステップにおいて傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成ステップと、前記合成ステップにおいてオブジェクトが合成された撮影データを表示する表示ステップと、を備えている。
【００１３】
この発明によれば、撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識し、一方で端末の姿勢を示すセンサ値を検出し、認識されたマーカの撮影方向と、センサ値に基づいた撮影方向とに基づいて、センサ値に基づいた撮影方向に対して平滑化処理を行う。そして、平滑化されたセンサ値に基づいた撮影方向を用いてオブジェクトの傾きを補正し、傾きが補正されたオブジェクトをマーカの位置に合わせて撮影データに合成し、オブジェクトが合成された撮影データを表示する。これにより、外光などによりマーカの傾きを正しく認識することができない場合でも、マーカの傾きに応じて合成対象となるオブジェクトの傾きを決定して、合成することができる。
【００１４】
また、本発明の携帯端末において、前記平滑化手段は、前記認識手段により認識されたマーカの撮影方向、および前記センサ値検出手段のセンサ値に基づいた撮影方向のそれぞれの検出履歴における変遷状態に基づいて、平滑化処理を行うことが好ましい。
【００１５】
この発明によれば、マーカの撮影方向、およびセンサ値に基づいた撮影方向のそれぞれの検出履歴における変遷状態に基づいて平滑化処理を行うことで、精度よく平滑化処理を行うことができる。
【００１６】
また、本発明の携帯端末において、前記平滑化手段は、前記センサ値検出手段により検出されたセンサ値の検出履歴における変遷状態が、前記認識手段により認識されたマーカの撮影方向の検出履歴における変遷状態と一致していない場合、平滑化処理を行うことが好ましい。
【００１７】
この発明によれば、センサ値の検出履歴における変遷状態が、マーカ認識に基づいた撮影方向の検出履歴における変遷状態と一致していない場合、平滑化処理を行う。これにより、マーカ認識に誤認識があったと判断することができ、平滑化処理により、その誤差を小さいものとし、オブジェクトの傾き補正に反映させることができる。
【００１８】
また、本発明の携帯端末において、前記センサ値検出手段により検出されたセンサ値に基づいた撮影方向と、前記認識手段の解析結果に基づいた撮影方向との差分が大きいほど、大きくなる平滑化パラメータを用いて平滑化処理を行うことが好ましい。
【００１９】
この発明によれば、検出されたセンサ値に基づいた撮影方向と、解析結果に基づいた撮影方向との差分が大きいほど、大きくなる平滑化パラメータを用いて平滑化処理を行うことで、適切な平滑化処理を行うことができ、マーカの認識誤差による傾き誤差をより適切に修正することができる。
【００２０】
また、本発明の携帯端末は、撮影データを取り込む撮影手段と、前記撮影手段により取り込まれた撮影データ中のマーカおよび前記マーカより大なる解析対象物を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識する認識手段と、前記認識手段により認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化手段と、前記平滑化手段により平滑化されたマーカに基づいた撮影方向を用いてオブジェクトの傾きを補正する補正手段と、前記補正手段により傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成手段と、前記合成手段によりオブジェクトが合成された撮影データを表示する表示手段と、を備えている。
【００２１】
また、本発明の画像処理方法は、撮影データを取り込む撮影ステップと、前記撮影ステップにおいて取り込まれた撮影データ中のマーカおよび前記マーカより大なる解析対象物を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識する認識ステップと、前記認識ステップにおいて認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、前記マーカの撮影方向に対して平滑化処理を行う平滑化ステップと、前記平滑化ステップにおいて平滑化されたマーカに基づいた撮影方向を用いてオブジェクトの傾きを補正する補正ステップと、前記補正ステップにおいて傾きが補正されたオブジェクトを前記マーカの位置に合わせて撮影データに合成する合成ステップと、前記合成ステップにおいてオブジェクトが合成された撮影データを表示する表示ステップと、を備えている。
【００２２】
この発明によれば、撮影データ中のマーカおよびマーカより大なる解析対象物を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識し、認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、前記マーカの撮影方向に対して平滑化処理を行い、平滑化されたマーカに基づいた撮影方向を用いてオブジェクトの傾きを補正する。そして、傾きが補正されたオブジェクトをマーカの位置に合わせて撮影データに合成して、オブジェクトが合成された撮影データを表示することができる。
【００２３】
これにより、外光などによりマーカの傾きを正しく認識することができない場合でも、マーカの傾きに応じて合成対象となるオブジェクトの傾きを決定して、合成することができる。さらに、センサなどデバイスを備える必要が無く、その構成を簡易なものとすることができる。
【発明の効果】
【００２４】
本発明によれば、外光などによりマーカの傾きを正しく認識することができない場合でも、マーカの傾きに応じて合成対象となるオブジェクトの傾きを決定して、合成することができる。
【図面の簡単な説明】
【００２５】
【図１】本実施形態の携帯端末１００の機能を示すブロック図である。
【図２】携帯端末１００のハードウェア構成図である。
【図３】誤認識する場合のパターンを示す説明図である。
【図４】、画像解析部１０３により解析されたマーカの解析結果を示すグラフである。
【図５】センサ部１０４により検出された撮影方向の所定時間単位における変遷を示すグラフである。
【図６】比較部１０５における比較処理の具体例を示す説明図である。
【図７】比較部１０５の処理を示すフローチャートである。
【図８】平滑化パラメータＤＢ部１０６のデータベースを示す図である。
【図９】仮想オブジェクトを記憶する管理テーブルを示す図である。
【図１０】マーカの認識結果に応じた仮想オブジェクトの傾きで合成された様子を模式的に示した説明図である。
【図１１】携帯端末１００の処理を示すフローチャートである。
【図１２】変形例における撮影データを示した説明図である。
【図１３】マーカの認識事例を示す説明図である。
【図１４】マーカと仮想オブジェクトとの合成処理を模式的に表した模式図である。
【発明を実施するための形態】
【００２６】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００２７】
図１は、本実施形態の携帯端末１００の機能を示すブロック図である。図１に示すとおり、携帯端末１００は、撮影部１０１（撮影手段）、ディスプレイ部１０２（表示手段）、画像解析部１０３（認識手段）、センサ部１０４（センサ値検出手段）、比較部１０５、平滑化パラメータＤＢ部１０６、平滑化処理部１０７（平滑化手段）、仮想オブジェクト格納部１０８、および仮想オブジェクト位置決定部１０９（補正手段、合成手段）を含んで構成されている。この携帯端末１００は、図２に示すハードウェアにより構成されている。
【００２８】
図２は、携帯端末１００のハードウェア構成図である。図１に示される携帯端末１００は、物理的には、図２に示すように、ＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、ハードディスク等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図１において説明した各機能は、図２に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図２に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００２９】
撮影部１０１は、カメラなどにより撮影された撮影データを取り込む部分である。
【００３０】
ディスプレイ部１０２は、撮影部１０１により取り込まれた撮影データを表示する部分である。
【００３１】
画像解析部１０３は、撮影部１０１により取り込まれた撮影データを画像解析する部分である。具体的には、画像解析部１０３は、撮影データの中にマーカの有無を認識し、認識したマーカの大きさ、歪みの量を解析する。この解析対象となるマーカの大きさや、マーカの外観（正面から見た場合の概観）などを示した情報は、予め記憶部（図示せず）に記憶されている。これら情報を利用することにより、画像解析部１０３は、マーカまでの距離や、マーカの歪みの度合いなどを把握することができ、どの方向からマーカは撮影されたのか把握することができる。この画像解析の方法は、一般的な技術的手法を用いたものである。そして、後述する仮想オブジェクト位置決定部１０９は、マーカの撮影方向および撮影距離に基づいて、仮想オブジェクトのサイズ・傾き（姿勢）を決定することができる。
【００３２】
さらに、画像解析部１０３は、マーカを正しく認識することができない場合がある。例えば、外光や、手ぶれなどによりマーカの歪み・大きさを誤認識する場合がある。図３に、誤認識する場合のパターンを示す。図３に示されるように、外光などによりマーカの一部が白くなる（いわゆる白ボケ）状態がある。例えば、図３（ａ）に示されるように、マーカの左上の一部が白くなっている場合には、画像解析部１０３は、マーカを斜め右１５度ぐらいの方向からみていると誤認識してしまう場合がある。すなわち、図３（ｂ）で示されるようにマーカを誤認識してしまう。
【００３３】
また、図３（ｂ）に示されるように、マーカの左側の大部分が白くなってしまっている場合には、画像解析部１０３は、マーカを斜め左２０度ぐらいの方向からみていると誤認識してしまう場合がある。すなわち、図３（ｄ）で示されるようにマーカを誤認識してしまう。
【００３４】
これを防止するために、画像解析部１０３では、平滑化処理のための情報として、図４に示されるように、解析結果の情報を所定時間単位に記憶しておく。図４は、画像解析部１０３により解析されたマーカの解析結果（撮影方向）を示すグラフである。図４に示される例では、携帯端末１００がマーカを正面の上方４５度の角度で撮影した場合の解析結果である。図４に示されるように、撮影データにおけるマーカを画像解析することにより、おおむね４５度の角度から撮影されたことが分かるため、撮影方向として４５度と認識することができる。そして、この撮影方向を所定時間単位で記憶する。図４では、手ぶれなどが原因で、４５度を中心に上下にぶれている様子を示している。ここで記憶される撮影方向は、後述する比較部１０５において、平滑化処理の要否を判断するための情報として利用される。なお、図４では、解析結果として撮影方向として撮影角度を用いているが、これに限るものではなく、撮影方位またはマーカまでに距離などを用いてもよいし、またこれらを組み合わせたものとしてもよい。これにより、精度のよい解析結果とすることができる。
【００３５】
センサ部１０４は、角度センサ、ジャイロセンサ、加速度センサ、地磁気センサ、および位置センサ（ＧＰＳモジュール）などから構成される部分であり、撮影部１０１のマーカに対する撮影方向を把握するための情報として、センサ値を所定時間ごとに取得して、そのセンサ値に基づいて撮影方向を算出して、この撮影方向を時系列で記憶する部分である。図５は、センサ部１０４により検出された撮影方向の所定時間単位における変遷を示すグラフである。このようにして、所定時間ごとにセンサ値は順次取得され、記憶されることになる。ここで記憶された撮影方向は、後述する比較部１０５において、平滑化処理の要否を判断するための情報として利用される。なお、センサ部１０４は、撮影方向として、撮影角度のほかに、撮影方位を検出し、時系列で記憶するようにしてもよい。
【００３６】
比較部１０５は、画像解析部１０３において取得され、記憶された解析結果（撮影方向）と、センサ部１０４において取得され記憶されたセンサ値に基づいて算出された撮影方向とを比較する部分である。この比較部１０５において、同一時間帯における、画像解析部１０３の解析結果とセンサ部１０４のセンサ値との比較を行い、両者が一致している場合には、画像解析結果は正しいと判断し、一致していない場合には、画像解析結果は誤っていると判断する。
【００３７】
図６は、比較部１０５における比較処理の具体例を示す説明図である。図６（ａ）は、画像解析部１０３の解析結果のグラフを示し、図６（ｂ）は、センサ部１０４のセンサ値のグラフを示す。図６（ａ）における符号Ｘ１で示す部分と、図６（ｂ）における符号Ｘ２で示す部分とは、ほぼ一致していると、比較部１０５においては判断することができる。よって、この部分（時間帯）については、解析結果は正しいと判断することができる。また、図６（ａ）における符号Ｙ１で示す部分と、図６（ｂ）における符号Ｙ２で示す部分とは、一致していない。よって、この部分（時間帯）については、解析結果は正しくないと判断することができる。なお、本実施形態では、ある程度幅を持った時間帯における複数の撮影方向を利用したが、ある時間における一の撮影方向を利用してもよい。
【００３８】
この比較部１０５の処理の詳細についてさらに説明する。図７は、比較部１０５の処理を示すフローチャートである。まず、比較部１０５により、画像解析部１０３の解析結果が取得される（Ｓ１０１）。そして、画像解析部１０３の解析結果において、前回の結果から変化の有無が判断される（Ｓ１０２）。すなわち直近に取得された解析結果に基づいた撮影方向と、現に取得した解析結果に基づいた撮影方向とに変化があったか判断される。なお、ある時間における一の撮影方向を比較してもよいし、ある時間帯における複数の撮影方向を比較してもよい。
【００３９】
そして、ここで変化があると判断されると、同一時間帯（または同一時間）における、センサ部１０４のセンサ値に基づいた撮影方向と、画像解析部１０３の解析結果に基づいた撮影方向とが比較される（Ｓ１０３）。ここで、撮影方向が一致すると判断されると、比較結果パターン（１）と判断される（Ｓ１０５）。また、撮影方向が不一致であると判断されると、比較結果パターン（２）と判断される（Ｓ１０６）。
【００４０】
また、Ｓ１０２において、撮影方向に変化がないと判断されると、同一時間における、センサ部１０４のセンサ値に基づいた撮影方向と、画像解析部１０３の解析結果に基づいた撮影方向とが比較される（Ｓ１０４）。ここで撮影方向が一致すると判断されると、比較結果パターン（３）と判断される（Ｓ１０７）。また、撮影方向が不一致であると判断されると、比較結果パターン（４）と判断される（Ｓ１０８）。
【００４１】
このようにして、比較部１０５は、比較結果パターンを得ることができ、平滑化処理部１０７は、比較結果パターンに基づいて予め定められた平滑化パラメータを用いて、平滑化処理を行う。
【００４２】
平滑化パラメータＤＢ部１０６は、比較結果パターンごとに対応づけられた平滑化パラメータを記憶する部分であり、例えば、図８に示されるデータベースを記憶する。図８は、平滑化パラメータＤＢ部１０６のデータベースを示す図である。
【００４３】
図８に示されるように、比較結果パターンごとに、重み付け係数Ａ（ｔ）および遡り値Ｎが記憶されている。重み付け係数Ａ（ｔ）および遡り地Ｎについては、後述する。なお、パターン（４）においては、以下の理由により平滑化処理しないことが好ましい。すなわち、パターン（４）となるケースとして、以下の場合がある。まず、一つ目のケースは、携帯端末１００をマーカに対して固定して保持する。その結果、画像解析により算出された値（撮影方向）には変化はないが、センサ部が外乱による影響によって誤差が発生する場合があり得る。よって、画像解析による算出結果に変化はないが、センサ部１０４により得られた結果が不一致となる。
【００４４】
また、二つ目のケースとして、携帯端末１００をマーカに対して動かす。本来、画像解析結果によって得られる値は変化することになるが、そのマーカの動きと同時に照明などの影響を受ける場合がある。その場合、結果的に、画像解析によって得られる値の変化がない、場合があり得る。一方、携帯端末１００は動かしているのでセンサの値は変化する。よって、画像解析による算出結果に変化はないが、センサ部１０４により得られた結果が不一致となる。
【００４５】
これらケース考えると、照明などの外乱などによって、画像解析結果に変化がない場合は著しく無いと判断できる。よって、携帯端末１００にマーカを固定するケースしか、現実的にはあり得ず、センサ部１０４が誤差を起していると判断することができる。よって、平滑化処理不要という結論になる。
【００４６】
また、センサ部１０４のセンサ値に基づいた撮影方向と、画像解析部１０３の解析結果に基づいた撮影方向との差分に応じて平滑化のパラメータの大きさを変えるようにしてもよい。すなわち、その差分が大きいほど、画像解析結果により算出された撮影方向の信頼性は低い（誤差が大きい）と判断できる。よって、その誤差を小さくするため、重み係数Ａ（ｔ）および遡り値Ｎを大きく設定することにより、過去に得た撮影方向の影響を大きくする。
【００４７】
平滑化処理部１０７は、比較部１０５において比較された結果に基づいて定められた平滑化パラメータ（重み係数Ａ（ｔ）および遡り値Ｎ）を用いて、画像解析部１０３の解析結果に基づいた撮影方向に対して平滑化処理を行う部分である。具体的には、以下の式（１）の演算処理を行う。
【数１】
2012128578.tif 000003
ここでは、ある時間tの撮影方向をf(t)とし、ある時間tの平滑化した撮影方向をF(t)とする。また、どこまで遡ってセンサ値を利用するかを示す値をnとする。例えば、ある時間tに、前回の撮影方向を利用する場合はn=1となる。遡った撮影方向に対する重み付け係数をa(n)とする。ｉは、ｔを基準にして、遡った過去の撮影方向を示す。そして、F(t)の値から仮想オブジェクトをディスプレイ部１０２に表示するための傾き（姿勢）をX(t)とする。
【００４８】
図８における平滑化パラメータＤＢ部１０６では、パターン（２）には、重み係数Ａ（ｔ）として０．２、遡り値Ｎとして１が設定されている。そして、これを上式（１）に当てはめると、
F(t)=f(t)+a(t-1)*f(t-1) =f(t)+0.2*f(t-1)
となる。
【００４９】
仮想オブジェクト格納部１０８は、仮想オブジェクトを記憶する部分である。図９に仮想オブジェクトを記憶する管理テーブルを示す。この管理テーブルでは、仮想オブジェクトのイメージデータのファイル名と、目印となるマーカの情報を対応付けて記憶している。この管理テーブルに基づいて、どのマーカの近傍に仮想オブジェクトを合成させるかを、仮想オブジェクト位置決定部１０９は判断することができる。
【００５０】
仮想オブジェクト位置決定部１０９は、撮影データ中に含まれているマーカに対応する仮想オブジェクトを仮想オブジェクト格納部１０８から読み出し、当該マーカの近傍の位置、若しくはマーカに基づいて予め定められた位置を決定して、当該位置に仮想オブジェクトを配置するように、仮想オブジェクトと撮影データとを合成する部分である。この合成処理に際して、マーカの撮影方向に応じて、仮想オブジェクトの傾き（姿勢）を補正する。その具体例について、マーカの認識結果に応じた仮想オブジェクトの傾きで合成された様子を模式的に示した図１０を用いて説明する。図１０（ａ）は、マーカのほぼ正面の斜め４５度の上方から撮影した場合の、仮想オブジェクトの傾きを示す。このように、画像解析部１０３において解析された解析結果（角度情報）にあわせて仮想オブジェクトの傾きをほぼ正面の斜め４５度の上方から見たとおりの仮想オブジェクトを表すことができる。
【００５１】
同様に、図１０（ｂ）は、マーカのほぼ正面の斜め２０度の上方から撮影した場合の、仮想オブジェクトの傾きを示す。この場合も同様に、マーカの傾きにあわせて、仮想オブジェクトの傾きを補正することができる。
【００５２】
図１０（ｃ）においては、マーカの斜め左方向で、かつ斜め４５度の上方から撮影した場合の、仮想オブジェクトの傾きを示す。この場合も同様に、マーカの傾きにあわせて、仮想オブジェクトの傾きを補正することができる。
【００５３】
さらに、仮想オブジェクト位置決定部１０９は、平滑化処理部１０７により平滑化処理された認識結果に基づいて、すなわちマーカの歪み度合いに応じて、仮想オブジェクトの傾き（姿勢）を補正し、その補正した状態の仮想オブジェクトを撮影データに合成する。
【００５４】
このように補正された仮想オブジェクトが撮影データに合成されてディスプレイ部１０２に表示される。
【００５５】
このように構成された携帯端末１００は、撮影データ中に含まれているマーカに基づいて仮想オブジェクトの傾き等を補正して、撮影データに合成して表示することができる。
【００５６】
つぎに、上述のとおり構成された携帯端末１００の処理について説明する。図１１は、携帯端末１００の処理を示すフローチャートである。
【００５７】
まず、撮影部１０１が起動され、撮影データが取り込まれる（Ｓ２０１）。そして、撮影データに含まれているマーカが、画像解析部１０３により解析されて、マーカの大きさ・歪みなどの解析結果に基づいて撮影方向が計算される（Ｓ２０２）。また、センサ部１０４により、センサ値が取得される（Ｓ２０３）。
【００５８】
そして、画像解析部１０３の解析結果と、センサ部１０４のセンサ値とが、比較部１０５により比較される（Ｓ２０５）。この比較の結果、パターン（２）であると判断されると（Ｓ２０５：パターン（２））、平滑化パラメータＤＢ部１０６から、平滑化パラメータである重み係数Ａ（ｔ）および遡り値Ｎが読み出される（Ｓ２０６）。
【００５９】
そして、平滑化処理部１０７により、重み係数Ａ（ｔ）および遡り値Ｎを用いて、画像解析部１０３から得られた解析結果に対する平滑化処理が行われる（Ｓ２０７）。平滑化処理された解析結果に基づいて、仮想オブジェクト位置決定部１０９により、仮想オブジェクトの傾き（姿勢）が補正され、対応するマーカの近傍に仮想オブジェクトが配置されるように、撮影データに対する合成処理が行われる。そして、ディスプレイ部１０２に、適正な姿勢の仮想オブジェクトが合成された撮影データが表示される（Ｓ２０８）。
【００６０】
なお、パターンによって、仮想オブジェクトの合成位置を構成するタイミングを変えるようにすると、消費電力を低減させる上では、好適である。
【００６１】
例えば、比較結果のパターンとして、パターン（３）及びパターン（４）であると判断される場合には、画像解析部１０３の解析結果において、前回の結果から変化がないため、ディスプレイ部１０２に合成される仮想オブジェクトの合成位置の変化は小さい。このため、パターン（３）及びパターン（４）と判断される場合には、ディスプレイ部１０２に仮想オブジェクトの合成位置を更新する時間間隔は長くしてもよい。
【００６２】
すなわち、所定の基準値Ｔ１を定めておき、Ｓ２０５において比較結果のパターンとしてパターン（３）または（４）であると判断されると、比較部１０５は、Ｓ２０８に移行する前に前回更新した時間から所定の基準値Ｔ１で定める時間が経過したかを判断し、経過した場合には、Ｓ２０８における合成処理が行われる。経過していない場合には、合成処理は行われない。
【００６３】
一方、比較結果のパターンとして、パターン（１）及びパターン（２）と判断される場合は、画像解析部１０３の解析結果において、前回の結果から変化があるため、ディスプレイ部１０２に合成される仮想オブジェクトの合成位置の変化は大きい。このため、パターン（１）またはパターン（２）と判断される場合には、ディスプレイ部１０２に仮想オブジェクトの合成位置を更新する時間間隔は短くしてもよい。例えば、所定の基準値Ｔ２（＜Ｔ１）を定めておき、Ｓ２０５において比較結果のパターンとしてパターン（１）であると判断されると、Ｓ２０８に移行する前に前回更新した時間から所定の基準値Ｔ２で定める時間が経過したかを判断し、経過した場合には、Ｓ２０８における合成処理を行う。経過していない場合には、合成処理は行わない。
【００６４】
同様に、Ｓ２０５において、比較結果のパターンとしてパターン（２）であると判断されると、Ｓ２０６の処理の前に、比較部１０５は、前回更新した時間から所定の基準値Ｔ２で定める時間が経過したかを判断し、経過した場合には、Ｓ２０６における抽出処理、その後のＳ２０７における平滑化処理が行われる。経過していない場合には、これら抽出処理、平滑化処理は行われない。
【００６５】
このように、仮想オブジェクトの合成位置を更新する時間間隔を変化させることにより、消費電力を低減させることも可能となる。なお、合成位置の更新する時間は、仮想オブジェクト位置決定部１０９において記憶されてもよいし、比較部１０５において、比較処理をした時間として記憶されてもよい。
【００６６】
このようにして、平滑化処理されることにより、マーカに対する認識誤りがあったとしても、適正な傾きをもった仮想オブジェクトを撮影データに合成処理することができる。
【００６７】
つぎに、本実施形態の携帯端末１００の変形例について図１２を用いて説明する。上述本実施形態の携帯端末１００では、マーカの傾きに応じて、仮想オブジェクトの傾きを補正する際に、センサ部１０４のセンサ値を利用した。しかしながら、センサ部１０４のセンサ値を利用することに限定するものではない。図１２は、マーカよりはるかに大きい机などの対象物を認識した場合の撮影データの様子を示した説明図である。図１２に示されるとおり、机などの解析対象物を認識するともにその傾きを算出し、算出された解析対象物の傾きを用いて、仮想オブジェクトの傾きを補正する。この対象物である机に対する傾きなどは、予め机を登録しておいてもよいし、机全体や、机のエッジ部分を認識することにより、机に対する撮影方向を認識することができる。これは対象物を認識するための画像処理の一般的な手法を用いればよい。
【００６８】
そして、この対象物に対する撮影方向と、マーカに対する撮影方向とを比較することにより、マーカに対する解析結果の正誤を判断し、その判断によって、平滑化処理の要否を判断することができる。これにより、センサ部１０４を不要とし、簡易な構成となる。
【００６９】
つぎに、本実施形態の携帯端末１００の作用効果について説明する。本実施形態の携帯端末１００において、画像解析部１０３が撮影データ中のマーカを解析し、当該マーカに対する撮影方向を認識し、一方でセンサ部１０４は端末の姿勢を示すセンサ値を検出する。そして、平滑化処理部１０７は、画像解析部１０３において認識されたマーカの撮影方向と、センサ部１０４において検出されたセンサ値に基づいた撮影方向とに基づいて、センサ値に基づいた撮影方向に対して平滑化処理を行う。仮想オブジェクト位置決定部１０９は、仮想オブジェクト格納部１０８から仮想オブジェクトを読み出し、平滑化処理部１０７により平滑化されたセンサ値に基づいた撮影方向を用いて仮想オブジェクトの傾きを補正し、傾きが補正された仮想オブジェクトをマーカの位置に合わせて撮影データに合成する。ディスプレイ部１０２は、仮想オブジェクトが合成された撮影データを表示する。これにより、外光などによりマーカの傾きを正しく認識することができない場合でも、マーカの傾きに応じて合成対象となる仮想オブジェクトの傾きを決定して、合成することができる。なお、ここでは撮影方向を例に説明したが、これに限るものではなく、撮影方向やマーカまでの撮影距離などを組み合わせたものとしてもよい。
【００７０】
また、本実施形態の携帯端末１００において、画像解析部１０３は、認識したマーカの撮影方向を時系列で記憶しておき、センサ部１０４は、検出したセンサ値に基づいて算出された撮影方向を時系列で記憶しておく。そして、平滑化処理部１０７は、マーカの撮影方向、およびセンサ値に基づいた撮影方向のそれぞれの検出履歴における変遷状態に基づいて平滑化処理を行うことで、精度よく平滑化処理を行うことができる。
【００７１】
また、この携帯端末１００において、画像解析部１０３により認識されたマーカの撮影方向と、センサ値に基づいた撮影方向との差分が大きいほど、大きい平滑化パラメータ（例えば、重み係数Ａ（ｔ）および遡り値Ｎ）を用いて、平滑化処理部１０７は、平滑化処理を行うことができる。よって、仮想オブジェクトの傾きをマーカの現実の傾きにあったものとすることができる。
【００７２】
また、この携帯端末１００において、平滑化処理部１０７は、センサ部１０４により検出されたセンサ値の検出履歴における変遷状態の変化量に応じて、大きくなる平滑化パラメータを用いて平滑化処理を行うことで、適切な平滑化処理を行うことができ、マーカの認識誤差による傾き誤差をより適切に修正することができる。
【００７３】
また、変形例における携帯端末１００において、画像解析部１０３は、撮影データ中のマーカおよびマーカより大なる解析対象物（例えば、机など）を解析し、当該マーカおよび当該解析対象物のそれぞれに対する撮影方向を認識する。そして、平滑化処理部１０７は、画像解析部１０３により認識されたマーカおよび解析対象物の撮影方向のそれぞれに基づいて、マーカの撮影方向に対して平滑化処理を行う。仮想オブジェクト位置決定部１０９は、仮想オブジェクトを仮想オブジェクト格納部１０８から読み出し、平滑化されたマーカの撮影方向を用いて仮想オブジェクトの傾きを補正する。そして、傾きが補正された仮想オブジェクトをマーカの位置に合わせて撮影データに合成して、仮想オブジェクトが合成された撮影データを表示することができる。
【００７４】
これにより、外光などによりマーカの傾きを正しく認識することができない場合でも、マーカの傾きに応じて合成対象となる仮想オブジェクトの傾きを決定して、合成することができる。さらに、センサなどデバイスを備える必要が無く、その構成を簡易なものとすることができる。
【符号の説明】
【００７５】
１００…携帯端末、１０１…撮影部、１０２…ディスプレイ部、１０３…画像解析部、１０４…センサ部、１０５…比較部、１０６…平滑化パラメータＤＢ部、１０７…平滑化処理部、１０８…仮想オブジェクト格納部、１０９…仮想オブジェクト位置決定部。
【図１】
2012128578.tif 000004
【図２】
2012128578.tif 000005
【図３】
2012128578.tif 000006
【図４】
2012128578.tif 000007
【図５】
2012128578.tif 000008
【図６】
2012128578.tif 000009
【図７】
2012128578.tif 000010
【図８】
2012128578.tif 000011
【図９】
2012128578.tif 000012
【図１０】
2012128578.tif 000013
【図１１】
2012128578.tif 000014
【図１２】
2012128578.tif 000015
【図１３】
2012128578.tif 000016
【図１４】
2012128578.tif 000017