本発明の第1の実施の形態における焦点検出装置を含む撮像装置として、レンズ交換式のデジタルカメラを例に挙げて説明する。図1は本実施の形態のデジタルカメラ201の構成を示す横断面図である。本実施の形態のデジタルカメラ201は、交換レンズ202とカメラボディ203とから構成され、交換レンズ202がマウント部204を介してカメラボディ203に装着される。カメラボディ203にはマウント部204を介して種々の撮影光学系を有する交換レンズ202が装着可能である。
交換レンズ202は、レンズ209、ズーミングレンズ208、フォーカシングレンズ210、絞り211、レンズ制御装置206などを有する。レンズ制御装置206は、不図示のマイクロコンピューター、メモリ、レンズ駆動制御回路などから構成される。レンズ制御装置206は、フォーカシングレンズ210の焦点調節および絞り211の開口径調節のための駆動制御、ならびにズーミングレンズ208、フォーカシングレンズ210および絞り211の状態検出などを行う。レンズ制御装置206は、後述するボディ制御装置214との通信によりレンズ情報の送信とカメラ情報(デフォーカス量や絞り値など)の受信とを行う。絞り211は、光量およびボケ量調整のために光軸中心に開口径が可変な開口を形成する。
カメラボディ203は、撮像素子212、ボディ制御装置214、液晶表示素子駆動回路215、液晶表示素子216、接眼レンズ217、メモリカード219、AD変換装置221などを有している。撮像素子212には、撮像画素が行と列とで規定される二次元状配列にしたがって配置されるとともに、焦点検出位置に対応した部分に焦点検出画素が配置されている。この撮像素子212については詳細を後述する。
ボディ制御装置214は、マイクロコンピューター、メモリ、ボディ駆動制御回路などから構成される。ボディ制御装置214は、撮像素子212の露光制御と、撮像素子212からの画素信号の読み出しと、焦点検出画素の画素信号に基づく焦点検出演算および交換レンズ202の焦点調節とを繰り返し行うとともに、画像信号の処理、表示および記録、ならびにカメラの動作制御などを行う。また、ボディ制御装置214は、電気接点213を介してレンズ制御装置206と通信を行い、レンズ情報の受信とカメラ情報の送信とを行う。
液晶表示素子216は電子ビューファインダー(EVF:Electronic View Finder)として機能する。液晶表示素子駆動回路215は撮像素子212から読み出された画像信号に基づきスルー画像を液晶表示素子216に表示し、撮影者は接眼レンズ217を介してスルー画像を観察することができる。メモリカード219は、撮像素子212により撮像された画像信号に基づいて生成される画像データを記憶する画像ストレージである。
AD変換装置221は、撮像素子212から出力される画素信号をAD変換してボディ制御装置214に送る。撮像素子212がAD変換装置221を内蔵する構成であってもよい。
交換レンズ202を通過した光束により、撮像素子212の撮像面上に被写体像が形成される。この被写体像は撮像素子212により光電変換され、撮像画素および焦点検出画素の画素信号がボディ制御装置214へ送られる。
ボディ制御装置214は、撮像素子212の焦点検出画素からの画素信号(焦点検出信号)に基づいてデフォーカス量を算出し、このデフォーカス量をレンズ制御装置206へ送る。また、ボディ制御装置214は、撮像素子212の撮像画素の画素信号(撮像信号)を処理して画像データを生成し、メモリカード219に格納するとともに、撮像素子212から読み出されたスルー画像信号を液晶表示素子駆動回路215へ送り、スルー画像を液晶表示素子216に表示させる。さらに、ボディ制御装置214は、レンズ制御装置206へ絞り制御情報を送って絞り211の開口制御を行う。
レンズ制御装置206は、フォーカシング状態、ズーミング状態、絞り設定状態、絞り開放F値などに応じてレンズ情報を更新する。具体的には、ズーミングレンズ208とフォーカシングレンズ210の位置と絞り211の絞り値とを検出し、これらのレンズ位置と絞り値とに応じてレンズ情報を演算したり、あるいは予め用意されたルックアップテーブルからレンズ位置と絞り値とに応じたレンズ情報を選択する。
レンズ制御装置206は、受信したデフォーカス量に基づいてレンズ駆動量を算出し、レンズ駆動量に応じてフォーカシングレンズ210を合焦位置へ駆動する。また、レンズ制御装置206は受信した絞り値に応じて絞り211を駆動する。
図2は、撮影画面上における焦点検出位置を示す図であり、後述する撮像素子212上の焦点検出画素列による焦点検出の際に撮影画面上で像をサンプリングする領域(焦点検出エリア、焦点検出位置)の一例を示す。この例では、矩形の撮影画面100上の中央(光軸上)に焦点検出エリア101が配置される。長方形で示す焦点検出エリア101の長手方向(水平方向)に、焦点検出画素が直線的に配列される。
図3は撮像素子212の詳細な構成を示す正面図であり、図2において水平方向に配置された焦点検出エリア101の近傍を拡大した画素配列の詳細を示す。撮像素子212には撮像画素310が二次元正方格子状に稠密に配列される。撮像画素310は赤画素(R)、緑画素(G)、青画素(B)からなり、ベイヤー配列の配置規則によって配置されている。図3においては撮像画素310と同一の画素サイズを有する水平方向焦点検出用の焦点検出画素315、316が交互に、本来緑画素と青画素とが連続的に配置されるべき水平方向の直線上に連続して配列される。
撮像画素310ならびに焦点検出画素315および316の各々のマイクロレンズの形状は、元々画素サイズより大きな円形のマイクロレンズから画素サイズに対応した正方形の形状で切り出した形状をしている。
撮像画素310は、図3に示すように矩形のマイクロレンズ10、遮光マスクで受光領域を正方形に制限された光電変換部11、および色フィルタから構成される。色フィルタは赤(R)、緑(G)、青(B)の3種類からなり、それぞれの色に対応する分光感度特性を有している。撮像素子212には、各色フィルタを備えた撮像画素310がベイヤー配列されている。
焦点検出画素315、316には全ての色に対して焦点検出を行うために全ての可視光を透過する白色フィルタが設けられている。その白色フィルタは、緑画素、赤画素および青画素の分光感度特性を加算したような分光感度特性を有し、高い感度を示す光波長領域は緑画素、赤画素および青画素の各々において各色フィルタが高い感度を示す光波長領域を包括している。
焦点検出画素315は、図3に示すように矩形のマイクロレンズ10と遮光マスクとで受光領域を正方形の左半分(正方形を垂直線で2等分した場合の左半分)に制限された光電変換部15、および白色フィルタ(不図示)とから構成される。
また、焦点検出画素316は、図3に示すように矩形のマイクロレンズ10と遮光マスクとで受光領域を正方形の右半分(正方形を垂直線で2等分した場合の右半分)に制限された光電変換部16、および白色フィルタ(不図示)とから構成される。
焦点検出画素315と焦点検出画素316とをマイクロレンズ10を重ね合わせて表示すると、遮光マスクで受光領域を正方形の半分に制限された光電変換部15および16が水平方向に並んでいる。
また、上述した正方形の半分に制限された受光領域の部分に正方形を半分にした残りの部分を加えると、撮像画素310の受光領域と同じサイズの正方形となる。
以上のような撮像画素および焦点検出画素の構成においては、一般的な光源のもとでは、緑色の撮像画素の出力レベルと焦点検出画素の出力レベルとがほぼ等しくなり、赤色の撮像画素および青色の撮像画素の出力レベルはこれよりも小さくなる。
図4は、図3に示す撮像画素310が受光する撮影光束の様子を説明するための図であって、水平方向に配列した撮像画素配列の断面をとっている。撮像素子212上に配列された全ての撮像画素310の光電変換部11は、光電変換部11に近接して配置された遮光マスクの開口を通過した光束を受光する。遮光マスク開口の形状は、各撮像画素310のマイクロレンズ10により、マイクロレンズ10から測距瞳距離dだけ離間した撮影光学系の射出瞳90上の全撮像画素共通な領域97に投影される。
従って各撮像画素の光電変換部11は、領域97と各撮像画素のマイクロレンズ10を通過する光束71を受光し、その光束71によって各マイクロレンズ10上に形成される像の強度に対応した信号を出力する。
図5は、図3に示す焦点検出画素315,316が受光する焦点検出光束の様子を、図4と比較して説明するための図であって、水平方向に配列した焦点検出画素配列の断面をとっている。
撮像素子212上に配列された全ての焦点検出画素315、316の光電変換部15,16は、光電変換部15,16の各々に近接して配置された遮光マスクの開口を通過した光束を受光する。光電変換部15に近接して配置された遮光マスク開口の形状は、各焦点検出画素315のマイクロレンズ10により、マイクロレンズ10から測距瞳距離dだけ離間した射出瞳90上の、焦点検出画素315に全てに共通した領域95に投影される。同じく光電変換部16に近接して配置された遮光マスク開口の形状は、各焦点検出画素316のマイクロレンズ10により、マイクロレンズ10から測距瞳距離dだけ離間した射出瞳90上の、焦点検出画素316に全てに共通した領域96に投影される。一対の領域95,96を測距瞳と呼ぶ。
従って各焦点検出画素315の光電変換部15は、測距瞳95と各焦点検出画素315のマイクロレンズ10とを通過する光束75を受光し、その光束75によって各マイクロレンズ10上に形成される像の強度に対応した信号を出力する。また各焦点検出画素316の光電変換部16は、測距瞳96と各焦点検出画素316のマイクロレンズ16とを通過する光束76を受光し、その光束76によって各マイクロレンズ10上に形成される像の強度に対応した信号を出力する。
一対の焦点検出画素315,316が受光する光束75,76が通過する射出瞳90上の測距瞳95および96を統合した領域は、撮像画素310が受光する光束71が通過する射出瞳90上の領域97と一致し、射出瞳90上において一対の光束75,76は光束71に対して相補的な関係になっている。
上述の説明においては、遮光マスクにより光電変換部の受光領域が規制されているが、光電変換部自身の形状を遮光マスクの開口形状とすることも可能である。その場合は遮光マスクを排してもよい。
要は光電変換部と測距瞳とはマイクロレンズにより光学的に共役な関係となっていることが重要である。
また測距瞳の位置(測距瞳距離)は、一般に撮影光学系の射出瞳距離と略同一になるように設定される。複数の交換レンズが装着される場合には、複数の交換レンズの平均的な射出瞳距離に測距瞳距離を設定する。
上述した一対の焦点検出画素315、316を交互にかつ直線状に多数配置し、各焦点検出画素の光電変換部の出力を測距瞳95および測距瞳96に対応した一対の出力グループにまとめる。これにより、測距瞳95および測距瞳96をそれぞれ通過する一対の光束が水平方向の焦点検出画素配列上に形成する一対の像の強度分布に関する情報が得られる。この情報に対して後述する像ズレ検出演算処理(相関演算処理、位相差検出処理)を施すことによって、いわゆる瞳分割型位相差検出方式で一対の像の像ズレ量が検出される。さらに、像ズレ量に、一対の測距瞳の重心間隔と測距瞳距離との比例関係に応じた変換係数を用いての変換演算を行うことによって、焦点検出位置における予定結像面と瞳分割型位相差検出方式で検出される結像面との偏差、すなわちデフォーカス量が算出される。
なお図5においては理解しやすいように一対の領域95、96を明瞭な形状で示すとともに、一対の焦点検出光束75,76をコーン形状で表現し、光軸91に対して垂直な断面で光束を切り取ったとき、該断面上で光線密度は一様であるかのように説明している。しかし、実際には焦点検出画素のマイクロレンズの収差などに応じて一対の領域95、96の外形は不明瞭となる。また、光軸91に対して垂直な断面における一対の焦点検出光束75,76の光線密度は、一様ではなく、焦点検出光学系の光学特性と撮影光学系の光学特性とに応じた分布を示す。
図6は、本実施の形態のデジタルカメラ201のボディ制御装置214による動作を示すフローチャートである。ボディ制御装置214は、ステップS100でデジタルカメラ201の電源がONされるとステップS110から動作を開始する。ステップS110において、絞り変更が必要な場合は、ボディ制御装置214は、レンズ制御装置206に絞り調整指令を送って絞り調整を行わせる。それとともに、ボディ制御装置214は、撮像動作を行って撮像素子212から撮像画素310のデータを間引き読み出しし、液晶表示素子216に表示させる。続くステップS120では、ボディ制御装置214は、焦点検出画素列から一対の被写体像に対応した一対の被写体像信号のデータを読み出す。
ステップS130では、ボディ制御装置214は、読み出した一対の被写体像信号のデータに基づき後述する第1像ズレ検出演算処理を行い、第1像ズレ量を算出する。第1像ズレ検出演算処理は、後述するように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS135では、ボディ制御装置214は、ステップS130で算出した第1像ズレ量をデフォーカス量に変換する。
ステップS136で、ボディ制御装置214は、撮影光学系の焦点調節状態が合焦近傍か否か、すなわち算出したデフォーカス量の絶対値が第1所定値以内であるか否かを判別する。第1所定値は、実験により、例えば200μmと定められる。合焦近傍でないと判別された場合は、本処理はステップS150へ進み、合焦近傍であると判別された場合はステップS137へ進む。なおステップS136において、第1像ズレ検出演算処理の結果が焦点検出不能の場合、すなわちデフォーカス量算出が不能の場合または算出されるデフォーカス量の信頼性が低い場合も、ボディ制御装置214は撮影光学系の焦点調節状態が合焦近傍でないと判断し、本処理はステップS150へ進む。
ステップS137では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき後述する第2像ズレ検出演算処理を行い、第2像ズレ量を算出する。第2像ズレ検出演算処理は、後述するように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS138では、ボディ制御装置214は、ステップS137で算出した第2像ズレ量をデフォーカス量に変換し、本処理はステップS140に進む。
ステップS140では、ボディ制御装置214は、撮影光学系の焦点調節状態が合焦状態か否か、すなわち算出されたデフォーカス量の絶対値が、第1所定値よりも小さい第2所定値以内であるか否かを判別する。第2所定値は、実験により、例えば100μmと定められる。ボディ制御装置214が、撮影光学系の焦点調節状態が合焦状態でないと判別した場合、本処理はステップS150へ進む。ステップS150では、ボディ制御装置214は、算出したデフォーカス量をレンズ制御装置206へ送信し、図1に示す交換レンズ202のフォーカシングレンズ210を合焦位置に駆動させる。その後、本処理はステップS110へ戻って上述した動作を繰り返す。
なお、焦点検出不能な場合も本処理はこのステップS150へ分岐し、ボディ制御装置214は、レンズ制御装置206へスキャン駆動命令を送信し、交換レンズ202のフォーカシングレンズ210を無限遠位置から至近位置までスキャン駆動させる。その後、本処理はステップS110へ戻って上述した動作が繰り返される。
例えば被写体が静止しているような場合においては、ステップS136でひとたび肯定判定された後は、ステップS137、S138、S140およびS150の後、本処理をステップS110へ戻すのではなく、ステップS136に戻し、第2像ズレ検出演算処理を最大数回程度繰り返すこととしてもよい。
一方、ステップS140で撮影光学系の焦点調節状態が合焦状態であると判別された場合は、本処理はステップS160へ進む。ステップS160において、ボディ制御装置214は、シャッターボタン(不図示)の操作によりシャッターレリーズがなされたか否かを判別し、なされていないと判別した場合は、本処理はステップS110へ戻って上述した動作が繰り返される。ステップS160において、ボディ制御装置214は、シャッターレリーズがなされたと判別した場合は、ステップS170で、撮像素子212に撮像動作を行わせ、撮像素子212の撮像画素およびすべての焦点検出画素から画像データを読み出す。
ステップS180において、ボディ制御装置214は、焦点検出画素列の各画素位置の画素データを焦点検出画素の周囲の撮像画素のデータに基づいて画素補間する。続くステップS190で、ボディ制御装置214は、撮像画素のデータおよび補間されたデータからなる画像データをメモリカード219に保存し、本処理はステップS110へ戻って上述した動作が繰り返される。
次に、図6のステップS130における一対の被写体像信号の一致度に基づく像ズレ検出のための第1像ズレ検出演算処理の詳細について説明する。データ数Mの焦点検出画素列から読み出された一対の被写体像信号列に対応する一対のデータ列A1〜AM、B1〜BMに対し、下記(1)式のような周知の相関演算(SAD:Sum of Absolute Difference)を行い、一対の被写体像信号パターンの一致度を表す相関量C(k)を演算する。
C(k)=Σ|An−Bn+k| (1)
(1)式において、Σ演算は変数nについて累積される。変数nの範囲は、像ずらし量kに応じてデータAn、Bn+kが存在する範囲に限定される。像ずらし量kは整数であり、一対の被写体像信号列に対応する一対のデータ列のデータ間隔を単位とした相対的シフト量である。(1)式の演算結果は、図7(a)に示すように、一対の被写体像信号列に対応する一対のデータ列の相関が高いときの像ずらし量において、相関量C(k)が極小になる。相関量C(k)の値が小さいほど、一対の被写体像信号列の相関度が高く、すなわち一対の被写体像信号の一致度が大きい。図7(a)では、像ずらし量k=kj=2のとき、相関量C(k)は最も小さい値をとり、すなわち一対の被写体像信号の一致度が最も大きい。
像ずらし量kは整数のため、相関量C(k)は離散値をとるが、次に、(2)式から(5)式の3点内挿の手法を用いて連続的な相関量における極小値C(x)を与えるシフト量xを求める。 このシフト量xが、後述するように、一対の被写体像の相対的な第1像ズレ量shft1に換算される。
x=kj+D/SLOP (2)
C(x)=C(kj)−|D| (3)
D={C(kj−1)−C(kj+1)}/2 (4)
SLOP=MAX{C(kj+1)−C(kj),C(kj−1)−C(kj)} (5)
(2)式で算出されたシフト量xの信頼性があるかどうかは次のようにして判定される。図7(b)に示すように、一対の被写体像信号列に対応する一対のデータ列の相関度が低い場合は、内挿された相関量の極小値C(x)の値が大きくなる。したがって、C(x)が所定のしきい値以上の場合は、算出されたシフト量の信頼性が低いと判定し、算出されたシフト量xをキャンセルする。あるいは、C(x)をデータのコントラストで規格化するために、コントラストに比例した値となるSLOPでC(x)を除した値が所定値以上の場合は、算出されたシフト量の信頼性が低いと判定し、算出されたシフト量xをキャンセルする。あるいはまた、コントラストに比例した値となるSLOPが所定値以下の場合は、被写体が低コントラストであり、算出されたシフト量の信頼性が低いと判定し、算出されたシフト量xをキャンセルする。
図7(c)に示すように、一対の被写体像信号列に対応する一対のデータ列の相関度が低く、シフト範囲kmin〜kmaxの間で相関量C(k)の落ち込みがない場合は、極小値C(x)を求めることができず、このような場合は焦点検出不能と判定する。
シフト量xの信頼性があると判定された場合は、(6)式によりシフト量xは第1像ズレ量shft1に換算される。 (6)式において、検出ピッチPYは、同一種類の焦点検出画素によるサンプリングピッチ、すなわち撮像画素のピッチの2倍である。
shft1=PY・x (6)
以上が図6のステップS130における第1像ズレ検出演算処理である。
図6のステップS135においては、(6)式により算出された第1像ズレ量shft1に所定の変換係数kを乗じてデフォーカス量defへ変換する。
def=k・shft1 (7)
(7)式において変換係数kは一対の測距瞳95,96の重心間隔と測距瞳距離との比例関係に応じた変換係数であり、光学系の絞りF値に応じて変化する。
なお、一対の被写体像信号パターンの一致度を検出する相関演算式は(1)式に限定されず、一対の被写体像信号の一致度を演算するものであればどのような相関演算式を用いても良い。
例えば(1)式の絶対値演算の代わりに自乗演算を採用した(8)式の相関演算(SSD:Sum of Squared Difference)を用いても良い。
C(k)=Σ(An−Bn+k)2 (8)
また一対の被写体像信号間に増幅度の相違がある場合においても一対の被写体像信号の一致度の検出が可能な(9)式のような相関演算式を用いても良い。
C(k)=Σ|An・Bn+s+k−Bn+k・An+s| (9)
なお(9)式において変数nのとる範囲は、像ずらし量kに応じてデータAn、An+s、Bn+k、Bn+s+kが存在する範囲に限定される。また、変数sとして、整数1,2,・・が適宜選択される。(1)、(8)、(9)式以外においても、一対の被写体像信号の一致度を演算するものであればどのような相関演算式を用いても良い。
上述した第1像ズレ検出演算により一対の被写体像信号パターンの一致度を検出することができるという原理は、以下の考え方に基づく。すなわち、一対の焦点検出光束が形成する一対の被写体像信号の形状や波形といったパターンは同一である、すなわち一致するという前提が成立するならば、合焦時には一対の被写体像信号のパターンが位置的にぴったりと重なるという結論に基づくものである。従って一対の焦点検出光束が形成する一対の被写体像信号のパターンが一致するという前提が崩れれば、それに応じて第1像ズレ検出演算により算出される第1像ズレ量に応じて検出される焦点調節状態は誤差を生じることになる。
図8は、予定焦点面98上に最良像面が形成された場合において、図4および図5にそれぞれ示した射出瞳の領域97を通る撮影光束と射出瞳の一対の領域95,96を通過する一対の焦点検出光束とが、予定焦点面98近傍でどのように収束するかを模式的に示した図である。最良像面は、撮影光束が形成する被写体像や、一対の焦点検出光束が形成する一対の被写体像の、鮮鋭度、解像度、コントラストまたは周波数特性(MTF)といった像品質が最高となる結像面である。例えば図8において、光軸91上に点光源があるとすると、点光源に対応して予定焦点面98の光軸91上に点像が形成されることになる。
理想的な無収差の撮影光学系の場合は、射出瞳の領域97を通る撮影光束が形成する点像も、射出瞳の一対の領域95,96を通過する一対の焦点検出光束が形成する一対の点像も、いずれも予定焦点面98上で空間的に広がりを持たない完全な点となるとともに、射出瞳の一対の領域95,96を通過する一対の焦点検出光束が形成する一対の点像の予定焦点面98上での空間的な位置も一致する。このような無収差の撮影光学系を使用して一般の被写体を撮影する場合には、一対の焦点検出光束により最良像面に形成される一対の被写体像の形状は完全に一致するとともに、該一対の被写体像の位置も一致するので、一対の被写体像の像ズレ量が0の場合に合焦であるということが保証できる。
しかしながら撮影光学系が光学的な収差を持つ場合には、射出瞳の領域97を通る撮影光束が形成する点像も、射出瞳の一対の領域95,96を通過する一対の焦点検出光束が形成する一対の点像も、いずれも予定焦点面98上で空間的に広がりをもった点像となる。
図9は、図8に示す状態、すなわち予定焦点面98上に最良像面が形成された状態において、撮影光束が予定焦点面98上に形成する点像の分布51(点像分布関数)の例を示しており、中心に大きなピークを持ち周辺部で対称的に裾野を引いている。一方図10は同じ状態、すなわち予定焦点面98上に最良像面が形成された状態において、一対の焦点検出光束が予定焦点面98上に形成する点像の分布(点像分布関数)の例を示しており、実線が領域95を通過する焦点検出光束が形成する点像分布55、破線が領域96を通過する焦点検出光束が形成する点像分布56を示している。なお図9、図10において横軸は予定焦点面98における水平方向の位置であり、縦軸は像の強度である。また点像分布51、55,56のピーク位置が像面中心、すなわち光軸91が予定焦点面98と交わる位置である。
点像分布55、56は点像分布51と同様に中心に大きなピークを持ち周辺部で裾野を引いているが、裾野の引き方はともに非対称である。点像分布55の右側の裾野は大きいのに対し、左側の裾野はほとんどない。点像分布56の左側の裾野は大きいのに対し、右側の裾野はほとんどない。また一対の焦点検出光束は撮影光束に対して相補的な関係にあり、一対の焦点検出光束を統合したものが撮影光束になるので、点像分布55と点像分布56とで表される一対の被写体像信号を加算合成したものが点像分布51となる。図9および図10に示すように、点像が光軸上に形成された場合には、点像分布51の形状は左右対称であり、点像分布55と点像分布56とは一方を左右反転した時に形状が一致する。点像が光軸外の画面周辺にある場合には、光軸に対する点像の形成位置、すなわち像高に応じて点像分布51,55、56の形状は図9および図10に示す形状からさらに変形するので、点像分布51の形状は左右対称でなくなり、点像分布55と点像分布56とは一方を左右反転した時にも形状が一致しなくなる。
一般に撮影光学系の収差量が小さい場合あるいは良好な場合には、最良像面における点像分布51,55、56の形状において、ピーク部のサイズに比較して裾野部の広がりは小さく、一対の点像分布55、56はほとんど同一の形状となるとともに、一対の点像の位置もほとんど一致する。
ところで一般に収差のある撮影光学系により形成される被写体像の像信号の分布関数は、無収差の場合に形成される被写体像の像信号の分布関数に、収差のある撮影光学系により形成される点像の像信号の分布関数をコンボルーションしたものとなる。
したがって、収差量が少ない場合、あるいは良好な撮影光学系を用いて一般の被写体を撮影する場合には、一対の焦点検出光束により最良像面に形成される一対の被写体像の形状はほとんど一致するとともに、該一対の被写体像の位置も一致する。したがって、一対の被写体像の像ズレ量が0の場合に合焦であるという前提に基づいた第1像ズレ検出演算処理により算出した第1像ズレ量に応じて焦点検出を行っても大きな誤差を生じない。
しかしながら収差量が大きい撮影光学系を用いて一般の被写体を撮影する場合には、一対の焦点検出光束により最良像面に形成される一対の被写体像の形状が一致しない。したがって、一対の被写体像の像ズレ量が0の場合に合焦であるという前提に基づいた第1像ズレ検出演算処理により算出した焦点検出を行うと大きな誤差を生じてしまう。
図11は、撮影光学系が無収差の場合において、白黒エッジの被写体を一対の焦点検出光束で最良像面に形成した時の被写体像を示しており、図8の領域95を通過する焦点検出光束は被写体像65を形成し、領域96を通過する焦点検出光束は被写体像66を形成する。被写体像65のエッジ部45の位置と被写体像66のエッジ部46の位置とは一致しており、このような場合にはどのような第1像ズレ検出演算、すなわち一対の被写体像信号の一致度に基づく像ズレ検出演算を用いても、第1像ズレ量は0と算出される。
一方図12は図11と同じ白黒エッジの被写体に対し、収差の大きな撮影光学系を用いた場合に、一対の焦点検出光束により最良像面に形成される被写体像を示している。また該撮影光学系を通過した一対の焦点検出光束が最良像面に形成する一対の点像の分布が、例えば図10に示す点像分布関数55,56で表わされたとする。被写体像67は領域95を通過する焦点検出光束により形成されるエッジ像であり、無収差の場合の被写体像65に点像分布関数55をコンボルーションした像となる。被写体像68は領域96を通過する焦点検出光束により形成されるエッジ像であり、無収差の場合の被写体像66に点像分布関数56をコンボルーションした像となる。
一対の被写体像67および68はもともと同じ被写体の像であるが、一対の焦点検出光束により形成される一対の点像分布が同一でないことにより、一対の被写体像の形状、すなわち一対の被写体像信号のパターンが互いに大きく異なってきてしまう。例えば被写体像67のエッジ部47の上部41の形状と、被写体像68のエッジ部48の上部42の形状とは大きく異なる。また被写体像67のエッジ部47の下部43の形状と、被写体像68のエッジ部48の下部44の形状とは大きく異なる。最良像面が予定焦点面と一致した状態において、このように互いに形状が異なる一対の被写体像67および68に対して像ズレ検出を行っても検出される像ズレ量は0とならない。例えばこの状態において第1像ズレ検出演算により第1像ズレ量Δ(Δ≠0)が算出された場合には、該第1像ズレ量Δに対応する像面は例えば図8の面99となってしまう。
このような誤差(像ズレ量Δ)を生ずる原因は、前述したように最良像面において一対の焦点検出光束により形成される一対の点像分布が同一でないことにある。最良像面において図10の点像分布55、56のピーク位置は一致しているが、点像分布55、56に対して第1像ズレ検出演算処理を施して求めた第1像ズレ量Δは0にはならない。第1像ズレ量Δだけ点像分布55、56を相対的に偏位させて重ね合わせると図13のようになる。すなわち第1像ズレ量検出演算、すなわち一対の被写体像信号パターンの一致度に基づく像ズレ検出演算では、図13に示す状態が点像分布55、56の一致度が最も高い状態と判断されてしまうのである。
上述したように第1像ズレ量検出演算、すなわち一対の被写体像信号パターンの一致度に基づく像ズレ検出演算においては、撮影光学系の収差が大きい場合には一対の被写体像の同一性が崩れるために、像ズレ量の検出に誤差が生じる。
このように一対の被写体像信号パターンの同一性が崩れた場合においても、精度の高い像ズレ量の検出が可能な第2像ズレ量検出演算処理について説明する。第2像ズレ量検出演算処理は、図13のステップS137で行われる。第2像ズレ量検出演算処理においては、一対の被写体像信号を加算合成して得られる合成被写体像の、鮮鋭度、解像度、コントラストまたは周波数特性(MTF)といった像品質に基づいて第2像ズレ量の検出が行われる。
図14は第2像ズレ量検出の検出原理を説明するための図である。図14(d)、14(e)および14(f)は、一対の焦点検出光束により予定焦点面上に形成される一対の点像分布55および56の相対的な位置を変更して重ね合わせて表示している。実線で表された点像分布55は、領域95を通過する焦点検出光束によって形成され、破線で表された点像分布56は、領域96を通過する焦点検出光束によって形成される。図14(a)、14(b)および14(c)は、一対の点像分布を相対的な位置を変更して重ね合わせて加算合成した点像分布51a、51b、および51cを示している。図14(a)および14(d)における一対の点像分布の相対的な位置Paと、図14(b)および14(e)における一対の点像分布の相対的な位置Pbと、図14(c)および14(f)における一対の点像分布の相対的な位置Pcとは、互いに異なり、第2像ズレ量検出演算処理では、一対の点像分布の相対的な位置を、例えば位置Pa、Pb、Pcの順に変化させる。
図14(b)および14(e)に示すように、一対の点像分布の相対的な位置Pbにおいて、合成被写体像信号の点像分布51bのピーク値が最高値を示すので、像品質が最も高くなり、最良像面と予定焦点面とが一致した場合の撮影光束による点像分布(図9)に最も近づく。また一対の点像分布の相対的な位置Pbから位置PaまたはPcに離反するに従って合成被写体像信号の点像分布51aおよび51cのピーク値が低いので、像品質が低下する。
すなわち点像の場合は、一対の点像分布の相対的な位置を順次変更しながら合成被写体像を生成するとともに、該合成被写体像の像信号のピーク値が最大となって像品質が最も高くなる相対的な位置を像ズレ量とすることにより、一対の点像分布の同一性が低い場合においても正確な像ズレ量の検出が可能になる。
このような原理による像ズレ検出の一般的な被写体像への拡張も上記と同様な仕組みで行われる。一対の焦点検出光束により形成される一対の被写体像は無収差の場合の被写体像に上記のような点像分布をコンボルーションされたものとなっているので、一対の被写体像の相対的な位置を順次変更しながら合成像を生成するとともに、該合成像の鮮鋭度、解像度、コントラストまたはMTFといった像品質が最も良好となる相対的な位置を像ズレ量とすることにより、一般的な被写体像においても正確な像ズレ量の検出が可能になる。
上述したように第2像ズレ量検出においては、一対の焦点検出光束は撮影光束に対して相補的な関係にあること、すなわち一対の焦点検出光束を統合すると撮影光束と同等になるということを利用して、一対の焦点検出光束によって形成された一対の被写体像を相対的に変位させながら加算合成することにより、撮影光束によって形成される被写体像と同等な合成被写体像を生成し、該合成被写体像の像品質が最高となる変位量を第2像ズレ量としている。第2像ズレ量検出における被写体像の像品質の評価は、いわゆるコントラスト検出方式の焦点検出と同等な像品質評価を行う点で類似しているが、以下の点で異なる。すなわち、コントラスト検出方式の焦点検出においては、像品質を変化させて像品質のピークを検出するために、撮影光学系を光軸方向に走査駆動する必要があるのに対し、第2像ズレ量検出においては、像品質を変化させて像品質のピークを検出するために、撮影光学系を光軸方向に走査駆動する必要は無い。第2像ズレ量検出においては、単に一対の被写体像信号を相対的に変位させるだけで良い。第2像ズレ量検出においては、一対の被写体像信号を相対的に変位させることが、コントラスト検出方式の焦点検出における撮影光学系の光軸方向の走査駆動と同等な役割を果たしており、焦点検出の都度撮影光学系の光軸方向の走査駆動を行う必要がないという効果が有る。
次に合成被写体像の鮮鋭度、解像度、コントラスト、MTFといった像品質の評価について具体的に説明する。焦点検出画素列から読み出された一対の被写体像信号列に対応するデータ数Mの一対のデータ列A1〜AM、B1〜BMと、これらの一対のデータ列に対し下記(10)式のような像ずらし加算演算を行い、図15に示す合成被写体像信号データF(n,k)を生成する(n=1,...,M)。(10)式において、像ずらし量kは整数であり、データ列のデータ間隔を単位とした相対的シフト量である。
F(n,k)=An+Bn+k (10)
図15において、横軸は焦点検出画素ピッチに基づくサンプリング位置、縦軸は合成被写体像信号強度(合成被写体像信号出力)を表し、実線1510で示す合成被写体像信号の強度を空間的に離散サンプリングすることによりサンプリング出力して得られた合成被写体像信号データF(n,k)のデータ列を○印で表している。
上記合成被写体像信号データF(n,k)に対し下記(11)式のような鮮鋭度評価演算を行い、像ズレ量kにおける合成被写体像信号の鮮鋭度評価値を像品質評価値P(k)として演算する。
P(k)=Σ|F(n,k)−F(n+v,k)| (11)
(11)式において、Σ演算は変数nの範囲について計算される。(11)式は合成被写体像信号データF(n,k)の、所定データ間隔を表す整数vにおける1階差分の絶対値の総和を算出する演算を表す。合成被写体像信号データF(n,k)の鮮鋭度が高いほど差分量は大きくなるので鮮鋭度評価値P(k)も大きな値となる。合成被写体像信号の1階差分は合成被写体像のエッジ部の傾斜量に対応し、傾斜が急峻なほど鮮鋭に見えるので、(11)式は合成被写体像信号の鮮鋭度を評価する演算式と言える。データ間隔を表す整数vを小さくするほど、高い空間周波数成分が抽出される。データ間隔を表す整数vは、被写体のMTF特性、焦点検出画素ピッチ、抽出したい空間周波数等に基づき、実験により定められる値である。
像ズレ量kを順次変更して(11)式の演算を行うことにより、図16に示すように、合成被写体像信号データF(n,k)の鮮鋭度が高い像ズレ量において鮮鋭度評価値P(k)が極大値Pmax、すなわち最大値になるグラフが得られる。極大値Pmaxが得られた像ズレ量をそのまま第2像ズレ検出演算の結果である第2像ズレ量として採用してもよい。また、離散的に算出される鮮鋭度評価値P(k)を周知のカーブフィッティングなどの手法により、図16の実線1610で示すように連続関数化し、サンプリングピッチ単位以下の第2像ズレ量を算出することとしてもよい。例えば、極大値Pmaxに所定値E(0<E<1)を乗じた評価値となる範囲、すなわち極大値Pmaxを含む所定範囲の中点Wとして第2像ズレ量を検出してもよい。所定値Eは、図16に示す鮮鋭度評価値P(k)のグラフが描くカーブの急峻さに基づき、実験により定められ、例えばカーブが急峻であれば90%程度、カーブが緩やかであれば70%程度である。
またつぎのようにしてサンプリングピッチ単位以下の第2像ズレ量を算出してもよい。まず焦点検出画素ピッチで得られる一対の被写体像信号のデータを互いに加算合成して合成被写体像を生成する代わりに、データ内挿の手法により焦点検出画素ピッチよりサンプリング間隔が細かくなった一対の被写体像信号データを生成する。該一対の被写体像信号データを、細かくなったサンプリングピッチ単位で相対的に変位させてから互いに加算合成して合成被写体像信号を生成する。その合成被写体像信号の鮮鋭度評価値を算出し、鮮鋭度評価値が極大となるときの変位量(シフト量)を、サンプリングピッチ単位以下の第2像ズレ量とする。
鮮鋭度評価演算は(11)式に限定されることはなく、像ずらし量kにおける合成被写体像信号の鮮鋭度に関する像品質評価値P(k)を演算するものであればよく、例えば(12)式でもよい。
P(k)=Max(|F(n,k)−F(n+v,k)|) (12)
(12)式において、関数Max(z)は変数zの最大値を抽出する関数であり、変数nの範囲について計算される。(12)式によれば、合成被写体像信号データF(n,k)の、所定データ間隔を表す整数vにおける1階差分の絶対値の最大値が得られる。合成被写体像信号データF(n,k)の鮮鋭度が高いほど合成被写体像のエッジ部の傾きは急峻となるので、(12)式の鮮鋭度評価値P(k)も大きな値となる。合成被写体像信号データF(n,k)の鮮鋭度が最も高い像ズレ量において、鮮鋭度評価値P(k)が最大値になる。
像品質評価演算は(11)、(12)式の鮮鋭度評価演算に限定されることはなく、像ずらし量kにおける合成被写体像信号の鮮鋭度以外の特性に関する像品質評価値P(k)を演算するものあってもよい。例えば(13)式に示すような合成被写体像信号の解像度を評価する演算でもよい。
P(k)=Σ|−F(n−v,k)+2×F(n,k)−F(n+v,k)| (13)
(13)式において、Σ演算は変数nの範囲について計算される。(13)式は、合成被写体像信号データF(n,k)の、所定データ間隔を表す整数vにおける2階差分の絶対値の総和を算出する演算式である。合成被写体像信号データF(n,k)の解像度が高いほど、差分量は大きくなるので、解像度評価値P(k)も大きな値となる。(13)式において、2階差分はバンドパスフィルタ特性を持ち、データ間隔を表す整数vを小さくするほど、高い空間周波数成分が抽出されるので、(13)式は合成被写体像信号の解像度を評価する演算式と言える。合成被写体像信号データF(n,k)の解像度が最も高い像ズレ量において、解像度評価値P(k)が最大値になる。
解像度評価演算は(13)式に限定されることはなく、像ずらし量kにおける合成被写体像信号の解像度に関する像品質評価値P(k)を演算するものであればよく、例えば(14)式でもよい。
P(k)=Max(|−F(n−v,k)+2×F(n,k)−F(n+v,k)|)
(14)
(14)式において、関数Max(z)は変数zの最大値を抽出する関数であり、変数nの範囲について計算される。(14)式は、合成被写体像信号データF(n,k)の、所定データ間隔を表す整数vにおける2階差分の絶対値の最大値を算出する演算式である。合成被写体像信号データF(n,k)の解像度が高いほど、合成被写体像信号の高周波成分量は増大するので、(14)式の解像度評価値P(k)も大きな値となる。合成被写体像信号データF(n,k)の解像度が最も高い像ズレ量において、解像度評価値P(k)が最大値になる。
像品質評価演算は、像ずらし量kにおけるコントラストに関する像品質評価値P(k)を演算するものであってもよい。例えば(15)式に示すような合成被写体像信号のコントラストを評価する演算でもよい。
P(k)
={Max(F(n,k))−Min(F(n,k))}
/{Max(F(n,k))+Min(F(n,k))} (15)
(15)式において、関数Max(z)は変数zの最大値を抽出する関数であり、変数nの範囲について計算される。関数Min(z)は変数zの最小値を抽出する関数であり、変数nの範囲について計算される。(15)式は合成被写体像信号データF(n,k)のコントラストを表す演算式であり、合成被写体像信号のコントラストが高いほど(15)式のコントラスト評価値P(k)も大きな値となる。合成被写体像信号データF(n,k)のコントラストが最も高い像ズレ量において、コントラスト評価値P(k)が最大値になる。
像品質評価演算は、像ずらし量kにおける周波数特性、すなわちMTF(Modulation Transfer Function)特性に関する像品質評価値P(k)を演算するものあってもよい。例えば以下のようにしてMTFに関する像品質評価値P(k)を算出する。
図17の実線1710は、図15に示した合成被写体像信号データF(n,k)をフーリエ変換して求めた合成被写体像信号のMTFを示した図であり、横軸は空間周波数ω、縦軸はMTFの値をそれぞれ表す。このグラフにおいて、合成被写体像信号の鮮鋭度、解像度、コントラストといった像品質に寄与する高周波帯域(ω0〜ω1)に渡って合成被写体像信号のMTFを積分した値が、合成被写体像信号のMTFに関する像品質評価値P(k)であり、図17の斜線部1720の面積に等しい。合成被写体像信号データF(n,k)のMTFが最も高い像ズレ量において、MTF評価値P(k)が最大値になる。
上述した第2像ズレ検出演算においては一対の被写体像信号のパターンを相対的にずらして加算合成することにより、光軸方向に撮影光学系を走査した時の撮影光束により形成されるいわゆるコントラスト検出方式の焦点検出の被写体像信号と同等な合成被写体像信号を擬似的に生成する。その合成被写体像信号に対して、鮮鋭度、解像度、コントラスト、MTFといった像品質の評価を行うため、一対の焦点検出光束により形成される一対の被写体像信号パターンの同一性が崩れている場合においても誤差なく正確な像ズレ量を検出することができる。
デジタルカメラ201のボディ制御装置214による動作を示した図6のフローチャートにおいては、デフォーカス量の絶対値で表される光学系の焦点検出状態に応じて上述した第1像ズレ検出演算処理と第2像ズレ検出演算処理とを使い分けている。高精度な像ズレ検出演算が要求される合焦近傍の場合、すなわちデフォーカス量の絶対値が第1所定値以内の場合にのみ第2像ズレ検出演算処理を用いている。合焦近傍でない場合、すなわちデフォーカス量の絶対値が第1所定値を超える場合に第2像ズレ検出演算処理を用いない。その理由は、デフォーカス量が大きくなると、空間周波数の高周波成分が減少して像品質の評価値が低下するとともに、デフォーカス量に対する像品質評価値の変化も微小になるため、第2像ズレ検出演算処理による像ズレ検出演算精度が低下してしまう点にある。これに対し第1像ズレ検出演算処理では、空間周波数の低周波成分も像ズレ検出に用いているので、デフォーカス量が大きくなっても像ズレ検出精度の低下は少ない。
第1像ズレ検出演算処理と第2像ズレ検出演算処理との使い分けについては、図6のフローチャートで説明したような焦点検出状態、すなわちデフォーカス量の絶対値に応じた使い分けに限定されず、第1像ズレ検出演算処理および第2像ズレ検出演算処理の特質に応じた使い分けであれば他の使い分けであってもかまわない。
−第1および第2像ズレ検出演算処理を両方行う場合−
図18は、第1像ズレ検出演算処理と第2像ズレ検出演算処理とを両方行って、それぞれの結果として得られる第1像ズレ量と第2像ズレ量とを加重加算平均する場合のフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。
ステップS230では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS231では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号データに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS232では、ボディ制御装置214は、(16)式に示すように、第1像ズレ量shft1と第2像ズレ量shft2とを、重み係数k1、k2により加重加算平均して、平均像ズレ量shftAを算出する。
shftA=k1・shft1+k2・shft2 ただし k1+k2=1
(16)
(16)式において、重み係数k1、k2を、焦点検出状態に応じて変更してもよい。例えば、合焦近傍では重み係数k2を重み係数k1よりも大きくする。(16)式において、重み係数k1、k2を、第1像ズレ量shft1および第2像ズレ量shft2の信頼性評価値に応じて変更してもよい。その場合、信頼性が相対的に高い方の重み係数を、低い方の重み係数よりも大きくする。例えば、第1像ズレ量shft1の信頼性評価値r1の算出には(5)式のSLOPを用いる。また、第2像ズレ量shft2の信頼性評価値r2の算出には、図17の鮮鋭度評価値の最大値Pmaxを用いる。このとき、重み係数k1=r1/(r1+r2)とし、重み係数k2=r2/(r1+r2)とする。
ステップS233では、ボディ制御装置214は、ステップS232で算出した平均像ズレ量shftAをデフォーカス量に変換する。
このようにすれば、第1像ズレ検出演算処理と第2像ズレ検出演算処理との切替えにおける像ズレ量やデフォーカス量の急変がなくなるので、スムースな焦点調節動作が可能になる。
−第1および第2像ズレ検出演算処理を収差に応じて使い分ける場合−
図19は、第1像ズレ検出演算処理と第2像ズレ検出演算処理とを、撮影光学系の光学特性、例えば収差に応じて使い分ける場合の、ボディ制御装置214による動作を示すフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。
ステップS330では、ボディ制御装置214は、レンズ制御装置206から、光学特性の情報として、球面収差情報を受信する。レンズ制御装置206または交換レンズ202内の不図示の記憶装置には、球面収差の設計値または測定値等の情報が、球面収差情報として予め記憶されている。
ステップS331では、ボディ制御装置214は、受信した光学特性の情報、すなわち球面収差情報に基づいて、光学特性が良好であるか否かを判定する。具体的には、ボディ制御装置214は、絞り開放値の球面収差(縦収差量)とF5.6における球面収差(縦収差量)との差の絶対値が所定値以下の場合には良好と判定する。一般的に上記縦収差量の差が大きな撮影光学系ほど図10で示した一対の点像信号のパターンの一致度が悪くなる。
ステップS331で光学特性が良好と判定された場合は、ステップS332において、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS333では、ボディ制御装置214は、ステップS332で算出した第1像ズレ量shft1をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
一方ステップS331で光学特性が良好でないと判定された場合は、ステップS334において、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS335では、ボディ制御装置214は、ステップS334で算出した第2像ズレ量shft2をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
このようにすれば、撮影光学系の光学特性が良好であるために合焦近傍においても第1像ズレ検出演算処理の誤差が生じない場合には、比較的演算規模が少ないために処理時間が短い第1像ズレ検出演算処理が用いられる。そのため、焦点調節のレスポンスを高くすることが出来る。それとともに、撮影光学系の光学特性が良好ではないがために合焦近傍において第1像ズレ検出演算処理の誤差が生じる場合には、高精度な第2像ズレ検出演算処理を用いることにより正確な焦点調節を行うことができる。
光学特性の良否判定は、上述のように撮影光学系の球面収差情報を用いるものに限定されず、他の収差量の情報、例えば色収差、コマ収差、非点収差などの情報でもよい。特に、空間周波数に応じた最良像面位置の変位情報は、一対の被写体像信号パターンの同一性と深く関係しているので重要である。例えば、所定値ωLを含む低空間周波数の最良像面位置と所定値ωLよりも大きな所定値ωHを含む高空間周波数の最良像面位置との差を、光学設計情報に基づいて予め算出して、または実験的に測定して交換レンズ202側に記憶しておく。ボディ制御装置214は、それら2つの空間周波数のそれぞれに対する最良像面の位置の差をカメラボディ203側に読み出し、読み出した最良像面の位置の差の絶対値が所定値以下の場合は光学特性が良好として第1像ズレ検出演算処理を行う。ボディ制御装置214は、読み出した最良像面の位置の差の絶対値が所定値を超える場合は光学特性が良好でないとして第2像ズレ検出演算処理を行う。
また、光学特性の良否をカメラボディ203側で判定する代わりに、交換レンズ202側からカメラボディ203側に光学特性に応じた良否情報をレンズ制御装置206が送信し、カメラボディ203側でボディ制御装置214が該良否情報に応じて第1像ズレ検出演算処理と第2像ズレ検出演算処理とを切替えてもよい。
また、予めカメラボディ203側に光学特性の良好でないレンズの識別情報をピックアップしたテーブルを備えておき、カメラボディ203に装着した交換レンズ202のレンズの識別情報が、該テーブルにピックアップされたレンズ識別情報に一致する場合には、ボディ制御装置214が、装着した交換レンズ202のレンズの光学特性は良好でないと判定するようにしてもよい。
−第1および第2像ズレ検出演算処理を絞りF値に応じて使い分ける場合−
図20は第1像ズレ検出演算処理と第2像ズレ検出演算処理とを、撮影光学系の光学特性、例えば絞りF値に応じて使い分ける場合の、ボディ制御装置214による動作を示すフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。
ステップS430では、ボディ制御装置214は、レンズ制御装置206から、光学特性の情報として、絞りF値情報、すなわちその時点での制御F値情報を受信する。
ステップS431では、ボディ制御装置214は、受信した光学特性の情報、すなわち絞りF値情報に基づいて、第1像ズレ検出演算処理による誤差が生じやすい状態か否か、すなわち一対の焦点検出光束により形成される一対の被写体像の同一性が良好か否かを判定する。具体的には、絞りF値が所定値以上の暗い光量に対応するF値の場合には、図10に示した一対の点像分布の裾野の広がりがピーク部の大きさに比較して小さくなるために、ボディ制御装置214は第1像ズレ検出演算処理による誤差が生じにくいと判断する。本処理はステップS432に進み、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS433では、ボディ制御装置214は、ステップS432で算出した第1像ズレ量shft1をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
一方、ステップS431で、絞りF値が所定値未満の明るい光量に対応する明るいF値の場合には、図10に示した一対の点像分布の裾野の広がりがピーク部の大きさに比較して大きくなるために、ボディ制御装置214は第1像ズレ検出演算処理による誤差が生じやすいと判断する。本処理はステップS434に進み、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS435では、ボディ制御装置214は、ステップS434で算出した第2像ズレ量shft2をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
このようにすれば、撮影光学系の光学特性に含まれる絞りF値が大きくて第1像ズレ検出演算処理の誤差が生じにくい場合には、比較的演算規模が少ないために処理時間が短い第1像ズレ検出演算処理が用いられる。そのため、焦点調節のレスポンスを高くすることが出来る。それとともに、撮影光学系の絞りF値が小さくて第1像ズレ検出演算処理の誤差が生じやすい場合には、高精度な第2像ズレ検出演算処理を用いることにより正確な焦点調節を行うことができる。
−第1および第2像ズレ検出演算処理を像高や射出瞳距離に応じて使い分ける場合−
焦点検出エリアが画面中心に限らず画面周辺の位置にも存在する場合には、焦点検出に使用する焦点検出エリアの位置、すなわちその焦点検出エリアの画面中央からの距離を表す像高や、撮影光学系の光学特性、例えば射出瞳距離に応じて第1像ズレ検出演算処理と第2像ズレ検出演算処理とを使い分けることもできる。焦点検出に使用する焦点検出エリアには一対の被写体像信号が生成される一対の焦点検出画素が配置されているので、像高は光軸に対して一対の被写体像信号が生成される位置ということもできる。
図21は、このような場合の撮影画面上における焦点検出エリアの位置を示す図であり、矩形の撮影画面100上の中央(光軸上)および水平垂直方向の周辺の合計25カ所に焦点検出リア102が配置される。長方形で示す焦点検出エリア102の長手方向、すなわち水平方向に、焦点検出画素が直線的に配列される。
図22は焦点検出エリアの位置、すなわちその焦点検出エリアの画面中央からの距離を表す像高と、撮影光学系の光学特性、例えば射出瞳距離とに応じて、第1像ズレ検出演算処理と第2像ズレ検出演算処理とを使い分ける場合の、ボディ制御装置214による動作を示すフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。なお焦点検出に使用する焦点検出エリアの位置はユーザーにより手動で選択されるものとする。
ステップS530では、ボディ制御装置214は、レンズ制御装置206から、光学特性の情報として、射出瞳距離データを受信する。
ステップS531では、ボディ制御装置214は、受信した光学特性の情報、すなわち射出瞳距離データに基づいて、第1像ズレ検出演算処理による誤差が生じやすい状態か否か、すなわち一対の焦点検出光束により形成される一対の被写体像の同一性が良好か否かを判定する。具体的には、射出瞳距離が所定距離範囲以内である場合には、ボディ制御装置214は、一対の焦点検出光束の絞り開口によるケラレが略均一に生じるため一対の点像分布の同一性も高いと判定して、本処理はステップS535以降の第1像ズレ検出演算処理に進む。射出瞳距離が、図5に示した測距瞳距離dの近傍であるとき、すなわちd±所定距離以内であるとき、射出瞳距離が所定距離範囲以内と判定される。射出瞳距離が所定距離範囲外である場合には、ボディ制御装置214は、一対の焦点検出光束の絞り開口によるケラレが不均一に生じるため一対の点像分布の同一性も崩れやすいと判定して、本処理はステップS532に進む。射出瞳距離が、図5に示した測距瞳距離dから離れているとき、すなわちd±所定距離外であるとき、射出瞳距離が所定距離範囲外であると判定される。
ステップS532では、ボディ制御装置214は、ユーザーにより選択された焦点検出エリアが画面周辺に位置するか否かを判定する。選択された焦点検出エリアの画面中心からの距離を表す像高が所定値以上であるとき、選択された焦点検出エリアが画面周辺に位置すると判定される。選択された焦点検出エリアが画面周辺に位置する場合は、ボディ制御装置214は、一対の焦点検出光束の絞り開口によるケラレの不均一性が拡大されるため一対の点像分布の同一性も崩れると判定する。ボディ制御装置214は、このような状態でも誤差を生じにくい像ズレ検出を行うために、本処理を、ステップS533以降の第2像ズレ検出演算処理に進める。選択された焦点検出エリアが画面中央近傍に位置する場合には、ボディ制御装置214は、一対の焦点検出光束の絞り開口によるケラレの不均一が少なく、一対の点像分布の同一性も高いと判定して、本処理を、ステップS535以降の第1像ズレ検出演算処理に進める。
ステップS533では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS534では、ボディ制御装置214は、ステップS533で算出した第2像ズレ量shft2をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
ステップS535では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS536では、ボディ制御装置214は、ステップS535で算出した第1像ズレ量shft1をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
撮影光学系の射出瞳距離が測距瞳距離dの近傍であるか、または焦点検出エリアの位置が画面中心近傍にあるとき、一対の焦点検出光束の絞りによる不均一なケラレが生じ難い。しかし、上記のようにすれば、一対の焦点検出光束の絞りによる不均一なケラレが生じ難い状態であるために、第1像ズレ検出演算処理の誤差が生じにくい場合には、比較的演算規模が少ないために処理時間が短い第1像ズレ検出演算処理が用いられるので、焦点調節のレスポンスを高くすることが出来る。撮影光学系の射出瞳距離が測距瞳距離dから離れているとき、または焦点検出エリアの位置が画面周辺にあるとき、一対の焦点検出光束の絞りによる不均一なケラレが生じ易い。しかし、上記のようにすれば、一対の焦点検出光束の絞りによる不均一なケラレが生じ易い状態であるために、第1像ズレ検出演算処理の誤差が生じやすい場合には、高精度な第2像ズレ検出演算処理が用いられるので、正確な焦点調節を行うことができる。
なお、第1および第2像ズレ検出演算処理を、像高および射出瞳距離のいずれか一方のみに応じて使い分けることとしてもよい。すなわち、図22において、ステップS531およびステップS532における判定処理のうちのいずれか一方の判定のみが行われることとしてもよい。
−第1および第2像ズレ検出演算処理をAFの必要検出精度に応じて使い分ける場合−
図23は、第1像ズレ検出演算処理と第2像ズレ検出演算処理とを、必要なデフォーカス量検出精度、すなわちユーザーにより設定されるAF精度関連の設定状態に応じて使い分ける場合の、ボディ制御装置214による動作を示すフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。
ステップS630では、ボディ制御装置214は、ユーザーにより設定されるAF精度関連の設定状態を検出する。AF精度関連の設定とは、例えば直接的にAF精度優先とAFレスポンス優先とを切替える場合の切替え選択設定であっても良いし、間接的にAF精度優先とAFレスポンス優先とを切替える場合の切替え選択設定であっても良い。間接的にAF精度優先とAFレスポンス優先とを切替える場合の切替え選択設定とは、例えばワンショットAFモードとコンティニュアスAFモードとの切替え選択設定であり、いずれかのモードをユーザが選択することに連動して、AF精度優先とAFレスポンス優先のいずれかが選択される。ワンショットAFモードにおいては、合焦状態に到達後はレンズ駆動を禁止するので、高いAF精度が要求されることとなり、AF精度優先となる。コンティニュアスAFモードにおいては、連続撮影のため、検出された焦点調節状態に応じて常時レンズ駆動を行うので、迅速性が要求されることとなり、AFレスポンス優先となる。
ステップS631では、ボディ制御装置214は、検出したAF精度関連の設定状態に基づいて、AF精度が優先されているか否かを判定する。本処理は、AF精度が優先されている場合にはステップS634に進み、AF精度が優先されていない場合、すなわちAF精度以外のAF特性、例えばAFレスポンスが優先されている場合は、ステップS632に進む。
ステップS632では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS633では、ボディ制御装置214は、ステップS632で算出した第1像ズレ量shft1をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
ステップS634では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS635では、ボディ制御装置214は、ステップS334で算出した第2像ズレ量shft2をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
このようにすれば、像ズレ検出に要求される精度が比較的ゆるい場合には、比較的演算規模が少ないために処理時間が短い第1像ズレ検出演算処理が用いられる。そのため、焦点調節のレスポンスを高くすることが出来る。それとともに、撮影光学系の像ズレ検出に要求される精度が比較的厳しい場合には、高精度な第2像ズレ検出演算処理を用いることにより正確な焦点調節を行うことができる。
AF精度に関する設定は上述のようにユーザーによる手動設定でもよいし、カメラボディ203のボディ制御装置214が自動的に設定するものであってもよい。例えばカメラボディ203のボディ制御装置214が、読み出した画像データに基づいて輝度検出を行い、高輝度の場合にはAF精度優先、低輝度の場合にはAFレスポンス優先の自動設定を行うことも可能である。また、カメラボディ203のボディ制御装置214が、読み出した画像データに基づいて、被写体が移動被写体であるか、静止被写体であるかについての検出を行い、静止被写体の場合にはAF精度優先、移動被写体の場合にはAFレスポンス優先の自動設定を行うことも可能である。また、カメラボディ203のボディ制御装置214が、読み出した画像データまたは不図示の加速度センサー出力に基づいて、カメラボディ203のブレ状態を表すブレ量の検出を行い、ブレが少ない場合、すなわちブレ量が所定値以内の場合にはAF精度優先、ブレが大きい、すなわちブレ量が所定値以上の場合にはAFレスポンス優先の自動設定を行うことも可能である。
−第1および第2像ズレ検出演算処理を一対の被写体像品質に応じて使い分ける場合−
図24は第1像ズレ検出演算処理と第2像ズレ検出演算処理とを、像ズレ検出に用いる一対の焦点検出画素のデータに基づいて評価した一対の被写体像の像品質に応じて使い分ける場合のフローチャートである。本フローチャートは、図6のステップS130からステップS138までの処理に置き換わる処理を示す。
ステップS730では、ボディ制御装置214は、像ズレ検出に用いる一対の焦点検出画素のデータに基づいて一対の被写体像の像品質の評価値を算出する。具体的には、前述した合成被写体像信号の像品質評価値P(k)を求める演算と同様な演算により一対の被写体像信号の像品質評価値Qを算出することができる。一対の焦点検出画素が出力する一対の被写体像信号データA(n)、B(n)に基づき、例えば(11)式と同様な鮮鋭度評価演算の(17)式により、像品質評価値Qを算出することができる。
Q=Σ(|A(n)−A(n+v)|+|B(n)−B(n+v)|) (17)
(17)式において、Σ演算は変数nの範囲について計算される。(17)式は一対の焦点検出画素が出力する一対の被写体像信号データA(n)、B(n)の、所定データ間隔を表す整数vにおける1階差分の絶対値の総和を算出する演算を表す。一対の焦点検出画素が出力する一対の被写体像信号データA(n)、B(n)の鮮鋭度が高いほど差分量は大きくなるので像品質評価値Qも大きな値となる。1階差分量は一対の被写体像のエッジ部の傾斜量に対応し、傾斜が急峻なほど鮮鋭に見えるので、(17)式は一対の被写体像信号の像品質、すなわち鮮鋭度を評価する演算と言える。なお(17)式は一対の焦点検出画素が出力する一対の被写体像信号データA(n)、B(n)の両方について演算を行っているが、どちらか一方のみであってもかまわない。
ステップS731では、一対の被写体像信号の像品質評価値に基づいて、一対の被写体像の像品質が良好であるか否かを判定する。本処理は、一対の被写体像の像品質が良好である場合、すなわち像品質評価値が所定値以上の場合にはステップS734に進み、一対の被写体像の像品質が良好でない場合、すなわち像品質評価値が所定値未満の場合にはステップS732に進む。
ステップS732では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第1像ズレ検出演算処理を行い、第1像ズレ量shft1を算出する。第1像ズレ検出演算処理は、上述したように、一対の被写体像信号の一致度に基づく像ズレ検出演算処理である。
ステップS733では、ボディ制御装置214は、ステップS732で算出した第1像ズレ量shft1をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
ステップS734では、ボディ制御装置214は、ステップS120で読み出した一対の被写体像信号のデータに基づき第2像ズレ検出演算処理を行い、第2像ズレ量shft2を算出する。第2像ズレ検出演算処理は、上述したように、合成被写体像信号の像品質評価値に基づく像ズレ検出演算処理である。
ステップS735では、ボディ制御装置214は、ステップS734で算出した第2像ズレ量shft2をデフォーカス量に変換し、本処理は、図6のステップS140に進む。
一対の被写体像の像品質が良好でないために第2像ズレ検出演算による精度が悪化する場合がある。例えば、デフォーカス量が大きく像ボケにより高周波成分がなくなっている場合である。そのような高周波成分が少ない場合でも、第1像ズレ検出演算処理によれば、比較的精度の高い像ズレ検出が可能である。上述したステップS731において一対の被写体像の像品質が良好でないと判定された場合は、ステップS732で第1像ズレ検出演算処理が用いられるので、焦点検出精度を維持できる。それとともに、ステップS731において一対の被写体像の像品質が良好であるために第2像ズレ検出演算による高精度な像ズレ検出が期待できる場合、例えば合焦近傍で高周波成分が多い場合には、ステップS734で高精度な第2像ズレ検出演算処理が用いられるので、正確な焦点調節を行うことができる。
ステップS730では、一対の焦点検出画素が出力する一対の被写体像信号データA(n)、B(n)に基づき、一対の被写体像信号の像品質評価値Qとして鮮鋭度を用いることとし、鮮鋭度評価演算の(17)式により、像品質評価値Qを算出する。しかし、像品質評価値として、鮮鋭度の代わりに一対の被写体像信号の解像度を用いることとしてもよい。その場合は、(17)式の代わりに、例えば以下の(18)式を用いる。
Q=Σ(|−A(n−v)+2×A(n)−A(n+v)|
+|−B(n−v)+2×B(n)−B(n+v)|) (18)
像品質評価値Qとして、鮮鋭度の代わりに一対の被写体像信号の周波数特性(MTF)を用いることとしてもよい。図17を用いて合成被写体像信号のMTFに関する像品質評価値P(k)を求める方法と同様にして、一対の被写体像の像品質に寄与する高周波帯域に渡って合成被写体像信号のMTFを積分した値を像品質評価値Qとしてもよい。
上述した種々の条件に応じた第1像ズレ検出演算処理と第2像ズレ検出演算処理との使い分けに関しては、複数組み合わせて用いることができる。
例えば図6に示すフローチャートにおいて、ステップS136からステップS137までの間に、さらに図19のステップS330とステップS331とを挿入する。ステップS331において光学特性が良好と判定された場合には、本処理は図6のステップS140に進み、ステップS331において光学特性が良好でないと判定された場合には、本処理は図6のステップS137に進むようにしてもよい。その様子を図25に示す。
このように複数の条件を組み合わせることにより、第1像ズレ検出演算処理と第2像ズレ検出演算処理とをより適切に使い分けることができる。
上述した実施の形態では、マイクロレンズを用いた瞳分割位相差検出方式による焦点検出動作を例にとって説明したが、本発明はこのような方式の焦点検出に限定されず、周知の再結像瞳分割位相差検出方式の焦点検出にも適用可能である。
再結像瞳分割位相差検出方式においては、1次像面上に形成される被写体像を一対のセパレータレンズを用い、一対の測距瞳を通過する一対の焦点検出光束が形成する一対の被写体像として一対のイメージセンサ上に再結像し、該一対のイメージセンサの出力に基づき、上記一対の被写体像の像ズレ量を検出している。従って撮影光学系の光学特性が良好でない場合には、上記一対の被写体像の信号パターン(形状)の同一性が崩れ、一対の被写体像信号の一致度が悪化するという、マイクロレンズを用いた瞳分割位相差検出方式と同様な問題が発生する。そのような場合に、高精度な第2像ズレ検出演算処理を用いることにより正確な焦点調節を行うことができる。撮影光学系の光学特性が良好な場合には、比較的演算規模が少ないために処理時間が短い第1像ズレ検出演算処理が用いられる。
なお、焦点検出装置が適用される撮像装置としては、上述したようなカメラボディ203に交換レンズ202が装着される構成のデジタルカメラ201に限定されない。例えばレンズ一体型のデジタルカメラあるいはビデオカメラにも本発明を適用することができる。さらには、携帯電話などに内蔵される小型カメラモジュール、監視カメラやロボット用の視覚認識装置、車載カメラなどにも適用することができる。