(57)【要約】 【課題】  複数の異なる視点から同時撮像された、それぞれ異なる距離に合焦された複数の画像を精度よく位置合わせする。【解決手段】  画像処理装置が、第一の絞り値で第一の距離にピントを合わせて撮像された第一の画像と、第二の絞り値で第一の距離とは異なる第二の距離にピントを合わせて撮像された第二の画像と、前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像された第三の画像とを取得する取得手段と、前記第一の画像と前記第二の画像とを、前記第三の画像に基づいて位置合わせする位置合わせ手段とを有することを特徴とする画像処理装置。【選択図】  図６
2015231220.tif 000002
【特許請求の範囲】
【請求項１】
第一の絞り値で第一の距離にピントを合わせて撮像された第一の画像と、第二の絞り値で第一の距離とは異なる第二の距離にピントを合わせて撮像された第二の画像と、前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像された第三の画像とを取得する取得手段と、
前記第一の画像と前記第二の画像とを、前記第三の画像に基づいて位置合わせする位置合わせ手段とを有することを特徴とする画像処理装置。
【請求項２】
前記位置合わせ手段は、前記第一の画像中の、前記第一の距離に存在する被写体が、前記第三の画像中の、前記第一の距離に存在する被写体に重なり、前記第二の画像中の、前記第二の距離に存在する被写体が、前記第三の画像中の、前記第二の距離に存在する被写体に重なるように、前記第一の画像と前記第二の画像とをシフトすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置合わせ手段により位置合わせされた前記第一の画像と前記第二の画像とを合成することで、前記第一の画像および前記第二の画像よりも被写界深度の深い合成画像を生成する合成手段を更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記合成手段は、前記位置合わせ手段により位置合わせされた前記第一の画像と前記第三の画像との間および、前記位置合わせ手段により位置合わせされた前記第二の画像と前記第三の画像との間で、画像中の同じ位置に対応する画像領域ごとに、画像の類似度合いを示すパラメータを算出する算出手段を有し、
前記合成手段は、前記パラメータに基づいて前記合成画像を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記合成手段は、前記第一の画像と前記第三の画像との間の類似度合いが前記第二の画像と前記第三の画像との類似度合いよりも高い画像領域では、前記合成における前記第一の画像の重みを前記第二の画像の重みよりも大きくし、前記第二の画像と前記第三の画像との類似度合いが前記第一の画像と前記第三の画像との間の類似度合いよりも高い画像領域では、前記合成における前記第三の画像の重みを前記第一の画像の重みよりも大きくすることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記合成手段は、前記第一の画像と前記第二の画像と前記第三の画像とを合成することで前記合成画像を生成し、前記第一の画像と前記第三の画像との間の類似度合いと、前記第二の画像と前記第三の画像との間の類似度合いの少なくとも一方が所定の閾値を超えている画像領域では、前記合成における前記第三の画像の重みを、前記第一の画像および前記第二の画像の重みよりも小さくし、前記第一の画像と前記第三の画像との間の類似度合いと、前記第二の画像と前記第三の画像との間の類似度合いのどちらもが所定の閾値を超えない画像領域では、前記合成における前記第三の画像の重みを、前記第一の画像および前記第二の画像の重みよりも大きくすることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の画像処理装置としての機能を有し、前記第一の画像を撮像する第一の撮像部と、前記第二の画像を撮像する第二の撮像部と、前記第三の画像を撮像する第三の撮像部とを更に有することを特徴とする撮像装置。
【請求項８】
複数の撮像部を有し、複数の異なる視点から同時撮像が可能な撮像装置であって、
前記複数の撮像部は、前記同時撮像を行う撮像部として、第一の絞り値で第一の距離にピントを合わせて撮像する第一の撮像部と、第二の絞り値で第二の距離にピントを合わせて撮像する第二の撮像部と、前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像する第三の撮像部とを含むことを特徴とする撮像装置。
【請求項９】
前記複数の撮像部の光学系を制御する制御手段を有し、
前記第一の撮像部と、前記第二の撮像部と、前記第三の撮像部は、前記制御手段によりそれぞれが対応する絞り値およびピント距離で撮像を行うようにそれぞれの光学系が制御された後に、前記同時撮像を行うことを特徴とする請求項８に記載の撮像装置。
【請求項１０】
第一の絞り値で第一の距離にピントを合わせて撮像された第一の画像と、第二の絞り値で第一の距離とは異なる第二の距離にピントを合わせて撮像された第二の画像と、前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像された第三の画像とを取得するステップと、
前記第一の画像と前記第二の画像とを、前記第三の画像に基づいて位置合わせするステップとを含むことを特徴とする画像処理装置。
【請求項１１】
複数の撮像部を有し、複数の異なる視点から同時撮像が可能な撮像装置を用いた撮像方法であって、
前記同時撮像において、
前記複数の撮像部に含まれる第一の撮像部では、第一の絞り値で第一の距離にピントを合わせて撮像を行い、
前記複数の撮像部に含まれる撮像部であり、前記第一の撮像部とは異なる撮像部である第二の撮像部では、第二の絞り値で前記第一の距離とは異なる第二の距離にピントを合わせて撮像を行い、
前記複数の撮像部に含まれる撮像部であり、前記第一の撮像部及び前記第二の撮像部とは異なる撮像部である第三の撮像部では、前記第一の絞り値と前記第二の絞り値とよりも大きい第三の絞り値で撮像を行うことを特徴とする撮像方法。
【請求項１２】
コンピュータを請求項１乃至７のいずれか一項に記載の画像処理装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点からの同時撮像によるフォーカスブラケット撮影に関する。
【背景技術】
【０００２】
カメラの撮像方法の一つにブラケット撮影が存在する。ブラケット撮影とは、撮像条件を変えながら短時間のうちに複数枚の画像を連続撮像する撮像方法である。ブラケット撮影により得られた複数枚の画像を用いることで、１枚の画像では到達困難な写真画質を実現することができる。
【０００３】
ブラケット撮影には、露出を変化させて連続撮像する露出ブラケット撮影や、フラッシュの点灯／非点灯を変化させながら連続撮像するフラッシュブラケット撮影などが存在する。そして、その中でも代表的なものの一つとして、合焦位置を変えながら連続撮像を行うフォーカスブラケット撮影が存在する（特許文献１）。
【０００４】
フォーカスブラケット撮影は、例えば、手前の被写体、奥の被写体、更に奥の被写体などというように、ピントが合う距離を変化させながら複数回撮像を行うことで、異なる距離に合焦された複数枚の画像を取得する撮像方法である。フォーカスブラケット撮影では、一般に撮像時のレンズの絞り値は小さく設定される。そのため、各画像は被写界深度の浅い画像になるが、各画像を形成するための入射光量が大きくなり、絞り値を大きくして撮像した被写界深度の深い画像よりも、撮像ノイズが比較的少ない鮮明な画像となる。
【０００５】
フォーカスブラケット撮影により得られた複数の画像の活用法の一つとして、非特許文献１に開示されているような、被写界深度の拡張処理が知られている。これは、異なる距離に合焦された、被写界深度の浅い複数の画像を合成することで、画像中の広い範囲で合焦した被写界深度の深い画像を生成する処理である。この処理を用いることで、絞り値を大きくして撮像した画像に比べてノイズが少ない、被写界深度の深い画像を得ることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４９９７０４３号
【非特許文献】
【０００７】
【非特許文献１】Ｊａｃｏｂｓ，  Ｄａｖｉｄ  Ｅ．，  Ｊｏｎｇｍｉｎ  Ｂａｅｋ，  ａｎｄ  Ｍａｒｃ  Ｌｅｖｏｙ．  “Ｆｏｃａｌ  ｓｔａｃｋ  ｃｏｍｐｏｓｉｔｉｎｇ  ｆｏｒ  ｄｅｐｔｈ  ｏｆ  ｆｉｅｌｄ  ｃｏｎｔｒｏｌ．”  Ｓｔａｎｆｏｒｄ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｌａｂｏｒａｔｏｒｙ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  １  （２０１２）：  ２０１２．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ブラケット撮影に共通する課題として、撮影中に生じた手振れや被写体ぶれにより、画像間の被写体のずれが生じてしまう点が挙げられる。これは複数枚の画像を連続撮影するために生じる課題であるため、撮影間隔を短くすることが有効な解決手段である。例えば、複数の撮像部を有するカメラを用いて同時に撮像することでこの課題を解決することができる。
【０００９】
しかし、上述したようなカメラを用いて同時撮像を行った場合、得られた画像はそれぞれ異なる視点で撮像された画像であるため、被写界深度拡大処理等の為に各画像を合成する場合、各画像を位置合わせする必要がある。複数の画像の位置合わせ処理としては、各画像の間の対応関係を導出し、導出した対応関係に基づいて各画像をシフトさせる方法が一般的である。しかし、フォーカスブラケット撮影により得られた各画像は、それぞれ合焦状態が異なる画像であるため、画像間の対応関係を求めるのが難しく、各画像の位置合わせの為の画像ずらし量を精度よく求めるのが困難であった。そこで、本発明は、複数の異なる視点から同時撮像された、それぞれ異なる距離に合焦された複数の画像を精度よく位置合わせする技術の提供を目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の画像処理装置は、第一の絞り値で第一の距離にピントを合わせて撮像された第一の画像と、第二の絞り値で第一の距離とは異なる第二の距離にピントを合わせて撮像された第二の画像と、前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像された第三の画像とを取得する取得手段と、前記第一の画像と前記第二の画像とを、前記第三の画像に基づいて位置合わせする位置合わせ手段とを有することを特徴とする。
【発明の効果】
【００１１】
複数の異なる視点から同時撮像された、それぞれ異なる距離に合焦された複数の画像の位置合わせの精度が向上する。
【図面の簡単な説明】
【００１２】
【図１】実施例１の多眼カメラの外観を示す図。
【図２】実施例１の多眼カメラの撮像部の内部構成を示す図。
【図３】実施例１の多眼カメラの内部構成を示すブロック図。
【図４】実施例１の画像処理部の機能構成を示すブロック図。
【図５】実施例１の多眼カメラで行われる処理の流れを示すフローチャート。
【図６】実施例１の画像データを説明する図。
【図７】実施例１の合焦領域検出部の機能構成を示すブロック図。
【図８】実施例１の合焦領域検出部で行われる処理を示すフローチャート。
【図９】実施例１の画像シフト部の機能構成を示すブロック図。
【図１０】実施例１の画像シフト部で行われる処理を示すフローチャート。
【図１１】実施例１の被写界深度拡大部の機能構成を示すブロック図。
【図１２】実施例１の被写界深度拡大部で行われる処理を示すフローチャート。
【図１３】実施例２の被写界深度拡大部で行われる処理を示すフローチャート。
【図１４】実施例２のフィルタ処理を説明する図。
【発明を実施するための形態】
【００１３】
＜実施例１＞
本実施例では、複数の撮像部を備えた多眼方式による多視点撮像装置を用いてフォーカスブラケット撮影を行い、取得された画像データを用いて被写界深度拡大処理を行う例について説明する。まず、本実施例の構成について説明する。図１（ａ）は、本実施例で用いられる多視点撮像装置である、多眼カメラ１００（以下、カメラ１００とする）の一例を示す図である。カメラ１００は、撮像ボタン１０１及び撮像部１０２〜１０５を備えている。ユーザが撮像ボタン１０１を押すと、撮像部１０２〜１０５は同時に撮影を開始し、同一の被写体を複数の視点位置から同時に撮影した画像（デジタルデータ）を得ることができる。なお、ここでは撮像部の数を４個としたが、撮像部の数は４個に限定されず、撮像装置が複数の撮像部を有する限りにおいてその数によらず本発明は適用可能である。また、各撮像部の配置は図１（ａ）に示したものに限定されず、例えば図１（ｂ）に示すように各撮像部を配置するようにしてもよい。図１（ａ）と図１（ｂ）いずれも各撮像部の光軸がたがいに平行になるように配置（較正）されている。
【００１４】
図２（ａ）は、撮像部１０２の内部構成の一例を示す図である。撮像部１０２は、レンズ２０１〜２０２、ＮＤフィルタ２０３、絞り２０４、シャッター２０５、光学ローパスフィルタ２０６、ＩＲカットフィルタ２０７、カラーフィルタ２０８、センサ２０９及びＡ／Ｄ変換部２１０で構成される。レンズ２０１〜２０２はそれぞれ、フォーカスレンズ２０１およびぶれ補正レンズ２０２である。センサ２０９は、例えばＣＭＯＳやＣＣＤなどのセンサであり、上記の各レンズで結像された被写体の光学像を電気信号に変換する。センサ２０９により検知された光量はアナログ値としてセンサ２０９から出力され、Ａ／Ｄ変換部２１０によってデジタル値に変換されて、デジタルデータとなってバス３０１に出力される。
【００１５】
図２（ｂ）もまた、撮像部１０２の内部構成の一例を示す図である。第一の内部構成との違いは、ぶれ補正レンズ２０２有さないことである。このため、撮像部１０２は光学ぶれ補正機能を有さない。一方でレンズ総重量が軽くなり、撮像部１０２の長さを短くできる。本実施例において、撮像部１０２の内部構成はどのようなものでもよく、以降の本実施例の説明では、撮像部１０２は図２（ｂ）に示す内部構成を有するものとして扱う。なお、図示しない撮像部１０３〜１０５については、図２（ｂ）に示される撮像部１０２の内部構成と同様の内部構成を取るものとする。
【００１６】
図３は、カメラ１００の内部構成を示すブロック図である。中央処理装置（ＣＰＵ）３０２は、以下に述べる各部を統括的に制御する。ＲＡＭ３０３は、ＣＰＵ３０２の主メモリ、ワークエリア等として機能する。ＲＯＭ３０４は、ＣＰＵ３０２で実行される制御プログラム等を格納している。
【００１７】
バス３０１は、各種データの転送経路となる。例えば、撮像部１０２〜１０５によって取得されたデジタルデータは、このバス３０１を介して各構成部に伝送される。操作部３０５はユーザの指示を受け取るためのユーザインタフェースである。操作部３０５には具体的にはボタンやモードダイヤルなどが含まれ、撮像指示やズーム指示を受け取ることができる。表示部３０７は撮像画像や文字の表示を行なうディスプレイであり、例えば、液晶ディスプレイが用いられる。また、表示部３０７はタッチスクリーン機能を有していても良い。その場合はタッチスクリーンを用いた撮像指示やズーム指示などのユーザ指示を操作部３０５の入力として扱うことも可能である。
【００１８】
表示制御部３０６は、表示部３０７に表示される画像や文字の表示制御を行う制御回路である。撮像制御部３０８は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなど、ＣＰＵ３０２からの指示に基づいて撮像部の光学系の制御を行う制御回路である。カメラ１００は、この撮像制御部３０８の制御に基づき、所定の絞り値とピント距離に各撮像部を設定した後に、撮像部１０２〜１０５を用いて同時撮像を行う。デジタル信号処理部３０９は、バス３０１を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種画像処理を行う処理回路である。
【００１９】
エンコード部３１０は、バス３０１を介して受取ったデジタルデータをＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する処理を行う処理回路である。外部メモリ制御部３１１は、カメラ１００を、外部メモリ３１２（例えば、ＰＣ、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に結合するためのインターフェースである。画像処理部３１３は、撮像部１０２〜１０５で取得されたデジタルデータ等或いは、デジタル信号処理部３０９から出力されるデジタルデータ等を用いて画像合成などの画像処理を行う処理回路である。画像処理部３１３は、例えば、本実施例において開示される画像処理装置により、撮像部１０２〜１０５より取得されたそれぞれ視点位置の異なる画像を用いて、同一の視点から撮像された画像を仮想的に生成する画像処理を行なう。なお、撮像装置の構成要素は上記以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【００２０】
以上が本実施例におけるカメラ１００の構成である。以下、本実施例におけるカメラ１００で行われる処理について図を参照しながら説明する。図４は、画像処理部３１３の構成をさらに細分化した機能ブロック図である。画像処理部３１３は、合焦領域検出部４０１（以下、検出部４０１とする）、画像シフト部４０２、被写界深度拡大部４０３（以下、拡大部４０３とする）、そして前述の各構成部を接続するインターフェース４０５としての機能を有する。カメラ１００は、ＣＰＵ３０２が、ＲＯＭ３０４に格納されたプログラムを実行することで、図４に示す画像処理部３１３の各構成部を制御し、図５のフローチャートに示す処理を実現する。なお、この処理は、画像処理部３１３で行われる処理の一部または全部をＣＰＵ３０２が行うようにしてもよいし、図５のフローチャートに示す処理がプログラムを読み込まずとも自動的に実行されるような処理回路をカメラ１００が設けるようにしてもよい。
【００２１】
図５は、カメラ１００で行われる処理の流れを示すフローチャートである。まず、ステップＳ５０１では、インターフェース４０５が撮像部１０２〜１０５によって同時撮像された画像データをバス３０１を介して取得し、検出部４０１と画像シフト部４０２に出力する。ここでインターフェース４０５が取得する画像データは、撮像部に１０２〜１０５から直接出力された画像データでも良いし、ＲＡＭ３０３や外部メモリ３１２に一旦保存された画像データであってもよい。以下、本実施例のカメラ１００で行われる処理において用いられる画像データについて、図６（ａ）および（ｂ）を参照して説明する。
【００２２】
図６（ａ）は、本実施例における撮像部と被写体の間の位置関係を模式的に示す図である。Ｚは各撮像部の光軸に平行な軸であり、ｘ軸はｚ軸に垂直な平面における各撮像部の位置を示している。被写体Ａ６０１は位置ａに、被写体Ｂ６０２は位置ｂに、被写体Ｃ６０３は合焦位置ｃに配置されている。各撮像部と位置ａとの間の距離をＤａ、各撮像部と位置ｂとの間の距離をＤｂ、各撮像部と位置ｃとの間の距離をＤｃとすると、三者の関係はＤａ＜Ｄｂ＜Ｄｃである。
【００２３】
図６（ｂ）は、図６（ａ）に示すシーンを撮像部１０２〜１０５によって撮像した画像を示す模式図である。画像６０４は撮像部１０２によって撮像された画像を、画像６０５は撮像部１０３によって撮像された画像を、画像６０６は撮像部１０４によって撮像された画像を、画像６０７は撮像部１０５によって撮像された画像を示す。撮像部１０２は、被写体Ａ６０１、被写体Ｂ６０２、被写体Ｃ６０３の全ての被写体に合焦させるため、撮像部１０３〜１０５よりも絞り値を大きく設定することで被写界深度を深くしている。また、撮像部１０２は撮像部１０３〜１０５と同じシャッター時刻、同じ露出時間で撮像する。これらの要因により、画像６０４は画像６０５〜６０７に比べて、全ての被写体に概ね合焦しているものの、相対的にＳ／Ｎ比が低く、固定パターンノイズやランダムノイズがより顕著となる。
【００２４】
画像６０５は、撮像部１０３によって、被写体Ａ６０１に合焦するように撮像された画像である。また、画像６０６は、撮像部１０４によって、被写体Ｂ６０２に合焦するように撮像された画像であり、画像６０７は、撮像部１０５によって被写体Ｃ６０３に合焦するように撮像された画像である。画像６０５〜６０７を撮像する撮像部１０３〜１０５の絞り値は撮像部１０２の絞り値よりも相対的に小さく設定されており、被写界深度は浅くなっている。そのために一部の被写体にしか一度に合焦できないが、相対的にＳ／Ｎ比が高く、固定パターンノイズやランダムノイズが低減される。
【００２５】
また、撮像部１０２〜１０５はそれぞれ撮影視点位置が異なる。このため、得られる画像６０４〜６０７の視点位置もそれぞれ異なるものとなる。上記のように、撮像部１０２〜１０５によって同時に撮像される複数の画像は、視点位置がそれぞれ異なる。又、複数の画像は、合焦位置がそれぞれ異なる相対的に被写界深度の浅い複数の画像と、全ての合焦位置に合焦している相対的に被写界深度の深い画像によって構成される。
【００２６】
また、撮像部１０２〜１０５は同じシャッター時刻で撮像するため、画像間において被写体の動きやカメラの動きによる被写体の画像上の結像位置のずれは無くなる。また、撮像部１０２〜１０５は同じ露出時間で撮影するため、画像間において被写体の動きやカメラの動きによる被写体の画像上の結像のぶれの程度は同じになる。
【００２７】
以上が本実施例で用いる画像データの概要である。本実施例のカメラ１００では、撮像制御部３０８が撮像部１０２〜１０５のセンサ位置や絞りを制御することで上記に示した被写界深度や合焦位置の画像を取得するが、本発明の形態はこれに限られない。例えば、各撮像部のレンズの口径や焦点距離、センサ位置などをあらかじめ異なる値で設定しておき、撮像制御部３０８による制御なしに上記に示した画像を撮像できるように構成してもよい。また、各画像は完全な同時刻で撮像される必要はなく、被写体ぶれや手ぶれが発生しないような極めて短い間隔で時間をずらして撮像した場合も同時撮像とみなすものとする。また、本実施例において、撮像部１０３〜１０５はそれぞれ同じ絞り値を用いて撮像するが、撮像部１０２よりも小さな絞り値を用いていれば、互いに異なる絞り値を用いて撮像を行うようにしてもよい。
【００２８】
以下、カメラ１００で行われる処理の説明に戻る。ステップＳ５０２では、検出部４０１が、ステップＳ５０１で取得した各画像データの合焦領域の検出を行う。この処理の詳細については後述する。検出部４０１は、取得した各画像データと、検出した各画像データの合焦領域を示す情報を画像シフト部４０２に出力し、ステップＳ５０３に進む。ステップＳ５０３では、画像シフト部４０２が、検出部４０１から入力された各画像データの合焦領域を示す情報に基づいて、ステップＳ５０１で取得した各画像データの位置合わせを行う。この処理の詳細については後述する。画像シフト部４０２は、位置合わせを行った画像データを拡大部４０３に出力し、ステップＳ５０４に進む。
【００２９】
ステップＳ５０４では、拡大部４０３が、画像シフト部４０２から入力された位置合わせ後の画像データを用いて、合成することで、被写界深度が拡大された画像データを生成する。この処理の詳細についても後述する。
【００３０】
以上が、本実施例のカメラ１００で行われる処理の流れである。以下、カメラ１００で行われる各処理の詳細について説明する。まず、検出部４０１で行われる合焦領域検出処理（Ｓ５０２）について、図７に示すブロック図及び図８に示すフローチャートを参照して説明する。合焦領域検出部は、エッジ抽出部７０１、変形部７０２、ボケ領域判別部７０３（以下、判別部７０３とする）、ボケ付加部７０４を有している。
【００３１】
ステップＳ８０１では、エッジ抽出部７０１が、ステップＳ５０１で取得した画像データのエッジ情報を抽出する。エッジ情報の抽出方法としては、ラプラシアンフィルタ、キャニーエッジ抽出方法、ＬｏＧ（Ｌａｐｌａｃｉａｎ  ｏｆ  Ｇａｕｓｓｉａｎ）フィルタ、ＤｏＧ（Ｄｉｆｆｅｒｅｎｃｅ  ｏｆ  Ｇａｕｓｓｉａｎ）フィルタなどの公知の方法が適用可能である。本実施例においてはＤｏＧフィルタを適用して各画像データのエッジ情報の抽出を行う。ここで抽出されるエッジ情報は、エッジ抽出を行った画像データの各画素位置に対応するエッジ強度を示す画像データである。エッジ抽出部は、抽出したエッジ情報を変形部７０２に、Ｓ５０１で取得した画像データをボケ付加部７０４に出力してステップＳ８０２に進む。
【００３２】
ステップＳ８０２では、変形部７０２が、Ｓ７０２にて抽出されたエッジ情報に膨張・収縮処理を行なう。膨張・収縮処理は、エッジ情報を示す画像に膨張処理を適用した後に収縮処理を適用することで実現される。画像の膨張処理は、入力される画像内の処理対象画素において、処理対象画素を中心とするパッチ内の最大値を求める最大値フィルタ処理を画像に適応することで実現される。画像の収縮処理は、入力される画像内の処理対象画素において、処理対象画素を中心とするパッチ内の最小値を求める最小値フィルタ処理を入力される画像に適応することで実現される。パッチのサイズは３ｘ３ピクセルよりも大きいものを用いるのが好ましいが、他のサイズのフィルタを用いるようにしてもよい。なお、ここで行う膨張・収縮処理は、エッジ情報からエッジが多く存在する領域を抽出するための処理であり、膨張・収縮処理以外の他の処理で代替してもよい。例えば、平滑化フィルタを用いるようにしてもよい。また、ここで挙げた画像の膨張処理、収縮処理は一例であり、他にもモルフォロジー演算のエロージョン・ダイレーション・オープニング・クロージングなどを用いることができる。変形部７０２は、膨張・収縮処理を行ったエッジ情報を判別部７０３に出力してステップＳ８０３に進む。
【００３３】
ステップＳ８０３では、判別部７０３が、入力された全ての画像データに対して、ステップＳ８０１とステップＳ８０２の処理が実行されたかどうかを判定する。入力された全ての画像データに対してステップＳ８０１とステップＳ８０２の処理が実行されたと判定された場合、ステップＳ８０４に進む。入力された全ての画像データに対してステップＳ８０１とステップＳ８０２の処理が実行されていないと判定された場合は、ステップＳ８０１に戻り、まだ処理を行っていない画像に対してステップＳ８０１とステップＳ８０２の処理を実行する。
【００３４】
ステップＳ８０４では、判別部７０３が、変形部７０２から入力された、膨張・収縮処理が行われたエッジ情報を比較して、エッジ情報にボケを付与する領域を示す分散値マップを生成する。ここでは、エッジ情報の３種類の組み合わせで比較が行われる。撮像部１０２で撮像された被写界深度の深い画像を画像Ｗ、撮像部１０３で撮像された被写界深度の浅い画像を画像Ａ、撮像部１０４で撮像された被写界深度の浅い画像を画像Ｂ、撮像部１０５で撮像された被写界深度の浅い画像を画像Ｃとして説明する。１組目は、画像Ｗのエッジ情報と画像Ａのエッジ情報の組み合わせであり、２組目は画像Ｗのエッジ情報と画像Ｂのエッジ情報の、３組目は画像Ｗのエッジ情報と画像Ｃのエッジ情報の組み合わせである。
【００３５】
被写界深度の浅い画像Ａ〜Ｃから算出されるエッジ情報をＥｄｇｅＳｈａｌｌｏｗｊ（ｘ，ｙ）、被写界深度の深い画像Ｗから算出されるエッジ情報をＥｄｇｅＤｅｅｐｊ（ｘ，ｙ）とすると、算出する分散値マップＶａｒｊ（ｘ，ｙ）は以下の式１で表される。
【００３６】
【数１】
2015231220.tif 000003
【００３７】
但し、ａｊ＝ＥｄｇｅＤｅｅｐ（ｘ，ｙ）−ＥｄｇｅＳｈａｌｌｏｗｊ（ｘ，ｙ）である。ｘおよびｙはそれぞれ２次元画像平面での座標値を示しており、ｗとθはあらかじめ定められた定数である。ｊは被写界深度が浅い画像の番号を示しｊ＝１が画像Ａに、ｊ＝２が画像Ｂに、ｊ＝３が画像Ｃに対応する。すなわち、ここでは画像Ａ〜Ｃのそれぞれに対応する分散値マップが計３枚生成される。この分散値マップは、画像Ａ〜Ｃの、画像Ｗとの差が大きい領域にボケを付加し、画像Ｗとの差が小さい領域にはボケを付加しないことを示す分散マップが生成される。これにより画像Ａ〜Ｃの合焦領域以外の領域のボケを強調した画像を生成するための情報が生成される。判別部７０３は、式１にエッジ情報を代入することで生成した分散値マップをボケ付加部７０４に出力し、ステップＳ８０５に進む。
【００３８】
ステップＳ８０５では、ボケ付加部７０４が、画像Ａ〜Ｃのそれぞれに、対応する分散値マップに基づくボケ付加処理を行う。ボケ付加後の画像の画素値ＩｍｇＳｈａｌｌｏｗＢｌｕｒｊ（ｘ，ｙ）は、ボケのＰＳＦ（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ：点像分布関数）を用いて以下の式で表わすことができる。
【００３９】
【数２】
2015231220.tif 000004
【００４０】
【数３】
2015231220.tif 000005
【００４１】
ここで、ｕおよびｖはボケを付加するために用いるフィルタの大きさを示す定数であり、例えばフィルタの大きさが５×５画素の場合は、ｕ＝ｖ＝５となる。ｋおよびｌは画像ブロック内の参照画素を示す定数であり、ｋは０〜ｕの値をとる整数、ｌは０〜ｖの値をとる整数である。なお、数０４はｕとｖが共に奇数であり、類似度算出の対象となる画素を中心とした対称的な形状のフィルタを用いてボケ付加を行う場合に用いる式であり、フィルタの形状や配置に応じて自由に変更可能である。ボケ付加部７０４は、式２に示すフィルタを用いて画像Ａ〜Ｃにボケを付加したら、画像Ｗとボケ付加後の画像Ａ〜Ｃを画像シフト部４０２に出力して処理を終了する。
【００４２】
以上が、検出部４０１で行われる処理の詳細である。この処理により、各被写界深度の浅い画像の合焦領域以外の領域にボケが付加された画像データが、画像シフト部４０２に出力される。
【００４３】
次に、画像シフト部４０２で行われる位置合わせ処理（ステップＳ５０３）の詳細について、図９に示すブロック図と図１０に示すフローチャートを参照して説明する。画像シフト部４０２は、特徴点抽出部９０１、対応付け部９０２、行列算出部９０３、射影変換部９０４としての機能を有している。ステップＳ１００１では、特徴点抽出部９０１が、検出部４０１から入力された、被写界深度の深い画像と、ボケが付加された各被写界深度の浅い画像とにおける、画像中の特徴点を抽出する。特徴点を抽出するために用いられる特徴点抽出器には、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｃｋｉｎｇ）やＳＵＲＦ（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）などの公知の方法を適用することができる。特徴点抽出部９０１は、抽出した特徴点を示す情報を、対応付け部９０２に出力し、ステップＳ１００２に進む。
【００４４】
ステップＳ１００２では、対応付け部９０２が、ステップＳ１００１で検出された複数の特徴点間の対応を検出する。ここでは３種類の対応関係が検出される。１つめは、画像Ｗで検出された特徴点群と、ボケが付加された画像Ａで検出された特徴点群との対応関係である。そして、２つめは同じく画像Ｗで検出された特徴点群と、ボケが付加された画像Ｂで検出された特徴点群との対応関係であり、３つ目は、同じく画像Ｗで検出された特徴点群と、ボケが付加された画像Ｃで検出された特徴点群との対応関係である。
【００４５】
以下、具体的な対応関係の検出法について述べる。ＳＵＲＦの場合を例に挙げると、ＳＵＲＦでは検出されたそれぞれの特徴点は６４次元の特徴ベクトル（６４個の特徴量）で記述される。この特徴量を用いて２枚の画像のうちの一方の画像上の１つの特徴点について、もうひとつの画像の複数の特徴点からＫ近傍探索により、特徴量の近い特徴点を探索する。特にＫ＝１の場合、最も特徴量の近い特徴点が探索される。ＳＩＦＴを用いた場合も同様の処理となるが、ＳＩＦＴの場合特徴ベクトルは１２８次元となる。この処理を、上記の三種類の画像の組み合わせで行う。なお、この組み合わせの数は、用いる画像の種類と数に応じて適応的に変化させてよい。対応付け部９０２は、ここで検出した各特徴点の対応関係を示す情報を、行列算出部９０３に出力してステップＳ１００３に進む。
【００４６】
ステップＳ１００３では、行列算出部９０３が、ステップＳ１００２で検出された各特徴点の対応関係に基づいて、画像Ａ〜Ｃを画像Ｗの視点にシフトするための射影変換行列（ホモグラフィ行列）を算出する。ホモグラフィ行列は３ｘ３の行列であり、２枚の画像間の射影関係を表す行列である。ホモグラフィ行列は、画像間で対応する複数の特徴点の組の座標値を用いて算出することができる。理論上は４組の対応点（対応付いた特徴点）があればホモグラフィ行列を算出できるが、実際は４組では精度よく算出できないため、ここでは、座標値の誤差を正規分布と仮定して、用いる対応点の数を多くして最少二乗法によってホモグラフィ行列を算出する。ステップＳ８０５で、画像Ａ〜Ｃには合焦領域以外の領域にボケが付加されているため、ステップＳ１００１で検出される画像Ａ〜Ｃの特徴点は、画像Ａ〜Ｃの合焦領域に集中する。そのため、ここでは画像Ａ〜Ｃの合焦領域に基づくホモグラフィ行列が算出されるので、画像Ａ〜Ｃの合焦領域が、画像Ｗの対応する領域に精度良く重なるような位置合わせを行うことができる。行列算出部９０３は、算出した３つのホモグラフィ行列を射影変換部９０４に出力し、ステップＳ１００４に出力する。
【００４７】
ステップＳ１００４では、射影変換部９０４が、行列算出部９０３から入力されたホモグラフィ行列を用いて、ステップＳ５０１で取得した画像Ａ〜Ｃを射影変換する。射影変換部９０４は、画像Ｗと、射影変換した画像Ａ〜Ｃを拡大部４０３に出力して処理を終了する。以上が画像シフト部４０２で行われる処理の詳細である。この処理により、画像Ａ〜Ｃは、それぞれの合焦領域が画像Ｗの対応する画像領域と精度よく重なるように位置合わせされる。なお、ここではボケを付加した画像について特徴点を抽出することで、合焦領域における対応関係を精度よく求めたが、必ずしもこのような処理を行う必要はない。例えば、合焦領域を判定したらボケを付加せずに、単に特徴点の抽出を行う領域を限定するようにしてもよい。
【００４８】
次に、拡大部４０３で行われる被写界深度拡大処理（ステップＳ５０４）の詳細について、図１１に示すブロック図および図１２に示すフローチャートを参照して説明する。拡大部４０３は、類似度算出部１１０１、マップ変形部１１０２、重み決定部１１０３、フィルタ処理部１１０４、合成部１１０５としての機能を有している。
【００４９】
ステップＳ１２０１では、類似度算出部１１０１が、画像シフト部４０２から入力された、画像Ｗと、位置合わせ後の画像Ａ〜Ｃとの間の類似度を算出する。類似度は、射影変換後の画像Ａ〜Ｃと、画像Ｗの、同じ画素位置に対応する画像ブロックの画素値の比較により求められ、ステップＳ１００２での対応付けと同様に３種類の組み合わせで計算される。本実施例における類似度は、画像ブロック内の画素値の差分二乗平均の逆数として以下の式４で示される。
【００５０】
【数４】
2015231220.tif 000006
【００５１】
ここで、Ｓｊ（ｘ，ｙ）は画素位置（ｘ、ｙ）における類似度であり、ＩｍｇＤｅｅｐ（ｘ、ｙ）は画素位置（ｘ、ｙ）における画像Ｗの画素値、ＩｍｇＳｈｉｆｔｊ（ｘ、ｙ）は、画素位置（ｘ、ｙ）における、位置合わせ後の画像Ａ〜Ｃの画素値である。なお、ｊは画像Ａ〜Ｃの番号を示しており、ｊ＝１が画像Ａに、ｊ＝２が画像Ｂに、ｊ＝Ｃが画像Ｃに対応する。ｕおよびｖは類似度算出に用いる画像ブロックの大きさを示す定数であり、例えば類似度算出に用いる画像ブロックの大きさが５×５画素の場合は、ｕ＝ｖ＝５となる。ｋおよびｌは画像ブロック内の処理対象画素を示す定数であり、ｋは０〜ｕの値をとる整数、ｌは０〜ｖの値をとる整数である。なお、数０４はｕとｖが共に奇数であり、類似度算出の対象となる画素を中心とした対称的な画像ブロックを用いて類似度を算出する場合に用いる式であり、画像ブロックの形状や配置に応じて自由に変更可能である。また、類似度は画像Ａ〜Ｃと画像Ｗの間の画像の類似度合いを示す値であれば、他の式で表わされる様々な値を用いることが可能である。例えば、以下の式で表わされるＬ１ノルムを用いるようにしてもよい。
【００５２】
【数５】
2015231220.tif 000007
【００５３】
なお、類似度の算出を行った画像ブロック間で画素値が全く同じ場合などは上記の式を用いた計算の結果が発散してしまう。そのため、ＩｍｇＤｅｅｐとＩｍｇＳｈｉｆｔの差分（二乗）和が０であったり閾値よりも小さい場合には、所定の十分大きな類似度を割り当てるようにすればよい。類似度算出部１１０１は、入力された各画像の画素値を式４に代入して計算することで、画像Ａ〜Ｃそれぞれについて、各画素における画像Ｗとの類似度をマッピングした類似度マップを生成する。そして生成した類似度マップをマップ変形部１１０２に、画像Ｗと位置合わせ後の画像Ａ〜Ｃを合成部１１０５に出力し、ステップＳ１２０２に進む。
【００５４】
ステップＳ１２０２では、マップ変形部１１０２が、類似度算出部１１０１から入力された各類似度マップに膨張・収縮処理を行なう。膨張・収縮処理の詳細はステップＳ８０２でエッジ情報に行うものと同様であるので、説明を省略する。マップ変形部は、膨張・収縮処理を行った類似度マップを重み決定部１１０３に出力し、ステップＳ１２０３に進む。
【００５５】
ステップＳ１２０３では、重み決定部１１０３が、マップ変形部１１０２から入力された各類似度マップを比較し、画像Ａ〜Ｃの合成に用いる重み値を決定する。このステップでは、画像Ｗの各画素において、画像Ａ〜Ｃのうち最も画像Ｗとの類似度が高い画像を判定し、画像Ｗとの類似度が最も高い画像として判定された画像の重みを他の画像の重みよりも大きくする。これは、画像Ｗでは全ての被写体に合焦しているという前提を利用した処理であり、ある画素において画像Ｗとの類似度が高い画像は、その画素において画像Ｗと同様に合焦していることを示している。各画素位置（ｘ、ｙ）における各画像の重みＷｊ（ｘ、ｙ）は、具体的には以下の式で表わされる。
【００５６】
【数６】
2015231220.tif 000008
【００５７】
以上の式に基づいて重み値を決定すれば、各画素位置で最もピントが合っている画像の画素値が被写界深度拡大画像の画素値として選択されるので、幅広い範囲で合焦した画像を得ることができる。なお、重み値は必ずしも画像Ａ〜Ｃだけに設定する必要はなく、画像Ｗについても重み値を設定するようにしてもよい。例えば、ある画素位置において類似度Ｓｊが閾値以上となる画像が存在しない場合には、その画素位置で合焦している画像がＡ〜Ｃに存在しないことを意味するので、その画素位置では画像Ｗの画素値を選択するようにしてもよい。そのような処理により被写界深度がより拡大された画像を得ることができる。この場合の重み値の設定は、式６に加え、以下の式に基づいて行うことができる。
【００５８】
【数７】
2015231220.tif 000009
【００５９】
ここで、Ｗｗ（ｘ、ｙ）は画像Ｗの重み値、ｔｈは、あらかじめ定められた閾値である。
【００６０】
なお、各画像の重み値は必ずしも１もしくは０にする必要はなく、類似度が最も高い画像（閾値を超える類似度を有する画像が存在しない場合は、画像Ｗ）の重みが他の画像の重みよりも大きくなるように設定すればよい。重み決定部１１０３は、数０６に基づいて決定した重み値マップをフィルタ処理部１１０４に出力し、ステップＳ１２０４に進む。
【００６１】
ステップＳ１２０４では、フィルタ処理部１１０４が、重み決定部１１０３から出力された重み値マップにコンボリューションフィルタによる処理を行う。本実施例ではガウシアンフィルタによりボケを付加するが、重み値マップをぼかすために用いることのできるフィルタは広く利用可能である。この処理により、画像合成後の各領域の境界が目立たなくなる。フィルタ処理部１１０４は、フィルタ処理を行った重み値マップと、位置合わせ後の画像Ａ〜Ｃを合成部１１０５に出力して、ステップＳ１２０５に進む。
【００６２】
ステップＳ１２０５では、合成部１１０５が、フィルタ処理部１１０４から出力された重み値マップに基づいて、位置合わせ後の画像Ａ〜Ｃを合成する。合成後の画像の画素値Ｏ（ｘ、ｙ）は、以下の式で表わされる。
【００６３】
【数８】
2015231220.tif 000010
【００６４】
なお、ステップＳ１２０３で画像Ｗについても重み値を設定した場合、合成後の画像の画素値Ｏ（ｘ、ｙ）は以下の式で表わされる。
【００６５】
【数９】
2015231220.tif 000011
【００６６】
合成部１１０５は、上記の式に各重み値と画素値を代入して被写界深度を拡大した合成画像を生成し、表示制御部３０６や外部メモリ制御部３１１などに出力して処理を終了する。
【００６７】
以上が本実施例のカメラ１００で行われる処理である。以上の処理によれば、複数の異なる視点から同時撮像された、それぞれ異なる距離に合焦された複数の画像の位置合わせを精度よく行うことができ、その結果、良好な被写界深度拡大画像を得ることができる。なお、式９などに基づいて画像Ｗも合成に用いる場合には、画像Ｗにエッジ保存型の平滑化フィルタ等を適用してから合成を行うと、よりノイズが少なく被写界深度の深い画像を得ることができる。
【００６８】
なお、本実施例において、撮像制御部３０８は、複数の撮像部の光学系を制御する制御手段として機能する。また、インターフェース４０５は、第一の絞り値で第一の距離にピントを合わせて撮像された第一の画像と、第二の絞り値で第一の距離とは異なる第二の距離にピントを合わせて撮像された第二の画像とを取得する取得手段として機能する。また、インターフェース４０５は、さらに前記第一の絞り値と前記第二の絞り値とよりも大きな第三の絞り値で撮像された第三の画像とを取得する取得手段として機能する。また、画像シフト部４０２は、前記第一の画像と前記第二の画像とを、前記第三の画像に基づいて位置合わせする位置合わせ手段として機能する。また、拡大部４０３は、前記位置合わせ手段により位置合わせされた前記第一の画像と前記第二の画像とを合成することで、前記第一の画像および前記第二の画像よりも被写界深度の深い合成画像を生成する合成手段として機能する。また、類似度算出部１１０１は、位置合わせされた第一の画像と第三の画像との間および、位置合わせされた第二の画像と第三の画像との間で、画像中の同じ位置に対応する画像領域ごとに、画像の類似度合いを示すパラメータを算出する算出手段として機能する。
【００６９】
＜実施例２＞
実施例１では、被写界深度拡大画像の生成に用いる各画像の合焦領域に基づいて画像合成の重みを変える一例について説明した。実施例２では、より自然なボケ味を有する被写界深度拡大画像を生成する方法について説明する。本実施例では、ステップＳ５０４の被写界深度拡大処理の内容が実施例１と異なっている。本実施例のカメラ１００の構成は実施例１と同様であるので、説明を省略し、以下、本実施例のカメラ１００で行われる被写界深度拡大処理について、図１３に示すフローチャートを参照して説明する。なお、実施例１と同様の処理については、図１２と同じ符号を付して説明を省略する。
【００７０】
ステップＳ１３０１では、フィルタ処理部１１０４が、画像Ｗに、シフト後の画像Ａ〜Ｃを用いたジョイントバイラテラルフィルタによる処理を行う。ジョイントバイラテラルフィルタは、処理に用いるフィルタの係数値を、処理対象画素からの参照画素の距離と、処理対象画素とは異なる参照画像の画素値に基づいて決定したフィルタである。ここでは、フィルタ処理を、処理対象画像を画像Ｗ、参照画像をシフト後の画像Ａ〜Ｃのうちの一枚として３回のフィルタ処理を行い、３枚のフィルタ処理後画像ＩｍｇＦｉｌｔｅｒｊ（ｘ，ｙ）を生成する。ＩｍｇＦｉｌｔｅｒｊ（ｘ，ｙ）は以下の式で表わされる。
【００７１】
【数１０】
2015231220.tif 000012
【００７２】
ここで、ｈはフィルタ処理を行なうパッチ内の各画素の重み係数を表し、σｓはｈの距離に基づく項の分散を、σｒはｈの画素値に基づく項の分散を示す。ここで生成される３枚のフィルタ処理済み画像は、画像Ａ〜Ｃの画素値に基づいたフィルタ処理が行われているので、画像Ａ〜Ｃそれぞれのボケ状態を反映した画像となる。その例を図１４を参照して説明する。図１４（ａ）はフィルタ処理を行っていない画像Ｗ、図１４（ｂ）は遠景に合焦したシフト後の画像Ｃ、図１４（ｃ）は画像Ｃを参照画像としてジョイントバイラテラルフィルタ処理を行った画像Ｗを示す。各画像の左側が画像の全体を、中央が近景の鎖線で囲まれた領域の拡大像を、右側が円形の点線で囲まれた領域の拡大像を示す。図１４（ａ）〜（ｃ）を比較すると、遠景の部分では、どの画像も鮮鋭な像が得られているのが分かる。しかし、近景の部分では、フィルタ処理前の画像Ｗでは鮮鋭な像が得られていたにもかかわらず、画像Ｃのボケの影響を受けて、フィルタ処理後の画像Ｗでもボケが発生している。このように、ジョイントバイラテラルフィルタを用いることで、被写界深度の浅い画像のボケ状態に応じたボケを画像Ｗに付加することができる。フィルタ処理部１１０４は、式１０に示すフィルタを画像Ｗに適用し、生成した３枚のフィルタ処理済み画像を合成部１１０５に出力してステップＳ１３０２に進む。なお、ここで用いるフィルタは必ずしもジョイントバイラテラルフィルタである必要はなく、ガイデッドフィルタなどの他のフィルタを用いるようにしてもよい。
【００７３】
ステップＳ１３０２では、合成部１１０５が、フィルタ処理部１１０４から入力されたフィルタ処理済みの画像Ｗと重みマップに基づいて、画像Ａ〜Ｃとフィルタ処理済みの画像Ｗを合成し、３枚の補正シフト画像を生成する。補正シフト画像の画素値をＩｍｇＳｈｉｆｔ’ｊ（ｘ，ｙ）は以下の式で表わされる。
ＩｍｇＳｈｉｆｔ’ｊ（ｘ，ｙ）＝Ｗｊ（ｘ，ｙ）・ＩｍｇＳｈｉｆｔｊ（ｘ，ｙ）＋（１−Ｗｊ（ｘ，ｙ））・ＩｍｇＦｉｌｔｅｒｊ（ｘ，ｙ）    （式１１）
式１１で表わされる補正シフト画像は、シフト後の画像Ａ〜Ｃの非合焦領域を、フィルタ処理済みの画像Ｗで置き換えたものである。シフト後の画像Ａ〜Ｃは、合焦領域が画像Ｗと重なるように位置合わせを行った画像であるため、非合焦領域において画像Ｗと位置ずれが生じているが、式１１で示される合成処理によって、全ての領域において画像Ｗに重なるような画像に補正される。また、合成に用いられたフィルタ処理済みの画像Ｗには、フィルタ処理の参照画像として用いられたシフト後の画像Ａ〜Ｃのボケ状態が反映されているため、補正シフト画像にも画像Ａ〜Ｃのボケ状態の情報が残っている。合成部１１０５は、フィルタ処理部１１０４から入力されたフィルタ処理済みの画像Ｗおよびシフト後の画像Ａ〜Ｃの画素値と、重み値を式１１に代入して３枚の補正シフト画像を生成し、ステップＳ１３０３に進む。
【００７４】
ステップＳ１３０３では、合成部１１０５が、ステップＳ１３０２で生成された３枚の補正シフト画像のボケ状態を比較し、３枚の補正シフト画像の合成処理に用いる重み値を決定する。以下、重み値の決定方法について説明する。２枚の合焦位置の異なる画像ｇ１（ｘ，ｙ）とｇ２（ｘ，ｙ）とが存在する時に、以下の式１２により、２枚の画像のボケ状態の違いを示す評価値Ｊ１、２を得る。
【００７５】
【数１１】
2015231220.tif 000013
【００７６】
ここで、ｇ１（ｋ）（ｘ，ｙ）、はｇ１（ｘ，ｙ）に段階的に程度の異なるボケを付加した画像であり、ｒはボケ状態の比較に用いる画像ブロックの半径を示している。なお、ｇ１（ｋ）（ｘ，ｙ）は以下の式１３により求められる。
ｇ１（ｋ）（ｘ，ｙ）＝ｈ（ｘ，ｙ；ｋ）＊ｇ１（ｘ，ｙ）    （式１３）
ここで、ｈ（ｘ，ｙ；ｋ）は以下の式１４で表わされる点像分布関数である。
【００７７】
【数１２】
2015231220.tif 000014
【００７８】
式１４において、ΔＲはボケの半径の増分である。上記の式で示される評価値Ｊ１を用いてｇ１（ｘ，ｙ）に与えられる重み値ｂ１（ｘ，ｙ）は以下の式１５に基づいて算出される。
【００７９】
【数１３】
2015231220.tif 000015
【００８０】
ここで、ｔｈは０〜１の値で設定される閾値パラメータである。計算の結果ｂ１，２（ｘ，ｙ）が負の値をとった時は、ｂ１、２（ｘ、ｙ）は０に置き換えれば良い。合成部１１０５は、３枚の補正シフト画像をそれぞれｇ１（ｘ、ｙ）、ｇ２（ｘ、ｙ）、ｇ３（ｘ、ｙ）として上記の式１２〜１５に代入する。そして代入した値に基づいて、重み値ｂ１、２（ｘ、ｙ）、ｂ２、１（ｘ、ｙ）、ｂ１、３（ｘ、ｙ）、ｂ３、１（ｘ、ｙ）、ｂ２、３（ｘ、ｙ）、ｂ３、２（ｘ、ｙ）を求める。ここで、ｂ２、１（ｘ、ｙ）はｇ１（ｘ、ｙ）とｇ２（ｘ、ｙ）の合成においてｇ２（ｘ、ｙ）に与える重みを示し、ｂ３、２（ｘ、ｙ）はｇ２（ｘ、ｙ）とｇ３（ｘ、ｙ）の合成においてｇ３（ｘ、ｙ）に与える重みを示す。
【００８１】
ステップＳ１３０４では、合成部１１０５が、ステップＳ１３０３で求められた重み値を用いて３枚の補正シフト画像を合成し、３枚の被写界深度部分拡大画像を生成する。ここでは、３枚の補正シフト画像から２枚ずつ選択した３組を合成する。例えば、ｇ１（ｘ、ｙ）とｇ２（ｘ、ｙ）との合成により生成される部分被写界深度拡大画像ｇ１，２’（ｘ，ｙ）は、以下の式１６で表わされる。
【００８２】
【数１４】
2015231220.tif 000016
【００８３】
他の組み合わせの合成を行う場合は、式１６中の各変数をそれぞれ対応する画像の画素値と重み値に置き換えればよい。合成部１１０５は、各画像の重み値と画素値を式１６に代入し、被写界深度部分拡大画像ｇ１，２’（ｘ，ｙ）、ｇ１，３’（ｘ，ｙ）、ｇ２，３’（ｘ，ｙ）を生成し、ステップＳ１３０５に進む。
【００８４】
ステップＳ１３０５では、合成部１１０５が、ステップＳ１３０４で生成された３枚の被写界深度部分拡大画像を合成することで、全ての領域で合焦した最終的な出力画像Ｏｕｔｐｕｔ（ｘ、ｙ）を生成する。被写界深度部分拡大画像の合成は、以下の式に基づいて行われる。
Ｏｕｔｐｕｔ（ｘ，ｙ）＝ＭＥＤＩＡＮ（ｇ１，２’（ｘ，ｙ），ｇ１，３’（ｘ，ｙ），ｇ２，３’（ｘ，ｙ））    （式１７）
ＭＥＤＩＡＮ（Ａ，Ｂ，Ｃ）は与えられた画素値Ａ、Ｂ、Ｃの中央値を出力とする関数である。ｇ１，２’（ｘ，ｙ）、ｇ１，３’（ｘ，ｙ）、ｇ２，３’（ｘ，ｙ）は、近景・中景・遠景の３つの距離のうち、それぞれ２つの距離に概ね合焦している。このため、ｇ１，２’（ｘ，ｙ）、ｇ１，３’（ｘ，ｙ）、ｇ２，３’（ｘ，ｙ）の同一座標における画素値の中央値を取ることで、近景・中景・遠景の全てに合焦した画像情報の画素値を取得することができる。合成部１１０５は、３枚の被写界深度部分拡大画像の画素値を式１７に代入し、生成された出力画像を表示制御部３０６や外部メモリ制御部３１１などに出力して処理を終了する。
【００８５】
以上が本実施例のカメラ１００で行われる被写界深度拡大処理の流れである。以上の処理によれば、実施例１よりも自然なボケ味を有する被写界深度拡大画像を得ることができる。
【００８６】
（その他の実施例）
上記の実施例では、得られた複数の画像を合成して被写界深度拡大画像を生成する場合に、どの領域にどの画像の画素値をあてはめるかをカメラ１００が自動的に決定する例について述べたが、画素値の割り当てが他の方法で決定されるようにしてもよい。例えば、上記の実施例の方法で位置合わせおよび合成を行った画像をユーザに対して表示し、表示した画像に基づいてユーザが各画像の合成の重みを微調整できるようにしてもよい。そのような捜査の為のユーザインタフェースの例として、合成において最も重みが大きい画像が切り替わる境界をユーザに対して表示し、ユーザがその境界に対して変形命令を入力することで、重みづけの仕方を変えられるように設計してもよい。例えば、境界を移動させることで位置ごとに各画像に与える重みの傾斜を変化させたり、境界をぼかすことで境界における重みに連続性を持たせたりできるようにしてもよい。
【００８７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８８】
１００  多眼カメラ
１０２〜１０５  撮像部
３０２  ＣＰＵ
３０３  ＲＡＭ
３０４  ＲＯＭ
３０８  撮像制御部
３１３  画像処理部
【図１】
2015231220.tif 000017
【図２】
2015231220.tif 000018
【図３】
2015231220.tif 000019
【図４】
2015231220.tif 000020
【図５】
2015231220.tif 000021
【図７】
2015231220.tif 000022
【図８】
2015231220.tif 000023
【図９】
2015231220.tif 000024
【図１０】
2015231220.tif 000025
【図１１】
2015231220.tif 000026
【図１２】
2015231220.tif 000027
【図１３】
2015231220.tif 000028
【図６】
2015231220.tif 000029
【図１４】
2015231220.tif 000030