以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の実施形態に係るデジタルカメラ1を示す要部構成図である。本実施形態のデジタルカメラ1(以下、単にカメラ1という。)は、カメラ本体2とレンズ鏡筒3から構成され、これらカメラ本体2とレンズ鏡筒3はマウント部4により着脱可能に結合されている。
レンズ鏡筒3は、カメラ本体2に着脱可能な交換レンズである。図1に示すように、レンズ鏡筒3には、レンズ31,32,33、および絞り34を含む撮影光学系が内蔵されている。
レンズ32は、フォーカスレンズであり、光軸L1方向に移動することで、撮影光学系の焦点距離を調節可能となっている。フォーカスレンズ32は、レンズ鏡筒3の光軸L1に沿って移動可能に設けられ、エンコーダ35によってその位置が検出されつつフォーカスレンズ駆動モータ36によってその位置が調節される。
エンコーダ35で検出されたフォーカスレンズ32の現在位置情報は、レンズ制御部37を介して後述するカメラ制御部21へ送出され、フォーカスレンズ駆動モータ36は、この情報に基づいて演算されたフォーカスレンズ32の駆動位置が、カメラ制御部21からレンズ制御部37を介して送出されることにより駆動する。
絞り34は、上記撮影光学系を通過して撮像素子22に至る光束の光量を制限するとともにボケ量を調整するために、光軸L1を中心にした開口径が調節可能に構成されている。絞り34による開口径の調節は、たとえば自動露出モードにおいて演算された適切な開口径が、カメラ制御部21からレンズ制御部37を介して送出されることにより行われる。また、カメラ本体2に設けられた操作部28によるマニュアル操作により、設定された開口径がカメラ制御部21からレンズ制御部37に入力される。絞り34の開口径は図示しない絞り開口センサにより検出され、レンズ制御部37で現在の開口径が認識される。
また、本実施形態に係るレンズ鏡筒3は、フォーカスレンズ32の合焦可能範囲が制限可能となっている。合焦可能範囲とは、当該合焦可能範囲内において、合焦位置が検出された場合に、合焦と判定される範囲である。本実施形態では、レンズ鏡筒3に、合焦可能範囲を設定するためのフォーカスリミットスイッチ38を備えており、撮影者が、フォーカスリミットスイッチ38を操作して、フォーカスリミットモードを選択することで、合焦可能範囲を選択することができる。
図2は、本実施形態で設定可能な合焦可能範囲の一例を示す図である。本実施形態では、図2(A)に示すように、無限遠端ソフトリミットSLIPから至近端ソフトリミットSLNPまでの範囲を、合焦可能範囲Rf1として設定する「FULLモード」と、図2(B)に示すように、無限遠端ソフトリミットSLIPから至近側ソフトリミットSLNSまでの範囲を、合焦可能範囲Rf2として設定する「至近側制限モード」と、図2(C)に示すように、無限遠側ソフトリミットSLISから至近端ソフトリミットSLNPまでの範囲を、合焦可能範囲Rf3として設定する「無限遠側制限モード」の、3つのフォーカスリミットモードを選択することができる。
そして、撮影者によりフォーカスリミットが選択された場合には、図3に示すように、選択されたフォーカスリミットモードに対応するフォーカスリミット情報が、レンズ鏡筒3からカメラ本体2に送信される。なお、フォーカスリミット情報は、フォーカスリミットモードごとに、レンズ制御部37が備えるROMに記憶されている。
たとえば、フォーカスリミットスイッチ38により、図2(A)に示す「FULLモード」が設定された場合には、レンズ制御部37は、フォーカスリミット情報として、「FULLモード」における合焦可能範囲Rf1のリミット位置(端部)である、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPを、カメラ本体2に送信する。
また、フォーカスリミットスイッチ38により、図2(B)に示す「至近側制限モード」が設定された場合には、レンズ制御部37は、フォーカスリミット情報として、「至近側制限モード」における合焦可能範囲Rf2のリミット位置である、無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSを、カメラ本体2に送信する。
同様に、フォーカスリミットスイッチ38により、図2(C)に示す「無限遠側制限モード」が設定された場合には、レンズ制御部37は、「無限遠側制限モード」における合焦可能範囲Rf3のリミット位置である、無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPを、フォーカスリミット情報として、カメラ本体2に送信する。
なお、図2(A)において、無限遠端設計値DVIPは、「FULLモード」において、レンズ鏡筒3が、設計上、被写体に合焦することを保証するレンズ位置のうち無限遠側のリミット位置であり、レンズ鏡筒3の設計誤差を考慮して、無限遠端設計値DVIPよりも無限遠側に無限遠端ソフトリミットSLIPを設け、この無限遠端ソフトリミットSLIPまで合焦位置の検出が可能となるように設計されている。同様に、至近端設計値DVNPは、レンズ鏡筒3が、設計上、被写体に合焦することを保証するレンズ位置のうち至近側のリミット位置であり、レンズ鏡筒3の設計誤差を考慮して、至近端設計値DVNPよりも至近側に至近端ソフトリミットSLNPを設け、この至近端ソフトリミットSLNPまで合焦位置の検出が可能となるように設計されている。
また、図2(B)において、至近側設計値DVNSは、「至近側制限モード」において、レンズ鏡筒3が、設計上、被写体に合焦することを保証するレンズ位置のうちの至近側のリミット位置であり、レンズ鏡筒3の設計誤差を考慮して、至近側設計値DVNSよりも至近側の至近側ソフトリミットSLNSまで、合焦位置の検出が可能となるように設計されている。同様に、図2(C)において、無限遠側設計値DVISは、「無限遠側制限モード」において、レンズ鏡筒3が、設計上、被写体に合焦することを保証するレンズ位置のうちの無限遠側のリミット位置であり、レンズ鏡筒3の設計誤差を考慮して、無限遠側設計値DVISよりも無限遠側の無限遠側ソフトリミットSLISまで、合焦位置の検出が可能となるように設計されている。
また、図3に示すように、レンズ鏡筒3からカメラ本体2に対しては、フォーカスリミット情報に加えて、フォーカスレンズ位置の情報も周期的に送信される。そして、カメラ本体2においては、フォーカスリミット情報およびフォーカスレンズ32の位置情報に基づいて、フォーカスレンズ32のレンズ駆動量が算出され、算出されたレンズ駆動量がレンズ鏡筒3に送信される。なお、図3は、レンズ鏡筒3とカメラ本体2との情報の授受の一例を説明するための図である。
一方、カメラ本体2には、上記撮影光学系からの光束L1を受光する撮像素子22が、撮影光学系の予定焦点面に設けられ、その前面にシャッター23が設けられている。撮像素子22はCCDやCMOSなどのデバイスから構成され、受光した光信号を電気信号に変換してカメラ制御部21に送出する。カメラ制御部21に送出された撮影画像情報は、逐次、液晶駆動回路25に送出されて観察光学系の電子ビューファインダ(EVF)26に表示されるとともに、操作部28に備えられたレリーズボタン(不図示)が全押しされた場合には、その撮影画像情報が、記録媒体であるカメラメモリ24に記録される。なお、カメラメモリ24は着脱可能なカード型メモリや内蔵型メモリの何れをも用いることができる。
カメラ本体2には、撮像素子22で撮像される像を観察するための観察光学系が設けられている。本実施形態の観察光学系は、液晶表示素子からなる電子ビューファインダ(EVF)26と、これを駆動する液晶駆動回路25と、接眼レンズ27とを備えている。液晶駆動回路25は、撮像素子22で撮像され、カメラ制御部21へ送出された撮影画像情報を読み込み、これに基づいて電子ビューファインダ26を駆動する。これにより、ユーザは、接眼レンズ27を通して現在の撮影画像を観察することができる。なお、光軸L2による上記観察光学系に代えて、または、これに加えて、液晶ディスプレイをカメラ本体2の背面等に設け、この液晶ディスプレイに撮影画像を表示させることもできる。
カメラ本体2にはカメラ制御部21が設けられている。カメラ制御部21は、マウント部4に設けられた電気信号接点部41によりレンズ制御部37と電気的に接続され、このレンズ制御部37からレンズ情報を受信するとともに、レンズ制御部37へレンズ駆動量や絞り開口径などの情報を送信する。また、カメラ制御部21は、上述したように撮像素子22から画素出力を読み出すとともに、読み出した画素出力について、必要に応じて所定の情報処理を施すことにより画像情報を生成し、生成した画像情報を、電子ビューファインダ26の液晶駆動回路25やメモリ24に出力する。また、カメラ制御部21は、撮像素子22からの画像情報の補正やレンズ鏡筒3の焦点調節状態、絞り調節状態などを検出するなど、カメラ1全体の制御を司る。
また、カメラ制御部21は、上記に加えて、撮像素子22から読み出した画素データに基づき、位相検出方式による光学系の焦点状態の検出、およびコントラスト検出方式による光学系の焦点状態の検出を行う。なお、具体的な焦点状態の検出方法については、後述する。
操作部28は、シャッターレリーズボタンなどの撮影者がカメラ1の各種動作モードを設定するための入力スイッチであり、オートフォーカスモード/マニュアルフォーカスモードの切換が行えるようになっている。この操作部28により設定された各種モードはカメラ制御部21へ送出され、当該カメラ制御部21によりカメラ1全体の動作が制御される。また、シャッターレリーズボタンは、ボタンの半押しでONとなる第1スイッチSW1と、ボタンの全押しでONとなる第2スイッチSW2とを含む。
次に、本実施形態に係る撮像素子22について説明する。
図4は、撮像素子22の撮像面を示す正面図、図5は、図4のV部分を拡大して焦点検出画素222a,222bの配列を模式的に示す正面図である。
本実施形態の撮像素子22は、図5に示すように、複数の撮像画素221が、撮像面の平面上に二次元的に配列され、緑色の波長領域を透過するカラーフィルタを有する緑画素Gと、赤色の波長領域を透過するカラーフィルタを有する赤画素Rと、青色の波長領域を透過するカラーフィルタを有する青画素Bがいわゆるベイヤー配列(Bayer Arrangement)されたものである。すなわち、隣接する4つの画素群223(稠密正方格子配列)において一方の対角線上に2つの緑画素が配列され、他方の対角線上に赤画素と青画素が1つずつ配列されている。このベイヤー配列された画素群223を単位として、当該画素群223を撮像素子22の撮像面に二次元状に繰り返し配列することで撮像素子22が構成されている。
なお、単位画素群223の配列は、図示する稠密正方格子以外にも、たとえば稠密六方格子配列にすることもできる。また、カラーフィルタの構成や配列はこれに限定されることはなく、補色フィルタ(緑:G、イエロー:Ye、マゼンタ:Mg,シアン:Cy)の配列を採用することもできる。
図6(A)は、撮像画素221の一つを拡大して示す正面図、図6(D)は断面図である。一つの撮像画素221は、マイクロレンズ2211と、光電変換部2212と、図示しないカラーフィルタから構成され、図6(D)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2212が造り込まれ、その表面にマイクロレンズ2211が形成されている。光電変換部2212は、マイクロレンズ2211により撮影光学系の射出瞳(たとえばF1.0)を通過する撮像光束を受光する形状とされ、撮像光束を受光する。
また、撮像素子22の撮像面の中心、ならびに中心から左右対称位置の3箇所には、上述した撮像画素221に代えて焦点検出画素222a,222bが配列された焦点検出画素列22a,22b,22cが設けられている。そして、図5に示すように、一つの焦点検出画素列は、複数の焦点検出画素222aおよび222bが、互いに隣接して交互に、横一列(22a,22c,22c)に配列されて構成されている。本実施形態においては、焦点検出画素222aおよび222bは、ベイヤー配列された撮像画素221の緑画素Gと青画素Bとの位置にギャップを設けることなく密に配列されている。
なお、図4に示す焦点検出画素列22a〜22cの位置は図示する位置にのみ限定されず、何れか一箇所、二箇所にすることもでき、また、四箇所以上の位置に配置することもできる。また、実際の焦点検出に際しては、複数配置された焦点検出画素列22a〜22cの中から、撮影者が操作部28を手動操作することにより所望の焦点検出画素列を、焦点検出エリアとして選択することもできる。
図6(B)は、焦点検出画素222aの一つを拡大して示す正面図、図6(E)は、焦点検出画素222aの断面図である。また、図6(C)は、焦点検出画素222bの一つを拡大して示す正面図、図6(F)は、焦点検出画素222bの断面図である。焦点検出画素222aは、図6(B)に示すように、マイクロレンズ2221aと、半円形状の光電変換部2222aとから構成され、図6(E)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2222aが造り込まれ、その表面にマイクロレンズ2221aが形成されている。また、焦点検出画素222bは、図6(C)に示すように、マイクロレンズ2221bと、光電変換部2222bとから構成され、図6(F)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2222bが造り込まれ、その表面にマイクロレンズ2221bが形成されている。そして、これら焦点検出画素222aおよび222bは、図5に示すように、互いに隣接して交互に、横一列に配列されることにより、図4に示す焦点検出画素列22a〜22cを構成する。
なお、焦点検出画素222a,222bの光電変換部2222a,2222bは、マイクロレンズ2221a,2221bにより撮影光学系の射出瞳の所定の領域(たとえばF2.8)を通過する光束を受光するような形状とされる。また、焦点検出画素222a,222bにはカラーフィルタは設けられておらず、その分光特性は、光電変換を行うフォトダイオードの分光特性と、図示しない赤外カットフィルタの分光特性を総合したものとなっている。ただし、撮像画素221と同じカラーフィルタのうちの一つ、たとえば緑フィルタを備えるように構成することもできる。
また、図6(B)、図6(C)に示す焦点検出画素222a,222bの光電変換部2222a,2222bは半円形状としたが、光電変換部2222a,2222bの形状はこれに限定されず、他の形状、たとえば、楕円形状、矩形状、多角形状とすることもできる。
ここで、上述した焦点検出画素222a,222bの画素出力に基づいて撮影光学系の焦点状態を検出する、いわゆる位相差検出方式について説明する。
図7は、図5のVII-VII線に沿う断面図であり、撮影光軸L1近傍に配置され、互いに隣接する焦点検出画素222a−1,222b−1,222a−2,222b−2が、射出瞳350の測距瞳351,352から照射される光束AB1−1,AB2−1,AB1−2,AB2−2をそれぞれ受光していることを示している。なお、図7においては、複数の焦点検出画素222a,222bのうち、撮影光軸L1近傍に位置するもののみを例示して示したが、図7に示す焦点検出画素以外のその他の焦点検出画素についても、同様に、一対の測距瞳351,352から照射される光束をそれぞれ受光するように構成されている。
ここで、射出瞳350とは、撮影光学系の予定焦点面に配置された焦点検出画素222a,222bのマイクロレンズ2221a,2221bの前方の距離Dの位置に設定された像である。距離Dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部との距離などに応じて一義的に決まる値であって、この距離Dを測距瞳距離と称する。また、測距瞳351,352とは、焦点検出画素222a,222bのマイクロレンズ2221a,2221bにより、それぞれ投影された光電変換部2222a,2222bの像をいう。
なお、図7において焦点検出画素222a−1,222b−1,222a−2,222b−2の配列方向は一対の測距瞳351,352の並び方向と一致している。
また、図7に示すように、焦点検出画素222a−1,222b−1,222a−2,222b−2のマイクロレンズ2221a−1,2221b−1,2221a−2,2221b−2は、光学系の予定焦点面近傍に配置されている。そして、マイクロレンズ2221a−1,2221b−1,2221a−2,2221b−2の背後に配置された各光電変換部2222a−1,2222b−1,2222a−2,2222b−2の形状が、各マイクロレンズ2221a−1,2221b−1,2221a−2,2221b−2から測距距離Dだけ離れた射出瞳350上に投影され、その投影形状は測距瞳351,352を形成する。
すなわち、測距距離Dにある射出瞳350上で、各焦点検出画素の光電変換部の投影形状(測距瞳351,352)が一致するように、各焦点検出画素におけるマイクロレンズと光電変換部の相対的位置関係が定められ、それにより各焦点検出画素における光電変換部の投影方向が決定されている。
図7に示すように、焦点検出画素222a−1の光電変換部2222a−1は、測距瞳351を通過し、マイクロレンズ2221a−1に向う光束AB1−1によりマイクロレンズ2221a−1上に形成される像の強度に対応した信号を出力する。同様に、焦点検出画素222a−2の光電変換部2222a−2は測距瞳351を通過し、マイクロレンズ2221a−2に向う光束AB1−2によりマイクロレンズ2221a−2上に形成される像の強度に対応した信号を出力する。
また、焦点検出画素222b−1の光電変換部2222b−1は測距瞳352を通過し、マイクロレンズ2221b−1に向う光束AB2−1によりマイクロレンズ2221b−1上に形成される像の強度に対応した信号を出力する。同様に、焦点検出画素222b−2の光電変換部2222b−2は測距瞳352を通過し、マイクロレンズ2221b−2に向う光束AB2−2によりマイクロレンズ2221b−2上に形成される像の強度に対応した信号を出力する。
そして、上述した2種類の焦点検出画素222a,222bを、図5に示すように直線状に複数配置し、各焦点検出画素222a,222bの光電変換部2222a,2222bの出力を、測距瞳351と測距瞳352とのそれぞれに対応した出力グループにまとめることにより、測距瞳351と測距瞳352とのそれぞれを通過する焦点検出光束が焦点検出画素列上に形成する一対の像の強度分布に関するデータが得られる。そして、この強度分布データに対し、相関演算処理または位相差検出処理などの像ズレ検出演算処理を施すことにより、いわゆる位相差検出方式による像ズレ量を検出する。
そして、得られた像ズレ量に一対の測距瞳の重心間隔に応じた変換演算を施すことにより、予定焦点面に対する現在の焦点面(予定焦点面上のマイクロレンズアレイの位置に対応した焦点検出エリアにおける焦点面をいう。)の偏差、すなわちデフォーカス量を求めることができる。
なお、これら位相差検出方式による像ズレ量の演算、デフォーカス量の演算、および合焦駆動はカメラ制御部21により実行される。
また、カメラ制御部21は、撮像素子22の撮像画素221の出力を読み出し、読み出した画素出力に基づき、焦点評価値の演算を行う。この焦点評価値は、たとえば撮像素子22の撮像画素221からの画像出力の高周波成分を、高周波透過フィルタを用いて抽出することで求めることができる。また、遮断周波数が異なる2つの高周波透過フィルタを用いて高周波成分を抽出することでも求めることができる。
そして、カメラ制御部21は、レンズ制御部37に制御信号を送出してフォーカスレンズ32を所定のサンプリング間隔(距離)で駆動させ、それぞれの位置における焦点評価値を求め、該焦点評価値が最大となるフォーカスレンズ32の位置を合焦位置として求める、コントラスト検出方式による焦点検出を実行する。なお、この合焦位置は、たとえば、フォーカスレンズ32を駆動させながら焦点評価値を算出した場合に、焦点評価値が、2回上昇した後、さらに、2回下降して推移した場合に、これらの焦点評価値を用いて、内挿法などの演算を行うことで求めることができる。
ここで、図8は、コントラスト検出方式による焦点検出方法の一例を説明するための図である。図8に示す例では、フォーカスレンズ32が、図8に示すP0に位置しており、まず、P0から、所定のサーチ開始位置(図8中、P1の位置)まで、フォーカスレンズ32を駆動させる初期駆動が行われる。そして、フォーカスレンズ32を、サーチ開始位置から(図8中、P1の位置)、無限遠側から至近側に向けて駆動させながら、所定間隔で、コントラスト検出方式による焦点評価値の取得を行うサーチ駆動が行われる。そして、フォーカスレンズ32を、図8に示すP2の位置に移動させた時点において、焦点評価値のピーク位置(図8中、P3の位置)が合焦位置として検出され、検出された合焦位置(図8中、P3の位置)まで、フォーカスレンズ32を駆動させる合焦駆動が行われる。
次いで、本実施形態に係るカメラ1の動作例を説明する。図9は、本実施形態に係るカメラ1の動作を示すフローチャートである。
まず、ステップS101では、カメラ制御部21により、フォーカスリミット情報の取得が行われる。本実施形態では、レンズ鏡筒3で設定されているフォーカスリミットモードに対応するフォーカスリミット情報が、レンズ制御部37からカメラ制御部21に所定間隔で周期的に送信されており、カメラ制御部21は、現在設定されているフォーカスリミットモードに対応するフォーカスリミット情報を、レンズ制御部37から取得する。
たとえば、図2(A)に示すように、フォーカスリミットスイッチ38により「FULLモード」が設定されている場合には、レンズ制御部37は、フォーカスリミット情報として、「FULLモード」における合焦可能範囲Rf1のリミット位置(端部)である、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPを、カメラ本体2に周期的に送信する。これにより、カメラ制御部21は、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPの情報を、フォーカスリミット情報として取得する。
同様に、カメラ制御部21は、図2(B)に示すように、フォーカスリミットスイッチ38により「至近側制限モード」が設定されている場合には、「至近側制限モード」における合焦可能範囲Rf2のリミット位置である、無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSの情報を、フォーカスリミット情報として取得し、また、図2(C)に示すように、フォーカスリミットスイッチ38により「無限遠側制限モード」が設定されている場合には、「無限遠側制限モード」における合焦可能範囲Rf3のリミット位置である、無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPを、フォーカスリミット情報として取得する。
なお、フォーカスリミットモードが同じ場合でも、レンズ鏡筒3の種別によっては、フォーカスレンズ32の合焦可能範囲Rf1〜Rf3が、それぞれ異なる範囲となる場合がある。そのため、カメラ制御部21は、レンズ鏡筒3から、当該レンズ鏡筒3に固有のフォーカスリミット情報を取得する。
ステップS102では、カメラ制御部21により、ステップS101で取得されたフォーカスリミット情報に基づいて、図2(A)〜(C)に示すように、フォーカスレンズ32の合焦可能範囲の算出が行われる。
たとえば、カメラ制御部21は、図2(A)に示すように、「FULLモード」が設定されており、フォーカスリミット情報として、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPが取得されている場合には、無限遠端ソフトリミットSLIPから至近端ソフトリミットSLNPまでの範囲を、合焦可能範囲Rf1として算出する。
同様に、カメラ制御部21は、図2(B)に示すように、「至近側制限モード」が設定されており、フォーカスリミット情報として、無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSが取得されている場合には、無限遠端ソフトリミットSLIPから至近側ソフトリミットSLNSまでの範囲を、合焦可能範囲Rf2として算出する。また、カメラ制御部21は、図2(C)に示すように、「無限遠側制限モード」が設定されており、フォーカスリミット情報として、無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPが取得された場合には、無限遠側ソフトリミットSLISから至近端ソフトリミットSLNPまでの範囲を、合焦可能範囲Rf3として算出する。
なお、レンズ鏡筒3の種別によっては、フォーカスリミット機能を有しておらず、フォーカスリミット情報を、レンズ鏡筒3から取得できない場合もある。このような場合には、カメラ制御部21は、図2(A)に示すように、無限遠端ソフトリミットSLIPから至近端ソフトリミットSLNPまでの範囲Rf1を合焦可能範囲として算出することができる。
ステップS103では、カメラ制御部21により、位相差検出方式によるデフォーカス量の算出処理が開始される。本実施形態では、位相差検出方式によるデフォーカス量の算出処理は、次のように行なわれる。すなわち、まず、カメラ制御部21により、撮像素子22の3つの焦点検出画素列22a〜22cを構成する各焦点検出画素222a,222bから一対の像に対応した一対の像データの読み出しが行なわれる。そして、カメラ制御部21は、読み出された一対の像データに基づいて像ズレ検出演算処理(相関演算処理)を実行し、3つの焦点検出画素列22a〜22cに対応する焦点検出位置における像ズレ量を演算し、さらに像ズレ量をデフォーカス量に変換する。また、カメラ制御部21は、算出したデフォーカス量の信頼性の評価を行う。なお、デフォーカス量の信頼性の評価は、たとえば、一対の像データの一致度やコントラストなどに基づいて行なわれる。また、このような位相差検出方式によるデフォーカス量の算出処理は、所定の間隔で繰り返し実行される。
ステップS104では、カメラ制御部21による焦点評価値の算出処理が開始される。本実施形態では、焦点評価値の算出処理は、撮像素子22の撮像画素221の画素出力を読み出し、読み出した画素出力の高周波成分を、高周波透過フィルタを用いて抽出し、これを積算することにより行われる。焦点評価値の算出は、使用者の手動操作により、あるいは、被写体認識モードなどにより、特定の焦点検出位置が選択されているときには、選択された焦点検出位置に対応する撮像画素221の画素出力のみを読み出すような構成としてもよい。なお、焦点評価値の算出処理は、所定の間隔で繰り返し実行される。
ステップS105では、カメラ制御部21により、操作部28に備えられたシャッターレリーズボタンの半押し(第1スイッチSW1のオン)がされたかどうかの判断が行なわれる。第1スイッチSW1がオンした場合はステップS106に進む。一方、第1スイッチSW1がオンしていない場合は、第1スイッチSW1がオンされるまで、ステップS105を繰り返す。すなわち、第1スイッチSW1がオンされるまで、位相差検出方式によるデフォーカス量の算出処理、および焦点評価値の算出処理が繰り返し実行される。
ステップS106では、カメラ制御部21により、位相差検出方式により、デフォーカス量が算出できたか否かの判定が行なわれる。デフォーカス量が算出できた場合には、測距可能と判断して、ステップS112に進む。一方、デフォーカス量が算出できなかった場合には、測距不能と判断して、ステップS107に進む。なお、本実施形態においては、デフォーカス量の算出ができた場合でも、算出されたデフォーカス量の信頼性が低い場合にも、デフォーカス量の算出ができなかったものとして扱い、ステップS107に進むこととする。
ステップS106において、デフォーカス量が算出できたと判定され、測距可能と判断された場合には、ステップS112に進み、位相差検出方式により算出されたデフォーカス量に基づいて、フォーカスレンズ32を駆動させるレンズ駆動制御処理が行なわれる。ここで、図10は、ステップS112のレンズ駆動制御処理を示すフローチャートである。以下においては、図10を参照して、ステップS112のレンズ駆動制御処理について説明する。
まず、ステップS201では、カメラ制御部21により、合焦可能範囲が制限されているか否かの判断が行われる。たとえば、ステップS101において、フォーカスリミット情報として、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPの情報を取得した場合、カメラ制御部21は、無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPの情報に基づいて、図2(A)に示すように、「FULLモード」が設定されていると判断し、合焦可能範囲Rf1は制限されていないと判断することができる。
一方、ステップS101において、フォーカスリミット情報として、無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSの情報を取得した場合、カメラ制御部21は、無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSの情報に基づいて、「至近側制限モード」が設定されていると判断し、合焦可能範囲Rf2は制限されていると判断することができる。同様に、ステップS101において、フォーカスリミット情報として、無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPの情報を取得した場合、カメラ制御部21は、無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPの情報に基づいて、「無限遠側制限モード」が設定されていると判断し、これにより、合焦可能範囲Rf3は制限されていると判断することができる。
ステップS201において、合焦可能範囲が制限されていると判断された場合には、ステップS202に進む。ステップS202では、カメラ制御部21により、位相差検出方式により算出されたデフォーカス量に基づくフォーカスレンズ32の駆動目標位置が、フォーカスレンズ32の合焦可能範囲を超えているか否かの判断が行われる。具体的には、カメラ制御部21は、位相差検出方式により算出されたデフォーカス量と、現在のフォーカスレンズ位置とに基づいて、駆動目標位置までのレンズ駆動量(単位:パルス数)を算出する。そして、カメラ制御部21は、算出したフォーカスレンズ32のレンズ駆動量(単位:パルス数)と、ステップS102で算出した合焦可能範囲(単位:パルス数)とに基づいて、駆動目標位置が合焦可能範囲を超えるか否かを判断する。たとえば、図2(B)に示す例において、デフォーカス量に基づく駆動目標位置が、至近側ソフトリミットSLNSよりも至近側のレンズ位置となる場合には、カメラ制御部21は、駆動目標位置が合焦可能範囲Rf2を超えていると判断することができる。そして、デフォーカス量に基づく駆動目標位置が合焦可能範囲を超えると判断された場合には、ステップS203に進み、一方、デフォーカス量に基づく駆動目標位置が合焦可能範囲内であると判断された場合には、ステップS206に進む。
ステップS203では、デフォーカス量に基づく駆動目標位置が合焦可能範囲を超えていると判断されているため、カメラ制御部21により、フォーカスレンズ32を合焦可能範囲のリミット位置(端部)に駆動させるために必要なレンズ駆動量の算出が行われる。具体的には、カメラ制御部21は、フォーカスレンズ32の現在位置と合焦可能範囲とに基づいて、フォーカスレンズ32を、駆動目標位置から近い合焦可能範囲のリミット位置まで駆動させるために必要なレンズ駆動量を算出する。
たとえば、図2(B)に示す例において、デフォーカス量に基づく駆動目標位置が、至近側ソフトリミットSLNSよりも至近側のレンズ位置である場合には、カメラ制御部21は、駆動目標位置から近い合焦可能範囲Rf2のリミット位置である、至近側ソフトリミットSLNSにフォーカスレンズ32を駆動するために必要なレンズ駆動量を算出する。また、図2(C)に示す例において、デフォーカス量に基づく駆動目標位置が、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置である場合には、カメラ制御部21は、駆動目標位置から近い合焦可能範囲Rf3のリミット位置である、無限遠側ソフトリミットSLISにフォーカスレンズ32を駆動するために必要なレンズ駆動量を算出する。
そして、ステップS204では、カメラ制御部21により、ステップS203で算出されたレンズ駆動量に基づいて、フォーカスレンズ32を、合焦可能範囲のリミット位置まで駆動させるための処理が行われる。具体的には、カメラ制御部21は、ステップS203で算出されたレンズ駆動量を、レンズ制御部37を介してフォーカスレンズ駆動モータ36に送出する。そして、フォーカスレンズ駆動モータ36は、受信したレンズ駆動量に基づいて、フォーカスレンズ32を、合焦可能範囲のリミット位置まで駆動させる。これにより、たとえば、図2(B)に示す例において、デフォーカス量に基づく駆動目標位置が、至近側ソフトリミットSLNSよりも至近側のレンズ位置である場合でも、フォーカスレンズ32が至近側ソフトリミットSLNSに移動されることとなる。また、図2(C)に示す例において、デフォーカス量に基づく駆動目標位置が、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置である場合でも、フォーカスレンズ32が無限遠側ソフトリミットSLISに移動されることとなる。
続くステップS205では、フォーカスレンズ32をデフォーカス量に基づく駆動目標位置(合焦位置)まで駆動させることができなかったために、非合焦である旨の表示が行われる。非合焦表示は、たとえば、電子ビューファインダ26により行われる。
一方、ステップS201において、合焦可能範囲が制限されていないと判断された場合、または、ステップS202において、デフォーカス量に基づく駆動目標位置が合焦可能範囲内であると判断された場合には、ステップS206に進む。ステップS206では、カメラ制御部21により、位相差検出方式により算出されたデフォーカス量に基づいて、フォーカスレンズ32のレンズ駆動量の算出が行われ、続くステップS207では、算出したレンズ駆動量に基づいて、フォーカスレンズ32が駆動目標位置(合焦位置)まで駆動される。その後、ステップ208において、合焦表示が行われる。
以上のように、位相差検出方式により算出されたデフォーカス量に基づく、フォーカスレンズ32の駆動制御処理が行われる。このように、位相差検出方式により算出したデフォーカス量に基づいてフォーカスレンズ32を駆動させる場合には、図2(A)〜(C)に示す合焦可能範囲Rf1〜Rf3内において、フォーカスレンズ32が駆動するように、フォーカスレンズ32の駆動制御が行われる。すなわち、デフォーカス量に基づく駆動目標位置が、合焦可能範囲Rf1〜Rf3を超える場合には、カメラ本体2において、合焦可能範囲のリミット位置まで駆動させるために必要なレンズ駆動量が算出され、レンズ鏡筒3において、カメラ本体2で算出されたレンズ駆動量に基づいて、フォーカスレンズ32が、合焦可能範囲のリミット位置まで駆動される。これにより、フォーカスレンズ32が、合焦可能範囲Rf1〜Rf3を超えたレンズ位置まで駆動し、合焦可能範囲を超えたレンズ位置で合焦表示が行われてしまうことを有効に防止することができる。そして、図10に示すレンズ駆動制御処理が終了した後は、図9に示すステップS117に進む。
また、図9に示すステップS106において、位相差検出方式によりデフォーカス量が算出できないと判断された場合には、ステップS107に進む。ステップS107では、カメラ制御部21により、スキャン動作におけるフォーカスレンズ32の駆動可能範囲である、スキャン駆動範囲の算出が行われ、続くステップS108では、ステップS107で算出されたスキャン駆動範囲においてスキャン駆動を行うスキャン動作が開始される。
スキャン動作とは、フォーカスレンズ駆動モータ36により、フォーカスレンズ32を所定の駆動速度で駆動(スキャン駆動)させながら、カメラ制御部21により、位相差検出方式によるデフォーカス量の算出、および焦点評価値の算出を、所定の間隔で同時に行い、これにより、位相差検出方式による合焦位置の検出と、コントラスト検出方式による合焦位置の検出とを、所定の間隔で、同時に実行する動作である。
具体的には、カメラ制御部21は、レンズ制御部37にスキャン駆動開始指令を送出し、レンズ制御部37は、カメラ制御部21からの指令に基づき、フォーカスレンズ駆動モータ36を駆動させ、フォーカスレンズ32を光軸L1に沿ってスキャン駆動させる。なお、フォーカスレンズ32のスキャン駆動は、無限遠端から至近端に向かって行なってもよいし、あるいは、至近端から無限遠端に向かって行なってもよい。
そして、カメラ制御部21は、フォーカスレンズ32を駆動させながら、所定間隔で、撮像素子22の焦点検出画素222a,222bから一対の像に対応した一対の像データの読み出しを行い、これに基づき、位相差検出方式により、デフォーカス量の算出を行うとともに、フォーカスレンズ32を駆動させながら、所定間隔で、撮像素子22の撮像画素221から画素出力の読み出しを行い、これに基づき、焦点評価値を算出し、これにより、異なるフォーカスレンズ位置における焦点評価値を取得することで、コントラスト検出方式により合焦位置の検出を行う。
また、本実施形態では、スキャン駆動を行うために、ステップS107において、スキャン駆動範囲の算出が行われる。図11は、スキャン駆動範囲の一例を示す図である。図11(A)〜(C)に示すように、スキャン駆動範囲Rs1〜Rs3は、図2(A)〜(C)に示す合焦可能範囲Rf1〜Rf3を含み、かつ、合焦可能範囲Rf1〜Rf3よりも広い範囲として算出される。
ここで、スキャン動作は、上述したように、フォーカスレンズ32を駆動させながら、位相差検出方式によるデフォーカス量の算出と、コントラスト検出方式による焦点評価値の算出とを、所定の間隔で同時に行う動作である。そして、コントラスト検出方式により焦点評価値のピーク位置(合焦位置)を検出するためには、図8に示すように、ピーク位置を超えた位置(図8中、P2)までフォーカスレンズ32を駆動させて焦点評価値を算出する必要がある。そのため、たとえば、コントラスト検出方式により、無限遠端ソフトリミットSLIPで焦点評価値のピーク位置(合焦位置)を検出するためには、フォーカスレンズ32を無限遠端ソフトリミットSLIPよりも無限遠側まで駆動して焦点評価値を算出する必要がある。同様に、たとえば、スキャン動作において、コントラスト検出方式により、至近端ソフトリミットSLNPで焦点評価値のピーク位置(合焦位置)を検出するためには、フォーカスレンズ32を至近端ソフトリミットSLNPよりも至近側まで駆動して焦点評価値を算出する必要がある。
そこで、カメラ制御部21は、スキャン動作を行う場合に、フォーカスリミットモードが「FULLモード」である場合には、図11(A)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置から、至近端ソフトリミットSLNPよりも至近側のレンズ位置までの範囲を、スキャン駆動範囲Rs1として算出する。たとえば、本実施形態では、焦点評価値が2回上昇した後、さらに2回下降して推移した場合に、これらの焦点評価値を用いて焦点評価値のピークを算出しているため、カメラ制御部21は、無限遠端ソフトリミットSLIPよりも無限遠側において焦点評価値を2つ算出することが可能なレンズ位置から、至近端ソフトリミットSLNPよりも至近側において焦点評価値を2つ算出することが可能なレンズ位置までの範囲を、スキャン動作におけるスキャン駆動範囲Rs1として算出することができる。
また、カメラ制御部21は、スキャン動作を行う場合に、フォーカスリミットモードが「至近側制限モード」である場合には、図11(B)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置から、至近側ソフトリミットSLNSよりも至近側のレンズ位置までの範囲を、スキャン駆動範囲Rs2として算出する。同様に、カメラ制御部21は、フォーカスリミットモードが「無限遠側制限モード」である場合には、図11(C)に示すように、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置から、至近端ソフトリミットSLNPよりも至近側のレンズ位置までの範囲を、スキャン動作におけるスキャン駆動範囲Rs3として算出する。
そして、ステップS108では、図11(A)〜(C)に示すスキャン駆動範囲Rs1〜Rs3において、スキャン駆動を行うスキャン動作が行われる。このように、スキャン動作におけるスキャン駆動においては、図11(A)〜(C)に示すスキャン駆動範囲Rs1〜Rs3をフォーカスレンズ32の駆動可能範囲として、フォーカスレンズ32の駆動を制御することで、図2(A)〜(C)に示す合焦可能範囲のリミット位置に合焦位置が存在する場合でも、このような合焦位置を、コントラスト検出方式により検出することが可能となる。
そして、ステップS109では、カメラ制御部21により、スキャン動作を行なった結果、位相差検出方式によりデフォーカス量が算出できたか否かの判定が行なわれる。デフォーカス量が算出できた場合には、測距可能と判断して、ステップS112に進み、一方、デフォーカス量が算出できなかった場合には、測距不能と判断して、ステップS110に進む。なお、ステップS109においては、上述したステップS106と同様に、デフォーカス量の算出ができた場合でも、算出されたデフォーカス量の信頼性が低い場合には、デフォーカス量の算出ができなかったものとして扱い、ステップS110に進むこととする。
ステップS110では、カメラ制御部21により、スキャン動作を行なった結果、コントラスト検出方式により合焦位置の検出ができたか否かの判定が行なわれる。コントラスト検出方式により合焦位置の検出ができた場合には、ステップS113に進み、一方、合焦位置の検出ができなかった場合には、ステップS111に進む。
ステップS111では、カメラ制御部21により、ステップS107で算出されたスキャン駆動範囲の全域について、スキャン駆動が実行されたか否かの判断が行われる。スキャン駆動範囲の全域について、スキャン駆動が行なわれていない場合には、ステップS109に戻り、ステップS109〜S111を繰り返すことにより、スキャン動作、すなわち、フォーカスレンズ32をスキャン駆動させながら、位相差検出方式によるデフォーカス量の算出、およびコントラスト検出方式による合焦位置の検出を、所定の間隔で同時に実行する動作を継続して行なう。一方、スキャン駆動範囲の全域について、スキャン動作の実行を完了している場合には、ステップS114に進む。
そして、スキャン動作を実行した結果、ステップS109において、位相差検出方式により、デフォーカス量が算出できたと判定された場合には、スキャン動作を停止し、ステップS112に進み、上記と同様にして、位相差検出方式での結果に基づくフォーカスレンズ32の駆動制御が行われる。
すなわち、合焦可能範囲が制限されており、かつ、デフォーカス量に応じた駆動目標位置が合焦可能範囲を超えている場合には(ステップS201=Yes,S202=Yes)、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動するためのレンズ駆動量を算出し(ステップS203)、算出したレンズ駆動量に基づいて、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動し(ステップS204)、非合焦表示を行う(ステップS208)。一方、デフォーカス量に応じた駆動目標位置が合焦可能範囲内である場合(ステップS202=No)、あるいは、合焦可能範囲が制限されていない場合(ステップS201=No)には、デフォーカス量に応じたレンズ駆動量を算出し(ステップS206)、デフォーカス量に応じたレンズ駆動量に基づいてフォーカスレンズ32を駆動し(ステップS207)、合焦表示を行う(ステップS208)。
また、スキャン動作を実行した結果、ステップS110において、コントラスト検出方式により合焦位置が検出できたと判定された場合には、スキャン動作を停止し、ステップS113に進み、コントラスト検出方式による焦点検出結果に基づくフォーカスレンズ32の駆動制御が行われる。ここで、図12は、コントラスト検出方式による焦点検出結果に基づくレンズ駆動制御処理を示すフローチャートである。
図12に示すように、まず、ステップS301では、ステップS201と同様に、合焦可能範囲が制限されているか否かの判断が行われる。そして、合焦可能範囲が制限されている場合には、ステップS302に進み、一方、合焦可能範囲が制限されていない場合には、ステップS306に進む。
ステップS302では、コントラスト検出方式により検出された合焦位置が、合焦可能範囲を超えているか否かの判断が行われる。たとえば、スキャン動作において、図2(B)に示すように、「至近側制限モード」が設定されている場合において、フォーカスレンズ32を至近側ソフトリミットSLNSよりも至近側まで駆動して焦点評価値を算出した結果、焦点評価値のピーク位置(合焦位置)が、至近側ソフトリミットSLNSよりも至近側において検出された場合には、カメラ制御部21は、コントラスト検出方式により検出された合焦位置が合焦可能範囲Rf2を超えた位置であると判断し、ステップS303に進む。また、スキャン動作において、図2(C)に示すように、「無限遠側制限モード」が設定されている場合において、フォーカスレンズ32を無限遠側ソフトリミットSLISよりも無限遠側まで駆動して焦点評価値を算出した結果、焦点評価値のピーク位置(合焦位置)が無限遠側ソフトリミットSLISよりも無限遠側において検出された場合には、カメラ制御部21は、コントラスト検出方式により検出された合焦位置は合焦可能範囲Rf3を超えていると判断し、ステップS303に進む。
そして、ステップS303〜S305では、カメラ制御部21により、コントラスト検出方式により検出された合焦位置から近い合焦可能範囲のリミット位置まで、フォーカスレンズ32を駆動させるために必要なレンズ駆動量の算出が行われ(ステップS303)、算出したレンズ駆動量に基づいて、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動した後(ステップS304)、非合焦表示が行われる(ステップS305)。
これにより、たとえば、図2(B)に示す例において、コントラスト検出方式により算出された合焦位置が、至近側ソフトリミットSLNSよりも至近側のレンズ位置である場合でも、フォーカスレンズ32が至近側ソフトリミットSLNSに移動されることとなる。また、図2(C)に示す例において、コントラスト検出方式により算出された合焦位置が、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置である場合でも、フォーカスレンズ32が無限遠側ソフトリミットSLISに移動されることとなる。
一方、ステップS301において、合焦可能範囲が制限されていないと判断された場合、または、ステップS302において、コントラスト検出方式により検出された合焦位置が合焦可能範囲内であると判断された場合には、ステップS306に進む。ステップS306では、カメラ制御部21により、コントラスト検出方式により検出された合焦位置までのレンズ駆動量の算出が行われ、そして、続くステップS307では、カメラ制御部21により、ステップS306で算出したレンズ駆動量に基づいて、フォーカスレンズ32を合焦位置まで駆動する処理が行われる。その後、ステップS308において、合焦表示が行われる。
以上のように、コントラスト検出により検出された合焦位置に基づく、フォーカスレンズ32の駆動制御が行われる。このように、コントラスト検出方式により検出した合焦位置にフォーカスレンズ32を駆動させる合焦駆動では、図2(A)〜(C)に示す合焦可能範囲内においてフォーカスレンズ32が駆動するように、フォーカスレンズ32の駆動制御が行われる。すなわち、コントラスト検出方式により検出された合焦位置が合焦可能範囲を超える場合には、カメラ本体2において、フォーカスレンズ32を合焦可能範囲のリミット位置に駆動させるために必要なレンズ駆動量が算出され、レンズ鏡筒3において、カメラ本体2で算出されたレンズ駆動量に基づいて、フォーカスレンズ32を駆動させる。これにより、フォーカスレンズ32が合焦可能範囲を超えた位置まで駆動してしまうことや、合焦可能範囲を超えた位置で合焦表示が行われてしまうことを有効に防止することができる。そして、図12に示すレンズ駆動制御処理が終了した後は、図10に示すステップS117に進む。
また、ステップS111において、スキャン駆動範囲の全域について、スキャン動作の実行が完了していると判定された場合には、ステップS114に進む。ステップS114では、スキャン動作を行なった結果、位相差検出方式およびコントラスト検出方式のいずれの方式によっても、焦点検出を行うことができなかったため、スキャン動作の終了処理が行なわれ、ステップS115に進む。
ステップS115では、カメラ制御部21により、現在のフォーカスレンズ位置から近い合焦可能範囲のリミット位置まで、フォーカスレンズ32を移動する処理が行われる。そして、ステップS116では、合焦位置を検出できなかったため、合焦不能表示が行われる。
また、本実施形態では、焦点検出結果に基づく焦点調節が行われた後に、ステップS117に進み、ステップS117において、フォーカスリミット変更処理が行われる。図13は、ステップS117のフォーカスリミット変更処理を示すフローチャートである。
図13に示すように、まず、ステップS401では、カメラ制御部21により、フォーカスリミット情報の再取得が行われる。そして、ステップS402では、カメラ制御部21により、ステップS401で取得されたフォーカスリミット情報に基づいて、合焦可能範囲の再算出が行われる。
ステップS403では、カメラ制御部21により、ステップS402で新たに算出した合焦可能範囲と、直前の合焦可能範囲とが比較され、合焦可能範囲が変更されたか否かの判断が行われる。合焦可能範囲が変更された場合には、ステップS404に進み、一方、合焦可能範囲が変更されていない場合には、図13に示すフォーカスリミット変更処理を終了する。
ステップS404では、カメラ制御部21により、フォーカスレンズ32の駆動目標位置が、ステップS402で算出された変更後の合焦可能範囲内であるか否かの判断が行われる。たとえば、フォーカスレンズ32を合焦位置まで駆動させた後も、位相差検出方式によるデフォーカス量の算出を繰り返し行うことで、フォーカスレンズ32を、新たに算出したデフォーカス量に基づいて駆動させることができる。このような場合、フォーカスリミットモードが変更されることで、デフォーカス量に基づく駆動目標位置が、ステップS402で算出された変更後の合焦可能範囲の外側となる場合がある。フォーカスレンズ32の駆動目標位置が、新たに算出された合焦可能範囲の内側である場合には、ステップS405に進み、一方、フォーカスレンズ32の駆動目標位置が合焦可能範囲の外側である場合には、ステップS406に進む。なお、フォーカスレンズ32の駆動目標位置が算出されていない場合には、ステップS405に進むこととする。
ステップS405では、カメラ制御部21により、ステップS402で算出された、変更後の合焦可能範囲と、フォーカスレンズ32の現在位置とに基づいて、フォーカスレンズ32が変更後の合焦可能範囲の内側に位置しているか否かの判断が行われる。たとえば、撮影者によりフォーカスリミットスイッチ38を介して合焦可能範囲が変更された場合に、フォーカスレンズ32が変更後の合焦可能範囲の外側に位置してしまう場合がある。このような場合に、カメラ制御部21は、フォーカスレンズ32が合焦可能範囲の外側に位置していると判断することができる。そして、フォーカスレンズ32が合焦可能範囲の外側に位置している場合には、ステップS406に進み、一方、フォーカスレンズ32が合焦可能範囲の内側に位置している場合には、図13に示すフォーカスリミット変更処理を終了する。
ステップS406では、カメラ制御部21により、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動させるために必要なレンズ駆動量の算出が行われる。具体的には、カメラ制御部21は、ステップS402で算出された合焦可能範囲と、フォーカスレンズ32の現在位置とに基づいて、フォーカスレンズ32を、フォーカスレンズ32の現在位置から近い合焦可能範囲のリミット位置に駆動させるために必要なレンズ駆動量を算出する。
そして、ステップS407では、カメラ制御部21により、ステップS406で算出されたレンズ駆動量に基づいて、フォーカスレンズ32を、合焦可能範囲のリミット位置まで駆動させる処理が行われる。具体的には、カメラ制御部21は、ステップS406で算出したレンズ駆動量を、レンズ制御部37を介して、フォーカスレンズ駆動モータ36に送出する。そして、レンズ駆動モータ36は、カメラ制御部21により算出されたレンズ駆動量に基づいて、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動させる。
これにより、たとえば、図2(B)に示す「至近側制限モード」において、フォーカスレンズ32が無限遠側ソフトリミットSLISよりも無限遠側に位置している場合に、フォーカスリミットモードが「至近側制限モード」から「無限遠側制限モード」に変更され、合焦可能範囲が、図2(B)に示す合焦可能範囲Rf2から、図2(C)に示す合焦可能範囲Rf3に変更された場合には、フォーカスレンズ32は、「無限遠側制限モード」の合焦可能範囲のリミット位置である無限遠側ソフトリミットSLISまで移動され、非合焦表示が行われることとなる。
以上のように、本実施形態に係るカメラ1の動作が行われる。
このように、本実施形態では、カメラ本体2において、フォーカスリミット情報を、レンズ鏡筒3から取得し、取得したフォーカスリミット情報に基づいて、合焦可能範囲を算出する。そして、位相差検出方式によりデフォーカス量が算出できた場合には、デフォーカス量に応じた駆動目標位置が合焦可能範囲の内側であるか否かを判断し、デフォーカス量に応じた駆動目標位置が合焦可能範囲を超える場合には、カメラ本体2において、フォーカスレンズ32を合焦可能範囲のリミット位置に移動させるために必要なレンズ駆動量を算出する。そして、レンズ鏡筒3において、カメラ本体2で算出されたレンズ駆動量に基づいて、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動させることで、以下のような効果を奏することができる。
すなわち、従来では、カメラ本体2において、位相差検出方式によりデフォーカス量が算出できた場合には、デフォーカス量に応じた駆動目標位置に基づいてレンズ駆動量を算出し、算出したレンズ駆動量をレンズ鏡筒3に送信していた。そして、レンズ鏡筒3においては、フォーカスレンズ32が合焦可能範囲に到達したか否かを繰り返し判断し、フォーカスレンズ32が合焦可能範囲のリミット位置に到達した場合に、フォーカスレンズ32の駆動を停止していた。そのため、従来では、レンズ鏡筒3において、フォーカスレンズ32が合焦可能範囲を超えたか否かを判断するための処理負荷が増大してしまうとともに、判断のタイミングによっては、合焦可能範囲を超えた位置まで駆動してしまい、合焦可能範囲を超えた位置で、フォーカスレンズ32が停止し、合焦表示が行われてしまう場合があった。
これに対して、本実施形態では、デフォーカス量に基づく駆動目標位置が合焦可能範囲を超える場合には、カメラ本体2において、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動させるためのレンズ駆動量を算出し、レンズ鏡筒3において、レンズ駆動量に基づいてフォーカスレンズ32を駆動させる。これにより、レンズ鏡筒3においてフォーカスレンズ32が合焦可能範囲を超えるか否かを繰り返し判断する必要はなくなり、また、フォーカスレンズ32の駆動が合焦可能範囲内で適切に制限されるため、合焦可能範囲を超えたレンズ位置で合焦表示が行われることを有効に防止することができる。
同様に、本実施形態では、コントラスト検出方式により検出された合焦位置にフォーカスレンズ32を駆動させる場合において、フォーカスレンズ32の駆動目標位置(合焦位置)が合焦可能範囲を超える場合には、カメラ本体2において、フォーカスレンズ32を合焦可能範囲のリミット位置まで駆動させるために必要なレンズ駆動量を算出し、レンズ鏡筒3において、レンズ駆動量に基づいてフォーカスレンズ32を駆動させる。これにより、コントラスト検出方式により焦点検出を行う場合も、レンズ鏡筒3においてフォーカスレンズ32が合焦可能範囲を超えたか否かを繰り返し判断する必要がなくなり、また、フォーカスレンズ32が合焦可能範囲を超えてしまうことを有効に防止することができる。
特に、本実施形態では、位相差検出方式により算出したデフォーカス量に基づいてフォーカスレンズ32を駆動させるサーボ駆動、および、コントラスト検出方式により検出した合焦位置にフォーカスレンズ32を駆動させる合焦駆動を行う場合に、フォーカスレンズ32の駆動を合焦可能範囲内で制限することで、合焦可能範囲を超えたレンズ位置において、合焦判定が行われ、合焦表示が行われてしまうことを有効に防止することができる。
さらに、本実施形態では、スキャン動作を行う場合のスキャン駆動範囲を、合焦可能範囲を含み、かつ、合焦可能範囲よりも広い範囲で算出し、算出したスキャン駆動範囲において、スキャン動作を実行する。これにより、焦点評価値のピーク位置(合焦位置)が合焦可能範囲のリミット位置に存在する場合でも、当該合焦位置を適切に検出することが可能となる。すなわち、従来では、スキャン駆動など、コントラスト検出方式による焦点検出を行う場合においては、フォーカスレンズ32が合焦可能範囲のリミット位置に到達したか否かを繰り返し判断し、フォーカスレンズ32が合焦可能範囲のリミット位置に到達した場合に、フォーカスレンズ32の駆動を停止していたため、焦点評価値のピーク位置(合焦位置)が合焦可能範囲のリミット位置に存在する場合には、合焦位置を検出することができないという問題があった。これに対して、本実施形態では、焦点評価値のピーク位置(合焦位置)が合焦可能範囲のリミット位置に存在する場合でも、合焦可能範囲のリミット位置を超えて焦点評価値の算出が行われるため、合焦位置を適切に検出することが可能となる。
また、本実施形態では、フォーカスリミット情報をレンズ鏡筒3からカメラ本体2に送信することで、カメラ本体2において、フォーカスレンズ32の駆動目標位置が合焦可能範囲を超えるか否かを判断することができ、カメラ本体2において、被写体に合焦できるか否かを判断することができる。そのため、本実施形態では、カメラ本体2において、合焦表示および非合焦表示の判断を適切に行うことができ、合焦可能範囲の外側に合焦位置が存在する場合に合焦表示が行われることを有効に防止することができる。
さらに、本実施形態では、フォーカスリミットスイッチ38を介して撮影者により合焦可能範囲が変更された場合において、フォーカスレンズ32の駆動目標位置が変更後の合焦可能範囲の外側である場合、あるいは、フォーカスレンズ32が変更後の合焦可能範囲の外側に位置している場合には、フォーカスレンズ32を変更後の合焦可能範囲のリミット位置まで移動させて、非合焦表示が行われる。これにより、合焦可能範囲が変更された場合に、フォーカスレンズ32が変更後の合焦可能範囲の外側に位置したままとなることや、変更後の合焦可能範囲の外側で合焦表示が行われることを有効に防止することができる。
なお、以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
たとえば、上述した実施形態では、スキャン動作において「FULLモード」が設定されている場合には、図11(A)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置から、至近端ソフトリミットSLNPよりも至近側のレンズ位置までの範囲を、スキャン駆動範囲Rs1として設定する構成を例示したが、この構成に限定されず、たとえば、図14(A)に示すように、無限遠端ソフトリミットSLIPから至近端ソフトリミットSLN‘までの範囲を、スキャン駆動範囲Rs1として設定する構成としてもよい。なお、図14は、スキャン駆動範囲の他の例を示す図である。
同様に、スキャン動作において「至近側制限モード」が設定されている場合には、図11(B)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置から、至近側ソフトリミットSLNSよりも至近側のレンズ位置までの範囲を、スキャン駆動範囲Rs2として算出する構成を例示したが、この構成に限定されず、たとえば、図14(B)に示すように、無限遠端ソフトリミットSLIPから、至近側ソフトリミットSLNSよりも至近側のレンズ位置までの範囲を、スキャン駆動範囲Rs2として算出する構成としてもよい。また、スキャン動作において「無限遠側制限モード」が設定されている場合には、図14(C)に示すように、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置から、至近端ソフトリミットSLNPまでの範囲を、スキャン駆動範囲Rs3として算出する構成としてもよい。
また、上述した実施形態では、位相差検出方式により算出されたデフォーカス量に基づいてフォーカスレンズ32を駆動させるサーボ駆動(ステップS112)、スキャン動作におけるスキャン駆動(ステップS108〜S111)、および、コントラスト検出方式により検出された合焦位置に基づいてフォーカスレンズ32を駆動させる合焦駆動(ステップS113)における、フォーカスレンズ32の駆動制御を例示して説明したが、この構成に加えて、たとえば、図8に示すように、フォーカスレンズ32を駆動させながら焦点評価値を算出するサーチ駆動、および、フォーカスレンズ32を所定のサーチ開始位置まで駆動する初期駆動において、スキャン動作におけるスキャン駆動と同様に、図11(A)〜(C)に示すスキャン駆動範囲内で、フォーカスレンズ32の駆動を制限する構成としてもよい。
また、たとえば、動体被写体を撮影する場合など、被写体の移動により光学系の焦点状態が変化する場合に、焦点状態の変化に応じてフォーカスレンズ32を駆動させる場合において、上述した実施形態に係るフォーカスレンズ32の駆動制御を行う構成としてもよい。
なお、上述した実施形態のカメラ1は特に限定されず、例えば、デジタルビデオカメラ、レンズ一体型のデジタルカメラ、携帯電話用のカメラなどのその他の光学機器に本発明を適用してもよい。