本実施例では、本発明をデジタルカメラ等の撮像装置に適用した場合について説明するが、本発明は焦点検出装置、距離検出装置、情報処理装置、および電子機器等の撮像装置とは異なる装置に幅広く適用することができる。
[全体構成]
図1は、本実施例の焦点検出装置を有する撮像装置100の構成を示すブロック図である。撮像装置100は、カメラ本体とカメラ本体に着脱可能な交換レンズ(結像光学系または撮像光学系)とを備えたデジタルカメラシステムである。ただし、本発明は、これに限定されるものではなく、カメラ本体とレンズとが一体的に構成された撮像装置にも適用可能である。
結像光学系(撮像光学系)は、被写体の被写体像(光学像)を所定の結像面上に生成する。第1レンズ群101は、結像光学系を構成する複数のレンズ群のうち最も前方(被写体側)に配置されており、光軸OAに沿って進退可能にレンズ鏡筒に保持されている。絞り兼用シャッタ(絞り)102は、その開口径を調節されることで撮像時の光量調節を行うとともに、静止画撮像時には露光時間調節用シャッタとして機能する。第2レンズ群103は、絞り兼用シャッタ102と一体的に光軸OAに沿って進退し、第1レンズ群101の進退動作と連動して変倍動作を行うズーム機能を有する。第3レンズ群105は、光軸OAに沿って進退することにより焦点調節(フォーカス動作)を行うフォーカスレンズ群である。光学的ローパスフィルタ106は、撮像画像の偽色やモアレを軽減するための光学素子である。本実施例の各レンズ群はレンズユニットに相当し、特に第3レンズ群105は焦点調節可能なレンズユニットに相当する。
撮像素子107は、例えば、CMOSセンサまたはCCDセンサ、および、その周辺回路により構成され、被写体像の光電変換を行う。撮像素子107としては、例えば、横方向にm個の画素、縦方向にn個の画素を有する受光ピクセル上にベイヤー配列の原色カラーモザイクフィルタをオンチップで形成した2次元単板カラーセンサが用いられる。なお、撮像光学系と撮像素子107は一つの撮像部を構成するが、本実施例に示すような単板方式に限定されず、例えば3板方式であってもよい。また、複数の撮像部を有する構成としてもよい。つまり、撮像素子に対して対応する撮像光学系を有する構成であれば本発明を適用可能である。
ズームアクチュエータ111は、変倍動作を行う際に、カム筒(不図示)を回動することで第1レンズ群101および第2レンズ群103を光軸OAに沿って移動させる。絞りシャッタアクチュエータ112は、光量(撮像光量)を調節する際に、絞り兼用シャッタ102の開口径を調節する。フォーカスアクチュエータ114は、焦点調節を行う際に、第3レンズ群105を光軸OAに沿って移動させる。なお、絞りとシャッタは必ずしも兼用させる必要はなく、それぞれ個別に設ける構成としてもよい。
電子フラッシュ115は、被写体を照明するために用いられる照明装置である。電子フラッシュ115としては、キセノン管を備えた閃光照明装置、または連続発光するLED(発光ダイオード)を備えた照明装置が用いられる。AF補助光源116は、所定の開口パターンを有するマスクの像を、投光レンズを介して、被写体に投影する。これにより、暗い被写体や低コントラストの被写体に対する焦点検出能力を向上させることができる。
CPU121は、撮像装置100の種々の制御を司る制御装置である。CPU121は、演算部、ROM、RAM、A/Dコンバータ、D/Aコンバータ、および、通信インターフェイス回路などを有する。CPU121は、ROMまたはRAMに記憶された所定のプログラムを読み出して実行することにより、撮像装置100の各種回路を駆動し、焦点検出(AF)、撮像、画像処理、または、記録などの一連の動作を制御する。また、CPU121の一部の機能をハードウエア回路として実装してもよく、また一部の回路にFPGA等のリコンフィギュアラブル回路を用いてもよい。例えば、後述する焦点検出用の演算の一部を専用のハードウエア回路を用い、演算時間の短縮を行ってもよい。
また、CPU121は、画素信号取得手段121a、信号生成手段121b、焦点検出手段121c、およびレンズ情報取得手段121dを備える。また、CPU121が備える通信インターフェイス回路は外部装置とUSBケーブルやLANケーブル等の有線ケーブルで接続する方式だけでなく、無線LANや移動通信回線等の無線通信で接続する方式であってもよい。また、通信相手との接続については、直接的にパーソナルコンピュータやスマートフォンと接続する接続方式に限られず、アクセスポイントやネットワーク経由で近接または遠隔機器と接続する方式であってもよい。
電子フラッシュ制御回路122は、撮像動作に同期して電子フラッシュ115の点灯制御を行う。補助光源駆動回路123は、焦点検出処理に同期してAF補助光源116の点灯制御を行う。撮像素子駆動回路124は、撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。画像処理回路125は、撮像素子107から出力された画像データのガンマ変換、カラー補間、または、JPEG(Joint Photographic Experts Group)圧縮などの処理を行う。
フォーカス駆動回路126は、焦点検出手段121cの焦点検出結果等に基づいてフォーカスアクチュエータ114を駆動し、第3レンズ群105を光軸OAに沿って移動させることにより、焦点調節を行う。絞りシャッタ駆動回路128は、絞りシャッタアクチュエータ112を駆動して、絞り兼用シャッタ102の開口径を制御するとともに、静止画撮像時の露光時間を制御する。ズーム駆動回路129は、撮像者のズーム操作に応じて、ズームアクチュエータ111を駆動し、第1レンズ群101および第2レンズ群103を光軸OAに沿って移動させることにより、変倍動作を行う。
レンズ通信回路130は、カメラ本体に取り付けられた交換レンズと通信し、交換レンズのレンズ情報を取得し、各種パラメータの設定を行う。取得したレンズ情報は、CPU121のレンズ情報取得手段121dに出力される。また、カメラ本体で検出した撮像情報等を交換レンズへ送信する構成としてもよい。交換レンズとカメラ本体はマウント部を介してバヨネット結合し、結合した状態で複数の端子が互いに接触する構成となっている。また、交換レンズには不図示のレンズ用CPU、レンズ用メモリ、レンズ用ジャイロ等を備えた電子基板を備えている。レンズ用CPUはレンズ用メモリに記憶されたパラメータ等を使用し、各種プログラムを実行する。また、レンズ用メモリにはレンズの光学特性である収差情報、射出瞳距離LPO等を記憶しており、光学条件としてのフォーカス状態FSやズーム状態ZSと合わせてカメラ本体側へ送信することが可能である。
表示部131は、例えばLCD(液晶表示装置)を備えて構成される。表示部131は、撮像装置100の撮像モードに関する情報、撮像前のプレビュー画像、撮像後の確認用画像、または、焦点検出時の合焦状態表示画像などを表示する。操作部132は、電源スイッチ、レリーズスイッチ、ズーム操作スイッチ、および、撮像モード選択スイッチなどを備えて構成される。レリーズスイッチは、半押し状態(SW1がONの状態)、および、全押し状態(SW2がONの状態)の2段階のスイッチを有する。記録媒体133は、例えば撮像装置100に着脱可能なフラッシュメモリであり、撮像画像(画像データ)を記録する。記憶部134は、所定のフォーマットで撮像画像などを記憶する。
なお、操作部132の一部の機能をタッチパネル等の形式で表示部131に設ける構成としてもよい。プレビュー画像を表示部131に表示している間にタッチパネルを操作することで、画像中の任意の位置に対して焦点検出を行うことが可能となる。
なお、不図示のTVAF部を設け、生成されるTVAF用評価値(画像データのコントラスト情報)に基づいて、コントラスト検出方式の焦点検出処理を行うようにしてもよい。コントラスト検出方式の焦点検出処理の際には、フォーカスレンズ群105を移動して評価値(焦点評価値)がピークとなるレンズ位置が合焦位置として検出される。
このように、撮像面位相差AFとTVAFとを組み合わせて実行可能であり、状況に応じて、これらを選択的に使用し、または、組み合わせて使用することができる。各ブロックは、各々の焦点検出結果を用いてフォーカスレンズ群105の位置を制御する制御手段として機能する。
[撮像素子]
まず、図2および図3を参照して、本実施例における撮像素子107の画素配列および画素構造について説明する。図2は、撮像素子107の画素(撮像画素)配列を示す図である。図3は、撮像素子107の画素構造を示す図であり、図3(a)は撮像素子107の画素200Gの平面図(+z方向から見た図)、図3(b)は図3(a)中の線a-aの断面図(-y方向から見た図)をそれぞれ示している。
図2は、撮像素子107の画素配列を、4列×4行の範囲で示している。本実施例では、2列×2行の画素群200は、画素200R、200G、200Bがベイヤー配列で配置されている。すなわち、画素群200のうち、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上と左下に、B(青)の分光感度を有する画素200Bが右下にそれぞれ配置されている。画素200R、200G、200Bは、2列×1行に配列された焦点検出画素(第1焦点検出画素)201、焦点検出画素(第2焦点検出画素)202により構成されている。このため、図2には、焦点検出画素の配列が、8列×4行の範囲で示されている。なお、本実施例の画素はx方向に配置された2つの焦点検出画素から構成されているが、これに限られるものではなく、y方向に配置されたものでもよい。また、2つ以上の焦点検出画素で構成してもよいし、いくつかの構成を組み合わせた構成であってもよい。
図2に示されるように、撮像素子107は、4列×4行の画素(8列×4行の焦点検出画素)を面上に多数配置して構成されており、撮像信号(焦点検出信号)を出力する。本実施例の撮像素子107は、画素の周期Pが6μm、画素の数Nが横6000列×縦4000行=2400万画素である。また、撮像素子107は、焦点検出画素の列方向の周期PSUBが3μm、焦点検出画素の数NSUBが横12000列×縦4000行=4800万画素である。4Kフォーマットの動画等を撮像素子107を用いて取得する場合には、横4000列以上の画素を有することが望ましい。また、これ以上のサイズのフォーマットで画像を取得する場合には当該フォーマットに合わせた画素数であることが望ましい。
図3(b)に示されるように、本実施例の画素200Gには、画素のフォトダイオードが形成されたシリコン等の半導体の界面である受光面側に入射光を集光するためのマイクロレンズ305が設けられている。マイクロレンズ305は、2次元状に複数配列されており、受光面からz軸方向(光軸OAの方向)に所定の距離だけ離れた位置に配置されている。また、画素200Gには、x方向にNx分割(2分割)、y方向にNy分割(1分割)された分割数NLF=Nx×Ny(分割数2)の光電変換部301および光電変換部302が形成されている。光電変換部301および光電変換部302はそれぞれ、焦点検出画素201および焦点検出画素202に対応する。
光電変換部301および光電変換部302は、シリコン等の半導体基板上に形成され、それぞれp型層とn型層から成るpn接合のフォトダイオードとして構成される。必要に応じて、p型層とn型層との間にイントリンシック層を挟んだpin構造のフォトダイオードとして構成しても良い。画素200G(各画素)には、マイクロレンズ305と、光電変換部301および光電変換部302との間に、カラーフィルタ306が設けられている。必要に応じて、画素ごと、または光電変換部ごとにカラーフィルタ306の分光透過率を変えることができ、またはカラーフィルタを省略してもよい。
画素200Gに入射した光は、マイクロレンズ305により集光され、カラーフィルタ306で分光された後、光電変換部301および光電変換部302で受光される。光電変換部301および光電変換部302においては、受光量に応じて電子とホールとの対が生成され、それらが空乏層で分離された後、負電荷の電子はn型層に蓄積される。一方、ホールは定電圧源(不図示)に接続されたp型層を通じて、撮像素子107の外部へ排出される。光電変換部301および光電変換部302のn型層に蓄積された電子は、転送ゲートを介して、静電容量部(FD)に転送され、電圧信号に変換される。
なお、本実施例においてマイクロレンズ305は撮像素子107における光学系に相当する。当該光学系は複数のマイクロレンズを含む構成としてもよいし、導波路等の屈折率の異なる材料を用いた構成としてもよい。また、撮像素子107はマイクロレンズ305を有する面と反対の面に回路等を備える裏面照射型のイメージセンサでもよく、更に撮像素子駆動回路124および画像処理回路125等の一部の回路を備える積層型のイメージセンサであってもよい。また、半導体基板としてシリコン以外の材料を用いてもよいし、例えば有機材料を光電変換材料として用いてもよい。
[瞳分割]
続いて、図4から図8を参照して、本実施例の撮像素子107の瞳分割機能について説明する。
図4は、図3(a)に示される本実施例の撮像素子107に配列された画素200Gのa-a断面を+y側から見た断面図、および、撮像素子107の撮像面600からz軸方向(光軸OAの方向)に距離Zだけ離れた位置の瞳面を示している。なお、図4では、射出瞳面の座標軸と対応を取るために、断面図のx軸とy軸を図3に対して反転させている。撮像素子107の撮像面600は、結像光学系の結像面に配置される。
瞳強度分布(第1瞳強度分布)501は、重心位置が-x方向に偏心している光電変換部301の受光面と、マイクロレンズ305を介して略共役関係になっている。このため、第1瞳強度分布501は、焦点検出画素201で受光可能な瞳領域に相当する。第1瞳強度分布501の重心位置は、瞳面上で+xp側に偏心している。同様に、瞳強度分布(第2瞳強度分布)502は、重心位置が+x方向に偏心している光電変換部302の受光面と、マイクロレンズ305を介して略共役関係になっている。このため、第2瞳強度分布502は、焦点検出画素202で受光可能な瞳領域に相当する。第2瞳強度分布502の重心は、瞳面上で-xp側に偏心している。また、瞳強度分布500は、光電変換部301、302(焦点検出画素201、202)を全て合わせた際の画素200G全体で受光可能な瞳領域である。つまり、第1瞳強度分布501は瞳強度分布500の中心に対して瞳面上で+xp側に偏心し、第2瞳強度分布502は瞳強度分布500の中心に対して瞳面上で-xp側に偏心している。
次に、図5を参照して、撮像素子107のセンサ入射瞳について説明する。本実施例の撮像素子107では、2次元の平面上の各像高座標に位置する画素毎に、マイクロレンズ305は像高座標に応じて、撮像素子の中心方向へ連続的にシフトされて配置されている。つまり、各マイクロレンズは像高が高くになるにつれ、光電変換部301、302に対して中心側へ偏心するように配置されている。なお、撮像素子の中心と撮像光学系の光軸は、撮像光学系または撮像素子を駆動することで手振れ等によるブレの影響を低減する機構によって変化するが略一致する。これにより、撮像素子107から距離Zだけ離れた位置の瞳面において、撮像素子107の各像高座標に配置された各画素の第1焦点検出画素201の光電変換部に対応する第1瞳強度分布501が、概ね、一致するように構成される。同様に、第2焦点検出画素202の光電変換部に対応する第2瞳強度分布502が、概ね、一致するように構成されている。つまり、撮像素子107から距離Zだけ離れた位置の瞳面において、撮像素子107の全ての画素の第1瞳強度分布501と第2瞳強度分布502が、概ね、一致するように構成されている。以下、第1瞳強度分布501及び第2瞳強度分布502を、撮像素子107の「センサ入射瞳」と呼び、距離Zを、撮像素子107の「入射瞳距離」と呼ぶ。なお、全ての画素を単一の入射瞳距離を有する構成とする必要はなく、例えば像高8割までの画素の入射瞳距離を略一致させる構成としてもよいし、あえて行ごとまたは検出領域ごとに異なる入射瞳距離を有するように画素を構成してもよい。
図6は、本実施例の撮像素子107のセンサ入射瞳(第1瞳強度分布501、第2瞳強度分布502)による結像光学系の射出瞳400の光学的な分割(瞳分割)を示している。被写体からの光束のうち、結像光学系の射出瞳400と瞳強度分布501との重なり領域である瞳部分領域(第1瞳部分領域)601を通過した光束は、焦点検出画素201(光電変換部301)で受光される。同様に、被写体からの光束のうち、結像光学系の射出瞳400と瞳強度分布502との重なり領域である瞳部分領域(第2瞳部分領域)602を通過した光束は、焦点検出画素202(光電変換部302)で受光される。
図4では、撮像素子107の入射瞳距離Zだけ離れた位置の瞳面における第1瞳部分領域601と第2瞳部分領域602を示している。結像光学系の射出瞳400が、撮像素子107のセンサ入射瞳(第1瞳強度分布501、第2瞳強度分布502)により、第1瞳部分領域601と第2瞳部分領域602に分割される。言い換えると、第1瞳強度分布501、第2瞳強度分布502の夫々と結像光学系の射出瞳400との共通する領域(積)が、第1瞳部分領域601と第2瞳部分領域602になる。
図7は、各画素に形成されたマイクロレンズ305に光が入射した場合の光強度分布の説明図である。図7には、一例として波長λ=540nm、右円偏光の平面波が、マイクロレンズ305の上方からマイクロレンズの光軸に平行に入射した場合の撮像素子107内部での光強度分布の計算例が示されている。数値計算には、FDTD(Finite Difference Time Domain)法を用いた。
図7(a)は、マイクロレンズの光軸に平行な断面での光強度分布を示す。各画素でのマイクロレンズ光学系は、マイクロレンズ305、平坦化層、封止層、および絶縁層などから構成される。マイクロレンズ光学系は、複数のマイクロレンズを含んでいてもよい。画素周期を2a、マイクロレンズ光学系の焦点距離をf、マイクロレンズ光学系の開口角を2φとする。また、マイクロレンズ光学系の焦点位置での屈折率をnとする。また、光軸に沿った座標をzとする。座標zは、焦点位置を原点(z=0)として、マイクロレンズ側を負符号、マイクロレンズと反対側を正符号とする。また、Hは、主点である。
マイクロレンズ光学系の開口数NAは、以下の式(1)で定義される。
また、マイクロレンズ光学系の絞り値Fは、以下の式(2)で定義される。
入射光は、マイクロレンズ光学系により、焦点位置に集光される。しかし、光の波動性による回折の影響のため、集光スポットの直径は回折限界Δより小さくすることはできず、有限の大きさとなる。集光スポットの強度分布がエアリーパターン(Airy pattern)に近いとして、回折限界Δは、入射光の波長をλとして、概ね、以下の式(3)で求まる。
光電変換部の受光面のサイズは約1~3μm程度であり、これに対してマイクロレンズの集光スポットが約1μm程度である。そのため、光電変換部の受光面とマイクロレンズを介して共役の関係にある、図4から図6のセンサ入射瞳(第1瞳強度分布501、第2瞳強度分布502)は、回折ボケのため、明瞭に瞳分割されず、光の入射角に依存した受光率分布(瞳強度分布)となる。
図7(b)は、マイクロレンズの焦点位置において、マイクロレンズの光軸に垂直な断面での光強度分布を示す。点位置(z=0)で、集光スポットの直径は回折限界Δとなり、最小となる。
マイクロレンズ光学系の後側焦点深度+zDと前側焦点深度-zDは、回折限界Δを許容錯乱円として、以下の式(4)で求まる。焦点深度の範囲は、-zD<z<+zDである。
集光スポットの強度分布がガウス分布に近いとすると、集光スポットの直径wは、座標zの関数として、概ね、以下の式(5)の関係が成り立つ。
ここで、zRはレイリー長であり、係数αR=0.61π≒1.92として、zR=αRzDで定義される。
図7に示す計算例では、波長λ=540nm、画素周期2a=4.3μm、マイクロレンズ光学系の焦点距離f=5.8μm、焦点位置での屈折率n=1.46である。また、マイクロレンズ光学系の絞り値はF=0.924、回折限界はΔ=1.22μm、焦点深度はzD=1.65μmである。
図8に、本実施例の第1瞳部分領域601と第2瞳部分領域602の例を示す。横軸は(瞳座標に換算できる)光の入射角θを表し、縦軸は受光率を表す。図8に実線で示すグラフ線L1は、図4の第1瞳部分領域601のX軸に沿った受光率分布を表し、点線で示すグラフ線L2は、第2瞳部分領域602のX軸に沿った受光率分布を表す。図8に示すように、第1瞳部分領域L1、第2瞳部分領域L2の外側は、結像光学系のレンズ枠や絞り枠で規定される射出瞳によりケラレるため、急峻な曲線となる。また、第1瞳部分領域L1、第2瞳部分領域L2の内側は、マイクロレンズによる瞳分割のため、瞳部分領域の境界が回折の影響でボヤけ、緩やかな曲線となる。本実施例は、瞳領域が水平方向に2つに瞳分割されている例である。必要に応じて、垂直方向に瞳分割を行っても良い。
本実施例では、撮像素子107は、1つのマイクロレンズを共有し、結像光学系(撮像レンズ)の瞳のうち互いに異なる領域を通過する複数の光束を受光する複数の焦点検出画素を備えている。撮像素子107は、複数の焦点検出画素として、第1焦点検出画素(複数の焦点検出画素201)および第2焦点検出画素(複数の焦点検出画素202)を含む。また、結像光学系の瞳部分領域601、602を合わせた領域を通過する光束を受光する画素の配列を有してもよい。なお、撮像素子107では、各画素が第1および第2焦点検出画素から構成されている。しかしながら、必要に応じて、撮像画素と、第1および第2焦点検出画素とを個別の画素構成とし、撮像画素配列の一部に、第1および第2焦点検出画素を部分的に配置する構成としてもよい。
本実施例では、撮像素子107の各画素の焦点検出画素201の画素信号に基づいて第1の焦点検出信号を生成し、各画素の焦点検出画素202の画素信号に基づいて第2の焦点検出信号を生成して焦点検出を行う。また、撮像素子107の画素ごとに、焦点検出画素201、202の信号を加算して読み出すことで、有効画素数Nの解像度を有する撮像信号(撮像画像)を生成することができる。また、各信号の生成方法は、本実施例の形態に限らず、例えば、第2焦点検出信号は、撮像信号と第1焦点検出信号の差分から生成してもよい。
なお、撮像素子107の画素構成として、マイクロレンズ305に対して光電変換部301および光電変換部302を備える構成としたがこれに限られるものではない。例えば、マイクロレンズと光電変換部の間に一部に開口を有する遮光層を備える構成として瞳分割を行ってもよい。近接する画素において遮光層における開口位置を異ならせることによって、光電変換部301および光電変換部302に相当する信号を取得することができる。
[デフォーカス量と像ずれ量の関係]
図9を参照して、撮像素子107の焦点検出画素201から取得される第1の焦点検出信号および焦点検出画素202から取得される第2の焦点検出信号のデフォーカス量と像ずれ量との関係について説明する。図9は、デフォーカス量と像ずれ量との関係図である。図9において、撮像素子107は撮像面600に配置されており、図4および図6と同様に、結像光学系の射出瞳400が瞳部分領域601、602に2分割されている様子が示されている。
図9中に示すデフォーカス量dは、被写体像の結像位置から撮像面600までの距離を|d|とする。そして、結像位置が撮像面600よりも被写体側にある前ピン状態を負符号(d<0)、結像位置が撮像面600よりも被写体の反対側にある後ピン状態を正符号(d>0)として定義される。被写体の結像位置が撮像面600(合焦位置)にある合焦状態において、デフォーカス量d=0が成立する。図9において、合焦状態(d=0)である被写体701、および、前ピン状態(d<0)である被写体702がそれぞれ示されている。前ピン状態(d<0)および後ピン状態(d>0)を併せて、デフォーカス状態(|d|>0)という。
前ピン状態(d<0)では、被写体702からの光束のうち、第1瞳部分領域601(または第2瞳部分領域602)を通過した光束は、一度、集光する。その後、光束は、光束の重心位置G1(G2)を中心とする幅Γ1(Γ2)に広がり、撮像面600ではボケた像となる。ボケた像は、撮像素子107に配列された各画素を構成する焦点検出画素201(焦点検出画素202)により受光され、第1の焦点検出信号(第2の焦点検出信号)が生成される。このため、第1の焦点検出信号(第2の焦点検出信号)は、撮像面600上の重心位置G1(G2)に、被写体702が幅Γ1(Γ2)にボケた被写体像として記録される。被写体像のボケ幅Γ1(Γ2)は、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね比例して増加する。同様に、第1の焦点検出信号と第2の焦点検出信号との間の被写体像の像ずれ量p(=光束の重心位置の差G1-G2)の大きさ|p|も、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね、比例して増加する。後ピン状態(d>0)に関しても同様であるが、第1の焦点検出信号と第2の焦点検出信号との間の被写体像の像ずれ方向が前ピン状態と反対となる。
このように本実施例では、第1の焦点検出信号と第2の焦点検出信号、または、第1および第2の焦点検出信号を加算した撮像信号のデフォーカス量の大きさが増加するのに伴い、第1の焦点検出信号と第2の焦点検出信号との間の像ずれ量の大きさは増加する。
本実施例では、第1の焦点検出信号と第2の焦点検出信号のデフォーカス量と像ずれ量との関係性を用いて、位相差検出方式の焦点調節を行う。位相差検出方式の焦点調節は、第1の焦点検出信号と第2の焦点検出信号を相対的にシフトさせて信号の一致度を表す相関量を計算し、相関(信号の一致度)が良くなるシフト量から像ずれ量を検出する。撮像信号のデフォーカス量の大きさが増加するのに伴い、第1の焦点検出信号と第2の焦点検出信号間との間の像ずれ量の大きさが増加する関係性から、像ずれ量をデフォーカス量に変換することで、位相差検出方式の焦点検出を行う。
ここまで、結像光学系の射出瞳400を、撮像素子107における第1瞳強度分布501、第2瞳強度分布502により、第1瞳部分領域601、第2瞳部分領域602に瞳分割し、位相差検出方式の焦点検出を行うことについて説明した。より詳細には、本実施例の瞳部分領域(第1瞳部分領域601、第2瞳部分領域602)は、撮像素子107のセンサ入射瞳の瞳偏心量、入射瞳距離、及び、結像光学系のレンズ枠ケラレにより決定され、後述するより複雑な形状となる。
続いて、図10から図12を参照して、本実施例における、撮像素子107のセンサ入射瞳の瞳偏心量、入射瞳距離、及び、結像光学系のレンズ枠ケラレと、瞳部分領域(第1瞳部分領域601、第2瞳部分領域602)との関係について説明する。
[センサ入射瞳の瞳偏心]
本実施例の撮像素子107のセンサ入射瞳(瞳強度分布501、502)は、製造中のバラつきなどの理由で、瞳偏心(瞳強度分布の光軸に対する偏心)や入射瞳距離の変化を生じる場合がある。図10は、撮像素子107の全ての画素で、マイクロレンズ305から光電変換部301、302の受光面までの距離が、設計値zsに対して、作製上などの誤差により、距離zs+dzs(誤差+dzs)で構成される例を示している。これに伴い、撮像素子107の入射瞳距離が、設計値Zに対して、入射瞳距離Z+dZ(誤差+dZ)と構成される例を示している。また、撮像素子107の全ての画素で、マイクロレンズ305が、光電変換部301、302に対して、設計値に対して、作製上などの誤差により、瞳分割方向(光電変換部の分割方向)に偏心(偏心量dxs)して構成される例を示している。これに伴い、撮像素子107の入射瞳(瞳強度分布501、502)が、瞳分割方向(光電変換部の分割方向)に偏心(瞳偏心量dX)して構成される例を示している。これらは、撮像素子107を、撮像装置100に配置する際の組み付け誤差などによっても生じる場合がある。なお、各軸方向の誤差量として一定量であるとして説明するが、これに限定されるものではなく、面内で異なる誤差量を有していてもよい。例えば、面内で回転方向に誤差が発生した場合には、回転軸に対する距離によって誤差量は異なり、傾きが発生した場合にも同様に距離によって誤差量が異なるこことなる。
[レンズ枠ケラレ]
次に、図11と図12を参照して、本実施例における、撮像素子107の周辺像高での被写体からの光束のレンズ枠ケラレについて説明する。図11は、撮像素子107の周辺像高における、撮像素子107のセンサ入射瞳の瞳偏心量、入射瞳距離、及び、結像光学系のレンズ枠ケラレと、瞳部分領域(第1瞳部分領域601、第2瞳部分領域602)との関係を、+y側からのxz平面で示している。撮像素子107の入射瞳(瞳強度分布501、502)は、図10と対応しており、入射瞳距離Z+dZの瞳面で、瞳分割方向(光電変換部の分割方向)に、偏心(瞳偏心量dX)して構成される例を示している。
被写体(物体)703からの光束は、結像光学系の物側の第1の枠(物側枠)F1、結像光学系の絞り枠である第3の枠(絞り枠)F3、結像光学系の像側の第2の枠(像側枠)F2により、順番にケラレて、結像面600に到達する。結像光学系の第1から第3の枠でケラレた光束のうち、瞳強度分布501との重なり領域である第1瞳部分領域601を通過した光束は、焦点検出画素201(光電変換部301)で受光される。同様に、結像光学系の第1から第3の枠でケラレた光束のうち、瞳強度分布502との重なり領域である第2瞳部分領域602を通過した光束は、焦点検出画素202(光電変換部302)で受光される。本実施例において第1の枠F1乃至第3の枠F3の形状は光軸を中心とする同心円であるとして説明するが、枠形状の一部が乃至全部が円形でない場合であってもよい。例えば、多角形の形状であってもよいし、いわゆるDカット型の形状であってもよい。
図12では、撮像素子107の入射瞳距離Z+dZだけ離れた位置の瞳面における第1瞳部分領域601と第2瞳部分領域602を示している。結像光学系の第1から第3の枠(F1~F3)の開口部の重なりである射出瞳が、撮像素子107のセンサ入射瞳(第1瞳強度分布501、第2瞳強度分布502)により、第1瞳部分領域601と第2瞳部分領域602に分割される。第1瞳部分領域601と第2瞳部分領域602の領域の形状は各枠形状、枠のz方向の位置、像高、誤差量などによって異なる。
以下、図13を参照して、CPU121により実行される本実施例の焦点検出方法について説明する。図13は、本実施例の焦点検出方法を示すフローチャートである。本実施例の焦点検出方法は、ソフトウエアおよびハードウエア上で動作するコンピュータプログラムとしての焦点検出プログラムにしたがって実行される。焦点検出プログラムは、例えば、撮像装置内の記憶部134に記録されていてもよいし、コンピュータが読み取り可能な記録媒体に記録されていてもよい。また、本実施例ではCPU121が焦点検出方法を実行するが、パーソナルコンピュータ(PC)や専用の装置が焦点検出装置として本実施例の焦点検出方法を実行してもよい。また、本実施例の焦点検出プログラムに対応する回路を設け、回路を動作させることで本実施例の焦点検出方法を実行してもよい。
図13のステップS101では、CPU121は、焦点検出位置設定手段として動作し、焦点検出を行う撮像素子107上の焦点検出位置の像高座標(xAF、yAF)を設定する。次に、像高座標(xAF、yAF)から、式(6)により、焦点検出位置の像高rAFを計算する。なお、像高座標の原点は撮像素子107の光電変換部の重心位置であり、結像光学系の光軸と略一致する。しかし、撮像素子107と結像光学系は所定のバラつきを持って位置するため、バラつき分を考慮して原点位置を決定してもよいし、本実施例ではその説明は省略するが手振れ補正等による光軸位置のシフト分を考慮して像高座標を設定するようしてもよい。
図13のステップS102では、CPU121のレンズ情報取得手段121dは、枠情報取得手段として、光学条件に応じた枠情報を取得する。特に、焦点検出位置の像高座標(xAF、yAF)と、結像光学系(交換レンズ)のフォーカス状態FS、ズーム状態ZS等の光学条件に応じた枠情報を取得する。枠情報は、結像光学系の結像面(撮像素子107の撮像面)から所定の瞳距離Zfだけ離れた位置の瞳面に投影された結像光学系の物側の第1の枠(物側枠)F1の中心C1(xAF、yAF、FS,ZS)と半径R1(xAF、yAF、FS,ZS)を含む。さらに、枠情報は結像光学系の像側の第2の枠(像側枠)F2の中心C2(xAF、yAF、FS,ZS)と半径R2(xAF、yAF、FS,ZS)により構成されている。また、枠情報は、結像光学系の絞り値F(xAF、yAF、FS,ZS)と、絞り枠の射出瞳距離LPO(xAF、yAF、FS,ZS)により構成されている。枠情報は、予め結像光学系の記録媒体等に記録されており、結像光学系と撮像装置100との間で撮像タイミングまたは定期的に所定の周期でデータ通信を行い、結像光学系から取得する。もしくは、予め撮像装置100の記録媒体に保存されている枠情報を用いても良い。なお、データ通信のタイミングはレンズ交換時または起動時等のタイミングであってもよい。また、枠情報を外部装置からネットワーク経由で取得し記憶するようにしてもよい。また、光学条件として、フォーカス状態FS、ズーム状態ZS以外の情報を含んでもよい。例えば、エクステンダーの装着の状態や、チルトまたはシフト量、各種光学フィルタ装着の状態等を含んでもよい。
ステップS102では、次に、像高rAFと、結像光学系の絞り枠の射出瞳距離LPOから、所定の瞳距離Zfの瞳座標に投影した結像光学系の第3の枠F3の中心C3(xAF、yAF、FS,ZS)を、式(7)より算出する。
ステップS102では、次に、像高rAFと、絞り値Fから、所定の瞳距離Zfの瞳座標に投影した結像光学系の第3の枠F3の半径R3(xAF、yAF、FS,ZS)を、式(8)より算出する。
ステップS102では、続いて、枠情報から、第1の開口パラメータa1、第2の開口パラメータa2を算出する。図14に、結像光学系の結像面(撮像素子107の撮像面)から所定の瞳距離Zfだけ離れた位置の瞳面における、結像光学系の第1から第3の枠(F1~F3)の開口部の重なりである射出瞳の例を示す。
第1の開口パラメータa1(0≦a1≦1)は、第3の枠の中心C3から第1の枠の頂点P1までの距離A1を、第3の枠の半径R3で規格化した値であり、式(9A)より算出する。同様に、第2の開口パラメータa2(0≦a2≦1)は、第3の枠の中心C3から第2の枠の頂点P2までの距離A2を、第3の枠の半径R3で規格化した値であり、式(9B)より算出する。
図13のステップS103では、CPU121の画素信号取得手段121aは、撮像素子107の各画素の焦点検出画素201、焦点検出画素202で受光された画素信号を取得する。もしくは、予め本実施例の撮像素子107により撮像され、記録媒体に保存されている画素信号を用いても良い。
ステップS103では、次に、CPU121の信号生成手段121bは、画素信号に基づいて、結像光学系の異なる第1瞳部分領域601に応じた第1焦点検出信号と、第2瞳部分領域602に応じた第2焦点検出信号を生成する。すなわち、同一の瞳部分領域に相当する画素からの信号に基づいてそれぞれの焦点検出信号を生成する。より詳細には、撮像素子107により撮像された画素信号をLFとする。また、LFの各画素信号内での列方向iS(1≦iS≦Nx)番目、行方向jS(1≦jS≦Ny)番目の焦点検出画素信号を、k=Nx(jS-1)+iS(1≦k≦NLF)として、第k焦点検出信号とする。結像光学系の第kの瞳領域に対応した、列方向i番目、行方向j番目の第k焦点検出信号Ik(j、i)を、以下の式(10)により生成する。
本実施例は、Nx=2、Ny=1、NLF=2のx方向2分割で、k=1、k=2の例である。図2に例示した画素配列に対応した画素信号から、画素毎に、x方向2分割された第1焦点検出画素201の信号を選択する。よって、結像光学系の第1瞳部分領域601に対応した、画素数N(=水平画素数NH×垂直画素数NV)の解像度を有するベイヤー配列のRGB信号である第1焦点検出信号I1(j、i)を生成する。同様に、結像光学系の第2瞳部分領域602に対応した第2焦点検出信号I2(j、i)を生成する。
ステップS103では、次に、ベイヤー配列のRGB信号である第k焦点検出信号Ik(k=1、2)から、位置(j,i)ごとに、各色RGBの色重心を一致させて、第k焦点検出輝度信号Yk(k=1、2)を、以下の式(11)により生成する。必要に応じて、焦点検出精度を向上するために、第k焦点検出輝度信号Ykに、シェーディング(光量)補正処理等を行っても良い。
ステップS103では、次に、第k焦点検出輝度信号Yk(k=1、2)に対して、瞳分割方向(列方向)に、1次元バンドパスフィルタ処理を行い、略波数kAF成分に限定された第1焦点検出信号dYAを生成する。また、第2焦点検出輝度信号Y2に対して、瞳分割方向(列方向)に、1次元バンドパスフィルタ処理を行い、略波数kAF成分に限定された第2焦点検出信号dYBを生成する。1次元バンドパスフィルタとしては、例えば、1次微分型フィルタ[1、5、8、8、8、8、5、1、-1、-5、-8、-8、-8、-8、-5、-1]などを用いることができる。必要に応じて、1次元バンドパスフィルタの通過帯域を調整することが好ましい。また、一般的に、位相差検出方式の焦点検出では、大デフォーカス状態での焦点検出を行うため、フィルタ処理の通過帯域は低周波帯域を含むように構成される。ただし、必要に応じて、大デフォーカス状態から小デフォーカス状態まで焦点調節を行う際に、デフォーカス状態に応じて、焦点検出の際のフィルタ処理の通過帯域を高周波帯域側に調整してもよい。
図13のステップS104では、CPU121の焦点検出手段121cは、像ズレ量検出手段として、焦点検出信号に基づいて、検出像ずれ量を算出する。焦点検出位置(jAF、iAF)を中心として、行方向j2(-n2≦j2≦n2)番目、瞳分割方向である列方向i2(-m2≦i2≦m2)番目の略波数kAF成分に限定された第1焦点検出信号をdYA(jAF+j2、iAF+i2)とする。さらに、第2焦点検出信号をdYB(jAF+j2、iAF+i2)とする。シフト量をs(-ns≦s≦ns)として、各位置(jAF,iAF)での相関量COREVEN(jAF,iAF、s)を、式(12A)により算出し、相関量CORODD(jAF,iAF、s)を、式(12B)により算出する。
相関量CORODD(jAF,iAF、s)は、相関量COREVEN(jAF,iAF、s)に対して、略波数kAF成分に限定された第1焦点検出信号dYAと第2焦点検出信号dYBのシフト量を半位相-1シフトずらした相関量である。
図13のステップS104では、次に、相関量COREVEN(jAF,iAF、s)と相関量CORODD(jAF,iAF、s)から、それぞれ、サブピクセル演算により、相関量が最小値となる実数値のシフト量を算出して平均値を算出する。そして、焦点検出位置(jAF、iAF)における検出像ずれ量qdetを算出する。
[変換係数]
図13のステップS105では、CPU121の焦点検出手段121cは、変換係数取得手段として、検出像ずれ量qdetから、検出デフォーカス量ddetへ変換するための変換係数Kを算出する。ステップS105の変換係数Kの算出について、図15を用いて詳細に説明する。なお、本実施例において各ステップの処理は、CPU121の焦点検出手段121cが行う例を示すが、外部のPC等によって変換係数Kの算出工程の一部を行い、メモリ等にその結果を保持する様にしてもよい。算出工程の一部を事前に行うことで、CPU121の演算負荷を低減することができる。
図15は、本実施例における変換係数Kの算出方法を示すフローチャートである。図15のステップS201では、CPU121の焦点検出手段121cは、仮想デフォーカス量設定手段として、仮想デフォーカス量dvirを設定する。本実施例の仮想デフォーカス量dvirは、変換係数Kを決定するための開口パラメータを算出するための仮定のデフォーカス量である。例えば前ピン状態(dvir<0)に十分被写体がボケ得るだけ所定量デフォーカスした状態または、後ピン状態(dvir>0)に所定量デフォーカスした状態に設定する。また、複数の仮想デフォーカス量dvirを用いることによって変換係数Kを算出するようにしてもよい。後述するように求める変換係数Kは略線形関係にある仮想デフォーカス量dvirと検出像ずれ量qdetとの比によって算出される。つまり、横軸に仮想デフォーカス量dvirを、縦軸に検出像ずれ量qdetをとった場合の傾きに相当する。したがって、仮想デフォーカス量dvirの設定を前ピンと後ピンの両方で算出することで、高精度に傾きである変換係数Kを算出することが可能となる。
図15のステップS202では、CPU121の焦点検出手段121cは、仮想焦点検出信号生成手段として、仮想デフォーカス量dvirと、撮像素子のセンサ入射瞳(第1瞳強度分布、第2瞳強度分布)を生成する。さらに、撮像素子の個体毎の瞳偏心量dX、撮像素子の個体毎の入射瞳距離Z、像高座標(xAF、yAF)を生成する。そして、第1仮想焦点検出信号VI1(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)と第2仮想焦点検出信号VI2(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)を生成する。これは、結像光学系の枠情報(絞り値F、絞り枠の射出瞳距離LPO、第1の開口パラメータa1、第2の開口パラメータa2)に対応している。さらに、結像光学系の枠情報に対応した第1仮想焦点検出信号VI1(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)と第2仮想焦点検出信号VI2(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)を生成する。当該結像光学系の枠情報は、絞り値F、絞り枠の射出瞳距離LPO、第1の開口パラメータa1、第2の開口パラメータa2等が含まれるが、これに限定されない。なお、撮像素子のセンサ入射瞳(第1瞳強度分布、第2瞳強度分布)、撮像素子の個体毎の瞳偏心量dX、撮像素子の個体毎の入射瞳距離Zは個体ごとに変化することのある値である。そのため、工場製造時に測定しておき、メモリに調整値または固定値として保存しておく。像高座標(xAF、yAF)はユーザー操作によって、またはCPU121によって自動で決定される値であり、撮像タイミングごとに異なる。そのため、演算の都度取得する必要がある。さらに、結像光学系の枠情報(絞り値F、絞り枠の射出瞳距離LPOも撮像タイミングごとに変化し得る値であるため、演算の都度取得することが好ましい。そして、本発明の特徴である第1の開口パラメータa1、第2の開口パラメータa2も式(9A)および式(9B)で示すように、撮像タイミングごとに変化し得る。これらの値は、結像光学系(交換レンズ)と撮像装置(カメラ)100との間で撮像タイミングまたは定期的にデータ通信をすることで取得する。このように適宜データ通信によって各パラメータを取得することで、画像信号を取得する取得条件に相当する撮像条件に合わせたパラメータで変換係数Kを算出することができる。なお、取得条件には本実施例に示す条件以外の条件を含めるようにしてもよい。
従来、変換係数Kを算出するには、変換係数Kの依存パラメータ(dX、Z、xAF、yAF、F、LPO)に加えて、結像光学系の第1の枠の中心C1と半径R1および第2の枠の中心C2と半径R2の値が必要となる。一方で、本実施例の変換係数Kの算出方法では、結像光学系の第1の枠の中心C1と半径R1から算出され、レンズ枠ケラレの割合を示す第1の開口パラメータa1が用いられる。さらに、結像光学系の第2の枠の中心C2と半径R2から算出される。そして、レンズ枠ケラレの割合を示す第2の開口パラメータa2をも用いることにより、変換係数Kの依存パラメータ(dX、Z、xAF、yAF、F、LPO、a1、a2)の総数を抑制するという特徴がある。
図16は、本実施例の仮想焦点検出信号(第1仮想焦点検出信号VI1、第2仮想焦点検出信号VI2)の生成方法を示している。図16の上段左図では、はじめに、CPU121は、撮像素子107の第1瞳強度分布501および第2瞳部分領域602、瞳偏心量dX、入射瞳距離Z、像高座標(xAF、yAF)、結像光学系の絞り値F、絞り枠の射出瞳距離LPOを取得する。さらに、第1の開口パラメータa1(0≦a1≦1)、第2の開口パラメータa2(0≦a2≦1)を取得する。各値は本フローチャートの処理の開始前あるいは開始と同時にメモリ上に固定値またはテーブルとして記憶され、またはユーザーが指定した撮像条件に基づいた値であり、各値をメモリ等に取得する。
次に、結像光学系の絞り枠の射出瞳距離LPOから、所定の瞳距離Zfの瞳座標に投影した結像光学系の第3の枠(絞り枠)F3の中心C3を、式(7)より算出する。結像光学系の絞り値Fから、所定の瞳距離Zfの瞳座標に投影した結像光学系の第3の枠(絞り枠)F3の半径R3を、式(8)より算出する。
次に、図14に示すように、第1から第3の枠(F1~F3)が同一点で交わると仮定したモデルを前提として、第1の開口パラメータa1から、仮想焦点検出信号の生成に用いる第1の枠の半径R1を式(13A)により算出する。同様に、第2の開口パラメータa2から、仮想焦点検出信号の生成に用いる第2の枠の半径R2を式(13B)により算出する。一般的に、第1から第3の枠(F1~F3)は同一点では交わらないが、実際の撮像光学系においては代表的な配置であり、同一点で交わる配置でモデル化することによって少ないパラメータで精度よく第1の枠F1と第2の枠F2の形状を算出することができる。これにより、変換係数Kの算出の精度を向上させることができる。
次に、第1の開口パラメータa1から、仮想焦点検出信号の生成に用いる第1の枠の半径C1を式(9A)により算出する。同様に、第2の開口パラメータa2から、仮想焦点検出信号の生成に用いる第2の枠の半径C2を式(9B)により算出する。
図16の上段左図では、次に、第1仮想瞳部分領域VP1と第2仮想瞳部分領域VP2を生成する。これは、撮像素子の第1瞳強度分布501、第2瞳強度分布502、撮像素子の個体毎の瞳偏心量dX、撮像素子の個体毎の入射瞳距離Z、像高座標(xAF、yAF)、結像光学系の第1から第3の枠(F1~F3)に対応している。
図16の上段中央図では、第1仮想瞳部分領域VP1を瞳分割方向に垂直な方向に射影し、仮想デフォーカス量dvirの大きさ|dvir|に応じたスケール変換を行い、第1仮想線像Aを生成する。同様に、第2仮想瞳部分領域VP2を瞳分割方向に垂直な方向に射影し、仮想デフォーカス量dvirの大きさ|dvir|に応じたスケール変換を行い、第2仮想線像Bを生成する。仮想デフォーカス量dvir<0で前ピン状態の場合は、第1仮想線像Aと第2仮想線像Bを加算した線像A+Bの重心位置を中心として、第1仮想線像Aと第2仮想線像Bに対して、左右反転変換を行う。
図16の上段中央図から上段右図では、仮想線像(第1仮想線像A、第2仮想線像B)と被写体信号との畳み込み積分(コンボリューション)を行い、仮想被写体像(第1仮想被写体像VAI、第2仮想被写体像VBI)を生成する。
図16の上段右図から下段右図では、仮想被写体像(第1仮想被写体像VAI、第2仮想被写体像VBI)に、順次、仮想的に、光学ローパスフィルタ処理、画素開口ローパスフィルタ処理、RGBベイヤー配列(図2)での画素サンプリング処理などを行う。そして、第1仮想焦点検出信号VI1(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)と第2仮想焦点検出信号VI2(j、i|dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)を生成する。
図15のステップS203(及び、図16の下段)では、CPU121の焦点検出手段121cは、仮想焦点検出信号(第1仮想焦点検出信号VI1、第2仮想焦点検出信号VI2)に対して、順次、仮想的に、撮像装置と同等の焦点検出処理を行う。当該処理には、少なくともステップS103の式(11)から、ステップS104のサブピクセル演算とシフト量の平均算出までを含む。そして、仮想像ずれ量qvir(dvir、dX、Z、xAF、yAF、F、LPO、a1、a2)を算出する。なお、仮想像ずれ量qvirの算出において、算出精度を向上させるために仮想線像と畳み込み積分を行う被写体信号は複数種類用いることが望ましい。例えば、異なる空間周波数帯域を有する複数の被写体信号を仮想線像と畳み込み積分を行い、その結果を平均乃至重みづけ加算等を行うことで、より高精度の算出が可能となる。
図15のステップS204では、仮想デフォーカス量dvirを、算出された仮想像ずれ量qvirで除算することで、変換係数K(dX、Z、xAF、yAF、F、LPO、a1、a2)を算出する。なお、変換係数Kの算出において、すでに述べたように複数の仮想でフォーカス量dvirまたは被写体信号を用いることが望ましい。演算負荷または演算時間としては増えるが、精度の向上という効果を得ることができる。
ここで、図13の説明に戻る。図13のステップS106では、検出デフォーカス量算出手段は、検出像ずれ量qdetに変換係数K(dX、Z、xAF、yAF、F、LPO、a1、a2)を乗算し、検出デフォーカス量ddetを算出する。なお、検出デフォーカス量ddetを算出は撮像素子107から出力される画素信号に対して実施する例を示したが、これに限られずメモリ等に記憶された画素信号に対して実行する場合であってもよい。
本実施例は、結像光学系の異なる瞳領域を通過した光を光電変換して得られた画素信号を用いて焦点検出を行う焦点検出装置である。そして、画素信号を取得する取得手段と、画素信号を用いて、異なる瞳領域に対応する複数の焦点検出信号を生成する信号生成手段と、複数の焦点検出信号に基づいて検出像ずれ量を算出する。また、検出像ずれ量と変換係数から検出デフォーカス量を検出する焦点検出手段と、を有し、焦点検出手段は、仮想デフォーカス量を設定して異なる瞳領域に対応する複数の仮想焦点検出信号を生成する。これにより、仮想焦点検出信号の相関量から仮想像ずれ量を算出し、仮想像ずれ量と仮想デフォーカス量とから、変換係数を算出する。
本実施例は、結像光学系の異なる瞳領域を通過した光を受光する複数の画素を配列した撮像素子と、画素で取得された画素信号を用いる。そして、異なる瞳領域に対応する複数の焦点検出信号を生成する信号生成手段と、複数の焦点検出信号に基づいて検出像ずれ量を算出し、検出像ずれ量と変換係数から検出デフォーカス量を検出する焦点検出手段と、を有する焦点検出装置である。そして、焦点検出手段は、撮像素子の瞳偏心量と、撮像素子の入射瞳距離と、結像光学系の複数の枠の開口情報と、に基づいて前記変換係数を算出する。
以上により、本実施例では、レンズ交換式カメラにおいて、撮像素子の各個体と、各交換レンズ(結像光学系)との任意の組み合わせに対して、変換係数K(dX、Z、xAF、yAF、F、LPO、a1、a2)を高精度に算出することができる。つまり、撮像素子の個体毎の光学特性と交換レンズ(結像光学系)毎の光学特性に基づき、撮像装置での位相差検出方式の焦点検出処理を仮想的に再現することで、変換係数K(dX、Z、xAF、yAF、F、LPO、a1、a2)を高精度に算出することができる。したがって、高精度に焦点検出を行うことができる。
本実施例では、図15に示す処理フローに基づいてCPU121が変換係数Kを算出する例を示したが、あらかじめ、各パラメータ(dX、Z、xAF、yAF、F、LPO、a1、a2)の設定パラメータに対応する、変換係数Kを計算するようにしてもよい。計算した結果である変換係数Kは、撮像装置内の記憶部134等に格納しておく。
図17に、第1の開口パラメータa1(0≦a1≦1)、第2の開口パラメータa2(0≦a2≦1)の設定パラメータ振りでの仮想瞳強度分布(第1仮想瞳部分領域、第2仮想瞳部分領域)の変化例を示す。
本実施例の変形例として、撮像装置内の記憶部134に格納するデータ量を抑制するために、変換係数の逆数1/K(dX、Z、xAF、yAF、F、LPO、a1、a2)を、変数(1-a1)、変数(1-a2)の多項式関数で近似する。そして、多項式の各次数の係数PDαβ(dX、Z、xAF、yAF、F、LPO)をメモリに格納しておく。つまり、ステップS105では、CPU121は変換係数取得手段として、図15に示すフローによって変換係数Kを算出せずに、式(14)により、変換係数K(dX、Z、xAF、yAF、F、LPO、a1、a2)を算出する。
本変形例では、メモリ上には係数PDαβ(dX、Z、xAF、yAF、F、LPO)を記憶しておき、撮像タイミングなどに応じて撮像装置のCPU121にて変換係数Kの算出を実行する。このように、図15に示すフローを実行するのではなく、事前に算出しておいた係数と式(14)を用いることで演算負荷を低減することができる。PDαβは、第1の開口パラメータa1、第2の開口パラメータa2を含まないため、設定可能な絞り値F、絞り枠の射出瞳距離LPOの取り得る範囲が決まっていれば、撮像光学系によらず算出することができる。また、本実施例の変換係数の算出に対応する回路を設け、回路を動作させることで、本実施例の変換係数Kを算出しても良いし、式(14)を用いて事前に変換係数Kを算出してメモリに格納しておいてもよい。また、格納するメモリはカメラ本体側であってもよいし、一部または全部をレンズ用メモリに格納し、レンズ通信回路130経由で取得してもよい。
なお、図12より絞り値Fが十分に大きい(小絞り)場合、第1の枠F1および第2の枠F2の影響をほとんど受けず、第3の枠F3によって第1瞳部分領域601および第2瞳部分領域602が決定することとなる。つまり、変換係数Kの値は第1の開口パラメータa1、第2の開口パラメータa2に依存する度合いが少なくなる。したがって、本実施例の変換係数Kの算出は絞り値Fが小さい場合に好適で、逆に大きい場合には演算負荷によっては省略することができる。すなわち絞り値Fが大きい場合など、第1の開口パラメータa1、第2の開口パラメータa2に依存度が低い場合には、本実施例の演算を一部省略することで、高精度の焦点検出と演算負荷の低減を両立することが可能となる。