以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
まず、図1を参照して、本実施形態における撮像装置の概略構成について説明する。図1は、本実施形態における撮像装置100(カメラ)のブロック図である。撮像装置100は、カメラ本体とカメラ本体に着脱可能な交換レンズ(結像光学系または撮像光学系)とを備えたデジタルカメラシステムである。ただし本実施形態は、これに限定されるものではなく、カメラ本体とレンズとが一体的に構成された撮像装置にも適用可能である。
第1レンズ群101は、撮影レンズ(結像光学系)を構成する複数のレンズ群のうち最も前方(被写体側)に配置されており、光軸OAの方向(光軸方向)に進退可能な状態でレンズ鏡筒に保持される。絞り兼用シャッタ102(絞り)は、その開口径を調節することで撮影時の光量調節を行うとともに、静止画撮影時には露光時間調節用シャッタとして機能する。第2レンズ群103は、絞り兼用シャッタ102と一体的に光軸方向に進退し、第1レンズ群101の進退動作と連動して変倍動作を行うズーム機能を有する。第3レンズ群105は、光軸方向に進退することにより焦点調節(フォーカス動作)を行うフォーカスレンズ群である。光学的ローパスフィルタ106は、撮影画像の偽色やモアレを軽減するための光学素子である。
撮像素子107は、結像光学系を介して被写体像(光学像)の光電変換を行い、例えばCMOSセンサまたはCCDセンサ、および、その周辺回路により構成される。撮像素子107としては、例えば、横方向にm個の画素、縦方向にn個の画素を有する受光ピクセル上にベイヤー配列の原色カラーモザイクフィルタをオンチップで形成した2次元単板カラーセンサが用いられる。撮像素子107は、結像光学系の結像面に配置される。
ズームアクチュエータ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)、撮影、画像処理、または、記録などの一連の動作を制御する。
CPU121は、取得手段121a、焦点検出手段121b、および、記憶手段121cを有する。取得手段121aは、瞳分割された瞳領域を通過した光束に対応する対の像信号に関する光学補正データ(第1光学補正データおよび第2光学補正データ)を取得する。第1光学補正データは、第1方向に瞳分割された第1瞳領域を通過した第1光束に対応する対の第1像信号に関する光学補正データである。第2光学補正データは、第1方向とは異なる第2方向に瞳分割された第2瞳領域を通過した第2光束に対応する対の第2像信号に関する光学補正データである。光学補正データは、例えばシェーディング補正の際に用いられるシェーディング補正値または像ずれ量からデフォーカス量への変換の際に用いられる変換係数であるが、これらに限定されるものではない。
焦点検出手段121bは、対の第1像信号および第1光学補正データと、対の第2像信号および第2光学補正データと、に基づいて位相差検出方式による焦点検出を行う。また焦点検出手段121bは、焦点検出結果(デフォーカス量)に基づいてフォーカス制御を行う。記憶手段121cは、光学補正データ(第1光学補正データ)に関する情報を記憶する。ただし記憶手段121bはCPU121の内部メモリに限定されるものではなく、CPU121の外部に設けられたメモリであってもよい。
電子フラッシュ制御回路122は、撮影動作に同期して電子フラッシュ115の点灯制御を行う。補助光駆動回路123は、焦点検出動作に同期してAF補助光手段116の点灯制御を行う。撮像素子駆動回路124は、撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。画像処理回路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に着脱可能なフラッシュメモリであり、撮影画像(画像データ)を記録する。
次に、図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)は、4つの副画素201、202、203、204(4つの焦点検出画素)により構成さている。このため、図2には、副画素の配列が、8列×8行の範囲で示されている。
図2に示されるように、2列×2行の画素群200は、画素200R、200G、200Bがベイヤー配列で配置されている。すなわち画素群200のうち、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上と左下に、B(青)の分光感度を有する画素200Bが右下にそれぞれ配置されている。各画素200R、200G、200B(各撮像画素)は、2列×2行に配列された副画素201(第1焦点検出画素)、副画素202(第2焦点検出画素)、副画素203(第3焦点検出画素)、および、副画素204(第4焦点検出画素)により構成されている。副画素201は、結像光学系の第1瞳部分領域を通過した光束を受光する画素である。副画素202は、結像光学系の第2瞳部分領域を通過した光束を受光する画素である。副画素203は、結像光学系の第3瞳部分領域を通過した光束を受光する画素である。副画素204は、結像光学系の第4瞳部分領域を通過した光束を受光する画素である。複数の副画素201は第1画素群、複数の副画素202は第2画素群、複数の副画素203は第3画素群、および、複数の副画素204は第4画素群をそれぞれ構成する。
図2に示されるように、撮像素子107は、4列×4行の撮像画素(8列×8行の副画素)を面上に多数配置して構成されており、撮像信号(副画素信号または焦点検出信号)を出力する。本実施形態の撮像素子107は、画素(撮像画素)の周期Pが4μm、画素(撮像画素)の数Nが横5575列×縦3725行=約2075万画素である。また撮像素子107は、副画素の周期PSUBが2μm、副画素の数NSUBが横11150列×縦7450行=約8300万画素である。
図3(b)に示されるように、本実施形態の画素200Gには、画素の受光面側に入射光を集光するためのマイクロレンズ305が設けられている。マイクロレンズ305は、2次元状に複数配列されており、受光面からz軸方向(光軸OAの方向)に所定の距離だけ離れた位置に配置されている。また画素200Gには、x方向にNH分割(2分割)、y方向にNV分割(2分割)された光電変換部301、302、303、304が形成されている。光電変換部301〜304は、副画素201〜204にそれぞれ対応する。このように撮像素子107は、1つのマイクロレンズに対して複数の光電変換部を有し、マイクロレンズが2次元状に配列されている。光電変換部301〜304は、それぞれ、p型層とn型層との間にイントリンシック層を挟んだpin構造のフォトダイオードとして構成される。必要に応じて、イントリンシック層を省略し、pn接合のフォトダイオードとして構成してもよい。
画素200G(各画素)には、マイクロレンズ305と、光電変換部301〜304のそれぞれとの間に、G(緑)のカラーフィルタ306が設けられる。同様に、画素200R、200B(各画素)には、マイクロレンズ305と、光電変換部301〜304のそれぞれとの間に、R(赤)およびB(青)のカラーフィルタ306がそれぞれ設けられる。必要に応じて、副画素ごとにカラーフィルタ306の分光透過率を変えることができ、またはカラーフィルタを省略してもよい。
図3に示されるように、画素200G(200R、200B)に入射した光は、マイクロレンズ305により集光され、Gのカラーフィルタ306(R、Bのカラーフィルタ306)で分光された後、光電変換部301〜304で受光される。光電変換部301〜304のそれぞれにおいては、受光量に応じて電子とホールとの対が生成され、それらが空乏層で分離された後、負電荷の電子はn型層に蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型層を通じて、撮像素子107の外部へ排出される。光電変換部301〜304のそれぞれのn型層に蓄積された電子は、転送ゲートを介して、静電容量部(FD)に転送され、電圧信号に変換される。
続いて、図4を参照して、撮像素子107の瞳分割機能について説明する。図4は、撮像素子107の瞳分割機能の説明図であり、1つの画素部における瞳分割の様子を示している。図4は、図3(a)に示される画素構造のa−a断面を+y側から見た断面図、および、結像光学系の射出瞳面を示している。図4では、射出瞳面の座標軸と対応を取るため、断面図のx軸およびy軸を図3のx軸およびy軸に対してそれぞれ反転させている。
図4において、瞳部分領域501、503(第1瞳部分領域および第4瞳部分領域)は、重心が−x方向に偏心している光電変換部301、303の受光面と、マイクロレンズ305を介して略共役関係になっている。このため瞳部分領域501、503は、副画素201、203で受光可能な瞳領域を表している。副画素201、203の瞳部分領域501、503の重心は、瞳面上で+X側に偏心している。また、瞳部分領域502、504(第2瞳部分領域および第4瞳部分領域)は、重心が+x方向に偏心している光電変換部302、304の受光面と、マイクロレンズ305を介して略共役関係になっている。このため瞳部分領域502、504は、副画素202、204で受光可能な瞳領域を表している。副画素202、204の瞳部分領域502、504の重心は、瞳面上で−X側に偏心している。瞳領域500は、光電変換部301〜304(副画素201〜204)を全て合わせた際の画素200G全体で受光可能な瞳領域である。
図5は、撮像素子107と瞳分割機能の説明図である。結像光学系の瞳領域のうち互いに異なる瞳部分領域501、502を通過した光束は、撮像素子107の各画素に互いに異なる角度で撮像素子107の撮像面800に入射し、2×2分割された副画素201〜204で受光される。本実施形態では、瞳領域が水平方向および垂直方向にそれぞれ2つに瞳分割されている例について説明しているが、これに限定されるものではなく、必要に応じて他の方向に瞳分割を行ってもよい。
本実施形態において、撮像素子107は、結像光学系(撮影レンズ)の第1瞳部分領域〜第4瞳部分領域を通過するそれぞれの光束を受光する第1焦点検出画素〜第4焦点検出画素を有する。また撮像素子107は、結像光学系の第1瞳部分領域〜第4瞳部分領域を合わせた瞳領域を通過する光束を受光する撮像画素が複数配列されている。本実施形態において、各撮像画素(画素200)は、第1焦点検出画素〜第4焦点検出画素(副画素201〜204)から構成されている。必要に応じて、撮像画素と、第1焦点検出画素〜第4焦点検出画素とを別の画素で構成してもよい。このとき、撮像画素配列の一部に、第1焦点検出画素〜第4焦点検出画素を部分的に(離散的に)配置するように構成される。
本実施形態において、撮像装置100は、撮像素子107の各画素の第1焦点検出画素(副画素201)および第3焦点検出画素(副画素203)の受光信号を集めて(加算して)第1焦点検出信号を生成する。同様に、撮像装置100は、各画素の第2焦点検出画素(副画素202)および第4焦点検出画素(副画素204)の受光信号を集めて(加算して)第2焦点検出信号を生成する。また撮像装置100は、各画素の第1焦点検出画素(副画素201)および第2焦点検出画素(副画素202)の受光信号を集めて(加算して)第3焦点検出信号を生成する。同様に、撮像装置100は、各画素の第3焦点検出画素(副画素203)および第4焦点検出画素(副画素204)の受光信号を集めて(加算して)第4焦点検出信号を生成する。そして撮像装置100は、第1焦点検出信号〜第4焦点検出信号に基づいて焦点検出を行う。また撮像装置100は、撮像素子107の画素ごとに、第1焦点検出画素〜第4焦点検出画素(副画素201〜204)の信号を集める(加算する)ことにより、有効画素数Nの解像度の撮像信号(撮像画像)を生成する。
次に、図6を参照して、撮像素子107の副画素201、203の出力信号を合わせた第1焦点検出信号、および、副画素202、204の出力信号を合わせた第2焦点検出信号のデフォーカス量と像ずれ量との関係について説明する。図6は、デフォーカス量と像ずれ量との関係図である。図6において、撮像素子107は撮像面800に配置されており、図4および図5と同様に、結像光学系の射出瞳は瞳部分領域501〜504に4分割される。ただし図6においては、瞳部分領域501と瞳部分領域503、および、瞳部分領域502と瞳部分領域504はそれぞれ等価であるため、瞳部分領域501および瞳部分領域502を用いて説明する。なお本実施形態において、2つの副画素を加算して相関演算を行うのは、S/Nを向上させるためである。
デフォーカス量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焦点検出信号と間の像ずれ量の大きさは増加する。図6では、第1焦点検出信号と第2焦点検出信号とを用いた水平方向(X方向)の瞳分割の場合について説明した。第3焦点検出信号(第1焦点検出画素と第2焦点検出画素を合わせた出力信号)と、第4焦点検出信号(第3焦点検出画素と第4焦点検出画素とを合わせた出力信号)とを用いた垂直方向(Y方向)の瞳分割の場合も同様のため、その説明は省略する。本実施形態において、水平方向および垂直方向の2方向に関して焦点検出を行う場合、最終的なデフォーカス量は、例えば、2方向のデフォーカス検出結果の平均値または被写体の方向に応じた重み付け加算を行って算出される。
次に、本実施形態における位相差検出方式の焦点検出について説明する。位相差検出方式の焦点検出では、CPU121は、第1焦点検出信号と第2焦点検出信号とを相対的にシフトさせて信号の一致度を表す相関量(第1評価値)を算出する。またCPU121は、第3焦点検出信号と第4焦点検出信号とを相対的にシフトさせて信号の一致度を表す相関量(第2評価値)を算出する。そしてCPU121は、相関量(信号の一致度)が良好になるシフト量に基づいて像ずれ量を検出(算出)する。CPU121は、撮像信号のデフォーカス量の大きさが増加するのに伴って像ずれ量の大きさが増加する関係性に基づいて、像ずれ量をデフォーカス量(検出デフォーカス量)に変換して焦点検出を行う。
図7を参照して、本実施形態における位相差検出方式の焦点検出処理について説明する。図7は、焦点検出処理を示すフローチャートである。図7の各ステップは、主に、CPU121(取得手段121a、焦点検出手段121b)および画像処理回路125により実行される。
まずステップS110において、CPU121は、撮像素子107の有効画素領域の中から焦点調節を行うための焦点検出領域を設定する。そしてCPU121(焦点検出手段121b)は、焦点検出領域の第1焦点検出画素および第3焦点検出画素の受光信号(出力信号)に基づいて第1焦点検出信号を生成(取得)する。また焦点検出手段121bは、焦点検出領域の第2焦点検出画素および第4焦点検出画素の受光信号(出力信号)に基づいて第2焦点検出信号を生成(取得)する。同様に、焦点検出手段121bは、第1焦点検出画素および第2焦点検出画素の受光信号(出力信号)に基づいて第3焦点検出信号、第3焦点検出画素および第4焦点検出画素の受光信号(出力信号)に基づいて第4焦点検出信号をそれぞれ生成(取得)する。
続いてステップS120において、CPU121(焦点検出手段121b)は、第1焦点検出信号、第2焦点検出信号、第3焦点検出信号、および、第4焦点検出信号のそれぞれに関し、信号データ量を抑制するため、列方向に3画素加算処理を行う。またCPU121は、RGB信号を輝度Y信号にするため、ベイヤー(RGB)加算処理を行う。
続いてステップS130において、CPU121および画像処理回路125は、第1焦点検出信号、第2焦点検出信号、第3焦点検出信号、および、第4焦点検出信号のそれぞれに対して、シェーディング補正処理(光学補正処理)を行う。ここで、図8を参照して、第1焦点検出信号、第2焦点検出信号、第3焦点検出信号、および、第4焦点検出信号の瞳ずれによるシェーディングについて説明する。図8は、第1焦点検出信号、第2焦点検出信号、第3焦点検出信号、および、第4焦点検出信号の瞳ずれによるシェーディングの説明図である。具体的には、図8は、撮像素子107の周辺像高における副画素201〜204(第1焦点検出画素〜第4焦点検出画素)のそれぞれの瞳部分領域501〜504(第1瞳部分領域〜第4瞳部分領域)と、結像光学系の射出瞳400との関係を示している。
図8(a)は、結像光学系の射出瞳距離Dl(射出瞳400と撮像素子107の撮像面との距離)と、撮像素子107の設定瞳距離Dsとが等しい場合を示している。この場合、瞳部分領域501〜504により、結像光学系の射出瞳400は略均等に瞳分割される。
一方、図8(b)にされるように、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsよりも短い場合、撮像素子107の周辺像高では、結像光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、結像光学系の射出瞳400が不均一に瞳分割される。同様に、図8(c)に示されるように、結像光学系の射出瞳距離Dlが撮像素子107の設定瞳距離Dsよりも長い場合、撮像素子107の周辺像高では、結像光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、結像光学系の射出瞳400が不均一に瞳分割される。周辺像高で瞳分割が不均一になるのに伴い、第1焦点検出信号および第2焦点検出信号(第3焦点検出信号および第4焦点検出信号)の強度も互いに不均一となる。このため、第1焦点検出信号および第2焦点検出信号(第3焦点検出信号および第4焦点検出信号)のいずれか一方の強度が大きくなり、他方の強度が小さくなるシェーディングが生じる。
後述の像ずれ量をデフォーカス量へ変換するための変換係数に関しても、シェーディングと同様に、瞳分割の状態に応じてその値は変化する。このため、変換係数も像高に応じて変化する。また、図8(a)〜(c)を見ればわかるように、シェーディングおよび変換係数は、射出瞳距離Dlおよび絞り値(F値)によっても変化する。
図7のステップS130では、CPU121は、焦点検出領域の像高、撮像レンズ(結像光学系)のF値、および、射出瞳距離に応じて、第1焦点検出信号の第1シェーディング補正係数(第1シェーディング補正値)を生成する。同様に、CPU121は、焦点検出領域の像高、撮像レンズ(結像光学系)のF値、および、射出瞳距離に応じて、第2焦点検出信号の第2シェーディング補正係数(第2シェーディング補正値)を生成する。そしてCPU121(画像処理回路125)は、第1焦点検出信号に第1シェーディング補正係数を乗算し、第2焦点検出信号に第2シェーディング補正係数を乗算して、第1焦点検出信号および第2焦点検出信号のシェーディング補正処理(光学補正処理)を行う。同様に、CPU121(画像処理回路125)は、第3焦点検出信号に第3シェーディング補正係数を乗算し、第4焦点検出信号に第4シェーディング補正係数を乗算して、第3焦点検出信号および第4焦点検出信号のシェーディング補正処理を行う。
位相差検出方式の焦点検出を行う際、CPU121は、第1焦点検出信号と第2焦点検出信号との相関(信号の一致度)に基づいて、デフォーカス量(第1デフォーカス量)を検出(算出)する。同様に、CPU121は、第3焦点検出信号と第4焦点検出信号との相関(信号の一致度)に基づいて、デフォーカス量(第2デフォーカス量)を検出(算出)する。瞳ずれによるシェーディングが生じると、第1焦点検出信号と第2焦点検出信号との相関(信号の一致度)、および、第3焦点検出信号と第4焦点検出信号との相関(信号の一致度)が低下する場合がある。このため本実施形態において、第1焦点検出信号と第2焦点検出信号との相関および第3焦点検出信号と第4焦点検出信号との相関を改善して焦点検出性能を向上させるため、シェーディング補正処理(光学補正処理)を行うことが好ましい。
続いてステップS140において、CPU121および画像処理回路125は、第1焦点検出信号、第2焦点検出信号、第3焦点検出信号、および、第4焦点検出信号に対して、フィルタ処理を行う。図9は、本実施形態におけるフィルタ処理の説明図であり、本実施形態のフィルタ処理における通過帯域例を実線で示している。本実施形態では、位相差検出方式の焦点検出により大デフォーカス状態での焦点検出を行う。このため、フィルタ処理における通過帯域は、低周波帯域を含むように構成される。必要に応じて、大デフォーカス状態から小デフォーカス状態まで焦点調節を行う際に、デフォーカス状態に応じて、焦点検出処理の際のフィルタ処理の通過帯域を、例えば図9中の一点鎖線のように調整してもよい。
続いてステップS150において、CPU121(焦点検出手段121b)は、フィルタ処理後の第1焦点検出信号と第2焦点検出信号とを相対的に瞳分割方向にシフトさせる第1シフト処理を行い、信号の一致度を表す第1相関量(第1評価値)を算出する。同様に、CPU121(焦点検出手段121b)は、フィルタ処理後の第3焦点検出信号と第4焦点検出信号とを相対的に瞳分割方向にシフトさせる第2シフト処理を行い、信号の一致度を表す第2相関量(第2評価値)を算出する。
ここで、フィルタ処理後のk1番目の第1焦点検出信号をA(k1)、第2焦点検出信号をB(k1)、フィルタ処理後のK2番目の第3焦点検出信号をC(k2)、第4焦点検出信号をD(k2)、焦点検出領域に対応する番号k1、k2の範囲をWとする。また、第1シフト処理によるシフト量をs1、第2シフト処理によるシフト量をs2、シフト量s1のシフト範囲をΓ1、シフト量s2のシフト範囲をΓ2とする。このとき、第1相関量COR(s1)および第2相関量COR(s2)は、以下の式(1)、(2)のようにそれぞれ表される。
第1シフト量s1の第1シフト処理により、k1番目の第1焦点検出信号A(k1)と(k1−s1)番目の第2焦点検出信号B(k1−s1)とを対応させて減算し、シフト減算信号を生成する。そして、生成されたシフト減算信号の絶対値を算出し、焦点検出領域に対応する範囲W内で番号k1の和を取り、第1相関量COR(s1)を算出する。同様に、第2シフト量s2の第2シフト処理により、k2番目の第3焦点検出信号C(k2)と(k2−s2)番目の第4焦点検出信号B(k2−s2)とを対応させて減算し、シフト減算信号を生成する。そして、生成されたシフト減算信号の絶対値を算出し、焦点検出領域に対応する範囲W内で番号k2の和を取り、第2相関量COR(s2)を算出する。なお、必要に応じて、行ごとに算出された第1相関量COR(s1)および第2相関量(s2)、シフト量ごとに、複数行に渡って加算してもよい。
続いてステップS160において、CPU121(焦点検出手段121b)は、第1相関量(第1評価値)に対してサブピクセル演算を行い、第1相関量が最小値となる実数値のシフト量を算出して像ずれ量p1を求める。同様に、CPU121(焦点検出手段121b)は、第2相関量(第2評価値)に対してサブピクセル演算を行い、第2相関量が最小値となる実数値のシフト量を算出して像ずれ量p2を求める。そしてCPU121は、像ずれ量p1に対して、焦点検出領域の像高、撮像レンズ(結像光学系)のF値、および、射出瞳距離に応じた第1変換係数K1を掛けて、第1デフォーカス量Def1を検出(算出)する。同様に、CPU121は、像ずれ量p2に対して、焦点検出領域の像高、撮像レンズ(結像光学系)のF値、および、射出瞳距離に応じた第2変換係数K2を掛けて、第2デフォーカス量Def2を検出(算出)する。その後、CPU121は、第1デフォーカス量Def1および第2デフォーカス量Def2を用いて、以下の式(3)で表されるように、検出デフォーカス量Defを算出する。
なお本実施形態において、式(3)で表されるように、第1デフォーカス量Def1と第2デフォーカス量Def2との平均値を用いて検出デフォーカス量Defを算出しているが、これに限定されるものではない。例えば、被写体の方向に応じて第1デフォーカス量Def1および第2デフォーカス量Def2のそれぞれの重み付けを変更して検出デフォーカス量Defを算出してもよい。
次に、シェーディング補正値および変換係数(デフォーカス量変換係数)について説明する。図8を参照して説明したように、シェーディング補正値および変換係数は、像高に応じて連続的に変化するため、像高関数として表現することができる。前述のように、シェーディング補正値は、像高に応じて変化するのに加えて、絞り値と射出瞳距離との組み合わせに応じて変化する。このため、レンズ交換式のカメラなどの撮像装置においてシェーディング補正を行う場合、全ての補正値を記憶させようとすると膨大な記憶容量が必要となる。これを解決するため、例えば、予め条件(絞り値と射出瞳距離との組み合わせ)ごとにシェーディング補正値を算出し、その近似関数を求め、近似関数の係数のみを記憶するように構成することができる。本実施形態は、このような近似関数の係数を記憶する構成について説明するが、これに限定されるものでない。
近似関数が3次近似式である場合、第1焦点検出信号のシェーディング補正値SA(x,y)および第2焦点検出信号のシェーディング補正値SB(x,y)は、以下の式(4)、(5)のようにそれぞれ表される。このとき、変換係数K(x,y)は、以下の式(6)のように表される。
式(4)において、S0A、S1A、S2A、S3A、S4A、S5A、S6A、S7A、S8A、S9Aは、それぞれ、第1焦点検出信号のシェーディング補正値(第1シェーディング補正値)を算出するための近似関数の係数である。式(5)において、S0B、S1B、S2B、S3B、S4B、S5B、S6B、S7B、S8B、S9Bは、それぞれ、第2焦点検出信号のシェーディング補正値(第2シェーディング補正値)を算出するための近似関数の係数である。式(6)において、K0、K1、K2、K3、K4、K5、K6、K7、K8、K9は、それぞれ、変換係数を算出するための近似関数の係数である。
焦点検出を行う際には、補正精度が良ければ焦点検出精度も良くなるため、できる限り補正精度を向上させる必要がある。一方、補正精度を向上させるには近似次数を上げる必要があり、その結果、演算規模が増加して焦点検出時間も増大する。このように、補正精度と演算規模とはトレードオフの関係になる。そこで本実施形態では、演算規模を低減しつつ、補正精度を維持するため、所定の焦点検出方向(例えばX方向)の位置xのみに関して、第1シェーディング補正値SA(x)、第2シェーディング補正値SB(x)、および、変換係数K(x)を算出する。このとき、第1シェーディング補正値SA(x)、第2シェーディング補正値SB(x)、および、変換係数K(x)は、以下の式(7)、(8)、(9)のようにそれぞれ表される。
図10は、分割領域(像高)ごとの光学補正データ(シェーディング補正値および変換係数などの光学補正値)の説明図である。図10には、所定の焦点検出方向(本実施形態ではX方向)に対して垂直方向(Y方向)における像高ごとに(分割領域ごとに)シェーディング補正値および変換係数を記憶させる様子が示されている。図10において、1001は分割領域(分割領域ブロック)である。点線の四角で囲われた領域(分割領域1001)内では、シェーディング補正値および変換係数を焦点検出方向(X方向)の位置(x)のみに依存する関数として算出し、Y方向に関しては同一のシェーディング補正値および変換係数を用いる。焦点検出方向に対して垂直方向(Y方向)に関しては、図10に示されるように分割領域1001ごとに、シェーディング補正値および変換係数を算出する。これにより、式(4)、(5)、(6)で表される2次元の3次関数と同等の補正精度を、式(7)、(8)、(9)で表される1次元の3次関数で実現することができる。その結果、乗算の回数を20回から6回と大幅に削減でき、演算規模を低減することが可能である。また、補正値算出の演算規模が低減することにより演算時間が短縮し、焦点検出の高速化が期待できる。
図11は、瞳強度分布(センサの入射角受光特性分布)の瞳ずれの説明図であり、瞳強度分布の瞳ずれがない場合とある場合の枠によるケラレの相違を示している。撮像装置の組み付けばらつきや撮像素子の製造ばらつきの影響により、瞳の重心位置は、撮像装置ごと(撮像装置の個体ごと)に異なる。これを瞳ずれという(図11中のdx)。ここで瞳の重心位置(A+B像の瞳の重心)は、基本的には、A像とB像の瞳強度分布1101、1102がクロスしている場所であるため、本実施形態ではクロスしている場所を瞳の重心位置として説明する。
このため、シェーディング補正値および変換係数(第1変換係数)としては、撮像装置ごと(撮像装置の個体ごと)に瞳ずれに応じて適切な値を用いる必要がある。図11からわかるように、瞳ずれにより、瞳のケラレ方が変わる。図11に示されるように、結像光学系の射出瞳距離Dlと撮像素子107の設定瞳距離Dsとが互いに同じであるため、像高に応じてケラレは変化しない。一方、結像光学系の射出瞳距離Dlと撮像素子107の設定瞳距離Dsとが互いに異なる場合、像高に応じてケラレは変化する。また、絞り値によってもケラレは変化する。このため、瞳ずれによるシェーディングの変化は、瞳ずれ量、射出瞳距離Dl、設定瞳距離Ds、像高、および、絞り値に依存して決定される。これは、変換係数に関しても同様である。
シェーディング補正値および変換係数の瞳ずれによる影響は、X方向とY方向のそれぞれにおける瞳ずれ量が決定されると、予め補正関数f(瞳ずれdp、射出瞳距離Dl、設定瞳距離Ds、像高y、および、絞り値F)を算出することにより補正可能である。図11では、X方向のみが示されているが、瞳ずれはY方向でも同様に発生する。また、X方向とY方向とで瞳ずれ量は相関がない。このため、X方向およびY方向のそれぞれに関して焦点検出を行うには、X方向およびY方向のそれぞれに関するシェーディング補正値および変換係数を用意する必要がある。
一方、瞳ずれがある場合、瞳強度分布はシフトした形で移動する。これは、X方向およびY方向の両方向で共通である。瞳ずれ量を除いて、X方向およびY方向のそれぞれに関して設計の瞳強度分布の形状が同様である場合、瞳強度分布の形状は互いに略一致する。このため、X方向およびY方向の瞳ずれ量Xp、Ypの情報、X方向またはY方向のいずれか一方のシェーディング補正値、および、変換係数(第1変換係数)を用いて、他方の値を以下の式(10)、(11)、(12)で表されるように求めることが可能である。式(10)、(11)、(12)は、Y方向の第1シェーディング補正値および第2シェーディング補正値と変換係数とを、X方向の第1シェーディング補正値および第2シェーディング補正値と変換係数とから換算して算出している。
瞳の重心位置に対してA像とB像は対称形である。このため、瞳ずれ量Xp、Ypの符合が互いに異なる場合、A像とB像とを反転させて考えることにより、瞳ずれの差分値を小さくすることが可能である。瞳ずれの差分値が大きいほど、補正関数の精度が低下する。このため、瞳ずれ量Xp、Ypの符合が反転した場合、A像とB像とを反転させて瞳ずれの差分値として計算してもよい。
また、瞳ずれ量Xp、Ypのいずれの光学補正値を基準として撮像装置に記憶させるかに関しては、優先順位に応じて変えることが好ましい。焦点検出可能な条件(デフォーカス量検出範囲や被写体条件など)を増やすことを優先させる場合、瞳ずれが小さい(瞳ずれ量Xp、Ypの絶対値が小さい)方の値を記憶することが好ましい。この理由は、クロス測距(クロス焦点検出)の場合、一方の値が検出できれば焦点検出が可能であり、瞳ずれが小さい方がシェーディングの影響は小さく、焦点検出可能範囲が広いためである。逆に、焦点検出精度の安定性を優先させる場合、瞳ずれが大きい(瞳ずれ量Xp、Ypの絶対値が大きい)方の値を記憶することが好ましい。この理由は、補正をして算出した補正値は多少補正精度が低下してしまうためである。このため、クロス測距できる条件を増やすことを優先させる場合、瞳ずれが大きい方を記憶することが好ましい。
前述のとおり、瞳ずれによる瞳強度分布の影響は、実質的には、単純に水平方向にシフトした形で表される。このため、焦点検出を行う像高に関し、瞳のずれ量分を補正することにより、X方向からY方向(または、Y方向からX方向)の補正値を算出することが可能となる。したがって、X方向およびY方向のそれぞれの瞳ずれ量と、一方向のシェーディング補正値および変換係数とを記憶すれば十分であり、二方向のシェーディング補正値および変換係数を記憶する必要はない。
次に、図12を参照して、瞳ずれ情報を用いたシェーディング補正について説明する。図12は、2次元方向におけるシェーディング補正処理を示すフローチャートであり、図7のステップS130にて説明したシェーディング補正処理に関し、瞳ずれ情報を用いて2次元方向にシェーディング補正処理を行う場合を示している。図12の各ステップは、主に、CPU121および画像処理回路125により実行される。
まずステップS1301において、CPU121は、焦点検出を行う光学条件(絞り値、射出瞳距離、像高などの撮影条件)を取得する。続いてステップS1302において、CPU121は、ステップS1301にて取得した光学条件に応じて、適切な第1光学補正値(第1シェーディング補正値および第1変換係数)を取得する。なお、第1変換係数は、デフォーカス量を算出する直前に取得してもよい。続いてステップS1303において、CPU121(画像処理回路125)は、ステップS1302にて取得した第1シェーディング補正係数を用いて、第1方向(本実施形態ではX方向)のシェーディング補正を行う。
続いてステップS1304において、CPU121は、第1方向と第2方向(本実施形態ではY方向)のそれぞれの瞳ずれ量を取得する。瞳ずれ量は、撮像装置の調整の際などに測定可能である。続いてステップS1305において、CPU121は、ステップS1301にて取得した光学条件と、ステップS1304にて取得した瞳ずれ量とを用いて、適切な第2光学補正値(第2シェーディング補正係数および第2変換係数)を取得する。なお、第2変換係数は、第2デフォーカス量を算出する直前に取得してもよい。続いてステップS1306において、CPU121(画像処理回路125)は、ステップS1305にて取得した第2シェーディング補正係数を用いて、第2方向(本実施形態ではY方向)のシェーディング補正を行う。
このように本実施形態において、制御装置(CPU121)は、取得手段121aおよび焦点検出手段121bを有する。取得手段121aは、所定の焦点検出方向に瞳分割された瞳領域を通過した光束に対応する対の像信号に関する光学補正データ(光学補正値)を取得する。光学補正データは、第1光学補正データ(第1光学補正値)および第2光学補正データ(第2光学補正値)を含む。第1光学補正データは、第1方向(例えばX方向)に瞳分割された第1瞳領域を通過した第1光束に対応する対の第1像信号に関する光学補正データである。第2光学補正データは、第1方向とは異なる第2方向(例えばY方向)に瞳分割された第2瞳領域を通過した第2光束に対応する対の第2像信号に関する光学補正データである。ここで第1瞳領域は、例えば瞳部分領域501、503を合わせた第1領域、および、瞳部分領域502、504を合わせた第2領域である。対の第1像信号は、第1領域を通過した第1光束に対応する第1焦点検出信号および第2領域を通過した第1光束に対応する第2焦点検出信号である。第2瞳領域は、例えば瞳部分領域501、502を合わせた第3領域、および、瞳部分領域503、504を合わせた第4領域である。対の第2像信号は、第3領域を通過した第2光束に対応する第3焦点検出信号および第4領域を通過した第2光束に対応する第4焦点検出信号である。焦点検出手段121bは、対の第1像信号および第1光学補正データと、対の第2像信号および第2光学補正データと、に基づいて焦点検出を行う。
好ましくは、取得手段は、第1方向における第1瞳ずれ量(例えば瞳ずれ量Xp)に応じて第1光学補正データを取得する。同様に取得手段は、第2方向における第2瞳ずれ量(例えば瞳ずれ量Yp)に応じて第2光学補正データを取得する。より好ましくは、制御装置は、第1光学補正データに関する情報を記憶する記憶手段121cを有する。そして取得手段は、記憶手段から第1光学補正データを取得する。また取得手段は、第1瞳ずれ量および第2瞳ずれ量と第1光学補正データに関する情報(光学補正データテーブル)とを用いて、第2光学補正データを取得する。より好ましくは、取得手段は、第1瞳ずれ量と第2瞳ずれ量との差(例えば、Yp−Xp)に基づいて、第1光学補正データに関する情報から第2光学補正データを取得する。また好ましくは、記憶手段は、第1光学補正データに関する情報として、第1光学補正データに関する近似関数の係数データ(例えば式(7)〜(9)中の係数)を記憶している。そして近似関数は、第1方向(例えばX方向)における位置のみに依存する関数である(すなわち、Y方向など第2方向における位置には依存しない)。また好ましくは、記憶手段は、第2方向に分割された複数の領域(分割領域1001)ごとに、近似関数の係数データを記憶している。
好ましくは、第1光学補正データおよび第2光学補正データは、第1光束および第2光束を受光する撮像手段(撮像素子107)の入射角受光特性に応じて変化する。また好ましくは、第1光学補正データおよび第2光学補正データはそれぞれ、像高およびF値に応じて変化する。また好ましくは、焦点検出手段は、対の第1像信号と第1光学補正データとに基づいて第1デフォーカス量(Def1)を算出し、対の第2像信号と第2光学補正データとに基づいて第2デフォーカス量(Def2)を算出する。そして焦点検出手段は、第1デフォーカス量および第2デフォーカス量に基づいて焦点検出の際のデフォーカス量(Def)を取得する。また好ましくは、第1光学補正データおよび第2光学補正データはそれぞれ、シェーディング補正値である。また好ましくは、第1光学補正データは、対の第1像信号に関する第1像ずれ量(p1)を第1デフォーカス量へ変換する際に用いられる第1変換係数(K1)である。また第2光学補正データは、対の第2像信号に関する第2像ずれ量(p2)を第2デフォーカス量へ変換する際に用いられる第2変換係数(K2)である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本実施形態の撮像装置は、撮像素子ごとの二次元方向のばらつきを加味して光学補正値(シェーディング補正または変換係数)を算出する。このため本実施形態によれば、高精度な焦点検出が可能な制御装置、撮像装置、制御方法、プログラム、および、記憶媒体を提供することができる。また本実施形態によれば、データ量の増大を回避しつつ高精度な焦点検出を行うことが可能である。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。