(57)【特許請求の範囲】
【請求項１】
焦点調節する光学系によって形成された物体像を二分割して再結像し、再結像された一対の物体像を、複数の光電変換素子で受光し光電変換して一対の画素データ群を出力する受光手段と、
前記焦点調節する光学系が備えた焦点調節光学系を移動する駆動手段と、
前記受光手段が出力した一対の画素データ群の一部または全部を相対シフトさせながら、前記受光手段で再結像された一対の物体像の位相差を求める所定の演算を行う演算手段と、
前記駆動手段が前記焦点調節光学系を移動しているときに前記受光手段に一対の画素データ群を出力させて前記演算手段が演算するときは、該移動方向及び移動量に応じて、前記演算手段が前記演算において前記一対の画素データ群を相対シフトさせるシフト範囲を制限する演算制御手段とを備え、
前記演算手段は、前記焦点調節する光学系が合焦している物体の一対の物体像についての前記一対の画素データ群の位相が一致する相対位置を基準位置とし、この基準位置から前記合焦物体よりも近距離に位置する物体の一対の物体像の位相差を検出できる方向及び前記合焦物体よりも遠距離に位置する物体の一対の物体像の位相差を検出できる方向に、前記演算制御手段により制限されていないシフト範囲において前記一対の画素データ群をシフトさせながら位相差を求める所定の演算を実行すること、及び、
前記演算制御手段は、前記一対の画素データ群を相対シフトさせるシフト範囲のうち、前記焦点調節光学系が近距離物体合焦方向に移動しているときはその移動量に応じて遠距離物体の位相差を検出できるシフト範囲を制限し、前記焦点調節光学系が遠距離物体合焦方向に移動しているときはその移動量に応じて近距離物体の位相差を検出できるシフト範囲を制限すること、
を特徴とする自動焦点調節装置。
【請求項２】
請求項１記載の自動焦点調節装置において、前記演算制御手段は、前記焦点調節光学系を移動させていないときに前記受光手段に一対の画素データ群を出力させて前記演算手段に演算させるときは、前記一対の画素データ群を相対シフトさせるシフト範囲を制限しないことを特徴とする自動焦点調節装置。
【請求項３】
請求項１または２記載の自動焦点調節装置において、前記演算手段は、前記一対の画素データ群のうち、一方の画素データ群を固定して他方の画素データ群を近距離物体の位相差検出方向または遠距離物体の位相差検出方向にシフトさせながら位相差を求める所定の演算を実行することを特徴とする自動焦点調節装置。
【請求項４】
請求項１ないし３のいずれか一項記載の自動焦点調節装置において、前記演算手段は、前記画素データを一画素単位でシフトさせながら位相差を求める所定の演算を実行することを特徴とする自動焦点調節装置。
【請求項５】
請求項１ないし４のいずれか一項記載の自動焦点調節装置において、前記演算手段は、前記画素データを一画素単位で一対の画素データ群の各画素データ毎の差及びそれらの絶対値の和を求める演算を、前記一対の画素データ群を画素単位で所定量シフトさせながら実行し、所定量シフトさせて求めた差の絶対値の和から相関演算を実行して位相差を求め、該求めた位相差から、前記焦点調節光学系の移動方向及び移動量を演算することを特徴とする自動焦点調節装置。
【請求項６】
請求項５記載の自動焦点調節装置において、前記演算制御手段が制限するシフト範囲は、前記焦点調節光学系を移動する前のシフト範囲と移動後のシフト範囲とが重複する範囲の一部または全部であることを特徴とする自動焦点調節装置。
【請求項７】
請求項６記載の自動焦点調節装置において、前記演算制御手段が制限するシフト範囲は、前記焦点調節光学系を移動する前のシフト範囲と移動後のシフト範囲とが重複する範囲であって、かつ前記焦点調節光学系を移動する前に前記演算手段が求めた位相差の信頼性が高いであろうシフト範囲であることを特徴とする自動焦点調節装置。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、望遠光学系を備えた、例えばオートレベル、セオドライト、トランシットなどの測量機器に適した自動焦点調節装置に関する。
【０００２】
【従来技術及びその問題点】
近年では、いわゆるパッシブ方式の自動焦点調節装置を搭載した測量機器が多数開発されている。このような自動焦点調節装置では、視準望遠光学系の光路を分岐させ、その分岐光路中において焦点板と光学的に等価な位置に結像された物体像を一対のセンサ上に再結像させ、該センサに積分させ、該センサデータ（積分データ）から一対のセンサに形成された像の位相差を求め、さらにその位相差に基づいて被写体距離またはデフォーカス量など合焦に必要なデータを算出して、算出したデータに基づき焦点調節光学系を移動させている。また、位相差を求められなかった場合は、位相差を求められるまで、焦点調節光学系を移動させながらセンサに積分させ、該センサデータ（積分データ）を読み込み、位相差演算を行う処理を繰り返し実行させているものもある。
【０００３】
しかしながら、測量機器の視準望遠光学系は物体距離範囲が非常に広いため、焦点調節光学系の移動距離が長くなる（焦点調節光学系が凹レンズの場合、約３０ｍｍ前後）。したがって、１回の積分で得たセンサデータに基づき実行する演算では、位相差を検出できる距離範囲が狭いため、焦点調節光学系を動かしながら多数回にわたって積分及び演算を繰り返し実行しなければならず、被写体に合焦するまでに長時間を要するという問題があった。
【０００４】
【発明の目的】
本発明は、焦点調節時間を短縮することができる自動焦点調節装置を提供することを目的とする。
【０００５】
【発明の概要】
本発明は、焦点調節する光学系によって形成された物体像を二分割して再結像し、再結像された一対の物体像を、複数の光電変換素子で受光し光電変換して一対の画素データ群を出力する受光手段と、前記焦点調節する光学系が備えた焦点調節光学系を移動する駆動手段と、前記受光手段が出力した一対の画素データ群の一部または全部を相対シフトさせながら前記受光手段で再結像された一対の物体像の位相差を求める所定の演算を行う演算手段と、前記駆動手段が前記焦点調節光学系を移動させているときに前記受光手段に一対の画素データ群を出力させて前記演算手段に演算させるときは、該移動方向及び移動量に応じて、前記演算手段が前記演算において前記一対の画素データ群を相対シフトさせるシフト範囲を制限する演算制御手段とを備え、前記演算手段は、前記焦点調節する光学系が合焦している物体の一対の物体像についての前記一対の画素データ群の位相が一致する相対位置を基準位置とし、この基準位置から前記合焦物体よりも近距離に位置する物体の一対の物体像の位相差を検出できる方向及び前記合焦物体よりも遠距離に位置する物体の一対の物体像の位相差を検出できる方向に、前記演算制御手段により制限されていないシフト範囲において前記一対の画素データ群をシフトさせながら位相差を求める所定の演算を実行すること、及び、前記演算制御手段は、前記一対の画素データ群を相対シフトさせるシフト範囲のうち、前記焦点調節光学系が近距離物体合焦方向に移動しているときはその移動量に応じて遠距離物体の位相差を検出できるシフト範囲を制限し、前記焦点調節光学系が遠距離物体合焦方向に移動しているときはその移動量に応じて近距離物体の位相差を検出できるシフト範囲を制限することに特徴を有する。
【０００６】
前記演算制御手段は、前記焦点調節光学系を移動させる前に前記受光手段に一対の画素データ群を出力させて前記演算手段が演算するときは、前記一対の画素データ群を相対シフトさせるシフト範囲を制限しないことが好ましい。
また、前記演算制御手段が制限するシフト範囲は、前記焦点調節光学系を移動する前のシフト範囲と移動後のシフト範囲とが重複する範囲の一部または全部であるのがよく、例えば重複するシフト範囲であって、かつ前記演算手段が求めた位相差の信頼性が高いシフト範囲を制限するのがよい。
【０００７】
前記演算手段は、前記演算制御手段によって制限されていないシフト範囲において、前記一対の画素データ群の各画素データ毎の差及びそれらの絶対値の和を求める演算を、前記一対の画素データ群を画素単位で所定量シフトさせながら実行し、所定量シフトさせて求めた差の絶対値の和から相関演算を実行して位相差を求めるのが好ましい。例えば、前記焦点調節する光学系が合焦している物体の一対の物体像についての前記一対の画素データ群の位相が一致する相対位置を基準位置として、前記合焦物体よりも近距離に位置する物体の一対の物体像の位相差を検出できる方向、及び前記合焦物体よりも遠距離に位置する一対の物体像の位相差を検出できる方向に、前記一対の画素データ群のうち、一方の画素データ群を固定して他方の画素データ群を画素単位でシフトさせながら求めるのがよい。そして、求めた位相差に基づき前記焦点調節光学系の移動方向及び移動量を演算することが好ましい。
以上の構成によれば、演算時間の短縮化を通じて焦点調節に要する時間の短縮化が図れる。
【０００８】
【発明の実施の形態】
以下図面に基づいて本発明を説明する。図１は、本発明の自動焦点調節装置を適用したオートレベルの一実施の形態を示す図である。オートレベル１０は、物体９側から、正の視準用対物レンズ群１１、負の焦点調節レンズ群１２、水平補償光学系１３、焦点板（焦点面）１４、及び正の接眼レンズ群１５を備えている。
【０００９】
水平補償光学系１３は、周知のもので、第１コンペプリズム１３ａ、コンペミラー１３ｂ及び第２コンペプリズム１３ｃとを有する左右対称形状をしていて、図示しないが、紐体を介して軸に吊り下げられている。コンペミラー１３ｂと第１、第２コンペプリズム１３ａ、１３ｃとの角度は、絶対値が等しく符号が反対の例えば３０°をなしている。この角度は、紐体の長さなどによって異なる。
【００１０】
対物レンズ群１１と焦点調節レンズ群１２の光軸が略水平（例えば水平から１０〜１５分程度傾斜した状態）にセットされている状態では、第１コンペプリズム１３ａへの入射光束は光軸と同じズレ量だけ水平からズレるが、第１コンペプリズム１３ａ、コンペミラー１３ｂ及び第２コンペプリズム１３ｃで反射することにより、第２のコンペプリズム１３ｃから射出する光束は実質的に水平となる。
【００１１】
焦点調節レンズ群１２にはラック１２ａが固定されており、このラック１２ａにピニオン１２ｂが噛み合っている。このピニオン１２ｂを回転させて焦点調節レンズ群１２を光軸に沿って移動させることにより、対物レンズ群１１と焦点調節レンズ群１２によって形成される物体像の位置を光軸に沿って平行移動させることができる。使用者は、焦点板１４上に結像された物体像を接眼レンズ１５によって拡大して観察する。なお、焦点板１４にはレチクルが設けられている。
【００１２】
対物レンズ群１１から焦点板１４に至る光路中に、該光路を分岐させる分岐光学素子（ハーフミラー）１８を配置し、分岐光路中において、焦点板１４と光学的に等価な等価面１４Ａにおける焦点状態（結像状態）を検出する焦点検出系２０を設け、さらにこの焦点検出系２０の出力に基づいて焦点調節レンズ群１２を駆動する焦点調節レンズ群駆動系３０を設けている。
【００１３】
等価面１４Ａの焦点状態を検出する焦点検出系２０は、等価面１４Ａの近傍に配置したＡＦセンサ２１を有し、このＡＦセンサ２１が出力するＡＦセンサデータに基づいて位相差及びデフォーカス量を検出するものである。本実施の形態のＡＦセンサ２１は、図２に示すように、等価面１４Ａの物体像を、一対のセパレータレンズ（結像レンズ）２１ａによって分割して、Ａセンサ及びＢセンサからなる一対のＣＣＤラインセンサ２１ｂ上に再結像する。この一対のＣＣＤラインセンサ２１ｂに対する一対の物体像の位相差（間隔）は、物体９の像が等価面１４Ａ上に正確に結像しているとき（合焦）を基準として、等価面１４Ａより前方に結像しているとき（前ピン）は狭く、及び等価面１４Ａより後方に結像しているとき（後ピン）は広い。したがって合焦位置からのズレ量（デフォーカス量）を一対のＣＣＤラインセンサ２１ｂ上に形成される物体像の位相差から求めることができる。
【００１４】
ＣＣＤラインセンサ２１ｂは、詳細は図示しないが、多数の光電変換素子（受光素子）を有し、各光電変換素子が、受光した物体像を光電変換し、光電変換した電荷を積分（蓄積）して、積分した電荷を画素単位のＡＦセンサデータ（画像データ）として順番に出力する。
【００１５】
またＡＦセンサ２１は、ＣＣＤラインセンサ２１ｂに隣接して、物体像の明るさに応じて積分時間をコントロールするモニタセンサ（図示せず）を備えている。演算・制御回路２３は、モニタセンサの出力を検知して、ＣＣＤラインセンサ２１ｂの積分時間、つまり積分終了をコントロールする。
【００１６】
ＡＦセンサ２１が出力したＡＦセンサデータは、プリアンプ２２で増幅され演算・制御回路２３に入力される。演算・制御回路２３は、一対のＡＦセンサデータに基づいてデフォーカス量を算出する。本実施形態ではさらに、デフォーカス量に基づいて、デフォーカス量が０になる合焦位置まで焦点調節レンズ群１２を移動するのに必要なＡＦモータ３１の駆動方向及び駆動量（エンコーダ３３の出力するパルス数（以下「ＡＦパルス数」という。））を算出する。
【００１７】
演算・制御回路２３は、演算したＡＦモータ３１の回転方向及びＡＦパルス数に基づいてＡＦモータ駆動回路２５を介してＡＦモータ３１を駆動する。ＡＦモータ３１の回転は、クラッチ内蔵減速機構３２を介してピニオン１２ｂに伝達され、焦点調節レンズ群１２を移動する（図１参照）。
【００１８】
演算・制御回路２３は、ＡＦモータ３１の回転をエンコーダ３３が出力するパルス数をカウントすることにより検知し、そのカウント値と先に演算によって求めたＡＦパルス数に基づいてＡＦモータ３１の速度制御及び停止制御などを行う。この焦点検出系２０と焦点調節レンズ群駆動系３０により、物体距離に応じて焦点調節レンズ群１２が光軸に沿って移動され、自動合焦される。
【００１９】
焦点検出系２０は、スイッチ類として、自動焦点調節処理を開始するＡＦ開始スイッチ２７、ＡＦモードが設定されていること（マニュアルフォーカスモードではないこと）を検知するＡＦスイッチ２９を備えている。ＡＦ開始スイッチ２７は、使用者などによって押されるとオンし、押圧力が除かれるとオフする押ボタンスイッチである。ＡＦスイッチ２９は、フォーカス操作ノブ１６の軸方向移動に連動し、フォーカス操作ノブ１６が押し込まれた自動焦点調節モード設定位置でオンするスイッチである。
【００２０】
またピニオン１２ｂは、フォーカス操作ノブ１６による手動焦点調節と、焦点検出系２０及び焦点調節レンズ群駆動系３０による自動焦点調節のいずれか一方による駆動が可能である。つまりオートレベル１０は、フォーカス操作ノブ１６が本体内に押し込まれたときに、クラッチ内蔵減速機構３２がピニオン１２ｂとＡＦモータ３１を連結して、焦点検出系２０の出力により焦点調節レンズ群１２を移動させるオートフォーカス（ＡＦ）モード（自動焦点調節）に切換わり、本体外に引き出されたときに、クラッチ内蔵減速機構３２がピニオン１２ｂとフォーカス操作ノブ１６を連結して、手動でフォーカス操作ノブ１６を回転駆動して焦点調節レンズ群１２を移動させるマニュアルフォーカスモード（手動焦点調節）に切換わるのである。なお、演算・制御回路２３はＡＦスイッチ２９がオンしていることによりＡＦモードが設定されていることを検知する。
【００２１】
以上の構成に基づき、演算・制御回路２３によるデフォーカス演算処理（図１４参照）について説明する。演算・制御回路２３は、ＡＦセンサ２１から入力した一対のＡＦセンサデータに基づきデフォーカス演算処理を実行するが、以下では、ＣＣＤラインセンサ２１ｂのＡセンサ及びＢセンサが出力したＡセンサデータとＢセンサデータを一対のＡＦセンサデータとして説明を進める。
【００２２】
演算・制御回路２３は、先ず、ＡＦセンサデータに基づきコントラスト計算を実行する。コントラスト計算は、例えば、Ａセンサデータにおいて、隣り合う画素（光電変換素子）のセンサデータ（積分値）の差分の絶対値の総和を利用する。つまり、この総和が所定値以上であればコントラスト有りと判断し、総和が所定値未満であればコントラスト無しと判断する。そして、コントラスト有りと判断したときのみ、相関演算処理を実行し、ＡセンサデータとＢセンサデータの位相差を求める。
【００２３】
Ａセンサデータ及びＢセンサデータの画素位置（Ａセンサ及びＢセンサの各光電変換素子）をＡ［０］〜Ａ［α］、Ｂ［０］〜Ｂ［α］とし、演算で使用するＡセンサ及びＢセンサの受光領域の総画素数をβ（＜α）とし、基準画素位置をＡ［γ］、Ｂ［γ］とし、基準画素位置Ａ［γ］、Ｂ［γ］を演算開始画素位置とすると、相関演算処理では、先ず最初にＡセンサデータの画素位置Ａ［γ］〜Ａ［γ＋β］とＢセンサデータの画素位置Ｂ［γ］〜Ｂ［γ＋β］が一致するように、ＢセンサデータをＡセンサデータに画素単位で数学的に重ね合わせて、各画素データ毎の差分をとり、その絶対値の総和を演算する。このとき、各画素データ毎の差分の絶対値の総和は、図３において網かけ部で示した領域に相当する。
【００２４】
次に、ＡセンサデータまたはＢセンサデータをｎ画素分だけシフトさせて重ね合わせ、各画素データ毎の差分の絶対値の総和を求めるが、本実施形態では説明簡単のためＡセンサデータを基準とし、Ｂセンサデータのみをシフトさせる構成としているので、Ｂセンサデータをｎ画素分シフトさせてＡセンサデータの画素位置Ａ［γ］〜Ａ［γ＋β］とＢセンサデータの画素位置Ｂ［γ＋ｎ］〜Ｂ［γ＋β＋ｎ］を画素単位で重ね合わせて各画素データ毎の差分をとり、その絶対値の総和を演算する。このデータシフト量ｎを設定された最大量｜±Ｎ｜（以下、「データシフト最大量｜±Ｎ｜」という）に達するまで所定ステップで変化させて、各画素データ毎の差分の絶対値の総和を求めることにより、図４に示すような一対のＡＦセンサデータの一致度を示す相関関数ｆ（ｎ）を得ることができる。本実施の形態において、ｎ、Ｎは整数であり、ｎは、０からデータシフト最大量｜±Ｎ｜に達するまで１づつ加減算される値である。
【００２５】
データシフト量ｎの符号がプラスであるときは、Ｂセンサデータを近距離側（図６、７において右側）にシフトさせ、データシフト量ｎの符号がマイナスであるときは、Ｂセンサデータを無限遠側（図６、７において左側）にシフトさせている。また本実施形態では、合焦時に演算開始画素位置Ａ［γ］、Ｂ［γ］で、すなわちデータシフト量ｎ＝０で相関関数ｆ（ｎ）が極小値をとるように構成している。したがって、後ピン状態ではデータシフト量ｎのプラス側で相関関数ｆ（ｎ）が極小値をとり、前ピン状態ではデータシフト量ｎのマイナス側で相関関数ｆ（ｎ）が極小値をとる。
【００２６】
演算・制御回路２３は、この相関関数ｆ（ｎ）に極小値を与えるデータシフト量を位相差として検出し、検出した位相差に基づきデフォーカス量を求めるのである。しかし、相関関数ｆ（ｎ）が極小値を持たない場合、または極小値を２個以上持つ場合は、演算・制御回路２３は、位相差を検出できずデフォーカス量も得られない。このような場合に本発明の実施の形態では、ＡＦモータ３１を駆動して焦点調節レンズ群１２を移動させながら、位相差検出処理を実行する。
【００２７】
より具体的に図５〜図７を参照して説明する。図５は焦点調節レンズ群１２の移動位置と、その焦点調節レンズ群１２のレンズ位置において検出可能な最大位相差範囲（以下「検出可能位相差範囲Ｘ」）に対応するレンズ位置の範囲と、相関演算を実際に行うデータシフト最大量｜±Ｎ｜範囲において検出可能な位相差範囲（以下「位相差検出範囲ｘ」）に対応するレンズ位置の範囲の関係を示してある。
【００２８】
検出可能位相差範囲Ｘは、予め設定されている、ＣＣＤラインセンサ２１ｂの演算に使用する画素数（画素データ数）及び相関演算時の最大データシフト量Ｍによって定まる一定範囲である。位相差検出範囲ｘは、焦点調節レンズ群１２の移動量及び移動方向に応じて変更される可変範囲であり、前述のデータシフト最大量｜±Ｎ｜を設定することにより定まる。なお、最大データシフト量Ｍをデータシフト最大量｜±Ｎ｜として設定すると、位相差検出範囲ｘは、検出可能位相差範囲Ｘと等しくなる。
【００２９】
図５（１）、図６（１）は、焦点調節レンズ群１２のレンズ位置ｄにおいて、Ｂセンサデータをデータシフト最大量｜±Ｎ｜だけ近距離側（図において右側）にシフトさせてＡセンサデータに重ねた様子を示してある。本実施形態では、Ａセンサデータ及びＢセンサデータの総画素数をＡ［０］〜Ａ［２３］及びＢ［０］〜Ｂ［２３］の２４画素とし、演算で使用するＡセンサ及びＢセンサそれぞれの画素数（画素データ数）を１４画素分とし、最大データシフト量Ｍを｜±５｜とし、基準画素位置をＡ［５］、Ｂ［５］としている。ただし、実際には、総画素数、演算で使用する光電変換素子総数、及び最大データシフト量Ｍは上記の数倍〜数十倍に設定されている。
【００３０】
本実施形態では、焦点検出開始時に先ず、基準画素位置Ａ［５］、Ｂ［５］を演算開始画素位置とし、データシフト最大量｜±Ｎ｜を｜±５｜（最大データシフト量Ｍ）に設定する。したがって、位相差検出範囲ｘは検出可能位相差範囲Ｘと一致する。そして、Ｂセンサデータ画素位置Ｂ［５］〜Ｂ［１８］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するようにＢセンサデータをＡセンサデータに重ね合わせて（データシフト量ｎ＝０）、各画素データ毎の差分の絶対値の和を求める。次に、Ｂセンサデータを演算開始画素位置Ｂ［５］から＋１画素シフトさせてＢセンサデータ画素位置Ｂ［６］〜Ｂ［１９］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するように重ね合わせ、各画素データ毎の差分の絶対値の和を求める。そして次に、Ｂセンサデータを演算開始画素位置Ｂ［５］から−１画素シフトさせてＢセンサデータ画素位置Ｂ［４］〜Ｂ［１７］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するように重ね合わせ、各画素データ毎の差分の絶対値の和を求める。以上のように、データシフト量ｎを０（演算開始画素位置）から１づつ加減算してデータシフト量ｎがデータシフト最大量｜±５｜に達するまで、Ｂセンサデータを近距離側検出方向である＋方向（図６において右側）及び無限遠側検出方向である−方向（図６において左側）にシフトさせて重ね合わせ、重ね合わせる毎に各画素データ毎の差分の絶対値の総和を求めている（図５（１）、図６（１））。
【００３１】
つまり、本実施形態の焦点検出開始時は、Ｂセンサデータ画素Ｂ［０］〜Ｂ［２３］を使用し、検出可能位相差範囲Ｘの全域について、全体で１１回にわたって相関演算を実行する。
【００３２】
そして、相関演算結果から相関関数ｆ（ｎ）を導出し、極小値が１個だけ存在する相関関数ｆ（ｎ）を得ることができたときは、該相関関数ｆ（ｎ）に極小値を与えるデータシフト量ｎをＡセンサデータとＢセンサデータの位相差として検出し、検出した位相差に基づきデフォーカス量を求める。なお、極小値を与えるデータシフト量ｎは、補間法によって小数点以下、所定の有効桁数まで演算される。
【００３３】
演算・制御回路２３は、求めたデフォーカス量が有効でなかったとき、または極小値が１個だけ存在する相関関数ｆ（ｎ）を得られなかったときは、有効なデフォーカス量が得られるように、焦点調節レンズ群１２を移動させながらＡセンサデータ及びＢセンサデータを入力し、デフォーカス演算処理を実行する（図１０中のサーチ積分処理）。しかし、この場合に演算・制御回路２３は、検出可能位相差範囲Ｘすべてについて演算を実行するのではなく、焦点調節レンズ群１２の移動量及び移動方向に応じて位相差検出範囲を制限することに本発明は特徴を有する（図５（２）〜（４）、図６（２）、図７（３）〜（４）参照）。なお、演算で使用するＡセンサ及びＢセンサのデータ画素数は一定（本実施形態では１４画素分）とし、データシフト最大量｜±Ｎ｜を変化させることにより位相差検出範囲ｘを変更している。図６及び図７では、図示便宜上、位相差検出範囲ｘはシフト範囲で示されている。
【００３４】
動く物体を検出対象としていない測量機器などの焦点検出処理では、焦点検出処理を開始した後に検出対象が移動することはありえないと考えられるため、焦点調節レンズ群１２が移動した位置における検出可能位相差範囲Ｘのうち、移動前の検出可能位相差範囲Ｘと重複する部分の検出は不要である。例えば、焦点調節レンズ群１２が近距離側に移動したときは、無限遠側の一部は移動前に検出しているので検出不要であるから、移動前の検出可能位相差範囲Ｘと重複していない現位置における検出可能位相差範囲Ｘとの重複範囲を除いた位相差検出範囲ｘに制限し、該位相差検出範囲ｘについて相関演算処理を実行する。つまり、焦点調節レンズ群１２の移動量及び移動方向に応じて、従来よりも演算回数（データシフト最大量｜±Ｎ｜）を減らすことができ、演算時間の短縮を図れるのである。
【００３５】
本実施形態では、信頼性の高い相関演算結果を得るために、焦点調節レンズ群１２を移動前の検出可能位相差範囲Ｘと重複していても信頼性が低いであろう範囲についても相関演算処理を行うこととする。
【００３６】
また、焦点調節レンズ群１２の移動速度を一定にした場合は、視準物体が低輝度でＡＦセンサ２１の積分時間が長くなると検出できない範囲ができてしまう。本実施形態では、これを回避するため、移動前後の検出可能位相差範囲Ｘの重複部分が半分以下になる位置まで焦点調節レンズ群１２が移動する前に、ＡＦセンサ２１の積分を終了させて、相関演算を実行している。
【００３７】
なお、本実施形態では、焦点調節レンズ群１２は、先ず近距離側に移動しながら焦点検出し、焦点検出できずに近距離側端点に到達したら無限遠側へ移動する構成にしている。図６では、焦点調節レンズ群１２が近距離側へ移動すると、Ｂセンサ上に形成された像は左方向にシフトし、Ａセンサ上に形成された像との像間隔が狭まる。また焦点調節レンズ群１２が無限遠側へ移動すると、Ｂセンサ上に形成された像は右方向にシフトし、Ａセンサ上に形成された像との像間隔が広くなる。
【００３８】
焦点調節レンズ群１２を移動したレンズ位置ｄでは、実際に演算を実行するデータシフト最大量｜±Ｎ｜及び演算開始画素位置（データシフト量０のときにＡセンサデータ画素位置Ａ［５］と一致させるＢセンサデータの画素位置）を算出し、演算開始画素位置（データシフト量ｎ＝０）からデータシフト量ｎを１づつ加減算してデータシフト最大量｜±Ｎ｜に達するまで相関演算を実行する。
【００３９】
この場合、データシフト最大量｜±Ｎ｜には、焦点調節レンズ群１２の移動量Δｘをデータシフト量に換算した量と最低重複量ｎ´の和を１／２倍した値を設定する。演算開始画素位置には、最大データシフト量Ｍ（本実施形態では５）から、求めたデータシフト最大量｜±Ｎ｜を引き、この差分だけ基準画素位置Ｂ［５］から焦点調節レンズ群１２の移動方向と対応する方向にシフトしたＢセンサデータ画素位置を設定する。ただし、本実施形態ではＡセンサデータはシフトさせないので、Ａセンサデータの演算開始画素位置は、常に基準画素位置Ａ［５］とする。
【００４０】
最低重複量ｎ´は、信頼性の高い相関演算結果を得るために、移動前の検出可能位相差範囲Ｘと重複して相関演算を実行する重複データシフト量の最小値であって、予め設定されており、本実施形態（図５及び図６）では最低重複量ｎ´を２画素分とする。
【００４１】
レンズ位置ｄ１は焦点検出処理を開始したレンズ位置ｄ０から焦点調節レンズ群１２を近距離側に移動量Δｘ１だけ移動した位置であって、移動量Δｘ１をデータシフト量（位相差）に換算すると１画素分に相当する（図５（２））。このとき、最大データシフト量｜±Ｎ１｜は、（１画素＋２画素）／２＝１．５（少数点以下切り捨て）＝１画素となる。演算開始画素位置は、最大データシフト量５からデータシフト最大量１を引いた４画素分だけ基準画素位置Ｂ［５］を焦点調節レンズ群１２の移動方向と対応する方向（図６では右方向）にシフトさせたＢセンサデータ画素位置Ｂ［９］とする。
【００４２】
そして、Ｂセンサデータ画素位置Ｂ［９］〜Ｂ［２２］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するようにＢセンサデータを重ね合わせたときをデータシフト量ｎ＝０として、データシフト量ｎがデータシフト最大量｜±１｜に達するまで、Ｂセンサデータを近距離側及び無限遠側にシフトさせて重ね合わせ、相関演算を実行する（図５（２）、図６（２）参照）。つまり、レンズ位置ｄ１では、Ｂセンサデータ画素［８］〜Ｂ［２３］を使用し、位相差検出範囲ｘ１について、全体で３回にわたって相関演算を実行する。
【００４３】
レンズ位置ｄ１でも有効なデフォーカス量が得られなかったときは、焦点調節レンズ群１２をレンズ位置ｄ２に移動する。図５（３）において、レンズ位置ｄ１からレンズ位置ｄ２までの移動量Δｘ２をデータシフト量に換算すると３画素に相当する。このとき、データシフト最大量｜±Ｎ２｜は２画素となり、演算開始画素位置は基準画素位置Ｂ［５］から３画素分だけ焦点調節レンズ群１２の移動方向に対応する方向（図７では右方向）にシフトさせたＢセンサデータ画素位置Ｂ［８］となる。
【００４４】
そして、Ｂセンサデータ画素位置Ｂ［８］〜Ｂ［２１］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するようにＢセンサデータを重ね合わせたときをデータシフト量ｎ＝０として、データシフト量ｎを０から１づつ加減算してデータシフト最大量｜±２｜に達するまで、Ｂセンサデータを近距離側及び無限遠側にシフトして相関演算を実行する（図５（３）、図７（３）参照）。つまり、レンズ位置ｄ２では、Ｂセンサデータ画素Ｂ［６］〜Ｂ［２３］を使用し、位相差検出範囲ｘ２について、全体で５回にわたって相関演算を実行する。
【００４５】
レンズ位置ｄ２でも有効なデフォーカス量が得られなかったときは、焦点調節レンズ群１２をさらにレンズ位置ｄ３に移動する。図５（４）において、レンズ位置ｄ２からレンズ位置ｄ３までの移動量Δｘ３をデータシフト量に換算すると５画素に相当する。このとき、データシフト最大量｜±Ｎ３｜は３画素となり、演算開始画素位置は基準画素位置Ｂ［５］から２画素分だけ焦点調節レンズ群１２の移動方向に対応する方向（図７では右方向）にシフトさせたＢセンサデータ画素位置Ｂ［７］となる。
【００４６】
そして、Ｂセンサデータ画素位置Ｂ［５］〜Ｂ［１９］がＡセンサデータ画素位置Ａ［５］〜Ａ［１８］に一致するようにＢセンサデータを重ね合わせたときをデータシフト量０として、データシフト量ｎを０から１づつ加減算して最大データシフト量｜±３｜に達するまで、Ｂセンサデータを近距離側及び無限遠側にシフトさせて重ね合わせ、相関演算を実行する（図５（４）、図７（４）参照）。つまり、レンズ位置ｄ３では、Ｂセンサデータ画素［４］〜Ｂ［２３］を使用し、位相差検出範囲ｘ３について、全体で７回にわたって相関演算を実行する。
【００４７】
有効なデフォーカス量が得られない間は、以上の処理を繰り返しながら、焦点調節レンズ群１２を近距離側方向に移動し、有効なデフォーカス量が得られないまま焦点調節レンズ群１２が近距離端点に到達したら、無限遠側方向に移動させてデフォーカス演算処理を実行する。有効なデフォーカス量が得られないまま焦点調節レンズ群１２が無限遠端点に到達したときは、デフォーカス演算処理を終了させる。
【００４８】
ただし、相関演算の信頼性が位相差検出範囲ｘにおいて全体的に低い場合は、焦点調節レンズ群１２を移動したときに、焦点検出開始時と同様に位相差検出範囲ｘに検出可能位相差範囲Ｘを設定し、Ｂセンサデータ画素Ｂ［５］〜Ｂ［１８］がＡセンサデータ画素Ａ［５］〜Ａ［１８］に一致するようにＢセンサデータを重ね合わせたときをデータシフト量０として、データシフト量ｎを１づつ加減算してデータシフト最大量｜±５｜に達するまで相関演算を実行してもよい。
【００４９】
なお、図６では、レンズ位置ｄ３において実行した相関演算から導出した相関関数ｆ（ｎ）に極小値を与えるデータシフト量＋３に、すなわち位相差＋３に基づき求めたデフォーカス量が有効であったので、演算・制御回路２３はそのデフォーカス量に基づいて求めたレンズ移動量だけ焦点調節レンズ群１２を移動させて、デフォーカス量が０になったらＡＦ処理を終了させる。
【００５０】
次に、このオートレベル１０の自動焦点調節処理について、図８から図１４に示すフローチャートを参照してより詳細に説明する。これらの処理は、オートレベル１０に図示しないバッテリが装填されているときに、演算・制御回路２３によって実行される処理である。
【００５１】
本実施の形態では、ＡＦ開始スイッチ２７がオンされると、その後ＡＦ開始スイッチ２７がオフされても、焦点調節処理が終了するまでは焦点調節処理を継続する。
【００５２】
図示しないバッテリが装填されるとこの処理に入り、先ず内部ＲＡＭ、各入出力ポートなどを初期化してからパワーダウン処理に進む（Ｓ１０１）。以後、バッテリが外され再装填されない限り、Ｓ１０１は実行しない。
【００５３】
パワーダウン処理はいわゆる待機処理であり、ＡＦ開始スイッチ２７がオン操作されない間は、演算・制御回路２３以外の各回路への電力供給を遮断してＡＦ開始スイッチ２７がオン操作されるのを待ち、ＡＦ開始スイッチ２７がオン操作されると各回路への電力供給を開始してＡＦ処理（自動焦点調節処理）を実行する。
【００５４】
パワーダウン処理では、先ず、ＡＦ動作に関するフラグを全てクリアして、ＡＦ動作を終了する（Ｓ１１１）。本実施の形態においてＡＦ動作に関するフラグとしては、合焦したことを識別する合焦フラグ、自動焦点調節ができなかったことを識別するＡＦＮＧフラグ、１度有効なデフォーカス量が得られた後の積分処理であることを識別する再積分フラグ、有効なデフォーカス量が得られず焦点調節レンズ群１２を移動しながらの積分処理であることを識別するサーチ中フラグ、有効なデフォーカス量に基づいて焦点調節レンズ群１２を移動しながらの積分処理であることを識別するオーバーラップフラグ、有効なデフォーカス量が得られたことを識別するデフォーカスＯＫフラグを有している。
【００５５】
ＡＦ動作のリセット処理が終了すると、次にＡＦ開始スイッチ２７がオンしているかどうかをチェックする（Ｓ１１３）。初期状態では、ＡＦ開始スイッチ２７はオフしているので、ＡＦ開始スイッチメモリにＯＦＦを書込む（Ｓ１１３；Ｎ、Ｓ１１５）。そして、パワー（電源）がオンしているかどうかをチェックするが、初期状態では各回路への電力供給を遮断しているパワーオフ状態であるので、Ｓ１１３へ戻る（Ｓ１１９；Ｎ）。ＡＦ開始スイッチ２７がオフしている間は、上記のＳ１１３、Ｓ１１５、Ｓ１１９の処理を繰り返す。
【００５６】
ＡＦ開始スイッチ２７がオンされたときは、ＡＦスイッチ開始メモリを読み出し、ＯＮかどうかをチェックするが、デフォルトではＯＦＦがメモリされているのでＳ１２３へ進み、ＡＦ開始メモリにＯＮを書込む（Ｓ１１３；Ｙ、Ｓ１１７；Ｎ、Ｓ１２３）。そして、ＡＦスイッチ２９の状態を入力するが、ＡＦスイッチ２９がオフしているときは、マニュアル焦点調節モードが設定されているのでパワーダウン処理に戻る（Ｓ１２５；Ｎ、Ｓ１１１）。ＡＦスイッチ２９がオンしているとき、つまりＡＦ（自動焦点調節）モードが設定されているときは、パワーをオンして各回路への電力供給を開始し、ＶＤＤループ処理へ進む（Ｓ１２５；Ｙ、Ｓ１２７）。
【００５７】
ＶＤＤループ処理（図９）は、ＡＦ処理を実行するとともに、定期的にＡＦ開始スイッチ２７の状態をチェックし、ＡＦ処理結果を合焦または合焦不可能と判定したときにパワーダウン処理に戻る処理である。
【００５８】
ＶＤＤループ処理に入ると、再度ＡＦスイッチ２９の状態を入力し、オフしているときは、マニュアル焦点調節モードが設定されているのでパワーダウン処理に戻り、ＡＦ処理を終了する（Ｓ２０１、Ｓ２０３；Ｎ、Ｓ１１１）。以下、ＡＦスイッチ２９がオンしているものとして説明する。
【００５９】
ＡＦスイッチ２９がオンしているときは、詳細は後述するが、デフォーカス量を検出して焦点調節レンズ群１２を合焦位置まで移動させるＡＦ処理を実行し、ＡＦ処理後、ＡＦ開始スイッチ２７がオンしているかどうかをチェックする（Ｓ２０５、Ｓ２０７）。
【００６０】
ＡＦ開始スイッチ２７がオンしているときは、ＡＦ開始スイッチメモリにＯＮがメモリされているかどうかをチェックする（Ｓ２０７；Ｙ、Ｓ２１１）。ＡＦ開始スイッチメモリにＯＮがメモリされていないときは、ＯＮをメモリしてＳ２０１へ戻る（Ｓ２１１；Ｎ、Ｓ２１７，Ｓ２０１）。ＡＦ開始スイッチメモリにＯＮがメモリされているときは、そのままＳ２１３へ進み、合焦フラグ、ＡＦＮＧフラグのチェックを行う（Ｓ２１１；Ｙ、Ｓ２１３、Ｓ２１５）。ＡＦ開始スイッチ２７がオンしていないときは、ＡＦ開始スイッチメモリにＯＦＦをメモリして、合焦フラグ、ＡＦＮＧフラグのチェックを行う（Ｓ２０７；Ｎ、Ｓ２０９、Ｓ２１３、Ｓ２１５）。
【００６１】
なお、Ｓ２０７において、１回目のチェックでは、通常ＡＦ開始スイッチ２７はオンのままなので、次にＡＦ開始スイッチメモリにＯＮがメモリされているかどうかをチェックするが、Ｓ１２３でＯＮがメモリされているので、Ｓ２１３、Ｓ２１５へ進み、合焦フラグ、ＡＦＮＧフラグのチェックを行う。
【００６２】
ＡＦ処理を実行したが、合焦とも合焦不可能とも判定できていない場合には、合焦フラグ及びＡＦＮＧフラグはともにクリアされているので、Ｓ２０１に戻る（Ｓ２１３；Ｎ、Ｓ２１５；Ｎ）。そして、合焦して合焦フラグがセットされるか、または合焦不可能と判定されてＡＦＮＧフラグがセットされるまでＶＤＤループ処理を繰り返し実行する。
【００６３】
通常は、Ｓ２０５のＡＦ処理によって焦点調節レンズ群１２が合焦位置まで移動されて合焦フラグがセットされるので、Ｓ２１３からパワーダウン処理に戻る（Ｓ２１３；Ｙ）。また、視準物体が静止していなかった場合、輝度が足りなかった場合、またはコントラストが低すぎた場合など何らかの要因によって合焦できなかったときは、ＡＦ処理においてＡＦＮＧフラグがセットされるので、Ｓ２１５からパワーダウン処理に戻る（Ｓ２１５；Ｎ）。
【００６４】
パワーダウン処理に戻ると、Ｓ１１１でＡＦ動作を終了し、ＡＦ開始スイッチ２７がオンしているときは、ＡＦ開始スイッチメモリにＯＮがメモリされているので、Ｓ１２１でパワーをオフしてＳ１１３へ戻り、ＡＦ開始スイッチ２７が操作されるまでＳ１１３、Ｓ１１７、Ｓ１１９、Ｓ１１３の処理を繰り返す。ＡＦ開始スイッチ２７がオフしているときは、Ｓ１１５でＡＦ開始スイッチメモリにＯＦＦを書込み、Ｓ１２１でパワーをオフし、Ｓ１１３へ戻ってＡＦ開始スイッチ２７がオンされるのを待つ。
ＶＤＤループ処理からパワーダウン処理へ戻ると、ＡＦ開始スイッチ２７のオン・オフに関わらず、パワーをオフして演算・制御回路２３以外の各回路への電力供給を断つのである。
【００６５】
このように、一旦、ＡＦ開始スイッチ２７がオン操作されると、合焦するまで、または合焦不可能と判定されるまでＡＦ処理を繰り返すので、使用者はＡＦ処理に煩わされることなく測量作業を実行できる。
【００６６】
次に、Ｓ２０５で実行されるＡＦ処理について、図１０〜図１４に示されるフローチャートを参照してより詳細に説明する。この処理に入ると先ず、オーバーラップ中フラグ、サーチ中フラグ、再積分フラグのチェック処理を行うが（Ｓ３０１、Ｓ３０３、Ｓ３０５）、１回目のチェックでは、全てのフラグがＳ１１１でクリアされたままなので、Ｓ３０７に進んでＡＦセンサ２１に積分を開始させ、その積分値をＡＦセンサデータとして入力し、デフォーカス演算を行う積分処理を実行する（Ｓ３０７）。なお、詳細は後述するが、Ｓ３０７で実行されるデフォーカス演算では、検出可能位相差範囲Ｘについて、一対のＡＦセンサデータに基づき位相差を求め、求めた位相差からデフォーカス方向、及びデフォーカス量を算出する（図５〜図７、図１４参照）。
【００６７】
そして、デフォーカスＯＫフラグにより有効なデフォーカス量が得られたかどうかをチェックする（Ｓ３０９）。視準物体が検出可能位相差範囲Ｘ内にない場合などに、有効なデフォーカス量が得られない。最初に有効なデフォーカス量が得られた場合について説明する。
【００６８】
『Ｓ３０７のデフォーカス演算で有効なデフォーカス量が得られた場合』
デフォーカスＯＫフラグがセットされているときは、合焦チェック処理を行い、合焦していれば合焦フラグをセットし、非合焦であれば合焦フラグをクリアする（Ｓ３２１）。本実施の形態で、演算・制御回路２３が合焦と判定するのは、求めたデフォーカス量が所定量以下のときである。合焦していれば、ＶＤＤループ処理にリターンしてＳ２０７以降の処理を実行し（Ｓ３２３；Ｙ）、非合焦であったときはパルス計算処理に進む（Ｓ３２３；Ｎ）。
【００６９】
パルス計算処理（図１１）は、有効なデフォーカス量に基づいてＡＦパルス数、つまり、デフォーカス量が０になる位置まで焦点調節レンズ群１２を移動させるために必要なＡＦモータ３１の駆動量（エンコーダ３３が出力するパルス数）を演算する処理である。
【００７０】
パルス計算処理に入ると先ず、求めたデフォーカス量からＡＦモータ３１の駆動方向及びＡＦパルス数を演算する（Ｓ３３１）。次に、このＡＦパルス数をＡＦパルスカウンタ２３ａにセットし、ＡＦモータ３１をＤＣ駆動してパルスチェック処理を実行する（Ｓ３３３、Ｓ３３５）。なお、ＡＦパルスカウンタ２３ａにセットされたカウンタ値は、エンコーダ３３からＡＦパルスが１パルス出力される毎に１減算する。
【００７１】
パルスチェック処理は、ＡＦパルスカウンタ２３ａにセットされたカウンタ値に応じて、ＡＦモータ３１の駆動速度を制御する処理である。つまり、カウンタ値が所定のオーバーラップ積分禁止パルス数以上であるときには、ＡＦモータ３１を高速駆動して焦点調節レンズ群１２をより短時間で合焦位置に近づけながらオーバーラップ積分処理を実行し（Ｓ３４１〜Ｓ３４７）、カウンタ値がオーバーラップ積分禁止パルス数未満になったら、焦点調節レンズ群１２が合焦位置よりも行き過ぎてしまうことを防止するために、ＡＦモータ３１を低速のＰＷＭ制御しつつ、カウンタ値が０になったときにＡＦモータ３１を停止させる（Ｓ３４９〜Ｓ３５５）処理である。
【００７２】
パルスチェック処理に入ると、ＡＦパルスカウンタ２３ａにセットされているカウンタ値とオーバーラップ積分禁止パルス数を比較する（Ｓ３４１）。カウンタ値がオーバーラップ積分禁止パルス数以上である間は、Ｓ３４３に進んでオーバーラップ中フラグをセットし、オーバーラップ積分処理をスタートさせて、ＡＦセンサ２１からＡＦセンサデータを入力し、デフォーカス演算処理を実行する（Ｓ３４１；Ｎ、Ｓ３４３、Ｓ３４５）。
【００７３】
そして、デフォーカスＯＫフラグにより有効なデフォーカス量が得られたかどうかをチェックする（Ｓ３４７）。デフォーカスＯＫフラグがセットされているときは、駆動方向チェックに進み（Ｓ３４７；Ｙ）、デフォーカスＯＫフラグがクリアされているときは、リターンしてＶＤＤループ処理に戻りＳ２０７以降の処理を実行する（Ｓ３４７；Ｎ）。
【００７４】
駆動方向チェック処理（図１２）は、ＡＦモータ３１駆動中の積分処理（オーバーラップ積分処理）によって得られたデフォーカス量に基づいてＡＦパルス数を算出し、ＡＦパルスカウンタ２３ａにセットするが、ＡＦモータ３１の駆動方向が変わった場合には、ＡＦモータ３１にブレーキをかけて停止させる処理である。本実施の形態のブレーキは、ＡＦモータ３１の両極をショートしてＡＦモータ３１の回転を停止させる処理である。
【００７５】
駆動方向チェック処理に入ると、オーバーラップ中フラグをセットし、サーチ中フラグをクリアして、前回の駆動方向チェック処理で検出したＡＦモータ３１の駆動方向と現在のＡＦモータ３１の駆動方向を、演算結果から比較する（Ｓ３６１、Ｓ３６３）。ＡＦモータ３１の駆動方向が変化していないときは、積分中間点におけるＡＦパルス数を算出して、算出した値をＡＦパルスカウンタ２３ａにセットしてＶＤＤループ処理にリターンする（Ｓ３６３；Ｙ、Ｓ３６５）。駆動方向が変化したときは、ＡＦモータ３１にブレーキをかけて停止し、オーバーラップ中フラグをクリアし、再積分フラグをセットしてＶＤＤループ処理にリターンする（Ｓ３６３；Ｎ、Ｓ３６７、Ｓ３６９、Ｓ３７１）。
【００７６】
ＶＤＤループ処理にリターンすると、Ｓ２０５で再びＡＦ処理に入る。駆動方向チェック処理で駆動方向が変化していなかったときは、オーバーラップ中フラグがセットされているので（Ｓ３０１；Ｙ）、パルスチェック処理に進み、ＡＦパルスカウンタ２３ａのカウンタ値がオーバーラップ禁止パルス数よりも小さくなるまでＳ３４１〜Ｓ３４７、Ｓ３６１〜Ｓ３６５（駆動方向チェック処理）を経てＶＤＤループにリターンして、パルスチェック処理に戻る処理を繰り返す。
【００７７】
ＡＦパルスカウンタ２３ａのカウンタ値、すなわち合焦位置まで焦点調節レンズ群１２を移動させるためのＡＦパルス数がオーバーラップ禁止パルス数未満になったときは（Ｓ３４１；Ｙ）、Ｓ３４９に進んで、ＡＦパルス数が予め設定されている一定速度制御開始パルス数未満になるまで待つ（Ｓ３４９；Ｎ）。ＡＦパルス数が一定速度制御開始パルス数未満になったときは、残りのＡＦパルス数に応じてＡＦモータ３１を低速制御し、ＡＦパルス数が０になったときにＡＦモータ３１を停止させて、オーバーラップ中フラグをクリアし、再積分フラグをセットしてＶＤＤループ処理に戻る（Ｓ３４９；Ｙ、Ｓ３５１、Ｓ３５３、Ｓ３５５）。
【００７８】
ＶＤＤループ処理に戻り、再度Ｓ２０５でＡＦ処理に入ったときは、再積分フラグがセットされているので、Ｓ３０５から再積分処理に入る。駆動方向チェック処理で駆動方向が変化したときも、再積分フラグがセットされているので、同様に再積分処理を実行する。
【００７９】
再積分処理は、デフォーカス量を求めて合焦しているかどうかをチェックし、合焦している場合は合焦フラグをセットして、パワーダウン処理に戻りＡＦ処理を終了させ、合焦していない場合は合焦フラグをクリアして、再度ＡＦパルス数を求めて焦点調節レンズ群１２を移動する処理である。
【００８０】
この処理に入ると先ず、再積分フラグをセットし直し、ＡＦセンサ２１に積分を開始させ、その積分値をＡＦセンサデータとして入力し、デフォーカス演算を実行する（Ｓ３８１、Ｓ３８３）。そして、デフォーカスＯＫフラグにより求めたデフォーカス量が有効であるかどうかをチェックする（Ｓ３８５）。
【００８１】
デフォーカスＯＫフラグがセットされているときは、合焦チェック処理に進み、求めたデフォーカス量より合焦しているかどうかを判断して、合焦している場合には合焦フラグをセットし、パワーダウン処理に戻ってＳ１１１でＡＦ処理を終了し、ＡＦ開始スイッチ２７がオンするのを待つ待機状態となる（Ｓ３８５；Ｙ、Ｓ３２１、Ｓ３２３；Ｙ、Ｓ１１１）。合焦していない場合は、合焦フラグをクリアし、パルス計算処理に進み、再度ＡＦパルス数を求めて焦点調節レンズ群１２を移動する（Ｓ３２３；Ｎ）。
【００８２】
デフォーカスＯＫフラグがセットされていないときは、ＡＦＮＧ処理に進み、ＡＦＮＧフラグをセットしてパワーダウン処理に戻り、Ｓ１１１でＡＦ処理を終了する（Ｓ３８５；Ｎ、Ｓ３９１）。
【００８３】
『Ｓ３０７のデフォーカス演算処理で有効なデフォーカス量が得られなかった場合』
次に、Ｓ３０７で求めたデフォーカス量が有効でなかった場合、つまり合焦が困難な場合及び合焦が不可能な場合のＡＦ処理について説明する。この場合には、デフォーカスＯＫフラグがクリアされているので、サーチ積分処理に進む（Ｓ３０９；Ｎ）。
【００８４】
サーチ積分処理は、有効なデフォーカス量が得られるように、ＡＦモータ３１を駆動しながら、ＡＦセンサ２１の積分処理とデフォーカス演算処理を実行する処理である。ただし、サーチ積分処理で実行されるデフォーカス演算処理では、詳細は後述するが、相関演算を実際に実行する位相差検出範囲ｘを焦点調節レンズ群１２の移動量及び移動方向から設定する。このサーチ積分処理によっても、有効なデフォーカス量が得られなかったときは、ＡＦＮＧフラグをセットし、パワーダウン処理に戻ってＳ１１１でＡＦ処理を終了する。
【００８５】
この処理に入ると先ず、ＡＦモータ３１をサーチ駆動（先ず、近距離側方向に駆動）し、サーチ中フラグをセットして、ＡＦセンサ２１に積分を開始させ、ＡＦセンサ２１の積分が終了したら、その積分値をＡＦセンサデータとして入力し、デフォーカス演算処理を実行してデフォーカス量を求めるサーチ積分処理を実行する（Ｓ３１１、Ｓ３１３、Ｓ３１５）。Ｓ３１５で実行されるデフォーカス演算処理では、詳細は後述するが、焦点調節レンズ群１２の移動量及び移動方向に応じて設定した位相差検出範囲ｘについて相関演算を実行し、位相差を求め、求めた位相差に基づいてデフォーカス量を演算する。
【００８６】
そして、デフォーカスＯＫフラグにより、Ｓ３１５で求めたデフォーカス量が有効であるかどうかをチェックする（Ｓ３１７）。デフォーカスＯＫフラグがセットされているときは、駆動方向チェック処理に抜けるが（Ｓ３１７；Ｙ）、デフォーカスＯＫフラグがクリアされているときは、ＡＦモータ３１のサーチ駆動が終了したかどうかをチェックする（Ｓ３１７；Ｎ、Ｓ３１９）。サーチ駆動が終了していないときは、ＶＤＤループ処理に戻る（Ｓ３１９；Ｎ）。
【００８７】
ＡＦモータサーチ駆動とは、ＡＦモータ３１を先ず近距離側方向に駆動し、焦点調節レンズ群１２が近距離側端点に到達して停止したら、ＡＦモータ３１を無限遠側方向に反転し、焦点調節用レンズ群１２が無限遠側端点に到達して停止したら、ＡＦモータ３１を停止させる処理である。このサーチ駆動途中で、有効なデフォーカス量が得られたときは、そのデフォーカス量に基づく駆動に戻る。
【００８８】
ＶＤＤループ処理に戻って再びＳ２０５でＡＦ処理に入ると、オーバーラップ中フラグはクリアされ、サーチ中フラグはセットされているので、Ｓ３０３からサーチ積分処理に入り、サーチ積分処理を実行する（Ｓ３０１；Ｎ、Ｓ３０３；Ｙ、Ｓ３１１〜Ｓ３１５）。焦点調節用レンズ群１２が無限遠側端点に到達しても有効なデフォーカス量が得られなかったときは、ＡＦＮＧ処理に進んでＡＦＮＧフラグをセットしてからＶＤＤループ処理に戻り（Ｓ３１９；Ｙ、Ｓ３９１）、Ｓ２１５からパワーダウン処理に抜ける。
【００８９】
以上は、１回目のデフォーカス演算処理（Ｓ３０７）で有効なデフォーカス量が得られなかった場合の処理であるが、１度有効なデフォーカス量が得られたが合焦していないため再積分処理を実行し、再積分処理で有効なデフォーカス量が得られなかったときは、Ｓ３８５からＡＦＮＧ処理に入り、ＡＦＮＧフラグをセットしてＶＤＤループ処理に戻り、Ｓ２１５からパワーダウン処理に抜ける（Ｓ３８５；Ｎ、Ｓ３９１）。
【００９０】
次に、Ｓ３０７、Ｓ３１５、Ｓ３４５、Ｓ３８３で実行される積分処理について図１３及び図１４を参照して説明する。この処理に入ると先ず、ＡＦセンサ２１に積分を開始させる（Ｓ６０１）。そして、モニタセンサの出力が所定の積分終了値に達した時か（Ｓ６０３；Ｙ）、または最大積分時間が経過した時か（Ｓ６０５；Ｙ）のいずれか早い時にＡＦセンサ２１の積分を終了させて、ＡＦセンサデータを入力し（Ｓ６０７）、デフォーカス演算処理を実行し（Ｓ６０９）、リターンする。
【００９１】
デフォーカス演算処理（図１４）では、相関演算を実際に実行する位相差検出範囲ｘを設定して相関演算処理を実行し、位相差を求め、求めた位相差に基づいてデフォーカス量を算出する。
通常、ＡＦスイッチオンでＡＦ処理に入って最初の積分処理におけるデフォーカス演算処理のとき（焦点調節レンズ群１２が移動していない状態）は、演算開始画素位置（シフト中心）に基準画素位置Ａ［γ］、Ｂ［γ］を、データシフト最大量｜±Ｎ｜に最大データシフト量Ｍを設定して、相関演算を実行する。すなわち、検出可能位相差範囲Ｘについて相関演算を実行するのであるが、サーチ積分処理では、焦点調節レンズ群１２の移動量及び移動方向に基づいて演算開始画素位置及びデータシフト最大量｜±Ｎ｜を変更し、相関演算を実行する。
【００９２】
焦点調節レンズ群１２を移動しながら相関演算を実行するサーチ積分処理では、移動後の検出可能位相差範囲Ｘと移動前の検出可能位相差範囲Ｘの重複範囲については、既に演算を実行しているため検出不要である。そのため、移動後の検出可能位相差範囲Ｘからこの重複範囲を除いた範囲を移動後の位相差検出範囲ｘに設定し、相関演算処理を実行する。これにより、通常よりも相関演算回数を減らすことができ、演算時間の短縮化を図れる。
【００９３】
ただし、本実施形態では、相関演算結果の信頼性を考慮して、焦点調節レンズ群１２が移動する前の検出可能位相差範囲Ｘと重複していてもデフォーカス量が大きく信頼度が低いであろうと判断できる重複範囲（最低重複量ｎ′の範囲）については相関演算処理を行うこととしている。
【００９４】
この処理に入ると先ず、ＡＦセンサ２１から出力されるＡＦセンサデータに基づいてコントラスト計算を実行し、視準物体のコントラスト値を求める（Ｓ４０１）。求めたコントラスト値が所定値未満であったときは、コントラスト無しと判断され、Ｓ４２５へ進み、デフォーカスＯＫフラグをクリアしてリターンする（Ｓ４０３；Ｎ、Ｓ４２５）。求めたコントラスト値が所定値以上であったときは、コントラスト有りと判断され、Ｓ４０５へ進み、サーチ中フラグをチェックする（Ｓ４０３；Ｙ、Ｓ４０５）。
【００９５】
サーチ中フラグがセットされていないときは、演算開始画素位置に基準画素位置（本実施形態ではＡ［５］、Ｂ［５］）を設定し、データシフト最大量｜±Ｎ｜に最大データシフト量Ｍ（本実施形態では５）を設定して、検出可能位相差範囲Ｘについて、相関演算処理を実行する（Ｓ４０５；Ｎ、Ｓ４０７、Ｓ４１５）。したがって、Ｓ３０７、Ｓ３４５、Ｓ３８３で実行されるデフォーカス演算処理の場合には、Ａセンサデータ基準画素位置Ａ［５］とＢセンサデータ基準画素位置Ｂ［５］が一致するようにＢセンサデータを重ね合わせたときのデータシフト量ｎを０と設定し、データシフト量ｎを０から１づつ加減算してデータシフト最大量｜±５｜に達するまで、Ｂセンサデータを近距離側及び無限遠側にシフトさせ、Ｂセンサデータの全画素範囲を使用して、計１１回の相関演算を実行する（図５（１）参照）。
【００９６】
サーチ中フラグがセットされているとき、つまり、サーチ積分処理（Ｓ３１５）で実行されるデフォーカス演算処理のときは（Ｓ４０５；Ｙ）、焦点調節レンズ群１２の移動量及び移動方向に応じて、位相差検出範囲ｘを設定する（Ｓ４０９〜Ｓ４１３）。先ず、前回デフォーカス演算処理を実行した位置から現在位置までの焦点調節レンズ群１２の移動量を画素単位のデータシフト量に換算し（Ｓ４０９）、データシフト最大量｜±Ｎ｜及び演算開始画素位置（シフト中心）を求め（Ｓ４１１、Ｓ４１３）、演算開始画素位置からデータシフト量ｎがデータシフト最大量｜±Ｎ｜に達するまで、Ｂセンサデータを近距離側及び無限遠側にシフトさせ、相関演算処理を実行する（Ｓ４１５）。
【００９７】
データシフト最大量｜±Ｎ｜は以下の式により求められる。
データシフト最大量｜±Ｎ｜＝（移動量＋最低重複量）／２
なお、上式において、移動量は、Ｓ４０９で焦点調節レンズ群１２の移動量をデータシフト量に換算した値であり、最低重複量は、信頼性の高い相関演算結果を得るために前回の検出可能位相差範囲Ｘと重複して演算する範囲の最低量であって、本実施形態では２画素分に予め設定してある。
【００９８】
Ａセンサデータの演算開始画素位置は、本実施形態ではＢセンサデータのみをシフトさせる構成にしているので、常に基準画素位置Ａ［５］とする。Ｂセンサデータの演算開始画素位置は、基準画素位置Ｂ［５］から、下式より求めた演算開始画素位置シフト量だけＢセンサデータを焦点調節レンズ群１２の移動方向に対応する方向にシフトさせた位置とする。
演算開始画素位置シフト量＝最大データシフト量Ｍ−（移動量＋最低重複量）／２
【００９９】
次に、相関演算処理で位相差が求められたかどうかをチェックする（Ｓ４１７）。位相差が求められたときは、位相差計算ＯＫと判断して、求めた位相差に基づき補間計算処理を実行してデフォーカス量を求め、デフォーカスＯＫフラグをセットしてリターンする（Ｓ４１７；Ｙ、Ｓ４１９、Ｓ４２１）。
【０１００】
Ｓ３０７またはＳ３８３の積分処理で実行されるデフォーカス演算処理の場合は、リターンした後のＳ３０９またはＳ３８５から合焦チェック処理に入る。Ｓ３１５またはＳ３４５の積分処理で実行されるデフォーカス演算処理の場合は、リターンした後のＳ３１７またはＳ３４７から駆動方向チェック処理に入る。
【０１０１】
相関演算処理で位相差が求められなかったときは、位相差計算ＮＧと判断して、デフォーカス演算ＯＫフラグをクリアしてリターンする（Ｓ４１７；Ｎ、Ｓ４２３）。相関演算処理で位相差が求められなかったときとは、相関演算結果から導出した相関関数ｆ（ｎ）に極小値がない場合、または極小値が２個以上存在する場合などである。
【０１０２】
Ｓ３０７の積分処理で実行されるデフォーカス演算処理の場合は、リターンした後のＳ３０９からサーチ積分処理に入る。Ｓ３１５の積分処理で実行されるデフォーカス演算処理の場合は、リターンしたときに焦点調節レンズ群１２が無限遠端点に到達していれば、ＡＦＮＧ処理に進み、焦点調節レンズ群１２が無限遠端点に到達していなければ、ＶＤＤループ処理に戻る。Ｓ３４５の積分処理で実行されるデフォーカス演算処理の場合は、リターンした後のＳ３４７から、ＶＤＤループ処理に戻る。Ｓ３８３の積分処理で実行されるデフォーカス演算処理の場合は、リターンした後のＳ３８５からＡＦＮＧ処理に進み、ＡＦＮＧフラグをセットしてＶＤＤループ処理に戻り、Ｓ２１５からパワーダウン処理に戻ってＳ１１１でＡＦ動作を終了する。
【０１０３】
本実施形態では、サーチ積分処理中でのみ、相関演算処理を実行する位相差検出範囲ｘを変更する構成としているが、これに限定されず、焦点調節レンズ群１２を移動しながら相関演算処理を実行するときは、焦点調節レンズ群１２の移動量及び移動方向に応じて位相差検出範囲ｘを変更する構成にもできる。例えば、オーバーラップ積分処理中でも位相差検出範囲ｘを変更してもよい。
【０１０４】
なお、本実施形態では、説明簡単のため、Ａセンサデータを基準としＢセンサデータのみをシフトさせて相関演算を実行する形態について説明したが、本発明はこれに限定されず、Ａセンサデータ及びＢセンサデータをともに、または交互にシフトさせる構成でもよい。
【０１０５】
以上の説明において、本実施形態では、本発明をオートレベルの一つに適用したが、本発明はこれに限定されず、トランシットなど他の測量機器、カメラ、双眼鏡などにも適用できることは言うまでもない。
【０１０６】
【発明の効果】
本発明は、駆動手段が焦点調節光学系を移動しているときには、焦点調節光学系の移動量及び移動方向に応じて、演算手段が相関演算を実行する位相差検出範囲を制限する演算制御手段を有するので、演算回数を減らして演算時間を短縮することができ、さらには焦点調節に要する時間を短縮することができる。
【図面の簡単な説明】
【図１】  本発明を適用したオートレベルの一実施の形態の主要構成を示す図である。
【図２】  同オートレベルのＡＦセンサの一実施の形態の概要を示す図である。
【図３】  同ＡＦセンサが出力した一対のＡＦセンサデータの各画素データ毎の差分の絶対値の総和を説明する図である。
【図４】  同ＡＦセンサが出力した一対のＡＦセンサデータから導出した相関関数ｆ（ｎ）を示す図である。
【図５】  同オートレベルの焦点調節レンズ群の移動量と検出可能位相差範囲及び位相差検出範囲の関係を示す図である。
【図６】  （１）及び（２）は同ＡＦセンサが出力した一対のＡＦセンサデータと位相差検出範囲の関係を示す図である。
【図７】  （３）及び（４）は同ＡＦセンサが出力した一対のＡＦセンサデータと位相差検出範囲の関係を示す図である。
【図８】  同オートレベルの自動焦点調節処理に関するフローチャートの一部を示す図である。
【図９】  同オートレベルの自動焦点調節処理に関するフローチャートの一部を示す図である。
【図１０】  同オートレベルの自動焦点調節処理に関するフローチャートの一部を示す図である。
【図１１】  同オートレベルの自動焦点調節処理に関するフローチャートの一部を示す図である。
【図１２】  同オートレベルの自動焦点調節処理に関するフローチャートの一部を示す図である。
【図１３】  同オートレベルの自動焦点調節処理における積分処理に関するフローチャートを示す図である。
【図１４】  同オートレベルの自動焦点調節処理におけるデフォーカス演算処理に関するフローチャートを示す図である。
【符号の説明】
１０  オートレベル
１２  焦点調節レンズ群
２０  焦点検出系
２１  ＡＦセンサ
２１ｂ  ＣＣＤラインセンサ
２３  演算・制御回路
２７  ＡＦ開始スイッチ
２９  ＡＦスイッチ
３０  焦点調節レンズ群駆動系
３１  ＡＦモータ
【図１】
0003958474.tif 000002
【図２】
0003958474.tif 000003
【図３】
0003958474.tif 000004
【図４】
0003958474.tif 000005
【図５】
0003958474.tif 000006
【図６】
0003958474.tif 000007
【図７】
0003958474.tif 000008
【図８】
0003958474.tif 000009
【図９】
0003958474.tif 000010
【図１０】
0003958474.tif 000011
【図１１】
0003958474.tif 000012
【図１２】
0003958474.tif 000013
【図１３】
0003958474.tif 000014
【図１４】
0003958474.tif 000015