以下、本発明の実施例について図面を参照しながら説明する。
まず、具体的な実施例の説明に先立って、各実施例で行われる第1の画像回復処理の基本的な概念について説明する。第1の画像回復処理は、撮像に使用されている撮像光学系の光学伝達関数(言い換えれば撮像光学系の収差)に関する第1のデータを用いて生成された第1の画像回復フィルタを用いた画像回復処理である。これにより、第1の画像回復フィルタは、少なくとも、撮像により生成された入力画像における撮像光学系の収差(球面収差、コマ収差、像面湾曲、非点収差等)に起因する第1の劣化成分に対する画像回復作用(補正作用)を有する。
第1の劣化成分としてのぼけ成分を含む劣化画像(入力画像)をg(x,y)とし、劣化していない元の画像をf(x,y)とする。また、光学伝達関数のフーリエペアである点像分布関数(PSF)をh(x,y)とする。このとき、以下の式が成り立つ。ただし、*はコンボリューションを示し、(x,y)は画像上の座標を示す。
g(x,y)=h(x,y)*f(x,y) …(1)
上記式をフーリエ変換により2次元周波数面での表示形式に変換すると、以下の式のように、周波数ごとの積の形式になる。Hは点像分布関数(PSF)をフーリエ変換したものであり、光学伝達関数(OTF)である。(u,v)は2次元周波数面での座標、すなわち周波数を示す。
G(u,v)=H(u,v)・F(u,v) …(2)
劣化画像から元の画像を得るためには、以下のように、両辺をHで除算すればよい。
G(u,v)/H(u,v)=F(u,v) …(3)
このF(u,v)を逆フーリエ変換して実面に戻すことで、元の画像f(x,y)に相当する回復画像が得られる。
ここで、H−1を逆フーリエ変換したものをRとすると、以下の式のように実面での画像に対するコンボリューション処理を行うことで、同様に元の画像を得ることができる。
g(x,y)*R(x,y)=f(x,y) …(4)
このR(x,y)を、画像回復フィルタという。実際の画像にはノイズ成分が含まれるため、上記のように光学伝達関数(OTF)の完全な逆数をとって作成した画像回復フィルタを用いると、劣化画像とともにノイズ成分が増幅されてしまい、一般には良好な画像は得られない。この点については、例えばウィーナーフィルタ(Wiener filter)のように画像信号とノイズ信号の強度比に応じて画像の高周波側の回復率を抑制する方法が知られている。画像の色にじみ成分の劣化は、例えば、上記のぼけ成分の補正により画像の色成分ごとのぼけ量が均一になれば補正されたことになる。
ただし、後述する各実施例では、第1の画像回復フィルタは、上記第1の劣化成分だけでなく、第1の劣化成分とは異なる第2の劣化成分に対しても画像回復作用を有する。第2の劣化成分とは、撮像光学系の絞りによる回折、撮像装置に設けられた光学フィルタ(例えば、ローパスフィルタ)および該撮像装置に設けられた撮像素子の開口特性のうち少なくとも一つによる劣化成分である。撮像素子の開口特性による劣化は、撮像素子よってOTFにローパスフィルタが作用することに相当する。このため、第1の画像回復フィルタは、第1の劣化成分に対応するOTFのデータ(第1のデータ)と、第2の劣化成分をOTFに換算したデータ(第2のデータ)とを組み合わせた複合的なOTFのデータ(以下、複合OTFデータともいう)を用いて生成される。
また、各実施例では、撮像に使用される撮像光学系の光学伝達関数に関する第1のデータを用いずに生成された第2の画像回復フィルタを用いる第2の画像回復処理も行う。第2の画像回復フィルタは、基本的には、第1の劣化成分に対する画像回復作用を有さず、第2の劣化成分に対する画像回復作用を有する。このため、各実施例における第2の画像回復フィルタは、前述した第2の劣化成分をOTFに換算した第2のデータ(以下、換算OTFデータともいう)を用いて生成される。
なお、第2の画像回復フィルタによる第2の劣化成分の画像回復作用によって、結果的に第1の劣化成分も画像回復作用を受ける場合がある。つまり、第2の画像回復フィルタは、第1の画像回復フィルタの第1の劣化成分に対する画像回復作用より低い画像回復作用を有していてもよい。
そして、各実施例では、第1の画像回復処理と第2の画像回復処理とを、様々な選択条件に応じて選択的に行う。
図1には、本発明の実施例1である画像処理装置を含む撮像装置(以下、カメラという)の構成を示している。このカメラは、撮像光学系101を有する交換レンズ(図中にはレンズと記す)が取り外し可能に装着されることにより、複数の撮像光学系の交換使用が可能なレンズ交換型カメラである。
交換レンズに設けられた撮像光学系101は、不図示の被写体からの光に被写体像(光学像)を形成させる。
カメラに設けられたCCDセンサやCMOSセンサ等の光電変換素子である撮像素子(撮像手段)102は、被写体像を電気信号に変換する。撮像素子102から出力されたアナログ撮像信号は、A/Dコンバータ103によりデジタル撮像信号に変換されて画像処理装置としての画像処理部104に入力される。
画像処理部104は、画像処理用のCPUまたはMPUを含むコンピュータにより構成され、デジタル撮像信号に対して画素補間処理、ホワイトバランス処理、色補正処理等の一般画像処理を行って撮像画像を生成する。さらに、画像処理部104は、撮像画像である入力画像に対して前述した第1の画像回復処理と第2の画像回復処理とを選択的に行う。
記憶部108は、前述した第1の画像回復フィルタを、本実施例のカメラに対して装着が可能な複数(機種)の交換レンズのそれぞれに対して、かつ予め後述する撮像条件および像高ごとに保持している。ただし、記憶部108に保持された第1の画像回復フィルタは、本実施例のカメラに対して装着が可能な全ての交換レンズのうち、限られた複数の交換レンズ(以下、第1の交換レンズという)の撮像光学系に対応するもののみである。これにより、本実施例のカメラに対して装着が可能な全ての交換レンズの撮像光学系に対応する第1の画像回復フィルタを撮像条件および像高ごとに保持する場合に比べて、保持するデータ量を少なく抑えている。
また、記憶部108には、本実施例のカメラに対して装着が可能な全ての交換レンズのうち上記複数の第1の交換レンズ以外の複数の交換レンズ(以下、第2の交換レンズという)に対して共通して用いられる前述した第2の画像回復フィルタが保持されている。第2の交換レンズには、本実施例のカメラよりも後で製造が開始された新交換レンズを含む。本実施例のカメラは、この新交換レンズに対応する第1の画像回復フィルタがまだインストールされていない状態にある。
なお、本実施例では、記憶部108が画像処理部104の外部(カメラの内部)に設けられている場合について説明しているが、画像処理部(画像処理装置)の内部に設けてもよい。
画像処理部104は、第1の画像回復処理を行う際には、記憶部108から、撮像時における撮像条件と像高とに対応する第1の画像回復フィルタを読み出す。そして、読み出した第1の画像回復フィルタを用いて第1の画像回復処理を行う。また、画像処理部104は、第2の画像回復処理を行う際には、記憶部108から、撮像時におけるFナンバー(絞り値)に対応する第2の画像回復フィルタを読み出して、該第2の画像回復フィルタを用いて第2の画像回復処理を行う。
画像処理部104は、状態検知部107から撮像光学系101の絞り状態(Fナンバー)、変倍状態(焦点距離)および焦点調節状態(撮像距離)等の状態を示す撮像条件の情報を得る。状態検知部107は、撮像条件の情報を、システムコントローラ110からの指令に応じて撮像光学系101を制御する光学系制御部106から得てもよいし、交換レンズとの通信により撮像条件の情報を受け取るシステムコントローラ110から得てもよい。
画像処理部104において第1または第2の画像回復処理により生成された回復画像は、記録媒体109に記録用フォーマットで保存される。また、回復画像は、表示部105に、表示される。
システムコントローラ110は、CPU等のコンピュータにより構成され、撮像素子102の駆動や画像処理部104による処理を制御する。また、システムコントローラ110は、光学系制御部106を通じて撮像光学系101の絞り101a、不図示の変倍レンズおよびフォーカスレンズ101bの駆動を制御する。
撮像光学系において、絞り101aは、その開口径を増減させることで撮像光学系101のFナンバーを変化させる。変倍レンズは、光軸方向に移動して撮像光学系101の焦点距離を変化させる。フォーカスレンズ101bは、光軸方向に移動して撮像光学系101の被写体に対する焦点調節を行う。
システムコントローラ110は、撮像素子102またはA/Dコンバータ103から得られる撮像信号または画像処理部104にて生成された撮像画像の信号を用いて撮像光学系101の焦点状態を検出する。そして、該検出した焦点状態に基づいて、撮像光学系101が被写体に対して合焦状態となるようにフォーカスレンズ101bの駆動を制御することでオートフォーカスを行う。
撮像光学系101は、ローパスフィルタや赤外線カットフィルタ等の光学フィルタを備えていてもよい。ただし、これらの光学フィルタが撮像光学系のOTFに影響を与える場合には、第1の画像回復フィルタを生成する際に該光学フィルタを考慮する必要がある。例えば、赤外カットフィルタは、RGBチャンネルのうちRチャンネルのPSFに影響するため、第1の画像回復フィルタを生成する際に作成する時点での考慮が必要になる。
図2には、画像処理部104における画像回復処理に関わる構成と記憶部108で保持されているデータ(ここでは、第1および第2の画像回復フィルタのデータテーブル)とを示している。記憶部108は、上述した複数の第1の交換レンズに対して用意されたレンズ別画像回復フィルタテーブル301を保持している。レンズ別画像回復フィルタテーブル301は、個々の第1の交換レンズに対する撮像条件(Fナンバー、焦点距離および撮像距離等)の複数の組み合わせおよび複数の像高のそれぞれに対応する複数の第1の画像回復フィルタの集合である。以下の説明において、第1の画像回復フィルタをレンズ別画像回復フィルタともいい、第1の画像回復処理をレンズ別画像回復処理ともいう。
図4(a)には、レンズ別画像回復フィルタテーブル301において像高ごとに保持されているレンズ別画像回復フィルタの例を示している。レンズ別画像回復フィルタは、入力画像(撮像画面)を上下方向と左右方向にそれぞれ2分割ずつして得られる4つの領域のうち1つの領域(以下、1/4領域という)内において離散的に選択された複数の像高に対して保持されている。レンズ別画像回復処理においては、図4(b)に示すように、1/4領域に保持されたレンズ別画像回復フィルタの集合を、左右および上下方向にそれぞれ対称移動させる。これにより、1/4領域以外の3つの領域における離散的な像高に対応したレンズ別画像回復フィルタも得ることができる。さらに、レンズ別画像回復フィルタが保持されていない像高においては、その周辺の複数の像高に対して保持された複数のレンズ別画像回復フィルタを用いた補間処理を行うことでレンズ別画像回復フィルタを生成することができる。
このようにして入力画像の全体の像高ごとに取得されるレンズ別画像回復フィルタを用いたレンズ別画像回復処理を入力画像に対して行うことで、該入力画像の全体における第1の劣化成分と第2の劣化成分を良好に補正することができる。
また、図2に示すように、記憶部108は、上述した複数の第2の交換レンズに対して用意されたレンズ共通画像回復フィルタテーブル401を保持している。レンズ共通画像回復フィルタテーブル401は、複数の第2の交換レンズに対して共通に、かつ複数の像高に対して共通に用いられるフィルタであって、複数のFナンバーのそれぞれに対応する複数の第2の画像回復フィルタの集合である。以下の説明において、第2の画像回復フィルタをレンズ共通画像回復フィルタともいい、第2の画像回復処理をレンズ共通画像回復処理ともいう。
レンズ共通画像回復フィルタは、撮像光学系の収差に起因した第1の劣化成分に対する画像回復フィルタではないので、像高に依存しない。また、レンズ共通画像回復フィルタが対応する第2の劣化成分の1つである絞りによる回折に起因する劣化は、Fナンバーに依存し、他の第2の劣化成分はカメラのローパスフィルタや撮像素子の開口特性に依存する。このため、レンズ共通画像回復フィルタを第2の交換レンズごとに用意したり、像高ごとに用意したりする必要はなく、Fナンバーごとに用意すれば足りる。したがって、レンズ共通画像回復フィルタを記憶部108に保持しても保持データ量が大幅に増加するようなことはない。しかも、レンズ共通画像回復フィルタを用いたレンズ共通画像回復処理は、像高ごとのレンズ別画像回復フィルタを用いるレンズ別画像回復処理に比べて使用する画像回復フィルタ数が圧倒的に少ない。このため、レンズ共通画像回復処理では、レンズ別画像回復処理に比べて処理負荷が小さく、かつ処理時間も短い。
このようにして入力画像の全体の像高に対して1つ取得されるレンズ共通画像回復フィルタを用いたレンズ共通画像回復処理を入力画像に対して行うことで、該入力画像の全体における第2の劣化成分を良好に補正することができる。なお、上述したように、レンズ共通画像回復処理による第2の劣化成分の補正によって結果的に第1の劣化成分が多少補正されても(レンズ共通画像回復フィルタがレンズ別画像回復フィルタより低い第1の劣化成分に対する画像回復作用を有していても)よい。
画像処理部104は、入力画像に対するレンズ別またはレンズ共通画像回復フィルタのコンボリューション(畳み込み演算)を行うことでレンズ別またはレンズ共通画像回復処理を行う処理手段としての画像回復部201を有する。また、画像処理部104は、画像回復部201においてレンズ別およびレンズ共通画像回復処理のうちいずれを行うか、つまりはレンズ別およびレンズ共通画像回復フィルタのうち一方を選択する選択手段としての画像回復フィルタ選択部202を有する。画像回復フィルタ選択部202は、レンズ別およびレンズ共通画像回復フィルタのうち選択した画像回復フィルタを記憶部108から読み出して、画像回復部201に使用する画像回復フィルタとして設定する。
図3のフローチャートには、画像回復部201および画像回復フィルタ選択部202(以下、まとめて画像処理部104という)により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。
ステップS1001では、画像処理部104は、システムコントローラ110と状態検知部107から、撮像に使用される(つまりはカメラに装着されている)交換レンズの識別情報(レンズID)やFナンバー、焦点距離、撮像距離等の撮像条件の情報を取得する。本実施例では、ここで取得した撮像条件が撮像画像(入力画像)を取得するための撮像時の撮像条件であるとする。
次に、ステップS1002では、画像処理部104は、ステップS1001で取得したレンズIDに基づいて、撮像に使用される交換レンズ(以下、使用レンズという)に対応するレンズ別画像回復フィルタを記憶部108から取得可能であるか否かを判定する。この判定は、例えば、ステップS1001にて取得したレンズIDが、レンズ別画像回復フィルタを記憶部108にて保持している複数の第1の交換レンズのレンズIDのいずれかと一致するか否かを判定することにより行うことができる。レンズ別画像回復フィルタを記憶部108から取得可能である場合はステップS1003に進み、取得可能でない場合はステップS1004に進む。
ステップS1003では、画像処理部104は、記憶部108から使用レンズの撮像時の撮像条件(の組み合わせ:以下の実施例でも同じ)に対応する像高ごとのレンズ別画像回復フィルタを取得する。そして、ステップS1005に進む。
一方、ステップS1004では、画像処理部104は、記憶部108から、撮像時のFナンバーに対応するレンズ共通画像回復フィルタを取得する。そして、ステップS1005に進む。
ステップS1005では、画像処理部104は、ステップS1003で取得したレンズ別画像回復フィルタまたはステップS1004で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行い、回復画像を生成する。
本実施例におけるレンズ別およびレンズ共通画像回復処理の効果を図5を用いて説明する。図5(a)〜(c)は、入力画像および回復画像内のエッジ部の輝度分布を示している。横軸は入力画像内での座標(位置)を示し、縦軸は輝度を示している。図5(a)は、第1および第2の劣化成分を含む入力画像(劣化画像)においてぼけたエッジ部の輝度分布を示している。図5(b)はレンズ別画像回復処理により第1および第2の劣化成分が補正されることでぼけが解消され、画質が向上した回復画像のエッジ部の輝度分布を示している。また、図5(c)は、レンズ共通画像回復処理により第2の劣化成分が補正されることで、許容される範囲のぼけが残存した回復画像のエッジ部の輝度分布を示している。図5(c)の回復画像では、第1の劣化成分が残存しているために画質の向上度合いは図5(b)の回復画像に比べて低いものの、図5(a)の入力画像に比べてぼけは解消しており、確実に画質は向上している。
本実施例によれば、記憶部108にて保持すべきデータ量の増大を抑えつつ、レンズ別画像回復フィルタを取得できない交換レンズを含む様々な交換レンズを使用する場合において良好な画像回復処理を行うことができる。
実施例1では、図2を用いて記憶部108にレンズ別およびレンズ共通画像回復フィルタを保持する場合について説明した。これに対して、本実施例では、記憶部に、レンズ別画像回復フィルタの生成に用いられるレンズ別OTFデータと、レンズ共通画像回復フィルタの生成に用いられるレンズ共通OTFデータとを保持させる。
図6には、本実施例において画像処理部104Aにおける画像回復処理に関わる構成と記憶部108Aで保持されているデータ(ここではレンズ別およびレンズ共通OTFデータのデータテーブル)とを示している。記憶部108Aは、上述した複数の第1の交換レンズに対して用意されたレンズ別OTFデータテーブル501を保持している。レンズ別OTFデータテーブル301は、個々の第1の交換レンズに対する撮像条件(Fナンバー、焦点距離および撮像距離等)の複数の組み合わせおよび複数の像高のそれぞれに対応する複数のレンズ別OTFデータの集合である。レンズ別OTFデータは、第1の劣化成分に対応するOTFのデータと第2の劣化成分をOTFに換算したOTF換算データとを組み合わせた複合OTFデータである。
図8(a)には、レンズ別OTFフィルタテーブル501において像高ごとに保持されているレンズ別OTFデータの例を示している。レンズ別OTFデータは、入力画像(撮像画面)の中心から1つの放射方向に離散的に選択された複数の像高に対して保持されている。レンズ別画像回復処理においては、図8(b)に示すように、この放射方向に保持されたレンズ別OTFデータの集合を、入力画像の中心回りに回転させる。これにより、入力画像の全体における離散的な像高に対応したレンズ別OTFデータを得ることができる。さらに、レンズ別OTFデータが保持されていない像高においては、その周辺の複数の像高に対して保持された複数のレンズ別OTFデータを用いた補間処理を行うことでレンズ別OTFデータを生成することができる。
このようにして入力画像の全体の像高ごとに取得されるレンズ別OTFデータを用いることで、入力画像の全体に対する像高ごとのレンズ別画像回復フィルタを生成できる。そして、これらレンズ別画像回復フィルタを用いたレンズ別画像回復処理を入力画像に対して行うことで、該入力画像の全体における第1の劣化成分と第2の劣化成分を良好に補正することができる。また、画像中心から1放射方向に離散的に保持したOTFデータを回転させて画像全体のOTFデータを生成することで、実施例1の図4(a)に示したように1/4領域に離散的に画像回復フィルタを保持する場合に比べて保持データ量を削減することができる。
なお、特許文献1に開示された方法を利用して、撮像条件に対応するレンズ別OTFデータを記憶部108に保持させ、該レンズ別OTFデータから像高に応じたレンズ別画像回復フィルタを生成するようにしてもよい。
また、記憶部108Aは、上述した複数の第2の交換レンズに対して用意されたレンズ共通OTFデータテーブル601を保持している。レンズ共通OTFデータテーブル601は、複数の第2の交換レンズに対して共通に、かつ複数の像高に対して共通に用いられるデータであって、複数のFナンバーのそれぞれに対応する複数のレンズ共通OTFデータの集合である。レンズ共通OTFデータは、第2の劣化成分をOTFに換算したOTF換算データである。
レンズ共通OTFデータから生成されるレンズ共通画像回復フィルタは、実施例1でも説明したように撮像光学系の収差に起因した第1の劣化成分に対する画像回復フィルタではないので、像高に依存しない。また、レンズ共通画像回復フィルタが対応する第2の劣化成分の1つである絞りによる回折に起因する劣化は、Fナンバーに依存し、他の第2の劣化成分はカメラのローパスフィルタや撮像素子の開口特性に依存する。このため、レンズ共通画像回復フィルタを生成するためのレンズ共通OTFデータを第2の交換レンズごとに用意したり、像高ごとに用意したりする必要はなく、Fナンバーごとに用意すれば足りる。したがって、レンズ共通OTFデータを記憶部108Aに保持しても保持データ量が大幅に増加するようなことはない。しかも、レンズ共通画像回復フィルタを用いたレンズ共通画像回復処理は、像高ごとのレンズ別画像回復フィルタを用いるレンズ別画像回復処理に比べて使用する画像回復フィルタ数が圧倒的に少ない。このため、レンズ共通画像回復処理では、レンズ共通OTFデータからのレンズ共通画像回復フィルタの生成を含めても、レンズ別画像回復処理に比べて処理負荷が小さく、かつ処理時間も短い。
画像処理部104Aは、入力画像に対するレンズ別またはレンズ共通画像回復フィルタのコンボリューションを行うことでレンズ別またはレンズ共通画像回復処理を行う画像回復部201を有する。また、画像処理部104Aは、画像回復部201においてレンズ別およびレンズ共通画像回復処理のうちいずれを行うか、つまりはレンズ別およびレンズ共通OTFデータのうち一方を選択する選択手段としてのOTFデータ選択部203を有する。さらに、画像回復処理部104Aは、レンズ別およびレンズ共通OTFデータのうち選択されたOTFデータを記憶部108Aから読み出して、レンズ別またはレンズ共通画像回復フィルタを生成する画像回復フィルタ生成部204を有する。画像回復フィルタ生成部204は、生成したレンズ別またはレンズ共通画像回復フィルタを、画像回復部201に使用する画像回復フィルタとして設定する。
図7のフローチャートには、画像回復部201、OTFデータ選択部203および画像回復フィルタ生成部204(以下、まとめて画像処理部104Aという)により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104Aは、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104Aおよび記憶部108A以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS2001では、画像処理部104Aは、システムコントローラ110と状態検知部107から、使用レンズのレンズIDやFナンバー、焦点距離、撮像距離等の撮像条件の情報を取得する。本実施例でも、ここで取得した撮像条件が撮像画像(入力画像)を取得するための撮像時の撮像条件であるとする。
次に、ステップS2002では、画像処理部104Aは、ステップS2001で取得したレンズIDに基づいて、使用レンズに対応するレンズ別OTFデータを記憶部108Aから取得可能であるか否かを判定する。この判定は、例えば、ステップS2001にて取得したレンズIDが、レンズ別OTFデータを記憶部108Aにて保持している複数の第1の交換レンズのレンズIDのいずれかと一致するか否かを判定することにより行うことができる。レンズ別OTFデータを記憶部108Aから取得可能である場合はステップS2003に進み、取得可能でない場合はステップS2004に進む。
ステップS2003では、画像処理部104Aは、記憶部108Aから使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS2005に進む。
一方、ステップS2004では、画像処理部104Aは、記憶部108Aから、撮像時のFナンバーに対応するレンズ共通OTFデータを取得する。そして、ステップS2005に進む。
ステップS2005では、画像処理部104Aは、ステップS2003で取得したレンズ別OTFデータまたはステップS2004で取得したレンズ共通OTFデータからレンズ別画像回復フィルタまたはレンズ共通画像回復フィルタを生成する。
そして、ステップS2006において、画像処理部104Aは、ステップS2005で生成したレンズ別またはレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
本実施例によれば、記憶部108Aにて保持すべきデータ量の増大を抑えつつ、レンズ別OTFデータを取得できない交換レンズを含む様々な交換レンズを使用する場合において良好な画像回復処理を行うことができる。
実施例1,2ではそれぞれ、記憶部108,108Aにて保持するデータが画像回復フィルタのみおよびOTFデータのみの場合について説明した。これに対して、本実施例では、記憶部に、画像回復フィルタおよびOTFデータの両方を保持させる。
図9には、本実施例において画像処理部104Bにおける画像回復処理に関わる構成と記憶部108Bで保持されているデータ(ここではレンズ別OTFデータおよびレンズ共通画像回復フィルタのデータテーブル)とを示している。記憶部108Bは、実施例2と同様に、複数の第1の交換レンズに対して用意されたレンズ別OTFデータテーブル501を保持している。また、記憶部108Bは、実施例1と同様に、複数の第2の交換レンズに対して用意されたレンズ共通画像回復フィルタテーブル401を保持している。
画像処理部104Bは、入力画像に対するレンズ別またはレンズ共通画像回復フィルタのコンボリューションを行うことでレンズ別またはレンズ共通画像回復処理を行う画像回復部201を有する。また、画像処理部104Bは、レンズ別OTFデータおよびレンズ共通画像回復フィルタのうち一方を選択するOTFデータ選択部203および画像回復フィルタ選択部202を有する。さらに、画像回復処理部104Bは、レンズ別OTFデータを記憶部108Bから読み出して、レンズ別画像回復フィルタを生成する画像回復フィルタ生成部204を有する。画像回復フィルタ生成部204および画像回復フィルタ選択部202は、生成したレンズ別画像回復フィルタまたは選択したレンズ共通画像回復フィルタを、画像回復部201に使用する画像回復フィルタとして設定する。
図10のフローチャートには、画像回復部201、画像回復フィルタ選択部202、OTFデータ選択部203および画像回復フィルタ生成部204(以下、まとめて画像処理部104Bという)により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104Bは、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104Bおよび記憶部108B以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS3001では、画像処理部104Bは、システムコントローラ110と状態検知部107から、使用レンズのレンズIDやFナンバー、焦点距離、撮像距離等の撮像条件の情報を取得する。本実施例でも、ここで取得した撮像条件が撮像画像(入力画像)を取得するための撮像時の撮像条件であるとする。
次に、ステップS3002では、画像処理部104Bは、ステップS3001で取得したレンズIDに基づいて、使用レンズに対応するレンズ別OTFデータを記憶部108Aから取得可能であるか否かを判定する。この判定は、例えば、ステップS3001にて取得したレンズIDが、レンズ別OTFデータを記憶部108Bにて保持している複数の第1の交換レンズのレンズIDのいずれかと一致するか否かを判定することにより行うことができる。レンズ別OTFデータを記憶部108Bから取得可能である場合はステップS3003に進み、取得可能でない場合はステップS3004に進む。
ステップS3003では、画像処理部104Bは、記憶部108Bから使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS3005に進む。
一方、ステップS3004では、画像処理部104Bは、記憶部108Bから、撮像時のFナンバーに対応するレンズ共通画像回復フィルタを取得する。そして、ステップS3006に進む。
ステップS3005では、画像処理部104Bは、ステップS3003で取得したレンズ別OTFデータからレンズ別画像回復フィルタを生成する。
そして、ステップS3006において、画像処理部104Bは、ステップS3005で生成したレンズ別画像回復フィルタまたはステップS3004で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
本実施例によれば、記憶部108Bにて保持すべきデータ量の増大を抑えつつ、レンズ別OTFデータを取得できない交換レンズを含む様々な交換レンズを使用する場合において良好な画像回復処理を行うことができる。特に、交換レンズごとに記憶部108Bに保持させるとデータ量が大きくなるレンズ別画像回復フィルタに代えてレンズ別OTFデータを記憶部108Bに保持させるので、実施例1に比べて記憶部108Bにて保持すべきデータ量を削減することができる。
実施例1〜3ではレンズ別画像回復フィルタまたはレンズ別OTFデータの取得の可否に応じてレンズ別画像回復処理とレンズ共通画像回復処理のうち一方を選択する場合について説明した。これに対して本実施例では、レンズIDや撮像時の撮像条件の取得の可否に応じてレンズ別画像回復処理とレンズ共通画像回復処理を選択する。交換レンズには、レンズIDや、Fナンバー、焦点距離および撮像距離等の撮像条件をカメラに対して出力することができないものがある。例えば、カメラとの通信機能を有さず、手動によってFナンバー等を調整するタイプの交換レンズである。
なお、本実施例で行うレンズIDや撮像条件の取得の可否判定は、結局は、実施例1〜3のようにレンズ別画像回復フィルタまたはレンズ別OTFデータの取得の可否判定を行うことに相当する。レンズIDや撮像条件を取得できなければレンズ別画像回復フィルタやレンズ別OTFデータを取得できないからである。
本実施例では、図2に示した記憶部108のレンズ共通画像回復フィルタテーブル401に、第2の劣化成分のうちカメラのローパスフィルタおよび撮像素子102の開口特性に起因した劣化成分のみを補正する1つのレンズ共通画像回復フィルタを保持させる。このレンズ共通画像回復フィルタでは、絞り101aでの回折に起因する劣化成分を補正することはできないが、上記ローパスフィルタと撮像素子の開口特性に起因する劣化成分は補正できる。
図11のフローチャートには、本実施例における画像処理部(実施例1の画像処理部104と同様に画像回復部201および画像回復フィルタ選択部202を含み、以下、符号104′を付す)により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104′は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、記憶部としては、実施例1の記憶部108と同様にレンズ別画像回復フィルタとレンズ共通画像回復フィルタを保持するが、レンズ共通画像回復フィルタとしてはFナンバーに依存しない1つのフィルタを保持した記憶部(符号108′を付す)を用いる。
ステップS4001では、画像処理部104′は、システムコントローラ110および状態検知部107に対して、使用レンズのレンズIDやFナンバー、焦点距離、撮像距離等の撮像条件の情報を要求する。
次に、ステップS4002では、画像処理部104′は、使用レンズのレンズIDや撮像条件の情報を取得できたか否かを判定する。取得できた場合はステップS4003に進み、取得できなかった場合はステップS4004に進む。
ステップS4003では、画像処理部104′は、記憶部108′から使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別画像回復フィルタを取得する。そして、ステップS4005に進む。
一方、ステップS4004では、画像処理部104′は、記憶部108′からレンズ共通画像回復フィルタを取得する。そして、ステップS4005に進む。
ステップS4005では、画像処理部104′は、ステップS4003で取得したレンズ別画像回復フィルタまたはステップS4004で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行い、回復画像を生成する。
本実施例によれば、記憶部108′にて保持すべきデータ量の増大を抑えつつ、レンズIDや撮像条件を取得できない交換レンズを含む様々な交換レンズを使用する場合において良好な画像回復処理を行うことができる。
以上の実施例1〜4では、レンズ別画像回復フィルタまたはレンズ別OTFデータの取得の可否(レンズIDや撮像条件の取得の可否)に応じてレンズ別画像回復処理とレンズ共通画像回復処理のうち一方を選択する場合について説明した。これに対して、以下の実施例5〜8では、カメラ(撮像装置)の状態または交換レンズ(撮像光学系)の状態に応じてレンズ別画像回復処理とレンズ共通画像回復処理のうち一方を選択する場合について説明する。
カメラの状態としては、1回の撮像指示(レリーズスイッチの1回オン操作)に対して単写撮像を行う単写モード(第1の状態)と、1回の連続した撮像指示に対して連写撮像を行う連写モード(第2の状態)とがある。実施例5では、撮像モードが単写モードか連写モードかに応じてレンズ別画像回復処理を行うかレンズ共通画像回復処理を行うかを選択する。
カメラおよび交換レンズの基本的な構成は実施例1で図1を用いて説明した構成と同じである。ただし、図1中の画像処理部104および記憶部108に代えて、実施例3で図9を用いて説明した画像処理部104Bと同様の構成を有する画像処理部(以下、符号104B′を付す)と、同図に示した記憶部108Bとを有する。このことは、後述実施例6および実施例8についても同じである。
連写モードでは、連続した複数回の撮像の進行とともにA/Dコンバータ103から順次出力される撮像信号(処理前画像)が画像処理部104B′内の不図示のバッファメモリに格納(蓄積)される。画像処理部104B′は、バッファメモリから読み出した処理前画像に対して上述した一般画像処理を行って撮像画像を生成し、さらにこの撮像画像に対して画像回復処理を行う。この際、画像処理部104B′は、前コマの撮像画像に対する画像回復処理が終了してから、バッファメモリから次コマの処理前画像を読み出し、この次コマの処理前画像に対する一般画像処理を開始する。このため、各コマの撮像画像に対する画像回復処理に要する時間が長くなると、バッファメモリに蓄積される処理前画像のデータが多くなる。この結果、バッファメモリの空き容量が少なくなったり無くなったりすると、自動的に連写速度が減少されるか連写撮像が停止される。連写撮像の開始から停止までに撮像可能なコマ数をここでは連写可能コマ数という。
実施例2,3で説明したように、記憶部108A,108Bにレンズ別画像回復フィルタより少数のレンズ別OTFデータを保持させることで、記憶部が保持するデータ量を削減できる。しかし、例えば移動する被写体を連写撮像するような場合には、1コマ撮像ごとに撮像条件が変化する。このような場合、画像処理部104B′は、1コマ撮像ごとにそのときの撮像条件に対応するレンズ別OTFデータからレンズ別画像回復フィルタを生成し、その後に該コマ撮像により得られた撮像画像に対してレンズ別画像回復処理を行う。このため、各コマの撮像画像に対するレンズ別画像回復処理が終了するまでの時間が長くなる。この結果、画像処理部104B′の処理速度(つまりはハードウェアとしての処理性能)を向上させなければ、上述したように連写速度の低下や連写撮像の停止を招き、連写可能コマ数が少なくなる。
図12には、連写撮像における撮像処理と画像処理のタイミングを示している。ここでの撮像処理は、撮像素子102によって被写体像が撮像(光電変換)され、撮像素子102から出力されてA/Dコンバータ103を経た撮像信号としての処理前画像が画像処理部104B′のバッファメモリに格納されるまでの処理である。また、ここでの画像処理は、画像処理部104B′が行う一般画像処理と画像回復処理を含み、記録媒体109に記録可能な回復画像が生成されるまでの処理である。
図12(a)には、連写撮像における複数回の撮影処理のタイミングを示している。各撮影処理により生成される処理前画像を画像1〜4で示している。図12(b)には、各撮像処理の後に開始する画像処理において、レンズ別OTFデータからレンズ別画像回復フィルタを生成してレンズ別画像回復処理を行う場合の画像処理のタイミングを示している。図12(b)では、前の撮像処理の後に開始した画像処理の終了が次の撮像処理の開始が間に合っていない。このような場合、バッファメモリに処理前画像のデータが蓄積されていき、連写可能コマ数が低下する。本実施例では、このように画像処理に要する時間が長くなることによる連写撮像に対する影響を回避する。
図13のフローチャートには、画像処理部104B′により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104B′は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104B′および記憶部108B以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS5001では、画像処理部104B′は、カメラの撮像モードが単写モードか連写モードかを示す撮像モード情報をシステムコントローラ110から取得する。
次に、ステップS5002では、画像処理部104B′は、使用レンズのレンズIDや撮像条件の情報を取得する。
次に、ステップS5003では、画像処理部104B′は、ステップS5001で取得した撮像モード情報から現在の撮像モードが単写モードか連写モードかを判定する。単写モードである場合はステップS5004に進み、連写モードである場合はステップS5005に進む。
ステップS5004では、画像処理部104B′は、記憶部108Bから使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS5006に進む。
一方、ステップS5005では、画像処理部104B′は、記憶部108Bから、撮像時のFナンバーに対応するレンズ共通画像回復フィルタを取得する。そして、ステップS5007に進む。
ステップS5006では、画像処理部104B′は、ステップS5004で取得したレンズ別OTFデータを用いてレンズ別画像回復フィルタを生成する。そして、ステップS5007に進む。
ステップS5007では、画像処理部104B′は、ステップS5006で生成したレンズ別画像回復フィルタまたはステップS5005で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
このように本実施例では、高速な画像処理が要求される連写撮像時においては、使用レンズ、Fナンバー以外の撮像条件および像高によらず同じ、かつ既に生成済みのレンズ共通画像回復フィルタを用いるレンズ共通画像回復処理を行う。これにより、使用レンズ、撮像条件および像高によって異なるレンズ別画像回復フィルタをレンズ別OTFデータから生成してレンズ別画像回復処理を行う場合に比べて、画像回復処理(を含む画像処理)に必要な時間を短くすることができる。この結果、画像回復処理に要する時間の影響によって連写速度が減少されたり連写撮像が停止されたりして連写可能コマ数が少なくなることを回避しながらも、第2の劣化成分が補正された良好な画質の回復画像を生成することができる。
図12(c)には、図13のフローチャートに従って本実施例における画像回復処理が行われる場合の画像処理のタイミングを示している。この場合、図12(a)に示した前の撮像処理の後に開始した画像処理が次の撮像処理の開始前に終了している。このため、画像回復処理を行うことによって連写速度が減少されたり連写撮像が停止されたりすることはない。
一方、単写撮像では、第1および第2の劣化成分が補正されたより良好な画質の回復画像を生成することができる。
以上説明したように、本実施例によれば、記憶部108Bにて保持すべきデータ量の増大を抑えつつ、画像回復処理を行うことの連写撮像に対する影響を少なくし、しかも連写撮像および単写撮像における画質を向上させることができる。さらに、画像処理部104B′を構成するハードウェアの処理性能を向上させなくてもこの効果が得られるので、カメラのコスト増加を防止することもできる。
なお、本実施例では、図9に示すようにレンズ別OTFデータとレンズ共通画像回復フィルタを保持する記憶部108Bを用いる場合について説明した。しかし、図2に示すようにレンズ別画像回復フィルタとレンズ共通画像回復フィルタを保持する記憶部108や、図6に示すようにレンズ別OTFデータとレンズ共通OTFデータを保持する記憶部108Aを用いてもよい。連写撮像のように画像回復処理に要する時間を短くする必要がある場合において使用レンズ、Fナンバー以外の撮像条件および像高に依存しないレンズ共通画像回復フィルタまたはレンズ共通OTFデータを用いる限り、本実施例と同様の作用効果が得られる。このことは、後述する実施例6〜8においても同じである。
カメラの状態としては、記録用画像である静止画を生成(取得)するための撮像を行う静止画撮像状態(第1の状態)と、観察用画像であるライブビュー画像を生成するための撮像を行うライブビュー撮像状態(第2の状態)とがある。実施例6では、撮像状態が静止画撮像状態かライブビュー撮像状態かに応じてレンズ別画像回復処理を行うかレンズ共通画像回復処理を行うかを選択する。
ライブビュー画像は、記録媒体109には記録されないが、静止画撮像のために被写体の様子をリアルタイムで表示部105に表示するための動画である。このライブビュー画像の各フレームに対する画像処理の時間が長くなると、画像処理後の各フレームの表示タイミングが遅延し、ライブビュー画像のリアルタイム性が損なわれる。本実施例では、このような画像処理に要する時間が長くなることによるライブビュー画像に対する影響を回避する。
図14のフローチャートには、画像処理部104B′により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104B′は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104B′および記憶部108B以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS6001では、画像処理部104B′は、カメラの撮像状態が静止画撮像状態かライブビュー撮像状態かを示す撮像種別情報をシステムコントローラ110から取得する。
次に、ステップS6002では、画像処理部104B′は、使用レンズのレンズIDや撮像条件の情報を取得する。
次に、ステップS6003では、画像処理部104B′は、ステップS6001で取得した撮像種別情報から現在のカメラが静止画撮像状態かライブビュー撮像状態かを判定する。静止画撮像状態である場合はステップS6004に進み、ライブビュー撮像状態である場合はステップS6005に進む。
ステップS6004では、画像処理部104B′は、記憶部108Bから使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS6006に進む。
一方、ステップS6005では、画像処理部104B′は、記憶部108Bから、撮像時のFナンバーに対応するレンズ共通画像回復フィルタを取得する。そして、ステップS6007に進む。
ステップS6006では、画像処理部104B′は、ステップS6004で取得したレンズ別OTFデータを用いてレンズ別画像回復フィルタを生成する。そして、ステップS6007に進む。
ステップS6007では、画像処理部104B′は、ステップS6006で生成したレンズ別画像回復フィルタまたはステップS6005で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
このように本実施例では、高速な画像処理が要求されるライブビュー撮像状態においては、使用レンズ、Fナンバー以外の撮像条件および像高によらず同じ、かつ既に生成済みのレンズ共通画像回復フィルタを用いるレンズ共通画像回復処理を行う。これにより、使用レンズ、撮像条件および像高によって異なるレンズ別画像回復フィルタをレンズ別OTFデータから生成してレンズ別画像回復処理を行う場合に比べて、画像回復処理(を含む画像処理)に必要な時間を短くすることができる。この結果、画像回復処理に要する時間の影響によってライブビュー画像のリアルタイム性が損なわれることを回避しながらも、第2の劣化成分が補正された良好な画質のライブビュー画像(回復画像)を生成することができる。
一方、静止画撮像状態では、第1および第2の劣化成分が補正されたより良好な画質の記録用画像(静止画)を生成することができる。
以上説明したように、本実施例によれば、記憶部108Bにて保持すべきデータ量の増大を抑えつつ、画像回復処理を行うことのライブビュー画像に対する影響を少なくし、しかもライブビュー画像および記録用静止画の画質を向上させることができる。さらに、画像処理部104B′を構成するハードウェアの処理性能を向上させなくてもこの効果が得られるので、カメラのコスト増加を防止することもできる。
カメラの状態としては、記録用画像である静止画を生成するための撮像を行う静止画記録状態(第1の状態)と、同じく記録用画像である動画を生成するための撮像を行う動画撮像状態(第2の状態)とがある。実施例7では、撮像状態が静止画撮像状態か動画撮像状態かに応じてレンズ別画像回復処理を行うかレンズ共通画像回復処理を行うかを選択する。
記録用画像が動画である場合も、実施例6にて説明したライブビュー画像と同様にリアルタイム性が必要である。このため、本実施例では、動画撮像状態においてはレンズ共通画像回復処理を行う。一方、記録用動画は、同じ動画であるライブビュー画像とは異なり、それ自体が記録されるので、ライブビュー画像よりも画質の安定性が要求される。
しかし、カメラからのFナンバーの指示に対する使用レンズにおける絞り101aの制御に遅延があったり、カメラから指示されるFナンバーの分解能と使用レンズにおいて制御可能なFナンバーの分解能とが異なったりする場合がある。このような場合、動画のフレームの撮像時の実際のFナンバーと該フレームに対する画像回復処理のために撮像時の撮像条件として取得されたFナンバーとが異なるおそれがある。この結果、実際のFナンバー(つまりは絞り101aによる回折の状態)とは異なるFナンバーに対応するレンズ共通画像回復処理が行われ、画質の安定性が損なわれる可能性がある。
このため、本実施例では、動画に対するレンズ共通画像回復処理を、実施例4と同様に、第2の劣化成分のうちカメラのローパスフィルタおよび撮像素子102の開口特性に起因した劣化成分のみを補正する1つのレンズ共通画像回復フィルタを用いて行う。すなわち、Fナンバーに依存しないレンズ共通画像回復処理を行う。このため、本実施例では、記憶部(以下、符号108″を付す)に、実施例5,6と同様のレンズ別OTFを保持するとともに、Fナンバーに依存しないレンズ共通画像回復フィルタを保持する。
図15のフローチャートには、本実施例において画像処理部(以下、符号104″を付す)にて行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104″は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104″および記憶部108″以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS7001では、画像処理部104″は、カメラの撮像状態が静止画撮像状態か動画撮像状態かを示す撮像種別情報をシステムコントローラ110から取得する。
次に、ステップS7002では、画像処理部104″は、使用レンズのレンズIDや撮像条件の情報を取得する。
次に、ステップS7003では、画像処理部104″は、ステップS7001で取得した撮像種別情報から現在のカメラが静止画撮像状態か動画撮像状態かを判定する。静止画撮像状態である場合はステップS7004に進み、動画撮像状態である場合はステップS7005に進む。
ステップS7004では、画像処理部104″は、記憶部108″から使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS7006に進む。
一方、ステップS7005では、画像処理部104″は、記憶部108″から、レンズ共通画像回復フィルタを取得する。そして、ステップS7007に進む。
ステップS7006では、画像処理部104″は、ステップS7004で取得したレンズ別OTFデータを用いてレンズ別画像回復フィルタを生成する。そして、ステップS7007に進む。
ステップS7007では、画像処理部104″は、ステップS7006で生成したレンズ別画像回復フィルタまたはステップS7005で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
このように本実施例では、高速な画像処理が要求される動画撮像状態においては、使用レンズ、Fナンバーを含む撮像条件および像高によらず同じ、かつ既に生成済みのレンズ共通画像回復フィルタを用いるレンズ共通画像回復処理を行う。これにより、使用レンズ、撮像条件および像高によって異なるレンズ別画像回復フィルタをレンズ別OTFデータから生成してレンズ別画像回復処理を行う場合に比べて、画像回復処理(を含む画像処理)に必要な時間を短くすることができる。この結果、画像回復処理に要する時間の影響によって動画のリアルタイム性が損なわれることを回避しながらも、回折に起因する劣化成分を除く第2の劣化成分が補正された良好な画質のライブビュー画像(回復画像)を生成することができる。また、実際のFナンバーとは異なるFナンバーに対応するレンズ共通画像回復処理が行われて画質の安定性が損なわれることを回避することができる。
一方、静止画撮像状態では、第1および第2の劣化成分が補正されたより良好な画質の記録用画像(静止画)を生成することができる。
以上説明したように、本実施例によれば、記憶部108″にて保持すべきデータ量の増大を抑えつつ、画像回復処理を行うことの記録用動画に対する影響を少なくし、しかも記録用動画および記録用静止画の画質を向上させることができる。さらに、画像処理部104″を構成するハードウェアの処理性能を向上させなくてもこの効果が得られるので、カメラのコスト増加を防止することもできる。
交換レンズ(撮像光学系)の状態として、絞りにより設定されるFナンバー(絞り値)が所定値より小さい開放側状態(第1の状態)と所定値以上である絞り込み状態(第2の状態)とがある。撮像光学系の球面収差、コマ収差、像面湾曲、非点収差等の収差は、開放側状態では大きくなるので、該収差に起因する第1の劣化成分を良好に補正する必要がある。一方、絞り込み状態では上記収差は小さくなるので、第1の劣化成分の補正の必要度は低くなる。ただし、絞り込み状態のうちいわゆる小絞り状態では回折が発生するため、該回折に起因する第2の劣化成分を補正する必要度が高くなる。このため、実施例8では、絞り状態が開放側状態か絞り込み状態か(Fナンバーが所定値より小さいか否か)に応じてレンズ別画像回復処理を行うかレンズ共通画像回復処理を行うかを選択する。
図16のフローチャートには、画像処理部104B′により行われる画像回復処理の流れを示している。コンピュータにより構成される画像処理部104B′は、コンピュータプログラムである画像処理プログラムに従ってこの処理を実行する。また、ここでの説明において、画像処理部104B′および記憶部108B以外の構成要素は実施例1と共通であるので、実施例1と同符号を付す。
ステップS8001では、画像処理部104B′は、システムコントローラ110と状態検知部107から、使用レンズのレンズIDやFナンバー、焦点距離、撮像距離等の撮像条件の情報を取得する。本実施例でも、ここで取得した撮像条件が撮像画像(入力画像)を取得するための撮像時の撮像条件であるとする。
次に、ステップS8002では、画像処理部104B′は、ステップS8001で取得した使用レンズのFナンバーが所定値としての閾値より小さいか否かを判定する。閾値は、使用レンズの特性に応じて決定される。Fナンバーが閾値より小さい場合はステップS8003に進み、閾値以上である場合(閾値より大きい場合)はステップS8004に進む。
ステップS8003では、画像処理部104B′は、記憶部108Bから使用レンズの撮像時の撮像条件に対応する像高ごとのレンズ別OTFデータを取得する。そして、ステップS8005に進む。
一方、ステップS8004では、画像処理部104B′は、記憶部108Bから、撮像時のFナンバーに対応するレンズ共通画像回復フィルタを取得する。そして、ステップS8006に進む。
ステップS8005では、画像処理部104B′は、ステップS8003で取得したレンズ別OTFデータを用いてレンズ別画像回復フィルタを生成する。そして、ステップS8006に進む。
ステップS8006では、画像処理部104B′は、ステップS8005で生成したレンズ別画像回復フィルタまたはステップS8004で取得したレンズ共通画像回復フィルタを入力画像に対してコンボリューションする。これにより、レンズ別またはレンズ共通画像回復処理を行って回復画像を生成する。
このように本実施例では、絞りの開放側状態は、大きな収差に起因する第1の劣化成分を、使用レンズ、撮像状態および像高に依存するレンズ別画像回復処理によって良好に補正する。一方、絞り込み状態では、回折等に起因する第2の劣化成分をレンズ共通画像回復処理によって良好に補正する。このように、画像処理部104B′の処理負荷が増加するレンズ別画像回復処理は絞りの開放側状態に限定して行うことにより、記憶部108Bにて保持すべきデータ量の増大を抑えつつ、処理の遅延や消費電力の増加の可能性を小さくすることができる。
なお、実施例1〜8で説明したレンズ別およびレンズ共通画像回復処理の選択は、これらをそれぞれ単独で行ってもよいが、これらを組み合わせて行ってもよい。また、カメラの状態および交換レンズ(撮像光学系)の状態は、実施例5〜8にて説明した単写/連写モード、静止画/ライブビュー撮像状態、静止画/動画撮像状態およびFナンバーに限られず、他の状態を含めてもよい。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。