以下、本発明の実施形態を図面に基づいて説明する。
≪第1実施形態≫
図1は、本発明の実施形態に係るデジタルカメラ1を示す要部構成図である。第1実施形態のデジタルカメラ1(以下、単にカメラ1という。)は、カメラ本体2とレンズ鏡筒3から構成され、これらカメラ本体2とレンズ鏡筒3はマウント部4により着脱可能に結合されている。
レンズ鏡筒3は、カメラ本体2に着脱可能な交換レンズである。図1に示すように、レンズ鏡筒3には、レンズ31,32,33、および絞り34を含む撮影光学系が内蔵されている。
レンズ32は、フォーカスレンズであり、光軸L1方向に移動することで、撮影光学系の焦点距離を調節可能となっている。フォーカスレンズ32は、レンズ鏡筒3の光軸L1に沿って移動可能に設けられ、エンコーダ35によってその位置が検出されつつフォーカスレンズ駆動モータ36によってその位置が調節される。
このフォーカスレンズ32の光軸L1に沿う移動機構の具体的構成は特に限定されない。一例を挙げれば、レンズ鏡筒3に固定された固定筒に回転可能に回転筒を挿入し、この回転筒の内周面にヘリコイド溝(螺旋溝)を形成するとともに、フォーカスレンズ32を固定するレンズ枠の端部をヘリコイド溝に嵌合させる。そして、フォーカスレンズ駆動モータ36によって回転筒を回転させることで、レンズ枠に固定されたフォーカスレンズ32が光軸L1に沿って直進移動することになる。
上述したようにレンズ鏡筒3に対して回転筒を回転させることによりレンズ枠に固定されたフォーカスレンズ32は光軸L1方向に直進移動するが、その駆動源としてのフォーカスレンズ駆動モータ36がレンズ鏡筒3に設けられている。フォーカスレンズ駆動モータ36と回転筒とは、たとえば複数の歯車からなる変速機で連結され、フォーカスレンズ駆動モータ36の駆動軸を何れか一方向へ回転駆動すると所定のギヤ比で回転筒に伝達され、そして、回転筒が何れか一方向へ回転することで、レンズ枠に固定されたフォーカスレンズ32が光軸L1の何れかの方向へ直進移動することになる。なお、フォーカスレンズ駆動モータ36の駆動軸が逆方向に回転駆動すると、変速機を構成する複数の歯車も逆方向に回転し、フォーカスレンズ32は光軸L1の逆方向へ直進移動することになる。
フォーカスレンズ32の位置はエンコーダ35によって検出される。既述したとおり、フォーカスレンズ32の光軸L1方向の位置は回転筒の回転角に相関するので、たとえばレンズ鏡筒3に対する回転筒の相対的な回転角を検出すれば求めることができる。
本実施形態のエンコーダ35としては、回転筒の回転駆動に連結された回転円板の回転をフォトインタラプタなどの光センサで検出して、回転数に応じたパルス信号を出力するものや、固定筒と回転筒の何れか一方に設けられたフレキシブルプリント配線板の表面のエンコーダパターンに、何れか他方に設けられたブラシ接点を接触させ、回転筒の移動量(回転方向でも光軸方向の何れでもよい)に応じた接触位置の変化を検出回路で検出するものなどを用いることができる。
フォーカスレンズ32は、上述した回転筒の回転によってカメラボディ側の端部(至近端ともいう)から被写体側の端部(無限遠端ともいう)までの間を光軸L1方向に移動することができる。ちなみに、エンコーダ35で検出されたフォーカスレンズ32の現在位置情報は、レンズ制御部37を介して後述するカメラ制御部21へ送出され、フォーカスレンズ駆動モータ36は、この情報に基づいて演算されたフォーカスレンズ32の駆動位置が、カメラ制御部21からレンズ制御部37を介して送出されることにより駆動する。
絞り34は、上記撮影光学系を通過して撮像素子22に至る光束の光量を制限するとともにボケ量を調整するために、光軸L1を中心にした開口径が調節可能に構成されている。絞り34による開口径の調節は、たとえば自動露出モードにおいて演算された適切な開口径が、カメラ制御部21からレンズ制御部37を介して送出されることにより行われる。また、カメラ本体2に設けられた操作部28によるマニュアル操作により、設定された開口径がカメラ制御部21からレンズ制御部37に入力される。絞り34の開口径は図示しない絞り開口センサにより検出され、レンズ制御部37で現在の開口径が認識される。
レンズ制御部37は、カメラ制御部21とマウント部4に設けられた電気信号接点部41により電気的に接続され、カメラ制御部21からの指令に基づき、フォーカスレンズ32の駆動、絞り34による開口径の調節などを行なうとともに、フォーカスレンズ32の位置、絞り34の開口径などのレンズ情報をカメラ制御部21に送信する。
また、本実施形態において、レンズ制御部37は、フォーカスレンズ32が駆動可能な速度のうち最大の駆速度である最大駆動速度Vmaxや、像面移動係数(像面移動量/フォーカスレンズ32の駆動量)などのレンズ情報を、レンズ制御部37に備えるメモリに記憶している。なお、最大駆動速度Vmaxや像面移動係数は、必要に応じて、レンズ制御部37からカメラ制御部21へと送出される。
一方、カメラ本体2には、上記撮影光学系からの光束L1を受光する撮像素子22が、撮影光学系の予定焦点面に設けられ、その前面にシャッター23が設けられている。撮像素子22はCCDやCMOSなどのデバイスから構成され、受光した光信号を電気信号に変換してカメラ制御部21に送出する。カメラ制御部21に送出された撮影画像情報は、逐次、液晶駆動回路25に送出されて観察光学系の電子ビューファインダ(EVF)26に表示されるとともに、操作部28に備えられたレリーズボタン(不図示)が全押しされた場合には、その撮影画像情報が、記録媒体であるメモリ24に記録される。メモリ24は着脱可能なカード型メモリや内蔵型メモリの何れをも用いることができる。なお、撮像素子22の撮像面の前方には、赤外光をカットするための赤外線カットフィルタ、および画像の折り返しノイズを防止するための光学的ローパスフィルタが配置されている。撮像素子22の構造の詳細は後述する。
カメラ本体2には、撮像素子22で撮像される像を観察するための観察光学系が設けられている。本実施形態の観察光学系は、液晶表示素子からなる電子ビューファインダ(EVF)26と、これを駆動する液晶駆動回路25と、接眼レンズ27とを備えている。液晶駆動回路25は、撮像素子22で撮像され、カメラ制御部21へ送出された撮影画像情報を読み込み、これに基づいて電子ビューファインダ26を駆動する。これにより、ユーザは、接眼レンズ27を通して現在の撮影画像を観察することができる。なお、光軸L2による上記観察光学系に代えて、または、これに加えて、液晶ディスプレイをカメラ本体2の背面等に設け、この液晶ディスプレイに撮影画像を表示させることもできる。
また、カメラ本体2には、操作部28が設けられている。操作部28は、シャッターレリーズボタンや、撮影者がカメラ1の各種動作モードを設定するための入力スイッチであり、オートフォーカスモード/マニュアルフォーカスモードの切換が行えるようになっている。この操作部28により設定された各種モードはカメラ制御部21へ送出され、当該カメラ制御部21によりカメラ1全体の動作が制御される。また、シャッターレリーズボタンは、ボタンの半押しでONとなる第1スイッチSW1と、ボタンの全押しでONとなる第2スイッチSW2とを含む。
さらに、カメラ本体2にはカメラ制御部21が設けられている。カメラ制御部21は、マウント部4に設けられた電気信号接点部41によりレンズ制御部37と電気的に接続され、このレンズ制御部37からレンズ情報を受信するとともに、レンズ制御部37へデフォーカス量や絞り開口径などの情報を送信する。また、カメラ制御部21は、上述したように撮像素子22から画素出力を読み出すとともに、読み出した画素出力について、必要に応じて所定の情報処理を施すことにより画像情報を生成し、生成した画像情報を、電子ビューファインダ26の液晶駆動回路25やメモリ24に出力する。また、カメラ制御部21は、撮像素子22からの画像情報の補正やレンズ鏡筒3の焦点調節状態、絞り調節状態などを検出するなど、カメラ1全体の制御を司る。
また、カメラ制御部21は、上記に加えて、撮像素子22から読み出した画像信号に基づき、コントラスト検出方式による光学系の焦点状態の検出を行う。具体的には、カメラ制御部21は、撮像素子22の画像出力を読み出し、読み出した画像出力に基づき、焦点評価値の演算を行う。この焦点評価値は、たとえば撮像素子22からの画像出力の高周波成分を、高周波透過フィルタを用いて抽出し、これを積算することで求めることができる。また、遮断周波数が異なる2つの高周波透過フィルタを用いて高周波成分を抽出し、それぞれを積算することでも求めることができる。なお、焦点検出を行う焦点検出位置が設定されている場合には、カメラ制御部21は、撮像素子22から出力された画像出力のうち、焦点検出を行う焦点検出位置に対応する画像出力に基づいて、焦点評価値を算出する。
そして、カメラ制御部21は、レンズ制御部37に制御信号を送出してフォーカスレンズ32を所定の取得間隔(距離)で駆動させ、それぞれの位置における焦点評価値を求め、該焦点評価値が最大となるフォーカスレンズ32の位置を合焦位置として求める、コントラスト検出方式による焦点検出を実行する。なお、この合焦位置は、たとえば、フォーカスレンズ32を駆動させながら焦点評価値を算出した場合に、焦点評価値が、2回上昇した後、さらに、2回下降して推移した場合に、これらの焦点評価値を用いて、内挿法などの演算を行うことで求めることができる。
ここで、図2は、コントラスト検出方式による焦点検出方法を説明するための図である。図2に示す例では、フォーカスレンズ32がP0に位置しており、カメラ制御部21は、まず、P0から、P1のサーチ開始位置まで、フォーカスレンズ32を駆動させる初期駆動を実行する。続いて、カメラ制御部21は、サーチ開始位置(図2中、P1の位置)から、至近側から無限遠側に向けて、フォーカスレンズ32を駆動させながら、所定間隔D1ごとに焦点評価値を算出するサーチ駆動を実行し、その結果、図2中のP1,P2,P0,P3,P4の各位置において焦点評価値を算出する。そして、フォーカスレンズ32を、図2に示すP4の位置に移動させた時点において、算出された焦点評価値が、P2,P0において2回上昇した後、P3,P4で2回下降して推移しているため、焦点評価値が最大値とその前後、合計3つ(P2、P0、P3)の焦点評価値を用いて、内挿法により、焦点評価値のピーク位置の検出が行われる。その結果、P0の位置の近傍において、焦点評価値のピーク位置が合焦位置として検出される。これにより、カメラ制御部21は、フォーカスレンズ32を、検出された合焦位置(図2中、P0の位置の近傍)まで駆動させる合焦駆動を実行する。
次に、図3を参照して、本実施形態に係るカメラ1の動作例を説明する。図3は、カメラ1の動作例を示すフローチャートである。
まず、ステップS101では、カメラ制御部21によるスルー画像の生成、および観察光学系の電子ビューファインダ26による、スルー画像の表示が開始される。具体的には、カメラ制御部21により、撮像素子22の出力の読み出しが行なわれ、カメラ制御部21は、読み出した画像信号に基づきスルー画像を生成する。そして、カメラ制御部21により生成されたスルー画像は液晶駆動回路25に送出され、観察光学系の電子ビューファインダ26に表示される。そして、これにより、接眼レンズ27を介して、ユーザは被写体の動画を視認することが可能となる。なお、スルー画像の生成、およびスルー画像の表示は、所定のフレームレート、たとえば60fpsで繰り返し実行される。
ステップS102では、カメラ制御部21により、シャッターレリーズボタンの半押し(第1スイッチSW1のオン)がされたか否かの判断が行われる。第1スイッチSW1がオンであると判断された場合はステップS103へ進み、第1スイッチSW1がオンではないと判断された場合はステップS101に戻り、第1スイッチSW1がオンされるまで、所定のフレームレートで、スルー画像の表示が繰り返し行われる。
ステップS102で、シャッターレリーズボタンが半押しされた場合には、ステップS103に進み、フォーカスレンズ32の初期駆動が開始される。具体的には、図2に示すように、フォーカスレンズ32を、現在のレンズ位置(図2中、P0の位置)から所定のサーチ開始位置(図2中、P1の位置)まで駆動させるための駆動開始指令が、カメラ制御部21からレンズ制御部37に対して送出され、これにより、フォーカスレンズ駆動モータ36を介して、フォーカスレンズ32が所定のサーチ開始位置(図2中、P1の位置)まで駆動されることとなる。なお、サーチ開始位置は、特に限定されず、例えば、至近端または無限遠端であってもよく、あるいは、撮影シーンによって決定される位置であってもよい。また、ステップS103においては、初期駆動を行うことなく、フォーカスレンズ32を現在の位置のままとしてもよい。
ステップS103で初期駆動が開始されると、ステップS104に進み、ステップS104において、カメラ制御部21により、基準間隔Dstdの取得が行われる。基準間隔Dstdとは、合焦位置を適切に検出することができる焦点評価値の取得間隔であり、像面移動量に基づく間隔(距離)である。たとえば、サーチ駆動において、フォーカスレンズ32を駆動させながら、所定の取得間隔で焦点評価値を取得した場合に、焦点評価値の取得間隔が大きすぎると、取得した焦点評価値に基づいて合焦位置を適切に検出することができない場合があり、また、焦点評価値の取得間隔が小さすぎると、合焦位置の検出に時間が掛かってしまう場合がある。基準間隔Dstdは、このような点を考慮し、合焦位置を適切に検出することができるように、焦点深度および絞り値(F値)に応じて予め設定されている。
具体的には、基準間隔Dstdは、下記式(1)に基づいて設定されている。
基準間隔Dstd(μm)=焦点深度(μm)×絞り値(F値)×K ・・・(1)
なお、上記式(1)において、Kは定数であり、たとえば、2〜4程度の値とすることができる。本実施形態においては、Kを3として、基準間隔Dstdが設定されている。
たとえば、焦点深度が20μm、絞り値がF2.8に応じた基準間隔Dstdは、20μm×2.8×3=168μmに設定されている。また、焦点深度が20μm、絞り値がF16に応じた基準間隔Dstdは、20μm×16×3=960μmに設定されている。このように、合焦位置を適切に検出することができる基準間隔Dstdは、絞り値(F値)が大きいほど大きい値で設定されている。
なお、本実施形態において、基準間隔Dstdは、たとえば、カメラ制御部21に備えるメモリに記憶されており、カメラ制御部21は、カメラ制御部21のメモリを参照することで、焦点深度および絞り値(F値)に応じた基準間隔Dstdを取得することができる。
次に、ステップS105では、カメラ制御部21により、ステップS104で取得された基準間隔Dstdに基づいて、基準駆動速度Vstdの算出が行われる。ここで、基準駆動速度Vstdとは、サーチ駆動において、合焦位置を適切に検出することができるフォーカスレンズ32の駆動速度であり、像面移動速度に基づく速度である。
本実施形態では、サーチ駆動を行う際に、焦点評価値の算出が、スルー画像の出力に同期して行われる。たとえば、スルー画像の出力が60fpsのフレームレートで行われている場合、焦点評価値の算出は、スルー画像の出力に同期して、1/60秒ごとに行われる。そこで、カメラ制御部21は、基準間隔Dstdと焦点評価値の算出周期とに基づいて、合焦位置を適切に検出することができるフォーカスレンズ32の駆動速度を、以下に説明するように、基準駆動速度Vstdとして算出する。
具体的には、たとえば、基準間隔Dstdが170μmであり、焦点評価値の算出が1/60秒ごとに繰り返されている場合には、カメラ制御部21は、フォーカスレンズ32の基準駆動速度Vstdを、170μm×60=10.2mm/秒として算出する。また、たとえば、基準間隔Dstdが960μmであり、焦点評価値の算出が1/60秒ごとに繰り返されている場合には、カメラ制御部21は、フォーカスレンズ32の基準駆動速度Vstdを、960μm×60=57.6mm/秒として算出する。
次いで、ステップS106では、カメラ制御部21により、フォーカスレンズ32の最大駆動速度Vmaxの取得が行われる。最大駆動速度Vmaxとは、フォーカスレンズ32が実際に駆動可能な速度のうち最大の速度であり、フォーカスレンズ駆動モータ36の性能やレンズ鏡筒2の駆動機構によって決定される速度である。最大駆動速度Vmaxは、たとえば、レンズ制御部37のメモリに記憶されており、カメラ制御部21は、レンズ制御部37から、最大駆動速度Vmaxを取得することができる。なお、本実施形態に係る最大駆動速度Vmaxは、像面移動速度に基づく速度であるため、広角レンズでは、像面移動係数が小さいため、最大駆動速度Vmaxは小さくなる傾向にあり、望遠レンズでは、像面移動係数が大きいため、最大駆動速度Vmaxは大きくなる傾向にある。
そして、ステップS107では、カメラ制御部21により、ステップS105で算出した基準駆動速度Vstdと、ステップS106で取得した最大駆動速度Vmaxとの比較が行わる。最大駆動速度Vmaxが基準駆動速度Vstdよりも遅い速度である場合には、ステップS108に進み、ステップS108で、カメラ制御部21により、最大駆動速度Vmaxが、サーチ駆動時のサーチ駆動速度Vschになるものと予測される。一方、最大駆動速度Vmaxが基準駆動速度Vstd以上の速度である場合には、ステップS109に進み、ステップS109で、カメラ制御部21により、基準駆動速度Vstdが、サーチ駆動時のサーチ駆動速度Vschとなるものと予測される。
たとえば、ステップS105で設定された基準駆動速度Vstdが56.7mm/秒であり、ステップS106で取得された最大駆動速度Vmaxが12mm/秒である場合には、最大駆動速度Vmaxが基準駆動速度Vstdよりも遅い速度であると判断され(ステップS107=Yes)、最大駆動速度Vmaxの12mm/秒が、サーチ駆動時のサーチ駆動速度Vschとなるものと予測される。このように、ステップS107〜S109では、基準駆動速度Vstdおよび最大駆動速度Vmaxのうち遅いほうの速度が、サーチ駆動時のサーチ駆動速度Vschとして予測される。
ステップS110では、カメラ制御部21により、ステップS108またはステップS109で予測されたサーチ駆動速度Vschに基づいて、サーチ駆動時における焦点評価値の取得間隔が、検出間隔Dschとして予測される。なお、本実施形態において、検出間隔Dschは、像面移動量に基づく間隔(距離)であり、たとえば、サーチ駆動速度Vschが12mm/秒と予測されており、焦点評価値の算出が1/60秒ごとに行われる場合には、検出間隔Dschは、12(mm/秒)÷60=200μmになるものと予測される。
そして、ステップS111では、カメラ制御部21により、ステップS104で取得された基準間隔Dstdと、ステップS110で予測された検出間隔Dschとの比較が行われる。カメラ制御部21により、検出間隔Dschが基準間隔Dstdよりも小さいと判断された場合には、ステップS112に進み、一方、検出間隔Dschが基準間隔Dstd以上であると判断された場合には、ステップS115に進む。
ステップS112では、カメラ制御部21により、合焦位置を検出するためのサーチ駆動が開始される。具体的には、まず、カメラ制御部21により、フォーカスレンズ32をサーチ駆動速度Vschで駆動させるための駆動開始指令が、レンズ制御部37に送出され、レンズ制御部37は、カメラ制御部21からの指令に基づいて、フォーカスレンズ駆動モータ36を駆動させる。これにより、フォーカスレンズ32が、光軸L1に沿って、サーチ駆動速度Vschで駆動する。そして、カメラ制御部21は、フォーカスレンズ32をサーチ駆動速度Vschで駆動させながら、検出間隔Dschごとに、焦点評価値の算出を繰り返し行う。
そして、ステップS113では、カメラ制御部21により、サーチ駆動により検出された複数の焦点評価値の中から、焦点検出に用いる焦点評価値を選択するための処理が行われる。
ここで、図4は、サーチ駆動により検出された複数の焦点評価値から、焦点検出に用いる焦点評価値を選択する方法を説明するための図である。なお、図4に示す例では、図4のP11の位置から、至近側から無限遠側に向かって、フォーカスレンズ32を駆動させながら、検出間隔Dschごとに焦点評価値の算出した結果、図4のP11〜P19のそれぞれの位置において、焦点評価値が検出された場面を例示している。
たとえば、図4に示す例では、カメラ制御部21は、合焦位置の検出に適した基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を得るために、基準間隔Dstdを超えない範囲において、焦点検出に用いる焦点評価値の間隔が最大となるように、検出間隔Dschで検出された複数の焦点評価値の中から、焦点検出に用いる焦点評価値を選択する。
具体的には、カメラ制御部21は、検出間隔Dschで検出された複数の焦点評価値の中から、下記式(2)に基づいて算出した所定数おきに、焦点検出に用いる焦点評価値が選択することで、合焦位置の検出に適した基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を得ることができる。
所定数=基準間隔Dstd/検出間隔Dsch(但し、所定数は、小数点以下を切り捨てた整数値、または、小数点以下を切り上げた整数値とする。) ・・・(2)
たとえば、図4に示す例において、基準間隔Dstdが960μmであり、検出間隔Dschが200μmである場合には、カメラ制御部21は、上記式(2)に基づいて、960μm/200μm=4.8を算出し、4.8から小数点以下を切り捨てた4を、上記所定数として算出する。
そして、図4に示すように、まず、カメラ制御部21は、最初のP11の位置で検出された焦点評価値を、焦点検出に用いる焦点評価値として検出する。さらに、カメラ制御部21は、P11の位置から4つ目のP15の位置で焦点評価値を算出した際に、P15の位置で算出した焦点評価値を、焦点検出に用いる焦点評価値として選択する。同様に、カメラ制御部21は、P15の位置から4つ目のP19の位置で焦点評価値を算出した際に、P19の位置で算出した焦点評価値を、焦点検出に用いる焦点評価値として選択する。これにより、図4に示す例では、検出間隔Dschで検出された複数の焦点評価値の中から、4つおきに得られた焦点評価値が、焦点検出に用いる焦点評価値として選択され、その結果、図4に示すように、合焦位置の検出に適した基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を得ることができる。
また、図5は、図4と同様に焦点評価値が検出された場面において、上記式(2)に示す所定数を、小数点以下を切り上げた整数値として算出して、焦点検出に用いる焦点評価値を選択した場面を例示した図である。たとえば、基準間隔Dschよりも少し大きい間隔で得られた焦点評価値に基づいて焦点検出を行った場合でも、焦点検出精度に及ぼす影響が小さい場合には、上記式(2)において、所定数を、小数点以下を切り上げた整数値として算出してもよい。これにより、カメラ制御部21は、図5に示すように、基準間隔Dstdを超えた範囲において、焦点検出に用いる焦点評価値の間隔が最小となるように、検出間隔Dschで検出された複数の焦点評価値の中から、焦点検出に用いる焦点評価値を選択することができる。
たとえば、図5に示す例において、基準間隔Dstdが960μmであり、検出間隔Dschが200μmである場合に、カメラ制御部21は、上記式(2)に基づいて、960μm/200μm=4.8を算出し、4.8から小数点以下を切り上げた5を、所定数として算出する。
そして、図5に示すように、カメラ制御部21は、最初のP11の位置で検出された焦点評価値が焦点検出に用いる焦点評価値として選択した後、P11から5つ目のP16の位置で焦点評価値を算出した際に、P16の位置で算出した焦点評価値を、焦点検出に用いる焦点評価値として選択する。これにより、図5に示す例では、検出間隔Dschで検出された複数の焦点評価値の中から、5つおきに得られた焦点評価値が、焦点検出に用いる焦点評価値として選択されるため、図5に示すように、合焦位置の検出に適した基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を得ることができる。
そして、ステップS114では、カメラ制御部21により、ステップS113で選択された焦点評価値に基づいて、焦点評価値が最大となるフォーカスレンズ32のレンズ位置が、合焦位置として検出される。そして、ステップS117に進み、カメラ制御部21により、ステップS114で検出された合焦位置に、フォーカスレンズ32を駆動させる合焦駆動が行われる。
一方、ステップS111で、検出間隔Dschが基準間隔Dstd以上であると判断された場合には、ステップS115に進む。ステップS115では、ステップS112と同様に、サーチ駆動が開始され、続くステップS116で、カメラ制御部21により、サーチ駆動において検出された全ての焦点評価値に基づいて、合焦位置の検出が行われる。そして、ステップS117に進み、ステップS116で検出された合焦位置に、フォーカスレンズ32を駆動させる合焦駆動が行われる。
以上のように、第1実施形態に係るカメラ1は、コントラスト検出方式による焦点検出を行う際に、合焦位置を適切に検出することができる基準間隔Dstdと、サーチ駆動において焦点評価値が検出される検出間隔Dschとを比較する。そして、検出間隔Dschが基準間隔Dstdよりも小さい場合には、検出間隔Dschで検出された複数の焦点評価値の中から、基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を選択し、選択した焦点評価値に基づいて、合焦位置の検出を行う。これにより、第1実施形態では、以下のような効果を奏することができる。すなわち、図4および図5に示すように、基準間隔Dstdに対して検出間隔Dschが小さい場合には、合焦位置を検出するために時間が掛かるため、焦点評価値を検出している際の手振れなどにより、焦点評価値がばらつきやすくなる。そして、図6に示すように、焦点評価値がばらついている場合に、検出された全ての焦点評価値(図6中、P31〜P39の位置)に基づいて合焦位置の検出を行った場合、合焦位置を適切に検出することができない場合があった。これに対して、本実施形態では、図6に示すように、焦点検出に用いる焦点評価値を、合焦位置を適切に検出できる基準間隔Dstdに対応する間隔で選択し、選択された焦点評価値(図6中、P31,P33,P35,P37,P39の位置)を用いて、合焦位置を検出することで、焦点評価値のばらつきによる影響を抑えることができ、合焦位置を適切に検出することができる。また、本実施形態によれば、無限遠端または至近端において、振動などにより焦点評価値が跳ね上がってしまう「片上がり現象」が生じてしまう場合でも、検出間隔Dschで検出された複数の焦点評価値の中から、焦点検出に用いる焦点評価値を、焦点基準間隔Dstdに対応する間隔で選択し、選択した焦点評価値に基づいて合焦位置を検出することで、「片上がり現象」による偽合焦を有効に防止することができる。なお、図6は、サーチ駆動により検出された焦点評価値の一例を示す図である。
≪第2実施形態≫
次に、本発明の第2実施形態を図面に基づいて説明する。第2実施形態では、図1に示すカメラ1において、図7に示すように、カメラ1が動作すること以外は、第1実施形態と同様である。以下において、図7を参照して、第2実施形態に係るカメラ1の動作について説明する。なお、図7は、第2実施形態に係るカメラ1の動作を示すフローチャートである。
まず、図6に示すステップS201〜S203では、第1実施形態のステップS101〜S103と同様に、第1スイッチSW1がオンされるまで、スルー画像の表示が行われ(ステップS201,S202)、第1スイッチSW1がオンされた場合に、フォーカスレンズ32をサーチ開始位置に駆動させる初期駆動が実行される(ステップS203)。そして、ステップS204,S205では、第1実施形態のステップS104,S105と同様に、基準間隔Dstdが取得され(ステップS204)、取得された基準間隔Dstdに基づいて基準駆動速度Vstdが算出される(ステップS205)。
ステップS206では、サーチ駆動において合焦位置を適切に検出するために、カメラ制御部21により、フォーカスレンズ32を基準駆動速度Vstdで駆動させるための駆動指令が、レンズ制御部37に対して送信される。これにより、レンズ制御部37は、カメラ制御部21からの指令に基づいて、基準駆動速度Vstdでフォーカスレンズ32を駆動させるように、フォーカスレンズ駆動モータ36の制御を行う。そして、続くステップS207では、第1実施形態のステップS111,S114と同様に、サーチ駆動が開始される。
サーチ動作が開始されると、ステップS208に進み、ステップS208において、カメラ制御部21により、検出間隔Dschの検出が行われる。第2実施形態では、既にサーチ駆動が開始されているため、カメラ制御部21は、たとえば、最新の焦点評価値が検出されたレンズ位置に対応する光学系の像面と、1つ前に検出された焦点評価値が検出されたレンズ位置に対応する光学系の像面とを検出し、検出した像面間の間隔を、実際に焦点評価値の検出が行われた検出間隔Dschとして検出する。
なお、第2実施形態では、サーチ駆動において合焦位置を適切に検出するために、ステップS206において、フォーカスレンズ32を基準駆動速度Vstdで駆動させるための駆動指令が、レンズ制御部37に送信されている。しかしながら、広角レンズなどの像面移動係数の小さいレンズでは、最大駆動速度Vmaxが小さくなり、その結果、最大駆動速度Vmaxが基準駆動速度Vstdよりも遅い速度となる場合がある。たとえば、焦点深度が20μmであり、絞り値がF16である場合の基準間隔Dstdは、20μm×16×3=960μmに設定されており、この場合、基準駆動速度Vstdは、たとえば、焦点評価値の算出が1/60秒ごとに繰り返されている場合において、960μm×60=57.6mm/秒として算出される。一方、広角レンズなどでは、最大駆動速度Vmaxが、たとえば12mm/秒となるものがある。このような場合では、カメラ制御部21から、フォーカスレンズ32を、基準駆動速度Vstdの57.6mm/秒で駆動するよう指示しても、フォーカスレンズ32は、最大駆動速度Vmaxの12mm/秒以上では駆動することができないため、実際のサーチ駆動速度Vschは、最大駆動速度Vmaxの12mm/秒となる。その結果、ステップS208で検出される検出間隔Dschは、基準間隔Dstdの960μmではなく、最大駆動速度Vmaxに基づく、12mm/秒÷60=200μmとなる。ステップS208では、このように、実際に焦点評価値が検出された間隔が、検出間隔Dschとして検出される。
そして、ステップS209では、第1実施形態のステップS111と同様に、基準間隔Dstdと検出間隔Dschの比較が行われ、検出間隔Dschが基準間隔Dstdよりも小さい場合には、ステップS210に進む。ステップS210では、実際に焦点評価値が検出された検出間隔Dschに基づいて、上述したように、上記式(2)の所定数が算出され、検出間隔Dschで検出された複数の焦点評価値の中から、所定数おきに得られた焦点評価値が、焦点検出に用いる焦点評価値として選択される。そして、ステップS211に進み、選択された焦点評価値に基づいて、合焦位置の検出が行われ、続くステップS213で、検出された合焦位置に、フォーカスレンズ32を駆動させる合焦駆動が行われる。
一方、ステップS209において、検出間隔Dschが基準間隔Dstd以上であると判断された場合には、ステップS212に進み、第1実施形態のステップS116と同様に、サーチ駆動において検出された全ての焦点評価値に基づいて、合焦位置の検出が行われ、続くステップS213で、検出された合焦位置に、フォーカスレンズ32を駆動させる合焦駆動が実行される。
以上のように、第2実施形態では、サーチ駆動が開始された後に、サーチ駆動において、実際に焦点評価値が算出された像面間の間隔を、検出間隔Dschとして検出することで、フォーカスレンズ32の最大駆動速度Dmaxを取得できない場合でも、検出間隔Dschを適切に求めることができ、この検出間隔Dschに基づいて、焦点検出に用いる焦点評価値を適切に選択することで、合焦位置を適切に検出することができる。
なお、以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
たとえば、上述した実施形態では、合焦位置の検出に適した基準間隔Dstdに対応する間隔で、焦点検出に用いる焦点評価値を得るために、図4および図5に示すように、検出間隔Dschで検出された複数の焦点評価値の中から、所定数おきに得られる焦点評価値を、焦点検出に用いる焦点評価値として選択する構成を説明したが、この構成に限定されず、たとえば、検出間隔Dschで検出された複数の焦点評価値から、連続して検出された所定数の焦点評価値の平均値を算出し、算出された平均値に基づいて、合焦位置を検出する構成としてもよい。なお、この場合も、平均値を求める焦点評価値の所定数を、上記式(2)に基づいて算出することができる。たとえば、図4に示す例では、所定数が4と算出されるため、連続して検出された4つの焦点評価値(たとえば、図4のP11〜P14の位置で検出された焦点評価値)の平均値を算出し、これら4つの焦点評価値の平均値に基づいて、合焦位置の検出を行うことができる。
また、上述した第1実施形態では、レンズ制御部37からフォーカスレンズ32の最大駆動速度Vmaxを取得し、取得した最大駆動速度Vmaxに基づいて、サーチ駆動におけるサーチ駆動速度Vschを算出しているが、この最大駆動速度Vmaxは、動画撮影時と静止画像撮影時とで異なる場合があり、このような場合、動画撮影時には、動画撮影時用の最大駆動速度Vmaxを用い、静止画撮影時には、静止画撮影時用の最大駆動速度Vmaxを用いる構成とすることができる。
さらに、上述した実施形態では、スルー画像が出力されるフレームレートに同期して、焦点評価値の算出が行われているが、このスルー画像が出力されるフレームレートは、動画撮影時と静止画像撮影時とで異なる場合がある。このような場合、焦点評価値の算出周期も、動画撮影時と静止画像撮影時とで異なるため、動画撮影時には、動画撮影時用の焦点評価値の算出周期に基づいて、基準駆動速度Vstdやサーチ駆動速度Vschを算出し、静止画撮影時には、静止画撮影時用の焦点評価値の算出周期に基づいて、基準駆動速度Vstdやサーチ駆動速度Vschを算出する構成とすることが好適である。
また、上述した実施形態では、シャッターレリーズボタンの半押し(第1スイッチSW1のオン)がされた場合に、コントラスト検出方式による焦点検出を行う構成を例示したが、シャッターレリーズボタンの半押しされたか否かによらず、コントラスト検出方式による焦点検出を繰り返し行う構成としてもよい。
加えて、上述した実施形態では、撮像素子22から出力された画像信号に基づいて、光学系のコントラストに関する評価値を算出することで、光学系の焦点状態を検出するコントラスト検出方式による焦点検出を行う構成を説明したが、これに加えて、位相差を用いて光学系による像面のずれ量を検出することで、光学系の焦点状態を検出する位相差検出方式による焦点検出を行う構成としてもよい。また、この場合、撮像素子22の受光面に一対の焦点検出画素を設け、この一対の焦点検出画素から出力される一対の画像信号の相関量を算出することで、光学系による像面のずれ量を検出する構成としてもよい。さらに、この場合に、位相差検出による焦点検出を優先して行い、位相差検出による焦点検出ができない場合に、コントラスト検出方式による焦点検出を行う構成としてもよい。また、この場合に、フォーカスレンズ32を駆動させながら、位相差検出方式による焦点検出と、コントラスト検出方式による焦点検出とを同時に行い、焦点検出ができた方式による焦点検出結果に基づいて、合焦駆動を行う構成としてもよい。
なお、本実施形態のカメラ1は特に限定されず、例えば、デジタルビデオカメラ、一眼レフデジタルカメラ、レンズ一体型のデジタルカメラ、携帯電話用のカメラなどのその他の光学機器に本発明を適用してもよい。