(57)【要約】【課題】  ランダム露光を用いた制御パターンでは、被写体の周波数特性に偏りがある場合、ノイズが増幅され好適な補正ができない。【解決手段】  解析部104は、プレ撮像した画像データから被写体の周波数特性を解析する。パターン選択部105は、解析の結果に基づき、撮像部102により被写体を本撮像する際の撮像部102のシャッタの開閉を制御する制御パターンを選択する。振れ検出部107は、撮像装置11の振れを検出する。パラメータ算出部108は、制御パターンおよび本撮像における撮像装置11の振れから補正パラメータを算出する。画像処理部109は、補正パラメータを用いて本撮像された撮像データを補正する。【選択図】  図9
2010273139.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段によりプレ撮像した画像データから被写体の周波数特性を解析する解析手段と、
前記解析の結果に基づき、前記撮像手段により前記被写体を本撮像する際の前記撮像手段のシャッタの開閉を制御する制御パターンを選択する選択手段と、
撮像装置の振れを検出する検出手段と、
前記選択した制御パターンおよび前記本撮像における前記撮像装置の振れから補正パラメータを算出する算出手段と、
前記補正パラメータを用いて前記本撮像された撮像データを補正する補正手段とを有することを特徴とする画像処理装置。
【請求項２】
さらに、制御パターンの周波数特性およびシャッタの開閉比率に基づき、前記制御パターンを生成する生成手段と、
前記生成手段が生成した制御パターンを前記選択手段の選択用に保持する保持手段とを有することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記選択手段は、前記被写体の周波数特性に最も近い周波数特性を有する制御パターンを、前記保持手段が保持する制御パターンから選択することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記算出手段は、前記制御パターンおよび前記撮像装置の振れから画像の暈けを示す点像分布関数を算出し、前記点像分布関数に基づき前記補正パラメータを算出することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
前記解析手段は、前記撮像装置の振れによる画像の暈けが防げ、かつ、前記被写体の周波数特性の解析が可能な時間を前記プレ撮像の露光時間に設定することを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項６】
撮像手段によりプレ撮像した画像データから被写体の周波数特性を解析し、
前記解析の結果に基づき、前記撮像手段により前記被写体を本撮像する際の前記撮像手段のシャッタの開閉を制御する制御パターンを選択し、
撮像装置の振れを検出し、
前記選択した制御パターンおよび前記本撮像における前記撮像装置の振れから補正パラメータを算出し、
前記補正パラメータを用いて前記本撮像された撮像データを補正することを特徴とする画像処理方法。
【請求項７】
画像処理装置に、請求項6に記載された画像処理を実行させることを特徴とするプログラム。
【請求項８】
請求項7に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の手振れ補正に関する。
【背景技術】
【０００２】
撮像装置の代表例であるディジタルカメラにおいては、被写体からの光が、レンズなどの光学系を介して、CCDやCMOSなどの撮像デバイス上に結像する。撮像デバイスは、光量をアナログの電気信号に変換し、このアナログ信号が被写体の画像を示すディジタル信号に変換される。
【０００３】
被写体の画像を示す適切なディジタル信号を得るために、撮像デバイスの光量レンジが予め設定されている。光量レンジを超える量の光が撮像デバイスに入力すると、アナログ信号またはディジタル信号が飽和する可能性がある。逆に、撮像デバイスに入力する光が光量レンジに達しない場合は、アナログ信号のSN比が悪化する。
【０００４】
そこで、ディジタルカメラにおいては、露光時間（シャッタスピード）を設定した後、撮像を開始する。被写体からの光の強さに基づき露光時間を設定すれば、被写体からの光の強さに関わらず、撮像デバイスに設定された光量レンジ内の露光が可能になり、適切なアナログ信号、ディジタル信号を得ることができる。つまり、被写体からの光が弱い場合は露光時間を相対的に長くし、逆に、被写体からの光が強い場合は露光時間を相対的に短くする。しかし、例えば撮像装置を手で持つなど、撮像装置が非固定の場合、露光時間が長くなれば、露光中の撮像装置の振れによって撮影された画像が暈けることがある。
【０００５】
●振れによる画像の暈けの補正
振れによる画像の暈けを補正するには、例えば、画像の暈けの周波数特性を予測し、その周波数特性の逆特性を画像に乗算する。具体的には、ジャイロセンサなどを用いて振れを計測し、露光時間と振れの分布から、画像上の点の暈けを示す関数である点像分布関数(point spread function: PSF)を推定する。そして、PSFの周波数特性を算出し、当該周波数特性の逆特性になるフィルタやWienerフィルタによって画像をフィルタリングすることで暈けの補正が可能である。勿論、周波数特性やその逆特性が求まらない場合、適切なフィルタを得ることができず、暈けの補正は不可能である。
【０００６】
図1は暈けの補正が不可能な例を説明する図である。
【０００７】
図1(a)はシャッタの開閉を示し、h=1でシャッタ開、h=0でシャッタ閉で、露光時間が1.2秒間の例を示している。
【０００８】
図1(b)は撮像の開始からの時間と撮像装置のXY方向の振れの軌跡、つまり、撮像の開始から時間とともに撮像装置がどの方向に振れたを示す図である。図1(b)の例は、2.4秒間にY方向へ60画素分、等速に振れたことを表す。なお、説明を簡単にするため、振れが等速の例を説明するが、勿論、等速ではない場合もある。
【０００９】
図1(c)は、図1(a)の露光と図1(b)の振れの軌跡を組み合わせた状態を示す。つまり、露光時間は1.2秒間であるから、Y方向へ30画素分の等速の振れが、撮影された画像に影響することになる。
【００１０】
図1(d)は図1(c)の振れの軌跡をXY平面に写像した図で、太線で表される部分が、上述したPSFに相当する。
【００１１】
図1(e)はPSFの周波数特性を示す図である。図1(e)に示すように、等間隔で応答が0になる周波数が存在する。図1(e)に示す周波数特性の逆特性（図1(f)）が求められれば、振れによる暈けの補正が可能になる。しかし、図1(f)に示すように、図1(e)において応答が0となる周波数において、逆特性は無限大に発散する。つまり、図1(a)に示すシャッタ開閉状態と、図1(b)に示す振れの軌跡の組み合わせにおいては逆特性が求められず、暈けの補正が不可能になる。
【００１２】
図2は暈けの補正が不可能な状況を具体的に示す図である。
【００１３】
図2(a)に示す被写体を、図1(a)に示すシャッタ開閉状態で、図1(b)に示す振れの軌跡を与えて撮影した画像が図2(b)である。図2(b)に示すように、Y方向への振れによって、被写体の黒点群は灰色の縦線状に暈け、被写体の黒横線は灰色の横線に暈ける。
【００１４】
図2(c)は、図2(b)の画像の暈けを補正した画像を示す。黒横線はかなり復元されるが、黒点群は復元されず灰色の縦線状に暈けたままである。
【００１５】
●シャッタ開ランダム制御
非特許文献1には、振れによる画像の暈けを補正する技術が提案されている。この技術は、露光期間において、小刻みかつランダムにシャッタを開閉する（以下、シャッタ開ランダム制御）ことで、振れによる画像の暈けを補正する。
【００１６】
図3はシャッタ開ランダム制御による暈けの補正を説明する図である。
【００１７】
図3(a)はシャッタの開閉を示し、露光開始から終了まで2.4秒間の間にシャッタ開が1.2秒間ある例を示している。
【００１８】
図3(b)は撮像の開始からの時間と撮像装置のXY方向の振れの軌跡、つまり、撮像の開始から時間とともに撮像装置がどの方向に振れたを示す図である。図3(b)の例は、図1(b)と同様、2.4秒間にY方向へ60画素分、等速に振れたことを表す。
【００１９】
図3(c)は、図3(a)の露光時間と図3(b)の振れの軌跡を組み合わせた状態を示す。つまり、露光時間は断続的に2.4秒間であるから、Y方向へ60画素分の等速の振れが撮影された画像に影響することになる。
【００２０】
図3(d)は図3(c)の振れの軌跡をXY平面に写像した図で、太破線で表される部分がPSFに相当する。
【００２１】
図3(e)はPSFの周波数特性を示す図である。図3(e)に示すように、応答が0になる周波数は存在しない。従って、図3(e)に示す周波数特性の逆特性は、図3(f)に示すように、無限大に発散する周波数は存在しない。つまり、図3(a)に示すシャッタ開ランダム制御と、図3(b)に示す振れの軌跡の組み合わせにおいては逆特性を求めることができ、暈けの補正が可能になる。
【００２２】
図4は暈けの補正が可能な状況を具体的に示す図である。
【００２３】
図4(a)に示す被写体を、図3(a)に示すシャッタ開ランダム制御状態で、図3(b)に示す振れの推移を与えて撮影した画像が図4(b)である。図4(b)に示すように、Y方向への振れによって、被写体の黒点群は灰色の縦破線状に暈け、被写体の黒横線は灰色の横線に暈ける。
【００２４】
図4(c)は、図4(b)の画像の暈けを補正した画像を示す図で、黒横線と黒点群が復元されている。
【００２５】
図5は図4(a)に示す被写体画像の周波数特性を示す図である。つまり、図4(a)に示す被写体のように、周波数特性が低周波から高周波まで満遍なく存在する画像の場合は、シャッタ開ランダム制御は暈けを好適に補正する。しかし、画像の周波数特性に偏りがある場合、シャッタ開ランダム制御は暈けを好適に補正することができない。
【００２６】
図6は風景写真の一例と、その周波数特性を示す図である。つまり、図6(a)に示す写真画像は、図6(b)に示す低周波側に偏った周波数特性を有する。従って、図6(a)に示すような被写体の場合、シャッタ開ランダム制御の周波数特性と被写体の周波数特性が乖離し、その結果、暈けの補正によりノイズを増幅する場合がある。
【００２７】
図7はシャッタ開ランダム制御を用いた暈けの補正がノイズを増幅する理由を説明する図である。
【００２８】
図7において、符号6001は被写体の周波数特性を示し、符号6002はシャッタ開ランダム制御の周波数特性を示す。撮影画像は、被写体の周波数特性6001とシャッタ開ランダム制御の周波数特性6002を乗算した周波数特性6003をもつ。周波数特性6003は、低周波側で応答が減衰した特性を示し、減衰分を補正して元の周波数特性6004に近付けるには、大きなゲインを与える必要がある。その結果、低周波側でノイズを増大させることになる。
【００２９】
図8は低周波側でノイズが増幅された画像を示す図で、図6(a)に比べて、低周波のノイズが目立つ。
【先行技術文献】
【非特許文献】
【００３０】
【非特許文献１】Coded Exposure Photography: Motion Deblurring using Fluttered Shutter, ACM SIGGRAPH 2006
【発明の概要】
【発明が解決しようとする課題】
【００３１】
本発明は、シャッタ開ランダム制御によって、振れよる画像の暈けを補正する際に、ノイズの増幅を抑制することを目的とする。
【課題を解決するための手段】
【００３２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００３３】
本発明にかかる画像処理は、撮像手段によりプレ撮像した画像データから被写体の周波数特性を解析し、前記解析の結果に基づき、前記撮像手段により前記被写体を本撮像する際の前記撮像手段のシャッタの開閉を制御する制御パターンを選択し、撮像装置の振れを検出し、前記選択した制御パターンおよび前記本撮像における前記撮像装置の振れから補正パラメータを算出し、前記補正パラメータを用いて前記本撮像された撮像データを補正することを特徴とする。
【発明の効果】
【００３４】
本発明によれば、シャッタ開ランダム制御によって、振れよる画像の暈けを補正する際に、ノイズの増幅を抑制することができる。
【図面の簡単な説明】
【００３５】
【図１】暈けの補正が不可能な例を説明する図。
【図２】暈けの補正が不可能な状況を具体的に示す図。
【図３】シャッタ開ランダム制御による暈けの補正を説明する図。
【図４】暈けの補正が可能な状況を具体的に示す図。
【図５】図4(a)に示す被写体画像の周波数特性を示す図。
【図６】風景写真の一例と、その周波数特性を示す図。
【図７】シャッタ開ランダム制御を用いた暈けの補正がノイズを増幅する理由を説明する図。
【図８】低周波側でノイズが増幅された画像を示す図。
【図９】実施例の撮像装置の構成例を示すブロック図。
【図１０】撮像装置の動作を説明するフローチャート。
【図１１】プレ撮像によって撮影された画像例を示す図。
【図１２】パターン保持部が保持する制御パターンの一例を示す図。
【図１３】補正パラメータの算出を説明する図。
【図１４】制御パターン生成装置の動作を説明するフローチャート。
【図１５】制御パターンの生成の詳細を説明するフローチャート。
【図１６】サイズ32の初期制御パターンの一例を示す図。
【図１７】交叉処理の一例を示す図。
【図１８】突然変異処理の一例を示す図。
【図１９】シャッタ開ランダム制御を用いた暈けの補正においてノイズの増幅を抑制した様子を説明する図。
【図２０】シャッタ開ランダム制御を用いた暈けの補正においてノイズの増幅を抑制した画像を示す図。
【発明を実施するための形態】
【００３６】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００３７】
［装置の構成］
図9は実施例の撮像装置の構成例を示すブロック図で、撮像装置11に制御パターン生成装置12が接続された状態を示す。
【００３８】
撮像装置11において、光学部101はレンズや光学ローパスフィルタなどを有する。撮像部102は、メカニカルシャッタや撮像デバイスなどを有する。
【００３９】
解析部104は、解析用データメモリ103が保持するデータに基づき被写体の周波数特性を解析する。パターン選択部105は、解析部104の解析結果に基づき、パターン保持部106が保持する制御パターンの中から制御パターンを選択する。
【００４０】
振れ検出部107は、撮影時の振れを検出する。パラメータ算出部108は、パターン選択部105が選択した制御パターンと、振れ検出部107が検出した振れに基づき、補正パラメータを算出する。画像処理部109は、撮像部102が出力するアナログ信号をアナログ/ディジタル変換して撮像データに変換する。そして、撮像データに補正パラメータに基づく振れ補正を施し、さらにデモザイキング処理などを施して、画像データを出力する。
【００４１】
解析用データメモリ103は、画像処理部109が出力する、後述するプレ撮像された画像データを、被写体の周波数特性の解析用に保持する。
【００４２】
画像メモリ110は、画像処理部109が出力する、後述するライブビュー用の画像データや本撮像された画像データを保持する。表示部111は、画像メモリ110に保持された画像データが表す画像などを表示するLCDなどである。出力部112は、外部装置に接続するインタフェイスや、メモリカードが装着可能なカードリーダライタなどであり、画像メモリ110に保持された画像データを外部装置に出力したり、メモリカードに格納する機能を有する。
【００４３】
制御パターン生成装置12は、パターン保持部106に格納する制御パターンを計算するパターン計算部201を有する。なお、撮像装置11と制御パターン生成装置12は、例えば、所定のインタフェイスを介して着脱自在に接続可能である。また、メモリカードによってパターン保持部106を構成し、撮像装置11から分離したメモリカードに制御パターン生成装置12によって制御パターンを書き込み、制御パターンを書き込んだメモリカードを撮像装置11に装着してもよい。
【００４４】
［撮像装置の動作］
図10は撮像装置11の動作を説明するフローチャートである。
【００４５】
撮像装置11は、図示しないシャッタボタンが押されるなど撮影が指示されると、プレ撮像を行い(S101)、プレ撮像した画像データを解析用データメモリ103に格納する(S102)。なお、プレ撮像された画像データをそのまま解析用データメモリ103に格納してもよいが、ダウンサンプリングした画像データを解析用データメモリ103に格納してもよい。
【００４６】
撮像装置11は、撮像装置の振れによる画像の暈けが防げ、かつ、被写体の周波数特性の解析に充分な時間をプレ撮像の露光時間に設定する。従って、プレ撮像は、本撮像に比べて短い露光時間になり、画像処理部109は、プレ撮像された撮像データには振れ補正を施さない。図11はプレ撮像によって撮影された画像例を示す図で、光量が不足するため暗い画像になる。なお、ユーザが構図を決めている途中のライブビュー画像をプレ撮像の画像に利用してもよい。
【００４７】
次に、撮像装置11は、解析部104により、解析用データメモリ103に格納した画像データを解析して被写体の周波数特性を算出する(S103)。例えば、プレ撮像の画像データをフーリエ変換して、フーリエ変換後の応答（以下、振幅スペクトルF(s)）を算出する。フーリエ変換後のデータは下式で表される。なお、振幅スペクトルではなく、パワースペクトルや、位相スペクトルを算出してもよい。
Rf(u, v) = Fourier{rp(x, y)}
Gf(u, v) = Fourier{gp(x, y)}      …(1)
Bf(u, v) = Fourier{bp(x, y)}
ここで、rp(x, y)、gp(x, y)、bp(x, y)はプレ撮像された画像データのRGB値、
u、vは正規化された空間周波数、-0.5≦u≦0.5、-0.5≦v≦0.5、
u ,v=0の場合は直流成分を示す。
【００４８】
次に、撮像装置11は、パターン選択部105により、被写体の振幅スペクトルF(s)に基づき、パターン保持部106が保持する制御パターンの中から本撮像に使用する制御パターンを選択する(S104)。
【００４９】
●パターン選択部
図12はパターン保持部106が保持する制御パターンの一例を示す図である。パターン保持部106は、制御パターンPnと、その周波数特性（振幅スペクトルPn(s)）を複数、制御パターン選択部の選択用に保持する。
【００５０】
パターン選択部105は、プレ撮像した画像のRGBそれぞれの二次元振幅スペクトルを、縦横平均化して一次元の振幅スペクトルに変換する。
Rg(s) = {√Rf(0, s)2 + √Rf(s, 0)2}/2
Gg(s) = {√Gf(0, s)2 + √Gf(s, 0)2}/2      …(2)
Bg(s) = {√Bf(0, s)2 + √Bf(s, 0)2}/2
ここで、0≦s≦0.5、正の空間周波数のみを考慮する。
【００５１】
さらに、パターン選択部105は、被写体の振幅スペクトルF(s)を下式によって算出する。
F(s) = {Rg(s) + Gg(s) + Bg(s)}/3      …(3)
【００５２】
さらに、パターン選択部105は、被写体の振幅スペクトルF(s)と、制御パターンPkの振幅スペクトルPk(s)の積の総和Tkを計算する
Tk = Σ{F(s)×Pk(s)}      …(4)
ここで、Σの範囲はs=0から0.5、
1≦k≦n。
【００５３】
そして、パターン選択部105は、Tk（被写体の振幅スペクトルF(s)と制御パターンPkの振幅スペクトルPk(s)の積の総和算、言い換えれば、振幅スペクトルの積分値）が最大になる制御パターンPnを選択する。
【００５４】
なお、制御パターンの選択基準は「振幅スペクトルの積分値が最大」に限らず、例えば「パワースペクトルの二乗誤差が最小」や「被写体の位相スペクトルと最も相関が高い位相スペクトルをもつ制御パターン」でもよい。
【００５５】
次に、撮像装置11は、撮像部102により、選択した制御パターンPnを用いるシャッタ開制御を行い、本撮像を行う(S105)。なお、撮像部102はメカニカルシャッタを備えると説明したが、電子シャッタを利用してもよいし、メカニカルシャッタと電子シャッタの組み合わせでもよい。
【００５６】
次に、撮像装置11は、パラメータ算出部108により、振れ検出部107が検出した本撮像時の振れと、本撮像に使用した制御パターンに基づき、暈けの点像分布関数(point spread function: PSF)を算出し、算出したPSFから補正パラメータを算出する(S106)。
【００５７】
●補正パラメータの算出
振れ検出部107は、ジャイロセンサなどを用いて、本撮像中に撮像装置11が振れた方向と量を検出する。
【００５８】
図13は補正パラメータの算出を説明する図である。
【００５９】
図13(a)は振れ検出部107による振れの検出結果の一例を示す図で、Y方向に等速に振れた場合を示す。図13(a)の例は、2.4秒間にY方向へ60画素分、等速に振れたことを表す。なお、説明を簡単にするため、等速の振れを説明するが、等速ではない場合もあり、その場合、振れの軌跡は曲線になる。
【００６０】
図13(b)はシャッタの開閉を示し、露光開始から終了まで2.4秒間の間にシャッタ開が1.2秒間ある例を示している。
【００６１】
図13(c)は、図13(b)の露光と図13(a)の振れの軌跡を組み合わせた状態を示す。つまり、露光時間は断続的に2.4秒間であるから、Y方向へ60画素分の等速の振れが撮影された画像に影響することになる。
【００６２】
図13(d)は図13(c)の振れの軌跡をXY平面に写像した図で、太破線で表される部分がPSFに相当する。
【００６３】
パラメータ算出部108は、図13(d)に示す振れのPSFを用いて、暈け補正用の補正パラメータとして、例えばWienerフィルタを算出する。勿論、その他のフィルタでもよく、例えばカルマンフィルタでもよい。また、フィルタ処理を用いた暈けの補正に限らず、アンシャープマスクのような鮮鋭化処理でもよい。
【００６４】
パラメータ算出部108は、図13(d)に示すPSFをフーリエ変換し、PSFの周波数特性であるFPSFを算出する。
FPSF(u, v) = Fourier{PSF(x, y)}      …(5)
【００６５】
次に、パラメータ算出部108は、FPSFからWienerフィルタFwを算出する。
Fw(u, v) = 1/FPSF(u, v)・FPSF(u, v)2/{FPSF(u, v)2 + Noise(u, v)2}      …(6)
ここで、Noise(u, v)は画像に重畳する周波数ごとのノイズ量。
【００６６】
そして、パラメータ算出部108は、周波数領域におけるFwを逆フーリエ変換して実空間のフィルタW(x, y)（補正パラメータ）を算出する。
W(x, y) = Fourier-1{Fw(u, v)}      …(7)
【００６７】
次に、撮像装置11は、画像処理部109により、補正パラメータの実空間のWienerフィルタを使用して、本撮像された撮像データの暈けを補正する(S107)。
Imgcorrect(x, y) = Img(x, y) * W(x, y)      …(8)
ここで、Img(x, y)はA/D変換された撮像データ、
Imgcorrect(x, y)は暈け補正後の撮像データ、
*はコンボリューションを表す。
【００６８】
そして、撮像装置11は、画像処理部109により、暈け補正後の撮像データをデモザイキング処理した結果のRGB画像データ（本撮像された画像データ）を画像メモリ110に格納する(S108)。そして、本撮像した画像データの出力として、画像データが表す画像の表示部111への表示、出力部112を介した、外部装置への出力、メモリカードへの保存の少なくとも一つを行う(S109)。
【００６９】
［制御パターン生成装置の動作］
●目標関数の設定
制御パターン生成装置12は、目標関数を設定して制御パターンを生成する。目標関数は、制御パターンの空間周波数特性、シャッタの開閉比率を表す。
【００７０】
制御パターンの周波数特性をガウス型の低域通過特性とすると、次式のようになる。なお、シャッタ開の比率をa、つまりシャッタ開の時間比率がa%に対して、シャッタ閉の時間比率は100-a%である。
G(f) = a√(2π)σ・N(μ, σ2)
= a√(2π)σ・N(0, σ2)      …(9)
ここで、G(f)は周波数特性、
aはシャッタ開の比率、
N(μ, σ2)はガウス分布密度関数、
μは平均値、
σ2は分散。
【００７１】
式(9)において、分散σはガウス分布の拡がり度合いを示す。分散σが大きくなると減衰特性が弱い低域通過特性になり、分散σが小さいと減衰特性の強い低域通過特性になる。なお、制御パターンの周波数特性はガウス型の低域通過特性に限らず、例えば、矩形型の低域通過特性でもよいし、帯域通過特性や帯域阻止特性でもよい。
【００７２】
●制御パターンの生成
図14は制御パターン生成装置12の動作を説明するフローチャートである。
【００７３】
パターン計算部201は、目標関数を設定し(S201)、制御パターンの周波数特性と目標関数の周波数特性の二乗平均誤差が最小になるように制御パターンを編集する(S202)。なお、本実施例において、遺伝的アルゴリズムにより、制御パターンの周波数特性と目標関数の周波数特性の二乗平均誤差が最小になるように制御パターンを編集して、目標関数にマッチする制御パターンを生成する。勿論、制御パターンの編集に他の編集アルゴリズムを用いてもよい。そして、生成した制御パターンをパターン保持部106に格納する(S203)。
【００７４】
図15は制御パターンの生成(S202)の詳細を説明するフローチャートである。
【００７５】
パターン計算部201は、サイズLの初期制御パターンを複数個P生成する(S301)。この処理は、遺伝的アルゴリズムにおけるP個の初期集団の生成と等価である。図16はサイズ32の初期制御パターンの一例を示す図で、白ドットはシャッタ開に、黒ドットはシャッタ閉に対応する。
【００７６】
次に、パターン計算部201は、初期制御パターンの周波数特性と、目標関数の周波数特性が類似するか否かを評価する(S302)。本実施例においては、制御パターンの振幅スペクトルと、目標関数の周波数特性G(f)の二乗平均誤差を評価する。
【００７７】
制御パターンをh(t)とすると、その振幅スペクトルHamp(f)は次式で表される。
H(f) = Fourier{h(t)}             …(10)
Hamp(f) = √{H(f)2}      …(11)
【００７８】
従って、評価値Jは次式で表される。
J = Σ{G(f) - Hamp(f)}2      …(12)
【００７９】
遺伝的アルゴリズムは、適応度が大きい個体を探索するアルゴリズムであるから、評価値Jが小さいほど大きな適応度を与える必要がある。このため、例えば適応度Fを以下のようにすればよい。
F = (Jmax - J)+α      …(13)
ここで、αは正の定数、
Jmaxは現世代の集団の最大の評価値（評価が最低の個体の評価値）。
【００８０】
なお、評価値Jから適応度Fへの変換は、上式に限るものではなく、シグモイド関数などを用いて、評価値Jが小さくなるほど適応度Fが大きくなるようにすればよい。
【００８１】
次に、パターン計算部201は、現世代の世代数と最大世代数を比較して、現世代の世代数が最大世代数に達した場合は、制御パターンの編集が終了したと判定する(S303)。つまり、後述する選択処理、交叉処理、突然変異処理（制御パターンの編集）により、現世代のP個の制御パターンから次世代のP個の制御パターンを生成する。そして、最大世代数に達するまで制御パターンの編集を繰り返し、最終的に現世代の中で最も適応度Fが高い制御パターンを目標関数にマッチする制御パターンとする。
【００８２】
制御パターンの編集が未了の場合、パターン計算部201は、遺伝的アルゴリズムにおける選択を行う(S304)。遺伝的アルゴリズムにおける選択は、適応度Fの大きな制御パターンを次の世代に残す処理である。適応度Fが大きければ大きいほど選択される確率が大きくなるようにルーレットルール、または、トーナメント方式を採用する。なお、ルーレットルール、トーナメント方式は、遺伝的アルゴリズムにおける既知の処理である。
【００８３】
次に、パターン計算部201は、選択した制御パターン同士を交叉確率pc（0≦pc≦1）で交叉させる(S305)。図17は交叉処理の一例を示す図で、二つの制御パターンの間でパターンの一部を入れ替える。なお、制御パターンの交叉点はランダムに決定する。また、図17には一点交叉を示すが、二点交叉を利用してもよい。
【００８４】
次に、パターン計算部201は、選択した制御パターンを突然変異確率pm（0≦pm≦1）で突然変異させる(S306)。図18は突然変異処理の一例を示す図で、突然変異位置のシャッタの開閉を反転する。なお、突然変異位置（図18の例ではハッチング部分）はランダムに決定する。突然変異の処理が終了後、処理をステップS302へ戻す。
【００８５】
このように、本撮像の前に、仮撮像した被写体の周波数特性を解析する。そして、被写体の周波数特性に最も近い制御パターンを選択して本撮影を行う。従って、被写体の周波数特性と制御パターンの周波数特性の乖離を低減することができ、ノイズの増幅を抑制することができる。
【００８６】
図19はシャッタ開ランダム制御を用いた暈けの補正においてノイズの増幅を抑制した様子を説明する図である。
【００８７】
図19において、符号8001は被写体の周波数特性を示し、符号8002は制御パターンの周波数特性を示す。制御パターンの周波数特性8002は、被写体の周波数特性8001と同様に、低周波側成分を多くもつ。
【００８８】
撮影画像は、被写体の周波数特性8001と制御パターンの周波数特性8002を乗算した周波数特性8003をもつ。周波数特性8003は、低周波側で応答が若干減衰した特性を示すが、減衰分を補正して元の周波数特性8004に近付けるには、図7の例に比べて大きなゲインを与える必要はない。その結果、低周波側のノイズの増幅を抑制することができる。
【００８９】
図20はシャッタ開ランダム制御を用いた暈けの補正においてノイズの増幅を抑制した画像を示す図で、図8に比べて、低周波のノイズが抑制されている。
【００９０】
［変形例］
上記では、制御パターン生成装置12が生成した制御パターンをパターン保持部106に保持し、パターン保持部106が保持する制御パターンから、被写体の周波数特性に最も近い制御パターンを選択して本撮像を行う例を説明した。
【００９１】
しかし、制御パターンを予め用意せずに、プレ撮像で撮像した画像の周波数特性（被写体の周波数特性）にマッチする制御パターンをリアルタイムに生成してもよい。その際の目標関数はプレ撮像した画像の振幅スペクトルである。こうすれば、パターン保持部106が不要になり、撮像装置11が必要とするメモリ量を削減することができる。
【００９２】
本発明の目的は、次のようにしても達成される。上記実施例の機能または先に説明したフローチャートを実現するコンピュータプログラムを記録した記録媒体または記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）に前記コンピュータプログラムを実行させる。この場合、記録媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【図１】
2010273139.tif 000003
【図３】
2010273139.tif 000004
【図５】
2010273139.tif 000005
【図７】
2010273139.tif 000006
【図９】
2010273139.tif 000007
【図１０】
2010273139.tif 000008
【図１２】
2010273139.tif 000009
【図１３】
2010273139.tif 000010
【図１４】
2010273139.tif 000011
【図１５】
2010273139.tif 000012
【図１６】
2010273139.tif 000013
【図１７】
2010273139.tif 000014
【図１８】
2010273139.tif 000015
【図１９】
2010273139.tif 000016
【図２】
2010273139.tif 000017
【図４】
2010273139.tif 000018
【図６】
2010273139.tif 000019
【図８】
2010273139.tif 000020
【図１１】
2010273139.tif 000021
【図２０】
2010273139.tif 000022