(57)【特許請求の範囲】
【請求項１】
被写体光束を瞳分割して一対の被写体像をセンサ列の異なる領域に投影し、センサ列上に投影された一対の被写体像を電気的な一対の画像信号列に変換してその像ずれ量からデフォーカス量を求める自動焦点検出装置であって、
一方向に並ぶ前記センサ列を有する縦センサと、
この縦センサのセンサ列とは異なる別の一方向に並ぶ前記センサ列を有する横センサと、
前記縦センサから出力された一対の画像信号列及び前記横センサから出力された一対の画像信号列についてそれぞれシフト初期値から相関演算を実行し、縦方向の像ずれ量と横方向の像ずれ量を算出する相関演算手段と、
この算出した縦方向の像ずれ量と横方向の像ずれ量の差分が所定値以上であるときに、前記縦センサ及び横センサから出力された各一対の画像信号列のうち、像ずれ量の絶対値の小さい方の一対の画像信号列を、コントラストが周期的に変化する繰り返しパターンであると判定する繰り返しパターン判定手段と、を備え、
前記相関演算手段は、前記繰り返しパターン判定手段が、前記縦センサ及び前記横センサから出力された各一対の画像信号列のうち一方が繰り返しパターンで他方が繰り返しパターンではないと判定したとき、前記繰り返しパターンではないと判定された一対の画像信号列から求めた像ずれ量に基づきシフト初期値を設定し、繰り返しパターンであると判定された一対の画像信号列について前記設定したシフト初期値から相関演算を再実行して真の像ずれ量を求めること、を特徴とする自動焦点検出装置。
【請求項２】
請求項１記載の自動焦点検出装置において、さらに、前記縦センサ及び前記横センサから出力された各一対の画像信号列について、複数の異なる画素範囲でコントラスト値をそれぞれ検出するコントラスト検出手段を備え、
前記繰り返しパターン判定手段は、前記コントラスト検出手段の検出した複数の異なる画素範囲のコントラスト値の差が所定値以上あるか否かを縦横方向のそれぞれについて判定し、該異なる画素範囲のコントラスト値の差が所定値以上ある一対の画像信号列は、前記像ずれ量の絶対値が小さい方の一対の画像信号列であっても繰り返しパターンではないと判定する自動焦点検出装置。
【請求項３】
請求項２記載の自動焦点検出装置において、前記相関演算手段は、前記縦センサまたは前記横センサから出力された一対の画像信号列のコントラスト値を、一方の画像信号列と他方の画像信号列の画素単位の積分した電荷の差の合計として求める処理を、一方の画像信号列を他方の画像信号列に対して前記シフト初期値から画素単位でシフトさせながら実行してコントラスト値の合計を求め、前記像ずれ量として、前記コントラスト値の合計が極小値となる最小シフト数を求める自動焦点検出装置。
【請求項４】
請求項２記載の自動焦点検出装置において、前記縦センサと横センサのコントラスト値の差の絶対値が所定値より小さいとき、前記デフォーカス量として、前記相関演算手段が算出した縦横方向の像ずれ量のうち、該像ずれ量の算出に用いた一対の画像信号列のコントラスト値の平均値が高い方のデフォーカス量を選択する選択手段をさらに備える自動焦点検出装置。
【請求項５】
請求項１ないし４のいずれか一項に記載の自動焦点検出装置を備えたことを特徴とするカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相差検出方式の自動焦点検出装置及び同装置を備えたカメラに関する。
【背景技術】
【０００２】
いわゆる位相差方式の自動焦点検出装置は、瞳分割された一対の被写体像をラインセンサ上に投影し、ラインセンサ上の一対の被写体像の位相差からデフォーカス量を求める構成である。より具体的には、例えば特許文献１に記載されているように、一対の被写体像に対応する一対の画像信号列（センサ出力）について相関演算を実行し、一方を他方に対して任意のシフト数だけずらして重ね合わせたときの一対の画像信号列の一致度を示す相関値を求め、この相関値が極小となるときのシフト数を像ずれ量として求め、この像ずれ量に基づいてデフォーカス量を算出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−９９６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の位相差検出方式では、上記一対の画像信号列が所定の規則性を持って濃淡（明暗）を繰り返す繰り返しパターンである場合に、焦点検出が難しいという欠点がある。この繰り返しパターンである一対の画像信号列について相関演算を実行すると、例えば図７（ｂ）に示すように相関値が極小となるシフト数が複数存在するため、どれが真の像ずれ量であるのかを判定できず、誤合焦となってしまうことがあった。この一方で、位相差検出方式ではコントラストの高い被写体ほど検出精度が高くなることから、コントラストが高い傾向にある繰り返しパターンを焦点検出に積極的に利用し、焦点検出精度を高めたいという要望がある。
【０００５】
本発明は、縦横センサから出力された一対の画像信号列が繰り返しパターンであるか否かを容易に判定でき、かつ、コントラストが周期的に変化している被写体に対しても高精度に合焦させることができる自動焦点検出装置及び同装置を備えたカメラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、縦横検出型を用いれば縦横センサから出力される各一対の画像信号列のうち一方が繰り返しパターンであっても他方は繰り返しパターンではない場合があり、この場合には、相関演算により得られる縦横方向の像ずれ量の差が所定値より大きくなること、且つ、繰り返しパターンである一対の画像信号列から求めた像ずれ量の絶対値が繰り返しパターンでない一対の画像信号列から求めた像ずれ量の絶対値よりも小さくなることから、繰り返しパターンを容易に判定できることを見出して完成されたものである。さらに本発明は、繰り返しパターンではない一対の画像信号列で求めた像ずれ量を参照すれば、繰り返しパターンである一対の画像信号列を用いて相関演算を実行しても真の像ずれ量を求めることができ、焦点検出精度を高められることに着目して完成されたものである。
【０００７】
すなわち、本発明は、被写体光束を瞳分割して一対の被写体像をセンサ列の異なる領域に投影し、センサ列上に投影された一対の被写体像を電気的な一対の画像信号列に変換してその像ずれ量からデフォーカス量を求める自動焦点検出装置であって、一方向に並ぶ前記センサ列を有する縦センサと、この縦センサのセンサ列とは異なる別の一方向に並ぶ前記センサ列を有する横センサと、前記縦センサから出力された一対の画像信号列及び前記横センサから出力された一対の画像信号列についてそれぞれシフト初期値から相関演算を実行し、縦方向の像ずれ量と横方向の像ずれ量を算出する相関演算手段と、この算出した縦方向の像ずれ量と横方向の像ずれ量の差分が所定値以上であるときに、前記縦センサ及び横センサから出力された各一対の画像信号列のうち、像ずれ量の絶対値の小さい方の一対の画像信号列を、コントラストが周期的に変化する繰り返しパターンであると判定する繰り返しパターン判定手段と、を備え、前記相関演算手段は、前記繰り返しパターン判定手段が、前記縦センサ及び前記横センサから出力された各一対の画像信号列のうち一方が繰り返しパターンで他方が繰り返しパターンではないと判定したとき、前記繰り返しパターンではないと判定された一対の画像信号列から求めた像ずれ量に基づきシフト初期値を設定し、繰り返しパターンであると判定された一対の画像信号列について前記設定したシフト初期値から相関演算を再実行して真の像ずれ量を求めること、を特徴としている。この態様によれば、縦横方向の像ずれ量に基づいて繰り返しパターンであるか否かを容易に判定できるので、簡単な演算処理で済み、焦点検出時間の短縮化に貢献でき、さらにコントラスト差による繰り返しパターン判定と縦横方向の像ずれ量の差に基づく繰り返しパターン判定の両方を実行することで、判定精度が高まり、繰り返しパターンの誤判定を防止できる。また、コントラストが高くなる傾向にある繰り返しパターンにおいて真の像ずれ量を精度良く検出でき、コントラストが周期的に変化している被写体についても正確に合焦可能である。
【０００８】
前記自動焦点検出装置には、さらに、前記縦センサ及び前記横センサから出力された各一対の画像信号列について、複数の異なる画素範囲でコントラスト値をそれぞれ検出するコントラスト検出手段を備える。そして、前記繰り返しパターン判定手段は、前記コントラスト検出手段の検出した複数の異なる画素範囲のコントラスト値の差が所定値以上あるか否かを縦横方向のそれぞれについて判定し、該異なる画素範囲のコントラスト値の差が所定値以上ある一対の画像信号列は、前記像ずれ量の絶対値が小さい方の一対の画像信号列であっても繰り返しパターンではないと判定することが好ましい。このコントラスト差による繰り返しパターン判定と縦横方向の像ずれ量の差に基づく繰り返しパターン判定の両方を実行することで、判定精度が高まり、繰り返しパターンの誤判定を防止できる。また、繰り返しパターンではないと判定した一対の画像信号列については、該一対の画像信号列から求めた像ずれ量に信頼性があるので、像ずれ量の再演算を省略することで、演算処理の簡素化を図れる。
【００１０】
前記相関演算手段は、前記縦センサまたは前記横センサから出力された一対の画像信号列のコントラスト値を、一方の画像信号列と他方の画像信号列の画素単位の積分した電荷の差の合計として求める処理を、一方の画像信号列を他方の画像信号列に対して前記シフト初期値から画素単位でシフトさせながら実行してコントラスト値の合計を求め、前記像ずれ量として、前記コントラスト値の合計が極小値となる最小シフト数を求めることが実際的である。
【００１１】
前記自動焦点検出装置は、前記縦センサと横センサのコントラスト値の差の絶対値が所定値より小さいと判定したとき、前記デフォーカス量として、前記相関演算手段が算出した縦横方向の像ずれ量のうち、該像ずれ量の算出に用いた一対の画像信号列のコントラスト値の平均値が高い方のデフォーカス量を選択する選択手段をさらに備えることが好ましい。この態様によれば、コントラストのより高い一対の画像信号列から求めたデフォーカス量に基づいて焦点検出するので、検出精度を高められる。
【００１２】
上記自動焦点検出装置は、被写体像をセンサ列の異なる領域で受光し電気的な一対の画像信号列に変換してその像ずれ量から合焦位置を求める自動焦点検出装置を備えるカメラに適用可能である。
【発明の効果】
【００１３】
本発明によれば、縦センサ及び横センサから出力された各一対の画像信号列により求めた縦横方向の像ずれ量に基づいて該各一対の画像信号列が繰り返しパターンであるか否かを判定するので、簡単な演算処理で済み、焦点検出時間の短縮を図れる。
また本発明によれば、縦センサ及び横センサから出力された各一対の画像信号列のコントラスト差に基づいて該各一対の画像信号列が繰り返しパターンの可能性があるか否かも判定するので、判定精度が向上し、繰り返しパターンの誤判定を防止できる。
さらに本発明によれば、繰り返しパターンであると判定された一対の画像信号列について、繰り返しパターンではないと判定された一対の画像信号列から求めた像ずれ量で設定したシフト初期値から相関演算を再実行するので、コントラストの高い繰り返しパターンを用いても真の像ずれ量を精度良く検出でき、コントラストが周期的に変化している被写体について正確に合焦可能である。繰り返しパターンでないと判定した一対の画像信号列から求めた像ずれ量は信頼性があるので、該像ずれ量についての再演算を行う必要がなく、演算量及び焦点検出時間を減らすことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明を適用したＡＦ一眼レフカメラの実施形態の主要部を示すブロック図である。
【図２】ＣＣＤ焦点検出素子の焦点検出エリアを示す模式平面図である。
【図３】ＣＣＤ焦点検出素子の（ａ）横センサ、（ｂ）縦センサの構成を示す模式平面図である。
【図４】相関演算について説明する図である。
【図５】横縞パターンを焦点検出した場合にＣＣＤ焦点検出素子の横センサから出力される一対の画像信号列（繰り返しパターンでない）の一例を示すグラフである。
【図６】横縞パターンを焦点検出した場合にＣＣＤ焦点検出素子の縦センサから出力される一対の画像信号列（繰り返しパターンである）の一例を示すグラフである。
【図７】（ａ）図５の横センサ出力を用いて相関演算を実行したときに得られる単一の像ずれ量、（ｂ）図６の縦センサ出力を用いて相関演算を実行したときに得られる複数の像ずれ量をそれぞれ示すグラフである。
【図８】図１のＡＦ一眼レフカメラのスタート処理に関するフローチャートである。
【図９】図８のＡＦ処理に関するフローチャートである。
【図１０】図９の積分処理に関するフローチャートである。
【図１１】図１０のデフォーカス演算処理に関するフローチャートの一部である。
【図１２】図１０のデフォーカス演算処理に関するフローチャートの他部である。
【図１３】図１２の繰り返しパターン演算処理に関するフローチャートの一部である。
【図１４】図１３の繰り返しパターン演算処理に関するフローチャートの他部である。
【発明を実施するための形態】
【００１５】
図１は、本発明をＡＦ一眼レフカメラの自動焦点検出装置に適用した実施形態であって、その主要構成をブロックで示した図である。このＡＦ一眼レフカメラは、自動焦点検出装置としてＡＦモジュール（自動焦点検出モジュール）６０を内蔵したカメラボディ１１と、このカメラボディ１１に着脱可能なＡＦ対応の撮影レンズ５１とを備えている。
【００１６】
カメラボディ１１は、カメラボディ１１及び撮影レンズ５１を総括的に制御し、相関演算手段、繰り返しパターン判定手段、コントラスト検出手段及び選択手段としても動作するボディＣＰＵ３１を備えている。
【００１７】
一方、撮影レンズ５１は、レンズ機能を制御するレンズＣＰＵ５７と、焦点調節用レンズ５２を光軸方向に駆動するギヤブロック５３と、撮影レンズ５１のマウント部に設けられた、カメラボディ１１のジョイント３５と着脱自在に連結するジョイント５５を備えている。レンズＣＰＵ５７は、電気接点群５６、３６の接続を介してカメラボディ１１の周辺制御回路２１と接続されていて、この周辺制御回路２１を介してボディＣＰＵ３１との間で、開放、最大Ｆ値情報、焦点距離情報、レンズ位置（距離）情報などを通信する所定のデータ通信を行う。
【００１８】
撮影レンズ５１からカメラボディ１１内に入射した被写体光束は、大部分がメインミラー１３により、ファインダ光学系を構成するペンタプリズム１７に向かって反射され、ペンタプリズム１７で反射されてアイピースから射出する。ペンタプリズム１７から射出された被写体光束の一部は測光ＩＣ１８の受光素子に入射する。一方、メインミラー１３の中央部に形成されたハーフミラー部１４に入射した光束の一部はハーフミラー部１４を透過し、メインミラー１３の背面に設けられたサブミラー１５により下方に反射され、ＡＦモジュール６０に入射する。
【００１９】
測光ＩＣ１８は、受光量に応じて光電変換した電気信号を、周辺制御回路２１を介してボディＣＰＵ３１に測光信号として出力する。ボディＣＰＵ３１は、測光信号等に基づいて所定の露出演算を実行し、露出用の適正シャッタ速度及び絞り値を算出する。そして、撮影処理の際に周辺制御回路２１は、ミラーモータドライバ２４を介してミラーモータ２５を駆動してメインミラー１３をアップするとともに、絞り機構２２を駆動して撮影レンズ５１の絞り（図示せず）を算出した絞り値に設定し、算出したシャッタ速度に基づいて露光機構２３を駆動して露光する。さらに露光終了後、周辺制御回路２１は、ミラーモータドライバ２４を介してミラーモータ２５を駆動してメインミラー１３をダウンする。
【００２０】
ボディＣＰＵ３１は、制御プログラム等をメモリしたＲＯＭ３１ａ、演算用、制御用の所定のデータを一時的にメモリするＲＡＭ３１ｂ、計時用のタイマ３１ｃ、カウンタ３１ｄ、ＡＦモジュール６０から入力した出力ＶＯＵＴ信号（積分終了信号／ビデオ信号）をＡ／Ｄ変換するＡ／Ｄ変換器３１ｅ、モニタ基準ＶＭＳ信号をＤ／Ａ変換してＡＦモジュール６０へ出力するＤ／Ａ変換器３１ｆを内蔵している。
【００２１】
ＡＦモジュール６０は、いわゆる瞳分割位相差方式であって、ＣＣＤラインセンサとモニタセンサを備えたＣＣＤ焦点検出素子６１と、図示していないが撮像面と等価な焦点検出面において、被写体像を形成する被写体光束を二分割に瞳分割して、対応するＣＣＤラインセンサ上に投影するＡＦ光学系とを備えている。
【００２２】
このＡＦモジュール６０は、被写体の焦点状態を検出して画素単位のビデオ信号（一対の画像信号列）をボディＣＰＵ３１に出力する。ボディＣＰＵ３１は、ＡＦモジュール６０から入力したビデオ信号を内蔵Ａ／Ｄ変換器３１ｅでデジタル信号に変換し、焦点検出エリアに対応するデジタル信号に基づいて所定の演算を実行してデフォーカス量を算出する。さらにボディＣＰＵ３５は、算出したデフォーカス量に基づいてＡＦモータ３３の回転方向を決定し、回転数を、ＡＦモータ３３の回転数を検出するエンコーダ３７が出力するＡＦパルス数として算出し、内蔵のカウンタ３１ｄにセットする。そしてボディＣＰＵ３１は、その回転方向及びパルス数に基づき、ＡＦモータドライバ３２を介してＡＦモータ３３を駆動する。この駆動に際してボディＣＰＵ３１は、ＡＦモータ３３の回転に連動してエンコーダ３７が出力するパルスを内蔵のカウンタ３１ｄでダウンカウントし、カウント値が０になったらＡＦモータ３３を停止させる。ＡＦモータ３３の回転は、ギヤブロック３４により減速され、カメラボディ１１のマウント部に設けられたジョイント３５と撮影レンズ５１のマウント部に設けられたジョイント５５との接続を介して撮影レンズ５１のギヤブロック５４に伝達され、ギヤブロック５４を介して焦点調節用レンズ５２を進退移動させる。
【００２３】
ボディＣＰＵ３１には、フォーカスモードをマニュアルモード、ＡＦ（ワンショット／コンティニュアスＡＦ）モードの間で切り換えるフォーカススイッチＳＷＡＦ、図示しないマニュアルレリーズ釦の半押しでオンする測光スイッチＳＷＳ及び全押しでオンするレリーズスイッチＳＷＲ、周辺制御回路２１等への電源をオン／オフするメインスイッチＳＷＭが接続されている。
【００２４】
ボディＣＰＵ３１には、設定されたＡＦ、露出、撮影などのモード、シャッタ速度、絞り値などの各種撮影情報を表示する表示パネル３９と、外部不揮発性メモリ手段としてカメラボディ１１特有の各種定数などがメモリされたフラッシュメモリ３８が接続されている。表示パネル３９は、カメラボディ１１の外面及びファインダ視野内の２ヶ所に設けられた表示器を含む。
【００２５】
カメラボディ１１には、撮像手段としてのＣＣＤイメージセンサ４５が設けられている。ＣＣＤイメージセンサ４５による撮像面とＡＦモジュール６０による焦点検出面は等価に設定されている。ＣＣＤイメージセンサ４５の出力信号は、ＡＦＥ（アナログフロントエンド）４６でデジタル化され、ＤＳＰ４１でディスプレイ（ＬＣＤ）４２に表示可能なビデオ信号に加工される。ＤＳＰ４１は、ボディＣＰＵ３１との間で撮影に関する情報を授受する。
【００２６】
図２は、ＣＣＤ焦点検出素子６１の焦点検出エリアを説明する模式平面図である。ＣＣＤ焦点検出素子６１は、そのＣＣＤラインセンサとして、縦センサＩＶ及び横センサＩＨを有する縦横検出型のＣＣＤ焦点検出素子である。本実施形態では、撮影画面７０内の中央に交差焦点検出エリアＣＣを設定し、この交差焦点検出エリアＣＣが得られるように、ＣＣＤ焦点検出素子６１の縦センサＩＶ及び横センサＩＨを配置してある。図２の太線で囲んだクロスハッチング領域は、交差焦点検出エリアＣＣの縦焦点検出エリアと横焦点検出エリアが重複する重複領域ＣＣＨＶを示している。
【００２７】
図３は、縦センサＩＶ及び横センサＩＨの一例を示している。横センサＩＨは、総数４Ｎ（Ｎは整数）個の光電変換素子を水平方向（図示左右方向）に配列したＣＣＤラインセンサであって、図３（ａ）に示すように左端から順に各画素に対して画素番号ｎ＝１〜４Ｎが付されている。同様に、縦センサＩＶは、総数４Ｎ（Ｎは整数）個の光電変換素子を垂直方向（図示上下方向）に配列したＣＣＤラインセンサであって、図３（ｂ）に示すように上端から順に各画素に対して画素番号ｎ＝１〜４Ｎが付されている。
【００２８】
上記縦センサＩＶ及び横センサＩＨはそれぞれ、参照領域と基準領域の二つの領域に区分けされていて、それぞれの領域に二分割された一対の被写体像の一方が投影され、それぞれの領域の画素（光電変換素子）が積分、つまり被写体像の照度に応じた電荷に光電変換して電気的な信号として蓄積される。積分が終了したら、各画素、センサ単位の画像信号列として出力される。さらに縦センサＩＶ及び横センサＩＨの基準領域に隣接して、不図示のモニタセンサが設けられている。各モニタセンサは、隣接する縦センサＩＶ及び横センサＩＨの受光量をモニタし、モニタ信号（電圧）を出力する。このＣＣＤ焦点検出素子６１は、同一の出力ポート（ＶＯＵＴ）から、縦センサＩＶ及び横センサＩＨの両方の積分が終了するまでは、画像信号の代わりにセンサ毎にモニタ信号（モニタ電圧）を所定周期で繰り返し出力し、縦センサＩＶ及び横センサＩＨのいずれかの積分が終了すると積分終了信号を出力し、縦センサＩＶ及び横センサＩＨの両方の積分が終了すると、縦センサＩＶ及び横センサＩＨが積分した電荷を順番に、所定のビデオ信号、すなわち、それぞれ一対の画像信号列（ＩＶ−Ａ及びＩＶ−Ｂ（図６参照）、ＩＨ−Ａ及びＩＨ−Ｂ（図５参照））に変換して出力する。
【００２９】
ボディＣＰＵ３１は、ＡＦモジュール６０からビデオ信号を入力すると、縦センサＩＶからの一対の画像信号列（ＩＶ−Ａ、ＩＶ−Ｂ）及び横センサＩＨからの一対の画像信号列（ＩＨ−Ａ、ＩＨ−Ｂ）について、それぞれ相関関数ＳＣＯ（ｉ）を求める。相関関数ＳＣＯ（ｉ）は、ＣＣＤラインセンサ（縦センサＩＶ、横センサＩＨ）の基準領域に対応するＡセンサ列Ａｎと参照領域に対応するＢセンサ列Ｂｎの一致度を示すもので、Ａセンサ列ＡｎとＢセンサ列Ｂｎを重ね合わせて各画素毎の差分の絶対値の総和（これを「相関値ＳＣＯ」という。）を求める演算を、Ａセンサ列Ａｎを基準としてＢセンサ列Ｂｎを１画素分ずつシフトしながら実行することで得られる。図４（ａ）は、シフト数Ｉ＝０でＣＣＤラインセンサの基準領域と参照領域が一致している初期状態を示している。最大シフト数を±ｉｍａｘとすれば、図４（ａ）の初期状態から図４（ｂ）（ｃ）に示すようにＡセンサ列Ａｎに対してＢセンサ列Ｂｎを±１画素分シフトさせていき、シフト数Ｉ＝±ｉｍａｘとなるまでシフト及び演算を繰り返す。図４（ｄ）（ｅ）は、シフト数Ｉ＝±ｉの状態を示している。
【００３０】
ここで、相関関数ＳＣＯ（ｉ）は数式１で示すことができる。
【数１】
0005609516.tif 000002
【００３１】
一対の被写体像の相対的な位置ずれ量は、Ａセンサ列ＡｎとＢセンサ列Ｂｎが一致したときのシフト数である。そこで、ボディＣＰＵ３１は、相関関数ＳＣＯ（ｉ）の極小値を検出し、この極小値をとるときのＡセンサ列Ａｎに対するＢセンサ列Ｂｎのシフト数を、像ずれ量として検出する。なお、相関関数ＳＣＯ（ｉ）からはＣＣＤラインセンサの光電変換素子単位でしか相関値を求めることができないため、通常は、さらに、求めた相関関数ＳＣＯ（ｉ）について補間演算を実行し、より精度の高い極小値を求める。このような補間演算は周知であるから、その説明は省略する。
【００３２】
ボディＣＰＵ３１は、算出した縦横方向の像ずれ量のうち、該像ずれ量の算出に用いた一対の画像信号列のコントラスト値の高い方をデフォーカス量として選択し、選択したデフォーカス量で焦点調節動作する。
【００３３】
ここで、本発明の特徴部分である、コントラストが周期的に変化している被写体について焦点検出する場合について説明する。例えばビルの窓や鉄格子、タイル、縞パターン等のように、一定の規則性を持った繰り返しパターンを含む被写体は、そのコントラストが周期的に変化している。
【００３４】
図５及び図６は、垂直方向でコントラストが周期的に変化する横縞パターンについて焦点検出した場合に、ＣＣＤ焦点検出素子の横センサＩＨ及び縦センサＩＶから出力される一対の画像信号列の一例を示している。図中の実線は基準領域に対応する画像信号列（ＩＨ−Ａ、ＩＶ−Ａ）を、破線は参照領域に対応する画像信号列（ＩＨ−Ｂ、ＩＶ−Ｂ）を示している。また図の縦軸はセンサ出力のレベル（輝度値）、横軸はセンサ番号（画素番号）である。このように被写体が横縞パターンである場合、図５の横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂはセンサ列方向（画素の並び方向）において規則性を有さずに変化しているが、図６の縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂはセンサ列方向（画素の並び方向）において周期的な変化をしている。すなわち、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂはコントラストが周期的に変化する繰り返しパターンであり、横センサＩＨから出力される一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂは繰り返しパターンではないことがわかる。
【００３５】
繰り返しパターンではない図５の一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂについて相関演算を実行し、この一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂの一致度を示す相関値ＳＣＯ（ｉ）を極小にするＨシフト数ｉを図７（ａ）に示した。この図７（ａ）から明らかなように、一対の画像信号列ＩＨ−Ａ、ＩＨ−ＢではＨシフト数ｉ＝＋４で相関値ＳＣＯ（ｉ）が極小となるので、Ｈシフト数ｉ＝＋４を横方向の像ずれ量として検出できる。
【００３６】
一方、繰り返しパターンである図６の一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂについて相関演算を実行し、この一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂの一致度を示す相関値ＳＣＯ（ｉ）を極小にするＶシフト数ｉを図７（ｂ）に示した。この図７（ｂ）から明らかなように、一対の画像信号列ＩＶ−Ａ、ＩＶ−ＢではＶシフト数ｉ＝−４、０、＋４で相関値ＳＣＯ（ｉ）が極小となり、Ｖシフト数ｉが複数存在する。このようにＶシフト数ｉが複数存在すると、どれが真の像ずれ量に相当するのか不明であり、像ずれ量の誤検出を招いてしまう。従来の相関演算制御においては、演算時間短縮のために、相関値ＳＣＯ（ｉ）を極小にするシフト数ｉの絶対値が最小となる最小シフト数のみを求める構成が一般的であり、図７（ｂ）の場合にはＶシフト数ｉ＝０が縦方向の像ずれ量と検出される。位相差検出方式ではコントラストが高い被写体ほど焦点検出精度が高くなることから、基本的にはコントラストが高い傾向にある繰り返しパターンにより求めた像ずれ量からデフォーカス量を算出することが望ましい。しかし、上述のように繰り返しパターンから求めた像ずれ量は真の像ずれ量であるか否か不明であるため、真の像ずれ量ではなかった場合は誤合焦を招いてしまう。図７の場合、繰り返しパターンである一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂから求めた縦方向の像ずれ量は０であるのに対し、繰り返しパターンでない一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂから求めた横方向の像ずれ量は＋４であるから、真の像ずれ量は＋４である可能性が高いにもかかわらず、コントラストが高い方の一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂから求めた縦方向の像ずれ量０を単純に選択してデフォーカス量を算出すると、誤合焦になる。
【００３７】
そこで本発明者は、上述のように相関演算で最小シフト数を求める構成であれば、図５〜図７に示されるように、繰り返しパターンである一対の画像信号列から求めた像ずれ量のほうが繰り返しパターンでない一対の画像信号列から求めた像ずれ量よりも小さくなる可能性が高く、かつ、繰り返しパターンである一対の画像信号列から求めた像ずれ量と繰り返しパターンでない一対の画像信号列から求めた像ずれ量との差分が所定値βよりも大きくなる可能性が高いことを見出し、縦横検出型のＣＣＤ焦点検出素子を用いて、縦横方向の像ずれ量の差分により、縦センサ及び横センサから出力された各一対の画像信号列が繰り返しパターンであるか否かを容易に判定することを導出した。すなわち、本実施形態では、縦横方向の像ずれ量の差分が所定値β以上であれば、像ずれ量の絶対値の小さい方の一対の画像信号列を繰り返しパターンと判定する。閾値である所定値βは、ＣＣＤ焦点検出素子が検出可能な繰り返しパターン周期に応じて適宜設定可能である。
【００３８】
また本実施形態では、繰り返しパターン判定の精度を向上させるため、縦センサＩＶ及び横センサＩＨの各々について、各々から出力された一対の画像信号列のコントラスト値ＢＮＣを複数の異なる画素範囲で検出し、この複数のコントラスト値ＢＮＣの差が所定値γより大きければ該一対の画像信号列が繰り返しパターンではないと判定する。一対の画像信号列が繰り返しパターンであっても焦点検出素子のノイズによる影響でＢＮＣの差が０にならないことが考えられる。したがって、閾値である所定値γは焦点検出素子のノイズの影響を考慮した値に設定することが望ましい。
【００３９】
縦センサＩＶ及び横センサＩＨのコントラスト検出に用いる画素範囲は、縦センサＩＶ及び横センサＩＨの輝度検出全体領域を、図３に示すように本実施形態では３つの異なるブロックに分割して設定したものである。図３（ｂ）に示す縦センサＩＶにおいては、輝度検出全体領域の中央に中央検出ブロックＢＶ−Ｃが設定され、この中央検出ブロックＢＶ−Ｃの左右に該中央検出ブロックＢＶ−Ｃと一部重複させた左、右検出ブロックＢＶ−Ｌ、ＢＶ−Ｒが設定されている。同様に、図３（ａ）に示す横センサＩＨにおいては、輝度検出全体領域の中央に中央検出ブロックＢＨ−Ｃが設定され、この中央検出ブロックＢＨ−Ｃの左右に該中央検出ブロックＢＨ−Ｃと一部重複させた左、右検出ブロックＢＨ−Ｌ、ＢＨ−Ｒが設定されている。この左検出ブロックＢＶ−Ｌ及びＢＨ−Ｌ、中央検出ブロックＢＶ−Ｃ及びＢＨ−Ｃ、右検出ブロックＢＶ−Ｒ及びＢＨ−Ｒの画素番号範囲はそれぞれ、１から２Ｎ、Ｎ＋１から３Ｎ、２Ｎ＋１から４Ｎになる。
【００４０】
コントラスト値ＢＮＣは、各検出ブロックＢＶ−Ｌ、ＢＶ−Ｃ、ＢＶ−Ｒ、ＢＨ−Ｌ、ＢＨ−Ｃ、ＢＨ−Ｒについて、縦センサＩＶ、横センサＩＨの基準領域から出力された画像信号列ＩＶ−Ａ、ＩＶ−Ｂ（Ａセンサ列Ａｎ）の隣り合う画素の輝度差の総和からそれぞれ求める。各検出ブロックＢＶ−Ｌ、ＢＶ−Ｃ、ＢＶ−Ｒ、ＢＨ−Ｌ、ＢＨ−Ｃ、ＢＨ−Ｒの開始画素番号をｎｓ、終了画素番号をｎｅとすると、各コントラスト値ＢＮＣ（ＢＮＣ−ＶＬ、ＢＮＣ−ＶＣ、ＢＮＣ−ＶＲ、ＢＮＣ−ＨＬ、ＢＮＣ−ＨＣ、ＢＮＣ−ＨＲ）は数式２で示すことができる。
【数２】
0005609516.tif 000003
【００４１】
コントラスト値ＢＮＣの検出ブロック内に１サイクル以上の繰り返しパターンが含まれる場合は、コントラスト値ＢＮＣ−ＶＬ、ＢＮＣ−ＶＣ、ＢＮＣ−ＶＲの差及びコントラスト値ＢＮＣ−ＨＬ、ＢＮＣ−ＨＣ、ＢＮＣ−ＨＲの差が小さくなるので、このコントラスト値ＢＮＣの差から繰り返しパターンの可能性があるか否かを容易に判定できる。なお、比較するコントラスト値は、比較する検出ブロックの画素数が同一の場合は数式２から算出したコントラスト値ＢＮＣでよいが、比較する検出ブロックの画素数が異なる場合は、数式２から算出したコントラスト値ＢＮＣを検出ブロックの画素数で割った平均コントラスト値とすることが好ましい。
【００４２】
さらに本実施形態では、繰り返しパターンありと判定したときに、繰り返しパターンではない一対の画像信号列から求めた像ずれ量を参照して、繰り返しパターンである一対の画像信号列から求められる真の像ずれ量を算出しなおす。具体的には、繰り返しパターンではない一対の画像信号列から求めた像ずれ量をシフト初期値とし、このシフト初期値から、繰り返しパターンである一対の画像信号列について相関演算を実行し、真の像ずれ量を求める。この真の像ずれ量を求めたうえで、縦横方向の像ずれ量のうち、よりコントラストの高い一対の画像信号列を用いた方をデフォーカス量として選択すれば、コントラストが周期的に変化している被写体についても高精度に合焦させることができる。
【００４３】
次に、この一眼レフカメラの自動焦点検出及び焦点調節動作について、さらに図８〜図１４に示したフローチャートを参照して、より詳細に説明する。
【００４４】
カメラボディ１１に図示しない電池が装填され、メインスイッチＳＷＭがＯＮされると、図８に示したスタート処理に入る。スタート処理に入ると、まず、ボディＣＰＵ３１は、カメラ動作全般を統括的に制御するシステムのイニシャライズを実行する（ステップ（以下「Ｓ」と記す）１０１）。システムのイニシャライズには、ボディＣＰＵ３１の起動、ＲＯＭからマイクロプログラムの読み込み、キャッシュ、入出力ポート、フラグ等のイニシャライズが含まれる。その後、電池から所定の電圧が供給されている間、Ｓ１０３〜Ｓ１３９の処理を実行する。
【００４５】
まず、ボディＣＰＵ３１以外の部材への電力供給を停止するパワーダウン処理を実行し（Ｓ１０３）、測光スイッチＳＷＳがＯＮしたかどうかをチェックする（Ｓ１０５）。測光スイッチＳＷＳがＯＮしていなければ、パワーダウン処理を実行してパワーダウン状態を維持する（Ｓ１０５；Ｎ、Ｓ１０３）。そして測光スイッチＳＷＳがＯＮしたら（Ｓ１０５；Ｙ）、パワーオン処理を実行してＰＨＯＮループ処理に入る（Ｓ１０７）。Ｓ１０７のパワーオン処理は、ボディＣＰＵ３１以外の部材へも電池の電力を供給する処理であって、例えば表示パネル３９に撮影モードなどを表示する。
【００４６】
『ＰＨＯＮループ』
ＰＨＯＮループ処理に入ると、ＰＨＯＮループ時間タイマをスタートさせ（Ｓ１０９）、各スイッチの状態を入力し（Ｓ１１１）、レンズ通信により撮影レンズ５１からレンズ情報を入力する（Ｓ１１３）。ＰＨＯＮループ時間は、主にＡＦ処理を所定間隔で繰り返し実行するためのインターバル時間である。
【００４７】
続いて、周辺制御回路２１から、測光ＩＣ１８によって測光した被写体輝度信号Ｂｖを入力してＡ／Ｄ変換し（Ｓ１１５）、選択された露出モードによるアルゴリズムでＡＥ演算処理を実行してシャッタ速度及び絞り値を求め（Ｓ１１７）、これらの値を表示パネル３９に表示する（Ｓ１１９）。
【００４８】
表示後は、レリーズスイッチＳＷＲがＯＮしているかどうかをチェックする（Ｓ１２１）。レリーズスイッチＳＷＲがＯＮしていれば（Ｓ１２１；Ｙ）、レリーズ処理を実行してＰＨＯＮループ処理に戻る（Ｓ１３９）。レリーズスイッチＳＷＲがＯＮしていなければ（Ｓ１２１；Ｎ）、ＡＦ処理をＰＨＯＮループ時間が経過するまで繰り返し実行する（Ｓ１２３、Ｓ１２５；Ｎ）。そしてＡＦ処理中にＰＨＯＮループ時間が経過したら（Ｓ１２５；Ｙ）、測光スイッチＳＷＳがＯＮしているかどうかをチェックし（Ｓ１２７）、測光スイッチＳＷＳがＯＮしていればＰＨＯＮループ処理の最初のステップに戻る（Ｓ１２７；Ｙ）。
【００４９】
測光スイッチＳＷＳがＯＮしていなければ（Ｓ１２７；Ｎ）、パワーホールド中フラグが"１"かどうかをチェックする（Ｓ１２９）。パワーホールド中フラグ"１"でなければ（Ｓ１２９；Ｎ）、パワーホールドタイマをスタートさせ（Ｓ１３１）、パワーホールド中フラグに"１"をセットして（Ｓ１３３）、Ｓ１３５に進む。一方、パワーホールド中フラグに"１"であれば（Ｓ１２９；Ｙ）、Ｓ１３１、Ｓ１３３をスキップしてＳ１３５に進む。
【００５０】
Ｓ１３５では、パワーホールド時間が経過したかどうかをチェックする。パワーホールド時間が経過していれば（Ｓ１３５；Ｙ）、パワーホールド中フラグをクリアし（Ｓ１３７）、ＰＨＯＮループ処理の最初のステップに戻る。パワーホールド時間が経過していなければ（Ｓ１３５；Ｎ）、そのままＰＨＯＮループ処理の最初のステップに戻る。つまり、測光スイッチＳＷＳがオフしてからパワーホールド時間が経過するまではＳ１０９〜Ｓ１３５の処理を繰り返し実行し、測光スイッチＳＷＳがオフしてからパワーホールド時間が経過したら、パワーホールド中フラグをクリアしてＳ１０３に戻ってパワーダウン処理を実行し、パワーダウン状態で測光スイッチＳＷＳがＯＮするのを待つ（Ｓ１０５）。
【００５１】
Ｓ１２３で実行するＡＦ処理の詳細について、図９に示したフローチャートを参照して説明する。ＡＦ処理に入ると、測光スイッチＳＷＳがＯＮしているかどうかをチェックする（Ｓ２０１）。測光スイッチＳＷＳがＯＮしていなければ（Ｓ２０１；Ｎ）、ＡＦロックフラグ、ＡＧＣレベルシフトフラグ及び時間短縮要求フラグの全てに"０"をセット（フラグクリア）してリターンする（Ｓ２１５、Ｓ２１７、Ｓ２１９、ＲＥＴ）。
【００５２】
測光スイッチＳＷＳがＯＮしていればＳ２０１；Ｙ）、ＡＦロックフラグが"１"かどうかをチェックする（Ｓ２０３）。ＡＦロックフラグは、ワンショットＡＦモードにおいて合焦したときにその合焦状態を維持するためにセットされるフラグである。
【００５３】
ＡＦロックフラグが"１"でなければ（Ｓ２０３；Ｎ）、ＣＣＤ焦点検出素子６１に積分処理を実行させ、ＣＣＤ焦点検出素子６１からビデオ信号を入力してデフォーカス演算を実行し（Ｓ２０５）、演算したデフォーカス量（絶対値）が合焦幅未満であるかどうかチェックする（Ｓ２０７）。本実施形態における合焦幅とは、焦点深度により合焦と見なせるデフォーカス量の範囲である。この合焦幅は、一定値、または撮影レンズから入力した焦点距離、開放絞り情報から演算して設定することができる。
【００５４】
デフォーカス量が合焦幅未満でなかった場合は（Ｓ２０７；Ｎ）、デフォーカス量に基づいてＡＦモータ３３を駆動するパルス数を演算し（Ｓ２１１）、このパルス数に基づいてＡＦモータ３３を駆動して（Ｓ２１３）、リターンする（ＲＥＴ）。デフォーカス量が合焦幅未満であった場合は（Ｓ２０７；Ｙ）、ＡＦロックフラグに"１"をセットし（Ｓ２０９）、リターンする（ＲＥＴ）。ＡＦロックフラグに"１"をセットすると、次にＡＦ処理に入っても、Ｓ２０３からリターンする。
【００５５】
『積分処理』
積分処理について、図１０に示したフローチャートを参照して説明する。積分処理に入ると、まず、積分を開始するタイミングを図る積分タイミングチェック処理を実行し（Ｓ３０１）、ＣＣＤ焦点検出素子６１に対して積分開始通信処理を実行して、ＣＣＤ焦点検出素子６１の縦センサＩＶ、横センサＩＨ及びモニタセンサに積分処理を開始させる（Ｓ３０３）。
【００５６】
縦センサＩＶ及び横センサＩＨのいずれかの積分が終了したかどうかを、ＣＣＤ焦点検出素子６１から出力される積分終了信号によりチェックする（Ｓ３０５）。縦センサＩＶ及び横センサＩＨのいずれかの積分が終了していなければ（Ｓ３０５；Ｎ）、各センサ毎に積分時間を内蔵ＲＡＭ３１ｂにメモリし（Ｓ３０７）、最大積分時間が経過したかどうかをチェックする（Ｓ３１５）。最大積分時間が経過していなければ（Ｓ３１５；Ｎ）、縦センサＩＶ及び横センサＩＨの両方の積分が終了したかどうかをチェックし（Ｓ３１７）、終了していなければＳ３０５に戻る（Ｓ３１７；Ｎ）。
【００５７】
縦センサＩＶ及び横センサＩＨのいずれかのセンサの積分が終了した場合は（Ｓ３０５；Ｙ）、積分終了情報通信処理を実行し（Ｓ３０９）、積分中のセンサがあるか否かをチェックする（Ｓ３１１）。積分中のセンサがある場合は（Ｓ３１１；Ｙ）、積分中のセンサの積分時間をＲＡＭ３１ｂにメモリし（Ｓ３１３）、Ｓ３１５に進む。積分中のセンサがない場合は（Ｓ３１１；Ｎ）、Ｓ３１３をスキップしてＳ３１５に進む。
【００５８】
以上のＳ３０５〜Ｓ３１７の処理を繰り返し、縦センサＩＶ及び横センサＩＨの両方の積分が終了したら（Ｓ３１７；Ｙ）、このループを抜けてＳ３２１に進む。縦センサＩＶ及び横センサＩＨの両方の積分が終了する前に最大積分時間が経過した場合は（Ｓ３１５；Ｙ）、Ｇａｉｎ設定（ゲインアップ設定）（Ｓ３１９）を実行してからＳ３２１に進む。Ｇａｉｎ設定は、ＣＣＤラインセンサから出力された信号の増幅倍率の設定である。
【００５９】
Ｓ３２１では、ＣＣＤ焦点検出素子６１に対して積分終了通信を実行してＣＣＤ焦点検出素子６１に積分を終了させる。続いて、ＣＣＤ焦点検出素子６１からビデオ信号を入力してＡ／Ｄ変換し（Ｓ３２３）、デフォーカス演算を実行して（Ｓ３２５）、リターンする（ＲＥＴ）。
【００６０】
『デフォーカス演算処理』
次に、Ｓ３２５で実行されるデフォーカス演算処理の実施形態について、図１１及び図１２に示したフローチャートを参照して説明する。
【００６１】
デフォーカス演算処理に入ると、先ず、演算パラメータを初期化する(Ｓ４０１）。演算パラメータとしては、数式１、２、３のパラメータや、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグ、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグ、Ｈ演算ＯＫフラグ、Ｖ演算ＯＫフラグ等が含まれる。繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグは、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂが繰り返しパターンの可能性があるか否かを識別するフラグであって、"１"は繰り返しパターンの可能性があることを示す。繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグは、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂが繰り返しパターンの可能性があるか否かを識別するフラグであって、"１"は繰り返しパターンの可能性があることを示す。Ｈ演算ＯＫフラグは横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂについて有効な像ずれ量（デフォーカス量）を演算できたか否かを識別するフラグであって、"１"は演算できたことを示す。Ｖ演算ＯＫフラグは縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂについて有効な像ずれ量（デフォーカス量）を演算できたか否かを識別するフラグであって、"１"は演算できたことを示す。
【００６２】
次に、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂを用いてＡＦ演算を実行する（Ｓ４０３）。このＡＦ演算処理では、一対の画像信号列ＩＨ−Ａ、ＩＨ−ＢからＢＮＣ演算値及びＯＬＣ演算値を算出し、さらに一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂに相関演算を実行して横方向の像ずれ量を求め、この横方向の像ずれ量に基づくデフォーカス演算値を算出する。
ＢＮＣ演算値としては、上述の数式２を用いて、各検出ブロックＢＨ−Ｌ、ＢＨ−Ｃ、ＢＨ−Ｒ毎にコントラスト値をそれぞれ算出する。
ＯＬＣ演算値は、基準領域に対応する画像信号列ＩＨ−Ａと、この画像信号列ＩＨ−Ａから該画像信号列ＩＨ−Ａとの一致度が最も高くなるシフト数ｉだけずらした状態の画像信号列ＩＨ−Ｂとのコントラスト値の平均値であり、数式３から得られる。
【数３】
0005609516.tif 000004
なお、ＡＦ演算処理自体は公知の処理なので、詳細は省略する。
【００６３】
続いて、繰り返しパターンＢＮＣ  ＯＫであるか否かをチェックする（Ｓ４０５）。Ｓ４０５では、Ｓ４０３で求めた各検出ブロックＢＨ−Ｌ、ＢＨ−Ｃ、ＢＨ−ＲのＢＮＣ演算値の差が所定値γ以内かどうかを判定し、ＢＮＣ演算値の差が所定値γ以内のときは繰り返しパターンである可能性が高いので、繰り返しパターンＢＮＣ  ＯＫとする。これは、コントラストが周期的に変化する被写体においては、各検出ブロックＢＨ−Ｌ、ＢＨ−Ｃ、ＢＨ−Ｒ内に１サイクル以上の繰り返しパターンが含まれる可能性が高い、すなわち、複数のＢＮＣ演算値の差が小さい可能性が高いからである。繰り返しパターンＢＮＣ  ＯＫであれば（Ｓ４０５；Ｙ）、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"１"をセットし（Ｓ４０７）、繰り返しパターンＢＮＣ  ＯＫでなければ（Ｓ４０５；Ｎ）、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"０"をセットする（Ｓ４０９）。
【００６４】
続いて、演算ＯＫか否かをチェックする（Ｓ４１１）。Ｓ４１１では、ＡＦ演算処理（Ｓ４０３）の相関演算において、相関関数ＳＣＯ（ｉ）の極小値となる最小シフト数ｉが得られていれば演算ＯＫとする。演算ＯＫであれば（Ｓ４１１；Ｙ）、横方向の像ずれ量が得られたことを識別するＨ演算ＯＫフラグに"１"をセットし（Ｓ４１３）、Ｓ４０３で算出したデフォーカス演算値をＨデフォーカス量にセットし（Ｓ４１５）、Ｓ４０３で算出したＯＬＣ演算値をコントラスト平均値ＯＬＣ−Ｈにセットし（Ｓ４１７）、Ｓ４０３で算出した各ＢＮＣ演算値をコントラスト値ＢＮＣ−Ｈにセットして（Ｓ４１９）、Ｓ４２３に進む。演算ＯＫでなければ（Ｓ４１１；Ｎ）、演算ＯＫフラグに"０"をセットして（Ｓ４２１）、Ｓ４２３に進む。
【００６５】
Ｓ４２３のＡＦ演算処理では、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂを用いてＢＮＣ演算値及びＯＬＣ演算値を算出し、さらに一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂに相関演算を実行して縦方向の像ずれ量を求め、この縦方向の像ずれ量に基づくデフォーカス演算値を算出する。
ＢＮＣ演算値としては、上述の数式２を用いて、各検出ブロックＢＶ−Ｌ、ＢＶ−Ｃ、ＢＶ−Ｒ毎にコントラスト値をそれぞれ算出する。
ＯＬＣ演算値は、基準領域に対応する画像信号列ＩＶ−Ａと、この画像信号列ＩＶ−Ａから該画像信号列ＩＶ−Ａとの一致度が最も高くなるシフト数ｉだけずらした状態の画像信号列ＩＶ−Ｂとのコントラスト値の平均値であり、上述の数式３から得られる。なお、ＡＦ演算処理自体は公知の処理なので、詳細は省略する。
【００６６】
続いて、繰り返しパターンＢＮＣ  ＯＫであるか否かをチェックする（Ｓ４２５）。Ｓ４２５では、Ｓ４２３で求めた各検出ブロックＢＶ−Ｌ、ＢＶ−Ｃ、ＢＶ−ＲのＢＮＣ演算値の差が所定値γ以内かどうかを判定し、ＢＮＣ演算値の差が所定値γ以内のときは繰り返しパターンである可能性が高いので、繰り返しパターンＢＮＣ  ＯＫとする。これは、コントラストが周期的に変化する被写体においては、各検出ブロックＢＶ−Ｌ、ＢＶ−Ｃ、ＢＶ−Ｒ内に１サイクル以上の繰り返しパターンが含まれる可能性が高い、すなわち、複数のＢＮＣ演算値の差が小さい可能性が高いからである。繰り返しパターンＢＮＣ  ＯＫであれば（Ｓ４２５；Ｙ）、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"１"をセットし（Ｓ４２７）、繰り返しパターンＢＮＣ  ＯＫでなければ（Ｓ４２５；Ｎ）、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットする（Ｓ４２９）。
【００６７】
続いて、演算ＯＫか否かをチェックする（Ｓ４３１）。Ｓ４３１では、ＡＦ演算処理（Ｓ４２３）の相関演算において、相関関数ＳＣＯ（ｉ）の極小値となる最小シフト数ｉが得られていれば演算ＯＫとする。演算ＯＫであれば（Ｓ４３１；Ｙ）は、縦方向の像ずれ量が得られたことを識別するＶ演算ＯＫフラグに"１"をセットし（Ｓ４３３）、Ｓ４２３で算出したデフォーカス演算値をＶデフォーカス量にセットし（Ｓ４３５）、Ｓ４２３で算出したＯＬＣ演算値をコントラスト平均値ＯＬＣ−Ｖにセットし（Ｓ４３７）、Ｓ４２３で算出した各ＢＮＣ演算値をコントラスト値ＢＮＣ−Ｖにセットして（Ｓ４３９）、Ｓ４４３に進む。演算ＯＫでなければ（Ｓ４３１；ＮＯ）、Ｖ演算ＯＫフラグに"０"をセットして（Ｓ４４１）、Ｓ４４３に進む。
【００６８】
Ｓ４４３の繰り返しパターン演算処理では、詳細は後述するが、繰り返しパターンではないと判定された一対の画像信号列から求めた像ずれ量をシフト初期値に設定し、繰り返しパターンであると判定された一対の画像信号列について相関演算を再実行することで、該繰り返しパターンの真の像ずれ量を求める。
【００６９】
続いて、Ｈ演算ＯＫフラグに"１"がセットされているか否かをチェックする（Ｓ４４５）。Ｈ演算ＯＫフラグに"１"がセットされていれば（Ｓ４４５：Ｙ）、Ｖ演算ＯＫフラグに"１"がセットされているか否かをチェックし（Ｓ４４７）、Ｖ演算ＯＫフラグに"１"がセットされていればＳ４４９に進む（Ｓ４４７；Ｙ）。この場合は、縦センサＩＶ及び横センサＩＨとも演算ＯＫ、つまり縦センサＩＶ及び横センサＩＨの出力から信頼性のあるデフォーカス量が求まっているから、Ｓ４４９〜Ｓ４５７の処理により、縦方向及び横方向のうちコントラスト値の高い方のデフォーカス量を選択する。
【００７０】
Ｓ４４９では、縦センサＩＶ及び横センサＩＨの中央検出ブロックＢＶ−Ｃ、ＢＨ−Ｃにおけるコントラスト値の差（絶対値）｜（ＢＮＣ−ＨＣ） − （ＢＮＣ−ＶＣ）｜が所定値α以上であるか否かをチェックする（Ｓ４４９）。このコントラスト値の差（絶対値）｜（ＢＮＣ−ＨＣ） − （ＢＮＣ−ＶＣ）｜が所定値α以上であれば（Ｓ４４９：Ｙ）、横センサＩＨの中央検出ブロックＢＨ−Ｃのコントラスト値ＢＮＣ−ＨＣの方が縦センサＩＶの中央検出ブロックＢＶ−Ｃのコントラスト値ＢＮＣ−ＶＣよりも大きいか否かをチェックする（Ｓ４５１）。コントラスト値ＢＮＣ−ＨＣがコントラスト値ＢＮＣ−ＶＣより大きければＨデフォーカス量を選択してリターンし（Ｓ４５１；Ｙ、Ｓ４５３、ＲＥＴ）、コントラスト値ＢＮＣ−ＶＣがコントラスト値ＢＮＣ−ＨＣより大きければＶデフォーカス量を選択してリターンする（Ｓ４５１；Ｎ、Ｓ４５７、ＲＥＴ）。
【００７１】
Ｓ４４９で縦センサＩＶ及び横センサＩＨの中央検出ブロックＢＶ−Ｃ、ＢＨ−Ｃにおけるコントラスト値の差（絶対値）｜（ＢＮＣ−ＨＣ） − （ＢＮＣ−ＶＣ）｜が所定値α以上でないと判定されたときは（Ｓ４４９；Ｎ）、横方向のコントラスト平均値ＯＬＣ−Ｈが縦方向のコントラスト平均値ＯＬＣ−Ｖ未満か否かをチェックする（Ｓ４５５）。横方向のコントラスト平均値ＯＬＣ−Ｈが縦方向のコントラスト平均値ＯＬＣ−Ｖ未満であれば、Ｖデフォーカス量を選択してリターンし（Ｓ４５５；Ｙ、Ｓ４５７、ＲＥＴ）、横方向のコントラスト平均値ＯＬＣ−Ｈが縦方向のコントラスト平均値ＯＬＣ−Ｖ未満でなければ、Ｈデフォーカス量を選択してリターンする（Ｓ４５５；Ｎ、Ｓ４５３、ＲＥＴ）。このようにコントラスト平均値ＯＬＣ−Ｖ、ＯＬＣ−Ｈを比較して高い方を選択することで、より合焦する可能性の高いデフォーカス量を選択することができる。
【００７２】
Ｓ４４５においてＨ演算ＯＫフラグに"１"がセットされていない場合は（Ｓ４４５；Ｎ）、Ｖ演算ＯＫフラグが"０"か否かをチェックする（Ｓ４５９）。ここでＶ演算ＯＫフラグが"０"である場合は、縦センサＩＶ及び横センサＩＨのいずれの出力からも有効な演算結果が得られていないときである。よって、Ｖ演算ＯＫフラグが"０"の場合は（Ｓ４５９；Ｙ）、デフォーカス演算ＮＧ処理を実行してリターンする（Ｓ４６１、ＲＥＴ）。Ｖ演算ＯＫフラグが"０"ではない場合は（Ｓ４５９；Ｎ）、Ｖデフォーカス量を選択してリターンする（Ｓ４５７、ＲＥＴ）。
【００７３】
『繰り返しパターン演算』
次に、Ｓ４４３で実行される繰り返しパターン演算処理の詳細について、図１３及び図１４に示したフローチャートを参照して説明する。
【００７４】
繰り返しパターン演算処理に入ると、まず、Ｈ演算ＯＫフラグに"１"がセットされているか否かをチェックする（Ｓ５０１）。Ｈ演算ＯＫフラグに"１"がセットされていなければ（Ｓ５０１；Ｎ）、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"０"をセットし、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットしてリターンする（Ｓ５６５、Ｓ５６７、ＲＥＴ）。Ｈ演算ＯＫフラグに"１"がセットされていても（Ｓ５０１；Ｙ）、Ｖ演算ＯＫフラグに"１"がセットされていない場合（Ｓ５０３；Ｎ）も同様に、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"０"をセットし、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットしてリターンする（Ｓ５６５、Ｓ５６７、ＲＥＴ）。このように縦センサＩＶ及び横センサＩＨのいずれか一方からデフォーカス量が演算できていない場合は、繰り返しパターンの判定ができないのでリターンする。
【００７５】
Ｈ演算ＯＫフラグ及びＶ演算ＯＫフラグに"１"がセットされている場合は（Ｓ５０１；Ｙ、Ｓ５０３；Ｙ）、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂの相関演算で求めたＨシフト数演算値をＨシフト数とし（Ｓ５０５）、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂの相関演算で求めたＶシフト数演算値をＶシフト数とし（Ｓ５０７）、Ｈシフト数とＶシフト数の差の絶対値｜Ｈシフト数 − Ｖシフト数｜をＨＶシフト数差として求める（Ｓ５０９）。
【００７６】
続いて、ＨＶシフト数差が所定値β以上あるか否かを判定する（Ｓ５１１）。縦センサＩＶ及び横センサＩＨから出力された一対の画像信号列のうち、縦横方向の一方が繰り返しパターンである場合には、ＨＶシフト数差が大きくなる可能性が高い。よって本実施形態では、ＨＶシフト数差が所定値β以上あるか否かにより、繰り返しパターンであるか否かの判定を行う。ＨＶシフト数差が所定値β以上でなければ（Ｓ５１１：Ｎ）、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"０"をセットし、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットしてリターンする（Ｓ５６５、Ｓ５６７、ＲＥＴ）。この場合には、縦センサＩＶ及び横センサＩＨから出力された各一対の画像信号列はいずれも繰り返しパターンではなく、Ｓ４０３及びＳ４２３で算出した像ずれ量は信頼性があるので、繰り返しパターンに対する相関演算処理をスキップしてリターンし、処理の簡素化及び焦点検出時間の短縮化を図る。
【００７７】
逆に、ＨＶシフト数差が所定値β以上であれば（Ｓ５１１；Ｙ）、Ｓ５１３へ進み、繰り返しパターンに対する相関演算処理を実行する。先ずＳ５１３では、Ｈ繰り返しパターン継続フラグが"１"か否かをチェックする。Ｈ繰り返しパターン継続フラグが"１"でない場合は（Ｓ５１３；Ｎ）、Ｖ繰り返しパターン継続フラグが"０"か否かをチェックする（Ｓ５１５）。Ｈ繰り返しパターン継続フラグ及びＶ繰り返しパターン継続フラグは、繰り返しパターン演算処理に最初に入ったときは初期値の"０"である。
【００７８】
Ｖ繰り返しパターン継続フラグが"０"でなければ（Ｓ５１５；Ｎ）、Ｓ５１７〜Ｓ５３３の処理をスキップしてＳ５３５へ進む。Ｖ繰り返しパターン継続フラグが"０"の場合は（Ｓ５１５；Ｙ）、繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグが"１"か否かをチェックする（Ｓ５１７）。繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグが"１"でなければ（Ｓ５１７；Ｎ）、Ｓ５１９〜Ｓ５３３をスキップし、Ｓ５３５に進む。この場合は、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−ＢがＳ４０９ですでに繰り返しパターンではないと判定されていて、Ｓ４０３で算出した横方向の像ずれ量は信頼性があるので、像ずれ量の再演算を行わず、演算量及び処理時間のカットを図る。
【００７９】
繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグが"１"であれば（Ｓ５１７；Ｙ）、Ｈシフト数の絶対値がＶシフト数の絶対値以下であるか否かをチェックする（Ｓ５１９）。Ｓ５１９において、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂが繰り返しパターンである場合は、Ｈシフト数の絶対値がＶシフト数の絶対値以下であると判定される。Ｈシフト数の絶対値がＶシフト数の絶対値以下であれば（Ｓ５１９；Ｙ）、Ｈ繰り返しパターンフラグに"１"をセットし（Ｓ５２１）、Ｖシフト数をＨシフト数にセットし（Ｓ５２３）、横センサＩＨから出力された一対の画像信号列ＩＨ−Ａ、ＩＨ−ＢについてＡＦ演算を実行する（Ｓ５２５）。このＡＦ演算処理では、Ｓ５２３でセットしたＨシフト数をシフト初期値とし、このシフト初期値から、一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂについて相関演算が再実行される。このように繰り返しパターンである一対の画像信号列ＩＨ−Ａ、ＩＨ−Ｂの真の像ずれ量が存在するであろう範囲について相関演算が再実行されるので、真の像ずれ量を検出できる。
【００８０】
続いて、演算ＯＫか否かをチェックする（Ｓ５２７）。Ｓ５２７では、ＡＦ演算処理（Ｓ５２５）の相関演算において、相関関数ＳＣＯ（ｉ）の極小値となる最小シフト数ｉが得られていれば演算ＯＫとする。演算ＯＫであれば（Ｓ５２７；Ｙ）、デフォーカス演算値をＨデフォーカス量にセットし（Ｓ５２９）、ＯＬＣ演算値をコントラスト平均値ＯＬＣ−Ｈにセットし（Ｓ５３１）、Ｈ繰り返しパターン継続フラグに"１"をセットし（Ｓ５３３）、Ｓ５３５に進む。演算ＯＫでなければ（Ｓ５２７；Ｎ）、正確なデフォーカス演算値が得られていないので、Ｓ５２９〜Ｓ５３３をスキップしてＳ５３５に進む。
【００８１】
Ｈシフト数の絶対値がＶシフト数の絶対値以下でなければ（Ｓ５１９；Ｎ）、Ｓ５２１〜Ｓ５３３をスキップして、Ｓ５３５へ進む。
【００８２】
Ｓ５３５では繰り返しパターンＢＮＣ−Ｈ  ＯＫフラグに"０"をセットする。続いて、Ｈ繰り返しパターンフラグに"０"をセットし（Ｓ５３７）、Ｓ５３９に進む。
【００８３】
Ｓ５３９〜Ｓ５６３では、縦センサＩＶについて、横センサＩＨに関するＳ５１３〜Ｓ５３７と同様の処理を、以下の通り実行する。
【００８４】
Ｓ５３９ではＶ繰り返しパターン継続フラグが"１"か否かをチェックする。Ｖ繰り返しパターン継続フラグが"１"でない場合は（Ｓ５３９；Ｎ）、Ｈ繰り返しパターン継続フラグが"０"か否かをチェックし（Ｓ５４１）、Ｈ繰り返しパターン継続フラグが"０"の場合は（Ｓ５４１；Ｙ）、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグが"１"か否かをチェックする（Ｓ５４３）。
【００８５】
繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグが"１"でなければ（Ｓ５４３；Ｎ）、Ｓ５４５〜Ｓ５５９をスキップし、Ｓ５６１に進む。この場合は、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−ＢがＳ４２９ですでに繰り返しパターンではないと判定されていて、Ｓ４２３で算出した縦方向の像ずれ量は信頼性があるので、像ずれ量の再演算を行わず、演算量及び処理時間のカットを図る。
【００８６】
繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグが"１"であれば（Ｓ５４３；Ｙ）、Ｖシフト数の絶対値がＨシフト数の絶対値以下であるか否かをチェックする（Ｓ５４５）。Ｖシフト数の絶対値がＨシフト数の絶対値以下である場合は（Ｓ５４５；Ｙ）、Ｖ繰り返しパターンフラグに"１"をセットし（Ｓ５４７）、Ｈシフト数をＶシフト数にセットし（Ｓ５４９）、縦センサＩＶから出力された一対の画像信号列ＩＶ−Ａ、ＩＶ−ＢについてＡＦ演算を実行する（Ｓ５５１）。このＡＦ演算処理では、Ｓ５４９でセットしたＨシフト数をシフト初期値とし、このシフト初期値から、一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂについて相関演算が再実行される。このように繰り返しパターンである一対の画像信号列ＩＶ−Ａ、ＩＶ−Ｂの真の像ずれ量が存在するであろう範囲について相関演算が再実行されるので、真の像ずれ量から正確なデフォーカス量を算出できる。
【００８７】
続いて、演算ＯＫか否かをチェックする（Ｓ５５３）。Ｓ５５３では、ＡＦ演算処理（Ｓ５５１）の相関演算において、相関関数ＳＣＯ（ｉ）の極小値となる最小シフト数ｉが得られていれば演算ＯＫとする。演算ＯＫであれば（Ｓ５５３；Ｙ）、デフォーカス演算値をＶデフォーカス量にセットし（Ｓ５５５）、ＯＬＣ演算値をコントラスト平均値ＯＬＣ−Ｖにセットし（Ｓ５５７）、Ｖ繰り返しパターン継続フラグに"１"をセットし（Ｓ５５９）、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットし（Ｓ５６１）、Ｖ繰り返しパターンフラグに"０"をセットしてリターンする（Ｓ５６３、ＲＥＴ）。
【００８８】
Ｓ５４１においてＨ繰り返しパターン継続フラグが"０"でないと判定された場合（Ｓ５４１；Ｎ）、または、Ｖシフト数の絶対値がＨシフト数の絶対値以下でないと判定された場合は（Ｓ５４５；Ｎ）、Ｓ５４７〜Ｓ５５９をスキップしてＳ５６１に進む。演算ＯＫでないと判定された場合は（Ｓ５５３；Ｎ）、Ｓ５５５〜Ｓ５５９をスキップして、Ｓ５６１へ進む。Ｓ５６１では、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"０"をセットする。続いて、Ｖ繰り返しパターンフラグに"０"をセットしてリターンする（Ｓ５６３、ＲＥＴ）。
【００８９】
以上のように本実施形態では、縦センサＩＶ及び横センサＩＨから出力された各一対の画像信号列により求めた縦方向の像ずれ量及び横方向の像ずれ量の差に基づいて繰り返しパターンであるか否かを判定するので、簡単な演算処理で繰り返しパターンを判定できる。そして、縦センサＩＶ及び横センサＩＨから出力された各一対の画像信号列のうち一方に繰り返しパターンがあると判定すると、繰り返しパターンと判定した一対の画像信号列について、他方の一対の画像信号列から求めた像ずれ量に対応するシフト数だけずらした位置から相関演算を再実行するので、繰り返しパターンの真の像ずれに基づいた正確な像ずれ量を検出することが可能になった。例えば図５〜図７に示した垂直方向でコントラストが周期的に変化する横縞パターンについて焦点検出する場合は、Ｓ４２５の繰り返しパターンＢＮＣ  ＯＫ判定でＯＫと判定され（Ｓ４２５；Ｙ）、繰り返しパターンＢＮＣ−Ｖ  ＯＫフラグに"１"がセットされている（Ｓ４２７）とすると、Ｖシフト数＝０、Ｈシフト数＝＋４であるから、Ｓ５４９にてＶシフト数に＋４がセットされ、Ｓ５５１のＡＦ演算処理にてＶシフト数＋４だけシフトした位置から相関演算が開始されるので、相関関数ＳＣＯの極小値を得る最小のシフト数としてシフト数＋４が検出され、このシフト数＋４が真の像ずれ量としてデフォーカス演算値に用いられる。そして、Ｓ４４９〜Ｓ４５７にて、求めた縦横方向のデフォーカス演算値のうち、よりコントラストの高い方がデフォーカス量として選択される。よって、繰り返しパターンを用いてもデフォーカス量の誤検出を防止でき、焦点検出精度が向上する。
【００９０】
また本実施形態では、縦センサＩＶ及び横センサＩＨから出力された各一対の画像信号列について複数の異なる検出ブロックでコントラスト値を算出し、複数の異なる検出ブロックのコントラスト値の差が所定値γより大きければ繰り返しパターンではないと判定するので、縦横方向の像ずれ量の差のみで判定する場合よりも繰り返しパターンの判定精度を高められ、誤判定を防止できる。さらに繰り返しパターンではないと判定した一対の画像信号列については、該一対の画像信号列から求めた像ずれ量に信頼性があることから、像ずれ量の再演算を省略することができ、演算量及び処理時間を減らすことができる。
【００９１】
本実施形態では、交差焦点検出エリアＣＣが得られるように直交する十字形に配置した縦センサＩＶ及び横センサＩＨを用いているが、縦センサＩＶと横センサＩＨは互いに異なる別の一方向に並んでいればよく、例えばＬ字形やＴ字形で配置する態様にも適用可能である。
【符号の説明】
【００９２】
１１  カメラボディ
３１  ボディＣＰＵ
３２  ＡＦモータドライバ
３３  ＡＦモータ
３４  ギヤブロック
３５  ジョイント
３７  エンコーダ
３８  フラッシュメモリ
５１  撮影レンズ
５２  焦点調節レンズ群
５３  ギヤブロック
５５  ジョイント
５７  レンズＣＰＵ
６０  ＡＦモジュール
６１  ＣＣＤ焦点検出素子
７０  撮影画面
ＣＣ  交差焦点検出エリア
ＣＣＶＨ  重複領域
ＩＨ  横センサ
ＩＶ  縦センサ
【図１】
0005609516.tif 000005
【図２】
0005609516.tif 000006
【図３】
0005609516.tif 000007
【図４】
0005609516.tif 000008
【図５】
0005609516.tif 000009
【図６】
0005609516.tif 000010
【図７】
0005609516.tif 000011
【図８】
0005609516.tif 000012
【図９】
0005609516.tif 000013
【図１０】
0005609516.tif 000014
【図１１】
0005609516.tif 000015
【図１２】
0005609516.tif 000016
【図１３】
0005609516.tif 000017
【図１４】
0005609516.tif 000018