以下、添付図面を参照して本発明を実施するための形態を詳細に説明する。なお、実施形態は発明の理解と説明を容易にするため、具体的かつ特定の構成を有するが、本発明はそのような特定の構成に限定されない。例えば、以下では本発明をレンズ交換可能な一眼レフタイプのデジタルカメラに適用した実施形態について説明するが、本発明はレンズ交換できないタイプのデジタルカメラや、ビデオカメラに対しても適用可能である。また、カメラを備えた任意の電子機器、例えば携帯電話機、パーソナルコンピュータ(ラップトップ、タブレット、デスクトップ型など)、ゲーム機などで実施することもできる。
●(第1の実施形態)
(撮像装置の構成の説明−レンズユニット)
図2は、実施形態に係る撮像装置の一例としてデジタルカメラの機能構成例を示すブロック図である。本実施形態のデジタルカメラはレンズ交換式一眼レフカメラであり、レンズユニット100とカメラ本体120とを有する。レンズユニット100は図中央の点線で示されるマウントMを介して、カメラ本体120に装着される。
レンズユニット100は、光学系(第1レンズ群101、絞り102、第2レンズ群103、フォーカスレンズ群(以下、単に「フォーカスレンズ」という。)104)及び、駆動/制御系を有する。このようにレンズユニット100は、フォーカスレンズ104を含み、被写体の光学像を形成する撮影レンズである。
第1レンズ群101はレンズユニット100の先端に配置され、光軸方向OAに移動可能に保持される。絞り102は、撮影時の光量を調節する機能のほか、静止画撮影時には露出時間を制御するメカニカルシャッタとしても機能する。絞り102及び第2レンズ群103は一体で光軸方向OAに移動可能であり、第1レンズ群101と連動して移動することによりズーム機能を実現する。フォーカスレンズ104も光軸方向OAに移動可能であり、位置に応じてレンズユニット100が合焦する被写体距離(合焦距離)が変化する。フォーカスレンズ104の光軸方向OAにおける位置を制御することにより、レンズユニット100の合焦距離を調節する焦点調節を行う。
駆動/制御系は、ズームアクチュエータ111、絞りアクチュエータ112、フォーカスアクチュエータ113、ズーム駆動回路114、絞り駆動回路115、フォーカス駆動回路116、レンズMPU117、レンズメモリ118を有する。
ズーム駆動回路114は、ズームアクチュエータ111を用いて第1レンズ群101や第3レンズ群103を光軸方向OAに駆動し、レンズユニット100の光学系の画角を制御する。絞り駆動回路115は、絞りアクチュエータ112を用いて絞り102を駆動し、絞り102の開口径や開閉動作を制御する。フォーカス駆動回路116はフォーカスアクチュエータ113を用いてフォーカスレンズ104を光軸方向OAに駆動し、レンズユニット100の光学系の合焦距離を制御する。また、フォーカス駆動回路116は、フォーカスアクチュエータ113を用いてフォーカスレンズ104の現在位置を検出する。
レンズMPU(プロセッサ)117は、レンズユニット100に係る全ての演算、制御を行い、ズーム駆動回路114、絞り駆動回路115、フォーカス駆動回路116を制御する。また、レンズMPU117は、マウントMを通じてカメラMPU125と接続され、コマンドやデータを通信する。例えばレンズMPU117はフォーカスレンズ104の位置を検出し、カメラMPU125からの要求に対してレンズ位置情報を通知する。このレンズ位置情報は、フォーカスレンズ104の光軸方向OAにおける位置、光学系が移動していない状態の射出瞳の光軸方向OAにおける位置および直径、射出瞳の光束を制限するレンズ枠の光軸方向OAにおける位置および直径などの情報を含む。またレンズMPU117は、カメラMPU125からの要求に応じて、ズーム駆動回路114、絞り駆動回路115、フォーカス駆動回路116を制御する。レンズメモリ118には自動焦点検出に必要な光学情報が予め記憶されている。カメラMPU125は例えば内蔵する不揮発性メモリやレンズメモリ118に記憶されているプログラムを実行することで、レンズユニット100の動作を制御する。
(撮像装置の構成の説明−カメラ本体)
カメラ本体120は、光学系(光学ローパスフィルタ121および撮像素子122)と、駆動/制御系とを有する。レンズユニット100の第1レンズ群101、絞り102、第2レンズ群103、フォーカスレンズ104と、カメラ本体120の光学ローパスフィルタ121は撮影光学系を構成する。
光学ローパスフィルタ121は、撮影画像の偽色やモアレを軽減する。撮像素子122はCMOSイメージセンサと周辺回路で構成され、横方向m画素、縦方向n画素(n,mは2以上の整数)に配置された複数の画素を含む。本実施形態の撮像素子122は、瞳分割機能を有しており、画像データを用いて位相差AFを行うことが可能である。画像処理回路124は、撮像素子122が出力する画像データから、位相差AF用のデータと、表示、記録、およびコントラストAF(TVAF)用の画像データを生成する。
駆動/制御系は、センサ駆動回路123、画像処理回路124、カメラMPU125、表示器126、操作スイッチ群127、メモリ128、位相差AF部129、TVAF部130を有する。
センサ駆動回路123は、撮像素子122の動作を制御するとともに、取得した画像信号をA/D変換して画像処理回路124及びカメラMPU125に送信する。画像処理回路124は、撮像素子122が取得した画像データに対し、例えばγ変換、ホワイトバランス調整処理、色補間処理、圧縮符号化処理など、デジタルカメラで行われる一般的な画像処理を行う。
カメラMPU(プロセッサ)125は、カメラ本体120に係る全ての演算、制御を行い、センサ駆動回路123、画像処理回路124、表示器126、操作スイッチ群127、メモリ128、位相差AF部129、TVAF部130を制御する。カメラMPU125はマウントMの信号線を介してレンズMPU117と接続され、レンズMPU117とコマンドやデータを通信する。カメラMPU125はレンズMPU117に対し、レンズ位置の取得要求や、所定の駆動量での絞り、フォーカスレンズ、ズーム駆動要求や、レンズユニット100に固有の光学情報の取得要求などを発行する。カメラMPU125には、カメラ動作を制御するプログラムを格納したROM125a、変数を記憶するRAM125b、諸パラメータを記憶するEEPROM125cが内蔵されている。
表示器126はLCDなどから構成され、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像などを表示する。操作スイッチ群127は、電源スイッチ、レリーズ(撮影トリガ)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等で構成される。本実施形態の記録手段としてのメモリ128は、着脱可能なフラッシュメモリで、撮影済み画像を記録する。
位相差AF部129は、画像処理回路124により得られる焦点検出用データを用いて位相差検出方式で焦点検出処理を行う。より具体的には、画像処理回路124が、撮影光学系の一対の瞳領域を通過する光束で形成される一対の像データを焦点検出用データとして生成し、位相差AF部129はこの一対の像データのずれ量に基づいて焦点ずれ量を検出する。このように、本実施形態の位相差AF部129は、専用のAFセンサを用いず、撮像素子122の出力に基づく位相差AF(撮像面位相差AF)を行う。位相差AF部129の動作については後で詳細に説明する。
TVAF部130は、画像処理回路124が生成するTVAF用評価値(画像データのコントラスト情報)に基づいてコントラスト方式の焦点検出処理を行う。コントラスト方式の焦点検出処理では、フォーカスレンズ104を移動して評価値がピークとなるフォーカスレンズ位置を合焦位置として検出する。
このように、本実施形態のデジタルカメラは位相差AFとTVAFの両方を実行可能であり、状況に応じて選択的に使用したり、組み合わせて使用したりすることができる。
(焦点検出動作の説明:位相差AF)
以下、位相差AF部129およびTVAF部130の動作についてさらに説明する。最初に、位相差AF部129の動作について説明する。
図3(a)は本実施形態における撮像素子122の画素配列を示した図で、2次元CMOSエリアセンサの縦(Y方向)6行と横(X方向)8列の範囲を、レンズユニット100側から観察した状態を示している。撮像素子122にはベイヤー配列のカラーフィルタが設けられ、奇数行の画素には、左から順に緑(G)と赤(R)のカラーフィルタが交互に、偶数行の画素には、左から順に青(B)と緑(G)のカラーフィルタが交互に配置されている。画素211において、円211iはオンチップマイクロレンズを表し、オンチップマイクロレンズの内側に配置された複数の矩形211a,211bはそれぞれ光電変換部である。
本実施形態の撮像素子122は、すべての画素の光電変換部がX方向に2分割され、個々の光電変換部の光電変換信号と、光電変換信号の和が独立して読み出し可能である。また、光電変換信号の和から一方の光電変換部の光電変換信号を減じることで、他方の光電変換部の光電変換信号に相当する信号を得ることができる。個々の光電変換部における光電変換信号は位相差AF用のデータとして用いたり、3D(3-Dimensional)画像を構成する視差画像の生成に用いたりすることもできる。また、光電変換信号の和は、通常の撮影画像データとして用いることができる。
ここで、位相差AFを行う場合の画素信号について説明する。後述するように、本実施形態においては、図3(a)のマイクロレンズ211iと、分割された光電変換部211a,211bで撮影光学系の射出光束を瞳分割する。そして、同一画素行に配置された所定範囲内の複数の画素211について、光電変換部211aの出力をつなぎ合わせて編成したものをAF用A像、光電変換部211bの出力をつなぎ合わせて編成したものをAF用B像とする。光電変換部211a、211bの出力は、カラーフィルタの単位配列に含まれる緑、赤、青、緑の出力を加算して算出した疑似的な輝度(Y)信号を用いる。但し、赤、青、緑の色ごとに、AF用A像、B像を編成してもよい。このように生成したAF用A像とB像の相対的な像ずれ量を相関演算により検出することで、所定領域の焦点ずれ量(デフォーカス量)を検出することができる。本実施形態では、一方の光電変換部の出力と全光電変換部の出力の和を撮像素子122から読み出すものとする。例えば光電変換部211aの出力と、光電変換部211a,211bの出力の和とが読み出される場合、光電変換部211bの出力は和から光電変換部211aの出力を減じることで取得する。これにより、AF用A像とB像の両方を得ることができ、位相差AFが実現できる。このような撮像素子は、特開2004−134867号公報に開示されるように公知であるため、これ以上の詳細に関する説明は省略する。
図3(b)は本実施形態の撮像素子122の読み出し回路の構成例を示した図である。151は水平走査回路、153は垂直走査回路である。そして各画素の境界部には、水平走査ライン152a及び152bと、垂直走査ライン154a及び154bが配線され、各光電変換部はこれらの走査ラインを介して信号が外部に読み出される。
なお、本実施形態の撮像素子は上述の画素内の読み出し方法に加え、以下の2種類の読み出しモードを有する。第1の読み出しモードは全画素読み出しモードと称するもので、高精細静止画を撮像するためのモードである。この場合は、全画素の信号が読み出される。
第2の読み出しモードは間引き読み出しモードと称するもので、動画記録、もしくはプレビュー画像の表示のみを行うためのモードである。この場合に必要な画素数は全画素よりも少ないため、画素群はX方向及びY方向ともに所定比率に間引いた画素のみ読み出す。また、高速に読み出す必要がある場合にも、同様に間引き読み出しモードを用いる。X方向に間引く際には、信号の加算を行ってS/Nの改善を図り、Y方向に対する間引きは、間引かれる行の信号出力を無視する。位相差AFおよびコントラストAFも、通常、第2の読み出しモードで読み出された信号に基づいて行われる。
図4は、本実施形態の撮像装置において、撮影光学系の射出瞳面と、像高ゼロすなわち像面中央近傍に配置された撮像素子の光電変換部の共役関係を説明する図である。撮像素子内の光電変換部と撮影光学系の射出瞳面は、オンチップマイクロレンズによって共役関係となるように設計される。そして撮影光学系の射出瞳は、一般的に光量調節用の虹彩絞りが置かれる面とほぼ一致する。一方、本実施形態の撮影光学系は変倍機能を有したズームレンズであるが、光学タイプによっては変倍操作を行うと、射出瞳の像面からの距離や大きさが変化する。図4では、レンズユニット100の焦点距離が広角端と望遠端の中央にある状態を示している。この状態における射出瞳距離Zepを標準値として、オンチップマイクロレンズの形状や、像高(X,Y座標)に応じた偏心パラメータの最適設計がなされる。
図4(a)において、101は第1レンズ群、101bは第1レンズ群を保持する鏡筒部材、104はフォーカスレンズ、104bはフォーカスレンズ104を保持する鏡筒部材である。102は絞りで、102aは絞り開放時の開口径を規定する開口板、102bは絞り込み時の開口径を調節するための絞り羽根である。なお、撮影光学系を通過する光束の制限部材として作用する101b、102a、102b、及び104bは、像面から観察した場合の光学的な虚像を示している。また、絞り102の近傍における合成開口をレンズの射出瞳と定義し、前述したように像面からの距離をZepとしている。
画素211は像面中央近傍に配置されており、本実施形態では、中央画素と呼ぶ。中央画素211は、最下層より、光電変換部211a,211b、配線層211e〜211g、カラーフィルタ211h、及びオンチップマイクロレンズ211iの各部材で構成される。そして2つの光電変換部はオンチップマイクロレンズ211iによって撮影光学系の射出瞳面に投影される。換言すれば、撮影光学系の射出瞳が、オンチップマイクロレンズ211iを介して、光電変換部の表面に投影される。
図4(b)は、撮影光学系の射出瞳面上における、光電変換部の投影像を示したもので、光電変換部211a及び211bに対する投影像は各々EP1a及びEP1bとなる。また本実施形態では、撮像素子122は、2つの光電変換部211aと211bのいずれか一方の出力と、両方の和の出力を得ることができる画素を有している。両方の和の出力は、撮影光学系のほぼ全瞳領域である投影像EP1a、EP1bの両方の領域を通過した光束を光電変換したものである。
図4(a)で、撮影光学系を通過する光束の最外部をLで示すと、光束Lは、絞りの開口板102aで規制されており、投影像EP1a及びEP1bは撮影光学系でケラレがほぼ発生していない。図4(b)では、図4(a)の光束Lを、TLで示している。TLで示す円の内部に、光電変換部の投影像EP1a、EP1bの大部分が含まれていることからも、ケラレがほぼ発生していないことがわかる。光束Lは、絞りの開口板102aでのみ制限されているため、TLは、102aと言い換えることができる。この際、像面中央では各投影像EP1aないしEP1bのケラレ状態は光軸に対して対称となり、各光電変換部211a及び211bが受光する光量は等しい。
位相差AFを行う場合、カメラMPU125は撮像素子122から上述した2種類の出力を読み出すようにセンサ駆動回路123を制御する。そして、カメラMPU125は画像処理回路124に対して焦点検出領域の情報を与え、焦点検出領域内に含まれる画素の出力から、AF用A像およびB像のデータを生成して位相差AF部129に供給するよう命令する。画像処理回路124はこの命令に従ってAF用A像およびB像のデータを生成して位相差AF部129に出力する。画像処理回路124はまた、TVAF部130に対してRAW画像データを供給する。
以上説明した様に、撮像素子122は位相差AFおよびコントラストAFの両方について、焦点検出装置の一部を構成している。
なお、ここでは一例として水平方向に射出瞳を2分割する構成を説明したが、撮像素子122の一部の画素を垂直方向に射出瞳を2分割する構成としてもよい。また、水平および垂直の両方向に射出瞳を分割する構成としてもよい。垂直方向に射出瞳を分割する画素を設けることにより、水平だけでなく垂直方向の被写体のコントラストに対応した位相差AFが可能となる。
(焦点検出動作の説明:コントラストAF)
次に、図5を用いて、コントラストAF(TVAF)について説明する。図5は、TVAF部130の構成を示すブロック図である。コントラストAFは、カメラMPU125とTVAF部130が連携してフォーカスレンズ104の駆動と評価値の算出を繰り返し行うことで実現される。
画像処理回路124からRAW画像データがTVAF部130に入力されると、AF評価用信号処理回路401で、ベイヤー配列信号からの緑(G)信号の抽出と、低輝度成分を強調して高輝度成分を抑圧するガンマ補正処理が施される。本実施形態では、TVAFを緑(G)信号で行う場合を説明するが、赤(R)、青(B)、緑(G)の全ての信号を用いてもよい。また、RGB全色用いて輝度(Y)信号を生成してもよい。AF評価用信号処理回路401で生成される出力信号は、用いられた信号の種類によらず、以後の説明では、輝度信号Yと呼ぶ。
なお、カメラMPU125から、領域設定回路413に焦点検出領域が設定されているものとする。領域設定回路413は、設定された領域内の信号を選択するゲート信号を生成する。ゲート信号は、ラインピーク検出回路402、水平積分回路403、ライン最小値検出回路404、ラインピーク検出回路409、垂直積分回路406、410、垂直ピーク検出回路405、407、411の各回路に入力される。また、各焦点評価値が焦点検出領域内の輝度信号Yで生成されるように、輝度信号Yが各回路に入力するタイミングが制御される。なお、領域設定回路413には、焦点検出領域に合わせて複数の領域が設定可能である。
Yピーク評価値の算出方法について説明する。ガンマ補正された輝度信号Yはラインピーク検出回路402へ入力され、領域設定回路413に設定された焦点検出領域内で水平ラインごとのYラインピーク値が求められる。ラインピーク検出回路402の出力は垂直ピーク検出回路405において焦点検出領域内で垂直方向にピークホールドされ、Yピーク評価値が生成される。Yピーク評価値は、高輝度被写体や低照度被写体の判定に有効な指標である。
Y積分評価値の算出方法について説明する。ガンマ補正された輝度信号Yは、水平積分回路403へ入力され、焦点検出領域内で水平ラインごとにYの積分値が求められる。更に、水平積分回路403の出力は垂直積分回路406において焦点検出領域内で垂直方向に積分されて、Y積分評価値が生成される。Y積分評価値は、焦点検出領域内全体の明るさを判断する指標として用いることができる。
Max−Min評価値の算出方法について説明する。ガンマ補正された輝度信号Yは、ラインピーク検出回路402に入力され、焦点検出領域内で水平ラインごとのYラインピーク値が求められる。また、ガンマ補正された輝度信号Yは、ライン最小値検出回路404に入力され、焦点検出領域内で水平ラインごとにYの最小値が検出される。検出された水平ラインごとのYのラインピーク値及び最小値は減算器に入力され、(ラインピーク値−最小値)が垂直ピーク検出回路407に入力される。垂直ピーク検出回路407は焦点検出領域内で垂直方向にピークホールドを行い、Max−Min評価値を生成する。Max−Min評価値は、低コントラストおよび高コントラストの判定に有効な指標である。
領域ピーク評価値の算出方法について説明する。ガンマ補正された輝度信号Yは、BPF408に通すことによって特定の周波数成分が抽出され焦点信号が生成される。この焦点信号はラインピーク検出回路409へ入力され、焦点検出領域内で水平ラインごとのラインピーク値が求められる。ラインピーク値は、垂直ピーク検出回路411によって焦点検出領域内でピークホールドされ、領域ピーク評価値が生成される。領域ピーク評価値は、焦点検出領域内で被写体が移動しても変化が少ないので、合焦状態から再度合焦点を探す処理に移行するかどうかを判定する再起動判定に有効な指標である。
全ライン積分評価値の算出方法について説明する。領域ピーク評価値と同様に、ラインピーク検出回路409は、焦点検出領域内で水平ラインごとのラインピーク値を求める。次に、ラインピーク値を垂直積分回路410に入力し、焦点検出領域内で垂直方向に全水平走査ライン数について積分して全ライン積分評価値を生成する。高周波全ライン積分評価値は、積分の効果でダイナミックレンジが広く、感度が高いので、主要なAF評価値である。従って、本実施形態では単に焦点評価値と記載した場合は全ライン積分評価値を意味する。
カメラMPU125のAF制御部は上述したそれぞれの焦点評価値を取得し、レンズMPU117を通じてフォーカスレンズ104を光軸方向に沿って所定方向に所定量移動させる。そして、新たに得られた画像データに基づいて上述した各種の評価値を算出し、全ライン積分評価値が最大値となるフォーカスレンズ位置を検出する。
本実施形態では、図5に示すTVAF部130に、水平ライン毎および垂直ライン毎に入力することにより、それぞれ各種のAF用評価値を水平ライン方向および垂直ライン方向で算出する。これにより、水平、垂直の直交する2方向の被写体のコントラスト情報に対して焦点検出を行うことができる。
(焦点検出領域の説明)
図6は、撮影範囲内における焦点検出領域の例を示す図である。上述の通り、位相差AFおよびコントラストAFのいずれも、焦点検出領域に含まれる画素から得られた信号に基づいて行われる。図6において、点線で示す長方形は撮像素子122の画素が形成された撮影範囲217を示す。撮影範囲217には位相差AF用の焦点検出領域218ah、218bh、218chが設定されている。本実施形態では、位相差AF用の焦点検出領域218ah、218bh、218chを撮影範囲217の中央部と左右2箇所の計3箇所に設定している。また、TVAF用の焦点検出領域219a、219b、219cが、位相差AF用の焦点検出領域218ah、218bh、218chの1つを包含する形で設定されている。なお、図6は焦点検出領域の設定例であり、数、位置および大きさは図示したものに限定されない。
(焦点検出処理の流れの説明)
次に、図1Aおよび1Bを参照して、本実施形態のデジタルカメラにおける自動焦点検出(AF)動作について説明する。AF処理の概要を説明した後、詳細な説明を行う。本実施形態でカメラMPU125はまず、焦点検出領域218ah、218bh、218chのそれぞれについて、位相差AFを適用して焦点ずれ量(デフォーカス量)と、デフォーカス量の信頼性とを求める。焦点検出領域218ah、218bh、218chの全てで所定の信頼性を有するデフォーカス量が得られていれば、カメラMPU125はデフォーカス量に基づいて最至近の被写体の合焦位置にフォーカスレンズ104を移動させる。
一方、所定の信頼性を有するデフォーカス量が得られなかった焦点検出領域が存在する場合、カメラMPU125は、その焦点検出領域を包含するコントラストAF用の焦点検出領域について焦点評価値を取得する。カメラMPU125は、焦点評価値の変化とフォーカスレンズ104の位置の関係とに基づいて、位相差AFで得られたデフォーカス量に対応する被写体距離より至近側に被写体が存在するか判定する。そして、より至近側に被写体が存在すると判定された場合、焦点評価値の変化に基づく方向にフォーカスレンズ104を駆動する。
なお、以前に焦点評価値が得られていない場合には焦点評価値の変化量を求めることができない。その場合、カメラMPU125は予め決められたデフォーカス量よりも大きく、かつ所定の信頼性を有するデフォーカス量が得られた焦点検出領域が存在する場合にはその中の最至近の被写体に合焦するようにフォーカスレンズ104を駆動する。所定の信頼性を有するデフォーカス量が得られていない場合、及び、予め決められたデフォーカス量よりも大きなデフォーカス量が得られていない場合、カメラMPU125はデフォーカス量に関係の無い所定量、フォーカスレンズ104を駆動させる。これは、小さいデフォーカス量に基づいてフォーカスレンズ104を駆動した場合、次の焦点検出時に焦点評価値の変化を検出することが難しい可能性が高いからである。
いずれかの方法により焦点検出を終えると、カメラMPU125は各種の補正値を算出し、焦点検出結果を補正する。そして、カメラMPU125は補正後の焦点検出結果に基づいてフォーカスレンズ104を駆動する。
以下、上述したAF処理の詳細を、図1Aおよび図1Bに示すフローチャートを用いて説明する。以下のAF処理動作は、他の主体が明記されている場合を除き、カメラMPU125が主体となって実行される。また、カメラMPU125がレンズMPU117にコマンド等を送信することによってレンズユニット100の駆動や制御を行う場合、説明を簡潔にするために動作主体をカメラMPU125として記載する場合がある。
S1でカメラMPU125は焦点検出領域を設定する。ここでは、位相差AF用、コントラストAF用とも、図6に示したような3か所の焦点検出領域が設定されるものとする。S2において、カメラMPU125は、RAM125b内の至近判定フラグを1に設定する。
S3で、カメラMPU125は、撮像素子122を露光して画像信号を読み出し、画像処理回路124に位相差AF用の焦点検出領域218ah、218bh、218ch内の画像データに基づく位相差AF用の像信号を生成させる。また、画像処理回路124が生成したRAW画像データをTVAF部130に供給させ、TVAF部130でTVAF用の焦点検出領域219a、219b、219c内の画素データに基づく焦点評価値を算出させる。また、ここでは、図23(a)に示すように撮像面上の座標が設定されている場合に、各焦点検出領域の重心座標にあたる(x,y)を記憶しておく。なお、位相差AF用の像信号を生成する前に、画像処理回路124において撮影レンズのレンズ枠などによる光束のケラレによる射出瞳の非対称性を補正する処理(特開2010−117679号公報参照)を適用してもよい。TVAF部130が算出した焦点評価値は、カメラMPU125内のRAM125bに記憶される。
S4において、カメラMPU125は、信頼性のある焦点評価値のピーク(極大値)が検出されたか否かを判定する。信頼性のあるピークが検出された場合、カメラMPU125は、焦点検出処理を終えるために処理をS20に進める。なお、焦点評価値のピークの信頼性の算出方法に制限はないが、例えば、特開2010−78810号公報の図10から図13で説明されているような方法を用いればよい。具体的には、検出されたピークが山の頂点かどうかを、焦点評価値の最大値と最小値の差、一定値(SlopeThr)以上の傾きで傾斜している部分の長さ、および傾斜している部分の勾配をそれぞれの閾値と比較して判断する。全ての閾値を満たしていればピークは信頼性があると判定することができる。
本実施形態では、位相差AFとコントラストAFを併用している。そのため、同一の焦点検出領域や他の焦点検出領域で、より至近側の被写体の存在が確認されている場合には、信頼性のある焦点評価値ピークが検出された際であっても、焦点検出を終えずに処理をS5に進めてもよい。ただし、この場合、信頼性のある焦点評価値ピークに対応するフォーカスレンズ104の位置を記憶しておき、S5以降の処理で信頼性のある焦点検出結果が得られなかった場合に、記憶したフォーカスレンズ104位置を焦点検出結果とする。
S5において、位相差AF部129は、焦点検出領域218ch、218ah、218bhごとに、画像処理回路124から供給された一対の像信号のずれ量(位相差)を算出し、位相差を予め記憶されている換算係数を用いてデフォーカス量に変換する。ここでは、算出されたデフォーカス量の信頼性も判定し、所定の信頼性を有すると判定された焦点検出領域のデフォーカス量のみを、以後のAF処理で用いる。レンズ枠などによるケラレの影響により、デフォーカス量が大きくなるにつれて、一対の像信号間で検出される位相差は、より多くの誤差を含むようになる。そのため、得られたデフォーカス量が閾値より大きい場合、一対の像信号の形状の一致度が低い場合、像信号のコントラストが低い場合には、得られたデフォーカス量は所定の信頼性を有さない(信頼性が低い)と判定することができる。以下、得られたデフォーカス量が所定の信頼性を有すると判定された場合に「デフォーカス量が算出できた」と表現する。また、デフォーカス量が何らかの理由で算出できなかった場合や、デフォーカス量の信頼性が低いと判定された場合には「デフォーカス量が算出できない」と表現する。
S6でカメラMPU125は、S1で設定した位相差AF用の焦点検出領域218ah、218bh、218chの全てでデフォーカス量が算出できたか否か調べる。全ての焦点検出領域でデフォーカス量が算出できている場合、カメラMPU125は処理をS20に進め、算出されたデフォーカス量の中で、最も至近側にある被写体を示すデフォーカス量が算出された焦点検出領域に対して、縦横BP補正値(BP1)を算出する。ここで、最も至近側の被写体を選択する理由は、一般に、撮影者がピントを合わせたい被写体は至近側に存在することが多いためである。また、縦横BP補正値(BP1)は、水平方向の被写体のコントラストに対して焦点検出を行った場合と、垂直方向の被写体のコントラストに対して焦点検出を行った場合の焦点検出結果の差を補正する値である。
一般的な被写体は、水平方向、垂直方向ともにコントラストを有しており、撮影された画像のピント状態の評価も、水平方向、垂直方向の両方向のコントラストを鑑みてなされる。一方で、上述の位相差検出方式のAFのように水平方向のみの焦点検出を行う場合、水平方向の焦点検出結果と撮影画像の水平方向、垂直方向の両方向のピント状態には誤差を生じる。この誤差は、撮影光学系の非点収差などにより発生する。縦横BP補正値(BP1)は、その誤差を補正するための補正値で、選択された焦点検出領域、フォーカスレンズ104の位置、ズーム状態を示す第1レンズ群101の位置などを考慮して算出される。算出方法の詳細については後述する。
S21でカメラMPU125は、S20で補正値算出対象となった焦点検出領域に対して、垂直方向もしくは水平方向のコントラスト情報を用いて、色BP補正値(BP2)を算出する。色BP補正値(BP2)は、撮影光学系の色収差により発生するもので、焦点検出に用いる信号の色のバランスと撮影画像もしくは現像された画像に用いる信号の色のバランスとの差により生じる。例えば、本実施形態のコントラストAFでは、焦点評価値を緑(G)のカラーフィルタを有する画素(緑画素)出力に基づいて生成するため、主に緑色の波長の合焦位置を検出することになる。しかし、撮影画像は、RGB全色を用いて生成されるため、赤(R)や青(B)の合焦位置が緑(G)と異なる場合(軸上色収差が存在する場合)、焦点評価値による焦点検出結果とずれ(誤差)を生じる。その誤差を補正するための補正値が、色BP補正値(BP2)である。色BP補正値(BP2)の算出方法の詳細は、後述する。
S22でカメラMPU125は、補正対象である焦点検出領域に対して、垂直方向もしくは水平方向で緑信号もしくは輝度信号Yのコントラスト情報を用いて、ある特定の色の空間周波数BP補正値(BP3)を算出する。空間周波数BP補正値(BP3)は、撮影光学系の主に球面収差により発生するもので、焦点検出に用いる信号の評価周波数(帯域)と撮影画像を鑑賞する際の評価周波数(帯域)の差によって発生する。上述の通り焦点検出時の画像信号は第2のモードで撮像素子から読み出されているため、出力信号が加算や間引きされている。そのため、第1の読み出しモードで読み出された全画素の信号を用いて生成される撮影画像に対して、焦点検出に用いる出力信号は評価帯域が低くなる。その評価帯域の差により発生する焦点検出のずれを補正するのが空間周波数BP補正値(BP3)である。空間周波数BP補正値(BP3)の算出方法の詳細は、後述する。
S23でカメラMPU125は、算出された3種の補正値(BP1、BP2、BP3)を用いて以下の式(1)により焦点検出結果DEF_Bを補正し、補正後の焦点検出結果DEF_Aを算出する。なお、焦点検出結果DEF_Bは、位相差AFによる焦点検出結果を用いる場合にはデフォーカス量、コントラストAFによる焦点検出結果を用いる場合には焦点評価値のピークに対応するフォーカスレンズ位置と、現在のフォーカスレンズ位置との差である。
DEF_A=DEF_B+BP1+BP2+BP3 …(1)
本実施形態では、焦点検出結果を補正するための補正値を3段階に分け、縦横(S20)、色(S21)、空間周波数(S22)について計算する。
まず、撮影画像の鑑賞時の評価が縦横両方向のコントラスト情報を用いられるのに対し、焦点検出は1方向のコントラスト情報を用いることに起因する誤差を、縦横BP補正値(BP1)として算出する。次に、縦横BPの影響を切り離して、1方向のコントラスト情報において、撮影画像に用いられる信号の色と焦点検出時に用いられる信号の色による合焦位置の差を、色BP補正値(BP2)として算出する。さらに、1方向のコントラスト情報で、緑もしくは輝度信号などのある特定の色に関して、撮影画像の鑑賞時と焦点検出時の評価帯域の差により発生する合焦位置の差を空間周波数BP補正値(BP3)として算出する。このように、3種類の誤差を切り分けて算出することにより、演算量の低減、レンズもしくはカメラに記憶するデータ容量の低減を図る。
S24でカメラMPU125は、レンズMPU117を通じてフォーカスレンズ104を、式(1)で算出された補正後の焦点検出結果DEF_Aに基づいて駆動する。
S25でカメラMPU125は、フォーカスレンズ104の駆動に用いたデフォーカス量を算出した焦点検出領域を表す表示(AF枠表示)を、表示器126で例えばライブビュー画像に重畳表示させて、AF処理を終了する。
一方、S6でデフォーカス量が算出できなかった焦点検出領域が存在した場合、カメラMPU125は処理を図1BのS7に進める。S7でカメラMPU125は、至近判定フラグが1であるか否かを判定する。至近判定フラグが1であるのは、AF動作が始まってからフォーカスレンズ駆動が一度も行われていない場合である。フォーカスレンズ駆動が行われていれば至近判定フラグは0となる。至近判定フラグが1である場合、カメラMPU125は、処理をS8に進める。
S8でカメラMPU125は、全ての焦点検出領域でデフォーカス量を算出できなかった場合、もしくは、算出されたデフォーカス量のうち、最も至近側の被写体の存在を示すデフォーカス量が所定の閾値A以下の場合には、処理をS9に進める。S9でカメラMPU125は、至近側に予め決められた量、フォーカスレンズを駆動する。
ここでS8でYesの場合に、所定量のレンズ駆動を行う理由を説明する。まず、複数の焦点検出領域の中で、デフォーカス量が算出できた領域が無い場合とは、現時点では、ピント合わせを行うべき被写体が見つかっていない場合である。そのため、合焦不能であると判断する前に、全ての焦点検出領域に対して、ピント合わせを行うべき被写体の存在を確認するために、所定量のレンズ駆動を行い、後述する焦点評価値の変化を判定できるようにする。また、算出されたデフォーカス量の中で最も至近側の被写体の存在を示すデフォーカス量が所定の閾値A以下の場合とは、現時点で、ほぼ合焦状態の焦点検出領域が存在している場合である。このような状況では、デフォーカス量が算出できなかった焦点検出領域に、より至近側に、現時点では検出されていない被写体がある可能性を確認するために、所定量のレンズ駆動を行い、後述する焦点評価値の変化を判定できるようにする。なお、S9でフォーカスレンズを駆動する所定量は、撮影光学系のF値やレンズ駆動量に対する撮像面上でのピント移動量の敏感度を鑑みて定めればよい。
一方で、S8でNoの場合、すなわち、算出されたデフォーカス量の中で最も至近側の被写体の存在を示すデフォーカス量が所定の閾値Aより大きい場合には、S10に進む。この場合には、デフォーカス量が算出できた焦点検出領域は存在するものの、その焦点検出領域は合焦状態ではない場合である。そのため、S10でカメラMPU125は、算出されたデフォーカス量の中で最も至近側の被写体の存在を示すデフォーカス量に基づき、レンズ駆動を行う。
S9もしくはS10にてレンズ駆動を行った後、カメラMPU125は処理をS11に進め、至近判定フラグを0に設定して、図1AのS3に処理を戻す。
一方、S7で、至近判定フラグが1でない(0である)場合、カメラMPU125は処理をS12に進める。S12でカメラMPU125は、デフォーカス量が算出できなかった焦点検出領域に対応したTVAF用の焦点検出領域の焦点評価値が、レンズ駆動前後で、所定の閾値B以上変化したか否かを判断する。焦点評価値は増加する場合も減少する場合もあるが、S12では焦点評価値の変化量の絶対値が所定の閾値B以上であるか否かを判断する。
ここで、焦点評価値の変化量の絶対値が所定の閾値B以上である場合とは、デフォーカス量は算出できないものの、焦点評価値の増減により、被写体のボケ状態の変化を検出できたことを意味している。そのため、本実施形態では、位相差AFによるデフォーカス量が検出できない場合でも、焦点評価値の増減に基づいて被写体の存在を判定し、AF処理を継続する。これにより、デフォーカス量が大きく、位相差AFでは検出できない被写体に対して、焦点調節を行うことができる。
ここで、判定に用いられる所定の閾値Bは、レンズ駆動量に応じて変更する。レンズ駆動量が大きい場合は、小さい場合よりも閾値Bに大きい値を設定する。これは、被写体が存在する場合には、レンズ駆動量の増加に応じて、焦点評価値の変化量も増加するためである。これらのレンズ駆動量ごとの閾値Bは、EEPROM125cに記憶されている。
焦点評価値の変化量の絶対値が閾値B以上である場合、カメラMPU125は処理をS13に進め、焦点評価値の変化量が閾値B以上ある焦点検出領域が、無限遠側被写体の存在を示す焦点検出領域のみであるか否かを判定する。焦点検出領域が無限遠側被写体の存在を示す場合とは、レンズ駆動の駆動方向が至近方向で焦点評価値が減少、もしくは、レンズ駆動の駆動方向が無限遠方向で焦点評価値が増加した場合である。
焦点評価値の変化量が閾値B以上である焦点検出領域が、無限遠側被写体の存在を示す焦点検出領域のみでない場合、カメラMPU125は処理をS14に進め、至近側に所定量のレンズ駆動を行う。これは、焦点評価値の変化量が閾値B以上ある焦点検出領域の中に、至近側被写体の存在を示す焦点検出領域があるためである。なお、至近側を優先する理由は上述のとおりである。
一方、S13において、焦点評価値の変化量が閾値B以上ある焦点検出領域が、無限遠側被写体の存在を示す焦点検出領域のみである場合、カメラMPU125は処理をS15に進める。S15でカメラMPU125は、デフォーカス量が算出できた焦点検出領域が存在するか否かを判定する。デフォーカス量が算出できた焦点検出領域が存在する場合(S15でYes)には、焦点評価値による無限遠側被写体の存在よりも、位相差AFの結果を優先するため、カメラMPU125は、処理を図1AのS20に進める。
デフォーカス量が算出できた焦点検出領域が存在しない場合(S15でNo)には、被写体の存在を示す情報が、焦点評価値の変化のみである。そのため、カメラMPU125は、焦点評価値の変化に基づいて、S16で無限遠側に所定量のレンズ駆動を行い、処理を図1AのS3に戻す。
S14及びS16で行うレンズ駆動の所定量は、位相差AFで検出可能なデフォーカス量を鑑みて決めればよい。被写体によって検出可能なデフォーカス量は異なるが、焦点検出不可能な状態からのレンズ駆動で、被写体を検出できずに通り過ぎてしまうことがないようなレンズ駆動量を予め設定しておく。
焦点評価値の変化量の絶対値が所定の閾値B未満である場合(S12でNo)、カメラMPU125は処理をS17に進め、デフォーカス量が算出できた焦点検出領域の有無を判定する。デフォーカス量が算出できた焦点検出領域が無い場合、カメラMPU125は、処理をS18に進め、予め定められた定点にレンズを駆動した後、さらに処理をS19に進め、表示器126に非合焦表示を行ってAF処理を終了する。これは、デフォーカス量が算出できた焦点検出領域が無く、レンズ駆動の前後で焦点評価値の変化がある焦点検出領域も無い場合である。このような場合、被写体の存在を示す情報が全く無いため、カメラMPU125は合焦不能と判定してAF処理を終了する。
一方、S17で、デフォーカス量が算出できた焦点検出領域が有る場合、カメラMPU125は処理を図1AのS20に進め、検出されたデフォーカス量の補正を行い(S20〜S23)、S24で合焦位置へフォーカスレンズ104を駆動する。その後、カメラMPU125はS25で表示器126に合焦表示を行い、AF処理を終了する。
(縦横BP補正値の算出方法)
次に、図7及び図8を用いて、図1AのS20で行う縦横BP補正値(BP1)の算出方法について説明する。図7は、縦横BP補正値(BP1)の算出処理の詳細を示すフローチャートである。
S100で、カメラMPU125は、S1で事前に設定された焦点検出領域に対応する縦横BP補正情報を取得する。縦横BP補正情報は、水平方向の合焦位置に対する垂直方向の合焦位置の差分情報である。本実施形態において縦横BP補正情報はレンズユニット100のレンズメモリ118に予め記憶されており、カメラMPU125は、レンズMPU117に要求して取得するものとする。しかし、RAM125bの不揮発性領域に、レンズユニットの識別情報と対応付けて記憶されていてもよい。
図8(a)に、縦横BP補正情報の例を示す。ここでは、図6の中央の焦点検出領域219a、218ahに対応した縦横BP補正情報の例を示しているが、他の焦点検出領域219c、218chおよび219b、218bhについても縦横BP補正情報を記憶している。ただし、撮影光学系の光軸を挟んで対称な位置に存在する焦点検出領域の焦点検出補正値は設計上は等しい。本実施形態において、焦点検出領域219c、218chと219b、218bhとはこのような対象関係を満たすため、一方についてのみ縦横BP補正情報を記憶してもよい。また、焦点検出領域の位置によって補正値が大きく変化しない場合には、共通の値として記憶してもよい。
図8(a)に示す例では、撮影光学系のズーム位置(画角)とフォーカスレンズ位置(合焦距離)を8つのゾーンに分割し、ゾーンごとに焦点検出補正値BP111〜BP188を記憶している。分割ゾーン数が多いほど撮影光学系の第1レンズ群101の位置およびフォーカスレンズ104の位置に応じた高精度な補正値が得られる。また、縦横BP補正情報は、コントラストAF、位相差AFの両方に用いることができる。
このようにして、S100でカメラMPU125は、補正対象となっている焦点検出結果に応じたズーム位置、フォーカスレンズ位置に対応した補正値を取得する。
S101でカメラMPU125は、補正対象となっている焦点検出領域において、水平方向、垂直方向のいずれの方向に対しても信頼性のある焦点検出結果が得られているかを判定する。焦点検出結果の信頼性の判定の方法については、位相差AFについてもコントラストAFについても上述した通りである。本実施形態の位相差AFは水平方向の焦点検出しか行っていないため、水平方向、垂直方向の両方向に信頼性のある焦点検出結果が得られるのはコントラストAFである。そのため、縦横BP補正値に関する以後の説明は、コントラストAFを想定した説明を行うが、位相差AFの焦点検出を水平、垂直の両方向で行う場合も、同様の処理を行えばよい。S101で、水平方向、垂直方向のいずれの焦点検出結果も信頼性があると判定された場合、カメラMPU125は、処理をS102に進める。
S102でカメラMPU125は、水平方向の焦点検出結果と垂直方向の焦点検出結果の差が、妥当であるか否かを判定する。これは、遠い距離の被写体と近い距離の被写体を焦点検出領域内に含んだ際に生じる遠近競合の問題に対応するために行う処理である。例えば、遠い被写体が水平方向にコントラストを有し、近い被写体が垂直方向にコントラストを有するような場合、撮影光学系の非点収差などにより発生する誤差よりも絶対値が大きかったり、符号が反対の焦点検出結果の差が生じたりする場合がある。カメラMPU125は、水平方向の焦点検出結果と垂直方向の焦点検出結果の差が予め定めた判定値Cより大きい場合には差が妥当でない(遠近競合している)と判定する。そして、より至近側の焦点検出結果を示す方向として水平方向もしくは垂直方向を選択し、処理をS104に進める。なお、判定値Cは、上述の理由から、収差などで発生しうる差を大きく超える値を一意に決めてもよいし、S100で得られた補正情報を用いて設定してもよい。
S102で水平方向の焦点検出結果と垂直方向の焦点検出結果の差が妥当であると判定された場合、カメラMPU125は、処理をS106に進める。
一方で、S101で水平方向、もしくは垂直方向の一方向にのみ信頼性が有る場合や、S102で水平方向もしくは垂直方向の一方向のみが選択された場合、カメラMPU125は処理をS104に進める。S104でカメラMPU125は焦点検出結果の方向選択を行う。信頼性のある焦点検出結果を算出した方向や、遠近競合判定で、より至近側にある被写体に対応した焦点検出結果を算出した方向を選択する。
次にカメラMPU125は、S105で、水平方向、垂直方向の重み付けが可能であるか否かを判定する。S105が実行される場合、焦点評価値の信頼性や遠近競合の観点で、水平方向、垂直方向の両方向に対して信頼性のある焦点検出結果が得られていないが、縦横BP補正値を算出するための判定を改めて行う。この理由を、図8(b)を用いて、詳細に説明する。
図8(b)は、選択された焦点検出領域のフォーカスレンズ104の位置と焦点評価値の関係例を示す図である。図中の曲線E_h、E_vは、コントラストAFで検出された水平方向の焦点評価値と垂直方向の焦点評価値の変化を示す。また、LP1、LP2、LP3は、それぞれフォーカスレンズ位置を示す。図8(b)では、水平方向の焦点評価値E_hから信頼性のある焦点検出結果としてLP3が得られ、垂直方向の焦点評価値E_vから信頼性のある焦点検出結果としてLP1が得られた場合を示している。LP1とLP3とが大きく異なっているため遠近競合状態であると判定され、より至近側の焦点検出結果である水平方向の焦点検出結果LP3がS104で選択される。
このような状況で、S105でカメラMPU125は、選択されている水平方向の焦点検出結果LP3近傍に、垂直方向の焦点検出結果が存在しないか否かを判定する。図8(b)のような状況ではLP2が存在するため、カメラMPU125は、水平、垂直方向の重み付けが可能であると判定して処理をS106に進め、焦点検出結果LP3の補正値を、焦点検出結果LP2の影響を考慮に入れて算出する。
S100において縦横BP補正情報として図8(a)の1要素であるBP1_Bを取得しており、図8(b)におけるLP3における水平方向の焦点評価値がE_hp、LP2における垂直方向の焦点評価値がE_vpであるとする。この場合、S106でカメラMPU125は、焦点評価値の合計に対する、補正する方向と直交する方向における焦点評価値の割合に基づき、縦横BP補正値BP1を以下の式(2)に従って算出する。
BP1=BP1_B×E_vp/(E_vp+E_hp)×(+1) …(2)
本実施形態では、水平方向の焦点検出結果に対する補正値を算出するため、式(2)を用いて補正値BP1を算出するが、垂直方向の焦点検出結果を補正する場合には、以下の式(3)で算出することができる。
BP1=BP1_B×E_hp/(E_vp+E_hp)×(−1) …(3)
S102で水平方向の焦点検出結果と垂直方向の焦点検出結果の差が妥当であると判定された場合、至近側の焦点検出結果が水平方向の検出結果であれば式(2)を、垂直方向の検出結果であれば式(3)を用いて補正値BP1を算出する。
式(2)、式(3)から自明であるように、焦点評価値が大きいという情報を、被写体に含まれるコントラスト情報が多いと判定して、縦横BP補正値(BP1)を算出する。上述の通り、縦横BP補正情報は、
(垂直方向にのみコントラスト情報をもつ被写体の焦点検出位置)−(水平方向にのみコントラスト情報を持つ被写体の焦点検出位置)
である。そのため、水平方向の焦点検出結果を補正する補正値BP1と垂直方向の焦点検出結果を補正する補正値BP1の符号は反対となる。S106の処理を終えるとカメラMPU125は、縦横BP補正値算出処理を終了する。
一方、選択されている水平方向の焦点検出結果LP3近傍に、垂直方向の焦点検出結果が存在しないとS105で判定された場合、カメラMPU125は処理をS103に進める。S103でカメラMPU125は、被写体に含まれるコントラスト情報が概ね1方向のみであると判断されるため、BP1=0とし、縦横BP補正値算出処理を終了する。
このように、本実施形態では、異なる方向における被写体のコントラスト情報に応じて補正値を算出するため、被写体のパターンに応じた高精度な補正値算出を行うことができる。なお、図8(b)では、被写体が遠近競合している場合について説明したが、水平方向と垂直方向に1つずつ極大値が検出されており、片方の焦点検出結果に信頼性が無い場合も、同様の考え方で補正値を算出する。
ただし、S106での補正値算出方法はこれに限らない。例えば、本実施形態の位相差AFのように、水平方向のみ焦点検出が行える場合には、被写体の水平方向と垂直方向のコントラストの情報量は同量であると仮定して、補正値を算出してもよい。その場合には、上述の式(2)、式(3)において、E_hp=E_vp=1を代入することにより補正値を算出することができる。このような処理を行うことにより、補正精度は落ちるが、補正値演算の負荷を減らすことができる。
上述の説明では、コントラストAFの焦点検出結果に対して説明したが、位相差AFの焦点検出結果に対しても同様の処理を行うことが可能である。補正値算出の際の重み付けの係数として、位相差AFの相関演算で算出される相関量の変化量を用いればよい。これは、被写体の明暗差が大きい場合や明暗差のあるエッジの数が多い場合など、被写体のコントラスト情報が多ければ多いほど、相関量の変化量も大きくなることを利用している。同様の関係が得られる評価値であれば、相関量の変化量に限らず、種々の評価値を用いてよい。
このように、縦横BP補正値を用いて焦点検出結果を補正することにより、被写体の方向ごとのコントラスト情報の量によらず、高精度な焦点検出を行うことができる。また、水平方向、垂直方向の補正値を図8(a)に示したような共通の補正情報を用いて算出しているため、方向ごとに各々の補正値を記憶する場合に比べて、補正情報の記憶容量を低減することができる。
また、方向ごとの焦点検出結果が大きく異なる場合には、これらの焦点検出結果を用いた縦横BP補正値の算出を行わないことにより、遠近競合の影響を低減することができる。さらに、遠近競合が想定される場合においても、方向ごとの焦点評価値の大小により補正値の重みづけを行うことにより、より高精度な補正を行うことができる。
(色BP補正値の算出方法)
次に、図9を用いて、図1AのS21で行う色BP補正値(BP2)の算出方法について説明する。図9(a)は、色BP補正値(BP2)の算出処理の詳細を示すフローチャートである。
S200で、カメラMPU125は、S1で事前に設定された焦点検出領域に対応する色BP補正情報を取得する。色BP補正情報は、緑(G)の信号を用いて検出される合焦位置に対する他の色(赤(R)、青(B))の信号を用いて検出される合焦位置の差分情報である。本実施形態において色BP補正情報はレンズユニット100のレンズメモリ118に予め記憶されており、カメラMPU125は、レンズMPU117に要求して取得するものとするが、RAM125bの不揮発性領域に記憶されていてもよい。
分割ゾーン数が多いほど撮影光学系の第1レンズ群101の位置およびフォーカスレンズ104の位置に応じた高精度な補正値が得られる。また、色BP補正情報は、コントラストAF、位相差AFの両方に用いることができる。
S200でカメラMPU125は、補正対象となっている焦点検出結果に応じたズーム位置、フォーカスレンズ位置に対応した補正値を取得する。図9(b)および(c)は、色BP補正値の例を示す。ここでは、図6の中央の焦点検出領域219a、218ahに対応した色BP補正情報の例を示しているが、他の焦点検出領域219c、218chおよび219b、218bhについても色BP補正情報を記憶している。ただし、撮影光学系の光軸を挟んで対称な位置に存在する焦点検出領域の焦点検出補正値は設計上は等しい。本実施形態において、焦点検出領域219c、218chと219b、218bhとはこのような対象関係を満たすため、一方についてのみ色BP補正情報を記憶してもよい。また、焦点検出領域の位置によって補正値が大きく変化しない場合には、共通の値として記憶してもよい。
S201でカメラMPU125は、色BP補正値を算出する。S200で、図9(b)からBP_R、図9(c)からBP_Bを取得している場合、カメラMPU125は、色BP補正値BP2を以下の式(4)に従って算出する。
BP2=K_R×BP_R+K_B×BP_B …(4)
また、K_RおよびK_Bは、各色の補正情報に対する係数である。被写体に含まれる緑(G)情報に対する赤(R)や青(B)の情報の大小関係と相関がある値で、赤い色を多く含む被写体に対しては、K_Rが大きな値を取り、青い色を多く含む被写体に対しては、K_Bが大きな値を取る。緑色を多く含む被写体に対しては、K_R、K_B共に小さい値を取る。K_R、K_Bは、被写体として代表的な分光情報に基づき、予め設定しておけばよい。被写体の分光情報を検出できる場合には、被写体の分光情報に応じてK_R、K_Bを設定すればよい。S201で色BP補正値の算出を終えると、カメラMPU125は、色BP補正値算出処理を終了する。
なお、本実施形態では、補正値を図8(a)や図9(b)及び図9(c)のように焦点検出領域ごとにテーブル形式で記憶するものとしたが、補正値の記憶方法については、これに限らない。例えば、図23(a)に示すように、撮像素子122と撮影光学系の光軸との交点を原点とし、撮像装置の水平方向、垂直方向をそれぞれX軸、Y軸とした座標を設定し、焦点検出領域の中心座標における補正値をXとYの関数で求めてもよい。この場合、焦点検出補正値として記憶すべき情報量を削減することができる。
また、本実施形態では、縦横BP補正情報や色BP補正情報を用いて算出する焦点検出に用いる補正値を、被写体のパターンの持つ空間周波数情報によらないものとして算出した。そのため、記憶するべき補正情報の量を増やすことなく高精度な補正を行うことができる。しかしながら、補正値の算出方法は、これに限らない。後述する空間周波数BP補正値の算出方法と同様に、空間周波数ごとの縦横BP補正情報や色BP補正情報を用いて、被写体の空間周波数成分に合わせた補正値を算出してもよい。
(空間周波数BP補正値の算出方法)
次に、図10を用いて、図1AのS22で行う空間周波数BP補正値(BP3)の算出方法について説明する。図10(a)は、空間周波数BP補正値(BP3)の算出処理の詳細を示すフローチャートである。
S300で、カメラMPU125は、S1で事前に設定された焦点検出領域に対応する空間周波数BP補正情報を取得する。空間周波数BP補正情報は、被写体の空間周波数ごとの撮影光学系の結像位置に関する情報である。本実施形態において空間周波数BP補正情報はレンズユニット100のレンズメモリ118に予め記憶されており、カメラMPU125は、レンズMPU117に要求して取得するものとするが、RAM125bの不揮発性領域に記憶されていてもよい。
なお、本実施形態では、空間周波数BP補正情報を焦点検出領域ごとに記憶するものとしたが、補正値の記憶方法については、これに限らない。例えば、図23(a)に示すように、撮像素子と撮影光学系の光軸との交点を原点とし、撮像素子122の水平方向、垂直方向をそれぞれX軸、Y軸とした座標を設定し、焦点検出領域の中心座標における補正値をXとYの関数で求めてもよい。この場合、焦点検出補正値として記憶すべき情報量を削減することができる。
撮影光学系のデフォーカス変調伝達関数(MTF:Modulation Transfer Function)を示す図10(b)を用いて、空間周波数BP補正情報の例を説明する。図10(b)の横軸はフォーカスレンズ104の位置を、縦軸はMTFの強度を示している。図10(b)に描かれている4種の曲線は、空間周波数ごとのMTF曲線で、MTF1、MTF2、MTF3、MTF4の順に、空間周波数が低い方から高い方を示している。空間周波数F1(lp/mm)のMTF曲線がMTF1と対応し、同様に、空間周波数F2,F3,F4(lp/mm)とMTF2、MTF3、MTF4がそれぞれ対応する。また、LP4、LP5、LP6、LP7は、各デフォーカスMTF曲線の極大値に対応するフォーカスレンズ104の位置を示している。なお、記憶されている空間周波数BP補正情報は図10(b)の曲線を離散的にサンプリングしたものである。一例として本実施形態では、1つのMTF曲線に対して10個のフォーカスレンズ位置でMTFデータがサンプリングされており、例えば、MTF1に対しては、MTF1(n)(1≦n≦10)として10個のデータを記憶している。
空間周波数BP補正情報は、縦横BP補正情報や色BP補正情報と同様、焦点検出領域の位置ごとに撮影光学系のズーム位置(画角)とフォーカスレンズ位置(合焦距離)を8つのゾーンに分割し、ゾーンごとに記憶する。分割ゾーン数が多いほど撮影光学系の第1レンズ群101の位置およびフォーカスレンズ104の位置に応じた高精度な補正値が得られる。また、空間周波数BP補正情報は、コントラストAF、位相差AFの両方に用いることができる。
S300でカメラMPU125は、補正対象となっている焦点検出結果に応じたズーム位置、フォーカスレンズ位置に対応した補正値を取得する。S301でカメラMPU125は、補正対象となっている焦点検出領域において、コントラストAFや位相差AFを行う際に用いられる信号の帯域を算出する。本実施形態でカメラMPU125は、被写体、撮影光学系、撮像素子のサンプリング周波数、評価に用いるデジタルフィルタの影響を鑑みて、AF評価帯域を算出する。AF評価帯域の算出方法は後述する。
次に、S302でカメラMPU125は、撮影画像に用いられる信号の帯域を算出する。S302のAF評価帯域の算出と同様にカメラMPU125は、被写体、撮影光学系、および撮像素子の周波数特性、撮影画像の鑑賞者の評価帯域の影響を鑑みて、撮影画像評価帯域を算出する。
ここで図11を用いて、S301、S302で行うAF評価帯域、撮影画像評価帯域の算出について説明する。図11は、いずれも空間周波数ごとの強度を示しており、横軸に空間周波数、縦軸に強度を示している。
図11(a)は、被写体の空間周波数特性(I)を示している。横軸上のF1,F2,F3,F4は、図10(b)のMTF曲線(MTF1〜MTF4)と対応した空間周波数である。また、Nqは、撮像素子122の画素ピッチにより決まるナイキスト周波数を示している。F1からF4とNqについては、以後説明する図11(b)から図11(f)にも同様に示している。本実施形態では、被写体の空間周波数特性(I)は、事前に記憶した代表値を用いる。図11(a)では、被写体の空間周波数特性(I)は連続した曲線で描かれているが、空間周波数F1,F2,F3,F4に対応した離散値I(n)(1≦n≦4)を有する。
また、本実施形態では、被写体の空間周波数特性として予め記憶された代表値を用いたが、焦点検出を行う被写体に応じて、用いる被写体の空間周波数特性を変更してもよい。撮影した画像信号にFFT処理などを適用することにより、被写体の空間周波数情報(パワースペクトル)を得ることができる。この場合、演算処理が増加するが、実際に焦点検出する被写体に応じた補正値を算出できるため、高精度な焦点検出が可能となる。また、より簡易的に、被写体のコントラスト情報の大小によって、予め記憶された数種の空間周波数特性を使い分けてもよい。
図11(b)は、撮影光学系の空間周波数特性(O)である。この情報は、レンズMPU117を通じて得てもよいし、カメラ内のRAM125bに記憶しておいてもよい。記憶する情報は、デフォーカス状態ごとの空間周波数特性でもよいし、合焦時の空間周波数特性のみでもよい。空間周波数BP補正値は合焦近傍で算出するため、合焦時の空間周波数特性を用いれば、高精度に補正を行うことができる。ただし、演算負荷は増えるものの、デフォーカス状態ごとの空間周波数特性を用いると、より高精度に焦点調節を行うことができる。どのデフォーカス状態の空間周波数特性を用いるかについては、位相差AFにより得られるデフォーカス量を用いて選択すればよい。図11(b)では、撮影光学系の空間周波数特性(O)は連続した曲線で描かれているが、空間周波数F1,F2,F3,F4に対応した離散値O(n)(1≦n≦4)を有する。
図11(c)は、光学ローパスフィルタ121の空間周波数特性(L)である。この情報は、カメラ内のRAM125bに記憶されている。図11(c)では、光学ローパスフィルタ121の空間周波数特性(L)は、連続した曲線で描かれているが、空間周波数F1,F2,F3,F4に対応した離散値L(n)(1≦n≦4)を有する。
図11(d)は、信号生成による空間周波数特性(M1,M2)である。上述の通り、本実施形態の撮像素子は2種類の読み出しモードを有する。第1の読み出しモード、すなわち全画素読み出しモードでは、M1として示すように、信号生成時に空間周波数特性が変わることはない。一方で、第2の読み出しモード、すなわち間引き読み出しモードの際には、M2で示すように信号生成時に空間周波数特性が変わる。上述の通り、X方向の間引きの際に信号の加算を行いS/Nの改善を図るため、加算によるローパス効果が発生する。図11(d)のM2は、第2の読み出しモードの際の信号生成時の空間周波数特性を示している。ここでは、間引きの影響は加味せず、加算によるローパス効果を示している。図11(d)では、信号生成による空間周波数特性(M1,M2)が連続した曲線で描かれているが、空間周波数F1,F2,F3,F4に対応した離散値M1(n),M2(n)(1≦n≦4)を有する。
図11(e)は、撮影画像を鑑賞する際の空間周波数ごとの感度を示す空間周波数特性(D1)とAF評価信号の処理時に用いるデジタルフィルタの空間周波数特性(D2)を示している。撮影画像を鑑賞する際の空間周波数ごとの感度は、鑑賞者の個人差や、画像サイズや鑑賞距離、明るさなどの鑑賞環境などにより影響を受ける。本実施形態では、代表的な値として、鑑賞時の空間周波数ごとの感度を設定し、記憶している。一方で、第2の読み出しモードの際には、間引きの影響で、信号の周波数成分の折り返しノイズ(エイリアシング)が発生する。その影響を加味して、デジタルフィルタの空間周波数特性を示したのがD2である。図11(e)では、鑑賞時の空間周波数特性(D1)とデジタルフィルタの空間周波数特性(D2)は、曲線で描かれているが、空間周波数F1,F2,F3,F4に対応した離散値D1(n)、D2(n)(1≦n≦4)を有する。
以上のように、種々の情報を、カメラ、レンズのいずれかに記憶しておくことにより、カメラMPU125は撮影画像の評価帯域W1やAF評価帯域W2を以下の式(5),(6)に基づいて算出する。
W1(n)=I(n)×O(n)×L(n)×M1(n)×D1(n)
(1≦n≦4) …(5)
W2(n)=I(n)×O(n)×L(n)×M2(n)×D2(n)
(1≦n≦4) …(6)
図11(f)に、撮影画像の評価帯域W1とAF評価帯域W2を示す。式(5)や式(6)のような計算を行うことにより、撮影画像の合焦状態を決定する因子に対して、空間周波数毎に、どの程度の影響度合いを有するかを定量化することができる。同様に、焦点検出結果が有する誤差が、空間周波数毎に、どの程度の影響度合いを有するかを定量化することができる。
また、カメラ内に記憶する情報は、事前に計算されたW1やW2を記憶していてもよい。上述のように、補正の度に計算することにより、AF評価の際に用いるデジタルフィルタ等を変更した際に、柔軟に対応して補正値を算出できる。一方で、事前に記憶しておけば、式(5)や式(6)のような計算や各種データの記憶容量を削減することができる。
また、全ての計算を事前に終えておく必要はないため、例えば、撮影光学系と被写体の空間周波数特性のみは予め計算し、カメラ内に記憶することにより、データの記憶容量の低減や演算量の低減を行ってもよい。
図11では、説明を簡易にするため、4つの空間周波数(F1〜F4)に対応する離散値を用いて説明した。しかし、データを有する空間周波数の数は、多いほど、撮影画像やAFの評価帯域の空間周波数特性を正確に再現することができ、精度のよい補正値の算出を行うことができる。一方で、重みづけを行う空間周波数を少なくすることにより、演算量を低減することができる。撮影画像の評価帯域とAF評価帯域の空間周波数特性を代表する空間周波数を各々1つずつ持ち、以後の演算を行ってもよい。
図10(a)に戻り、S303でカメラMPU125は、空間周波数BP補正値(BP3)を算出する。空間周波数BP補正値の算出を行うに際し、カメラMPU125は、まず、撮影画像のデフォーカスMTF(C1)と焦点検出信号のデフォーカスMTF(C2)を算出する。C1,C2は、S300で得たデフォーカスMTF情報と、S301、S302で得た評価帯域W1,W2を用いて、以下の式(7)に従って算出する。
C1(n)=MTF1(n)×W1(1)+MTF2(n)×W1(2)+MTF3(n)×W1(3)+MTF4(n)×W1(4) …(7)
C2(n)=MTF1(n)×W2(1)+MTF2(n)×W2(2)+MTF3(n)×W2(3)+MTF4(n)×W2(4) …(8)
このように、図10(b)で示した空間周波数ごとのデフォーカスMTF情報を、S301、S302で算出した撮影画像やAFの評価帯域の重みづけに基づいて加算し、撮影画像のデフォーカスMTF(C1)とAFのデフォーカスMTF(C2)を得る。図10(c)に、得られた2つのデフォーカスMTFであるC1,C2を示している。横軸はフォーカスレンズ104の位置で、縦軸は、空間周波数毎に重み付け加算されたMTFの値となっている。カメラMPU125は、各々のMTF曲線の極大値位置を検出する。曲線C1の極大値と対応するフォーカスレンズ104の位置としてP_imgが検出される。曲線C2の極大値と対応するフォーカスレンズ104の位置としてP_AFが検出される。
S303でカメラMPU125は、空間周波数BP補正値(BP3)を以下の式(9)により算出する。
BP3=P_AF−P_img …(9)
式(9)により、撮影画像の合焦位置とAFで検出される合焦位置の間で発生しうる誤差を補正するための補正値を補正することができる。
上述したように撮影画像の合焦位置は、被写体、撮影光学系、および光学ローパスフィルタのそれぞれの空間周波数特性、信号生成時の空間周波数特性、鑑賞時の周波数ごとの感度を示す空間周波数特性や、撮影画像に施される画像処理などによって変化する。本実施形態では、撮影画像の生成過程に遡って空間周波数特性を算出することにより、高精度に撮影画像の合焦位置を算出することができる。例えば、撮影画像の記録サイズや、画像処理で行われる超解像処理、シャープネスなどによって、撮影画像の合焦位置を変更する。また、撮影画像の記録後に、どの程度の画像サイズや拡大率で鑑賞されるかや鑑賞する際の鑑賞距離などは、鑑賞者の評価帯域に影響を与える。そして、画像サイズが大きくなるほど、また、鑑賞距離が短くなるほど、鑑賞者の評価帯域を高周波成分に重きを置いた特性とすることで、撮影画像の合焦位置も変更される。
一方で、AFが検出する合焦位置も同様に、被写体、撮影光学系、および光学ローパスフィルタそれぞれの空間周波数特性、信号生成時の空間周波数特性、AF評価に用いるデジタルフィルタ空間周波数特性などにより変化する。本実施形態では、AFに用いられる信号が生成される過程に遡って空間周波数特性を算出することにより、高精度にAFが検出する合焦位置を算出することができる。例えば、第1の読み出しモードでAFを行う際にも柔軟に対応できる。その場合には、信号生成時の空間周波数特性を、第1の読み出しモードに対応した特性に変更して、重みづけ係数を算出すればよい。
また、本実施形態で説明した撮像装置は、レンズ交換式一眼レフカメラであるため、レンズユニット100の交換が可能である。レンズユニット100が交換された場合、レンズMPU117は各空間周波数に対応したデフォーカスMTF情報を、カメラ本体120に送信する。そして、カメラMPU125が、撮影画像の合焦位置やAFが検出する合焦位置を算出するので、交換レンズ毎に高精度な補正値の算出を行うことができる。レンズユニット100は、デフォーカスMTF情報だけでなく、撮影光学系の空間周波数特性などの情報もカメラ本体120に送信してもよい。その情報の活用方法は、上述のとおりである。
また、同様に、カメラ本体120を交換した場合には、画素ピッチや光学ローパスフィルタの特性などが変わる場合がある。上述の通り、そのような場合でも、カメラ本体120の特性に合わせた補正値が算出されるため、高精度に補正を行うことができる。
上述の説明では、補正値の計算をカメラMPU125で行ったが、レンズMPU117で行ってもよい。その場合には、カメラMPU125から、レンズMPU117に対して、図11を用いて説明した各種情報を送信し、レンズMPU117がデフォーカスMTF情報などを用いて補正値を算出してもよい。この場合、図1AのS24で、カメラMPU125から送信された合焦位置に対して、レンズMPU117が補正を施して、レンズ駆動を行えばよい。
本実施形態では、焦点検出に用いる信号の特性(縦横、色、空間周波数帯域)に着目して、AF用の補正値を算出している。そのため、AFの方式によらず、同様の方法で、補正値の算出を行うことができる。AF方式毎に、補正方法、補正に用いるデータを有する必要がないため、データの記憶容量、演算負荷の低減を行うことができる。
●(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第1の実施形態との主な違いは、空間周波数BP補正値の算出方法が異なる点である。第1の実施形態では、撮影光学系の空間周波数ごとの特性を表す値としてデフォーカスMTF情報を用いた。しかしながら、デフォーカスMTF情報は、データ量が多く、記憶容量、演算負荷が大きくなるため、第2の実施形態では、デフォーカスMTFの極大値情報を用いて空間周波数BP補正値を算出する。これにより、レンズメモリ118もしくはRAM125bの容量を節約し、レンズ−カメラ間の通信容量の低減、カメラMPU125で行う演算負荷の低減などが実現できる。
なお、撮像装置のブロック図(図2)、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、焦点検出処理および各種BP補正値算出処理のフローチャート(図1A及び図1B、図7、図9(a))は、本実施形態においても流用する。また、空間周波数BP補正値算出処理のフローチャート(図10(a))および各評価帯域の説明図(図11)についても流用する。
本実施形態における空間周波数BP補正値(BP3)の算出方法を、図12を用いて説明する。S300で、カメラMPU125は空間周波数BP補正情報を取得する。
図12は、撮影光学系の特性である空間周波数ごとのデフォーカスMTFの極大値を示すフォーカスレンズ104位置を示している。図10(b)に示した離散的な空間周波数F1からF4について、デフォーカスMTFがピーク(極大値)となるフォーカスレンズ位置LP4、LP5、LP6、LP7が縦軸に示されている。本実施形態では、このLP4〜LP7を、MTF_P(n)(1≦n≦4)としてレンズメモリ118またはRAM125bに記憶する。記憶されている情報が、焦点検出領域の位置、ズーム位置やフォーカスレンズ位置に対応していることは、第1の実施形態と同様である。
第2の実施形態では、図10(a)に示した空間周波数BP補正値処理のS300で、カメラMPU125は、補正対象となっている焦点検出結果に応じたズーム位置、フォーカスレンズ位置に対応した補正値を取得する。S301、S302でカメラMPU125は、第1の実施形態と同様の処理を行う。
S303でカメラMPU125は、空間周波数BP補正値(BP3)を算出する。空間周波数BP補正値の算出を行うに際し、カメラMPU125はまず、撮影画像の合焦位置(P_img)とAFが検出する合焦位置(P_AF)を、以下の式(10)および(11)に従って算出する。算出には、S300で得たデフォーカスMTF情報MTF_P(n)と、S301、S302で得た評価帯域W1,W2を用いる。
P_img=MTF_P(1)×W1(1)+MTF_P(2)×W1(2)+MTF_P(3)×W1(3)+MTF_P(4)×W1(4) …(10)
P_AF=MTF_P(1)×W2(1)+MTF_P(2)×W2(2)+MTF_P(3)×W2(3)+MTF_P(4)×W2(4) …(11)
つまり、図12で示した空間周波数ごとのデフォーカスMTFの極大値情報MTF_P(n)を、S301、S302で算出した撮影画像やAFの評価帯域W1,W2で重みづけ加算する。それにより、撮影画像の合焦位置(P_img)とAFが検出する合焦位置(P_AF)を算出している。
次にカメラMPU125は、空間周波数BP補正値(BP3)を、第1の実施形態と同様に、以下の式(9)により算出する。
BP3=P_AF−P_img …(9)
上記の通り、第2の実施形態によれば、空間周波数BP補正値をより簡便に算出することができる。第2の実施形態では、空間周波数BP補正値の精度は第1の実施形態より若干劣るが、空間周波数BP補正値を算出するために記憶しておく情報量の削減、レンズ−カメラ間の通信量の削減、カメラMPU125で行う演算負荷の低減が実現できる。
●(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態も空間周波数BP補正値の算出方法が上述の実施形態と異なる。本実施形態では、空間周波数BP補正値を算出する必要性がない場合には算出しないことにより、空間周波数BP補正値の精度を低下させずに、レンズ−カメラ間の通信容量の低減やカメラMPU125で行う演算負荷を低減する。
なお、撮像装置のブロック図(図2)、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、焦点検出処理および各種BP補正値算出処理のフローチャート(図1A及び図1B、図7、図9(a))は、本実施形態においても流用する。また、空間周波数BP補正値算出処理に関する図(図10(b)〜図10(c))についても流用する。
第3の実施形態における空間周波数BP補正値(BP3)の算出方法を、図13のフローチャートを用いて説明する。図13において、図10(a)と同様の処理は同じ参照数字を付して重複する説明を省略する。
S3000でカメラMPU125は、空間周波数BP補正値を算出する必要があるか否かを判定する。第1の実施形態で説明したことから分かる通り、撮影画像の評価帯域W1とAF評価帯域W2が似ているほど、空間周波数BP補正値は小さくなる。そのため、第3の実施形態では、2つの評価帯域の差が空間周波数BP補正値を算出する必要がない程度に小さいと判定される場合には、補正値の算出を省略する。
具体的には、2つの評価帯域の差が十分小さくなる条件を満たす場合に、補正値の算出を省略する。例えば、AFに用いる信号も第1の読み出しモードで読み出された信号である場合には、撮影画像の評価帯域とAF評価帯域は等しくなる。さらに、撮影画像を鑑賞する際の空間周波数ごとの感度を示す空間周波数特性と類似の空間周波数特性のデジタルフィルタをAF評価信号の処理時に用いる場合には、鑑賞時の空間周波数特性とデジタルフィルタの空間周波数特性が等しくなる。このような状況は、表示器126に表示する画像を拡大して表示する場合などに発生する。
また、同様に、撮影画像が第2の読み出しモードで読み出された信号で生成される場合にも撮影画像の評価帯域とAF評価帯域が等しくなることが想定される。このような状況は、撮影画像の記録画像サイズを小さく設定している場合などに、発生する。
S3000でカメラMPU125は、このような、予め定められた条件のいずれかが満たされる場合に、補正値の算出が不要と判定し、処理をS3001に進める。S3001でカメラMPU125は、補正値の算出を行わないため、BP3に0を代入し、空間周波数BP補正値(BP3)の算出処理を終了する。
一方、S3000で、補正値の算出が必要であると判定された場合、カメラMPU125は、S300〜S303を第1の実施形態(または第2の実施形態)と同様に実施する。
このように、第3の実施形態では、空間周波数BP補正値の算出が不要と判定された場合には補正値の算出を省略するので、補正値の算出用に記憶しておくデータ量は削減できないが、補正値算出時のデータ通信量や演算負荷を低減することができる。なお、第2の実施形態と組み合わせることも可能であり、その場合は補正値の算出用に記憶しておくデータ量の削減はもちろん、補正値算出時のデータ通信量や演算負荷を一層低減することができる。
本実施形態では、空間周波数BP補正値の省略について説明したが、縦横BP補正値や色BP補正値についても不要と判定できれば省略することができる。例えば、焦点検出を垂直方向、水平方向の両方のコントラストを考慮して行う場合は、縦横BP補正値の算出を省略してもよい。また、撮影画像に用いる色信号と、焦点検出に用いる色信号が等しい場合は、色BP補正値の算出を省略してもよい。
●(第4の実施形態)
次に、本発明の第4の実施形態について説明する。第1の実施形態との主な違いは、各種BP補正値の算出方法が異なる点である。第1の実施形態では、縦横BP補正値、色BP補正値、空間周波数BP補正値を、各々異なる補正値として算出した。しかしながら、縦横BP補正値や色BP補正値も少なからず空間周波数に依存するため、第4の実施形態では、縦横BP補正値および色BP補正値についても空間周波数を考慮して算出する。これにより、レンズメモリ118もしくはRAM125bに必要な容量は増えるが、より高精度に補正値を算出することができる。また、BP補正値の算出における演算の順序や一時記憶する係数の情報などを変更することにより、演算量の低減を図ることができる。
なお、撮像装置のブロック図(図2)、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、各評価帯域の説明図(図11)は、第4の実施形態においても共通であるため、以下の説明においても流用する。
第4の実施形態におけるBP補正値(BP)の算出方法を、図14から図16を用いて説明する。
図14において、第1の実施形態における焦点検出処理と同様の処理を行うものについては、図1Aと同じ参照数字を付している。図14では、図1AにおけるS20からS22がS400に、S23の処理がS401に、それぞれ置き換えられている点が異なる。S400でカメラMPU125は、方向(縦横)、色、空間周波数など、各種の誤差要因をまとめて補正するためのBP補正値(BP)を算出する。
S401でカメラMPU125は、算出されたBP補正値(BP)を用いて以下の式(12)により焦点検出結果DEF_Bを補正し、補正後の焦点検出結果DEF_Aを算出する。
DEF_A=DEF_B+BP …(12)
本実施形態では、R(赤)、G(緑)、およびB(青)の3色と、縦(垂直)および横(水平)の2方向とを組み合わせた6種の空間周波数の各々のデフォーカスMTFの極大値を示すフォーカスレンズ104位置の情報を用いてBP補正値を算出する。これにより、色や方向(縦横)についても、空間周波数の依存性を考慮することができ、より高精度なBP補正値を算出することができるため、補正精度を向上することができる。
図15は、図14のS400におけるBP補正値算出処理の詳細を示すフローチャートである。
S500で、カメラMPU125は、BP補正値の算出に必要なパラメータ(算出条件)を取得する。BP補正値は、第1の実施形態で説明したように、フォーカスレンズ104の位置、ズーム状態を示す第1レンズ群101の位置、焦点検出領域の位置など、撮影光学系の変化や焦点調節光学系の変化に伴い変化する。そのため、カメラMPU125は、S500で例えばフォーカスレンズ104の位置、ズーム状態を示す第1レンズ群101の位置、および、焦点検出領域の位置の情報を取得する。さらに、カメラMPU125はS500において、焦点検出に用いる信号と撮影画像に用いる信号の色や評価方向に関する設定情報を取得する。
図16(a)に、色や評価方向に関する設定情報の例を示す。この設定情報は、焦点状態を評価するコントラストの方向(水平、垂直)と色(赤、緑、青)の各組み合わせに対する、重み付けの大きさを示す情報である。設定情報は、焦点検出用と撮影画像用とで、異なる情報を有する。例えば、水平方向で緑色の信号を用いたコントラストAFの結果を補正する場合、焦点検出用の設定情報を、
K_AF_RH=0
K_AF_GH=1
K_AF_BH=0
K_AF_RV=0
K_AF_GV=0
K_AF_BV=0
のように定めればよい。このような設定情報により、焦点検出用の信号のデフォーカスMTFのピーク情報は、水平方向で緑色の信号の特性と同じであることを示すことができる。
一方、撮影画像用の設定情報は、
K_IMG_RH=0.15
K_IMG_GH=0.29
K_IMG_BH=0.06
K_IMG_RV=0.15
K_IMG_GV=0.29
K_IMG_BV=0.06
のように定めればよい。これは、RGBの信号をY信号相当に変換するための重み付けを行い、撮影画像はY信号で評価し、水平方向、垂直方向いずれのコントラストも同等に評価することを想定して設定される値である。ただし、設定値や設定値の種類などは、これに限らない。
S501でカメラMPU125は、後述するピーク係数に変更があるか否かを判定する。この判定は、事前に行われたBP補正値の算出と今回のBP補正値の算出における各種条件が同一の場合、ピーク係数の再算出を省略するために行っている。本実施形態でカメラMPU125は、焦点検出用と撮影画像用の色や評価方向に関する設定情報(図16(a))と焦点検出領域の位置に変更がなければ、ピーク係数に変更なしと判定し、S502からS504をスキップして処理をS505に移行させる。
S501で、初めてピーク係数を算出する場合もしくはピーク係数の変更ありと判定された場合、カメラMPU125は処理をS502に進め、BP補正情報を取得する。BP補正情報は、被写体の空間周波数ごとの撮影光学系の結像位置に関する情報である。上述した3色と2方向との6通りの組み合わせの各々について、空間周波数fと撮像素子122上の焦点検出領域の位置(x,y)を変数とした以下の式(13)で表現される。
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)) …(13)
なお、式(13)は、赤(R)色の信号について水平(H)方向に対応した空間周波数ごとのデフォーカスMTFの極大値を示すフォーカスレンズ104位置の情報MTF_P_RHの式を示しているが、他の組み合わせについても同様の式で表される。また、本実施形態において、rh(n)(0≦n≦8)は、レンズユニット100のレンズメモリ118にあらかじめ記憶され、カメラMPU125は、レンズMPU117に要求してrh(n)(0≦n≦8)を取得するものとする。しかし、rh(n)(0≦n≦8)はRAM125bの不揮発性領域に記憶されていてもよい。
赤と垂直(MTF_P_RV)、緑と水平(MTF_P_GH)、緑と垂直(MTF_P_GV)、青と水平(MTF_P_BH)、青と垂直(MTF_P_BV)の各組み合わせにおける係数(rv,gh,gv,bh,bv)も同様に記憶されている。
次にS503において、カメラMPU125は、得られたBP補正情報に対して、焦点検出領域の位置や評価信号の色、コントラスト方向に関する重み付けを行う。まずカメラMPU125は、BP補正値を算出する際の焦点検出領域の位置についての情報を用いて、BP補正情報を計算する。具体的には、式(13)のx,yに焦点検出領域の位置情報を代入する。この計算により式(13)は、以下の式(14)のような形式で表される。
MTF_P_RH(f)=Arh×f2+Brh×f+Crh …(14)
カメラMPU125は、MTF_P_RV(f)、MTF_P_GH(f)、MTF_P_GV(f)、MTF_P_BH(f)、MTF_P_BV(f)についても同様に計算する。これらは、デフォーカスMTF中間情報に相当する。
図16(b)は、S502で焦点検出領域の位置情報を代入した後のBP補正情報の例を示し、横軸は空間周波数を、縦軸はデフォーカスMTFの極大値を示すフォーカスレンズ104の位置(ピーク位置)を表している。図示の通り、色収差が大きい場合には、色ごとの曲線が乖離し、縦横差が大きい場合には、図中の水平方向と垂直方向の曲線が乖離する。このように、第4の実施形態では、色(RGB)と評価方向(HとV)との組み合わせごとに、空間周波数に対応したデフォーカスMTF情報を有する。これにより、高精度なBP補正値算出を可能とする。
次に、S503において、カメラMPU125は、S500で取得している設定情報を構成する12個の係数(図16(a))を、BP補正情報を用いて重み付けする。これにより、設定情報が、焦点検出、撮像で評価する色、方向に関して重み付けされる。具体的には、カメラMPU125は、焦点検出用の空間周波数特性MTF_P_AF(f)と撮影画像用の空間周波数特性MTF_P_IMG(f)を、式(15)および(16)を用いて算出する。
MTF_P_AF(f)=
K_AF_RH×MTF_P_RH(f)
+K_AF_RV×MTF_P_RV(f)
+K_AF_GH×MTF_P_GH(f)
+K_AF_GV×MTF_P_GV(f)
+K_AF_BH×MTF_P_BH(f)
+K_AF_BV×MTF_P_BV(f) …(15)
MTF_P_IMG(f)=
K_IMG_RH×MTF_P_RH(f)
+K_IMG_RV×MTF_P_RV(f)
+K_IMG_GH×MTF_P_GH(f)
+K_IMG_GV×MTF_P_GV(f)
+K_IMG_BH×MTF_P_BH(f)
+K_IMG_BV×MTF_P_BV(f) …(16)
図16(c)に、MTF_P_AF(f)とMTF_P_IMG(f)の例を、図16(b)と同様の様式で示す。本実施形態では、このように、焦点検出領域の位置や評価する色や方向についての変数の計算を、空間周波数の変数に関する計算に先駆けて行う。計算の結果、MTF_P_AF(f)とMTF_P_IMG(f)は、以下の式(17)および(18)の形式で表される。
MTF_P_AF(f)=Aaf×f2+Baf×f+Caf …(17)
MTF_P_IMG(f)=Aimg×f2+Bimg×f+Cimg …(18)
図16(c)には、離散的な空間周波数F1からF4について、式(17)に代入して得られるデフォーカスMTFがピーク(極大値)となるフォーカスレンズ位置(ピーク位置)LP4_AF、LP5_AF、LP6_AF、LP7_AFが縦軸に示されている。
S504でカメラMPU125は、このLP4_AF〜LP7_AFを、ピーク係数MTF_P_AF(n)(1≦n≦4)としてレンズメモリ118またはRAM125bに記憶する。カメラMPU125はまた、LP4_Img〜LP7_Imgを、ピーク係数MTF_P_Img(n)(1≦n≦4)としてレンズメモリ118またはRAM125bに記憶し、処理をS505に進める。
次に、S505でカメラMPU125は、焦点検出用もしくは撮影画像用の信号の評価帯域に変更があるか否かを判定し、評価帯域に変更がない場合には処理をS507に進め、BP補正値を算出する。BP補正値を算出するに際し、カメラMPU125はまず、撮影画像の合焦位置(P_img)とAFが検出する合焦位置(P_AF)を、第2の実施形態と同様に、以下の式(19)および(20)に従って算出する。算出には、第1の実施形態のS301、S302で得た評価帯域W1、W2を用いる。
P_img=MTF_P_Img(1)×W1(1)+MTF_P_Img(2)×W1(2)+MTF_P_Img(3)×W1(3)+MTF_P_Img(4)×W1(4) …(19)
P_AF=MTF_P_AF(1)×W2(1)+MTF_P_AF(2)×W2(2)+MTF_P_AF(3)×W2(3)+MTF_P_AF(4)×W2(4) …(20)
つまり、カメラMPU125は、図16(c)で示した空間周波数ごとのデフォーカスMTFの極大値情報を、第1の実施形態のS301、S302で算出した撮影画像やAFの評価帯域W1、W2で重み付け加算する。これにより、撮影画像の合焦位置(P_img)とAFが検出する合焦位置(P_AF)を算出している。
次にカメラMPU125は、BP補正値(BP)を、第1の実施形態と同様に、以下の式(21)により算出する。
BP=P_AF−P_img …(21)
一方、S505で評価帯域に変更があると判定された場合、カメラMPU125は処理をS506に進め、評価帯域情報を取得する。評価帯域情報は、第1の実施形態の撮影画像の評価帯域W1やAF評価帯域W2に相当するもので、焦点検出や撮影画像の設定や状況に応じて、図11で説明した考え方に則って算出することができる。S506で、評価帯域情報の取得を終えると、カメラMPU125はS507に処理を進めて上述の通りBP補正値を算出する。
第4の実施形態では、焦点検出領域の位置、評価信号の色やコントラスト方向に関する処理を、評価帯域に関する処理よりも先行して実行している。これは、撮影者が焦点検出領域の位置を設定により決定している場合、焦点検出領域の位置や、評価する色や方向に関する情報が変更される頻度が低いためである。一方で、信号の評価帯域については、第1の実施形態の図11で説明した通り、撮像素子の読み出しモードやAF評価信号のデジタルフィルタなどにより変更される頻度が高い。例えば、信号のS/Nが低下する低照度環境では、デジタルフィルタの帯域をより低帯域に変更することなどが考えられる。第4の実施形態では、このような場合に、変更の頻度が低い係数(ピーク係数)を算出した後に記憶し、変更の頻度の高い係数(評価帯域)のみを必要に応じて計算し、BP補正値算出を行う。これにより、撮影者が焦点検出領域の位置を設定している場合などには、演算量の低減を行うことができる。
(変形例)
一方で、複数の焦点検出領域の位置に対応するBP補正値の算出を行う場合も考えられる。例えば、焦点検出時に、複数の焦点検出領域を用いた焦点検出を行う場合や、デフォーカスマップを作成するために、撮影範囲内の複数のデフォーカス量を取得したい場合などが考えらえる。
このような場合には、評価信号の色、コントラストの方向、評価帯域に関する計算を先行して行い、焦点検出領域の位置に関する計算を、焦点検出領域の位置情報のみを変更しながら行うことにより、演算量を低減することができる。
図17は、図14のS400におけるBP補正値算出処理の別の例を示すフローチャートである。図15と同様の処理を行う工程については、同じ参照数字を付し、重複する説明は省略する。
S601でカメラMPU125は、後述するBP係数に変更があるか否かを判定する。この判定は、事前に行われたBP補正値の算出と今回のBP補正値の算出における各種条件が同一の場合、BP係数の再算出を省略するために行っている。本実施形態でカメラMPU125は、焦点検出用と撮影画像用の色や評価方向に関する設定情報(図16(a))および評価帯域に関する情報(評価帯域W1,W2)に変更がなければ、BP係数に変更なしと判定し、S605へ処理をスキップする。
S601で、初めてBP係数を算出する場合もしくはBP係数の変更ありと判定された場合、カメラMPU125は処理をS502に進め、第4の実施形態と同様にBP補正情報を取得して、処理をS603に進める。
S603でカメラMPU125は、式(14)および式(16)を用いて説明したように、6種類のデフォーカスMTFのピーク情報に関して、評価信号の色、コントラスト方向に関する重み付けを行う。ただし、S503と異なり、式(14)への焦点検出領域の位置情報の代入は行わない。従って、MTF_P_RH(f,x,y)、MTF_P_RV(f,x,y)、MTF_P_GH(f,x,y)、MTF_P_GV(f,x,y)、MTF_P_BH(f,x,y)、MTF_P_BV(f,x,y)が得られる。
そして、カメラMPU125は、S500で取得している設定情報を構成する12個の係数(図16(a))を、これらのBP補正情報で重み付けする。具体的には、カメラMPU125は、焦点検出用の空間周波数特性MTF_P_AF(f,x,y)と撮影画像用の空間周波数特性MTF_P_IMG(f,x,y)を、式(22)および(23)を用いて算出する。
MTF_P_AF(f,x,y)=
K_AF_RH×MTF_P_RH(f,x,y)
+K_AF_RV×MTF_P_RV(f,x,y)
+K_AF_GH×MTF_P_GH(f,x,y)
+K_AF_GV×MTF_P_GV(f,x,y)
+K_AF_BH×MTF_P_BH(f,x,y)
+K_AF_BV×MTF_P_BV(f,x,y) …(22)
MTF_P_IMG(f,x,y)=
K_IMG_RH×MTF_P_RH(f,x,y)
+K_IMG_RV×MTF_P_RV(f,x,y)
+K_IMG_GH×MTF_P_GH(f,x,y)
+K_IMG_GV×MTF_P_GV(f,x,y)
+K_IMG_BH×MTF_P_BH(f,x,y)
+K_IMG_BV×MTF_P_BV(f,x,y) …(23)
さらに、カメラMPU125は、式(19)および(20)と同様に、第1の実施形態のS301、S302で得た評価帯域W1、W2を用いて評価帯域の重み付けを行う。これにより、撮影画像の合焦位置(P_img)と、AFが検出する合焦位置(P_AF)とが、焦点検出領域の位置(x,y)を変数とした関数として、式(24)および(25)のように求まる。
P_img(x,y)=
MTF_P_Img(F1,x,y)×W1(1)
+MTF_P_Img(F2,x,y)×W1(2)
+MTF_P_Img(F3,x,y)×W1(3)
+MTF_P_Img(F4,x,y)×W1(4) …(24)
P_AF(x,y)=
MTF_P_AF(F1,x,y)×W2(1)
+MTF_P_AF(F2,x,y)×W2(2)
+MTF_P_AF(F3,x,y)×W2(3)
+MTF_P_AF(F4,x,y)×W2(4) …(25)
S604でカメラMPU125は、式(24)および(25)を構成する係数を、BP係数としてレンズメモリ118またはRAM125bに記憶する。
次に、S605でカメラMPU125は、焦点検出領域の位置に変更があるか否かを判定し、変更がない場合には処理を直接S607に進め、変更がある場合にはS606で焦点検出領域の位置情報を取得してから処理をS607に進める。
S607でカメラMPU125は、BP補正値の算出を行う焦点検出領域の位置(x1,y1)を式(24)および(25)に代入し、以下の式(26)に従ってBP補正値(BP)を算出する。
BP=P_AF(x1,y1)−P_img(x1,y1) …(26)
このように構成することにより、複数の焦点検出領域の位置に対応するBP補正値の算出を行う場合に対応した演算量の低減を行うことができる。
また、これらの演算処理の内容は、状態に応じて切り替えてもよい。例えば、焦点検出に用いる焦点検出領域が1つの場合は図15に示したように処理し、複数の場合は図17に示したように処理してもよい。
以上のように構成することにより、色と縦横BPについても空間周波数を考慮して、BP補正値を算出することができ、より高精度な補正を行うことができる。
●(第5の実施形態)
次に、本発明の第5の実施形態について説明する。第4の実施形態とはBP補正値の算出方法が異なる。第4の実施形態では、撮影光学系から取得するBP補正情報の評価帯域の範囲と、AF評価帯域や撮影画像の評価帯域の範囲とが等しいという前提でBP補正値を算出していた。しかしながら、撮像素子の画素ピッチの微細化に伴い、評価帯域の範囲を高周波帯域側に拡張することが考えられる。また、撮影光学系の高精度化に伴いBP補正情報として有する評価帯域の範囲も高周波帯域側に拡張することが考えられる。
本実施形態では、高精度にBP補正値を算出するため、撮像装置と撮影光学系の各々に限界帯域情報を持たせ、各々の大小関係に応じて、補正値算出処理を切り替える。限界帯域情報を用いて評価帯域の調整を行うことにより、新旧の撮像装置や撮影光学系の組み合わせによらず、高精度にBP補正値を算出することができる。
なお、撮像装置のブロック図(図2)、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、各評価帯域の説明図(図11)、焦点検出処理(図14)は、第5の実施形態においても共通であるため、以下の説明で流用する。
第5の実施形態におけるBP補正値(BP)の算出方法を、図18および図19を用いて説明する。
図18において、第4の実施形態における焦点検出処理と同様の処理を行うものについては、図15と同じ参照数字を付している。第5の実施形態では、BP補正値算出の処理(S507)の前に、限界帯域処理(S700)の工程を有する点で異なる。限界帯域処理では、撮像装置の評価帯域の高周波側の限界値(カメラ限界帯域)と、撮影光学系の評価帯域の高周波側の限界値(レンズ限界帯域)との大小関係を判定する。そして、大小関係に応じて、式(15)および(16)で表されるMTF_P_AF(f)とMTF_P_IMG(f)の離散化処理を切り替える。
以下、図18のS700で行う限界帯域処理の詳細について、図19(a)を用いて説明する。
S701でカメラMPU125は、限界帯域情報を取得する。ここでカメラMPU125は、カメラ限界帯域情報をROM125aから取得し、レンズ限界帯域情報をレンズメモリ118から取得する。カメラ限界帯域は、主に撮像素子122の画素ピッチで定まるナイキスト周波数に基づいて設定される。一方で、レンズ限界帯域には、撮影光学系のMTFの応答が閾値以上となる帯域の限界値や、測定データの信頼性のある帯域の限界値などが設定される。
次にS702でカメラMPU125は、カメラ限界帯域とレンズ限界帯域の大小を比較する。カメラMPU125は、カメラ限界帯域の方がレンズ限界帯域よりも大きい(限界周波数が高い)場合には処理をS703に進め、カメラ限界帯域がレンズ限界帯域以下の場合には、限界帯域処理を終了する。
S703でカメラMPU125は、ピーク係数を加工する。ピーク係数の加工例を、図19(b)を用いて説明する。図19(b)は、第4の実施形態の図16(c)で示したMTF_P_AF(f)とMTF_P_IMG(f)を示している。ここで、レンズ限界帯域はF4、カメラ限界帯域はF6とする。Nqは、撮像素子122の画素ピッチにより定まるナイキスト周波数であり、カメラ限界帯域はNqよりも低く設定される。
MTF_P_AF(f)はBP補正情報と焦点検出領域の位置、評価信号の色や評価方向の情報から算出される。図19(b)には、離散的な空間周波数F1からF4について、式(17)に代入して得られるデフォーカスMTFがピーク(極大値)となるフォーカスレンズ位置(ピーク位置)LP4_AF、LP5_AF、LP6_AF、LP7_AFが縦軸に示されている。
レンズ限界帯域はF4のため、F4より高い空間周波数において、式(17)により算出されるピーク位置の精度は保証されない。そのため、第5の実施形態では、空間周波数F5,F6に対応するピーク位置LP8_AF、LP9_AFを、F4以下の空間周波数に対応するピーク位置の情報から算出する。簡易的には、図19(b)に示すように、空間周波数F4におけるピーク値LP7_AFを、空間周波数F5,F6に対応するピーク位置LP8_AF、LP9_AFとしても用いることが考えられる。より高精度に算出したい場合には、F4以下の空間周波数に対応する複数のピーク位置情報(LP4_AF、LP5_AF、LP6_AF、LP7_AF)を用いて、外挿計算により求めてもよい。
MTF_P_IMG(f)についても、同様に処理することにより、空間周波数F5,F6に対応するピーク位置LP8_Img、LP9_Imgを算出する。図19(b)では、空間周波数F4におけるピーク値LP7_Imgを、空間周波数F5,F6に対応するピーク位置LP8_Img、LP9_Imgとしても用いる例を示している。
S703でカメラMPU125は、ピーク係数として、LP4_AF〜LP7_AFおよびLP8_AF、LP9_AFを、MTF_P_AF(n)(1≦n≦6)としてレンズメモリ118またはRAM125bに記憶する。同様にカメラMPU125は、LP4_Img〜LP7_ImgおよびLP8_Img、LP9_Imgを、MTF_P_Img(n)(1≦n≦6)としてレンズメモリ118またはRAM125bに記憶し、限界帯域処理を終了する。
また、カメラMPU125は、AF評価帯域や撮影画像評価帯域として、カメラ限界帯域である空間周波数F6以下の情報を用い、式(19)〜(21)と同様にしてBP補正値の算出を行う。
上述の通り、S702でカメラ限界帯域がレンズ限界帯域以下の場合、S703で行うピーク係数の加工処理を行わずに限界帯域処理を終了するが、ピーク係数の加工処理を省略してよい理由について、図19(c)を用いて説明する。図19(c)は、カメラ限界帯域がレンズ限界帯域以下の場合の、MTF_P_AF(f)とMTF_P_IMG(f)の例を図19(b)と同様の帯域について示している。ここでは、カメラ限界帯域がF4、レンズ限界帯域がF6であるとする。上述の通りカメラ限界帯域はナイキスト周波数Nqより低く設定される。
ピーク係数の加工処理を省略する場合、カメラ限界帯域がレンズ限界帯域以下のため、撮影光学系に関するピーク位置の情報が、評価範囲に関して過剰に存在する。一方、図11を用いて説明したAF評価帯域や撮影画像評価帯域は、カメラ限界帯域以下の帯域で算出されている。本実施形態では、カメラ限界帯域がレンズ限界帯域以下の場合には、カメラ限界帯域より高い空間周波数に対応するピーク位置の情報を用いずにBP補正値を算出する。カメラ限界帯域は、撮像素子122の画素ピッチで定まるナイキスト周波数Nqより低くなるように設定されるため、カメラ限界帯域以上の情報は、画素によるサンプリングで欠落する。そのため、このような処理を行っても、BP補正値の算出精度は維持される。
第5の実施形態では、第4の実施形態に基づくピーク位置(デフォーカスMTFがピークとなるフォーカスレンズ位置)の情報を用いた場合について説明したが、撮影光学系の収差情報としては、これに限らない。例えば、第1の実施形態で説明したようなデフォーカスMTF情報を用いて、対応範囲外のデフォーカスMTF形状を算出してもよい。
以上のように、第5の実施形態では、カメラ限界帯域がレンズ限界帯域よりも高い場合、自動焦点検出用および撮影画像用の空間周波数特性を表す離散的な周波数の数を、カメラ限界帯域に合わせて増やすようにする。そのため、撮像装置と撮影光学系の組み合わせによらず、高精度にBP補正値の算出を行うことができる。
●(第6の実施形態)
次に、本発明の第6の実施形態について説明する。第6の実施形態では、第1の実施形態で説明したカメラに、コンバータレンズが装着された場合の空間周波数BP補正値の算出方法について説明する。
(撮像装置の構成の説明−コンバータレンズユニット)
図20は、第6の実施形態に係る撮像装置の一例としてデジタルカメラの機能構成例を示すブロック図である。図2のブロック図に示す構成との違いは、コンバータレンズユニット600が追加された点である。なお、図2と同様の構成には同じ参照番号を付し、説明を省略する。
コンバータレンズユニット600は、コンバータレンズ601とコンバータメモリ602を含み、被写体の光学像を形成するレンズユニット100の焦点距離を変更する撮影レンズである。なお、以下の説明では、コンバータレンズ601と区別するために、レンズユニット100を「マスターレンズ100」と呼ぶ。コンバータレンズユニット600が装着されると、第1レンズ群101、第2レンズ群103とコンバータレンズ601により、ズーム機能を実現する。コンバータメモリ602には、自動焦点調整に必要な光学情報が予め記憶されている。カメラMPU125は、例えば内蔵する不揮発性メモリやレンズメモリ118、コンバータメモリ602に記憶されているプログラムを実行することで、マスターレンズ100の動作を制御する。
なお、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、各評価帯域の説明図(図11)は、第6の実施形態においても流用する。
次に、第6の実施形態における空間周波数BP補正値(BP3)の算出方法について、図21から図24を用いて説明する。なお、図21において、第1の実施形態における空間周波数BP補正値の算出処理と同様の処理を行うものについては、図10と同じ参照数字を付し、適宜説明を省略する。図10に示す処理との違いは、図21のS3011からS3014において、コンバータレンズ601のBP補正情報の取得を行い、球面収差情報の修正を行ったのちに、補正値を算出するところにある。
本第6の実施形態において、S300では、カメラMPU125は、S1で事前に設定された焦点検出領域の位置(x,y)に対応する空間周波数BP補正情報を取得する。空間周波数BP補正情報は、被写体の空間周波数ごとの撮影光学系の結像位置に関する情報である。本実施形態において空間周波数BP補正情報はレンズユニット100のレンズメモリ118に予め記憶されており、カメラMPU125は、レンズMPU117に要求して取得するものとするが、RAM125bの不揮発性領域に記憶されていてもよい。
なお、本第6の実施形態では、例えば、図23(a)に示すように、撮像素子と撮影光学系の光軸との交点を原点とし、撮像素子122の水平方向、垂直方向をそれぞれX軸、Y軸とした座標を設定し、焦点検出領域の中心座標における補正値をXとYの関数で求める。
次に、S3011において、レンズMPU117またはカメラMPU125は、コンバータレンズユニット600の装着情報の取得を行う。次に、S3011で得られた情報から、S3012では、コンバータレンズユニット600が装着されているか否かを判定する。S3012で、コンバータレンズユニット600が装着されていると判定された場合にはS3013に進み、コンバータレンズ601の情報の取得を行う。
S3013において、レンズMPU117またはカメラMPU125は、コンバータレンズ601の撮影倍率Tと、コンバータレンズ601の球面収差情報を取得する。第6の実施形態において、コンバータレンズ601の撮影倍率Tと球面収差情報は、コンバータレンズユニット600のコンバータメモリ602に予め記憶されており、レンズMPU117の要求によって取得するものとする。しかしながら、レンズメモリ118またはRAM125bの不揮発性領域に記憶されていてもよい。
次に、S3014では、S300およびS3013で得られたマスターレンズ100の球面収差情報とコンバータレンズ601の球面収差情報とから、球面収差情報の修正を行う。S3014の詳細な動作については後述する。
一方、S3012で、コンバータレンズユニット600が装着されていないと判定された場合にはS301に進み、第1の実施形態において図10を参照して説明した処理と同様の処理を行う。
次に、S3014で行われる球面収差情報の修正方法について、図22から図24を用いて説明する。
まず、S3110では、S3013で取得されたコンバータレンズ601の撮影倍率Tに基づき、焦点検出領域の位置情報の修正を行う。これは、コンバータレンズユニット600の装着前後で、撮像面上の同じ焦点検出領域が、マスターレンズ100の異なる領域を通過した光束を受光するようになるために行う。
まず、コンバータレンズユニット600の装着による、マスターレンズ100から見た焦点検出領域の移動率を示す焦点領域倍率T1を設定する。ここで、焦点領域倍率T1は、T1=Tとしても良いし、T1=T×Co1として、コンバータレンズ601の撮影倍率Tに所定倍率Co1を乗じた値としても良い。その場合、Co1は、設計情報として定義された撮影倍率Tから、製造誤差を考慮して予め求められた値としても良い。また、コンバータメモリ602または、レンズメモリ118またはRAM125bに、撮影倍率Tまたはコンバータレンズ601の特性に応じた焦点検出領域の移動率を予め記憶しておき、読み出した情報を焦点領域倍率T1としても良い。
S3014の動作では、図10(b)に示すマスターレンズ100のデフォーカスMTF情報を取得するための焦点検出領域の位置(x,y)を、1/焦点領域倍率T1倍した焦点検出領域の位置とする。例えば、コンバータレンズユニット600装着前に図23(a)に示すように撮像面上において焦点検出領域の位置(x,y)が設定されていたとする。コンバータレンズユニット600を装着すると、位置(x,y)にある焦点検出領域に入射する光を透過するマスターレンズ100の射出瞳の位置がシフトする。コンバータレンズユニット600を装着していない場合に、シフトした後の射出瞳を透過した光が入射する焦点検出領域の位置を(Xt,Yt)とすると、装着前の焦点検出領域の座標(x,y)との関係は
(Xt,Yt)=(x/T1,y/T1) …(27)
となる。
ここでは、後述する縦収差量の換算を、コンバータレンズユニット600の装着前後においておおよそ同じ瞳領域を通過した光束で行い、マスターレンズ100の収差(主に非点収差)状態を同等とした状態から、倍率による換算を行う。そのため、焦点領域倍率T1による撮像面上の位置換算を行う。
次に、S3111において、コンバータレンズ601の撮影倍率Tに基づき、フォーカスレンズ位置の座標軸変換を行う。これは、コンバータレンズユニット600の装着前後で、同じ空間周波数の被写体を見た場合に、撮影された被写体像の空間周波数が異なるために行う。
まず、コンバータレンズユニット600の装着による、フォーカス位置の移動率を示すフォーカス倍率T2を設定する。ここで、フォーカス倍率T2は、T2=Tとしても良いし、T2=T×Co2として、コンバータレンズ601の撮影倍率Tに所定倍率Co2を乗じた値としても良い。その場合、Co2は、設計情報として定義された撮影倍率Tから、製造誤差を考慮し、予め求められた値としても良い。また、コンバータメモリ602または、レンズメモリ118またはRAM125bに、撮影倍率Tまたはコンバータレンズ601の特性に応じたフォーカス位置の移動率を予め記憶しておき、読み出した情報をフォーカス倍率T2としても良い。
ここで、S3111でのフォーカスレンズ位置の座標変換方法を図23(b)を用いて説明する。なお、図10(b)がS3111での変換前(コンバータレンズユニット600の装着前)のデフォーカスMTFであるため、図23(b)(コンバータレンズユニット600の装着後)と比較して説明する。
図23(b)の横軸はフォーカスレンズ104の位置を、縦軸はMTFの強度を示している。図23(b)に描かれている4種の曲線は、空間周波数ごとのMTF曲線で、MTF1、MTF2、MTF3、MTF4の順に、空間周波数が低い方から高い方を示している。空間周波数F1(lp/mm)のMTF曲線がMTF1と対応し、空間周波数F2,F3,F4(lp/mm)とMTF2、MTF3、MTF4がそれぞれ対応する。また、LP4、LP5−2、LP6−2、LP7−2は、各デフォーカスMTF曲線の極大値に対応するフォーカスレンズ104の位置を示している。
ここでは、MTF1からMTF4までのいずれかのMTF曲線を固定し、それ以外のMTF曲線をフォーカスレンズ位置(図23(b)の横軸)方向にシフトさせる。ここでは、MTF1を基準とし、MTF2からMTF4のMTF曲線をフォーカスレンズ位置方向にフォーカス倍率T2の二乗倍シフトしている。図10(b)と比べると、
LP5_2−LP4=(LP5−LP4)×T22 …(28)
LP6_2−LP4=(LP6−LP4)×T22 …(29)
LP7_2−LP4=(LP7−LP4)×T22 …(30)
となっている。これは、コンバータレンズ601によって、球面収差が縦倍率方向に拡大されることによって起こる空間周波数の変化に因るものである。本動作により、縦収差量の換算を行う。
次に、S3112では、コンバータレンズ601の撮影倍率Tに基づき、空間周波数のラベル変換を行う。
まず、コンバータレンズユニット600の装着による、空間周波数の変換率を示す周波数倍率T3を設定する。ここで、周波数倍率T3は、T3=Tとしても良いし、T3=T×Co3として、コンバータレンズ601の撮影倍率Tに所定倍率Co3を乗じた値としても良い。その場合、Co3は、設計情報として定義された撮影倍率Tから、製造誤差を考慮し、予め求められた値としても良い。また、コンバータメモリ602または、レンズメモリ118またはRAM125bに、撮影倍率Tまたはコンバータレンズ601の特性に応じた空間周波数の変換率を予め記憶しておき、読み出した情報を周波数倍率T3としても良い。
S3112の動作では、マスターレンズ100の図10(b)に示すデフォーカスMTF情報を取得する空間周波数情報を、周波数倍率T3倍した空間周波数情報とする。つまり、図23(b)に描かれている4種の曲線は、空間周波数ごとのMTF曲線であり、空間周波数F1(lp/mm)のMTF曲線がMTF1と対応する。同様に、空間周波数F2,F3,F4(lp/mm)とMTF2、MTF3、MTF4がそれぞれ対応する。
S3112における動作で空間周波数ラベルを付け替えた後は、空間周波数とMTF曲線の対応を、空間周波数Fa(lp/mm)のMTF曲線がMTF1と対応するラベルの付け替えを行う。同様に、空間周波数Fb,Fc,Fd(lp/mm)とMTF2、MTF3、MTF4がそれぞれ対応するようにラベルの付け替えを行う。すなわち、
Fa=F1×T3 …(31)
Fb=F2×T3 …(32)
Fc=F3×T3 …(33)
Fd=F4×T3 …(34)
となる。これは、コンバータレンズユニット600の装着前後で、同じ空間周波数の被写体を見た場合に、コンバータレンズユニット600の装着時には、横倍率分だけマスターレンズ100の高周波領域を取得した光線を撮像面上で取得することになるからである。これは、コンバータレンズユニット600の装着前後で、同じ空間周波数の被写体を見た場合に、撮影された被写体像の空間周波数が異なることに因る。
つまり、コンバータレンズユニット600の装着後に取得された被写体信号は、マスターレンズ100のみの場合に比べて、横倍率分、低周波な被写体として結像する。マスターレンズ100の高帯域の収差が、コンバータレンズユニット600の装着時には、低周波側の収差として現れるので、周波数倍率T3による撮像光学系の空間周波数ラベルの変更を行う。
次に、S3113では、S3013で取得されたコンバータレンズ601の収差情報に基づき、デフォーカスMTF情報の修正を行う。ここでは、コンバータレンズ601の収差が小さい場合には、処理を省いても良い。例えば、撮影状態における撮影Fナンバーが暗い(大きい)場合には、収差も少ないと考えられるので、通信、演算処理を省いても良い。
図24は、S3013で取得されるコンバータレンズ収差情報のイメージ図である。図24は、各周波数Fa・・・Fnにおける各デフォーカスMTF曲線の極大値LP4、LP5_2、LP6_2、LP7_2のフォーカスレンズ方向のシフト量である。S3101と同様に、MTF1を基準とすると、
LP5_3=LP5_2+(Hb−Ha) …(35)
LP6_3=LP6_2+(Hc−Ha) …(36)
LP7_3=LP7_2+(Hd−Ha) …(37)
となる。S3113の処理後のデフォーカスMTF情報は図23(c)のようになる。コンバータレンズユニット600の装着時には、以上のような収差情報の修正を行った後、第1の実施形態のS301以降の処理を行い、補正値を算出する。
以上のように、本第6の実施形態によれば、コンバータレンズの倍率分でマスターレンズの収差を換算し、さらにコンバータレンズの収差を加算することで、適切に収差状態の加算を行うことができる。さらに、合成された収差状態から、AF評価帯域と撮影画像評価帯域の設定を行い、差分を焦点検出量補正値とするので、より高精度に焦点検出を行うことが可能である。また、同様の収差特性は、色収差、非点収差にも表れることから、S20、S21における縦横BP、色BPの算出においても、同様の処理を行っても良い。
●(第7の実施形態)
次に、本発明の第7の実施形態について説明する。第7の実施形態では、前述の第4の実施形態に対して、コンバータレンズユニット600が装着された場合の各種BP補正値の算出方法について説明する。
なお、撮像装置のブロック図(図2)、各焦点検出方式の説明図(図3から図5)、焦点検出領域の説明図(図6)、各評価帯域の説明図(図11)は、第7の実施形態においても共通であるため、以下の説明においても流用する。
次に、第7の実施形態におけるBP補正値の算出方法について、図25から図28を用いて説明する。なお、図25において、第4の実施形態におけるBP補正値の算出処理と同様の処理を行うものについては、図15と同じ参照数字を付し、説明を省略する。図15に示す処理との違いは、図25のS5001からS5004において、コンバータレンズの収差情報の取得を行い、収差情報の修正を行ったのちに、補正値を算出するところにある。
S5001では、レンズMPU117またはカメラMPU125は、コンバータレンズユニット600の装着情報の取得を行う。次に、S5001で得られた情報から、S5002では、コンバータレンズユニット600が装着されているか否かを判定する。S5002で、コンバータレンズユニット600が装着されていると判定された場合にはS5003に進み、コンバータレンズ601の情報の取得を行う。
S5003において、レンズMPU117またはカメラMPU125は、コンバータレンズ601の撮影倍率Tと、コンバータレンズ601のBP補正情報を取得する。第7の実施形態において、コンバータレンズ601の撮影倍率TとBP補正情報は、コンバータレンズユニット600のコンバータメモリ602に予め記憶されており、レンズMPU117の要求によって取得するものとする。しかしながら、レンズメモリ118またはRAM125bの不揮発性領域に記憶されていてもよい。
コンバータレンズ601のBP補正情報は、被写体の空間周波数ごとの撮影光学系の結像位置に関する情報である。マスターレンズ100のみの場合と同様に、RGB3色と縦横2方向との6通りの組み合わせの各々について、空間周波数fと撮像素子122上の焦点検出領域の位置(x、y)を変数とした以下の式(38)で表現される。
MTF_T_P_RH(f,x,y)=(t_rh(0)×x+t_rh(1)×y+t_rh(2))×f2+(t_rh(3)×x+t_rh(4)×y+t_rh(5))×f+(t_rh(6)×x+t_rh(7)×y+t_rh(8)) …(38)
なお、式(38)は、赤(R)色の信号について水平(H)方向に対応した、コンバータレンズの空間周波数ごとのデフォーカスMTFの極大値を示すフォーカスレンズ104位置のMTF_T_P_RHの式を示している。第7の実施形態において、t_rh(n)(0≦n≦8)は、コンバータメモリ602または、レンズメモリ118またはRAM125bの不揮発性領域に記憶されている。
同様に、赤と垂直(MTF_T_P_RV)、緑と水平(MTF_T_P_GH)、緑と垂直(MTF_T_P_GV)、青と水平(MTF_T_P_BH)、青と垂直(MTF_T_P_BV)の各組み合わせにおける係数(t_rv、t_gh、t_gv、t_bh、t_bv)も記憶されている。
そして、S502の処理と同様に、BP補正値を算出する際の焦点検出領域の位置についての情報を用いて、コンバータレンズ601の収差情報の計算を行う。より具体的には、式(38)のx、yに焦点検出領域の位置情報を代入する。この計算により、コンバータレンズ601の収差情報は、以下の式(39)により表される。
MTF_T_P_RH(f)=T_Arh×f2+T_Brh×f+T_Crh …(39)
同様に、MTF_T_P_RV(f)、MTF_T_P_GH(f)、MTF_T_P_GV(f)、MTF_T_P_BH(f)、MTF_T_P_BV(f)についても計算する。これらは、デフォーカスMTF中間情報に相当する。
図26は、S5003で焦点検出領域の位置情報を代入した後のコンバータレンズ601の収差情報を示している。横軸は空間周波数を、縦軸はデフォーカスMTFの極大値を示すフォーカスレンズ104の位置(ピーク位置)を表している。図示の通り、色収差が大きい場合には、色ごとの曲線が乖離し、縦横差が大きい場合には、図中の水平方向と垂直方向の曲線が乖離する。このように、第7の実施形態では、色(RGB)と評価方向(HとV)との組み合わせごとに、空間周波数に対応したコンバータレンズ601のデフォーカスMTF情報を有する。
次に、S5004では、S502及びS5003で得られたマスターレンズ100のBP補正情報とコンバータレンズ601の収差情報とから、収差情報の修正を行う。S5004の詳細な動作については後述する。
一方、S5002で、コンバータレンズユニット600が装着されていないと判定された場合にはS503に進み、上述した第4の実施形態における図15と同様の処理が行われることになる。
次に、S5004で行われるBP補正情報の修正方法について、図27及び図28を用いて説明する。
まず、S5100では、S5003で取得されたコンバータレンズ601の撮影倍率Tに基づき、焦点検出領域の位置情報の修正を行う。ここでは、コンバータレンズ601の焦点領域倍率T1で、焦点検出領域が(Xt,Yt)に換算された位置でのマスターレンズ100のBP補正情報をMTF_Pとする。具体的には、式(13)に、式(27)で説明したx=Xt,y=Ytを代入し、
MTF_P_RH(f,x,y)=(rh(0)×(x/T1)+rh(1)×(y/T1)+rh(2))×f2+(rh(3)×(x/T1)+rh(4)×(y/T1)+rh(5))×f+(rh(6)×(x/T1)+rh(7)×(y/T1)+rh(8)) …(40)
とすることで、撮像素子122の位置xでの収差特性をXtの収差特性と置き換える。赤と垂直(MTF_P_RV)、緑と水平(MTF_P_GH)、緑と垂直(MTF_P_GV)、青と水平(MTF_P_BH)、青と垂直(MTF_P_BV)についても、同様の処理を行う。この時のマスターレンズ100の収差情報例を図28(a)に示している。
次に、S5101では、S5003で取得したコンバータレンズ601の撮影倍率Tに基づき、フォーカスレンズ位置の座標軸変換を行う。ここでは、MTF_P2_RH他6種類の収差情報のいずれかの空間周波数特性における単一周波数のピーク情報を固定し、それ以外の空間周波数特性をフォーカスレンズ位置(図28(b)縦軸)方向にシフトさせる。ここでは、MTF_P2_GH(F1)を基準とし、MTF2からMTF4のMTF曲線をフォーカスレンズ位置方向にフォーカス倍率T2の二乗倍引き延ばす。なお、フォーカス倍率T2は、第6の実施形態において説明したようにして設定する。
第7の実施形態におけるフォーカスレンズ位置の座標軸変換は、図28では、デフォーカスMTFのピーク情報である縦軸にあたる。従って、図28(a)で設定されたデフォーカスMTFのピーク位置LPnを、LPn_2の位置に、MTF_P_RH(f)と基準のMTF_P_GH(F1)との差をコンバータレンズのフォーカス倍率T2の二乗倍した分、シフトする。以下の式(41)により、縦収差量の換算を行うことができる。
MTF_P_RH(f)=MTF_P_RH(f)+(MTF_P_RH(f)−MTF_P_GH(F1))×T22 …(41)
赤と垂直(MTF_P_RV)、緑と水平(MTF_P_GH)、緑と垂直(MTF_P_GV)、青と水平(MTF_P_BH)、青と垂直(MTF_P_BV)についても、同様の処理を行う。
次に、S5102の動作では、S5003で取得されたコンバータレンズ601の撮影倍率Tに基づき、空間周波数のラベル変換を行う。このS5103で行われる周波数倍率T3による空間周波数ラベルの付け替えは、第7の実施形態における図28では横軸の変換にあたる。なお、周波数倍率T3は、第6の実施形態において説明したようにして設定する。
S5004における動作で空間周波数ラベルを付け替えた後の、空間周波数をFa,Fb,Fc,Fd(lp/mm)とすると、付け替え前の空間周波数F1,F2,F3,F4との対応は上述した式(31)〜式(34)となる。従って、MTF_P_RH(f)にf=f/T3を代入した式をラベルの付け替え後のMTF_P_RH(f)とする。
MTF_P2_RH(f)=MTF_P_RH(f×T3) …(42)
赤と垂直(MTF_P_RV)、緑と水平(MTF_P_GH)、緑と垂直(MTF_P_GV)、青と水平(MTF_P_BH)、青と垂直(MTF_P_BV)についても、同様の処理を行う。S5101、S5102の処理を終えた後の、収差情報例を図28(b)に示す。
次に、S5103では、S5003で取得されたコンバータレンズ601の収差情報に基づき、S5102で求められた収差情報の修正を行う。ここでは、コンバータレンズ601の収差が小さい場合には、処理を省いても良い。例えば、撮影状態における撮影Fナンバーが暗い場合には、収差も少ないと考えられるので、通信、演算処理を省いても良い。具体的には、図27(b)で求められたMTF_P2の関数と、S5003で取得した図26に示したコンバータレンズのMTF_T_Pを合算する。合成後の収差情報MTF_P3は、以下の式(43)で表される。
MTF_P3_RH(f)=MTF_P2_RH(f)+MTF_T_P_RH(f) …(43)
同様に、MTF_P3_RV(f)、MTF_P3_GH(f)、MTF_P3_GV(f)、MTF_P3_BH(f)、MTF_P3_BV(f)についても計算する。S5103の処理を終えた後の収差情報例を図28(c)に示す。
S5103までの動作を終えると、第7の実施形における収差情報は、空間周波数f、撮像素子122上の焦点検出領域の位置(x,y)の関数となる。コンバータレンズユニット600の装着時には、以上のような収差情報の修正を行った後、第4の実施形態で説明したS503以降の処理を行い、補正値を算出する。
以上のように、コンバータレンズの倍率分でマスターレンズの収差を換算し、さらにコンバータレンズの収差を加算することで、適切に収差状態の加算を行うことができる。
さらに、合成された収差状態から、AF評価帯域と撮影画像評価帯域の設定を行い、差分を焦点検出量補正値とするので、より高精度に焦点検出を行うことが可能である。この場合、収差情報をデフォーカスMTFのピーク情報としたので、メモリへの記憶情報を更に少なくすることが可能である。