相関演算方法、相関演算装置、焦点検出装置、撮像装置および相関演算プログラム
【課題】相対的に歪みが生じた一対の物体像に対応する一対のデータ列に対して、正確な相対的な変位量を算出する。
【解決手段】複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら第1データ列と第2データ列とを相対的に変位させ、第1データ列と第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算(S220)と、一次元上で変位量を変えながら第1データ列と第1データ列とを相対的に変位させ、第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算(S220)と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する第3演算(S221)とを実行する。
【解決手段】複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら第1データ列と第2データ列とを相対的に変位させ、第1データ列と第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算(S220)と、一次元上で変位量を変えながら第1データ列と第1データ列とを相対的に変位させ、第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算(S220)と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する第3演算(S221)とを実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は相関演算方法、相関演算装置、焦点検出装置、撮像装置および相関演算プログラムに関する。
【背景技術】
【0002】
相対的に歪みが生じた一対の物体像に対応した一対のデータ列間の相対的な変位量(像ズレ量、シフト量)を算出する焦点検出装置が知られている(例えば、特許文献1参照)。
この装置では、一対のデータ列{A1,A2,A3,・・}、{B1,B2,B3,・・}に対して、シフト量kを変えながら一対のデータ列間のデータどうしの乗算を含む相関演算式を用いて相関量C(k)を算出し、相関量C(k)の極値を示す一対のデータ列間の変位量を算出している。
【0003】
この出願の発明に関連する先行技術文献としては次のものがある。
【特許文献1】特開2007−333720号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の焦点検出装置では、相関量C(k)を算出する相関演算において、相対的に歪みが生じた一対の物体像に対しても相対的な変位量を検出可能な特性を備えているために、もともと異なる一対のデータに対しても高い相関度を示す相関量(偽の相関量)を算出する場合がある。
【課題を解決するための手段】
【0005】
(1) 請求項1の発明は、複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら第1データ列と第2データ列とを相対的に変位させ、第1データ列と第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算と、一次元上で変位量を変えながら第1データ列と第1データ列とを相対的に変位させ、第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する第3演算とを実行する相関演算方法である。
(2) 請求項2の発明は、請求項1に記載の相関演算方法において、第3演算は、第1変位量の数および変位量どうしの離間量と、第2変位量の数および変位量どうしの離間量とに基づいて、第1変位量と第2変位量の相対関係を算出し、自己相関量の真の極値を与える第2変位量に対応する第1変位量を相互相関量の真の極値を与える変位量として選別する。
(3) 請求項3の発明は、請求項1に記載の相関演算方法において、第3演算は、自己相関量と相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い第1変位量を相互相関量の真の極値を与える変位量として選別する。
(4) 請求項4の発明は、請求項1〜3のいずれか一項に記載の相関演算方法において、第1演算は、第1データ列を一次元上の位置xの関数F(x)とし、第2データ列を一次元上の位置xの関数G(x)とした場合に、G(x)=(1+δx)・M・F(x) (δとMは定数)の関係がある第1データ列と第2データ列との間の相互相関量を演算可能な相関演算である。
(5) 請求項5の発明は、請求項1〜4のいずれか一項に記載の相関演算方法により、第1データ列と第2データ列との間の相互相関量の真の極値を与える変位量を演算する相関演算装置である。
(6) 請求項6の発明は、結像光学系を通る一対の光束を受光し、この一対の光束が結像光学系の予定焦点面上に形成する一対の像に対応する一対の第1データ列と第2データ列を生成するデータ列生成手段と、第1データ列と第2データ列との間の相互相関量の真の極値が得られる変位量を算出する請求項9に記載の相関演算装置と、変位量に基づいて結像光学系の焦点調節状態を検出する焦点検出手段とを備える焦点検出装置である。
(7) 請求項7の発明は、請求項6に記載の焦点検出装置を備える撮像装置である。
(8) 請求項8の発明は、請求項1〜4のいずれか一項に記載の相関演算方法をコンピューターに実行させる相関演算プログラムである。
【発明の効果】
【0006】
本発明によれば、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量を排除して相互相関量の真の極値を与える変位量を正確に算出することができる。
【発明を実施するための最良の形態】
【0007】
本発明の一実施の形態としてレンズ交換式デジタルスチルカメラを例に挙げて説明する。図1は一実施の形態のカメラの構成を示すカメラの横断面図である。一実施の形態のデジタルスチルカメラ201は交換レンズ202とカメラボディ203から構成され、交換レンズ202がマウント部204を介してカメラボディ203に装着される。カメラボディ203にはマウント部204を介して種々の撮影光学系を有する交換レンズ202が装着可能である。
【0008】
交換レンズ202はレンズ209、ズーミング用レンズ208、フォーカシング用レンズ210、絞り211、レンズ駆動制御装置206などを備えている。レンズ駆動制御装置206は不図示のマイクロコンピューター、メモリ、駆動制御回路などから構成され、フォーカシング用レンズ210の焦点調節と絞り211の開口径調節のための駆動制御や、ズーミング用レンズ208、フォーカシング用レンズ210および絞り211の状態検出などを行う他、後述するボディ駆動制御装置214との通信によりレンズ情報の送信とカメラ情報の受信を行う。絞り211は、光量およびボケ量調整のために光軸中心に開口径が可変な開口を形成する。
【0009】
カメラボディ203は撮像素子212、ボディ駆動制御装置214、液晶表示素子駆動回路215、液晶表示素子216、接眼レンズ217、メモリカード219などを備えている。撮像素子212には、撮像用画素が二次元状に配置されるとともに、焦点検出位置に対応した部分に焦点検出用画素が組み込まれている。この撮像素子212については詳細を後述する。
【0010】
ボディ駆動制御装置214はマイクロコンピューター、メモリ、駆動制御回路などから構成され、撮像素子212の駆動制御と画像信号および焦点検出信号の読み出しと、焦点検出信号に基づく焦点検出演算と交換レンズ202の焦点調節を繰り返し行うとともに、画像信号の処理と記録、カメラの動作制御などを行う。また、ボディ駆動制御装置214は電気接点213を介してレンズ駆動制御装置206と通信を行い、レンズ情報の受信とカメラ情報(デフォーカス量や絞り値など)の送信を行う。
【0011】
液晶表示素子216は電気的なビューファインダー(EVF:Electronic View Finder)として機能する。液晶表示素子駆動回路215は撮像素子212によるスルー画像を液晶表示素子216に表示し、撮影者は接眼レンズ217を介してスルー画像を観察することができる。メモリカード219は、撮像素子212により撮像された画像を記憶する画像ストレージである。
【0012】
交換レンズ202を通過した光束により、撮像素子212の受光面上に被写体像が形成される。この被写体像は撮像素子212により光電変換され、画像信号と焦点検出信号がボディ駆動制御装置214へ送られる。
【0013】
ボディ駆動制御装置214は、撮像素子212の焦点検出用画素からの焦点検出信号に基づいてデフォーカス量を算出し、このデフォーカス量をレンズ駆動制御装置206へ送る。また、ボディ駆動制御装置214は撮像素子212からの画像信号を処理して画像を生成し、メモリカード219に格納するとともに、撮像素子212からのスルー画像信号を液晶表示素子駆動回路215へ送り、スルー画像を液晶表示素子216に表示させる。さらに、ボディ駆動制御装置214はレンズ駆動制御装置206へ絞り制御情報を送って絞り211の開口制御を行う。
【0014】
レンズ駆動制御装置206は、フォーカシング状態、ズーミング状態、絞り設定状態、絞り開放F値などに応じてレンズ情報を更新する。具体的には、ズーミング用レンズ208とフォーカシング用レンズ210の位置と絞り211の絞り値を検出し、これらのレンズ位置と絞り値に応じてレンズ情報を演算したり、あるいは予め用意されたルックアップテーブルからレンズ位置と絞り値に応じたレンズ情報を選択する。
【0015】
レンズ駆動制御装置206は、受信したデフォーカス量に基づいてレンズ駆動量を算出し、レンズ駆動量に応じてフォーカシング用レンズ210を合焦位置へ駆動する。また、レンズ駆動制御装置206は受信した絞り値に応じて絞り211を駆動する。
【0016】
図2は、交換レンズ202の撮影画面上における焦点検出位置を示す図であり、後述する撮像素子212上の焦点検出用画素列が焦点検出の際に撮影画面上で像をサンプリングする領域(焦点検出エリア、焦点検出位置)の一例を示す。この例では、矩形の撮影画面100上の中央および上下の3箇所に焦点検出エリア101〜103が配置される。長方形で示す焦点検出エリアの長手方向に、焦点検出用画素が直線的に配列される。
【0017】
図3は撮像素子212の詳細な構成を示す正面図であり、撮像素子212上の焦点検出エリア101の近傍を拡大して示す。撮像素子212には撮像用画素310が二次元正方格子状に稠密に配列されるとともに、焦点検出エリア101に対応する位置には焦点検出用の焦点検出用画素313、314が垂直方向の直線上に隣接して交互に配列される。なお、図示を省略するが、焦点検出エリア102、103の近傍の構成も図3に示す構成と同様である。
【0018】
撮像用画素310は、図4に示すようにマイクロレンズ10、光電変換部11、および色フィルター(不図示)とを有している。色フィルターは赤(R)、緑(G)、青(B)の3種類からなり、それぞれの分光感度は図6に示す特性になっている。撮像素子212には、各色フィルターを備えた撮像用画素310がベイヤー配列されている。
【0019】
焦点検出用画素313は、図5(a)に示すようにマイクロレンズ10と光電変換部13とを有しており、光電変換部13の形状は半円形である。また、焦点検出用画素314は、図5(b)に示すようにマイクロレンズ10と光電変換部14とを有しており、光電変換部14の形状は半円形である。焦点検出用画素313と焦点検出用画素314は垂直方向の焦点検出に用いるものであり、光電変換部13、14は画素の上部または下部に配置される。焦点検出用画素313と焦点検出用画素314は、焦点検出エリア101〜103において垂直方向(光電変換部13と14の並び方向)に交互に配置される。
【0020】
焦点検出用画素313、314には光量を増大させるために色フィルターが設けられておらず、その分光特性は光電変換を行うフォトダイオードの分光感度と、赤外カットフィルター(不図示)の分光特性とを総合した分光特性(図7参照)となる。つまり、図6に示す緑画素、赤画素および青画素の分光特性を加算したような分光特性となり、その感度の光波長領域は緑画素、赤画素および青画素の感度の光波長領域を包括している。
【0021】
焦点検出用の焦点検出用画素313、314は、撮像用画素310のBとGが配置されるべき列に配置されている。焦点検出用の焦点検出用画素313、314が、撮像用画素310のBとGが配置されるべき列に配置されているのは、画素補間処理において補間誤差が生じた場合に、人間の視覚特性上、赤画素の補間誤差に比較して青画素の補間誤差が目立たないためである。
【0022】
撮像用画素310の光電変換部11は、マイクロレンズ10によって最も明るい交換レンズの射出瞳径(例えばF1.0)を通過する光束をすべて受光するような形状に設計される。また、焦点検出用画素313、314の光電変換部13、14は、マイクロレンズ10によって交換レンズの射出瞳の所定の領域(例えばF2.8)を通過する光束をすべて受光するような形状に設計される。
【0023】
図8は撮像用画素310の断面図である。撮像用画素310では撮像用の光電変換部11の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部11の形状が前方に投影される。光電変換部11は半導体回路基板29上に形成される。なお、不図示の色フィルターはマイクロレンズ10と光電変換部11の中間に配置される。
【0024】
図9(a)は焦点検出用画素313の断面図である。画面中央の焦点検出エリア101に配置された焦点検出用画素313において、光電変換部13の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部13の形状が前方に投影される。光電変換部13は半導体回路基板29上に形成されるとともに、その上にマイクロレンズ10が半導体イメージセンサーの製造工程により一体的かつ固定的に形成される。なお、画面上下の焦点検出エリア102、103に配置された焦点検出用画素313の断面構造についても、図9(a)に示す断面構造と同様である。
【0025】
図9(b)は焦点検出用画素314の断面図である。画面中央の焦点検出エリア101に配置された焦点検出用画素314において、光電変換部14の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部14の形状が前方に投影される。光電変換部14は半導体回路基板29上に形成されるとともに、その上にマイクロレンズ10が半導体イメージセンサーの製造工程により一体的かつ固定的に形成される。なお、画面上下の焦点検出エリア102、103に配置された焦点検出用画素314の断面構造についても、図9(b)に示す断面構造と同様である。
【0026】
図10は、マイクロレンズを用いた瞳分割型位相差検出方式の焦点検出光学系の構成を示す。なお、焦点検出用画素の部分は拡大して示す。図において、90は、交換レンズ202(図1参照)の予定結像面に配置されたマイクロレンズから前方dの距離に設定された射出瞳である。この距離dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部との間の距離などに応じて決まる距離であって、この明細書では測距瞳距離と呼ぶ。91は交換レンズの光軸、10a〜10dはマイクロレンズ、13a、13b、14a、14bは光電変換部、313a、313b、314a、314bは焦点検出用画素、73,74、83,84は焦点検出用光束である。
【0027】
また、93は、マイクロレンズ10a、10cにより投影された光電変換部13a、13bの領域であり、この明細書では測距瞳と呼ぶ。図10では、説明を解りやすくするために楕円形の領域で示しているが、実際には光電変換部の形状が拡大投影された形状になる。同様に、94は、マイクロレンズ10b、10dにより投影された光電変換部14a、14bの領域であり、この明細書では測距瞳と呼ぶ。図10では、説明を解りやすくするために楕円形の領域で示しているが、実際には光電変換部の形状が拡大投影された形状になる。
【0028】
図10では、撮影光軸に隣接する4つの焦点検出用画素313a、313b、314a、314bを模式的に例示しているが、焦点検出エリア101のその他の焦点検出用画素においても、また画面周辺部の焦点検出エリア102、103の焦点検出用画素においても、光電変換部はそれぞれ対応した測距瞳93、94から各マイクロレンズに到来する光束を受光するように構成されている。焦点検出用画素の配列方向は一対の測距瞳の並び方向、すなわち一対の光電変換部の並び方向と一致させる。
【0029】
マイクロレンズ10a〜10dは交換レンズ202(図1参照)の予定結像面近傍に配置されており、マイクロレンズ10a〜10dによりその背後に配置された光電変換部13a、13b、14a、14bの形状がマイクロレンズ10a〜10cから測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。すなわち、投影距離dにある射出瞳90上で各焦点検出用画素の光電変換部の投影形状(測距瞳93,94)が一致するように、各焦点検出用画素におけるマイクロレンズと光電変換部の相対的位置関係が定められ、それにより各焦点検出用画素における光電変換部の投影方向が決定されている。
【0030】
光電変換部13aは測距瞳93を通過し、マイクロレンズ10aに向う光束73によりマイクロレンズ10a上に形成される像の強度に対応した信号を出力する。同様に、光電変換部13bは測距瞳93を通過し、マイクロレンズ10cに向う光束83によりマイクロレンズ10c上に形成される像の強度に対応した信号を出力する。また、光電変換部14aは測距瞳94を通過し、マイクロレンズ10bに向う光束74によりマイクロレンズ10b上に形成される像の強度に対応した信号を出力する。同様に、光電変換部14bは測距瞳94を通過し、マイクロレンズ10dに向う光束84によりマイクロレンズ10d上に形成される像の強度に対応した信号を出力する。
【0031】
上述した2種類の焦点検出用画素を直線状に多数配置し、各画素の光電変換部の出力を測距瞳93および測距瞳94に対応した出力グループにまとめることによって、測距瞳93と測距瞳94をそれぞれ通過する焦点検出用光束が画素列上に形成する一対の像の強度分布に関する情報が得られる。この情報に対して後述する像ズレ検出演算処理(相関演算処理、位相差検出処理)を施すことによって、いわゆる瞳分割型位相差検出方式で一対の像の像ズレ量が検出される。さらに、像ズレ量に一対の測距瞳の重心間隔に応じた変換演算を行うことによって、予定結像面に対する現在の結像面(予定結像面上のマイクロレンズアレイの位置に対応した焦点検出位置における結像面)の偏差(デフォーカス量)が算出される。
【0032】
図11は、一実施の形態のデジタルスチルカメラ(撮像装置)の撮像動作を示すフローチャートである。ボディ駆動制御装置214は、ステップ100でカメラの電源がオンされると、ステップ110以降の撮像動作を開始する。ステップ110において撮像用画素のデータを間引き読み出しし、電子ビューファインダーに表示させる。続くステップ120では焦点検出用画素列から一対の像に対応した一対の像データを読み出す。なお、焦点検出エリアは、撮影者が焦点検出エリア選択部材(不図示)を用いて焦点検出エリア101〜103の内のいずれかを予め選択しているものとする。
【0033】
ステップ130では読み出された一対の像データに基づいて後述する像ズレ検出演算処理(相関演算処理)を行い、像ズレ量を演算してデフォーカス量に変換する。ステップ140で合焦近傍か否か、すなわち算出されたデフォーカス量の絶対値が所定値以内であるか否かを調べる。合焦近傍でないと判定された場合はステップ150へ進み、デフォーカス量をレンズ駆動制御装置206へ送信し、交換レンズ202のフォーカシングレンズ210を合焦位置に駆動させる。その後、ステップ110へ戻って上述した動作を繰り返す。
【0034】
なお、焦点検出不能な場合もこのステップに分岐し、レンズ駆動制御装置206へスキャン駆動命令を送信し、交換レンズ202のフォーカシングレンズ210を無限から至近までの間でスキャン駆動させる。その後、ステップ110へ戻って上述した動作を繰り返す。
【0035】
ステップ140で合焦近傍であると判定された場合はステップ160へ進み、シャッターボタン(不図示)の操作によりシャッターレリーズがなされたか否かを判別する。シャッターレリーズがなされていないと判定された場合はステップ110へ戻り、上述した動作を繰り返す。一方、シャッターレリーズがなされたと判定された場合はステップ170へ進み、レンズ駆動制御装置206へ絞り調整命令を送信し、交換レンズ202の絞り値を制御F値(撮影者または自動により設定されたF値)にする。絞り制御が終了した時点で撮像素子212に撮像動作を行わせ、撮像素子212の撮像用画素310および全ての焦点検出用画素313,314から画像データを読み出す。
【0036】
ステップ180において、焦点検出用画素列の各画素位置の画素データを焦点検出用画素の周囲の撮像用画素のデータに基づいて画素補間する。続くステップ190では、撮像用画素のデータおよび補間されたデータからなる画像データをメモリーカード219に記憶し、ステップ110へ戻って上述した動作を繰り返す。
【0037】
図12は、図11のステップ130における焦点検出演算処理の詳細を示すフローチャートである。ボディ駆動制御装置214は、ステップ200からこの焦点検出演算処理(相関演算処理)を開始する。
【0038】
ステップ210において、 焦点検出用画素列から出力される一対のデータ列(α1〜αM、β1〜βM:Mはデータ数)に対して(1)式に示すような高周波カットフィルター処理を施し、第1データ列(A1〜AN)と第2データ列(B1〜BN)を生成する。これにより、データ列から相関処理に悪影響を及ぼすノイズ成分や高周波成分を除去することができる。なお、演算時間の短縮を図る場合や、すでに大きくデフォーカスしていて高周波成分が少ないことがわかっている場合などには、ステップ210の処理を省略することもできる。
An=αn+2・αn+1+αn+2,
Bn=βn+2・βn+1+βn+2 ・・・(1)
(1)式において、n=1〜M−2である。
【0039】
次にステップ220において、データ列An、Bnに対して以下詳述するような相関演算を施す。データ列An、Bnは、理想的には同一データ列を相対的にシフトしたものとなるはずであるが、上述した瞳分割方式の焦点検出用画素で得られる一対のデータ列では、焦点検出用光束のケラレ(口径蝕)により、同一性が崩れる(歪みが生じる)可能性がある。
【0040】
図13は、焦点検出用光束のケラレ(口径蝕)を説明するための図である。図において、位置x0(像高0)と位置x1(像高h)にある一対の焦点検出用画素は、それぞれ予定焦点面92の前方dにある測距瞳面90において測距瞳領域93、94を通過する一対の焦点検出用光束53,54および63、64を受光するように構成されている。予定焦点面92の前方d1(<d)の面95に光学系の絞り開口96がある場合には、位置x0(像高0)にある一対の焦点検出用画素が受光する一対の焦点検出用光束53,54は、絞り開口96により光軸91に対して対称に口径蝕が発生するため、一対の焦点検出用画素が受光する光量のバランスは崩れない。
【0041】
これに対し、位置x1(像高h)にある一対の焦点検出用画素が受光する一対の焦点検出用光束63,64は、絞り開口96によって非対称に口径蝕が発生するために、一対の焦点検出用画素が受光する光量のバランスは崩れてしまう。
【0042】
図14は、予定焦点面92から光軸91の方向に測距瞳面90を見た場合の図である。焦点検出用光束64は絞り開口96により大きく口径蝕が発生しているのに対し、焦点検出用光束63は絞り開口96による口径蝕の発生が少ないことがわかる。
【0043】
図15(a)、(b)は、図13および図14の状態において位置x0(像高0)の近傍の焦点検出用画素列が受光する一対の像と、位置x1(像高h)の近傍の焦点検出用画素列が受光する一対の像の強度分布(縦軸は光量、横軸は撮影画面上の位置)を示したものである。焦点検出用光束の口径蝕のバランスがとれている場合には、図15(a)に示すように、一対の像信号400,401は同一の像信号関数が単に横方向にシフトしたものとなっている。これに対し、焦点検出用光束の口径蝕のバランスが崩れている場合には、図15(b)に示すように、一対の像信号402,403は同一の信号を相対的にシフトしたものにはならない。
【0044】
図15(b)において、互いに歪んだ関係にある像信号402、403を位置xの関数としてF(x)、G(x)で表すと、一般に(2)式に示すように近似できる。すなわち、一方の関数F(x)に対して、位置xに関して低周波なゲイン成分(1+δ・x)・Mを乗じると、もう一方の関数G(x)になる。
G(x)=(1+δ・x)・M・F(x) ・・・(2)
(2)式において、Mは固定のゲイン値であり、δ(<<1)は位置xに関する一次係数である。
【0045】
このようなケラレが発生した状態においても、一対の像データ列An、Bnに対して正確な像ズレ量を検出できる相関演算として、本出願人は特開2007−333720号公報などにおいて(3)式に示すような相関演算を提案している。
C(k)=Σ|Ai・Bi+s+k−Bi+k・Ai+s| ・・・(3)
上記(3)式において、kは一対の像データ列An、Bnの相対的なシフト値であり、C(k)はシフト値kにおける一対の像データ列An、Bnの相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間に亘って行われる。さらに、パラメータs(=1,2,3,・・)は相関演算の周波数特性などを調整するパラメータである。
【0046】
シフト値kを変化させて(3)式により相関量C(k)を求めると、一対の像データ列An、Bnの相関度が高いシフト値において相関量C(k)が極小値(理想的には0)を示すので、相関量C(k)の極小値を示すシフト値を求めることによって、一対の像データ列An、Bnの像ズレ量を検出することができる。一般的には(3)式の相関演算処理においてほとんどの場合に問題は発生しないが、(3)式は一対の像データ列An、Bnが相対的に歪んでいても像ズレ量を検出できるようにしているために、後述するような特別な場合には逆にもともと異なる関数に対しても高い相関度を算出してしまうおそれがある。
【0047】
図16(a)、(b)は、上述した誤動作が発生する場合の例であって、横軸を位置xとして互いに歪みがない関数F(x)、G(x)を示している。関数G(x)は関数F(x)を位置xの−方向にx1だけシフトした関数となっている。関数F(x)には矩形のピーク波形P1、P2、関数G(x)には矩形のピーク波形Q1、Q2がそれぞれ含まれている。ピーク波形P1とQ1、ピーク波形P2とQ2が同一の波形で対応関係にあるが、ピーク波形P2とQ2、ピーク波形P1とQ1とは値が所定倍された異なる波形となっており、ピーク波形P2(Q2)はピーク波形P1(Q1)に対し位置xの+方向に(−x1+x2)だけ離れた位置にある。
【0048】
関数F(x)のピーク波形P1を含む区間Wを一方のデータ列とし、関数G(x)を相対的にシフトしたものをもう一方のデータ列として(3)式の相関演算を適用すると、横軸をシフト値kとして算出される相関量C(k)を示すと図17(b)に示すグラフとなる。図17(b)に示すグラフにおいて、相関量C(k)の落ち込み(極小値)V1、V2に対応するシフト値k1、k2が2つのデータの相関度が高いシフト値となる。
【0049】
落ち込みV1に対応するシフト値k1は、図16(a)に示す関数F(x)のピーク波形P1と、図16(b)に示すの関数G(x)のピーク波形Q1との一致によって得られるシフト値、すなわち区間Wにおける関数F(x)を基準として関数G(x)をx1だけ右側にシフトした場合のシフト値に相当する。
【0050】
落ち込みV2に対応するシフト値k2は、図16(a)に示すの関数F(x)のピーク波形P1と、図16(b)に示すの関数G(x)のピーク波形Q2との一致によって得られるシフト値、すなわち区間Wにおける関数F(x)を基準として関数G(x)をx2だけ左側にシフトした場合のシフト値に相当する。
【0051】
落ち込みV1、V2の相関量R1、R2はほとんど同じ値となるので、どちらの落ち込みが関数F(x)とG(x)の正しい一致を示す相関量かわからない。落ち込みV2に対応するシフト値k2を2つの関数のズレ量として採用した場合には、全く間違った焦点検出結果を算出してしまうことになる。
【0052】
そこで、一対の像が図16(a)、(b)のような関数の場合に発生する誤動作を防止するために、以下のような対策を講じる。まず、(4)式に示すような自己相関演算処理を行い、真の相関と偽の相関とのシフト値の軸方向における位置関係を判別する。
C(k)=Σ|Ai−Ai+k| ・・・(4)
(4)式において、kは像データ列Anと自分自身の像データ列Anとの相対的なシフト値であり、C(k)はシフト値kにおける像データ列Anの自己相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間(区間Wに対応)に亘って行われる。
【0053】
(4)式の自己相関演算においては、データの差分の絶対値を積算する処理を行っているので、波形が完全に一致した場合には相関量が略0になり、波形に不完全に一致した場合、例えば一方の波形にゲインがかかったような場合には、相関量の落ち込みが少なくなる。
【0054】
図16(a)に示す関数F(x)のピーク波形P1を含む区間Wを基準として、(4)式の自己相関演算を関数F(x)に適用すると、横軸をシフト値kとして算出される相関量C(k)を示すと図17(a)に示すグラフとなる。
【0055】
以上が図12におけるステップ220の処理である。次に、ステップ230において、図17(a)、(b)に示す2つの相関グラフから、真の相関を示す落ち込みを以下のように決定する。図17(a)に示すグラフにおいて、相関量C(k)の落ち込みU1、U2がシフト値0、(−k1+k2)において発生するが、落ち込みU1に対応するシフト値0は、真の自己相関(ピーク波形P1どうしの相関)による落ち込みであり、その相関量の値E1も小さな値となる。一方、落ち込みU2に対応するシフト値(−k1+k2)は、偽の自己相関(ピーク波形P1とP2との相関)による落ち込みであり、その相関量の値E2は値E1に比較して大きな値となる。
【0056】
したがって、図17(a)のグラフより、(イ)落ち込みが2箇所(U1、U2)あり、(ロ)真の相関を示す落ち込みは2箇所の落ち込みの内の左側の落ち込みであり、右側の落ち込みは偽相関であり、(ハ)落ち込みU1とU2の離間量が(−k1+k2)である、という情報が得られる。これらの情報に基づいて図17(b)に示す略同等な落ち込みV1、V2の中から、2つの落ち込みの信頼性を判定して真の相関を示す落ち込みを選択する。
【0057】
図17(b)において、2箇所の落ち込みV1とV2の離間量が落ち込みU1とU2の離間量と略一致することにより、落ち込みV1、V2と落ち込みU1、U2の間に対応関係があると判断し、真の落ち込みU1に対応する落ち込みV1(2箇所の落ち込みの内の左側)を真の相関を示す落ち込みと認定し、偽の落ち込みU2に対応する落ち込みV2(2箇所の落ち込みの内の右側)を偽の相関を示す落ち込みと認定する。したがって、図16に示すような場合には、落ち込みV1に対応するシフト値k1を真のシフト値として認定する。
【0058】
以上の説明では図16(a)、(b)に示す2つの関数F(x)、G(x)が相対的にシフトした関数であったが、(2)式に示すように、一方の関数F(x)に対して位置xに関して低周波なゲイン成分を乗じた関数を他方の関数G(x)とした場合においても、(3)式の相関演算の結果は図17(b)に示すようなグラフとなるので、同様にして真のシフト値を決定することができる。
【0059】
また、以上の説明においては、相互相関関数の落ち込みが2箇所の場合について説明したが、2箇所以上の場合についても同様な処理により真のシフト値を決定することができる。
【0060】
ステップ230において、相互相関関数のグラフの落ち込みが1箇所の場合には自己相関関数のグラフとの比較処理を行うことは不要で、1箇所の落ち込みに対応するシフト値をそのまま真のシフト値とすればよい。
【0061】
ステップ240において、求めた真のシフト値を以下のようにしてデフォーカス量に変換する。相関演算式(3)で求めた相関量C(k)のグラフの真のシフト値においては、図18(a)に示すように、一対のデータの相関が高いシフト量(図18(a)ではk=kj=2)において相関量C(k)が最小(小さいほど相関度が高い)になる。(5)式〜(8)式による3点内挿の手法を用いて連続的な相関量に対する最小値C(x)を与えるシフト量xを求める。
x=kj+D/SLOP ・・・(5),
C(x)= C(kj)−|D| ・・・(6),
D={C(kj-1)−C(kj+1)}/2 ・・・(7),
SLOP=MAX{C(kj+1)−C(kj),C(kj-1)−C(kj)} ・・・(8)
【0062】
ステップ240では、(5)式で求めたシフト量xを用いて被写体像面の予定結像面に対するデフォーカス量DEFを次式により求めることができる。
DEF=KX・PY・x ・・・(9)
(9)式において、PYは検出ピッチであり、KXは一対の測距瞳の重心の開き角の大きさによって決まる変換係数である。
【0063】
算出されたデフォーカス量DEFの信頼性があるかどうかは、以下のようにして判定される。図18(b)に示すように、一対のデータの相関度が低い場合は、内挿された相関量の最小値C(x)の値が大きくなる。したがって、C(x)が所定値以上の場合は信頼性が低いと判定する。あるいは、C(x)をデータのコントラストで規格化するために、コントラストに比例した値となるSLOPでC(x)を除した値が所定値以上の場合は信頼性が低いと判定する。あるいはまた、コントラストに比例した値となるSLOPが所定値以下の場合は、被写体が低コントラストであり、算出されたデフォーカス量DEFの信頼性が低いと判定する。図18(c)に示すように、一対のデータの相関度が低く、シフト範囲kmin〜kmaxの間で相関量C(k)の落ち込みがない場合は、最小値C(x)を求めることができず、このような場合は焦点検出不能と判定する。焦点検出が可能であった場合には算出された像ズレ量に所定の変換係数を乗じてデフォーカス量を算出する。
【0064】
ステップ250で、焦点検出演算処理(相関演算処理)を終了して図11のステップ140へリターンする。
【0065】
このように、一実施の形態によれば、複数のデータが一次元上に配列された第1データ列Anと、複数のデータが一次元上に配列された第2データ列Bnとを、一次元上で変位量を変えながら第1データ列Anと第2データ列Bnとを相対的に変位させ、第1データ列Anと第2データ列Bnの間の相互相関量を演算して相互相関量の極値(相互相関量の落ち込み)が得られる第1変位量を算出する相互相関演算と、一次元上で変位量を変えながら第1データ列Anと第1データ列Anとを相対的に変位させ、第1データ列Anどうしの自己相関量を演算して自己相関量の極値(自己相関量の落ち込み)が得られる第2変位量を算出する自己相関演算と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する演算とを実行するようにした。つまり、第1変位量の数および変位量どうしの離間量と、第2変位量の数および変位量どうしの離間量とに基づいて、第1変位量と第2変位量の相対関係を算出し、自己相関量の真の極値を与える第2変位量に対応する第1変位量を相互相関量の真の極値を与える変位量として選別するようにしたので、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量(偽の相互相関を与える変位量)を排除して相互相関量の真の極値を与える変位量(真の相互相関を与える変位量)を正確に算出することができる。
【0066】
《発明の他の実施の形態》
上述した一実施の形態では、図17(a)、(b)に示す自己相関グラフと相互相関グラフの複数の落ち込み箇所の位置関係を比較することによって、真の相関の落ち込みを選択するとともに偽の相関の落ち込みを排除する手法を説明したが、自己相関グラフと相互相関グラフの間でさらに相関演算を行うことによって、真の相関の落ち込みを選択することもできる。
【0067】
図19は、図11のステップ130における焦点検出演算処理の他の実施の形態を示すフローチャートである。ボディ駆動制御装置214は、ステップ300からこの焦点検出演算処理(相関演算処理)を開始する。ステップ300〜ステップ320の処理は、上述した図12のステップ300〜ステップ320の処理と同様であり、説明を省略する。図16(a)、(b)に示すような関数に対応した一対のデータ列を仮定した場合には、ステップ320を終了した時点で自己相関関数C1(k)のグラフとして図20(a)が得られ、相互相関関数C2(k)のグラフとして図20(b)が得られる。
【0068】
ステップ330では、相互相関関数と自己相関関数の間で相関演算を実行し、演算結果より真の相関を決定する。図20(a)に示す自己相関関数C1(k)のグラフでは2箇所の落ち込みU1、U2があり、上述したように落ち込みU1が真の相関を示し、落ち込みU2が偽の相関を示している。
【0069】
図20(b)に示す相互相関関数C2(k)のグラフでは2箇所の落ち込みV1、V2があるが、このグラフからだけではどちらが真の相関でどちらが偽の相関かは識別できない。そこで、相互相関関数C2(k)の2箇所の落ち込みV1、V2を含む区間W1を基準区間に設定し、この基準区間W1の相互相関関数C2(k)に対して自己相関関数C1(k)をシフト値hだけ相対的シフトすることによって、2つの相関関数の間の相関度を算出する。
【0070】
C1(k)に対応するデータ列をC1nとし、C2(k)に対応するデータ列をC2nとすれば、上記(3)式と同様な相関演算式(10)により相関量C3(h)を求めることができる。
C3(h)=Σ|C2i・C1i+s+h−C1i+h・C2i+s| ・・・(10)
(10)式において、hは一対のデータ列C1n、C2nの相対的なシフト値であり、C3(h)はシフト値hにおける一対のデータ列C1n、C2nの相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間に亘って行われる。
【0071】
図20(c)は、シフト値hを順次変化させて求められた相関量C3(h)であり、3箇所の落ち込みY1、Y2、Y3を持つ。落ち込みY1は、自己相関関数C1(k)の落ち込みU2部分と相互相関関数C2(k)の落ち込みV1部分の一致による落ち込みであり、その相関量の値S1は比較的大きな値となる。また、落ち込みY3は、自己相関関数C1(k)の落ち込みU1部分と相互相関関数C2(k)の落ち込みV2部分の一致による落ち込みであり、その相関量の値S3は比較的大きな値となる。
【0072】
さらに、落ち込みY2は、自己相関関数C1(k)の落ち込みU1部分と相互相関関数C2(k)の落ち込みV1部分の一致、および自己相関関数C1(k)の落ち込みU2部分と相互相関関数C2(k)の落ち込みV2部分の一致による落ち込みであり、その相関量の値S2は他の落ち込みY1、Y2の相関量の値S1、S3に比較して小さな値となる。
【0073】
したがって、図20(c)に示す相関量C3(h)のグラフにおいて最も小さな相関値を示す落ち込みのシフト値h1を求めれば、その値h1は真の相関を示すシフト値と略等しくなる。このようにして求めたシフト値h1に最も近いシフト値を図20(b)に示す相関関数C2(k)より選択し、真のシフト値(図20(b)に示すシフト値k1)とする。
【0074】
ステップ340とステップ350の処理は、上述した図12のステップ340とステップ350の処理と同様であり、説明を省略する。
【0075】
以上のようにして自己相関グラフと相互相関グラフの間でさらに相関演算を行うことによって、相互相関グラフに2箇所以上の落ち込みがある場合でも、真の相関に対応する落ち込みを選択することが可能になる。
【0076】
このように、他の実施の形態によれば、複数のデータが一次元上に配列された第1データ列Anと、複数のデータが一次元上に配列された第2データ列Bnとを、一次元上で変位量を変えながら第1データ列Anと第2データ列Bnとを相対的に変位させ、第1データ列Anと第2データ列Bnの間の相互相関量を演算して相互相関量の極値(相互相関量の落ち込み)が得られる第1変位量を算出する相互相関演算と、一次元上で変位量を変えながら第1データ列Anと第1データ列Anとを相対的に変位させ、第1データ列Anどうしの自己相関量を演算して自己相関量の極値(自己相関量の落ち込み)が得られる第2変位量を算出する自己相関演算と、自己相関量と相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い第1変位量を相互相関量の真の極値を与える変位量として選別するようにしたので、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量(偽の相互相関を与える変位量)を排除して相互相関量の真の極値を与える変位量(真の相互相関を与える変位量)を正確に算出することができる。
【0077】
《一実施の形態の変形例》
撮像素子における焦点検出エリアの配置は図2に示す配置に限定されず、対角線方向や、その他の位置に水平方向および垂直方向に焦点検出エリアを配置することも可能である。
【0078】
図3に示す撮像素子212では、焦点検出用画素313、314がひとつの画素内にひとつの光電変換部を備えた例を示したが、ひとつの画素内に一対の光電変換部を備えるようにしてもよい。図21は、図3に示す撮像素子212に対応した撮像素子212Aの部分拡大図であり、焦点検出用画素311はひとつの画素内に一対の光電変換部を備える。図に示す焦点検出用画素311は、図3に示す焦点検出用画素313と焦点検出用画素314のペアに相当した機能を果たす。
【0079】
焦点検出用画素311は、図22に示すようにマイクロレンズ10と一対の光電変換部13,14から構成される。焦点検出用画素311には光量をかせぐために色フィルターは配置されておらず、その分光特性は光電変換を行うフォトダイオードの分光感度と、赤外カットフィルター(不図示)の分光特性とを総合した分光特性(図7参照)となる。つまり、図6に示す緑画素、赤画素および青画素の分光特性を加算したような分光特性となり、その感度の光波長領域は緑画素、赤画素および青画素の感度の光波長領域を包括している。
【0080】
図23は、図21に示す撮像素子212Aの焦点検出用画素による瞳分割方式の焦点検出動作を説明するための図である。図において、90は、交換レンズの予定結像面に配置されたマイクロレンズの前方dの距離に設定された射出瞳である。ここで、距離dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部の間の距離などに応じて決まる距離であって、以下では測距瞳距離と呼ぶ。91は交換レンズの光軸、50,60はマイクロレンズ、(53,54)、(63,64)は焦点検出用画素の対の光電変換部、(73,74)、(83,84)は焦点検出用光束である。
【0081】
さらに、93はマイクロレンズ50,60により投影された光電変換部53,63の領域であり、以下では測距瞳と呼ぶ。同様に、94はマイクロレンズ50,60により投影された光電変換部54,64の領域であり、以下では測距瞳と呼ぶ。図23では、光軸91上にある焦点検出用画素(マイクロレンズ50と一対の光電変換部53,54からなる)と、隣接する焦点検出用画素(マイクロレンズ60と一対の光電変換部63,64からなる)を模式的に例示しているが、撮像面上の周辺に配置された焦点検出用画素においても、一対の光電変換部はそれぞれ一対の測距瞳93,94から各マイクロレンズに到来する光束を受光する。焦点検出用画素の配列方向は一対の測距瞳の並び方向と一致させる。
【0082】
マイクロレンズ50,60は光学系の予定結像面近傍に配置されており、光軸91上に配置されたマイクロレンズ50によって、その背後に配置された一対の光電変換部53,54の形状がマイクロレンズ50,60から測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。また、マイクロレンズ50に隣接して配置されたマイクロレンズ60によって、その背後に配置された一対の光電変換部63,64の形状が測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。すなわち、測距瞳距離dにある射出瞳90上で各焦点検出用画素の光電変換部の投影形状(測距瞳93,94)が一致するように、各画素のマイクロレンズと光電変換部の位置関係が決定されている。
【0083】
光電変換部53は、測距瞳93を通過してマイクロレンズ50へ向う焦点検出用光束73によってマイクロレンズ50上に形成される像の強度に対応した信号を出力する。また、光電変換部54は、測距瞳94を通過してマイクロレンズ50へ向う焦点検出用光束74によってマイクロレンズ50上に形成される像の強度に対応した信号を出力する。同様に、光電変換部63は、測距瞳93を通過してマイクロレンズ60へ向う焦点検出用光束83によってマイクロレンズ60上に形成される像の強度に対応した信号を出力する。また、光電変換部64は、測距瞳94を通過してマイクロレンズ60へ向う焦点検出用光束84によってマイクロレンズ60上に形成される像の強度に対応した信号を出力する。
【0084】
このような焦点検出用画素を直線状に多数配置し、各画素の一対の光電変換部の出力を測距瞳93および測距瞳94に対応した出力グループにまとめることによって、測距瞳93と測距瞳94を各々通過する焦点検出用光束が焦点検出用画素列上に形成する一対の像の強度分布に関する情報が得られる。この情報に対して後述する像ズレ検出演算処理(相関演算処理、位相差検出処理)を施すことによって、いわゆる瞳分割方式で一対の像の像ズレ量が検出される。さらに、像ズレ量に所定の変換処理を施すことによって、予定結像面に対する現在の結像面(予定結像面上のマイクロレンズアレイの位置に対応した焦点検出位置における結像面)の偏差(デフォーカス量)が算出される。
【0085】
次に、図3に示す撮像素子212では撮像用画素310がベイヤー配列の色フィルターを備えた例を示したが、色フィルターの構成や配列はこれに限定されることはなく、補色フィルター(緑:G、イエロー:Ye、マゼンタ:Mg,シアン:Cy)の配列を採用してもよい。また、図3に示す撮像素子212では焦点検出用画素313、314に色フィルターを設けない例を示したが、撮像用画素310と同色の色フィルターの内のひとつのフィルター(例えば緑フィルター)を設けるようにした場合でも、本発明を適用することができる。
【0086】
また、上述した一実施の形態の図5、図22に示す焦点検出用画素311、313、314では、光電変換部の形状を半円形や矩形にした例を示したが、焦点検出用画素の光電変換部の形状はこれらに限定されず、他の形状であってもよい。例えば焦点検出用画素の光電変換部の形状を楕円や多角形にすることも可能である。
【0087】
さらに、図3に示す撮像素子212では、撮像用画素と焦点検出用画素を稠密正方格子配列に配置した例を示したが、稠密六方格子配列としてもよい。
【0088】
上述した一実施の形態ではマイクロレンズを用いた瞳分割方式による焦点検出動作を説明したが、本発明はこのような方式の焦点検出に限定されず、特開2008−15157に開示された偏光素子による瞳分割型位相差検出方式の焦点検出装置にも適用可能である。
【0089】
上述した一実施の形態では、マイクロレンズを用いた瞳分割方式による焦点検出動作を説明したが、本発明はこのような方式の焦点検出に限定されず、再結像瞳分割方式の焦点検出にも適用可能である。ここで、図24を参照して再結像瞳分割方式の焦点検出動作を説明する。図24において、191は交換レンズの光軸、110,120はコンデンサレンズ、111、121は絞りマスク、112,113、122,123は絞り開口、114、115、124,125は再結像レンズ、116、126は焦点検出用のイメージセンサー(CCD)である。
【0090】
また、132,133、142,143は焦点検出用光束、190は交換レンズの予定結像面の前方d5の距離に設定された射出瞳である。ここで、距離d5は、コンデンサレンズ110,120の焦点距離と、コンデンサレンズ110,120と絞り開口112,113、122,123との間の距離などに応じて決まる距離であって、以下では測距瞳距離と呼ぶ。192は、コンデンサレンズ110,120により投影された絞り開口112,122の領域であり、以下では測距瞳と呼ぶ。同様に、193は、コンデンサレンズ110,120により投影された絞り開口113,123の領域であり、以下では測距瞳と呼ぶ。コンデンサレンズ110、絞りマスク111、絞り開口112,113、再結像レンズ114、115およびイメージセンサー116が、一つの位置で焦点検出を行う再結像方式の瞳分割方位相差検出の焦点検出ユニットを構成する。
【0091】
図24においては、光軸191上にある焦点検出ユニットと光軸外にある焦点検出ユニットとを模式的に例示している。複数の焦点検出ユニットを組み合わせることによって、図2に示す3箇所の焦点検出位置101〜103において再結像方式の瞳分割位相差検出で焦点検出を行う焦点検出装置を実現することができる。
【0092】
コンデンサレンズ110からなる焦点検出ユニットは、交換レンズの予定結像面近傍に配置されたコンデンサレンズ110、その背後に配置されたイメージサンサ116、コンデンサレンズ110とイメージサンサ116との間に配置され、予定結像面近傍に結像された1次像をイメージセンサー116上に再結像する一対の再結像レンズ114、115、一対の再結像レンズの近傍(図では前面)に配置された一対の絞り開口112、113を有する絞りマスク11から構成される。
【0093】
イメージセンサー116は、複数の光電変換部が直線に沿って密に配置されたラインサンサであり、光電変換部の配置方向は一対の測距瞳の分割方向(=絞り開口の並び方向)と一致させる。このイメージセンサー116からは、イメージセンサー116上に再結像された一対の像の強度分布に対応した情報が出力され、この情報に対して後述する像ズレ検出演算処理(相関処理、位相差検出処理)を施すことによって、いわゆる瞳分割型位相差検出方式(再結像方式)で一対の像の像ズレ量が検出される。さらに、像ズレ量に所定の変換係数を乗ずることによって、予定結像面に対する現在の結像面の偏差(デフォーカス量)が算出される。
【0094】
イメージセンサー116は再結像レンズ114、115により予定結像面上に投影されており、デフォーカス量(像ズレ量)の検出精度は、像ズレ量の検出ピッチ(再結像方式の場合は予定結像面上に投影された光電変換部の配列ピッチ)により決まる。
【0095】
コンデンサレンズ110は、絞りマスク111の絞り開口112、113を射出瞳190上に領域192、193として投影している。領域192,193を測距瞳と呼ぶ。すなわち、イメージセンサー116上に再結像される一対の像は射出瞳190上の一対の測距瞳192,193を通過する光束によって形成される。射出瞳190上の一対の測距瞳192,193を通過する光束132、133を焦点検出用光束と呼ぶ。
【0096】
このような再結像瞳分割方式においても、測距瞳の口径蝕によってイメージセンサー上に形成される一対の像のバランス崩れが生ずるので、イメージセンサーの出力信号を処理する際に本発明を適用することができる。
【0097】
なお、撮像装置としては、上述したようなカメラボディに交換レンズが装着される構成のデジタルスチルカメラやフィルムスチルカメラに限定されない。例えばレンズ一体型のデジタルスチルカメラ、フィルムスチルカメラ、あるいはビデオカメラにも本発明を適用することができる。さらには、携帯電話などに内蔵される小型カメラモジュール、監視カメラやロボット用の視覚認識装置、車載カメラなどにも適用できる。
【0098】
また、本発明は、カメラ以外の焦点検出装置や測距装置、さらにはステレオ測距装置にも適用できる。さらに、時間が異なるイメージセンサーの信号間の相関を検出して被写体像の動きやカメラのブレを検出する装置にも適用できる。さらにまた、イメージセンサーの画像信号と特定の画像信号のパターンマッチングにも適用できる。
【0099】
さらに、本発明は、画像信号データの相関を検出するものに限定されず、音に関するデータの相関やその他一般に2つの信号の相関を検出するものにも適用することができる。
【0100】
なお、上述した実施の形態とそれらの変形例において、実施の形態どうし、または実施の形態と変形例とのあらゆる組み合わせが可能である。
【図面の簡単な説明】
【0101】
【図1】一実施の形態のカメラの構成を示すカメラの横断面図
【図2】交換レンズの撮影画面上における焦点検出位置を示す図
【図3】撮像素子の詳細な構成を示す正面図
【図4】撮像用画素の正面図
【図5】焦点検出用画素の正面図
【図6】撮像用画素の分光特性を示す図
【図7】焦点検出用画素の分光特性を示す図
【図8】撮像用画素の断面図
【図9】焦点検出用画素の断面図
【図10】マイクロレンズを用いた瞳分割型位相差検出方式の焦点検出光学系の構成を示す図
【図11】一実施の形態のデジタルスチルカメラ(撮像装置)の撮像動作を示すフローチャート
【図12】図11のステップ130における焦点検出演算処理の詳細を示すフローチャート
【図13】焦点検出用光束のケラレ(口径蝕)を説明するための図
【図14】予定焦点面から光軸の方向に測距瞳面を見た場合の図
【図15】図13および図14の状態において位置x0(像高0)の近傍の焦点検出用画素列が受光する一対の像と、位置x1(像高h)の近傍の焦点検出用画素列が受光する一対の像の強度分布(縦軸は光量、横軸は撮影画面上の位置)を示す図
【図16】互いに異なる二つのデータ列に対して高い相関度を算出する誤動作を説明するための図
【図17】互いに異なる二つのデータ列に対する一実施の形態の相関演算方法を説明するための図
【図18】焦点検出結果の信頼性判定方法を説明するための図
【図19】図11のステップ130における焦点検出演算処理の他の実施の形態を示すフローチャート
【図20】互いに異なる二つのデータ列に対する他の実施の形態の相関演算方法を説明するための図
【図21】変形例の撮像素子の部分拡大図
【図22】図21に示す変形例の撮像素子に配列される焦点検出用画素の正面図
【図23】図21に示す変形例の撮像素子の焦点検出用画素による瞳分割方式の焦点検出動作を説明するための図
【図24】再結像瞳分割方式の焦点検出動作を説明するための図
【符号の説明】
【0102】
201;デジタルスチルカメラ、202;交換レンズ、212、212A;撮像素子、214;ボディ駆動制御装置
【技術分野】
【0001】
本発明は相関演算方法、相関演算装置、焦点検出装置、撮像装置および相関演算プログラムに関する。
【背景技術】
【0002】
相対的に歪みが生じた一対の物体像に対応した一対のデータ列間の相対的な変位量(像ズレ量、シフト量)を算出する焦点検出装置が知られている(例えば、特許文献1参照)。
この装置では、一対のデータ列{A1,A2,A3,・・}、{B1,B2,B3,・・}に対して、シフト量kを変えながら一対のデータ列間のデータどうしの乗算を含む相関演算式を用いて相関量C(k)を算出し、相関量C(k)の極値を示す一対のデータ列間の変位量を算出している。
【0003】
この出願の発明に関連する先行技術文献としては次のものがある。
【特許文献1】特開2007−333720号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の焦点検出装置では、相関量C(k)を算出する相関演算において、相対的に歪みが生じた一対の物体像に対しても相対的な変位量を検出可能な特性を備えているために、もともと異なる一対のデータに対しても高い相関度を示す相関量(偽の相関量)を算出する場合がある。
【課題を解決するための手段】
【0005】
(1) 請求項1の発明は、複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら第1データ列と第2データ列とを相対的に変位させ、第1データ列と第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算と、一次元上で変位量を変えながら第1データ列と第1データ列とを相対的に変位させ、第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する第3演算とを実行する相関演算方法である。
(2) 請求項2の発明は、請求項1に記載の相関演算方法において、第3演算は、第1変位量の数および変位量どうしの離間量と、第2変位量の数および変位量どうしの離間量とに基づいて、第1変位量と第2変位量の相対関係を算出し、自己相関量の真の極値を与える第2変位量に対応する第1変位量を相互相関量の真の極値を与える変位量として選別する。
(3) 請求項3の発明は、請求項1に記載の相関演算方法において、第3演算は、自己相関量と相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い第1変位量を相互相関量の真の極値を与える変位量として選別する。
(4) 請求項4の発明は、請求項1〜3のいずれか一項に記載の相関演算方法において、第1演算は、第1データ列を一次元上の位置xの関数F(x)とし、第2データ列を一次元上の位置xの関数G(x)とした場合に、G(x)=(1+δx)・M・F(x) (δとMは定数)の関係がある第1データ列と第2データ列との間の相互相関量を演算可能な相関演算である。
(5) 請求項5の発明は、請求項1〜4のいずれか一項に記載の相関演算方法により、第1データ列と第2データ列との間の相互相関量の真の極値を与える変位量を演算する相関演算装置である。
(6) 請求項6の発明は、結像光学系を通る一対の光束を受光し、この一対の光束が結像光学系の予定焦点面上に形成する一対の像に対応する一対の第1データ列と第2データ列を生成するデータ列生成手段と、第1データ列と第2データ列との間の相互相関量の真の極値が得られる変位量を算出する請求項9に記載の相関演算装置と、変位量に基づいて結像光学系の焦点調節状態を検出する焦点検出手段とを備える焦点検出装置である。
(7) 請求項7の発明は、請求項6に記載の焦点検出装置を備える撮像装置である。
(8) 請求項8の発明は、請求項1〜4のいずれか一項に記載の相関演算方法をコンピューターに実行させる相関演算プログラムである。
【発明の効果】
【0006】
本発明によれば、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量を排除して相互相関量の真の極値を与える変位量を正確に算出することができる。
【発明を実施するための最良の形態】
【0007】
本発明の一実施の形態としてレンズ交換式デジタルスチルカメラを例に挙げて説明する。図1は一実施の形態のカメラの構成を示すカメラの横断面図である。一実施の形態のデジタルスチルカメラ201は交換レンズ202とカメラボディ203から構成され、交換レンズ202がマウント部204を介してカメラボディ203に装着される。カメラボディ203にはマウント部204を介して種々の撮影光学系を有する交換レンズ202が装着可能である。
【0008】
交換レンズ202はレンズ209、ズーミング用レンズ208、フォーカシング用レンズ210、絞り211、レンズ駆動制御装置206などを備えている。レンズ駆動制御装置206は不図示のマイクロコンピューター、メモリ、駆動制御回路などから構成され、フォーカシング用レンズ210の焦点調節と絞り211の開口径調節のための駆動制御や、ズーミング用レンズ208、フォーカシング用レンズ210および絞り211の状態検出などを行う他、後述するボディ駆動制御装置214との通信によりレンズ情報の送信とカメラ情報の受信を行う。絞り211は、光量およびボケ量調整のために光軸中心に開口径が可変な開口を形成する。
【0009】
カメラボディ203は撮像素子212、ボディ駆動制御装置214、液晶表示素子駆動回路215、液晶表示素子216、接眼レンズ217、メモリカード219などを備えている。撮像素子212には、撮像用画素が二次元状に配置されるとともに、焦点検出位置に対応した部分に焦点検出用画素が組み込まれている。この撮像素子212については詳細を後述する。
【0010】
ボディ駆動制御装置214はマイクロコンピューター、メモリ、駆動制御回路などから構成され、撮像素子212の駆動制御と画像信号および焦点検出信号の読み出しと、焦点検出信号に基づく焦点検出演算と交換レンズ202の焦点調節を繰り返し行うとともに、画像信号の処理と記録、カメラの動作制御などを行う。また、ボディ駆動制御装置214は電気接点213を介してレンズ駆動制御装置206と通信を行い、レンズ情報の受信とカメラ情報(デフォーカス量や絞り値など)の送信を行う。
【0011】
液晶表示素子216は電気的なビューファインダー(EVF:Electronic View Finder)として機能する。液晶表示素子駆動回路215は撮像素子212によるスルー画像を液晶表示素子216に表示し、撮影者は接眼レンズ217を介してスルー画像を観察することができる。メモリカード219は、撮像素子212により撮像された画像を記憶する画像ストレージである。
【0012】
交換レンズ202を通過した光束により、撮像素子212の受光面上に被写体像が形成される。この被写体像は撮像素子212により光電変換され、画像信号と焦点検出信号がボディ駆動制御装置214へ送られる。
【0013】
ボディ駆動制御装置214は、撮像素子212の焦点検出用画素からの焦点検出信号に基づいてデフォーカス量を算出し、このデフォーカス量をレンズ駆動制御装置206へ送る。また、ボディ駆動制御装置214は撮像素子212からの画像信号を処理して画像を生成し、メモリカード219に格納するとともに、撮像素子212からのスルー画像信号を液晶表示素子駆動回路215へ送り、スルー画像を液晶表示素子216に表示させる。さらに、ボディ駆動制御装置214はレンズ駆動制御装置206へ絞り制御情報を送って絞り211の開口制御を行う。
【0014】
レンズ駆動制御装置206は、フォーカシング状態、ズーミング状態、絞り設定状態、絞り開放F値などに応じてレンズ情報を更新する。具体的には、ズーミング用レンズ208とフォーカシング用レンズ210の位置と絞り211の絞り値を検出し、これらのレンズ位置と絞り値に応じてレンズ情報を演算したり、あるいは予め用意されたルックアップテーブルからレンズ位置と絞り値に応じたレンズ情報を選択する。
【0015】
レンズ駆動制御装置206は、受信したデフォーカス量に基づいてレンズ駆動量を算出し、レンズ駆動量に応じてフォーカシング用レンズ210を合焦位置へ駆動する。また、レンズ駆動制御装置206は受信した絞り値に応じて絞り211を駆動する。
【0016】
図2は、交換レンズ202の撮影画面上における焦点検出位置を示す図であり、後述する撮像素子212上の焦点検出用画素列が焦点検出の際に撮影画面上で像をサンプリングする領域(焦点検出エリア、焦点検出位置)の一例を示す。この例では、矩形の撮影画面100上の中央および上下の3箇所に焦点検出エリア101〜103が配置される。長方形で示す焦点検出エリアの長手方向に、焦点検出用画素が直線的に配列される。
【0017】
図3は撮像素子212の詳細な構成を示す正面図であり、撮像素子212上の焦点検出エリア101の近傍を拡大して示す。撮像素子212には撮像用画素310が二次元正方格子状に稠密に配列されるとともに、焦点検出エリア101に対応する位置には焦点検出用の焦点検出用画素313、314が垂直方向の直線上に隣接して交互に配列される。なお、図示を省略するが、焦点検出エリア102、103の近傍の構成も図3に示す構成と同様である。
【0018】
撮像用画素310は、図4に示すようにマイクロレンズ10、光電変換部11、および色フィルター(不図示)とを有している。色フィルターは赤(R)、緑(G)、青(B)の3種類からなり、それぞれの分光感度は図6に示す特性になっている。撮像素子212には、各色フィルターを備えた撮像用画素310がベイヤー配列されている。
【0019】
焦点検出用画素313は、図5(a)に示すようにマイクロレンズ10と光電変換部13とを有しており、光電変換部13の形状は半円形である。また、焦点検出用画素314は、図5(b)に示すようにマイクロレンズ10と光電変換部14とを有しており、光電変換部14の形状は半円形である。焦点検出用画素313と焦点検出用画素314は垂直方向の焦点検出に用いるものであり、光電変換部13、14は画素の上部または下部に配置される。焦点検出用画素313と焦点検出用画素314は、焦点検出エリア101〜103において垂直方向(光電変換部13と14の並び方向)に交互に配置される。
【0020】
焦点検出用画素313、314には光量を増大させるために色フィルターが設けられておらず、その分光特性は光電変換を行うフォトダイオードの分光感度と、赤外カットフィルター(不図示)の分光特性とを総合した分光特性(図7参照)となる。つまり、図6に示す緑画素、赤画素および青画素の分光特性を加算したような分光特性となり、その感度の光波長領域は緑画素、赤画素および青画素の感度の光波長領域を包括している。
【0021】
焦点検出用の焦点検出用画素313、314は、撮像用画素310のBとGが配置されるべき列に配置されている。焦点検出用の焦点検出用画素313、314が、撮像用画素310のBとGが配置されるべき列に配置されているのは、画素補間処理において補間誤差が生じた場合に、人間の視覚特性上、赤画素の補間誤差に比較して青画素の補間誤差が目立たないためである。
【0022】
撮像用画素310の光電変換部11は、マイクロレンズ10によって最も明るい交換レンズの射出瞳径(例えばF1.0)を通過する光束をすべて受光するような形状に設計される。また、焦点検出用画素313、314の光電変換部13、14は、マイクロレンズ10によって交換レンズの射出瞳の所定の領域(例えばF2.8)を通過する光束をすべて受光するような形状に設計される。
【0023】
図8は撮像用画素310の断面図である。撮像用画素310では撮像用の光電変換部11の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部11の形状が前方に投影される。光電変換部11は半導体回路基板29上に形成される。なお、不図示の色フィルターはマイクロレンズ10と光電変換部11の中間に配置される。
【0024】
図9(a)は焦点検出用画素313の断面図である。画面中央の焦点検出エリア101に配置された焦点検出用画素313において、光電変換部13の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部13の形状が前方に投影される。光電変換部13は半導体回路基板29上に形成されるとともに、その上にマイクロレンズ10が半導体イメージセンサーの製造工程により一体的かつ固定的に形成される。なお、画面上下の焦点検出エリア102、103に配置された焦点検出用画素313の断面構造についても、図9(a)に示す断面構造と同様である。
【0025】
図9(b)は焦点検出用画素314の断面図である。画面中央の焦点検出エリア101に配置された焦点検出用画素314において、光電変換部14の前方にマイクロレンズ10が配置され、マイクロレンズ10により光電変換部14の形状が前方に投影される。光電変換部14は半導体回路基板29上に形成されるとともに、その上にマイクロレンズ10が半導体イメージセンサーの製造工程により一体的かつ固定的に形成される。なお、画面上下の焦点検出エリア102、103に配置された焦点検出用画素314の断面構造についても、図9(b)に示す断面構造と同様である。
【0026】
図10は、マイクロレンズを用いた瞳分割型位相差検出方式の焦点検出光学系の構成を示す。なお、焦点検出用画素の部分は拡大して示す。図において、90は、交換レンズ202(図1参照)の予定結像面に配置されたマイクロレンズから前方dの距離に設定された射出瞳である。この距離dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部との間の距離などに応じて決まる距離であって、この明細書では測距瞳距離と呼ぶ。91は交換レンズの光軸、10a〜10dはマイクロレンズ、13a、13b、14a、14bは光電変換部、313a、313b、314a、314bは焦点検出用画素、73,74、83,84は焦点検出用光束である。
【0027】
また、93は、マイクロレンズ10a、10cにより投影された光電変換部13a、13bの領域であり、この明細書では測距瞳と呼ぶ。図10では、説明を解りやすくするために楕円形の領域で示しているが、実際には光電変換部の形状が拡大投影された形状になる。同様に、94は、マイクロレンズ10b、10dにより投影された光電変換部14a、14bの領域であり、この明細書では測距瞳と呼ぶ。図10では、説明を解りやすくするために楕円形の領域で示しているが、実際には光電変換部の形状が拡大投影された形状になる。
【0028】
図10では、撮影光軸に隣接する4つの焦点検出用画素313a、313b、314a、314bを模式的に例示しているが、焦点検出エリア101のその他の焦点検出用画素においても、また画面周辺部の焦点検出エリア102、103の焦点検出用画素においても、光電変換部はそれぞれ対応した測距瞳93、94から各マイクロレンズに到来する光束を受光するように構成されている。焦点検出用画素の配列方向は一対の測距瞳の並び方向、すなわち一対の光電変換部の並び方向と一致させる。
【0029】
マイクロレンズ10a〜10dは交換レンズ202(図1参照)の予定結像面近傍に配置されており、マイクロレンズ10a〜10dによりその背後に配置された光電変換部13a、13b、14a、14bの形状がマイクロレンズ10a〜10cから測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。すなわち、投影距離dにある射出瞳90上で各焦点検出用画素の光電変換部の投影形状(測距瞳93,94)が一致するように、各焦点検出用画素におけるマイクロレンズと光電変換部の相対的位置関係が定められ、それにより各焦点検出用画素における光電変換部の投影方向が決定されている。
【0030】
光電変換部13aは測距瞳93を通過し、マイクロレンズ10aに向う光束73によりマイクロレンズ10a上に形成される像の強度に対応した信号を出力する。同様に、光電変換部13bは測距瞳93を通過し、マイクロレンズ10cに向う光束83によりマイクロレンズ10c上に形成される像の強度に対応した信号を出力する。また、光電変換部14aは測距瞳94を通過し、マイクロレンズ10bに向う光束74によりマイクロレンズ10b上に形成される像の強度に対応した信号を出力する。同様に、光電変換部14bは測距瞳94を通過し、マイクロレンズ10dに向う光束84によりマイクロレンズ10d上に形成される像の強度に対応した信号を出力する。
【0031】
上述した2種類の焦点検出用画素を直線状に多数配置し、各画素の光電変換部の出力を測距瞳93および測距瞳94に対応した出力グループにまとめることによって、測距瞳93と測距瞳94をそれぞれ通過する焦点検出用光束が画素列上に形成する一対の像の強度分布に関する情報が得られる。この情報に対して後述する像ズレ検出演算処理(相関演算処理、位相差検出処理)を施すことによって、いわゆる瞳分割型位相差検出方式で一対の像の像ズレ量が検出される。さらに、像ズレ量に一対の測距瞳の重心間隔に応じた変換演算を行うことによって、予定結像面に対する現在の結像面(予定結像面上のマイクロレンズアレイの位置に対応した焦点検出位置における結像面)の偏差(デフォーカス量)が算出される。
【0032】
図11は、一実施の形態のデジタルスチルカメラ(撮像装置)の撮像動作を示すフローチャートである。ボディ駆動制御装置214は、ステップ100でカメラの電源がオンされると、ステップ110以降の撮像動作を開始する。ステップ110において撮像用画素のデータを間引き読み出しし、電子ビューファインダーに表示させる。続くステップ120では焦点検出用画素列から一対の像に対応した一対の像データを読み出す。なお、焦点検出エリアは、撮影者が焦点検出エリア選択部材(不図示)を用いて焦点検出エリア101〜103の内のいずれかを予め選択しているものとする。
【0033】
ステップ130では読み出された一対の像データに基づいて後述する像ズレ検出演算処理(相関演算処理)を行い、像ズレ量を演算してデフォーカス量に変換する。ステップ140で合焦近傍か否か、すなわち算出されたデフォーカス量の絶対値が所定値以内であるか否かを調べる。合焦近傍でないと判定された場合はステップ150へ進み、デフォーカス量をレンズ駆動制御装置206へ送信し、交換レンズ202のフォーカシングレンズ210を合焦位置に駆動させる。その後、ステップ110へ戻って上述した動作を繰り返す。
【0034】
なお、焦点検出不能な場合もこのステップに分岐し、レンズ駆動制御装置206へスキャン駆動命令を送信し、交換レンズ202のフォーカシングレンズ210を無限から至近までの間でスキャン駆動させる。その後、ステップ110へ戻って上述した動作を繰り返す。
【0035】
ステップ140で合焦近傍であると判定された場合はステップ160へ進み、シャッターボタン(不図示)の操作によりシャッターレリーズがなされたか否かを判別する。シャッターレリーズがなされていないと判定された場合はステップ110へ戻り、上述した動作を繰り返す。一方、シャッターレリーズがなされたと判定された場合はステップ170へ進み、レンズ駆動制御装置206へ絞り調整命令を送信し、交換レンズ202の絞り値を制御F値(撮影者または自動により設定されたF値)にする。絞り制御が終了した時点で撮像素子212に撮像動作を行わせ、撮像素子212の撮像用画素310および全ての焦点検出用画素313,314から画像データを読み出す。
【0036】
ステップ180において、焦点検出用画素列の各画素位置の画素データを焦点検出用画素の周囲の撮像用画素のデータに基づいて画素補間する。続くステップ190では、撮像用画素のデータおよび補間されたデータからなる画像データをメモリーカード219に記憶し、ステップ110へ戻って上述した動作を繰り返す。
【0037】
図12は、図11のステップ130における焦点検出演算処理の詳細を示すフローチャートである。ボディ駆動制御装置214は、ステップ200からこの焦点検出演算処理(相関演算処理)を開始する。
【0038】
ステップ210において、 焦点検出用画素列から出力される一対のデータ列(α1〜αM、β1〜βM:Mはデータ数)に対して(1)式に示すような高周波カットフィルター処理を施し、第1データ列(A1〜AN)と第2データ列(B1〜BN)を生成する。これにより、データ列から相関処理に悪影響を及ぼすノイズ成分や高周波成分を除去することができる。なお、演算時間の短縮を図る場合や、すでに大きくデフォーカスしていて高周波成分が少ないことがわかっている場合などには、ステップ210の処理を省略することもできる。
An=αn+2・αn+1+αn+2,
Bn=βn+2・βn+1+βn+2 ・・・(1)
(1)式において、n=1〜M−2である。
【0039】
次にステップ220において、データ列An、Bnに対して以下詳述するような相関演算を施す。データ列An、Bnは、理想的には同一データ列を相対的にシフトしたものとなるはずであるが、上述した瞳分割方式の焦点検出用画素で得られる一対のデータ列では、焦点検出用光束のケラレ(口径蝕)により、同一性が崩れる(歪みが生じる)可能性がある。
【0040】
図13は、焦点検出用光束のケラレ(口径蝕)を説明するための図である。図において、位置x0(像高0)と位置x1(像高h)にある一対の焦点検出用画素は、それぞれ予定焦点面92の前方dにある測距瞳面90において測距瞳領域93、94を通過する一対の焦点検出用光束53,54および63、64を受光するように構成されている。予定焦点面92の前方d1(<d)の面95に光学系の絞り開口96がある場合には、位置x0(像高0)にある一対の焦点検出用画素が受光する一対の焦点検出用光束53,54は、絞り開口96により光軸91に対して対称に口径蝕が発生するため、一対の焦点検出用画素が受光する光量のバランスは崩れない。
【0041】
これに対し、位置x1(像高h)にある一対の焦点検出用画素が受光する一対の焦点検出用光束63,64は、絞り開口96によって非対称に口径蝕が発生するために、一対の焦点検出用画素が受光する光量のバランスは崩れてしまう。
【0042】
図14は、予定焦点面92から光軸91の方向に測距瞳面90を見た場合の図である。焦点検出用光束64は絞り開口96により大きく口径蝕が発生しているのに対し、焦点検出用光束63は絞り開口96による口径蝕の発生が少ないことがわかる。
【0043】
図15(a)、(b)は、図13および図14の状態において位置x0(像高0)の近傍の焦点検出用画素列が受光する一対の像と、位置x1(像高h)の近傍の焦点検出用画素列が受光する一対の像の強度分布(縦軸は光量、横軸は撮影画面上の位置)を示したものである。焦点検出用光束の口径蝕のバランスがとれている場合には、図15(a)に示すように、一対の像信号400,401は同一の像信号関数が単に横方向にシフトしたものとなっている。これに対し、焦点検出用光束の口径蝕のバランスが崩れている場合には、図15(b)に示すように、一対の像信号402,403は同一の信号を相対的にシフトしたものにはならない。
【0044】
図15(b)において、互いに歪んだ関係にある像信号402、403を位置xの関数としてF(x)、G(x)で表すと、一般に(2)式に示すように近似できる。すなわち、一方の関数F(x)に対して、位置xに関して低周波なゲイン成分(1+δ・x)・Mを乗じると、もう一方の関数G(x)になる。
G(x)=(1+δ・x)・M・F(x) ・・・(2)
(2)式において、Mは固定のゲイン値であり、δ(<<1)は位置xに関する一次係数である。
【0045】
このようなケラレが発生した状態においても、一対の像データ列An、Bnに対して正確な像ズレ量を検出できる相関演算として、本出願人は特開2007−333720号公報などにおいて(3)式に示すような相関演算を提案している。
C(k)=Σ|Ai・Bi+s+k−Bi+k・Ai+s| ・・・(3)
上記(3)式において、kは一対の像データ列An、Bnの相対的なシフト値であり、C(k)はシフト値kにおける一対の像データ列An、Bnの相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間に亘って行われる。さらに、パラメータs(=1,2,3,・・)は相関演算の周波数特性などを調整するパラメータである。
【0046】
シフト値kを変化させて(3)式により相関量C(k)を求めると、一対の像データ列An、Bnの相関度が高いシフト値において相関量C(k)が極小値(理想的には0)を示すので、相関量C(k)の極小値を示すシフト値を求めることによって、一対の像データ列An、Bnの像ズレ量を検出することができる。一般的には(3)式の相関演算処理においてほとんどの場合に問題は発生しないが、(3)式は一対の像データ列An、Bnが相対的に歪んでいても像ズレ量を検出できるようにしているために、後述するような特別な場合には逆にもともと異なる関数に対しても高い相関度を算出してしまうおそれがある。
【0047】
図16(a)、(b)は、上述した誤動作が発生する場合の例であって、横軸を位置xとして互いに歪みがない関数F(x)、G(x)を示している。関数G(x)は関数F(x)を位置xの−方向にx1だけシフトした関数となっている。関数F(x)には矩形のピーク波形P1、P2、関数G(x)には矩形のピーク波形Q1、Q2がそれぞれ含まれている。ピーク波形P1とQ1、ピーク波形P2とQ2が同一の波形で対応関係にあるが、ピーク波形P2とQ2、ピーク波形P1とQ1とは値が所定倍された異なる波形となっており、ピーク波形P2(Q2)はピーク波形P1(Q1)に対し位置xの+方向に(−x1+x2)だけ離れた位置にある。
【0048】
関数F(x)のピーク波形P1を含む区間Wを一方のデータ列とし、関数G(x)を相対的にシフトしたものをもう一方のデータ列として(3)式の相関演算を適用すると、横軸をシフト値kとして算出される相関量C(k)を示すと図17(b)に示すグラフとなる。図17(b)に示すグラフにおいて、相関量C(k)の落ち込み(極小値)V1、V2に対応するシフト値k1、k2が2つのデータの相関度が高いシフト値となる。
【0049】
落ち込みV1に対応するシフト値k1は、図16(a)に示す関数F(x)のピーク波形P1と、図16(b)に示すの関数G(x)のピーク波形Q1との一致によって得られるシフト値、すなわち区間Wにおける関数F(x)を基準として関数G(x)をx1だけ右側にシフトした場合のシフト値に相当する。
【0050】
落ち込みV2に対応するシフト値k2は、図16(a)に示すの関数F(x)のピーク波形P1と、図16(b)に示すの関数G(x)のピーク波形Q2との一致によって得られるシフト値、すなわち区間Wにおける関数F(x)を基準として関数G(x)をx2だけ左側にシフトした場合のシフト値に相当する。
【0051】
落ち込みV1、V2の相関量R1、R2はほとんど同じ値となるので、どちらの落ち込みが関数F(x)とG(x)の正しい一致を示す相関量かわからない。落ち込みV2に対応するシフト値k2を2つの関数のズレ量として採用した場合には、全く間違った焦点検出結果を算出してしまうことになる。
【0052】
そこで、一対の像が図16(a)、(b)のような関数の場合に発生する誤動作を防止するために、以下のような対策を講じる。まず、(4)式に示すような自己相関演算処理を行い、真の相関と偽の相関とのシフト値の軸方向における位置関係を判別する。
C(k)=Σ|Ai−Ai+k| ・・・(4)
(4)式において、kは像データ列Anと自分自身の像データ列Anとの相対的なシフト値であり、C(k)はシフト値kにおける像データ列Anの自己相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間(区間Wに対応)に亘って行われる。
【0053】
(4)式の自己相関演算においては、データの差分の絶対値を積算する処理を行っているので、波形が完全に一致した場合には相関量が略0になり、波形に不完全に一致した場合、例えば一方の波形にゲインがかかったような場合には、相関量の落ち込みが少なくなる。
【0054】
図16(a)に示す関数F(x)のピーク波形P1を含む区間Wを基準として、(4)式の自己相関演算を関数F(x)に適用すると、横軸をシフト値kとして算出される相関量C(k)を示すと図17(a)に示すグラフとなる。
【0055】
以上が図12におけるステップ220の処理である。次に、ステップ230において、図17(a)、(b)に示す2つの相関グラフから、真の相関を示す落ち込みを以下のように決定する。図17(a)に示すグラフにおいて、相関量C(k)の落ち込みU1、U2がシフト値0、(−k1+k2)において発生するが、落ち込みU1に対応するシフト値0は、真の自己相関(ピーク波形P1どうしの相関)による落ち込みであり、その相関量の値E1も小さな値となる。一方、落ち込みU2に対応するシフト値(−k1+k2)は、偽の自己相関(ピーク波形P1とP2との相関)による落ち込みであり、その相関量の値E2は値E1に比較して大きな値となる。
【0056】
したがって、図17(a)のグラフより、(イ)落ち込みが2箇所(U1、U2)あり、(ロ)真の相関を示す落ち込みは2箇所の落ち込みの内の左側の落ち込みであり、右側の落ち込みは偽相関であり、(ハ)落ち込みU1とU2の離間量が(−k1+k2)である、という情報が得られる。これらの情報に基づいて図17(b)に示す略同等な落ち込みV1、V2の中から、2つの落ち込みの信頼性を判定して真の相関を示す落ち込みを選択する。
【0057】
図17(b)において、2箇所の落ち込みV1とV2の離間量が落ち込みU1とU2の離間量と略一致することにより、落ち込みV1、V2と落ち込みU1、U2の間に対応関係があると判断し、真の落ち込みU1に対応する落ち込みV1(2箇所の落ち込みの内の左側)を真の相関を示す落ち込みと認定し、偽の落ち込みU2に対応する落ち込みV2(2箇所の落ち込みの内の右側)を偽の相関を示す落ち込みと認定する。したがって、図16に示すような場合には、落ち込みV1に対応するシフト値k1を真のシフト値として認定する。
【0058】
以上の説明では図16(a)、(b)に示す2つの関数F(x)、G(x)が相対的にシフトした関数であったが、(2)式に示すように、一方の関数F(x)に対して位置xに関して低周波なゲイン成分を乗じた関数を他方の関数G(x)とした場合においても、(3)式の相関演算の結果は図17(b)に示すようなグラフとなるので、同様にして真のシフト値を決定することができる。
【0059】
また、以上の説明においては、相互相関関数の落ち込みが2箇所の場合について説明したが、2箇所以上の場合についても同様な処理により真のシフト値を決定することができる。
【0060】
ステップ230において、相互相関関数のグラフの落ち込みが1箇所の場合には自己相関関数のグラフとの比較処理を行うことは不要で、1箇所の落ち込みに対応するシフト値をそのまま真のシフト値とすればよい。
【0061】
ステップ240において、求めた真のシフト値を以下のようにしてデフォーカス量に変換する。相関演算式(3)で求めた相関量C(k)のグラフの真のシフト値においては、図18(a)に示すように、一対のデータの相関が高いシフト量(図18(a)ではk=kj=2)において相関量C(k)が最小(小さいほど相関度が高い)になる。(5)式〜(8)式による3点内挿の手法を用いて連続的な相関量に対する最小値C(x)を与えるシフト量xを求める。
x=kj+D/SLOP ・・・(5),
C(x)= C(kj)−|D| ・・・(6),
D={C(kj-1)−C(kj+1)}/2 ・・・(7),
SLOP=MAX{C(kj+1)−C(kj),C(kj-1)−C(kj)} ・・・(8)
【0062】
ステップ240では、(5)式で求めたシフト量xを用いて被写体像面の予定結像面に対するデフォーカス量DEFを次式により求めることができる。
DEF=KX・PY・x ・・・(9)
(9)式において、PYは検出ピッチであり、KXは一対の測距瞳の重心の開き角の大きさによって決まる変換係数である。
【0063】
算出されたデフォーカス量DEFの信頼性があるかどうかは、以下のようにして判定される。図18(b)に示すように、一対のデータの相関度が低い場合は、内挿された相関量の最小値C(x)の値が大きくなる。したがって、C(x)が所定値以上の場合は信頼性が低いと判定する。あるいは、C(x)をデータのコントラストで規格化するために、コントラストに比例した値となるSLOPでC(x)を除した値が所定値以上の場合は信頼性が低いと判定する。あるいはまた、コントラストに比例した値となるSLOPが所定値以下の場合は、被写体が低コントラストであり、算出されたデフォーカス量DEFの信頼性が低いと判定する。図18(c)に示すように、一対のデータの相関度が低く、シフト範囲kmin〜kmaxの間で相関量C(k)の落ち込みがない場合は、最小値C(x)を求めることができず、このような場合は焦点検出不能と判定する。焦点検出が可能であった場合には算出された像ズレ量に所定の変換係数を乗じてデフォーカス量を算出する。
【0064】
ステップ250で、焦点検出演算処理(相関演算処理)を終了して図11のステップ140へリターンする。
【0065】
このように、一実施の形態によれば、複数のデータが一次元上に配列された第1データ列Anと、複数のデータが一次元上に配列された第2データ列Bnとを、一次元上で変位量を変えながら第1データ列Anと第2データ列Bnとを相対的に変位させ、第1データ列Anと第2データ列Bnの間の相互相関量を演算して相互相関量の極値(相互相関量の落ち込み)が得られる第1変位量を算出する相互相関演算と、一次元上で変位量を変えながら第1データ列Anと第1データ列Anとを相対的に変位させ、第1データ列Anどうしの自己相関量を演算して自己相関量の極値(自己相関量の落ち込み)が得られる第2変位量を算出する自己相関演算と、第2変位量に基づいて相互相関量の真の極値を与える第1変位量を選別する演算とを実行するようにした。つまり、第1変位量の数および変位量どうしの離間量と、第2変位量の数および変位量どうしの離間量とに基づいて、第1変位量と第2変位量の相対関係を算出し、自己相関量の真の極値を与える第2変位量に対応する第1変位量を相互相関量の真の極値を与える変位量として選別するようにしたので、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量(偽の相互相関を与える変位量)を排除して相互相関量の真の極値を与える変位量(真の相互相関を与える変位量)を正確に算出することができる。
【0066】
《発明の他の実施の形態》
上述した一実施の形態では、図17(a)、(b)に示す自己相関グラフと相互相関グラフの複数の落ち込み箇所の位置関係を比較することによって、真の相関の落ち込みを選択するとともに偽の相関の落ち込みを排除する手法を説明したが、自己相関グラフと相互相関グラフの間でさらに相関演算を行うことによって、真の相関の落ち込みを選択することもできる。
【0067】
図19は、図11のステップ130における焦点検出演算処理の他の実施の形態を示すフローチャートである。ボディ駆動制御装置214は、ステップ300からこの焦点検出演算処理(相関演算処理)を開始する。ステップ300〜ステップ320の処理は、上述した図12のステップ300〜ステップ320の処理と同様であり、説明を省略する。図16(a)、(b)に示すような関数に対応した一対のデータ列を仮定した場合には、ステップ320を終了した時点で自己相関関数C1(k)のグラフとして図20(a)が得られ、相互相関関数C2(k)のグラフとして図20(b)が得られる。
【0068】
ステップ330では、相互相関関数と自己相関関数の間で相関演算を実行し、演算結果より真の相関を決定する。図20(a)に示す自己相関関数C1(k)のグラフでは2箇所の落ち込みU1、U2があり、上述したように落ち込みU1が真の相関を示し、落ち込みU2が偽の相関を示している。
【0069】
図20(b)に示す相互相関関数C2(k)のグラフでは2箇所の落ち込みV1、V2があるが、このグラフからだけではどちらが真の相関でどちらが偽の相関かは識別できない。そこで、相互相関関数C2(k)の2箇所の落ち込みV1、V2を含む区間W1を基準区間に設定し、この基準区間W1の相互相関関数C2(k)に対して自己相関関数C1(k)をシフト値hだけ相対的シフトすることによって、2つの相関関数の間の相関度を算出する。
【0070】
C1(k)に対応するデータ列をC1nとし、C2(k)に対応するデータ列をC2nとすれば、上記(3)式と同様な相関演算式(10)により相関量C3(h)を求めることができる。
C3(h)=Σ|C2i・C1i+s+h−C1i+h・C2i+s| ・・・(10)
(10)式において、hは一対のデータ列C1n、C2nの相対的なシフト値であり、C3(h)はシフト値hにおける一対のデータ列C1n、C2nの相関度を示す相関量である。また、積算処理(Σ)は、データインデックスiに対してデータの所定区間に亘って行われる。
【0071】
図20(c)は、シフト値hを順次変化させて求められた相関量C3(h)であり、3箇所の落ち込みY1、Y2、Y3を持つ。落ち込みY1は、自己相関関数C1(k)の落ち込みU2部分と相互相関関数C2(k)の落ち込みV1部分の一致による落ち込みであり、その相関量の値S1は比較的大きな値となる。また、落ち込みY3は、自己相関関数C1(k)の落ち込みU1部分と相互相関関数C2(k)の落ち込みV2部分の一致による落ち込みであり、その相関量の値S3は比較的大きな値となる。
【0072】
さらに、落ち込みY2は、自己相関関数C1(k)の落ち込みU1部分と相互相関関数C2(k)の落ち込みV1部分の一致、および自己相関関数C1(k)の落ち込みU2部分と相互相関関数C2(k)の落ち込みV2部分の一致による落ち込みであり、その相関量の値S2は他の落ち込みY1、Y2の相関量の値S1、S3に比較して小さな値となる。
【0073】
したがって、図20(c)に示す相関量C3(h)のグラフにおいて最も小さな相関値を示す落ち込みのシフト値h1を求めれば、その値h1は真の相関を示すシフト値と略等しくなる。このようにして求めたシフト値h1に最も近いシフト値を図20(b)に示す相関関数C2(k)より選択し、真のシフト値(図20(b)に示すシフト値k1)とする。
【0074】
ステップ340とステップ350の処理は、上述した図12のステップ340とステップ350の処理と同様であり、説明を省略する。
【0075】
以上のようにして自己相関グラフと相互相関グラフの間でさらに相関演算を行うことによって、相互相関グラフに2箇所以上の落ち込みがある場合でも、真の相関に対応する落ち込みを選択することが可能になる。
【0076】
このように、他の実施の形態によれば、複数のデータが一次元上に配列された第1データ列Anと、複数のデータが一次元上に配列された第2データ列Bnとを、一次元上で変位量を変えながら第1データ列Anと第2データ列Bnとを相対的に変位させ、第1データ列Anと第2データ列Bnの間の相互相関量を演算して相互相関量の極値(相互相関量の落ち込み)が得られる第1変位量を算出する相互相関演算と、一次元上で変位量を変えながら第1データ列Anと第1データ列Anとを相対的に変位させ、第1データ列Anどうしの自己相関量を演算して自己相関量の極値(自己相関量の落ち込み)が得られる第2変位量を算出する自己相関演算と、自己相関量と相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い第1変位量を相互相関量の真の極値を与える変位量として選別するようにしたので、相対的に歪みが生じた一対の物体像に対応する一対の第1データ列と第2データ列に対して相対的な変位量を検出可能な相関演算を用いた場合でも、相互相関量の偽の極値を与える変位量(偽の相互相関を与える変位量)を排除して相互相関量の真の極値を与える変位量(真の相互相関を与える変位量)を正確に算出することができる。
【0077】
《一実施の形態の変形例》
撮像素子における焦点検出エリアの配置は図2に示す配置に限定されず、対角線方向や、その他の位置に水平方向および垂直方向に焦点検出エリアを配置することも可能である。
【0078】
図3に示す撮像素子212では、焦点検出用画素313、314がひとつの画素内にひとつの光電変換部を備えた例を示したが、ひとつの画素内に一対の光電変換部を備えるようにしてもよい。図21は、図3に示す撮像素子212に対応した撮像素子212Aの部分拡大図であり、焦点検出用画素311はひとつの画素内に一対の光電変換部を備える。図に示す焦点検出用画素311は、図3に示す焦点検出用画素313と焦点検出用画素314のペアに相当した機能を果たす。
【0079】
焦点検出用画素311は、図22に示すようにマイクロレンズ10と一対の光電変換部13,14から構成される。焦点検出用画素311には光量をかせぐために色フィルターは配置されておらず、その分光特性は光電変換を行うフォトダイオードの分光感度と、赤外カットフィルター(不図示)の分光特性とを総合した分光特性(図7参照)となる。つまり、図6に示す緑画素、赤画素および青画素の分光特性を加算したような分光特性となり、その感度の光波長領域は緑画素、赤画素および青画素の感度の光波長領域を包括している。
【0080】
図23は、図21に示す撮像素子212Aの焦点検出用画素による瞳分割方式の焦点検出動作を説明するための図である。図において、90は、交換レンズの予定結像面に配置されたマイクロレンズの前方dの距離に設定された射出瞳である。ここで、距離dは、マイクロレンズの曲率、屈折率、マイクロレンズと光電変換部の間の距離などに応じて決まる距離であって、以下では測距瞳距離と呼ぶ。91は交換レンズの光軸、50,60はマイクロレンズ、(53,54)、(63,64)は焦点検出用画素の対の光電変換部、(73,74)、(83,84)は焦点検出用光束である。
【0081】
さらに、93はマイクロレンズ50,60により投影された光電変換部53,63の領域であり、以下では測距瞳と呼ぶ。同様に、94はマイクロレンズ50,60により投影された光電変換部54,64の領域であり、以下では測距瞳と呼ぶ。図23では、光軸91上にある焦点検出用画素(マイクロレンズ50と一対の光電変換部53,54からなる)と、隣接する焦点検出用画素(マイクロレンズ60と一対の光電変換部63,64からなる)を模式的に例示しているが、撮像面上の周辺に配置された焦点検出用画素においても、一対の光電変換部はそれぞれ一対の測距瞳93,94から各マイクロレンズに到来する光束を受光する。焦点検出用画素の配列方向は一対の測距瞳の並び方向と一致させる。
【0082】
マイクロレンズ50,60は光学系の予定結像面近傍に配置されており、光軸91上に配置されたマイクロレンズ50によって、その背後に配置された一対の光電変換部53,54の形状がマイクロレンズ50,60から測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。また、マイクロレンズ50に隣接して配置されたマイクロレンズ60によって、その背後に配置された一対の光電変換部63,64の形状が測距瞳距離dだけ離間した射出瞳90上に投影され、その投影形状は測距瞳93,94を形成する。すなわち、測距瞳距離dにある射出瞳90上で各焦点検出用画素の光電変換部の投影形状(測距瞳93,94)が一致するように、各画素のマイクロレンズと光電変換部の位置関係が決定されている。
【0083】
光電変換部53は、測距瞳93を通過してマイクロレンズ50へ向う焦点検出用光束73によってマイクロレンズ50上に形成される像の強度に対応した信号を出力する。また、光電変換部54は、測距瞳94を通過してマイクロレンズ50へ向う焦点検出用光束74によってマイクロレンズ50上に形成される像の強度に対応した信号を出力する。同様に、光電変換部63は、測距瞳93を通過してマイクロレンズ60へ向う焦点検出用光束83によってマイクロレンズ60上に形成される像の強度に対応した信号を出力する。また、光電変換部64は、測距瞳94を通過してマイクロレンズ60へ向う焦点検出用光束84によってマイクロレンズ60上に形成される像の強度に対応した信号を出力する。
【0084】
このような焦点検出用画素を直線状に多数配置し、各画素の一対の光電変換部の出力を測距瞳93および測距瞳94に対応した出力グループにまとめることによって、測距瞳93と測距瞳94を各々通過する焦点検出用光束が焦点検出用画素列上に形成する一対の像の強度分布に関する情報が得られる。この情報に対して後述する像ズレ検出演算処理(相関演算処理、位相差検出処理)を施すことによって、いわゆる瞳分割方式で一対の像の像ズレ量が検出される。さらに、像ズレ量に所定の変換処理を施すことによって、予定結像面に対する現在の結像面(予定結像面上のマイクロレンズアレイの位置に対応した焦点検出位置における結像面)の偏差(デフォーカス量)が算出される。
【0085】
次に、図3に示す撮像素子212では撮像用画素310がベイヤー配列の色フィルターを備えた例を示したが、色フィルターの構成や配列はこれに限定されることはなく、補色フィルター(緑:G、イエロー:Ye、マゼンタ:Mg,シアン:Cy)の配列を採用してもよい。また、図3に示す撮像素子212では焦点検出用画素313、314に色フィルターを設けない例を示したが、撮像用画素310と同色の色フィルターの内のひとつのフィルター(例えば緑フィルター)を設けるようにした場合でも、本発明を適用することができる。
【0086】
また、上述した一実施の形態の図5、図22に示す焦点検出用画素311、313、314では、光電変換部の形状を半円形や矩形にした例を示したが、焦点検出用画素の光電変換部の形状はこれらに限定されず、他の形状であってもよい。例えば焦点検出用画素の光電変換部の形状を楕円や多角形にすることも可能である。
【0087】
さらに、図3に示す撮像素子212では、撮像用画素と焦点検出用画素を稠密正方格子配列に配置した例を示したが、稠密六方格子配列としてもよい。
【0088】
上述した一実施の形態ではマイクロレンズを用いた瞳分割方式による焦点検出動作を説明したが、本発明はこのような方式の焦点検出に限定されず、特開2008−15157に開示された偏光素子による瞳分割型位相差検出方式の焦点検出装置にも適用可能である。
【0089】
上述した一実施の形態では、マイクロレンズを用いた瞳分割方式による焦点検出動作を説明したが、本発明はこのような方式の焦点検出に限定されず、再結像瞳分割方式の焦点検出にも適用可能である。ここで、図24を参照して再結像瞳分割方式の焦点検出動作を説明する。図24において、191は交換レンズの光軸、110,120はコンデンサレンズ、111、121は絞りマスク、112,113、122,123は絞り開口、114、115、124,125は再結像レンズ、116、126は焦点検出用のイメージセンサー(CCD)である。
【0090】
また、132,133、142,143は焦点検出用光束、190は交換レンズの予定結像面の前方d5の距離に設定された射出瞳である。ここで、距離d5は、コンデンサレンズ110,120の焦点距離と、コンデンサレンズ110,120と絞り開口112,113、122,123との間の距離などに応じて決まる距離であって、以下では測距瞳距離と呼ぶ。192は、コンデンサレンズ110,120により投影された絞り開口112,122の領域であり、以下では測距瞳と呼ぶ。同様に、193は、コンデンサレンズ110,120により投影された絞り開口113,123の領域であり、以下では測距瞳と呼ぶ。コンデンサレンズ110、絞りマスク111、絞り開口112,113、再結像レンズ114、115およびイメージセンサー116が、一つの位置で焦点検出を行う再結像方式の瞳分割方位相差検出の焦点検出ユニットを構成する。
【0091】
図24においては、光軸191上にある焦点検出ユニットと光軸外にある焦点検出ユニットとを模式的に例示している。複数の焦点検出ユニットを組み合わせることによって、図2に示す3箇所の焦点検出位置101〜103において再結像方式の瞳分割位相差検出で焦点検出を行う焦点検出装置を実現することができる。
【0092】
コンデンサレンズ110からなる焦点検出ユニットは、交換レンズの予定結像面近傍に配置されたコンデンサレンズ110、その背後に配置されたイメージサンサ116、コンデンサレンズ110とイメージサンサ116との間に配置され、予定結像面近傍に結像された1次像をイメージセンサー116上に再結像する一対の再結像レンズ114、115、一対の再結像レンズの近傍(図では前面)に配置された一対の絞り開口112、113を有する絞りマスク11から構成される。
【0093】
イメージセンサー116は、複数の光電変換部が直線に沿って密に配置されたラインサンサであり、光電変換部の配置方向は一対の測距瞳の分割方向(=絞り開口の並び方向)と一致させる。このイメージセンサー116からは、イメージセンサー116上に再結像された一対の像の強度分布に対応した情報が出力され、この情報に対して後述する像ズレ検出演算処理(相関処理、位相差検出処理)を施すことによって、いわゆる瞳分割型位相差検出方式(再結像方式)で一対の像の像ズレ量が検出される。さらに、像ズレ量に所定の変換係数を乗ずることによって、予定結像面に対する現在の結像面の偏差(デフォーカス量)が算出される。
【0094】
イメージセンサー116は再結像レンズ114、115により予定結像面上に投影されており、デフォーカス量(像ズレ量)の検出精度は、像ズレ量の検出ピッチ(再結像方式の場合は予定結像面上に投影された光電変換部の配列ピッチ)により決まる。
【0095】
コンデンサレンズ110は、絞りマスク111の絞り開口112、113を射出瞳190上に領域192、193として投影している。領域192,193を測距瞳と呼ぶ。すなわち、イメージセンサー116上に再結像される一対の像は射出瞳190上の一対の測距瞳192,193を通過する光束によって形成される。射出瞳190上の一対の測距瞳192,193を通過する光束132、133を焦点検出用光束と呼ぶ。
【0096】
このような再結像瞳分割方式においても、測距瞳の口径蝕によってイメージセンサー上に形成される一対の像のバランス崩れが生ずるので、イメージセンサーの出力信号を処理する際に本発明を適用することができる。
【0097】
なお、撮像装置としては、上述したようなカメラボディに交換レンズが装着される構成のデジタルスチルカメラやフィルムスチルカメラに限定されない。例えばレンズ一体型のデジタルスチルカメラ、フィルムスチルカメラ、あるいはビデオカメラにも本発明を適用することができる。さらには、携帯電話などに内蔵される小型カメラモジュール、監視カメラやロボット用の視覚認識装置、車載カメラなどにも適用できる。
【0098】
また、本発明は、カメラ以外の焦点検出装置や測距装置、さらにはステレオ測距装置にも適用できる。さらに、時間が異なるイメージセンサーの信号間の相関を検出して被写体像の動きやカメラのブレを検出する装置にも適用できる。さらにまた、イメージセンサーの画像信号と特定の画像信号のパターンマッチングにも適用できる。
【0099】
さらに、本発明は、画像信号データの相関を検出するものに限定されず、音に関するデータの相関やその他一般に2つの信号の相関を検出するものにも適用することができる。
【0100】
なお、上述した実施の形態とそれらの変形例において、実施の形態どうし、または実施の形態と変形例とのあらゆる組み合わせが可能である。
【図面の簡単な説明】
【0101】
【図1】一実施の形態のカメラの構成を示すカメラの横断面図
【図2】交換レンズの撮影画面上における焦点検出位置を示す図
【図3】撮像素子の詳細な構成を示す正面図
【図4】撮像用画素の正面図
【図5】焦点検出用画素の正面図
【図6】撮像用画素の分光特性を示す図
【図7】焦点検出用画素の分光特性を示す図
【図8】撮像用画素の断面図
【図9】焦点検出用画素の断面図
【図10】マイクロレンズを用いた瞳分割型位相差検出方式の焦点検出光学系の構成を示す図
【図11】一実施の形態のデジタルスチルカメラ(撮像装置)の撮像動作を示すフローチャート
【図12】図11のステップ130における焦点検出演算処理の詳細を示すフローチャート
【図13】焦点検出用光束のケラレ(口径蝕)を説明するための図
【図14】予定焦点面から光軸の方向に測距瞳面を見た場合の図
【図15】図13および図14の状態において位置x0(像高0)の近傍の焦点検出用画素列が受光する一対の像と、位置x1(像高h)の近傍の焦点検出用画素列が受光する一対の像の強度分布(縦軸は光量、横軸は撮影画面上の位置)を示す図
【図16】互いに異なる二つのデータ列に対して高い相関度を算出する誤動作を説明するための図
【図17】互いに異なる二つのデータ列に対する一実施の形態の相関演算方法を説明するための図
【図18】焦点検出結果の信頼性判定方法を説明するための図
【図19】図11のステップ130における焦点検出演算処理の他の実施の形態を示すフローチャート
【図20】互いに異なる二つのデータ列に対する他の実施の形態の相関演算方法を説明するための図
【図21】変形例の撮像素子の部分拡大図
【図22】図21に示す変形例の撮像素子に配列される焦点検出用画素の正面図
【図23】図21に示す変形例の撮像素子の焦点検出用画素による瞳分割方式の焦点検出動作を説明するための図
【図24】再結像瞳分割方式の焦点検出動作を説明するための図
【符号の説明】
【0102】
201;デジタルスチルカメラ、202;交換レンズ、212、212A;撮像素子、214;ボディ駆動制御装置
【特許請求の範囲】
【請求項1】
複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら前記第1データ列と前記第2データ列とを相対的に変位させ、前記第1データ列と前記第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算と、
一次元上で変位量を変えながら前記第1データ列と前記第1データ列とを相対的に変位させ、前記第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算と、
前記第2変位量に基づいて前記相互相関量の真の極値を与える第1変位量を選別する第3演算とを実行することを特徴とする相関演算方法。
【請求項2】
請求項1に記載の相関演算方法において、
前記第3演算は、前記第1変位量の数および変位量どうしの離間量と、前記第2変位量の数および変位量どうしの離間量とに基づいて、前記第1変位量と前記第2変位量の相対関係を算出し、前記自己相関量の真の極値を与える第2変位量に対応する第1変位量を前記相互相関量の真の極値を与える変位量として選別することを特徴とする相関演算方法。
【請求項3】
請求項1に記載の相関演算方法において、
前記第3演算は、前記自己相関量と前記相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い前記第1変位量を前記相互相関量の真の極値を与える変位量として選別することを特徴とする相関演算方法。
【請求項4】
請求項1〜3のいずれか一項に記載の相関演算方法において、
前記第1演算は、前記第1データ列を一次元上の位置xの関数F(x)とし、前記第2データ列を一次元上の位置xの関数G(x)とした場合に、
G(x)=(1+δx)・M・F(x) (δとMは定数)
の関係がある前記第1データ列と前記第2データ列との間の相互相関量を演算可能な相関演算であることを特徴とする相関演算方法。
【請求項5】
請求項1〜4のいずれか一項に記載の相関演算方法により、前記第1データ列と前記第2データ列との間の相互相関量の真の極値を与える変位量を演算する相関演算装置。
【請求項6】
結像光学系を通る一対の光束を受光し、この一対の光束が前記結像光学系の予定焦点面上に形成する一対の像に対応する一対の第1データ列と第2データ列を生成するデータ列生成手段と、
前記第1データ列と前記第2データ列との間の相互相関量の真の極値が得られる変位量を算出する請求項9に記載の相関演算装置と、
前記変位量に基づいて前記結像光学系の焦点調節状態を検出する焦点検出手段とを備えることを特徴とする焦点検出装置。
【請求項7】
請求項6に記載の焦点検出装置を備えることを特徴とする撮像装置。
【請求項8】
請求項1〜4のいずれか一項に記載の相関演算方法をコンピューターに実行させることを特徴とする相関演算プログラム。
【請求項1】
複数のデータが一次元上に配列された第1データ列と、複数のデータが一次元上に配列された第2データ列とを、一次元上で変位量を変えながら前記第1データ列と前記第2データ列とを相対的に変位させ、前記第1データ列と前記第2データ列の間の相互相関量を演算して相互相関量の極値が得られる第1変位量を算出する第1演算と、
一次元上で変位量を変えながら前記第1データ列と前記第1データ列とを相対的に変位させ、前記第1データ列どうしの自己相関量を演算して自己相関量の極値が得られる第2変位量を算出する第2演算と、
前記第2変位量に基づいて前記相互相関量の真の極値を与える第1変位量を選別する第3演算とを実行することを特徴とする相関演算方法。
【請求項2】
請求項1に記載の相関演算方法において、
前記第3演算は、前記第1変位量の数および変位量どうしの離間量と、前記第2変位量の数および変位量どうしの離間量とに基づいて、前記第1変位量と前記第2変位量の相対関係を算出し、前記自己相関量の真の極値を与える第2変位量に対応する第1変位量を前記相互相関量の真の極値を与える変位量として選別することを特徴とする相関演算方法。
【請求項3】
請求項1に記載の相関演算方法において、
前記第3演算は、前記自己相関量と前記相互相関量との間の相関量を演算して相関量の極値が得られる変位量を算出し、該変位量に最も近い前記第1変位量を前記相互相関量の真の極値を与える変位量として選別することを特徴とする相関演算方法。
【請求項4】
請求項1〜3のいずれか一項に記載の相関演算方法において、
前記第1演算は、前記第1データ列を一次元上の位置xの関数F(x)とし、前記第2データ列を一次元上の位置xの関数G(x)とした場合に、
G(x)=(1+δx)・M・F(x) (δとMは定数)
の関係がある前記第1データ列と前記第2データ列との間の相互相関量を演算可能な相関演算であることを特徴とする相関演算方法。
【請求項5】
請求項1〜4のいずれか一項に記載の相関演算方法により、前記第1データ列と前記第2データ列との間の相互相関量の真の極値を与える変位量を演算する相関演算装置。
【請求項6】
結像光学系を通る一対の光束を受光し、この一対の光束が前記結像光学系の予定焦点面上に形成する一対の像に対応する一対の第1データ列と第2データ列を生成するデータ列生成手段と、
前記第1データ列と前記第2データ列との間の相互相関量の真の極値が得られる変位量を算出する請求項9に記載の相関演算装置と、
前記変位量に基づいて前記結像光学系の焦点調節状態を検出する焦点検出手段とを備えることを特徴とする焦点検出装置。
【請求項7】
請求項6に記載の焦点検出装置を備えることを特徴とする撮像装置。
【請求項8】
請求項1〜4のいずれか一項に記載の相関演算方法をコンピューターに実行させることを特徴とする相関演算プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2010−39107(P2010−39107A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−200701(P2008−200701)
【出願日】平成20年8月4日(2008.8.4)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願日】平成20年8月4日(2008.8.4)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]