(57)【要約】【課題】精度よく合成用画像を合成する。【解決手段】デジタルカメラ１００の再構成部１５０は、ライトフィールド画像から、所定の再構成距離において合成用画像である再構成画像を生成する。設定部１６０は、２つの再構成画像の一方における比較部位と他方における比較部位との組合せを複数設定する。重み決定部１７０は、比較部位に含まれる画素の重み付け値を、その画素に対応する被写体までの被写体距離と所定の再構成距離との差に基づいて決定する。類似度決定部１８０は、組合せの比較部位同士の類似度を重み付け値を用いて決定する。合成部１９０は、２つの再構成画像を類似度が高い組合せの比較部位で合成する。【選択図】図５
2014149798.tif 000002
【特許請求の範囲】
【請求項１】
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段と、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段と、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段と、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記２つの合成用画像と、該２つの合成用画像を構成する画素毎の被写体距離と、前記所定の基準距離と、を記憶する記憶手段を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合成用画像は、前記被写体を異なる複数の視点から撮影した複数のサブ画像を含む多視点画像から再構成された再構成画像であり、
前記被写体距離は、前記被写体が写る位置が前記サブ画像間でずれる程度に基づいて推定され、
前記所定の基準距離は、前記再構成画像を再構成した際の再フォーカスの距離である所定の再構成距離であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記２つの合成用画像に含まれる画素のうち、前記被写体距離と前記所定の基準距離との差が所定の閾値よりも大きい画素にボケを付加するボケ付加手段をさらに備え、
前記合成手段は、前記画素にボケが付加された２つの合成用画像を合成することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記重み決定手段は、前記重み付け値を前記被写体距離と前記所定の基準距離とが一致する場合に最大値にすることを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記重み決定手段は、前記重み付け値を前記被写体距離と前記所定の基準距離との差が大きい程小さくすることを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
前記多視点画像に含まれる複数のサブ画像のうち、前記合成手段が合成した結果得られた合成画像に含まれる画素の元となった画素を含むサブ画像を特定し、該特定したサブ画像以外のサブ画像を前記多視点画像から削除して該多視点画像を保存する保存手段を備えることを特徴とする請求項３に記載の画像処理装置。
【請求項８】
前記類似度決定手段は、前記組合せの比較部位のうち一方の比較部位の複数の画素それぞれの画素値と、他方の比較部位の複数の画素それぞれの画素値と、の差分二乗値に前記重み付け値をそれぞれ乗じた値の和に基づいて前記組合せの比較部位同士の類似度を決定することを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項９】
撮影手段と、
前記撮影手段によって撮影された２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段と、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段と、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段と、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段と、を備えることを特徴とする撮像装置。
【請求項１０】
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定ステップと、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定ステップと、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定ステップと、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成ステップと、を含むことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、様々なデジタルカメラが知られている。
例えば、撮影後にユーザがピント調節できるライトフィールドカメラが知られている（例えば、特許文献１参照）。撮影後にピント調節が出来る利点を生かすためには、望遠レンズを用いてカメラからの距離（被写体距離）が異なる複数の被写体を含むように撮影することが望ましい。
【０００３】
一方で、撮影した画像を合成して画角を広くすることができるデジタルカメラが知られている（例えば、特許文献２を参照）。このデジタルカメラでは、いわゆるパノラマ撮影のようにカメラを移動させながら連続撮影を行い、得られた複数の合成用画像をパノラマ合成して画角の広い画像を生成している。具体的には、特許文献２におけるパノラマ合成は、２つの合成用画像に複数の対応するラインを引き、その対応するライン同士の類似度を全て算出して類似度が最も高いラインで２つの合成用画像を合成するようしている。この特許文献２では、比較対象となる２本のライン上に含まれる画素の輝度値のＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）を用いて、ＳＳＤが最も低いラインを類似度が最も高い２本のラインと判別する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５１５１１０号公報
【特許文献２】特開２０１２−０８０２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、特許文献１のライトフィールドカメラでは、望遠レンズを用いて被写体距離が異なる複数の被写体を含むように撮影することが望ましい。この場合、望遠レンズで撮影するため、撮影により得られた画像の画角が狭くなってしまう。このような事情から、特許文献２の技術を用いて、被写体距離が異なる複数の被写体を撮影位置や撮影角度を変えて撮影した複数の画像を合成用画像として合成して画角を広げることが考えられる。この場合撮影時の視差により、被写体同士の相対位置が合成用画像間で変化する。
ところで、特許文献２の技術では、合成用画像の比較部位（比較対象となる２本のライン）に含まれる画素同士を一律に比較して類似している位置（輝度のＳＳＤが最も小さいライン）を合成位置とする。このため、被写体同士の相対位置が合成用画像間で変化する場合には合成の継ぎ目で主要な被写体がずれてしまうことがあった。よって、合成用画像を合成する精度の更なる向上が望まれる。
【０００６】
本発明は、上記のような事情に鑑みてなされたものであって、精度よく合成用画像を合成する装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、この発明の第１の観点に係る画像処理装置は、
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段と、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段と、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段と、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、精度よく合成用画像を合成することができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施形態に係るデジタルカメラのハードウェア構成を示すブロック図である。
【図２】図１に示したデジタルカメラの光学系の構成例を示す模式図である。
【図３】ライトフィールド画像の概念図である。
【図４】ライトフィールド画像と再構成画像の一例を示す写真である。
【図５】デジタルカメラの機能構成を示すブロック図である。
【図６】実施形態に係る再構成処理の流れの一例を示すフローチャートである。
【図７】距離推定テーブルの一例を示す図である。
【図８】部分画像定義テーブルの一例を示す図である。
【図９】配置間隔テーブルの一例を示す図である。
【図１０】ライトフィールド画像から再構成画像を生成する処理の概要を示す図である。
【図１１】被写体距離テーブルの一例を示す図である。
【図１２】実施形態に係るパノラマ合成処理の流れの一例を示すフローチャートである。
【図１３】パノラマ撮影モードの撮影動作の一例を示す図である。
【図１４】再構成画像の合成の流れを説明するための図である。
【図１５】実施形態に係る類似度算出処理の流れの一例を示すフローチャートである。
【図１６】重み付け値テーブルの一例を示す図である。
【図１７】パノラマ画像の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、この発明の実施形態を図面に基づいて説明する。
まず、図１を参照しながらデジタルカメラ１００のハードウェア構成について説明する。図１に示すように、デジタルカメラ１００は、撮影部１１０と画像処理装置１２０と操作部１３０と表示部１４０とを備える撮像装置である。
撮影部１１０は、メインレンズ１１１とマイクロレンズアレイ１１２と撮像素子１１３とを備える。この撮影部１１０の詳細については後述する。
次に、画像処理装置１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２１とＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２２とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２３とＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１２４と角速度センサ１２５とメディアドライブ１２６とリムーバルメディア１２７とを備える。
【００１１】
このうち、ＣＰＵ１２１は、画像処理装置１２０及びデジタルカメラ１００を制御する中央演算装置である。
ＲＯＭ１２２は、ＣＰＵ１２１が実行するプログラムを格納している不揮発性メモリである。
ＲＡＭ１２３は、ＣＰＵ１２１が実行するプログラムを一時的に記憶し、ＣＰＵ１２１が各種処理を行う際の作業領域として使用する揮発性メモリである。
【００１２】
ＨＤＤ１２４は、各種画像のデータ、各種テーブル及び各種設定情報を記憶する記憶手段である。各種画像のデータとしては、例えば後述するライトフィールド画像のデータ、再構成画像のデータ及びパノラマ画像のデータなどである。なお、このライトフィールド画像は、多視点画像の一種である。また、各種テーブルとしては、例えば後述する部分画像定義テーブル、配置間隔テーブル及び被写体距離テーブルなどである。また、各種設定情報としては、例えばメインレンズ１１１の焦点距離、マイクロレンズアレイ１１２の各マイクロレンズの焦点距離及び撮像素子１１３の置かれた位置などである。
【００１３】
角速度センサ１２５は、ジャイロなどを備え、デジタルカメラ１００の角度変位量を検出する検出手段である。
メディアドライブ１２６は、磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリなどのリムーバブルメディア１２７を装着するためのものである。メディアドライブ１２６に装着されたリムーバブルメディア１２７から読み出されたプログラムは、必要に応じてＨＤＤ１２４にインストールされる。また、リムーバブルメディア１２７は、ＨＤＤ１２４に記憶されている画像データなどの各種データを、ＨＤＤ１２４と同様に記憶することができる。
【００１４】
次に、操作部１３０は、シャッターキー、電源スイッチ及びモード切替スイッチなどの複数のスイッチを備える。シャッターキーは、撮影部１１０による撮影処理のトリガとなるスイッチである。電源スイッチは、デジタルカメラ１００の電源を入れるためのスイッチである。モード切替スイッチは、パノラマ合成を行わない通常撮影モードと、パノラマ合成を行うパノラマ撮影モードと、を切り替えるためのスイッチである。
表示部１４０は、液晶ディスプレイ又は有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示手段である。この表示部１４０は、ＨＤＤ１２４又はリムーバルメディア１２７に記憶された各種画像のデータに基づいて、その各種画像を表示する。
【００１５】
ここで、図２を参照しながら、デジタルカメラ１００の撮影部１１０の詳細について説明する。図２に示すように、デジタルカメラの光学系においては、被写体ＯＢから見て、メインレンズ１１１と、マイクロレンズアレイ１１２と、撮像素子１１３と、がその順番で配置されている。
メインレンズ１１１は、一又は複数の凸レンズ、凹レンズ又は非球面レンズなどから構成される。このメインレンズ１１１は、被写体ＯＢ上の点から射出された光束を集光して結像面ＭＡに結像させる。
【００１６】
マイクロレンズアレイ１１２は、平面状に格子状に配置されたＮ×Ｍ個（Ｎ及びＭは２以上の任意の整数値）のマイクロレンズ１１２−１乃至１１２−Ｎ×Ｍから構成される。図２には、縦一列（Ｍ個）のマイクロレンズが図示されている。なお、各マイクロレンズ１１２−ｉ（ｉは、１乃至Ｎ×Ｍの範囲内の整数値）は、同じ大きさの径をもち、マイクロレンズアレイ１１２に同じ間隔で格子状に配列されている。
このマイクロレンズ１１２−ｉは、被写体ＯＢからメインレンズ１１１を介して入射されてくる光束を入射方向毎に集光して、撮像素子１１３上にサブ画像として結像させる。
【００１７】
撮像素子１１３は、各マイクロレンズ１１２−ｉにより結像された複数のサブ画像を含むライトフィールド画像（Ｌｉｇｈｔ  Ｆｉｅｌｄ  Ｉｍａｇｅ  ：ＬＦＩ）を生成するイメージセンサである。
このライトフィールド画像は、被写体ＯＢを同時に複数の視点から見た複数のサブ画像を含む。このライトフィールド画像の概念図を図３に示す。この図３は、ブロック状の被写体ＯＢを撮影したライトフィールド画像の一例である。
このライトフィールド画像は、格子状に配置されたＮ×Ｍ個のマイクロレンズ１１２−ｉのそれぞれに対応するサブ画像（Ｓ１１〜ＳＭＮ）から構成される。例えば、左上のサブ画像Ｓ１１は、被写体ＯＢを左上から撮影した画像に相当し、右下のサブ画像ＳＭＮは、被写体ＯＢを右下から撮影した画像に相当する。
【００１８】
このライトフィールド画像の写真の一例を図４（a）に示す。ライトフィールド画像は、被写体ＯＢを同時に複数の視点から見た複数のサブ画像を含むので、デジタルカメラ１００の画像処理装置１２０が各サブ画像を適切に合成することで、ユーザが再フォーカスしたい距離にピントを合わせた画像を再構成することができる（図４（ｂ））。ライトフィールド画像から図４（ｂ）に示すような再構成画像（Ｒｅｃｏｎｓｔｒｕｃｔｅｄ  Ｉｍａｇｅ :ＲＩ）を生成する処理である再構成処理については後述する。
なお、被写体の像を再構成する仮想的な面のことを再構成面と称して以下説明する。また、再構成面からメインレンズ１１１までの仮想的な距離のことを再構成距離と言う。再構成距離は、被写体の像を再フォーカスした距離でもある。本実施形態では、再構成距離に近い被写体が合成画像上でずれないように位置合わせをしてパノラマ合成する。そのため、再構成距離を位置合わせの基準となる距離（基準距離）とする。また、この実施形態では各サブ画像はグレースケール画像であり、サブ画像を構成する各画素は画素値を持つ。
【００１９】
ここで、ＣＰＵ１２１は、ＲＯＭ１２２内の各種プログラムを読み出し、ＲＡＭ１２３に展開した後、その各種プログラムに従って画像処理装置１２０を制御することで、図５に示すような各部の機能を発揮することができる。機能としては、図５に示すように、再構成部１５０、設定部１６０、重み決定部１７０、類似度決定部１８０、合成部１９０及び保存部２００を備える。なお、各部の機能の実行主体はＣＰＵ１２１であるが、説明の便宜上、各部の機能を実行主体として説明する。
【００２０】
まず、再構成部１５０は、それぞれ異なる視点から被写体ＯＢを撮影した複数のサブ画像を含むライトフィールド画像から所定の再構成距離において再構成画像を生成する再構成手段である。
具体的には、再構成部１５０は、ライトフィールド画像に含まれる複数のサブ画像を構成する各画像の画素ズレ係数に基づいて、画素毎に被写体ＯＢまでの距離を推定する。そして、推定した被写体までの距離と所定の再構成距離との差に応じて画素毎にボケを付加する。この再構成部１５０は、ボケ付加手段としても機能する。
次に、ライトフィールド画像に含まれる各サブ画像の画像ズレ係数に基づいて、各サブ画像から部分画像を切り取る際の大きさと、再構成面に部分画像を配置する際の配置間隔と、を特定する。ここで、サブ画像から部分画像を切り取るとは、部分領域の境界を決定した上でサブ画像から部分画像を抽出することをいう。ここでは切り取られた部分領域の画像データはライトフィールド画像上に残るが、その後不要である場合には削除されても良い。
【００２１】
次に、その特定した大きさの部分画像を配置間隔に従って再構成面に順次配置して所定の再構成距離における再構成画像を生成する。なお、再フォーカス可能な距離の範囲を再構成距離範囲という。この再構成距離範囲は、メインレンズ１１１などの光学系の性能等により定まるものである。この再構成距離範囲は、具体的には、サブ画像間の被写体の画素ずれ（視差）が最も大きくなるメインレンズ１１１から最も近い距離と、視差が最も小さくなるメインレンズ１１１から最も遠い距離と、の間の範囲となる。この実施形態においては、一例として、再構成距離範囲はメインレンズ１１１の手前２０ｃｍから１０ｍの範囲内であり、所定の再構成距離は中央付近の５ｍであるものとする。この所定の再構成距離の値は、ＨＤＤ１２４に予め記憶されているものとする。以下、再構成処理について図６のフローチャートを参照しながら詳述する。
【００２２】
再構成部１５０は、撮像素子１１３により生成されたライトフィールド画像を取得すると図６の再構成処理を開始する。
まず、再構成部１５０は、ｋ１をカウンタ変数として、ライトフィールド画像のｋ１番目のサブ画像に注目する（ステップＳ１１）。次に、再構成部１５０は、ステップＳ１１で注目したサブ画像である注目サブ画像の各画素の画素ズレ係数から被写体までの距離を推定する（ステップＳ１２）。具体的には、再構成部１５０は、まず注目サブ画像の各画素を順次注目画素として、その注目画素に対応する画素が、周辺サブ画像でどの程度ずれているかを示す係数（注目画素の画素ズレ係数）を算出する。画素ズレ係数は、例えば以下の方法で算出する。
【００２３】
注目サブ画像の右側（無い場合は左側）のサブ画像を、位置順にＳＲ１、ＳＲ２、…ＳＲｋとする。ｋは設定上定められた自然数である。また、注目サブ画像内の注目画素の画素値を画素値ａ、その注目画素の座標を（ｘ、ｙ）とする。現在の画素ズレをｄとして、注目画素の座標（ｘ、ｙ）の画素値ａと、右側のサブ画像ＳＲ１の座標（ｘ＋ｄ、ｙ）の画素値（右にｄ個ずれた画素の画素値）と、の差を算出する。同様に、画素値ａと、ＳＲ２の（ｘ＋２ｄ、ｙ）との差、…、ＳＲｋの（ｘ＋ｋｄ、ｙ）との差、をそれぞれ算出して、差分絶対値和を求める。これを起こりうる画素ズレ（視差）の範囲について繰り返す。得られた絶対差分値和が最小である画素ズレの数を画素ズレ係数とする。
【００２４】
ここで、画素ズレ係数は、メインレンズ１１１から遠くにある被写体を撮影した場合には小さく、近くにある被写体を撮影した場合には大きい。この画素ズレ係数の大きさは、被写体までの距離と相関関係があるので、予め画素ズレ係数の大きさと被写体までの距離である被写体距離とを対応付けた図７の距離推定テーブルを用意しておくことにより、算出した画素ズレ係数から被写体距離を推定することができる。再構成部１５０は、距離推定テーブルを用いて、注目画素について算出した画素ズレ係数から被写体距離を推定する。再構成部１５０は、注目サブ画像に含まれる全ての画素について、画素ズレ係数を算出して、被写体までの距離推定を行う。
【００２５】
なお、画素ズレ係数を求める際に上述した絶対差分値和の最小値が複数ある場合は、画素ズレ係数を求めることができないので被写体までの距離推定を行うことができない。この場合、被写体距離不明フラグをたてる。また、絶対差分値和の最小値が最小値を規定する所定値を越えない場合や、絶対差分値和の最小値の他に極小値が存在しかつ最小値と他の極小値との差が所定の値（又は比率）よりも小さい場合に、有効な画素ズレ係数を求められなかったとして、同様に被写体距離不明フラグをたてても良い。
【００２６】
図６のフローチャートに戻って、次に、再構成部１５０は、各画素について推定した被写体距離と再構成距離との差を取得する（ステップＳ１３）。具体的には、再構成部１５０は、ステップＳ１２において各画素について推定した被写体距離と所定の再構成距離（この実施形態では５ｍ）との差を取得する。
【００２７】
次に、再構成部１５０は、ステップＳ１３で算出した差が所定の閾値よりも大きい画素にボケ付加を行う（ステップＳ１４）。具体的には、再構成部１５０は、所定の閾値を越える画素であって、その差が大きい画素程、強いボケを付加するようにする。言い換えると、ある画素について推定した被写体までの距離と、再構成距離とがずれる程、その画素について強いボケを付加するようにする。一方、再構成部１５０は、ある画素について差がない場合（推定した被写体までの距離と再構成距離とが一致する場合）、再構成距離にある被写体の像を鮮明にするため、ボケ付加を行わない。なお、ボケ付加には、例えば、ガウシアンフィルタを用いる。ボケを強く付加するには、例えば、よりδが大きい（大きいカーネルの）ガウシアンフィルタによりボケ付加を行えばよい。
【００２８】
図６のフローチャートに戻って、次に、再構成部１５０は、ステップＳ１１で注目した注目サブ画像の画像ズレ係数を取得する（ステップＳ１５）。具体的には、再構成部１５０は、注目サブ画像に写る被写体が、その注目サブ画像を中心とした所定範囲の周囲のサブ画像においてどの程度ずれて写っているかを示す係数である画像ズレ係数を算出する。画像ズレ係数は、例えば以下の方法で算出する。
【００２９】
注目サブ画像の中心の所定領域（例えば、中心の１０×１０の画素の領域）を中心領域とし、その中心領域に対応する部分が右隣（無い場合は、左隣）のサブ画像のどこにあるのかを求める。具体的には、右隣の中心の１０×１０の画素の領域を算出対象領域とする。そして、中心領域と算出対象領域の各画素値の差分絶対値和をとる。次に、右に１画素ずらした算出対象領域について同様に差分絶対値和をとる。これを起こりうる画素ズレ（視差）の範囲について繰り返す。得られた差分絶対値和が最小である算出対象領域が中心領域と対応する領域である。また、その最小の差分絶対値和が得られた画素ズレの数を画像ズレ係数とする。なお、画像ズレ係数は、ステップＳ１２で求めた各画素の画素ズレ係数を平均して求めてもよい。
【００３０】
次に、再構成部１５０は、部分画像の大きさを特定する（ステップＳ１６）。具体的には、再構成部１５０は、ＨＤＤ１２４に記憶された図８に示す部分画像定義テーブルを参照して、算出した画像ズレ係数と対応する部分画像の大きさを特定する。例えば、画像ズレ係数が８画素である場合、部分画像の大きさは注目サブ画像の中心６×６画素の領域である。なお、この部分画像定義テーブルは、予めＨＤＤ１２４に記憶されているものとする。また、この部分画像定義テーブルの部分画像の大きさは、画像ズレ係数が大きい程大きくなる。これは画像ズレ係数が大きいと被写体ＯＢの位置がサブ画像間で大きくずれていることを意味し、隣接するサブ画像の部分画像を繋げて再構成画像を生成するにあたって情報の抜けを作らないためには部分画像の大きさが大きい方が好ましいからである。一方で、画像ズレ係数が小さい画像については部分画像を小さくして、再構成画像上で隣同士のサブ画像間に現れる情報が過度に重複しないようにしている。
【００３１】
次に、再構成部１５０は、配置間隔を特定する（ステップＳ１７）。具体的には、再構成部１５０は、再構成距離と画像ズレ係数とメインレンズ１１１の焦点距離と配置間隔とを対応付けた図９に示す配置間隔テーブルを参照して、部分画像の配置間隔を特定する。この配置間隔テーブルでは、予め実験により求められた好適な配置間隔が設定されている。また、この配置間隔テーブルは、予めＨＤＤ１２４に記憶されているものとする。図９の例では、再構成部１５０は、所定の再構成距離が５ｍ、算出した画像ズレ係数が８画素、設定情報であるメインレンズ１１１の焦点距離が１０ｍである場合、配置間隔として３画素を特定する。
【００３２】
次に、再構成部１５０は、部分画像を再構成面に重ね合わせ配置する（ステップＳ１８）。具体的には、再構成部１５０は、特定した大きさの部分画像を注目サブ画像から切り出して、その切り出した部分画像を配置間隔に従って再構成面に配置する。この際、部分画像の一辺の大きさは配置間隔よりも大きいので、再構成面に配置した部分画像同士が重なる。重なった部分については、画素の画素値を加算平均して再構成画像の画素値とする。
【００３３】
次に、再構成部１５０は、全サブ画像処理済か否か判断し（ステップＳ１９）、処理済でない場合（ステップＳ１９：Ｎｏ）、カウンタをインクリメントして（ステップＳ２０）、全サブ画像を処理するまでステップＳ１１乃至１８の処理を繰り返す。再構成部１５０は、全サブ画像処理済みであると判断すると（ステップＳ１９：Ｙｅｓ）、ＨＤＤ１２４に予め記憶されている所定の再構成距離において再構成した再構成画像をＨＤＤ１２４に記憶して処理を終了する。
【００３４】
ここで、図１０を参照しながらライトフィールド画像から再構成画像を生成する処理の概要について説明する。なお、説明の便宜上、特定した部分画像の大きさの一辺が配置間隔の２倍である場合を例にとって説明する。なお、この例では再構成面の端の部分を除いて、部分画像が４枚ずつ重なる。
まず、再構成部１５０は、ライトフィールド画像の左上のサブ画像Ｓ１１をサブ画像として注目する（ステップＳ１１）。そして、再構成部１５０は、ステップＳ１２乃至１４の処理により、サブ画像Ｓ１１内の各画素について被写体までの距離推定を行って、所定の再構成距離との差が所定距離以上（例えば２ｍ）である画素についてはボケ付加を行う。そして、再構成部１５０は、ステップＳ１５乃至１７の処理により、部分画像ＰＩ１１の大きさと配置間隔とを特定した後、注目サブ画像Ｓ１１から部分画像ＰＩ１１を切り出し、その切り出した部分画像ＰＩ１１を再構成面の左上に配置する（ステップＳ１８）。
【００３５】
ステップＳ１１に戻って、再構成部１５０は、次に右隣のサブ画像Ｓ１２に注目する（ステップＳ１１）。再構成部１５０は、注目サブ画像Ｓ１２から部分画像ＰＩ１２を切り出して、その切り出した部分画像ＰＩ１２を先ほど再構成面に配置した部分画像ＰＩ１１の右隣に配置する（ステップＳ１８）。切り出した部分画像ＰＩ１２の一辺が配置間隔の２倍であるので、部分画像ＰＩ１１と部分画像ＰＩ１２は水平方向に互いに重なりをもって配置される。再構成部１５０は、同様に、サブ画像Ｓ１２の右隣のサブ画像Ｓ１３から部分画像ＰＩ１３を切り出し、水平方向に重なりをもって配置する（図１０の（ａ））。
【００３６】
再構成部１５０は、この処理をライトフィールド画像の右端まで繰り返す。再構成部１５０は、右端のサブ画像Ｓ１Ｎの処理が済んだら、ライトフィールド画像の左端に戻る。そして、再構成部１５０は、上から２段目のサブ画像Ｓ２１に注目し（ステップＳ１１）、注目したサブ画像Ｓ２１から切り出した部分画像ＰＩ２１を最初に再構成面に配置した部分画像ＰI１１の下側に配置する（ステップＳ１８）。切り出した部分画像ＰＩ２１の一辺が配置間隔の２倍であるので、再構成部１５０は部分画像ＰＩ２１を部分画像ＰＩ１１等の一段上に配置された部分画像に対して、垂直方向に重なりをもって配置する（図１０の（ｂ））。
【００３７】
再構成部１５０は、２段目の全てのサブ画像Ｓ２１〜Ｓ２Ｎの処理が済んだら、ライトフィールド画像の次の段のサブ画像を処理する。再構成部１５０は、ライトフィールド画像の右下のサブ画像ＳＭＮまで処理すると（ステップＳ１９：Ｙｅｓ）、生成した再構成画像をＨＤＤ１２４に記憶して処理を終了する。
【００３８】
なお、再構成部１５０は、図６乃至１０を参照して説明した再構成処理の後、後述するパノラマ合成処理用に、生成した再構成画像の画素毎に被写体までの距離をそれぞれ設定してＨＤＤ１２４に記憶する。具体的には、再構成部１５０は、生成した再構成画像を構成する各画素を示す座標と、再構成画像を構成する各画素の被写体距離と、を対応付けた図１１に示す被写体距離テーブルを作成してＨＤＤ１２４に記憶する。
【００３９】
被写体距離テーブルの再構成画像の各画素の座標は、再構成画像の左上を座標原点（０，０）とし、水平方向をｘ座標、垂直方向をｙ座標で表したものである。また、この被写体距離テーブルの被写体距離は、再構成画像の被写体距離を画素単位で推定した数値である。部分画像を重ね合わせた部位の画素に対しては、重なり合なった画素それぞれについて推定した被写体距離の最頻値をその再構成画像の画素の被写体距離として設定する。あるいは、重なり合なった画素それぞれについて推定した被写体距離の平均値を再構成画像の画素の被写体距離としてもよい。また、重ね合わせがない部分（例えば、図１０の（ｂ）の再構成画像の左上部分）の場合、その部分を構成する部分画像の画素について推定した被写体距離が図１０の被写体距離となる。また、再構成画像の画素が部分画像の重ね合わせからなる場合に、複数の部分画像の画素のうちいずれかに被写体距離不明フラグがたっている場合には、図１１の被写体距離は、被写体距離が不明であることを示すＮ／Ａ（Ｎｏｔ Ａｖａｉｌａｂｌｅ）となる。また、再構成画像の画素のうち重ね合わせがない部分の画素についても、その画素と対応する部分画像の画素に距離不明フラグがたっている場合は、図１１の被写体距離はＮ／Ａとなる。このように距離不明フラグがたっている場合に再構成画像の画素に被写体距離を設定しない（Ｎ／Ａにする）ことで、被写体距離の推定誤差による影響を低減することができる。
【００４０】
図５に戻って、設定部１６０は、２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段である。具体的には、設定部１６０は、合成用画像である一方の再構成画像と他方の再構成画像とに比較部位であるラインの組合せを複数設定する。ここで、ラインとは、再構成画像を構成する各画素のうち、比較部位となる線又は長方形を構成する画素の集合体である。また、線が伸びる方向又は長方形の長手方向を「長さ方向」と呼び、その長さ方向の長さを「ライン長」と呼ぶ。また、長さ方向と直交する方向を「幅方向」と呼び、その幅方向の長さを「ライン幅」と呼ぶ。この実施形態では、比較部位であるラインのライン長はＬ（Ｌは２以上の整数値）、ライン幅は１である。ラインの組合せの設定については後に具体例を交えて説明する。
【００４１】
次に、重み決定部１７０は、比較部位（各ライン）に含まれる画素の重み付け値を、画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段である。具体的には、重み決定部１７０は、ラインに含まれる画素の重み付け値を、図１１の各画素の座標に設定された被写体距離と、所定の再構成距離と、の差に基づいて決定する。この重み付け値は、ラインを構成する各画素の位置あわせにおける重要度を数値で示したものである。ここでは、より精度よく合成を行う必要がある、被写体距離が基準距離（ここでは、所定の再構成距離）に近い被写体に対応する画素ほど、重み付け値を大きくする。
【００４２】
次に、類似度決定部１８０は、組合せの比較部位同士の類似度を重み付け値を用いて決定する類似度決定手段である。具体的には、類似度決定部１８０は、組合せを構成するラインのうち一方のラインの複数の画素それぞれの画素値と、他方のラインの複数の画素それぞれの画素値と、の差分二乗値に重み付け値をそれぞれ乗じた値の和に基づいてライン同士の類似度を決定する。その結果、複数設定されたラインの組合せのうち、被写体距離が所定の再構成距離に近い被写体がより類似するラインの組合せについて、より高い類似度が算出される。
【００４３】
次に、合成部１９０は、２つの合成用画像を類似度が高い組合せの比較部位で合成する合成手段である。具体的には、合成部１９０は、類似度決定部１８０により決定した複数の組合せのラインの類似度のうち上述した重み付け値を用いて算出された類似度が最も高いラインで、２つの再構成画像を合成する。その結果、被写体距離が所定の再構成距離に近い被写体がより類似する位置でパノラマ合成をすることが出来る。
【００４４】
次に、保存部２００は、ライトフィールド画像を取得して、その取得したライトフィールド画像に含まれる複数のサブ画像のうち、合成部１９０が合成した結果得られた合成画像に含まれる画素の元となった画素を含むサブ画像を特定する。そして、保存部２００は、その特定したサブ画像以外のサブ画像をライトフィールド画像から削除してＨＤＤ１２４に保存する保存手段である。なお、ライトフィールド画像の取得先は、ＲＡＭ１２３の所定領域にあるバッファメモリである。撮影により得られたライトフィールド画像は、ＨＤＤ１２４に保存されるまでバッファメモリに一時的に保存される。
【００４５】
以上、図１乃至図１１を参照しながら説明したデジタルカメラ１００の一つの特徴的な点は、被写体距離の異なる複数の被写体を含む合成用画像同士を合成する場合に、基準距離（所定の再構成距離）に近い被写体が合成の継ぎ目でずれる事が無く、合成の精度が高いことである。そこで、以下この点に関連するパノラマ合成処理について、図１２のフローチャートを参照しながら説明する。
【００４６】
なお、この図１２のフローチャートは、ＣＰＵ１２１が、ＲＯＭ１２２に記憶された各種プログラムを実行して図５に示した各部の機能を発揮することにより実施する。
ＣＰＵ１２１は、パノラマ撮影モードに設定されているときに、操作部１３０がシャッターキーを全押しする操作を検出すると、パノラマ合成処理を開始する。なお、ユーザは、パノラマ撮影モードにおいて、図１３に示すように操作部１３０のシャッターキーを全押しした状態で矢印方法にデジタルカメラ１００を移動する。
【００４７】
まず、ＣＰＵ１２１は、角度変位量が一定値になる毎にライトフィールド（ＬＦ）画像を取得する（ステップＳ２１）。具体的には、ＣＰＵ１２１は、角速度センサ１２５によりデジタルカメラ１００の角度変位量が一定値になる毎に（デジタルカメラ１００が所定量だけ移動する毎に）、撮影部１１０を用いて図１３のａ、ｂ及びｃに示す位置で撮影を行い、撮影位置が異なる複数のライトフィールド画像を得る。そして、ＣＰＵ１２１は、得られたライトフィールド画像をＲＡＭ１２３のバッファメモリに一時保存する。なお、バッファメモリの容量が少ない場合は、ＨＤＤ１２４に保存してもよい。
【００４８】
次に、ＣＰＵ１２１は、各ライトフィールド画像を再構成する（ステップＳ２２）。具体的には、ＣＰＵ１２１は、図６の再構成処理を各ライトフィールド画像に行って、所定の再構成距離において再構成した複数の再構成画像をＨＤＤ１２４に記憶する。同時に、ＣＰＵ１２１は、図１１に示した被写体距離テーブルを複数の再構成画像分作成してＨＤＤ１２４に記憶する。なお、再構成画像を構成する画素のうち、推定した被写体距離と所定の再構成距離との差が所定の閾値よりも大きい画素については、上述したようにガウシアンフィルタ処理によりボケが付加される。
【００４９】
次に、ＣＰＵ１２１は、２つの合成用画像を選択する（ステップＳ２３）。具体的には、ＣＰＵ１２１は、Ｋ回目（Ｋは自然数）の撮影で得たライトフィールド画像から再構成した再構成画像と、Ｋ＋１回目の撮影で得たライトフィールド画像から再構成した再構成画像と、を合成用画像としてＨＤＤ１２４から選択する。ここでは、説明の便宜上、Ｋ＝１として、最初の撮影で得られたライトフィールド画像から再構成した再構成画像ＲＩ１と、その次の撮影で得られたライトフィールド画像から再構成した再構成画像ＲＩ２と、を用いて説明する（図１４（Ａ）参照）。
【００５０】
次に、ＣＰＵ１２１は、検索範囲を特定する（ステップＳ２４）。具体的には、ＣＰＵ１２１は、再構成画像ＲＩ１と再構成画像ＲＩ２との重なり部分（同一の被写体が含まれている部分）を検出し、その重なり部分を検索範囲として特定する。ここでは以下の手法により重なり部分を検出する。
この実施形態では、上述したようにデジタルカメラ１００の角度変位量が一定値になる毎に撮像が行われる。従って、この角度変位量の一定値に基づいてある程度の重なり部分は推定することができる。そこで、この実施形態では、角度変位量の一定値に基づいて推定された部分を重なり部分として検出して、その検出した重なり部分を検索範囲内とする。この処理により、比較部位を角度変位量により絞り込んで比較のための必要処理量を減らすことが出来る。なお、角度変位量が得られない場合には、画像の所定部分を重なり部分として推定して、検索範囲として特定しても良い。例えば左から右へと撮影する場合には先に撮影した画像の左半分と、後に撮影した画像の右半分を検索範囲とすれば良い。あるいは、撮影順序等の情報が得られない場合には、画像全体を検索範囲としても良い。
【００５１】
次に、ＣＰＵ１２１は、検索範囲内でラインの組合せを複数設定する（ステップＳ２５）。具体的には、ＣＰＵ１２１は、再構成画像ＲＩ１と再構成画像ＲＩ２との重なり部分として検出した検索範囲の左端を基準として、その基準から右方に同距離の位置でラインａ１乃至ａ４とラインｂ１乃至ｂ４とをそれぞれ設定する（図１４（Ａ）参照）。これらライン同士（ａ１とｂ１、ａ２とｂ２、ａ３とｂ３及びａ４とｂ４）はそれぞれ組合せを構成する。
この例では、ＲＩ１及びＲＩ２それぞれに４本ずつラインを設定したが、このラインは少なくとも一つの合成用画像に複数設定されればよい。例えばユーザが一方の合成用画像上の合成位置を決め打ちしたい場合では、一方の合成用画像に１つのラインａを設定し、他方の合成用画像に４つのラインｂ１乃至ｂ４を設定してもよい。この場合、ラインａとラインｂ１、ラインａとラインｂ２、…、ラインａとラインｂ４、の４つの組み合わせが設定される。
なお、ラインの組合せの決定ルールとして、精度の高い合成位置の組合せが少なくとも一つ含まれるような決定ルールを予め実験により求めておく。そして、ＲＯＭ１２２やＨＤＤ１２４にその決定ルールを実現するための例えばライン決定テーブルを記憶しておき、ＣＰＵ１２１がステップＳ２５でこれを用いて適当なラインの組合せを決定すれば良い。
【００５２】
次に、ＣＰＵ１２１は、類似度算出処理を行う（ステップＳ２６）。この類似度算出処理について、図１５を参照しながら説明する。この類似度算出処理は、複数設定した組合せのライン同士の類似度を算出するための処理である。
まず、ＣＰＵ１２１は、複数の組合せの中から一つの組合せを選択する（ステップＳ３１）。具体的には、ＣＰＵ１２１は、ａ１とｂ１、ａ２とｂ２、ａ３とｂ３及びａ４とｂ４の組合せの中から１つの組合せを任意に選択する。ここでは、ＣＰＵ１２１は、ａ１とｂ１の組合せを選択したとする。
【００５３】
次にＣＰＵ１２１は、画素毎に重み付け値を決定する（ステップＳ３２）。具体的には、ＣＰＵ１２１は、まずラインａ１を構成する画素のうち１つの画素に注目する。次に、ＣＰＵ１２１は、再構成画像ＲＩ１と再構成画像ＲＩ２の被写体距離テーブルを参照し、ラインａ１の注目画素の座標に設定された被写体距離と、ラインｂ１の注目画素と対応する画素の座標に設定された被写体距離とをそれぞれ取得して平均する。そして、ＣＰＵ１２１は、その平均した被写体距離と所定の再構成距離とに基づいて重み付け値を決定する。ＣＰＵ１２１は、被写体距離と所定の再構成距離（基準距離）との差に応じて好適な重み付け値を対応付けた重み付け値テーブル（図１６参照）を用いて重み付け値を決定する。図１６の例では、被写体距離と所定の再構成距離が一致する場合、重み付け値を最大値とする。被写体距離と所定の再構成距離とが一致する場合、ピントを合わせる再構成距離に被写体があることが推測される。このような被写体に対応する画素の輝度が異なる位置でライン同士を合成すると、ピントがあった被写体が継ぎ目でズレてしまい、写真を見るものに違和感を与えるからである。
一方、ＣＰＵ１２１は、平均した被写体距離と所定の再構成距離とに差がある場合、その差の絶対値が大きい程重み付け値を最小値に近づける。被写体距離と所定の再構成距離とが一致しない場合、ピントを合わせる再構成距離に対して被写体が離れていると推定される。このような被写体が継ぎ目でずれていても、その被写体にはボケが付加されているためそのボケの影響でピントが合った被写体よりも違和感が少ない。また、一般にピントから外れた被写体は撮影の主要対象とは異なるため、ずれていても影響が少ない。このためで重み付け値が小さい。なお、テーブルではなく同様の結果を得られる式を用いて重み付け値を算出してもよい。
【００５４】
ＣＰＵ１２１は、ラインａ１の注目画素について重み付け値を決定すると、次の画素に注目して重み付け値を決定し、ラインａ１を構成する全ての画素について重み付け値を決定する。ただし、ＣＰＵ１２１は、ラインａ１の注目画素の座標に設定されている被写体距離とラインｂ１を構成する画素のうち注目画素と対応する画素の座標に設定されている被写体距離のうち何れかがＮ／Ａである場合、Ｎ／Ａでない被写体距離を用いて重み付け値を算出する。また、いずれもＮ／Ａである場合は、重み付け値が算出できないので、その注目画素について重み付け値を決定する処理はスキップする。
【００５５】
図１５に戻って、ＣＰＵ１２１は、画素毎に重み付け値を決定した後（ステップＳ３２）、画素毎に差分二乗値を算出する（ステップＳ３３）。具体的には、ＣＰＵ１２１は、まずラインａ１を構成する画素のうち１つの画素に注目する。そして、ＣＰＵ１２１は、その注目画素の画素値とラインｂ１を構成する画素のうち注目画素と対応する画素の画素値との差分二乗値を求める。なお、ラインａ１の上からｎ番目の画素に対して、ラインｂ１の上からｎ番目の画素といったように、比較部位における相対座標が一致する画素が、互いに対応する画素である。ＣＰＵ１２１は、ラインａ１を構成する画素を順に注目画素にしていき、全ての画素について差分二乗値を求める。
【００５６】
次に、ＣＰＵ１２１は、重み付け値と差分二乗値に基づいて類似度を算出する（ステップＳ３４）。具体的には、ＣＰＵ１２１は、ステップＳ３３で算出した画素毎の差分二乗値に、ステップＳ３２で決定した画素毎の重み付け値をそれぞれ乗じる。そして、ＣＰＵ１２１は、画素毎にそれぞれ算出した重み付け値を乗じた差分二乗値の和を算出する。そして、ＣＰＵ１２１は、その和を組合せのラインであるラインａ１とラインｂ１の類似度とする。すなわち、ＣＰＵ１２１は、ステップＳ３２乃至３４の処理により、再構成画像ＲＩ１のラインａ１を構成する複数の画素のそれぞれの画素値と、再構成画像ＲＩ２のラインａ１と対応するラインｂ１を構成する複数の画素のそれぞれの画素値と、の差分二乗値に重み付け値をそれぞれ乗じた値の和をラインａ１とラインｂ１の類似度とする。なお、ステップＳ３２において重み付け値を算出できずにスキップした画素については、差分二乗値に乗ずることができないので、重み付け値を乗じた差分二乗値の和から除外して類似度を求める。
【００５７】
次に、ＣＰＵ１２１は、全ての組合せが選択済か否かについて判断する（ステップＳ３５）。ＣＰＵ１２１は、全ての組合せが選択済みでないと判断すると（ステップＳ３５：Ｎｏ）、残る組合せの中から組合せを新たに選択して、その選択した組合せのライン同士の類似度を算出する（ステップＳ３１乃至３４）。この場合、ＣＰＵ１２１は、残る組合せのラインａ２とラインｂ２、ラインａ３とラインｂ３、及びラインａ４とラインｂ４の中から任意に組合せを選択し、その選択した組合せのライン同士の類似度を算出する（ステップＳ３１乃至３４）。
【００５８】
ＣＰＵ１２１は、全ての組合せが選択済みと判断すると（ステップＳ３５：Ｙｅｓ）、類似度が全て算出されたものとして類似度算出処理を終了する。次に、ＣＰＵ１２１は、図１２に戻って、類似度が最も高いラインで２つの再構成画像を合成する（ステップＳ２７）。ここで類似度が最も高いラインとは、重み付け値を乗じた差分二乗値の和（重み付けＳＳＤ）が最小であるラインをいう。ここで、例えば、図１４（Ｂ）に示すように、ラインａ２とラインｂ２との類似度が一番高かった（重み付けＳＳＤが最小であった）とする。
【００５９】
この場合、図１４（Ｃ）に示すように、再構成画像ＲＩ１のラインａ２と再構成画像ＲＩ２のラインｂ２とが張り合わされるように、再構成画像ＲＩ１の一部分ＲＩ１ｐと再構成画像ＲＩ２の一部分ＲＩ２ｐとが合成される。すなわち、再構成画像ＲＩ１にとってはラインａ１が合成位置となる合成ラインとなり、再構成画像ＲＩ２にとってはラインｂ２が合成位置となる合成ラインとなる。このステップＳ２３乃至２７の処理により、再構成画像ＲＩ１とＲＩ２との合成画像が生成される。この結果、２つの合成用画像が類似度の高い組合せの比較部位（ライン）で合成される。
【００６０】
次に、ＣＰＵ１２１は、全再構成画像を合成済みか否かについて判定する（ステップＳ２８）。ここで、ＣＰＵ１２１は、全再構成画像を合成済みでないと判定すると（ステップＳ２８：Ｎｏ）、再構成画像ＲＩ１とＲＩ２の合成画像と３回目の撮影で得られたライトフィールド画像から再構成された再構成画像とを合成対象として選択し（ステップＳ２３）、ステップＳ２４乃至２７の処理により両者を合成する。このようにＣＰＵ１２１は、複数の再構成画像を撮影順に合成していく。
【００６１】
一方で、ＣＰＵ１２１は、全再構成画像を合成済みであると判定すると（ステップＳ２８：Ｙｅｓ）、合成により得られたパノラマ画像を表示して保存する（ステップＳ２９）。具体的には、ＣＰＵ１２１は、合成により得られた図１７に示すようなパノラマ画像を表示部１４０に表示するとともに、ＨＤＤ１２４に保存する。
【００６２】
次に、ＣＰＵ１２１は、各ライトフィールド画像の不用サブ画像を削除してＨＤＤ１２４に保存する（ステップＳ３０）。具体的には、ＣＰＵ１２１は、ライトフィールド画像をＲＡＭ１２３のバッファメモリから取得して、その取得したライトフィールド画像に含まれる複数のサブ画像のうち、合成した結果得られた合成画像に含まれる画素の元となった画素を含むサブ画像を特定する。そして、ＣＰＵ１２１は、その特定したサブ画像以外のサブ画像をライトフィールド画像から削除してＨＤＤ１２４に保存する。この処理を全てのライトフィールド画像について繰り返すとともに、バッファメモリ上のライトフィールド画像を削除する。なお、ＣＰＵ１２１は、ライトフォールド画像が記憶容量の関係上ＨＤＤ１２４に記憶されている場合は、ＨＤＤ１２４から複数のライトフィールド画像を取得してステップＳ３０の処理を行った後、元の複数のライトフィールド画像は全て削除する。
ＣＰＵ１２１は、全てのライトフィールド画像について不用サブ画像を削除してＨＤＤ１２４に保存した後、処理を終了する。
【００６３】
なお、図１２及び図１５においてＣＰＵ１２１が実施した各処理のうち、ステップＳ２２は再構成部１５０の機能に、ステップＳ２３乃至２５は設定部１６０の機能に、ステップＳ３１及び３２は重み決定部１７０の機能に、ステップＳ３３及び３４は類似度決定部１８０の機能に、ステップＳ２７の機能は合成部１９０の機能に、ステップＳ３０は保存部２００の機能に、それぞれ対応する。
【００６４】
以上、図１２及び図１５の処理では、デジタルカメラ１００は、設定部１６０と重み決定部１７０と類似度決定部１８０と合成部１９０とを備えることにより、合成用画像である再構成画像を２つ選択し、その選択した２つの再構成画像に比較部位であるラインの組合せを複数設定する。そして、ラインに含まれる画素の重み付け値を、その画素に設定された被写体距離と所定の基準距離である所定の再構成距離との差に基づいて決定する。そして、複数の組合せのライン同士の類似度を重み付け値を用いてそれぞれ決定し、類似度が最も高いラインで２つの再構成画像を合成する。
【００６５】
具体的には、ピントを合わせた被写体が合成画像上でズレないように、設定された被写体距離と所定の再構成距離とが一致する画素（例えば、ピントが合った被写体に対応）に対して重み付け値を最大値にする。一方で、ラインの画素に設定された被写体距離と所定の再構成距離とに差がある場合は（例えば、ピントが合った５ｍの距離から離れている被写体については）、位置あわせの優先度が下がるため、離れるにつれて重み付け値を最小値に近づける。このため、被写体距離が異なる複数の被写体を含む合成用画像を合成した場合でも、合成の継ぎ目で主要な被写体（基準距離にある被写体）がずれてしまうことを防ぐことが出来る。即ち、精度良く合成用画像を合成することが出来る。
【００６６】
より具体的に説明する。被写体距離が異なる複数の被写体を、撮影位置又は撮影角度を変えて撮影すると、撮影時の視差により、各合成用画像で被写体同士の相対位置が変化する。そのため、ある被写体が一致する位置でつなぎ合わせて合成すると、他の被写体がつなぎ目でずれてしまう場合がある。そのため、比較部位に含まれる画素を一律に比較して、画素同士の差が最も小さい位置（例えば、輝度のＳＳＤが最も小さい位置）で合成すると、他の被写体の影響を受けて、基準距離に位置する主要な被写体（ピントを合わせた撮影のテーマとなる被写体）がズレてしまう場合がある。そこで、被写体距離と所定の再構成距離とが一致する画素同士の画素値が異なる場合には、類似度が大きく下がるように、重み付け値を大きく設定することで、少なくともピントを合わせた主要な被写体がずれない、精度が高い合成が可能となる。
【００６７】
このことは、ライトフィールドカメラで連続撮影して得られたライトフィールド画像から生成した再構成画像同士を合成する際に特に有効である。このライトフィールドカメラは、マイクロレンズアレイ１１２により被写体を複数の視点から撮影したライトフィールド画像を撮影できる。ライトフィールド画像では、被写体が現れる位置がサブ画像間でずれる量から、被写体距離を推定できるため、アクティブセンサなどで被写体距離を測定しなくても、上述の合成方法を利用できるからである。また、撮影後にピント調整ができる利点を生かすためには、ボケ味のある写真を撮影することが望ましい。ボケ味のある写真にするためには、一般に被写体距離が異なる複数の被写体を望遠レンズで撮影する。そのため、ライトフィールドカメラで撮影した画像は撮影画角が狭いという欠点がある。そのため、本実施形態の合成方法により、精度良く再構成画像同士を合成して画角を広くすることにより、この欠点を解消できる。
【００６８】
なお、図１２及び図１５の処理により、ピントが合った位置にある被写体に比重をおいてライン同士の類似度を算出して２つの再構成画像を合成すると、ライン上にあるピントが合っていない被写体（例えば、近い被写体にピントが合っている場合は遠い被写体）については上記合成をしてもずれが生じてしまう。すなわち、ライン上の鮮明に写る被写体の画素に比重をおいて合成したとしても、今度は同じライン上の鮮明に写っていない被写体の画素がずれて合成されてしまう。
【００６９】
しかしながら、この実施形態では図６の再構成処理において、推定された被写体距離と所定の再構成距離との差が所定の閾値よりも大きい画素については、画素単位でボケを付加して再構成画像を生成するようにしている。さらに図６のステップＳ１６及び１７にて、被写体距離と所定の再構成距離が大きいほど部分画像が多く重なるように部分画像の大きさと配置間隔を設定する。この結果、推定された被写体距離と所定の再構成距離との差が大きい被写体は、これにより、再構成画像中の鮮明に写っていない被写体（再構成距離から遠い、ピントがぼけた被写体）については、元々ボケが付加されている。このため、上記合成を行ってライン上の鮮明に写っていない被写体の画素がずれたとしても、付加したボケによりそのずれを目立たなくすることができるので、違和感が生じるのを抑えることができる。
【００７０】
なお、ラインの構成画素毎に設定された被写体距離に遠い被写体と近い被写体が混在するような場合にも、このパノラマ合成処理及び類似度算出処理は好適である。具体的には、上述したように、再構成画像においては、既に所定の再構成距離とずれた位置にある被写体については画素毎にボケが付加されている。このため、再構成画像において、例えば再構成距離が５ｍだとするとその距離にある被写体は鮮明に写り、５ｍから離れるにつれて他の被写体には強いボケが付加されている。しかしながら、たとえこのように予めボケを付加して近い被写体と遠い被写体とで鮮明さに差をだしている場合であっても、遠い被写体の平坦度が低く近い被写体の平坦度が高いとその鮮明さの差がなくなる。この状態で、重みを考慮しない例えば特許文献２に係る合成処理を行ったとすると、対応するラインの近い被写体距離の画素同士の画素値に差があっても、同じラインの遠い被写体距離の画素同士の画素値に差がないとそれに引っ張られて類似度が高くなってしまう。その結果遠い被写体（例えばボケがかかった背景）が合うように位置あわせをして、ピントがあった被写体がずれる位置で合成してしまう。
【００７１】
この実施形態のパノラマ合成処理においては、被写体距離と再構成距離とに基づいた重み付け値を用いることで、類似度を算出する場合にピントを合わせる距離にある例えば近い被写体については重要度を高めることができる。このため、上述したような背景の画素部分に差がなくて近い被写体の画素部分に差がある場合に、フォーカスしていない背景をフォーカスがあった被写体よりも優先して位置あわせして合成することがない。このため、近い被写体と遠い被写体が混在するような場合であっても精度よく位置合わせをすることができる。
【００７２】
また、デジタルカメラ１００は、保存部２００を備えることにより、図１２のステップＳ３０において各ライトフィールド画像の不用サブ画像を削除してＨＤＤ１２４に保存することができる。複数のライトフィールド画像を保存することから記憶のためのデータ量が大きい。このパノラマ合成処理では上記ステップＳ３０により、保存するライトフィールド画像のデータ量を抑えることができる。このことは、パノラマ合成の際デジタルカメラ１００の移動量に対して撮影する回数を多くする場合などに好適である。具体的には、撮影回数を多くしてライトフィールド画像の中央上下付近の歪曲収差が少ない画像のみを用いる場合がある。このような場合に、上記ステップＳ３０の処理はライトフィールド画像の保存するデータ量を抑えることができるので好適である。このとき、後に任意の設定で再構成処理をやり直す場合に備えて、マージンを残すようにサブ画像を削除してもよい。具体的には、不要サブ画像のうち、削除しないサブ画像に隣接する画素（あるいは、その画素にさらに隣接する画素も）については削除せず保存しておけばよい。このような構成によれば、たとえ再度の再構成処理を実行した際に合成位置が変わって、不要サブ画素が必要になった場合でも、マージンとして保存したサブ画像のデータを用いて問題なく合成が可能となる。
【００７３】
また、ステップＳ２９で表示したパノラマ画像において、ユーザが再フォーカスにより再構成距離を変化させる場合は、ステップＳ３０で保存した各ライトフィールド画像からユーザが設定した再構成距離において再構成画像を複数生成する。ここで、再構成画像の合成は、ステップＳ２７で決定した類似度が最も高いライン同士で合成するようにする。ステップＳ３０において、合成に用いなかった不用サブ画像を削除しているため、図１４（ｃ）の点線で示した再構成画像の部分がなく、新たに検索範囲を決定して複数の対応するラインを設定することができないからである。ただし、ユーザが再構成距離を変えた場合であっても再構成画像同士の重なり合う部分である検索範囲は変わらないので、ピントの位置が変わったとしても元々決定した類似度が高いライン同士で精度の高い合成を行うことができる。
【００７４】
しかし、元々決定したライン同士で合成するのは必須ではなく、例えば、図１４（ｃ）のラインａ２とｂ２から隣に数ライン新たに引いて、ユーザが設定した再構成距離にて再度ステップＳ２３乃至２９の処理を行って類似度の高いラインを選び直してパノラマ合成を行ってもよい。このとき上述したように、ステップＳ３０で不用サブ画像を削除する場合に全ての不用サブ画像を削除せず、図１４（ｃ）のラインａ２とｂ２の点線部分にある程度マージンを残すようにサブ画像を削除する。その後、ユーザが再構成距離を変化させた場合は、ラインａ２とｂ２を中心として左右に短い間隔（又は間隔をあけずに）数ライン引いて、ユーザが設定した再構成距離にて再度ステップＳ２３乃至２９の処理を行って類似度の高いラインを選び直してパノラマ合成をすればよい。このような構成によれば、新たに再構成した画像を合成用画像として用いるにあたって、新たな再構成距離を反映したより精度が高い位置でパノラマ合成を実現することが出来る。
【００７５】
以上で実施形態の説明を終了するが、デジタルカメラ１００の具体的な構成や図１２及び図１５に示した処理の内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態では、図１のＣＰＵ１２１が画像処理装置１２０及びデジタルカメラ１００を制御したが、デジタルカメラ１００に別途ＣＰＵを設けてもよい。この場合、画像処理装置１２０のＣＰＵ１２１は、画像処理装置１２０の制御に特化し、表示部１４０への表示制御や操作部１３０の操作検知等は行わない。
【００７６】
また、この実施形態において行う再構成処理は、図６に示した再構成処理に限られない。すなわち、図１１の被写体距離テーブルのように合成対象となる再構成画像の画素毎に被写体距離を設定することができる再構成処理であれば、図６の部分画像を重ね合わせて再構成画像を生成する手法でなくてもよい。例えば別の手法として、特許文献１の光線追跡の手法を用いて再構成画像を生成してもよい。
【００７７】
また、図１２のパノラマ合成処理では、ユーザが、パノラマ撮影モードにおいて、図１３に示すように操作部１３０のシャッターキーを全押しした状態で矢印方法にデジタルカメラ１００を移動させた。そして、ＣＰＵ１２１は、角速度センサ１２５によりデジタルカメラ１００の角度変位量が一定値になる毎に撮影を行い、異なる撮影位置の複数のライトフィールド画像を取得するようにした。しかしながら、これは必須ではなく、例えばユーザがデジタルカメラ１００を移動させることなく自身を軸に回転してデジタルカメラ１００の撮影角度を変えて連写してもよい。そして、ＣＰＵ１２１は、異なる撮影角度で撮影して得られた複数のライトフィールド画像を取得する。なお、ユーザに代えて、デジタルカメラ１００の撮影角度を変更するのをパノラマ撮影用の三脚を用いてもよいことはもちろんである。
【００７８】
また、図１２のパノラマ合成処理では、ＣＰＵ１２１が複数の再構成画像を撮影順に合成するようにしたが、これは必須ではない。要は合成して得られるパノラマ画像が撮影順に連続していればどのような順序で合成してもよい。また、合成は撮影しながら得られた再構成画像をリアルタイムで合成する場合に限らず、撮影後に得られた複数の再構成画像を用いて合成を行ってもよい。
【００７９】
また、図１２のパノラマ合成処理では、ステップＳ３０で各ＬＦ画像の不用サブ画像を削除して保存するようにしたが、この処理は行わなくてもよい。この場合、ユーザが再構成距離を変化させると、その再構成距離でステップＳ２２乃至２９の処理を行う。すなわち、ユーザが設定した再構成距離において、各ライトフィールド画像から再構成画像を複数生成し（ステップＳ２２）、ラインの組合せを複数設定した後ユーザの設定した再構成距離と、図１１の被写体距離と、に基づく重み付け値を用いて類似度の高いラインを選びなおして合成を行う（ステップＳ２３乃至２８）。これにより、ユーザの設定した再構成距離に応じて合成するラインを選びなおすことができる。
【００８０】
また、図１５の類似度算出処理では、ステップＳ３２において、再構成画像ＲＩ１とＲＩ２の被写体距離テーブルを参照し、ラインａ１の注目画素の座標に設定された被写体距離、ラインｂ１の注目画素と対応する画素の座標に設定された被写体距離、をそれぞれ取得して平均し、その平均した被写体距離と所定の再構成距離とを比較するようにした。しかし、平均した被写体距離を用いるのは必須ではなく、例えば一方の被写体距離（ラインａ１の注目画素の被写体距離又はラインｂ１の注目画素と対応する画素の被写体距離）と所定の再構成距離とを比較してもよい。
【００８１】
また、図１４のパノラマ合成処理で用いるラインのライン長はＬ（Ｌは２以上の整数値）、ライン幅は１であったが、ライン長及びライン幅の両方又はいずれか一方を変化させた比較部位を用いてもよい。また、図１５の類似度算出処理においてライン同士の比較をする際に、ラインを構成する全ての構成画素を順に注目画素とするのは必須ではなく、例えば所定間隔で何画素かスキップして注目画素とする画素の数を減らしてもよい。これにより、パノラマ合成処理において類似度を算出する際の処理量を減らすことができる。
また、図１５の類似度算出処理では、ラインの組合せを複数設定して、その組合せ毎に類似度を算出した。すなわち、ａ１とｂ１、ａ２とｂ２、ａ３とｂ３及びａ４とｂ４の類似度をそれぞれ算出した。しかしながら、例えばａ１を総当りでｂ１乃至ｂ４それぞれと比較して類似度を算出してもよい。すなわち、組合せをａ１とｂ１、ａ１とｂ２、ａ１とｂ３及びａ１とｂ４として類似度を算出してもよい。このように、ａ１乃至ａ４をｂ１乃至ｂ４それぞれと総当りで類似度を算出することで、精度よく類似度を算出することができる。
【００８２】
また、上述の実施形態においては、パノラマ画像は、横長の構成だったが、特にこれに限定されず、デジタルカメラ１００の移動方向に則した方向に長くなる構成、例えば縦長の構成としてもよい。また、合成して得られる画像はパノラマ画像に限らず、複数の画像を合成することにより、１つの画像の画角よりも画角が広い広角画像を生成するものであればよい。
【００８３】
また、上述した実施形態では、各ライトフィールド画像から再構成した各再構成画像を合成用画像としてそれぞれ合成する例を説明した。しかし、図１２のパノラマ合成処理と図１５の類似度算出処理は、再構成画像を合成する場合に限らず、別の画像を合成用画像として用いて合成する場合であってもよい。すなわち、パノラマ合成処理と類似度算出処理は、ピントを合わせる位置である所定の基準距離（上述の例だと所定の再構成距離）に被写体があるか否か判断できれば実行できるので、合成用画像の画素毎に被写体距離が設定されていればどのような画像を用いて合成してもよい。例えば、ステレオカメラで撮った２枚のステレオ画像を合成用画像として合成する場合にも適用することができる。２枚のステレオ画像に写った同一の被写体のずれと、ステレオカメラに内蔵する２つのメインレンズ間の距離と、を用いて例えば三角測量により被写体までの距離を推定できるからである。
【００８４】
また、上述した実施形態では、再構成距離と被写体距離が一致するピントを合わせた被写体を、主要な、即ち画像のテーマとなる被写体であるという前提で、再構成距離が基準距離と一致する構成を例にとって説明した。ただし、これに限らず、あえて主要な被写体にボケ味を付けた場合には、再構成距離とは異なる基準距離を設定しても良い。
また、この実施形態では、各種画像がグレースケール画像であることを前提に説明したが、各種画像はカラー画像でもよい。この場合、例えばＲＧＢ又はＹＵＶ等の任意の色空間を用いることができる。
【００８５】
また、この発明の画像処理装置１２０の各処理（再構成処理、パノラマ合成処理及び類似度算出処理）は、通常のＰＣ等のコンピュータによっても実施することができる。
具体的には、上記実施形態では、各処理に係る機能を発揮するためのプログラムが、ＲＯＭ１２２に予め記憶されているものとして説明した。しかし、図５の各部の機能を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ及びＭＯ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の各部の機能を発揮することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に格納しておき、例えば、コンピュータがダウンロード等することができるようにしてもよい。
なお、プログラムをインストールしたコンピュータは、合成用画像である再構成画像をその再構成画像が記憶される記憶手段から取得してパノラマ合成処理及び類似度算出処理を行う。再構成画像の取得先は、例えばデジタルカメラ１００のＨＤＤ１２４、リムーバルメディア１２７、又はコンピュータのＨＤＤなどである。
【００８６】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態をとることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
【００８７】
（付記１）
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段と、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段と、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段と、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段と、を備えることを特徴とする画像処理装置。
【００８８】
（付記２）
前記２つの合成用画像と、該２つの合成用画像を構成する画素毎の被写体距離と、前記所定の基準距離と、を記憶する記憶手段を更に備えることを特徴とする付記１に記載の画像処理装置。
【００８９】
（付記３）
前記合成用画像は、前記被写体を異なる複数の視点から撮影した複数のサブ画像を含む多視点画像から再構成された再構成画像であり、
前記被写体距離は、前記被写体が写る位置が前記サブ画像間でずれる程度に基づいて推定され、
前記所定の基準距離は、前記再構成画像を再構成した際の再フォーカスの距離である所定の再構成距離であることを特徴とする付記１又は２に記載の画像処理装置。
【００９０】
（付記４）
前記２つの合成用画像に含まれる画素のうち、前記被写体距離と前記所定の基準距離との差が所定の閾値よりも大きい画素にボケを付加するボケ付加手段をさらに備え、
前記合成手段は、前記画素にボケが付加された２つの合成用画像を合成することを特徴とする付記１乃至３の何れか１つに記載の画像処理装置。
【００９１】
（付記５）
前記重み決定手段は、前記重み付け値を前記被写体距離と前記所定の基準距離とが一致する場合に最大値にすることを特徴とする付記１乃至４の何れか１つに記載の画像処理装置。
【００９２】
（付記６）
前記重み決定手段は、前記重み付け値を前記被写体距離と前記所定の基準距離との差が大きい程小さくすることを特徴とする付記１乃至５の何れか１つに記載の画像処理装置。
【００９３】
（付記７）
前記多視点画像に含まれる複数のサブ画像のうち、前記合成手段が合成した結果得られた合成画像に含まれる画素の元となった画素を含むサブ画像を特定し、該特定したサブ画像以外のサブ画像を前記多視点画像から削除して該多視点画像を保存する保存手段を備えることを特徴とする付記３に記載の画像処理装置。
【００９４】
（付記８）
前記類似度決定手段は、前記組合せの比較部位のうち一方の比較部位の複数の画素それぞれの画素値と、他方の比較部位の複数の画素それぞれの画素値と、の差分二乗値に前記重み付け値をそれぞれ乗じた値の和に基づいて前記組合せの比較部位同士の類似度を決定することを特徴とする付記１乃至７の何れか１つに記載の画像処理装置。
【００９５】
（付記９）
撮影手段と、
前記撮影手段によって撮影された２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段と、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段と、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段と、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段と、を備えることを特徴とする撮像装置。
【００９６】
（付記１０）
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定ステップと、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定ステップと、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定ステップと、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成ステップと、を含むことを特徴とする画像処理方法。
【００９７】
（付記１１）
コンピュータを、
２つの合成用画像の一方における比較部位と他方における比較部位との組合せを、複数設定する設定手段、
前記比較部位に含まれる画素の重み付け値を、該画素に対応する被写体までの被写体距離と所定の基準距離との差に基づいて決定する重み決定手段、
前記組合せの比較部位同士の類似度を前記重み付け値を用いて決定する類似度決定手段、
前記２つの合成用画像を前記類似度が高い前記組合せの比較部位で合成する合成手段、として機能させるためのプログラム。
【符号の説明】
【００９８】
１００…デジタルカメラ、１１０…撮影部、１１１…メインレンズ、１１２…マイクロレンズアレイ、１１３…撮像素子、１２０…画像処理装置、１２１…ＣＰＵ、１２２…ＲＯＭ、１２３…ＲＡＭ、１２４…ＨＤＤ、１２５…角速度センサ、１２６…メディアドライブ、１２７…リムーバルメディア、１３０…操作部、１４０…表示部、１５０…再構成部、１６０…設定部、１７０…重み決定部、１８０…類似度決定部、１９０…合成部、２００…保存部
【図１】
2014149798.tif 000003
【図２】
2014149798.tif 000004
【図３】
2014149798.tif 000005
【図４】
2014149798.tif 000006
【図５】
2014149798.tif 000007
【図６】
2014149798.tif 000008
【図７】
2014149798.tif 000009
【図８】
2014149798.tif 000010
【図９】
2014149798.tif 000011
【図１０】
2014149798.tif 000012
【図１１】
2014149798.tif 000013
【図１２】
2014149798.tif 000014
【図１３】
2014149798.tif 000015
【図１４】
2014149798.tif 000016
【図１５】
2014149798.tif 000017
【図１６】
2014149798.tif 000018
【図１７】
2014149798.tif 000019