以下、本発明の例示的な実施形態について、添付の図面に基づいて詳細に説明する。
(第1の実施形態)
図2は、本発明の実施形態に係る焦点検出センサを用いた光学機器の一例としてのカメラの構成例を示すブロック図である。なお、図2においては、カメラの構成のうち、自動焦点検出に係る構成以外の構成については省略している。
スイッチ103は、不図示のレリーズボタンの操作によってON、OFFする2つのスイッチSW1及びSW2を有する。ここで、SW1はレリーズボタンの第1ストローク(半押し)操作でONし、SW2はレリーズボタンの第2ストローク(全押し)操作でONするものとする。また、SW1のONは焦点検出動作を含む撮像準備動作の開始指示に相当し、SW2のONは撮像動作の開始指示に相当するものとする。
また、レンズ通信回路104は、カメラCPU100の制御に従って不図示の撮像レンズとレンズ信号114を通信し、撮像レンズのフォーカシングレンズや、撮像レンズが有する絞りを制御する。
シャッタ制御回路107は、カメラCPU100の制御に従って不図示のシャッタ機構が有する電磁石117a,117bの通電時間を制御することで、シャッタの開閉を制御する。
カメラCPU100はプログラムを格納したROM、変数を記憶するためのRAM、諸パラメータを記憶するためのEEPROM(電気的消去、書き込み可能メモリ)を有し、プログラムに基づいて各部を制御することにより、カメラの全体的な動作を制御する。
カメラCPU100はSW2がONすると、測光センサ106を制御して被写体の輝度を検出し、被写体輝度に応じて不図示の撮像レンズの絞り値やシャッタスピード等の撮像条件を決定する。そして、カメラCPU100はレンズ通信回路104とシャッタ制御回路107とを通じ、決定した撮像条件で撮像センサ105を露光する。そして、カメラCPU100は撮像センサ105で蓄積された電荷を読み出し、公知の画像処理を適用することにより、撮像画像データを生成し、図示しない記録媒体に記録する一連の撮像動作を実行する。
(カメラの光学系部品配置)
図3は、本実施形態に係るカメラが有する光学部品とその配置例を示す図である。図3は、カメラの側方から見た光学部品の配置例を示している。なお、図3では撮像レンズ200が含まれているが、撮像レンズ200は着脱可能であってよく、カメラに必須な構成ではない。
撮像レンズ200を介して入射した被写体からの光束の大部分はクイックリターンミラー201で上方に反射され、ファインダスクリーン202上に結像する。撮像者はファインダスクリーン202に結像した被写体像をペンタプリズム203及び接眼レンズ204を介して観察する。接眼レンズ204の上方には測光結像レンズ211と測光センサ106が設けられる。測光センサ106は、ファインダスクリーン202に結像した被写体像を測光結像レンズ211を通じて受光することで、被写体輝度を測定することができる。なお、図13における測光結像レンズ211と測光センサ106の組み合わせ及び配置は例示であり、被写体輝度が測定可能であれば、構成や配置は図13と異なっていても良い。
撮像レンズ200から入射した光束の一部はクイックリターンミラー201を透過し、後方のサブミラー205により、下方にある焦点検出光学系に導かれる。焦点検出光学系に入射した光束は、視野マスク206、赤外カットフィルタ207、フィールドレンズ208、絞り209、二次結像レンズ210を経て焦点検出センサ101上に結像する。結像した像を焦点検出センサ101で光電変換して得られる像信号の位相差に基づいて、撮像レンズ200の焦点状態(デフォーカス量)を検出することができる。
SW2がONになり撮像動作を行う場合、クイックリターンミラー201が上方に回転して光路から退避し、シャッタが開くことにより、撮像レンズ200から入射した被写体像の光束で撮像センサ105が露光される。
(焦点検出光学系の構成)
図4は、本実施形態に係るカメラが有する焦点検出光学系の構成を模式的に示した斜視図である。なお、図4においては、説明及び理解を容易にするため、図3に示した焦点検出光学系のうちミラー及び赤外カットフィルタ207を除いた構成を示している。
サブミラー205で反射された被写体像の光束は、視野マスク206の近傍に一旦結像する。視野マスク206は視野(画面)内の焦点検出領域(測距点)を決定するための遮光部材で、中央に配置された十字形の開口部2061と、開口部2061を挟んで左右に配置された縦長の開口部2062,2063とを有する。
フィールドレンズ208を構成する3つのレンズ2081〜2083はそれぞれ視野マスク206の3つの開口部2061〜2063に対応している。フィールドレンズ208の後方には絞り209が配置されている。絞り209には、視野マスク206の開口部2061に対応する4つの開口部2091が中央部に、開口部2062,2063に対応する開口部2092,2093が開口部2091を挟んで左右にそれぞれ設けられている。
フィールドレンズ208は、絞り209の各開口部2091〜2093を撮像レンズ200の射出瞳付近に結像する作用を有している。絞り208の後方には二次結像レンズ210があり、絞り209の各開口部2091〜2093に対応した位置に設けられた8つのレンズ2102〜2103から構成されている。
視野マスク206、フィールドレンズ208、絞り209、二次結像レンズ210を通過した各光束は、焦点検出センサ101に含まれる複数のラインセンサ上に結像する。
(ラインセンサの配置と測距点との位置関係)
ラインセンサと画面内の測距点との位置関係について、図5(a)及び(b)を用いてさらに説明する。図5(a)は焦点検出センサ101におけるラインセンサの配置例を示す図である。ラインセンサ#1〜#8はそれぞれ1対のセンサアレイから構成され、各センサアレイはセンサとしての画素が複数、一列に配置された構成を有し、各画素の出力から信号像を得ることができる。そして、1対のセンサアレイの各々から得られた信号像の位相差から、撮像レンズの焦点状態(デフォーカス量)を検出することができる。1対のセンサアレイは二次結像レンズ210などの焦点検出光学系により、視野(画面)上のほぼ同じ領域に投影され、この領域が測距点を形成する。
図5(b)は、図5(a)に示した焦点検出センサ101に対応する、ファインダ画面における測距点とラインセンサの位置関係の例を示す図である。
ファインダ画面500(視野)には、ラインセンサ#7、#8に対応する測距点503と、ラインセンサ#1〜#4に対応する測距点501と、ラインセンサ#1、#2に対応する測距点502の計3つの測距点が存在する。
中央の測距点501は、ラインセンサ#1が投影される領域#11と、ラインセンサ#2が投影される領域#12と、ラインセンサ#3が投影される領域#13と、ラインセンサ#4が投影される領域#14とを含んでいる。測距点501は、縦方向の領域#11,#12と横方向の領域#13、#14を含む。そのため、測距点501では、被写体像の縦方向コントラスト像と横方向コントラスト像の両方から撮像レンズの焦点状態を検出することができる。縦方向の領域#11,#12で得られた焦点状態と、横方向の領域#13、#14で得られた焦点状態との平均値に基づいてデフォーカス量を決定することができる。あるいは、一般的にコントラストが高いほど検出精度が高くなるため、縦方向の領域と横方向の領域とで得られた信号像のうち、コントラストが高い方を用いてデフォーカス量を決定してもよい。
なお、図5(a)及び(b)に示すように、本実施形態では隣接するセンサアレイを半ピッチ分ずらして配置しているため、ラインセンサ#1、#2の投影位置である領域#11と領域#12は横方向だけでなく、縦方向にも少しずれた位置にある。一般的に、被写体の空間周波数が高い場合、センサアレイの画素位置と被写体コントラストの位相との関係により、検出されるデフォーカス量に誤差が生じる。この誤差を低減するため、半画素ピッチずらして配置した2対のセンサアレイで得られた2つのデフォーカス量の平均値を用いている。他の領域についても同様である。
(焦点検出センサの構成)
図1は、本実施形態に係る焦点検出センサ101の電気的な構成例を示すブロック図である。
図1では、説明及び理解を容易にするため、図5(a)及び(b)に示したラインセンサ#1〜#8のうち、略同一位置に隣接配置される1組のラインセンサ#1及び#2についてのみ示した。しかし、同様に隣接配置される他のラインセンサの組(#3と#4,#5と#6,#7と#8)についても同様に接続されている。
焦点検出センサ101は、自動焦点検出用CPU(AFCPU)600を有し、AFCPU600は各センサアレイの蓄積動作および像信号の読み出し動作を制御している。ラインセンサ#1は、位相差検出のための1対のセンサアレイを有し、1対のセンサアレイは同数(例えば、約30〜80)の画素の出力から第1像、第2像をそれぞれ検出する。
ラインセンサ#1において、センサ部601は、一対のセンサアレイの光電変換素子に相当する。メモリ部602は、センサ部601の各画素で光電変換された信号電荷を画素ごとに積分し、一時的に記憶する。ピーク検出回路603は、メモリ部602が記憶する積分値のうち、一番大きい値を検出する。シフトレジスタ604は、メモリ部602から積分値を読み出す画素を選択する。
センサ部601の画素で光電変換された信号電荷は、電荷蓄積期間中に転送され、メモリ部602で積分される。メモリ部602は図示しない容量とアンプを有し、画素ごとに積分した信号電荷を電圧に変換し、所定ゲインで電圧を増幅する。また、メモリ部602はセンサ部601における蓄積動作の終了と同時に、積分されている信号電荷を一時的に記憶する。
ピーク検出回路603は、メモリ部602における画素ごとの電圧値のうち、一番大きい値(p−out)をコンパレータ612の入力部に出力する。
このように、ラインセンサ#1は、電荷蓄積期間中にセンサ部601から電荷を転送し、メモリ部602で画素ごとに電荷を積分して、ピーク検出回路603で最大積分値を検出するセンサアレイから構成される。本明細書では、このようなセンサアレイを第1タイプのセンサアレイ、第1タイプのセンサアレイから構成されるラインセンサを第1タイプのラインセンサと呼ぶ。従って、ラインセンサ#1、#3、#5、#7はいずれも第1タイプのラインセンサである。
コンパレータ612は、所定値の基準電圧VRとp−outとを比較し、比較結果を示すcomp信号をAFCPU600に出力する。comp信号はp−out>VRであれば1、それ以外は0をとる信号である。なお、ここで、所定値の基準電圧VRは画素飽和電圧であり、p−out>VRで蓄積動作を終了すべきであることを示す値に設定する。
シフトレジスタ604は、AFCPU600からshift信号が入力されると、メモリ部602の出力を画素ごとに選択し、sel_1信号によりアナログスイッチ605をONしている間、メモリ部602の出力を出力アンプ611の入力に順次出力する。出力アンプ611は適切なゲインでVout端子より画素信号Voutを出力する。
ラインセンサ#2は、ラインセンサ#1と同じ画素数で第1像と第2像を検出している。
ラインセンサ#2は、ラインセンサ#1におけるセンサ部601とメモリ部602に相当するセンサ部606と、転送ゲート607と、センサ部606で積分された信号電荷を読み出して記憶するメモリ部608と、シフトレジスタ609とを有する。
センサ部606では、各画素が光電変換した信号電荷を、センサ部606で画素ごとに積分する。転送ゲート607は、センサ部606で積分した信号電荷の、メモリ部608への転送を制御する。転送ゲート607がONの状態で、センサ部606で積分した信号電荷がメモリ部608へ転送される。転送ゲート607がOFFの状態では信号電荷の転送は行われない。また、電荷蓄積期間中、メモリ部608はリセット状態とする。AFCPU600は、蓄積動作終了と同時に転送ゲート607をONし、センサ部606で積分した信号電荷をメモリ部608へ転送する。
メモリ部608では、転送された信号電荷を画素ごとに一時的に記憶し、信号電荷を電圧に変換し、所定ゲインで電圧を増幅する。
このように、ラインセンサ#2は、電荷蓄積期間中にセンサ部606からメモリ部608に電荷を転送せず、そして、センサ部606で画素ごとに電荷を積分し、電荷蓄積が終了してから電荷をメモリ部608に転送するセンサアレイから構成される。本明細書では、このようなセンサアレイを第2タイプのセンサアレイ、第2タイプのセンサアレイから構成されるラインセンサを第2タイプのラインセンサと呼ぶ。従って、ラインセンサ#2、#4、#6、#8はいずれも第2タイプのラインセンサである。
シフトレジスタ609は、AFCPU600からshift信号が入力されると、メモリ部608の出力を画素ごとに選択し、sel_2信号によりアナログスイッチ610をONしている間、メモリ部608の出力を出力アンプ611の入力に順次出力する。
また、AFCPU600は、不図示のレジスタを有する。このレジスタは、AFCPU600が有する通信端子であるcs、sclk、miso、mosi端子を用いたシリアル通信により、外部から読み出しや書き込み可能である。レジスタの値を外部(例えばカメラCPU100)から設定することにより、焦点検出センサ101の動作を制御することができる。
(蓄積動作)
次に、本実施形態における焦点検出センサ101の蓄積動作について、図6のフローチャートを用いて詳しく説明する。なお、ここでも、ラインセンサ#1及び#2についての蓄積動作について代表的に説明するが、他のラインセンサ#3〜#8についても同様である。
例えばカメラCPU100からAFCPU600のレジスタstrtが1に設定されると、AFCPU600は、焦点検出センサ101における蓄積動作を開始させる。
まず、S101でAFCPU600は、ラインセンサ#1とラインセンサ#2の初期リセット動作を行う。具体的には、AFCPU600は、自身のレジスタを0クリアした後、rst信号とrst_2信号を出力し、センサ部601、606とメモリ部602、608の電荷をクリアする。なお、本明細書において、「信号を出力する」とは、信号の値(レベル)を0(ローレベル)から1(ハイレベル)にすること、「信号の出力を終了(解除)する」とは、信号の値(レベル)を1(ハイレベル)から0(ローレベル)にすることであってよい。
S102でAFCPU600は、rst信号の出力を終了(信号の値を0に)する。これにより、センサ部601,606及びメモリ部602のリセットが完了し、センサ部601,606での電荷蓄積が開始する。一方、AFCPU600はrst_2信号を継続して出力しているので、メモリ部608はリセットされ続けている。
S103でAFCPU600は、コンパレータ612の出力するcomp信号を判定する。上述の通り、ラインセンサ#1の電荷蓄積が十分であり、電荷蓄積を終了すべき場合には、p−out>VRとなり、comp=1が出力される。S103でcomp信号の値が1であれば、AFCPU600はS104以降の蓄積終了処理を実行する。一方、p−out≦VR(電荷蓄積が不十分)であればcomp=0が出力されるので、AFCPU600はS103でcomp信号の判定を継続する。
S104でAFCPU600は、hold_1信号を出力して、まずライン1(ラインセンサ#1)のメモリ部602に積分された蓄積電荷をメモリ部602に記憶する。
S105でAFCPU600は、rst_2信号の出力を解除し、メモリ部608のリセットを完了する。その後、AFCPU600はtrans_2信号を出力して、転送ゲート607をONにし、ライン2(ラインセンサ#2)のセンサ部606で積分された蓄積電荷をメモリ部608へ転送する。ラインセンサ#2については、電荷蓄積期間中、センサ部606からメモリ部608への電荷転送は行われず、蓄積が終了して蓄積電荷が転送される直前まで、メモリ部608をリセットし続けている。そのため、電荷蓄積期間中にメモリ部608で発生するノイズはメモリ部608に蓄積されない。
S106でAFCPU600は、trans_2信号の出力を解除し、転送ゲート607をOFFにする。これにより、S105で転送した電荷(ライン2の蓄積電荷)がメモリ部608に記憶される。
S107でAFCPU600は、自身の有する、蓄積終了フラグを示すレジスタtr_1、tr_2に1を設定し、蓄積動作を終了する。外部(例えばカメラCPU100)からレジスタtr_1、tr_2の値を読み出すことにより、ラインセンサ#1および#2の蓄積終了を知ることができる。
このように、本実施形態においては、略同一位置に隣接配置された一対のラインセンサの一方(ラインセンサ#1)は、電荷の電荷蓄積期間中に蓄積電荷をセンサ部601からメモリ部602に転送して積分する第1タイプのセンサアレイから構成する。また、他方のラインセンサ(ラインセンサ#2)については、蓄積電荷をセンサ部606で積分する第2タイプのセンサアレイから構成する。第2タイプのセンサアレイから構成される第2タイプのラインセンサでは、電荷蓄積期間中にメモリ部608で発生したノイズが積分された蓄積電荷に影響を与えない。また、電荷蓄積期間中メモリ部608をリセットし続けてからメモリ部608に転送することで、メモリ部608に転送した蓄積電荷に対する、電荷蓄積期間中にメモリ部608で発生したノイズが与える影響を除去できる。
さらに、ラインセンサ#1の出力するp−out信号が所定値の基準電圧VRを超えた場合にラインセンサ#1及び#2の蓄積動作を終了させるため、電荷蓄積期間中の適切なタイミングでラインセンサによる蓄積処理を終了させることができる。
加えて、蓄積電荷のモニタ測定ラインセンサとして使用するラインセンサ#1についても、ラインセンサ#2と同じ画素数の第1像、第2像を得ることができる。
上述の通り、図6のフローチャートではラインセンサ#1及び#2の動作のみ説明しているが、ラインセンサ#3〜#8についても同様の動作が行われる。AFCPU600は、ラインセンサ#3〜#8用のレジスタtr_3〜tr_8を有し、また信号線についても、ラインセンサ#3〜#8用に設けられているものとする。また、ラインセンサ#3,#5,#7をライン1、ラインセンサ#4,#6,#8をライン2として構成並びに動作させる。
(カメラの動作)
上述した焦点検出センサ101を備えたカメラの動作例について、図7のフローチャートを用いて詳しく説明する。この動作は、図2で示したカメラのスイッチSW1がONしたことにより、カメラCPU100が実行するものとする。
S201でカメラCPU100は、焦点検出センサ101のAFCPU600と通信し、AFCPU600のレジスタstrtに1を設定することにより、AF蓄積動作を開始させる。これにより、焦点検出センサ101は、ラインセンサ#1〜#8に対し、図6を参照して説明した蓄積動作を開始する。
S202でカメラCPU100は、焦点検出センサ101における蓄積動作が終了したかどうかを、AFCPU600のレジスタtr_1〜tr_8の値から判別する。レジスタtr_1〜tr_8が全て1の場合は、ラインセンサ#1〜#8の全てについて蓄積が終了しているので、カメラCPU100はS203の信号読み出し動作を行う。一方、レジスタtr_1〜tr_8のうち0のものが1つでもある場合、カメラCPU100は蓄積終了していないラインセンサがあると判断し、蓄積終了が検出されるまで同じ処理を継続して実行する。
S203でカメラCPU100は、AFCPU600と通信し、ラインセンサ#1〜#8で得られた画素信号を読み出す。AFCPU600は、読み出し指示に応じてshift信号を出力し、ラインセンサ#1〜#8のシフトレジスタを駆動して信号を読み出し、カメラCPU100に出力する。カメラCPU100は、焦点検出センサ101から出力されるラインセンサ#1〜#8の画素信号を順次A/D変換し、図示しないRAMに記憶する。
S204で算出手段としてのカメラCPU100は、S203で得たラインセンサ#1〜#8の画素信号から、デフォーカス量を算出する。ここで、ラインセンサ#1と#2、#3と#4、#5と#6、#7と#8のように、略同一位置に隣接配置された一組のラインセンサで得られたデフォーカス量の演算結果は、平均や重み付け平均するなどして最終結果とする。さらに、このようにして得られた4つのデフォーカス量から、図5(b)で示した測距点501〜503ごとのデフォーカス量と、測距点501〜503のいずれが主被写体位置であるかを決定する。中央の測距点501に対するデフォーカス量は、ラインセンサ#1と#2による縦方向のデフォーカス量と、ラインセンサ#3と#4による横方向のデフォーカス量のいずれかを選択する。選択方法に特に制限はないが、像信号の波形の相関性が高い、コントラストが高いといった、デフォーカス量の信頼度が高いと考えられる一方を選択することができる。
S205でカメラCPU100は、いずれかの測距点に対するデフォーカス量が所望の範囲内、例えば1/4Fδ以内(F:レンズの絞り値、δ:定数(20μm))であれば合焦と判断する。具体的にはカメラCPU100は例えば、レンズの絞り値F=2.0であれば、デフォーカス量が10μm以下なら合焦と判断し、処理をS207へ移行する。
一方、いずれのデフォーカス量も1/4Fδより大きいならば、S206でレンズ駆動手段としてのカメラCPU100は、S204で求めた測距点ごとのデフォーカス量の1つに対応する量のレンズ駆動をレンズ通信回路104を介して撮像レンズに指示する。そして、カメラCPU100は処理をS201に戻し、合焦状態と判断されるまで前述の動作を繰り返す。なお、S206でのデフォーカス量の選択方法に制限はないが、例えば最も近い距離の被写体に対応する測距点のデフォーカス量を選択したり、最も小さいデフォーカス量を選択することができる。
S207でカメラCPU100はスイッチSW2の状態を検出し、ONの場合は、S301からの撮像動作を開始する。一方、S207でスイッチSW2がOFFの場合、カメラCPU100はS208でスイッチSW1の状態を検出する。S208でSW1が依然としてONであればカメラCPU100はS201からの処理を繰り返し、SW1がOFFになっていれば、AF動作を終了する。
次に、S301からの撮像動作について説明する。
S301で、カメラCPU100は測光センサ106を用いて検出した測光値から被写体輝度BVを求め、被写体輝度BVを設定されたISO感度SVと加算して露出値EVを求める。そして、カメラCPU100は、例えば予め定められたプログラム線図を用いるなど公知の方法で、露出値EVに対応する絞り値AVおよびシャッタ速度TVを決定する。
S302でカメラCPU100は、クイックリターンミラー201を撮像光路から退避させると同時に、レンズ通信回路104を通じて撮像レンズ200に対し、絞りをS301で決定した絞り値AVに対応する開口とするように指示する。
その後、クイックリターンミラー201が撮像光路から完全に退避するとS303でカメラCPU100はシャッタ制御回路107を介して電磁石117a、117bの通電時間よりシャッタスピードを制御し、撮像センサ105を露光する。
S303でカメラCPU100は、クイックリターンミラー201を撮像光路中の位置に戻し、撮像動作を終了する。なお、撮像センサ105で蓄積された画像信号の処理(所謂現像処理や記録媒体への記録処理)については、本発明と直接関係せず、また公知の処理であってよいため説明を省略する。
以上説明したように本実施形態によれば、
・電荷蓄積期間中に電荷をセンサ部から転送して積分する構成を有する第1タイプのセンサアレイからなる第1タイプのラインセンサと、
・電荷蓄積期間中に電荷をセンサ部から転送せず、センサ部で積分する構成を有する第2タイプのセンサアレイからなる第2タイプのラインセンサと、
を、略同一位置に隣接配置した焦点検出センサとした。
この構成により、電荷蓄積期間中に第1タイプのラインセンサで蓄積電荷を監視することができるため、電荷蓄積期間を適切に制御できる上、また第2タイプのラインセンサでは質の高い像信号の検出が可能である。さらに、第1タイプのラインセンサでも像信号を得ることができるため、略同一位置において2対の像信号に基づく位相差検出が可能となり、より高精度な焦点検出を実現できる。また、第1タイプのラインセンサと第2タイプのラインセンサとの配置に特に制限はないため、焦点検出センサの設計が容易である。
なお、第2タイプのセンサアレイにおいて、電荷蓄積期間中メモリ部608のリセットを継続するものとして説明したが、電荷を転送する直前にメモリ部608をリセットするようにしても、電荷蓄積期間中にメモリ部608で発生したノイズの影響を除去できる。
(第2の実施形態)
第1の実施形態の焦点検出センサは、略同一位置に隣接配置した一組のラインセンサのうち一方を、蓄積電荷の監視が可能な第1タイプのラインセンサ、他方を蓄積電荷の積分をセンサ部で行う第2タイプのラインセンサとした構成であった。つまり、センサアレイ単位で積分・転送動作を異ならせていた。これに対し第2の実施形態では、センサアレイの偶数番目の画素を第1タイプの画素、奇数番目の画素を第2タイプの画素とし、画素単位で積分・転送動作を異ならせたことを特徴とする。
本実施形態に係るカメラの構成や、焦点検出センサにおけるラインセンサの配置は第1の実施形態と同じでよいため説明を省略する。
図8は、本実施形態における焦点検出センサ401の電気的な構成例を示すブロック図である。
図8は、ラインセンサ#1を構成するセンサアレイの2画素分(奇数番目の画素、偶数番目の画素)の電気ブロックを示している。実際には各センサアレイ図8に示す2画素が連続して配置されている。また、ラインセンサ#2〜#8もラインセンサ#1と同じ構成であるため説明を省略する。
焦点検出センサ401は、自動焦点検出用CPU(AFCPU)700を有し、AFCPU700は各センサアレイの蓄積動作および像信号の読み出し動作を制御している。AFCPU700は、ラインセンサ#1のセンサアレイと接続されており、奇数番目の画素と偶数番目の画素をそれぞれ制御する。
奇数番目の画素は、光電変換を行い、光電変換で生じた電荷の積分を行うセンサ部701と、転送ゲート702と、積分された電荷を記憶するメモリ部703から構成されている。奇数番目の画素のセンサ部701で光電変換された信号電荷は、電荷蓄積期間が終了するまで転送されることなく、センサ部701で積分される。
転送ゲート702は、電荷蓄積期間の終了と同時にONされ、センサ部701で積分した信号電荷をメモリ部703へ転送する。メモリ部703は、転送された電荷を一時的に記憶し、電荷を電圧に変換し、所定ゲインで電圧を増幅する。
一方、偶数番目の画素は、
・光電変換を行い、光電変換で生じた電荷を積分することなく転送するセンサ部704、
・転送された信号電荷を積分し一時的に記憶するメモリ部705、
・偶数番目の画素のメモリ部705の電圧値のうち最大値を検出するピーク検出回路706、から構成されている。
偶数番目の画素のセンサ部704で光電変換された信号電荷はそのままメモリ部705に転送され、メモリ部705で画素ごとに積分される。メモリ部705は、積分した信号電荷を電圧に変換し、所定ゲインで電圧を増幅する。また、メモリ部705は電荷蓄積期間の終了と同時に、積分された信号電荷を一時的に記憶する。
ピーク検出回路706は、偶数番目の画素群のメモリ部705が記憶する電圧値のうち、最大値(p−out)をコンパレータ712の入力部に出力する。
コンパレータ712は、所定値の基準電圧VRとp−outとを比較し、比較結果を示すcomp信号をAFCPU700に出力する。comp信号はp−out>VRであれば1、それ以外は0をとる信号である。なお、所定値の基準電圧VRは、p−out>VRで蓄積動作を終了すべきであることを示す値に設定する。
シフトレジスタ707は、AFCPU700からshift信号が入力されると、メモリ部703,705の出力を画素ごとに選択する。そして、シフトレジスタ707は、sel_1信号によりアナログスイッチ708をONしている間、メモリ部703,705の出力を出力アンプ711の入力に順次出力する。出力アンプ711は適切なゲインでVout端子より画素信号Voutを出力する。
また、本実施形態のAFCPU700も第1の実施形態におけるAFCPU600と同様、cs、sclk、miso、mosi端子を使って外部からシリアル通信することで、内部のレジスタ値の読み出しや書き込みが可能である。
(蓄積動作)
次に、本実施形態における焦点検出センサ401の蓄積動作について、図9のフローチャートを用いて詳しく説明する。なお、ここではラインセンサ#1についての蓄積動作について代表的に説明するが、他のラインセンサ#2〜#8についても同様である。
例えばカメラCPU100からAFCPU700のレジスタstrtが1に設定されると、AFCPU700は、焦点検出センサ401における蓄積動作を開始させる。
まず、S401でAFCPU700は、ラインセンサ#1の初期リセット動作を行う。具体的には、AFCPU700は、自身のレジスタを0クリアした後、rst信号とrst_odd信号を出力し、センサ部701,704とメモリ部703,705の電荷をクリアする。
S402では、rst信号を解除し、蓄積を開始する。ここで、AFCPU700はrst_odd信号を継続して出力しているので、蓄積中においても奇数番目の画素のメモリ部703はリセットし続けている。
S403でAFCPU700は、コンパレータ712の出力するcomp信号を判定する。上述の通り、ラインセンサ#1のうち偶数番目の画素での電荷蓄積が十分であり、電荷蓄積を終了すべき場合には、p−out>VRとなり、comp=1が出力される。S403でcomp信号の値が1であれば、AFCPU700はS404以降の蓄積終了処理を実行する。一方、p−out≦VR(電荷蓄積が不十分)であればcomp=0が出力されるので、AFCPU700はS403でcomp信号の判定を継続する。
S404でAFCPU700は、hold_even信号を出力して、偶数番目の画素のメモリ部705に積分された蓄積電荷をメモリ部705に記憶する。
S405でAFCPU700は、rst_odd信号の出力を解除し、メモリ部703のリセットを完了する。その後、AFCPU700はtrans_odd信号を出力して、転送ゲート702をONにし、奇数番目の画素のセンサ部701で積分された蓄積電荷をメモリ部703へ転送する。奇数番目の画素については、電荷蓄積期間中、センサ部701からメモリ部703への電荷転送は行われず、蓄積が終了して蓄積電荷が転送される直前まで、メモリ部703をリセットし続けている。そのため、電荷蓄積期間中にメモリ部703で発生するノイズはメモリ部703に蓄積されない。
S406でAFCPU700は、trans_odd信号の出力を解除し、転送ゲート702をOFFにする。これにより、S405で転送した電荷(奇数番目の画素の蓄積電荷)がメモリ部703に記憶される。
S407でAFCPU700は、自身の有する、蓄積終了フラグを示すレジスタtr_1に1を設定し、ラインセンサ#1の蓄積動作を終了する。外部(例えばカメラCPU100)からレジスタtr_1の値を読み出すことにより、ラインセンサ#1の蓄積終了を知ることができる。
このように、本実施形態においては、センサアレイの偶数番目の画素は、電荷の電荷蓄積期間中に蓄積電荷をセンサ部704からメモリ部705に転送して積分する第1タイプの画素とする。また、ラインセンサの奇数番目の画素については、蓄積電荷をセンサ部701で積分する第2タイプの画素とする。第2タイプの画素では、電荷蓄積期間中にメモリ部703で発生したノイズが積分された蓄積電荷に影響を与えない。また、電荷蓄積期間中メモリ部703をリセットし続けてからメモリ部703に転送することで、メモリ部703に転送した蓄積電荷に対する、電荷蓄積期間中にメモリ部703で発生したノイズが与える影響を除去できる。
さらに、偶数番目の画素の蓄積電荷の最大電圧値であるp−out信号が所定値の基準電圧VRを超えた場合に奇数番目及び偶数番目の画素の蓄積動作を終了させるため、電荷蓄積期間中の適切なタイミングで蓄積処理を終了させることができる。
なお、奇数番目の画素を第1タイプの画素、偶数番目の画素を第2タイプの画素としてもよいことは明らかであろう。
上述の通り、図9のフローチャートではラインセンサ#1の動作のみ説明しているが、ラインセンサ#2〜#8についても同様の動作が行われる。AFCPU700は、ラインセンサ#2〜#8用のレジスタtr_2〜tr_8を有し、また信号線についても、ラインセンサ#2〜#8用に設けられているものとする。
(カメラの動作)
第2の実施形態における焦点検出センサ401を備えたカメラの動作は、図7のフローチャートを用いて説明した第1の実施形態と動作と基本的に同じでよい。ただし、本実施形態では奇数番目の画素信号と偶数番目の画素信号をメモリ部に記憶するタイミングが微小ながら異なる。従って、単純に画素信号の値を用いて像信号とした場合、隣接画素間における信号の連続性が低い像信号となる場合がある。
そのため、S203において各ラインセンサから読み出した信号から、位相差検出に用いる一対の像信号を生成する際、隣接画素間の信号の連続性を改善する処理を行うことができる。
具体的には、S203で読み出してA/D変換した画素信号について、各センサアレイごとに、例えば、隣接2画素の信号の単純移動平均から像信号を生成することで、像信号の連続性を改善することができ、結果としてデフォーカス演算の精度が向上する。
以上説明したように、本実施形態では、各センサアレイを、
・電荷蓄積期間中に電荷をセンサ部から転送して積分する構成を有する第1タイプの画素と、
・電荷蓄積期間中に電荷をセンサ部から転送せず、センサ部で積分する構成を有する第2タイプの画素と、
を、交互に配置した構成とした。
従って、1対のセンサアレイによって第1の実施形態における第1タイプのラインセンサと第2センサのラインセンサの機能を果たすことができる。従って、第1の実施形態では第1タイプのラインセンサと第2タイプのラインセンサとを略同一位置に隣接配置する必要があったが、本実施形態では1つのラインセンサを配置すればよい。もちろん、デフォーカス量の検出精度を高めるために、2つのラインセンサを画素ピッチをずらして隣接配置することも可能である。
(第3の実施形態)
第3の実施形態は、第1タイプのラインセンサと第2タイプのラインセンサを用いる点は第1の実施形態と同様であるが、第1タイプのラインセンサと第2タイプのラインセンサの配置方法が異なる。焦点検出光学系以外の構成は第1の実施形態と同じでよいため、重複する説明は省略する。
図10(a)は、本実施形態の焦点検出センサ301におけるラインセンサの配置例を示す図である。ラインセンサ#9、#10はそれぞれ1対のセンサアレイから構成される。図10(a)に示すように、本実施形態では、ラインセンサ#9、#10は、焦点検出センサ301のほぼ等しい水平位置に、かつ同じ向きで配置されている。さらに、ラインセンサ#9を構成するセンサアレイの中心間距離(基線長)がラインセンサ#10を構成するセンサアレイの中心間距離よりも短くなるようにが配置されている。
図11は、本実施形態の焦点検出光学系の構成を模式的に示した斜視図である。なお、図11においては、説明及び理解を容易にするため、図3に示した焦点検出光学系のうちミラー及び赤外カットフィルタ207を除いた構成を示している。
サブミラー205で反射された被写体像の光束は、視野マスク306の近傍に一旦結像する。視野マスク306は視野(画面)内の焦点検出領域(測距点)を決定するための遮光部材で、中央に横長の開口部3061を有する。
フィールドレンズ308は絞り309の各開口部3091〜3094を撮像レンズ200の射出瞳付近に結像する作用を有している。絞り309の後方には二次結像レンズ310〜313があり、二次結像レンズ310〜313は絞り309の開口部3091〜3094と対応するように配置されている。
中央寄りの2つの二次結像レンズ310、311を通過した光束は、焦点検出センサ301のラインセンサ#9に結像し、外側の2つの二次結像レンズ312、313を通過した光束は、焦点検出センサ301上のラインセンサ#10に結像する。二次結像レンズ310と311の光軸間距離(以下基線長と記載する)は、二次結像レンズ312と313の基線長よりも短い。従って、ラインセンサ#9で検出できるデフォーカス量はラインセンサ#10より大きいが、デフォーカス量の検出精度はラインセンサ#10より低い。
図10(b)は、図11に示した焦点検出センサ301に対応する、ファインダ画面における測距点とラインセンサの位置関係の例を示す図である。
ファインダ画面500(視野)には、ラインセンサ#9、#10に対応する測距点504が存在する。測距点504は、横方向の領域#31、#32を含んでいる。領域#31はラインセンサ#9が投影される領域であり、領域#32はラインセンサ#10が投影される領域である。このように、ラインセンサ#9とラインセンサ#10はファインダ画面500のほぼ同じ領域に投影される。
焦点検出センサ301の電気的な構成と動作は、第1の実施形態の説明において、ラインセンサ#1とラインセンサ#2をラインセンサ#9とラインセンサ#10に置き換えることによって説明することができるため、ここでの説明は省略する。なお、ラインセンサ#9とラインセンサ#10の蓄積終了レジスタはtr_1、tr_2であるとする。
本実施形態においてラインセンサ#9は電荷蓄積期間中に電荷をセンサ部から転送して積分する構成の第1タイプのラインセンサ、ラインセンサ#10は電荷蓄積期間中に電荷をセンサ部から転送せず、センサ部で積分する構成の第2タイプのラインセンサである。そして、ラインセンサ#9のp−out信号に基づく終了判定により、ラインセンサ#9とラインセンサ#10の電荷蓄積期間を制御することで、適切な蓄積制御を行うことができる。
本実施形態の焦点検出センサ301を備えたカメラの動作について、図12のフローチャートを用いて詳しく説明する。なお、図12において図7と同様の処理ステップについては同じ参照数字を付し、重複する説明は省略する。
S601でカメラCPU100は、焦点検出センサ301のAFCPU600と通信し、AFCPU600のレジスタstrtに1を設定することにより、AF蓄積動作を開始させる。これにより、焦点検出センサ301は、ラインセンサ#9〜#10に対し、図6を参照して説明した蓄積動作を開始する。
S602でカメラCPU100は、焦点検出センサ301における蓄積動作が終了したかどうかを、AFCPU600のレジスタtr_1〜tr_2の値から判別する。レジスタtr_1〜tr_2が全て1の場合は、ラインセンサ#9〜#10の全てについて蓄積が終了しているので、カメラCPU100はS603の信号読み出し動作を行う。一方、レジスタtr_1〜tr_2のうち0のものが1つでもある場合、カメラCPU100は蓄積終了していないラインセンサがあると判断し、蓄積終了が検出されるまで同じ処理を継続して実行する。
S603でカメラCPU100は、AFCPU600と通信し、ラインセンサ#9で得られた画素信号を読み出す。AFCPU600は、読み出し指示に応じてshift信号を出力し、ラインセンサ#9のシフトレジスタを駆動して信号を読み出し、カメラCPU100に出力する。カメラCPU100は、焦点検出センサ301から出力されるラインセンサ#9の画素信号を順次A/D変換し、図示しないRAMに記憶する。
S604でカメラCPU100は、S603で得たラインセンサ#9の画素信号から、デフォーカス量を算出する。
S605でカメラCPU100は、S604で求めたデフォーカス量がラインセンサ#10で検出可能な範囲内、例えば4Fδ以内(F:レンズの絞り値、δ:定数(20μm))であれば、処理をS607へ移行する。
一方、デフォーカス量が4Fδより大きいならば、S606でカメラCPU100からはレンズ通信回路104を介し、S604で求めたデフォーカス量に対応する量のレンズ駆動を撮像レンズに指示する。そして、カメラCPU100は処理をS601に戻し、S604で求められたデフォーカス量が4Fδ以内となるまで前述の動作を繰り返す。
S607でカメラCPU100は、AFCPU600と通信し、ラインセンサ#10で得られた画素信号を読み出す。AFCPU600は、読み出し指示に応じてshift信号を出力し、ラインセンサ#10のシフトレジスタを駆動して信号を読み出し、カメラCPU100に出力する。カメラCPU100は、焦点検出センサ301から出力されるラインセンサ#10の画素信号を順次A/D変換し、図示しないRAMに記憶する。
S608でカメラCPU100は、S607で得たラインセンサ#10の画素信号から、デフォーカス量を算出する。
S205でカメラCPU100は、S608で算出したデフォーカス量が所望の範囲内、例えば1/4Fδ以内(F:レンズの絞り値、δ:定数(20μm))であれば合焦と判断し、処理をS207へ移行する。
一方、S608で算出したデフォーカス量が1/4Fδより大きいならば、S206でカメラCPU100からはレンズ通信回路104を介し、S608で求めたデフォーカス量に対応する量のレンズ駆動を撮像レンズに指示する。そして、カメラCPU100は処理をS601に戻し、合焦状態と判断されるまで前述の動作を繰り返す。
合焦と判断された後の、S207移行の処理は第1の実施形態で説明した通りであるので、これ以上の説明は省略する。
以上説明したように、本実施形態では、
・電荷蓄積期間中に電荷をセンサ部から転送して積分する構成を有する第1タイプのセンサアレイからなる第1タイプのラインセンサと、
・電荷蓄積期間中に電荷をセンサ部から転送せず、センサ部で積分する構成を有する第2タイプのセンサアレイからなる第2タイプのラインセンサと、
を同じ測距点に対応するように、かつ第1タイプのラインセンサが第2タイプのラインセンサより大きなデフォーカス量を検出できるように配置した焦点検出センサとした。
そのため、まず第1タイプのラインセンサで検出したデフォーカス量に基づいて合焦位置の近くまでフォーカシングレンズを駆動したあと、第2タイプのラインセンサで検出される、より精度の高いデフォーカス量を検出することができる。また、第2タイプのラインセンサ
これにより、第1の実施形態と同様の効果に加え、最終的には基線長が長く検出精度が高いラインセンサ#10からの信号をもとにAF制御を行っている。また、ラインセンサ#10を電荷蓄積期間中に転送しない第2タイプのラインセンサとしているため、より精度の高いデフォーカス量の検出ができ、合焦精度の向上が実現できる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。上述の第1〜第3の実施形態では、ラインセンサのタイプ(第1タイプ又は第2タイプ)は固定であった。第4の実施形態では、第1タイプと第2タイプを電気的に切替え可能としたことを特徴とする。ここでは、カメラの構成やラインセンサの配置は第1の実施形態と同様とし、重複する説明は省略する。
一方、焦点検出センサ101の代わりに、第1タイプと第2タイプを電気的に切り替え可能な焦点検出センサ901を用いる。
図13は、本実施形態に係る焦点検出センサ901の構成例を示すブロック図であり、図5(a)に示したラインセンサ#1〜#8のうち、ラインセンサ#1についてのみ示している。しかし、ラインセンサ#2〜#8についても、同様の構成を有する。
焦点検出センサ901は、自動焦点検出用CPU(AFCPU)800を有し、AFCPU800は各センサアレイの蓄積動作および像信号の読出し動作を制御している。
図13においてセンサ部801は、図5(a)のセンサ部601と同様、ラインセンサ#1を形成する一対のセンサアレイを構成する光電変換素子群に相当する。メモリ部803は、センサ部801の各画素で光電変換された信号電荷を画素ごとに積分し、一時的に記憶する。
センサ部801とメモリ部803の間には転送ゲート802が設けられている。また、ピーク検出回路804は、メモリ部803に一時記憶された積分値の最大値(p−out)を検出し、コンパレータ807に出力する。シフトレジスタ805は、メモリ部803から積分値を読み出す画素を選択する。
コンパレータ807は、ピーク検出回路804で検出した、積分値の最大値(p−out)と所定の電圧VRとp−out信号を比較し、比較結果を示すcomp信号をAFCPU800に出力する。comp信号はp−out>VRであれば1、それ以外は0をとる信号である。なおここで、所定値の基準電圧VRは画素飽和電圧であり、P−out>VRで蓄積動作を終了すべきであることを示す値に設定する。
シフトレジスタ805は、AFCPU800からshift信号が入力されると、メモリ部803の出力を画素ごと選択し、AFCPU800からのsel_1信号によりアナログスイッチ806がONの間、メモリ出力を出力アンプ808の入力に順次出力する。
出力アンプ808は適切なゲインでVout端子より画素信号を出力する。
また、AFCPU800は、不図示のレジスタを有する。このレジスタは、AFCPU800が有する通信端子であるcs、sclk、miso、mosi端子を用いたシリアル通信により、外部から読み出しや書き込み可能である。レジスタの値を外部(例えばカメラCPU100)から設定することにより、焦点検出センサ901の動作を制御することができる。本実施形他においてAFCPU800はレジスタmodeを有しており、レジスタmodeの値によって焦点検出センサ901のタイプを制御可能であるものとする。
(蓄積動作)
次に、本実施形態における焦点検出センサ901の蓄積動作について、図14のフローチャートを用いて詳しく説明する。なお、ここでも、ラインセンサ#1についての蓄積動作について代表的に説明するが、他のラインセンサ#2〜#8についても同様である。
例えばカメラCPU100からAFCPU800のレジスタstrtが1に設定されると、AFCPU800は焦点検出センサ901における蓄積動作を開始させる。
まず、S501でAFCPU800は、レジスタmodeの設定値から、ラインセンサ#1の蓄積モード(タイプ)を判定する。ここでAFCPU800はレジスタmodeが0に設定されている場合は第1タイプ、1に設定されている場合は第2タイプと判定し、それぞれのタイプに応じた蓄積動作を行うように制御する。
まず、第1タイプの蓄積動作を行うための制御(S502〜S506)について説明する。
S502でAFCPU800は、ラインセンサ#1の初期リセット動作を行う。AFCPU800は自身のレジスタを0クリアした後、trans_1信号、rst信号、rst_1信号を出力(信号の値を1に)し、センサ部801とメモリ部803の電荷をクリアする。
S503でAFCPU800は、rst信号、rst_1信号の出力を終了(信号の値を0に)し、センサ部801とメモリ部803のリセットを完了させる。そして、蓄積開始動作を実行する。ここで、AFCPU800は、trans_1信号についてはS502から継続して出力しているので、転送ゲート802はONしており、蓄積中にセンサ部801で発生した信号電荷は転送ゲート802を通じてメモリ部803で蓄積され、電圧に変換される。
S504でAFCPU800は、電荷蓄積が十分行われたか否かを、コンパレータ807の出力するcomp信号の値によって判定する。ラインセンサ#1の蓄積が十分であり、電荷蓄積を終了すべき場合には、P−out>VRとなり、コンパレータ807からcomp=1が出力される。S504でcomp信号の値が1であれば、AFCPU800はS505以降の蓄積終了処理を実行する。一方、comp=0が出力されていれば、p−out≦VR(蓄積が不十分)であるので、AFCPU800は、comp信号=1となるまでS504における判定処理を継続する。
S505でAFCPU800は、trans_1信号の出力を終了し、転送ゲート802をOFFする。ラインセンサ#1のメモリ部803に積分された蓄積電荷をメモリ部803に記憶する。
S506でAFCPU800は、蓄積終了フラグを示すレジスタtr_1に1を設定し、蓄積動作を終了する。外部(例えばカメラCPU100)からの通信でレジスタtr_1をモニタすることで、ラインセンサ#1の蓄積が終了したことを知ることができる。
次に、第2タイプの蓄積動作を行うための制御(S507〜S512)について説明する。
S507でAFCPU800は、ラインセンサ#1の初期リセット動作を行う。AFCPU800は自身のレジスタを0クリアした後、trans_1信号、rst信号、rst_1信号を出力(信号の値を1に)し、センサ部801とメモリ部803の電荷をクリアする。
S508でAFCPU800は、trans_1信号、rst信号の出力を終了(信号の値を0に)する。これにより、センサ部801のリセットが完了し、これよりセンサ部801で発生した蓄積電荷はセンサ部801で蓄積する。ここでは、AFCPU800は、trans_1信号の出力を終了しているため転送ゲート802がOFFしており、さらにrst_1信号の出力は継続されているので、電荷蓄積中においてもメモリ部803はリセットし続けている。
S509でAFCPU800は、自身のレジスタstpの値を判定する。第2タイプの蓄積動作では、電荷蓄積中でもメモリ部803はリセット中のため、p−out>VRにはならず、comp信号によって蓄積停止を判定することはできない。そこで、外部(例えばカメラCPU100)からAFCPU800への通信により、AFCPU800のレジスタstpの値を設定することで、外部から蓄積動作の終了を制御する。ここでは、レジスタstpの値が1であればAFCPU800は蓄積終了と判定し、S110以降の処理に移行する。一方、レジスタstpの値が0の場合、AFCPU800はレジスタstpの値の判定をS509で継続して実行する。
S510でAFCPU800は、rst_1信号の出力を終了し、メモリ部803のリセットを完了する。その後、AFCPU800は、trans_1信号の出力を開始して転送ゲート802をONにし、ラインセンサ#1のセンサ部801で積分された蓄積電荷をメモリ部803へ転送する。電荷蓄積期間中、センサ部801からメモリ部803への電荷転送は行われず、さらに蓄積が終了して蓄積電荷が転送される直前まで、メモリ部803はリセットされ続けている。そのため、電荷蓄積期間中にメモリ部803で発生するノイズはメモリ部803に蓄積されない。
S511でAFCPU800は、trans_1信号の出力を解除し、転送ゲート802をOFFする。これにより、S110で転送した電荷をメモリ部803に記憶する。
S512では、AFCPU内の蓄積終了フラグを示すレジスタtr_1に1を設定する。
このように、本実施形態に係る焦点検出センサは、外部(例えばカメラCPU100)からの通信でAFCPU800のレジスタmodeの値を設定することで、ラインセンサの蓄積動作を第1タイプか第2タイプかに切替えることができる。
図14のフローチャートではラインセンサ#1の蓄積動作のみ説明したが、ラインセンサ#2〜#8についても同様の蓄積動作が行われる。AFCPU800は、ラインセンサ#2〜#8用のレジスタtr_2〜tr_8を有し、またラインセンサ#2〜#8用の信号線も有している。
(カメラの動作)
上述した焦点検出センサ901を備えたカメラの動作例について、図15のフローチャートを用いて詳しく説明する。この動作は、図2で示したカメラのスイッチSW1がONしたことにより、カメラCPU100が実行するものとする。なお、図15のフローチャートのうち、図6と同様の動作ステップについては同じ参照数字を付して説明を省略する。
S601でカメラCPU100は、測光センサ106で検出した測光値から、被写体輝度BVを求める。
S602でカメラCPU100は、被写体輝度BV>K(Kは閾値)かどうか判定し、被写体輝度である場合はS603でAFCPU800のレジスタmodeに0を設定し、ラインセンサ#1〜#8を第1タイプに設定する。一方、カメラCPU100は、被写体輝度BV≦Kの場合はS605でAFCPU800のレジスタmodeに1を設定し、ラインセンサ#1〜#8を第2タイプに設定する。
ここで、ラインセンサ#1のタイプを決定する輝度の閾値K(APEX)について、図16を用いて説明する。図16は、蓄積時間とラインセンサで得られる信号量(電圧)との関係を示す図である。被写体輝度が一定であれば、ラインセンサから出力される電圧は蓄積時間に比例して増加する。図13を用いて説明した通り、AFCPU800は、ラインセンサの出力電圧が画素飽和電圧VRを超えるまで蓄積を継続するが、蓄積時間は被写体輝度BVに依存し、被写体輝度BVが低い場合は蓄積時間が長くなる。蓄積時間が長くなると、電荷蓄積中に生じる被写体ブレなどの影響でAF精度が悪化する場合がある。そのため、蓄積の打切り時間Tmを設定し、出力電圧がVR以下であっても蓄積開始からTm時間経った時点でカメラCPU100から通信により強制的にラインセンサの蓄積動作を終了させることができる。
ここで、蓄積の打切り時間Tmで出力電圧値がVRに達する被写体輝度をBV(APEX)=K+1とする。K+1よりも1段分暗い(×1/2)被写体輝度BV(APEX)=Kの時には、出力電圧がVRになる前に蓄積の打切り時間Tmに達し、カメラCPU100からの通信でレジスタstp値に1を設定することで強制的に蓄積終了する。打切り時の出力電圧はVR/2になってしまうため、ラインセンサの画素信号に対するノイズの影響が無視できなくなり、SN比が悪化する可能性が高い。そのため本実施形態では、被写体輝度BV≦K(被写体輝度が閾値以下)の場合、ラインセンサをノイズの少ない第2タイプ(mode=1)に設定する。
一方、被写体輝度BV>Kの場合は、出力電圧もVR/2以上得られるため、画素信号に対するノイズの影響は大きくない可能性が高い。また、出力電圧が画素飽和電圧VRを超えないよう、ラインセンサ内部のコンパレータ807からのcomp出力による蓄積制御が必要になるため、ラインセンサを第1タイプ(mode=0)に設定する。
図15に戻り、S605でカメラCPU100は、焦点検出センサ901のAFCPU800と通信し、AFCPU800のレジスタstrtに1を設定することにより、AF蓄積動作を開始させる。これにより、焦点検出センサ901は、ラインセンサ#1〜#8に対し、図14を参照して説明した蓄積動作を開始させる。また、カメラCPU100は、自身の内部にある不図示のカウンタにより、蓄積時間Tの計測を開始する。
S606でカメラCPU100は、焦点検出センサ901における蓄積動作が終了したかどうかを、AFCPU800のレジスタtr_1〜tr_8の値から判別する。レジスタtr_1〜tr_8が全て1の場合は、ラインセンサ#1〜#8の全てについて蓄積が終了しているので、カメラCPU100はS204の信号読み出し動作を行う。一方、レジスタtr_1〜tr_8の1つ以上が0の場合、カメラCPU100は蓄積終了していないラインセンサがあると判断し、S607へ進む。
S607でカメラCPU100は、自身のカウンタによる蓄積時間Tの判定を行う。蓄積時間T≧Tmの場合は、焦点検出センサ901の蓄積が打切り時間Tmに達しているので、S608に進む。一方、蓄積時間T<Tmの場合は、S606へ戻り蓄積動作を継続する。
S608でカメラCPUは、AFCPU800と通信し、AFCPU800のレジスタstpに1を設定し、ラインセンサ#1〜#8の全てについて蓄積を終了させる。
S203〜S206および、S301〜S303の動作については、第1の実施形態で説明した図7の同番号と同様の動作であるためここでの説明を省略する。
なお、本実施形態において、被写体輝度BVを測定する方法として、カメラCPU100は測光センサ106を用いているがこの限りではない。例えば、焦点検出センサ901のラインセンサ#1〜#8を一旦、第1タイプに設定し、ラインセンサ#1〜#8の電荷蓄積時間や出力信号量を基に被写体輝度BVを測定しても良い。
このように、本実施形態では、ラインセンサの動作タイプを動的に設定可能とし、被写体輝度が閾値未満の場合は第2タイプ、閾値以上の場合は第1タイプに設定する。これにより、特に被写体輝度が低い場合の画素信号のSN比低下を抑制することができる。
また、本実施形態では、被写体輝度に応じて全てのラインセンサを第1タイプ又は第2タイプの一方に設定する場合について説明した。しかし、第1の実施形態で説明したように、ラインセンサに応じた動作タイプを設定する場合においても、図13に示した構成の焦点検出センサを用いることができる。この場合、同じ位置で2つのタイプを利用することが可能になるため、より柔軟な焦点検出を行うことができる。
(その他の実施形態)
上述の実施形態では、焦点検出センサを撮像装置の自動焦点検出に用いる例について説明したが、例えば望遠鏡、プロジェクターのように、撮像機能を持たない任意の光学機器における自動焦点検出にも好適に利用できる。