(57)【要約】【課題】複数の視差画像に関する画像回復フィルタのデータ量および画像回復処理の演算量を低減可能な画像処理装置を提供する。【解決手段】画像処理装置（１００）は、１つの撮像素子（７）の出力に基づく、第１の画像（Ａ画像）、および、第１の画像に対して視差を有する第２の画像（Ｂ画像）を合成することによって合成画像を生成する合成手段（１０１ａ）と、合成画像に対して、第１の画像と第２の画像を生成する際に用いた撮像光学系（１）の点像分布関数に基づくフィルタ処理を行うフィルタ手段（１０１ｂ）とを有する。【選択図】図２
2017108383.tif 000002
【特許請求の範囲】
【請求項１】
１つの撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成する合成手段と、
前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うフィルタ手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記合成手段は、第３の画像から第１の画像を分離することにより前記第２の画像を生成し、
前記第１の画像および前記第３の画像は、前記撮像素子の１回の撮像動作によって生成されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記合成手段は、前記第１の画像に対する前記第２の画像の位置がシフトされた状態で、前記第１の画像と前記第２の画像とを合成することを特徴とする請求項１または２に記載の画像処理装置。 
【請求項４】
前記第１の画像、前記第２の画像、および、前記合成画像は、複数の分光感度に対応する信号が所定のパターンで配置された画像であることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。 
【請求項５】
前記フィルタ手段は、メモリから、前記フィルタ処理のフィルタ係数を示すデータ、または、前記フィルタ係数を生成するためのデータを読み出し、該データを用いて前記フィルタ処理を行うことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。 
【請求項６】
前記第１の画像は、撮像素子の第１の光電変換部に蓄積された電荷に基づく画像であり、 
前記第２の画像は、前記撮像素子の第２の光電変換部に蓄積された電荷に基づく画像であり、 
前記撮像素子は、各画素が前記第１の光電変換部と前記第２の光電変換部を備えた複数の画素を有し、
前記第１の光電変換部に入射する光と、前記第２の光電変換部に入射する光は、前記撮像光学系の射出瞳の異なる瞳領域を通過することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。 
【請求項７】
所定の条件が満たされる場合には、前記フィルタ手段は前記第１の画像および前記第２の画像に対して前記フィルタ処理を行い、前記合成手段は前記フィルタ処理が行われた前記第１の画像および前記第２の画像を合成することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。 
【請求項８】
前記所定の条件が満たされる場合、前記フィルタ手段は前記第１の画像に対して第１のデータに基づく前記フィルタ処理を行い、前記第２の画像に対して前記第１のデータとは異なる第２のデータに基づく前記フィルタ処理を行うことを特徴とする請求項７に記載の画像処理装置。     
【請求項９】
前記所定の条件は、他の１つのモードよりも高画質を優先した特定のモードが設定されていることを含むことを特徴とする請求項７または８に記載の画像処理装置。 
【請求項１０】
前記フィルタ手段は、前記第１の画像に対する前記第２の画像の位置のシフト量が閾値を超える場合、前記合成画像に対して前記フィルタ処理を行わないことを特徴とする請求項３に記載の画像処理装置。
【請求項１１】
前記シフト量が前記閾値を超える場合、前記フィルタ手段は前記第１の画像および前記第２の画像に対して前記フィルタ処理を行い、前記合成手段は前記フィルタ処理が行われた前記第１の画像および前記第２の画像を合成することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
各画素が第１の光電変換部と第２の光電変換部を備えた複数の画素を有する撮像素子と、
前記撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成する合成手段と、
前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うフィルタ手段と、を有することを特徴とする撮像装置。
【請求項１３】
１つの撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成するステップと、
前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うステップと、を有することを特徴とする画像処理方法。
【請求項１４】
１つの撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成するステップと、
前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うステップと、をコンピュータに実行させる画像処理プログラム。
【請求項１５】
請求項１４に記載の画像処理プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像から回復画像を生成可能な撮像装置および画像処理装置に関する。
【背景技術】
【０００２】
撮像装置により得られた撮影画像は、撮像光学系の球面収差、コマ収差、像面湾曲、非点収差等の各収差を高精度に補正した場合でも、絞り値（Ｆナンバー）に依存した回折現象により劣化する。
【０００３】
図５は、回折限界曲線であり、横軸は空間周波数、縦軸はＭＴＦをそれぞれ示している。図５に示されるように、Ｆナンバーが暗くなるほど遮断周波数が低周波側にシフトする。例えば、画素サイズが４μｍの撮像素子のナイキスト周波数は１２５本／ｍｍである。このため、Ｆ２．８など明るい場合、その影響は小さい。しかし、Ｆ１６やＦ３２など暗い場合、その影響は大きくなる。回折現象も収差と同様にＯＴＦやＰＳＦで記述できるため、上記の画像回復処理により回折によるぼけを補正することができる。
【０００４】
収差や回折による画像のぼけ成分は、無収差で回折の影響もない場合に、被写体の一点から発した光束が撮像面上で再度一点に集まるべきものが広がっていることを意味し、点像分布関数ＰＳＦ（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）で表される。
【０００５】
点像分布関数ＰＳＦをフーリエ変換して得られる光学伝達関数ＯＴＦ（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）は、収差の周波数成分情報であり、複素数で表される。光学伝達関数ＯＴＦの絶対値、すなわち振幅成分をＭＴＦ（Ｍｏｄｕｌａｔｉｏｎ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）と呼び、位相成分をＰＴＦ（Ｐｈａｓｅ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）と呼ぶ。振幅成分ＭＴＦおよび位相成分ＰＴＦはそれぞれ、収差による画像劣化の振幅成分および位相成分の周波数特性であり、位相成分を位相角として以下の式で表される。
【０００６】
ＰＴＦ＝ｔａｎ−１（Ｉｍ（ＯＴＦ）／Ｒｅ（ＯＴＦ））
ここで、Ｒｅ（ＯＴＦ）およびＩｍ（ＯＴＦ）はそれぞれ、光学伝達関数ＯＴＦの実部および虚部を表す。振幅成分ＭＴＦおよび位相成分ＰＴＦの劣化を補正する方法として、撮像光学系の光学伝達関数ＯＴＦの情報を用いて補正するものが知られている。この方法は、画像回復や画像復元という言葉で呼ばれており、以下、撮像光学系の光学伝達関数（ＯＴＦ）の情報を用いて撮影画像の劣化を補正する処理を画像回復処理という。詳細は後述するが、画像回復の方法のひとつとして、光学伝達関数（ＯＴＦ）の逆特性を有する画像回復フィルタを入力画像に対して畳み込む（コンボリューション）方法が知られている。
【０００７】
画像回復を効果的に用いるには、撮像光学系のより正確なＯＴＦ情報を得る必要がある。ＯＴＦを得る方法は、例えば撮像光学系の設計値情報があれば、その情報から計算によって求めることが可能である。また、点光源を撮影し、その強度分布にフーリエ変換を施すことでも求めることが可能である。更に、回折においては理論的に導かれた計算式から求めることもできる。
【０００８】
特許文献１には、画像回復に用いるＯＴＦを係数化して保持し、撮像装置の種々の撮影条件に対応して収差や回折による劣化画像に対して画像回復処理を行う方法が開示されている。しかしながら、ＯＴＦは、絞りや撮影距離やズームレンズにおける焦点距離により変化する。またＯＴＦは、画面内の像高によっても変化する。このため、高精度なＯＴＦデータの全体は非常に大きなデータ量となる。また、１つの画像について画像回復処理を行う場合にも、像高に応じてＯＴＦを変更して用いるため、演算量は大きくなる。特許文献１の方法では、画像回復に用いるＯＴＦを係数化して保持することでデータ量を削減している。しかしながら、データ量や演算量は撮像装置の画像処理回路の演算速度やメモリのコストに影響するため、データ量および演算量の更なる削減が求められる。
【０００９】
特許文献２には、絞り値（Ｆナンバー）が大きい場合に絞り値に応じた適切な画像回復フィルタを選択して画像回復を行うことにより、データ量および演算量を削減しつつ高精度な画像回復処理が可能な撮像装置が開示されている。
【００１０】
特許文献３には、複数の視差画像のそれぞれに画像回復フィルタを適用して光学補正処理（画像回復処理）を行う方法が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１２−７３６９１号公報
【特許文献２】特開２０１４−１５０４２３号公報
【特許文献３】国際公開第２０１１／１１８０７７号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献３の方法では、複数の視差画像を合成する（リフォーカス処理を行う）前に光学補正処理を行うため、複数の視差画像のそれぞれに対して光学補正処理を行う必要がある。このため、画像回復フィルタのデータ量および光学補正処理（画像回復処理）の演算量が増大してしまう。
【００１３】
そこで本発明は、複数の視差画像に関する画像回復フィルタのデータ量および画像回復処理の演算量を低減可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供する。
【課題を解決するための手段】
【００１４】
本発明の一側面としての画像処理装置は、１つの撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成する合成手段と、前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うフィルタ手段とを有する。
【００１５】
本発明の他の側面としての撮像装置は、各画素が第１の光電変換部と第２の光電変換部を備えた複数の画素を有する撮像素子と、前記画像処理装置とを有する。
【００１６】
本発明の他の側面としての画像処理方法は、１つの撮像素子の出力に基づく、第１の画像、および、該第１の画像に対して視差を有する第２の画像を合成することによって合成画像を生成するステップと、前記合成画像に対して、前記第１の画像と前記第２の画像を生成する際に用いた撮像光学系の点像分布関数に基づくフィルタ処理を行うステップとを有する。
【００１７】
本発明の他の側面としての画像処理プログラムは、前記画像処理方法をコンピュータに実行させる。
【００１８】
本発明の他の側面としての記憶媒体は、前記プログラムを記憶している。
【００１９】
本発明の他の目的及び特徴は、以下の実施形態において説明される。
【発明の効果】
【００２０】
本発明によれば、複数の視差画像に関する画像回復フィルタのデータ量および画像回復処理の演算量を低減可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】各実施形態における画像処理装置のブロック図である。
【図２】第１の実施形態における画像処理方法を示すフローチャートである。
【図３】各実施形態における撮像素子の画素配列を示す図である。
【図４】第２の実施形態における画像処理方法を示すフローチャートである。
【図５】回折限界曲線の説明図である。
【図６】各実施形態における撮像装置の構成図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００２３】
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。本実施形態では、画像処理装置であるパーソナルコンピュータ（ＰＣ）上で動作する画像表示アプリケーションソフトの例を説明する。
【００２４】
本実施形態のアプリケーションソフトは、複数の視差画像を撮影可能なカメラ（撮像装置）で撮影した画像（画像データ）を扱い、画像処理として光学補正処理（画像回復処理）および視差画像処理（画像合成処理）を行う。本実施形態において、画像データは、ＪＰＥＧなどの一般的な形式の画像データではなく、センサ（撮像素子）から出力される生データ（ＲＡＷデータ）である。また本実施形態において、視差画像処理はリフォーカス処理であり、リフォーカス処理に用いられるパラメータはユーザにより設定される。なお視差画像処理は、リフォーカス処理に限定されるものではなく、本実施形態はボケ補正処理などの他の視差画像処理にも適用可能である。
【００２５】
まず、図６を参照して、本実施形態における視差画像を撮影可能な撮像装置について説明する。図６は、撮像装置２００（一眼レフカメラ）の構成図である。撮像装置２００は、複数の視差画像を撮影可能である。図６において、レンズ装置１０（交換レンズ）は、撮像光学系１（レンズユニット）を有する。撮像光学系１は、鏡筒２に保持されている。カメラ本体２０（撮像装置本体）は、クイックリターンミラー３、焦点板４、ペンタダハプリズム５、および、接眼レンズ６などを備えて構成されている。クイックリターンミラー３は、撮像光学系１を介して形成された光束を上方に反射する。焦点板４は、撮像光学系１の像形成位置に配置されている。ペンタダハプリズム５は、焦点板４に形成された逆像を正立像に変換する。ユーザは、その正立像を、接眼レンズ６を介して観察することができる。
【００２６】
撮像素子７は、ＣＣＤセンサやＣＭＯＳセンサを備え、撮像光学系１を介して形成された光学像（被写体像）を光電変換して画像データを出力する。撮影時には、クイックリターンミラー３が光路から退避して、撮像光学系１を介して撮像素子７上に光学像が形成される。本実施形態において、撮像素子７は、１回の撮像動作によって（Ａ＋Ｂ）画像（第３の画像）とＡ画像（第１の画像）とを取得して出力する。なお、（Ａ＋Ｂ）画像とＡ画像の生成方法については後述する。（Ａ＋Ｂ）画像とＡ画像とを用いて演算を行うことにより、Ａ画像（第１の画像）とＢ画像（第２の画像）とを得ることができる。ＣＰＵ１１（制御部）は、撮像装置２００に含まれる各回路を制御するとともに、撮像素子７で生成された画像データに対して所定の画像処理を行う。
【００２７】
なお、撮像装置２００は、撮像素子７を有するカメラ本体２０と、カメラ本体２０に着脱可能に取り付けられたレンズ装置１０とにより構成されているが、これに限定されるものはない。カメラ本体とレンズ装置とが一体的に構成された撮像装置であってもよいし、クイックリターンミラーのないミラーレスの一眼レフカメラ（ミラーレスカメラ）であってもよい。
【００２８】
次に、図３を参照して、複数の視差画像を撮影可能な撮像装置の撮像素子について説明する。図３は、撮像素子の画素配列を示す図であり、２次元ＣＭＯＳセンサ（撮像素子）の画素配列を４行×４列画素の範囲で、副画素配列を４行×８列副画素の範囲で示している。図３に示される４行×４列画素（４行×８列副画素）を撮像面上に多数配置することにより、画像（撮影画像）を取得することができる。
【００２９】
図３に示される２行×２列の画素群３００は、画素３００Ｒ、３００Ｇ、３００Ｂを含む。すなわち、対角位置の画素としてＧ（緑）の分光感度を有する２つの画素３００Ｇを配置し、他の２画素としてＲ（赤）の分光感度を有する画素３００ＲとＢ（青）の分光感度を有する画素３００Ｂとを配置している。これらの複数の画素は所定のパターン（ベイヤパターン）で配置されている。本実施形態において、Ａ画像（第１の画像）、Ｂ画像（第２の画像）、および、合成画像は、複数の分光感度（Ｒ、Ｇ、Ｂ）に対応する信号が所定のパターンで配置された画像（ＲＡＷ画像）である。
【００３０】
各画素は副画素３０１、３０２を含み、画素ごとに１行×２列の副画素３０１、３０２が水平方向に配列されている。１つの副画素が１つの光電変換部に対応しており、副画素３０１（第１の光電変換部）に入射する光と、副画素３０２（第２の光電変換部）に入射する光は、撮像光学系１の射出瞳のうち互いに異なる瞳領域を通過する。なお図３では、複数の副画素を水平方向のみに配置しているが、これに限定されるものではない。複数の副画素を垂直方向のみに配置する構成や、複数の副画素を水平方向および垂直方向の両方に配置してＮ行×Ｍ列の副画素を含む構成などであってもよい。
【００３１】
本実施形態において、１回の撮像動作において、図３の各画素の左側の副画素３０１に蓄積された電荷を不図示のフローティングディフュージョン（ＦＤ）領域に転送し、各画素のＦＤ領域に対応する信号を読み出すことで、Ａ画像を得ることができる。すなわちＡ画像は、副画素３０１（第１の光電変換部）に蓄積された電荷に基づく画像である。続いて、ＦＤ領域のリセットを行わずに、図３の各画素の右側の副画素３０２に蓄積された電荷をＦＤ領域に転送し、各画素のＦＤ領域に対応する信号を読み出す。これにより、各画素の左側の副画素３０１と右側の副画素３０２のそれぞれに蓄積された電荷を加算した値に対応する信号を読み出すことができ、これが（Ａ＋Ｂ）画像となる。このようにして１回の撮像動作で得られた（Ａ＋Ｂ）画像からＡ画像を減算することにより、各画素の右側の副画素３０２に蓄積された電荷に対応するＢ画像が得られる。すなわちＢ画像は、副画素３０２（第２の光電変換部）に蓄積された電荷に基づく画像である。
【００３２】
本実施形態においては、図３の各画素の左側の副画素３０１からの出力信号に基づいて生成されたＡ画像を視差画像Ａ（第１の視差画像データ）、右側の副画素３０２からの出力信号に基づいて生成されたＢ画像を視差画像Ｂ（第２の視差画像データ）とする。すなわち、Ａ画像を用いることにより、（Ａ＋Ｂ）画像を、視差画像Ａと視差画像Ｂとに分離することができる。また、本実施形態の画像データは、撮影情報（撮影条件）に関するデータと、撮影情報の後に（Ａ＋Ｂ）画像とＡ画像を記録した画像データとを含む。視差画像Ａおよび視差画像Ｂの両方が生成可能であれば、上記以外の構成で記録したデータでもよい。なお撮影情報データは、一般的にＲＡＷデータにおいて記録されるデータであるため、その説明を省略する。
【００３３】
次に、図１を参照して、本実施形態におけるＰＣで構成された画像処理装置について説明する。図１は、画像処理装置１００のブロック図である。図１において、制御部１０１は、画像処理装置１００の全体を制御するように構成され、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含む。本実施形態において、制御部１０１は、画像合成回路１０１ａ（合成手段）および画像回復回路１０１ｂ（フィルタ手段または画像回復手段）を有する。
【００３４】
画像合成回路１０１ａは、１つの撮像素子７の出力に基づく、第１の画像（Ａ画像）、および、第１の画像に対して視差を有する第２の画像（Ｂ画像）を合成することによって合成画像を生成する。画像回復回路１０１ｂは、合成画像に対して、第１の画像と第２の画像を生成する際に用いた撮像光学系１の点像分布関数（ＰＳＦ）に基づくフィルタ処理を行う。すなわち画像回復回路１０１ｂは、合成画像に画像回復フィルタを適用して画像回復処理を行い、回復画像を生成する。好ましくは、画像合成回路１０１ａは、第３の画像（（Ａ＋Ｂ）画像）から第１の画像（Ａ画像）を分離する（減算する）ことにより第２の画像（Ｂ画像）を生成する。前述のように、第１の画像（Ａ画像）および第３の画像（（Ａ＋Ｂ）画像）は、撮像素子７の１回の撮像動作によって生成される。
【００３５】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、変更を必要としないプログラムやパラメータを格納する記憶部（メモリ）である。本実施形態のアプリケーションソフトは、ＲＯＭ１０２に格納されている。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、外部装置などから供給されるプログラムやデータを一時的に記憶する記憶部である。
【００３６】
記憶装置１０４(外部記憶装置)は、ハードディスクやメモリ（メモリカード）、または画像処理装置１００から着脱可能なフロッピー（登録商標）ディスク（ＦＤ）やＣｏｍｐａｃｔ  Ｄｉｓｋ（ＣＤ）などの光ディスク、磁気や光カード、ＩＣカードなどを含む。記憶装置１０４は、プログラムや、撮像装置（カメラ）で撮影した画像データなどのデジタルデータを記録することができる。本実施形態において、記憶装置１０４には、後述の画像処理プログラムが制御部１０１に読み取り可能なプログラムコードとして記録されており、このプログラムコードを制御部１０１が実行可能に構成されている。また記憶装置１０４は、後述のフィルタ処理のフィルタ係数を示すデータ、または、フィルタ係数を生成するためのデータを記憶するメモリである。
【００３７】
操作入力ＩＦ１０５は、ユーザの操作に応じて、データを入力するキーボード１０９やポインティングデバイス１１１（マウス）などの入力装置とのインターフェースである。表示ＩＦ１０６は、画像処理装置１００の、保持されるデータや供給されたデータを表示するためのディスプレイ１１０（表示装置）とのインターフェースである。バス１０８は、画像処理装置１００の各部を通信可能に接続するシステムバスである。
【００３８】
なお本実施形態は、画像処理プログラムが記憶装置１０４に記憶されている例を説明するが、画像処理プログラムがＲＯＭ１０２に記憶されている構成やネットワーク上（画像処理装置１００とは異なる場所）に記憶されている構成にも適用可能である。
【００３９】
次に、図２を参照して、本実施形態における画像処理方法（画像処理プログラム）について説明する。図２は、画像処理方法（画像処理プログラム）を示すフローチャートである。図２の各ステップは、画像処理プログラムに従って、主に画像処理装置１００の制御部１０１により実行される。なお画像処理装置１００は、例えば、無線通信、ネットワーク、または不揮発性のメモリカードを介して、撮像装置２００で撮影された（Ａ＋Ｂ）画像およびＡ画像を含む画像データを受け取り、記憶装置１０４（メモリ）にこれらの画像データを記憶させている。
【００４０】
まずステップＳ２０１において、制御部１０１は、ユーザに画像ファイルを選択させる。本実施形態では、ＯＳ標準のファイル選択ダイアログを使用して、ユーザに画像ファイルを選択させる。ユーザは、例えば記憶装置１０４から画像ファイルを選択する。続いてステップＳ２０２において、制御部１０１は、ユーザにより選択された画像データを読み込み、例えばＲＡＭ１０３に記憶する。
【００４１】
続いてステップＳ２０３において、制御部１０１は、撮影情報（撮影条件）を取得し、ＲＡＭ１０３に保持する。また、本実施形態において、制御部１０１は、ステップＳ２０２にて読み込んだ画像データに含まれる（Ａ＋Ｂ）画像およびＡ画像に基づいて、視差画像Ａおよび視差画像Ｂを取得し、それらをＲＡＭ１０３に保持する。各視差画像および撮影情報を取得した後、ステップＳ２０２にて読み込んだ画像データは不要になるため、制御部１０１はその画像データをＲＡＭ１０３から消去する。
【００４２】
続いてステップ２０４において、制御部１０１は、ユーザにリフォーカス処理（視差画像処理または画像合成処理）のためのパラメータ（リフォーカスパラメータ）を設定させる。本実施形態では、リフォーカス処理の際に視差画像Ａと視差画像Ｂとを互いにどれだけ水平方向にずらして合成するかを示す「画像ずらし量」（視差画像Ａと視差画像Ｂとの相対シフト量に関する値）を、数値で入力して設定可能に構成されている。例えば、画像ずらし量を「１」と設定した場合、視差画像Ｂを視差画像Ａに対して右に１ピクセルずらして合成する、という意味になる。画像ずらし量を「−２」と設定した場合、視差画像Ｂを視差画像Ａに対して左に２ピクセルずらして合成する、という意味になる。画像ずらし量を「０」と設定した場合、視差画像Ｂを視差画像Ａに対してずらすことなく合成する、という意味になる。このように、視差画像Ｂを視差画像Ａに対して右にずらす場合には正の整数、左にずらす場合には負の整数が設定される。なお本実施形態にて用いられる撮像素子は、水平方向に沿ってのみ副画素が配置されているため、リフォーカス処理も水平方向にのみ実行可能である。一方、撮像素子が副画素を垂直方向に沿って配置されている場合、垂直方向におけるリフォーカス処理を設定可能に構成してもよい。
【００４３】
続いてステップＳ２０５において、制御部１０１は、画像データの撮影情報（撮影条件）に基づいて閾値Ｔを決定する（すなわち、閾値Ｔは撮影条件に応じて変化する）。閾値Ｔは、画質に影響が少ない範囲でのみ画像ずらし量を設定可能にするために決定される。本実施形態において、閾値Ｔは、撮影条件としての被写体距離に応じて、次のように三段階に変更される。例えば、被写体距離が１０ｃｍ未満の場合には閾値Ｔ＝−２、２、被写体距離が１０ｃｍ〜１００ｃｍ未満の場合には閾値Ｔ＝−３、３、被写体距離が１００ｃｍ以上の場合には閾値Ｔ＝−４、４と決定される。ただし本実施形態では、被写体距離以外の撮影情報（撮影条件）に基づいて閾値Ｔを決定してもよい。なお、各被写体距離において正負の閾値Ｔが設定されているのは、画像ずらし量の方向として、右および左の両方の方向を考慮しているためである。
【００４４】
続いてステップＳ２０６において、制御部１０１は、ステップＳ２０４にて設定されたパラメータ（すなわち、第１の画像に対する第２の画像の位置のシフト量）が、ステップＳ２０５にて決定された閾値Ｔの範囲内にあるか否かを判定する。設定されたパラメータ（シフト量）が閾値Ｔの範囲内にある場合、ステップＳ２０８へ移行する。一方、設定されたパラメータ（シフト量）が閾値Ｔを超える場合、ステップＳ２０７へ移行する。ステップＳ２０７において、制御部１０１は、合成画像に対してフィルタ処理を行うことなく、設定されたパラメータ（シフト量）が閾値Ｔの範囲外であることを示す警告メッセージなどの通知をディスプレイ１１０に表示する。そして、ユーザにパラメータ設定を再度実行させるため、ステップＳ２０４へ戻る。
【００４５】
続いてステップＳ２０８において、制御部１０１は、視差画像Ａおよび視差画像Ｂに対してリフォーカス処理を行う。リフォーカス処理は、視差画像Ａと視差画像Ｂとを、ステップＳ２０４にて設定された画像ずらし量分だけ互いにずらして各視差画像を合成し、合成画像（リフォーカス画像）を生成する処理（画像合成処理）である。すなわち画像合成回路１０１ａは、視差画像Ａ（第１の画像）に対する視差画像（第２の画像）の位置がシフトされた状態で、視差画像Ａと視差画像Ｂとを合成する。本実施形態において、画像ずらし量が正の数である場合、視差画像Ｂを視差画像Ａに対して右にずらす。一方、画像ずらし量が負の数である場合、視差画像Ｂを視差画像Ａに対して左にずらす。
【００４６】
続いてステップＳ２０９において、制御部１０１は、記憶装置１０４から、光学補正処理（画像回復処理）のための画像回復フィルタを取得する。この画像回復フィルタは、撮影情報（撮影条件）に応じた点像分布関数（ＰＳＦ）に基づくフィルタ係数を有する。制御部１０１（画像回復回路１０１ｂ）は、記憶装置１０４などのメモリから、フィルタ処理のフィルタ係数を示すデータ、または、フィルタ係数を生成するためのデータを読み出す。好ましくは、画像回復フィルタは、画像ずらし量を「０」（ゼロ）として複数の視差画像を合成して得られた画像に対応する（すなわち、画像ずらし量を「０」として複数の視差画像を合成して得られた画像に対して最適に設計された）画像回復フィルタである。ただし、これに限定されるものではない。
【００４７】
続いてステップＳ２１０において、制御部１０１は、ステップＳ２０８にて生成された合成画像（リフォーカス画像）に対して光学補正処理（画像回復処理）を行う。光学補正処理は、リフォーカス画像に対してステップＳ２０９にて取得した画像回復フィルタを適用して（メモリから読み出した、フィルタ係数に関するデータを用いて）フィルタ処理を行い、回復画像を生成する処理である。画像ずらし量がステップＳ２０５にて決定された閾値Ｔの範囲内にある場合、画像回復フィルタ適用後の画像（回復画像）として、良好な画質の画像が得られる。続いてステップＳ２１１において、制御部１０１は、画像処理済みの画像データ（回復画像）を出力する。本実施形態において、制御部１０１は、画像処理済みの画像データをディスプレイ１１０に表示するとともに、その画像データをＪＰＥＧに変換して記憶装置１０４などの記憶手段に記憶する。
【００４８】
このように画像処理装置１００は、リフォーカス処理などの視差画像処理後の画像（合成画像、リフォーカス画像）に対して、光学補正処理（画像回復処理）を行う。本実施形態において、好ましくは、パラメータ（第１の画像に対する第２の画像の位置のシフト量）が閾値の範囲内にある場合、画像合成回路１０１ａは、視差画像Ａ（第１の視差画像データ）と視差画像Ｂ（第２の視差画像データ）とを用いて合成画像を生成する。そして画像回復回路１０１ｂは、合成画像に画像回復フィルタを適用して画像回復処理を行う。これにより、画像回復フィルタのデータ量および画像回復処理（光学補正処理）の演算量を低減することができる。
【００４９】
なお本実施形態では、リフォーカス処理に用いられるパラメータ（リフォーカスパラメータ、シフト量）は、パラメータの数値を入力することにより設定されるが、これに限定されるものではない。例えば、スライダを用いて数値を設定するように構成してもよい。その場合、閾値の範囲内と範囲外とが区別しやすいように、閾値の範囲内と範囲外とで色を変更して表示するように構成することができる。
【００５０】
また本実施形態では、閾値Ｔは撮影情報としての被写体距離に応じて決定されるが、これに限定されるものではない。例えば、ステップＳ２１１にて回復画像データを出力する際の条件（回復画像の出力条件）に応じて、閾値Ｔを決定してもよい。例えば、画像の縮小や、ＪＰＥＧ保存の際の圧縮率を高くするなどにより出力画像の画質が低くなる場合、閾値Ｔの幅をより広く設定することができる。
【００５１】
また本実施形態では、ユーザにより設定されたパラメータが閾値Ｔの範囲外である場合に、ユーザにパラメータ設定を再度実行させていたが、設定されたパラメータに従ってリフォーカス処理を行ってもよい。ただし、この場合には、リフォーカス画像に対して画像回復フィルタを適用しても良好な画質の画像が得られないため、画像回復フィルタの適用を行わないようにする。
【００５２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態は、リフォーカス処理の際に設定されたパラメータ（リフォーカスパラメータ）が閾値Ｔの範囲外である場合の処理が第１の実施形態とは異なる。具体的には、リフォーカスパラメータが閾値Ｔの範囲外である場合、第１の実施形態では、ユーザにフォーカスパラメータを再設定させる。一方、本実施形態では、リフォーカスパラメータが閾値Ｔの範囲外である場合、リフォーカス処理（視差画像処理）の前に、複数の視差画像に対する光学補正処理（画像回復処理）を行う。なお、本実施形態の画像処理装置および撮像装置の構成は、第１の実施形態と同様であるため、それらの説明を省略する。
【００５３】
図４を参照して、本実施形態における画像処理方法（画像処理プログラム）について説明する。図４は、画像処理方法（画像処理プログラム）を示すフローチャートである。図４の各ステップは、画像処理プログラムに従って、主に画像処理装置１００の制御部１０１により実行される。なお図４において、ステップＳ４０１〜Ｓ４０５、ステップＳ４０７〜Ｓ４１０は、図２を参照して説明した第１の実施形態のステップＳ２０１〜Ｓ２０５、ステップＳ２０８〜Ｓ２１１と同様であるため、それらの説明を省略する。
【００５４】
ステップＳ４０６において、制御部１０１は、ステップＳ４０４にて設定されたパラメータ（リフォーカスパラメータ、シフト量）が、ステップＳ４０５にて決定された閾値Ｔの範囲内にあるか否かを判定する。設定されたパラメータが閾値Ｔの範囲内にある場合、ステップＳ４０７へ移行する。一方、設定されたパラメータ（シフト量）が閾値Ｔを超える場合、ステップＳ４１１へ移行する。
【００５５】
ステップＳ４１１において、制御部１０１は、記憶装置１０４から、光学補正処理（画像回復処理）のための画像回復フィルタを取得する。この画像回復フィルタは、視差画像Ａ（第１の視差画像）に適用される画像回復フィルタ（第１の画像回復フィルタ）と、視差画像Ｂ（第２の視差画像）に適用される画像回復フィルタ（第２の画像回復フィルタ）である。一般的に、画像回復フィルタでは、光学中心からの距離に応じてゲインが決定されるため、画像ずらし量が大きくなると、画像ずらし後の画像の中心が画像回復フィルタの光学中心から大きくずれ、正しいゲインを適用することができない。このため、画像ずらし量が大きい場合、それぞれの視差画像に対して適した画像回復フィルタを適用する必要がある。
【００５６】
続いてステップＳ４１２において、制御部１０１は、視差画像Ａおよび視差画像Ｂのそれぞれに対して、光学補正処理（画像回復処理）を行う。すなわち制御部１０１は、視差画像Ａ（第１の視差画像）に対して第１の画像回復フィルタを適用して（第１のデータに基づくフィルタ処理を行い）、第１の回復画像を生成する。また制御部１０１は、視差画像Ｂ（第２の視差画像）に対して第２の画像回復フィルタを適用して（第２のデータに基づくフィルタ処理を行い）、第２の回復画像を生成する。
【００５７】
続いてステップＳ４１３において、制御部１０１は、画像回復処理後の視差画像Ａに対応する回復画像（第１の回復画像）と、画像回復処理後の視差画像Ｂに対応する回復画像（第２の回復画像）とに対して、リフォーカス処理を行う。リフォーカス処理は、第１の回復画像と第２の回復画像とを、ステップＳ４０４にて設定された画像ずらし量分だけ互いにずらして各回復画像（各視差画像に対応する回復画像）を合成し、合成画像（リフォーカス画像）を生成する処理（画像合成処理）である。本実施形態において、画像ずらし量が正の数である場合、第２の回復画像を第１の回復画像に対して右にずらす。一方、画像ずらし量が負の数である場合、第２の回復画像を第１の回復画像に対して左にずらす。
【００５８】
このように本実施形態において、パラメータ（画像ずらし量、すなわち相対シフト量に関する値）が閾値の範囲内にある場合、画像合成回路１０１ａは、視差画像Ａ（第１の視差画像データ）と視差画像Ｂ（第２の視差画像データ）とを用いて合成画像を生成する。そして画像回復回路１０１ｂは、合成画像に画像回復フィルタを適用して画像回復処理を行う。一方、パラメータ（シフト量）が閾値の範囲内にない場合、画像回復回路１０１ｂは、第１の視差画像データに第１の画像回復フィルタを適用して第１の回復画像を生成し、第２の視差画像データに第２の画像回復フィルタを適用して第２の回復画像を生成する。そして画像合成回路１０１ａは、第１の回復画像と第２の回復画像とを合成して、合成画像を生成する。すなわち、シフト量が閾値を超える場合、画像回復回路１０１ｂは第１の画像および第２の画像に対してフィルタ処理を行い、画像合成回路１０１ａはフィルタ処理が行われた第１の画像および第２の画像を合成する。これにより、画像ずらし量が閾値の範囲内にある場合、画像回復フィルタのデータ量および画像回復処理（光学補正処理）の演算量を低減することができる。
【００５９】
なお本実施形態では、閾値に応じて視差画像処理（画像合成処理）および光学補正処理（画像回復処理）の順序を決定するが、これに限定されるものではない。処理環境の性能（画像処理装置の性能）、画像処理モード、または、出力画像の用途（画像処理装置の画像表示状態）などを考慮して順序を決定してもよい。すなわち、所定の条件が満たされる場合、画像回復回路１０１ｂは、Ａ画像（第１の画像）およびＢ画像（第２の画像）に対してフィルタ処理を行い、画像合成回路１０１ａは、フィルタ処理が行われたＡ画像およびＢ画像を合成する。好ましくは、所定の条件が満たされる場合、画像回復回路１０１ｂは、Ａ画像に対して第１のデータに基づくフィルタ処理を行い、Ｂ画像に対して第１のデータとは異なる第２のデータに基づくフィルタ処理を行う。     
【００６０】
例えば、本実施形態のＰＣが十分高速な処理を実行可能な性能（所定の性能）を有する場合（所定の条件が満たされる場合）、画像ずらし量が閾値の範囲内にあっても、視差画像処理よりも先に光学補正処理を行ってもよい。また、本実施形態の画像表示アプリケーションソフトが高速処理モードと高画質処理モードとを有し、画質を優先する高画質処理モードが設定されている場合、画像ずらし量が閾値の範囲内にあっても、視差画像処理よりも先に光学補正処理を行うことができる。このとき、所定の条件は、他の１つのモードよりも高画質を優先した特定のモード（高画質処理モード）が設定されていることを含む。なお、各モードは画像処理装置のモード設定手段（キーボード１０９またはポインティングデバイス１１１）により設定可能である。また、画像表示アプリケーションソフトの画像表示状態が、ドットバイドット表示、拡大表示、または特定の注目領域の表示などの特定の画像表示状態である場合、画像ずらし量が閾値の範囲内にあっても、視差画像処理よりも先に光学補正処理を行うことができる。
【００６１】
また、図４のステップＳ４０６にて設定されたパラメータが閾値の範囲外の場合であって、ステップＳ４１１にて視差画像ごとの画像回復フィルタを取得することができない場合、第１の実施形態のステップＳ２０７と同様に処理してもよい。すなわち、この場合、制御部１０１は警告メッセージをディスプレイ１１０に表示してもよい。
【００６２】
また本実施形態は、パーソナルコンピュータ（ＰＣ）上で動作するアプリケーションソフトを例に挙げて説明を行ったが、これに限られるものではない。撮像装置２００に設けられたＣＰＵ１１が、撮像素子７で生成された視差画像Ａと視差画像Ｂに対して、上述した視差画像処理と光学補正処理を行うようにしてもよい。
【００６３】
また本実施形態は、以下の処理を実行することによって達成される。即ち、前記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前記実施形態の機能を実現することになり、そのプログラムコード及びそのプログラムコードを記憶した記憶媒体は本発明を構成する。
【００６４】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００６５】
また、コンピュータが読み出したプログラムコードを実行することにより、前記実施形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前記実施形態の機能が実現される場合も含まれる。
【００６６】
更に、前記実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行う場合である。
【００６７】
各実施形態は、複数の視差画像に対する画像処理後に光学補正処理を行う。このため各実施形態によれば、複数の視差画像に関する回復フィルタのデータ量および光学補正処理の演算量を低減可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
【００６８】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００６９】
１００    画像処理装置
１０１ａ  画像合成回路（合成手段）
１０１ｂ  画像回復回路（フィルタ手段）
【図１】
2017108383.tif 000003
【図２】
2017108383.tif 000004
【図３】
2017108383.tif 000005
【図４】
2017108383.tif 000006
【図５】
2017108383.tif 000007
【図６】
2017108383.tif 000008