以下、図面を参照しながら本発明の例示的な実施形態について説明する。なお、実施形態は発明の理解と説明を容易にするため、具体的かつ特定の構成を有するが、本発明はそのような特定の構成に限定されない。例えば、以下では本発明をレンズが交換可能な一眼レフタイプのデジタルカメラに適用した実施形態について説明するが、本発明は、レンズを交換できないタイプのデジタルカメラ及びビデオカメラに対しても適用可能である。また、本発明は、カメラを備えた任意の電子機器にも適用可能である。カメラを備えた電子機器の例としては、携帯電話機、パーソナルコンピュータ(ラップトップ型、タブレット型、デスクトップ型など)、ゲームなどが挙げられる。
[第1の実施形態]
(撮像装置の構成の説明−レンズユニット)
図2は、第1の実施形態に係る撮像装置の一例であるデジタルカメラの機能構成例を示すブロック図である。本実施形態のデジタルカメラは、レンズ交換式一眼レフカメラであり、撮影光学系の一部を含むレンズユニット100と、撮像ユニットとしてのカメラ本体120とを有する。レンズユニット100は図中央の点線で示されるマウントMを介して、カメラ本体120に装着される。
レンズユニット100は、光学系(第1レンズ群101、絞り102、第2レンズ群103、フォーカスレンズ群(以下、単に「フォーカスレンズ」という)104)、及び、これらの駆動/制御系を有する。このように、レンズユニット100は、フォーカスレンズ104を含み、被写体の光学像を形成する撮影レンズである。
第1レンズ群101はレンズユニット100の入光部側の先端に配置される。第1レンズ群101は、光軸方向OAに移動可能に保持される。絞り102は、撮影時の光量を調節する機能、及び静止画撮影時に露出時間を制御するメカニカルシャッタの機能を有する。絞り102及び第2レンズ群103は、一体で光軸方向OAに移動可能であり、第1レンズ群101と連動して移動することによりズーム機能を実現する。フォーカスレンズ104も、光軸方向OAに移動可能である。フォーカスレンズ104の位置に応じて、合焦する被写体距離(合焦距離)が変化する。フォーカスレンズ104の光軸方向OAにおける位置を制御することにより、レンズユニット100の合焦距離を調節する焦点調節が行われる。
駆動/制御系は、ズームアクチュエータ111、絞りシャッタアクチュエータ112、フォーカスアクチュエータ113、ズーム駆動回路114、絞りシャッタ駆動回路115、フォーカス駆動回路116、レンズMPU117、レンズメモリ118を有する。ズーム駆動回路114は、ズームアクチュエータ111を用いて第1レンズ群101及び第2レンズ群103を光軸方向OAに駆動することにより、レンズユニット100の光学系の画角を制御する。絞りシャッタ駆動回路115は、絞りシャッタアクチュエータ112を用いて絞り102を駆動することにより、絞り102の開口径及び開閉を制御する。フォーカス駆動回路116は、フォーカスアクチュエータ113を用いてフォーカスレンズ104を光軸方向OAに駆動することにより、レンズユニット100の光学系の合焦距離を制御する。また、フォーカス駆動回路116は、フォーカスアクチュエータ113を用いてフォーカスレンズ104の現在位置を検出する。
レンズMPU(Micro Processing Unit)117は、レンズユニット100に係る演算及び制御を行い、ズーム駆動回路114、絞りシャッタ駆動回路115、フォーカス駆動回路116を制御する。また、レンズMPU117は、マウントMの信号線を通じてカメラMPU125と接続され、コマンド及びデータをカメラMPU125と通信する。例えば、レンズMPU117は、フォーカスレンズ104の現在位置などに関する情報をフォーカス駆動回路116から取得する。レンズMPU117は、カメラMPU125からの要求に応じて、レンズ位置情報をカメラMPU125に通知する。このレンズ位置情報は、フォーカスレンズ104の光軸方向OAにおける位置、光学系が移動していない状態の射出瞳の光軸方向OAにおける位置及び直径、射出瞳の光束を制限するレンズ枠の光軸方向OAにおける位置及び直径などの情報を含む。またレンズMPU117は、カメラMPU125からの要求に応じて、ズーム駆動回路114、絞りシャッタ駆動回路115、フォーカス駆動回路116を制御する。レンズメモリ118には自動焦点検出に必要な光学情報があらかじめ記憶されている。また、レンズメモリ118に、さらにレンズユニット100の動作に必要なプログラムなどが記憶されていてもよい。カメラMPU125は、例えば、内蔵する不揮発性メモリ、あるいはレンズメモリ118に記憶されているプログラムを実行することで、レンズユニット100の動作を制御する。
(撮像装置の構成の説明−カメラ本体)
カメラ本体120は、光学系(光学ローパスフィルタ121及び撮像素子122)と、駆動/制御系とを有する。レンズユニット100の第1レンズ群101、絞り102、第2レンズ群103及びフォーカスレンズ104並びにカメラ本体120の光学ローパスフィルタ121は撮影光学系を構成する。
光学ローパスフィルタ121は、撮影画像の偽色やモアレを軽減する。撮像素子122はCMOSイメージセンサと周辺回路で構成され、CMOSイメージセンサは、横方向(X方向)にm画素、縦方向(Y方向)にn画素(n、mは2以上の整数)が行列状に配置されたエリアセンサを含む。本実施形態の撮像素子122は、瞳分割機能を有し、画像データを用いた位相差AFが可能である瞳分割画素である。
駆動/制御系は、撮像素子駆動回路123、画像処理回路124、カメラMPU125、表示器126、操作スイッチ群127、メモリ128、位相差AF部129及びコントラストAF部130を有する。
撮像素子駆動回路123は、撮像素子122の動作を制御するとともに、取得した画像信号をA/D変換してカメラMPU125に送信する。画像処理回路124は、撮像素子122が取得した画像データに対し、例えばガンマ補正、ホワイトバランス調整処理、色補間処理、圧縮符号化処理などの画像処理を行う。また、画像処理回路124は位相差AF用の信号も生成する。すなわち、画像処理回路124は、位相差AF用のデータと、表示、記録及びコントラストAF用の画像データとを生成し得る。
カメラMPU(プロセッサ)125は、カメラ本体120に係る演算、制御を行う情報処理装置である。より具体的には、カメラMPU125は、撮像素子駆動回路123、画像処理回路124、表示器126、操作スイッチ群127、メモリ128、位相差AF部129、及びコントラストAF部130を制御する。カメラMPU125は、マウントMの信号線を介してレンズMPU117と接続され、レンズMPU117とコマンド及びデータを通信する。カメラMPU125はレンズMPU117に対し、レンズ位置の取得要求、絞り駆動要求、フォーカスレンズ駆動要求、ズーム駆動要求、レンズユニット100に固有の光学情報の取得要求など行う。カメラMPU125には、カメラ動作を制御するプログラムを格納したROM125a、変数を記憶するRAM125b(カメラメモリ)、種々のパラメータを記憶するEEPROM125cが内蔵されている。なお、レンズメモリ118及びRAM125bは、それぞれ本実施形態の処理のための収差情報等を記憶する第1のメモリ及び第2のメモリとして機能する。
表示器126は、液晶ディスプレイなどから構成され、カメラの撮影モードに関する情報、撮影前のプレビュー画像、撮影後の確認用画像、焦点検出時の合焦状態表示画像などを表示する。操作スイッチ群127は、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチなどで構成される。本実施形態の記録手段としてのメモリ128は、例えば着脱可能なフラッシュメモリであり、撮影済み画像を記録する。
位相差AF部129は、画像処理回路124により得られる焦点検出用データを用いて位相差検出方式による焦点検出処理を行う。より具体的には、画像処理回路124は、撮影光学系の一対の瞳領域を通過する光束で形成される一対の像データを焦点検出用データ又は画像用データとして生成する。位相差AF部129は、この一対の像データのずれ量に基づいて焦点ずれ量を検出する。このように、本実施形態の位相差AF部129は、専用のAFセンサを用いず、撮像素子122の出力に基づく位相差AF(像面位相差AF)を行う。位相差AF部129の動作についての詳細は後述する。なお、位相差AFに用いるデータが、一対、すなわち2個であることは必須ではなく、3個以上でもよい。
位相差AFの処理が可能なデジタルカメラは、複数の瞳領域に対応した撮影画像である視差画像を記録することも可能である。ユーザーは、複数の視差画像から所望の画像を選択することが可能となる。これにより、所望の視差、所望の被写界深度の画像を撮影画像として記録可能となる。例えば、ユーザーは、記録する画像として、オクルージョンの少ない画像、被写体のコントラストが高い画像等を選択できる。
コントラストAF部130は、画像処理回路124が生成するコントラストAF用評価値(画像データのコントラスト情報)に基づいてコントラスト方式の焦点検出処理を行う。コントラスト方式の焦点検出処理においては、フォーカスレンズ104を移動させてコントラストAF用評価値がピークとなる位置が合焦位置として検出される。
このように、本実施形態のデジタルカメラは位相差AFとコントラストAFの両方を実行可能であり、状況に応じてこれらのいずれか一方を選択的に使用したり、組み合わせて使用したりすることができる。
(焦点検出動作の説明:位相差AF)
以下、位相差AF部129及びコントラストAF部130の動作についてさらに説明する。最初に、位相差AF部129の動作について説明する。
図3(a)は本実施形態における撮像素子122の画素配列を示す図である。図3(a)には、2次元CMOSエリアセンサの縦(Y方向)6行と横(X方向)8列の範囲の画素211を、レンズユニット100側から観察した状態が示されている。撮像素子122にはベイヤー配列のカラーフィルタが設けられている。奇数行目には、左から順に、緑(G)のカラーフィルタを有する画素211と、赤(R)のカラーフィルタを有する画素211とが交互に配置されている。偶数行目には、左から順に青(B)のカラーフィルタを有する画素211と、緑(G)のカラーフィルタを有する画素211とが交互に配置されている。画素211上には、図中に円で示されているようにオンチップマイクロレンズ211iが設けられている。また、画素211は、図中に矩形で示されているように、上面視においてオンチップマイクロレンズの内側に配置された光電変換部211a、211bを有する。
各画素211はX方向に並ぶ2つの光電変換部211a、211bを有している。換言すると、各画素211はX方向に2分割されている。この構成により、光電変換部211a、211bから出力される光電変換信号を個別に読み出すことと、2つの光電変換信号の和を読み出すことが可能である。また、2つの光電変換信号の和から一方の光電変換部からの光電変換信号を減じることで、他方の光電変換部からの光電変換信号に相当する信号を得ることができる。個々の光電変換部からの光電変換信号は位相差AF用のデータとして用いることができる。また、個々の光電変換部からの画像信号は3D(3-Dimensional)画像を構成する視差画像の生成に用いることもできる。また、光電変換信号の和を、通常の撮影画像データとして用いることができる。
ここで、位相差AFを行う際の光電変換信号に対する演算について説明する。後述するように、本実施形態においては、図3(a)のオンチップマイクロレンズ211iと、分割された光電変換部211a、211bにより撮影光学系の射出光束を瞳分割する。光電変換部211a、211bは本実施形態中で瞳分割画素を構成する。そして、所定範囲内の複数の画素211について、光電変換部211aの出力を加算して得られた信号をAF用A像、光電変換部211bの出力を加算して得られた信号をAF用B像とする。一例としては、AF用A像及びAF用B像は、カラーフィルタの単位配列に含まれる緑、赤、青、緑の各色の4つの画素211からの信号を加算することで算出された疑似的な輝度(Y)信号を用いる。ただし、赤、青、緑の色ごとに、AF用A像及びAF用B像を生成してもよい。このようにして生成されたAF用A像とAF用B像の間の相対的な像ずれ量を相関演算により算出することで、所定領域の焦点ずれ量(デフォーカス値)を算出することができる。
本実施形態では、一方の光電変換部からの出力信号と、2つの光電変換部からの出力信号の和に相当する信号との2つの信号が撮像素子122から読み出されるものとする。例えば、光電変換部211aからの出力信号と、光電変換部211a、211bの出力信号の和に相当する出力信号とが読み出される場合を考える。この場合、光電変換部211bの出力信号は、上述の和に相当する出力信号から光電変換部211aからの出力信号を減じることで取得され得る。これにより、AF用A像とAF用B像の両方を得ることができ、位相差AFが実現され得る。なお、これらの複数の画像信号の取得は画像信号取得手段として動作するカメラMPU125により制御される。
図3(b)は本実施形態の撮像素子122の読み出し回路の構成例を示す図である。撮像素子122は、水平走査回路151、垂直走査回路153を有する。行方向及び列方向に配列された複数の画素211の境界部には、列方向に並ぶ複数の画素211に沿って水平走査ライン152a、152bが配され、行方向に並ぶ画素211に沿って垂直走査ライン154a、154bが配される。各行の垂直走査ライン154aは、垂直走査回路153と、対応する行の複数の光電変換部211aとを接続する。各行の垂直走査ライン154bは、垂直走査回路153と、対応する行の複数の光電変換部211bとを接続する。各列の水平走査ライン152aは、水平走査回路151と、対応する列の複数の光電変換部211aとを接続する。各列の水平走査ライン152bは、水平走査回路151と、対応する列の複数の光電変換部211bとを接続する。垂直走査回路153は、垂直走査ライン154a、154bを介して、各画素211に制御信号を送信し、信号の読み出し等の制御を行う。水平走査回路151は、水平走査ライン152a、152bを介して、各画素211から信号を読み出す。
なお、本実施形態の撮像素子122は、以下の2種類の読み出しモードでの信号の読み出しが可能である。第1の読み出しモードは、高精細静止画を撮影するための全画素読み出しモードである。全画素読み出しモードでは、撮像素子122に含まれる全ての画素211からの信号が読み出される。
第2の読み出しモードは、動画記録、あるいはプレビュー画像の表示のみを行うための間引き読み出しモードである。動画記録、あるいはプレビュー画像の表示の用途では、高精細静止画を撮影する場合と比べて要求される解像度が低い。そのため、これらの用途の場合、撮像素子122に含まれる全画素から信号を読み出す必要がないため、所定比率に間引いた一部の画素のみから信号を読み出す間引き読み出しモードでの動作が行われる。また、高速に読み出す必要がある場合には、同様に間引き読み出しモードが用いられる。間引きの一例としては、X方向の間引きを行う際には、複数の画素からの信号を加算してS/N比の改善を図り、Y方向の間引きを行う際には、間引かれる行の信号出力を無視するという処理を行うことが可能である。位相差AF及びコントラストAFは、第2の読み出しモードで読み出された信号に基づいて行うことで、高速な処理が可能である。
図4(a)及び図4(b)は、本実施形態における撮影光学系の構造図である。図4(a)及び図4(b)を参照して、撮影光学系の射出瞳面と、像高ゼロすなわち像面中央近傍に配置された撮像素子の光電変換部との共役関係を説明する。撮像素子122内の光電変換部211a、211bと撮影光学系の射出瞳面は、オンチップマイクロレンズ211iによって共役関係となるように設計される。撮影光学系の射出瞳面は、一般的に光量調節用の虹彩絞りが置かれる面とほぼ一致する。一方、本実施形態の撮影光学系は変倍機能を有したズームレンズであるが、撮影光学系のタイプによっては変倍操作を行うと、射出瞳の像面からの距離や大きさが変化することがある。図4(a)では、レンズユニット100の焦点距離が広角端と望遠端の中央にある状態を示されている。この状態における射出瞳距離Zepを標準値として、オンチップマイクロレンズの形状及び像高(X,Y座標)に応じた偏心パラメータの最適設計がなされる。
図4(a)は、撮影光学系のXZ断面を示している。レンズユニット100に対応する部分として、第1レンズ群101、鏡筒部材101b、開口板102a、絞り羽根102b、フォーカスレンズ104及び鏡筒部材104bが図示されている。鏡筒部材101bは、第1レンズ群101を保持する部材である。開口板102aは絞り開放時の開口径を規定する部材である。絞り羽根102bは絞り込み時の開口径を調節する部材である。鏡筒部材104bは、フォーカスレンズ104を保持する部材である。図2で説明した第2レンズ群103は図4(a)では図示を省略している。
なお、鏡筒部材101b、開口板102a、絞り羽根102b及び鏡筒部材104bは、撮影光学系を通過する光束に対する制限部材として作用する。図4(a)に図示された鏡筒部材101b、開口板102a、絞り羽根102b及び鏡筒部材104bは、像面から観察した場合の光学的な虚像を模式的に示すものであり、必ずしも実際の構造を示すものではない。また、絞り102の近傍における合成開口をレンズの射出瞳と定義し、前述したように像面から射出瞳までの射出瞳距離をZepとしている。
画素211は像面中央近傍に配置されている。画素211は、最下層より順に、光電変換部211a、211b、配線層211e、211f、211g、カラーフィルタ211h、及びオンチップマイクロレンズ211iの各部材を備えている。そして2つの光電変換部211a、211bはオンチップマイクロレンズ211iによって撮影光学系の射出瞳面に投影される。換言すれば、撮影光学系の射出瞳が、オンチップマイクロレンズ211iを介して、光電変換部211a、211bの表面に投影される。
図4(b)は、撮影光学系の射出瞳面上における、光電変換部211a、211bの投影像を示したものである。図4(b)には、光電変換部211a及び211bに対する投影像が、それぞれ、瞳領域EP1a及びEP1bとして示されている。上述のように、画素211は、2つの光電変換部211a、211bのいずれか一方からの信号と、2つの光電変換部211a、211bからの信号の和とを出力することができる。2つの光電変換部211a、211bからの信号の和は、瞳領域EP1a、EP1bの両方の領域、すなわち、撮影光学系の瞳領域のほぼ全域(瞳領域TL)を通過した光束に基づく信号に対応する。このようにして、本実施形態の光電変換部211aと211bは瞳分割画素を構成する。
図4(a)において、撮影光学系を通過する光束の最外部が線分Lで示されている。図4(a)の配置では、線分Lの位置は、絞り102の開口板102aの端部の位置で決定されている。そのため、図4(a)に示されるように、瞳領域EP1a、EP1bに対応する投影像は撮影光学系によるケラレがほぼ発生していない。図4(b)では、図4(a)の射出瞳面上における光束の最外部がTL(102a)の符号が付された円で示されている。図4(a)に示されるように、円の内部に、光電変換部211a、211bの投影像に対応する瞳領域EP1a、EP1bの大部分が含まれていることからも、ケラレがほぼ発生していないことがわかる。撮影光学系を通過する光束は、絞りの端部でのみ制限されているため、この円は、絞り102の開口部に相当する。像面中央では各投影像に対応する瞳領域EP1a、EP1bのケラレは光軸に対して対称となる。そのため、各光電変換部211a、211bが受光する光量は等しい。
位相差AFを行う場合、画像信号取得手段として動作するカメラMPU125は、撮像素子122から上述した2種類の出力信号を読み出すように撮像素子駆動回路123を制御する。このとき、カメラMPU125は、画像処理回路124に対して焦点検出領域を示す情報を与える。さらに、カメラMPU125は、焦点検出領域内に含まれる画素211の出力信号から、AF用A像及びAF用B像のデータを生成して位相差AF部129に供給するよう命令する。画像処理回路124はこの命令に従ってAF用A像及びAF用B像のデータを生成して位相差AF部129に出力する。画像処理回路124は、また、コントラストAF部130に対してRAW画像データを供給する。
以上説明したように、撮像素子122は、位相差AF及びコントラストAFを行い得る機能を有している。換言すると、撮像素子122は、位相差AF及びコントラストAFの両方について、焦点検出装置の一部を構成している。
なお、ここでは一例として水平方向(X方向)に射出瞳が2分割されている構成を説明したが、撮像素子122の一部又は全部の画素について垂直方向(Y方向)に射出瞳を2分割する構成としてもよい。また、例えば、画素211に光電変換部を4個配置することにより、水平方向及び垂直方向の両方向に射出瞳が分割される構成としてもよい。このように垂直方向に射出瞳が分割される画素211を設けることにより、水平方向だけでなく垂直方向の被写体のコントラストに対応した位相差AFが可能となる。
(焦点検出動作の説明:コントラストAF)
次に、図5を用いて、コントラストAFについて説明する。コントラストAFは、カメラMPU125とコントラストAF部130が連携してフォーカスレンズ104の駆動と評価値の算出を繰り返し行うことで実現される。
図5は、第1の実施形態に係るコントラストAF部130の構成及びこれと連携するカメラMPU125の構成を示すブロック図である。コントラストAF部130は、AF評価用信号処理部401と、ラインピーク検出部402と、水平積分部403と、ライン最小値検出部404と、垂直ピーク検出部405と、垂直積分部406と、垂直ピーク検出部407とを有する。コントラストAF部130は、さらに、BPF(Band Pass Filter)408と、ラインピーク検出部409と、垂直積分部410と、垂直ピーク検出部411と、減算部412と、領域設定部413とを有する。カメラMPU125はAF制御部451を有する。
画像処理回路124からRAW画像データがコントラストAF部130に入力されると、RAW画像データはまずAF評価用信号処理部401に入力される。AF評価用信号処理部401は、RAW画像データ内のベイヤー配列信号から緑(G)信号を抽出し、低輝度成分を強調して高輝度成分を抑圧するガンマ補正処理を行う。本実施形態では、コントラストAFが緑(G)信号を用いて行われる場合を説明するが、他の色の信号を用いてもよく、赤(R)、青(B)、緑(G)の全ての信号を用いてもよい。また、赤(R)、青(B)、緑(G)の全色を用いて輝度(Y)信号を生成してから、輝度(Y)信号を用いてコントラストAFを行ってもよい。以後の説明では、AF評価用信号処理部401で生成される出力信号は、用いられた信号の種類によらず、輝度信号Yと呼ぶ。AF評価用信号処理部401は、輝度信号Yをラインピーク検出部402、水平積分部403、ライン最小値検出部404及びBPF408に出力する。輝度信号Yがこれらの各部に入力されるタイミングは、後述の各評価値を生成すべきタイミングと合致するように制御される。
カメラMPU125は、領域設定部413に焦点検出領域の設定に関する情報を出力する。領域設定部413は、設定された領域内の信号を選択するゲート信号を生成する。ゲート信号は、ラインピーク検出部402、409、水平積分部403、ライン最小値検出部404、垂直積分部406、410及び垂直ピーク検出部405、407、411の各部に入力される。なお、領域設定部413は、焦点検出領域の設定に応じて複数の領域を選択可能である。
Yピーク評価値の算出方法について説明する。AF評価用信号処理部401でガンマ補正された輝度信号Yは、ラインピーク検出部402へ入力される。ラインピーク検出部402は、焦点検出領域内で水平ラインごとのYラインピーク値を算出して、垂直ピーク検出部405に出力する。垂直ピーク検出部405は、ラインピーク検出部402から出力されたYラインピーク値に対し焦点検出領域内で垂直方向にピークホールドを行い、Yピーク評価値を生成する。Yピーク評価値は、高輝度被写体及び低輝度被写体の判定に有効な指標である。
Y積分評価値の算出方法について説明する。AF評価用信号処理部401でガンマ補正された輝度信号Yは、水平積分部403へ入力される。水平積分部403は、焦点検出領域内で水平ラインごとにYの積分値を算出して、垂直積分部406に出力する。垂直積分部406は、水平積分部403で算出された積分値を、焦点検出領域内で垂直方向に積分することにより、Y積分評価値を生成する。Y積分評価値は、焦点検出領域内全体の輝度を判断する指標として用いることができる。
Max−Min評価値の算出方法について説明する。AF評価用信号処理部401でガンマ補正された輝度信号Yは、ライン最小値検出部404に入力される。ライン最小値検出部404は、焦点検出領域内で水平ラインごとにYライン最小値を算出して減算部412に出力する。また、上述のYピーク評価値の算出方法と同様の方法によりラインピーク検出部402で算出されたYラインピーク値も減算部412に入力される。減算部412は、ラインピーク値からYライン最小値を減算して垂直ピーク検出部407に出力する。垂直ピーク検出部407は、焦点検出領域内で減算部412からの出力に対し垂直方向にピークホールドを行い、Max−Min評価値を生成する。Max−Min評価値は、低コントラスト・高コントラストの判定に有効な指標である。
領域ピーク評価値の算出方法について説明する。AF評価用信号処理部401でガンマ補正された輝度信号Yは、BPF408に入力される。BPF408は、輝度信号Yから特定の周波数成分を抽出して焦点信号を生成し、ラインピーク検出部409に出力する。ラインピーク検出部409は、焦点検出領域内で水平ラインごとのラインピーク値を算出して、垂直ピーク検出部411に出力する。垂直ピーク検出部411は、ラインピーク検出部409から出力されたラインピーク値に対し焦点検出領域内でピークホールドを行い、領域ピーク評価値を生成する。領域ピーク評価値は、焦点検出領域内で被写体が移動しても変化が少ないので、合焦状態から再度合焦点を探す処理に移行するかどうかを判定する再起動判定に有効な指標である。
全ライン積分評価値の算出方法について説明する。領域ピーク評価値の算出方法と同様にして、ラインピーク検出部409は、焦点検出領域内で水平ラインごとのラインピーク値を算出して、垂直積分部410に出力する。垂直積分部410は、ラインピーク検出部409から出力されたラインピーク値に対し焦点検出領域内で垂直方向に全水平走査ライン数について積分して全ライン積分評価値を生成する。全ライン積分評価値は、積分の効果でダイナミックレンジが広く、感度が高いので、焦点検出の処理における主要なAF評価値である。したがって、本実施形態のコントラストAFには主として全ライン積分評価値が用いられる。
カメラMPU125のAF制御部451は、Yピーク評価値、Y積分評価値、Max−Min評価値、領域ピーク評価値及び全ライン積分評価値を取得する。AF制御部451は、レンズMPU117にフォーカスレンズ104を光軸方向に沿って所定方向に所定量移動させる指示を行う。その後、フォーカスレンズ104の移動後に新たに得られた画像データに基づいて再び上述の各評価値を算出する。これを繰り返すことで、全ライン積分評価値が最大値となるフォーカスレンズ位置を検出する。本実施形態中では、全ライン積分評価値が最大値となる検出フォーカスレンズ位置と現時刻でのフォーカスレンズ位置の差が、コントラストAF方式でのデフォーカス値に対応する。
本実施形態では、各種の評価値の算出に水平ライン方向及び垂直ライン方向の2方向の情報が用いられる。そのため、水平方向及び垂直方向の直交する2方向の被写体のコントラスト情報に対応した焦点検出を行うことができる。
(焦点検出領域の説明)
図6(a)及び図6(b)は、撮影範囲220内における焦点検出領域219の一例を示す図である。図6(a)は、撮影範囲220内に配置された焦点検出領域219を示す図である。上述したように、位相差AF及びコントラストAFは、いずれも焦点検出領域219に対応する画素211から得られた信号に基づいて行われる。焦点検出領域219は、5行5列の複数の焦点検出領域を含み得る。
図6(b)は、焦点検出領域219(1,1)〜219(5,5)を示す。括弧内の2つの引数は、焦点検出領域219内の行番号及び列番号をそれぞれ示している。図6(a)、図6(b)に示した例では、焦点検出領域219(1,1)〜219(5,5)は、5行×5列分配置されており、すなわち25個となっている。しかしながら、焦点検出領域219の個数、位置及び大きさは図示したものに限定されない。
(焦点検出処理のフローの説明)
次に、図1を参照して、本実施形態のデジタルカメラ及び付属アプリケーションにおいて行われ得るAF処理の動作に関して説明する。
図1は、本実施形態に係るAF処理動作を示すフローチャートである。図1のフローチャートを参照しつつ、AF処理の詳細を説明する。以下のAF処理動作は、他の主体が明記されている場合を除き、カメラMPU125が主体となって実行される。また、カメラMPU125がレンズMPU117にコマンドなどを送信することによってレンズユニット100の駆動や制御を行う場合も、説明を簡潔にするために動作主体をカメラMPU125として記載する場合がある。
ステップS1において、カメラMPU125は焦点検出領域219を設定する。ここで設定される焦点検出領域219は、例えば、図6(a)、図6(b)に示されるようなあらかじめ設定された領域であってもよく、主被写体の検出座標によって決定される領域であってもよい。例えば、図6(a)、図6(b)の例では、焦点検出領域219(2,4)に人物の顔が検出可能である。この人物の顔を主被写体とした場合、焦点検出領域219(2,4)を焦点検出領域として設定することができる。
ここでは、焦点検出領域に対して、複数の焦点検出領域のうちの代表位置座標(x1,y1)を設定する。例えば、位置座標(x1,y1)は、例えば、焦点検出領域219に対する重心座標であってもよい。
ステップS2において、カメラMPU125は、ステップS1で設定された焦点検出領域に対して、焦点検出結果としてデフォーカス値DEF(第1のデフォーカス値)を算出する。デフォーカス値DEFは、前述した位相差AF又はコントラストAFを適用した焦点検出動作によって求められる。また、本動作を行うカメラMPU125は、デフォーカス値算出手段を構成する。なお、デフォーカス値DEFの算出に先立って、画像信号取得手段として動作するカメラMPU125は、互いに重心が異なる複数の瞳領域を通過した複数の光束のそれぞれに基づく複数の画像信号を取得しているものとする。
ステップS3において、カメラMPU125は、BP補正値の算出に必要なAF条件のパラメータ(BP算出条件)を取得する。BP補正値とは、撮影光学系が有する設計上の光学収差及び製造誤差により生じ得る焦点検出誤差を補正するための値である。BP補正値は、フォーカスレンズ104の位置、ズーム状態を示す第1レンズ群101の位置、焦点検出領域219の位置座標(x1,y1)など、撮影光学系の変化及び焦点検出光学系の変化に伴い変化する。そのため、カメラMPU125は、ステップS2においてデフォーカス値の算出を行った際の、フォーカスレンズ104の位置、ズーム状態を示す第1レンズ群101の位置、焦点検出領域219の位置座標(x1,y1)などの情報を取得する。
さらに、本実施形態の撮影光学系は瞳分割の機能を有するため、本ステップにおいてカメラMPU125は、焦点検出時及び撮影時に使用する信号に対応する瞳領域に関する情報(瞳領域情報)を取得する。例えば、焦点検出時には撮影光学系の瞳領域のほぼ全域を通過した光束に基づく信号を用いてコントラストAFを行い、撮影画像用には、光電変換部211aに対応する瞳領域に対応する信号を用いるものとする。この場合には、カメラMPU125は、瞳領域情報として、焦点検出時の瞳領域が瞳領域TLであり、撮影時の瞳領域が瞳領域EP1aであることを示す情報を取得する。なお、撮影画像とは、鑑賞用の画像を指し、撮影とは、新たに取得したデータ又は既に取得したデータから撮影画像を生成するための画像取得の処理を含む。
ステップS4において、カメラMPU125は、焦点検出に関する焦点検出情報を設定する。ここでは、ステップS3で取得したBP算出条件を、焦点検出情報のパラメータとして設定する。焦点検出情報の例を図7(a)及び図7(b)に示す。図7(a)及び図7(b)は、焦点検出情報の例として、焦点状態を評価するコントラストの方向(水平,垂直)、色(赤,緑,青)及び空間周波数(Fq1,Fq2,Fq3,Fq4)の各組み合わせに対する、重み付けの大きさを示す情報についての表である。ここで設定される重み付け情報は、あらかじめ設定されている値であってもよく、検出された被写体情報に応じて変更される値としてもよいが、焦点検出用と撮影用とで、異なる情報を有するように設定する。
ここで、K_AF_H、K_AF_V、K_IMG_H、K_IMG_Vは、焦点検出、撮影に関する方向に対応する係数である。K_AF_R、K_AF_G、K_AF_B、K_IMG_R、K_IMG_G、K_IMG_Bは、焦点検出、撮影に関する各色に対応する係数である。K_AF_Fq1〜K_AF_Fq4、K_IMG_Fq1〜K_IMG_Fq4は焦点検出、撮影に関する各空間周波数に対応する係数である。
重み付けの大きさの具体例を説明する。一例として、コントラストの方向が水平方向で緑色の信号を用い、空間周波数Fq1におけるコントラストAFの結果を補正する場合、焦点検出用の設定情報は、以下のように設定される。
K_AF_H=1
K_AF_V=0
K_AF_R=0
K_AF_G=1
K_AF_B=0
K_AF_Fq1=1
K_AF_Fq2=0
K_AF_Fq3=0
K_AF_Fq4=0
このような設定情報により、焦点検出用の信号のデフォーカスMTF(Modulation Transfer Function)のピーク情報は、水平方向で緑色の信号の特性と同じであることを示すことができる。一方、撮影用の設定情報は、例えば以下のように設定される。
K_IMG_H=0.5
K_IMG_V=0.5
K_IMG_R=0.25
K_IMG_G=0.5
K_IMG_B=0.25
K_IMG_Fq1=0
K_IMG_Fq2=0
K_IMG_Fq3=1
K_IMG_Fq4=0
このような設定情報により、RGBの信号をY信号相当に変換するための重み付けが行われ、撮影画像はY信号(白色)で評価される。また、水平方向及び垂直方向のいずれの方向のコントラストも同等の重みで評価され、焦点検出時とは異なる空間周波数Fq3で評価される。
ステップS4_2からステップS5において、収差情報取得手段として動作するカメラMPU125は、瞳領域情報重み付け係数を用いた演算により、焦点検出又は撮影に対応する収差情報を取得する。
ステップS4_2において、カメラMPU125は、ステップS3で取得された瞳領域に対応する複数の瞳領域情報重み付け係数を取得する。K_AF_PTL、K_AF_PA、K_AF_PBは、焦点検出に用いられる画像信号と複数の瞳領域の各々との対応関係を示す第1の重み付け情報である。K_IMG_PTL、K_IMG_PA、K_IMG_PBは撮影(画像取得)に用いられる画像信号と複数の瞳領域との対応関係を示す第2の重み付け情報である。例えば、ステップS3において、焦点検出時の瞳領域がTL、撮影時の瞳領域がEP1aとして設定されていた場合には、瞳領域情報重み付け係数は以下のように設定される。
K_AF_PTL=1
K_AF_PA=0
K_AF_PB=0
K_IMG_PTL=0
K_IMG_PA=1
K_IMG_PB=0
ただし、上述の具体的な設定値は一例であり、これに限られない。また重み付けを設定する設定値の種類なども一例であり、これに限らない。
ステップS5において、カメラMPU125は、瞳領域情報重み付け係数を用いて収差情報を取得する。ここで、収差情報とは、ステップS3及びステップS4で設定されたBP算出条件での光学系の収差状態を表す情報であり、例えば、被写体の色、方向、空間周波数ごとの撮影光学系の結像位置に関する情報である。
図8(a)、図8(b)を参照しつつ、記憶手段であるRAM125b(カメラメモリ)又はレンズメモリ118に格納されている空間周波数に対応する収差情報の例を説明する。図8(a)は、撮影光学系のデフォーカスMTFを示すグラフである。横軸は、フォーカスレンズ104の位置を示しており、縦軸はMTFを示している。図8(a)に描かれている4種の曲線(MTF1、MTF2、MTF3、MTF4)は、4種類の空間周波数にそれぞれ対応するデフォーカスMTF曲線である。すなわち、4つのデフォーカスMTF曲線は、MTF1、MTF2、MTF3、MTF4の順に、空間周波数が低い方から高い方に変化した場合におけるMTFの極大値の変化を示している。空間周波数Fq1(lp/mm)のデフォーカスMTF曲線がMTF1と対応し、同様に、空間周波数Fq2、Fq3、Fq4(lp/mm)のデフォーカスMTF曲線がMTF2、MTF3、MTF4とそれぞれ対応する。また、LP4、LP5、LP6、LP7は、各デフォーカスMTF曲線MTF1、MTF2、MTF3、MTF4がそれぞれ極大値になるときのフォーカスレンズ104の位置を示している。なお、図中の空間周波数Nqは撮像素子122の画素ピッチに依存するナイキスト周波数を示す。
図8(b)に、本実施形態における収差情報の例を示す。図8(b)は、図8(a)のデフォーカスMTFが極大値となるフォーカスレンズ104の位置(ピーク位置)と空間周波数の関係を示すグラフである。MTF_P_RH、…、MTF_P_BVで示される6種類の曲線は、色と方向の組み合わせが異なるものである。添字の(R,G,B)が色(赤,緑,青)を示しており、添字の(H,V)が方向(水平,垂直)を示している。例えば、色が赤で方向が水平の場合に対応する収差情報であるMTF_P_RHの曲線は、空間周波数fと焦点検出領域219の位置座標(x1,y1)を変数(x,y)とし、収差係数rh(n)(nは0から8の整数)を係数とした以下の式で表現される。
MTF_P_RH(f,x,y)
=(rh(0)×x+rh(1)×y+rh(2))×f2
+(rh(3)×x+rh(4)×y+rh(5))×f
+(rh(6)×x+rh(7)×y+rh(8)) (1)
本実施形態において、rh(n)は、レンズユニット100のRAM125b(カメラメモリ)又はレンズメモリ118にあらかじめ記憶されるものとする。カメラMPU125は、レンズMPU117に要求してレンズメモリ118からrh(n)を取得する。しかしながら、rh(n)はRAM125bの不揮発性領域に記憶されていてもよい。この場合、カメラMPU125は、rh(n)をRAM125bから取得する。
その他の曲線も式(1)と同様の式で表現される。赤と垂直(MTF_P_RV)、緑と水平(MTF_P_GH)、緑と垂直(MTF_P_GV)、青と水平(MTF_P_BH)、青と垂直(MTF_P_BV)の各組み合わせにおける係数(rv,gh,gv,bh,bv)とする。これらの係数も同様にRAM125b又はレンズメモリ118に記憶されており、カメラMPU125の要求により取得される。
さらに、本実施形態においては、RAM125b又はレンズメモリ118は、各瞳領域に対応して、収差情報を記憶する。各瞳領域に対応した式(1)の収差情報を得るための処理について説明する。
RAM125b又はレンズメモリ118に記憶される係数を図9に示す。図9において、例えば、rh_TL(n)は、赤、水平及び瞳領域TLの条件に対応する係数であり、gv_A(n)は、緑、垂直及び瞳領域EP1aの条件に対応する係数である。
カメラMPU125は、焦点検出時における瞳領域、又は記録時若しくは鑑賞時に使用する撮影画像の瞳領域に対応した収差情報を、ステップS4_2で設定された瞳領域重み付け係数に従って選択する。ここで瞳領域重み付け係数は、図7(c)に示す、K_AF_PTL、K_AF_PA、K_AF_PB、K_IMG_PTL、K_IMG_PA、K_IMG_PBである。
瞳領域重み付け係数は、焦点検出用と撮影画像用とで異なる値となっているので、瞳領域重み付け係数と図9に示す係数に基づき、焦点検出用の収差係数rh_AF(n)と撮影画像用の収差係数rh_IMG(n)が得られる。焦点検出用の収差係数rh_AF(n)と撮影画像用の収差係数rh_IMG(n)は、以下の式(2)及び式(3)を用いて表される。
rh_AF(n)
=rh_TL(n)×K_AF_PTL
+rh_A(n)×K_AF_PA
+rh_B(n)×K_AF_PB (2)
rh_IMG(n)
=rh_TL(n)×K_IMG_PTL
+rh_A(n)×K_IMG_PA
+rh_B(n)×K_IMG_PB (3)
上述のステップS4_2の説明で例示した瞳領域情報重み付け係数を用いて、式(2)、式(3)を計算して収差係数の重み付けを行うと、以下の式(2’)及び式(3’)が得られる。
rh_AF(n)=rh_TL(n) (2’)
rh_IMG(n)=rh_A(n) (3’)
式(2’)及び式(3’)は、焦点検出時には、射出瞳全体に対応する収差状態に基づき後述するBP補正値の演算が行われ、撮像画像の記録時等には、瞳領域EP1aの収差状態に基づき後述するBP補正値の演算が行われることを意味する。
なお、上述の説明では、色が赤で、方向が水平の場合の係数について例示したが、他の色、方向においても、同様の処理が可能である。
焦点検出用の収差係数rh_AF(n)を式(1)のrh(n)に代入すると、図10(a)に示すように各色、各方向に対応した空間周波数ごとのデフォーカスMTFの極大値が得られる。撮影画像用の収差係数rh_IMG(n)を式(1)のrh(n)に代入すると、同様に、図10(a)に示すように各色、各方向に対応した空間周波数ごとのデフォーカスMTFの極大値が得られる。このようにして、焦点検出用及び撮影画像用のそれぞれに対応する収差情報を取得することができる。
このように、本実施形態によれば、焦点検出、撮影画像の各々について、瞳領域に対応する収差情報を選択し用いることができる。これにより、瞳領域ごとの収差の差を考慮した補正が可能となる。これにより、高精度なBP補正値の算出が可能である。
なお、瞳分割数(本実施形態では2個)、瞳分割の方向等の瞳分割の方法は本実施形態の方法に限定されるものではない。瞳分割の個数、方向等は、適宜変更し得る。また、レンズメモリ118に記憶される収差情報の情報量を低減するために、選択される瞳領域の面積が等しいか又は近い場合には、共通の収差情報を用いてもよい。例えば、図4(b)のように瞳領域が線対称の系である場合には、製造誤差が大きい場合などを除き、収差情報は近い特性を持つ。よって、収差情報を共通化してもよい。
本実施形態のように収差情報を関数化し、各項の係数を収差係数として記憶させておくことにより、数値データのまま記憶させた場合と比べてレンズメモリ118又はRAM125b(カメラメモリ)に記憶されるデータ量が削減される。また、撮影光学系の変化及び焦点検出光学系の変化に対応することも可能となる。
ステップS6において、補正値算出手段として機能するカメラMPU125は、ステップS4で取得した焦点検出情報と、ステップS5で取得した瞳領域に対応した収差情報から、BP補正値を算出する。ここでは、焦点検出に対応する光学系の収差情報BP1と、撮影画像に対応する光学系の収差情報BP2と、ステップS4で設定された色、方向、周波数の重み付け係数である焦点検出情報とを用いて、BP補正値を算出する例を説明する。
まず、前述したように、式(1)のx,yに、焦点検出領域219の位置情報(x1,y1)を代入する。この計算により式(1)は、係数Arh、Brh及びCrhを用いて以下の式(4)のような形式で表される。
MTF_P_RH1(f)=Arh1×f2+Brh1×f+Crh1 (4)
カメラMPU125は、同様にして、焦点検出に関する収差情報MTF_P_RV1(f)、MTF_P_GH1(f)、MTF_P_GV1(f)、MTF_P_BH1(f)、MTF_P_BV1(f)を計算する。また、カメラMPU125は、同様にして、撮影画像に関する収差情報MTF_P_RH2(f)、MTF_P_RV2(f)、MTF_P_GH2(f)、MTF_P_GV2(f)、MTF_P_BH2(f)、MTF_P_BV2(f)を計算する。
図10(a)、図10(b)に示されるとおり、色収差、縦横方向の収差により、各曲線は乖離する。色収差が大きい場合には、色ごとの曲線が大きく乖離し、収差の縦横差が大きい場合には、水平方向と垂直方向に対応する曲線が大きく乖離する。このように、本実施形態では、色(R,G,B)と評価方向(H,V)との組み合わせごとに、空間周波数に対応したデフォーカスMTF情報を得ることができる。
次に、カメラMPU125は、ステップS4で取得した焦点検出情報を構成する係数(図7(a)、図7(b))で、各瞳領域に対応する収差情報を重み付けする。この動作により、収差情報が、焦点検出及び撮影画像について評価する色及び方向に関して重み付けされる。具体的には、カメラMPU125は、焦点検出用の空間周波数特性である収差情報MTF_P_AF(f)と撮影画像用の空間周波数特性である収差情報MTF_P_IMG(f)を、式(5)及び式(6)を用いて算出する。
MTF_P_AF(f)
=K_AF_R×K_AF_H×MTF_P_RH1(f)
+K_AF_R×K_AF_V×MTF_P_RV1(f)
+K_AF_G×K_AF_H×MTF_P_GH1(f)
+K_AF_G×K_AF_V×MTF_P_GV1(f)
+K_AF_B×K_AF_H×MTF_P_BH1(f)
+K_AF_B×K_AF_V×MTF_P_BV1(f) (5)
MTF_P_IMG(f)
=K_IMG_R×K_IMG_H×MTF_P_RH2(f)
+K_IMG_R×K_IMG_V×MTF_P_RV2(f)
+K_IMG_G×K_IMG_H×MTF_P_GH2(f)
+K_IMG_G×K_IMG_V×MTF_P_GV2(f)
+K_IMG_B×K_IMG_H×MTF_P_BH2(f)
+K_IMG_B×K_IMG_V×MTF_P_BV2(f) (6)
図11は、上述の式(5)、式(6)により得られたMTF_P_AF(f)とMTF_P_IMG(f)を示すグラフである。図11には、離散的な空間周波数Fq1からFq4について、デフォーカスMTFがピーク(極大値)となるフォーカスレンズ104の位置(ピーク位置)LP4_AF、LP5_AF、LP6_AF、LP7_AFが縦軸に示されている。
次に、カメラMPU125は、撮影画像の合焦位置(P_IMG)とAFで検出される合焦位置(P_AF)を、以下の式(7)及び(8)に従って算出する。算出には、空間周波数特性に係る収差情報MTF_P_AF(f)、MTF_P_IMG(f)と、ステップS4で得た評価帯域K_IMG_Fq1〜Fq4、K_AF_Fq1〜Fq4を用いる。
P_IMG
=MTF_P_IMG(1)×K_IMG_Fq1
+MTF_P_IMG(2)×K_IMG_Fq2
+MTF_P_IMG(3)×K_IMG_Fq3
+MTF_P_IMG(4)×K_IMG_Fq4 (7)
P_AF
=MTF_P_AF(1)×K_AF_Fq1
+MTF_P_AF(2)×K_AF_Fq2
+MTF_P_AF(3)×K_AF_Fq3
+MTF_P_AF(4)×K_AF_Fq4 (8)
すなわち、カメラMPU125は、図11に示される空間周波数ごとのデフォーカスMTFの極大値情報を、K_IMG_FQ、K_AF_FQで重み付け加算する。それにより、撮影画像の合焦位置(P_IMG)とAFで検出される合焦位置(P_AF)を算出している。
次にカメラMPU125は、BP補正値(BP)を、以下の式(9)により算出する。
BP=P_AF−P_IMG (9)
ステップS7において、デフォーカス値補正手段として機能するカメラMPU125は、以下の式(10)により、デフォーカス値DEFを補正することにより焦点検出結果の補正を行う。補正後のデフォーカス値をcDEF(第2のデフォーカス値)とする。なお、ここで用いられるデフォーカス値は、前述したように、コントラストAFで得られるものであってもよく、位相差AFで得られるものであってもよい。
cDEF=DEF−BP (10)
ステップS8において、焦点制御手段として動作するカメラMPU125が、ステップS7で得られたデフォーカス値cDEF分だけフォーカスレンズ104を駆動させるように、フォーカスアクチュエータ113を制御する。この動作により、撮影光学系の焦点位置が補正を考慮した合焦位置となるようにフォーカスレンズ104が駆動される。以上によりAF処理が完了する。
本実施形態では、焦点検出領域219の位置、評価する色及び方向に関する処理を、空間周波数に関する処理よりも先行して実行している。これは、撮影者が焦点検出領域219の位置を設定するモードの場合、焦点検出領域219の位置、評価する色及び方向に関する情報は変更される頻度が低いためである。
一方で、信号の評価する空間周波数については、撮像素子122の読出しモード、AF評価信号に係るデジタルフィルタなどにより変更される頻度が高い。例えば、信号のS/N比が低下する低輝度環境では、デジタルフィルタの帯域をより低帯域に変更することなどがあり得る。そのため、変更の頻度が低い係数(ピーク係数)を算出後に記憶しておき、変更の頻度の高い係数(空間周波数)のみを必要に応じて計算し、BP補正値の算出を行ってもよい。これにより、撮影者が焦点検出領域の位置を設定する場合などには、評価する空間周波数の係数のみを更新して処理することが可能であり、演算量を低減することができる。
本実施形態によれば、一部の瞳領域を通過した光束に基づく信号が焦点検出信号又は撮影画像に使用される場合であっても、その瞳領域に対応した収差情報を選択可能であるため、高精度な焦点検出結果補正が可能である。さらに、本実施形態によれば、瞳領域ごとのレンズの収差情報と、カメラの重み付け係数とを用いてBP補正値を算出することができる。そのため、各カメラ、焦点検出モード、撮影モードに対応するBP補正値を個別に記憶しておかなくても、レンズの収差情報を用いてカメラがBP補正値を算出することができるため、焦点検出結果補正のための記憶容量を低減することができる。
さらに、交換可能なレンズユニット100(交換レンズ)とカメラ本体200とを組み合わせたカメラシステムにおいて、BP補正値の算出に必要な収差情報などの情報をレンズユニット100とカメラ本体200に分けて記憶させてもよい。例えば、レンズユニット100内のレンズメモリ118に収差情報を記憶させておき、カメラ本体200のRAM125bに重み付け係数を記憶させておく構成であってもよい。この構成によれば、レンズユニット100とカメラ本体200の間の適合性に優れるカメラシステムが実現可能となる。例えば、カメラ本体200よりも後にレンズユニット100が発売されるような場合であっても、両者を適合させることができ、BP補正値が算出可能となる。
撮影光学系の全域の瞳領域TLに対応する収差情報と、撮影光学系の一部の瞳領域EP1a、EP1bに対応する収差情報とは、いずれもRAM125bに記憶させておくことができる。また、これらは、いずれもレンズメモリ118に記憶されていてもよい。しかしながら、瞳領域TLに対応する収差情報は、視差画像を記録する機能を有しないカメラに対しても使用され得るものであるが、瞳領域EP1a、EP1bに対応する収差情報は、このようなカメラでは使用されないという場合がある。そのため、レンズメモリ118には瞳領域TLに対応する収差情報のみを記憶させておき、RAM125bには瞳領域EP1a、EP1bに対応する収差情報を記憶させておいてもよい。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第1の実施形態では、焦点検出に用いる光束が通過する瞳領域と、撮影に用いる光束が通過する瞳領域とにそれぞれ対応した収差情報を用いることにより高精度な焦点検出誤差の補正が行われる。これに対し、本実施形態は、焦点検出、撮影に用いる光束が通過する瞳領域ごとに収差寄与率に応じた収差情報の重み付けを行う点が第1の実施形態と異なる。この重み付けに用いられる係数は、焦点検出に用いる光束を構成する収差情報の対に係るビネッティングに関する条件、収差量等に基づき定められる。なお、本実施形態では、AF動作は位相差焦点検出により行われるものとする。
図12は、本実施形態に係るAF処理動作を示すフローチャートである。図12を参照して、本実施形態のデジタルカメラ及び付属アプリケーションにおいて行われ得るAF処理の動作に関して説明する。撮像装置等の装置構成は第1の実施形態と共通であるため説明を省略する。また、本実施形態のステップS1からS4及びS6からS8は、第1の実施形態と共通であるため、説明を省略する。
ステップS805において、瞳領域ごとに収差情報の重み付けが行われる。焦点検出、撮影に関する瞳領域ごとの収差情報の重み付け係数をそれぞれK_AF_SA、K_AF_SBとする。このとき、赤色及び水平方向に対応する、瞳領域ごとの収差情報の重み付けは、以下の式(11)、式(12)により行われる。
rh_AF(n)
=rh_A(n)×K_AF_SA
+rh_B(n)×K_AF_SB (11)
rh_IMG(n)=rh_TL(n) (12)
例えば、瞳領域ごとの収差情報の重み付け係数が、K_AF_SA=0.8、K_AF_SB=0.2である場合、式(11)、式(12)は、以下の式(11’)、式(12’)のように変形される。
rh_AF(n)
=0.8×rh_A(n)
+0.2×rh_B(n) (11’)
rh_IMG(n)=rh_TL(n) (12’)
式(11’)は、焦点検出結果に対して瞳領域EP1bに関する収差に比べ瞳領域EP1aに関する収差の影響が大きいことを意味する。なお、他の色及び他の方向においても、同様の処理が行われる。
次に、瞳領域ごとの収差情報の重み付け係数の算出方法について説明する。まず、瞳領域ごとの収差の寄与率に関して図13から図15、図20を参照して説明する。
図20(a)、図20(b)及び図20(c)は、センサの設定瞳距離と撮影光学系の射出瞳距離を示す図である。図20(a)、図20(b)及び図20(c)は、撮像素子122(センサ)の周辺像高における光電変換部211a、211bの瞳領域500及び撮影光学系の射出瞳400の関係を示している。瞳領域500は、光電変換部211aの瞳部分領域501及び光電変換部211bの瞳部分領域502を含む。図中の距離Dlは、撮影光学系の射出瞳距離(射出瞳400と撮像素子107の撮像面との距離)を表している。距離Dsは、撮像素子122の設定瞳距離(センサの設定瞳距離)表している。
図20(a)は、撮影光学系の射出瞳距離Dlと、センサの設定瞳距離Dsとが等しい場合を示している。この場合、瞳部分領域501及び瞳部分領域502により、撮影光学系の射出瞳400は略均等に瞳分割される。
一方、図20(b)に示されるように、撮影光学系の射出瞳距離Dlがセンサの設定瞳距離Dsよりも短い場合、センサの周辺像高では、撮影光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、撮影光学系の射出瞳400が不均一に瞳分割される。同様に、図20(c)に示されるように、撮影光学系の射出瞳距離Dlがセンサの設定瞳距離Dsよりも長い場合も、センサの周辺像高では、撮影光学系の射出瞳400と撮像素子107の入射瞳との間に瞳ずれが生じる。このため、撮影光学系の射出瞳400が不均一に瞳分割される。
図13は、撮像素子122での受光強度の分布を示すグラフである。図13(a)は、横軸をセンサの設定瞳距離における位置(センサ瞳面座標)とした場合の受光強度分布であり、図13(b)は、横軸を撮影光学系の射出瞳面における位置とした場合の受光強度分布である。図中の一点鎖線は絞り102の開口部の端部に相当する位置を示している。また、軸の交点は光軸上の点を示している。
図13(a)は、撮影光学系の射出瞳距離がセンサの設定瞳距離よりも短く、焦点検出領域が周辺像高に設定された場合における受光強度分布を示す。また、図中の901A、901Bの符号が付された2つのグラフは、それぞれ光電変換部211a、211bに対応した受光強度分布である。なお、絞り102により光束の一部が遮られるため、実際に得られる信号は、絞り102の位置を示す2本の線の間の領域が切り出されたものとなる。図13(b)は、絞り102により切り出された受光強度分布901A、901Bを撮影光学系の射出瞳面の位置に投影し、さらに受光強度をそれぞれの光量で規格化したものを、受光強度分布902A、902Bとして示すグラフである。受光強度分布902Aは面内における強度の変化が大きく、図中の左側ほど強度が強くなっている。これに対し、受光強度分布902Bは、受光強度分布902Aと比べて面内における強度の変化が小さい。
図14は撮影光学系の射出瞳面内における、撮影光学系に含まれるレンズの収差量を示すグラフである。ここで縦軸の収差量は、横収差の量を表しており、本実施形態では、この収差は、一例としてコマ収差であるものとして説明する。図14に示される1001の符号が付されたグラフにより、撮影光学系のレンズのコマ収差は射出瞳面の端部に近づくにつれて大きくなることがわかる。
図15(a)は、図13(a)に示す受光強度分布と、図14に示す収差量とを乗算して得られる収差寄与率分布を示すグラフである。図中の1101A、1101Bの符号が付された2つのグラフは、それぞれ光電変換部211a、211bに対応した収差寄与率分布である。光電変換部211aに関する収差寄与率分布1101Aは、図中の左端において大きい値となっている。これは、受光強度分布902Aの強度が高い左端において撮影光学系のレンズの収差も大きいためである。これに対して、光電変換部211bに対する収差寄与率分布1101Bの左端は、受光強度分布902Bの分布が比較的平坦であるため、収差寄与率分布1101Aの左端に比べて小さな値となっている。
図15(b)は、収差寄与率分布1101Aから収差寄与率分布1101Bを減算して得られる収差寄与率分布1103を示すグラフである。このグラフは、収差寄与率分布1103がプラス方向に大きいほど、光電変換部211aに対する収差寄与率が大きく、マイナス方向に大きいほど、光電変換部211bに対する収差寄与率が大きいことを意味している。射出瞳面内全体での光電変換部211a、光電変換部211bのそれぞれに対する収差寄与率Sa、Sbは図中にハッチングで示された領域の面積で表わされる。
図15(b)の例では、収差寄与率SaとSbの比率の概算値は、Sa:Sb=5:2であり、光電変換部211aへの入射光の方が、撮影光学系のレンズの収差の影響を大きく受けている。光電変換部211aについては、受光強度が大きい箇所と収差が大きい箇所とが一致しているため収差寄与率Saが大きくなるが、光電変換部211bについては、受光強度分布が比較的平坦であるため、収差寄与率Sbはさほど大きくならないためである。このように、収差が大きい箇所において、光電変換部211aと光電変換部211bに関し、絞り102を通過した光束に対する強度分布の差が大きい場合に、寄与率の差が大きくなる。
位相差AFでは、光電変換部211a、光電変換部211bの各々に基づく2つの信号を用いて焦点検出を行う。そのため、光電変換部211a、光電変換部211bへの入射光について収差の寄与率が異なる場合、射出瞳面上の瞳領域に対する収差情報を用いてBP補正値を算出すると、補正誤差が生じる。その理由について説明する。
位相差AFは、デフォーカスによる線像強度分布の重心ずれ量に基づいて合焦位置を算出する手法である。図16に、デフォーカスによる線像強度分布の重心ずれ量を説明するための図を示す。図16は、重心ずれ量及び相関演算結果(線像強度分布の位置ずれ量)の少なくとも1つに差を与える収差(以下、コマ収差等の収差と呼ぶ)並びに絞り102等によるケラレ(ビネッティング)がないと仮定した状態の線像強度分布を示している。このような場合、位相差AFにおいて焦点検出誤差が生じない。
図16には、互いに異なるフォーカス位置1201_P、1202_Pにおける線像強度分布が示されている。線像強度分布1201_A、1201_Bは、それぞれ光電変換部211a、211bに対応する、1201_Pにおける一対の線像強度分布である。線像強度分布1202_A、1202_Bは、それぞれ光電変換部211a、211bに対応する、1202_Pにおける一対の線像強度分布である。また、一点鎖線で示された1201_GA、1201_GBは、それぞれ線像強度分布1201_A、1201_Bの重心位置を示している。一点鎖線で示された1202_GA、1202_GBは、それぞれ1202_A、1202_Bの重心位置を示している。さらに、重心ずれ量1201_difGは、1201_GA、1201_GBの差分を示しており、重心ずれ量1202_difGは、1202_GA、1202_GBの差分を示している。
図16に示されるように、コマ収差等の収差及び絞り102等によるケラレがない場合には、デフォーカスに応じて、重心ずれ量1201_difG、1202_difGが変化する。そのため、これらの重心ずれ量1201_difG、1202_difGに基づいて、デフォーカス値を算出することで、位相差AFを行うことができる。
次に、撮影光学系のコマ収差等の収差又は絞り102等によるケラレが大きい場合について説明する。図17(a)は、撮影光学系のコマ収差等の収差又は絞り102等によるケラレが大きい場合の一対の線像強度分布を示す図である。
図17(a)において、破線で示された線像強度分布1301_Aは、光電変換部211aに対応する線像強度分布である。実線で示された線像強度分布1301_Bは光電変換部211bに対応する線像強度分布である。一点鎖線で示されたG_Aは、線像強度分布1301_Aの重心位置を示しており、一点鎖線で示されたG_Bは線像強度分布1301_Bの重心位置を示している。
図17(a)に示されるように線像強度分布1301_A、1301_Bは、光学系のコマ収差等の収差の影響により、片側に尾を引いた非対称形状の分布となっている。このような非対称形状である場合、線像強度分布の重心位置G_A、G_Bが尾を引いた側にシフトするため、重心ずれが生じる。
また、線像強度分布1301_A、1301_Bは、撮影光学系の絞り102等によるケラレの影響により差が生じる。よりケラレの影響が大きい線像強度分布1301_Aの方がコマ収差等の収差の影響を大きく受けており、非対称性がより大きい。このように、非対称性が線像強度分布1301_A、1301_Bの間で異なることにより、それぞれの重心位置G_A、G_Bのずれ量が互いに異なる。図17(b)は、図17(a)における線像強度分布1301_A、1301_Bを足し合わせた線像強度分布1301_IMGを示す図である。線像強度分布1301_IMGは、光電変換部211a、211bの各々で生成された光電変換信号の和に対応する。
図17(c)は、図17(a)の状態とは異なるデフォーカス位置における線像強度分布を示す図である。この状態では、点線で示された線像強度分布1302_Aと、実線で示された線像強度分布1302_Bとの重心位置が一致している。図17(d)は、図17(b)と同様に、図17(c)における線像強度分布1302_A、1302_Bを足し合わせた線像強度分布1302_IMGを示す図である。
図17(b)と図17(d)を比較すると、重心位置の異なる線像強度分布の和である線像強度分布1301_IMGのピークの方が、重心位置が一致した線像強度分布の和である線像強度分布1302_IMGのピークよりも急峻である。撮影画像の信号に対応する線像強度分布1301_IMG、1302_IMGのピーク形状が最も急峻であり、コントラストが最大となる位置が、合焦位置である。そのため、重心位置の異なる図17(a)の状態がより合焦位置に近い状態であり、重心位置が一致した図17(c)の状態は図17(a)の状態よりも合焦位置から遠い状態であるといえる。
このことから、非対称性が一対の線像強度分布間で異なり、重心ずれ量に差が生じている場合には、重心位置が一致する位置が合焦位置とはならず、重心位置が異なる位置が合焦位置となることがある。言い換えると、合焦位置の検出に誤差が生じている。
以上のように、線像強度分布1301_A、1301_Bのように撮影光学系のコマ収差等の収差又は絞り102等によるケラレが大きい場合、デフォーカスによる重心ずれ量に加えて、線像強度分布の非対称性に起因した重心ずれ量差が生じる。これにより、位相差AFの処理において、本来合焦位置と検出するべきデフォーカス位置で、ピントずれがあると検出する誤検出が生じ得る。また、その際の合焦位置からのずれ量は、光電変換部211aと光電変換部211bの間の収差の寄与率の差が大きいほど、大きくなる。
次に、重心ずれ量差と、撮影光学系のデフォーカスMTFとの関係について説明する。
図18(a)及び図18(b)は、撮影光学系のデフォーカスMTFを示す。図18(a)は、瞳領域TLに対応するデフォーカスMTFであり、図18(b)は、光電変換部211a、211bのうち、収差寄与率が高い方の瞳領域に対応するデフォーカスMTFである。
MTF_TL_1401〜MTF_TL_1404は、瞳領域TLに対するデフォーカスMTFであり、それぞれ空間周波数が異なる。AFの処理に用いる空間周波数のデフォーカスMTFがMTF_TL_1401であるものとする。このとき、MTF_TL_1401のピーク位置p_TL_1401は、位相差AFで検出される合焦位置を意味する。また、撮影画像に用いる空間周波数のデフォーカスMTFがMTF_TL_1404であるものとするとそのピーク位置p_TL_1404は、撮影画像に対する合焦位置を意味する。これらのピーク位置p_TL_1401、p_TL1404の差分が、瞳領域TLに対する収差情報から算出されるBP補正値である。
しかし上述したとおり、位相差AFでは、光電変換部211a、211bの収差の寄与率に差がある場合、重心ずれ量に差が生じる。これにより、位相差AFで検出される合焦位置は図18(a)中の破線で示されたdef1410の位置となり、ピーク位置p_TL1401からずれる。
図18(b)には、瞳領域TLに対するデフォーカスMTFであるMTF_TL_1401と、光電変換部211a、211bのうち、収差の寄与率が大きい方に対するデフォーカスMTFであるMTF_A_1401が示されている。これらはいずれも位相差AFの処理に用いられる空間周波数に対応するものである。MTF_TL_1401、MTF_A_1401のそれぞれのピーク位置は、p_TL_1401、p_A_1401である。また、図18(b)には、図18(a)の説明で述べたピーク位置p_TL_1404が破線で示されている。
図18(b)に示されるとおり、ピーク位置p_A_1401はピーク位置p_TL_1401に比べ、右側に位置しており、図18(a)の位相差AFが検出するデフォーカス位置def1410と同方向にp_TL_1401からずれた位置となっている。また、p_A_1401のp_TL_1401からのずれ量は、収差寄与率に応じて変化する。
このことから、光電変換部211a、211bに対応する収差の寄与率を考慮して、位相差AFで検出する合焦位置を算出することで、位相差AFの焦点検出誤差を良好に補正することが可能となる。
そのため、上述した式(11)、式(12)に基づいて、重み付けを行って算出した収差情報からBP補正量を算出することで、補正誤差を小さくすることが可能となる。重み付け係数K_AF_SA、K_AF_SBは、上述した収差寄与率Sa、Sbに基づいて以下の式(13)、式(14)のように設定することができる。
K_AF_SA=Sa (13)
K_AF_SB=Sb (14)
収差寄与率Sa、Sbは、上述したとおり、収差量と、絞り102でのケラレによる受光強度分布の差によって生じる。絞り102でのケラレによる受光強度分布の差が大きくなる条件は様々な条件が重なって生じる。例として示した、図13から整理して説明する。
受光強度分布901Aについては、変化量の大きい領域が絞り102の開口部に対応しているのに対し、受光強度分布902Aについては、比較的平坦な領域が絞り102の開口部に対応している。これにより、受光強度分布の差が生じている。このような現象が生じる要因としては、第1の要因として焦点検出領域219の像高の影響が挙げられる。第2の要因として、レンズの射出瞳距離とセンサの設定瞳距離との間の差の影響が挙げられる。図19を参照して、これらの要因間の関係を説明する。
図19(a)は、像高z1が比較的高い周辺像高であり、かつ、レンズの射出瞳距離LPO1とセンサの設定瞳距離との間の差が大きい場合を示している。この場合、受光強度分布の端の方が絞り102の開口部に対応する。そのため、受光強度分布901Aは変化量の大きい領域が絞り102の開口部に対応しているのに対し、受光強度分布901Bは比較的平坦な領域が絞り102の開口部に対応する。
図19(b)は、レンズの射出瞳距離LPO2とセンサの設定瞳距離との間の差が小さい場合を示している。この場合、受光強度分布901A、901Bはいずれも変化量の大きい領域が絞り102の開口部に対応しており、これらは似た形状となる。
図19(c)は、像高z2が低い、すなわち、焦点検出領域219が中央付近である場合を示している。この場合には、図19(b)の場合と同様に、受光強度分布901A、901Bはいずれも変化量の大きい領域が絞り102の開口部に対応しており、これらは似た形状となる。
以上のことから、受光強度分布の差が大きくなる条件は、図19(a)のように像高が高く、かつ、レンズの射出瞳距離とセンサの設定瞳距離の差が大きい場合であるといえる。また、このような条件では、光電変換部211a、211bでの受光強度のレベル差も大きくなるため、受光強度分布の差がさらに大きくなる。
上述の例以外にも、絞り102以外にレンズの枠ケラレ等の別の要因のケラレがある場合にも、受光強度分布の差及びレベル差が大きくなり、受光強度分布の差が大きくなる。すなわち、絞り102及びレンズの枠等によるケラレの影響を含む撮影光学系のビネッティング率が大きい場合には、光電変換部211a、211bの間の収差寄与率の差が大きくなるといえる。
以上により、収差寄与率はSa、Sbは、収差量、像高、センサの設定瞳距離とレンズの射出瞳距離との差、光量差、ビネッティング率をパラメータとして変化する。言い換えると、重み付け係数K_AF_SA、K_AF_SBは、収差量、像高、センサの設定瞳距離とレンズの射出瞳距離との差、光量差、ビネッティング率のうちの少なくとも1つに基づき、設定することができる。重み付け係数K_AF_SA、K_AF_SBにより、瞳領域ごとに収差情報の重み付けを行うことで、より高精度に焦点検出誤差の補正を行うことができる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。