(57)【要約】【課題】複数の露光条件を用いたデコンボリューション演算によって得られる複数のぶれ補正画像に対して画像合成を実施することにより、ぶれ補正後に発生するリンギングを抑制する。【解決手段】露光制御部１０２の制御の下、複数の露光パターンに従って露光期間中に複数の撮像画像を取得し、前記撮影画像におけるぶれ量を検出するぶれ検出手段と、前記ぶれ検出手段によって得られたぶれ量と前記露光パターンに基づいて関数を作成する手段と、前記関数を撮像画像に適用することで複数の補正画像する画像補正手段と、前記複数の補正画像を合成する画像合成手段を有することを特徴とする画像処理装置。【選択図】図１
2011109619.tif 000002
【特許請求の範囲】
【請求項１】
複数の露光パターンに従って被写体を撮影し、前記露光パターンに応じた複数の撮影画像を得る撮影手段と、
前記撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記複数の撮影画像のそれぞれに適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記画像補正手段によって得られた各補正画像間の相対移動量を求める手段と、
前記相対移動量を参照して前記複数の補正画像を位置あわせする位置合わせ手段とを更に有し、
前記画像合成手段は、位置あわせされた前記複数の補正画像を合成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
一定の露光時間および間隔で撮影した複数の撮影画像から、複数の露光パターンに従って複数の画像を選択する画像選択手段と、
前記複数の撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記画像選択手段によって選択された複数の画像を加算合成して複数の合成画像を得る画像加算手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記画像加算手段によって加算合成された前記複数の合成画像に適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段と
を有することを特徴とする画像処理装置。
【請求項４】
前記複数の露光パターンは周期性を持たないランダムパターンであることを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記複数の露光パターンは、相異なる複数の露光パターンを用いて取得した複数の画像から、前記画像補正手段によって得られた補正画像の品質を評価し、評価結果が所定評価値以上の場合における露光パターンであることを特徴とする請求項１乃至４のいずれか一項記載の画像処理装置。
【請求項６】
前記複数の露光パターンは、各露光パターンの周波数特性の応答値が相対的に低い周波数帯に重複が発生しないように定められることを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項７】
前記補正関数は点像ぼけ関数の逆フィルタであることを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記画像補正手段は、デコンボリューションにより補正を行うことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記画像合成手段は、重み付け加算合成を行うことを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
複数の露光パターンに従って被写体を撮影し、前記露光パターンに応じた複数の撮影画像を得る撮影工程と、
ぶれ検出手段によって検出された前記撮影画像のぶれ量と前記露光パターンとに基づいて補正関数を作成する工程と、
前記補正関数を前記複数の撮影画像のそれぞれに適用して複数の補正画像を得る画像補正工程と、
前記複数の補正画像を合成する画像合成工程と
を有することを特徴とする画像処理方法。
【請求項１１】
前記画像補正工程によって得られた各補正画像間の相対移動量を求める工程と、
前記相対移動量を参照して前記複数の補正画像を位置あわせする位置合わせ工程とを更に有し、
前記画像合成工程では、位置あわせされた前記複数の補正画像を合成することを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
一定の露光時間および間隔で撮影した複数の撮影画像から、複数の露光パターンに従って複数の画像を選択する画像選択工程と、
前記画像選択工程によって選択された複数の画像を加算合成して複数の合成画像を得る画像加算工程と、
ぶれ検出手段によって検出された前記撮影画像のぶれ量と前記露光パターンとに基づいて補正関数を作成する工程と、
前記補正関数を前記画像加算工程によって加算合成された前記複数の合成画像に適用して複数の補正画像を得る画像補正工程と、
前記複数の補正画像を合成する画像合成工程と
を有することを特徴とする画像処理方法。
【請求項１３】
複数の露光パターンに従って被写体を撮影し、前記露光パターンに応じた複数の撮影画像を得る撮影手段と、
前記撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記複数の撮影画像のそれぞれに適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段と
してコンピュータを機能させるためのプログラム。
【請求項１４】
前記画像補正手段によって得られた各補正画像間の相対移動量を求める手段と、
前記相対移動量を参照して前記複数の補正画像を位置あわせする位置合わせ手段としてコンピュータを更に機能させるためのプログラムであって、
前記画像合成手段は、位置あわせされた前記複数の補正画像を合成することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
一定の露光時間および間隔で撮影した複数の撮影画像から、複数の露光パターンに従って複数の画像を選択する画像選択手段と、
前記複数の撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記画像選択手段によって選択された複数の画像を加算合成して複数の合成画像を得る画像加算手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記画像加算手段によって加算合成された前記複数の合成画像に適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば撮影装置で取得された画像等のぶれを補正する技術に関する。
【背景技術】
【０００２】
手ぶれ補正機能付きディジタルカメラ等に使用される手ぶれ補正方式として、画像処理によって電子的に補正を行う方式が提案されている。そのひとつとして、一回の撮影機会に、手ぶれが生じない程度の露光時間で撮影した複数画面の画像を取り込み、この複数画面の画像を電子的に位置合わせして重ね合わせ、手ぶれの影響のない画像を生成する方法が提案されている（例えば特許文献１参照）。特許文献１で提案される電子的手ぶれ補正方法ではジャイロセンサや補正のための光学素子等を必要としないため、ディジタルカメラを小型化でき、製造コストを抑えることができるという利点がある。
【０００３】
このほか、１枚の画像取得時における露光時のシャッタの開閉をランダムに実施し、そのシャッタ開閉の情報（露光パターン）を用いたデコンボリューション演算によって、手ぶれ或いは被写体ぶれを補正する技術が提案されている（例えば特許文献２参照）。この技術はＣｏｄｅｄ Ｅｘｐｏｓｕｒｅと呼ばれる。具体的には、特許文献２の技術では、ジャイロセンサなどを用いてぶれの分布を計測し、さらに露光時間とぶれの分布から、画像上の点像のぼけ関数であるＰｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ（以下ＰＳＦ）を推定する。このＰＳＦの周波数特性を算出し、該周波数特性の逆特性となるフィルタ（逆フィルタ）、或いはウィナーフィルタを用いて撮影した画像をフィルタリングすることで好適なぶれ補正が可能である。
【０００４】
ここで、Ｃｏｄｅｄ Ｅｘｐｏｓｕｒｅで使用されるシャッタ開閉の情報を用いデコンボリューション演算によってぶれ補正する手法について説明する。画素位置（ｘ，ｙ）における単位時間当たりの入射光の強度をi（ｘ，ｙ）、ディジタルカメラのぶれ速度をｖ、露光時間をＴとすると、ディジタルカメラには、時刻ｔにi（ｘ，ｙ）をｖＴだけ移動させた情報が入射される。よって、撮像される画像データi_ｂｌｕｒ（ｘ，ｙ）は以下の式で表現できる。
【０００５】
【数１】
2011109619.tif 000003
式（１）において、ｈ（ｔ）は露光条件を表す関数であり、１または０の値を取る関数である。値が１ならばシャッタが開いている状態を示し、０ならばシャッタが閉じている状態を示す。なおこの例では説明を簡単にするため縦方向（ｙ方向）へのぶれが撮影時に発生したものとして説明している。ここで、実空間でのコンボリューション演算は、空間周波数上で積の形式で記述できる。したがって、撮像データの取得過程を表現する式（１）に対して、その両辺をフーリエ変換すると以下の式を得る。
【０００６】
【数２】
2011109619.tif 000004
式（２）において、Ｉ_ｂｌｕｒ（ｕ，ｖ）、Ｉ（ｕ，ｖ）、Ｈ（ｕ）はそれぞれi_ｂｌｕｒ（ｘ，ｙ）、i（ｘ，ｙ）、ｈ（ｔ）のフーリエ変換である。次に、求めたい入射光の強度i（ｘ，ｙ）のフーリエ変換Ｉ（ｕ，ｖ）について式（２）を数式変換すると以下の式を得る。
【０００７】
【数３】
2011109619.tif 000005
式（３）が関数作成部で生成される関数である。式（３）において、露光時間Ｔは既知パラメータであり、撮像装置のぶれ速度ｖは撮像装置に具備されるジャイロセンサから獲得できるとする。Ｉ_ｂｌｕｒ（ｕ，ｖ）、Ｈ（ｕ）は、撮像される画像データi_ｂｌｕｒ（ｘ，ｙ）、露光条件ｈ（ｔ）のフーリエ変換によって得ることが可能であるため、これらの関数も既知となる。したがって、式（３）の演算を実施することで、取得したい画像データi（ｘ，ｙ）のフーリエ変換Ｉ（ｕ，ｖ）を導くことができる。最後に、導出されたＩ（ｕ，ｖ）に対して逆フーリエ変換を施すことで、ぶれを含まない入力データi（ｘ，ｙ）を演算によって求めることが可能となる。以上が、デコンボリューション演算によってぶれ補正する手法である。
【０００８】
式（３）に従い、原理的にはぶれを含む画像からぶれを取り除くことが可能であるが、撮像装置の露光条件によっては、ｈ（ｔ）のフーリエ変換値Ｈ（ｕ）がゼロの値を保持することがある。その場合、式（３）の右辺で、いわゆる「ゼロ割」が発生し、式（３）の解であるＩ（ｕ，ｖ）を正しく求めることができず、撮像画像におけるぶれ補正が不十分となる。以下、「ゼロ割」が原因で、ぶれ補正が不十分となる場合の一例について説明する。
【０００９】
図２７（Ａ）には、通常の露光条件を例示した。ｈ（ｔ）＝１はシャッタが開いている状態を表し、ｈ（ｔ）＝０はシャッタが閉じている状態を表すものとする。図２７（Ａ）で示される露光条件を数式で表現すると以下の通りである。
ｈ（ｔ）＝１  （０≦ｔ≦Ｔ）
ｈ（ｔ）＝０  （上記以外の場合）。
【００１０】
図２７（Ｂ）には、図２７（Ａ）で示される露光条件ｈ（ｔ）をフーリエ変換し、その強度を周波数毎にプロットした。これが、前述のデコンボリューションで用いる画像上の点像ぼけ関数ＰＳＦである。図２７（Ｂ）より、ＰＳＦの強度が周期的に０となる周波数が出現していることが確認できる。これは、その周波数に該当する情報が画像取得時に失われてしまっていることを示している。このような事態が生じるとデコンボリューション後の画像において、不要な波形模様（リンギング）が補正画像に現れてしまい、画像劣化を誘発することが知られている。
【００１１】
このような画像劣化を防ぐために、１枚の撮影時間内でシャッタの開閉をランダムに行い、露光条件ｈ（ｔ）のＰＳＦの周波数特性が非ゼロの値で構成されるように設定する。図２８（Ａ）には、シャッタ開閉をランダムに実施した場合の露光条件を示した。図２８（Ｂ）には、図２８（Ａ）で示される露光条件ｈ（ｔ）をフーリエ変換し、その強度を周波数毎にプロットした。図２８（Ａ）から全周波数で非ゼロの値によってＰＳＦが形成されていることが分かる。この場合、該ＰＳＦは全ての周波数帯域において画像情報を得ることができるため、式（３）を用いて好適な画像修復が可能となる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−０７４６９３号公報
【特許文献２】米国特許公開２００７/０２５８７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１で提案される手法では、各取得画像には手ぶれを含まないことが前提となっており、手ぶれが発生した画像に対しては、各画像間での位置合わせが良好に実現できないという課題があった。夜景シーン等の撮影には、撮影画像にノイズが印加されやすいこともあり、ノイズ低減のためには、一定時間以上の露光時間が必要となる。しかしながら、露光時間が長くなると取得画像に手ぶれが含まれることになり、各画像間での位置合わせが不十分となる。その結果、特許文献１記載の発明は、位置合わせ後の画像を加算合成しても、手ぶれを十分に除去できない欠点を有する。
【００１４】
特許文献２では、図２８（Ｂ）で例示される露光条件のＰＳＦの周波数応答値が微小な場合には、当該周波数におけるぼけ補正量がその他の周波数に比べて大きくなり、好適なぶれ補正ができないという課題があった。具体的には、式（３）におけるＨ（ｕ）が微小値を持つ周波数において、ノイズを含むＩ_ｂｌｕｒ（ｕ，ｖ）の画像情報が増幅され、リンギングを完全に除去できない。
【００１５】
以下、特許文献２に開示さえるぶれ補正処理を実施した際に発生するリンギングについて説明する。図２９（Ａ）には、露光条件から得られるＰＳＦをプロットした。図２９（Ａ）において、周波数応答値の推移を分かりやすくするため縦軸は対数表記としている。なお、露光条件ｈ（ｔ）は、ｈ（ｔ）＝［１，０，１，０，１，０，０，１］と設定し、その場合のＰＳＦを算出している。図２９（Ａ）において、Ｐ０、Ｐ１付近の周波数帯において、周波数応答値が微小値となっていることが確認できる。図２９（Ｃ）は、図２９（Ｄ）の被写体を撮影した縦方向のぶれ画像（図２９（Ｂ））に対して、図２９（Ａ）で表されるＰＳＦを用いてデコンボリューションして得られたぶれ補正画像である。ぶれ画像（図２９（Ｂ））とぶれ補正画像（図２９（Ｃ））を比較すると、画像中心付近は好適なぶれ補正が達成できているが、画像の上下端部において周期的な波形としてリンギングが発生していることが確認できる。このリンギングの強度、周期は図２９（Ａ）に示されるＰＳＦの応答値が微小となる周波数（Ｐ０、Ｐ１）と関連がある。したがって、ぶれ補正後に発生するリンギングを抑制するためには、全周波数に渡ってＰＳＦの応答値を相対的に高めることが求められる。しかし、ＰＳＦの応答値を一様に高めるためには、露光条件ｈ（ｔ）に遍く周波数成分を包含する必要があり、限られた撮影時間内に好適な露光条件を定めることができない。
【００１６】
本発明は以上のような状況に鑑みてなされたものであり、複数の露光条件を用いたデコンボリューション演算によって複数のぶれ補正画像を得、それぞれのぶれ補正画像を合成することにより、ぶれ補正後に発生するリンギングを抑制することを目的とする。更に、複数のぶれ補正画像の相対移動量を位置合わせによって求めた後に、画像合成を行うことにより、より複雑なぶれ画像についても補正する。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明の画像処理装置は、複数の露光パターンに従って被写体を撮影し、前記露光パターンに応じた複数の撮影画像を得る撮影手段と、
前記撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記複数の撮影画像のそれぞれに適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段とを有する。
【００１８】
他の側面によれば、本発明の画像処理装置は、一定の露光時間および間隔で撮影した複数の撮影画像から、複数の露光パターンに従って複数の画像を選択する画像選択手段と、
前記複数の撮影画像におけるぶれ量を検出するぶれ検出手段と、
前記画像選択手段によって選択された複数の画像を加算合成して複数の合成画像を得る画像加算手段と、
前記ぶれ検出手段によって検出されたぶれ量と前記露光パターンとに基づいて補正関数を作成する手段と、
前記補正関数を前記画像加算手段によって加算合成された前記複数の合成画像に適用して複数の補正画像を得る画像補正手段と、
前記複数の補正画像を合成する画像合成手段とを有する。
【発明の効果】
【００１９】
本発明によれば、複数の露光条件を用いたデコンボリューション演算によって得られる複数ぶれ補正画像に対して画像合成を実施することにより、ぶれ補正後に発生するリンギングを抑制することが可能である。更に、本発明によると、複数のぶれ補正画像の相対移動量を位置合わせによって求めた後に、画像合成を行うことにより、より複雑なぶれ画像についても補正することが可能である。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態の撮像装置の構成を示すブロック図である。
【図２】第１実施形態の画像処理部の動作を示すフローチャートである。
【図３】第１実施形態のぶれ補正全体の動作を説明するための図である。
【図４】補正関数の作成方法を説明するためのフローチャートである。
【図５】ゼロ設定された配列の一例および露光条件の一次元フーリエ変換の一例の図である。
【図６】画像補正の処理方法の動作および画像合成の処理方法の動作を示すフローチャートである。
【図７】第１実施形態のぶれ補正画像と合成画像の一例である。
【図８】第１実施形態の露光条件規定の構成を示すブロック図である。
【図９】露光条件規定部の動作を説明するためのフローチャートである。
【図１０】異なる３種類の露光条件の点像ぼけ関数ＰＳＦの一例の図である。
【図１１】重み付け画像合成の処理方法の動作を示すフローチャートである。
【図１２】第２実施形態のぶれ補正画像と重み付け合成画像の一例の図である。
【図１３】重み付け係数の設定方法の動作を示すフローチャートである。
【図１４】第３実施形態の撮像装置の構成を示すブロック図である。
【図１５】第３実施形態のぶれ補正全体の動作を説明するための図である。
【図１６】ぶれ補正画像の相対移動量を求めた後に画像合成する処理の流れおよび適正領域抽出方法を説明するためのフローチャートである。
【図１７】画素単位の共通領域抽出方法およびブロック単位の共通領域抽出方法を説明するためのフローチャートである。
【図１８】位置ずれ検出方法を説明するためのフローチャートおよび動きベクトルから位置ずれ補正量を求める方法を説明するための図である。
【図１９】有効ブロック判定方法を説明するためのフローチャートである。
【図２０】有効動きベクトル判定方法を説明するためのフローチャートである。
【図２１】第４実施形態の撮像装置の構成を示すブロック図である。
【図２２】第４実施形態の画像処理部の動作を示すフローチャートである。
【図２３】第４実施形態のぶれ補正全体の動作を説明するための図である。
【図２４】第５実施形態の露光条件規定の構成を示すブロック図である。
【図２５】図２４に示される評価値算出部の処理方法の動作を示すフローチャートである。
【図２６】異なる３種類の露光条件の点像ぼけ関数ＰＳＦと閾値以下となる周波数帯域の一例である。
【図２７】通常露光の一例および通常露光の点像ぼけ関数ＰＳＦの図である。
【図２８】ランダム露光の一例およびランダム露光の点像ぼけ関数ＰＳＦの図である。
【図２９】ランダム露光の点像ぼけ関数ＰＳＦの一例、縦方向のぶれ画像の一例、ぶれ補正画像、テスト画像の一例の図である。
【発明を実施するための形態】
【００２１】
［第一実施形態］
＜撮像装置の構成図＞
図１は、本発明の第１の実施形態であるディジタルカメラ等の撮像装置の構成を示したブロック図である。撮像部１０１は、撮像レンズ群とＣ−ＭＯＳやＣＣＤなどの半導体撮像素子からなる。露光制御部１０２は、シャッタ駆動、絞り駆動を制御する。ぶれ検出部１０３は、撮像装置の姿勢変化を検出する。撮像部１０１から出力される映像信号は、Ａ／Ｄ変換部１０４によりデジタル画像データに変換され、画像処理部１０５に入力される。画像処理部１０５では、入力された信号に対して輝度信号や色信号を形成するなどの処理を行ってカラー画像データを形成する。一回の撮影機会において撮影される画像を原画像、その画像データを原画像データと呼ぶ。生成された画像データは、画像表示部１１５でカメラ本体が備える液晶モニタに表示させると同時に、画像記録部１１４でカメラ内部の記録媒体に記録される。なお、ブロック１０１−１０４までの光学系およびぶれ検出部を独立したユニットとして構成した場合、画像処理部１０５も画像処理装置として独立した構成とすることもできる。画像処理部１０５はマイクロプロセッサや汎用コンピュータに本発明に係る画像処理手順を実現するプログラムをインストールすることで実現可能である。
【００２２】
以下、ぶれ補正の処理について説明する。本実施形態で採用するぶれ補正は、予め用意された複数の露光条件（露光パターン）を用いて演算によって撮影画像のぶれを補正し、複数のぶれ補正画像に対して画像合成を実施することで実現される。図２は、ぶれ補正全体の流れをフローチャートを用いて説明するものである。図２の手順は、ステップＳ２０１は露光条件規定部１０６により、ステップＳ２０２−Ｓ２０５は露光制御部１０２により、それ以下のステップは画像処理部１０５により実行される。ステップＳ２０１は撮影に先立って実行されていれば良く、撮影時の処理はステップＳ２０２以下である。
【００２３】
まず、露光条件規定部１０６にて撮影時に使用する複数の露光条件を予め規定しておく（ステップＳ２０１）。露光条件の規定処理の詳細については後述する。規定された複数の露光条件は露光条件データベース（ＤＢ）１０８に格納されており、撮影時に露光条件選択部１０９が露光条件を選択する（ステップＳ２０２）。次に、選択された露光条件に従って、露光制御部１０２で露出を変化させ（ステップＳ２０３）、画像を撮影する（ステップＳ２０４）。このときＡＤ変換部１０４を通ってデジタル化された画像データは画像処理部１０５へ転送され、メモリ部１０７へ格納される（ステップＳ２０５）。１１０は補正関数作成部であり、露光条件選択部１０９で選択される露光条件に基づいて、ぶれ補正の際に使用する補正関数を作成する（ステップＳ２０６）。補正関数の作成処理の詳細については後述する。次に、ぶれ検出部１０３で検出される撮影中における撮像装置の姿勢変化（ぶれ情報）を取得する（ステップＳ２０７）。取得されたぶれ情報と前記補正関数は画像補正部１１１に供給され、ぶれ画像を補正する（ステップＳ２０８）。ぶれ補正が完了した画像データは、一旦メモリ部１１２に蓄えられる（ステップＳ２０９）。次に、露光条件データベースに格納される全ての露光条件に対して撮影が完了したか否かを判定する（ステップＳ２１０）。全ての露光条件下での撮影が完了していない場合には露光条件を更新し（ステップＳ２１１）、ステップＳ２０２からステップＳ２１０までの処理を繰り返し行う。全ての露光条件下での撮影が完了した場合にはステップＳ２１２に進む。最後に、メモリ部１１２に格納されるぶれ補正が完了した複数枚の画像に対して画像合成部１１３により加算合成処理を実施し（ステップＳ２１２）、一連のぶれ補正処理が完了する。ぶれ補正処理済みの画像は画像記録部１１４に記録され、必要に応じて読み出されて他の機器に転送され、あるいは画像表示部１１５に表示される。
【００２４】
図３には、本実施形態で採用するぶれ補正処理の概念図を示した。複数の撮像画像に対してぶれ補正処理を実施した後、画像合成により詳細なぶれ補正を行う。図３では、一例として４種類の異なる露光条件を用いてぶれ補正処理を実施した場合を示している。以下、ぶれ補正の詳細について順次説明する。
【００２５】
＜補正関数の作成＞
補正関数の作成方法を図４のフローチャートを用いて説明する。補正関数は、本実施形態では、点像ぼけ関数の逆フィルタである。図４は図２のステップＳ２０６に相当する。まず、露光条件選択部１０９で選択された露光条件ｈ（ｔ）が入力される（ステップＳ４０１）。なお、ｔは時刻を表す。露光条件ｈ（ｔ）は、１または０の値を取る関数である。１ならばシャッタが開いている状態を示し、０ならばシャッタが閉じている状態を示す。一例として、露光時間ＴがＴ＝１５で構成される以下の露光条件の場合について説明を続ける。
ｈ（ｔ）＝［１，０，０，０，１，０，０，１，１，０，１，０，１，１，１］
次に、露光条件ｈ（ｔ）が入力されると、予め規定される撮像画像サイズＮ画素×Ｍ画素を参照してゼロ設定された配列を生成する（ステップＳ４０２）。具体的には、ｈ（ｔ）を用いて以下の通りに画素位置（ｘ，ｙ）における配列ｈ’（ｘ，ｙ）を作成する。
ｈ'（０，ｙ）＝ｈ（ｙ）  （０≦ｙ≦Ｔ）
ｈ'（ｘ，ｙ）＝０        （上記以外の場合）
なお、画素位置（ｘ，ｙ）は０≦ｘ＜Ｎ、０≦ｙ＜Ｍの範囲で変化する。本実施形態では、撮像画像のサイズをＮ＝２５６、Ｍ＝２５６と設定する。図５（Ａ）には、上式で記述される配列ｈ'（ｘ，ｙ）を模式的に示した。左上端点の原点から縦方向にｈ（ｔ）を格納し、その他の配列には一様に０を格納している。なお、本実施形態では、縦方向（ｙ方向）へのぶれが含まれる画像に対する補正処理について説明する。次に、ゼロ設定された露光条件ｈ'（ｘ，ｙ）に対して二次元のフーリエ変換処理を行う（ステップＳ４０３）。
Ｈ（ｕ,ｖ）＝ＦＦＴ２（ｈ'（ｘ，ｙ））  …  （４）
ＦＦＴ２（）は二次元フーリエ変換を行う関数である。ｕ、ｖは周波数を示し、−１≦ｕ≦１、−１≦ｖ≦１に正規化されているものとする。図５（Ｂ）には、ｈ'（ｘ，ｙ）のうち、露光条件ｈ（ｔ）が格納されている箇所であるｈ'（０，ｙ）の一次元フーリエ変換Ｈ'（ｕ）をプロットした。図５（Ｂ）において、横軸は周波数ｕを表しており、正の周波数である０≦ｕ≦１の範囲をプロットした。縦軸は各周波数の応答値を対数表記で表し、各応答値は直流成分（ｕ＝０）の値で正規化している。図５（Ｂ）から、露光時間をＴ＝１５に設定してもなお、応答値の低い周波数が数箇所出現していることが確認できる。最後に、二次元フーリエ変換によって得られた露光条件Ｈ（ｕ,ｖ）と露光時間Ｔとを補正関数として出力し（ステップＳ４０４）、補正関数の作成処理を完了する。
【００２６】
＜画像補正＞
画像補正の処理方法を図６（Ａ）のフローチャートを用いて説明する。図６（Ａ）は図２のステップＳ２０８に相当する。まず、メモリ部１０７に蓄積された撮像画像i_ｂｌｕｒ（ｘ，ｙ）が画像補正部１１１に入力される（ステップＳ７０１）。前述の通り本実施形態で扱う撮像画像のサイズはＮ×Ｍ画素とする。次に、ぶれ検出部１０３で得られた撮像装置のぶれ情報（撮像装置のぶれ速度ｖ）が画像補正部１１１に入力される（ステップＳ７０２）。ぶれ情報には一般的にぶれ方向も含まれるが、本例ではぶれ方向を上下方向として説明しているため、ぶれ方向については省いている。続いて、補正関数作成部１１０で作成された露光条件の二次元フーリエ変換Ｈ（ｕ,ｖ）と露光時間Ｔとが画像補正部１１１に入力される（ステップＳ７０３）。次に、画像補正部１１１で撮影画像i_ｂｌｕｒ（ｘ，ｙ）に対して二次元のフーリエ変換処理を行い、フーリエ変換画像Ｉ_ｂｌｕｒ（ｕ,ｖ）を得る（ステップＳ７０４）。
Ｉ_ｂｌｕｒ（ｕ,ｖ）＝ＦＦＴ２（i_ｂｌｕｒ（ｘ，ｙ））  （５）。
【００２７】
次に、フーリエ変換画像Ｉ_ｂｌｕｒ（ｕ,ｖ）、撮像装置のぶれ速度ｖ、露光条件の二次元フーリエ変換Ｈ（ｕ,ｖ）と露光時間Ｔを用いてデコンボリューション処理を行う（ステップＳ７０５）。具体的には次式（６）によってデコンボリューションを行う。
【００２８】
【数４】
2011109619.tif 000006
なお、Ｉ（ｕ，ｖ）はぶれを含まない画像ｉ（ｘ，ｙ）の二次元フーリエ変換であり、次式によって定義される。
Ｉ（ｕ，ｖ）＝ＦＦＴ２（ｉ（ｘ，ｙ））  …  （７）
次に、得られたＩ（ｕ，ｖ）に対して二次元の逆フーリエ変換処理を行い、画像ｉ（ｘ，ｙ）を得る（ステップＳ７０６）。
ｉ（ｘ，ｙ）＝ＩＦＦＴ２（Ｉ（ｕ，ｖ））  …  （８）
ここで、ＩＦＦＴ２（）は二次元の逆フーリエ変換を行う関数である。最後に、逆フーリエ変換の完了した画像ｉ（ｘ，ｙ）を補正画像として出力し（ステップＳ７０７）、画像補正処理を完了する。
【００２９】
なお、本実施形態では、式（６）で記述されるように周波数空間上での除算によるデコンボリューションを実施していたが、その他のデコンボリューション処理でも構わない。Lucy-Richardsonのアルゴリズム、Wienerフィルタを用いたアルゴリズム、正則化フィルタを用いたアルゴリズムなどを用いても構わない。
【００３０】
＜画像合成＞
画像合成の処理方法を図６（Ｂ）のフローチャートを用いて説明する。図６（Ｂ）は図２のステップＳ２１２に相当する。まず、メモリ部１１２に格納されたｎ個の補正画像ｉ_ｎ（ｘ，ｙ）が画像合成部に入力される（ステップＳ８０１）。ただし、ｎ＝１,２,３とする。本実施形態では、一例として、異なる３種類の露光条件にて撮像された各ぶれ画像に対し、前述のぶれ補正処理が完了した画像を入力データとして扱う。異なる３種類の露光条件はそれぞれ以下の通りとする。
ｈ_１（ｔ）＝［１，０，０，０，１，０，０，１，１，０，１，０，１，１，１］
ｈ_２（ｔ）＝［１，０，１，０，１，１，１，１，０，０，０，１，０，０，１］
ｈ_３（ｔ）＝［０，０，０，１，０，０，１，１，０，１，０，１，１，１，１］
なお、露光条件の設定の方法については後述する。
【００３１】
次に、図６（Ａ）の手順でそれぞれ補正した複数のぶれ補正後の画像の加算合成処理を、次式に沿って行う（ステップＳ８０２）。
ｉ_ｏ（ｘ，ｙ）＝（ｉ_１（ｘ，ｙ）＋ｉ_２（ｘ，ｙ）＋ｉ_３（ｘ，ｙ））／３  …  （９）
なお、ｉ_ｎ（ｘ，ｙ）は、露光条件ｈ_ｎ（ｔ）に従って補正処理された画像、ｉ_ｏ（ｘ，ｙ）は加算合成後の画像である。式（９）では、３枚の補正画像の平均画像を算出することで加算合成処理を実施する。最後に、合成画像ｉ_ｏ（ｘ，ｙ）を出力し（ステップＳ８０３）、画像合成処理を完了する。
【００３２】
図７には、図２９（Ｂ）のぶれ画像に対して、露光条件ｈ_ｎ（ｔ）を用いて補正処理したぶれ補正画像ｉ_ｎ（ｘ，ｙ）と加算合成された画像ｉ_ｏ（ｘ，ｙ）を示している。図７からも確認できるが、各補正画像ｉ_ｎ（ｘ，ｙ）の画像中心付近では好適なぶれ補正が行われているが、画像の上下端部においてリンギングが生じている。一方、合成画像ｉ_ｏ（ｘ，ｙ）は各補正画像のリンギング周波数成分が異なるため、画像合成によりリンギング成分が打ち消し合い、画像劣化の緩和に成功していることが確認できる。
【００３３】
本実施形態では異なる３種類の露光条件を使用した場合について言及したが、使用する露光条件は３種類に限定されるものではない。２種類の露光条件を用いた場合でも、４種類以上の露光条件を用いた場合でも本実施形態１が実行可能である。
【００３４】
本実施形態では、縦ぶれを含む撮像画像に対するデコンボリューション処理について説明したが、デコンボリューション可能なぶれは縦ぶれに限定されない。縦ぶれ以外にも、横ぶれ、斜めぶれを含む画像データについてもデコンボリューションにてぶれ補正可能であることは言うまでもない。
【００３５】
＜露光条件（露光パターン）の規定＞
図８は、図１における露光条件規定部１０６に適用可能な構成を示したブロック図である。初期値設定部１８０１は露光条件を規定する際に必要となる初期値を設定する。露光条件生成部１８０２は露光条件を生成する。露光条件記録部１８０３は露光条件を記録する。露光条件取得部１８０４は露光条件を露光条件記録部１８０３より取得する。画像入力端子１８０５には、露光条件を規定する際に用いる画像が入力される。画像記録部１８０６は画像を記録する。評価値算出部１８０７は画像補正部１１１で補正された画像と画像記録部１８０６に格納される画像とを比較し評価値を算出する。露光条件出力部１８０８は評価値を考慮して露光条件を露光条件データベース（ＤＢ）へ出力する。補正関数作成部１１０、画像補正部１１１、露光条件１０８は図１と同様であるため説明を省略する。なお、画像記録部１８０６についても、画像記録部１１４と兼ねさせることもできる。露光条件規定部１０６の動作について、図９に示されるフローチャートに沿って以下説明する。図９は図２のステップＳ２０１に相当する。
【００３６】
まず、初期値設定部１８０１にて露光条件を規定する際に必要となる露光時間Ｔ、シャッタ開口時間Ｓ（ただし、Ｓ＜Ｔ）、ぶれ速度ｖを設定する（ステップＳ１９０１）。ここでは、Ｔ＝１５ｍｓ、Ｓ＝８ｍｓ、ｖ＝１画像／ｍｓとする。次に、初期値として設定された露光時間Ｔ、シャッタ開口時間Ｓに基づいて、露光条件生成部１８０２にて露光条件を生成する（ステップＳ１９０２）。具体的には、前述の露光条件ｈ（ｔ）を１または０の値で構成される要素数がＴとなる配列を全て作成する。なお、１ならばシャッタが開いている状態を示し、０ならばシャッタが閉じている状態を示す。このとき、ｈ（ｔ）に含まれる１の要素数はＳとなるように露光条件を設定する。本実施形態１では、Ｔ＝１５ｍｓ、Ｓ＝８ｍｓと設定し、ｈ（ｔ）の総要素数は１５個となり、その配列には８個の１が含まれる。これらの条件を満足するｈ（ｔ）の組合せ数は１５Ｃ８＝６４３５通りとなる。生成された露光条件の一例を以下に列挙する。なお本例では、シャッタの空き、閉じはいずれも１ｍｓを単位としている。
ｈ０_１（ｔ）＝［１，０，０，１，０，０，１，１，０，０，１，０，１，１，１］
ｈ０_２（ｔ）＝［１，０，１，０，１，１，０，１，１，０，１，０，０，０，１］
ｈ０_３（ｔ）＝［０，１，０，１，０，１，１，１，０，１，０，０，１，０，１］。
【００３７】
次に、露光条件生成部１８０２で生成された全露光条件を露光条件記録部１８０３に蓄積する（ステップＳ１９０３）。次に、露光条件を規定する際に用いるテスト画像ｉ_ｔｅｓｔ（ｘ，ｙ）が画像入力端子１８０５より入力され、画像記録部１８０６に格納される（ステップＳ１９０４）。図２９（Ｄ）に示される画像をテスト画像として用いる。次に、露光条件取得部１８０４が露光条件記録部１８０３から露光条件を取得する（ステップＳ１９０５）。続いて、関数作成部１１０がぶれ補正に使用する関数を作成する（ステップＳ１９０６）。関数作成処理については前述した図４の方法に従うため説明を省略する。次に、画像補正部１１１は、初期値設定部１８０１から供給されるぶれ速度ｖと、画像記録部１８０６から得られるテスト画像と、補正関数作成部１１０で作成された補正関数を用いて画像補正を行う（ステップＳ１９０７）。画像補正の詳細については前述の処理方法を用いるため説明を省略する。画像補正が完了した画像ｉ_ｄｅｂｌｕｒ（ｘ，ｙ）とテスト画像ｉ_ｔｅｓｔ（ｘ，ｙ）とを比較し、評価値算出部１８０７が画像補正の度合いを示す評価値ＰＳＮＲを算出する（ステップＳ１９０８）。ＰＳＮＲ（Ｐｅａｋ  Ｓｉｎｇａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）は一般に、画像劣化の度合いを客観的に評価する手法として用いられる。評価される２枚の画像間で画像劣化が全くない場合（同じ画像を比較した場合）、評価値は∞となり、劣化度合いが著しくなると評価値は０に近づく。
【００３８】
【数５】
2011109619.tif 000007
上式において、Ｍ、Ｎは、それぞれテスト画像（ぶれ補正画像）の縦画素数、横画素数である。ＭＡＸはＰＳＮＲの算出時に扱う画像の最大値である。本実施形態ではテスト画像、及びぶれ補正画像の最大値を２５５と設定しているので、ＭＡＸ＝２５５となる。
【００３９】
次に、評価値ＰＳＮＲが予め規定される閾値Ｔｈを超えるか否かを判断し（ステップＳ１９０９）、閾値Ｔｈを超える場合にはステップＳ１９１０の処理を省き、ステップＳ１９１１の処理へ移行する。評価値ＰＳＮＲが閾値Ｔｈ以下の場合には、露光条件出力部１８０８が露光条件を露光条件ＤＢへ出力する（ステップＳ１９１０）。閾値Ｔｈは、たとえば補正された画像のサンプルを用意しておき、試験者がそのサンプルを参照して画質が水準以上と判定したものについて評価値を算出し、その評価値に基づいて決めることができる。一例としては、その平均値や最大値、最小値等を閾値として選択できる。露光条件記録部１８０３に格納された全ての露光条件に対して評価値の算出が完了したか否かを判断する（ステップＳ１９１１）。評価値の算出が完了していない露光条件がある場合には未評価の露光条件に更新し（ステップＳ１９１２）、ステップＳ１９０５からステップＳ１９１１までの処理を繰り返し行う。全ての露光条件に対して評価値の算出が完了した場合には、露光条件の規定処理が完了する。以上説明した処理方法によって得られた露光条件の一部を以下に列挙した。
ｈ_１（ｔ）＝［１，０，０，０，１，０，０，１，１，０，１，０，１，１，１］
ｈ_２（ｔ）＝［１，０，１，０，１，１，１，１，０，０，０，１，０，０，１］
ｈ_３（ｔ）＝［０，０，０，１，０，０，１，１，０，１，０，１，１，１，１］。
【００４０】
本実施形態では、評価値としてＰＳＮＲを採用したが、その他の画像評価を採用しても構わない。最少二乗誤差、差分平均値、最大差分値等を評価値として使用しても差し支えない。また、本実施形態では、図２９（Ｄ）の画像をテスト用の被写体（テスト画像）として使用したが、任意の画像をテスト画像として採用しても構わない。図２９（Ｄ）に示されるような人物画像以外にも、風景画像、チャート等を使用しても差し支えない。
【００４１】
図１０には、上記３種類の露光条件を、図４のステップＳ４０２の要領でゼロ設定して一次元フーリエ変換した後、その周波数応答をプロットした。図５（Ｂ）同様、図１０の横軸は周波数ｕを表しており、正の周波数である０≦ｕ≦１の範囲をプロットした。縦軸は各周波数の応答値を対数表記で表し、各応答値は直流成分（ｕ＝０）の値で正規化している。図１０から、これら３種類の露光条件は異なる周波数特性を保持していることが確認できる。一部の周波数を除いて全体に渡って高い周波数応答値を示している。相対的に低い応答値を示す周波数は露光条件によって異なっていることが同図から理解できる。このように、複数の露光条件を用いてぶれ補正処理を行うことで、１種類の露光条件では補正が不十分であった場合についても、好適なぶれ補正を実現することが可能となる。
【００４２】
このように、露光条件は、相異なる露光条件で撮影した画像を補正してその品質を評価し、その評価結果に基づいて決定されている。良好な評価結果を与える露光条件、すなわち所定評価値以上の評価結果を与える露光パターンは、図１０のように、相対的に低い応答値が重複しないような周波数特性を持つ露光条件である。また、露光パターンに周期性があると周波数特性に多くの極小値が現れるので、それを避けるためにランダムパターンとすることが望ましい。
【００４３】
上記説明では、露光時間Ｔ＝１５ｍｓ、シャッタ開口時間Ｓ＝８ｍｓの場合を一例として説明した。ただし露光時間、シャッタ開口時間はこの限りではない。また、露光時間Ｔ、シャッタ開口時間Ｓによる全ての組合せについて露光条件を定めた後、評価値を算出したが、全ての組合せに対して評価値を算出する必要はない。予め規定された露光条件に対してランダムに評価値を算出しても構わない。
【００４４】
なお、本実施形態における撮像装置は静止画を撮影するデジタルスチルカメラとしたが、動画を撮影するデジタルビデオカメラに対しても本実施形態の機能を提供できる。このほか、画像を記録せず、実時間での表示を行う装置（たとえば双眼鏡など）についても同様に、ぶれ補正処理を適用することができる。
【００４５】
以上説明したように、第１の実施形態によれば、相異なる複数の露光条件を用いたデコンボリューション演算によって複数のぶれ補正画像を得、それらを画像合成することにより、ぶれ補正後に発生するリンギングを抑制することが可能である。
【００４６】
［第２実施形態］
第１の実施形態では複数のぶれ補正画像に対して均等な加算演算によって画像合成を実施していた。第２の実施形態では、ぶれ補正画像に対して重み付けされた加算合成を行う形態とする。以下、第１の実施形態と異なる重み付け画像合成処理と該重み付け画像合成処理で使用される重み係数の作成方法についてのみ説明する。その他の処理については第１の実施形態と同様であるため説明を省略する。
【００４７】
＜重み付け画像合成＞
図１１のフローチャートを用いて重み付け画像合成の処理方法を説明する。まず、補正画像ｉ_ｎ（ｘ，ｙ）が画像合成部に入力される（ステップＳ２１０１）。ただし、ｎ＝１,２,３とする。ステップＳ２１０１は図６（Ｂ）で示されるステップＳ８０１と同一処理である。次に、重み付け画像合成に先立って予め規定された重み係数ｗ（ｎ）を設定する（ステップＳ２１０２）。本実施形態では、一例としてｗ（１）＝１／３、ｗ（２）＝１／６、ｗ（３）＝１／２とする。なお、重み付け係数の設定の詳細について後述する。次に、重み係数ｗ（ｎ）を用いて、次式による重み付け合成処理を実施する（ステップＳ２１０３）。
ｉ_ｗｏ（ｘ，ｙ）＝ｗ（１）×ｉ_１（ｘ，ｙ）＋ｗ（２）×ｉ_２（ｘ，ｙ）＋ｗ（３）×ｉ_３（ｘ，ｙ）  …  （１２）。
【００４８】
なお、ｉ_ｎ（ｘ，ｙ）は、露光条件ｈ_ｎ（ｔ）に従って補正処理された画像、ｉ_ｗｏ（ｘ，ｙ）は重み付け合成後の画像である。最後に、合成画像ｉ_ｗｏ（ｘ，ｙ）を出力し（ステップＳ２１０４）、重み付け画像合成処理を完了する。
【００４９】
図１２には、図２９（Ｂ）のぶれ画像に対して、露光条件ｈ_ｎ（ｔ）を用いて補正処理したぶれ補正画像ｉ_ｎ（ｘ，ｙ）と重み係数ｗ（ｎ）によって重み付け画像合成された画像ｉ_ｗｏ（ｘ，ｙ）を示している。重み付け合成画像ｉ_ｗｏ（ｘ，ｙ）は、図７に示される均等な加算合成画像ｉ_ｏ（ｘ，ｙ）と比較して、更にリンギングを抑えた画像となっている。
【００５０】
＜重み付け係数の設定＞
図１３のフローチャートを用いて重み付け係数の設定方法を説明する。図１３は図１１のステップＳ２１０２に相当する。まず、図９で説明した露光条件の設定方法により規定された露光条件が入力される（ステップＳ２３０１）。ここでは、異なる３種類の露光条件ｈ_１（ｔ）、ｈ_２（ｔ）、ｈ_３（ｔ）が入力される場合について説明する。なお、ｔは時刻を表す。次に、入力された露光条件から補正関数を作成する（ステップＳ２３０２）。補正関数の生成については図４で既述した処理方法を採用する。生成された各露光条件に対応する補正関数をＨ_１（ｕ,ｖ）、Ｈ_２（ｕ,ｖ）、Ｈ_３（ｕ,ｖ）とする。次に、重み係数を決定する際に用いるテスト画像ｉ_ｔｅｓｔ（ｘ，ｙ）が入力される（ステップＳ２３０３）。本発明の第１の実施形態と同様に、図２９（Ｄ）に示される画像をテスト画像として用いる。テスト画像が入力されると、ステップＳ２３０２で生成した補正関数を用いて画像補正を実施する（ステップＳ２３０４）。画像補正の処理方法は図６（Ａ）の通りであり、詳細については既に説明をしたので省略する。補正後の画像をそれぞれ、ｉ_１（ｘ，ｙ）、ｉ_２（ｘ，ｙ）、ｉ_３（ｘ，ｙ）とする。次に、重み係数ｗ（１，ｉ）、ｗ（２，ｊ）、ｗ（３）の初期値を設定する（ステップＳ２３０５）。重み係数ｗ（１，ｉ）、ｗ（２，ｊ）の初期値は１／６とする。３種類の重み係数の和は１であるとすると、重み係数ｗ（３）は、重み係数ｗ（１，ｉ）、ｗ（２，ｊ）から一意に決定される。
ｗ（１，ｉ）＝１／６  （ｉ＝１の場合）
ｗ（２，ｊ）＝１／６  （ｊ＝１の場合）
ｗ（３）＝１−ｗ（１，ｉ）−ｗ（２，ｊ）
なお、ｉ，ｊは変数を表す。重み係数値は１／６刻みで増加し、最大で５／６まで増加する。したがって、重み係数として選択可能な値は、１／６、２／６、３／６、４／６、５／６のいずれかとなる。続いて、設定された重み係数を次式に代入し重み付け加算による画像合成を行う（ステップＳ２３０６）。
ｉ_ｗｏ（ｘ，ｙ，ｉ，ｊ）＝ｗ（１,ｉ）×ｉ_１（ｘ，ｙ）＋ｗ（２,ｊ）×ｉ_２（ｘ，ｙ）＋ｗ（３）×ｉ_３（ｘ，ｙ）  …  （１３）。
【００５１】
次に、合成画像に対する評価値ｅｖａｌ（ｉ，ｊ）を算出する（ステップＳ２３０７）。ここで用いる評価値は、式（１０）〜（１１）で定義されるＰＳＮＲとする。次に、重み係数ｗ（１，ｉ）の全てに対して評価値の算出が完了したか否かを判定し（ステップＳ２３０８）、完了した場合にはステップＳ２３１０へ進む。完了していない場合には、重み係数ｗ（１，ｉ）を更新し（ステップＳ２３０９）、ステップＳ２３０５からステップＳ２３０８までの処理を繰り返し行う。ステップＳ２３１０では、重み係数ｗ（２，ｊ）の全てに対して評価値の算出が完了したか否かを判定し、完了した場合にはステップＳ２３１２へ進む。完了していない場合には、重み係数ｗ（２，ｊ）の更新と重み係数ｗ（１，ｉ）の初期化を実施し（ステップＳ２３１１）、ステップＳ２３０５からステップＳ２３１０までの処理を繰り返し行う。最後に、算出さえた評価値ｅｖａｌ（ｉ，ｊ）の中から、最良な重み付け係数の組合せを求め、重み付け係数の設定が完了する。
【００５２】
なお、本実施形態では重み付け係数の設定を１／６、２／６、３／６、４／６、５／６の５段階としたが、その他の組合せでも差し支えない。また、本実施形態では異なる３種類の露光条件を用いた場合について重み付け係数を算出したが、露光条件の個数に準じて設定すべき重み付け係数の個数が変化することは言うまでもない。本実施形態では、図２９（Ｄ）をテスト画像として使用したが、任意の画像をテスト画像として採用しても構わない。図２９（Ｄ）に示されるような人物画像以外にも、風景画像、チャート等を使用しても差し支えない。また、本実施形態では、評価値としてＰＳＮＲを採用したが、その他の画像評価を採用しても構わない。最少二乗誤差、差分平均値、最大差分値等を評価値として使用しても差し支えない。
【００５３】
以上説明したように、第２の実施形態によれば、複数の露光条件を用いたデコンボリューション演算によって得られる複数ぶれ補正画像に対して、重み付け加算による画像合成を実施する。これにより、ぶれ補正後に発生するリンギングの度合いを制御することが可能である。合成対象となる各補正画像に乗ぜられる重み係数は、図１３の手順で合成後の画像の評価が最も高く載る値が設定されていることから、第１実施形態の比べてさらに良好な画像を得ることができる。
【００５４】
［第３実施形態］
第１及び第２の実施形態では複数の補正画像に対して画像合成を行っていた。第２の実施形態では、画像補正が完了した複数枚の各画像の相対移動量を求めた後に画像合成を実施する。以下、第１、第２の実施形態と異なる補正画像間の相対移動量の算出方法についてのみ説明する。
【００５５】
＜画像処理装置の構成図＞
図１４は、本発明の第３の実施形態である画像処理装置に適用可能な構成を示したブロック図である。本発明の第１の実施形態である画像処理装置（図１）に対して、位置補正部２４０１、領域抽出部２４０２、移動量算出部２４０３が追加された構成である。これらの構成要素によって、合成前の補正画像の位置合せを行って、その後に合成を行う。
【００５６】
図１５には、本実施形態で採用するぶれ補正処理の概念図を示した。複数の撮像画像に対してぶれ補正処理を実施した後、補正画像間の相対移動量の算出を行う。最後に、求めた相対移動量に従って補正画像を移動させ、画像合成により詳細なぶれ補正を行う。図１５では、一例として４種類の異なる露光条件を用いてぶれ補正処理を実施した場合を示している。
【００５７】
図１６（Ａ）は、各画像の相対移動量を求めた後に画像合成する処理の流れをフローチャート用いて説明するものである。ステップＳ２５０１で、図５（Ｂ）の手順で画像補正が完了した複数の画像を入力し、ステップＳ２５０２で各画像に対し、適正な領域の検出を行う。ステップＳ２５０３では、各画像間で共通する適正領域を検出する。ステップＳ２５０４では、共通領域間での位置ずれ検出を行う。検出方法の詳細は後ほど説明する。ずれ量が算出されると、ステップＳ２５０５にて、ずれ量分の補正処理を元の画像データに対して行う。例えば、２枚の画像がある場合、２枚目の画像を位置補正して、１枚目の画像位置に合わせてもよいし、その逆でも構わない。相対的な位置合わせができたところで、ステップＳ２５０６の画像合成処理を行う。画像合成処理は前述の通り加算演算によって行われる。以下、画像合成によるぶれ補正の詳細について順次説明する。
【００５８】
＜適正領域の抽出＞
図１６（Ｂ）は、適正領域の抽出方法を説明するためのフローチャートである。これは、各補正画像に対して行われる処理である。図１６（Ｂ）の手順は、画像データを構成する画素に順次着目して実行される。
【００５９】
露出がアンダー名状態で撮影された画像は，暗い部分で黒つぶれと呼ばれる階調が再現できない部分が生じる場合がある。この領域では、画像の特徴が失われているので、この領域を位置ずれ検出の対象とすると、誤判定を引き起こす可能性がある。ステップＳ２６０１では、この領域を除外するため、あらかじめ定めた閾値Ｔｌと入力画像の着目画素の値との比較を行う。着目画素値がＴｌより小さければ、黒つぶれしている領域の画素とみなし、ステップＳ２６０２にて、位置ずれ検出に用いる対象から除外する。露出がオーバーな状態で撮影された画像は、明るい部分で白とびと呼ばれる階調が再現できない部分が生じる場合がある。この領域では、画像の特徴が失われているので、この領域を位置ずれ検出の対象とすると、誤判定を引き起こす可能性がある。ステップＳ２６０３では、この領域を除外するため、あらかじめ定めた閾値Ｔｈと着目画素の値との比較を行う。着目画素値がＴｈより大きければ、白とびしている領域の画素とみなし、ステップＳ２６０２にて、位置ずれ検出に用いる対象から除外する。このようにして、閾値ＴｌからＴｈの範囲内にある画素のみを、ステップＳ２６０４にて適正画素とし、位置ずれ検出に用いる対象とする。ステップＳ２６０５では終了判定を行い、すべての画素の処理が終わったところで、一画面分の画像の処理を終える。判定結果は、たとえば画素毎に適正／不適正のフラグを対応付けたビットマップとして保持するなど、画像ごとに画素に関連づけて保存される。
【００６０】
図１７（Ａ）は、画素単位の共通領域抽出方法を説明するためのフローチャートである。これは、適正領域を求めた画像間で行う処理である。ここでは、入力画像１と入力画像２の２つの画像間での共通領域抽出処理について説明する。図１７（Ａ）の手順は、図１６（Ｂ）の判定結果、たとえば判定結果を保存したビットマップを対象として行われる。その際、入力１と入力２のそれぞれの画像データに対応づけて図１６（Ｂ）で保存された判定結果のビットマップに順次着目し、着目画素に対応する判定結果（たとえば適正／不適正を示すフラグ）を参照して処理は勧められる。着目画素の位置を着目位置と呼ぶことにする。まず、ステップＳ２７０１で、入力１の着目位置の画素が適正画素であるかどうかを判定する。適正画素でなければ、ステップＳ２７０２にて、位置ずれ検出に用いる対象から除外する。ステップＳ２７０２でも同様に、着目位置にある入力２の画素が適正画素であるかどうかを判定する。適正画素でなければ、ステップＳ２７０２にて、位置ずれ検出に用いる対象から除外する。したがって、着目位置にある入力１の画素と入力２の画素の両方が適正な画素である場合に限りステップＳ２７０４にて共通画素とし、位置ずれ検出に用いる対象とする。ステップＳ２７０５では終了判定を行い、すべての画素の処理が終わったところで、一組分の画像の処理を終える。判定結果は、入力画像の画素配置と関連づけて、たとえば画素毎に共通画素／除外画素を示すビットマップとして保存される。３枚の画像を用いてレンジ拡大を図る場合は、１枚目と２枚目の画像間で上記の処理を行った後、２枚目と３枚目の画像間で同様の処理を行うことになる。なお図１６（Ｂ）の処理を合成される複数の画像すべてについて並列に行えば、図１７（Ａ）の処理も並列に行うことができる。こうすることで、図１６（Ｂ）の出力を画像全体について保存する必要がなく、着目画素の判定結果を、図１７（Ａ）の入力として供するために保存するだけで済むので、必要なメモリ容量を小さくできる。
【００６１】
図１７（Ｂ）は、ブロック単位の共通領域抽出方法を説明するためのフローチャートである。これは位置ずれ検出をブロック単位の処理で行う場合に、検出精度を向上させるためのもので、図１７（Ａ）で求めた共通領域よりも更に領域を狭める処理となる。図１７（Ｂ）の処理対象は、図１７（Ａ）において保存した判定結果のビットマップである。なお以下ではこのビットマップについても画像と同様に画面と呼ぶ。
【００６２】
まずステップＳ２８０１で画面全体を一定の画素サイズのブロックに分割する。以下はブロック単位の処理となり、順次各ブロックに着目して処理が進められる。ステップＳ２８０２では、着目ブロック内に除外画素があるかどうかを判定する。着目ブロックが除外画素を含んでいる場合は、ステップＳ２８０３にて、着目ブロックを除外ブロックとする。着目ブロック内に除外画素がない場合は、ステップＳ２８０４にて、着目ブロックのサーチ範囲内に除外画素があるかどうかを判定する。サーチ範囲内に除外画素がある場合も先ほどと同様にこのブロックを除外ブロックとする。ブロック内とそのサーチ範囲内に除外画素が無い場合は、ステップＳ２８０５にて共通ブロックと判定する。ステップＳ２８０６では終了判定を行い、全ブロックに対し上記の処理が終わったところで一連の処理を終える。判定結果は、ブロック毎に関連づけて共通ブロック／除外ブロックの別が保存される。また画素毎に関連づけて保存しても良い。なおサーチ範囲とは、ブロックの動きベクトルを探索する範囲であり、ぶれの速度や合成対象の画像の撮影間隔によって動的に決定できる。もちろんぶれの速度が測定できたとしてもぶれ量を正確に決定できないので、推定されるぶれ量を中心に全方向に一定量ずらした範囲をサーチ範囲とすることが望ましい。また、ぶれの速度や合成対象の画像の撮影間隔の最大値を予め想定しおいてもよい。
【００６３】
＜移動量の算出＞
図１８（Ａ）は、位置ずれ検出方法を説明するためのフローチャートである。ここでは、ブロック毎に動きベクトルを求め、そこから画面全体の動き量をアフィンパラメータとして求める方法について説明する。ブロック毎の動きベクトルを求める際にその前処理としてステップＳ２９０１の有効ブロック判定を行う。これは正しい動きベクトルが求まらない可能性のあるブロックを除外する処理である。なお対象となるブロックは、図１７（Ｂ）で共通ブロックと判定されたブロックである。詳細は後述する。ステップＳ２９０２では、着目有効ブロックについて、ブロックの動きベクトルを算出する。ここでは一般的なブロックマッチング方法について説明する。ブロックマッチング法では、マッチングの評価値としてブロック内の画素間の差分二乗和もしくは差分絶対値和を用いる。ベクトルを求める対象ブロックを参照画像のサーチ範囲内で順次動かしなら評価値を求めていく。サーチ範囲内で求めた全ての評価値の中から最小の評価値もつ位置が対称ブロックと最も相関の高い位置であり、その移動量が動きベクトルとなる。サーチ範囲を１画素ずつ求めていく方法はフルサーチと呼ばれている。これに対し、サーチ範囲を間引きながら最小の評価値を求め、次にその近傍に対して細かくサーチする方法は、ステップサーチと呼ばれている。ステップサーチは高速に動きベクトルを求める方法としてよく知られている。次にステップＳ２９０４にて、有効動きベクトル判定を行う。これは、求めた動きベクトルのうち、算出結果が正しくないと判断されるものを除外する処理である。詳細は後述する。ステップＳ２９０４で、終了判定を行い、すべてのブロックの処理が終わると、ステップＳ２９０５にて、有効な動きベクトルから、アフィンパラメータの検出を行う。
【００６４】
図１８（Ｂ）を用いて、アフィンパラメータ検出の詳細を説明する。対象ブロックの中心座標が、（ｘ，ｙ）であり、動きベクトルの算出結果から参照画像におけるブロックの中心座標が（ｘ’，ｙ’）に移動したとすると、これらの関係は、式（１４）のように表すことができる。
【００６５】
【数６】
2011109619.tif 000008
ここで、３×３の行列がアフィン変換行列である。行列の各要素がアフィンパラメータであり、ａ＝１，ｂ＝０，ｄ＝０，ｅ＝１のとき、この変換は平行移動となり、ｃが水平方向の移動量、ｆが垂直方向の移動量となる。また、回転角θでの回転移動は、ａ＝ｃｏｓθ，ｂ＝−ｓｉｎθ，ｄ＝ｓｉｎθ，ｅ＝ｃｏｓθで表すことができる。式（１４）は一般化した行列の形式で式（１５）のように表現することができる。
【００６６】
ｘ’＝Ａ・ｘ                        …  （１５）
ここでｘとｘ’は１×３の行列、Ａは３×３の行列である。有効な動きベクトルがｎ個であった場合、対象画像の座標値は、式（１６）のようにｎ×３の行列で表現できる。
Ｘ＝（ｘ１  ｘ２  …  ｘｎ）          …  （１６）
同様に、移動後の座標値も式（１７）のようにｎ×３の行列で表現できる。
ｘ’＝（ｘ１’  ｘ２’  …  ｘｎ’）  …  （１７）
よって、ｎ個の動きベクトルに対しては、式（１８）のような表現となる。
Ｘ’＝Ａ・Ｘ                          …  （１８）
すなわち、式（１８）におけるアフィン行列Ａを求めれば、それが画面全体の位置ずれ量になる。式（１８）を変形すると、アフィン行列は式（１９）のように求まる。
Ａ＝Ｘ'・ＸT・（Ｘ・ＸT）-1            …  （１９）
図１８（Ａ）のステップＳ２９０５ではこのアフィン行列（あるいはその要素）が求められる。この方式では、動き量が、アフィン変換のパラメータで表現できるため、カメラを保持しているときに起こるシフトぶれ以外にも、面内方向でのロールぶれや前後方向のズームぶれなどにも対応することが可能である。
【００６７】
ここで、有効ブロック判定方法を図１９のフローチャートを用いて説明する。ブロックマッチングによりブロック間の相関を求めようとする場合、ブロック内の画像が何らかの特徴量を持っている必要がある。平坦でほとんど直流成分しか含んでいないブロックでは正しい動きベクトルを求めることはできない。逆に水平方向や垂直方向にエッジを含んでいると、マッチングがとりやすくなると考えられる。図１９は、このような平坦部のブロックを除外する一手法である。ここでは１つの共通ブロックに対する処理で説明する。
【００６８】
まずステップＳ３００１で、ブロック内にある水平方向の１つのラインに対し、ラインを構成する画素の最大値と最小値の差分値を算出する。たとえば、ブロックのサイズが５０×５０の画素で構成されているとすると、ブロック内における水平方向の５０個の画素から最大値と最小値を求め、その差分値を算出する。これを水平ライン数分、すなわち５０回繰り返す。そして、ステップＳ３００３で５０の差分値の中から最大の差分値を求める。ステップＳ３００４で、あらかじめ設定したＴｘと最大差分値の比較を行う。最大差分値が閾値Ｔｘよりも小さければ、水平方向には特徴量を持たないブロックであるとみなし、ステップＳ３００５にて、着目ブロックは無効ブロックとする。水平方向に特徴量を持つとみなせる場合は、垂直方向で同様の検証を行う。まず、ステップＳ３００６で、ブロック内にある垂直方向の１つのラインに対し、最大値と最小値の差分値を算出する。つまりブロック内における垂直方向の５０個の画素から最大値と最小値を求め、その差分値を算出する。これを垂直ライン数分、すなわち５０回繰り返す。そして、ステップＳ３００８で５０の差分値の中から最大の差分値を求める。ステップＳ３００９で、あらかじめ設定したＴｙと最大差分値の比較を行う。最大差分値が閾値Ｔｙよりも小さければ、垂直方向には特徴量を持たないブロックであるとみなし、ステップＳ３００５にて、着目ブロックは無効ブロックとする。水平・垂直両方向に特徴を持つブロックならば、正確なブロックマッチングが行われることが期待できるので、ステップＳ３０１０にて、着目ブロックは有効ブロックと判定する。判定結果はブロック毎に保存される。
【００６９】
次に、有効動きベクトル判定方法を図２０のフローチャートを用いて説明する。まずは、ステップＳ３１０１にて動きベクトルを入力し、ステップＳ３１０２にて、その発生頻度を算出する。ステップＳ３１０３にて、全ての動きベクトルの発生頻度が求まるまでこの処理を繰り返し、終了するとステップＳ３１０４にて、最大発生頻度の動きベクトルを求める。次に、ステップＳ３１０５にて再度動きベクトルを入力し、ステップＳ３１０６で、この動きベクトルが最大発生頻度の動きベクトル、もしくはその近傍の動きベクトルであるかどうかの判定を行う。画面全体のぶれが、シフト（平行移動）のみである場合、各ブロックの動きベクトルは最大発生頻度の動きベクトルにほぼ一致するはずであり、ロール（回転）ぶれを伴う場合は、最大発生頻度の動きベクトルの近傍に多くの動きベクトルが発生すると考えられる。したがって、これらの値に含まれる動きベクトルは、ステップＳ３１０７にて、有効動きベクトルと判定し、これらの値から外れている動きベクトルは、ステップＳ３１０８にて無効動きベクトルと判定する。ステップＳ３１０９では、すべての動きベクトルに対して処理が終わったかどうかの判定を行い、終了までステップＳ３１０５からの処理を繰り返す。
【００７０】
こうして有効と判定されたｎ個の動きベクトルの始点を数式（１６）のＸ、ｎ個の動きベクトルの終点を数式（１７）のＸ’として数式（１９）に適用し、アフィン変換行列がもとめられる。求めたアフィン変換を、図１６（Ａ）のステップＳ２５０５において移動前の画像に適用することで、２つの画像間におけるぶれによるずれを補正し、位置を合わせることができる。位置あわせされた画像を図１６（Ａ）のステップＳ２５０６で合成することで、より良好な合成が象を獲ることができる。
【００７１】
なお、本実施形態における撮像部はデジタルカメラ、デジタルビデオでのいずれの場合でも、実施形態の機能が実現される。これは第１，第２実施形態と同様である。
【００７２】
以上説明したように、第３の実施形態によれば、複数のぶれ補正画像の相対移動量を位置合わせによって求めた後に、画像合成を行うことにより、より複雑なぶれ画像についても補正することが可能である。
【００７３】
［第４実施形態］
本実施形態では、露光条件に従って規定される開口パターンをシャッタの開閉ではなく、連続撮影して得た画像の選択（撮影画像として採用するか採用しないか）処理によって実現する。また、この振り分けパターンを露光条件（開口パターン）とする。
【００７４】
図２３に示すように、時分割露光を利用して撮像された連続画像群に対して、複数の露光条件に従ってぶれ補正に用いる画像を選択する。それぞれ独立に画像選択処理を実施することで、異なる画像組合せを選択する。その後、選択された画像群を加算し、ぶれ補正用の画像として用いる。複数のぶれ補正した画像を合成することで、リンギングを抑制した１枚の補正画像を得る。このような画像補正方法により、複数の露光条件を加味しながら、撮影時間を短縮することが可能である。更には全ての撮像フレームを用いたぶれ補正を実現可能であり、撮影画像の有効活用という観点からも効率が良い。なお時分割露光とは、たとえば一定の露光時間の撮影を、一定の間隔で繰り返すことで実現される。これを連続撮影とも呼ぶ。
【００７５】
図２１は、本実施形態の撮像装置に適用可能な画像処理部の構成を示したブロック図である。第１実施形態の撮像装置（図１）に対して、画像選択部３４０１、画像加算部２４０２が追加された構成である。これら構成によって、第１実施形態においては撮影によって得られている、選択された露光条件に基づく画像を、撮影した画像から合成する。
【００７６】
図２２は、ぶれ補正全体の流れをフローチャート用いて説明するものである。まず、露光条件規定部１０６にて撮影時に使用する複数の露光条件を予め規定しておく（ステップＳ３５０１）。露光条件の規定処理の詳細については既述であるため、ここでの説明を割愛する。次に、露光制御部１０２で時分割露出を変化させ、連続撮影する（ステップＳ３５０２）。このときＡＤ変換部１０４を通ってデジタル化された画像データは画像処理部１０５へ転送され、メモリ部１０７へ格納される（ステップＳ３５０３）。次に、露光条件選択部１０９が露光条件データベース（ＤＢ）から画像補正に用いる露光条件を選択する（ステップＳ３５０４）。画像選択部３４０１は、選択された露光条件に沿って、撮像された連続画像からぶれ補正に使用する画像データを選択する（ステップＳ３５０５）。次に、画像加算部３４０２は選択された複数枚の画像を単純加算し、画像補正に使用する１枚の画像を生成する（ステップＳ３５０６）。単純加算された画像は画像補正部１１１へ供給される。１１０は補正関数作成部であり、露光条件選択部１０９で選択される露光条件に基づいて、ぶれ補正の際に使用する補正関数を作成する（ステップＳ３５０７）。補正関数の作成処理の詳細については既述であるため、説明を省略する。次に、ぶれ検出部１０３で検出される撮影中における撮像装置の姿勢変化（ぶれ情報）を取得する（ステップＳ３５０８）。取得されたぶれ情報と前記補正関数は画像補正部１１１に供給され、ぶれ画像を補正する（ステップＳ３５０９）。ぶれ補正が完了した画像データは、一旦メモリ部１１２に蓄えられる（ステップＳ３５１０）。露光条件データベースに格納される全ての露光条件に対して画像補正が完了したか否かを判定する（ステップＳ３５１１）。全ての露光条件下での画像補正が完了していない場合には露光条件を更新し（ステップＳ３５１２）、ステップＳ３５０４からステップＳ３５１１までの処理を繰り返し行う。全ての露光条件下での画像補正が完了した場合にはステップＳ３５１３に進む。最後に、メモリ部１１１に格納されるぶれ補正が完了した複数枚の画像に対して加算合成処理を実施し（ステップＳ３５１３）、一連のぶれ補正処理が完了する。
【００７７】
なお、本実施形態では異なる３種類の露光条件を使用した場合について言及したが、使用する露光条件は３種類に限定されるものではない。２種類の露光条件を用いた場合でも、４種類以上の露光条件を用いた場合でも本実施形態が実行可能である。なお、本実施形態における撮像部はデジタルカメラ、デジタルビデオでのいずれの場合でも、実施形態の機能が実現される。
【００７８】
以上説明したように、第４の実施形態によれば、時分割駆動で取得した連続撮影画像から、複数の露光条件を加味した画像補正方法を実現するこができ、如いては撮影時間を短縮することが可能である。
【００７９】
［第５実施形態］
第１の実施形態では、予め用意したテスト画像を用い、候補となる露光条件を用いて得られる補正画像の画像回復度合いを数値的に評価することで好適な露光条件を規定していた。本実施形態では、露光条件の周波数特性に着目して好適な露光条件を規定する形態とする。以下、第１の実施形態と異なる露光条件の規定方法についてのみ説明する。その他の処理については第１の実施形態と同様であるため説明を省略する。
【００８０】
図２４は、図１における露光条件規定部１０６に適用可能な構成を示したブロック図である。図８で説明した露光条件規定部に対して、評価値算出部を変更し、画像補正部１１１、画像入力端子１８０５、画像記録部１８０６を削除した構成である。以下、第５の実施形態における評価値算出部３７０１の動作について、図２５に示されるフローチャートに沿って以下説明する。
【００８１】
まず、補正関数作成部１１０にて生成された補正関数が評価値算出部３７０１に入力される（ステップＳ３８０１）。本実施形態では、第１実施形態と同様に、露光時間Ｔ＝１５ｍｓ、シャッタ開口時間Ｓ＝８ｍｓ、ぶれ速度ｖ＝１画像／ｍｓから導出される全６４３５通りの補正関数が入力される。次に、入力された全ての補正関数において周波数応答が閾値Ｔｈ以下となる周波数帯域を算出する（ステップＳ３８０２）。図２６には、３種類の露光条件を一次元フーリエ変換した後、その周波数応答をプロットした。横軸は周波数ｕを表しており、正の周波数である０≦ｕ≦１の範囲をプロットした。縦軸は各周波数の応答値を対数表記で表し、各応答値は直流成分（ｕ＝０）の値で正規化している。ステップＳ３８０２では閾値Ｔｈ＝０．０１と定め、Ｔｈ以下となる周波数帯域を求める。図２６において、露光パターン１では周波数帯域Ｌ１と周波数帯域Ｌ３で閾値Ｔｈを下回る。露光パターン２では周波数帯域Ｌ２で閾値Ｔｈを下回る。露光パターン３では閾値Ｔｈを下回る周波数帯域は存在しない。次に、入力された補正関数の中から画像補正時に使用する露光条件の個数分の組合せを設定する（ステップＳ３８０３）。本実施形態では、異なる３種類の露光条件を使用した場合の全組合せについて評価値の算出を行う。選択された３個の補正関数に対して、閾値を下回る周波数帯域が重複する周波数帯を取得する（ステップＳ３８０４）。図２６に表示される３種類の補正関数から得られる周波数帯域Ｌ１、Ｌ２、Ｌ３には、重複する周波数帯域が含まれない。次に、入力された補正関数で可能な全ての組合せについて評価値の算出が終了したか否かを判定する（ステップＳ３８０５）。終了していない場合には、補正関数の組合せを更新し、ステップＳ３８０３からステップＳ３８０５の処理を繰り返し行う。全ての補正関数の組合せに対して評価値の算出が完了すると、全評価値の中から、重複する周波数帯域が最も少ない、望ましくは皆無となる補正関数の組合せを選択する（ステップＳ３８０６）。最適な補正関数の組合せが完了すると、それらに対応する露光条件を出力し、露光条件の規定処理が完了する。
【００８２】
以上の処理によって規定される露光条件の周波数特性（補正関数）は、補正画像に生じやすいリンギングを抑える効果がある。複数の露光条件を用いてぶれ補正処理を行うことで、１種類の露光条件では補正が不十分となる周波数帯をその他の露光条件が補うことが可能となり、好適なぶれ補正を実現することができる。
【００８３】
本実施形態では３種類の補正関数の組合せによる露光条件の規定処理について言及したが、使用する補正関数は３種類に限定されるものではない。２種類の補正関数を用いた場合でも、４種類以上の補正関数を用いた場合でも本実施形態５が実行可能である。
【００８４】
以上説明したように、第５の実施形態によれば、複数の露光条件の周波数特性を考慮することにより、１種類の露光条件では画像補正が不十分となる周波数帯をその他の露光条件が補うことが可能となる。また、露光条件の選定に際してテスト画像を使用しないため、任意の画像に対して好適な画像補正を実現できる露光条件の組合せを提供することが可能である。
【００８５】
［その他の実施形態］
本発明は、各実施形態について、その機能を実現するプログラムをコンピュータ（またはＣＰＵ）により実行させることによっても実現できる。プログラムは、記憶媒体によりコンピュータに提供できる。
【図１】
2011109619.tif 000009
【図２】
2011109619.tif 000010
【図３】
2011109619.tif 000011
【図４】
2011109619.tif 000012
【図５】
2011109619.tif 000013
【図６】
2011109619.tif 000014
【図８】
2011109619.tif 000015
【図９】
2011109619.tif 000016
【図１０】
2011109619.tif 000017
【図１１】
2011109619.tif 000018
【図１３】
2011109619.tif 000019
【図１４】
2011109619.tif 000020
【図１５】
2011109619.tif 000021
【図１６】
2011109619.tif 000022
【図１７】
2011109619.tif 000023
【図１８】
2011109619.tif 000024
【図１９】
2011109619.tif 000025
【図２０】
2011109619.tif 000026
【図２１】
2011109619.tif 000027
【図２２】
2011109619.tif 000028
【図２３】
2011109619.tif 000029
【図２４】
2011109619.tif 000030
【図２５】
2011109619.tif 000031
【図２６】
2011109619.tif 000032
【図２７】
2011109619.tif 000033
【図２８】
2011109619.tif 000034
【図７】
2011109619.tif 000035
【図１２】
2011109619.tif 000036
【図２９】
2011109619.tif 000037