以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の制御方法は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモード(通常撮影モード)と、複数枚の入力画像(例えば、図27の撮像画像4011乃至4018)を連続撮像して1枚の出力画像(例えば、図29の高画質エリア422が投影された画像)を生成する第2のモード(手ぶれ補正モード)とを有する撮影装置の制御方法において、第1のモードで撮影を行うと仮定した際の、1枚の入力画像を撮像する露出時間である第1の露出時間が、第1の閾値以下であるか否かを判定する第1の判定ステップ(例えば、図45のステップS521)と、第1の判定ステップで、第1の露出時間が第1の閾値以下であると判定された場合に、第1のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS523)と、第1の判定ステップで、第1の露出時間が第1の閾値以下でないと判定された場合に、第2のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS526)とを含むことを特徴とする。
請求項4に記載の制御方法は、第1の判定ステップで、第1の露出時間が第1の閾値以下でないと判定された場合に、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間である第2の露出時間が、第2の閾値以下であるか否かを判定する第2の判定ステップ(例えば、図45のステップS524)をさらに含み、第2の決定ステップでは、第2の判定ステップで、第2の露出時間が第2の閾値以下であると判定された場合に、第2のモードで撮影を行うことを決定することを特徴とする。
請求項7に記載の制御方法は、第1の判定ステップで、第1の露出時間が第1の閾値以下でないと判定され、かつ、第2の判定ステップで、第2の露出時間が第2の閾値以下でないと判定された場合に、第1のモードで撮影を行うことを決定する第3の決定ステップ(例えば、図45のステップS533)をさらに含むことを特徴とする。
請求項10に記載の制御方法は、撮影装置(例えば、図1のディジタルカメラ1)は、入力画像を撮像する撮像手段(例えば、図1の撮像素子4)を備え、第2のモードにおいて、撮像手段が撮像した複数枚の入力画像どうしの位置関係を検出(例えば、図28のステップS303)し、検出された位置関係に基づき、出力画像の画素の位置ごとに、その画素の位置の画素値の推定に用いる複数枚の入力画像の画素を特定(例えば、図30のステップS313など)し、特定された複数枚の入力画像の画素の画素値に基づき、出力画像の各画素の位置の画素値を推定することにより、出力画像を生成(例えば、図40のステップS346乃至S348)することを特徴とする。
請求項16に記載の制御装置は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置(例えば、図1のディジタルカメラ1)の制御装置(例えば、図1の制御回路18)において、第1のモードで撮影を行うと仮定した際の、1枚の入力画像を撮像する露出時間である第1の露出時間が、第1の閾値以下であるか否かを判定する判定手段(例えば、図45のステップS521の処理を行う図1の制御回路18)と、判定手段で、第1の露出時間が第1の閾値以下であると判定された場合に、第1のモードで撮影を行うことを決定する第1の決定手段(例えば、図45のステップS523の処理を行う図1の制御回路18)と、判定手段で、第1の露出時間が第1の閾値以下でないと判定された場合に、第2のモードで撮影を行うことを決定する第2の決定手段(例えば、図45のステップS526の処理を行う図1の制御回路18)とを備えることを特徴とする。
請求項17に記載の制御プログラムは、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置を制御するコンピュータに実行させる制御プログラムにおいて、第1のモードで撮影を行うと仮定した際の、1枚の入力画像を撮像する露出時間である第1の露出時間が、第1の閾値以下であるか否かを判定する判定ステップ(例えば、図45のステップS521)と、判定ステップで、第1の露出時間が第1の閾値以下であると判定された場合に、第1のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS523)と、判定ステップで、第1の露出時間が第1の閾値以下でないと判定された場合に、第2のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS526)とを含む処理をコンピュータに実行させることを特徴とする。
請求項18に記載の制御方法は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置の制御方法において、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、被写体の明るさから求められる適正露出時間に基づく閾値以上であるか否かを判定する判定ステップ(例えば、図47のステップS551,S552)と、判定ステップで、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS526)と、判定ステップで、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS533)とを含むことを特徴とする。
請求項19に記載の制御装置は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置の制御装置において、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、被写体の明るさから求められる適正露出時間に基づく閾値以上であるか否かを判定する判定手段(例えば、図47のステップS551,S552の処理を行う図1の制御回路18)と、判定手段で、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定手段(例えば、図45のステップS526の処理を行う図1の制御回路18)と、判定手段で、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定手段(例えば、図45のステップS533の処理を行う図1の制御回路18)とを備えることを特徴とする。
請求項20に記載の制御プログラムは、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置を制御する制御プログラムにおいて、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、被写体の明るさから求められる適正露出時間に基づく閾値以上であるか否かを判定する判定ステップ(例えば、図47のステップS551,S552)と、判定ステップで、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS526)と、判定ステップで、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS533)とを含む処理をコンピュータに実行させることを特徴とする。
請求項21に記載の制御方法は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置の制御方法において、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、撮影装置での最速の連続撮像時の撮像間隔に基づく閾値以上であるか否かを判定する判定ステップ(例えば、図47のステップS551,S552)と、判定ステップで、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS526)と、判定ステップで、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS533)とを含むことを特徴とする。
請求項22に記載の制御装置は、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置の制御装置において、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、撮影装置での最速の連続撮像時の撮像間隔に基づく閾値以上であるか否かを判定する判定手段(例えば、図47のステップS551,S552の処理を行う図1の制御回路18)と、判定手段で、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定手段(例えば、図45のステップS526の処理を行う図1の制御回路18)と、判定手段で、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定手段(例えば、図45のステップS533の処理を行う図1の制御回路18)とを備えることを特徴とする。
請求項23に記載の制御プログラムは、1枚の入力画像を撮像して1枚の出力画像を生成する第1のモードと、複数枚の入力画像を連続撮像して1枚の出力画像を生成する第2のモードとを有する撮影装置を制御する制御プログラムにおいて、第2のモードで撮影を行うと仮定した際の、複数枚のそれぞれの入力画像を撮像する露出時間が、撮影装置での最速の連続撮像時の撮像間隔に基づく閾値以上であるか否かを判定する判定ステップ(例えば、図47のステップS551,S552)と、判定ステップで、露出時間が閾値以上であると判定された場合に、第2のモードで撮影を行うことを決定する第1の決定ステップ(例えば、図45のステップS526)と、判定ステップで、露出時間が閾値以上でないと判定された場合に、第1のモードで撮影を行うことを決定する第2の決定ステップ(例えば、図45のステップS533)とを含む処理をコンピュータに実行させることを特徴とする。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用したディジタル(スチル)カメラ1の一実施の形態の構成例を示すブロック図である。
図1のディジタルカメラ1は、レンズ2、絞り3、撮像素子4、相関2重サンプリング回路5、A/D(Analog/Digital)コンバータ6、信号処理回路7、タイミングジェネレータ8、D/A(Digital/Analog)コンバータ9、ビデオエンコーダ10、モニタ11、コーデック(CODEC)12、メモリ13、バス14、CPU(Central Processing Unit)15、記憶部15A、インターフェース(I/F)15B、入力デバイス16、および露出計19で構成される。
また、相関2重サンプリング回路5、A/Dコンバータ6、信号処理回路7、D/Aコンバータ9、ビデオエンコーダ10、およびコーデック12によって、画像処理回路17が構成され、タイミングジェネレータ8、CPU15、記憶部15A、およびインターフェース15Bによって制御回路18が構成されている。さらに、A/Dコンバータ6は、シフト回路21を、信号処理回路7は、フレームメモリ22をそれぞれ有している。
図示せぬ被写体からの光は、レンズ2、絞り3等の光学系を通過して、撮像素子4に入射される。レンズ2として、焦点距離が固定された短焦点レンズ、または焦点距離が可変であるズームレンズが使用される。レンズ2としてズームレンズを使用する場合、通常、レンズ2は、複数枚のレンズ(レンズ郡)により構成されており、これらのレンズの光軸方向の位置関係を変移させることで、焦点距離の変更が行われる。このような焦点距離の変更を行う制御は、レンズ2を駆動する図示せぬ駆動回路に対して、制御回路18から供給される制御信号によって行われる。なお、図1において、レンズ2は、1枚のレンズで簡略して図示されている。
絞り3は、レンズ2を通過して入射してくる光の一部を遮光して、撮像素子4への入射光の量を調節する。光量を調節する絞り3の制御は、制御回路18からの制御信号によって行われる。
撮像素子4は、例えば、CCDやCMOS等でなる単板センサから構成され、所定の数の画素(受光素子)を有している。そして、撮像素子4は、タイミングジェネレータ8から供給される露光タイミング信号に従い、所定の間隔で、所定の露出時間だけ、入射される被写体の光を受光する。そして、撮像素子4は、その撮像面上の各受光素子に到達した受光量を光電変換により電気信号に変換し、その電気信号に変換された画像信号を相関2重サンプリング回路5に供給する。撮像素子4は、単板センサとなっているので、相関2重サンプリング回路5に供給される電気信号は、1画素につきR信号、G信号、B信号のうちのいずれか1個の色信号(データ)である。
また、撮像素子4としては、光を受光するセンサの内部で、隣接する複数の画素の画素値を加算し、その加算値(画素加算値)を1画素の画素値とする、ビニング(binning)と呼ばれる機能を有する撮像素子(ビニング撮像素子)を使用することができる。ビニングを機能させた場合には、撮像素子4は、複数の画素の画素値を加算し、その加算値を1画素の画素値として出力するので、その画素値により構成される撮像画像の画素数は、撮像素子4が有する画素数より少なく、その画素数の数分の1の画素数となる。
撮像素子4が、例えば、隣接する2×2画素(横方向の2画素と縦方向の2画素)の画素値を加算して出力する場合(以下、適宜、2×2ビニングという)は、撮像画像の画素数は、(横方向の画素数の2分の1)×(縦方向の画素数の2分の1)画素、つまり、撮像素子4の画素数の4分の1となる。また、撮像素子4が、例えば、隣接する3×3画素(横方向の3画素と縦方向の3画素)の画素値を加算して出力する場合(以下、適宜、3×3ビニングという)は、撮像画像の画素数は、(横方向の画素数の3分の1)×(縦方向の画素数の3分の1)画素、つまり、撮像素子4の画素数の9分の1となる。
このように、ビニングを機能させた場合には、撮像素子4が出力する画素数が少なくなることで処理するデータ量も少なくなり、ビニングを機能させない(即ち、撮像素子4の画素数と同じ画素数の画像を出力する)場合と比べて、連続撮像速度を上げることができる。つまり、最速の連続撮像時の画像の撮像間隔を短くすることができる。例えば、ビニングを機能させない場合の連続撮像速度と比べて、2×2ビニングの場合の連続撮像速度は、撮像素子4から出力する画素値の数が1/4になるから4倍となり、3×3ビニングの場合の連続撮像速度は、撮像素子4から出力する画素値の数が1/9になるから9倍となる。
即ち、高速撮像時における撮像素子4の連続撮像間隔の限界値がt0(連続撮像速度が1/t0)である場合、撮像素子4は、ビニングを機能させないときにはt0秒間隔(あるいは、t0秒以上の間隔)で連続撮像することができ、2×2ビニングのときにはt0/4間隔(あるいは、t0/4秒以上の間隔)で連続撮像することができ、3×3ビニングときにはt0/9間隔(あるいは、t0/9秒以上の間隔)で連続撮像することができる。
なお、ビニングを機能させるか、または機能させないか、さらには、ビニングを機能させる場合に、2×2ビニングまたは3×3ビニングのうちのいずれを採用するかは、制御回路18から撮像素子4に供給されるビニング制御信号によって制御される。
撮像素子4は、1回の撮影(1回のレリーズボタンの操作)で、適正露出(または、撮影者が希望する露出)におけるシャッタ速度(露出時間)で1枚の撮像画像を撮像したり、適正露出(または、撮影者が希望する露出)におけるシャッタ速度よりも高速に(短い露出時間で)複数枚(以下では、N枚とする)の撮像画像を撮像したりする。
以下において、撮像素子4が撮像した1枚の撮像画像(入力画像)から、1枚の出力画像を生成する撮影、即ち、1枚の撮像画像をそのまま出力画像とする撮影を行う撮影モードを通常撮影モード(第1のモード)といい、撮像素子4が高速で撮像したN枚の撮像画像(入力画像)から、1枚の出力画像を生成する撮影を行う撮影モードを手ぶれ補正モード(第2のモード)という。
通常撮影モードでは、撮像素子4で撮像された1枚の撮像画像は、適正露出(または、撮影者が希望する露出)で撮像されるが、手ぶれ補正モードでは、N枚の撮像画像のそれぞれが適正露出(または、撮影者が希望する露出)時の露出時間よりも短い露出時間で撮像されるので、撮像素子4で撮像されたN枚の撮像画像のそれぞれは、適正露出で撮像された画像より暗く、適正露出で撮像された画像のMk分の1(=1/Mk)(k=1乃至N)の明るさになる。
Mkの値があまりに大きいと、撮像された画像は非常に暗い画像となり、N枚の撮像画像のそれぞれはノイズに埋もれてしまうことになる。そして、このようなN枚の撮像画像から出力画像を生成しても、ノイズの多い画像となってしまう。そこで、撮像された画像がノイズに埋もれてしまわない明るさとなるMkの限界値をMmaxと表すこととすると、適正露出で撮像された画像より1/Mmax(暗さの限界値)以上の明るさの画像を撮像した場合には、適切な出力画像(ノイズの少ない出力画像)を得ることができる。
例えば、Mmax=8である場合、適正露出に対して1/8よりも更に暗い画像をN枚連続して撮像しても、即ち、適正露出の露光時間の1/8よりも更に短い時間の露光により撮像画像を撮像しても、その撮像画像は非常に暗いため、適切な出力画像を生成することができない。逆に、適正露出に対して1/8よりも明るい画像をN枚連続して撮像すると、即ち、適正露出の露光時間の1/8よりも長い時間の露光により撮像画像を撮像すると、その撮像画像より、鮮明な出力画像を生成することができる。なお、MkおよびMmaxの値は、ディジタルカメラ1の性能により決定される。
画像処理回路17において、相関2重サンプリング回路5は、撮像素子4から供給される画像信号(電気信号)のノイズ成分を、相関2重サンプリングにより除去し、A/Dコンバータ6に供給する。A/Dコンバータ6は、相関2重サンプリング回路5から供給される、ノイズ除去された画像信号をA/D変換、即ち、サンプリングして量子化する。
通常撮影モードでは、A/Dコンバータ6は、A/D変換後のディジタル信号の撮像画像を、例えば、そのまま、信号処理回路7を介して、D/Aコンバータ9またはコーデック12に供給する。一方、手ぶれ補正モードでは、A/Dコンバータ6が内蔵するシフト回路21が、適正露出未満の暗い画像であるA/D変換後のディジタル信号の撮像画像を、例えば、n'ビットシフトすることなどによってMk倍することにより、適正露出と同様の明るさ(値)の画像信号の撮像画像に変換し(ゲインアップし)、信号処理回路7に供給する。
相関2重サンプリング回路5では、画像信号のノイズ成分が除去されるが、ノイズ成分のすべてが完全に除去されるわけではない。従って、相関2重サンプリング回路5で除去されないノイズ成分も存在する。この場合、相関2重サンプリング回路5で除去されないノイズ成分は、画像信号の真値に対する誤差となり、シフト回路21において、画像信号とともにMk倍されることになる。従って、信号処理回路7に供給される撮像画像に含まれる誤差は、シフト回路21におけるゲインアップの量に依存する。ここで、相関2重サンプリング回路5で除去されないノイズ成分のノイズ量をEとすると、A/Dコンバータ6(のシフト回路21)から信号処理回路7に供給される画像信号には、ノイズ量EのMk倍(E×Mk)程度のノイズが含まれる。このノイズ量Eとしては、撮像素子4の特性に応じて、例えば、想定される最大値を採用することができる。また、例えば、Mk=8とすると、シフト回路21では、n'=3として、撮像画像が3ビットシフトされることにより、撮像画像が適正露出の場合と同様の明るさにされる。
A/Dコンバータ6(のシフト回路21)においてMk倍されることにより、適正露出と同様の明るさにゲインアップされたN枚の撮像画像の画像信号は、信号処理回路7のフレームメモリ22に供給されて一時的に格納(記憶)される。
信号処理回路7は、通常撮影モードでは、A/Dコンバータ6から供給される1枚の撮像画像に対して、通常のディジタルカメラにおける場合と同様の画像処理を施し、その画像処理後の撮像画像を、出力画像として、D/Aコンバータ9またはコーデック12に供給する。
また、信号処理回路7は、手ぶれ補正モードでは、A/Dコンバータ6から供給されるN枚の撮像画像を、フレームメモリ22に記憶させ、そのN枚の撮像画像の画像信号に所定の画像処理を施す。
即ち、信号処理回路7は、N枚の撮像画像のうちの、例えば、1枚目の撮像画像を基準画像とするとともに、2乃至N枚目の撮像画像それぞれをターゲット画像とし、ターゲット画像が基準画像に対して、どのような位置ズレを起こしているか、基準画像とターゲット画像との位置ズレのズレ量(位置関係)を検出する。そして、信号処理回路7は、そのズレ量に基づいて、手ぶれが補正された1枚の鮮明な画像(出力画像)としての、1画素につきG信号、R信号、B信号のすべてを有する出力画像を求め、その求めた出力画像の画像信号を、D/Aコンバータ9またはコーデック12に供給する。信号処理回路7は、DSP(Digial Signal Processor)等で構成することができる。
タイミングジェネレータ8は、撮影モードが通常撮影モードである場合、1回の撮影において、1枚の撮像画像の撮像が行われるように、露光(露出)タイミング信号を、撮像素子4、相関2重サンプリング回路5、A/Dコンバータ6、および信号処理回路7に供給する。また、タイミングジェネレータ8は、撮影モードが手ぶれ補正モードである場合、1回の撮影において、所定の間隔でN枚の撮像画像の高速撮像が行われるように、露光(露出)タイミング信号を、撮像素子4、相関2重サンプリング回路5、A/Dコンバータ6、および信号処理回路7に供給する。
D/Aコンバータ9は、信号処理回路7から供給された出力画像の画像信号をD/A変換し、ビデオエンコーダ10に供給する。ビデオエンコーダ10は、D/Aコンバータ9から供給された画像信号(アナログ信号)を、モニタ11で表示することができるビデオ信号に変換し、モニタ11に供給する。モニタ11は、ディジタルカメラ1のファインダ等の役割を果たすもので、LCDなどで構成され、ビデオエンコーダ10から供給されるビデオ信号を表示する。これにより、モニタ11では、出力画像が表示される。
コーデック12は、信号処理回路7から供給された出力画像の画像信号を、JPEG(Joint Photographic Experts Group)方式、MPEG(Moving Picture Experts Group)方式や、DV(Digital Video)方式などの所定の方式に従って符号化し、メモリ13に供給する。
メモリ13は、フラッシュメモリなどの半導体メモリで構成され、コーデック12から供給される符号化された画像信号を一時的または永久的に記憶(記録)する。なお、メモリ13の代わりに、磁気ディスク、光(磁気)ディスク等の記録媒体を用いることができる。メモリ13またはメモリ13の代わりに用いる記録媒体は、ディジタルカメラ1に対して着脱可能とすることができる。なお、ディジタルカメラ1に内蔵される記録媒体と、ディジタルカメラ1に着脱可能な記録媒体の両方を設けるようにすることも可能である。
制御回路18において、CPU15は、例えば、ユーザの操作に応じて入力デバイス16から供給される信号などに応じ、バス14を介して各部に制御信号を供給し、各種の処理を制御する。CPU15が供給する制御信号には、例えば、通常撮影モードまたは手ぶれ補正モードのうちのいずれの撮影モードで撮影を行うかを制御する撮影モード制御信号、ビニングの機能を制御(例えば、ビニングを機能させずに撮像、2×2ビニングで撮像、または3×3ビニングで撮像することを制御)するビニング制御信号、および、1回の撮影において撮像素子4が受光するタイミング(受光開始時刻および受光終了時刻、さらに手ぶれ補正モードでは、N枚の撮像画像の各撮像の受光開始時刻および受光終了時刻)を制御する露光タイミング信号などがある。
記憶部15Aは、フラッシュメモリ(EEPROM)などからなる不揮発性のメモリ、または、不揮発性のメモリと揮発性のメモリとで構成され、CPU15が実行するプログラムを記憶し、また、CPU15が処理を行う上で必要なデータを一時記憶する。インターフェース15Bは、USB(Universal Serial Bus)やIEEE1394のインターフェースである。ディジタルカメラ1は、インターフェース15Bを介して外部のコンピュータなどと接続することで、記憶部15Aに記憶されているプログラムを更新し、あるいは出力画素を含む各種のデータのやりとりをすることができる。
入力デバイス16は、撮影のトリガを与えるレリーズボタン、撮影時の露出を補正するときに操作される露出補正ダイアル、ズームを調整するときに操作されるズームレンズの焦点距離の設定用ボタンであるズームボタン(ズームレバー)などの操作ボタン類を有している。ユーザが操作ボタンを操作することにより発生する各種の信号が、入力デバイス16からバス14を介してCPU15に供給され、CPU15は、入力デバイス16からバス14を介して供給される各種の信号に従う処理を実行するように各部を制御する。なお、入力デバイス16の1以上の操作ボタンは、モニタ11に表示することが可能である。モニタ11に表示された操作ボタンに対する操作は、例えば、モニタ11上に透明なタブレットを設け、そのタブレットにより検出するようにすることができる。
露出計19は、撮影(撮像)の対象である被写体の明るさを計測し、その計測値を制御回路18に供給する。制御回路18のCPU15は、露出計19が計測した明るさの計測値に基づき、自動露出制御などに用いられる、絞り(アイリス)の値と露出時間とを決定する。
ところで、撮影者が、露出を、いわゆるアンダまたはオーバにした撮影を希望する場合があり、ディジタルカメラ1では、撮影者が、入力デバイス16の露出補正ダイアルを操作することにより露出補正値を設定することで、適正露出に対して実際に撮影が行われるときの露出が補正されるようになっている。即ち、撮影者が、露出補正ダイアルを操作することにより、適正露出で撮影を行うように露出を設定するか、意図的に暗い出力画像が得られるように露出をアンダ側に設定するか、または、意図的に明るい出力画像が得られるように露出をオーバ側に設定すると、その設定に対応する情報(露出補正値)が入力デバイス16から制御回路18(のCPU15)に供給され、制御回路18は、その情報に対応した処理を行う。
また、レンズ2がズームレンズである場合、ディジタルカメラ1では、撮影者が、入力デバイス16のズームボタンを操作することにより、焦点距離の設定が行われるようになっている。即ち、ズームボタンの操作に対応する情報が入力デバイス16から制御回路18に供給され、制御回路18は、その情報に応じて、撮影者によって指定された焦点距離となるように、レンズ2を構成する各レンズの制御を行う。また、制御回路18は、このとき入力デバイス16から供給される情報、即ち、撮影時の焦点距離の情報を、後述する撮影処理の撮影モードの決定処理で使用する。
制御回路18は、露出計19による被写体の明るさの計測値から、通常のディジタルカメラと同様にして、適正な絞りの値Fと、適正な露出時間(以下、適正露出時間という)Tpとを決定する。さらに、制御回路18は、露出補正ダイアルによる(露出補正ダイアルの操作により設定された)露出補正値から、実際の露出時間Ta(シャッタ速度)を決定する。
即ち、露出補正ダイアルによる露出補正値が0である場合、制御回路18は、適正露出時間Tpを、そのまま露出時間Taに決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が1段アンダを表している場合、制御回路18は、露出時間Taを、例えば、Tp/2に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、1段暗めの画像となる。なお、この場合、実際の露出時間を2×Taとして、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が2段アンダを表している場合、制御回路18は、露出時間Taを、例えば、Tp/4に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、2段暗めの画像となる。なお、この場合、実際の露出時間を4×Taとして、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が3段アンダを表している場合、制御回路18は、露出時間Taを、例えば、Tp/8に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、3段暗めの画像となる。なお、この場合、実際の露出時間を8×Taとして、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が1段オーバを表している場合、制御回路18は、露出時間Taを、例えば、Tp×2に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、1段明るめの画像となる。なお、この場合、実際の露出時間をTa/2として、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が2段オーバを表している場合、制御回路18は、露出時間Taを、例えば、Tp×4に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、2段明るめの画像となる。なお、この場合、実際の露出時間をTa/4として、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
露出補正ダイアルによる露出補正値が3段オーバを表している場合、制御回路18は、露出時間Taを、例えば、Tp×8に決定する。この場合、絞りの値Fおよび露出時間Taで、撮像素子4が1枚の撮像画像を撮像したとき、この撮像によって得られる撮像画像は、3段明るめの画像となる。なお、この場合、実際の露出時間をTa/8として、撮像素子4によって1枚の撮像画像を撮像すれば、この撮像によって得られる撮像画像は、適正な明るさの画像となる。
次に、図2のフローチャートを参照して、ディジタルカメラ1が、手ぶれ補正モードで撮影を行う場合の、ディジタルカメラ1の撮影処理(後述する図44のステップS507)について説明する。
初めに、ステップS1において、撮像素子4は、被写体を撮像する。即ち、撮像素子4は、1回のレリーズボタン(シャッタボタン)押下による撮影において、タイミングジェネレータ8から供給される露光タイミング信号に従い、所定の間隔でN回連続して、入射される被写体の光を受光し、光電変換することにより、N回の高速撮像を行う。従って、1回の撮影において、N枚の撮像画像が得られ、各撮像画像は、適正露出以下(未満)の暗い画像となる。撮像素子4での光電変換により得られた画像信号は、相関2重サンプリング回路5に供給され、ノイズ成分が除去された後、A/Dコンバータ6に供給される。そして、ステップS2に進む。
ステップS2において、A/Dコンバータ6は、相関2重サンプリング回路5から供給されるN枚の撮像画像それぞれの画像信号をディジタル変換する。その後、シフト回路21が、適正露出以下の暗い撮像画像を、n'ビットシフトして適正露出と同様の明るさ(値)の画像信号に変換し(ゲインアップし)、信号処理回路7に供給して、ステップS3に進む。
ステップS3において、信号処理回路7は、A/Dコンバータ6(のシフト回路21)からのN枚の撮像画像のうちの、例えば、1枚目の撮像画像を基準画像とするとともに、2枚目以降の各画像をターゲット画像として、ターゲット画像(2乃至N枚目の画像)が基準画像に対して、どのような位置ずれを起こしているか、即ち、基準画像に対するターゲット画像の位置ズレのズレ量(を表す情報(例えば、後述する変換パラメータ))を検出して、ステップS4に進む。
ステップS4において、信号処理回路7は、N枚の撮像画像と、ステップS3で検出された基準画像に対するターゲット画像の位置ズレのズレ量に基づいて、画像生成処理を行い、ステップS5に進む。画像生成処理の詳細は後述するが、この画像生成処理により、信号処理回路7は、手ぶれが(ほとんど)なく、適正露出の1枚の鮮明な画像(出力画像)としての1画素がG信号、R信号、B信号のすべてを有する画像が生成される。画像生成処理により得られた出力画像の画像信号は、信号処理回路7からD/Aコンバータ9またはコーデック12に供給される。
ステップS5では、モニタ11が出力画像を表示し、フラッシュメモリ等のメモリ13に出力画像を記録して、処理を終了する。即ち、ステップS5では、ステップS4で信号処理回路7からD/Aコンバータ9に供給された画像信号がアナログ信号に変換され、ビデオエンコーダ10に供給される。さらに、ステップS5では、ビデオエンコーダ10は、D/Aコンバータ9から供給された画像信号のアナログ信号を、モニタ11に表示することができるビデオ信号に変換し、モニタ11に供給する。そして、ステップS5において、モニタ11は、ビデオエンコーダ10から供給されたビデオ信号に基づいて、出力画像を表示して、処理を終了する。また、ステップS5では、ステップS4で信号処理回路7からコーデック12に供給された画像信号に対し、JPEGやMPEG等の所定の符号化が施され、フラッシュメモリ等のメモリ13に記録され、処理を終了する。
次に、図3は、図1の撮像素子4の画素の配列を示している。なお、図3では、撮像素子4のうちの左上の一部分の画素(横方向6画素、縦方向4画素の計24画素)を示しているが、それ以外の部分の画素も同様に配置されているものとする。
ここで、図3において、撮像素子4の左上の画素の中心(重心)を原点として、横(右)方向をX方向、縦(下)方向をY方向とするXY座標系を設定する。また、1画素の縦および横方向の長さ(幅)をそれぞれ1とする。この場合、左からi番目で、上からj番目の画素の位置(中心位置)は、(i-1,j-1)と表すことができる。
図3において、撮像素子4の画素の配列は、いわゆる、ベイヤー配列となっている。なお、撮像素子4の画素の配列は、ベイヤー配列に限定されるものではなく、その他の配列でもよい。
ベイヤー配列の撮像素子4からは、画素の位置に応じた色の画素値を有する画像が出力される。
即ち、ベイヤー配列では、G信号を取り出すことのできる画素として、原点からX方向に1番目で、Y方向に1番目の画素である画素G00、原点からX方向に3番目で、Y方向に1番目の画素である画素G02、原点からX方向に5番目で、Y方向に1番目の画素である画素G04、原点からX方向に2番目で、Y方向に2番目の画素である画素G11、以下、同様に、画素G13、画素G15、画素G20、画素G22、画素G24、画素G31、画素G33、画素G35が配置されている。
また、R信号を取り出すことのできる画素として、原点からX方向に2番目で、Y方向に1番目の画素である画素R01、原点からX方向に4番目で、Y方向に1番目の画素である画素R03、原点からX方向に6番目で、Y方向に1番目の画素である画素R05、原点からX方向に2番目で、Y方向に3番目の画素である画素R21、以下、同様に、画素R23、画素R25が配置されている。
さらに、B信号を取り出すことのできる画素として、原点からX方向に1番目で、Y方向に2番目の画素である画素B10、原点からX方向に3番目で、Y方向に2番目の画素である画素B12、原点からX方向に5番目で、Y方向に2番目の画素である画素B14、原点からX方向に1番目で、Y方向に4番目の画素である画素B30、以下、同様に、画素B32、画素B34が配置されている。
ここで、撮像素子4を基準としたXY座標系上の位置(x,y)(x,yは実数)を用いて、撮像素子4上に投影されている被写体(像)のG信号、R信号、B信号(G,R,Bの光量)を、それぞれLg(x,y),Lr(x,y),Lb(x,y)と表すこととする。この場合、手ぶれがない1枚の鮮明な画像としての出力画像において、左からi番目で、上からj番目である「i番目、j番目の画素」のG信号、R信号、B信号は、それぞれLg(i,j),Lr(i,j),Lb(i,j)と表すことができる。但し、x=i-1,y=j-1である。
なお、Lg(x,y),Lr(x,y),Lb(x,y)(Lg(i-1,j-1),Lr(i-1,j-1),Lb(i-1,j-1))それぞれは、位置(x,y)(「i番目、j番目の画素」)における被写体の緑色、赤色、青色の光量(画素値)を表すので、以下においては、Lg(x,y),Lr(x,y),Lb(x,y)それぞれを、緑色の光量Lg(x,y)、赤色の光量Lr(x,y)、青色の光量Lb(x,y)ともいう。
次に、G信号、R信号、B信号それぞれの画素について使用する変数ig,jg,ir,jr,ib,jbを定義する。
変数ig,jgそれぞれは、G信号を取り出すことのできる画素についてのi,jを表す。即ち、変数ig,jgの組み合わせは、G信号を取り出すことのできる、変数i,jの組み合わせと等しい。ベイヤー配列では、その性質から、変数ig,jgは、変数iとjとの差(i−j)が偶数であるという条件を満たす変数に、それぞれ等しい。なお、当然ながら、変数igとjgとの差(ig−jg)も偶数となる。従って、「ig番目,jg番目の画素」とは、G信号を取り出すことのできる画素である。なお、ベイヤー配列以外の配列では、その配列の性質に応じて、変数ig,jgとなる変数i,jの条件は異なる。
変数ir,jrそれぞれは、R信号を取り出すことのできる画素についてのi,jを表す。即ち、変数ir,jrの組み合わせは、R信号を取り出すことのできる、変数i,jの組み合わせと等しい。ベイヤー配列では、その性質から、変数ir,jrは、変数iが偶数、かつ変数iとjとの差(i−j)が奇数であるという条件を満たす変数に、それぞれ等しい。なお、当然ながら、変数irとjrとの差(ir−jr)も奇数となる。従って、「ir番目,jr番目の画素」とは、R信号を取り出すことのできる画素である。なお、ベイヤー配列以外の配列では、その配列の性質に応じて、変数ir,jrとなる変数i,jの条件とは異なる。
変数ib,jbそれぞれは、B信号を取り出すことのできる画素についてのi,jを表す。即ち、変数ib,jbの組み合わせは、B信号を取り出すことのできる、変数i,jの組み合わせと等しい。ベイヤー配列では、その性質から、変数ib,jbは、変数iが奇数、かつ変数iとjとの差(i−j)が奇数であるという条件を満たす変数i,jに、それぞれ等しい。なお、当然ながら、変数ibとjbとの差(ib−jb)も奇数となる。従って、「ib番目,jb番目の画素」とは、B信号を取り出すことのできる画素である。なお、ベイヤー配列以外の配列では、その配列の性質に応じて、変数ib,jbとなる変数i,jの条件は異なる。
次に、図3に示した撮像素子4の各画素で受光して得られる色信号(G信号、R信号、B信号)の値(画素値)について定義する。
上述したように、撮像素子4では、N枚の撮像画像が撮像される。従って、撮像素子4の1つの画素についてN個の画素値が得られる。そこで、k枚目(k=1乃至N)の撮像画像の撮像において「ig番目,jg番目の画素」で得られる画素値をGobs(k,ig,jg)と、「ir番目,jr番目の画素」で得られる画素値をRobs(k,ir,jr)と、「ib番目,jb番目の画素」で得られる画素値をBobs(k,ib,jb)と、それぞれ表す。例えば、1枚目の撮像画像の撮像において画素G00で得られる画素値は、Gobs(1,1,1)で表され、2枚目の撮像画像の撮像において画素G04で得られる画素値は、Gobs(2,5,1)で表される。なお、以下において、特に断りがない場合、kは、1乃至Nの整数を表すものとする。
以上のような画素値の定義によれば、画素値Gobs(k,ig,jg)、Robs(k,ir,jr)、Bobs(k,ib,jb)が得られる画素は、それぞれ、画素G(jg-1)(ig-1),R(jr-1)(ir-1),B(jb-1)(ib-1)である。
また、画素値Gobs(k,ig,jg)は、k枚目の撮像画像の「ig番目,jg番目」の画素の画素値でもある。同様に、画素値Robs(k,ir,jr)は、k枚目の撮像画像の「ir番目,jr番目」の画素の画素値でもあり、画素値Bobs(k,ib,jb)は、k枚目の撮像画像の「ib番目,jb番目」の画素の画素値でもある。
次に、図4は、図1の信号処理回路7の一部分についての詳細な構成例を示している。
信号処理回路7は、フレームメモリ22、動き検出回路23、演算回路24、コントローラ25で構成されている。また、フレームメモリ22は、N個のフレームメモリ221乃至22Nで構成され、動き検出回路23は、N-1個の動き検出回路231乃至23N-1で構成されている。
上述したように、A/Dコンバータ6からN枚の撮像画像がフレームメモリ22に供給される。フレームメモリ221は、A/Dコンバータ6から供給される1枚目の撮像画像を記憶(格納)する。フレームメモリ222は、A/Dコンバータ6から供給される2枚目の撮像画像を記憶する。以下同様にして、フレームメモリ22kは、A/Dコンバータ6から供給されるk枚目の撮像画像を記憶する(k=3乃至N)。
フレームメモリ221は、所定のタイミングにおいて、記憶している1枚目の撮像画像を演算回路24と動き検出回路231乃至23N-1に供給する。フレームメモリ222は、所定のタイミングにおいて、記憶している2枚目の撮像画像を演算回路24と動き検出回路231に供給する。以下、同様にして、フレームメモリ22kは、所定のタイミングにおいて、記憶しているk枚目の撮像画像を演算回路24と動き検出回路23k-1に供給する。
動き検出回路23は、2枚の撮像画像どうしの位置関係を検出する。即ち、動き検出回路23は、1枚目の撮像画像を、位置関係の検出の基準となる基準画像とするとともに、2枚目以降の各撮像画像をターゲット画像として、ターゲット画像(2乃至N枚目の画像)が基準画像に対して、どのような位置ずれを起こしているか、基準画像に対するターゲット画像の位置ズレのズレ量(動き量)を検出する。なお、このズレ量は、例えば、手ぶれにより生じるものである。
動き検出回路231には、基準画像としての1枚目の撮像画像がフレームメモリ221から、ターゲット画像としての2枚目の撮像画像がフレームメモリ222から、それぞれ供給される。
動き検出回路231は、2枚目の撮像画像の各画素(あるいは、画像全体を複数のブロックに分割したときの各ブロック)が、1枚目の撮像画像のどの位置に対応しているかを検出し、即ち、2枚目の撮像画像のある位置に投影されている被写体の部分と同一の部分が投影されている1枚目の撮像画像上の位置を検出し、その検出結果に基づき、1枚目の撮像画像と2枚目の撮像画像との位置関係(ズレ量)を表す式(1)を定義する変換パラメータ(a2,b2,c2,d2,s2,t2)を求めて、演算回路24に供給する。
式(1)は、いわゆるアフィン変換の式である。ここで、画像の座標系として、図3の撮像素子4における場合と同様に、その画像の左上の画素の中心を原点として、水平方向(右方向)をX方向とするとともに、垂直方向(下方向)をY方向とするXY座標系を定義すると、式(1)において、(X2,Y2)は、2枚目の撮像画像の画素の、その2枚目の撮像画像の座標系上の位置を表し、(X1(2),Y1(2))は、2枚目の撮像画像の画素の位置(X2,Y2)を、1枚目の撮像画像の座標系上の同一の被写体の部分が投影されている位置に変換したときの、その位置を表す。位置(X1(2),Y1(2))における下付きの(2)は、2枚目の撮像画像の座標系上の位置(X2,Y2)が、1枚目の撮像画像の座標系上の位置に変換されたことを表す。1枚目の撮像画像の座標系上の位置(X1(2),Y1(2))には、(理想的には)2枚目の撮像画像の画素の位置(X2,Y2)に投影されている被写体の部分と同一の部分が投影されている。
ここで、変換パラメータ(a2,b2,c2,d2,s2,t2)のうちの、a2,b2,c2,d2を、a2=d2=L2cosθ2,-b2=c2=L2sinθ2と定義すると、式(1)のアフィン変換は、回転角度θ2、スケールL2、平行移動量(s2,t2)で定義される。この場合、式(1)は、1枚目の撮像画像の位置(X1(2),Y1(2))に投影されている被写体の部分が、その位置(X1(2),Y1(2))に対応する2枚目の撮像画像の画素の位置(位置(X1(2),Y1(2))に投影されている被写体の部分と同一の部分が投影されている2枚目の撮像画像の位置)(X2,Y2)に投影されている被写体の部分に対して、角度θ2だけ回転し、L2倍だけ拡大(L2<1のときは、縮小)され、(s2,t2)だけ平行移動していることを表す。
なお、手ぶれでは、通常、撮像素子4の受光面と平行な方向のぶれ(揺れ)が大きく、撮像素子4の受光面と垂直な方向のぶれ(揺れ)は少ないので、撮像素子4の受光面と垂直な方向のぶれはないとみなしても良い。この場合、L2=1となる。
動き検出回路232には、基準画像としての1枚目の撮像画像がフレームメモリ221から、ターゲット画像としての3枚目の撮像画像がフレームメモリ223から、それぞれ供給される。
動き検出回路232は、3枚目の撮像画像の各画素が、1枚目の撮像画像のどの位置に対応しているかを検出し、その検出結果に基づき、1枚目の撮像画像と3枚目の撮像画像との位置関係を表す式(2)のアフィン変換を定義する変換パラメータ(a3,b3,c3,d3,s3,t3)を求めて、演算回路24に供給する。
式(2)において、(X3,Y3)は、3枚目の撮像画像の画素の、その3枚目の撮像画像の座標系上の位置を表し、(X1(3),Y1(3))は、3枚目の撮像画像の画素の位置(X3,Y3)を、1枚目の撮像画像の座標系上の同一の被写体の部分が投影されている位置に変換したときの、その位置を表す。位置(X1(3),Y1(3))における下付きの(3)は、式(1)における場合と同様に、3枚目の撮像画像の座標系上の位置(X3,Y3)が、1枚目の撮像画像の座標系上の位置に変換されたことを表す。また、式(2)は、a3=d3=L3cosθ3,-b3=c3=L3sinθ3と定義すると、式(1)における場合と同様にして、回転角度θ3、スケールL3、平行移動量(s3,t3)で定義することができる。
以下同様に、動き検出回路23k-1には、基準画像としての1枚目の撮像画像がフレームメモリ221から、ターゲット画像としてのk枚目の撮像画像がフレームメモリ22kから、それぞれ供給される。
動き検出回路23k-1は、k枚目の撮像画像の各画素が、1枚目の撮像画像のどの位置に対応しているかを検出し、その検出結果に基づき、1枚目の撮像画像とk枚目の撮像画像との位置関係を表す式(3)のアフィン変換を定義する変換パラメータ(ak,bk,ck,dk,sk,tk)を求めて、演算回路24に供給する。
式(3)において、(Xk,Yk)は、k枚目の撮像画像の画素の、そのk枚目の撮像画像の座標系上の位置を表し、(X1(k),Y1(k))は、k枚目の撮像画像の画素の位置(Xk,Yk)を、1枚目の撮像画像の座標系上の同一の被写体の部分が投影されている位置に変換したときの、その位置を表す。位置(X1(k),Y1(k))における下付きの(k)は、式(1)における場合と同様に、k枚目の撮像画像の座標系上の位置(Xk,Yk)が、1枚目の撮像画像の座標系上の位置に変換されたことを表す。また、式(3)は、ak=dk=Lkcosθk,-bk=ck=Lksinθkと定義すると、式(1)における場合と同様にして、回転角度θk、スケールLk、平行移動量(sk,tk)で定義することができる。
変換パラメータ(ak,bk,ck,dk,sk,tk)は、上述のように、k枚目の撮像画像の各画素の位置に投影されている被写体の部分と同一の部分が投影されている1枚目の撮像画像の位置の検出結果から求める他、ディジタルカメラ1に加速度センサや角速度センサを設け、その加速度センサ等の出力から、いわば、メカニカル的に求めるようにすることもできる。
演算回路24には、フレームメモリ221乃至22NからN枚の撮像画像が供給される。
また、演算回路24には、動き検出回路231乃至23N-1から1枚目の撮像画像とk枚目の撮像画像との位置関係を表す変換パラメータ(ak,bk,ck,dk,sk,tk)が供給される。
演算回路24は、動き検出回路231乃至23N-1から供給される2乃至N枚目の撮像画像それぞれと、1枚目の撮像画像との位置関係を表す変換パラメータ(ak,bk,ck,dk,sk,tk)に基づき、後述する画像生成処理における画素値の推定に用いる1乃至N枚目の撮像画像の画素を特定し、さらに、その特定した画素の画素地に基づき、手ぶれを補正した1枚の鮮明な出力画像の画素値(G信号、R信号、B信号)を推定することにより、出力画像を生成する画像生成処理を行い、その結果得られる出力画像を、D/Aコンバータ9またはコーデック12に供給する。
ここで、A/Dコンバータ6から信号処理回路7に供給されるN枚の撮像画像それぞれは、1画素がG信号、R信号、B信号のうちのいずれか1つの画素値を有する画像であるのに対して、演算回路24で生成される出力画像は、1画素につきG信号、R信号、B信号の3個の画素値(色信号)を有する画像である。
コントローラ25は、CPU15の制御に従い、信号処理回路7内のフレームメモリ221乃至22N、動き検出回路231乃至23N-1、演算回路24等の制御を行う。なお、CPU15(図1)が、コントローラ25に代わって、信号処理回路7内のフレームメモリ221乃至22N、動き検出回路231乃至23N-1、演算回路24等の制御を行うようにすることができ、この場合には、コントローラ25を省略することができる。
なお、ベイヤー配列を採用する単板センサでは、G信号の画素数に対して、R信号やB信号の画素数が少なくなっている。そのため、信号処理回路7で得られる出力画像におけるR信号やB信号は、G信号に較べて誤差(ノイズ)が大となる場合がある。そのような場合には、演算回路24の後段に、輝度信号はそのままで、色差信号に対してのみ高周波成分の帯域を制限するローパスフィルタを配置することにより、ノイズを除去(制限)することができる。
次に、図1の信号処理回路7(の演算回路24(図4))における画像生成処理について説明する。
なお、撮像素子4の各画素で得られる画素値、即ち、撮像画像の画素値は、その画素の、ある1点(例えば、画素の重心(中心))に入射される被写体の光の光量に対応する信号、即ち、画素の重心位置でポイントサンプリングされたデータであるとする。
また、以下では、k枚目の撮像画像のことをk枚目画像とも記述し、さらに、k枚目画像を基準とするXY座標系(k枚目画像の左上の画素の中心を原点として、横(右)方向をX方向とするとともに、縦(下)方向をY方向とするXY座標系)を、k枚目画像の座標系という。
上述のように、撮像素子4の各画素で得られる画素値を、画素の重心位置でポイントサンプリングされたデータであるとした場合、図3の撮像素子4の各画素のうち、「i番目、j番目の画素」の画素値は、例えば、「i番目、j番目の画素」の重心の位置(座標)(i-1,j-1)に投影された被写体の光の光量に対応する。
例えば、いま、撮像素子4の「i番目、j番目の画素」の画素値が、「i番目、j番目の画素」の重心の位置(座標)(i-1,j-1)に投影された被写体の光の光量に等しいとすると、例えば、1枚目画像の「ig番目、jg番目の画素」の画素値Gobs(1,ig,jg)は、1枚目画像の座標系(1枚目画像を基準とする座標系)の位置(ig-1,jg-1)の緑色の光量Lg(ig-1,jg-1)である。同様に、1枚目画像の「ir番目、jr番目の画素」の画素値Robs(1,ir,jr)は、1枚目画像の座標系の位置(ir-1,jr-1)の赤色の光量Lr(ir-1,jr-1)であり、1枚目画像の「ib番目、jb番目の画素」の画素値Bobs(1,ib,jb)は、1枚目画像の座標系の位置(ib-1,jb-1)の青色の光量Lb(ib-1,jb-1)である。
ここで、図5は、1枚目画像を示している。
図5において、撮像画像の画素を、図3で説明した撮像素子4の画素と同様に表すこととすると、1枚目画像の画素G(jg-1)(ig-1)については、黒丸で示される画素の重心位置に、G信号の画素値Gobs(1,ig,jg)が観測される。また、画素R(jr-1)(ir-1)については、黒四角で示される画素の重心位置に、R信号の画素値Robs(1,ir,jr)が観測され、画素B(jb-1)(ib-1)については、黒三角で示される画素の重心位置に、B信号の画素値Bobs(1,ib,jb)が観測される。
以上のように、1枚目画像の画素値は、1枚目画像の座標系上の各画素の重心位置、即ち、i番目、j番目の画素では、位置(i-1,j-1)において観測される。
図6は、2枚目画像を示している。
図6において、2枚目画像の画素G(jg-1)(ig-1)については、黒丸で示される画素の重心位置に、G信号の画素値Gobs(2,ig,jg)が観測される。また、画素R(jr-1)(ir-1)については、黒四角で示される画素の重心位置に、R信号の画素値Robs(2,ir,jr)が観測され、画素B(jb-1)(ib-1)については、黒三角で示される画素の重心位置に、B信号の画素値Bobs(2,ib,jb)が観測される。
以上のように、2枚目画像においても、1枚目画像と同様に、画素値は、2枚目画像の座標系上の各画素の重心位置、即ち、i番目、j番目の画素では、位置(i-1,j-1)において観測される。
演算回路24(図4)は、画像生成処理において、N枚の撮像画像から、そのN枚の撮像画像どうしの位置関係を検出するときの基準となった撮像画像、即ち、ここでは、1枚目画像に投影されている被写体の範囲の画像を、出力画像として生成する。即ち、演算回路24は、N枚の撮像画像の位置関係に基づき、出力画像の画素の位置ごとに、その画素の位置の画素値の推定に用いるN枚の撮像画像の画素を特定し、その特定したN枚の撮像画像の画素の画素値に基づき、出力画像の各画素の位置の画素値を推定することにより、出力画像を生成する。
演算回路24は、このように、出力画像の画素の位置ごとに、その画素(の位置)の画素値の推定に用いるN枚の撮像画像の画素を特定するため、N枚の撮像画像それぞれに投影されている被写体の各部が一致(対応)するように、そのN枚の撮像画像の画素(の位置)を、出力画像上の位置、即ち、基準画像である1枚目画像上の位置に変換する。
この変換は、動き検出回路23k-1(図4)で求められた、N枚の撮像画像の位置関係を表す式(1)乃至(3)の変換パラメータ(a,b,c,d,s,t)(以下、適宜、変換パラメータを表す変数のサフィックスは省略する)のアフィン変換によって行われる。
即ち、例えば、2枚目画像上の画素(点)は、動き検出回路231により求められた変換パラメータ(a2,b2,c2,d2,s2,t2)を用いた式(1)のアフィン変換によって、1枚目画像の座標系上の点に変換することができる。
図6には、1枚目画像の座標系上の点に変換された2枚目画像の、画素値がGobs(2,ig,jg),Robs(2,ir,jr),Bobs(2,ib,jb)それぞれの画素(の重心位置)も示されている。
即ち、2枚目画像の座標系の画素G(jg-1)(ig-1)のG信号の画素値Gobs(2,ig,jg)は、2枚目画像の座標系上の位置(ig-1,jg-1)を動き検出回路231により求められた変換パラメータ(a2,b2,c2,d2,s2,t2)によりアフィン変換した1枚目画像の座標系上の位置((ig-1)(2),(jg-1)(2))で観測される(はずの)緑色の光量Lg(x,y)でもある。図6では、G信号の画素値Gobs(2,ig,jg)が観測される1枚目画像の座標系上の位置((ig-1)(2),(jg-1)(2))が、白丸で示されている。
また、2枚目画像の座標系の画素R(jr-1)(ir-1)のR信号の画素値Robs(2,ir,jr)は、2枚目画像の座標系上の位置(ir-1,jr-1)を動き検出回路231により求められた変換パラメータ(a2,b2,c2,d2,s2,t2)により変換した1枚目画像の座標系上の位置((ir-1)(2),(jr-1)(2))で観測される(はずの)赤色の光量Lr(x,y)でもある。図6では、R信号の画素値Robs(2,ir,jr)が観測される1枚目画像の座標系上の位置((ir-1)(2),(jr-1)(2))が、白四角で示されている。
さらに、2枚目画像の座標系の画素B(jb-1)(ib-1)のB信号の画素値Bobs(2,ib,jb)は、2枚目画像の座標系上の位置(ib-1,jb-1)を動き検出回路231により求められた変換パラメータ(a2,b2,c2,d2,s2,t2)により変換した1枚目画像の座標系上の位置((ib-1)(2),(jb-1)(2))で観測される(はずの)青色の光量Lb(x,y)でもある。図6では、B信号の画素値Bobs(2,ib,jb)が観測される1枚目画像の座標系上の位置((ib-1)(2),(jb-1)(2))が、白三角で示されている。
次に、図7は、3枚目画像を示している。
図7において、3枚目画像の画素G(jg-1)(ig-1)については、黒丸で示される画素の重心位置に、G信号の画素値Gobs(3,ig,jg)が観測される。また、画素R(jr-1)(ir-1)については、黒四角で示される画素の重心位置に、R信号の画素値Robs(3,ir,jr)が観測され、画素B(jb-1)(ib-1)については、黒三角で示される位置に、B信号の画素値Bobs(3,ib,jb)が観測される。
以上のように、3枚目画像の画素値も、3枚目画像の座標系上の各画素の重心位置、即ち、i番目、j番目の画素では、位置(i-1,j-1)において観測される。
3枚目画像上の画素(点)も、2枚目画像と同様に、動き検出回路232により求められた変換パラメータ(a3,b3,c3,d3,s3,t3)を用いた式(2)のアフィン変換によって、1枚目画像の座標系上の点に変換することができる。
図7には、その1枚目画像の座標系に変換された3枚目画像上の、画素値がGobs(3,ig,jg),Robs(3,ir,jr),Bobs(3,ib,jb)それぞれの画素(の重心位置)も示されている。
即ち、3枚目画像の座標系の画素G(jg-1)(ig-1)のG信号の画素値Gobs(3,ig,jg)は、3枚目画像の座標系上の位置(ig-1,jg-1)を動き検出回路232により求められた変換パラメータ(a3,b3,c3,d3,s3,t3)によりアフィン変換した1枚目画像の座標系上の位置((ig-1)(3),(jg-1)(3))で観測される(はずの)緑色の光量Lg(x,y)でもある。図7では、G信号の画素値Gobs(3,ig,jg)が観測される1枚目画像の座標系上の位置((ig-1)(3),(jg-1)(3))が、白丸で示されている。
また、3枚目画像の座標系の画素R(jr-1)(ir-1)のR信号の画素値Robs(3,ir,jr)は、3枚目画像の座標系上の位置(ir-1,jr-1)を動き検出回路232により求められた変換パラメータ(a3,b3,c3,d3,s3,t3)によりアフィン変換した1枚目画像の座標系上の位置((ir-1)(3),(jr-1)(3))で観測される(はずの)赤色の光量Lr(x,y)でもある。図7では、R信号の画素値Robs(3,ir,jr)が観測される1枚目画像の座標系上の位置((ir-1)(3),(jr-1)(3))が、白四角で示されている。
さらに、3枚目画像の座標系の画素B(jb-1)(ib-1)のB信号の画素値Bobs(3,ib,jb)は、3枚目画像の座標系上の位置(ib-1,jb-1)を動き検出回路232により求められた変換パラメータ(a3,b3,c3,d3,s3,t3)によりアフィン変換した1枚目画像の座標系上の位置((ib-1)(3),(jb-1)(3))で観測される(はずの)青色の光量Lb(x,y)でもある。図7では、B信号の画素値Bobs(3,ib,jb)が観測される1枚目画像の座標系上の位置((ib-1)(3),(jb-1)(3))が、白三角で示されている。
次に、図8は、基準画像である1枚目の撮像画像を基準として、1乃至N枚目の撮像画像に投影されている被写体の各部が一致するように、1乃至N枚目の撮像画像を位置合わせするアフィン変換を行った場合に、1乃至N枚目の撮像画像それぞれにおける緑色の画素(緑色の光を受光した画素)G(jg-1)(ig-1)の画素値Gobs(1,ig,jg)乃至Gobs(N,ig,jg)が観測される1枚目画像の座標系上の位置を示している。
図8では、1枚目画像の座標系上の(I',J')に着目した場合の、その周辺の位置における1乃至N枚目画像の緑色の画素(緑色の光を受光した画素)の一例を示している。ig番目、jg番目の画素G(jg-1)(ig-1)の重心位置(画素中心)において1枚目画像の画素値Gobs(1,ig,jg)が観測されている。但し、I'=ig-1,J'=jg-1の場合である。また、画素G(jg-1)(ig-1)の画素中心の左上側に、位置が1枚目画像の座標系上にアフィン変換された2枚目画像の画素値Gobs(2,ig,jg)が観測されている。さらに、画素G(jg-1)(ig-1)の画素中心の左下側に、位置が1枚目画像の座標系上にアフィン変換された3枚目画像の画素値Gobs(3,ig,jg)が観測されている。また、画素G(jg-1)(ig-1)の画素中心の右上側に、位置が1枚目画像の座標系上にアフィン変換された4枚目画像の画素値Gobs(4,ig,jg)が観測されている。なお、5乃至N枚目画像の画素値Gobs(k,ig),jg)(k=5乃至N)の図示は、省略されている。
演算回路24は、1乃至N枚目画像の画素(の位置)を、基準画像である1枚目画像の座標系上の位置にアフィン変換し、そのアフィン変換後の位置における画素の画素値Gobs(k,ig,jg)(k=1乃至N)に基づいて、1枚目画像の座標系上の位置(i-1,j-1)の緑色の光量Lg(i-1,j-1)を、出力画像の、その位置(i-1,j-1)におけるG信号の画素値として推定する。
ここで、基準画像である1枚目画像の座標系上において、i番目、j番目の画素の中心位置(i-1,j-1)を(I',J')と表すことにする。即ち、I'=i-1,J'=j-1とする。なお、I',J'は、0以上の整数である。
図9は、演算回路24が、真の緑の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')それぞれを、出力画像の画素値として推定すべき、1枚目画像の座標系上の位置を示している。
図9では、出力画像の各画素の中心位置(I',J')、即ち、1枚目画像の座標系上の撮像素子4の各画素の中心位置(I',J')が、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')を推定すべき位置として黒丸で示されている。即ち、黒丸で示された各画素の中心位置(I',J')においては、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')のすべてが推定される。
ここで、以下、適宜、基準画像の座標系を、基準座標系という。ここでは、1枚目画像を基準画像としているので、1枚目画像の座標系が基準座標系である。
演算回路24は、1乃至N枚目画像の画素(の位置)を、基準座標系上の位置にアフィン変換し、そのアフィン変換後の位置における画素のG信号の画素値Gobs(k,ig,jg)(k=1乃至N)を用いて、基準座標系上の位置(I',J')の緑色の光量Lg(I',J')を、出力画像の、その位置(I',J')におけるG信号の画素値として推定する。
但し、1乃至N枚目画像の画素の、基準座標系上へのアフィン変換後の位置における画素のG信号の画素値Gobs(k,ig,jg)のすべてを用いて、基準座標系上の位置(I',J')の緑色の光量Lg(I',J')を、出力画像の位置(I',J')におけるG信号の画素値として推定したのでは、その推定精度が劣化する。
そこで、演算回路24は、1乃至N枚目画像の画素の、基準座標系上へのアフィン変換後の位置が、緑色の光量Lg(I',J')を推定しようとする位置(I',J')の近傍にある1乃至N枚目画像の画素を、緑色の光量Lg(I',J')、即ち、出力画像の画素値の推定に用いる画素として特定し、その特定した1乃至N枚目画像の画素のG信号の画素値Gobs(k,ig,jg)を用いて、緑色の光量Lg(I',J')を推定する。
図10は、演算回路24が緑色の光量Lg(I',J')の推定に用いる1乃至N枚目画像の画素の位置をプロットした基準座標系を示している。
演算回路24は、基準座標系上の位置(I',J')について、I'−1≦x<I'+1,J'−1≦y<J'+1の範囲を、位置(I',J')の近傍の範囲(近傍範囲)として設定し、基準座標系上へのアフィン変換後の位置が、近傍範囲内にある1乃至N枚目画像の画素を、緑色の光量Lg(I',J')の推定に用いる画素して特定する。即ち、演算回路24では、位置(I',J')に対して、位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす整数k,ig,jgの組がすべて求められ、この(k,ig,jg)で表される画素が、緑色の光量Lg(I',J')の推定に用いる画素して特定される。
図10では、基準座標系上へのアフィン変換後の位置として、5つの点A,B,C,D,Eが存在し、従って、演算回路24では、その点A乃至点Eにアフィン変換される1乃至N枚目画像の画素が、緑色の光量Lg(I',J')の推定に用いる画素して特定される。
そして、演算回路24では、点A乃至点Eそれぞれで観測される画素値Gobs(k,ig,jg)、即ち、位置が点A乃至点Eにアフィン変換される1乃至N枚目画像の画素のG信号の画素値Gobs(k,ig,jg)を用いて、位置(I',J')の緑色の光量Lg(I',J')が推定される。
図11は、点A乃至点Eそれぞれで観測される画素値Gobs(k,ig,jg)を用いて、位置(I',J')の緑色の光量Lg(I',J')が推定される様子を模式的に示している。
演算回路24は、例えば、次式にしたがって緑色の光量Lg(I',J')を推定する。
ここで、式(4)におけるΣは、位置(I',J')に対して、位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ig,jg)の組についての総和を表す。
例えば、図10および図11の例では、点A乃至点Eの5個の(k,ig,jg)の組についての総和となる。
また、式(4)において、w((x,y),(I',J'))は、位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の位置(x,y)と、緑色の光量Lg(I',J')を推定しようとする位置(画素)(I',J')とを引数とする重みを表す。
従って、式(4)によれば、緑色の光量Lg(I',J')が、実際に観測されている画素値Gobs(k,ig,jg)を用いた重み付け加算(重み付け平均)によって推定される。そこで、以下、適宜、式(4)を緑色の光量の重み加算式と称する。
重みw((x,y),(I',J'))としては、例えば、位置(x,y)と(I',J')との距離に対して単調減少する関数などを用いることができる。位置(x,y)と(I',J')との距離を、F((x,y),(I',J'))=√{(x-I')2+(y-J')2}と表すこととすると、位置(x,y)と(I',J')との距離に対して単調減少する関数としては、例えば、√2-F((x,y),(I',J'))などを採用することができる。ここで、√2-F((x,y),(I',J'))における√2は、図10および図11に示した、位置(I',J')の緑色の光量Lg(I',J')の推定に用いられる画素値Gobs(k,ig,jg)が存在する(I'±1,J'±1)で囲まれる領域内の中心(I',J')からの最大の距離であり、従って、√2-F((x,y),(I',J'))は、位置(x,y)と(I',J')との距離に対して単調減少する非負の関数となる。
重みw((x,y),(I',J'))として、√2-F((x,y),(I',J'))を用いた場合、位置(I',J')に対してより近い位置の画素値Gobs(k,ig,jg)の影響をより強く受けるように、緑色の光量Lg(I',J')が推定される。
なお、図1で説明したように、相関2重サンプリング回路5が出力する画像信号に含まれるノイズ量をEとすると、その画像信号には、シフト回路21において、n'ビットシフトによるMk倍のゲインアップの処理が施されるため、画素値Gobs(k,ig,jg)には、ノイズ量E×Mkのノイズが含まれる。
緑色の光量Lg(I',J')の推定にあたっては、画素値Gobs(k,ig,jg)に含まれるノイズの影響を排除すべきであり、かかる観点からは、重みw((x,y),(I',J'))は、画素値Gobs(k,ig,jg)に含まれるノイズのノイズ量E×Mkに対して減少するようにするのが望ましい。そこで、重みw((x,y),(I',J'))としては、位置(x,y)と(I',J')との距離に対して減少し、かつノイズ量E×Mkに対しても減少する、例えば、{√2-F((x,y),(I',J'))}/(E×Mk)などを採用することができる。
ここで、重みw((x,y),(I',J'))としては、その他、例えば、位置(x,y)と(I',J')との距離に対してローパスフィルタの特性を有する関数などを採用することもできるが、この点については、後述する。
演算回路24は、位置(I',J')における赤色の光量Lr(I',J')と、青色の光量Lb(I',J')も、緑色の光量Lg(I',J')における場合と同様に推定する。即ち、演算回路24は、赤色の光量Lr(I',J')と、青色の光量Lb(I',J')を、式(4)と同様の式(5)と式(6)にしたがってそれぞれ推定する。
なお、式(5)におけるΣは、位置(I',J')に対して、位置(ir-1,jr-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)で変換した基準座標系上の位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ir,jr)の組についての総和を表す。また、式(6)におけるΣは、位置(I',J')に対して、位置(ib-1,jb-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)で変換した基準座標系上の位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ib,jb)の組についての総和を表す。
ここで、以下、適宜、式(5)を赤色の光量の重み加算式と、式(6)を青色の光量の重み加算式と、それぞれ称することとする。
以上のように、演算回路24では、位置(I',J')に対して、位置(i-1,j-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,i,j)で表される画素を、位置(I',J')の画素値の推定に用いる画素(以下、適宜、特定画素という)として特定し、その特定画素の画素値に基づいて、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')が求められる(推定される)。
次に、図12のフローチャートを参照して、以上のようにして画素値(緑色、赤色、青色の光量)を推定することにより、出力画像を生成する図2のステップS4における画像生成処理について説明する。
初めに、ステップS71において、演算回路24は、基準座標系上のある位置(I',J')に注目する(以下、注目位置(I',J')と称する)。ここで、注目位置(I',J')は、基準画像である1枚目の撮像画像の「i番目、j番目の画素」の画素中心(i-1,j-1)を表している。
そして、ステップS71からS72に進み、演算回路24は、注目位置(I',J')に対して、k枚目画像の緑色の画素(緑色の画素値Gobs(k,ig,jg)の画素)の中心位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の位置(x,y
)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ig,jg)の組を、1乃至N枚目画像についてすべて求め、その(k,ig,jg)で表される画素を特定画素として特定し、ステップS73に進む。
なお、k枚目画像の画素(の位置)を、基準座標系上の位置(x,y)にアフィン変換するときの変換パラメータ(ak,bk,ck,dk,sk,tk)は、動き検出回路23k-1から演算回路24に供給される。また、基準画像である1枚目画像については、即ち、k=1の場合については、変換パラメータ(a1,b1,c1,d1,s1,t1)として、(1,0,0,1,0,0)が用いられる。従って、基準画像は、実質的にアフィン変換されない。
ここで、k枚目画像の画素(の位置)の、基準座標系上へのアフィン変換後の位置(x,y)を、以下、適宜、変換位置(x,y)ともいう。
ステップS73において、演算回路24は、ステップS72で求めたすべての(k,ig,jg)の組を用いて、式(4)で表される緑色の光量の重み加算式を生成して、ステップS74に進む。即ち、演算回路24は、ステップS72で求めたすべての(k,ig,jg)で表される特定画素の画素値Gobs(k,ig,jg)と変換位置(x,y)を用いて、式(4)の緑色の光量の重み加算式の分母Σw((x,y),(I',J'))、および分子Σ{w((x,y),(I',J'))×Gobs(k,ig,jg)}を演算する。
ステップS74において、演算回路24は、注目位置(I',J')に対して、k枚目画像の赤色の画素(赤色の画素値Robs(k,ir,jr)の画素)の中心位置(ir-1,jr-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ir,jr)の組を、1乃至N枚目画像についてすべて求め、その(k,ir,jr)で表される画素を特定画素として特定し、ステップS75に進む。
ステップS75において、演算回路24は、ステップS74で求めたすべての(k,ir,jr)の組を用いて、式(5)で表される赤色の光量の重み加算式を生成して、ステップS76に進む。即ち、演算回路24は、ステップS74で求めたすべての(k,ir,jr)で表される特定画素の画素値Robs(k,ir,jr)と変換位置(x,y)を用いて、式(5)の赤色の光量の重み加算式の分母Σw((x,y),(I',J'))、および分子Σ{w((x,y),(I',J'))×Robs(k,ir,jr)}を演算する。
ステップS76において、演算回路24は、注目位置(I',J')に対して、k枚目画像の青色の画素(青色の画素値Bobs(k,ib,jb)の画素)の中心位置(ib-1,jb-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−1≦x<I'+1,J'−1≦y<J'+1を満たす(k,ib,jb)の組を、1乃至N枚目画像についてすべて求め、その(k,ib,jb)で表される画素を特定画素として特定し、ステップS77に進む。
ステップS77において、演算回路24は、ステップS76で求めたすべての(k,ib,jb)の組を用いて、式(6)で表される青色の光量の重み加算式を生成して、ステップS78に進む。即ち、演算回路24は、ステップS76で求めたすべての(k,ib,jb)で表される特定画素の画素値Bobs(k,ib,jb)と変換位置(x,y)を用いて、式(6)の青色の光量の重み加算式の分母Σw((x,y),(I',J'))、および分子Σ{w((x,y),(I',J'))×Bobs(k,ib,jb)}を演算する。
ステップS78において、演算回路24は、ステップS73で求めた式(4)の緑色の光量の重み加算式の分子Σ{w((x,y),(I',J'))×Gobs(k,ig,jg)}を、その分母Σw((x,y),(I',J'))で除算することにより、注目位置(I',J')における緑色の光量Lg(I',J')を求める(推定する)。さらに、演算回路24は、ステップS75で求めた式(5)の赤色の光量の重み加算式の分子Σ{w((x,y),(I',J'))×Robs(k,ir,jr)}を、その分母Σw((x,y),(I',J'))で除算することにより、注目位置(I',J')における赤色の光量Lr(I',J')を求めるとともに、ステップS77で求めた式(6)の青色の光量の重み加算式の分子Σ{w((x,y),(I',J'))×Bobs(k,ib,jb)}を、その分母Σw((x,y),(I',J'))で除算することにより、注目位置(I',J')における青色の光量Lb(I',J')を求め、ステップS79に進む。
即ち、ステップS78では、出力画像の位置(I',J')の画素について、G信号、R信号、B信号の3個の画素値が求められる。
ステップS79において、演算回路24は、すべての位置(I',J')を注目位置としたか、即ち、基準画像である1枚目の撮像画像の画素、つまり、出力画像の画素の中心位置のすべてを注目位置(I',J')として、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、および青色の光量Lb(I',J')を求めたか否かを判定する。
ステップS79で、すべての位置(I',J')をまだ注目位置としていないと判定された場合、ステップS71に戻り、ステップS71乃至S79の処理が繰り返される。即ち、演算回路24は、まだ注目していない位置(I',J')を新たな注目位置(I',J')として、その新たな注目位置(I',J')における緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、および青色の光量Lb(I',J')をそれぞれ求める。
一方、ステップS79で、すべての位置(I',J')を注目位置としたと判定された場合、ステップS80に進み、演算回路24は、ステップS78で求めた緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')を、それぞれ、位置(I',J')の画素におけるG信号、R信号、B信号の画素値とする出力画像を生成し(得て)、D/Aコンバータ9またはコーデック12に供給して、処理を戻る。
以上のように、高速撮像により得られた複数の撮像画像どうしの位置関係を検出し、その位置関係に基づき、出力画像の画素の位置ごとに、その画素の位置の画素値の推定に用いる複数の撮像画像の画素を、特定画素として特定し、その特定画素の画素値に基づき、出力画像の各画素の位置の画素値を推定することにより、出力画像を生成するので、手ぶれのない鮮明な出力画像を得ることができる。
次に、上述の場合には、出力画像の画素値(緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J'))を推定する式(4)乃至式(6)の重みw((x,y),(I',J'))として、位置(x,y)と(I',J')との距離に対して減少する、例えば、√2-F((x,y),(I',J'))などを採用することとしたが、重みw((x,y),(I',J'))としては、その他、例えば、位置(x,y)と(I',J')との距離に対してローパスフィルタの特性を有する関数を採用することができる。
位置(x,y)と(I',J')との距離に対してローパスフィルタの特性を有する関数としては、例えば、キュービック(Cubic)関数を用いたCubic(I'−x)×Cubic(J'−y)がある。
ここで、キュービック関数Cubic(z)は、次式(7)で表される。
なお、式(7)のaは、予め決められた定数であり、例えば、−1などとされる。
図13は、キュービック関数Cubic(z)を示している。
キュービック関数Cubic(z)は、変数zが、2≦|z|、および|z|=1の場合には、0となり、1<|z|<2の場合には、負の値となる。また、|z|<1の場合には、Cubic(z)は、正の値となり、かつ、|z|の値が大きくなるに従い、小さくなる。換言すれば、キュービック関数Cubic(z)は、周波数軸で考えた場合(フーリエ変換した場合)にローパスフィルタの特性を有する関数である。
重みw((x,y),(I',J'))として、キュービック関数Cubic(z)を用いる場合、演算回路24(図4)は、次のようにして、出力画像の画素値(緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J'))を推定する。
即ち、図14は、位置(I',J')に対して、N枚の撮像画像の位置(ig-1,jg-1)を基準座標系(ここでは、1枚目の座標系)上にアフィン変換した変換位置(x,y)としての点G11乃至G19を示している。
図14において、変換位置(x,y)としての点G11乃至G19は、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲内の点であり、演算回路24は、このI'−2≦x<I'+2,J'−2≦y<J'+2の範囲を、位置(I',J')の近傍範囲として、変換位置(x,y)が近傍範囲内にある1乃至N枚目画像の画素を、特定画素として特定する。
即ち、重みw((x,y),(I',J'))として、位置(x,y)と(I',J')との距離に対して減少する√2-F((x,y),(I',J'))を採用した場合には、図10および図11に示したように、I'−1≦x<I'+1,J'−1≦y<J'+1の範囲を、位置(I',J')の近傍範囲としたが、重みw((x,y),(I',J'))として、キュービック関数を用いたCubic(I'−x)×Cubic(J'−y)を採用する場合には、図14に示すように、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲を、位置(I',J')の近傍範囲とする。
これは、上述したように、式(7)で表されるキュービック関数Cubic(z)が、−2≦z≦2の範囲で、引数zに応じた値をとるので(|z|>2の範囲では、引数zにかかわらず0であるので)、その範囲と対応する範囲、即ち、I'−2≦x<I'+2、およびJ'−2≦y<J'+2の範囲に、変換位置(x,y)が存在する画素の画素値を用いて、出力画像における位置(I',J')の画素値を推定するためである。
ここで、重みw((x,y),(I',J'))としては、位置(x,y)と(I',J')との距離に対してローパスフィルタの特性を有し、かつ、さらに、式(4)で説明したように、ノイズ量E×Mkに対して減少する関数を採用することができる。この場合、w((x,y),(I',J'))は、例えば、{Cubic(I'−x)×Cubic(J'−y)}/(E×Mk)で表される。
なお、シフト回路21(図1)において、N枚の撮像画像に対して、すべて同一のM倍のゲインアップを行うこととする場合、w((x,y),(I',J'))は、{Cubic(I'−x)×Cubic(J'−y)}/(E×M)で表される。この場合、式(4)乃至式(6)では、w((x,y),(I',J'))における1/(E×M)は、式(4)乃至式(6)の分母と分子で相殺(約分)されるので、式(4)乃至式(6)を計算するにあたって、w((x,y),(I',J'))として、{Cubic(I'−x)×Cubic(J'−y)}/(E×M)を用いることは、w((x,y),(I',J'))として、Cubic(I'−x)×Cubic(J'−y)を用いることと等価である。
式(4)における重みw((x,y),(I',J'))を、Cubic(I'−x)×Cubic(J'−y)に代えて、式(4)を書き直すと、式(8)になる。
ここで、式(8)におけるΣは、位置(I',J')に対して、位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ig,jg)の組についての総和を表す。例えば、図14に示した例では、点G11乃至点G19の9個の(k,ig,jg)の組についての総和となる。
なお、式(8)も、式(4)と同様に、緑色の光量の重み加算式と称する。また、式(8)の緑色の光量の重み加算式の分子と分母を、次のように、式(9)と式(10)とする。
同様に、式(5)と式(6)における重みw((x,y),(I',J'))を、Cubic(I'−x)×Cubic(J'−y)に代えて、式(5)と式(6)を書き直すと、それぞれ、式(11)と式(12)になる。
なお、式(11)におけるΣは、位置(I',J')に対して、位置(ir-1,jr-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ir,jr)の組についての総和を表す。また、式(12)におけるΣも、式(6)における場合と同様に、位置(I',J')に対して、位置(ib-1,jb-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ib,jb)の組についての総和を表す。
ここで、式(11)を、式(5)と同様に、赤色の光量の重み加算式と称し、式(12)を、式(6)と同様に、青色の光量の重み加算式と称する。
また、式(11)の赤色の光量の重み加算式の分子と分母を、それぞれ、式(13)と式(14)とする。
同様に、式(12)の青色の光量の重み加算式の分子と分母を、それぞれ、式(15)と式(16)とする。
演算回路24では、以上の式(8)で表される緑色の光量の重み加算式、式(11)で表される赤色の光量の重み加算式、および式(12)で表される青色の光量の重み加算式を用いて、出力画像の画素値、即ち、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、および青色の光量Lb(I',J')を求めることができる。
ところで、演算回路24において、式(8)、式(11)、および式(12)によって、出力画像の画素値(緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、および青色の光量Lb(I',J'))を求める場合、出力画像の画素値として、信頼性の低い値が得られることがある。
即ち、式(8)の緑色の光量の重み加算式によれば、変換位置(x,y)における画素値Gobs(k,ig,jg)と重みCubic(I'−x)×Cubic(J'−y)との積和である式(9)で表される式(8)の分子を、重みCubic(I'−x)×Cubic(J'−y)の総和である式(10)で表される式(8)の分母で除算することにより、位置(I',J')の緑色の光量Lg(I',J')が求められる。
従って、式(8)の分母である式(10)が0(ほぼ0も含む)となる場合、式(8)で求められる緑色の光量Lg(I',J')は、不安定(不定)な、信頼性の低い値となる。換言すれば、式(8)の分母である式(10)が0となる位置(I',J')では、式(8)の分子における画素値Gobs(k,ig,jg)に含まれる僅かなノイズ(誤差)が、0である分母で除算されることにより、大きな値に増幅され、その結果、式(8)で求められる緑色の光量Lg(I',J')は、大きなノイズを含む信頼性のない値となる。
式(8)の分母である式(10)が0となる場合は、例えば、キュービック関数Cubic(I'−x)またはCubic(J'−y)のうちの少なくとも一方が、式(10)のサメーションの全範囲にわたって0となる場合である。そして、キュービック関数Cubic(I'−x)またはCubic(J'−y)が0となる場合は、図13で示したキュービック関数の特性から、I'−x=±1またはJ'−y=±1、即ち、x=I'±1またはy=J'±1となる場合である。
従って、ある位置(I',J')に対して、位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)で基準座標系上にアフィン変換した場合に、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲に出現する、すべての(k,ig,jg)の画素値Gobs(k,ig,jg)の変換位置(x,y)が、位置(I',J')とx=I'±1またはy=J'±1の関係があるとき、式(8)で求められる緑色の光量Lg(I',J')は、その分母が0(またはほぼ0)となるから、不安定(不定)な、信頼性のない値となる。但し、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲に出現する画素値Gobs(k,ig,jg)の変換位置(x,y)すべてが、位置(I',J')と、x=I'±1またはy=J'±1の関係となる状態は、極めて特別な、例外的な状態であり、以下、この状態を例外状態と称する。
図15は、ある位置(I',J')が例外状態となっている場合を示している。
図15では、位置(ig-1,jg-1)が変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換された変換位置G11'およびG15'が、x=I'−1の関係となる位置に出現し、変換位置G12'およびG16'が、x=I'+1の関係となる位置に出現している。
また、位置(ig-1,jg-1)が変換パラメータ(ak,bk,ck,dk,sk,tk)で変換された変換位置G13'およびG14'が、y=J'−1の関係となる位置に出現し、変換位置G17',G18'、およびG19'が、y=J'+1の関係となる位置に出現している。
図15に示す状態においては、基準座標系上のI'−2≦x<I'+2,J'−2≦y<J'+2の範囲に変換された(k,ig,jg)の組のすべての変換位置(x,y)が、位置(I',J')とx=I'±1またはy=J'±1の関係がある。この状態では、位置(I',J')を中心とした、およそ(I'±1,J'±1)内の領域(位置(I',J')を中心とする横×縦が2×2の正方形の領域)には、重みw((x,y),(I',J'))が0でないG信号のデータ(画素値Gobs(k,ig,jg))が1つも存在していない。
このような状態(例外状態)において、位置(I',J')における緑色の光量Lg(I',J')を、式(8)によって求めた場合、上述したように、信頼性の低い(不安定な)緑色の光量Lg(I',J')が得られることとなる。
そこで、位置(I',J')の画素が、このような例外状態にある場合には、演算回路24は、式(8)により、位置(I',J')における緑色の光量Lg(I',J')を求める処理を行うのではなく、次のような例外処理を行うことによって、位置(I',J')における緑色の光量Lg(I',J')を求める。ここで、式(8)、式(11)または式(12)により、それぞれ、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、または青色の光量Lb(I',J')を求める処理を、以下、適宜、通常処理という。
即ち、例えば、いま、位置(I',J')を注目位置とし、その注目位置(I',J')の出力画像の画素(以下、適宜、注目画素という)における緑色の光量Lg(I',J')を推定するとして、注目画素(の注目位置(I',J'))が例外状態となっている場合、演算回路24は、例外状態の注目画素の注目位置(I',J')における緑色の光量Lg(I',J')を、変換位置(x,y)が注目位置(I',J')の近傍にあるk枚目の撮像画像の画素の画素値Gobs(k,ig,jg)の他に、変換位置(x,y)が注目画素の周辺の出力画像の画素の位置の近傍にあるk枚目の撮像画像の画素の画素値Gobs(k,ig,jg)をも用いて求める。
ここで、例外処理において、緑色の光量Lg(I',J')を求める場合には、注目位置(I',J')の注目画素の周辺の画素(以下、適宜、周辺画素という)としては、例えば、図16に示すような、位置(I'−1,J'),(I'+1,J'),(I',J'−1),(I',J'+1)それぞれの画素を採用することができる。
即ち、ディジタルカメラ1の撮像素子4は、図3を参照して説明したように、ベイヤー配列となっている。ベイヤー配列では、緑色の成分を受光する画素は、X方向およびY方向ともに、1画素おきに配列されている。
ベイヤー配列の撮像素子4において得られるN枚の撮像画像を、基準座標系上にアフィン変換した場合に、注目位置(I',J')の近傍にG信号の観測値(である画素値)Gobs(k,ig,jg)が存在していないときは、その注目位置(I',J')の基準画像の画素は、緑色の画素ではない。
即ち、図17は、ベイヤー配列の撮像素子4において得られる基準画像を示している。
なお、図17において、基準画像は、横方向(X方向)にW個の画素を、縦方向(Y方向)にH個の画素を、それぞれ有しており、W×Hの画素から構成されている。従って、撮像素子4も、W×Hの画素数を有している。
例えば、注目位置(I',J')の基準画像の画素が、図17に示すように、ベイヤー配列の画素のうちの、青色の画素(撮像素子4の画素のうちの青色の成分を受光する画素に対応する基準画像の画素)であり、丸で囲まれている画素B12である場合、画素B12の上下左右のいずれかには、緑色の画素が存在する。同様に、赤色または青色のうちのいずれかの画素については、その画素の上下左右のいずれかに、緑色の画素が存在する。
従って、基準座標系の注目位置(I',J')の近傍にG信号の観測値Gobs(k,ig,jg)が存在していない場合(変換位置(x,y)が注目位置(I',J')の近傍になる撮像画像の緑色の画素が存在していない場合)、その注目位置(I',J')の注目画素の上、下、左、または右に隣接する画素(周辺画素)の位置(I',J'−1),(I',J'+1),(I'−1,J')、または(I'+1,J')のうちのいずれかの近傍には、G信号の観測値Gobs(k,ig,jg)が存在する。そして、位置(I'−1,J'),(I'+1,J'),(I',J'−1)、または(I',J'+1)のうちのいずれかの周辺画素においては、G信号の観測値Gobs(k,ig,jg)が存在するので、例外状態が発生していない。即ち、位置(I'−1,J'),(I'+1,J'),(I',J'−1)、または(I',J'+1)のうちのいずれかの周辺画素については、式(8)により、信頼性のある緑色の光量Lg(I',J')を求めることができる。
以上から、演算回路24は、注目画素が例外状態である場合は、注目位置(I',J')における緑色の光量Lg(I',J')を、変換位置(x,y)が注目位置(I',J')の近傍になる画素の画素値Gobs(k,ig,jg)の他に、変換位置(x,y)が注目画素の周辺の周辺画素の位置(I'−1,J'),(I'+1,J'),(I',J'−1)、または(I',J'+1)の近傍になる画素の画素値Gobs(k,ig,jg)をも用いて求める例外処理を行う。
具体的には、演算回路24は、例外処理として、注目位置(I',J')における緑色の光量Lg(I',J')を、次式(17)で求める。
式(17)によれば、注目画素の注目位置(I',J')と、その注目画素の周辺の周辺画素の位置(I'−1,J'),(I'+1,J'),(I',J'−1)、および(I',J'+1)との5点それぞれにおいて通常処理のときに演算される式(8)の分子の総和、即ち、式(9)の総和を、注目画素の注目位置(I',J')と、その注目画素の周辺の周辺画素の位置(I'−1,J'),(I'+1,J'),(I',J'−1)、および(I',J'+1)との5点それぞれにおいて通常処理のときに演算される式(8)の分母の総和、即ち、式(10)の総和で除算することにより、緑色の光量Lg(I',J')が求められる。周辺画素の位置(I'−1,J'),(I'+1,J'),(I',J'−1)、および(I',J'+1)のうちの少なくとも1つでは、例外状態が生じておらず、従って、式(17)の分母は、ある程度大きな値になるので(0に近い値にはならないので)、信頼性のある緑色の光量Lg(I',J')を求めることができる。
式(11)の赤色の光量の重み加算式で求められる赤色の光量Lr(I',J')についても、式(8)の緑色の光量の重み加算式で求められる緑色の光量Lg(I',J')と同様に、値が不安定となる場合、即ち、注目画素が例外状態となる場合がある。
具体的には、注目画素の注目位置(I',J')に対して、位置(ir-1,jr-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)で基準座標系上にアフィン変換した場合に、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲に出現する、すべての(k,ir,jr)の画素値Robs(k,ir,jr)の変換位置(x,y)が、図15で説明した場合と同様に、位置(I',J')とx=I'±1またはy=J'±1の関係となることがある。このような状態(例外状態)においては、位置(I',J')を中心とした、およそ(I'±1,J'±1)内の領域(位置(I',J')を中心とする横×縦が2×2の正方形の領域)には、重みw((x,y),(I',J'))が0でないR信号のデータ(画素値Robs(k,ir,jr))が1つも存在していない。
この場合、演算回路24は、次の例外処理を行う。
即ち、演算回路24は、例外状態の注目画素の注目位置(I',J')における赤色の光量Lr(I',J')を、変換位置(x,y)が注目位置(I',J')の近傍になるk枚目の撮像画像の画素の画素値Robs(k,ir,jr)の他に、変換位置(x,y)が注目画素の周辺の出力画像の画素(周辺画素)の位置の近傍になるk枚目の撮像画像の画素の画素値Robs(k,ir,jr)をも用いて求める。
ここで、例外処理において、赤色の光量Lr(I',J')を求める場合においては、注目位置(I',J')の注目画素の周辺画素としては、例えば、図18に示すような、位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1),(I'+1,J'+1)それぞれの画素を採用することができる。
注目位置(I',J')の近傍にR信号の観測値(である画素値)Robs(k,ir,jr)が存在していない場合、その注目位置(I',J')の基準画像の画素は、ベイヤー配列の画素のうちの、赤色の画素ではない。
例えば、注目位置(I',J')の基準画像の画素が、図19に示すように、ベイヤー配列の画素のうちの、緑色の画素であり、丸で囲まれている画素G11である場合、画素G11の上下のいずれかには、赤色の画素が存在する。
また、例えば、注目位置(I',J')の基準画像の画素が、図19に示すように、ベイヤー配列の画素のうちの、緑色の画素であり、丸で囲まれている画素G22である場合、画素G22の左右のいずれかには、赤色の画素が存在する。
さらに、例えば、注目位置(I',J')の基準画像の画素が、図19に示すように、ベイヤー配列の画素のうちの、青色の画素であり、丸で囲まれている画素B14である場合、画素B14の右斜め上、右斜め下、左斜め上、および左斜め下のいずれかには、赤色の画素が存在する。
同様に、基準画像において赤色の画素ではない画素については、その画素の上下、左右、右斜め上、右斜め下、左斜め上、および左斜め下のいずれかに、赤色の画素が存在する。
従って、基準座標系上において、注目位置(I',J')の近傍にR信号の観測値Robs(k,ir,jr)が存在していない場合(変換位置(x,y)が注目位置(I',J')の近傍になる撮像画像の赤色の画素が存在していない場合)、その注目位置(I',J')の注目画素の左斜め上、上、右斜め上、左、右、左斜め下、下、または右斜め下に隣接する画素(周辺画素)の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、または(I'+1,J'+1)のうちのいずれかの近傍には、R信号の観測値Robs(k,ir,jr)が存在する。そして、位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、または(I'+1,J'+1)のうちのいずれかの周辺画素においては、R信号の観測値Robs(k,ir,jr)が存在するので、例外状態が発生していない。即ち、位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、または(I'+1,J'+1)のうちのいずれかの周辺画素については、式(11)により、信頼性のある赤色の光量Lr(I',J')を求めることができる。
以上から、演算回路24は、注目画素が例外状態である場合は、注目位置(I',J')における赤色の光量Lr(I',J')を、変換位置(x,y)が注目位置(I',J')の近傍になる画素の画素値Robs(k,ir,jr)の他に、変換位置(x,y)が注目画素の周辺の周辺画素の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、または(I'+1,J'+1)の近傍になる画素の画素値Robs(k,ir,jr)をも用いて求める。
具体的には、演算回路24は、例外処理として、注目位置(I',J')における赤色の光量Lr(I',J')を、次式(18)で求める。
式(18)によれば、注目画素の注目位置(I',J')と、その注目画素の周辺の周辺画素の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、および(I'+1,J'+1)との9点それぞれにおいて通常処理のときに演算される式(11)の分子の総和、即ち、式(13)の総和を、注目画素の注目位置(I',J')と、その注目画素の周辺の周辺画素の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、および(I'+1,J'+1)との9点それぞれにおいて通常処理のときに演算される式(11)の分母の総和、即ち、式(14)の総和で除算することにより、赤色の光量Lr(I',J')が求められる。周辺画素の位置のうちの少なくとも1つでは、例外状態が生じておらず、従って、式(18)の分母は、ある程度大きな値になるので、信頼性のある赤色の光量Lr(I',J')を求めることができる。
式(12)の青色の光量の重み加算式で求められる青色の光量Lb(I',J')についても、式(8)の緑色の光量の重み加算式で求められる緑色の光量Lg(I',J')や、式(11)の赤色の光量の重み加算式で求められる赤色の光量Lr(I',J')と同様に、値が不安定となる場合、即ち、注目位置(I',J')の注目画素が例外状態となる場合がある。
この場合、演算回路24は、次の例外処理を行う。
即ち、ベイヤー配列では、青色の画素は、上述の赤色の画素と同様の位置関係で配列されている。そこで、演算回路24は、例外状態の注目画素の注目位置(I',J')における青色の光量Lb(I',J')を、式(18)と同様の、式(19)で求める例外処理を行う。
式(19)によれば、注目画素の注目位置(I',J')と、その注目画素の周辺画素の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、および(I'+1,J'+1)との9点それぞれにおいて通常処理のときに演算される式(12)の分子の総和、即ち、式(15)の総和を、注目画素の注目位置(I',J')と、その注目画素の周辺画素の位置(I'−1,J'−1),(I',J'−1),(I'+1,J'−1),(I'−1,J'),(I'+1,J'),(I'−1,J'+1),(I',J'+1)、および(I'+1,J'+1)との9点それぞれにおいて通常処理のときに演算される式(12)の分母の総和、即ち、式(16)の総和で除算することにより、青色の光量Lb(I',J')が求められる。従って、式(17)および式(18)における場合と同様に、信頼性のある青色の光量Lb(I',J')を求めることができる。
次に、図20と図21のフローチャートを参照して、重みw((x,y),(I',J'))として、キュービック関数によるCubic(I'−x)×Cubic(J'−y)を用いる場合の、図2のステップS4における画像生成処理について説明する。
なお、以下においては、撮像画像は、図17で説明したように、W×H画素を有し、撮像素子4も、W×H画素を有するものとする。
初めに、ステップS201において、演算回路24は、基準座標系上の画素がある位置(I',J')のうちのY方向の位置を表す変数J'に0をセットして、ステップS202に進む。
ステップS202において、演算回路24は、基準座標系上の画素がある位置(I',J')のうちのX方向の位置を表す変数I'に0をセットして、ステップS203に進む。ここで、変数I'とJ'は、それぞれ、出力画像の画素のX方向とY方向の位置を表す変数でもある。
ステップS203において、演算回路24は、位置(I',J')を注目位置として、その注目位置(I',J')に対して、k枚目画像の緑色の画素の中心位置(ig-1,jg-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ig,jg)の組を、1乃至N枚目画像についてすべて求め、即ち、緑色の光量Lg(I',J')の推定に用いる画素を特定し、ステップS204に進む。
ステップS204において、演算回路24は、ステップS203で求めたすべての(k,ig,jg)の組を用いて、式(10)で表される、緑色の光量の重み加算式の分母と、式(9)で表される、緑色の光量の重み加算式の分子を、それぞれ演算する。また、演算回路24は、その演算の結果それぞれを図示せぬメモリに記憶させて、ステップS205に進む。
ステップS205において、演算回路24は、注目位置(I',J')に対して、k枚目画像の赤色の画素の中心位置(ir-1,jr-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ir,jr)の組を、1乃至N枚目画像についてすべて求め、即ち、赤色の光量Lr(I',J')の推定に用いる画素を特定し、ステップS206に進む。
ステップS206において、演算回路24は、ステップS205で求めたすべての(k,ir,jr)の組を用いて、式(14)で表される、赤色の光量の重み加算式の分母と、式(13)で表される、赤色の光量の重み加算式の分子を、それぞれ演算する。また、演算回路24は、その演算の結果それぞれをメモリに記憶させて、ステップS207に進む。
ステップS207において、演算回路24は、注目位置(I',J')に対して、k枚目画像の青色の画素の中心位置(ib-1,jb-1)を変換パラメータ(ak,bk,ck,dk,sk,tk)でアフィン変換した基準座標系上の変換位置(x,y)が、I'−2≦x<I'+2,J'−2≦y<J'+2を満たす(k,ib,jb)の組を、1乃至N枚目画像についてすべて求め、即ち、青色の光量Lb(I',J')の推定に用いる画素を特定し、ステップS208に進む。
ステップS208において、演算回路24は、ステップS207で求めたすべての(k,ib,jb)の組を用いて、式(16)で表される、青色の光量の重み加算式の分母と、式(15)で表される、青色の光量の重み加算式の分子を、それぞれ演算する。また、演算回路24は、その演算の結果それぞれをメモリに記憶させて、ステップS209に進む。
ステップS209において、演算回路24は、変数I'がX方向の画素数W−1と等しいか否かを判定する。ステップS209で、変数I'が画素数W−1と等しくないと判定された場合、即ち、現在のY=J'の画素列のうち、X方向のすべての画素についてステップS203乃至S208の処理が行われていない場合、ステップS210に進み、変数I'を1だけインクリメントして、ステップS203に戻る。
一方、ステップS209で、変数I'が画素数W−1と等しいと判定された場合、即ち、現在のY=J'の画素列のうち、X方向のすべての画素についてステップS203乃至S208の処理が行われた場合、ステップS211に進む。
ステップS211において、演算回路24は、変数J'がY方向の画素数H−1と等しいか否かを判定する。ステップS211で、変数J'が画素数H−1と等しくないと判定された場合、即ち、撮像素子4のY方向のすべての列について、ステップS203乃至S208の処理が行われていない場合、ステップS212に進み、変数J'を1だけインクリメントして、ステップS202に戻る。
一方、ステップS211で、変数J'が画素数H−1と等しいと判定された場合、即ち、撮像素子4のY方向のすべての列について、ステップS203乃至S208の処理が行われた場合、図21のステップS213に進む。
ステップS213において、演算回路24は、ステップS201における場合と同様に、変数J'に0をセットして、ステップS214に進む。
ステップS214において、演算回路24は、ステップS202における場合と同様に、変数I'に0をセットして、ステップS215に進む。
ステップS215において、演算回路24は、位置(I',J')を注目位置(I',J')として、その注目位置(I',J')に対して、緑色の光量Lg(I',J')を求める演算処理を行って、ステップS216に進む。即ち、ステップS215では、後述するように、式(8)の緑色の光量の重み加算式を用いた通常処理、または、式(17)を用いた例外処理により、注目位置(I',J')の緑色の光量Lg(I',J')が求められる。
ステップS216において、演算回路24は、位置(I',J')を注目位置(I',J')として、その注目位置(I',J')に対して、赤色の光量Lr(I',J')を求める演算処理を行って、ステップS217に進む。即ち、ステップS216では、後述するように、式(11)の赤色の光量の重み加算式を用いた通常処理、または、式(18)を用いた例外処理により、注目位置(I',J')の赤色の光量Lr(I',J')が求められる。
ステップS217において、演算回路24は、位置(I',J')を注目位置(I',J')として、その注目位置(I',J')に対して、青色の光量Lb(I',J')を求める演算処理を行って、ステップS218に進む。即ち、ステップS217では、後述するように、式(12)の青色の光量の重み加算式を用いた通常処理、または、式(19)を用いた例外処理により、注目位置(I',J')に対する青色の光量Lb(I',J')が求められる。
ステップS218において、演算回路24は、変数I'がX方向の画素数W−1と等しいか否かを判定する。ステップS218で、変数I'が画素数W−1と等しくないと判定された場合、即ち、現在のY=J'の画素列のうち、X方向のすべての画素についてステップS215乃至S217の処理が行われていない場合、ステップS219に進み、変数I'を1だけインクリメントして、ステップS215に戻る。
一方、ステップS218で、変数I'が画素数W−1と等しいと判定された場合、即ち、現在のY=J'の画素列のうち、X方向のすべての画素についてステップS215乃至S217の処理が行われた場合、ステップS220に進む。
ステップS220において、演算回路24は、変数J'がY方向の画素数H−1と等しいか否かを判定する。ステップS220で、変数J'が画素数H−1と等しくないと判定された場合、即ち、撮像素子4のY方向のすべての列について、ステップS215乃至S217の処理が行われていない場合、ステップS221に進み、変数J'を1だけインクリメントして、ステップS214に戻る。
一方、ステップS220で、変数J'が画素数H−1と等しいと判定された場合、即ち、撮像素子4のY方向のすべての列について、ステップS215乃至S217の処理が行われた場合、ステップS222に進む。
ステップS222において、演算回路24は、ステップS215,S216,S217でそれぞれ求めた緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、青色の光量Lb(I',J')を、I'=0乃至W-1,J'=0乃至H-1の各位置(I',J')の画素値とした出力画像を生成し、D/Aコンバータ9またはコーデック12に供給して、処理を戻る。
次に、図22のフローチャートを参照して、図21のステップS215における、注目位置(I',J')の緑色の光量Lg(I',J')を求める演算処理について説明する。
初めに、ステップS251において、演算回路24は、注目位置(I',J')に対して、図20のステップS204で演算された、式(8)の緑色の光量の重み加算式の分母の絶対値、即ち、式(10)の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(10)の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。
ステップS251において、注目位置(I',J')に対する式(10)の絶対値が、所定の閾値以上であると判定された場合、即ち、注目位置(I',J')に対する式(10)の絶対値が0とみなすほどの小さい値ではない場合、ステップS252に進み、演算回路24は、式(8)の緑色の光量の重み加算式を演算する通常処理を選択して行う。即ち、演算回路24は、注目位置(I',J')について、ステップS204で演算された、式(8)の緑色の光量の重み加算式の分子の値、即ち、式(9)の値を、ステップS204で演算された、式(8)の緑色の光量の重み加算式の分母の値、即ち、式(10)の値で除算する演算を行う。これにより、ステップS252では、注目位置(I',J')における緑色の光量Lg(I',J')が求められる。
一方、ステップS251において、注目位置(I',J')に対する式(10)の絶対値が、所定の閾値未満であると判定された場合、即ち、式(10)の絶対値が0、または0に近い場合、ステップS253に進み、演算回路24は、例外処理を選択して行う。即ち、演算回路24は、注目位置(I',J')とその周辺画素について演算された式(8)の分母と分子を用いて、式(17)を演算することにより、注目位置(I',J')における緑色の光量Lg(I',J')を求める。
次に、図23のフローチャートを参照して、図21のステップS216における、注目位置(I',J')の赤色の光量Lr(I',J')を求める演算処理について説明する。
初めに、ステップS271において、演算回路24は、注目位置(I',J')に対して、図20のステップS206で演算された、式(11)の赤色の光量の重み加算式の分母の絶対値、即ち、式(14)の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(14)の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。また、この閾値は、図22のステップS251の閾値と同一でもよいし、異なるものでもよい。
ステップS271において、注目位置(I',J')に対する式(14)の絶対値が、所定の閾値以上であると判定された場合、即ち、注目位置(I',J')に対する式(14)の絶対値が0とみなすほどの小さい値ではない場合、ステップS272に進み、演算回路24は、式(11)の赤色の光量の重み加算式を演算する通常処理を選択して行う。即ち、演算回路24は、注目位置(I',J')について、ステップS206で演算された、式(11)の赤色の光量の重み加算式の分子の値、即ち、式(13)の値を、ステップS206で演算された、式(11)の赤色の光量の重み加算式の分母の値、即ち、式(14)の値で除算する演算を行う。これにより、ステップS272では、注目位置(I',J')における赤色の光量Lr(I',J')が求められる。
一方、ステップS271において、注目位置(I',J')に対する式(14)の絶対値が、所定の閾値未満であると判定された場合、即ち、式(14)の絶対値が0、または0に近い場合、ステップS273に進み、演算回路24は、例外処理を選択して行う。即ち、演算回路24は、注目位置(I',J')とその周辺画素について演算された式(11)の分母と分子を用いて、式(18)を演算することにより、注目位置(I',J')における赤色の光量Lr(I',J')を求める。
次に、図24のフローチャートを参照して、図21のステップS217における、注目位置(I',J')の青色の光量Lb(I',J')を求める演算処理について説明する。
初めに、ステップS291において、演算回路24は、注目位置(I',J')に対して、図20のステップS208で演算された、式(12)の青色の光量の重み加算式の分母の絶対値、即ち、式(16)の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(16)の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。また、この閾値は、図22のステップS251や図23のステップS271の閾値と同一でもよいし、異なるものでもよい。
ステップS291において、注目位置(I',J')に対する式(16)の絶対値が、所定の閾値以上であると判定された場合、即ち、注目位置(I',J')に対する式(16)の絶対値が0とみなすほどの小さい値ではない場合、ステップS292に進み、演算回路24は、式(12)の青色の光量の重み加算式を演算する通常処理を選択して行う。即ち、演算回路24は、注目位置(I',J')について、ステップS208で演算された、式(12)の青色の光量の重み加算式の分子の値、即ち、式(15)の値を、ステップS208で演算された、式(12)の青色の光量の重み加算式の分母の値、即ち、式(16)の値で除算する演算を行う。これにより、ステップS292では、注目位置(I',J')における青色の光量Lb(I',J')が求められる。
一方、ステップS291において、注目位置(I',J')に対する式(16)の絶対値が、所定の閾値未満であると判定された場合、即ち、式(16)の絶対値が0、または0に近い場合、ステップS293に進み、演算回路24は、例外処理を選択して行う。即ち、演算回路24は、注目位置とその周辺画素について演算された式(12)の分母と分子を用いて、式(19)を演算することにより、注目位置(I',J')における青色の光量Lb(I',J')を求める。
以上のように、図20および図21のフローチャートにしたがった画像生成処理によれば、注目位置(I',J')と、注目位置(I',J')の近傍にある変換位置(x,y)との距離に応じた重みとして、ローパスフィルタの特性を有するキュービック関数を用いて重み付け加算を行うことにより、緑色の光量Lg(I',J')、赤色の光量Lr(I',J')、および青色の光量Lb(I',J')を求められる。
即ち、位置(ig−1,jg−1)を変換パラメータ(ak,bk,ck,dk,sk,tk)で基準座標系上にアフィン変換した場合に、注目位置(I',J')に対して、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲に出現する、すべての(k,ig,jg)の画素値Gobs(k,ig,jg)、即ち、変換位置(x,y)が、注目位置(I',J')の近傍になる画素値Gobs(k,ig,jg)を用いた重み付け加算である、式(8)の緑色の光量の重み加算式で、緑色の光量Lg(I',J')が求められる(通常処理)。
但し、注目位置(I',J')の式(8)の緑色の光量の重み加算式の分母である式(10)の絶対値が、所定の閾値未満で0とみなされる場合、即ち、式(8)の緑色の光量の重み加算式により求められる値が不安定になる場合には、変換位置(x,y)が注目位置(I',J')の近傍にある画素値Gobs(k,ig,jg)と、注目位置(I',J')の周辺の周辺画素の位置の近傍になる画素値Gobs(k,ig,jg)とを用いた重み付け加算である、式(17)により、緑色の光量Lg(I',J')が求められる(例外処理)。
赤色の光量Lr(I',J')および青色の光量Lb(I',J')も同様にして求められる。
従って、ノイズの目立たない鮮明な出力画像を得ることができる。
なお、通常処理と例外処理とは、次のような見方をすることもできる。
即ち、例えば、緑色に注目すると、上述の場合においては、通常処理では、変換位置(x,y)が注目画素の位置(注目位置)(I',J')の近傍にある撮像画像の画素の画素値Gobs(k,ig,jg)を用いた重み付け加算を行う。一方、例外処理では、変換位置(x,y)が注目画素の位置(I',J')の近傍にある撮像画像の画素の画素値Gobs(k,ig,jg)と、変換位置(x,y)が注目画素の周辺の周辺画素の位置の近傍にある撮像画像の画素の画素値Gobs(k,ig,jg)とを用いた重み付け加算を行う。
従って、例外処理では、変換位置(x,y)が注目画素の位置(I',J')の近傍にある撮像画像の画素の他、周辺画素の位置の近傍にある撮像画像の画素の画素値Gobs(k,ig,jg)をも用いて重み付け加算が行われる。
以上から、通常処理が、注目位置(I',J')の近傍として、I'−2≦x<I'+2,J'−2≦y<J'+2の領域内に観測される撮像画像の画素値Gobs(k,ig,jg)を用いた重み付け加算により、注目位置(I',J')の緑色の光量Lg(I',J')を求めるのに対し、例外処理は、注目位置(I',J')の近傍として、通常処理の近傍の領域より広いI'−3≦x<I'+3,J'−3≦y<J'+3の領域内に観測される画素値Gobs(k,ig,jg)を用いた重み付け加算により、注目位置(I',J')の緑色の光量Lg(I',J')を求めているということができる。
さらに、換言すれば、注目位置(I',J')の緑色の光量Lg(I',J')を求める際に、注目位置(I',J')の近傍として、予め、I'−3≦x<I'+3,J'−3≦y<J'+3の領域が設定されており、通常処理では、その近傍の領域のうちのI'−2≦x<I'+2,J'−2≦y<J'+2以外の領域に観測される画素値Gobs(k,ig,jg)に対する重みが0となる式(8)の緑色の光量の重み加算式により、注目位置(I',J')の緑色の光量Lg(I',J')が求められているということができる。一方、例外処理では、I'−2≦x<I'+2,J'−2≦y<J'+2以外の領域に観測される画素値Gobs(k,ig,jg)、即ち、周辺画素の近傍に観測される画素値Gobs(k,ig,jg)に対する重みとして、0ではなく、その周辺画素の位置を原点とするキュービック関数Cubic(z)によって与えられる値を用いて、式(17)により、注目位置(I',J')の緑色の光量Lg(I',J')が求められていると言うことができる。
即ち、通常処理と例外処理とでは、異なる重みを用いた重み付け加算により、緑色の光量Lg(I',J')が求められるということができる。
なお、注目位置(I',J')とその近傍にある画素値Gobs(k,ig,jg)が観測される位置(x,y)との距離zに対してローパスフィルタの特性を有する関数としては、式(7)のキュービック関数Cubic(z)の他、例えば、sin(z)/zなどを採用することが可能である。
ところで、上述した実施の形態では、1枚目の撮像画像を基準画像とするとともに、2乃至N枚目の撮像画像それぞれをターゲット画像とすることとしたが、1枚目の撮像画像以外の、2乃至N枚目の撮像画像のいずれを基準画像としてもよい。
即ち、図25は、N回の連続撮像(高速撮像)により撮像されたN枚の撮像画像を示している。なお、図25は、N=8の例である。
1乃至8枚目の撮像画像4011乃至4018(k枚目画像401k)は、時系列に高速撮像された画像であり、時間の経過とともに、図中右上方向に、手ぶれによりずれた画像となっている。
即ち、図25は(後述する図26および図27でも同様)、1乃至8枚目の撮像画像4011乃至4018それぞれに投影された被写体の各部が一致するように位置合わせした状態の1乃至8枚目の撮像画像4011乃至4018を示している。
なお、図25では、(図26および図27でも同様)、手ぶれが生じていることを分かりやすくするために、手ぶれによるずれ量を誇張して、撮像画像4011乃至4018を図示してある。
図26は、図25と同様の8枚の撮像画像4011乃至4018を示している。
信号処理回路7において、撮像画像4011乃至4018のうちの、1枚目画像を基準画像とするとともに、2乃至8枚目画像それぞれをターゲット画像として、出力画像を生成する場合、出力画像は、基準画像である1枚目画像4011の座標系上の画像として得られる。ここで、図26では、1枚目画像4011、即ち、出力画像を、太線で示してある。
図26の太線で示される出力画像の領域において、1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータ(画素値)を使用して光量(画素値)が推定される領域は、点線で示される、出力画像の右上部分の領域411である。この領域411の画素値は、1乃至8枚目の8枚すべての撮像画像4011乃至4018のデータを使用して推定されるので、より鮮明な画質となる。
しかしながら、出力画像の生成にあたり、図26の太線で示す出力画像の領域のうちの、領域411以外では、1乃至8枚目の撮像画像4011乃至4018のうちの、一部の枚数目の撮像画像のデータしか使用することができないため、即ち、1乃至8枚目の撮像画像4011乃至4018のすべてのデータを使用することができないため、その分だけ、領域411に比較して画質の鮮明さが劣化することになる。上述したように、右上方向の手ぶれが生じている場合には、その反対の左下方向の領域ほど、出力画像を生成するのに用いることができるデータが少なくなり、画質の鮮明さが、領域411に比較して劣化する。
さらに、ターゲット画像である2乃至8枚目の撮像画像4012乃至4018のうちの、図26の太線で示す出力画像の領域上にない部分412のデータは、出力画像の生成に使用することができず、いわば捨てられることになる。
以上のように、1枚目の撮像画像を基準として、出力画像を生成すると、ある方向の手ぶれが生じている場合には、出力画像の中心から、手ぶれと同一の方向の領域(例えば、図26の領域411)では、鮮明な画質が得られるが、その反対方向の領域では、画質の鮮明さが劣化する。
ところで、一般に、ユーザが画像を見るときは、その中心部分に注目することが多く、また、ディジタルカメラ1による撮像を行う場合にも、注目している被写体が、画像(画枠)の中心部分に位置するように、撮像を行う。従って、ディジタルカメラ1で得られる出力画像の、特に、中心部分の画質は鮮明であることが望ましい。
そこで、信号処理回路7では、N枚の画像が連続撮像された時間の、中間の時刻またはその近傍の時刻に撮像された1枚の撮像画像(以下、中間画像と称する)を基準画像とするとともに、他の撮像画像をターゲット画像として、出力画像を生成することができる。
例えば、図27に示すように、信号処理回路7は、8枚の撮像画像4011乃至4018のうちの、太線で示される4枚目の撮像画像を基準画像として、出力画像を生成することができる。この場合、出力画像の生成にあたり、その中心部分の領域421において、1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータが使用される。
即ち、時系列の複数枚の撮像画像のうちの、中間画像を基準画像とするとともに、他の撮像画像をターゲット画像として、出力画像を生成することにより、出力画像の中心部分を、より鮮明な画質とすることができる。
上述のように、ディジタルカメラ1による撮影(撮像)では、ユーザは、一般に、注目している被写体が画像(画枠)の中心に位置するように撮影を行う。さらに、上述したように、人が画像を見る場合には、画像の中心部分に注目して、その画像を見ることが一般的である。そういう意味では、画像の中心部分が、画像の周辺部分よりも、より鮮明な画質となっている方が、良好な画像であると言える。
従って、図27に示すように、中間画像を基準画像とするとともに、他の撮像画像をターゲット画像とすることにより、出力画像の中心部分が1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータを使用して推定されるので、1枚目の撮像画像を基準画像とするよりも、良好な出力画像を得ることができる。
なお、手ぶれの周波数は、例えば、10乃至15Hz程度である。従って、図27に示した8枚の撮像画像4011乃至4018を、例えば、1/50秒以内で撮像するようなシャッタスピードでは、手ぶれによるぶれ量(手ぶれ量)は直線近似することができる。即ち、手ぶれは、一定方向への一定の速さでの移動とみなすことができる。従って、時系列に8枚の撮像画像4011乃至4018を撮像する場合には、その撮像時間における手ぶれ量を直線近似することができ、中間画像、即ち、4枚目の撮像画像4014や、5枚目の撮像画像4015を基準画像とすることにより、図27で説明したように、出力画像の中心部分の画質を鮮明にすることができる。
また、図4で示した信号処理回路7において、8枚の撮像画像4011乃至4018のうちの、例えば、4枚目の撮像画像4014を基準画像とする場合には、フレームメモリ221に基準画像とする4枚目の撮像画像4014を供給して記憶させ、1乃至3枚目の4011乃至4013、および5乃至8枚目の撮像画像4015乃至4018を、それぞれ、フレームメモリ222乃至228に供給して記憶させるようにすればよい。
ここで、中間画像を基準画像とすることにより、中心部分が鮮明な出力画像を得ることができる他、信号処理回路7の設計の容易化を図ることができる。
即ち、手ぶれ量が、上述したように、直線近似することができるとして、時系列に8枚の撮像画像4011乃至4018を撮像した場合に、例えば、隣り合う撮像画像間での手ぶれ量が10画素であるとする。この場合、1枚目の撮像画像を基準画像としてしまうと、1枚の画像の撮像が無限小の時間で行うことができるとしても、最大で、70画素の手ぶれが生じることになる。従って、信号処理回路7は、最大で70画素の手ぶれに対応することができるように設計する必要がある。
これに対して、中間画像を基準画像とする場合、即ち、撮像画像4011乃至4018のうちの、例えば、4枚目の撮像画像4014を基準画像とする場合、最大の手ぶれ量は40画素になる。従って、信号処理回路7は、最大で40画素の手ぶれに対応することができるように設計すればよいため、信号処理回路7としてのハードウエアの設計の容易化を図ることができる。
なお、上述したように、出力画像を生成するのに、8枚の撮像画像4011乃至4018における中間画像である、例えば、4枚目の撮像画像4014を基準画像とする場合には、出力画像は、基準画像である4枚目の撮像画像4014に投影されている被写体の範囲の画像となる。
ところで、上述のように、8枚の撮像画像4011乃至4018のうちの4枚目の撮像画像などの中間画像を基準画像とすることにより、出力画像の中心部分の生成には、1乃至8枚目の8枚の撮像画像4011乃至4018のすべての枚数目のデータを使用されるが、出力画像の周辺部分(出力画像のうちの、その画枠に近い部分)の生成には、1乃至8枚目の撮像画像4011乃至4018のうちの、一部の枚数目の撮像画像のデータしか使用することができないため、出力画像の中心部分の画質は鮮明になるが、その周辺部分の画質は、中心部分に比較して劣化する。
出力画像において、このような画質の劣化が生じるのは、基準画像である4枚目の撮像画像4014に投影されている被写体の範囲の「全体」の画像を、出力画像として生成するためであり、8枚の撮像画像4011乃至4018のうちのいずれを基準画像とした場合であっても、基準画像に投影されている被写体の範囲の「全体」の画像を出力画像として生成する限りは、手ぶれが生じていれば、出力画像の画素値の推定にあたって、一部の枚数目の撮像画像のデータしか使用することができない部分(出力画像の部分)が生じ、その部分の画質は劣化する。
そこで、演算回路24においては、全体の画質が鮮明な出力画像を生成するために、N枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分の画像であり、かつ、画素の間隔がN枚の撮像画像の画素の間隔より小さい画像を、出力画像として生成するようにすることができる。
即ち、ディジタルカメラ1では、ユーザのレリーズボタンの1回の操作に応じて(1回の撮影において)、N回の撮像が行われ、N枚の撮像画像が得られる。N回の撮像が行われている間の手ぶれは直線近似することができるので、その手ぶれの間に撮像されるN枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分は、(ほぼ、)N枚の撮像画像の中間画像の中心部分に一致する。
具体的には、例えば、図27に示したように、8枚の撮像画像4011乃至4018の全体に投影されている被写体の範囲(図27において斜線を付してある部分)の中心部分は、中間画像である4枚目の撮像画像4014の中心部分である領域421に(ほぼ)一致する。
従って、鮮明な画像(出力画像)が得られる領域421と(ほぼ)一致する、N枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分の画像を、出力画像として生成することにより、全体の画質が鮮明な出力画像を得ることができる。
ところで、図1のディジタルカメラ1においては、上述したように、撮影モードとして、例えば、暗い風景を撮影する場合に適した、N枚の撮像画像を撮像して、そのN枚の撮像画像から、1枚の出力画像を生成する手ぶれ補正モードと、例えば、明るい風景を撮影する場合などに適した、1枚の撮像画像を撮像して、その撮像画像を、そのまま出力画像とする通常撮影モードとがある。この手ぶれ補正モードと通常補正モードとを適切に使い分けることにより、例えば、明るい風景であっても、暗い風景であっても、ブレのない(ブレが低減され)、十分な明るさの出力画像を得ることができる。
以上のように、撮影モードとして、通常撮影モードと手ぶれ補正モードとがある場合に、手ぶれ補正モードにおいて、N枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分の画像を出力画像として生成すると、その出力画像は、N枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分、即ち、中間画像の中心部分の画像であるから、その画素の数は、中間画像である撮像画像の画素の数、ひいては、撮像素子4(図1)が有する画素の数よりも少なくなる。
従って、手ぶれ補正モードにおいて生成される出力画像の画素の数は、通常撮影モードにおいて生成される出力画像の画素の数よりも少なくなり、このように、手ぶれ補正モードと通常撮影モードそれぞれで得られる出力画像の画素の数(画素数)が異なることは、ユーザに違和感を感じさせることになる。即ち、撮影モードによってディジタルカメラ1から得られる出力画像の画素数が異なるのでは、ユーザにとって不便である。
また、ディジタルカメラの性能を表す指標として、撮像素子の画素数が提示されることがあり、ユーザは、その画素数を考慮して、ディジタルカメラの購入を決定することがある。かかる観点からも、手ぶれ補正モードにおいて得られる出力画像の画素数が、(撮像画像の画素数でもある)撮像素子の画素数よりも少ないのは、好ましくない。
そこで、ディジタルカメラ1では、手ぶれ補正モードにおいて生成する出力画像を、その画素の間隔が撮像画像の画素の間隔より小さい画像とすることで、この不具合を解消するようになっている。
即ち、上述の実施の形態では、出力画像の画素の間隔を、N枚の撮像画像の画素の間隔と同一の1であるとして、出力画像を生成するようにしているため、基準画像に投影されている被写体の範囲の「全体」の画像を、出力画像として生成する場合には、出力画像の画素の数は、基準画像の画素の数と同一になる。また、中間画像である基準画像に投影されている被写体の範囲の中心部分(N枚の撮像画像に投影されている被写体の範囲の中心部分)の画像を、出力画像として生成する場合には、出力画像の画素の数は、基準画像に投影されている被写体の範囲の中心部分の画像の画素の数と同一になり、その結果、基準画像の画素の数より少なくなる。
そこで、出力画像の画素の間隔を、N枚の撮像画像の画素の間隔より小さい値、即ち、ここでは、1未満の値として、出力画像を生成することにより、出力画像の画素の数を、撮像画像の画素の数と一致させることができる。
以上のことをまとめると、以下のようになる。即ち、手ぶれ補正モードにおいて中間画像を、基準画像として、その基準画像に投影されている被写体の範囲の「全体」の画像を、出力画像として生成する場合には、出力画像において、中心部分の画質は鮮明になるが、その周辺部分の画質は、中心部分に比較して劣化する。
つまり、例えば、撮像素子4(図1)の画素(有効画素)の数が、上述したように、W×H画素であるとすると、基準画像の座標系(基準座標系)において、x≒0,x≒W−1,y≒0,y≒H−1である点(画素)(x,y)の出力画像の画質、つまり、出力画像の周辺部分の画質は、その周辺部分以外の部分である中心部分の画質に比較して劣化する。
そこで、基準画像に投影されている被写体の範囲の中心部分、即ち、N枚の撮像画像に投影されている被写体の範囲の中心部分の画像(例えば、図27の領域421内に投影された画像)を、出力画像とすることにより、全体が鮮明な画質の出力画像が得られる。
但し、基準画像に投影されている被写体の範囲の中心部分の画像を、出力画像とする場合には、出力画像に投影される被写体の範囲(視野角度)が狭くなり、出力画像の画素の間隔を、基準画像(撮像画像)の画素の間隔と同一とすると、出力画像の画素数が、撮像画像(基準画像)の画素数、ひいては、撮像素子4の画素数より少なくなる。
そこで、さらに、画素の間隔が撮像画像の画素の間隔より小さい画像を、出力画像として生成することにより、全体が鮮明な画質で、かつ、画素の数が撮像画像と一致する出力画像を得ることができる。
次に、図28のフローチャートを参照して、手ぶれ補正モードにおいて、上述のような全体が鮮明な画質で、かつ、画素の数が撮像画像と一致する出力画像を得る場合の、図1のディジタルカメラ1の撮影処理(後述する図44のステップS507)について説明する。
ディジタルカメラ1では、ステップS301乃至S305において、それぞれ、図2のステップS1乃至S5における場合と基本的に同様の処理が行われる。
但し、ステップS303では、1枚目乃至N枚目の撮像画像のうちの1枚目の撮像画像ではなく、中間画像を基準画像とするとともに、他の撮像画像をターゲット画像として、基準画像に対するターゲット画像の位置ズレのズレ量が検出される。
また、ステップS304では、基準画像に投影されている被写体の範囲の「全体」の画像ではなく、その被写体の範囲の中心部分(N枚の撮像画像に投影されている被写体の範囲の全体の、周辺部分を除いた中心部分)の画像であり、かつ画素の間隔が撮像画像の画素の間隔より小さい画像を、出力画像として生成する画像生成処理が行われる。
即ち、ステップS301において、撮像素子4は、被写体を撮像する。即ち、単板センサである撮像素子4は、ユーザによる1回のレリーズボタン(シャッタボタン)の押下による1回の撮影において、タイミングジェネレータ8から供給される露光タイミング信号に従い、所定の間隔でN回連続して、入射される被写体の光を受光して光電変換することにより、N回の高速撮像を行う。
従って、ディジタルカメラ1では、1回の撮影において、N枚の撮像画像が得られ、各撮像画像は、適正露出以下の暗い画像となる。即ち、例えば、いま、1回の撮影において、8回の高速撮像が行われることとすると、撮像画像は、適正露出の画像の1/8の明るさの暗い画像となる。この場合、N=8,Mk=8である。
撮像素子4での光電変換により得られる撮像画像の画像信号は、相関2重サンプリング回路5に供給され、ノイズ成分が除去された後、A/Dコンバータ6に供給されて、ステップS301からS302に進む。
ステップS302では、A/Dコンバータ6が、相関2重サンプリング回路5から供給される、ノイズ除去された撮像画像の画像信号をディジタル変換する。その後、A/Dコンバータ6が内蔵するシフト回路21が、適正露出以下の暗い撮像画像の画像信号を、n'ビットシフトして適正露出と同様の明るさ(値)の画像信号に変換し(ゲインアップし)、信号処理回路7に供給して、ステップS303に進む。
ここで、上述のように、1回の撮影において、8回の高速撮像が行われることとすると、シフト回路21では、例えば、3ビットシフト(23(=8)倍のゲインアップ)が行われる。
ステップS303では、信号処理回路7の動きベクトル検出回路231乃至23N-1(図4)は、A/Dコンバータ6(のシフト回路21)からのN枚の撮像画像のうちの中間画像を基準画像とするとともに、他の撮像画像をターゲット画像として、基準画像に対するターゲット画像の位置ズレのズレ量を検出して、ステップS304に進む。
即ち、上述のように、1回の撮影において、8回の高速撮像が行われ、8枚の撮像画像が得られる場合、中間画像である4枚目の撮像画像が基準画像とされ、4枚目以外の撮像画像、つまり、1乃至3枚目の撮像画像、5乃至8枚目の撮像画像それぞれをターゲット画像として、ターゲット画像(1乃至3枚目の撮像画像、および、5乃至8枚目の撮像画像)が基準画像(4枚目の撮像画像)に対して、どのような位置ずれを起こしているか、つまり、基準画像に対するターゲット画像の位置ズレのズレ量が検出される。
ステップS304において、信号処理回路7の演算回路24(図4)は、N枚の撮像画像と、ステップS303で検出された基準画像に対するターゲット画像の位置ズレのズレ量に基づいて、画像生成処理を行い、ステップS305に進む。このステップS304の画像生成処理により、信号処理回路7において、手ぶれが補正された、全体が鮮明で、かつ画素の数が撮像画像と同一で、1画素がG信号、R信号、B信号のすべてを有する1枚の出力画像が生成される。この出力画像(の画像信号)は、D/Aコンバータ9またはコーデック12に供給される。
その後、ステップS304からS305に進み、モニタ11が出力画像を表示し、フラッシュメモリ等のメモリ13に出力画像を記録して、処理を終了する。即ち、ステップS305では、ステップS304で信号処理回路7からD/Aコンバータ9に供給された出力画像の画像信号がアナログ信号に変換され、ビデオエンコーダ10に供給される。さらに、ステップS305では、ビデオエンコーダ10は、D/Aコンバータ9から供給されたアナログの画像信号を、モニタ11に表示することができるビデオ信号に変換し、モニタ11に供給する。そして、モニタ11は、ビデオエンコーダ10から供給されたビデオ信号に基づいて、画像を表示して、処理を終了する。また、ステップS305では、ステップS304で信号処理回路7からコーデック12に供給された出力画像の画像信号に対し、JPEGやMPEG等の所定の符号化が施され、フラッシュメモリ等のメモリ13に記録され、処理を終了する。
ここで、上述のように、1回の撮影において、8回の高速撮像が行われ、8枚の撮像画像が得られることとすると、ステップS303では、1枚目画像乃至8枚目画像それぞれを、基準画像である中間画像、即ち、ここでは、例えば、4枚目画像に位置合わせするアフィン変換を行う変換パラメータが求められる。
いま、1枚目画像乃至8枚目画像のうちの、あるk枚目画像(k=1,2,・・・,8)の座標系上の点(の座標)を、(Xk,Yk)と表し、その点(Xk,Yk)に投影されている被写体の部分と同一の部分が投影されている基準画像の座標系(基準座標系)上の点、即ち、ここでは、4枚目画像の座標系上の点を、(X4k,Y4k)と表すとともに、点(Xk,Yk)を、点(X4k,Y4k)にアフィン変換する変換パラメータを、(a4k,b4k,c4k,d4k,s4k,t4k)と表すこととする。
ステップS303では、変換パラメータ(a4k,b4k,c4k,d4k,s4k,t4k)が求められる(k=1,2,・・・,8)。
この場合、1枚目画像乃至8枚目画像それぞれを、基準画像である4枚目画像に位置合わせするアフィン変換(1枚目画像乃至8枚目画像の点の、4枚目画像の座標系上の対応する点へのアフィン変換)は、式(20)乃至式(27)で、それぞれ表される。
なお、式(23)のアフィン変換は、4枚目画像の座標系上の点を、同一の4枚目画像の座標系上の点に射影するものであり、その変換パラメータ(a44,b44,c44,d44,s44,t44)は、(1,0,0,1,0,0)である。
次に、図28のステップS304における画像生成処理について、さらに説明する。
なお、以下では、撮像素子4が出力する撮像画像の横の画素数をW'と表すとともに、縦の画素数をH'と表す。ここでは、撮像素子4が有する画素の横の画素数Wと、撮像画像の横の画素数をW'とが等しく、かつ、撮像素子4が有する画素の縦の画素数Hと、撮像画像の縦の画素数をH'とが等しいものとする。
但し、撮像素子4は、上述したように、その複数画素を1画素として画素値を出力するビニング機能を有する。撮像素子4が、例えば、2×2画素を1画素として画素値を出力する2×2ビニングを行う場合、H'=H/2、W'=W/2となる。撮像素子4がビニングを行う場合の画像生成処理については、後述する。
ここで、撮像素子4が有する画素の横の画素数Wと縦の画素数Hは、例えば、それぞれ数百乃至数千であり、例えば、H=2000,W=3000である。
また、以下でも、引き続き、撮像画像の座標系を、その撮像画像の左上の画素の画素中心を原点として、横(右)方向をX方向とするとともに、縦(下)方向をY方向とするXY座標系とし、さらに、基準画像の座標系(基準座標系)において、基準画像の横または縦方向に隣り合う画素どうしの間隔を、いずれも1であるとして説明を行う。
この場合、基準画像の左からi番目で、上からj番目の画素の中心位置(の座標)(x,y)は、(i-1,j-1)となる。即ち、例えば、基準画像の左上の画素の座標(x,y)は(0,0)となり、左から2番目で、上から1番目の画素の座標(x,y)は、(1,0)となる。また、例えば、左から1番目で、上から2番目の画素の座標(x,y)は、(0,1)となり、右下の画素の座標(x,y)は、(W−1,H−1)(=(W'−1,H'−1))となる。
なお、撮像画像と出力画像において、左からi番目で、上からj番目の画素を、以下、適宜、画素(i,j)とも記述する。
上述の図12や、図20および図21で説明した画像生成処理では、出力画像の画素(i,j)の画素値を、基準座標系上の位置(点)(x,y)=(i−1,j−1)における画素値として計算(推定)している。即ち、出力画像における隣り合う画素の間(画素ピッチ)の距離が、撮像画像の画素ピッチと同一の1であるとして、出力画像の画素値を求めている。
従って、図25乃至図27で説明したように、中間画像を基準画像とした場合においては、出力画像の中心部分については、その画素値の推定に使用することができるデータ(撮像画像)が十分にあるので、ノイズのない良好な画質の画像を得ることができるが、周辺部分、即ち、x≒0,x≒W−1,y≒0,y≒H−1の(x,y)で表される部分については、その画素値の推定に使用することができるデータが少ないため、出力画像の周辺部分、つまり、i≒1,i≒W,j≒1,j≒Hの画素(i,j)では、(中心部分と比較して)ノイズの多い画像となってしまう。
そこで、図28のステップS304の画像生成処理では、中間画像を基準画像とし、さらに、その基準画像に投影されている被写体の範囲の中心部分(N枚の撮像画像に投影されている被写体の範囲の中心部分)の視野角度の狭い画像であって、画素の間隔が撮像画像(基準画像)の画素の間隔より小さい画像が、出力画像として生成される。
即ち、図28のステップS304の画像生成処理では、出力画像の画素(i,j)の画素値が、位置(x,y)=(α×(i−1)+β,α×(j−1)+γ)における画素値として計算される。
ここで、図29は、α,β,γを説明するための図であり、基準画像である4枚目画像4014を示している。
出力画像の画素(i,j)を表すiは、1乃至Wの範囲の整数値であり、jは、1乃至Hの範囲の整数値であるから、位置(α×(i−1)+β,α×(j−1)+γ)は、左上の点(β,γ)、右上の点(α×(W−1)+β,γ)、右下の点(α×(W−1)+β,α×(H−1)+γ)、左下の点(β,α×(H−1)+γ)の4つの点で囲まれる、αW×αH(横×縦)の矩形の高画質エリア422内の位置である。
なお、高画質エリア422は、W×Hの基準画像である4枚目画像4014(正確には、4枚目画像4014の左上、右上、右下、左下それぞれの画素中心を頂点とする矩形)と、相似比αで相似な矩形である。
いま、αが、0より大で、1より小の実数であるとすると、出力画像の画素(i,j)の画素値が、位置(x,y)=(α×(i−1)+β,α×(j−1)+γ)における画素値であるとすることにより、基準画像の画素ピッチが1であるのに対して、出力画像の画素ピッチは、1未満のαとなるが、出力画像の画素数は、基準画像と同一のW×H画素となる。
さらに、出力画像の画素(i,j)の画素値が、位置(x,y)=(α×(i−1)+β,α×(j−1)+γ)における画素値であるとすることにより、基準画像に投影されている被写体の範囲の中心部分(8枚の撮像画像4011乃至4018に投影されている被写体の範囲の中心部分)の視野角度の狭い画像、即ち、図29では、高画質エリア422の画像(正確には、高画質エリア422よりも上下左右それぞれが0.5αだけ広い範囲の画像)が、出力画像となる。
従って、高画質エリア422が、1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータを使用して出力画像の画素値の推定が行われる図27の領域421に含まれるように、さらに、望ましくは、高画質エリア422の面積が最大となるように、α,β,γを設定することにより、全体が鮮明な画質で、かつ、画素の数が撮像素子4が有する画素数W×H(ここでは、撮像画像の画素数W'×H'でもある)と一致する出力画像を得ることができる。
次に、α,β,γの具体的な値について説明する。
1回の撮影において、1枚目画像4011乃至8枚目画像4018の8枚の撮像画像が撮像される場合に、ある撮像画像とその次の撮像画像(次に撮像される撮像画像)との撮像の間に生じる手ぶれ量の最大値が、横および縦方向のいずれについても、撮像素子4の画素数の、例えば、2%であるとする。なお、手ぶれ量の最大値が、撮像素子4の画素数の何%となるかは、ある撮像画像と次の撮像画像との撮像の間隔等に基づき、シミュレーション等を行うことによって求め、ディジタルカメラ1に設定しておくことができる。あるいは、手ぶれ量の最大値が、撮像素子4の画素数の何%であるかは、例えば、動き検出回路231乃至23N-1(図4)で求められる動きベクトル、またはアフィン変換の変換パラメータから求めるようにすることができる。
上述のように、手ぶれ量の最大値が、横および縦方向のいずれについても、撮像素子4の画素数の2%であるとすると、ある撮像画像401kと、その次の撮像画像401k+1との間の横と縦方向の位置ずれは、撮像画像401kの画素数で、それぞれ最大でも、0.02×W画素と0.02×H画素であり、逆に、それを越える位置ずれは生じない。
従って、中間画像である4枚目画像4014を基準画像とする場合、その基準画像に対して、最も位置ずれが大きくなりうるのは、8枚目画像4018で、その位置ずれの大きさは、基準画像の画素数で、高々、横方向が0.08×W(=0.02×W×4)画素で、縦方向が0.08×H(=0.02×H×4)画素である。
従って、図29に示した基準画像である4枚目画像4014において、その上下から0.08×H画素だけ内側で、かつ、その左右から0.08×W画素だけ内側の領域を、高画質エリア422とすれば、その高画質エリア422は、1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータを使用して出力画像の画素値の推定が行われる図27の領域421に、必ず含まれる。
この場合、高画質エリア422は、その左上の頂点が、座標(0.08×W,0.08×H)で、横が、基準画像の横Wよりも0.08×W×2だけ短く、かつ、縦が基準画像の縦Hよりも0.08×H×2だけ短い矩形、即ち、左上の頂点が、座標(0.08×W,0.08×H)で、横が(1-0.16)×Wで、縦が、(1-0.16)×Hの矩形(長方形)になる。
そして、高画質エリア422は、上述したように、左上の点が座標(β,γ)の、αW×αH(横×縦)の矩形の領域であるから、α=(1-0.16),β=0.08×W,γ=0.08×Hとなる。
図28のステップS304の画像生成処理では、演算回路24(図4)は、手ぶれ量の最大値が撮像素子4の画素数の何%であるかに基づき、上述したようにして、α,β,γを設定し、1≦i≦W,1≦j≦Hの範囲のすべての整数値i,jについて、出力画像の画素(i,j)の画素値を、位置(x,y)=(α×(i−1)+β,α×(j−1)+γ)における画素値として計算(推定)する。
即ち、α,β,γが、手ぶれ量の最大値に応じた値に設定され、基準画像に投影されている被写体の範囲のうちの高画質エリア422に投影されている画像、つまり、基準画像に投影されている被写体の範囲の割合αの範囲(αW×αH)の画像であり、かつ、画素の間隔が、撮像画像の画素の間隔の割合αの画像が、出力画像として生成される。
なお、上述の場合には、手ぶれ量の最大値に基づいてα,β、γを設定するようにしたが、その他、例えば、手ぶれ量の最大値よりも幾分か小さい値に基づいて、α,β、γを設定するようにしても、実用上は問題ない。
次に、図30乃至図40のフローチャートを参照して、図28のステップS304の画像生成処理について、さらに説明する。
なお、式(4)乃至式(6)の重みw((x,y),(I',J'))としては、ここでは、例えば、図20および図21で説明した画像生成処理における場合と同様に、キュービック関数によるCubic(I'−x)×Cubic(J'−y)を用いることとする。
また、ここでは、1回の撮影において、1乃至8枚目の8枚の撮像画像4011乃至4018が撮像され、さらに、そのうちの中間画像である4枚目の撮像画像4014を基準画像とするものとする。
まず、ステップS311において、演算回路24は、出力画像の縦方向の画素をカウントする変数jに、初期値としての1を設定し、ステップS312に進む。ステップS312では、演算回路24は、出力画像の横方向の画素をカウントする変数iに、初期値としての1を設定し、ステップS313に進む。
ステップS313では、演算回路24は、1枚目の撮像画像4011の中のG信号の(画素の)位置(X1,Y1)を式(20)でアフィン変換した基準座標系上の変換位置(X41,Y41)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内(図14で説明した、位置(I',J')に対する、I'−2≦x<I'+2,J'−2≦y<J'+2の範囲内に相当する)にある、即ち、式α×(i−1)+β−2≦X41≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41≦α×(j−1)+γ+2を満たす、1枚目の撮像画像4011中のすべてのG信号の画素(緑色の画素)を、特定画素として特定して、ステップS314に進む。
ここで、ステップS313で1枚目の撮像画像4011から得られる特定画素の個数を、N1と表し、さらに、そのN1個のうちのp番目(p=1,2,・・・,N1)の特定画素の画素値であるG信号の値をG1(p)と、その特定画素の撮像画像4011の座標系上の位置を(X1(p),Y1(p))と、それぞれ表す。さらに、(X1,Y1)=(X1(p),Y1(p))として、式(20)のアフィン変換によって得られる変換位置(X41,Y41)を、(X41(p),Y41(p))と表す。
従って、任意のpについて、1枚目の撮像画像4011の座標系上の位置(X1(p),Y1(p))の画素の画素値(G信号)は、G1(p)である。また、位置(X1(p),Y1(p))を基準座標系上にアフィン変換した変換位置(X41(p),Y41(p))は、式α×(i−1)+β−2≦X41(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41(p)≦α×(j−1)+γ+2を満たす。
ステップS314では、演算回路24は、2枚目の撮像画像4012の中のG信号の(画素の)位置(X2,Y2)を式(21)でアフィン変換した基準座標系上の変換位置(X42,Y42)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X42≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42≦α×(j−1)+γ+2を満たす、2枚目の撮像画像4012中のすべてのG信号の画素を、特定画素として特定して、図31のステップS315に進む。
ここで、ステップS314で2枚目の撮像画像4012から得られる特定画素の個数を、N2と表し、さらに、そのN2個のうちのp番目(p=1,2,・・・,N2)の特定画素の画素値であるG信号の値をG2(p)と、その特定画素の撮像画像4012の座標系上の位置を(X2(p),Y2(p))と、それぞれ表す。さらに、(X2,Y2)=(X2(p),Y2(p))として、式(21)のアフィン変換によって得られる変換位置(X42,Y42)を、(X42(p),Y42(p))と表す。
従って、任意のpについて、2枚目の撮像画像4012の座標系上の位置(X2(p),Y2(p))の画素の画素値(G信号)は、G2(p)である。また、位置(X2(p),Y2(p))を基準座標系上にアフィン変換した変換位置(X42(p),Y42(p))は、式α×(i−1)+β−2≦X42(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42(p)≦α×(j−1)+γ+2を満たす。
ステップS315では、演算回路24は、3枚目の撮像画像4013の中のG信号の(画素の)位置(X3,Y3)を式(22)でアフィン変換した基準座標系上の変換位置(X43,Y43)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X43≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43≦α×(j−1)+γ+2を満たす、3枚目の撮像画像4013中のすべてのG信号の画素を、特定画素として特定して、ステップS316に進む。
ここで、ステップS315で3枚目の撮像画像4013から得られる特定画素の個数を、N3と表し、さらに、そのN3個のうちのp番目(p=1,2,・・・,N3)の特定画素の画素値であるG信号の値をG3(p)と、その特定画素の撮像画像4013の座標系上の位置を(X3(p),Y3(p))と、それぞれ表す。さらに、(X3,Y3)=(X3(p),Y3(p))として、式(22)のアフィン変換によって得られる変換位置(X43,Y43)を、(X43(p),Y43(p))と表す。
従って、任意のpについて、3枚目の撮像画像4013の座標系上の位置(X3(p),Y3(p))の画素の画素値(G信号)は、G3(p)である。また、位置(X3(p),Y3(p))を基準座標系上にアフィン変換した変換位置(X43(p),Y43(p))は、式α×(i−1)+β−2≦X43(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43(p)≦α×(j−1)+γ+2を満たす。
ステップS316では、演算回路24は、4枚目の撮像画像4014の中のG信号の(画素の)位置(X4,Y4)を式(23)でアフィン変換した基準座標系上の変換位置(X44,Y44)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X44≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44≦α×(j−1)+γ+2を満たす、4枚目の撮像画像4014中のすべてのG信号の画素を、特定画素として特定して、ステップS317に進む。
ここで、ステップS316で4枚目の撮像画像4014から得られる特定画素の個数を、N4と表し、さらに、そのN4個のうちのp番目(p=1,2,・・・,N4)の特定画素の画素値であるG信号の値をG4(p)と、その特定画素の撮像画像4014の座標系上の位置を(X4(p),Y4(p))と、それぞれ表す。さらに、(X4,Y4)=(X4(p),Y4(p))として、式(23)のアフィン変換によって得られる変換位置(X44,Y44)を、(X44(p),Y44(p))と表す。
従って、任意のpについて、4枚目の撮像画像4014の座標系上の位置(X4(p),Y4(p))の画素の画素値(G信号)は、G4(p)である。また、位置(X4(p),Y4(p))を基準座標系上にアフィン変換した変換位置(X44(p),Y44(p))は、式α×(i−1)+β−2≦X44(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44(p)≦α×(j−1)+γ+2を満たす。
ステップS317では、演算回路24は、5枚目の撮像画像4015の中のG信号の(画素の)位置(X5,Y5)を式(24)でアフィン変換した基準座標系上の変換位置(X45,Y45)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X45≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45≦α×(j−1)+γ+2を満たす、5枚目の撮像画像4015中のすべてのG信号の画素を、特定画素として特定して、図32のステップS318に進む。
ここで、ステップS317で5枚目の撮像画像4015から得られる特定画素の個数を、N5と表し、さらに、そのN5個のうちのp番目(p=1,2,・・・,N5)の特定画素の画素値であるG信号の値をG5(p)と、その特定画素の撮像画像4015の座標系上の位置を(X5(p),Y5(p))と、それぞれ表す。さらに、(X5,Y5)=(X5(p),Y5(p))として、式(24)のアフィン変換によって得られる変換位置(X45,Y45)を、(X45(p),Y45(p))と表す。
従って、任意のpについて、5枚目の撮像画像4015の座標系上の位置(X5(p),Y5(p))の画素の画素値(G信号)は、G5(p)である。また、位置(X5(p),Y5(p))を基準座標系上にアフィン変換した変換位置(X45(p),Y45(p))は、式α×(i−1)+β−2≦X45(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45(p)≦α×(j−1)+γ+2を満たす。
ステップS318では、演算回路24は、6枚目の撮像画像4016の中のG信号の(画素の)位置(X6,Y6)を式(25)でアフィン変換した基準座標系上の変換位置(X46,Y46)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X46≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46≦α×(j−1)+γ+2を満たす、6枚目の撮像画像4016中のすべてのG信号の画素を、特定画素として特定して、ステップS319に進む。
ここで、ステップS318で6枚目の撮像画像4016から得られる特定画素の個数を、N6と表し、さらに、そのN6個のうちのp番目(p=1,2,・・・,N6)の特定画素の画素値であるG信号の値をG6(p)と、その特定画素の撮像画像4016の座標系上の位置を(X6(p),Y6(p))と、それぞれ表す。さらに、(X6,Y6)=(X6(p),Y6(p))として、式(25)のアフィン変換によって得られる変換位置(X46,Y46)を、(X46(p),Y46(p))と表す。
従って、任意のpについて、6枚目の撮像画像4016の座標系上の位置(X6(p),Y6(p))の画素の画素値(G信号)は、G6(p)である。また、位置(X6(p),Y6(p))を基準座標系上にアフィン変換した変換位置(X46(p),Y46(p))は、式α×(i−1)+β−2≦X46(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46(p)≦α×(j−1)+γ+2を満たす。
ステップS319では、演算回路24は、7枚目の撮像画像4017の中のG信号の(画素の)位置(X7,Y7)を式(26)でアフィン変換した基準座標系上の変換位置(X47,Y47)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X47≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47≦α×(j−1)+γ+2を満たす、7枚目の撮像画像4017中のすべてのG信号の画素を、特定画素として特定して、ステップS320に進む。
ここで、ステップS319で7枚目の撮像画像4017から得られる特定画素の個数を、N7と表し、さらに、そのN7個のうちのp番目(p=1,2,・・・,N7)の特定画素の画素値であるG信号の値をG7(p)と、その特定画素の撮像画像4017の座標系上の位置を(X7(p),Y7(p))と、それぞれ表す。さらに、(X7,Y7)=(X7(p),Y7(p))として、式(26)のアフィン変換によって得られる変換位置(X47,Y47)を、(X47(p),Y47(p))と表す。
従って、任意のpについて、7枚目の撮像画像4017の座標系上の位置(X7(p),Y7(p))の画素の画素値(G信号)は、G7(p)である。また、位置(X7(p),Y7(p))を基準座標系上にアフィン変換した変換位置(X47(p),Y47(p))は、式α×(i−1)+β−2≦X47(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47(p)≦α×(j−1)+γ+2を満たす。
ステップS320では、演算回路24は、8枚目の撮像画像4018の中のG信号の(画素の)位置(X8,Y8)を式(27)でアフィン変換した基準座標系上の変換位置(X48,Y48)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X48≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48≦α×(j−1)+γ+2を満たす、8枚目の撮像画像4018中のすべてのG信号の画素を、特定画素として特定して、図33のステップS321に進む。
ここで、ステップS320で8枚目の撮像画像4018から得られる特定画素の個数を、N8と表し、さらに、そのN8個のうちのp番目(p=1,2,・・・,N8)の特定画素の画素値であるG信号の値をG8(p)と、その特定画素の撮像画像4018の座標系上の位置を(X8(p),Y8(p))と、それぞれ表す。さらに、(X8,Y8)=(X8(p),Y8(p))として、式(27)のアフィン変換によって得られる変換位置(X48,Y48)を、(X48(p),Y48(p))と表す。
従って、任意のpについて、8枚目の撮像画像4018の座標系上の位置(X8(p),Y8(p))の画素の画素値(G信号)は、G8(p)である。また、位置(X8(p),Y8(p))を基準座標系上にアフィン変換した変換位置(X48(p),Y48(p))は、式α×(i−1)+β−2≦X48(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48(p)≦α×(j−1)+γ+2を満たす。
ステップS321では、演算回路24は、ステップS313乃至S320で求めたすべての特定画素を用い、出力画像の画素(i,j)について、式(10)で表される、式(8)の緑色の光量の重み加算式の分母と、式(9)で表される、式(8)の緑色の光量の重み加算式の分子を、それぞれ演算する。
具体的には、式(8)の緑色の光量の重み加算式の分母(式(10))として、式(28)が演算され、式(8)の緑色の光量の重み加算式の分子(式(9))として、式(29)が演算される。
なお、式(28)および(29)において、X0とY0は、画素値を推定しようとする出力画像の画素の位置を表し、(X0,Y0)=(α×(i−1)+β,Y0=α×(j−1)+γ)である。
ここで、式(29)は、1枚目乃至8枚目の撮像画像4011乃至4018を位置合わせした場合に、出力画像の画素値を求めようとしている画素(i,j)の位置(α×(i−1)+β,α×(j−1)+γ)の近傍の位置(X4k(p),Y4k(p))に観測されるG信号の画素の画素値Gk(p)(k=1乃至8,p=1乃至Nk)に、重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))をかけて加算する重み付け加算を表し、式(28)は、その重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))の総和を表す。式(29)を式(28)で除算することが、式(8)を演算することに相当し、その演算結果は、ステップS313乃至S320で得られた特定画素の画素値Gk(p)すべてについて、出力画像の画素値を求めようとしている画素(i,j)の位置(X0,Y0)と、特定画素の位置(X4k(p),Y4k(p))との距離に応じた重みを付けた「画素値Gk(p)の重み付き平均値」となる。
演算回路24は、出力画像の画素(i,j)についての式(28)と式(29)の演算後、その演算結果を、図示せぬメモリに保持して、ステップS322以下に進む。
ステップS322乃至330では、R信号について、ステップS313乃至S321とそれぞれ同様の処理が行われ、ステップS331乃至339では、B信号について、ステップS313乃至S321とそれぞれ同様の処理が行われる。
即ち、ステップS322では、演算回路24は、1枚目の撮像画像4011の中のR信号の(画素の)位置(X1,Y1)を式(20)でアフィン変換した基準座標系上の変換位置(X41,Y41)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X41≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41≦α×(j−1)+γ+2を満たす、1枚目の撮像画像4011中のすべてのR信号の画素を、特定画素として特定して、ステップS323に進む。
ここで、ステップS322で1枚目の撮像画像4011から得られる特定画素の個数を、N1と表し、さらに、そのN1個のうちのp番目(p=1,2,・・・,N1)の特定画素の画素値であるR信号の値をR1(p)と、その特定画素の撮像画像4011の座標系上の位置を(X1(p),Y1(p))と、それぞれ表す。さらに、(X1,Y1)=(X1(p),Y1(p))として、式(20)のアフィン変換によって得られる変換位置(X41,Y41)を、(X41(p),Y41(p))と表す。
従って、任意のpについて、1枚目の撮像画像4011の座標系上の位置(X1(p),Y1(p))の画素の画素値(R信号)は、R1(p)である。また、位置(X1(p),Y1(p))を基準座標系上にアフィン変換した変換位置(X41(p),Y41(p))は、式α×(i−1)+β−2≦X41(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41(p)≦α×(j−1)+γ+2を満たす。
ステップS323では、演算回路24は、2枚目の撮像画像4012の中のR信号の(画素の)位置(X2,Y2)を式(21)でアフィン変換した基準座標系上の変換位置(X42,Y42)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X42≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42≦α×(j−1)+γ+2を満たす、2枚目の撮像画像4012中のすべてのR信号の画素を、特定画素として特定して、図34のステップS324に進む。
ここで、ステップS323で2枚目の撮像画像4012から得られる特定画素の個数を、N2と表し、さらに、そのN2個のうちのp番目(p=1,2,・・・,N2)の特定画素の画素値であるR信号の値をR2(p)と、その特定画素の撮像画像4012の座標系上の位置を(X2(p),Y2(p))と、それぞれ表す。さらに、(X2,Y2)=(X2(p),Y2(p))として、式(21)のアフィン変換によって得られる変換位置(X42,Y42)を、(X42(p),Y42(p))と表す。
従って、任意のpについて、2枚目の撮像画像4012の座標系上の位置(X2(p),Y2(p))の画素の画素値(R信号)は、R2(p)である。また、位置(X2(p),Y2(p))を基準座標系上にアフィン変換した変換位置(X42(p),Y42(p))は、式α×(i−1)+β−2≦X42(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42(p)≦α×(j−1)+γ+2を満たす。
ステップS324では、演算回路24は、3枚目の撮像画像4013の中のR信号の(画素の)位置(X3,Y3)を式(22)でアフィン変換した基準座標系上の変換位置(X43,Y43)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X43≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43≦α×(j−1)+γ+2を満たす、3枚目の撮像画像4013中のすべてのR信号の画素を、特定画素として特定して、ステップS325に進む。
ここで、ステップS324で3枚目の撮像画像4013から得られる特定画素の個数を、N3と表し、さらに、そのN3個のうちのp番目(p=1,2,・・・,N3)の特定画素の画素値であるR信号の値をR3(p)と、その特定画素の撮像画像4013の座標系上の位置を(X3(p),Y3(p))と、それぞれ表す。さらに、(X3,Y3)=(X3(p),Y3(p))として、式(22)のアフィン変換によって得られる変換位置(X43,Y43)を、(X43(p),Y43(p))と表す。
従って、任意のpについて、3枚目の撮像画像4013の座標系上の位置(X3(p),Y3(p))の画素の画素値(R信号)は、R3(p)である。また、位置(X3(p),Y3(p))を基準座標系上にアフィン変換した変換位置(X43(p),Y43(p))は、式α×(i−1)+β−2≦X43(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43(p)≦α×(j−1)+γ+2を満たす。
ステップS325では、演算回路24は、4枚目の撮像画像4014の中のR信号の(画素の)位置(X4,Y4)を式(23)でアフィン変換した基準座標系上の変換位置(X44,Y44)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X44≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44≦α×(j−1)+γ+2を満たす、4枚目の撮像画像4014中のすべてのR信号の画素を、特定画素として特定して、ステップS326に進む。
ここで、ステップS325で4枚目の撮像画像4014から得られる特定画素の個数を、N4と表し、さらに、そのN4個のうちのp番目(p=1,2,・・・,N4)の特定画素の画素値であるR信号の値をR4(p)と、その特定画素の撮像画像4014の座標系上の位置を(X4(p),Y4(p))と、それぞれ表す。さらに、(X4,Y4)=(X4(p),Y4(p))として、式(23)のアフィン変換によって得られる変換位置(X44,Y44)を、(X44(p),Y44(p))と表す。
従って、任意のpについて、4枚目の撮像画像4014の座標系上の位置(X4(p),Y4(p))の画素の画素値(R信号)は、R4(p)である。また、位置(X4(p),Y4(p))を基準座標系上にアフィン変換した変換位置(X44(p),Y44(p))は、式α×(i−1)+β−2≦X44(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44(p)≦α×(j−1)+γ+2を満たす。
ステップS326では、演算回路24は、5枚目の撮像画像4015の中のR信号の(画素の)位置(X5,Y5)を式(24)でアフィン変換した基準座標系上の変換位置(X45,Y45)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X45≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45≦α×(j−1)+γ+2を満たす、5枚目の撮像画像4015中のすべてのR信号の画素を、特定画素として特定して、図35のステップS327に進む。
ここで、ステップS326で5枚目の撮像画像4015から得られる特定画素の個数を、N5と表し、さらに、そのN5個のうちのp番目(p=1,2,・・・,N5)の特定画素の画素値であるR信号の値をR5(p)と、その特定画素の撮像画像4015の座標系上の位置を(X5(p),Y5(p))と、それぞれ表す。さらに、(X5,Y5)=(X5(p),Y5(p))として、式(24)のアフィン変換によって得られる変換位置(X45,Y45)を、(X45(p),Y45(p))と表す。
従って、任意のpについて、5枚目の撮像画像4015の座標系上の位置(X5(p),Y5(p))の画素の画素値(R信号)は、R5(p)である。また、位置(X5(p),Y5(p))を基準座標系上にアフィン変換した変換位置(X45(p),Y45(p))は、式α×(i−1)+β−2≦X45(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45(p)≦α×(j−1)+γ+2を満たす。
ステップS327では、演算回路24は、6枚目の撮像画像4016の中のR信号の(画素の)位置(X6,Y6)を式(25)でアフィン変換した基準座標系上の変換位置(X46,Y46)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X46≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46≦α×(j−1)+γ+2を満たす、6枚目の撮像画像4016中のすべてのR信号の画素を、特定画素として特定して、ステップS328に進む。
ここで、ステップS327で6枚目の撮像画像4016から得られる特定画素の個数を、N6と表し、さらに、そのN6個のうちのp番目(p=1,2,・・・,N6)の特定画素の画素値であるR信号の値をR6(p)と、その特定画素の撮像画像4016の座標系上の位置を(X6(p),Y6(p))と、それぞれ表す。さらに、(X6,Y6)=(X6(p),Y6(p))として、式(25)のアフィン変換によって得られる変換位置(X46,Y46)を、(X46(p),Y46(p))と表す。
従って、任意のpについて、6枚目の撮像画像4016の座標系上の位置(X6(p),Y6(p))の画素の画素値(R信号)は、R6(p)である。また、位置(X6(p),Y6(p))を基準座標系上にアフィン変換した変換位置(X46(p),Y46(p))は、式α×(i−1)+β−2≦X46(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46(p)≦α×(j−1)+γ+2を満たす。
ステップS328では、演算回路24は、7枚目の撮像画像4017の中のR信号の(画素の)位置(X7,Y7)を式(26)でアフィン変換した基準座標系上の変換位置(X47,Y47)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X47≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47≦α×(j−1)+γ+2を満たす、7枚目の撮像画像4017中のすべてのR信号の画素を、特定画素として特定して、ステップS329に進む。
ここで、ステップS328で7枚目の撮像画像4017から得られる特定画素の個数を、N7と表し、さらに、そのN7個のうちのp番目(p=1,2,・・・,N7)の特定画素の画素値であるR信号の値をR7(p)と、その特定画素の撮像画像4017の座標系上の位置を(X7(p),Y7(p))と、それぞれ表す。さらに、(X7,Y7)=(X7(p),Y7(p))として、式(26)のアフィン変換によって得られる変換位置(X47,Y47)を、(X47(p),Y47(p))と表す。
従って、任意のpについて、7枚目の撮像画像4017の座標系上の位置(X7(p),Y7(p))の画素の画素値(R信号)は、R7(p)である。また、位置(X7(p),Y7(p))を基準座標系上にアフィン変換した変換位置(X47(p),Y47(p))は、式α×(i−1)+β−2≦X47(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47(p)≦α×(j−1)+γ+2を満たす。
ステップS329では、演算回路24は、8枚目の撮像画像4018の中のR信号の(画素の)位置(X8,Y8)を式(27)でアフィン変換した基準座標系上の変換位置(X48,Y48)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X48≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48≦α×(j−1)+γ+2を満たす、8枚目の撮像画像4018中のすべてのR信号の画素を、特定画素として特定して、図35のステップS330に進む。
ここで、ステップS329で8枚目の撮像画像4018から得られる特定画素の個数を、N8と表し、さらに、そのN8個のうちのp番目(p=1,2,・・・,N8)の特定画素の画素値であるR信号の値をR8(p)と、その特定画素の撮像画像4018の座標系上の位置を(X8(p),Y8(p))と、それぞれ表す。さらに、(X8,Y8)=(X8(p),Y8(p))として、式(27)のアフィン変換によって得られる変換位置(X48,Y48)を、(X48(p),Y48(p))と表す。
従って、任意のpについて、8枚目の撮像画像4018の座標系上の位置(X8(p),Y8(p))の画素の画素値(R信号)は、R8(p)である。また、位置(X8(p),Y8(p))を基準座標系上にアフィン変換した変換位置(X48(p),Y48(p))は、式α×(i−1)+β−2≦X48(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48(p)≦α×(j−1)+γ+2を満たす。
ステップS330では、演算回路24は、ステップS322乃至S329で求めたすべての特定画素を用い、出力画像の画素(i,j)について、式(14)で表される、式(11)の赤色の光量の重み加算式の分母と、式(13)で表される、式(11)の赤色の光量の重み加算式の分子を、それぞれ演算する。
具体的には、式(11)の赤色の光量の重み加算式の分母(式(14))として、式(30)が演算され、式(11)の赤色の光量の重み加算式の分子(式(13))として、式(31)が演算される。
なお、式(30)および(31)において、X0とY0は、画素値を推定しようとする出力画像の画素の位置を表し、(X0,Y0)=(α×(i−1)+β,Y0=α×(j−1)+γ)である。
ここで、式(31)は、1枚目乃至8枚目の撮像画像4011乃至4018を位置合わせした場合に、出力画像の画素値を求めようとしている画素(i,j)の位置(α×(i−1)+β,α×(j−1)+γ)の近傍の位置(X4k(p),Y4k(p))に観測されるR信号の画素の画素値Rk(p)(k=1乃至8,p=1乃至Nk)に、重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))をかけて加算する重み付け加算を表し、式(30)は、その重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))の総和を表す。式(31)を式(30)で除算することが、式(11)を演算することに相当し、その演算結果は、ステップS322乃至S329で得られた特定画素の画素値Rk(p)すべてについて、出力画像の画素値を求めようとしている画素(i,j)の位置(X0,Y0)と、特定画素の位置(X4k(p),Y4k(p))との距離に応じた重みを付けた「画素値Rk(p)の重み付き平均値」となる。
演算回路24は、出力画像の画素(i,j)についての式(30)と式(31)の演算後、その演算結果を、図示せぬメモリに保持して、ステップS331に進む。
ステップS331では、演算回路24は、1枚目の撮像画像4011の中のB信号の(画素の)位置(X1,Y1)を式(20)でアフィン変換した基準座標系上の変換位置(X41,Y41)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X41≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41≦α×(j−1)+γ+2を満たす、1枚目の撮像画像4011中のすべてのB信号の画素を、特定画素として特定して、ステップS332に進む。
ここで、ステップS331で1枚目の撮像画像4011から得られる特定画素の個数を、N1と表し、さらに、そのN1個のうちのp番目(p=1,2,・・・,N1)の特定画素の画素値であるB信号の値をB1(p)と、その特定画素の撮像画像4011の座標系上の位置を(X1(p),Y1(p))と、それぞれ表す。さらに、(X1,Y1)=(X1(p),Y1(p))として、式(20)のアフィン変換によって得られる変換位置(X41,Y41)を、(X41(p),Y41(p))と表す。
従って、任意のpについて、1枚目の撮像画像4011の座標系上の位置(X1(p),Y1(p))の画素の画素値(B信号)は、B1(p)である。また、位置(X1(p),Y1(p))を基準座標系上にアフィン変換した変換位置(X41(p),Y41(p))は、式α×(i−1)+β−2≦X41(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y41(p)≦α×(j−1)+γ+2を満たす。
ステップS332では、演算回路24は、2枚目の撮像画像4012の中のB信号の(画素の)位置(X2,Y2)を式(21)でアフィン変換した基準座標系上の変換位置(X42,Y42)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X42≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42≦α×(j−1)+γ+2を満たす、2枚目の撮像画像4012中のすべてのB信号の画素を、特定画素として特定して、図37のステップS333に進む。
ここで、ステップS332で2枚目の撮像画像4012から得られる特定画素の個数を、N2と表し、さらに、そのN2個のうちのp番目(p=1,2,・・・,N2)の特定画素の画素値であるB信号の値をB2(p)と、その特定画素の撮像画像4012の座標系上の位置を(X2(p),Y2(p))と、それぞれ表す。さらに、(X2,Y2)=(X2(p),Y2(p))として、式(21)のアフィン変換によって得られる変換位置(X42,Y42)を、(X42(p),Y42(p))と表す。
従って、任意のpについて、2枚目の撮像画像4012の座標系上の位置(X2(p),Y2(p))の画素の画素値(B信号)は、B2(p)である。また、位置(X2(p),Y2(p))を基準座標系上にアフィン変換した変換位置(X42(p),Y42(p))は、式α×(i−1)+β−2≦X42(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y42(p)≦α×(j−1)+γ+2を満たす。
ステップS333では、演算回路24は、3枚目の撮像画像4013の中のB信号の(画素の)位置(X3,Y3)を式(22)でアフィン変換した基準座標系上の変換位置(X43,Y43)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X43≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43≦α×(j−1)+γ+2を満たす、3枚目の撮像画像4013中のすべてのB信号の画素を、特定画素として特定して、ステップS334に進む。
ここで、ステップS333で3枚目の撮像画像4013から得られる特定画素の個数を、N3と表し、さらに、そのN3個のうちのp番目(p=1,2,・・・,N3)の特定画素の画素値であるB信号の値をB3(p)と、その特定画素の撮像画像4013の座標系上の位置を(X3(p),Y3(p))と、それぞれ表す。さらに、(X3,Y3)=(X3(p),Y3(p))として、式(22)のアフィン変換によって得られる変換位置(X43,Y43)を、(X43(p),Y43(p))と表す。
従って、任意のpについて、3枚目の撮像画像4013の座標系上の位置(X3(p),Y3(p))の画素の画素値(B信号)は、B3(p)である。また、位置(X3(p),Y3(p))を基準座標系上にアフィン変換した変換位置(X43(p),Y43(p))は、式α×(i−1)+β−2≦X43(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y43(p)≦α×(j−1)+γ+2を満たす。
ステップS334では、演算回路24は、4枚目の撮像画像4014の中のB信号の(画素の)位置(X4,Y4)を式(23)でアフィン変換した基準座標系上の変換位置(X44,Y44)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X44≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44≦α×(j−1)+γ+2を満たす、4枚目の撮像画像4014中のすべてのB信号の画素を、特定画素として特定して、ステップS335に進む。
ここで、ステップS334で4枚目の撮像画像4014から得られる特定画素の個数を、N4と表し、さらに、そのN4個のうちのp番目(p=1,2,・・・,N4)の特定画素の画素値であるB信号の値をB4(p)と、その特定画素の撮像画像4014の座標系上の位置を(X4(p),Y4(p))と、それぞれ表す。さらに、(X4,Y4)=(X4(p),Y4(p))として、式(23)のアフィン変換によって得られる変換位置(X44,Y44)を、(X44(p),Y44(p))と表す。
従って、任意のpについて、4枚目の撮像画像4014の座標系上の位置(X4(p),Y4(p))の画素の画素値(B信号)は、B4(p)である。また、位置(X4(p),Y4(p))を基準座標系上にアフィン変換した変換位置(X44(p),Y44(p))は、式α×(i−1)+β−2≦X44(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y44(p)≦α×(j−1)+γ+2を満たす。
ステップS335では、演算回路24は、5枚目の撮像画像4015の中のB信号の(画素の)位置(X5,Y5)を式(24)でアフィン変換した基準座標系上の変換位置(X45,Y45)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X45≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45≦α×(j−1)+γ+2を満たす、5枚目の撮像画像4015中のすべてのB信号の画素を、特定画素として特定して、図38のステップS336に進む。
ここで、ステップS335で5枚目の撮像画像4015から得られる特定画素の個数を、N5と表し、さらに、そのN5個のうちのp番目(p=1,2,・・・,N5)の特定画素の画素値であるB信号の値をB5(p)と、その特定画素の撮像画像4015の座標系上の位置を(X5(p),Y5(p))と、それぞれ表す。さらに、(X5,Y5)=(X5(p),Y5(p))として、式(24)のアフィン変換によって得られる変換位置(X45,Y45)を、(X45(p),Y45(p))と表す。
従って、任意のpについて、5枚目の撮像画像4015の座標系上の位置(X5(p),Y5(p))の画素の画素値(B信号)は、B5(p)である。また、位置(X5(p),Y5(p))を基準座標系上にアフィン変換した変換位置(X45(p),Y45(p))は、式α×(i−1)+β−2≦X45(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y45(p)≦α×(j−1)+γ+2を満たす。
ステップS336では、演算回路24は、6枚目の撮像画像4016の中のB信号の(画素の)位置(X6,Y6)を式(25)でアフィン変換した基準座標系上の変換位置(X46,Y46)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X46≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46≦α×(j−1)+γ+2を満たす、6枚目の撮像画像4016中のすべてのB信号の画素を、特定画素として特定して、ステップS337に進む。
ここで、ステップS336で6枚目の撮像画像4016から得られる特定画素の個数を、N6と表し、さらに、そのN6個のうちのp番目(p=1,2,・・・,N6)の特定画素の画素値であるB信号の値をB6(p)と、その特定画素の撮像画像4016の座標系上の位置を(X6(p),Y6(p))と、それぞれ表す。さらに、(X6,Y6)=(X6(p),Y6(p))として、式(25)のアフィン変換によって得られる変換位置(X46,Y46)を、(X46(p),Y46(p))と表す。
従って、任意のpについて、6枚目の撮像画像4016の座標系上の位置(X6(p),Y6(p))の画素の画素値(B信号)は、B6(p)である。また、位置(X6(p),Y6(p))を基準座標系上にアフィン変換した変換位置(X46(p),Y46(p))は、式α×(i−1)+β−2≦X46(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y46(p)≦α×(j−1)+γ+2を満たす。
ステップS337では、演算回路24は、7枚目の撮像画像4017の中のB信号の(画素の)位置(X7,Y7)を式(26)でアフィン変換した基準座標系上の変換位置(X47,Y47)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X47≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47≦α×(j−1)+γ+2を満たす、7枚目の撮像画像4017中のすべてのB信号の画素を、特定画素として特定して、ステップS338に進む。
ここで、ステップS337で7枚目の撮像画像4017から得られる特定画素の個数を、N7と表し、さらに、そのN7個のうちのp番目(p=1,2,・・・,N7)の特定画素の画素値であるB信号の値をB7(p)と、その特定画素の撮像画像4017の座標系上の位置を(X7(p),Y7(p))と、それぞれ表す。さらに、(X7,Y7)=(X7(p),Y7(p))として、式(26)のアフィン変換によって得られる変換位置(X47,Y47)を、(X47(p),Y47(p))と表す。
従って、任意のpについて、7枚目の撮像画像4017の座標系上の位置(X7(p),Y7(p))の画素の画素値(B信号)は、B7(p)である。また、位置(X7(p),Y7(p))を基準座標系上にアフィン変換した変換位置(X47(p),Y47(p))は、式α×(i−1)+β−2≦X47(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y47(p)≦α×(j−1)+γ+2を満たす。
ステップS338では、演算回路24は、8枚目の撮像画像4018の中のB信号の(画素の)位置(X8,Y8)を式(27)でアフィン変換した基準座標系上の変換位置(X48,Y48)が、画素値を推定しようとする出力画像の画素の位置(α×(i−1)+β,α×(j−1)+γ)を中心とする、横×縦が2×2の範囲内にある、即ち、式α×(i−1)+β−2≦X48≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48≦α×(j−1)+γ+2を満たす、8枚目の撮像画像4018中のすべてのB信号の画素を、特定画素として特定して、図39のステップS339に進む。
ここで、ステップS338で8枚目の撮像画像4018から得られる特定画素の個数を、N8と表し、さらに、そのN8個のうちのp番目(p=1,2,・・・,N8)の特定画素の画素値であるB信号の値をB8(p)と、その特定画素の撮像画像4018の座標系上の位置を(X8(p),Y8(p))と、それぞれ表す。さらに、(X8,Y8)=(X8(p),Y8(p))として、式(27)のアフィン変換によって得られる変換位置(X48,Y48)を、(X48(p),Y48(p))と表す。
従って、任意のpについて、8枚目の撮像画像4018の座標系上の位置(X8(p),Y8(p))の画素の画素値(B信号)は、B8(p)である。また、位置(X8(p),Y8(p))を基準座標系上にアフィン変換した変換位置(X48(p),Y48(p))は、式α×(i−1)+β−2≦X48(p)≦α×(i−1)+β+2、および式α×(j−1)+γ−2≦Y48(p)≦α×(j−1)+γ+2を満たす。
ステップS339では、演算回路24は、ステップS331乃至S338で求めたすべての特定画素を用い、出力画像の画素(i,j)について、式(16)で表される、式(12)の青色の光量の重み加算式の分母と、式(15)で表される、式(12)の青色の光量の重み加算式の分子を、それぞれ演算する。
具体的には、式(12)の青色の光量の重み加算式の分母(式(16))として、式(32)が演算され、式(12)の青色の光量の重み加算式の分子(式(15))として、式(33)が演算される。
なお、式(32)および(33)において、X0とY0は、画素値を推定しようとする出力画像の画素の位置を表し、(X0,Y0)=(α×(i−1)+β,Y0=α×(j−1)+γ)である。
ここで、式(33)は、1枚目乃至8枚目の撮像画像4011乃至4018を位置合わせした場合に、出力画像の画素値を求めようとしている画素(i,j)の位置(α×(i−1)+β,α×(j−1)+γ)の近傍の位置(X4k(p),Y4k(p))に観測されるB信号の画素の画素値Bk(p)(k=1乃至8,p=1乃至Nk)に、重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))をかけて加算する重み付け加算を表し、式(32)は、その重みCubic(X0-X4k(p))×Cubic(Y0-Y4k(p))の総和を表す。式(33)を式(32)で除算することが、式(12)を演算することに相当し、その演算結果は、ステップS331乃至S338で得られた特定画素の画素値Bk(p)すべてについて、出力画像の画素値を求めようとしている画素(i,j)の位置(X0,Y0)と、特定画素の位置(X4k(p),Y4k(p))との距離に応じた重みを付けた「画素値Bk(p)の重み付き平均値」となる。
演算回路24は、出力画像の画素(i,j)についての式(32)と式(33)の演算後、その演算結果を、図示せぬメモリに保持して、ステップS340に進む。
ステップS340では、演算回路24は、変数iが、横方向の画素数Wと等しいか否かを判定する。ステップS340で、変数iが画素数Wと等しくないと判定された場合、即ち、変数jで示されている画素列のうち、横方向のすべての画素について、ステップS313乃至S339の処理が行われていない場合、ステップS341に進み、演算回路24は、変数iを1だけインクリメントして、図30のステップS313に戻り、以下、同様の処理を繰り返す。
一方、ステップS340で、変数iが画素数Wと等しいと判定された場合、即ち、変数jで示されている画素列のうち、横方向のすべての画素についてステップS313乃至S339の処理が行われた場合、ステップS342に進み、演算回路24は、変数jが縦方向の画素数Hと等しいか否かを判定する。ステップS342で、変数jが画素数Hと等しくないと判定された場合、即ち、すべての列について、ステップS313乃至S339の処理が行われていない場合、ステップS343に進み、演算回路24は、変数jを1だけインクリメントして、図30のステップS312に戻り、以下、同様の処理を繰り返す。
一方、ステップS342で、変数jが画素数Hと等しいと判定された場合、即ち、すべての列について、ステップS313乃至S339の処理が行われた場合、ステップS344に進み、演算回路24は、図30のステップS311における場合と同様に、変数jに1をセットして、ステップS345に進む。ステップS345では、演算回路24は、図30のステップS312における場合と同様に、変数iに1をセットして、図40のステップS346に進む。
ステップS346では、演算回路24は、出力画像の画素(i,j)のG信号の画素値(緑色の光量)を求める演算処理を行って、ステップS347に進む。即ち、ステップS346では、後述するように、図33のステップS321で求められた緑色の光量の重み加算式の分母である式(28)の値(演算結果)と、その分子である式(29)の値とを用いて、式(8)の緑色の光量の重み加算式に相当する式(34)の演算(通常処理)、または、式(17)に相当する式(35)の演算(例外処理)を行うことにより、出力画像の画素(i,j)のG信号の画素値が求められる(推定される)。
ステップS347では、演算回路24は、出力画像の画素(i,j)のR信号の画素値(赤色の光量)を求める演算処理を行って、ステップS348に進む。即ち、ステップS347では、後述するように、図36のステップS330で求められた赤色の光量の重み加算式の分母である式(30)の値(演算結果)と、その分子である式(31)の値とを用いて、式(11)の赤色の光量の重み加算式に相当する式(36)の演算(通常処理)、または、式(18)に相当する式(37)の演算(例外処理)を行うことにより、出力画像の画素(i,j)のR信号の画素値が求められる。
ステップS348では、演算回路24は、出力画像の画素(i,j)のB信号の画素値(青色の光量)を求める演算処理を行って、ステップS349に進む。即ち、ステップS348では、後述するように、図39のステップS339で求められた青色の光量の重み加算式の分母である式(32)の値(演算結果)と、その分子である式(33)の値とを用いて、式(12)の青色の光量の重み加算式に相当する式(38)の演算(通常処理)、または、式(19)に相当する式(39)の演算(例外処理)を行うことにより、出力画像の画素(i,j)のB信号の画素値が求められる。
ステップS349では、演算回路24が、変数iが横方向の画素数Wと等しいか否かを判定する。ステップS349で、変数iが画素数Wと等しくないと判定された場合、即ち、変数jで示されている画素列のうち、横方向のすべての画素についてステップS346乃至S348の処理が行われていない場合、ステップS350に進み、演算回路24は、変数iを1だけインクリメントして、ステップS346に戻り、以下、同様の処理を繰り返す。
一方、ステップS349で、変数iが画素数Wと等しいと判定された場合、即ち、変数jで示されている画素列のうち、横方向のすべての画素についてステップS346乃至S348の処理が行われた場合、ステップS351に進み、演算回路24は、変数jが縦方向の画素数Hと等しいか否かを判定する。ステップS351で、変数jが画素数Hと等しくないと判定された場合、即ち、すべての列について、ステップS346乃至S348の処理が行われていない場合、ステップS352に進み、演算回路24は、変数jを1だけインクリメントして、図39のステップS345に戻り、以下、同様の処理を繰り返す。
一方、ステップS351で、変数jが画素数Hと等しいと判定された場合、即ち、すべての列について、ステップS346乃至S348の処理が行われ、W×H画素の出力画像のすべての画素につき、B信号、R信号、およびB信号の画素値が求められた場合、ステップS353に進み、演算回路24は、その出力画像の画像信号を、D/Aコンバータ9またはコーデック12(図1)に供給して、処理を戻る。
次に、図41のフローチャートを参照して、図40のステップS346における、出力画像の画素(i,j)のG信号の画素値(緑色の光量)を求める(推定する)演算処理について説明する。
初めに、ステップS401において、演算回路24は、画素(i,j)について、図33のステップS321で演算された緑色の光量の重み加算式の分母である式(28)の値の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(28)の値の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、0.25などの固定の値が、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。
ステップS401において、画素(i,j)について演算された緑色の光量の重み加算式の分母である式(28)の値の絶対値が、所定の閾値以上であると判定された場合、即ち、画素(i,j)について演算された式(28)の値の絶対値が0とみなすほどの小さい値ではない場合、ステップS402に進み、演算回路24は、画素(i,j)について、図33のステップS321で演算された緑色の光量の重み加算式の分子である式(29)の値を、その分母である式(28)の値で除算する式(34)の演算を行うことにより、画素(i,j)のG信号の画素値を求める通常処理を行う。
一方、ステップS401において、画素(i,j)について演算された緑色の光量の重み加算式の分母である式(28)の値の絶対値が、所定の閾値未満であると判定された場合、即ち、式(28)の値の絶対値が0、または0に近く、式(29)の値を式(28)の値で除算する通常処理を行ったのでは、その除算結果が不安定な値となる場合、つまり、式(29)の値に、僅かなノイズしか含まれていなくても、ほぼ0である式(28)の値で除算することで、その僅かなノイズが大きく増幅されてしまう場合、ステップS403に進み、演算回路24は、式(17)に相当する式(35)の演算を行うことにより、画素(i,j)のG信号の画素値を求める例外処理を行う。
即ち、ステップS403では、式(35)にしたがい、出力画像の画素(i,j)と、その画素(i,j)の周辺の周辺画素(i−1,j),(i+1,j),(i,j−1)、および(i,j+1)との5画素それぞれにおいて通常処理のときに演算される緑色の光量の重み加算式の分子である式(29)の値の総和を、その5画素それぞれにおいて通常処理のときに演算される緑色の光量の重み加算式の分母である式(28)の値の総和で除算することにより、画素(i,j)のG信号の画素値が求められる。
出力画像の画素(i,j)と、その周辺画素(i−1,j),(i+1,j),(i,j−1),(i,j+1)それぞれにおける式(28)の値の総和は、図16および図17で説明したことから、ある程度大きな値となるので、そのような大きな値で除算を行うことにより、ノイズを増大させないで、画素(i,j)のG信号の画素値を求めることができる。
次に、図42のフローチャートを参照して、図40のステップS347における、出力画像の画素(i,j)のR信号の画素値(赤色の光量)を求める(推定する)演算処理について説明する。
初めに、ステップS411において、演算回路24は、画素(i,j)について、図36のステップS330で演算された赤色の光量の重み加算式の分母である式(30)の値の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(30)の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、0.25などの固定の値が、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。
ステップS411において、画素(i,j)について演算された赤色の光量の重み加算式の分母である式(30)の値の絶対値が、所定の閾値以上であると判定された場合、即ち、画素(i,j)について演算された式(30)の値の絶対値が0とみなすほどの小さい値ではない場合、ステップS412に進み、演算回路24は、画素(i,j)について、図36のステップS330で演算された赤色の光量の重み加算式の分子である式(31)の値を、その分母である式(30)の値で除算する式(36)の演算を行うことにより、画素(i,j)のR信号の画素値を求める通常処理を行う。
一方、ステップS411において、画素(i,j)について演算された赤色の光量の重み加算式の分母である式(30)の値の絶対値が、所定の閾値未満であると判定された場合、即ち、式(30)の値の絶対値が0、または0に近く、式(31)の値を式(30)の値で除算する通常処理を行ったのでは、その除算結果が不安定な値となる場合、つまり、式(31)の値に、僅かなノイズしか含まれていなくても、ほぼ0である式(30)の値で除算することで、その僅かなノイズが大きく増幅されてしまう場合、ステップS413に進み、演算回路24は、式(18)に相当する式(37)の演算を行うことにより、画素(i,j)のR信号の画素値を求める例外処理を行う。
即ち、ステップS413では、式(37)にしたがい、出力画像の画素(i,j)と、その画素(i,j)の周辺の周辺画素(i−1,j−1),(i,j−1),(i+1,j−1),(i−1,j),(i+1,j),(i−1,j+1),(i,j+1)、および(i+1,j+1)との9画素それぞれにおいて通常処理のときに演算される赤色の光量の重み加算式の分子である式(31)の値の総和を、その9画素それぞれにおいて通常処理のときに演算される赤色の光量の重み加算式の分母である式(30)の値の総和で除算することにより、画素(i,j)のR信号の画素値が求められる。
出力画像の画素(i,j)と、その周辺画素(i−1,j−1),(i,j−1),(i+1,j−1),(i−1,j),(i+1,j),(i−1,j+1),(i,j+1),(i+1,j+1)それぞれにおける式(30)の値の総和は、図18および図19で説明したことから、ある程度大きな値となるので、そのような大きな値で除算を行うことにより、ノイズを増大させないで、画素(i,j)のR信号の画素値を求めることができる。
次に、図43のフローチャートを参照して、図40のステップS348における、出力画像の画素(i,j)のB信号の画素値(青色の光量)を求める(推定する)演算処理について説明する。
初めに、ステップS421において、演算回路24は、画素(i,j)について、図39のステップS339で演算された青色の光量の重み加算式の分母である式(32)の値の絶対値が、所定の閾値以上であるか否かを判定する。この所定の閾値は、式(32)の絶対値を0とみなし、例外処理を適用するかどうかを判定するための値であり、例えば、0.25などの固定の値が、予め演算回路24に設定されている。但し、所定の閾値は、その他、ユーザの操作に応じて設定可能とすることもできる。
ステップS421において、画素(i,j)について演算された青色の光量の重み加算式の分母である式(32)の値の絶対値が、所定の閾値以上であると判定された場合、即ち、画素(i,j)について演算された式(32)の値の絶対値が0とみなすほどの小さい値ではない場合、ステップS422に進み、演算回路24は、画素(i,j)について、図39のステップS339で演算された青色の光量の重み加算式の分子である式(33)の値を、その分母である式(32)の値で除算する式(38)の演算を行うことにより、画素(i,j)のB信号の画素値を求める通常処理を行う。
一方、ステップS421において、画素(i,j)について演算された青色の光量の重み加算式の分母である式(32)の値の絶対値が、所定の閾値未満であると判定された場合、即ち、式(32)の値の絶対値が0、または0に近く、式(33)の値を式(32)の値で除算する通常処理を行ったのでは、その除算結果が不安定な値となる場合、つまり、式(33)の値に、僅かなノイズしか含まれていなくても、ほぼ0である式(32)の値で除算することで、その僅かなノイズが大きく増幅されてしまう場合、ステップS423に進み、演算回路24は、式(19)に相当する式(39)の演算を行うことにより、画素(i,j)のB信号の画素値を求める例外処理を行う。
即ち、ステップS423では、 式(39)にしたがい、出力画像の画素(i,j)と、その画素(i,j)の周辺の周辺画素(i−1,j−1),(i,j−1),(i+1,j−1),(i−1,j),(i+1,j),(i−1,j+1),(i,j+1)、および(i+1,j+1)との9画素それぞれにおいて通常処理のときに演算される青色の光量の重み加算式の分子である式(33)の値の総和を、その9画素それぞれにおいて通常処理のときに演算される青色の光量の重み加算式の分母である式(32)の値の総和で除算することにより、画素(i,j)のB信号の画素値が求められる。
出力画像の画素(i,j)と、その周辺画素(i−1,j−1),(i,j−1),(i+1,j−1),(i−1,j),(i+1,j),(i−1,j+1),(i,j+1),(i+1,j+1)それぞれにおける式(32)の値の総和は、図18および図19で説明したことから、ある程度大きな値となるので、そのような大きな値で除算を行うことにより、ノイズを増大させないで、画素(i,j)のB信号の画素値を求めることができる。
以上のように、図28のステップS304における画像生成処理では、N枚の撮像画像に投影されている被写体の範囲の周辺部分を除いた中心部分の画像、即ち、N枚の撮像画像を位置合わせした場合に、そのN枚の撮像画像のすべての枚数目の撮像画像の画素が存在する高画質エリア422(図29)内の画像が、出力画像として生成される。
従って、出力画像の各画素の画素値の推定するための式(34)乃至式(39)の演算において用いられる撮像画像のデータの数(画素の数)、つまり、式(28)乃至式(33)におけるサメーションにおけるN1,N2,N3,N4,N5,N6,N7,N8は十分多くなるので、図25乃至図27で説明したように、出力画像を生成するのに用いることができるデータが少ないことにより、出力画像において、画質の鮮明さが劣化した部分が生じることを防止すること、即ち、すべての画素についてノイズがない(ノイズが極めて低減された)出力画像を得ることができる。
さらに、出力画像の画素ピッチを、撮像画像、即ち、上述の場合には、撮像素子4(図1)の画素ピッチよりも小さくするようにしたので、具体的には、基準画像に対する高画質エリア422(図29)の相似比αに等しい割合の間隔にしたので、出力画像として、撮像素子4と同一のW×H画素の画像を得ることができる。
なお、上述の場合には、撮像素子4のビニングを機能させず、これにより、撮像素子4が有するW×H画素と同一のW'×H'画素の撮像画像を出力する撮像素子を得るようにしたが、撮像素子4としては、ビニングを機能させ、撮像素子4が有するW×H画素よりも少ないW'×H'画素の撮像画像を得て、画像生成処理を行うようにすることもできる。
ここで、ビニングの方法としては、撮像素子4において、光を受光するセンサの内部で、画素値の加算を行う方法や、センサから出力された画素値としてのディジタルデータをディジタル加算器で加算する方法がある。
撮像素子4のビニングを機能させた場合、複数の画素の画素値が加算され、その加算値が、1画素の画素値として出力されるので、その画素値により構成される撮像画像の画素数は、撮像素子4が有する画素数より少なく、その画素数の数分の1の画素数となる。より具体的には、撮像素子4が、例えば、隣接する2×2画素の画素値を加算して出力する2×2ビニングを行う場合は、撮像画像の画素数は、(W/2)×(H/2)画素となる。また、撮像素子4が、例えば、隣接する3×3画素の画素値を加算して出力する3×3ビニングを行う場合は、撮像画像の画素数は、(W/3)×(H/3)画素となる。
なお、撮像素子4で行うビニングは、その他の画素数の画素値の加算を行うものであっても良い。また、撮像素子4の画素はベイヤー配列になっているが、この場合、撮像素子4においてビニングを行わないときは勿論、ビニングを行うときであっても、画素がベイヤー配列になっている撮像画像が出力される。
撮像素子4のビニングを機能させる場合には、撮像素子4において、画素値の加算が行われることにより、感度アップが図られ、その結果、撮像素子4が出力する画素値(加算画素値)は、ノイズの少ないデータとなるので、例えば、薄暗がりの風景の撮影に効果的である。
ところで、手ぶれ補正モードにおいて、撮像素子4のビニングを機能させ、撮像素子4において、例えば、隣接する2×2画素の画素値を加算して出力する2×2ビニングを行う場合、信号処理回路7(の演算回路24(図4))に供給される撮像画像の画素数W'×H'は、(W/2)×(H/2)画素となる。
この場合、出力画像として、撮像素子4が有する画素数W×H画素(=2W'×2H'画素)と同一の画素数の画像を得るためには、図29で説明したα,β,γを、次のように設定すれば良い。
即ち、例えば、上述したように、1回の撮影によって、8枚の撮像画像が得られ、ある撮像画像とその次の撮像画像(次に撮像される撮像画像)との撮像の間に生じる手ぶれ量の最大値が、横および縦方向のいずれについても、撮像素子4の画素数の、例えば、2%であるとする。
この場合、4枚目画像4014である基準画像(図29)に対して、最も位置ずれが大きくなりうるのは、8枚目画像4018で、その位置ずれの大きさは、基準画像の画素数で、高々、横方向が0.08×W/2画素で、縦方向が0.08×H/2画素である。
従って、4枚目画像4014である基準画像において、その上下から0.08×H/2画素だけ内側で、かつ、その左右から0.08×W/2画素だけ内側の領域を、高画質エリア422とすれば、その高画質エリア422は、1乃至8枚目の8枚の撮像画像4011乃至4018のすべてのデータを使用して出力画像の画素値の推定が行われる図27の領域421に、必ず含まれる。
この場合、高画質エリア422は、基準座標系において、その左上の頂点が、座標(0.08×W/2,0.08×H/2)で、横が、基準画像の横W/2よりも0.08×W/2×2だけ短く、かつ、縦が基準画像の縦H/2よりも0.08×H/2×2だけ短い矩形、即ち、左上の頂点が、座標(0.08×W/2,0.08×H/2)で、横が(1-0.16)×W/2で、縦が、(1-0.16)×H/2の矩形になる。但し、(W/2)×(H/2)画素で構成される撮像画像の画素ピッチを1とする。
一方、高画質エリア422は、図29で説明したように、W×H画素の出力画像を基準とすると、左上の点が座標(β,γ)の、αW×αHの矩形の領域である。
以上から、α=(1-0.16)/2,β=0.08×W/2,γ=0.08×H/2となる。
図28のステップS304の画像生成処理において、上述のように、α=(1-0.16)/2,β=0.08×W/2,γ=0.08×H/2を設定し、1≦i≦W,1≦j≦Hの範囲のすべての整数値i,jについて、出力画像の画素(i,j)の画素値を、位置(x,y)=(α×(i−1)+β,α×(j−1)+γ)における画素値として計算(推定)することで、撮像素子4がビニングを行う場合でも、撮像素子4が有するのと同一のW×H画素の出力画像であって、全体が鮮明な出力画像を得ることができる。
以上のように、撮像素子4がビニングを行う場合でも、撮像素子4が有するのと同一のW×H画素の出力画像を得ることができる。さらに、この場合、図28のステップS301乃至S303で扱う撮像画像の画素数は(W/2)×(H/2)画素であるので、撮像素子4がビニングを行わない場合に比較して、処理量を低減することができる。
次に、図1のディジタルカメラ1は、上述したように、撮影モードとして、手ぶれ補正モードと通常撮影モードとを有し、手ぶれ補正モードでは、図2や図28の撮影処理、即ち、複数枚であるN枚の撮像画像を連続撮像し、そのN枚の撮像画像から1枚の出力画像を生成する撮影処理が行われる。一方、通常撮影モードでは、1枚の撮像画像を撮像し、その撮像画像を1枚の出力画像として出力(生成)する撮影処理が行われる。
図1のディジタルカメラ1は、撮影モードを決定して撮影を行うのであるが、以下においては、この撮影モードを決定する撮像モードの決定処理を含めたディジタルカメラ1の処理について説明する。
なお、以下では、図1のディジタルカメラ1が、第1撮影処理、第2撮影処理、第3撮影処理、および第4撮影処理の4種類の撮影処理を行うことが可能であるとする。第1撮影処理は、撮影モードが通常撮影モードである場合に行われる撮影処理である。第2乃至第4撮影処理は、撮影モードが手ぶれ補正モードである場合に行われる撮影処理であり、基本的には、図2や図28で説明した撮影処理である。但し、第2撮影処理は、撮像素子4のビニングを機能させずに行われる。また、第3撮影処理は、撮像素子4の2×2ビニングを機能させて行われ、第4撮影処理は、撮像素子4の3×3ビニングを機能させて行われる。
ここで、第1撮影処理では、1枚の撮像画像が撮像されるが、第2乃至第4撮影処理では、複数枚の撮像画像が撮像される。そこで、第2撮影処理において高速で連続して撮像される撮像画像の枚数をNa枚と、第3撮影処理において高速で連続して撮像される撮像画像の枚数をNb枚と、第4撮影処理において高速で連続して撮像される撮像画像の枚数をNc枚と、それぞれする。
以下で説明する、撮影モードの決定処理では、上記の第1乃至第4撮影処理の、どの撮影処理で撮影を行うかが決定される。さらに、撮影モードの決定処理では、第2撮影処理で撮影を行うと決定した場合には、その第2撮影処理において連続して撮像される撮像画像の撮像枚数Naも決定され、第3撮影処理で撮影を行うと決定した場合には、その第3撮影処理において連続して撮像される撮像画像の撮像枚数Nbも決定される。また、第4撮影処理で撮影を行うと決定した場合には、その第4撮影処理において連続して撮像される撮像画像の撮像枚数Ncも決定される。
なお、撮影モードの決定処理は、図1のディジタルカメラ1の制御回路18が行う。
また、制御回路18には、撮影モードの決定処理を実行する前に、撮影を行おうとしている状態での焦点距離の情報、および露出補正値(補正なし、1段アンダ、2段アンダ、3段アンダ、1段オーバ、2段オーバ、3段オーバなど)が供給されているものとする。
次に、図44のフローチャートを参照して、撮影モードの決定処理を含めた図1のディジタルカメラ1の処理について説明する。
初めに、ステップS501において、制御回路18は、入力デバイス16のレリーズボタン(シャッタボタン)の状態が半押しの状態であるか否かを判定する判定処理を行う。ステップS501において、レリーズボタンの状態が半押しの状態でないと判定された場合、ステップS501に戻り、レリーズボタンの状態が半押しの状態と判定されるまでステップS501を繰り返す。そして、ステップS501において、レリーズボタンの状態が半押しの状態と判定されると、ステップS502に進む。
ステップS502において、制御回路18は、絞りの値Fおよび適正露出時間Tpを決定し、さらに、実際に1枚の撮像画像を撮像するとした場合の露出時間Taを決定する決定処理を行う。即ち、露出計19によって計測された被写体の明るさの計測値、および入力デバイス16の露出補正ダイアルによる露出補正値が制御回路18に供給されており、ステップS502では、制御回路18は、まず、露出計19による被写体の明るさの計測値を用いて、一般的な自動露出制御における場合と同様にして、絞りの値Fを決定する。この絞りの値Fと、被写体の明るさの計測値とを用いて、制御回路18は、露出補正を機能させずに適正露出で撮影するとした場合の露出時間である適正露出時間Tpを決定する。この適正露出時間Tpと、露出補正ダイアルによる露出補正値とを用いて、制御回路18は、実際の露出時間Taを決定する。
即ち、例えば、入力デバイス16による露出補正値が1段アンダを表している場合、Ta=Tp/2に決定され、例えば、入力デバイス16による露出補正値が2段アンダを表している場合、Ta=Tp/4に決定される。また、例えば、入力デバイス16による露出補正値が1段オーバを表している場合、Ta=Tp×2に決定され、例えば、入力デバイス16による露出補正値が2段オーバを表している場合、Ta=Tp×4に決定される。ここで、露出時間Taの逆数(1/Ta)は、シャッタ速度を表す。なお、このような、絞りの値F、適正露出時間Tp、および露出時間Taを決定する方法は、通常のディジタルカメラにおける絞り優先時での露出決定方法と同様であり、既知の技術であるので、詳細な説明は省略する。ステップS502での処理が行われた後、ステップS503に進む。
ステップS503において、制御回路18は、入力デバイス16のレリーズボタンの状態が半押しの状態のままであるか否かを判定する判定処理を行う。ステップS503において、ステップS501で半押しの状態と判定されたレリーズボタンの状態が半押しの状態のままであると判定された場合、現在の状態を維持するために、レリーズボタンの状態が半押しの状態でないと判定されるまでステップS503を繰り返す。そして、ステップS503において、レリーズボタンの状態が半押しの状態でないと判定された場合、ステップS504に進み、制御回路18は、レリーズボタンの状態が全押しの状態(完全に押された状態)となったか否かを判定する判定処理を行う。ステップS504において、レリーズボタンの状態が全押しの状態でないと判定された場合、即ち、レリーズボタンが開放されている場合、最初のステップであるステップS501に戻る。つまり、撮影者がレリーズボタンから指を離し、その結果、レリーズボタンの状態が、全押しでも半押しでもない状態になった場合は、ステップS501に戻って、同様の処理を繰り返す。
一方、ステップS504において、レリーズボタンの状態が、全押しの状態になったと判定された場合、ステップS505に進み、制御回路18は、適正露出時間Tpを決定する決定処理を行う。即ち、制御回路18は、露出計19から直前に供給された被写体の明るさの計測値と、ステップS502で決定された絞りの値Fとを用い、ステップS502における場合と同様にして適正露出時間Tpを再度決定する。ここで再度、適正露出時間Tpが決定されるのは、実際に撮影を行うタイミングに近いタイミングの適正露出時間Tpを得ていた方が、より適切な画像を得ることができるからである。なお、1/Tpが、適正露出でのシャッタ速度である。
ステップS505の後は、ステップS506に進み、制御回路18は、ステップS502で決定された露出時間TaとステップS505で決定された適正露出時間Tpとを用いて、第1乃至第4撮影処理のうちのいずれの撮影処理により撮影を行うかを決定する、撮影モードの決定処理を行う。つまり、第1撮影処理で撮影を行うか、第2撮影処理で撮影を行うか、第3撮影処理で撮影を行うか、または、第4撮影処理で撮影を行うかの決定が行われる。撮影モードの決定処理の詳細は後述するが、この撮影モードの決定処理により、手ぶれが(ほとんど)ない鮮明な画像(出力画像)を生成することができる撮影処理が決定される。
また、ステップS506では、第2撮影処理で撮影を行うと決定された場合には、制御回路18は、撮像枚数Naも決定し、第3撮影処理で撮影を行うと決定された場合には、制御回路18は、撮像枚数Nbも決定する。また、ステップS506では、第4撮影処理で撮影を行うと決定された場合には、制御回路18は、撮像枚数Ncも決定する。ステップS506での処理が行われた後、ステップS507に進む。
ステップS507において、ディジタルカメラ1は、ステップS506で決定された撮影処理を行う。
即ち、ステップS506において、第1撮影処理を行うことが決定された場合には、ステップS502で決定された絞りの値Fおよび露出時間Taでの1枚の撮像画像の撮像が行われ、その撮像画像が出力画像とされる(第1撮影処理)。
また、ステップS506において、第2撮影処理を行うことが決定された場合には、ステップS502で決定された絞りの値Fおよび露出時間Ta/Naでの1枚あたりの撮像画像の撮像を行うNa枚の撮像画像の高速撮像が、撮像素子4のビニングを機能させずに行われる。そして、そのNa枚の撮像画像を用いた画像生成処理が行われ、1枚の出力画像が生成される(第2撮影処理)。
さらに、ステップS506において、第3撮影処理を行うことが決定された場合には、ステップS502で決定された絞りの値Fおよび露出時間Ta/Nbでの1枚あたりの撮像画像の撮像を行うNb枚の撮像画像の高速撮像が、撮像素子4の2×2ビニングを機能させて行われる。そして、そのNb枚の撮像画像を用いた画像生成処理が行われ、1枚の出力画像が生成される(第3撮影処理)。
また、ステップS506において、第4撮影処理を行うことが決定された場合には、ステップS502で決定された絞りの値Fおよび露出時間Ta/Ncでの1枚あたりの撮像画像の撮像を行うNc枚の撮像画像の高速撮像が、撮像素子4の3×3ビニングを機能させて行われる。そして、そのNc枚の撮像画像を用いた画像生成処理が行われ、1枚の出力画像が生成される(第4撮影処理)。
なお、第1撮影処理では勿論、第2乃至第4撮影処理でも、出力画像としては、上述したようにして、撮像素子4の画素数(W×H)と同一の画素数が得られる。
ステップS507での撮影処理が終了すると、ステップS508に進み、制御回路18は、入力デバイス16のレリーズボタンの状態が半押しまたは全押しのいずれかの状態であるか否かを判定する判定処理を行う。ステップS508において、レリーズボタンの状態が半押しの状態である、または全押しの状態であると判定された場合、レリーズボタンの状態が半押しおよび全押しのいずれの状態でもでないと判定されるまでステップS508を繰り返す。そして、ステップS508において、レリーズボタンの状態が半押しおよび全押しのいずれの状態でもない場合、つまり、撮影者がレリーズボタンから指を離してレリーズボタンが開放されている場合、次の撮影に備えて、最初のステップであるステップS501に戻る。
上述したステップS501乃至S508の処理は、ディジタルカメラ1の電源が入っていることが前提であり、電源が切られたときには、これらの処理は中断される。また、露出補正ダイアルの操作は、レリーズボタンが開放されているときに有効であり、ステップS502での露出時間Taの決定には、例えば、その直前のステップS501でレリーズボタンが半押しされたと判定されたときの露出補正ダイアルによる露出補正値が用いられる。
次に、図44のステップS506で行われる撮影モードの決定処理について説明するが、その前に、第1乃至第4撮影処理について、さらに説明する。
第1撮影処理では、撮像素子4が、絞りの値Fおよび露出時間Ta秒で1枚の撮像画像を撮像して、画像処理回路17に供給し、画像処理回路17が、その1枚の撮像画像から1枚の出力画像を生成する(撮影画像を出力画像とする)。即ち、第1撮影処理では、撮像素子4は、ビニングを機能させず(画素加算を行わず)に撮像画像を撮像し、撮像素子4の画素数と同一の画素数の撮像画像を画像処理回路17に供給する。そして、画像処理回路17は、撮像素子4の画素数と同一の画素数の出力画像を生成する。なお、第1撮影処理の制御は、制御回路18が行う。また、1枚の撮像画像から1枚の出力画像を生成する第1撮影処理は、通常のディジタルカメラで行われている撮影処理と同様の処理である。
第2撮影処理では、撮像素子4が、絞りの値Fおよび露出時間Ta/Na秒で複数枚であるNa枚の撮像画像のそれぞれを連続撮像して画像処理回路17に供給し、画像処理回路17が、上述の画像生成処理を行うことにより、Na枚の撮像画像から、1枚の出力画像を生成する。
即ち、第2の撮影処理では、撮像素子4は、ビニングを機能させず(画素加算を行わず)に撮像画像を撮像し、撮像素子4の画素数と同一の画素数の撮像画像を、画像処理回路17に供給する。画像処理回路17は、撮像素子4から供給されたNa枚の撮像画像の位置合わせをして、重み付けして加算をする上述の画像生成処理を行い、鮮明で、撮像素子4の画素数と同一の画素数の出力画像を生成する。なお、第2撮影処理では、Ta/Na秒の露出時間で連続してNa枚の撮像画像を撮像するので、Na枚の撮像画像すべてに亘る露出時間は、(Ta/Na)×Na(=Ta)秒となる。また、第2撮影処理の制御は、制御回路18が行う。
第3撮影処理では、撮像素子4が、2×2ビニングを機能させて、絞りの値Fおよび露出時間Ta/Nb秒で複数枚であるNb枚の撮像画像のそれぞれを連続撮像して画像処理回路17に供給し、画像処理回路17が、上述の画像生成処理を行うことにより、Nb枚の撮像画像から、1枚の出力画像を生成する。
即ち、第3撮影処理では、撮像素子4は、2×2ビニングを行って撮像画像を撮像し、撮像素子4の画素数の4分の1の画素数の撮像画像を画像処理回路17に供給する。画像処理回路17は、撮像素子4から供給されたNb枚の撮像画像の位置合わせをして、重み付けして加算をする上述の画像生成処理を行い、鮮明で、撮像素子4の画素数と同一の画素数の出力画像を生成する。なお、第3撮影処理では、Ta/Nb秒の露出時間で連続してNb枚の撮像画像を撮像するので、Nb枚の撮像画像すべてに亘る露出時間は、(Ta/Nb)×Nb(=Ta)秒となる。また、第3撮影処理の制御は、制御回路18が行う。
第4撮影処理では、撮像素子4が、3×3ビニングを機能させて、絞りの値Fおよび露出時間Ta/Nc秒で複数枚であるNc枚の撮像画像のそれぞれを連続撮像して画像処理回路17に供給し、画像処理回路17が、上述の画像生成処理を行うことにより、Nc枚の撮像画像から、1枚の出力画像を生成する。
即ち、第4撮影処理では、撮像素子4は、3×3ビニングを行って撮像画像を撮像し、撮像素子4の画素数の9分の1の画素数の撮像画像を画像処理回路17に供給する。画像処理回路17は、撮像素子4から供給されたNc枚の撮像画像の位置合わせをして、重み付けして加算をする上述の画像生成処理を行い、鮮明で、撮像素子4の画素数と同一の画素数の出力画像を生成する。なお、第4撮影処理では、Ta/Nc秒の露出時間で連続してNc枚の撮像画像を撮像するので、Nc枚の撮像画像すべてに亘る露出時間は、(Ta/Nc)×Nc(=Ta)秒となる。また、第4撮影処理の制御は、制御回路18が行う。
次に、図45のフローチャートを参照して、図44のステップS506で行われる撮影モードの決定処理について説明する。なお、レンズ2の焦点距離の情報(ズームレンズを使用している場合には、撮影を行おうとしている状態における焦点距離の情報)、暗さの限界値1/Mmax、撮像素子4の連続撮像間隔の限界値t0は、制御回路18が認識しているものとする。
初めに、ステップS521において、制御回路18は、第1撮影処理で撮影を行うと仮定した際に、その第1撮影処理によって、適切な出力画像を得ることができる条件に基づき、適切な出力画像を得ることができるか否かを判定する第1判定の処理を行って、ステップS522に進む。第1判定の処理(図46)についての詳細は後述する。
ステップS522において、制御回路18は、ステップS521の第1判定の処理の結果を判定する。ステップS522において、第1判定の処理の結果が、第1撮影処理で適切な出力画像を得ることができる旨を表していると判定された場合には、ステップS523に進み、制御回路18は、第1撮影処理を行うことを決定して、処理を戻る。
また、ステップS522において、第1判定の処理の結果が、第1撮影処理で適切な出力画像を得ることができない旨を表していると判定された場合には、ステップS524に進み、制御回路18は、第2撮影処理で撮影を行うと仮定した際に、その第2撮影処理によって、適切な出力画像を得ることができる条件に基づき、適切な出力画像を得ることができるか否かを判定する第2判定の処理を行って、ステップS525に進む。第2判定の処理(図47)についての詳細は後述する。また、第2撮影処理で撮影を行うと判断した場合には、ステップS524の処理の中で撮像枚数Naを決定する。
ステップS525において、制御回路18は、ステップS524の第2判定の処理の結果を判定する。ステップS525において、第2判定の処理の結果が、第2撮影処理で適切な出力画像を得ることができる旨を表していると判定された場合には、ステップS526に進み、制御回路18は、第2撮影処理を行うことを決定して、処理を戻る。
また、ステップS525において、第2判定の処理の結果が、第2撮影処理で適切な出力画像を得ることができない旨を表していると判定された場合には、ステップS527に進み、制御回路18は、第3撮影処理で撮影を行うと仮定した際に、その第3撮影処理によって、適切な出力画像を得ることができる条件に基づき、適切な出力画像を得ることができるか否かを判定する第3判定の処理を行って、ステップS528に進む。第3判定の処理(図48)についての詳細は後述する。また、第3撮影処理で撮影を行うと判断した場合には、ステップS527の処理の中で撮像枚数Nbを決定する。
ステップS528において、制御回路18は、ステップS527の第3判定の処理の結果を判定する。ステップS528において、第3判定の処理の結果が、第3撮影処理で適切な出力画像を得ることができる旨を表していると判定された場合には、ステップS529に進み、制御回路18は、第3撮影処理を行うことを決定して、処理を戻る。
また、ステップS528において、第3判定の処理の結果が、第3撮影処理で適切な出力画像を得ることができない旨を表していると判定された場合には、ステップS530に進み、制御回路18は、第4撮影処理で撮影を行うと仮定した際に、その第4撮影処理によって、適切な出力画像を得ることができる条件に基づき、適切な出力画像を得ることができるか否かを判定する第4判定の処理を行って、ステップS531に進む。第4判定の処理(図49)についての詳細は後述する。また、第4撮影処理で撮影を行うと判断した場合には、ステップS530の処理の中で撮像枚数Ncを決定する。
ステップS531において、制御回路18は、ステップS530の第4判定の処理の結果を判定する。ステップS531において、第4判定の処理の結果が、第4撮影処理で適切な出力画像を得ることができる旨を表していると判定された場合には、ステップS532に進み、制御回路18は、第4撮影処理を行うことを決定して、処理を戻る。
また、ステップS531において、第4判定の処理の結果が、第4撮影処理で適切な出力画像を得ることができない旨を表していると判定された場合には、ステップS533に進み、制御回路18は、第1撮影処理を行うことを決定して、処理を戻る。即ち、この場合は、第1乃至第4撮影処理のいずれの撮影処理でも適切な出力画像を得ることが困難であるため、手ぶれを容認し、通常のディジタルカメラでの撮影処理と同様の第1撮影処理で撮影を行うことを決定する。なお、ステップS533において、第1撮影処理を行うことが決定された場合には、モニタ11などに「手ぶれの起きる危険性がある」ことを警告するメッセージを表示してもよい。
また、図45では、第1乃至第4撮影処理によって適切な出力画像を得ることができるかどうかを、その順番で判定するようにしたが、これは、基本的には、第1乃至第4撮影処理の順で、画質の良い出力画像が得られるからである。即ち、手ぶれ補正モードよりも通常撮影モードの方が画質の良い出力画像が得られ、手ぶれ補正モードでも、ビニングを機能させるよりは、機能させない方が画質の良い出力画像が得られる。また、ビニングを機能させる場合でも、加算する画素が少ない方が画質の良い出力画像が得られる。
なお、入力デバイス16には、手ぶれ補正モードでの撮影処理(第2乃至第4撮影処理)を行うことを強制的に排除するボタンを設けることができる。そして、このボタンが押されたときには、図44のステップS506では、図45のフローチャートに従った処理は行われず、その代わりに、強制的に、第1撮影処理を行うことが決定される。
また、入力デバイス16には、第3および第4撮影処理を行うことを強制的に排除し、第1または第2撮影処理のうちのいずれかを行う、つまり、ビニングを強制的に機能させないようにするボタンを設けることができる。
即ち、ビニングを機能させると、撮像素子4から出力される撮像画像は、撮像素子4の画素数より少ない画素数の撮像画像となるので、この撮像画像より生成される出力画像は、ビニングを機能させない場合に得られる出力画像に比較して、多少鮮明さがなくなることがある。従って、強制的に第3および第4撮影処理を排除するか否かを撮影者が選択することができるようにすることにより、ディジタルカメラ1の利便性を向上させることができる。なお、第3および第4撮影処理を排除するボタンが押されたときには、図45の撮影モードの決定処理において、ステップS525からステップS527に進む代わりにステップS533に進むようにすればよい。
次に、図45のステップS521,S524,S527,およびS530では、第1乃至第4撮影処理で、適切な出力画像を得ることができる条件に基づき、適切な出力画像を得ることができるか否かを判定する第1乃至第4判定の処理がそれぞれ行われるが、この適切な画像を得ることができる条件について説明する。
適切な出力画像であるというには、まず、出力画像に手ぶれによるボケが生じていないことが必要である。
出力画像に手ぶれによるボケが生じないようにするためには、第1撮影処理については、その第1撮影処理で撮像される1枚の撮像画像に、手ぶれによるボケが生じていないようにする必要がある。また、第2乃至第4撮影処理については、その撮影処理で高速撮像されるN枚の撮像画像のそれぞれに、手ぶれによるボケが生じていないようにする必要がある。
つまり、仮に、撮像画像のいずれかに手ぶれによるボケがある場合、その撮像画像を使用して出力画像を生成しても、その出力画像には、手ぶれによるボケが生じる。従って、第1乃至第4撮影処理のいずれの撮影処理が行われる場合においても、撮像素子4によって撮像される撮像画像は、手ぶれによるボケのある画像であってはならない。
撮像素子4によって撮像される撮像画像(1枚の撮像画像)に、手ぶれによるボケが生じないようにするためには、1枚の撮像画像を撮像する露出時間が、手ぶれによりディジタルカメラ1がある移動量だけ移動するのに要する時間に比較して小さければ良い。
一般に、手持ち撮影では、35mmカメラ換算において、「1/焦点距離(単位:mm)」よりも短い露出時間(単位:秒)であれば、その露出時間で撮像される1枚の撮像画像に、手ぶれによるボケが発生しないと言われている。従って、例えば、35mmカメラ換算におけるレンズの焦点距離が30mmの場合、1/30秒以下の露出時間で1枚の撮像画像を撮像すれば、その撮像画像には、手ぶれによるボケが発生しない。
そこで、ディジタルカメラ1のレンズ2の焦点距離を35mmカメラ換算におけるレンズの焦点距離に変換して、その逆数(1/焦点距離)を、手ぶれの発生しない限界の露出時間としての閾値Tblurと表すこととすると、1枚の撮像画像の露出時間が、閾値Tblur以下であれば、その撮像画像に、手ぶれによるボケは生じない。従って、その撮像画像から生成される出力画像にも、手ぶれによるボケは生じないから、適切な出力画像を得ることができる。ここで、以下、適宜、1枚の撮像画像の露出時間が閾値Tblur以下であるという条件を、適切な出力画像を得るための第1条件という。
このように閾値Tblurを、35mmカメラ換算におけるレンズの焦点距離の逆数に設定することで、実際に撮影を行い、実際に手ぶれが発生しているか否か(あるいは、手ぶれが許容範囲か否か)を確認しなくても、手ぶれのない画像を得られるか否かを判定することができる。つまり、このように設定された閾値Tblurを用いて、閾値Tblurよりも長い露出時間(遅いシャッタ速度)で1枚の撮像画像の撮像を行うと、撮像画像は手ぶれによるボケのある画像となると判定することができ、閾値Tblur以下の露出時間(早いシャッタ速度)で1枚の撮像画像の撮像を行うと、撮像画像は手ぶれによるボケのない画像となると判定することができる。
なお、手ぶれの程度には、個人差があるので、入力デバイス16の一つとして、閾値Tblurの値を変更することができるボタンを設け、撮影者が、そのボタンを操作した場合には、その操作に応じて閾値Tblurを変更することができるようにしてもよい。また、前述したように、入力デバイス16から制御回路18には、入力デバイス16のズームボタンの操作により設定される焦点距離の情報が供給されるようになっており、制御回路18は、この焦点距離の情報を用いて焦点距離の35mmカメラ換算や、閾値Tblurを求めるための逆数の計算などを行う。
次に、手ぶれ補正モード(第2乃至第4撮影処理)において連続撮像される撮像画像が極端に暗すぎ、その撮像画像上の被写体がノイズに埋もれてしまっている場合、その撮像画像を使用して画像生成処理を行って出力画像を生成しても、暗く、ノイズに埋もれた出力画像が生成されてしまい、適切な出力画像(手ぶれによるボケがない鮮明な画像)を得ることができない。
従って、適切な出力画像を得るためには、連続撮像によって得られる複数の撮像画像のそれぞれは、被写体がノイズに埋もれてしまうほど極端に暗すぎてはならない。
そこで、上述したように、適正露出時間Tpでの1枚の撮像画像の撮像によって得られる、その撮像画像の明るさの1/Mmaxを、撮像画像上の被写体がノイズに埋もれてしまうほど極端に暗くならない暗さの限界値とすると、1枚の撮像画像の露出時間が、適正露出時間Tpの1/Mmax以上であれば、その露出時間によって撮像される撮像画像は、被写体がノイズに埋もれてしまうほど極端に暗くなることはない。
以上のように、1枚の撮像画像の露出時間が、適正露出時間Tpと暗さの限界値1/Mmaxとに基づく値(適正露出時間Tpに基づく値)Tp/Mmax以上であれば、撮像画像上の被写体がノイズに埋もれてしまうほど暗くなることはなく、その撮像画像から、適切な出力画像を得ることができる。ここで、以下、適宜、1枚の撮像画像の露出時間が、適正露出時間に基づく閾値Tp/Mmax以上であるという条件を、適切な出力画像を得るための第2条件という。
次に、撮像素子4が1枚の撮像画像の出力の開始から終了までに要する最小の時間、つまり、撮像素子4での最速の連続撮像時の撮像間隔を、出力最小時間ということとすると、手ぶれ補正モード(第2乃至第4撮影処理)において連続撮像される各撮像画像の露出時間(1枚の撮像画像の露出時間)が、出力最小時間よりも短い場合には、複数枚の撮像画像の高速撮像において、ある撮像画像の撮像のための露光の終了後から次の撮像画像の撮像のための露光の開始までに、撮像(露光)が行われていない期間(以下、適宜、ブランキング期間という)が生じる。
ブランキング期間が出力画像に与える影響の詳細は、後述するが、簡単に説明すると、ブランキング期間が生じた場合には、被写体が動いていると、ブランキング期間における被写体の動きが出力画像に反映されず、その結果、被写体の動きが不連続になった、不自然な出力画像が生成され、適切な出力画像(手ぶれによるボケがない鮮明な画像)を得ることができない。
従って、適切な出力画像を得るためには、高速撮像時における1枚の撮像画像の露出時間が、出力最小時間以上でなければならず、この、1枚の撮像画像の露出時間が、閾値としての出力最小時間以上であるという条件を、以下、適宜、適切な出力画像を得るための第3条件という。
なお、撮像素子4のビニングを機能させない場合、出力最小時間は、撮像素子4の連続撮像間隔の限界値t0に等しい。また、撮像素子4において、2×2ビニングを行う場合、出力最小時間はt0/4となり、撮像素子4において、3×3ビニングを行う場合、出力最小時間はt0/9となる。
次に、図46のフローチャートを参照して、図45のステップS521における、第1撮影処理で適切な出力画像を得ることができるか否かを判定する第1判定の処理について説明する。なお、第1判定の処理は、制御回路18が行う。
初めに、ステップS541において、制御回路18は、第1条件が満たされているか否か、即ち、露出時間Taが閾値Tblur以下であるか否か判定する。ここで、露出時間Taは、既に、図44のステップS502で決定されている。また、閾値Tblurは、上述したようにして、制御回路18が焦点距離の情報から求める。
ステップS541において、露出時間Taが、閾値Tblur以下であると判定された場合には、ステップS542に進み、制御回路18は、第1撮影処理で適切な出力画像を得ることができるという第1判定の処理の結果を得て、処理を戻る。
また、ステップS541において、露出時間Taが、閾値Tblurを越えると判定された場合には、ステップS543に進み、制御回路18は、第1撮影処理で適切な出力画像を得ることができないという第1判定の処理の結果を得て、処理を戻る。
ここで、露出時間Taが閾値Tblur以下である場合には、露出時間Ta秒での撮像によって得られる撮像画像は、手ぶれによるボケのない画像となり、その撮像画像から、鮮明な出力画像を得ることができる。逆に、露出時間Taが閾値Tblurを越える場合には長時間露光となって、手ぶれによるボケのある撮像画像が得られ、その撮像画像から得られる出力画像は鮮明にならない可能性が十分あることになる。
次に、図47のフローチャートを参照して、図45のステップS524における、ビニングを機能させないで複数枚数の撮像画像が撮像される第2撮影処理で適切な出力画像を得ることができるか否かを判定する第2判定の処理について説明する。なお、第2判定の処理は、制御回路18が行う。
初めに、ステップS551において、制御回路18は、高速撮像時の1枚の撮像画像の露出時間をTtmpとして、適正露出時間Tpに基づく閾値Tp/Mmaxと、ビニングを機能させない場合の出力最小時間である閾値(最速の連続撮像時の撮像間隔に基づく閾値)t0との2つの閾値の大きい方の値を露出時間Ttmpに設定する。なお、上述したように、閾値Tp/Mmaxを求めるのに用いられる暗さの限界値1/Mmaxと連続撮像間隔の限界値t0とは、ディジタルカメラ1の性能により決定される値であり、制御回路18が認識しているものとする。また、閾値Tp/Mmaxを求めるのに用いられる適正露出時間Tpは、図44のステップS505で決定されており、制御回路18が認識しているものとする。
ここで、閾値Tp/Mmaxと閾値t0との2つの閾値の大きい方の値をTtmpに設定するということは、1枚の撮像画像の撮像に要する露出時間Ttmpについて、上述の第2条件(TtmpがTp/Mmax以上であるという条件)および第3条件(Ttmpが出力最小時間t0以上であるという条件)が同時に満たされる。即ち、いまの場合、第2条件は、式Ttmp≧Tp/Mmaxで表され、第3の条件は、式Ttmp≧t0で表される。
そして、例えば、t0<Tp/Mmaxの場合、ステップS551では、Ttmp=Tp/Mmaxと設定され、露出時間Ttmpは、第2条件を表す式Ttmp≧Tp/Mmaxおよび第3条件を表す式Ttmp≧t0を同時に満たす。また、例えば、Tp/Mmax<t0の場合、ステップS551では、Ttmp=t0と設定され、露出時間Ttmpは、やはり、第2条件を表す式Ttmp≧Tp/Mmaxおよび第3条件を表す式Ttmp≧t0を同時に満たす。
ステップS551での処理後、ステップS552に進み、制御回路18は、露出時間Ttmpが閾値Tblur以下であるか否か判定する。ここで、露出時間Ttmpが、閾値Tblur以下である場合には、露出時間Ttmpについて、上述の第1条件が満たされ、露出時間Ttmpが、閾値Tblur以下でない場合には、第1条件が満たされないことになる。
なお、ここでは、露出時間Ttmpとして、ステップS551において、閾値Tp/Mmaxと閾値t0とのうちの大きい方、つまり、第2および第3条件の両方を満たす最小値を設定(採用)し、ステップS552では、その露出時間Ttmpが、閾値Tblur以下であるか否か、即ち、第1条件としての式Ttmp≦Tblurを満たすか否かの判定を行っている。この場合、露出時間Ttmpについて、第1条件が満たされないということは、仮に、露出時間Ttmpとして、第1条件を満たす時間を採用すると、第2または第3条件が満たされないということになる。このことから、ステップS551において、閾値Tp/Mmaxと閾値t0とのうちの大きい方を、露出時間Ttmpに設定し、さらに、ステップS552において、その露出時間Ttmpについて、第1条件が満たされるか否かの判定を行うということは、見方を変えれば、第1条件を満たす露出時間Ttmpについて、第2または第3条件が満たされるか否かの判定を行っていることになる。
ステップS552において、露出時間Ttmpが閾値Tblur以下であると判定された場合には、ステップS553に進み、制御回路18は、実際の露出時間(通常撮影モードで撮影を行うとした場合の露出時間)Taを、1枚の撮像画像の露出時間Ttmpで除算する式Ta/Ttmpを計算し、その計算結果を、第2撮影処理での高速撮像の撮像枚数Naに設定する。つまり、ステップS551,S552の処理で、第1乃至第3条件を満たす値として求められた露出時間Ttmpを使って、撮像枚数Naが決定(Na=Ta/Ttmp)される。従って、第2撮影処理で高速撮像されるNa枚の撮像画像のそれぞれの露出時間Ttmpは、Ta/Naと表すことができ、この露出時間Ta/Naは、第1乃至第3条件を満たすことになる。この様に、撮像枚数Naは、露出時間Taによって変わる値である。なお、撮像枚数Naの計算において、小数点以下は、例えば、切り捨てられる。
ステップS553での処理が行われた後、ステップS554に進み、制御回路18は、第2撮影処理で適切な画像を得ることができるという第2判定の処理の結果を得て、処理を戻る。
一方、ステップS552において、露出時間Ttmpが閾値Tblurを越えると判定された場合には、ステップS555に進み、制御回路18は、第2撮影処理で適切な画像を得ることができないという第2判定の処理の結果を得て、処理を戻る。
次に、図48のフローチャートを参照して、図45のステップS527における、2×2ビニングを行って複数枚の撮像画像が撮像される第3撮影処理で適切な出力画像を得ることができるか否かを判定する、第3判定の処理について説明する。なお、第3判定の処理は、制御回路18が行う。
初めに、ステップS561において、制御回路18は、高速撮像時の1枚の撮像画像の露出時間をTtmpとして、適正露出時間Tpに基づく閾値Tp/Mmaxと2×2ビニングを行う場合の出力最小時間である閾値t0/4との2つの閾値の大きい方の値を露出時間Ttmpに設定する。なお、上述したように、暗さの限界値1/Mmaxと連続撮像間隔の限界値t0とは、ディジタルカメラ1の性能により決定される値であり、制御回路18が認識しているものとする。また、適正露出時間Tpは、図44のステップS505で決定されており、制御回路18が認識しているものとする。
ステップS561での処理後、ステップS562に進み、制御回路18は、露出時間Ttmpが閾値Tblur以下であるか否か判定する。
ここで、露出時間Ttmpが、閾値Tblur以下である場合には、露出時間Ttmpについて、上述の第1条件が満たされ、露出時間Ttmpが、露出時間Ttmp以下でない場合には、第1条件が満たされないことになる。
また、ステップS561において、閾値Tp/Mmaxと閾値t0/4との2つの閾値の大きい方の値をTtmpに設定し、ステップS562において、その露出時間Ttmpについて、第1条件が満たされるか否かの判定を行うということは、図47で説明した場合と同様に、第1条件を満たす露出時間Ttmpについて、第2または第3条件が満たされるか否かの判定を行っていることと、いわば等価である。
ステップS562において、露出時間Ttmpが閾値Tblur以下であると判定された場合には、ステップS563に進み、制御回路18は、実際の露出時間Taを、1枚の撮像画像の露出時間Ttmpで除算する式Ta/Ttmpを計算し、その計算結果を、第3撮影処理での高速撮像の撮像枚数Nbに設定する。つまり、ステップS561,S562の処理で、第1乃至第3条件を満たす値として求められた露出時間Ttmpを使って、撮像枚数Nbが決定(Nb=Ta/Ttmp)される。従って、第3撮影処理で高速撮像されるNb枚の撮像画像のそれぞれの露出時間Ttmpは、Ta/Nbと表すことができ、この露出時間Ta/Nbは、第1乃至第3条件を満たすことになる。この様に、撮像枚数Nbは、露出時間Taによって変わる値である。なお、撮像枚数Nbの計算において、小数点以下は、例えば、切り捨てられる。
ステップS563での処理が行われた後、ステップS564に進み、制御回路18は、第3撮影処理で適切な画像を得ることができるという第3判定の処理の結果を得て、処理を戻る。
一方、ステップS562において、露出時間Ttmpが閾値Tblurを越えると判定された場合には、ステップS565に進み、制御回路18は、第3撮影処理で適切な画像を得ることができないという第3判定の処理の結果を得て、処理を戻る。
次に、図49のフローチャートを参照して、図45のステップS530における、3×3ビニングを行って複数枚の撮像画像が撮像される第4撮影処理で適切な画像を得ることができるか否かを判定する、第4判定の処理について説明する。なお、第4判定の処理は、制御回路18が行う。
初めに、ステップS571において、制御回路18は、高速撮像時の1枚の撮像画像の露出時間をTtmpとして、適正露出時間Tpに基づく閾値Tp/Mmaxと3×3ビニングを行う場合の出力最小時間である閾値t0/9との2つの閾値の大きい方の値を露出時間Ttmpに設定する。なお、上述したように、暗さの限界値1/Mmaxと連続撮像間隔の限界値t0とは、ディジタルカメラ1の性能により決定される値であり、制御回路18が認識しているものとする。また、適正露出時間Tpは、図44のステップS505で決定されており、制御回路18が認識しているものとする。
ステップS571での処理後、ステップS572に進み、制御回路18は、露出時間Ttmpが閾値Tblur以下であるか否か判定する。
ここで、露出時間Ttmpが、閾値Tblur以下である場合には、露出時間Ttmpについて、上述の第1条件が満たされ、露出時間Ttmpが、露出時間Ttmp以下でない場合には、第1条件が満たされないことになる。
また、ステップS571において、閾値Tp/Mmaxと閾値t0/9との2つの閾値の大きい方の値をTtmpに設定し、ステップS572において、その露出時間Ttmpについて、第1条件が満たされるか否かの判定を行うということは、図47で説明した場合と同様に、第1条件を満たす露出時間Ttmpについて、第2または第3条件が満たされるか否かの判定を行っていることと、いわば等価である。
ステップS572において、露出時間Ttmpが閾値Tblur以下であると判定された場合には、ステップS573に進み、制御回路18は、実際の露出時間Taを、1枚の撮像画像の露出時間Ttmpで除算する式Ta/Ttmpを計算し、その計算結果を、第4撮影処理での高速撮像の撮像枚数Ncに設定する。つまり、ステップS571,S572の処理で、第1乃至第3条件を満たす値として求められた露出時間Ttmpを使って、撮像枚数Ncが決定(Nc=Ta/Ttmp)される。従って、第4撮影処理で高速撮像されるNc枚の撮像画像のそれぞれの露出時間Ttmpは、Ta/Ncと表すことができ、この露出時間Ta/Ncは、第1乃至第3条件を満たすことになる。この様に、撮像枚数Ncは、露出時間Taによって変わる値である。なお、撮像枚数Ncの計算において、小数点以下は、例えば、切り捨てられる。
ステップS573での処理が行われた後、ステップS574に進み、制御回路18は、第4撮影処理で適切な画像を得ることができるという第4判定の処理の結果を得て、処理を戻る。
一方、ステップS572において、露出時間Ttmpが閾値Tblurを越えると判定された場合には、ステップS575に進み、制御回路18は、第4撮影処理で適切な画像を得ることができないという第4判定の処理の結果を得て、処理を戻る。
以上の図46乃至図49のフローチャートを参照して説明したような、制御回路18による第1乃至第4判定の処理に基づき、適切な出力画像を得ることができる撮影処理を決定(ステップ506)し、その撮影処理を行うことによって、鮮明な出力画像を得ることができる。
ここで、第1乃至第3条件について、さらに、述べておく。
まず、1枚の撮像画像の露出時間Ttmp(Ta,Ta/Na,Ta/Nb,Ta/Nc)について、第1条件、つまり式Ttmp≦Tblurが満たされることにより、高速撮像によって得られる各撮像画像は暗い(露出がアンダな)画像となるが、手ぶれのない撮像画像を得ることができ、その撮像画像から鮮明な出力画像を得ることができる。
つまり、撮像画像に手ぶれ(によるボケ)があると、その撮像画像から生成される出力画像も手ぶれのある画像となってしまうが、第1条件を満たすことで、撮像画像は手ぶれのない画像となり、その撮像画像から、鮮明な出力画像を生成することができる。
即ち、第1撮影処理を行うと仮定した際における撮像画像の露出時間Ta、第2撮影処理を行うと仮定した際におけるNa枚の撮像画像の各露出時間Ta/Na、第3撮影処理を行うと仮定した際におけるNb枚の撮像画像の各露出時間Ta/Nb、または、第4撮影処理を行うと仮定した際におけるNc枚の撮像画像の各露出時間Ta/Ncが、手ぶれが発生しない限界の露出時間としての閾値Tblur以下であるか否かを判定することで、手ぶれの発生しない撮像画像を撮像することのできる撮影処理を選択(決定)することができる。
また、1枚の撮像画像の露出時間Ttmp(Ta/Na,Ta/Nb,Ta/Nc)について、第2条件、つまり式Ttmp≧Tp/Mmaxが満たされることにより、高速撮像によって得られる各撮像画像は暗い(露出がアンダな)画像となるが、ノイズに埋もれるほど暗くない撮像画像を得ることができ、その撮像画像から鮮明な出力画像を得ることができる。
つまり、各撮像画像が極端に暗すぎると、各撮像画像の画素値はノイズに埋もれてしまい、その撮像画像から生成される出力画像もノイズの多い画像となってしまうが、第2条件を満たすことで、撮像画像は暗すぎない画像となり、その撮像画像から、鮮明な出力画像を生成することができる。
即ち、第2撮影処理を行うと仮定した際におけるNa枚の撮像画像の各露出時間Ta/Na、第3撮影処理を行うと仮定した際におけるNb枚の撮像画像の各露出時間Ta/Nb、または、第4撮影処理を行うと仮定した際におけるNc枚の撮像画像の各露出時間Ta/Ncが、ノイズで埋もれない限界の露出時間としての適正露出時間Tpに基づく閾値Tp/Mmax(適正露出時間Tpで撮像される画像に対して1/Mmaxの暗さになる露出時間)以上であるか否かを判定することで、暗すぎない撮像画像を撮像することのできる撮影処理を選択(決定)することができる。
そして、第3条件としての式Ta/Na≧t0,Ta/Nb≧t0/4,またはTa/Nc≧t0/9が満たされることにより、高速撮像時にブランキング期間が発生すること防止することができ、適切な(自然な)出力画像を生成することができる。
つまり、高速撮像時の1枚の撮像画像の露出時間Ttmp(Ta/Na,Ta/Nb,Ta/Nc)が、撮像素子4が1枚の撮像画像を出力することができる最小の時間(出力最小時間)を超えている場合、ある撮像画像から次の撮像画像の撮像の間に、露光が行われていない期間であるブランキング期間が発生する。具体的には、撮像素子4でビニングが行われない場合には{t0−(Ta/Na)}秒のブランキング期間が、撮像素子4で2×2ビニングが行われる場合には、{(t0/4)−(Ta/Nb)}秒のブランキング期間が、撮像素子4で3×3ビニングが行われる場合には、{t0/9−(Ta/Nc)}秒のブランキング期間が、それぞれ発生する。被写体が動いている場合、ブランキング期間における被写体の動きはまったく撮像画像には表れないので、このような撮像画像から出力画像を生成すると、その出力画像は不連続性のある画像となってしまうが、第3条件を満たすことで、連続性のある適切な出力画像を得ることができる。
即ち、第2撮影処理を行うと仮定した際におけるNa枚の撮像画像の各露出時間Ta/Na、第3撮影処理を行うと仮定した際におけるNb枚の撮像画像の各露出時間Ta/Nb、または、第4撮影処理を行うと仮定した際におけるNc枚の撮像画像の各露出時間Ta/Ncが、撮像素子4の連続撮像間隔の限界値t0に基づく閾値としての出力最小時間t0,t0/4,またはt0/9以上であるか否かを、それぞれ判定することで、高速撮像時にブランキング期間が発生しない、適切な出力画像を生成することのできる撮影処理を選択(決定)することができる。
ここで、図50を参照して、ブランキング期間が出力画像に与える影響について説明する。
図50は、垂直方向(上から下方向)に一定の速度Vで移動している被写体を、露出時間Ttmp=Ta/4で、高速撮像し、その結果得られる4枚の撮像画像から出力画像を生成する場合を示している。なお、高速撮像の開始時を、時刻0として、時刻0における被写体の位置を0とする。この場合、時刻tの被写体の位置はt×Vと表すことができる。
例えば、仮に、上述のように速度Vで移動している被写体を、露出時間Taで撮像し、その撮像によって得られる1枚の撮像画像を出力画像とする場合、被写体は、撮像画像、ひいては出力画像上の位置0乃至Ta×Vの範囲のボケ(動きボケ)を生じた形で撮像される。このように、動いている被写体を撮影した場合、被写体が、その動きによってボケて、いわば尾を引いた感じの画像となるのは、撮影者の予想の範囲であり、このような動きボケは、手ぶれによるボケとは異質なものである。
図50において、撮像画像500A乃至500Dは、ブランキング期間が発生していない状態で、つまり、第3条件が満たされた状態で撮像された4枚の撮像画像であり、出力画像500Eは、撮像画像500A乃至500Dを用いて画像生成処理を行うことにより生成された出力画像である。一方、撮像画像501A乃至501Dは、時間δのブランキング期間が発生している状態で、つまり、第3条件が満たされない状態で撮像された4枚の撮像画像であり、出力画像501Eは、撮像画像501A乃至501Dを用いて画像生成処理を行うことにより生成された出力画像である。
まず、ブランキング期間が発生していない場合について説明する。1枚目の撮像画像500Aは、時刻0乃至Ta/4の間の露出により撮像され、2枚目の撮像画像500Bは、時刻Ta/4乃至2×Ta/4の間の露出により撮像される。同様に、3枚目の撮像画像500Cは、時刻2×Ta/4乃至3×Ta/4の間の露出により撮像され、4枚目の撮像画像500Dは、時刻3×Ta/4乃至Taの間の露出により撮像される。
このような連続撮像により得られる撮像画像500A乃至500Dのそれぞれの画像上では、移動している被写体が、図50において太線で示したように尾を引いた感じになる動きボケが生じる。図50において、撮像画像500Aでは、被写体が、位置0乃至Ta×V/4の範囲の動きボケを生じた形で撮像され、撮像画像500Bでは、被写体が、位置Ta×V/4乃至2×Ta×V/4の範囲の動きボケを生じた形で撮像されている。同様に、撮像画像500Cでは、被写体が、位置2×Ta×V/4乃至3×Ta×V/4の範囲の動きボケを生じた形で撮像され、撮像画像500Dでは、被写体が、位置3×Ta×V/4乃至Ta×Vの範囲の動きボケを生じた形で撮像されている。
これらの撮像画像500A乃至500Dの撮像画像から得られる出力画像500Eには、被写体が位置0乃至Ta×Vの範囲の連続した動きボケを生じた形で表示される。このような尾を引いた感じの動きボケが生じた出力画像となるのは、上述したように撮影者の予想の範囲である。
次に、時間δのブランキング期間が発生している場合について説明する。1枚目の撮像画像501Aは、時刻0乃至Ta/4の間の露出により撮像され、撮像画像501Aの撮像終了から2枚目の撮像画像501Bの撮像開始までの時間δのブランキング期間が発生している。2枚目の撮像画像501Bは、時刻Ta/4+δ乃至2×Ta/4+δの間の露出により撮像され、撮像画像501Bの撮像終了から3枚目の撮像画像501Cの撮像開始までの時間δのブランキング期間が発生している。3枚目の撮像画像501Cは、時刻2×Ta/4+2×δ乃至3×Ta/4+2×δの間の露出により撮像され、撮像画像501Cの撮像終了から4枚目の撮像画像501Dの撮像開始までの時間δのブランキング期間が発生している。4枚目の撮像画像501Dは、時刻3×Ta/4+3×δ乃至Ta+3×δの間の露出により撮像される。
このような連続撮像により得られる撮像画像501A乃至501Dのそれぞれの画像上でも、移動している被写体が、図50において太線で示したように尾を引いた感じになる動きボケが生じる。図50において、撮像画像501Aでは、位置0乃至Ta×V/4までの動きボケを生じた形で撮像され、撮像画像501Bでは、被写体が、位置(Ta/4+δ)×V乃至(2×Ta/4+δ)×V乃至の範囲の動きボケを生じた形で撮像され、撮像画像501Cでは、被写体が、位置(2×Ta/4+2×δ)×V乃至(3×Ta/4+2×δ)×Vの範囲の動きボケを生じた形で撮像され、撮像画像501Dでは、被写体が、位置(3×Ta/4+3×δ)×V乃至(Ta+3×δ)×Vの範囲の動きボケを生じた形で撮像されている。
これらの撮像画像501A乃至501Dから得られる出力画像501Eには、被写体が位置0乃至(Ta+3×δ)×Vの範囲で、図50に示すような不連続な動きボケを生じた形で表示される。このように、動きボケが不連続な出力画像501Eは、不自然な画像であり、このような不自然な出力画像は、撮影者に違和感を感じさせることになる。
以上のように、ブランキング期間が生じると、出力画像は不自然な画像となるため、本実施の形態では、ブランキング期間が発生しないように、上述の第3条件を満たす撮影処理を選択(決定)し、これにより、適正な(自然な)出力画像を得ることができるようにしている。なお、移動する被写体が存在しなければ、動きボケは生じないので、第3条件を満たしているか否かは判定しなくてもよい。移動する被写体が存在するか否かは、例えば、撮像素子4で撮像され、モニタ11に表示されるいわゆるスルー画を対象として動き検出を行うことにより認識することができる。
なお、上記の説明においては、絞りの値Fを固定して、適正露出時間Tpから、入力デバイス16の露出補正ダイアルによる露出補正値に基づき、露出時間Taを求めるようにしたが、露出時間Taを適正露出時間Tpに固定して、露出補正ダイアルによる露出補正値に基づき、絞りの値Fを変更するようにしてもよい。
つまり、上記においては、絞りの値Fを固定して露出時間Ta(シャッタ速度)を変更することで露出補正を行う、一般に絞り優先モードといわれる方法で露出補正を行うようにしたが、この他、例えば、シャッタ速度優先モードといわれる方法で露出補正を行うことができる。シャッタ速度優先モードでは、露出補正ダイアルを操作して露出補正値を設定すると、露出時間Ta(シャッタ速度)は適正露出時間Tpで固定されて変更されず、絞りの値Fが、露出補正値に基づいて変更される。
このように、露出時間Taを適正露出時間Tpに固定とするシャッタ速度優先モードは、一見すると、露出時間Taが適正露出時間Tpとは異なる値に設定されうる図1のディジタルカメラ1には、適用できないように思われる。しかしながら、以下に説明するように、図1のディジタルカメラ1には、シャッタ速度優先モードを適用することができる。
即ち、例えば、シャッタ速度優先モードにおいて、露出計19によって計測された被写体の明るさの計測値から求められた絞りの値がF’で、適正露出時間がTp’であったとする。
まず、露出補正ダイアルでの露出補正値が0である場合には、撮影モードの決定処理のステップS505(図44)において、絞りの値FをF’に、適正露出時間TpをTp’に、露出時間TaをTp’に、それぞれ決定すればよい。
次に、露出補正ダイアルでの露出補正値が1段アンダを表している場合には、ステップS505(図44)において、絞りの値FをF’より1段絞った値に、適正露出時間Tpを2Tp’に、露出時間TaをTp’に、それぞれ決定すればよい。
即ち、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」と、「絞りの値FがF’より1段絞った値で、適正露出時間TpがTp’の2倍の長時間露光での撮像」とでは、撮像素子4に入射される光量は同一量である。そこで、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」の1段アンダとして、「絞りの値FがF’より1段絞った値で、適正露出時間TpがTp’の2倍の長時間露光での撮像」の1段アンダを考えると、「絞りの値FがF’より1段絞った値で、適正露出時間TpがTp’の2倍の長時間露光での撮像」の1段アンダは、「絞りの値FがF’より1段絞った値で、露出時間Taが1/2Tp、つまりTp’での撮像」である。
「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」の1段アンダは、「絞りの値FがF’より1段絞った値で、適正露出時間TpがTp’の2倍の長時間露光での撮像」の1段アンダである「絞りの値FがF’より1段絞った値で、露出時間TaがTp’での撮像」と等価であり、このときの適正露出時間Tpは2Tp’である。そして、「絞りの値FがF’より1段絞った値で、露出時間TaがTp’での撮像」は、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」に対して、シャッタ速度優先モードの1段アンダでの撮像となっている。
従って、露出補正ダイアルによる露出補正値が1段アンダを表している場合、シャッタ速度優先モードでは、「絞りの値FがF’より1段絞った値で、露出時間TaがTp’での撮像」を行い、撮影モードの決定処理では、絞りの値FをF’より1段絞った値に、露出時間TaをTp’に固定した値に、適正露出時間Tpを2Tp’に、それぞれ決定して処理を行えば良い。
次に、露出補正ダイアルでの露出補正値が2段アンダを表している場合には、ステップS505(図44)において、絞りの値FをF’より2段絞った値に、適正露出時間Tpを4Tp’に、露出時間TaをTp’に、それぞれ決定すればよい。
即ち、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」と、「絞りの値FがF’より2段絞った値で、適正露出時間TpがTp’の4倍の長時間露光での撮像」とでは、撮像素子4に入射される光量は同一量である。そこで、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」の2段アンダとして、「絞りの値FがF’より1段絞った値で、適正露出時間TpがTp’の4倍の長時間露光での撮像」の2段アンダを考えると、「絞りの値FがF’より2段絞った値で、適正露出時間TpがTp’の4倍の長時間露光での撮像」の2段アンダは、「絞りの値FがF’より2段絞った値で、露出時間Taが1/4Tp、つまりTp’での撮像」である。
「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」の2段アンダは、「絞りの値FがF’より2段絞った値で、適正露出時間TpがTp’の4倍の長時間露光での撮像」の2段アンダである「絞りの値FがF’より2段絞った値で、露出時間TaがTp’での撮像」と等価であり、このときの適正露出時間Tpは4Tp’である。そして、「絞りの値FがF’より2段絞った値で、露出時間TaがTp’での撮像」は、「絞りの値FがF’で、適正露出時間TpがTp’の適正露出での撮像」に対して、シャッタ速度優先モードの2段アンダでの撮像となっている。
従って、露出補正ダイアルによる露出補正値が2段アンダを表している場合、シャッタ速度優先モードでは、「絞りの値FがF’より2段絞った値で、露出時間TaがTp’での撮像」を行い、撮影モードの決定処理では、絞りの値FをF’より2段絞った値に、露出時間TaをTp’に固定した値に、適正露出時間Tpを4Tp’に、それぞれ決定して処理を行えば良い。
3段アンダ、あるいは、1段オーバ、2段オーバ、および3段オーバなどについても上述の1段アンダ、2段アンダと同様にして、シャッタ速度優先モードにおいて、撮影モードの決定処理を行うことができる。
なお、ビニングを機能させる場合には、画素加算が行われることにより撮像素子4から出力される画素値が、ビニングを機能させない場合より大きく(明るく)なるので、撮像画像において被写体がノイズに埋もれてしまわない暗さの限界値1/Mmaxは、更に小さな値(Mmaxを大きな値とする)とすることができる。つまり、ビニングを機能させる場合には、機能させない場合よりも更に暗めに撮像しても、撮像画像がノイズに埋もれにくいので、第2条件の閾値Tp/Mmaxを、ビニングを機能させない場合に比較して小さな値に設定することができる。
また、図44では、ステップS505で適正露出時間Tpを決定し、この適正露出時間Tpを使用して以降の処理を行っているが、ステップS505の処理を行わず、ステップS502で決定されている適正露出時間Tpを使用して以降の処理を行ってもよい。
また、本実施の形態では、図1のディジタルカメラ1が、半押しの機能のあるレリーズボタンを備えていることとしたが、ディジタルカメラ1は、半押し機能のないレリーズボタンを備えたディジタルカメラであってもよい。その場合は、初めに、レリーズボタンの全押しを検出する処理を行い、次に、絞りの値F、適正露出時間Tp、および露出時間Taを決定する処理(ステップS502と同様の処理)を行って、撮影モードの決定処理(ステップS506)を行うようにすればよい。
なお、上述した例では、ディジタルカメラ1の撮像素子4を、単板センサで構成し、撮像素子4が出力する1画素につき1個の色信号から、1画素につき3個の色信号を有する出力画像を生成するようにしたが、撮像素子4は、単板センサでなくてもよく、1画素につき、例えば、R,G,Bの3色を出力する3板式の撮像素子などを採用することができる。
また、本発明は、上述したように、ディジタルスチルカメラに採用することができる他、処理の高速化を図ることによって、ディジタルビデオカメラ等にも採用することができる。
なお、本明細書において、フローチャートで説明した各ステップの処理は、記載された順序に沿って時系列的に実行されることはもちろん、必ずしも時系列的に実行されなくとも、並列的あるいは個別に実行されることもあり得る。また、フローチャートで説明した処理の一部または全部は、コンピュータ(CPU15)にプログラムを実行させることによって行わせることができる他、専用のハードウエアにより実行することも可能である。
さて、最後に、本発明の訴求している範囲について述べておく。本発明は、図44のステップS506における、撮影モードの決定処理に関するものである。撮影モードの決定処理(ステップS506)は、図44から明らかなように、ステップS506での処理に入る前に、適正露出時間Tp、実際の露出時間Ta、および、手ぶれが発生しない限界の露出時間としての閾値Tblurを求めるために必要な焦点距離の情報が得られていれば実行することができる。
適正露出時間Tp、実際の露出時間Ta、および、手ぶれが発生しない限界の露出時間としての閾値Tblurを求めるために必要な焦点距離の情報を得る方法(露出決定方法)は従来から沢山あるが、それらのいずれの方法を使用して、適正露出時間Tp、実際の露出時間Ta、および、焦点距離の情報を得てもよい。つまり、適正露出時間Tp、実際の露出時間Ta、および、焦点距離の情報を得る方法は限定されるものではない。
また、本発明は、通常のディジタルカメラで行われる撮影処理と同様の通常撮影モードの撮影処理(第1撮影処理)と、高速に連続撮像を行うことにより、複数の撮像画像(適正露出で撮像された画像よりも暗い画像)を得て、その複数の撮像画像の重ね合わせ、あるいは補間などによって1枚の鮮明な出力画像を生成する手ぶれ補正モードの撮影処理(第2乃至第4撮影処理)のうちのいずれの撮影処理で撮影をするべきかを自動で設定(決定)する処理(撮影モードの決定処理)に関するものである。
つまり、図45のステップS521における第1判定の処理が、本発明において重要である。即ち、通常撮影モードの撮影処理(第1撮影処理)で撮影を行うと仮定した際に、出力画像に手ぶれによるボケを生じる可能性があるか否かの判定が重要であり、この判定を行う第1判定の処理により、「通常撮影モードの撮影処理(第1撮影処理)」で撮影を行うか、「高速に連続撮像を行うことにより、複数の撮像画像(適正露出で撮像された画像よりも暗い画像)を得て、その複数の撮像画像の重ね合わせ、あるいは補間などによって1枚の鮮明な出力画像を生成する手ぶれ補正モードの撮影処理(第2乃至第4撮影処理)」で撮影を行うかを選択(決定)している。この点が、本発明のポイントである。
従って、高速に連続撮像を行うことにより、複数枚の撮像画像(適正露出で撮像された画像よりも暗い画像)から1枚の鮮明な出力画像を生成する方法(処理)は、上述の画像生成処理に限定するものではなく、その他、従来からある方法を含め、任意の方法を採用することができる。
1 ディジタルカメラ, 2 レンズ, 3 絞り, 4 撮像素子, 5 相関2重サンプリング回路, 6 A/Dコンバータ, 7 信号処理回路, 8 タイミングジェネレータ, 9 D/Aコンバータ, 10 ビデオエンコーダ, 11 モニタ, 12 コーデック, 13 メモリ, 14 バス, 15 CPU, 16 入力デバイス, 17 画像処理回路, 18 制御回路, 19 露出計, 21 シフト回路, 221乃至22N フレームメモリ, 231乃至23N-1 動き検出回路, 24 演算回路, 25 コントローラ