以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図20は本発明の実施形態1を示したものであり、図1は電子カメラの主として電気的な構成を示すブロック図である。本実施形態は、電子カメラに電子的ぶれ補正装置を適用したものとなっている。
この電子カメラは、固体撮像素子(以下では適宜、撮像素子と略称する)1と、相関二重サンプリング回路(CDS:Correlated Double Sampling)2と、ゲインコントロールアンプ(AMP)3と、A/D変換器4と、タイミングジェネレータ(TG)5と、シグナルジェネレータ(SG)6と、CPU7と、情報処理部8と、DRAM9と、圧縮伸張部10と、記録媒体11と、液晶表示部12と、インタフェース部13と、レンズ駆動系14と、撮影レンズ15と、絞り駆動系16と、絞り17と、第1レリーズスイッチ18aおよび第2レリーズスイッチ18bと、角速度センサ(角速度センサA)19および角速度センサ(角速度センサB)20と、A/D変換器21およびA/D変換器22と、距離検出部23と、を含んでいる。
撮影レンズ15は、被写体像を撮像素子1へ結像するための撮像光学系である。
絞り17は、この撮影レンズ15からの光束の通過範囲を規定することにより光量の調整を行うための光学絞りであって、露光量制御手段を構成している。
撮像素子1は、絞り17を介して撮影レンズ15により結像された被写体像を、光電変換して電気信号として出力するものである。この撮像素子1は、図2等に示すように、画像を光電変換して蓄積するフォトダイオード32と、このフォトダイオード32から読み出された電荷を水平方向に転送するための水平転送CCD33と、該フォトダイオード32から読み出された電荷を垂直方向に転送するための垂直転送CCD34と、を有して構成されている。そして、フォトダイオード32により光電変換して蓄積された第1の画素電荷は、水平転送CCD33と垂直転送CCD34との何れか一方に読み出されて記憶される。この第1の画素電荷を読み出した直後からフォトダイオード32により光電変換し蓄積された第2の画素電荷は、水平転送CCD33と垂直転送CCD34との何れか他方に読み出されて記憶される。そして、第1の画素電荷と第2の画素電荷とを、水平転送CCD33と垂直転送CCD34とを用いて相対的にシフトし、ぶれ量を補正するだけシフトした後に、水平転送CCD33と垂直転送CCD34とが交差する位置において該第1の画素電荷と第2の画素電荷とを加算することにより、ぶれ補正された画像を生成するようになっている。このような撮像素子1のより詳細な構成や作用については、後で説明する。
TG5は、この撮像素子1を駆動するための転送パルスを供給するものであり、露光量制御手段を構成している。
CDS2は、TG5から供給されるサンプルホールドパルスに従って駆動され、撮像素子1から出力される画像信号に相関二重サンプリング等の処理を行うことによりリセットノイズを除去するものである。
SG6は、CPU7の制御に基づき、同期信号を生成してTG5へ出力するものであり、露光量制御手段を構成している。
ゲインコントロールアンプ(AMP)3は、CDS2から出力されるアナログの信号を増幅するものである。
A/D変換器4は、TG5から供給される信号に従って、ゲインコントロールアンプ(AMP)3から出力されるアナログ信号をデジタル信号に変換するものである。
情報処理部8は、A/D変換器4から出力される画素信号を処理して、画像データを生成するものである。
DRAM9は、情報処理部8から出力される画像データを一時的に記憶するものであるとともに、記録媒体11から読み出された圧縮画像データを圧縮伸張部10により伸張して得られた画像データを一時的に記憶するものとなっている。
圧縮伸張部10は、DRAM9に記憶されている画像データを圧縮するとともに、記録媒体11から読み出された圧縮画像データを伸張するものである。
記録媒体11は、圧縮伸張部10により圧縮された画像データを記録するものであり、例えば不揮発性の記録媒体となっている。
液晶表示部12は、情報処理部8から出力される画像データ、またはDRAM9から出力される伸張された画像データを表示するものである。
インタフェース部13は、モニタやパーソナルコンピュータ等の外部装置とのデータの授受を行うための端子を含むインタフェースである。このインタフェース部13を介して、情報処理部8またはDRAM9から供給される画像データ等を外部装置へ出力することが可能であり、あるいは場合によっては、外部装置から画像データ等を装置内に取り込むことが可能となっている。
レンズ駆動系14は、距離検出部23により検出された被写体距離に基づきCPU7から指令を受けることにより、撮影レンズ15を合焦位置へ駆動するものである。このような処理は、いわゆるオートフォーカス制御として公知のものである。なお、ここでは距離検出部23からの出力に基づきオートフォーカス制御を行っているが、CPU7が、DRAM9に記憶された1フレーム(1画面)分の画像データの輝度成分にハイパスフィルタなどを用いて高周波成分を抽出し、抽出した高周波成分の累積加算値を算出する等により高周波域側の輪郭成分等に対応したAF評価値を算出し、該AF評価値に基づいて焦点検出を行うようにしても構わない。
絞り駆動系16は、DRAM9に記憶された画像データに基づきCPU7が露出演算を行い、該CPU7からその結果に基づいた指令を受けることにより、絞り17を駆動して開口径を変更するものであり、露光量制御手段と絞り制御手段とを兼ねている。このような処理は、いわゆるAE(自動露出)制御として公知のものである。
角速度センサ19は、電子カメラを被写体側から見たときの左右の方向における右方向をX軸方向としたときに(図15参照)、このX軸方向を回転中心として電子カメラを回転したときの角速度を検出するためのものであり、ぶれ検出手段、ぶれ量検出手段である。
一方、角速度センサ20は、電子カメラの上下方向における上方向をY軸方向としたときに(図15参照)、このY軸方向を回転中心として電子カメラを回転したときの角速度を検出するためのものであり、ぶれ検出手段、ぶれ量検出手段である。
A/D変換器21は、角速度センサ19により検出された角速度を表すアナログ信号を、所定の時間間隔(サンプリング間隔)でデジタル信号に変換するものである。
同様に、A/D変換器22は、角速度センサ20により検出された角速度を表すアナログ信号を、所定の時間間隔(サンプリング間隔)でデジタル信号に変換するものである。
CPU7は、A/D変換器21により変換されたデジタル信号を時間積分する処理を行う。この時間積分されたデジタル信号は、カメラ本体の上記X軸を回転中心とする回転量に相当する。また、X軸周りの回転方向が右回りであるか左回りであるかは、角速度センサ19のアナログ出力信号が正であるかあるいは負であるかにより判別されるようになっている。
同様に、CPU7は、A/D変換器22により変換されたデジタル信号を時間積分する処理を行う。この時間積分されたデジタル信号は、カメラ本体の上記Y軸を回転中心とする回転量に相当する。また、Y軸周りの回転方向が右回りであるか左回りであるかは、角速度センサ20のアナログ出力信号が正であるかまたは負であるかにより判別されるようになっている。
第1レリーズスイッチ18aは、撮像動作を指示入力するための2段スイッチでなるレリーズスイッチの1段目である。この第1レリーズスイッチ18aがオンされると、測距動作や測光動作が行われるようになっている。
第2レリーズスイッチ18bは、撮像動作を指示入力するための2段スイッチでなるレリーズスイッチの2段目である。この第2レリーズスイッチ18bがオンされると、撮像素子1により撮像動作が行われ、画像データが上述したように生成されて、圧縮された後に記録媒体11に記録されるようになっている。
距離検出部23は、被写体までの距離を検出するためのものであり、公知の構成のものを適宜採用することが可能である。
CPU7には、第1レリーズスイッチ18aからの信号、第2レリーズスイッチ18bからの信号、A/D変換器21を介した角速度センサ19からの信号、およびA/D変換器22を介した角速度センサ20からの信号が入力されるようになっている。そしてCPU7は、TG5とSG6とへ指令を出力するようになっている。さらに、CPU7は、情報処理部8、DRAM9、レンズ駆動系14、絞り駆動系16、および距離検出部23と双方向に接続されていて、これらを含むこの電子カメラ全体を制御するようになっている。具体的には、CPU7は、上述したようなオートフォーカス制御やAE制御を行うとともに、第1レリーズスイッチ18aおよび第2レリーズスイッチ18bからの静止画像の取り込みを指示する信号に基づき、撮像素子1の駆動モードの切り換えを行うようになっている。このCPU7は、露光量制御手段、露光時間算出手段、時分割露光制御手段、ぶれ量検出手段、絞り制御手段を兼ねたものである。
次に、図2〜図9を参照して、撮像素子1の動作について説明する。
図2〜図5は、第1の画素電荷をまず垂直転送CCD34に転送し、次に、第2の画素電荷を水平転送CCD33に転送して、その後に第1の画素電荷と第2の画素電荷とを水平転送CCD33と垂直転送CCD34とが交差する電極位置において加算する場合を示している。これにより、連続して撮影された2つの画像を、撮像素子1の内部で水平方向と垂直方向とにシフトして加算することができるようになっている。ここに、図2はフォトダイオードに蓄積された電荷を第1の画素電荷として垂直転送CCDに転送する様子を示す図、図3は第1の画素電荷読み出し後にフォトダイオードに蓄積された電荷を第2の画素電荷として水平転送CCDに転送しさらに水平方向に転送するとともに、第1の画素電荷を垂直方向に転送する様子を示す図、図4は第1の画素電荷と第2の画素電荷とを加算する様子を示す図、図5は加算された電荷を同一画素内における垂直転送CCDの電荷保持部に退避する様子を示す図である。
撮像素子1には、被写体からの光線を受けて電荷を発生するフォトダイオード32が、複数、マトリクス状に配列されていて、マトリクス状に配列されたこれらのフォトダイオード32が光電変換部を構成している。
さらに、撮像素子1は、光電変換部のフォトダイオード32の各行に隣接して行方向に配置されていて、フォトダイオード32で発生した電荷を読み出して得られた第1画像を記憶するとともに、この第1画像を水平方向に転送する水平転送レジスタでありぶれ補正手段たる水平転送CCD33を備えている。
また、撮像素子1は、光電変換部のフォトダイオード32の各列に隣接して列方向に配置されていて、第1画像とは異なる時刻に撮影された第2画像を記憶するとともに、この第2画像を垂直方向に転送する垂直転送レジスタでありぶれ補正手段たる垂直転送CCD34を備えている。
そして、水平転送CCD33と垂直転送CCD34とが交差する位置に配置された電極部分(図10に示す電極φV0,φH0)は、後述するように、第1画像と第2画像とをアナログ加算する加算部(加算手段)として機能するようになっている。
なお、ここでは、複数のフォトダイオード32が、縦方向と、この縦方向に垂直な横方向と、に配列されてマトリクス状をなしている例を示しているが、実質的なマトリクス状をなす配列であればこれに限るものではない。例えば、一方向と、この一方向に斜めに交差する他方向と、に配列されてマトリクス状をなしているものでも構わない。このときには、水平転送CCD33と垂直転送CCD34とを、互いに斜めに交差する方向に配置すれば良い。さらに、フォトダイオード32の形状も正方形や矩形に限るものではなく、平行四辺形や三角形、六角形等の各種の形状であっても構わない。
そして、撮像素子1における1画素31は、1つのフォトダイオード32と、このフォトダイオード32に隣接する水平転送CCD33の部分および垂直転送CCD34の部分と、を含んでいる。なお、この撮像素子1の転送電極の構造については後述することにする。従って、撮像素子1の1画素に含まれる電極についても後述する。また、1画素31のサイズを、水平方向(横方向)の長さがLx、垂直方向(縦方向)の長さがLyであるとする。
このような構成の撮像素子1の作用の概略について説明する。
以下では、撮像素子1の左上角に配置されたフォトダイオードをP1,1 と表記し、水平方向右側へ向かってi(iは1以上の整数)番目、垂直方向下側へ向かってj(jは1以上の整数)番目の位置に配置されたフォトダイオードをPi,j と表記することにする。
図2は、最初に光電変換し蓄積されたフォトダイオードPi,j の電荷(第1の画素電荷)(図中において丸印で示している)を、このフォトダイオードPi,j に隣接する垂直転送CCD34にシフトした(読み出した)ところを示している。なお、この図2においては、フォトダイオードPi,j に係る第1の画素電荷のみを図示しているが、他の全てのフォトダイオードにおいて同一の時間だけ光電変換し蓄積された電荷も、同様に垂直転送CCD34に一斉にシフトされることになる。
図3は、第1の画素電荷をシフトした直後から光電変換し蓄積されたフォトダイオードPi-1,j-1 の電荷(第2の画素電荷)を、このフォトダイオードPi-1,j-1 に隣接する水平転送CCD33にまずシフトした(読み出した)ことを示している。なお、この図3においても、フォトダイオードPi-1,j-1 に係る第2の画素電荷のみを図示しているが、他の全てのフォトダイオードにおいて同一の時間だけ光電変換し蓄積された電荷が、同様に水平転送CCD33に一斉にシフトされることになる。ここに、第1の画素電荷蓄積時にフォトダイオードPi,j に到達していた被写体からの光が、第2の画素電荷蓄積時には手ぶれ等によりフォトダイオードPi-1,j-1 に到達する位置に移っているものとする。この光の到達位置の変化は、第2の画素電荷の蓄積が終わった時点で初めて判明するために、図2に示した状態においては、第1の画素電荷はまだ転送されず、垂直転送CCD34に保持(記憶)されるのみである。しかし、第2の画素電荷を読み出した後は、角速度センサ19,20の出力により光の到達位置の変化が判明するために、同一の被写体光に係る第1の画素電荷と第2の画素電荷との位置関係が分かり、後述する加算を行うために、互いに近接する位置(同一の1画素31内の位置)への転送が行われる。すなわち、図3には、第2の画素電荷が水平転送CCD33上を紙面右方向に1画素分転送されるとともに、第1の画素電荷が垂直転送CCD34上を紙面上方向に1画素分転送される例が示されている。水平転送CCD33による1画素分以上の画素電荷の転送と、垂直転送CCD34による1画素分以上の画素電荷の転送と、は後述する図10に示すような構成では同時に行うことができない(もちろん、同時に行うことができるように構成しても構わない(例えば、水平転送CCD33と垂直転送CCD34とを撮像素子1の厚み方向に異なる位置に独立に設けて、さらに独立に加算部を設けるようにすれば良い。))ために、何れか一方の転送を先に行い、その後に他方の転送を行うことになる。なお、第1の画素電荷の転送と第2の画素電荷の転送とが、全てのフォトダイオードに係る画素電荷について行われるのは上述と同様である。このような水平転送CCD33による転送と垂直転送CCD34による転送とを行うためには、各転送CCDが交差する位置において水平転送CCD33内の電荷と垂直転送CCD34内の電荷とが干渉することのないように、転送電極の配置を工夫する必要があるが、これについては後で説明する。
図4は、第1の画素電荷と第2の画素電荷とを、水平転送CCD33と垂直転送CCD34とが交差する位置にシフトして、該交差位置において加算した様子(加算であることを、図4中において「+」により示している)を示している。この加算は、全てのフォトダイオードに係る第1の画素電荷と、全てのフォトダイオードに係る第2の画素電荷と、について行われることは勿論である。これにより、第1の画像(全ての第1の画素電荷で構成される画像)と、この第1の画像の直後に連続して撮影された第2の画像(全ての第2の画素電荷で構成される画像)と、がぶれ量だけシフトされた後に、つまりぶれを補正された後に、合成されたことになる。
図5は、水平転送CCD33と垂直転送CCD34との交差位置において加算された画素電荷を、同一画素内における例えば垂直転送CCD34の該交差位置以外の位置(電荷保持部)に転送した(退避させた)様子を示している。交差位置は、水平転送と垂直転送との両方に用いられるために、該交差位置に画素電荷を保持したままであると、次に読み出した画素電荷との加算を行うことができない。そこで、ここでは、加算後の電荷を、一旦、垂直転送CCD34の電荷保持部へ退避させるようにしたものである。これにより、次の画素電荷を水平転送CCD33へ読み出せば、上述と同様に、画素の加算を行うことが可能となる。なお、ここでは、加算後の電荷を同一画素内における垂直転送CCD34の電荷保持部へ転送した(退避させた)が、これに代えて、同一画素内における水平転送CCD33の電荷保持部へ転送しても(退避させても)構わない。このときには、次の画素電荷は、垂直転送CCD34へ読み出されることになる。また、加算後の画素電荷を退避させるのは、必ずしも同一画素内に限るものではない。
続いて、図6〜図9は、第1の画素電荷をまず水平転送CCD33に転送し、次に、第2の画素電荷を垂直転送CCD34に転送して、その後に第1の画素電荷と第2の画素電荷とを水平転送CCD33と垂直転送CCD34とが交差する電極位置において加算する場合を示している。このような順序でも、連続して撮影された2つの画像を、撮像素子1の内部で水平方向と垂直方向とにシフトして加算することが可能である。ここに、図6はフォトダイオードに蓄積された電荷を第1の画素電荷として水平転送CCDに転送する様子を示す図、図7は第1の画素電荷読み出し後にフォトダイオードに蓄積された電荷を第2の画素電荷として垂直転送CCDに転送しさらに垂直方向に転送するとともに、第1の画素電荷を水平方向に転送する様子を示す図、図8は第1の画素電荷と第2の画素電荷とを加算する様子を示す図、図9は加算された電荷を同一画素内における垂直転送CCDの電荷保持部に退避する様子を示す図である。
図6は、最初に光電変換し蓄積されたフォトダイオードPi-1,j-1 の電荷(第1の画素電荷)を、このフォトダイオードPi-1,j-1 に隣接する水平転送CCD33にシフトしたところを示している。このときに、他の全てのフォトダイオードからも、水平転送CCD33へ電荷が一斉にシフトされるのは、上述と同様である。
図7は、第1の画素電荷をシフトした直後から光電変換し蓄積されたフォトダイオードPi,j の電荷(第2の画素電荷)を、このフォトダイオードPi,j に隣接する垂直転送CCD34にまずシフトしたことを示している。なお、ここでも、全てのフォトダイオードから、垂直転送CCD34へ電荷が一斉にシフトされるのは、上述と同様である。ここに、第1の画素電荷蓄積時にフォトダイオードPi-1,j-1 に到達していた被写体からの光が、第2の画素電荷蓄積時には手ぶれ等によりフォトダイオードPi,j に到達する位置に移っているものとする。そして、この図7には、第2の画素電荷が垂直転送CCD34上を紙面上方向に1画素分転送されるとともに、第1の画素電荷が水平転送CCD33上を紙面右方向に1画素分転送される例が示されている。ここでも、第1の画素電荷の転送と第2の画素電荷の転送とが、全てのフォトダイオードに係る画素電荷について行われるのは上述と同様である。
図8は、第1の画素電荷と第2の画素電荷とを、水平転送CCD33と垂直転送CCD34とが交差する位置にシフトして、該交差位置において加算した様子(加算であることを、図8中においても「+」により示している)を示している。この加算が、全てのフォトダイオードに係る第1の画素電荷と、全てのフォトダイオードに係る第2の画素電荷と、について行われることは上述と同様である。これにより、第1の画像(全ての第1の画素電荷で構成される画像)と、この第1の画像の直後に連続して撮影された第2の画像(全ての第2の画素電荷で構成される画像)と、がぶれ量だけシフトされた後に、つまりぶれを補正された後に、合成されたことになる。
図9は、上記図5と同様に、水平転送CCD33と垂直転送CCD34との交差位置において加算された画素電荷を、同一画素内における例えば垂直転送CCD34の該交差位置以外の位置(電荷保持部)に転送した(退避させた)様子を示している。なお、加算後の電荷を、同一画素内における水平転送CCD33の電荷保持部へ転送しても(退避させても)構わないのは、上述と同様である。
なお、上述した図2〜図5においては、第1の画像に対して第2の画像が左方向および上方向にそれぞれ1画素分だけぶれている例を説明し、上述した図6〜図9において、第1の画像に対して第2の画像が右方向および下方向にそれぞれ1画素分だけぶれている例を説明した。より一般に、第1の画像に対して第2の画像が、右方向にn(nは整数であり、nが負であるときは左方向にぶれていることを示す)画素分、上方向にm(mは整数であり、mが負であるときは下方向にぶれていることを示す)画素分だけぶれている例においては、図3や図7に示したような画素の転送を、水平右方向にn画素分(nが負であるときには水平左方向に(−n)画素分)、垂直上方向にm画素分(mが負であるときには垂直下方向に(−m)画素分)だけ転送すれば良い。
また、上述したような画像の加算は、連続して撮影された2つの画像を加算する場合に限らず、連続して撮影された2以上の任意数の画像を加算する場合に適用できることは勿論である。このときには、(n+1)番目の画像が加算されるのは、1〜n番目までの画像が加算された画像(加算画像)となる。加えて、画像の加算を行う場合には、加算された画像に係る電荷が転送CCDからあふれることのないようにすることが望ましい。
続いて、図10は、固体撮像素子に設けられたフォトダイオードおよび電極の構成を示す図である。なお、この図10においては、電極同士を接続する配線の図示を省略している。
上述したように、撮像素子1には、複数の(実質的には、多数の)フォトダイオード(図10中、「PD」と記載している)32が、マトリクス状に配列されている。
1つの画素には、1つのフォトダイオード32と、水平転送CCD33を構成する4つの電極、すなわち、左から右へ向かって順にφH1,φH2,φH3,φH0と、垂直転送CCD34を構成する4つの電極、すなわち、上から下へ向かって順にφV0,φV1,φV2,φV3と、が含まれている。
なお、φV0〜φV3,φH0〜φH3は、後述するように電荷転送用の駆動パルスを示すものであるが、例えば「転送電極φV0」なる記載は、「駆動パルスφV0を印加する電極」を意味するものとする。
上述した各転送電極の内の、垂直転送電極φV2と水平転送電極φH2とはフォトダイオード32の電荷を読み出すための読み出し電極を兼ねたものとなっている。さらに、これらの垂直転送電極φV2と水平転送電極φH2とは、上述した電荷保持部を構成する電極となっている。すなわち、垂直転送電極φV2は、水平転送CCD33を構成する電極φH0,φH1,φH2,φH3の何れとも隣接していないために、φV1およびφV3をVL(例えば、−5[V])にした状態で、φV2をVM(例えば、0[V])にすれば、この垂直転送電極φV2下に加算後の電荷を保持したまま、水平転送CCD33による転送を行うことが可能である(垂直転送電極φV2下の電荷が、水平転送CCD33により転送される電荷と混合することはない)。同様に、水平転送電極φH2は、垂直転送CCD34を構成する電極φV0,φV1,φV2,φV3の何れとも隣接していないために、φH1およびφH3をVLにした状態で、φH2をVMとすれば、この水平転送電極φH2下に加算後の電荷を保持したまま、垂直転送CCD34による転送を行うことが可能である(水平転送電極φH2下の電荷が、垂直転送CCD34により転送される電荷と混合することはない)。このような電荷の混合を避ける機能を果たすために、撮像素子1は、1画素に対して、垂直方向転送用に4つの電極を配置するとともに、水平転送用に4つの電極を配置した構成としている。
また、垂直転送CCD34と水平転送CCD33とが交差する位置に配置された転送電極は、垂直転送電極φV0と水平転送電極φH0とを兼用したものとなっている。従って、同一の電極ではあるが、用途等に応じて、適宜、垂直転送電極φV0、水平転送電極φH0、あるいは転送電極φV0,φH0などと称することにする。この転送電極φV0,φH0は、電荷の垂直方向または水平方向への転送に用いられるだけでなく、電極φH2と電極φV2との何れか一方の電荷保持部に保持されている電荷と、フォトダイオード32から電極φH2と電極φV2との何れか他方へ新たに読み出された電荷と、を加算するための上記加算部として機能するようになっている。
なお、垂直転送電極φV0,φV1,φV2,φV3を含む垂直転送CCD34を垂直転送レジスタといい、水平転送電極φH0,φH1,φH2,φH3を含む水平転送CCD33を水平転送レジスタという。これら垂直転送レジスタと水平転送レジスタとは、共に、上述したように、電荷を保持(記憶)して転送する機能を備えている。
また、本実施形態においては、複数回の撮影による画素の電荷が加算されるために、画素の電荷が転送レジスタの蓄積容量を超えてあふれる可能性がある。以下では、これを防止するための構成について、図19および図20を参照して説明する。図19は撮像素子が縦型オーバーフロー構造であることを説明するための断面図、図20は時分割露光の回数に応じて逆バイアス電圧を変化させオーバーフローが発生する蓄積電荷量を制御する様子を示す図である。
フォトダイオードに強い光が入射すると、フォトダイオードからあふれた電荷が隣のフォトダイオードに流れ込むことがある。このブルーミングの現象を防止するために、従来から、様々な工夫が施されている。本実施形態においては、撮像素子1の内部で電荷を加算するために、例え、m(mは2以上の整数)回の時分割撮影におけるそれぞれの露光量を、通常撮影における露光量の1/mにしたとしても、各時分割画像を加算した画像の電荷は垂直転送CCDの転送容量をはるかに超えてしまう可能性がある。従って、加算した後の画像の電荷が垂直転送CCDの転送能力を超えないようにする必要がある。
このために、本実施形態においては、縦型オーバーフロー構造のCCDを採用している。これは、図19に示すように、n型基板(例えば、n型シリコン基板)の表面に作られたp型拡散領域(pウェル:p−well)の中にフォトダイオード(PD)を構成し、pウェルとn型基板との間の逆バイアス電圧VSUBにより、pウェルを完全に空乏化するようにしたものである。
図20に示すように、フォトダイオード(PD)から垂直転送CCDまたは水平転送CCDに読み出すためのゲートは、垂直転送電極φV2(または水平転送電極φH2)と共通になっている。そして、読み出しゲートの電位φVRGは、転送電極に低電圧(VL)または中電圧(VM)が印加されているときには、フォトダイオードの電位φVPDよりも所定電位だけ低くなっている。これに対して、転送電極に高い電圧(VH)のパルスを印加すると、読み出しゲートの電位φVRGがフォトダイオードの電位φVPDよりも高くなり、フォトダイオード内の信号電荷が垂直転送CCDまたは水平転送CCDへ読み出される。
このとき、垂直転送CCDまたは水平転送CCDは、転送することが可能な最大の電荷量である取扱い電荷量が限られているために、強い光が入射したときに過剰な電荷を排出する動作が必要になる。この過剰な信号電荷は、転送CCD側や他のフォトダイオード側へあふれる前に、縦方向(基板厚み方向)のn+pnの経路を通って基板中に吸収される。すなわち、オーバーフローが行われるpウェルの電位φVOFGは、読み出しゲートを兼ねる転送電極の電圧がVM(0[V])またはVL(−5[V])のときには、読み出しゲート電圧φVRGよりも高くなるように設定されている。これにより、蓄積時に過剰な電荷が垂直転送CCDまたは水平転送CCDに漏れるブルーミングの現象を抑制するようになっている。
さらに、本実施形態においては、上記pウェルとn型基板間の逆バイアス電圧VSUBを、時分割撮影の回数m(後述する図14のステップS21において算出する)に応じて通常撮影におけるときに比べて高い電圧(図20に示すような逆バイアス電圧VSUB’)に設定する(つまり、VSUB’はmに依存する)ことにより、オーバーフローが行われるpウェルの電位をφVOFG’(>φVOFG)として、通常撮影のときにフォトダイオードに蓄積される最大電荷量の1/mを超える過剰電荷を基板側に排出するようにしている。このようにすることにより、m回の時分割撮影による画像を加算しても、加算後の総電荷量を垂直転送CCDまたは水平転送CCDの取扱い電荷量以内に抑えることができる。
図11は、撮像時における固体撮像素子1の基本的な動作を示すタイミングチャートである。
この図11において、VSUBは、フォトダイオード32に蓄積された電荷を半導体基板(サブストレート)へ強制排出するための基板印加高電圧パルスである。また、φV0〜φV3は4相の垂直転送パルス、φH0〜φH3は4相の水平転送パルスである。
撮影動作を開始すると、所定のタイミングとなる時刻t01から露光(電荷蓄積)開始時刻t02までの間、VSUBに高電圧のパルスを印加すると同時に、φV0〜φV3に高周波の垂直転送パルスを、φH0〜φH3に高周波の水平転送パルスを、それぞれ印加する。すると、フォトダイオード32に蓄積されている電荷と、水平転送CCD33に残っている電荷と、垂直転送CCD34に残っている電荷と、が全て排出される。
その後、露光動作開始の信号を受けると、時刻t02のタイミングにおいてVSUBへの高電圧パルスの印加を停止することにより、受けた光の強度に応じた電荷がフォトダイオード32に蓄積される。このフォトダイオード32への電荷の蓄積は、時刻t02から時刻t03までの露光時間TExp において継続的に行われる。そして、この露光時間TExp をぶれが発生しないような時間間隔に時分割して、各時分割画像をぶれに応じて繰り返し転送し加算することにより、ぶれ補正が行われた露光時間TExp の1枚の画像データを得るようになっている。この露光時間TExp における撮像素子1の動作については、後で図12を参照してより詳しく説明する。
時刻t03において露光が終了すると、垂直転送CCD34に蓄積されているぶれの補正された画像が、上記垂直転送CCD34と、撮像領域から外部へ出力するための読出手段たる水平転送CCD42(図13)と、を介して、通常の読み出し速度で撮像素子1から読み出される。
図12は、フォトダイオードから画素電荷を読み出して固体撮像素子内で転送し加算するときに各電極に印加される信号の様子を示すタイミングチャートである。なお、ここでは、図10に示すような構成の撮像素子1により、図2〜図5を参照して説明したような動作を行うときの例について示している。また、電極φV0と電極φV1とは共通であるために、この図12においてはまとめて記載している。
今、時分割撮影による最初の露光終了時刻がt1であるとする。すると、この時刻t1に、電極φV2に読み出し用の高電圧(トランスファーパルス)VH(15[V])を印加する。このときには、他の電極、φV0,φV1,φV3,φH0〜φH3は、全て低電圧VL(−5[V])に設定されている。これにより、フォトダイオード32に蓄積された電荷は、垂直転送CCD34の電極φV2下にシフトされる。シフトが行われたら、電極φV2への印加電圧は中電圧VM(0[V])になり、読み出された電荷がこの電極φV2下において保持される(図2および図10参照)。この時刻t1以降、時刻t8を過ぎるまでは、電極φV2に隣接する電極φV1および電極φV3の電圧は低電圧VLのまま変化しないために、該電極φV2下において保持されている電荷が垂直転送CCD34内で転送されることはない。
電極φV2に印加される電圧が高電圧VH(15[V])から中電圧VM(0[V])に変化すると同時に、フォトダイオード32では次の撮影のための電荷の蓄積が開始される。すなわち、次の時分割撮影の開始である。
この2番目の時分割撮影による露光終了時刻がt2であるとする(すなわち、時刻t1から時刻t2までの時間が時分割露光の時間となる。)。すると、この時刻t2に、電極φH2に読み出し用の高電圧VH(15[V])を印加する。このときには、電極φV2が電荷保持用の中電圧VM(0[V])に設定され、その他の電極φV0,φV1,φV3,φH0,φH1,φH3は低電圧VL(−5[V])に設定されている。これにより、フォトダイオード32に蓄積された電荷は、水平転送CCD33の電極φH2下にシフトされる。シフトが行われたら、電極φH2への印加電圧は中電圧VMになり、読み出された電荷がこの電極φH2下において保持される(図3および図10参照)。
その後、時刻t3を過ぎたタイミングで、電極φH3に中電圧VMが印加される。これにより、電極φH2下において保持されていた電荷が、一部、電極φH3下へ転送され、電極φH2および電極φH3の両方の電極下に保持される。
次に、時刻t4を過ぎたタイミングで、電極φH2が低電圧VLに設定される。これにより、電極φH2および電極φH3の両方の電極下に保持されていた電荷は、全部、電極φH3下へ転送され、この電極φH3下に保持される。
電極φH2が低電圧VLに設定された直後に、電極φH0(電極φV0)が中電圧VMに設定される。これにより、電極φH3下に保持されていた電荷が、一部、電極φH0下へ転送され、電極φH3および電極φH0の両方の電極下に保持される。
その後、時刻t5を過ぎたタイミングで、電極φH3が低電圧VLに設定される。これにより、電極φH3および電極φH0の両方の電極下に保持されていた電荷は、全部、電極φH0下へ転送され、この電極φH0下に保持される。
電極φH3が低電圧VLに設定された直後に、電極φH1が中電圧VMに設定される。これにより、電極φH0下に保持されていた電荷が、一部、隣接する画素の電極φH1下へ転送され、電極φH0および電極φH1の両方の電極下に保持される。
時刻t6を過ぎたタイミングで、電極φH0が低電圧VLに設定される。これにより、電極φH0および電極φH1の両方の電極下に保持されていた電荷は、全部、電極φH1下へ転送され、この電極φH1下に保持される。
電極φH0が低電圧VLに設定された直後に、電極φH2が中電圧VMに設定される。これにより、電極φH1下に保持されていた電荷が、一部、電極φH2下へ転送され、電極φH1および電極φH2の両方の電極下に保持される。
その後、時刻t7を過ぎたタイミングで、電極φH1が低電圧VLに設定される。これにより、電極φH1および電極φH2の両方の電極下に保持されていた電荷は、全部、電極φH2下へ転送され、この電極φH2下に保持される。
このようにして、水平転送CCD33のある画素の電極φH2下に保持されていた電荷が、右に隣接する画素の電極φH2下まで、
電極φH2下 → 電極φH3下 → 電極φH0下 → 電極φH1下 → 電極φH2下
のように転送される。
この隣接する画素の電極φH2下の電荷は、時刻t13を過ぎるタイミングまで引き続き該電極φH2下に保持(記憶)される(図3参照)。
なお、ここでは、水平転送CCD33により電荷を1画素分右方向に転送するとき(図3参照)の動作について説明したが、より一般に、n(n≧1)画素分の転送を行うときには、上述したようなφH0〜φH3の信号をn回繰り返して与えれば良い。また、水平転送CCD33により電荷を左方向に転送することも可能である。このときには、上述とは時間反転させた信号を、各電極φH0〜φH3に与えれば良い。そして、左方向にn画素分の転送を行うときには、この時間反転させた信号をn回繰り返して各電極φH0〜φH3に与えることになる。
続いて、時刻t8を過ぎたタイミングで、電極φV1が中電圧VMに設定される。これにより、電極φV2下に保持されていた電荷が、一部、電極φV1下へ転送され、電極φV2および電極φV1の両方の電極下に保持される。
その後、時刻t9を過ぎたタイミングで、電極φV2が低電圧VLに設定される。これにより、電極φV2および電極φV1の両方の電極下に保持されていた電荷は、全部、電極φV1下へ転送され、この電極φV1下に保持される。
電極φV2が低電圧VLに設定された直後に、電極φV0(電極φH0)が中電圧VMに設定される。これにより、電極φV1下に保持されていた電荷が、一部、電極φV0下へ転送され、電極φV1および電極φV0の両方の電極下に保持される。
次に、時刻t10を過ぎたタイミングで、電極φV1が低電圧VLに設定される。これにより、電極φV1および電極φV0の両方の電極下に保持されていた電荷は、全部、電極φV0下へ転送され、この電極φV0下に保持される。
電極φV1が低電圧VLに設定された直後に、電極φV3が中電圧VMに設定される。これにより、電極φV0下に保持されていた電荷が、一部、電極φV3下へ転送され、電極φV0および電極φV3の両方の電極下に保持される。
時刻t11を過ぎたタイミングで、電極φV0が低電圧VLに設定される。これにより、電極φV0および電極φV3の両方の電極下に保持されていた電荷は、全部、電極φV3下へ転送され、この電極φV3下に保持される。
電極φV0が低電圧VLに設定された直後に、電極φV2が中電圧VMに設定される。これにより、電極φV3下に保持されていた電荷が、一部、電極φV2下へ転送され、電極φV3および電極φV2の両方の電極下に保持される。
その後、時刻t12を過ぎたタイミングで、電極φV3が低電圧VLに設定される。これにより、電極φV3および電極φV2の両方の電極下に保持されていた電荷は、全部、電極φV2下へ転送され、この電極φV2下に保持される。
このようにして、垂直転送CCD34のある画素の電極φV2下に保持されていた電荷が、上に隣接する画素の電極φV2下まで、
電極φV2下 → 電極φV1下 → 電極φV0下 → 電極φV3下 → 電極φV2下
のように転送される。
この隣接する画素の電極φV2下の電荷は、時刻t13を過ぎるタイミングまで引き続き該電極φV2下に保持(記憶)される(図3参照)。
なお、ここでは、垂直転送CCD34により電荷を1画素分上方向に転送するとき(図3参照)の動作について説明したが、より一般に、n(n≧1)画素分の転送を行うときには、上述したようなφV0〜φV3の信号をn回繰り返して与えれば良い。また、垂直転送CCD34により電荷を下方向に転送することも可能である。このときには、上述とは時間反転させた信号を、各電極φV0〜φV3に与えれば良い。そして、下方向にn画素分の転送を行うときには、この時間反転させた信号をn回繰り返して各電極φV0〜φV3に与えることになる。
時刻t12を過ぎたタイミングにおいて、電極φV3が低電圧VLに設定された直後に、電極φV1が中電圧VMに設定される。これにより、電極φV2下に保持されていた電荷が、一部、電極φV1下へ転送され、電極φV2および電極φV1の両方の電極下に保持される。
これと同時に、電極φH3が中電圧VMに設定される。これにより、電極φH2下に保持されていた電荷が、一部、電極φVH3下へ転送され、電極φH2および電極φH3の両方の電極下に保持される。
時刻t13を過ぎたタイミングにおいて、電極φV2が低電圧VLに設定される。これにより、電極φV2および電極φV1の両方の電極下に保持されていた電荷は、全部、電極φV1下へ転送され、この電極φV1下に保持される。
これと同時に、電極φH2が低電圧VLに設定される。これにより、電極φH2および電極φH3の両方の電極下に保持されていた電荷は、全部、電極φH3下へ転送され、この電極φH3下に保持される。
電極φV2が低電圧VLに設定され、かつ電極φH2が低電圧VLに設定された直後に、電極φV0,φH0が中電圧VMに設定される。これにより、電極φV1下に保持されていた電荷が、一部、電極φV0,φH0下および電極φH3下へ転送されると共に、電極φH3下に保持されていた電荷が、一部、電極φV0,φH0下および電極φV1下へ転送される。従って、この時点で、電荷の混合(加算)が生じることになる(図4参照)。
その後、時刻t14を過ぎたタイミングにおいて、電極φH3が低電圧VLに設定される。これにより、電極φH3、電極φV0,φH0、および電極φV1の各電極下に保持されていた電荷は、電極φV0,φH0および電極φV1の両電極下にのみ保持される。
続いて、時刻t15を過ぎたタイミングにおいて、電極φV0,φH0が低電圧VLに設定される。これにより、電極φV0,φH0および電極φV1の両方の電極下に保持されていた電荷が、全部、電極φV1下へ転送され、この電極φV1下に保持される。
電極φV0,φH0が低電圧VLに設定された直後に、電極φV2が中電圧VMに設定される。これにより、電極φV1下に保持されていた電荷が、一部、電極φV2下へ転送され、電極φV1および電極φV2の両方の電極下に保持される。
時刻t16を過ぎたタイミングにおいて、電極φV1が低電圧に設定される。これにより、電極φV1および電極φV2の両方の電極下に保持されていた電荷が、全部、電極φV2下へ転送され、この電極φV2下に保持される。
このように上記時刻t13を過ぎたタイミングで加算された電荷を、同一画素内の電極φV2下に転送して記憶することにより、この記憶した画像と次回の時分割露光による画像との加算を、同様のシーケンスで行うことができる。こうして、複数回の撮影による画像のぶれを補正しながら加算して、最終的にぶれのない(「ぶれのない」とは、ぶれが実質的に無視し得る程度以下であることを意味している。)露光時間TExp の画像を得ることができる。
図13は、固体撮像素子全体の構成を模式化して示す図である。なお、実用的な固体撮像素子1は例えば数十万〜数百万画素以上の画素数を備えているが、全部を図示することは不可能であるために、この図13においては、これよりも画素数を少なくする模式化を行っている。
撮像領域41は、図2〜図5、あるいは図6〜図9、もしくは図10に示したような、フォトダイオード32と、水平転送CCD33と、垂直転送CCD34と、を含んでいる。
上記撮像領域41の上記垂直転送CCD34が突き当たる水平方向位置には、水平転送CCD42が配設されている。この水平転送CCD42は、撮像領域41の垂直転送CCD34において加算された画像を、図11の時刻t03から時刻t04の間に、通常のCCD撮像素子(つまり、例えば、上述したような水平転送CCD33を備えていないCCD撮像素子)と同様に、外部へ読み出すためのものである。なお、この水平転送CCD42には、上述した水平転送CCD33とは異なる水平転送パルスφH4,φH5が印加され、画素電荷の転送を行うようになっている。
上記水平転送CCD42の出力側には、該水平転送CCD42から転送されたアナログ信号を増幅するためのアンプ43が配設されている。こうして、撮像素子1からは、アンプ43により増幅された信号が出力されるようになっている。
続いて、図14は、電子カメラにより画像を撮像して記録するときの処理を示すフローチャートである。
電子カメラの電源が投入される(例えば、電池が交換されるなど)か、または、図示しない動作開始スイッチ(例えば、電源スイッチ)が操作されると、この電子カメラの動作がスタートする。
処理を開始すると、所定の初期値設定等を行った後に、まず、撮影者のレリーズ操作によって第1レリーズスイッチ18aが閉じた状態になったか否かを判定する(ステップS1)。
ここで、第1レリーズスイッチ18aが閉じていない場合には、J1に分岐して、第1レリーズスイッチ18aの検出を同様に繰り返して行う。ただし、実際には、J1とステップS1との間に、表示を行ったり、その他の図示しないキー入力の状態を検出したりする動作等を行うが、こうした一般的な動作については以下においても適宜説明を省略することにする。
ステップS1において第1レリーズスイッチ18aが閉じたことが検出された場合には、次に、測光を行う(ステップS2)。この測光は、撮像素子1から繰り返し出力される画像信号のレベルをモニタして、適正露光を得るための絞り値やシャッタ速度値を演算するものである。すなわち、撮像素子1から読み出された画像信号は、CDS2により処理された後にA/D変換器4によりデジタル値に変換され、情報処理部8を経てDRAM9に一時的に記憶される。このDRAM9に記憶された画像信号の内、画像全体の中の例えば中央部付近の所定領域の画像信号がCPU7により読み出されて、そのレベルの加算平均値が求められる。さらにCPU7は、求めた加算平均値に基づいて、適正露光を得るために必要なシャッタ速度値や絞り値を計算する処理を行う。
続いて、上述したように求められた、適正露光を得るために必要な露光時間(シャッタ速度)TExp が、所定時間TLongよりも長時間であるか否かを判定する(ステップS3)。ここで、露光時間(シャッタ速度)TExp が所定時間TLongよりも長時間であると判定された場合は、CPU7は、絞り駆動系16を介して絞り17の開口を大きくするように制御し、撮像素子1に入射する光の量を増加させる(ステップS4)。これは、後述するような、ぶれが発生しない所定のぶれ限界露光時間TLimit で複数回の露光を行う場合のS/Nを改善するためのものである。つまり、被写体の明るさが暗いと、上記ぶれ限界露光時間TLimit では十分な画像信号が得られずS/Nが悪くなる可能性があるために、これを防止するべく、光量を増やすようにしたものである。ここに、TLongとしてどの程度の時間的長さを設定すれば良いかは、信号の固定パターンノイズの大きさ等に依存するが、例えば、ぶれ限界露光時間TLimit を基準としてその整数倍(例えば、5〜10倍)を目安に設定することが考えられる。なお、この絞り17の開口の制御は、例えば、電子カメラが自動露出モードに設定されているときに行うと想定される。従って、電子カメラが、例えば、絞り優先モードやシャッタ速度優先モード、あるいはマニュアル露出モードに設定されている場合には、上記ステップS3から後述するステップS5までの処理をスキップするようにしても構わない。
そして、ステップS2における測光値と、ステップS4で再設定した絞り値と、に基づいて、改めて露光時間TExp を演算する(ステップS5)。
また、ステップS3において露光時間TExp が所定時間TLong以下である(つまり、TLongで規定されるシャッタ速度以上に高速である)ときには、J2に分岐して、ステップS2で求めたシャッタ速度そのものを露光時間TExp とする。
こうして、ステップS5の処理が終了するか、またはステップS3からJ2に分岐した場合には、第2レリーズスイッチ18bが閉じているか否かを検出する(ステップS6)。ここで、第2レリーズスイッチ18bが閉じていない場合には、第1レリーズスイッチ18aが閉じている限り、この第2レリーズスイッチ18bが閉じるのを待機する。
こうして、第2レリーズスイッチ18bが閉じたことが検出された場合には、後述するぶれ限界露光時間TLimit による露光を行った回数nを記憶するメモリ〔n〕に、初期値“0”を記憶する(ステップS7)。ここに、〔n〕は、括弧内の変数nを記憶するメモリを意味している。
次に、露光開始からのぶれ量が許容限界のぶれ量に達するぶれ限界露光時間TLimit を演算する(ステップS8)。ここに、35ミリフィルムカメラにおける縦24mm×横36mm(対角 43.28mm)のいわゆるライカ版フレーム(別称:ダブルフレーム)カメラに関する長年の経験則として、ミリメートル単位の撮影レンズの焦点距離をfとしたときに、ぶれ限界露光時間TLimit が、TLimit ≒1/f(秒)になるということが知られている。本実施形態においては、この経験則を、電子カメラの撮像素子の有効撮像エリア内に設定した撮影画枠の大きさを考慮の上、応用することにする。以下の説明においては、単位mmについての記載を適宜省略して、数値のみを表記することにする。
電子カメラにおける被写体撮像範囲(撮影画角)は、撮影レンズの焦点距離に反比例し、かつフレームの大きさに比例するために、フレームに対する相対的な像倍率は、焦点距離に比例し、かつフレームの大きさに反比例する。従って、(フレームに対する相対的な)像ぶれもフレームの大きさに反比例する。そこで、上記経験則に対してフレームの大きさ比率に応じた換算係数を乗じて、これを適用すれば良いことになる。この場合、アスペクト比の違いを考慮する必要があるが、本実施の形態に係る電子カメラにおいては、対角線換算を用いることにする。
撮影画枠の対角長をd[mm]とすると、TLimit は次の数式1により表される。
[数1]
この数式1からも明らかなように、このぶれ限界露光時間TLimit は、電子カメラの撮影レンズ15が単焦点距離の撮影レンズである場合は該焦点距離に応じた1つの値のみを適用すれば良いが、撮影レンズ15がズームレンズである場合には、焦点距離に応じた異なる値を適用する必要がある。
なお、ぶれ限界露光時間TLimit は、必ずしも、数式1で与えられる値を用いる必要はなく、要するに、ぶれが実質的に発生することのないような露光時間を用いれば良い。従って、ぶれ限界露光時間TLimit は、概略、数式1により与えられる露光時間よりも短い時間であれば構わない。
そして、露光の回数mを演算する(ステップS21)。ここに、露光の回数mは、TExp /TLimit の小数点以下を四捨五入することにより整数値として求めるようになっている。
次に、露光を開始する(ステップS9)。撮像素子1には、露光開始直前から、フォトダイオード32に蓄積された電荷を半導体基板(サブストレート=縦形オーバーフロードレインVOFD)へ強制排出するための基板印加高電圧パルスVSUBが図11に示したように繰り返し印加されており、このVSUBパルスの印加が終了した時点が、この露光開始の時点となる。
ここで、上述したように、VSUBの値をステップS21で算出したmに応じた値(図20に示したようなVSUB’)に設定して、フォトダイオードに蓄積する過剰な電荷を基板側に排出することにより、電荷を加算した後の垂直転送CCDまたは水平転送CCDの電荷があふれないようにする。
続いて、ステップS5(あるいは、J2への分岐が行われた場合にはステップS2)で求めた露光時間TExp と、ステップS8で求めたぶれ限界露光時間TLimit にステップS7で初期値が設定されその後適宜インクリメントされるnを積算したものn・TLimit と、の差(以下この差を「未露光時間」とよぶ。)を求めて、この未露光時間がぶれ限界露光時間TLimit よりも長いか否かを判定する(ステップS10)。
ここで、未露光時間がぶれ限界露光時間TLimit よりも長い場合には、ぶれ限界露光時間TLimit だけの露光が終了するのを待機する(すなわち、露光が終了するまではJ4へ分岐する)(ステップS11)。
ステップS11において、ぶれ限界露光時間TLimit だけの露光が終了したと判定された場合には、このぶれ限界露光時間TLimit だけフォトダイオード32に蓄積された電荷を、例えば水平転送CCD33へ読み出し、図2〜図5(あるいは図6〜図9)に示したように、撮像素子1の内部でぶれ量分の補正を行った後に画素電荷の合成を行って、合成後の電荷を電荷保持部へ退避させる(ステップS12)。このステップS12における画素値合成の処理については、後で図18を参照して、より詳しく説明する。
このステップS12の処理を行った後は、J3へ分岐して、上述したステップS10の処理を繰り返して行う。
こうして、ぶれ限界露光時間TLimit による露光を連続してn回行った後に、ステップS10において、上述した未露光時間がぶれ限界露光時間TLimit 以下になったと判定された場合には、ぶれ限界露光時間TLimit 以下になった残りの未露光時間の露光が終了するのを待機する(すなわち、露光が終了するまではJ5へ分岐する)(ステップS13)。
ここで、残りの未露光時間の露光が終了したと判定された場合には、ステップS12と同様の画素値合成の処理を行うことにより、ぶれが補正された画像の各画素値を生成する(ステップS14)。
次に、撮像素子1からぶれが補正された画像信号を読み出して(ステップS15)、CDS2により処理を行い、ゲインコントロールアンプ(AMP)3により増幅した後に、A/D変換器4によりデジタル信号に変換する(ステップS16)。
続いて、画像信号をデジタル化して得られた画像データに、情報処理部8により所定の信号処理を施す(ステップS17)。
さらに、信号処理された画像データを、DRAM9に一時的に記憶する(ステップS18)。
その後、圧縮伸張部10によりDRAM9に記憶された画像データを画像圧縮し(ステップS19)、圧縮した画像データを記録媒体11に記録して(ステップS20)、この処理を終了する。
なお、画像データに後述するようなぶれ補正量SxとSy0とを付属情報として付加し、この付加情報を伴う画像データを記録媒体11に記録するようにしても良い。例えば、画像のぶれがX正方向にΔx、かつY負方向にΔyであるとするとき、画像データのX負方向の端面からΔxの範囲、およびY正方向の端面からΔyの範囲は、正常に時分割画像が加算されていないために、付加情報に基づいてこの部分を除去することにより表示や印刷を行うことが可能になる。もちろん、図14のステップS17の信号処理において、ぶれ補正量SxとSy0とに基づいて、情報処理部8により不要な画像部分を除去するようにしても構わない。
次に、電子カメラにおけるぶれ量の検出について詳細に説明する。図15は、電子カメラに設定した座標軸と2つの角速度センサの配置とを示す図である。
この図15において、ある時刻における、撮影レンズ15の光軸Oに沿った被写体側をZ軸の正方向、Z軸に垂直な撮像面内における電子カメラの左右方向の被写体側から電子カメラを見て右側をX軸の正方向、Z軸とX軸との交点を通りZ軸およびX軸に直交する電子カメラの上方向をY軸の正方向、とするように、X軸,Y軸,Z軸を設定するものとする。そして、これらX軸,Y軸,Z軸周りの回転角を、それぞれθx ,θy ,θz とする。なお、上述したある時刻においては、撮影レンズ15の光軸OとZ軸とは一致しているが、別の時刻においてぶれが発生している場合には、撮影レンズ15の光軸Oは一般にZ軸とは一致しない。
この電子カメラのカメラ本体51には、上述したように、角速度センサ19と角速度センサ20とが設けられている。
角速度センサ19は、X軸回りの回転角θx の単位時間当たりの変化量である角速度を検出するためのものである。
角速度センサ20は、Y軸回りの回転角θy の単位時間当たりの変化量である角速度を検出するためのものである。
これら2つの角速度センサ19,20は、図15に示すように、電子カメラにおける上述したX軸,Y軸,Z軸に関連した配置となるように設けられている。
これら2つの角速度センサ19,20から各出力される検出信号は、それぞれA/D変換器21,22によりデジタルデータに変換されて、CPU7に入力される。
このCPU7は、撮影レンズ15から、焦点距離fに関する情報を取得する(例えば、撮影レンズ15が電動ズームである場合には、レンズ駆動系14を介して情報の取得を行い、あるいは、撮影レンズ15が交換式のレンズ鏡筒である場合には通信接点等を介して情報の取得を行う)。
また、CPU7は、距離検出部23から被写体距離情報を取得する。
これら、焦点距離fの情報と、被写体距離情報とは、後述するように、X方向のぶれ量の演算、およびY方向のぶれ量の演算に用いられる。
次に、図16を参照して、ぶれ量とぶれ補正量との関係について説明する。図16は、カメラ本体51が回転角θx だけぶれた場合の、撮像面上における被写体63の像の移動状態を示す図である。
電子カメラがぶれ等によって回転角θx だけ回転したとすると、撮影レンズ15が、符号15’に示す位置まで回転して移動するとともに、撮像素子1の撮像面61も角度θx だけ傾いたC−D面の位置に回転する。
また、ぶれが発生していないときには符号62に示す中心位置あった被写体63の像が、回転角θx のぶれが発生した後には、撮像面C−D上の符号62’に示す位置に移動する。
ここで、撮影レンズ15の焦点距離をf、ぶれが発生していないときの撮影レンズ15の物空間焦点から被写体63までの距離をL、ぶれが発生していないときの撮影レンズ15の像空間焦点から像位置までの距離をL’、ぶれによる像位置の移動量をΔY、とそれぞれすると、図16に示すような幾何学的位置関係と、次の数式2に示すニュートン(Newton)の結像公式
[数2]
と、を用いることにより、上記移動量ΔYは、次の数式3に示すように算出される。
[数3]
ここに、βは撮影倍率を示し、f/Lである。また、数式3を算出するに当たっては、θx が微小量であるとして、θx の1次のオーダーまでの近似を行っている。
この数式3における値fは、上述したように、レンズ情報としてCPU7に入力される。また、βを算出するために必要な距離Lは、図1に示したような距離検出部23からの情報に基づき算出することができる。さらに、数式3における角度θx は、上述したような角速度センサ19からの出力に基いて、算出することができる。
こうして、数式3に基づいて得られる移動量ΔYに係る実質的な補正を行うことにより、電子カメラにぶれが発生したとしても、撮像素子1から出力される画像信号に係る画像にはぶれの影響が生じないようにすることができる。
なお、上述したように、角度θx は微小量であるために、図16に示すように撮像面C−DがX軸周りにY軸に対して角度θx だけ傾いても、撮像面の傾きにより生じる像への影響は、上述した移動量ΔY以外には問題になることはない。
また、Y軸回りに回転角θy だけぶれが発生したときの像位置の移動量ΔXも、上記数式1と同様に、次の数式4に示すように求められる。
[数4]
上述した数式3の両辺を時間で微分することにより、次の数式5が得られる。
[数5]
この数式5において、右辺におけるd(θx )/dtは、X軸周りの角速度そのものであるために、角速度センサ19の出力をそのまま用いることが可能である。また、数式5の左辺におけるd(ΔY)/dtは、d(θx )/dtの角速度が生じた場合のY軸方向の像移動速度Vy となる。
同様に、Y軸回りに回転角θy だけぶれが発生したときのX軸方向の像位置の移動量ΔXに関しても、数式4の両辺を時間で微分することにより、次の数式6が得られる。
[数6]
この数式6において、右辺におけるd(θy )/dtは、Y軸周りの角速度そのものであるために、角速度センサ20の出力をそのまま用いることが可能である。また、数式6の左辺におけるd(ΔX)/dtは、d(θy )/dtの角速度が生じた場合のX軸方向の像移動速度Vx となる。
今、所定時間ΔT(なお、このΔTは、A/D変換器21,22が角速度センサ19,20の出力をデジタル信号に変換するサンプリング間隔であって、ぶれ限界露光時間TLimit と同じか、またはそれよりも短い時間であることが望ましい。)周期で検出した角速度センサ19の出力d(θx )/dtが、ωx1,ωx2,ωx3,…,ωx(n-1),ωxnであったとすると、n×ΔTの時間が経過した後のY軸方向の像位置の移動量ΔYは、次の数式7に示すように与えられる。
[数7]
同様に、所定時間ΔT毎に(所定時間ΔT周期で)検出した角速度センサ20の出力d(θy )/dtが、ωy1,ωy2,ωy3,…,ωy(n-1),ωynであったとすると、n×ΔTの時間が経過した後のX軸方向の像位置の移動量ΔXは、次の数式8に示すように与えられる。
[数8]
撮像素子1により、n×ΔTの時間間隔で露光された2つの画像のぶれ量は、数式7および数式8により計算することができる。従って、これらの数式により算出された移動量(ぶれ量)ΔX,ΔYに基いて、2つの画像のぶれを補正するような画素電荷の移動を行ってから加算することにより、ぶれのない画像を生成することが可能となる。
図17は、CPU7により移動量ΔX,ΔYを算出する処理の流れを示すフローチャートである。この処理は、第2レリーズスイッチ18bが閉じたときから露光が終了するまでの間、図14に示した処理や後述する図18に示す処理とは独立なプロセスとして実行されるようになっている。
すなわち、この処理を開始すると、まず、第2レリーズスイッチ18bが閉じるのを待機する(すなわち、第2レリーズスイッチ18bが閉じるまではJ31へ分岐する)(ステップS31)。
そして、第2レリーズスイッチ18bが閉じたことが検出された場合には、次に、撮影レンズ15の焦点距離fと、被写体距離Lと、を入力する(ステップS32)。これらの焦点距離fと被写体距離Lとは、図17に示すような処理の中において演算するようにしても良いが、より高速なサイクルでぶれ量を演算するために、焦点距離fと被写体距離Lとは別途のプロセッサ等を用いて演算し、CPU7はこの演算されたデータをステップS32において入力するようにすると良い。これにより、処理の高速化を図ると共に、リアルタイムへの高い追従性を図ることが可能となる。
次に、CPU7は、A/D変換器21,22を各介して角速度センサ19,20の出力を読み込むことにより、角速度ωx ,ωy を入力する(ステップS33)。
そして、入力した角速度ωx ,ωy を、前回検出した値までの累積加算値に加算することにより、今回検出した値までの累積加算値Σωx ,Σωy を演算する(ステップS34)。
このステップS34で演算した累積加算値Σωx ,Σωy を上述した数式7,数式8に代入することにより、像位置の移動量ΔY,ΔXをそれぞれ算出する(ステップS35)。
次に、Px=「ΔX/Lx」と、Py=「ΔY/Ly」と、を演算する(ステップS36)。なお、Lx,Lyは1画素のX方向、Y方向のサイズをそれぞれ表し(図2参照)、「」は小数以下を四捨五入した整数値を意味するものとする。従って、Px,Pyは、CPU7が角速度ωy ,ωx の入力を開始してからの、像位置の移動量ΔX,ΔYを画素数単位で表したものである。
そして、上記Px,Pyを、各対応するメモリ〔Px〕,〔Py〕にそれぞれ記憶する(ステップS37)。なお、記号〔〕は、括弧内のデータを記憶するメモリを示している。
ここに、ステップS35〜S37の処理は、上述したサンプリング間隔であるΔT毎に毎回行う必要はない。つまり、ΔT間隔でステップS33およびステップS34の処理を行い、TLimit の時間が経過する毎に、ステップS35〜S37の処理を行うようにしても構わない。
その後、露光時間TExp の露光が終了しているか否かを判定し(ステップS38)、露光が終了していない場合にはJ32へ分岐して、ステップS33から上述と同様の処理を繰り返して行う。
一方、ステップS38において露光が終了していると判定された場合には、この処理を終了する。
次に、図18は、画素値合成の処理を示すフローチャートである。
この図18に示す画素値合成の処理は、上述したように、ステップS12やステップS14において実行されるサブルーチンとなっている。
この処理を開始すると、ぶれ限界露光時間TLimit による露光を行った回数nが0であるか否かを判定する(ステップS41)。
ここで、nが0である場合には、nに1を加えた値をメモリ〔n〕に記憶する(ステップS42)。
次に、垂直転送電極φV2にVH(15V)のトランスファーパルス(図12参照)を印加することにより、撮像素子1の各画素(より詳しくは、各フォトダイオード32)の電荷を垂直転送CCD34に読み出す(ステップS43)。このステップS43の次に示した点線の矢印は、図14のJ3に分岐して、フォトダイオード32に蓄積された電荷の読み出し完了と同時に次の露光が自動的にスタートすることを意味している。
続いて、上記Py,Pxをメモリ〔Py0〕,〔Px0〕にそれぞれ記憶し、これらの値をそれぞれ新たなPy0,Px0とする(ステップS44)。これらPy0,Px0は、CPU7が角速度ωx ,ωy の入力を開始してから、フォトダイオード32により最初の露光を開始した直後までの、画素数単位で表したぶれ量Py,Px(図17のステップS37においてメモリ〔Px〕,〔Py〕にそれぞれ記憶した値)であり、つまり、露光開始時のオフセット量である。
そして、複数回の露光動作における最後の(前回の)時分割露光までの、Y方向のぶれ補正量の累積加算値を記憶するメモリ〔Sy0〕に0を記憶する(ステップS45)。
一方、ステップS41においてn=0でない場合には、次に、nに1を加えた値をメモリ〔n〕に記憶する(ステップS46)。
次に、画素の電荷を水平転送CCD33に読み出す(ステップS47)。このステップS47の次に示した点線の矢印は、図14のJ3に分岐して、フォトダイオード32に蓄積された電荷の読み出し完了と同時に次の露光が自動的にスタートすることを意味している。
続いて、ステップS47で読み出した画像を、−Sx(=−(Px−Px0))の画素数だけ水平(X)方向へ転送する(図3参照)(ステップS48)。ここで(Px−Px0)は最初の露光開始直後からの(つまり、オフセット分を取り除いた)X方向のぶれ量である。また、転送画素数を示す式にマイナスの記号を付したのは、ぶれと反対方向へ画素電荷を移動することにより、新たな読み出し画素電荷を、それまでの加算された画素電荷側へ接近させるためである(図3等参照)。
さらに、前回までの加算画像を、Sy(=(Py−Py0)−Sy0)の画素数だけ垂直(Y)方向へ転送する(図3参照)(ステップS49)。ここで(Py−Py0)は最初の露光開始直後からの(つまり、オフセット分を取り除いた)Y方向のぶれ量であり、Sy0は最初の露光開始直後から前回の時分割露光までに行われたY方向のぶれ補正量(累積ぶれ補正量)である。従って、このステップS49においては、最初の露光開始直後からの今回の時分割露光までのY方向のぶれ量と、前回の時分割露光までに実際に補正したぶれ量と、の差分をとったものを、今回の時分割露光に係る補正量としていることになる。このような手段を用いることにより、前後に連続する2回の露光動作の内の、前の画像のぶれ量を基準にして後の画像のぶれ量を求めて補正するのに比して、演算誤差が累積するのを防止することができる。上述したように、ステップS36の演算においては、画素数単位への四捨五入を行っているために、このステップS49に示したような処理を採用することは有効である。
なお、ここで説明している処理においては、最初の時分割露光に係る画像、そして、この画像に順次加算される加算画像は、原則的に、同一の垂直転送CCD34から移動することがない(水平転送CCD33に移動することがなく、他の垂直転送CCD34に移動することもない)ために、上述したステップS48においては、ステップS49で説明したようなSy0に相当する前回分までの累積ぶれ補正量(例えば、Sx0)を算出する必要がない。
これらステップS48,S49の処理は、1画素分の整数倍のずれを補正して2つの画像を加算する処理である。しかし、単板式のカラー撮像素子、つまり撮像面の前面にモザイク状のカラーフィルタを配置した撮像素子の場合には、さらに、色信号の混合が発生しないように工夫しなければならない。例えば、ベイヤー配列のカラーフィルタでは、2×2のカラーフィルタを単位とするモザイク状フィルタが繰り返し配列されているために、奇数画素分のぶれを補正して加算すると異なる色の信号が加算されてしまい、正常な色を再現することができなくなる。従って、このような課題を解決するためには、カラーフィルタの水平方向の最小繰り返し周期および垂直方向の最小繰り返し周期(ベイヤー配列の場合はそれぞれ2画素)を最小単位として、ぶれを補正するようにすれば良い。今、ベイヤー配列を例にとると、垂直方向のぶれ補正量を2・「Sy/2」、水平方向のぶれ補正量を2・「Sx/2」、とそれぞれすれば良い。ここに、Sx,Syは、上述したステップS48,S49において求めた値である。
次に、垂直転送CCD34に記憶した画像と、水平転送CCD33に記憶した画像と、を転送電極φH0(または転送電極φV0)下(つまり、水平転送CCD33と垂直転送CCD34とが交差する位置)に転送することにより、2つの画像を加算する(ステップS50)。
続いて、加算した電荷を、同一画素内の電荷保持部である垂直転送電極φV2下に転送して記憶する(ステップS51)。このようにするのは、上述したように、転送電極φV0は水平転送電極φH0と兼用しているために、加算した電荷が水平転送CCD33内の電荷と干渉することのないようにするためである。
そして、上記転送量Syと前回の転送量Sy0とを加算してメモリ〔Sy0〕に記憶することにより上記加算した値を新たにSy0とする(ステップS52)。これにより、メモリ〔Sy0〕には、最後の(前回の)時分割露光までのY方向の転送量の累積加算値が記憶されることになる。
このステップS52、または上述したステップS45の処理を終えたところで、この画素値合成のサブルーチンから図14に示したメインルーチンの分岐J3または分岐J5へリターンする。
なお、図18に示したステップS43においては、1回目の時分割露光に係る画素の電荷を垂直転送CCD34に読み出すようにしているが、これに代えて、画素の電荷を水平転送CCD33にまず読み出して、その後に、この読み出した電荷を同一画素内の垂直転送CCD34の垂直転送電極φV2下へ転送して一時的に記憶するようにしても構わない。このような処理を行うようにしても、2回目の時分割露光以降は、上述したのと同一の動作を行うことができる。従って、図10に示した構成においては、フォトダイオード32の電荷を読み出し可能な電極としてφH2およびφV2の2つが設けられていたが、これに限るものではなく、φH2またはφV2の何れか一方の電極のみがフォトダイオード32の電荷を読み出し可能な電極となるように構成されていても構わない。
また、図18に示した例では、2つの画像の内の前回撮影した画像を垂直転送CCD34に記憶し、今回撮影した画像を水平転送CCD33に記憶して相互に所定量ずらすことにより加算して、ぶれのない画像を生成するようにしたが、水平転送CCD33と垂直転送CCD34との役割を入れ替えて、2つの画像の内の前回撮影した画像を水平転送CCD33に記憶し、今回撮影した画像を垂直転送CCD34に記憶するようにしても勿論構わない。
加えて、撮像素子1のぶれ補正を行う撮像領域の内、最も端(両端)に位置する行および列の転送電極下の電荷は、それよりもさらに端面方向への電荷の転送を行うことができないために、ぶれ補正のために転送された電荷がこの電極下に滞り、画像情報が正しく記憶されない。従って、このレジスタの画像信号は、読み出した後に無効として、表示や記録の対象としないようになっている。
さらに、上述した撮像素子1は、図10の構成からもわかるように、フォトダイオード32毎に垂直転送電極と水平転送電極とを有しているために、フォトダイオード32の占める面積が狭くなって感度が低下することが考えられる。この点を改善するために、撮像素子として、公知の光導電膜積層型の撮像素子を用いるようにすると良い。この光導電膜積層型の撮像素子は、光電変換機能と走査−読み出し機能とをそれぞれ別の平面で行うことができるようにした三次元構造をもつ撮像素子であり、通常のIC技術で走査部だけを集積したシリコン(Si)基板上に、均質な光導電膜を積層し、そこで光電変換を行わせるものである。このような構成を採用すれば、フォトダイオードの感度を高めることが可能となる。
そして、上述では、1枚の画像に係る全露光時間を、TLimit 単位で時分割して各時分割露光を行い、最後の時分割露光のみ、TLimit 以下の部分露光時間で露光を行うようにしていて、つまり、基本的には部分露光がTLimit の等時間間隔となるようにしているが、これに限るものではなく、ぶれが許容できるような部分露光時間であれば、非均一な時間間隔に時分割しても構わない。例えば、角速度センサにより大きな角速度が検出される場合には、部分露光時間をより短くするようにしても構わない。このように、適応的に部分露光時間を変更すると、時分割画像におけるぶれの発生をより精度良く抑制することが可能となる。
なお、上述したような電子的ぶれ補正装置の技術は、静止画像を撮影する際のぶれ補正に特に適しているが、動画像の1フレームを撮影する際のぶれ補正にも勿論適用することが可能である。従って、この電子的ぶれ補正装置の技術は、デジタルスチルカメラやアナログスチルカメラに適用し得るだけでなく、デジタルビデオカメラやアナログビデオカメラにも適用することが可能であり、これらに限らず、固体撮像素子を用いて画像を撮影する装置に広く適用することが可能である。
さらに、上述では、2次元の撮像素子を例に挙げて、ぶれ補正を行う技術を説明したが、例えば1次元の撮像素子(ラインセンサ等)を用いるスキャナ(特に、ハンディスキャナなど)、コピー機、ファクシミリ等においても、上述と同様の技術を適用してぶれ補正を行うことが可能である。ただし、このときには、センサの配列方向に沿った転送CCDが1つあれば足りる。
また、上述した技術は、略同一時刻に撮像された複数の画像を加算するものであるために、該技術を、ぶれ補正以外の他の用途に応用することも考えられる。例えば、フォトダイオードに蓄積可能な電荷量よりも垂直点転送CCDや水平転送CCDに蓄積可能な電荷量の方が多い場合には、よりダイナミックレンジの広い画像を生成する技術として用いることも可能となる。
このような実施形態1によれば、電子カメラにぶれが発生し得るときには、そのぶれ量に応じて露光時間を時分割し、時分割して得られた複数の画像信号に対してぶれを補正し、この補正された各画像信号を撮像素子内部で高速にアナログ加算するようにしたために、ぶれを補正するための複雑なメカニカル機構や撮像素子外部の電気回路等が不要になるとともに、幅広いシャッタスピードに対応可能なぶれのない高画質の画像を得ることができる。
このとき、連続して撮影された時分割画像を垂直転送レジスタと水平転送レジスタとに記憶し、その後に、これら垂直転送レジスタと水平転送レジスタとを用いて転送することによりぶれ補正を行うようにしているために、連続して撮影された時分割画像の位置調整を、極めて高速に行うことが可能となる。
そして、垂直転送レジスタおよび水平転送レジスタに、各々、1つの画素に対して4相の駆動パルスが印加される4つの転送電極を設けたために、垂直転送レジスタに記憶された電荷と水平転送レジスタに記憶された電荷とを混交させることなく、転送することが可能となる。
さらに、垂直方向または水平方向における画素電荷をシフトしてぶれ補正するためのぶれ補正量として、最初の時分割露光を開始した直後から今回の時分割露光までのぶれ量から、最初の時分割露光時から前回の時分割露光時までのぶれ補正量(転送量)の累積加算値を減算したものを用いるようにしたために、演算誤差が累積するのを防止して、正確なぶれ補正を行うことが可能となる。
また、被写体が低輝度であるときには、絞り開口の大きさをより大きくするように設定し、ぶれ量が許容限界に達する露光時間での撮像素子の電荷蓄積量をなるべく大きくするようにしたために、ぶれのない、かつS/Nの良好な画像を得ることが可能となる。
そして、本実施形態で説明した技術は、露光時間中に撮像面に入射する被写体光の位置が変化するぶれに対応可能なぶれ補正の技術であるために、特に、静止画撮影におけるぶれ補正に適したものとなる。
加えて、上述した技術は、ぶれ補正を撮像素子において行う技術であるために、この技術をレンズ交換式の電子カメラのカメラ本体側に適用すれば、ぶれ補正機能を備えない従来の撮影レンズと組み合わせたときにも、ぶれ補正を行うことができる利点がある。
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。