JPH0843721A - Automatic focus detector - Google Patents
Automatic focus detectorInfo
- Publication number
- JPH0843721A JPH0843721A JP11483695A JP11483695A JPH0843721A JP H0843721 A JPH0843721 A JP H0843721A JP 11483695 A JP11483695 A JP 11483695A JP 11483695 A JP11483695 A JP 11483695A JP H0843721 A JPH0843721 A JP H0843721A
- Authority
- JP
- Japan
- Prior art keywords
- focus
- flag
- island
- focus detection
- determined
- 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.)
- Granted
Links
Landscapes
- Automatic Focus Adjustment (AREA)
- Focusing (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はカメラなどの装置におい
て、被写体像の焦点状態を検出する自動焦点検出装置に
関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic focus detection device for detecting the focus state of a subject image in a device such as a camera.
【0002】[0002]
【従来の技術】従来、特開昭62−125311号公報
においては、カメラの自動焦点検出装置において、前回
と今回の焦点ずれ方向が同一であるときに、被写体が動
的被写体であると判定することが提案されている。しか
しながら、この従来技術は、動的被写体か否かを判定す
るレベルを撮影倍率に応じて切り換えるものではない。2. Description of the Related Art Conventionally, in Japanese Unexamined Patent Publication No. 62-125311, an automatic focus detection device for a camera determines that a subject is a dynamic subject when the previous and current defocus directions are the same. Is proposed. However, this conventional technique does not switch the level for determining whether or not the subject is a dynamic subject according to the photographing magnification.
【0003】[0003]
【発明が解決しようとする課題】被写体像の焦点状態を
検出する自動焦点検出装置においては、被写体が動的被
写体である場合に焦点検出の精度に影響を及ぼすのは、
実際の被写体の移動速度よりもむしろ被写体像の結像位
置の移動速度の方である。従って、被写体が動的被写体
か否かを判定する場合には、被写体像の結像位置の移動
速度に基づいて判定することが望ましい。In the automatic focus detection device for detecting the focus state of a subject image, when the subject is a dynamic subject, the accuracy of focus detection is affected by:
It is the moving speed of the imaging position of the subject image rather than the actual moving speed of the subject. Therefore, when determining whether or not the subject is a dynamic subject, it is desirable to make a determination based on the moving speed of the imaging position of the subject image.
【0004】しかしながら、結像位置の移動速度は撮影
倍率に応じて大きく変化する。例えば、被写体の移動速
度が同じであっても被写体距離が近いほど、あるいはレ
ンズの焦点距離が長いほど結像位置の移動速度は大きく
なる。従って、被写体距離が近い場合または焦点距離の
大きい望遠レンズの場合には、結像位置の移動速度に基
づいて動体判定を行うと、被写体の移動に対する検出感
度が敏感になりすぎる。このため、焦点検出時のノイズ
や焦点検出演算のばらつきなども被写体の移動であると
判定してしまい、誤動作の原因となってしまう。However, the moving speed of the image forming position largely changes depending on the photographing magnification. For example, even if the moving speed of the subject is the same, the closer the subject distance is, or the longer the focal length of the lens is, the higher the moving speed of the imaging position is. Therefore, when the subject distance is short or in the case of a telephoto lens having a large focal length, if the moving body determination is performed based on the moving speed of the imaging position, the detection sensitivity for the movement of the subject becomes too sensitive. For this reason, noise at the time of focus detection, variation in focus detection calculation, and the like are also determined to be movement of the subject, which causes malfunction.
【0005】本発明は、上記のような問題点を解決する
ためになされたものであり、その目的とするところは、
撮影倍率の大小に関係なく、正確に被写体が動的被写体
か否かを判定することができる自動焦点検出装置を提供
することにある。The present invention has been made to solve the above-mentioned problems, and its purpose is to:
An object of the present invention is to provide an automatic focus detection device capable of accurately determining whether or not a subject is a dynamic subject, regardless of the magnitude of shooting magnification.
【0006】[0006]
【課題を解決するための手段】本発明の自動焦点検出装
置にあっては、上記の課題を解決するために、図1に示
すように、焦点を合わせるべき被写体に対するレンズの
焦点ずれ量を繰り返し検出する焦点検出手段1と、撮影
倍率βの情報を出力する出力手段2と、上記焦点検出手
段1によって出力される焦点検出結果を所定の判定レベ
ルと比較することによって、被写体が動的被写体である
か否かを判定する動体判定手段3と、動体判定手段3の
判定動作に用いられる上記判定レベルを、上記出力手段
2から出力される撮影倍率βの情報に応じて切り換える
切換手段4とを備えたことを特徴とするものである。こ
こで、上記動体判定手段3は、例えば、焦点検出手段1
によって繰り返し出力される焦点ずれ量の変化量を検出
し、この変化量と判定レベルとを比較することによって
被写体が動的被写体であるか否かを判定する手段とする
ことが好ましい。また、上記切換手段4は、少なくとも
2つ以上の判定レベルを有しており、撮影倍率βの情報
に応じて少なくとも2段以上判定レベルを切り換えるこ
とが好ましい。In order to solve the above-mentioned problems, in the automatic focus detection device of the present invention, as shown in FIG. 1, the defocus amount of the lens for the object to be focused is repeated. By comparing the focus detection unit 1 for detecting, the output unit 2 for outputting the information of the photographing magnification β, and the focus detection result output by the focus detection unit 1 with a predetermined determination level, the subject is a dynamic subject. The moving body determination unit 3 for determining whether or not there is the switching unit 4 and the switching unit 4 for switching the determination level used for the determination operation of the moving body determination unit 3 according to the information of the photographing magnification β output from the output unit 2. It is characterized by having. Here, the moving body determination means 3 is, for example, the focus detection means 1
It is preferable that the means for determining whether or not the subject is a dynamic subject by detecting the amount of change in the defocus amount repeatedly output by and comparing the amount of change with the determination level. Further, the switching means 4 has at least two determination levels, and it is preferable to switch at least two determination levels according to the information of the photographing magnification β.
【0007】さらに、上記自動焦点検出装置は、上記焦
点検出手段1から繰り返し出力される複数の焦点ずれ量
に基づいて、上記被写体の移動に起因する焦点ずれ量を
算出する補正量算出手段5と、上記補正量算出手段5に
よって算出された焦点ずれ量だけ上記焦点検出手段1に
より検出された焦点ずれ量を補正する補正手段6とを備
えることが好ましい。ここで、上記補正手段6は、上記
出力手段2から出力される撮影倍率βが所定値よりも大
きい場合には焦点ずれ量の補正を行わないことが好まし
い。Further, the automatic focus detection device further comprises a correction amount calculation means 5 for calculating the amount of defocus caused by the movement of the subject based on a plurality of defocus amounts repeatedly output from the focus detection means 1. It is preferable to include a correction unit 6 that corrects the defocus amount detected by the focus detection unit 1 by the defocus amount calculated by the correction amount calculation unit 5. Here, it is preferable that the correction unit 6 does not correct the defocus amount when the photographing magnification β output from the output unit 2 is larger than a predetermined value.
【0008】[0008]
【作用】図1の構成によれば、焦点検出手段1により、
焦点を合わせるべき被写体に対するレンズの焦点ずれ量
が繰り返し検出される。動体判定手段3は、上記焦点検
出手段1によって出力される焦点検出結果を所定の判定
レベルと比較することによって、被写体が動的被写体で
あるか否かを判定する。具体的には、焦点検出手段1に
よって繰り返し出力される焦点ずれ量の変化量を検出
し、この変化量と判定レベルとを比較することによって
被写体が動的被写体であるか否かを判定する。動体判定
手段3の判定動作に用いられる上記判定レベルは、出力
手段2から出力される撮影倍率βの情報に応じて切換手
段4によって切り換えられる。この切換手段4は、少な
くとも2つ以上の判定レベルを有しており、撮影倍率β
の情報に応じて少なくとも2段以上判定レベルを切り換
えることが好ましい。According to the configuration of FIG. 1, the focus detecting means 1
The defocus amount of the lens with respect to the subject to be focused is repeatedly detected. The moving body determination means 3 determines whether or not the subject is a dynamic subject by comparing the focus detection result output by the focus detection means 1 with a predetermined determination level. Specifically, the amount of change in the amount of defocus that is repeatedly output by the focus detection unit 1 is detected, and the amount of change is compared with the determination level to determine whether or not the subject is a dynamic subject. The determination level used for the determination operation of the moving body determination unit 3 is switched by the switching unit 4 according to the information of the photographing magnification β output from the output unit 2. The switching means 4 has at least two determination levels, and the photographing magnification β
It is preferable to switch the determination level in at least two steps or more in accordance with the above information.
【0009】このように、動的被写体か否かを判定する
判定レベルを撮影倍率に応じて切り換えることにより、
被写体距離が近い場合や望遠レンズを使用している場合
においても、被写体の移動に対する検出感度が敏感にな
り過ぎることがない。従って、撮影倍率の大小に関係な
く、正確に被写体が動的被写体か否かを判定することが
できる。As described above, by switching the determination level for determining whether or not the subject is a dynamic subject according to the photographing magnification,
Even when the subject distance is short or a telephoto lens is used, the detection sensitivity to the movement of the subject does not become too sensitive. Therefore, it is possible to accurately determine whether or not the subject is a dynamic subject regardless of the magnitude of the photographing magnification.
【0010】さらに、補正量算出手段5では、上記焦点
検出手段1から繰り返し出力される複数の焦点ずれ量に
基づいて、上記被写体の移動に起因する焦点ずれ量を算
出し、補正手段6では、上記補正量算出手段5によって
算出された焦点ずれ量だけ上記焦点検出手段1により検
出された焦点ずれ量を補正する。これにより、動的被写
体に対する追随補正を行うことができる。ここで、上記
出力手段2から出力される撮影倍率βが所定値よりも大
きい場合には上記補正手段6による焦点ずれ量の補正は
行わない。これにより、被写体距離が近い場合や望遠レ
ンズを使用している場合においても、被写体の移動に対
する検出感度が敏感になり過ぎることがなく、動的被写
体に対する追随補正を適切に行うことができる。Further, the correction amount calculation means 5 calculates the amount of defocus caused by the movement of the subject based on the plurality of defocus amounts repeatedly output from the focus detection means 1, and the correction means 6 The focus shift amount detected by the focus detection unit 1 is corrected by the focus shift amount calculated by the correction amount calculation unit 5. As a result, it is possible to perform tracking correction on the dynamic subject. Here, when the photographing magnification β output from the output unit 2 is larger than a predetermined value, the correction unit 6 does not correct the amount of defocus. As a result, even when the subject distance is short or the telephoto lens is used, the detection sensitivity to the movement of the subject does not become too sensitive, and the tracking correction for the dynamic subject can be appropriately performed.
【0011】[0011]
【実施例】図2は、本発明の自動焦点検出装置を用いた
カメラの撮影画面に対する焦点検出領域及びファインダ
ー内の表示を示している。この例では、撮影画面Sに対
して画面中央部の実線で示す3つの領域IS1,IS
2,IS3(以下、夫々、第1アイランド、第2アイラ
ンド、第3アイランドと呼ぶ)の被写体に対して焦点検
出を行うことができる。図中、点線で示している長方形
の枠AFは、焦点検出を行っている領域を撮影者に示す
べく表示されているものである。撮影画面Sの外に示さ
れている表示部Lbは焦点検出状態を示すものであり、
合焦時に緑色に点灯状態となり、焦点検出不能時には赤
色に点灯状態となるものである。Laは後述の追随モー
ドとなったときに表示されるマークである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 2 shows a focus detection area and a display in a finder for a photographing screen of a camera using the automatic focus detection device of the present invention. In this example, the three areas IS1 and IS indicated by the solid line in the center of the screen with respect to the shooting screen S are shown.
Focus detection can be performed on the subject of 2, IS3 (hereinafter referred to as the first island, the second island, and the third island, respectively). In the figure, a rectangular frame AF indicated by a dotted line is displayed to show the photographer the area in which focus detection is performed. A display portion Lb shown outside the photographing screen S indicates a focus detection state,
When focused, it is lit in green, and when focus cannot be detected, it is lit in red. La is a mark displayed when the tracking mode described later is set.
【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に投影される。FIG. 3 is a diagram showing a schematic configuration of a multipoint focus detection module having the focus detection area. In the figure, 11 is a taking lens, 12 is a main mirror, 13 is a film surface, 14 is a sub-mirror, and 15 is a focus detection optical system. Reference numeral 22 is a field stop disposed near the focal plane, and has rectangular openings 22a, 22b, 22c. 21
Reference numerals a, 21b and 21c are condenser lenses, 20 is a module mirror, 18a, 18b and 18c are pairs of separator lenses, and 16a, 16b and 16c are CCD image pickup device arrays arranged on the focal plane 17 of the separator lenses. Reference numeral 19 denotes a diaphragm mask, which has circular or oval openings 19a, 19
b and 19c. The image whose field of view is limited by the rectangular opening 22a passes through the condenser lens 21a, and is projected as two images on the CCD image pickup device array 16a by the field stop 19a and the separator lens pair 18a. It is determined that the two images are in focus when the image interval is a predetermined interval, the front focus when the image interval is narrower than the predetermined interval, and the rear focus when the image interval is wider than the predetermined interval. Field diaphragms 19b and 19c
Similarly, the image is projected onto the CCD image pickup device rows 16b and 16c by the condenser lenses 21b and 21c and the separator lens pair 18b and 18c.
【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)となっている。これらは、全てワンチップ上に形
成されている。FIG. 4A shows a light receiving portion (including the light receiving portion, the storage portion, and the transfer portion, which will be referred to as a CCD) of the CCD image pickup element array used in this focus detection device. Figure 2
Each of the islands IS1, IS2, IS3 is provided with a standard portion and a reference portion, and C is provided on one of the side portions of the central island IS2 in the longitudinal direction.
A light receiving element MA for monitoring is provided to control the integration time of the CD into the storage section. Each island IS1, IS
2, the number of pixels (X, Y) in the standard part and the reference part of IS3 is
(34,44) for island IS1, island IS
2 (44, 52), island IS3 (34, 52)
44). These are all formed on one chip.
【0014】本実施例の焦点検出装置では、上述の3つ
のアイランドの基準部を複数のブロックに分割し、この
分割した基準部の各ブロックと参照部の全て或いは一部
とを比較して焦点検出を行う。各ブロックでの焦点検出
結果のうち、最も後ピンのデータを各アイランドの焦点
検出データとし、さらに各アイランドの焦点検出データ
をもとにカメラの焦点検出データを算出する(詳細は後
述)。In the focus detecting apparatus of the present embodiment, the standard part of the above-mentioned three islands is divided into a plurality of blocks, and each block of the standard part thus divided is compared with all or part of the reference part to focus. Detect. Of the focus detection results in each block, the data of the rearmost pin is used as the focus detection data of each island, and the focus detection data of the camera is calculated based on the focus detection data of each island (details will be described later).
【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とする。The dividing range and the defocusing range of the divided islands will be described with reference to FIGS. 5, 6 and 4B. FIG. 5 is an enlarged view of the focus detection area on the shooting screen shown in FIG. The islands IS1, IS2 and IS3 for focus detection are shown in FIG.
This is the area of the reference portion shown in (a). In addition, in FIG. 5, the numerical value shown in each island indicates the number of differences obtained by taking the difference data for every three pixels of the CCD shown in FIG. The difference data may be every two or every other data (however, at this time, the above numerical values are different). Therefore,
The number (X, Y) of the standard part and the reference part in each island is (30, 40) in the island IS1,
2 (40, 50), island IS3 (30,
40). The island IS1 is divided into two blocks, and the island IS1 is divided into two blocks, and the difference data at the upper end is set to (1 to 20) and (11 to 30), which are the first block BL1 and the second block BL2, respectively. . The island IS2 is divided into three blocks, and (1 to 20), (11 to 30), and (21 to 40) are selected from the difference data on the left end.
And the third block BL3, the fourth block BL4,
This is the fifth block BL5. In the island IS3, 2 of (1 to 20) and (11 to 30) are calculated from the difference data at the upper end.
The blocks are a ninth block BL9 and a tenth block BL10. Then, in the present embodiment, in the above-described second island, data in which the extraction frequency is changed for a low-frequency subject, specifically, every seventh difference data of the pixel data is calculated, and the sum is calculated. The focus detection calculation is performed using the minute data. The number of data is 35 in the standard part and 45 in the reference part. This block is referred to as a sixth block BL6. Then, by using the same data as the sixth block, the sixth block is divided into two blocks in order to perform focus detection in a wider range.
A block BL7 and an eighth block BL8 are set.
【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である。In the focus detection of this phase difference detection method, when the image interval when the images of the standard portion and the reference portion are coincident with each other is larger than a predetermined distance, the rear focus is used, when the image distance is smaller than the predetermined distance, the front focus is used, and the focus is adjusted with the predetermined distance. Becomes A specific description will be given with reference to FIG. 4B showing the state after the difference data is obtained.
Indicates the standard part and the reference part of the island IS2.
Consider the defocus range of the fourth block BL4 divided into blocks. At this time, the image is focused when the image of the 16th to 35th portions BL4 ′ from the left end and the image of the fourth block BL4 coincide with each other in the reference portion.
From this, when the image coincidence is at the left end of the reference portion, it becomes the front pin, and at this time, the maximum number of displacement data of the front pin (hereinafter referred to as displacement pitch) becomes 15. Further, when the image coincidence is on the right side of the reference portion with respect to the position shown in the drawing, the rear pin is formed, and at this time, the maximum rear pin shift pitch is 15. The same applies to the defocus range divided into blocks on each of the other islands. This is shown in FIG.
In L3, the front pin side displacement pitch is 5, the rear pin side displacement pitch is 25, and in the fifth block BL5, the front pin side displacement pitch is 25 and the rear pin side displacement pitch is 5. 1st, 3rd
Regarding the islands IS1 and IS3, the front pin side displacement pitch is 5, the rear pin side displacement pitch is 15, and the second and tenth blocks BL2 in the first and ninth blocks BL1 and BL9.
In BL10, the shift pitch on the front pitch side is 15, and the shift pitch on the rear pin side is 5. In the sixth block BL6, the shift pitches on the rear pin side and the front pin side are both 5. In the seventh block, the front pin side displacement pitch is 5, the rear pin side displacement pitch is 15, and in the eighth block, the front pin side displacement pitch is 15, and the rear pin side displacement pitch is 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に出
力されるようになっている。FIG. 7 shows a block circuit diagram of the entire camera. μC is a microcomputer (hereinafter referred to as “microcomputer”) that performs calculations for sequence and exposure / focus detection of the entire camera, and LEC is a lens circuit of an interchangeable lens mounted on the camera body (not shown). Communicate information to the camera. The AFC is a focus detection data output circuit that includes a CCD that receives the light that has passed through the lens and converts the light into an analog electric signal, and is hereinafter referred to as an AF sensor. The AF sensor is a CC including a light receiving element array.
D circuit, light receiving element MA for monitoring used for controlling the integration time, integrating current IT from the light receiving element MA for monitoring, and outputting the integrated circuit ITG, and comparing the output of the integrating circuit ITG with a predetermined value. Comparator CMP, CCD
It is composed of an AGC circuit that amplifies the analog signal from the AGC circuit according to the output from the integrating circuit ITG. The operation will be briefly described. The microcomputer μC outputs the integration start signal ST. The CCD and the integration circuit ITG are reset and start integration respectively. When the integrated output of the integration circuit ITG becomes a predetermined value and the comparator CMP is inverted or the integration timer measured in the microcomputer μC becomes a constant value, the integration end signal SP is output. This allows CC
The integrated output in the D circuit is sent to the transfer register, and in sequence A
It is sent from the GC circuit to the microcomputer μC. On the other hand, the integration circuit ITG receives the integration end signal SP and holds the integration output. In response to this output, the AGC circuit amplifies the analog signal from the CCD circuit up to 8 times and outputs it to the microcomputer μC. The microcomputer μC incorporates an A / D converter that converts this analog data into digital data. Further, the AGC data is also output to the microcomputer μC.
【0018】LMCは、レンズを通過した光を測定し、
被写体の明るさを検出する輝度検出回路であり、被写体
の輝度に対応したアペックス系のデジタル信号Bvoを
マイコンμCに出力する。ISOは、フィルム感度読取
回路で、フィルム感度に応じたアペックス系のデジタル
信号SvをマイコンμCに出力する。DISPは、表示
回路であり、露出情報及びレンズの焦点状態を表示す
る。ENCはエンコーダであり、レンズ駆動用のモータ
Mの回転量を検出し、後述のレンズ制御回路LECON
にパルス(モータMの所定の回転量に対して出力される
パルス)を出力する。レンズ制御回路LECONは、マ
イコンμCからのモータ回転量(数)の信号及びモータ
(速度及び方向)制御信号を入力し、これに基づいて、
モータMを駆動すると共に、エンコーダENCからの信
号を入力し、所定量(モータ回転量)だけモータMが動
いたかどうかを検出し、モータMの停止制御をも行う。
マイコンμCは、内部にレンズ位置を知るためのカウン
タを有しており、内部の命令により、エンコーダからの
パルスに対してカウントアップ又はカウントダウンの動
作を行う。ILMは焦点検出不能で且つ低輝度であると
きに、被写体に向けてAF補助光を照射する補助光回路
である。The LMC measures the light passing through the lens,
This is a brightness detection circuit that detects the brightness of the subject, and outputs an apex digital signal Bvo corresponding to the brightness of the subject to the microcomputer μC. ISO is a film sensitivity reading circuit, which outputs an apex digital signal Sv corresponding to the film sensitivity to the microcomputer μC. The DISP is a display circuit and displays the exposure information and the focus state of the lens. ENC is an encoder that detects the amount of rotation of the motor M for driving the lens, and the lens control circuit LECON to be described later.
A pulse (a pulse output for a predetermined amount of rotation of the motor M) is output. The lens control circuit LECON inputs a motor rotation amount (number) signal and a motor (speed and direction) control signal from the microcomputer μC, and based on this,
While driving the motor M, a signal from the encoder ENC is input, it is detected whether the motor M has moved by a predetermined amount (motor rotation amount), and stop control of the motor M is also performed.
The microcomputer μC internally has a counter for knowing the lens position, and counts up or down the pulse from the encoder according to an internal command. The ILM is an auxiliary light circuit that irradiates the subject with AF auxiliary light when focus detection is not possible and the brightness is low.
【0019】BATは電源電池であり、全ての回路に電
力を供給する。SM はメインスイッチの操作により、O
N/OFFされるスイッチである。ワンショット回路O
Sは、スイッチSM のONに連動して、パルスを発生す
る。マイコンμCはこのパルスを入力して後述のINT
0の割り込みのフローを実行する。SAF/Mはオートフ
ォーカスモードとマニュアルフォーカスモードとを切り
換えるスイッチである。オートフォーカスモードでは焦
点検出結果に基づいてレンズ駆動が行われ、マニュアル
フォーカスモードでは焦点検出のみが行われる。S1は
シャッター釦の第1ストロークの押し下げでONし、測
光及び焦点検出動作を開始させる撮像準備スイッチであ
る。S2はシャッター釦の第2ストローク(第1ストロ
ークよりも長い)の押し下げでONし、撮像動作を開始
させるレリーズスイッチである。Ss/cは単写モード
と連写モードとを切り換えるスイッチである。Ss/w
はスポットAFモードとワイドAFモードとを切り換え
るスイッチである。BAT is a power supply battery and supplies power to all circuits. S M is set to O by operating the main switch.
It is a switch that is turned on / off. One shot circuit O
S generates a pulse in conjunction with the turning on of the switch S M. The microcomputer μC inputs this pulse and the INT
Execute the 0 interrupt flow. S AF / M is a switch for switching between the auto focus mode and the manual focus mode. In the auto focus mode, the lens is driven based on the focus detection result, and only the focus detection is performed in the manual focus mode. S1 is an image pickup preparation switch which is turned on by pressing the first stroke of the shutter button to start photometry and focus detection operations. S2 is a release switch that is turned on by pressing the second stroke (longer than the first stroke) of the shutter button to start the imaging operation. Ss / c is a switch for switching between the single shooting mode and the continuous shooting mode. Ss / w
Is a switch for switching between the spot AF mode and the wide AF mode.
【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に戻る。Next, the operation of the camera will be described with reference to the flow chart of the microcomputer μC. Main switch S M is O
If the answer is N, the "S M ON" interrupt process shown in FIG. 10 is executed. In # 2, the determination reference value β with the larger imaging magnification
Let H be 1/40. In # 4, the increase amount Δβ of the determination reference value having the smaller imaging magnification is set to 15. In # 6, it is determined whether or not the imaging preparation switch S1 is turned on. If the imaging preparation switch S1 is not turned on in # 6, the process proceeds to # 160, and if it is turned on, the process proceeds to # 8. # 8
Then, the free timer TM is reset and started. This is a timer used for moving object determination during focus detection. In # 10, various flags are reset. # 3
At 0, the variable N6 is set to 0. This variable N6 indicates the number of times the lens is driven during the follow-up determination in the out-of-focus state. # 4
At 0, lens-specific data is input from the lens circuit LEC. As the lens data, there are focal length data f, a conversion coefficient K LR for converting the defocus amount DF into the lens driving amount Δn, a constant Dv∞, which will be described later, and an open F number. In # 50, the photometric circuit LMC is operated to input the photometric data Bvo from the photometric circuit LMC. # 60 is A
Control F. Details of the contents of the # 60 subroutine will be described later. In step # 70, exposure calculation is performed. In this exposure calculation, the photometric value Bvo from the measurement circuit LMC,
Film sensitivity reading circuit ISO film sensitivity Sv,
From the open aperture value A Vo of the lens to the exposure value Ev = Bvo + S
v + Avo is calculated, and the shutter speed Tv and the aperture value Av are calculated based on the determined diagram of the AE program.
In # 80, 2 after pressing down the first shutter button
The second step is pushed down and the release switch S2 is turned on.
It is determined whether or not. Release switch S2 with # 80
When is ON, the flag A indicating focus is displayed in # 90.
It is determined whether the FEF is set. When the flag AFEF is set in # 90, # 1
Exposure control is performed at 00. In step # 110, one frame of film is wound after the exposure control is completed. In step # 120, the switch Ss / c determines whether or not the continuous shooting mode is set.
When the continuous shooting mode is not set in # 120, the process waits until the shooting preparation switch S1 is turned off in # 130. When the shooting preparation switch S1 is turned off, the process proceeds to # 155. # 12
When the continuous shooting mode is 0, the continuous shooting flag VLYF is set in # 140 and the process returns to # 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の判別を繰り返す。When the release switch S2 is not turned on in # 80, it is determined in # 150 whether the photographing preparation switch S1 is turned off. When the photographing preparation switch S1 is turned off in # 150, the process proceeds to # 155. When the photographing preparation switch S1 is turned off in # 150, the process returns to # 40. In # 155, all the displays are turned off. In # 160, the main switch S M is OF
It is determined whether or not F has been performed. When the main switch S M is turned off in # 160, the process proceeds to # 165,
The free timer TM is stopped, the microcomputer μC stops the clock and enters the sleep state. When the main switch S M is not turned off in # 160, the process returns to # 6 and the determination of the shooting preparation switch S1 is repeated.
【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センサーに
出力する。Next, the # 60 AF subroutine is shown in FIG.
It is shown from 1 onwards. In # 200, it is determined whether or not the flag FLF indicating the focus lock is set. #
If the flag FLF is set at 200, A
Since it is not necessary to perform F, the process returns. When the flag FLF is not set in # 200, the time is read from the constantly operating free timer TM in # 202 and set as TM1. In step # 203, the lens extension amount is read from the lens position counter CT and is set as CT1. In # 205, it is determined whether or not the fill light prohibition flag NLF is set. When the flag NLF is not set in # 205, it is determined in # 210 whether or not the fill light flag ILMF indicating the fill light mode is set. This flag ILMF is set when the brightness is low and focus detection is impossible. Auxiliary light flag I in # 210
When the LMF is set, a signal indicating emission of auxiliary light is output at # 220. At this time, timing is started at the same time. In step # 230, the signal ST that causes the AF sensor to start integration is output. At # 240, it waits for 40 msec. When 40 msec has elapsed, a signal for stopping the auxiliary light emission is output at # 250. In step # 310, the signal SP indicating the end of integration is output to the AF sensor. #
When the auxiliary light flag ILMF is not set at 210, the process proceeds to # 260. Also, when the auxiliary light emission prohibition flag NLF is set in # 205, # 260
Proceed to. In step # 260, the signal ST that causes the AF sensor to start integration is output. At this time, timing is started at the same time. In # 270, it is determined whether or not a signal for ending the integration is input from the AF sensor. When the signal for ending the integration is not input in # 270, it is determined in # 280 whether 20 msec has elapsed from the start of the integration. #
If 20 msec has not elapsed at 280, # 27
Return to 0. # If 20 msec has passed in 280, #
At 290, the brightness is low, the low brightness flag LLF is set, and the process proceeds to step # 310. When the signal SP for ending the integration is input from the AF sensor in # 270, the flag LLF indicating low brightness is reset, and the process proceeds to # 310. In step # 310, a signal indicating the end of integration is output to the AF sensor.
【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とする。At # 312, the time is read from the free timer TM and set as TM2. In # 313, the amount of lens extension is read from the lens position counter CT and C
T2. In # 314, the time TM1 of the previous integration center
Substitute 2 into TM12L. In # 315, the lens position CT12 at the previous integration center is substituted into CT12L. #
At 316, the average value of the times TM1 and TM2 read at the start of integration and at the end of integration, that is, the time (TM1 + TM2) / 2 of the current integration center is calculated and set as TM12. #
At 317, the average value of the lens extension amounts CT1 and CT2 read at the start of integration and at the end of integration, that is, the lens position (CT1 + CT2) / 2 at the center of integration is calculated, and CT is calculated.
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とし、リターンする。In step # 320, integral data is input from the AF sensor. In # 325, AGC data is input from the AF sensor. In # 330, the island used for the previous lens drive, that is, the specific island is determined. This subroutine will be described with reference to FIG. # 40
At 0, the shift number Δn showing the maximum correlation used in the previous lens drive is compared with the shift number Δn11 showing the maximum correlation in the first island. At # 400, Δn = Δn1
If it is 1, the process proceeds to step # 410, and it is determined that the first island was selected last time, the variable AFIS indicating the specific island is set to 1, and the process returns. If Δn ≠ Δn11 in # 400, the process proceeds to # 420, and the shift number Δn is compared with the shift number Δn12 showing the maximum correlation in the second island. # 4
If Δn = Δn12 at 20, the process proceeds to step # 430. Since the second island was selected last time, the variable AFIS indicating the specific island is set to 2, and the process returns. If Δn ≠ Δn12 in # 420, the process proceeds to # 440, in which the third island is selected last time, the variable AFIS indicating the specific island is set to 3, and the process returns.
【0025】特定アイランドの決定を終えると、マイコ
ンμCは図11のフローに戻り、#340のサブルーチ
ンでシーケンスの状態或いはAF状態等の条件に応じ
て、焦点検出を行うアイランドIS(又はブロックB
L)、相関演算を行う範囲(シフト数jの範囲)の決
定、及び上記条件に応じた焦点検出のためのアルゴリズ
ムを決定する。When the determination of the specific island is completed, the microcomputer μC returns to the flow of FIG. 11 and in the subroutine of # 340, the island IS (or block B) for focus detection is performed according to the condition such as the sequence state or the AF state.
L), the range for performing the correlation calculation (the range of the shift number j), and the algorithm for focus detection according to the above conditions are determined.
【0026】(A)焦点検出アルゴリズムの種類 #340のサブルーチンについて説明する前に、焦点検
出アルゴリズムの種類及びその内容について簡単に説明
する。(A) Focus Detection Algorithm Type Before describing the subroutine of # 340, the focus detection algorithm type and its contents will be briefly described.
【0027】(i)パターン認識アルゴリズム このアルゴリズムは、3つのアイランドの焦点検出の結
果に基づいて被写体の距離分布のパターンを認識し、こ
れに撮影倍率、交換レンズの焦点距離等の条件を加味し
て、3つのアイランドの焦点検出結果からレンズ駆動用
のデフォーカス量を算出する。後述の処理におけるAR
=1は、このアルゴリズムを示す。(I) Pattern Recognition Algorithm This algorithm recognizes the pattern of the distance distribution of the object based on the result of focus detection of the three islands, and adds conditions such as the photographing magnification and the focal length of the interchangeable lens to this. Then, the defocus amount for driving the lens is calculated from the focus detection results of the three islands. AR in the processing described below
= 1 indicates this algorithm.
【0028】(ii)最小デフォーカスアルゴリズム このアルゴリズムは、現在のレンズの焦点位置に最も近
い被写体に焦点を合わせるものである。後述の処理にお
けるAR=2〜4は、このアルゴリズムを示す。このう
ち、AR=4は、追随モードのときの最小デフォーカス
アルゴリズムを示す。また、AR=3は、合焦後、連写
中でないときの最小デフォーカスアルゴリズムを示す。
AR=4との違いはオフセット量△DFR を付けている
ことである。(Ii) Minimum Defocus Algorithm This algorithm focuses on the object closest to the current focal position of the lens. AR = 2 to 4 in the processing described later indicates this algorithm. Of these, AR = 4 indicates the minimum defocus algorithm in the follow mode. AR = 3 indicates the minimum defocus algorithm when continuous shooting is not performed after focusing.
The difference from AR = 4 is that the offset amount ΔDF R is added.
【0029】このオフセット量△DFR について説明す
る。本発明では、合焦後、レンズを停止したままの状態
で複数回の焦点検出結果に基づいて動体(「動的被写
体」とも言う)を判定しており、もし動体であれば、1
回の焦点検出の結果が得られるまでの時間に、ある程度
動いているものであり、これを見込んでオフセット量D
FR をカメラに近い方に付けている。本実施例では、カ
メラから遠ざかる被写体については考慮していないが、
動体の移動方向或いは移動速度が分かれば、それに応じ
てオフセット量DFR の大きさ及び方向を決めれば良
い。そして、このオフセット量DFR を含めた位置が、
現在のレンズの焦点位置であると仮定して、この位置に
最も近い被写体を含むアイランドのデフォーカス量を用
いる。ここでは、オフセット量DFR =50μmとす
る。AR=2は、合焦後、連写モードであるときの最小
アルゴリズムを示す。連写モードでは、レリーズ動作が
入るので、焦点検出を行っていない時間を増える。した
がって、上記のオフセット量DF R を100μmとして
いる。This offset amount ΔDFRExplain about
It In the present invention, the state in which the lens remains stopped after focusing
Based on multiple focus detection results,
(Also called "body"), and if it is a moving body, 1
It takes some time to obtain the results of focus detection
It is moving, and in anticipation of this, the offset amount D
FRIs attached to the side closer to the camera. In this example,
It doesn't consider the subject moving away from the camera,
If you know the moving direction or speed of the moving body,
Offset amount DFRThe size and direction of
Yes. Then, this offset amount DFRThe position including
Assuming the current lens focus position,
Use the defocus amount of the island that includes the closest subject
There is. Here, the offset amount DFR= 50 μm
It AR = 2 is the minimum in continuous shooting mode after focusing
The algorithm is shown. In continuous shooting mode, the release operation
Since it enters, the time during which focus detection is not performed is increased. did
Therefore, the above offset amount DF RAs 100 μm
There is.
【0030】(iii)特定アイランドアルゴリズム このアルゴリズムは、前回選択したアイランドを今回も
用いて、このアイランドにおいて焦点検出されたデフォ
ーカス量に基づいてレンズを駆動しようとするものであ
り、後述の処理におけるAR=5は、このアルゴリズム
を示す。(Iii) Specific Island Algorithm This algorithm uses the previously selected island again to drive the lens based on the defocus amount of the focus detected on this island. AR = 5 shows this algorithm.
【0031】(iv)常時特定アイランド(又はブロッ
ク)アルゴリズム 常に特定のブロック(第4ブロック)或いは特定のアイ
ランド(第2アイランド)においてのみ焦点検出を行う
ものであり、後述の処理におけるAR=6はこのアルゴ
リズムを示す。(Iv) Always specific island (or block) algorithm Focus detection is always performed only on a specific block (fourth block) or a specific island (second island), and AR = 6 in the processing described later This algorithm is shown.
【0032】(B)アイランド(ブロック)及びシフト
範囲の決定 次に、焦点検出を行うアイランド(又はブロック)、相
関演算を行う範囲(シフト範囲)の決定について説明す
る。後述の処理では、変数Bを用いてこれらを決定して
いる。(B) Determination of Island (Block) and Shift Range Next, determination of the island (or block) for focus detection and the range (shift range) for correlation calculation will be described. In the process described later, these are determined using the variable B.
【0033】B=1は、シフト範囲及びアイランド(又
はブロック)の制限が無いことを示す。B=2は、ブロ
ックBL1,BL2,BL4は使用せず、他の制限は無
いことを示す。B=3は、現在の焦点位置から±4ピッ
チの範囲でのみ相関演算を行うことを示す。B=4は、
現在の焦点位置から±2ピッチの範囲でのみ相関演算を
行うことを示す。B = 1 indicates that there is no limitation on the shift range and the island (or block). B = 2 indicates that the blocks BL1, BL2 and BL4 are not used and there are no other restrictions. B = 3 indicates that the correlation calculation is performed only within the range of ± 4 pitches from the current focus position. B = 4 is
It indicates that the correlation calculation is performed only within a range of ± 2 pitches from the current focus position.
【0034】B=5は、現在の焦点位置から−2ピッチ
乃至推定合焦位置から+2ピッチ、又は、現在の焦点位
置から+2ピッチ乃至推定合焦位置から−2ピッチの範
囲でのみ相関演算を行うことを示す。前者の範囲を選択
するか、後者の範囲を選択するかは、レンズの駆動方
向、つまり推定合焦位置の方向によって変わる。B=6
は、合焦位置から±4ピッチの範囲でのみ相関演算を行
うことを示す。B=7は、前回のレンズ駆動に使用され
たアイランドについてのみ、現在の焦点位置から±4ピ
ッチの範囲でのみ相関演算を行い、他のアイランドにつ
いては制限が無いことを示す。B=8は、第2アイラン
ドについてのみ焦点検出を行い、シフト範囲については
制限が無いことを示す。B=9は、第4ブロックBL4
についてのみ焦点検出を行い、シフト範囲については制
限が無いことを示す。なお、これらを使い分けるための
処理については、後述する。When B = 5, the correlation calculation is performed only in the range of -2 pitch from the current focus position to +2 pitch from the estimated focus position or from +2 pitch from the current focus position to -2 pitch from the estimated focus position. Indicates to do. Whether the former range or the latter range is selected depends on the driving direction of the lens, that is, the direction of the estimated focus position. B = 6
Indicates that the correlation calculation is performed only within a range of ± 4 pitches from the in-focus position. B = 7 indicates that the correlation calculation is performed only within the range of ± 4 pitches from the current focus position only for the island used for the previous lens drive, and there is no limit for other islands. B = 8 indicates that focus detection is performed only on the second island and there is no limitation on the shift range. B = 9 is the fourth block BL4
It indicates that the focus detection is performed only for No. 1 and there is no limit for the shift range. The processing for selectively using these will be described later.
【0035】次に、#340のサブルーチンを図13及
び図14に示し説明する。#500では、レンズ駆動を
行わないマニュアルフォーカスモード(FA:Focu
sAid)であるか否かをスイッチSAF/M により判定
する。スイッチSAF/M がマニュアルフォーカスモード
位置にあるときには、#590でB=1(制限なし)、
#600でAR=1(パターン認識アルゴリズム)とし
てリターンする。そして、後述のパターン認識アルゴリ
ズムの#4610〜#4660で、第2アイランドを優
先している。つまり、マニュアルフォーカスモードで
は、撮影者は主被写体を画面の中央部に持って来ること
が多いので、第2アイランドを優先している。そして、
この第2アイランドで焦点検出不能のときにのみ、第1
及び第3アイランドの被写体の遠近を比較して、カメラ
側に近い被写体を含むアイランドのデフォーカス量を使
用している。相関演算のシフト範囲については、レンズ
駆動が無いので、デフォーカス量を予測できないために
制限することはできない。Next, the subroutine of # 340 will be described with reference to FIGS. In # 500, manual focus mode (FA: Focu
sAid) is determined by the switch S AF / M. When the switch S AF / M is in the manual focus mode position, B = 1 (no limit) in # 590,
At # 600, AR = 1 (pattern recognition algorithm) is returned. Then, the second island is prioritized in # 4610 to # 4660 of the pattern recognition algorithm described later. That is, in the manual focus mode, since the photographer often brings the main subject to the center of the screen, the second island is prioritized. And
Only when the focus cannot be detected on this second island, the first
And the perspective of the subject on the third island are compared, and the defocus amount of the island including the subject close to the camera is used. The shift range of the correlation calculation cannot be limited because the lens is not driven and the defocus amount cannot be predicted.
【0036】#500でスイッチSAF/M がオートフォ
ーカスモード位置にあるときには、#520でスポット
AFが選択されているか否かをスイッチSs/wにより
判定する。#520でスポットAFが選択されていると
きには、#530でB=9(スポットAF)、#555
でAR=6(常時特定ブロック)としてリターンする。
これはスポットAFのエリアである第4ブロックBL4
のみを選択しているものである。スポットAFでは、こ
のブロックでのAFを行うだけなので、焦点検出時間も
短く、特にシフト範囲を制限する必要はない。When the switch S AF / M is in the auto focus mode position at # 500, whether or not the spot AF is selected is determined at # 520 by the switch Ss / w. When the spot AF is selected in # 520, B = 9 (spot AF) in # 530, # 555.
Then AR = 6 (always specified block) is returned.
This is the fourth block BL4 which is the area of the spot AF.
Only those that are selected. In spot AF, since AF is performed only in this block, focus detection time is short and it is not necessary to limit the shift range.
【0037】#520でスポットAFが選択されていな
いときには、#540で補助光モードであるか否かを補
助光フラグILMFがセットされているか否かで判定す
る。#540で補助光フラグILMFがセットされてい
るときには、#550でB=8(第2アイランドの
み)、#555でAR=6(常時特定アイランド)とし
てリターンする。つまり、補助光モードでは、第2アイ
ランドのみを使用する。これは、補助光が照射される範
囲が標準レンズ(焦点距離35mm〜105mm)を装
着した場合に、3つのアイランドのうち、画面中央の第
2アイランドを少なくとも含み、第1及び第3アイラン
ドは含まないことがあるからである。この場合、第2ア
イランドのみで焦点検出を行うので、焦点検出時間も短
く、シフト範囲の制限は必要でない。When the spot AF is not selected in # 520, whether or not the auxiliary light mode is set in # 540 is determined by whether or not the auxiliary light flag ILMF is set. When the auxiliary light flag ILMF is set in # 540, B = 8 (only the second island) is set in # 550, and AR = 6 (always specific island) is set in # 555. That is, in the fill light mode, only the second island is used. This includes at least the second island at the center of the screen among the three islands when the standard lens (focal length 35 mm to 105 mm) is attached to the range where the auxiliary light is irradiated, and the first and third islands are included. This is because there are things that do not exist. In this case, focus detection is performed only on the second island, so the focus detection time is short and there is no need to limit the shift range.
【0038】#540で補助光フラグILMFがセット
されていないときには、#560でフラグFPFがセッ
トされているか否かを判定する。このフラグFPFは、
強制的にパターン認識アルゴリズムを実行することを示
すフラグである。#560でフラグFPFがセットされ
ているときには、#590でB=1とし、シフト範囲の
制限は無いことを示し、#600でAR=1として、パ
ターン認識アルゴリズムであることを示す。When the auxiliary light flag ILMF is not set in # 540, it is determined whether or not the flag FPF is set in # 560. This flag FPF is
This is a flag indicating that the pattern recognition algorithm is forcibly executed. When the flag FPF is set in # 560, B = 1 is set in # 590 to indicate that the shift range is not limited, and AR = 1 is set in # 600 to indicate that the pattern recognition algorithm is used.
【0039】#560でフラグFPFがセットされてい
ないときには、#570でフラグPA1PFがセットさ
れているか否かを判定する。このフラグPA1PFは、
パターン認識アルゴリズムを1度は通ったことを示すフ
ラグである。焦点検出開始後の1回目の焦点検出時に全
エリアが低コントラストで焦点検出不能な状態(以下
「ローコン」とも呼ぶ)になったときには、レンズ駆動
を行いながら焦点検出可能なレンズ位置を探す動作(以
下「ローコンスキャン」という)が行われ、このローコ
ンスキャン時にはパターン認識アルゴリズムが選択され
る。その結果、焦点検出可能となったときには、フラグ
PA1PFがセットされる。#570でフラグPA1P
Fがセットされていないときには、#580でローコン
スキャンを示すフラグLSFがセットされているか否か
を判定する。#580でフラグLSFがセットされてい
ないときには、#590でB=1、#600でAR=1
としてリターンする。When the flag FPF is not set in # 560, it is determined in # 570 whether the flag PA1PF is set. This flag PA1PF is
It is a flag indicating that the pattern recognition algorithm has been passed once. When the entire area is in low contrast and focus detection is impossible (hereinafter also referred to as "low contrast") during the first focus detection after the start of focus detection (hereinafter, also referred to as "low contrast"), an operation for searching for a focus detectable lens position while driving the lens ( Hereinafter, the "low-conscan" is performed, and the pattern recognition algorithm is selected during the low-con scan. As a result, when focus detection becomes possible, the flag PA1PF is set. The flag PA1P in # 570
When F is not set, it is determined at # 580 whether or not the flag LSF indicating the low contrast scan is set. When the flag LSF is not set in # 580, B = 1 in # 590 and AR = 1 in # 600.
To return.
【0040】#580でフラグLSFがセットされてい
れば、#610で変換係数KLRが所定値K1よりも大き
いか否かを判定する。変換係数KLRは、単位デフォーカ
ス量当たりのレンズ駆動量(AFモータ回転量)を求め
るための係数である。#610でKLR≦K1であるとき
には、AFモータの単位回転量当たりのデフォーカス量
が大きくなるため、レンズ駆動中の焦点検出演算の時間
が長くなり、これにより、焦点検出光学系で決まる焦点
検出可能範囲を越えてしまい、焦点検出不能となる領域
が発生する。If the flag LSF is set in # 580, it is determined in # 610 whether the conversion coefficient K LR is larger than the predetermined value K1. The conversion coefficient K LR is a coefficient for obtaining the lens drive amount (AF motor rotation amount) per unit defocus amount. When K LR ≦ K1 in # 610, the defocus amount per unit rotation amount of the AF motor becomes large, so that the time for focus detection calculation during lens driving becomes long, which causes the focus determined by the focus detection optical system. An area where the focus cannot be detected occurs because the area exceeds the detectable range.
【0041】これを図8により説明する。図8におい
て、横軸は時間tであり、縦軸はデフォーカス量DFで
ある。DFENは、焦点検出光学系及び基準部でのデータ
数で決まる焦点検出可能範囲である。I1 ,I2 ,…は
CCDの積分時間であり、C1,C2 ,…は演算時間で
ある。積分中心TM12L,TM12,…でのデフォー
カス量から焦点検出可能範囲DFENを考えると、変換係
数KLRが大きいときには、焦点検出可能範囲DFEN内に
1回の焦点検出に要する時間(I1 +C1 ),(I2 +
C2 ),…に駆動されるデフォーカス量が入っているの
で、被写体を見逃すことはない。ところが、変換係数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としてリターンする。This will be described with reference to FIG. In FIG. 8, the horizontal axis represents time t and the vertical axis represents the defocus amount DF. DF EN is the focus detectable range determined by the number of data in the focus detection optical system and the reference unit. I 1 , I 2 , ... Are CCD integration times, and C 1 , C 2 ,. Considering the focus detectable range DF EN from the defocus amount at the integration centers TM12L, TM12, ... When the conversion coefficient K LR is large, the time required for one focus detection within the focus detectable range DF EN (I 1 + C 1 ), (I 2 +
Since the defocus amount driven by C 2 ), ... Is included, the subject is never missed. However, the conversion coefficient K
When LR is small, focus detection range DF EN becomes (I 1
Since the defocus amount driven during the time of + C 1 ) does not enter, when the subject exists in this range DF NO , the subject is missed. To prevent this, # 61
When K LR ≦ K1 at 0, B = 2 at # 620 and the block BL is set to minimize the focus detection time.
The focus detection of 1, BL2 and BL4 is not performed.
In the case of a subject such as a horizontal line, focus detection cannot be performed on the second island, but focus detection can be performed on either the first island or the third island, so one is better, and in the embodiment, the first island (block BL1 and BL2) are omitted. The fourth block is omitted because the fourth block exists between the third block and the fifth block, the two blocks BL3 and BL5 cover the area of the fourth block BL4, and focus detection is performed. This is enough if you are looking for a possible subject. In order to show this, B = 2 in # 620. Also, # 61
When K LR > K1 at 0, B = 1, # at # 590.
At 600, AR = 1 and the process returns.
【0042】#570でフラグPA1PFがセットされ
ているときには、パターン認識アルゴリズムを一度通過
したということであり、#630で追随モードであるこ
とを示す追随フラグTRCFがセットされているか否か
を判定する。#630で追随フラグTRCFがセットさ
れているときには、#640でフラグLCFがセットさ
れているか否かを判定する。このフラグLCFは、前
回、全アイランドで焦点検出不能であったことを示すロ
ーコンフラグである。#640でフラグLCFがセット
されているときには、最初から焦点検出をやり直すべ
く、#590でB=1、#600でAR=1としてリタ
ーンする。When the flag PA1PF is set in # 570, it means that the pattern recognition algorithm has been passed once, and it is determined in # 630 whether or not the follow-up flag TRCF indicating the follow-up mode is set. . When the follow-up flag TRCF is set in # 630, it is determined whether or not the flag LCF is set in # 640. This flag LCF is a low contrast flag indicating that focus detection could not be performed on all islands last time. When the flag LCF is set in # 640, B = 1 is set in # 590 and AR = 1 is set in # 600 to return to focus detection from the beginning, and the process returns.
【0043】#640でフラグLCFがセットされてい
ないときには、被写体を連続して捕らえていると判断し
て、前回の合焦位置から±2ピッチのシフト範囲でのみ
相関演算を行うべく、#660でB=4とする。また、
焦点検出アルゴリズムについては、前回の合焦位置に最
も近い被写体を選択するアルゴリズムを選択するべく、
#670でAR=4としてリターンする。これは、追随
モードということであり、被写体を既に捕らえており、
1回の焦点検出の間では、被写体は合焦位置からのデフ
ォーカス量に関して余りずれないと仮定しているからで
ある。また、全アイランドを用いるのは、動体というこ
とで、被写体が左右に動くことが多いからである。When the flag LCF is not set in # 640, it is determined that the object is continuously captured, and the correlation calculation is performed only in the shift range of ± 2 pitches from the previous in-focus position, in # 660. Then, set B = 4. Also,
Regarding the focus detection algorithm, to select the algorithm that selects the subject closest to the previous focus position,
At # 670, AR = 4 and the process returns. This is a follow-up mode, which has already captured the subject,
This is because it is assumed that the object does not deviate much from the in-focus position during one focus detection. The reason why all the islands are used is that it is a moving body, and the subject often moves left and right.
【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つのアイランドの
中から被写体を選択するアルゴリズムを用いると、レン
ズ駆動中に誤ってデフォーカス方向の異なる別の被写体
を選ぶと、レンズは現在の駆動方向には反対方向に駆動
され、レンズ駆動が不安定になるからである。これは後
述の低速駆動中の焦点検出の場合についても同様であ
る。後者の場合には、さらにデフォーカス方向が同一で
もデフォーカス量の大きな被写体を選んだときに、低速
駆動から急に高速駆動となり、高速駆動中にデフォーカ
ス量の小さい被写体を選んだときには、また低速駆動と
なるといった不安定なレンズ駆動となる。A follow-up flag T indicating a follow-up mode at # 630.
When the RCF is not set, it is determined at # 680 whether the flag AFPEF is set. This flag AFPEF is a flag that indicates that there was a previous focus. When the flag AFPEF is not set in # 680, the flag V1F is set in # 690 of FIG.
It is determined whether or not is set. This flag V1F
Is a flag that indicates focus detection during lens driving at the highest speed (free run). Flag V1 at # 690
When F is set, it is determined that focus detection is performed during free run, and -2 (or +) from the previous focus position.
2) In order to perform the correlation calculation in the range of +2 (or -2) pitch from the pitch and the estimated focus position, B = 5 is set in # 700. This is intended to shorten the calculation time, but the reason why a margin of 2 pitches is provided in the direction opposite to the defocus direction from the previous focus position is that a lens with a large exchange coefficient K LR is mounted. In this case, even if the rotation amount of the AF motor in the camera is large, only a small defocus amount is moved. This is in consideration of the fact that a defocus amount may occur in the direction of (). This also applies to the case in which the subject moves more in the direction with a margin of 2 pitches than the change in the defocus amount due to the lens drive, and was obtained last time so that such a case can be dealt with. A margin of 2 pitches is provided in the direction opposite to the defocus amount. As for the focus detection algorithm, AR = 5 is returned at # 710 to select a specific island algorithm that uses the previously selected island. This is intended to shorten the time to focus and stabilize the driving of the lens by using the previously selected algorithm. This is because in this case, if an algorithm for selecting a subject from three islands such as a pattern recognition algorithm is used, and if another subject with a different defocus direction is mistakenly selected during lens driving, the lens will be driven by the current drive. This is because the lens is driven in the opposite direction and the lens drive becomes unstable. This also applies to the case of focus detection during low-speed driving which will be described later. In the latter case, when a subject with a large defocus amount is selected even if the defocus direction is the same, the driving speed is suddenly changed from low speed to high speed, and when a subject with a small defocus amount is selected during high speed driving, Instable lens drive such as low speed drive.
【0045】また、このように特定アイランドアルゴリ
ズムを用いることにより、焦点検出時間を短くすること
ができ、結果的に所定時間内における焦点検出回数を増
やして焦点検出精度を上げることができる。つまり、レ
ンズ駆動速度が高速であるときには、デフォーカス量が
大きく、そのデフォーカス量の値が多少誤差を含んでお
り、これに応じてレンズの停止位置を決めると、合焦位
置からは多少ずれることがあるが、焦点検出回数を増や
して、小さいデフォーカス量を検出する機会を増やすこ
とにより、誤差を少なくしてレンズの停止位置を決める
ようにしている。Further, by using the specific island algorithm as described above, the focus detection time can be shortened, and as a result, the number of times of focus detection within a predetermined time can be increased to improve the focus detection accuracy. In other words, when the lens driving speed is high, the defocus amount is large, and the value of the defocus amount includes a slight error, and if the lens stop position is determined accordingly, the defocus amount deviates slightly from the in-focus position. However, by increasing the number of times of focus detection and increasing the chances of detecting a small defocus amount, the error is reduced and the stop position of the lens is determined.
【0046】#690でフラグV1Fがセットされてい
ないときには、フリーラン中の焦点検出ではないと判定
され、#720でフラグLMVFがセットされているか
否かを判定する。フラグLMVFは低速駆動中の焦点検
出であることを示すフラグである。#720でフラグL
MVFがセットされているときには、低速駆動中の焦点
検出であると判定され、フリーラン中の焦点検出に比べ
て焦点検出結果によるデフォーカス量が小さく、1ピッ
チが約1mmのデフォーカス量に対応するとして、通
常、±4ピッチ以下となるので、合焦位置から±4ピッ
チのシフト範囲でのみ相関演算を行うべく、#730で
B=6とし、#710でAR=5としてリターンする。When the flag V1F is not set in # 690, it is determined that the focus detection is not performed during the free run, and it is determined in # 720 whether the flag LMVF is set. The flag LMVF is a flag that indicates focus detection during low speed driving. Flag L in # 720
When the MVF is set, it is determined that the focus detection is performed during low speed driving, and the defocus amount due to the focus detection result is smaller than the focus detection during the free run, and one pitch corresponds to the defocus amount of about 1 mm. However, since the pitch is usually ± 4 pitches or less, B = 6 is set in # 730 and AR = 5 is set in # 710 to return the correlation calculation only in the shift range of ± 4 pitches from the in-focus position.
【0047】#720でフラグLMVFがセットされて
いないときには、低速駆動中の焦点検出ではないと判定
され、#740でフラグFRN1Fがセットされている
か否かを判定する。このフラグFRN1Fは、一度フリ
ーラン(最高速)によるレンズ駆動が行われ、レンズが
停止した最初の焦点検出であることを示すフラグであ
る。#740でフラグFRN1Fがセットされていると
きには、#745でこのフラグFRN1Fをリセットす
る。次に、#750でフラグNLCFがセットされてい
るか否かを判定する。このフラグNLCFは、それ以前
に行われたパターン認識アルゴリズムで焦点検出不能な
アイランドがあったことを示すフラグである。#750
でフラグNLCFがセットされているときには、前回選
択したアイランドについては±4ピッチのシフト範囲で
のみ相関演算を行い、それ以外は制限を設けずに相関演
算を行うべく、#760でB=7とし、#770でAR
=1としてリターンする。これは、前回のパターン認識
アルゴリズムで、そのときのレンズ位置の関係で認識す
べき被写体が焦点検出不能になったのではないかという
ことを確認するために、再度パターン認識アルゴリズム
を実行する訳であるが、少しでも時間が短くなるように
前回選択したアイランド、つまり焦点検出可能であった
アイランドについては、±4ピッチのシフト範囲でのみ
焦点検出演算を行うものである。When the flag LMVF is not set in # 720, it is determined that focus detection is not performed during low speed driving, and it is determined in # 740 whether the flag FRN1F is set. The flag FRN1F is a flag indicating that the focus is first detected when the lens is driven by the free run (highest speed) once and the lens is stopped. When the flag FRN1F is set in # 740, the flag FRN1F is reset in # 745. Next, in # 750, it is determined whether or not the flag NLCF is set. The flag NLCF is a flag indicating that there is an island in which focus cannot be detected by the pattern recognition algorithm performed before that. # 750
When the flag NLCF is set in, the correlation calculation is performed only for the ± 4 pitch shift range for the previously selected island, and B = 7 is set in # 760 in order to perform the correlation calculation without the other restrictions. , # 770 AR
Return as = 1. This is because in the previous pattern recognition algorithm, the pattern recognition algorithm is executed again in order to confirm that the subject to be recognized may have become unfocusable due to the relationship of the lens position at that time. However, the focus detection calculation is performed only in the ± 4 pitch shift range for the island selected last time so that the time can be shortened as much as possible, that is, the island for which focus detection is possible.
【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としてリターン
する。When the flag FRN1F is not set in # 740, it means that it is not the first focus detection after the lens is stopped from the free run, and when the flag NLCF is not set in # 750, the previous This is the case where there is no island whose focus cannot be detected by the pattern recognition algorithm. In these cases, the flag LCF is sent in # 780.
It is determined whether or not is set. This flag LC
As described above, F is a flag indicating that the result of the current focus detection is that focus detection cannot be performed on all islands.
If there is at least one focus-detectable island, that is, if the flag LCF is not set, the correlation calculation is performed only within the ± 4 pitch shift range of the current focus position.
In step # 790, B = 3 is set, and in step # 770, AR = 1 and the process returns. In addition, focus detection is not possible on all islands (LCF
= 1), in order to eliminate the restriction on the shift range, # 8
At 00, B = 1, and at # 770, AR = 1 and return.
【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 を設
け、この位置を合焦位置とする。Returning to the description of FIG. 13, when the flag AFPEF indicating that the focus was previously set in # 680 is set, it is determined in # 810 whether or not the continuous shooting flag VLYF is set. . This continuous shooting flag VLY
F is a flag that indicates the continuous shooting mode. # 8
When the continuous shooting flag is set at 10, # 82
When it is 0, it is determined whether or not the flag LCF indicating that focus detection is impossible in all islands is set. # 82
When the flag LCF is set to 0, # 59
When 0, B = 1, and when # 600, AR = 1 and the process returns. When the flag LCF is not set in # 820, B = 3 is set in # 830. This is the case where there is an island in which even one focus detection is possible during the previous focus detection during continuous shooting, so the correlation calculation is performed only within the shift range of ± 4 pitches from the current focus position. In other words, during continuous shooting, it takes time for exposure. Therefore, when the subject is moving, the defocus amount becomes larger than the previous time when the focus detection result is in focus, so the shift range is increased. Is what you are doing. Now, as the function of the camera, a focus priority method is used in which shooting is not possible unless the subject is in focus, so here, at least the last time, the subject is in focus.
Therefore, assuming that the subject is closest to the current focus position, AR = 2 is returned at # 840 in order to select the minimum defocus algorithm.
At this time, since the subject may be a moving body, an offset amount ΔDF R of 100 μm is provided on the side closer to the camera, and this position is set as the in-focus position.
【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を選択する。When the continuous shooting flag VLYF is not set in # 810, it is determined in # 850 whether or not the flag LCF is set in order to determine whether or not focus detection is not possible for all the islands. Flag L at # 850
When CF is not set, it means that there is at least one focus-detectable island, and the process proceeds to # 890. When the flag LCF is set in # 850, it means that the focus detection is not possible for all the islands. In # 860, the moving object determination flag MV is set.
It is determined whether F is set. The moving body determination flag MVF is a flag that is set when the moving body determination is in progress. If the moving object determination flag is not set in # 860, it is determined that the moving object determination is not in progress, and # 5
At B, B = 1, at # 600, AR = 1, and the process returns. When the moving object determination flag MVF is set in # 860, or when the flag LCF is not set in # 850, the correlation calculation is performed only in the shift range of ± 2 pitches from the current focus position in # 890. B = 4
And Further, in order to select the minimum defocus algorithm and set the offset amount ΔDF R to 50 μm, # 90
When 0, AR = 3 and the process returns. This # 890 and #
It is during the moving object determination or in the continuous AF mode that the step 900 is passed. It is assumed that the subject may move during the focus detection during the moving body determination, and therefore the offset amount ΔDF R is set to 50 μm. Further, here, it is set to +50 μm because only the moving subject that is approaching is determined. The island closest to this offset position is the subject position.
The same applies in the continuous AF mode. At this time (that is, during moving object determination or in continuous AF mode), the subject is likely to move in the optical axis direction or in the direction of a plane perpendicular to the optical axis, and focus detection is not possible for all islands. Even if it is temporary, ± 2 pitch correlation calculation, minimum defocus algorithm, offset amount ΔDF R = 50
Select μm.
【0051】図11の説明に戻って、#340のサブル
ーチンを終えると、上記サブルーチンで決められたシフ
ト数jの範囲、アイランドIS(又はブロックBL)の
選択に基づいて、#350のサブルーチンで相関演算を
行う。このサブルーチンを図15乃至図32に示し説明
する。Returning to the explanation of FIG. 11, when the subroutine of # 340 is completed, the correlation of the subroutine of # 350 is made based on the selection of the range of the shift number j and the island IS (or the block BL) determined by the subroutine. Calculate. This subroutine will be described with reference to FIGS.
【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 (参照部)である。In # 1000, the variables Δn1 to Δn10,
Δn11 to Δn13, Δd1 to Δd10, Δd11 to Δ
A predetermined value K2 is set in d13. Δn1 to Δn10 are shift numbers indicating the maximum correlation in the correlation calculation in the blocks BL1 to BL10, and Δn11 to Δn13 are shift numbers selected in the islands IS1 to IS3. In each block, Δd1 to Δd10 are deviations from the in-focus position after the interpolation calculation, and Δd11 to Δd13 are deviations from the in-focus position after the islands IS1 to IS3. Further, K2 is a large negative value that cannot be the focus detection result, and is an initial value indicating the front focus side (far from the camera). In # 1005, each island IS
Difference data of 1 to IS3 is created. First Island I
The difference data of S1 is a i (reference part) and a ′ i (reference part), the difference data of the second island IS2 is b i (reference part) and b ′ i (reference part), the difference data of third island IS3. Are c i (standard part) and c ′ i (reference part).
【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ブロックの処理へ移行する。Next, the correlation calculation on the second island is performed. First, in step # 1010, a flag LCF2 indicating that focus detection cannot be performed on the second island is set in advance. The flag LCF2 is reset when it is later determined that the focus detection of the second island is not possible.
Then, the correlation calculation of the third block in the second island is first performed. When the above variable B is B = 1, 2 or 8 #
1020, B = 3 to # 1040, B = 4 to # 1060, B = 5 to # 1080, B = 6 to # 1100, B = 7 to # 1120, B = When it is 9, proceed to # 1160. When the variable B is 1, 2 or 8,
Since there is no limitation on the number of shifts in the third block, the range of shift number j is set to 1 to 31 (# 1030). Variable B
When is 3, the shift range is ± 4 pitches from the current focus position. The number of shifts of the focus position in the third block is j
= 6, and the current focus position is (6 + Δn). Therefore, ± 4 pitches are added to this, and the range of the shift number j is Δ.
It is set to n + (2 to 10) (# 1050). When the variable B is 4, the shift range is ± 2 pitches from the current focus position. Similarly to the above, the number of shifts of the focus position in the third block is j = 6, and the current focus position is (6 + Δn)
Therefore, ± 2 pitches are added to this, and the range of the shift number j is set to Δn + (4 to 8) (# 1070). When the variable B is 5, whether or not it is a rear pin is determined in # 1085. When it is determined to be the rear focus, the shift range is set from the second pitch rear pin (+2) at the current focus position to the second pitch front pin (-2) at the focus position (j = 6),
The range of the shift number j is set to 4 to (Δn + 8) (# 1
090). When it is determined that the focus is not the rear focus, the shift range is changed from the front focus (-2) at the current focus position (Δn + 6) to the rear focus (+ = 2 pitch) at the focus position (j = 6).
Up to 2), the range of the shift number j is set to (Δn + 4) to 8 (# 1095). When the variable B is 6, the shift range is ± 4 pitches from the in-focus position. Since the number of shifts of the focus position is j = 6, add ± 4 pitches to this,
The range of the shift number j is set to 2 to 10 (# 111
0). When the variable B is 7, # 11 is used to determine whether the previously adopted island is the second island.
At 30, it is determined whether the variable AFIS = 2. # 1
When it is determined in 130 that AFIS = 2, the shift range is set to ± 4 pitches from the current focus position (6 + Δn), and ± 4 pitches are added to the current focus position (6 + Δn) to determine the number of shifts. The range of j is set to Δn + (2 to 10) (# 1140). When it is determined in # 1130 that AFIS = 2 is not satisfied, the range of the shift number j is set to 1 to 31 on the assumption that the shift number is not limited (# 1150). When the variable B is 9, it is only the fourth block, so # 1
At 170, the process proceeds to the fourth block.
【0054】B=1〜8の場合には、#1030、#1
050、#1070、#1090、#1095、#11
10、#1140、#1150のいずれかから#118
0へ進んで、ローコントラスト判定レベルKLCを所定値
KLC1 に設定する。#1190では信頼性判定レベルK
YM/C を所定値KYM/C1に設定する。#1195では相
関を取るための基準部の開始番号をk=0とする。この
開始番号kには後で(#3010、#3030で)i=
1が加えられて、実際にはi+k=1が基準部の開始番
号となる。#1200では焦点検出不能判定及び相関演
算を行う。When B = 1 to 8, # 1030 and # 1
050, # 1070, # 1090, # 1095, # 11
# 118 from any of 10, # 1140 and # 1150
In step 0, the low contrast determination level K LC is set to a predetermined value K LC1 . In # 1190, the reliability judgment level K
Set YM / C to a predetermined value KYM / C1 . In # 1195, the starting number of the reference portion for obtaining the correlation is k = 0. This start number k is later (in # 3010, # 3030) i =
1 is added so that i + k = 1 is actually the starting number of the reference part. In # 1200, focus detection impossibility determination and correlation calculation are performed.
【0055】この#1200のサブルーチンを図16に
示し説明する。まず、#3000で現在相関演算を行っ
ているブロック(#1200からコールされたときには
第3ブロック)が焦点検出不能であることを示すフラグ
LCFBをセットする。#3010ではコントラストを
基準部の相関演算を行っているブロック(第3ブロッ
ク)から得るために、The subroutine of # 1200 will be described with reference to FIG. First, in step # 3000, a flag LCFB indicating that the block for which the correlation calculation is currently performed (the third block when called from step # 1200) is incapable of focus detection is set. In # 3010, in order to obtain the contrast from the block (third block) in which the correlation calculation of the reference part is performed,
【0056】[0056]
【数1】 で求める。#3020では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。C≦KLCのと
きには、リターンする。この場合、フラグLCFBがセ
ットされたままでリターンされる。C>KLCのときは、
#3030で次式により相関演算を行う。[Equation 1] Ask in. In # 3020, it is determined whether the obtained contrast value C is larger than the predetermined value K LC . When C ≦ K LC, the process returns. In this case, the flag LCFB is set and returned. When C> K LC ,
In # 3030, correlation calculation is performed by the following equation.
【0057】[0057]
【数2】 #3040では、相関演算値M(j)の最小値MIN
(M(j))を求める。この最小値MIN(M(j))
及びそのときのシフト数jは、1ピッチ単位で得られる
粗いものであるから、これをより細かくするべく、#3
050で補間演算を行う。補間して得られた相関演算値
の最小値をYMとし、そのときの補間したシフト量を△
dとする。#3060では、補間して得られた相関演算
値の最小値YMをコントラストCで規格化して得られた
YM/Cと所定値KYM/C を比較して、信頼性を判定す
る。#3060でYM/C≧KYM/C と判定されたとき
には、信頼性が無いとしてリターンする。この場合に
も、フラグLCFBがセットされたままでリターンされ
る。#3060でYM/C<KYM/C と判定されたとき
には、信頼性が有ると判定し、焦点検出可能であるの
で、#3070で第2アイランドが焦点検出不能である
ことを示すフラグLCF2をリセットし、#3080で
相関演算を行っているブロックが焦点検出不能であるこ
とを示すフラグLCFBをリセットしてリターンする。[Equation 2] In # 3040, the minimum value MIN of the correlation calculation value M (j)
Find (M (j)). This minimum value MIN (M (j))
And the shift number j at that time is a coarse value obtained in units of 1 pitch, so in order to make this finer, # 3
At 050, interpolation calculation is performed. The minimum value of the correlation calculation values obtained by interpolation is YM, and the interpolated shift amount at that time is Δ
d. In # 3060, YM / C obtained by normalizing the minimum value YM of the correlation calculation values obtained by interpolation with the contrast C and the predetermined value K YM / C are compared to determine the reliability. When it is determined in # 3060 that YM / C ≧ K YM / C , the process returns with no reliability. In this case also, the flag LCFB is returned with the flag being set. When it is determined in # 3060 that YM / C < KYM / C, it is determined that there is reliability and focus detection is possible. Therefore, in # 3070, the flag LCF2 indicating that focus detection cannot be performed on the second island is set. After resetting, the flag LCFB indicating that focus detection cannot be performed on the block for which the correlation calculation is performed in # 3080 is reset and the process returns.
【0058】図15のフローに戻り、相関演算を行った
ブロックが焦点検出可能であるか否かを判定するべく、
#1205でフラグLCBFがリセットされているか否
かを判定する。#1205でフラグLCBFがリセット
されているときには、相関演算を行った第3ブロックの
ずれシフト数を示す変数△n3にjから合焦位置6を減
じた値を代入する(#1207)。また、合焦位置から
のずれ量を得るために、補間演算で求めたシフト数△d
から合焦位置のシフト数j=6を引き、これを第3ブロ
ックのシフト数△d3とする(#1209)。#120
5でフラグLCBFがリセットされていないときには、
第3ブロックは焦点検出不能であるということなので、
#1207、#1209をスキップして#1210に進
む。Returning to the flow of FIG. 15, in order to determine whether or not the block for which the correlation calculation is performed can detect the focus,
In # 1205, it is determined whether the flag LCBF has been reset. When the flag LCBF is reset in # 1205, a value obtained by subtracting the in-focus position 6 from j is substituted into the variable Δn3 indicating the shift shift number of the third block for which the correlation calculation has been performed (# 1207). Also, in order to obtain the amount of deviation from the in-focus position, the shift number Δd obtained by interpolation calculation
Then, the shift number j = 6 of the focus position is subtracted, and this is set as the shift number Δd3 of the third block (# 1209). # 120
When the flag LCBF is not reset in 5,
Since the third block has no focus detection,
# 1207 and # 1209 are skipped and the process proceeds to # 1210.
【0059】#1210では変数Bが2であるか否かを
判定する。#1210で変数Bが2であれば、第4ブロ
ックの相関演算を省略して、#1220から第5ブロッ
クの相関演算に移行する。#1210で変数Bが2でな
ければ、#1230から第4ブロックの相関演算に移行
する。At # 1210, it is determined whether the variable B is 2. If the variable B is 2 in # 1210, the correlation calculation of the fourth block is omitted, and the process shifts from # 1220 to the correlation calculation of the fifth block. If the variable B is not 2 in # 1210, the process proceeds from # 1230 to the correlation calculation of the fourth block.
【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)。FIG. 17 shows the correlation calculation of the fourth block.
When the variable B is B = 9, go to # 1240, and when B = 3, go to # 1.
To 260, when B = 4 to # 1280, and when B = 5 to #
1300, when B = 6, proceed to # 1320; when B = 7, proceed to # 1340; otherwise, proceed to # 1375. When the variable B is 9, it is in the spot AF mode, so that there is no limitation on the number of shifts in the fourth block, the range of the number of shifts j is set to 1 to 31 (# 1030). When the variable B is 3, the shift range is ± 4 pitches from the current focus position, and when the variable B is 6, the shift range is ± 4 pitches from the focus position. The number of shifts of the focus position is j = 6 in the above-mentioned third block, but the number of shifts of the focus position is j = 16 in this fourth block. Therefore, when B = 3, the current focus position ( 16 + Δn), when B = 6, ± 4 pitches are added to the in-focus position 16 and the range of the shift number j is set to Δn + (12 to 20) (# 1).
270, # 1330). When the variable B is 4, the shift range is set to ± 2 pitches from the current focus position (16 + Δn), so the range of the shift number j is set to Δn + (14 to 18) (# 1290). When the variable B is 5, # 1305
Then, it is determined whether or not it is the rear pin. When it is determined to be the rear focus, the shift range is changed from the two-pitch rear pin (+2) at the current focus position to the two-pitch front pin (-2) at the focus position 16, so that the range of the shift number j 14 ~
(Δn + 18) is set (# 1310). When it is determined that it is not the rear focus, the shift range is set from the 2nd pitch front pin (−2) side of the current focus position (16 + Δn) to the 2nd pitch rear pin (+2) side of the in-focus position 16. The range of the shift number j is set as (Δn + 14) to 18 (#
1315). When the variable B is 7, in order to determine whether or not the previously adopted island is the second island,
In # 1350, it is determined whether the variable AFIS = 2. When AFIS = 2 in # 1350, the shift range is set to ± 4 pitches from the current focus position (16 + Δn). Therefore, ± 4 pitches are added to this, and the range of the shift number j is Δn + (12 to 20) (# 1360).
When it is determined in # 1350 that AFIS = 2 is not satisfied, the range of the shift number j is set to 1 to 31 on the assumption that the shift number is not limited (# 1370). In other cases, that is, when the variable B is 1 or 8, it is already (in # 1030).
Since it has already been set and there is no change, do not set it again. When the variable B is 2, the correlation calculation of the fourth block is not performed (∵ #
1210).
【0061】いずれの場合も、#1250、#127
0、#1290、#1310、#1315、#133
0、#1360、#1370、#1375のいずれかか
ら#1380へ進んで、ローコントラスト判定レベルK
LCを所定値KLC1 に設定する。#1390では信頼性判
定レベルKYM/C を所定値KYM/C1に設定する。#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ブロックの相関演算へ移行
する。In any case, # 1250 and # 127
0, # 1290, # 1310, # 1315, # 133
From 0, # 1360, # 1370, or # 1375, the process proceeds to # 1380 to determine the low contrast determination level K.
LC is set to a predetermined value K LC1 . In # 1390, the reliability determination level K YM / C is set to a predetermined value K YM / C1 . # 13
In 95, the starting number of the reference part for obtaining the correlation is k = 10.
And In step # 1400, focus detection failure determination and correlation calculation are performed. Since this subroutine is the same as the subroutine called in # 1200, the duplicate description will be omitted. # 140 after returning from the subroutine
At 3, it is determined whether the flag LCBF has been reset. If it is determined in # 1403 that the flag LCBF has been reset, the value obtained by subtracting the in-focus position 16 from the shift number j before interpolation calculation showing the maximum correlation is determined in # 1405 assuming that focus detection is not possible for the fourth block. Substitute for the shift shift number Δn4 of the fourth block. In # 1407,
From the shift amount Δd after the interpolation calculation, the shift number of the in-focus position j =
16 is subtracted, and the defocus amount of the fourth block Δd4 = Δd
Calculate -16. When it is determined in # 1403 that the flag LCBF has not been reset, it is determined that focus detection cannot be performed on the fourth block, and # 1405 and # 140 are determined.
Skip step 7. In # 1410, B = 9
It is determined whether or not (Spot AF). # 1410
When B = 9 in step # 1415, Δd4 indicating the amount of deviation of the second island is set to Δd4, and only the focus detection of the fourth block is required, and the process returns. Shift to the correlation calculation of 5 blocks.
【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)。FIG. 18 shows the correlation calculation of the fifth block.
If the variable is B = 3, go to # 1460; if B = 4, go to # 14.
80, when B = 5, # 1500; when B = 6, # 1
520, to # 1540 when B = 7, and to # 1575 otherwise. When the variable B is 3, the shift range is ± 4 pitches from the current focus position, and when the variable is 6, the shift range is ± 4 pitches from the focus position. In the third and fourth blocks, the focus position shift numbers are j = 6 and j = 16, respectively, but in the fifth block, the focus position shift numbers are j = 26, so that B = In the case of 3, the current focus position (26 + Δn) is added by ± 4 pitches to the in-focus position 26 when B = 6, and the range of the shift number j is set as Δn + (22 to 30) (# 14
70, # 1530). When the variable B is 4, the shift range is set to ± 2 pitches from the current focus position (26 + Δn). Therefore, ± 2 pitches are added to the current focus position (26 + Δn) to obtain the range of the shift number j. Is set as Δn + (24 to 28) (# 1490). When the variable B is 5, # 1505
Then, it is determined whether or not it is the rear pin. When it is determined to be the rear focus, the shift range is changed from the two-pitch rear pin (+2) of the current focus position to the two-pitch front pin (-2) of the in-focus position 26. Therefore, the range of the shift number j is 24-
(Δn + 28) is set (# 1510). When it is determined that the shift is not the rear focus, the shift range is set from the two-pitch front pin (-2) of the current focus position to the two-pitch rear pin (+2) of the focus position 26, and thus the range of the shift number j is ( Δn + 24) to 28 are set (# 1515). When the variable B is 7, whether or not the variable AFIS = 2 is determined in # 1550 in order to determine whether or not the previously adopted island is the second island. # 1550 for A
When FIS = 2, the shift range is set to ± 4 pitches from the current focus position (26 + Δn). Therefore, ± 4 pitches are added to the current focus position (26 + Δn) to set the range of the shift number j. Set as Δn + (22 to 30) (# 156)
0). If it is determined in # 1550 that AFIS = 2 is not satisfied, the range of the shift number j is set to 1 to 31 because there is no limitation on the shift number (# 1570). In other cases, that is, when the variable B is 1, 2 or 8, (# 1
Since it has already been set and there is no change (in 030), it is not newly set. When the variable B is 9 (during spot AF), the correlation calculation of the fifth block is not performed (∵ # 1410).
【0063】いずれの場合も、#1470、#149
0、#1510、#1515、#1530、#156
0、#1570、#1575のいずれかから#1580
へ進んで、ローコントラスト判定レベルKLCを所定値K
LC1 に設定する。#1590では信頼性判定レベルKYM
/C を所定値KYM/C1に設定する。#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を決定するサブルーチンをコ
ールする。In any case, # 1470 and # 149
0, # 1510, # 1515, # 1530, # 156
0, # 1570, or # 1575 to # 1580
Proceed to, and set the low contrast judgment level K LC to the predetermined value K.
Set to LC1 . In # 1590, the reliability judgment level K YM
/ C is set to a predetermined value K YM / C1 . In # 1595, the starting number of the reference portion for obtaining the correlation is k = 20. # 1
At 600, focus detection impossibility determination and correlation calculation are performed. Since this subroutine is the same as the subroutine called in # 1200, the duplicate description will be omitted. After returning from the subroutine, the flag L is returned in # 1602.
Determine if the CBF has been reset. # 16
When it is determined in 02 that the flag LCBF is reset, it is determined that the focus detection of the fifth block is not possible, and a value obtained by subtracting the in-focus position 26 from the shift number j before the interpolation calculation showing the maximum correlation in # 1605 is set. Store in variable Δn5. In step # 1607, the focus shift amount j = 26 is subtracted from the shift amount Δd after the interpolation calculation to calculate the defocus amount Δd5 = Δd−26 of the fifth block. If it is determined at # 1602 that the flag LCBF has not been reset, then it is determined that focus detection cannot be performed on the fifth block,
Steps # 1605 and # 1607 are skipped. #
At 1610, it is determined whether the flag LCF2 is reset. When the flag LCF2 is not reset in # 1610, it is determined that the focus detection of the second island is not possible at present, and the process proceeds from # 1620 to the correlation calculation of the sixth block. When the flag LCF2 is reset in # 1610, it means that at least one of the third to fifth blocks is capable of focus detection. Therefore, in # 1625, the focus from the in-focus position of the second island is detected. A subroutine for determining the deviation amount Δd12 is called.
【0064】このサブルーチンを図19に示し説明す
る。#3200では、第3〜第5ブロックにおける焦点
ずれ量△d3〜△d5の中の最大値を検出する。これは
最も後ピン側、つまり最もカメラに近い被写体を検出し
ているものである。This subroutine will be described with reference to FIG. In # 3200, the maximum value of the defocus amounts Δd3 to Δd5 in the third to fifth blocks is detected. This is for detecting the object on the rearmost pin side, that is, the object closest to the camera.
【0065】最大値が△d3のときは、#3205から
#3210に進んで、第3ブロックのシフト数△n3を
第2アイランドでのシフト数△12とし、さらに、#3
220で第3ブロックでの合焦位置からの焦点ずれ量△
d3を、第2アイランドでの合焦位置からの焦点ずれ量
△d12として設定してリターンする。When the maximum value is Δd3, the process proceeds from # 3205 to # 3210, and the shift number Δn3 of the third block is set to the shift number Δ12 on the second island, and further, # 3.
At 220, the amount of defocus from the in-focus position in the third block Δ
The d3 is set as the defocus amount Δd12 from the in-focus position on the second island, and the process returns.
【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として設定してリターンする。When the maximum value is Δd4, the routine proceeds from # 3205 to # 3230, and the shift number Δn4 of the fourth block is set as the shift number Δ12 on the second island. Further, in # 3240, the defocus amount Δd4 from the in-focus position in the fourth block is set as the defocus amount Δd12 from the in-focus position in the second island, and the process returns. When the maximum value is Δd5, the process proceeds from # 3205 to # 3250, and the shift number Δn5 of the fifth block is set as the shift number Δ12 on the second island. In addition, # 326
When 0, the defocus amount Δd5 from the in-focus position in the fifth block
Is the amount of defocus Δd from the in-focus position on the second island.
Set as 12 and return.
【0067】このサブルーチンからリターンした後、#
1630から第1アイランドの相関演算に移行する。After returning from this subroutine,
The processing shifts from 1630 to the correlation calculation of the first island.
【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 は次式のようになる。Before explaining the correlation calculation of the first island, the correlation calculation of the sixth block in the second island will be described with reference to FIG. The sixth block is a block for performing focus detection on a low-frequency subject. First, in # 1650, the difference data for every other three is set to the difference data for every other three so as to be suitable for the focus detection for the low-frequency subject, and consequently the difference data for every seven is created. Then, of these, calculation data is created by adding adjacent difference data. That is, the difference data of the standard part and the reference part are respectively a i and a ′ i.
Then, the second difference data is (a i −a i + 3 ),
To become (a 'i -a' i + 3). In addition, among the second difference data, operation data a ″ i obtained by adding adjacent data,
a ″ ′ i is as follows.
【0069】[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を通らない。(Equation 3) These are operated on the difference data of the second island to obtain the second operation data a ″ i , a ″ ′ i . The numbers of the standard portion and the reference portion are 35 and 45, respectively. # 16
After creating 50 operation data, the variable B is judged, and B = 1, 2
Or, if # 8, go to # 1660, and if B = 3, # 1680.
To # 1700 when B = 4 to # 1720 when B = 5
To # 1740 when B = 6, # 176 when B = 7
0, otherwise proceed to # 1795. Variable B is 1,
When it is 2 or 8, it is assumed that the sixth block has no limitation on the number of shifts, and the range of the number of shifts j is set to 1 to 11 (# 1
670). When the variable B is 3, the shift range is ± 4 pitches from the current focus position. Since the number of shifts of the focus position in the sixth block is j = 6, the current focus position (6
Add ± 4 pitch to + △ n) to set the range of shift number j to △
It is set as n + (2 to 10) (# 1690). When the variable B is 4, the shift range is ± 2 pitches from the current focus position. Similarly to the above, the number of shifts of the focus position in the sixth block is j = 6, so the current focus position (6 + Δ
n) is added with ± 2 pitches, and the range of the shift number j is Δn +
(4 to 8) is set (# 1710). When the variable B is 5, whether or not it is the rear pin is determined in # 1725. When it is determined to be the rear focus, the shift range is changed from the rear focus (+2) of the current focus position by 2 pitches to the focus position 6 of 2.
Since the pitch is up to the front pin (-2), the range of the shift number j is set to 4 to (Δn + 2) (# 1730). When it is determined that the focus is not the rear focus, the shift range is set from the front two pitches (-2) of the current focus position to the rear two pitches (+2) of the focus position 6, so that the range of the shift number j is ( Δn + 4) to 8 are set (# 1735). Variable B
When is 6, the shift range is ± 4 pitches from the in-focus position. Since the shift number of the focus position in the sixth block is j = 6, ± 4 pitches are added to this to set the range of the shift number j to 2 to 10 (# 1750). When the variable B is 7, the variable AFIS is determined in # 1770 to determine whether or not the previously adopted island is the second island.
= 2 is determined. AFIS = in # 1770
When it is determined to be 2, the shift range is set to ± 4 pitches from the current focus position (6 + Δn). Therefore, ± 4 pitches are added to the current focus position (6 + Δn) to obtain the shift number j. The range is set to Δn + (2 to 10) (# 178
0). When it is determined in # 1770 that AFIS = 2 is not satisfied, the range of the shift number j is set to 1 to 11 on the assumption that the shift number is not limited (# 1790). The variable B
When the number is 9, the spot AF is performed and only the fourth block is included. Therefore, in this embodiment, # 1795 is not passed.
【0070】B=1〜8の場合には、#1670、#1
690、#1710、#1730、#1735、#17
50、#1780、1790のいずれかから#1800
へ進んで、ローコントラスト判定レベルKLCを所定値K
LC2 (≠KLC1 )に設定し、#1810では信頼性判定
レベルKYM/C を所定値KYM/C2(≠KLC1 )に設定す
る。つまり、第6ブロックでは、第3〜第5ブロックと
は使用するデータの個数が異なるので、ローコントラス
トの判定レベルKLCや信頼性判定レベルKYM/ C も第3
〜第5ブロックの判定基準とは変えている。#1820
では焦点検出不能判定及び相関演算を行う。When B = 1 to 8, # 1670 and # 1
690, # 1710, # 1730, # 1735, # 17
50 from # 1780 or 1790 to # 1800
Go to, low contrast judgment level KLCIs a predetermined value K
LC2(≠ KLC1) Is set, and reliability is determined in # 1810.
Level KYM/CIs a predetermined value KYM/C2(≠ KLC1)
It That is, in the sixth block, the third to fifth blocks
Since the number of data used is different,
Judgment level KLCAnd reliability judgment level KYM/ CIs also the third
~ Different from the criterion of the fifth block. # 1820
Then, the focus detection inability determination and the correlation calculation are performed.
【0071】この#1820のサブルーチンを図21に
示し説明する。まず、#3100で現在焦点検出のため
の演算を行っているブロック(第6ブロック)が焦点検
出不能であることを示すフラグLCFBをセットする。
#3110ではコントラストを基準部の第6ブロックか
ら得るために、The subroutine of # 1820 will be described with reference to FIG. First, in # 3100, a flag LCFB indicating that focus detection cannot be performed on a block (sixth block) currently performing calculation for focus detection is set.
In # 3110, in order to obtain the contrast from the sixth block of the reference part,
【0072】[0072]
【数4】 で求める。第6ブロックでは第3〜第5ブロックとはデ
ータの個数が異なっているので、コントラストCを演算
するための演算回数も#3010とは異なっている。#
3120では求めたコントラスト値Cが所定値KLCより
も大きいか否かを判定する。所定値以下のとき(C≦K
LC)には、リターンする。コントラスト値Cが所定値K
LCよりも大きいとき(C>KLC)には、#3130に進
み、次式で相関演算を行う。[Equation 4] Ask in. Since the number of data in the sixth block is different from that in the third to fifth blocks, the number of calculations for calculating the contrast C is also different from # 3010. #
In 3120, it is determined whether the obtained contrast value C is larger than the predetermined value K LC . When it is less than a predetermined value (C ≦ K
Return to LC ). The contrast value C is a predetermined value K
When it is larger than LC (C> K LC ), the routine proceeds to # 3130, where the correlation calculation is performed by the following equation.
【0073】[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と全く同
様であるので、重複する説明は省略する。(Equation 5) In the above equation, a ″ i is the data of the reference part, and a ″ ′ i + j-1
Is the data of the reference part. These data are # 165
It is obtained by calculating 0. In the 6th block, 3rd to 5th
Since the number of data is different from that of the block, the number of times of correlation calculation is different from that of # 3030. # 3140 to # 31
At 80, the minimum value MIN (M
(J)) is obtained, interpolation calculation is performed to determine the reliability of the correlation calculation, and when it is determined that the correlation is reliable, the flags LCF2 and LCFB are reset and the process returns. Since it is exactly the same as # 3040 to # 3080, duplicate description will be omitted.
【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ブロックの相関演算に移行
する。Returning to the flow of FIG. 20, it is determined at # 1830 whether or not the flag LCBF is reset in order to determine whether or not the focus detection cannot be performed on the sixth block for which the correlation calculation is performed at # 1820. This flag LCBF is reset (in # 3180) when the block for which the correlation calculation has been performed cannot detect the focus. When the flag LCBF is reset in # 1830, that is, when the focus detection cannot be performed in the sixth block, the shift shift of the second island is performed so that the focus detection result of the sixth block becomes the focus detection result of the second island. Variable indicating the number Δn12
The value obtained by subtracting the in-focus position 6 from the shift number j of the sixth block obtained in # 3140 is substituted into (# 1840). Further, in order to obtain the shift amount from the in-focus position on the second island, the shift number Δd obtained by the interpolation calculation of # 3150
Then, the shift number j = 6 at the focus position of the sixth block is subtracted, and this is set as Δd12 (# 1850). And #
The operation shifts from 1855 to the correlation calculation of the first island. If the flag LCBF is not reset in # 1830, that is, if focus detection cannot be performed in the sixth block, the process proceeds from # 1860 to the correlation calculation of the seventh block.
【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)。A flowchart of the correlation calculation of the seventh block and the determination of focus detection failure is shown in FIG. 22 and will be described. When the variable B is B = 1, 2 or 8, the process proceeds to # 1870, when B = 7, the process proceeds to # 1890, and otherwise the process proceeds to # 1925. When the variable B is 1, 2 or 8, it is assumed that the shift number is not limited in the seventh block, and the range of the shift number j is set to 1 to 21 (# 1880). When the variable B is 7, whether or not the variable AFIS = 2 is determined in # 1900 in order to determine whether or not the previously adopted island is the second island. When AFIS = 2 in # 1900,
The shift range is ± 4 pitches from the current focus position (6 + Δn). The number of shifts of the focus position in the seventh block is j =
Since it is 6, add ± 4 pitches to this and shift number j
Is set to Δn + (2 to 10) (# 191).
0). If AFIS is not 2 in # 1900, it is assumed that the number of shifts is not limited, and the range of the number of shifts j is 1 to 21.
Is set (# 1920).
【0076】#1880、#1910、#1920、#
1925のいずれかから#1930へ進んで、ローコン
トラスト判定レベルKLCを所定値KLC3 に設定し、#1
810では信頼性判定レベルKYM/C を所定値KYM/C3
に設定する。つまり、第7ブロックでは、第3〜第5ブ
ロックや第6ブロックとは使用するデータの個数が異な
り、基準部のデータ数が26となっているので、ローコ
ントラストの判定レベルKLCや信頼性判定レベルKYM/
C も第3〜第5ブロックや第6ブロックの判定基準とは
変えている。#1945では相関を取るための基準部の
開始番号をk=0とする。この開始番号kには後で(#
3310、#3330で)i=1が加えられて、実際に
はi+k=1が基準部の開始番号となる。#1950で
は焦点検出不能判定及び相関演算を行う。# 1880, # 1910, # 1920, #
From any of 1925, the process proceeds to # 1930, the low contrast determination level K LC is set to a predetermined value K LC3 , and # 1 is set.
At 810, the reliability determination level K YM / C is set to a predetermined value K YM / C3.
Set to. That is, in the seventh block, the number of data used is different from that in the third to fifth blocks and the sixth block, and the number of data in the reference portion is 26. Therefore, the determination level K LC of low contrast and the reliability are low. Judgment level K YM /
C also differs from the judgment criteria of the third to fifth blocks and the sixth block. In # 1945, the starting number of the reference portion for obtaining the correlation is k = 0. This start number k is later (#
I = 1 is added (in 3310, # 3330), and i + k = 1 is actually the starting number of the reference part. In step # 1950, focus detection failure determination and correlation calculation are performed.
【0077】この#1950のサブルーチンを図23に
示し説明する。まず、#3300で現在焦点検出のため
の演算を行っているブロックが焦点検出不能であること
を示すフラグLCFBをセットする。#3310ではコ
ントラストを基準部の現在相関演算を行っているブロッ
ク(第7ブロック)から得るために、The subroutine of # 1950 will be described with reference to FIG. First, in step # 3300, a flag LCFB indicating that focus detection cannot be performed on a block currently being used for focus detection is set. In # 3310, in order to obtain the contrast from the block (7th block) in which the correlation calculation of the reference part is currently performed,
【0078】[0078]
【数6】 で求める。#3320では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。所定値KLC以
下のときには、リターンする。C>KLCであるときに
は、#3330で次式により相関演算を行う。(Equation 6) Ask in. In # 3320, it is determined whether the obtained contrast value C is larger than the predetermined value K LC . When it is less than or equal to the predetermined value K LC , the process returns. When C> K LC , correlation calculation is performed by the following equation in # 3330.
【0079】[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と全く同様であるので、重複する
説明は省略する。(Equation 7) In the above equation, a ″ i + k is the data of the reference part, a ″ ′
i + j-1 is the data of the reference part. These data are #
It is obtained by the calculation of 1650. Third in block 7
Since the number of data is different from that of the fifth block and the sixth block, the number of times of correlation calculation is different from that of # 3030 and # 3130. In # 3340 to # 3380, the minimum value MIN (M (j)) of the correlation calculation value M (j) is obtained, the interpolation calculation is performed, the reliability of the correlation calculation is determined, and it is determined that there is reliability. At times, the flags LCF2 and LCFB are reset and then returned.
Since it is exactly the same as 3040 to # 3080, duplicate description will be omitted.
【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ブロックの相関演算に移
行する。Returning to the flow of FIG. 22, it is determined in # 1960 whether or not the flag LCBF is reset in order to determine whether or not the focus detection cannot be performed on the seventh block subjected to the correlation calculation in # 1950. # 1960 flag L
When the CBF is reset, that is, when the focus detection cannot be performed in the seventh block, a variable Δ indicating the shift number of the second island so that the focus detection result of the seventh block becomes the focus detection result of the second island. to n12,
The value obtained by subtracting the in-focus position 6 from the shift shift number j of the seventh block obtained in # 3340 is substituted (# 1970). Also, the amount of deviation Δd from the in-focus position on the second island
In order to obtain 12, the shift number 6 at the in-focus position of the seventh block is subtracted from the shift number Δd obtained by the interpolation calculation of # 3350, and this is set to Δd12 (# 1975). And
The procedure proceeds from # 1980 to the first island correlation calculation.
If the flag LCBF is not reset in # 1960, that is, if focus detection is not possible in the seventh block, the process proceeds from # 1990 to the correlation calculation of the eighth block.
【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)。A flowchart of the correlation calculation of the eighth block and the determination of focus detection failure is shown in FIG. 24 and will be described. If the variable B is B = 3, go to # 2000, and if B = 4, go to # 202.
0, to B = 5 to # 2040, to B = 6 to # 20
60, # 2080 when B = 7, otherwise #
Proceed to 2115. When the variable B is 3, the shift range is ± 4 pitches from the current focus position, and when the variable B is 6, the shift range is ± 4 pitches from the focus position. Since the number of shifts of the focus position in the eighth block is j = 16, B =
When it is 3, B = 6 at the current focus position (16 + Δn)
In the case of, ± 4 pitches are added to the focusing position 16 and the range of the shift number j is set to Δn + (12 to 20) (#
2010, # 2070). When the variable B is 4, the shift range is set to ± 2 pitches from the current focus position, ± 2 pitch is added to the current focus position (16 + Δn), and the shift number j
Is set to Δn + (14 to 18) (# 203
0). When the variable B is 5, whether or not it is a rear pin is determined in # 2045. When it is determined to be the rear focus, the shift range is set to the rear focus 2 pitches (+) of the current focus position.
2) to the pin (-2) two pitches before the focus position 16, the range of the shift number j is set to 14 to (Δn + 18) (# 2050). When it is determined that it is not the rear focus, the shift range is set from the front focus (-2) of the current focus position two pitches to the rear focus (+2) of two pitches of the focus position 16, so that the range of the shift number j is ( △ n + 14) ~ 1
8 is set (# 2055). When the variable B is 7, whether or not the variable AFIS = 2 is determined in # 2090 in order to determine whether or not the previously adopted island is the second island. When it is determined that AFIS = 2 in # 2090, the shift range is set to the current focus position (1
Since 6 + Δn) is set to ± 4 pitches, ± 4 pitches are added to the current focus position (16 + Δn) and the range of the shift number j is set to Δn + (12 to 20) (# 2100).
When it is determined in # 2090 that AFIS = 2 is not established, the range of the shift number j is set to 1 to 21 on the assumption that the shift number is not limited (2110).
【0082】#2010、#2030、#2055、#
2050、#2070、#2100、#2110、#2
115のいずれかから#2120へ進んで、ローコント
ラスト判定レベルKLCを所定値KLC3 に設定し、#18
10では信頼性判定レベルK YM/C を所定値KYM/C3に
設定する。つまり、第8ブロックでは、使用するデータ
の個数が第7ブロックと同じであるので、ローコントラ
ントの判定レベルKLCや信頼性判定レベルKYM/C も第
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はリセットされな
かったことになる。# 2010, # 2030, # 2055, #
2050, # 2070, # 2100, # 2110, # 2
From either 115, proceed to # 2120 and
Last judgment level KLCIs a predetermined value KLC3Set to # 18
In 10, the reliability determination level K YM/CIs a predetermined value KYM/C3To
Set. That is, in the 8th block, the data to be used
Is the same as the 7th block,
Judgment level KLCAnd reliability judgment level KYM/CAlso
It is the same as the criterion for 7 blocks. However, the correlation
The starting number of the reference part for taking is different from the 7th block.
In step # 2135, k = 10. This starting number k
Is added with i = 1 later, and actually i + k = 11
It is the starting number of the reference part. Focus cannot be detected with # 2140
Judgment and correlation calculation are performed. This subroutine is the 7th block
23 used in the correlation calculation (# 1950) of the clock.
Brutin is used. However, in the 8th block
The number of shifts of the focal position is j = 16, and the shift of the reference part is opened.
These parameters are different because the starting number is k = 10.
Therefore, # 2140 is different from # 1950.
The calculation result is obtained. # 2140 which performed correlation calculation
It is necessary to judge whether 8 blocks are not focus-detectable.
First, the flag LCBF is reset at # 2150.
Or not. The flag LCBF is reset in # 2150.
Focus detection, that is, in the eighth block, focus detection fails.
If not, the focus detection result of the 8th block is
In order to obtain the focus detection result of the second island, the second air
In the variable Δn12 indicating the shift shift number of the band, # 3340
From the shift number j of the eighth block obtained in
The subtracted value is substituted (# 2160). Also, the second Islay
To obtain the amount of deviation Δd12 from the in-focus position
From the shift number Δd obtained by the interpolation calculation of # 3350,
Subtract the shift number 16 at the focus position of 8 blocks,
Δd12 is set (# 2170). And # 2180
To the correlation calculation of the first island. Also, # 21
If the flag LCBF is not reset at 50
If the focus cannot be detected even in the 8th block,
The process proceeds from # 2180 to the correlation calculation of the first island.
In this case, after all, the flag LCF2 is not reset.
It was hard.
【0083】第1アイランドでの相関演算を図25に示
し説明する。まず、#2200で第1アイランドが焦点
検出不能であることを示すフラグLCF1を予めセット
しておく。このフラグLCF1は、後に第1アイランド
が焦点検出不能ではないと判定されたときにリセットさ
れる。The correlation calculation in the first island will be described with reference to FIG. First, in # 2200, a flag LCF1 indicating that focus detection cannot be performed on the first island is set in advance. This flag LCF1 is reset later when it is determined that the focus detection of the first island is not possible.
【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アイランドの焦点
検出も省略し、リターンする。Next, the correlation calculation of the first block in the first island is first performed. When the variable B is B = 1, # 221
0, # 2344 when B = 2, # 22 when B = 3
30 to # 2250 when B = 4, # 2 when B = 5
270, # 2290 when B = 6, ## when B = 7
2310, and if B = 8, proceed to # 2348. When the variable B is 1, it is assumed that the number of shifts is not limited in the first block, and the range of the number of shifts j is set to 1 to 21 (# 222).
0). When the variable B is 2, focus detection is not performed on the first island, and # 2346 is set on the third island to proceed to the third island.
Move to island correlation calculation. When the variable B is 3, the shift range is ± 4 pitches from the current focus position, and when the variable B is 6, the shift range is ± 4 pitches from the focus position. The number of shifts of the focus position in the first block is j = 6
Therefore, when B = 3, the current focus position (6 + Δ
In n), when B = 6, ± 4 pitches are added to the focusing position 6 and the range of the shift number j is set to Δn + (2 to 10) (# 2240, # 2300). When the variable B is 4, the shift range is ± 2 from the current focus position (6 + Δn).
Since the pitch is set, the current focus position (6 + Δn) is ± 2
Add pitch to set the range of shift number j to Δn + (4 to 8)
Is set (# 2260). When the variable B is 5, # 2
At 275, it is determined whether or not it is the rear pin. When it is determined to be the rear focus, the shift range is changed from the two-pitch rear pin (+2) at the current focus position to the two-pitch front pin (-2) at the focus position 6, so that the range of the shift number j is 4-
(Δn + 8) is set (# 2280). When it is determined that the focus is not the rear focus, the shift range is set from the front two pitches (-2) of the current focus position to the rear two pitches (+2) of the focus position 6, so that the range of the shift number j is ( △ n
+4) to 8 are set (# 2285). When the variable B is 7, in order to determine whether or not the previously adopted island is the first island, the variable AFIS =
It is determined whether it is 1. AFIS = 1 in # 2320
If it is determined that the shift range is ± 4 pitches from the current focus position, the current focus position (6+
Add ± 4 pitch to △ n) to change the range of shift number j to Δn
It is set as + (2 to 10) (# 2330). # 2320
If it is determined that AFIS = 1 is not set, the range of the shift number j is set to 1 to 21 on the assumption that the shift number is not limited (# 2340). When the variable B is 8, the mode is the auxiliary light mode and only the focus detection of the second island is performed. Therefore, the focus detection of the first island and the focus detection of the third island are omitted, and the process returns.
【0085】#2220、#2240、#2260、#
2280、#2285、#2300、#2330、#2
340のいずれかでシフト数jの範囲を設定した後、#
2350でローコントラスト判定レベルKLCを所定値K
LC1 に設定する。#2360では信頼性判定レベルKYM
/C を所定値KYM/C1に設定する。第1ブロックでは基
準部のデータ数が第3〜第5ブロックと同じであるの
で、判定基準も同じ値を用いるものである。#2365
では相関を取るための基準部のシフト開始番号をk=0
とする。この開始番号kには後で(#3510、353
0で)i=1が加えられて、実際にはi+k=1が基準
部の開始番号となる。#2370では焦点検出不能判定
及び相関演算を行う。# 2220, # 2240, # 2260, #
2280, # 2285, # 2300, # 2330, # 2
After setting the range of the shift number j with any of 340, #
At 2350, the low contrast judgment level K LC is set to a predetermined value K.
Set to LC1 . In # 2360, the reliability judgment level K YM
/ C is set to a predetermined value K YM / C1 . Since the first block has the same number of data in the reference portion as the third to fifth blocks, the same value is used as the determination criterion. # 2365
Then, the shift start number of the reference part for obtaining the correlation is k = 0.
And This start number k is later (# 3510, 353
I = 1 is added (in 0) so that i + k = 1 is actually the starting number of the reference part. In step # 2370, focus detection failure determination and correlation calculation are performed.
【0086】この#2370のサブルーチンを図26に
示し説明する。まず、#3500で現在焦点検出のため
の演算を行っているブロックが焦点検出不能であること
を示すフラグLCFBをセットする。#3510ではコ
ントラストを基準部における現在相関演算を行っている
ブロックから得るために、The subroutine of # 2370 will be described with reference to FIG. First, in step # 3500, a flag LCFB indicating that focus detection cannot be performed on a block for which focus calculation is currently performed is set. In # 3510, in order to obtain the contrast from the block currently performing the correlation calculation in the reference part,
【0087】[0087]
【数8】 で求める。#3520では求めたコントラスト値Cが所
定値KLCよりも大きいか否かを判定する。C≦KLCのと
きには、リターンする。この場合、フラグLCFBがセ
ットされたままでリターンされる。C>KLCのときは、
#3530で次式により相関演算を行う。(Equation 8) Ask in. In step 3520, it is determined whether the obtained contrast value C is larger than the predetermined value K LC . When C ≦ K LC, the process returns. In this case, the flag LCFB is set and returned. When C> K LC ,
In # 3530, correlation calculation is performed by the following equation.
【0088】[0088]
【数9】 #3540では、相関演算値M(j)の最小値MIN
(M(j))を求める。この最小値MIN(M(j))
及びそのときのシフト数jは、1ピッチ単位で得られる
粗いものであるから、これをより細かくするべく、#3
550で補間演算を行う。補間して得られた相関演算値
の最小値をYMとし、そのときの補間したシフト量を△
dとする。#3560では、補間して得られた相関演算
値の最小値YMをコントラストCで規格化して得られた
値YM/Cと所定値KYM/C を比較して、信頼性を判定
する。#3560でYM/C≧KYM/C と判定されたと
きには、信頼性が無いとしてリターンする。この場合に
も、フラグLCFBがセットされたままでリターンされ
る。#3560でYM/C<KYM/C と判定されたとき
には、信頼性が有ると判断し、焦点検出可能であるの
で、#3570で第1アイランドが焦点検出不能である
ことを示すフラグLCF1をリセットし、#3580で
相関演算を行っているブロックが焦点検出不能であるこ
とを示すフラグLCFBをリセットしてリターンする。[Equation 9] In # 3540, the minimum value MIN of the correlation calculation value M (j)
Find (M (j)). This minimum value MIN (M (j))
And the shift number j at that time is a coarse value obtained in units of 1 pitch, so in order to make this finer, # 3
At 550, interpolation calculation is performed. The minimum value of the correlation calculation values obtained by interpolation is YM, and the interpolated shift amount at that time is Δ
d. In # 3560, the minimum value YM of the correlation calculation values obtained by interpolation is standardized with the contrast C and the value YM / C obtained by comparison with the predetermined value K YM / C to determine the reliability. If it is determined at # 3560 that YM / C ≧ K YM / C , the process returns with no reliability. In this case also, the flag LCFB is returned with the flag being set. When it is determined in # 3560 that YM / C < KYM / C, it is determined that there is reliability and focus detection is possible. After resetting, the flag LCFB indicating that focus detection cannot be performed on the block for which correlation calculation is performed in # 3580 is reset and the process returns.
【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ブロックの相関演算に移行する。Returning to the flow of FIG. 25, in order to judge whether the block for which the correlation calculation has been performed cannot detect the focus,
In # 2380, it is determined whether the flag LCFB has been reset. This flag LCFB is reset (at # 3580) when the block (first block) on which the correlation calculation is performed is not focus-detectable. When the flag LCFB is reset in # 2380, the focus position 6 is subtracted from the shift number j obtained in # 3540 as a variable Δn1 indicating the shift shift number of the block (first block) on which the correlation calculation is performed. A value is substituted (# 2382). Also,
The number of shifts at the focus position in the first block is calculated from the number of shifts Δd obtained by the interpolation calculation in # 3550 in order to obtain the shift amount Δd1 from the focus in the block (first block) on which the correlation calculation is performed. Subtract j = 6 and let this be Δd1 (#
2384). Note that when the flag LCFB is not reset in # 2380, it means that the focus detection of the first block cannot be performed. Therefore, # 2382, # 23.
Skip 84 and proceed to # 2386. The procedure proceeds from # 2386 to the second block correlation calculation.
【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)。その他の場合には、既に設定済みで変更が無いの
で新たに設定しない。The correlation calculation of the second block will be described with reference to FIG. When variable B is B = 3, go to # 2390, when B = 4, go to # 2410, when B = 5, go to # 2430, B = 6
If so, the process proceeds to # 2450, if B = 7, the process proceeds to # 2470, and otherwise, the process proceeds to # 2505. When the variable B is 3, the shift range is ± 4 pitches from the current focus position. When the variable B is 6, the shift range is ± 4 pitches from the in-focus position. In the first block described above, the number of shifts of the focus position is j = 6, but in this second block, the number of shifts of the focus position is j = 16. Therefore, when B = 3, the current focus position ( 16 + Δn), when B = 6, ± 4 pitches are added to the in-focus position 16 so that the range of the shift number j is Δ.
n + (12 to 20) is set (# 2400, # 246).
0). When the variable B is 4, the shift range is ± 2 pitches from the current focus position, so the current focus position (16+
Add ± 2 pitch to △ n) to change the range of shift number j to Δn
It is set to + (14 to 18) (# 2420). When the variable B is 5, whether or not it is a rear pin is determined in # 2435. When it is determined to be the rear focus, the shift range is changed from the two-pitch rear pin (+2) at the current focus position to the two-pitch front pin (-2) at the focus position 16, so that the range of the shift number j is 14 to (Δn + 16) is set (# 24)
40). When it is determined that it is not the rear focus, the shift range is set from the front focus (-2) of the current focus position two pitches to the rear focus (+2) of two pitches of the focus position 16, so that the range of the shift number j is ( Set as Δn + 14) to 18 (#
2445). When the variable B is 7, in order to determine whether or not the previously adopted island is the first island,
In # 2480, it is determined whether or not the variable AFIS = 1. When it is determined that AFIS = 1 in # 2480, the shift range is set to ± 4 pitches from the current focus position. Therefore, ± 4 pitches are added to the current focus position (16 + Δn) to change the shift number j. The range is set to Δn + (12 to 20) (# 2490). If it is determined in # 2480 that AFIS = 1 is not satisfied, the range of the shift number j is set to 1 to 21 on the assumption that the shift number is not limited (# 250).
0). In other cases, since it has already been set and there is no change, it is not newly set.
【0091】#2400、#2420、#2440、#
2445、#2460、#2490、#2500、#2
505のいずれかから#2510へ進んで、ローコント
ラスト判定レベルKLCを所定値KLC1 に設定する。#2
520では信頼性判定レベルKYM/C を所定値KYM/C1
に設定する。つまり、第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に進む。# 2400, # 2420, # 2440, #
2445, # 2460, # 2490, # 2500, # 2
The process proceeds from # 505 to # 2510 to set the low contrast determination level K LC to a predetermined value K LC1 . # 2
At 520, the reliability determination level K YM / C is set to a predetermined value K YM / C1.
Set to. That is, since the number of data in the second block is the same as that in the first block, the determination criterion is also the same as that in the first block. However, in the second block, the starting number k of the reference portion for obtaining the correlation is set to k = 10 in # 2525, unlike the first block. In step # 2527, focus detection failure determination and correlation calculation are performed. This subroutine is the same as the subroutine called in # 2370 described above, but since the range of the shift number j and the start number k in the second block are different from those in the first block, the calculation result is different from # 2370. After returning from the subroutine, it is determined at # 2530 whether or not the flag LCFB is reset. When the flag LCFB is reset in # 2530, it is determined that the focus detection of the second block is not possible, and the value obtained by subtracting the in-focus position 16 from the shift shift number j before the interpolation calculation showing the maximum correlation in # 2535 is set as the variable Δ. Substitute in n2. In # 2540, the shift amount j = 16 of the focus position is subtracted from the shift amount Δd after the interpolation calculation to calculate the defocus amount Δd2 = Δd-16 of the second block. If it is determined at # 2530 that the flag LCFB has not been reset, it is determined that focus detection cannot be performed on the second block, the steps of # 2535 and # 2540 are skipped, and the process proceeds to # 2545.
【0092】#2545では、フラグLCF1がリセッ
トされているか否かを判定する。#2545でフラグL
CF1がリセットされていないときは、第1アイランド
が焦点検出不能であるとして、#2550から第3アイ
ランドの相関演算に移行する。#2545でフラグLC
F1がリセットされているときには、第1又は第2ブロ
ックのうち1つでも焦点検出可能なブロックが存在する
ということであるから、#2547で第1アイランドの
合焦位置からの焦点ずれ量△d11を決定するサブルー
チンをコールする。At # 2545, it is determined whether the flag LCF1 has been reset. # 2545 flag L
If CF1 is not reset, it is determined that focus detection cannot be performed on the first island, and the process proceeds from # 2550 to the correlation calculation of the third island. # 2545 flag LC
When F1 is reset, it means that at least one of the first and second blocks is capable of focus detection. Therefore, in # 2547, the amount of defocus Δd11 from the in-focus position of the first island. Call a subroutine that determines.
【0093】このサブルーチンを図28に示し説明す
る。#3400では、第1及び第2ブロックにおける焦
点ずれ量△d1、△d2の中の最大値を検出する。これ
は最も後ピン側、つまり最もカメラに近い被写体を検出
している。最大値が△d1のときは、#3405から#
3410に進んで、第1ブロックのシフト数△n1を第
1アイランドでのシフト数△n11として設定する。さ
らに、#3420で第1ブロックでの合焦位置からの焦
点ずれ量△d1を、第1アイランドでの合焦位置からの
焦点ずれ量△d11として設定しリターンする。This subroutine will be described with reference to FIG. In # 3400, the maximum value of the defocus amounts Δd1 and Δd2 in the first and second blocks is detected. This detects the object on the rearmost pin side, that is, the object closest to the camera. When the maximum value is Δd1, # 3405 to # 3405
Proceeding to 3410, the shift number Δn1 of the first block is set as the shift number Δn11 on the first island. Further, in # 3420, the defocus amount Δd1 from the in-focus position in the first block is set as the defocus amount Δd11 from the in-focus position in the first island, and the process returns.
【0094】最大値が△d2のときは、#3405から
#3430に進んで第2ブロックのシフト数△n2を第
1アイランドでのシフト数△n11として設定する。さ
らに、#3440で第2ブロックでの合焦位置からの焦
点ずれ量△d2を、第1アイランドでの合焦位置からの
焦点ずれ量△d11として設定しリターンする。When the maximum value is Δd2, the routine proceeds from # 3405 to # 3430 and the shift number Δn2 of the second block is set as the shift number Δn11 of the first island. Further, in # 3440, the defocus amount Δd2 from the in-focus position in the second block is set as the defocus amount Δd11 from the in-focus position in the first island, and the process returns.
【0095】このサブルーチンからリターンした後、#
2550から第3アイランドの相関演算に移行する。After returning from this subroutine,
The operation shifts from 2550 to the correlation calculation of the third island.
【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の相関演算式が各々次式のようになるこ
とが異なる。The correlation calculation of the third island is shown in FIGS. The third island is configured symmetrically with the first island and has the same amount of data, so the processing content is basically the same. However, the ninth block is replaced by the first block, the tenth block is replaced by the second block, Δn9 is replaced by Δn1, Δd9 is replaced by Δd1,
Δn10 instead of Δn2, Δd10 instead of Δd2, Δ
Δn13 instead of n11, Δd13 instead of Δd11,
Use flag LCF3 instead of flag LCF1,
The difference is that the range of AFIS = 3 is performed instead of the determination of AFIS = 1. Also, the contrast calculation formula of # 3610 and the correlation calculation formula of # 3630 are different from each other as follows.
【0097】[0097]
【数10】 [Equation 10]
【0098】[0098]
【数11】 さらに、#2570及び#2580でB=2の場合にも
シフト範囲に制限を設けない点が異なり、また第3アイ
ランドの処理が終了した後、他のアイランドの相関演算
には進まずにリターンすることが異なる。よって、以上
の相違点を示すに止どめ、第1アイランドの相関演算に
関する説明を第3アイランドの相関演算に関する説明に
援用し、各アイランドでの相関演算と焦点検出不能判定
の処理に関する説明を終える。[Equation 11] Further, in # 2570 and # 2580, the shift range is not limited even when B = 2, and after the processing of the third island is completed, the correlation calculation of other islands is not performed and the process returns. That is different. Therefore, only showing the above differences, the explanation about the correlation calculation of the first island is referred to the explanation about the correlation calculation of the third island, and the explanation about the correlation calculation and the focus detection non-determination processing in each island is described. Finish.
【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であるか否かを判
定する。When the correlation calculation in # 350 of FIG. 11 is completed, the low contrast determination of # 360 is performed. This will be described with reference to FIG. In # 4000, the algorithm is AR =
It is determined whether or not it is 6 (auxiliary light mode or spot AF). # When AR is not 6 in 4000, #
At 4010, it is determined whether AR = 5 (specific island algorithm). When AR = 5 in # 4010, it is determined in # 4020 whether or not the variable AFIS = 1 in order to determine whether or not the specific island is the first island. The variable AFIS = 1 in # 4020
If it is, it is determined that the specific island is the first island, and it is determined whether or not the flag LCF1 is set in # 4030 in order to determine whether or not the focus detection of the first island is impossible. When the flag LCF1 is set in # 4030, it is determined that focus detection cannot be performed on the first island, and the flow proceeds to # 4072.
When the flag LCF1 is not set at # 4030, it is determined that the focus detection of the first island used in the specific island algorithm is not possible, and the process returns. When the variable AFIS = 1 is not set in # 4020, it is determined whether the variable AFIS = 2 is set in # 4040 in order to determine whether the specific island is the second island.
【0100】#4040で変数AFIS=2であるとき
には、特定アイランドが第2アイランドであると判定
し、この第2アイランドが焦点検出不能であるか否かを
判定するべく、#4050でフラグLCF2がセットさ
れているか否かを判定する。#4050でフラグLCF
2がセットされているときには、第2アイランドが焦点
検出不能であると判定し、#4072に進む。#405
0でフラグLCF2がセットされていないときには、特
定アイランドアルゴリズムで使用される第2アイランド
が焦点検出不能でないと判定し、リターンする。When the variable AFIS = 2 in # 4040, it is determined that the specific island is the second island, and the flag LCF2 is set in # 4050 to determine whether the focus detection of the second island is impossible. It is determined whether or not it is set. # 4050 flag LCF
When 2 is set, it is determined that focus detection cannot be performed on the second island, and the flow proceeds to # 4072. # 405
When the flag LCF2 is 0 and the flag LCF2 is not set, it is determined that the second island used in the specific island algorithm is not focus-detectable, and the process returns.
【0101】#4040で変数AFIS=2でないとき
には、特定アイランドが第3アイランドであると判断さ
れるので、この第3アイランドが焦点検出不能であるか
否かを判定するべく、#4060でフラグLCF3がセ
ットされているか否かを判定する。#4060でフラグ
LCF3がセットされているときには、第3アイランド
が焦点検出不能であると判定し、#4072に進む。#
4060でフラグLCF3がセットされていないときに
は、特定アイランドアルゴリズムで使用される第3アイ
ランドが焦点検出不能でないと判定し、リターンする。When the variable AFIS is not equal to 2 in # 4040, it is determined that the specific island is the third island. Therefore, the flag LCF3 is determined in # 4060 in order to determine whether the focus detection of the third island is impossible. It is determined whether or not is set. When the flag LCF3 is set in # 4060, it is determined that focus detection cannot be performed on the third island, and the flow proceeds to # 4072. #
When the flag LCF3 is not set in 4060, it is determined that the focus detection of the third island used in the specific island algorithm is not possible, and the process returns.
【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をセットし、リターンする。When AR = 6 in # 4000, it is determined that the auxiliary light mode or spot AF is in effect, and it is determined whether the second island used in the auxiliary light mode or spot AF cannot perform focus detection. Therefore, # 407
At 0, it is determined whether the flag LCF2 is set. When the flag LCF2 is not set in # 4070, it is determined that the focus detection of the second island used in the auxiliary light mode or the spot AF is not possible, and the routine returns. If the flag LCF2 is set in # 4070, the flag LCF2 is determined in # 4072 in order to determine whether or not the focus detection result of the previous focus detection was impossible.
It is determined whether or not is set. When the flag LCF is not set in # 4072, it is determined that the previous focus detection result is not the focus detection failure, and # 40
The flag LLCF is reset at 74, and the routine proceeds to # 4080. When the flag LCF is set in # 4072, it is determined that the focus detection result of the previous time is not focus-detectable, and the flag LLCF is set in # 4076.
Proceed to 080. In # 4080, the flag L indicating that the current focus detection result indicates that focus detection cannot be performed on all islands.
Set CF and return.
【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に進む。If AR = 5 (specific island algorithm) is not satisfied in # 4010, # 4090 and # 41 are used in order to determine whether or not focus detection is impossible in each island.
00, # 4110 for flags LCF1, LCF2, LCF
It is determined whether or not 3 is set. When the flag LCF1 is not set in # 4090, it is determined that the focus detection of the first island is not possible, and the process returns. When the flag LCF2 is not set in # 4100, it is determined that the focus detection of the second island is not possible, and the process returns. When the flag LCF3 is not set in # 4110, it is determined that the focus detection of the third island is not possible, and the process returns. # 4090 to # 41
When all the flags LCF1 to LCF3 are set at 10, it is determined that the focus detection cannot be performed on all the first to third islands, and the process proceeds to # 4072.
【0104】図11において、ローコン判定(#36
0)のサブルーチンからリターンすると、焦点検出不能
であるか否かを判定するべく、#370でフラグLCF
がセットされているか否かを判定する。#370でフラ
グLCFがセットされていないときには、焦点検出不能
でないと判定し、#380でアルゴリズムを決定し、そ
のアルゴリズムに基づいてデフォーカス量を決定する。
その後、#390に進み、ワンショットAFモードとコ
ンティニュアスAFモードの自動選択を行い、リターン
する。通常は、合焦した後、AF動作を行わないワンシ
ョットAFモードを優先しながら、被写体が動体のとき
にのみ、これを検出して、被写体に追随する追随モード
(コンティニュアスAFモードも含む)への切換を行っ
ているものである。なお、#370で焦点検出不能(L
CF=1)と判定されたときにも、この#390の処理
に入るが、追随モードでないときは、焦点検出不能のと
きの制御を行うものであり、この制御も#390の処理
の中に含まれている。In FIG. 11, the low contrast judgment (# 36
After returning from the (0) subroutine, the flag LCF is determined in # 370 in order to determine whether or not focus detection is impossible.
It is determined whether or not is set. When the flag LCF is not set in # 370, it is determined that focus detection is not possible, the algorithm is determined in # 380, and the defocus amount is determined based on the algorithm.
After that, the process proceeds to # 390, the one-shot AF mode and the continuous AF mode are automatically selected, and the process returns. Normally, after focusing, the one-shot AF mode in which the AF operation is not performed is prioritized, and a tracking mode (including a continuous AF mode) that detects and only follows a subject when the subject is a moving body. ) Is being performed. In step # 370, focus detection is impossible (L
Even when it is determined that CF = 1), the processing of # 390 is started, but when the tracking mode is not set, control is performed when focus detection is impossible. This control is also included in the processing of # 390. include.
【0105】図34以下にアルゴリズム決定及びデフォ
ーカス量決定のサブルーチンを示し説明する。#420
0では最もカメラに近い被写体の撮影倍率βN を算出す
る。まず、一般的な撮影倍率βの求め方について説明す
る。A subroutine for algorithm determination and defocus amount determination will be shown and described below with reference to FIG. # 420
At 0, the photographing magnification β N of the subject closest to the camera is calculated. First, a general method for obtaining the photographing magnification β will be described.
【0106】一般的な撮影倍率βの求め方 レンズの無限遠位置から現在位置までの繰り出し量をD
F0 、現在位置での撮影距離をd、レンズの焦点距離を
fとすると、近似的に d=f2 /DF0 と表すことができる。ここで、レンズが最端の位置に繰
り込んだ状態から現在位置まで繰り出した状態をモニタ
ーしているパルスカウンタの値(N)と、繰り出し量
(DF0 )とは一般に比例関係であり、 N=KLR×DF0 (KLRは定数) これにより、レンズの現在位置での撮影距離は、 d=f2 KLR/N となり、上式の両辺について対数をとれば、 log2 d=log2 f2 KLR−log2 N log2 d2 =Dv∞−2log2 N (ここで、Dv∞=2log2 f2 KLRとする。)とな
る。撮影距離をアペックス系で、Dv=log2 d2 と
すれば、 Dv=Dv∞−2log2 N …(*) となる。 General Method of Obtaining Shooting Magnification β The amount of extension of the lens from the infinity position to the current position is D
Letting F 0 , the shooting distance at the current position be d, and the focal length of the lens be f, it can be approximately expressed as d = f 2 / DF 0 . Here, the value (N) of the pulse counter that monitors the state where the lens is extended from the extreme end position to the current position is generally proportional to the extension amount (DF 0 ). = K LR × DF 0 (K LR is a constant) Therefore , the shooting distance at the current position of the lens is d = f 2 K LR / N, and if the logarithm of both sides of the above equation is taken, log 2 d = log 2 f 2 K LR -log 2 N log 2 d 2 = Dv∞-2log 2 N ( here, to. the Dv∞ = 2log 2 f 2 K LR ) becomes. If the shooting distance is an apex system and Dv = log 2 d 2 , then Dv = Dv ∞−2log 2 N (*).
【0107】今、カメラの演算は、アペックス系で行わ
れており、(*)式において、Dv∞をレンズ固有の情
報として、アペックス系で得て、レンズ繰り出しのパル
ス数Nをアペックス系に変換して演算すれば、撮影距離
Dvがアペックス系で求まることになる。Now, the camera operation is performed in the apex system, and in the formula (*), Dv∞ is obtained as the lens-specific information in the apex system, and the pulse number N for lens extension is converted into the apex system. Then, the shooting distance Dv can be obtained by an apex system.
【0108】この繰り出し量Nをアペックス系に変換す
る方法を以下に示す。まず、log 2 N=DVN/2を求
める。この式から分かるように、N=1のとき即ち1パ
ルス分だけ繰り出したとき、DVN/2=0となり、
(*)式より、このときの距離DvはDv∞となる。[0108] This amount N of extension is converted into an apex system.
The method is described below. First, log 2N = DVNGet / 2
Meru. As can be seen from this equation, when N = 1, that is, one parameter
When you roll out only Rus, DVN/ 2 = 0,
From the equation (*), the distance Dv at this time is Dv∞.
【0109】レンズ繰り出しのパルス数Nが2以上の場
合、上記カウンタの最大ビットから数えて、1が立って
いるビットbN の桁数Nを整数値Nとして、それより下
位の4桁をそれぞれ1/2、1/4、1/8、1/16
の重みを持った小数部とし、それより下位の桁を無視す
る。例えば、…b9 b8 b7 b6 b5 …=…10111
…(b10以上のビットは0)とすれば、(9+7/1
6)とし、また、…b12b11b10b9 b8 …=…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を加えた値とすれば良
い。When the number N of pulses for lens extension is 2 or more, the digit number N of the bit b N in which 1 is set is counted as an integer value N from the maximum bit of the counter, and the lower 4 digits are respectively set. 1/2, 1/4, 1/8, 1/16
The fractional part with the weight of and the lower digits are ignored. For example, ... b 9 b 8 b 7 b 6 b 5 ... = ... 10111
If ... and (b 10 or more bits 0), (9 + 7/1
6), and also, ... b 12 b 11 b 10 b 9 b 8 ... = ... 110
10 ... (bits 13 and above are 0), (12 + 1
0/16), and this value is log 2 N. And
This value is doubled to obtain 2log 2 N. In the above example, (9 + 7/16) is doubled to (18 + 7/8),
Double (12 + 10/16) to (24 + 10/8) =
It becomes (25 + 2/8). Then, Dv = D in the equation (*)
It suffices to obtain Dv based on v∞−2log 2 N. At this time, there is a slight error (0.1 Dv) in the value of Dv, but it is a value that can be ignored. Next, regarding the value of Dv∞, when the pulse number N for lens extension is 2, that is, when 1 is set in bit b 1 , the Dv value corresponding to the in-focus distance of the lens is set to 2. The value added may be used.
【0110】以上のようにして求めた撮影距離Dvの値
は、現在のレンズ位置に対する撮影距離(d)に関する
情報である。現在のレンズ位置に対して、あるデフォー
カス量(DF)を持った被写体までの距離(x)は、現
在のレンズ位置を示すカウンタの値をNとし、レンズの
駆動量を示す△N=KLR×DFを求めて、N=N+△N
として、上式に当てはめれば良く、レンズの被写体位置
での撮影距離(被写体距離)は、 x=f2 KLR/(N+△N) となり、上式の両辺について対数をとれば、 log2 x=log2 f2 KLR−log2 (N+△N) Dv=Dv∞−2log2 (N+△N) ただし、 Dv=log2 x2 ,Dv∞=2log2 f2 KLR 被写体位置での撮影倍率は、β=f/xであり、 log2 β=log2 f−log2 x 2log2 β=2log2 f−Dv となる。したがって、焦点距離データとしては、アペッ
クス系の2log2 fで記憶しておけば良い。The value of the shooting distance Dv obtained as described above is information on the shooting distance (d) with respect to the current lens position. The distance (x) to the object having a certain defocus amount (DF) with respect to the current lens position is N = K, which indicates the lens drive amount, where N is the value of the counter indicating the current lens position. Calculate LR × DF, N = N + ΔN
Then, the shooting distance (subject distance) at the object position of the lens is x = f 2 K LR / (N + ΔN), and if the logarithm of both sides of the above expression is log 2 x = log 2 f 2 K LR -log 2 (N + △ N) Dv = Dv∞-2log 2 (N + △ N) however, Dv = log 2 x 2, in Dv∞ = 2log 2 f 2 K LR subject position The imaging magnification is β = f / x, and log 2 β = log 2 f-log 2 x 2log 2 β = 2log 2 f-Dv. Therefore, the focal length data may be stored as 2log 2 f of the apex system.
【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に進む。 Method for Obtaining Imaging Magnification β N of Recent Subject Next, a method for obtaining the imaging magnification β N of the object closest to the camera will be described with reference to FIG. In # 4500, the maximum value is obtained from the deviation amounts Δd11 to Δd13 from the in-focus position of each island. When the maximum value is Δd11, #
The process proceeds from 4501 to # 4502, and the maximum deviation amount Δdma
Substituting Δd11 for x, substituting the shift number Δn11 of the first island for the shift number Δn in # 4504, # 4514
Proceed to. When the maximum value is Δd12, the process proceeds from # 4501 to # 4506, and the maximum deviation amount Δdmax becomes Δd12.
Is assigned, the shift number Δn12 of the second island is substituted for the shift number Δn in # 4508, and the flow proceeds to # 4514. When the maximum value is Δd13, the process proceeds from # 4501 to # 4510, where Δd13 is substituted for the maximum deviation amount Δdmax, and #
4512 shift number Δn to third island shift number Δ
Substitute n13 and proceed to # 4514.
【0112】#4514では、最大ずれ量△dmaxに
1ピッチ当たりのデフォーカス量SAを掛けて、デフォ
ーカス量DFを算出する。このデフォーカス量DFを利
用して、#4516のサブルーチンで撮影倍率βを求
め、求めた撮影倍率βを#4518で最近被写体の最近
倍率βN に代入して、リターンする。At # 4514, the maximum deviation amount Δdmax is multiplied by the defocus amount SA per pitch to calculate the defocus amount DF. Using this defocus amount DF, the photographing magnification β is obtained in the subroutine of # 4516, the obtained photographing magnification β is substituted for the closest magnification β N of the latest subject in # 4518, and the process returns.
【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を引いて、アペックス系の撮影倍率β
を求め、リターンする。FIG. 36 shows a subroutine for calculating the photographing magnification, which will be described. This subroutine is the defocus amount D
After the photographing magnification β is calculated using F as an argument, the process returns. First, in # 4520, the defocus amount DF
Is multiplied by the lens drive amount conversion coefficient K LR to obtain the lens drive amount N
1 (the number of rotations of the AF motor) is calculated. In # 4530, the lens drive amount N2 is added to the current lens extension amount N2.
1 is added to calculate the lens extension amount N3 at the in-focus position. In # 4540, the lens extension amount N3 is converted into an apex system, and Dv ′ = 2log 2 N3. In # 4550, the shooting distance Dv = Dv∞−Dv ′ is obtained as a difference from the lens-specific information Dv∞. # 4
At 560, the apex-system imaging magnification β is obtained by subtracting the apex-system imaging distance Dv from the apex-system focal length f.
And return.
【0114】このように、撮影倍率βはレンズ繰り出し
量から求めることができるのが、他の方法として、距離
検出手段から撮影距離xを求めて、焦点距離fとの比率
から、β=f/x(非アペックス系)として算出しても
良い。図34のフローに戻り、#4210では焦点検出
不能であることを示すフラグLCFをリセットする。#
4220ではローコンサーチを示すフラグLCSFをリ
セットする。As described above, the photographing magnification β can be obtained from the lens extension amount. As another method, the photographing distance x is obtained from the distance detecting means, and β = f / is calculated from the ratio with the focal length f. It may be calculated as x (non-apex system). Returning to the flow of FIG. 34, in # 4210, the flag LCF indicating that focus detection is impossible is reset. #
At 4220, the flag LCSF indicating low contrast search is reset.
【0115】次に、アルゴリズム選択のための変数が、
AR=1のときは#4230へ、AR=2のときは#4
260へ、AR=3のときは#4280へ、AR=4の
ときは#4300へ、AR=5のときは#4330へそ
れぞれ進み、AR=6のときはデフォーカス量△dに第
2アイランドのデフォーカス量△d12を入れて#43
45へ進む。Next, the variables for algorithm selection are
When AR = 1, go to # 4230; when AR = 2, go to # 4
260, when AR = 3, go to # 4280, when AR = 4, go to # 4300, when AR = 5, go to # 4330, and when AR = 6, defocus amount Δd is set to the second island. # 43 including the defocus amount Δd12
Proceed to 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を代入してリターンする。First, when the variable AR is 1, # 4240
To run the pattern recognition algorithm. This is shown in FIG.
Will be explained. In # 4600, the pattern recognition algorithm
Set the flag PA1PF indicating that the rhythm has been passed
I do. In # 4610, the manual focus mode (F
A: Focus Aid) switch S AF
/MDetermined by Manual focus with # 4610
If it is a second mode, the second airer that is prioritized in this mode
The flag LCF2 determines whether or not the focus cannot be detected.
I do. # 4620 flag LCF2 is not set
When it is not, the second island is not not focus-detectable.
It is determined that the focus deviation amount Δd for focus determination is set to # 4630.
Substitute the defocus amount Δd12 of 2 islands and return
I do. This is because when you focus manually,
Do you often bring it to the center of the screen (second island)?
It is. The reason for this is that it has traditionally been installed in the center
Focus on the image of the split prism
Because there are many cases. Flag LC at # 4620
When F2 is set, the second island is out of focus.
It was judged that the point detection was impossible, and the first island was run at # 4640.
Defocus amount Δd11 and defocus amount of third island
Compare Δd13. With # 4640, Δd11 <Δd13
, The subject on the third island is the camera
It is determined that it is close to
Substitute Iland's defocus amount Δd13 and return
It When Δd11 ≧ Δd13 in # 4640,
It is determined that the subject on the first island is closer to the camera,
Defocus amount Δd for focus determination does not include the focus of the first island
Substitute the amount Δd11 and return.
【0117】#4610でマニュアルフォーカスモード
でないときには、オートフォーカスモードであると判定
し、#4670に移行して交換レンズの焦点距離fが3
5mm未満であるか否かを判定する。#4670で焦点
距離fが35mm未満であるときには、広角レンズが装
着していると判定し、レンズ駆動用の焦点ずれ量△dと
してカメラに最も近い被写体の焦点ずれ量△dmaxを
採用し、リターンする。これは、広角レンズを使用する
場合には、風景写真や風景を背景とした記念写真を撮る
場合が多いと考えられ、このような場合にはカメラに最
も近い被写体が主被写体であることが多いからである。If the manual focus mode is not set in # 4610, it is determined that the auto focus mode is set, and the flow shifts to # 4670 to set the focal length f of the interchangeable lens to 3
It is determined whether it is less than 5 mm. When the focal length f is less than 35 mm in # 4670, it is determined that the wide-angle lens is mounted, the defocus amount Δdmax of the object closest to the camera is adopted as the lens driving defocus amount Δd, and the return To do. This is because when using a wide-angle lens, it is likely that a landscape photo or a commemorative photo with a landscape in the background will be taken, and in such a case, the subject closest to the camera is often the main subject. Because.
【0118】#4670で焦点距離fが35mm以上で
あるときには、#4690で第2アイランドが焦点検出
不能であるか否かをフラグLCF2により判定する。#
4690でフラグLCF2がセットされているときに
は、第2アイランドが焦点検出不能であると判断され、
この場合には、パターン認識を行うことができないの
で、とりあえずカメラに最も近い被写体にピントを合わ
せるべく#4680に進む。When the focal length f is 35 mm or more in # 4670, it is determined in # 4690 whether or not the focus detection of the second island is impossible by the flag LCF2. #
When the flag LCF2 is set at 4690, it is determined that the focus detection cannot be performed on the second island,
In this case, since pattern recognition cannot be performed, the process proceeds to # 4680 to focus on the subject closest to the camera for the time being.
【0119】#4690でフラグLCF2がセットされ
ていないときには、第2アイランドが焦点検出可能であ
ると判断され、小さい方の撮影倍率の判定基準βL を算
出する。これを図38に示し説明する。#4850では
交換レンズから読み取った焦点距離fに応じた撮影倍率
(1/β1)の分母の値β1をROMテーブルから読み
出す。#4860では、このβ1に△βを加えて、
βL ’を求める。△βについては後述する。#4870
ではβL ’の逆数を求めて、上述の判定基準βL を演算
してリターンする。When the flag LCF2 is not set in # 4690, it is determined that the focus of the second island can be detected, and the determination criterion β L of the smaller photographing magnification is calculated. This will be described with reference to FIG. In step # 4850, the denominator value β1 of the photographing magnification (1 / β1) corresponding to the focal length f read from the interchangeable lens is read from the ROM table. In # 4860, add Δβ to this β1,
Find β L '. Δβ will be described later. # 4870
Then, the reciprocal of β L 'is obtained, the above judgment criterion β L is calculated, and the process returns.
【0120】ここで、小さい方の撮影倍率の判定基準β
L を交換レンズの焦点距離fにより変化させている理由
を説明する。判定基準βL は焦点距離fが小さいほど大
きくしている。そして、この判定基準βL よりも撮影倍
率が小さいと、最近被写体のアイランドを用いるように
している。焦点距離fが短いほど被写界深度が深くな
り、決めた撮影倍率(例えば、f=35mm、β=1/
50)での最近の被写体が存在するアイランドで焦点調
節を行っても、背景までピントの合う確率が高くなる。
逆に焦点距離がfが大きいほど、被写界深度が浅くな
り、上記と同一の撮影倍率で最近の被写体に焦点調節を
行うと、ピントの合う範囲は小さく、最近の被写体にピ
ントを合わせることは良くなかった。このことは実写に
より確認している。したがって、この被写界深度を考慮
に入れて、焦点距離が長くなるほど判定基準βL を小さ
くして、焦点距離が短い場合よりも最近の被写体のアイ
ランドを選択するアルゴリズムを用いる確率を少なくし
ている。Here, the determination criterion β of the smaller photographing magnification is used.
The reason why L is changed according to the focal length f of the interchangeable lens will be described. The criterion β L is increased as the focal length f is smaller. Then, if the photographing magnification is smaller than the determination criterion β L , the island of the subject is used recently. The shorter the focal length f is, the deeper the depth of field becomes, and the determined photographing magnification (for example, f = 35 mm, β = 1 /
Even if focus adjustment is performed on the island in which the recent subject in 50) exists, the probability that the background will be in focus increases.
Conversely, the larger the focal length f is, the shallower the depth of field becomes. If the focus is adjusted on a recent subject with the same shooting magnification as the above, the focus range is small and the focus is on the latest subject. Was not good. This has been confirmed by live action. Therefore, taking this depth of field into consideration, the criterion β L is made smaller as the focal length becomes longer, and the probability of using the algorithm for selecting the island of the latest subject is made smaller than that when the focal length is short. There is.
【0121】[0121]
【表1】 なお、#4850で用いるROMテーブルの一例を示せ
ば、表1のようになる。[Table 1] Table 1 shows an example of the ROM table used in # 4850.
【0122】図37に戻り、次のステップ#4710か
ら撮影倍率に応じて選択するアイランドを決定する制御
を行う。本発明では、使用する撮影倍率を3つのアイラ
ンドの中で最もカメラに近い被写体を検出したアイラン
ドの焦点検出結果を用いて決定している。そして、その
撮影倍率βN が大きいときには、第2アイランドでの焦
点検出結果を用いて焦点調節を行っている。これは、撮
影倍率βN が大きいときは、被写体が大きいと考えら
れ、撮影倍率を求めたアイランドがどこであっても第2
アイランドを必ず含むと考えられるからである。撮影倍
率βN が中ぐらいのとき、基本的な考え方は上述と同じ
である。ただ、第2アイランドが最もカメラから遠いと
きは、中抜け等が考えられ、このときは被写体が選定し
にくいので、距離分布の中央のデフォーカス量を持つア
イランドを用いている。第2アイランド以外のアイラン
ドのうち、1つが焦点検出不能であるときには、カメラ
に最も近い被写体が存在するアイランドを用いる。撮影
倍率βN が小さいとき、このときは風景或いは風景を含
む人物写真ということでカメラに最も近いアイランドを
用いている。Returning to FIG. 37, the control for determining the island to be selected according to the photographing magnification is performed from the next step # 4710. In the present invention, the photographing magnification to be used is determined using the focus detection result of the island in which the object closest to the camera among the three islands is detected. When the photographing magnification β N is large, focus adjustment is performed using the focus detection result on the second island. This is because when the shooting magnification β N is large, it is considered that the subject is large and the island where the shooting magnification is obtained is the second object.
This is because it is considered that the islands are always included. When the shooting magnification β N is medium, the basic idea is the same as above. However, when the second island is farthest from the camera, a hollow or the like may be considered, and at this time it is difficult to select the subject, so an island having a defocus amount at the center of the distance distribution is used. When one of the islands other than the second island cannot detect the focus, the island in which the subject closest to the camera exists is used. When the shooting magnification β N is small, the island closest to the camera is used because it is a landscape or a portrait including a landscape.
【0123】以下、これをフローチャートを用いて説明
する。#4710では、撮影倍率β N が大きい方の判定
基準βH よりも大きいか否かを判定する。#4710で
βN>βH であるときには、#4800で大きい方の判
定基準βH を1/50にしてヒステリシスを付ける。こ
れは撮影倍率によるアルゴリズムの切換頻度を少なく
し、焦点検出毎の焦点ずれ量の変化を少なくして安定し
た焦点検出動作を得るためである。βN >βH であると
き、被写体は比較的大きく、第2アイランドのみで十分
であると判断されるので、#4810でレンズ駆動用の
焦点ずれ量△dに第2アイランドの焦点ずれ量△d12
を代入し、#4815でシフト数△nに第2アイランド
のシフト数△n12を代入してリターンする。This will be described below with reference to the flowchart.
I do. In # 4710, the shooting magnification β NJudgment is larger
Standard βHIs greater than. # 4710
βN> ΒHIf it is, # 4800 is the larger
Constant βHTo 1/50 to add hysteresis. This
This reduces the frequency of switching algorithms depending on the shooting magnification.
However, the change in the amount of defocus at each focus detection is reduced and stable.
This is to obtain a focused focus detection operation. βN> ΒHIs
The subject is relatively large, and only the second island is enough.
Since it is determined that it is
The defocus amount Δd is equal to the defocus amount Δd12 of the second island.
Substituting in # 4815, the number of shifts Δn becomes the second island
Substituting the shift number Δn12 of, the process returns.
【0124】#4710でβN ≦βH であるときには、
#4720で判定基準βH を1/40とし、#4730
でβH ≧βN ≧βL であるか否かを判定する。#473
0でβN <βL であるときには、上述と同様にβL にも
ヒステリシスを付けるべく、#4740で△β=40と
しており、この△βの値を変えることにより、ヒステリ
シスを付けている。#4750ではレンズ駆動用の焦点
ずれ量△dに最大の焦点ずれ量△dmaxを代入する。
これは、βN <βL であるときは、風景写真や風景を背
景にした記念写真が多く、主被写体がカメラに最も近い
ところに存在する確率が高いと考えられるからである。When β N ≤β H in # 4710,
In # 4720, the determination criterion β H is set to 1/40, and in # 4730
Then, it is determined whether or not β H ≧ β N ≧ β L. # 473
When 0 and β N <β L , Δβ = 40 is set in # 4740 to add hysteresis to β L similarly to the above, and hysteresis is added by changing the value of Δβ. In # 4750, the maximum defocus amount Δdmax is substituted for the lens driving defocus amount Δd.
This is because when β N <β L , there are many landscape photographs and commemorative photographs with the landscape in the background, and it is considered that there is a high probability that the main subject will be located closest to the camera.
【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をセットしてリタ
ーンする。When β H ≧ β N ≧ β L in # 4730, Δβ = 15 is set in # 4760 to restore the original value. #
At 4770, it is determined whether the distribution of subjects is monotonic. This subroutine will be described with reference to FIG.
In # 4900, the defocus amounts Δd1 and Δd2 of the first island and the second island are compared. If Δd1 <Δd2, the process proceeds to # 4910, and if Δd1 ≧ Δd2, the process proceeds to # 4930. In # 4910, the defocus amounts Δd2 and Δd3 of the second island and the third island are compared, and Δd2 ≧ Δd.
If 3, then go to # 4920; if Δd2 <Δd3, go to # 4
Proceed to 940. # 4930: 2nd island and 3rd island
The amount of defocus of the islands Δd2 and Δd3 are compared, and Δd
If 2 <Δd3, the process proceeds to # 4920, and if Δd2 ≧ Δd3, the process proceeds to # 4940. In # 4920, the monotone flag MTF indicating that the subject has a monotone distribution is reset and the process returns. In step # 4940, the monotonic flag MTF indicating that the subject has a monotonic distribution is set and the process returns.
【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をリセットするものである。That is, # 4900, # 4910, # 49
Defocus amount Δd1 to Δ of each of the first to third islands at 30
d3 is compared, and the monotonic flag is set to # 492 according to the result.
0d or # 4940 reset or set, Δd
When 1 ≧ Δd2 ≧ Δd3, # 4900 and # 493
0, # 4940 to set the monotonic flag MTF,
When Δd1 <Δd2 <Δd3, # 4900, # 4
In step 910, # 4940, the monotonic flag MTF is set. If Δd1 ≧ Δd2, Δd2 <Δd3, the process proceeds to # 4900, # 4930, # 4920 to reset the monotone flag MTF, and Δd1 <Δd2, Δd2 ≧.
In the case of Δd3, # 4900, # 4910, # 4920
Then, the monotonic flag MTF is reset.
【0127】図37のフローに戻り、#4780で単調
フラグMTFがセットされているか否かを判定する。#
4780で単調フラグMTFがセットされているときに
は、第2アイランドが距離分布の中央であるから、#4
785でレンズ駆動用の焦点ずれ量△dに第2アイラン
ドの焦点ずれ量△d12を代入し、#4787でシフト
数△nに第2アイランドのシフト数△n12を代入して
リターンする。#4780で単調フラグMTFがセット
されていないときには、#4790で距離分布の中央の
アイランドを検出し、そのアイランドの焦点ずれ量及び
シフト数をレンズ駆動用の焦点ずれ量及びシフト数とし
てリターンする。この距離分布の中央検出のためのサブ
ルーチンを図40に示し説明する。Returning to the flow of FIG. 37, it is determined at # 4780 whether the monotone flag MTF is set. #
When the monotonic flag MTF is set at 4780, the second island is at the center of the distance distribution, so # 4
At 785, the defocus amount Δd12 of the second island is substituted for the defocus amount Δd for driving the lens, and at # 4787, the shift number Δn12 of the second island is substituted for the shift number Δn, and the process returns. When the monotonic flag MTF is not set in # 4780, the center island of the distance distribution is detected in # 4790, and the defocus amount and shift number of the island are returned as the defocus amount and shift number for lens driving. A subroutine for detecting the center of this distance distribution will be described with reference to FIG.
【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を代入
してリターンする。At # 4950, the flag LCF1 is determined in order to determine whether the focus detection of the first island is impossible. If the flag LCF1 is set in # 4950, it is # 4960. If it is not set, # 4990.
Then, the flag LCF3 is determined in order to determine whether or not the focus detection of the third island is impossible. # 49
The flag LCF1 is set at 50, and # 4960 is set.
When the flag LCF3 is also set in, it is determined that focus detection cannot be performed on both the first and third islands,
In # 4970, the defocus amount Δd12 of the second island is substituted into the defocus amount Δd for driving the lens, in # 4975, the shift number Δn12 of the second island is substituted into the shift number Δn, and the process returns.
【0129】#4950でフラグLCF1がセットされ
ており、#4960でフラグLCF3がセットされてい
ないときは、第1アイランドは焦点検出不能であるが、
第3アイランドは焦点検出不能ではないと判定され、#
4980で第2アイランドの焦点ずれ量△d12と第3
アイランドの焦点ずれ量△d13のうちでの最大値△d
maxをレンズ駆動用の焦点ずれ量△dに代入する。こ
れは、第2アイランドと第3アイランドのうち、カメラ
に近い方の被写体が存在するアイランドを選択すること
になる。When the flag LCF1 is set in # 4950 and the flag LCF3 is not set in # 4960, focus detection cannot be performed on the first island,
It is determined that the focus detection of the third island is not possible, and #
At 4980, the defocus amount Δd12 of the second island and the third
The maximum value Δd of the defocus amount Δd13 of the island
Substitute max for the lens drive defocus amount Δd. This means that the island in which the subject closer to the camera exists is selected from the second island and the third island.
【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を代入してリターンする。If the flag LCF1 is not set in # 4950 and the flag LCF3 is not set in # 4990, it is determined that the focus detection is not possible for both the first and third islands, and the first to third operations are performed in # 5000. An intermediate value Δdm of the defocus amounts Δd11, Δd12, and Δd13 of the third island is detected. Intermediate value Δdm is Δd1
If it is 1, the process proceeds from # 5010 to # 5011, and then # 50.
At 11, the defocus amount Δd11 of the first island is substituted for the defocus amount Δd for driving the lens, and at # 5012, the shift number Δn11 of the first island is substituted for the shift number Δn, and the process returns. If the intermediate value Δdm is Δd12, # 50
From # 10 to # 5013, the defocus amount Δd1 for the second island is added to the defocus amount Δd for driving the lens in # 5013.
2 is substituted, the shift number Δn12 of the second island is substituted for the shift number Δn in # 5014, and the process returns. If the intermediate value Δdm is Δd13, # 5010 to # 5015
Then, in # 5015, the defocus amount Δd13 of the third island is substituted into the defocus amount Δd for driving the lens, and then in # 50
16 shift number Δn to 3rd island shift number Δn1
Substitute 3 and return.
【0131】#4950でフラグLCF1がセットされ
ておらず、#4990でフラグLCF3がセットされて
いるときは、第1アイランドは焦点検出不能でないが、
第3アイランドは焦点検出不能であると判定され、#5
020で第2アイランドの焦点ずれ量△d12と第1ア
イランドの焦点ずれ量△d11のうちでの最大値△dm
axをレンズ駆動用の焦点ずれ量△dに代入する。これ
は、第2アイランドと第1アイランドのうち、カメラに
近い方の被写体が存在するアイランドを選択することに
なる。When the flag LCF1 is not set in # 4950 and the flag LCF3 is set in # 4990, focus detection cannot be performed on the first island,
It is determined that focus detection cannot be performed on the third island, and # 5
At 020, the maximum value Δdm of the defocus amount Δd12 of the second island and the defocus amount Δd11 of the first island.
Substitute ax for the lens drive defocus amount Δd. This means that the island in which the subject closer to the camera exists is selected from the second island and the first island.
【0132】なお、1つの変形例として、上述の#49
80のステップにおいて、第2アイランドの焦点ずれ量
△d12と第3アイランドの焦点ずれ量△d13の差
が、焦点深度で決まる所定値以下であるときには、両ア
イランドの被写体に合焦するように、両アイランドの焦
点ずれ量の平均値(△d12+△d13)/2をレンズ
駆動用の焦点ずれ量△dに代入し、所定値よりも大きい
ときには、大きい方の焦点ずれ量△dmaxをレンズ駆
動用の焦点ずれ量△dに代入するように構成しても良
い。#5020のステップについても、第3アイランド
を第1アイランドと読み替え、△d13を△d11と読
み替えれば、#4980のステップと同様の変形が可能
である。As a modification, the above-mentioned # 49 is used.
In step 80, when the difference between the defocus amount Δd12 of the second island and the defocus amount Δd13 of the third island is less than or equal to a predetermined value determined by the depth of focus, the objects on both islands are focused. The average value (Δd12 + Δd13) / 2 of the defocus amount of both islands is substituted into the defocus amount Δd for lens driving, and when it is larger than the predetermined value, the larger defocus amount Δdmax for lens driving is substituted. It may be configured to substitute for the defocus amount Δd of. Also in step # 5020, the same modification as in step # 4980 can be made by replacing the third island with the first island and Δd13 with Δd11.
【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をリセットしてリターンする。When the pattern recognition algorithm is finished as described above, the process returns to the flow of FIG. 34 and it is determined at # 4245 whether or not there is an island whose focus cannot be detected. A subroutine therefor is shown in FIG. 41 and will be described. # 5030 to # 5
At 040, it is determined by flags LCF1 to LCF3 whether focus detection cannot be performed on the first to third islands. If all the flags LCF1 to LCF3 are reset, # 5030, # 5035, # 504
The process proceeds from 0 to # 5045, sets a flag NLCF indicating that focus detection is possible on all islands, and returns. If any one of the flags LCF1 to LCF3 is set, # 5030, # 503
The process proceeds from # 5 or # 5040 to # 5050, resets the flag NLCF, and returns.
【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に進み、最
小デフォーカス用アルゴリズムを実行し、デフォーカス
量を決定している。Returning to the flow of FIG. 34, when AR = 2 (minimum defocus algorithm), the process proceeds from # 4260 to # 4270, and the offset amount is set to ΔDF R = 100 μ.
m. When AR = 3, # 4280 to # 42
At 90, the offset amount is set to ΔDF R = 50 μm. When AR = 4, the process proceeds from # 4300 to # 4310, and the offset amount is set to ΔDF R = 0. # 427
From 0, # 4290, # 4310 to # 4320, the minimum defocus algorithm is executed to determine the defocus amount.
【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を代入してリターンする。This will be described with reference to FIG. # 5100
Then, the offset amount DF R is divided by the defocus amount SA per pitch to obtain the pitch of the offset amount DF R , and this is Δd R. In # 510 to # 5140, the amount of defocus of each island (Δd11, Δd12,
Pitch Δd R of the above offset amount from the absolute value of Δ13)
To subtract Δd11 ′, Δd12 ′, and Δd13 ′, respectively.
And In # 5140, the obtained Δd11 ′ and Δd1
The minimum value is obtained from 2'and Δd13 '. This is to obtain the value of the subject closest to the current focus position. When the minimum value is Δd11 ′, it is determined that the defocus amount of the first island is the minimum defocus amount, and the process proceeds from # 5145 to # 5150 to set the defocus amount Δd for lens driving to the first island. Defocus amount of Δd
11 is substituted, the shift number Δn11 of the first island is substituted for the shift number Δn in # 5155, and the process returns. When the minimum value is Δd12 ′, it is determined that the defocus amount of the second island is the minimum defocus amount.
Proceeding from 5145 to # 5160, the defocus amount Δd12 of the second island is substituted into the defocus amount Δd for driving the lens, and the shift number Δn12 of the second island is substituted into the shift number Δn in # 5165. And return. The minimum value is Δd
When it is 13 ′, it is determined that the defocus amount of the third island is the minimum defocus amount, and # 5145 is set.
To # 5170, the defocus amount for driving the lens Δ
Substituting the defocus amount Δd13 of the third island for d,
5180 shift number Δn to 3rd island shift number Δ
Substitute n13 and return.
【0136】図34のフローに戻り、AR=5(特定ア
イランドアルゴリズム)のときには、#4330から#
4340に進み、特定アイランドアルゴリズムを実行す
る。このアルゴリズムを図43に示し説明する。Returning to the flow of FIG. 34, when AR = 5 (specific island algorithm), # 4330 to #
Proceed to 4340 to run the specific islands algorithm. This algorithm is shown in FIG. 43 and will be described.
【0137】#5200では特定アイランドが第1アイ
ランドであるか否かを判定するべく、変数AFISが1
であるか否かを判定する。#5200でAFIS=1で
あれば、特定アイランドは第1アイランドであると判定
され、#5210でレンズ駆動用のシフト数△nに第1
アイランドのシフト数△n11を代入し、#5220で
レンズ駆動用の焦点ずれ量△dに第1アイランドの焦点
ずれ量△d11を代入してリターンする。#5200で
AFIS=1でなければ、#5230に進む。In # 5200, the variable AFIS is set to 1 in order to determine whether or not the specific island is the first island.
Is determined. If AFIS = 1 in # 5200, it is determined that the specific island is the first island, and in # 5210, the first number is set to the lens driving shift number Δn.
The island shift number Δn11 is substituted, and the focus shift amount Δd11 of the first island is substituted for the lens drive focus shift amount Δd at # 5220, and the process returns. If AFIS = 1 in # 5200, the process proceeds to # 5230.
【0138】#5230では特定アイランドが第2アイ
ランドであるか否かを判定するべく、変数AFISが2
であるか否かを判定する。#5230でAFIS=2で
あれば、特定アイランドは第2アイランドであると判定
され、#5240でレンズ駆動用のシフト数△nに第2
アイランドのシフト数△n12を代入し、#5250で
レンズ駆動用の焦点ずれ量△dに第2アイランドの焦点
ずれ量△d12を代入してリターンする。In # 5230, the variable AFIS is set to 2 in order to determine whether or not the specific island is the second island.
Is determined. If AFIS = 2 in # 5230, it is determined that the specific island is the second island, and in # 5240, the second number is set to the lens driving shift number Δn.
The shift number Δn12 of the island is substituted, and the focus shift amount Δd12 of the second island is substituted for the lens drive focus shift amount Δd in # 5250, and the process returns.
【0139】#5230でAFIS=2でなければ、特
定アイランドは第3アイランドであると判定され、#5
260でレンズ駆動用のシフト数△nに第3アイランド
のシフト数△n13を代入し、#5270でレンズ駆動
用の焦点ずれ量△dに第3アイランドの焦点ずれ量△d
13を代入してリターンする。If AFIS = 2 is not satisfied in # 5230, it is determined that the specific island is the third island,
At 260, the shift number Δn13 of the third island is substituted for the shift number Δn for lens driving, and at # 5270, the defocus amount Δd of the third island is set as the defocus amount Δd for lens driving.
Substitute 13 and return.
【0140】図34のフローに戻り、#4245、#4
320、#4340、#4343のいずれかから、#4
345に進んで、レンズ駆動用の焦点ずれ量△dに1ピ
ッチ当たりのデフォーカス量SAを掛けて、デフォーカ
ス量DF=△d×SAを求める。#4350では、この
デフォーカス量DFを引数として、撮影倍率算出用のサ
ブルーチンをコールし、検出被写体のアイランドにおけ
る撮影倍率を算出する。これは、図36に示したサブル
ーチンをコールするだけなので、説明は省略する。これ
を終えると、リターンする。Returning to the flow of FIG. 34, # 4245 and # 4
From any of 320, # 4340, and # 4343, # 4
Proceeding to 345, the defocus amount Δd for lens driving is multiplied by the defocus amount SA per pitch to obtain the defocus amount DF = Δd × SA. In step # 4350, the defocus amount DF is used as an argument to call a subroutine for calculating the photographing magnification, and the photographing magnification in the island of the detected subject is calculated. Since this only calls the subroutine shown in FIG. 36, its explanation is omitted. When this is finished, it returns.
【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でローコン制御、つまり焦点検出
不能時の制御を行うサブルーチンをコールした後、リタ
ーンする。Next, a flow chart of the one-shot AF / continuous AF automatic selection routine called in # 390 of FIG. 11 will be described with reference to FIG. # 53
At 00, it is determined whether or not the follow-up mode flag TRCF is set in order to determine whether or not the follow-up mode is set. If the follow-up mode flag is set in # 5300, the process proceeds to # 7500 (FIG. 55). # 5300
If the follow mode flag is not set in,
At 5330, it is determined whether or not the flag CNTF is set to determine whether or not the continuous AF mode is set. The continuous AF mode is a mode in which the lens is driven according to the defocus amount even after focusing. When the flag CNTF is set in # 5330, it is determined that the continuous AF mode is set, and it is determined in # 53 whether or not focus detection is impossible.
At 44, the flag LCF is determined. # 5344 flag L
When CF is set, it is determined that focus detection is impossible, and a subroutine for performing low-con control, that is, control when focus detection is impossible is called at # 5346, and then the process returns.
【0142】このローコン制御のサブルーチンを図45
に示し説明する。このサブルーチンがコールされると、
まず、マニュアルフォーカスモードであるか否かをスイ
ッチSAF/M により判定する。#5500でマニュアル
フォーカスモードであるときには、#5630でパター
ン認識アルゴリズムを一度通過したことを示すフラグP
A1PFをリセットし、#5640で焦点検出不能表示
(ローコン表示)を行ってリターンする。#5500で
マニュアルフォーカスモードでないときには、被写体が
低輝度であるか否かを判定するべく、#5510で低輝
度フラグLLFがセットされているか否かを判定する。
#5510で低輝度フラグLLFがセットされていると
きには、補助光モードであるか否かを判定するべく、#
5520で補助光フラグILMFがセットされているか
否かを判定する。#5520で補助光フラグILMFが
セットされていれば、補助光モードであると判断され
る。この場合、補助光モードでありながら焦点検出不能
であったということであるから、補助光を発光しても無
駄である。そこで、補助光発光を禁止するべく、#56
20で補助光禁止フラグNLFをセットして、マニュア
ルフォーカスモードの場合と同様に、#5630へ進
む。#5520で補助光フラグILMFがセットされて
いないときには、補助光モードではないと判定され、補
助光モードでの焦点検出を行うべく補助光フラグILM
Fをセットして、リターンする。FIG. 45 shows the subroutine for this low-con control.
Will be explained. When this subroutine is called,
First, whether or not the manual focus mode is set is determined by the switch S AF / M. If the manual focus mode is set at # 5500, a flag P indicating that the pattern recognition algorithm has been passed once at # 5630.
The A1PF is reset, focus detection impossible display (low-con display) is performed at # 5640, and the process returns. When it is not in the manual focus mode in # 5500, it is determined in # 5510 whether or not the low brightness flag LLF is set in order to determine whether or not the subject has low brightness.
When the low brightness flag LLF is set in # 5510, it is determined whether or not the auxiliary light mode is set.
At 5520, it is determined whether the auxiliary light flag ILMF is set. If the fill light flag ILMF is set in # 5520, it is determined that the fill light mode is set. In this case, the focus cannot be detected even in the auxiliary light mode, and therefore it is useless to emit the auxiliary light. Therefore, in order to prohibit the auxiliary light emission, # 56
In step 20, the auxiliary light prohibition flag NLF is set, and similarly to the case of the manual focus mode, the process proceeds to # 5630. When the fill light flag ILMF is not set at # 5520, it is determined that the fill light mode is not set, and the fill light flag ILM is set to perform focus detection in the fill light mode.
Set F and return.
【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
でレンズ速度を決定し、リターンする。When the low brightness flag LLF is not set in # 5510, it is determined that the focus detection is not possible because of the low brightness, and it is determined in # 5520 whether or not the lens is being driven. If the lens is being driven in # 5520, the process returns to drive the lens based on the defocus amount obtained in the previous focus detection. # 5
When the lens is not being driven at 520, in order to perform a low contrast scan operation for searching for a lens position where focus can be detected,
The low-conscan flag LCSF is set at # 5530 and the process proceeds to # 5550. In # 5550, it is determined whether or not the flag FWF is set in order to determine whether or not the previous scan direction was the feeding direction. # 5
When the flag FWF is not set at 550, it is determined that the lens was previously stopped, and at # 5570, the current lens extension position N2 is subtracted from the maximum lens advance amount LNmax to obtain the lens drive amount LN. 55
The lens speed is determined at 80, and the process returns. # 5550
If the flag FWF is set in step # 55, it is determined that the previous scan direction was the feed direction, and # 55
At 90, including the maximum amount of lens extension and direction,
The lens drive amount LN is set to (-LNmax), and # 5580 is set.
Determine the lens speed with and return.
【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に進む。In # 5580, # 5570 or # 559.
The lens speed is determined according to the lens drive amount LN obtained by 0. This subroutine will be described with reference to FIG. First, in # 5600, a flag LMV indicating that the lens is being driven is displayed.
Set F. This step is performed once when the lens is driven. In # 5610, a predetermined value K N (> 0) is subtracted from the absolute value | LN | of the lens drive amount to obtain the variable CT for determining the lens drive speed. Here, the predetermined value K N is a value for determining whether to increase the lens driving speed with respect to the remaining lens driving amount. # 562
At 0, this variable CT is substituted into the counter CNT used for counter interruption. In # 5630, it is determined whether or not the variable CT is 0 or less. # ≦ 5630, CT ≦
When it is 0, the flag V1F indicating that the lens driving speed is the high speed mode is reset in # 5640, and
At 5650, the lens driving speed is set to the low speed V2 (<V1), and the process proceeds to # 5710. When CT> 0 in # 5630, the flag V1F indicating that the lens driving speed is the high speed mode is set in # 5680, the flag FRNF indicating free running is set in # 5690, and the lens is moved in # 5700. Drive speed is high speed V1 (> V
Set to 2) and proceed to # 5710.
【0145】#5710では、レンズ駆動量LNが正か
否かを判定する。#5710でLN>0であるときに
は、#5720で繰り出し方向にレンズを駆動し、#5
725で繰り出し方向のレンズ駆動を示すフラグFWF
をセットしてリターンする。#5710でLN≦0であ
るときには、#5730で繰り込み方向にレンズを駆動
し、#5735で繰り出し方向のレンズ駆動を示すフラ
グFWFをリセットしてリターンする。At # 5710, it is determined whether the lens drive amount LN is positive. When LN> 0 in # 5710, the lens is driven in the feeding direction in # 5720, and
A flag FWF indicating the lens drive in the feeding direction at 725
Set and return. When LN ≦ 0 in # 5710, the lens is driven in the retreating direction in # 5730, and the flag FWF indicating the lens driving in the retreating direction is reset in # 5735 and the process returns.
【0146】次に、上述したカウンター割込のサブルー
チンを図47に示し説明する。このカウンター割込のサ
ブルーチンは、カウンターCNTの値が0になったとき
に実行される。なお、カウンターCNTはレンズが駆動
されているときに、これをモニターするエンコーダEN
Cから出力されるパルスがマイコンμCに供給される度
にデクリメントされるようになっている。#5760で
は、カウンター割込が発生したときに、レンズ駆動速度
が低速度であったか否かを判定するべく、フラグV1F
がリセットされているか否かを判定する。#5760で
フラグV1Fがリセットされていないときには、カウン
ター割込が発生したときに、レンズは高速度で駆動され
ていたと判定され、レンズ駆動速度を低速度に切り替え
るべく、#5850でレンズ駆動速度を低速度V2(<
V1)に設定し、#5860でレンズ駆動速度が高速度
であることを示すフラグV1Fをリセットし、#587
0でカウンターCNTに残り駆動量KN をセットして、
割込が発生したステップへリターンする。Next, the above-mentioned counter interruption subroutine will be described with reference to FIG. This counter interruption subroutine is executed when the value of the counter CNT becomes zero. The counter CNT is an encoder EN that monitors the lens when it is driven.
Each time the pulse output from C is supplied to the microcomputer μC, it is decremented. In # 5760, the flag V1F is set in order to determine whether the lens driving speed is low when the counter interrupt occurs.
It is determined whether or not is reset. If the flag V1F is not reset in # 5760, it is determined that the lens was driven at a high speed when the counter interrupt occurs, and the lens drive speed is changed in # 5850 to switch the lens drive speed to a low speed. Low speed V2 (<
V1), reset the flag V1F indicating that the lens driving speed is high in # 5860, and then set # 587.
At 0, set the remaining drive amount K N in the counter CNT,
Return to the step where the interrupt occurred.
【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へ進む。When the flag V1F is reset in # 5760, it is determined that the lens driving speed is low when the counter interrupt occurs, and the above-mentioned # 58 is executed.
Assuming that the remaining drive amount K N set in 70 has been driven, the motor for driving the lens is driven for a certain time T in # 5765.
Apply the brake 1 and then turn off the power supply to the motor in # 5770. Next, in # 5780, it is determined whether or not the flag FRNF is set to determine whether or not the free run has been performed. # 5780 for flag F
When the RNF is set, it is determined that the lens is stopped after the free run, and the flag FRN is set in # 5790.
At the same time as resetting F, the flag FRN1F indicating that the lens has just stopped after the free run is set in # 5800, and the flow proceeds to # 5810. # 5780 flag FRN
When F is not set, # 5790 and # 58
00 is skipped and the process proceeds to # 5810.
【0148】#5810ではレンズ駆動中であることを
示すフラグLMVFをリセットする。次に、#5820
では、ローコンスキャン中であるか否かを判定するべ
く、ローコンスキャンフラグLCSFがセットされてい
るか否かを判定する。#5820でローコンスキャンフ
ラグLCSFがセットされていないときには、リターン
する。#5820でローコンスキャンフラグLCSFが
セットされているときには、ローコンスキャン中である
と判定され、レンズが停止する前はレンズが繰り出し方
向の駆動でないか否かを判定するべく、#5830で繰
り出し方向フラグFWFがリセットされているか否かを
判定する。#5830で繰り出し方向フラグFWFがリ
セットされていないときには、繰り出し方向のローコン
スキャンであったと判定され、リターンする。#583
0で繰り出し方向フラグFWFがリセトされているとき
には、繰り込み方向のローコンスキャンであったと判定
され、繰り出し方向及び繰り込み方向のローコンスキャ
ンを行っても焦点検出できなかったと判断し、次回から
焦点検出動作を禁止するべく、#5840でフォーカス
ロックフラグFLFをセットする。次に、#5845で
焦点検出不能表示(ローコン表示)を行って、リターン
する。At # 5810, the flag LMVF indicating that the lens is being driven is reset. Next, # 5820
Then, in order to determine whether or not the low-con scan is being performed, it is determined whether or not the low-con scan flag LCSF is set. When the low contrast scan flag LCSF is not set at # 5820, the process returns. When the low-conscan flag LCSF is set in # 5820, it is determined that the low-con scan is in progress, and before the lens is stopped, the lens is moved out in the step 5830 to determine whether or not the lens is driven in the moving direction. It is determined whether the direction flag FWF has been reset. When the feeding direction flag FWF is not reset at # 5830, it is determined that the low-conscan in the feeding direction is performed, and the process returns. # 583
When the feed-out direction flag FWF is reset to 0, it is determined that the low-conscan in the feed-in direction has been performed, and it is determined that the focus cannot be detected even when the low-conscan in the feed-out direction and the feed-in direction is performed, and focus detection is performed from the next time. In order to prohibit the operation, the focus lock flag FLF is set at # 5840. Next, in # 5845, a focus detection impossible display (low contrast display) is performed and the process returns.
【0149】図44のフローに戻って、#5330でフ
ラグCNTFがセットされていないときには、コンティ
ニュアスAFモードでないと判定され、#5340で動
体判定中か否かを判定するべく、動体判定中フラグMV
Fがセットされているか否かを判定する。#5340で
動体判定中フラグMVFがセットされていないときに
は、動体判定中ではないと判定され、焦点検出不能であ
るか否かを判定するべく、#5344でフラグLCFを
判定する。#5340で動体判定中フラグMVFがセッ
トされているときには、#5350で変数N4を1つイ
ンクリメントして#6300(図51)に進む。Returning to the flow of FIG. 44, when the flag CNTF is not set in # 5330, it is determined that the continuous AF mode is not set, and in # 5340, the moving object is being determined to determine whether or not the moving object is being determined. Flag MV
It is determined whether F is set. When the moving body determination flag MVF is not set in # 5340, it is determined that the moving body determination is not in progress, and the flag LCF is determined in # 5344 to determine whether focus detection is impossible. When the moving object determination flag MVF is set in # 5340, the variable N4 is incremented by 1 in # 5350 and the process proceeds to # 6300 (FIG. 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をセットし、リターンする。When the flag LCF is not set in # 5344, it is determined that the focus cannot be detected, and #
At 5360, it is determined whether the flag LMVF is set to determine whether the lens is being driven. # 53
When the flag LMVF is set at 60, it is determined that the lens is being driven, the lens driving subroutine is called at # 5490, and then the process returns. # 53
When the flag LMVF is not set at 60,
It is determined that the lens is not being driven, and it is determined in # 5370 whether the defocus amount DF is equal to or less than the predetermined value K IF1 indicating the focusing allowable range. When DF ≦ K IF1 in # 5370, it is determined that the focus is achieved, the focus display is performed in # 5380, and the flag A indicating that the focus is achieved in # 5390.
Set the FEF. Next, in # 5400, it is determined whether or not the auxiliary light flag ILMF is set in order to determine whether or not the auxiliary light mode is set. If the fill light flag is set in # 5400, fill light mode I
Since it is determined to be LMF and neither the focus detection operation nor the follow-up determination is performed, the focus lock flag FLF is set in # 5410, and the process returns. # 5400
If the auxiliary light flag ILMF is not set at, it is judged that the auxiliary light mode is not set, and # 5420, #
At 5430, variables N4 and N5 are reset, and at # 5434, a flag MVF indicating that the moving object is being determined is set. As a result, the moving object determination will be performed from the next time. Next, # 5436
In step # 5437, a flag AEPEF indicating that focusing has been performed once is set, and in step # 5437, a flag TLCF indicating that focus detection is impossible during moving object determination is set.
Then, the flag T1STF indicating the first transition to the moving body determination mode is set, and the process returns.
【0151】#5370でDF>KIF1 であるときに
は、合焦状態ではないと判定され、1回も合焦状態にな
らないで動体を判定する処理を行う。これは、被写体の
移動速度が速く、通常の焦点検出だけでは合焦にならな
い場合を想定している。この場合の制御を以下のフロー
チャートに基づいて説明する。When DF> K IF1 in # 5370, it is determined that the subject is not in focus, and the process for determining the moving object is performed even if the focus is not reached even once. This is based on the assumption that the moving speed of the subject is so fast that focusing cannot be achieved only by normal focus detection. The control in this case will be described based on the following flowchart.
【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のレンズ駆動に移行する。At # 5440, the variable N6 is incremented by one. This variable N6 will indicate the number of times this step has been passed. # 5442, # 5446, # 5
At 447, DF3 is set to DF2, DF2 is set to DF1, and D
By substituting DF into F1 in the same order, the latest 3
The focus detection data DF3, DF2, and DF1 of the times are stored. In # 5448, it is determined whether or not the automatic gain control data AGC is 8 in order to determine whether or not the brightness is low. When AGC = 8 in # 5448, it is determined that the luminance is low, the noise from the data from the CCD is large, the focus detection accuracy is poor, and the integration time is long. Cannot be ignored, and this will reduce the focus detection accuracy.
Without performing the moving body determination, the variable N6 is set to 0 in # 5485, and the lens drive is performed in # 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回以上の焦点検出がなされることもある。If # 5448 does not indicate AGC = 8,
In order to determine whether or not it is the fill light mode, # 5450
Then, it is determined whether or not the auxiliary light flag ILMF is set. When the auxiliary light flag ILMF is set in # 5450, it is determined that the auxiliary light mode is set, and the moving object determination is not performed for the same reason as above, and the auxiliary light flag ILMF is set in # 548.
In step 5, the variable N6 is set to 0, and the lens drive of # 5490 is started. If the fill light flag ILMF is not set in # 5450, it is determined that the fill light mode is not set, and the flow proceeds to # 5460. In # 5460, it is determined whether or not the shooting magnification β of the island for which the defocus amount is obtained is larger than 1/20. When β> 1/20 in # 5460, a small movement of the subject appears as a large change in the focal plane, and it is determined that the subject cannot follow, and the variable N6 is set in # 5485 without performing the moving body determination. As 0,
The lens drive of # 5490 is started. # ≦ 5460 with β ≦
When it is 1/2, it is determined whether or not the lens has been driven (# 5490) three times or more in # 5470, that is, # 5440.
It is determined whether or not the value of the variable N6 is 4 or more in order to determine whether or not the vehicle has passed 4 times or more. # 5470 N6 <
When it is 4, it is determined that the number of times of lens driving is less than 3, and it is determined that there is insufficient data to obtain the speed of the subject, and the process proceeds to lens driving of # 5490. # 54
When N6 ≧ 4 in 70, it is determined that the number of times of lens driving is three times or more, and in # 5480, the latest three defocus amounts DF1, DF2, and DF3 have the same sign (defocus amount in the same direction). Determine if there is. # 548
0 for the latest three defocus amounts DF1, DF2, DF
When 3 is not the same sign, it is determined that tracking is impossible, the variable N6 is set to 0 in # 5485, and the lens drive is performed in # 5490. In this case, the determination to enter the follow-up mode is performed again from the beginning. When the latest three defocus amounts DF1, DF2, and DF3 have the same sign in # 5480, the tracking mode is entered, and the tracking correction is performed in # 5486 to re-determine the defocus amount.
The lens driving subroutine of 90 is executed, and the process returns. That is, when the moving speed of the subject is high and the object is moving in the same direction, the tracking mode is entered in order to immediately perform the tracking correction with the result of the focus detection performed three times.
Note that focus detection may be performed four times or more when the free run or the lens driving at low speed is long.
【0154】図48に追随補正のサブルーチンを示し説
明する。#6000では、追随モードであることを示す
フラグTRCFをセットする。#6010では、フリー
タイマーTMの時間を読み取り、TM3として記憶す
る。#6020では、レンズ位置カウンタCTからレン
ズの繰り出し量を読み取り、CT3として記憶する。#
6030では、動体判定中か否かを判定するべく、フラ
グMVFがセットされているか否かを判定する。#60
30で、フラグMVFがセットされているときには、動
体判定中であると判断され、#6040〜#6060の
処理(後述)に進む。#6030でフラグMVFがセッ
トされていないときには、動体判定中ではないと判断さ
れ、#6080で動体速度を検出する。A subroutine for follow-up correction is shown in FIG. 48 and will be described. In # 6000, the flag TRCF indicating the follow-up mode is set. In # 6010, the time of the free timer TM is read and stored as TM3. In # 6020, the lens extension amount is read from the lens position counter CT and stored as CT3. #
At 6030, it is determined whether or not the flag MVF is set in order to determine whether or not the moving body determination is being performed. # 60
When the flag MVF is set at 30, it is determined that the moving body determination is being performed, and the processing proceeds to the processing of # 6040 to # 6060 (described later). When the flag MVF is not set in # 6030, it is determined that the moving body is not being determined, and the moving body speed is detected in # 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に加えれば良い。The direction of this moving body speed detection will be described with reference to FIG. 9, and the flow chart of the microcomputer μC for that purpose will be described with reference to FIG. In FIG. 9, I 1 is the previous integration time, and C
1 is the time required for the previous focus detection calculation, I 2 is the current integration time, C 2 is the time required for the current focus detection calculation, and E is the time required between the end of the previous focus detection calculation and the current integration start. This is the time taken for the exposure calculation, including the time for exposure calculation. TM1 is the integration start time, TM2 is the integration end time, TM12 is the midpoint of the integration time, and TM3 is the calculation end time. Further, Ov is the defocus amount according to the movement of the moving body, and L E is the lens drive amount converted into the defocus amount. Here, the speed of the moving body is expressed as a change in the defocus amount per unit time, and the previous defocus amount LDF is subtracted from the current defocus amount DF to obtain the time required for the focus detection from the previous time. It can be obtained by dividing by ΔT (= TM12-TM12L). However, if the lens is moving at this time, this must be taken into consideration. That is, the amount DF ′ obtained by subtracting the previous defocus amount LDF from the sum of the lens drive amount DF CT and the current defocus amount DF may be divided by the time required for one focus detection. The time when the defocus amounts LDF and DF are obtained is the time when the calculation ends, and time has passed from the midpoint of integration (the midpoint of the integration time) when the defocus amount is obtained, and the amount of movement DF CT is calculated during this time. It may be added to the obtained defocus amount DF.
【0156】図49を参照して、まず、#6150では
1回の焦点検出に要する時間△Tを次式により求める。 ΔT=TM12−TM12L #6160では、この△Tの時間に動いたレンズの移動
量△CTを次式により求める。 ΔCT=CT12−C
T12L #6170では、このレンズの移動量△CTを次式によ
りデフォーカス量DF CTに変換する。 DFCT=ΔCT/KLR Referring to FIG. 49, first in # 6150,
The time ΔT required for one focus detection is calculated by the following formula. ΔT = TM12-TM12L # 6160, the movement of the lens that moved during this ΔT time
The quantity ΔCT is calculated by the following equation. ΔCT = CT12-C
In T12L # 6170, the moving amount ΔCT of this lens is calculated by the following equation.
Defocus amount DF CTConvert to. DFCT= ΔCT / KLR
【0157】#6180では、今回のデフォーカス量D
Fにレンズ移動によるデフォーカス量DFCTを加算し、
前回のデフォーカス量LDFを減算したものを、時間△
Tで割って、次式により動体速度を算出する。 V={(DF+DFCT)−LDF}/ΔT #6190では、今回のデフォーカス量DFを前回のデ
フォーカス量LDFに代入して、リターンする。At # 6180, the current defocus amount D
Add the defocus amount DF CT due to lens movement to F,
The value obtained by subtracting the previous defocus amount LDF is the time Δ
Dividing by T, the moving body speed is calculated by the following formula. In V = {(DF + DF CT ) −LDF} / ΔT # 6190, the current defocus amount DF is substituted for the previous defocus amount LDF, and the process returns.
【0158】図48のフローに戻り、#6090では積
分時間の中点TM12から演算終了時点TM3までの時
間Toを算出する。 To=(TM3−TM2)+(TM2−TM1)/2 #6100では、上記時間Toの間に動く被写体のデフ
ォーカス量△DFを次式により求める。 ΔDF=V×ToReturning to the flow of FIG. 48, in # 6090, the time To from the midpoint TM12 of the integration time to the calculation end time TM3 is calculated. To = (TM3-TM2) + (TM2-TM1) / 2 In # 6100, the defocus amount ΔDF of the subject moving during the time To is calculated by the following equation. ΔDF = V × To
【0159】#6110では、得られたデフォーカス量
DFに、被写体が動くことによるデフォーカス量△DF
を加算して、 DF=DF+ΔDF を真のデフォーカス量としてリターンする。In # 6110, the defocus amount DF obtained by moving the subject is added to the obtained defocus amount DF.
Is added and DF = DF + ΔDF is returned as the true defocus amount.
【0160】次に、レンズ駆動のサブルーチンを図50
に示し説明する。#6210では、求めたデフォーカス
量DFにレンズ駆動量変換係数KLRを乗じたレンズ駆動
量LNを得る。#6220では、積分時間の中点TM1
2から演算終了時点TM3までに駆動したレンズの駆動
量(CT3−CT12)を上記レンズ駆動量LNから差
し引いて、必要なレンズ駆動量LN=LN−(CT3−
CT12)を得る。レンズが停止しているときには、C
T3=CT12である。#6230では、レンズ速度決
定のサブルーチンを実行し、リターンする。Next, the lens driving subroutine is shown in FIG.
Will be explained. In # 6210, the lens drive amount LN obtained by multiplying the obtained defocus amount DF by the lens drive amount conversion coefficient K LR is obtained. In # 6220, the midpoint TM1 of the integration time
The required lens drive amount LN = LN− (CT3−CT3-CT12) is subtracted from the lens drive amount LN from 2 to the calculation end time TM3.
CT12) is obtained. C when the lens is stopped
T3 = CT12. In # 6230, a lens speed determination subroutine is executed, and the process returns.
【0161】図44のフローに戻って、#5340でフ
ラグMVFがセットされているときには、動体判定中で
あると判断され、#5350に進む。このときは、比較
的遅い速度の被写体で、且つカメラに近付いてくる方向
(後ピン)の被写体を検出し、補正するようにしてい
る。速い速度の被写体では#5480から追随モードに
入る。また、遠ざかって行く比較的遅い速度の被写体で
ある場合には、焦点面での変化はさらに遅くなり、補正
する必要がないと考える。また、これによりマイコンμ
Cのステップ数の削減が可能となる。#5350では、
1回の平均デフォーカス量(後述)を求めるのに実行し
た焦点検出の回数を示す変数を1つインクリメントし
て、#6300(図51)に進む。Returning to the flow of FIG. 44, when the flag MVF is set in # 5340, it is determined that the moving body is being determined, and the flow proceeds to # 5350. At this time, a subject having a relatively slow speed and in a direction (rear focus) approaching the camera is detected and corrected. For a fast-moving subject, the following mode is entered from # 5480. Further, in the case of a relatively slow moving object moving away, it is considered that the change in the focal plane becomes even slower and correction is not necessary. In addition, this allows the microcomputer μ
The number of steps of C can be reduced. In # 5350,
The variable indicating the number of times of focus detection executed to obtain one average defocus amount (described later) is incremented by 1, and the process proceeds to # 6300 (FIG. 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に進む。51, in # 6300, it is determined whether or not the low contrast flag LCF is set in order to determine whether or not the focus detection result of this time is focus detection impossible. # 6300 low contrast flag L
When CF is not set, it is determined that the focus detection result of this time is not focus detection impossible, and a flag TL indicating that focus detection cannot be performed during moving object determination in # 6310.
Reset CF. Next, in # 6320, it is determined whether or not the flag DFNF is set in order to determine whether or not all the focus detections for obtaining the average defocus amount once have been impossible. # 6320 flag DFN
When F is set, it is determined that all focus detection results in the past are focus detection impossible, and the current defocus amount DF is substituted into DF4 to DF1 indicating four defocus amounts, and # 6435 is set. move on. When the flag DFNF is not set in # 6320, it is determined that focus detection was possible even once to obtain the average defocus amount, and in DF4 to DF3 in DF4 in # 6340 to # 6370.
, DF3 to DF2, DF2 to DF1 and DF1 to D
By substituting F in the same order, the latest four defocus amounts are updated, and the process proceeds to # 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に進む。When the low contrast flag LCF is set at # 6300, it is determined that the result of the focus detection this time is not focus detectable, and it is determined whether or not the average defocus amount has been obtained so far. Therefore, it is determined at # 6380 whether or not the flag MDFF is set. #
When the flag MDFF is set at 6380, it is determined that the average defocus amount has been obtained so far, and at # 6390, the previously obtained average defocus amount DF AV1 is set as the current defocus amount DF. , # 63
Proceed to 40. The reason why the previous average defocus amount DF AV1 is used instead of the previous defocus amount DF1 is that the average defocus amount DF AV1 is a more stable defocus amount and is considered to be more likely. .
When the flag MDFF is not set in # 6380, it is determined that the average defocus amount has not been obtained so far, and it is determined whether or not it is the first focus detection for obtaining the average defocus amount. Therefore, in # 6400, it is determined whether or not the value of the variable N4 is 1. If N4 = 1 is not set in # 6400, it is determined that the focus detection is not the first time, and the flag TLCF is set in # 6410 to determine whether or not the defocus amount has been obtained in the past in order to obtain the average defocus amount. Determine if it has been reset.
When the flag TLCF is reset in # 6410, it is determined that the defocus amount has been obtained in the past, and
At 6420, the previous defocus amount DF1 is set as the current defocus amount DF, and the process proceeds to # 6340. When the flag TLCF is not reset in # 6410, it is determined that the defocus amount has not been obtained in the past, and the process proceeds to # 6430. If N4 = 1 in # 6400, it is determined that the focus detection is the first time, and the process proceeds to # 6430. #
In the 6430, the flag DFNF indicating that all the focus detection results up to now are focus detection impossible is set,
Go to # 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/ΔTAt # 6435, a subroutine for calculating the speed obtained by one focus detection is executed, and the routine proceeds to # 6440. This subroutine will be described with reference to FIG. # 71
At 00, the time ΔT required for one focus detection is calculated by the following equation. ΔT = TM12-TM12L In the above formula, TM12 is the time at the midpoint of the current integration time, and TM12L is the time at the midpoint of the previous integration time. In # 7105- # 7130, TM6 is added to TM7,
TM5 is substituted into TM6, TM4 is substituted into TM5, and ΔT is substituted into TM4 in the same order, and the time ΔT is newly updated by one. In # 7140, the sum TM47 = (TM4 + TM5 + TM6 + TM7) of the times required for the past four focus detections is obtained. # 7150, # 7160, # 7270, # 728
In 0, TM474 is TM473 and TM473 is TM.
472, TM472 to TM471, TM471 to T
Substituting M47 in the same order, the time TM47 is newly updated by one. Next, in order to determine whether or not the focus detection for obtaining the average defocus amount is the first time, # 72
At 82, it is determined whether the variable N4 is 1. # 728
When N4 = 1 in 2 is not determined to be the first focus detection, the previous defocus amount DF2 is subtracted from the current defocus amount DF1, and the defocus amount DF1 = ( DF1-DF2) is obtained and the process proceeds to # 7290. When the variable N4 is 1 in # 7282, # 7284 is skipped and the process proceeds to # 7290. In # 7290, the speed V is calculated by the following equation. 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つ新しく更新し、リターンする。In # 7300, it is determined whether or not the flag DFNF is set in order to determine whether or not all the focus detection results up to the previous time for obtaining the average defocus amount are focus detection impossible. # 7300 for flag D
When FNF is set, it is determined that focus detection is not possible, the speed V is substituted for the speeds V1 to V4 in # 7310, the flag DFNF is reset in # 7320, and the process returns. When the flag DFNF is not set in # 7300, it is determined that focus detection is possible, and in # 7330 to # 7360, the speed V4 is the speed V3, the speed V3 is the speed V2, and the speed V2 is the speed V1.
, The velocity V is substituted for the velocity V1 in the same order, the velocity V for four times is newly updated by one, and the process returns.
【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で
f0 に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
F AV4 から所定値aを引いた値よりも大きいか否かを判
定する。これにより、4回の焦点検出時間に動く被写体
に関する情報を得ている。このステップでは、得た4回
の焦点検出時間に前ピン方向へ動く被写体の速度を検出
している。本発明では、遠ざかって行く被写体は検出し
ていないので、#6760でDFAV1 ≦DF AV4 −aで
あれば、フォーカスロック(#6600)へ進む。#6
760でDF AV1 >DFAV4 −aであれば#6730に
進む。#6730では、動体の平均速度を検出して、#
6770(図54)に進む。Returning to the flow of FIG. 51, in # 6440,
Automatic gain control data AG to determine whether the brightness is low
It is determined whether C is 8. # 6440 = AGC =
When the value is 8, the reliability of the focus detection result data is low.
Since it is difficult to determine the moving body, it is possible to focus on # 6600.
Set the flag FLF and return. # 6440
When AGC is not 8, the shooting magnification β is 1/20.
It is determined in # 6550 whether or not it is larger than that. # 6550
When β> 1/20, it is difficult to determine the moving body.
Therefore, in # 6600, set the focus lock flag FLF.
And return. # 6550 and β ≦ 1/20
If it is, determine whether it is the first motion determination
In order to do so, the flag T1STF is set in # 6560.
Is determined. # 6560 flag T1ST
When F is set, it is the first motion determination.
It is determined that the flag T1STF is reset in # 6570.
The focal length f of the lens at this time
Fixed lens focal length f 0In # 6580,
f0Substitute f for #, and proceed to # 6610. # 6560
When lag T1STF is not set, this time
The focal length f of the lens is the focal point of the lens when the first moving object is determined.
Distance f0It is determined whether or not is equal to. # 6
F at 5900When ≠ f, the focal length is
It is determined that the separation has been changed, and focus is performed at # 6600.
Set the lock flag FLF and return. this
Will detect focus if the focal length is changed during motion detection.
The size of the image on the CCD for performing changes and the correct data
It may not be possible to obtain the focus amount, so use this data.
If you try to calculate the speed of the moving object, it may be an incorrect speed.
Because it is done. # 6590 f0When = f
Proceeds to # 6610. In # 6610, one average data
Whether focus detection is performed 4 times to obtain the focus amount
To determine whether the variable N4 is 4.
It If N4 = 4 in # 6610,
Make a turn. When N4 = 4 in # 6610
Is the result of all four focus detections during this moving object determination.
In order to determine whether detection is impossible, a flag T is set in # 6612.
Determine if the LCF has been reset. # 66
When the flag TLCF is not reset at 12
Is determined to be incapable of focus detection, and the focus is detected in # 6614.
Set the circus lock flag FLF and return.
When the flag TLCF is reset in # 6612
, It is determined that focus detection is not possible, and the
The number N4 is set to 0, and the focus detection during moving object determination in # 6630
Reset the flag TLCF indicating that it is not possible.
In # 6640, the defocus amount DF1 obtained four times,
Average value DF of DF2, DF3, DF4AV= (DF1 + D
F2 + DF3 + DF4) / 4 is calculated. # 6650 ~ #
In 6680, DFAV4To DFAV3The DFAV3To DF
AV2The DFAV 2To DFAV1The DFAV1To DFAVTo
Substituting each in the same order, update the value of the average defocus amount four times.
To be new. In # 6690, the average defocus amount is obtained.
The flag MDFF indicating that it has been set is set. Next, # 6
In 694 and # 6666, constants a and b described later are respectively set.
Set to 200 μm and 400 μm. # 6700
Is a variable N5 indicating the number of times the average defocus amount is obtained.
Is incremented by 1. In # 6710, the variable N5 is
It is determined whether or not 1. If N5 = 1 in # 6710,
It was judged that the first average defocus amount was obtained,
Average defocus amount DFAV1# 6720 for the first time
Average defocus DF0As a memory, # 67
Proceed to 30. If N5 = 1 in # 6710,
Average defocus amount DF0From the value obtained by subtracting the constant a from
Also, the average defocus amount DF this timeAV1Whether or not
To judge. Where a (200 μm) is subtracted
After focusing, the camera is shaken and another subject is detected.
This is to determine that there is. In addition, a positive value a (>
Since 0) is drawn, the camera is aimed at a distant subject.
It is to detect that it has been shaken. If DF> 0
Rear pin, front pin if DF <0. DF0And DF
AV1Are the same rear pin direction, DFAV1> DF0−
a. Here, the speed of the moving subject is almost constant
I believe. DFAV1≦ DF0-A is far away
It is thought that you saw another subject of # 6600.
To lock the focus. In this example, comparison
Objects that move toward the rear pin as quickly as possible are not detected. ratio
If the subject moves relatively quickly in the front pin direction, the motion
DF immediately after entering fixed modeAV1<DF0-A,
Since the camera moves away from the camera quickly,
Such a subject is not detected, and
No, go to # 6600. Also very slow front pin direction
If the detection time is long,
Since the amount of waste increases in the negative direction, # 6600
Go to focus lock. In this embodiment, four times of focus
Using the average defocus amount of the detection result, the moving object after focusing
By making a judgment, the error due to one focus detection is suppressed.
The subject in the front pin direction appears due to the error.
But I'm trying not to go to focus lock immediately
It # 6740 DFAV1> DF0If -a, flat
It should be judged whether or not the uniform defocus amount is obtained four times or more.
First, it is determined whether or not N5 ≧ 4 in # 6750. #
If N5 <4 at 6750, the process proceeds to # 6730. # 6
If N5 ≧ 4 at 750, then at # 6760, the current average
Focus amount DFAV1Is the average defocus amount D three times before
F AV4It is determined whether it is greater than the value obtained by subtracting the predetermined value a from
Set. As a result, a subject that moves during four focus detection times
You have information about. In this step, I got 4 times
Detects the speed of the subject moving in the front focus direction during the focus detection time
are doing. The present invention does not detect a moving object.
I haven't done so, so DF at # 6760AV1≦ DF AV4-A
If there is, go to focus lock (# 6600). # 6
DF at 760 AV1> DFAV4If -a, go to # 6730
move on. # 6730 detects the average speed of the moving object,
Proceed to 6770 (Fig. 54).
【0167】この#6730で示す動体の平均速度検出
のためのサブルーチンを図53に示し説明する。#73
70では、平均速度VAV=(V1+V2+V3+V4)
/4を算出する。#7380〜#7410では、VAV4
にVAV3 を、VAV3 にVAV2を、VAV2 にVAV1 を、V
AV1 にVAVを、夫々同順に代入することにより4回分の
平均速度を更新して、リターンする。The subroutine for detecting the average velocity of the moving body, which is shown at # 6730, will be described with reference to FIG. # 73
At 70, the average speed V AV = (V1 + V2 + V3 + V4)
Calculate / 4. In # 7380 to # 7410, V AV4
To V AV3 , V AV3 to V AV2 , V AV2 to V AV1 , V
By substituting V AV into AV1 in the same order, the average speed for four times is updated, and the process returns.
【0168】平均速度検出(#6730)の後、図54
の#6770に進む。#6770では、今回の平均デフ
ォーカス量DFAV1 が所定値b(400μm)以上か否
かを判定する。これは、被写体のカメラに近付いて来る
スピードが大きいか否かを判定するものである。After detecting the average speed (# 6730), FIG.
No. 6770. In # 6770, it is determined whether or not the current average defocus amount DF AV1 is equal to or larger than a predetermined value b (400 μm). This is to determine whether or not the speed at which the subject approaches the camera is high.
【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を撮影倍率βが大きくなるほ
ど大きく設定しているものである。If DF AV1 ≤b in # 6770, # 6
In step 780, it is determined whether or not the variable N5 is 3 or more in order to determine whether or not the average defocus amount of three times or more is obtained. If N5 ≧ 3 is not satisfied in # 6780, it is determined that the average defocus amount of three times or more is not obtained, and the process returns. If N5 ≧ 3 in # 6780, it is determined that the average defocus amount of three times or more is obtained, and in # 6790, it is determined whether or not the photographing magnification β is larger than 1/30. # 679
If 0 and β ≦ 1/30, # 6800 sets the predetermined value c to 1
00 μm and proceed to # 6840. # 6790 β> 1
If it is / 30, it is determined in # 6810 whether the shooting magnification β is larger than 1/25. # 6810 with β ≤ 1/2
If 5, then the predetermined value c is set to 140 μm in # 6820,
Go to # 6840. If β> 1/25 in # 6810, the predetermined value c is set to 200 μm in # 6830, and # 684 is set.
Go to 0. Here, the predetermined value c is a reference value for determining whether or not the subject is a moving body, and the larger the photographing magnification β, the larger the defocus amount on the focal plane with respect to the movement of the subject. The value c is set larger as the photographing magnification β increases.
【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から追随モードに入る。In # 6840, the average defocus amount is 3 times.
Whether the variable N5 is 3 to determine whether or not it is obtained
Determine whether or not. If N5 = 3 in # 6840, # 6
Two consecutive average defokers at 850 and # 6860
Difference in amount (DFAV2-DF AV1), (DFAV3-DF
AV2) Is greater than or equal to the predetermined value c, and
If any one of them is less than the predetermined value c, the process returns.
In # 6850 and # 6860, both differences are the predetermined value c
If it is above, the average value of the average speed for three times in # 6870
(VAV1+ VAV2+ VAV3) / 3 as the object velocity Vc
I do. Also, the time required Tc = TM471 + TM472
+ TM473 is calculated in # 6880 and added from # 6890.
Enter any mode. If N5 = 3 in # 6840, 4
It is judged that the average defocus amount more than once is obtained.
And every 6th average # 6900 and # 6910 average
Difference in circus amount (DFAV1-DFAV3), (DFAV2−
DF AV4) Is greater than or equal to the predetermined value c, respectively.
However, if either one is less than the predetermined value c, return
I do. # 685 using the average defocus amount of 3 times
Every other average differential compared to 0 and # 6860
The difference in the amount of focus is compared with the same predetermined value c is
You can follow fast subjects as quickly as possible
As well as possible for slow subjects
In order to detect accurately, every other averaged difference is used.
It is the one that detects the body. This allows you to move the subject
You can ignore a slight change in velocity. # 6900 and # 69
If both differences are equal to or greater than the predetermined value c in # 10, # 692
0 for every second difference (DFAV1-DFAV4) Is a predetermined value c
It is determined whether or not the above. This is a slower subject
About the deformation according to the averaged subject movement,
By judging by the amount of scrap, accuracy is important.
is there. When the difference is less than the predetermined value c in # 6920,
To return. In # 6920, the difference is equal to or larger than the predetermined value c.
Sometimes, in # 6930, the average value (V
AV1+ VAV2+ VAV3+ VAV4) / 4 is the speed V of the subject
Let be c. Also, the time required Tc = TM471 + TM4
72 + TM473 + TM474 is calculated in # 6940,
The follow mode is entered from # 6890.
【0171】#6770でDFAV1 >bであれば、被写
体を追い掛けるべく、追随補正を行うが、まず平均デフ
ォーカス量が初めて得られたか否かを判定するべく、#
6950で変数N5が1であるか否かを判定する。#6
950でN5=1であれば、平均デフォーカス量が初め
て得られたと判定され、#6960で制御用被写体の速
度VcにVAV1 を代入する。#6970では、このとき
に要した時間Tcに、TM471を代入する。そして、
#6980から追随モードに入る。If DF AV1 > b in # 6770, follow-up correction is performed in order to follow the subject. First, in order to determine whether or not the average defocus amount is obtained for the first time, #
At 6950, it is determined whether the variable N5 is 1. # 6
If N5 = 1 at 950, it is determined that the average defocus amount is obtained for the first time, and V AV1 is substituted for the velocity Vc of the control subject at # 6960. In # 6970, TM471 is substituted for the time Tc required at this time. And
The follow mode is entered from # 6980.
【0172】図48に示した動体判定中の追随補正につ
いて説明する。追随モードに入ると、まずこの追随補正
を実行する。#6000〜#6030については既に説
明した通りである。#6030でフラグMVFがセット
されているときには、動体判定中であると判定され、次
にこの動体判定を抜けるので、#6040でフラグMV
Fをリセットしておく。#6050では動体判定中に要
した時間Tcに、今回の積分中点の時間から現在(TM
3)までに要した時間(TM3−TM2)+(TM2−
TM1)/2を加えて、時間Toを得る。#6060で
は、速度Vcに上記時間Toを掛けて、デフォーカス量
DFを得て、リターンする。The follow-up correction during the moving object determination shown in FIG. 48 will be described. When the tracking mode is entered, this tracking correction is first executed. # 6000 to # 6030 are as already described. When the flag MVF is set in # 6030, it is determined that the moving body determination is in progress, and this moving body determination is exited next. Therefore, in # 6040, the flag MV is set.
Reset F. In # 6050, the time Tc required during the moving object determination is changed from the time of the current integration midpoint to the current (TM
3) time required (TM3-TM2) + (TM2-
Add TM1) / 2 to get the time To. In # 6060, the speed Vc is multiplied by the time To to obtain the defocus amount DF, and the process returns.
【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
から追随モードに入る。Returning to FIG. 54, if N5 = 1 is not satisfied in # 6950, it is determined that the average defocus amount is not the first time, and it is determined whether or not the average defocus amount is obtained for the second time. At 6990, it is determined whether the variable N5 is 2. If N5 = 2 in # 6990, it is determined that the average defocus amount is obtained for the second time.
At 00, the object velocity Vc = (V AV1 + V AV2 ) / 2 is obtained. In # 7010, the time required at this time Tc = T
Calculate M471 + TM472. And # 7020
To follow mode.
【0174】#6990でN5=2でなければ、2回目
の平均デフォーカス量ではないと判定され、平均デフォ
ーカス量を得たのが3回目か否かを判定するべく、#7
030で変数N5が3であるか否かを判定する。#70
30でN5=3であれば、平均デフォーカス量が得られ
たのが3回目であると判定され、#7040から#68
70へ進む。#7030でN5=3でなければ、平均デ
フォーカス量が得られたのが3回目ではないと判定さ
れ、#7050から#6930へ進む。If N5 = 2 is not satisfied in # 6990, it is determined that it is not the average defocus amount of the second time, and it is determined whether or not the average defocus amount is obtained for the third time.
At 030, it is determined whether the variable N5 is 3. # 70
If N5 = 3 in 30, it is determined that the average defocus amount has been obtained for the third time, and it is determined from # 7040 to # 68.
Proceed to 70. Unless N5 = 3 in # 7030, it is determined that the average defocus amount has not been obtained for the third time, and the process proceeds from # 7050 to # 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 )/2In FIG. 55, the follow-up mode is executed at # 5300 in FIG.
Flow when the flag TRCF indicating the flag is set
A chart is shown and demonstrated. # 7500 is the focus test
In order to determine whether the result of the output is focus detection impossible,
It is determined whether the flag LCF is set. #
When the flag LCF is not set at 7500
Detects the moving body speed in # 7510 and proceeds to # 7540.
Mu. When the flag LCF is set in # 7500
Has determined that the result of this focus detection is that focus detection is not possible.
The result of the previous focus detection was that the focus could not be detected.
In order to determine whether or not the flag LLCF is set in # 7520.
It is determined whether or not it is set. # 7520
When GLLCF is not set, the previous focus
The result of the detection was determined not to be undetectable focus,
The previous speed V to the speed VAV1And substitute # 7540
Proceed to. In # 7540 to # 7570, VAV4To VAV3
To V AV3To VAV2To VAV2To VAV1To VAV1To V
Are respectively substituted in the same order to update the average speed. Average speed
Is the speed of one focus detection in the following mode. next,
In # 7590, get the average speed (average defocus amount).
The variable N5, which indicates the number of times it has performed, is incremented by 1. # 7
At 600, it is determined whether or not the value of the variable N5 is 2.
It If N5 = 2 in # 7600, control in # 7610
Calculate the speed Vc used for the following formula and proceed to # 7650.
Mu. 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 )/2If N5 = 2 in # 7600, # 76
At 20, it is determined whether the value of the variable N5 is 3. # 7
If N5 = 3 in 620, the speed Vc used for control is calculated by the following equation in # 7630, and the process proceeds to # 7650. Vc = (V AV3 + V AV2 + V AV1 ) / 2 If N5 = 3 is not satisfied in # 7620, the speed Vc used for control is calculated in the following formula in # 7640, and the process proceeds to # 7650. Vc = (V AV4 + V AV3 + V AV2 + V AV1 ) / 2
【0177】#7650では、得られた速度Vcに基づ
いて追随補正を行って、レンズ駆動すべきデフォーカス
量DFを得る。#7660では、このデフォーカス量の
絶対値|DF|が所定のデフォーカス量KIF2 以下か否
かを判定する。ここで、KIF 2 はレンズ停止時の合焦判
定レベルKIF1 よりも大きな値に設定されている。これ
は速度検出のばらつきを考慮したものである。In # 7650, follow-up correction is performed based on the obtained speed Vc to obtain the defocus amount DF for lens driving. In # 7660, it is determined whether the absolute value of this defocus amount | DF | is equal to or less than a predetermined defocus amount K IF2 . Here, K IF 2 is set to a value larger than the in-focus determination level K IF1 at the lens stop. This takes into account variations in speed detection.
【0178】#7660で|DF|≦KIF2 であれば合
焦と見なし、これを示すフラグAFEFを#7670で
セットし、#7680で合焦表示を行って、#7700
に進む。#7660で|DF|>KIF2 であれば非合焦
と見なし、#7685で合焦表示を消去し、#7690
で合焦を示すフラグAFEFをリセットし、#7700
に進む。If | DF | ≦ K IF2 in # 7660, it is considered to be in-focus, the flag AFEF indicating this is set in # 7670, the in-focus display is performed in # 7680, and # 7700 is displayed.
Proceed to. If | DF |> K IF2 in # 7660, it is considered as out-of-focus, and the focus display is erased in # 7685.
Then, the flag AFEF indicating focus is reset with # 7700.
Proceed to.
【0179】#7700では、今回の速度VAV1 と前回
の速度VAV2 が同方向であるか否かを判定する。#77
00で速度VAV1 ,VAV2 が同方向であれば、#765
0で得られたデフォーカス量DFに基づいて、#771
0でレンズ駆動を行ってリターンする。#7700で速
度VAV1 ,VAV2 が同方向でなければ、追随モードを抜
けるべく、#7720で追随表示を消去し、#7730
でフラグCNTFをセットし、#7740で追随フラグ
TRCFをリセットし、リターンする。ここで、コンテ
ィニュアスフラグCNTFをセットするのは、被写体が
1つの方向に向けての移動を行っていないので、この
後、どの方向に被写体が移動してもピントが合うように
配慮したものである。ただし、コンテュニアスモードで
は、動体に動き(これに応じたデフォーカス量)を予測
してのレンズ駆動は行えない。At # 7700, it is determined whether the current speed V AV1 and the previous speed V AV2 are in the same direction. # 77
At 00, if the speeds V AV1 and V AV2 are in the same direction, # 765
# 771 based on the defocus amount DF obtained at 0
At 0, the lens is driven and the process returns. If the speeds V AV1 and V AV2 are not in the same direction in # 7700, the follow-up display is erased in # 7720 to exit the follow-up mode, and then in # 7730.
Sets the flag CNTF, resets the follow-up flag TRCF in # 7740, and returns. Here, the continuous flag CNTF is set because the subject is not moving in one direction, so that the subject is in focus no matter which direction the subject moves after that. Is. However, in the continuous mode, the lens cannot be driven by predicting the movement of the moving body (the defocus amount according to the movement).
【0180】#7520でフラグLLCFがセットされ
ているときには、前回も焦点検出不能であったと判定さ
れ、被写体を追うには前々回の焦点検出結果から被写体
の動きを予測することになり、それでは正確でなくなる
ので、追随モードを抜けるべく、#7750で合焦を示
すフラグAFEFをリセットし、#7760で合焦表示
を消去し、#7720以降に進む。When the flag LLCF is set in # 7520, it is determined that the focus detection was not possible in the previous time, and in order to follow the subject, the movement of the subject is predicted based on the focus detection results obtained two times before. Therefore, in order to exit the follow-up mode, the flag AFEF indicating the focus is reset at # 7750, the focus display is erased at # 7760, and the process proceeds to # 7720 and thereafter.
【0181】[0181]
【効果】本発明によれば、動的被写体か否かを判定する
判定レベルを撮影倍率に応じて切り換えるため、被写体
距離が近い場合や望遠レンズを使用している場合におい
ても、被写体の移動に対する検出感度が敏感になり過ぎ
ることがない。従って、撮影倍率の大小に関係なく、正
確に被写体が動的被写体か否かを判定することができ
る。[Effects] According to the present invention, the determination level for determining whether or not a subject is a dynamic subject is switched according to the shooting magnification. Therefore, even when the subject distance is short or a telephoto lens is used, the movement of the subject is prevented. The detection sensitivity does not become too sensitive. Therefore, it is possible to accurately determine whether or not the subject is a dynamic subject regardless of the magnitude of the photographing magnification.
【図1】本発明の基本構成を示すブロック図である。FIG. 1 is a block diagram showing a basic configuration of the present invention.
【図2】本発明の一実施例におけるファインダー内表示
を示す図である。FIG. 2 is a diagram showing a display in a finder according to an embodiment of the present invention.
【図3】本発明の一実施例における焦点検出光学系の斜
視図である。FIG. 3 is a perspective view of a focus detection optical system according to an embodiment of the present invention.
【図4】本発明の一実施例におけるCCDチップの詳細
を示す説明図である。FIG. 4 is an explanatory diagram showing details of a CCD chip according to an embodiment of the present invention.
【図5】同上のCCDチップにおける基準部の分割領域
を示す説明図である。FIG. 5 is an explanatory diagram showing a divided area of a reference portion in the above-mentioned CCD chip.
【図6】同上の分割領域についてのシフト量を示す説明
図である。FIG. 6 is an explanatory diagram showing a shift amount for a divided area of the above.
【図7】本発明の一実施例に用いる制御回路の回路図で
ある。FIG. 7 is a circuit diagram of a control circuit used in an embodiment of the present invention.
【図8】本発明の一実施例の動作説明図である。FIG. 8 is an operation explanatory diagram of the embodiment of the present invention.
【図9】本発明の一実施例の動作説明図である。FIG. 9 is an operation explanatory diagram of the embodiment of the present invention.
【図10】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 10 is a flowchart for explaining the operation of the embodiment of the present invention.
【図11】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 11 is a flowchart for explaining the operation of the embodiment of the present invention.
【図12】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 12 is a flowchart for explaining the operation of the embodiment of the present invention.
【図13】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 13 is a flowchart for explaining the operation of the embodiment of the present invention.
【図14】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 14 is a flowchart for explaining the operation of the embodiment of the present invention.
【図15】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 15 is a flowchart for explaining the operation of the embodiment of the present invention.
【図16】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 16 is a flowchart for explaining the operation of the embodiment of the present invention.
【図17】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 17 is a flowchart for explaining the operation of the embodiment of the present invention.
【図18】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 18 is a flowchart for explaining the operation of the embodiment of the present invention.
【図19】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 19 is a flowchart for explaining the operation of the embodiment of the present invention.
【図20】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 20 is a flowchart for explaining the operation of the embodiment of the present invention.
【図21】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 21 is a flow chart for explaining the operation of the embodiment of the present invention.
【図22】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 22 is a flow chart for explaining the operation of the embodiment of the present invention.
【図23】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 23 is a flowchart for explaining the operation of the embodiment of the present invention.
【図24】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 24 is a flowchart for explaining the operation of the embodiment of the present invention.
【図25】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 25 is a flow chart for explaining the operation of the embodiment of the present invention.
【図26】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 26 is a flowchart for explaining the operation of the embodiment of the present invention.
【図27】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 27 is a flow chart for explaining the operation of the embodiment of the present invention.
【図28】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 28 is a flow chart for explaining the operation of the embodiment of the present invention.
【図29】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 29 is a flow chart for explaining the operation of the embodiment of the present invention.
【図30】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 30 is a flow chart for explaining the operation of the embodiment of the present invention.
【図31】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 31 is a flow chart for explaining the operation of the embodiment of the present invention.
【図32】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 32 is a flow chart for explaining the operation of the embodiment of the present invention.
【図33】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 33 is a flow chart for explaining the operation of the embodiment of the present invention.
【図34】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 34 is a flow chart for explaining the operation of the embodiment of the present invention.
【図35】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 35 is a flow chart for explaining the operation of the embodiment of the present invention.
【図36】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 36 is a flow chart for explaining the operation of the embodiment of the present invention.
【図37】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 37 is a flow chart for explaining the operation of the embodiment of the present invention.
【図38】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 38 is a flow chart for explaining the operation of the embodiment of the present invention.
【図39】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 39 is a flow chart for explaining the operation of the embodiment of the present invention.
【図40】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 40 is a flow chart for explaining the operation of the embodiment of the present invention.
【図41】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 41 is a flow chart for explaining the operation of the embodiment of the present invention.
【図42】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 42 is a flowchart for explaining the operation of the embodiment of the present invention.
【図43】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 43 is a flow chart for explaining the operation of the embodiment of the present invention.
【図44】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 44 is a flowchart for explaining the operation of the embodiment of the present invention.
【図45】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 45 is a flow chart for explaining the operation of the embodiment of the present invention.
【図46】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 46 is a flow chart for explaining the operation of the embodiment of the present invention.
【図47】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 47 is a flow chart for explaining the operation of the embodiment of the present invention.
【図48】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 48 is a flow chart for explaining the operation of the embodiment of the present invention.
【図49】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 49 is a flow chart for explaining the operation of the embodiment of the present invention.
【図50】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 50 is a flow chart for explaining the operation of the embodiment of the present invention.
【図51】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 51 is a flow chart for explaining the operation of the embodiment of the present invention.
【図52】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 52 is a flow chart for explaining the operation of the embodiment of the present invention.
【図53】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 53 is a flow chart for explaining the operation of the embodiment of the present invention.
【図54】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 54 is a flowchart for explaining the operation of the embodiment of the present invention.
【図55】本発明の一実施例の動作説明のためのフロー
チャートである。FIG. 55 is a flowchart for explaining the operation of the embodiment of the present invention.
1 焦点検出手段 2 出力手段 3 動体判定手段 4 切換手段 5 補正量算出手段 6 補正手段 DESCRIPTION OF SYMBOLS 1 focus detection means 2 output means 3 moving body determination means 4 switching means 5 correction amount calculation means 6 correction means
Claims (5)
ンズの焦点ずれ量を繰り返し検出する焦点検出手段と、 撮影倍率の情報を出力する出力手段と、 上記焦点検出手段によって出力される焦点検出結果を所
定の判定レベルと比較することによって、被写体が動的
被写体であるか否かを判定する動体判定手段と、 動体判定手段の判定動作に用いられる上記判定レベル
を、上記出力手段から出力される撮影倍率の情報に応じ
て切り換える切換手段と、を備えたことを特徴とする自
動焦点検出装置。1. A focus detection unit that repeatedly detects a focus shift amount of a lens with respect to an object to be focused, an output unit that outputs information on a photographing magnification, and a focus detection result output by the focus detection unit to a predetermined value. By comparing with the determination level, the moving body determination unit that determines whether or not the subject is a dynamic subject, and the determination level used in the determination operation of the moving body determination unit, the imaging magnification output from the output unit. An automatic focus detection device comprising: a switching unit that switches in accordance with information.
段によって繰り返し出力される焦点ずれ量の変化量を検
出し、この変化量と判定レベルとを比較することによっ
て被写体が動的被写体であるか否かを判定することを特
徴とする請求項1記載の自動焦点検出装置。2. The moving body determining means detects a change amount of the defocus amount repeatedly output by the focus detecting means, and compares the change amount with a determination level to determine whether the subject is a dynamic subject. The automatic focus detection device according to claim 1, wherein it is determined whether or not it is.
の判定レベルを有しており、撮影倍率の情報に応じて少
なくとも2段以上判定レベルを切り換えることを特徴と
する請求項1記載の自動焦点検出装置。3. The automatic focus according to claim 1, wherein the switching means has at least two determination levels, and switches the determination levels in at least two stages in accordance with information on the photographing magnification. Detection device.
れ量に基づいて、上記被写体の移動に起因する焦点ずれ
量を算出する補正量算出手段と、 上記補正量算出手段によって算出された焦点ずれ量だけ
上記焦点検出手段により検出された焦点ずれ量を補正す
る補正手段と、を備えたことを特徴とする請求項1記載
の自動焦点検出装置。4. The automatic focus detection device further comprises correction amount calculation means for calculating a focus shift amount caused by movement of the subject based on a plurality of focus shift amounts repeatedly output from the focus detection means. 2. The automatic focus detection device according to claim 1, further comprising: a correction unit that corrects the focus shift amount detected by the focus detection unit by the focus shift amount calculated by the correction amount calculation unit.
力される撮影倍率が所定値よりも大きい場合には焦点ず
れ量の補正を行わないことを特徴とする請求項4記載の
自動焦点検出装置。5. The automatic focus detection device according to claim 4, wherein the correction means does not correct the amount of defocus when the photographing magnification output from the output means is larger than a predetermined value. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11483695A JP2757822B2 (en) | 1995-05-12 | 1995-05-12 | Automatic focus detection device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11483695A JP2757822B2 (en) | 1995-05-12 | 1995-05-12 | Automatic focus detection device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63117439A Division JP2770316B2 (en) | 1988-05-13 | 1988-05-13 | Automatic focus detection device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0843721A true JPH0843721A (en) | 1996-02-16 |
JP2757822B2 JP2757822B2 (en) | 1998-05-25 |
Family
ID=14647920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11483695A Expired - Lifetime JP2757822B2 (en) | 1995-05-12 | 1995-05-12 | Automatic focus detection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2757822B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001194578A (en) * | 1999-11-02 | 2001-07-19 | Olympus Optical Co Ltd | Multipoint automatic focusing camera |
US6847360B2 (en) | 2001-01-31 | 2005-01-25 | Minolta Co., Ltd. | Three-dimensional measuring method and system |
JP2010117512A (en) * | 2008-11-12 | 2010-05-27 | Sony Corp | Imaging device and focal position detector |
-
1995
- 1995-05-12 JP JP11483695A patent/JP2757822B2/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001194578A (en) * | 1999-11-02 | 2001-07-19 | Olympus Optical Co Ltd | Multipoint automatic focusing camera |
JP4610714B2 (en) * | 1999-11-02 | 2011-01-12 | オリンパス株式会社 | Multi-point autofocus camera |
US6847360B2 (en) | 2001-01-31 | 2005-01-25 | Minolta Co., Ltd. | Three-dimensional measuring method and system |
JP2010117512A (en) * | 2008-11-12 | 2010-05-27 | Sony Corp | Imaging device and focal position detector |
Also Published As
Publication number | Publication date |
---|---|
JP2757822B2 (en) | 1998-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2770316B2 (en) | Automatic focus detection device | |
JPH10161013A (en) | Environment recognition device and camera provided therewith | |
US5708863A (en) | Image blur prevention device for camera | |
JP2605282B2 (en) | Automatic focusing device | |
US5097282A (en) | Automatic focusing apparatus | |
US5623707A (en) | Auto focus adjustment system and auto focus adjustment method | |
JPH1125263A (en) | Object feature point detector, focus adjusting device, exposure controller and camera | |
JP2662650B2 (en) | Automatic focusing device | |
JPH06175013A (en) | Automatic zoom camera | |
US6771899B2 (en) | Camera and control method for focusing device | |
JPH1138313A (en) | Optical device and camera | |
JPH0843721A (en) | Automatic focus detector | |
JP2850336B2 (en) | Focus detection device | |
JPH0843720A (en) | Automatic focusing device | |
JPH07181369A (en) | Automatic focusing camera, and automatic focusing method of camera | |
JPH04235512A (en) | Focus detecting device having grouping function | |
JP2002131624A (en) | Multipoint automatic focusing camera | |
JP2001194578A (en) | Multipoint automatic focusing camera | |
JP5789937B2 (en) | Image tracking device and imaging device | |
JP2001133678A (en) | Automatic multi-point focusing camera | |
JP2000089091A (en) | Focus detector, range-finding device, and optical equipment | |
JPH01300240A (en) | Focus detection area display device | |
JP3206122B2 (en) | Focus detection device | |
JPH11337813A (en) | Autofocus camera | |
US6597867B2 (en) | Distance measuring apparatus |
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 |