(57)【特許請求の範囲】
【請求項１】
被写体を撮影する撮影工程と、
撮影した実画像を構成する画像データを記憶する実画像記憶工程と、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像を特定する情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程と、
前記合成情報に基づいて前記実画像と前記複数の仮想画像とを合成するときに、特定された前記設定領域に、既に記憶されている前記実画像の前記画像データを配置して合成画像を生成する画像合成工程と、
を有し、
前記合成情報には、前記複数の仮想画像のそれぞれに設定されている前記撮影の視点からの距離、及び前記設定領域に設定されている前記視点からの距離、を示す距離情報が含まれており、
前記画像合成工程では、前記複数の仮想画像の領域及び前記設定領域のうちの、前記距離情報において前記視点からの距離がより長く設定されている領域の画像データから順に、前記実画像の前記画像データが書き換えられていくことを特徴とする画像合成方法。
【請求項２】
請求項１に記載の画像合成方法であって、
撮影された前記実画像を構成する前記画像データは、２つの画像記憶領域に記憶され、
前記画像合成工程では、前記合成情報に基づいて、前記２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、
前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることを特徴とする画像合成方法。
【請求項３】
被写体を撮影する撮影工程、
撮影した実画像を構成する画像データを記憶する実画像記憶工程、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像、及び、前記実画像に含まれる画像要素、を特定する情報と、前記実画像、前記複数の仮想画像、前記画像要素の、前記撮影の視点からの距離を示す距離情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程、及び、
前記合成情報に基づいて、前記実画像に前記複数の仮想画像及び前記画像要素を合成して合成画像を生成する画像合成工程、を有し、
前記画像合成工程は、前記合成情報に基づいて、撮影した前記実画像の画像データに、前記複数の仮想画像の画像データ及び前記画像要素の画像データのうちの前記視点からの距離が短い方の画像データを書き込むとともに、前記視点からの距離が短い方が前記設定領域に設定されている場合には、当該設定領域に、既に記憶されている前記実画像の画像データを書き込むことを特徴とする画像合成方法。
【請求項４】
請求項３に記載の画像合成方法であって、
前記画像要素が、前記設定領域に設定されていることを特徴とする画像合成方法。
【請求項５】
請求項３または請求項４に記載の画像合成方法であって、
撮影された前記実画像を構成する前記画像データは、２つの画像記憶領域に記憶され、
前記画像合成工程では、前記合成情報に基づいて、前記２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、
前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることを特徴とする画像合成方法。
【請求項６】
請求項５に記載の画像合成方法であって、
前記合成画像、前記実画像、及び、前記仮想画像は、複数の画素にて形成されており、
前記設定領域は、前記画素毎に設定されており、
前記一方の画像記憶領域の各画素に対応させて、各画素の前記距離情報を記憶する距離情報記憶領域を有し、
前記画像合成工程にて、前記一方の画像記憶領域に記憶された前記画像データが書き換えられた場合には、前記距離情報記憶領域の前記距離情報が、前記書き換えた前記画像データの前記距離情報に書き換えられることを特徴とする画像合成方法。
【請求項７】
請求項６に記載の画像合成方法であって、
前記一方の画像記憶領域に記憶された前記実画像の前記画像データを構成する各画素は、前記視点からの距離が無限遠に設定されていることを特徴とする画像合成装置。
【請求項８】
請求項６または請求項７に記載の画像合成方法であって、
前記画像合成工程では、前記画素毎に前記距離情報記憶領域の前記距離情報と、前記仮想画像に設定されている前記距離情報または前記画像要素に設定されている前記距離情報とを、比較することを特徴とする画像合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した実画像と生成した仮想画像とを合成する画像合成方法に関する。
【背景技術】
【０００２】
撮影した実画像と生成した仮想画像とを合成する画像合成方法としては、例えば、撮影した撮影画像に含まれる特定の被写体に応じた付加画像を、特定の被写体に応じて予め定められた、撮影画像上の位置に配置して合成画像を生成する画像合成方法が知られている（例えば、特許文献１参照）。このような合成画像は、付加画像を撮影画像の予め定められた位置に配置して合成するので、撮影画像と付加画像とが重なる部位では、付加画像が最前面に配置されて撮影画像は付加画像により隠されるように合成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０―１８７０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の画像合成方法は、付加画像が最前面に配置されて撮影画像は付加画像により隠されるように合成されるので、たとえば、付加画像が窓枠であって、景色を撮影した撮影画像と窓枠の付加画像とを合成した際には、窓枠の外側に景色が現れてしまう。  
また、撮影画像内に、奥行き方向に位置が異なる２つ以上の物体を有する場合に、撮影画像と、その２つの物体間に配置されるような付加画像とを合成したい場合であっても、付加画像の一部が撮影画像の一部により隠れるように画像を合成することができないという課題がある。
【０００５】
本発明は、かかる課題に鑑みてなされたものであり、その目的とするところは、撮影した実画像と生成した仮想画像とをより現実に即した画像に合成することが可能な画像合成方法を提供することにある。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために本発明の画像合成方法は、
被写体を撮影する撮影工程と、
撮影した実画像を構成する画像データを記憶する実画像記憶工程と、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像を特定する情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程と、
前記合成情報に基づいて前記実画像と前記複数の仮想画像とを合成するときに、特定された前記設定領域に、既に記憶されている前記実画像の前記画像データを配置して合成画像を生成する画像合成工程と、
を有し、
前記合成情報には、前記複数の仮想画像のそれぞれに設定されている前記撮影の視点からの距離、及び前記設定領域に設定されている前記視点からの距離、を示す距離情報が含まれており、
前記画像合成工程では、前記複数の仮想画像の領域及び前記設定領域のうちの、前記距離情報において前記視点からの距離がより長く設定されている領域の画像データから順に、前記実画像の前記画像データが書き換えられていくことを特徴とする画像合成方法である。
【０００７】
このような画像合成方法によれば、被写体の撮影により取得された情報に基づいて、実画像と仮想画像とを合成することが可能であるとともに、設定領域には実画像を配置するので、単純に実画像と仮想画像とを合成するだけでなく、設定領域には、設定により実画像を配置して合成することが可能である。このため、より現実に即した合成画像を生成することが可能である。
【０００９】
また、仮想画像の領域及び設定領域は、合成情報において視点からの距離がより長く設定されている領域から順に、撮影された実画像の画像データと書き換えられるので、視点からの距離が最も短いもの、すなわち視点により近くに位置するものが、合成画像上に現れる。このため、実画像と仮想画像とを、あたかも視点から見えるような状態に配置することが可能である。
【００１０】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、２つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【００１１】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを２つの画像記憶領域に記憶し、２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【００１２】
また、  被写体を撮影する撮影工程、
撮影した実画像を構成する画像データを記憶する実画像記憶工程、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像、及び、前記実画像に含まれる画像要素、を特定する情報と、前記実画像、前記複数の仮想画像、前記画像要素の、前記撮影の視点からの距離を示す距離情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程、及び、
前記合成情報に基づいて、前記実画像に前記複数の仮想画像及び前記画像要素を合成して合成画像を生成する画像合成工程、を有し、
前記画像合成工程は、前記合成情報に基づいて、撮影した前記実画像の画像データに、前記複数の仮想画像の画像データ及び前記画像要素の画像データのうちの前記視点からの距離が短い方の画像データを書き込むとともに、前記視点からの距離が短い方が前記設定領域に設定されている場合には、当該設定領域に、既に記憶されている前記実画像の画像データを書き込むことを特徴とする画像合成方法である。
【００１３】
このような画像合成方法によれば、撮影により取得された、合成情報に基づいて、撮影した実画像の画像データに、仮想画像及び画像要素のうちの視点からの距離が短い方の画像データを書き込むとともに、視点からの距離が短い方が設定領域に設定されている場合には実画像の画像データを書き込むので、単純に視点からの距離だけに基づいて実画像と仮想画像とが合成されるだけでなく、視点からの距離が短い領域が設定領域の場合には必ず実画像を前面に配置することが可能である。
【００１４】
また、合成画像を生成するための合成情報には、実画像と合成する仮想画像、及び、実画像に含まれる画像要素、を特定する情報、実画像、仮想画像、画像要素の、撮影の視点からの距離を示す距離情報、予め実画像の画像データを配置することが設定されている設定領域を特定する情報、が含まれているので、撮影時の状況に応じた情報を取得することができるとともに、合成情報を撮影により取得することが可能である。このため、より現実に即した合成画像を容易に生成することが可能である。
【００１５】
かかる画像合成方法であって、前記画像要素が、前記設定領域に設定されていることが望ましい。
【００１６】
このような画像合成方法によれば、実画像に含まれる画像要素が設定領域に設定されているので、実画像に仮想画像を重ね合わせた後に、実画像を上書きしたい場合には、容易に実画像を前面に配置することが可能である。
【００１７】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、２つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【００１８】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを２つの画像記憶領域に記憶し、２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【００１９】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、２つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【００２０】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを２つの画像記憶領域に記憶し、２つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【００２１】
かかる画像合成方法であって、前記合成画像、前記実画像、及び、前記仮想画像は、複数の画素にて形成されており、前記設定領域は、前記画素毎に設定されており、前記一方の画像記憶領域の各画素に対応させて、各画素の前記距離情報を記憶する距離情報記憶領域を有し、前記画像合成工程にて、前記一方の画像記憶領域に記憶された前記画像データが書き換えられた場合には、前記距離情報記憶領域の前記距離情報が、前記書き換えた前記画像データの前記距離情報に書き換えられることが望ましい。
【００２２】
このような画像合成方法によれば、一方の画像記憶領域に記憶されている画像データの各画素に対応する距離情報が距離情報記憶領域に記憶されており、一方の画像記憶領域の画像データが書き換えられる毎に、書き換えた画像データの距離情報に距離情報記憶領域の距離情報が書き換えられるので、距離情報記憶領域に記憶されている距離情報を常に一方の画像記憶領域の画像データと対応させて最新の状態に更新しておくことが可能である。
【００２３】
かかる画像合成方法であって、前記一方の画像記憶領域に記憶された前記実画像の前記画像データを構成する各画素は、前記視点からの距離が無限遠に設定されていることが望ましい。
【００２４】
このような画像合成装置によれば、一方の画像記憶領域に記憶された実画像の画像データを構成する各画素は、視点からの距離が無限遠に設定されているので、撮影された実画像上に、合成すべき仮想画像及び画像要素に対応づけられた画像を配置することが可能である。このため、撮影した実画像を元画像として画像データを書き換えつつ画像を合成することが可能である。
【００２５】
かかる画像合成方法であって、前記画像合成工程では、前記画素毎に前記距離情報記憶領域の前記距離情報と、前記仮想画像に設定されている前記距離情報または前記設定領域に設定されている前記距離情報とを、比較することが望ましい。
【００２６】
このような画像合成方法によれば、画像を合成する際には、画素毎に距離情報記憶領域の距離情報と、仮想画像に設定されている距離情報及び画像要素に設定されている距離情報とを比較するので、一方の画像記憶領域に対応して常に最新の状態に更新されている距離情報記憶領域の各画素の距離情報に対する、合成する仮想画像の距離情報及び設定領域の距離情報とが比較されて、画素ごとに、一方の画像記憶領域の画像データを、より正確に視点に近い側の画像データに書き換えることが可能である。このため、さらに現実に即した合成画像を生成することが可能である。
【発明の効果】
【００２７】
本発明によれば、撮影した実画像と生成した仮想画像とをより現実に即した画像に合成することが可能である。
【図面の簡単な説明】
【００２８】
【図１】本発明に係る画像合成方法を実現するための装置を示すブロック図である。
【図２】第１実施形態の画像合成方法を説明するためのフローチャートである。
【図３】第１実施形態の画像合成方法にて画像が合成される過程のイメージを示す図である。
【図４】第２実施形態の画像合成方法を説明するためのフローチャートである。
【図５】第２実施形態の画像合成方法における実画像、仮想画像、設定領域に設定された画像と実画像、仮想画像、画像要素の深度バッファー及び深度のイメージを示す図であり、図５（ａ）は、撮影された実画像と深度バッファーのイメージを示す図、図５（ｂ）は、手前机の画像要素とこの画像要素に設定された深度のイメージを示す図、図５（ｃ）は、奥机の画像要素とこの画像要素に設定された深度のイメージを示す図、図５（ｄ）は、手前人物像とこの手前人物像に設定された深度のイメージを示す図、図５（ｅ）は、奥人物像とこの奥人物像に設定された深度のイメージを示す図である。
【図６】第２実施形態の画像合成方法にて画像が合成される過程と深度バッファーのイメージを示す図であり、図６（ａ）は、撮影された実画像と手前人物像とを合成するイメージを示す図、図６（ｂ）は、実画像と手前人物像とが合成された画像と手前机の画像要素とを合成するイメージを示す図、図６（ｃ）は、実画像、手前人物像、手前机の画像要素が合成された画像と奥机の画像要素とを合成するイメージを示す図、図６（ｄ）は、実画像、手前人物像、手前机の画像要素、奥机の画像要素が合成された画像と奥人物像とを合成するイメージを示す図、図６（ｅ）は、完成した合成画像を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の一実施形態について図面を用いて詳細に説明する。  
図１は、本発明に係る画像合成方法を実現するための装置の一例を示すブロック図である。
【００３０】
本実施形態の画像合成方法は、たとえば、被写体の撮影により取得された情報に基づいて、撮影した実画像と予め形成されている仮想画像とを合成する際に、実画像と仮想画像とをより現実に即した合成画像を生成する方法である。
【００３１】
このような画像合成方法を実現するための画像合成装置１は、被写体を撮影する撮像部１０と、撮影した被写体の実画像と予め形成されている仮想画像とを合成する処理を含み画像合成装置を制御する制御部１２と、画像を合成するために必要な各種情報やデータが記憶される記憶部１４と、合成された合成画像を表示する表示部１６と、本画像合成装置１を操作するための操作部１８と、を有している。
【００３２】
本実施形態の画像合成装置１は、例えば、撮像部１０と、撮影した画像を表示する表示部１６とを有し持ち運び可能な、例えばデジタルカメラ、デジタルビデオカメラ、携帯電話、携帯情報端末（ＰＤＡ）、モバイルコンピュータなどに、画像合成処理が実行可能なプログラムが記憶されている。
【００３３】
そして、画像合成装置１の使用者が、被写体を撮影すると、表示部１６に撮影された実画像が表示される。このとき、撮影された実画像２０に、予め設定された、例えば、ＱＲコード(登録商標)やバーコードなどの、所定の合成情報を示すマーカー２１が含まれていたり、ＧＰＳやデジタルコンパスなどを使用して撮影位置（場所）や撮影方向等の情報が計測された場合には、当該マーカー２１を検出及び解析して合成情報を取得したり、撮影位置や方向の情報に基づいて合成情報を取得し、取得した合成情報に基づいて、撮影した実画像２０（図３）と予め記憶されている仮想画像２２(図３)とを合成した合成画像２４（図３）を生成し合成画像２４(図３)が表示部１６に表示されるように構成されている。
【００３４】
撮像部１０は、例えば、デジタルカメラやデジタルビデオカメラのような、撮影により、画像を構成する複数の画素の各画像データを生成するＣＣＤセンサーなどの撮像素子により、光情報を電気情報に変換し、変換した画像データに基づいて表示部１６に画像を表示するように構成されている。
【００３５】
表示部１６は、画像を構成する複数の画素の画像データを、各素子に対応させて表示することが可能な、例えば液晶パネルなどにて構成されている。ここで、各画素の画像データとは、例えば、各画素をＲ（レッド）成分、Ｇ（グリーン）成分、Ｂ（ブルー）成分に分解した各成分を示すデータである。
【００３６】
操作部１８は、画像合成装置１を使用する使用者が、画像合成装置１に対し撮影等の操作を行ったり、設定を変更するなどの操作を行う部位であり、少なくとも実画像２０を撮影するための所謂シャッターを有している。
【００３７】
記憶部１４は、本画像合成装置１にて合成画像を生成するための各種情報が記憶されている合成情報記憶領域１４ａと、撮影された実画像の画像データを画素毎に記憶する２つの画像記憶領域１４ｂ、１４ｃと、画像を合成するために必要な画素毎の情報を記憶する画素情報記憶領域１４ｄとを有している。
【００３８】
合成情報記憶領域１４ａには、被写体に含まれているマーカー２１にて示される情報や、撮影位置や方向等の情報に対応づけられた仮想画像２２、マーカー２１の情報に対応づけられている合成情報などが記憶されている。
【００３９】
２つの画像記憶領域１４ｂ、１４ｃは、いずれも撮影された画像データが画素毎に記憶される記憶領域であり、一方の画像記憶領域は、合成画像を生成する処理の中で画像データが書き換えられていく作業領域となる画像仮想展開領域１４ｂであり、他方の画像記憶領域は、次の撮影が行われるまで既に撮影された画像データを、実画像における各画素の位置情報及び距離情報と対応づけてテクスチャーとして保持しておく実画像保存記憶領域１４ｃである。上述したように、各画素の画像データはＲ，Ｇ，Ｂの３つの成分を示すデータを有するので、画像仮想展開領域１４ｂ及び実画像保存記憶領域１４ｃは、各々合成画像を構成する画素数の３倍の記憶領域を有している。
【００４０】
画像仮想展開領域１４ｂに記憶される画像データは、合成画像を生成する際には必要に応じて対応する画素の画像データが書き換えられる。そして、画像仮想展開領域１４ｂに画素毎に記憶された３つのデータは、各画素の画像データが書き換えられる場合には、Ｒ成分、Ｇ成分、Ｂ成分の各データがそれぞれ書き換えられる。このとき、実画像保存記憶領域１４ｃ及び画像仮想展開領域１４ｂは、記憶領域が表示部１６または撮像部１０の素子と同様に配列されている必要はなく、各画像記憶領域１４ｂ、１４ｃの画像データが、表示部１６または撮像部１０の素子と対応づけられて記憶されていればよい。
【００４１】
画素情報記憶領域１４ｄは、たとえば、各画素に対応づけられた画像の、被写体を撮影する視点に対する位置を示す情報を、画素毎に記憶する記憶領域である。このため、画素情報記憶領域１４ｄは合成画像を構成する画素数分の記憶領域を有している。
【００４２】
制御部１２は、使用者により操作部１８が操作されることにより、撮像部１０や表示部１６を制御したり、撮影された実画像２０の画像データからマーカー２１を抽出し、マーカー２１にて示される情報を解析する解析処理、解析された情報や撮影に計測された距離や方向を示す情報に基づいて、実画像２０と記憶部１４に記憶されている仮想画像２２とを合成する画像合成処理等の各種処理を実行する。
【００４３】
次に、制御部１２により実行される画像合成方法について説明する。
【００４４】
＜第１実施形態＞
第１実施形態の画像合成方法は、画像合成装置１に設けられ、撮像部１０にて撮影するための操作部１８であるシャッターが操作されて処理が開始される。このとき、画像合成装置１が、デジタルカメラなどのように、単に実画像を撮影するときと、合成画像を生成するときとで処理を切り替えるスイッチが操作部１８に設けられていてもよい。また、常に合成画像を生成する処理が実行されるように設定されており、撮影された実画像にマーカー２１が検出されたとき、または、撮影位置及び撮影方向が特定されたときのみ合成画像を生成する処理を実行することとしてもよい。
【００４５】
第１実施形態の場合には、被写体が屋外と屋内とを仕切る壁であって、この壁にマーカー２１が設けられている状態を撮影することとする。このマーカー２１には、撮影した実画像と合成すべき仮想画像２２を特定するための情報が含まれている。
【００４６】
図２は、第１実施形態の画像合成方法を説明するためのフローチャートであり、図３は、第１実施形態の画像合成方法にて画像が合成される過程のイメージを示す図である。
【００４７】
制御部１２は、シャッターが操作されると撮像部１０にて被写体を撮影し（撮影工程Ｓ１）、撮影された実画像を構成する各画素のデータを、記憶部１４の実画像保存記憶領域１４ｃと、画像仮想展開領域１４ｂとにそれぞれ記憶する（実画像記憶工程Ｓ２）。この状態にて、画像仮想展開領域１４ｂには、図３（ａ）に示すような、マーカー２１が設けられた壁の実画像２０を形成する画像データが記憶されている。
【００４８】
このとき、制御部１２は実画像の撮影時に撮像部１０から取得した情報に基づき、一般的なカメラにも搭載されているオートフォーカス機構の原理を利用して、例えば、レンズの上半分と下半分にて生じる重心位置の違いを利用して被写体と、撮像部１０の視点位置との距離を計測し、計測した距離情報を記憶部１４に記憶する。この距離情報は、撮影により取得された情報に含まれる。
【００４９】
次に制御部１２は、実画像２０の画像データにマーカー２１が撮影されているか否かを解析する（Ｓ３）。このとき、実画像２０の画像データにマーカー２１が撮影されていなかった場合には、合成する画像が存在しないと判定し、撮影された実画像２０を表示部１６に表示する（Ｓ１１）。また、マーカー２１を検出した場合には、さらにマーカー２１を解析して、マーカー２１により示される情報とマーカー２１の情報に対応づけられている合成情報を合成情報記憶領域１４ａから取得する（情報取得工程Ｓ４）。
【００５０】
このとき取得される情報は、撮影された実画像２０と合成される仮想画像２２を特定する情報と、特定された仮想画像２２と実画像２０とを合成させるべき平面上の位置情報と、特定された仮想画像を配置すべき、撮影した視点に対する距離を示す距離情報と、生成される合成画像において実画像２０と仮想画像２２のうちのいずれを配置するかが予め設定されている領域を示す設定領域情報とを含む情報である。
【００５１】
第１実施形態の場合には、仮想画像２２として図３（ｂ）に示すような、窓枠の仮想画像２２ａと図３（ｃ）に示すような、景色の仮想画像２２ｂとが特定される。また、合成情報として、窓枠の仮想画像２２ａが実画像２０の壁に設けられるように配置される距離情報と、窓枠の仮想画像２２ａと景色の仮想画像２２ｂとがマーカー２１が設けられている位置を中心として重ねて配置される位置情報と、設定領域２６として、図３（ｄ）に示すような領域を示す情報と、が取得される。ここで、設定領域２６としては、景色と窓枠の仮想画像２２ａ、２２ｂのうち、景色の仮想画像２２ｂにおいて窓枠より外側に位置する領域が設定されているという領域情報、設定領域の画像が配置されるべき、撮影の視点からの距離が、マーカー２１が設けられている壁と同じ距離であるという距離情報、また、設定領域２６には実画像２０が配置されることが設定されているという情報などの合成情報が取得される。
【００５２】
次に、制御部１２は取得した合成情報と、撮影時に計測されて記憶されている距離情報に基づいて、窓枠の仮想画像２２ａ、及び、景色の仮想画像２２ｂを実画像のサイズと対応するサイズに適宜変換する。このとき、仮想画像２２の大きさは、距離情報に基づいて、表示部１６に表示される領域のサイズとして設定され、表示部１６に仮想画像２２が表示される画素が特定される。
【００５３】
そして、制御部１２は、取得した位置情報に基づいて、適宜大きさに変換された仮想画像２２と実画像２０とが重なる領域、及び、合成画像２４上における設定領域を特定する。具体的には、画像仮想展開領域１４ｂにおいて、窓枠の仮想画像２２ａが重なる画素、景色の仮想画像２２ｂが重なる画素、設定領域となる画素がそれぞれ特定される（特定工程Ｓ５）。
【００５４】
本実施形態においては、設定領域２６は、距離情報に基づいてサイズが変換された窓枠の仮想画像２２ａと景色の仮想画像２２ｂとが、マーカー２１の位置を中心として重ね合わせられたときに、窓枠の仮想画像２２ａの外側に配置される景色の仮想画像２２ｂに相当する領域として設定されており、設定領域２６に含まれる各画素には実画像の画像データが配置されるように設定されている。
【００５５】
次に、制御部１２は、特定された窓枠の仮想画像２２ａ、景色の仮想画像２２ｂ、及び、設定領域２６のうち、撮影の視点からの距離が最も長いものが選択される（Ｓ７）。ここでは、撮影の視点からの距離が最も長い景色の仮想画像２２ｂが選択される。
【００５６】
次に、制御部１２は、選択されたオブジェクトが設定領域２６か否かが判定される（Ｓ８）。この場合には、設定領域２６ではないので、制御部１２は、画像仮想展開領域１４ｂの各画素のうち、景色の仮想画像２２ｂが配置される画素の画像データを景色の仮想画像２２ｂの画像データに書き換える。この状態にて、画像仮想展開領域１４ｂには、図３（ｅ）に示すような、撮影された壁の実画像２０上に景色の仮想画像２２ｂの全体が配置された画像を形成する画像データが記憶されている。
【００５７】
次に、制御部１２は、さらに合成すべき画像があるか否かを判定する（Ｓ６）。この場合には、窓枠の仮想画像２２ａと設定領域２６とが残っているため、画像を合成する処理を継続する。
【００５８】
すなわち、制御部１２は、窓枠の仮想画像２２ａと設定領域２６のうち、撮影の視点からの距離が長いオブジェクトを選択する（Ｓ７）。この場合には、窓枠の仮想画像２２ａにおける撮影の視点からの距離は、マーカー２１が設けられた壁より手前に突出した位置であり、設定領域２６は、マーカー２１が設けられた壁の表面なので、設定領域２６が選択される。
【００５９】
次に、制御部１２は、選択されたオブジェクトが設定領域２６か否かが判定される（Ｓ８）。この場合には、設定領域２６なので、制御部１２は、画像仮想展開領域１４ｂの各画素のうち、設定領域２６が配置される画素の画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換える（Ｓ９）。この状態にて、画像仮想展開領域１４ｂには、図３（ｆ）に示すような、撮影された壁の実画像２０上の、窓枠の内側に相当する領域のみに景色の仮想画像２２ｂが配置された画像を形成する画像データが記憶されている。第１実施形態の場合には、合成する領域が設定領域２６か否かを判定し（Ｓ８）、設定領域２６の場合には画像仮想展開領域１４ｂの画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換え（Ｓ９）、設定領域２６でない場合には、画像仮想展開領域１４ｂの画像データを、仮想画像２２の画像データに書き換える（Ｓ１０）処理が画像合成工程に含まれる。
【００６０】
次に、制御部１２は、さらに合成すべき画像があるか否かを判定する（Ｓ６）。この場合には、窓枠の仮想画像２２ａが残っているため、画像を合成する処理を継続する。この場合には、撮影の視点からの距離に拘わらず窓枠の仮想画像２２ａが選択される（Ｓ７）。
【００６１】
次に、制御部１２は、選択されたオブジェクトが設定領域２６か否かが判定される（Ｓ８）。この場合には、設定領域２６ではないので、制御部１２は、画像仮想展開領域１４ｂの各画素のうち、窓枠の仮想画像２２ａが配置される画素の画像データを、窓枠の仮想画像２２ａの画像データに書き換える（Ｓ１０）。この状態にて、画像仮想展開領域１４ｂには、図３（ｇ）に示すような、撮影された壁に窓枠があり、窓枠の内側に景色の画像が配置された合成画像２４を形成する画像データが記憶されている。
【００６２】
次に、制御部１２は、さらに合成すべき画像があるか否かを判定する（Ｓ６）。このとき、合成すべきオブジェクトが残っていないため、画像を合成する処理を終了して画像仮想展開領域１４ｂに記憶されている画像のデータに基づいて表示部１６に画像を表示する（Ｓ１１）。
【００６３】
第１実施形態の画像合成方法によれば、マーカー２１が設けられた壁を撮影したときに、マーカー２１が示す合成情報に基づいて、実画像２０に窓枠の仮想画像２２ａや景色の仮想画像２２ｂが合成されるとともに、設定領域には実画像２０が配置されるので、単純に実画像２０と窓枠の仮想画像２２ａや景色の仮想画像２２ｂとが合成されるだけでなく、設定領域２６には設定された実画像２０を配置することが可能である。このため、本来景色が見えるはずがない窓枠の外側を設定領域２６として設定することにより、設定領域２６に実画像２０を配置して、窓枠の外側の領域を壁とすることが可能である。このため、より現実に即した合成画像を生成することが可能である。
【００６４】
また、窓枠の仮想画像２２ａ、景色の仮想画像２２ｂ及び設定領域２６などは、合成情報において視点からの距離が長く設定されているものから順次、撮影された実画像２０の画像データと書き換えられるので、視点からの距離が最も短いもの、すなわち視点により近くに位置するものが、合成画像２４上に現れる。このため、実画像２０と窓枠の仮想画像２２ａ及び景色の仮想画像２２ｂとを、あたかも視点から見えるような状態に配置することが可能である。
【００６５】
また、撮影された被写体の、視点からの距離より長い距離が設定された、例えば景色の仮想画像２２ｂの領域に設定された設定領域２６に実画像２０の画像データが配置されるので、本来実画像２０の後に隠れるべき景色の仮想画像２２ｂの画像データが実画像２０の画像データに書き換えられる。このため、合成された合成画像２４は、あたかも視点から見えるように実画像２０と窓枠の仮想画像２２ａ及び景色の仮想画像２２ｂとを合成することが可能である。このため、さらに現実に即した合成画像２４を生成することが可能である。
【００６６】
＜第２実施形態＞
第２実施形態の画像合成方法も、撮像部１０にて撮影するためのシャッターが操作されて処理が開始されることは第１実施形態と同様である。以下、第１実施形態と同様の部材については同符号を付し、一部説明を省略する。
【００６７】
第２実施形態の場合には、被写体として、２つの机が配置された室内であって、机にマーカー２１が設けられている室内が撮影されることとする。このとき、２つの机は、奥行き方向に前後に配置されており、手前側の机（以下、手前机という）が奥側の机（以下、奥机という）より僅かに左寄りに配置されている。撮影された実画像において、２つの机は、背景（床や壁）とは異なる画像要素２３ａ、２３ｂとして設定されるとともに、所定の条件に基づいて実画像の画像データ、すなわち、手前机の画像要素２３ａ及び奥机の画像要素２３ｂの画像データが配置されるように設定された設定領域をなしている。
【００６８】
また、第２実施形態では、各画素にて示される画像の、撮像部１０の視点の位置に対する距離に応じた距離情報としての数値（以下、深度という）を、各画素に対応させて記憶する領域となる距離情報記憶領域としての画素情報記憶領域１４ｄに各画素の深度を記憶する深度バッファーが設けられている。この距離情報は、撮像部１０の視点の位置に対する距離に応じた深度として与えられており、撮像部１０の視点の位置から近い位置に配置される画像から小さな深度が付与されている。
【００６９】
図４は、第２実施形態の画像合成方法を説明するためのフローチャートである。図５は、 第２実施形態の画像合成方法における実画像、仮想画像、設定領域に設定された画像と実画像、仮想画像、画像要素の深度バッファーのイメージを示す図である。図６は、第２実施形態の画像合成方法にて画像が合成される過程と深度バッファーのイメージを示す図である。図６では、説明の便宜上、画像のイメージを示す升目と深度バッファー及び深度とを重ねて示している。
【００７０】
制御部１２は、シャッターが操作されると撮像部１０にて被写体を撮影し（撮影工程Ｓ１０１）、撮影された実画像を構成する各画素のデータを、記憶部１４の実画像保存記憶領域１４ｃと、画像仮想展開領域１４ｂとにそれぞれ記憶する（実画像記憶工程Ｓ１０２）。また、撮影時には、被写体と、撮像部１０の視点からの距離を計測し、計測した距離情報を記憶部１４に記憶する。第２実施形態では、マーカー２１が設けられている２つの机及び、机の後に配置された壁の、撮像部１０の視点からの距離を計測されて記憶部１４に記憶される。
【００７１】
画像仮想展開領域１４ｂに記憶された実画像２０の画像データには、撮像部１０の視点の位置から最も遠い位置（無限遠）を示す深度が付与されており、実画像保存記憶工程Ｓ１０２にて実画像２０の画像データが記憶されると、画素情報記憶領域１４ｄの深度バッファーが初期化される（Ｓ１０３）。深度バッファーの初期化では、例えば、画像仮想展開領域１４ｂに記憶された実画像２０の各画素に付与されている深度「９」が、深度バッファーの全ての画素の深度として記憶される。この状態にて、図５（ａ）、図６（ａ）の左図に示すような、２つの机が配置された室内の実画像２０を形成する画像データが画像仮想展開領域１４ｂに記憶され、深度バッファーには、全ての画素に深度「９」が記憶されている。
【００７２】
また、実画像２０上に存在する２つの机が、実画像に含まれた画像要素として設定されているとともに、２つの机の画像要素の領域が設定領域２６に設定されていることが設定領域情報として記憶されている。例えば、図５（ｂ）、図５（ｃ）に示すように手前机と奥机が画像要素２３ａ、２３ｂとして設定され、手前机の画像要素２３ａをなす各画素に位置情報として深度「１」が、奥机の画像要素２３ｂをなす各画素に位置情報として深度「３」が、撮影時に取得したマーカー２１の情報に基づいて設定される。尚、手前机の画像要素２３ａと奥机の画像要素２３ｂは、撮影された実画像の画像データのサイズと同じサイズになるように、同数の画素データが与えられている。
【００７３】
次に制御部１２は、実画像２０の画像データにマーカー２１が撮影されているか否かを解析する（Ｓ１０４）。このとき、実画像２０の画像データにマーカー２１が撮影されていなかった場合には、合成する画像が存在しないと判定し、撮影された実画像２０を表示部１６に表示する（Ｓ１１５）。また、マーカー２１を検出した場合には、さらにマーカー２１を解析して、マーカー２１により示される情報とマーカー２１の情報に対応づけられている合成情報を合成情報記憶領域１４ａから取得する（情報取得工程Ｓ１０５）。
【００７４】
第２実施形態の場合には、マーカー２１により、仮想画像２２として２つの人物の全身を表す人物の仮想画像２２ｃ、２２ｄが特定され、実画像に含まれる画像要素２３として２つの机の画像要素２３ａ、２３ｂが特定され、２つの机の画像要素２３ａ、２３ｂが設定領域２６に設定されている情報を取得する。
【００７５】
また、合成情報として、２つの人物の仮想画像２２ｄ、２２ｄのうちの一方の人物の仮想画像（以下、手前人物像という）２２ｃが２つの机の間に位置し、２つの人物像のうちの他方の人物の仮想画像（以下、奥人物像という）２２ｄが奥机と壁との間に位置することを示す距離情報が取得される。この距離情報は、撮像部１０の視点の位置に対する距離に応じた深度として与えられているので、この例では、たとえば、手前人物像２２ｃに距離情報として深度「２」が、奥人物像２２ｄに位置情報として深度「４」が、各画素に対応させて付与されている。
【００７６】
また、２つの机を示す画像要素２３ａ、２３ｂには、撮影の視点からの距離が、マーカー２１が設けられている各机と同じ距離であるという距離情報などの合成情報が取得される。ここで、２つの机の画像要素２３ａ、２３ｂの距離情報としては、手前机の画像要素２３ａの各画素に位置情報として深度「１」が、奥机の画像要素２３ｂの各画素に位置情報として深度「３」が取得される。以下の説明では、２つの仮想画像２２ｃ、２２ｄ及び２つの画像要素２３ａ、２３ｂをそれぞれオブジェクトともいう。
【００７７】
次に制御部１２は、２つの人物の仮想画像２２ｃ、２２ｄ及び２つの画像要素２３ａ、２３ｂから１つのオブジェクトを選択する（Ｓ１０６）。このとき選択されるオブジェクトは、特定された順など、予め設定されている順に選択される。ここでは、例えば、まず、手前人物像２２ｃが選択されたとする。
【００７８】
次に、選択された手前人物像２２ｃの画像データは、制御部１２により、撮影時に計測されて記憶されている距離情報に基づいて適宜大きさに変換される。変換された手前人物像２２ｃの画像データに基づいて、画像仮想展開領域１４ｂにおいて手前人物像２２ｃが配置される画素が特定される（Ｓ１０８）。
【００７９】
次に、制御部１２は、手前人物像２２ｃの画素データが配置されると特定された、画像仮想展開領域１４ｂの各画素に対して、深度バッファーに記憶されている深度と、手前人物像２２ｃの画素データに設定されている深度とを画素毎に順次比較する（Ｓ１０９）。このとき、深度バッファーは初期化されて全ての画素の深度として「９」が記憶されているので、手前人物像２２ｃの全ての画素に設定されている深度「２」の方が小さく、撮影の視点に近いと判定される。
【００８０】
そして、手前人物像２２ｃに設定されている深度「２」の方が深度バッファーの対応する画素の深度よりの小さい場合には、当該画素が設定領域２６、すなわち、手前机の画像要素２３ａ及び奥机の画像要素２３ｂに含まれているか否かが判定される（Ｓ１１０）。第２実施形態の場合には、手前人物像２２ｃに設定されている深度「２」であり、手前机の画像要素２３ａに設定されている深度が「１」、奥机の画像要素２３ｂに設定されている深度が「３」なので、手前人物像２２ｃの画素が奥机の画像要素２３ｂに設定されている設定領域２６に含まれるか否かは判定されない。
【００８１】
そして、手前人物像２２ｃの対象となる画素が、設定領域に設定されている手前机の画像要素２３ａに含まれていない場合には、画像仮想展開領域１４ｂの対象となる画素の画像データを、仮想画像である手前人物像２２ｃの画像データに書き換えるとともに（Ｓ１１２）、深度バッファーの深度を手前人物像２２ｃに設定されている深度「２」に更新する（Ｓ１１３）。
【００８２】
一方、手前人物像２２ｃの対象となる画素が、設定領域に設定されている手前机の画像要素２３ａに含まれている場合には、画像仮想展開領域１４ｂの対象となる画素の画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換えるとともに（Ｓ１１１）、深度バッファーの深度を手前机の画像要素２３ａに設定されている深度「１」に更新する（Ｓ１１３）。
【００８３】
このように、手前人物像２２ｃが有する各画素について、深度の比較、設定領域２６か否かの判定がなされ、必要に応じて、実画像保存記憶領域１４ｃの画像データが書き換えられ、深度バッファーの深度が更新されて、手前人物像２２ｃの全ての画素について処理が完了する。
【００８４】
この状態にて、画像仮想展開領域１４ｂには、図６（ｂ）の左図のように、手前机と奥机との間に手前人物像２２ｃが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素２３ａと重なる手前人物像２２ｃの領域には深度「１」が、手前机の画像要素２３ａと重ならない手前人物像２２ｃの領域には深度「２」が書き込まれる。ここで、仮想画像を構成する各画素の深度と深度バッファーの深度とを比較する工程（Ｓ１０９）から深度バッファーを更新する工程（Ｓ１１３）が、画像合成工程に含まれる。
【００８５】
次に制御部１２は、対象となるオブジェクトが全て処理されたか否かを判定する（Ｓ１０４）。この場合には、奥人物像２２ｄ、２つの画像要素２３ａ、２３ｂの処理がなされていないので、処理が行われていないオブジェクトのうちから、例えば手前机の画像要素２３ａが選択されて（Ｓ１０６）、処理が実行される。具体的には、まず、手前机の画像要素２３ａの画像データが、制御部１２により、マーカー２１による距離データに基づいて適宜大きさに変換される。変換された手前机の画像要素２３ａの画像データに基づいて、手前机２３ａが配置される、画像仮想展開領域１４ｂの画素が特定される（Ｓ１０８）。
【００８６】
次に、制御部１２は、手前机の画像要素２３ａの画素データが配置される画像仮想展開領域１４ｂの各画素に対して、深度バッファーに記憶されている深度と、手前机の画像要素２３ａの画素データに設定されている深度とを画素毎に順次比較する（Ｓ１０９）。このとき、深度バッファーは手前人物像２２ｃの処理により、図６（ｂ）の左図に示すように、手前人物像２２ｃの領域以外の画素は深度「９」が記憶されており、その他の画素は深度「２」が記憶されている。このため、手前机の画像要素２３ａの各画素は、手前人物像２２ｃの処理にて書き換えられた画素よりも深度が小さいので、手前机の画像要素２３ａの各画素はすべて、設定領域２６か否かが判定される（Ｓ１１０）。
【００８７】
第２実施形態の場合には、手前机の画像要素２３ａは全ての画素が設定領域に設定されているので、画像仮想展開領域１４ｂの対象となる画素の画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換えるとともに（Ｓ１１１）、深度バッファーの深度を手前机の画像要素２３ａに設定されている深度「１」に更新する（Ｓ１１３）。
【００８８】
このように、手前机の画像要素２３ａの各画素について、深度の比較、設定領域２６か否かの判定がなされ、必要に応じて、実画像保存記憶領域１４ｃの画像データが書き換えられ、深度バッファーの深度が更新されて、手前机の画像要素２３ａの全ての画素について処理が完了する（Ｓ１０７）。
【００８９】
この状態にて、画像仮想展開領域１４ｂには、図６（ｃ）の左図に示すように、手前机と奥机との間に手前人物像２２ｃが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素２３ａの領域には深度「１」が、手前机の画像要素２３ａと重ならない手前人物像２２ｃの領域には深度「２」が書き込まれている。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程（Ｓ１０９）から深度バッファーを更新する工程（Ｓ１１３）が、画像合成工程に含まれる。
【００９０】
次に制御部１２は、対象となるオブジェクトが全て処理されたか否かを判定する（Ｓ１０４）。この場合には、奥人物像２２ｄ、奥机の画像要素２３ｄの処理がなされていないので、処理が行われていないオブジェクトのうちから、例えば奥机の画像要素２３ｂが選択されて（Ｓ１０６）、処理が実行される。具体的には、まず、奥机の画像要素２２ｄの画像データが、制御部１２により、マーカー２１による距離データに基づいて適宜大きさに変換される。変換された奥机の画像要素２２ｄの画像データに基づいて、奥机２２ｄが配置される、画像仮想展開領域１４ｂの画素が特定される（Ｓ１０８）。
【００９１】
次に、制御部１２は、奥机の画像要素２３ｂの画素データが配置される画像仮想展開領域１４ｂの各画素に対して、深度バッファーに記憶されている深度と、奥机の画像要素２３ｂの画素データに設定されている深度とを画素毎に順次比較する（Ｓ１０９）。このとき、深度バッファーは手前机の画像要素２３ａまでの処理により、図６（ｃ）に示すように、手前人物像２２ｃ及び手前机の画像要素２３ａの領域以外の画素は深度「９」が記憶されており、手前人物像２２ｃの領域は手前机の画像要素２３ａと重なならない画素に深度「２」が記憶されており、手前机の画像要素２３ａの画素には深度「１」が記憶されている。このため、深度「３」が記憶されている奥机の画像要素２３ｂの各画素は、手前机の画像要素２３ａまでの処理にて書き換えられた画素は全て、深度が小さいので、奥机の画像要素２３ｂの各画素のうち、手前人物像２２ｃおよび手前机の画像要素２３ａと重なっていない画素について、設定領域２６か否かが判定される（Ｓ１１０）。
【００９２】
第２実施形態の場合には、奥机の画像要素２３ｂは全ての画素が設定領域に設定されているので、画像仮想展開領域１４ｂの対象となる画素の画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換えるとともに（Ｓ１１１）、深度バッファーの深度を奥机の画像要素２３ｂに設定されている深度「３」に更新する（Ｓ１１３）。
【００９３】
このように、奥机の画像要素２３ｂの各画素について、深度の比較、設定領域２６か否かの判定がなされ、必要に応じて、実画像保存記憶領域１４ｃの画像データが書き換えられ、深度バッファーの深度が更新されて、奥机の画像要素２３ｂの全ての画素について処理が完了する（Ｓ１０７）。
【００９４】
この状態にて、画像仮想展開領域１４ｂには、図６（ｄ）に示すように、手前机と奥机との間に手前人物像２２ｃが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素２３ａの領域には深度「１」が、手前机の画像要素２３ａと重ならない手前人物像２２ｃの領域には深度「２」が、手前机の画像要素２３ａ及び手前人物像２２ｃのいずれとも重ならない奥机の画像要素２３ｂの領域には深度「３」が書き込まれている。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程（Ｓ１０９）から深度バッファーを更新する工程（Ｓ１１３）が、画像合成工程に含まれる。
【００９５】
次に制御部１２は、対象となるオブジェクトが全て処理されたか否かを判定する（Ｓ１０４）。この場合には、奥人物像２２ｄの処理がなされていないので、処理が行われていない奥人物像２２ｄが選択されて（Ｓ１０６）、処理が実行される。
【００９６】
具体的には、まず、奥人物像２２ｄの画像データが、制御部１２により、撮影時に計測されて記憶されている距離データに基づいて適宜大きさに変換される。変換された奥人物像２２ｄの画像データに基づいて、奥人物像２２ｄが配置される、画像仮想展開領域１４ｂの画素が特定される（Ｓ１０８）。
【００９７】
次に、制御部１２は、奥人物像２２ｄの画素データが配置されると特定された、画像仮想展開領域１４ｂの各画素に対して、深度バッファーに記憶されている深度と、奥人物像２２ｄの画素データに設定されている深度とを画素毎に順次比較する（Ｓ１０９）。このとき、深度バッファーは奥机の画像要素２３ｂまでの処理により、図６（ｄ）に示すように、手前人物像２２ｃ、手前机の画像要素２３ａ、奥机の画像要素２３ｂ以外の画素は深度「９」が記憶されており、手前人物像２２ｃの領域は手前机の画像要素２３ａと重ならない画素に深度「２」が記憶されており、手前机の画像要素２３ａの画素には深度「１」が記憶されており、手前机の画像要素２３ａ及び手前人物像２２ｃのいずれとも重ならない奥机の画像要素２３ｂの領域には深度「３」が記憶されている。このため、深度「３」が記憶されている奥机の画像要素２３ｂの各画素は、奥机の画像要素２３ｂまでの処理にて書き換えられた画素は全て、深度が小さいので、奥机の画像要素２３ｂの各画素のうち、手前人物像２２ｃ、手前机の画像要素２３ａ、奥机の画像要素２３ｂのいずれとも重なっていない画素について、設定領域２６か否かが判定される（Ｓ１１０）。
【００９８】
このとき、奥人物像２２ｄは設定領域２６ではないので、手前人物像２２ｃ、手前机の画像要素２３ａ、奥机の画像要素２３ｂのいずれとも重なっていない画素については、画像仮想展開領域１４ｂの対象となる画素の画像データを、実画像保存記憶領域１４ｃに記憶されている実画像２０の画像データに書き換えるとともに（Ｓ１１１）、深度バッファーの深度を奥人物像２２ｄに設定されている深度「４」に更新する（Ｓ１１３）。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程（Ｓ１０９）から深度バッファーを更新する工程（Ｓ１１３）が、画像合成工程に含まれる。
【００９９】
次に制御部１２は、対象となるオブジェクトが全て処理されたか否かを判定する（Ｓ１０４）。このとき、４つのオブジェクト２２ｃ、２２ｄ、２３ａ、２３ｂに対して処理が完了しているので、画像の合成処理を完了し、画像仮想展開領域１４ｂに記憶されている画像の画素データに基づいて表示部１６に画像を表示する(Ｓ１１５)。このとき表示部１６には、図６（ｅ）に示すような、画像合成装置１の視点位置から見た室内に２つの机が存在し、手前机と奥机との間に手前人物像２２ｃが配置され、実画像の奥机と壁の間に奥人物像２２ｄが配置された画像が表示されている。
【０１００】
第２実施形態の画像合成方法によれば、撮影により取得された、合成情報に基づいて、撮影した実画像２０の画像データを、仮想画像２２ｃ、２２ｄ及び画像要素２３ａ、２３ｂのうちの視点からの距離が短い方の画像データに書き換えるとともに、視点からの距離が短い方が設定領域２６に設定されている場合には実画像２０の画像データに書き換えて合成するので、単純に視点からの距離だけに基づいて実画像２０と仮想画像２２ｃ、２２ｄとが合成されるだけでなく、視点からの距離が短い領域が設定領域２６の場合には必ず実画像２０を前面に配置することが可能である。
【０１０１】
また、合成画像２４を生成するための合成情報には、実画像２０と合成する仮想画像２２ｃ、２２ｄ、及び、実画像２０に含まれる画像要素２３ａ、２３ｂを特定する情報、実画像２０、仮想画像２２ｃ、２２ｄ、画像要素２３ａ、２３ｂの、撮影の視点からの距離を示す距離情報、予め実画像２０の画像データを配置することが設定されている設定領域２６を特定する情報、が含まれているので、撮影時の状況に応じた情報を取得することができるとともに、合成情報を撮影により取得することが可能である。このため、より現実に即した合成画像２４を容易に生成することが可能である。
【０１０２】
また、実画像２０に含まれる画像要素２３ａ、２３ｂが設定領域２６に設定されているので、実画像２０に仮想画像２２ｃ、２２ｄを重ね合わせた後に、実画像２０を上書きしたい場合には、容易に実画像２０を前面に配置することが可能である。
【０１０３】
また、画像仮想展開領域１４ｂに記憶されている画像データの各画素に対応する距離情報としての深度が画素情報記憶領域１４ｄに記憶されており、画像仮想展開領域１４ｂの画像データが書き換えられる毎に、書き換えた画像データの深度に画素情報記憶領域１４ｄの深度が書き換えられるので、画素情報記憶領域１４ｄに記憶されている深度を常に画像仮想展開領域１４ｂの画像データと対応させて最新の状態に更新しておくことが可能である。
【０１０４】
また、画像仮想展開領域１４ｂに記憶された実画像２０の画像データを構成する各画素は、視点からの距離が無限遠に設定されているので、撮影された実画像２０上に、合成すべき仮想画像２２ｃ、２２ｄ及び設定領域２６に対応づけられた画像要素２３ａ、２３ｂを配置することが可能である。このため、撮影した実画像２０を元画像として画像データを書き換えつつ画像を合成することが可能である。
【０１０５】
また、画像を合成する際には、画素毎に画素情報記憶領域１４ｄの深度と、仮想画像２２ｃ、２２ｄに設定されている深度及び画像要素２３ａ、２３ｂに設定されている深度とが比較されるので、画像仮想展開領域１４ｂに対応して常に最新の状態に更新されている画像仮想展開領域１４ｂの各画素の深度に対する、合成する仮想画像２２ｃ、２２ｄの深度及び画像要素２３ａ、２３ｂの深度とが比較されて、画素ごとに、画像仮想展開領域１４ｂの画像データを、より正確に視点に近い側の画像データに書き換えることが可能である。このため、さらに現実に即した合成画像２４を生成することが可能である。
【０１０６】
上記第２実施形態においては、仮想画像２２を構成する１つの画素の深度と深度バッファーの深度とを比較し、仮想画像２２の深度の方が小さい（視点に近い）場合に、対象となる画素が設定領域２６に含まれるか否かを判定することとしたが、これに限るものではない。たとえば、撮影後に初期化した深度バッファーに、予め設定領域に含まれる画素に設定された深度を記憶し、深度バッファーの設定領域２６に対応する画素の深度が書き換えられた深度バッファーと、仮想画像２２の深度を比較して画像を合成しても良い。
【０１０７】
また、上記２つの実施形態では、いずれも被写体にマーカー２１が設けられている例について説明したが、これに限るものではない。たとえば、ＧＰＳなどにより撮影位置を特定し、デジタルコンパスなどにより撮影方向を特定し、特定された撮影位置と撮影方向とに基づいて記憶領域に予め記憶されている仮想画像及び設定領域を特定するとともに、仮想画像及び設定領域に対応づけられた合成情報を取得して合成画像を生成してもよい。
【０１０８】
また、仮想画像の絶対座標を予め記憶領域に記憶しておき、撮影位置や撮影方向の特定と同時に３Ｄレーザスキャナなどで撮影された画面の範囲に含まれる壁などの物体と撮像部との距離（画素ごとの各点と撮像部との距離）を測定し、仮想画像の絶対座標が画像合成装置の撮像部が撮影しているはずの座標の範囲に含まれる場合であって、現実の壁などの物体と撮像部との距離よりも仮想画像と撮像部との距離の方が近ければ、対応する画素の部分について当該仮想画像を撮影された画像に重ね合わせて表示することとしても良い。
【０１０９】
具体的には、例えば、実物のビルの壁に、仮想の”窓”を合成するとする。このとき、窓枠として、複数種類のデザインの仮想画像が画像合成装置に記憶されており、利用者が画像合成装置を操作して、窓枠のデザインを切替えて、各々の窓枠と壁と景色とを合成した合成画像を表示する。このような画像合成装置を用いると、室内の様々な角度から窓和訓デザインを確認することを可能とし、利用者が最も見栄えの良い窓枠のデザインを選択することが可能となる。このとき、景色が窓枠に合わせて正しく切り取られるようにするため、窓枠の周囲の壁を設定（マスキング）領域に設定しておく。そして、上記のようにマーカーを使用する場合には、マーカーにより、合成する窓枠デザインの特定と、窓枠の取り付け位置と撮像部との相対的な位置関係を示す情報の取得と、をすることが可能となる。
【０１１０】
一方、マーカーを用いない場合には、合成する窓枠デザインを例えば画像合成装置が備えるユーザーインターフェースにて、選択及び切り替えることとなる。また、窓枠の取り付け位置と撮像部との相対的な位置関係を示す情報は、例えば、取り付け位置の緯度・経度があらかじめ分かっている場合には、カメラの緯度・経度をＧＰＳで取得することにより、撮像部の相対的な位置を得ることが可能となる。また、別の方法としては、例えば、撮像部の向きをデジタルコンパスで取得し、取り付け位置までの距離をレーザー距離計などで計測して、座標変換を行っても相対的な位置の上方を得ることが可能である。
【０１１１】
上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。
【０１１２】
上記実施形態においては、画像合成装置１の視点を、第１実施形態の窓枠が設けられる壁、及び、第２実施形態の最も奥に位置する室内の壁に対し、正面に配置した例について説明したが、仮想画像が３次元にて表現可能なデータを有していれば、画像合成装置１の視点を、壁に対して傾いた位置に設定しても構わない。画像合成装置１の視点を、壁に対して傾いた位置に設定した場合には、傾きに対応させて仮想画像や設定領域の形状が、位置情報に基づいて変更される。
【０１１３】
上記実施形態では、静止画像を合成する例について説明したが、動画を合成する場合には、動画のフレームレートに合わせて、合成した画像を生成して表示すればよい。例えば、フレームレートが１５ｆｐｓであれば、１秒間に１５回、上記のように画像の合成処理を繰り返し表示部の画像を書き換えることにより実現可能である。
【符号の説明】
【０１１４】
１  画像合成装置、１０  撮像部、１２  制御部、１４  記憶部、
１４ａ  合成情報記憶領域、１４ｂ  画像仮想展開領域、
１４ｃ  実画像保存記憶領域、１４ｄ  画素情報記憶領域、１６  表示部、
１８  操作部、２０  実画像、２１  マーカー、２２  仮想画像、
２２ａ  窓枠の仮想画像、２２ｂ  景色の仮想画像、２２ｃ  手前人物像、
２２ｄ  奥人物像、２３ａ  手前机の画像要素、２３ｂ  奥机の画像要素、
２４  合成画像、２６  設定領域
【図１】
0005776218.tif 000002
【図２】
0005776218.tif 000003
【図４】
0005776218.tif 000004
【図３】
0005776218.tif 000005
【図５】
0005776218.tif 000006
【図６】
0005776218.tif 000007