以下、図面を参照して、本発明の実施の形態について説明する。
図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、および入力デバイス16で構成される。また、A/Dコンバータ6は、シフト回路21を、信号処理回路7は、フレームメモリ22をそれぞれ有している。
図示せぬ被写体からの光は、レンズ2、絞り3等の光学系を通過して、撮像素子4に入射される。撮像素子4は、例えば、CCDやCMOS等でなる単板センサから構成され、所定の数の画素(受光素子)を有している。
そして、撮像素子4は、タイミングジェネレータ8から供給される露光タイミング信号に従い、所定の間隔で、所定の時間(シャッタ時間)だけ、入射される被写体の光を受光する。そして、撮像素子4は、撮像面上の各受光素子に到達した受光量を光電変換により電気信号に変換し、その電気信号に変換された画像信号を相関2重サンプリング回路5に供給する。撮像素子4は、単板センサとなっているので、相関2重サンプリング回路5に供給される電気信号は、1画素につきR信号、G信号、B信号のうちのいずれか1個の色信号(データ)である。
ここで、カメラぶれが発生していても、より鮮明な画像を出力するために、撮像素子4は、1回の撮影(1回のレリーズボタンの操作)で、適正露出におけるシャッタ速度(シャッタ時間(露出時間))よりも高速に(短いシャッタ時間で)複数枚(以下では、N枚とする)の撮像画像を撮像する。従って、撮像素子4で撮像されたN枚の撮像画像(入力画像)は、適正露出で撮像された画像より暗く、適正露出で撮像された画像のMk分の1(=1/Mk)(k=1乃至N)の明るさになる。なお、Mkの値は、例えば、シャッタ速度などにより決定される。
相関2重サンプリング回路5は、撮像素子4から供給される画像信号(電気信号)のノイズ成分を、相関2重サンプリングにより除去し、A/Dコンバータ6に供給する。A/Dコンバータ6は、相関2重サンプリング回路5から供給される、ノイズ除去された画像信号をA/D変換、即ち、サンプリングして量子化する。その後、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は、フレームメモリ22に記憶されているN枚の撮像画像の画像信号に所定の画像処理を施す。
即ち、信号処理回路7は、N枚の撮像画像のうちの、例えば、1枚目の撮像画像を基準画像とするとともに、2乃至N枚目の撮像画像それぞれをターゲット画像とし、ターゲット画像が基準画像に対して、どのような位置ズレを起こしているか、基準画像とターゲット画像との位置ズレのズレ量(位置関係)を検出する。そして、信号処理回路7は、そのズレ量に基づいて、カメラぶれが補正された1枚の鮮明な画像(出力画像)としての、1画素につきG信号、R信号、B信号のすべてを有する出力画像を求め、その求めた出力画像の画像信号を、D/Aコンバータ9またはコーデック12、あるいは、その両方に供給する。信号処理回路7は、DSP(Digial Signal Processor)等で構成することができる。
タイミングジェネレータ8は、1回の撮影において、所定の間隔でN枚の撮像画像の高速撮像が行われるように、露光(露出)タイミング信号を、撮像素子4、相関2重サンプリング回路5、A/Dコンバータ6、および信号処理回路7に供給する。この高速撮像の間隔(あるいは、高速撮像により撮像する撮像画像の枚数N)は、例えば、被写体の明るさなどに合わせて、ユーザが変更することができるようになっている。ユーザが高速撮像の間隔を変更する場合、入力デバイス16をユーザが操作することによりCPU15で決定される間隔の変更値が、CPU15よりバス14を介して、タイミングジェネレータ8に供給される。
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に着脱可能な記録媒体の両方を設けるようにすることも可能である。
CPU15は、バス14を介して各部に制御信号を供給し、各種の処理を制御する。例えば、ユーザの操作に応じて入力デバイス16から供給される撮像開始の信号に従い、被写体を撮像し、その撮像によって最終的に得られる出力画像をメモリ13に記憶するように、各部に制御信号を供給する。
入力デバイス16は、ディジタルカメラ1本体にあるレリーズボタンなどの操作ボタン類を有している。ユーザが操作ボタンを操作することにより発生する各種の信号が、入力デバイス16からバス14を介してCPU15に供給され、CPU15は、入力デバイス16からバス14を介して供給される各種の信号に従う処理を実行するように各部を制御する。なお、入力デバイス16の1以上の操作ボタンは、モニタ11に表示することが可能である。モニタ11に表示された操作ボタンに対する操作は、例えば、モニタ11上に透明なタブレットを設け、そのタブレットにより検出するようにすることができる。
次に、図2のフローチャートを参照して、ディジタルカメラ1の撮像処理について説明する。
初めに、ステップ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枚の撮像画像から、1枚の出力画像を生成して出力するようにすることにより、明るい風景であっても、暗い風景であっても、ブレのない(ブレが低減され)、十分な明るさの出力画像を得ることができる。
ここで、1枚の撮像画像を撮像して、その撮像画像を、そのまま出力画像とする動作モードを、通常撮影モードといい、N枚の撮像画像を撮像し、そのN枚の撮像画像から、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の撮像処理について説明する。
ディジタルカメラ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の場合を考える。
ここで、高速撮像時の撮像画像の時間的間隔を、T0秒とすると、1枚の撮像画像の撮像時の露光時間は、T0秒以下である。
撮像素子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)が求められる。
この場合、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'とが等しいものとする。
但し、撮像素子の中には、例えば、隣接する2×2画素などの複数画素をまとめて扱い、その複数画素を1画素として画素値を出力するビニング(binning)を行うものがある。撮像素子4が、例えば、2×2画素を1画素として画素値を出力するビニングを行う場合、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として、それが有するW×H画素と同一のW'×H'画素の撮像画像を出力する撮像素子を採用することとしたが、撮像素子4としては、それが有するW×H画素よりも少ないW'×H'画素の撮像画像を出力する撮像素子を採用することもできる。
即ち、撮像素子には、隣接する複数の画素の画素値を加算し、その加算値(画素加算値)を、1画素の画素値とするビニングと呼ばれる機能を有するもの(以下、適宜、ビニング撮像素子という)がある。ビニング撮像素子には、光を受光するセンサの内部で、画素値の加算を行うものや、センサから出力された画素値としてのディジタルデータをディジタル加算器で加算するものがある。
ビニング撮像素子は、複数の画素の画素値を加算し、その加算値を、1画素の画素値として出力するので、その画素値により構成される撮像画像の画素数は、ビニング撮像素子が有する画素数より少なく、その画素数の数分の1の画素数となる。より具体的には、ビニング撮像素子が、例えば、隣接する2×2画素の画素値を加算して出力する場合は、撮像画像の画素数は、(W/2)×(H/2)画素となる。また、ビニング撮像素子が、例えば、隣接する3×3画素の画素値を加算して出力する場合は、撮像画像の画素数は、(W/3)×(H/3)画素となる。
なお、撮像素子4として採用するビニング撮像素子は、その他の画素数の画素値の加算を行うものであっても良い。また、ビニング撮像素子のセンサの画素がベイヤー配列になっている場合は、そのビニング撮像素子は、画素がベイヤー配列になっている撮像画像を出力する。
撮像素子4としてビニング撮像素子を採用し、ビニングを機能させる場合には、撮像素子4において、画素値の加算が行われることにより、感度アップが図られ、その結果、撮像素子4が出力する画素値(加算画素値)は、ノイズの少ないデータとなるので、例えば、薄暗がりの風景の撮影に効果的である。
ところで、手ぶれ補正モードにおいて、撮像素子4のビニングを機能させ、撮像素子4において、例えば、隣接する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がビニングを行わない場合に比較して、処理量を低減することができる。
また、撮像素子4が、上述のように、2×2画素を1画素として扱うビニングを行う場合には、ビニングを行わない場合に比較して、撮像素子4が画素値を出力する出力レートが1/4になる。ここで、出力レートとは、撮像素子4が1つの画素値を出力するのに要する時間の逆数である。N枚の撮像画像の撮像間隔が、T0秒であるとすると、撮像素子4がビニングを行わない場合の出力レートは、遅くともH×W/T0[画素数/秒]である必要があるが、撮像素子4がビニングを行う場合の出力レートは、H×W/(4T0)[画素数/秒]以上であれば良く、撮像素子4がビニングを行わない場合に必要な出力レートの1/4で済む。
即ち、逆に言えば、撮像素子4がビニングを行う場合は、ビニングを行わない場合に比較して、1枚の撮像画像の画素値の出力に要する時間を1/4にすることができる。
そして、撮像素子の出力レートの最大値、即ち、撮像素子がある単位時間内に出力することができる画素値の数は、撮像素子ごとに決まっており、撮像画像のフレームレート(撮像素子が、ある撮像画像(の画素値)を出力してから、その次の撮像画像を出力するまでの時間)は、撮像画像の画素数と、撮像素子が単位時間内に出力することができる画素値の数とにより制限される。即ち、撮像画像の画素数が多ければ、撮像画像のフレームレートを低い値に制限され、逆に、撮像画像の画素数が少なければ、撮像画像のフレームレートを高くすることができる。
従って、撮像素子においてビニングを行うことによって、撮像画像のフレームレートを高くすること、即ち、撮像の間隔を短くすることができる。
例えば、ズームレンズにより望遠で撮影が行われる場合のように、撮影画像に生じる手ぶれ量が大となる撮影が行われる場合には、撮像画像にぶれが生じるのを防止するため、撮像の間隔を短くする、即ち、撮像画像のフレームレートを高くする必要がある。この場合、撮像素子4においてビニングを行うことによって、フレームレートの高い撮像画像を出力するようにすることができる。これにより、空間方向の解像度は多少劣化するが、手ぶれ量が大であっても、鮮明な画像を得ることができる。
一方、広角で撮影が行われる場合のように、撮影画像に生じる手ぶれ量が小さい撮影が行われる場合には、フレームレートをあまり上げる必要はないので、撮像素子4においてビニングを行わずに、撮影画像を出力するようにすることができる。これにより、手ぶれ量が小さい場合には、空間方向の解像度が高く、かつ鮮明な画像を得ることができる。
なお、撮像素子4におけるビニングを機能させるかどうかは、ユーザの操作に応じて設定することができる。また、手ぶれ量を検出し、手ぶれ量が大の場合には、撮像素子4におけるビニングを機能させ、手ぶれ量が小の場合には、撮像素子4におけるビニングを機能させないようにすることもできる。
また、本実施の形態では、撮像素子4として、ベイヤー配列の撮像素子を採用することとしたが、撮像素子4としては、ベイヤー配列でない画素の配列の撮像素子を採用することも可能である。
さらに、上述した例では、ディジタルカメラ1の撮像素子4を、単板センサで構成し、撮像素子4が出力する1画素につき1個の色信号から、1画素につき3個の色信号を有する出力画像を生成するようにしたが、撮像素子4は、単板センサでなくてもよい。
即ち、撮像素子4としては、1画素につき所定のn個の色信号(例えば、R,G,Bなど)を出力するものを採用し、画像生成処理では、1画素につきn個の色信号から、1画素につき(n+1)個以上の色信号(例えば、黄、シアン、マゼンダ、緑など)を有する出力画像を生成するようにすることができる。また、撮像素子4としては、1画素につき所定のn個の色信号を出力するもの(例えば、R,G,Bの3色を出力する3板式の撮像素子など)を採用し、画像生成処理では、1画素につきn個の色信号から、1画素につきn個の色信号を有する出力画像を生成することもできる。さらに、撮像素子41は、R,G,Bではなく、それらの補色を出力するものであってもよい。
また、本発明は、上述したように、ディジタルスチルカメラに採用することができる他、処理の高速化を図ることによって、ディジタルビデオカメラ等にも採用することができる。
次に、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、ディジタルカメラ1は、図44に示されるようなコンピュータにプログラムを実行させることにより実現することができる。
図44において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。例えば、CPU501は、信号処理回路7の動き検出回路23および演算回路24等が行う処理を実行する。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース505も接続されている。
入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、インターネットなどのネットワークを介しての通信処理を行う。撮像部311は、図1で示される撮像素子4などを有し、被写体を撮像し、その撮像した被写体の画像データを入出力インタフェース505を介してCPU501等に供給する。
入出力インタフェース505にはまた、必要に応じてドライブ310が接続され、磁気ディスク321、光ディスク322、光磁気ディスク323、或いは半導体メモリ324などが適宜装着され、それらから、CPU501が実行するコンピュータプログラムが読み出され、記憶部508にインストールされる。また、CPU501が実行するコンピュータプログラムは、通信部509を介してインターネット上のサイトからダウンロードしてインストールすることができる。
なお、本明細書において、フローチャートで説明した各ステップの処理は、記載された順序に沿って時系列的に実行されることはもちろん、必ずしも時系列的に実行されなくとも、並列的あるいは個別に実行されることもあり得る。
さて、最後に、本発明の訴求している範囲について、述べておく。上記実施の形態においては、ベイヤー配列で撮影された画像を複数枚使って、高精細な画像を生成する手順について、詳しく述べてきた。しかしながら、本発明は、これに限定するわけではない。本発明のポイントは、位置関係の微妙にずれた複数枚の画像から位置合わせを行いながら一枚の高精細な出力画像を生成するとき、「出力画像の画素間隔を撮影画像(基準画像:4枚目画像4014)の画素間隔と同じにすると、周辺部分ではノイズがあり、鮮明でない画像が出来てしまう」という欠点を克服するために、出力画像の画素間隔を撮影画像の画素間隔よりも短く(具体的にはα)して撮影画像の中心部分のデータのみを使用する点である。従って、この本発明のポイントは、ベイヤー配列に限定しているわけではない。
さらに、ビニング処理された撮像素子からの撮影画像(例えば、(W/2)×(H/2)画素の画像)からでも、演算回路24での画像処理により、撮像素子が本来もっている画素数と同じ画像(W×H画素の画像)を得ることができる。
このように本発明を適用した装置(図1)を使用することで、通常撮影モードおよび手ぶれ補正モードのいずれの撮影においても、常に出力画像はW×H画素の画像となり、画素数がモードにより変わるという違和感を、ユーザは感じないで済む。そして、出力画像は、周辺部分の画質も中心部分の画質同様に鮮明な画像となる。
1 ディジタルカメラ, 2 レンズ, 3 絞り, 4 撮像素子, 5 相関2重サンプリング回路, 6 A/Dコンバータ, 7 信号処理回路, 8 タイミングジェネレータ, 9 D/Aコンバータ, 10 ビデオエンコーダ, 11 モニタ, 12 コーデック, 13 メモリ, 14 バス, 15 CPU, 16 入力デバイス, 21 シフト回路, 221乃至22N フレームメモリ, 231乃至23N-1 動き検出回路, 24 演算回路, 25 コントローラ