以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明は以下の実施の形態に限定されるものではない。
(第一の実施形態)
図1は、本実施形態におけるレンズユニット及びカメラ本体からなるレンズ交換式カメラの構成を示すブロック図である。図1に示すように、本実施形態におけるカメラシステムは、レンズユニット10及びカメラ本体20から構成されている。レンズユニット10全体の動作を統括制御するレンズ制御部106と、カメラ全体の動作を統括するカメラ制御部207がデータを通信している。
まず、レンズユニット10の構成について説明する。レンズユニット10は、固定レンズ101、ズームレンズ108、絞り102、フォーカスレンズ103を備えて構成される撮影光学系を有する。絞り102は、絞り駆動部104によって駆動され、後述する撮像素子201への入射光量を制御する。フォーカスレンズ103は、フォーカスレンズ駆動部105によって駆動され、焦点調節を行う。ズームレンズ108は、ズームレンズ駆動部109によって駆動されることにより、ズームの調節を行う。なお、本実施形態においては、ズームレンズ108およびズームレンズ駆動部109は必須の構成ではない。
絞り駆動部104、フォーカスレンズ駆動部105、ズームレンズ駆動部109はレンズ制御部106によって制御され、絞り102の開口量や、フォーカスレンズ103およびズームレンズ108の位置が決定される。ユーザによりレンズ操作部107を介してフォーカスやズームなどの操作が行われた場合には、レンズ制御部106がユーザ操作に応じた制御を行う。レンズ制御部106は、後述するカメラ制御部207から受信した制御命令・制御情報に応じて絞り駆動部104やフォーカスレンズ駆動部105、ズームレンズ駆動部109の制御を行い、また、レンズ情報をカメラ制御部207に送信する。
次に、本実施形態に係る自動焦点調節装置を備えるカメラ本体20の構成について説明する。カメラ本体20は、レンズユニット10の撮影光学系を通過した光束から撮像信号を取得可能に構成されている。撮像素子201は、CCDやCMOSセンサにより構成される。撮影光学系を通過した光束が撮像素子201の受光面上に結像し、形成された被写体像がフォトダイオードによって入射光量に応じた電荷に変換(光電変換)される。各フォトダイオードに蓄積された電荷は、カメラ制御部207の指令に従ってタイミングジェネレータ209から与えられる駆動パルスに基づいて電荷に応じた電圧信号として撮像素子201から順次読み出される。
撮像面位相差方式の焦点調節(以下、撮像面位相差AF)に対応しない撮像素子の場合、例えば図2(A)に示すようなベイヤ−配列の画素構成となる。一方、本実施形態の撮像素子201は、撮像面位相差AFを行うために、図2(B)に示すように1つの画素に複数(本実施形態では2つ)のフォトダイオード(光電変換素子)を保持している。光束をマイクロレンズで分離し、この2つのフォトダイオードで結像することで、撮像用とAF用の2つの信号が取得可能になっている。2つのフォトダイオードの信号を加算した信号(A+B)が撮像信号であり、個々のフォトダイオードの信号(A、B)がAF用の2つの像信号になっている。ここでは、2つの像信号のそれぞれを読み出す構成に限らず、例えば処理負荷を考慮して、加算した信号(A+B)と一方の像信号(例えばA)を読み出し、その差分からもう一方の像信号(例えばB)を取得する構成でもよい。後述するAF信号処理部204でAF用の2つの像信号に対して相関演算を行い、像ずれ量や各種信頼性情報を算出する。
なお、本実施形態では1つの画素に2つのフォトダイオードを有する構成としているが、フォトダイオードの数は2つに限定されず、それ以上であってもよい。また、撮像面位相差AF対応の撮像素子の構成として、本実施形態のように1つの画素に複数のフォトダイオードを設ける構成に限らず、上述した特許文献2のように、撮像素子中に焦点検出用の画素を設ける構成であってもよい。
撮像素子201から読み出された撮像信号及びAF用信号は、CDS/AGCコンバータ202に入力され、リセットノイズを除去する為の相関二重サンプリング、ゲインの調節、信号のデジタル化を行う。CDS/AGCコンバータ202は、撮像信号をカメラ信号処理部203およびAF評価値生成部210に、撮像面位相差AF用の信号をAF信号処理部204に出力する。
カメラ信号処理部203は、CDS/AGCコンバータ202から出力された撮像信号を表示部205に送信する。表示部205は、LCDや有機EL等の表示デバイスであり、撮像信号を表示する。また、撮像信号の記録を行うモードの時には、撮像信号は記録部206に記録される。
AF信号処理部204は、CDS/AGCコンバータ202から出力されたAF用の2つの像信号を基に相関演算を行い、像ずれ量と信頼性情報(二像一致度、二像急峻度、コントラスト情報、飽和情報、キズ情報等)を算出する。そして、算出した像ずれ量と信頼性情報をカメラ制御部207へ出力する。相関演算の詳細については、図12乃至図14を用いて後述する。
AF評価値生成部210は、撮像信号から高周波成分を抽出してAF評価値を生成し、カメラ制御部207に出力する。AF評価値は、撮像素子201からの出力信号に基づいて生成される画像の鮮鋭度(コントラスト状態)を表すものであり、鮮鋭度は撮影光学系の焦点状態(合焦の程度)によって変化するので、結果的に撮影光学系の焦点状態を表す信号となる。なお、AF評価値を生成するのに用いる撮像素子201上の領域は、位相差検出用の像信号を生成するのに用いる領域と対応する領域を含むものとする。
カメラ制御部207は、カメラ本体20内の各構成と情報をやり取りして制御を行う。カメラ本体20内の処理だけでなく、カメラ操作部208からの入力に応じて、電源のON/OFF、設定の変更、記録の開始、AF制御の開始、記録画像の確認等、ユーザが操作したカメラ機能を実行する。また、先述したようにレンズユニット10内のレンズ制御部106と情報をやり取りし、撮影光学系の制御命令・制御情報を送ったり、レンズユニット内の情報を取得する。
次に、本実施形態におけるカメラ本体20の動作について、図を用いて説明する。
図3は、カメラ本体20の撮影処理の手順を示すフローチャートである。まず、ステップS301〜S303で、カメラ制御部207は初期化処理を行う。ステップS301では、カメラ制御部207は、カメラの各種初期値設定を行う。ここでは、撮影処理を開始したとき、または撮影モードが変更されたときに、そのときのユーザ設定や撮影モード等の情報を基に初期値を設定する。ステップS302では、合焦停止フラグをオフにする。ステップS303では、サーチ駆動フラグをオフにして処理を終了する。
ステップS302で初期化する合焦停止フラグは、本実施形態の特徴的な部分であり、動画撮影中に合焦したと判定してフォーカスレンズ103を停止している場合はオンに、合焦しておらずフォーカスレンズ103を駆動している状態である場合はオフにする。合焦停止フラグのオン/オフを切り替えることで、現在フォーカスレンズ103を駆動している状態なのか、停止している状態なのかを判別する。
ステップS303で初期化するサーチ駆動フラグは、フォーカスレンズ103を駆動する際、撮像面位相差検出方式で検出したデフォーカス量が信頼できる場合にはオフに、信頼できない場合にはオンにする。デフォーカス量が信頼できる場合とは、デフォーカス量の精度およびデフォーカス方向が確かである場合、すなわち信頼性がある程度より高い状態である。例えば、主被写体に対して合焦近傍にフォーカスしている状態や、すでに合焦している状態では、デフォーカス量が信頼できる可能性が高い。この場合にはデフォーカス量を信頼してフォーカスレンズ103の駆動を行う。一方、デフォーカス量が信頼できない場合とは、デフォーカス量が確かでない場合、すなわち信頼性がある程度より低い状態である。例えば、被写体に対して大きくボケている状態では、デフォーカス量が正しく算出できない可能性が高い。この場合には、算出されたデフォーカス量を信頼できないため、サーチ駆動(デフォーカス量を用いずにフォーカスレンズ103を一定方向に駆動して合焦位置を探す駆動)を行う。
ステップS304では、カメラの撮影設定が動画撮影モードか、静止画撮影モードかの判定を行う。動画撮影モードである場合はステップS305へ、静止画撮影モードである場合はステップS306へ進む。ステップS305では動画撮影処理を行い、ステップS307へ進む。ステップS305の動画撮影処理の詳細については図4で後述する。一方、ステップS306では、静止画撮影処理を行いステップS307へ進む。ステップS306の静止画撮影処理の詳細については省略する。
ステップS307では、撮影処理が停止されたかどうかを判断し、停止されていない場合はステップS308へ進み、停止された場合は撮影処理を終了する。撮影処理が停止された場合とは、カメラの電源が切断されたときや、カメラのユーザ設定処理、撮影画像・動画の確認のための再生処理等、撮影以外の動作が行われたときである。
ステップS308では、撮影モードが変更されたかどうかを判断し、変更されている場合はステップS301へ戻り、変更されていない場合はステップS304へ戻る。撮影モードが変更されていなければ現在の撮影モードの処理を継続して行い、撮影モードが変更された場合はステップS301〜S303で初期化処理を行った上で変更された撮影モードの処理を行う。
次に、図3のステップS305の動画撮影処理について図4を用いて説明する。ステップS401からS404では、動画記録に関する制御を行う。ステップS401では、カメラ制御部207は、動画記録スイッチがオンされているかどうかを判断し、オンされている場合はステップS402へ進み、オンされていない場合はステップS405へ進む。
ステップS402では、カメラ制御部207は、現在動画記録中かそうでないかを判断する。動画記録中でない場合はステップS403へ進み、動画記録を開始してステップS405へ進む。一方、動画記録中の場合はステップS404へ進み、動画記録を停止してステップS405へ進む。本実施形態においては、動画記録スイッチを押下することで動画の記録開始・停止を行うが、切り替えスイッチ等の他の方式によって記録開始・停止を行っても構わない。
ステップS405では、焦点検出処理を行う。ここでは、図1のカメラ制御部207及びAF信号処理部204で行う撮像面位相差AFを行うためのデフォーカス情報及び信頼性情報を取得する処理である。詳細は図5を用いて後述する。
ステップS406では、鮮鋭度情報の取得を行う。ここでは、AF評価値生成部210において、設定された測距領域の撮像信号から先鋭度情報(AF評価値)を取得する処理である。この処理に関しては、従来からの技術であるため、詳細は省略する。
ステップS407では、カメラ制御部207は現在合焦停止中かどうかを判断し、合焦停止中でない場合はステップS408へ進み、合焦停止中である場合はステップS409へ進む。合焦停止中かどうかは、先述した合焦停止フラグのオン/オフによって判断する。ステップS408では、AF処理を実施し動画撮影処理を終了する。ステップS408は、ステップS405及びS406で検出した情報を基にAF制御を行うもので、詳細は図7を用いて後述する。
ステップS409では、AF再起動判定を行い動画撮影処理を終了する。ステップS409は、合焦停止中から被写体が変わったとして再度AF制御を開始するかどうかの判定を行う処理である。詳細は図6を用いて後述する。
次に、図4のステップS405の焦点検出処理について、図5を用いて説明する。まず、ステップS501では、カメラ制御部207は、任意に設定した測距範囲から一対の像信号を取得する。次に、ステップS502では、カメラ制御部207はステップS501で取得した一対の像信号から相関量を算出する。
続いて、ステップS503では、カメラ制御部207は、ステップS502で算出した相関量から相関変化量を算出する。そして、ステップS504では、カメラ制御部207は、ステップS503で算出した相関変化量からピントずれ量を算出する。
また、ステップS505では、カメラ制御部207は、ステップS504で算出したピントずれ量がどれだけ信頼できるのかを表す信頼性を算出する。これらの処理を測距範囲内に存在する測距領域の数だけ行う。そして、ステップS506では、カメラ制御部207は、測距領域毎にピントずれ量をデフォーカス量に変換する。最後に、ステップS507では、カメラ制御部207は、AFに使用する測距領域を決定し、焦点検出処理を終了する。
次に、図12から図14を用いて、図5で説明した焦点検出処理を詳細に説明する。
図12は、焦点検出処理で取り扱う測距範囲を示す像信号を取得する領域の一例を表した図である。図12(A)は、画素アレイ1201上の測距範囲1202を示す図である。相関演算を行う為に必要な領域1204は、測距範囲1202および相関演算に必要なシフト領域1203を合わせた領域である。図12(A)中のp、q、s、tは、それぞれx軸方向の座標を表す。ここで、pからqは領域1204を表し、sからtは測距範囲1202を表す。
図12(B)は、測距範囲1202を5つに分割した測距領域1205〜1209を示す図である。一例として、本実施形態では、この測距領域単位でピントずれ量を算出し、焦点検出を行う。また、分割した複数の測距領域の中から最も信頼できる領域の測距結果を選び、その領域で算出したピントずれ量をAFに用いる。なお、測距範囲の分割数は上記に限定されない。
図12(C)は、図12(B)の測距領域1205〜1209を連結した仮の測距領域1210を示す図である。実施形態の一例として、このように測距領域を連結した領域から算出したピントずれ量をAFに用いても良い。
また、測距エリアの制限がある場合や、焦点検出処理時間などに制限があり、複数の測距エリアを画面上に配置できない場合は、例えば図12(D)のように、長さの異なる複数のエリアで1つの測距エリアを構成する方法でも良い。図12(D)は、測距エリア配置を示した図であり、7つの測距エリア1211〜1217が存在する。同図では、撮影画面に対する水平方向の比率が25%である大きさのエリアが2エリア(1211、1217)、さらに、12.5%である大きさのエリアが5エリア(1212〜1216)、撮影画面の中央に配置されている。このように、異なる大きさの複数の測距エリアを、撮影画面に対する比率が12.5%の大きさのエリア数 > 25%の大きさのエリア数となるように配置する。そして、7つの測距エリアから得られる測距結果を組み合わせて、1つの有効デフォーカス量および有効デフォーカス方向を算出し、この有効デフォーカス量もしくは有効デフォーカス方向を用いて、フォーカスレンズ103を駆動させてピント合わせを行う。
このように、図12(D)の例では、撮影画面に対する比率が小さい測距エリアのエリア数を多く配置することで、より撮影画面の中央の被写体にピントを合わせることが可能となる。また、撮影画面に対する測距エリアの比率を小さくすることで、距離の異なる被写体によるAFへの影響を軽減する。さらに、撮影画面に対する測距エリアの比率の小さいエリアだけでなく比率の大きいエリアを配置することで、測距エリアから被写体が抜けることにより発生するピントのふらつきを軽減する。つまり、一時的に被写体が測距エリアから抜けてしまっても、撮影画面に対する比率の大きいエリアで被写体を捉えたままピントを維持することが可能となる。なお、測距領域の配置の仕方、領域の大きさ等は、本実施形態に挙げた内容に限られるものではなく、発明の要旨を逸脱しない範囲の形式であれば良い。
図13は、図12で設定した測距領域から取得した像信号を示す図である。sからtが測距範囲を表し、pからqがシフト量を踏まえた測距演算に必要な範囲を表す。また、xからyは、分割した1つ分の測距領域を表す。
図13(A)は、シフト前の像信号を波形で表した図である。実線1301が像信号A、破線1302が像信号Bを示している。領域1205から1209は、図12の分割した各測距領域を表す。
図13(B)は、図13(A)のシフト前の像波形に対しプラス方向にシフトした図であり、図13(C)は、図13(A)のシフト前の像波形に対しマイナス方向にシフトした図である。相関量を算出する際には、それぞれ矢印の方向に像信号A1301、像信号B1302を1ビットずつシフトする。
続いて、相関量CORの算出法について説明する。まず、図13(B)と(C)で説明した通り、像信号Aと像信号Bを1ビットずつシフトしていき、そのときの像信号Aと像信号Bの差の絶対値の和を算出する。ここで、シフト量をiで表し、最小シフト数は図13中のp−s、最大シフト数は図16中のq−tである。また、xは測距領域の開始座標、yは測距領域の終了座標である。これらを用いて、以下の式(1)によって相関量CORを算出することができる。
図14(A)は、相関量を波形で示した図である。グラフの横軸はシフト量を示し、縦軸は相関量を示す。相関量波形1401において、1402、1403は極値周辺を示している。この中でも相関量が小さい方ほど、A像とB像の一致度が高いといえる。
続いて、相関変化量ΔCORの算出法について説明する。まず、図14(A)の相関量波形より、1シフト飛ばしの相関量の差から相関変化量を算出する。この時、シフト量をiで表し、最小シフト数は図13中のp−s、最大シフト数は図13中のq−tである。これらを用いて、以下の式(2)によって相関変化量ΔCORを算出することができる。
図14(B)は、相関変化量ΔCORを波形で示した図である。グラフの横軸はシフト量を示し、縦軸は相関変化量を示す。相関変化量波形1404において、1405、1406は相関変化量がプラスからマイナスになる周辺である。この1405より相関変化量が0となるときをゼロクロスと呼び、最もA像とB像の一致度が高く、そのときのシフト量がピントずれ量となる。
図14(C)は、図14(B)の1405の部分を拡大したもので、1407は相関変化量波形1404の一部分である。図14(C)を用いて、ピントずれ量PRDの算出法について説明する。まず、ピントずれ量は整数部分βと小数部分αに分けられる。小数部分αは、図14(C)中の三角形ABCと三角形ADEの相似の関係から、以下の式(3)によって算出する事ができる。
続いて小数部分βは、図14(C)中より以下の式(4)によって算出することができる。
β=k−1 (4)
以上、αとβの和からピントずれ量PRDを算出する事ができる。
また、図14(B)のように複数のゼロクロスが存在する場合は、ゼロクロスでの相関量変化の急峻性maxder(以下、急峻性と呼ぶ)が大きいところを第1のゼロクロスとする。この急峻性はAFのし易さを示す指標で、値が大きいほどAFし易い点であることを示す。急峻性は以下の式(5)によって算出する事ができる。
以上のように、ゼロクロスが複数存在する場合は、急峻性によって第1のゼロクロスを決定する。
続いて、ピントずれ量の信頼性の算出法について説明する。信頼性は、前記急峻性や、像信号A、Bの2像の一致度fnclvl(以下、2像一致度と呼ぶ)によって定義することができる。2像一致度はピントずれ量の精度を表す指標で、値が小さいほど精度が良い。
図14(D)は、図14(A)の1402の部分を拡大したもので、1408が相関量波形1401の一部分である。2像一致度は以下の式(6)によって算出できる。
次に、図4のステップS409におけるAF再起動判定について図6のフローチャートを用いて説明する。AF再起動判定は、合焦してフォーカスレンズを停止している状態から、再度フォーカスレンズを駆動するかどうかの判定をする処理である。
まず、ステップS601では、カメラ制御部207は、図5のステップS505で算出した信頼性が所定の閾値より良い値かどうかを判断する。良い値を示す場合はステップS602へ進み、悪い値を示す場合はステップS604へ進む。
ステップS602では、カメラ制御部207は、算出したデフォーカス量が深度の所定倍より小さいかどうかを判断する。小さい場合はステップS603へ進み、そうでない場合はステップS604へ進む。
ステップS603では、AF再起動カウンタをリセットし、ステップS605へ進む。一方、ステップS604では、AF再起動カウンタを加算しステップS605へ進む。
上述したように、デフォーカス量が所定より大きい、または信頼性が所定より悪い場合には、撮影している主被写体が変化している可能性があるため、ステップS604でAF再起動カウンタを加算してAFを再起動する準備を行う。検出したデフォーカス量が所定より小さく、信頼性も高い状態を維持している場合は、継続してフォーカスレンズを停止させておくためにステップS603でAF再起動カウンタをリセットする。
ここで、ステップS602で設定するデフォーカス量の閾値(深度の所定倍)は、主被写体が変わったときには再起動が行いやすく、主被写体が変わっていないときには再起動が不用意にかかりにくくするのを考慮してチューニングを行う。一例として、主被写体のボケが見えるようになる深度の1倍を設定する。また、ステップS601で設定する信頼性の閾値は、例えばデフォーカス量から算出した距離が信頼できる値を設定する。このようにステップS601、S602で設定する閾値は、主被写体が変わったとする場合をどのような場合にするかによって決定する。
次に、ステップS605では、AF再起動カウンタがAF再起動閾値以上かどうかを判断する。AF再起動閾値以上の場合はステップS606へ進み、AF再起動閾値未満の場合は処理を終了する。ステップS606では、合焦停止フラグをオフにしてAF再起動を行い、フォーカスレンズ駆動を再開するようにして処理を終了する。
次に、図4のステップS408におけるAF処理について、図7のフローチャートを用いて説明する。AF処理は、合焦停止していない状態でのフォーカスレンズの駆動及び、合焦停止の判定を行う処理である。
ステップS701では、カメラ制御部207は、デフォーカス量が深度内であり、かつ図5のステップS505で算出した信頼性が所定より良い値を示しているかどうかを判断する。ここでの信頼性の閾値は、例えばデフォーカス量から算出した距離が信頼できる値を設定する。この条件に該当する場合はステップS702へ進み、そうでない場合はステップS703へ進む。本実施の形態では、ステップS701で用いる閾値を深度の1倍としているが、必要に応じて大きく設定したり、小さく設定したりしても構わない。
ステップS702では、合焦停止フラグをオンにして処理を終了する。先述したように、被写体に合焦したと判断した場合は、フォーカスレンズを駆動している状態から停止している状態に移行した後、再度フォーカスレンズを駆動するか否か、図4のステップS409で再起動判定を行う。
一方、ステップS703では、カメラ制御部207は、レンズ駆動速度や駆動方法の決定を行い、ステップS704へ進む。ステップS703におけるレンズ駆動設定の詳細は、図8を用いて後述する。ステップS704では、カメラ制御部207は、レンズ駆動処理を行い、処理を終了する。ステップS704におけるレンズ駆動処理の詳細は図9を用いて後述する。
以降に説明する一連の処理が本実施形態の特徴的な部分であり、概略をまず説明する。位相差AFに用いる像信号の信頼性が低く、位相差に基づくデフォーカス量が信頼できない(デフォーカス方向は信頼できる)場合、本実施形態では、フォーカスレンズを至近無限に駆動させる微小駆動を実行する。これにより、位相差AFだけでなく、コントラストAFによる合焦方向も取得することが可能になる。ここで、より信頼できるほうのAF結果を用いるため、位相差AFの信頼度(有効と判定されたエリア数)とコントラストAFによる合焦度(合焦度合い)に基づいて、どちらのAFを優先して駆動方向の設定に用いるかを判定する。この判定の処理は図15で詳細に説明する。判定結果に基づいて、駆動方向の設定に用いるAF結果を変更することで、合焦方向の判定をより確実に行うことが可能になる。
次に、図7のステップS703におけるレンズ駆動設定について、図8のフローチャートを用いて説明する。ステップS801において、カメラ制御部207は、像信号の信頼性が所定値γより良い値かを判定する。ここで、所定値γ(第2のレベル)は、像信号の位相差に基づいて算出されるデフォーカス量が十分信頼できるような閾値に設定される。信頼性が所定値γより良い場合は、被写体までの距離が測距できたと判断し、ステップS802に遷移する。ステップS802では、測距した距離分のフォーカスレンズ駆動を行うので、サーチ駆動移行サーチカウンタをリセットし、処理を終了する。
一方、ステップS801で測距の信頼性が所定値γより悪い場合、ステップS803に進み、カメラ制御部207は、第一の焦点情報(位相差)による方向判定処理を行う。この処理に関しては、図11(A)を用いて後述する。
ステップS804では、カメラ制御部207は、第二の焦点情報(コントラスト)による方向判別処理を行う。この処理に関しては、図11(B)を用いて後述することとする。
ステップS805は、第一および第二の焦点情報の有効度を判定する処理であり、位相差AFの信頼度とコントラストAFの合焦度に応じて、どちらのAFが有効な状態であるかの判定を行う。この処理に関しては、図15を用いて後述する。
ステップS806では、カメラ制御部207は、ステップS805で判定された結果に基づいて、第一と第二の焦点情報のどちらが有効であるかを判定する。第一の焦点情報が有効である場合は、ステップS809に遷移し、第二の焦点情報が有効である場合は、ステップS807に遷移する。
ステップS807では、カメラ制御部207は、コントラストAFでの方向判定(第二の方向判定)が完了しているかを判定する。完了している場合はステップS810に遷移し、完了していない場合はステップS808に遷移する。
ステップS808では、カメラ制御部207は、位相差AFの結果が特定されてからの経過時間(第一の方向判定終了カウント)が閾値TH以上か否かを判定する。第一の方向判定終了カウントが閾値TH以上の場合はステップS810に遷移し、経過していない場合はステップS811に遷移する。なお、本実施形態では閾値の値は0.7秒としているが、任意の値に設定することが可能である。
ステップS809は、位相差AFが有効な場合であり、位相差の方向判定(第一の方向判定)が完了しているかを確認する。完了している場合はステップS810に遷移し、完了していない場合はステップS811に遷移する。
ステップS810では、駆動方向が決定しているので、サーチ駆動を開始するためのサーチフラグをONにして処理を終了する。一方、ステップS811では、駆動方向が未決定であるため、サーチ駆動待ち状態として処理を終了する。なお、ステップS811において、所定時間経過したらサーチ駆動に移行するようにしてもよい。
次に図7のステップS704におけるレンズ駆動処理について、図9のフローチャートを用いて説明する。
ステップS901では、カメラ制御部207は、サーチ駆動フラグがオフかどうかを判断する。オフの場合はステップS902へ進み、オンの場合はステップS903へ進む。
ステップS902では、像信号の位相差に基づいて算出されたデフォーカス量を基に距離駆動を行い、レンズ駆動処理を終了する。この距離駆動の処理に関しては、カメラ制御部207が算出したデフォーカス量をフォーカスレンズ103の駆動量に変換して、フォーカスレンズ駆動部105に駆動命令を与える処理である。一方、ステップS903では、サーチ(方向)駆動を行いレンズ駆動処理を終了する。
次に、図9のステップS903におけるサーチ駆動処理について、図10のフローチャートを用いて説明する。ステップS1001では、サーチ駆動が初回かどうかを判断する。初回である場合はステップS1002へ進み、初回でない場合はステップS1007へ進む。
ステップS1002〜S1006は駆動方向を設定する処理である。サーチ駆動が初回である場合は、フォーカスレンズの駆動方向を決定する必要がある。
ステップS1002では、カメラ制御部207は、前述したステップS807またはステップS809で方向判定がされているか否かを判断する。方向判定されている場合はステップS1003へ進み、方向判定されていない場合はステップS1004へ進む。ステップS1003では、カメラ制御部207は、判定されている方向を駆動方向に設定する。
一方、ステップS1004では、カメラ制御部207は、現在のレンズ位置が至近端に近いかどうかを判断する。至近端に近い場合はステップS1005へ進み、無限端に近い場合はステップS1006へ進む。
ステップS1005では、カメラ制御部207は、サーチ駆動開始時のレンズの駆動方向を至近方向に設定する。一方、ステップS1006では、サーチ駆動開始時のレンズの駆動方向を無限方向に設定する。このように駆動方向を設定することで、レンズ駆動領域全体をサーチ駆動する時間を短縮することができ、サーチ駆動によって合焦位置を発見するのに要する最長時間を短くできる。ステップS1002〜S1006の処理によりフォーカスレンズの駆動方向を設定すると、ステップS1007へ進む。
ステップS1007では、カメラ制御部207は、設定したレンズ駆動方向及びレンズ駆動速度でフォーカスレンズを駆動するよう制御し、ステップS1008へ進む。ステップS1008では、カメラ制御部207は、フォーカスレンズが至近端もしくは無限端に到達したかどうかを判断する。端に到達した場合はステップS1009へ進み、到達していない場合はステップS1010へ進む。ステップS1009では、フォーカスレンズの駆動方向を反転させてステップS1010へ進む。
ステップS1010では、カメラ制御部207は、信頼性が所定値γより良いかどうかを判断し、所定値γより良い場合はステップS1012へ進み、そうでない場合はステップS1011へ進む。
ステップS1011では、フォーカスレンズの至近端、無限端の両方に到達したかどうかを判断し、到達した場合はステップS1012へ進み、到達していない場合はサーチ駆動処理を終了する。ステップS1012では、サーチ駆動フラグをオフにしてサーチ駆動処理を終了する。
サーチ駆動を終了する条件は、ステップS1010で信頼性が所定値γより良くなった場合、もしくはステップS1011でフォーカスレンズの至近端、無限端の両方に到達した場合である。S1010で設定する信頼性閾値γは、図9のS901で設定した閾値γと同様に、少なくとも像信号の位相差に基づいて算出されるデフォーカス量が信頼できる値である。信頼性が閾値γより良ければ、合焦位置に近づいてきたと判断できるため、サーチ駆動をやめて再度デフォーカス量を基に距離駆動する制御に切り替える。また、ステップS1011で至近端、無限端の両方に到達したということは、フォーカス駆動領域の全域を駆動したことになり、被写体が特定できなかった場合である。この場合はサーチ駆動フラグをオフにし、最初の処理の状態に戻す。本実施形態と異なる形態で、被写体が特定できない場合にはサーチ駆動フラグをオフにせずにサーチ駆動を継続させるように制御しても良い。
次に、図11(A)を用いて、図8のステップS803における第一焦点情報による方向判定処理を説明する。ステップS1101は、方向検出のカウンタ(サーチ駆動移行カウンタ)を加算する処理である。カウンタを加算し、ステップS1102に遷移する。
ステップS1102では、カメラ制御部207は、サーチ駆動移行カウンタが所定回数以上かを判定する。所定回数以上であればステップS1103に遷移し、そうでなければステップS1105に遷移する。
ステップS1103では、カメラ制御部207は、第一焦点情報による方向判定の判定フラグをONにする。本実施形態では、この方向判定フラグを参照し、フォーカスレンズのサーチ駆動を開始する。
ステップS1104は、判定終了カウントを加算する処理である。この判定終了カウンタは、方向判定が完了してからの経過時間を監視するものであり、図8のステップS808にて参照される。
一方、ステップS1105は、判定終了カウントをクリアする処理である。この処理は、サーチ駆動移行カウンタが所定回数未満で方向を特定できていない場合であるため、カウンタをクリアする。上記の処理を行い、処理を終了する。
次に、図11(B)を用いて、図8のステップS804における第二焦点情報による方向判定処理を説明する。ステップS1106は、フォーカスレンズの微小駆動を行う処理である。この微小駆動処理に関しては、図18、19を用いて後述する。
ステップS1107は、第二焦点情報による方向判別が完了しているかを判定する処理である。後述する処理により微小駆動の方向判別が完了している状態であればステップS1108に遷移し、そうでなければ処理を終了する。
ステップS1108は、第二焦点情報による方向判定の判定フラグをONにする。この方向判定フラグを参照し、フォーカスレンズのサーチ駆動を開始する。上記の処理を行い、処理を終了する。
次に、図15(A)を用いて、図8のステップS805における第一と第二の焦点情報の有効度判定処理を行う。ステップS1501は、第一の焦点情報による有効エリア数算出処理である。ここでは、前述した図12(D)のように測距枠の中に複数のエリアがある場合、有効なエリアを判定してその数を算出する。この処理の詳細は、図16を用いて後述する。
ステップS1502は、第二の焦点情報による合焦度算出処理である。ここでは、取得されたコントラスト情報から合焦度を算出する。この処理の詳細は、図17を用いて後述する。
ステップS1503では、カメラ制御部207は、ステップS1502で算出された合焦度に基づいて大ボケか否かを判定する。大ボケ状態とは、合焦度が低く、ピントが大きくボケている状態である。大ボケ状態であればステップS1504に遷移し、そうでなければステップS1505に遷移する。
ステップS1504では、ステップS1501で算出された有効エリア数がTH1以上であるか否かを判定する。TH1以上であればステップS1508に進み、TH1未満であればステップS1509に進む。
一方、ステップS1505では、カメラ制御部207は、合焦度に基づいて小ボケか否かを判定する。小ボケ状態とは、合焦状態と判定される場合より合焦度が低いが、前述の大ボケ状態より合焦度が高い状態である。小ボケ状態であれば、ステップS1506に遷移し、そうでなければ合焦状態であると判定してステップS1507に遷移する。
ステップS1506では、ステップS1501で算出された有効エリア数がTH2以上であるか否かを判定する。TH2以上であればステップS1508に進み、TH2未満であればステップS1509に進む。ここで、TH2はTH1より小さい値である。
一方、ステップS1507では、ステップS1501で算出された有効エリア数がTH3以上であるか否かを判定する。TH3以上であればステップS1508に進み、TH3未満であればステップS1509に進む。ここで、TH3はTH2より小さい値である。
ステップS1508は、第一の焦点情報の有効度が高い場合に到達する処理である。ここでは、第一の焦点情報の有効フラグを設定し、処理を終了する。このフラグは、図8のステップS806で参照される。
ステップS1509は、第二の焦点情報の有効度が高い場合に到達する処理である。ここでは、第二の焦点情報の有効フラグを設定し、処理を終了する。このフラグは、図8のステップS806で参照される。
この処理を図式化したものが、図15(B)である。表中のCは第二の焦点情報(コントラストAF)が有効であることを示し、Pは第一の焦点情報(位相差AF)が有効であることを示している。本実施形態では、位相差AFにおいて、方向が検出されているエリア数(信頼度)による閾値を設定する。第二の焦点情報に基づいて合焦状態と判定された場合、位相差AF結果を有効にする閾値を、図15(B)の例では3エリアに設定している。すなわち、ステップS1501で算出された有効エリア数が3以上であれば、位相差AFの検出結果が有効であると判定する。一方、大ボケの場合、位相差AF結果を有効にする閾値を5エリアとする。つまり、コントラスト情報による合焦度が高い場合は位相差AFの結果を積極的に使用し、合焦度が低い場合はコントラストAFの結果を積極的に使うという処理である。
位相差AFの有効エリアが少ないと、誤ったデフォーカス方向が判定される可能性が高くなる。特に撮像面位相差AFにおいては、合焦位置から離れている場合、一対の像信号の対称性が崩れやすく、AF結果の信頼性が低くなる傾向がある。そこで、本実施形態では、コントラスト情報を用いて簡易的に合焦度を判定し、判定結果に応じて位相差AFを有効にする閾値を変更する。具体的には、合焦度が高い状態であれば、位相差AFを有効にする閾値を低く設定し、合焦度が低い状態であれば、位相差AFを有効にする閾値を高く設定する。
このように、コントラスト情報を用いて、位相差AFの結果を使用する条件を変更することが本実施形態の特徴である。特に、位相差AFの信頼性が高くない(デフォーカス量が信頼できない)状況で、合焦方向を判定してサーチ駆動を行う場合、位相差AFに基づく合焦方向が信頼できるかどうかを判定する。よって、位相差AFが信頼できる場合には、位相差AFの方向判定結果を用いて速やかにAF動作を行うことが可能になるとともに、位相差AFが信頼できない場合には、より信頼性の高いコントラストAFに基づく合焦方向を用いてAF動作を行うことができる。
次に、図15(A)のステップS1501における第一の焦点情報による有効エリア数の算出処理について、図16を用いて説明する。ステップS1601では、カメラ制御部207は、図12(D)に示したような測距エリアセンサの全数に対して測距結果の確認を行うにあたり、最上位のエリアから最下位のエリアまで対象となるエリア番号をインクリメントする。
ステップS1602では、カメラ制御部207は、判定対象となっているエリア(検出領域)において、取得された像信号に基づいて、位相差AFの信頼性が所定値δよりも良いかの判断を行う。ここで、所定値δ(第1のレベル)は、像信号の位相差に基づいて少なくともデフォーカスの方向が信頼できるような閾値を設定する。信頼性が所定値δより良い場合は、被写体までの方向が特定できるエリアであると判断し、ステップS1603へと遷移する。一方、信頼性がδより悪い場合は、方向も特定できないエリアであると判断し、ステップS1604に遷移する。
ステップS1603では、カメラ制御部207は、有効エリア数をカウントする。ステップS1604では、カメラ制御部207は、全エリアのチェックが終了したかの判定を行い、判定が終了している場合はステップS1605に遷移し、終了していない場合はステップS1601に遷移する。
ステップS1605では、カメラ制御部207は、有効エリア数を保持する。保持されたエリア数は、図15(A)のステップS1504、S1506、S1507において参照される。エリアの保持処理の後、処理を終了する。
次に、図17を用いて、合焦度算出処理の説明を行う。図17(A)は、撮像信号から生成されるコントラスト値をグラフにしたもので、横軸にフォーカスレンズの位置、縦軸に評価値を示している。本実施形態の評価値は2種類で、輝度のコントラストのピーク値を示すMMP(1701)、及び、撮像信号から特定の周波数成分を検出したTEP(1702)である。なお、本実施形態では1.5MHzの周波数帯域を使っているが、これは一例である。TEPは合焦位置(1703)を中心に山形状になっている。これは、フォーカスレンズが大ボケの状態から合焦に近づくにつれて、被写体のエッジがくっきりとしてくることにより、低周波数成分から高周波数成分が多くなるため、合焦位置でピークとなる。一方、輝度のコントラストを示すMMPは、ピークの値であるため、画面内の被写体が変化しない限り大きさがほとんど変化しない。
この特性を利用して算出した簡易合焦度を示したのが、図17(B)である。簡易合焦度1704は、TEPをMMPで割ったものであり、図17(B)で示すように山形状になる。本実施形態では、この山形状を100分率で表示した場合に、55%以上を合焦、40%以上を小ボケ、それ未満を大ボケと判定する。なお、この値は一例であり、被写体や条件によって変更しても良い。
この簡易合焦度が低いほど、フォーカスレンズの位置が合焦位置から離れている可能性が高く、簡易合焦度が高いほど、合焦位置から近い可能性が高い。なお、ここで算出された合焦度の判定結果は、位相差AFの有効エリア数の閾値を決定するために、図15(A)のステップS1503およびS1505で参照される。
次に、図11(B)のステップS1106における微小駆動処理について、図18を用いて説明する。ステップS1801では、微小駆動の動作状態を示すカウンタが現在0であるかを判別する。カウンタが0である場合はステップS1802へ、0でない場合はステップS1803へ遷移する。
ステップS1802では、フォーカスレンズが至近側にある場合の処理として、現在のAF評価値レベルを保持する。ここでのAF評価値は、後述のステップS1810でフォーカスレンズが無限側にあるときに撮像素子に蓄積された電荷から生成された撮像信号によるものである。
一方、ステップS1803では、現在のカウンタが1であるかを判別する。カウンタが1である場合はステップS1804へ、1でない場合はステップS1809へ遷移する。
ステップS1804では、後述するステップS1808でフォーカスレンズを駆動するための振動振幅と中心移動振幅を演算する。通常、これらの振幅は焦点深度内に設定されるのが一般的である。
ステップS1805では、ステップS1802で保持した無限側のAF評価値レベルと後述のステップS1810で保持した至近側のAF評価値レベルを比較する。前者が大きい場合はステップS1806へ、後者が大きい場合はステップS1807へ遷移する。
ステップS1806では、振動振幅と中心移動振幅を加算し、駆動振幅とする。一方、ステップS1807では、振動振幅を駆動振幅とする。つまり、無限側のAF評価値のほうが大きい場合に、振動の中心位置を無限側へ移動することになる。
ステップS1808では、ステップS1806またはS1807で求めた駆動振幅に基づき、カメラ制御部207は、無限方向へフォーカスレンズを駆動するよう制御する。
一方、ステップS1809では、現在のカウンタが2であるかを判別する。2である場合はステップS1810へ、2でない場合はステップS1811へ遷移する。
ステップS1810では、フォーカスレンズが無限側にある場合の処理として、現在のAF評価値レベルを保持する。ここでのAF評価値は、ステップS1802でフォーカスレンズが至近側にあるときに撮像素子に蓄積された電荷から生成された撮像信号によるものである。
一方、ステップS1811では、後述のステップS1815でフォーカスレンズを駆動するための振動振幅と中心移動振幅を演算する。通常、これらの振幅は焦点深度内に設定されるのが一般的である。
ステップS1812では、ステップS1810で保持した至近側のAF評価値レベルとステップS1802で保持した無限側のAF評価値レベルを比較する。前者が大きい場合はステップS1813へ、後者が大きい場合はステップS1814へ遷移する。
ステップS1813では、振動振幅と中心移動振幅を加算し、駆動振幅とする。一方、ステップS1814では、振動振幅を駆動振幅とする。つまり、至近側のAF評価値のほうが大きい場合に、振動の中心位置を至近側へ移動することになる。
ステップS1815では、ステップS1813またはS1814で求めた駆動振幅に基づき、カメラ制御部207は、至近方向へフォーカスレンズを駆動する。
ステップS1816では、カメラ制御部207は、所定回数連続して同一方向に合焦点が存在しているかを判別する。存在している場合はステップS1817へ、存在していない場合はステップS1818へ遷移する。
ステップS1817では、方向判別ができたものと判断して、ステップS1818に遷移する。ステップS1818では、微小駆動の動作状態を示すカウンタが3であれば0に戻し、その他の値であればカウンタを加算する。
この微小駆動におけるフォーカスレンズ動作の時間経過を図19に示す。同図上部は撮像信号の垂直同期信号であり、同図下部は、横軸が時間、縦軸がフォーカスレンズの位置を表している。ラベルAの時刻に撮像素子に蓄積された電荷に対するAF評価値EVAは、時刻TAでカメラ制御部に取り込まれる。また、ラベルBの時刻に撮像素子に蓄積された電荷に対するAF評価値EVBは、時刻TBでカメラ制御部に取り込まれる。時刻TCではAF評価値EVAとEVBを比較し、図中のEVBが大きい場合のみ振動中心を移動する。なお、ここでのフォーカスレンズの移動は焦点深度を基準とし、画面で認識できない移動量に設定する。
以上説明したように、本実施形態では、撮像面位相差AFとコントラストAFを備える撮像装置において、位相差AFの信頼性が低い(デフォーカス量が信頼できない)場合に、コントラスト情報を用いて、位相差AFを有効にするための閾値を変更する。特に、合焦位置から大きく離れた状態(大ボケ状態)で、位相差の結果を用いてAFを行うと、誤った方向にフォーカスレンズを駆動する可能性が高くなる。そこで、コントラスト情報に基づく合焦度を利用して、位相差の結果の使用頻度を変更することにより、撮影状況に応じて適切なAF方式を選択することが可能になる。
(第二の実施形態)
続いて、第二の実施形態について説明する。第二の実施形態は、ズーム中か否かに応じて異なる処理を行う。なお、第二の実施形態については、第一の実施形態との差分のみを記述し、同一の内容である部分については省略することとする。
本実施形態においても、図1で示されるレンズ交換式カメラの構成が適用される。なお、本実施形態では、ズームレンズ108およびズームレンズ駆動部109の構成を備える。
これ以降に説明する一連の処理が、本実施形態におけるズーム中の処理についての特徴的な部分であり、まず概略を説明する。ズーム中はF値や焦点距離が変化するため、位相差AFの信頼性が低くなり、位相差の結果に基づくデフォーカス量を用いてフォーカスレンズを駆動すると、ボケを発生させる可能性がある。そのため、ボケを発生させないためには、ズーム中は極力コントラストAFを用いてフォーカスレンズを駆動することが望ましい。
本実施形態では、ズーム中にフォーカスレンズを至近側と無限側に駆動させる微小駆動を実行する。これにより、コントラスト情報に基づいて合焦方向の判定が可能になる。しかしながら、コントラスト情報に基づく合焦方向へのズーム駆動中に被写体状況が変わった場合などは、合焦位置を特定するのに非常に時間がかかることがある。そこで、本実施形態では、条件を満たせば位相差AFの結果を併用することとし、コントラスト情報に基づく合焦度を用いてその条件を変更する。具体的には、合焦度が比較的高い場合、つまり合焦位置にある程度近い場合は、位相差の信頼度(有効エリア数)が良ければ位相差AFの結果も併用する。一方、合焦度が低い(大ボケ)場合は、早く合焦位置付近まで駆動させることを優先し、コントラストAFと位相差AFの結果を併用することとする。これらの判定処理は図20を用いて後述する。その判定結果を基に位相差AFを併用するかを判定することで、ズーム中においてもよりスムーズなAFが可能になる。
本実施形態においても、第一の実施形態と同様に、前述した図4乃至図7の処理を行う。図7のステップS703における本実施形態のレンズ駆動設定について、図20を用いて説明を行う。
まず、ステップS2001において、カメラ制御部207は、ズームレンズが駆動しているか否かの判定を行う。ズームレンズが駆動している場合はステップS2002に遷移し、駆動していない場合はステップS2003に遷移する。ステップS2002では、ズーム駆動中でないので、第一の実施形態と同様のレンズ駆動設定(図8)を行う。
一方、ステップS2003では、カメラ制御部207は、ズーム中の第一の焦点情報(位相差)による方向判定処理を行う。この処理については図22を用いて後述する。第一の焦点情報により方向を判定すると、ステップS2004に遷移する。
ステップS2004では、カメラ制御部207は、第一と第二の焦点情報の有効度を判定する。この処理については図24を用いて後述する。有効度を判定すると、ステップS2005に遷移する。
ステップS2005では、カメラ制御部207は、後述する図24のステップS2402で算出される合焦度に応じた判定処理を行う。判定された合焦状態が大ボケである場合はステップS2006に遷移し、大ボケでない場合はステップS2007に遷移する。
ステップS2006では、カメラ制御部207は、第一の焦点情報による方向判定フラグがONかを判定する。ONである場合はステップS2008に遷移し、第一の焦点情報による中心移動フラグをONにする。ONでない場合はステップS2009に遷移し、第一の焦点情報による中心移動フラグをOFFにする。
一方、ステップS2007に進んだ場合、カメラ制御部207は、ステップS2004で算出される有効度の判定を参照し、第一の焦点情報が有効かを判定する。第一の焦点情報が有効の場合はステップS2006に遷移し、有効でない場合はステップS2009に遷移する。
次に、図7のステップS704における本実施形態のレンズ駆動処理について、図21を用いて説明を行う。まず、ステップS2101において、カメラ制御部207は、ズームレンズが駆動しているか否かの判定を行う。ズームレンズが駆動している場合はステップS2103に遷移し、ズームレンズが駆動していない場合はステップS2102に遷移する。ステップS2102では、ズームレンズが駆動中でないので、第一の実施形態と同様のレンズ駆動処理(図9)を行う。
ステップS2103では、カメラ制御部207は、第二の焦点情報による微小駆動を実行する。この処理については、図23を用いて後述する。
続いて、図20のステップS2003における、ズーム中の第一の焦点情報(位相差)による方向判定処理について、図22を用いて説明する。ステップS2201では、カメラ制御部207は、第一の焦点情報の信頼性が所定値δより良い値かを判定する。ここで、所定値δは位相差結果に基づくデフォーカス方向が信頼できるような閾値が設定される。信頼性が所定値δより良い場合はステップS2202に遷移する。
ステップS2202では、第一の焦点情報に基づいて合焦方向を特定し、ステップS2203に遷移する。なお、所定値δは、デフォーカス方向が信頼できるような閾値に設定される。ステップS2203では、カメラ制御部207は、第一の焦点情報の方向判定フラグをONにする処理を行い、その後、処理を終了する。
一方、信頼性が所定値δよりも悪い場合は、ステップS2204に遷移する。ステップS2204では、カメラ制御部207は、第一の焦点情報の方向判定フラグをOFFにする処理を行い、その後、処理を終了する。
続いて、図21のステップS2103にて実行される第二の焦点情報の微小駆動処理について、図23を用いて説明する。なお、この処理は第一の実施形態で説明した図18のフローチャートと同様の流れであるため、差異がある部分のみを説明することとする。なお、本フローチャートに示してある番号の下位2桁の番号が図18と同じものは、対応する処理であることを意味している。
ステップS2319では、カメラ制御部207は、前述した中心移動フラグを参照して、振動中心位置を移動するかを判断する。第一の実施形態のようにAF評価値に基づいて中心移動を判断した結果、中心移動が不要となった場合でも、ステップS2008で第一の焦点情報による中心移動フラグがONに設定された場合は中心移動を行う。よって、中心移動フラグがONである場合はステップS2306に遷移し、OFFの場合はステップS2307に遷移する。ステップS2306に進んだ場合は無限側へ振動中心位置を移動するようにフォーカスレンズの駆動振幅を設定し、ステップS2307に進んだ場合は振動中心位置を移動せずにフォーカスレンズの駆動振幅を設定する。
同様に、ステップS2320でも、カメラ制御部207は、中心移動フラグを参照して、振動中心位置を移動するかの判断を行う。中心移動フラグがONである場合はステップS2313に遷移し、OFFの場合はステップS2314に遷移する。ステップS2313に進んだ場合は至近側へ振動中心位置を移動するようにフォーカスレンズの駆動振幅を設定し、ステップS2314に進んだ場合は振動中心位置を移動せずにフォーカスレンズの駆動振幅を設定する。
次に、図20のステップS2004におけるズーム中の有効度判定処理について、図24(A)を用いて説明する。まず、ステップS2401では、カメラ制御部207は、第一の焦点情報の有効エリア数算出処理を行う。この処理は、図15のステップS1501と同じ処理であるため、説明は省略する。
次に、ステップS2402では、カメラ制御部207は、第二焦点情報による合焦度算出処理を行う。この処理は、図15のステップS1502と同じ処理であるため、説明は省略する。
次に、ステップS2403では、カメラ制御部207は、ステップS2402で算出された合焦度が大ボケか否かの判定をする。大ボケである場合はステップS2407に遷移し、そうでない場合はステップS2404に遷移する。
ステップS2407では、大ボケ状態であるため、カメラ制御部207は、第一の焦点情報の有効フラグを設定する。さらに、ステップS2408では、第二の焦点情報の有効フラグを設定して、処理を終了する。
一方、ステップS2404では、カメラ制御部は、小ボケか否かの判定をする。小ボケの場合はステップS2405に遷移し、小ボケでない(合焦の)場合はステップS2406に遷移する。
ステップS2405では、カメラ制御部207は、ステップS2401で算出された有効エリア数が閾値TH4以上かの判定を行う。TH4以上であればステップS2409に遷移し、TH4未満であればステップS2410に遷移する。
一方、ステップS2406では、ステップS2401で算出された有効エリア数が閾値TH5以上かの判定を行う。TH5以上であればステップS2409に遷移し、TH5未満であればステップS2410に遷移する。ここで、TH5はTH4より大きい値である。なお、本実施形態における閾値TH4およびTH5は、第一の実施形態における閾値TH1乃至TH3より高い値に設定している。これは、ズーム中はF値や焦点距離が変化するため、第一の焦点情報を用いてフォーカスレンズを駆動すると、ズーム中でない場合と比較してボケが発生する可能性が高いためである。
ステップS2409は、第一の焦点情報が有効な条件であると判断された場合の処理であり、カメラ制御部207は、第一の焦点情報の有効フラグを設定して処理を終了する。
一方、ステップS2410は、第二の焦点情報が有効な条件であると判断された場合の処理であり、カメラ制御部207は、第二の焦点情報の有効フラグを設定して処理を終了する。
この処理を図式化したものが、図24(B)である。表中のCは、第二の焦点情報(コントラストAF)が有効であることを示し、Pは、第一の焦点情報(位相差AF)が有効であることを示している。まず、本実施形態では、位相差AFにおいて、方向が検出されているエリア数(信頼度)による閾値を設定する。第二の焦点情報に基づいて合焦状態と判定された場合、位相差AF結果を有効にする閾値は、図24(B)の例では7エリアに設定している。また、小ボケの場合、位相差AF結果を有効にする閾値を6エリアに設定している。これは、ズーム中はF値や焦点距離の変化により位相差AFの信頼性が下がるので、第一の焦点情報の信頼度が十分高い場合のみ位相差AFを併用するためである。よって、第一の焦点情報の信頼度が低い場合には、第二の焦点情報のみを用いてAFを行う。
一方、大ボケの場合、方向が検出されているエリア数(信頼度)に依らず、第一の焦点情報および第二の焦点情報を用いてAFを行う。これは、合焦度が低く大ボケの場合には、できるだけ早く合焦位置に駆動させるために、コントラストAFと位相差AF両方の結果を用いてAFするほうが効率的であるからである。なお、第一の焦点情報により判定された合焦方向と第二の焦点情報により判定された合焦方向が逆であった場合は、第二の焦点情報の結果を優先することとする。これは、撮像面位相差AFにおいて、大ボケの場合に像信号の対称性が崩れることにより、測距性能が低くなる可能性が高いからである。なお、図24(B)に示した値は任意の値に設定することができ、この値に限定されるものではない。
以上説明したように、本実施形態では、ズーム中において、基本的には第二の焦点情報(コントラストAF)による結果を積極的に使い、合焦度が低く合焦位置まで早く駆動したい場合は第一の焦点情報(位相差AF)の結果も併用する。このような制御とすることで、ズーム中においても、ボケの少ない品位の高いAF動作が可能になる。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記憶した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行する。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体および制御プログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。
以上、本発明をその好適な実施形態に基づいて詳述したが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。