以下、本発明の実施形態を図面に基づいて説明する。
≪第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は、フォーカスレンズ32の現在位置と、フォーカスレンズ32の駆動範囲の端部の位置とを検出し、検出した位置情報をレンズ情報としてカメラ制御部21に送信する。ここで、図2は、フォーカスレンズ32の駆動範囲を説明するための図である。本実施形態においては、フォーカスレンズ32の駆動範囲として、図2に示すように、駆動制御範囲、ソフトリミット範囲、および、ハードリミット範囲の異なる3種類の範囲が設けられている。駆動制御範囲は、レンズ鏡筒3の種別ごとに予め設定される範囲であり、ユーザにレンズ鏡筒3の撮影距離を保証する範囲である。すなわち、駆動制御範囲は、無限遠に存在する被写体に合焦可能なフォーカスレンズ32のレンズ位置である無限遠端位置から、レンズ鏡筒3が保証する最短撮影距離に存在する被写体に合焦可能なフォーカスレンズ32のレンズ位置である至近端位置までの範囲である。また、ハードリミット範囲は、レンズ鏡筒3においてフォーカスレンズ32の駆動が機械的・物理的に制限される範囲であり、レンズ鏡筒3の構造上、フォーカスレンズ32は無限遠側可動限界位置から無限遠側、および、至近側可動限界位置から至近側に駆動することはできない。また、ソフトリミット範囲は、フォーカスレンズ32を至近側可動限界位置または無限遠側可動限界位置まで駆動させた場合に、レンズ鏡筒3が機械的・物理的に故障してしまうことを防止するために、フォーカスレンズ32の駆動を制限する範囲であり、具体的には、オーバー至近端位置からオーバー無限遠端位置までの範囲である。レンズ制御部21は、これらの範囲の位置情報と、フォーカスレンズ32の現在位置とを含むレンズ情報を、カメラ制御部21に送信する。
一方、カメラ本体2には、上記撮影光学系からの光束L1を受光する撮像素子22が、撮影光学系の予定焦点面に設けられ、その前面にシャッター23が設けられている。撮像素子22はCCDやCMOSなどのデバイスから構成され、受光した光信号を電気信号に変換してカメラ制御部21に送出する。カメラ制御部21に送出された撮影画像情報は、逐次、液晶駆動回路25に送出されて観察光学系の電子ビューファインダ(EVF)26に表示されるとともに、操作部28に備えられたレリーズボタン(不図示)が全押しされた場合には、その撮影画像情報が、記録媒体であるカメラメモリ24に記録される。なお、カメラメモリ24は着脱可能なカード型メモリや内蔵型メモリの何れをも用いることができる。撮像素子22の構造の詳細は後述する。
カメラ本体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について説明する。
図3は、撮像素子22の撮像面を示す正面図、図4は、図3のIV部分を拡大して焦点検出画素222a,222bの配列を模式的に示す正面図である。
本実施形態の撮像素子22は、図4に示すように、複数の撮像画素221が、撮像面の平面上に二次元的に配列され、緑色の波長領域を透過するカラーフィルタを有する緑画素Gと、赤色の波長領域を透過するカラーフィルタを有する赤画素Rと、青色の波長領域を透過するカラーフィルタを有する青画素Bがいわゆるベイヤー配列(Bayer Arrangement)されたものである。すなわち、隣接する4つの画素群223(稠密正方格子配列)において一方の対角線上に2つの緑画素が配列され、他方の対角線上に赤画素と青画素が1つずつ配列されている。このベイヤー配列された画素群223を単位として、当該画素群223を撮像素子22の撮像面に二次元状に繰り返し配列することで撮像素子22が構成されている。
なお、単位画素群223の配列は、図示する稠密正方格子以外にも、たとえば稠密六方格子配列にすることもできる。また、カラーフィルタの構成や配列はこれに限定されることはなく、補色フィルタ(緑:G、イエロー:Ye、マゼンタ:Mg,シアン:Cy)の配列を採用することもできる。
図5(A)は、撮像画素221の一つを拡大して示す正面図、図5(D)は断面図である。一つの撮像画素221は、マイクロレンズ2211と、光電変換部2212と、図示しないカラーフィルタから構成され、図5(D)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2212が造り込まれ、その表面にマイクロレンズ2211が形成されている。光電変換部2212は、マイクロレンズ2211により撮影光学系の射出瞳(たとえばF1.0)を通過する撮像光束を受光する形状とされ、撮像光束を受光する。
また、撮像素子22の撮像面の中心、ならびに中心から左右対称位置の3箇所には、上述した撮像画素221に代えて焦点検出画素222a,222bが配列された焦点検出画素列22a,22b,22cが設けられている。そして、図4に示すように、一つの焦点検出画素列は、複数の焦点検出画素222aおよび222bが、互いに隣接して交互に、横一列(22a,22c,22c)に配列されて構成されている。本実施形態においては、焦点検出画素222aおよび222bは、ベイヤー配列された撮像画素221の緑画素Gと青画素Bとの位置にギャップを設けることなく密に配列されている。
なお、図3に示す焦点検出画素列22a〜22cの位置は図示する位置にのみ限定されず、何れか一箇所、二箇所にすることもでき、また、四箇所以上の位置に配置することもできる。また、実際の焦点検出に際しては、複数配置された焦点検出画素列22a〜22cの中から、
撮影者が操作部28を手動操作することにより所望の焦点検出画素列を、焦点検出エリアとして選択することもできる。
図5(B)は、焦点検出画素222aの一つを拡大して示す正面図、図5(E)は、焦点検出画素222aの断面図である。また、図5(C)は、焦点検出画素222bの一つを拡大して示す正面図、図5(F)は、焦点検出画素222bの断面図である。焦点検出画素222aは、図5(B)に示すように、マイクロレンズ2221aと、半円形状の光電変換部2222aとから構成され、図5(E)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2222aが造り込まれ、その表面にマイクロレンズ2221aが形成されている。また、焦点検出画素222bは、図5(C)に示すように、マイクロレンズ2221bと、光電変換部2222bとから構成され、図5(F)の断面図に示すように、撮像素子22の半導体回路基板2213の表面に光電変換部2222bが造り込まれ、その表面にマイクロレンズ2221bが形成されている。そして、これら焦点検出画素222aおよび222bは、図4に示すように、互いに隣接して交互に、横一列に配列されることにより、図3に示す焦点検出画素列22a〜22cを構成する。
ここで、各焦点検出画素222a,222bは、図6に示すように、その構造上、撮像画素221と略同一のサイズとする必要があるため、撮像画素221と略同一のサイズ、すなわち、縦幅L1および横幅L2がともに、通常、10μm以下程度の大きさに設定される。一方、従来の位相差検出モジュールに備えられるラインセンサ(位相差検出専用のセンサ)においては、図7に示すように、そのサイズに特に制約がないため、ラインセンサ50の各画素50aの大きさは、通常、縦幅L3が数百μm程度、横幅L4が数十μm〜数百μm程度の大きさに設定されている。すなわち、従来のラインセンサ50の各画素50aの大きさは、数百μm×数十μm〜数百μmであるのに対し、焦点検出画素222a,222bは、10μm四方以下のサイズに設定されている。なお、図6は、焦点検出画素222a,222bの画素の大きさを説明するための図であり、図7は、従来の位相差検出モジュールに備えられているラインセンサを構成する各画素の大きさを説明するための図である。
なお、焦点検出画素222a,222bの光電変換部2222a,2222bは、マイクロレンズ2221a,2221bにより撮影光学系の射出瞳の所定の領域(たとえばF2.8)を通過する光束を受光するような形状とされる。また、焦点検出画素222a,222bにはカラーフィルタは設けられておらず、その分光特性は、光電変換を行うフォトダイオードの分光特性と、図示しない赤外カットフィルタの分光特性を総合したものとなっている。ただし、撮像画素221と同じカラーフィルタのうちの一つ、たとえば緑フィルタを備えるように構成することもできる。
また、図5(B)、図5(C)に示す焦点検出画素222a,222bの光電変換部2222a,2222bは半円形状としたが、光電変換部2222a,2222bの形状はこれに限定されず、他の形状、たとえば、楕円形状、矩形状、多角形状とすることもできる。
ここで、上述した焦点検出画素222a,222bの画素出力に基づいて撮影光学系の焦点状態を検出する、いわゆる位相差検出方式について説明する。
図8は、図4のVIII-VIII線に沿う断面図であり、撮影光軸L1近傍に配置され、互いに隣接する焦点検出画素222a−1,222b−1,222a−2,222b−2が、射出瞳350の測距瞳351,352から照射される光束AB1−1,AB2−1,AB1−2,AB2−2をそれぞれ受光していることを示している。なお、図8においては、複数の焦点検出画素222a,222bのうち、撮影光軸L1近傍に位置するもののみを例示して示したが、図8に示す焦点検出画素以外のその他の焦点検出画素についても、同様に、一対の測距瞳351,352から照射される光束をそれぞれ受光するように構成されている。
ここで、射出瞳350とは、撮影光学系の予定焦点面に配置された焦点検出画素222a,222bのマイクロレンズ2221a,2221bの前方の距離Dの位置に設定された像である。距離Dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部との距離などに応じて一義的に決まる値であって、この距離Dを測距瞳距離と称する。また、測距瞳351,352とは、焦点検出画素222a,222bのマイクロレンズ2221a,2221bにより、それぞれ投影された光電変換部2222a,2222bの像をいう。
なお、図8において焦点検出画素222a−1,222b−1,222a−2,222b−2の配列方向は一対の測距瞳351,352の並び方向と一致している。
また、図8に示すように、焦点検出画素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)が一致するように、各焦点検出画素におけるマイクロレンズと光電変換部の相対的位置関係が定められ、それにより各焦点検出画素における光電変換部の投影方向が決定されている。
図8に示すように、焦点検出画素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を、図4に示すように直線状に複数配置し、各焦点検出画素222a,222bの光電変換部2222a,2222bの出力を、測距瞳351と測距瞳352とのそれぞれに対応した出力グループにまとめることにより、測距瞳351と測距瞳352とのそれぞれを通過する焦点検出光束が焦点検出画素列上に形成する一対の像の強度分布に関するデータが得られる。そして、この強度分布データ(画素列データともいう)に対し、相関演算処理または位相差検出処理などの像ズレ検出演算処理を施すことにより、いわゆる位相差検出方式による像ズレ量を検出する。
そして、得られた像ズレ量に一対の測距瞳の重心間隔に応じた変換演算を施すことにより、予定焦点面に対する現在の焦点面(予定焦点面上のマイクロレンズアレイの位置に対応した焦点検出エリアにおける焦点面をいう。)の偏差、すなわちデフォーカス量を求めることができる。
なお、これら位相差検出方式による像ズレ量の演算と、これに基づくデフォーカス量の演算は、カメラ制御部21により実行される。また、本実施形態において、カメラ制御部21は、位相差検出方式による像ズレ量の演算する際に、レンズ制御部37からレンズ情報を取得し、フォーカスレンズ32の現在の位置情報と、フォーカスレンズ32の駆動範囲の位置情報とに基づいて、像ズレ量を演算する。なお、位相差検出方式による像ズレ量の演算方法の詳細は後述する。
また、カメラ制御部21は、撮像素子22の撮像画素221の出力を読み出し、読み出した画素出力に基づき、焦点評価値の演算を行う。この焦点評価値は、たとえば撮像素子22の撮像画素221からの画像出力の高周波成分を、高周波透過フィルタを用いて抽出することで求めることができる。また、遮断周波数が異なる2つの高周波透過フィルタを用いて高周波成分を抽出することでも求めることができる。
そして、カメラ制御部21は、レンズ制御部37に制御信号を送出してフォーカスレンズ32を所定のサンプリング間隔(距離)で駆動させ、それぞれの位置における焦点評価値を求め、該焦点評価値が最大となるフォーカスレンズ32の位置を合焦位置として求める、コントラスト検出方式による焦点検出を実行する。なお、この合焦位置は、たとえば、フォーカスレンズ32を駆動させながら焦点評価値を算出した場合に、焦点評価値が、2回上昇した後、さらに、2回下降して推移した場合に、これらの焦点評価値を用いて、内挿法などの演算を行うことで求めることができる。
次いで、本実施形態に係るカメラ1の動作例を説明する。図9は、本実施形態に係るカメラ1の動作を示すフローチャートである。なお、以下の処理は、カメラ1の電源がONされることにより開始される。
まず、ステップS101では、カメラ制御部21により、操作部28に備えられたシャッターレリーズボタンの半押し(第1スイッチSW1のオン)がされたかどうかの判断が行なわれる。シャッターレリーズボタンが半押しされた場合は、ステップS102に進み、一方、シャッターレリーズボタンが半押しされていない場合は、ステップS101で待機する。
ステップS102では、カメラ制御部21により、レンズ制御部37から、レンズ情報の取得が行われる。具体的には、カメラ制御部21は、図2に示すように、フォーカスレンズ32の現在位置や、フォーカスレンズ32の駆動範囲を含むレンズ情報を取得する。
そして、ステップS103では、カメラ制御部21により、ステップS102で取得したレンズ情報に基づいて、一対の画素列データのシフト範囲の設定が行われる。ここで、後述するステップS105の相関演算では、一対の画素列データをシフトさせながら、一対の画素列データの相関量を算出する相関演算が行われる。このステップS103で設定されるシフト範囲は、ステップS105の相関演算を行う際に、一対の画素列データをシフトさせることができる範囲となる。
具体的には、カメラ制御部21は、まず、下記式(1)に示すように、ソフトリミット範囲のオーバー無限遠端位置PI1と、フォーカスレンズ32の現在位置Pとの差に、像面変化係数r(フォーカスレンズ32の駆動による像面変化量/フォーカスレンズ32の実際の駆動量)を乗じることで、フォーカスレンズ32を現在位置からオーバー無限遠端位置PI1まで駆動させた場合の像面変化量(デフォーカス量)を、無限遠側像面変化量D1として算出する。
(PI1−P)×r=D1 ・・・(1)
なお、本実施形態において、カメラ制御部21は、オーバー無限遠端位置PI1とフォーカスレンズ32の現在位置Pとの差(PI1−P)を、フォーカスレンズ32を現在位置Pからオーバー無限遠端位置PI1まで駆動させるために必要なパルス数で算出することができる。またこの場合、像面変換係数rを、1パルス当たりの像面変化量として予め記憶することができる。
さらに、カメラ制御部21は、下記式(2)に示すように、算出した無限遠側像面変化量D1と、一対の画素列データのシフト量を像面変化量(デフォーカス量)に変換するための変換係数kとに基づいて、フォーカスレンズ32を現在位置からオーバー無限遠端位置まで駆動させた場合の像面変化量に対応する画素列データのシフト量Sft1を算出する。
D1/k=Sft1 ・・・(2)
なお、画素列データのシフト量に対する像面変化量の大きさは絞り34の開口径に応じて変化するため、変換係数kを、絞り34の開口径に応じて設定することが好適である。たとえば、絞り値がF5.6である場合には、変換係数kを、絞り値がF2.8の場合の変化係数の1/2の大きさに設定することができる。また、変換係数kとして、特定の絞り値(たとえばF2.8)に対応する値を予め設定しておき、変換係数kを用いて算出したシフト量を、絞り値に応じて補正する構成としてもよい。
さらに、カメラ制御部21は、下記式(3)に示すように、算出したシフト量Sft1に、所定の検出マージンΔSを加えたシフト量を、画素列データのシフト範囲の無限遠側シフト量Sr1として算出する。
Sft1+ΔS=Sr1 ・・・(3)
ここで、後述するように、光学系の焦点状態を検出する場合、一対の画素列データの相関量が極小となるシフト量を求め、該シフト量に基づいて像面のずれ量を検出することとなるが、相関量が極小となっているか否かを判断するためには、相関量が極小となるシフト量の前後のシフト量において、相関量が極小となるシフト量よりも、相関量が大きいことを検出する必要がある。そのため、オーバー無限遠端位置に対応するシフト量Sft1において相関量が極小となる場合に、オーバー無限遠端位置に対応するシフト量Sft1において相関量が極小となっていると判断するためには、オーバー無限遠位置に対応するシフト量Sft1よりも大きいシフト量まで、一対の画素間データをシフトさせる必要があり、そのため、カメラ制御部21は、オーバー無限遠位置に対応するシフト量Sft1よりも検出マージンΔSだけ大きい無限遠側シフト量Sr1を算出する。
同様に、カメラ制御部21は、ソフトリミット範囲のオーバー至近端位置PI2と、フォーカスレンズ32の現在位置Pとに基づいて、至近側像面変化量D2を算出し、算出した至近側像面変化量D2に基づいて、オーバー至近端位置PI2に対応する画素列データのシフト量Sft2を算出し、算出したシフト量Sft2に検出マージンΔSを加えた至近側シフト量Sr2を算出する。そして、カメラ制御部21は、無限遠側シフト量Sr1および至近側シフト量Sr2が得られるシフト量の範囲を、シフト範囲として設定する。
ここで、図10は、第1実施形態に係るシフト範囲を説明するための図である。カメラ制御部21は、上記式(1)〜(3)に基づいて、フォーカスレンズ32の現在位置とオーバー無限遠端位置との距離(レンズ駆動量)を像面変化量に変換し、像面変化量をシフト量に変換することで、図10に示すように、オーバー無限遠端位置に対応するシフト量Sft1を算出する。同様に、カメラ制御部21は、フォーカスレンズ32の現在位置とオーバー至近端位置との距離(レンズ駆動量)を像面変化量に変換し、像面変化量をシフト量に変換することで、図10に示すように、オーバー至近端位置に対応するシフト量Sft2を算出する。さらに、カメラ制御部21は、図10に示すように、オーバー無限遠端位置に対応するシフト量Sft1に検出マージンΔSを加えたシフト量を無限遠側シフト量Sr1として算出するとともに、オーバー至近端位置に対応するシフト量Sft2に検出マージンΔSを加えたシフト量を至近側シフト量Sr2として算出する。そして、カメラ制御部21は、図10に示すように、無限遠側シフト量Sr1と至近側シフト量Sr2とが得られる範囲を、シフト範囲として設定する。
次いで、ステップS104では、カメラ制御部21により、焦点検出画素222a,222bにより出力された一対の画素列データの取得が行われる。ここで、焦点検出画素222a,222bは、図8に示すように、一対の測距瞳351,352の並び方向に配列されているため、各焦点検出画素列22a〜22cにおいて、測距瞳351に対応する複数の焦点検出画素222a(222a−1,222a−2,・・・)の出力からなる画素列データAと、測距瞳352に対応する複数の焦点検出画素222b(222b−1,222b−2,・・・)の出力からなる画素列データBとを出力する。カメラ制御部21は、焦点検出画素222a,222bから、このように出力された画素列データAおよび画素列データBを取得する。
そして、ステップS105では、カメラ制御部21により、ステップS103で設定したシフト範囲内において、一対の画素列データの相関演算が行われる。具体的には、カメラ制御部21は、下記式(4)に示すように、ステップS104で取得した一対の画素列データAおよび画素列データBを互いにシフトさせながら、画素列データAと画素列データBとの相関量C(k)を算出する。
C(k)=Σ|a(n+i)−b(n)| …(4)
なお、上記式(4)において、Σ演算はnについての累積演算(相和演算)を示し、iは整数であり、焦点検出画素222aからなる画素列の画素間隔、または焦点検出画素222bからなる画素列の画素間隔を単位としたシフト量である。なお、上記式(4)の演算結果において、一対の画素列データの相関が高いシフト量において、相関量C(k)は極小(相関度が極大)になる。
また、本実施形態では、上記式(4)に基づいて相関演算を行う際に、ステップS103で設定されたシフト範囲内で一対の画素列データをシフトさせながら、一対の画素列データの相関演算を行う。ここで、シフト範囲内で得られたシフト量に基づいてデフォーカス量を算出した場合、算出したデフォーカス量が示すフォーカスレンズ32の駆動位置は、オーバー無限遠端位置からオーバー至近端位置までの範囲内となるが、シフト範囲を超えて得られたシフト量に基づいてデフォーカス量を算出した場合、算出したデフォーカス量が示すフォーカスレンズ32の駆動位置は、オーバー無限遠端位置よりも無限遠側、または、オーバー至近端位置よりも至近側の位置となる。一方、フォーカスレンズ32をオーバー無限遠端位置よりも無限遠側に駆動させることはできず、同様に、フォーカスレンズ32をオーバー至近端位置よりも至近側に駆動させることができないため、たとえ一対の画素列データをシフト範囲を超えてシフトさせて一対の画素列データの相関量を演算しても、演算結果に基づいてフォーカスレンズ32を駆動させることはできない。そのため、一対の画素列データをシフト範囲を超えてシフトさせる必要はなく、むしろ、シフト範囲を越えて一対の画素列データをシフトさせて相関演算を行うことにより、相関演算の演算時間が長くなったり、ノイズによる誤検出が生じる可能性が高くなってしまう。本実施形態では、ステップS103で設定されたシフト範囲内で一対の画素列データの相関演算を行うことで、相関演算の演算時間の短縮や、ノイズによる誤検出の抑制を図ることができる。
そして、カメラ制御部21は、算出した相関量C(k)に基づいて、相関量の極小値を算出する。本実施形態では、たとえば、以下の下記式(5)〜(8)に示す3点内挿の手法を用いて、連続的な相関量に対する極小値C(x)と、極小値C(x)を与えるシフト量xを算出することができる。なお、下記式に示すC(kj)は、上記式(4)で得られた相関量C(k)のうち、C(k−1)≧C(k)およびC(k+1)>C(k)の条件を満たす値である。
D={C(kj−1)−C(kj+1)}/2 …(5)
C(x)= C(kj)−|D| …(6)
x=kj+D/SLOP …(7)
SLOP=MAX{C(kj+1)−C(kj),C(kj−1)−C(kj)} …(8)
ステップS106では、カメラ制御部21により、ステップS105で算出されたシフト量x(相関量の極小値を与えるシフト量x)と、シフト量xを像面変化量(デフォーカス量)に変換するための変換係数kとに基づいて、デフォーカス量の算出が行われる。たとえば、カメラ制御部21は、下記式(9)に基づいて、デフォーカス量dfを算出することができる。
df=k・x …(9)
なお、上記式(9)に示す変換係数kは、上記式(2)に示す変換係数kと同じ係数となる。
そして、続くステップS107では、カメラ制御部21により、デフォーカス量が算出できたか否かの判断が行われる。デフォーカス量を算出できた場合には、測距可能と判断して、ステップS108に進む。一方、デフォーカス量を算出できなかった場合には、測距不能と判断して、ステップS110に進む。なお、カメラ制御部21は、算出したデフォーカス量の信頼性の評価を行い、デフォーカス量の算出ができた場合でも、算出されたデフォーカス量の信頼性が低い場合にも、デフォーカス量の算出ができなかったものとして扱い、ステップS110に進むこととする。カメラ制御部21は、たとえば、被写体のコントラストが低い場合、被写体が超低輝度被写体である場合、あるいは被写体が超高輝度被写体である場合などにおいて、デフォーカス量の信頼性が低いと判断することができる。
ステップS108では、カメラ制御部21により、ステップS105で算出したデフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端位置よりも無限遠側、または、至近端位置よりも至近側の位置となるか否かの判断が行われる。ここで、図2に示す無限遠端位置は、フォーカスレンズ32のレンズ位置がこの無限遠端位置である場合に、無限遠に存在する被写体に合焦可能なレンズ位置である。一方、被写体は無限遠よりも無限遠側に存在することはないため、デフォーカス量が示すフォーカスレンズ32の駆動位置が無限遠端よりも無限遠側の位置である場合には、画素列データに生じたノイズなどによる合焦位置の誤検出の可能性があり、デフォーカス量が示すフォーカスレンズ32の駆動位置までフォーカスレンズ32を駆動させた場合に、ピントがぼけてしまう場合がある。また、図2に示す至近端位置は、フォーカスレンズ32のレンズ位置がこの至近端位置である場合に、レンズ鏡筒3の最短撮影距離に存在する被写体に合焦可能なレンズ位置であるため、デフォーカス量が示すフォーカスレンズ32の駆動位置が至近端よりも至近側の位置である場合には、同様に、画素列データに生じたノイズなどによる合焦位置の誤検出の可能性があり、デフォーカス量が示すフォーカスレンズ32の駆動位置までフォーカスレンズ322を駆動させた場合に、ピントがぼけてしまう場合がある。そこで、本実施形態では、フォーカスレンズ32が無限遠端位置よりも無限遠側の位置、または、至近端位置よりも至近側の位置まで駆動することを防止するために、デフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端位置よりも無限遠側、または、至近端位置よりも至近側の位置となるか否かの判断を行う。そして、デフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端位置よりも無限遠側である場合、または、至近端位置よりも至近側の位置である場合には、合焦位置の誤検出によりピントがぼけてしまうことを防止するために、フォーカスレンズ32を駆動させることなく、カメラ1の動作を終了する。一方、デフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端位置よりも無限遠側の位置ではなく、かつ、至近端位置よりも至近側の位置でない場合には、ステップS109に進む。
ステップS109では、デフォーカス量に基づく合焦駆動が行なわれる。具体的には、カメラ制御部21により、ステップS105で算出したデフォーカス量から、フォーカスレンズ32を合焦位置まで駆動させるために必要となるレンズ駆動量の算出が行なわれ、算出されたレンズ駆動量が、レンズ制御部37を介して、レンズ駆動モータ36に送出される。そして、レンズ駆動モータ36は、カメラ制御部21により算出されたレンズ駆動量に基づいて、フォーカスレンズ32を合焦位置まで駆動させる。
一方、ステップS107で、デフォーカス量を算出できなかった場合には、ステップS110に進み、スキャン動作が実行される。ここで、スキャン動作とは、フォーカスレンズ駆動モータ36により、所定のスキャン範囲においてフォーカスレンズ32をスキャン駆動させながら、カメラ制御部21により、位相差検出方式によるデフォーカス量の算出、および焦点評価値の算出を、所定の間隔で同時に行い、これにより、位相差検出方式による合焦位置の検出と、コントラスト検出方式による合焦位置の検出とを、所定の間隔で、同時に実行する動作である。
具体的には、カメラ制御部21は、レンズ制御部37にスキャン駆動開始指令を送出し、レンズ制御部37は、カメラ制御部21からの指令に基づき、フォーカスレンズ駆動モータ36を駆動させ、フォーカスレンズ32を光軸L1に沿ってスキャン駆動させる。なお、スキャン駆動を行う方向は特に限定されず、フォーカスレンズ32のスキャン駆動を、無限端から至近端に向かって行なってもよいし、あるいは、至近端から無限端に向かって行なってもよい。
そして、カメラ制御部21は、フォーカスレンズ32を駆動させながら、所定間隔で、撮像素子22の焦点検出画素222a,222bから一対の像に対応した一対の画素列データの読み出しを行い、これに基づき、位相差検出方式により、デフォーカス量の算出および算出されたデフォーカス量の信頼性の評価を行うとともに、フォーカスレンズ32を駆動させながら、所定間隔で、撮像素子22の撮像画素221から画素出力の読み出しを行い、これに基づき、焦点評価値を算出し、これにより、異なるフォーカスレンズ位置における焦点評価値を取得することで、コントラスト検出方式により合焦位置の検出を行う。
ステップS111では、カメラ制御部21により、ステップS110のスキャン動作を行なった結果、合焦位置が検出できたか否かの判断が行われる。合焦位置が検出できた場合は、ステップS112に進み、合焦位置までフォーカスレンズ32の合焦駆動が行われる。一方、フォーカスレンズ32の駆動範囲の全域について、スキャン駆動しても合焦位置を検出できなかった場合には、合焦不能と判断して、このカメラ1の動作を終了する。
以上のように、第1実施形態においては、位相差により光学系の焦点状態を検出する際に、図2に示すように、フォーカスレンズ32の現在位置と、ソフトリミット範囲のオーバー無限遠端位置およびオーバー至近端位置との位置関係に基づいて、一対の画素列データをシフトさせるシフト範囲を設定する。そして、設定シフト範囲内において一対の画素列データをシフトさせて一対の画素列データの相関演算を行うことで、一対の画素列データをシフト可能な全範囲でシフトさせて一対の画素列データの相関演算を行う場合と比べて、一対の画素列データの相関演算を行う演算量を少なくすることができ、その結果、相関演算における演算時間を短縮することができるとともに、一対の画素列データに生じたノイズなどによる合焦位置の誤検出を抑制することができる。
特に、本実施形態では、図6および図7に示すように、撮像素子22の受光面に焦点検出画素222a,222bを備えており、各焦点検出画素222a,222bは、従来のラインセンサ50と比べて、画素の数が多いため、一対の画素列データのデータ容量は大きくなる。このような場合でも、本実施形態では、一対の画素列データをシフトさせるシフト範囲を設定し、該シフト範囲で一対の画素列データの相関演算を行うことで、一対の画素列データの相関演算を行う演算量を少なくすることができ、光学系の焦点状態に要する時間を短縮することができる。
また、本実施形態では、デフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端位置よりも無限遠側、または、至近端位置よりも至近側の位置となる場合には、フォーカスレンズ32を駆動させないように制御を行う。ここで、図2に示す無限遠端位置は、フォーカスレンズ32のレンズ位置がこの無限遠端位置である場合に、無限遠に存在する被写体に合焦可能なレンズ位置である一方、被写体は無限遠よりも無限遠側に存在することはないため、デフォーカス量が示すフォーカスレンズ32の駆動位置が無限遠端よりも無限遠側の位置である場合には、画素列データに生じたノイズなどによる合焦位置の誤検出の可能性があり、デフォーカス量が示すフォーカスレンズ32の駆動位置までフォーカスレンズ32を駆動させた場合に、ピントがぼけてしまう場合がある。また、デフォーカス量が示すフォーカスレンズ32の駆動位置が至近端よりも至近側の位置である場合も同様である。これに対して、本実施形態では、デフォーカス量が示すフォーカスレンズ32の位置が、無限遠端位置よりも無限遠側、または、至近端位置よりも至近側である場合には、フォーカスレンズ32の駆動を禁止することで、合焦位置の誤検出によりフォーカスレンズ32が合焦位置ではないレンズ位置に駆動してしまい、その結果、ピントがぼけてしまうことを有効に防止することができる。
≪第2実施形態≫
次に、本発明の第2実施形態を図面に基づいて説明する。第2実施形態では、図1に示すカメラ1において、図11に示すように、カメラ1が動作すること以外は、第1実施形態と同様である。以下において、図11を参照して、第2実施形態に係るカメラ1の動作について説明する。なお、図11は、第2実施形態に係るカメラ1の動作を示すフローチャートである。
まず、ステップS201では、第1実施形態のステップS101と同様に、シャッターレリーズボタンの半押し(第1スイッチSW1のオン)がされたかどうかの判断が行なわれ、シャッターレリーズボタンが半押しされた場合には、ステップS202に進み、レンズ情報の取得が行われる。一方、シャッターレリーズボタンが半押しされていない場合は、ステップS201で待機する。
ステップS203では、ステップS202で取得したレンズ情報に基づいて、後述するステップS205において一対の画素列データの相関演算を行う際に用いられるシフト範囲の設定が行われる。ここで、ステップS202で取得したレンズ情報には、フォーカスレンズ32の現在位置、無限端位置、および至近端位置の位置情報が含まれており、カメラ制御部21は、無限遠端位置から至近端位置までのフォーカスレンズ32の駆動範囲に対応するシフト範囲を設定する。ここで、図12は、第2実施形態におけるシフト範囲を説明するための図である。カメラ制御部21は、フォーカスレンズ32の現在位置と無限遠端位置との距離(レンズ駆動量)を像面変化量に変換し、像面変化量をシフト量に変換することで、図12に示すように、無限遠端位置に対応するシフト量Sft1’を算出する。同様に、カメラ制御部21は、フォーカスレンズ32の現在位置と至近端位置との距離(レンズ駆動量)を像面変化量に変換し、該像面変化量をシフト量に変換することで、図12に示すように、至近端位置に対応するシフト量Sft2’を算出する。さらに、カメラ制御部21は、図12に示すように、無限遠端位置に対応するシフト量Sft1’に検出マージンΔSを加えたシフト量を無限遠側シフト量Sr1’として算出するとともに、至近端位置に対応するシフト量Sft2’に検出マージンΔSを加えたシフト量を至近側シフト量Sr2’として算出する。そして、カメラ制御部21は、無限遠側シフト量Sr1’と至近側シフト量Sr2’とが得られる範囲を、シフト範囲として設定する。
そして、ステップS204では、焦点検出画素222a,222bにより出力された一対の画素列データの取得が行われ、ステップS205では、ステップS204で取得した一対の画素列データの相関演算が行われる。なお、第2実施形態では、ステップS203で設定されたシフト範囲内において一対の画素列データをシフトさせながら、一対の画素列データの相関量を算出し、算出した相関量が極小となるシフト量を算出する。
ステップS206,S207では、第1実施形態のステップS106,S107と同様に、ステップS205で算出されたシフト量に基づいて、デフォーカス量の算出が行われ(ステップS206)、デフォーカス量が算出できたか否かの判断が行われる(ステップS207)。そして、デフォーカス量が算出できた場合には、測距可能と判断され、ステップS208に進み、デフォーカス量に基づく合焦駆動が行なわれる。一方、デフォーカス量を算出できなかった場合には、スキャン動作を行うために、ステップS209に進み、スキャン動作が行われる。
そして、スキャン動作を行なった結果、合焦位置が検出できた場合には(ステップS210=Yes)、合焦位置までフォーカスレンズ32の合焦駆動が行われ(ステップS211)、一方、合焦位置を検出できなかった場合には(ステップS210=No)、合焦不能と判断して、カメラ1の動作を終了する。
以上のように、第2実施形態では、位相差により光学系の焦点状態を検出する際に、図2に示すように、フォーカスレンズ32の現在位置と、駆動制御範囲の無限遠端位置および至近端位置との位置関係に基づいて、一対の画素列データをシフトさせるシフト範囲を設定する。そして、設定したシフト範囲内で一対の画素列データをシフトさせながら、一対の画素列データの相関量を演算し、シフト範囲内で一対の画素列データの相関量が極小となるシフト量に基づいて、フォーカスレンズ32を無限遠端から至近端までの駆動制御範囲内で駆動させる。これにより、第2実施形態では、一対の画素列データの相関演算にかかる時間をより短縮することができるとともに、不要な演算を行わないことで、画素列データに含まれるノイズなどによる合焦位置の誤検出を有効に防止することができ、合焦位置の誤検出によりフォーカスレンズ32が合焦位置ではないレンズ位置に駆動してしまい、その結果、ピントがぼけてしまうことを有効に防止することができる。
なお、以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
たとえば、上述した第1実施形態では、一対の画素列データの相関量が極小となるシフト量に基づいてデフォーカス量を算出した場合に、算出したデフォーカス量が示すフォーカスレンズ32の駆動位置が、無限遠端よりも無限遠側の位置、または至近端よりも至近端側の位置である場合には、フォーカスレンズ32の駆動を禁止する構成を例示したが、この構成に限定されず、たとえば、デフォーカス量が示すフォーカスレンズ32の駆動位置が無限遠端よりも無限遠側の位置である場合には、フォーカスレンズ32の駆動を禁止し、一方、デフォーカス量が示すフォーカスレンズ32の駆動位置が至近端よりも至近端側の位置である場合には、フォーカスレンズ32を至近端を超えて駆動させる構成としてもよい。たとえば同じ種別のレンズ鏡筒3でもレンズ鏡筒3の個体差によっては、予め設定された至近端よりも至近側の位置で被写体に合焦することができる場合があり、このような場合に、至近端位置よりも至近側まで駆動させることで、被写体にピントを合わせることができる。なお、この場合も、無限遠よりも無限側に被写体は存在しないため、デフォーカス量が示すフォーカスレンズ32の駆動位置が無限遠端よりも無限遠側の位置にある場合には、フォーカスレンズ32を無限遠端位置を越えて駆動することは禁止する。
同様に、上述した第2実施形態では、図12に示すように、無限遠端位置に対応するシフト量Dft1’に検出マージンΔSを加えた無限遠側シフト量Sr1’および至近端位置に対応するシフト量Dft2’に検出マージンΔSを加えた至近側シフト量Sr2’が得られるシフト量の範囲を、シフト範囲として設定しているが、この構成に限定されず、たとえば、図13に示すように、至近側においては、オーバー至近端位置に対応するシフト量Dft2に検出マージンΔSを加えた至近側シフト量Sr2を算出し、無限遠側シフト量Sr1’と至近側シフト量Sr2とが得られるシフト量の範囲を、シフト範囲に設定する構成としてもよい。この場合も、予め設定された至近端よりも至近側の位置で被写体に合焦できるレンズ鏡筒3を装着した場合に、フォーカスレンズ32を至近端位置よりも至近側まで駆動させることができ、予め設定された至近端よりも至近側の位置で被写体に合焦することができる。
なお、上述した実施形態のカメラ1は特に限定されず、例えば、デジタルビデオカメラ、レンズ一体型のデジタルカメラ、携帯電話用のカメラなどのその他の光学機器に本発明を適用してもよい。