(57)【特許請求の範囲】
【請求項１】
撮影画像と点像強度分布とを用いて画像更新処理を行う画像更新手段と、
前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出する重み算出手段と、
前記重みを用いて前記複数の画像を合成し、回復画像を生成する画像合成手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記重み算出手段は、
前記複数の画像のうち一つの画像を基準画像として選択し、
前記基準画像と、前記複数の画像のそれぞれとの類似度に基づいて、前記画素ごとに前記重みを算出する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記重み算出手段は、
前記重みの算出対象である画素を含む所定の領域に関して前記類似度を算出し、
前記類似度に基づいて前記画素ごとに前記重みを算出する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記重み算出手段は、前記類似度が大きいほど前記重みを大きくすることを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記重み算出手段は、
前記類似度が第１の類似度である場合、前記重みとして第１の重みを算出し、
前記類似度が前記第１の類似度よりも小さい第２の類似度である場合、前記重みとして、前記第１の重みよりも小さい第２の重みを算出する、ことを特徴とする請求項２乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記重み算出手段は、前記画像更新処理により最後に更新された画像を前記基準画像として選択することを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記複数の画像を記憶する記憶手段を更に有することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記記憶手段は、前記複数の画像として、前記画像更新処理により生成された全ての画像のうち少なくとも一部の画像を記憶することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像更新手段は、
前記画像更新処理の最初に、前記撮影画像と前記点像強度分布とを用いて第１の更新画像を生成し、
第ｎ−１（ｎ≧２）の更新画像と前記点像強度分布とを用いて第ｎの更新画像を生成する処理を繰り返し、
前記第ｎ−１の更新画像と前記第ｎの更新画像と関する評価値に基づいて、前記画像更新処理を終了するか否かを判定する、ことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記画像更新手段は、撮像素子のカラーフィルタの色ごとに対応する前記点像強度分布に基づいて、前記画像更新処理を行うことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記画像更新手段は、光学伝達関数を周波数変換して取得された前記点像強度分布を用いて、前記画像更新処理を行うことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像合成手段は、前記重みを用いて、前記複数の画像のそれぞれの対応する画素位置ごとの画素値を加重平均することにより、該複数の画像を合成する、ことを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記回復画像は、前記撮影画像の劣化を回復した画像であることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
撮像光学系を介して形成された光学像を光電変換して画像信号を出力する撮像素子と、
前記画像信号に基づく撮影画像と点像強度分布とを用いて画像更新処理を行う画像更新手段と、
前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出する重み算出手段と、
前記重みを用いて前記複数の画像を合成し、回復画像を生成する画像合成手段と、を有することを特徴とする撮像装置。
【請求項１５】
撮影画像と点像強度分布とを用いて画像更新処理を行うステップと、
前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出するステップと、
前記重みを用いて前記複数の画像を合成し、回復画像を生成するステップと、を有することを特徴とする画像処理方法。
【請求項１６】
撮影画像と点像強度分布とを用いて画像更新処理を行うステップと、
前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出するステップと、
前記重みを用いて前記複数の画像を合成し、回復画像を生成するステップと、をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１７】
請求項１６に記載の画像処理プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像光学系による画像の劣化を補正する画像処理装置に関する。
【背景技術】
【０００２】
撮像光学系により撮影された被写体は、撮像光学系で発生する回折や収差等の影響により、１点から発生した光が１点に収束することができなくなるため微小な広がりを持つ。このような微小な広がりを持った分布をＰＳＦ（点像分布関数）と呼ぶ。このような撮像光学系の影響により、撮影画像にはＰＳＦが畳み込まれて形成されることになり、画像がぼけて解像度が劣化する。
【０００３】
近年、撮影画像を電子データとして保持することが一般的になり、画像処理を利用して撮像光学系による画像の劣化を補正する方法（画像回復処理）が提案されている。しかしながら、このような画像回復処理においては、ノイズの増幅やエッジ周辺が波打つようなリンギングなどの弊害が発生する。
【０００４】
特許文献１には、劣化画像をベース画像と残差画像とに分け、残差画像に対する画像回復処理を行い、それをベース画像に足しこむことにより画像を更新する方法が開示されている。特許文献２には、解像度が異なる画像に対して、バイラテラル距離による正則化が施されたＬｕｃｙ−Ｒｉｃｈａｒｄｓｏｎのアルゴリズムを用いてデコンボリューションを実行する方法が開示されている。非特許文献１には、ベイズの定理に基づく、所謂Ｌｕｃｙ−Ｒｉｃｈａｒｄｓｏｎ法を用いた画像回復方法が開示されている。非特許文献２には、所謂、ｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓのアルゴリズムの原理が詳述されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９―２７１７２５号公報
【特許文献２】米国特許出願公開第２０１０／００７４５５２号明細書
【非特許文献】
【０００６】
【非特許文献１】ＯＳＡ  ＶＯＬＵＭＥ  ６２，  ＮＵＭＢＥＲ  １  ＪＡＮＵＡＲＹ  １９７２  Ｂａｙｅｓｉａｎ−Ｂａｓｅｄ  Ｉｔｅｒａｔｉｖｅ  Ｍｅｔｈｏｄ  ｏｆ  Ｉｍａｇｅ  Ｒｅｓｔｏｒａｔｉｏｎ
【非特許文献２】Ａ  ｎｏｎ−ｌｏｃａｌ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｉｍａｇｅ  ｄｅｎｏｉｓｉｎｇ    Ａｎｔｏｎｉ  Ｂｕａｄｅｓ，  Ｊｅａｎ−Ｍｉｃｈｅｌ  Ｍｏｒｅｌ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、非特許文献２に開示されているｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓのアルゴリズムは、非局所的（ｎｏｎ−ｌｏｃａｌ）に画像の類似度を探索し、類似度に応じた重み付け係数を生成して足し合わせることでノイズを低減する方法である。しかしながら、この方法は、一般的なノイズリダクションが局所的な処理であるのに対し、非局所的な処理を探索する。このため、その効果は大きいが、探索範囲などの設定によっては膨大な計算時間が必要となる。
【０００８】
また、前述のいずれの文献にも、劣化画像の回復処理に関し、小さな処理負荷で解像度を保持しつつ弊害の発生を効果的に低減する方法については記載されていない。
【０００９】
そこで本発明は、小さな処理負荷で劣化画像を良好に回復可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供する。
【課題を解決するための手段】
【００１０】
本発明の一側面としての画像処理装置は、撮影画像と点像強度分布とを用いて画像更新処理を行う画像更新手段と、前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出する重み算出手段と、前記重みを用いて前記複数の画像を合成し、回復画像を生成する画像合成手段とを有する。
【００１１】
本発明の他の側面としての撮像装置は、撮像光学系を介して形成された光学像を光電変換して画像信号を出力する撮像素子と、前記画像信号に基づく撮影画像と点像強度分布とを用いて画像更新処理を行う画像更新手段と、前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出する重み算出手段と、前記重みを用いて前記複数の画像を合成し、回復画像を生成する画像合成手段とを有する。
【００１２】
本発明の他の側面としての画像処理方法は、撮影画像と点像強度分布とを用いて画像更新処理を行うステップと、前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出するステップと、前記重みを用いて前記複数の画像を合成し、回復画像を生成するステップとを有する。
【００１３】
本発明の他の側面としての画像処理プログラムは、撮影画像と点像強度分布とを用いて画像更新処理を行うステップと、前記撮影画像または前記画像更新処理により生成された少なくとも一つの画像を含む複数の画像に基づいて、該複数の画像のそれぞれの画素ごとに該複数の画像のそれぞれの重みを算出するステップと、前記重みを用いて前記複数の画像を合成し、回復画像を生成するステップと、をコンピュータに実行させる。
【００１４】
本発明の他の側面としての記憶媒体は、前記画像処理プログラムを記憶している。
【００１５】
本発明の他の目的及び特徴は、以下の実施形態において説明される。
【発明の効果】
【００１６】
本発明によれば、小さな処理負荷で劣化画像を良好に回復可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施例１における画像処理方法のフローチャートである。
【図２】実施例１における重み係数算出処理の説明図である。
【図３】実施例２におけるシフトバリアントな劣化特性を補正する画像処理方法の説明図である。
【図４】実施例３における画像処理システムの構成図である。
【図５】実施例４における画像処理装置のブロック図である。
【図６】実施例５における撮像装置のブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１９】
まず、本実施形態における画像処理方法（画像回復処理）の概略について説明する。実空間（ｘ，ｙ）上で、光学系による劣化を受ける前の画像をｆ（ｘ，ｙ）、ＰＳＦ（点像分布関数）をｈ（ｘ，ｙ）、劣化した画像をｇ（ｘ，ｙ）とすると、これらは以下の式（１）のように表される。
【００２０】
ｇ（ｘ，ｙ）＝∫∫ｆ（Ｘ，Ｙ）＊ｈ（ｘ−Ｘ，ｙ−Ｙ）ｄＸｄＹ…  （１）
式（１）にフーリエ変換を施し、実空間（ｘ，ｙ）から周波数空間（ｕｖ）への変換を行うと、以下の式（２）の関係が成立する。
【００２１】
Ｇ（ｕ，ｖ）＝Ｆ（ｕ，ｖ）＊Ｈ（ｕ，ｖ）  …  （２）
ここで、Ｆ（ｕ，ｖ）はｆ（ｘ，ｙ）のフーリエ変換、Ｇ（ｕ，ｖ）はｇ（ｘ，ｙ）のフーリエ変換、Ｈ（ｕ，ｖ）はｈ（ｘ，ｙ）のフーリエ変換である。このため、以下の式（３）が成立する。
【００２２】
Ｆ（ｕ，ｖ）＝Ｇ（ｕ，ｖ）／Ｈ（ｕ，ｖ）  …  （３）
式（３）は、周波数空間上で、劣化画像ｇ（ｘ，ｙ）のフーリエ変換Ｇ（ｕ，ｖ）を点像分布関数ｈ（ｘ，ｙ）のフーリエ変換Ｈ（ｕ，ｖ）で割ると、劣化を受ける前の画像ｆ（ｘ，ｙ）のフーリエ変換Ｆ（ｕ，ｖ）が得られることを意味している。従って、Ｆ（ｕ，ｖ）にフーリエ逆変換を施せば、劣化を受ける前の画像ｆ（ｘ，ｙ）を得ることができる。
【００２３】
しかしながら、実際に、このような処理を行って劣化を受ける前の画像を得ようとすると、特にＨ（ｕ，ｖ）上に０近傍の値がある場合、１／Ｈ（ｕ，ｖ）が非常に大きな値となってしまう。そこで、このような問題を解決するため、以下の式（４）で表されるウィナーフィルタＷ（ｕ，ｖ）を用いることが知られている。
【００２４】
Ｗ（ｕ，ｖ）＝１／Ｈ（ｕ，ｖ）＊｜Ｈ（ｕ，ｖ）｜２／（｜Ｈ（ｕ，ｖ）２＋Γ）  …  （４）
式（４）において、Ｈ（ｕ，ｖ）は光学伝達関数（ＯＴＦ：Ｏｐｔｉｃａｌ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）であり、Γは０除算を回避するための定数項である。
【００２５】
式（４）を、劣化画像ｇ（ｘ，ｙ）のフーリエ変換Ｇ（ｕ，ｖ）に乗算すれば、光学系（撮像光学系）や撮像素子（センサ）などによる画像の劣化を補正することができる。すなわち、ウィナーフィルタＷ（ｕ，ｖ）を用いた画像回復処理により回復された画像の周波数空間情報Ｒ（ｕ，ｖ）は、以下の式（５）のように表される。
【００２６】
Ｒ（ｕ，ｖ）＝Ｇ（ｕ，ｖ）＊Ｗ（ｕ，ｖ）  …  （５）
ここで、ウィナーフィルタの問題は、光学伝達関数Ｈ（ｕ，ｖ）の周波数空間での値がゼロまたは極めて小さい値（ゼロ近傍の値）である場合に生じる。式（４）において定数項Γの値を調整してゼロ除算を回避したとしても、その周波数領域では実質的に画像回復の効果を得ることができない。また、画像回復の効果が得られないだけでなく、実際には画像として好ましくないリンギングや不自然なアンダーシュートなどの弊害が発生しやすくなる。
【００２７】
画像回復処理の別手法として、例えば、Ｌｕｃｙ−Ｒｉｃｈａｒｄｓｏｎ法（ＬＲ法）がある。ＬＲ法による画像回復処理は、ウィナーフィルタとは異なり、式（４）のような光学伝達関数の除算による手法ではない。特に、ＬＲ法においてはベイズ推定の手法を用いることにより画像回復処理を行う。ＬＲ法は、ウィナーフィルタを用いた画像回復処理とは異なり、失われた周波数情報をも推定して画像回復処理を行う。すなわち、原理的なゼロ除算は全周波数がゼロの領域でしか発生しないことになる。
【００２８】
従って、周波数成分中においていくつかのゼロ点が発生している領域、または、極めて小さい値が存在する領域においては、ウィナーフィルタよりもロバストで効果的な手法であるといえる。しかし、一方で、シフトインバリアントな領域で繰り返し処理による計算を実行する必要があり、計算のためのコストが高い。また、撮影画像のノイズが大きい場合、ウィナーフィルタと同様にノイズ増幅による弊害が発生する。ここでシフトインバリアントとは、位置に対する特性が不変であるということを意味する。ＬＲ法による画像回復処理は、実空間において、以下の式（６）のように表される。
【００２９】
【数１】
0006566780.tif 000002
【００３０】
式（６）において、ｆｎは更新後の画像（更新画像）、ｆｎ−１は更新前の画像である。ｈは光学系の劣化特性であり、例えばＰＳＦである。また、ｇは劣化した画像（撮影画像）である。
【００３１】
ＬＲ法を用いた画像回復処理は、画像ｆｎ−１を逐次更新し、例えば所定の評価基準に基づいて更新処理を打ち切り、画像ｆｎを出力することにより行われる。このときの評価基準は、例えば、画像ｆｎと画像ｆｎ−１との差分値などである。ここで、ＬＲ法を開始する際（初期値）として、ｆ０＝ｇなどと設定して画像回復処理を開始すればよい。
【００３２】
以下、各実施例において、小さな処理負荷で劣化画像を良好に回復可能な画像処理装置および撮像装置について具体的に説明する。
【実施例１】
【００３３】
まず、図１を参照して、本発明の実施例１における画像処理方法（画像回復処理）について説明する。図１は、本実施例における画像処理方法のフローチャートである。図１の各ステップは、画像処理装置の各部（例えば、後述の画像処理装置４０１、５００、または、画像処理部６０４の各部）により実行される。
【００３４】
まずステップＳ１０１において、本実施例の画像処理装置は、画像回復処理の対象となる画像（撮影画像）を取得する。続いてステップＳ１０２において、画像処理装置は、ステップＳ１０１にて取得された画像に対して画像回復処理を開始するため、撮影条件（撮影条件情報）を取得する。本実施例において、画像処理装置は、ステップＳ１０１にて取得された画像に付随する、例えばＥｘｉｆ情報などから撮影条件を取得するか、または、撮影条件を直接取得する。本実施例において、撮影条件は、撮影時のレンズを特定するためのレンズ識別番号（レンズＩＤ）、撮影時の焦点距離、Ｆ値、および、被写体距離を含むが、これらに限定されるものではない。画像処理装置は、レンズＩＤ、焦点距離、Ｆ値、および、被写体距離の組み合わせからなる撮影条件により、撮像光学系の光学伝達関数を特定することができる。
【００３５】
また撮影条件として、撮像素子の画素ピッチ、カラーフィルタの配列、および、光学ローパスフィルタに関する情報など、撮影時の状況を示す情報を含む場合もある。ここで、撮像光学系の光学伝達関数は、折り返し信号が発生しない程度のサンプリングピッチで離散化されたデータである。光学伝達関数は、例えばレンズ（撮像光学系）の設計データなどからコンピュータ上のシミュレーションで算出することが好ましいが、画素ピッチの小さい撮像素子を用いて測定してもよい。このときの画素ピッチは、前述のように折り返し信号が発生しない程度の画素ピッチであることが好ましい。コンピュータシミュレーションで撮像光学系の光学伝達関数を生成する際には、想定する光源の分光特性や撮像素子のカラーフィルタの分光特性を用いて波長ごとに算出される光学伝達関数を、Ｒ、Ｇ、Ｂの各色に対応させて生成することが好ましい。
【００３６】
撮像光学系の光学伝達関数は、前述の焦点距離、Ｆ値、および、被写体距離を決定した場合に、撮像素子上の位置と主にＲ、Ｇ、Ｂのカラーフィルタの分光特性との組み合わせの数だけ必要となる。すなわち、撮影条件ごとに複数の光学伝達関数が必要である。例えば、撮像素子上の代表点１００点とＲ、Ｇ、Ｂの３色のカラーフィルタとの組み合わせの数は３００となる。従って、前述の撮像光学系の光学伝達関数の特定は、このような３００点を特定することを意味する。
【００３７】
続いて、ステップＳ１０３において、画像処理装置は、ステップＳ１０２にて取得した撮影条件に基づいて、撮像光学系の光学伝達関数を取得する。このとき、使用される撮像素子のサイズに応じて、光学伝達関数の取得範囲を変更することが好ましい。光学伝達関数の取得範囲は、例えば、撮像光学系に応じて決定される範囲と、撮像素子が光学像を取得可能な範囲との比率に基づいて決定される。ここで、撮像光学系に応じて決定される範囲とは、例えば設計時に収差補正が行われている範囲である。
【００３８】
続いて、ステップＳ１０４において、画像処理装置は、ステップＳ１０３にて取得した光学伝達関数を修正する。取得した撮像光学系の光学伝達関数は、そのままでは画像回復処理には適用できない。本実施例の画像処理装置は、種々の撮像素子に関し、各撮像素子の帯域や画素の形状などの特性（周波数特性）に応じて撮像光学系の光学伝達関数を修正する。撮像素子の特性に応じて撮像光学系の光学伝達関数を修正するには、以下のような特性を考慮する。
【００３９】
まず、撮像素子の特性として、撮像素子のサイズ、画素ピッチ、カラーフィルタの配列などに関する情報がある。撮像素子のサイズは、光学空中像を切り出すイメージサークルを指定する情報である。画素ピッチは、光学伝達関数の折り返し信号に関する情報である。また、前述の情報以外にも、光学ローパスフィルタに関する特性を考慮してもよい。ここで、光学ローパスフィルタに関する特性とは、光学ローパスフィルタの有無、それによる光学伝達関数が受ける特性に関する情報である。これは、例えば、光学ローパスフィルタによる点像強度分布の分離幅、分離方向、および、分離方法などである。また、単板センサの場合、Ｒ、Ｇ、Ｂ画素の配列情報を、ベイヤー配列のサンプリング間隔における折り返し信号についての情報として使用することができる。また、ベイヤー配列の撮像素子の場合、Ｒ、Ｇ、Ｂについてそれぞれのサンプリングピッチが異なる場合があり、また、特殊な配置を有する場合もある。このため、これらの情報について考慮することもできる。これらの情報は、ステップＳ１０２にて撮影条件（撮影条件情報）として取得可能である。
【００４０】
ステップＳ１０４にて撮像素子の特性に応じて修正された光学伝達関数は、以下の式（７）のようなモデルで表される。
【００４１】
【数２】
0006566780.tif 000003
【００４２】
式（７）において、ＨＳ（ｕ，ｖ）は撮像素子の特性に応じて修正された光学伝達関数である。また、Ｈ（ｕ，ｖ）は撮像光学系の光学伝達関数、ＯＬＰＦ（ｕ，ｖ）は光学ローパスフィルタの周波数特性、ＰＩＸ（ｕ，ｖ）は撮像素子の画素形状による周波数特性である。［  ］Ｓは撮像素子の帯域内の周波数特性の取得を示している。
【００４３】
続いてステップＳ１０５において、画像処理装置は、ステップＳ１０４にて修正された複数の光学伝達関数に対して、それぞれ周波数変換を行い実空間上のデータに変換することにより、撮像素子の特性を含む点像強度分布（ＰＳＦ）を生成する。本実施例において、画像処理装置は、光学伝達関数を取得して点像強度分布に変換する。ただし本実施例は、これに限定されるものではなく、予め点像強度分布を取得してもよい。
【００４４】
続いてステップＳ１０６〜Ｓ１０８において、画像処理装置は、ステップＳ１０５にて生成された点像強度分布（ＰＳＦ）を用いて、式（６）に基づいて画像回復処理を行う。画像回復処理を行う際に、画像処理装置は、まずステップＳ１０６において、画像更新処理を行う。画像更新処理において、式（６）で表されるように、繰り返し演算処理により画像（ｆｎ−１、ｆｎ）を更新する。式（６）は、種々の正則化を含めた変形をしてもよい。このとき、繰り返し回数の増加に応じて画像の更新処理の効果が強くなるが、ノイズなども増幅してしまう。このため、所定の評価値に基づいて繰り返し処理を終了することが好ましい。所定の評価値としては、例えば、式（６）においてカラーフィルタの色別の画像ｆｎ、ｆｎ−１の平均二乗誤差ＲＭＳＥ（Ｒｏｏｔ  Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ）が用いられる。また、この所定の評価値の設定により繰り返し処理の効果の強弱を表すことができ、特定の領域のみにおいて評価を行うことも可能である。
【００４５】
画像処理装置は、画像更新処理の際に、更新した画像ｆｎをメモリ（記憶手段）に記憶する。なおメモリには、撮影画像（画像ｆ０）が記憶されていてもよい。本実施例において、全ての画像更新時に対応する画像（全ての更新画像）を記憶することが理想的であるが、メモリの制約などにより難しい場合がある。この場合、画像処理装置は、予め記録する画像記録番号ｎを決定することができる。例えば、事前に画像更新処理をＮ回で終了すると決定されている場合において、ｎ＝１、Ｎ−１、Ｎの３つの画像（画像ｆ１、ｆＮ−１、ｆＮ）を記録するようにすると、画像記録番号ｎは１、Ｎ−１、Ｎとなる。また、前述の評価値に基づいて画像更新処理の終了を判定して画像更新処理を終了する場合、画像更新処理の終了のための評価値が所定の閾値を超えた後にメモリへの記録を開始して画像更新処理の終了時にメモリへの記録を終了すればよい。また、画像記録回数の上限値を設けて、それを考慮に入れてもよい。
【００４６】
続いてステップＳ１０７において、画像処理装置は、ステップＳ１０６の画像更新処理が終了した後、メモリに記録された、各画像更新番号の画像（例えば、画像ｆ１、ｆＮ−１、ｆＮ）の重み係数（重み情報）を画素ごとに算出する。そしてステップＳ１０８において、画像処理装置は、ステップＳ１０７にて算出された重み係数を用いて、前述の各画像記録番号の画像の対応する画素ごとに画像を合成する（画像合成処理を行う）。これにより、画像処理装置は、回復画像を生成することができる。
【００４７】
次に、図２を参照して、画像更新処理（ステップＳ１０６）および画像合成処理（ステップＳ１０８）について詳述する。図２は、本実施例における重み係数算出処理（ステップＳ１０７）の説明図である。本実施例においては、画像更新処理により更新された画像に対して、更新の順に画像記録番号が付加されているものとする。
【００４８】
まず、画像処理装置は、重み係数算出処理のための基準画像を選択する。本実施例においては、画像記録番号が最大である画像、すなわち画像記録番号ｎ＝Ｎの画像ｆＮを基準画像とする。これは、最も高解像な画像を基準画像とすることにより、画像の解像力をできるだけ保持しつつ弊害を緩和するためである。ただし本実施例は、これに限定されるものではなく、任意の画像を基準画像として選択可能である。
【００４９】
本実施例において、以下の式（８）、（９）を定義する。
【００５０】
【数３】
0006566780.tif 000004
【００５１】
【数４】
0006566780.tif 000005
【００５２】
式（８）、（９）において、ｎｆは基準画像の画像記録番号、ｎｉは画像記録番号、ｉは画素位置、ｈは繰り返し演算処理の効果の調整項である。また、Ωｉは画素位置ｉ（重み係数算出対象画素）を含む縦横の幅が定数の長方形領域（重み係数算出対象領域）である。また、ν（Ω）は画素値（長方形領域Ωに含まれる複数の画素値の集合）、｜｜  ｜｜２ｎｉは画像記録番号ｎｉに関するＬ２ノルムである。
【００５３】
従って、式（８）中のｗ（ｎｆ，ｎｉ，ｉ）は、基準画像を画像記録番号ｎｆとした際における、基準画像の画素位置ｉに対する画像記録番号ｎｉの画素位置ｉからの寄与の重み（重み係数）を意味する。式（９）は、重み係数の合計値が１となるための正規化項Ｚ（ｉ）を示す。図２においては、基準画像の画像記録番号ｎｆ＝Ｎである。
【００５４】
最終的な回復画像ｒｅｓＩｍは、以下の式（１０）を用いて、画素ごとに画像を合成することにより生成される。
【００５５】
【数５】
0006566780.tif 000006
【００５６】
式（１０）において、ｓｔｏｒａｇｅＩｍ（ｎｉ，ｉ）は画像記録番号ｎｉの画像ｆｎｉ（記録画像）の画素位置ｉの値、ｒｅｓＩｍ（ｉ）は回復画像ｒｅｓＩｍの画素位置ｉの値である。また、ｓｔｏｒａｇｅＩｍ（ｎｉ，ｉ）、すなわち記録画像として、撮影画像を含めてもよい。
【００５７】
本実施例の画像処理方法によれば、非特許文献２に開示されている類似度が高い領域を広範囲（ｎｏｎ−ｌｏｃａｌ）にわたって探索する処理を実行する必要がなくなり、画像回復処理の高速化が実現できる。なお式（８）は、重み係数を決定するための一つの定義であり、本実施例はこれに限定されるものではない。なお、本実施例の画像処理方法は、ソフトウエア、または、ハードウエア上で動作するプログラムとして提供される。
【実施例２】
【００５８】
次に、図３を参照して、本発明の実施例２について説明する。図３は、シフトバリアントな劣化特性を補正する画像処理方法の説明図である。図３は、画像更新処理（図１のステップＳ１０６）において画像中のシフトバリアントな劣化特性を補正する方法を示しており、撮像素子の特性に応じて異なるＰＳＦを用いた画像更新処理の一例である。ここでシフトバリアントとは、位置に対して特性が変化することを意味する。
【００５９】
本実施例は、ＰＳＦの特性が画像中の位置ごとに大きく変化する場合について、良好な結果が得られる画像処理方法を説明する。ＰＳＦが像高などの画像中の位置ごとに大きく変化する場合、画像中の位置ごとに適切な（すなわち正確な）ＰＳＦを用いて画像処理を行うことが理想的である。しかし、撮像素子の全画素数の正確なＰＳＦをデータとしてメモリに保持することは現実的ではない。そこで本実施例においては、画像中の所定の各位置において、各位置に対応する撮像光学系の光学伝達関数を、撮像素子の特性に応じて修正する。そして、修正後の光学伝達関数を、周波数変換によりＰＳＦに変換して利用する。
【００６０】
本実施例では、図３に示されるように、画像のＲ、Ｇ、Ｂの縦、横のデータ数をそれぞれＶ、Ｈとする。Ｒ、Ｇ、Ｂをベイヤーとして処理する場合、Ｖ、Ｈがそれぞれ互いに異なる数でもよい。画像の縦横にはそれぞれ、Ｍ、Ｎ点のＰＳＦを対応付け、それぞれの配置間隔をＡ、Ｂとし、（Ｍ−１）×（Ｎ−１）個の複数の長方形領域を考える。ここでは、計算上、Ａ＝Ｖ／（Ｍ−１）、Ｂ＝Ｈ／（Ｎ−１）であることが好ましい。このような場合、処理対象の着目画素（ｉ，ｊ）ごとに、ｉ／Ａ、ｊ／Ｂの整数除算を行うことにより、条件分岐などの処理を用いることなく、複数の長方形領域の何番目に属するかを直ちに算出可能であるためである。
【００６１】
従って、ｍ＝ｉ／Ａ、ｎ＝ｊ／Ｂより、ＰＳＦ［ｍ，ｎ］、ＰＳＦ［ｍ，ｎ＋１］、ＰＳＦ［ｍ＋１，ｎ］、ＰＳＦ［ｍ＋１，ｎ＋１］の４つのＰＳＦが選択される。そして画像処理装置は、これらを用いて、着目画素（ｉ，ｊ）に対応するＰＳＦｉｊを算出することができる。
【００６２】
本実施例では、それぞれのＰＳＦに対する重み付けＷ（重み係数）を、以下のように決定する。
【００６３】
Ｗ（ｍ，ｎ）＝（Ａ−ａ）＊（Ｂ−ｂ）／（Ａ＊Ｂ）
Ｗ（ｍ，ｎ＋１）＝（Ａ−ａ）＊ｂ／（Ａ＊Ｂ）
Ｗ（ｍ＋１，ｎ）＝ａ＊（Ｂ−ｂ）／（Ａ＊Ｂ）
Ｗ（ｍ＋１，ｎ＋１）＝ａ＊ｂ／（Ａ＊Ｂ）
ここで、ａ＝ｍｏｄ（ｉ，Ａ）、ｂ＝ｍｏｄ（ｊ，Ｂ）である。また、ｍｏｄ（ｘ，ｙ）はｘのｙによる剰余である。以上より、以下の式（１１）が得られる。
【００６４】
【数６】
0006566780.tif 000007
【００６５】
従って本実施例では、式（６）を、式（１１）に基づいて以下の式（１２）のように用いる。
【００６６】
【数７】
0006566780.tif 000008
【００６７】
画像処理装置は、それぞれ画像の色（Ｒ、Ｇ、Ｂ）ごとに式（１２）で表される処理を実行し、最終的な画像（回復画像）を得る。
【００６８】
本実施例では、式（１１）を少ないＭとＮにおいて高精度に行うため、予めそれぞれのＰＳＦの重心位置を一致させる処理を施しておくことが好ましい。また、重心位置だけでなく、最大値を一致させてもよく、両方を評価する評価値を満たすようなＰＳＦの補正を行ってもよい。
【００６９】
本実施例の画像処理方法によれば、シフトバリアントに劣化した画像に対しても回復画像を得ることが可能となる。なお本実施例において、画像更新処理以外に関しては、実施例１と同様のため、それらの説明を省略する。
【実施例３】
【００７０】
次に、図４を参照して、本発明の実施例３における画像処理システム（画像処理装置）について説明する。図４は、本実施例における画像処理システム４００の構成図である。画像処理システム４００は、画像処理装置４０１（情報処理装置としてのハードウエア）、表示装置４０２（モニタ）、および、入力装置４０３（キーボードなどの入力手段）を備えて構成される。本実施例は、実施例１、２の画像処理方法を画像処理システム４００（パソコンのソフトウエア）上で動作させる場合について説明する。
【００７１】
まず、実施例１、２の画像処理方法を画像処理装置４０１において動作させるため、画像処理方法を実行するソフトウエア（画像処理プログラム）を画像処理装置４０１（パソコン）にインストールする。ソフトウエアは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのメディア４０４（記憶媒体）からインストールすることができる。または、ソフトウエアを、ネットワーク（インターネット）を通じてダウンロードしてインストールしてもよい。また画像処理装置４０１には、光学系（撮像光学系）の複数の光学伝達関数（光学伝達関数データ）が格納されている。ここで、画像処理装置４０１に格納される複数の光学伝達関数は、例えば、光学系の種々の撮影条件（撮影条件情報）ごとの光学伝達関数の全てである。光学伝達関数に関しても、メディア４０４やネットワークを通じてダウンロードすることにより、画像処理装置４０１に格納される。本実施例において、ソフトウエア（画像処理プログラム）、光学伝達関数情報、および、撮影条件情報などの各データは、画像処理装置４０１内のハードディスクなどの記憶部に記憶される。また画像処理装置４０１は、少なくとも一部のデータを、外部のサーバからネットワークを通じて取得するように構成してもよい。
【００７２】
画像処理装置４０１は、インストールされたソフトウエアを起動し、撮影画像に対して画像回復処理を行う。ソフトウエア上では、画像回復処理の強度を決定する繰り返し回数や、画像のうちの所定の領域（画像回復処理の対象領域）にのみ画像回復処理を適用するなど、種々の設定（パラメータの設定）が可能である。このようなパラメータは、ユーザが表示装置４０２上で回復処理後の画像を確認しつつ変更可能であることが好ましい。
【実施例４】
【００７３】
次に、図５を参照して、本発明の実施例４における画像処理装置について説明する。図５は、本実施例における画像処理装置５００のブロック図である。画像処理装置５００は、撮影画像取得部５０１、撮影条件取得部５０２、光学伝達関数記憶部５０３、光学伝達関数取得部５０４、光学伝達関数修正部５０５、周波数変換部５０６、および、画像回復部５０７を有する。画像回復部５０７は、画像更新部５０８、重み係数算出部５０９、および、画像合成部５１０を有する。
【００７４】
撮影画像取得部５０１（画像取得手段）は、撮影条件に関する情報（撮影条件情報）が付加された画像（撮影画像）を取得する（図１のステップＳ１０１）。撮影条件取得部５０２（条件取得手段）は、光学系（撮像光学系）に関する情報および撮像素子に関する情報を、撮影条件として取得する（ステップＳ１０２）。光学系に関する情報とは、焦点距離、Ｆ値、および、被写体距離などに関する情報であるが、これに限定されるものではなく、光学系のイメージサークル径などに関する情報を含む場合がある。光学系のイメージサークル径とは、光学系の設計時に収差補正上予め定められた、単位円の半径または直径である。撮像素子に関する情報とは、撮像素子のサイズ（像高）、撮像素子の画素ピッチ、画素の形状や画素のサイズなどに関する情報である。また本実施例において、撮像素子に光学ローパスフィルタなどの種々の素子（光学部材）が装着されている場合がある。この場合、種々の素子の特性に関する情報を、撮像素子に関する情報に含めることができる。
【００７５】
光学伝達関数記憶部５０３（記憶手段）は、光学系の光学伝達関数（光学伝達関数データ）を予め記憶している。光学伝達関数取得部５０４（関数取得手段）は、撮影条件取得部５０２で取得した光学系に関する情報に基づいて、光学伝達関数記憶部５０３に記憶された光学伝達関数情報から複数の光学伝達関数を取得する（ステップＳ１０３）。光学伝達関数修正部５０５（関数修正手段）は、光学系に関する情報に基づいて取得された複数の光学伝達関数に対して、撮像素子に関する情報に基づく修正を加える（ステップＳ１０４）。この修正は、光学ローパスフィルタや画素の特性を付与することや、撮像素子の画素ピッチに合わせた周波数帯域までの光学伝達関数への変換処理を含む。
【００７６】
周波数変換部５０６（ＰＳＦ取得手段）は、光学伝達関数修正部５０５により修正された複数の光学伝達関数の全てをフーリエ逆変換し、光学系の特性および撮像素子の特性に応じた点像強度分布（ＰＳＦ）を生成する（ステップＳ１０５）。画像回復部５０７（画像回復手段）は、撮影画像取得部５０１により取得された画像と、周波数変換部５０６により生成された点像強度分布とに基づいて、画像回復処理を行う（ステップＳ１０６〜Ｓ１０８）。具体的には、画像更新部５０８（画像更新手段）は、取得した画像と、撮像光学系および撮像素子の特性に基づく点像強度分布とを用いて、画像更新処理を行う（ステップＳ１０６）。重み係数算出部５０９（重み算出手段）は、画像更新部５０８による画像更新処理が完了した後、メモリに記録された画像を用いて各画像更新番号の画像の重み係数を画素ごとに算出する（ステップＳ１０７）。画像合成部５１０（画像合成手段）は、重み係数算出部５０９により算出された重み係数（重み情報）を用いて、前述の各画像記録番号の画像を、それぞれ対応する画素ごとに合成することにより、回復画像を生成する（ステップＳ１０８）。
【００７７】
なお、撮影画像取得部５０１は、画像（撮影画像）を取得するが、撮影画像には撮影条件情報が付加されていない場合がある。このため本実施例において、画像処理装置５００は、撮影画像と撮影条件とを別々に取得するように構成してもよい。このとき撮影条件取得部５０２は、撮影画像とは別に（例えば、図６に示される撮像装置６００の撮像光学系制御部６０６または状態検知部６０７を介して）、撮影条件情報を取得することができる。
【実施例５】
【００７８】
次に、図６を参照して、本発明の実施例５における撮像装置の概略構成について説明する。図６は、本実施例における撮像装置６００のブロック図である。撮像装置６００は、前述の各実施例の画像処理方法を実行可能な画像処理部６０４（画像処理装置）を備えている。
【００７９】
撮像装置６００において、被写体（不図示）は、絞り６０１ａ（または遮光部材）およびフォーカスレンズ６０１ｂを含む撮像光学系６０１（光学系）を介して撮像素子６０２に結像する。本実施例において、撮像光学系６０１は、撮像素子６０２を有する撮像装置本体に着脱可能な交換レンズ（レンズ装置）である。ただし本実施例は、これに限定されるものではなく、撮像装置本体と撮像光学系６０１とが一体的に構成された撮像装置にも適用可能である。
【００８０】
絞り値（Ｆ値）は、絞り６０１ａまたは遮光部材により決定される。撮像素子６０２は、撮像光学系６０１を介して形成された被写体像（光学像）を光電変換して画像信号（撮影画像データ）を出力する。撮像素子６０２から出力された電気信号は、Ａ／Ｄ変換器６０３に出力される。Ａ／Ｄ変換器６０３は、撮像素子６０２から入力された電気信号（アナログ信号）をデジタル信号に変換し、デジタル信号（撮影画像）を画像処理部６０４に出力する。なお、撮像素子６０２およびＡ／Ｄ変換器６０３により、撮像光学系６０１を介して形成された光学像（被写体像）を光電変換して撮影画像を出力する撮像手段が構成される。
【００８１】
画像処理部６０４は、Ａ／Ｄ変換器６０３から出力されたデジタル信号（撮像素子６０２から出力された画像信号から生成された画像）に対して、状態検知部６０７および記憶部６０８の各情報を用いて所定の画像処理を行う。特に、本実施例の画像処理部６０４は、撮影画像の画像回復処理を行い、補正画像（回復画像）を出力する。画像処理部６０４は、撮影画像取得部５０１、撮影条件取得部５０２、光学伝達関数記憶部５０３、光学伝達関数取得部５０４、光学伝達関数修正部５０５、周波数変換部５０６、および、画像回復部５０７と同様の機能の各部を含む。
【００８２】
記憶部６０８（記憶手段）は、撮影条件（撮影条件情報）ごと（撮影時の焦点距離、Ｆ値、撮影距離、および、像高の組み合わせごと）に、撮像光学系６０１の光学伝達関数（光学伝達関数データ）を記憶する。記憶部６０８は、図４に示される光学伝達関数記憶部５０３と同様の機能を含む。撮影条件は、例えば、撮像光学系制御部６０６または状態検知部６０７により取得される。本実施例において、画像処理部６０４および記憶部６０８により画像処理装置が構成される。ただし本実施例において、光学伝達関数記憶部を、画像処理部６０４の外部に設けられた記憶部６０８に代えて、画像処理部６０４の内部に含めてもよい。
【００８３】
画像処理部６０４は、取得した撮影条件に対応する光学系の光学伝達関数を取得し、撮像素子に関する情報を用いて光学系の光学伝達関数を修正する。そして画像処理部６０４（周波数変換部）は、修正された光学伝達関数に対してフーリエ逆変換を行い、撮像光学系および撮像素子の特性に応じた点像強度分布を生成する。画像処理部６０４（画像回復部）は、記憶部６０８から画像データを読み出し、画像更新処理、重み係数算出処理、および、画像合成処理を実行し、回復画像を出力する。画像回復処理の際には、画像回復処理の強さを決定する繰り返し回数や、画像のうちの所定の領域（画像回復処理の対象領域）にのみ画像回復処理を適用するなど、種々の設定（パラメータの設定）が可能である。このようなパラメータは、ユーザが表示部６０５上で回復処理後の画像を確認しつつ変更可能であることが好ましい。
【００８４】
このように各実施例において、画像処理装置（画像処理装置４０１、５００、または、画像処理部６０４）は、画像更新手段（画像更新部５０８）、重み算出手段（重み係数算出部５０９）、および、画像合成手段（画像合成部５１０）を有する。画像更新手段は、撮影画像と点像強度分布（ＰＳＦ）とを用いて画像更新処理を行う。重み算出手段は、複数の画像のそれぞれの画素ごとに複数の画像のそれぞれの重み（重み係数）を算出する。重みは、撮影画像（画像ｆ０）または画像更新処理により生成された少なくとも一つの画像（画像ｆ１〜ｆＮの少なくとも一つ）を含む複数の画像（画像ｆ０〜ｆＮの少なくとも二つ）に基づいて算出される。画像合成手段は、重みを用いて複数の画像を合成し、回復画像を生成する。
【００８５】
好ましくは、重み算出手段は、複数の画像のうち一つの画像を基準画像として選択する。そして重み算出手段は、基準画像と、複数の画像のそれぞれとの類似度（相関値）に基づいて、画素ごとに重みを算出する。ここで、類似度として、基準画像と、基準画像を含む複数の画像のそれぞれとの類似度が算出される。ただし、基準画像同士の類似度は所定値となるため、基準画像と、複数の画像のうち基準画像を除く他の画像との類似度を算出する一方、基準画像同士の類似度は（計算で求める代わりに）所定値を用いてもよい。
【００８６】
より好ましくは、重み算出手段は、重みの算出対象である画素を含む所定の領域（重み係数算出対象領域、長方形領域Ω）に関して類似度を算出し、類似度に基づいて画素ごとに重みを算出する。また好ましくは、重み算出手段は、類似度が大きいほど重みを大きくする。また好ましくは、重み算出手段は、類似度が第１の類似度である場合、重みとして第１の重みを算出する。そして重み算出手段は、類似度が第１の類似度よりも小さい第２の類似度である場合、重みとして、第１の重みよりも小さい第２の重みを算出する。また好ましくは、重み算出手段は、画像更新処理により最後に更新された画像（画像ｆＮ）を基準画像として選択する。
【００８７】
好ましくは、画像処理装置は、更に、複数の画像を記憶する記憶手段（記憶部６０８、メモリ）を有する。より好ましくは、記憶手段は、複数の画像として、画像更新処理により生成された全ての画像のうち少なくとも一部の画像を記憶する。
【００８８】
好ましくは、画像更新手段は、画像更新処理の最初に、撮影画像（画像ｆ０）と点像強度分布とを用いて第１の更新画像（画像ｆ１）を生成する。また画像更新手段は、第ｎ−１（ｎ≧２）の更新画像（画像ｆｎ−１）と点像強度分布とを用いて第ｎの更新画像（画像ｆｎ）を生成する処理を繰り返す。そして画像更新手段は、第ｎ−１の更新画像と第ｎの更新画像と関する評価値（所定の閾値）に基づいて、画像更新処理を終了するか否かを判定する。
【００８９】
好ましくは、画像更新手段は、撮像素子のカラーフィルタの色ごとに対応する点像強度分布に基づいて、画像更新処理を行う。また好ましくは、画像更新手段は、光学伝達関数を周波数変換して取得された点像強度分布を用いて、画像更新処理を行う。また好ましくは、画像合成手段は、重みを用いて、複数の画像のそれぞれの対応する画素位置ごとの画素値を加重平均することにより、複数の画像を合成する。また好ましくは、回復画像は、撮影画像の劣化を回復した画像である。
【００９０】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９１】
各実施例によれば、小さな処理負荷で劣化画像を良好に回復可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
【００９２】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００９３】
５００  画像処理装置
５０８  画像更新部（画像更新手段）
５０９  重み係数算出部（重み算出手段）
５１０  画像合成部（画像合成手段）
【図１】
0006566780.tif 000009
【図２】
0006566780.tif 000010
【図３】
0006566780.tif 000011
【図４】
0006566780.tif 000012
【図５】
0006566780.tif 000013
【図６】
0006566780.tif 000014