JP2757822B2 - 自動焦点検出装置 - Google Patents

自動焦点検出装置

Info

Publication number
JP2757822B2
JP2757822B2 JP11483695A JP11483695A JP2757822B2 JP 2757822 B2 JP2757822 B2 JP 2757822B2 JP 11483695 A JP11483695 A JP 11483695A JP 11483695 A JP11483695 A JP 11483695A JP 2757822 B2 JP2757822 B2 JP 2757822B2
Authority
JP
Japan
Prior art keywords
focus
flag
determined
island
focus detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP11483695A
Other languages
English (en)
Other versions
JPH0843721A (ja
Inventor
正隆 浜田
徳治 石田
博司 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP11483695A priority Critical patent/JP2757822B2/ja
Publication of JPH0843721A publication Critical patent/JPH0843721A/ja
Application granted granted Critical
Publication of JP2757822B2 publication Critical patent/JP2757822B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Focusing (AREA)
  • Automatic Focus Adjustment (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はカメラなどの装置におい
て、被写体像の焦点状態を検出する自動焦点検出装置に
関するものである。
【0002】
【従来の技術】従来、特開昭62−125311号公報
においては、カメラの自動焦点検出装置において、前回
と今回の焦点ずれ方向が同一であるときに、被写体が動
的被写体であると判定することが提案されている。しか
しながら、この従来技術は、動的被写体か否かを判定す
るレベルを撮影倍率に応じて切り換えるものではない。
【0003】
【発明が解決しようとする課題】被写体像の焦点状態を
検出する自動焦点検出装置においては、被写体が動的被
写体である場合に焦点検出の精度に影響を及ぼすのは、
実際の被写体の移動速度よりもむしろ被写体像の結像位
置の移動速度の方である。従って、被写体が動的被写体
か否かを判定する場合には、被写体像の結像位置の移動
速度に基づいて判定することが望ましい。
【0004】しかしながら、結像位置の移動速度は撮影
倍率に応じて大きく変化する。例えば、被写体の移動速
度が同じであっても被写体距離が近いほど、あるいはレ
ンズの焦点距離が長いほど結像位置の移動速度は大きく
なる。従って、被写体距離が近い場合または焦点距離の
大きい望遠レンズの場合には、結像位置の移動速度に基
づいて動体判定を行うと、被写体の移動に対する検出感
度が敏感になりすぎる。このため、焦点検出時のノイズ
や焦点検出演算のばらつきなども被写体の移動であると
判定してしまい、誤動作の原因となってしまう。
【0005】本発明は、上記のような問題点を解決する
ためになされたものであり、その目的とするところは、
撮影倍率の大小に関係なく、正確に被写体が動的被写体
か否かを判定することができる自動焦点検出装置を提供
することにある。
【0006】
【課題を解決するための手段】本発明の自動焦点検出装
置にあっては、上記の課題を解決するために、図1に示
すように、焦点を合わせるべき被写体に対するレンズの
焦点ずれ量を繰り返し検出する焦点検出手段1と、撮影
倍率βの情報を出力する出力手段2と、上記焦点検出手
段1によって出力される焦点検出結果を所定の判定レベ
ルと比較することによって、被写体が動的被写体である
か否かを判定する動体判定手段3と、動体判定手段3の
判定動作に用いられる上記判定レベルを、上記出力手段
2から出力される撮影倍率βの情報に応じて切り換える
切換手段4とを備えたことを特徴とするものである。こ
こで、上記動体判定手段3は、例えば、焦点検出手段1
によって繰り返し出力される焦点ずれ量の変化量を検出
し、この変化量と判定レベルとを比較することによって
被写体が動的被写体であるか否かを判定する手段とする
ことが好ましい。また、上記切換手段4は、少なくとも
2つ以上の判定レベルを有しており、撮影倍率βの情報
に応じて少なくとも2段以上判定レベルを切り換えるこ
とが好ましい。
【0007】さらに、上記自動焦点検出装置は、上記焦
点検出手段1から繰り返し出力される複数の焦点ずれ量
に基づいて、上記被写体の移動に起因する焦点ずれ量を
算出する補正量算出手段5と、上記補正量算出手段5に
よって算出された焦点ずれ量だけ上記焦点検出手段1に
より検出された焦点ずれ量を補正する補正手段6とを備
えることが好ましい。ここで、上記補正手段6は、上記
出力手段2から出力される撮影倍率βが所定値よりも大
きい場合には焦点ずれ量の補正を行わないことが好まし
い。
【0008】
【作用】図1の構成によれば、焦点検出手段1により、
焦点を合わせるべき被写体に対するレンズの焦点ずれ量
が繰り返し検出される。動体判定手段3は、上記焦点検
出手段1によって出力される焦点検出結果を所定の判定
レベルと比較することによって、被写体が動的被写体で
あるか否かを判定する。具体的には、焦点検出手段1に
よって繰り返し出力される焦点ずれ量の変化量を検出
し、この変化量と判定レベルとを比較することによって
被写体が動的被写体であるか否かを判定する。動体判定
手段3の判定動作に用いられる上記判定レベルは、出力
手段2から出力される撮影倍率βの情報に応じて切換手
段4によって切り換えられる。この切換手段4は、少な
くとも2つ以上の判定レベルを有しており、撮影倍率β
の情報に応じて少なくとも2段以上判定レベルを切り換
えることが好ましい。実施例では、#6790で撮影倍
率βが1/30よりも大きいか否かを判定しており、#
6790でβ≦1/30であれば、#6800で所定値
cを100μmとし、#6840に進む。#6790で
β>1/30であれば、#6810で撮影倍率βが1/
25よりも大きいか否かを判定する。#6810でβ≦
1/25であれば、#6820で所定値cを140μm
とし、#6840に進む。#6810でβ>1/25で
あれば、#6830で所定値cを200μmとし、#6
840に進む。ここで、所定値cは被写体が動体である
か否かを判定するための基準値であり、撮影倍率βが大
きいほど被写体の移動に対して焦点面でのデフォーカス
量が大きくなるので、所定値cを撮影倍率βが大きくな
るほど大きく設定しているものである。そして、以後の
ステップ#6850,6860,6900,6910,
6920でそれぞれ焦点ずれ量の変化量と所定値cとを
比較することにより、被写体が動的被写体か否かを判定
している。
【0009】このように、動的被写体か否かを判定する
判定レベルを撮影倍率に応じて切り換えることにより、
被写体距離が近い場合や望遠レンズを使用している場合
においても、被写体の移動に対する検出感度が敏感にな
り過ぎることがない。従って、撮影倍率の大小に関係な
く、正確に被写体が動的被写体か否かを判定することが
できる。
【0010】さらに、補正量算出手段5では、上記焦点
検出手段1から繰り返し出力される複数の焦点ずれ量に
基づいて、上記被写体の移動に起因する焦点ずれ量を算
出し、補正手段6では、上記補正量算出手段5によって
算出された焦点ずれ量だけ上記焦点検出手段1により検
出された焦点ずれ量を補正する。これにより、動的被写
体に対する追随補正を行うことができる。ここで、上記
出力手段2から出力される撮影倍率βが所定値よりも大
きい場合には上記補正手段6による焦点ずれ量の補正は
行わない。実施例では、図44の#5460又は図51
の#6550で撮影倍率βの大きさを判別し、このβが
1/20よりも大きいときには、動体判定が困難である
として追随補正を禁止している。これにより、被写体距
離が近い場合や望遠レンズを使用している場合において
も、被写体の移動に対する検出感度が敏感になり過ぎる
ことがなく、動的被写体に対する追随補正を適切に行う
ことができる。
【0011】
【実施例】図2は、本発明の自動焦点検出装置を用いた
カメラの撮影画面に対する焦点検出領域及びファインダ
ー内の表示を示している。この例では、撮影画面Sに対
して画面中央部の実線で示す3つの領域IS1,IS
2,IS3(以下、夫々、第1アイランド、第2アイラ
ンド、第3アイランドと呼ぶ)の被写体に対して焦点検
出を行うことができる。図中、点線で示している長方形
の枠AFは、焦点検出を行っている領域を撮影者に示す
べく表示されているものである。撮影画面Sの外に示さ
れている表示部Lbは焦点検出状態を示すものであり、
合焦時に緑色に点灯状態となり、焦点検出不能時には赤
色に点灯状態となるものである。Laは後述の追随モー
ドとなったときに表示されるマークである。
【0012】図3は上記焦点検出領域を有する多点焦点
検出モジュールの概略構成を示す図である。図におい
て、11は撮影レンズ、12は主ミラー、13はフィル
ム面、14はサブミラー、15は焦点検出光学系であ
る。22は焦点面近傍に配置される視野絞りであり、矩
形開口部22a,22b,22cを有している。21
a,21b,21cはコンデンサレンズ、20はモジュ
ールミラー、18a,18b,18cはセパレータレン
ズ対、16a,16b,16cはセパレータレンズの焦
点面17に配されたCCD撮影素子列である。19は絞
りマスクであり、円形乃至長円形の開口部19a,19
b,19cを有している。矩形開口部22aによって視
野が限定された像は、コンデンサレンズ21aを通過
し、視野絞り19a及びセパレータレンズ対18aによ
りCCD撮像素子列16a上に2つの像として投影され
る。この2つの像の像間隔が所定間隔のときに合焦、所
定間隔よりも狭いときには前ピン、所定間隔よりも広い
ときには後ピンと判断される。視野絞り19b,19c
の像は同様に、コンデンサレンズ21b,21c及びセ
パレータレンズ対18b,18cによりCCD撮像素子
列16b,16cに投影される。
【0013】図4(a)はこの焦点検出装置に用いられ
るCCD撮像素子列の受光部(受光部と蓄積部と転送部
を含めてCCDと呼ぶことにする)を示している。図2
の各アイランドIS1,IS2,IS3に対して、基準
部及び参照部を夫々設けており、また、中央のアイラン
ドIS2における基準部の長手方向の側部の一方に、C
CDの蓄積部への積分時間を制御する為のモニター用の
受光素子MAを設けている。各アイランドIS1,IS
2,IS3の基準部及び参照部の画素数(X,Y)は、
アイランドIS1では(34,44)、アイランドIS
2では(44,52)、アイランドIS3では(34,
44)となっている。これらは、全てワンチップ上に形
成されている。
【0014】本実施例の焦点検出装置では、上述の3つ
のアイランドの基準部を複数のブロックに分割し、この
分割した基準部の各ブロックと参照部の全て或いは一部
とを比較して焦点検出を行う。各ブロックでの焦点検出
結果のうち、最も後ピンのデータを各アイランドの焦点
検出データとし、さらに各アイランドの焦点検出データ
をもとにカメラの焦点検出データを算出する(詳細は後
述)。
【0015】この分割する範囲及び分割したアイランド
のデフォーカス範囲を図5、図6及び図4(b)に示
し、説明する。図5は、図2に示した撮影画面上での焦
点検出領域を拡大して示したものである。焦点検出のた
めの各アイランドIS1,IS2,IS3は、図4
(a)に示した基準部の領域である。尚、図5におい
て、各アイランドに示している数値は、図4(a)に示
したCCDの画素の3つ置きの差分データをとった差分
の数を示す。差分データは2つ又は1つ置きでも良い
(但し、このとき上記数値は異なる。)。したがって、
各アイランドにおける基準部と参照部の数(X,Y)は
アイランドIS1では(30,40)、アイランドIS
2では(40,50)、アイランドIS3では(30,
40)となる。各アイランドでの分割であるが、アイラ
ンドIS1では、2つのブロックに分け、上端の差分デ
ータから(1〜20)、(11〜30)とし、夫々、第
1ブロックBL1、第2ブロックBL2とする。アイラ
ンドIS2では3つのブロックに分け、左端の差分デー
タから(1〜20)、(11〜30)、(21〜40)
とし、夫々第3ブロックBL3、第4ブロックBL4、
第5ブロックBL5とする。アイランドIS3では、上
端の差分データから(1〜20)、(11〜30)の2
つのブロックとし、夫々第9ブロックBL9、第10ブ
ロックBL10とする。そして、本実施例では、上述の
第2アイランドでは、低周波の被写体用に抽出周波数を
変えたデータ、具体的には、上記画素データの7つ置き
の差分データを算出し、隣との和分データを用いて焦点
検出演算を行うようにしている。そのデータの数として
は、基準部35個、参照部45個である。このブロック
を第6ブロックBL6とする。そして、第6ブロックと
同じデータを用いて、より広い範囲の焦点検出を行うべ
く、第6ブロックを2つにブロック分けしたものを第7
ブロックBL7、第8ブロックBL8とする。
【0016】この位相差検出方式の焦点検出では、基準
部と参照部との像が一致した時の像間隔が所定の間隔よ
りも大きいときには後ピン、小さいときには前ピン、所
定の間隔で合焦となる。差分データをとった後を示す図
4(b)に基づいて具体的に説明すると、図4(b)
は、アイランドIS2の基準部と参照部とを示し、今、
ブロック分けした第4ブロックBL4のデフォーカス範
囲を考える。このとき合焦となるのは、参照部におい
て、左端から16番目乃至35番目の部分BL4’の像
と、第4ブロックBL4の像とが一致したときである。
これより像の一致が参照部の左端になると前ピンとな
り、このとき最大の前ピンのずれデータ数(以下ずれピ
ッチという)は15となる。また、像の一致が図示され
た位置よりも参照部の右側になると後ピンとなり、この
とき最大の後ピンのずれピッチは15となる。他の各ア
イランドでのブロック分けしたデフォーカス範囲につい
ても同様であり、これを図6に示すと、第3ブロックB
L3では、前ピン側ずれピッチが5、後ピン側ずれピッ
チが25、第5ブロックBL5では、前ピン側ずれピッ
チが25、後ピン側ずれピッチが5である。第1,第3
アイランドIS1,IS3については、第1,第9ブロ
ックBL1,BL9では前ピン側ずれピッチが5、後ピ
ン側ずれピッチが15、第2,第10ブロックBL2,
BL10では前ピッチ側ずれピッチが15、後ピン側ず
れピッチが5となる。第6ブロックBL6では、後ピン
側、前ピン側のずれピッチは共に5である。第7ブロッ
クでは前ピン側ずれピッチが5、後ピン側ずれピッチが
15、第8ブロックでは前ピン側ずれピッチが15、後
ピン側ずれピッチが5である。
【0017】図7は、カメラ全体のブロック回路図を示
す。μCは、カメラ全体のシーケンス及び露出、焦点検
出のための演算を行うマイクロコンピュータ(以下マイ
コンという)、LECはカメラ本体(図示せず)に装着
される交換レンズのレンズ回路で、交換レンズ固有の情
報をカメラに伝達する。AFCは、上記レンズを通過し
た光を入力し、アナログの電気信号に変換するCCDを
含む焦点検出データの出力回路であり、以下AFセンサ
ーと呼ぶ。AFセンサーは、受光素子アレイを含むCC
D回路、積分時間の制御のために使用されるモニター用
受光素子MA、このモニター用受光素子MAからの電流
を積分し、出力する積分回路ITG、積分回路ITGの
出力と所定値とを比較するコンパレータCMP、CCD
からのアナログ信号を積分回路ITGからの出力に応じ
て増幅するAGC回路から構成される。動作を簡単に説
明すると、マイコンμCから積分開始信号STが出力さ
れる。CCD及び積分回路ITGはリセットされ、それ
ぞれ積分を開始する。積分回路ITGの積分出力が所定
値となって、コンパレータCMPが反転するか、マイコ
ンμC内で計測されている積分タイマーが一定値になる
と、積分終了信号SPが出力される。これにより、CC
D回路内の積分出力は、転送レジスタに送られ、順にA
GC回路からマイコンμCへと送られる。一方、積分回
路ITGは積分終了信号SPを入力して、積分出力をホ
ールドする。AGC回路は、この出力に応じて最大8倍
までCCD回路からのアナログ信号を増幅してマイコン
μCに出力する。マイコンμCでは、このアナログデー
タをデジタルデータに変換するA/D変換器が内蔵され
ている。また、上記AGCのデータもマイコンμCに出
力されるようになっている。
【0018】LMCは、レンズを通過した光を測定し、
被写体の明るさを検出する輝度検出回路であり、被写体
の輝度に対応したアペックス系のデジタル信号Bvoを
マイコンμCに出力する。ISOは、フィルム感度読取
回路で、フィルム感度に応じたアペックス系のデジタル
信号SvをマイコンμCに出力する。DISPは、表示
回路であり、露出情報及びレンズの焦点状態を表示す
る。ENCはエンコーダであり、レンズ駆動用のモータ
Mの回転量を検出し、後述のレンズ制御回路LECON
にパルス(モータMの所定の回転量に対して出力される
パルス)を出力する。レンズ制御回路LECONは、マ
イコンμCからのモータ回転量(数)の信号及びモータ
(速度及び方向)制御信号を入力し、これに基づいて、
モータMを駆動すると共に、エンコーダENCからの信
号を入力し、所定量(モータ回転量)だけモータMが動
いたかどうかを検出し、モータMの停止制御をも行う。
マイコンμCは、内部にレンズ位置を知るためのカウン
タを有しており、内部の命令により、エンコーダからの
パルスに対してカウントアップ又はカウントダウンの動
作を行う。ILMは焦点検出不能で且つ低輝度であると
きに、被写体に向けてAF補助光を照射する補助光回路
である。
【0019】BATは電源電池であり、全ての回路に電
力を供給する。SM はメインスイッチの操作により、O
N/OFFされるスイッチである。ワンショット回路O
Sは、スイッチSM のONに連動して、パルスを発生す
る。マイコンμCはこのパルスを入力して後述のINT
0の割り込みのフローを実行する。SAFMはオートフ
ォーカスモードとマニュアルフォーカスモードとを切り
換えるスイッチである。オートフォーカスモードでは焦
点検出結果に基づいてレンズ駆動が行われ、マニュアル
フォーカスモードでは焦点検出のみが行われる。S1は
シャッター釦の第1ストロークの押し下げでONし、測
光及び焦点検出動作を開始させる撮像準備スイッチであ
る。S2はシャッター釦の第2ストローク(第1ストロ
ークよりも長い)の押し下げでONし、撮像動作を開始
させるレリーズスイッチである。Ss/cは単写モード
と連写モードとを切り換えるスイッチである。Ss/w
はスポットAFモードとワイドAFモードとを切り換え
るスイッチである。
【0020】次に、カメラの動作をマイコンμCのフロ
ーチャートに従って説明する。メインスイッチSM がO
Nされると、図10に示す“SM ON”の割込処理を実
行する。#2では、撮像倍率の大きい方の判定基準値β
H を1/40とする。#4では、撮像倍率の小さい方の
判定基準値のかさ上げ量△βを15とする。#6では撮
像準備スイッチS1がONされているか否かを判定す
る。#6で撮像準備スイッチS1がONされていなけれ
ば#160に進み、ONされていれば#8へ進む。#8
では、フリータイマーTMをリセット・スタートさせ
る。これは焦点検出時の動体判定に用いられるタイマー
である。#10では、各種フラグをリセットする。#3
0では変数N6を0とする。この変数N6は、非合焦状
態での追随判定中にレンズを駆動した回数を示す。#4
0では、レンズ回路LECからレンズ固有のデータを入
力する。レンズデータとしては、焦点距離データf、デ
フォーカス量DFをレンズ駆動量△nに変換する変換係
数KLR、後述する定数Dv∞、開放Fナンバー、等があ
る。#50では、測光回路LMCを動作させて測光デー
タBvoを測光回路LMCから入力する。#60ではA
Fの制御を行う。この#60のサブルーチンの内容の詳
細については後述する。#70では露出演算を行う。こ
の露出演算では、測定回路LMCからの測光値Bvo、
フィルム感度読取回路ISOからのフィルム感度Sv、
レンズの開放絞り値AVoから露出値Ev=Bvo+S
v+Avoを求め、決められたAEプログラムの線図に
基づいて、シャッター速度Tv、絞り値Avを求める。
#80では、シャッター釦の1段目の押し下げに続く2
段目の押し下げがなされ、レリーズスイッチS2がON
したか否かを判定する。#80でレリーズスイッチS2
がONしているときには、#90で合焦を示すフラグA
FEFがセットされているか否かを判定する。#90で
上記フラグAFEFがセットされているときには、#1
00で露出制御を行う。#110では露出制御終了後に
フィルムの1コマの巻き上げが行われる。#120では
連写モードか否かをスイッチSs/cにより判定する。
#120で連写モードでないときには、#130で撮影
準備スイッチS1がOFFされるのを待ち、撮影準備ス
イッチS1がOFFされると、#155に進む。#12
0で連写モードであるときには、#140で連写フラグ
VLYFをセットして、#40に戻る。
【0021】#80でレリーズスイッチS2がONされ
ていないときには、#150で撮影準備スイッチS1が
OFFされたか否かを判定する。#150で撮影準備ス
イッチS1がOFFされているときには、#155に進
む。#150で撮影準備スイッチS1がOFFされてい
るときには、#40に戻る。#155では全ての表示を
消灯させる。#160では、メインスイッチSM がOF
Fされているか否かを判定する。#160でメインスイ
ッチSM がOFFされているときには#165に進み、
フリータイマーTMを停止し、マイコンμCはクロック
を停止してスリープ状態となる。#160でメインスイ
ッチSM がOFFされていないときには、#6に戻って
撮影準備スイッチS1の判別を繰り返す。
【0022】次に、#60のAFのサブルーチンを図1
1以降に示す。#200では、フォーカスロックを示す
フラグFLFがセットされているか否かを判定する。#
200でフラグFLFがセットされているときには、A
Fを行う必要が無いので、リターンする。#200でフ
ラグFLFがセットされていないときには、#202で
常時動作しているフリータイマーTMから時刻を読み取
り、TM1とする。#203では、レンズ位置カウンタ
CTからレンズの繰り出し量を読み取り、CT1とす
る。#205では、補助光禁止フラグNLFがセットさ
れているか否かを判定する。#205でフラグNLFが
セットされていないときには、#210で補助光モード
を示す補助光フラグILMFがセットされているか否か
を判定する。このフラグILMFは、低輝度で焦点検出
不能のときにセットされる。#210で補助光フラグI
LMFがセットされているときには、#220で補助光
発光を示す信号を出力する。このとき、同時に計時を開
始する。#230では、AFセンサーに積分を開始させ
る信号STを出力する。#240では、40msec経
過するのを待つ。40msec経過すると、#250で
補助光発光を停止させる信号を出力する。#310では
積分終了を示す信号SPをAFセンサーに出力する。#
210で補助光フラグILMFがセットされていないと
きには、#260に進む。また、#205で補助光発光
禁止フラグNLFがセットされているときにも#260
に進む。#260では、AFセンサーに積分を開始させ
る信号STを出力する。このとき、同時に計時を開始す
る。#270ではAFセンサーから積分を終了させる信
号が入力されたかどうかを判定する。#270で積分を
終了させる信号が入力されないときには、#280で積
分開始から20msec経過したか否かを判定する。#
280で20msec経過していないときには、#27
0に戻る。#280で20msec経過していれば、#
290で低輝度であるとして、低輝度フラグLLFをセ
ットして、#310に進む。#270で積分を終了させ
る信号SPがAFセンサーから入力されたときには、低
輝度を示すフラグLLFをリセットして、#310に進
む。#310では積分終了を示す信号をAFセンサーに
出力する。
【0023】#312では、フリータイマーTMから時
刻を読み取り、TM2とする。#313では、レンズ位
置カウンタCTからレンズの繰り出し量を読み取り、C
T2とする。#314では前回の積分中心の時刻TM1
2をTM12Lに代入する。#315では前回の積分中
心でのレンズ位置CT12をCT12Lに代入する。#
316では、積分開始時と積分終了時に読み取った時刻
TM1,TM2の平均値、つまり今回の積分中心の時刻
(TM1+TM2)/2を算出し、TM12とする。#
317では、積分開始時と積分終了時に読み取ったレン
ズ繰り出し量CT1,CT2の平均値、つまり積分中心
でのレンズ位置(CT1+CT2)/2を算出し、CT
12とする。
【0024】#320ではAFセンサーから積分データ
を入力する。#325では、AFセンサーからAGCデ
ータを入力する。#330では、前回のレンズ駆動に用
いられたアイランド、つまり特定アイランドを決定す
る。このサブルーチンを図12に示し説明する。#40
0では、前回のレンズ駆動に用いられた最大相関を示す
シフト数△nと、第1アイランドでの最大相関を示すシ
フト数△n11とを比較する。#400で△n=△n1
1であれば#410に進み、前回は第1アイランドが選
択されたとして、特定アイランドを示す変数AFISを
1とし、リターンする。#400で△n≠△n11であ
れば#420に進み、シフト数△nと第2アイランドで
の最大相関を示すシフト数△n12とを比較する。#4
20で△n=△n12であれば#430に進み、前回は
第2アイランドが選択されたとして、特定アイランドを
示す変数AFISを2とし、リターンする。#420で
△n≠△n12であれば#440に進み、前回は第3ア
イランドが選択されたとして、特定アイランドを示す変
数AFISを3とし、リターンする。
【0025】特定アイランドの決定を終えると、マイコ
ンμCは図11のフローに戻り、#340のサブルーチ
ンでシーケンスの状態或いはAF状態等の条件に応じ
て、焦点検出を行うアイランドIS(又はブロックB
L)、相関演算を行う範囲(シフト数jの範囲)の決
定、及び上記条件に応じた焦点検出のためのアルゴリズ
ムを決定する。
【0026】(A)焦点検出アルゴリズムの種類 #340のサブルーチンについて説明する前に、焦点検
出アルゴリズムの種類及びその内容について簡単に説明
する。
【0027】(i)パターン認識アルゴリズム このアルゴリズムは、3つのアイランドの焦点検出の結
果に基づいて被写体の距離分布のパターンを認識し、こ
れに撮影倍率、交換レンズの焦点距離等の条件を加味し
て、3つのアイランドの焦点検出結果からレンズ駆動用
のデフォーカス量を算出する。後述の処理におけるAR
=1は、このアルゴリズムを示す。
【0028】(ii)最小デフォーカスアルゴリズム このアルゴリズムは、現在のレンズの焦点位置に最も近
い被写体に焦点を合わせるものである。後述の処理にお
けるAR=2〜4は、このアルゴリズムを示す。このう
ち、AR=4は、追随モードのときの最小デフォーカス
アルゴリズムを示す。また、AR=3は、合焦後、連写
中でないときの最小デフォーカスアルゴリズムを示す。
AR=4との違いはオフセット量△DFR を付けている
ことである。
【0029】このオフセット量△DFR について説明す
る。本発明では、合焦後、レンズを停止したままの状態
で複数回の焦点検出結果に基づいて動体(「動的被写
体」とも言う)を判定しており、もし動体であれば、1
回の焦点検出の結果が得られるまでの時間に、ある程度
動いているものであり、これを見込んでオフセット量D
R をカメラに近い方に付けている。本実施例では、カ
メラから遠ざかる被写体については考慮していないが、
動体の移動方向或いは移動速度が分かれば、それに応じ
てオフセット量DFR の大きさ及び方向を決めれば良
い。そして、このオフセット量DFR を含めた位置が、
現在のレンズの焦点位置であると仮定して、この位置に
最も近い被写体を含むアイランドのデフォーカス量を用
いる。ここでは、オフセット量DFR =50μmとす
る。AR=2は、合焦後、連写モードであるときの最小
アルゴリズムを示す。連写モードでは、レリーズ動作が
入るので、焦点検出を行っていない時間を増える。した
がって、上記のオフセット量DF R を100μmとして
いる。
【0030】(iii)特定アイランドアルゴリズム このアルゴリズムは、前回選択したアイランドを今回も
用いて、このアイランドにおいて焦点検出されたデフォ
ーカス量に基づいてレンズを駆動しようとするものであ
り、後述の処理におけるAR=5は、このアルゴリズム
を示す。
【0031】(iv)常時特定アイランド(又はブロッ
ク)アルゴリズム 常に特定のブロック(第4ブロック)或いは特定のアイ
ランド(第2アイランド)においてのみ焦点検出を行う
ものであり、後述の処理におけるAR=6はこのアルゴ
リズムを示す。
【0032】(B)アイランド(ブロック)及びシフト
範囲の決定 次に、焦点検出を行うアイランド(又はブロック)、相
関演算を行う範囲(シフト範囲)の決定について説明す
る。後述の処理では、変数Bを用いてこれらを決定して
いる。
【0033】B=1は、シフト範囲及びアイランド(又
はブロック)の制限が無いことを示す。B=2は、ブロ
ックBL1,BL2,BL4は使用せず、他の制限は無
いことを示す。B=3は、現在の焦点位置から±4ピッ
チの範囲でのみ相関演算を行うことを示す。B=4は、
現在の焦点位置から±2ピッチの範囲でのみ相関演算を
行うことを示す。
【0034】B=5は、現在の焦点位置から−2ピッチ
乃至推定合焦位置から+2ピッチ、又は、現在の焦点位
置から+2ピッチ乃至推定合焦位置から−2ピッチの範
囲でのみ相関演算を行うことを示す。前者の範囲を選択
するか、後者の範囲を選択するかは、レンズの駆動方
向、つまり推定合焦位置の方向によって変わる。B=6
は、合焦位置から±4ピッチの範囲でのみ相関演算を行
うことを示す。B=7は、前回のレンズ駆動に使用され
たアイランドについてのみ、現在の焦点位置から±4ピ
ッチの範囲でのみ相関演算を行い、他のアイランドにつ
いては制限が無いことを示す。B=8は、第2アイラン
ドについてのみ焦点検出を行い、シフト範囲については
制限が無いことを示す。B=9は、第4ブロックBL4
についてのみ焦点検出を行い、シフト範囲については制
限が無いことを示す。なお、これらを使い分けるための
処理については、後述する。
【0035】次に、#340のサブルーチンを図13及
び図14に示し説明する。#500では、レンズ駆動を
行わないマニュアルフォーカスモード(FA:Focu
sAid)であるか否かをスイッチSAFM により判定
する。スイッチSAFM がマニュアルフォーカスモード
位置にあるときには、#590でB=1(制限なし)、
#600でAR=1(パターン認識アルゴリズム)とし
てリターンする。そして、後述のパターン認識アルゴリ
ズムの#4610〜#4660で、第2アイランドを優
先している。つまり、マニュアルフォーカスモードで
は、撮影者は主被写体を画面の中央部に持って来ること
が多いので、第2アイランドを優先している。そして、
この第2アイランドで焦点検出不能のときにのみ、第1
及び第3アイランドの被写体の遠近を比較して、カメラ
側に近い被写体を含むアイランドのデフォーカス量を使
用している。相関演算のシフト範囲については、レンズ
駆動が無いので、デフォーカス量を予測できないために
制限することはできない。
【0036】#500でスイッチSAFM がオートフォ
ーカスモード位置にあるときには、#520でスポット
AFが選択されているか否かをスイッチSs/wにより
判定する。#520でスポットAFが選択されていると
きには、#530でB=9(スポットAF)、#555
でAR=6(常時特定ブロック)としてリターンする。
これはスポットAFのエリアである第4ブロックBL4
のみを選択しているものである。スポットAFでは、こ
のブロックでのAFを行うだけなので、焦点検出時間も
短く、特にシフト範囲を制限する必要はない。
【0037】#520でスポットAFが選択されていな
いときには、#540で補助光モードであるか否かを補
助光フラグILMFがセットされているか否かで判定す
る。#540で補助光フラグILMFがセットされてい
るときには、#550でB=8(第2アイランドの
み)、#555でAR=6(常時特定アイランド)とし
てリターンする。つまり、補助光モードでは、第2アイ
ランドのみを使用する。これは、補助光が照射される範
囲が標準レンズ(焦点距離35mm〜105mm)を装
着した場合に、3つのアイランドのうち、画面中央の第
2アイランドを少なくとも含み、第1及び第3アイラン
ドは含まないことがあるからである。この場合、第2ア
イランドのみで焦点検出を行うので、焦点検出時間も短
く、シフト範囲の制限は必要でない。
【0038】#540で補助光フラグILMFがセット
されていないときには、#560でフラグFPFがセッ
トされているか否かを判定する。このフラグFPFは、
強制的にパターン認識アルゴリズムを実行することを示
すフラグである。#560でフラグFPFがセットされ
ているときには、#590でB=1とし、シフト範囲の
制限は無いことを示し、#600でAR=1として、パ
ターン認識アルゴリズムであることを示す。
【0039】#560でフラグFPFがセットされてい
ないときには、#570でフラグPA1PFがセットさ
れているか否かを判定する。このフラグPA1PFは、
パターン認識アルゴリズムを1度は通ったことを示すフ
ラグである。焦点検出開始後の1回目の焦点検出時に全
エリアが低コントラストで焦点検出不能な状態(以下
「ローコン」とも呼ぶ)になったときには、レンズ駆動
を行いながら焦点検出可能なレンズ位置を探す動作(以
下「ローコンスキャン」という)が行われ、このローコ
ンスキャン時にはパターン認識アルゴリズムが選択され
る。その結果、焦点検出可能となったときには、フラグ
PA1PFがセットされる。#570でフラグPA1P
Fがセットされていないときには、#580でローコン
スキャンを示すフラグLSFがセットされているか否か
を判定する。#580でフラグLSFがセットされてい
ないときには、#590でB=1、#600でAR=1
としてリターンする。
【0040】#580でフラグLSFがセットされてい
れば、#610で変換係数KLRが所定値K1よりも大き
いか否かを判定する。変換係数KLRは、単位デフォーカ
ス量当たりのレンズ駆動量(AFモータ回転量)を求め
るための係数である。#610でKLR≦K1であるとき
には、AFモータの単位回転量当たりのデフォーカス量
が大きくなるため、レンズ駆動中の焦点検出演算の時間
が長くなり、これにより、焦点検出光学系で決まる焦点
検出可能範囲を越えてしまい、焦点検出不能となる領域
が発生する。
【0041】これを図8により説明する。図8におい
て、横軸は時間tであり、縦軸はデフォーカス量DFで
ある。DFENは、焦点検出光学系及び基準部でのデータ
数で決まる焦点検出可能範囲である。I1 ,I2 ,…は
CCDの積分時間であり、C1,C2 ,…は演算時間で
ある。積分中心TM12L,TM12,…でのデフォー
カス量から焦点検出可能範囲DFENを考えると、変換係
数KLRが大きいときには、焦点検出可能範囲DFEN内に
1回の焦点検出に要する時間(I1 +C1 ),(I2
2 ),…に駆動されるデフォーカス量が入っているの
で、被写体を見逃すことはない。ところが、変換係数K
LRが小さいときには、焦点検出可能範囲DFENに(I1
+C1 )の時間に駆動されるデフォーカス量が入らない
ので、この範囲DFNOに被写体が存在する場合には、被
写体を見逃してしまう。これを防止するために、#61
0でKLR≦K1であるときには、#620でB=2と
し、焦点検出時間を極力少なくするべく、ブロックBL
1,BL2,BL4の焦点検出を行わないようにする。
横一線のような被写体の場合、第2アイランドでは焦点
検出不能となるが、第1又は第3アイランドのどちらか
一方で焦点検出できるので、一方で良いものとし、実施
例では第1アイランド(ブロックBL1,BL2)の方
を省略している。第4ブロックを省略しているのは、第
4ブロックは第3ブロックと第5ブロックの間に存在
し、この2つのブロックBL3,BL5で第4ブロック
BL4のエリアをカバーしており、焦点検出可能な被写
体を探すだけならば、これで十分だからである。これを
示すべく、#620でB=2としている。また、#61
0でKLR>K1であるときには、#590でB=1、#
600でAR=1としてリターンする。
【0042】#570でフラグPA1PFがセットされ
ているときには、パターン認識アルゴリズムを一度通過
したということであり、#630で追随モードであるこ
とを示す追随フラグTRCFがセットされているか否か
を判定する。#630で追随フラグTRCFがセットさ
れているときには、#640でフラグLCFがセットさ
れているか否かを判定する。このフラグLCFは、前
回、全アイランドで焦点検出不能であったことを示すロ
ーコンフラグである。#640でフラグLCFがセット
されているときには、最初から焦点検出をやり直すべ
く、#590でB=1、#600でAR=1としてリタ
ーンする。
【0043】#640でフラグLCFがセットされてい
ないときには、被写体を連続して捕らえていると判断し
て、前回の合焦位置から±2ピッチのシフト範囲でのみ
相関演算を行うべく、#660でB=4とする。また、
焦点検出アルゴリズムについては、前回の合焦位置に最
も近い被写体を選択するアルゴリズムを選択するべく、
#670でAR=4としてリターンする。これは、追随
モードということであり、被写体を既に捕らえており、
1回の焦点検出の間では、被写体は合焦位置からのデフ
ォーカス量に関して余りずれないと仮定しているからで
ある。また、全アイランドを用いるのは、動体というこ
とで、被写体が左右に動くことが多いからである。
【0044】#630で追随モードを示す追随フラグT
RCFがセットされていないときには、#680でフラ
グAFPEFがセットされているか否かを判定する。こ
のフラグAFPEFは、以前に合焦があったことを示す
フラグである。#680でフラグAFPEFがセットさ
れていないときには、図14の#690でフラグV1F
がセットされているか否を判定する。このフラグV1F
は、最高速(フリーラン)でのレンズ駆動中の焦点検出
であることを示すフラグである。#690でフラグV1
Fがセットされているときには、フリーラン中の焦点検
出であると判断し、前回の合焦位置から−2(又は+
2)ピッチと推定合焦位置から+2(又は−2)ピッチ
の範囲での相関演算を行うべく、#700でB=5とす
る。これは演算時間を短くすることを目的としている
が、前回の合焦位置からデフォーカスの方向と逆方向に
2ピッチの余裕を持たせているのは、交換係数KLRの大
きなレンズが装着された場合に、カメラ内のAFモータ
の回転量が多くても少しのデフォーカス量しか動かない
ので、ノイズ或いはカメラ振れ等により誤って現在の方
向と逆の方向(上記2ピッチの余裕を持たせた方向)に
デフォーカス量が生じる場合があることを考慮したもの
である。これは被写体がレンズ駆動によるデフォーカス
量の変化よりも上記2ピッチの余裕を持たせた方向に大
きく移動する場合についても同様であり、このような場
合にも対処できるように、前回求められたデフォーカス
量と反対方向にも2ピッチの余裕を設けているものであ
る。また、焦点検出アルゴリズムについては、前回選択
されたアイランドを用いる特定アイランドアルゴリズム
を選択するべく、#710でAR=5としてリターンす
る。これは前回選択したアルゴリズムを用いることによ
り、合焦までの時間を短くすると共に、レンズの駆動を
安定化することを目的としている。というのは、この場
合にパターン認識アルゴリズム等の3つのアイランドの
中から被写体を選択するアルゴリズムを用いると、レン
ズ駆動中に誤ってデフォーカス方向の異なる別の被写体
を選ぶと、レンズは現在の駆動方向には反対方向に駆動
され、レンズ駆動が不安定になるからである。これは後
述の低速駆動中の焦点検出の場合についても同様であ
る。後者の場合には、さらにデフォーカス方向が同一で
もデフォーカス量の大きな被写体を選んだときに、低速
駆動から急に高速駆動となり、高速駆動中にデフォーカ
ス量の小さい被写体を選んだときには、また低速駆動と
なるといった不安定なレンズ駆動となる。
【0045】また、このように特定アイランドアルゴリ
ズムを用いることにより、焦点検出時間を短くすること
ができ、結果的に所定時間内における焦点検出回数を増
やして焦点検出精度を上げることができる。つまり、レ
ンズ駆動速度が高速であるときには、デフォーカス量が
大きく、そのデフォーカス量の値が多少誤差を含んでお
り、これに応じてレンズの停止位置を決めると、合焦位
置からは多少ずれることがあるが、焦点検出回数を増や
して、小さいデフォーカス量を検出する機会を増やすこ
とにより、誤差を少なくしてレンズの停止位置を決める
ようにしている。
【0046】#690でフラグV1Fがセットされてい
ないときには、フリーラン中の焦点検出ではないと判定
され、#720でフラグLMVFがセットされているか
否かを判定する。フラグLMVFは低速駆動中の焦点検
出であることを示すフラグである。#720でフラグL
MVFがセットされているときには、低速駆動中の焦点
検出であると判定され、フリーラン中の焦点検出に比べ
て焦点検出結果によるデフォーカス量が小さく、1ピッ
チが約1mmのデフォーカス量に対応するとして、通
常、±4ピッチ以下となるので、合焦位置から±4ピッ
チのシフト範囲でのみ相関演算を行うべく、#730で
B=6とし、#710でAR=5としてリターンする。
【0047】#720でフラグLMVFがセットされて
いないときには、低速駆動中の焦点検出ではないと判定
され、#740でフラグFRN1Fがセットされている
か否かを判定する。このフラグFRN1Fは、一度フリ
ーラン(最高速)によるレンズ駆動が行われ、レンズが
停止した最初の焦点検出であることを示すフラグであ
る。#740でフラグFRN1Fがセットされていると
きには、#745でこのフラグFRN1Fをリセットす
る。次に、#750でフラグNLCFがセットされてい
るか否かを判定する。このフラグNLCFは、それ以前
に行われたパターン認識アルゴリズムで焦点検出不能な
アイランドがあったことを示すフラグである。#750
でフラグNLCFがセットされているときには、前回選
択したアイランドについては±4ピッチのシフト範囲で
のみ相関演算を行い、それ以外は制限を設けずに相関演
算を行うべく、#760でB=7とし、#770でAR
=1としてリターンする。これは、前回のパターン認識
アルゴリズムで、そのときのレンズ位置の関係で認識す
べき被写体が焦点検出不能になったのではないかという
ことを確認するために、再度パターン認識アルゴリズム
を実行する訳であるが、少しでも時間が短くなるように
前回選択したアイランド、つまり焦点検出可能であった
アイランドについては、±4ピッチのシフト範囲でのみ
焦点検出演算を行うものである。
【0048】#740でフラグFRN1Fがセットされ
ていないときは、フリーランからのレンズ停止後の1回
目の焦点検出でない場合であり、また#750でフラグ
NLCFがセットされていないときは、前回のパターン
認識アルゴリズムで焦点検出不能なアイランドが無い場
合であり、これらの場合には、#780でフラグLCF
がセットされているか否かを判定する。このフラグLC
Fは、上述のように、今回の焦点検出の結果が、全アイ
ランドで焦点検出不能であることを示すフラグである。
1つでも焦点検出可能なアイランドがあれば、つまりフ
ラグLCFがセットされていなければ、現在の焦点位置
の±4ピッチのシフト範囲でのみ相関演算を行うべく、
#790でB=3とし、#770でAR=1としてリタ
ーンする。また、全アイランドで焦点検出不能(LCF
=1)であれば、シフト範囲に制限を無くすべく、#8
00でB=1とし、#770でAR=1としてリターン
する。
【0049】図13の説明に戻って、#680で以前に
合焦であったことを示すフラグAFPEFがセットされ
ているときには、#810で連写フラグVLYFがセッ
トされているか否かを判定する。この連写フラグVLY
Fは、連写モードであることを示すフラグである。#8
10で連写フラグがセットされているときには、#82
0で全アイランドで焦点検出不能であることを示すフラ
グLCFがセットされているか否かを判定する。#82
0でフラグLCFがセットされているときには、#59
0でB=1とし、#600でAR=1としてリターンす
る。#820でフラグLCFがセットされていないとき
には、#830でB=3とする。これは、連写中で、且
つ前回の焦点検出で1つでも焦点検出可能なアイランド
がある場合なので、現在の焦点位置から±4ピッチのシ
フト範囲でのみ相関演算を行うものである。つまり、連
写中であれば、露出のための時間を要するために、被写
体が動いているときには、焦点検出結果が合焦である前
回と比べてデフォーカス量が大きくなるので、シフト範
囲を大きくしているものである。今、カメラの機能とし
て、合焦しなければ撮影できないフォーカス優先方式と
しているので、ここでは少なくとも前回は合焦である。
したがって、被写体は現在の焦点位置に最も近いところ
に存在するとして、最小デフォーカスアルゴリズムを選
択するべく、#840でAR=2としてリターンする。
このとき、被写体が動体である可能性があるので、カメ
ラに近い側に100μmのオフセット量ΔDFR を設
け、この位置を合焦位置とする。
【0050】#810で連写フラグVLYFがセットさ
れていないときには、全アイランドが焦点検出不能であ
るか否かを判定するべく、#850でフラグLCFがセ
ットされているか否かを判定する。#850でフラグL
CFがセットされていないときには、焦点検出可能なア
イランドが少なくとも1つは存在するということであ
り、#890に進む。#850でフラグLCFがセット
されているときには、全アイランドが焦点検出不能であ
るということであり、#860で動体判定中フラグMV
Fがセットされているか否かを判定する。動体判定中フ
ラグMVFは、動体判定中であるときにセットされるフ
ラグである。#860で動体判定中フラグがセットされ
ていないときには、動体判定中ではないと判断し、#5
90でB=1、#600でAR=1としてリターンす
る。#860で動体判定中フラグMVFがセットされて
いるとき、或いは#850でフラグLCFがセットされ
ていないときには、現在の焦点位置から±2ピッチのシ
フト範囲でのみ相関演算を行うべく、#890でB=4
とする。また、最小デフォーカスアルゴリズムを選択し
てオフセット量ΔDFR を50μmとするべく、#90
0でAR=3としてリターンする。この#890及び#
900のステップを通るのは、動体判定中であるか、或
いはコンティニュアスAFモードのときである。動体判
定中には、焦点検出の間に被写体が動く可能性があると
し、このために、オフセット量ΔDFR を50μmとし
ている。また、ここでは、近付いてくる動的被写体のみ
を判定しているので、+50μmとしている。このオフ
セット位置に最も近いアイランドを被写体位置とする。
コンティニュアスAFモードのときも同様である。ま
た、このとき(すなわち動体判定中であるか、或いはコ
ンテニュアスAFモードのとき)、被写体が光軸方向或
いは光軸に対して垂直な平面の方向に動く可能性が高
く、全アイランドについて焦点検出不能であっても、一
時的なものであるとして±2ピッチの相関演算、最小デ
フォーカスアルゴリズム、オフセット量ΔDFR =50
μmを選択する。
【0051】図11の説明に戻って、#340のサブル
ーチンを終えると、上記サブルーチンで決められたシフ
ト数jの範囲、アイランドIS(又はブロックBL)の
選択に基づいて、#350のサブルーチンで相関演算を
行う。このサブルーチンを図15乃至図32に示し説明
する。
【0052】#1000では、変数Δn1〜Δn10、
Δn11〜Δn13、Δd1〜Δd10、Δd11〜Δ
d13に所定値K2をセットする。Δn1〜Δn10は
各ブロックBL1〜BL10での相関演算における最大
相関を示すシフト数であり、Δn11〜Δn13は各ア
イランドIS1〜IS3での選択されたシフト数であ
る。各ブロックでのΔd1〜Δd10は補間演算後の合
焦位置からのずれ量であり、Δd11〜Δd13は各ア
イランドIS1〜IS3は補間演算後の合焦位置からの
ずれ量である。また、K2は焦点検出結果で有り得ない
ような大きな負の値で、前ピン側(カメラから遠い)を
示す初期値である。#1005では、各アイランドIS
1〜IS3の差分データを作成する。第1アイランドI
S1の差分データはai (基準部)とa’i (参照
部)、第2アイランドIS2の差分データはbi (基準
部)とb’i (参照部)、第3アイランドIS3の差分
データはci (基準部)とc’i (参照部)である。
【0053】次に、第2アイランドでの相関演算を行
う。まず、#1010で第2アイランドが焦点検出不能
であることを示すフラグLCF2を予めセットしてお
く。このフラグLCF2は、後に第2アイランドが焦点
検出不能ではないと判定されたときにリセットされる。
そして、第2アイランドの中の第3ブロックの相関演算
をまず行う。上述の変数BがB=1、2又は8のとき#
1020へ、B=3のとき#1040へ、B=4のとき
#1060へ、B=5のとき#1080へ、B=6のと
き#1100へ、B=7のとき#1120へ、B=9の
とき#1160へ進む。変数Bが1、2又は8のとき、
第3ブロックでのシフト数の制限は無いので、シフト数
jの範囲を1〜31と設定する(#1030)。変数B
が3のときは、シフト範囲を現在の焦点位置から±4ピ
ッチとする。第3ブロックでの合焦位置のシフト数はj
=6であり、現在の焦点位置は(6+Δn)であるの
で、これに±4ピッチを加えて、シフト数jの範囲をΔ
n+(2〜10)と設定する(#1050)。変数Bが
4のときは、シフト範囲を現在の焦点位置から±2ピッ
チとする。上記と同様に第3ブロックでの合焦位置のシ
フト数はj=6であり、現在の焦点位置は(6+Δn)
であるので、これに±2ピッチを加えて、シフト数jの
範囲をΔn+(4〜8)と設定する(#1070)。変
数Bが5のときは、#1085で後ピンであるか否かを
判定する。後ピンであると判定されたときには、シフト
範囲を現在の焦点位置の2ピッチ後ピン(+2)から合
焦位置(j=6)の2ピッチ前ピン(−2)までとし、
シフト数jの範囲は4〜(△n+8)と設定する(#1
090)。後ピンでないと判定されたときには、シフト
範囲を現在の焦点位置(△n+6)の2ピッチ前ピン
(−2)から合焦位置(j=6)の2ピッチ後ピン(+
2)までとし、シフト数jの範囲は(△n+4)〜8と
設定する(#1095)。変数Bが6のときは、シフト
範囲を合焦位置から±4ピッチとする。合焦位置のシフ
ト数はj=6であるので、これに±4ピッチを加えて、
シフト数jの範囲を2〜10と設定する(#111
0)。変数Bが7のときは、前回採用されたアイランド
が第2アイランドであるか否かを判定するべく、#11
30で変数AFIS=2であるか否かを判定する。#1
130でAFIS=2であると判定されたときには、シ
フト範囲を現在の焦点位置(6+△n)から±4ピッチ
とし、現在の焦点位置(6+△n)に±4ピッチを加え
て、シフト数jの範囲を△n+(2〜10)と設定する
(#1140)。#1130でAFIS=2でないと判
定されたときには、シフト数の制限が無いとして、シフ
ト数jの範囲を1〜31と設定する(#1150)。変
数Bが9のときは、第4ブロックのみであるので、#1
170で第4ブロックの処理へ移行する。
【0054】B=1〜8の場合には、#1030、#1
050、#1070、#1090、#1095、#11
10、#1140、#1150のいずれかから#118
0へ進んで、ローコントラスト判定レベルKLCを所定値
LC1 に設定する。#1190では信頼性判定レベルK
YMC を所定値KYMC1に設定する。#1195では相
関を取るための基準部の開始番号をk=0とする。この
開始番号kには後で(#3010、#3030で)i=
1が加えられて、実際にはi+k=1が基準部の開始番
号となる。#1200では焦点検出不能判定及び相関演
算を行う。
【0055】この#1200のサブルーチンを図16に
示し説明する。まず、#3000で現在相関演算を行っ
ているブロック(#1200からコールされたときには
第3ブロック)が焦点検出不能であることを示すフラグ
LCFBをセットする。#3010ではコントラストを
基準部の相関演算を行っているブロック(第3ブロッ
ク)から得るために、
【0056】
【数1】 で求める。#3020では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。C≦KLCのと
きには、リターンする。この場合、フラグLCFBがセ
ットされたままでリターンされる。C>KLCのときは、
#3030で次式により相関演算を行う。
【0057】
【数2】 #3040では、相関演算値M(j)の最小値MIN
(M(j))を求める。この最小値MIN(M(j))
及びそのときのシフト数jは、1ピッチ単位で得られる
粗いものであるから、これをより細かくするべく、#3
050で補間演算を行う。補間して得られた相関演算値
の最小値をYMとし、そのときの補間したシフト量を△
dとする。#3060では、補間して得られた相関演算
値の最小値YMをコントラストCで規格化して得られた
YM/Cと所定値KYMC を比較して、信頼性を判定す
る。#3060でYM/C≧KYMC と判定されたとき
には、信頼性が無いとしてリターンする。この場合に
も、フラグLCFBがセットされたままでリターンされ
る。#3060でYM/C<KYMC と判定されたとき
には、信頼性が有ると判定し、焦点検出可能であるの
で、#3070で第2アイランドが焦点検出不能である
ことを示すフラグLCF2をリセットし、#3080で
相関演算を行っているブロックが焦点検出不能であるこ
とを示すフラグLCFBをリセットしてリターンする。
【0058】図15のフローに戻り、相関演算を行った
ブロックが焦点検出可能であるか否かを判定するべく、
#1205でフラグLCBFがリセットされているか否
かを判定する。#1205でフラグLCBFがリセット
されているときには、相関演算を行った第3ブロックの
ずれシフト数を示す変数△n3にjから合焦位置6を減
じた値を代入する(#1207)。また、合焦位置から
のずれ量を得るために、補間演算で求めたシフト数△d
から合焦位置のシフト数j=6を引き、これを第3ブロ
ックのシフト数△d3とする(#1209)。#120
5でフラグLCBFがリセットされていないときには、
第3ブロックは焦点検出不能であるということなので、
#1207、#1209をスキップして#1210に進
む。
【0059】#1210では変数Bが2であるか否かを
判定する。#1210で変数Bが2であれば、第4ブロ
ックの相関演算を省略して、#1220から第5ブロッ
クの相関演算に移行する。#1210で変数Bが2でな
ければ、#1230から第4ブロックの相関演算に移行
する。
【0060】第4ブロックの相関演算を図17に示す。
変数BがB=9のとき#1240へ、B=3のとき#1
260へ、B=4のとき#1280へ、B=5のとき#
1300へ、B=6のとき#1320へ、B=7のとき
#1340へ、それ以外のとき#1375へ進む。変数
Bが9のとき、スポットAFモードであるから、第4ブ
ロックでシフト数の制限が無いとして、シフト数jの範
囲を1〜31と設定する(#1030)。変数Bが3の
ときには、シフト範囲を現在の焦点位置から±4ピッチ
とし、変数Bが6のときには、シフト範囲を合焦位置か
ら±4ピッチとする。上述の第3ブロックでは合焦位置
のシフト数がj=6であったが、この第4ブロックでは
合焦位置のシフト数がj=16であるので、B=3のと
きには現在の焦点位置(16+△n)に、B=6のとき
には合焦位置16に夫々±4ピッチを加えて、シフト数
jの範囲を夫々△n+(12〜20)と設定する(#1
270、#1330)。変数Bが4のときは、シフト範
囲を現在の焦点位置(16+△n)から±2ピッチとす
るので、シフト数jの範囲△n+(14〜18)と設定
する(#1290)。変数Bが5のときは、#1305
で後ピンであるか否かを判定する。後ピンであると判定
されたときには、シフト範囲を現在の焦点位置の2ピッ
チ後ピン(+2)から合焦位置16の2ピッチ前ピン
(−2)までとするので、シフト数jの範囲は14〜
(△n+18)と設定する(#1310)。後ピンでな
いと判定されたときには、シフト範囲を現在の焦点位置
(16+△n)の2ピッチ前ピン(−2)側から合焦位
置16の2ピッチ後ピン(+2)側までとするので、シ
フト数jの範囲は(△n+14)〜18と設定する(#
1315)。変数Bが7のときは、前回採用されたアイ
ランドが第2アイランドであるか否かを判定するべく、
#1350で変数AFIS=2であるか否かを判定す
る。#1350でAFIS=2であるときには、シフト
範囲を現在の焦点位置(16+△n)から±4ピッチと
するので、これに±4ピッチを加えて、シフト数jの範
囲を△n+(12〜20)と設定する(#1360)。
#1350でAFIS=2でないと判定されたときに
は、シフト数の制限が無いとして、シフト数jの範囲を
1〜31と設定する(#1370)。その他の場合、つ
まり変数Bが1又は8のときは、既に(#1030で)
設定済みで変更が無いので新たに設定しない。変数Bが
2のときは、第4ブロックの相関演算は行わない(∵#
1210)。
【0061】いずれの場合も、#1250、#127
0、#1290、#1310、#1315、#133
0、#1360、#1370、#1375のいずれかか
ら#1380へ進んで、ローコントラスト判定レベルK
LCを所定値KLC1 に設定する。#1390では信頼性判
定レベルKYMC を所定値KYMC1に設定する。#13
95では相関を取るための基準部の開始番号をk=10
とする。#1400では焦点検出不能判定及び相関演算
を行う。このサブルーチンは、上述の#1200でコー
ルされたサブルーチンと同じであるので重複する説明は
省略する。サブルーチンからリターンした後、#140
3でフラグLCBFがリセットされているか否かを判定
する。#1403でフラグLCBFがリセットされてい
ると判定されたときには、第4ブロックが焦点検出不能
でないとして、#1405で最大相関を示す補間演算前
のシフト数jから合焦位置16を減じた値を第4ブロッ
クのずれシフト数△n4に代入する。#1407では、
補間演算後のシフト量△dから合焦位置のシフト数j=
16を引いて、第4ブロックの焦点ずれ量△d4=△d
−16を算出する。#1403でフラグLCBFがリセ
ットされていないと判定されたときには、第4ブロック
が焦点検出不能であると判定し、#1405と#140
7のステップをスキップする。#1410では、B=9
(スポットAF)であるか否かを判定する。#1410
でB=9であるときには、#1415で第2アイランド
のずれ量を示す△d12に△d4を入れ、第4ブロック
の焦点検出だけで良いのでリターンし、B=9でないと
きには、#1420から第5ブロックの相関演算へ移行
する。
【0062】第5ブロックの相関演算を図18に示す。
変数がB=3のとき#1460へ、B=4のとき#14
80へ、B=5のとき#1500へ、B=6のとき#1
520へ、B=7のとき#1540へ、それ以外のとき
#1575へ進む。変数Bが3のときには、シフト範囲
を現在の焦点位置から±4ピッチとし、変数が6のとき
には、シフト範囲を合焦位置から±4ピッチとする。上
述の第3、第4ブロックでは合焦位置のシフト数がそれ
ぞれj=6、j=16であったが、この第5ブロックで
は合焦位置のシフト数がj=26であるので、B=3の
ときには現在の焦点位置(26+△n)に、B=6のと
きには合焦位置26に夫々±4ピッチを加えて、シフト
数jの範囲を△n+(22〜30)と設定する(#14
70、#1530)。変数Bが4のときは、シフト範囲
を現在の焦点位置(26+△n)から±2ピッチとする
ので、現在の焦点位置(26+△n)に±2ピッチを加
えて、シフト数jの範囲を△n+(24〜28)と設定
する(#1490)。変数Bが5のときは、#1505
で後ピンであるか否かを判定する。後ピンであると判定
されたときには、シフト範囲を現在の焦点位置の2ピッ
チ後ピン(+2)から合焦位置26の2ピッチ前ピン
(−2)までとするので、シフト数jの範囲は24〜
(△n+28)と設定する(#1510)。後ピンでな
いと判定されたときには、シフト範囲を現在の焦点位置
の2ピッチ前ピン(−2)から合焦位置26の2ピッチ
後ピン(+2)までとするので、シフト数jの範囲は
(△n+24)〜28と設定する(#1515)。変数
Bが7のときは、前回採用されたアイランドが第2アイ
ランドであるか否かを判定するべく、#1550で変数
AFIS=2であるか否かを判定する。#1550でA
FIS=2であるときには、シフト範囲を現在の焦点位
置(26+△n)から±4ピッチとするので、現在の焦
点位置(26+△n)に±4ピッチを加えて、シフト数
jの範囲を△n+(22〜30)と設定する(#156
0)。#1550でAFIS=2でないと判定されたと
きには、シフト数の制限が無いとして、シフト数jの範
囲を1〜31と設定する(#1570)。その他の場
合、つまり変数Bが1、2又は8のときは、既に(#1
030で)設定済みで変更が無いので新たに設定しな
い。変数Bが9のとき(スポットAF時)には、第5ブ
ロックの相関演算には入らない(∵#1410)。
【0063】いずれの場合も、#1470、#149
0、#1510、#1515、#1530、#156
0、#1570、#1575のいずれかから#1580
へ進んで、ローコントラスト判定レベルKLCを所定値K
LC1 に設定する。#1590では信頼性判定レベルKYM
C を所定値KYMC1に設定する。#1595では相関
を取るための基準部の開始番号をk=20とする。#1
600では焦点検出不能判定及び相関演算を行う。この
サブルーチンは、上述の#1200でコールされたサブ
ルーチンと同じであるので重複する説明は省略する。サ
ブルーチンからリターンした後、#1602でフラグL
CBFがリセットされているか否かを判定する。#16
02でフラグLCBFがリセットされていると判定され
たときには、第5ブロックが焦点検出不能ではないとし
て、#1605で最大相関を示す補間演算前のシフト数
jから合焦位置26を減じた値を変数△n5に記憶させ
る。#1607では、補間演算後のシフト量△dから合
焦位置のシフト数j=26を引いて、第5ブロックの焦
点ずれ量△d5=△d−26を算出する。#1602で
フラグLCBFがリセットされていないと判定されたと
きには、第5ブロックが焦点検出不能であると判定し、
#1605と#1607のステップをスキップする。#
1610では、フラグLCF2がリセットされているか
否かを判定する。#1610でフラグLCF2がリセッ
トされていないときは、第2アイランドが今のところ焦
点検出不能であるとして、#1620から第6ブロック
の相関演算に移行する。#1610でフラグLCF2が
リセットされているときには、第3〜第5ブロックのう
ち1つでも焦点検出可能なブロックが存在するというこ
とであるから、#1625で第2アイランドの合焦位置
からの焦点ずれ量△d12を決定するサブルーチンをコ
ールする。
【0064】このサブルーチンを図19に示し説明す
る。#3200では、第3〜第5ブロックにおける焦点
ずれ量△d3〜△d5の中の最大値を検出する。これは
最も後ピン側、つまり最もカメラに近い被写体を検出し
ているものである。
【0065】最大値が△d3のときは、#3205から
#3210に進んで、第3ブロックのシフト数△n3を
第2アイランドでのシフト数△12とし、さらに、#3
220で第3ブロックでの合焦位置からの焦点ずれ量△
d3を、第2アイランドでの合焦位置からの焦点ずれ量
△d12として設定してリターンする。
【0066】最大値が△d4のときは、#3205から
#3230に進んで、第4ブロックのシフト数△n4を
第2アイランドでのシフト数△12として設定する。さ
らに、#3240で第4ブロックでの合焦点位置からの
焦点ずれ量△d4を、第2アイランドでの合焦位置から
の焦点ずれ量△d12として設定してリターンする。最
大値が△d5のときは、#3205から#3250に進
んで、第5ブロックのシフト数△n5を第2アイランド
でのシフト数△12として設定する。さらに、#326
0で第5ブロックでの合焦位置からの焦点ずれ量△d5
を、第2アイランドでの合焦位置からの焦点ずれ量△d
12として設定してリターンする。
【0067】このサブルーチンからリターンした後、#
1630から第1アイランドの相関演算に移行する。
【0068】第1アイランドの相関演算について説明す
る前に、第2アイランドにおける第6ブロックの相関演
算を図20に示し説明する。この第6ブロックは低周波
の被写体に対して焦点検出を行うためのブロックであ
る。まず、#1650では、低周波の被写体に対する焦
点検出に適するように、通常の3つ置きの差分データを
更に3つ置きの差分データとすることにより、結果的に
7つ置きの差分データを作成し、これらのうち、隣り合
う差分データを加算した演算データを作成する。つま
り、基準部及び参照部の差分データを各々ai 、a’i
とすると、第2の差分データは、(ai −ai+3 )、
(a’i −a’i+3 )となる。また、第2の差分データ
のうち、隣り合うデータを加算した演算データa”i
a”’i は次式のようになる。
【0069】
【数3】 これらを第2アイランドの差分データに関して演算し
て、第2の演算データa”i 、a”’i を得る。基準部
及び参照部の数は夫々35個及び45個となる。#16
50の演算データ作成後、変数Bを判定し、B=1、2
又は8のとき#1660へ、B=3のとき#1680
へ、B=4のとき#1700へB=5のとき#1720
へ、B=6のとき#1740へ、B=7のとき#176
0へ、それ以外のとき#1795へ進む。変数Bが1、
2又は8のとき、第6ブロックでシフト数の制限が無い
として、シフト数jの範囲を1〜11と設定する(#1
670)。変数Bが3のときは、シフト範囲を現在の焦
点位置から±4ピッチとする。第6ブロックでの合焦位
置のシフト数はj=6であるので、現在の焦点位置(6
+△n)に±4ピッチを加えて、シフト数jの範囲を△
n+(2〜10)と設定する(#1690)。変数Bが
4のときは、シフト範囲を現在の焦点位置から±2ピッ
チとする。上記と同様に第6ブロックでの合焦位置のシ
フト数はj=6であるので、現在の焦点位置(6+△
n)に±2ピッチを加えて、シフト数jの範囲を△n+
(4〜8)と設定する(#1710)。変数Bが5のと
きは、#1725で後ピンであるか否かを判定する。後
ピンであると判定されたときには、シフト範囲を現在の
焦点位置の2ピッチ後ピン(+2)から合焦位置6の2
ピッチ前ピン(−2)までとするので、シフト数jの範
囲は4〜(△n+2)と設定する(#1730)。後ピ
ンでないと判定されたときには、シフト範囲を現在の焦
点位置の2ピッチ前ピン(−2)から合焦位置6の2ピ
ッチ後ピン(+2)までとするので、シフト数jの範囲
は(△n+4)〜8と設定する(#1735)。変数B
が6のときは、シフト範囲を合焦位置から±4ピッチと
する。第6ブロックでの合焦位置のシフト数はj=6で
あるので、これに±4ピッチを加えて、シフト数jの範
囲を2〜10と設定する(#1750)。変数Bが7の
ときは、前回採用されたアイランドが第2アイランドで
あるか否かを判定するべく、#1770で変数AFIS
=2であるか否かを判定する。#1770でAFIS=
2であると判定されたときには、シフト範囲を現在の焦
点位置(6+△n)から±4ピッチとするので、現在の
焦点位置(6+△n)に±4ピッチを加えて、シフト数
jの範囲を△n+(2〜10)と設定する(#178
0)。#1770でAFIS=2でないと判定されたと
きには、シフト数の制限が無いとして、シフト数jの範
囲を1〜11と設定する(#1790)。なお、変数B
が9のときは、スポットAFであり、第4ブロックのみ
であるので、本実施例では#1795を通らない。
【0070】B=1〜8の場合には、#1670、#1
690、#1710、#1730、#1735、#17
50、#1780、1790のいずれかから#1800
へ進んで、ローコントラスト判定レベルKLCを所定値K
LC2 (≠KLC1 )に設定し、#1810では信頼性判定
レベルKYMC を所定値KYMC2(≠KLC1 )に設定す
る。つまり、第6ブロックでは、第3〜第5ブロックと
は使用するデータの個数が異なるので、ローコントラス
トの判定レベルKLCや信頼性判定レベルKYM C も第3
〜第5ブロックの判定基準とは変えている。#1820
では焦点検出不能判定及び相関演算を行う。
【0071】この#1820のサブルーチンを図21に
示し説明する。まず、#3100で現在焦点検出のため
の演算を行っているブロック(第6ブロック)が焦点検
出不能であることを示すフラグLCFBをセットする。
#3110ではコントラストを基準部の第6ブロックか
ら得るために、
【0072】
【数4】 で求める。第6ブロックでは第3〜第5ブロックとはデ
ータの個数が異なっているので、コントラストCを演算
するための演算回数も#3010とは異なっている。#
3120では求めたコントラスト値Cが所定値KLCより
も大きいか否かを判定する。所定値以下のとき(C≦K
LC)には、リターンする。コントラスト値Cが所定値K
LCよりも大きいとき(C>KLC)には、#3130に進
み、次式で相関演算を行う。
【0073】
【数5】 上式において、a”i は基準部のデータ、a”’i+j-1
は参照部のデータである。これらのデータは、#165
0の演算で得られている。第6ブロックでは第3〜第5
ブロックとはデータの個数が異なるので、相関演算の回
数が#3030とは異なっている。#3140〜#31
80では、相関演算値M(j)の最小値MIN(M
(j))を求め、これを補間演算し、相関演算の信頼性
を判定し、信頼性が有ると判断されたときには、フラグ
LCF2及びLCFBをリセットしてリターンするもの
であるが、その詳細は#3040〜#3080と全く同
様であるので、重複する説明は省略する。
【0074】図20のフローに戻り、#1820で相関
演算を行った第6ブロックが焦点検出不能でないか否か
を判定するべく、#1830でフラグLCBFがリセッ
トされているか否かを判定する。このフラグLCBFは
相関演算を行ったブロックが焦点検出不能であるときに
(#3180で)リセットされる。#1830でフラグ
LCBFがリセットされているとき、つまり第6ブロッ
クで焦点検出不能でなかったときには、第6ブロックの
焦点検出結果を第2アイランドの焦点検出結果とするべ
く、第2アイランドのずれシフト数を示す変数Δn12
に、#3140で求めた第6ブロックのシフト数jから
合焦位置6を減算した値を代入する(#1840)。ま
た、第2アイランドにおける合焦位置からのずれ量を得
るために、#3150の補間演算で求めたシフト数Δd
から第6ブロックの合焦位置でのシフト数j=6を引
き、これをΔd12とする(#1850)。そして、#
1855から第1アイランドの相関演算に移行する。ま
た、#1830でフラグLCBFがリセットされていな
いとき、つまり第6ブロックで焦点検出不能であったと
きには、#1860から第7ブロックの相関演算に移行
する。
【0075】第7ブロックの相関演算及び焦点検出不能
の判定のフローチャートを図22に示し説明する。変数
BがB=1、2又は8のとき#1870へ、B=7のと
き#1890へ、それ以外のとき#1925へ進む。変
数Bが1、2又は8のとき、第7ブロックでシフト数の
制限が無いとして、シフト数jの範囲を1〜21と設定
する(#1880)。変数Bが7のときは、前回採用さ
れたアイランドが第2アイランドであるか否かを判定す
るべく、#1900で変数AFIS=2であるか否かを
判定する。#1900でAFIS=2であるときには、
シフト範囲を現在の焦点位置(6+Δn)から±4ピッ
チとする。第7ブロックでの合焦位置のシフト数はj=
6であるので、これに±4ピッチを加えて、シフト数j
の範囲をΔn+(2〜10)と設定する(#191
0)。#1900でAFIS=2でないときには、シフ
ト数の制限が無いとして、シフト数jの範囲を1〜21
と設定する(#1920)。
【0076】#1880、#1910、#1920、#
1925のいずれかから#1930へ進んで、ローコン
トラスト判定レベルKLCを所定値KLC3 に設定し、#1
810では信頼性判定レベルKYMC を所定値KYMC3
に設定する。つまり、第7ブロックでは、第3〜第5ブ
ロックや第6ブロックとは使用するデータの個数が異な
り、基準部のデータ数が26となっているので、ローコ
ントラストの判定レベルKLCや信頼性判定レベルKYM
C も第3〜第5ブロックや第6ブロックの判定基準とは
変えている。#1945では相関を取るための基準部の
開始番号をk=0とする。この開始番号kには後で(#
3310、#3330で)i=1が加えられて、実際に
はi+k=1が基準部の開始番号となる。#1950で
は焦点検出不能判定及び相関演算を行う。
【0077】この#1950のサブルーチンを図23に
示し説明する。まず、#3300で現在焦点検出のため
の演算を行っているブロックが焦点検出不能であること
を示すフラグLCFBをセットする。#3310ではコ
ントラストを基準部の現在相関演算を行っているブロッ
ク(第7ブロック)から得るために、
【0078】
【数6】 で求める。#3320では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。所定値KLC
下のときには、リターンする。C>KLCであるときに
は、#3330で次式により相関演算を行う。
【0079】
【数7】 上式において、a”i+k は基準部のデータ、a”’
i+j-1 は参照部のデータである。これらのデータは、#
1650の演算で得られている。第7ブロックでは第3
〜第5ブロックや第6ブロックとはデータの個数が異な
るので、相関演算の回数が#3030や#3130とは
異なっている。#3340〜#3380では、相関演算
値M(j)の最小値MIN(M(j))を求め、これを
補間演算し、相関演算の信頼性を判定し、信頼性が有る
と判断されたときには、フラグLCF2及びLCFBを
リセットしてリターンするものであるが、その詳細は#
3040〜#3080と全く同様であるので、重複する
説明は省略する。
【0080】図22のフローに戻り、#1950で相関
演算を行った第7ブロックが焦点検出不能でないか否か
を判定するべく、#1960でフラグLCBFがリセッ
トされているか否かを判定する。#1960でフラグL
CBFがリセットされているとき、つまり第7ブロック
で焦点検出不能でなかったときには、第7ブロックの焦
点検出結果を第2アイランドの焦点検出結果とするべ
く、第2アイランドのシフト数を示す変数△n12に、
#3340で求めた第7ブロックのずれシフト数jから
合焦位置6を減算した値を代入する(#1970)。ま
た、第2アイランドにおける合焦位置からのずれ量△d
12を得るために、#3350の補間演算で求めたシフ
ト数△dから第7ブロックの合焦位置でのシフト数6を
引き、これを△d12とする(#1975)。そして、
#1980から第1アイランドの相関演算に移行する。
また、#1960でフラグLCBFがリセットされてい
ないとき、つまり第7ブロックで焦点検出不能であった
ときには、#1990から第8ブロックの相関演算に移
行する。
【0081】第8ブロックの相関演算及び焦点検出不能
の判定のフローチャートを図24に示し説明する。変数
BがB=3のとき#2000へ、B=4のとき#202
0へ、B=5のとき#2040へ、B=6のとき#20
60へ、B=7のとき#2080へ、それ以外のとき#
2115へ進む。変数Bが3のときはシフト範囲を現在
の焦点位置から±4ピッチとし、変数Bが6のときはシ
フト範囲を合焦位置から±4ピッチとする。第8ブロッ
クでの合焦位置のシフト数はj=16であるので、B=
3のときには現在の焦点位置(16+△n)に、B=6
のときには合焦位置16に夫々±4ピッチを加えて、シ
フト数jの範囲を△n+(12〜20)と設定する(#
2010、#2070)。変数Bが4のときは、シフト
範囲を現在の焦点位置から±2ピッチとし、現在の焦点
位置(16+△n)に±2ピッチを加えて、シフト数j
の範囲を△n+(14〜18)と設定する(#203
0)。変数Bが5のときは、#2045で後ピンである
か否かを判定する。後ピンであると判定されたときに
は、シフト範囲を現在の焦点位置の2ピッチ後ピン(+
2)から合焦位置16の2ピッチ前ピン(−2)までと
するので、シフト数jの範囲は14〜(△n+18)と
設定する(#2050)。後ピンでないと判定されたと
きには、シフト範囲を現在の焦点位置の2ピッチ前ピン
(−2)から合焦位置16の2ピッチ後ピン(+2)ま
でとするので、シフト数jの範囲は(△n+14)〜1
8と設定する(#2055)。変数Bが7のときは、前
回採用されたアイランドが第2アイランドであるか否か
を判定するべく、#2090で変数AFIS=2である
か否かを判定する。#2090でAFIS=2であると
判定されたときには、シフト範囲を現在の焦点位置(1
6+△n)から±4ピッチとするので、現在の焦点位置
(16+△n)に±4ピッチを加えて、シフト数jの範
囲を△n+(12〜20)と設定する(#2100)。
#2090でAFIS=2でないと判定されたときに
は、シフト数の制限が無いとして、シフト数jの範囲を
1〜21と設定する(2110)。
【0082】#2010、#2030、#2055、#
2050、#2070、#2100、#2110、#2
115のいずれかから#2120へ進んで、ローコント
ラスト判定レベルKLCを所定値KLC3 に設定し、#18
10では信頼性判定レベルK YMC を所定値KYMC3
設定する。つまり、第8ブロックでは、使用するデータ
の個数が第7ブロックと同じであるので、ローコントラ
ントの判定レベルKLCや信頼性判定レベルKYMC も第
7ブロックの判定基準と同じとしている。ただし、相関
を取るための基準部の開始番号は第7ブロックとは異な
り、#2135でk=10としている。この開始番号k
には後でi=1が加えられて、実際にはi+k=11が
基準部の開始番号となる。#2140では焦点検出不能
判定及び相関演算を行う。このサブルーチンは第7ブロ
ックの相関演算(#1950)で用いた図23に示すサ
ブルーチンが用いられる。ただし、第8ブロックでは合
焦位置のシフト数がj=16であり、基準部のシフト開
始番号がk=10であるので、これらのパラメータが異
なることにより、#2140では#1950とは異なる
演算結果が得られる。#2140で相関演算を行った第
8ブロックが焦点検出不能でないか否かを判定するべ
く、#2150でフラグLCBFがリセットされている
か否かを判定する。#2150でフラグLCBFがリセ
ットされているとき、つまり第8ブロックで焦点検出不
能でなかったときには、第8ブロックの焦点検出結果を
第2アイランドの焦点検出結果とするべく、第2アイラ
ンドのずれシフト数を示す変数△n12に、#3340
で求めた第8ブロックのシフト数jから合焦位置16を
減じた値を代入する(#2160)。また、第2アイラ
ンドにおける合焦位置からのずれ量△d12を得るため
に、#3350の補間演算で求めたシフト数△dから第
8ブロックの合焦位置でのシフト数16を引き、これを
△d12とする(#2170)。そして、#2180か
ら第1アイランドの相関演算に移行する。また、#21
50でフラグLCBFがリセットされていないとき、つ
まり第8ブロックでも焦点検出不能であったときには、
#2180から第1アイランドの相関演算に移行する。
この場合には、結局、フラグLCF2はリセットされな
かったことになる。
【0083】第1アイランドでの相関演算を図25に示
し説明する。まず、#2200で第1アイランドが焦点
検出不能であることを示すフラグLCF1を予めセット
しておく。このフラグLCF1は、後に第1アイランド
が焦点検出不能ではないと判定されたときにリセットさ
れる。
【0084】次に、第1アイランドの中の第1ブロック
の相関演算をまず行う。変数BがB=1のとき#221
0へ、B=2のとき#2344へ、B=3のとき#22
30へ、B=4のとき#2250へ、B=5のとき#2
270へ、B=6のとき#2290へ、B=7のとき#
2310へ、B=8のとき#2348へ進む。変数Bが
1のとき、第1ブロックでシフト数の制限が無いとし
て、シフト数jの範囲を1〜21と設定する(#222
0)。変数Bが2のとき、第1アイランドでの焦点検出
は行わず、第3アイランドに進むべく#2346が第3
アイランドの相関演算に移行する。変数Bが3のときは
シフト範囲を現在の焦点位置から±4ピッチとし、変数
Bが6のときは、シフト範囲を合焦位置から±4ピッチ
とする。第1ブロックでの合焦位置のシフト数はj=6
であるので、B=3のときには現在の焦点位置(6+△
n)に、B=6のときには合焦位置6に夫々±4ピッチ
を加えて、シフト数jの範囲を△n+(2〜10)と設
定する(#2240、#2300)。変数Bが4のとき
は、シフト範囲を現在の焦点位置(6+△n)から±2
ピッチとするので、現在の焦点位置(6+△n)に±2
ピッチを加えて、シフト数jの範囲を△n+(4〜8)
と設定する(#2260)。変数Bが5のときは、#2
275で後ピンであるか否かを判定する。後ピンである
と判定されたときには、シフト範囲を現在の焦点位置の
2ピッチ後ピン(+2)から合焦位置6の2ピッチ前ピ
ン(−2)までとするので、シフト数jの範囲は4〜
(△n+8)と設定する(#2280)。後ピンでない
と判定されたときには、シフト範囲を現在の焦点位置の
2ピッチ前ピン(−2)から合焦位置6の2ピッチ後ピ
ン(+2)までとするので、シフト数jの範囲は(△n
+4)〜8と設定する(#2285)。変数Bが7のと
きは、前回採用されたアイランドが第1アイランドであ
るか否かを判定するべく、#2320で変数AFIS=
1であるか否かを判定する。#2320でAFIS=1
であると判定されたときには、シフト範囲を現在の焦点
位置から±4ピッチとするので、現在の焦点位置(6+
△n)に±4ピッチを加えて、シフト数jの範囲を△n
+(2〜10)と設定する(#2330)。#2320
でAFIS=1でないと判定されたときには、シフト数
の制限が無いととして、シフト数jの範囲を1〜21と
設定する(#2340)。変数Bが8のときは、補助光
モードであり、第2アイランドの焦点検出のみであるの
で、第1アイランドの焦点検出も第3アイランドの焦点
検出も省略し、リターンする。
【0085】#2220、#2240、#2260、#
2280、#2285、#2300、#2330、#2
340のいずれかでシフト数jの範囲を設定した後、#
2350でローコントラスト判定レベルKLCを所定値K
LC1 に設定する。#2360では信頼性判定レベルKYM
C を所定値KYMC1に設定する。第1ブロックでは基
準部のデータ数が第3〜第5ブロックと同じであるの
で、判定基準も同じ値を用いるものである。#2365
では相関を取るための基準部のシフト開始番号をk=0
とする。この開始番号kには後で(#3510、353
0で)i=1が加えられて、実際にはi+k=1が基準
部の開始番号となる。#2370では焦点検出不能判定
及び相関演算を行う。
【0086】この#2370のサブルーチンを図26に
示し説明する。まず、#3500で現在焦点検出のため
の演算を行っているブロックが焦点検出不能であること
を示すフラグLCFBをセットする。#3510ではコ
ントラストを基準部における現在相関演算を行っている
ブロックから得るために、
【0087】
【数8】 で求める。#3520では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。C≦KLCのと
きには、リターンする。この場合、フラグLCFBがセ
ットされたままでリターンされる。C>KLCのときは、
#3530で次式により相関演算を行う。
【0088】
【数9】 #3540では、相関演算値M(j)の最小値MIN
(M(j))を求める。この最小値MIN(M(j))
及びそのときのシフト数jは、1ピッチ単位で得られる
粗いものであるから、これをより細かくするべく、#3
550で補間演算を行う。補間して得られた相関演算値
の最小値をYMとし、そのときの補間したシフト量を△
dとする。#3560では、補間して得られた相関演算
値の最小値YMをコントラストCで規格化して得られた
値YM/Cと所定値KYMC を比較して、信頼性を判定
する。#3560でYM/C≧KYMC と判定されたと
きには、信頼性が無いとしてリターンする。この場合に
も、フラグLCFBがセットされたままでリターンされ
る。#3560でYM/C<KYMC と判定されたとき
には、信頼性が有ると判断し、焦点検出可能であるの
で、#3570で第1アイランドが焦点検出不能である
ことを示すフラグLCF1をリセットし、#3580で
相関演算を行っているブロックが焦点検出不能であるこ
とを示すフラグLCFBをリセットしてリターンする。
【0089】図25のフローに戻り、相関演算を行った
ブロックが焦点検出不能であるか否かを判定するべく、
#2380でフラグLCFBがリセットされているか否
かを判定する。このフラグLCFBは相関演算を行った
ブロック(第1ブロック)が焦点検出不能でないときに
(#3580で)リセットされる。#2380でフラグ
LCFBがリセットされているときには、相関演算を行
ったブロック(第1ブロック)のずれシフト数を示す変
数△n1として、#3540で求めたシフト数jから合
焦位置6を減じた値を代入する(#2382)。また、
相関演算を行ったブロック(第1ブロック)での合焦か
らのずれ量△d1を得るために、#3550の補間演算
で求めたシフト数△dから第1ブロックにおける合焦位
置でのシフト数j=6を引き、これを△d1とする(#
2384)。なお、#2380でフラグLCFBがリセ
ットされていないときには、第1ブロックが焦点検出不
能であったということであるから、#2382、#23
84をスキップして#2386に進む。#2386から
第2ブロックの相関演算に移行する。
【0090】第2ブロックの相関演算を図27に示し説
明する。変数BがB=3のとき#2390へ、B=4の
とき#2410へ、B=5のとき#2430へ、B=6
のとき#2450へ、B=7のとき#2470へ、それ
以外のとき#2505へ進む。変数Bが3のときは、シ
フト範囲を現在の焦点位置から±4ピッチとする。変数
Bが6のときは、シフト範囲を合焦位置から±4ピッチ
とする。上述の第1ブロックでは合焦位置のシフト数が
j=6であったが、この第2ブロックでは合焦位置のシ
フト数がj=16であるので、B=3のときには現在の
焦点位置(16+△n)に、B=6のときには合焦位置
16に夫々±4ピッチを加えて、シフト数jの範囲を△
n+(12〜20)と設定する(#2400、#246
0)。変数Bが4のときは、シフト範囲を現在の焦点位
置から±2ピッチとするので、現在の焦点位置(16+
△n)に±2ピッチを加えて、シフト数jの範囲を△n
+(14〜18)と設定する(#2420)。変数Bが
5のときは、#2435で後ピンであるか否かを判定す
る。後ピンであると判定されたときには、シフト範囲を
現在の焦点位置の2ピッチ後ピン(+2)から合焦位置
16の2ピッチ前ピン(−2)までとするので、シフト
数jの範囲は14〜(△n+16)と設定する(#24
40)。後ピンでないと判定されたときには、シフト範
囲を現在の焦点位置の2ピッチ前ピン(−2)から合焦
位置16の2ピッチ後ピン(+2)までとするので、シ
フト数jの範囲は(△n+14)〜18と設定する(#
2445)。変数Bが7のときは、前回採用されたアイ
ランドが第1アイランドであるか否かを判定するべく、
#2480で変数AFIS=1であるか否かを判定す
る。#2480でAFIS=1であると判定されたとき
には、シフト範囲を現在の焦点位置から±4ピッチとす
るので、現在の焦点位置(16+△n)に±4ピッチを
加えて、シフト数jの範囲を△n+(12〜20)と設
定する(#2490)。#2480でAFIS=1でな
いと判定されたときには、シフト数の制限が無いとし
て、シフト数jの範囲を1〜21と設定する(#250
0)。その他の場合には、既に設定済みで変更が無いの
で新たに設定しない。
【0091】#2400、#2420、#2440、#
2445、#2460、#2490、#2500、#2
505のいずれかから#2510へ進んで、ローコント
ラスト判定レベルKLCを所定値KLC1 に設定する。#2
520では信頼性判定レベルKYMC を所定値KYMC1
に設定する。つまり、第2ブロックのデータ数は第1ブ
ロックと同じであるので、判定基準も第1ブロックと同
一とする。ただし、第2ブロックにおいて、相関を取る
ための基準部の開始番号kについては、第1ブロックと
は異なり、#2525でk=10とする。#2527で
は焦点検出不能判定及び相関演算を行う。このサブルー
チンは、上述の#2370でコールされたサブルーチン
と同じであるが、第2ブロックではシフト数jの範囲や
開始番号kが第1ブロックとは異なるので、演算結果は
#2370とは異なる。サブルーチンからリターンした
後、#2530でフラグLCFBがリセットされている
か否かを判定する。#2530でフラグLCFBがリセ
ットされているときには、第2ブロックが焦点検出不能
ではないとして、#2535で最大相関を示す補間演算
前のずれシフト数jから合焦位置16を減じた値を変数
△n2に代入する。#2540では、補間演算後のシフ
ト量△dから合焦位置のシフト数j=16を引いて、第
2ブロックの焦点ずれ量△d2=△d−16を算出す
る。#2530でフラグLCFBがリセットされていな
いと判定されたときには、第2ブロックが焦点検出不能
であると判断し、#2535と#2540のステップを
スキップして、#2545に進む。
【0092】#2545では、フラグLCF1がリセッ
トされているか否かを判定する。#2545でフラグL
CF1がリセットされていないときは、第1アイランド
が焦点検出不能であるとして、#2550から第3アイ
ランドの相関演算に移行する。#2545でフラグLC
F1がリセットされているときには、第1又は第2ブロ
ックのうち1つでも焦点検出可能なブロックが存在する
ということであるから、#2547で第1アイランドの
合焦位置からの焦点ずれ量△d11を決定するサブルー
チンをコールする。
【0093】このサブルーチンを図28に示し説明す
る。#3400では、第1及び第2ブロックにおける焦
点ずれ量△d1、△d2の中の最大値を検出する。これ
は最も後ピン側、つまり最もカメラに近い被写体を検出
している。最大値が△d1のときは、#3405から#
3410に進んで、第1ブロックのシフト数△n1を第
1アイランドでのシフト数△n11として設定する。さ
らに、#3420で第1ブロックでの合焦位置からの焦
点ずれ量△d1を、第1アイランドでの合焦位置からの
焦点ずれ量△d11として設定しリターンする。
【0094】最大値が△d2のときは、#3405から
#3430に進んで第2ブロックのシフト数△n2を第
1アイランドでのシフト数△n11として設定する。さ
らに、#3440で第2ブロックでの合焦位置からの焦
点ずれ量△d2を、第1アイランドでの合焦位置からの
焦点ずれ量△d11として設定しリターンする。
【0095】このサブルーチンからリターンした後、#
2550から第3アイランドの相関演算に移行する。
【0096】第3アイランドの相関演算を図29乃至図
32に示す。第3アイランドは第1アイランドと左右対
称に構成されており、データ数が同じであるので、処理
内容も基本的には同じである。ただし、第1ブロックに
代えて第9ブロック、第2ブロックに代えて第10ブロ
ック、△n1に代えて△n9、△d1に代えて△d9、
△n2に代えて△n10、△d2に代えて△d10、△
n11に代えて△n13、△d11に代えて△d13、
フラグLCF1に代えてフラグLCF3を用いること、
AFIS=1の判定に代えてAFIS=3の範囲を行う
ことが異なる。また、#3610のコントラストの演算
式と#3630の相関演算式が各々次式のようになるこ
とが異なる。
【0097】
【数10】
【0098】
【数11】 さらに、#2570及び#2580でB=2の場合にも
シフト範囲に制限を設けない点が異なり、また第3アイ
ランドの処理が終了した後、他のアイランドの相関演算
には進まずにリターンすることが異なる。よって、以上
の相違点を示すに止どめ、第1アイランドの相関演算に
関する説明を第3アイランドの相関演算に関する説明に
援用し、各アイランドでの相関演算と焦点検出不能判定
の処理に関する説明を終える。
【0099】図11の#350における相関演算を終え
ると、#360のローコン判定を行う。これを図33に
示し説明する。#4000では、アルゴリズムがAR=
6(補助光モード或いはスポットAF)であるか否かを
判定する。#4000でAR=6ではないときには、#
4010でAR=5(特定アイランドアルゴリズム)で
あるか否かを判定する。#4010でAR=5であると
きには、その特定アイランドが第1アイランドであるか
否かを判定するべく、#4020で変数AFIS=1で
あるか否かを判定する。#4020で変数AFIS=1
であるときには、特定アイランドが第1アイランドであ
ると判定し、この第1アイランドが焦点検出不能である
か否かを判定するべく、#4030でフラグLCF1が
セットされているか否かを判定する。#4030でフラ
グLCF1がセットされているときには、第1アイラン
ドが焦点検出不能であると判定し、#4072に進む。
#4030でフラグLCF1がセットされていないとき
には、特定アイランドアルゴリズムで使用される第1ア
イランドが焦点検出不能でないと判定し、リターンす
る。#4020で変数AFIS=1でないときには、特
定アイランドが第2アイランドであるか否かを判定する
べく、#4040で変数AFIS=2であるか否かを判
定する。
【0100】#4040で変数AFIS=2であるとき
には、特定アイランドが第2アイランドであると判定
し、この第2アイランドが焦点検出不能であるか否かを
判定するべく、#4050でフラグLCF2がセットさ
れているか否かを判定する。#4050でフラグLCF
2がセットされているときには、第2アイランドが焦点
検出不能であると判定し、#4072に進む。#405
0でフラグLCF2がセットされていないときには、特
定アイランドアルゴリズムで使用される第2アイランド
が焦点検出不能でないと判定し、リターンする。
【0101】#4040で変数AFIS=2でないとき
には、特定アイランドが第3アイランドであると判断さ
れるので、この第3アイランドが焦点検出不能であるか
否かを判定するべく、#4060でフラグLCF3がセ
ットされているか否かを判定する。#4060でフラグ
LCF3がセットされているときには、第3アイランド
が焦点検出不能であると判定し、#4072に進む。#
4060でフラグLCF3がセットされていないときに
は、特定アイランドアルゴリズムで使用される第3アイ
ランドが焦点検出不能でないと判定し、リターンする。
【0102】#4000でAR=6であるときには、補
助光モード或いはスポットAFであると判定し、補助光
モード或いはスポットAFで使用される第2アイランド
が焦点検出不能であるか否かを判定するべく、#407
0でフラグLCF2がセットされているか否かを判定す
る。#4070でフラグLCF2がセットされていない
ときには、補助光モード或いはスポットAFで使用され
る第2アイランドは焦点検出不能でないと判定し、リタ
ーンする。#4070でフラグLCF2がセットされて
いるときには、前回の焦点検出結果が焦点検出不能であ
ったか否かを判定するべく、#4072でフラグLCF
がセットされているか否かを判定する。#4072でフ
ラグLCFがセットされていないときには、前回の焦点
検出結果が焦点検出不能ではなかったと判定し、#40
74でフラグLLCFをリセットて、#4080に進
む。#4072でフラグLCFがセットされているとき
には、前回の焦点検出結果が焦点検出不能であったと判
定し、#4076でフラグLLCFをセットして、#4
080に進む。#4080では、今回の焦点検出結果が
全アイランドで焦点検出不能であることを示すフラグL
CFをセットし、リターンする。
【0103】#4010でAR=5(特定アイランドア
ルゴリズム)でないときには、各アイランドで焦点検出
不能であるか否かを判定するべく、#4090、#41
00、#4110でフラグLCF1、LCF2、LCF
3がセットされているか否かを判定する。#4090で
フラグLCF1がセットされていないときには、第1ア
イランドが焦点検出不能でないと判定し、リターンす
る。#4100でフラグLCF2がセットされていない
ときには、第2アイランドが焦点検出不能でないと判定
し、リターンする。#4110でフラグLCF3がセッ
トされていないときには、第3アイランドが焦点検出不
能でないと判定し、リターンする。#4090〜#41
10でフラグLCF1〜LCF3がいずれもセットされ
ているときには、第1〜第3アイランドがすべて焦点検
出不能であると判定し、#4072に進む。
【0104】図11において、ローコン判定(#36
0)のサブルーチンからリターンすると、焦点検出不能
であるか否かを判定するべく、#370でフラグLCF
がセットされているか否かを判定する。#370でフラ
グLCFがセットされていないときには、焦点検出不能
でないと判定し、#380でアルゴリズムを決定し、そ
のアルゴリズムに基づいてデフォーカス量を決定する。
その後、#390に進み、ワンショットAFモードとコ
ンティニュアスAFモードの自動選択を行い、リターン
する。通常は、合焦した後、AF動作を行わないワンシ
ョットAFモードを優先しながら、被写体が動体のとき
にのみ、これを検出して、被写体に追随する追随モード
(コンティニュアスAFモードも含む)への切換を行っ
ているものである。なお、#370で焦点検出不能(L
CF=1)と判定されたときにも、この#390の処理
に入るが、追随モードでないときは、焦点検出不能のと
きの制御を行うものであり、この制御も#390の処理
の中に含まれている。
【0105】図34以下にアルゴリズム決定及びデフォ
ーカス量決定のサブルーチンを示し説明する。#420
0では最もカメラに近い被写体の撮影倍率βN を算出す
る。まず、一般的な撮影倍率βの求め方について説明す
る。
【0106】一般的な撮影倍率βの求め方 レンズの無限遠位置から現在位置までの繰り出し量をD
0 、現在位置での撮影距離をd、レンズの焦点距離を
fとすると、近似的に d=f2 /DF0 と表すことができる。ここで、レンズが最端の位置に繰
り込んだ状態から現在位置まで繰り出した状態をモニタ
ーしているパルスカウンタの値(N)と、繰り出し量
(DF0 )とは一般に比例関係であり、 N=KLR×DF0 (KLRは定数) これにより、レンズの現在位置での撮影距離は、 d=f2 LR/N となり、上式の両辺について対数をとれば、 log2 d=log2 2 LR−log2 N log2 2 =Dv∞−2log2 N (ここで、Dv∞=2log2 2 LRとする。)とな
る。撮影距離をアペックス系で、Dv=log2 2
すれば、 Dv=Dv∞−2log2 N …(*) となる。
【0107】今、カメラの演算は、アペックス系で行わ
れており、(*)式において、Dv∞をレンズ固有の情
報として、アペックス系で得て、レンズ繰り出しのパル
ス数Nをアペックス系に変換して演算すれば、撮影距離
Dvがアペックス系で求まることになる。
【0108】この繰り出し量Nをアペックス系に変換す
る方法を以下に示す。まず、log 2 N=DVN/2を求
める。この式から分かるように、N=1のとき即ち1パ
ルス分だけ繰り出したとき、DVN/2=0となり、
(*)式より、このときの距離DvはDv∞となる。
【0109】レンズ繰り出しのパルス数Nが2以上の場
合、上記カウンタの最大ビットから数えて、1が立って
いるビットbN の桁数Nを整数値Nとして、それより下
位の4桁をそれぞれ1/2、1/4、1/8、1/16
の重みを持った小数部とし、それより下位の桁を無視す
る。例えば、…b9 8 7 6 5 …=…10111
…(b10以上のビットは0)とすれば、(9+7/1
6)とし、また、…b1211109 8 …=…110
10…(b13以上のビットは0)とすれば、(12+1
0/16)とし、この値をlog2 Nとする。そして、
この値を2倍して、2log2 Nを求める。上記の例で
は、(9+7/16)を2倍して(18+7/8)、
(12+10/16)を2倍して(24+10/8)=
(25+2/8)となる。そして、(*)式のDv=D
v∞−2log2 Nに基づいてDvを求めれば良い。こ
のとき、Dvの値において少し誤差(0.1Dv)が出
るが、無視できる値である。次に、Dv∞の値である
が、これはレンズ繰り出しのパルス数Nが2、すなわち
ビットb1 に1が立ったときに、レンズの焦点の合って
いる距離に対応したDv値に2を加えた値とすれば良
い。
【0110】以上のようにして求めた撮影距離Dvの値
は、現在のレンズ位置に対する撮影距離(d)に関する
情報である。現在のレンズ位置に対して、あるデフォー
カス量(DF)を持った被写体までの距離(x)は、現
在のレンズ位置を示すカウンタの値をNとし、レンズの
駆動量を示す△N=KLR×DFを求めて、N=N+△N
として、上式に当てはめれば良く、レンズの被写体位置
での撮影距離(被写体距離)は、 x=f2 LR/(N+△N) となり、上式の両辺について対数をとれば、 log2 x=log2 2 LR−log2 (N+△N) Dv=Dv∞−2log2 (N+△N) ただし、 Dv=log2 2 ,Dv∞=2log2 2 LR 被写体位置での撮影倍率は、β=f/xであり、 log2 β=log2 f−log2 x 2log2 β=2log2 f−Dv となる。したがって、焦点距離データとしては、アペッ
クス系の2log2 fで記憶しておけば良い。
【0111】最近被写体の撮影倍率βN の求め方 次に、カメラに最も近い被写体の撮影倍率βN を求める
方法を図35に示し説明する。#4500では、各アイ
ランドの合焦位置からのずれ量△d11〜△d13の中
から最大値を求める。最大値が△d11のときには、#
4501から#4502に進んで、最大ずれ量△dma
xに△d11を代入し、#4504でシフト数△nに第
1アイランドのシフト数△n11を代入し、#4514
に進む。最大値が△d12のときには、#4501から
#4506に進んで、最大ずれ量△dmaxに△d12
を代入し、#4508でシフト数△nに第2アイランド
のシフト数△n12を代入し、#4514に進む。最大
値が△d13のときには、#4501から#4510に
進んで、最大ずれ量△dmaxに△d13を代入し、#
4512でシフト数△nに第3アイランドのシフト数△
n13を代入し、#4514に進む。
【0112】#4514では、最大ずれ量△dmaxに
1ピッチ当たりのデフォーカス量SAを掛けて、デフォ
ーカス量DFを算出する。このデフォーカス量DFを利
用して、#4516のサブルーチンで撮影倍率βを求
め、求めた撮影倍率βを#4518で最近被写体の最近
倍率βN に代入して、リターンする。
【0113】図36に撮影倍率算出用のサブルーチンを
示し説明する。このサブルーチンは、デフォーカス量D
Fを引数として撮影倍率βを算出した後、リターンする
ものである。まず、#4520ではデフォーカス量DF
にレンズ駆動量変換係数KLRを掛けて、レンズ駆動量N
1(AFモータの回転数)を算出する。#4530で
は、現在のレンズ繰り出し量N2に上記レンズ駆動量N
1を加算して、合焦位置のレンズ繰り出し量N3を算出
する。#4540では、上記レンズ繰り出し量N3をア
ペックス系に変換して、Dv’=2log2 N3とす
る。#4550では、レンズ固有の情報Dv∞との差分
として、撮影距離Dv=Dv∞−Dv’を求める。#4
560では、アペックス系の焦点距離fからアペックス
系の撮影距離Dvを引いて、アペックス系の撮影倍率β
を求め、リターンする。
【0114】このように、撮影倍率βはレンズ繰り出し
量から求めることができるのが、他の方法として、距離
検出手段から撮影距離xを求めて、焦点距離fとの比率
から、β=f/x(非アペックス系)として算出しても
良い。図34のフローに戻り、#4210では焦点検出
不能であることを示すフラグLCFをリセットする。#
4220ではローコンサーチを示すフラグLCSFをリ
セットする。
【0115】次に、アルゴリズム選択のための変数が、
AR=1のときは#4230へ、AR=2のときは#4
260へ、AR=3のときは#4280へ、AR=4の
ときは#4300へ、AR=5のときは#4330へそ
れぞれ進み、AR=6のときはデフォーカス量△dに第
2アイランドのデフォーカス量△d12を入れて#43
45へ進む。
【0116】まず、変数ARが1のときは、#4240
でパターン認識アルゴリズムを実行する。これを図37
に示し説明する。#4600では、パターン認識アルゴ
リズムを通過したことを示すフラグPA1PFをセット
する。#4610ではマニュアルフォーカスモード(F
A:Focus Aid)であるか否かをスイッチS AF
M により判定する。#4610でマニュアルフォーカ
スモードであれば、このモードで優先される第2アイラ
ンドが焦点検出不能か否かをフラグLCF2により判定
する。#4620でフラグLCF2がセットされていな
いときには、第2アイランドが焦点検出不能ではないと
判定し、#4630で合焦判定用の焦点ずれ量△dに第
2アイランドの焦点ずれ量△d12を代入してリターン
する。これは手動で焦点調節を行うときには、被写体を
画面中央(第2アイランド)に持ってくることが多いか
らである。その理由として、従来から画面中央に設けら
れたスプリットプリズムの像を見てピント合わせを行っ
ていることが多いからである。#4620でフラグLC
F2がセットされているときには、第2アイランドが焦
点検出不能であると判定し、#4640で第1アイラン
ドの焦点ずれ量△d11と第3アイランドの焦点ずれ量
△d13を比較する。#4640で△d11<△d13
であるときには、第3アイランドの被写体の方がカメラ
に近いと判定し、合焦判定用の焦点ずれ量△dに第3ア
イランドの焦点ずれ量△d13を代入してリターンす
る。#4640で△d11≧△d13であるときには、
第1アイランドの被写体の方がカメラに近いと判定し、
合焦判定用の焦点ずれ量△dに第1アイランドの焦点ず
れ量△d11を代入してリターンする。
【0117】#4610でマニュアルフォーカスモード
でないときには、オートフォーカスモードであると判定
し、#4670に移行して交換レンズの焦点距離fが3
5mm未満であるか否かを判定する。#4670で焦点
距離fが35mm未満であるときには、広角レンズが装
着していると判定し、レンズ駆動用の焦点ずれ量△dと
してカメラに最も近い被写体の焦点ずれ量△dmaxを
採用し、リターンする。これは、広角レンズを使用する
場合には、風景写真や風景を背景とした記念写真を撮る
場合が多いと考えられ、このような場合にはカメラに最
も近い被写体が主被写体であることが多いからである。
【0118】#4670で焦点距離fが35mm以上で
あるときには、#4690で第2アイランドが焦点検出
不能であるか否かをフラグLCF2により判定する。#
4690でフラグLCF2がセットされているときに
は、第2アイランドが焦点検出不能であると判断され、
この場合には、パターン認識を行うことができないの
で、とりあえずカメラに最も近い被写体にピントを合わ
せるべく#4680に進む。
【0119】#4690でフラグLCF2がセットされ
ていないときには、第2アイランドが焦点検出可能であ
ると判断され、小さい方の撮影倍率の判定基準βL を算
出する。これを図38に示し説明する。#4850では
交換レンズから読み取った焦点距離fに応じた撮影倍率
(1/β1)の分母の値β1をROMテーブルから読み
出す。#4860では、このβ1に△βを加えて、
βL ’を求める。△βについては後述する。#4870
ではβL ’の逆数を求めて、上述の判定基準βL を演算
してリターンする。
【0120】ここで、小さい方の撮影倍率の判定基準β
L を交換レンズの焦点距離fにより変化させている理由
を説明する。判定基準βL は焦点距離fが小さいほど大
きくしている。そして、この判定基準βL よりも撮影倍
率が小さいと、最近被写体のアイランドを用いるように
している。焦点距離fが短いほど被写界深度が深くな
り、決めた撮影倍率(例えば、f=35mm、β=1/
50)での最近の被写体が存在するアイランドで焦点調
節を行っても、背景までピントの合う確率が高くなる。
逆に焦点距離がfが大きいほど、被写界深度が浅くな
り、上記と同一の撮影倍率で最近の被写体に焦点調節を
行うと、ピントの合う範囲は小さく、最近の被写体にピ
ントを合わせることは良くなかった。このことは実写に
より確認している。したがって、この被写界深度を考慮
に入れて、焦点距離が長くなるほど判定基準βL を小さ
くして、焦点距離が短い場合よりも最近の被写体のアイ
ランドを選択するアルゴリズムを用いる確率を少なくし
ている。
【0121】
【表1】 なお、#4850で用いるROMテーブルの一例を示せ
ば、表1のようになる。
【0122】図37に戻り、次のステップ#4710か
ら撮影倍率に応じて選択するアイランドを決定する制御
を行う。本発明では、使用する撮影倍率を3つのアイラ
ンドの中で最もカメラに近い被写体を検出したアイラン
ドの焦点検出結果を用いて決定している。そして、その
撮影倍率βN が大きいときには、第2アイランドでの焦
点検出結果を用いて焦点調節を行っている。これは、撮
影倍率βN が大きいときは、被写体が大きいと考えら
れ、撮影倍率を求めたアイランドがどこであっても第2
アイランドを必ず含むと考えられるからである。撮影倍
率βN が中ぐらいのとき、基本的な考え方は上述と同じ
である。ただ、第2アイランドが最もカメラから遠いと
きは、中抜け等が考えられ、このときは被写体が選定し
にくいので、距離分布の中央のデフォーカス量を持つア
イランドを用いている。第2アイランド以外のアイラン
ドのうち、1つが焦点検出不能であるときには、カメラ
に最も近い被写体が存在するアイランドを用いる。撮影
倍率βN が小さいとき、このときは風景或いは風景を含
む人物写真ということでカメラに最も近いアイランドを
用いている。
【0123】以下、これをフローチャートを用いて説明
する。#4710では、撮影倍率β N が大きい方の判定
基準βH よりも大きいか否かを判定する。#4710で
βN>βH であるときには、#4800で大きい方の判
定基準βH を1/50にしてヒステリシスを付ける。こ
れは撮影倍率によるアルゴリズムの切換頻度を少なく
し、焦点検出毎の焦点ずれ量の変化を少なくして安定し
た焦点検出動作を得るためである。βN >βH であると
き、被写体は比較的大きく、第2アイランドのみで十分
であると判断されるので、#4810でレンズ駆動用の
焦点ずれ量△dに第2アイランドの焦点ずれ量△d12
を代入し、#4815でシフト数△nに第2アイランド
のシフト数△n12を代入してリターンする。
【0124】#4710でβN ≦βH であるときには、
#4720で判定基準βH を1/40とし、#4730
でβH ≧βN ≧βL であるか否かを判定する。#473
0でβN <βL であるときには、上述と同様にβL にも
ヒステリシスを付けるべく、#4740で△β=40と
しており、この△βの値を変えることにより、ヒステリ
シスを付けている。#4750ではレンズ駆動用の焦点
ずれ量△dに最大の焦点ずれ量△dmaxを代入する。
これは、βN <βL であるときは、風景写真や風景を背
景にした記念写真が多く、主被写体がカメラに最も近い
ところに存在する確率が高いと考えられるからである。
【0125】#4730でβH ≧βN ≧βL であるとき
には、#4760で△β=15として元の値に戻す。#
4770では被写体の分布が単調分布しているか否かを
判定する。このサブルーチンを図39に示し説明する。
#4900では第1アイランドと第2アイランドの焦点
ずれ量△d1,△d2を比較し、△d1<△d2であれ
ば#4910へ、△d1≧△d2であれば#4930へ
進む。#4910では、第2アイランドと第3アイラン
ドの焦点ずれ量△d2,△d3を比較し、△d2≧△d
3であれば#4920へ、△d2<△d3であれば#4
940へ進む。#4930では、第2アイランドと第3
アイランドの焦点ずれ量△d2,△d3を比較し、△d
2<△d3であれば#4920へ、△d2≧△d3であ
れば#4940へ進む。#4920では、被写体が単調
分布であることを示す単調フラグMTFをリセットして
リターンする。また、#4940では、被写体が単調分
布であることを示す単調フラグMTFをセットしてリタ
ーンする。
【0126】つまり、#4900、#4910、#49
30で第1〜第3アイランドの各焦点ずれ量△d1〜△
d3を比較し、その結果に応じて単調フラグを#492
0又は#4940でリセット又はセットしており、△d
1≧△d2≧△d3の場合には、#4900、#493
0、#4940と進んで単調フラグMTFをセットし、
△d1<△d2<△d3の場合には、#4900、#4
910、#4940と進んで単調フラグMTFをセット
する。また、△d1≧△d2,△d2<△d3の場合に
は、#4900、#4930、#4920と進んで単調
フラグMTFをリセットし、△d1<△d2,△d2≧
△d3の場合には#4900、#4910、#4920
と進んで単調フラグMTFをリセットするものである。
【0127】図37のフローに戻り、#4780で単調
フラグMTFがセットされているか否かを判定する。#
4780で単調フラグMTFがセットされているときに
は、第2アイランドが距離分布の中央であるから、#4
785でレンズ駆動用の焦点ずれ量△dに第2アイラン
ドの焦点ずれ量△d12を代入し、#4787でシフト
数△nに第2アイランドのシフト数△n12を代入して
リターンする。#4780で単調フラグMTFがセット
されていないときには、#4790で距離分布の中央の
アイランドを検出し、そのアイランドの焦点ずれ量及び
シフト数をレンズ駆動用の焦点ずれ量及びシフト数とし
てリターンする。この距離分布の中央検出のためのサブ
ルーチンを図40に示し説明する。
【0128】#4950では第1アイランドが焦点検出
不能であるか否かを判定するべく、フラグLCF1を判
定する。#4950でフラグLCF1がセットされてい
れば#4960で、セットされていなければ#4990
で、それぞれ第3アイランドが焦点検出不能であるか否
かを判定するべく、フラグLCF3を判定する。#49
50でフラグLCF1がセットされており、#4960
でフラグLCF3もセットされているときは、第1及び
第3アイランドが共に焦点検出不能であると判定され、
#4970でレンズ駆動用の焦点ずれ量△dに第2アイ
ランドの焦点ずれ量△d12を代入し、#4975でシ
フト数△nに第2アイランドのシフト数△n12を代入
してリターンする。
【0129】#4950でフラグLCF1がセットされ
ており、#4960でフラグLCF3がセットされてい
ないときは、第1アイランドは焦点検出不能であるが、
第3アイランドは焦点検出不能ではないと判定され、#
4980で第2アイランドの焦点ずれ量△d12と第3
アイランドの焦点ずれ量△d13のうちでの最大値△d
maxをレンズ駆動用の焦点ずれ量△dに代入する。こ
れは、第2アイランドと第3アイランドのうち、カメラ
に近い方の被写体が存在するアイランドを選択すること
になる。
【0130】#4950でフラグLCF1がセットされ
ておらず、#4990でフラグLCF3もセツトされて
いないときは、第1及び第3アイランドは共に焦点検出
不能でないと判定され、#5000で第1〜第3アイラ
ンドの各焦点ずれ量△d11、△d12、△d13のう
ちでの中間値△dmを検出する。中間値△dmが△d1
1であれば、#5010から#5011へ進み、#50
11でレンズ駆動用の焦点ずれ量△dに第1アイランド
の焦点ずれ量△d11を代入し、#5012でシフト数
△nに第1アイランドのシフト数△n11を代入してリ
ターンする。中間値△dmが△d12であれば、#50
10から#5013へ進み、#5013でレンズ駆動用
の焦点ずれ量△dに第2アイランドの焦点ずれ量△d1
2を代入し、#5014でシフト数△nに第2アイラン
ドのシフト数△n12を代入してリターンする。中間値
△dmが△d13であれば、#5010から#5015
へ進み、#5015でレンズ駆動用の焦点ずれ量△dに
第3アイランドの焦点ずれ量△d13を代入し、#50
16でシフト数△nに第3アイランドのシフト数△n1
3を代入してリターンする。
【0131】#4950でフラグLCF1がセットされ
ておらず、#4990でフラグLCF3がセットされて
いるときは、第1アイランドは焦点検出不能でないが、
第3アイランドは焦点検出不能であると判定され、#5
020で第2アイランドの焦点ずれ量△d12と第1ア
イランドの焦点ずれ量△d11のうちでの最大値△dm
axをレンズ駆動用の焦点ずれ量△dに代入する。これ
は、第2アイランドと第1アイランドのうち、カメラに
近い方の被写体が存在するアイランドを選択することに
なる。
【0132】なお、1つの変形例として、上述の#49
80のステップにおいて、第2アイランドの焦点ずれ量
△d12と第3アイランドの焦点ずれ量△d13の差
が、焦点深度で決まる所定値以下であるときには、両ア
イランドの被写体に合焦するように、両アイランドの焦
点ずれ量の平均値(△d12+△d13)/2をレンズ
駆動用の焦点ずれ量△dに代入し、所定値よりも大きい
ときには、大きい方の焦点ずれ量△dmaxをレンズ駆
動用の焦点ずれ量△dに代入するように構成しても良
い。#5020のステップについても、第3アイランド
を第1アイランドと読み替え、△d13を△d11と読
み替えれば、#4980のステップと同様の変形が可能
である。
【0133】以上でパターン認識アルゴリズムを終える
と、図34のフローに戻り、#4245で焦点検出不能
なアイランドがあったか否かを判定する。そのためのサ
ブルーチンを図41に示し説明する。#5030〜#5
040では第1〜第3アイランドにおいて焦点検出不能
であったか否かをフラグLCF1〜LCF3により判定
している。すべてのフラグLCF1〜LCF3がリセッ
トされていれば、#5030、#5035、#504
0、#5045と進み、すべてのアイランドが焦点検出
可能であることを示すフラグNLCFをセットしてリタ
ーンする。フラグLCF1〜LCF3のうち、いずれか
1つでもセットされていれば、#5030、#503
5、#5040のいずれかから#5050へ進み、前記
フラグNLCFをリセットしてリターンする。
【0134】図34のフローに戻り、AR=2(最小デ
フォーカスアルゴリズム)のときには、#4260から
#4270に進み、オフセット量を△DFR =100μ
mとする。AR=3のときには、#4280から#42
90に進み、オフセット量を△DFR =50μmとす
る。AR=4のときには、#4300から#4310に
進み、オフセット量を△DFR =0とする。#427
0、#4290、#4310から#4320に進み、最
小デフォーカス用アルゴリズムを実行し、デフォーカス
量を決定している。
【0135】これを図42に示し説明する。#5100
では、オフセット量DFR を1ピッチ当たりのデフォー
カス量SAで割って、オフセット量DFR のピッチを求
め、これを△dR とする。#5110〜#5140で
は、各アイランドの焦点ずれ量(△d11,△d12,
△13)の絶対値から上記オフセット量のピッチ△dR
を引いて、夫々、△d11’,△d12’,△d13’
とする。#5140では、求めた△d11’,△d1
2’,△d13’のうちから最小値を求める。これは現
在の焦点位置に最も近い被写体の値を求めることにな
る。最小値が△d11’であるときには、第1アイラン
ドのデフォーカス量が最小デフォーカス量であると判定
され、#5145から#5150に進んで、レンズ駆動
用の焦点ずれ量△dに第1アイランドの焦点ずれ量△d
11を代入し、#5155でシフト数△nに第1アイラ
ンドのシフト数△n11を代入してリターンする。最小
値が△d12’であるときには、第2アイランドのデフ
ォーカス量が最小デフォーカス量であると判定され、#
5145から#5160に進んで、レンズ駆動用の焦点
ずれ量△dに第2アイランドの焦点ずれ量△d12を代
入し、#5165でシフト数△nに第2アイランドのシ
フト数△n12を代入してリターンする。最小値が△d
13’であるときには、第3アイランドのデフォーカス
量が最小デフォーカス量であると判定され、#5145
から#5170に進んで、レンズ駆動用の焦点ずれ量△
dに第3アイランドの焦点ずれ量△d13を代入し、#
5180でシフト数△nに第3アイランドのシフト数△
n13を代入してリターンする。
【0136】図34のフローに戻り、AR=5(特定ア
イランドアルゴリズム)のときには、#4330から#
4340に進み、特定アイランドアルゴリズムを実行す
る。このアルゴリズムを図43に示し説明する。
【0137】#5200では特定アイランドが第1アイ
ランドであるか否かを判定するべく、変数AFISが1
であるか否かを判定する。#5200でAFIS=1で
あれば、特定アイランドは第1アイランドであると判定
され、#5210でレンズ駆動用のシフト数△nに第1
アイランドのシフト数△n11を代入し、#5220で
レンズ駆動用の焦点ずれ量△dに第1アイランドの焦点
ずれ量△d11を代入してリターンする。#5200で
AFIS=1でなければ、#5230に進む。
【0138】#5230では特定アイランドが第2アイ
ランドであるか否かを判定するべく、変数AFISが2
であるか否かを判定する。#5230でAFIS=2で
あれば、特定アイランドは第2アイランドであると判定
され、#5240でレンズ駆動用のシフト数△nに第2
アイランドのシフト数△n12を代入し、#5250で
レンズ駆動用の焦点ずれ量△dに第2アイランドの焦点
ずれ量△d12を代入してリターンする。
【0139】#5230でAFIS=2でなければ、特
定アイランドは第3アイランドであると判定され、#5
260でレンズ駆動用のシフト数△nに第3アイランド
のシフト数△n13を代入し、#5270でレンズ駆動
用の焦点ずれ量△dに第3アイランドの焦点ずれ量△d
13を代入してリターンする。
【0140】図34のフローに戻り、#4245、#4
320、#4340、#4343のいずれかから、#4
345に進んで、レンズ駆動用の焦点ずれ量△dに1ピ
ッチ当たりのデフォーカス量SAを掛けて、デフォーカ
ス量DF=△d×SAを求める。#4350では、この
デフォーカス量DFを引数として、撮影倍率算出用のサ
ブルーチンをコールし、検出被写体のアイランドにおけ
る撮影倍率を算出する。これは、図36に示したサブル
ーチンをコールするだけなので、説明は省略する。これ
を終えると、リターンする。
【0141】次に、図11の#390でコールされるワ
ンショットAF/コンティニュアスAFの自動選択ルー
チンのフローチャートを図44に示し説明する。#53
00では追随モードであるか否かを判定するべく、追随
モードフラグTRCFがセットされているか否かを判定
する。#5300で追随モードフラグがセットされてい
るときには、#7500(図55)に進む。#5300
で追随モードフラグがセットされていないときには、#
5330でコンティニュアスAFモードであるか否かを
判定するべく、フラグCNTFがセットされているか否
かを判定する。コンティニュアスAFモードは、合焦後
もデフォーカス量に応じてレンズを駆動するモードであ
る。#5330でフラグCNTFがセットされていると
きには、コンティニュアスAFモードであると判定さ
れ、焦点検出不能であるか否かを判定するべく、#53
44でフラグLCFを判定する。#5344でフラグL
CFがセットされているときには、焦点検出不能である
と判断し、#5346でローコン制御、つまり焦点検出
不能時の制御を行うサブルーチンをコールした後、リタ
ーンする。
【0142】このローコン制御のサブルーチンを図45
に示し説明する。このサブルーチンがコールされると、
まず、マニュアルフォーカスモードであるか否かをスイ
ッチSAFM により判定する。#5500でマニュアル
フォーカスモードであるときには、#5630でパター
ン認識アルゴリズムを一度通過したことを示すフラグP
A1PFをリセットし、#5640で焦点検出不能表示
(ローコン表示)を行ってリターンする。#5500で
マニュアルフォーカスモードでないときには、被写体が
低輝度であるか否かを判定するべく、#5510で低輝
度フラグLLFがセットされているか否かを判定する。
#5510で低輝度フラグLLFがセットされていると
きには、補助光モードであるか否かを判定するべく、#
5520で補助光フラグILMFがセットされているか
否かを判定する。#5520で補助光フラグILMFが
セットされていれば、補助光モードであると判断され
る。この場合、補助光モードでありながら焦点検出不能
であったということであるから、補助光を発光しても無
駄である。そこで、補助光発光を禁止するべく、#56
20で補助光禁止フラグNLFをセットして、マニュア
ルフォーカスモードの場合と同様に、#5630へ進
む。#5520で補助光フラグILMFがセットされて
いないときには、補助光モードではないと判定され、補
助光モードでの焦点検出を行うべく補助光フラグILM
Fをセットして、リターンする。
【0143】#5510で低輝度フラグLLFがセット
されていないときには、焦点検出不能であるのは低輝度
だからではないと判定され、#5520でレンズ駆動中
であるか否かを判定する。#5520でレンズ駆動中で
あるときには、前回の焦点検出で得られたデフォーカス
量に基づいてレンズ駆動を行うべくリターンする。#5
520でレンズ駆動中ではないときには、焦点検出可能
なレンズ位置を探すローコンスキャン動作を行うべく、
#5530でローコンスキャンフラグLCSFをセット
して#5550に進む。#5550では前回のスキャン
方向が繰り出し方向であったか否かを判断するべく、フ
ラグFWFがセットされているか否かを判定する。#5
550でフラグFWFがセットされていないときに、以
前はレンズ停止中であったと判定され、#5570でレ
ンズの最大繰り出し量LNmaxから現在のレンズ繰り
出し位置N2を引いてレンズ駆動量LNを求め、#55
80でレンズ速度を決定し、リターンする。#5550
でフラグFWFがセットされているときには、前回のス
キャン方向が繰り出し方向であったと判定され、#55
90でレンズの最大可能繰り出し量及び方向を含めて、
レンズ駆動量LNを(−LNmax)とし、#5580
でレンズ速度を決定し、リターンする。
【0144】#5580では、#5570又は#559
0で求めたレンズ駆動量LNに応じてレンズの速度を決
定する。このサブルーチンを図46に示し説明する。ま
ず、#5600では、レンズ駆動中を示すフラグLMV
Fをセットする。レンズ駆動を行うときは、一度はこの
ステップを通る。#5610では、レンズ駆動量の絶対
値|LN|から所定値KN (>0)を引いて、レンズ駆
動速度を決定するための変数CTを得る。ここで、所定
値KN は残りレンズ駆動量に対してレンズ駆動速度を高
速度にするか否かを判定するための値である。#562
0では、この変数CTをカウンター割込に利用されるカ
ウンターCNTに代入する。#5630では、上記変数
CTが0以下か否かを判定する。#5630で、CT≦
0であるときには、レンズ駆動速度が高速モードである
ことを示すフラグV1Fを#5640でリセットし、#
5650ではレンズ駆動速度を低速度V2(<V1)に
設定し、#5710に進む。#5630でCT>0であ
るときには、レンズ駆動速度が高速モードであることを
示すフラグV1Fを#5680でセットし、フリーラン
であることを示すフラグFRNFを#5690でセット
し、#5700でレンズ駆動速度を高速度V1(>V
2)に設定し、#5710に進む。
【0145】#5710では、レンズ駆動量LNが正か
否かを判定する。#5710でLN>0であるときに
は、#5720で繰り出し方向にレンズを駆動し、#5
725で繰り出し方向のレンズ駆動を示すフラグFWF
をセットしてリターンする。#5710でLN≦0であ
るときには、#5730で繰り込み方向にレンズを駆動
し、#5735で繰り出し方向のレンズ駆動を示すフラ
グFWFをリセットしてリターンする。
【0146】次に、上述したカウンター割込のサブルー
チンを図47に示し説明する。このカウンター割込のサ
ブルーチンは、カウンターCNTの値が0になったとき
に実行される。なお、カウンターCNTはレンズが駆動
されているときに、これをモニターするエンコーダEN
Cから出力されるパルスがマイコンμCに供給される度
にデクリメントされるようになっている。#5760で
は、カウンター割込が発生したときに、レンズ駆動速度
が低速度であったか否かを判定するべく、フラグV1F
がリセットされているか否かを判定する。#5760で
フラグV1Fがリセットされていないときには、カウン
ター割込が発生したときに、レンズは高速度で駆動され
ていたと判定され、レンズ駆動速度を低速度に切り替え
るべく、#5850でレンズ駆動速度を低速度V2(<
V1)に設定し、#5860でレンズ駆動速度が高速度
であることを示すフラグV1Fをリセットし、#587
0でカウンターCNTに残り駆動量KN をセットして、
割込が発生したステップへリターンする。
【0147】#5760でフラグV1Fがリセットされ
ているときには、カウンター割込が発生したときにレン
ズ駆動速度は低速度であったと判定され、上述の#58
70でセットされた残り駆動量KN を駆動し終わったと
して、#5765でレンズ駆動用のモータに一定時間T
1のブレーキを掛けて、その後、#5770でモータへ
の通電をOFFにする。次に、#5780ではフリーラ
ンした後か否かを判定するべく、フラグFRNFがセッ
トされているか否かを判定する。#5780でフラグF
RNFがセットされているときには、フリーラン後のレ
ンズ停止であると判定され、#5790でフラグFRN
Fをリセットすると共に、#5800でフリーラン後の
レンズ停止直後であることを示すフラグFRN1Fをセ
トして、#5810へ進む。#5780でフラグFRN
Fがセットされていないときには、#5790と#58
00をスキップして、#5810へ進む。
【0148】#5810ではレンズ駆動中であることを
示すフラグLMVFをリセットする。次に、#5820
では、ローコンスキャン中であるか否かを判定するべ
く、ローコンスキャンフラグLCSFがセットされてい
るか否かを判定する。#5820でローコンスキャンフ
ラグLCSFがセットされていないときには、リターン
する。#5820でローコンスキャンフラグLCSFが
セットされているときには、ローコンスキャン中である
と判定され、レンズが停止する前はレンズが繰り出し方
向の駆動でないか否かを判定するべく、#5830で繰
り出し方向フラグFWFがリセットされているか否かを
判定する。#5830で繰り出し方向フラグFWFがリ
セットされていないときには、繰り出し方向のローコン
スキャンであったと判定され、リターンする。#583
0で繰り出し方向フラグFWFがリセトされているとき
には、繰り込み方向のローコンスキャンであったと判定
され、繰り出し方向及び繰り込み方向のローコンスキャ
ンを行っても焦点検出できなかったと判断し、次回から
焦点検出動作を禁止するべく、#5840でフォーカス
ロックフラグFLFをセットする。次に、#5845で
焦点検出不能表示(ローコン表示)を行って、リターン
する。
【0149】図44のフローに戻って、#5330でフ
ラグCNTFがセットされていないときには、コンティ
ニュアスAFモードでないと判定され、#5340で動
体判定中か否かを判定するべく、動体判定中フラグMV
Fがセットされているか否かを判定する。#5340で
動体判定中フラグMVFがセットされていないときに
は、動体判定中ではないと判定され、焦点検出不能であ
るか否かを判定するべく、#5344でフラグLCFを
判定する。#5340で動体判定中フラグMVFがセッ
トされているときには、#5350で変数N4を1つイ
ンクリメントして#6300(図51)に進む。
【0150】#5344でフラグLCFがセットされて
いないときには、焦点検出不能ではないと判定され、#
5360でレンズ駆動中か否かを判定するべく、フラグ
LMVFがセットされているか否かを判定する。#53
60でフラグLMVFがセットされているときには、レ
ンズ駆動中であると判定され、#5490でレンズ駆動
のサブルーチンをコールした後、リターンする。#53
60でフラグLMVFがセットされていないときには、
レンズ駆動中ではないと判定され、#5370でデフォ
ーカス量DFが合焦許容範囲を示す所定値KIF1 以下で
あるか否かを判定する。#5370でDF≦KIF1 であ
るときには、合焦であると判定され、#5380で合焦
表示を行い、#5390で合焦したことを示すフラグA
FEFをセットする。次に、#5400で補助光モード
であるか否かを判定するべく、補助光フラグILMFが
セットされているか否かを判定する。#5400で補助
光フラグがセットされているときには、補助光モードI
LMFであると判定され、次の焦点検出動作も追随判定
も共に行わないとして、#5410でフォーカスロック
フラグFLFをセットして、リターンする。#5400
で補助光フラグILMFがセットされていないときに
は、補助光モードではないと判定され、#5420、#
5430で変数N4、N5をリセットし、#5434で
動体判定中を示すフラグMVFをセットする。これによ
り、次回からは動体判定が行われる。次に、#5436
では一度合焦したことを示すフラグAEPEFをセット
し、#5437では動体判定中において焦点検出不能で
あることを示すフラグTLCFをセットし、#5438
では動体判定モードへの初めての移行であることを示す
フラグT1STFをセットし、リターンする。
【0151】#5370でDF>KIF1 であるときに
は、合焦状態ではないと判定され、1回も合焦状態にな
らないで動体を判定する処理を行う。これは、被写体の
移動速度が速く、通常の焦点検出だけでは合焦にならな
い場合を想定している。この場合の制御を以下のフロー
チャートに基づいて説明する。
【0152】#5440では、変数N6を1つインクリ
メントする。この変数N6は、このステップを通過した
回数を示すことになる。#5442、#5446、#5
447では、DF3にDF2を、DF2にDF1を、D
F1にDFを夫々同順に代入することにより、最新の3
回の焦点検出データDF3、DF2、DF1を記憶す
る。#5448では、低輝度であるか否かを判定するべ
く、自動利得制御データAGCが8であるか否かを判定
する。#5448でAGC=8であるときには、低輝度
であると判定され、CCDからのデータにノイズが多く
なり、焦点検出精度が悪くなること、及び積分時間が長
いので、被写体の動きによる像の流れが無視できなくな
り、これによる焦点検出精度の低下が生じることから、
動体判定を行うことなく、#5485で変数N6を0と
して、#5490のレンズ駆動に移行する。
【0153】#5448でAGC=8でないときには、
補助光モードであるか否かを判定するべく、#5450
で補助光フラグILMFがセットされているか否かを判
定する。#5450で補助光フラグILMFがセットさ
れているときには、補助光モードであると判定され、上
記と同じ理由により動体判定を行うことなく、#548
5で変数N6を0として、#5490のレンズ駆動に移
行する。#5450で補助光フラグILMFがセットさ
れていないときには、補助光モードではないと判定さ
れ、#5460に進む。#5460では、デフォーカス
量を求めたアイランドの撮影倍率βが1/20よりも大
きいか否かを判定する。#5460でβ>1/20であ
るときには、被写体の少しの動きが焦点面では大きな変
化となって現れ、追随して行けないと判定され、動体判
定を行うことなく、#5485で変数N6を0として、
#5490のレンズ駆動に移行する。#5460でβ≦
1/2であるときには、#5470で3回以上のレンズ
駆動(#5490)があったか否か、つまり#5440
を4回以上通ったか否かを判定するべく、変数N6の値
が4以上であるか否かを判定する。#5470でN6<
4であるときには、レンズ駆動回数が3回未満であると
判定され、被写体の速度を求めるのにはデータ不足であ
るとして、#5490のレンズ駆動に移行する。#54
70でN6≧4であるときには、レンズ駆動回数が3回
以上であると判定され、#5480で最新の3回のデフ
ォーカス量DF1、DF2、DF3が同符号(同一方向
のデフォーカス量)であるか否かを判定する。#548
0で最新の3回のデフォーカス量DF1,DF2,DF
3が同符号ではないときには、追随不能であると判断
し、#5485で変数N6を0として、#5490のレ
ンズ駆動に移行する。この場合、追随モードへの突入判
定を最初からやり直すことになる。#5480で最新の
3回のデフォーカス量DF1,DF2,DF3が同符号
であるときには、追随モードに突入し、#5486で追
随補正を行ってデフォーカス量を求め直した後、#54
90のレンズ駆動のサブルーチンを実行して、リターン
する。つまり、被写体の移動速度が速く、同一方向に移
動している場合には、3回の焦点検出結果で、直ぐに追
随補正を行うべく、追随モードに突入するものである。
なお、フリーランや低速でのレンズ駆動が長い場合に
は、4回以上の焦点検出がなされることもある。
【0154】図48に追随補正のサブルーチンを示し説
明する。#6000では、追随モードであることを示す
フラグTRCFをセットする。#6010では、フリー
タイマーTMの時間を読み取り、TM3として記憶す
る。#6020では、レンズ位置カウンタCTからレン
ズの繰り出し量を読み取り、CT3として記憶する。#
6030では、動体判定中か否かを判定するべく、フラ
グMVFがセットされているか否かを判定する。#60
30で、フラグMVFがセットされているときには、動
体判定中であると判断され、#6040〜#6060の
処理(後述)に進む。#6030でフラグMVFがセッ
トされていないときには、動体判定中ではないと判断さ
れ、#6080で動体速度を検出する。
【0155】この動体速度検出の方向を図9に、そのた
めのマイコンμCのフローチャートを図49に示し説明
する。図9において、I1 は前回の積分時間であり、C
1 は前回の焦点検出演算に要した時間、I2 は今回の積
分時間、C2 は今回の焦点検出演算に要した時間、Eは
前回の焦点検出演算終了から今回の積分開始の間に要し
た時間であり、露出演算等の時間を含む。TM1は積分
開始時刻、TM2は積分終了時刻、TM12は積分時間
の中点、TM3は演算終了時刻である。また、Ovは動
体の動きに応じたデフォーカス量、LE はレンズ駆動量
をデフォーカス量に換算したものである。ここで、動体
の速度は、単位時間当たりのデフォーカス量の変化とし
て表され、今回のデフォーカス量DFから前回のデフォ
ーカス量LDFを引いて、これを前回から今回の焦点検
出に要した時間△T(=TM12−TM12L)で割れ
ば求まる。ただし、このときレンズが移動している場合
には、これを考慮する必要がある。すなわち、このレン
ズの駆動量DFCTと今回のデフォーカス量DFとの和か
ら前回のデフォーカス量LDFを引いた量DF’を1回
の焦点検出に要した時間で割れば良い。デフォーカス量
LDF,DFを求めた時点は、演算終了時点であり、デ
フォーカス量が得られる積分中点(積分時間の中点)か
らは時間が経過しており、この間に動く量DFCTを、得
られたデフォーカス量DFに加えれば良い。
【0156】図49を参照して、まず、#6150では
1回の焦点検出に要する時間△Tを次式により求める。 ΔT=TM12−TM12L #6160では、この△Tの時間に動いたレンズの移動
量△CTを次式により求める。 ΔCT=CT12−C
T12L #6170では、このレンズの移動量△CTを次式によ
りデフォーカス量DF CTに変換する。 DFCT=ΔCT/KLR
【0157】#6180では、今回のデフォーカス量D
Fにレンズ移動によるデフォーカス量DFCTを加算し、
前回のデフォーカス量LDFを減算したものを、時間△
Tで割って、次式により動体速度を算出する。 V={(DF+DFCT)−LDF}/ΔT #6190では、今回のデフォーカス量DFを前回のデ
フォーカス量LDFに代入して、リターンする。
【0158】図48のフローに戻り、#6090では積
分時間の中点TM12から演算終了時点TM3までの時
間Toを算出する。 To=(TM3−TM2)+(TM2−TM1)/2 #6100では、上記時間Toの間に動く被写体のデフ
ォーカス量△DFを次式により求める。 ΔDF=V×To
【0159】#6110では、得られたデフォーカス量
DFに、被写体が動くことによるデフォーカス量△DF
を加算して、 DF=DF+ΔDF を真のデフォーカス量としてリターンする。
【0160】次に、レンズ駆動のサブルーチンを図50
に示し説明する。#6210では、求めたデフォーカス
量DFにレンズ駆動量変換係数KLRを乗じたレンズ駆動
量LNを得る。#6220では、積分時間の中点TM1
2から演算終了時点TM3までに駆動したレンズの駆動
量(CT3−CT12)を上記レンズ駆動量LNから差
し引いて、必要なレンズ駆動量LN=LN−(CT3−
CT12)を得る。レンズが停止しているときには、C
T3=CT12である。#6230では、レンズ速度決
定のサブルーチンを実行し、リターンする。
【0161】図44のフローに戻って、#5340でフ
ラグMVFがセットされているときには、動体判定中で
あると判断され、#5350に進む。このときは、比較
的遅い速度の被写体で、且つカメラに近付いてくる方向
(後ピン)の被写体を検出し、補正するようにしてい
る。速い速度の被写体では#5480から追随モードに
入る。また、遠ざかって行く比較的遅い速度の被写体で
ある場合には、焦点面での変化はさらに遅くなり、補正
する必要がないと考える。また、これによりマイコンμ
Cのステップ数の削減が可能となる。#5350では、
1回の平均デフォーカス量(後述)を求めるのに実行し
た焦点検出の回数を示す変数を1つインクリメントし
て、#6300(図51)に進む。
【0162】図51の処理に移行して、#6300で
は、今回の焦点検出の結果が焦点検出不能であるか否か
を判定するべく、ローコンフラグLCFがセットされて
いるか否かを判定する。#6300でローコンフラグL
CFがセットされていないときには、今回の焦点検出の
結果が焦点検出不能ではないと判定され、#6310で
動体判定中の焦点検出不能であることを示すフラグTL
CFをリセットする。次に、#6320では、1回の平
均デフォーカス量を得るための焦点検出が全て不能であ
ったか否かを判定するべく、フラグDFNFがセットさ
れているか否かを判定する。#6320でフラグDFN
Fがセットされているときには、過去の焦点検出の結果
が全て焦点検出不能であったと判定され、4回分のデフ
ォーカス量を示すDF4〜DF1に今回のデフォーカス
量DFを代入し、#6435に進む。#6320でフラ
グDFNFがセットされていないときは、平均デフォー
カス量を得るために一度でも焦点検出が可能であったと
判定され、#6340〜#6370でDF4にDF3
を、DF3にDF2を、DF2にDF1を、DF1にD
Fを夫々同順に代入することにより、最新の4回分のデ
フォーカス量を更新し、#6435に進む。
【0163】#6300でローコンフラグLCFがセッ
トされているときには、今回の焦点検出の結果が焦点検
出不能であると判定され、今までに平均デフォーカス量
を得たことがあるか否かを判定するべく、#6380で
フラグMDFFがセットされているか否か判定する。#
6380でフラグMDFFがセットされているときに
は、今までに平均デフォーカス量を得たことがあると判
定され、#6390で前回に得られた平均デフォーカス
量DFAV1 を今回のデフォーカス量DFとして、#63
40に進む。ここで、前回のデフォーカス量DF1では
なく、前回の平均デフォーカス量DFAV1 を用いるの
は、平均デフォーカス量DFAV1 の方が安定したデフォ
ーカス量であり、確からしいと考えられるからである。
#6380でフラグMDFFがセットされていないとき
には、今までに平均デフォーカス量を得たことがないと
判定され、平均デフォーカス量を求めるための1回目の
焦点検出であるか否かを判定するべく、#6400で変
数N4の値が1であるか否かを判定する。#6400で
N4=1でなければ、1回目の焦点検出ではないと判定
され、平均デフォーカス量を求めるために過去にデフォ
ーカス量を得たか否かを判定するべく、#6410でフ
ラグTLCFがリセットされているか否かを判定する。
#6410でフラグTLCFがリセットされているとき
には、過去にデフォーカス量を得ていると判定され、#
6420で前回のデフォーカス量DF1を今回のデフー
カス量DFとして#6340に進む。#6410でフラ
グTLCFがリセットされていないときには、過去にデ
フォーカス量を得ていないと判定され、#6430に進
む。また、#6400でN4=1であるときには、1回
目の焦点検出であると判定され、#6430に進む。#
6430では、今までの焦点検出の結果が全て焦点検出
不能であったことを示すフラグDFNFをセットして、
#6435に進む。
【0164】#6435では、1回の焦点検出で得た速
度を算出するサブルーチンを実行して、#6440に進
む。このサブルーチンを図52に示し説明する。#71
00では、1回の焦点検出に要した時間△Tを次式によ
り算出する。 ΔT=TM12−TM12L 上式において、TM12は今回の積分時間の中点の時刻
であり、TM12Lは前回の積分時間の中点の時刻であ
る。#7105〜#7130では、TM7にTM6を、
TM6にTM5を、TM5にTM4を、TM4に△Tを
夫々同順に代入し、上記時間△Tを新しく1つ更新す
る。#7140では過去4回の焦点検出に要した時間の
和TM47=(TM4+TM5+TM6+TM7)を求
める。#7150、#7160、#7270、#728
0では、TM474にTM473を、TM473にTM
472を、TM472にTM471を、TM471にT
M47を夫々同順に代入し、上記時間TM47を新しく
1つ更新する。次に、平均デフォーカス量を得るための
焦点検出が1回目であるか否かを判定するべく、#72
82で変数N4が1であるか否かを判定する。#728
2でN4=1でないときには、1回目の焦点検出ではな
いと判定され、今回のデフォーカス量DF1から前回の
デフォーカス量DF2を引いて、1回の焦点検出で生じ
たデフォーカス量DF1=(DF1−DF2)を求め
て、#7290に進む。#7282で変数N4が1であ
るときに、#7284をスキップして#7290に進
む。#7290では、次式により速度Vを求める。 V=DF1/ΔT
【0165】#7300では、平均デフォーカス量を得
るための前回までの焦点検出の結果が全て焦点検出不能
であったか否かを判定するべく、フラグDFNFがセッ
トされているか否かを判定する。#7300でフラグD
FNFがセットされているときには、全て焦点検出不能
であったと判定され、#7310で速度V1〜V4に速
度Vを代入し、#7320で上記フラグDFNFをリセ
ットし、リターンする。#7300でフラグDFNFが
セットされていないときには、焦点検出可能であったと
判定され、#7330〜#7360で、速度V4に速度
V3を、速度V3に速度V2を、速度V2に速度V1
を、速度V1に速度Vを、夫々同順に代入し、4回分の
速度Vを1つ新しく更新し、リターンする。
【0166】図51のフローに戻って、#6440では
低輝度か否かを判定するべく、自動利得制御データAG
Cが8であるか否かを判定する。#6440でAGC=
8であるときには、焦点検出結果のデータの信頼性が低
く、動体判定は困難であるので、#6600でフォーカ
スフラグFLFをセットしてリターンする。#6440
でAGC=8でないときには、撮影倍率βが1/20よ
りも大きいか否かを#6550で判定する。#6550
でβ>1/20であるときには、動体判定が困難である
ので、#6600でフォーカスロックフラグFLFをセ
ットしてリターンする。#6550でβ≦1/20であ
るときには、初回の動体判定の実行であるか否かを判定
するべく、#6560でフラグT1STFがセットされ
ているか否かを判定する。#6560でフラグT1ST
Fがセットされているときには、初回の動体判定である
と判定され、#6570でこのフラグT1STFをリセ
ットし、このときのレンズの焦点距離fを初回の動体判
定時のレンズの焦点距離f 0 とするべく、#6580で
0 にfを代入し、#6610に進む。#6560でフ
ラグT1STFがセットされていないときには、今回の
レンズの焦点距離fが初回の動体判定時のレンズの焦点
距離f0 と等しいか否かを#6590で判定する。#6
590でf0 ≠fであるときには、動体判定中に焦点距
離の変更があったと判定され、#6600でフォーカス
ロックフラグFLFをセットしてリターンする。これ
は、動体判定中に焦点距離が変更されると、焦点検出を
行うためのCCD上での像の大きさが変化し、正しいデ
フォーカス量を得られない場合があり、このデータを用
いて動体の速度を求めると、誤った速度となると考えら
れるからである。#6590でf0 =fであるときに
は、#6610に進む。#6610では、1回の平均デ
フォーカス量を得るのに4回の焦点検出が行われたか否
かを判定するべく、変数N4が4であるか否かを判定す
る。#6610でN4=4になっていないときには、リ
ターンする。#6610でN4=4となっているときに
は、この動体判定中の4回の焦点検出の結果が全て焦点
検出不能か否かを判定するべく、#6612でフラグT
LCFがリセットされているか否かを判定する。#66
12でフラグTLCFがリセットされていないときに
は、焦点検出不能であると判定され、#6614でフォ
ーカスロックフラグFLFをセットしてリターンする。
#6612でフラグTLCFがリセットされているとき
には、焦点検出不能でないと判定され、#6620で変
数N4を0とし、#6630で動体判定中の焦点検出が
不能であることを示すフラグTLCFを再セットする。
#6640では得られた4回のデフォーカス量DF1、
DF2、DF3、DF4の平均値DFAV=(DF1+D
F2+DF3+DF4)/4を求める。#6650〜#
6680では、DFAV4 にDFAV3 を、DFAV3 にDF
AV2 を、DFAV 2 にDFAV1 を、DFAV1 にDFAVを、
夫々同順に代入し、4回の平均デフォーカス量の値を更
新する。#6690では、平均デフォーカス量か得られ
たことを示すフラグMDFFをセットする。次に、#6
694及び#6696では、後述する定数a,bを夫々
200μm及び400μmに設定する。#6700で
は、平均デフォーカス量が得られた回数を示す変数N5
を1つインクリメントする。#6710では変数N5が
1か否かを判定する。#6710でN5=1であれば、
初めての平均デフォーカス量を得たものと判定され、得
られた平均デフォーカス量DFAV1 を#6720で初回
の平均デフォーカスDF0 としてメモリーして、#67
30に進む。#6710でN5=1でなければ、初回の
平均デフォーカス量DF0 から定数aを引いた値より
も、今回の平均デフォーカス量DFAV1 が大きいか否か
を判定する。ここで、a(200μm)を引いているの
は、合焦後に、カメラが振られ、別の被写体を検出して
いることを判別するためである。また、正の値a(>
0)を引いているので、遠方の被写体に向けてカメラが
振られたことを検出するものである。DF>0であれば
後ピン、DF<0であれば前ピンである。DF0 とDF
AV1 が同一の後ピン方向であれば、DFAV1 >DF0
aとなる。ここでは、動体被写体のスピードはほぼ一定
と考えている。DFAV1≦DF0 −aとなるのは、遠方
の別の被写体を見たものと考えられるので、#6600
でフォーカスロックを行う。なお、本実施例では、比較
的速く後ピン方向へ移動する物体は検出していない。比
較的速く前ピン方向へ移動する被写体であれば、動体判
定モードに入って直ぐにDFAV1 <DF0 −aとなり、
カメラから速く遠ざかって行くので、本実施例ではこの
ような被写体は検出しておらず、フォーカスロックとみ
なし、#6600に進む。また、非常に遅い前ピン方向
の被写体である場合にも、検出時間が長ければデフォー
カス量は負の方向に大きくなっていくので、#6600
のフォーカスロックに進む。本実施例では、4回の焦点
検出結果の平均デフォーカス量を用いて、合焦後の動体
判定を行うことにより、1回の焦点検出による誤差を抑
制しており、その誤差によって前ピン方向の被写体が出
ても、直ぐにフォーカスロックに行かないようにしてい
る。#6740でDFAV1 >DF0 −aのときには、平
均デフォーカス量が4回以上得られた否かを判定するべ
く、#6750でN5≧4であるか否かを判定する。#
6750でN5<4であれば、#6730に進む。#6
750でN5≧4であれば、#6760で今回の平均デ
フォーカス量DFAV1 が3回前の平均デフォーカス量D
AV4 から所定値aを引いた値よりも大きいか否かを判
定する。これにより、4回の焦点検出時間に動く被写体
に関する情報を得ている。このステップでは、得た4回
の焦点検出時間に前ピン方向へ動く被写体の速度を検出
している。本発明では、遠ざかって行く被写体は検出し
ていないので、#6760でDFAV1 ≦DF AV4 −aで
あれば、フォーカスロック(#6600)へ進む。#6
760でDF AV1 >DFAV4 −aであれば#6730に
進む。#6730では、動体の平均速度を検出して、#
6770(図54)に進む。
【0167】この#6730で示す動体の平均速度検出
のためのサブルーチンを図53に示し説明する。#73
70では、平均速度VAV=(V1+V2+V3+V4)
/4を算出する。#7380〜#7410では、VAV4
にVAV3 を、VAV3 にVAV2を、VAV2 にVAV1 を、V
AV1 にVAVを、夫々同順に代入することにより4回分の
平均速度を更新して、リターンする。
【0168】平均速度検出(#6730)の後、図54
の#6770に進む。#6770では、今回の平均デフ
ォーカス量DFAV1 が所定値b(400μm)以上か否
かを判定する。これは、被写体のカメラに近付いて来る
スピードが大きいか否かを判定するものである。
【0169】#6770でDFAV1 ≦bであれば、#6
780へ進み、3回以上の平均デフォーカス量を得たか
否か判定するべく、変数N5が3以上か否かを判定す
る。#6780でN5≧3でなければ、3回以上の平均
デフォーカス量を得ていないと判定され、リターンす
る。#6780でN5≧3であれば、3回以上の平均デ
フォーカス量を得たと判定され、#6790で撮影倍率
βが1/30よりも大きいか否かを判定する。#679
0でβ≦1/30であれば、#6800で所定値cを1
00μmとし、#6840に進む。#6790でβ>1
/30であれば、#6810で撮影倍率βが1/25よ
りも大きいか否かを判定する。#6810でβ≦1/2
5であれば、#6820で所定値cを140μmとし、
#6840に進む。#6810でβ>1/25であれ
ば、#6830で所定値cを200μmとし、#684
0に進む。ここで、所定値cは被写体が動体であるか否
かを判定するための基準値であり、撮影倍率βが大きい
ほど被写体の移動に対して焦点面でのデフォーカス量が
大きくなるので、所定値cを撮影倍率βが大きくなるほ
ど大きく設定しているものである。
【0170】#6840では平均デフォーカス量が3回
得られたか否かを判定するべく、変数N5が3であるか
否かを判定する。#6840でN5=3であれば、#6
850及び#6860で連続する2回の平均デフォーカ
ス量の差分(DFAV2 −DF AV1 )、(DFAV3 −DF
AV2 )が夫々上記所定値c以上である否かを判定し、ど
ちらか一方でも所定値c未満であれば、リターンする。
#6850及び#6860で、どちらの差分も所定値c
以上であれば、#6870で3回分の平均速度の平均値
(VAV1 +VAV2 +VAV3 )/3を被写体の速度Vcと
する。また、要した時間Tc=TM471+TM472
+TM473を#6880で算出し、#6890から追
随モードに入る。#6840でN5=3でなければ、4
回以上の平均デフォーカス量が得られていると判定さ
れ、#6900及び#6910で1つ置きの平均デフォ
ーカス量の差分(DFAV1 −DFAV3 )、(DFAV2
DF AV4 )が夫々上記所定値c以上であるか否かを判定
し、どちらか一方でも所定値c未満であれば、リターン
する。3回の平均デフォーカス量を用いる上記#685
0及び#6860の場合に比べて、1つ置きの平均デフ
ォーカス量の差分を同じ所定値cで比較しているのは、
速い被写体に対してはできるだけ速く対応して追随でき
るようにすると共に、遅い被写体に対してはできるだけ
正確に検出するべく、平均化された1つ置きの差分で動
体を検出しているものである。これにより、被写体の移
動速度の少し変化を無視できる。#6900及び#69
10でどちらの差分も所定値c以上であれば、#692
0で2つ置きの差分(DFAV1 −DFAV4 )が所定値c
以上であるか否かを判定する。これは、より遅い被写体
について、平均化された被写体の動きに応じたデフォー
カス量で判定することにより、正確さを重視するもので
ある。#6920で上記差分が所定値c未満のときには
リターンする。#6920で上記差分が所定値c以上の
ときには、#6930で4回分の平均速度の平均値(V
AV1 +VAV2 +VAV3 +VAV4 )/4を被写体の速度V
cとする。また、要した時間Tc=TM471+TM4
72+TM473+TM474を#6940で算出し、
#6890から追随モードに入る。
【0171】#6770でDFAV1 >bであれば、被写
体を追い掛けるべく、追随補正を行うが、まず平均デフ
ォーカス量が初めて得られたか否かを判定するべく、#
6950で変数N5が1であるか否かを判定する。#6
950でN5=1であれば、平均デフォーカス量が初め
て得られたと判定され、#6960で制御用被写体の速
度VcにVAV1 を代入する。#6970では、このとき
に要した時間Tcに、TM471を代入する。そして、
#6980から追随モードに入る。
【0172】図48に示した動体判定中の追随補正につ
いて説明する。追随モードに入ると、まずこの追随補正
を実行する。#6000〜#6030については既に説
明した通りである。#6030でフラグMVFがセット
されているときには、動体判定中であると判定され、次
にこの動体判定を抜けるので、#6040でフラグMV
Fをリセットしておく。#6050では動体判定中に要
した時間Tcに、今回の積分中点の時間から現在(TM
3)までに要した時間(TM3−TM2)+(TM2−
TM1)/2を加えて、時間Toを得る。#6060で
は、速度Vcに上記時間Toを掛けて、デフォーカス量
DFを得て、リターンする。
【0173】図54に戻り、#6950でN5=1でな
ければ、初めての平均デフォーカス量ではないと判定さ
れ、平均デフォーカス量を得たのが2回目か否かを判定
するべく、#6990で変数N5が2であるか否かを判
定する。#6990でN5=2であれば、平均デフォー
カス量が得られたのが2回目であると判定され、#70
00で被写体の速度Vc=(VAV1 +VAV2 )/2を求
める。#7010では、このときに要した時間Tc=T
M471+TM472を算出する。そして、#7020
から追随モードに入る。
【0174】#6990でN5=2でなければ、2回目
の平均デフォーカス量ではないと判定され、平均デフォ
ーカス量を得たのが3回目か否かを判定するべく、#7
030で変数N5が3であるか否かを判定する。#70
30でN5=3であれば、平均デフォーカス量が得られ
たのが3回目であると判定され、#7040から#68
70へ進む。#7030でN5=3でなければ、平均デ
フォーカス量が得られたのが3回目ではないと判定さ
れ、#7050から#6930へ進む。
【0175】図55に図44の#5300で追随モード
を示すフラグTRCFがセットされているときのフロー
チャートを示し説明する。#7500では今回の焦点検
出の結果が焦点検出不能であるか否かを判定するべく、
フラグLCFがセットされているか否かを判定する。#
7500でフラグLCFがセットされていないときに
は、#7510で動体速度を検出し、#7540に進
む。#7500でフラグLCFがセットされているとき
には、今回の焦点検出の結果が焦点検出不能であると判
定され、前回の焦点検出の結果も焦点検出不能であった
か否かを判定するべく、#7520でフラグLLCFが
セットされているか否かを判定する。#7520でフラ
グLLCFがセットされていないときには、前回の焦点
検出の結果は焦点検出不能ではなかったと判定され、今
回の速度Vに前回の速度VAV1 を代入して、#7540
に進む。#7540〜#7570では、VAV4 にVAV3
を、V AV3 にVAV2 を、VAV2 にVAV1 を、VAV1 にV
を、夫々同順に代入して平均速度を更新する。平均速度
は追随モードでは1回の焦点検出の速度となる。次に、
#7590では、平均速度(平均デフォーカス量)を得
た回数を示す変数N5を1つインクリメントする。#7
600では、変数N5の値が2であるか否かを判定す
る。#7600でN5=2であれば、#7610で制御
に用いる速度Vcを次式により算出し、#7650に進
む。 Vc=(VAV2 +VAV1 )/2
【0176】#7600でN5=2でなければ、#76
20で変数N5の値が3であるか否かを判定する。#7
620でN5=3であれば、#7630で制御に用いる
速度Vcを次式により算出し、#7650に進む。 Vc=(VAV3 +VAV2 +VAV1 )/2 #7620でN5=3でなければ、#7640で制御に
用いる速度Vcを次式により算出し、#7650に進
む。 Vc=(VAV4 +VAV3 +VAV2 +VAV1 )/2
【0177】#7650では、得られた速度Vcに基づ
いて追随補正を行って、レンズ駆動すべきデフォーカス
量DFを得る。#7660では、このデフォーカス量の
絶対値|DF|が所定のデフォーカス量KIF2 以下か否
かを判定する。ここで、KIF 2 はレンズ停止時の合焦判
定レベルKIF1 よりも大きな値に設定されている。これ
は速度検出のばらつきを考慮したものである。
【0178】#7660で|DF|≦KIF2 であれば合
焦と見なし、これを示すフラグAFEFを#7670で
セットし、#7680で合焦表示を行って、#7700
に進む。#7660で|DF|>KIF2 であれば非合焦
と見なし、#7685で合焦表示を消去し、#7690
で合焦を示すフラグAFEFをリセットし、#7700
に進む。
【0179】#7700では、今回の速度VAV1 と前回
の速度VAV2 が同方向であるか否かを判定する。#77
00で速度VAV1 ,VAV2 が同方向であれば、#765
0で得られたデフォーカス量DFに基づいて、#771
0でレンズ駆動を行ってリターンする。#7700で速
度VAV1 ,VAV2 が同方向でなければ、追随モードを抜
けるべく、#7720で追随表示を消去し、#7730
でフラグCNTFをセットし、#7740で追随フラグ
TRCFをリセットし、リターンする。ここで、コンテ
ィニュアスフラグCNTFをセットするのは、被写体が
1つの方向に向けての移動を行っていないので、この
後、どの方向に被写体が移動してもピントが合うように
配慮したものである。ただし、コンテュニアスモードで
は、動体に動き(これに応じたデフォーカス量)を予測
してのレンズ駆動は行えない。
【0180】#7520でフラグLLCFがセットされ
ているときには、前回も焦点検出不能であったと判定さ
れ、被写体を追うには前々回の焦点検出結果から被写体
の動きを予測することになり、それでは正確でなくなる
ので、追随モードを抜けるべく、#7750で合焦を示
すフラグAFEFをリセットし、#7760で合焦表示
を消去し、#7720以降に進む。
【0181】
【効果】本発明によれば、動的被写体か否かを判定する
判定レベルを撮影倍率に応じて切り換えるため、被写体
距離が近い場合や望遠レンズを使用している場合におい
ても、被写体の移動に対する検出感度が敏感になり過ぎ
ることがない。従って、撮影倍率の大小に関係なく、正
確に被写体が動的被写体か否かを判定することができ
る。
【図面の簡単な説明】
【図1】本発明の基本構成を示すブロック図である。
【図2】本発明の一実施例におけるファインダー内表示
を示す図である。
【図3】本発明の一実施例における焦点検出光学系の斜
視図である。
【図4】本発明の一実施例におけるCCDチップの詳細
を示す説明図である。
【図5】同上のCCDチップにおける基準部の分割領域
を示す説明図である。
【図6】同上の分割領域についてのシフト量を示す説明
図である。
【図7】本発明の一実施例に用いる制御回路の回路図で
ある。
【図8】本発明の一実施例の動作説明図である。
【図9】本発明の一実施例の動作説明図である。
【図10】本発明の一実施例の動作説明のためのフロー
チャートである。
【図11】本発明の一実施例の動作説明のためのフロー
チャートである。
【図12】本発明の一実施例の動作説明のためのフロー
チャートである。
【図13】本発明の一実施例の動作説明のためのフロー
チャートである。
【図14】本発明の一実施例の動作説明のためのフロー
チャートである。
【図15】本発明の一実施例の動作説明のためのフロー
チャートである。
【図16】本発明の一実施例の動作説明のためのフロー
チャートである。
【図17】本発明の一実施例の動作説明のためのフロー
チャートである。
【図18】本発明の一実施例の動作説明のためのフロー
チャートである。
【図19】本発明の一実施例の動作説明のためのフロー
チャートである。
【図20】本発明の一実施例の動作説明のためのフロー
チャートである。
【図21】本発明の一実施例の動作説明のためのフロー
チャートである。
【図22】本発明の一実施例の動作説明のためのフロー
チャートである。
【図23】本発明の一実施例の動作説明のためのフロー
チャートである。
【図24】本発明の一実施例の動作説明のためのフロー
チャートである。
【図25】本発明の一実施例の動作説明のためのフロー
チャートである。
【図26】本発明の一実施例の動作説明のためのフロー
チャートである。
【図27】本発明の一実施例の動作説明のためのフロー
チャートである。
【図28】本発明の一実施例の動作説明のためのフロー
チャートである。
【図29】本発明の一実施例の動作説明のためのフロー
チャートである。
【図30】本発明の一実施例の動作説明のためのフロー
チャートである。
【図31】本発明の一実施例の動作説明のためのフロー
チャートである。
【図32】本発明の一実施例の動作説明のためのフロー
チャートである。
【図33】本発明の一実施例の動作説明のためのフロー
チャートである。
【図34】本発明の一実施例の動作説明のためのフロー
チャートである。
【図35】本発明の一実施例の動作説明のためのフロー
チャートである。
【図36】本発明の一実施例の動作説明のためのフロー
チャートである。
【図37】本発明の一実施例の動作説明のためのフロー
チャートである。
【図38】本発明の一実施例の動作説明のためのフロー
チャートである。
【図39】本発明の一実施例の動作説明のためのフロー
チャートである。
【図40】本発明の一実施例の動作説明のためのフロー
チャートである。
【図41】本発明の一実施例の動作説明のためのフロー
チャートである。
【図42】本発明の一実施例の動作説明のためのフロー
チャートである。
【図43】本発明の一実施例の動作説明のためのフロー
チャートである。
【図44】本発明の一実施例の動作説明のためのフロー
チャートである。
【図45】本発明の一実施例の動作説明のためのフロー
チャートである。
【図46】本発明の一実施例の動作説明のためのフロー
チャートである。
【図47】本発明の一実施例の動作説明のためのフロー
チャートである。
【図48】本発明の一実施例の動作説明のためのフロー
チャートである。
【図49】本発明の一実施例の動作説明のためのフロー
チャートである。
【図50】本発明の一実施例の動作説明のためのフロー
チャートである。
【図51】本発明の一実施例の動作説明のためのフロー
チャートである。
【図52】本発明の一実施例の動作説明のためのフロー
チャートである。
【図53】本発明の一実施例の動作説明のためのフロー
チャートである。
【図54】本発明の一実施例の動作説明のためのフロー
チャートである。
【図55】本発明の一実施例の動作説明のためのフロー
チャートである。
【符号の説明】
1 焦点検出手段 2 出力手段 3 動体判定手段 4 切換手段 5 補正量算出手段 6 補正手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G02B 7/11

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 焦点を合わせるべき被写体に対するレ
    ンズの焦点ずれ量を繰り返し検出する焦点検出手段と、 撮影倍率の情報を出力する出力手段と、 上記焦点検出手段によって出力される焦点検出結果を所
    定の判定レベルと比較することによって、被写体が動的
    被写体であるか否かを判定する動体判定手段と、 動体判定手段の判定動作に用いられる上記判定レベル
    を、上記出力手段から出力される撮影倍率の情報に応じ
    て切り換える切換手段と、を備えたことを特徴とする自
    動焦点検出装置。
  2. 【請求項2】 上記動体判定手段は、上記焦点検出手
    段によって繰り返し出力される焦点ずれ量の変化量を検
    出し、この変化量と判定レベルとを比較することによっ
    て被写体が動的被写体であるか否かを判定することを特
    徴とする請求項1記載の自動焦点検出装置。
  3. 【請求項3】 上記切換手段は、少なくとも2つ以上
    の判定レベルを有しており、撮影倍率の情報に応じて少
    なくとも2段以上判定レベルを切り換えることを特徴と
    する請求項1記載の自動焦点検出装置。
  4. 【請求項4】 上記自動焦点検出装置は、さらに、 上記焦点検出手段から繰り返し出力される複数の焦点ず
    れ量に基づいて、上記被写体の移動に起因する焦点ずれ
    量を算出する補正量算出手段と、 上記補正量算出手段によって算出された焦点ずれ量だけ
    上記焦点検出手段により検出された焦点ずれ量を補正す
    る補正手段と、を備えたことを特徴とする請求項1記載
    の自動焦点検出装置。
  5. 【請求項5】 上記補正手段は、上記出力手段から出
    力される撮影倍率が所定値よりも大きい場合には焦点ず
    れ量の補正を行わないことを特徴とする請求項4記載の
    自動焦点検出装置。
JP11483695A 1995-05-12 1995-05-12 自動焦点検出装置 Expired - Lifetime JP2757822B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11483695A JP2757822B2 (ja) 1995-05-12 1995-05-12 自動焦点検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11483695A JP2757822B2 (ja) 1995-05-12 1995-05-12 自動焦点検出装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP63117439A Division JP2770316B2 (ja) 1988-05-13 1988-05-13 自動焦点検出装置

Publications (2)

Publication Number Publication Date
JPH0843721A JPH0843721A (ja) 1996-02-16
JP2757822B2 true JP2757822B2 (ja) 1998-05-25

Family

ID=14647920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11483695A Expired - Lifetime JP2757822B2 (ja) 1995-05-12 1995-05-12 自動焦点検出装置

Country Status (1)

Country Link
JP (1) JP2757822B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4610714B2 (ja) * 1999-11-02 2011-01-12 オリンパス株式会社 多点自動焦点カメラ
JP4337266B2 (ja) 2001-01-31 2009-09-30 コニカミノルタセンシング株式会社 3次元測定方法および3次元測定システム
JP2010117512A (ja) * 2008-11-12 2010-05-27 Sony Corp 撮像装置および焦点位置検出装置

Also Published As

Publication number Publication date
JPH0843721A (ja) 1996-02-16

Similar Documents

Publication Publication Date Title
JP2770316B2 (ja) 自動焦点検出装置
US5708863A (en) Image blur prevention device for camera
KR101395015B1 (ko) 카메라, 초점 검출방법, 및 제어방법
JPH10161013A (ja) 環境認識装置及び環境認識装置を備えたカメラ
JP2605282B2 (ja) 自動焦点調節装置
JP5056168B2 (ja) 焦点調節装置および撮像装置
US5604562A (en) Auto-zoom camera
JP2662650B2 (ja) 自動焦点調節装置
US6771899B2 (en) Camera and control method for focusing device
JP5879736B2 (ja) 画像追尾装置および撮像装置
JPH1138313A (ja) 光学装置及びカメラ
JP2757822B2 (ja) 自動焦点検出装置
JP2011107501A (ja) 焦点調節装置、および、撮像装置
JP2757821B2 (ja) 自動焦点調節装置
JPH07181369A (ja) 自動焦点調節カメラおよびカメラの自動焦点調節方法
JP2850336B2 (ja) 焦点検出装置
JP5871196B2 (ja) 焦点調節装置、および、撮像装置
JPH0876007A (ja) 焦点調節装置
US6507707B2 (en) Distance measuring apparatus and distance measuring method
JP5789937B2 (ja) 画像追尾装置及び撮像装置
JPH1184220A (ja) カメラの自動焦点調節装置
JP3248586B2 (ja) カメラシステム及びカメラ
JPH11337813A (ja) オートフォーカスカメラ
JP2671421B2 (ja) 焦点検出装置を用いた距離検出装置
JP3206122B2 (ja) 焦点検出装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080313

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090313

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090313

Year of fee payment: 11