本発明は、被写体の色(例えば、光源の種類)に応じたオートフォーカス(AF)補正機能を有する撮像装置に関するものである。
一眼レフカメラ等の撮像装置には、TTL位相差検出方式と称される焦点検出方式が採用される場合が多い。TTL位相差検出方式では、撮像光学系からの光束を位相差検出用の光学系によって2つに分割し、これら分割光束を再結像させることで一対の受光素子列上に2つの像を形成させる。そして、該2像の相対的な位置差(位相差)を検出することで、撮像光学系のデフォーカス量を得る。
一般に、撮像光学系や位相差検出用の光学系では、d線(587nm)を中心とした400nmから650nmの可視波長域で色収差等の諸収差の補正が行われる。このため、可視波長域以外の波長域、例えば近赤外波長域での収差が良好に補正されていることは少ない。この場合、昼光下、タングステンランプ等の色温度の低い光源下、及び蛍光灯等の色温度の高い光源下での撮像において、それぞれ可視光に対する近赤外光の相対的な割合が異なるため、異なる位相差の検出結果が得られることが多い。
一方、CMOSセンサ等の撮像素子に用いられる光電変換を行うためのシリコンフォトダイオードは、一般には800nm程度に感度ピークを持っており、長波長側は1100nm程度まで感度を持っている。ただし、色再現性を重視するために、感度を犠牲にして上記可視波長域外の光はフィルタ等で遮断する。
また、位相差検出用の受光センサを構成する光電変換素子(受光素子)は、同様に1100nm程度まで感度を持っている。ただし、低輝度被写体に対してまで良好なフォーカス制御を行ったり、低輝度下では近赤外(700nm程度)の補助光を被写体に照射したりすることを考慮して、撮像光学系よりも100nm程度、長波長領域まで感度を有するように設計される。
さらに、光学系の色収差量は波長に応じて変化し、これに応じてピント位置も変化する。そして、長波長側になるほど色収差、つまりはピントのずれ量が大きくなる。
したがって、700nm程度の波長域に最大感度がある位相差検出用の受光センサでは、例えば、長波長成分が少ない蛍光灯を光源とする場合と、長波長成分が多いフラッドランプを光源とする場合とでは、被写体距離が同じであってもピント位置が異なる。つまり、位相差検出方式により求められたピント位置は、光源の種類(つまりは被写体の色)に応じて補正する必要がある。
このように光源の種類(被写体の色)に応じて焦点位置を補正する方法は、特許文献1,2にて開示されている。
特許文献1にて開示された補正方法では、位相差検出用の受光センサ(以下、AFセンサという)と光源検知用センサとの分光感度特性の違いを利用して光源の種類を判別する。そして、AFセンサからの出力を得た後に光源検知用センサの出力から光源情報を求め、該光源情報に基づいてデフォーカス量の光源補正処理を行う。
また、特許文献2にて開示された補正方法では、連続撮像(連写)における2画像目以降の撮像を行う場合に、1画像目の撮像準備動作で検出した光源情報に基づいてデフォーカス量の光源補正処理を行う。
特開2000−275512号公報
特開平9−211522号公報
しかしながら、特許文献1にて開示された補正方法のように、AFセンサからの出力を得た後に光源検知用センサの出力から光源情報を求める場合、光源情報の取得が遅れるとAF処理(フォーカス制御)が遅延する。このため、記録用画像を得るための撮像動作のタイミングも遅れてしまう。特に、連写を行う場合における光源情報の取得の遅延は、連写速度の向上を妨げる。
一方、特許文献2にて開示された補正方法のように、1画像目に対する光源情報を2画像目以降の撮像にも用いることで連写速度は向上するが、連写中に被写体の色が変化すると2画像目以降の撮像においてピントがずれてしまう可能性がある。
本発明は、被写体の色に関する情報の取得遅延によるAF処理の遅れを回避しつつ、被写体の色の変化によるピントずれの発生を少なくすることができる撮像装置を提供する。
本発明の一側面としての撮像装置は、撮像光学系の焦点状態を表す焦点情報を検出する焦点検出手段と、被写体の色に関する測色情報を検出する測色手段と、前記焦点情報及び前記測色情報を用いてフォーカス制御に用いる制御用情報を生成する制御手段と、前記測色情報を記憶する記憶手段とを有し、前記記憶手段に記憶された前記測色情報を第1の測色情報とし、該第1の測色情報よりも後に前記測色手段より検出される測色情報を第2の測色情報とするとき、前記制御手段は、前記記憶手段に前記第1の測色情報が記憶された後に行われる前記焦点情報の取得に対する前記第2の測色情報の取得の遅延に関する判別を行い、該判別結果に応じて、前記制御用情報の生成に用いる測色情報を前記第1の測色情報と前記第2の測色情報とで切り換えることを特徴とする。
本発明では、焦点情報の取得に対する第2の測色情報(例えば最新の測色情報)の取得の遅延に関する判別を行い、その判別結果に応じて第1の測色情報と第2の測色情報とを使い分ける。これにより、測色情報の取得遅延によるフォーカス制御の遅れを回避でき、しかも連写等で撮像を繰り返す間での被写体の色の変化によるピントずれの発生を少なくすることができる。
以下、本発明の実施例について図面を参照しながら説明する。
図1には、本発明の実施例1である撮像装置としてのレンズ交換式一眼レフデジタルカメラの構成を示す.
図1において,101は交換レンズであり、100は該交換レンズ101の着脱が可能な一眼レフデジタルカメラである。交換レンズ101は、図中の点線で示されたマウントを介してカメラ100と接続される。
交換レンズ101において、1は該交換レンズ101に関する演算及び制御を行うレンズMPU(以下、レンズマイクロコンピュータという)である。102は交換レンズ101内に配置された複数のレンズ102a,102b及び絞り102cにより構成される撮像光学系である。2はレンズマイクロコンピュータ1からの信号に応じて撮像光学系102のうちフォーカスレンズ102aを移動させるレンズ駆動ユニットである。3はレンズマイクロコンピュータ1からの信号に応じて絞り102cを駆動する絞り駆動ユニットである。
4はフォーカスレンズ102aの位置を検出するレンズ位置検出ユニットであり、5はオートフォーカス(AF)に必要な、交換レンズ101に固有の光学情報を記憶した光学情報メモリである。
カメラ100において、6は該カメラ100及び交換レンズ101に関する演算及び制御を行うカメラMPU(以下、カメラマイクロコンピュータという)である。カメラマイクロコンピュータ6は、マウントに設けられた接点を介してレンズマイクロコンピュータ1と通信が可能である。カメラマイクロコンピュータ6は、レンズマイクロコンピュータ1からフォーカスレンズ102aの位置情報や交換レンズ101に固有の光学情報を通信により取得する。また、レンズマイクロコンピュータ1は、カメラマイクロコンピュータ6から、フォーカス制御に用いる制御用情報(これについては後述する)を取得する。
21は撮像光学系102からの光束の光路(以下、撮像光路という)に対して進退可能なメインミラーである。22はメインミラー21とともに撮像光路に対して進退可能なサブミラーである。メインミラー21は、図示のように撮像光路内に配置された状態で撮像光学系102からの光束の一部を、ピント板25及びファインダ光学系27に導くよう反射する。このとき、メインミラー21を透過した光束は、メインミラー21の背後に配置されたサブミラー22によって反射され、焦点検出手段としてのデフォーカス量検出ユニット7に導かれる。
メインミラー21及びサブミラー22が撮像光路外に退避することで、撮像光学系102からの光束が、不図示のシャッタを通過して撮像素子501に到達する。これにより、撮像光学系102からの光束によって形成された被写体像の撮像が可能となる。
撮像素子501は、CCDセンサやCMOSセンサにより構成される光電変換素子であり、被写体像を光電変換して撮像信号を出力する。カメラマイクロコンピュータ6は、撮像信号に対して各種画像処理を施して画像信号を生成する。画像信号は、不図示のディスプレイに表示されたり、不図示の記録媒体(半導体メモリや光ディスク等)に記録されたりする。
デフォーカス量検出ユニット7は、図5に示すように、視野マスク502、赤外カットフィルタ503、フィールドレンズ504、絞り505、二次結像レンズ506及びAFセンサ507を有する。
視野マスク502は、撮像範囲のうち焦点検出を行う領域(焦点検出領域)からの光束のみを通過させる遮光部材である。AFセンサ507上には、図6に示すように、複数の焦点検出領域に対応する複数対のラインセンサ602が設けられている。視野マスク502には、これらラインセンサ602に対応する複数の光通過開口(中央の十字型開口とその両側の縦長開口)を有する。
サブミラー22で反射されて視野マスク502、赤外カットフィルタ503、フィールドレンズ504及び絞り505を通過した光束は、二次結像レンズ506によって、各対のラインセンサ602に対して2つに分割される。該2つの分割光束は、一対のラインセンサ602上に2つの像を形成する。そして、一対のラインセンサ602によって該2像を光電変換することで2つの像信号が得られる。
デフォーカス量検出ユニット7は、図5に示すように、デフォーカス量算出部509を有する。デフォーカス量算出部509は、AFセンサ507から上記2つの像信号を読み出して、該2つの像信号間の位相差を相関演算手法を用いて算出する。さらに、算出された位相差に基づいて撮像光学系102の焦点状態を表すデフォーカス量(焦点情報)を算出する。
デフォーカス量算出部509は、AFセンサ507に含まれるラインセンサ602ごとに、電荷蓄積の完了と像信号の読み出し完了をカメラマイクロコンピュータ6に通知する機能を有する。
なお、本実施例では、デフォーカス量検出ユニット7内にデフォーカス量を算出するデフォーカス量算出部509を設けた場合について説明する。ただし、AFセンサ507からの像信号をカメラマイクロコンピュータ6に取り込み、カメラマイクロコンピュータ6において位相差及びデフォーカス量の算出を行うようにしてもよい。この場合、デフォーカス量検出ユニット7とカメラマイクロコンピュータ6とにより焦点検出手段が構成される。
カメラマイクロコンピュータ6は、デフォーカス量に対して後述する光源補正を行い、光源補正されたデフォーカス量を算出(生成)する。また、カメラマイクロコンピュータ6は、レンズマイクロコンピュータ1から、レンズ位置検出ユニット4で得られたフォーカスレンズ102aの現在位置情報やフォーカスレンズ102aの位置敏感度情報等を受信する。そして、光源補正されたデフォーカス量と、フォーカスレンズ102aの現在位置情報及び位置敏感度情報等を用いて、合焦状態を得るためのフォーカスレンズ102aの駆動量情報(フォーカス制御に用いる制御用情報)を算出(生成)する。該駆動量情報には、フォーカスレンズ102aの駆動方向の情報も含まれる。
さらに、カメラマイクロコンピュータ6は、該駆動量情報をレンズマイクロコンピュータ1に送信する。レンズマイクロコンピュータ1は、該駆動量情報に基づいてレンズ駆動ユニット2に信号を出力し、フォーカスレンズ102aを移動させる。これにより、AFによる合焦状態を得ることができる。
図1において、8は前述した不図示のシャッタを開閉駆動するためのシャッタ駆動ユニットであり、9は後述する測色情報を記憶するための記憶手段としてのメモリである。
10は操作手段としてのダイヤルユニットであり、カメラ100の各種動作の設定をユーザが行うために設けられている。該設定は、シャッタ速度、絞り値等の露出制御に関する設定の他、単写及び連写モード等の撮像モードや、連写モードにおける連写速度(目標連写速度)の設定を含む。単写モードでは、後述する撮像スイッチの1回のオン操作に応じて1つの静止画が撮像される。連写モードでは、撮像スイッチをオン操作し続けることで、複数の静止画が連続撮像される。
また、本実施例では、連写モードが設定された場合に、ダイヤルユニット10を通じて、高速連写速度(例えば、10画像/秒)から低速連写速度(例えば、3画像/秒)までの目標連写速度をユーザが任意に設定することができる。
SW1は不図示のレリーズボタンの第1ストローク操作(半押し操作)に応じてオンする撮像準備スイッチであり、SW2はレリーズボタンの第2ストローク操作(全押し操作)に応じてオンする撮像スイッチである。カメラマイクロコンピュータ6は、単写モードでは、撮像準備スイッチSW1のオン操作に応じてAF処理や露出制御処理を行い、撮像スイッチSW2のオン操作に応じて、シャッタ制御と、撮像素子501を用いた記録用画像の取得を行う。連写モードでは、カメラマイクロコンピュータ6は、撮像準備スイッチSW1及び撮像スイッチSW2のオン操作に応じて後述するように動作する。
11は測光ユニットであり、ファインダ光学系を構成するペンタプリズムを透過した光束を用いて被写体輝度を表す測光情報を検出(生成)し、カメラマイクロコンピュータ6に出力する。カメラマイクロコンピュータ6は、該測光情報に基づいてシャッタ速度や絞り値を決定する露出制御を行う。
13a,13bは互いに光学特性(波長による透過率特性)が異なる2つの光学フィルタであり、14a,14bはそれぞれ、光学フィルタ13a,13bを透過した2つの光束を受光する2つの光源検出センサ(以下、LSDセンサという)である。光学フィルタ13a,13bの前面には、被写体からの光束を拡散させて光学フィルタ13a,13bに入射させるための拡散板12が設けられている。
光学フィルタ13a,13bを通じて、LSDセンサ14a,14b上には被写体からの互いに波長域が異なる2つの光束、例えば可視波長光束と近赤外波長光束が入射する。この場合、LSDセンサ14a,14bとしては、可視波長域に主感度を有する可視光センサと近赤外域に主感度を有する赤外センサとが用いられる。
なお、可視光センサとして、測光ユニット11に設けられた受光センサを兼用してもよい。
15はLSDセンサ14a,14bから読み出した信号に基づいて、被写体の色に関する測色情報としての光源情報を検出(生成)する光源検出ユニットである。光学フィルタ13a,13b、LSDセンサ14a,14b及び光源検出ユニット15により測色手段が構成される。被写体の色(色温度)は、主として該被写体を照らす光源の種類によって変化するので、光源情報は被写体の色に対応した情報として扱うことができる。
光源情報には、LSDセンサ(可視光センサ)14aからの信号により表される可視域の輝度情報と、LSDセンサ(赤外センサ)14bからの信号により表される近赤外域の輝度情報とが含まれている。
カメラマイクロコンピュータ6は、これらの可視域輝度情報と近赤外域輝度情報の比、すなわち輝度比を計算し、該輝度比(赤外光/可視光)に応じて図8に示すデータテーブルから補正係数を読み出す。このデータテーブルは、メモリ9に格納されている。
また、カメラマイクロコンピュータ6は、交換レンズ101内の光学情報メモリ5に記憶されている撮像光学系102の色収差データを、交換レンズ101のカメラ100への装着時等において通信により受け取る。
カメラマイクロコンピュータ6は、色収差量データに対して上記輝度比に応じた補正係数を乗じることで、デフォーカス量補正用の色収差量データを求める。そして、このデフォーカス量補正用の色収差量データを、デフォーカス量検出ユニット7から得られたデフォーカス量に加算して、光源補正後のデフォーカス量(以下、補正後デフォーカス量という)を演算する。
なお、LSDセンサ14a,14bにはそれぞれ、複数の受光素子ライン(LSD受光素子ライン)が設けられている。光源検出ユニット15は、LSD受光素子ラインごとに、電荷蓄積の完了と信号読み出しの完了をカメラマイクロコンピュータ6に通知する機能を有する。
次に、本実施例における光源情報に基づくピント位置補正(光源補正)の処理を含むカメラマイクロコンピュータ6の動作について、図2及び図7のフローチャートを用いて説明する。ここでは、連写モードが設定された場合のカメラマイクロコンピュータ6の動作(撮像ルーチン)について説明する。この動作は、カメラマイクロコンピュータ6のROMに格納されたコンピュータプログラムに従って行われる。このことは、後述する他の実施例でも同じである。
カメラ100の起動後、カメラマイクロコンピュータ6は、図7のステップ(図にはSと記す)700で撮像待ち状態に入る。この待機状態において、ステップ701で、プレAF処理を行う。プレAF処理では、LSDセンサ14a,14b及びAFセンサ507での電荷蓄積と電荷(信号)の読み出しとを行う。
そして、ステップ702で、カメラマイクロコンピュータ6は、撮像準備スイッチSW1及び撮像スイッチSW2がオンされたか否かを判別する。オンされた場合はステップ703に進み、オンされていない場合はステップ701に戻る。ステップ703においては、カメラマイクロコンピュータ6は、連写モードが設定されているか否かを判別し、連写モードが設定されている場合は図2のステップ200に進む。
カメラマイクロコンピュータ6は、ステップ200で連写モードに入ると、ステップ201に進む。ステップ201では、カメラマイクロコンピュータ6は、LSDセンサ14a,14bのうち光源検出ユニット15による信号読み出しが未完了となっているLSD受光素子ライン(以下、LSD蓄積未完了ライン又はLSD遅延蓄積ラインという)の有無をチェックする。なお、連写における1回目(1画像目)の撮像に対しては、LSD蓄積未完了ラインのチェックはプレAF処理中に行われる。LSD蓄積未完了ラインがなければ、ステップ203に進む。また、LSD蓄積未完了ラインがあればステップ202に進み、カメラマイクロコンピュータ6は、該LSD蓄積未完了ラインからの信号読み出し処理を行う。この後、LSD蓄積未完了ラインをリセットする。
次に、ステップ203では、カメラマイクロコンピュータ6は、デフォーカス量検出ユニット7内のAFセンサ507(ラインセンサ602)における電荷蓄積を開始させる。
また、ステップ204では、カメラマイクロコンピュータ6は、光源検出ユニット15に接続されたLSDセンサ14a、14bにおける電荷蓄積を開始させる。
次に、ステップ205では、カメラマイクロコンピュータ6は、デフォーカス量検出ユニット7からいずれかのラインセンサの電荷蓄積完了通知を受け取ったか否かを判別する。受け取った場合は、ステップ206で、デフォーカス量検出ユニット7に、その電荷蓄積が完了したラインセンサからの信号読み出しを行わせる。
続いてステップ207では、カメラマイクロコンピュータ6は、LSDセンサ14a,14bにおける新規に電荷蓄積が完了したLSD受光素子ライン(以下、LSD蓄積完了ラインという)の有無をチェックする。LSD蓄積完了ラインがあればステップ208に進み、光源検出ユニット15に、そのLSD蓄積完了ラインからの信号読み出しを行わせる。
ステップ209では、カメラマイクロコンピュータ6は、AFセンサ507における全てのラインセンサ602からの信号読み出しが完了したか否かをチェックする。完了していなければステップ205に戻り、完了していれば、すなわち焦点情報としてのデフォーカス量が取得できた場合は、ステップ210に進む。
ステップ210では、カメラマイクロコンピュータ6は、LSDセンサ14a,14bにおいて未だ電荷蓄積が完了していないLSD蓄積未完了ラインがあるか否かをチェックする。
LSD蓄積未完了ラインがある場合、すなわち今回の撮像ルーチンにおいて焦点情報としてのデフォーカス量を取得したときに光源情報(第2の測色情報)が未取得である場合には、ステップ211に進む。ステップ211では、カメラマイクロコンピュータ6は、そのLSD蓄積未完了ラインをメモリ9に記憶させる。また、この場合、カメラマイクロコンピュータ6は、今回の撮像ルーチンが連写モードにおける2回目(2画像目)以降の撮像ルーチンである場合は、前回の撮像ルーチンで取得してメモリ9に記憶させた光源情報(第1の測色情報)をメモリ9から読み出す。図では、光源情報はLSD情報と記している。そして、ステップ212に進む。
ここで、「前回の撮像ルーチン」は、今回に対する直前回の撮像ルーチンが望ましいが、直前回より前の回の撮像ルーチンであってもよい。
ステップ210において、LSD蓄積未完了ラインがない場合、すなわち今回の撮像ルーチンにおいてデフォーカス量を取得したときに光源情報(第2の測色情報)が取得済みである場合には、LSDセンサ14a,14bの動作を停止させる。そして、ステップ212に進む。第2の測色情報である光源情報は、メモリ9に記憶された第1の測色情報としての光源情報よりも後に(新規に)取得された測色情報である。
ステップ212では、カメラマイクロコンピュータ6は、ステップ210までに取得済みの光源情報(第2の測色情報)又はステップ211でメモリ9から読み込んだ光源情報(第1の測色情報)に基づいて、前述したデフォーカス量に対する光源補正の処理を行う。ステップ210までに取得済みの光源情報がある場合にはこの光源情報を用いて光源補正を行い、該光源情報がない場合にはメモリ9から読み込んだ光源情報を用いて光源補正を行う。このようにして、補正後デフォーカス量を算出する。
次に、ステップ213では、カメラマイクロコンピュータ6は、合焦処理を行う。具体的には、補正後デフォーカス量に基づいてフォーカスレンズ102aの駆動量情報を算出し、該駆動量情報をレンズマイクロコンピュータ1に送信する。これにより、フォーカスレンズ102aが合焦位置に駆動され、合焦状態が得られる。さらに、カメラマイクロコンピュータ6は、記録用画像の撮像処理を行う。
次に、ステップ214では、カメラマイクロコンピュータ6は、連写が終了したか否かを判別し、終了していない場合はステップ201に戻る。また、連写が終了した場合は、ステップ215で本フローの動作を終了する。
以上説明したように、本実施例では、連写モードにおいて、デフォーカス量取得に対する光源情報取得の遅延に関する判別として、デフォーカス量を取得したときに新規の光源情報が取得済みか未取得かの判別を行う。そして、該判別結果に応じて連写中のデフォーカス量の光源補正に用いる光源情報を切り換える。具体的には、デフォーカス量検出ユニット7からのデフォーカス量を取得したときに新規の光源情報が取得済みであった場合には、該新規の光源情報を用いる。一方、デフォーカス量を取得したときに新規の光源情報が未取得である場合には、それよりも前に取得されてメモリ9に記憶された光源情報を用いる。
このようなデフォーカス量の光源補正(つまりは制御用情報の生成)に用いる光源情報の切り換えにより、デフォーカス量の取得後に新規の光源情報の取得を待つことなく、デフォーカス量の光源補正及びフォーカス制御(合焦処理)を行うことができる。したがって、新規の光源情報の取得待ちに起因した連写速度の低下を回避することができる。逆に言えば、連写速度を向上させることができる。
また、連写中の各回撮像ルーチンにおいてデフォーカス量の取得に対して新規の光源情報の取得が間に合う限り該新規の光源情報を用いて光源補正を行う。このため、連写中に被写体を照らす光源の種類が変化する等して被写体の色が変化した場合でも、ピントのずれの発生を少なくすることができる。
図3A及び図3Bのフローチャートには、本発明の実施例2であるカメラの動作(撮像ルーチン)を示している。これらの図中において、互いに同じ丸囲み数字が付された部分は、互いにつながっていることを示す。また、本実施例の動作は、実施例1で説明したカメラ100で行われる。このため、本実施例の説明において、実施例1と共通する構成要素には実施例1と同符号を付す。さらに、本実施例の動作も、連写モードにて行われる。
カメラマイクロコンピュータ6は、図7に示したステップ700〜703の処理を経てステップ300で連写モードに入ると、ステップ301に進み、目標連写速度の情報を取得する。この目標連写速度は、実施例1で説明したように、ダイヤルユニット10の操作を通じて、高速連写速度(例えば、10画像/秒)から低速連写速度(例えば、3画像/秒)までの間でユーザが任意に設定した連写速度である。
次に、ステップ302では、カメラマイクロコンピュータ6は、実行連写時間を計測するためのタイマをセット(スタート)する。実行連写時間については後述する。
次に、ステップ303では、カメラマイクロコンピュータ6は、LSDセンサ読み出し時間を計測するためのタイマをセット(スタート)する。LSDセンサ読み出し時間については後述する。
さらに、ステップ304では、カメラマイクロコンピュータ6は、デフォーカス量検出ユニット7に含まれるAFセンサ507(ラインセンサ602)における電荷蓄積を開始させる。
続いてステップ305では、カメラマイクロコンピュータ6は、LSDセンサ14a,14bにおける電荷蓄積を開始させる。
そして、ステップ306では、カメラマイクロコンピュータ6は、今回の撮像ルーチンが連写における1画像目の撮像ルーチンか否かを判別する。1画像目の撮像ルーチンであればステップ310に進む。
ステップ310では、カメラマイクロコンピュータ6は、AFセンサ507(ラインセンサ602)及びLSDセンサ14a,14bのうちいずれかのライン(すなわち、ラインセンサ602又はLSD受光素子ライン)の電荷蓄積完了通知を受け取ったか否かを判別する。電荷蓄積完了通知を受け取っていない場合はステップ310の処理を繰り返し、受け取った場合はステップ311に進む。
ステップ311では、カメラマイクロコンピュータ6は、ステップ310で受け取った電荷蓄積完了通知がラインセンサ602のものか否か(LSDセンサ14a,14bのものか)を判別する。ラインセンサ602の電荷蓄積完了通知であればステップ312に進み、LSDセンサ14a,14bの電荷蓄積完了通知であればステップ314に進む。
ステップ312では、カメラマイクロコンピュータ6は、電荷蓄積完了通知を受けたラインセンサ602からの信号読み出しをデフォーカス量検出ユニット7に行わせる。そして、ステップ313に進む。
一方、ステップ314では、カメラマイクロコンピュータ6は、電荷蓄積完了通知を受けたLSDセンサ14a,14b(LSD受光素子ライン)からの信号読み出しを光源検出ユニット15に行わせる。そして、ステップ315に進む。
ステップ315では、カメラマイクロコンピュータ6は、全てのLSD受光素子ラインからの信号読み出しが完了したか否かをチェックする。未完了であれば再度ステップ310の処理を行う。
全てのLSD受光素子ラインからの信号読み出しが完了していれば、ステップ316に進み、ステップ303でセットしたタイマによるLSDセンサ読み出し時間の計測を完了する。LSDセンサ読み出し時間は、ステップ305でのLSDセンサ14a,14bの電荷蓄積の開始から信号読み出しの完了まで、つまりは光源情報を取得するまでに要する時間に相当する。カメラマイクロコンピュータ6は、該LSDセンサ読み出し時間をメモリ9に記憶させる。そして、ステップ313に進む。
ステップ313では、カメラマイクロコンピュータ6は、AFセンサ507とLSDセンサ14a,14bの全ラインからの信号読み出しが完了したか否かをチェックする。未完了であれば再度ステップ310の処理を行い、完了した場合はステップ317に進む。
ステップ317では、カメラマイクロコンピュータ6は、ステップ313までで取得した光源情報を用いてデフォーカス量の光源補正を行い、補正後デフォーカス量を算出する。デフォーカス量の光源補正の方法は、実施例1にて図8を用いて説明した方法と同じである。
そして、ステップ318では、カメラマイクロコンピュータ6は、補正後デフォーカス量からフォーカスレンズ102aの駆動量情報を算出し、該駆動量情報をレンズマイクロコンピュータ1に送信して、フォーカスレンズ102aを合焦位置に移動させる。さらに、カメラマイクロコンピュータ6は、記録用画像の撮像処理を行う。
次に、ステップ319では、カメラマイクロコンピュータ6は、連写が終了したか否かを判別し、終了していない場合はステップ320に進む。また、連写が終了した場合は、本フローの動作を終了する。
ステップ320では、カメラマイクロコンピュータ6は、ステップ302から計測した実行連写時間のタイマカウントを停止する。実行連写時間は、ステップ302からステップ320まで(1つの画像の撮像が終了するまで)の処理に実際に要する時間に相当する。カメラマイクロコンピュータ6は、該実行連写時間のタイマカウント値をメモリ9に記憶させる。その後、該タイマをリセットした上で再スタートする。
一方、ステップ306において、今回の撮像ルーチンが連写における2画像目以降と判別した場合は、ステップ340に進む。
ステップ340では、カメラマイクロコンピュータ6は、AFセンサ507(ラインセンサ602)及びLSDセンサ14a,14bのうちいずれかのライン(すなわち、ラインセンサ602又はLSD受光素子ライン)の電荷蓄積完了通知を受け取ったか否かを判別する。電荷蓄積完了通知を受け取っていない場合はステップ340の処理を繰り返し、受け取った場合はステップ341に進む。
ステップ341では、カメラマイクロコンピュータ6は、ステップ340で受け取った電荷蓄積完了通知がラインセンサ602のものか否か(LSDセンサ14a,14bのものか)を判別する。ラインセンサ602の電荷蓄積完了通知であればステップ350に進み、LSDセンサ14a,14bの電荷蓄積完了通知であればステップ342に進む。
ステップ342では、カメラマイクロコンピュータ6は、電荷蓄積完了通知を受けたLSDセンサ14a,14b(LSD受光素子ライン)からの信号読み出しを光源検出ユニット15に行わせる。そして、ステップ343に進む。
ステップ343では、カメラマイクロコンピュータ6は、全てのLSD受光素子ラインからの信号読み出しが完了したか否か、つまりは今回の撮像ルーチンにおいて新規の光源情報が取得済みか否かをチェックする。未完了であればステップ340に戻る。全てのLSD受光素子ラインからの信号読み出しが完了していれば(光源情報が取得済みであれば)、ステップ344に進む。
ステップ344では、カメラマイクロコンピュータ6は、ステップ303でセットしたタイマによるLSDセンサ読み出し時間の計測を完了するとともに、LSDセンサ読み出し時間をメモリ9に記憶させる。そして、ステップ340に戻る。
一方、ステップ350では、カメラマイクロコンピュータ6は、電荷蓄積完了通知を受けたラインセンサ602からの信号読み出しをデフォーカス量検出ユニット7に行わせる。そして、ステップ351に進む。
ステップ351では、カメラマイクロコンピュータ6は、AFセンサ507の全てのラインセンサ602からの信号読み出しが完了したか否かをチェックする。未完了であればステップ340に戻る。完了した場合は、ステップ352に進む。
ステップ352では、カメラマイクロコンピュータ6は、全てのLSD受光素子ラインからの信号読み出しが完了したか否か、つまりは今回の撮像ルーチンにおいて新規の光源情報が取得済みか否かをチェックする。未完了であれば(光源情報が未取得であれば)ステップ353に進み、図4に示す選択的光源情報取得処理を行う。
ステップ400で選択的光源情報取得処理を開始すると、カメラマイクロコンピュータ6は、ステップ401に進む。ステップ401では、カメラマイクロコンピュータ6は、光源検出ユニット15(LSDセンサ14a,14b)からの光源情報の取得を待って合焦処理を行ったとしても目標連写速度を実現できるか否かをチェックする。言い換えれば、デフォーカス量を取得したときに第2の測色情報としての光源情報が未取得である場合において、該光源情報を目標連写速度に応じた所定時間内に取得することが可能か否かというデフォーカス量取得に対する光源情報取得の遅延に関する判別を行う。
この遅延に関する判別は、例えば以下のように行う。まず、前回の撮像ルーチンにおいて計測されてメモリ9に記憶されたLSDセンサ読み出し時間を、前回の撮像ルーチンにおいて計測されてメモリ9に記憶された実行連写時間から差し引く。これにより、前回の撮像ルーチンにおいて、光源情報の取得から合焦及び撮像処理の完了までに要した合焦撮像処理時間を算出する。ここにいう「前回の撮像ルーチン」は、今回に対する直前回の撮像ルーチンが望ましいが、直前回より前の回の撮像ルーチンであってもよい。また、LSDセンサ読み出し時間は、ステップ316,344及び後述するステップ402,360のいずれで計測を完了したものであってもよい。
さらに、この連写モードに対してユーザにより設定された目標連写速度から、連写中の1回の撮像ルーチン(ステップ303〜ステップ355)に対してかけることが可能な撮像ルーチン許容時間を求める。次に、該撮像ルーチン許容時間から前述した合焦撮像処理時間を差し引く。これにより、1回の撮像ルーチン内でLSDセンサ読み出し時間として許されるLSDセンサ読み出し許容時間を算出する。ここにいうLSDセンサ読み出し許容時間が、目標連写速度に応じた所定時間に相当する。
前回の撮像ルーチンにおいて計測されたLSDセンサ読み出し時間が、該LSDセンサ読み出し許容時間以内であれば、今回の撮像ルーチンにおいて光源情報の取得を待って合焦処理を行ったとしても目標連写速度を実現できると予測する。この場合は、ステップ402に進む。逆に、前回の撮像ルーチンにおいて計測されたLSDセンサ読み出し時間が、該LSDセンサ読み出し許容時間よりも長ければ、今回の撮像ルーチンにおいて光源情報の取得を待って合焦処理を行うと目標連写速度を実現できないものと予測する。この場合は、ステップ408に進む。
なお、ここに示した遅延に関する判別方法は例であり、他の判別方法(他の所定時間)を用いてもよい。
ステップ402では、カメラマイクロコンピュータ6は、電荷蓄積完了通知を受けたLSDセンサ14a,14b(LSD受光素子ライン)からの信号読み出しを光源検出ユニット15に行わせる。そして、ステップ403に進む。
ステップ403では、カメラマイクロコンピュータ6は、全てのLSD受光素子ラインからの信号読み出しが完了したか否か(今回の撮像ルーチンで新規の光源情報が取得できたか否か)をチェックする。未完了であれば再度ステップ402の処理を行う。全てのLSD受光素子ラインからの信号読み出しが完了していれば、ステップ404に進む。
ステップ404では、カメラマイクロコンピュータ6は、ステップ303でセットしたタイマによるLSDセンサ読み出し時間の計測を完了するとともに、LSDセンサ読み出し時間をメモリ9に記憶させる。そして、ステップ405に進み、選択的光源情報取得処理を終了する(図3Bのステップ354に進む)。
一方、ステップ408では、カメラマイクロコンピュータ6は、LSD蓄積未完了ラインをLSD遅延蓄積ラインとしてメモリ9に記憶させる。また、カメラマイクロコンピュータ6は、前回の撮像ルーチンで取得してメモリ9に記憶させた光源情報(第1の測色情報)をメモリ9から読み出す。ここにいう「前回の撮像ルーチン」も、今回の直前回の撮像ルーチンが望ましいが、直前回よりも前の回の撮像ルーチンであってもよい。そして、ステップ405に進み、選択的光源情報取得処理を終了する(図3Bのステップ354に進む)。
ステップ354では、カメラマイクロコンピュータ6は、今回の撮像ルーチン(ステップ342,402)で取得した新規の光源情報(第2の測色情報)又はステップ408でメモリ9から読み出した光源情報に基づいてデフォーカス量に対する光源補正の処理を行う。新規の光源情報がある場合はその新規の光源情報に基づいて光源補正の処理を行い、新規の光源情報がない場合はメモリ9から読み出した光源情報に基づいて光源補正の処理を行う。このようにして、補正後デフォーカス量を算出し、ステップ355に進む。
ステップ355では、カメラマイクロコンピュータ6は、合焦処理を行う。すなわち、補正後デフォーカス量に基づいてフォーカスレンズ102aの駆動量情報を算出し、該駆動量情報をレンズマイクロコンピュータ1に送信する。これにより、フォーカスレンズ102aが合焦位置に駆動され、合焦状態が得られる。さらに、カメラマイクロコンピュータ6は、記録用画像の撮像処理を行う。
次に、ステップ356では、カメラマイクロコンピュータ6は、連写が終了したか否かを判別し、終了していない場合はステップ357に進む。また、連写が終了した場合は、本フローの動作を終了する。
ステップ357では、カメラマイクロコンピュータ6は、ステップ302から計測した実行連写時間のタイマカウントを停止する。そして、カメラマイクロコンピュータ6は、該実行連写時間のタイマカウント値をメモリ9に記憶させ、その後、タイマをリセットした上で再スタートする。
次に、ステップ358では、カメラマイクロコンピュータ6は、LSDセンサ14a,14bのうちLSD蓄積未完了ラインの有無をチェックする。LSD蓄積未完了ラインがなければ、ステップ303に戻る。また、LSD蓄積未完了ラインがあればステップ359に進み、カメラマイクロコンピュータ6は、該LSD蓄積未完了ラインからの信号の読み出し処理を行う。こうして、LSD蓄積未完了ラインをリセットする。そして、ステップ360に進む。
ステップ360では、カメラマイクロコンピュータ6は、ステップ303でセットしたタイマによるLSDセンサ読み出し時間の計測を完了する。また、カメラマイクロコンピュータ6は、該LSDセンサ読み出し時間をメモリ9に記憶させる。そして、ステップ303に戻る。
なお、本実施例では、連写の1画像目の撮像シーケンスにおいて計測したLSDセンサ読み出し時間を、2画像目以降の撮像シーケンスにおける選択的光源情報取得処理に用いた。しかし、ステップ701でのプレAF処理中に取得したLSDセンサ読み出し時間を計測して、該計測結果を用いて1画像目の撮像シーケンスから選択的光源情報取得処理を行うようにしてもよい。
以上説明したように、本実施例では、連写モードにおいて、デフォーカス量取得に対する光源情報取得の遅延に関する第1の判別として、デフォーカス量を取得したときに新規の光源情報が取得済みか未取得かの判別を行う。さらに、デフォーカス量を取得したときに新規の光源情報が未取得である場合には、デフォーカス量取得に対する光源情報取得の遅延に関する第2の判別として、該新規の光源情報を所定時間内に取得することが可能か否かの判別を行う。そして、これらの判別結果に応じて、連写中のデフォーカス量の光源補正に用いる光源情報を切り換える。
具体的には、デフォーカス量検出ユニット7からのデフォーカス量を取得したときに新規の光源情報が取得済みであった場合には、該新規の光源情報を用いる。また、デフォーカス量を取得したときに新規の光源情報が未取得であった場合において、新規の光源情報が所定時間内に取得可能である場合は該新規の光源情報の取得を待ってそれを用いる。一方、新規の光源情報が所定時間内に取得不能である場合はそれよりも前に取得されてメモリ9に記憶された光源情報を用いる。
このようなデフォーカス量の光源補正(つまりは制御用情報の生成)に用いる光源情報の切り換えにより、デフォーカス量の取得後に新規の光源情報の取得を長く待つことなく、デフォーカス量の光源補正及びフォーカス制御(AF処理)を行うことができる。したがって、新規の光源情報の長時間の取得待ちに起因した連写速度の低下を回避することができる。逆に言えば、連写速度を向上させることができる。
また、連写中の各回撮像ルーチンにおいてデフォーカス量の取得に対して新規の光源情報の取得が目標連写速度を満たす限り該新規の光源情報を用いて光源補正を行う。このため、連写中に被写体を照らす光源の種類が変化する等して被写体の色が変化した場合でも、ピントのずれの発生を少なくすることができる。
なお、上記各実施例では、連写モードにおける光源補正に用いる光源情報の切り換えについて説明したが、同様な切り換えは、単写モードでも行うことができる。これにより、単写モードでの光源情報の取得待ちによる記録用画像の撮像待ち時間を短くすることができる。
また、上記各実施例では、フォーカス制御に用いる制御用情報としてフォーカスレンズ102aの駆動量を生成する場合について説明したが、光源補正後のデフォーカス量を制御用情報として扱ってもよい。
本発明の実施例1,2であるカメラと、該カメラに装着される交換レンズの構成を示すブロック図。
実施例1のカメラの動作を示すフローチャート。
実施例2であるカメラの動作を示すフローチャート。
実施例2であるカメラの動作を示すフローチャート。
実施例2のカメラにおける選択的光源情報取得処理を説明するフローチャート。
実施例1,2のカメラにおけるデフォーカス量検出ユニットの構成を示す図。
実施例1,2のカメラにおけるAFセンサの構成を示す図。
実施例1,2のカメラの動作を示すフローチャート。
実施例1,2におけるデフォーカス量の光源補正に用いるデータの例を示す図。
符号の説明
1 レンズマイクロコンピュータ
5 光学情報メモリ
6 カメラマイクロコンピュータ
7 デフォーカス量検出ユニット
10 ダイヤルユニット
11 測光ユニット
14a,14b LSDセンサ
15 光源検出ユニット