以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。後に第1〜第4実施形態を説明するが、まず、各実施形態に共通する事項又は各実施形態にて参照される事項について説明する。
図1は、本発明の実施形態に係る撮像装置1の全体ブロック図である。撮像装置1は、静止画像を撮影及び記録可能なデジタルスチルカメラ、又は、静止画像及び動画像を撮影及び記録可能なデジタルビデオカメラである。
撮像装置1は、撮像部11と、AFE(Analog Front End)12と、主制御部13と、内部メモリ14と、表示部15と、記録媒体16と、操作部17と、を備えている。操作部17には、シャッタボタン17aが備えられている。
図2に、撮像部11の内部構成図を示す。撮像部11は、光学系35と、絞り32と、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどから成る撮像素子33と、光学系35や絞り32を駆動制御するためのドライバ34と、を有している。光学系35は、ズームレンズ30及びフォーカスレンズ31を含む複数枚のレンズから形成される。ズームレンズ30及びフォーカスレンズ31は光軸方向に移動可能である。ドライバ34は、主制御部13からの制御信号に基づいてズームレンズ30及びフォーカスレンズ31の各位置並びに絞り32の開度を駆動制御することにより、撮像部11の焦点距離(画角)及び焦点位置並びに撮像素子33への入射光量を制御する。
撮像素子33は、光学系35及び絞り32を介して入射した被写体を表す光学像を光電変換し、該光電変換によって得られた電気信号をAFE12に出力する。より具体的には、撮像素子33は、マトリクス状に二次元配列された複数の受光画素を備え、各撮影において、各受光画素は露光時間に応じた電荷量の信号電荷を蓄える。蓄えた信号電荷の電荷量に比例した大きさを有する各受光画素からのアナログ信号は、撮像装置1内で生成される駆動パルスに従って順次AFE12に出力される。以下の説明における「露光」とは、撮像素子33の露光を意味するものとする。また、露光時間の長さは、主制御部13によって制御される。
AFE12は、撮像部11(撮像素子33)から出力されるアナログ信号を増幅し、増幅されたアナログ信号をデジタル信号に変換する。AFE12は、このデジタル信号を、順次、主制御部13に出力する。AFE12における信号増幅の増幅度は、主制御部13によって制御される。
主制御部13は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)等を備え、映像信号処理部として機能する。主制御部13は、AFE12の出力信号に基づいて、撮像部11によって撮影された画像(以下、「撮影画像」ともいう)を表す映像信号を生成する。また、主制御部13は、表示部15の表示内容を制御する表示制御手段としての機能をも備え、表示に必要な制御を表示部15に対して行う。
内部メモリ14は、SDRAM(Synchronous Dynamic Random Access Memory)等にて形成され、撮像装置1内で生成された各種データを一時的に記憶する。表示部15は、液晶ディスプレイパネル等から成る表示装置であり、主制御部13の制御の下、撮影された画像や記録媒体16に記録されている画像などを表示する。記録媒体16は、SD(Secure Digital)メモリカード等の不揮発性メモリであり、主制御部13による制御の下、撮影画像などを記憶する。
操作部17は、外部からの操作を受け付ける。操作部17に対する操作内容は、主制御部13に伝達される。シャッタボタン17aは、静止画像の撮影及び記録を指示するためのボタンである。シャッタボタン17aを押下することによって静止画像の撮影及び記録が指示される。
また、シャッタボタン17aは、2段階の押下操作が可能となっており、撮影者がシャッタボタン17aを軽く押し込むと、シャッタボタン17aは半押しの状態となり、その状態から更にシャッタボタン17aを押し込むとシャッタボタン17aは全押しの状態となる。
撮影画像としての静止画像は、手ぶれに起因するぶれを含みうる。主制御部13には、この静止画像のぶれを画像処理によって補正する機能が備えられている。図3に、ぶれの補正に特に関与する部位のみを示した、主制御部13の内部ブロック図を示す。図3に示す如く、主制御部13には、撮影制御部51、補正制御部52及びぶれ補正処理部53が備えられている。
ぶれ補正処理部53は、通常露光撮影によって得られた通常露光画像と短露光撮影によって得られた短露光画像に基づいて通常露光画像のぶれを補正する。通常露光撮影は、適正な露光時間にて行われる撮影を意味し、短露光撮影は、通常露光撮影の露光時間よりも短い露光時間にて行われる撮影を意味する。通常露光画像は通常露光撮影によって得られる撮影画像(静止画像)であり、短露光画像は短露光撮影によって得られる撮影画像(静止画像)である。また、ぶれ補正処理部53によって実行される、ぶれを補正するための処理をぶれ補正処理という。撮影制御部51には、短露光撮影の撮影制御を行う短露光撮影制御部54が備えられている。短露光撮影の撮影制御には、短露光撮影時における焦点距離、露光時間及びISO感度に対する制御が含まれる。尚、図3に示される記号(f1等)の意義は後述の説明から明らかとなる。
図3に示す各部位の詳細動作を含む撮像装置1の動作を説明する実施形態として、以下に、第1〜第4実施形態を説明する。撮像装置1において、ぶれ補正処理の実行可否に対する制御が行われるが、その制御は、通常露光画像の撮影パラメータに基づくものと短露光画像のぶれ度合いに基づくものとに大別される。通常露光画像の撮影パラメータに基づくものは第1及び第2実施形態にて説明され、短露光画像のぶれ度合いに基づくものは第3実施形態にて説明される。尚、図3に示される、補正制御部52に対する通常露光画像及び短露光画像の入力は、第3実施形態において有効に機能する。
尚、本明細書では、画像を表すデータを画像データと呼び、或る画像の画像データに対して何らかの処理(記録、保存、読み出し等)を行うことを説明する文章において、記述の簡略化上、画像データの記述を省略することがある。例えば、静止画像の画像データの記録という表現と、静止画像の記録という表現は同義である。また、説明の簡略化上、以下の説明において、絞り32の絞り値(絞り32の開度)は一定であるとする。
<<第1実施形態>>
第1実施形態を説明する。通常露光画像よりも短露光画像の方がぶれは通常小さく、短露光画像のエッジ状態を目標に通常露光画像を補正すれば、通常露光画像のぶれは低減される。但し、十分なぶれ補正効果を得るためには、短露光画像の信号対雑音比(以下、SN比という)を或る程度高くしておく必要がある。しかしながら、実際の撮影では、十分なぶれ補正効果を得ることのできる短露光画像を撮影できない場合もある。この場合において、無理に短露光撮影を行ってぶれ補正処理を行っても満足のいくぶれ補正効果は得難い(改悪画像が得られることすらある)。これを考慮し、第1実施形態では、十分なぶれ補正効果を得るための短露光画像を取得できないと判断される場合には、短露光画像の撮影及びぶれ補正処理を実行しないようにする。
図4を参照して、第1実施形態に係る撮像装置1の撮影及び補正の動作を説明する。図4は、その動作の流れを表すフローチャートである。ステップS1〜S10の各処理が、撮像装置1内にて実行される。
まず、ステップS1において、図1の主制御部13は、シャッタボタン17aが半押しの状態となっているか否かを確認する。それが半押しの状態となっていることが確認された場合、ステップS1からステップS2に移行する。
ステップS2において、撮影制御部51は、通常露光画像の撮影パラメータを取得する。通常露光画像の撮影パラメータには、通常露光画像の撮影時における、焦点距離f1、露光時間t1及びISO感度is1が含まれる。
焦点距離f1は、通常露光画像の撮影時における光学系35内のレンズの位置及び既知情報等に基づいて定まる。尚、焦点距離f1を含む、以下の説明における焦点距離は、35mmフィルム換算時における焦点距離であるとする。撮影制御部51には、撮像装置1に備えられた測光センサ(不図示)の出力信号又は撮像素子33の出力信号に基づいて被写体の明るさ(換言すれば、撮像部11への入射光量)を測定する測光部(不図示)が設けられている。撮影制御部51は、その測定結果に基づいて、適正な明るさを有する通常露光画像が得られるように露光時間t1及びISO感度is1を決定する。
ISO感度は、ISO(International Organization for Standardization)によって規定された感度を意味し、ISO感度を調節することで撮影画像の明るさ(輝度レベル)を調節することができる。実際には、ISO感度に応じてAFE12における信号増幅の増幅度を決定する。その増幅度はISO感度に比例している。ISO感度が2倍になれば、その増幅度も2倍となり、これによって撮影画像の各画素の輝度値も2倍となる(但し、飽和を無視)。
また、言うまでもないが、他の条件が同じである時において、撮影画像の各画素の輝度値は露光時間に比例し、露光時間が2倍となれば撮影画像の各画素の輝度値も2倍となる(但し、飽和を無視)。輝度値は、撮影画像を形成する画素の輝度信号の値を意味する。或る画素に関し、輝度値が増加すれば該画素の明るさは増加する。
ステップS2の後、ステップS3において、主制御部13は、シャッタボタン17aが全押しの状態となっているか否かを確認する。それが全押しの状態となっている場合はステップS4に移行する一方、全押しの状態となっていない場合はステップS1に戻る。
ステップS4において、撮像装置1(撮像部11)は、通常露光撮影を行って通常露光画像を取得する。通常露光画像の撮影時における焦点距離、露光時間及びISO感度が焦点距離f1、露光時間t1及びISO感度is1となるように、撮影制御部51は撮像部11及びAFE12を制御する。
続くステップS5において、短露光撮影制御部54は、通常露光画像の撮影パラメータに基づいて、短露光画像の撮影可否を判定する共に短露光画像の撮影パラメータを設定する。この判定方法及び設定方法については後述することとし、先にステップS5の後に続くステップS6以降の処理について説明する。
ステップS6では、短露光画像の撮影可否の判定結果に基づく分岐判断がなされ、短露光撮影制御部54は、その判定結果に従って撮影部11による撮影を制御する。具体的には、ステップS5にて短露光画像を撮影可能と判断した場合には、ステップS6からステップS7に移行する。ステップS7において、短露光撮影制御部54は、短露光撮影が行われるように撮影部11を制御する。これによって短露光画像が取得される。通常露光画像と短露光画像の撮影間における撮影環境の変化(被写体の動き等を含む)を最小限に抑えるべく、短露光画像を通常露光画像の撮影直後に撮影するようにする。一方、ステップS5にて短露光画像が撮影不可と判断された場合、短露光画像の撮影は行われない(即ち、短露光撮影制御部54は、短露光画像の撮影を行わせるための制御を撮像部11に対して行わない)。
短露光画像の撮影可否の判定結果は図3の補正制御部52に伝達され、補正制御部52は、その判定結果に従ってぶれ補正処理部53によるぶれ補正処理の実行可否を制御する。即ち、短露光画像が撮影可能と判断された場合には、そのぶれ補正処理を実行可とし、短露光画像が撮影不可と判断された場合には、そのぶれ補正処理を実行不可とする。
短露光画像の撮影後に移行するステップS8において、ぶれ補正処理部53は、ステップS4にて得られた通常露光画像及びステップS7にて得られた短露光画像を夫々補正対象画像及び参照画像として取り扱った上で、補正対象画像及び参照画像の画像データを受け取る。その後、ステップS9において、ぶれ補正処理部53は、補正対象画像及び参照画像に基づいて補正対象画像のぶれを低減するためのぶれ補正処理を実行する。このぶれ補正処理によって生成される、ぶれ低減後の補正対象画像をぶれ補正画像という。生成されたぶれ補正画像の画像データは、ステップS9に続くステップS10において記録媒体16に記録される。
図5を参照して、短露光画像の撮影可否の判定方法及び短露光画像の撮影パラメータの設定方法を説明する。図5は図4のステップS5の詳細フローチャートに相当し、短露光撮影制御部54が図5のステップS21〜S26の処理を実行することによってステップS5の処理は実現される。
ステップS21〜S26の各処理を順番に説明する。まず、ステップS21の処理が実行される。ステップS21において、短露光撮影制御部54は、通常露光画像の撮影パラメータに基づいて、短露光画像の撮影パラメータを仮設定する。この際、短露光画像のぶれを無視できる程度に小さく且つ短露光画像の明るさを通常露光画像のそれと同程度となるように、撮影パラメータを仮設定する。短露光画像の撮影パラメータには、短露光画像の撮影時における、焦点距離f2、露光時間t2及びISO感度is2が含まれる。
一般的に、35mmフィルム換算時における光学系の焦点距離の逆数は手ぶれ限界露光時間と呼ばれ、手ぶれ限界露光時間以下の露光時間にて静止画像の撮影がなされた場合、その静止画像のぶれは無視できる程度に小さい。例えば、35mmフィルム換算時における焦点距離が100[mm]の場合、1/100[秒]が手ぶれ限界露光時間となる。また一般的に、露光時間が適正な露光時間の1/aになった場合、適正な明るさの画像を得るためにはISO感度をa倍にする必要がある(ここで、aは正の値)。また、ステップS21において、短露光撮影の焦点距離を通常露光撮影の焦点距離と同じに設定する。
従って、ステップS21では、「f2=f1、t2=1/f1且つis2=is1×(t1/t2)」となるように、短露光画像の撮影パラメータを仮設定する。
ステップS21の仮設定の後、ステップS22において、通常露光画像の露光時間t1及びISO感度is1と短露光画像の限界ISO感度is2THとに基づき、式「t2TH=t1×(is1/is2TH)」に従って短露光画像の限界露光時間t2THを算出する。
限界ISO感度is2THは、短露光画像のS/N比の良否に関する境界のISO感度であり、撮像部11及びAFE12の特性等に応じて予め設定される。限界ISO感度is2THよりも大きなISO感度で短露光画像を取得した場合、それのS/N比は、ぶれ補正効果を十分に得難い程度に悪くなる。限界ISO感度is2THから導出される限界露光時間t2THは、短露光画像のS/N比の良否に関する境界の露光時間である。
この後、ステップS23において、ステップS21にて仮設定された短露光画像の露光時間t2とステップS22にて算出された限界露光時間t2THとを比較することにより、以下の3つの場合分けを行う。具体的には、第1不等式「t2≧t2TH」、第2不等式「t2TH>t2≧t2TH×kt」及び第3不等式「t2TH×kt>t2」の内、何れの不等式が成立するかを判定して、その判定結果に応じて以下の分岐処理を行う。ここで、ktは予め設定された限界露光時間係数であり、0<kt<1、である。
第1不等式が成立する場合は、短露光画像の露光時間を手ぶれ限界露光時間(1/f1)に設定しても、十分なSN比を有する短露光画像を撮影可能である。十分なSN比とは、十分なぶれ補正効果をもたらすに足るSN比を意味する。
従って、第1不等式が成立する場合は、ステップS23からステップS25に直接移行し、撮影/補正可否フラグFGに1が代入されて、ステップS21にて仮設定された撮影パラメータをそのまま用いてステップS7の短露光撮影が行われる。即ち、第1不等式が成立する場合、図4のステップS7の短露光画像の撮影時における焦点距離、露光時間及びISO感度が、ステップS21にて算出された焦点距離f2(=f1)、露光時間t2(=1/f1)及びISO感度is2(=is1×(t1/t2))となるように、短露光撮影制御部54が撮像部11及びAFE12を制御する。
撮影/補正可否フラグFGは、短露光画像の撮影の実行可否及びぶれ補正処理の実行可否の判定結果を表すフラグであり、主制御部13内の各部位は、そのフラグFGの値に応じて動作する。1の値を有するフラグFGは、短露光画像の撮影が可能であって且つぶれ補正処理の実行が可能であることを表し、0の値を有するフラグFGは、短露光画像の撮影が不可であって且つぶれ補正処理の実行が不可であることを表す。
一方、第2不等式が成立する場合、短露光画像の露光時間を手ぶれ限界露光時間(1/f1)に設定すると、十分なSN比を有する短露光画像を撮影することができない。但し、この場合、短露光画像の露光時間を限界露光時間t2THに設定しても手ぶれが比較的小さいと見込める。従って、第2不等式の成立は、短露光画像の露光時間を手ぶれが比較的小さいと見込める時間(t2TH)に設定したならば、十分なSN比を有する短露光画像を撮影可能であることを示している。
従って、第2不等式が成立する場合は、ステップS23からステップS24に移行して「f2=f1、t2=t2TH且つis2=is2TH」となるように短露光画像の撮影パラメータを再設定してから、ステップS25にてフラグFGに1を代入する。これにより、再設定された撮影パラメータを用いて図4のステップS7の短露光撮影が実行される。即ち、第2不等式が成立する場合、図4のステップS7の短露光画像の撮影時における焦点距離、露光時間及びISO感度が、ステップS24にて再設定された焦点距離f2(=f1)、露光時間t2(=t2TH)及びISO感度is2(=is2TH)となるように、短露光撮影制御部54が撮像部11及びAFE12を制御する。
また、第3不等式が成立する場合、短露光画像の露光時間を手ぶれ限界露光時間(1/f1)に設定すると、十分なSN比を有する短露光画像を撮影することができない。加えて、短露光画像の露光時間を手ぶれが比較的小さいと見込める時間(t2TH)に設定しても、十分なSN比を有する短露光画像を撮影することができない。
従って、第3不等式が成立する場合は、ステップS23からステップS26に移行し、短露光画像の撮影が不可であると判定してフラグFGに0を代入する。これにより、短露光画像の撮影は行われない。
第1不等式又は第2不等式が成立する場合は、フラグFGに1が代入されているため、ぶれ補正処理部53によるぶれ補正処理が実行されるが、第3不等式が成立する場合は、フラグFGに0が代入されているため、ぶれ補正処理部53によるぶれ補正処理は実行されない。
具体的な数値例を挙げる。通常露光画像の撮影パラメータが「f1=100[mm]、t1=1/10[秒]且つis1=100」である場合、ステップS21において、短露光画像の撮影パラメータは、「f2=100[mm]、t2=1/100[秒]且つis2=1000」と仮設定される。ここで、短露光画像の限界ISO感度がis2TH=800と設定されている場合、短露光画像の限界露光時間t2THは1/80[秒]となる(ステップS22)。そうすると、「t2TH=1/80>1/100」であるため第1不等式が満たされず、仮設定された撮影パラメータを用いて短露光撮影を行ったのでは十分なSN比を有する短露光画像を取得できない。
但し、例えば、限界露光時間係数ktが0.5である場合、「1/100≧t2TH×kt」となるので、第2不等式が満たされる。この場合は、短露光画像の露光時間t2及びISO感度is2を限界露光時間t2TH及び限界ISO感度is2THに再設定することで、十分なSN比を有する短露光画像を撮影することができ、その短露光画像を用いてぶれ補正処理を行うことで十分なぶれ補正効果を得ることができる。
図6に、焦点距離と手ぶれ限界露光時間との関係を表す曲線200を示す。上記の数値例に対応する点201〜204を図6のグラフにプロットしている。点201は、通常露光画像の撮影パラメータに対応しており、曲線200上にのる点202は、仮設定された短露光画像の撮影パラメータに対応しており、点203は、焦点距離及び露光時間が100[mm]及びt2TH(=1/80[秒])である状態に対応しており、点204は、焦点距離及び露光時間が100[mm]及びt2TH×kt(=1/160[秒])である状態に対応している。
上述したように、短露光画像のぶれを無視できる程度に小さくするためには短露光画像の露光時間を手ぶれ限界露光時間以下とすることが一般的である。しかし、前者が後者よりも若干大きくても、実用上問題ない程度にぶれの少ない短露光画像を取得可能である。具体的には、短露光画像の限界露光時間t2TH(上記数値例において、1/80[秒])が手ぶれ限界露光時間(上述の数値例において、1/100[秒])よりも大きくても、短露光画像の限界露光時間t2THのkt倍(上記数値例において、t2TH×kt=1/160[秒])が手ぶれ限界露光時間以下であるならば、その限界露光時間t2THを用いた短露光撮影を行うことで、実用上問題ない程度にぶれの少ない短露光画像を取得可能である(逆に考えると、そのような関係が満たされるように、限界露光時間係数ktの値が実験等を介して予め設定されている)。これを考慮し、第1不等式が成立しない場合でも、第2不等式が成立するならば、ステップS24の再設定を実行して短露光画像の撮影を可とする。
上述の如く、第1実施形態では、実際の撮影環境条件(撮像装置1の周辺照度など)を反映した通常露光画像の撮影パラメータに基づいて、十分なぶれ補正効果を実現するに足るSN比を有した短露光画像を撮影可能かを判定し、その判定結果に従って短露光画像の撮影可否及びぶれ補正処理の実行可否を制御する。これにより、安定したぶれ補正効果を得ることができ、無理にぶれ補正処理を行ってぶれ補正効果の殆どない画像(或いは改悪画像)を生成してしまうといった事態の発生を回避することができる。
<<第2実施形態>>
第2実施形態について説明する。第1実施形態で述べた動作の一部が第2実施形態でも利用される。図7を参照して、第2実施形態に係る撮像装置1の撮影及び補正の動作を説明する。図7は、その動作の流れを表すフローチャートである。第2実施形態においても、まず、ステップS1〜S4の処理が実行される。このステップS1〜S4の処理は、第1実施形態で述べたそれらと同じである。
即ち、シャッタボタン17aが半押しの状態となると、撮影制御部51は通常露光画像の撮影パラメータ(焦点距離f1、露光時間t1及びISO感度is1)を取得し、その後、シャッタボタン17aが全押しの状態となると、ステップS4において、その撮影パラメータを用いた通常露光撮影が実行されて通常露光画像が取得される。第2実施形態では、通常露光画像の撮影後、ステップS31に移行する。
ステップS31では、短露光撮影制御部54が、通常露光画像の撮影パラメータに基づいて、短露光画像の撮影枚数を1枚とするべきか或いは複数枚とするべきかを判定する。
具体的には、まず、短露光撮影制御部54が、図5のステップS21及びS22と同じ処理を実行する。即ち、ステップS21において、通常露光画像の撮影パラメータに含まれる焦点距離f1、露光時間t1及びISO感度is1を用いて「f2=f1、t2=1/f1且つis2=is1×(t1/t2)」となるように短露光画像の撮影パラメータを仮設定し、ステップS22において、式「t2TH=t1×(is1/is2TH)」に従って短露光画像の限界露光時間t2THを求める。
その後、ステップS21にて仮設定された短露光画像の露光時間t2とステップS22にて算出された限界露光時間t2THとを比較することにより、第1不等式「t2≧t2TH」、第2不等式「t2TH>t2≧t2TH×kt」及び第3不等式「t2TH×kt>t2」の内、何れの不等式が成立するかを判定する。尚、ktは第1実施形態で述べたものと同じものである。
そして、第1又は第2不等式が成立する場合は、撮影されるべき短露光画像の枚数は1枚であると判定して、ステップS31からステップS32に移行し、ステップS32、S33、S9及びS10の処理を順次実行する。撮影されるべき短露光画像の枚数が1枚であるとの判定結果は補正制御部52に伝達され、この場合、補正制御部52は、ステップS4にて得られた通常露光画像及びステップS32にて得られた短露光画像が夫々補正対象画像及び参照画像として取り扱われるようにぶれ補正処理部53を制御する。
即ち、ステップS32において、短露光撮影制御部54は、短露光撮影が1回だけ行われるように撮影制御を行う。この短露光撮影によって1枚の短露光画像が取得される。この短露光画像は、通常露光画像の撮影直後に撮影される。続くステップS33において、ぶれ補正処理部53は、ステップS4にて得られた通常露光画像及びステップS32にて得られた短露光画像を夫々補正対象画像及び参照画像として取り扱った上で、補正対象画像及び参照画像の画像データを受け取る。その後、ステップS9において、ぶれ補正処理部53は、補正対象画像及び参照画像に基づいて補正対象画像のぶれを低減するためのぶれ補正処理を実行して、ぶれ補正画像を生成する。生成されたぶれ補正画像の画像データは、ステップS9に続くステップS10において記録媒体16に記録される。
尚、第1実施形態と同様、第1不等式が成立する場合は、ステップS21にて仮設定された撮影パラメータをそのまま用いてステップS32の短露光撮影を行う。即ち、第1不等式が成立する場合、ステップS32の短露光画像の撮影時における焦点距離、露光時間及びISO感度が、ステップS21にて算出された焦点距離f2(=f1)、露光時間t2(=1/f1)及びISO感度is2(=is1×(t1/t2))となるように、短露光撮影制御部54が撮像部11及びAFE12を制御する。また、第2不等式が成立する場合は、図5のステップS24の処理を実行して短露光画像の撮影パラメータを再設定し、その再設定された撮影パラメータを用いてステップS32の短露光撮影を行う。即ち、第2不等式が成立する場合、ステップS32の短露光画像の撮影時における焦点距離、露光時間及びISO感度が、ステップS24にて再設定された焦点距離f2(=f1)、露光時間t2(=t2TH)及びISO感度is2(=is2TH)となるように、短露光撮影制御部54が撮像部11及びAFE12を制御する。
一方、ステップS31において第3不等式「t2TH×kt>t2」が成立する場合は、撮影されるべき短露光画像の枚数は複数枚であると判定して、ステップS31からステップS34に移行し、ステップS34〜S36の処理を実行してからS9及びS10の処理を実行する。撮影されるべき短露光画像の枚数が複数枚であるとの判定結果は補正制御部52に伝達され、この場合、補正制御部52は、ステップS4にて得られた通常露光画像及びステップS35にて得られた合成画像が夫々補正対象画像及び参照画像として取り扱われるようにぶれ補正処理部53を制御する。詳細は後述するが、合成画像は複数枚の短露光画像を加算合成することによって生成される。
ステップ34〜S36の処理を順番に説明する。ステップS34では、通常露光画像の撮影直後にnS枚の短露光画像を連続的に撮影するが、まず、短露光撮影制御部54は、撮影すべき短露光画像の枚数(即ち、nSの値)及び撮影パラメータを決定する。ここで、nSは2以上の整数である。ステップS34において取得される各短露光画像の撮影時における焦点距離、露光時間及びISO感度を、夫々、f3、t3及びis3で表し、nS、f3、t3及びis3の決定方法を説明する。尚、この説明において、図5のステップS21にて仮設定される撮影パラメータ(f2、t2及びis2)も参照する。
nS、f3、t3及びis3は、以下の第1〜第3条件を全て満たすように設定される。
第1条件は、「露光時間t3のkt倍が手ぶれ限界露光時間以下である」という条件である。第1条件は、各短露光画像のぶれを実用上問題ない程度に小さく抑えるために設けられる。第1条件を満たすためには、
不等式「t2≧t3×kt」を満たす必要がある。
第2条件は、「通常露光画像とステップS35で得られるべき合成画像の明るさが同じ(或いは同程度)である」という条件である。第2条件を満たすためには、
等式「t3×is3×nS=t1×is1」を満たす必要がある。
第3条件は、「ステップS35で得られるべき合成画像のISO感度が短露光画像の限界ISO感度以下である」という条件である。第3条件は、十分なSN比を有する合成画像を得るために設けられる。第3条件を満たすためには、
不等式「is3×√nS≦is2TH」を満たす必要がある。
一般に、ISO感度is3の画像をnS枚加算合成して得られる画像のISO感度は、is3×√nSで表される。尚、√nSは、nSの正の平方根を表している。
具体的な数値例を挙げる。今、通常露光画像の撮影パラメータが「f1=200[mm]、t1=1/10[秒]且つis1=100」である場合を考える。また、短露光画像の限界ISO感度is2THが800であって且つ限界露光時間係数ktが0.5であるとする。そうすると、図5のステップS21における短露光画像の撮影パラメータの仮設定において、「f2=200[mm]、t2=1/200[秒]且つis2=2000」とされる。また、短露光画像の限界露光時間t2THは、t2TH=t1×(is1/is2TH)=1/80より、1/80[秒]となる。そうすると、「t2TH×kt>t2」であるため、図7のステップS31からステップS34に移行することになる。
この場合において、第1条件を満たすためには、下記式(A−1)を満たす必要がある。
1/100≧t3 ・・・(A−1)
仮にt3に1/100を代入してみると、第2条件に対応する等式より下記式(A−2)を満たす必要がある。また、別途、第3条件に対応する下記式(A−3)も満たす必要がある。式(A−2)及び(A−3)より「nS≧1.5625」となるため、nSを2以上に設定すればよいことが分かる。
is3×nS=1000 ・・・(A−2)
is3×√nS≦800 ・・・(A−3)
仮にnSに2を代入すると、第2条件に対応する等式は下記式(A−4)のようになり且つ第3条件に対応する不等式は下記式(A−5)のようになる。
t3×is3=5 ・・・(A−4)
is3≦800/1.414≒566 ・・・(A−5)
式(A−4)及び(A−5)から「t3≧0.0088」が導かれる。式(A−1)も併せて考慮すると、nS=2の場合でも「1/100≧t3≧0.0088」を満たすようにt3を設定することで、十分なぶれ補正効果が期待される合成画像を生成することができる。nSとt3が定まれば、自動的にis3も定まる。尚、f3はf1と同じにする。上述の例では、nSに2を代入した状態で第1〜第3条件の全てを満足するt3を設定できるが、仮にそれが設定できないのであれば、それを設定できるまでnSの値を順次増やしていけばよい。
ステップS34では、上述の方法に従ってnS、f3、t3及びis3を求め、それらに従ってnS回の短露光撮影を実行する。ステップS34にて取得されたnS枚の短露光画像の画像データは、ぶれ補正処理部53に送られる。ぶれ補正処理部53は、このnS枚の短露光画像を加算合成することにより合成画像を生成する。加算合成の方法を説明する。
ぶれ補正処理部53は、nS枚の短露光画像を位置合わせしてから合成する。説明の具体化のため、nSが3であって、通常露光画像の撮影後、第1、第2及び第3番目の短露光画像が順次撮影された場合を考える。この場合、例えば、第1番目の短露光画像を基準画像とし且つ第2及び第3番目の短露光画像の夫々を非基準画像と捉えた上で、基準画像に各非基準画像を位置合わせして合成する。尚、「位置合わせ」と後述の「位置ずれ補正」の意義は同じである。
1枚の基準画像と1枚の非基準画像を位置合わせして合成する処理を説明する。例えば、ハリスのコーナ検出器を用いて基準画像から特徴的な小領域(例えば、32×32画素の小領域)を抽出する。特徴的な小領域は、抽出元画像の中でエッジ成分が比較的多い(換言すれば、コントラストが比較的強い)矩形領域のことを指し、例えば、特徴的な絵柄を含む領域である。特徴的な絵柄とは、例えば、物体の角部のような2方向以上に輝度変化を有し、その輝度変化に基づき画像処理によって該絵柄の位置(画像上の位置)を容易に検出できるような絵柄を意味する。そして、基準画像から抽出した該小領域内の画像をテンプレートとし、テンプレートマッチング法を用いて、そのテンプレートとの類似度が最も高い小領域を非基準画像内から探索する。そして、探索された小領域の位置(非基準画像上の位置)と基準画像から抽出した小領域の位置(基準画像上の位置)とのずれ量を位置ずれ量Δdとして算出する。位置ずれ量Δdは、水平成分及び垂直成分を含む二次元量であり、所謂動きベクトルとして表現される。非基準画像は、基準画像を基準として位置ずれ量Δdに相当する分だけ位置ずれが生じた画像とみなすことができる。そこで、この位置ずれ量Δdが打ち消されるように非基準画像に座標変換(アフィン変換など)を施すことによって非基準画像を位置ずれ補正する。例えば、この座標変換を行うための幾何変換パラメータを求め、基準画像が定義される座標上に非基準画像を座標変換することによって位置ずれ補正を行う。位置ずれ補正前の非基準画像内の座標(x+Δdx,y+Δdy)に位置する画素は、位置ずれ補正によって座標(x,y)に位置する画素に変換される。Δdx及びΔdyは、夫々、Δdの水平成分及び垂直成分である。そして、対応し合う画素信号を足し合わせるように、基準画像と位置ずれ補正後の非基準画像を合成する。合成によって得られた画像内の座標(x,y)に位置する画素の画素信号は、座標(x,y)に位置する基準画像内の画素の画素信号と、座標(x,y)に位置する位置ずれ補正後の非基準画像内の画素の画素信号と、を加算した信号に相当する。
上述のような位置合わせ及び合成処理を各非基準画像に対して実行する。これにより、第1番目の短露光画像と第2及び第3番目の位置ずれ補正後の短露光画像を合成した合成画像が得られる。この合成画像が、図7のステップS35にて生成されるべき合成画像である。尚、基準画像から特徴的な小領域を複数個抽出し、テンプレートマッチング法を用いてその複数の小領域に対応する複数の小領域を非基準画像から探索し、基準画像内における抽出された複数の小領域の位置と非基準画像内における探索された複数の小領域の位置から上記の幾何変換パラメータを求めて上記の位置ずれ補正を行うようにしても良い。
ステップS35にて合成画像を生成した後、ステップS36において、ぶれ補正処理部53は、ステップS4にて得られた通常露光画像を補正対象画像として取り扱い、補正対象画像の画像データを受け取る。一方で、ステップS35にて生成した合成画像を参照画像として取り扱うようにする。その後、ステップS9及びS10の処理を実行する。即ち、補正対象画像と合成画像としての参照画像とに基づき、補正対象画像のぶれを低減するためのぶれ補正処理を実行して、ぶれ補正画像を生成する。生成されたぶれ補正画像の画像データは、ステップS9に続くステップS10において記録媒体16に記録される。
上述の如く、第2実施形態では、実際の撮影環境条件(撮像装置1の周辺照度など)を反映した通常露光画像の撮影パラメータに基づいて、十分なぶれ補正効果を得るために必要な短露光画像の枚数を判定し、その判定結果に従って得られた1枚又は複数枚の短露光画像を用いてぶれ補正処理を実行する。これにより、安定したぶれ補正効果を得ることができる。
<<第3実施形態>>
次に、第3実施形態を説明する。ぶれが無視できる程度に小さい短露光画像を取得できたならば、その短露光画像のエッジ状態を目標にして通常露光画像を補正することにより十分なぶれ補正効果を得ることができる。しかしながら、そのような短露光画像が取得されるように短露光画像の露光時間を設定しても、実際には、撮影者の撮影技術等によって、短露光画像に無視できない程度のぶれが含まれることがある。このような場合に、短露光画像に基づくぶれ補正処理を行っても満足のいくぶれ補正効果は得難い(改悪画像が得られることすらある)。
これを考慮し、第3実施形態における図3の補正制御部52は、通常露光画像及び短露光画像に基づいて短露光画像に含まれるぶれの度合いを推定し、そのぶれ度合いが比較的小さいと推定した場合にのみ、短露光画像に基づくぶれ補正処理を実行可と判断する。
図8を参照して、第3実施形態に係る撮像装置1の撮影及び補正の動作を説明する。図8は、その動作の流れを表すフローチャートである。第3実施形態においても、まず、ステップS1〜S4の処理が実行される。このステップS1〜S4の処理は、第1実施形態で述べたそれらと同じである。
即ち、シャッタボタン17aが半押しの状態となると、撮影制御部51は通常露光画像の撮影パラメータ(焦点距離f1、露光時間t1及びISO感度is1)を取得し、その後、シャッタボタン17aが全押しの状態となると、ステップS4において、その撮影パラメータを用いた通常露光撮影が実行されて通常露光画像が取得される。第3実施形態では、通常露光画像の撮影後、ステップS41に移行する。
ステップS41において、短露光撮影制御部54は、通常露光画像の撮影パラメータに基づいて短露光画像の撮影パラメータを設定する。具体的には、通常露光画像の撮影パラメータに含まれる焦点距離f1、露光時間t1及びISO感度is1を用いて「f2=f1、t2=t1×kQ且つis2=is1×(t1/t2)」となるように短露光画像の撮影パラメータを設定する。ここで、係数kQは、不等式「0<kQ<1」を満たすように予め値が設定された係数であり、例えば、0.1〜0.5程度の値を有する。
続くステップS42において、短露光撮影制御部54は、ステップS41にて設定した短露光画像の撮影パラメータに従う短露光撮影が行われるように撮影制御を行う。この短露光撮影によって1枚の短露光画像が取得される。この短露光画像は、通常露光画像の撮影直後に撮影される。具体的には、短露光画像の撮影時における焦点距離、露光時間及びISO感度が、ステップS41にて設定された焦点距離f2(=f1)、露光時間t2(=t1×kQ)及びISO感度is2(=is1×(t1/t2))となるように、短露光撮影制御部54が撮像部11及びAFE12を制御する。
続くステップS43では、補正制御部52が、ステップS4及びS42にて得られた通常露光画像及び短露光画像の画像データに基づいて短露光画像のぶれ度合い(短露光画像に含まれるぶれの度合い)を推定する。この推定方法は後述する。
補正制御部52によって、短露光画像のぶれ度合いが比較的小さいと判断された場合は、ステップS43からステップ44に移行してステップS44、S9及びS10の各処理が実行される。即ち、ぶれ度合いが比較的小さいと判断された場合、補正制御部52は、ぶれ補正処理を実行可と判断し、ぶれ補正処理が実行されるようにぶれ補正処理部53を制御する。この制御の下、ぶれ補正処理部53は、ステップS4にて得られた通常露光画像及びステップS42にて得られた短露光画像を夫々補正対象画像及び参照画像として取り扱った上で、補正対象画像及び参照画像の画像データを受け取る。その後、ステップS9において、ぶれ補正処理部53は、補正対象画像及び参照画像に基づいて補正対象画像のぶれを低減するためのぶれ補正処理を実行して、ぶれ補正画像を生成する。生成されたぶれ補正画像の画像データは、ステップS9に続くステップS10において記録媒体16に記録される。
一方、補正制御部52によって、短露光画像のぶれ度合いが比較的大きいと判断された場合、補正制御部52は、ぶれ補正処理を実行不可と判断して、ぶれ補正処理が実行されないようにぶれ補正処理部53を制御する。
このように、第3実施形態では、短露光画像のぶれ度合いを推定し、そのぶれ度合いが比較的小さいと判断される場合にのみぶれ補正処理を実行する。これにより、安定したぶれ補正効果を得ることができ、無理にぶれ補正処理を行ってぶれ補正効果の殆どない画像(或いは改悪画像)を生成してしまうといった事態の発生を回避することができる。
尚、第1実施形態で示した方法にて短露光画像の撮影パラメータを設定するようにしてもよい。即ち、ステップS41にて図5のステップS21〜S26から成る処理を実行することによって、短露光画像の撮影パラメータを設定しても良い。この場合、ステップS42における短露光画像の撮影時には、「f2=f1、t2=1/f1且つis2=is1×(t1/t2)」となるように、又は、「f2=f1、t2=t2TH且つis2=is2TH」となるように、撮像部11及びAFE12が制御されることとなる。また、図5のステップS21にて仮設定された露光時間t2に対して不等式「t2TH×kt>t2」が成立する場合は、ステップS42における短露光画像の撮影自体を行わないようにすることも可能である。
短露光画像のぶれ度合いの推定方法について説明する。この推定方法として採用可能な第1〜第3の推定方法を個別に例示する。第1〜第3の推定方法の説明文における通常露光画像及び短露光画像とは、夫々、図8のステップS4及びS42にて得られた通常露光画像及び短露光画像を指すものとする。
[第1の推定方法]
まず、第1の推定方法を説明する。第1の推定方法では、通常露光画像と短露光画像のエッジ強度を比較することによって、短露光画像のぶれ度合いを推定する。より具体的に説明する。
図9に、第1の推定方法の採用時において図3の補正制御部52が実行する処理のフローチャートを示す。第1の推定方法の採用時において、補正制御部52により、ステップS51〜S51の各処理が順次実行される。
まず、ステップS51において、補正制御部52は、ハリスのコーナ検出器等を用いることによって、通常露光画像から特徴的な小領域を抽出し、その小領域内の画像を第1の評価画像として取り扱う。特徴的な小領域の意義は、第2実施形態の説明文にて述べた通りである。
続いて、通常露光画像から抽出した小領域に対応する小領域を短露光画像から抽出し、短露光画像から抽出した小領域内の画像を第2の評価画像として取り扱う。第1及び第2の評価画像の画像サイズ(水平方向及び垂直方向の画素数)は等しい。通常露光画像と短露光画像との間の位置ずれを無視できる場合は、通常露光画像から抽出される小領域の中心座標(通常露光画像内における中心座標)と、短露光画像から抽出される小領域の中心座標(短露光画像内における中心座標)とが等しくなるように小領域の抽出を行う。その位置ずれを無視できない場合は、テンプレートマッチング法などを利用して対応小領域の探索を行うようにしても良い。即ち例えば、通常露光画像から抽出した小領域内の画像をテンプレートとし、周知のテンプレートマッチング法を用いて、そのテンプレートとの類似度が最も高い小領域を短露光画像内から探索し、探索された小領域内の画像を第2の評価画像とする。
尚、特徴的な小領域の抽出によって第1及び第2の評価画像を生成するのではなく、単純に、通常露光画像の中央に位置する小領域を第1の評価画像として且つ短露光画像の中央に位置する小領域を第2の評価画像として抽出することも可能である。或いは、通常露光画像の全体画像を第1の評価画像として且つ短露光画像の全体画像を第2の評価画像として取り扱うことも可能である。
第1及び第2の評価画像が設定された後、ステップS52において、第1の評価画像の水平方向及び垂直方向におけるエッジ強度を算出すると共に、第2の評価画像の水平方向及び垂直方向におけるエッジ強度を算出する。以下、第1の評価画像及び第2の評価画像を区別することなく、両者を総称して或いはそれらの一方を単に評価画像と呼ぶことがある。
ステップS52におけるエッジ強度の算出方法を説明する。図10に、1枚の評価画像の画素配列を示す。評価画像の水平方向及び垂直方向の画素数は夫々M及びNであるとする。M及びNは2以上の整数である。評価画像を、評価画像の原点Oを基準としたM×Nの行列として捉え、評価画像を形成する各画素をP[i,j]で表す。iは1〜Mの間の各整数をとり、着目した画素の評価画像上における水平座標値を表す。jは1〜Nの間の各整数をとり、着目した画素の評価画像上における垂直座標値を表す。また、画素P[i,j]における輝度値をY[i,j]で表す。図11に、輝度値の行列表現を示す。Y[i,j]が増加するに従って、対応する画素P[i,j]の輝度は増加する。
補正制御部52は、第1の評価画像の水平方向及び垂直方向におけるエッジ強度を画素ごとに算出する共に、第2の評価画像の水平方向及び垂直方向におけるエッジ強度を画素ごとに算出する。算出されたエッジ強度を表す値をエッジ強度値と呼ぶ。エッジ強度値は、ゼロ又は正の値をとるものとする。即ち、エッジ強度値は、対応するエッジ強度の大きさ(絶対値)を表す。第1の評価画像の画素P[i,j]に対して算出された水平方向及び垂直方向におけるエッジ強度値を夫々EH1[i,j]及びEV1[i,j]にて表し、第2の評価画像の画像P[i,j]に対して算出された水平方向及び垂直方向におけるエッジ強度値を夫々EH2[i,j]及びEV2[i,j]にて表す。
エッジ強度値の算出は、一次微分フィルタ、二次微分フィルタ、ソーベルフィルタ等のエッジ抽出フィルタを用いて行われる。例えば、水平方向及び垂直方向のエッジ強度値を算出する際に夫々図12及び図13に示すような二次微分フィルタを用いる場合、第1の評価画像に対するエッジ強度値EH1[i,j]及びEV1[i,j]は、EH1[i,j]=|−Y[i−1,j]+2・Y[i,j]−Y[i+1,j]|及びEV1[i,j]=|−Y[i,j−1]+2・Y[i,j]−Y[i,j+1]|に従って算出される。尚、第1の評価画像の上下左右端に位置する画素(例えば、画素P[1,2])に対してエッジ強度値を算出する際には、第1の評価画像の外側に配置される、通常露光画像内の画素(例えば、画素P[1,2]の左側に隣接する画素)の輝度値を用いればよい。第2の評価画像に対するエッジ強度値EH2[i,j]及びEV2[i,j]も、同様に算出される。
画素ごとのエッジ強度値の算出後、ステップS53において、補正制御部52は、各エッジ強度値から予め設定されたオフセット値を減算することにより各エッジ強度値を補正する。具体的には、以下の式(B−1)〜(B−4)に従って、補正されたエッジ強度値EH1’[i,j]、EV1’[i,j]、EH2’[i,j]及びEV2’[i,j]を算出する。但し、或るエッジ強度値からオフセット値OF1又はOF2を減算することによって、そのエッジ強度値が負の値となった場合には、そのエッジ強度値をゼロとする。例えば、「EH1[1,1]−OF1<0」である場合、EH1’[1,1]はゼロとされる。
続くステップS54において、補正制御部52は、補正されたエッジ強度値を下記式(B−5)〜(B−8)に従って積算することによりエッジ強度積算値DH1、DV1、DH2及びDV2を算出する。エッジ強度積算値DH1は、夫々、(M×N)個分の補正されたエッジ強度値EH1’[i,j]の積算値(即ち、1≦i≦M且つ1≦j≦Nの範囲内における全エッジ強度値EH1’[i,j]の積算値)である。エッジ強度積算値DV1、DH2及びDV2についても同様である。
そして、ステップS55において、補正制御部52は、第1の評価画像に対して算出されたエッジ強度積算値と第2の評価画像に対して算出されたエッジ強度積算値とを比較し、その比較結果に基づいて短露光画像のぶれ度合いを推定する。ぶれが大きいとエッジ強度積算値が小さくなる。このため、第2の評価画像に対して算出された水平及び垂直方向におけるエッジ強度積算値の内、少なくとも一方が第1の評価画像に対するそれらよりも小さい場合に、短露光画像のぶれ度合いが比較的大きいと判断する。
具体的には、下記不等式(B−9)及び(B−10)の成立/不成立を評価し、不等式(B−9)及び(B−10)の内、少なくとも一方が成立する場合は、短露光画像のぶれ度合いが比較的大きいと判断する。この場合、ぶれ補正処理は実行不可と判断されることになる。一方、不等式(B−9)及び(B−10)の双方が不成立の場合には、短露光画像のぶれ度合いが比較的小さいと判断する。この場合、ぶれ補正処理が実行可と判断されることになる。
エッジ強度積算値の算出方法から理解されるように、エッジ強度積算値DH1及びDV1は、夫々、第1の評価画像の水平方向及び垂直方向におけるぶれの大きさに応じた値をとり、エッジ強度積算値DH2及びDV2は、夫々、第2の評価画像の水平方向及び垂直方向におけるぶれの大きさに応じた値をとる。補正制御部52は、水平方向及び垂直方向の双方において、第2の評価画像のぶれの大きさが第1の評価画像のそれよりも小さい場合にのみ、短露光画像のぶれ度合いが比較的小さいと判断してぶれ補正処理を実行可とする。
エッジ強度値に対するオフセット値を用いた補正は、通常露光画像の撮影時におけるISO感度と短露光画像の撮影時におけるISO感度との相違に起因する、第1及び第2の評価画像間のエッジ強度の相違を抑制する方向に作用する。換言すれば、その補正は、ぶれ度合い推定に対する、前者の相違(ISO感度の相違)の影響を抑制する方向に作用する。この理由を図14(a)及び(b)を用いて説明する。
図14(a)及び(b)において、実線211及び221は、夫々、ノイズの影響がない画像の輝度値分布及びエッジ強度値分布を表し、破線212及び222は、夫々、ノイズの影響がある画像の輝度値分布及びエッジ強度値分布を表している。図14(a)及び(b)では、一次元方向にのみ着目し、図14(a)及び(b)の各グラフにおける横軸は画素位置を表している。ノイズの影響がない場合、輝度の平坦部におけるエッジ強度値はゼロとなるが、ノイズの影響がある場合、輝度の平坦部でもゼロではないエッジ強度値が生じる。図14(b)における一点鎖線223は、オフセット値OF1又はOF2を表している。
通常露光画像のISO感度は比較的低いため通常露光画像に対するノイズの影響は比較的小さい一方で、短露光画像のISO感度は比較的高いため短露光画像に対するノイズの影響は比較的大きい。故に、通常露光画像は概ね実線211及び221に対応し、短露光画像は概ね破線212及び222に対応する。仮に、オフセット値を用いた減算補正を行うことなくエッジ強度積算値を求めれば、ノイズの起因するエッジ強度の分だけ短露光画像に対するエッジ強度積算値が増加することになり、ISO感度の相違の影響がエッジ強度積算値に現れてしまう。これを考慮して、上述のオフセット値を用いた減算補正を行う。この減算補正により、ノイズに起因する比較的小さな値を有するエッジ強度成分が除外され、ぶれ度合い推定に対する、ISO感度の相違の影響を抑制することができる。結果、ぶれ度合い推定の精度が向上する。
尚、オフセット値OF1及びOF2を、撮像装置1の製造段階又は設計段階で予め設定しておくことができる。例えば、撮像素子33に全く或いは殆ど光が入射しない状態で通常露光撮影及び短露光撮影を行わせて2枚の黒画像を取得し、その2枚の黒画像に対するエッジ強度積算値に基づいてオフセット値OF1及びOF2を決定することができる。また、オフセット値OF1とOF2は、同じ値であっても良いし、互いに異なる値であってもよい。
図15(a)に通常露光画像の例を示す。図15(a)の通常露光画像は水平方向に比較的大きなぶれを有している。図15(b)及び(c)に短露光画像の第1例及び第2例を示す。図15(b)の短露光画像は、水平方向及び垂直方向において殆どぶれがない。このため、図15(a)に通常露光画像及び図15(b)の短露光画像に対して上述のぶれ度合い推定を行うと、上記不等式(B−9)及び(B−10)の双方が不成立となって、短露光画像のぶれ度合いが比較的小さいと判断される。一方、図15(c)の短露光画像は、垂直方向において比較的大きなぶれを有している。このため、図15(a)に通常露光画像及び図15(c)の短露光画像に対して上述のぶれ度合い推定を行うと、上記不等式(B−10)が成立し、短露光画像のぶれ度合いが比較的大きいと判断される。
[第2の推定方法]
次に、第2の推定方法を説明する。第2の推定方法では、通常露光画像と短露光画像との間の位置ずれ量に基づいて短露光画像のぶれ度合いを推定する。より具体的に説明する。
周知の如く、異なる時刻に2枚の画像を撮影した際、両画像間には手ぶれ等に起因する位置ずれが発生しうる。第2の推定方法を採用する場合、補正制御部52は、通常露光画像と短露光画像の画像データに基づいて両画像間の位置ずれ量を算出し、その位置ずれ量の大きさと予め設定された位置ずれ閾値とを比較する。そして、前者が後者よりも大きい場合は、短露光画像のぶれ度合いが比較的大きいと推定する。この場合、ぶれ補正処理は実行不可とされる。一方、前者が後者よりも小さい場合は、短露光画像のぶれ度合いが比較小さいと推定する。この場合、ぶれ補正処理は実行可とされる。
位置ずれ量は、水平成分及び垂直成分を含む二次元量であり、所謂動きベクトルとして表現される。位置ずれ閾値と比較される位置ずれ量の大きさ(換言すれば、動きベクトルの大きさ)は、言うまでもなく一次元量である。位置ずれ量を、代表点マッチング法やブロックマッチング法などを用いて算出することができる。
撮像装置1に作用しうる手ぶれの量に着目して、第2の推定方法の意義を補足説明する。図16(a)に、通常露光画像と短露光画像との間の位置ずれ量が比較的小さい場合における手ぶれ量の様子を示す。通常露光画像の露光期間中に作用した瞬時手ぶれ量の積算値が通常露光画像に対する全体の手ぶれ量となり、短露光画像の露光期間中に作用した瞬時手ぶれ量の積算値が短露光画像に対する全体の手ぶれ量となる。短露光画像に対する全体の手ぶれ量が増大すれば、短露光画像にぶれ度合いも増大する。
両画像の撮影が完了するまでの時間は短いため(例えば、0.1秒程度)、両画像の撮影開始時点から撮影完了時点までに作用する手ぶれ量は概ね一定と仮定できる。そうすると、通常露光画像と短露光画像との間の位置ずれ量は、通常露光画像の露光期間の中間時点と短露光画像の露光期間の中間時点との間に作用した瞬時手ぶれ量の積算値に近似される。従って、図16(b)に示す如く、求めた位置ずれ量が大きい場合は短露光画像の露光期間中に作用した瞬時手ぶれ量の積算値も大きい(即ち、短露光画像に対する全体の手ぶれ量も大きい)と推測でき、図16(a)に示す如く、求めた位置ずれ量が小さい場合は短露光画像の露光期間中に作用した瞬時手ぶれ量の積算値も小さい(即ち、短露光画像に対する全体の手ぶれ量も小さい)と推測できる。
[第3の推定方法]
次に、第3の推定方法を説明する。第3の推定方法では、通常露光画像と短露光画像の画像データを用いて推定した、通常露光画像の画像劣化関数に基づいて短露光画像のぶれ度合いを推定する。
第3の推定方法の原理を説明する。通常露光画像と短露光画像の観測モデルを、下記式(C−1)及び(C−2)によって表現することができる
ここで、g1及びg2は、夫々、実際の撮影によって得られた通常露光画像及び短露光画像を表し、h1及びh2は、夫々、実際の撮影によって得られた通常露光画像及び短露光画像の画像劣化関数を表し、n1及びn2は、夫々、実際の撮影によって得られた通常露光画像及び短露光画像に含まれる観測ノイズ成分を表している。fIは、ぶれによる劣化もノイズの影響もない理想画像を表す。仮に通常露光画像及び短露光画像にぶれが無く且つノイズの影響も無かったならば、g1及びg2は、fIと等価となる。画像劣化関数とは、具体的には例えば点広がり関数(Point Spread Function)である。また、式(C−1)等における*は、畳み込み積分を表している。例えば、h1*fIは、h1とfIの畳み込み積分を表す。
画像は二次元の行列にて表現されるため、画像劣化関数も二次元行列にて表現される。画像劣化関数の特性上、原則として、画像劣化関数を行列表現した時の各要素は全て0以上1以下の値をとり且つ全要素の合算値は1となる。
短露光画像のぶれによる劣化がないと仮定した場合、下記式(C−3)で表される評価値Jを最小化するh1’を通常露光画像の画像劣化関数として推定することができる。h1’を推定画像劣化関数と呼ぶ。評価値Jは(g1−h1’*g2)のノルムを二乗したものである。
このとき、短露光画像に真にぶれが含まれていない場合、観測ノイズの影響により推定画像劣化関数h1’に負の値を有する要素が存在することになるが、その負の値の合算値の大きさは小さい。図17に、通常露光画像の画素値分布をグラフ241にて示し、短露光画像にぶれが含まれない場合における短露光画像の画素値分布をグラフ242に示す。そして、グラフ241及び242に対応する両画像から求められた推定画像劣化関数h1’の要素の値の分布を、グラフ243に示す。グラフ241〜243及び後述するグラフ244及び245において、横軸は空間方向に対応する。尚、グラフ241〜245を考える際、便宜上、各画像が一次元画像であると考える。グラフ243からも、推定画像劣化関数h1’における負の値の合算値の大きさは小さいことが分かる。
一方、短露光画像にぶれが含まれている場合、推定画像劣化関数h1’は、短露光画像の画像劣化関数の影響を受け、次式(C−4)に示すように、通常露光画像の真の画像劣化関数h1と短露光画像の画像劣化関数の逆関数h2 -1との畳み込み積分に近いものとなる。短露光画像にぶれが含まれている場合、逆関数h2 -1に負の値を有する要素が存在することになるため、短露光画像にぶれが含まれていない場合と比べて、推定画像劣化関数h1’に負の値を有する要素が比較的多く存在することになり、また、その値の絶対値は比較的大きくなる。そうすると、推定画像劣化関数h1’における負の値の合算値の大きさは、短露光画像にぶれが含まれていない場合よりも短露光画像にぶれが含まれている場合の方が大きくなる。
図17におけるグラフ244は、短露光画像にぶれが含まれている場合における短露光画像の画素値分布を表し、グラフ245は、グラフ241及び244に対応する通常露光画像及び短露光画像から求められた推定画像劣化関数h1’の要素の値の分布を表す。
上記の原理に基づき、実際には以下のように処理する。まず、補正制御部52は、通常露光画像及び短露光画像の画像データに基づき、評価値Jを最小化する推定画像劣化関数h1’を導出する。この導出方法として公知の任意の方法を用いることができる。実際には、第1の推定方法の説明文にて述べた手法を用いて通常露光画像及び短露光画像から第1及び第2の評価画像を抽出し(図9のステップS51を参照)、抽出した第1の評価画像及び第2の評価画像を夫々g1及びg2と捉えた上で、上記式(C−3)の評価値Jを最小化するための推定画像劣化関数h1’を導出する。上述したように、推定画像劣化関数h1’は二次元の行列として表現される。
補正制御部52は、行列表現した際における推定画像劣化関数h1’の各要素の値(全要素の値)を参照し、参照した値の内、規定の数値範囲から逸脱した値を抽出する。今の場合、この数値範囲における上限値は1よりも十分に大きな値とされ、下限値は0とされる。即ち、参照した値の内、負の値を有する値のみが抽出される。補正制御部52は、ここで抽出した負の値を全て合算して合算値を求め、その合算値の絶対値を予め設定した閾値RTHと比較する。そして、前者が後者(RTH)よりも大きい場合は、短露光画像のぶれ度合いが比較的大きいと判断する。この場合、ぶれ補正処理は実行不可とされる。一方、前者が後者(RTH)よりも小さい場合は、短露光画像のぶれ度合いが比較的小さいと判断する。この場合、ぶれ補正処理は実行可とされる。尚、閾値RTHを、ノイズの影響を考慮して、例えば0.1程度に設定するとよい。
<<第4実施形態>>
次に、第4実施形態を説明する。第4実施形態では、第1〜第3実施形態に適用可能な、補正対象画像と参照画像に基づくぶれ補正処理の方法を説明する。即ち、この方法を、図4、図7及び図8に示すステップS9のぶれ補正処理に用いることができる。補正対象画像と参照画像の画像サイズは同じであるとする。第4実施形態では、補正対象画像の全体画像、参照画像の全体画像及びぶれ補正画像の全体画像を表す記号として、夫々、Lw、Rw及びQwを導入する。
ぶれ補正処理の方法として、以下に、第1〜第4の補正方法を例示する。第1、第2、第3の補正方法は、夫々、画像復元処理、画像合成処理、画像鮮鋭化処理による補正方法である。第4の補正方法も画像合成処理を利用した補正方法であるが、その内容は第2の補正方法のそれと異なる(詳細は後述の説明から明らかとなる)。以下の記述において、単に「メモリ」といった場合、それは内部メモリ14(図1参照)を意味するものとする。
[第1の補正方法]
図18を参照して、第1の補正方法について説明する。図18は、第1の補正方法に基づくぶれ補正処理の流れを表すフローチャートである。
まず、ステップS71において、補正対象画像Lwの中から特徴的な小領域を抽出し、この抽出された小領域内の画像を小画像Lsとしてメモリ上に記憶する。例えば、ハリス(Harris)のコーナ検出器を用いて128×128画素の小領域を特徴的な小領域として抽出する。特徴的な小領域の意義は、第2実施形態にて上述した通りである。
次に、ステップS72において、補正対象画像Lwから抽出された小領域に対応する小領域を参照画像Rwから抽出し、参照画像Rwから抽出された小領域内の画像を小画像Rsとしてメモリ上に記憶する。小画像Lsと小画像Rsの画像サイズは等しい。補正対象画像Lwと参照画像Rwとの間の位置ずれを無視できる場合は、補正対象画像Lwから抽出される小画像Lsの中心座標(補正対象画像Lw内における中心座標)と、参照画像Rwから抽出される小画像Rsの中心座標(参照画像Rw内における中心座標)とが等しくなるように小領域の抽出を行う。その位置ずれを無視できない場合は、テンプレートマッチング法などを利用して対応小領域の探索を行うようにしても良い。即ち例えば、小画像Lsをテンプレートとし、周知のテンプレートマッチング法を用いて、そのテンプレートとの類似度が最も高い小領域を参照画像Rw内から探索し、探索された小領域内の画像を小画像Rsとする。
参照画像Rwの露光時間が比較的短くISO感度が比較的高いことに起因して、小画像RsのSN比は比較的低い。そこで、ステップS73において、小画像Rsに対してメディアンフィルタ等を用いたノイズ除去処理を施す。ノイズ除去処理後の小画像Rsは小画像Rs’としてメモリ上に記憶される。尚、このノイズ除去処理を省略することも可能である。
上述のようにして得られた小画像Lsを劣化画像として且つ小画像Rs’を初期復元画像として取り扱った上で(ステップS74)、ステップS75にてフーリエ反復法を実施することにより、小画像Lsのぶれによる劣化の状態を表す画像劣化関数を求める。
フーリエ反復法を実施する際、初期の復元画像(復元画像の初期値)を与えてやる必要があるが、この初期の復元画像を初期復元画像と呼ぶ。
画像劣化関数として点広がり関数(Point Spread Function;以下、PSFと呼ぶ)を求める。手ぶれは画像全体に対して一様な劣化を与えるため、小画像Lsに対して求めたPSFは、補正対象画像Lwの全体に対するPSFとして利用することができる。
フーリエ反復法は、劣化を含む劣化画像から、劣化を除去或いは低減した復元画像を得る手法である(上記非特許文献1参照)。このフーリエ反復法を、図19及び図20を参照して詳細に説明する。図19は、図18のステップS75の処理の詳細フローチャートである。図20は、図3のぶれ補正処理部53に内在する、フーリエ反復法を実施する部位のブロック図である。
まず、ステップS101において、復元画像をf’とし、この復元画像f’に初期復元画像をセットする。即ち、初期の復元画像f’として小画像Rs’を用いるようにする。次に、ステップS102において、劣化画像(即ち、小画像Ls)をgとする。そして、劣化画像gをフーリエ変換したものをGとしてメモリ上に記憶しておく(ステップS103)。例えば、初期復元画像及び劣化画像の画像サイズが128×128画素の場合、f’及びgは、128×128の行列サイズを有する行列として表現できる。
次に、ステップS110において、復元画像f’をフーリエ変換したF’を求め、更にステップS111において、下記式(D−1)によりHを算出する。Hは、PSFをフーリエ変換したものに相当する。式(D−1)において、F’*は、F’の共役複素行列であり、αは、定数である。
次に、ステップS112において、Hを逆フーリエ変換することにより、PSFを得る。ここで得られるPSFをhとする。次に、ステップS113において、PSF hを下記式(D−2a)の拘束条件で修正した後、更に式(D−2b)の拘束条件にて修正する。
PSF hは、2次元の行列として表現されるため、この行列の各要素をh(x,y)で表す。PSFの各要素は、本来、0以上且つ1以下の値をとるはずである。従って、ステップS113において、PSFの各要素が0以上且つ1以下であるかを判断し、0以上且つ1以下となっている要素の値はそのままにする一方、1より大きな要素がある場合はその要素の値を1に修正し、且つ、0より小さい要素がある場合はその要素の値を0に修正する。これが、式(D−2a)の拘束条件による修正である。そして、この修正後のPSFの各要素の総和が1となるように、PSFを正規化する。この正規化が、式(D−2b)の拘束条件による修正である。
式(D−2a)及び(D−2b)の拘束条件によって修正されたPSFを、h'とする。
次に、ステップS114において、PSF h’をフーリエ変換したH’を求め、更にステップS115において、下記式(D−3)によりFを算出する。Fは、復元画像fをフーリエ変換したものに相当する。式(D−3)において、H’*は、H’の共役複素行列であり、βは、定数である。
次に、ステップS116において、Fを逆フーリエ変換することにより、復元画像を取得する。ここで得られる復元画像をfとする。次に、ステップS117において、復元画像fを下記式(D−4)の拘束条件で修正し、修正された復元画像を、新たにf’とする。
復元画像fは、2次元の行列として表現されるため、この行列の各要素をf(x,y)で表す。今、劣化画像及び復元画像の各画素の画素値が、0から255までのデジタル値にて表されるものとする。そうすると、復元画像fを表す行列の各要素(即ち、各画素値)は、本来、0以上且つ255以下の値をとるはずである。従って、ステップS117において、復元画像fを表す行列の各要素が0以上且つ255以下であるかを判断し、0以上且つ255以下となっている要素の値はそのままにする一方、255より大きな要素がある場合はその要素の値を255に修正し、且つ、0より小さい要素がある場合はその要素の値を0に修正する。これが、式(D−4)の拘束条件による修正である。
次に、ステップS118において、収束条件を満たすか否かを判断することによって、反復処理の収束判定を行う。
例えば、最新のF'と1つ前に得られたF'との差分の絶対値を収束判定の指標として用いる。この指標が所定の閾値以下の場合、収束条件が満たされると判断する一方、そうでない場合、収束条件は満たされないと判断する。
収束条件が満たされる場合、最新のH'を逆フーリエ変換したものを最終的なPSFとする。即ち、この最新のH'を逆フーリエ変換したものが、図18のステップS75で求められるべきPSFとなる。収束条件が満たされない場合、ステップS110に戻り、ステップS110〜S118の各処理を繰り返す。ステップS110〜S118の各処理の繰り返しにおいて、f'、F'、H、h、h'、H'、F及びf(図20参照)は、順次、最新のものに更新されていく。
収束判定の指標として、他の指標を用いることも可能である。例えば、最新のH'と1つ前に得られたH'との差分の絶対値を収束判定の指標として用いて、上記の収束条件の成立/不成立を判断してもよい。また例えば、上記式(D−2a)及び(D−2b)を用いたステップS113における修正量、或いは、式(D−4)を用いたステップS117における修正量を収束判定の指標として用いて、上記の収束条件の成立/不成立を判断してもよい。反復処理が収束に向かえば、それらの修正量が小さくなるからである。
また、ステップS110〜S118から成るループ処理の繰り返し回数が所定回数に達した場合、収束不可と判断して、最終的なPSFを算出することなく処理を終了するようにしてもよい。この場合、補正対象画像Lwの補正は行われない。
図18の各ステップの説明に戻る。ステップS75にて、PSFが算出された後、ステップS76に移行する。ステップS76では、ステップS75で求められたPSFの逆行列の各要素を画像復元フィルタの各フィルタ係数として求める。この画像復元フィルタは、劣化画像から復元画像を得るためのフィルタである。実際には、上記式(D−3)の右辺の一部に相当する下記式(D−5)にて表される行列の各要素が、画像復元フィルタの各フィルタ係数に相当するため、ステップS75におけるフーリエ反復法の計算途中結果をそのまま利用可能である。但し、式(D−5)におけるH’*及びH’は、ステップS118の収束条件の成立直前に得られたH’*及びH’(即ち、最終的に得られたH’*及びH’)である。
ステップS76にて画像復元フィルタの各フィルタ係数が求められた後、ステップS77に移行し、この画像復元フィルタを用いて補正対象画像Lwの全体をフィルタリング(空間フィルタリング)する。即ち、求められた各フィルタ係数を有する画像復元フィルタを補正対象画像Lwの各画素に適用して補正対象画像Lwをフィルタリングする。これにより、補正対象画像Lwに含まれるぶれを低減したフィルタリング画像が生成される。画像復元フィルタのサイズは補正対象画像Lwの画像サイズよりも小さいが、手ぶれは画像全体に一様な劣化を与えると考えられるため、この画像復元フィルタを補正対象画像Lwの全体に対して適用することによって、補正対象画像Lwの全体のぶれが低減される。
フィルタリング画像には、フィルタリングに伴うリンギングが含まれうる。このため、ステップS78において、これを除去するためのリンギング除去処理をフィルタリング画像に施すことにより最終的なぶれ補正画像Qwを生成する。リンギングを除去する手法は公知であるため、詳細な説明を割愛する。その手法として、例えば特開2006−129236号公報に記載の手法を用いればよい。
ぶれ補正画像Qwは、補正対象画像Lwに含まれるぶれが低減され且つフィルタリングに伴うリンギングが低減された画像となる。但し、フィルタリング画像もぶれが低減された画像であるため、フィルタリング画像をぶれ補正画像Qwとして捉えることも可能である。
参照画像Rwに含まれるぶれ量は少ないため、それのエッジ成分は、手ぶれのない理想画像のエッジ成分に近い。従って、上述の如く、この参照画像Rwから得られる画像をフーリエ反復法における初期復元画像とする。
フーリエ反復法によるループ処理の繰り返しによって、復元画像(f')は、手ぶれが極力除去された画像に徐々に近づいていくが、初期復元画像自体が既に手ぶれのない画像に近いため、従来の如くランダム画像や劣化画像を初期復元画像とするよりも収束が早くなる(最短では、1回のループ処理で収束する)。この結果、ぶれ補正処理に必要なPSF及び画像復元フィルタの各フィルタ係数作成用の処理時間が短縮される。また、初期復元画像が収束すべき画像からかけ離れていると局所解(真に収束すべき画像とは異なる画像)に収束する確率が高くなるが、上述のように初期復元画像を設定することにより、局所解に収束する確率が低くなる(即ち、手ぶれ補正に失敗する確率が低くなる)。
また、手ぶれは画像全体に一様な劣化を与えると考えられるため、各画像から小領域を抽出して各小領域の画像データからPSF及び画像復元フィルタのフィルタ係数を作成し、それを画像全体に適用する。これにより、必要な演算量が低減され、PSF及び画像復元フィルタの各フィルタ係数作成用の処理時間及び手ぶれ補正用の処理時間が短縮される。勿論、必要回路の規模縮小化やそれに伴うコストダウン効果も見込める。
この際、上述の如く、エッジ成分を多く含む特徴的な小領域を自動的に抽出するようにする。PSFの算出元画像におけるエッジ成分の増大は、雑音成分に対する信号成分の割合の増大を意味するため、特徴的な小領域の抽出によって雑音の影響が小さくなり、PSFをより正確に検出することができるようになる。
尚、図19の処理では、空間領域上における劣化画像g及び復元画像f’がフーリエ変換によって周波数領域上に変換されることで、周波数領域上の劣化画像gを表す関数G及び周波数領域上の復元画像f’を表す関数F’が求められる(尚、周波数領域とは、勿論、二次元の周波数領域である)。求められた関数G及びF’から周波数領域上のPSFを表す関数Hが求められ、この関数Hは逆フーリエ変換によって空間領域上の関数、即ち、PSF hに変換される。このPSF hは、所定の拘束条件を用いて修正され、修正後のPSF h'が求められる。このPSFを修正する処理を、以下「第1の修正処理」と呼ぶ。
PSF h'はフーリエ変換によって再度、周波数領域上に変換されて関数H’が求められ、関数H’と関数Gから周波数領域上の復元画像を表す関数Fが求められる。この関数Fを逆フーリエ変換することによって空間領域上の復元画像fが得られ、この復元画像fが所定の拘束条件を用いて修正されて、修正後の復元画像f’が求められる。この復元画像を修正する処理を、以下「第2の修正処理」と呼ぶ。
上述の例では、この後、図19のステップS118にて収束条件が満たされるまで、修正後の復元画像f’を用いて上述の処理が反復されると述べた。また、反復処理が収束に向かえば修正量が小さくなるという特性を考慮し、この収束条件の成立/不成立を、第1の修正処理に対応するステップS113での修正量、又は、第2の修正処理に対応するステップS117での修正量に基づいて判断しても良いとも述べた。この判断を修正量に基づいて行う場合、基準修正量を予め設定しておき、ステップS113での修正量又はステップS117での修正量と基準修正量とを比較して、前者が後者よりも小さい場合に収束条件が成立すると判断することになるが、基準修正量を十分に大きく設定しておけば、ステップS110〜S117の処理は反復実行されない。つまり、この場合、第1の修正処理を1回だけ行って得たPSF h'が、図18のステップS75で導出されるべき最終的なPSFとなる。このように、図19の処理を用いたとしても、第1及び第2の修正処理が繰り返し実行されるとは限らない。
第1及び第2の修正処理の繰り返し実行回数の増大は、最終的に求まるPSFの精度向上に寄与するが、本例では初期復元画像自体が既に手ぶれのない画像に近いため、第1の修正処理を1回だけ行って得たPSF h’の精度も、実用上、問題ない程度に高い。これを考慮すれば、ステップS118の判定処理自体を省略することも可能である。この場合、1回だけステップS113の処理を実行することで求まるPSF h’が図18のステップS75で導出されるべき最終的なPSFとなり、1回だけステップS114の処理を実行することで求まる関数H’から、図18のステップS76で導出されるべき画像復元フィルタの各フィルタ係数が求まる。故に、ステップS118の処理を省略する場合は、ステップS115〜S117の処理も割愛される。
[第2の補正方法]
次に、図21及び図22を参照して、第2の補正方法について説明する。図21は、第2の補正方法に基づくぶれ補正処理の流れを表すフローチャートである。図22は、このぶれ補正処理の流れを表す概念図である。
撮像部11の撮影によって得られる画像は、輝度に関する情報と色に関する情報を含むカラー画像となっている。従って、補正対象画像Lwを形成する各画素の画素信号は、画素の輝度を表す輝度信号と、画素の色を表す色信号から形成される。今、各画素の画素信号がYUV形式で表現されているものとする。この場合、色信号は2つの色差信号U及びVから形成されることなる。そして、補正対象画像Lwを形成する各画素の画素信号は、画素の輝度を表す輝度信号Yと、画素の色を表す2つの色差信号U及びVと、から形成される。
そうすると、補正対象画像Lwは、図22に示す如く、画素信号として輝度信号Yのみを含む画像LwYと、画素信号として色差信号Uのみを含む画像LwUと、画素信号として色差信号Vのみを含む画像LwVと、に分解することができる。同様に、参照画像Rwも、画素信号として輝度信号Yのみを含む画像RwYと、画素信号として色差信号Uのみを含む画像RwUと、画素信号として色差信号Vのみを含む画像RwVと、に分解できる(図22では、画像RwYのみ図示)。
図21のステップS201では、まず、補正対象画像Lwの輝度信号及び色差信号を抽出することにより、画像LwY、LwU及びLwVを生成する。続くステップS202では、参照画像Rwの輝度信号を抽出することにより、画像RwYを生成する。
参照画像Rwの露光時間が比較的短くISO感度が比較的高いことに起因して、画像RwYのSN比は比較的低い。そこで、ステップS203おいて、画像RwYに対して、メディアンフィルタ等を用いたノイズ除去処理を施す。ノイズ除去処理後の画像RwYは画像RwY’としてメモリ上に記憶される。尚、このノイズ除去処理を省略することも可能である。
その後、ステップS204において、画像LwYの画素信号と画像RwY’の画素信号を比較することにより、画像LwYを画像RwY’との間の位置ずれ量ΔDを算出する。位置ずれ量ΔDは、水平成分及び垂直成分を含む二次元量であり、所謂動きベクトルとして表現される。位置ずれ量ΔDの算出を、周知の代表点マッチング法やテンプレートマッチング法を用いて行うことができる。例えば、画像LwYから抽出した小領域内の画像をテンプレートとし、テンプレートマッチング法を用いて、そのテンプレートとの類似度が最も高い小領域を画像RwY’内から探索する。そして、探索された小領域の位置(画像RwY’上の位置)と画像LwYから抽出した小領域の位置(画像LwY上の位置)とのずれ量を位置ずれ量ΔDとして算出する。尚、画像LwYから抽出されるべき小領域を、上述したような、特徴的な小領域とすることが望ましい。
画像LwYを基準として考え、位置ずれ量ΔDが、画像LwYに対する画像RwY’の位置ずれ量であるとする。画像RwY’は、画像LwYを基準として位置ずれ量ΔDに相当する分だけ位置ずれが生じた画像とみなすことができる。そこで、ステップS205では、この位置ずれ量ΔDが打ち消されるように画像RwY’に座標変換(アフィン変換など)を施すことによって画像RwY’を位置ずれ補正する。位置ずれ補正前の画像RwY’内の座標(x+ΔDx,y+ΔDy)に位置する画素は、位置ずれ補正によって座標(x,y)に位置する画素に変換される。ΔDx及びΔDyは、夫々、ΔDの水平成分及び垂直成分である。
ステップS205では、更に、画像LwU及びLwVと位置ずれ補正後の画像RwY’が合成され、この合成によって得られた画像がぶれ補正画像Qwとして出力される。ぶれ補正画像Qw内の座標(x,y)に位置する画素の画素信号は、座標(x,y)に位置する画像LwU内の画素の画素信号と、座標(x,y)に位置する画像LwV内の画素の画素信号と、座標(x,y)に位置する位置ずれ補正後の画像RwY’内の画素の画素信号と、から形成される。
カラー画像において、見た目のぶれは主に輝度のぶれによって引き起こされ、輝度のエッジ成分がぶれのない理想画像のそれに近ければ、観察者はぶれが少ないと感じる。従って、本補正方法では、ぶれ量の比較的少ない参照画像Rwの輝度信号を補正対象画像Lwの色信号に合成することによって擬似的な手ぶれ補正効果を得る。この方法によれば、エッジ近傍で色ずれが生じることとなるが、見た目においてぶれの少ない画像を低い計算コストで生成することができる。
[第3の補正方法]
次に、図23及び図24を参照して、第3の補正方法について説明する。図23は、第3の補正方法に基づくぶれ補正処理の流れを表すフローチャートである。図24は、このぶれ補正処理の流れを表す概念図である。
まず、ステップS221において、補正対象画像Lwから特徴的な小領域を抽出することによって小画像Lsを生成し、ステップS222において、参照画像Rwから小画像Lsに対応する小領域を抽出することによって小画像Rsを生成する。このステップS221及びS222の処理は、図18のステップS71及びS72の処理と同じである。続いてステップS223おいて、小画像Rsに対してメディアンフィルタ等を用いたノイズ除去処理を施す。ノイズ除去処理の小画像Rsは小画像Rs’としてメモリ上に記憶される。尚、このノイズ除去処理を省略することも可能である。
次に、ステップS224において、互いに異なる8種類の平滑化フィルタを用いて小画像Rs’をフィルタリングすることにより、平滑化度合いの異なる8つの平滑化小画像RsG1、RsG2、・・・、RsG8を生成する。今、8つの平滑化フィルタとして互いに異なる8つのガウシアンフィルタを用いるものとし、各ガウシアンフィルタによって表されるガウス分布の分散をσ2で表す。
一次元の画像に着目し、その一次元の画像における画素の位置をxで表した場合、平均が0且つ分散がσ2のガウス分布は下記式(E−1)によって表されることが一般的に知られている(図25参照)。このガウス分布をガウシアンフィルタに適用すると、ガウシアンフィルタの各フィルタ係数はhg(x)で表される。つまり、ガウシアンフィルタを位置0の画素に適用する時、位置xにおけるフィルタ係数はhg(x)で表される。換言すれば、ガウシアンフィルタによるフィルタリング後の位置0の画素値に対する、フィルタリング前の位置xの画素値の寄与率はhg(x)で表される。
この考え方を二次元に拡張し、二次元の画像における画素の位置を(x,y)で表した場合、二次元ガウス分布は、下記式(E−2)によって表される。尚、x及びyは、それぞれ、水平方向の位置及び垂直方向の位置を表している。この二次元ガウス分布をガウシアンフィルタに適用すると、ガウシアンフィルタの各フィルタ係数はhg(x,y)で表され、ガウシアンフィルタを位置(0,0)の画素に適用する時、位置(x,y)におけるフィルタ係数はhg(x,y)で表される。つまり、ガウシアンフィルタによるフィルタリング後の位置(0,0)の画素値に対する、フィルタリング前の位置(x,y)の画素値の寄与率はhg(x,y)で表される。
ステップS224では、8つのガウシアンフィルタとして、σ=1,3,5,7,9,11,13,15のガウシアンフィルタを用いることとする。続くステップS225では、小画像Lsと平滑化小画像RsG1〜RsG8の夫々との間で画像マッチングを行い、平滑化小画像RsG1〜RsG8の内、最もマッチング誤差が小さくなる平滑化小画像(即ち、小画像Lsとの相関性が最も高い平滑化小画像)を特定する。
平滑化小画像RsG1に着目し、小画像Lsと平滑化小画像RsG1を対比した時のマッチング誤差(マッチング残差)の算出法を簡単に説明する。小画像Lsと平滑化小画像RsG1の画像サイズは同じであり、それらの水平方向の画素数及び垂直方向の画素数を夫々MN及びNNとする(MN及びNNは、2以上の整数)。小画像Ls内の位置(x,y)における画素の画素値をVLs(x,y)にて表し、平滑化小画像RsG1内の位置(x,y)における画素の画素値をVRs(x,y)にて表す。(但し、x及びyは、0≦x≦MN−1且つ0≦y≦NN−1、を満たす整数)。そうすると、対比画像間におけるSAD(Sum of Absolute Difference)を表すRSADは下記式(E−3)に従って算出され、対比画像間におけるSSD(Sum of Square Difference)を表すRSSDは下記式(E−4)に従って算出される。
このRSAD又はRSSDを、小画像Lsと平滑化小画像RsG1との間におけるマッチング誤差とする。同様にして、小画像Lsと平滑化小画像RsG2〜RsG8の夫々との間におけるマッチング誤差も求め、最もマッチング誤差が小さくなる平滑化小画像を特定する。今、σ=5に対応する平滑化小画像RsG3が特定されたとする。ステップS225では、平滑化小画像RsG3に対応するσをσ’とする。即ち、σ’の値は5となる。
続くステップS226では、このσ’によって表されるガウスぼけを補正対象画像Lwの劣化の状態を表す画像劣化関数として取り扱うことにより、補正対象画像Lwの劣化除去を図る。
具体的には、ステップS226では、σ’に基づいて補正対象画像Lwの全体にアンシャープマスクフィルタを適用することにより、補正対象画像Lwのぶれを除去する。アンシャープマスクフィルタの適用前の画像を入力画像IINPUTとし、アンシャープマスクフィルタの適用後の画像を出力画像IOUTPUTとして、アンシャープマスクフィルタの処理内容を説明する。まず、アンシャープフィルタとしてσ’のガウシアンフィルタ(即ち、σ=5のガウシアンフィルタ)を採用し、このσ’のガウシアンフィルタを用いて入力画像IINPUTをフィルタリングすることにより、ぼかし画像IBLURを生成する。次に、入力画像IINPUTの各画素値からぼかし画像IBLURの各画素値を差し引くことにより、入力画像IINPUTとぼかし画像IBLURとの間の差分画像IDELTAを生成する。最後に、入力画像IINPUTの各画素値に差分画像IDELTAの各画素値を加算することによって得られた画像を、出力画像IOUTPUTとする。入力画像IINPUTと出力画像IOUTPUTとの関係式を式(E−5)に示す。式(E−5)において、(IINPUT・Gauss)は、σ’のガウシアンフィルタを用いて入力画像IINPUTをフィルタリングした結果を表している。
IOUTPUT =IINPUT+IDELTA
=IINPUT+(IINPUT−IBLUR)
=IINPUT+(IINPUT−(IINPUT・Gauss)) ・・・(E−5)
ステップS226では、補正対象画像Lwを入力画像IINPUTとして取り扱うことにより、出力画像IOUTPUTとしてのフィルタリング画像を得る。そして、ステップS227において、このフィルタリング画像のリンギングを除去してぶれ補正画像Qwを生成する(ステップS227の処理は、図18のステップS78の処理と同じである)。
アンシャープマスクフィルタを用いることにより、入力画像(IINPUT)のエッジが強調され、画像鮮鋭化効果が得られる。但し、ぼかし画像(IBLUR)生成時におけるぼかし度合いが入力画像に含まれる実際のぼけ量と大きく異なると、適切なぼけ補正効果が得られない。例えば、ぼかし画像生成時におけるぼかし度合いが実際のぼけ量よりも大きいと、出力画像(IOUTPUT)は、極端に鮮鋭化された不自然な画像となる。一方、ぼかし画像生成時におけるぼかし度合いが実際のぼけ量よりも小さいと、鮮鋭化効果が弱すぎる。本補正方法では、アンシャープフィルタとしてσにてぼかし度合いが規定されるガウシアンフィルタを用い、そのガウシアンフィルタのσとして画像劣化関数に対応するσ’を用いる。このため、最適な鮮鋭化効果が得られ、ぼけが良好に除去されたぶれ補正画像が得られる。即ち、見た目においてぶれの少ない画像を低い計算コストで生成することができる。
図26に、入力画像IINPUTとしての手ぶれ画像300と共に、最適なσのガウシアンフィルタを用いた場合に得られる画像(即ち、本来のぶれ補正画像)302と、小さすぎるσのガウシアンフィルタを用いた場合に得られる画像301と、大きすぎるσのガウシアンフィルタを用いた場合に得られる画像303と、を示す。σが小さすぎると鮮鋭化効果が弱く、σが大きすぎると極端に鮮鋭化された不自然な画像が生成されることが分かる。
[第4の補正方法]
次に、第4の補正方法について説明する。図27(a)及び(b)に、第4の補正方法の説明において採り上げられる参照画像Rwと補正対象画像Lwの例を示す。図27(a)及び(b)における画像310及び311が、夫々、参照画像Rwと補正対象画像Lwの例である。参照画像310及び補正対象画像311は、背景被写体である山の前に注目被写体としての人物SUBが立っている状態を撮影することにより得られたものである。
参照画像は短露光画像に基づく画像であるため、比較的多くのノイズを含有している。従って、補正対象画像311と比較して、参照画像310では、エッジが鮮明に描写されているものの比較的大きなノイズ(図27(a)における黒い斑点に対応)が混入している。一方、参照画像310と比較して、補正対象画像311に含まれるノイズは少ないが補正対象画像311上では人物SUBが大きくぶれている。図27(a)及び(b)では、参照画像310及び補正対象画像311の撮影中に人物SUBが移動していることを想定しており、これによって参照画像310上の人物SUBの位置と比べて補正対象画像311上の人物SUBは右寄りに位置していると共に補正対象画像311上の人物SUBには被写体ぶれが生じている。
また、図28に示す如く、任意の二次元画像320が配置される、空間領域(spatial domain)の二次元座標系XYを定義する。画像320は、例えば、補正対象画像、参照画像、ぶれ補正画像、又は、後述の第1〜第3中間生成画像である。X軸及びY軸は、二次元画像320の水平方向及び垂直方向に沿った軸である。二次元画像320は、水平方向及び垂直方向の夫々に複数の画素がマトリクス状に配列されて形成されており、二次元画像320上の何れかの画素である画素321の位置を(x,y)にて表す。(x,y)におけるx及びyは、夫々、画素321のX軸及びY軸方向の座標値である。二次元座標系XYにおいて、或る画素の位置が右側に1画素分ずれると該画素のX軸方向における座標値は1だけ増大し、或る画素の位置が上側に1画素分ずれると該画素のY軸方向における座標値は1だけ増大する。従って、画素321の位置が(x,y)である場合、画素321の右側、左側、上側及び下側に隣接する画素の位置は、夫々、(x+1,y)、(x−1,y)、(x,y+1)及び(x,y―1)にて表される。
図29は、第4の補正方法を採用する場合において、図3のぶれ補正処理部53に内在する画像合成部150の内部ブロック図である。参照画像Rw及び補正対象画像Lwの画像データは、画像合成部150に入力される。画像データは、画像の色及び輝度を表す。
画像合成部150は、参照画像と補正対象画像との間の位置ずれを検出して両画像間の位置合わせを行う位置合わせ部151と、参照画像に含まれるノイズを低減するノイズ低減部152と、位置合わせ後の補正対象画像とノイズ低減後の参照画像との間の差分をとって各画素位置における差分値を算出する差分値算出部153と、その差分値に基づく合成比率にて位置合わせ後の補正対象画像とノイズ低減後の参照画像を合成する第1合成部154と、ノイズ低減後の参照画像からエッジを抽出してエッジ強度値を算出するエッジ強度値算出部155と、エッジ強度値に基づく合成比率にて参照画像と第1合成部154による合成画像とを合成することによりぶれ補正画像を生成する第2合成部156と、を備える。
画像合成部150内の各部位の動作について詳説する。尚、単に、参照画像と言った場合、それは、ノイズ低減部152によるノイズ低減処理が施されていない参照画像Rwを指す。図27(a)に例示した参照画像310は、ノイズ低減部152によるノイズ低減が施されていない参照画像Rwである。
位置合わせ部151は、参照画像及び補正対象画像の画像データに基づいて参照画像と補正対象画像との間の位置ずれを検出し、参照画像及び補正対象画像間の位置ずれが打ち消されるように参照画像及び補正対象画像間の位置合わせを行う。位置合わせ部151による位置ずれ検出方法及び位置合わせ方法を、代表点マッチング法、ブロックマッチング法又は勾配法などを用いて実現することができる。典型的には例えば、第2実施形態で述べた位置合わせの方法を利用可能である。この際、参照画像を基準画像として且つ補正対象画像を非基準画像として取り扱って位置合わせを行うものとする。従って、参照画像から見た補正対象画像の位置ずれを補正する処理が、補正対象画像に対して施される。この位置ずれ補正後の補正対象画像(換言すれば、位置合わせ後の補正対象画像)を第1中間生成画像と呼ぶ。
ノイズ低減部152は、参照画像に対してノイズ低減処理を施すことにより、参照画像に含まれるノイズを低減する。ノイズ低減部152におけるノイズ低減処理を、ノイズ低減に適した任意の空間フィルタリングにて実現することができる。ノイズ低減部152における空間フィルタリングでは、エッジがなるだけ保存されるような空間フィルタを利用することが望ましく、例えば、メディアンフィルタを用いた空間フィルタリングが採用される。
また、ノイズ低減部152におけるノイズ低減処理を、ノイズ低減に適した任意の周波数フィルタリングにて実現することもできる。ノイズ低減部152において周波数フィルタリングを利用する場合、参照画像に含まれる空間周波数成分の内、所定のカットオフ周波数未満の空間周波数成分を通過させ且つ該カットオフ周波数以上の空間周波数成分を低減させるローパスフィルタを用いるとよい。尚、メディアンフィルタ等を用いた空間フィルタリングによっても、参照画像に含まれる空間周波数成分の内の、比較的低い周波数の空間周波数成分が殆どそのまま残存する一方で比較的高い周波数の空間周波数成分が低減される。故に、メディアンフィルタ等を用いた空間フィルタリングもローパスフィルタによるフィルタリングの一種である、と考えることもできる。
ノイズ低減部152によるノイズ低減処理後の参照画像を、第2中間生成画像(第3画像)と呼ぶ。図30に、図27(a)の参照画像310に対してノイズ低減処理を施すことによって得られた第2中間生成画像312を示す。図27(a)と図30の比較からも分かるように、第2中間生成画像312では、参照画像310に含まれているノイズが低減されている一方で、参照画像310と比べてエッジが僅かに不鮮明となっている。
差分値算出部153は、第1中間生成画像と第2中間生成画像との間の、各画素位置における差分値を算出する。画素位置(x,y)における差分値をDIF(x,y)にて表す。差分値DIF(x,y)は、第1中間生成画像の画素位置(x,y)における画素と第2中間生成画像の画素位置(x,y)における画素との間における、輝度及び/又は色の差を表す値である。
差分値算出部153は、例えば下記式(F−1)に基づいて差分値DIF(x,y)を算出する。ここで、P1Y(x,y)は、第1中間生成画像の画素位置(x,y)における画素の輝度値であり、P2Y(x,y)は、第2中間生成画像の画素位置(x,y)における画素の輝度値である。
式(F−1)ではなく、RGB形式の信号値を利用し、下記式(F−2)又は式(F−3)に基づいて差分値DIF(x,y)を算出することも可能である。ここで、P1R(x,y)、P1G(x,y)及びP1B(x,y)は、夫々、第1中間生成画像の画素位置(x,y)における画素のR、G及びB信号の値であり、P2R(x,y)、P2G(x,y)及びP2B(x,y)は、夫々、第2中間生成画像の画素位置(x,y)における画素のR、G及びB信号の値である。或る画素のR、G及びB信号は、その画素の赤、緑及び青の強度を表す色信号である。
上記の式(F−1)、式(F−2)又は式(F−3)に基づく差分値DIF(x,y)の算出方法は例示に過ぎず、それら以外の方法によって差分値DIF(x,y)を求めるようにしても構わない。例えば、YUV形式の信号値を利用し、RGB形式の信号値を用いる場合と同様の方法にて差分値DIF(x,y)を算出しても構わない。この場合、式(F−2)及び(F−3)におけるR、G及びBを夫々Y、U及びVに置き換えて考えればよい。YUV形式の信号は、Yによって表される輝度信号とU及びVによって表される色差信号から成る。
図31に、各画素位置における差分値DIF(x,y)を画素信号値として有する差分画像の例を示す。図31の差分画像313は、図27(a)及び(b)の参照画像310及び補正対象画像311に基づく差分画像である。差分画像313では、差分値DIF(x,y)が比較的大きい部分を白で表し、差分値DIF(x,y)が比較的小さい部分を黒で表している。参照画像310及び補正対象画像311の撮影中における人物SUBの移動によって、差分画像313における人物SUBの移動領域での差分値DIF(x,y)が比較的大きくなっている。また、手ぶれに起因する補正対象画像311上のぶれにより、エッジ付近(人物や山の輪郭部)の差分値DIF(x,y)も大きくなっている。
第1合成部154は、第1中間生成画像と第2中間生成画像との合成を行い、得られた合成画像を第3中間生成画像(第4画像)として出力する。この合成は、第1及び第2中間生成画像の対応画素の画素信号を加重加算することによって実現される。加重加算によって対応画素の画素信号が混合されるが、その混合率(換言すれば合成比率)を差分値DIF(x,y)に基づいて決定することができる。第1合成部154にて決定される、画素位置(x,y)に対する混合率をα(x,y)にて表す。
差分値DIF(x,y)と混合率α(x,y)との関係例を図32に示す。図32の関係例を採用する場合、
「DIF(x,y)<Th1_L」の成立時において「α(x,y)=1」とされ、
「Th1_L≦DIF(x,y)<Th1_H」の成立時において「α(x,y)=1−(DIF(x,y)−Th1_L)/(Th1_H−Th1_L)」とされ、
「Th1_H≦DIF(x,y)」の成立時において「α(x,y)=0」とされる。
ここで、Th1_L及びTh1_Hは、「0<Th1_L<Th1_H」を満たす所定の閾値である。図32の関係例を採用する場合、差分値DIF(x,y)が閾値Th1_Lから閾値Th1_Hに向かって増大するにつれて対応する混合率α(x,y)が1から0に向かって線形的に減少するが、混合率α(x,y)を非線形に減少させても構わない。
第1合成部154は、各画素位置における差分値DIF(x,y)から各画素位置における混合率α(x,y)を決定した後、下記式(F−4)に従って第1及び第2中間生成画像の対応画素の画素信号を混合することで、第3中間生成画像の画素信号を生成する。
P1(x,y)、P2(x,y)及びP3(x,y)は、夫々、第1、第2及び第3中間生成画像の画素位置(x,y)における画素の輝度及び色を表す画素信号であり、例えばRGB形式又はYUV形式で表現されている。例えば、画素信号P1(x,y)等がR、G及びB信号から成る場合、R、G及びB信号ごとに個別に、画素信号P1(x,y)及びP2(x,y)を混合することにより画素信号P3(x,y)を得ればよい。画素信号P1(x,y)等がY、U及びV信号から成る場合も同様である。
図33に、第1合成部154にて得られる第3中間生成画像の例を示す。図32に示す第3中間生成画像314は、図27(a)及び(b)の参照画像310及び補正対象画像311に基づく第3中間生成画像である。
上述したように、人物SUBが動いた領域では差分値D(x,y)が比較的大きくなるため、第3中間生成画像314に対する第2中間生成画像312(図30参照)の寄与度(1−α(x,y))が比較的大きくなる。結果、第3中間生成画像314における被写体ぶれは、補正対象画像311(図27(b)参照)におけるそれよりも大幅に抑制される。また、エッジ付近においても差分値D(x,y)が大きくなることから上記寄与度(1−α(x,y))が大きくなる。結果、第3中間生成画像314におけるエッジの鮮鋭度は、補正対象画像311におけるそれよりも改善される。但し、第2中間生成画像312におけるエッジは、参照画像310のそれと比較して若干不鮮明であるため、第3中間生成画像314におけるエッジも参照画像310のそれと比較して若干不鮮明となる。
一方において、差分値D(x,y)が比較的小さい領域はエッジ成分の少ない平坦領域であると推測される。このため、差分値D(x,y)が比較的小さい領域に対しては、上述の如く、ノイズの含有量が少ない第1中間生成画像の寄与度α(x,y)を比較的大きくする。これにより、第3中間生成画像のノイズを低く抑えることができる。尚、第2中間生成画像はノイズ低減処理を経て生成されたものであるため、第3中間生成画像に対する第2中間生成画像の寄与度(1−α(x,y))が比較的大きくなる領域においても、ノイズは殆ど目立たない。
上述したように、第3中間生成画像におけるエッジは参照画像のそれと比較して若干不鮮明となるが、この不鮮明さは、エッジ強度値算出部155及び第2合成部156によって改善される。
エッジ強度値算出部155は、第2中間生成画像に対してエッジ抽出処理を行い、各画素位置におけるエッジ強度値を算出する。画素位置(x,y)におけるエッジ強度値を、E(x,y)にて表す。エッジ強度値E(x,y)は、第2中間生成画像の画素位置(x,y)を中心とする小ブロック内の画素信号の変化量を表す指標であり、その変化量が大きいほどエッジ強度値E(x,y)は大きくなる。
例えば、下記式(F−5)に従って、エッジ強度値E(x,y)を求める。上述したように、P2Y(x,y)は第2中間生成画像の画素位置(x,y)における画素の輝度値を表す。Fx(i,j)及びFy(i,j)は、夫々、水平方向及び垂直方向のエッジを抽出するためのエッジ抽出フィルタのフィルタ係数を表す。エッジ抽出フィルタとして、エッジ抽出に適した任意の空間フィルタを用いることができ、例えば、プリューウィットフィルタ(Prewitt filter)、ソーベルフィルタ(Sobel filter)、微分フィルタ、ラプラシアンフィルタ(Laplacian filter)を用いることができる。
例えば、プリューウィットフィルタを用いる場合、式(F−5)におけるFx(i,j)に、「Fx(−1,−1)=Fx(−1,0)=Fx(−1,1)=−1」、「Fx(0,−1)=Fx(0,0)=Fx(0,1)=0」及び「Fx(1,−1)=Fx(1,0)=Fx(1,1)=1」を代入すれば良く、式(F−5)におけるFy(i,j)に、「Fy(−1,−1)=Fy(0,−1)=Fy(1,−1)=−1」、「Fy(−1,0)=Fy(0,0)=Fy(1,0)=0」及び「Fy(−1,1)=Fy(0,1)=Fy(1,1)=1」を代入すれば良い。勿論、このようなフィルタ係数は一例であり、エッジ強度値E(x,y)の算出用のエッジ抽出フィルタは様々に変形可能である。また、式(F−5)では3×3のフィルタサイズを有するエッジ抽出フィルタを用いているが、エッジ抽出フィルタのフィルタサイズは3×3以外でもよい。
図34に、各画素位置におけるエッジ強度値E(x,y)を画素信号値として有するエッジ画像の例を示す。図34のエッジ画像315は、図27(a)及び(b)の参照画像310及び補正対象画像311に基づくエッジ画像である。エッジ画像315では、エッジ強度値E(x,y)が比較的大きい部分を白で表し、エッジ強度値E(x,y)が比較的小さい部分を黒で表している。エッジ強度値E(x,y)は、エッジが鮮明である参照画像310のノイズを抑制することによって得られた第2中間生成画像312のエッジを抽出することで得られる。そのため、ノイズとエッジが分離され、エッジ強度値E(x,y)によって、ノイズと被写体のエッジとを明確に区別した上でエッジの位置が特定される。
第2合成部156は、第3中間生成画像と参照画像との合成を行い、得られた合成画像をぶれ補正画像(Qw)として出力する。この合成は、第3中間生成画像と参照画像の対応画素の画素信号を加重加算することによって実現される。加重加算によって対応画素の画素信号が混合されるが、その混合率(換言すれば合成比率)をエッジ強度値E(x,y)に基づいて決定することができる。第2合成部156にて決定される、画素位置(x,y)に対する混合率をβ(x,y)にて表す。
エッジ強度値E(x,y)と混合率β(x,y)との関係例を図35に示す。図35の関係例を採用する場合、
「E(x,y)<Th2_L」の成立時において「β(x,y)=0」とされ、
「Th2_L≦E(x,y)<Th2_H」の成立時において「β(x,y)=(E(x,y)−Th2_L)/(Th2_H−Th2_L)」とされ、
「Th2_H≦E(x,y)」の成立時において「β(x,y)=1」とされる。
ここで、Th2_L及びTh2_Hは、「0<Th2_L<Th2_H」を満たす所定の閾値である。図35の関係例を採用する場合、エッジ強度値E(x,y)が閾値Th2_Lから閾値Th2_Hに向かって増大するにつれて対応する混合率β(x,y)が0から1に向かって線形的に増加するが、混合率β(x,y)を非線形に増加させても構わない。
第2合成部156は、各画素位置におけるエッジ強度値E(x,y)から各画素位置における混合率β(x,y)を決定した後、下記式(F−6)に従って第3中間生成画像と参照画像の対応画素の画素信号を混合することで、ぶれ補正画像の画素信号を生成する。
POUT(x,y)、PIN_SH(x,y)及びP3(x,y)は、夫々、ぶれ補正画像、参照画像及び第3中間生成画像の画素位置(x,y)における画素の輝度及び色を表す画素信号であり、例えばRGB形式又はYUV形式で表現されている。例えば、画素信号P3(x,y)等がR、G及びB信号から成る場合、R、G及びB信号ごとに個別に、画素信号PIN_SH(x,y)及びP3(x,y)を混合することにより画素信号POUT(x,y)を得ればよい。画素信号P3(x,y)等がY、U及びV信号から成る場合も同様である。
図36に、第2合成部156にて得られるぶれ補正画像Qwの例としてのぶれ補正画像316を示す。ぶれ補正画像316は、図27(a)及び(b)の参照画像310及び補正対象画像311に基づくぶれ補正画像である。エッジ部分では、ぶれ補正画像316に対する参照画像310の寄与度β(x,y)が大きくなるため、ぶれ補正画像316においては、第3中間生成画像314(図33参照)におけるエッジの僅かな不鮮明さが改善され、エッジが鮮明に描写される。一方、エッジ以外の部分では、ぶれ補正画像316に対する第3中間生成画像314の寄与度(1−β(x,y))が大きくなるため、ぶれ補正画像316に対して、参照画像310に含まれるノイズが反映されることが抑制される。ノイズは、エッジ以外の部分(平坦部分)において特に視覚的に目立つため、上述のような混合率β(x,y)による合成比率の調整は効果的である。
このように、第4の補正方法によれば、補正対象画像(より詳細には位置合わせ後の補正対象画像(即ち第1中間生成画像))とノイズ低減後の参照画像(即ち第2中間生成画像)とを、それらから得られる差分値を用いて合成することにより、補正対象画像のぶれ及び参照画像のノイズが抑制された第3中間生成画像を生成することができる。その後、ノイズ低減後の参照画像(即ち第2中間生成画像)から得たエッジ強度値を用いて第3中間生成画像と参照画像を合成することにより、ぶれ補正画像に参照画像の鮮明なエッジを反映させることができる一方で、参照画像のノイズのぶれ補正画像への反映が抑制される。結果、ぶれ補正画像は、ぶれ及びノイズの少ない画像となる。
エッジとノイズを明確に分離検出し、参照画像のノイズのぶれ補正画像への混入を良好に回避するためには、上述の如くエッジ強度値をノイズ低減後の参照画像(即ち第2中間生成画像)から導出する方が望ましいが、エッジ強度値をノイズ低減前の参照画像(即ち図27(a)の参照画像310など)から導出するようにしてもよい。この場合、式(F−5)のP2Y(x,y)にノイズ低減前の参照画像の画素位置(x,y)における画素の輝度値を代入した上で、式(F−5)に従いエッジ強度値E(x,y)を算出すればよい。
<<変形等>>
上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。上述の実施形態の変形例または注釈事項として、以下に、注釈1及び注釈2を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
[注釈1]
図1の撮像装置1は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。特に、図3及び図29に示される各部位の機能の全部又は一部は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実現可能である。ソフトウェアを用いて撮像装置1を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。
また、図3及び図29に示される各部位にて実行される演算処理の全部または一部を、プログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その演算処理の全部または一部を実現するようにしてもよい。
[注釈2]
例えば、以下のように考えることができる。第1又は第2実施形態において、図3の撮影制御部51及び補正制御部52を含む部位は、ぶれ補正処理の実行可否又は短露光画像の撮影枚数を制御する制御手段として機能する。第3実施形態において、ぶれ補正処理の実行可否を制御する制御手段は、補正制御部52を含み、更に撮影制御部51を含みうる。第3実施形態における補正制御部52は、短露光画像のぶれ度合いを推定するぶれ推定手段を内在する。また、第4実施形態で示した第1の補正方法をぶれ補正処理の方法として利用する場合、図3のぶれ補正処理部53は、補正対象画像の画像劣化関数(具体的にはPSF)を求める画像劣化関数導出手段を有する。