実施形態を詳細に説明する前に、まず、ぶれを補正するための原理について簡単に説明する。
例えば、被写体を測光して得られた適正露光時間(全露光時間)が1/15秒であるとする。そして、この1/15秒の露光時間(シャッタ速度)ではぶれが発生するものとする。これに対して、露光時間(シャッタ速度)が1/125秒であるときには、ぶれが発生しないか、もしくは発生するぶれが実質的に無視し得るものとする。このようなケースにおいて、上述した全露光時間1/15秒を、1/125秒の露光時間に時分割して、該時分割露光により8回の撮影を行い、この時分割撮影して得られた8枚の画像を加算することにより1/15秒の適正露光時間の1枚の画像を得るものである。ただし、上記1/125秒で撮影した時分割露光画像を単純に加算したのではぶれは補正されないために、各時分割露光画像のぶれを相互に補正してから加算する。このとき、時分割露光の間隔が長いと、ぶれが発生しない高速の露光時間で連続して撮影することはできない。そこで、以下に説明する実施形態では、固体撮像素子の内部において、高速にぶれを補正するとともに、補正後の画像を加算するようにしている。
具体的には、まず、時分割露光により撮影した画像を撮像素子に設けた第2転送レジスタに記憶し、次の時分割露光で撮影した画像を撮像素子に設けた第1転送レジスタに記憶する。そして、ぶれ検出部により検出したぶれ量に基いて、上記第1転送レジスタと上記第2転送レジスタとの内の一方をX方向にシフトするとともに他方をY方向にシフトして、その後に上記両画像を加算し、加算後の画像を上記第2転送レジスタに記憶する。続いて、次の時分割露光により撮影した画像を再び第1転送レジスタに記憶し、全体の露光量が適正になるまで上述したような補正と加算とを繰り返して行う。
以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図24は本発明の実施形態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と、CPU7に内蔵されたEEPROM24と、撮影モード設定部25と、撮影条件設定部26と、を含んでいる。
撮影レンズ15は、被写体像を撮像素子1の撮像面へ結像するための撮像光学系である。
絞り17は、この撮影レンズ15からの結像光束の通過範囲を規定することにより光量の調整を行うための光学絞りであり、撮像光学系の一部である。
撮像素子1は、絞り17を介して撮影レンズ15により結像された被写体像を、光電変換して電気信号として出力するものである。この撮像素子1は、図2等に示すように、画像を光電変換して蓄積するフォトダイオード32と、このフォトダイオード32から読み出された電荷を水平方向に転送するための水平転送CCD33と、該フォトダイオード32から読み出された電荷を垂直方向に転送するための垂直転送CCD34と、を有して構成されている。そして、フォトダイオード32により光電変換して蓄積された画素電荷は、水平転送CCD33と垂直転送CCD34との何れか一方に読み出される。また、水平転送CCD33と垂直転送CCD34との何れか他方には、それまでの加算電荷が記憶されている。新たに読み出された画素電荷は、読み出された転送CCD内で該転送CCD方向のぶれ量を補正するだけ転送される。同様に、それまでの加算電荷は、記憶されている転送CCD内で該転送CCD方向のぶれ量を補正するだけ転送される。こうしてぶれ量を補正するだけのシフトが行われたら、その後に、水平転送CCD33と垂直転送CCD34とが交差する位置において、新たに読み出された画素電荷とそれまでの加算電荷とを加算することにより、相対的なぶれを補正された新たな加算電荷が生成されるようになっている。すなわち、撮像素子1は、画像加算部となっている。このようにして得られた最終的な加算電荷が、ぶれ補正された画像を構成する電荷となる。このような撮像素子1のより詳細な構成や作用については、後で説明する。
TG5は、この撮像素子1を駆動するための転送パルスを供給するものであり、撮影制御部を構成している。
CDS2は、TG5から供給されるサンプルホールドパルスに従って駆動され、撮像素子1から出力される画像信号に相関二重サンプリング等の処理を行うことによりリセットノイズを除去するものである。
SG6は、CPU7の制御に基づき、同期信号を生成してTG5へ出力するものであり、撮影制御部を構成している。
ゲインコントロールアンプ(AMP)3は、CDS2から出力されるアナログの信号を増幅するものである。このゲインコントロールアンプ(AMP)3の増幅率は、後述するISO(International Organization for Standardization)感度Svに応じた増幅率に設定されるようになっていて、つまりゲインコントロールアンプ(AMP)3は、ISO感度変更部となっている。
A/D変換器4は、TG5から供給される信号に従って、ゲインコントロールアンプ(AMP)3から出力されるアナログ信号をデジタル信号に変換するアナログ・デジタル変換部である。
情報処理部8は、A/D変換器4から出力される画素信号を処理して、画像データを生成するものである。この情報処理部8は、撮像素子1から出力された画像データの中からぶれが適正に補正された画像データを抽出する機能を備えた有効領域抽出部を含んでいる。
DRAM9は、情報処理部8から出力される画像データを一時的に記憶するものであるとともに、記録媒体11から読み出された圧縮画像データを圧縮伸張部10により伸張して得られた画像データを一時的に記憶するものとなっている。
圧縮伸張部10は、DRAM9に記憶されている画像データを圧縮するとともに、記録媒体11から読み出された圧縮画像データを伸張するものである。
記録媒体11は、圧縮伸張部10により圧縮された画像データを記録する記録部であり、例えば不揮発性の記録媒体となっている。
液晶表示部12は、情報処理部8から出力される画像データ、またはDRAM9から出力される伸張された画像データを表示するものである。この液晶表示部12は、各種の警告表示等を後述するように行う表示部を兼ねたものとなっている。
インタフェース部13は、モニタやパーソナルコンピュータ等の外部装置とのデータの授受を行うための端子を含むインタフェースである。このインタフェース部13を介して、情報処理部8またはDRAM9から供給される画像データ等を外部装置へ出力することが可能であり、あるいは場合によっては、外部装置から画像データ等を装置内に取り込むことが可能となっている。
レンズ駆動系14は、距離検出部23により検出された被写体距離に基づきCPU7から指令を受けることにより、撮影レンズ15を合焦位置へ駆動するものである。このような処理は、いわゆるオートフォーカス制御として公知のものである。なお、ここでは距離検出部23からの出力に基づきオートフォーカス制御を行っているが、CPU7が、DRAM9に記憶された1フレーム(1画面)分の画像データの輝度成分にハイパスフィルタなどを用いて高周波成分を抽出し、抽出した高周波成分の累積加算値を算出する等により高周波域側の輪郭成分等に対応したAF評価値を算出し、該AF評価値に基づいて焦点検出を行うようにしても構わない。
絞り駆動系16は、DRAM9に記憶された画像データに基づき測光部たるCPU7が露出演算を行い、該CPU7からその結果に基づいた指令を受けることにより、絞り17を駆動して開口径を変更する絞り制御部である。このような処理は、いわゆるAE(自動露出)制御として公知のものである。
角速度センサ19は、デジタルカメラを被写体側から見たときの左右の方向における右方向をX軸方向としたときに(図19参照)、このX軸方向を回転中心としてデジタルカメラを回転したときの角速度を検出するためのものであり、ぶれ検出部である。
一方、角速度センサ20は、デジタルカメラの上下方向における上方向をY軸方向としたときに(図19参照)、この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は、被写体までの距離を検出するためのものであり、公知の構成のものを適宜採用することが可能である。
撮影モード設定部25は、シャッタ優先撮影モード、絞り優先撮影モード、プログラム撮影モードの何れかを選択するためのものである。
撮影条件設定部26は、シャッタスピード(露光時間)や絞り値、ISO感度などの各種の撮影条件を設定するためのものである。
CPU7は、露出値Evと、露出制御を最適に行うためのTv(露光時間のアペックス値)およびAv(絞り値のアペックス値)と、の関係をプログラム線図として記憶するEEPROM24を不揮発性メモリとして内蔵している。このEEPROM24には、デジタルカメラに必要なその他の情報も適宜格納可能となっている。
このCPU7には、第1レリーズスイッチ18aからの信号、第2レリーズスイッチ18bからの信号、A/D変換器21を介した角速度センサ19からの信号、A/D変換器22を介した角速度センサ20からの信号、撮影モード設定部25からの信号、および撮影条件設定部26からの信号が入力されるようになっている。そしてCPU7は、TG5とSG6とへ指令を出力するようになっている。
さらに、CPU7は、情報処理部8、DRAM9、レンズ駆動系14、絞り駆動系16、および距離検出部23と双方向に接続されていて、これらを含むこのデジタルカメラ全体を制御する制御部となっている。
具体的には、CPU7は、上述したようなオートフォーカス制御やAE制御を行うとともに、第1レリーズスイッチ18aおよび第2レリーズスイッチ18bからの静止画像の取り込みを指示する信号に基づき、撮像素子1の駆動モードの切り換えを行うようになっている。さらに、このCPU7は、絞り17の開口を変更する制御や撮像素子1の露光時間制御などを行うようになっている。そして、CPU7は、撮影モード設定部25からの入力に基づきこのデジタルカメラの撮影モードを設定し、撮影条件設定部26からの入力に基づきデジタルカメラに係る撮影条件を設定するようになっている。加えて、CPU7は、角速度センサ19,20からの出力に基づき、ぶれ量の演算等も行うようになっている。こうして、CPU7は、ぶれ検出部、露光量制御部、絞り制御部、記録部、測光部、露出情報演算部、第1露光時間生成部、第2露光時間生成部、露光時間制御部、ぶれ量演算部、絞り値設定部、蓄積電荷量制御部、撮影制御部を兼ねたものとなっている。
次に、図2〜図5を参照して、撮像素子1の動作について説明する。図2はフォトダイオードに蓄積された電荷を第1の画素電荷として垂直転送CCDに転送する様子を示す図、図3は第1の画素電荷読み出し後にフォトダイオードに蓄積された電荷を第2の画素電荷として水平転送CCDに転送しさらに水平方向に転送するとともに、第1の画素電荷を垂直方向に転送する様子を示す図、図4は第1の画素電荷と第2の画素電荷とを加算する様子を示す図、図5は加算された電荷を同一画素内における垂直転送CCDの電荷保持部に退避する様子を示す図である。
撮像素子1には、被写体からの光線を受けて電荷を発生するフォトダイオード32が、複数、マトリクス状に配列されていて、マトリクス状に配列されたこれらのフォトダイオード32が光電変換部を構成している。
さらに、撮像素子1は、光電変換部のフォトダイオード32の各行に隣接して行方向に配置された水平転送レジスタでありぶれ補正部、加算部たる水平転送CCD33を備えている。この水平転送CCD33は、フォトダイオード32で発生した電荷を読み出して得られた第1画像を記憶するとともに、この第1画像を水平方向に転送するものである。
また、撮像素子1は、光電変換部のフォトダイオード32の各列に隣接して列方向に配置された垂直転送レジスタでありぶれ補正部、加算部たる垂直転送CCD34を備えている。この垂直転送CCD34は、第1画像よりも前の時刻に得られた電荷を加算した加算電荷に係る第2画像を記憶するとともに、この第2画像を垂直方向に転送するものである。
そして、水平転送CCD33と垂直転送CCD34とが交差する位置に配置された電極部分(図6に示す電極φ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画素分以上の画素電荷の転送と、は後述する図6に示すような構成では同時に行うことができない(もちろん、同時に行うことができるように構成しても構わない(例えば、水平転送CCD33と垂直転送CCD34とを撮像素子1の厚み方向に異なる位置に独立に設けて、さらに独立に加算部を設けるようにすれば良い。))ために、何れか一方の転送を先に行い、その後に他方の転送を行うことになる。なお、第1の画素電荷の転送と第2の画素電荷の転送とが、全てのフォトダイオードに係る画素電荷について行われるのは上述と同様である。このような水平転送CCD33による転送と垂直転送CCD34による転送とを行うためには、各転送CCDが交差する位置において水平転送CCD33内の電荷と垂直転送CCD34内の電荷とが干渉することのないように、転送電極の配置を工夫する必要があるが、これについては後で説明する。
図4は、第1の画素電荷と第2の画素電荷とを、水平転送CCD33と垂直転送CCD34とが交差する位置にシフトして、該交差位置において加算した様子(加算であることを、図4中において「+」により示している)を示している。この加算は、全てのフォトダイオードに係る第1の画素電荷と、全てのフォトダイオードに係る第2の加算電荷と、について行われることは勿論である。
これにより、第1の画像(全ての第1の画素電荷で構成される画像)と、この第1の画像の直後に連続して撮影された第2の画像(全ての第2の画素電荷で構成される画像)と、がぶれ量だけシフトされた後に、つまりぶれを補正された後に、合成されたことになる。
なお、3番目以降の時分割画像を新たに読み出した場合には、第1の画像に相当するのは、それまでの時分割画像を加算して得られた加算画像(最初の時分割画像から最新の1つ前の時分割画像までを順次ぶれ補正して加算して得られた画像)となるために、この図4に示すような動作を行うことにより、新たな時分割画像(全ての新たな画素電荷で構成される画像)と、加算画像と、の相対的なぶれ量が補正された後に、合成されることになる。
図5は、水平転送CCD33と垂直転送CCD34との交差位置において加算された画素電荷を、同一画素内における例えば垂直転送CCD34の電荷保持部に転送した(退避させた)様子を示している。交差位置は、水平転送と垂直転送との両方に用いられるために、該交差位置に加算電荷を保持したままであると、次に読み出した画素電荷との加算を行うことができない。
そこで、ここでは、加算後の電荷を、一旦、垂直転送CCD34の電荷保持部へ退避させるようにしたものである。これにより、次の画素電荷を水平転送CCD33へ読み出せば、上述と同様に、画素の加算を行うことが可能となる。
なお、ここでは、加算後の電荷を同一画素内における垂直転送CCD34の電荷保持部へ転送した(退避させた)が、これに代えて、同一画素内における水平転送CCD33の電荷保持部へ転送しても(退避させても)構わない。このときには、次の画素電荷は、垂直転送CCD34へ読み出されることになる。また、加算後の画素電荷を退避させるのは、必ずしも同一画素内に限るものではない。
従って、図2〜図5に示したような例に限らず、加算電荷は、水平転送CCD33と垂直転送CCD34との何れか一方の記憶部に記憶させれば良く、新たな画素電荷は、水平転送CCD33と垂直転送CCD34との何れか他方の記憶部へ読み出して記憶させれば良い。
以上説明したように、
画像の水平転送CCDへのシフト
→ 相対的なぶれ補正のための電荷転送
→ 電荷の加算
→ 加算した電荷を水平転送CCDと垂直転送CCDとが交差する位置から退避する
というシーケンスを繰り返し行うようになっている。ただし、複数の時分割露光の内の最初の時分割露光による時分割画像については、ぶれ量が0、垂直転送CCDの電荷の加算値が0であるとして、同様のシーケンスを実行すれば足りる。
なお、図2〜図5においては、加算画像に対して新たな時分割画像が左方向に1画素かつ上方向に1画素だけずれている例を示したが、一般的には、ずれ量に応じた適宜の画素数だけ水平方向および垂直方向に移動させることになる。これについては、後で図13〜図22等を参照して説明する。
続いて、図6は、固体撮像素子に設けられたフォトダイオードおよび電極の構成を示す図である。
図6に示す各電極は、多結晶シリコンから構成されており、隣接する電極同士は層間絶縁層を介して配置されている。そして、隣接する電極同士は、撮像面に垂直な方向から見たときに、端面同士が一部重なるように配設されている。この図6において、電極の破線で示されている端面は、該電極の端面部分が他方の電極の下部に配置されていることを意味している。
そして、同一の駆動パルスを印加する電極同士は、コンタクト部を介して所定の配線層により相互に接続されている。ただし、この図6においては、電極の配置を明瞭にするために、電極同士の配線については図示を省略している。
上述したように、撮像素子1には、複数の(実質的には、多数の)フォトダイオード(図6中、「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を水平転送レジスタという。これら垂直転送レジスタと水平転送レジスタとは、共に、上述したように、電荷を保持(記憶)して転送する機能を備えている。
また、本実施形態においては、複数回の撮影による画素の電荷が加算されるために、画素の電荷が転送レジスタの蓄積容量を超えてあふれる可能性がある。以下では、これを防止するための構成について、図7および図8を参照して説明する。図7は撮像素子が縦型オーバーフロー構造であることを説明するための断面図、図8は時分割露光の回数に応じて逆バイアス電圧を変化させオーバーフローが発生する蓄積電荷量を制御する様子を示す図である。
フォトダイオードに強い光が入射すると、フォトダイオードからあふれた電荷が隣のフォトダイオードに流れ込むことがある。このブルーミング現象を防止するために、従来から、様々な工夫が施されている。本実施形態においては、撮像素子1の内部で電荷を加算するために、例え、m(mは1以上の整数)回の時分割撮影におけるそれぞれの露光量を、通常撮影における露光量の1/mにしたとしても、各時分割画像を加算した画像の電荷は垂直転送CCDの転送容量をはるかに超えてしまう可能性がある。従って、加算した後の画像の電荷が垂直転送CCDの転送能力を超えないようにする必要がある。
このために、本実施形態においては、縦型オーバーフロー構造のCCD固体撮像素子を採用している。これは、図7に示すように、n型基板(例えば、n型シリコン基板)の表面に作られたp型拡散領域(pウェル:p−well)の中にフォトダイオード(PD)を構成し、pウェルとn型基板との間の逆バイアス電圧VSUBにより、pウェルを完全に空乏化するようにしたものである。
図8に示すように、フォトダイオード(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のステップS214において選択する)に応じて通常撮影におけるときに比べて高い電圧(図8に示すような逆バイアス電圧VSUB’)に設定する(つまり、VSUB’はmに依存する)ことにより、オーバーフローが行われるpウェルの電位をφVOFG’(>φVOFG)として、通常撮影のときにフォトダイオードに蓄積される最大電荷量の1/mを超える過剰電荷を基板側に排出するようにしている。このようにすることにより、m回の時分割撮影による画像を加算しても、加算後の総電荷量を垂直転送CCDまたは水平転送CCDの取扱い電荷量以内に抑えることができる。
図9は、基板電圧VSUBにより変化するフォトダイオード32の蓄積電荷量の最大値Q(max)を時分割撮影の回数mに応じて設定する様子の幾つかの例を示す線図である。この図9においては、横軸に基板電圧VSUBを、縦軸にフォトダイオード32の蓄積電荷量の最大値Q(max)を、それぞれとっている。
本実施形態では、時分割撮影の回数mとして、m=1〜10の10通りの値を設定することが可能となっていて(図9には、m=1,2,4,8の例を示している。このときには、VSUBは、図示のようなV1,V2,V4,V8の各値となる。)、この時分割撮影の回数として選択可能なmが、例えばEEPROM24に予め記憶されている。フォトダイオード32の蓄積電荷量の最大値Q(max)は、m=1のときを1とすると、mが2〜10の値をとるときには各mに対して1/mとなる(なお、mが11以上の値を取り得るように設定したときにも、Q(max)が1/mとなる規則はそのまま適用可能である。)。また、m=1は通常の撮影(時分割撮影によらない撮影)の場合のフォトダイオード32の蓄積電荷量の最大値に対応する。
なお、mの最大値を10にしたのは、あまり大きな値にすると、画像データのS/Nを高い値に保持するのが困難になるためである。
また、本実施形態の技術は、ぶれ限界露光時間TLimit (ここに、ぶれ限界露光時間TLimit は、後で詳しく説明するように、ぶれの発生を実質的に無視し得る程度以下となるような露光時間である。)でm回の時分割撮影を行って画像を加算するものである。従って、ぶれを抑制し得る最長の露光時間をTExp0とすると、本実施形態においては、TExp0は、m(max)・TLimit となる。ここに、m(max)は、mの最大値であって、本実施形態においては上述したようにm(max)=10となる。具体的には、35mmフィルムカメラに換算した撮影レンズの焦点距離が300mmである場合には、ぶれ限界露光時間TLimit は約1/300秒のシャッタスピードとなり、ぶれ補正可能な最長露光時間TExp0は、およそ1/30秒となる。
こうして、mの値が大きいほど、より長い時間露光に対してぶれ補正を行うことが可能となるが、上述したように、mの値をあまり大きくすると画像データのS/Nが低くなる可能性がある。従って、mの値は、制御の安定性と、時分割撮影による画像のS/Nと、等のバランスを考慮して決めることが望ましい。このような理由から、本実施形態においてはmの最大値を10に設定しているが、これに限る必要はない。
図10は、撮像時における固体撮像素子1の基本的な動作を示すタイミングチャートである。
この図10において、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の動作については、後でより詳しく説明する。
時刻t03において露光が終了すると、垂直転送CCD34に蓄積されているぶれの補正された画像が、上記垂直転送CCD34と、撮像領域から外部へ出力するための読出部および転送部たる水平転送CCD42(図12参照)と、を介して、通常の読み出し速度で撮像素子1から読み出される。
図11は、フォトダイオードから画素電荷を読み出して固体撮像素子内で転送し加算するときに各電極に印加される信号の様子を示すタイミングチャートである。なお、ここでは、図6に示すような構成の撮像素子1により、図2〜図5を参照して説明したような動作を行うときの例について示している。また、電極φV0と電極φH0とは共通であるために、この図11においてはまとめて記載している。
今、時刻t1までに、垂直転送CCD34の電荷保持部(電極φV2下)には既に加算された電荷が記憶されているものとし、かつ、時刻t1において最新の時分割露光が終了したものとする。ただし、時刻t1が複数の時分割露光の内の最初の時分割露光が終了した時点であるときは、上述したように、垂直転送CCD中34で加算され記憶されている電荷が0であるとすれば、一般化することができる。
時刻t1に所定の露光時間が経過したら、電極φH2に読み出し用の高電圧(トランスファーパルス)VH(15[V])を印加する。このときには、加算電荷を保持する電極φV2が中電圧VM(0[V])で、それ以外の電極φV0,φV1,φV3,φH1,φH3は、全て低電圧VL(−5[V])に設定されている。これにより、フォトダイオード32に蓄積された電荷が、水平転送CCD33の電極φH2下にシフトされる。シフトが行われたら、電極φH2への印加電圧は中電圧VM(0[V])になり、読み出された電荷がこの電極φH2下において保持(蓄積)される(図3参照)。
電極φH2に印加される電圧が高電圧VH(15[V])から中電圧VM(0[V])に変化すると同時に、フォトダイオード32では次の撮影のための電荷の蓄積が開始される。すなわち、次の時分割撮影の開始である。
その後、時刻t2を過ぎたタイミングで、電極φH3に中電圧VMが印加される。これにより、電極φH2下において保持されていた電荷が、一部、電極φH3下へ転送され、電極φH2および電極φH3の両方の電極下のポテンシャル井戸(以下、単に「電極下」という。)に保持される。
次に、時刻t3を過ぎたタイミングで、電極φH2が低電圧VLに設定される。これにより、電極φH2および電極φH3の両方の電極下に保持されていた電荷は、全部、電極φH3下へ転送され、この電極φH3下に保持される。
電極φH2が低電圧VLに設定された直後に、電極φH0(電極φV0)が中電圧VMに設定される。これにより、電極φH3下に保持されていた電荷が、一部、電極φH0下へ転送され、電極φH3および電極φH0の両方の電極下に保持される。
その後、時刻t4を過ぎたタイミングで、電極φH3が低電圧VLに設定される。これにより、電極φH3および電極φH0の両方の電極下に保持されていた電荷は、全部、電極φH0下へ転送され、この電極φH0下に保持される。
電極φH3が低電圧VLに設定された直後に、電極φH1が中電圧VMに設定される。これにより、電極φH0下に保持されていた電荷が、一部、隣接する画素の電極φH1下へ転送され、電極φH0および電極φH1の両方の電極下に保持される。
時刻t5を過ぎたタイミングで、電極φH0が低電圧VLに設定される。これにより、電極φH0および電極φH1の両方の電極下に保持されていた電荷は、全部、電極φH1下へ転送され、この電極φH1下に保持される。
電極φH0が低電圧VLに設定された直後に、電極φH2が中電圧VMに設定される。これにより、電極φH1下に保持されていた電荷が、一部、電極φH2下へ転送され、電極φH1および電極φH2の両方の電極下に保持される。
その後、時刻t6を過ぎたタイミングで、電極φH1が低電圧VLに設定される。これにより、電極φH1および電極φH2の両方の電極下に保持されていた電荷は、全部、電極φH2下へ転送され、この電極φH2下に保持される。
このようにして、水平転送CCD33のある画素の電極φH2下に保持されていた電荷が、右に隣接する画素の電極φH2下まで、
電極φH2下 → 電極φH3下 → 電極φH0下 → 電極φH1下 → 電極φH2下
のように転送される。
この隣接する画素の電極φH2下の電荷は、時刻t11を過ぎるタイミングまで引き続き該電極φH2下に保持(記憶)される(図3参照)。
なお、ここでは、水平転送CCD33により電荷を1画素分右方向に転送するとき(図3参照)の動作について説明したが、より一般に、n(nは1以上の整数)画素分の転送を行うときには、上述したようなφH0〜φH3の信号をn回繰り返して与えれば良い。また、水平転送CCD33により電荷を左方向に転送することも可能である。このときには、上述とは時間反転させた信号を、各電極φH0〜φH3に与えれば良い。そして、左方向にn画素分の転送を行うときには、この時間反転させた信号をn回繰り返して各電極φH0〜φH3に与えることになる。
続いて、時刻t7を過ぎたタイミングで、電極φV1が中電圧VMに設定される。これにより、電極φV2下に保持されていた加算電荷が、一部、電極φV1下へ転送され、電極φV2および電極φV1の両方の電極下に保持される。
その後、時刻t8を過ぎたタイミングで、電極φV2が低電圧VLに設定される。これにより、電極φV2および電極φV1の両方の電極下に保持されていた電荷は、全部、電極φV1下へ転送され、この電極φV1下に保持される。
電極φV2が低電圧VLに設定された直後に、電極φV0(電極φH0)が中電圧VMに設定される。これにより、電極φV1下に保持されていた電荷が、一部、電極φV0下へ転送され、電極φV1および電極φV0の両方の電極下に保持される。
次に、時刻t9を過ぎたタイミングで、電極φV1が低電圧VLに設定される。これにより、電極φV1および電極φV0の両方の電極下に保持されていた電荷は、全部、電極φV0下へ転送され、この電極φV0下に保持される。
電極φV1が低電圧VLに設定された直後に、電極φV3が中電圧VMに設定される。これにより、電極φV0下に保持されていた電荷が、一部、電極φV3下へ転送され、電極φV0および電極φV3の両方の電極下に保持される。
時刻t10を過ぎたタイミングで、電極φV0が低電圧VLに設定される。これにより、電極φV0および電極φV3の両方の電極下に保持されていた電荷は、全部、電極φV3下へ転送され、この電極φV3下に保持される。
電極φV0が低電圧VLに設定された直後に、電極φV2が中電圧VMに設定される。これにより、電極φV3下に保持されていた電荷が、一部、電極φV2下へ転送され、電極φV3および電極φV2の両方の電極下に保持される。
その後、時刻t11を過ぎたタイミングで、電極φV3が低電圧VLに設定される。これにより、電極φV3および電極φV2の両方の電極下に保持されていた電荷は、全部、電極φV2下へ転送され、この電極φV2下に保持される。
このようにして、垂直転送CCD34のある画素の電極φV2下に保持されていた電荷が、上に隣接する画素の電極φV2下まで、
電極φV2下 → 電極φV1下 → 電極φV0下 → 電極φV3下 → 電極φV2下
のように転送される。
なお、ここでは、垂直転送CCD34により電荷を1画素分上方向に転送するとき(図3参照)の動作について説明したが、より一般に、n(nは1以上の整数)画素分の転送を行うときには、上述したようなφV0〜φV3の信号をn回繰り返して与えれば良い。また、垂直転送CCD34により電荷を下方向に転送することも可能である。このときには、上述とは時間反転させた信号を、各電極φV0〜φV3に与えれば良い。そして、下方向にn画素分の転送を行うときには、この時間反転させた信号をn回繰り返して各電極φV0〜φV3に与えることになる。
時刻t11を過ぎたタイミングにおいて、電極φV3が低電圧VLに設定された直後に、電極φV1が中電圧VMに設定される。これにより、電極φV2下に保持されていた電荷が、一部、電極φV1下へ転送され、電極φV2および電極φV1の両方の電極下に保持される。
これと同時に、電極φH3が中電圧VMに設定される。これにより、電極φH2下に保持されていた電荷が、一部、電極φH3下へ転送され、電極φH2および電極φH3の両方の電極下に保持される。
時刻t12を過ぎたタイミングにおいて、電極φ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参照)。
その後、時刻t13を過ぎたタイミングにおいて、電極φH3が低電圧VLに設定される。これにより、電極φH3、電極φV0,φH0、および電極φV1の各電極下に保持されていた電荷は、電極φV0,φH0および電極φV1の両電極下にのみ保持される。
続いて、時刻t14を過ぎたタイミングにおいて、電極φV0,φH0が低電圧VLに設定される。これにより、電極φV0,φH0および電極φV1の両方の電極下に保持されていた電荷が、全部、電極φV1下へ転送され、この電極φV1下に保持される。
電極φV0,φH0が低電圧VLに設定された直後に、電極φV2が中電圧VMに設定される。これにより、電極φV1下に保持されていた電荷が、一部、電極φV2下へ転送され、電極φV1および電極φV2の両方の電極下に保持される。
時刻t15を過ぎたタイミングにおいて、電極φV1が低電圧に設定される。これにより、電極φV1および電極φV2の両方の電極下に保持されていた電荷が、全部、電極φV2下へ転送され、この電極φV2下に保持される(図5参照)。この状態は、時刻t16においても継続しており、加算電荷が電極φV2下に保持されていることが分かる。
このように上記時刻t12を過ぎたタイミングで加算された電荷を、同一画素内の電極φV2下に転送して記憶することにより、この記憶した画像と次回の時分割露光による画像との加算を、同様のシーケンスで行うことができる。こうして、複数回の撮影による画像のぶれを補正しながら加算して、最終的にぶれのない(「ぶれのない」とは、ぶれが実質的に無視し得る程度以下であることを意味している。)露光時間TExp の画像を得ることができる。
上述したように、水平転送CCD33に記憶された画像は、水平方向のぶれ量だけ転送されることにより、水平方向の相対的なぶれが補正される。また、垂直転送CCD34に記憶された画像は、垂直方向のぶれ量だけ転送されることにより、垂直方向の相対的なぶれが補正される。このために、水平転送CCD33および垂直転送CCD34の各々の電極下のポテンシャル井戸には、多数回に渡り隣接するポテンシャル井戸から電荷が転送されて来る。従って、水平転送CCD33の両端および垂直転送CCD34の両端に転送されてくる電荷は、行き場を失ってここに蓄積されてしまう。蓄積された電荷は、やがてポテンシャル井戸に蓄積可能なレベルを越えてしまい、隣接するポテンシャル井戸に流れ込んで、画像の劣化を招くことになる。このような課題を解決する一つの手段として、水平転送CCD33の両端および垂直転送CCD34の両端の電極下のポテンシャル井戸の容量を、電荷が飽和することのないような大きな容量にすることが考えられる。しかし、累積される電荷の量は、被写体の輝度やぶれ量に応じて異なるために、全てのケースにおいて電荷が飽和しないようにするためには、相当に大きな容量のポテンシャル井戸を必要とする。
そこで、本実施形態においては、図32に示すように、水平転送CCD33の端部および垂直転送CCD34の端部の転送電極71に隣接してn+拡散領域のドレイン72を設け、転送電極71下のポテンシャル井戸に転送された電荷をドレイン72を介して排出するようにしている。ここに、図32は、水平転送CCD33の端部および垂直転送CCD34の端部に転送された電荷をドレイン72に排出するようにした構成を示す図である。
なお、垂直転送CCD34の両端の転送電極の内、水平転送CCD42(図12参照)に面した側については、同様の排出機構を設けることができない。そこで、この水平転送CCD42に面した側については、ぶれ補正を行う間、水平転送CCD42を駆動することにより、垂直転送CCD34から送られて来る電荷を水平転送CCD42の出力部へ排出するようにしている。
図12は、固体撮像素子全体の構成を模式化して示す図である。なお、実用的な固体撮像素子1は例えば数十万〜数百万画素以上の画素数を備えているが、全部を図示することは不可能であるために、この図12においては、これよりも画素数を少なくする模式化を行っている。
撮像領域41は、図2〜図5、あるいは図6に示したような、フォトダイオード32と、水平転送CCD33と、垂直転送CCD34と、を含む、撮像部、光電変換部である。
上記撮像領域41の上記垂直転送CCD34が突き当たる水平方向位置には、水平転送CCD42が配設されている。この水平転送CCD42は、撮像領域41の垂直転送CCD34において加算された画像を、図10の時刻t03から時刻t04の間に、通常のCCD撮像素子(つまり、例えば、上述したような水平転送CCD33を備えていないCCD撮像素子)と同様に、外部へ読み出すためのものである。なお、この水平転送CCD42には、上述した水平転送CCD33とは異なる水平転送パルスφH4,φH5が印加され、画素電荷の転送を行うようになっている。
上記水平転送CCD42の出力側には、該水平転送CCD42から転送されたアナログ信号を増幅するためのアンプ43が配設されている。こうして、撮像素子1からは、アンプ43により増幅された信号が出力されるようになっている。
次に、図13は、デジタルカメラにより画像を撮像して記録するときの処理を示すフローチャートである。
デジタルカメラの電源が投入される(例えば、電池が交換されるなど)か、または、図示しない動作開始スイッチ(例えば、電源スイッチ)が操作されると、このデジタルカメラの動作がスタートする。
処理を開始すると、所定の初期値設定等を行った後に、まず、撮影者のレリーズ操作によって第1レリーズスイッチ18aが閉じた状態になったか否かを判定する(ステップS101)。
ここで、第1レリーズスイッチ18aが閉じていない場合には、J101に分岐して、第1レリーズスイッチ18aの検出を同様に繰り返して行う。ただし、実際には、J101とステップS101との間に、表示を行ったり、その他の図示しないキー入力の状態を検出したりする動作等を行うが、こうした一般的な動作については以下においても適宜説明を省略することにする。
ステップS101において第1レリーズスイッチ18aが閉じたことが検出された場合には、次に、ぶれ限界露光時間TLimit を演算する(ステップS102)。このぶれ限界露光時間TLimit は、露光開始からのぶれ量が許容限界のぶれ量に達すると想定される時間である。
ここで、ぶれ限界露光時間TLimit について説明する。35ミリフィルムカメラにおける縦24mm×横36mm(対角 43.28mm)のいわゆるライカ版フレーム(別称:ダブルフレーム)カメラに関する長年の経験則として、ミリメートル単位の撮影レンズの焦点距離をfとしたときに、ぶれ限界露光時間TLimit が、TLimit ≒1/f(秒)になるということが知られている。本実施形態においては、この経験則を、デジタルカメラの撮像素子の有効撮像エリア内に設定した撮影画枠の大きさを考慮の上、応用することにする。以下の説明においては、単位mmについての記載を適宜省略して、数値のみを表記することにする。
デジタルカメラにおける被写体撮像範囲(撮影画角)は、撮影レンズの焦点距離に反比例し、かつフレームの大きさに比例するために、フレームに対する相対的な像倍率は、焦点距離に比例し、かつフレームの大きさに反比例する。従って、(フレームに対する相対的な)像ぶれもフレームの大きさに反比例する。そこで、上記経験則に対してフレームの大きさ比率に応じた換算係数を乗じて、これを適用すれば良いことになる。この場合、アスペクト比の違いを考慮する必要があるが、本実施形態に係るデジタルカメラにおいては、対角線換算を用いることにする。
撮影画枠の対角長をd[mm]とすると、TLimit は次の数式1により表される。
[数1]
なお、この数式1の分母(43.28×f/d)は、デジタルカメラの撮影レンズの焦点距離fを、同一画角のライカ版フレームのフィルムカメラの撮影レンズの焦点距離に換算した値になっている。
この数式1からも明らかなように、このぶれ限界露光時間TLimit は、デジタルカメラの撮影レンズ15が単焦点距離の撮影レンズである場合は該焦点距離に応じた1つの値のみを適用すれば良いが、撮影レンズ15がズームレンズである場合には、焦点距離に応じた異なる値を適用する必要がある。
なお、ぶれ限界露光時間TLimit は、必ずしも、数式1で与えられる値を用いる必要はなく、要するに、ぶれが実質的に発生することのないような露光時間を用いれば良い。従って、ぶれ限界露光時間TLimit は、概略、数式1により与えられる露光時間よりも短い時間であれば構わない。
次に、被写体の明るさを測光する(ステップS103)。この測光は、撮像素子1から繰り返し出力される画像信号のレベルをモニタして、被写体の明るさを演算するものである。すなわち、撮像素子1から読み出された画像信号は、CDS2により処理されゲインコントロールアンプ3により増幅された後にA/D変換器4によりデジタル値に変換され、情報処理部8を経てDRAM9に一時的に記憶される。このDRAM9に記憶された画像信号の内、画像全体の中の例えば中央部付近の所定領域の画像信号がCPU7により読み出されて、そのレベルの加算平均値が求められる。そして、CPU7は、求めた加算平均値に基づいて被写体の明るさ(Bv)を計算する。
続いて、CPU7は、適正露光を得るために必要なシャッタ速度値(露光時間)TExp や絞り17の絞り値を計算するとともに、計算結果に基づき絞り駆動系16を介して絞り17の絞り設定を行うためのサブルーチン(図14参照)を実行する(ステップS104)。
ここに、図14は、TExp と絞り値の演算と絞り設定のサブルーチンを示すフローチャートである。
この図14に示すサブルーチンは、デジタルカメラが制御不能な露出値の場合には警告表示を行い、撮影モードが、シャッタ優先撮影モード、絞り優先撮影モード、プログラム撮影モードの何れに設定されていても、手ぶれ防止を行うようにしたものとなっている。さらに、このサブルーチンは、仮に露光時間が手ぶれが発生する可能性がある露光時間(の閾値)よりも長いときには、予め警告表示をして、手ぶれ防止を優先する撮影モードに自動的に設定し、撮影を行うようにしたものとなっている。
このサブルーチンに移行すると、まず、(Bv+Sv)>Ev(max)であるか否かを判定する(ステップS201)。ここに、Bv(Brightness value)はアペックス(APEX(Additive System of Photographic Exposure))方式に基く指数で表わした(以下、「アペックス値としての」という。)被写体の明るさ、Sv(Sensitive Value)はアペックス値としてのISO感度、Ev(Exposure Value)はアペックス値としての露出値、Ev(max)はデジタルカメラが制御可能なアペックス値としての露出値の最大値である。また、アペックス値としての露光時間をTv(Time Value)、アペックス値としての絞り値(Fナンバー)をAv(Aperture Value)とすると、次の式が成り立つ。
Ev=Tv+Av=Bv+Sv
従って、測光により得られた被写体の明るさ(Bv)と、撮影条件設定部26により設定されたISO感度(Sv)と、が分かれば露出値(Ev)が決定され、TvとAvとを演算することができる。図17は、露出に係る各要素の基準値と、その指数の基準値と、を示す図表である。
このステップS201において、(Bv+Sv)>Ev(max)であると判定された場合には、露出オーバー警告を行う(ステップS202)。この露出オーバー警告は、例えば液晶表示部12に警告表示を行ったり、あるいは警告表示とともに図示しないスピーカ等を介して警告音を発音する等により行われる。この警告を行ったら、その後はJ201に移行する。
また、ステップS201において、Bv+Sv>Ev(max)でないと判定された場合には、次に、Bv+Sv<Ev(min)であるか否かを判定する(ステップS203)。ここに、Ev(min)は、デジタルカメラが制御可能なアペックス値としての露出値の最小値である。
このステップS203において、Bv+Sv<Ev(min)であると判定された場合には、露出アンダー警告を行う(ステップS204)。この露出アンダー警告も、上述した露出オーバー警告と同様に、液晶表示部12に警告表示を行ったり、警告表示とともに図示しないスピーカ等を介して警告音を発音したりする等により行われる。この警告を行ったら、その後はJ201に移行する。
また、ステップS203において、Bv+Sv<Ev(min)でないと判定された場合、または、上述したステップS202またはステップS204からJ201に移行した場合には、シャッタ優先撮影モードに設定されているか否かを判定する(ステップS205)。
ここで、このデジタルカメラがシャッタ優先撮影モードに設定されている場合には、Av=Bv+Sv−Tvにより絞り値(Av)を演算する(ステップS206)。
一方、ステップS205においてシャッタ優先撮影モードでないと判定された場合には、このデジタルカメラが絞り優先モードに設定されているか否かを判定する(ステップS207)。
ここで、絞り優先撮影モードに設定されている場合には、露光時間TExp を演算する(ステップS208)。なお、この露光時間TExp はTvに対応するものであり、Tv=Bv+Sv−Avにより、露光時間のアペックス値Tvを求めて、アペックス値を実際の露光時間TExp に換算することにより求める。この処理が終了したら、その後は、J202へ移行する。
また、ステップS207において、絞り優先撮影モードでないと判定された場合には、つまりプログラム撮影モードであるということになり、図18に示すようなプログラム線図を参照して露光時間TExp を求めるとともに(ステップS209)、該プログラム線図を参照して絞り値(Av)を求める(ステップS210)。
ここに、図18は、撮影レンズ15の焦点距離に応じた幾つかの例を示すプログラム線図である。
このプログラム線図は、図18に示すように、同一の露出値Evである場合に、撮影レンズ15の焦点距離が長いほど、露光時間TExp が短く、絞り値が小さくなる(絞り開口が大きくなる)ように設計されている。これは、撮影レンズ15の焦点距離が長いほど、撮像素子1の撮像面上における手ぶれの影響が大きくなるために、露光時間TExp を短くすることにより、この手ぶれの発生を抑制するようにしているためである。なお、この図18には、最大の絞り開口に対応する絞り値(Fナンバー)が1.4、最小の絞り開口に対応する絞り値(Fナンバー)が16、最も速いシャッタ速度が1/4000秒であるデジタルカメラを例に挙げたものである。ただし、レンズの焦点距離fについては、35mmフィルムカメラに換算した数値例を挙げている。
こうして、このステップS210の処理が終了したら、その後はJ202へ移行する。
ステップS206,S208,S210の何れかの処理が終了したら、次に、TExp >m(max)・TLimit であるか否かを判定する(ステップS211)。ここに、mは、上述したように時分割露光の回数を表わしており、mは1〜10(mは整数値)の何れかのみを取り得るようになっている。このmは、CPU7に内蔵されたメモリ(ROM(例えば、上述したEEPROM24))に予め記憶されている。そして、m(max)は、上述したようにmの最大値であって、本実施形態においては、m(max)=10となる。
このステップS211において、TExp >m(max)・TLimit であると判定された場合には、手ぶれ防止優先表示を行う(ステップS212)。この手ぶれ防止優先表示は、設定されている撮影モードがどの撮影モードであるかに関わらず、該撮影モードで設定された露光時間(Tv)や絞り値(Av)を変更して、手ぶれ防止を優先することを表示してユーザに告知するものとなっている。すなわち、TExp >m(max)・TLimit であるときには、撮影者が設定した露光時間TExp を時分割露光の最大回数m(max)で割った値が、ぶれ限界露光時間TLimit を超えてしまうために、ぶれ防止を保証することができなくなる。そこで、次のステップS213において、露光時間を手ぶれを有効に防止可能な限界露光時間m(max)・TLimit に固定するとともに、絞り値(Av)を変更するようにしているために、各撮影モードでの設定値が用いられなくなる(特に、シャッタ優先撮影モードで設定されたシャッタ速度(露光時間)が変更され、あるいは、絞り優先撮影モードで設定された絞り値が変更されてしまう)ことになる。こうして、撮影者自身が設定したシャッタ速度や絞り値が、警告なしに変更される場合のような戸惑いをなくすために、ここで手ぶれ防止優先表示を行って、告知するようにしたものである。
こうして手ぶれ防止優先表示を行った後に、手ぶれ防止優先処理のサブルーチンを実行する(ステップS213)。
ここで、図16を参照して、ステップS213における手ぶれ防止優先処理のサブルーチンの動作について説明する。図16は、手ぶれ防止優先処理のサブルーチンを示すフローチャートである。
このサブルーチンに移行すると、まず、m(max)・TLimit をメモリ〔TExp 〕に記憶する(ステップS301)。ここに、〔〕は、括弧内のデータを記憶するメモリを意味している。
次に、Av=Bv+Sv−Tvに基いて、絞り値Avを演算する(ステップS302)。なお、このステップS302の演算において用いられるTvは、ステップS301においてメモリ〔TExp 〕に記憶したTExp のアペックス値である。そして演算した絞り値Avをメモリ〔Av〕に記憶する(ステップS303)。
続いて、Av<Av(min)であるか否かを判定する(ステップS304)。ここに、Av(min)は、絞り値のとり得る最小値(絞りを最大に開いたときに対応する)である。
このステップS304において、Av<Av(min)であると判定された場合には、上述したステップS302で演算した絞り値(Av)は、実際に絞り17に設定することが不可能な絞り値であるということになるために、Av(min)を改めてメモリ〔Av〕に記憶する(ステップS305)。
そして、ISO感度SvをTv+Av−Bvに基づき演算する(ステップS306)。
このISO感度Svは、ゲインコントロールアンプ3の増幅率に対応している。例えばISO感度100のときの増幅率を1とすると、ISO感度200では増幅率は2となる。そして、増幅率をあまり大きくすると、ノイズが目立つようになるために、実用上は適宜の増幅率が上限として設定されていて、具体例としてはISO感度800(増幅率8)あるいは、ISO感度1600(増幅率16)などが上限となる。ISO感度Svの値は、実際には、連続的な値ではなく段階的な値にしか設定することができないために、実際に設定可能なSvの内、ステップS306において求めたSvに最も近い値を《Sv》とする。こうして求めた《Sv》を、メモリ〔Sv〕に記憶する(ステップS307)。
次に、上記Sv,Bv,Avに対応する露光時間Tvを、Tv=Sv+Bv−Avにより求める(ステップS308)。
続いて、ステップS308において求めた露光時間のアペックス値Tvを、実際の露光時間TExp に変換する(ステップS309)。
その後、TLimit'(=TExp /m(max))を演算する(ステップS310)。このTLimit ’は、上記ステップS301において求めたTLimit より大きい場合もあり得るし、小さい場合もあり得る。
そして、TLimit'/TLimit が2よりも大きいか否かを判定する(ステップS311)。このTLimit'/TLimit が2よりも大きいと判定された場合は、時分割露光の露光時間がぶれ限界露光時間TLimit よりも2倍以上長いことになるために、ぶれが許容レベルを大きく越えるとして、手ぶれ警告を液晶表示部12により表示する。なお、この手ぶれ警告を表示するときには、さらに、図示しないスピーカ等を介して警告音を発音する等を行うようにしても構わない。
また、ステップS311において、TLimit'/TLimit が2以下であると判定された場合には、TLimit ’をメモリ〔TLimit 〕に記憶する(ステップS313)。
こうして、上記ステップS304においてAv<Av(min)でないと判定されたとき、ステップS312の処理が終了したとき、またはステップS313の処理が終了したときには、この図16に示すサブルーチンから図14に示した処理へリターンする。
図14の説明に戻って、図16に示したような手ぶれ防止優先処理のサブルーチンからリターンすると、J203に移行して、後述するような処理を行う。
上記ステップS211において、TExp >m(max)・TLimit でないと判定された場合には、時分割露光回数mを選択する(ステップS214)。具体的には、TExp /TLimit を演算して、これと等しいかまたはこれよりも大きく最も近いm(1〜10の整数値)を選択する。例えば、TExp /TLimit の値が2.5である場合には、m=3に設定し、TExp /TLimit の値が4である場合にはm=4に設定する。
次に、メモリ〔TLimit 〕にTExp /mを記憶する(ステップS215)。このように、TExp /mにより新たにTLimit を演算し、このぶれ限界露光時間TLimit に基いて時分割撮影の露光時間を制御することにより、時分割撮影して加算した後の画像の露光量を適正にすることができる。また、上記ステップS214においてTExp /TLimit が整数値でない場合に、それよりも大きく最も近いm(1〜10の整数値)を選択したのは、ステップS215において新たに演算したTLimit がぶれ限界露光時間よりも大きくならないようにするためである。
ステップS213において、手ぶれ防止優先処理のサブルーチンからリターンしたとき、またはステップS215の処理が終了した場合には、絞り駆動系16を介して絞り17を駆動し、メモリ〔Av〕に記憶されている絞り値に対応する絞り開口になるように絞りを設定する(ステップS216)。
その後は、この図14に示すサブルーチンから図13に示した処理にリターンする。
なお、図14に示した処理では、ステップS211において、TExp >m(max)・TLimit であると判定されると、TExp ≦m(max)・TLimit となるようにAv(絞り値)またはISO感度を修正するようにしていた。このような手段を用いると、ぶれ防止については十分に満足できるレベルに抑制することができる一方で、撮影者の意図した撮影モードが忠実に反映されないことになる。すなわち、撮影者が例えばシャッタ優先撮影モードを選択して撮影したにもかかわらず、シャッタスピード(露光時間)が意図したシャッタスピードよりも高速になり、作画意図を反映した撮影を行うことができない場合が生ずる可能性がある。
このような点を改善するようにした変形例が、図15に示すものである。図15は、TExp と絞り値の演算と絞り設定のサブルーチンの他の例を示すフローチャートである。この図15において、図14に示す処理と同様である部分には、同一の符号を付して説明を省略する。
上述したステップS211において、TExp >m(max)・TLimit であると判定されたときには、ぶれ警告表示を液晶表示部12により行う(ステップS212’)。このぶれ警告表示は、ぶれが生じる可能性がある旨の注意を喚起する表示である。なお、このぶれ警告表示を行うときには、さらに、図示しないスピーカ等を介して警告音を発音する等を行うようにしても構わない。
次に、ぶれ限界露光時間TLimit を記憶するメモリ〔TLimit 〕に、TExp /m(max)を記憶する(ステップS213’)。その後は、J203に移行する。
この図15に示すような処理を行うことにより、撮影者の意図した撮影モードで撮影を行うことができる。また、ぶれ警告表示をするとともに、最大限ぶれの発生しないような高速のシャッタスピード(つまり、露光時間TExp をmの最大値m(max)で割って得られたシャッタスピード)で撮影を行うことができるために、ぶれも満足できるレベルに抑制されると期待される。
上述した図14、図15に示すフローチャートにおいては、ステップS214で、予めメモリに記憶された複数の時分割撮影回数mの中から最適なmを選択するようにしたが、mの値を所定の大きな値(例えばm=10)の一種類のみとし、ぶれ限界露光時間TLimit はTExp /mに設定するようにしても良い。このようにすることにより、フォトダイオード32の蓄積電荷量Q(max)の制御をする基板電圧VSUBの値を、通常撮影時と時分割撮影時の2種類設定可能にすれば足りるために、撮像素子の特性の管理が容易になり、撮像素子の歩留まり向上に寄与するとともに、構成を簡単にすることができる。
以上、図14または図15を参照して説明したように、この実施形態においては、算出された露出値がデジタルカメラによる制御が不能な値である場合には、露出オーバー側であるか露出アンダー側であるかに応じてその旨の警告表示を行うようにしている。さらに、図14および図16を参照して説明したように、上述では、デジタルカメラの撮影モードが、シャッタ優先撮影モード、絞り優先撮影モード、プログラム撮影モードの何れに設定されている場合でも、手ぶれ防止を行うようにするとともに、算出された露光時間が手ぶれが発生する可能性を無視し得る上限の露光時間よりも長い(シャッタ速度が低速である)場合には、予め警告表示を行って、手ぶれ防止を優先する撮影モードで撮影することを告知するようにしている。こうして、撮影者に誤解を与えることなく、確実に手ぶれ防止を行うことが可能となっている。
図13の説明に戻って、上述したようなステップS104のサブルーチンからリターンしたら、次に、第2レリーズスイッチ18bが閉じているか否かを判定する(ステップS105)。ここで、第2レリーズスイッチ18bが閉じていない場合には、第1レリーズスイッチ18aが閉じている限り、J102へ分岐して、上述したようなステップS102〜S105の処理を繰り返して行いながら、この第2レリーズスイッチ18bが閉じるのを待機する。
こうして、ステップS105において、第2レリーズスイッチ18bが閉じていると判定された場合には、ぶれ限界露光時間TLimit による露光が実際に行われた回数nを記憶するメモリ〔n〕に、初期値「0」を記憶する(ステップS106)。なお、上述したように、〔〕は、括弧内のデータを記憶するメモリを意味している。従って、〔n〕は、括弧内の変数nを記憶するメモリを意味する。
次に、露光を開始する(ステップS107)。撮像素子1には、露光開始直前から、フォトダイオード32に蓄積された電荷を半導体基板(サブストレート=縦形オーバーフロードレインVOFD)へ強制排出するための基板印加高電圧パルスVSUBが図10に示したように繰り返し印加されており、この高電圧パルスVSUBの印加が終了し、VSUBの値を上記mに応じた値(図8に示すVSUB’)に設定した時点が、このステップS107の露光開始の時点となる。
次に、1回分の時分割露光が終了したか否かを判定する(ステップS108)。ここで、1回分の時分割露光が終了するまでは、J103へ分岐して、時分割露光の終了を待機する。
また、1回分の時分割露光が終了した場合には、後述する露光開始位置からのX方向のぶれ量の絶対値|Px−Px0|、または露光開始位置からのY方向のぶれ量の絶対値|Py−Py0|が、予め設定した所定の値αよりも大きいか否かを判定する(ステップS118)。
ここで、何れかが所定の値αよりも大きいと判定された場合には、露光を終了して、フラグFLGに1を設定した後に(ステップS119)、後述するステップS112の画像の読み出しの処理へ移行する。これは、ぶれ量が所定以上に大きいときはぶれが正常に補正された画像の有効領域が狭くなるために、時分割撮影を終了して、所定の大きさの有効領域を確保するためである。これについては、後で詳細に説明する。
なお、ステップS119において設定されるフラグFLGは、撮影を開始するときに予め0に設定されているものであり、FLGに1を設定することにより、時分割撮影の回数が規定値mに達する前に時分割撮影が終了したことを示すようになっている。
また、ステップS118において、|Px−Px0|と|Py−Py0|との何れもがα以下であると判定された場合には、時分割撮影により得られた画像を合成するサブルーチン「画素値合成」(図22参照)を実行する(ステップS109)。
この画素値合成のサブルーチンについて説明する前に、図19〜図21を参照して、デジタルカメラにおけるぶれ量の検出について説明する。まず、図19は、デジタルカメラに設定した座標軸と2つの角速度センサの配置とを示す図である。
この図19において、ある時刻における、撮影レンズ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は、図19に示すように、デジタルカメラにおける上述したX軸,Y軸,Z軸に関連した配置となるように設けられている。
これら2つの角速度センサ19,20から各出力される検出信号は、それぞれA/D変換器21,22によりデジタルデータに変換されて、CPU7に入力される。
このCPU7は、撮影レンズ15から、焦点距離fに関する情報を取得する(例えば、撮影レンズ15が電動ズームである場合には、レンズ駆動系14を介して情報の取得を行い、あるいは、撮影レンズ15が交換式のレンズ鏡筒である場合には通信接点等を介して情報の取得を行う)。
また、CPU7は、距離検出部23から被写体距離情報を取得する。
これら、焦点距離fの情報と、被写体距離情報とは、後述するように、X方向のぶれ量の演算、およびY方向のぶれ量の演算に用いられる。
次に、図20を参照して、ぶれ量とぶれ補正量との関係について説明する。図20は、カメラ本体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、とそれぞれすると、図20に示すような幾何学的位置関係と、次の数式2に示すニュートン(Newton)の結像公式
[数2]
と、を用いることにより、上記移動量ΔYは、次の数式3に示すように算出される。
[数3]
ここに、βは撮影倍率を示し、f/Lである。また、数式3を算出するに当たっては、θx が微小量であるとして、θx の1次のオーダーまでの近似を行っている。
この数式3における値fは、上述したように、レンズ情報としてCPU7に入力される。また、βを算出するために必要な距離Lは、図1に示したような距離検出部23からの情報に基づき算出することができる(または、被写体にピントを合わせたときの撮影レンズ15の繰り出し量から距離Lを求めても良い。)。さらに、数式3における角度θx は、上述したような角速度センサ19からの出力に基いて、算出することができる。
こうして、数式3に基づいて得られる移動量ΔYに係る実質的な補正を行うことにより、デジタルカメラにぶれが発生したとしても、撮像素子1から出力される画像信号に係る画像にはぶれの影響が生じないようにすることができる。
なお、上述したように、角度θx は微小量であるために、図20に示すように撮像面C−DがX軸周りにY軸に対して角度θx だけ傾いても、撮像面の傾きにより生じる像への影響は、上述した移動量ΔY以外には問題になることはない。
また、Y軸回りに回転角θy だけぶれが発生したときの像位置の移動量ΔXも、上記数式3と同様に、次の数式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つの画像のぶれを補正するような画素電荷の移動を行ってから加算することにより、ぶれの補正された画像を生成することが可能となる。
図21は、CPU7により移動量ΔX,ΔY等を算出する処理の流れを示すフローチャートである。この処理は、第2レリーズスイッチ18bが閉じたときから露光が終了するまでの間、図13等に示した処理とは独立なプロセスとして実行されるようになっている。
すなわち、この処理を開始すると、まず、第2レリーズスイッチ18bが閉じるのを待機する(すなわち、第2レリーズスイッチ18bが閉じるまではJ401へ分岐する)(ステップS401)。
そして、第2レリーズスイッチ18bが閉じたことが検出された場合には、次に、撮影レンズ15の焦点距離fと、被写体距離Lと、を入力する(ステップS402)。これらの焦点距離fと被写体距離Lとは、この図21に示すような処理の中において演算するようにしても良いが、より高速なサイクルでぶれ量を演算するために、別途のプロセッサ等を用いて焦点距離fと被写体距離Lとを演算し、CPU7はこの演算されたデータをステップS402において入力するようにすると良い。これにより、処理の高速化を図るとともに、リアルタイムへの高い追従性を図ることが可能となる。
次に、CPU7は、A/D変換器21,22を各介して角速度センサ19,20の出力を読み込むことにより、角速度ωx ,ωy を入力する(ステップS403)。
そして、入力した角速度ωx ,ωy を、前回検出した値までの累積加算値に加算することにより、今回検出した値までの累積加算値Σωx ,Σωy を演算する(ステップS404)。
このステップS404で演算した累積加算値Σωx ,Σωy を上述した数式7,数式8に代入することにより、複数の時分割画像の内の最初の時分割画像の撮影終了時点からの像位置の移動量ΔY,ΔXをそれぞれ算出する(ステップS405)。
次に、Px=「ΔX/Lx」と、Py=「ΔY/Ly」と、を演算する(ステップS406)。なお、Lx,Lyは、図2に示した1画素31のX方向、Y方向のサイズをそれぞれ表し、「」は小数以下を四捨五入した整数値を意味するものとする。従って、Px,Pyは、最初の時分割画像の撮影終了時点からの像位置の移動量ΔX,ΔYを画素単位で表したものである。
続いて、上記Px,Pyを、各対応するメモリ〔Px〕,〔Py〕にそれぞれ記憶する(ステップS407)。上述したように、記号〔〕は、括弧内のデータを記憶するメモリを示している。
その後、露光時間TExp の露光が終了しているか否かを判定し(ステップS408)、露光が終了していない場合にはJ402へ分岐して、ステップS403から上述と同様の処理を繰り返して行う。
一方、ステップS408において露光が終了していると判定された場合には、この処理を終了する。
続いて、図22は、画素値合成のサブルーチンを示すフローチャートである。
図13のステップS109においてこの処理が開始されると、まず、ぶれ限界露光時間TLimit による露光を行った回数nが0であるか否かを判定する(ステップS501)。
ここで、nが0である場合には、垂直転送電極φV2にVH(15V)のトランスファーパルスを印加することにより、撮像素子1の各画素(より詳しくは、各フォトダイオード32)の電荷を垂直転送CCD34に読み出す(ステップS503)。このステップS503の次に示した点線の矢印は、図13のJ104に分岐して、フォトダイオード32に蓄積された電荷の読み出し完了と同時に次の露光が自動的にスタートすることを意味している。
続いて、上記Py,Pxをメモリ〔Py0〕,〔Px0〕にそれぞれ記憶し、これらの値をそれぞれ新たなPy0,Px0とする(ステップS504)。これらPy0,Px0は、CPU7が角速度ωx ,ωy の入力を開始してから、フォトダイオード32により最初の露光を開始した直後までの、画素数単位で表したぶれ量Py,Px(図21のステップS407においてメモリ〔Px〕,〔Py〕にそれぞれ記憶した値)であり、つまり、露光開始時のオフセット量である。
そして、複数回の露光動作における最後の(前回の)時分割露光までの、Y方向のぶれ補正量の累積加算値を記憶するメモリ〔Sy0〕に0を記憶する(ステップS505)。
一方、ステップS501においてn=0でない場合には、水平転送電極φH2にVH(15V)のトランスファーパルスを印加することにより、撮像素子1の各画素(より詳しくは、各フォトダイオード32)の電荷を水平転送CCD33に読み出す(ステップS507)。このステップS507の次に示した点線の矢印は、図13のJ104に分岐して、フォトダイオード32に蓄積された電荷の読み出し完了と同時に次の露光が自動的にスタートすることを意味している。
続いて、ステップS507で読み出した画像を、−Sx(=−(Px−Px0))の画素数だけ水平(X)方向へ転送する(図3参照)(ステップS508)。ここで(Px−Px0)は最初の露光開始直後からの(つまり、オフセット分を取り除いた)X方向のぶれ量である。また、転送画素数を示す式にマイナスの記号を付したのは、ぶれと反対方向へ画素電荷を移動することにより、新たな読み出し画素電荷を、それまでの加算された画素電荷側へ接近させるためである(図3等参照)。
さらに、前回までの加算画像を、Sy(=(Py−Py0)−Sy0)の画素数だけ垂直(Y)方向へ転送する(図3参照)(ステップS509)。ここで(Py−Py0)は最初の露光開始直後からの(つまり、オフセット分を取り除いた)Y方向のぶれ量であり、Sy0は最初の露光開始直後から前回の時分割露光までに行われたY方向のぶれ補正量(累積ぶれ補正量)である。従って、このステップS509においては、最初の露光開始直後からの今回の時分割露光までのY方向のぶれ量と、前回の時分割露光までに実際に補正したぶれ量と、の差分をとったものを、今回の時分割露光に係る補正量としていることになる。このような演算を採用することにより、前後に連続する2回の露光動作の内の、前の画像のぶれ量を基準にして後の画像のぶれ量を求めて補正するのに比して、演算誤差が累積するのを防止することができる。上述したように、ステップS406の演算においては、画素数単位への四捨五入を行っているために、このステップS509に示したような処理を採用することは有効である。
なお、ここで説明している処理においては、最初の時分割露光に係る画像、そして、この画像に順次加算される加算画像は、原則的に、同一の垂直転送CCD34から移動することがない(水平転送CCD33に移動することがなく、他の垂直転送CCD34に移動することもない)ために、上述したステップS508においては、ステップS509で説明したようなSy0に相当する前回分までの累積ぶれ補正量(例えば、Sx0)を算出する必要がない。
これらステップS508,S509の処理は、1画素分の整数倍のずれを補正して2つの画像を加算する処理である。しかし、単板式のカラー撮像素子、つまり撮像面の前面にモザイク状のカラーフィルタを配置した撮像素子の場合には、さらに、色信号の混合が発生しないように工夫しなければならない。例えば、ベイヤー配列のカラーフィルタでは、2×2のカラーフィルタを単位とするモザイク状フィルタが繰り返し配列されているために、奇数画素分のぶれを補正して加算すると異なる色の信号が加算されてしまい、正常な色を再現することができなくなる。従って、このような課題を解決するためには、カラーフィルタの水平方向の最小繰り返し周期および垂直方向の最小繰り返し周期(ベイヤー配列の場合はそれぞれ2画素)を最小単位として画像を転送(またはシフト)することにより、ぶれを補正するようにすれば良い。今、ベイヤー配列を例にとると、垂直方向のぶれ補正量を2・「Sy/2」、水平方向のぶれ補正量を2・「Sx/2」、とそれぞれすれば良い。ここに、Sx,Syは、上述したステップS508,S509において求めた値である。
次に、垂直転送CCD34に記憶した画像と、水平転送CCD33に記憶した画像と、を転送電極φH0(または転送電極φV0)下(つまり、水平転送CCD33と垂直転送CCD34とが交差する位置)に転送することにより、2つの画像を加算する(ステップS510)。
続いて、加算した電荷を、同一画素内の電荷保持部である垂直転送電極φV2下に転送して記憶する(ステップS511)。このようにするのは、上述したように、転送電極φV0は水平転送電極φH0と兼用しているために、加算した電荷が水平転送CCD33内の電荷と干渉することのないようにするためである。
そして、上記転送量Syと前回の転送量Sy0とを加算してメモリ〔Sy0〕に記憶することにより上記加算した値を新たにSy0とする(ステップS512)。これにより、メモリ〔Sy0〕には、最後の(前回の)時分割露光までのY方向の転送量の累積加算値が記憶されることになる。
このステップS512、または上述したステップS505の処理を終えたところで、この画素値合成のサブルーチンから図13に示したメインルーチンへリターンする。
なお、図22に示したステップS503においては、1回目の時分割露光に係る画素の電荷を垂直転送CCD34に読み出すようにしているが、これに代えて、画素の電荷を水平転送CCD33にまず読み出して、その後に、この読み出した電荷を同一画素内の垂直転送CCD34の垂直転送電極φV2下へ転送して一時的に記憶するようにしても構わない。このような処理を行うようにしても、2回目の時分割露光以降は、上述したのと同一の動作を行うことができる。従って、図6に示した構成においては、フォトダイオード32の電荷を読み出し可能な電極としてφH2およびφV2の2つが設けられていたが、これに限るものではなく、φH2またはφV2の何れか一方の電極のみがフォトダイオード32の電荷を読み出し可能な電極となるように構成されていても構わない。
また、図22に示した例では、2つの画像の内の前回撮影した画像を垂直転送CCD34に記憶し、今回撮影した画像を水平転送CCD33に記憶して相互に所定量ずらすことにより加算して、ぶれの補正された画像を生成するようにしたが、水平転送CCD33と垂直転送CCD34との役割を入れ替えて、2つの画像の内の前回撮影した画像を水平転送CCD33に記憶し、今回撮影した画像を垂直転送CCD34に記憶するようにしても勿論構わない。
図13の説明に戻って、ステップS109における画素値合成のサブルーチンからリターンすると、次に、既に行われた時分割撮影の回数nを記憶するメモリ〔n〕にn+1を記憶する(ステップS110)。
そして、既に行われた時分割撮影の回数nが、設定された時分割撮影の回数mに等しいか否かを判定する(ステップS111)。
ここで、まだn=mになっていない場合には、J103に分岐して、時分割露光の処理と画素値合成の処理とを上述したように繰り返して行う。
また、ステップS111においてn=mであると判定された場合には、垂直転送CCD34内の画像信号を、水平転送CCD42およびアンプ43(図12参照)を介して、この撮像素子1の外部へ読み出す(ステップS112)。
次に、撮像素子1から読み出した画像信号を、CDS2により処理し、ゲインコントロールアンプ(AMP)3により増幅した後に、A/D変換器4によりデジタル信号に変換する(ステップS113)。
続いて、画像信号をデジタル化して得られた画像データに、情報処理部8により所定の信号処理を施す(ステップS114)。
この情報処理部8は、上述したように、撮像素子1から出力された画像データの中から、ぶれ補正が有効に行われたとみなされる領域の画像を抽出するための有効領域抽出部としての機能も有する。次に、この有効領域抽出部の動作について説明する。
図33は、時分割画像の位置とぶれを補正した合成画像の位置との関係を示す図である。この図33を参照して、有効領域抽出部の動作について説明する。
今、ぶれを許容可能な露光時間で画像(以下「時分割画像」とする)Aを撮影して、図6に示したような垂直転送CCD34に一時的に記憶したとする。
次に、時分割画像Bを撮影して、図6に示したような水平転送CCD33に記憶したとする。なお、この図33における時分割画像A,Bの相対的なずれは、画像のぶれを示している。
続いて、時分割画像Aが、垂直転送CCD34により、時分割画像Bと長辺部の端面が重なるように垂直方向に転送される。
さらに、時分割画像Bが、水平転送CCD33により、時分割画像Aと短辺部の端面が重なるように水平方向に転送される。
その後、垂直方向および水平方向に相対的な位置が補正された時分割画像A,Bは、合成(加算)されて、垂直転送CCD34に記憶される。以下では、この合成画像を、合成画像A+Bと呼ぶことにする。
次に、時分割画像Cが撮影されて、水平転送CCD33に記憶される。そして、上述したような時分割画像A,Bのぶれ補正と同様にして、上記合成画像A+Bと時分割画像Cとの相対的なぶれが補正された後に合成されて、合成画像A+B+Cが生成される。
3枚の時分割撮影により撮影が終了する場合には、この合成画像A+B+Cが撮像素子1から出力されることになる。
図33から明らかなように、上記合成画像A+B+Cにおける斜線を施した領域は、時分割画像A,B,Cの内の少なくとも1つの時分割画像のデータが不足している領域である。すなわち、この斜線部は、ぶれが適正に補正されていないと見なすことができる。従って、合成画像A+B+Cの中からぶれが適正に補正された有効領域(例えば、符号Dに示す領域)の画像を抽出する必要がある。
今、画面の水平(X)方向のぶれ量Sxの正(0を含む)の最大値をSx(max+)、負(0を含む)の最大値をSx(max−)とする。また、画面の垂直(Y)方向のぶれ量Sy0の正(0を含む)の最大値をSy0(max+)、負(0を含む)の最大値をSy0(max−)とする。このとき、合成画像A+B+Cの左端からSx(max+)(ただし、図33における画面右方向のぶれを正、画面左方向のぶれを負とする)、右端から−Sx(max−)、下端からSy0(max+)(ただし、図33の画面上方向へのぶれを正、下方向へのぶれを負とする)、上端から−Sy0(max−)、の領域を除いた領域が、時分割撮影の回数に等しい数の画素が加算された領域(ぶれ補正が正常に行われた領域)になる。図33に示した具体例においては、例えば合成画像Dがぶれが正常に補正された画像となる。
ところで、デジタルカメラを保持して撮影するときのぶれは、各画像を撮影する毎に異なるために、何らかの工夫を凝らさないと、合成画像Dの大きさが各画像毎に異なることになってしまう。しかし、これでは得られる画像に統一性がなくなってしまい、その後に画像処理等を行う上で都合が良くない。そこで、この点を解決するために、上述したような各最大値Sx(max+),−Sx(max−),Sy0(max+),−Sy0(max−)が全て等しい値をとると仮定して所定値αに設定し、合成画像Dをこの所定値αに基づいて抽出することにする。
すなわち、図34に示すように、ぶれが正常に補正されたとみなされる領域(有効領域)の合成画像Dとして、合成画像A+B+Cの中の予め決められた領域を設定するようにする。ここに、図34は、合成画像と有効領域との関係を示す図である。このような、所定値αに基づく合成画像Dの決定を行うことにより、処理が簡単になる利点がある。
しかし、所定値αをあまり大きい値に設定すると、合成画像A+B+Cの有効領域が狭くなってしまう。そこで、次に、この有効領域の大きさをどの程度に設定すれば良いかを概算してみる。
視力が1.0である人が、肉眼の2点を識別し得る視角(以下では、2点識別分解能という)はおよそ1分である。そして、画像のぶれの大きさがこの2点識別分解能を越えると、画像を観察する人にはぶれとして認識される。従って、上述したようなぶれ限界露光時間TLimit は、画像をモニタや印画紙に拡大して観察したときに、露光時間内における画像のぶれ量が2点識別分解能1分の視角に相当する大きさまたはそれ以下の大きさになるような露光時間ということになる。本実施形態に係るぶれ補正の技術は、この2点識別分解能に相当するぶれを生じるような露光時間で複数回時分割撮影を行い、この時分割撮影により得られた画像同士の相対的なぶれを補正した後に加算するものである。こうして、この技術により補正可能な最大ぶれ量は、時分割撮影回数の最大値をm(max)とすると、視角にしてm(max)×1分となる。
今、撮影した画像をキャビネサイズ(165[mm]×120[mm])の印画紙にプリントして、プリントした印画紙を30cmの距離において観察する場合における、m(max)×1´(記号「´」は分を表す)の視角により観察される印画紙上の長さΔLは、
ΔL=m(max)×300×2×3.14×1´/360×60´[mm]
のように計算される。
例えば、m(max)を8とすると、ΔL=0.7mmとなる。実際のぶれ限界露光時間内のぶれ量には個人差があることから、幾らかの余裕を見込めば、ΔLは、印画紙の縦横の各全長に対しておよそ1%(上述したキャビネサイズの例では、1〜2[mm]程度)とすれば良いことになる。そして、画面の左右上下の端面のこのΔLにより示される領域は、有効領域抽出部による抽出は行われないことになる。なお、ここではm(max)を8とした例について説明したが、より一般的には、時分割撮影回数の最大値m(max)の大きさに応じて有効領域の大きさを決めれば良い。また、図33,図34は、分かり易くするためにぶれを極端に誇張して図示しており、有効領域がかなり狭いように見えるが、実際のぶれは極めて小さいために、有効領域を抽出しても、画像のサイズに殆ど影響を与えないことがわかる。
ただし、上述したように予め決められた有効領域Dを設定すると、撮影者によっては予想以上のぶれを生じる人もいる可能性があるために、この対策を講じることが望ましい。例えば、ぶれ量が大きいために、予め決められた有効領域Dの画像の一部を欠く(有効領域D内の少なくとも一部において規定の時分割撮影回数が満たされていない)と判定される場合は、その時点で時分割撮影を終了する。そして、規定の時分割撮影回数に満たない程度に応じて合成画像Dを増幅する。このとき、もしデジタルカメラがシャッタ優先撮影モードに設定されている場合には、実際の露光時間が、撮影者が設定した露光時間よりも短くなってしまうが、このようなケースは稀であろうし、規定数に満たない時分割撮影の回数もそれ程多くないであろうことから、実際にはほとんど問題になることはないと考えられる。
次に、上述した有効領域抽出部の動作について、図35を参照して説明する。図35は、有効領域の画像データを抽出する処理を示すフローチャートである。この図35に示す処理は、図13に示すステップS114において、必要に応じてコールされるサブルーチンとなっている。
情報処理部8の有効領域抽出部は、A/D変換器4によってデジタル化された画像データ(図34に示す画像A+B+Cに対応)から予め決められた領域(図34に示す有効領域D)の画像データを抽出する(ステップS1001)。
次に、FLG=1であるか否かを判定する(ステップS1002)。このフラグFLGは、図13の説明において既に述べているように、初期設定では「0」であり、時分割撮影の回数が規定値mに達しないときに「1」に設定されるものである。
ここで、FLG=1である場合には、情報処理部8の有効領域抽出部は、画像データをm/m’倍にデジタル的に増幅する(ステップS1003)。ここにm’は、実際の時分割撮影の回数である。
このステップS1003の処理が終了するか、またはステップS1002においてFLG=1ではないと判定された場合(つまり、規定のm回の時分割撮影が行われた場合)(分岐J1001)には、このサブルーチンから、図13のステップS114にリターンして、情報処理部8におけるその他の必要な信号処理を行う。
なお、上述した図35の処理においては、予め決められた有効領域の画像を撮像装置内部で抽出したが、必ずしもこれに限る必要はない。例えば、画像データの付属情報として、上述したようなSx,Sy0(あるいはさらに、各時分割撮影時のSxおよびSy等)を記録媒体11に記憶しておき、この情報に基づいて、有効領域の画像を抽出する処理を別途のパーソナルコンピュータ等で行っても良い。
図13のステップS114の処理が終了したら、次に、信号処理された画像データを、DRAM9に一時的に記憶する(ステップS115)。
その後、圧縮伸張部10によりDRAM9に記憶された画像データを画像圧縮し(ステップS116)、圧縮した画像データを記録媒体11に記録して(ステップS117)、この処理を終了する。
なお、上述では、図13のステップS102において説明したように、ぶれ限界露光時間TLimit として、数式1で示したような、撮影レンズの焦点距離fから一意的に定まる値を設定していた。しかし、数式1に示される値は、あくまでも経験則により得られた平均的な値である。これに対して、実際に単位時間に発生するぶれ量は、個人差、カメラの大きさ、あるいはカメラの形状等によってばらつくことになる。このようなばらつきに対応可能な技術の例(変形例)について、以下に説明する。
この変形例は、実際のぶれを補正する前にぶれ限界露光時間TLimit を実測して、上述したようなばらつきを考慮したより正確なぶれ補正を行うようにするものである。
すなわち、この変形例は、上述した図13のステップS102の処理に代えて、ぶれ限界露光時間TLimit を実測により求める処理を行うようにしたものである。従って、全体の処理については、ステップS102を除く図13の処理が適用されるものとして、説明を省略する。
ここに、ぶれ限界露光時間TLimit は、X方向のぶれ量が所定の許容し得るぶれ量(許容限界ぶれ量)αxに達するまでの時間TLimit (x)と、Y方向のぶれ量が所定の許容限界ぶれ量αyに達するまでの時間TLimit (y)と、の内の長くない方(つまり、等しくない場合には、短い方となる。)の時間として設定されるようになっている。
ここで上記許容限界ぶれ量αx,αyについて説明する。
今、画像を印画紙にプリントして観察する場合を考える。観察者の眼から印画紙までの距離をK、印画紙の対角長をDp とし、画像のぶれ量が上記印画紙の対角線上で距離ΔDp であったとする。もし、ΔDp /K[ラジアン]が観察者の肉眼の2点識別分解能Δφ以下、すなわち、
[数9]
であれば、ぶれは印画紙を観察している観察者の眼には知覚されない。
ところで、撮像素子の(有効撮像領域の)対角長をDi 、撮像素子の撮像面上におけるぶれ量(上記ΔDp に対応する長さ)をΔDi とすると、印画紙の大きさに対する印画紙上のぶれ量の大きさと、撮像素子の大きさに対する撮像素子上のぶれ量の大きさと、は一致するから、次の数式10が成り立つ。
[数10]
従って、この数式10に示す関係を用いて、数式9からΔDp を消去すると、次の数式11が得られる。
[数11]
この数式11から明らかなように、撮像素子上における許容ぶれ量となるΔDi は、撮像素子のサイズ(Di )や画像の観察条件(Dp ,K)により一義的に決まる値である。この対角方向の許容ぶれ量の例と全く同様にして、撮像素子の撮像面上における、X方向の画像の許容ぶれ量ΔXi と、Y方向の画像の許容ぶれ量ΔYi と、を求めることができる。
今、X方向の許容ぶれ量ΔXi とY方向の許容ぶれ量ΔYi とが等しく、ΔXi=ΔYi=γであるものとする。
なお、一般には、肉眼の2点識別分解能Δφはおよそ1分とされているが、この値は画像の種類やぶれの態様、さらに個人差によってもばらつくと思われるために、商品の達成目標に応じてΔφを適宜選べば良い。
次に、図23および図24を参照して、個人毎のぶれ限界露光時間TLimit を測定する変形例について説明する。まず、図23は、ぶれ量演算の処理を示すフローチャートである。この図23の説明において、上述した図21と重複する部分については、詳細な説明を省略する。
なお、この図23に示す処理は、第1レリーズスイッチ18aが閉じたときからFLG1が1になるまでの間、図13等に示した処理とは独立なプロセスとして実行されるようになっている。
この処理を開始すると、まず、第1レリーズスイッチ18aが閉じるのを待機する(ステップS601)。
そして、第1レリーズスイッチ18aが閉じたこと(第1信号が発生したこと)が検出された場合には、次に、撮影レンズ15の焦点距離fと、被写体距離Lと、を入力する(ステップS602)。これらの焦点距離fと被写体距離Lとは、この図23に示すような処理の中において演算するようにしても良いが、上述と同様に、より高速なサイクルでぶれ量を演算するために、別途のプロセッサ等を用いて焦点距離fと被写体距離Lとを演算し、CPU7はこの演算されたデータをステップS602において入力するようにすると良い。これにより、処理の高速化を図るとともに、リアルタイムへの高い追従性を図ることが可能となる。
続くステップS603〜S605の処理は、図21に示したステップS403〜S405の処理と同様である。
その後、ステップS605において算出されたΔXをメモリ〔ΔX〕に、ΔYをメモリ〔ΔY〕に、それぞれ記憶する(ステップS606)。
そして、FLG1が1であるか否かを判定する(ステップS607)。このFLG1は、図13に示したような全体の処理が開始されたところで、予め0に初期設定されているものとする。そして、後で図24を参照して説明するように、ぶれ限界露光時間TLimit の測定が終了した時点で、1に設定されるようになっている。
このステップS607において、FLG1が1でない(0である)と判定された場合には、J601へ分岐して、上述したようなぶれ量の演算と累積加算値の演算とを繰り返して行う。
一方、ステップS607において、FLG1が1であると判定された場合には、この処理を終了する。
次に、図24は、TLimit の測定のサブルーチンを示すフローチャートである。この図24に示すサブルーチンは、図13のステップS102のTLimit の演算の処理に代えて実行されるものとなっている。
この処理を開始すると、まず、CPU7に内蔵される図示しないタイマカウンタをリセットする(ステップS701)。
次に、図23に示した処理により演算されたΔX,ΔYを、各対応するメモリ〔ΔX〕,〔ΔY〕から読み取り、読み取ったΔX,ΔYの値を、メモリ〔ΔX(ini)〕、〔ΔY(ini)〕にそれぞれ新たに記憶する(ステップS702)。これらΔX(ini),ΔY(ini)は、ΔX,ΔYの初期値である。
続いて、上記ΔX(ini)と新たにメモリから読み出したΔXとの差の絶対値を求めて、これをメモリ〔ΔΔX〕に記憶する。同様にして、上記ΔY(ini)と新たにメモリから読み出したΔYとの差の絶対値を求めて、これをメモリ〔ΔΔY〕に記憶する(ステップS703)。
そして、ΔΔX<γ、かつΔΔY<γであるか否かを判定する(ステップS704)。ここにγは、上述において数式9〜数式11等を参照して説明したような、X方向とY方向とが等しいとしたときの許容ぶれ量γである。
ここでΔΔX<γ、かつΔΔY<γである場合には、J701に分岐して、上述したようなステップS703の処理を繰り返して行う。このような処理を行うことにより、上述したステップS701においてタイマカウンタをリセットした直後からのX方向のぶれ量ΔΔXとY方向のぶれ量ΔΔYとを求めることができる。
また、ステップS704において、ΔΔXとΔΔYとの少なくとも一方がγ未満でない(少なくとも一方が許容ぶれ量γ以上となった)場合には、メモリ〔TLimit 〕にタイマカウンタの情報を記憶する(ステップS705)。従って、このTLimit は、ぶれ量が許容限界ぶれ量γに達するまでの時間、すなわちぶれ限界露光時間となる。
その後、メモリ〔FLG1〕に1を記憶して(ステップS706)、この処理から図13に示したような処理に復帰する。
また、他の変形例として、撮影者が実際に被写体の撮影を行う前に上記手ぶれを許容し得る露光時間TLimit を演算するためのテスト撮影を行い、このときの露光時のぶれ量に基づいてぶれ限界露光時間TLimit を演算して登録しておき(EEPROM24等に記憶しておき)、実際の撮影において、EEPROM24等からこのぶれ限界露光時間TLimit を読み出して利用するようにしても良い。また、複数のぶれ限界露光時間TLimit を上述したように求めてその平均値を登録するようにしても良い。このようにすると、撮影の都度にぶれ限界露光時間TLimit を求める必要がなくなるとともに、より正確なTLimit を求めることが可能となる。このとき、同一のデジタルカメラ等を複数の撮影者が使用することも考えられるが、ぶれ量は、各撮影者の熟練によっても異なる。そこで、撮影者毎にぶれ量を予め測定して登録し、使用時に撮影者の設定を呼び出して使用するようにすると良い。
加えて、更なる他の変形例として、実際のぶれ補正における露光期間(TExp )内におけるX方向のぶれ量とY方向のぶれ量との何れか小さくない方(つまり、等しくない場合には、大きい方)のぶれ量LBLURを記録しておき、
TLimit =TExp ・γ/LBLUR
によりTLimit を求めるようにしても良い。ただし、γは、上述したような許容ぶれ量である。
上述した撮像素子1は、図6の構成からもわかるように、フォトダイオード32毎に垂直転送電極と水平転送電極とを有しているために、フォトダイオード32の占める面積が狭くなって感度が低下することが考えられる。この点を改善するために、撮像素子として、公知の光導電膜積層型の固体撮像素子を用いるようにすると良い。この光導電膜積層型の固体撮像素子は、光電変換機能と走査−読み出し機能とをそれぞれ別の平面で行うことができるようにした三次元構造をもつ固体撮像素子であり、通常のIC技術で走査部だけを集積したシリコン(Si)基板上に、均質な光導電膜を積層し、そこで光電変換を行わせるものである。このような構成を採用すれば、フォトダイオードの感度を高めることが可能となる。
このような実施形態1によれば、デジタルカメラにぶれが発生し得るときには、そのぶれ量に応じて露光時間を時分割し、時分割して得られた複数の画像信号に対してぶれを補正し、この補正された各画像信号を撮像素子内部で高速にアナログ加算するようにしたために、ぶれを補正するための複雑なメカニカル機構や撮像素子外部の電気回路等が不要になるとともに、幅広いシャッタスピードに対応可能なぶれを実質的に無視し得る高画質の画像を得ることができる。また、ぶれが補正された合成画像の中から、時分割撮影によって撮影された全ての画像が共有するとみなされる有効領域の画像を抽出するようにしたために、ぶれの補正された高画質の画像を簡単に得ることができる。
このとき、連続して撮影された時分割画像を垂直転送レジスタと水平転送レジスタとに記憶し、その後に、これら垂直転送レジスタと水平転送レジスタとを用いて転送することによりぶれ補正を行うようにしているために、連続して撮影された時分割画像の位置調整を、極めて高速に行うことが可能となる。
そして、垂直転送レジスタおよび水平転送レジスタに、各々、1つの画素に対して4相の駆動パルスが印加される4つの転送電極を設けたために、垂直転送レジスタに記憶された電荷と水平転送レジスタに記憶された電荷とを混交させることなく、転送することが可能となる。
さらに、垂直方向または水平方向における画素電荷をシフトしてぶれ補正するためのぶれ補正量として、最初の時分割露光を開始した直後から今回の時分割露光までのぶれ量から、最初の時分割露光時から前回の時分割露光時までのぶれ補正量(転送量)の累積加算値を減算したものを用いるようにしたために、演算誤差が累積するのを防止して、正確なぶれ補正を行うことが可能となる。
また、被写体が低輝度であるときには、絞り開口の大きさをより大きくするように設定し、ぶれ量が許容限界に達する露光時間での撮像素子の電荷蓄積量をなるべく大きくするようにしたために、ぶれを実質的に無視し得る、かつS/Nの良好な画像を得ることが可能となる。
このとき、絞り開口の大きさを調整するだけではぶれが発生する可能性がある場合には、さらにISO感度も調整するようにしたために、より広い範囲の被写体の明るさに対応してぶれ補正を行うことが可能となる。
そして、本実施形態で説明した技術は、露光時間中に撮像面に入射する被写体光の位置が変化するぶれに対応可能なぶれ補正の技術であるために、特に、静止画撮影におけるぶれ補正に適したものとなる。
加えて、上述した技術は、ぶれ補正を撮像素子において行う技術であるために、この技術をレンズ交換式のデジタルカメラのカメラ本体側に適用すれば、ぶれ補正機能を備えない従来の撮影レンズと組み合わせたときにも、ぶれ補正を行うことができる利点がある。
また、デジタルカメラが制御不能な露出値の場合は警告表示を行い、何れの撮影モードにおいても手ぶれ防止を行うとともに、演算された露光時間が手ぶれが発生する可能性がある露光時間(の閾値)よりも長いときには、予め警告表示をして、手ぶれ防止を優先する撮影モードに設定し撮影を行うようにしたために、撮影者に誤解を与えることなく確実に手ぶれ防止を行うことができる。
また、撮影モードがシャッタ優先撮影モード、絞り優先撮影モードなどの何れであるかによらず、各撮影モードによる露出制御を最大限優先した適正な露光量制御を行ないつつ、撮像素子内部で電子的にぶれを補正することができ、ぶれを実質的に無視し得る画像を得ることが可能となる。
[実施形態2]
図25から図31は本発明の実施形態2を示したものである。この実施形態2において、上述の実施形態1と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
実施形態1において、図6等を参照して説明したような構成の撮像素子1は、従来のインターライン・フレーム転送型CCD撮像素子の撮像部に大幅な変更を加える必要がある。しかし、従来のインターライン・フレーム転送型CCD撮像素子は、長年の技術蓄積の成果として、様々な改良が行われて現在の優れた性能を持つに至ったものである。また、従来のインターライン・フレーム転送型CCD撮像素子は、垂直転送電極の構成を工夫して画素加算を行うなど、機能面でも様々な改良が行われている。従って、撮像部に大幅な改良を加えることは、新たな技術課題の解決に時間を要する可能性があるとともに、これまでの長年の技術をそのまま継承する妨げにもなり兼ねない。
そこで、本実施形態は、上記したような課題を解決するべく、撮像部については従来型のインターライン・トランスファー型CCD撮像素子の構成をそのまま採用して、蓄積部のみを改良したものとなっていて、フレーム・インターライン・トランスファー型の撮像素子を応用した例である。
本実施形態に係るデジタルカメラ全体の構成は、図1に示したものと基本的に同様であり、デジタルカメラ全体の動作についても、図13に示したものと基本的に同様である。ただし、固体撮像素子1の構成が異なって後で図25を参照して説明するようになり、それに応じて、図13に示した処理の内の、ステップS109における画素値合成の処理の内容が異なっている。従って、本実施形態においては、撮像素子1の構成と、画素値合成の動作とを主として説明し、その他の部分については詳細な説明を適宜省略する。
まず、図25は、固体撮像素子1全体の構成の概略を示す図である。
この撮像素子1は、図25に示すように、撮像部41Bと、補正/加算部40と、水平転送部42Bと、を有している。
撮像部41Bは、撮影レンズ15により結像された光学像を電気信号に変換する光電変換部である。すなわち、撮像部41Bは、複数の(実質的には、多数の)フォトダイオード(PD)32(図26参照)がマトリクス状に配列されていて、このフォトダイオード32の各列に隣接して列方向に配置された垂直転送CCDでなる垂直転送部35を備えている。この垂直転送部35は、各フォトダイオード32で光電変換し蓄積した電荷を、次に述べる補正/加算部40(=レジスタ部)へ転送するための電荷転送部であり第1転送部である。
補正/加算部40は、撮像部41Bに隣接して配設されており、この撮像部41Bから転送される複数の時分割画像の相対的なぶれを補正して、補正した時分割画像同士を加算し、加算した画像を記憶する加算部、ぶれ補正部、レジスタ部となっている。この補正/加算部40の構成については、後で図26を参照してより詳細に説明する。
水平転送部42Bは、補正/加算部40でぶれが補正された画像を撮像素子1の外部へ読み出すための読出部、転送部(第2転送部)である。
この水平転送部42Bから読み出された信号は、アンプ43によりアナログ増幅されるようになっている。
この図25に示すような構成から明らかなように、本実施形態の撮像素子1は、フレーム・インターライン・トランスファー方式(FIT方式)を応用したものとなっており、撮像部41Bは、後で図26にも示すように、インターライン・トランスファー方式で構成されている。
次に、図26は、固体撮像素子1の撮像部41Bと補正/加算部40との構成を拡大して示す図である。
なお、IφV0〜IφV3,SφH0〜SφH3,S1φV0〜S1φV3,S2φV0〜S2φV3は、後述するように電荷転送用の駆動パルスを示すものであるが、例えば「転送電極IφV0」なる記載は、「駆動パルスIφV0を印加する電極」を意味するものとする。
撮像部41Bは、マトリクス状に配列された複数のフォトダイオード(PD)32と、これらのフォトダイオード32により光電変換され蓄積された電荷を補正/加算部40へ転送するための垂直転送部35と、を備えている。ここに、垂直転送部35は、転送パルスを印加するための垂直転送電極IφV0〜IφV3を含んで構成されている。
また、撮像部41Bの1画素31は、1つのフォトダイオード32と、2つの垂直転送電極と、を含んで構成されている。このとき、1画素31には2つのタイプがあり、1つめはフォトダイオード32と垂直転送電極IφV0,IφV1を含むもの、2つめはフォトダイオード32と垂直転送電極IφV2,IφV3を含むものである。そして、この1画素31は、水平方向(X方向)のサイズがLx、垂直方向(Y方向)のサイズがLyであるものとする。
また、補正/加算部40は、X方向転送部33Bと、Y方向転送部34Bと、分割画像転送部36と、を含んで構成されている。
分割画像転送部36は、フォトダイオード32で蓄積された電荷を補正/加算部40へ転送する転送部であり、撮像部41Bの垂直転送部35と連続するように垂直方向に配列された垂直転送電極S1φV0〜S1φV3を含んで構成されている。これらの垂直転送電極S1φV0〜S1φV3は、撮像部41Bから転送された電荷を補正/加算部40へ転送するパルスを印加するための電極である。
X方向転送部33Bは、分割画像転送部36により転送されてきた電荷を水平方向へ転送する転送部(第1転送レジスタ)であり、上述した分割画像転送部36と交差するように水平方向に配列された水平転送電極SφH0〜SφH3を含んで構成されている。これらの水平転送電極SφH0〜SφH3は、上述した垂直転送電極S1φV0〜S1φV3の内の電極S1φV0と電極S1φV2との下に転送された電荷を、デジタルカメラのX方向のぶれに応じた量だけ水平方向へ転送する転送パルスを印加するための電極である。
Y方向転送部34Bは、時分割露光による複数の電荷を加算してこの加算した電荷を垂直方向へ転送する転送部(第2転送レジスタ)であり、上述した分割画像転送部36の垂直方向の各配列に隣接してX方向転送部33Bと交差するように垂直方向に配列された垂直転送電極S2φV0〜S2φV3を含んで構成されている。これらの垂直転送電極S2φV0〜S2φV3は、ぶれが補正された複数の時分割画像を加算して得られる画像を記憶するとともに、この加算された画像をデジタルカメラのY方向のぶれに応じた量だけ垂直方向へ転送する転送パルスを印加するための電極である。
なお、上述したような各電極の内、電極SφH2と、電極S1φV0または電極S1φV2と、は共通である。さらに、電極SφH0と電極S2φV0とは共通である。
また、上述した各電極は、多結晶シリコンから構成されており、隣接する電極同士は層間絶縁層を介して配置されている。そして、隣接する電極同士は、撮像面に垂直な方向から見たときに、端面同士が一部重なるように配設されている。この図26において、電極の破線で示されている端面は、該電極の端面部分が他方の電極の下部に配置されていることを意味している。
そして、同一の駆動パルスを印加する電極同士は、コンタクト部を介して所定の配線層により相互に接続されている。ただし、この図26においては、電極の配置を明瞭にするために、電極同士の配線については図示を省略している。
この補正/加算部40は、撮像部41Bの1画素31に各対応して、図26において一点鎖線で囲んだ範囲に示すような1単位のレジスタ37を、複数備えている(なお、本実施形態の撮像素子1は、後述するように、動画撮影に適したフィールド読み出しを行うことができるとともに、静止画撮影に適した全画素読み出しも行うことができるようになっている。これらの内のフィールド読み出しを行う場合には、補正/加算部40に設けられた全てのレジスタ37の内の半分(水平方向の数は同一であるが、垂直方向の数が半分)の数のレジスタ37を用いることになる。一方、全画素読み出しを行う場合には、補正/加算部40に設けられた全てのレジスタ37を用いることになる。)。
このレジスタ37にも、2つのタイプの電極構成が存在している。
まず、第1のレジスタ37は、電極SφH0,SφH3,SφH2,SφH1と、電極S1φV0,S1φV1と、電極S2φV0〜S2φV3と、を含む電極群である。これらの中には、上述したように、共通する電極が2カ所あるために、この第1のレジスタ37に含まれる電極の数は8である。
また、第2のレジスタ37は、電極SφH0,SφH3,SφH2,SφH1と、電極S1φV2,S1φV3と、電極S2φV0〜S2φV3と、を含む電極群である。これらの中にも共通する電極が2カ所あるために、この第2のレジスタ37に含まれる電極の数も8である。
従って、X方向転送部33Bを構成する水平転送電極SφH0〜SφH3と、Y方向転送部34Bを構成する垂直転送電極S2φV0〜S2φV3とは、第1のレジスタ37と第2のレジスタ37との何れにおいても、全ての種類の電極が1つずつ配置されていることになる。これは、ぶれに応じて電荷を転送するときに、水平転送電極SφH0〜SφH3下に記憶している電荷と、垂直転送電極S2φV0〜S2φV3下に記憶している電荷とが、相互に干渉しないようにするためである。
一方、分割画像転送部36を構成する垂直転送電極S1φV0〜S1φV3は、加算する直前の電荷を記憶する機能を備える必要がない(この機能は、X方向転送部33BとY方向転送部34Bとが担っている)ために、1つのレジスタ37内には2種類の電極しか配置されていない。従って、1つの第1のレジスタ37と1つの第2のレジスタ37とを組にしたときに、初めて分割画像転送部36を構成する全ての種類の垂直転送電極S1φV0〜S1φV3が1つずつ揃うことになる。こうして、可能な範囲内で、電極の構成をなるべく簡単にするようにしている。
そして、X方向転送部33Bの電極SφH1および電極SφH3の面積は、電極SφH0および電極SφH2の面積に比べて狭く、Y方向転送部34Bの電極S2φV1および電極S2φV3の面積は、電極S2φV0および電極S2φV2の面積に比べて狭くなっている。こうして、X方向転送部33BとY方向転送部34Bとは、相対的に広い面積の電極と相対的に狭い面積の電極とを交互に配置して構成された4相CCDとなっている。
このとき、X方向転送部33Bの電極SφH1と電極SφH3とは電荷の転送にのみ用い、電荷の蓄積は電極SφH0と電極SφH2との下においてのみ行うようにしている。同様に、Y方向転送部34Bの電極S2φV1と電極S2φV3とは電荷の転送にのみ用い、電荷の蓄積は電極S2φV0と電極S2φV2との下においてのみに行うようにしている。
このような非均等な電極構成を採用することにより、X方向転送部33BとY方向転送部34Bとにおける電荷の蓄積容量を大きくすることが可能となるとともに、補正/加算部40の面積を狭くして撮像素子の小型化を図ることが可能となる。また、基板面積を小さくすることは、製造時の撮像素子の歩留まりを向上させ、製造コストを下げることにも貢献する。
なお、X方向転送部33Bの端部およびY方向転送部34Bの端部の転送電極下のポテンシャル井戸の電荷があふれるのを防止するために、実施形態1で述べたような、電荷をドレインに排出する機構を設ける(図32参照)。ただし、水平転送部42Bに面した側については同様の排出機構を設けることができないために、ぶれ補正のための転送動作中に水平転送部42Bに面した側の端部に転送されてきた電荷は、水平転送部42Bを介して該水平転送部42Bの出力部から排出するようにする。
このような構成において、補正/加算部40から水平転送部42Bへの画素電荷の読み出しは、2種類の経路により行い得るようになっている。すなわち、Y方向転送部34Bと、分割画像転送部36とは、何れも、水平転送部42Bへ接続されていて、画素電荷を該水平転送部42Bへ転送することが可能となっている。従って、第1の経路は、Y方向転送部34Bを介して水平転送部42Bから撮像素子1の外部へ読み出される経路、第2の経路は、分割画像転送部36を介して水平転送部42Bから撮像素子1の外部へ読み出される経路である。
第1の経路は、後述するような、時分割撮影され、ぶれ補正され、加算されてY方向転送部34Bの垂直転送電極S2φV2下に蓄積された電荷、を転送する際に用いられる。
また、第2の経路は、通常の撮影を行い、その電荷を通常のフレーム・インターライン・トランスファー方式と同様にして分割画像転送部36を介して転送する際に用いられる。後述するように、演算された露光時間がぶれ限界露光時間TLimit よりも短く通常の撮影(1回のみの露光)が行われるときや、動画撮影のためにフィールド読み出しをおこなうときなどには、この第2の経路が用いられる。
そして、既に述べているように、垂直転送電極(S1φV0〜S1φV3)が配置されていて、フォトダイオードPDで蓄積された電荷を補正/加算部40に転送するための転送部を、分割画像転送部36と呼ぶことにする。また、水平転送電極(SφH0〜SφH3)が配置されていて、分割画像転送部36に蓄積された電荷を水平方向に転送する転送部を、X方向転送部33Bと呼ぶことにする。さらに、垂直転送電極(S2φV0〜S2φV3)が配置されていて、時分割露光による複数の画像を加算して、この加算した電荷を垂直方向に転送する転送部を、Y方向転送部34Bと呼ぶことにする。
また、電荷を記憶して垂直方向へ転送するための垂直転送電極を含む垂直転送CCDを垂直転送レジスタと呼ぶ。また、電荷を記憶して水平方向へ転送するための水平転送電極を含む水平転送CCDを水平転送レジスタと呼ぶ。
次に、図27は、撮像時における固体撮像素子1の基本的な動作を示すタイミングチャートである。
この図27において、VSUBは、フォトダイオード32に蓄積された電荷を半導体基板(サブストレート)へ強制排出するための基板印加高電圧パルスである。また、φV,φHは、図26に示したような全ての転送電極を総称した記載である。
撮影動作を開始すると、所定のタイミングとなる時刻t01から露光(電荷蓄積)開始時刻t02までの間、VSUBに高電圧のパルスを印加すると同時に、電極φV,φHに高周波の転送パルスを印加する。すると、フォトダイオード32に蓄積されている電荷と、各転送CCDに残っている電荷と、が全て排出される。
その後、露光動作開始の信号を受けると、時刻t02のタイミングにおいてVSUBへの高電圧パルスの印加を停止することにより、受けた光の強度に応じた電荷がフォトダイオード32に蓄積される。このフォトダイオード32への電荷の蓄積は、時刻t02から時刻t03までの露光時間TExp において継続的に行われる。そして、この露光時間TExp をぶれが発生しないような時間間隔に時分割して、各時分割画像を繰り返しぶれ量に応じて転送し加算することにより、ぶれ補正が行われた露光時間TExp の1枚の画像データを得るようになっている。この露光時間TExp における撮像素子1の動作については、後で図28および図29を参照してより詳しく説明する。
時刻t03において露光が終了すると、補正/加算部40のY方向転送部34Bの垂直転送電極S2φV2の下のポテンシャル(以下では、「ポテンシャル」を省略する。)に蓄積されているぶれの補正された画像が、水平転送部42B(図25参照)を介して、通常の読み出し速度で撮像素子1から読み出される。
次に、図28は、固体撮像素子1の撮像部41Bにより撮像された画像を補正/加算部40へ転送する動作を示すタイミングチャートである。
なお、電極に印加される駆動パルスの電圧は、読み出し用のトランスファーパルスとなる高電圧VH(15[V])、電荷保持用の中電圧VM(0[V])、異なる電極下に保持されている電荷同士の混在を防ぐポテンシャルバリアーを形成するための低電圧VL(−5[V])の3値となっている。ただし、これらの3値の内、高電圧VHが印加されるのは、ゲート電極を兼ねた電極IφV0,IφV2のみである。
今、複数回の時分割露光の内の1回の時分割露光が終了したとすると、時刻t_1において電極IφV0および電極IφV2に高電圧VH(15[V])を印加する。このときには、電極IφV1,IφV3および電極S1φV0〜S1φV3は、全て低電圧VL(−5[V])に設定されている。これにより、フォトダイオード32に蓄積された電荷が、垂直転送部35の電極IφV0,IφV2下へそれぞれシフトされる。シフトが行われたら、電極IφV0,IφV2への印加電圧は中電圧VM(0[V])になり、読み出された電荷がこの電極φH2下において保持(蓄積)される。
電極IφV0,IφV2に印加される電圧が高電圧VH(15[V])から中電圧VM(0[V])に変化すると同時に、フォトダイオード32では次の撮影のための電荷の蓄積が開始される。すなわち、次の時分割撮影の開始である。
時刻t_2では、電極IφV1が中電圧VMとなって、電極IφV0〜IφV2が中電圧VMであるために、時刻t_1においてフォトダイオード32からIφV0,IφV2下にシフトした電荷は、電極IφV0〜IφV2下に拡散して混合する。従って、ここでは垂直に連続する2つの画素に係る電荷の混合が行われるが、これは、通常のフレームインターライン転送型CCDの動作と同様に、フィールド読み出しを行うためである。従って、次のフィールドにおいては、垂直に連続する2つの画素の組み合わせを異ならせて読み出すことになる。
時刻t_3では、電極IφV0が低電圧VLとなって、電極IφV1,IφV2が中電圧VMであるために、時刻t_2で電極IφV0〜IφV2下に蓄積されていた電荷は、電極IφV1,IφV2下に移動する。
時刻t_4では、電極IφV3が中電圧VMとなって、電極IφV1〜IφV3が中電圧VMであるために、時刻t_3で電極IφV1,IφV2下に蓄積された電荷は、電極IφV1〜IφV3の電極下に移動する。さらにこのとき、補正/加算部40の電極S1φV0が中電圧VMとなって、撮像部41Bの最終段の画素に対応する電極IφV1〜IφV3下の電荷は、補正/加算部40の最初の電極S1φV0下にも拡散する。
時刻t_5では、電極IφV1が低電圧VLとなって、電極IφV2,IφV3が中電圧VMであるために、時刻t_4で電極IφV1〜IφV3下に蓄積されていた電荷は、電極IφV2,IφV3下に移動する。また、撮像部41Bの最終段の画素の電荷は、電極IφV2,IφV3および補正/加算部40の最初の電極S1φV0下に移動する。
時刻t_6では、電極IφV0が中電圧VMとなって、電極IφV0,IφV2,IφV3が中電圧VMであるために、時刻t_5で電極IφV2,IφV3下に蓄積された電荷は、電極IφV0,IφV2,IφV3下に移動する。また、撮像部41Bの最終段の画素の電荷は、電極IφV2,IφV3および補正/加算部40の最初の電極S1φV0下に蓄積されたままである。
時刻t_7では、電極IφV2が低電圧VLとなって、電極IφV0,IφV3が中電圧VMであるために、時刻t_6で電極IφV0,IφV2,IφV3の電極下に蓄積されていた電荷は、電極IφV0,IφV3下に移動する。また、撮像部41Bの最終段の画素の電荷は、電極IφV3および補正/加算部40の最初の電極S1φV0下に移動する。
時刻t_8では、電極IφV1が中電圧VMとなって、電極IφV0,IφV1,IφV3が中電圧VMであるために、時刻t_7で電極IφV0,IφV3下に蓄積されていた電荷は、電極IφV0,IφV1,IφV3下に移動する。また、撮像部41Bの最終段の画素の電荷は、電極IφV3および補正/加算部40の最初の電極S1φV0下に蓄積されたままである。
時刻t_9では、電極IφV3が低電圧VLとなって、電極IφV0,IφV1が中電圧VMであるために、時刻t_8で電極IφV0,IφV1,IφV3下に蓄積されていた電荷は、電極IφV0,IφV1下に移動する。さらにこのとき、補正/加算部40の電極S1φV1が中電圧VMとなって、補正/加算部40の電極S1φV0,S1φV1が中電圧VMであるために、時刻t_8で電極IφV3,S1φV0下に蓄積されていた電荷は、電極S1φV0,S1φV1下に移動する。
時刻t_10 では、電極IφV2が中電圧VMとなって、電極IφV0〜IφV2が中電圧VMであるために、時刻t_9で電極IφV0,IφV1下に蓄積されていた電荷は、電極IφV0〜IφV2下に移動する。さらにこのとき、補正/加算部40の電極S1φV0が低電圧VLとなり、電極S1φV2が中電圧VMとなって、電極S1φV1,S1φV2が中電圧VMであるために、時刻t_9で電極S1φV0,S1φV1下に蓄積されていた電荷は、電極S1φV1,S1φV2下に移動する。
以上のような動作を繰り返すことにより、補正/加算部40の電極S1φV0〜S1φV3下(図26に示した分割画像転送部36)には、フィールド蓄積モードで転送された電荷が蓄積される。
なお、撮像部41Bから補正/加算部40への画像転送が終了した時点では、補正/加算部40においては、電極S1φV0,S1φV2が中電圧VMで、その他の電極S1φV1,S1φV3は低電圧VLとなっている。従って、電荷は、電極S1φV0および電極S1φV2下に蓄積されている。
また、この図28においては、撮像素子1からフィールド読み出しを行う例について説明したが、本実施形態の撮像素子1は、各電極に印加するパルスを変更することにより、全画素読み出しを行うこともできるようになっている。ここに、全画素読み出しとは、撮像部41Bに設けられた全てのフォトダイオード32から垂直転送部35へ画素電荷を一斉に転送し、その後に、上記時刻t_2において説明したような2つの画素に係る電荷の混合(フィールド読み出しに係る電荷の混合)を行うことなく、各画素電荷を補正/加算部40の分割画像転送部36へ転送する読み出しのことである。この全画素読み出しを行った場合には、撮像部41Bから補正/加算部40への画像転送が終了した時点では、補正/加算部40においては、電極S1φV0および電極S1φV2が中電圧VMで、その他の電極S1φV1,S1φV3は低電圧VLとなる。従って、電荷は、電極S1φV0,S1φV2下に蓄積されることになる。
次に、図29は、補正/加算部40において行われるぶれ補正動作と加算動作とを示すタイミングチャートである。
この撮像素子1の補正/加算部40におけるぶれ補正動作および加算動作の概要は、次のようになっている。すなわち、補正/加算部40は、Y方向転送部34Bに記憶されている前回までの加算画像を、垂直方向のぶれ量を補正するように、まずY方向転送部34B内で垂直方向へ転送した後に、撮像部41Bから補正/加算部40へ転送されてX方向転送部33Bに記憶されている最新の画像を、前回の撮像からの水平方向のぶれ量を補正するようにX方向転送部33B内で水平方向へ転送し、その後に、最新の画像と加算画像とをY方向転送部34Bの電極S2φV0〜S2φV2等の下で加算し、記憶するようにしたものとなっている。
なお、この図29には、加算画像を紙面上方向へ1画素分シフトする例を示している。
時刻t-1では、電極SφH2および電極S2φV2が中電圧VMとなっていて、補正/加算部40のX方向転送部33Bにおける電極SφH2(電極S1φV0および電極S1φV2)下には最新の画像が、Y方向転送部34Bにおける電極S2φV2下には加算画像が、それぞれ記憶されている。これらの内の最新の画像に係る電荷は、後の時刻t-9に至るまでは、電極SφH2下にそのまま保持(記憶)される。
時刻t-2では、電極S2φV1が中電圧VMとなって、電極S2φV1,S2φV2が中電圧VMであるために、時刻t-1で電極S2φV2下に記憶されていた画像(加算画像)は、電極S2φV1,S2φV2下に移動する。
時刻t-3では、電極S2φV0が中電圧VMとなって、電極S2φV0〜S2φV2が中電圧VMであるために、時刻t-2で電極S2φV1と電極S2φV2下に記憶されていた画像(加算画像)は、電極S2φV0〜S2φV2下に移動する。
時刻t-4では、電極S2φV2が低電圧VLとなって、電極S2φV0,S2φV1が中電圧VMであるために、時刻t-3で電極S2φV0〜S2φV2下に記憶されていた画像(加算画像)は、電極S2φV0,S2φV1下に移動する。
時刻t-5では、電極S2φV3が中電圧VMとなって、電極S2φV0,S2φV1,S2φV3が中電圧VMであるために、時刻t-4で電極S2φV0と電極S2φV1下に記憶されていた画像(加算画像)は、電極S2φV0,S2φV1,S2φV3下に移動する。
時刻t-6では、電極S2φV1が低電圧VLとなって、電極S2φV0,S2φV3が中電圧VMであるために、時刻t-5で電極S2φV0,S2φV1,S2φV3下に記憶されていた画像(加算画像)は、電極S2φV0,S2φV3下に移動する。
時刻t-7では、電極S2φV2が中電圧VMとなって、電極S2φV0,S2φV2,S2φV3が中電圧VMであるために、時刻t-6で電極S2φV0,S2φV3下に記憶されていた画像(加算画像)は、電極S2φV0,S2φV2,S2φV3下に移動する。
時刻t-8では、電極S2φV0が低電圧VLとなって、電極S2φV2,S2φV3が中電圧VMであるために、時刻t-7で電極S2φV0,S2φV2,S2φV3下に記憶されていた画像(加算画像)は、電極S2φV2,S2φV3下に移動する。
時刻t-9では、電極S2φV3が低電圧VLとなって、電極S2φV2が中電圧VMであるために、時刻t-8で電極S2φV2,S2φV3下に記憶されていた画像(加算画像)は、電極S2φV2下に移動する。
このような動作を行うことにより、Y方向転送部34Bに記憶されている加算画像が、図26の紙面上方向へ1画素分シフトされたことになる。なお、複数画素分の移動を行う場合には、同様の動作を画素数分繰り返して行えば良い。そして、この電極S2φV2下の加算画像に係る電荷は、後の時刻t-12 に至るまでは、そのまま保持(記憶)される。
こうして加算画像をY方向転送部34Bを介して所定画素分だけ転送したところで、電極S2φV3が低電圧VLになったことと同期して、X方向転送部33Bの電極SφH3を中電圧VMにする。
すると、時刻t-10 では、電極SφH2,SφH3が中電圧VMであるために、撮像部41Bから補正/加算部40へ転送され、時刻t-9まで電極SφH2下に記憶されていた最新の画像は、電極SφH2,SφH3下に移動する。
時刻t-11 では、電極SφH0が中電圧VMとなって、電極SφH0,SφH2,SφH3が中電圧VMであるために、時刻t-10 で電極SφH2,SφH3下に記憶されていた画像は、電極SφH0,SφH2,SφH3下に移動する。
時刻t-12 では、電極SφH2が低電圧VLとなって、電極SφH0,SφH3が中電圧VMであるために、時刻t-11 で電極SφH0,SφH2,SφH3下に記憶されていた画像は、電極SφH0,SφH3下に移動する。
時刻t-13 では、電極S2φV1が中電圧VMとなって、電極SφH0(S2φV0),SφH3,S2φV1,S2φV2が中電圧VMであるために、時刻t-12 で電極SφH0,SφH3下に記憶されていた最新の画像に係る電荷と、電極S2φV2下に記憶されていた画像(加算画像)に係る電荷とは、電極SφH0(S2φV0),SφH3,S2φV1,S2φV2下に拡散される。従って、この時点で、最新の画像に係る電荷と、加算画像に係る電荷と、の混合が行われる。
時刻t-14 では、電極SφH3が低電圧VLとなって、電極SφH0(S2φV0),S2φV1,S2φV2が中電圧VMであるために、時刻t-13 で電極SφH0(S2φV0),SφH3,S2φV1,S2φV2下に記憶されていた画像は、電極SφH0(S2φV0),S2φV1,S2φV2下に移動する。
時刻t-15 では、電極SφH0(S2φV0)が低電圧VLとなって、電極S2φV1,S2φV2が中電圧VMであるために、時刻t-14 で電極SφH0(S2φV0),S2φV1,S2φV2下に記憶されていた画像は、電極S2φV1,S2φV2下に移動する。
時刻t-16 では、電極S2φV1が低電圧VLとなって、電極S2φV2が中電圧VMであるために、時刻t-15 で電極S2φV1,S2φV2下に記憶されていた画像は、電極S2φV2下に移動する。
このような動作を行うことにより、最新の画像と、前回までのぶれが補正されて加算された時分割画像(加算画像)とが、加算された状態で、Y方向転送部34Bの電極S2φV2下に記憶される。
なお、新たに加算した画像を時刻t-16 で電極S2φV2下に記憶するようにしたのは、上述したように、次回の時分割画像をX方向転送部33B(図26)内で転送する際に、既に加算した画像と最新の画像とが相互に干渉しないようにするためである。
また、上述では、最新の画像をX方向転送部33Bの電極SφH2から、同一レジスタ37内の電極SφH0まで転送する動作についてのみ説明したが、同様の動作を繰り返して行うことにより、紙面左方向へ1画素分シフトすることが可能である。
そして、上述では、Y方向のぶれ量が1画素分である例について示したが、より一般のぶれ量の場合には、そのぶれ量に応じた量だけX方向およびY方向へ上述したように転送すれば良い。このとき、X方向のぶれが、該X方向における正方向あるいは負方向の何れであっても、電極に印加するパルスの位相を制御することにより、自由にぶれ補正を行うことができる。これは、Y方向のぶれについても全く同様である。
このような動作を行うことにより、Y方向転送部34Bに記憶されている加算画像が、図26の紙面上方向へ1画素分シフトされたことになる。なお、複数画素分の移動を行う場合には、同様の動作を画素数分繰り返して行えば良い。そして、この電極S2φV2下の加算画像に係る電荷は、後の時刻t-12 に至るまでは、そのまま保持(記憶)される。
こうして、撮像素子1の補正/加算部40におけるX方向転送部33BおよびY方向転送部34Bの電極を、1画素相当分当たり4つ設ける(ただし、交差位置の電極(SφH0,S2φV0)は共通である)ことにより、ぶれを補正するためにぶれ量に応じた任意の量の転送を行う際に、X方向転送部33B内の新たな画像に係る電荷と、Y方向転送部34Bの加算画像に係る電荷と、が相互に干渉することのないようにしている。
なお、図28のタイミングチャートを参照して説明したようなフィールド読み出し、つまり垂直転送部35の中で奇数行の信号電荷と偶数行との信号電荷とを混合する読み出しを行う場合には、図26に示したY方向転送部34Bの1つの電極S2φV2下に記憶される画像データは、撮像部41Bの画素の内、水平方向1×垂直方向2画素(つまり、垂直方向に連続する2画素)分に対応している。
これに対して、上述したような全画素読み出しを行う場合には、図26に示したY方向転送部34Bの1つの電極S2φV2下に記憶される画像データは、撮像部41Bの画素の内、水平方向1×垂直方向1画素(つまり、1画素)分に対応している。
従って、Y方向のぶれ量ΔYからY方向の画素の転送量Pyを求める場合に、フィールド読み出しではPy=「ΔY/(2・Ly)」となり、全画素読み出しではPy=「ΔY/Ly」となる。
図30は、CPU7により移動量ΔX,ΔY等を算出する処理の流れを示すフローチャートであって、このような読み出し方式に応じて、Y方向の画素の転送量Pyを求める場合を示している。この図30において、図21と同様である部分については、適宜説明を省略する。
まず、図30におけるステップS801〜S805の処理は、図21におけるステップS401〜S405の処理と同様である。
そして、ステップS805の処理を行った後に、撮像素子1からの読み出しがフィールド読み出しに設定されているか否かを判定する(ステップS806)。
ここで、フィールド読み出しに設定されている場合には、Px=「ΔX/Lx」と、Py=「ΔY/(2・Ly)」と、を演算する(ステップS807)。
一方、ステップS806において、フィールド読み出しでないと判定された場合、すなわち、全画素読み出しであると判定された場合には、Px=「ΔX/Lx」と、Py=「ΔY/Ly」と、を演算する(ステップS808)。
その後のステップS809,S810の処理は、図21のステップS407,S408の処理と同様である。
続いて、図31は、画素値合成のサブルーチンを示すフローチャートである。この図31に示す画素値合成のサブルーチンは、上述した実施形態1と同様に、図13に示した処理におけるステップS109において実行されるようになっている。
すなわち、図13のステップS109においてこの処理が開始されると、まず、撮像部41Bにおいてフォトダイオード32の電荷を垂直転送部35へシフトし、さらに補正/加算部40の分割画像転送部36へ転送する(ステップS901)。なお、フォトダイオード32は、画素電荷を垂直転送部35へシフトした直後から、次の時分割露光を開始する。
次に、前回撮影した画像を垂直方向(Y方向)へ転送する転送量(上述したように、補正/加算部40における画素数に換算した転送量)Sy(=(Py−Sy0))を演算する(ステップS902)。ここに、Pyは、最初の露光開始直後からのY方向のぶれ量であり、Sy0は最初の時分割露光を開始した直後から前回の時分割露光までに行われたY方向のぶれ補正量(累積ぶれ補正量)である。従って、このステップS902においては、最初の時分割露光を開始した直後から今回の時分割露光までのY方向のぶれ量と、前回の時分割露光までに実際に補正したぶれ量と、の差分をとったものを、今回の時分割露光に係る補正量としていることになる。このような手段を用いることにより、前後に連続する2回の露光動作の内の、前の画像のぶれ量を基準にして後の画像のぶれ量を求めて補正するのに比して、演算誤差が累積するのを防止することができる。上述したように、ステップS807またはステップS808の演算においては、画素数単位への四捨五入を行っているために、このステップS902に示したような処理を採用することは有効である。
続いて、同様に、今回撮影した最新の画像を水平方向(X方向)へ転送する転送量(上述したように、補正/加算部40における画素数に換算した転送量)−Sx(=−Px)を演算する(ステップS903)。ここでPxは上述したように最初の時分割露光を開始した直後から今回の時分割露光までのX方向のぶれ量である。また、転送画素数を示す式にマイナスの記号を付したのは、ぶれと反対方向へ画素電荷を移動することにより、新たな読み出し画素電荷を、それまでの加算された画素電荷側へ接近させるためである。
なお、ここで説明している処理においては、加算画像は、Y方向転送部34Bに記憶された後は、原則的に、同一のY方向転送部34Bから移動することがない(X方向転送部33B上を移動することがなく、他のY方向転送部34Bへ移動することもない)ために、上述したステップS903においては、ステップS902で説明したようなSy0に相当する前回分までの累積ぶれ補正量(例えば、Sx0)を算出する必要がない。
次に、前回までに撮影され加算された画像(相対的なぶれが補正されて加算された画像)を、Y方向転送部34Bを介して、Syの画素数だけ垂直方向(Y方向)へ転送する(ステップS904)。
続いて、今回撮影した最新の画像を、X方向転送部33Bを介して、−Sxの画素数だけ水平方向(X方向)へ転送する(ステップS905)。
そして、X方向転送部33Bに記憶した画像とY方向転送部34Bに記憶した画像とを、図29を参照して説明したように加算する(ステップS906)。
その後、この加算した画像を、X方向転送部33BとY方向転送部34Bとが交差する位置の電極S2φV0(SφH0)に最近接する紙面下方の(つまり、同一レジスタ37内の)電極S2φV2下へ転送する(ステップS907)。これは、上述したように、X方向転送電極SφH0とY方向転送電極S2φV0とが兼用されているために、次回の時分割撮影により撮影した画像がX方向転送部33Bを転送されるときに、加算画像と干渉しないようにするためである。
次に、上記転送量Syと前回までの転送量Sy0とを加算して、メモリ〔Sy0〕に記憶することにより、この加算した値を新たにSy0とする(ステップS908)。これにより、メモリ〔Sy0〕には、最後の(前回の)時分割露光までのY方向の転送量の累積加算値が記憶されることになる。
このステップS908の処理を行ったところで、この図31に示す画素値合成のサブルーチンから、図13に示した処理へリターンする。
ところで、撮像素子1が精細な静止画を撮像可能なように多画素化されると、静止画よりも少ない画素数で済む動画撮影においては、高速化や画質の向上を図るために、複数の画素データを加算して読み出す処理が行われることが多い。このような画素加算を例えば撮像部41Bにおいて行った場合(具体例としては、フィールド読み出しにおいて奇数ラインの電荷と偶数ラインの電荷とを加算して読み出す場合)には、加算を行わない場合に比して、ぶれ量の補正が異なることになる。3以上の画素データを加算する場合には、同様に、加算数に応じてぶれ量の補正が異なってきてしまう。さらに、画素加算が行われると、補正/加算部40において画像データを記憶するために必要なレジスタの数も異なる。このような個々のケースに応じて、時分割撮影と補正/加算部40における画素値加算との制御を異ならせると、制御が複雑化してしまうことになる。
そこで、制御を簡潔にするためには、例えば、静止画撮影で多用される全画素読み出しの場合にのみ、時分割撮影および補正/加算部40における画素値加算を行うことにすることが考えられ、このときには、その他の読み出し(例えば、フィールド読み出し等)においては時分割撮影を行わないことになる(ただし、もちろんこれに限るものではない。)。そして、複数回の時分割撮影を行う場合には、X方向転送部33Bの画像とY方向転送部34Bの画像とを加算してY方向転送部34Bに蓄積し、最終的にY方向転送部34Bに蓄積された加算画像を水平転送部42Bに転送することにする。これに対して、全画素読み出しであっても時分割撮影を行わない場合、あるいはその他の読み出しを行う場合には、垂直転送部35から分割画像転送部36へ転送された画像を、そのまま直接水平転送部42Bへ転送するようにする。これにより、静止画ぶれ補正に対応することができ、かつ、従来型の撮像素子と同様の画素加算などの機能を有する、制御が比較的簡単な撮像素子となる。このときにはさらに、X方向転送部33Bは、時分割画像を2回以上転送する機能を備えれば足りるために(つまり、X方向転送部33Bには加算後の画素を蓄積する機能は不要であるために)、X方向転送部33Bにおける電極の面積をかなり狭くすることができる。ここで、撮像素子1全体の面積を狭くすることに着眼すれば、X方向転送部33Bの縦の幅が短くなるように、該X方向転送部33Bを構成する各電極の形状や大きさを決定すれば良い。これにより、補正/加算部40全体の面積を小さくすることが可能となる。
このような実施形態2によれば、上述した実施形態1とほぼ同様の効果を奏するとともに、フレーム・インターライン・トランスファー方式の撮像素子を採用し、撮像素子上に、撮像部と、画像を蓄積してぶれ補正する補正/加算部と、を別個に設けたために、撮像部として、従来型の撮像素子の構成をそのまま適用することができる。従って、フレーム・インターライン・トランスファー方式CCDイメージセンサーの利点と、長年蓄積されてきた固体撮像素子の製造ノウハウと、をそのまま引き継いで使用することができる。また、固体撮像素子の汎用性を高めることもできる。
なお、上述した技術では、1枚の画像に係る全露光時間を、ぶれ限界露光時間TLimit 単位で基本的に等時間間隔となるように時分割して各時分割露光を行うようにしているが、これに限るものではなく、ぶれを許容し得るような部分露光時間であれば、非均一な時間間隔に時分割しても構わない。例えば、角速度センサにより大きな角速度が検出される場合には、部分露光時間をより短くするようにしても構わない。このように、適応的に部分露光時間を変更すると、時分割画像におけるぶれの発生をより精度良く抑制することが可能となる。
また、上述したようなデジタルカメラの技術は、静止画像を撮影する際のぶれ補正に特に適しているが、動画像の1フレームを撮影する際のぶれ補正にも勿論適用することが可能である。従って、このデジタルカメラの技術は、デジタルスチルカメラやアナログスチルカメラに適用し得るだけでなく、デジタルビデオカメラやアナログビデオカメラにも適用することが可能であり、これらに限らず、固体撮像素子を用いて画像を撮影する装置に広く適用することが可能である。
さらに、上述では、2次元の撮像素子を例に挙げて、ぶれ補正を行う技術を説明したが、例えば1次元の撮像素子(ラインセンサ等)を用いるスキャナ(特に、ハンディスキャナなど)、コピー機、ファクシミリ等においても、上述と同様の技術を適用してぶれ補正を行うことが可能である。ただし、このときには、センサの配列方向に沿った転送CCDが1つあれば足りる。
そして、上述した技術は、略同一時刻に撮像された複数の画像を加算するものであるために、該技術を、ぶれ補正以外の他の用途に応用することも考えられる。例えば、フォトダイオードに蓄積可能な電荷量よりも垂直転送CCDや水平転送CCDに蓄積可能な電荷量の方が多い場合には、よりダイナミックレンジの広い画像を生成する技術として用いることも可能となる。
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
[付記]
(付記1)
マトリクス状に配列された複数の画素を有する固体撮像素子の撮像面に結像される画像のぶれを補正して、ぶれの補正された画像を生成するための電子的ぶれ補正装置であって、
上記固体撮像素子の撮像面に像を結像するための撮像光学系と、
上記画像のぶれを検出するぶれ検出部と、
上記固体撮像素子の露光量を制御する露光量制御部と、
上記露光量制御部の制御に基づき上記固体撮像素子により所定の露光量で複数の画像を撮像する撮像部と、
上記撮像部により撮影された複数の画像を上記ぶれ検出部により検出されたぶれに基づき該固体撮像素子の内部で相対的にシフトした後にアナログ的に加算し、ぶれの補正された画像を生成する加算部と、
上記加算部により加算された画素の電荷を上記固体撮像素子から読み出す読出部と、
を具備したことを特徴とする電子的ぶれ補正装置。
<効果>
時分割で撮像した画像のぶれを補正して撮像素子の内部でアナログ的に加算して出力するために、ぶれを補正するための複雑なメカニカル機構が不要になるとともに、幅広いシャッタスピードに対応可能な精度の高い電子的ぶれ補正装置となる。また、ごく短時間でぶれ補正が可能であるために、特に静止画撮影におけるぶれ補正に適した電子的ぶれ補正装置となる。
(付記2)
上記加算部は、時間的に相前後して撮影された2つの画像の相対的なぶれを補正してから上記2つの画像をアナログ的に加算し、さらにこの加算した画像とその次に撮影した画像との相対的なぶれを補正してからこれら2つの画像をアナログ的に加算するという動作を繰り返し行うように制御するものであることを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
ぶれ補正と時分割画像の加算処理とを高速に行うことができる。
(付記3)
上記加算部は、上記撮影された複数の画像の内の最初の画像の撮影における露光開始から最新の画像の撮影における露光終了までの画像のぶれ量と、該複数の画像の内の最初の画像から最新の1つ前の画像までのぶれ補正量の累積加算値と、の差に基いて、最新の画像と既に加算した画像とのぶれを補正して、ぶれを補正したこれら2つの画像をアナログ的に加算するように制御するものであることを特徴とする付記2に記載の電子的ぶれ補正装置。
<効果>
精度の高いぶれ量の演算を行うことができる。
(付記4)
上記露光量制御部は、ぶれを許容し得るようなぶれ限界露光時間以下の予め設定された露光時間で所定回数の露光を上記固体撮像素子に行わせるように制御するものであることを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
ぶれを実質的に無視し得る時分割画像を撮影することができる。
(付記5)
上記露光量制御部は、撮像光学系の焦点距離の情報に基いて、上記ぶれ限界露光時間を生成するものであることを特徴とする付記4に記載の電子的ぶれ補正装置。
<効果>
撮像光学系の焦点距離の情報に基づいて、経験則によるぶれ限界露光時間を設定することができるために、別途の測定等を要することなく簡単に設定することができる。
(付記6)
上記ぶれ検出部は、露光開始前においてもぶれ量の演算を行うものであり、
上記露光量制御部は、露光開始前に上記ぶれ量検出部により演算したぶれ量が許容可能なぶれ量の上限に達するまでの露光時間を演算し、この露光時間に基づいて上記ぶれ限界露光時間を生成するものであることを特徴とする付記4に記載の電子的ぶれ補正装置。
<効果>
撮影者のぶれ特性に応じたぶれ補正を行うことができる。
(付記7)
上記露光量制御部は、露光時に上記ぶれ量演算部により演算したぶれ量が許容可能なぶれ量の上限に達するまでの露光時間を演算し、この露光時間に基づいて上記ぶれ限界露光時間を生成するものであることを特徴とする付記4に記載の電子的ぶれ補正装置。
<効果>
撮影者のぶれ特性に応じたぶれ補正を行うことができる。
(付記8)
上記露光量制御部は、
被写体の明るさを取得する測光部と、
上記測光部により取得された被写体の明るさに基づき、適正露光を得るための第1露光時間を生成する第1露光時間生成部と、
第2露光時間を生成する第2露光時間生成部と、
上記第2露光時間で連続して予め定められた撮影回数の撮影を行ったときの露光時間の合計が上記第1露光時間に等しくなるように制御する露光時間制御部と、
を備えたものであることを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
露光量が適正になるように制御することができる。
(付記9)
上記連続して撮影する予め定められた撮影回数を記憶するメモリをさらに具備し、
上記露光時間制御部は、上記第1露光時間を上記撮影回数により割って得られた時間を第2露光時間として生成させるように上記第2露光時間生成部を制御するものであることを特徴とする付記8に記載の電子的ぶれ補正装置。
<効果>
第2露光時間として確実にぶれの発生しない露光時間を設定することができるとともに、複数画像を合成した画像の露光量を適正にすることが可能となる。また、撮影回数が予め定められているために、固体撮像素子の画像信号の飽和電荷量の制御等を容易に行うことが可能となる。
(付記10)
上記第2露光時間生成部により生成された上記第2露光時間が、ぶれを許容可能なレベルに抑制し得る露光時間より長いときは、ぶれが発生する可能性があることを示す警告表示を行う表示部をさらに具備したことを特徴とする付記9に記載の電子的ぶれ補正装置。
<効果>
撮影者は、ぶれが発生する可能性があるのを認識することができる。
(付記11)
上記連続して撮影する予め定められた撮影回数として選択可能な複数の撮影回数を記憶するメモリをさらに具備し、
上記露光時間制御部は、上記メモリに記憶されている撮影回数の中から、上記第1露光時間を上記第2露光時間で割った値以上の該値に最も近い整数を撮影回数として選択し、上記第1露光時間を上記撮影回数により割って得られた時間を上記第2露光時間に代えて新たな第2露光時間として生成させるように上記第2露光時間生成部を制御するものであることを特徴とする付記8に記載の電子的ぶれ補正装置。
<効果>
第2露光時間として確実にぶれの発生しない露光時間を設定することができるとともに、複数画像を合成した画像の露光量を適正にすることが可能となる。
(付記12)
上記撮像光学系は絞りを有して構成されたものであって、
当該電子的ぶれ補正装置は、
上記撮像光学系の絞り値を設定する絞り値設定部と、
上記連続して撮影する撮影回数を記憶するメモリと、
をさらに具備し、
上記絞り値設定部は、上記第1露光時間が、上記第2露光時間と、上記メモリに記憶されている撮影回数の内の最大値と、の積である第3露光時間よりも長いときには、該第1露光時間が該第3露光時間以下になるように上記撮像光学系の絞り値を変更するものであることを特徴とする付記8に記載の電子的ぶれ補正装置。
<効果>
適正露光を得るための第1の露光時間が、撮影回数の上限内で、ぶれを許容可能なレベルに抑制し得る第2露光時間に分割しきれない場合には、絞り値を自動的に制御するようにしたために、例えば、シャッタ優先撮影モード、絞り優先撮影モード、またはプログラム撮影モードなどに連動しない範囲であっても、ぶれ防止をしながら適正な露光制御を行うことができる。
(付記13)
上記絞り値設定部により上記撮像光学系の絞り値を変更するときには、その旨を表示する表示部をさらに具備したことを特徴とする付記12に記載の電子的ぶれ補正装置。
<効果>
絞り値を変更するときにその旨を表示するようにしたために、撮影者に誤解を与えることがない。
(付記14)
上記撮像素子から得られる画像の増幅率を変更することにより、実質的にISO感度を変更するためのISO感度変更部をさらに具備し、
上記ISO感度変更部は、上記絞り値設定部が変更しようとする絞り値が、上記撮像光学系の絞り値として設定可能な範囲を逸脱しているときには、該設定可能な範囲内に入るようにISO感度を変更するものであることを特徴とする付記12に記載の電子的ぶれ補正装置。
<効果>
露光時間および絞り値が設定可能な限界値であっても、さらにISO感度を変更するようにしたために、より広い範囲でぶれを防止しながら、適正な露光制御を行うことができる。
(付記15)
上記ISO感度変更部が変更しようとするISO感度が、設定可能な範囲を逸脱しているときには、ぶれが発生する可能性があることを示す警告表示を行う表示部をさらに具備したことを特徴とする付記14に記載の電子的ぶれ補正装置。
<効果>
撮影者は、ぶれが発生する可能性があることを認識することができる。
(付記16)
上記加算部により加算する画像の数が多くなるほど、上記固体撮像素子の上記画素に蓄積可能な最大蓄積電荷量が少なくなるように制御する蓄積電荷量制御部をさらに具備したことを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
画素に蓄積する電荷を撮影回数に応じて制御するようにしたために、合成された画像の電荷がレジスタ部で溢れるのを防止することができる。
(付記17)
上記固体撮像素子は、半導体基板上に構成された縦型オーバーフロー構造のCCD固体撮像素子であり、
上記蓄積電荷量制御部は、上記半導体基板に印加する逆バイアス電圧の電圧レベルを制御することにより、画素に蓄積された電荷が該半導体基板側に排出され始める最大蓄積電荷量を制御するものであることを特徴とする付記16に記載の電子的ぶれ補正装置。
<効果>
画素に蓄積される電荷量のレベルを正確に制御することができるために、合成画像を蓄積するレジスタにおける電荷の溢れを確実に防止することができる。
(付記18)
上記加算部により加算された合成画像の中から、上記撮像部によって撮影された全ての画像が共有するとみなされる有効領域の画像を抽出する有効領域抽出部をさらに具備したことを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
加算部により加算された合成画像の中から、撮像部によって撮影された全ての画像が共有するとみなされる有効領域の画像を抽出するようにしたために、ぶれの補正された高画質の画像を簡単に得ることができる。
(付記19)
上記有効領域の画像の、大きさおよび上記合成画像の中での位置は、予め定められたものであることを特徴とする付記18に記載の電子的ぶれ補正装置。
<効果>
有効領域の画像の大きさおよび合成画像の中での位置が予め定められているために、簡単な処理で有効領域の画像データを抽出することができる。
(付記20)
上記露光量制御部は、上記撮像部によって撮影される画像が上記有効領域の画像の一部を欠くと判断するときには、上記撮像部による撮影を終了するように制御するものであることを特徴とする付記18に記載の電子的ぶれ補正装置。
<効果>
有効とみなされる領域が、ぶれが適正に補正されない領域を含まないようにすることができるために、ぶれの補正された高画質の画像を簡単に得ることができる。
(付記21)
上記有効領域抽出部は、上記撮像部による撮影回数が所定数に達することなく撮影を終了したときには、上記有効領域の合成画像を増幅するものであることを特徴とする付記20に記載の電子的ぶれ補正装置。
<効果>
撮影が露光不足で終了したときには、その分を補う増幅を行うために、適正露光の画像を得ることができる。
(付記22)
上記加算部は、
上記撮像部により撮像した第1画像を記憶するとともに該第1画像を第1方向に転送する第1転送レジスタと、
上記第1画像とは異なる時刻に撮像した第2画像を記憶するとともに該第2画像を上記第1方向と交差する第2方向に転送する第2転送レジスタと、
を有し、上記第1画像および上記第2画像をそれぞれ上記第1転送レジスタおよび上記第2転送レジスタ内で相対的にシフトした後に加算して、上記第1転送レジスタまたは上記第2転送レジスタ内に記憶するものであることを特徴とする付記1に記載の電子的ぶれ補正装置。
<効果>
第1転送レジスタに記憶された画像と第2転送レジスタに記憶された画像とのぶれを高速に補正することが可能となる。
(付記23)
上記撮像部は、行方向および列方向にマトリクス状に配置された複数の画素を有する光電変換部を備え、
上記第1転送レジスタは、上記光電変換部の各画素行に隣接して配置されたものであり、
上記第2転送レジスタは、上記光電変換部の各画素列に隣接して配置されたものであることを特徴とする付記22に記載の電子的ぶれ補正装置。
<効果>
従来のインターライン・トランスファー方式の固体撮像素子の垂直転送レジスタを、ぶれ補正のための転送レジスタに兼用することができるために、構成が比較的簡単になる利点がある。
(付記24)
上記第1転送レジスタおよび上記第2転送レジスタは、上記固体撮像素子の内部に上記撮像部とは別個に設けられたものであることを特徴とする付記22に記載の電子的ぶれ補正装置。
<効果>
従来のインターライン・トランスファー方式の撮像部の画素行間にぶれ補正用の転送レジスタを新たに設ける必要がないために、画素(フォトダイオード)の開口率が低下することがない。
(付記25)
上記第1転送レジスタおよび上記第2転送レジスタの端面に転送されてきた電荷を、上記第1転送レジスタおよび上記第2転送レジスタから排出するための電荷排出部をさらに具備したことを特徴とする付記22に記載の電子的ぶれ補正装置。
<効果>
ぶれ補正に伴う転送レジスタ内の電荷転送により、転送レジスタの端面に電荷が蓄積してオーバーフローしてしまうのを、防止することができる。
(付記26)
上記固体撮像素子は、撮像面の前面にモザイク状のカラーフィルタを配置した単板式のカラー固体撮像素子であり、
上記加算部は、上記複数の画像を上記ぶれ検出部により検出されたぶれに基づき該固体撮像素子の内部で上記カラーフィルタの水平方向の最小繰り返し周期および垂直方向の最小繰り返し周期を最小単位として相対的にシフトした後にアナログ的に加算し、ぶれの補正された画像を生成するものであることを特徴とする付記1に記載の電子的ぶれ補正装置。
(付記27)
マトリクス状に配列された複数の画素を有する光電変換部と、
該光電変換部の電荷を読み出して得られた第1画像を記憶するとともに、該第1画像を第1方向に転送する第1転送レジスタと、
上記第1画像の撮像された時刻とは異なる時刻に上記光電変換部の電荷を読み出して得られた第2画像を記憶するとともに、該第2画像を上記第1方向と交差する第2方向に転送する第2転送レジスタと、
上記第1転送レジスタにより所定量転送された上記第1画像と、上記第2転送レジスタにより所定量転送された上記第2画像と、をアナログ的に加算する加算部と、
を具備したことを特徴とする固体撮像素子。
<効果>
2つの画像の一方を第1転送レジスタに、他方を第2転送レジスタに、それぞれ記憶して相対的な位置を調整して画像を加算することが可能であるために、画像間のずれ補正を極めて高速に行うことが可能な固体撮像素子となる。
(付記28)
上記第1転送レジスタは、上記光電変換部の各画素行に隣接して配置されたものであり、
上記第2転送レジスタは、上記光電変換部の各画素列に隣接して配置されたものであることを特徴とする付記27に記載の固体撮像素子。
<効果>
ぶれ補正のための転送レジスタの一方と、従来のインターライン・トランスファーCCDの垂直転送レジスタと、を兼用することができるために、撮像素子全体の大きさを小さくすることができる。
(付記29)
上記光電変換部により生成した電荷を上記第1転送レジスタおよび上記第2転送レジスタを含むレジスタ部へ転送するための電荷転送部をさらに具備したことを特徴とする付記27に記載の固体撮像素子。
<効果>
ぶれ補正のためのレジスタ部を撮像部とは異なる領域に設けたために、撮像部の設計が容易になるとともに、従来型の撮像部の技術をそのまま継承することが可能となる。そして、フレーム・インターライン・トランスファー型CCDの特性を有するように構成することで、スミアが少なくなるという利点がある。
(付記30)
上記レジスタ部に記憶された画像を外部へ読み出すための転送部をさらに具備し、
複数の画像を加算して外部へ読み出すときには上記第2転送レジスタに記憶した画像を上記転送部を介して外部へ読み出し、画像を加算しないで外部へ読み出すときには上記光電変換部から上記電荷転送部を介して転送された画像を上記転送部を介して外部へ読み出すように制御され得ることを特徴とする付記29に記載の固体撮像素子。
<効果>
第1転送レジスタは、時分割画像を転送するものであれば良いために、レジスタの面積を小さくすることができる。
(付記31)
上記第1転送レジスタおよび上記第2転送レジスタは、各々、画像を構成する最小単位である1つの画素あたり4相の駆動パルスが印加される4つの転送電極を有して構成されたものであることを特徴とする付記27に記載の固体撮像素子。
<効果>
第1転送レジスタと第2転送レジスタとが例えば垂直/水平方向に相互に交差するように配置されているとしても、各転送レジスタに記憶された2つの画像を独立に転送することが可能となる。
(付記32)
上記第1転送レジスタが有する4つの転送電極の内の1つの転送電極と、上記第2転送レジスタが有する4つの転送電極の内の1つの転送電極と、は同一の電極を兼用したものであり、該第1転送レジスタと該第2転送レジスタとはこの兼用した電極の位置で交差していることを特徴とする付記31に記載の固体撮像素子。
<効果>
第1転送レジスタと第2転送レジスタとの電極の一部を兼用することにより、固体撮像素子の面積を小さくすることができるとともに、画素加算を容易に行うことが可能となる。
(付記33)
上記転送電極は、相対的に広い面積を有する電極と、相対的に狭い面積を有する電極と、を交互に配置したものであることを特徴とする付記31に記載の固体撮像素子。
<効果>
必要な機能を満たしながら、各転送レジスタの面積を小さくすることができる。
(付記34)
上記第1転送レジスタは、上記第1画像を上記第2画像に対して相対的に所定量シフトするものであり、
上記第2転送レジスタは、上記第2画像を上記第1画像に対して相対的に所定量シフトするものであって、
上記加算部は、所定量シフトされた後の第1画像と第2画像とを、上記第1転送レジスタまたは上記第2転送レジスタにおいて加算するものであることを特徴とする付記32に記載の固体撮像素子。
<効果>
画素加算を、複雑な制御を要することなく高速に行うことができる。
(付記35)
当該固体撮像素子は、光導電膜積層型の固体撮像素子であることを特徴とする付記27に記載の固体撮像素子。
<効果>
光電変換を行う例えばフォトダイオードの開口率を大きくすることができる。
(付記36)
上記第1転送レジスタおよび上記第2転送レジスタの端面に転送されてきた電荷を、上記第1転送レジスタおよび上記第2転送レジスタから外部に排出するための電荷排出部をさらに具備したことを特徴とする付記27に記載の固体撮像素子。
<効果>
ぶれ補正に伴う転送レジスタ内の電荷転送により、転送レジスタの端面に電荷が蓄積してオーバーフローしてしまうのを、防止することができる。