特許第5776218号(P5776218)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社大林組の特許一覧

<>
  • 特許5776218-画像合成方法 図000002
  • 特許5776218-画像合成方法 図000003
  • 特許5776218-画像合成方法 図000004
  • 特許5776218-画像合成方法 図000005
  • 特許5776218-画像合成方法 図000006
  • 特許5776218-画像合成方法 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5776218
(24)【登録日】2015年7月17日
(45)【発行日】2015年9月9日
(54)【発明の名称】画像合成方法
(51)【国際特許分類】
   G06T 19/00 20110101AFI20150820BHJP
   H04N 5/232 20060101ALI20150820BHJP
【FI】
   G06T19/00 600
   H04N5/232 Z
【請求項の数】8
【全頁数】23
(21)【出願番号】特願2011-38747(P2011-38747)
(22)【出願日】2011年2月24日
(65)【公開番号】特開2012-174218(P2012-174218A)
(43)【公開日】2012年9月10日
【審査請求日】2014年1月20日
【前置審査】
(73)【特許権者】
【識別番号】000000549
【氏名又は名称】株式会社大林組
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】金子 智弥
(72)【発明者】
【氏名】土井 暁
(72)【発明者】
【氏名】近藤 哲
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 特開2004−178554(JP,A)
【文献】 特開2006−343953(JP,A)
【文献】 特開平11−259682(JP,A)
【文献】 特開2000−201298(JP,A)
【文献】 特開2009−025918(JP,A)
【文献】 特開平11−203444(JP,A)
【文献】 特開2004−227332(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00,19/00
H04N 1/387,5/232
(57)【特許請求の範囲】
【請求項1】
被写体を撮影する撮影工程と、
撮影した実画像を構成する画像データを記憶する実画像記憶工程と、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像を特定する情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程と、
前記合成情報に基づいて前記実画像と前記複数の仮想画像とを合成するときに、特定された前記設定領域に、既に記憶されている前記実画像の前記画像データを配置して合成画像を生成する画像合成工程と、
有し、
前記合成情報には、前記複数の仮想画像のそれぞれに設定されている前記撮影の視点からの距離、及び前記設定領域に設定されている前記視点からの距離、を示す距離情報が含まれており、
前記画像合成工程では、前記複数の仮想画像の領域及び前記設定領域のうちの、前記距離情報において前記視点からの距離がより長く設定されている領域の画像データから順に、前記実画像の前記画像データが書き換えられていくことを特徴とする画像合成方法。
【請求項2】
請求項1に記載の画像合成方法であって、
撮影された前記実画像を構成する前記画像データは、2つの画像記憶領域に記憶され、
前記画像合成工程では、前記合成情報に基づいて、前記2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、
前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることを特徴とする画像合成方法。
【請求項3】
被写体を撮影する撮影工程、
撮影した実画像を構成する画像データを記憶する実画像記憶工程、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像、及び、前記実画像に含まれる画像要素、を特定する情報と、前記実画像、前記複数の仮想画像、前記画像要素の、前記撮影の視点からの距離を示す距離情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程、及び、
前記合成情報に基づいて、前記実画像に前記複数の仮想画像及び前記画像要素を合成して合成画像を生成する画像合成工程、を有し、
前記画像合成工程は、前記合成情報に基づいて、撮影した前記実画像の画像データに、前記複数の仮想画像の画像データ及び前記画像要素の画像データのうちの前記視点からの距離が短い方の画像データを書き込むとともに、前記視点からの距離が短い方が前記設定領域に設定されている場合には、当該設定領域に、既に記憶されている前記実画像の画像データを書き込むことを特徴とする画像合成方法。
【請求項4】
請求項3に記載の画像合成方法であって、
前記画像要素が、前記設定領域に設定されていることを特徴とする画像合成方法。
【請求項5】
請求項3または請求項4に記載の画像合成方法であって、
撮影された前記実画像を構成する前記画像データは、2つの画像記憶領域に記憶され、
前記画像合成工程では、前記合成情報に基づいて、前記2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、
前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることを特徴とする画像合成方法。
【請求項6】
請求項5に記載の画像合成方法であって、
前記合成画像、前記実画像、及び、前記仮想画像は、複数の画素にて形成されており、
前記設定領域は、前記画素毎に設定されており、
前記一方の画像記憶領域の各画素に対応させて、各画素の前記距離情報を記憶する距離情報記憶領域を有し、
前記画像合成工程にて、前記一方の画像記憶領域に記憶された前記画像データが書き換えられた場合には、前記距離情報記憶領域の前記距離情報が、前記書き換えた前記画像データの前記距離情報に書き換えられることを特徴とする画像合成方法。
【請求項7】
請求項6に記載の画像合成方法であって、
前記一方の画像記憶領域に記憶された前記実画像の前記画像データを構成する各画素は、前記視点からの距離が無限遠に設定されていることを特徴とする画像合成装置。
【請求項8】
請求項6または請求項7に記載の画像合成方法であって、
前記画像合成工程では、前記画素毎に前記距離情報記憶領域の前記距離情報と、前記仮想画像に設定されている前記距離情報または前記画像要素に設定されている前記距離情報とを、比較することを特徴とする画像合成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影した実画像と生成した仮想画像とを合成する画像合成方法に関する。
【背景技術】
【0002】
撮影した実画像と生成した仮想画像とを合成する画像合成方法としては、例えば、撮影した撮影画像に含まれる特定の被写体に応じた付加画像を、特定の被写体に応じて予め定められた、撮影画像上の位置に配置して合成画像を生成する画像合成方法が知られている(例えば、特許文献1参照)。このような合成画像は、付加画像を撮影画像の予め定められた位置に配置して合成するので、撮影画像と付加画像とが重なる部位では、付加画像が最前面に配置されて撮影画像は付加画像により隠されるように合成される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010―187052号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来の画像合成方法は、付加画像が最前面に配置されて撮影画像は付加画像により隠されるように合成されるので、たとえば、付加画像が窓枠であって、景色を撮影した撮影画像と窓枠の付加画像とを合成した際には、窓枠の外側に景色が現れてしまう。
また、撮影画像内に、奥行き方向に位置が異なる2つ以上の物体を有する場合に、撮影画像と、その2つの物体間に配置されるような付加画像とを合成したい場合であっても、付加画像の一部が撮影画像の一部により隠れるように画像を合成することができないという課題がある。
【0005】
本発明は、かかる課題に鑑みてなされたものであり、その目的とするところは、撮影した実画像と生成した仮想画像とをより現実に即した画像に合成することが可能な画像合成方法を提供することにある。
【課題を解決するための手段】
【0006】
かかる目的を達成するために本発明の画像合成方法は、
被写体を撮影する撮影工程と、
撮影した実画像を構成する画像データを記憶する実画像記憶工程と、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像を特定する情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程と、
前記合成情報に基づいて前記実画像と前記複数の仮想画像とを合成するときに、特定された前記設定領域に、既に記憶されている前記実画像の前記画像データを配置して合成画像を生成する画像合成工程と、
有し、
前記合成情報には、前記複数の仮想画像のそれぞれに設定されている前記撮影の視点からの距離、及び前記設定領域に設定されている前記視点からの距離、を示す距離情報が含まれており、
前記画像合成工程では、前記複数の仮想画像の領域及び前記設定領域のうちの、前記距離情報において前記視点からの距離がより長く設定されている領域の画像データから順に、前記実画像の前記画像データが書き換えられていくことを特徴とする画像合成方法である。
【0007】
このような画像合成方法によれば、被写体の撮影により取得された情報に基づいて、実画像と仮想画像とを合成することが可能であるとともに、設定領域には実画像を配置するので、単純に実画像と仮想画像とを合成するだけでなく、設定領域には、設定により実画像を配置して合成することが可能である。このため、より現実に即した合成画像を生成することが可能である。
【0009】
また、仮想画像の領域及び設定領域は、合成情報において視点からの距離がより長く設定されている領域から順に、撮影された実画像の画像データと書き換えられるので、視点からの距離が最も短いもの、すなわち視点により近くに位置するものが、合成画像上に現れる。このため、実画像と仮想画像とを、あたかも視点から見えるような状態に配置することが可能である。
【0010】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、2つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【0011】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを2つの画像記憶領域に記憶し、2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【0012】
また、 被写体を撮影する撮影工程、
撮影した実画像を構成する画像データを記憶する実画像記憶工程、
撮影されたマーカーに基づいて、前記実画像と複数の仮想画像とを合成するための合成情報を取得する情報取得工程であって、前記合成情報には、前記実画像と合成する前記複数の仮想画像、及び、前記実画像に含まれる画像要素、を特定する情報と、前記実画像、前記複数の仮想画像、前記画像要素の、前記撮影の視点からの距離を示す距離情報と、予め前記実画像の画像データを配置することが設定されている設定領域を特定する情報とが含まれる情報取得工程、及び、
前記合成情報に基づいて、前記実画像に前記複数の仮想画像及び前記画像要素を合成して合成画像を生成する画像合成工程、を有し、
前記画像合成工程は、前記合成情報に基づいて、撮影した前記実画像の画像データに、前記複数の仮想画像の画像データ及び前記画像要素の画像データのうちの前記視点からの距離が短い方の画像データを書き込むとともに、前記視点からの距離が短い方が前記設定領域に設定されている場合には、当該設定領域に、既に記憶されている前記実画像の画像データを書き込むことを特徴とする画像合成方法である。
【0013】
このような画像合成方法によれば、撮影により取得された、合成情報に基づいて、撮影した実画像の画像データに、仮想画像及び画像要素のうちの視点からの距離が短い方の画像データを書き込むとともに、視点からの距離が短い方が設定領域に設定されている場合には実画像の画像データを書き込むので、単純に視点からの距離だけに基づいて実画像と仮想画像とが合成されるだけでなく、視点からの距離が短い領域が設定領域の場合には必ず実画像を前面に配置することが可能である。
【0014】
また、合成画像を生成するための合成情報には、実画像と合成する仮想画像、及び、実画像に含まれる画像要素、を特定する情報、実画像、仮想画像、画像要素の、撮影の視点からの距離を示す距離情報、予め実画像の画像データを配置することが設定されている設定領域を特定する情報、が含まれているので、撮影時の状況に応じた情報を取得することができるとともに、合成情報を撮影により取得することが可能である。このため、より現実に即した合成画像を容易に生成することが可能である。
【0015】
かかる画像合成方法であって、前記画像要素が、前記設定領域に設定されていることが望ましい。
【0016】
このような画像合成方法によれば、実画像に含まれる画像要素が設定領域に設定されているので、実画像に仮想画像を重ね合わせた後に、実画像を上書きしたい場合には、容易に実画像を前面に配置することが可能である。
【0017】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、2つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【0018】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを2つの画像記憶領域に記憶し、2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【0019】
かかる画像合成方法であって、撮影された前記実画像を構成する前記画像データは、2つの画像記憶領域に記憶され、前記画像合成工程では、前記合成情報に基づいて、前記2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の前記画像データを書き換えて合成画像を生成し、前記設定領域に前記実画像の前記画像データを配置する場合には、前記一方の画像記憶領域に記憶される前記実画像の前記画像データを、他方の前記画像記憶領域に記憶されている前記画像データに書き換えることが望ましい。
【0020】
このような画像合成方法によれば、被写体の撮影により生成された実画像の画像データを2つの画像記憶領域に記憶し、2つの画像記憶領域のうちの一方の画像記憶領域を作業領域として、記憶された実画像の画像データを書き換えて合成画像を生成するので、一方の画像記憶領域にて実画像と仮想画像とを合成した合成画像の画像データを生成するとともに、他方の画像記憶領域に撮影にて生成された実画像の画像データを保持しておくことが可能である。そして、設定領域に実画像の画像データを配置する場合には、一方の画像記憶領域に記憶された実画像の画像データを、書き換えられずに保持されている他方の画像記憶領域に記憶されている実画像の画像データに書き換えるので、設定領域に撮影した実画像を確実に配置することが可能である。
【0021】
かかる画像合成方法であって、前記合成画像、前記実画像、及び、前記仮想画像は、複数の画素にて形成されており、前記設定領域は、前記画素毎に設定されており、前記一方の画像記憶領域の各画素に対応させて、各画素の前記距離情報を記憶する距離情報記憶領域を有し、前記画像合成工程にて、前記一方の画像記憶領域に記憶された前記画像データが書き換えられた場合には、前記距離情報記憶領域の前記距離情報が、前記書き換えた前記画像データの前記距離情報に書き換えられることが望ましい。
【0022】
このような画像合成方法によれば、一方の画像記憶領域に記憶されている画像データの各画素に対応する距離情報が距離情報記憶領域に記憶されており、一方の画像記憶領域の画像データが書き換えられる毎に、書き換えた画像データの距離情報に距離情報記憶領域の距離情報が書き換えられるので、距離情報記憶領域に記憶されている距離情報を常に一方の画像記憶領域の画像データと対応させて最新の状態に更新しておくことが可能である。
【0023】
かかる画像合成方法であって、前記一方の画像記憶領域に記憶された前記実画像の前記画像データを構成する各画素は、前記視点からの距離が無限遠に設定されていることが望ましい。
【0024】
このような画像合成装置によれば、一方の画像記憶領域に記憶された実画像の画像データを構成する各画素は、視点からの距離が無限遠に設定されているので、撮影された実画像上に、合成すべき仮想画像及び画像要素に対応づけられた画像を配置することが可能である。このため、撮影した実画像を元画像として画像データを書き換えつつ画像を合成することが可能である。
【0025】
かかる画像合成方法であって、前記画像合成工程では、前記画素毎に前記距離情報記憶領域の前記距離情報と、前記仮想画像に設定されている前記距離情報または前記設定領域に設定されている前記距離情報とを、比較することが望ましい。
【0026】
このような画像合成方法によれば、画像を合成する際には、画素毎に距離情報記憶領域の距離情報と、仮想画像に設定されている距離情報及び画像要素に設定されている距離情報とを比較するので、一方の画像記憶領域に対応して常に最新の状態に更新されている距離情報記憶領域の各画素の距離情報に対する、合成する仮想画像の距離情報及び設定領域の距離情報とが比較されて、画素ごとに、一方の画像記憶領域の画像データを、より正確に視点に近い側の画像データに書き換えることが可能である。このため、さらに現実に即した合成画像を生成することが可能である。
【発明の効果】
【0027】
本発明によれば、撮影した実画像と生成した仮想画像とをより現実に即した画像に合成することが可能である。
【図面の簡単な説明】
【0028】
図1】本発明に係る画像合成方法を実現するための装置を示すブロック図である。
図2】第1実施形態の画像合成方法を説明するためのフローチャートである。
図3】第1実施形態の画像合成方法にて画像が合成される過程のイメージを示す図である。
図4】第2実施形態の画像合成方法を説明するためのフローチャートである。
図5】第2実施形態の画像合成方法における実画像、仮想画像、設定領域に設定された画像と実画像、仮想画像、画像要素の深度バッファー及び深度のイメージを示す図であり、図5(a)は、撮影された実画像と深度バッファーのイメージを示す図、図5(b)は、手前机の画像要素とこの画像要素に設定された深度のイメージを示す図、図5(c)は、奥机の画像要素とこの画像要素に設定された深度のイメージを示す図、図5(d)は、手前人物像とこの手前人物像に設定された深度のイメージを示す図、図5(e)は、奥人物像とこの奥人物像に設定された深度のイメージを示す図である。
図6】第2実施形態の画像合成方法にて画像が合成される過程と深度バッファーのイメージを示す図であり、図6(a)は、撮影された実画像と手前人物像とを合成するイメージを示す図、図6(b)は、実画像と手前人物像とが合成された画像と手前机の画像要素とを合成するイメージを示す図、図6(c)は、実画像、手前人物像、手前机の画像要素が合成された画像と奥机の画像要素とを合成するイメージを示す図、図6(d)は、実画像、手前人物像、手前机の画像要素、奥机の画像要素が合成された画像と奥人物像とを合成するイメージを示す図、図6(e)は、完成した合成画像を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の一実施形態について図面を用いて詳細に説明する。
図1は、本発明に係る画像合成方法を実現するための装置の一例を示すブロック図である。
【0030】
本実施形態の画像合成方法は、たとえば、被写体の撮影により取得された情報に基づいて、撮影した実画像と予め形成されている仮想画像とを合成する際に、実画像と仮想画像とをより現実に即した合成画像を生成する方法である。
【0031】
このような画像合成方法を実現するための画像合成装置1は、被写体を撮影する撮像部10と、撮影した被写体の実画像と予め形成されている仮想画像とを合成する処理を含み画像合成装置を制御する制御部12と、画像を合成するために必要な各種情報やデータが記憶される記憶部14と、合成された合成画像を表示する表示部16と、本画像合成装置1を操作するための操作部18と、を有している。
【0032】
本実施形態の画像合成装置1は、例えば、撮像部10と、撮影した画像を表示する表示部16とを有し持ち運び可能な、例えばデジタルカメラ、デジタルビデオカメラ、携帯電話、携帯情報端末(PDA)、モバイルコンピュータなどに、画像合成処理が実行可能なプログラムが記憶されている。
【0033】
そして、画像合成装置1の使用者が、被写体を撮影すると、表示部16に撮影された実画像が表示される。このとき、撮影された実画像20に、予め設定された、例えば、QRコード(登録商標)やバーコードなどの、所定の合成情報を示すマーカー21が含まれていたり、GPSやデジタルコンパスなどを使用して撮影位置(場所)や撮影方向等の情報が計測された場合には、当該マーカー21を検出及び解析して合成情報を取得したり、撮影位置や方向の情報に基づいて合成情報を取得し、取得した合成情報に基づいて、撮影した実画像20(図3)と予め記憶されている仮想画像22(図3)とを合成した合成画像24(図3)を生成し合成画像24(図3)が表示部16に表示されるように構成されている。
【0034】
撮像部10は、例えば、デジタルカメラやデジタルビデオカメラのような、撮影により、画像を構成する複数の画素の各画像データを生成するCCDセンサーなどの撮像素子により、光情報を電気情報に変換し、変換した画像データに基づいて表示部16に画像を表示するように構成されている。
【0035】
表示部16は、画像を構成する複数の画素の画像データを、各素子に対応させて表示することが可能な、例えば液晶パネルなどにて構成されている。ここで、各画素の画像データとは、例えば、各画素をR(レッド)成分、G(グリーン)成分、B(ブルー)成分に分解した各成分を示すデータである。
【0036】
操作部18は、画像合成装置1を使用する使用者が、画像合成装置1に対し撮影等の操作を行ったり、設定を変更するなどの操作を行う部位であり、少なくとも実画像20を撮影するための所謂シャッターを有している。
【0037】
記憶部14は、本画像合成装置1にて合成画像を生成するための各種情報が記憶されている合成情報記憶領域14aと、撮影された実画像の画像データを画素毎に記憶する2つの画像記憶領域14b、14cと、画像を合成するために必要な画素毎の情報を記憶する画素情報記憶領域14dとを有している。
【0038】
合成情報記憶領域14aには、被写体に含まれているマーカー21にて示される情報や、撮影位置や方向等の情報に対応づけられた仮想画像22、マーカー21の情報に対応づけられている合成情報などが記憶されている。
【0039】
2つの画像記憶領域14b、14cは、いずれも撮影された画像データが画素毎に記憶される記憶領域であり、一方の画像記憶領域は、合成画像を生成する処理の中で画像データが書き換えられていく作業領域となる画像仮想展開領域14bであり、他方の画像記憶領域は、次の撮影が行われるまで既に撮影された画像データを、実画像における各画素の位置情報及び距離情報と対応づけてテクスチャーとして保持しておく実画像保存記憶領域14cである。上述したように、各画素の画像データはR,G,Bの3つの成分を示すデータを有するので、画像仮想展開領域14b及び実画像保存記憶領域14cは、各々合成画像を構成する画素数の3倍の記憶領域を有している。
【0040】
画像仮想展開領域14bに記憶される画像データは、合成画像を生成する際には必要に応じて対応する画素の画像データが書き換えられる。そして、画像仮想展開領域14bに画素毎に記憶された3つのデータは、各画素の画像データが書き換えられる場合には、R成分、G成分、B成分の各データがそれぞれ書き換えられる。このとき、実画像保存記憶領域14c及び画像仮想展開領域14bは、記憶領域が表示部16または撮像部10の素子と同様に配列されている必要はなく、各画像記憶領域14b、14cの画像データが、表示部16または撮像部10の素子と対応づけられて記憶されていればよい。
【0041】
画素情報記憶領域14dは、たとえば、各画素に対応づけられた画像の、被写体を撮影する視点に対する位置を示す情報を、画素毎に記憶する記憶領域である。このため、画素情報記憶領域14dは合成画像を構成する画素数分の記憶領域を有している。
【0042】
制御部12は、使用者により操作部18が操作されることにより、撮像部10や表示部16を制御したり、撮影された実画像20の画像データからマーカー21を抽出し、マーカー21にて示される情報を解析する解析処理、解析された情報や撮影に計測された距離や方向を示す情報に基づいて、実画像20と記憶部14に記憶されている仮想画像22とを合成する画像合成処理等の各種処理を実行する。
【0043】
次に、制御部12により実行される画像合成方法について説明する。
【0044】
<第1実施形態>
第1実施形態の画像合成方法は、画像合成装置1に設けられ、撮像部10にて撮影するための操作部18であるシャッターが操作されて処理が開始される。このとき、画像合成装置1が、デジタルカメラなどのように、単に実画像を撮影するときと、合成画像を生成するときとで処理を切り替えるスイッチが操作部18に設けられていてもよい。また、常に合成画像を生成する処理が実行されるように設定されており、撮影された実画像にマーカー21が検出されたとき、または、撮影位置及び撮影方向が特定されたときのみ合成画像を生成する処理を実行することとしてもよい。
【0045】
第1実施形態の場合には、被写体が屋外と屋内とを仕切る壁であって、この壁にマーカー21が設けられている状態を撮影することとする。このマーカー21には、撮影した実画像と合成すべき仮想画像22を特定するための情報が含まれている。
【0046】
図2は、第1実施形態の画像合成方法を説明するためのフローチャートであり、図3は、第1実施形態の画像合成方法にて画像が合成される過程のイメージを示す図である。
【0047】
制御部12は、シャッターが操作されると撮像部10にて被写体を撮影し(撮影工程S1)、撮影された実画像を構成する各画素のデータを、記憶部14の実画像保存記憶領域14cと、画像仮想展開領域14bとにそれぞれ記憶する(実画像記憶工程S2)。この状態にて、画像仮想展開領域14bには、図3(a)に示すような、マーカー21が設けられた壁の実画像20を形成する画像データが記憶されている。
【0048】
このとき、制御部12は実画像の撮影時に撮像部10から取得した情報に基づき、一般的なカメラにも搭載されているオートフォーカス機構の原理を利用して、例えば、レンズの上半分と下半分にて生じる重心位置の違いを利用して被写体と、撮像部10の視点位置との距離を計測し、計測した距離情報を記憶部14に記憶する。この距離情報は、撮影により取得された情報に含まれる。
【0049】
次に制御部12は、実画像20の画像データにマーカー21が撮影されているか否かを解析する(S3)。このとき、実画像20の画像データにマーカー21が撮影されていなかった場合には、合成する画像が存在しないと判定し、撮影された実画像20を表示部16に表示する(S11)。また、マーカー21を検出した場合には、さらにマーカー21を解析して、マーカー21により示される情報とマーカー21の情報に対応づけられている合成情報を合成情報記憶領域14aから取得する(情報取得工程S4)。
【0050】
このとき取得される情報は、撮影された実画像20と合成される仮想画像22を特定する情報と、特定された仮想画像22実画像20とを合成させるべき平面上の位置情報と、特定された仮想画像を配置すべき、撮影した視点に対する距離を示す距離情報と、生成される合成画像において実画像20と仮想画像22のうちのいずれを配置するかが予め設定されている領域を示す設定領域情報とを含む情報である。
【0051】
第1実施形態の場合には、仮想画像22として図3(b)に示すような、窓枠の仮想画像22aと図3(c)に示すような、景色の仮想画像22bとが特定される。また、合成情報として、窓枠の仮想画像22aが実画像20の壁に設けられるように配置される距離情報と、窓枠の仮想画像22aと景色の仮想画像22bとがマーカー21が設けられている位置を中心として重ねて配置される位置情報と、設定領域26として、図3(d)に示すような領域を示す情報と、が取得される。ここで、設定領域26としては、景色と窓枠の仮想画像22a、22bのうち、景色の仮想画像22bにおいて窓枠より外側に位置する領域が設定されているという領域情報、設定領域の画像が配置されるべき、撮影の視点からの距離が、マーカー21が設けられている壁と同じ距離であるという距離情報、また、設定領域26には実画像20が配置されることが設定されているという情報などの合成情報が取得される。
【0052】
次に、制御部12は取得した合成情報と、撮影時に計測されて記憶されている距離情報に基づいて、窓枠の仮想画像22a、及び、景色の仮想画像22bを実画像のサイズと対応するサイズに適宜変換する。このとき、仮想画像22の大きさは、距離情報に基づいて、表示部16に表示される領域のサイズとして設定され、表示部16に仮想画像22が表示される画素が特定される。
【0053】
そして、制御部12は、取得した位置情報に基づいて、適宜大きさに変換された仮想画像22と実画像20とが重なる領域、及び、合成画像24上における設定領域を特定する。具体的には、画像仮想展開領域14bにおいて、窓枠の仮想画像22aが重なる画素、景色の仮想画像22bが重なる画素、設定領域となる画素がそれぞれ特定される(特定工程S5)。
【0054】
本実施形態においては、設定領域26は、距離情報に基づいてサイズが変換された窓枠の仮想画像22aと景色の仮想画像22bとが、マーカー21の位置を中心として重ね合わせられたときに、窓枠の仮想画像22aの外側に配置される景色の仮想画像22bに相当する領域として設定されており、設定領域26に含まれる各画素には実画像の画像データが配置されるように設定されている。
【0055】
次に、制御部12は、特定された窓枠の仮想画像22a、景色の仮想画像22b、及び、設定領域26のうち、撮影の視点からの距離が最も長いものが選択される(S7)。ここでは、撮影の視点からの距離が最も長い景色の仮想画像22bが選択される。
【0056】
次に、制御部12は、選択されたオブジェクトが設定領域26か否かが判定される(S8)。この場合には、設定領域26ではないので、制御部12は、画像仮想展開領域14bの各画素のうち、景色の仮想画像22bが配置される画素の画像データを景色の仮想画像22bの画像データに書き換える。この状態にて、画像仮想展開領域14bには、図3(e)に示すような、撮影された壁の実画像20上に景色の仮想画像22bの全体が配置された画像を形成する画像データが記憶されている。
【0057】
次に、制御部12は、さらに合成すべき画像があるか否かを判定する(S6)。この場合には、窓枠の仮想画像22aと設定領域26とが残っているため、画像を合成する処理を継続する。
【0058】
すなわち、制御部12は、窓枠の仮想画像22aと設定領域26のうち、撮影の視点からの距離が長いオブジェクトを選択する(S7)。この場合には、窓枠の仮想画像22aにおける撮影の視点からの距離は、マーカー21が設けられた壁より手前に突出した位置であり、設定領域26は、マーカー21が設けられた壁の表面なので、設定領域26が選択される。
【0059】
次に、制御部12は、選択されたオブジェクトが設定領域26か否かが判定される(S8)。この場合には、設定領域26なので、制御部12は、画像仮想展開領域14bの各画素のうち、設定領域26が配置される画素の画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換える(S9)。この状態にて、画像仮想展開領域14bには、図3(f)に示すような、撮影された壁の実画像20上の、窓枠の内側に相当する領域のみに景色の仮想画像22bが配置された画像を形成する画像データが記憶されている。第1実施形態の場合には、合成する領域が設定領域26か否かを判定し(S8)、設定領域26の場合には画像仮想展開領域14bの画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換え(S9)、設定領域26でない場合には、画像仮想展開領域14bの画像データを、仮想画像22の画像データに書き換える(S10)処理が画像合成工程に含まれる。
【0060】
次に、制御部12は、さらに合成すべき画像があるか否かを判定する(S6)。この場合には、窓枠の仮想画像22aが残っているため、画像を合成する処理を継続する。この場合には、撮影の視点からの距離に拘わらず窓枠の仮想画像22aが選択される(S7)。
【0061】
次に、制御部12は、選択されたオブジェクトが設定領域26か否かが判定される(S8)。この場合には、設定領域26ではないので、制御部12は、画像仮想展開領域14bの各画素のうち、窓枠の仮想画像22aが配置される画素の画像データを、窓枠の仮想画像22aの画像データに書き換える(S10)。この状態にて、画像仮想展開領域14bには、図3(g)に示すような、撮影された壁に窓枠があり、窓枠の内側に景色の画像が配置された合成画像24を形成する画像データが記憶されている。
【0062】
次に、制御部12は、さらに合成すべき画像があるか否かを判定する(S6)。このとき、合成すべきオブジェクトが残っていないため、画像を合成する処理を終了して画像仮想展開領域14bに記憶されている画像のデータに基づいて表示部16に画像を表示する(S11)。
【0063】
第1実施形態の画像合成方法によれば、マーカー21が設けられた壁を撮影したときに、マーカー21が示す合成情報に基づいて、実画像20に窓枠の仮想画像22aや景色の仮想画像22bが合成されるとともに、設定領域には実画像20が配置されるので、単純に実画像20と窓枠の仮想画像22aや景色の仮想画像22bとが合成されるだけでなく、設定領域26には設定された実画像20を配置することが可能である。このため、本来景色が見えるはずがない窓枠の外側を設定領域26として設定することにより、設定領域26に実画像20を配置して、窓枠の外側の領域を壁とすることが可能である。このため、より現実に即した合成画像を生成することが可能である。
【0064】
また、窓枠の仮想画像22a、景色の仮想画像22b及び設定領域26などは、合成情報において視点からの距離が長く設定されているものから順次、撮影された実画像20の画像データと書き換えられるので、視点からの距離が最も短いもの、すなわち視点により近くに位置するものが、合成画像24上に現れる。このため、実画像20と窓枠の仮想画像22a及び景色の仮想画像22bとを、あたかも視点から見えるような状態に配置することが可能である。
【0065】
また、撮影された被写体の、視点からの距離より長い距離が設定された、例えば景色の仮想画像22bの領域に設定された設定領域26に実画像20の画像データが配置されるので、本来実画像20の後に隠れるべき景色の仮想画像22bの画像データが実画像20の画像データに書き換えられる。このため、合成された合成画像24は、あたかも視点から見えるように実画像20と窓枠の仮想画像22a及び景色の仮想画像22bとを合成することが可能である。このため、さらに現実に即した合成画像24を生成することが可能である。
【0066】
<第2実施形態>
第2実施形態の画像合成方法も、撮像部10にて撮影するためのシャッターが操作されて処理が開始されることは第1実施形態と同様である。以下、第1実施形態と同様の部材については同符号を付し、一部説明を省略する。
【0067】
第2実施形態の場合には、被写体として、2つの机が配置された室内であって、机にマーカー21が設けられている室内が撮影されることとする。このとき、2つの机は、奥行き方向に前後に配置されており、手前側の机(以下、手前机という)が奥側の机(以下、奥机という)より僅かに左寄りに配置されている。撮影された実画像において、2つの机は、背景(床や壁)とは異なる画像要素23a、23bとして設定されるとともに、所定の条件に基づいて実画像の画像データ、すなわち、手前机の画像要素23a及び奥机の画像要素23bの画像データが配置されるように設定された設定領域をなしている。
【0068】
また、第2実施形態では、各画素にて示される画像の、撮像部10の視点の位置に対する距離に応じた距離情報としての数値(以下、深度という)を、各画素に対応させて記憶する領域となる距離情報記憶領域としての画素情報記憶領域14dに各画素の深度を記憶する深度バッファーが設けられている。この距離情報は、撮像部10の視点の位置に対する距離に応じた深度として与えられており、撮像部10の視点の位置から近い位置に配置される画像から小さな深度が付与されている。
【0069】
図4は、第2実施形態の画像合成方法を説明するためのフローチャートである。図5は、 第2実施形態の画像合成方法における実画像、仮想画像、設定領域に設定された画像と実画像、仮想画像、画像要素の深度バッファーのイメージを示す図である。図6は、第2実施形態の画像合成方法にて画像が合成される過程と深度バッファーのイメージを示す図である。図6では、説明の便宜上、画像のイメージを示す升目と深度バッファー及び深度とを重ねて示している。
【0070】
制御部12は、シャッターが操作されると撮像部10にて被写体を撮影し(撮影工程S101)、撮影された実画像を構成する各画素のデータを、記憶部14の実画像保存記憶領域14cと、画像仮想展開領域14bとにそれぞれ記憶する(実画像記憶工程S102)。また、撮影時には、被写体と、撮像部10の視点からの距離を計測し、計測した距離情報を記憶部14に記憶する。第2実施形態では、マーカー21が設けられている2つの机及び、机の後に配置された壁の、撮像部10の視点からの距離を計測されて記憶部14に記憶される。
【0071】
画像仮想展開領域14bに記憶された実画像20の画像データには、撮像部10の視点の位置から最も遠い位置(無限遠)を示す深度が付与されており、実画像保存記憶工程S102にて実画像20の画像データが記憶されると、画素情報記憶領域14dの深度バッファーが初期化される(S103)。深度バッファーの初期化では、例えば、画像仮想展開領域14bに記憶された実画像20の各画素に付与されている深度「9」が、深度バッファーの全ての画素の深度として記憶される。この状態にて、図5(a)、図6(a)の左図に示すような、2つの机が配置された室内の実画像20を形成する画像データが画像仮想展開領域14bに記憶され、深度バッファーには、全ての画素に深度「9」が記憶されている。
【0072】
また、実画像20上に存在する2つの机が、実画像に含まれた画像要素として設定されているとともに、2つの机の画像要素の領域が設定領域26に設定されていることが設定領域情報として記憶されている。例えば、図5(b)、図5(c)に示すように手前机と奥机が画像要素23a、23bとして設定され、手前机の画像要素23aをなす各画素に位置情報として深度「1」が、奥机の画像要素23bをなす各画素に位置情報として深度「3」が、撮影時に取得したマーカー21の情報に基づいて設定される。尚、手前机の画像要素23aと奥机の画像要素23bは、撮影された実画像の画像データのサイズと同じサイズになるように、同数の画素データが与えられている。
【0073】
次に制御部12は、実画像20の画像データにマーカー21が撮影されているか否かを解析する(S104)。このとき、実画像20の画像データにマーカー21が撮影されていなかった場合には、合成する画像が存在しないと判定し、撮影された実画像20を表示部16に表示する(S115)。また、マーカー21を検出した場合には、さらにマーカー21を解析して、マーカー21により示される情報とマーカー21の情報に対応づけられている合成情報を合成情報記憶領域14aから取得する(情報取得工程S105)。
【0074】
第2実施形態の場合には、マーカー21により、仮想画像22として2つの人物の全身を表す人物の仮想画像22c、22dが特定され、実画像に含まれる画像要素23として2つの机の画像要素23a、23bが特定され、2つの机の画像要素23a、23bが設定領域26に設定されている情報を取得する。
【0075】
また、合成情報として、2つの人物の仮想画像22d、22dのうちの一方の人物の仮想画像(以下、手前人物像という)22cが2つの机の間に位置し、2つの人物像のうちの他方の人物の仮想画像(以下、奥人物像という)22dが奥机と壁との間に位置することを示す距離情報が取得される。この距離情報は、撮像部10の視点の位置に対する距離に応じた深度として与えられているので、この例では、たとえば、手前人物像22cに距離情報として深度「2」が、奥人物像22dに位置情報として深度「4」が、各画素に対応させて付与されている。
【0076】
また、2つの机を示す画像要素23a、23bには、撮影の視点からの距離が、マーカー21が設けられている各机と同じ距離であるという距離情報などの合成情報が取得される。ここで、2つの机の画像要素23a、23bの距離情報としては、手前机の画像要素23aの各画素に位置情報として深度「1」が、奥机の画像要素23bの各画素に位置情報として深度「3」が取得される。以下の説明では、2つの仮想画像22c、22d及び2つの画像要素23a、23bをそれぞれオブジェクトともいう。
【0077】
次に制御部12は、2つの人物の仮想画像22c、22d及び2つの画像要素23a、23bから1つのオブジェクトを選択する(S106)。このとき選択されるオブジェクトは、特定された順など、予め設定されている順に選択される。ここでは、例えば、まず、手前人物像22cが選択されたとする。
【0078】
次に、選択された手前人物像22cの画像データは、制御部12により、撮影時に計測されて記憶されている距離情報に基づいて適宜大きさに変換される。変換された手前人物像22cの画像データに基づいて、画像仮想展開領域14bにおいて手前人物像22cが配置される画素が特定される(S108)。
【0079】
次に、制御部12は、手前人物像22cの画素データが配置されると特定された、画像仮想展開領域14bの各画素に対して、深度バッファーに記憶されている深度と、手前人物像22cの画素データに設定されている深度とを画素毎に順次比較する(S109)。このとき、深度バッファーは初期化されて全ての画素の深度として「9」が記憶されているので、手前人物像22cの全ての画素に設定されている深度「2」の方が小さく、撮影の視点に近いと判定される。
【0080】
そして、手前人物像22cに設定されている深度「2」の方が深度バッファーの対応する画素の深度よりの小さい場合には、当該画素が設定領域26、すなわち、手前机の画像要素23a及び奥机の画像要素23bに含まれているか否かが判定される(S110)。第2実施形態の場合には、手前人物像22cに設定されている深度「2」であり、手前机の画像要素23aに設定されている深度が「1」、奥机の画像要素23bに設定されている深度が「3」なので、手前人物像22cの画素が奥机の画像要素23bに設定されている設定領域26に含まれるか否かは判定されない。
【0081】
そして、手前人物像22cの対象となる画素が、設定領域に設定されている手前机の画像要素23aに含まれていない場合には、画像仮想展開領域14bの対象となる画素の画像データを、仮想画像である手前人物像22cの画像データに書き換えるとともに(S112)、深度バッファーの深度を手前人物像22cに設定されている深度「2」に更新する(S113)。
【0082】
一方、手前人物像22cの対象となる画素が、設定領域に設定されている手前机の画像要素23aに含まれている場合には、画像仮想展開領域14bの対象となる画素の画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換えるとともに(S111)、深度バッファーの深度を手前机の画像要素23aに設定されている深度「1」に更新する(S113)。
【0083】
このように、手前人物像22cが有する各画素について、深度の比較、設定領域26か否かの判定がなされ、必要に応じて、実画像保存記憶領域14cの画像データが書き換えられ、深度バッファーの深度が更新されて、手前人物像22cの全ての画素について処理が完了する。
【0084】
この状態にて、画像仮想展開領域14bには、図6(b)の左図のように、手前机と奥机との間に手前人物像22cが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素23aと重なる手前人物像22cの領域には深度「1」が、手前机の画像要素23aと重ならない手前人物像22cの領域には深度「2」が書き込まれる。ここで、仮想画像を構成する各画素の深度と深度バッファーの深度とを比較する工程(S109)から深度バッファーを更新する工程(S113)が、画像合成工程に含まれる。
【0085】
次に制御部12は、対象となるオブジェクトが全て処理されたか否かを判定する(S104)。この場合には、奥人物像22d、2つの画像要素23a、23bの処理がなされていないので、処理が行われていないオブジェクトのうちから、例えば手前机の画像要素23aが選択されて(S106)、処理が実行される。具体的には、まず、手前机の画像要素23aの画像データが、制御部12により、マーカー21による距離データに基づいて適宜大きさに変換される。変換された手前机の画像要素23aの画像データに基づいて、手前机23aが配置される、画像仮想展開領域14bの画素が特定される(S108)。
【0086】
次に、制御部12は、手前机の画像要素23aの画素データが配置される画像仮想展開領域14bの各画素に対して、深度バッファーに記憶されている深度と、手前机の画像要素23aの画素データに設定されている深度とを画素毎に順次比較する(S109)。このとき、深度バッファーは手前人物像22cの処理により、図6(b)の左図に示すように、手前人物像22cの領域以外の画素は深度「9」が記憶されており、その他の画素は深度「2」が記憶されている。このため、手前机の画像要素23aの各画素は、手前人物像22cの処理にて書き換えられた画素よりも深度が小さいので、手前机の画像要素23aの各画素はすべて、設定領域26か否かが判定される(S110)。
【0087】
第2実施形態の場合には、手前机の画像要素23aは全ての画素が設定領域に設定されているので、画像仮想展開領域14bの対象となる画素の画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換えるとともに(S111)、深度バッファーの深度を手前机の画像要素23aに設定されている深度「1」に更新する(S113)。
【0088】
このように、手前机の画像要素23aの各画素について、深度の比較、設定領域26か否かの判定がなされ、必要に応じて、実画像保存記憶領域14cの画像データが書き換えられ、深度バッファーの深度が更新されて、手前机の画像要素23aの全ての画素について処理が完了する(S107)。
【0089】
この状態にて、画像仮想展開領域14bには、図6(c)の左図に示すように、手前机と奥机との間に手前人物像22cが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素23aの領域には深度「1」が、手前机の画像要素23aと重ならない手前人物像22cの領域には深度「2」が書き込まれている。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程(S109)から深度バッファーを更新する工程(S113)が、画像合成工程に含まれる。
【0090】
次に制御部12は、対象となるオブジェクトが全て処理されたか否かを判定する(S104)。この場合には、奥人物像22d、奥机の画像要素23dの処理がなされていないので、処理が行われていないオブジェクトのうちから、例えば奥机の画像要素23bが選択されて(S106)、処理が実行される。具体的には、まず、奥机の画像要素22dの画像データが、制御部12により、マーカー21による距離データに基づいて適宜大きさに変換される。変換された奥机の画像要素22dの画像データに基づいて、奥机22dが配置される、画像仮想展開領域14bの画素が特定される(S108)。
【0091】
次に、制御部12は、奥机の画像要素23bの画素データが配置される画像仮想展開領域14bの各画素に対して、深度バッファーに記憶されている深度と、奥机の画像要素23bの画素データに設定されている深度とを画素毎に順次比較する(S109)。このとき、深度バッファーは手前机の画像要素23aまでの処理により、図6(c)に示すように、手前人物像22c及び手前机の画像要素23aの領域以外の画素は深度「9」が記憶されており、手前人物像22cの領域は手前机の画像要素23aと重なならない画素に深度「2」が記憶されており、手前机の画像要素23aの画素には深度「1」が記憶されている。このため、深度「3」が記憶されている奥机の画像要素23bの各画素は、手前机の画像要素23aまでの処理にて書き換えられた画素は全て、深度が小さいので、奥机の画像要素23bの各画素のうち、手前人物像22cおよび手前机の画像要素23aと重なっていない画素について、設定領域26か否かが判定される(S110)。
【0092】
第2実施形態の場合には、奥机の画像要素23bは全ての画素が設定領域に設定されているので、画像仮想展開領域14bの対象となる画素の画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換えるとともに(S111)、深度バッファーの深度を奥机の画像要素23bに設定されている深度「3」に更新する(S113)。
【0093】
このように、奥机の画像要素23bの各画素について、深度の比較、設定領域26か否かの判定がなされ、必要に応じて、実画像保存記憶領域14cの画像データが書き換えられ、深度バッファーの深度が更新されて、奥机の画像要素23bの全ての画素について処理が完了する(S107)。
【0094】
この状態にて、画像仮想展開領域14bには、図6(d)に示すように、手前机と奥机との間に手前人物像22cが描かれた画像を形成する画像データが記憶され、深度バッファーには、手前机の画像要素23aの領域には深度「1」が、手前机の画像要素23aと重ならない手前人物像22cの領域には深度「2」が、手前机の画像要素23a及び手前人物像22cのいずれとも重ならない奥机の画像要素23bの領域には深度「3」が書き込まれている。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程(S109)から深度バッファーを更新する工程(S113)が、画像合成工程に含まれる。
【0095】
次に制御部12は、対象となるオブジェクトが全て処理されたか否かを判定する(S104)。この場合には、奥人物像22dの処理がなされていないので、処理が行われていない奥人物像22dが選択されて(S106)、処理が実行される。
【0096】
具体的には、まず、奥人物像22dの画像データが、制御部12により、撮影時に計測されて記憶されている距離データに基づいて適宜大きさに変換される。変換された奥人物像22dの画像データに基づいて、奥人物像22dが配置される、画像仮想展開領域14bの画素が特定される(S108)。
【0097】
次に、制御部12は、奥人物像22dの画素データが配置されると特定された、画像仮想展開領域14bの各画素に対して、深度バッファーに記憶されている深度と、奥人物像22dの画素データに設定されている深度とを画素毎に順次比較する(S109)。このとき、深度バッファーは奥机の画像要素23bまでの処理により、図6(d)に示すように、手前人物像22c、手前机の画像要素23a、奥机の画像要素23b以外の画素は深度「9」が記憶されており、手前人物像22cの領域は手前机の画像要素23aと重ならない画素に深度「2」が記憶されており、手前机の画像要素23aの画素には深度「1」が記憶されており、手前机の画像要素23a及び手前人物像22cのいずれとも重ならない奥机の画像要素23bの領域には深度「3」が記憶されている。このため、深度「3」が記憶されている奥机の画像要素23bの各画素は、奥机の画像要素23bまでの処理にて書き換えられた画素は全て、深度が小さいので、奥机の画像要素23bの各画素のうち、手前人物像22c、手前机の画像要素23a、奥机の画像要素23bのいずれとも重なっていない画素について、設定領域26か否かが判定される(S110)。
【0098】
このとき、奥人物像22dは設定領域26ではないので、手前人物像22c、手前机の画像要素23a、奥机の画像要素23bのいずれとも重なっていない画素については、画像仮想展開領域14bの対象となる画素の画像データを、実画像保存記憶領域14cに記憶されている実画像20の画像データに書き換えるとともに(S111)、深度バッファーの深度を奥人物像22dに設定されている深度「4」に更新する(S113)。ここで、画像要素の各画素の深度と深度バッファーの深度とを比較する工程(S109)から深度バッファーを更新する工程(S113)が、画像合成工程に含まれる。
【0099】
次に制御部12は、対象となるオブジェクトが全て処理されたか否かを判定する(S104)。このとき、4つのオブジェクト22c、22d、23a、23bに対して処理が完了しているので、画像の合成処理を完了し、画像仮想展開領域14bに記憶されている画像の画素データに基づいて表示部16に画像を表示する(S115)。このとき表示部16には、図6(e)に示すような、画像合成装置1の視点位置から見た室内に2つの机が存在し、手前机と奥机との間に手前人物像22cが配置され、実画像の奥机と壁の間に奥人物像22dが配置された画像が表示されている。
【0100】
第2実施形態の画像合成方法によれば、撮影により取得された、合成情報に基づいて、撮影した実画像20の画像データを、仮想画像22c、22d及び画像要素23a、23bのうちの視点からの距離が短い方の画像データに書き換えるとともに、視点からの距離が短い方が設定領域26に設定されている場合には実画像20の画像データに書き換えて合成するので、単純に視点からの距離だけに基づいて実画像20と仮想画像22c、22dとが合成されるだけでなく、視点からの距離が短い領域が設定領域26の場合には必ず実画像20を前面に配置することが可能である。
【0101】
また、合成画像24を生成するための合成情報には、実画像20と合成する仮想画像22c、22d、及び、実画像20に含まれる画像要素23a、23bを特定する情報、実画像20、仮想画像22c、22d、画像要素23a、23bの、撮影の視点からの距離を示す距離情報、予め実画像20の画像データを配置することが設定されている設定領域26を特定する情報、が含まれているので、撮影時の状況に応じた情報を取得することができるとともに、合成情報を撮影により取得することが可能である。このため、より現実に即した合成画像24を容易に生成することが可能である。
【0102】
また、実画像20に含まれる画像要素23a、23bが設定領域26に設定されているので、実画像20に仮想画像22c、22dを重ね合わせた後に、実画像20を上書きしたい場合には、容易に実画像20を前面に配置することが可能である。
【0103】
また、画像仮想展開領域14bに記憶されている画像データの各画素に対応する距離情報としての深度が画素情報記憶領域14dに記憶されており、画像仮想展開領域14bの画像データが書き換えられる毎に、書き換えた画像データの深度に画素情報記憶領域14dの深度が書き換えられるので、画素情報記憶領域14dに記憶されている深度を常に画像仮想展開領域14bの画像データと対応させて最新の状態に更新しておくことが可能である。
【0104】
また、画像仮想展開領域14bに記憶された実画像20の画像データを構成する各画素は、視点からの距離が無限遠に設定されているので、撮影された実画像20上に、合成すべき仮想画像22c、22d及び設定領域26に対応づけられた画像要素23a、23bを配置することが可能である。このため、撮影した実画像20を元画像として画像データを書き換えつつ画像を合成することが可能である。
【0105】
また、画像を合成する際には、画素毎に画素情報記憶領域14dの深度と、仮想画像22c、22dに設定されている深度及び画像要素23a、23bに設定されている深度とが比較されるので、画像仮想展開領域14bに対応して常に最新の状態に更新されている画像仮想展開領域14bの各画素の深度に対する、合成する仮想画像22c、22dの深度及び画像要素23a、23bの深度とが比較されて、画素ごとに、画像仮想展開領域14bの画像データを、より正確に視点に近い側の画像データに書き換えることが可能である。このため、さらに現実に即した合成画像24を生成することが可能である。
【0106】
上記第2実施形態においては、仮想画像22を構成する1つの画素の深度と深度バッファーの深度とを比較し、仮想画像22の深度の方が小さい(視点に近い)場合に、対象となる画素が設定領域26に含まれるか否かを判定することとしたが、これに限るものではない。たとえば、撮影後に初期化した深度バッファーに、予め設定領域に含まれる画素に設定された深度を記憶し、深度バッファーの設定領域26に対応する画素の深度が書き換えられた深度バッファーと、仮想画像22の深度を比較して画像を合成しても良い。
【0107】
また、上記2つの実施形態では、いずれも被写体にマーカー21が設けられている例について説明したが、これに限るものではない。たとえば、GPSなどにより撮影位置を特定し、デジタルコンパスなどにより撮影方向を特定し、特定された撮影位置と撮影方向とに基づいて記憶領域に予め記憶されている仮想画像及び設定領域を特定するとともに、仮想画像及び設定領域に対応づけられた合成情報を取得して合成画像を生成してもよい。
【0108】
また、仮想画像の絶対座標を予め記憶領域に記憶しておき、撮影位置や撮影方向の特定と同時に3Dレーザスキャナなどで撮影された画面の範囲に含まれる壁などの物体と撮像部との距離(画素ごとの各点と撮像部との距離)を測定し、仮想画像の絶対座標が画像合成装置の撮像部が撮影しているはずの座標の範囲に含まれる場合であって、現実の壁などの物体と撮像部との距離よりも仮想画像と撮像部との距離の方が近ければ、対応する画素の部分について当該仮想画像を撮影された画像に重ね合わせて表示することとしても良い。
【0109】
具体的には、例えば、実物のビルの壁に、仮想の”窓”を合成するとする。このとき、窓枠として、複数種類のデザインの仮想画像が画像合成装置に記憶されており、利用者が画像合成装置を操作して、窓枠のデザインを切替えて、各々の窓枠と壁と景色とを合成した合成画像を表示する。このような画像合成装置を用いると、室内の様々な角度から窓和訓デザインを確認することを可能とし、利用者が最も見栄えの良い窓枠のデザインを選択することが可能となる。このとき、景色が窓枠に合わせて正しく切り取られるようにするため、窓枠の周囲の壁を設定(マスキング)領域に設定しておく。そして、上記のようにマーカーを使用する場合には、マーカーにより、合成する窓枠デザインの特定と、窓枠の取り付け位置と撮像部との相対的な位置関係を示す情報の取得と、をすることが可能となる。
【0110】
一方、マーカーを用いない場合には、合成する窓枠デザインを例えば画像合成装置が備えるユーザーインターフェースにて、選択及び切り替えることとなる。また、窓枠の取り付け位置と撮像部との相対的な位置関係を示す情報は、例えば、取り付け位置の緯度・経度があらかじめ分かっている場合には、カメラの緯度・経度をGPSで取得することにより、撮像部の相対的な位置を得ることが可能となる。また、別の方法としては、例えば、撮像部の向きをデジタルコンパスで取得し、取り付け位置までの距離をレーザー距離計などで計測して、座標変換を行っても相対的な位置の上方を得ることが可能である。
【0111】
上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。
【0112】
上記実施形態においては、画像合成装置1の視点を、第1実施形態の窓枠が設けられる壁、及び、第2実施形態の最も奥に位置する室内の壁に対し、正面に配置した例について説明したが、仮想画像が3次元にて表現可能なデータを有していれば、画像合成装置1の視点を、壁に対して傾いた位置に設定しても構わない。画像合成装置1の視点を、壁に対して傾いた位置に設定した場合には、傾きに対応させて仮想画像や設定領域の形状が、位置情報に基づいて変更される。
【0113】
上記実施形態では、静止画像を合成する例について説明したが、動画を合成する場合には、動画のフレームレートに合わせて、合成した画像を生成して表示すればよい。例えば、フレームレートが15fpsであれば、1秒間に15回、上記のように画像の合成処理を繰り返し表示部の画像を書き換えることにより実現可能である。
【符号の説明】
【0114】
1 画像合成装置、10 撮像部、12 制御部、14 記憶部、
14a 合成情報記憶領域、14b 画像仮想展開領域、
14c 実画像保存記憶領域、14d 画素情報記憶領域、16 表示部、
18 操作部、20 実画像、21 マーカー、22 仮想画像、
22a 窓枠の仮想画像、22b 景色の仮想画像、22c 手前人物像、
22d 奥人物像、23a 手前机の画像要素、23b 奥机の画像要素、
24 合成画像、26 設定領域
図1
図2
図4
図3
図5
図6