以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
まず、図1を参照して、本実施形態における撮像装置の概略構成について説明する。図1は、本実施形態における撮像装置100(カメラ)のブロック図である。撮像装置100は、カメラ本体とカメラ本体に着脱可能な交換レンズ(撮像光学系または結像光学系)とを備えたデジタルカメラシステムである。ただし本実施形態は、これに限定されるものではなく、カメラ本体とレンズとが一体的に構成された撮像装置にも適用可能である。
第1レンズ群101は、撮影レンズ(撮像光学系)を構成する複数のレンズ群のうち最も前方(被写体側)に配置されており、光軸OAの方向(光軸方向)に進退可能な状態でレンズ鏡筒に保持される。絞り兼用シャッタ102(絞り)は、その開口径を調節することで撮影時の光量調節を行うとともに、静止画撮影時には露光時間調節用シャッタとして機能する。第2レンズ群103は、絞り兼用シャッタ102と一体的に光軸方向に進退し、第1レンズ群101の進退動作と連動して変倍動作を行うズーム機能を有する。第3レンズ群105は、光軸方向に進退することにより焦点調節(フォーカス動作)を行うフォーカスレンズ群である。光学的ローパスフィルタ106は、撮影画像の偽色やモアレを軽減するための光学素子である。
撮像素子107は、撮像光学系を介して被写体像(光学像)の光電変換を行い、CMOSセンサやCCDセンサなどの二次元フォトセンサ、および、その周辺回路により構成され、撮像光学系の結像面に配置される。撮像素子107としては、例えば、横方向にm個の画素、縦方向にn個の画素を有する受光ピクセル上にベイヤー配列の原色カラーモザイクフィルタをオンチップで形成した2次元単板カラーセンサが用いられる。
ズームアクチュエータ111は、不図示のカム筒を回動(駆動)することで第1レンズ群101ないし第2レンズ群103を光軸方向に沿って移動させることにより、変倍動作を行う。絞りシャッタアクチュエータ112は、絞り兼用シャッタ102の開口径を制御して光量(撮影光量)を調節するとともに、静止画撮影時の露光時間を制御する。フォーカスアクチュエータ114は、第3レンズ群105を光軸方向に移動させて焦点調節を行う。
電子フラッシュ115は、被写体を照明するために用いられる照明装置である。電子フラッシュ115としては、キセノン管を備えた閃光照明装置または連続発光するLED(発光ダイオード)を備えた照明装置が用いられる。AF補助光手段116は、所定の開口パターンを有するマスクの像を、投光レンズを介して、被写体に投影する。これにより、暗い被写体や低コントラストの被写体に対する焦点検出能力を向上させることができる。
CPU121は、撮像装置100の種々の制御を司る制御装置(制御手段)である。CPU121は、演算部、ROM、RAM、A/Dコンバータ、D/Aコンバータ、および、通信インターフェイス回路などを有する。CPU121は、ROMに記憶された所定のプログラムを読み出して実行することにより、撮像装置100の各種回路を駆動し、焦点検出(AF)、撮影、画像処理、または、記録などの一連の動作を制御する。なお、通信インターフェイス回路は、USBや有線LANなどのケーブルを用いた通信のみならず、無線LANなどの無線技術を用いた通信を行うことが可能である。
CPU121は、取得手段121a、算出手段121b、フォーカス制御手段121c、および、記憶手段121dを有する。取得手段121aは、撮像光学系の互いに異なる瞳領域(瞳部分領域)を通過する光束に対応する第1信号(第1焦点検出信号)および第2信号(第2焦点検出信号)を取得する。算出手段121bは、第1信号と第2信号とに基づいて像ずれ量pを算出し、像ずれ量pと変換係数Keffとを用いてデフォーカス量Defを算出する。フォーカス制御手段121cは、デフォーカス量Defに基づいてフォーカス制御(焦点調節)を行う。なお取得手段121aは、撮像光学系の互いに異なる瞳部分領域を通過する光束に対応する視点画像(視差画像)を取得することもできる。
記憶手段121dは、デフォーカス量の算出に必要となる補正値Kgainを算出するための係数(補正値算出係数)を記憶する。補正値算出係数は、例えば、第3レンズ群105の位置に対応するフォーカス状態、第1レンズ群101ないし第2レンズ群103の位置に対応するズーム状態、撮像光学系のF値、撮像素子の設定瞳距離、画素サイズごとに複数用意されている。焦点調節を行う際に、算出手段121bは、撮像光学系の焦点調節状態(フォーカス状態、ズーム状態)と絞り値(F値)、撮像素子の設定瞳距離、および、画素サイズの組み合わせに応じて最適な補正値算出係数を選択する。そして算出手段121bは、選択された補正値算出係数と撮像素子の像高とに基づいて補正値Kgainを算出する。
なお本実施形態において、補正値算出係数は、CPU121の内部メモリ(記憶手段121d)に記憶されているが、これに限定されるものではない。CPU121の外部に設けられた記録媒体133などのメモリに補正値算出係数を記憶してもよい。また、交換レンズ式の撮像装置において、撮像光学系を有する交換レンズが不揮発性メモリを有し、そのメモリに補正値算出係数を記憶させてもよい。この場合、撮像光学系の焦点調節状態に応じて、補正値算出係数を撮像装置に送信すればよい。
電子フラッシュ制御回路122は、撮影動作に同期して電子フラッシュ115の点灯制御を行う。補助光駆動回路123は、焦点検出動作に同期してAF補助光手段116の点灯制御を行う。撮像素子駆動回路124は、撮像素子107の垂直および水平走査などの撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。なお、A/D変換回路は、撮像素子107内に設けるようにしてもよい。画像処理回路125は、撮像素子107から出力された画像データのγ(ガンマ)変換、カラー補間、または、JPEG(Joint Photographic Experts Group)圧縮などの処理を行う。
フォーカス駆動回路126は、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動し、第3レンズ群105を光軸方向に沿って移動させることにより、焦点調節を行う。絞りシャッタ駆動回路128は、絞りシャッタアクチュエータ112を駆動して、絞り兼用シャッタ102の開口径を制御する。ズーム駆動回路129は、撮影者のズーム操作に応じて、ズームアクチュエータ111を駆動する。
表示器131は、例えばLCD(液晶表示装置)を備えて構成される。表示器131は、撮像装置100の撮影モードに関する情報、撮影前のプレビュー画像、撮影後の確認用画像、または、焦点検出時の合焦状態表示画像などを表示する。操作部132(操作スイッチ群)は、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、および、撮影モード選択スイッチなどを備えて構成される。レリーズスイッチは、半押し状態(SW1がONの状態)、および、全押し状態(SW2がONの状態)の2段階のスイッチを有する。記録媒体133は、例えば撮像装置100に着脱可能なフラッシュメモリであり、撮影画像(画像データ)を記録する。また、操作部132にタッチパネルなどを含ませ、タッチパネルを用いて操作可能にしてもよい。
次に、図2および図3を参照して、本実施形態における撮像素子107の画素配列および画素構造について説明する。図2は、撮像素子107の画素配列を示す図である。図3は、撮像素子107の画素構造を示す図であり、図3(a)は撮像素子107の画素200Gの平面図(+z方向から見た図)、図3(b)は図3(a)中の線a−aの断面図(−y方向から見た図)をそれぞれ示している。
図2は、撮像素子107(2次元CMOSセンサ)の画素配列(撮影画素の配列)を、4列×4行の範囲で示している。本実施形態において、各々の撮像画素(画素200R、200G、200B)は、2つの副画素201、202(2つの焦点検出画素)により構成さている。このため、図2には、副画素の配列が、8列×4行の範囲で示されている。
図2に示されるように、2列×2行の画素群200は、画素200R、200G、200Bがベイヤー配列で配置されている。すなわち画素群200のうち、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上と左下に、B(青)の分光感度を有する画素200Bが右下にそれぞれ配置されている。各画素200R、200G、200B(各撮像画素)は、2列×1行に配列された副画素201(第1焦点検出画素)および副画素202(第2焦点検出画素)により構成されている。副画素201は、撮像光学系の第1瞳部分領域を通過した光束を受光する画素である。副画素202は、撮像光学系の第2瞳部分領域を通過した光束を受光する画素である。複数の副画素201は第1画素群を構成し、複数の副画素202は第2画素群を構成する。
図2に示されるように、撮像素子107は、4列×4行の撮像画素(8列×4行の副画素)を面上に多数配置して構成されており、撮像信号(副画素信号または焦点検出信号)を出力する。本実施形態の撮像素子107は、画素(撮像画素)の周期Pが4μm、画素(撮像画素)の数Nが横5575列×縦3725行=約2075万画素である。また撮像素子107は、副画素の列方向の周期PSUBが2μm、副画素の数NSUBが横11150列×縦3725行=約4150万画素である。
図3(b)に示されるように、本実施形態の画素200Gには、画素の受光面側に入射光を集光するためのマイクロレンズ305が設けられている。マイクロレンズ305は、2次元状に複数配列されており、受光面からz軸方向(光軸OAの方向)に所定の距離だけ離れた位置に配置されている。また画素200Gには、x方向にNH分割(2分割)、y方向にNV分割(1分割)された光電変換部301および光電変換部302が形成されている。光電変換部301および光電変換部302は、それぞれ、副画素201および副画素202に対応する。このように撮像素子107は、1つのマイクロレンズに対して複数の光電変換部を有し、マイクロレンズが2次元状に配列されている。光電変換部301および光電変換部302は、それぞれ、p型層とn型層との間にイントリンシック層を挟んだpin構造のフォトダイオードとして構成される。必要に応じて、イントリンシック層を省略し、pn接合のフォトダイオードとして構成してもよい。
画素200G(各画素)には、マイクロレンズ305と、光電変換部301および光電変換部302との間に、G(緑)のカラーフィルタ306が設けられる。同様に、画素200R、200B(各画素)には、マイクロレンズ305と、光電変換部301および光電変換部302との間に、R(赤)およびB(青)のカラーフィルタ306がそれぞれ設けられる。必要に応じて、副画素ごとにカラーフィルタ306の分光透過率を変えることができ、またはカラーフィルタを省略してもよい。
図3に示されるように、画素200G(200R、200B)に入射した光は、マイクロレンズ305により集光され、Gのカラーフィルタ306(R、Bのカラーフィルタ306)で分光された後、光電変換部301および光電変換部302で受光される。光電変換部301および光電変換部302においては、受光量に応じて電子とホールとの対が生成され、それらが空乏層で分離された後、負電荷の電子はn型層に蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型層を通じて、撮像素子107の外部へ排出される。光電変換部301および光電変換部302のn型層に蓄積された電子は、撮像素子駆動回路124による走査制御に基づいて、転送ゲートを介して、静電容量部(FD)に転送され、電圧信号に変換される。
続いて、図4を参照して、撮像素子107の瞳分割機能について説明する。図4は、撮像素子107の瞳分割機能の説明図であり、1つの画素部における瞳分割の様子を示している。図4は、図3(a)に示される画素構造のa−a断面を+y側から見た断面図、および、撮像光学系の射出瞳面を示している。図4では、射出瞳面の座標軸と対応を取るため、断面図のx軸およびy軸を図3のx軸およびy軸に対してそれぞれ反転させている。
図4において、副画素201(第1焦点検出画素)の瞳部分領域501(第1瞳部分領域)は、重心が−x方向に偏心している光電変換部301の受光面と、マイクロレンズ305を介して略共役関係になっている。このため瞳部分領域501は、副画素201で受光可能な瞳領域を表している。副画素201の瞳部分領域501の重心は、瞳面上で+X側に偏心している。また、副画素202(第2焦点検出画素)の瞳部分領域502(第2瞳部分領域)は、重心が+x方向に偏心している光電変換部302の受光面と、マイクロレンズ305を介して略共役関係になっている。このため瞳部分領域502は、副画素202で受光可能な瞳領域を表している。副画素202の瞳部分領域502の重心は、瞳面上で−X側に偏心している。瞳領域500は、光電変換部301、302(副画素201、202)を全て合わせた際の画素200G全体で受光可能な瞳領域である。
撮像素子を用いた位相差検出方式の焦点検出(撮像面位相差AF)では、撮像素子のマイクロレンズを利用して瞳分割するため、回折の影響を受ける。図4において、射出瞳面までの瞳距離が数10mmであるのに対し、マイクロレンズの直径は数μmである。このため、マイクロレンズの絞り値が数万となり、数10mmレベルの回折ボケが生じる。このため、光電変換部の受光面の像は、明瞭な瞳領域や瞳部分領域ではなく、瞳強度分布(受光率の入射角分布)となる。
図5は、撮像素子107と瞳分割機能の説明図である。撮像光学系の瞳領域のうち互いに異なる瞳部分領域501、502を通過した光束は、撮像素子107の各画素に互いに異なる角度で撮像素子107の撮像面800に入射し、2×1分割された副画素201、202で受光される。本実施形態では、瞳領域が水平方向に2つに瞳分割されている例について説明しているが、これに限定されるものではなく、必要に応じて垂直方向に瞳分割を行ってもよい。
本実施形態において、撮像素子107は、撮像光学系(撮影レンズ)の第1瞳部分領域を通過する光束を受光する第1瞳部分領域を通過する光束を受光する第1焦点検出画素を有する。また撮像素子107は、撮像光学系の第1瞳部分領域と異なる第2瞳部分領域を通過する光束を受光する第2焦点検出画素を有する。また撮像素子107には、撮像光学系の第1瞳部分領域と第2瞳部分領域とを合わせた瞳領域を通過する光束を受光する撮像画素が複数配列されている。本実施形態において、各撮像画素(画素200)は、第1焦点検出画素(副画素201)および第2焦点検出画素(副画素202)から構成されている。必要に応じて、撮像画素、第1焦点検出画素、および、第2焦点検出画素をそれぞれ別の画素で構成してもよい。このとき、撮像画素配列の一部に、第1焦点検出画素および第2焦点検出画素を部分的に(離散的に)配置するように構成される。
本実施形態において、撮像装置100は、撮像素子107の各画素の第1焦点検出画素(副画素201)の受光信号を集めて第1焦点検出信号を生成し、各画素の第2焦点検出画素(副画素202)の受光信号を集めて第2焦点検出信号を生成して焦点検出を行う。また撮像装置100は、撮像素子107の画素ごとに、第1焦点検出画素と第2焦点検出画素との信号を加算することにより、有効画素数Nの解像度の撮像信号(撮像画像)を生成する。
次に、図6を参照して、撮像素子107の副画素201から取得される第1焦点検出信号および副画素202から取得される第2焦点検出信号のデフォーカス量と像ずれ量との関係について説明する。図6は、デフォーカス量と像ずれ量との関係図である。図6において、撮像素子107は撮像面800に配置されており、図4および図5と同様に、撮像光学系の射出瞳が瞳部分領域501、502に2分割されている様子が示されている。
デフォーカス量dは、被写体の結像位置から撮像面800までの距離を|d|、結像位置が撮像面800よりも被写体側にある前ピン状態を負符号(d<0)、結像位置が撮像面800よりも被写体の反対側にある後ピン状態を正符号(d>0)として定義される。被写体の結像位置が撮像面800(合焦位置)にある合焦状態において、デフォーカス量d=0が成立する。図6において、合焦状態(d=0)である被写体801、および、前ピン状態(d<0)である被写体802がそれぞれ示されている。前ピン状態(d<0)および後ピン状態(d>0)を併せて、デフォーカス状態(|d|>0)という。
前ピン状態(d<0)では、被写体802からの光束のうち、瞳部分領域501(または瞳部分領域502)を通過した光束は、一度、集光する。その後、光束は、光束の重心位置G1(G2)を中心とする幅Γ1(Γ2)に広がり、撮像面800でボケた像となる。ボケた像は、撮像素子107に配列された各画素を構成する副画素201(副画素202)により受光され、第1焦点検出信号(第2焦点検出信号)が生成される。このため、第1焦点検出信号(第2焦点検出信号)は、撮像面800上の重心位置G1(G2)に、被写体802が幅Γ1(Γ2)にボケた被写体像として記録される。被写体像のボケ幅Γ1(Γ2)は、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね比例して増加する。同様に、第1焦点検出信号と第2焦点検出信号との間の被写体像の像ずれ量p(=光束の重心位置の差G1−G2)の大きさ|p|も、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね、比例して増加する。後ピン状態(d>0)に関しても同様であるが、第1焦点検出信号と第2焦点検出信号と間の被写体像の像ずれ方向が前ピン状態と反対となる。
このように本実施形態において、第1焦点検出信号と第2焦点検出信号、または、第1焦点検出信号と第2焦点検出信号とを加算した撮像信号のデフォーカス量の大きさが増加するのに伴い、第1焦点検出信号と第2焦点検出信号と間の像ずれ量の大きさは増加する。
次に、図7を参照して、本実施形態における位相差検出方式の焦点検出(撮像面位相差AF)について説明する。位相差検出方式の焦点検出では、第1焦点検出信号と第2焦点検出信号とを相対的にシフトさせて信号の一致度を表す相関量を算出し、相関(信号の一致度)が良くなるシフト量に基づいて像ずれ量を検出する。撮像信号のデフォーカス量の大きさが増加するのに伴い、第1焦点検出信号と第2焦点検出信号との間の像ずれ量の大きさが増加する関係性から、像ずれ量を変換係数により検出デフォーカス量に変換して焦点検出を行う。
図7は、本実施形態における焦点検出処理および撮像処理を示すフローチャートである。なお、図7の各ステップは、主に、撮像素子107、画像処理回路125、または、CPU121により実行される。まずステップS101において、CPU121は、撮像素子107の有効画素領域の中から、焦点調節を行う像高(X,Y)を中心とする焦点検出領域を設定する。
続いてステップS102において、CPU121(取得手段121a)は、焦点検出領域の第1焦点検出画素の受光信号から第1焦点検出信号を生成(取得)し、焦点検出領域の第2焦点検出画素の受光信号から第2焦点検出信号を生成(取得)する。続いてステップS103において、CPU121は、第1焦点検出信号と第2焦点検出信号とのそれぞれに関し、信号データ量を抑制するために列方向に3画素加算処理を行う。またCPU121は、RGB信号を輝度信号にするためにベイヤー(RGB)加算処理を行う。これらの2つの加算処理を合わせて画素加算処理という。
続いてステップS104において、CPU121は、第1焦点検出信号と第2焦点検出信号のそれぞれに対して、シェーディング補正処理(光学補正処理)を行う。ここで、図8を参照して、第1焦点検出信号および第2焦点検出信号の瞳ずれによる像ずれ量から検出デフォーカス量への換算に必要な変換係数の変化と、シェーディングについて説明する。図8は、基線長BL0、BL1、BL2、撮像素子107の周辺像高における副画素201(第1焦点検出画素)の瞳部分領域501、副画素202(第2焦点検出画素)の瞳部分領域502、および、撮像光学系の射出瞳400の関係を示している。
図8(a)は、撮像光学系の射出瞳距離Dl(射出瞳400と撮像素子107の撮像面との距離)と、撮像素子107の設定瞳距離Dsとが等しい場合を示している。この場合、瞳部分領域501および瞳部分領域502により、撮像光学系の射出瞳400は略均等に瞳分割される。図8(a)において、射出瞳400の内部における、瞳部分領域501の重心と瞳部分領域502の重心との間隔である基線長をBL0で示している。このとき、像ずれ量から検出デフォーカス量への換算に必要な変換係数K0は、K0=Ds/BL0で求められる。
一方、図8(b)にされるように、撮像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsよりも短い場合、撮像素子107の周辺像高では、撮像光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、撮像光学系の射出瞳400が不均一に瞳分割される。したがって、基線長BL1は片側に偏っており、それに伴い、変換係数K1は、K1=Ds/BL1と変化する。同様に、図8(c)に示されるように、撮像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsよりも長い場合、撮像素子107の周辺像高では、撮像光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、撮像光学系の射出瞳400が不均一に瞳分割される。したがって、基線長BL2は、図8(b)の基線長BL1とは反対側に偏っており、それに伴い、変換係数K2は、K2=Ds/BL2と変化する。周辺像高で瞳分割が不均一になるのに伴い、第1焦点検出信号および第2焦点検出信号の強度も互いに不均一となる。このため、第1焦点検出信号および第2焦点検出信号のいずれか一方の強度が大きくなり、他方の強度が小さくなるシェーディングが生じる。
また、撮像光学系の絞り値が変化すると、図8の射出瞳400の大きさが変化するため、絞り値に応じて変換係数およびシェーディングが変化する。したがって、像ずれ量から検出デフォーカス量への変換係数、および、シェーディングは、撮像光学系の絞り値と射出瞳距離、撮像素子の瞳強度分布(光学特性)、および、像高に応じて変化する。
撮像装置100の内部に瞳強度分布データを保持して上記手順によって変換係数を算出すると、演算負荷が増大する。このため本実施形態では、予め、撮像素子の光学特性、撮像光学系の絞り値と射出瞳距離、および、像高に応じて算出した変換係数を、テーブルとして撮像装置100の内部(例えば、記憶手段121d)に保持する。そして、撮影の際に、上記条件に基づいて変換係数をテーブルから選択して用いる。
ステップS104において、CPU121は、焦点検出領域の像高、撮像レンズ(撮像光学系)のF値、および、射出瞳距離に応じて、第1焦点検出信号の第1シェーディング補正係数と第2焦点検出信号の第2シェーディング補正係数とをそれぞれ生成する。そしてCPU121は、第1シェーディング補正係数を第1焦点検出信号に乗算し、第2シェーディング補正係数を第2焦点検出信号に乗算して、第1焦点検出信号と第2焦点検出信号のシェーディング補正処理(光学補正処理)を行う。
位相差検出方式の焦点検出では、第1焦点検出信号と第2焦点検出信号との相関(信号の一致度)に基づいて、デフォーカス量を検出する。瞳ずれによるシェーディングが生じると、第1焦点検出信号と第2焦点検出信号との相関(信号の一致度)が低下する場合がある。したがって、位相差検出方式の焦点検出では、第1焦点検出信号と第2焦点検出信号との相関(信号の一致度)を改善して焦点検出性能を向上させるため、シェーディング補正処理(光学補正処理)を行うことが好ましい。
本実施形態では、撮像素子の設定瞳距離が同じであって、撮像光学系の射出瞳距離が変化する場合を一例として瞳ずれを説明したが、逆に、撮像光学系の射出瞳距離が同じであって、撮像素子の設定瞳距離が変化する場合についても同様である。撮像面位相差方式の焦点検出では、撮像素子の設定瞳距離の変化に伴い、焦点検出画素(第1焦点検出画素、第2焦点検出画素)が受光する光束と、撮像画素が受光する光束も変化する。
続いてステップS105において、CPU121は、相関(信号の一致度)を良くして焦点検出精度を向上させるため、第1焦点検出信号および第2焦点検出信号のそれぞれに対して、特定の通過周波数帯域を有するバンドパスフィルタ処理を行う。バンドパスフィルタの例としては、DC成分をカットしてエッジ抽出を行う{1、0、−1}などの差分型フィルタや、高周波ノイズ成分を抑制する{1、2、1}などの加算型フィルタがある。
続いてステップS106において、CPU121は、フィルタ処理後の第1焦点検出信号と第2焦点検出信号とを相対的に瞳分割方向にシフトさせるシフト処理を行い、信号の一致度を表す相関量を算出する。フィルタ処理後のk番目の第1焦点検出信号をA(k)、第2焦点検出信号をB(k)、焦点検出領域に対応する番号kの範囲をW、シフト処理によるシフト量をs、シフト量sのシフト範囲をΓとする。このとき、相関量COR(s)は、式(1)により算出される。
CPU121は、シフト量sのシフト処理により、k番目の第1焦点検出信号A(k)とk−s番目の第2焦点検出信号B(k−s)を対応させて減算し、シフト減算信号を生成する。そしてCPU121は、生成されたシフト減算信号の絶対値を算出し、焦点検出領域に対応する範囲W内で番号kの和を取り、相関量COR(s)を算出する。必要に応じて、行ごとに算出された相関量を、シフト量ごとに、複数行に渡って加算してもよい。
続いてステップS107において、CPU121(算出手段121b)は、相関量(評価値)に対してサブピクセル演算を行い、相関量が最小値となる実数値のシフト量を算出して像ずれ量pを求める。そしてCPU121(算出手段121b)は、像ずれ量pに対して、焦点検出領域の像高、撮像レンズ(撮像光学系)のF値、および、射出瞳距離に応じた変換係数Kを掛けて、デフォーカス量Def(検出デフォーカス量)を検出(算出)する。
続いて、ステップS108において、CPU121は、ステップS107にて算出されたデフォーカス量Defの絶対値|Def|が所定値以下であるか否かを判定する。デフォーカス量Defの絶対値|Def|が所定値よりも大きい場合、ステップS109に進む。ステップS109において、CPU121(フォーカス制御手段121c)は、デフォーカス量Defに応じてレンズ駆動を行い、ステップS101〜S108を繰り返す。一方、ステップS107にて算出されたデフォーカス量Defの絶対値|Def|が所定値以下の場合、ステップS110に進み、CPU121は露光量を算出する。続いてステップS111において、CPU121は画像を取得し、本フローを終了する。
次に、変換係数Kのゲイン算出について説明する。本実施形態では、変換係数Kに対し、さらにいくつかの情報に基づいてゲインを算出し、それらを掛け合わせた値に基づいてデフォーカス量を算出する。変換係数K0は、撮像素子の設定瞳距離Dsと基線長BL0とを用いて、K0=Ds/BL0として算出される。このときの基線長BL0は、瞳面上に投影される絞り枠の形状に応じて変化する。
図9は、瞳強度分布と絞り枠投影の説明図であり、瞳強度分布に対して、レンズの前枠や後枠によるケラレ形状により変形した絞り枠を投影した場合を示している。第1焦点検出画素および第2焦点検出画素は、互いに異なる瞳強度分布を有し、第1焦点検出画素の瞳強度分布(第1瞳強度分布)と第2焦点検出画素の瞳強度分布(第2瞳強度分布)のそれぞれ同じ位置に対し、絞り枠が投影される。そして、第1瞳強度分布に絞り枠を投影した場合の強度分布の重心位置C1と、第2瞳強度分布に絞り枠を投影した場合の強度分布の重心位置C2との間の距離が、前述した基線長BL0となる。
このとき、レンズの枠によるケラレが影響しない絞り値の場合、絞りによる枠そのものが投影されることになり、その形状は略真円となる。しかし、像高と交換レンズによっては、レンズの前枠や後枠が絞りによる枠の内側に入り込んでしまい、図9に示されるような楕円形状に近い形となる。
交換レンズが保有している光量情報から実効絞り値を算出し、この実効絞り値に基づいて基線長を予測する場合、例えば楕円形状の長辺側が垂直に立った状態で投影された場合には基線長を良好に予測することができる。しかし、図9に示されるように、楕円が斜めに寝ている状態で投影されている場合、光量情報から実効絞り値を算出し投影する方法では、算出した重心位置と真の重心位置とのズレが大きく、変換係数Kがズレてしまう可能性がある。また、楕円の中心と絞り枠の中心との差がある場合にも、変換係数のズレが大きくなる。そこで本実施形態では、像高に応じて、予め楕円枠を投影した場合の変換係数Kを算出し、その変換係数Kの像高やケラレ量に応じた変化を数式に置き換え、数式の各係数(係数データ)を撮像装置100の内部(例えば、記憶手段121d)に記憶する。
図10は、変換係数の変化を示す概略図であり、ケラレ量(光量落ち量)と絞り枠の投影位置とに応じた変換係数の変化の様子を示している。ケラレ量については、交換レンズによってレンズの前枠または後枠の形状や大きさが異なる。このため、全ての情報を保有して撮像装置100の内部で算出することは、メモリの増大や演算負荷の増大につながるため、本実施形態では光量落ち情報(ケラレに関する情報)として保持する。
図14は、レンズ枠のケラレを示す概略図であり、光量落ち情報と絞り形状との関係を示している。図14の点線は、交換レンズの前枠または後枠による影響を受けていない場合の絞り枠そのものを示しており、交換レンズの枠によるケラレを受けない中央像高における絞り枠を示している。図14の実線は、交換レンズの枠によるケラレを加味した絞り枠形状を示している。簡単のため、楕円の長辺RLは、光量落ち情報に関わらず絞り枠の直径と同等であり、短辺RSは光量落ち情報に応じて短くなり、面積減少量が光量落ち情報とリニアな関係を有するものとする。このような方法により、光量落ち情報を用いて簡単に交換レンズの枠により生じるケラレを加味した絞り形状を模擬することが可能となる。また今回は、単純な楕円形状としているが、交換レンズの代表的な枠ケラレ形状を定義できれば、その形状(不図示)に基づいて変換係数を算出してもよい。
次に、絞り枠を投影する位置は、図8を参照して説明したように、交換レンズの射出瞳距離Dlと撮像素子の設定瞳距離Dsとの関係により決定される。射出瞳距離Dlと撮像素子の設定瞳距離Dsとが同一である場合、絞り枠の投影位置は瞳強度分布の中央に位置する。しかし、図8に示されるように、射出瞳距離Dlと撮像素子の設定瞳距離Dsとが乖離すればするほど、絞り枠の投影位置は中央から外れた位置に投影される。図10は、このように、光量落ち情報(ケラレに関する情報)と絞り枠の投影位置(絞り枠の位置に関する情報)と変換係数との関係を示している。
図10では、絞り枠の投影位置が瞳強度分布の中央で、さらに光量落ちが全くない場合、すなわち中央像高における変換係数Kを1とするとき、変換係数がどのような数値になるかを垂直軸で表している。図10を見ると分かるように、光量落ち情報の値が大きく、かつ瞳強度分布における投影位置が中央から遠くなるほど、変換係数Kは大きくなる。これは、絞り枠の楕円形状が真円からかけ離れるほど、かつ絞り枠の投影位置が瞳強度分布の中央より遠ざかるほど、図9に示される重心位置の変動が大きくなり、変換係数Kが大きく変化することを示している。
本実施形態では、このように水平軸に光量落ち情報、および、絞り枠の投影位置をとった場合の変換係数Kの変化の曲面を数式で表す。すなわち、絞り枠の投影位置をx、光量落ち情報(光量落ち量)をyとするとき、変換係数の補正値Kgainは、以下の式(2)により求めることができる。
本実施形態において、式(2)の係数a00、a10、a20、a30、a01、a02、a21は、図1の記憶手段121dや記録媒体133などに予め記憶されている。焦点検出を行うたびに、CPU121は各係数を読み出し、光量落ち情報と絞り枠の投影位置とに応じて式(2)により補正値Kgainを算出する。また本実施形態では、xを3次、yを2次とした多項式近似の例を示したが、次数はこれに限定されるものではなく、近似誤差が良好な値であれば他の近似式を用いてもよい。
前述のように求められた補正値Kgainに、レンズの前枠または後枠によるケラレが全く起きない場合の変換係数K(所定の変換係数)を掛け合わせることにより、以下の式(3)のように、変換係数Keffを得ることができる。
Keff=K×Kgain … (3)
ここで得られた変換係数Keffに像ずれ量pを掛け合わせることにより、デフォーカス量Def(検出デフォーカス量)を高精度に求めることができる。
Def=Keff×p … (4)
図11は、開放F値ごとの変換係数Kの変化を示す概略図であり、図10の交換レンズの開放F値が変化した場合(F1.8、F2.0、F2.8、F4.0)の補正値Kgainの変化を示している。このように、開放F値の変化により、補正値Kgainの変化の仕方も変わる。図11に示されるように、開放F値が大きくなるに従って、変換係数Kの変化が急峻になる。このように、開放F値ごとに式(2)(式(2)の係数データ)を保持することにより、より高精度に変換係数Kを算出することが可能となる。
図12は、像高ごとのケラレ形状の変化を示す概略図である。図12に示されるように、像高に応じてレンズの前枠または後枠のケラれる方向が変わるため、楕円の向き(ケラレ形状)が変わる。このため、式(2)(式(2)の係数データ)を像高ごとに保持することが好ましい。本実施形態では、例えば図13に示されるように撮像素子の像高内を3×3のブロックに分割する。このとき、ケラレの影響がない中央付近の像高を除く8つのブロック(1)〜(8)は、図12に示される楕円のケラレ形状(1)〜(8)にそれぞれ相当する。各像高(各楕円形状)に応じて式(2)の係数(係数データ)を保持することにより、変換係数をより高精度に補正することができる。
このように本実施形態において、制御装置(CPU121)は、取得手段121aおよび算出手段121bを有する。取得手段121aは、撮像光学系の互いに異なる瞳領域(瞳部分領域)を通過する光束に対応する第1信号および第2信号を取得する。算出手段は、第1信号と第2信号とに基づいて像ずれ量pを算出し、像ずれ量pと変換係数Keffとを用いてデフォーカス量Defを算出する。また算出手段は、ケラレに関する情報と絞り枠の位置に関する情報とに基づいて変換係数を変更する。
好ましくは、ケラレに関する情報は、撮像光学系の光量落ち情報(ケラレの位置、大きさ、および、形状に関する情報)である。より好ましくは、光量落ち情報は像高に応じて変化する。また好ましくは、絞り枠の位置に関する情報は、撮像光学系の射出瞳距離Dlに応じた絞り枠の投影位置(瞳面上の位置)である。より好ましくは、絞り枠の投影位置は、射出瞳距離と撮像素子の設定瞳距離とに応じて決定される。また好ましくは、算出手段は、所定の変換係数Kと補正値Kgainとに基づいて変換係数Keffを算出する。補正値は、ケラレに関する情報と絞り枠の位置に関する情報とに応じて変化する。
好ましくは、制御装置は、補正値の算出に用いられる係数データを記憶する記憶手段121dを有する。このとき算出手段は、係数データと、ケラレに関する情報と、絞り枠の位置に関する情報とに応じて、補正値を算出する。より好ましくは、記憶手段は、撮像光学系の絞り値(開放F値)ごとに係数データを記憶している。このとき算出手段は、絞り値に応じて異なる係数データを選択し、選択した係数データを用いて補正値を算出する。また好ましくは、記憶手段は、像高ごとに係数データを記憶している。このとき算出手段は、像高に応じて異なる係数データを選択し、選択した係数データを用いて補正値を算出する。
好ましくは、制御装置は、補正値、補正値の算出に用いられる係数データ、ケラレに関する情報、および、絞り枠の位置に関する情報の関係を示すテーブルを記憶する記憶手段121dを有する。このとき算出手段は、テーブルから、ケラレに関する情報と絞り枠の位置に関する情報とに応じて補正値を選択する。より好ましくは、テーブルは、補正値と撮像光学系の絞り値および像高の少なくとも一方との関係を示す。このとき算出手段は、テーブルから、撮像光学系の絞り値および像高の少なくとも一方に応じて、補正値を選択する。
本実施形態によれば、交換レンズごとの光量落ち情報、および絞り枠の投影位置、開放F値、像高情報を用いることにより、変換係数Kを良好に補正することができる。このため、高精度にデフォーカス量を検出すること(高精度な検出デフォーカス量を取得すること)が可能となる。
上記に示した各処理は、上述のように各処理の機能を実現する為のプログラムを不図示のメモリから読み出してCPU121などが実行することによりその機能を実現させるものである。ただし、本発明は上述した構成に限定されるものではなく、上記に示した各処理の全部または一部の機能を専用のハードウエアにより実現してもよい。また、上述したメモリは、コンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。例えば、光磁気ディスク装置、フラッシュメモリなどの不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せにより構成された記録媒体である。
また、上記に示した各処理の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウエアを含む。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合も含む。この場合、書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置である。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)も含む。このように、一定時間プログラムを保持しているものも「コンピュータ読み取り可能な記録媒体」に含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
本実施形態によれば、種々の交換レンズに関して、高速かつ高精度の焦点検出が可能な制御装置、撮像装置、制御方法、プログラム、および、記憶媒体を提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
本実施形態は、例えば、位相差検出方式の焦点検出(位相差AF)とコントラスト検出方式の焦点検出(コントラストAF)とを組み合わせたハイブリッドAFを行う撮像装置にも適用可能である。このような撮像装置は、状況に応じて、位相差AFまたはコントラストAFを選択的に使用し、または、これらを組み合わせて使用することができる。