(57)【特許請求の範囲】
【請求項１】
複数の受光素子からなる一対のラインセンサに測距対象物からの光を結像させ、各受光素子から得られた信号に基づいて相関値演算用の一対のＡＦデータを生成するＡＦデータ生成手段と、
前記一対のラインセンサのうちの測距に使用する一対の採用センサ範囲から一対のＡＦデータを取得するＡＦデータ取得手段と、
前記一対の採用センサ範囲内において、相関値演算に使用する一対のＡＦデータを取得するための一対のウインドウ範囲を決定し、該一対のウインドウ範囲を前記一対の採用センサ範囲内の最高相関を得るためにシフトさせながら順次相関値演算する第１の相関値演算手段であって、前記一対のウインドウ範囲内のＡＦデータのうちの所定間隔置きのＡＦデータを用いて相関値演算する第１の相関値演算手段と、
前記第１の相関値演算手段により得られた相関値のうちの最高相関値が得られたときの前記ウインドウ範囲のシフト量を基準とする前後の所定の範囲内で、前記一対のウインドウ範囲をシフトさせながら順次相関値演算する第２の相関値演算手段であって、前記一対のウインドウ範囲内の全てのＡＦデータを用いて相関値演算する第２の相関値演算手段と、
前記第２の相関値演算手段により得られた相関値のうちの最高相関値が得られたときの前記ウインドウ範囲のシフト量に基づいて測距対象物の距離を算出する測距対象物距離算出手段と、
を備えた測距装置であって、
前記第１の相関値演算手段により最高相関値が得られたときの前記ウインドウ範囲のシフト量と、前記第２の相関値演算手段により最高相関値が得られるときの前記ウインドウ範囲のシフト量との差を求める手段を有し、
前記第２の相関値演算手段は、前記求めた差のシフト量の分だけ前記所定の範囲を越えて追加の相関値演算を行うことを特徴とする測距装置。
【請求項２】
前記測距対象物距離算出手段は、前記第２の相関値演算手段により得られた相関値のうちの最高相関値と、その前後の前記所定の範囲の相関値とに基づいて補間値演算によって真の最高相関値が得られるシフト量を求め、該シフト量に基づいて測距対象物の距離を算出することを特徴とする請求項１に記載の測距装置。
【請求項３】
前記第１の相関値演算手段により最高相関値が得られたときの前記ウインドウ範囲のシフト量が、近距離警告範囲内か否かを判断する判断手段と、前記判断手段によって近距離警告範囲内と判断されると、前記第２の相関値演算手段による相関値演算を中止させると共に近距離警告を発生させる手段と、を有することを特徴とする請求項１又は２に記載の測距装置。
【請求項４】
前記一対の採用センサは、前記一対のラインセンサの全測距エリアのセンサ、又は前記一対のラインセンサの全測距エリアを複数の分割エリアに分割した各分割エリアのセンサであることを特徴とする請求項１、２、又は、３に記載の測距装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は測距装置に係り、特にパッシブ方式のＡＦセンサを用いた例えばカメラの測距装置に関する。
【背景技術】
【０００２】
パッシブ方式のＡＦセンサを用いたカメラの測距装置は、例えば左右一対のラインセンサにより測距対象物を撮像し、左右のセンサ像（ＡＦデータ）を取得する。この左右一対のラインセンサから得られるＡＦデータのうち、相関値演算に使用する一対のＡＦデータを取得するための一対のウインドウ範囲を決定し、この一対のウインドウ範囲を一対の所定のセンサ領域（採用センサ）内で互いに逆方向にシフトさせながら順次相関値演算に使用する一対のＡＦデータを取得する。又は、一方のウインドウ範囲を固定し、他方のウインドウ範囲をシフトさせながら順次相関値演算に使用する一対のＡＦデータを取得する。このようにして得られる一対のＡＦデータの相関を求め、最大相関が得られるとき（一対の採用センサ内の左右のセンサ像が一致するとき）のウインドウ範囲のシフト量に基づいて測距対象物距離を算出している。
【０００３】
上記のようにＡＦデータの相関値演算によって最大相関を求める場合、ＡＦデータの画素数が多くなると、相関演算の回数が増加し、測距時間が増加するという問題がある。
【０００４】
従来、この問題を解決するためにＡＦデータから離散的に分布した演算対象画素を選択し、選択された演算対象画素についてのみ相関値演算（一画素相関値演算）を行い、各演算対象画素の相関値をシフト量ごとに加え合わせ、その合計相関値に基づいてシフト量を求める測距方法が提案されている（特許文献１参照）。
【特許文献１】特開平１０−２６５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の測距方法では、測距時間は短縮されるが、測距精度が低減するという問題がある。更に、各演算対象画素の一画素相関演算後に、各相関値をシフト量ごとに加え合わせるため、一画素相関結果全てを保存しておく必要があるという問題がある。
【０００６】
本発明はこのような事情に鑑みてなされたもので、測距精度を低下させずに測距時間の短縮を図ることができる測距装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために請求項１に係る測距装置は、複数の受光素子からなる一対のラインセンサに測距対象物からの光を結像させ、各受光素子から得られた信号に基づいて相関値演算用の一対のＡＦデータを生成するＡＦデータ生成手段と、前記一対のラインセンサのうちの測距に使用する一対の採用センサ範囲から一対のＡＦデータを取得するＡＦデータ取得手段と、前記一対の採用センサ範囲内において、相関値演算に使用する一対のＡＦデータを取得するための一対のウインドウ範囲を決定し、該一対のウインドウ範囲を前記一対の採用センサ範囲内の最高相関を得るためにシフトさせながら順次相関値演算する第１の相関値演算手段であって、前記一対のウインドウ範囲内のＡＦデータのうちの所定間隔置きのＡＦデータを用いて相関値演算する第１の相関値演算手段と、前記第１の相関値演算手段により得られた相関値のうちの最高相関値が得られたときの前記ウインドウ範囲のシフト量を基準とする前後の所定の範囲内で、前記一対のウインドウ範囲をシフトさせながら順次相関値演算する第２の相関値演算手段であって、前記一対のウインドウ範囲内の全てのＡＦデータを用いて相関値演算する第２の相関値演算手段と、前記第２の相関値演算手段により得られた相関値のうちの最高相関値が得られたときの前記ウインドウ範囲のシフト量に基づいて測距対象物の距離を算出する測距対象物距離算出手段と、を備えた測距装置であって、前記第１の相関値演算手段により最高相関値が得られたときの前記ウインドウ範囲のシフト量と、前記第２の相関値演算手段により最高相関値が得られるときの前記ウインドウ範囲のシフト量との差を求める手段を有し、前記第２の相関値演算手段は、前記求めた差のシフト量の分だけ前記所定の範囲を越えて追加の相関値演算を行うことを特徴としている。
【０００８】
即ち、第１の相関演算手段は、一対のウインドウ範囲内のＡＦデータのうちの所定間隔置きのＡＦデータを用いて相関値演算を行なうため、演算量を低減することができ、一方、第２の相関演算手段は、第１の相関値演算手段により得られた相関値のうちの最高相関値が得られたときのウインドウ範囲のシフト量を基準とする前後の所定の範囲内で、一対のウインドウ範囲内の全てのＡＦデータを用いて相関値演算するため、測距精度が低下することがない。また、補間値演算によって真の最高相関値を求める際に、補間値演算に使用する相関値が不足しないようにしている。
【００１６】
請求項２に示すように、前記測距対象物距離算出手段は、前記第２の相関値演算手段により得られた相関値のうちの最高相関値と、その前後の前記所定の範囲の相関値とに基づいて補間値演算によって真の最高相関値が得られるシフト量を求め、該シフト量に基づいて測距対象物距離を算出することを特徴としている。前記第２の相関値演算手段により得られる最高相関値は、離散的な相関値のなかの最高相関値であるが、請求項２によれば、離散的でない真の最高相関値のシフト量を求めることができる。
【００１７】
請求項３に示すように、前記第１の相関値演算手段により最高相関値が得られたときの前記ウインドウ範囲のシフト量が、近距離警告範囲内か否かを判断する判断手段と、前記判断手段によって近距離警告範囲内と判断されると、前記第２の相関値演算手段による相関値演算を中止させると共に近距離警告を発生させる手段と、を有することを特徴としている。
【００１８】
請求項４に示すように前記一対の採用センサは、前記一対のラインセンサの全測距エリアのセンサ、又は前記一対のラインセンサの全測距エリアを複数の分割エリアに分割した各分割エリアのセンサである。後者の場合には、ある採用センサでの測距が不能となる場合でも、他の採用センサでの測距が可能となる場合がある。
【発明の効果】
【００１９】
本発明に係る測距装置によれば、一対のウインドウ範囲内のＡＦデータのうちの所定間隔置きのＡＦデータを用いて相関値演算を行なうようにしたため、演算量を低減することができ、一方、このようにして求めた相関値のうちの最高相関値が得られたときのウインドウ範囲のシフト量を基準とする前後の所定の範囲に絞って、一対のウインドウ範囲内の全てのＡＦデータを用いて相関値演算を行なうようにしたため、測距精度が低下することがない。
【発明を実施するための最良の形態】
【００２０】
以下添付図面に従って、本発明に係る測距装置を例えばカメラに適用した場合の好ましい実施の形態について詳説する。
【００２１】
図１は、本発明が適用されたカメラの正面斜視図である。同図に示すようにカメラ１０には、被写体像を銀塩フイルムに結像する撮影レンズを備えたズームレンズ鏡胴１２と、ストロボ光が発光されるストロボ発光窓１６と、撮影者が被写体を確認するファインダ窓１８と、被写体距離を測定するパッシブタイプのＡＦセンサが内蔵されているＡＦ窓２２と、被写体の明るさを測定する測光センサが内蔵されている測光窓２５と、撮影者がシャッタレリーズを指示する際に操作するシャッタボタン３４等が設けられている。
【００２２】
図２は、カメラ１０の背面斜視図である。同図に示すようにカメラ１０には、設定されている撮影モード等や日付情報等を表示するＬＣＤ表示パネル３８と、ストロボの発光モードを設定するフラッシュボタン４２と、セルフタイマーのモードを設定するセルフタイマーボタン４４と、フォーカスのモードを設定するフォーカスボタン４６と、日付や時刻を設定する日付ボタン４８と、撮影画角をワイド方向又はテレ方向に指示するズームボタン５０とが設けられている。
【００２３】
例えば、フラッシュボタン４２を操作すると、フラッシュ（ストロボ）に関するモードを切り替えることができ、フラッシュボタン４２で選択可能なモードとして、被写体が暗い場合にストロボ光を自動発光するオートモード、本発光前にプレ発光を行い赤目を軽減する赤目軽減モード、ストロボ光を強制発光する強制発光モード、ストロボを発光しない発光禁止モード、ストロボを発光して人物と夜景とを撮影する夜景ポートレートモード等がある。また、フォーカスボタン４６を操作すると、フォーカスに関するモードを切り替えることができ、フォーカスボタン４６で選択可能なモードとして、自動でピント合わせを行うオートフォーカスモード、遠景を撮影するための遠景モード、マクロ撮影のためのマクロモード等のモードがある。
【００２４】
図３は、上記カメラ１０の制御部を示したブロック図である。同図に示すようにカメラ１０には、カメラ１０の全体を制御するＣＰＵ６０（情報処理手段）が設けられており、以下に示す各部から情報を取得するとともに、ＣＰＵ６０からの指示によって以下に示す各部を制御することが可能となっている。尚、図３に示すＣＰＵ６０は、ＣＰＵコア部とＩ／Ｏ、ウォッチドグタイマ、Ａ／Ｄ変換器等の周辺回路から構成されるＡＳＩＣであってもよい。
【００２５】
また、同図に示すようにカメラ１０には、電池の電圧を昇圧させるとともに安定化させてＣＰＵ６０及びその他の各周辺回路に電源を供給するレギュレータ６２と、ズームレンズ鏡胴１２をモータ駆動してズーム位置やフォーカス位置を変更するとともにズーム位置やフォーカス位置の位置情報をＣＰＵ６０に出力する鏡胴駆動部６４と、フイルム給送モータを駆動してフイルムを給送するフイルム給送駆動部６６とが設けられている。
【００２６】
またカメラ１０には、露光時にシャッタを開閉してフイルムを露光するシャッタ駆動部６８と、図１の測光窓２５を介して取り込んだ外光に基づいて被写体の光量を測定する測光センサ７０と、メインコンデンサを充電し、また、メイコンデンサに充電した発光エネルギーによりストロボを発光させるストロボ装置７２と、図１のＡＦ窓２２から取り込んだ被写体光からオートフォーカスにおける測距に必要なデータを取得するパッシブタイプのＡＦセンサ７４とが設けられている。
【００２７】
またカメラ１０には、カメラ１０の制御に関するパラメータやデータ、処理プログラム、測距に関する情報等の各種情報を書き換え自在に記録するプログラマブルＲＯＭ８２（ＥＥＰＲＯＭ等の記録手段）と、ＣＰＵ６０からの指示に基づいてＬＣＤ表示パネル３８に対して各モードに応じた図形、文字、数字等を表示するための信号を出力するＬＣＤ駆動部８４とが設けられている。
【００２８】
図２に示したシャッタボタン３４、フラッシュボタン４２、セルフタイマーボタン４４、フォーカスボタン４６、日付ボタン４８、ズームボタン５０等の各種ボタンの操作は各ボタンに対応して設けられたスイッチからのオン／オフ信号としてＣＰＵ６０に与えられる。これらのスイッチは、図３においてスイッチ部８６として示されている。尚、シャッタボタン３４については半押しの状態（ＳＰ１がＯＮの状態）と全押しの状態（ＳＰ２がＯＮの状態）とが区別して検出される。
【００２９】
尚、図３に示すドライバ８８は、ＣＰＵ６０からの指令に基づいて鏡胴駆動部６４に設けられているズーム駆動モータやフォーカス駆動モータを制御し、フイルム給送駆動部６６に設けられているフイルム給送モータを駆動することが可能となっている。また、ドライバ８８は、ＣＰＵ６０からの指令に基づいて基準電圧や駆動電力をＡ／Ｄ変換回路や測光センサ７０に出力することが可能となっている。また、ドライバ８８は、ＣＰＵ６０からの指令に基づいてフイルム露光時に開閉するシャッタの制御信号をシャッタ駆動部６８に出力するとともに、ストロボの発光／停止を指示する信号をストロボ装置７２に出力することが可能となっている。
【００３０】
図４は、パッシブ方式によるＡＦセンサ７４の構成を示した図である。同図に示すようにＡＦセンサ７４には、例えば白と黒の２つの色から構成されている被写体９０の像を左右の各センサの受光面に結像するレンズ９２と、受光面に結像した像を光電変換して輝度信号として出力する右側のＲ（右）センサ９４及び左側のＬ（左）センサ９６と、ＣＰＵ６０と間で各種データの送受信を行うとともにＲセンサ９４及びＬセンサ９６の制御とデータ処理を行う処理回路９９とが設けられている。尚、Ｒセンサ９４、Ｌセンサ９６、及び、処理回路９９は、例えば、同一基板上に実装される。
【００３１】
Ｒセンサ９４及びＬセンサ９６は例えばＣＭＯＳラインセンサであり、直線上に配列された複数のセル（受光素子）から構成される。尚、Ｒセンサ９４とＬセンサ９６のそれぞれのセルには図中左側から順にセンサ番号１、２、３…２３３、２３４が付されるものとする。ただし、Ｒセンサ９４及びＬセンサ９６の左右両側の５つずつのセルは、ダミーのセルとして実際には使用されていないため、有効なセンサ領域は、センサ番号６から２２９までとなっている。これらのＲセンサ９４及びＬセンサ９６の各セルからは受光した光量に応じた輝度信号がセンサ番号と関連付けて処理回路９９に順次出力される。
【００３２】
処理回路９９は、ＣＰＵ６０から指示信号によってＡＦセンサ７４の動作状態と非動作状態の切替えを行い、動作状態においてＣＰＵ６０から動作内容に関する制御データを取得すると、その制御データに基づいて積分処理等の処理を開始する。詳細は後述するが積分処理は各Ｒセンサ９４及びＬセンサ９６から得た各セルの輝度信号を各セル毎に積分（加算）し、各セル毎の輝度信号の積分値（光量の積分値）を生成する処理である。尚、各セル毎の輝度信号の積分値を示す値としてＡＦセンサ７４の受光セルから出力されるデータをセンサデータというものとすると、処理回路９９がセンサデータとして実際に生成する値は、各セルの輝度信号の積分値を所定の基準値（基準電圧ＶＲＥＦ）から減算した値であり、以下の説明においてセンサデータという場合には、この値をいうものとする。従って、センサデータは受光した光量が多い程、低い値を示す。但し、ＡＦセンサ７４から出力されるセンサデータは、各セルからの出力を各セルごとに積分した信号に基づく値であって、ＡＦセンサ７４で撮像した被写体の特徴を示すデータ（例えば、被写体のコントラストを示すデータ）であれば、少なくとも以下で説明する処理を同様に適用できる。また、以下の説明において、単に積分又は積分処理という場合にはセンサデータ（輝度信号の積分値）を得るための積分又は積分処理を示すものとする。
【００３３】
また、積分処理は、例えば、Ｒセンサ９４とＬセンサ９６のそれぞれのセンサ領域内（有効なセル内）のうちＣＰＵ６０によって指定された後述するピーク選択領域内のいずれかのセルのセンサデータが所定の積分終了値に達すると、即ち、ピーク選択領域内のセンサデータのピーク値（最小値）が積分終了値に達すると、測距を行うのに十分なセンサデータが得られたと判断して終了する。このとき、処理回路９９は、ＣＰＵ６０に積分終了を示す信号（積分終了信号）を出力する。尚、上述のようにセンサデータのピーク値が積分終了値に達した場合をＡＦセンサ７４における積分終了条件とするのではなく、例えば、ピーク選択領域内におけるセンサデータの平均値が所定値に達した場合を積分終了条件としてもよく、また、他の条件を積分終了条件としてもよい。
【００３４】
ＣＰＵ６０は、積分終了信号を受けて処理回路９９から積分処理によって得られた各セルのセンサデータをセンサ番号と対応付けて取得する。これによって、ＣＰＵ６０はＲセンサ９４及びＬセンサ９６で撮像された画像（以下、センサ像という）を認識する。そして、詳細を後述するようにＲセンサ９４とＬセンサ９６のそれぞれのセンサ像の間（又は、センサ像のコントラスト抽出処理を実施した後）で相関値演算を行い、相関が最も高くなるときのセンサ像のズレ量を求め、被写体９０までの距離を算出する（三角測量の原理）。図５、図６は、それぞれＡＦセンサ７４から被写体９０までの距離が近い場合と遠い場合のセンサ像（センサデータ）を例示した図である。被写体９０までの距離が近い場合、図５に示すようにＬセンサ９６のセンサ番号８７〜１０１までのセンサデータは明るい値（５０）となり、センサ番号１０１〜１５０までは暗い値（２００）となる。Ｒセンサ９４についてはＬセンサ９６と異なる位置に設けられているため、センサ番号８５〜１３３までのセンサデータは明るい値（５０）となり、センサ番号１３３〜１４８までは暗い値（２００）となる。
【００３５】
これに対して、被写体９０までの距離が遠い場合（例えば略無限遠の場合）には、図６に示すように、Ｌセンサ９６のセンサ番号８７〜１１７までのセンサデータは明るい値（５０）となり、センサ番号１１８〜１５０までは暗い値（２００）となる。一方、Ｒセンサ９４は、Ｌセンサ９６とは異なる位置に設けられているものの被写体位置が遠距離に存在するために、センサ番号８５〜１１６までのセンサデータは明るい値（５０）となり、センサ番号１１７〜１４８までは暗い値（２００）となる。この場合にＣＰＵ６０は、Ｒセンサ９４とＬセンサ９６のセンサ像のズレ量がほとんどなく、被写体が略無限遠に存在すると判断することができる。これに対して、図５に示したように被写体が近距離に存在する場合には、センサ像のズレ量が大きくなる。
【００３６】
定量的には、被写体距離は、Ｒセンサ９４とＬセンサ９６との間隔及び各センサからレンズ９２までの距離、Ｒセンサ９４及びＬセンサ９６の各セルのピッチ（例えば１２μｍ）等を考慮して、センサ像のズレ量から算出することができる。センサ像のズレ量は、Ｒセンサ９４とＬセンサ９６のそれぞれのセンサ像の間で相関値演算を行うことにより求めることができ、詳細については後述する。
【００３７】
次に、上記構成のＡＦセンサ７４を使用して被写体の距離を測距し、その被写体にピントを合わせるＡＦ測距の処理内容について説明する。
【００３８】
カメラ１０の処理モードを撮像のモードに設定して利用者がシャッタボタン３４を半押しすると、ＣＰＵ６０はスイッチ部８６からシャッタボタン３４が半押しされたことを示すＳＰ１のオン信号を取得する。ＳＰ１のオン信号を取得した場合、ＣＰＵ６０は、被写体を撮像するために被写体の輝度に応じたＡＥを設定するとともに、被写体を特定してピントを合わせるＡＦ測距処理を開始する。
【００３９】
図７は、上記ＣＰＵ６０におけるＡＦ測距の処理手順の概要を示すフローチャートである。
【００４０】
［ステップＳ１０（測距エリア設定処理）］
撮影レンズは、ズームレンズ鏡胴１２を駆動することにより焦点距離を可変できるのに対し、ＡＦセンサ７４にセンサ像を結像させるレンズ９２は、固定焦点レンズである。そこで、撮影レンズのレンズ位置（画角）に対応して測距エリアを変更するようにしている。即ち、撮影レンズがテレ位置の場合には、測距エリアを狭くする。
【００４１】
ここで、図８に示すようにＲセンサ９４及びＬセンサ９６のセンサ領域は、それぞれ５分割したエリア単位で相関値演算等の処理が行われ、各エリア毎に被写体距離が算出されるようになっている。これらの分割されたエリアを以下分割エリアというものとすると、分割エリアは、同図に示すように「右エリア」、「右中エリア」、「中央エリア」、「左中エリア」、「左エリア」から構成される。また、各分割エリアは、隣接する分割エリアと一部領域（セル）を共有している。相関値演算等の際には、Ｒセンサ９４とＬセンサ９６の対応する各分割エリア間（同一名の分割エリア間）でそれぞれ個別に相関値演算が行われることになる。尚、本実施の形態では分割エリアはセンサ領域を５分割したものであるが５分割以外の分割数であってもよい。
【００４２】
測距エリアは、Ｒセンサ９４とＬセンサ９６のそれぞれのセンサ領域のうち測距に使用する領域であり、その領域を決めるのに上記分割エリアが使用される。この測距エリア設定処理の詳細について、図９のフローチャートを用いて説明する。
【００４３】
まず、ＣＰＵ６０は、現在設定されているズーム位置（画角の設定角度）に関する情報を鏡胴駆動部６４から取得して、現在のズーム位置が所定のズーム位置よりテレ側かワイド側（テレ以外）かを判定する（ステップＳ１０Ａ）。例えばズーム可変範囲をＺ１〜Ｚ６の６つの範囲に分けた場合に、現在のズーム位置がテレ端側の範囲Ｚ６に設定されているときにはテレ側と判定し、それ以外の範囲Ｚ１〜Ｚ５に設定されているときには、テレ以外と判定する。尚、マクロモードに設定されているときにはテレ以外と判定する。
【００４４】
もし、テレ側と判定した場合には、図１０に示すようにＲセンサ９４及びＬセンサ９６のセンサ領域（画角が±６．５°の範囲）のうち、測距に使用する測距エリアを撮影レンズの画角に対応した範囲（画角が±３．９°の範囲）に制限する。即ち、テレと判定した場合には、Ｒセンサ９４及びＬセンサ９６の全センサ領域（５エリア）のうちの中央部の「右中エリア」、「中央エリア」、及び「左中エリア」の３つの分割エリアで構成される領域(1)を測距エリアとして設定する（３エリア設定）（ステップＳ１０Ｂ）。一方、テレ以外と判定した場合には、「右エリア」、「右中エリア」、「中央エリア」、「左中エリア」、「左エリア」の５つの分割エリアで構成される領域(2)を測距エリアとして設定する（５エリア設定）（ステップＳ１０Ｃ）。
【００４５】
［ステップＳ１２（ＡＦデータ取得処理）］
ステップＳ１２では、被写体の明るさに応じてＡＦデータ（後に記述）の取得方法を切り替えている。
【００４６】
即ち、被写体の輝度が超高輝度又は高輝度の場合には、ＡＦセンサ７４のセンサ感度（輝度信号のゲイン）を低感度に設定し、かつ測距エリアが３エリア設定の場合には、測距エリア（図１０の領域(1)参照）を構成する「中央エリア」、「左中エリア」、及び「右中エリア」における積分処理を個別に行い、測距エリアが５エリア設定の場合には、測距エリア（図１０の領域(2)参照）を構成する「中央エリア」、「左中及び左エリア」、及び「右中及び右エリア」における積分処理を個別に行う。尚、「左中及び左エリア」は「左中エリア」及び「左エリア」から構成される領域を示し、「右中及び右エリア」は「右中エリア」及び「右エリア」から構成される領域を示す。また、ＡＦセンサ７４のセンサ感度は、高感度と低感度の２段階に切り替えることができるようになっている。
【００４７】
ここで、上記測距エリアを構成する「中央エリア」、「左中エリア」（又は「左中及び左エリア」）、及び「右中エリア」（又は「右中及び右エリア」）における積分処理を個別に行うとは、「中央エリア」内のいずれかのセンサデータが積分終了値に達すると、その「中央エリア」のセンサデータを取得し、続いてセンサデータをリセットして積分を開始し、「左中エリア」（又は「左中及び左エリア」）内のいずれかのセルのセンサデータが積分終了値に達すると、その「左中エリア」（又は「左中及び左エリア」）のセンサデータを取得し、次にセンサデータをリセットして積分を開始し、「右中エリア」（又は「右中及び右エリア」）内のいずれかのセルのセンサデータが積分終了値に達すると、その「右中エリア」（又は「右中及び右エリア」）のセンサデータを取得することをいう。このようにして、複数の領域の積分処理を個別に行うことにより、いずれかの領域に高輝度のライトなどが入射し、その領域のセンサデータが不適当な場合でも他の領域から有効なセンサデータを取得することができる。例えば、測距エリアが５エリア設定の場合において、測距エリア内に図１１（Ａ）、（Ｂ）に示すような主要被写体である人物と、人物後方の高輝度のライトが存在するものとする。このとき、例えば、測距エリアの全領域を選択領域（ピーク選択領域）として積分処理を行うと、図１１（Ａ）に示すように高輝度のライトに対応する右エリアにおけるセンサデータの信号レベルが適切なものとなり、主要被写体である人物に対応する中央エリアにおけるセンサデータの信号レベルが小さくなる。このため、各分割エリアごとに被写体距離を求めようとすると、中央エリアに関しては測距不能と判断され、結果的に後方のライトに合焦してしまう不具合が生じる。これに対して、上述のように測距エリアを複数の領域に分けて個別に積分処理を行うと、図１１（Ｂ）に示すように中央エリアの積分処理において主要被写体である人物に対応するのセンサデータの信号レベルが適切なものとなり、結果的に人物に合焦させることができるようになる。
【００４８】
また、被写体の輝度が中輝度の場合には、ＡＦセンサ７４のセンサ感度を低感度に設定し、かつ３エリア設定又は５エリア設定された測距エリアにおける積分処理を一括して行う。例えば、３エリア設定の場合には、測距エリア（図１０の領域(1)参照）を構成する「中央エリア」、「左中エリア」、及び「右中エリア」の積分処理を同時に行い、これらの「中央エリア」、「左中エリア」、及び「右中エリア」内のいずれかのセルのセンサデータが積分終了値に達すると、「中央エリア」、「左中エリア」、及び「右中エリア」のセンサデータを一括して取得する。
【００４９】
更に、被写体の輝度が低輝度の場合には、ＡＦセンサ７４のセンサ感度を高感度に設定し、かつ３エリア設定又は５エリア設定された測距エリアにおける積分処理を一括して行う。尚、積分時間が所定の時間経過しても測距エリア内のセルのセンサデータが積分終了値に達しない場合には、積分を終了させた後、ＡＦセンサ７４のセンサ感度を低感度に切り替えて積分を開始すると共に、オートフォーカス用の補助光をストロボ装置７２から発光させる（ＡＦプレ発光）。この場合には、３エリア設定又は５エリア設定された測距エリアにおける積分処理を一括して行う。
【００５０】
尚、ここでは、ＡＦセンサ７４の受光セルより出力されるデータをセンサデータとしており、下記コントラスト検出処理１以降に使用される画像データとしては、センサデータ自体とする場合の他に、センサデータにコントラスト抽出処理等を施したものとする場合もあるため、コントラスト検出処理１以降の処理では、センサデータをそのまま処理に用いたもの、及び、センサデータにコントラスト抽出処理等を施したものを総称してＡＦデータと記載する。
【００５１】
［ステップＳ１４（コントラスト検出処理１）］
ステップＳ１４では、ステップＳ１２で取得したＡＦデータが測距に必要なコントラストがあるか否かを判定する。そして、ＡＦデータが測距に必要なコントラストがないと判定（低コントラスト判定）されると、測距不能とする。
【００５２】
ここで、ステップＳ１０の測距エリア設定処理において、測距エリアとして３エリア設定がされている場合には、右中エリア、中央エリア、及び左中エリアの各分割エリアごとに上記コントラスト判定を行い、低コントラスト判定された分割エリアのＡＦデータを使用した相関値演算等の処理は行わないようにしている。同様に、測距エリアとして５エリア設定がされている場合には、右エリア、右中エリア、中央エリア、左中エリア、左エリアの各分割エリアごとに上記コントラスト判定を行い、低コントラスト判定された分割エリアのＡＦデータを使用した相関値演算等の処理は行わないようにしている。
【００５３】
［ステップＳ１６（相関値演算処理）］
ステップＳ１６では、ＡＦセンサ７４のＲセンサ９４及びＬセンサ９６からそれぞれ取り込んだセンサ像（ＡＦデータ）の間で相関値演算を行い、相関が最も高くなるときのセンサ像のズレ量（左右のＡＦデータ間のシフト量）を求める。この左右のＡＦデータ間のシフト量から被写体の距離を求めることができる。
【００５４】
尚、測距エリアとして３エリア設定がされている場合には、右中エリア、中央エリア、及び左中エリアの各分割エリアごとに相関値演算を行い、測距エリアとして５エリア設定がされている場合には、右エリア、右中エリア、中央エリア、左中エリア、左エリアの各分割エリアごとに相関値演算を行うが、上記ステップＳ１４で低コントラスト（測距不能）の判定が行われた分割エリアでの相関値演算は行わない。
【００５５】
次に、上記相関値演算について図１２を参照しながら説明する。
【００５６】
図１２において、９４Ａ及び９６Ａは、それぞれＲセンサ９４及びＬセンサ９６のうちのある分割エリアのセンサ（以下「採用センサ」という）である。また、９４Ｂ及び９６Ｂは、それぞれ採用センサ９４Ａ及び９６ＡのＡＦデータから相関値演算に使用するＡＦデータを抽出するためのＲウインドウ及びＬウインドウである。
【００５７】
ここで、Ｒウインドウ９４ＢとＬウインドウ９６Ｂとのシフト量をｎ（ｎ＝−２，−１，０，１，…，MAX(=38))とすると、ｎ＝−２のときにＲウインドウ９４Ｂは採用センサ９４Ａの左端に位置し、Ｌウインドウ９６Ｂは採用センサ９６Ａの右端に位置している。そして、ｎ＝−１のときにＬウインドウ９６Ｂは採用センサ９６Ａの右端から１セル分だけ左にシフトし、ｎ＝０のときにＲウインドウ９４Ｂは採用センサ９４Ａの左端から１セル分だけ右にシフトし、同様にしてｎが１増加するごとにＲウインドウ９４ＢとＬウインドウ９６Ｂとは交互に１セルずつ移動する。そして、ｎ＝MAXのときにＲウインドウ９４Ｂは採用センサ９４Ａの右端に位置し、Ｌウインドウ９６Ｂは採用センサ９６Ａの左端に位置する。
【００５８】
いま、Ｒウインドウ９４ＢとＬウインドウ９６Ｂとのあるシフト量ｎのときの相関値をｆ(n)とすると、相関値ｆ(n)は、次式、
【００５９】
【数１】
0004802223.tif 000002
【００６０】
で表すことができる。尚、式(1)において、ｉはウインドウ内のセルの位置（ｉ＝１，２，…wo(＝42)）を示す番号であり、Ｒ(i)及びＬ(i)は、それぞれＲウインドウ９４Ｂ及びＬウインドウ９６Ｂの同じセル位置ｉのセルから得られたＡＦデータである。即ち、式(1)に示すように相関値ｆ(n)は、Ｒウインドウ９４Ｂ及びＬウインドウ９６Ｂの同じセル位置のセルから得られたＡＦデータの差分の絶対値の総和であり、相関が高い程、ゼロに近づく。
【００６１】
従って、シフト量ｎを変えて相関値ｆ(n)を求め、相関値ｆ(n)が最も小さくなるとき（相関が最も高くなるとき）のシフト量ｎから被写体の距離を求めることができる。尚、被写体距離が無限遠のときに、シフト量ｎ＝０で相関が最も高くなり、被写体距離が至近端のときに、シフト量ｎ＝MAXで相関が最も高くなるように被写体像がＲセンサ９４及びＬセンサ９６に結像するようになっている。また、相関を求める演算式は、上式(1)に限らず、他の演算式を用いることができる。その場合において、相関が高いほど相関値が大きくなる場合があり、このときには、以下の説明における相関値についての大小関係を反転してその演算式において本実施の形態を適用する。例えば、上式(1)により算出した相関値の極小値は、極大値となり、また、上式(1)により算出した相関値について小さい又は大きいなどの文言は、大きい又は小さいなどの文言に反転して適用することができる。
【００６２】
［ステップＳ１８（コントラスト検出処理２）］
ステップＳ１４では、分割エリア内のＡＦデータが、測距に必要なコントラストがあるか否かを判定しているのに対し、ステップＳ１８では相関が最大となるシフト量ｎのときのウインドウ範囲内のＡＦデータが、測距に必要なコントラストがあるか否かを判定する。そして、低コントラストと判定すると、測距不能とし、そのときのシフト量ｎに基づく測距は行わない。
【００６３】
［ステップＳ２０（Ｌ、Ｒチャンネル差補正処理）］
ステップＳ２０では、ＡＦセンサ７４から得られた左右のＡＦデータであって、相関が最大となるウインドウ範囲内の左右のＡＦデータの最小値を比較する。そして、左右のＡＦデータの最小値の差の絶対値が第１の基準値以上かつ第２の基準値以下の場合に、ダイナミックレンジを越えない方のチャンネルのＡＦデータを補正する。尚、相関が最大となったときの相関値が小さい場合には、ＡＦデータを補正しなくても相関値演算の結果は信頼性が高いと判断できるため、相関が最大となったときの相関値が第３の基準値以上の場合にのみＡＦデータの補正を行うようにしてもよい。
【００６４】
また、ＡＦデータを補正した場合には、再度相関値演算を行い、最小の相関値を求める。そして、補正後の最小の相関値と補正前の最小の相関値とを比較し、一致度の高い方の相関値のシフト量を採用する。
【００６５】
［ステップＳ２２（補間値演算処理）］
ステップＳ２２では、相関が最も高くなるときの相関値ｆ(n)（最小極小値）を求めた後、その最小極小値と前後の相関値とを使用し、シフト量が１以内（ＡＦセンサ７４のセルの１ピッチ以内）の補間値を算出する。
【００６６】
前記補間値は、最小極小値が得られたシフト量をｎとすると、その最小極小値と、そのシフト量ｎの前後の複数のシフト量における相関値（最低３つの相関値）とに基づいて、これらの相関値を通りＶ字状に交わる２本の直線の交点を求め、その交点の位置と前記シフト量ｎとの差分値として算出される。
【００６７】
［ステップＳ２４（ＡＦエラー処理）］
ステップＳ２４では、３エリア設定又は５エリア設定された測距エリアの全ての測距エリアで測距不能と判定されると、予め設定した被写体距離にピントを合わせるように撮影レンズをセットする。
【００６８】
即ち、オートフォーカス用の補助光を発光し、かつ全ての測距エリアのＡＦデータ量不足によりエラーと判断された場合、無限遠にピントが合うように撮影レンズをセットする。
【００６９】
また、オートフォーカス用の補助光を発光し、かつ全ての測距エリアのＡＦデータ量不足によりエラーと判断された場合、フイルム感度に応じてストロボ到達可能な固定焦点セット距離に切り替える。例えば、ＩＳＯ４００以上の場合には、固定焦点セット距離を６ｍとし、ＩＳＯ４００未満の場合には、固定焦点セット距離を３ｍとする。更に、エラーの種類によってピントを合わせる固定焦点セット距離を切り替えるようにしてもよい。
【００７０】
［ステップＳ２６（距離算出処理）］
ステップＳ２６では、ステップＳ１６での相関値演算により最小極小値の相関値が得られるときのシフト量ｎと、ステップＳ２２で演算した補間値とに基づいて被写体距離を算出する。尚、３エリア設定又は５エリア設定された測距エリアの全ての測距エリアごとに被写体距離を算出する。
【００７１】
［ステップＳ２８（エリア選択処理）］
ＡＦ測距処理中にエラーが発生しない場合には、３エリア設定時には３つの被写体距離が算出され、５エリア設定時には５つの被写体距離が算出される。複数の被写体距離が算出されると、基本的には最も近距離の被写体距離を採用する。
【００７２】
尚、５エリア設定時に５つの被写体距離が算出され、これらの被写体距離のうち、左エリア又は右エリアのうちの何れか一方のエリアに対応する被写体距離が超至近距離となり、それ以外のエリアに対応する被写体距離が全て中間距離以遠となる場合には、超至近の結果を採用せず、中間距離以遠の被写体距離のうちの最も近距離の被写体距離を採用する。
【００７３】
｛ＡＦデータ取得処理（図７ステップＳ１２）の詳細｝
次に、上記図７のステップＳ１２におけるＡＦデータ取得処理について詳説する。
【００７４】
まず、ピーク選択領域について説明すると、ピーク選択領域とは、ＡＦセンサ７４の積分処理において、センサデータのピーク値（最小値）が積分終了値に達したか否かを監視するセルの範囲をいう。図１３は、以下で説明するＡＦデータ取得処理において設定されるピーク選択領域の態様を示した図である。ピーク選択領域は、上記図８で説明した分割エリアを単位として構成され、図１３（Ａ）には、Ｒセンサ９４及びＬセンサ９６の分割エリアが示されている。これに対して、同図（Ｂ）〜同図（Ｈ）にはピーク選択領域が示されており、ピーク選択領域は領域(1)〜(7)の７通りに切り替えられる。
【００７５】
同図（Ｂ）に示す領域(1)は、Ｒセンサ９４及びＬセンサ９６における「中央エリア」、「右中エリア」、及び「左中エリア」の３つの分割エリアから構成され、同図（Ｃ）に示す領域(2)は、Ｒセンサ９４及びＬセンサ９６における「中央エリア」、「右中エリア」、「右エリア」、「左中エリア」、及び「左エリア」の５つの分割エリアから構成される。尚、領域(1)は、図１０で示した３エリア設定時の領域(1)に等しく、領域(2)は、図１０で示した５エリア設定時の領域(2)に等しい。同図（Ｄ）、（Ｅ）、（Ｆ）に示す領域(3)、(4)、(5)はそれぞれ、Ｒセンサ９４及びＬセンサ９６における「中央エリア」、「左中エリア」、「右中エリア」であり、同図（Ｇ）に示す領域(6)は、Ｒセンサ９４及びＬセンサ９６における左中エリア及び左エリアから構成され、同図（Ｈ）に示す領域(7)は、Ｒセンサ９４及びＬセンサ９６における右中エリア及び右エリアから構成される。
【００７６】
図１４は、ＡＦデータ取得処理の手順を示したフローチャートである。まず、ＣＰＵ６０は、測光センサ７０が出力する光量の信号出力を参照して、被写体から得た光量が超高輝度と判断する所定の閾値以上であるか否かを判定する（ステップＳ５０）。ＮＯと判定した場合、ＣＰＵ６０は、ＡＦセンサ７４（ＡＦセンサ７４の処理回路９９）に対して一括ゲイン高積分の処理を開始させる（ステップＳ５２）。尚、以下の説明では、ＡＦセンサ７４の処理回路９９が行う処理であっても処理回路９９とは明記せず、単にＡＦセンサ７４と記述する。
【００７７】
一括ゲイン高積分は、上記図７に示したステップＳ１０の測距エリア設定処理により設定した測距エリアと同一範囲の領域をピーク選択領域とし、また、ＡＦセンサ７４のセンサ感度を高感度とし、測距エリア内の各セルのセンサデータを一括して取得する処理である。上記測距エリア設定処理において測距エリアを３エリア設定とした場合（ズーム位置がテレの場合）には、ピーク選択領域は、図１３（Ｂ）に示した領域(1)に設定される。一方、測距エリアを５エリア設定とした場合（ズーム位置がテレ以外の場合）には、ピーク選択領域は、図１３（Ｃ）に示したピーク選択領域(2)に設定される。尚、一括ゲイン高積分は、被写体輝度が低輝度の場合のセンサデータを取得するための積分処理であるが、後述の記載からも分かるように被写体輝度が高輝度、中輝度、低輝度のどの状態にあるかを判別するための処理でもある。このステップＳ５２の一括ゲイン高積分の処理の代わりに被写体輝度を判別するための他の方法を採用してもよい。
【００７８】
ＡＦセンサ７４による一括ゲイン高積分の開始後、ＣＰＵ６０は、ＡＦセンサ７４から積分処理の終了を示す積分終了信号が出力されるのを待機する。そして、積分処理の開始後、積分処理が終了するまでに要した時間（積分時間）が２ｍｓ未満か、２ｍｓ以上４ｍｓ未満か、又は、４ｍｓ以上か（４ｍｓ経過しても積分処理が終了しないか）を判定する（ステップＳ５４）。
【００７９】
もし、積分時間が２ｍｓ未満であった場合には、被写体が高輝度であると判断してＡＦセンサ７４のセンサデータをリセットし、詳細を後述する３分割ゲイン低積分の処理に切り替える（ステップＳ５６）。積分時間が２ｍｓ以上４ｍｓ未満であった場合には、被写体が中輝度であると判断してＡＦセンサ７４のセンサデータをリセットし、詳細を後述する一括ゲイン低積分の処理に切り替える（ステップＳ５８）。積分時間が４ｍｓ以上であった場合には、被写体が低輝度であると判断して詳細を後述する低輝度時処理を実行する（ステップＳ６０）。
【００８０】
ここで、上記ステップＳ５０においてＹＥＳ、即ち、被写体が超高輝度と判定した場合には、２ｍｓ未満で終了した場合と同様に３分割ゲイン低積分の処理を実行する（ステップＳ５６）。
【００８１】
ステップＳ５６の３分割ゲイン低積分の処理は、ＡＦセンサ７４のセンサ感度を低感度に設定し、また、上記測距エリア設定処理において設定した測距エリアを３分割し、分割した各エリアをそれぞれ順にピーク選択領域としてＡＦセンサ７４に積分処理を実行させるＣＰＵ６０の処理である。
【００８２】
即ち、上記図７ステップＳ１０の測距エリア設定処理において測距エリアを３エリア設定として場合（ズーム位置がテレの場合）、測距エリアは「中央エリア」、「左中エリア」及び「右中エリア」から構成される。この測距エリアを「中央エリア」、「左中エリア」、及び、「右中エリア」の各分割エリアに３分割して、各分割エリアを順にピーク選択領域として積分処理を実行する。図１３で示したピーク選択領域の態様においては、同図（Ｄ）、（Ｅ）、（Ｆ）の領域(3)、(4)、(5)が順にピーク選択領域として設定される。具体的には、図１５のフローチャートに示すように、まず、中央エリア（領域(3)）をピーク選択領域とし（ステップＳ８０）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ８２）積分処理を開始する（ステップＳ８４）。この積分処理が終了し、ＣＰＵ６０が領域(3)のセンサデータを取得すると（ステップＳ８６）、測距エリアが３エリア設定であるため（ステップＳ８８）、続いて、左中エリア（領域(4)）をピーク選択領域とし（ステップＳ９０）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ９２）積分処理を開始する（ステップＳ９４）。この積分処理が終了し、ＣＰＵ６０が領域(4)のセンサデータを取得すると（ステップＳ９６）、続いて、右中エリア（領域(5)）をピーク選択領域とし（ステップＳ９８）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ１００）積分処理を開始する（ステップＳ１０２）。この積分処理が終了し、ＣＰＵ６０が領域(5)のセンサデータを取得すると（ステップＳ１０４）、３分割ゲイン低積分の処理を終了する。これによって以後の測距演算に必要な測距エリア内の各分割エリアのセンサデータが取得される。
【００８３】
一方、上記測距エリア設定処理において５エリア設定とした場合（ズーム位置がテレ以外の場合）、測距エリアは、「中央エリア」、「左中エリア」、「左エリア」、「右中エリア」、「右エリア」から構成される。この測距エリアを図１３（Ｄ）、（Ｇ）、（Ｈ）の領域(3)、(6)、(7)に３分割して、各領域(3)、(6)、(7)を順にピーク選択領域として積分処理を実行する。具体的には、図１５のフローチャートで説明すると、上述の３エリア設定の場合と同様に、まず、中央エリア  （領域(3)）をピーク選択領域とし（ステップＳ８０）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ８２）積分処理を開始する（ステップＳ８４）。この積分処理が終了し、ＣＰＵ６０が領域(3)のセンサデータを取得すると（ステップＳ８６）、測距エリアが５エリア設定であるため（ステップＳ８８）、続いて、左中エリア及び左エリア（領域(6)）をピーク選択領域とし（ステップＳ１０６）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ１０８）積分処理を開始する（ステップＳ１１０）。この積分処理が終了し、ＣＰＵ６０が領域(6)のセンサデータを取得すると（ステップＳ１１２）、続いて、右中エリア及び右エリア（領域(7)）をピーク選択領域とし（ステップＳ１１４）、また、ＡＦセンサ７４のセンサ感度を低感度として（ステップＳ１１６）積分処理を開始する（ステップＳ１１８）。この積分処理が終了し、ＣＰＵ６０が領域(7)のセンサデータを取得すると（ステップＳ１２０）、３分割ゲイン低積分の処理を終了する。これによって以後の測距演算に必要な測距エリア内の各分割エリアのセンサデータが取得される。
【００８４】
尚、上記説明では測距エリアが５エリア設定の場合には、測距エリアを領域(3)、(6)、(7)に３分割するようにしたが、これに限らず、各分割エリアに５分割してそれぞれの分割エリアを順にピーク選択領域として積分処理を実行しセンサデータを取得するようにしてもよい。即ち、測距エリアを分割する領域の数は本実施の形態の場合に限らず任意に設定変更できる。
【００８５】
図１４のステップＳ５８における一括ゲイン低積分の処理は、ステップＳ５２の一括ゲイン高積分において採用したピーク選択領域を変更せず、ＡＦセンサ７４のセンサ感度を高感度から低感度に切り替えてＡＦセンサ７４に積分処理を実行させるＣＰＵ６０の処理である。
【００８６】
即ち、上記測距エリア設定処理において測距エリアを３エリア設定とした場合（ズーム位置がテレの場合）には、ピーク選択領域を、図１３（Ｂ）に示した領域(1)とし、また、ＡＦセンサ７４のセンサ感度を低感度としてＡＦセンサ７４に積分処理を実行させる。一方、上記測距エリア設定処理において測距エリアを５エリア設定とした場合（ズーム位置がテレ以外の場合）には、ピーク選択領域を、図１３（Ｃ）に示した領域(2)とし、また、ＡＦセンサ７４のセンサ感度を低感度としてＡＦセンサ７４に積分処理を実行させる。
【００８７】
以上の積分処理が終了するとＣＰＵ６０は、ＡＦセンサ７４から測距エリア内のセンサデータを取得する。これによって、測距演算に必要な測距エリア内の各分割エリアのセンサデータが取得される。
【００８８】
図１４のステップＳ６０における低輝度時処理は、ステップＳ５２における一括ゲイン高積分の処理を、最大許容積分時間を限度として積分処理が終了するまで継続させる処理である。
【００８９】
最大許容積分時間は、撮影モードにより異なり、撮影モードが発光禁止モードに設定されている場合には、上記ステップＳ５２の一括ゲイン高積分の積分時間が４ｍｓ以上経過した後も２００ｍｓ（最大許容積分時間）を限度としてそのまま積分処理を継続させる。もし、積分処理が２００ｍｓ以内で正常に終了した場合（ピーク選択領域内のセンサデータのピーク値が積分終了値に達したことにより積分を終了した場合（以下同様））には、その時点のセンサデータをＡＦセンサ７４から取得する。一方、２００ｍｓが経過しても積分処理が正常に終了しない場合には、ＣＰＵ６０からの指示信号により強制的に積分処理を終了させ、その時点でのセンサデータをＡＦセンサ７４から取得する。
【００９０】
また、撮影モードが発光禁止モードでない場合には、まず、上記ステップＳ５２の一括ゲイン高積分の積分時間が４ｍｓ以上経過した後も１００ｍｓを限度  （最大許容積分時間）としてそのまま積分処理を継続させる。もし、積分処理が１００ｍｓ以内で正常に終了した場合には、その時点でセンサデータをＡＦセンサ７４から取得する。一方、積分時間が１００ｍｓに達しても積分処理が終了しない場合には、ＣＰＵ６０からの指示信号により強制的に積分処理を終了させる。そして、ストロボ装置ＡＦ７２による補助光の発光によりＡＦプレ発光させながら積分処理を再度開始させる。尚、夜景ポートレートモードのように夜景と手前の人物とを同時に撮影するようなモードに設定されている場合には、夜景にピントが合う不具合を防止するために、一括ゲイン高積分の積分時間は、１００ｍｓの替わりに２５ｍｓを限度とし、積分時間が２５ｍｓに達しても積分処理が正常に終了しない場合には、積分処理を強制的に終了させて、ＡＦプレ発光と共に積分処理を開始させる。尚、以下、ＡＦプレ発光させながら積分を行う処理をプレ発光処理という。
【００９１】
プレ発光処理による積分処理を開始する場合、ステップＳ５２の一括ゲイン高積分において採用したピーク選択領域を変更せず、ＡＦセンサ７４のセンサ感度を高感度から低感度に切り替えてＡＦセンサ７４に積分処理を開始させる。また、ＡＦプレ発光は、断続的なパルス発光により所定の上限回数を設定して行う。これにより、プレ発光が上限回数に達する前に積分処理が正常に終了した場合には、そのときのセンサデータをＡＦセンサ７４から取得する。一方、プレ発光が上限回数に達しても積分処理が正常に終了しない場合には、積分処理を強制的に終了させて、その時点でのセンサデータをＡＦセンサ７４から取得する。
【００９２】
尚、上記実施の形態では被写体輝度が高輝度又は超高輝度の場合だけ測距エリアを複数の領域（ピーク選択領域）に分割して各領域ごとにセンサデータを取得するようにしたが、被写体輝度が中輝度や低輝度の場合であっても高輝度等の場合と同様に測距エリアを複数の領域に分割して各領域ごとにセンサデータを取得するようにしてもよい。
【００９３】
また、上記実施の形態では、被写体輝度が超高輝度、高輝度、中輝度、低輝度の場合に場合分けしてそれぞれの場合に対応したセンサデータの取得処理を行うようにしたが、これに限らず、被写体輝度のレベルを上記実施の形態よりも細かく又は粗く場合分けしてそれぞれの被写体輝度のレベルに対応したセンサデータの取得処理を行うようにしてもよい。
【００９４】
次に、上記ＡＦデータ取得処理を実行する際のＣＰＵ６０とＡＦセンサ７４  （処理回路９９）の処理動作について詳説する。図１６に示すようにＣＰＵ６０とＡＦセンサ７４との間では、複数の信号ラインにより各種信号の送受信が行われる。ＣＰＵ６０からＡＦセンサ７４に送信される信号の信号ラインとしては、ＡＦセンサ７４を動作状態又は非動作状態に切り替える信号が送信される／ＡＦＣＥＮ、制御データの設定を指示する信号が送信される／ＡＦＲＳＴ、制御データの内容を示す信号が送信されるＡＦＡＤ、ＲＥＡＤ／ＷＲＩＧＨＴ−クロックパルスが送信されるＡＦＣＬＫ等がある。ＡＦセンサ７４からＣＰＵ６０に送信される信号の信号ラインとしては、積分処理が終了したことを示す信号が送信される／ＡＦＥＮＤ、ピーク選択領域におけるセンサデータのピーク値（最小値）がアナログデータとして送信されるＭＤＡＴＡ、Ｒセンサ９４及びＬセンサ９６の各セルのセンサデータがアナログデータとして送信されるＡＦＤＡＴＡＰ等がある。尚、以下、各信号ラインから送信される信号の種類を信号ラインの名称により識別する（／ＡＦＣＥＮ信号、／ＡＦＲＳＴ信号等）。
【００９５】
ＣＰＵ６０及びＡＦセンサ７４における上記各信号の送受信の動作タイミングについて図１７の動作タイミングチャートを用いて説明する。ＣＰＵ６０が／ＡＦＣＥＮ信号を１（Ｈｉｇｈレベル）に設定している場合、ＡＦセンサ７４は非動作状態にあり、ＣＰＵ６０が／ＡＦＣＥＮ信号を０（Ｌｏｗレベル）に切り替えるとＡＦセンサ７４が動作状態に切り替わる（時刻Ｔ１０参照）。
【００９６】
ＡＦセンサ７４を動作状態に切り替えた後、所定時間（１０ｍｓ）が経過すると、ＣＰＵ６０は／ＡＦＲＳＴ信号を１から０に切り替えてＡＦセンサ７４に対して制御データの設定を指示する（時刻Ｔ２０参照）。そして、ＣＰＵ６０は、ＡＦセンサ７４に対して、ＡＦＡＤ信号により制御データを送信すると共に、ＡＦＣＬＫ信号によりクロックパルスを送信する（時刻Ｔ２０〜Ｔ３０の期間参照）。ＡＦセンサ７４は、／ＡＦＲＳＴ信号が１から０に切り替えられると、ＡＦＣＬＫ信号により与えられるクロックパルスに同期してＡＦＡＤ信号の信号レベルを読み込む。これによって、ピーク選択領域、センサ感度等の積分処理に必要なデータがＡＦセンサ７４にセットされる。尚、制御データとして、Ｄ０からＤ１２７までの１２８個の１又は０で示されるデータが時系列で送信されるが、制御データの内容については後述する。
【００９７】
ＡＦＡＤ信号により最後のデータ（Ｄ１２７）が送信され（時刻Ｔ３０参照）、１００μｓが経過すると（時刻Ｔ４０参照）、ＣＰＵ６０は／ＡＦＲＳＴ信号を０から１に切り替え、積分処理の開始を指示する。これにより、ＡＦセンサ７４は、センサ感度を高感度に設定した場合には１５０μｓ後に、センサ感度を低感度に設定した場合には３０μｓ後に、Ｒセンサ９４及びＬセンサ９６の各セルによる受光を開始すると共に、各セルから逐次出力される輝度信号の積分を開始する（時刻Ｔ５０参照）。同時に、ＡＦセンサ７４は、／ＡＦＥＮＤ信号を１から０に切り替え、積分を開始したことをＣＰＵ６０に送信する。また、ＭＤＡＴＡ信号によりピーク選択領域内のセンサデータのピーク値をアナログデータとして出力する。
【００９８】
積分処理の開始後、センサデータのピーク値が所定の積分終了値ＶＥＮＤ（例えば、０．５Ｖ）に達すると、ＡＦセンサ７４は、輝度信号の積分を終了すると共に、／ＡＦＥＮＤ信号を０から１に切り替える（時刻Ｔ６０参照）。尚、／ＡＦＥＮＤ信号の０から１への切替りが積分終了信号となる。
【００９９】
ＣＰＵ６０は、／ＡＦＥＮＤ信号が０に設定されていた時間（時刻Ｔ５０〜Ｔ６０の期間）を検出することより、積分時間を検出すると共に、／ＡＦＥＮＤ信号が０から１に切り替えられたことにより積分が終了したことを検出する。
【０１００】
積分が終了すると、ＣＰＵ６０は、ＡＦセンサ７４に対してＡＦＣＬＫ信号によりクロックパルスを送信し、センサデータの読出しを指示する（時刻Ｔ７０参照）。尚、ピーク選択領域内におけるセンサデータのピーク値が積分終了値に達した場合にＡＦセンサ７４が積分を自動的に終了する自動終了モードと、センサデータのピーク値が積分終了値に達したか否かとは無関係に外部（ＣＰＵ６０）からの指示により積分を終了する外部終了モードとがあり、ＣＰＵ６０は、前者の場合にはＡＦＡＤ信号を１に設定した状態を維持して上記クロックパルスを送信し、後者の場合にはＡＦＡＤ信号を０に切り替えてＡＦセンサ７４の積分を終了させた後、上記クロックパルスを送信する。また、前者の場合であってもＣＰＵ６０がＡＦＡＤ信号を１から０に切り替えることにより強制的にＡＦセンサ７４における積分を終了させることができるようになっている。
【０１０１】
ＡＦセンサ７４は、ＡＦＣＬＫ信号により与えられるクロックパルスに同期して各セルごとに積分して得たセンサデータをアナログデータとしてＬセンサ９６とＲセンサ９４のセンサ番号１からセンサ番号２３４まで交互にＣＰＵ６０に送信する。これによってＣＰＵ６０はセンサデータをＡＦセンサ７４から取得する。
【０１０２】
次に、上記ＡＦＡＤ信号により送受信される制御データの内容について説明する。上述のように制御データは、Ｄ０からＤ１２７までの１２８個の１又は０のデータから構成される（図１７時刻Ｔ２０〜Ｔ３０の期間参照）。このうち、Ｄ０〜Ｄ１１１は、ＡＦセンサ７４において設定すべきピーク選択領域を示すピーク選択領域設定データであり、Ｄ１１２〜Ｄ１１８は、ピーク選択領域数を示すピーク選択領域数データである。尚、ピーク選択領域設定データ及びピーク選択領域数データの詳細は後述する。
【０１０３】
また、Ｄ１１９〜Ｄ１２０はダミーデータ（０）であり、Ｄ１２１は設定すべきセンサ感度を示す感度データである。本実施の形態においてセンサ感度は、高又は低の２段階で切替可能であり、Ｄ１２１が１の場合には高感度、Ｄ１２１が０の場合には低感度の設定を示す。
【０１０４】
Ｄ１２２は、積分の終了に関するモードを示す積分モードデータであり、Ｄ１２２が１のときは外部からの指示によって積分を終了する外部終了モードの設定を示し、Ｄ１２２が０のときは、ピーク選択領域内のセンサデータが所定の積分終了値（積分終了電圧）ＶＥＮＤに達したときにＡＦセンサ７４が自動で積分処理を終了する自動終了モードの設定を示す。
【０１０５】
Ｄ１２３は、自動終了モードの場合に積分終了値ＶＥＮＤを設定する自動積分終了電圧設定データであり、本実施の形態では、Ｄ１２３が１の場合には電圧Ｌの設定を示し、Ｄ１２３が０の場合には電圧Ｈの設定を示す。
【０１０６】
Ｄ１２４〜Ｄ１２６は、基準電圧ＶＲＥＦを設定するＶＲＥＦ選択データである。３ビットのデータによって８種類の基準電圧を設定することができる。Ｄ１２７は、制御データの終了を示す終了データであり、常に１に設定される。
【０１０７】
次に、ピーク選択領域設定データＤ０〜Ｄ１１１及びピーク選択領域数データＤ１１２〜Ｄ１１８について詳説する。Ｒセンサ９４及びＬセンサ９６は、それぞれ図１８に示すようにセンサ番号１から２３４までの２３４個のセルによって構成されている。各センサ９４、９６の左右５つのセル（センサ番号１〜５、及び、センサ番号２３０〜２３４）はダミーセルであり、実際に有効なセル（有効画素）はセンサ番号６〜２２９までの２２４個となっている。
【０１０８】
ＣＰＵ６０及びＡＦセンサ７４の処理上において、有効画素範囲のセンサ番号６〜２２９のセルは、隣接する４つずつセルを１ブロックとしてブロック単位で管理されており、同図に示すようにＬセンサ９６のセンサ番号２２９からセンサ番号６まで順に４つ単位でブロック番号Ｄ０、Ｄ１、…、Ｄ５５（ブロック数５６）が割り当てられ、Ｒセンサ９４のセンサ番号２２９からセンサ番号６まで順に４つ単位でブロック番号Ｄ５６、Ｄ５７、…、Ｄ１１１（ブロック数５６）が割り当てられている。
【０１０９】
ＣＰＵ６０とＡＦセンサ７４との間で制御データとして送受信されるＤ０〜Ｄ１１１のデータは、このようにして割り当てられたブロック番号に対応しており、ピーク選択領域設定データＤ０〜Ｄ１１１を図１９のように配列して示すと、Ｌセンサ９６についての設定データは、点線で囲まれていないＤ０〜Ｄ５５であり、Ｒセンサ９４についての設定データは、点線で囲まれたＤ５６〜Ｄ１１１である。例えば、設定データＤ０、Ｄ５６は、それぞれＬセンサ９６、Ｒセンサ９４のセンサ番号２２６〜２２９についての設定データを示し、設定データＤ５５、Ｄ１１１は、それぞれＬセンサ９６、Ｒセンサ９４のセンサ番号６〜９についての設定データを示す。
【０１１０】
ピーク選択領域設定データＤ０〜Ｄ１１１は、その設定データに対応するブロック番号の４つのセルをピーク選択領域内のセルとして設定するか否かを示しており、設定データが１のときは、その設定データに対応するブロック番号の４つのセルはピーク選択領域内のセルとして設定され、設定データが０のときは、その設定データに対応するブロック番号の４つのセルはピーク選択領域外のセルとして設定される。例えば、設定データＤ０が１の場合、Ｌセンサ９６のセル２２９、２２８、２２７、２２６は、ピーク選択領域内のセルとして設定される。
【０１１１】
また、ピーク選択領域設定データと共に制御データとして送受信されるピーク選択領域数データＤ１１２〜Ｄ１１８は、ピーク選択領域設定データによりピーク選択領域として設定するブロック数を２進数で示したものであり、図２０に示すように、Ｄ１１２を最上位ビット、Ｄ１１８を最下位ビットとした７ビットデータにより、ピーク選択領域として設定するブロック数が表される。同図（Ａ）に示すようにＤ１１５のみが１の場合にはピーク選択領域として設定するブロック数は８であり、同図（Ｂ）に示すようにＤ１１２〜Ｄ１１４が１、Ｄ１１５〜Ｄ１１８が０の場合にはピーク選択領域として設定するブロック数は１１２である。
【０１１２】
次に、ピーク選択領域設定データの生成手順について説明する。ピーク選択領域は、図１３に示したように領域(1)〜(7)のいずれかに設定される。各領域(1)〜(7)をピーク選択領域として設定する際のピーク選択領域設定データは、以下のように生成される。
【０１１３】
例えば、図２１に示すようにＲセンサ９４又はＬセンサ９６のセンサ領域Ｓにおいて領域Ｐ（斜線部分）をピーク選択領域として設定する場合、領域Ｐの右端と左端のセルのセンサ番号を求め、センサ番号が領域Ｐの右端と左端のセルのセンサ番号の間にあるセルをピーク選択領域内のセルとする。
【０１１４】
ここで、各セルのセンサ番号が各セルのアドレスを示すものとし、特に領域Ｐの右端のアドレスをピーク選択開始アドレスＰＳ、左端のアドレスをピーク選択終了アドレスＰＥとする。
【０１１５】
一方、領域Ｐを特定する情報として領域Ｐの右端のアドレスＳ１と、領域Ｐ内の所定セルのアドレスＳ２と、アドレスＳ２のセルから領域Ｐの左端のセルまでのセル数（センサ数）Ｄが予め参照データとして与えられているとする。このとき、領域Ｐのピーク選択領域開始アドレスＰＳとピーク選択領域終了アドレスＰＥは、次式、
［数２］
ＰＳ＝Ｓ１        …(2)
ＰＥ＝Ｓ２＋Ｄ−１…(3)
により求めることができる。尚、Ｒセンサ９４においてピーク選択領域とする領域に対する上記ピーク選択開始アドレスＰＳ、ピーク選択終了アドレスＰＥ、参照データＳ１、Ｓ２、Ｄを、それぞれＰＳＲ、ＰＥＲ、ＳＲ１、ＳＲ２、ＤＲとし、Ｌセンサ９６においてピーク選択領域とする領域に対する上記ピーク選択開始アドレスＰＳ、ピーク選択終了アドレスＰＥ、参照データＳ１、Ｓ２、Ｄを、それぞれＰＳＬ、ＰＥＬ、ＳＬ１、ＳＬ２、ＤＬとして識別する。
【０１１６】
図１３に示した各領域(1)〜(7)をピーク選択領域として設定する場合について具体的に説明すると、各領域(1)〜(7)をピーク選択領域として設定する際の参照データとして、Ｒセンサ９４及びＬセンサ９６の各分割エリアの右端のセルのアドレスと、各分割エリアの採用センサ数（セル数）が用いられる。
【０１１７】
本実施の形態においてＲセンサ９４及びＬセンサ９６に対して採用される各分割エリアの右端のセルのアドレス及び各分割エリアの採用センサ数の具体的数値例を図２２に示す。尚、Ｒセンサ９４については括弧なしの数値で示し、Ｌセンサ９６については括弧付きの数値で示している。
【０１１８】
例えば、領域(1)をピーク選択領域とする場合、Ｒセンサ９４についての参照データＳＲ１、ＳＲ２、ＤＲは、それぞれ左中エリアの右端のセルのアドレス４６、右中エリアの右端のセルのアドレス１２６、右中エリアの採用センサ数６２である。同様にＬセンサ９６についての参照データＳＬ１、ＳＬ２、ＤＬは、それぞれ左中エリアの右端のセルのアドレス４８、右中エリアの右端のセルのアドレス１２８、右中エリアの採用センサ数６２である。これらの参照データを上式(2)、(3)に代入すると、Ｒセンサ９４及びＬセンサ９６における領域(1)のピーク選択開始アドレスＰＳＲ、ＰＳＬ、ピーク選択終了アドレスＰＥＲ、ＰＥＬが算出される。即ち、
［数３］
ＰＳＲ＝４６
ＰＥＲ＝１２６＋６２−１＝１８７
ＰＳＬ＝４８
ＰＥＬ＝１２８＋６２−１＝１８９
が算出される。従って、領域(1)をピーク選択領域とする場合にはＲセンサ９４についてはセンサ番号４６〜１８７のセルがピーク選択領域内のセルとすることが求まり、Ｌセンサ９６についてはセンサ番号４８〜１８９のセルがピーク選択領域内のセルとすることが求まる。
【０１１９】
領域(1)以外の領域(2)〜(7)をピーク選択領域とする場合についても上述と同様にしてピーク選択開始アドレスＰＳＲ、ＰＳＬ、ピーク選択終了アドレスＰＥＲ、ＰＥＬを算出することができる。即ち、設定しようとするピーク選択領域内において、右端にある分割エリア内の右端のアドレスを参照データＳＲ１、ＳＬ１とし、左端にある分割エリア内の右端のアドレスを参照データＳＲ２、ＳＬ２とする。また、その左端にある分割エリアの採用センサ数をＤＲ、ＤＬとする。そして、上式(2)、(3)にそれらの値を代入することによって、各領域(2)〜(7)をピーク選択領域として設定する場合のピーク選択開始アドレスＰＳＲ、ＰＳＬ及びピーク選択終了アドレスＰＥＲ、ＰＥＬを算出することができる。図２２にも示されているように、領域(2)の場合には、ＰＳＲ＝６、ＰＥＲ＝２２７、ＰＳＬ＝８、ＰＥＬ＝２２９、領域(3)の場合には、ＰＳＲ＝８６、ＰＥＲ＝１４７、ＰＳＬ＝８８、ＰＥＬ＝１４９、領域(4)の場合には、ＰＳＲ＝４６、ＰＥＲ＝１０７、ＰＳＬ＝４８、ＰＥＬ＝１０９、領域(5)の場合には、ＰＳＲ＝１２６、ＰＥＲ＝１８７、ＰＳＬ＝１２８、ＰＥＬ＝１８９、領域(6)の場合には、ＰＳＲ＝６、ＰＥＲ＝１０７、ＰＳＬ＝８、ＰＥＬ＝１０９、領域(7)の場合には、ＰＳＲ＝１２６、ＰＥＲ＝２２７、ＰＳＬ＝１２８、ＰＥＬ＝２２９となる。
【０１２０】
尚、右エリア、右中エリア、中央エリア、左中エリア、左エリアの順に、Ｒセンサ９４における各分割エリアの右端のセルのアドレスをＲＳＲ、ＲＭＳＲ、ＭＳＲ、ＬＭＳＲ、ＬＳＲ、各エリアの採用センサ数をＲＷＲ、ＲＭＷＲ、ＭＷＲ、ＬＭＷＲ、ＬＷＲとし、また、Ｌセンサ９６における各分割エリアの右端のセルのアドレスをＲＳＬ、ＲＭＳＬ、ＳＬ、ＬＭＳＬ、ＬＳＬ、各エリアの採用センサ数をＲＷＬ、ＲＭＷＬ、ＭＷＬ、ＬＭＷＬ、ＬＷＬとすると、図２３に示すように各領域(1)〜(7)をピーク選択領域とする場合に上記ＳＲ１、ＳＲ２、ＳＬ１、ＳＬ２、ＤＲ、ＤＬに代入するアドレス及びセンサ数が対応する。
【０１２１】
以上のようにして、ピーク選択領域とする領域のピーク選択開始アドレスＰＳとピーク選択終了アドレスＰＥを得ると、次に図１８のように４つのセルを１ブロックとしたブロック番号Ｄ０〜Ｄ５５、Ｄ５６〜Ｄ１１１によりピーク選択領域の範囲を求める。このとき、ピーク選択開始アドレスＰＳとピーク選択終了アドレスＰＥを含むブロック番号の４つのセルは、ピーク選択領域内のセルとする。
【０１２２】
そこで、Ｌセンサ９６とＲセンサ９４のそれぞれについてピーク選択領域の左端のブロック番号をピーク選択開始ブロック番号ＤＳＬ、ＤＳＲとし、ピーク選択領域の右端のブロック番号をピーク選択終了ブロック番号ＤＥＬ、ＤＥＲとすると、次式、
［数４］
ＤＳＬ＝ＩＮＴ（（２２９−ＰＥＬ）／４）        …(4)
ＤＥＬ＝５５−ＩＮＴ（（ＰＳＬ−６）／４）      …(5)
ＤＳＲ＝５６＋ＩＮＴ（（２２９−ＰＥＲ）／４）  …(6)
ＤＥＲ＝１１１−ＩＮＴ（（ＰＳＲ−６）／４）    …(7)
によりＤＳＬ、ＤＥＬ、ＤＳＲ、ＤＥＲが得られる。ただし、ＤＳＬ＜０の場合は、ＤＳＬ＝０とし、ＤＥＬ＞５５の場合は、ＤＥＬ＝５５とし、ＤＳＲ＜５６の場合は、ＤＳＲ＝５６とし、ＤＥＲ＞１１１の場合は、ＤＥＲ＝１１１とする。
【０１２３】
ピーク選択領域は、Ｒセンサ９４については、ブロック番号ＤＳＲからＤＥＲまでの範囲となり、Ｌセンサ９６については、ブロック番号ＤＳＬからＤＥＬまでの範囲となるため、ピーク選択領域設定データＤ０〜Ｄ１１１は、それらの範囲において１に設定され、他の範囲で０に設定される。
【０１２４】
また、このとき、ピーク選択領域数をＤＰＳとすると、ピーク選択領域数ＤＰＳは、次式、
［数５］
ＤＰＳ＝ＤＥＬ−ＤＳＬ＋１＋ＤＥＲ−ＤＳＲ＋１  …(8)
により得られる。ピーク選択領域数データＤ１１２〜Ｄ１１８は、ＤＰＳを二進数により表すことで得られる。
【０１２５】
図２４は、図１３の各領域(1)〜(7)をピーク選択領域とする場合に、図２２に示した数値例から上式(4)〜(8)により生成されるピーク選択領域設定データＤ０〜Ｄ１１１及びピーク選択領域数データＤ１１２〜Ｄ１１８を示した図である。例えば、領域(1)をピーク選択領域とする場合、ピーク選択開始アドレスＰＳＲ、ＰＳＬはそれぞれ４６、４８であり、ピーク選択終了アドレスＰＥＲ、ＰＥＬはそれぞれ１８７、１８９であるから、これらの数値を上式(4)〜(7)に代入すると、ピーク選択開始ブロック番号ＤＳＬ、ＤＳＲは、それぞれ１０、６６となり、ピーク選択終了ブロック番号ＤＥＬ、ＤＥＲは、それぞれ４５、１０１となる。従って、図２４の領域(1)についてのピーク選択領域設定データＤ０〜Ｄ１１１に示すように、Ｄ０〜Ｄ９が０、Ｄ１０〜Ｄ４５が１、Ｄ４６〜Ｄ５５が０、Ｄ５６〜Ｄ６５が０、Ｄ６６〜Ｄ１０１が１、Ｄ１０２〜Ｄ１１１が０となる。また、上式(8)により、領域(1)のピーク選択領域数は１１２となり、図２４の領域(1)についてのピーク選択領域数データＤ１１２〜Ｄ１１８に示すように、各データ値は、順に１００１０００となる。
【０１２６】
以上のように各領域(1)〜(7)をピーク選択領域として設定する際に、ピーク選択領域設定データＤ０〜Ｄ１１１やピーク選択領域数データＤ１１２〜Ｄ１１８を、各分割エリアの範囲を示すアドレス情報を参照データとして生成するようにしているため、予め図２４に示したような膨大なデータをメモリに登録しておく必要がなく、メモリを節約することができる。尚、上記実施の形態では、各分割エリアの範囲を示すアドレス情報として各分割エリアの右端のアドレスと採用センサ数を参照する場合について説明したが、各分割エリアの範囲を示すアドレス情報として各分割エリアの右端と左端のアドレスを参照データとしてピーク選択領域設定データＤ０〜Ｄ１１１やピーク選択領域数データＤ１１２〜Ｄ１１８を生成することもできる。また、各分割エリアの範囲を示すアドレス情報であれば、上記以外のアドレス情報であってもピーク選択領域設定データＤ０〜Ｄ１１１やピーク選択領域数データＤ１１２〜Ｄ１１８を生成することができる。
【０１２７】
次に、ＡＦセンサ７４から／ＡＦＥＮＤ信号が正常に出力されない場合における処理について説明する。例えば、図１４のステップＳ５２、ステップＳ５６、ステップＳ５８における各積分処理において、通常は、図１７に示したように／ＡＦＲＳＴ信号が０から１に切り替わった後（時刻Ｔ４０参照）、所定時間経過後（センサ感度が高感度の場合には１５０μｓ後、低感度の場合には３０μｓ後）に積分が開始されて／ＡＦＥＮＤ信号が１から０に切り替わる（時刻Ｔ５０参照）。そして、ピーク選択領域内のセンサデータのピーク値が積分終了値に達すると、／ＡＦＥＮＤ信号が０から１に切り替わる（時刻Ｔ６０参照）。ＣＰＵ６０はこの／ＡＦＥＮＤ信号の０から１への切り替わりを積分終了信号として検知し、積分終了を認識する。
【０１２８】
これに対して、被写体輝度が低い場合や、被写体輝度が一定輝度を超えている場合、又は、／ＡＦＥＮＤ信号の接続エラーの場合には、最大許容積分時間が経過しても／ＡＦＥＮＤ信号が正常に出力されない場合がある。
【０１２９】
被写体輝度が低い場合に／ＡＦＥＮＤ信号が正常に出力されない（／ＡＦＥＮＤ信号が０から１へ切り替わらない）のは、センサデータのピーク値が積分終了値に達しないためである。例えば、被写体が明るい場合には、図２６（Ａ）に示すように／ＡＦＥＮＤ信号が１から０に切り替わった後（積分処理が開始された後）、最大許容積分時間が経過する前に、ピーク選択領域におけるセンサデータのピーク値が積分終了値に達するため（同図ＭＤＡＴＡ信号参照）、／ＡＦＥＮＤ信号が０から１に切り替わる（積分終了信号が出力される）。これに対して、被写体が暗い場合には、図２６（Ｃ）に示すように／ＡＦＥＮＤ信号が１から０に切り替わった後、最大許容積分時間が経過する前に、ピーク選択領域におけるセンサデータのピーク値が積分終了値に達しないため（同図ＭＤＡＴＡ信号参照）、最大許容積分時間が経過するまでに／ＡＦＥＮＤ信号は０から１に切り替わらず、積分終了信号は出力されない。尚、最大許容積分時間に達するとＣＰＵ６０からＡＦセンサ７４に強制的に積分処理を終了させる信号（図２６（Ｂ）のＡＦＡＤ＝“Ｌ”にする）が与えられるため、その信号により最大許容積分時間経過時に積分処理が終了し、／ＡＦＥＮＤ信号が０から１に切り替わる。
【０１３０】
一方、被写体輝度が一定輝度を超えている場合に／ＡＦＥＮＤ信号が正常に出力されない（／ＡＦＥＮＤ信号が１から０へ切り替わらない、及び、／ＡＦＥＮＤ信号が０から１へ切り替わらない）のは、ＡＦセンサ７４の特性上の問題である。即ち、正常に積分処理が行われ、センサデータのピーク値が積分終了値に達していても被写体輝度が極めて高い場合にはＡＦセンサ７４の特性上、／ＡＦＥＮＤ信号が正常に出力されない場合があり、例えば、／ＡＦＥＮＤ信号が次のような出力形態となることがある（特に、図１４ステップＳ３２のゲイン高感度積分時に生じやすい）。被写体輝度がある一定輝度を超えた場合、図２５に示すように／ＡＦＲＳＴ信号が０から１に切り替わってから所定時間経過後の積分開始時に本来０に切り替わるべき／ＡＦＥＮＤ信号が０に切り替わらなくなる（同図（Ａ）の場合）。この場合には当然に積分処理の終了時においても／ＡＦＥＮＤ信号は０から１に切り替わることがなく積分終了信号は出力されない。一方、これよりも被写体輝度が高くなると、／ＡＦＥＮＤ信号が正常に出力されるようになるが（同図（Ｂ）の場合）、積分時間が極めて短いために／ＡＦＥＮＤ信号の１から０への切替わり及び０から１への切替わりを正常に認識できない場合がある。更に被写体輝度が高くなりセンサの動作限界を超えると、／ＡＦＥＮＤ信号が１から０に切り替わったまま積分が終了しても１に切り替わらなくなり（同図（Ｃ）の場合）、この場合も積分終了信号が出力されない。
【０１３１】
このように被写体輝度が一定輝度を超えると（特に感度高で積分を実行した場合（Ｓ５２））、輝度が高くなるに従って、
(a)  ／ＡＦＥＮＤ信号が１から０に切り替わらない場合。
(b)  ／ＡＦＥＮＤ信号が１から０に切り替わった後、／ＡＦＥＮＤ信号が０から１へとの切り替わりが非常に短い場合。
(c)  ／ＡＦＤＥＮ信号が１から０となるが、その後／ＡＦＥＮＤ信号が０から１へと切り替わらない場合。
の３通り、／ＡＦＥＮＤ信号が正常に出力されない場合がある。
【０１３２】
／ＡＦＥＮＤ信号が１から０に切り替わらない場合は、ある一定輝度を超えた場合（この場合は／ＡＦＥＮＤ信号の接続エラーの場合も考えられる）と想定し、後に示すＭＤＡＴＡにより、実際にある一定輝度を超えていたかを判断する。
【０１３３】
また、ある一定輝度よりも被写体輝度が高くなり、／ＡＦＥＮＤ信号が１から０に切り替わった後、／ＡＦＥＮＤ信号が０から１へとの切り替わりが非常に短く、ＣＰＵに於いて正常に／ＡＦＥＮＤ信号を認識できない場合も、ＣＰＵ側から見ると上記の／ＡＦＥＮＤ信号が１から０に切り替わらないと認識するため、ある一定輝度を超えた場合と推定し、後に示すＭＤＡＴＡにより、実際にある一定輝度を超えていたかを判断する。
【０１３４】
更に被写体輝度が高くなり、／ＡＦＥＮＤ信号が１から０となり、その後／ＡＦＥＮＤ信号が０から１へと切り替わらない場合は被写体輝度が低い場合で丁度最大許容積分時間で積分が終了した場合と、超高輝度の場合で／ＡＦＥＮＤ信号が０から１へと切り替わらない場合との判断ができなくなる（センサピーク（後に示すＭＤＡＴＡの値）が共に最小値のため）。
【０１３５】
そこで、図１４のステップＳ５０において測距対象物が測光センサにより超高輝度と判定された場合は、図１４のステップＳ５２（感度高積分）を実施せず、ステップＳ５６の３分割ゲイン低積分を実施し上記誤判断を防ぐこととしている。
【０１３６】
ところで、回路の不具合により／ＡＦＥＮＤ信号が１から０に切り替わらない場合も想定される。
【０１３７】
ここで、
（ａ）／ＡＦＥＮＤ信号のみの接続エラーの場合（正常に積分は実施されるが、積分開始及び積分終了が判断できない場合）
及び
（ｂ）回路の積分動作エラーの場合（／ＡＦＥＮＤ信号以外の接続エラーであり、ＶCC、ＧＮＤ、／ＡＦＣＥＮ、／ＡＦＲＳＴ、ＡＦＣＬＫのいずれかの接続エラーにより積分が実施されない場合、及び、ＡＦセンサ破損等により積分が実施されない場合）
が考えられる。
【０１３８】
／ＡＦＥＮＤ信号の接続エラーの場合も、／ＡＦＥＮＤ信号が１から０に切り替わらず、／ＡＦＥＮＤ信号が正常に出力されない。このため、／ＡＦＥＮＤ信号が１から０に切り替わらない場合には、上述のように被写体輝度が一定輝度を超えている場合を想定するだけでなく、／ＡＦＥＮＤ信号の接続エラーの場合も想定する。そして、後に示すＭＤＡＴＡによりセンサデータが積分終了条件を満たすか否かを判断する。／ＡＦＥＮＤ信号の接続エラーの場合で、ＭＤＡＴＡの値が、図２６（Ｂ）のＭＣ＿ＪＤＧ以上（ほぼ初期値（ＶＲＥＦ））となる場合（被写体輝度が極端に低く信号蓄積がほとんど行われていない場合）は、測距不能と判断する。
【０１３９】
また、／ＡＦＥＮＤ信号の接続エラーの場合で、ＭＤＡＴＡの値が、図２６（Ｂ）のＭＣ＿ＪＤＧ未満の場合（被写体輝度が極端に低くなく、ある程度信号蓄積が行われている場合）は、測距を継続する。
【０１４０】
また、回路の積分動作エラーの場合も、／ＡＦＥＮＤ信号が１から０に切り替わらず、／ＡＦＥＮＤ信号が正常に出力されない。このため、／ＡＦＥＮＤ信号が１から０に切り替わらない場合には、上述のように被写体輝度が一定輝度を超えている場合を想定するだけでなく、回路の積分動作エラーの場合も想定する。そして、後に示すＭＤＡＴＡによりセンサデータが積分終了条件を満たすか否かを判断する。回路の積分動作エラーの場合は、ＭＤＡＴＡの値が、ほぼ初期値（ＶＲＥＦ）となる（積分が実施されていない）。この場合は、測距不能と判断する。
【０１４１】
一方、被写体輝度がある一定輝度を超えていることに起因する場合にはＭＤＡＴＡの値が、約０．６Ｖとなり（積分が終了している）、この場合は、測距を継続する。
【０１４２】
尚、表現上、被写体輝度が低いためにセンサデータが信号量不足となるような場合も積分処理が正常に行われていない場合の範疇に属するものとする。また、信号量不足のため測距不能と判断するのは、実際には、積分処理の開始からセンサデータのピーク値に全く変化が生じなかった場合か、又は、極めて少ない変化しか生じなかった場合であり、それ以外では測距可能な場合もあるため積分処理は正常に行われていると判断し、測距不能とは判断しないものとしている。
【０１４３】
以上のように、積分時間が一定時間を経過しても／ＡＦＥＮＤ信号から積分開始信号又は積分終了信号が正常に出力されない場合には、積分処理が正常に行われているか否かをＭＤＡＴＡ信号により判定することとする。ＭＤＡＴＡ信号はピーク選択領域におけるセンサデータのピーク値をアナログデータとして出力するものであるから、積分処理が行われていれば、図２５に示すように／ＡＦＥＮＤ信号が正常に出力されていなくてもＭＤＡＴＡ信号からピーク選択領域におけるセンサデータのピーク値が正常に出力され、積分処理が正常に行われているか否が容易に判断できる。
【０１４４】
ＣＰＵ６０の処理内容を具体的に説明すると、図１４のステップＳ５２における一括ゲイン高積分の実行時において、ＣＰＵ６０は、／ＡＦＲＳＴ信号を０から１に切り替えた後（図１７時刻Ｔ４０参照）、一定時間（例えば５００μｓ）経過するまでに、ＡＦセンサ７４から積分開始を示す／ＡＦＥＮＤ信号の１から０への切り替わりを検出しなかった場合には、ＭＤＡＴＡ信号を読み取る。そして、そのＭＤＡＴＡ信号の値が積分終了値に達していれば、／ＡＦＥＮＤ信号の１から０への切り替わりが検出されなかった理由が被写体輝度が高輝度（超高輝度）であることに起因するものと判断して、積分時間が２ｍｓ未満であった場合と同様に３分割ゲイン低積分の処理（図１４ステップＳ５４、Ｓ５６参照）に移行する。一方、ＭＤＡＴＡ信号の値が所定値以上の場合、即ち、積分開始時の値から全く変化していない場合（上記基準電圧ＶＲＥＦの値の場合）、又は、全く変化がないのと同等とみなせる値の場合には、回路の積分動作エラーとして測距不能とする。上述以外の場合には通常通り積分処理を継続する。この後の処理は、図１４のフローチャートで説明したので省略する。
【０１４５】
図１４のステップＳ５６における３分割ゲイン低積分の実行時において（図１５のステップＳ８４、Ｓ９４、Ｓ１０２、Ｓ１１０、Ｓ１１８の各積分処理の実行時において）、上述と同様にＣＰＵ６０は、／ＡＦＲＳＴ信号を０から１に切り替えた後、一定時間（例えば５００μｓ）経過するまでに、ＡＦセンサ７４から積分開始を示す／ＡＦＥＮＤ信号の１から０への切り替わりを検出しなかった場合には、ＭＤＡＴＡ信号を読み取る。このときＭＤＡＴＡ信号の値が所定値（図２６（Ｂ）のＭＣ＿ＪＤＧ）以上の場合、即ち、積分開始時の値から全く変化していない場合（上記基準電圧ＶＲＥＦの値の場合）、又は、全く変化がないのと同等とみなせる値の場合には、そのときの積分処理におけるピーク選択領域を構成する分割エリアについて測距不能とする（回路の積分動作エラー）。一方、前記一定時間が経過するまでに、ＡＦセンサ７４から積分開始を示す／ＡＦＥＮＤ信号の１から０への切り替わりを検出した場合には、最大許容積分時間を限度として積分処理を継続する。もし、最大許容積分時間が経過するまでにＡＦセンサ７４から積分終了を示す／ＡＦＥＮＤ信号の０から１への切り替わりを検出しなかった場合には、最大許容積分時間に達した時点でＭＤＡＴＡ信号を読み取る。このときＭＤＡＴＡ信号の値が所定値（図２６（Ｂ）のＭＣ＿ＪＤＧ）以上の場合、即ち、積分開始時の値から全く変化していない場合（上記基準電圧ＶＲＥＦの値の場合）、又は、全く変化がないのと同等とみなせる値の場合には、そのときの積分処理におけるピーク選択領域を構成する分割エリアについてセンサデータの信号量不足として測距不能とする（センサデータを無効とする）。これ以外の場合は、正常に積分処理が行われたと判定し、それまでＣＰＵ６０に蓄積されたセンサデータを有効として、その時点におけるセンサデータの読み出しを行う。尚、最大許容積分時間が経過してもＭＤＡＴＡ信号の値が積分終了値に達していない場合には積分処理が継続しているため、ＣＰＵ６０は、強制的にＡＦセンサ７４の積分処理を停止させてから（ＡＦＡＤ信号を１から０に切り替えてから）、センサデータの読出しを行う。
【０１４６】
図１４のステップＳ５８における一括ゲイン低積分の実行時において、上述と同様にＣＰＵ６０は、／ＡＦＲＳＴ信号を０から１に切り替えた後、一定時間  （例えば５００μｓ）経過するまでに、ＡＦセンサ７４から積分終了を示す／ＡＦＥＮＤ信号の０から１への切り替わりを検出しなかった場合には、ＭＤＡＴＡ信号を読み取る。このとき、ＭＤＡＴＡ信号の値が所定値以上の場合、即ち、積分開始時の値から全く変化していない場合（上記基準電圧ＶＲＥＦの値の場合）、又は、全く変化がないのと同等とみなせる値の場合には、測距不能と判定する（回路の積分動作エラー）。尚、一括ゲイン低積分ではピーク選択領域は測距エリア全域に設定されているため、測距エリアを構成する全ての分割エリアにおいて測距不能（測距自体が不能）となる。一方、前記一定時間が経過するまでに、ＡＦセンサ７４から積分開始を示す／ＡＦＥＮＤ信号の１から０への切り替わりを検出した場合には、最大許容積分時間を限度として積分処理を継続する。もし、最大許容積分時間が経過するまでにＡＦセンサ７４から積分終了を示す／ＡＦＥＮＤ信号の０から１への切り替わりを検出しなかった場合には、最大許容積分時間に達した時点でＭＤＡＴＡ信号を読み取る。このときＭＤＡＴＡ信号の値が所定値以上の場合、即ち、積分開始時の値から全く変化していない場合（上記基準電圧ＶＲＥＦの値の場合）、又は、全く変化がないのと同等とみなせる値の場合には、センサデータの信号量不足として測距不能とする（センサデータを無効とする）。これ以外の場合は、正常に積分処理が行われたと判定し、それまでＣＰＵ６０に蓄積されたセンサデータを有効として、その時点におけるセンサデータの読み出しを行う。尚、この場合も上述と同様に最大許容積分時間が経過してもＭＤＡＴＡ信号の値が積分終了値に達していない場合には積分処理が継続しているため、ＣＰＵ６０は、強制的にＡＦセンサ７４の積分処理を停止させてから（ＡＦＡＤ信号を１から０に切り替えてから）、センサデータの読出しを行う。
【０１４７】
次に、ＣＰＵ６０によるセンサデータの読出し処理について説明する。図１７のタイミングチャートに示したように、ＣＰＵ６０は、例えば、ＡＦセンサ７４から送信される／ＡＦＥＮＤ信号が０から１に切り替えられ、積分が終了したことを検出すると、ＡＦセンサ７４に対してＡＦＣＬＫ信号によりクロックパルスを送信し、センサデータの読出しを開始する。ＡＦセンサ７４からは、クロックパルスに同期して各セルごとのセンサデータがアナログデータとして順次ＡＦＤＡＴＡＰ信号により出力され、Ａ／Ｄ変換された後、ＣＰＵ６０に入力される。
【０１４８】
具体的には、ＡＦＤＡＴＡＰ信号によりＬセンサ９６とＲセンサ９４の各セルのセンサデータが交互にセンサ番号１からセンサ番号２３４まで順に出力されＣＰＵ６０のＡ／Ｄ変換回路により読み出される。尚、Ｌセンサ９６とＲセンサ９４のすべてのセルのセンサデータが送信された後、数個のダミーデータが送信される。
【０１４９】
ここで、クロックパルスによるセンサデータの読出し速度について説明する。上述のようにあるピーク選択領域をＡＦセンサ７４に対して設定して上記積分処理を実行させた場合に、その積分処理によってＡＦセンサ７４で蓄積された各セルのセンサデータのうち、ＣＰＵ６０が以後の測距演算の処理において実際に使用するセンサデータは、１又は複数の分割エリアにより構成されるピーク選択領域の範囲内における各セルのセンサデータに限られ、それ以外の範囲における各セルのセンサデータは不要である。また、上述のようにピーク選択領域の範囲内であっても、ＡＦセンサ７４に対するピーク選択領域の設定は、隣接する４つのセルを１ブロックとしたブロック単位（上記ブロック番号Ｄ０、Ｄ１、…、Ｄ５５、ブロック番号Ｄ５６、Ｄ５７、…、Ｄ１１１についての記載事項参照）で行われるため、実際には、ピーク選択領域の両端のブロック内においてもセンサデータを取得する必要のないセルが存在する。更に、本実施の形態では、必要なセンサデータはピーク選択領域内に限られるが、測距演算の態様によってはピーク選択領域内に限らず、ピーク選択領域外のセルのセンサデータも必要な場合がある。そこで、ＣＰＵ６０の以後の処理において必要なセンサデータを生成するセルの範囲をデータ取得範囲といい、ＣＰＵ６０の以後の処理において不要なセンサデータを生成するセルの範囲をデータ非取得範囲というものとすると、ＣＰＵ６０は、一定周期のクロックパルスを出力するのではなく、図２７に示すようにデータ取得範囲のセルのセンサデータを搬送する期間Ｔ２のクロック周期よりも、データ非取得範囲のセルのセンサデータを搬送する期間Ｔ１のクロック周期を短くし、不要なセンサデータの読出し時間を短縮している。
【０１５０】
例えば、データ取得範囲のセルのセンサデータを搬送する際、ＡＦＤＡＴＡＰ信号の安定期間の周期（“Ｈ”）を１６μｓ、Ａ／Ｄ変換を実施する期間の周期を１８μｓ（“Ｌ”）とすると、データ非取得範囲のセルのセンサデータを搬送する際はクロック周期を（“Ｈ”）２μｓ、（“Ｌ”）２μｓとしている。（“Ｈ”）１６μｓ、（“Ｌ”）１８μｓ周期のクロックパルスでは、各セルのセンサデータの値をＡ／Ｄ変換回路により適切に取得することができるが、２μｓ周期のクロックパルスでは、各セルのセンサデータの値を適切に取得することができない可能性がある。しかしながら、データ非取得範囲のセンサデータは不要であるため、データ非取得範囲のセンサデータを（“Ｈ”）２μｓ、（“Ｌ”）２μｓ周期のクロックパルスで搬送することに不具合は生じない。
【０１５１】
また、図２７に示すようにデータ取得範囲の全てのセンサデータの搬送が終了した場合には、データ非取得範囲のセンサデータの搬送が残っているときでも、ＡＦＣＬＫ信号（クロックパルス）の出力を停止させ、データ取得範囲後のデータ非取得範囲のセンサデータの読み出しを実施しないようにすることで、更に、センサデータの読出し時間を短縮することができる。
【０１５２】
尚、データ非取得範囲のセンサデータの搬送からデータ取得範囲のセンサデータの搬送に移行する場合には、クロックパルスの安定等を考慮してデータ取得範囲ののセンサデータの搬送を開始する１つ前のセルからクロック周期を（“Ｈ”）１６μｓ、（“Ｌ”）１８μｓに切り替えるようにしている。但し、このようにデータ取得範囲のセンサデータの搬送時におけるクロック周期への移行を、データ取得範囲のセンサデータの搬送を開始する１つ前のセルから行うのではなく、データ取得範囲のセンサデータの搬送を開始するのと同時に行うようにしてもよいし、また、２つ以上前のセルから行うようにしてもよい。
【０１５３】
次に、センサデータからＡＦデータを生成する処理について説明する。上述のようにＡＦセンサ７４の受光セルより出力されるデータをセンサデータとすると、ＡＦセンサ７４から出力された各センサデータをＡ／Ｄ変換回路により取得し、取得したセンサデータのＡ／Ｄ変換値そのものをＣＰＵ６０における以後の各処理で使用するＡＦデータとする場合と、測距精度向上のためセンサデータに所定の処理を施したものをＡＦデータとする場合とが考えられる。前者の場合にはＣＰＵ６０においてＡＦデータを生成するための特別の処理を行う必要はなく、センサデータの取得処理がＡＦデータの取得処理となるが、後者の場合にはセンサデータの取得後、ＣＰＵ６０においてＡＦデータを生成するための特別の処理が行われることになる。後者の場合の例として、センサデータにコントラスト抽出処理を施したものを以後の各処理で使用するＡＦデータとすることができ、以下、センサデータにコントラスト抽出処理を施してＡＦデータを生成する場合の処理について説明する。
【０１５４】
コントラスト抽出処理は、例えば、あるセンサ番号（アドレスｉ）のセルに着目したときに、その着目したセルのセンサデータと、着目したセルに対してｍセル分（ｍ画素分）離間したセンサ番号（ｉ＋ｍ）のセルのセンサデータとの差分（又は比）を算出する演算処理である。言い換えると、Ｒセンサ９４とＬセンサ９６から得たセンサデータのそれぞれについて、センサデータとそのセンサデータをｍ画素分シフトしたものとの差分を算出する処理である。即ち、Ｒセンサ９４におけるセンサ番号（ｉ）のセルのセンサデータをＲ(ｉ)、Ｌセンサ９６におけるセンサ番号（ｉ）のセルのセンサデータをＬ(ｉ)とすると、Ｒセンサ９４のセンサデータに対しては、次式、
［数６］
Ｒ(ｉ)−Ｒ(ｉ＋ｍ)    …(9)
の演算が行われ、Ｌセンサ９６のセンサデータに対しては、次式、
［数７］
Ｌ(ｉ)−Ｌ(ｉ＋ｍ)    …(10)
の演算が行われる。これによって得られた差分データはＡＦセンサ７４の各セルによって撮像されたセンサ像のコントラストを示す。尚、本明細書では、２画素分のセンサデータの差分によりコントラストを示すデータを算出する演算処理を２画素差分演算という。
【０１５５】
差分をとる２つのセンサデータの上記セル間隔ｍの値は、所望の設定値とすることができるが、以下の説明ではｍ＝２とする。但し、ＡＦセンサ７４においてセンサ番号が偶数のセルで蓄積された電荷と奇数のセルで蓄積された電荷は、異なるチャンネルにより伝送され、処理されるため、上記差分データも同一チャンネル同士のセルのセンサデータから求めるのが好ましく、ｍの値としては偶数であることが望ましい。尚、上式(9)、(10)により求めたデータは、ＣＰＵ６０でＡＦセンサ７４から取得したセンサデータの数に比べてｍ個分減少するが、予めｍ個分減少することを考慮して上記データ取得範囲を拡大しておくことによって必要なＡＦデータ数を確保することができる。
【０１５６】
従来においては、上式(9)、(10)により得られた差分データをＡＦデータとしているが本実施の形態では、その差分データに対して更に＋２５５を加算する処理と、２で割る処理とを加えたものをＡＦデータとする。即ち、Ｒセンサ９４のセンサ番号ｉに対応するＡＦデータをＡＦＲ(ｉ)とし、Ｌセンサ９６のセンサ番号ｉに対応するＡＦデータをＡＦＬ(ｉ)とすると、ｍ＝２の場合、次式、
［数８］
ＡＦＲ(ｉ)＝（２５５＋Ｒ(ｉ−１)−Ｒ(ｉ＋１)）／２  …(11)
ＡＦＬ(ｉ)＝（２５５＋Ｌ(ｉ−１)−Ｌ(ｉ＋１)）／２  …(12)
により得られた値をＡＦデータとする。
【０１５７】
ここで、ＡＦデータを単に上式(9)、(10)により得られた差分データとするのではなく、上式(11)、(12)としたのは、ＲＡＭ使用量の増加と相関値演算等の演算時間の増加を抑止するためである。例えば、各セルのセンサデータは８ビットのデータとして得られるとする。この場合、センサデータＲ(ｉ)、Ｌ(ｉ)の値は図２８（Ａ）に示すように０〜＋２５５の範囲にある。これに対して上式(9)、(10)により得られた差分データをＡＦデータとした場合（この場合を従来方式という）、図２８（Ｂ）に示すようにＡＦデータの値は−２５５〜＋２５５の範囲にあり、９ビットのデータとなる。ＲＡＭの使用及び演算においてはバイト単位で処理されるため、９ビットのデータは、１６ビット（２バイト）のデータとして処理されることになる。
【０１５８】
一方、上式(11)、(12)により得られた差分データをＡＦデータとした場合には（この場合を新方式という）、図２８（Ｃ）に示すようにＡＦデータの値は０〜＋２５５の範囲にあり、８ビットのデータとなる。従って、ＲＡＭの使用及び演算においては１バイトのデータとして処理されることになる。図２９（Ａ）、（Ｂ）に、それぞれ同一のセンサデータに基づいて新方式により生成されたＡＦデータの値と、従来方式により生成されたＡＦデータの値とを例示しておく。
【０１５９】
新方式のようにＡＦデータをセンサデータと同じビット数のデータとなるように生成することにより、ＲＡＭ使用量が低減すると共に、相関値演算等の以後の各処理における処理時間が低減する。尚、上式(11)、(12)による新方式では、上式(9)、(10)による従来方式の差分演算結果を半分にしているため、測距精度の低下が考えられるが、実質的な不具合は生じないことを確認している。
【０１６０】
次に、上記新方式によりＡＦデータを生成する際の具体的処理内容について説明する。従来では、測距エリアの各セルのセンサデータがＡＦセンサから読み出されると、その読み出されたセンサデータはそのままＲＡＭに格納される。そして、ＡＦデータ（画像）を用いた相関値演算等の処理が開始されると、その処理の実行中においてＲＡＭからＡＦデータ（画像）が読み出されて上式(9)、(10)の演算により必要な差分データが逐次生成されるようになっている。例えば、ＡＦデータ（画像）が使用される相関値演算処理では、図１２に示したようにＲウインドウ９４ＢとＬウインドウ９６Ｂとを１セルずつシフトさせながら、各シフト量ｎ（採用センサ数６２、ウインドウサイズ４２の場合、ｎ＝−２，−１，０，１，…，MAX(=38)）ごとに各ウインドウ範囲内のＡＦデータ（画像）により相関値が算出される。このため、同じセルのＡＦデータ（画像）が繰り返し使用されることになり、その都度、ＡＦデータ（画像）がＲＡＭから読み出され、２画素差分演算により差分データが生成されることになる。このように相関値演算の実行時（実行中）において差分データを生成する場合における各シフト量ｎ（ｎ＝−２，−１，０，１，…，MAX(=38)）ごとの相関値演算の処理手順を図３０に示す。まず、ｉ＝１としてＲＡＭからセンサデータＬ(ｉ＋１)とＬ(ｉ−１)を読み出す（ステップＳ６００、Ｓ６０２）。尚、ここで示すｉは、上記Ｒウインドウ９４Ｂ、Ｌウインドウ９６Ｂにおけるセル位置ｉを示す。そして、上式(12)により、差分データＡＦＬ(ｉ)＝（２５５＋Ｌ(ｉ−１)−Ｌ(ｉ＋１)）／２を算出する（ステップＳ６０４）。同様に、ＲＡＭからセンサデータＲ(ｉ＋１)とＲ(ｉ−１)を読み出す（ステップＳ６０６、Ｓ６０８）。そして、上式(11)により、差分データＡＦＲ(ｉ)＝（２５５＋Ｒ(ｉ−１)−Ｒ(ｉ＋１)）／２を算出する（ステップＳ６１０）。次に、相関値ｆ(n)を求めるための上式(1)における右辺の｜Ｌ(ｉ)−Ｒ(ｉ)｜をｆ(ni)として、ＡＦＬ(ｉ)＞ＡＦＲ(ｉ)か否かを判定する（ステップＳ６１２）。ＹＥＳと判定した場合、ｆ(ni)＝Ｌ(ｉ)−Ｒ(ｉ)とし（ステップＳ６１４）、ＮＯと判定した場合、ｆ(ni)＝Ｒ(ｉ)−Ｌ(ｉ)とする（ステップＳ６１６）。続いて、上式(1)の左辺ｆ(n)の値（初期値０）に対してｆ(ni)を加算してその値をｆ(n)の新たな値とする。即ち、ｆ(n)＝ｆ(n)＋ｆ(ni)とする（ステップＳ６１８）。
【０１６１】
次に、ｉ＝（ウインドウサイズwo(＝42)）となったか否かを判定し（ステップＳ６２０）、ＹＥＳと判定した場合にはこの処理を終了する（ステップＳ６２２）。一方、ＮＯと判定した場合には、ｉ＝ｉ＋１とし（ステップＳ６２４）、上記ステップＳ６００の処理に戻り、ステップＳ６００の処理から繰り返す。上記が各シフト量ｎごとの演算であり、さらに各シフト量ｎ（ｎ＝−２〜３８）ごとにｉ＝１からｉ＝woまで演算処理を繰り返す。
【０１６２】
このようにＡＦデータ（画像）を用いた相関値演算処理の実行時に差分データを生成する場合では、図１２に示したように同じセルのＡＦデータ（画像）を繰り返し使用するため重複して２画素差分演算を実行する必要がある。従って、その演算に時間を要し、結果的に測距演算に要する時間が長くなるという問題が生じることとなる。
【０１６３】
上記不具合を解消するため、本実施の形態では、差分データを用いた処理を開始する前に予めＡＦデータ（差分）を生成しておき、その生成したＡＦデータ（差分）をＲＡＭに格納しておくようにする。図３１に、相関値演算の実行前に予めＡＦデータ（差分）を生成してＲＡＭに格納しておいた場合における相関値演算の処理手順を示す。まず、ｉ＝１としてＲＡＭからＡＦデータ（差分）ＡＦＬ(ｉ)とＡＦＲ(ｉ)を読み出す（ステップＳ６５０、Ｓ６５２）。尚、ここで示すｉは、上記Ｒウインドウ９４Ｂ、Ｌウインドウ９６Ｂにおけるセル位置ｉを示す。次に、相関値ｆ(n)を求めるための上式(1)における右辺の｜Ｌ(ｉ)−Ｒ(ｉ)｜をｆ(ni)として、ＡＦＬ(ｉ)＞ＡＦＲ(ｉ)か否かを判定する（ステップＳ６５４）。ＹＥＳと判定した場合、ｆ(ni)＝Ｌ(ｉ)−Ｒ(ｉ)とし（ステップＳ６５６）、ＮＯと判定した場合、ｆ(ni)＝Ｒ(ｉ)−Ｌ(ｉ)とする（ステップＳ６５８）。続いて、上式(1)の左辺ｆ(n)の値（初期値０）に対してｆ(ni)を加算してその値をｆ(n)の新たな値とする。即ち、ｆ(n)＝ｆ(n)＋ｆ(ni)とする（ステップＳ６６０）。
【０１６４】
次に、ｉ＝（ウインドウサイズwo(＝42)）となったか否かを判定し（ステップＳ６６２）、ＹＥＳと判定した場合にはこの処理を終了する（ステップＳ６６４）。一方、ＮＯと判定した場合には、ｉ＝ｉ＋１とし（ステップＳ６６６）、上記ステップＳ６５０の処理に戻り、ステップＳ６５０の処理から繰り返す。
【０１６５】
このようにＡＦデータ（差分）を予め生成してＲＡＭに格納しておくことによって、ＡＦデータ（差分）を用いた各処理の実行時には、必要なＡＦデータ（差分）をＲＡＭから読み出すだけでよく、差分データを生成するための処理に要する時間が大幅に削減される。図３０と図３１に示した相関値演算における処理時間を比較すると、図３１の処理では、図３０のステップＳ６０２、Ｓ６０４と、ステップＳ６０８、Ｓ６１０の処理に要する時間分（２×２１μｓ）だけ相関値演算に要する時間を短縮することができる。上記ｉの演算回数は、採用センサ数６２、ウインドウサイズ４２の設定で５エリアの場合、（ｉ＝１〜４２→４２回）×（ｎ＝−２〜３８→４１回）×５エリア＝４２×４１×５＝８６１０回となる。従って、総合測距時間は、８６１０回×（２×２１μｓ）≒３６２ｍｓ短縮することができる。尚、ＡＦデータ（差分）を予め生成してＲＡＭに格納しておく場合には、センサデータからＡＦデータ（差分）を生成するための処理時間が相関値演算の時間とは別に必要であるが、これについては後述する。
【０１６６】
ところで、２画素差分演算を実施する場合の態様については２通りの態様が考えられる。第１の態様は、ＡＦセンサ７４から読み出したセンサデータを一旦、ＲＡＭに格納し（ＡＦデータ（画像））、その後、ＲＡＭからＡＦデータ（画像）を読み出して差分データを上式(11)、(12)により生成して２画素差分演算を実施するというものである。第２の態様は、ＡＦセンサ７４からセンサデータを順次読み出している際に、各センサ番号ｉのセンサデータについて上式(11)、(12)の演算に必要なセンサデータが得られた時点でその差分演算(11)、(12)を実施し、順次生成した差分演算結果をＲＡＭに格納する（ＡＦデータ（差分））というものである。第１の態様におけるセンサデータの読出し処理については、差分データの生成処理と独立して行われるため２画素差分演算を行わない場合や相関値演算等の各処理の実行時においてＡＦデータ（画像）を生成する場合のセンサデータの読出し処理と同じである。一方、第２の態様のセンサデータの読出し処理については、センサデータを読出しながら２画素差分演算を行っているため、その分センサデータの読出しに要する時間が長くなる。但し、第１の態様においても２画素差分演算を行うことを考慮すると、第１の態様の方が第２の態様よりも有利ということではない。
【０１６７】
ここで、相関値演算等の実行時に差分データを生成する場合（以下、この場合を従来方式という）のデータの流れを図３２に示し、ＡＦデータ（差分）を予め生成してＲＡＭに格納しておく場合（以下、この場合を新方式という）として上記第２の態様を採用した場合のデータの流れを図３３に示す。図３２に示すように従来方式ではＡＦセンサから順次読み出された各セルのセンサデータはＲＡＭに格納される。そして、相関値演算の実行時においてＲＡＭからＡＦデータ（画像）が読み出されて上式(11)又は(12)により差分データが生成され、相関値ｆ(n)が算出される。一方、図３３に示すように新方式の第２の態様では、ＡＦセンサから順次読み出された各セルのセンサデータは上式(11)又は(12)により差分演算処理が実施されＡＦデータ（差分）としてＲＡＭに格納される。そして、相関値演算の実行時にはＲＡＭに格納されたＡＦデータ（差分）が読出されて相関値ｆ(n)が算出される。図には示していないが新方式において上式(11)又は(12)によりセンサデータをＡＦデータ（差分）に変換する際には２つのセンサデータが必要であるため、２つのセンサデータが読み出されるまでＡＦセンサから先に読み出されたセンサデータを保持しておくメモリ（ＲＡＭ）が必要である。しかしながら全てのセンサデータを格納するためのメモリ容量を必要としない。具体的には、センサデータはＬ(ｉ−１)、Ｒ(ｉ−１)、Ｌ(ｉ)、Ｒ(ｉ)、Ｌ(ｉ＋１)、Ｒ(ｉ＋１)、…の順に読み出されるため、２つのセンサデータのセル間隔ｍが２の場合には、５つのセンサデータを格納するＲＡＭがあれば十分である。例えば、Ｌ(ｉ−１)、Ｒ(ｉ−１)、Ｌ(ｉ)、Ｒ(ｉ)、Ｌ(ｉ＋１)を格納した時点で、上式(12)のＡＦＬ(ｉ)をＲＡＭに格納されたＬ(ｉ−１)、Ｌ(ｉ＋１)から求めることができる。そして、ＡＦＬ(ｉ)を求めた際には、Ｌ(ｉ−１)のセンサデータは以後不要となるため、そのデータを消去して、次いでＡＦセンサ７４から読み出されるセンサデータＲ(ｉ＋１)をその消去したアドレスに格納することによって、上式(11)のＡＦＲ(ｉ)をＲ(ｉ−１)、Ｒ(ｉ＋１)から求めることができる。このようにして、ＡＦセンサ７４から読み出した５つのセンサデータをＲＡＭに格納すると共に、新たなセンサデータを読み出した際にはＲＡＭに格納されているセンサデータのうち最も先に読み出したセンサデータを消去してその新たなセンサデータをＲＡＭに格納することによって少ないメモリ容量のＲＡＭでＡＦデータ（差分）を順次作成することができる。
【０１６８】
続いて、センサデータの読出し処理に関して、上記従来方式を採用した場合と、新方式として上記第２の態様を採用した場合とを比較する。図３４は、従来方式におけるセンサデータの読出し処理を示したフローチャートであり、図３５は、従来方式におけるセンサデータ読出し時の上記ＡＦＣＬＫ信号及びＡＦＤＡＴＡＰ信号を示したタイミングチャートである。これらの図を参照して従来方式におけるセンサデータの読出し処理について説明すると、まず、ＡＦＣＬＫ信号を“Ｈ”から“Ｌ”に切り替え（ステップＳ７００）、センサデータを示すＡＦＤＡＴＡＰ信号をＡ／Ｄ変換する（ステップＳ７０２）。そして、ＡＦＣＬＫ信号を“Ｌ”から“Ｈ”に切り替え（ステップＳ７０４）、Ａ／Ｄ変換により取得したセンサデータＲ(ｉ)又はＬ(ｉ)をＲＡＭに格納する（ステップＳ７０６）。以上の処理を繰り返す。尚、ＡＦＣＬＫ信号の“Ｈ”、“Ｌ”の期間はそれぞれ例えば１６μｓ、１８μｓである。
【０１６９】
一方、図３６は、新方式（第２の態様）におけるセンサデータの読出し処理のフローチャートであり、図３７は、新方式におけるセンサデータ読出し時の上記ＡＦＣＬＫ信号及びＡＦＤＡＴＡＰ信号を示した図である。これらの図を参照して新方式におけるセンサデータの読出し処理について説明すると、まず、ＡＦＣＬＫ信号を“Ｈ”から“Ｌ”に切り替え（ステップＳ７５０）、センサデータを示すＡＦＤＡＴＡＰ信号をＡ／Ｄ変換する（ステップＳ７５２）。そして、ＡＦＣＬＫ信号を“Ｌ”から“Ｈ”に切り替え（ステップＳ７５４）、Ａ／Ｄ変換により取得したセンサデータＲ(ｉ)又はＬ(ｉ)をＲＡＭに格納する（ステップＳ７５６）。次にＲＡＭからセンサデータＲ(ｉ−２)又はＬ(ｉ−２)を読み出し（ステップＳ６−５）、上式(11)又は(12)によりＡＦデータ（差分）ＡＦＲ(ｉ−１)又はＡＦＬ(ｉ−１)を算出する（ステップＳ７６０）、そして、算出したＡＦデータ（差分）ＡＦＲ(ｉ−１)又はＡＦＬ(ｉ−１)をＲＡＭに格納する（ステップＳ７６２）。以上の処理を繰り返す。
【０１７０】
以上の新方式と従来方式のセンサデータ読出し処理手順から分かるように新方式ではステップＳ７５８、Ｓ７６０、Ｓ７６２の動作時間分（２１μｓ）だけ従来方式よりも１つのセンサデータの読出しに時間を要する。尚、ステップＳ７５８、Ｓ７６０、Ｓ７６２の処理は、ＡＦＣＬＫ信号が“Ｈ”の際に行われるため、図３７に示すようにＡＦＣＬＫ信号の“Ｈ”の期間が従来方式に比べてセンサデータの読出し時間が長く、３７μｓとなっている。即ち、センサデータの読出し時間だけを考慮すると、新方式は、従来方式よりも不利である。しかしながら、センサデータの読出しと、例えば相関値演算を含む処理全体の時間を比較すると新方式の方が短時間で処理を終了させることができる。具体的に計算した例を図３８の表に示す。表には新方式、従来方式、及び、参考として２画素差分演算を行わない場合（従来(2)方式）のそれぞれにおいて、センサデータの読出し時間、１回当たりの相関値演算時間、相関値総演算時間（４１回、５エリア設定）、合計（センサデータ読出し時間＋相関値総演算時間）が示されており、また、新方式と従来方式との差Δ(1)と、新方式と従来(2)方式との差Δ(2)が示されている。
【０１７１】
センサデータの読出し時間は、｛ＡＦＣＬＫ信号の（“Ｈ”の時間＋“Ｌ”の時間）｝×セル数×２（Ｒセンサ９４とＬセンサ９６）であり、新方式の場合には、はじめの５セル分のセンサデータ読出し期間では２画素差分演算ができないので、（従来方式による５セル分のセンサデータの読出し時間）＋（新方式による残りセル分のセンサデータの読出し時間）となる。上記説明で使用した数値を当てはめると、（１６＋１８）×５＋（３７＋１８）×（（２２９−６＋１）×２−５）＝２４５３５μｓとなる。
【０１７２】
一方、１回当たりの相関値演算時間は、新方式の場合には実測値を用いており、従来方式の場合には、実測値＋演算時間増加分としている。演算時間増加分は図３０に示したように２１μｓ×２としている。尚、従来方式の１回当たりの相関値演算時間は、１．２×０．０２１×２×４２＝２．９６４ｍｓである。
【０１７３】
この表から分かるように新方式では、従来方式に比べて全センサデータの読出し時間が９ｍｓ程度長くなる。しかしながら、相関値演算に関しては、新方式では従来方式に対して約３６１ｍｓも処理時間が短縮されるため、その他の判断処理等に要する時間が同じだとすると、新方式では測距時間が３５２ｍｓも短縮されることになる。
【０１７４】
以上、センサデータに所要の処理を施してＡＦデータを生成する場合、そのＡＦデータの生成はＣＰＵ６０において行うようにしたが、必ずしもＣＰＵ６０において行う必要はなく、ＡＦセンサ７４においてセンサデータに所要の処理を施してＡＦデータを生成し、ＣＰＵ６０にその生成したＡＦデータを与えるようにしてもよい。更に、後述の相関値演算処理についてもＣＰＵ６０において行うのではなく、ＡＦセンサ７４において行い、その結果得られた距離信号をＣＰＵ６０に与えるようにしてもよい。
【０１７５】
｛相関値演算処理（図７ステップＳ１６）の詳細｝
次に、上記図７のステップＳ１６における相関値演算処理について詳説する。図１２を用いて上述したように相関値演算処理においてＣＰＵ６０は、ＡＦセンサ７４のＲセンサ９４及びＬセンサ９６の測距エリアを構成する各分割エリアごとに、図７のステップＳ１４のＡＦデータ取得処理により取得したＡＦデータに基づいて上式(1)により相関値ｆ(n)（ｎ＝−２，−１，０，１，…，MAX(=38))を算出する。そして、算出した相関値ｆ(n)に基づいて各分割エリアごとに相関が最も高くなるシフト量ｎを検出する。尚、ステップＳ１４のコントラスト検出処理１において測距に必要なコントラストがないと判定された分割エリアについては、相関値演算処理は行わない。
【０１７６】
ここで、ＣＰＵ６０は、極小値を求めるためｆ(ｎ−１)≧ｆ(n)＜ｆ(ｎ＋１)の判断を実施し、相関が最も高くなる（最高相関の）シフト量として、相関値ｆ(n)が最小極小値となるシフト量ｎを検出する。多くの場合には相関値の極小値は１つであり、最高相関のシフト量は、その極小値が得られるシフト量ｎとなる。
【０１７７】
一方、相関値ｆ(n)の分布（ｆ(ｎ−１)≧ｆ(n)＜ｆ(ｎ＋１)の判断）において極小値が複数存在する場合もあり、その場合には、最高相関のシフト量は、原則として、複数の極小値のうち最小の極小値（最小極小値）が得られるシフト量ｎとなる。ただし、極小値が複数存在する場合には、誤測距となる可能性があるため、以下で説明する極小値判断処理において、最小極小値のシフト量ｎを最高相関のシフト量として採用することが妥当であるか否かを判断する。尚、極小値が１つの場合の極小値とそのシフト量、又は、極小値が複数存在する場合の最小極小値とそのシフト量をいずれも最小極小値ｆｍｉｎ１（又は、最小極小値ｆ(ｎｍｉｎ１)）とシフト量ｎｍｉｎ１で表す。
【０１７８】
次に、極小値判断処理について説明する。ある分割エリアにおいて相関値ｆ(n)の極小値が２つ以上存在した場合、ＣＰＵ６０は、最小極小値ｆｍｉｎ１と２番目に小さい極小値（第２極小値という）とを検出し、それらの差（極小値差）を求める。尚、第２極小値をｆｍｉｎ２、極小値差をΔｆｍｉｎ（＝ｆｍｉｎ２−ｆｍｉｎ１）で表す。極小値判断の処理概略としては、その極小値差Δｆｍｉｎが大きい場合には、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を最高相関のシフト量ｎとして採用する。一方、極小値差Δｆｍｉｎが小さい場合には、誤測距となる可能性が高いため測距不能とする。尚、以下、最高相関のシフト量をｎｍｉｎ、最高相関における相関値（最高相関値）をｆｍｉｎ又はｆ(ｎｍｉｎ）で表す。
【０１７９】
ところで、相関値ｆ(n)の極小値が複数存在した場合に、測距可能か又は測距不能かの判断を、一定の基準値に対して極小値差Δｆｍｉｎが大きいか又は小さいかで判断するのは次のような態様を考慮すると必要以上に測距不能となるか、又は、誤測距の可能性が高くなる不具合がある。即ち、極小値差Δｆｍｉｎがある程度小さくても測距可能とすべき場合と、極小値差Δｆｍｉｎがある程度大きくても測距不能とすべき場合とがある。
【０１８０】
例えば、前者の場合の態様を図３９に示し、後者の場合の態様を図４０に示す。図３９（Ａ）、（Ｂ）にはＡＦセンサ７４の各Ｒセンサ９４及びＬセンサ９６における中央エリアの各セルから得られたＡＦデータの例が示されており、同図に示すように中央エリアの各セルから得られたＡＦデータが低コントラストであったとする。尚、以下の説明において、同様の処理が行われる分割エリア（測距エリアを構成する各分割エリア）のうち説明上着目している分割エリア又はそのセンサ（各セル）を採用センサというものとする。このような場合、相関値演算によって算出される相関値ｆ(n)は、同図（Ｃ）に示すように全体的に小さな値（後述の図４０との比較による）となる。また、同図（Ｃ）では、シフト量ｎ＝８のところで最小極小値ｆｍｉｎ１が検出され、シフト量ｎ＝１８のところで第２極小値ｆｍｉｎ２が検出されているが、これらの極小値差Δｆｍｉｎも後述の図４０の場合に比べて小さい。しかしながら、この図３９の態様の場合、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１（＝８）は被写体距離に適切に対応した値であり、測距可能と判断すべきである。
【０１８１】
一方、図４０（Ａ）、（Ｂ）には、Ｒセンサ９４及びＬセンサ９６の採用センサ（中央エリア）から得られたＡＦデータが周期的に変化する例が示されている。このようなＡＦデータが得られるのは、例えば、縞模様の被写体を撮像した場合である。この場合に、相関値演算によって算出される相関値ｆ(n)も同図（Ｃ）に示すように周期的に変化し、全体的に大きな値（前述の図３９との比較による）となる。また、同図（Ｄ）の拡大図に示すようにシフト量ｎ＝１４のところで最小極小値ｆｍｉｎ１が検出され、シフト量ｎ＝２０のところで第２極小値ｆｍｉｎ２が検出されているが、これらの極小値差Δｆｍｉｎも前述の図３９の場合に比べて大きい。しかしながら、この図４０の態様の場合、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１（＝１４）は被写体距離に適切に対応していない可能性が高く、この採用センサについては測距不能とすべきである。
【０１８２】
ＣＰＵ６０は、図３９のように測距可能とすべき場合と図４０のように測距不能とすべき場合とを適切に判断するため、具体的、以下のように判断処理を行う。
【０１８３】
まず、採用センサの相関値ｆ(n)の分布において複数検出された極小値のうち最小極小値ｆｍｉｎ１と第２極小値ｆｍｉｎ２を検出する。そして、次式、
［数９］
ｆｍｉｎ１＜基準値Ｒ３    …(13)
が成り立つか否かを判断する。この判断は、図３９と図４０の場合を分けるための判断であり、基準値Ｒ３はこれらの場合を分けるために適切な値に設定される。もし、式(13)が成り立つ場合、即ち、図３９の場合、次いで、極小値差Δｆｍｉｎ（＝ｆｍｉｎ２−ｆｍｉｎ１）を求め、次式、
［数１０］
Δｆｍｉｎ＜基準値Ｒ２  …(14)
が成り立つか否かを判断する。基準値Ｒ２は、図３９の場合を考慮して少なくとも後述の基準値Ｒ１よりも小さい値に設定される。もし、式(14)が成り立つ場合には、極小値差Δｆｍｉｎが小さいとして、この採用センサについて測距不能とする。式(14)が成り立たない場合には、測距可能とし、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を最高相関値ｆｍｉｎのシフト量ｎｍｉｎとして採用する。
【０１８４】
一方、上式(13)が成り立たない場合、即ち、図４０の場合には、次式、
［数１１］
Δｆｍｉｎ＜基準値Ｒ１  …(15)
が成り立つか否かを判断する。基準値Ｒ１は、図４０の場合を考慮して少なくとも基準値Ｒ２よりも大きい値に設定される。もし、式(15)が成り立つ場合には、図４０のように縞模様の被写体等である可能性が高いと判断してこの採用センサでの測距を不能とする。式(15)が成り立たない場合には、測距可能とし、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を最高相関値ｆｍｉｎのシフト量ｎｍｉｎとして採用する。
【０１８５】
以上のような極小値判断処理を行うことにより誤測距等の不具合の発生頻度が削減される。
【０１８６】
次に、相関値演算処理において測距時間の短縮を図るための複数の他の態様について説明する。まず、測距時間の短縮を図る第１の実施の形態について説明する。図７ステップＳ１６の説明では（式(1)参照）、相関値ｆ(n)（ｎ＝−２，−１，０，１，…，MAX(=38)）は、Ｒウインドウ９４ＢとＬウインドウ９６Ｂの同一セル位置ｉ（ｉ＝１，２，…wo(＝42)）におけるＡＦデータの差分の絶対値  （以下、単にＡＦデータの差分という）を全てのセル位置ｉについて加算したものである。本第１の実施の形態では、各シフト量ｎの相関値ｆ(n)を求める際に、全てのセル位置ｉについてＡＦデータの差分を加算するのではなく、セル位置ｉを一定間隔おきにとって加算するものとする。例えば、セル位置ｉを３つおきにとって、ＡＦデータの差分を加算する。尚、以下の説明において、相関値ｆ(n)の算出においてＡＦデータの差分を加算する演算対象のセルを採用セルという。また、３つおきのセル位置ｉのセルを採用セルとする場合の相関値演算を以下、「ｉ３つおき演算」といい、これに対して、式(1)のように全てのセル位置ｉのセルを採用セルとする場合の相関値演算を以下、「通常演算」という。
【０１８７】
図４１は、ｉ３つおき演算におけるＲウインドウ９４Ｂ及びＬウインドウ９６Ｂ内の採用セルのセル位置ｉを示した図である。同図に示すようにｉ３つおき演算では、Ｒウインドウ９４Ｂ及びＬウインドウ９６Ｂともにセル位置１から順に３つおきのセル位置ｉ（＝１、５、９、１３、…）のセルが採用セルとして採用される。ウインドウサイズが４２の場合（wo＝42の場合）には採用セルの最終のセル位置ｉは４１となる。この場合の相関値ｆ(n)の演算式は、上式(1)と同様に次式、
【０１８８】
【数１２】
0004802223.tif 000003
【０１８９】
により表されるが、ｉはｉ＝１、５，９、１３，１７、２１，２５，２９，３３、３７，４１のように３つおきにとられる。尚、採用セルのセル位置ｉは３つおきでなくてもよく、また、セル位置ｉ＝１からでなくてもよい。また、上式(16)では上式(1)に対して４倍の因子が加えられているが、ｉ３つおき演算では通常演算に対してデータ数が１／４となるため通常演算と数値を合わせたためである。
【０１９０】
ここで、採用センサの各セルで得られたＡＦデータに基づいて、通常演算とｉ３つおき演算とにより相関値ｆ(n)を求めた場合の算出結果の例をそれぞれ図４２、図４３に示す。これらの図から分かるように、相関値ｆ(n)の分布の大要は、ｉ３つおき演算の場合でも通常演算と大きくは変わらず、この例ではｉ３つおき演算の場合でも通常演算と同じシフト量ｎ（＝１０）で最小極小値が得られている。
【０１９１】
ＣＰＵ６０は、上述のようにｉ３つおき演算により各シフト量ｎについての相関値ｆ(n)を算出した場合、通常演算による場合と同様に相関値ｆ(n)が極小値となるシフト量ｎを検出する。このとき、図４２、図４３から分かるようにｉ３つおき演算により求めた相関値ｆ(n)は通常演算により求めた相関値ｆ(n)に比べて変動が大きく、精度が低い。従って、ｉ３つおき演算での極小値の位置は通常演算での極小値の位置と異なる可能性がある。そこで、ｉ３つおき演算を行う場合には、検出された極小値が１つの場合にはその極小値を暫定最小極小値とし、検出された極小値が複数の場合にはそのうちの最小の極小値を暫定最小極小値とし、その暫定最小極小値のシフト量付近において再度、通常演算により相関値ｆ(n)を算出する。尚、検出された極小値が複数の場合において、２番目に小さい極小値（暫定第２極小値）と暫定最小極小値との差が小さい場合には、暫定第２極小値のシフト量付近においても通常演算により相関値ｆ(n)の算出を行うが、この場合の詳細については後述する。また、以下、暫定最小極小値をＴｆｍｉｎ１、そのときのシフト量をＴｎｍｉｎ１で表す。また、通常演算により相関値ｆ(n)を再演算する範囲を再演算範囲という。
【０１９２】
ＣＰＵ６０は、通常演算によりシフト量Ｔｎｍｉｎ１付近の再演算範囲の相関値ｆ(n)を再演算すると、その再演算範囲における相関値ｆ(n)の極小値及びそのシフト量を、通常演算により算出した相関値ｆ(n)に基づいて検出する。この再演算により検出される極小値及びシフト量は、測距不能と判断される場合（後述）を除き、採用センサにおける全ての相関値ｆ(n)を通常演算により求めた場合に検出される上述の最小極小値ｆｍｉｎ１及びそのシフト量ｎｍｉｎ１に相当するため、それぞれ最小極小値ｆｍｉｎ１、シフト量ｎｍｉｎ１で表す。尚、再演算により検出したことを強調する場合には再演算最小極小値ｆｍｉｎ１という。この再演算の処理によって検出される再演算最小極小値ｆｍｉｎ１及びシフト量ｎｍｉｎ１は、測距不能と判定される場合を除き、相関値演算処理によって検出すべき最高相関値ｆｍｉｎとそのシフト量ｎｍｉｎとなる。
【０１９３】
再演算範囲は、例えば、暫定最小極小値Ｔｆｍｉｎ１が得られたシフト量Ｔｎｍｉｎ１に対して±５のシフト量の範囲とする。例えば、図４３の場合に暫定最小極小値Ｔｆｍｉｎ１が得られたシフト量Ｔｎｍｉｎ１は１０であるから、再演算範囲は、図４４に示すようにシフト量ｎ＝５〜１５となる。この再演算範囲で再演算を行うと、同図に示すように再演算範囲において図４２と同一の相関値ｆ(n)が算出されるため、本来検出されるべき最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が再演算により検出される。尚、この例では暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とは一致している。
【０１９４】
ここで、ｉ３つおき演算により検出された暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１が図４５に示すように近距離警告範囲内であった場合、上述の通常演算による再演算は行わず、Ｔｎｍｉｎ１＝ｎｍｉｎ１として近距離警告とする。近距離警告範囲とは、オートフォーカスにおいてピント合わせができない近距離の範囲をいい、上述の再演算は、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１が近距離警告範囲外のときのみ行うものとする。
【０１９５】
ＣＰＵ６０は、上述のように再演算により算出した相関値ｆ(n)により再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を検出すると、そのシフト量ｎｍｉｎ１とｉ３つおき演算により検出された暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１とを比較する。通常、これらのシフト量は一致するが、場合によっては一致しないことがある。この場合、図７ステップＳ２２の補間値演算処理等、この後の処理において必要な範囲の相関値ｆ(n)(通常演算による相関値)が不足するため、不足しているシフト量ｎにおける相関値ｆ(n)の再演算を追加で行う。即ち、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１（最高相関のシフト量ｎｍｉｎ）に対し、少なくとも一定のシフト量範囲（例えば、±５の範囲）で通常演算による相関値ｆ(n)を算出しておく必要があり、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とが一致していない場合には、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１に対して必要なシフト量範囲の相関値ｆ(n)が不足する。本実施の形態では、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１に対して通常演算による相関値ｆ(n)が必要なシフト量範囲は再演算範囲と同じ範囲（±５の範囲）とする。
【０１９６】
そこで、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１に対して必要なシフト量範囲のうち、既に通常演算による相関値ｆ(n)が算出された再演算範囲以外のシフト量について、通常演算による相関値ｆ(n)の再演算を追加で行う。但し、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１との差（シフト量差ｎＳＡ）が所定の値（例えば３）以上の場合には、再演算最小極小値ｆｍｉｎ１が本来検出されるべき最小極小値でない可能性が高くなるため、測距不能とする。尚、再演算の結果、極小値が検出されなくなった場合もこの場合に相当し測距不能とする。また、不足分の相関値ｆ(n)を再演算するための処理を不足分相関値再演算処理といい、その詳細については後述する。
【０１９７】
次に、ｉ３つおき演算により求めた相関値ｆ(n)において極小値が複数存在し、そのうちの最小極小値(暫定最小極小値Ｔｆｍｉｎ１)と第２極小値（暫定第２極小値）との差が小さい場合について説明する。例えば、採用センサにおける全てのシフト量ｎ（ｎ＝−２〜MAX(=38)）について通常演算により相関値ｆ(n)を算出した場合、図４６に示すように極小値が複数存在し、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１がシフト量ｎ＝７で検出され、第２極小値ｆｍｉｎ２のシフト量ｎｍｉｎ２がシフト量ｎ＝３２で検出されるものとする。そして、このようなＡＦデータに対してｉ３つおき演算により相関値ｆ(n)を算出すると、図４７に示すような相関値分布が得られたとする。この場合、ＣＰＵ６０は、まず、図４７のようにｉ３つおき演算により算出した相関値ｆ(n)の分布において最小極小値と第２極小値とを検出する。尚、ｉ３つおき演算における最小極小値を上述のように暫定最小極小値Ｔｆｍｉｎ１、そのシフト量をＴｎｍｉｎ１で表し、第２極小値を暫定第２極小値Ｔｆｍｉｎ２、そのシフト量をＴｎｍｉｎ２で表す。また、図４７では、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１は３２、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２は６で検出されている。
【０１９８】
もし、ｉ３つおき演算により検出された暫定最小極小値Ｔｆｍｉｎ１と暫定第２極小値Ｔｆｍｉｎ２との差（極小値差ΔＴｆｍｉｎ＝Ｔｆｍｉｎ２−Ｔｆｍｉｎ１）が所定の基準値以上の場合には、上述のようにＣＰＵ６０は、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１に対する再演算範囲のみで再演算（通常演算）を行う。一方、極小値差ΔＴｆｍｉｎが上記基準値よりも小さい場合には、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１に対する再演算範囲と、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２に対する再演算範囲とで再演算を行う。但し、極小値差ΔＴｆｍｉｎが上記基準値よりも小さい場合において、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と暫定第２極小値Ｔｆｍｉｎ２シフト量Ｔｎｍｉｎ２のいずれもが近距離警告範囲内であった場合には、再演算は行わずに近距離警告とする。いずれか一方でも近距離警告範囲内でない場合には上述の通り、両方のシフト量の近傍で再演算を行う。
【０１９９】
図４８は、図４７における極小値差ΔＴｆｍｉｎが上記基準値よりも小さいと判断された場合における再演算の結果を示した図である。同図に示すように暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１（＝３２）に対して±５のシフト量範囲（シフト量ｎ＝２７〜３７）が再演算範囲として再演算され、その再演算範囲において通常演算による相関値ｆ(n)が算出される。また、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２（＝６）に対しても±５のシフト量範囲（シフト量ｎ＝１〜１１）が再演算範囲として再演算され、その再演算範囲において通常演算による相関値ｆ(n)が算出される。これらの再演算範囲で再演算された相関値ｆ(n)は図４６の対応するシフト量範囲の相関値ｆ(n)の値に等しい。
【０２００】
ＣＰＵ６０は、このように暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１付近と暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２付近で再演算を行うと、それらの再演算範囲において、再演算（通常演算）による相関値ｆ(n)に基づいて極小値及びそのシフト量を検出する。これによって検出された最小極小値と第２極小値をそれぞれ再演算最小極小値ｆｍｉｎ１、再演算第２極小値ｆｍｉｎ２で表し、それらのシフト量をそれぞれシフト量ｆｍｉｎ１、シフト量ｆｍｉｎ２で表す。再演算最小極小値ｆｍｉｎ１及びそのシフト量ｆｍｉｎ１と、再演算第２極小値ｆｍｉｎ２及びそのシフト量ｎｍｉｎ２は、測距不能と判断される場合（後述）を除き、採用センサにおける全ての相関値ｆ(n)を通常演算により求めた場合に検出される上述の最小極小値ｆｍｉｎ１及びそのシフト量ｎｍｉｎ１と、第２極小値ｆｍｉｎ２及びそのシフト量ｎｍｉｎ２に相当し、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が相関値演算処理により検出すべき最高相関値ｆｍｉｎのシフト量ｎｍｉｎとなる。
【０２０１】
次に、暫定最小極小値が複数存在する場合において、ｉ３つおき演算により検出された暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と再演算により検出された再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とが一致しない場合について説明する。この場合、上述したのと同様に、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１に対して、少なくとも一定のシフト量範囲（例えば、±５の範囲）で通常演算による相関値ｆ(n)が必要となるため、不足分の相関値ｆ(n)の再演算（通常演算）を追加で行う。
【０２０２】
また、シフト量差ｎＳＡが所定の基準値以上の場合には測距不能とするが、この場合のシフト量差ｎＳＡは、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１に対する再演算に起因して検出されたものであれば、それらのシフト量差とするのが適切であるが、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２に対する再演算に起因して検出された場合には、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とのシフト量差とするのが適切である。
【０２０３】
そこで、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とのシフト量差ＤＩＳ１（＝｜Ｔｎｍｉｎ１−ｎｍｉｎ１｜）と、暫定最小極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２と再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とのシフト量差ＤＩＳ２（＝｜Ｔｎｍｉｎ２−ｎｍｉｎ１｜）を求め、そのうち小さい方の値をシフト量差ｎＳＡとしてシフト量差ｎＳＡにより測距可能か否かを判断する。
【０２０４】
図４８に示した場合、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１は７であるから、シフト量差ＤＩＳ１は図中(1)で示す１の値となり、シフト量差ＤＩＳ２は図中(2)で示す２５となる。従って、測距可能か否かは、シフト量差ＤＩＳ１の大きさで判断する。
【０２０５】
図４９は、不足分再演算処理の処理手順を示したフローチャートである。不足分再演算処理を実施する前において、ＣＰＵ６０は、ｉ３つおき演算により相関値ｆ(n)を算出し、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１を検出する。また、暫定最小最小極Ｔｆｍｉｎ１以外に暫定第２極小値Ｔｆｍｉｎ２が存在する場合には、そのシフト量Ｔｎｍｉｎ２を検出する。そして、再演算範囲で通常演算による再演算を行い、再演算範囲において再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を検出する。
【０２０６】
続いて図４９の不足分再演算処理に移行する。まず、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２が存在するか否か、即ち、暫定第２極小値Ｔｆｍｉｎ２が存在するか否かを判定する（ステップＳ１５０）。ＮＯであれば、後述のステップＳ１６８に移行する。一方、ＹＥＳであれば、次に、暫定第２極小値Ｔｆｍｉｎ２のシフト量Ｔｎｍｉｎ２に対して±５のシフト量ｎの範囲を再演算範囲として再演算を実施したか否かを判定する（ステップＳ１５２）。もし、ＮＯと判定した場合には、後述のステップＳ１６８に移行する。一方、ＹＥＳと判定した場合には、（シフト量ｎｍｉｎ１≧シフト量Ｔｎｍｉｎ１）か否かを判定する（ステップＳ１５４）。ＹＥＳであれば、暫定最小極小値Ｔｆｍｉｎ１と再演算最小極小値ｆｍｉｎ１とのシフト量差の大きさを示す値ＤＩＳ１を（ＤＩＳ１＝ｎｍｉｎ１−Ｔｎｍｉｎ１）とし（ステップＳ１５６）、ＮＯであれば、シフト量差ＤＩＳ１を（ＤＩＳ１＝Ｔｎｍｉｎ１−ｎｍｉｎ１）とする（ステップＳ１５８）。
【０２０７】
次に、ＣＰＵ６０は、（シフト量ｎｍｉｎ１≧シフト量Ｔｎｍｉｎ２）か否かを判定する（ステップＳ１６０）。ＹＥＳであれば、暫定第２極小値Ｔｆｍｉｎ２と再演算最小極小値ｆｍｉｎ１とのシフト量差の大きさを示す値ＤＩＳ２を（ＤＩＳ１＝ｎｍｉｎ１−Ｔｎｍｉｎ２）とし（ステップＳ１６２）、ＮＯであれば、シフト量差ＤＩＳ２を（ＤＩＳ２＝Ｔｎｍｉｎ２−ｎｍｉｎ１）とする（ステップＳ１６４）。
【０２０８】
次に、（ＤＩＳ１≦ＤＩＳ２）か否かを判定し（ステップＳ１６６）、ＹＥＳ、即ち、再演算最小極小値ｆｍｉｎ１が暫定第２極小値Ｔｆｍｉｎ２よりも暫定最小極小値Ｔｆｍｉｎ１に近い位置にあると判定した場合には、暫定値ＺＡＮＴＥＩ＝シフト量Ｔｎｍｉｎ１とする（ステップＳ１６８）。ＮＯ、即ち、再演算最小極小値ｆｍｉｎ１が暫定最小極小値Ｔｆｍｉｎ１よりも暫定第２極小値Ｔｆｍｉｎ２に近い位置にあると判定した場合には、暫定値ＺＡＮＴＥＩ＝シフト量Ｔｎｍｉｎ２とする（ステップＳ１７０）。尚、ステップＳ１５０、又は、ステップＳ１５２においてＮＯと判定した場合には、ステップＳ１６８に移行して、暫定値ＺＡＮＴＥＩ＝シフト量Ｔｎｍｉｎ１とする。
【０２０９】
次に、ＣＰＵ６０は、（ＺＡＮＴＥＩ≧ｎｍｉｎ１）か否か、即ち、再演算最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が暫定値ＺＡＮＴＥＩに対して＋側又は−側のいずれにあるかを判定する（ステップＳ１７２）。ＹＥＳと判定した場合、シフト量差ｎＳＡを（ｎＳＡ＝ＺＡＮＴＥＩ−ｎｍｉｎ１）とする(ステップＳ１７４)。
【０２１０】
そして、まず、（ｎＳＡ≧３）か否かを判定する（ステップＳ１７６）。ＹＥＳと判定した場合には、測距不能として（ステップＳ１７８）、この不足分再演算処理を終了する。
【０２１１】
ステップＳ１７６においてＮＯと判定した場合には、続いて、（ｎＳＡ＝２）か否かを判定する（ステップＳ１８０）。ここでＹＥＳと判定した場合には、シフト量ｎ＝ｎｍｉｎ１−４及びｎｍｉｎ１−５における相関値ｆ(ｎｍｉｎ１−４)と、相関値ｆ(ｎｍｉｎ１−５)を通常演算により再演算する（ステップＳ１８２）。
【０２１２】
ステップＳ１８０においてＮＯと判定した場合には、次に（ｎＳＡ＝１）か否かを判定する（ステップＳ１８４）。ＹＥＳと判定した場合には、シフト量ｎｍｉｎ１−５における相関値ｆ(ｎｍｉｎ１−５)を通常演算により再演算する（ステップＳ１８６)。
【０２１３】
ステップＳ１８４においてＮＯと判定した場合には再演算（不足分の再演算）を行わず（ステップＳ１８８）、不足分再演算の処理を終了する。
【０２１４】
上記ステップＳ１７２においてＮＯと判定した場合には、シフト量差ｎＳＡ＝ｎｍｉｎ１−ＺＡＮＴＥＩとする（ステップＳ１９０）。
【０２１５】
そして、まず、（ｎＳＡ≧３）か否かを判定する（ステップＳ１９２）。ＹＥＳと判定した場合には、測距不能として（ステップＳ１９４）、この不足分再演算処理を終了する。
【０２１６】
ステップＳ１９２においてＮＯと判定した場合には、続いて、（ｎＳＡ＝２）か否かを判定する（ステップＳ１９６）。ここでＹＥＳと判定した場合には、シフト量ｎ＝ｎｍｉｎ１−４及びｎｍｉｎ１−５における相関値ｆ(ｎｍｉｎ１−４)と、相関値ｆ(ｎｍｉｎ１−５)を通常演算により再演算する（ステップＳ１９８）。
【０２１７】
ステップＳ１９６においてＮＯと判定した場合には、次に（ｎＳＡ＝１）か否かを判定する（ステップＳ２００）。ＹＥＳと判定した場合には、シフト量ｎ＝ｎｍｉｎ１−５における相関値ｆ(ｎｍｉｎ１−５)を通常演算により再演算する（ステップＳ２０２）。
【０２１８】
ステップＳ１９６においてＮＯと判定した場合には再演算（不足分の再演算）を行わず（ステップＳ１８８）、不足分再演算の処理を終了する。
【０２１９】
尚、不足分再演算範囲がｎの最小値（−２）未満、又は、ｎの最大値（３８）を超えた場合は再演算を実施しないこととする。
【０２２０】
以上の不足分再演算処理により最高相関値ｆｍｉｎのシフト量ｎｍｉｎに対して必要なシフト量範囲の通常演算による相関値ｆ(n)が得られる。
【０２２１】
次に、以上のｉ３つおき演算に特有の誤測距及びその防止について説明する。ｉ３つおき演算に特有の誤測距は、上記「ＡＦデータの取得処理」の欄で説明したようにセンサデータにコントラスト抽出処理（２画素差分演算）を施したものをＡＦデータとする場合において特に問題となる。図５０（Ａ）、（Ｂ）は２画素差分演算により得たＲセンサ９４とＬセンサ９６のＡＦデータのうち、シフト量ｎ＝０におけるｉ３つおき演算で使用するＡＦデータを例示した図である。この場合、相関値演算は３つおきにデータを使用しているため、コントラストの有る部分を捉えることができない。一方、この前後の前後のシフト量ではコントラストの有る部分を捉えることができるので、シフト量ｎ＝０で極小値となる可能性が高い。この状態からシフト量ｎが８ずれた場合（ｎ＝８）は、ｉ３つおき演算で使用するＡＦデータのセンサ番号は４つシフトすることになるため、端の１つ以外は全てｎ＝０のときと同じＡＦデータが使用されることになる。このとき新たに加わった端のＡＦデータにコントラストがなかった場合には、再びこのシフト量ｎ＝８においても極小値となる可能性が高い。
【０２２２】
このような現象はシフト量が８ずつシフトするごとに繰り返される。図５１は、図５０（Ａ）、（Ｂ）のＡＦデータの例でｉ３つおき演算を行って相関値ｆ(n)を算出した結果を示したものであり、同図に示すようにシフト量ｎ＝０、８、１６、…において極小値が検出される。尚、図５０（Ａ）、（Ｂ）のＡＦデータの例で通常演算を行った場合の相関値分布を図５２に示す。このように通常演算において検出される真の極小値とは無関係の位置で極小値が検出されるため、誤測距を招くおそれがある。
【０２２３】
また、図５０のようなセンサデータの態様が実測で得られた場合にｉ３つおき演算で求めた相関値ｆ(n)を図５３に示す。この場合、暫定最小極小値Ｔｆｍｉｎ１はシフト量Ｔｎｍｉｎ１＝３３で検出され、暫定第２極小値Ｔｆｍｉｎ２はシフト量Ｔｎｍｉｎ２＝２６で検出されている。このような実測においては、図５０（Ａ）、（Ｂ）のようにあるシフト量ｎの相関値を算出する際に使用する全てのセンサデータにコントラストがないということはほとんど無く、多少のコントラストが存在しており、その影響で極小値が８ごとのシフト量間隔で繰り返されずに、±１ずれて７や９のシフト量間隔で観測される場合がある。
【０２２４】
以上のことから、暫定最小極小値Ｔｆｍｉｎ１と暫定第２極小値Ｔｆｍｉｎ２との差が所定の調整値ａより小さい場合であって、暫定最小極小値のシフト量Ｔｎｍｉｎ１と暫定第２極小値のシフト量Ｔｎｍｉｎ２との差が８の倍数であるか、又は、８の倍数の±１である場合にはｉ３つおき演算ではなく上記通常演算により相関値演算を行うようにする。即ち、
［数１３］
Ｔｆｍｉｎ２−Ｔｆｍｉｎ１＜調整値ａ
かつ、
［数１４］
｜Ｔｎｍｉｎ１−Ｔｎｍｉｎ２｜＝（８の倍数）又は（８の倍数の±１）
の場合には通常演算に切り替える。通常演算に切り替えることによってｉ３つおき演算に特有の誤測距を防止することができる。尚、ｉ３つおき演算ではなく通常演算により相関値演算を行う場合、暫定最小極小値のシフト量Ｔｎｍｉｎ１と暫定第２極小値のシフト量Ｔｎｍｉｎ２との差が、８の倍数であるか、又は、８の倍数の±１であることを条件の一つとしたが、ｉ３つおき演算の場合に限らず、この条件を一般化すると、任意の値ｘに対してセル位置ｉがｘつおきのｉｘつおき演算の場合には、暫定最小極小値のシフト量Ｔｎｍｉｎ１と暫定第２極小値のシフト量Ｔｎｍｉｎ２との差が、（ｘ＋１）×２の倍数であるか、又は、（ｘ＋１）×２の倍数の±１であることという条件となる。
【０２２５】
次に、相関値演算処理において測距時間の短縮を図る第２の実施の形態について説明する。上述の通常演算、ｉ３つおき演算のいずれの場合においても採用センサにおける全てのシフト量ｎ（ｎ＝−２，−１，０，１，…，MAX(=38)）について、相関値ｆ(n)を算出するようにしたが、本第２の実施の形態においては、全てのシフト量ｎについての相関値ｆ(n)は算出せず、一定間隔おきのシフト量ｎについての相関値ｆ(n)を算出する。例えば、シフト量ｎを３つおきに算出する。尚、シフト量ｎを３つおきにとる場合の相関値演算を以下、「ｎ３つおき演算」といい、これに対して、全てのシフト量ｎについ相関値ｆ(n)を求める場合の相関値演算を本第２の実施の形態の説明では「通常演算」という（第１の実施の形態における「通常演算」の意味とは異なる）。また、ｎ３つおき演算において相関値ｆ(n)を算出するシフト量ｎを、採用シフト量ｎという。
【０２２６】
図５４（Ａ）は、採用センサのセンサ数（即ち、採用センサ数）が６２、ウインドウサイズが４２の場合に、ｎ３つおき演算における採用シフト量ｎの例を示しており、採用シフト量ｎは、シフト量ｎ＝−２から３つおきのｎ＝２、６、１０、１４、…、３８に設定される。尚、同図のＮ１は、図１２を参照すると、採用センサ９６Ａの右端に対する各採用シフト量ｎ＝−２、２、６、…におけるＬウインドウ９６Ｂのシフト量を示し、Ｎ２は、採用センサ９４Ａの左端に対する各採用シフト量におけるＲウインドウ９４Ｂのシフト量を示す。
【０２２７】
但し、ｎ３つおき演算においても図５４（Ａ）に示す採用シフト量以外に図５４（Ｂ）に示すシフト量ｎ＝−１、０、３６、３７については採用シフト量として相関値ｆ(n)を算出することが望ましい。図５５、図５６、図５７は、通常演算により全てのシフト量ｎについて相関値ｆ(n)を求めた場合において、最小極小値ｆｍｉｎ１が遠距離、中距離、近距離のそれぞれに得られる場合を仮定して、図５４（Ａ）に示した採用シフト量ｎ（＝２、６、１０、１４、…、３８）のみで相関値ｆ(n)を算出した場合の相関値分布と、図５４（Ａ）に示した採用シフト量ｎと併せて図５４（Ｂ）に示した採用シフト量ｎ（＝−１、０、３６、３７）で相関値ｆ(n)を算出した場合の相関値分布を示したグラフである。尚、図５４（Ａ）の採用シフト量ｎのみの相関値分布は、図中「□」記号の点を結ぶ分布により示し、図５４（Ａ）及び図５４（Ｂ）の採用シフト量ｎの相関値分布は、図中「▲」記号の点を結ぶ分布により示す。
【０２２８】
まず、通常演算により本来検出される最小極小値ｆｍｉｎ１が遠距離のシフト量に存在する場合であって、その最小極小値ｆｍｉｎ１が図５４（Ａ）の採用シフト量ｎと異なるシフト量ｎ＝−１にあるとする。この場合に図５４（Ａ）の採用シフト量ｎのみで相関値ｆ(n)を算出すると、図５５の「□」記号を結ぶ相関値分布に示すように、これによって算出された相関値分布からは、そのシフト量ｎ＝−１付近において極小値が検出されない事態が生じる。これに対して、図５４（Ｂ）の採用シフト量ｎ（＝−１、０）において相関値ｆ(n)を算出すれば、図５５の「▲」記号を結ぶ相関値分布に示すようにシフト量ｎ＝−１において最小極小値が検出され、遠距離側において本来検出されるべき最小極小値ｆｍｉｎ１が検出されない不具合が解消される。
【０２２９】
これと同様に、通常演算により本来検出される最小極小値ｆｍｉｎ１が近距離のシフト量に存在する場合であって、その最小極小値ｆｍｉｎ１が図５４（Ａ）の採用シフト量ｎと異なるシフト量ｎ＝−３７にあるとする。この場合に図５４（Ａ）の採用シフト量ｎのみで相関値ｆ(n)を算出すると、図５７の「□」記号を結ぶ相関値分布に示すように、これによって算出された相関値分布からは、そのシフト量ｎ＝−３７付近において極小値が検出されない事態が生じる。これに対して、図５４（Ｂ）の採用シフト量ｎ（＝３６、３７）において相関値ｆ(n)を算出すれば、図５７の「▲」記号を結ぶ相関値分布に示すようにシフト量ｎ＝−３７において最小極小値が検出され、近距離側において本来検出されるべき最小極小値ｆｍｉｎ１が検出されない不具合が解消される。
【０２３０】
一方、通常演算により本来検出される最小極小値ｆｍｉｎ１が中距離に存在する場合においては、上述のような不具合はほとんど生じない。例えば、図５６の細線で示すように通常演算による最小極小値ｆｍｉｎ１が図５４（Ａ）の採用シフト量ｎと異なるシフト量ｎ＝１６にあるとする。このような場合に図５４（Ａ）の採用シフト量ｎのみで相関値ｆ(n)を算出したとすると、図５６の「□」記号を結ぶ相関値分布に示すようにシフト量ｎ＝１６の近傍の例えばシフト量ｎ＝１８において極小値が検出される。一般に、最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１が中距離に存在する場合には、そのシフト量ｎに向かって両側から相関値が小さくなる相関値分布を示すため、図５４（Ａ）の採用シフト量ｎのみで相関値ｆ(n)を算出した場合であっても最小極小値ｆｍｉｎ１のシフト量ｎに対して、少なくともその近傍で極小値が検出される。極小値の存在が分かれば、通常演算により検出される最小極小値ｆｍｉ１の正確なシフト量ｎｍｉｎ１は、後述の再演算によって検出できるため、このｎ３つおき演算の処理としては十分である。
【０２３１】
以上のことから、ｎ３つおき演算では図５４（Ａ）に示した採用シフト量ｎのみでなく、図５４（Ｂ）に示した採用シフト量ｎについても相関値ｆ(n)を算出するのが好適である。以下、図５４（Ａ）のように３つおきの採用シフト量ｎと、図５４（Ｂ）のように遠距離側及び近距離側の特定の採用シフト量ｎとにおいて相関値ｆ(n)を算出することをｎ３つおき演算というものとする。但し、図５４（Ａ）の採用シフト量ｎのみで相関値演算を行うようにしてもよく、また、この場合に図５５や図５７に示すような極小値の存在しない相関値分布が得られたときには、遠距離又は近距離に極小値が存在すると仮定して後述の再演算を行うようにしてもよい。
【０２３２】
ＣＰＵ６０は、上述のようにｎ３つおき演算により採用シフト量ｎにおける相関値ｆ(n)を算出した場合、採用シフト量ｎで得られた相関値ｆ(n)の分布から相関値ｆ(n)が極小値となるシフト量ｎを検出する。このとき検出された極小値が１つの場合にはその極小値を暫定最小極小値Ｔｆｍｉｎ１とし、検出された極小値が複数の場合にはそのうちの最小の極小値を暫定最小極小値とし、その暫定最小極小値のシフト量付近において再度、通常演算により相関値ｆ(n)を再演算する。尚、この再演算の処理は、上述のｉ３つおき演算における再演算と全く同様の方法を用いることができ、再演算の範囲、検出された極小値が複数の場合の処理方法、不足分相関値演算等の詳細な説明については省略する。また、用語の定義もｉ３つおき演算の説明で使用したものと同様とする。
【０２３３】
再演算範囲は、暫定最小極小値Ｔｆｍｉｎ１のシフト量Ｔｎｍｉｎ１に対して例えば±５のシフト量の範囲とし、図５６の例では、暫定最小極小値Ｔｆｍｉｎ１が得られたシフト量Ｔｎｍｉｎ１は１８であるから、再演算範囲は、図５８に示すようにシフト量ｎ＝１３〜２３となる。但し、ｎ３つおき演算において既に相関値ｆ(n)を算出している採用シフト量ｎついては再演算で改めて相関値ｆ(n)を算出する必要はなく、図５８に示すように再演算範囲に含まれる採用シフト量ｎ＝１４、１８、２２については、再演算において相関値ｆ(n)の算出は行わない。
【０２３４】
ＣＰＵ６０は、以上の再演算によって再演算範囲の相関値ｆ(n)を算出すると、その再演算範囲の相関値ｆ(n)に基づいて最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１を検出し、そのシフト量ｎｍｉｎ１を相関値演算において検出すべき最高相関のシフト量ｎｍｉｎとする。
【０２３５】
ここで、ｉ３つおき演算、又は、ｎ３つおき演算を採用した場合における演算数について示しておくと、例えば、上述の採用センサ数６２、ウインドウサイズ４２の場合、ｉ３つおき演算においては、演算数は４１／４＝１０．２５であり、再演算数１１を合わせて合計２１．２５個である。ｎ３つおき演算においては、演算数は１５であり、再演算数８を合わせて合計２３個である。これに対して、通常演算の場合には、４１個であるから、ｉ３つおき演算、ｎ３つおき演算では、演算数が十分削減され、測距時間の短縮が図られるのが分かる。
【０２３６】
以上説明した第１の実施の形態におけるｉ３つおき演算において、暫定最小極小値Ｔｆｍｉｎ１のシフト量ｎｍｉｎ１と、通常演算の最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１とが一致しない場合、それらのシフト量差が大きいと不足分相関値演算における演算数が増加するため時間短縮の効果が少なくなる。また、ｉ３つおき演算では、データ数が通常演算の１／４になるため精度が低下し暫定極小値が現れない場合がある。このような現象はＡＦデータのコントラストが低い場合に多くみられる。
【０２３７】
そこで、採用センサにおけるＡＦデータのコントラストが所定の基準値より大きい場合には、ｉ３つおき演算を行い、低い場合には、通常演算を行うようにすれば、このような現象の多くは生じなくなる。また、コントラストが低い場合には、第２の実施の形態におけるｎ３つおき演算を行うようにしてもよい。
【０２３８】
｛コントラスト検出処理（図７ステップＳ１４、ステップＳ１８）の詳細｝
次に、図７のステップＳ１４におけるコントラス検出処理１及びステップＳ１８におけるコントラス検出処理２について詳説する。コントラスト検出は、ＡＦセンサ７４の所定範囲内のセル（センサデータ）から得られたＡＦデータの最大値と最小値に基づいてセンサ像（ＡＦデータ）のコントラストの有無を検出する処理である。コントラストの評価値として本実施の形態では、ＡＦデータの最大値と最小値との差を用い、コントラストが所定の基準値以上であればコントラスト有りと判定し、前記基準値より小さければコントラスト無しと判定する。
【０２３９】
図７のステップＳ１４におけるコントラスト検出処理１は、測距エリアを構成する各分割エリアごとに分割エリアの全セル、即ち、採用センサの全セルを対象範囲としてコントラスト検出を行う一方、ステップＳ１６におけるコントラスト検出処理２は、各分割エリアにおいて、相関値演算により検出された最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１、即ち、最高相関値ｆｍｉｎのシフト量ｎｍｉｎにおけるウインドウ範囲内の全セルを対象範囲としてコントラスト検出を行う。
【０２４０】
図５９は、コントラスト検出処理１とコントラスト検出処理２による一連のコントラスト検出処理の全体手順を示したフローチャートである。ＣＰＵ６０は、図７のステップＳ１２におけるＡＦデータ取得処理によりＡＦデータを取得すると、図７のステップＳ１４におけるコントラスト検出処理１の一処理として、測距エリアを構成するＲセンサ９４及びＬセンサ９６の各分割エリアを個別の対象範囲としたコントラスト検出１の処理を行う（ステップＳ２５０）。今、Ｒセンサ９４及びＬセンサ９６の対応するある分割エリアに着目し、そのＲセンサ９４の分割エリアとＬセンサ９６の分割エリアをそれぞれＲセンサ９４の採用センサ、Ｌセンサ９６の採用センサというものとする。そして、それらの採用センサについてコントラスト検出１を行うとすると、ＣＰＵ６０は、Ｒセンサ９４の採用センサの全セルのＡＦデータのうち最大値及び最小値を検出する。このとき検出されたＡＦデータの最大値をＲＭＡＸ、最小値をＲＭＩＮとする。同様にＬセンサ９６の採用センサの全セルのＡＦデータのうち最大値及び最小値を検出する。このとき検出されたＡＦデータの最大値をＬＭＡＸ、最小値をＬＭＩＮとする。
【０２４１】
次いで、ＣＰＵ６０は、Ｒセンサ９４の採用センサにおけるコントラストを次式、
［数１５］
ＲＭＡＸ−ＲＭＩＮ    …(17)
により求め、Ｌセンサ９６の採用センサにおけるコントラストを次式、
［数１６］
ＬＭＡＸ−ＬＭＩＮ    …(18)
により求める。  次に、ＣＰＵ６０は、図７のステップＳ１４におけるコントラスト検出処理１の一処理として、ステップＳ２５０のコントラスト検出１により検出したコントラストによりコントラスト判定１を行う（ステップＳ２５２）。即ち、Ｒセンサ９４の採用センサにおける上式(17)のコントラストＲＭＡＸ−ＲＭＩＮ、及び、Ｌセンサ９６の採用センサにおける上式(18)のコントラストＬＭＡＸ−ＬＭＩＮが所定の基準値Ｒ４に対してそれぞれ、
［数１７］
ＲＭＡＸ−ＲＭＩＮ＜Ｒ４    …(19)
ＬＭＡＸ−ＬＭＩＮ＜Ｒ４    …(20)
が成り立つか否かを判定する。もし、上式(19)と(20)のうちいずれか一方でも成り立つ場合にはコントラスト無しとしてそれらの採用センサ（着目している分割エリア）における測距を不能とする（ステップＳ２５４）。上式(19)と(20)の両方とも成り立たない場合には、それらの採用センサにおけるコントラストを有りとする。
【０２４２】
次に、ＣＰＵ６０は、ステップＳ２５２においてコントラスト有りと判定した分割エリアについて、上記図７のステップＳ１６における相関値演算処理を行う（ステップＳ２５６）。
【０２４３】
次に、ＣＰＵ６０は、上記図７のステップＳ１８におけるコントラスト検出処理２の一処理として、相関値演算により検出された最高相関のシフト量ｎｍｉｎにおけるＲウインドウ９４Ｂ及びＬウインドウ９６Ｂを対象範囲としたコントラスト検出２を行う（ステップＳ２５８）。今、Ｒセンサ９４及びＬセンサ９６のある対応する分割エリアに着目し、そのＲセンサ９４の分割エリアとＬセンサ９６の分割エリアをそれぞれＲセンサ９４の採用センサ、Ｌセンサ９６の採用センサというものとする。そして、それらの採用センサについてコントラスト検出２を行うとすると、ＣＰＵ６０は、そのＲセンサ９４の採用センサにおいて最高相関のシフト量ｎｍｉｎが得られたときのＲウインドウ９４Ｂの範囲でＡＦデータの最大値と最小値を検出する。このとき検出された最大値をＲＷＭＡＸ、最小値をＲＷＭＩＮとする。同様にＬセンサ９６の採用センサにおいて最高相関のシフト量ｎｍｉｎが得られたときのＬウインドウ９６Ｂの範囲でＡＦデータの最大値と最小値を検出する。このとき検出された最大値をＬＷＭＡＸ、最小値をＬＷＭＩＮとする。そして、ＣＰＵ６０は、前記Ｒウインドウ９４Ｂにおけるコントラストを次式、
［数１８］
ＲＷＭＡＸ−ＲＷＭＩＮ    …(21)
により求める。また、Ｌウインドウ９６Ｂにおけるコントラストを次式、
［数１９］
ＬＷＭＡＸ−ＬＷＭＩＮ    …(22)
により求める。
【０２４４】
続いて、ＣＰＵ６０は、上記図７のステップＳ１８におけるコントラスト検出処理２の一処理として、上式(21)、(22)により求めたコントラストによりコントラスト判定２を行う（ステップＳ２６０）。即ち、Ｒウインドウ９４Ｂにおける上式(21)のコントラストＲＷＭＡＸ−ＲＷＭＩＮ、及び、Ｌウインドウ９６Ｂにおける上式(22)のコントラストＬＷＭＡＸ−ＬＷＭＩＮが上述の基準値Ｒ４に対してそれぞれ、
［数２０］
ＲＷＭＡＸ−ＲＷＭＩＮ＜Ｒ４    …(23)
ＬＷＭＡＸ−ＬＷＭＩＮ＜Ｒ４    …(24)
が成り立つか否かを判定する。もし、上式(23)と(24)のうちいずれか一方でも成り立つ場合にはコントラスト無しとしてそれらの採用センサ（着目している分割エリア）における測距を不能とする（ステップＳ２５４）。上式(23)と(24)の両方とも成り立たない場合には、それらのウインドウにおけるコントラストを有りとする。コントラスト有りとした場合には次の処理に移行する。
【０２４５】
以上のコントラスト検出処理１及びコントラスト検出処理２により測距不能と判定される場合の具体例について説明する。例えば、Ｒセンサ９４及びＬセンサ９６の中央エリアを採用センサとして着目した場合に、それら採用センサの全セル範囲のＡＦデータが図６０（Ａ）、（Ｂ）に示すように低コントラストを示していたとする。この場合に、相関値演算により相関値ｆ(n)を算出すると、同図（Ｃ）に示すように最小極小値ｆｍｉｎ１のシフト量ｎｍｉｎ１、即ち、最高相関値ｆｍｉｎのシフト量ｎｍｉｎがシフト量ｎ＝１２で検出される。このような場合、同図（Ａ）、（Ｂ）に示しているようにＲセンサ９４の採用センサ及びＬセンサ９６の採用センサにおいて、シフト量ｎｍｉｎにおけるウインドウ範囲（最高相関値となったウインドウ範囲）のＡＦデータも低コントラストを示し、シフト量ｎ＝１２を最高相関のシフト量ｎｍｉｎとすると誤測距となる可能性が高い。
【０２４６】
このように採用センサの全セル範囲においてＡＦデータが低コントラストを示す場合、実際にはこの採用センサに対して相関値演算処理は行われることなく、コントラスト検出処理１におけるコントラスト判定１（図５９のステップＳ２５２）において測距不能と判定される。従って、明らかに測距不能なＡＦデータを示す採用センサについては相関値演算が行われないため、測距時間が短縮される。
【０２４７】
一方、図６１（Ａ）、（Ｂ）に示すようにＲセンサ９４及びＬセンサ９６の採用センサの全セル範囲においては、ＡＦデータが高コントラストを示していたとする。この場合に、相関値演算により相関値ｆ(n)を算出したとすると、同図（Ｃ）に示すように最高相関値ｆｍｉｎのシフト量ｎｍｉｎがシフト量ｎ＝１２で検出される。しかしながら、この場合において、同図（Ａ）、（Ｂ）に示しているようにＲセンサ９４の採用センサ及びＬセンサ９６の採用センサにおいて、最高相関値となったウインドウ範囲のＡＦデータは低コントラストを示しており、シフト量ｎ＝１２を最高相関のシフト量ｎｍｉｎとすると誤測距となる可能性が高い。
【０２４８】
このように、採用センサの全セルを対象範囲としてコントラスト検出処理１ではコントラスト有りと判定されるような場合であっても、相関値演算により検出された最高相関のシフト量ｎｍｉｎにおけるウインドウ範囲ではＡＦデータが低コントラストを示す場合には、コントラスト検出処理２におけるコントラスト判定２（図５９のステップＳ２６０）において測距不能と判定される。従って、コントラスト検出処理１において測距可能とされた場合でも誤測距となる可能性が高い図６１のような場合にはコントラスト検出処理２によって適切に測距不能と判定される。
【０２４９】
以上説明したコントラスト検出処理では、相関値演算処理（図５９のステップＳ２５６）を行った後、最高相関のシフト量ｎｍｉｎにおけるウインドウ範囲についてコントラスト検出処理２を行うようにしたが（同図ステップＳ２５８、２６０）、相関値演算処理を行った後にコントラスト検出処理２を行う代わりに、相関値演算処理を行う前において上述のコントラスト検出処理２と同様の処理を行うようにすることもできる。例えば、コントラスト検出処理１によりある分割エリアの全セルのＡＦデータを対象としてコントラスト有りと判定されたとする。この場合、次に、その分割エリアの全てのシフト量ｎにおけるウインドウ範囲を対象として、各ウインドウ範囲ごとにコントラストの有無を検出する。この結果、コントラスト無しと判定したウインドウ範囲のシフト量ｎについては相関値演算を行わず、コントラスト有りと判定したウインドウ範囲のシフト量ｎについてのみ相関値演算を行い、相関値ｆ(n)を算出する。そして、相関値ｆ(n)を算出したシフト量ｎの範囲で最高相関値ｆｍｉｎのシフト量ｎｍｉｎを検出する。この場合、相関値演算における演算数を削減することができ、測距時間の短縮が図れる。尚、この場合におけるコントラスト検出処理は行わなくても良い。また、全てのシフト量ｎにおけるウインドウ範囲においてコントラスト無しと判定された場合には、一度も相関値演算が行われず、測距不能と判定される。
【０２５０】
更に、一箇所でもコントラストがあるウインドウがあった場合は、全ての相関値演算を実施するようにしてもよい。
【０２５１】
｛Ｌ、Ｒチャンネル差補正処理（図７ステップＳ２０）の詳細｝
次に、図７のステップＳ２０におけるＬ、Ｒチャンネル差補正処理について説明する。Ｌ、Ｒチャンネル差補正処理は、ＡＦセンサ７４のＲセンサ９４から取得したＡＦデータと、ＡＦセンサ７４のＬセンサ９６から取得したＡＦデータとの信号量を一致させる処理である。本処理では、上記コントラスト検出処理２のコントラスト判定２（図５９参照）においてコントラスト有りと判定した分割エリアにおいて、最高相関値が得られたＲウインドウ９４Ｂ及びＬウインドウ９６Ｂの範囲付近（±５ｎ）のＡＦデータに対して行う。
【０２５２】
まず、ＣＰＵ６０におけるＬ、Ｒチャンネル差補正処理の手順について図６２のフローチャートを用いて説明する。同図のステップＳ３００で示しているコントラスト判定２の処理は、上記図５９ステップＳ２６０のコントラスト判定２に相当し、この判定処理において、コントラスト無しと判定された分割エリアについては、測距不能とされ、コントラスト有りと判定された分割エリアについては、以下のＬ、Ｒチャンネル差補正処理に移行する。そこで、コントラスト有りと判定したある分割エリアを採用センサとして着目して以下説明すると、ＣＰＵ６０は、まず、補正が必要か否かを判定するために、その採用センサにおいて最高相関値が得られたＲウインドウ９４Ｂの範囲とＬウインドウ９６Ｂの範囲でそれぞれＡＦデータの最小値を検出して比較し、その差の絶対値（左右最小値差ΔＤＭＩＮ）が大きいか小さいか、又は、大きすぎるかを判定する（ステップＳ３０２）。尚、この判定の前又は後（ステップＳ３００とステップＳ３０２の間、又は、ステップＳ３０２とステップＳ３０４の間）において、前記採用センサにおける最高相関値が所定の基準値以上か否かの判断を行い、最高相関値がその基準値以上の場合にのみ本補正が必要であると判断し、最高相関値が基準値より小さい場合には本補正を行わないようにしてもよい。ここで、最高相関値が得られたＲウインドウ９４ＢにおけるＡＦデータの最小値をＲＷＭＩＮ、Ｌウインドウ９６におけるＡＦデータの最小値をＬＷＭＩＮとすると、左右最小値差ΔＤＭＩＮは、次式、
［数２１］
ΔＤＭＩＮ＝｜ＬＷＭＩＮ−ＲＷＭＩＮ｜    …(25)
により算出される。そして、所定の基準値Ｒ５、Ｒ６（Ｒ５＜Ｒ６）に対して、
［数２２］
ΔＤＭＩＮ＜Ｒ５    …(26)
が成り立つ場合には左右最小値差ΔＤＭＩＮが小さいと判定し、
［数２３］
Ｒ６≧ΔＤＭＩＮ≧Ｒ５    …(27)
が成り立つ場合には左右最小値差ΔＤＭＩＮが大きいと判定する。
［数２４］
ΔＤＭＩＮ＞Ｒ６    …(28)
が成り立つ場合には左右最小値差ΔＤＭＩＮが大きすぎると判定する。
【０２５３】
以上の判定処理により、左右最小値差ΔＤＭＩＮが小さいと判定した場合には、本補正を行わずに次の処理に移行し、左右最小値差ΔＤＭＩＮが大きい（補正に適正）と判定した場合には、本補正を行うため、次のステップＳ３０４の処理に移行する。左右最小値差ΔＤＭＩＮが大きすぎると判定した場合には、測距不能とする（ステップＳ３０６）。
【０２５４】
左右最小値差ΔＤＭＩＮが大きいと判定した場合、次に、ＣＰＵ６０は、Ｒセンサ９４及びＬセンサ９６の採用センサにおける補正範囲のＡＦデータを補正する（ステップＳ３０４）。ＡＦデータの補正は、例えば、Ｒセンサ９４の採用センサにおけるＡＦデータの最小値とＬセンサ９６の採用センサにおけるＡＦデータの最小値との差分量を求め、その差分量が減少するように一方のセンサのＡＦデータに対して他方のセンサのＡＦデータの信号量を加減する。尚、ＡＦデータの補正についての詳細は後述する。また、ＡＦデータの補正範囲は、次のステップＳ３０８の処理における補正後のＡＦデータに基づく相関値演算において所定シフト量範囲の相関値ｆ(n)を算出する際に必要なＡＦデータの範囲である。
【０２５５】
ＡＦデータを補正すると、その補正後のＡＦデータを使用して再度相関値演算（補正後の相関値演算）を行い、相関値ｆ(n)′を求める（ステップＳ３０８）。ＡＦデータ補正後の相関値演算は、全てのシフト量ｎについて行うようにしてもよいが、本実施の形態では、ＡＦデータ補正前の相関値演算において最高相関が得られたシフト量ｎｍｉｎの付近、例えば、シフト量ｎｍｉｎに対して±５の範囲についてのみ行うものとする。
【０２５６】
次に、ＣＰＵ６０は、ＡＦデータ補正後の相関値演算によって得られた相関値ｆ(n)′に基づいて、ＡＦデータ補正後の相関値演算により相関値ｆ(n)′を行ったシフト量の範囲で最小極小値ｆｍｉｎ′及びそのシフト量ｎｍｉｎ′を検出する。そして、最小極小値ｆｍｉｎ′に基づいて、補正後におけるＲセンサ９４のＡＦデータとＬセンサ９６のＡＦデータについて、一致度が低いか高いか、又は一致度が低すぎるかを判定する（ステップＳ３１０）。具体的には、例えば、ＡＦデータ補正後の最小極小値ｆｍｉｎ′が所定の基準値Ｒ７に対して、次式、
［数２５］
ｆｍｉｎ′＞基準値Ｒ７    …(29)
を満たす場合には、一致度が低すぎると判定する。一方、式(29)が成り立たない場合において、ＡＦデータ補正後の最小極小値ｆｍｉｎ′と補正前の最高相関値ｆｍｉｎとが、次式、
［数２６］
ｆｍｉｎ≦ｆｍｉｎ′    …(30)
を満たす場合には、一致度が低いと判定する。式(30)が成り立たず、次式、
［数２７］
ｆｍｉｎ＞ｆｍｉｎ′    …(31)
が成り立つ場合には、一致度が高いと判定する。
【０２５７】
この判定処理により、一致度が低すぎると判定した場合には、この採用センサについて測距不能とする（ステップＳ３０６）。一致度が低いと判定した場合には、以後の処理においてＡＦデータ補正後の相関値演算の結果ではなく、ＡＦデータ補正前の相関値演算の結果を採用することとする（ステップＳ３１２）。一方、一致度が高いと判定した場合には、ＡＦデータ補正後の相関値演算の結果を採用することとする（ステップＳ３１４）。ＡＦデータ補正後の相関値演算の結果を採用することとした場合において、以後の処理の説明で使用する相関値ｆ(n)、最高相関値ｆｍｉｎ及びそのシフト量ｎｍｉｎの用語は、ＡＦデータ補正後の相関値ｆ(n)′、最小極小値ｆｍｉｎ′及びそのシフト量ｎｎｍｉｎ′を示す。
【０２５８】
ここで、上記ステップＳ３０４のＡＦデータの補正について一実施例を説明する。図６３は、ＡＦデータの補正をＲセンサ９４のＡＦデータとＬセンサ９６のＡＦデータの信号量差を補正して行う場合の処理手順を示したフローチャートである。まず、ＣＰＵ６０は、Ｒセンサ９４とＬセンサ９６のうち、ＡＦデータを補正するセンサ（補正センサ）を判定する（ステップＳ３３０）。
【０２５９】
具体的には、最高相関が得られたＲウインドウ内におけるＡＦデータの最小値ＲＭＩＮと最高相関が得られたＬウインドウ内における最小値ＬＭＩＮを比較し、ＲＭＩＮ＞ＬＭＩＮの場合には、Ｒセンサ９４を補正センサとし、ＲＭＩＮ＜ＬＭＩＮの場合には、Ｌセンサ９６を補正センサとする。
【０２６０】
Ｌセンサ９６を補正センサとする場合、Ｒセンサ９４及びＬセンサ９６の補正前のＡＦデータをＲ及びＬ、補正後のＡＦデータをＲＨ及びＬＨとすると、次式、
［数２８］
ＬＨ＝Ｌ−信号量差
ＲＨ＝Ｒ
により求める（ステップＳ３３２）。ここで、信号量差は、ＬＭＩＮ−ＲＭＩＮとする。
【０２６１】
一方、Ｒセンサ９４を補正センサとする場合には、次式、
［数２９］
ＬＨ＝Ｌ
ＲＨ＝Ｒ−信号量差
により求める（ステップＳ３３４）。ここで、信号量差は、ＲＭＩＮ−ＬＭＩＮとする。
【０２６２】
以上のＬ、Ｒチャンネル差補正処理による効果について説明する。図６４は、上記図６２に示したＬ、Ｒチャンネル差補正処理を新方式としてその効果を従来方式と比較して示した図である。新方式は、従来方式と比べると、特に、図６２のステップＳ３０２における補正を行うか否かの判定処理の内容が相違しており、１つ目の従来方式の例（この方式を従来方式(1)とする）としては、新方式のように最高相関値が得られたＲウインドウ９４ＢとＬウインドウ９６Ｂの範囲内におけるＡＦデータの最小値を比較するのではなく、Ｒセンサ９４の採用センサ内における全てのＡＦデータに対する最小値ＲＭＩＮと、Ｌセンサ９６の採用センサ内における全てのＡＦデータに対する最小値ＬＭＩＮとを比較し、その最小値差が所定値よりも大きい場合にＡＦデータを補正する方式をいうものとする。
【０２６３】
２つ目の従来方式の例（この方式を従来方式(2)とする）としては、Ｒセンサ９４とＬセンサ９６のそれぞれの採用センサ内におけるＡＦデータの平均値を求め、その差が所定値よりも大きい場合にＡＦデータを補正する方式がある。平均値が一致するように一方のセンサのＡＦデータを補正する方式をいうものとする。
【０２６４】
例えば、Ｒセンサ９４及びＬセンサ９６の採用センサ（例えば中央エリア）内において図６４（Ａ）、（Ｂ）に示すようなＡＦデータが得られたとする。このＡＦデータの例は本来補正が不要な場合を示したものである。そして、この採用センサにおけるＡＦデータに対して相関値演算を行った結果、ＡＦデータ補正前（補正無し）の相関値分布が同図（Ｃ）の「・」記号で結ばれた分布を示したとする。尚、この補正無しの相関値分布では、最高相関のシフト量ｎｍｉｎはシフト量ｎ＝１０において検出されており、そのときのＲウインドウ９４ＢとＬウインドウ９６Ｂの範囲は、それぞれ同図（Ａ）、（Ｂ）においてＡＦデータの分布が太線で示されている範囲である。
【０２６５】
このような場合に、従来方式(1)によりＡＦデータの補正を行うか否かを判定すると、同図（Ａ）、（Ｂ）の比較から明らかなようにＲセンサ９４とＬセンサ９６のそれぞれの採用センサ内におけるＡＦデータの最小値に差（図中「従来(1)」で示されている差）が生じているため、ＡＦデータの補正（上記信号量差の補正）が行われることになり、その補正後のＡＦデータに基づいて相関値演算を行うと、その相関値分布は、同図（Ｃ）の「△」記号で結ばれた分布を示す。このＡＦデータ補正後に得られた相関値分布では、最小極小値が大きいため、Ｒセンサ９４のＡＦデータとＬセンサ９６のＡＦデータの信号量の一致度が低いと判定され、測距不能と判定される結果となる。尚、従来では、新方式のようにＡＦデータ補正前に相関値演算を行うことはしていないため、一致度が低いと判定した場合に、新方式のようにＡＦデータ補正前の相関値演算の結果を採用するという処置は行われていない。このように、従来方式(1)では、本来測距不能とすべきでないＡＦデータが得られているにもかかわらず、補正を行うことによって測距不能となる不具合が生じる場合がある。
【０２６６】
また、従来方式(2)によりＡＦデータの補正を行うか否かを判定すると、Ｒセンサ９４とＬセンサ９６のそれぞれの採用センサ内におけるＡＦデータの平均値に差（同図（Ａ）、（Ｂ）の比較において「従来(2)」で示されている差）が生じているため、ＡＦデータの補正（上記信号量差の補正）が行われることになり、その補正後のＡＦデータに基づいて相関値演算を行うと、その相関値分布は、同図（Ｃ）の「×」記号で結ばれた相関値分布を示す。このＡＦデータ補正後に得られた相関値分布では、従来方式(1)と同様に最小極小値が大きいため、Ｒセンサ９４のＡＦデータとＬセンサ９６のＡＦデータの信号量の一致度が低いと判定され、測距不能と判定される結果となる。このように、従来方式(2)においても、本来測距不能とすべきでないＡＦデータが得られているにもかかわらず、補正を行うことによって測距不能となる不具合が生じる場合がある。
【０２６７】
以上のような従来方式(1)、(2)に対して、新方式によりＡＦデータの補正を行うか否かを判定すると、採用センサにおいて最高相関値が得られたＲウインドウ９４ＢとＬウインドウ９６Ｂの範囲内ではＡＦデータの最小値に差がないため、補正は行われず、余分な相関値演算を実施する必要がない。従って、従来方式(1)、(2)のような不具合は生じない。仮に補正を行ったとすると、その相関値分布は、同図（Ｃ）の「□」記号で結ばれた分布を示し、従来方式(1)、(2)と同様に一致度が低いと判定される。しかし、この場合においても新方式の場合には、測距不能ではなく、ＡＦデータ補正前の相関値演算の結果を採用するという判断となるため、補正前のＡＦデータが補正無しで測距可能なものである場合には、ＡＦデータを補正することが適切でなかった場合であっても測距不能となる不具合を回避することができる。
【０２６８】
次に、上記ステップＳ３０４におけるＡＦデータ補正において、図６３のフローチャートで示した信号量差補正の代わりに他の補正手段を採用する場合について説明する。ここで説明するＡＦデータの補正は、Ｒセンサ９４及びＬセンサ９６の採用センサにおけるＡＦデータの信号量差のみではなく、コントラスト比の補正も行うものである。補正はＲセンサ９４のＡＦデータとＬセンサ９６のＡＦデータのうち、ダイナミックレンジを超えない方のセンサのＡＦデータに対して行う。以下、具体的に補正処理の内容を説明する。
【０２６９】
まず、ＡＦデータの補正式において使用するコントラスト補正量とオフセット補正量について説明する。尚、オフセット補正量は、上記信号量差を補正するための補正量に相当するものである。ここで、コントラスト補正量をＤＬＶＣＯＭＰＡ、オフセット補正量をＤＬＶＣＯＭＰＢ、Ｒセンサ９４の採用センサにおけるＡＦデータの最大値及び最小値をそれぞれＲ１ＭＡＸ及びＲ１ＭＩＮ、Ｌセンサ９６の採用センサにおけるＡＦデータの最大値及び最小値をそれぞれＬ１ＭＡＸ及びＬ１ＭＩＮ、最高相関が得られたＲウインドウ９４Ｂ及びＬウインドウ９６ＢにおけるＡＦデータの最小値をそれぞれＲ２ＭＩＮ及びＬ２ＭＩＮとする。
【０２７０】
コントラスト補正量ＤＬＶＣＯＭＰＡとオフセット補正量ＤＬＶＣＯＭＰＢを求める式は、最高相関が得られたＲウインドウ９４ＢにおけるＡＦデータの最小値Ｒ２ＭＩＮとＲウインドウ９４ＢにおけるＡＦデータの最小値Ｒ２ＭＩＮとの大小関係によって異なる。次式、
［数３０］
Ｌ２ＭＩＮ≦Ｒ２ＭＩＮ    …(32)
が成り立つ場合、コントラスト補正量ＤＬＶＣＯＭＰＡとオフセット補正量ＤＬＶＣＯＭＰＢは、次式、
［数３１］
ＤＬＶＣＯＭＰＡ＝（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）／（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）    …(33)
ＤＬＶＣＯＭＰＢ＝Ｒ１ＭＩＮ−｛（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）／（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）｝×Ｌ１ＭＩＮ    …(34)
により求められる。
【０２７１】
一方、次式、
［数３２］
Ｌ２ＭＩＮ＞Ｒ２ＭＩＮ    …(35)
が成り立つ場合、コントラスト補正量ＤＬＶＣＯＭＰＡとオフセット補正量ＤＬＶＣＯＭＰＢは、次式、
［数３３］
ＤＬＶＣＯＭＰＡ＝（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）／（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）    …(36)
ＤＬＶＣＯＭＰＢ＝Ｌ１ＭＩＮ−｛（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）／（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）｝×Ｒ１ＭＩＮ    …(37)
により求められる。
【０２７２】
上式によりコントラスト補正量ＤＬＶＣＯＭＰＡ及びオフセット補正量ＤＬＶＣＯＭＰＢを求めると、次にコントラスト補正量ＤＬＶＣＯＭＰＡ及びオフセット補正量ＤＬＶＣＯＭＰＢに基づいて採用センサにおける補正範囲のＡＦデータを補正する演算処理について説明する。ここで、Ｒセンサ９４及びＬセンサ９６の補正前のＡＦデータをＲ及びＬ、補正後のＡＦデータをＲＨ及びＬＨとする。
【０２７３】
次式、
［数３４］
Ｌ２ＭＩＮ≦Ｒ２ＭＩＮ    …(38)
が成り立つ場合、補正後のＡＦデータＲＨ、ＬＨは、上式(33)、(34)により求めたコントラスト補正量ＤＬＶＣＯＭＰＡとオフセット補正量ＤＬＶＣＯＭＰＢを用いて、次の補正式、
［数３５］
ＬＨ＝ＤＬＶＣＯＭＰＡ×Ｌ＋ＤＬＶＣＯＭＰＢ    …(39)
ＲＨ＝Ｒ    …(40)
により算出される。
【０２７４】
一方、次式、
［数３６］
Ｌ２ＭＩＮ＞Ｒ２ＭＩＮ    …(41)
の場合、補正後のＡＦデータＲＨ、ＬＨは、上式(36)、(37)により求めたコントラスト補正量ＤＬＶＣＯＭＰＡとオフセット補正量ＤＬＶＣＯＭＰＢを用いて、次の補正式、
［数３７］
ＬＨ＝Ｌ    …(42)
ＲＨ＝ＤＬＶＣＯＭＰＡ×Ｒ＋ＤＬＶＣＯＭＰＢ    …(43)
により算出される。
【０２７５】
以上のＡＦデータ補正の処理手順を図６５のフローチャートに示す。ＣＰＵ６０は、上記図７ステップＳ１６の相関値演算処理により最高相関が得られたＲウインドウ９４Ｂ及びＬウインドウ９６ＢにおけるＡＦデータの最小値Ｒ２ＭＩＮ、Ｌ２ＭＩＮについて、上式(32)、即ち、
［数３８］
Ｌ２ＭＩＮ≦Ｒ２ＭＩＮ    …(32)
が成り立つか否かを判定する（ステップＳ３５０）。ＹＥＳと判定した場合、次に、コントラスト補正量ＤＬＶＣＯＭＰＡを上式(33)、即ち、
［数３９］
ＤＬＶＣＯＭＰＡ＝（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）／（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）    …(33)
により算出する（ステップＳ３５２）。また、オフセット補正量ＤＬＶＣＯＭＰＢを上式(34)、即ち、
［数４０］
ＤＬＶＣＯＭＰＢ＝Ｒ１ＭＩＮ−｛（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）／（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）｝×Ｌ１ＭＩＮ    …(34)
により算出する（ステップＳ３５４）。
【０２７６】
そして、補正後のＡＦデータＲＨ、ＬＨを上式(39)、(40)、即ち、
［数４１］
ＬＨ＝ＤＬＶＣＯＭＰＡ×Ｌ＋ＤＬＶＣＯＭＰＢ    …(39)
ＲＨ＝Ｒ    …(40)
により算出する（ステップＳ３５６）。
【０２７７】
一方、上記ステップＳ３５０においてＮＯと判定した場合には、コントラスト補正量ＤＬＶＣＯＭＰＡを上式(36)、即ち、
［数４２］
ＤＬＶＣＯＭＰＡ＝（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）／（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）    …(36)
により算出する（ステップＳ３５８）。また、オフセット補正量ＤＬＶＣＯＭＰＢを、上式(37)、即ち、
［数４３］
ＤＬＶＣＯＭＰＢ＝Ｌ１ＭＩＮ−｛（Ｌ１ＭＡＸ−Ｌ１ＭＩＮ）／（Ｒ１ＭＡＸ−Ｒ１ＭＩＮ）｝×Ｒ１ＭＩＮ    …(37)
により算出する（ステップＳ３６０）。
【０２７８】
そして、補正後のＡＦデータＬＨ、ＲＨを上式(42)、(43)、即ち、
［数４４］
ＬＨ＝Ｌ    …(42)
ＲＨ＝ＤＬＶＣＯＭＰＡ×Ｒ＋ＤＬＶＣＯＭＰＢ    …(43)
により算出する（ステップＳ３６２）。
【０２７９】
次に、ここで説明したコントラスト補正とオフセット補正（信号量差補正）を行う場合のＡＦデータ補正処理の効果について上述の信号量差補正のみ行うＡＦデータ補正処理（図６３参照）と比較して説明する。尚、前者を新方式、後者を従来方式（実施例１）という。
【０２８０】
まず、Ｒセンサ９４とＬセンサ９６のうち一方のセンサが明るい場合（太陽光等が片側のセンサに多く照射された場合→信号量差有り、コントラスト差無しの場合）における補正結果を例示する。図６６（Ａ）、（Ｂ）は、Ｒセンサ９４及びＬセンサ９６の採用センサ（図では中央エリア）における補正前（補正無し）のＡＦデータの分布と従来方式による補正後のＡＦデータの分布を示しており、補正は、Ｒセンサ９４のＡＦデータに対して行われている。
【０２８１】
一方、図６７（Ａ）、（Ｂ）は、図６６と同じ補正前（補正無し）のＡＦデータの分布と新方式による補正後のＡＦデータの分布を示しており、補正は、Ｌセンサ９６のＡＦデータに対して行われている。
【０２８２】
そして、図６８は、図６６及び図６７における補正前のＡＦデータと、新方式及び従来方式による補正後のＡＦデータに基づいてそれぞれ相関値ｆ(n)を算出した場合の相関値分布を示している。
【０２８３】
図６８の相関値分布から分かるように、補正前におけるＲセンサ９４のＡＦデータとＬセンサ９６のＡＦデータとにコントラスト差が無い場合には、従来方式と新方式のいずれのＡＦデータ補正でも同じ結果を示し、補正無しの場合に比べてＲセンサ９４のＡＦデータとＬセンサ９６のＡＦデータの信号量の一致度が向上している。図６９は、実際に被写体を至近から無限遠までの距離に配置し、その距離（横軸）に対して、オートフォーカスにより設定される撮影レンズの設定距離（縦軸）を、ＡＦデータの補正を行わない場合（補正無しの場合）、新方式によりＡＦデータを補正した場合、従来方式によりＡＦデータを補正した場合、及び、設計値の場合について示したものである。この図から明らかなように、補正無しの場合には、設計値とのずれを生じているが、従来方式及び新方式による場合には撮影レンズの設定距離が設計値とほぼ一致していることが分かる。以上のことからＲセンサ９４とＬセンサ９６とにコントラスト差が無い場合には、従来方式と新方式のいずれのＡＦデータ補正処理でも適切な結果が得られる。
【０２８４】
しかしながら、Ｒセンサ９４とＬセンサ９６のうち一方のセンサが暗い場合  （片側のセンサを指等で隠してしまった場合→信号量差及びコントラスト差有りの場合）には、新方式の方が従来方式に比べてより有利な結果が得られる。次に、この場合における補正結果を例示する。図７０（Ａ）、（Ｂ）は、Ｒセンサ９４及びＬセンサ９６の採用センサ（図では中央エリア）における補正前（補正無し）のＡＦデータの分布と従来方式による補正後のＡＦデータの分布を示しており、補正は、Ｒセンサ９４のＡＦデータに対して行われている。
【０２８５】
一方、図７１（Ａ）、（Ｂ）は、図７０と同じ補正前（補正無し）のＡＦデータの分布と新方式による補正後のＡＦデータの分布を示しており、補正は、Ｌセンサ９６のＡＦデータに対して行われている。
【０２８６】
そして、図７２は、図７０及び図７１における補正前のＡＦデータ、新方式及び従来方式による補正後のＡＦデータに基づいてそれぞれ相関値ｆ(n)を算出した場合の相関値分布を示している。
【０２８７】
図７２の相関値分布から分かるように従来方式に比べて新方式によるＡＦデータ補正の方が最小極小値が小さな値を示し、Ｒセンサ９４のＡＦデータとＬセンサ９６のＡＦデータの信号量の一致度がより向上している。図７３は、実際に被写体を至近から無限遠までの距離に配置し、その距離（横軸）に対して、ＡＦにより設定される撮影レンズの設定距離（縦軸）を、ＡＦデータの補正を行わない場合（補正無しの場合）、新方式によりＡＦデータを補正した場合、従来方式によりＡＦデータを補正した場合、及び、設計値の場合について示したものである。この図から明らかなように、補正無しの場合及び従来方式による場合には撮影レンズの設定距離が設計値とのずれを生じているが、新方式による場合には、撮影レンズの設定距離が設計値とほぼ一致していることが分かる。以上のことからＲセンサ９４とＬセンサ９６とにコントラスト差が有る場合には、従来方式よりも新方式によるＡＦデータ補正処理の方が適切な結果が得られる。従って、コントラスト差の有無に関係なく適切な結果が得られる新方式は従来方式に比べてより好適である。
【０２８８】
尚、上記コントラスト補正量ＤＬＶＣＯＭＰＡやオフセット補正量ＤＬＶＣＯＭＰＢを算出する際におけるＲ１ＭＡＸ及びＲ１ＭＩＮ、Ｌ１ＭＡＸ及びＬ１ＭＩＮはそれぞれＲセンサ９４、Ｌセンサ９６の採用センサにおけるＡＦデータの最大値及び最小値としたが、これに限らず、Ｒセンサ９４、Ｌセンサ９６のＡＦデータを補正する範囲におけるＡＦデータの最大値及び最小値としてもよい。さらに、Ｒ１ＭＡＸ、Ｒ１ＭＩＮ、Ｌ１ＭＡＸ、Ｌ１ＭＩＮの代わりにＲ２ＭＡＸ、Ｒ２ＭＩＮ、Ｌ２ＭＡＸ、Ｌ２ＭＩＮを用いてもよい。また、上式(32)、(35)、(38)、(41)におけるＲ２ＭＩＮ、Ｌ２ＭＩＮは、それぞれ最高相関が得られたＲウインドウ９４Ｂ及びＬウインドウ９６ＢにおけるＡＦデータの最小値としたが、Ｒ２ＭＩＮ、Ｌ２ＭＩＮの代わりにＡＦデータを補正する範囲におけるＡＦデータの最小値を用いてもよい。
【０２８９】
｛極小値判定処理｝
次に、極小値判定の処理について説明する。上記図７ステップＳ１６の相関値演算処理や、図７ステップＳ２０のＬ、Ｒチャンネル差補正処理には、相関値分布から相関値ｆ(n)の極小値を検出する処理が含まれるが、その際に、ここで説明する極小値判定の処理により極小値が存在するか否かの判断が行われる。基本的に、極小値と判断される相関値は、そのシフト量の両側に隣接するシフト量におけるいずれの相関値よりも小さくなるものであり、極小値のうち最小のものが最小極小値となる。
【０２９０】
ところで、被写体が測距可能な至近よりも近距離に存在する場合、相関値の極小値は本来存在しない。図７４は、この場合において、相関値ｆ(n)をシフト量ｎの最大値である３８よりも更に近距離側のシフト量まで求めたと仮定した場合の相関値分布の一例を示した図である。このような相関値分布においてはシフト量ｎ＝−２〜３８の範囲に極小値が存在しないため、この採用センサでは測距不能と判定される。この判定は適切である。
【０２９１】
しかしながら、このように被写体が至近よりも近距離に存在する場合においても実際には図７５や図７６に示すように極小値が存在してしまう場合がある。尚、図７５は高コントラストの場合、図７６は低コントラストの場合を示している。
【０２９２】
これに対して極小値判定の基本的判定内容として、極小値が所定値よりも大きい場合には極小値でないと判定することとしているため、例えばその所定値を１０００とした場合、図７５の場合には極小値は存在せず、適切に測距不能と判定される。
【０２９３】
一方、図７６の場合には、極小値が１０００より小さい値で存在するため、上記判定内容では極小値が存在すると判定される不具合が生じる。
【０２９４】
そこで、本極小値判定では、次のような判定を行い、上記不具合を解消する。被写体が測距可能な範囲内に存在する場合、通常、相関値ｆ(n)の最小極小値は最小値でもある。これに対して、最小極小値のシフト量よりも至近側で最小値が検出された場合には、至近よりもさらに近距離側に被写体があると予想できる。従って、最小極小値のシフト量よりも至近側（シフト量が小さい程、至近側）に最小極小値より小さい相関値が存在する場合には、近距離警告又は測距不能とする。
【０２９５】
一方、最小極小値のシフト量よりも遠距離側に最小値があった場合は、何らかの異常（シフト量ｎ＝０で無限遠となるので、無限遠より更に無限遠はありえない）であると判断できるため、測距不能とする。
【０２９６】
｛補間値演算処理（図７ステップＳ２２）の詳細｝
次に、図７のステップＳ２２における補間値演算処理について説明する。補間値演算処理は、各分割エリアにおいて最高相関（最高相関値ｆｍｉｎ）が得られたシフト量ｎｍｉｎに対して周辺の相関値ｆ(n)から更に精度の高い最高相関のシフト量を検出する処理である。尚、以下の説明において補間値演算処理によって検出する最高相関のシフト量を真の最高相関のシフト量といい、その値をｘで示す。
【０２９７】
ＣＰＵ６０は、この補間値演算処理において次のような処理を行う。図７７に示すように採用センサにおいて最高相関（最高相関値ｆｍｉｎ（ｆ(ｎｍｉｎ)）が得られたシフト量ｎｍｉｎに対して、−１のシフト量ｎｍｉｎ−１の相関値ｆ（ｎｍｉｎ−１）と＋１のシフト量ｎｍｉｎ＋１の相関値ｆ（ｎｍｉｎ＋１）とが、次式、
［数４５］
ｆ（ｎｍｉｎ−１）＞ｆ（ｎｍｉｎ＋１）    …(44)
の関係を満たしたとする。この場合、ＣＰＵ６０は、シフト量ｎｍｉｎとシフト量ｎｍｉｎ−１の相関値ｆ（ｎｍｉｎ）及びｆ（ｎｍｉｎ−１）を通る直線Ｌ１と、シフト量ｎｍｉｎ＋１とシフト量ｎｍｉｎ＋２の相関値ｆ（ｎｍｉｎ＋１）及びｆ（ｎｍｉｎ＋２）を通る直線Ｌ２との交点を求める。そして、その交点を真の最高相関のシフト量ｘとする。
【０２９８】
一方、図７８に示すように最高相関が得られたシフト量ｎｍｉｎに対して−１のシフト量ｎｍｉｎ−１の相関値ｆ（ｎｍｉｎ−１）と＋１のシフト量ｎｍｉｎ＋１の相関値ｆ（ｎｍｉｎ＋１）とが、次式、
［数４６］
ｆ（ｎｍｉｎ−１）≦ｆ（ｎｍｉｎ＋１）    …(45)
の関係を満たしたとする。この場合、ＣＰＵ６０は、シフト量ｎｍｉｎ−１とシフト量ｎｍｉｎ−２の相関値ｆ（ｎｍｉｎ−１）及びｆ（ｎｍｉｎ−２）を通る直線Ｌ１と、シフト量ｎｍｉｎとシフト量ｎｍｉｎ＋１の相関値ｆ（ｎｍｉｎ）及びｆ（ｎｍｉｎ＋１）を通る直線Ｌ２との交点を求める。そして、その交点を真の最高相関のシフト量ｘとする。
【０２９９】
ただし、図７９に示すようにシフト量ｎの最小値（シフト量ｎ＝−２）が相関値ｆ(n)の最小値、又は、図８０に示すようにシフト量ｎの最大値（シフト量ｎ＝３８）が相関値ｆ(n)の最小値であった場合、これらの最小値は極小値とはならないため、シフト量ｎの最小値（シフト量ｎ＝−２）又は最大値（シフト量ｎ＝３８）を最高相関のシフト量ｎｍｉｎとして補間値演算を行う場合はない。この場合には測距不能となる。
【０３００】
また、図８１（Ａ）、（Ｂ）に示すようにシフト量ｎの最小値（シフト量ｎ＝−２）に対して＋１のシフト量（シフト量ｎ＝−１）が最高相関のシフト量ｎｍｉｎであった場合において、図８１（Ａ）のように上式(44)の関係が成り立つ場合（図７７の場合）には、補間値演算を行うことができる。しかし、図８１（Ｂ）のように上式(45)の関係が成り立つ場合（図７８の場合）には、上記直線Ｌ１が定まらないため補間値演算を行うことなく測距不能とする。
【０３０１】
また、図８２（Ａ）、（Ｂ）に示すようにシフト量ｎの最大値−１（シフト量ｎ＝３７）が最高相関のシフト量ｎｍｉｎであった場合において、図８２（Ｂ）のように上式(45)の関係が成り立つ場合（図７８の場合）には、補間値演算を行うことができる。しかし、図８２（Ａ）のように上式(44)の関係が成り立つ場合（図７７の場合）には、上記直線Ｌ２が定まらないため補間値演算を行うことなく測距不能とする。
【０３０２】
以上の処理は、原則的な処理であり、次の場合には他の処理により真の最高相関のシフト量ｘを求める。例えば、最高相関が得られたシフト量ｎｍｉｎに対して、±２の範囲のシフト量ｎｍｉｎ−２、ｎｍｉｎ−１、ｎｍｉｎ＋１、ｎｍｉｎ＋２の相関値ｆ(n)を比較した場合に、シフト量ｎｍｉｎを含めて連続する３点のシフト量ｎのみで相関値ｆ(n)が近い値を示したとする。この場合には、その３点の中央点における相関値がシフトしていると考えられる。
【０３０３】
そこで、この場合には、上述の補間値演算処理の代わりに、次に説明する補間値演算処理により真の最高相関のシフト量ｘを検出する。尚、上述した補間値演算処理を補間値通常演算処理といい、以下で説明する補間値演算処理を補間値別演算処理という。また、相関値ｆ(n)が近い値か否かの具体的判断については後述する。
【０３０４】
上述のように連続する３点のシフト量ｎにおいてのみ相関値ｆ(n)が近い値を示す場合、その３点のシフト量ｎのうち中央点の相関値が、本来、最高相関値ｆｍｉｎとして検出されるべきものであったと考えられる。そこで、ＣＰＵ６０は、３点のシフト量ｎのうち最小のシフト量ｎｓと、そのシフト量ｎｓに対して−１のシフト量ｎｓ−１との相関値ｆ(ｎｓ)及びｆ(ｎｓ−１)を通る直線Ｌ１と、３点のシフト量ｎのうち最大のシフト量ｎｌとそのシフト量ｎｌに対して＋１のシフト量ｎｌ＋１との相関値ｆ(ｎｌ)及びｆ(ｎｌ＋１)を通る直線Ｌ２との交点を求める。そして、その交点を真の最高相関のシフト量ｘとする。
【０３０５】
例えば、図８３に示すように最高相関のシフト量ｎｍｉｎが０で検出され、最高相関値ｆ(０)とそのシフト量ｎｍｉｎに対して＋１と＋２のシフト量１、２における相関値ｆ(１)、ｆ(２)が近い値になったとする。この場合、シフト量ｎ＝−１と０の相関値を通る直線Ｌ１と、シフト量ｎ＝２と３の相関値を通る直線Ｌ２との交点を求め、その交点をシフト量ｘとする。尚、この例のように最高相関のシフト量ｎｍｉｎに対して＋１と＋２のシフト量における相関値が最高相関値に近い値となった場合の処理を処理タイプ１という。
【０３０６】
また、図８４に示すように最高相関のシフト量ｎｍｉｎが０で検出され、最高相関値ｆ(０)とそのシフト量ｎｍｉｎに対して−１と＋１のシフト量−１、１における相関値ｆ(−１)、ｆ(１)が近い値になったとする。この場合、シフト量ｎ＝−２と−１の相関値を通る直線Ｌ１と、シフト量ｎ＝１と２の相関値を通る直線Ｌ２との交点を求め、その交点をシフト量ｘとする。尚、この例のように最高相関のシフト量ｎｍｉｎに対して−１と＋１のシフト量における相関値が最高相関値に近い値となった場合の処理を処理タイプ２という。
【０３０７】
また、図８５に示すように最高相関のシフト量ｎｍｉｎが０で検出され、最高相関値ｆ(０)とそのシフト量ｎｍｉｎに対して−２と−１のシフト量−２、−１における相関値ｆ(−２)、ｆ(−１)が近い値になったとする。この場合、シフト量ｎ＝−３と−２の相関値を通る直線Ｌ１と、シフト量ｎ＝０と１の相関値を通る直線Ｌ２との交点を求め、その交点をシフト量ｘとする。尚、この例のように最高相関のシフト量ｎｍｉｎに対して−２と−１のシフト量において相関値が最高相関値に近い値となった場合の処理を処理タイプ３という。
【０３０８】
図８６は、補間値演算処理において上記補間値通常演算及び補間値別演算の処理タイプ１〜３を判別する手順を示したフローチャートである。まず、ＣＰＵ６０は、最高相関値ｆ(ｎｍｉｎ)と、最高相関のシフト量ｎｍｉｎに対して＋１のシフト量ｎｍｉｎ＋１における相関値ｆ(ｎｍｉｎ＋１)との相関値差ｆ(ｎｍｉｎ＋１)−ｆ(ｎｍｉｎ)が基準値Ｒ７に対して、次式、
［数４７］
ｆ(ｎｍｉｎ＋１)−ｆ(ｎｍｉｎ)＜Ｒ７
を満たすか否かを判定する（ステップＳ４００）。尚、基準値Ｒ７は、２つの相関値が近い値であると判定できる上限値である。もし、ＮＯと判定した場合には、次に、最高相関値ｆ(ｎｍｉｎ)と、シフト量ｎｍｉｎに対して−１のシフト量ｎｍｉｎ−１における相関値ｆ(ｎｍｉｎ−１)との相関値差ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ)が基準値Ｒ７に対して、次式、
［数４８］
ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ)＜Ｒ７
を満たすか否かを判定する（ステップＳ４０２）。もし、この判定処理においてもＮＯと判定した場合には、補間値通常演算処理を行い（ステップＳ４３２）、真の最高相関のシフト量ｘを検出してこの補間値演算処理を終了する。
【０３０９】
一方、ステップＳ４０２においてＹＥＳと判定した場合、次に、最高相関のシフト量ｎｍｉｎに対して−３のシフト量ｎｍｉｎ−３における相関値ｆ(ｎｍｉｎ−３)が存在するか否かを判定する（ステップＳ４０４）。ＮＯと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＹＥＳと判定した場合には、シフト量ｎｍｉｎ−１における相関値ｆ(ｎｍｉｎ−１)と、シフト量ｎｍｉｎ−２における相関値ｆ(ｎｍｉｎ−２)との相関値差ｆ(ｎｍｉｎ−２)−ｆ(ｎｍｉｎ−１)が基準値Ｒ７に対して、次式、
［数４９］
ｆ(ｎｍｉｎ−２)−ｆ(ｎｍｉｎ−１)＜Ｒ７
を満たすか否かを判定する（ステップＳ４０６）。もし、この判定処理においてＮＯと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＹＥＳと判定した場合には、シフト量ｎｍｉｎ−２における相関値ｆ(ｎｍｉｎ−２)とシフト量ｎｍｉｎ−３における相関値ｆ(ｎｍｉｎ−３)との相関値差ｆ(ｎｍｉｎ−３)−ｆ(ｎｍｉｎ−２)が基準値Ｒ７に対して、次式、
［数５０］
ｆ(ｎｍｉｎ−３)−ｆ(ｎｍｉｎ−２)＜Ｒ７
を満たすか否かを判定する（ステップＳ４０８）。もし、この判定処理においてＹＥＳと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＮＯと判定した場合には、シフト量ｎｍｉｎ＋１における相関値ｆ(ｎｍｉｎ＋１)とシフト量ｎｍｉｎ−２における相関値ｆ(ｎｍｉｎ−２)との相関値差ｆ(ｎｍｉｎ＋１)−ｆ(ｎｍｉｎ−２)が基準値Ｒ７に対して、次式、
［数５１］
ｆ(ｎｍｉｎ＋１)−ｆ(ｎｍｉｎ−２)＜Ｒ７
を満たすか否かを判定する（ステップＳ４１０）。もし、この判定処理においてＮＯと判定した場合には、処理タイプ３の補間値別演算処理を行う（ステップＳ４１２）。即ち、図８５に示したように相関値ｆ(ｎｍｉｎ−１)付近に極小値  （真の最高相関値）が存在すると想定し、相関値ｆ(ｎｍｉｎ−３)、ｆ(ｎｍｉｎ−２)、ｆ(ｎｍｉｎ)、ｆ(ｎｍｉｎ＋１)に基づいてシフト量ｘを求める。
【０３１０】
一方、ステップＳ４１０においてＹＥＳと判定した場合には、処理タイプ２の補間値別演算処理を行う（ステップＳ４２０）。即ち、図８４に示したように相関値ｆ(ｎｍｉｎ)付近に極小値（真の最高相関値）が存在すると想定し、相関値ｆ(ｎｍｉｎ−２)、ｆ(ｎｍｉｎ−１)、ｆ(ｎｍｉｎ＋１)、ｆ(ｎｍｉｎ＋２)に基づいてシフト量ｘを求める。
【０３１１】
上記ステップＳ４００においてＹＥＳと判定した場合には、ＣＰＵ６０は、最高相関値ｆ(ｎｍｉｎ)と、最高相関のシフト量ｎｍｉｎに対して−１のシフト量ｎｍｉｎ−１における相関値差ｆ(ｎｍｉｎ−１)との相関値差ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ)が基準値Ｒ７に対して、次式、
［数５２］
ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ)＜Ｒ７
を満たすか否かを判定する（ステップＳ４１４）。ＹＥＳと判定した場合、次に、シフト量ｎｍｉｎ−１における相関値ｆ(ｎｍｉｎ−１)と、シフト量ｎｍｉｎ−２における相関値ｆ(ｎｍｉｎ−２)との相関値差ｆ(ｎｍｉｎ−２)−ｆ(ｎｍｉｎ−１)が基準値Ｒ７に対して、次式、
［数５３］
ｆ(ｎｍｉｎ−２)−ｆ(ｎｍｉｎ−１)＜Ｒ７
を満たすか否かを判定する（ステップＳ４１６）。もし、この判定処理においてＹＥＳと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＮＯと判定した場合には、次に、シフト量ｎｍｉｎ＋１における相関値ｆ(ｎｍｉｎ＋１)と、シフト量ｎｍｉｎ＋２における相関値ｆ(ｎｍｉｎ＋２)との相関値差ｆ(ｎｍｉｎ＋２)−ｆ(ｎｍｉｎ＋１)が基準値Ｒ７に対して、次式、
［数５４］
ｆ(ｎｍｉｎ＋２)−ｆ(ｎｍｉｎ＋１)＜Ｒ７
を満たすか否かを判定する（ステップＳ４１８）。もし、この判定処理においてＹＥＳと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＮＯと判定した場合には、処理タイプ２の補間値別演算処理を行う（ステップＳ４２０）。
【０３１２】
上記ステップＳ４１４においてＮＯと判定した場合、ＣＰＵ６０は、最高相関のシフト量ｎｍｉｎに対して−３のシフト量ｎｍｉｎ−３における相関値ｆ(ｎｍｉｎ−３)が存在するか否かを判定する（ステップＳ４２２）。ＮＯと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＹＥＳと判定した場合には、シフト量ｎｍｉｎ＋１における相関値ｆ(ｎｍｉｎ＋１)と、シフト量ｎｍｉｎ＋２における相関値ｆ(ｎｍｉｎ＋２)との相関値差ｆ(ｎｍｉｎ＋２)−ｆ(ｎｍｉｎ＋１)が基準値Ｒ７に対して、次式、
［数５５］
ｆ(ｎｍｉｎ＋２)−ｆ(ｎｍｉｎ＋１)＜Ｒ７
を満たすか否かを判定する（ステップＳ４２４）。ＮＯと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＹＥＳと判定した場合には、シフト量ｎｍｉｎ＋２における相関値ｆ(ｎｍｉｎ＋２)と、シフト量ｎｍｉｎ＋３における相関値ｆ(ｎｍｉｎ＋３)との相関値差ｆ(ｎｍｉｎ＋３)−ｆ(ｎｍｉｎ＋２)が基準値Ｒ７に対して、次式、
［数５６］
ｆ(ｎｍｉｎ＋３)−ｆ(ｎｍｉｎ＋２)＜Ｒ７
を満たすか否かを判定する（ステップＳ４２６）。もし、ＹＥＳと判定した場合には、補間値通常演算処理を行う（ステップＳ４３２）。一方、ＮＯと判定した場合には、次に、シフト量ｎｍｉｎ−１における相関値ｆ(ｎｍｉｎ−２)と、シフト量ｎｍｉｎ＋２における相関値ｆ(ｎｍｉｎ＋２)との相関値差ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ＋２)が基準値Ｒ７に対して、次式、
［数５７］
ｆ(ｎｍｉｎ−１)−ｆ(ｎｍｉｎ＋２)＜Ｒ７
を満たすか否かを判定する（ステップＳ４２８）。もし、ＮＯと判定した場合には、処理タイプ２の補間値別演算処理を行う（ステップＳ４２０）。一方、ＹＥＳと判定した場合には、処理タイプ１の補間値別演算処理を行う（ステップＳ４３０）。即ち、図８３に示したように相関値ｆ(ｎｍｉｎ＋１)付近に極小値（真の最高相関値）が存在すると想定し、相関値ｆ(ｎｍｉｎ−１)、ｆ(ｎｍｉｎ)、ｆ(ｎｍｉｎ＋２)、ｆ(ｎｍｉｎ＋３)に基づいてシフト量ｘを求める。
【０３１３】
｛ＡＦエラー処理（図７ステップＳ２４）の詳細｝
次に、図７のステップＳ２４におけるＡＦエラー処理について説明する。ＡＦエラー処理は、測距エリア設定処理（図７ステップＳ１０参照）において３エリア設定又は５エリア設定された測距エリアの全ての分割エリアで測距不能と判定されると、予め設定した被写体距離にピントを合わせるように撮影レンズを固定焦点にセットする処理である。尚、撮影レンズを固定焦点にセットするＣＰＵ６０の処理を固定焦点処理といい、以下、この固定焦点処理について説明する。
【０３１４】
測距エリアの全ての分割エリアで測距不能と判定された場合、ＣＰＵ６０は測距不能と判定された原因やフイルム感度等に応じて図８７及び図８８のフローチャートに示すように予め決められた固定焦点に撮影レンズを設定する。
【０３１５】
まず、ＣＰＵ６０は、測距エリアの全ての分割エリアにおいて測距不能と判定された場合、ＡＦプレ発光を行ったか否かを判定する（ステップＳ４５０）。ＮＯと判定した場合には、センサ感度を高感度と低感度のいずれに設定していたかを判定する（ステップＳ４５２）。低感度に設定していたと判定した場合には、撮影レンズを固定焦点６ｍに設定する（ステップＳ４５４）
一方、ステップＳ４５２においてセンサ感度を高感度に設定していたと判定した場合には、図８８のフローチャートに移行し、フイルム感度がＩＳＯ４００未満かＩＳＯ４００以上かを判定する（ステップＳ４６４）。ＩＳＯ４００未満と判定した場合には、撮影レンズを固定焦点３ｍに設定する（ステップＳ４６６）。一方、ＩＳＯ４００以上と判定した場合には、撮影レンズを固定焦点６ｍに設定する（ステップＳ４６８）。
【０３１６】
上記ステップＳ４５０においてＹＥＳと判定した場合、ＣＰＵ６０は、次に測距エリアが５エリア設定か３エリア設定かを判定する（ステップＳ４５６）。５エリア設定と判定した場合には、それら全ての分割エリアにおいて測距不能と判定された原因が信号量不足（被写体が暗いこと）であったか否かを判定する（ステップＳ４５８）。ＹＥＳと判定した場合には、撮影レンズを無限遠位置に設定する（ステップＳ４６０）。一方、ＮＯと判定した場合には、上記図８８のフローチャートの処理に移行し、フイルム感度に応じた固定焦点に撮影レンズを設定する（詳細は省略）。
【０３１７】
上記ステップＳ４５６において３エリア設定と判定した場合も５エリア設定の場合と同様にそれら全ての分割エリアにおいて測距不能と判定された原因が信号量不足であったか否かを判定する（ステップＳ４６２）。ＹＥＳと判定した場合には、撮影レンズを無限遠位置に設定する（ステップＳ４６０）。一方、ＮＯと判定した場合には、上記図８８のフローチャートの処理に移行し、フイルム感度に応じた固定焦点に撮影レンズを設定する（詳細は省略）。
【０３１８】
｛エリア選択処理（図７ステップＳ２８）の詳細｝
次に、図７のステップＳ２８におけるエリア選択処理について説明する。エリア選択処理は、測距エリアの各分割エリアごとに算出された被写体距離のうち、どの分割エリアの被写体距離を撮影レンズのピント合わせに採用するかを選択する処理である。原則的には、測距不能と判定された分割エリア以外の分割エリアで算出された被写体距離のうち最も近いものが採用される。尚、各分割エリアにおける被写体距離は、図７のステップＳ２２における補間値演算処理により求められた真の最高相関のシフト量ｘに基づいて、図７のステップＳ２６における距離算出処理により求められる。
【０３１９】
一方、例外として、他の分割エリアと比較して左エリア又は右エリアのいずれか一方の被写体距離だけが極めて近距離となった場合には、その被写体距離は採用せず、他の分割エリアの被写体距離のうち最も近いものを採用する。
【０３２０】
具体的に説明すると、被写体距離を超至近距離、近距離、中距離以遠の３区分に分割する基準値１、２を予め設定しておく。尚、基準値１は例えば５０ｃｍ  （近距離警告が発生する距離）、基準値２は例えば４ｍに設定される。今、測距エリアが５エリア設定となっている場合において、中央エリア、左中エリア、左エリア、右中エリア、右エリアのそれぞれにおいて被写体距離が算出されたとする。そして、左エリア又は右エリアのいずれか一方のみの被写体距離が基準値１より近い超至近距離となり、それ以外の分割エリア（左エリアと右エリアのうち被写体距離が超至近距離でない方の分割エリアも含む）の被写体距離が基準値２よりも遠い中距離以遠となったとする。この場合、超至近距離となった左エリア又は右エリアの被写体距離を採用せず、それ以外の分割エリアの被写体距離のうち最も近いものを採用する。もし、超至近距離となった左エリア又は右エリア以外の分割エリアにおいて１つでも超至近距離、又は、近距離となった被写体距離がある場合には、原則通り、全ての分割エリアの被写体距離のうち最も近い被写体距離を採用する。
【０３２１】
具体例を挙げると、各分割エリアごとの被写体距離が、図８９（Ａ）に示すように左エリアの被写体距離のみが基準値１より近い超至近距離となり、それ以外の分割エリアでは基準値２よりも遠い中距離以遠になったとする。この場合、左エリア以外の分割エリアで得られた被写体距離のうち最も近い中央エリアの被写体距離を採用する。
【０３２２】
一方、図８９（Ｂ）に示すように左エリアの被写体距離が基準値１より近い超至近距離となり、中央エリアの被写体距離が基準値１より遠く、基準値２より近い近距離となり、それ以外の分割エリアの被写体距離が基準値２よりも遠い中距離以遠になったとする。この場合には、原則通り、最も近距離にある左エリアの被写体距離を採用する
図８９（Ｃ）に示すように左エリアの被写体距離が基準値１よりも遠く、基準値２より近い近距離となり、それ以外の分割エリアの被写体距離が基準値２よりも遠い中距離以遠になったとする。この場合にも原則通り、最も近距離にある左エリアの被写体距離を採用する。
【０３２３】
右エリアに関しても全く同様であり、図８９（Ｄ）に示すように右エリアの被写体距離のみが基準値１より近い超至近距離となり、それ以外の分割エリアでは基準値２よりも遠い中距離以遠になったとする。この場合、右エリア以外の分割エリアで得られた被写体距離のうち最も近い左エリアの被写体距離を採用する。
【０３２４】
一方、図８９（Ｅ）に示すように右エリアの被写体距離が基準値１より近い超至近距離となり、左エリアの被写体距離が基準値１より遠く、基準値２より近い近距離となり、それ以外の分割エリアの被写体距離が基準値２よりも遠い中距離以遠になったとする。この場合には、原則通り、全ての分割エリアの被写体距離のうち最も近距離にある右エリアの被写体距離を採用する。
【０３２５】
また、図８９（Ｆ）に示すように右エリアの被写体距離が基準値１よりも遠く、基準値２より近い近距離となり、それ以外の分割エリアの被写体距離が基準値２よりも遠い中距離以遠になったとする。この場合にも原則通り、全ての分割エリアの被写体距離のうち最も近距離にある右エリアの被写体距離を採用する。
【０３２６】
以上の例外的処理は、測距エリアが３エリア設定の場合にも同様に適用できる。即ち、３エリア設定の場合に測距エリアを構成する中央エリア、右中エリア、左中エリアのうち両端の右中エリア又は左中エリアのいずれか一方のみで被写体距離が超至近距離となり、それ以外の分割エリアで被写体距離が中距離以遠になった場合には、超至近距離以外の被写体距離のうち最も近い被写体距離を採用するようにしてもよい。
【０３２７】
以上、上記実施の形態は、ＡＦセンサ７４よりセンサデータを出力し、ＣＰＵ６０によりＡＦデータに変換し、相関値演算処理を実施する形態であったが、これに限らず、ＡＦセンサ７４において、センサデータをＡＦデータに変換した後、ＡＦデータを出力し、ＣＰＵ６０にて相関値演算処理を実施する形態、及び、ＡＦセンサ７４において、センサデータをＡＦデータに変換し、相関値演算処理を実施した後，ＣＰＵ６０へ距離信号を出力する形態であってもよい。
【０３２８】
また、上記実施の形態は、外光パッシブ方式の測距装置を例としたものであるが、本発明は、ＴＴＬのパッシブ位相差方式等にも適用できる。
【０３２９】
更に、上記実施の形態におけるカメラの測距装置は、カメラに限らず他の用途に使用される測距装置にも適用できる。
【図面の簡単な説明】
【０３３０】
【図１】図１は、本発明が適用されたカメラの正面斜視図である。
【図２】図２は、本発明が適用されたカメラの背面斜視図である。
【図３】図３は、本発明が適用されたカメラの制御部を示したブロック図である。
【図４】図４は、パッシブ方式によるＡＦセンサの構成を示した図である。
【図５】図５、ＡＦセンサから被写体までの距離が近い場合のセンサ像（ＡＦデータ）を例示した図である。
【図６】図６は、ＡＦセンサから被写体までの距離が遠い場合のセンサ像（ＡＦデータ）を例示した図である。
【図７】図７は、ＣＰＵにおけるＡＦ測距の処理手順の概要を示すフローチャートである。
【図８】図８は、Ｒセンサ及びＬセンサのセンサ領域における分割エリアを示した図である。
【図９】図９は、測距エリア設定処理の手順を示したフローチャートである。
【図１０】図１０は、３エリア設定と５エリア設定の測距エリアを示した図である。
【図１１】図１１は、測距エリアを分けて個別に積分処理を行う場合の効果の説明に使用した説明図である。
【図１２】図１２は、相関値演算の説明に使用した説明図である。
【図１３】図１３は、ＡＦデータ取得処理において設定されるピーク選択領域の態様を示した図である。
【図１４】図１４は、ＡＦデータ取得処理の手順を示したフローチャートである。
【図１５】図１５は、３分割ゲイン高積分の処理手順を示したフローチャートである。
【図１６】図１６は、ＣＰＵとＡＦセンサとの間の信号ラインを示した図である。
【図１７】図１７は、ＣＰＵとＡＦセンサとの信号送受信に関する動作タイミングを示した動作タイミングチャートである。
【図１８】図１８は、ピーク選択領域設定データの説明に使用した説明図である。
【図１９】図１９は、ピーク選択領域設定データの説明に使用した説明図である。
【図２０】図２０は、ピーク選択領域数データの説明に使用した説明図である。
【図２１】図２１は、ピーク選択領域設定データの生成手順の説明に使用した説明図である。
【図２２】図２２は、ピーク選択領域設定データの生成手順の説明に使用した説明図である。
【図２３】図２３は、ピーク選択領域設定データの生成手順の説明に使用した説明図である。
【図２４】図２４は、ピーク選択領域設定データ及びピーク選択領域数データを示した説明図である。
【図２５】図２５は、／ＡＦＥＮＤ信号が正常に出力されない場合の出力形態を示した図である。
【図２６】図２６は、被写体が明るい場合と暗い場合における／ＡＦＥＮＤ信号とＭＤＡＴＡ信号の状態を例示した図である。
【図２７】図２７は、ＡＦデータの読出し処理の説明に使用した説明図である。
【図２８】図２８は、２画素差分データについて従来方式と新方式との説明に使用した説明図である。
【図２９】図２９は、従来方式と新方式とで得た２画素差分データ（ＡＦデータ）を例示した図である。
【図３０】図３０は、相関値演算の実行時（実行中）においてＡＦデータを生成する場合における相関値演算の処理手順を示したフローチャートである。
【図３１】図３１は、相関値演算の実行前において予めＡＦデータを生成してＲＡＭに格納しておいた場合における相関値演算の処理手順を示したフローチャートである。
【図３２】図３２は、相関値演算の実行時（実行中）においてＡＦデータを生成する場合のデータの流れを示した図である。
【図３３】図３３は、相関値演算の実行前において予めＡＦデータを生成してＲＡＭに格納しておく場合のデータの流れを示した図である。
【図３４】図３４は、従来方式におけるセンサデータの読出し処理を示したフローチャートである。
【図３５】図３５は、従来方式におけるセンサデータの読出し時のＡＦＣＬＫ信号及びＡＦＤＡＴＡＰ信号を示したタイミングチャートである。
【図３６】図３６は、新方式（本発明）におけるセンサデータの読出し処理を示したフローチャートである。
【図３７】図３７は、新方式（本発明）におけるセンサデータの読出し時のＡＦＣＬＫ信号及びＡＦＤＡＴＡＰ信号を示したタイミングチャートである。
【図３８】図３８は、新方式（本発明）と従来方式との測距時間を比較して示した図である。
【図３９】図３９は、極小値判断処理の説明に使用した説明図である。
【図４０】図４０は、極小値判断処理の説明に使用した説明図である。
【図４１】図４１は、ｉ３つおき演算におけるＲウインドウ９４Ｂ及びＬウインドウ９６Ｂ内の採用セルのセル位置ｉを示した図である。
【図４２】図４２は、通常演算により算出された相関値分布の例を示した図である。
【図４３】図４３は、ｉ３つおき演算により算出された相関値分布の例を示した図である。
【図４４】図４４は、ｉ３つおき演算における再演算範囲を示した図である。
【図４５】図４５は、ｉ３つおき演算により検出された暫定最小極小値が近距離警告範囲内であった場合の相関値分布の例を示した図である。
【図４６】図４６は、通常演算により複数の極小値が検出される場合の相関値分布の例を示した図である。
【図４７】図４７は、図４６と同じＡＦデータに基づいてｉ３つおき演算を行った場合に得られる相関値分布を示した図である。
【図４８】図４８は、図４７の相関値分布に対して再演算を行った結果を示した図である。
【図４９】図４９は、不足分再演算処理の処理手順を示したフローチャートである。
【図５０】図５０（Ａ）、（Ｂ）は、２画素差分演算により得たＲセンサとＬセンサのＡＦデータのうち、シフト量ｎ＝０におけるｉ３つおき演算で使用するＡＦデータを例示した図である。
【図５１】図５１は、図５０（Ａ）、（Ｂ）のＡＦデータの例でｉ３つおき演算を行って相関値ｆ(n)を算出した結果を示した図である。
【図５２】図５２は、図５０（Ａ）、（Ｂ）のＡＦデータの例で通常演算を行って相関値ｆ(n)を算出した結果を示した図である。
【図５３】図５３は、図５０のようなセンサデータの態様が実測で得られた場合にｉ３つおき演算で求めた相関値ｆ(n)を示した図である。
【図５４】図５４は、ｎ３つおき演算における採用シフト量ｎの例を示した説明図である。
【図５５】図５５は、ｎ３つおき演算における採用シフト量ｎのとり方に関する説明に使用した説明図である。
【図５６】図５６は、ｎ３つおき演算における採用シフト量ｎのとり方に関する説明に使用した説明図である。
【図５７】図５７は、ｎ３つおき演算における採用シフト量ｎのとり方に関する説明に使用した説明図である。
【図５８】図５８は、図５６に示したｎ３つおき演算における再演算範囲の例を示した図である。
【図５９】図５９は、コントラスト検出処理１とコントラスト検出処理２による一連のコントラスト検出処理の全体手順を示したフローチャートである。
【図６０】図６０は、コントラスト検出処理により測距不能と判定される場合のＡＦデータ及び相関値分布の例を示した図である。
【図６１】図６１は、コントラスト検出処理により測距不能と判定される場合のＡＦデータ及び相関値分布の例を示した図である。
【図６２】図６２は、ＣＰＵにおけるＬ、Ｒチャンネル差補正処理の手順を示したフローチャートである。
【図６３】図６３は、ＡＦデータの補正をＲセンサのＡＦデータとＬセンサのＡＦデータの信号量差を補正して行う場合の処理手順を示したフローチャートである。
【図６４】図６４は、Ｌ、Ｒチャンネル差補正処理による効果の説明に使用した説明図である。
【図６５】図６５は、Ｌ、Ｒチャンネル差補正処理におけるＡＦデータの補正を信号量差及びコントラスト比を補正して行うＡＦデータ補正処理の処理手順を示したフローチャートである。
【図６６】図６６は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図６７】図６７は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図６８】図６８は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図６９】図６９は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図７０】図７０は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図７１】図７１は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図７２】図７２は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図７３】図７３は、図６５におけるＡＦデータ補正処理の効果の説明に使用した説明図である。
【図７４】図７４は、極小値判定の処理の説明に使用した説明図である。
【図７５】図７５は、極小値判定の処理の説明に使用した説明図である。
【図７６】図７６は、極小値判定の処理の説明に使用した説明図である。
【図７７】図７７は、補間値演算処理の説明に使用した説明図である。
【図７８】図７８は、補間値演算処理の説明に使用した説明図である。
【図７９】図７９は、補間値演算処理の説明に使用した説明図である。
【図８０】図８０は、補間値演算処理の説明に使用した説明図である。
【図８１】図８１は、補間値演算処理の説明に使用した説明図である。
【図８２】図８２は、補間値演算処理の説明に使用した説明図である。
【図８３】図８３は、補間値別演算処理の説明に使用した説明図である。
【図８４】図８４は、補間値別演算処理の説明に使用した説明図である。
【図８５】図８５は、補間値別演算処理の説明に使用した説明図である。
【図８６】図８６は、補間値演算処理において補間値通常演算及び補間値別演算の処理タイプ１〜３を判別する手順を示したフローチャートである。
【図８７】図８７は、固定焦点処理の手順を示したフローチャートである。
【図８８】図８８は、固定焦点処理の手順を示したフローチャートである。
【図８９】図８９は、エリア選択処理の説明に使用した説明図である。
【符号の説明】
【０３３１】
１０…カメラ、３４…シャッタボタン、６０…ＣＰＵ、７２…ストロボ装置、７４…ＡＦセンサ、９４…Ｒセンサ、９６…Ｌセンサ、９９…処理回路
【図１】
0004802223.tif 000004
【図２】
0004802223.tif 000005
【図３】
0004802223.tif 000006
【図４】
0004802223.tif 000007
【図５】
0004802223.tif 000008
【図６】
0004802223.tif 000009
【図７】
0004802223.tif 000010
【図８】
0004802223.tif 000011
【図９】
0004802223.tif 000012
【図１０】
0004802223.tif 000013
【図１１】
0004802223.tif 000014
【図１２】
0004802223.tif 000015
【図１３】
0004802223.tif 000016
【図１４】
0004802223.tif 000017
【図１５】
0004802223.tif 000018
【図１６】
0004802223.tif 000019
【図１７】
0004802223.tif 000020
【図１８】
0004802223.tif 000021
【図１９】
0004802223.tif 000022
【図２０】
0004802223.tif 000023
【図２１】
0004802223.tif 000024
【図２２】
0004802223.tif 000025
【図２３】
0004802223.tif 000026
【図２４】
0004802223.tif 000027
【図２５】
0004802223.tif 000028
【図２６】
0004802223.tif 000029
【図２７】
0004802223.tif 000030
【図２８】
0004802223.tif 000031
【図２９】
0004802223.tif 000032
【図３０】
0004802223.tif 000033
【図３１】
0004802223.tif 000034
【図３２】
0004802223.tif 000035
【図３３】
0004802223.tif 000036
【図３４】
0004802223.tif 000037
【図３５】
0004802223.tif 000038
【図３６】
0004802223.tif 000039
【図３７】
0004802223.tif 000040
【図３８】
0004802223.tif 000041
【図３９】
0004802223.tif 000042
【図４０】
0004802223.tif 000043
【図４１】
0004802223.tif 000044
【図４２】
0004802223.tif 000045
【図４３】
0004802223.tif 000046
【図４４】
0004802223.tif 000047
【図４５】
0004802223.tif 000048
【図４６】
0004802223.tif 000049
【図４７】
0004802223.tif 000050
【図４８】
0004802223.tif 000051
【図４９】
0004802223.tif 000052
【図５０】
0004802223.tif 000053
【図５１】
0004802223.tif 000054
【図５２】
0004802223.tif 000055
【図５３】
0004802223.tif 000056
【図５４】
0004802223.tif 000057
【図５５】
0004802223.tif 000058
【図５６】
0004802223.tif 000059
【図５７】
0004802223.tif 000060
【図５８】
0004802223.tif 000061
【図５９】
0004802223.tif 000062
【図６０】
0004802223.tif 000063
【図６１】
0004802223.tif 000064
【図６２】
0004802223.tif 000065
【図６３】
0004802223.tif 000066
【図６４】
0004802223.tif 000067
【図６５】
0004802223.tif 000068
【図６６】
0004802223.tif 000069
【図６７】
0004802223.tif 000070
【図６８】
0004802223.tif 000071
【図６９】
0004802223.tif 000072
【図７０】
0004802223.tif 000073
【図７１】
0004802223.tif 000074
【図７２】
0004802223.tif 000075
【図７３】
0004802223.tif 000076
【図７４】
0004802223.tif 000077
【図７５】
0004802223.tif 000078
【図７６】
0004802223.tif 000079
【図７７】
0004802223.tif 000080
【図７８】
0004802223.tif 000081
【図７９】
0004802223.tif 000082
【図８０】
0004802223.tif 000083
【図８１】
0004802223.tif 000084
【図８２】
0004802223.tif 000085
【図８３】
0004802223.tif 000086
【図８４】
0004802223.tif 000087
【図８５】
0004802223.tif 000088
【図８６】
0004802223.tif 000089
【図８７】
0004802223.tif 000090
【図８８】
0004802223.tif 000091
【図８９】
0004802223.tif 000092