(57)【要約】【課題】低コントラストの被写体であっても、合焦外れが少ない焦点検出方法を提供する。【解決手段】複数の焦点検出エリア内の被写体像のコントラストに基づいて焦点状態を検出する焦点検出方法であって、撮影レンズの焦点調節レンズ群を調節可動範囲内において段階的に移動させながら撮像し、撮像した各焦点検出エリア内の被写体像のコントラストを求め、焦点検出エリア毎に、焦点調節レンズ移動方向におけるコントラストから所定の信頼性条件を満たすピークコントラストを検出し、所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、所定数以上の焦点検出エリアにおける同一または所定範囲内の焦点調節レンズ位置において検出されたピークコントラストを選択する。【選択図】  図８
2006106484.tif 000002
【特許請求の範囲】
【請求項１】
複数の焦点検出エリア内の被写体像のコントラストに基づいて焦点状態を検出する焦点検出方法であって、
撮影レンズの焦点調節レンズ群を調節可動範囲内において段階的に移動させながら撮像し、
撮像した各焦点検出エリア内の被写体像のコントラストを求め、
焦点検出エリア毎に、焦点調節レンズ移動方向におけるコントラストから所定の信頼性条件を満たすピークコントラストを検出し、
所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、所定数以上の焦点検出エリアにおける同一または所定範囲内の焦点調節レンズ位置において検出されたピークコントラストを選択すること、を特徴とする焦点検出方法。
【請求項２】
請求項１記載の焦点検出方法において、前記信頼性条件は、前記検出したピークコントラストと、ピーク検出のために比較したコントラストとの差が所定値以上あること、その焦点検出エリアにおいて得られたコントラストの最低値との差が所定値以上あること、およびピークコントラストがその焦点検出エリアの最大値であることの、いずれか一つ以上である焦点検出方法。
【請求項３】
請求項１または２記載の焦点検出方法において、前記コントラストのピークは、前記コントラストが焦点調節レンズ移動方向に沿って連続して２回増大しかつ２回連続して減少している場合の最大コントラストとする焦点検出方法。
【請求項４】
請求項１から３のいずれか一項記載の焦点検出方法において、前記信頼性のあるコントラストが得られず、同一または所定範囲内の焦点調節レンズ位置における所定数以上のピークコントラストが、異なる焦点調節レンズ位置または所定範囲に存在したときは、最も近距離に相当する焦点調節レンズ位置または所定範囲のピークコントラストを選択する焦点検出方法。
【請求項５】
請求項１から４のいずれか一項記載の焦点検出方法において、前記信頼性のあるコントラストが得られず同一または所定範囲内の焦点調節レンズ位置における所定数以上のピークコントラストを選択したときは、選択した複数のピークコントラストから得られた焦点調節レンズ位置の平均位置を合焦レンズ位置として焦点調節する焦点検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像データのコントラストを使用して焦点を検出する焦点検出方法に関する。
【背景技術】
【０００２】
いわゆるコンパクトタイプのデジタルカメラの焦点調節方法として、撮像した画像データのコントラストにより焦点を検出する画像コントラスト法が知られている。画像コントラスト法による焦点調節装置は、焦点調節レンズ群を無限遠合焦位置と至近合焦位置との間を移動しながら撮像を繰り返して撮像した被写体像（画像データ）のコントラストがピークとなる焦点調節レンズ群の位置を求める。そのために従来の焦点調節装置は、焦点調節レンズ群を無限遠（最長）合焦位置から至近（最短）合焦位置までステップ移動しながら複数位置で撮像し、撮像した映像信号から各レンズ位置におけるコントラストを求め、さらにコントラストの極大値（ピーク値）を求めて、極大値が得られたレンズ位置を合焦点と判定してそのレンズ位置に焦点調節レンズ群を移動していた（特許文献１）。
【特許文献１】特開2001-249267号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来の画像コントラスト法において、被写体がローコントラストまたは暗くて複数のピークを検出した場合や、ピークを検出できなかった場合等、一つのピークを決定できなかった場合は、ストロボのオン／オフや、蛍光灯下であるか否か等で、仮想の合焦位置を決定していた。そのため、近距離のローコントラストの被写体の場合は大きく外れた距離に合焦されてしまう。被写体像を表示する液晶ディスプレイを備えたデジタルカメラの場合は、液晶ディスプレイに表示された被写体像がピンボケ過ぎることがあった。
【０００４】
本発明は、かかる従来の画像コントラスト式の焦点検出方法の問題に鑑みてなされたもので、低コントラストの被写体であっても、合焦外れが少ない焦点検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この目的を達成する本発明は、複数の焦点検出エリア内の被写体像のコントラストに基づいて焦点状態を検出する焦点検出方法であって、撮影レンズの焦点調節レンズ群を調節可動範囲内において段階的に移動させながら撮像し、撮像した各焦点検出エリア内の被写体像のコントラストを求め、焦点検出エリア毎に、焦点調節レンズ移動方向におけるコントラストから所定の信頼性条件を満たすピークコントラストを検出し、所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、所定数以上の焦点検出エリアにおける同一または所定範囲内の焦点調節レンズ位置において検出されたピークコントラストを選択すること、に特徴を有する。
【０００６】
前記信頼性条件は、前記検出したピークコントラストと、ピーク検出のために比較したコントラストとの差が所定値以上あること、その焦点検出エリアにおいて得られたコントラストの最低値との差が所定値以上あること、およびピークコントラストがその焦点検出エリアの最大値であることの、いずれか一つ以上から選択できる。
【０００７】
コントラストのピークは、前記コントラストが焦点調節レンズ移動方向に沿って連続して２回増大しかつ２回連続して減少している場合の最大コントラストとすることができる。
【０００８】
前記信頼性のあるコントラストが得られず、同一または所定範囲内の焦点調節レンズ位置における所定数以上のピークコントラストが、異なる焦点調節レンズ位置または所定範囲に存在したときは、最も近距離に相当する焦点調節レンズ位置または所定範囲のピークコントラストを選択する。
【０００９】
前記信頼性のあるコントラストが得られず、同一または所定範囲内の焦点調節レンズ位置における所定数以上のピークコントラストを選択したときは、選択した複数のピークコントラストから得られた焦点調節レンズ位置の平均位置を合焦レンズ位置として焦点調節する。
【発明の効果】
【００１０】
本発明によれば、画像コントラスト法において所定の信頼性条件を満たすピークコントラストが検出できなかった場合は、各焦点検出エリア毎に得た、または各焦点検出エリア毎にピークコントラストを検出し、同一または所定範囲内の焦点調節レンズ位置において、所定数以上の焦点検出エリアで検出されたピークコントラストを選択するので、正確な合焦はできなくても大きく外れることはない。
【００１１】
さらに請求項２記載発明によれば、焦点調節レンズ群を移動領域全域を移動させることなくコントラストのピークを検出できるので、焦点調節開始から合焦するまでの時間が短縮される。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態について、図を参照して説明する。図１は、本発明を適用したデジタルカメラの概要をブロックで示す図である。
【００１３】
このデジタルカメラは、焦点調節レンズ群Ｌ１を含む撮影レンズＬにより被写体像を、撮像手段としての撮像素子（ＣＣＤイメージセンサ）１１の受光面に形成する。撮像素子１１は、所定間隔で縦横に配置された多数の画素（光電変換素子）を有し、受光した被写体像を各画素が電荷に変換し、蓄積（積分）する。露光が終了すると、蓄積した電荷を画素単位で画像信号として画像信号処理回路１３に出力する。画像信号処理回路１３は、入力した画像信号についてホワイトバランス調整等所定の調整処理、Ａ／Ｄ変換処理を施してデジタル映像データをＣＰＵ１５に出力する。つまり、画像信号処理回路１３において所定の処理が施され、画素単位でデジタル変換された画像データが、ＣＰＵ１５に出力される。ＣＰＵ１５は、スルーモード（モニタモード）のときは入力した画像データをＬＣＤ（モニタ）１７で表示可能な画像信号に変換してＬＣＤ１７により表示し、記録モードのときは所定フォーマットの画像データに変換して画像メモリ制御回路１９を介して画像メモリ２１に書き込む。図１において、符号２９は合焦／非合焦表示用のＬＥＤであって、例えば、合焦状態のときは緑色（青色）を点灯し、非合焦状態のときは緑色を点滅または赤色点灯する。
【００１４】
図２には、撮像素子の撮像面と焦点検出エリアとの一例として、撮像素子１１の受光面１２と、５個の焦点検出エリア１２Ａ、１２Ｂ、１２Ｃ、１２Ｄ、１２Ｅとの関係を示してある。図３は、中央の第１焦点検出エリア１２Ａを拡大して示した図である。第１焦点検出エリア１２Ａは受光面１２のほぼ中央に位置し、第２、第３焦点検出エリア１２Ｂ、１２Ｃは、第１焦点検出エリア１２Ａを挟んで左右に位置し、第４、第５焦点検出エリア１２Ｄ、１２Ｅは第１焦点検出エリア１２Ａを挟んで上下に位置している。受光面１２には、各画素（光電変換素子）より被写体側に、原色フィルタとしての赤（Ｒ）フィルタ、緑（Ｇ）フィルタおよび青（Ｂ）フィルタが配置されていて、各画素は、被写体光束中、各原色フィルタＲ、Ｇ、Ｂを透過した赤、緑および青成分を受光して光電変換し、電荷として蓄積（積分）する。所定時間蓄積した電荷は、画素単位で読み出され、画像信号として出力される。
【００１５】
図３には、一般的な原色フィルタの配置パターンを示してある。原色フィルタは、水平方向に、２種類のフィルタＧ、Ｒが交互に配置されたＧＲラインと、２種類のフィルタＢ、Ｇが交互に配置されたＢＧラインとを備え、ＧＲラインとＢＧラインとが垂直方向に交互に配置されている。この実施形態では、水平方向２個分、垂直方向２個分（２×２）の正方形内の４画素、つまり２個のフィルタＧと各１個のフィルタＲ、Ｂを含む計４画素の組み合わせを１ブロックとして、各ブロック内の画素が蓄積した画像信号の大きさの和を輝度ａnとする。
ａn= G + R + B + G
【００１６】
そうして、１ブロックの輝度ａnと、水平方向に１ブロック飛ばした１ブロックの輝度ａn+2との差（ａn+2 - ａn）を求める処理を、焦点検出エリア内において水平右方向に繰り返し、輝度差（ａn+2 - ａn）を加算する。この輝度差（ａn+2 - ａn）を求める処理が水平方向右端のブロックに到達すると、垂直方向下方に１ブロックずらしてから輝度差を求める処理および加算処理を水平右方向に右端のブロックに達するまで繰り返す。以上の差の加算処理を、焦点検出エリア内の全ブロックについて繰り返し実行する。さらに同様の処理を、５個の焦点検出エリア１２Ａ乃至１２Ｅそれぞれについて実行する。
【００１７】
以上の処理によって得られる、各焦点検出エリア１２Ａ乃至１２Ｅについて求めた輝度差（ａn+2 - ａn）の和がそのレンズ位置における各焦点検出エリア１２Ａ乃至１２Ｅのコントラスト値になる。このコントラスト値は、下記数１式で現すことができる。
【００１８】
【数１】
2006106484.tif 000003
【００１９】
この実施形態において、コントラストＡＦ処理のときにＣＰＵ１５は、モータドライバ２３、ＡＦモータ２５、レンズ駆動機構２７を介して焦点調節レンズ群Ｌ１をステップ駆動しながら撮像素子１１により撮像し、撮像した画像信号中、予め設定された焦点検出エリア内の画像信号を入力して各焦点検出エリア内のコントラスト値を求め、コントラストデータとして内蔵ＲＡＭに記憶する。ＣＰＵ１５はこのコントラストＡＦ処理を、焦点調節レンズ群Ｌ１を一方の移動限界位置である至近（最短）合焦位置から他方の移動限界位置である無限遠合焦位置方向にステップ駆動させながら繰り返す。
【００２０】
この実施形態では、焦点調節レンズ群Ｌ１の位置を、至近合焦位置を原点位置として原点センサ２７ａで検知し、原点からの駆動パルス数としてカウントする。駆動パルスは、例えばＡＦモータ２５の出力軸に装着されたフォトインタラプタ等のエンコーダが出力するパルスとして定義する。なお、通常は、焦点調節レンズ群Ｌ１を至近合焦位置から無限遠合焦位置まで駆動するのに数百パルスあるいはそれ以上要するが、本実施形態におけるコントラストＡＦ処理では、数パルスまたは数十パルス単位でステップ駆動（撮像）するものとし、本実施形態のコントラストＡＦ処理における駆動パルスは、フォトインタラプタが出力する複数パルスを１パルスとする。
【００２１】
至近（最短）合焦位置から無限遠合焦位置までの複数位置におけるコントラストデータが得られたら、焦点調節レンズ群Ｌ１の移動方向、例えば近距離側から遠距離側に連続した複数位置におけるコントラストデータを隣同士で順番に比較し、コントラスト値が所定回連続して増大し、かつ所定回連続して減少しているかどうか、つまりピークがあるかどうかを判定する。本実施形態では、近距離側または遠距離側から順に５位置分のコントラストデータに基づいて、コントラスト値が２回連続して増加しかつ２回連続して減少しているかどうか判定する。かかる判定を、１個分ずつ遠距離側または近距離側にずらせながら５個分のコントラストデータについて繰り返し実施する。２回連続して増大しかつ２回連続して減少している場合は、信頼性が高いかどうかを判定して、信頼性が高い場合のみ、ピークコントラストとする。
【００２２】
さらに本発明の実施形態では、信頼性が高いピークコントラストが無かった場合は、前記同様に、近距離側または遠距離側から順に５位置分のコントラストデータに基づいて、コントラスト値が２回連続して増加しかつ２回連続して減少しているかどうか判定して、ピークを検出する。そうして、全てのエリアについて求めたピークコントラストの内、同一のレンズ位置におけるピークコントラストが所定数以上存在するレンズ位置を検出する。そうして、それぞれのピークコントラストを挟むコントラストデータから近似演算をしてより正確なレンズ位置を求め、それらの平均のレンズ位置に焦点調節レンズ群Ｌ１を移動する。そうして、ＬＥＤ２９を非合焦点灯する。
【００２３】
このように本実施形態では、信頼性の高いピークコントラストを検出できなかった場合は、信頼性にかかわらずピークコントラストを求め、同一のレンズ位置において所定数以上のピークコントラストが存在した場合に、そのレンズ位置または近傍に合焦点があるとして処理することに特徴の一つがある。
【００２４】
以下、本発明のコントラストＡＦ処理の実施形態について、さらに図４から図１０に示したフローチャートおよび図１１に示したコントラストとレンズ位置との関係に関するグラフ、図１２に示したレンズ位置パルス数とピーク数との関係およびエリアとピーク数との関係に関する表（Ａ）、（Ｂ）、図１３に示した直線近似グラフを参照して詳細に説明する。この実施形態は、測光スイッチＳＷＳがオンしたときに、このフローチャートに入り、コントラストＡＦ処理を１回実行する、いわゆるワンショットＡＦとする。
【００２５】
コントラストＡＦ処理に入ると、まず各変数等の初期化を実行する（Ｓ１１）。例えばこの実施形態では、各ステータスのクリア、コントラスト値のクリア、レンズ位置PNの初期化（PN = 0）、コントラストの最大値 = 0、最小値 = FFFFFFFF、焦点距離によるエリア数設定等を実行する。ここでレンズ位置PNは、焦点調節レンズ群Ｌ１が至近合焦位置にあるときを０として、無限遠合焦位置方向に、１パルス分移動する毎に１カウントアップされる変数である。
なお、焦点距離によるエリア数とは、焦点距離に応じて予め設定された、コントラスト値を算出するエリア数である。
【００２６】
フォーカスイニシャライズ処理を実行する（Ｓ１３）。フォーカスイニシャライズ処理とは、焦点調節レンズ群Ｌ１を一方の移動限界位置、本実施形態では至近合焦位置まで移動することである。焦点調節レンズ群Ｌ１が至近合焦位置に移動したことは、原点センサ２７ａによって検知する。
【００２７】
そうして、現在の焦点レンズ群位置である至近合焦位置におけるコントラスト値算出処理を実行する（Ｓ１５）。つまり、撮像素子１１から入力した画像データに基づいて、至近合焦位置におけるコントラスト値P[0]を算出し、コントラストの最大値、最小値を更新する。
【００２８】
ＡＦモータ２５を無限遠合焦位置方向にステップ駆動するモータ駆動処理を開始する（Ｓ１７）。つまり、焦点調節レンズ群Ｌ１を至近合焦位置から無限遠合焦位置方向に、１個のレンズ位置PN単位でステップ移動させる。そうして、レンズ位置PNをカウントアップする（Ｓ１９）。
【００２９】
次に、撮像素子１１から入力した画像データに基づいてコントラスト値P[PN]を算出し、最大値、最小値を更新する（Ｓ２１）。そうして、コントラスト値P[PN]が設定条件を満足するピーク値であるかどうかをチェックするピークチェック処理を実行する（Ｓ２３）。コントラスト値算出処理（Ｓ２１）およびピークチェック処理（Ｓ２３）は、５個の焦点検出エリア１２Ａ乃至１２Ｅ全てについて実施する。なお、以下、焦点検出エリア１２Ａ乃至１２Ｅを、エリア０、エリア１、エリア２、エリア３、エリア４と略する。
【００３０】
以上のＳ１７乃至Ｓ２５の処理を、焦点調節レンズ群Ｌ１を無限遠合焦位置方向に１パルス単位でステップ駆動しながら繰り返す（Ｓ２５；N0、Ｓ１７）。このように焦点調節レンズ群Ｌ１をステップ駆動する毎にピークチェック処理を実行すれば、至近合焦位置から無限遠合焦位置まで駆動して全域のコントラスト値を得た後にまとめてピークチェック処理を実行するよりも処理時間を短縮できる。
なお、焦点調節レンズ群Ｌ１のステップ駆動を、撮像素子１１から画像データを読み込んだ直後に実行し、次にステップ駆動する間に演算処理を実行すれば、より処理時間の短縮、または焦点調節レンズ群Ｌ１を停止した状態において実効積分時間を長くすることが可能になる。
【００３１】
焦点調節レンズ群Ｌ１が無限遠合焦位置に達し、無限遠合焦位置におけるコントラスト値算出処理（Ｓ２１）およびピークチェック処理（Ｓ２３）が終了したら（Ｓ２５；YES）、ＡＦモータ２５を停止させる（Ｓ２７）。そうして、Ｓ１７からＳ２５のループ処理で得たコントラストデータ中、ピーク値を含む連続した５レンズ位置分のコントラスト値に基づいて、ピーク値を（直線近似）演算するピーク算出処理を実行する（Ｓ２９）。つまり、ステップ位置毎に求めたコントラスト値のピーク値の前後に真のピーク値が存在する可能性があるので、補間演算によってより正確と推定されるピーク値を求める。この実施形態では、極大値を挟む前後のコントラスト値を結ぶ二本の直線の交点を求める。この交点が、より正確なピーク値と推定される。
【００３２】
各焦点検出エリア毎に得たピークのコントラストのピーク値に基づいて、最も近距離の値が得られた焦点検出エリアを合焦エリアとするエリア選択処理を実行する（Ｓ３１）。そうして、この合焦エリアにおいてピーク値が得られたレンズ位置に焦点調節レンズ群Ｌ１を移動させて（Ｓ３３）、コントラストＡＦ処理を終了する（END）。
【００３３】
『コントラスト値算出処理』
Ｓ１５およびＳ２１で実行されるコントラスト値算出処理について、図５に示したフローチャートを参照してより詳細に説明する。なお、このフローチャートの処理は、５個の焦点検出エリア１２Ａ乃至１２Ｅについて実行する。以下、各焦点検出エリア１Ａ乃至１２Ｅを、エリア０、エリア１、エリア２、エリア３およびエリア４とする。
【００３４】
コントラスト値算出処理に入ると、焦点調節レンズ群Ｌ１をステップ駆動させながら得たレンズ位置（パルス数）PN毎のコントラストデータから各レンズ位置PNにおけるコントラスト値P[PN]を、下記数２式により求める（Ｓ１０１）。
【００３５】
【数２】
2006106484.tif 000004
【００３６】
そうして、これまでに求めた最大値とコントラスト値P[PN]を比較して（Ｓ１０３、Ｓ１０７）、大きければそのコントラスト値P[PN]を最大値に代入し（Ｓ１０３；YES、Ｓ１０５）、これまでに求めた最小値と比較して小さければそのコントラスト値P[PN]を最小値に代入する（Ｓ１０７；YES、Ｓ１０９）。このコントラスト値P[PN]算出および比較処理（Ｓ１０１乃至Ｓ１０９）を、全てのエリア０乃至４について繰り返す。全てのエリア０乃至４について終了したらリターンする。
【００３７】
『ピークチェック処理』
Ｓ２５で実行されるピークチェック処理の詳細について、さらに図６に示したフローチャートを参照して説明する。この処理は、各エリア０乃至４について、焦点調節レンズ群Ｌ１をステップ駆動させながら得たレンズ位置PN毎のコントラスト値P[PN]からピークを求める処理である。この実施形態では１ステップ単位で得た連続した５位置分のコントラスト値P[PN]について、最短（至近）側から無限遠側に順に隣同士比較して、コントラスト差が第１の所定回数である２回連続して増加し、かつ第２の所定回数である２回連続して減少したかどうかをチェックする。そうして、コントラスト値が２回連続して増加し、かつ２回連続して減少していた場合は、そのときの最大のコントラスト値P[PN]をピークコントラスト（極大値）と判定する。
【００３８】
ピークチェック処理に入ると、まず、レンズ位置パルスPulse[PN]に現在のレンズ位置（パルス数）PNを代入する（Ｓ２０１）。最初は、至近合焦位置である０を代入する。
【００３９】
次に、レンズ位置PNがN×2以下であるかどうかをチェックする（Ｓ２０３）。ここで“N”は予め設定された所定回数であって、本実施形態では、N = 2に設定してある。したがって、４≦PN  でない場合（Ｓ２０３；NO）は次のエリアに進むか、最後のエリア４であったならばリターンする（RETURN）。 ４≦PN の場合（Ｓ２０３；YES）は、現在から４個前までの計５個のコントラスト値について、２回連続して増加しかつ２回連続して減少したかどうかをチェックする（Ｓ２０５）。直前の５個のコントラスト値が２回連続して増加しかつ２回連続して減少していない場合（Ｓ２０５；NO）は次のエリアに進むか、最後のエリア４であったならばリターンする（RETURN）。リターンすると、焦点調節レンズ群Ｌ１を１パルス分無限遠合焦位置方向に駆動して画像データを取得してコントラストを検出し、５エリア分のコントラストが更新された状態で、再びこのフローチャートに入る。
【００４０】
直前５個のコントラスト値P[PN-4]からP[PN]が２回連続して増加しかつ２回連続して減少していた場合（Ｓ２０５；YES）は、極大値となるレンズ位置（PN-2）におけるコントラスト値P[PN-2]の８０パーセントの値を求めて下限値dat0に代入する（Ｓ２０７）。そうして、信頼性条件の一つである、極大値を決定した両端のコントラスト値P[PN-4]、P[PN]のいずれかが下限値dat0未満であるかどうかをチェックする（Ｓ２０９）。つまり、ピークのコントラスト値と両端のコントラスト値との差が十分大きいかどうかをチェックする。両端のコントラスト値P[PN-4]、P[PN]のいずれかが下限値dat0未満でないときはリターンする（Ｓ２０９；NO、RETURN）。コントラストの変化が小さく、信頼性が低いと推定されるからである。
【００４１】
両端のコントラスト値P[PN-4]、P[PN]のいずれかが下限値dat0未満の場合（Ｓ２０９；YES）は、二番目の信頼性条件である、ピークのコントラスト値P[PN-2]と、これまでの処理で得たコントラストの最小値との差がピークのコントラスト値P[PN-2]の１０パーセントより大きいかどうかをチェックする（Ｓ２１１）。ピークのコントラスト値P[PN-2]とコントラスト値の最小値の差がピークのコントラスト値P[PN-2]の１０パーセントより大きくない場合はリターンする（２１１；NO、RETURN）。この場合はピークのコントラストが低いので信頼性が低いと推定されるからである。
【００４２】
ピークのコントラスト値P[PN-2]とコントラストの最小値の差がピークのコントラスト値P[PN-2]の１０パーセントより大きい場合（Ｓ２１１；YES）は、さらに三番目の信頼性条件である、ピークのコントラスト値P[PN-2]がコントラストの最大値以上かどうか、つまり最大値であるかどうかをチェックする（Ｓ２１３）。
【００４３】
ピークのコントラスト値P[PN-2]が最大値以上の場合（Ｓ２１３；YES）は、位置インデックスIndexにピークのコントラスト値P[PN-2]が得られたレンズ位置（PN-2）を代入し、ピーク存在フラグStatusに“１”を代入して次のエリアに進むか、最後のエリア４であったならばリターンする（Ｓ２１５、RETURN）。
なお、位置インデックスIndexは、ピークのコントラスト値P[PN-2]が得られたレンズ位置PN-2を表示し、ピーク存在フラグStatusはピーク値が得られたことを識別するフラグである。
【００４４】
ピークのコントラスト値P[PN-2]が最大値以上でなかった場合（Ｓ２１３；NO）、つまりピークのコントラスト値P[PN-2]より大なるコントラスト値が存在した場合は、そのままリターンする（RETURN）。ピークのコントラスト値P[PN-2]が得られたレンズ位置が合焦位置でない可能性が大だからである。
【００４５】
以上の処理により、連続した５位置分のコントラストデータを使用してコントラスト値が２回連続して上昇しかつ２回連続して下降したかどうかをチェックし、ピーク値を判別できるので、精度の高いピーク値検出が可能になる。
【００４６】
『ピーク算出処理』
Ｓ２９で実行されるピーク算出処理について、図７に示したフローチャートを参照してより詳細に説明する。このピーク算出処理では、Ｓ２５で求めた極大値について、その極大値となるコントラスト値P[PN]を挟むコントラストを利用した近似（補間）演算によってより精度の高い極大値を求める処理である。
【００４７】
この実施形態は直線近似法であって、検出したコントラスト値のピーク値と、至近側または無限遠側のコントラスト値を通る直線近似式と、ピーク値よりも無限遠側の２個のコントラスト値または至近側の２個のコントラスト値を通る直線近似式を求め、これらの二本の直線の交点を求める。この交点のｙ座標値（演算ピーク値）が検出ピーク値より大きい場合に交点のｘ座標を合焦レンズ位置（合焦点）とする。
【００４８】
ピーク算出処理に入ると、まず、ピーク存在フラグStatusが“１”かどうか、つまりピーク値があるかどうかをチェックする（Ｓ３０１）。ピーク存在フラグStatusが“１”で無い場合は（Ｓ３０１；NO）は、次のエリアについてチェックする（Ｓ３２１；NO、Ｓ３０１）。ピーク存在フラグStatusが“１”の場合（Ｓ３０１；YES）は、Ｓ３０３以降の直線近似処理を実行する。
【００４９】
直線近似処理に入ると、ピーク値を含む二つのコントラスト値を通る直線と、ピーク値を通らない二つのコントラスト値を通る直線、
Y = ax + b
Y = cx + d
の傾きａ、ｃおよびｘ軸との交点ｂ、ｄを算出する（Ｓ３０３）。この二式により定義される二本の直線の交点座標（ｘ、ｙ）を算出する（Ｓ３０５）。算出した交点座標（ｘ、ｙ）におけるｙ座標の値を近似演算ピーク値ｙとし、ｘ座標の値を演算ピークレンズ位置ｘとする。
【００５０】
そうして、ピークコントラスト値P[Index]の方が演算ピーク値ｙより小さいかどうかをチェックする（Ｓ３０７）する。ピークコントラスト値P[Index]の方が近似演算ピーク値ｙより小さい場合（Ｓ３０７；YES）は、Ｓ３０９以降の処理を実行するが、ピークコントラスト値P[Index]の方が近似演算ピーク値ｙより小さくない場合（Ｓ３０７；NO）は、ピーク存在フラグStatusにピーク無しを識別する“０”を入れる（Ｓ３１３）。図１３の（Ｄ）が該当する。ピークコントラスト値P[Index]の方が小さい場合、つまり近似演算ピーク値ｙの方が大きい場合は近似演算ピーク値ｙがより正確なピーク値と推定されるからである。
【００５１】
ピークコントラスト値P[Index]の方が近似演算ピーク値ｙより小さい場合（Ｓ３０７；YES）は、ピークコントラスト値P[Index]を挟むコントラスト値P[Index - 1]、P[Index +1]の大小を比較する（Ｓ３０９）。図１３の（Ａ）、（Ｂ）、（Ｃ）が該当する。
【００５２】
ピークコントラスト値P[Index]よりも遠距離側のコントラスト値P[Index+1]の方が近距離側のコントラスト値P[Index-1]より大きく（Ｓ３０９；YES）、かつ近似ピーク位置ｘがピークコントラスト値P[Index]とこのピークコントラスト値P[Index]よりも遠距離側のコントラスト値P[Index+1]の間に存在する場合（Ｓ３１１；YES）は、その近似演算ピーク位置ｘをピーク位置PeakXに代入する（Ｓ３１７）。図１３の（Ａ）、（Ｃ）が該当する。
【００５３】
ピークコントラスト値P[Index]よりも遠距離側のコントラスト値P[Index+1]の方が近距離側のコントラスト値P[Index-1]より大きくても（Ｓ３１１；YES）、近似ピーク位置ｘが、ピークコントラスト値P[Index]と遠距離側のコントラスト値P[Index+1]の間に存在しない場合（Ｓ３１１；NO）は、ピーク存在フラグStatusにピーク無しを識別する“０”を入れる（Ｓ３１３）。
【００５４】
ピークコントラスト値P[Index]よりも遠距離側のコントラスト値P[Index+1]の方が近距離側のコントラスト値P[Index-1]より大きくなく（Ｓ３０９；NO）、かつ近似ピーク位置ｘがピークコントラスト値P[Index]とピークコントラスト値P[Index]よりも近距離側のコントラスト値P[Index-1]の間に存在する場合（Ｓ３１５；YES）は、近似演算ピーク位置ｘをピーク位置PeakXに代入する（Ｓ３１７）。図１３（Ｂ）が該当する。
【００５５】
ピークコントラスト値P[Index]よりも遠距離側のコントラスト値P[Index+1]の方が近距離側のコントラスト値P[Index-1]より大きくなく（Ｓ３０９；NO）、かつ近似ピーク位置ｘがピークコントラスト値P[Index]よりも近距離側のコントラスト値P[Index-1]とピークコントラスト値P[Index]の間に存在しなければ（Ｓ３１５；NO）、ピーク存在フラグStatusに“０”を入れる（Ｓ３１９）。
以上のＳ３０１乃至Ｓ３１９の処理を、全てのピークコントラスト値P[Index]について繰り返し、さらに全ての焦点検出エリア０乃至４について繰り返し実行し、真のピーク値と推定されるピーク値を直線近似演算によって求める。
【００５６】
『エリア選択処理』
Ｓ３１で実行されるエリア選択処理の詳細について、図８に示したフローチャートを参照してより詳細に説明する。エリア選択処理は、Ｓ２３、図６に示したピークチェック処理において信頼性の高いピーク値が得られているときはその中で最も近距離のピーク値を選択し、信頼性の高いピーク値が得られていない場合は、同一インデックスのピーク値が複数有する場合はその平均位置を合焦位置とする、複数有しない場合はストロボのオン／オフに応じた位置を合焦位置する、などの処理を実行する。
【００５７】
この処理に入ると、まず変数最大ピーク位置PeakMaxに無限遠合焦位置に相当するFF（16進数）を代入し、エラーフラグErrorに“１”をセットする（Ｓ４０１）。そうして、以下のＳ４０３乃至Ｓ４０９の処理を、各エリア０乃至４について繰り返す。エラーフラグErrorは、無限遠よりも近距離にピークが存在したかどうかを識別するフラグであって、存在した場合に“０”がセットされる。
【００５８】
繰り返し処理では、まず、ピーク存在フラグStatusが“１”かどうかをチェックし（Ｓ４０３）、“１”の場合（Ｓ４０３；YES）はエラー無しかどうかをチェックし（Ｓ４０５）、エラー無しの場合（Ｓ４０５；YES）は、ピーク位置PeakXが最大ピーク位置PeakMaxよりも近距離側かどうかをチェックする（Ｓ４０７）。ピーク位置PeakXが最大ピーク位置PeakMaxよりも近距離側の場合（Ｓ４０７；YES）は、ピーク位置PeakXを最大ピーク位置PeakMaxに代入し、エラーフラグErrorにエラー無しを識別する“０”を代入し（Ｓ４０９）、Ｓ４０３に戻って次のエリアについて処理する。つまり、各エリア０乃至４のピーク位置PeakXの中で、最も近距離側のピーク位置PeakXを選択し、最大ピーク位置PeakMaxとする。
【００５９】
ピーク存在フラグStatusが“１”でない場合（Ｓ４０３；NO）、エラー無しでない場合（Ｓ４０５；NO）、またはピーク位置PeakXが最大ピーク位置PeakMaxよりも近距離側でない場合（Ｓ４０７；NO）は、Ｓ４０９をスキップし、Ｓ４０３に戻って次のエリアについて処理する。以上のＳ４０３乃至Ｓ４０９の処理を、全てのエリア０乃至４について繰り返し、最も近距離のピーク位置PeakXを求める。ピーク位置PeakXが１個以上存在した場合はＳ４０９を通るので最大ピーク位置PeakMaxが設定され、エラーフラグErrorに“０”がセットされるが、ピーク位置PeakXが存在しなかった場合は、エラーフラグErrorは“１”のままである。
【００６０】
全てのエリア０乃至４のピーク位置PeakXについて、最も近距離側のピーク位置PeakXを求めるＳ４０３乃至Ｓ４０９のループ処理が終了したときは、エラーフラグErrorが“０”かどうかをチェックする（Ｓ４１１）。エラーフラグErrorが“０”の場合（Ｓ４１１；YES）は、Ｓ４０９の処理において最大ピーク位置PeakMaxが設定されているので、最大ピーク位置PeakMaxを駆動パルス数に変換してリターンする（Ｓ４１３、RETURN）。この場合は、ＬＥＤ２９を合焦点灯する。
【００６１】
エラーフラグErrorが“０”でなかった場合（Ｓ４１１；NO）は、各エリア０乃至４について、コントラスト値が２回増加しかつ２回減少している極大値の位置インデックスIndexを抽出する処理を実行する（Ｓ４１５）。Ｓ２３のピークチェック処理との相違は、信頼性を判断しない点である。
【００６２】
そうして、抽出した位置インデックスIndexを集計し、同一の位置インデックスIndexを含むエリア０乃至４がｎ個以上存在する位置インデックスIndexを選択し（Ｓ４１７）、同一の位置インデックスIndexを含むエリアがｎ個以上存在するかどうかをチェックする（Ｓ４１９）。
なお、ｎは、予め設定された、総エリア数以下の任意の数である。本実施形態では、ｎ＝３に設定してある。また、本実施形態では同一の位置インデックスIndexを選択しているが、所定範囲内の位置インデックスIndexを選択する構成としてもよい。
【００６３】
ｎ個以上存在しない場合（Ｓ４１９；NO）は、通常エラー処理を実行してリターンする（Ｓ４２７、RETURN）。通常エラー処理は、ストロボのON/OFFに対応した駆動パルス数を設定する処理であって、ＬＥＤ２９は非合焦点灯する。
例えば、ストロボONの場合は、ストロボ撮影距離以内で、最大撮影距離または最大撮影距離が被写界深度に入る位置に焦点調節レンズ群Ｌ１を移動できる駆動パルス数とする。
ストロボOFFの場合は、過焦点距離、近点または３メートルに合焦する位置、または焦点距離が長くなるほど遠くに設定した固定位置に焦点調節レンズ群Ｌ１を移動できる駆動パルス数とする。
【００６４】
同一の位置インデックスIndexを含むエリアがｎ個以上存在する場合（Ｓ４１９；YES）は、その位置インデックスIndexを中心とした５個のピークデータに基づいてピーク算出処理を実行する（Ｓ４２１）。このピーク算出処理は、図７に示したピーク算出処理と同一である。
【００６５】
そうして、ピーク位置PeakXの平均値を算出して平均値を平均ピーク位置PeakAveに代入し（Ｓ４２３）、平均ピーク位置PeakAveを駆動パルス数に変換してリターンする（Ｓ４２５、RETURN）。つまり、この平均ピーク位置PeakAveを合焦位置とするのである。なお、この場合は、ＬＥＤ２９を非合焦点灯する。
【００６６】
『２Up２Down抽出処理』
Ｓ４１５で実行される２Up２Down抽出処理について、図９に示したフローチャートを参照してより詳細に説明する。なお、このフローチャートでは、Ｓ５０１乃至Ｓ５１１の処理を、各エリア０乃至４毎に、無限遠合焦位置から至近位置方向にコントラストが２回増加した後に２回減少するかどうかを順番にチェックして極大値を求め、さらに極大値が求まる毎に更新して最も近距離の極大値を抽出する処理を、全てのエリア０乃至４のコントラストデータについて実行する。信頼性を判定しない点が図６に示したピークチェック処理と相違する。
【００６７】
まず、パルス数（変数）ｉに無限遠合焦位置に相当するレンズ位置（パルス数）PNを代入し、変数ｋに０を代入する（Ｓ５０１）。この変数ｋは何個目のピークであるのかを表す。ただし、変数ｋは初期値が０であるから、１個目のピークは０となる。
【００６８】
次に、第１変数Ａにコントラスト値P[i - 4]を、第２変数Ｂにコントラスト値P[i - 3]を、第３変数Ｃにコントラスト値P[i - 2]を、第４変数Ｄにコントラスト値P[i - 1]を、第５変数Ｅにコントラスト値P[i - 0]をそれぞれ代入する（Ｓ５０３）。そうして、Ａ＜ＢかつＢ＜ＣかつＣ＞ＤかつＤ＞Ｅであるかどうか比較し、判定する（Ｓ５０５）。つまり、コントラスト値が２回連続して増大し、かつ２回連続して減少しているか否かを判定する。コントラストが２回増加して２回減少していれば（Ｓ５０５；YES）、パルス位置（i - 2）をピーク位置インデックスPeakC[k]に代入し、変数ｋを１インクリメントし、ピークカウンタPeakCountを１インクリメントする（Ｓ５０７）。Ｓ５０５の判定結果が否定であれば（Ｓ５０５；NO）、Ｓ５０７をスキップする。そうして、位置パルス数ｉを１デクリメントし（Ｓ５０９）、i = 4かどうかチェックし（Ｓ５１１）、４でなければ（Ｓ５１１；YES）、Ｓ５０３に戻ってＳ５０３乃至Ｓ５１１の処理を、i = 4になるまで繰り返す。
【００６９】
i = 4になったら（Ｓ５１１；YES）、Ｓ５０１に戻って、i = PN、k = 0と設定し、次のエリア１乃至４についてＳ５０３乃至Ｓ５１１の処理を、i = 4になるまで繰り返す。つまり、全てのエリア０乃至４についてＳ５０３乃至Ｓ５１１の処理を実行する。以上の処理により、各エリアについて、全てのピーク位置インデックスPeakC[k]が抽出される。
【００７０】
図１１に示した実施例では、エリア０からは１個のピーク位置インデックスPeakC[0]=６が、エリア１からは１個のピーク位置インデックスPeakC[0]=３が、エリア２からは３個のピーク位置インデックスPeakC[0]=１１、PeakC[1]=６、PeakC[0]=２が、エリア４からは１個のピーク位置インデックスPeakC[0]=３、エリア４からは１個のピーク位置インデックスPeakC[0]=６が抽出される。
【００７１】
『２Up２Down選択処理』
Ｓ４１７で実行される２Up２Down選択処理について、図１０に示したフローチャートを参照してより詳細に説明する。この処理は、各エリア０乃至４に存在するピーク位置インデックスPeakC[k]を集計し、最も近距離側で最多エリア数のピーク位置インデックスPeakC[k]を選択し、最終的に選択したピーク値が存在したエリアAreaPでインデックスを更新する処理である。
【００７２】
まず、各エリア０乃至４毎に、k = 0から、ピーク位置インデックスPeakC[k]のパルス数を変数ｉに代入し、インデックス数PeakAll[i]を１インクリメントする処理（Ｓ６０１）を、変数kを１ずつ増加させながら、k > PeakCount になるまで繰り返す（Ｓ６００、Ｓ６０２）。この繰り返し処理（Ｓ６００、Ｓ６０１、Ｓ６０２）を各エリア０乃至４毎に繰り返して、ピーク位置インデックスPeakC[k]を集計する。
【００７３】
図１１に示した実施例では、エリア０からは１個のピーク位置インデックスPeakC[0]=６、エリア１からは１個のピーク位置インデックスPeakC[0]=３、エリア２からは３個のピーク位置インデックスPeakC[0]=２、PeakC[1]=６、PeakC[2]=１１、エリア３からは１個のピーク位置インデックスPeakC[0]=３、エリア４からは１個のピーク位置インデックスPeakC[0]=６が集計される。レンズ位置パルス数[i]とインデックス数PeakAll[i]との関係を表にして、図１２（Ａ）に示した。
【００７４】
次に、同一のレンズ位置パルス数がｎ個以上存在するインデックス数PeakAll[i]の中で最大数のインデックス数PeakAll[i]を選択する。この実施形態ではまず、レンズ位置パルス数を代入するパルス数ｉに最大パルス数ＰＮを代入し、最も多いカウント数の位置インデックスを選択するための変数ｊに０を代入する（Ｓ６０３）。次に、インデックス数PeakAll[i]がn個以上存在するかどうかチェックし（Ｓ６０５）、ｎ個以上存在するとき（Ｓ６０５；YES）は、変数ｊ以上存在するかどうかをチェックし（Ｓ６０７）、変数ｊ以上存在すれば（Ｓ６０７；YES）、変数ｊにインデックス数PeakAll[i]を代入するとともに、選択ピークChoicePeakにそのパルス数ｉを代入する（Ｓ６１１）。そうして、パルス数ｉから１減算し（Ｓ６１３）、パルス数ｉが０になったかどうかをチェックし（Ｓ６１５）、０になっていなければＳ６０５に戻る。
【００７５】
インデックス数PeakAll[i]がｎ個以上存在しない場合（Ｓ６０５；NO）、またはｎ個以上存在しても（Ｓ６０５；YES）、インデックス数PeakAll[i]が変数ｊ以上でなかった場合（Ｓ６０７；NO）は、Ｓ６０９およびＳ６１１をスキップしてＳ６１５に進む。パルス数ｉが０になっていない場合（Ｓ６１５；NO）はＳ６０５に戻る。つまり、以上のＳ６０５乃至Ｓ６１３の処理を、パルス数ｉが０になるまで繰り返す。
この実施例では、パルス数ｉが６のとき（i = 6）のインデックス数PeakAll[6]が選択され、選択ピークChoicePeakに設定される。
【００７６】
続いて、選択ピークChoicePeakと等しいピーク位置インデックスPeakC[k]を、エリア０乃至４毎に順番に、変数k = 0からピーク数Peakcount分繰り返して選択する処理（Ｓ６１６乃至Ｓ６２０）を繰り返す。
【００７７】
この実施形態ではまず、選択ピークChoicePeakとピーク位置インデックスPeakC[k]が等しいかどうかをチェックし（Ｓ６１７）、等しくなければ（Ｓ６１７；NO）、変数ｋを１インクリメントし（Ｓ６２０、Ｓ６１６）、チェック処理（Ｓ６１７）を繰り返す。選択ピークChoicePeakとピーク位置インデックスPeakC[k]が等しければ（Ｓ６１７；YES）、選択ピークChoicePeakをエリアAreaPに代入するとともに、ステータスフラグStatusに“１”をセットし（Ｓ６１９）、変数ｋを１インクリメントして（Ｓ６２０、Ｓ６１６）、Ｓ６１７、Ｓ６１９の処理を繰り返す。変数ｋがピーク数PekCountと等しくなったら、次のエリアについて、Ｓ６１６乃至Ｓ６２０の処理を繰り返し、全てのエリアについてＳ６１６乃至Ｓ６２０の処理を繰り返す。
【００７８】
以上の２Up２Down選択処理により、この実施例では、エリア０、２、４のレンズ位置  i = 6がエリアAreaPとして設定される。そうして、Ｓ４２１において、各エリアAreaP（エリア０、２、４のi = 6）のピークコントラストを挟むコントラストデータに基づいてピーク算出処理（図７）が実行され、それらの平均値が平均ピーク位置PeakAveとして設定される。
平均ピーク位置PeakAveが設定された場合は、ＬＣＤ１７には非合焦表示を点灯して、信頼性の保証がないことを撮影者に知らせる。
【００７９】
このように本実施の形態では、ローコントラスト等の被写体において信頼性の高い、画像コントラストのピークが得られなかった場合は、信頼性が低くても複数のエリアについて同一または所定距離範囲内において複数のピークを求め、該ピークが得られた場合はその複数のピーク位置またはその前後近傍に被写体が存在するとして焦点調節処理を実行するので、焦点検出エリア内の被写体部分に合焦する可能性が高く、極端にピント位置が外れることがない。
【００８０】
本実施形態の画像コントラストＡＦ処理では、５個の焦点検出エリアを十字に配置した実施例に対応させたが、焦点検出エリアの個数および配置は図示実施例に限定されない。また、ピークコントラストの検出アルゴリズムも、連続して２回増加かつ２回減少に限定されず、信頼性の判定も実施形態に限定されない。
【００８１】
信頼性が低い場合の合焦位置決定アルゴリズムにおいて、本実施形態では５個のエリア中、同一のレンズ位置のコントラストピークが３個以上存在する場合のコントラストピークの中で、最も近距離のコントラストピークを選択しているが、距離に係わらず最大数のコントラストピークが存在したレンズ位置が１個の場合は、そのレンズ位置を選択してもよい。また、ストロボオン／オフに応じて選択条件を変えてもよい。例えば、ストロボオンの場合は、ストロボ撮影範囲内で最も遠距離を選択してもよい。
同一のレンズ位置毎にピークコントラスト数を集計しているが、その範囲を所定範囲まで拡げてもよい。例えば前後に隣接する２位置以上に拡げてもよい。例えば、i=1,2、i=2,3、i=3,4・・・のように一位置ずつずらしながらピークコントラスト数を集計してもよい。
【図面の簡単な説明】
【００８２】
【図１】本発明を適用したデジタルカメラの実施形態の主要構成をブロックで示す図である。
【図２】本実施形態のデジタルカメラにおける撮像素子の受光面と焦点検出エリアとの関係を示す図である。
【図３】同撮像素子のフィルタの配置パターンを説明する図である。
【図４】本実施形態のデジタルカメラにおけるコントラストＡＦ処理をフローチャートで示す図である。
【図５】同コントラストＡＦ処理におけるコントラスト値算出処理をフローチャートで示す図である。
【図６】同コントラストＡＦ処理におけるピークチェック処理をフローチャートで示す図である。
【図７】同コントラストＡＦ処理におけるピーク算出処理をフローチャートで示す図である。
【図８】同コントラストＡＦ処理におけるエリア選択処理をフローチャートで示す図である。
【図９】同コントラストＡＦ処理における２Up２Down抽出処理をフローチャートで示す図である。
【図１０】同コントラストＡＦ処理における２Up２Down選択処理をフローチャートで示す図である。
【図１１】同コントラストＡＦ処理によって得たコントラストとレンズ位置との関係をグラフで示す図である。
【図１２】同コントラストＡＦ処理によって得たレンズ位置パルス数とピーク数との関係、エリアとピーク数との関係を表（Ａ）、（Ｂ）で示した図である。
【図１３】同コントラストＡＦ処理における直線近似処理をグラフで説明する図である。
【符号の説明】
【００８３】
１１  撮像素子
１３  画像信号処理回路
１５  ＣＰＵ
１７  ＬＣＤ
１９  メモリ制御回路
２１  画像メモリ
２３  モータドライバ
２５  ＡＦモータ
２７  レンズ駆動機構
２７ａ  原点センサ
Ｌ１  焦点調節レンズ群
【図１】
2006106484.tif 000005
【図２】
2006106484.tif 000006
【図３】
2006106484.tif 000007
【図４】
2006106484.tif 000008
【図５】
2006106484.tif 000009
【図６】
2006106484.tif 000010
【図７】
2006106484.tif 000011
【図８】
2006106484.tif 000012
【図９】
2006106484.tif 000013
【図１０】
2006106484.tif 000014
【図１１】
2006106484.tif 000015
【図１２】
2006106484.tif 000016
【図１３】
2006106484.tif 000017