(57)【要約】【課題】実空間の画像信号に所望の空間位置、角度などで仮想物体の画像を合成することができ、かつ仮想物体の空間位置、姿勢などを容易に設定できる画像合成装置及びその合成方法を実現する。【解決手段】中心線を境界線とした第１の色領域と第２の色領域の二つの半円部分をもつ円形のマーカを用いて、当該マーカを含む実空間の画像を取得して、マーカ領域を検出し、当該検出したマーカ領域を解析することによって、マーカの位置、大きさ、マーカに対する撮像装置の仰角、及びマーカの方位回転角、ローリング回転角をそれぞれ演算し、当該演算結果及び仮想物体の形状データに基づき、上記マーカによって指示した空間位置、寸法及び角度で上記仮想物体を上記実空間に仮想的に配置した合成画像を計算する。これによって、実空間に所望の位置、大きさ及び角度を以て仮想物体の画像を立体的に合成できる。【選択図】    図１
2004287699.tif 000002
【特許請求の範囲】
【請求項１】
実空間の画像に仮想物体の画像を合成する画像合成装置であって、
上記仮想物体の画像が上記実空間に仮想的に配置する位置と角度とを示し、中心線を境界線とした第１の色領域と第２の色領域の二つの半円部分をもつ円形マーカと、
上記マーカを含む上記実空間の画像を取得する画像取得手段と、
上記画像取得手段によって取得した画像から上記マーカ領域を検出し、当該マーカ領域に基づいて上記仮想物体を上記実空間に配置するときの位置と角度とを演算する演算手段と、
上記演算手段の演算結果及び上記仮想物体の形状データに応じて、上記仮想物体を上記マーカによって示された位置と角度で仮想的に上記実空間に配置した画像を合成する画像合成手段と
を有する画像合成装置。
【請求項２】
上記演算手段は、上記画像取得手段によって取得した画像の水平方向及び垂直方向において上記マーカ領域との接線の座標に基づき、上記マーカの中心座標を計算する
請求項１記載の画像合成装置。
【請求項３】
上記演算手段は、上記マーカの中心座標から上記マーカ領域の外周との距離を計算し、上記距離の最大値及び最小値に応じて、上記マーカ領域の長軸と短軸を計算する
請求項２記載の画像合成装置。
【請求項４】
上記演算手段は、上記計算された上記マーカ領域の長軸と短軸の長さに基づき、上記マーカに対して上記画像を撮像する撮像装置の仰角を計算する
請求項３記載の画像合成装置。
【請求項５】
上記演算手段は、上記マーカ領域の長軸の方向と上記取得した画像の水平方向とをなす角度に基づき、上記マーカのローリング回転角度を計算する
請求項３記載の画像合成装置。
【請求項６】
上記演算手段は、上記マーカの境界線と上記マーカ領域の外周との交点から上記マーカ領域の長軸に対して直交する線の長さと、上記マーカ領域の短軸の長さとに基づき、上記マーカの方位回転角度を計算する
請求項３記載の画像合成装置。
【請求項７】
上記演算手段は、上記マーカ領域における上記第１と第２の色領域の位置に基づき、上記計算したマーカの方位回転角度に対して補正を行う
請求項６記載の画像合成装置。
【請求項８】
上記演算手段は、上記マーカの直径と上記取得した画像における上記マーカ領域の長軸との比率に基づき、上記仮想物体の合成画像の寸法を計算する
請求項３記載の画像合成装置。
【請求項９】
上記画像取得手段は、上記マーカを含む上記実空間を撮像する撮像装置からなる
請求項１記載の画像合成装置。
【請求項１０】
上記画像取得手段は、上記マーカを含む上記実空間を撮像した画像を記録する記録媒体から上記画像を読み出す画像再生装置からなる
請求項１記載の画像合成装置。
【請求項１１】
上記仮想物体の形状データを記憶する形状データ記憶部を有し、上記画像合成手段は、上記データ記憶部から上記仮想物体の形状データを取得する
請求項１記載の画像合成装置。
【請求項１２】
上記画像合成手段は、データ通信ネットワークを介して上記仮想物体の形状データを提供するサーバから上記仮想物体の形状データを取得する
請求項１記載の画像合成装置。
【請求項１３】
中心線を境界線とした第１の色領域と第２の色領域の二つの半円部分をもつ円形のマーカを用いて、当該マーカによって示した位置と角度で実空間に仮想物体を配置した画像を合成する画像合成方法であって、
上記マーカを含む上記実空間の画像を取得する処理と、
上記取得した画像から上記マーカ領域を検出し、当該マーカ領域に基づいて上記仮想物体を上記実空間に配置するときの位置と角度を計算する処理と、
上記計算した上記マーカの位置、角度及び上記仮想物体の形状データに応じて、上記仮想物体を上記マーカによって示された位置と角度で仮想的に上記実空間に配置した画像を合成する処理と
を有する画像合成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、実空間に仮想物体が所望の配置位置、角度などで仮想的に配置されるように、上記実空間の画像信号に上記仮想物体の画像を立体的に合成する画像合成装置及びその合成方法に関するものである。
【０００２】
【従来の技術】
実空間の画像に仮想物体の画像を合成する画像合成装置は、建築、ファッション、設計などの分野で実用化されている。例えば、建物内部の様子をコンピュータグラフィックス（ＣＧ）で合成し、撮像した部屋の映像に家具、道具などの仮想物体の画像を合成することによって、部屋のレイアウトの設計などに役立てられる。また、利用者の体型データに基づき、画像化した利用者の姿に色合い、サイズ、スタイルなどそれぞれ異なる種々の服を仮想的に着せた状態の画像を合成して、利用者に提供することによって、利用者にもっとも自分に似合う服装を選択するための参考資料を提供できる。
【０００３】
また、建築設計、公園、町の設計などにコンピュータグラフィックスによって合成した画像に、仮想的に人物、構造物などの画像を合成することによって、設計者に直観的なイメージを提供することができ、または、設計案を評価するための一手段としても利用することが可能である。
【０００４】
【特許文献１】
特開２０００−０９８３００号公報
【特許文献２】
特開２０００−０９８８７０号公報
【非特許文献１】
特開２０００−０９８８７１号公報
【０００５】
【発明が解決しようとする課題】
ところで、上述した従来の画像合成方法及びこれらの方法に基づいて構成した画像合成装置では、実空間の画像または、実空間に基づいて生成したコンピュータグラフィックス画像に、設計者の意図に基づき、所望の仮想物体の画像を予め指定した空間位置に合成する。この場合、実空間の画像を事前に取得して、または作成しておいて、さらに、当該実空間に合成する仮想物体の空間位置も事前にコンピュータなどに入力しておく必要がある。このため、例えば、利用者が自分が撮像した実空間の画像に、任意の空間位置を自由に指定してそこに仮想物体が存在するように、実空間の画像信号に仮想物体の画像を簡単に合成することができなかった。
【０００６】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、実空間の画像信号に所望の空間位置、角度などで仮想物体の画像を合成することができ、かつ仮想物体の空間位置、角度、姿勢などを容易に設定できる画像合成装置及びその合成方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明の画像合成装置は、実空間の画像に仮想物体の画像を合成する画像合成装置であって、上記仮想物体の画像が上記実空間に仮想的に配置する位置と角度とを示し、中心線を境界線とした第１の色領域と第２の色領域の二つの半円部分をもつ円形マーカと、上記マーカを含む上記実空間の画像を取得する画像取得手段と、上記画像取得手段によって取得した画像から上記マーカ領域を検出し、当該マーカ領域に基づいて上記仮想物体を上記実空間に配置するときの位置と角度とを演算する演算手段と、上記演算手段の演算結果及び上記仮想物体の形状データに応じて、上記仮想物体を上記マーカによって示された位置と角度で仮想的に上記実空間に配置した画像を合成する画像合成手段とを有する。
【０００８】
また、本発明では、好適には、上記演算手段は、上記画像取得手段によって取得した画像の水平方向及び垂直方向において上記マーカ領域との接線の座標に基づき、上記マーカの中心座標を計算する。
【０００９】
また、本発明では、好適には、上記演算手段は、上記マーカの中心座標からマーカ領域の外周との距離を計算し、上記距離の最大値及び最小値に応じて、上記マーカ領域の長軸と短軸を計算する。
【００１０】
また、本発明では、好適には、上記演算手段は、上記計算された上記マーカ領域の短軸と長軸の長さに基づき、上記マーカに対して上記画像を撮像する撮像装置の仰角を計算する。
【００１１】
また、本発明では、好適には、上記演算手段は、上記マーカ領域の長軸の方向と上記取得した画像の水平方向とをなす角度に基づき、上記マーカのローリング回転角度を計算する。
【００１２】
また、本発明では、好適には、上記演算手段は、上記マーカの境界線と上記マーカ領域の外周との交点から上記マーカ領域の長軸に対して直交する線の長さと、上記マーカ領域の短軸の長さとに基づき、上記マーカの方位回転角度を計算する。
【００１３】
また、本発明では、好適には、上記演算手段は、上記マーカ領域における上記第１と第２の色領域の位置に基づき、上記計算したマーカの方位回転角度に対して、πの角度だけ補正を行う。
【００１４】
また、本発明では、好適には、上記演算手段は、上記マーカの直径と上記取得した画像における上記マーカ領域の長軸との比率に基づき、上記仮想物体の合成画像の寸法を計算する。
【００１５】
また、本発明では、好適には、上記画像取得手段は、上記マーカを含む上記実空間を撮像する撮像装置からなる。または、上記画像取得手段は、上記マーカを含む上記実空間を撮像した画像を記録する記録媒体から上記画像を読み出す画像再生装置からなる。
【００１６】
また、本発明では、好適には、上記仮想物体の形状データを記憶する形状データ記憶部を有し、または、上記仮想物体の形状データを提供するサーバを有し、上記画像合成手段は、データ通信ネットワークを介して上記サーバから上記仮想物体の形状データを取得する。
【００１７】
また、本発明の画像合成方法は、中心線を境界線とした第１の色領域と第２の色領域の二つの半円部分をもつ円形のマーカを用いて、当該マーカによって示した位置と角度で実空間に仮想物体を配置した画像を合成する画像合成方法であって、上記マーカを含む上記実空間の画像を取得する処理と、上記取得した画像から上記マーカ領域を検出し、当該マーカ領域に基づいて上記仮想物体を上記実空間に配置するときの位置と角度を計算する処理と、上記計算した上記マーカの位置、角度及び上記仮想物体の形状データに応じて、上記仮想物体を上記マーカによって示された位置と角度で仮想的に上記実空間に配置した画像を合成する処理とを有する。
【００１８】
本発明によれば、中心線を境界線として、それぞれ異なる色に染色された第１の色領域と第２の色領域の二つの半円部分をもつ円形のマーカを用いて、当該マーカを含む実空間の画像を取得し、取得した画像よりマーカ領域を検出し、当該検出したマーカ領域を解析することによって、マーカの位置、大きさ、マーカに対する撮像装置の仰角、及びマーカの方位回転角、ローリング回転角をそれぞれ演算し、当該演算結果及び仮想物体の形状データに基づき、上記マーカによって指示した空間位置、寸法及び角度で上記仮想物体を上記実空間に仮想的に配置した合成画像を計算する。これによって、実空間に所望の位置、大きさ及び角度で仮想物体の画像を立体的に合成できる。
【００１９】
【発明の実施の形態】
図１は本発明に係る画像合成装置の一実施形態を示す構成図である。
図示のように、本実施形態の画像合成装置１００は、画像取得部１０、マーカ検出部２０、マーカ解析部３０及び画像合成部４０によって構成されている。また、図１に示すように、仮想物体のデータＢＯＤを記憶し、画像合成するとき画像合成部４０に提供する仮想物体データ記憶部１１０及び画像合成部４０によって合成した画像ＳＰＣを表示する画像表示部１２０がそれぞれ設けられている。さらに、仮想物体を実空間の画像に合成するときの位置、姿勢などの情報を指示するマーカ１５０も設けられている。
【００２０】
図２は、本実施形態に用いられているマーカ１５０の一例を示している。本実施形態で用いられるマーカ１５０は、表面に２つの領域を設けた円形の薄い板状のものである。２つの領域は、円の中心を通る境界線ＬＣに区分けられ、それぞれ異なる色ＦＣ１とＦＣ２に染色される（以下、これらの領域を色領域ＦＣ１及びＦＣ２と表記する）。マーカの大きさは、直径ｄによって表れる。マーカの直径ｄは、実空間の範囲、そして当該マーカによって代表される仮想物体の大きさに応じて設定される。例えば、部屋の内部に家具などの装飾具を仮想的に実空間に配置してその画像を合成する場合、家具の大きさに応じて、直径数センチメートル（ｃｍ）のマーカを用いて、一方、舞台の飾り道具などを舞台の実空間の画像に合成するような場合、撮像位置、カメラと舞台の距離及び飾り道具の大きさなどに合わせて、直径数十センチメートルのマーカを用いることもあり得る。
【００２１】
さらに、マーカ１５０を撮像装置、例えば、ＣＣＤカメラによって鮮明に撮像できるように、それぞれの色領域ＦＣ１とＦＣ２に反射性の塗料を塗布することが望ましい。また、色領域ＦＣ１とＦＣ２の色は、周囲の実空間にある背景色と異なる色に設定することが好ましいが、ＣＣＤカメラによって撮像した実空間の映像からマーカを容易に識別できる色であれば、特に限定しない。また、複数の異なる色の組合せを持つマーカを用意して、撮像対象となる実空間の背景色に応じて、実空間の画像から検出しやすい色の組合せを持つマーカを使用することもできる。
【００２２】
本実施形態において、仮想物体データ記憶部１１０及び画像表示部１２０は、画像合成装置１００の内部に組み込むこともできる。即ち、仮想物体データ記憶部１１０及び画像表示部１２０は、それぞれ画像合成装置１００の構成部分とすることもできる。
【００２３】
図１に示す画像合成装置１００は、本発明の概念を実現するための基本的な構成例であり、種々の変形例も考えられる。例えば、仮想物体データ記憶部１１０は、例えば、データ通信ネットワークを経由して画像合成装置１００に仮想物体の情報を提供するサーバに設けられることもでき、画像表示部１２０のほかに合成した画像ＳＰＣを記録し、その後の必要なとき記憶した合成画像を提供する画像記録部を設けてもよい。
【００２４】
次に、本実施形態の画像合成装置１００の各構成部分について説明する。
画像取得部１０は、マーカの画像を含む実空間の画像を画像合成装置１００に取り込む。例えば、一例として画像取得部１０は、ＣＣＤカメラなどの撮像装置から構成されている。なお、本実施形態の画像合成装置１００では、画像取得部１０は、撮像装置に限定されることなく、例えば、前もって撮像した画像信号を記録しておいて必要なとき記録した画像信号を読み出す画像記録手段、例えば、ＶＴＲ（Ｖｉｄｅｏ  ｔａｐｅ  ｒｅｃｏｄｅｒ）、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭプレーヤなどでもよい。さらに、撮像した画像データをサーバによって記憶して、画像合成装置１００は、データ通信ネットワークを介してサーバより画像データを取り込むことも可能である。この場合、画像取得部１０は、ネットワークインターフェースによって構成することも可能である。また、上述した種々の機能を併せ持つ複合型の画像取得部も一つの構成例である。即ち、画像取得部１０は、撮像機能、画像記録・再生機能及びネットワークインターフェースとしての機能を複数持つこともできる。
【００２５】
マーカ検出部２０は、画像取得部１０によって取得した画像データＰＩＣからマーカの画像領域を検出し、マーカ領域の情報ＭＤＴを出力する。マーカの検出は、パターンマッチングなどの検出方法を用いて行われる。上述したようにマーカ１５０は、円形であり、中心線によって二つの半円領域に分割され、分割された二つの半円領域は、それぞれ異なる色をもつ。マーカ検出部２０は、こうしたマーカ１５０に関する既知の情報に基づき、画像データＰＩＣからマーカの画像領域を検出し、マーカ領域の情報ＭＤＴをマーカ解析部３０に提供する。
【００２６】
マーカ解析部３０は、マーカ検出部２０からのマーカ領域情報ＭＤＴに基づき、実空間におけるマーカの位置、角度並びにマーカと撮像装置との距離などのパラメータＰＡＲを演算する。マーカ解析部３０における演算処理については、後に詳しく説明する。
【００２７】
画像合成部４０は、マーカ解析部３０によって演算したマーカの位置、角度及びマーカと撮像装置との距離に基づき、さらに、画像取得部１０によって取得した実空間の画像データＰＩＣ及び仮想物体データ記憶部１１０から取得した仮想物体の形状に関するデータＢＯＤに基づき、実空間に仮想物体をマーカ１５０によって示した位置、角度で配置したときの画像を合成する。そして、合成した画像ＳＰＣが外部に出力される。
【００２８】
仮想物体データ記憶部１１０は、実空間に合成される仮想物体の立体的な形状を示すデータ、即ち、仮想物体の３次元空間における寸法、表面の色、質感などの情報を数値化したデータを記憶する。
上述したように、本実施形態において、仮想物体データ記憶部１１０は、画像合成装置１００の内部に設けることも可能である。また、仮想物体データ記憶部１１０は、例えば、画像合成装置１００から離れた場所に設置したサーバに設けることもできる。この場合、当該サーバはデータ通信ネットワークを介して、仮想物体の３次元データを提供する。画像合成を行うとき、画像合成装置１００は、データ通信ネットワークを介してサーバから仮想物体の３次元データを取得する。
【００２９】
画像表示部１２０は、画像合成部４０によって合成した仮想物体を含む画像信号を表示する。図１では、画像表示部１２０が画像合成装置１００とは別々に設けられているが、本実施形態では、こうした構成に限定されることなく、画像表示部１２０を画像合成装置１００の一部分として設けることもできる。
【００３０】
図３は、本実施形態の画像合成装置１００を小型の携帯端末（携帯型コンピュータ）へ適用する応用例を示している。
図示のように、携帯端末に、小型のＣＣＤ撮像装置（ＣＣＤカメラ）１０ａとディスプレイ１２０ａが設けられている。ＣＣＤカメラ１０ａは、図１に示す画像取得部１０に対応し、ディスプレイ１２０は、図１に示す画像表示部１２０に対応する。
【００３１】
ＣＣＤカメラ１０ａによって、マーカ１５０を含む実空間の画像を携帯端末に取り込まれる。そして、携帯端末において取り込んだ画像に基づき仮想物体の空間位置及び角度が計算され、当該計算結果に従って仮想物体の画像を生成して、これを実空間の画像に埋め込み合成画像を生成する。このため、図３に示すように、携帯端末のディスプレイ１２０ａには、仮想物体がマーカによって示した位置及び角度に応じて、実空間に配置する仮想の画像が表示される。
【００３２】
図３に示す携帯端末では、ＣＰＵまたは内蔵の信号処理プロセッサによって、図１の画像合成装置のマーカ検出部２０、マーカ解析部３０及び画像合成部４０の各部分の機能を実現する。さらに、画像合成に用いられる仮想物体の３次元データは、事前に携帯端末のメモリに記憶しておくか、または画像合成を行うときデータ通信ネットワーク、例えば、無線ＬＡＮを通じてサーバから取得する。前者の場合、携帯端末のメモリが図１に示す仮想物体データ記憶部１１０に対応し、後者の場合、仮想物体データを提供するサーバが図１に示す仮想物体データ記憶部１１０に対応する。
【００３３】
次に、本実施形態の画像合成装置１００におけるマーカの検出及びマーカ画像より仮想物体の配置を示すパラメータの演算について詳述する。
本実施形態の画像合成装置１００において、実空間の画像に仮想物体の画像を合成するために必要な情報は、仮想物体が実空間での位置、実空間に埋め込む仮想物体の画像の大きさ、そして、仮想物体の姿勢、即ち、空間座標系における仮想物体の回転角度の三つである。これらの情報が特定されれば、仮想物体の画像をＣＣＤカメラ１０ａによって撮像した実空間の画像に重ねて描くことができる。
【００３４】
仮想物体の位置は、マーカの中心座標によって設定される。また、仮想物体の大きさは、マーカの画像の大きさに比例して設定される。そして、仮想物体の姿勢は、マーカの配置角度に応じて設定される。このため、マーカを含む実空間の画像を解析することによって、仮想物体の画像を実空間の画像に合成するためのパラメータを計算できる。
【００３５】
図４は、空間座標系におけるＣＣＤカメラ１０ａ及びマーカ１５０の相対的な位置を示す図である。図示のように、マーカの姿勢に関して、仰角ａｎｇＸ、回転角度ａｎｇＹ，ａｎｇＺの三つのパラメータがある。
【００３６】
仰角ａｎｇＸは、ＣＣＤカメラ１０ａのレンズの中心とマーカの中心を結ぶ線ＮＬと水平面とを成す角度をいう。ＣＣＤカメラ１０ａをマーカの真上から撮像した場合、即ち、仰角ａｎｇＸがπ／２のとき、ＣＣＤカメラの視野にあるマーカの画像が円形となる。仰角ａｎｇＸがπ／２以外のとき、ＣＣＤカメラの視野にあるマーカの画像が楕円となる。
即ち、仰角ａｎｇＸが変化するに従って、ＣＣＤカメラ１０ａによって撮像したマーカの画像の長軸と短軸との比が変化する。本実施形態の画像合成装置のマーカ解析部３０では、マーカの画像の長軸及び短軸の長さをそれぞれ計算して、これらに応じて仰角ａｎｇＸが計算される。
【００３７】
回転角度ａｎｇＹは、マーカが図示の垂直線ＶＬを回転軸とした回転角度である。なお、回転軸の直線ＶＬは、マーカの円心を通過してかつ水平面に直交する線である。なお、以下の記述では、この回転角度は方位角とも呼ばれる。
本実施形態の画像合成装置のマーカ解析部３０において、回転角度の基準は予め定められる。ここで、例えば、マーカの境界線ＬＣと線ＮＬが直交し、且つＣＣＤカメラ１０ａからマーカを見た場合、前方（手前）が色領域ＦＣ１、後方が色領域ＦＣ２となる場合、回転軸を０度と定める。なお、境界線ＬＣと線ＮＬが直交するが、ＣＣＤカメラ１０ａからマーカを見た場合、前方（手前）が色領域ＦＣ２、後方が色領域ＦＣ１の場合、回転角度をπと定める。マーカ解析部３０において、この取り決めを基準に回転角度ａｎｇＹを計算する。
【００３８】
回転角度ａｎｇＺは、線ＮＬが水平面における投影、即ち、図４に示す線ＨＬを回転軸としたマーカ１５０の回転角度をいう。ここで、回転角度ａｎｇＺの基準として、例えば、ＣＣＤカメラ１０ａの視野におけるマーカ１５０の領域の長軸方向が視野の水平方向と一致したときの回転角度ａｎｇＺを０度とする。マーカ１５０が水平線ＨＬを軸として回転した場合、ＣＣＤカメラ１０ａによって撮像したマーカ１５０の領域の長軸の方向が変化するので、マーカ解析の場合、マーカ領域の長軸の方向と画像の水平方向とをなす角度を回転角度ａｎｇＺとして算出される。
【００３９】
なお、以下の説明において、マーカ１５０の回転角度ａｎｇＹを方位角または方位回転角度と表記し、回転角度ａｎｇＺをローリング回転角度と表記する。
【００４０】
次に、図面を参照しつつ、マーカ解析部３０におけるマーカの位置、距離及び姿勢を演算する処理について説明する。
【００４１】
まず、図５はマーカの中心座標（ｃＭｘ，ｃＭｙ）を求める処理を示す図である。図示のように、ここで、ディスプレイの画面上、水平方向をｘ軸、垂直方向をｙ軸として、マーカを含む実空間の画像において、マーカの画像に対して水平及び垂直方向にマーカ領域に外接する水平線及び垂直線のｙ座標とｘ座標がそれぞれ検出される。例えば、マーカの左側において垂直線とマーカ領域との接点のｘ座標をＬｘ  として、マーカの右側において垂直線とマーカ領域との接点のｘ座標をＲｘ  として、マーカの上側において水平線とマーカ領域との接点のｙ座標をＴｙ  として、マーカの下側において水平線とマーカ領域との接点のｙ座標をＢｙとすると、これらの接線によって形成された長方形の頂点の座標がそれぞれ（Ｌｘ  ，Ｔｙ  ），（Ｌｘ  ，Ｂｙ  ），（Ｒｘ  ，Ｔｙ  ），（Ｒｘ  ，Ｂｙ  ）となる。
そして、検出した接点の座標に基づき、マーカの中心座標（ｃＭｘ，ｃＭｙ）が次の式によって演算される。
【００４２】
【数１】
ｃＭｘ＝（Ｌｘ  ＋Ｒｘ  ）／２
ｃＭｙ＝（Ｔｙ  ＋Ｂｙ  ）／２
【００４３】
数１に基づいて、マーカの中心座標（ｃＭｘ，ｃＭｙ）が計算される。この中心座標は、仮想物体を実空間に配置するときの基準位置となる。そして、計算された中心座標（ｃＭｘ，ｃＭｙ）を基準にマーカ領域の長軸、短軸及びマーカのサイズｓｚＭがそれぞれ次のように計算される。
【００４４】
マーカの中心座標（ｃＭｘ，ｃＭｙ）からマーカ領域の外周上の任意の点（ｐＬｘ，ｐＬｙ）までの距離Ｌｅｎは、次式によって求められる。
【００４５】
【数２】
Ｌｅｎ＝（（ｐＬｘ−ｃＭｘ）２  ＋（ｐＬｙ−ｃＭｙ）２  ）１／２
【００４６】
そして、マーカ領域の外周上所定の間隔でサンプルしたすべての点と中心座標（ｃＭｘ，ｃＭｙ）との距離を数２に基づき計算し、もっとも大きい距離を２倍した長さを長軸ＬｅｎＬとして、もっとも短い距離を２倍した長さを短軸ＬｅｎＳとする。即ち、マーカ領域の長軸と短軸は、次式によって求められる。
【００４７】
【数３】
ＬｅｎＬ＝２ｍａｘ（Ｌｅｎ）
ＬｅｎＳ＝２ｍｉｎ（Ｌｅｎ）
【００４８】
数３において、ｍａｘ（Ｌｅｎ）とｍｉｎ（Ｌｅｎ）は、それぞれ数２に基づいて算出したＬｅｎの最大値と最小値を意味する。
本実施形態において、円形のマーカ１５０を用いるので、マーカの回転角、カメラの回転角または仰角が変化しても、マーカ領域の長軸ＬｅｎＬが変化せず、ＣＣＤカメラ１０ａとマーカ１５０との距離のみによって長軸ＬｅｎＬが変化するので、マーカの大きさｓｚＭは、長軸ＬｅｎＬによって決まる。
【００４９】
本実施形態のマーカ解析部３０において、上述した処理により、マーカの画像に基づきマーカの中心座標（ｃＭｘ，ｃＭｙ）、長軸ＬｅｎＬ、短軸ＬｅｎＳ並びにマーカのサイズｓｚＭがそれぞれ計算される。
【００５０】
図６は、マーカ１５０のローリング回転角ａｎｇＺを求める処理を示す図である。以下、図６を参照して、マーカ１５０のローリング回転角ａｎｇＺを計算する処理について説明する。
【００５１】
マーカ１５０のローリング回転角度ａｎｇＺは、上述したように、図２に示すマーカ１５０の平面上でマーカ１５０の中心座標（ｃＭｘ，ｃＭｙ）を通る水平線ＨＬを軸としたマーカ１５０の回転角度を示す。図６に示すように、ＣＣＤカメラ１０ａによって撮像した画像において、当該ローリング回転角度ａｎｇＺは、マーカ領域の長軸ＬｅｎＬ方向における点Ｐの座標（ｐＬｘ，ｐＬｙ）を測定して、点Ｐの座標とマーカの中心座標（ｃＭｘ，ｃＭｙ）に基づき、次式に基づき計算される。
【００５２】
【数４】
ａｎｇＺ＝ａｒｃｔａｎ（（ｐＬｙ−ｃＭｙ）／（ｐＬｘ−ｃＭｘ））
【００５３】
即ち、図６に示すように、マーカ１５０のローリング回転角度ａｎｇＺは、マーカ領域の長軸ＬｅｎＬと水平面とをなす角度である。
【００５４】
図７は、ＣＣＤカメラ１０ａとマーカ１５０との仰角ａｎｇＸを計算する処理を示している。
図７に示すように、仰角ａｎｇＸは、マーカ領域に基づき求められた長軸ＬｅｎＬと短軸ＬｅｎＳに応じて、次式によって計算される。
【００５５】
【数５】
ａｎｇＸ＝ａｒｃｓｉｎ（ＬｅｎＳ／ＬｅｎＬ）
【００５６】
次に、図８は、マーカ１５０の方位回転角度ａｎｇＹを求める処理を示す図である。
図８に示すように、方位回転角度ａｎｇＹは、マーカ１５０が図４に示す垂直線ＶＬを軸とした回転角度である。
【００５７】
方位回転角度ａｎｇＹを求めるため、図８に示すように、境界線ＬＣとマーカ１５０の外周との交点Ｑ１（ｑＬｘ，ｑＬｙ）から、マーカの長軸に向かって垂直線を引き、当該垂直線とマーカの円周との交点Ｑ２を得る。そして、Ｑ１とＱ２の距離をｂとすると、方位角ａｎｇＹは、次式によって計算される。
【００５８】
【数６】
ａｎｇＹ＝ａｒｃｓｉｎ（ｂ／ＬｅｎＬ）
【００５９】
図８に示すように、点Ｑ１とＱ２間の距離ｂは、実際に撮像した画面において、長さａとなる。ここで、長さａとｂ及び仰角ａｎｇＸの間に、次式に示す関係が成立する。
【００６０】
【数７】
ｂ＝ａ／ｓｉｎ（ａｎｇＸ）
【００６１】
数７を数６に代入すると、次式が得られる。
【００６２】
【数８】
ａｎｇＹ＝ａｒｃｓｉｎ（ａ／ｓｉｎ（ａｎｇＸ）ＬｅｎＬ）
【００６３】
数５によれば、ｓｉｎ（ａｎｇＸ）ＬｅｎＬ＝ＬｅｎＳとなるので、数８はさらに次式のように書かれる。
【００６４】
【数９】
ａｎｇＹ＝ａｒｃｓｉｎ（ａ／ＬｅｎＳ）
【００６５】
即ち、マーカ１５０の方位角ａｎｇＹは、撮像したマーカの領域において、点Ｑ１とＱ２間の距離ａを計算すれば、当該距離ａと既に検出したマーカ領域の短軸ＬｅｎＳに基づき、数９を用いて計算される。
【００６６】
なお、境界線ＬＣとマーカ１５０の外周との交点Ｑ１（ｑＬｘ，ｑＬｙ）との位置関係に応じて、数９によって求めた方位角ａｎｇＹがさらに補正される。例えば、図８に示す境界線ＬＣとマーカの外周との交点が点Ｑ１の場合、数９により計算した方位角ａｎｇＹは、そのままマーカ１５０の方位角とし、一方、図８に示すように、境界線ＬＣとマーカの外周との交点が点Ｑ３になる場合、数９により計算したマーカ１５０の方位角ａｎｇＹを補正する必要がある。即ち、このときの方位角ａｎｇＹ’は、π−ａｎｇＹとなる。
【００６７】
上述した補正は、交点Ｑ１の座標（ｑＬｘ，ｑＬｙ）とマーカ１５０の中心座標（ｃＭｘ，ｃＭｙ）に基づき行われる。補正を行う否かは、次式に基づき判断される。
【００６８】
【数１０】
（ｑＬｘ−ｃＭｘ）（ｑＬｙ−ｃＭｙ）＞０  補正せず
（ｑＬｘ−ｃＭｘ）（ｑＬｙ−ｃＭｙ）＜０  π−ａｎｇＹとする
【００６９】
なお、上述したように計算されるマーカの方位角は、マーカ１５０の色領域ＦＣ１とＦＣ２の位置に応じてさらに補正される。例えば、図２に示すマーカ１５０の色領域ＦＣ１が前面、即ち、ＣＣＤカメラ１０ａから見て手前にあり、色領域ＦＣ２が後ろにある状態を正面とし、逆に色領域ＦＣ２が前面に、色領域ＦＣ１が後ろにある状態を背面とすると、正面状態のとき、数９及び数１０に基づいて算出された方位回転角度ａｎｇＹまたはπ−ａｎｇＹは、そのままマーカ１５０の方位角とする。一方、背面状態の場合、数９及び数１０に基づいて算出した方位角にさらにπが加算される。
【００７０】
本実施形態の画像合成装置において、マーカ検出部２０によって、ＣＣＤカメラ１０ａによって撮像した画像からマーカ１５０を検出し、そして、マーカ解析部３０によって、検出したマーカの領域に応じて、マーカ１５０の中心座標（ｃＭｘ，ｃＭｙ）及び長軸ＬｅｎＬと短軸ＬｅｎＳがそれぞれ計算される。さらに、上述した数１〜数９の演算処理を行うことによって、マーカ１５０に対してＣＣＤカメラ１０ａの仰角ａｎｇＸ、並びにマーカ１５０の方位回転角度ａｎｇＹ、ローリング回転角度ａｎｇＺがそれぞれ計算される。そして、これらのパラメータがマーカ解析部３０から画像合成部４０に提供され、画像合成部４０により、仮想物体の３次元データ及びマーカ解析部３０によって計算したそれぞれの角度に基づき、仮想物体の画像が計算され、実空間の画像に重ねて描画される。
【００７１】
図９は、本実施形態の画像合成装置において、実空間の画像に合成する仮想物体の大きさを求める処理を示す図である。
ＣＣＤカメラ１０ａとマーカの距離に応じて、ＣＣＤカメラ１０ａによって撮像されたマーカの領域の大きさが変わる。本実施形態において、マーカの大きさに応じて、実空間の画像に合成する仮想物体の大きさが決められる。
【００７２】
図９に示すように、ＣＣＤカメラ１０ａによって撮像したマーカ１５０の大きさｓｚＭは、マーカ解析部３０によって求められる。具体的に、直径ｄのマーカ１５０がＣＣＤカメラ１０ａによって撮像したマーカ領域の大きさｓｚＭは、マーカ領域の長軸ＬｅｎＬによって決められ、ｓｚＭ＝ＬｅｎＬとなる。
ここで、実空間の画像に合成する仮想物体の仮想の寸法をｓＬとすると、当該仮想物体が実空間の画像に合成するとき、仮想寸法ｓＬに対応する画面上の寸法ｓｂは、マーカ１５０の寸法との比例関係に基づき、次式によって求めれる。
【００７３】
【数１１】
ｓｚＭ：ｄ＝ｓｂ：ｓＬ
ｓｂ＝ｓｚＭ＊ｓＬ／ｄ
【００７４】
数１１に基づき、仮想物体を実空間の画像に合成する場合、画像上に表示される寸法ｓｂを計算できる。こうして算出した寸法ｓｂを基準に、仮想物体の３次元データ及びその姿勢を示す回転角度などのパラメータと合わせて、仮想物体の画像が計算され、実空間の画像に重ねて描画される。
【００７５】
本実施形態の画像合成装置において、マーカ解析部３０は検出したマーカ１５０の画像領域に基づき、上述した演算処理により実空間におけるマーカの位置及び姿勢を示す仰角、回転角度などを計算できる。一方、撮像装置によって得られた画像信号の解像度が低いとき、上述した演算処理の精度が低下するおそれがある。このとき、検出したマーカ領域に基づき、パターンマッチング処理、最小二乗法処理などにより、撮像したマーカ１５０の画像にもっとも近い推定マーカを仮定して、当該推定マーカと撮像したマーカ領域との差が最小となるように、推定マーカの仰角、方位角及びローリング回転角度を算出して、マーカ１５０のパラメータとして利用することができる。これによって、マーカの位置、大きさ及び角度の推定の誤差を低減でき、合成画像の精度を改善できる。
【００７６】
図１０は、本実施形態の画像合成装置における画像合成処理の全体の流れを示すフローチャートである。以下、図１０を参照しつつ、本実施形態の画像合成装置の動作について説明する。
【００７７】
まず、ステップＳ１において、マーカ１５０を含む実空間の画像データが取得される。ここで、画像データはＣＣＤカメラ１０ａによって撮像したリアルタイムの画像データ、または事前に撮像した画像データを記録する記録装置から読み出した画像データ、さらにデータ通信ネットワークを経由して画像データを提供する画像データサーバから取得した画像データの何れでもよい。
【００７８】
次に、ステップＳ２において、画像データからノイズの除去処理が行われる。撮像装置、例えばＣＣＤカメラ１０ａによって撮像した画像データには、ノイズが含まれ、マーカ領域を精度よく検出するために、マーカ検出処理の前にノイズ除去処理を行うことが望ましい。ここで、ノイズ除去処理は、例えば、ノイズに多く含まれている高周波成分を除去するローパスフィルタを用いたフィルタリング処理によって実現できる。
【００７９】
ステップＳ３において、ノイズ除去処理された画像データに対して、マーカ検出が行われる。マーカの検出は、画像合成装置のマーカ検出部２０によって実施れる。例えば、一フレームの画像データに対して、パターンマッチングなどの方法でマーカ領域の抽出を行う。
【００８０】
次いで、ステップＳ４において、マーカ解析部３０によって、マーカ解析処理が行われる。当該マーカ解析処理の結果、マーカの位置、即ちマーカの中心座標（ｃＭｘ，ｃＭｙ）、仮想物体のサイズｓｂ、及びマーカの姿勢に関する仰角ａｎｇＸ、方位回転角度ａｎｇＹ、及びローリング回転角度ａｎｇＺがそれぞれ計算される。
【００８１】
そして、ステップＳ５において、画像合成処理が行われる。画像合成部４０において、マーカ解析部３０によって計算されたパラメータ及び仮想物体の３次元データに基づき、仮想物体の画像が計算される。そして、計算された画像が実空間の画像に重ねて描かれる。
【００８２】
上述したステップＳ１〜Ｓ５によって、実空間の画像に仮想物体の画像が合成される。そして、ステップＳ６において、合成された画像が画像表示部によって表示される。
【００８３】
以上説明したように、本実施形態の画像合成装置によれば、マーカ１５０を用いて実空間における仮想物体を配置する位置、角度などを指示し、ＣＣＤカメラ１０ａなどの撮像装置によって、マーカ１５０の画像を含む実空間の画像が撮像され、撮像した画像からマーカ領域が抽出され、さらに抽出したマーカ領域に基づき仮想物体を実空間に配置する位置、並びに仮想物体の姿勢を示す回転角度、仰角などが計算され、算出したこれらのパラメータ及び仮想物体の３次元データに基づき、仮想物体の画像が計算され、実空間の画像に重ねて描かれるので、実空間の画像に所望の位置、姿勢で仮想物体の画像を合成することのできる。
【００８４】
【発明の効果】
以上説明したように、本発明の画像合成装置及びその合成方法によれば、マーカを用いて仮想物体を実空間に仮想的に配置する場合の位置と姿勢を示す回転角度などのパラメータの指示を容易に実現できる。マーカを含む実空間の画像からマーカ領域を抽出し、当該抽出したマーカ領域からマーカの位置及び回転角度、仰角などを解析し、当該解析結果に従って、さらに仮想物体の３次元データを用いて仮想物体の合成画像を作成できる。そして、実空間の画像に作成された仮想物体の画像を重ねて描くことにより、仮想物体の画像を実空間の画像に合成する合成画像が得られる。
本発明によれば、マーカを用いて仮想物体の位置、姿勢の表示を容易に実現でき、かつマーカの抽出、解析などは既存の画像処理技術に基づき実現できるので、画像合成装置の処理負荷を抑えながら、リアルタイムで仮想物体を実空間に配置する所望の合成画像を生成できる利点がある。
【図面の簡単な説明】
【図１】本発明に係る画像合成装置の一実施形態を示す構成図である。
【図２】本実施形態の画像合成処理に用いられるマーカの構成を示す図である。
【図３】本実施形態の画像合成装置を小型の携帯端末への適用例を示す概念図である。
【図４】空間座標系における撮像装置とマーカの相対的な位置を示す図である。
【図５】マーカの中心座標を求める処理を示す図である。
【図６】マーカのローリング回転角度を求める処理を示す図である。
【図７】マーカに対する撮像装置の仰角を求める処理を示す図である。
【図８】マーカの方位回転角度（方位角）を求める処理示す図である。
【図９】仮想物体の画像を合成するときの大きさを求める処理を示す図である。
【図１０】実空間の画像に仮想物体の画像を合成する画像合成処理を示すフローチャートである。
【符号の説明】
１０…画像取得部、２０…マーカ検出部、
３０…マーカ解析部、４０…画像合成部、
１００…画像合成装置、１１０…仮想物体データ記憶部、
１２０…画像表示部、１５０…マーカ。
【図１】
2004287699.tif 000003
【図２】
2004287699.tif 000004
【図３】
2004287699.tif 000005
【図４】
2004287699.tif 000006
【図５】
2004287699.tif 000007
【図６】
2004287699.tif 000008
【図７】
2004287699.tif 000009
【図８】
2004287699.tif 000010
【図９】
2004287699.tif 000011
【図１０】
2004287699.tif 000012