本発明の一実施の形態による画像追尾装置について以下に説明する。本実施形態の画像追尾装置は、基準とする像に関する基準情報を記憶し、結像光学系による像を撮像して画像情報を出力する。そして、画像情報に対応する画像における基準情報に相当する画像を対象として、その対象画像の位置を撮影画面内で認識し、追尾する。このとき、対象画像の位置を認識する前に、結像光学系の焦点調節状態を検出すると共に、対象画像の位置を認識した後には、その位置に対して結像光学系の焦点調節状態を検出するようにしたものである。
図1は、一実施の形態の画像追尾装置を備えた撮像装置(一眼レフデジタルスチルカメラ)1の構成を示す。なお、図1では本願発明と直接関係のないカメラの機器および回路についての図示と説明を省略する。一実施の形態のカメラ1は、カメラ本体2に交換レンズ3が交換可能に装着される。交換レンズ3は、結像光学系である撮影レンズ8を有している。撮影レンズ8は、ズーミングレンズ8aとフォーカシングレンズ8bによって構成される。
カメラ本体2には、被写体像を撮像して撮影画像を記録するための第1撮像素子4が設けられる。この第1撮像素子4は、たとえばCCDやCMOSなどにより構成することができる。撮影時にはクイックリターンミラー5およびサブミラー6が実線で示す撮影光路外の位置に退避してシャッター7が開放され、撮影レンズ8により、第1撮像素子4の受光面に被写体像が結像される。
カメラ本体2の底部には、撮影レンズ8の焦点調節状態を検出するための焦点検出光学
系9と測距素子10が設けられている。この一実施の形態では、瞳分割型位相差検出方式による焦点検出方法を採用した例を示す。焦点検出光学系9は、撮影レンズ8を通過した対の焦点検出用光束を測距素子10の受光面へ導き、対の光像を結像させる。測距素子10は例えば対のCCDラインセンサーを備え、対の光像に応じた焦点検出信号を出力する。撮影前にはクイックリターンミラー5およびサブミラー6が破線で示すような撮影光路内の位置に設定されており、撮影レンズ8からの対の焦点検出用光束はクイックリターンミラー5のハーフミラー部を透過し、サブミラー6により反射されて焦点検出光学系9および測距素子10へ導かれる。
カメラ本体2の上部にはファインダー光学系が設けられている。撮影前にはクイックリターンミラー5およびサブミラー6が破線で示す位置にあり、撮影レンズ8からの被写体光はクイックリターンミラー5に反射されて焦点板11へ導かれ、焦点板11上に被写体像が結像する。液晶表示素子12は、焦点板11上に結像された被写体像に焦点検出エリアマークなどの情報を重畳表示するとともに、被写体像外の位置に露出値などの種々の撮影情報を表示する。焦点板11上の被写体像はペンタダハプリズム13および接眼レンズ14を介して接眼窓15へ導かれ、撮影者が被写体像を視認することができる。
また、カメラ本体2上部のファインダー光学系には、被写体追尾や測光のために被写体像を撮像する第2撮像素子16が設けられる。撮影前に焦点板11に結像した撮影レンズ8による被写体像は、ペンタダハプリズム13、プリズム17および結像レンズ18を介して第2撮像素子16の受光面に再結像される。第2撮像素子16は、この被写体像を撮像し、画像情報を出力する。詳細を後述するが、この第2撮像素子16から出力される画像情報に基づいて、画像追尾制御と露出制御が行われる。
カメラ本体2にはまた、ボディ制御装置19、操作部材20などが設けられる。ボディ制御装置19は、詳細を後述するマイクロコンピューターとメモリ、A/D変換器などの周辺部品から構成され、カメラ1の種々の制御と演算を行う。操作部材20には、シャッターボタン、焦点検出エリア選択スイッチ、撮影モード選択スイッチ、焦点調節モード選択スイッチなどのカメラ1を操作するためのスイッチやセレクターが含まれる。
交換レンズ3には、ズーミングレンズ8a、フォーカシングレンズ8b、絞り21、レンズ制御装置22などが設けられる。なお、この一実施の形態では、撮影レンズ8をズーミングレンズ8aおよびフォーカシングレンズ8bにより表しているが、撮影レンズ8の構成は図1に示す構成に限定されない。レンズ制御装置22は図示しないマイクロコンピューターとメモリ、駆動回路、アクチュエーター、センサーなどの周辺部品から構成され、レンズ8a、8bおよび絞り21の駆動制御とそれらの位置検出を行い、交換レンズ3の焦点距離や開放絞り値などの情報を出力する。
ボディ制御装置19とレンズ制御装置22は、レンズマウント部の接点23を介して通信を行う。ボディ制御装置19からレンズ制御装置22へは、レンズ駆動量や制御絞り値などの情報を送信する。一方、レンズ制御装置22からボディ制御装置19へは、ズーミングレンズ8aによる焦点距離、フォーカシングレンズ8bによる撮影距離、絞り値などの情報を送信する。モニター24はカメラ本体2の背面に設けられ、スルー画や撮影画像の他に各種撮影情報を表示する。
図2はボディ制御装置19の詳細な構成を示す。なお、本願発明と直接関係のない制御機能については図示と説明を省略する。ボディ制御装置19は素子制御回路19a、A/D変換器19b、マイクロコンピューター19c、メモリ19dなどを備えている。素子制御回路19aは第2撮像素子16の電荷の蓄積と読み出しを制御する。A/D変換器19bは、第2撮像素子16から画像情報として出力されるアナログ画像信号をデジタル画
像信号に変換する。マイクロコンピューター19cは、ソフトウエア形態により追尾制御部19e、露出制御部19f、焦点検出演算部19gおよびレンズ駆動量演算部19hを構成する。メモリ19dは、画像追尾時に基準とする像に関する基準情報として、画像追尾用のテンプレート画像(基準画像)の情報を記憶する。
追尾制御部19eは、第2撮像素子16により被写体像を撮像して得られた画像情報が表す画像のうち、指定された位置に対応する部分の画像をテンプレート画像として設定する。なお、追尾対象位置の設定方法については、後で詳しく説明する。このテンプレート画像の情報は、基準情報としてメモリ19dにより記憶される。その後さらに追尾制御部19eは、第2撮像素子16から所定の時間間隔ごとに出力される画像情報と、メモリ19dに記憶された基準情報とに基づいて、画像情報が表す画像において基準情報に相当する部分、すなわちテンプレート画像と一致または類似する画像部分の位置を認識し、追尾する。こうした画像追尾処理は、追尾制御部19eにおいて繰り返し行われる。
露出制御部19fは、第2撮像素子16から出力される画像情報に基づいて、撮影時の露出値を演算する。露出制御部19fにおいて求められた露出値は、レンズ制御装置22へ出力されて絞り21の駆動制御に用いられると共に、シャッター7の制御に用いられる。
焦点検出演算部19gは、測距素子10から出力される対の光像に応じた焦点検出信号に基づいて、周知の位相差検出方式などにより撮影レンズ8の焦点調節状態、ここではデフォーカス量を検出する。なお、詳細を後述するが、撮影レンズ8の像面内の複数の位置に対応して複数の焦点検出エリア(焦点検出位置)がそれぞれ設定されている。焦点検出演算部19gは、この複数の焦点検出エリアに対して、測距素子10から出力される対の光像に応じた焦点検出信号に基づいてデフォーカス量をそれぞれ検出する。
なお、この一実施の形態によるカメラ1では、ボディ制御装置19の制御により、制御方法が異なる二つの焦点調節モードのいずれかをユーザの操作に応じて設定可能である。一つのモードは、画像追尾の結果を重視して焦点調節を行う追尾優先モードである。このモードが設定されている場合は、画像追尾によって認識された基準画像に相当する画像の位置に相当する焦点検出エリアで検出されたデフォーカス量を優先して採用し、撮影レンズ8の焦点調節を行う。カメラ1において設定可能なもう一つのモードは、ユーザが予め選択した焦点検出エリアを重視して焦点調節を行う選択エリア優先モードである。このモードが設定されている場合は、ユーザが予め選択した焦点検出エリアに対するデフォーカス量を優先して採用し、焦点調節を行う。
レンズ駆動量演算部19hは、採用されたデフォーカス量をレンズ駆動量に変換し、レンズ制御装置22へ出力する。このレンズ駆動量に基づいて、レンズ制御装置22によりフォーカシングレンズ8bが駆動され、撮影レンズ8の焦点調節が行われる。
図3は第2撮像素子16の概略的な構成を示す正面図である。第2撮像素子16は、マトリクス状に配列された複数の画素(光電変換素子)26(ここでは横8個×縦6個=48個)を備えている。各画素26は図4に示すように3個の部分26a、26b、26cに分割され、これらの部分26a、26b、26cにはそれぞれ赤R、緑G、青Bの原色フィルターが設けられている。これにより、各画素26ごとに被写体像のRGB信号を出力することができる。なお、第2撮像素子16の画素数はこの一実施の形態の画素数に限定されない。
次に、一実施の形態の被写体追尾動作を説明する。図5〜図7は一実施の形態の被写体追尾方法を説明するための図、図8〜図13は一実施の形態の被写体追尾処理を示すフロ
ーチャートである。シャッターボタンを全押しして撮影を行うとき以外は、クイックリターンミラー5が図1に破線で示す撮影光路内に設定されており、撮影レンズ8から入射した被写体光は焦点板11上に結像される。そして、焦点板11上の被写体像はペンタダハプリズム13、プリズム17および結像レンズ18を介して第2撮像素子16へ導かれ、第2撮像素子16から被写体像の画像情報が出力される。
図5は撮影者が接眼窓15から視認する被写体像(ファインダー像)の例である。撮影レンズ8により焦点板11上に結像された被写体像には、液晶表示素子12により焦点検出エリアマークなどの撮影情報が重畳表示され、ペンタダハプリズム13および接眼レンズ14を介して接眼窓15へ導かれ、撮影者が被写体像と撮影情報を視認することができる。この一実施の形態では、撮影レンズ8の撮影画面内に11個の焦点検出エリア45a〜45kが設定されており、液晶表示素子12により焦点板11上の被写体像にエリアマークを重畳し、各焦点検出エリア45a〜45kの位置を表示する。操作部材20の焦点検出エリア選択スイッチにより任意のエリアを選択すると、そのエリアのマーク45が点灯表示される。
操作部材20のシャッターボタンが半押しされると、ボディ制御装置19は図8に示す被写体追尾処理を開始する。ステップS1では、ボディ制御装置19は、第2撮像素子16から出力される画像情報を取得する。この画像情報には、画素ごとのRGB値が次の(1)のように表されている。式(1)において、x,yは画素の座標値を表している。図3の例に示す第2撮像素子16では、x=1〜8、y=1〜6である。
R[x,y]、G[x,y]、B[x,y] ・・・(1)
ステップS2では、ボディ制御装置19は、ステップS1で取得した画像情報に基づいて、各画素の色情報(ここでは色の偏り)RG、BGを演算するとともに、画像を取得したときの露光時間T、ゲインGainおよび色合成係数Kr、Kg、Kbに基づいて、輝度
情報Lを下記の式(2)により演算する。
RG[x,y]=Log2(R[x,y])−Log2(G[x,y]),
BG[x,y]=Log2(B[x,y])−Log2(G[x,y]),
L[x,y]=Log2(Kr×R[x,y]+Kg×G[x,y]+Kb×B[x,y])−Log2(T)−Log2(Gain) ・・・(2)
ボディ制御装置19は、これらの色情報RG、BG、輝度情報Lをテンプレート画像として用いるためにメモリ19dに記憶する。
ステップS3では、ボディ制御装置19は、測距素子10によって各焦点検出エリア45a〜45kごとに検出された焦点検出用の対の光像に応じた焦点検出信号を取得する。
ステップS4では、ボディ制御装置19は、ステップS3で取得した焦点検出信号に基づいて、各焦点検出エリア45a〜45kの撮影レンズ8の焦点調節状態を示すデフォーカス量D[N](N=a〜k)を算出する。なお、Nに入る文字は対応する焦点検出エリアを表している。すなわち、たとえば焦点検出エリア45aについて求められたデフォーカス量は、D[a]と表される。こうしてボディ制御装置19がデフォーカス量を算出することにより、撮影レンズ8の焦点調節状態が検出される。
ステップS5では、ボディ制御装置19は、画像追尾を行う対象とする追尾対象位置を設定する。ここでは、たとえば焦点検出エリア45a〜45kのいずれかをユーザに選択させ、選択された焦点検出エリアを追尾対象位置に設定する。あるいは、カメラ1により自動的に追尾対象位置を設定してもよい。たとえば、最至近のデフォーカス量を示す焦点検出エリアなどを自動的に追尾対象位置に設定する。これ以外の方法によりいずれかの焦
点検出エリアを選択し、追尾対象位置として設定してもよい。
ステップS6では、ボディ制御装置19は、基準情報すなわち画像追尾用のテンプレート画像の情報を取得し、メモリ19dに記憶させる。ここでは、ステップS2で算出した色情報および輝度情報のうち、ステップS5で設定した追尾対象位置の周囲の所定範囲内に対応する画像部分の色情報と輝度情報を、基準情報としてメモリ19dにより記憶する。
たとえば図6(a)に示すように、画面中央に位置する焦点検出エリア45fが追尾対象位置に設定されている場合は、その周囲の符号47に示す点線部分の領域を追尾被写体領域として、その領域に対応する部分の色情報と輝度情報を基準情報として記憶する。すなわち、前述の式(2)によって表されるRG[x,y]、BG[x,y]およびL[x,y]を
、x=4〜5、y=3〜4の範囲について基準情報としてメモリ19dに記憶する。これにより、図6(b)に示すテンプレート画像情報48が基準情報として記憶される。こうして記憶されるテンプレート画像48の色情報(ここでは色の偏り)をTRGおよびTBGと表し、輝度情報をTLと表すと、これらは次の式(3)のように表される。なお、ここでは基準情報として縦2画素、横2画素分のテンプレート画像情報48を記憶することとしたが、テンプレート画像の大きさはこれに限定されない。
TRG[TX,TY]=RG[x,y]、
TBG[TX,TY]=BG[x,y]、
TL[TX,TY]=L[x,y] (TX,TY=1〜2、x=4〜5、y=3〜4) ・
・・(3)
ステップS7では、ボディ制御装置19は、ステップS1と同様にして、第2撮像素子16から出力される画像情報を取得する。次のステップS8では、ボディ制御装置19は、ステップS2と同様にして、ステップS7で取得した画像情報に基づいて、各画素の色情報RG、BGおよび輝度情報Lを演算する。
ステップS9では、ボディ制御装置19は、ステップS8で算出した色情報および輝度情報に基づいて、追尾対象画像の位置を撮影画面内で認識するための画像追尾演算を実行する。ここでは、ステップS8で算出した色情報および輝度情報と、ステップS6で記憶した基準情報とを比較することにより、基準情報に相当する画像を検出してその位置を特定する。その方法を以下に説明する。
画像追尾演算を行う際、まずボディ制御装置19は、ステップS8で取得した色情報と輝度情報によって表される画像(追尾用画像)の中から、テンプレート画像48と同じサイズの領域を順次切り出し、切り出した画像とテンプレート画像48の対応する画素ごとに色情報の差Diffを算出する。たとえば、図7(a)に示すような追尾用画像が取得さ
れたとすると、図中に太い破線で示すように、追尾用画像内で1画素ずつ領域をずらしながらテンプレート画像48との色情報の差Diffを算出する。
今、図7(a)に示すように切り出した画像の始点位置が(HX,HY)=(3,2)であるとすると、差Diffの演算は次の式(4)によって求められる。
Diff[HX,HY]=ΣΣ{Krg×ABS(RG[HX−1+TX,HY−1+TY]−TRG[TX,TY])+Kbg×ABS(BG[HX−1+TX,HY−1+TY]−TB
G[TX,TY])+Kl×ABS(L[HX−1+TX,HY−1+TY]−TL[TX,T
Y])} ・・・(4)
上記式(4)において、Krg、KbgおよびKlは、各色情報と輝度情報の影響度の差を考慮して予め設定される重み付け係数である。また、TX,TY=1〜2、HX=3
、HY=2であり、ΣΣはTX=1〜2およびTY=1〜2の総和演算である。
次にボディ制御装置19は、差Diff[HX,HY]の中の最小の差を検索し、追尾用画像内で最小の差を算出したときの上記切り出し領域を追尾領域として特定する。ここでは、たとえば図7(b)に示すように、始点位置が(x,y)=(6,3)の符合49に示す切り出し領域を追尾領域とする。こうして追尾用画像内で追尾領域49を特定することにより、追尾用画像におけるテンプレート画像48に相当する画像の位置が認識される。
ここで、特定された追尾領域49の画像情報を用いてテンプレート画像48の画像情報を更新する処理を加えてもよい。その場合、例えば元のテンプレート画像48の画像情報80%に対して追尾領域49の画像情報20%を加えることによって、テンプレート画像の情報に対して最新の画像情報が少しずつ更新され、追尾被写体の変化に追従しやすくなる。この場合、追尾演算のたびに毎回更新を行うのではなく、追尾領域49として決定した位置の差Diffの大きさに基づいて、あるしきい値より小さいときのみ更新するように
してもよい。また、式(4)以外によりテンプレート画像48との差を示す画像の特徴量を求めてもよい。
ステップS10では、ボディ制御装置19は、測距素子10によって各焦点検出エリア45a〜45kごとに検出された焦点検出用の対の光像に応じた焦点検出信号を取得する。ステップS11では、ボディ制御装置19は、ステップS10で取得した焦点検出信号に基づいて、各焦点検出エリア45a〜45kの撮影レンズ8の焦点調節状態を示すデフォーカス量D[N](N=a〜k)を算出する。
ステップS12では、ボディ制御装置19は、ステップS11で算出したデフォーカス量のうちいずれのデフォーカス量を焦点調節に採用するかを決定するための採用デフォーカス量決定処理を実行する。この採用デフォーカス量決定処理の詳細な内容については、後で図9および10のフローチャートにより説明する。ステップS12において採用デフォーカス量決定処理を実行することにより、ボディ制御装置19は、ステップS11で算出したデフォーカス量のいずれかを今回の焦点調節に用いる採用デフォーカス量として決定する。
ステップS13では、ボディ制御装置19は、ステップS12で決定された採用デフォーカス量をレンズ駆動量に変換し、レンズ制御装置22によりフォーカシングレンズ8bを駆動することにより、撮影レンズ8の焦点調節を行う。
ステップS14では、ボディ制御装置19は、操作部材20のシャッターボタンの全押し操作がユーザによってなされたか否かを確認する。シャッターボタンが全押しされた場合はステップS15へ進み、ステップS15において撮影処理を実行する。この撮影処理の詳細な内容については、後で図11、12および13のフローチャートにより説明する。ステップS15を実行したら、ボディ制御装置19は図8のフローチャートを終了して被写体追尾処理を完了する。
一方、ステップS14でシャッターボタンの全押し操作がなされていない場合、ボディ制御装置19はステップS16へ進み、シャッターボタンの半押し操作が行われているか否かを確認する。シャッターボタンの半押し操作が継続されている場合はステップS7へ戻り、上述した処理を繰り返す。一方、シャッターボタンの半押し操作がなされていない場合は、図8のフローチャートを終了して被写体追尾処理を完了する。
次に、ステップS12で実行する採用デフォーカス量決定処理について説明する。図9および10は、採用デフォーカス量決定処理のフローチャートである。ステップS21で
は、ボディ制御装置19は、設定されているモードが前述の選択エリア優先モードと追尾優先モードのいずれであるかを判定する。選択エリア優先モードが設定されている場合はステップS22へ進み、追尾優先モードが設定されている場合は図10のステップS31へ進む。
ステップS22では、ボディ制御装置19は、図8のステップS11で各焦点検出エリア45a〜45kについて算出したデフォーカス量のうち、ユーザが予め選択した焦点検出エリア(ユーザ選択エリア)のデフォーカス量を取得する。たとえば図7(b)において、焦点検出エリア45fがユーザ選択エリアに設定されている場合は、この焦点検出エリア45fのデフォーカス量D[f]を取得する。
ステップS23では、ボディ制御装置19は、ステップS22で取得したユーザ選択エリアのデフォーカス量を、前回実行したステップS12において決定された採用デフォーカス量と比較する。すなわち上記の例では、ユーザ選択エリアのデフォーカス量として取得したデフォーカス量D[f]を前回の採用デフォーカス量と比較する。なお、シャッターボタンが半押し操作された後で最初にステップS12の採用デフォーカス量決定処理を実行するときには、ステップS5で追尾対象位置に設定された焦点検出エリアのデフォーカス量を前回の採用デフォーカス量とすればよい。
ステップS24では、ボディ制御装置19は、ステップS23で比較したユーザ選択エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS25へ進み、ステップS25において、ステップS22で取得したユーザ選択エリアのデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[f]を今回の採用デフォーカス量とする。ステップS25を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。一方、ステップS23で比較したユーザ選択エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS26へ進む。
ステップS26では、ボディ制御装置19は、ステップS11で各焦点検出エリア45a〜45kについて算出したデフォーカス量のうち、ユーザ選択エリアの周辺エリア、すなわちユーザ選択エリアの周辺にある焦点検出エリアのデフォーカス量を取得する。たとえば前述のように、図7(b)において焦点検出エリア45fがユーザ選択エリアに設定されている場合は、その上下左右に隣接する焦点検出エリア45b、45e、45gおよび45jの各デフォーカス量D[b]、D[e]、D[g]およびD[j]を取得する。
ステップS27では、ボディ制御装置19は、ステップS26で取得したユーザ選択エリアの周辺エリアの各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、取得したデフォーカス量D[b]、D[e]、D[g]およびD[j]のうち、デフォーカス量D[g]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[g]を選択する。
ステップS28では、ボディ制御装置19は、ステップS27で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS29へ進み、ステップS29において、ステップS27で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[g]を今回の採用デフォーカス量とする。ステップS29を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。
一方、ステップS27で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ボディ制御装置19はステップS30へ進む。ステップS30では、ボディ制御装置19は、今回は有効なデフォーカス量が検出されなかったとして、ステップS11で算出したいずれのデフォーカス量も採用デフォーカス量に決定せずにデフォーカス量を不採用とする。ステップS30を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。この場合、ステップS13の焦点調節制御においてフォーカシングレンズ8bの駆動制御が行われず、したがって撮影レンズ8の焦点調節状態は変化しない。
ステップS21において追尾優先モードが設定されていると判定し、図10のステップS31へ進んだ場合、ステップS31では、ボディ制御装置19は、ステップS11で各焦点検出エリア45a〜45kについて算出したデフォーカス量のうち、ステップS9の画像追尾演算によって特定された追尾領域内の中心エリアのデフォーカス量を取得する。ここでは、追尾領域の中心に最も近い焦点検出エリアを中心エリアとして、そのデフォーカス量を取得する。すなわち図7(b)の例では、追尾領域49の中心に最も近い位置にある焦点検出エリア45gのデフォーカス量D[g]を取得する。
ステップS32では、ボディ制御装置19は、ステップS31で取得した追尾領域内の中心エリアのデフォーカス量を、前回実行したステップS12において決定された採用デフォーカス量と比較する。すなわち上記の例では、デフォーカス量D[g]を前回の採用デフォーカス量と比較する。
ステップS33では、ボディ制御装置19は、ステップS32で比較した追尾領域内の中心エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらの差が所定値以内である場合はステップS34へ進み、ステップS34において、ステップS31で取得した追尾領域内の中心エリアのデフォーカス量を今回の採用デフォーカス量として採用する。すなわち上記の例では、デフォーカス量D[g]を今回の採用デフォーカス量とする。ステップS34を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。一方、ステップS32で比較した追尾領域内の中心エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS35へ進む。
ステップS35では、ボディ制御装置19は、ステップS11で各焦点検出エリア45a〜45kについて算出したデフォーカス量のうち、ステップS9の画像追尾演算によって特定された追尾領域内およびその周辺に位置する焦点検出エリアのデフォーカス量を取得する。たとえば、図7(b)の追尾領域49に対して、隣接する焦点検出エリア45c、45hおよび45kの各デフォーカス量D[c]、D[h]およびD[k]を取得する。なお、この際にステップS31で取得した追尾領域内の中心エリアのデフォーカス量、すなわち焦点検出エリア45gのデフォーカス量D[g]は取得対象から除かれる。
ステップS36では、ボディ制御装置19は、ステップS35で取得した各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、取得したデフォーカス量D[c]、D[h]およびD[k]のうち、デフォーカス量D[k]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[k]を選択する。
ステップS37では、ボディ制御装置19は、ステップS36で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらの差が所定値以内である場合はステップS38へ進み、ステップS38において、ステップS36で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわ
ち上記の例では、デフォーカス量D[k]を今回の採用デフォーカス量とする。ステップS38を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。一方、ステップS36で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS39へ進む。
ステップS39では、ボディ制御装置19は、ステップS11で各焦点検出エリア45a〜45kについて算出したデフォーカス量のうち、前回の採用エリア、すなわち前回の採用デフォーカス量を検出した焦点検出エリアについて今回検出されたデフォーカス量と、その周辺に位置する焦点検出エリアのデフォーカス量とを取得する。たとえば、前回の採用エリアが図7(b)の焦点検出エリア45aであったとすると、そのデフォーカス量D[a]と、焦点検出エリア45aに隣接する焦点検出エリア45b、45d、45eおよび45fの各デフォーカス量D[b]、D[d]、D[e]およびD[f]とを取得する。
ステップS40では、ボディ制御装置19は、ステップS39で取得した各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、取得したデフォーカス量D[b]、D[d]、D[e]およびD[
f]のうち、デフォーカス量D[f]が前回の採用デフォーカス量との差が最も小さい場合
には、デフォーカス量D[f]を選択する。
ステップS41では、ボディ制御装置19は、ステップS40で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらの差が所定値以内である場合はステップS42へ進み、ステップS42において、ステップS40で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[f]を今回の採用デフォーカス量とする。ステップS42を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。
一方、ステップS40で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ボディ制御装置19はステップS43へ進む。ステップS43では、ボディ制御装置19は、今回は有効なデフォーカス量が検出されなかったとして、ステップS11で算出したいずれのデフォーカス量も採用デフォーカス量に決定せずにデフォーカス量を不採用とする。ステップS43を実行したら、ボディ制御装置19は採用デフォーカス量決定処理を終了して図8のステップS13へ進む。この場合、ステップS13の焦点調節制御においてフォーカシングレンズ8bの駆動制御が行われず、したがって撮影レンズ8の焦点調節状態は変化しない。
以上説明したような採用デフォーカス量決定処理が図8のステップS12で実行されることにより、ステップS11で算出したデフォーカス量のいずれかが今回の焦点調節に用いる採用デフォーカス量として決定される。この採用デフォーカス量に基づいて、ステップS13において焦点調節制御が行われることにより、撮影レンズ8の焦点調節状態が被写体の動きに応じて適切に変化する。
次に、ステップS15で実行する撮影処理について説明する。図11は、撮影処理のフローチャートである。ステップS51では、ボディ制御装置19は、連写中であるか否かを判定する。所定の連写操作、たとえばカメラ1において連写モードが設定されており、シャッターボタンの全押し操作が継続中である場合には、連写中であると判定してステップS55へ進む。一方、このような連写操作が行われていない場合は、連写中でないと判定してステップS52へ進む。
ステップS52では、ボディ制御装置19は、クイックリターンミラー5およびサブミ
ラー6を撮影光路から退避させるためのミラーアップを開始する。ミラーアップが終了したら次のステップS53を実行する。ステップS53では、ボディ制御装置19は、シャッター7を開放して撮影レンズ8により結像された被写体像を第1撮像素子4により撮像することにより、撮影画像データを取得する。この撮像画像データは、必要な画像処理が施された後、メモリカードなどの画像記録媒体(不図示)に記録される。ステップS54では、撮影光路から退避されたクイックリターンミラー5およびサブミラー6を撮影光路に戻すためのミラーダウンを開始する。ステップS54を実行したら、ボディ制御装置19は撮影処理を終了する。
一方、ステップS51で連写中であると判定してステップS55へ進んだ場合、ステップS55では、ボディ制御装置19は、設定されているモードが前述の選択エリア優先モードと追尾優先モードのいずれであるかを判定する。選択エリア優先モードが設定されている場合はステップS56へ進み、追尾優先モードが設定されている場合はステップS65へ進む。
ステップS56では、ボディ制御装置19は、測距素子10と第2撮像素子16に対する露光制御を行う。この露光制御において、測距素子10および第2撮像素子16に対して適切な露光時間がそれぞれ設定される。設定された露光時間を経過することにより、測距素子10からは焦点検出信号が出力され、第2撮像素子16からは画像情報が出力される。ステップS56の露光制御において設定された露光時間が経過した後、ステップS57では、ボディ制御装置19は、クイックリターンミラー5およびサブミラー6を撮影光路から退避させるためのミラーアップを開始する。
ミラーアップ開始後のステップS58では、ボディ制御装置19は、ユーザ選択エリアを優先してデフォーカス量を検出し、撮影レンズ8の焦点調節を行うための選択エリア優先焦点検出演算処理を実行する。この選択エリア優先焦点検出演算処理の詳細な内容については、後で図12のフローチャートにより説明する。ステップS58において選択エリア優先焦点検出演算処理を実行することにより、ボディ制御装置19は、いずれかの焦点検出エリアについてデフォーカス量を求め、今回の焦点調節に用いる採用デフォーカス量を決定する。
ステップS59では、ボディ制御装置19は、ステップS58で決定された採用デフォーカス量をレンズ駆動量に変換し、レンズ制御装置22によりフォーカシングレンズ8bを駆動することにより、撮影レンズ8の焦点調節を行う。なお、ステップS58の選択エリア優先焦点検出演算処理とステップS59の焦点調節制御は、ミラーアップ中に行うこととしてよい。
ミラーアップが終了したら、ボディ制御装置19はステップS60を実行する。ステップS60では、ボディ制御装置19は、シャッター7を開放して撮影レンズ8により結像された被写体像を第1撮像素子4により撮像して、撮影画像データを取得する。その後、取得した撮影画像データを前述のように画像記録媒体に記録する。ステップS61では、撮影光路から退避されたクイックリターンミラー5およびサブミラー6を撮影光路に戻すためのミラーダウンを開始する。
ステップS62〜S64では、ボディ制御装置19は、図8のステップS7〜S9と同様の処理をそれぞれ行う。すなわち、ステップS62では、第2撮像素子16から出力される画像情報を取得し、次のステップS63では、ステップS62で取得した画像情報に基づいて各画素の色情報RG、BGおよび輝度情報Lを演算し、続くステップS64では、ステップS63で算出した色情報および輝度情報に基づいて画像追尾演算を実行する。これにより、取得した画像情報に対応する追尾用画像における基準情報に相当する画像、
すなわちテンプレート画像48相当の画像の位置が認識される。
ステップS64を実行したら、ボディ制御装置19は、ステップS51へ戻って前述のような処理を繰り返す。これにより、選択エリア優先モードが設定されている場合は、連写中にステップS56〜S64の処理が繰り返される。その結果、ステップS60が繰り返し実行され、第1撮像素子4による撮像が複数回繰り返し行われる。
ステップS55において追尾優先モードが設定されていると判定しステップS65へ進んだ場合、ステップS65では、ボディ制御装置19は、ステップS56と同様に測距素子10と第2撮像素子16に対する露光制御を行う。設定された露光時間が経過した後、ステップS66では、ボディ制御装置19は、クイックリターンミラー5およびサブミラー6を撮影光路から退避させるためのミラーアップを開始する。
ミラーアップ開始後のステップS67では、ボディ制御装置19は、前半焦点検出演算処理を実行する。この前半焦点検出演算では、前回の採用エリア、すなわち前回実行したステップS71の後半焦点検出演算処理で決定された採用デフォーカス量を検出した焦点検出エリアと、その周辺に位置する焦点検出エリアとについて、測距素子10からの焦点検出信号に基づいてデフォーカス量を算出する。たとえば、前回の採用エリアが図7(b)の焦点検出エリア45aであったとすると、その焦点検出エリア45aにおける今回のデフォーカス量D[a]と、焦点検出エリア45aに隣接する焦点検出エリア45b、45d、45eおよび45fにおける今回の各デフォーカス量D[b]、D[d]、D[e]およびD[f]とを求める。これにより、ステップS70で画像追尾演算を行う前に、複数の焦点検出エリア45a〜45kのうち前回の採用エリアおよびその周辺エリアとして予め選択された焦点検出エリアに対して、撮影レンズ8の焦点調節状態が求められる。なお、第2撮像素子16よりも先に測距素子10の露光時間が経過した場合は、ステップS66のミラーアップ開始前にステップS67を実行してもよい。
ステップS68〜S70では、ボディ制御装置19は、ステップS62〜S64と同じく、図8のステップS7〜S9と同様の処理をそれぞれ行う。すなわち、ステップS68では、第2撮像素子16から出力される画像情報を取得し、次のステップS69では、ステップS68で取得した画像情報に基づいて各画素の色情報RG、BGおよび輝度情報Lを演算し、続くステップS70では、ステップS69で算出した色情報および輝度情報に基づいて画像追尾演算を実行する。これにより、取得した画像情報に対応する追尾用画像における基準情報に相当する画像、すなわちテンプレート画像48相当の画像の位置が認識される。
ステップS71では、ボディ制御装置19は、ステップS70の画像追尾演算によって認識された基準情報に相当する画像の位置に対してデフォーカス量を検出し、撮影レンズ8の焦点調節を行うための後半焦点検出演算処理を実行する。この後半焦点検出演算処理の詳細な内容については、後で図13のフローチャートにより説明する。ステップS71において後半焦点検出演算処理を実行することにより、ボディ制御装置19は、いずれかの焦点検出エリアについてデフォーカス量を求め、今回の焦点調節に用いる採用デフォーカス量を決定する。
ステップS72では、ボディ制御装置19は、ステップS71で決定された採用デフォーカス量をレンズ駆動量に変換し、レンズ制御装置22によりフォーカシングレンズ8bを駆動することにより、撮影レンズ8の焦点調節を行う。なお、ステップS67〜S72の各処理は、いずれもミラーアップ中に行うこととしてよい。
ミラーアップが終了したら、ボディ制御装置19はステップS73を実行する。ステッ
プS73では、ボディ制御装置19は、シャッター7を開放して撮影レンズ8により結像された被写体像を第1撮像素子4により撮像して、撮影画像データを取得する。その後、取得した撮影画像データを前述のように画像記録媒体に記録する。ステップS74では、撮影光路から退避されたクイックリターンミラー5およびサブミラー6を撮影光路に戻すためのミラーダウンを開始する。
ステップS74を実行したら、ボディ制御装置19は、ステップS51へ戻って前述のような処理を繰り返す。これにより、追尾優先モードが設定されている場合は、連写中にステップS65〜S74の処理が繰り返される。その結果、ステップS73が繰り返し実行され、第1撮像素子4による撮像が複数回繰り返し行われる。この複数回の撮像の間隔に、ステップS67の前半焦点検出演算処理およびステップS71の後半焦点検出演算処理が行われる。
尚、上記ステップS65〜S74は、第1撮像素子4による撮影時間が所定時間よりも長い場合に行うようにしても良い。つまり、被写体輝度が暗い場合などにより露出時間が所定秒時よりも長くなったり、第1撮像素子4の蓄積時間が所定の蓄積時間よりも長くなったりする場合には、ステップS70に示すような画像追尾演算の前にステップS67に示すような前半焦点検出演算処理を行い、画像追尾演算の後にステップS71に示すような後半焦点検出演算処理を行う。一方、露出時間が所定秒時よりも短い場合や蓄積時間が所定の蓄積時間よりも短い場合は、画像追尾演算を行ってから焦点検出演算処理を行うようにすれば良い。
これにより、追尾のための画像を得るまでに時間を要するような場合でも、同様に、効率的に焦点検出演算処理を行うことができる。
ここで、ステップS58で実行する選択エリア優先焦点検出演算処理について説明する。図12は、選択エリア優先焦点検出演算処理のフローチャートである。ステップS81では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、ユーザが予め選択した焦点検出エリアであるユーザ選択エリアについて、測距素子10からの焦点検出信号を取得してデフォーカス量を算出する。たとえば図7(b)において、前述のように焦点検出エリア45fがユーザ選択エリアに設定されている場合は、この焦点検出エリア45fについて焦点検出信号を取得し、デフォーカス量D[f]を算出する。
ステップS82では、ボディ制御装置19は、ステップS81で算出したユーザ選択エリアのデフォーカス量を、前回の選択エリア優先焦点検出演算処理において決定された採用デフォーカス量と比較する。すなわち上記の例では、ユーザ選択エリアのデフォーカス量として算出したデフォーカス量D[f]を前回の採用デフォーカス量と比較する。なお、最初に選択エリア優先焦点検出演算処理を実行するときには、図8のステップS12で最後に決定された採用デフォーカス量を前回の採用デフォーカス量とすればよい。
ステップS83では、ボディ制御装置19は、ステップS82で比較したユーザ選択エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS84へ進み、ステップS84において、ステップS81で算出したユーザ選択エリアのデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[f]を今回の採用デフォーカス量とする。ステップS84を実行したら、ボディ制御装置19は選択エリア優先焦点検出演算処理を終了して図11のステップS59へ進む。一方、ステップS82で比較したユーザ選択エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS85へ進む。
ステップS85では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、ユーザ選択エリアの周辺エリア、すなわちユーザ選択エリアの周辺にある焦点検出エリアについて、測距素子10からの焦点検出信号を取得してデフォーカス量を算出する。たとえば前述のように、図7(b)において焦点検出エリア45fがユーザ選択エリアに設定されている場合は、その上下左右に隣接する焦点検出エリア45b、45e、45gおよび45jについて焦点検出信号を取得し、デフォーカス量D[b]、D[e]、D[g]およびD[j]を算出する。
ステップS86では、ボディ制御装置19は、ステップS85で算出したユーザ選択エリアの周辺エリアの各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、算出したデフォーカス量D[b]、D[e]、D[g]およびD[j]のうち、デフォーカス量D[g]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[g]を選択する。
ステップS87では、ボディ制御装置19は、ステップS86で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS88へ進み、ステップS88において、ステップS86で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[g]を今回の採用デフォーカス量とする。ステップS88を実行したら、ボディ制御装置19は選択エリア優先焦点検出演算処理を終了して図11のステップS59へ進む。一方、ステップS86で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS89へ進む。
ステップS89では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、前回のステップS64で実行した画像追尾演算によって特定された追尾領域内およびその周辺に位置する焦点検出エリアについて、測距素子10からの焦点検出信号を取得してデフォーカス量を算出する。たとえば、図7(b)の追尾領域49に対して、隣接する焦点検出エリア45c、45hおよび45kの各デフォーカス量D[c]、D[h]およびD[k]を算出する。なお、焦点検出エリア45gのデフォーカス量D[g]は既にステップS85で算出済みであるため、ここでは算出対象から除かれる。
ステップS90では、ボディ制御装置19は、ステップS89で算出した各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、算出したデフォーカス量D[c]、D[h]およびD[k]のうち、デフォーカス量D[k]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[k]を選択する。
ステップS91では、ボディ制御装置19は、ステップS90で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらの差が所定値以内である場合はステップS92へ進み、ステップS92において、ステップS90で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[k]を今回の採用デフォーカス量とする。ステップS92を実行したら、ボディ制御装置19は選択エリア優先焦点検出演算処理を終了して図11のステップS59へ進む。
一方、ステップS90で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ボディ制御装置19はステップS93へ進む。ステップS93では、ボディ制御装置19は、今回は有効なデフォーカス量が検出されなかったとして、算出したいずれのデフォーカス量も採用デフォーカス量に決定せずにデフォーカス量を不
採用とする。ステップS93を実行したら、ボディ制御装置19は選択エリア優先焦点検出演算処理を終了して図11のステップS59へ進む。この場合、ステップS59の焦点調節制御においてフォーカシングレンズ8bの駆動制御が行われず、したがって撮影レンズ8の焦点調節状態は変化しない。
以上説明したような選択エリア優先焦点検出演算処理が図11のステップS58で実行されることにより、ユーザ選択エリアを優先してデフォーカス量が検出され、今回の焦点調節に用いる採用デフォーカス量が決定される。この採用デフォーカス量に基づいて、ステップS59において焦点調節制御が行われることにより、撮影レンズ8の焦点調節状態が被写体の動きに応じて連写中に適切に変化する。
続いて、図11のステップS71で実行する後半焦点検出演算処理について説明する。図13は、後半焦点検出演算処理のフローチャートである。ステップS101では、ボディ制御装置19は、直前のステップS70で実行した今回の画像追尾演算において、追尾領域を特定できたか否かを判定する。追尾領域を特定できた場合、すなわち追尾用画像においてテンプレート画像48を表す基準情報の位置が認識できた場合は、ステップS102へ進む。一方、追尾領域を特定できなかった場合、すなわち追尾用画像においてテンプレート画像48を表す基準情報の位置が認識できなかった場合は、ボディ制御装置19は後半焦点検出演算処理を終了して図11のステップS72へ進む。これにより、追尾領域を特定できなかった場合には、ボディ制御装置19は、後半焦点検出演算処理を実行して撮影レンズ8の焦点調節状態を検出することを禁止する。
ステップS102では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、ステップS70の画像追尾演算によって特定された追尾領域内の中心エリアのデフォーカス量、すなわち追尾領域の中心に最も近い焦点検出エリアについて、測距素子10からの焦点検出信号を取得してデフォーカス量を算出する。すなわち図7(b)の例では、追尾領域49の中心に最も近い位置にある焦点検出エリア45gについて焦点検出信号を取得し、デフォーカス量D[g]を算出する。
ステップS103では、ボディ制御装置19は、ステップS102で算出した追尾領域内の中心エリアのデフォーカス量を、前回実行した後半焦点検出演算処理において決定された採用デフォーカス量と比較する。すなわち上記の例では、算出したデフォーカス量D[g]を前回の採用デフォーカス量と比較する。なお、最初に後半焦点検出演算処理を実行するときには、図8のステップS12で最後に決定された採用デフォーカス量を前回の採用デフォーカス量とすればよい。
ステップS104では、ボディ制御装置19は、ステップS103で比較した追尾領域内の中心エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS105へ進み、ステップS105において、ステップS102で算出した追尾領域内の中心エリアのデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[g]を今回の採用デフォーカス量とする。ステップS105を実行したら、ボディ制御装置19は後半焦点検出演算処理を終了して図11のステップS72へ進む。一方、ステップS103で比較した追尾領域内の中心エリアのデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS106へ進む。
ステップS106では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、ステップS70の画像追尾演算によって特定された追尾領域内およびその周辺に位置する焦点検出エリアについて、測距素子10からの焦点検出信号を取得してデフォーカス量
を算出する。たとえば、図7(b)の追尾領域49に対して、隣接する焦点検出エリア45c、45hおよび45kについて、測距素子10からの焦点検出信号を取得して各デフォーカス量D[c]、D[h]およびD[k]を算出する。なお、追尾領域の中心に最も近い焦点検出エリア45gのデフォーカス量D[g]は既にステップS102で算出済みであるため、ここでは算出対象から除かれる。
ステップS107では、ボディ制御装置19は、ステップS106で算出した各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、算出したデフォーカス量D[c]、D[h]およびD[k]のうち、デフォーカス量D[k]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[k]を選択する。
ステップS108では、ボディ制御装置19は、ステップS107で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらのデフォーカス量の差が所定値以内である場合はステップS109へ進み、ステップS109において、ステップS107で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[k]を今回の採用デフォーカス量とする。ステップS109を実行したら、ボディ制御装置19は後半焦点検出演算処理を終了して図11のステップS72へ進む。一方、ステップS107で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ステップS110へ進む。
ステップS110では、ボディ制御装置19は、焦点検出エリア45a〜45kのうち、前回の採用エリア、すなわち前回の採用デフォーカス量を検出した焦点検出エリアと、その周辺に位置する焦点検出エリアとについて、測距素子10からの焦点検出信号を取得してデフォーカス量を算出する。たとえば、前回の採用エリアが図7(b)の焦点検出エリア45aであったとすると、そのデフォーカス量D[a]と、焦点検出エリア45aに隣接する焦点検出エリア45b、45d、45eおよび45fの各デフォーカス量D[b]、D[d]、D[e]およびD[f]とを算出する。
ステップS111では、ボディ制御装置19は、ステップS110で算出した各デフォーカス量のうち、前回の採用デフォーカス量との差が最も小さいデフォーカス量を選択する。たとえば上記の例において、算出したデフォーカス量D[b]、D[d]、D[e]およびD[f]のうち、デフォーカス量D[f]が前回の採用デフォーカス量との差が最も小さい場合には、デフォーカス量D[f]を選択する。
ステップS112では、ボディ制御装置19は、ステップS111で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以内であるか否かを判定する。これらの差が所定値以内である場合はステップS113へ進み、ステップS113において、ステップS111で選択したデフォーカス量を採用して今回の採用デフォーカス量に決定する。すなわち上記の例では、デフォーカス量D[f]を今回の採用デフォーカス量とする。ステップS113を実行したら、ボディ制御装置19は後半焦点検出演算処理を終了して図11のステップS72へ進む。
一方、ステップS111で選択したデフォーカス量と前回の採用デフォーカス量との差が所定値以上である場合は、ボディ制御装置19はステップS114へ進む。ステップS114では、ボディ制御装置19は、今回は有効なデフォーカス量が検出されなかったとして、算出したいずれのデフォーカス量も採用デフォーカス量に決定せずにデフォーカス量を不採用とする。ステップS114を実行したら、ボディ制御装置19は後半焦点検出演算処理を終了して図11のステップS72へ進む。この場合、ステップS72の焦点調
節制御においてフォーカシングレンズ8bの駆動制御が行われず、したがって撮影レンズ8の焦点調節状態は変化しない。
なお、図11のステップS67で実行した前半焦点検出演算処理において、上記のステップS102、S106またはS110で算出対象とされたデフォーカス量を既に算出済みである場合は、そのデフォーカス量の算出を省略する。これにより、前半焦点検出演算処理の際にデフォーカス量を求めた焦点検出エリアに対しては、ボディ制御装置19は、後半焦点検出演算処理を実行して撮影レンズ8の焦点調節状態を検出することを禁止する。
以上説明したような後半焦点検出演算処理が図11のステップS71で実行されることにより、ステップS70の画像追尾演算によって認識された基準情報に相当する画像の位置に対応する焦点検出エリアに対してデフォーカス量が検出され、今回の焦点調節に用いる採用デフォーカス量が決定される。この採用デフォーカス量に基づいて、ステップS72において焦点調節制御が行われることにより、撮影レンズ8の焦点調節状態が被写体の動きに応じて連写中に適切に変化する。
以上説明した実施の形態によれば、次のような作用効果を奏する。
(1)本実施形態のカメラ1において、第2撮像素子16は、撮影レンズ8による像を撮像し、画像情報を出力する。ボディ制御装置19は、測距素子10からの焦点検出信号に基づいて、撮影レンズ8の焦点調節状態を示すデフォーカス量を求める。またボディ制御装置19は、テンプレート画像情報48の情報を基準とする像に関する基準情報として記憶するとともに、画像追尾演算を実行することにより、第2撮像素子16から出力される画像情報に対応する追尾用画像における基準情報に相当する画像の位置を認識する。さらにボディ制御装置19は、ステップS70で画像追尾演算を実行して上記画像の位置を認識する前に、ステップS67においてデフォーカス量を求める前半焦点検出演算処理を行うとともに、ステップS70で画像追尾演算を実行して認識された上記画像の位置に対して、ステップS71においてデフォーカス量を求める後半焦点検出演算処理を行うこととした。このようにしたので、画像追尾演算を実行する前にできるだけデフォーカス量の演算を行っておき、画像追尾演算の実行後に行うデフォーカス量の演算を少なくすることができる。したがって、限られた演算処理時間内で効率的な制御を行うことができる。
(2)ボディ制御装置19は、撮影レンズ8の像面内の複数位置に対して設定された複数の焦点検出エリア45a〜45kに対してデフォーカス量を検出する。またボディ制御装置19は、ステップS71で行う後半焦点検出演算処理においては、複数の焦点検出エリア45a〜45kのうちステップS70の画像追尾演算によって認識された画像の位置に対応する範囲に属する焦点検出エリアに対して、デフォーカス量を求めることとした(ステップS102、S106)。このようにしたので、追尾対象とされた被写体の動きに応じて焦点調節を行うためのデフォーカス量を素早く検出することができる。
(3)ボディ制御装置19は、ステップS67で行う前半焦点検出演算処理においては、複数の焦点検出エリア45a〜45kのうち、前回の採用エリアおよびその周辺エリアとして予め選択された焦点検出エリアに対して、デフォーカス量を求めることとした。このようにしたので、追尾対象演算を行う前であっても、追尾対象とされた被写体が存在する可能性の高い範囲についてデフォーカス量を検出することができる。
(4)ボディ制御装置19は、複数の焦点検出エリア45a〜45kのうち、ステップS67の前半焦点検出演算処理の際にデフォーカス量を求めた焦点検出エリアに対しては、ステップS102またはS106でデフォーカス量を求めるのを禁止することとした。このようにしたので、不要なデフォーカス量の演算を省略して演算処理時間を短縮することができる。
(5)ボディ制御装置19は、ステップS70の画像追尾演算によって基準情報に相当する追尾領域を特定できたか否かを判定する(ステップS101)。追尾領域を特定できず
、基準情報の位置が追尾用画像において認識できなかった場合は、ステップS101以降の後半焦点検出演算処理を実行して撮影レンズ8の焦点調節状態を検出するのを禁止することとした。このようにしたので、画像追尾に失敗した場合に不要となるデフォーカス量の演算を省略して演算処理時間を短縮することができる。
(6)ボディ制御装置19は、追尾優先モードと選択エリア優先モードとを選択的に設定することができる。追尾優先モードでは、ステップS71で後半焦点検出演算処理を実行することにより、ステップS70の画像追尾演算によって認識された対象画像の位置に対応するデフォーカス量を、ステップS67の前半焦点検出演算処理によって検出されたデフォーカス量に優先して採用する(ステップS105、S109)。一方、選択エリア優先モードでは、ステップS58で選択エリア優先焦点検出演算処理を実行することにより、複数の焦点検出エリア45a〜45kのうち、ユーザ選択エリアまたはその周辺エリアに対するデフォーカス量を採用する(ステップS84、S88)。このとき、ステップS64の画像追尾演算後にはデフォーカス量を算出しないこととした。このようにしたので、ユーザの使用形態に応じていずれかのモードを設定し、適切に焦点調節制御を行うことができる。
(7)ボディ制御装置19は、測距素子10からの焦点検出信号に基づいて求められたデフォーカス量に基づいて、撮影レンズ8の焦点調節を行う。特に、第1撮像素子4による撮像を複数回繰り返し行う連写中には、その複数回の撮像の間隔に、ステップS67の前半焦点検出演算処理およびステップS71の後半焦点検出演算を行うこととした。このようにしたので、限られた演算処理時間内で適切に撮影レンズ8の焦点調節を行うことができる。
尚、上記実施の形態では焦点検出を独立した測距素子10を用いて行う例を示したが、第1撮像素子4の撮像画素配列中に撮影レンズの瞳の異なる部分を通過した一対の光束を受光する焦点検出用画素を混在して配置するようにし、この焦点検出用画素の出力を用いて焦点調節状態を求めるようにしてもよい。また第2撮像素子に代えて、この第1撮像素子の出力を用いて追尾や測光を行ってもよい。