(57)【特許請求の範囲】
【請求項１】
撮像系を用いて生成された互いに視差を有する複数の視差画像を用いて、前記撮像系の収差による劣化が抑制された補正画像を生成する画像処理装置であって、
前記撮像系の光学情報と前記複数の視差画像における対応画素の画素値および画素値勾配のうち少なくとも一方とに応じて、前記複数の視差画像のそれぞれに対応する複数の重み付け用データであるウェイトを生成するウェイト生成手段と、
前記複数の視差画像のそれぞれに対して前記ウェイトを適用した結果を用いて前記補正画像を生成する画像生成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記ウェイト生成手段は、前記複数の視差画像のうち前記画素値がより低い視差画像に対応する前記ウェイトの値がより大きくなるように前記複数のウェイトを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ウェイト生成手段は、前記複数の視差画像のうち前記画素値勾配がより小さい視差画像に対応する前記ウェイトの値がより大きくなるように前記複数のウェイトを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記ウェイト生成手段は、前記光学情報に応じた方向での前記画素値勾配に応じて前記ウェイトを生成することを特徴とする請求項１または３に記載の画像処理装置。
【請求項５】
前記光学情報は、前記撮像系の点像分布関数に関する情報であることを特徴する請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記撮像系は、光学系の射出瞳のうち互いに異なる複数の瞳領域からの複数の光束を光電変換することで前記視差画像を生成し、
前記光学情報は、前記複数の瞳領域の分離方向であることを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項７】
前記光学情報は、前記複数の視差画像に対する前記収差の相違に関する情報であることを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項８】
前記画像生成手段は、
前記複数の視差画像において前記撮像系が合焦した領域である合焦領域を検出し、
前記各視差画像における前記合焦領域に対して前記ウェイトを適用することを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
前記画像生成手段は、
前記複数の視差画像において画素値が飽和している飽和画素を検出し、
前記各視差画像における前記飽和画素を含む領域に対して前記ウェイトを適用することを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項１０】
前記複数の視差画像に対して周辺光量低下量の差を小さくする補正を行って複数の光量補正視差画像を生成する周辺光量補正手段を有し、
前記ウェイト生成手段は、前記複数の光量補正視差画像における前記画素値および前記画素値勾配のうち少なくとも一方と前記光学情報とに応じて前記複数のウェイトを生成し、
前記画像生成手段は、前記複数の光量補正視差画像のそれぞれに対して対応する前記ウェイトを適用することを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項１１】
前記ウェイトは、前記画素値に応じた第１のウェイト成分と前記画素値勾配に応じた第２のウェイト成分とを含み、
前記ウェイト生成手段は、前記ウェイトを、前記各視差画像における前記画素値がより低い領域に対しては前記第１のウェイト成分が前記第２のウェイト成分に比べてより重みを有し、かつ前記画素値がより高い領域に対しては前記第２のウェイト成分が前記第１のウェイト成分に比べてより重みを有するように生成することを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記光学情報に応じて、前記各視差画像における画像処理対象領域を判定する判定手段を有し、
前記ウェイト生成手段は、前記画像処理対象領域に対して前記ウェイトを生成し、
前記画像生成手段は、前記画像処理対象領域に前記ウェイトを適用することを特徴とする請求項１から１１のいずれか一項に記載の画像処理装置。
【請求項１３】
上記画像生成手段は、前記補正画像として、単一の画像または互いに視差を有する複数の画像を生成することを特徴とする請求項１から１２のいずれか一項に記載の画像処理装置。
【請求項１４】
前記複数の視差画像は、撮像光学系の射出瞳のうち互いに異なる領域からの複数の光束を撮像素子における互いに異なる光電変換部により光電変換することで生成された画像であることを特徴とする請求項１から１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記対応画素は複数の視差画像において同一位置に位置する画素であることを特徴とする請求項１乃至１４のいずれか一項に記載の画像処理装置。
【請求項１６】
撮像系を用いて互いに視差を有する複数の視差画像を生成する撮像装置であって、
請求項１から１５のいずれか一項に記載の画像処理装置を有することを特徴とする撮像装置。
【請求項１７】
撮像系を用いて生成された互いに視差を有する複数の視差画像を用いて、前記撮像系の収差による劣化が抑制された補正画像を生成する画像処理方法であって、
前記撮像系の光学情報と前記複数の視差画像における対応画素の画素値および画素値勾配のうち少なくとも一方とに応じて、前記複数の視差画像のそれぞれに対応する複数の重み付け用データであるウェイトを生成し、
前記複数の視差画像のそれぞれに対して前記ウェイトを適用した結果を用いて前記補正画像を生成することを特徴とする画像処理方法。
【請求項１８】
撮像系を用いて生成された互いに視差を有する複数の視差画像を用いて、前記撮像系の収差による劣化が抑制された補正画像を生成する画像処理をコンピュータに実行させるコンピュータプログラムであって、
前記画像処理は、
前記撮像系の光学情報と前記複数の視差画像における対応画素の画素値および画素値勾配のうち少なくとも一方とに応じて、前記複数の視差画像のそれぞれに対応する複数の重み付け用データであるウェイトを生成し、
前記複数の視差画像のそれぞれに対して前記ウェイトを適用した結果を用いて前記補正画像を生成する処理であることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像により生成された画像の画質を向上させるための画像処理技術に関し、特に撮像により生成された複数の視差画像を用いて、収差による劣化が抑制された画像を生成する画像処理技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置により生成された撮像画像は、撮像光学系により発生する収差や回折等の影響により１点から発せられた光が微小な広がりを持つことに起因するぼけ（画質の劣化）を有する。このような光の微小な広がりを表す関数を点像強度分布関数（ＰＳＦ）という。
【０００３】
一方、撮像光学系の射出瞳のうち互いに異なる領域を通過した複数の光束を撮像素子における互いに異なる光電変換部（画素またはサブ画素）により撮像することで互いに視差を有する複数の視差画像を生成する技術が提案されている。ただし、一般に射出瞳のうち光束が通過する領域によって発生する収差が異なるため、これら複数の視差画像には互いに異なるＰＳＦに由来する、視差成分以外の相違が含まれる。
【０００４】
特許文献１には、複数の視差画像のそれぞれに対して、ＰＳＦに基づくフィルタリング関数を用意し、各視差画像に対して対応するフィルタリング関数を用いてフィルタリング処理を行うことで各視差画像の劣化を補正する画像処理方法が開示されている。また、特許文献２には、複数の視差画像の相違に基づいてゴースト（不要光）を低減する画像処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２３６２０７号公報
【特許文献２】特開２０１３−１７９５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１にて開示された画像処理方法では、視差画像の数分のフィルタリング関数やその生成に用いる複数のＰＳＦのデータが必要となる。さらに、ＰＳＦは撮像光学系の焦点距離や絞り値等の撮像条件や画像上の位置によって変化するため、撮像条件や位置の数分のデータが必要となる。さらに特許文献１にいうフィルタリング処理は、ＰＳＦの広がり以上のサイズ（数十×数十タップ）のフィルタ（カーネル）を畳み込み積分する処理であり、処理負荷が大きい。これら必要なデータや処理負荷は、視差画像の数の増加に伴って増大する。しかも、撮像画像において画素値が飽和している領域（画素値飽和領域）では、画素値情報が欠落するために収差による劣化を補正することが困難である。
【０００７】
また、特許文献２にて開示された画像処理方法は、ゴーストによって画素値が増加するという前提に基づいているために、画素ごとに画素値が増加したり減少したりする収差が発生する場合には十分な劣化抑制（収差補正）効果が得られない。
【０００８】
本発明は、複数の視差画像から、少ないデータを用いた負荷が軽い処理によって、画素値飽和領域においても収差による劣化が良好に抑制された補正画像を生成することが可能な画像処理装置等を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理装置は、撮像系を用いて生成された互いに視差を有する複数の視差画像を用いて、撮像系の収差による劣化が抑制された補正画像を生成する。該画像処理装置は、撮像系の光学情報と複数の視差画像における対応画素の画素値および画素値勾配のうち少なくとも一方とに応じて、複数の視差画像のそれぞれに対応する複数の重み付け用データであるウェイトを生成するウェイト生成手段と、複数の視差画像のそれぞれに対してウェイトを適用した結果を用いて補正画像を生成する画像生成手段とを有することを特徴とする。
【００１０】
なお、撮像系を用いて互いに視差を有する複数の視差画像を生成する撮像装置であって、上記画像処理装置を有する撮像装置も、本発明の他の一側面を構成する。
【００１１】
また、本発明の他の一側面としての画像処理方法は、撮像系を用いて生成された互いに視差を有する複数の視差画像を用いて、撮像系の収差による劣化が抑制された補正画像を生成する方法である。該画像処理方法は、撮像系の光学情報と複数の視差画像における対応画素の画素値および画素値勾配のうち少なくとも一方とに応じて、複数の視差画像のそれぞれに対応する複数の重み付け用データであるウェイトを生成し、複数の視差画像のそれぞれに対してウェイトを適用した結果を用いて補正画像を生成することを特徴とする。
【００１２】
なお、上記画像処理方法による画像処理をコンピュータに実行させる画像処理プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【００１３】
本発明によれば、複数の視差画像から、少ないデータを用いた負荷が軽い処理によって、画素値飽和領域においても収差による劣化が良好に抑制された補正画像を生成することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の各実施例における画像処理方法の原理を説明する図。
【図２】各実施例で用いる撮像系における撮像素子の受光部と撮像光学系の射出瞳との関係を示す図。
【図３】上記撮像系を示す図。
【図４】各実施例で用いる撮像系における撮像素子の画素と撮像光学系の射出瞳との関係を物点から見た図。
【図５】各実施例で用いることが可能な他の撮像系を示す図。
【図６】上記撮像光学系で発生する収差量を示す収差図。
【図７】図１に示した複数の画像の１次元分布を示す図。
【図８】各実施例における画素値飽和領域における収差補正を説明する図。
【図９】実施例１，２，３で用いる撮像装置の構成を示すブロック図。
【図１０】実施例１の画像処理の手順を示すフローチャート。
【図１１】実施例１において画素値勾配を算出する方向と補正効果との関係を説明する図。
【図１２】実施例１における撮像系のＰＳＦを説明する図。
【図１３】実施例２，３において画素値勾配の算出に用いるフィルタを示す図。
【図１４】実施例２の画像処理の手順を示すフローチャート。
【図１５】実施例３の画像処理の手順を示すフローチャート。
【図１６】実施例３において複数の視差画像と複数の補正ウェイトの利用方法を説明する図。
【図１７】実施例４の画像処理装置の構成を示すブロック図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照しながら説明する。
【００１６】
まず後述する具体的な実施例１〜３の説明に先立ち、各実施例において複数の視差画像を取得するために用いる撮像装置について説明する。この撮像装置は、撮像光学系の射出瞳のうち互いに異なる領域（瞳領域）を通過した複数の光束を撮像素子における互いに異なる光電変換部（画素またはサブ画素）で光電変換することで、一度の撮像により複数の視差画像を生成可能である。以下の説明において、撮像光学系と撮像素子とをまとめて撮像系という。
【００１７】
図２には、撮像系における撮像素子の画素と撮像光学系の射出瞳との関係を示す。図２において、ＭＬはマイクロレンズであり、ＣＦはカラーフィルタである。ＥＸＰは撮像光学系の射出瞳を示している。Ｇ１，Ｇ２はサブ画素（以下それぞれ、Ｇ１画素およびＧ２画素という）であり、１つのＧ１画素と１つのＧ２画素とが互いに対（組）をなしている。
【００１８】
撮像素子には、Ｇ１画素とＧ２画素の組（画素組）が複数配列されている。一組のＧ１画素とＧ２画素は、互いに共通の（つまりは画素組ごとに１つずつ設けられた）マイクロレンズＭＬを介して射出瞳ＥＸＰと共役な関係を有する。さらに、Ｇ１画素は射出瞳ＥＸＰにおける瞳領域であるＰ１領域と共役な関係を有し、Ｇ２画素は射出瞳ＥＸＰにおける別の瞳領域であるＰ２領域と共役な関係を有する。撮像素子に配列された複数のＧ１画素をまとめてＧ１画素群ともいい、同様に撮像素子に配列された複数のＧ２画素をまとめてＧ２画素群ともいう。
【００１９】
図３には、射出瞳ＥＸＰの位置に厚さが無い仮想的なレンズとしての薄肉レンズが設けられていると仮定した場合の撮像系を模式的に示している。Ｇ１画素は射出瞳ＥＸＰのうちＰ１領域を通過した光束を受光し、Ｇ２画素は射出瞳ＥＸＰのうちＰ２領域を通過した光束を受光する。ＭＬは図２にも示したマイクロレンズであり、ＣＦは同じくカラーフィルタである。Ｘ方向は撮像光学系の光軸方向を示し、Ｙ方向およびＺ方向は、Ｘ方向に対して直交し、かつ互いに直交する方向を示している。
【００２０】
ＯＳＰは撮像している物点である。物点ＯＳＰからの光束は、射出瞳ＥＸＰにおけるその光束が通過する領域（位置）に応じてＧ１画素またはＧ２画素に導かれる。すなわち、射出瞳ＥＸＰにおける互いに異なる領域を光束が通過することは、物点ＯＳＰからの光束が角度（視差）によって複数に分離されることに相当する。このため、撮像素子上のＧ１画素群からの出力信号を用いて生成された画像とＧ２画素群からの出力信号を用いて生成された画像とが、互いに視差を有する複数（ここでは一対）の視差画像となる。
【００２１】
以下の説明において、射出瞳ＥＸＰにおける互いに異なる瞳領域を通過した複数の光束を互いに異なる画素に導くことを、瞳分割という。
【００２２】
図４（ａ）は、図３に示したマイクロレンズＭＬとＧ１画素およびＧ２画素からなる画素組とを物点ＯＳＰ側から撮像系の光軸方向（Ｘ方向）に沿って見て示している。図４（ａ）では、図３に示したカラーフィルタＣＦを省略している。図４（ｂ）は、図４（ａ）に示したＧ１画素およびＧ２画素のそれぞれに対応する射出瞳ＥＸＰ内のＰ１領域およびＰ２領域を示している。図４（ａ），（ｂ）に示す撮像系では、上述したように一対の視差画像が得られる。
【００２３】
図４（ｃ）には、１つのマイクロレンズＭＬに対して設けられたＧ１画素、Ｇ２画素、Ｇ３画素およびＧ４画素からなる画素組を物点側から光軸方向（Ｘ方向）に沿って見て示している。図４（ｃ）でも、カラーフィルタＣＦを省略している。Ｇ１画素、Ｇ２画素、Ｇ３画素およびＧ４画素は、互いに共通のマイクロレンズＭＬを介して、図４（ｄ）に示す射出瞳ＥＸＰ内の互いに異なる瞳領域であるＰ１領域、Ｐ２領域、Ｐ３領域およびＰ４領域と共役な関係を有する。このため、物点ＯＳＰからの光束は、射出瞳ＥＸＰ内のＰ１領域、Ｐ２領域、Ｐ３領域およびＰ４領域のうち通過した領域に応じてＧ１画素、Ｇ２画素、Ｇ３画素またはＧ４画素に導かれる。これにより、撮像素子上のＧ１画素群、Ｇ２画素群、Ｇ３画素群およびＧ４画素群のそれぞれからの出力信号を用いて生成された４つの画像が互いに視差を有する４つの視差画像となる。
【００２４】
各実施例の撮像系において、射出瞳ＥＸＰの位置がずれる等して上述した共役関係が完全ではなくてもよい。また、各実施例の撮像系において、図４（ｂ）および図４（ｄ）に示した複数の瞳領域は互いに部分的にオーバーラップしてもよいし、それぞれの領域の間に間隔があってもよい。
【００２５】
なお、撮像素子として、上述したように１つのマイクロレンズに対して２つや４つの光電変換部を有するものに限らず、さらに多くの数の光電変換部を有する（マイクロレンズを介してさらに多くの光電変換部が射出瞳と共役な関係を有する）ものを用いてもよい。
【００２６】
また、上述した撮像系の構成は例に過ぎず、瞳分割を行えれば撮像系の構成は特に限定されるものではない。例えば、図５に示すように、射出瞳ＥＸＰのうちＰ１領域およびＰ２領域を通過した一対の光束が三角形ミラーＴＭＲによって互いに異なる撮像素子（光電変換部）ＳＥＮ１，ＳＥＮ２に導かれる構成を有する撮像系であってもよい。この撮像系では、撮像素子ＳＥＮ１，ＳＥＮ２の出力信号をそれぞれ別々に読み出すことで一対の視差画像を生成することができる。
【００２７】
次に、図１および図６〜図８を用いて、上述した撮像系により生成される複数の視差画像を用いて、収差による画質劣化（以下、単に劣化という）が抑制された補正画像を生成する画像処理方法（以下、単に画像処理ともいう）の原理について説明する。
【００２８】
一般に、撮像光学系においては、光束が通過する射出瞳内の領域によって発生する収差が相違する。各実施例ではこの相違に基づいて、撮像光学系で発生する収差の影響による劣化が抑制された補正画像を生成する。以下では、図３に示した撮像系で得られる一対の視差画像を用いる場合を例として説明する。
【００２９】
図１（ａ）は、画像を劣化させる収差が無い理想的な撮像系を用いて被写体を撮像することで得られる画像を示している。以下の説明において、この理想的な撮像系によって得られた画像を理想画像という。なお、収差は撮像光学系だけでなく撮像素子上のマイクロレンズでも発生し得るので、実際には撮像系全体の収差を考慮するが、以下の説明では、特に撮像光学系で発生する収差に着目して説明する。
【００３０】
図６（ａ）は、撮像光学系によって発生する収差（射出瞳上での収差量の分布）の例を示す横収差図である。この横収差図において、横軸は図３におけるＺ方向での位置を、縦軸は横収差量のＺ成分を示している。図６（ａ）に示すような収差が発生する撮像光学系を通して瞳分割を行わずに被写体を撮像した場合には、図１（ｂ）に示すような画像が得られる。
【００３１】
図４（ｂ）に示した射出瞳ＥＸＰ内のＰ１領域およびＰ２領域はそれぞれ、図６（ａ）と同じ収差を示した図６（ｂ）および図６（ｃ）において破線で示した領域に相当する。これらの図から、光束がＰ１領域を通過する場合とＰ２領域を通過する場合とでは発生する収差が異なることが分かる。そして、この光束が通過する瞳領域に相違に伴う収差の相違によって、一対の視差画像間にも相違が生じる。なお、図６（ａ）〜（ｃ）に示す収差は例にすぎず、必ずしもこのような収差が発生する撮像光学系であることが必要であるわけではなく、射出瞳内を通過する領域が異なることで発生する収差量が異なる撮像光学系であればよい。
【００３２】
図１（ｃ）および図１（ｄ）には、瞳分割を行って撮像することで得られる一対の視差画像のうち一方の視差画像と他方の視差画像をそれぞれ示している。なお、これらの図では、一方と他方の視差画像とを黒画像と白画像とで示して区別し易くしているが、実際には同じ色の画像である。
【００３３】
図１（ｅ）には、図１（ｃ）および図１（ｄ）に示した一方と他方の視差画像間の差分を示している。この差分は、一方と他方の視差画像のそれぞれに含まれる撮像光学系で発生する収差に対応する成分を示している。このため、この差分に基づいて画像処理を行うことで、図１（ｆ）に示すような収差による劣化が抑制された補正画像を生成することができる。具体的な画像処理の内容については後に実施例１で説明する。
【００３４】
図７（ｂ）および図７（ｃ）には、図１（ａ）、図１（ｃ）、図１（ｄ）および図１（ｆ）に示した画像における図７（ａ）にて破線矢印に沿った直線上での画素値の１次元分布を示している。図７（ｂ）および図７（ｃ）における実線は理想画像の画素値の分布を示している。図７（ｂ）中の破線および点線がそれぞれ一方と他方の視差画像の画素値の分布を示し、図７（ｃ）中の破線が補正画像の画素値の分布を示す。
【００３５】
ここまで説明した画像処理は、複数の視差画像の相違に基づいて収差による劣化抑制のための補正（以下、収差補正ともいう）を行うものであり、この相違が小さい場合には劣化抑制（収差補正）効果が低減する。ここでの複数の視差画像間の相違は撮像光学系で発生する収差の相違であるため、例えば複数の視差画像に対応する点像分布関数（ＰＳＦ）の相違量から、各視差画像上の部分領域（画像領域）ごとに画像処理を行うことにより得られる収差補正効果を知ることができる。ＰＳＦの相違量から画像処理を行う画像領域（補正対象領域）を限定することにより、処理負荷を低減することができる。
【００３６】
ここでは、例として複数の視差画像間の差分およびＰＳＦの相違量を用いて補正画像を生成する場合の画像処理の原理について説明した。しかし、視差画像の差分およびＰＳＦの相違量に限らず、複数の視差画像の画素値および画素値勾配のうち少なくとも一方と撮像系の光学情報とを用いて補正画像を生成すればよい。
【００３７】
後述する実施例１では、収差補正を、撮像系の光学情報と複数（一対）の視差画像間の画素値の差分に応じた複数（一対）の重み付け用データであるウェイト（以下、補正ウェイトという）とを用いて行う画像処理について説明する。また、実施例２では、撮像系の光学情報と一対の視差画像の画素値勾配の相違（実施例１にいう「差分」とは異なる）とに応じた一対の補正ウェイトを用いて収差補正を行う画像処理について説明する。さらに、実施例３では、撮像系の光学情報と複数の視差画像の画素値および画素値勾配のそれぞれの相違とに応じた複数の補正ウェイトを用いて収差補正を行う画像処理について説明する。
【００３８】
各実施例で説明する画像処理方法はいずれも、画素値飽和領域においても収差補正が行えるという特徴がある。撮像素子が出力する画像において、各画素が出力可能な画素値には上限（飽和画素値）があり、それを超える画素値を出力することはできない。図８（ａ）〜図８（ｅ）において、実線は画素値が飽和しないように撮像素子への入射光量が抑えられた状態での撮像により得られた理想画像の画素値の１次元分布を示している。一方、図８（ａ）中の破線は、仮に撮像素子の画素値が上限を持たない（飽和しない）とした場合において瞳分割を行わない撮像により得られた画像の画素値の分布を示している。
【００３９】
図８（ｂ）中の破線は、撮像素子への入射光量が大きい状況において瞳分割を行わない撮像により得られた画像における飽和した画素値の１次元分布を示している。このように、実際には撮像素子の画素値には上限があるため、その上限以上の画素値は飽和画素値として一定値となる。つまり、本来の画素値が欠落する。このように画素値が欠落した飽和画素を含む領域（以下、画素値飽和領域という）においては収差成分が正しく現れないために、特許文献１にて開示されているような従来の画像処理方法では収差補正が困難である。
【００４０】
図８（ｃ）中の破線および点線はそれぞれ、仮に撮像素子の画素値が上限を持たないとした場合において瞳分割を行った撮像により得られた一対の視差画像の画素値の分布を示している。瞳分割を行った撮像でも、やはり撮像素子の画素値には上限があるため、図８（ｄ）に破線および点線で示すように、実際に得られる一対の視差画像の画素値のうち上限以上の画素値は欠落する。しかしながら、画素値飽和領域において画素値が欠落していても、図８（ｄ）に示すように一対の視差画像間には画素値に相違が存在する。このため、各実施例で説明する一対の視差画像間の画素値または画素値勾配の相違に基づいた画像処理によれば、図８（ｅ）に破線で示すように、画素値が欠落している画素値飽和領域においても収差による劣化を抑制した画像を生成することができる。
【００４１】
なお、ここまでの説明で用い、かつ以下の各実施例の説明においても用いる「画素値」は、カラー画像を構成するＲＧＢの各色チャンネルでの画素値でもよいし、輝度値と言い代えてもよい。
【実施例１】
【００４２】
実施例１では、一対の視差画像の差分に応じて設定（生成）した一対の補正ウェイトを用いる画像処理について説明する。まず、該画像処理を実行する画像処理装置を搭載した撮像装置について説明する。
【００４３】
図９には、撮像装置の構成を示している。撮像光学系１００は、不図示の被写体からの光を撮像素子１０２上に結像させる。撮像素子１０２は、ＣＭＯＳセンサやＣＣＤセンサ等の光電変換素子により構成されている。撮像素子１０２には、図２に示したように複数のマイクロレンズＭＬが設けられており、１つのマイクロレンズＭＬに対して一対の光電変換部（サブ画素）であるＧ１画素とＧ２画素が設けられている。撮像素子１０２は、撮像光学系１００の射出瞳（図２中のＥＸＰ）のうち互いに異なる瞳領域（Ｐ１，Ｐ２）を通過した一対の光束（被写体像）を各瞳領域に対応するＧ１画素およびＧ２画素にて光電変換することで、瞳分割を伴う撮像を行う。撮像光学系１００および撮像素子１０２により撮像系が構成される。
【００４４】
撮像素子１０２上のＧ１画素群およびＧ２画素群での光電変換により生成された撮像信号（アナログ信号）は、Ａ／Ｄコンバータ１０３でデジタル撮像信号に変換されて画像処理装置としての画像処理部１０４に入力される。
【００４５】
画像処理部１０４は、該デジタル撮像信号に対して各種処理を行うことで入力画像を生成し、さらに該入力画像をＧ１画素群に対応する画像とＧ２画素群に対応する画像とに分離（再構成）することで一対の視差画像を生成する。また、画像処理部１０４は、記憶部１０８から、該記憶部１０８に予め記憶された撮像系の光学情報（具体的には後述する）を読み出す。そして、ウェイト生成手段および画像生成手段としての画像処理部１０４は、撮像系の光学情報を用いつつ、一対の視差画像間の差分を算出し、該差分に応じて該一対の視差画像のそれぞれに対して適用する一対の補正ウェイトを生成する。さらに、画像処理部１０４は、一対の視差画像のそれぞれに対して対応する補正ウェイトを適用した結果（一対の重み画像）を用いて単一の補正画像を生成する。
【００４６】
画像処理部１０４で生成された補正画像は、半導体メモリや光ディスク等の画像記憶媒体１０９に記録される。また、補正画像は、画像表示部１０５に表示される。
【００４７】
撮像素子１０２の駆動および画像処理部１０４での処理は、システムコントローラ１０７が制御する。また、撮像光学系１００に含まれる絞り１０１ａおよびフォーカスレンズ１０１ｂの駆動は、システムコントローラ１０７からの制御信号に応じて光学系制御部１０６が制御する。絞り１０１ａは、設定された絞り値（Ｆナンバー）に応じてその開口径を変化させることで撮像素子１０２に入射する光量を調整する。フォーカスレンズ１０１ｂは、不図示のＡＦシステムやマニュアルフォーカス機構によってその位置が変更されることで焦点調節を行う。なお、撮像光学系１００は、図９では撮像装置の一部として構成されているが、一眼レフカメラのように交換式の撮像光学系であってもよい。
【００４８】
次に、本実施例の画像処理の具体的な手順について、図１０のフローチャートを用いて説明する。画像処理は、画像処理コンピュータとしての画像処理部１０４が、コンピュータプログラムとしての画像処理プログラムに従って、システムコントローラ１０７の指示のもとで実行する。なお、画像処理部１０４とは別に以下に説明する画像処理を行う補正処理部（画像処理装置）を設けてもよい。これら画像処理プログラムおよび別の補正処理部については、後述する他の実施例でも同じである。
【００４９】
ステップＳ１０１では、画像処理部１０４は、システムコントローラ１０７による制御に応じて被写体を撮像した撮像素子１０２からＡ／Ｄコンバータ１０３を介して撮像信号を取り込み、該撮像信号から入力画像を生成する。
【００５０】
ステップＳ１０２では、画像処理部１０４は、入力画像を再構成することで一対の視差画像を生成する。
【００５１】
ステップＳ１０３では、画像処理部１０４は、記憶部１０８から撮像系（撮像光学系１００および撮像素子１０２）の光学情報を読み出す。ここで、一対の視差画像において互いに対応する（同じ画素アドレスの画素が複数含まれる）部分画像領域を対応画像領域という。一対の視差画像には、複数対の対応画像領域が含まれる。また、撮像光学系１００の射出瞳のうち、一対の対応画像領域に含まれる一対の被写体像を形成する一対の光束が通過する一対の瞳領域を対応瞳領域という。射出瞳には、複数対の対応瞳領域が含まれる。撮像系のＰＳＦは瞳領域の位置によって異なるため、一対の対応瞳領域のうち一方の瞳領域に対するＰＳＦと他方の瞳領域に対するＰＳＦとには相違がある。
本実施例では、撮像系の光学情報として、対応瞳領域ごと（つまりは対応画像領域ごと）のＰＳＦの相違量ΔＰＳＦが二次元配列データとして記憶部１０８に記憶されている。また、ＰＳＦは撮像光学系１００の焦点距離や絞り値等の撮像条件に応じても異なるため、ΔＰＳＦも撮像条件に応じて異なる。このため、記憶部１０８には、対応画像領域ごとに、撮像条件ごとのΔＰＳＦの二次元配列データが記憶されている。画像処理部１０４は、ステップＳ１０１での撮像時における撮像条件を取得し、該撮像条件に対応するΔＰＳＦを対応画像領域ごとに記憶部１０８から読み出す。
【００５２】
そして、判定手段としての画像処理部１０４は、対応画像領域ごとに二次元配列データであるΔＰＳＦの全要素の積算値が閾値以上か否かを判定し、ΔＰＳＦの積算値が閾値以上である対応画像領域を補正対象領域として決定する。すなわち、画像処理部１０４は、光学情報としてのΔＰＳＦに応じて、各視差画像における画像処理対象領域としての補正対象領域を判定する。
【００５３】
ここで、上記閾値は撮像装置のユーザが任意に設定してもよいし、記憶部１０８に予め記憶された所定値であってもよい。ここでは例として、一対の対応画像領域ごとのＰＳＦの和の積算値に０．１を乗じた値を閾値として設定する。言い換えれば、本実施例では、撮像系のＰＳＦに対応する画像成分（劣化成分）が１０％以上の相違を有する対応画像領域を補正対象領域とする。
【００５４】
なお、記憶部１０８に記憶されているΔＰＳＦのデータは、事前に測定して取得したデータであってもよいし、設計値から算出したデータであってもよい。さらに、本実施例では、ΔＰＳＦを用いているが、一対の視差画像のそれぞれに含まれる収差の相違を表すものであれば他の値であってもよい。また、補正対象領域の判定は必ずしも行う必要はなく、記憶部１０８に撮像条件ごと補正対象領域を予め記憶させておき、撮像時の撮像条件に対応する補正対象領域を記憶部１０８から読み出してもよい。
【００５５】
ステップＳ１０４では、画像処理部１０４は、ステップＳ１０３で決定した補正対象領域において一対の視差画像間の差分を算出し、該差分に応じて一対の補正ウェイトを設定（生成）する。ここでの具体的な処理について以下に説明する。一対の視差画像をＩＭＧ１およびＩＭＧ２といい、一対の視差画像ＩＭＧ１，ＩＭＧ２間において互いに対応する画素（同じ画素アドレスの画素）同士を対応画素という。また、一対の視差画像ＩＭＧ１およびＩＭＧ２のそれぞれに適用される一対の補正ウェイトをＷ１およびＷ２という。各補正ウェイトは、各視差画像の画素数と同じ数の要素を有する二次元配列データである。
【００５６】
まず、画像処理部１０４は、補正対象領域において、ＩＭＧ１の画素値からＩＭＧ２の画素値を対応画素ごとに減算することでＩＭＧ１およびＩＭＧ２間での対応画素ごとの画素値の差分を算出する。次に、画像処理部１０４は、算出した差分が正の値を持つ対応画素に対しては補正ウェイトの値をＷ１＝０、Ｗ２＝１とし、上記差分が負の値を持つ対応画素に対してはＷ１＝１、Ｗ２＝０とする。また、上記差分が零の対応画素に対しては、Ｗ１およびＷ２を、Ｗ１＋Ｗ２＝１を満たす範囲で任意の正の値に設定する。また、補正対象領域外の画像領域（補正対象外領域）の対応画素については、Ｗ１＝０．５、Ｗ２＝０．５とする。
【００５７】
ステップＳ１０５では、画像処理部１０４は、式（１）に示すように、一対の視差画像（補正対象領域および補正対象外領域）ＩＭＧ１，ＩＭＧ２のそれぞれに対して対応する補正ウェイトＷ１，Ｗ２を適用（乗算）した結果（一対の重み画像）を加算する。これにより、補正画像Ｒを生成して出力する。
【００５８】
【数１】
0006504910.tif 000002
【００５９】
式（１）において、（ｉ，ｊ）は各視差画像中の画素アドレスを示し、ＩＭＧ１（ｉ，ｊ），ＩＭＧ２（ｉ，ｊ）はそれぞれ、ＩＭＧ１，ＩＭＧ２における画素アドレス（ｉ，ｊ）（対応画素）での画素値を示す。Ｗ１（ｉ，ｊ），Ｗ２（ｉ，ｊ）はそれぞれ、画素アドレス（ｉ，ｊ）に対応する補正ウェイトの要素値を示す。
【００６０】
画像処理部１０４は、ユーザが任意に選択した対応画像領域（補正対象領域）のみにおいて算出したウェイトを用いて補正画像Ｒを生成し、他の対応画像領域においては一対の視差画像の画素値を平均した画素値を有する画像を補正画像Ｒとして出力してもよい。言い換えれば、ユーザが任意に選択した対応画像領域のみにおいて収差補正を行ってもよい。
【００６１】
こうして画像処理部１０４から出力された補正画像は、システムコントローラ１０７からの指示に応じて画像記憶媒体１０９に記憶される。この際、システムコントローラ１０７は、収差補正前の一対の視差画像および入力画像のうち少なくとも１つを画像記憶媒体１０９に記憶させてもよい。また、システムコントローラ１０７は、補正画像、収差補正前の一対の視差画像および入力画像のうち少なくとも１つを画像表示部１０５に表示させてもよい。
【００６２】
画像処理部１０４は、ステップＳ１０２〜Ｓ１０５にて入力画像を再構成することで一対の視差画像を生成し、その後に収差補正を行ったが、入力画像を再構成することなく一対の視差画像を取得して収差補正を行ってもよい。このことは、後述する他の実施例でも同じである。
【００６３】
本実施例の画像処理によれば、図７（ｂ）に破線および点線で示した一対の視差画像を用いて、図７（ｃ）に破線で示したように収差による劣化が良好に抑制された補正画像を生成することができる。
【００６４】
また、本実施例の画像処理は、ΔＰＳＦを用いた補正対象領域の決定と、一対の視差画像の画素値の差分から算出した一対の補正ウェイトを該一対の視差画像に適用した結果の加算とで行うことができる。このため、特許文献１にて開示されたフィルタリング処理のように、撮像条件ごとや画像上での位置ごとにフィルタを用意する必要がなく、またこのフィルタを畳み込み積分するような負荷の大きい処理も不要である。したがって、補正画像を少ないデータで高速な画像処理により生成することができる。しかも、画素値飽和領域でも収差補正を行うことができる。
【実施例２】
【００６５】
実施例２では、実施例１で説明した画像処理の変形例について説明する。本実施例の画像処理を実行する画像処理装置（画像処理部１０４）を備えた撮像装置の構成は実施例１（図９）と同じであるため、この説明は省略する。
【００６６】
実施例１の画像処理では、撮像光学系の光学情報と一対の視差画像間における対応画素の画素値の差分とに応じて一対の補正ウェイトを設定した。これに対して、本実施例の画像処理では、撮像系の光学情報と一対の視差画像間における対応画素での画素値勾配の相違とに応じて一対の補正ウェイトを算出（生成）する。
【００６７】
収差による劣化によって視差画像間での対応画素の画素値に相違があるため、画素値勾配にも相違がある。図７（ｄ）中の破線および点線はそれぞれ、図７（ｂ）にて破線および点線で示した画素値の１次元分布、すなわち画素値分布における画素値勾配（微分量）の絶対値を示している。
【００６８】
図７（ｂ）および図７（ｄ）に示すように、各視差画像において、画素値勾配が小さい、すなわち画素値分布がなだらかな局所的な画像領域は実線で示す理想画像により近い。実際に撮像を行った場合には理想画像は未知であってその情報を用いることはできないが、補正ウェイトの算出に画素値勾配を用いることで、各視差画像の局所的な画像領域ごとに擬似的に収差の影響が少ない画素値を選択することができる。
【００６９】
図１１（ａ）には、一対の視差画像（白画像および黒画像）と画素値の微分方向（破線矢印方向）とを示す。ここでの微分方向は、一対の視差画像においてＰＳＦの広がりが小さい方向である。また、図１１（ａ）に示す破線矢印に沿った直線上での画素値の１次元分布を図１１（ｃ）に示す。図１１（ｃ）において、１本の破線が一対の視差画像のそれぞれの画素値の分布を示している。この分布においては一対の視差画像の画素値に差が無いために、その微分値である画素値勾配にも差が無い。このため、画素値勾配を導入したことによる収差補正効果の向上は見られない。
【００７０】
次に、図１１（ｂ）には、図１１（ａ）と同じ一対の視差画像と、図１１（ａ）とは異なる微分方向（破線矢印方向）とを示す。ここでの微分方向は、ここでの微分方向は、一対の視差画像のそれぞれにおけるＰＳＦの広がりが大きい方向であり、一対の視差画像においてＰＳＦの相違が大きい方向とも言える。また、図１１（ｂ）に示す破線矢印に沿った直線上での画素値の１次元分布を図１１（ｄ）に示す。図１１（ｄ）において、破線および点線が一対の視差画像のそれぞれの画素値の分布を示している。この分布においては一対の視差画像の画素値に大きな相違があるため、画素値勾配も大きく異なり、この結果、画素値勾配を導入したことによる収差補正効果の向上が大きい。このように、一対の視差画像においてＰＳＦの広がり（相違）が大きい方向を微分方向として選択することで、収差補正効果が向上する。このため、一対の視差画像の対応画素ごとにＰＳＦの広がりが大きい方向を撮像系の光学情報として用意しておき、その方向においてその対応画素での画素値勾配を算出することが望ましい。
【００７１】
なお、前述したＰＳＦの広がりが大きい方向について詳しく説明する。図１２（ａ）には、撮像系の像面であるＹＺ面でのＰＳＦのＹ断面形状を示し、図１２（ｂ）には同ＰＳＦのＺ断面形状を示す。これらの図において、横軸はＹＺ面上での位置であり、縦軸は強度（光量）である。単純なＰＳＦの広がりは図１２（ｂ）に示すＺ断面の方が図１２（ａ）に示すＹ断面に比べてより大きいが、図１２（ｂ）ではＰＳＦの強度が中心位置付近に集中している。実際に取得する画像において支配的となる収差は、図１２（ｂ）に示すような集中した強度分布よりも、図１２（ａ）に示すように拡散した強度分布を生じさせる。したがって、上述した収差補正効果が高まる微分方向も、図１２（ａ）に示すＹ断面の方向（Ｙ方向）である。このことから、本実施例にいうＰＳＦの広がりが大きい方向とは、図１２（ａ）に示すように強度がより拡散している方向を意味する。ただし、目的に応じて、図１２（ｂ）に示すように強度が弱くても広く拡散している方向をＰＳＦの広がりが大きい方向として選択してもよい。
【００７２】
また、微分方向の決定に用いる光学情報は、ＰＳＦについての情報ではなく、瞳分割の方向の情報であってもよい。瞳分割の方向とは、例えば図４（ａ）に示す撮像素子を用いる場合にはＧ１，Ｇ２画素が並んでいるＺ方向であり、図４（ｂ）に示すＰ１，Ｐ２領域（瞳領域）の分離方向である。瞳分割の方向を微分方向として特定すると、画像上の全ての領域で必ずしも収差補正効果が高い微分方向を選択することにはならない。しかし、必要な光学情報は画像上の全ての領域および全ての撮像条件に対して共通する単一方向となるので、非常に少ないデータ量で済むというメリットがある。
【００７３】
本実施例では、式（２）を用いて一対の補正ウェイトを算出する。
【００７４】
【数２】
0006504910.tif 000003
【００７５】
式（２）において、α，βはそれぞれ個々の視差画像を示す添え字であり、本実施例では、αおよびβはそれぞれ１から２の範囲内の整数である。（ｉ，ｊ）は各視差画像中の画素アドレスを示す。また、ΔＩＭＧ（ｉ，ｊ）は各視差画像における画素アドレス（ｉ，ｊ）での画素値勾配を示す。ｇは収差補正効果をコントロールするパラメータを示し、それの値はユーザが任意に設定することができる。また、各補正ウェイトは、対応する視差画像の画素数と同じ数の要素を有する２次元配列データである。
【００７６】
画素値勾配ΔＩＭＧは、図１３（ａ）に示すように、方向性を持った１×３タップを有する微分フィルタを視差画像に対して畳み込み積分することで算出する。ただし、これに代えて、画像上のノイズの影響を受けにくいフィルタとして、図１３（ｂ）に示す３×３タップのプリューウィットフィルタや図１３（ｃ）に示す３×３タップのソーベルフィルタを用いて算出してもよい。さらに言えば、画素値勾配を算出できる手段であれば、どのような手段を用いてもよい。また、フィルタのサイズ（タップ数）は小さいほど処理を高速に行うことが可能であるが、目的に応じて任意のサイズを用いてよい。
【００７７】
式（２）では、一対の視差画像の対応画素に対して適用する一対の補正ウェイトの対応要素を、互いに加算して１になるように規格化している。これは一対の視差画像の対応画素ごとに画素値勾配の相違を比較し、画素値勾配がより小さい視差画像に対応する補正ウェイトをより大きくすることに相当する。このように一対の補正ウェイトを規格化することにより、一対の補正ウェイトのうち一方を算出すれば自動的に他方の補正ウェイトが決定（算出）される。このように複数の補正ウェイトのうち１つを算出することで他の補正ウェイトが上記規格化によって自動的に決定される場合でも、該複数の補正ウェイトをそれぞれ生成することに相当する。
【００７８】
図７（ｂ）に示した各視差画像を用いて上述した画像処理を行うと、図７（ｅ）に破線で示す補正画像を得ることができる。式（２）により算出した補正ウェイトを用いて補正画像を生成する方法は、実施例１で説明した方法と同じである。
【００７９】
実施例１で説明した画素値の差分に応じた補正ウェイトを用いた画像処理により生成される補正画像は、図７（ｃ）に示すように、画素値が高い画像領域において理想画像との乖離を有していた。これに比べて本実施例で行う画素値勾配の相違に応じた補正ウェイトを用いた画像処理により生成される補正画像は、画素値が高い画像領域において画素値が増加しており、より理想画像に近くなる。これにより、実施例１に比べて、より良好な収差補正効果を得ることができる。
【００８０】
式（２）において収差補正効果をコントロールするパラメータｇは、画素値勾配の逆数の指数である。このため、パラメータｇを大きくすることで、補正ウェイトの画素値勾配の逆数に対する依存性を上げることができる。パラメータｇは、０より大きい正の値をとり、典型的には、ｇ＝０．１〜１程度の値に設定される。
【００８１】
次に、本実施例の画像処理の具体的な手順について、図１４のフローチャートを用いて説明する。ステップＳ２０１およびステップＳ２０２は、実施例１（図１０）におけるステップＳ１０１およびステップＳ１０２と同じであるため、説明を省略する。
【００８２】
ステップＳ２０３では、画像処理部１０４は、一対の視差画像間での視差量から、これら画像のうち撮像光学系１００が合焦した領域である合焦領域を検出する。具体的には、対応画素間で得られる視差量から撮像光学系１００の被写体に対するデフォーカス量を算出し、該デフォーカス量が合焦範囲内にある対応画素を含む画像領域を合焦領域として検出する。また、不図示の測距装置によって得られたデフォーカス量の情報から合焦領域を検出してもよい。
【００８３】
ステップＳ２０４では、画像処理部１０４は、記憶部１０８から、予め記憶部１０８に記憶された撮像系の光学情報として、一対の視差画像に対する撮像系のＰＳＦの広がりが大きい方向（以下、ＰＳＦ広がり方向という）の情報を読み出す。ＰＳＦ広がり方向は、焦点距離、絞り値等の撮像条件や視差画像上での位置によって異なるため、画像処理部１０４は、記憶部１０８から撮像条件に対応するＰＳＦ広がり方向を視差画像上での位置（対応画素）ごとに読み出す。そして、位置ごとに読み出したＰＳＦ広がり方向をその位置での画素値勾配の算出方向（画素値の微分方向）として設定する。
ただし、瞳分割の方向を記憶部１０８から読み出して、それを画素値勾配の算出方向として設定してもよい。
【００８４】
ステップＳ２０５では、画像処理部１０４は、一対の視差画像ＩＭＧ１，ＩＭＧ２のそれぞれのうちステップＳ２０４で検出した合焦領域において、式（２）を用いて、一対の補正ウェイトＷ１，Ｗ２を算出（生成）する。このとき、画像処理部１０４は、一対の視差画像の対応画像ごとに、ステップＳ２０４で設定した画素値勾配の算出方向において画素値勾配ΔＩＭＧを算出する。また、パラメータｇの値は、例えばｇ＝２と設定する。このとき、Ｗ１は式（３）により、Ｗ２は式（４）により算出される。
【００８５】
【数３】
0006504910.tif 000004
【００８６】
【数４】
0006504910.tif 000005
【００８７】
ステップＳ２０６では、画像処理部１０４は、一対の視差画像ＩＭＧ１，ＩＭＧ２の合焦領域の画素値に対して、式（１）に示したようにステップＳ２０５で算出した一対の補正ウェイトＷ１，Ｗ２を適用することで、補正画像Ｒを出力する。このとき、合焦領域外においては、画素ごとに一対の視差画像の画素値の平均値を補正画像Ｒの画素値として出力する。このように、本実施例では、合焦領域においてのみ収差補正を行う。
【００８８】
こうして画像処理部１０４から出力された補正画像は、システムコントローラ１０７からの指示に応じて画像記憶媒体１０９に記憶される。この際、システムコントローラ１０７は、収差補正前の一対の視差画像および入力画像のうち少なくとも１つを画像記憶媒体１０９に記憶させてもよい。また、システムコントローラ１０７は、補正画像、収差補正前の一対の視差画像および入力画像のうち少なくとも１つを画像表示部１０５に表示させてもよい。
【００８９】
本実施例の画像処理は、画素値勾配を算出するために畳み込み積分処理が必要であるが、該処理に用いるフィルタ（カーネル）のサイズは１×３タップ程度の小さいサイズで十分である。このため、特許文献１にて開示された数十×数十タップのフィルタの畳み込み積分が必要となるフィルタリング処理を行う場合に比べて、低負荷で高速な画像処理により補正画像を生成することができる。
【００９０】
また、本実施例の画像処理において必要なデータは、複数の視差画像およびＰＳＦ広がり方向に関するデータのみである。ＰＳＦ広がり方向は、撮像条件や画像上の位置によって変化するためにその変化に応じた数分のデータが必要となるが、ＰＳＦそのものではなく、ＰＳＦが広がっている方向を示すデータであるため、少ないデータ量とのデータである。このため、特許文献１にて開示された撮像条件や画像上の位置ごとのＰＳＦのデータが必要となるフィルタリング処理に比べて、必要なデータ量を削減することができる。
【００９１】
さらに、本実施例では、画素値勾配を用いて補正ウェイトを算出することで、出力される補正画像において良好な収差補正効果を得ることができる。
【実施例３】
【００９２】
実施例３では、実施例２で説明した画像処理の変形例について説明する。本実施例の画像処理を実行する画像処理装置（画像処理部１０４）を備えた撮像装置の基本的な構成は実施例１（図９）と同じであるため、この説明は省略する。ただし、本実施例にて用いられる撮像素子１０２は、図４（ｃ）に示すように、１つのマイクロレンズＭＬに対して４つのサブ画素であるＧ１画素、Ｇ２画素、Ｇ３画素およびＧ４画素が設けられている。
【００９３】
実施例２の画像処理では、撮像系の光学情報と一対の視差画像間における対応画素の画素値勾配の相違とに応じて一対の補正ウェイトを算出した。これに対して、本実施例の画像処理では、撮像系の光学情報と複数（４つ）の視差画像間の対応画素の画素値および画素値勾配のそれぞれの相違に応じて複数（４つ）の補正ウェイトを算出（生成）する。
【００９４】
まず、本実施例の特徴である複数の視差画像間における対応画素の画素値および画素値勾配のそれぞれの相違から算出される補正ウェイトを用いた画像処理（収差補正）の概要について説明する。ただし、この概要説明では、理解を容易にするために、２つ（一対）の視差画像から単一の補正画像を生成するものとする。
【００９５】
本実施例では、式（５）を用いて一対の補正ウェイトを算出する。
【００９６】
【数５】
0006504910.tif 000006
【００９７】
式（５）において、α，βはそれぞれ個々の視差画像を示す添え字であり、本実施例では、αおよびβは１から２の範囲内の整数である（ただし、４つの視差画像に対しては、αおよびβは１から４の範囲内の整数である）。（ｉ，ｊ）は各視差画像中の画素アドレスを示す。また、ＩＭＧ（ｉ，ｊ）は各視差画像における画素アドレス（ｉ，ｊ）（対応画素）での画素値を示す。ｇ１およびｇ２は収差補正効果をコントロールするパラメータを示し、それの値はユーザが任意に設定することができる。ΔＩＭＧ（ｉ，ｊ）は各視差画像における画素アドレス（ｉ，ｊ）での画素値勾配を示す。また、各補正ウェイトは、対応する視差画像の画素数と同じ数の要素を有する２次元配列データである。
【００９８】
本実施例でも、実施例２と同様に、画素値勾配ΔＩＭＧを算出する方向を、撮像系の光学情報としてのＰＳＦ広がり方向に応じて設定する。また、画素値勾配ΔＩＭＧの算出も、実施例２と同様に、図１２（ａ）〜（ｃ）に示したフィルタ等を用いて行う。
【００９９】
式（５）に示す補正ウェイトは、実施例２において式（２）で示した画素値勾配の逆数を用いて算出される補正ウェイトに画素値の逆数を付加したものである。ここで、画素値の逆数は主に画素値が低い画像領域において補正ウェイトに大きな影響を及ぼすのに対し、画素値勾配の逆数は画素値の高低によって補正ウェイトへの影響が変化しない。このため、式（５）で示す補正ウェイトは、画素値が低い画像領域においては画素値勾配よりも画素値の逆数による効果が強く現れ、画素値が高い画像領域においては相対的に画素値勾配による効果が強く現れる。
【０１００】
言い代えれば、補正ウェイトのうち画素値に応じたウェイト成分を第１のウェイト成分とし、画素値勾配に応じたウェイト成分を第２のウェイト成分とする。このとき、補正ウェイトは、各視差画像における画素値がより低い画像領域に対しては第１のウェイト成分が第２のウェイト成分に比べてより重みを有するように生成される。また、画素値がより高い画像領域に対しては第２のウェイト成分が第１のウェイト成分に比べてより重みを有するように生成される。
【０１０１】
式（５）では、一対の視差画像の対応画素に対して適用する一対の補正ウェイトの対応要素を、互いに加算して１になるように規格化している。これは一対の視差画像の対応画素ごとに画素値および画素値勾配の相違を比較し、画素値および画素値勾配がそれぞれより小さい視差画像に対応する補正ウェイトをより大きくすることに相当する。式（２）と同様に、式（５）においても、一対の補正ウェイトを規格化することにより、一対の補正ウェイトのうち一方を算出すれば自動的に他方の補正ウェイトが決定（算出）される。このように複数の補正ウェイトのうち１つを算出することで他の補正ウェイトが上記規格化によって自動的に決定される場合でも、該複数の補正ウェイトをそれぞれ生成することに相当する。
【０１０２】
図７（ｂ）に示した各視差画像を用いて上述した画像処理を行うと、図７（ｆ）に破線で示す補正画像を得ることができる。式（５）により算出した補正ウェイトを用いて補正画像を生成する方法は、実施例２で説明した方法と同じである。
【０１０３】
実施例２で説明した画素値勾配の相違に応じた補正ウェイトを用いた画像処理により生成される補正画像は、図７（ｅ）に示したように、画素値が低い画像領域において理想画像との乖離を有していた。これに比べて本実施例で行う画素値および画素値勾配のそれぞれの相違に応じた補正ウェイトを用いた画像処理により生成される補正画像は、画素値の逆数を導入したことで、画素値が低い画像領域において画素値が低減しており、より理想画像に近くなる。これにより、実施例２に比べて、より良好な収差補正効果を得ることができる。
【０１０４】
式（５）において収差補正効果をコントロールするパラメータｇ１およびｇ２はそれぞれ、画素値勾配ΔＩＭＧの指数および画素値の逆数と画素値勾配ΔＩＭＧとの積の指数である。パラメータｇ２は、式（２）におけるパラメータｇに相当する。パラメータｇ１およびｇ２は、０より大きい正の値をとり、典型的には、ｇ１＝０．１〜１、ｇ２＝１〜１０程度の値に設定される。
【０１０５】
次に、本実施例の画像処理の具体的な手順について、図１５のフローチャートを用いて説明する。ステップＳ３０１は、実施例２（図１４）におけるステップＳ２０１と同じであるため、説明を省略する。
【０１０６】
ステップＳ３０２では、画像処理部１０４は、Ｇ１画素群、Ｇ２画素群、Ｇ３画素群およびＧ４画素群からの撮像信号から生成された入力画像を再構成する。これにより、Ｇ１画素群、Ｇ２画素群、Ｇ３画素群およびＧ４画素群のそれぞれに対応する４つの視差画像を生成する。
【０１０７】
ステップＳ３０３では、周辺光量補正手段としての画像処理部１０４は、４つの視差画像のそれぞれに対して、周辺光量低下量の差を小さくする補正を行う。ＰＳＦ（収差）の相違と同様に、４つの視差画像間では周辺光量の低下量にも差があり、この周辺光量低下量の差を小さくする（望ましくは無くする）補正を行うことで、後の収差補正の効果を向上させることができる。具体的には、画像処理部１０４は、予め記憶部１０８に記憶された、撮像系における画素ごとの周辺光量低下量の情報を記憶部１０８から読み出す。この後、画像処理部１０４は、読み出した周辺光量低下量の情報を用いて、４つの視差画像間での周辺光量低下量が同一となるように少なくとも１つの視差画像の画素値を補正することで、４つの光量補正視差画像を生成する。
【０１０８】
ステップＳ３０４では、画像処理部１０４は、各視差画像（ステップＳ３０３で生成された各光量補正視差画像：以下同じ）における画素値飽和領域を検出する。このとき、それぞれの視差画像で検出された飽和画素のすべてを含む領域を画素値飽和領域とする。また、検出された飽和画素を囲む所定の大きさの周辺領域を含めて画素値飽和領域としてもよい。
【０１０９】
ステップＳ３０５は、実施例２におけるステップＳ２０４と同じであるため、説明を省略する。
【０１１０】
ステップＳ３０６では、画像処理部１０４は、４つの視差画像のそれぞれの画素値、画素値勾配およびＰＳＦ広がり方向に応じて、式（５）により、該４つの視差画像のそれぞれに対応する４つの補正ウェイトを算出（生成）する。パラメータｇ１およびｇ２は、例として、ｇ１＝０．１、ｇ２＝２と設定する。
【０１１１】
このとき、図１６（ａ）に示すように、各補正ウェイト（Ｗ１〜Ｗ４）を、４つの視差画像ＩＭＧ１〜ＩＭＧ４の画素値、画素値勾配およびＰＳＦ広がり方向のすべてを用いて算出してもよい。ＩＭＧ１、ＩＭＧ２、ＩＭＧ３およびＩＭＧ４はそれぞれ、ステップＳ３０２で生成されたＧ１画素群、Ｇ２画素群、Ｇ３画素群およびＧ４画素群に対応する視差画像である。Ｗ１、Ｗ２、Ｗ３およびＷ４はそれぞれ、視差画像ＩＭＧ１、ＩＭＧ２、ＩＭＧ３およびＩＭＧ４に対応する補正ウェイトである。また、図１６（ｃ）に示すように、各補正ウェイトを、２つの視差画像の画素値、画素値勾配およびＰＳＦ広がり方向を用いて算出してもよい。
【０１１２】
ステップＳ３０７では、画像処理部１０４は、各視差画像の画素値飽和領域の画素値に対してステップＳ３０６で算出したその視差画像に対応する補正ウェイトを適用（乗算）して得られた結果を合成（加算）することで補正画像を生成する。
【０１１３】
このとき、ステップＳ３０６で４つの視差画像を用いて各補正ウェイトを算出した場合は、図１６（ｂ）のように４つの視差画像ＩＭＧ１〜ＩＭＧ４のそれぞれに、対応する補正ウェイト（Ｗ１〜Ｗ４）を乗じて得られた４つの結果を加算する。これにより、単一の補正画像Ｒを生成する。
【０１１４】
一方、ステップＳ３０５で２つの視差画像を用いて各補正ウェイトを算出した場合は、図１５（ｄ）のように２つの視差画像ＩＭＧ１，ＩＭＧ２のそれぞれに、対応する補正ウェイト（Ｗ１，Ｗ２）を乗じて得られた２つの結果を加算して補正画像Ｒ１を算出する。さらに、他の２つの視差画像ＩＭＧ３，ＩＭＧ４のそれぞれに、対応する補正ウェイト（Ｗ３，Ｗ４）を乗じて得られた２つの結果を加算して補正画像Ｒ２を生成する。この場合、２つの補正画像Ｒ１，Ｒ２は互いに視差を有する画像である。
【０１１５】
画素値飽和領域以外の画像領域においては、補正ウェイトの算出に用いた４つ又は２つの視差画像の対応画素の画素値の平均値を補正画像の画素値として出力する。このように、本実施例では、画素値飽和領域においてのみ収差補正を行う。
【０１１６】
こうして画像処理部１０４から出力された１つの補正画像Ｒまたは２つの補正画像Ｒ１，Ｒ２は、システムコントローラ１０７からの指示に応じて画像記憶媒体１０９に記憶される。この際、システムコントローラ１０７は、収差補正前の４つの視差画像および入力画像のうち少なくとも１つを画像記憶媒体１０９に記憶させてもよい。また、システムコントローラ１０７は、１又は２つの補正画像、収差補正前の４つの視差画像および入力画像のうち少なくとも１つを画像表示部１０５に表示させてもよい。
【０１１７】
本実施例の画像処理も、実施例２の画像処理と同様に、画素値勾配を算出するために畳み込み積分処理が必要であるが、該処理に用いるフィルタ（カーネル）のサイズは１×３タップ程度の小さいサイズで十分である。このため、低負荷で高速な画像処理により補正画像を生成することができる。
【０１１８】
また、本実施例の画像処理において必要なデータは、複数の視差画像、周辺光量低下量およびＰＳＦ広がり方向に関するデータのみである。ＰＳＦ広がり方向は、撮像条件や画像上の位置によって変化するためにその変化に応じた数分のデータが必要となるが、ＰＳＦそのものではなく、ＰＳＦが広がっている方向を示すデータであるため、少ないデータ量とのデータである。このため、特許文献１にて開示された撮像条件や画像上の位置ごとのＰＳＦのデータが必要となるフィルタリング処理に比べて、必要なデータ量を削減することができる。
【０１１９】
さらに、本実施例でも、実施例２と同様に画素値勾配を用いて補正ウェイトを算出することで、出力される補正画像において良好な収差補正効果を得ることができる。
【０１２０】
本実施例の画像処理は、収差補正効果をコントロールするパラメータを含む補正ウェイトを各視差画像に適用することで補正画像を生成している。ここで、収差補正効果をコントロールするパラメータｇ２を極端に大きくすることで、補正ウェイトを１と０に２値化することも可能である。この場合には、本実施例の画像処理は、画素ごとに各視差画像のうち１つを選び、その画素値を補正画像の画素値として採用することに相当する。例として、ｇ１＝０と設定し、ｇ２についてはｇ２＝∞と見なせるような極端に大きな値を設定することで、実施例１で説明した画像処理において視差画像の全域を補正対象領域とする結果と同等の補正画像が得られる。すなわち、実施例１で説明したような収差補正処理は、本実施例で説明した収差補正処理の特殊なケースの１つと言える。
【０１２１】
以上説明した実施例１〜３の処理によれば、複数の視差画像から、少ないデータを用いた負荷が軽い処理によって、収差による劣化が良好に抑制された補正画像を生成することができる。
【０１２２】
なお、実施例２で説明した合焦領域に補正ウェイトを適用する処理を実施例１や実施例３において行ってもよい。さらに、実施例３で説明した周辺光量低下量の差を小さくする補正を実施例１，２において行ってもよい。
【０１２３】
また、実施例１〜３では、画素値または画素値勾配に応じて補正ウェイトを算出する方法について説明したが、他にも各視差画像におけるエッジの位置情報に応じて補正ウェイトを算出してもよい。例えば、図７（ｂ）に示した一対の視差画像の画素値の１次元分布において、まず被写体像のエッジの位置を検出し、該エッジを境とする両側の画像領域の画素値を比較する。そして、画素値が相対的に高い画像領域では画素値がより高い視差画像に対応する補正ウェイトがより大きな値を持ち、画素値が相対的に低い画像領域では画素値がより低い視差画像に対応する補正ウェイトがより大きな値を持つように補正ウェイトを算出してもよい。
【０１２４】
上述した実施例１〜３を代表実施例とする本発明の実施例にいう撮像系の光学情報とは、ＰＳＦや収差量等の撮像系で発生する収差やその収差の相違（ΔＰＳＦ）に関する情報を含み、さらに撮像系における瞳分割方向（瞳領域の分離方向）に関する情報を含む。また、実施例１で説明した補正対象領域についての情報のように、上記光学情報により決定される情報も撮像系の光学情報に含まれる。
【実施例４】
【０１２５】
図１７には、本発明の実施例４として、実施例１〜３で説明した画像処理を実行する画像処理装置を示している。
【０１２６】
画像処理装置２０３は、パーソナルコンピュータにより構成され、画像処理ソフトウェア２０４（画像処理プログラム）および記憶部２０５を備えている。画像処理装置２０３には、瞳分割を行う撮像装置２０１および記憶媒体２０２の両方またはいずれか一方が接続されている。画像処理装置２０３は、撮像装置２０１または記憶媒体２０２から入力画像を読み込み、画像処理ソフトウェア２０４に従って実施例１〜３のいずれかにて説明した画像処理を実行し、補正画像を生成する。このとき、記憶部２０５が、実施例１〜３における撮像装置の記憶部１０８に相当する。ここで、実施例１〜３では、周辺光量低下量やＰＳＦ広がり方向についての光学情報を記憶部１０８に記憶していたが、本実施例ではこれらの光学情報を入力画像にヘッダ情報等として付与してもよい。
【０１２７】
画像処理装置２０３には、出力機器２０６および表示機器２０７のうち両方またはいずれか一方が接続されていてもよい。画像処理装置２０３は、入力画像、複数の視差画像、および１又は複数の補正画像のうち１又は複数の画像を出力機器２０６、表示機器２０７および記憶媒体２０２のうち少なくとも１つに出力する。記憶媒体２０２は、例えば、半導体メモリ、ハードディスク、ネットワーク上のサーバーである。表示機器２０７は、例えば、液晶ディスプレイやプロジェクタである。出力機器２０６は、例えばプリンタである。
【０１２８】
このように、撮像装置とは別の単体の画像処理装置を用いる場合でも、複数の視差画像から、少ないデータを用いた負荷が軽い処理によって、収差による劣化が良好に抑制された補正画像を生成することができる。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１２９】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【０１３０】
１００  撮像光学系
１０２  撮像素子
１０４  画像処理部
２０３  画像処理装置
【図１】
0006504910.tif 000007
【図２】
0006504910.tif 000008
【図３】
0006504910.tif 000009
【図４】
0006504910.tif 000010
【図５】
0006504910.tif 000011
【図６】
0006504910.tif 000012
【図７】
0006504910.tif 000013
【図８】
0006504910.tif 000014
【図９】
0006504910.tif 000015
【図１０】
0006504910.tif 000016
【図１１】
0006504910.tif 000017
【図１２】
0006504910.tif 000018
【図１３】
0006504910.tif 000019
【図１４】
0006504910.tif 000020
【図１５】
0006504910.tif 000021
【図１６】
0006504910.tif 000022
【図１７】
0006504910.tif 000023