(57)【要約】【課題】焦点検出演算の一部をハードウェア化したカメラの焦点演算装置において、焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することを目的とする。【解決手段】このカメラの焦点演算装置は、カメラの焦点状態を検出するために被写体からの反射光を受光する一対の焦点検出センサと、上記焦点検出センサの出力を読み出し、Ａ／Ｄ変換するＡ／Ｄ変換回路８と、上記センサ出力をハードウエア演算処理する演算部であって、均一化演算部、フィルタ演算部を含む第１ＡＦ演算部９およびコントラスト演算部、単調変化演算部、相関演算部を含む第２ＡＦ演算部１１と、上記相関演算結果に基づいきソフトウェア演算を行う信頼性演算部、極値判定部、デフォーカス量演算部を含むマイクロコンピュータからなる第３ＡＦ演算部１３とを備えており、高速焦点検出を可能とする。【選択図】図１
2006017933.tif 000002
【特許請求の範囲】
【請求項１】
カメラの焦点状態を検出するために被写体からの反射光を受光する一対の焦点検出手段と、
上記焦点検出手段の出力を読み出す読み出し手段と、
上記焦点検出手段の出力に均一化演算を行なう均一化演算部、上記焦点検出手段の出力にフィルタ演算を行うフィルタ演算部のうちの少なくとも一つを有する演算手段と、
上記読み出し手段による処理の後に、上記演算手段による処理を実行し、前記読み出し手段による所定の画素出力の読み出し中に、読み出しが終了した１つ手前の画素に対する上記演算手段による処理を行なう制御手段と、
を備えたことを特徴とするカメラの焦点演算装置。
【請求項２】
上記焦点検出手段は、複数の焦点検出センサで構成されて、複数の焦点検出センサ個々に専用に上記演算手段が設けられており、複数の焦点検出センサの出力信号がそれぞれ独立に上記演算手段によって演算が行われることを特徴とする請求項１に記載のカメラの焦点演算装置。
【請求項３】
上記焦点検出手段は、複数の焦点検出センサで構成されて、上記読み出し手段による上記焦点検出センサの画素読み出しは、有効画素に対する読み出しと、遮光画素等の無効画素に対する読み出しに分類され、既に読み出し済みの有効画素データに対する上記演算手段による演算を、無効画素に対する読み出し中に実行することを特徴とする請求項１に記載のカメラの焦点演算装置。
【請求項４】
カメラの焦点状態を検出するための被写体からの反射光を受光する一対の焦点検出手段と、
上記焦点検出手段の出力を読み出す読み出し手段と、
上記一対の焦点検出手段の出力のコントラストを判定するコントラスト演算、上記一対の焦点検出手段の出力の単調変化を判定する単調変化演算、及び上記一対の焦点検出手段の出力の一致度を検出する相関演算を並列処理する演算手段と、
上記読み出し手段による処理の後に、上記演算手段による処理を行う制御手段と、
を備えたことを特徴とするカメラの焦点演算装置。
【請求項５】
カメラの焦点状態を検出するために被写体からの反射光を受光する一対の焦点検出手段と、
上記焦点検出手段の出力を読み出す読み出し手段と、
上記読み出し手段の出力に均一化演算を行う均一化演算部、上記読み出し手段の出力にフィルタ演算を行うフィルタ演算部、上記読み出し手段の出力のコントラストを判定するコントラスト演算部、上記読み出し手段の出力の単調変化を判定する単調変化演算部、上記読み出し手段の出力の一致度を検出する相関演算部の少なくとも一つの処理をハードウエアで実行する第１の演算手段と、
上記相関演算部の演算結果の信頼性を演算する信頼性演算部、上記相関演算部の演算結果に基づいて相関値の極値を判定する極値判定部、上記相関演算部の演算結果に基づいて撮影レンズのデフォーカス量を演算するデフォーカス量演算部の中の少なくとも１つの処理をマイクロコンピュータで実行する第２の演算手段と、
を備えたことを特徴とするカメラの焦点演算装置。
【請求項６】
上記第１の演算手段による演算の後に、上記第２の演算手段による演算を実行することを特徴とする請求項５に記載のカメラの焦点演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラの焦点演算装置に関し、特に高速焦点検出演算処理が可能なものに関する。
【背景技術】
【０００２】
撮影レンズを通過した光束を一対の光電変換素子上に導いて、その出力に焦点検出演算を行って撮影レンズのデフォーカス量を検出するＴＴＬ位相差自動焦点検出（ＡＦ）方式は、従来から一眼レフレックスカメラにおいて多く採用されている。また、最近の一眼レフレックスカメラは、複数の焦点検出エリアを持つマルチＡＦが多く採用されており、そのポイント数も数多くなっている。
【０００３】
したがって、焦点検出演算は演算時間がかかる上に、測距ポイントが多くなっているので全ての焦点検出エリアについて演算を完了するには数１０ｍｓ単位の時間を要し、合焦までのタイムラグの増加につながっている。
【０００４】
上記焦点検出演算は、マイクロコンピュータの種々の演算命令（コンピュータプログラム）を使って焦点検出アルゴリズムを構成し、焦点演算を行うのが一般的であり、演算時間を短縮するためにマイクロコンピュータの動作クロックを高速化したり、高性能なマイクロコンピュータを使用したりしている。しかし、このような高速化にはおのずと限界がある。
【０００５】
そこで、マイクロコンピュータによる演算をやめて、演算専用ハードウェアによって焦点演算を行う技術が開示されている。例えば、特許文献１には、繰り返し行われる演算処理を専用のハードウェアに行わせ、焦点ずれ量を演算する技術が開示されている。さらに、特許文献２には、演算時間短縮のために、像ずれ演算のために焦点検出センサデータの相関結果の極値を求める回路を持つ技術が開示されている。上述のように、演算時間短縮のために焦点検出演算をハードウェアによって行う技術が知られている。
【特許文献１】特許文献１は、特開平５−８８０７６号公報である。
【特許文献２】特許文献２は、特許第３０８５０１４号公報である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述した従来技術には以下のような問題点がある。すなわち、焦点検出演算で最も演算時間を要するのは、一対の光電変換素子の出力の相関を演算する相関演算部分であり、特許文献１に開示された技術のように、繰り返し所定の演算を行う相関演算を専用のハードウェアで演算することには、大きな短縮効果がある。しかし、相関演算をハードウェアで演算することは示唆されているが、それ以外の演算処理について、マイクロコンピュータとハードウェアの演算の分担については示唆されていない。また、相関演算結果に基づいて像ずれ量を演算することが開示されているが、相関演算結果から像ずれ量を演算するには複雑な判断処理が必要であり、ハードウェアで像ずれ量を演算することはハードウェア設計上困難である。
【０００７】
一方、特許文献２に開示された技術のように相関値の極値までを判定することもハードウェア設計上困難である。すなわち、ハードウェアが得意とする演算処理は、特許文献１に示唆されているように繰り返し演算であり、また、アルゴリズムをハードウェア化するからには、後で設計変更のない単純演算処理でなくてはならない。逆に、マイクロコンピュータが得意とする演算処理は、ハードウェアで実現しようとすると回路規模が大きくなるような複雑な演算部分である。また、処理速度はハードウェアで演算した方がはるかに高速である。
【０００８】
このように焦点演算をハードウェア化するには全ての演算アルゴリズムをハードウェア化することは困難であり、演算時間と演算処理内容を加味してどこまでをハードウェア化すればよいかを切り分ける必要がある。しかし、そのような切り分け技術を示唆した従来の技術は見当たらない。
【０００９】
本発明は、上述した問題点に鑑みてなされたものであり、焦点検出演算の一部をハードウェア化したカメラの焦点演算装置において、焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することを目的とし、より具体的には、演算時間短縮効果の大きい演算部、あるいは、少ない回路規模で演算できる演算部、あるいは、後で演算仕様変更の可能性のない演算部のみをハードウェア化して演算時間を短縮し、それ以外の演算部はマイクロコンピュータで演算することによって、ハードウェアの回路規模を最小にすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の請求項１に記載のカメラの焦点演算装置は、カメラの焦点状態を検出するために被写体からの反射光を受光する一対の焦点検出手段と、上記焦点検出手段の出力を読み出す読み出し手段と、上記焦点検出手段の出力に均一化演算を行なう均一化演算部、上記焦点検出手段の出力にフィルタ演算を行うフィルタ演算部のうちの少なくとも一つを有する演算手段と、上記読み出し手段による処理の後に、上記演算手段による処理を実行し、前記読み出し手段による所定の画素出力の読み出し中に、読み出しが終了した１つ手前の画素に対する上記演算手段による処理を行なう制御手段とを備えている。
【００１１】
本発明の請求項２に記載のカメラの焦点演算装置は、請求項１に記載のカメラの焦点演算装置において、上記焦点検出手段は、複数の焦点検出センサで構成されて、複数の焦点検出センサ個々に専用に上記演算手段が設けられており、複数の焦点検出センサの出力信号がそれぞれ独立に上記演算手段によって演算が行われる。
【００１２】
本発明の請求項３に記載のカメラの焦点演算装置は、請求項１に記載のカメラの焦点演算装置において、上記焦点検出手段は、複数の焦点検出センサで構成されて、上記読み出し手段による上記焦点検出センサの画素読み出しは、有効画素に対する読み出しと、遮光画素等の無効画素に対する読み出しに分類され、既に読み出し済みの有効画素データに対する上記演算手段による演算を、無効画素に対する読み出し中に実行する。
【００１３】
本発明の請求項４に記載のカメラの焦点演算装置は、カメラの焦点状態を検出するための被写体からの反射光を受光する一対の焦点検出手段と、上記焦点検出手段の出力を読み出す読み出し手段と、上記一対の焦点検出手段の出力のコントラストを判定するコントラスト演算、上記一対の焦点検出手段の出力の単調変化を判定する単調変化演算、及び上記一対の焦点検出手段の出力の一致度を検出する相関演算を並列処理する演算手段と、上記読み出し手段による処理の後に、上記演算手段による処理を行う制御手段とを備えている。
【００１４】
本発明の請求項５記載のカメラの焦点演算装置は、カメラの焦点状態を検出するために被写体からの反射光を受光する一対の焦点検出手段と、上記焦点検出手段の出力を読み出す読み出し手段と、上記読み出し手段の出力に均一化演算を行う均一化演算部、上記読み出し手段の出力にフィルタ演算を行うフィルタ演算部、上記読み出し手段の出力のコントラストを判定するコントラスト演算部、上記読み出し手段の出力の単調変化を判定する単調変化演算部、上記読み出し手段の出力の一致度を検出する相関演算部の少なくとも一つの処理をハードウエアで実行する第１演算手段と、上記相関演算部の演算結果の信頼性を演算する信頼性演算部、上記相関演算部の演算結果に基づいて相関値の極値を判定する極値判定部、上記相関演算部の演算結果に基づいて撮影レンズのデフォーカス量を演算するデフォーカス量演算部の中の少なくとも１つの処理をマイクロコンピュータで実行する第２の演算手段とを備えている。
【００１５】
本発明の請求項６に記載のカメラの焦点演算装置は、請求項５に記載のカメラの焦点演算装置において、上記第１演算手段による演算の後に、上記第２演算手段による演算を実行する。
【発明の効果】
【００１６】
本発明のカメラの焦点演算装置によれば、演算時間短縮効果の大きい演算部、あるいは、少ない回路規模で演算できる演算部、あるいは、後で演算仕様変更の可能性のない演算部のみをハードウェア化して演算時間を短縮し、それ以外の演算部はマイクロコンピュータで演算することによって、ハードウェアの回路規模を最小にすることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図を用いて本発明の実施形態について説明する。 
本発明の第１の実施形態であるカメラの焦点演算装置について図１〜２５を用いて説明する。 
本実施形態のカメラの焦点演算装置１００は、図１のブロック構成図に示すように主に本装置の全体の制御を司る制御手段であって、マイクロコンピュータ（ＣＰＵ）からなるＡＦ制御ブロック１と、ＡＦ制御ブロック１によって制御され、マルチＡＦセンサ３の制御とＡＦ演算の一部を行う集積回路（ＩＣ）からなる読み出し手段，演算手段としてのＡＦセンサ制御・ＡＦ演算ブロック２と、焦点検出手段であって、複数の焦点検出エリアを持つマルチＡＦセンサ３とを有してなる。
【００１８】
本実施形態の焦点演算装置１００の詳細な構成および焦点検出結果が算出されるまでの流れを説明する。 
ＡＦ制御ブロック（ＣＰＵ）１は、シリアル通信部４を介してレジスタ部５の値を設定する。このレジスタ部５は、マルチＡＦセンサ３の制御及びＡＦ演算に関わる各種パラメータを設定するものである。
【００１９】
レジスタ部５に設定された周波数値のクロックが、クロック発生部６からマルチＡＦセンサ３に供給される。このクロック発生部６は、マルチＡＦセンサ３を駆動するための源振クロックを発生する。
【００２０】
マルチＡＦセンサ３は、複数の光電変換素子から構成され、ＡＦセンサ制御部７によって制御される。
【００２１】
ＡＦセンサ制御部７は、レジスタ部５の設定パラメータ値に従ってマルチＡＦセンサ３の光電変換素子の電荷蓄積動作（積分動作）の制御や、電荷蓄積状態の読出し制御を司る。すなわち、ＡＦセンサ制御部７は、マルチＡＦセンサ３を制御するための所定のパルスを発生させるシーケンサである。
【００２２】
ＡＦセンサ制御部７の制御に従って積分動作終了後にマルチＡＦセンサ３から積分結果（センサデータ）がアナログ値としてＡ／Ｄ変換部８へ１画素毎出力される。Ａ／Ｄ変換部８は、順に１画素毎出力されるセンサデータ出力をデジタル値に変換して、後段の第１ＡＦ演算部９へ出力する。
【００２３】
ＡＦ演算部は、第２の演算手段（ソフトウェア演算手段）である第３ＡＦ演算部１３、第１の演算手段（ハードウェア演算手段）である第１ＡＦ演算部９、第２ＡＦ演算部９の３つに分かれている。
【００２４】
まず、第１ＡＦ演算部９は、１画素毎のセンサデータに後述する演算を実行する。この演算は、Ａ／Ｄ変換部８がセンサデータを１画素出力するたびにその画素出力に対して実行するものである。したがって、Ａ／Ｄ変換しながら演算するので、第１ＡＦ演算部９の演算を行うことによるカメラ全体に及ぼすタイムラグの増加は、非常に微々たるものである。第１ＡＦ演算部９の演算結果は、メモリ部１０に格納するとともに、第２ＡＦ演算部１１にも出力される。
【００２５】
メモリ部１０は、ＡＦセンサ制御・ＡＦ演算ブロック２の全ての演算結果が格納され、シリアル通信部４を介してＡＦ制御ブロック１から上記演算結果が読出しできる。
【００２６】
第２ＡＦ演算部１１は、第１ＡＦ演算部９の出力を演算するものであり、後述するようにマルチＡＦセンサ３内の一対の光電変換素子の出力の相関を演算する相関演算を主たる演算とする。この相関演算は、ＡＦ制御ブロック１内で演算すると演算時間が長くなるので、カメラ全体に及ぼすタイムラグ短縮のためにハードウェアで構成される第２ＡＦ演算部１１で演算される。すなわち、第１ＡＦ演算部９及び第２ＡＦ演算部１１は、加算器や減算器や乗算算器などから構成されるハードウェアである。第２ＡＦ演算部の演算結果は、メモリ部１０へ格納される。
【００２７】
第２ＡＦ演算部１１は、上記相関演算の他にも被写体のコントラストや単調変化性を判断するための演算も行う。この演算については後述する。そして、全焦点検出エリアにおける第２ＡＦ演算部１１の演算が終了すると、割り込み発生部１２を介してＡＦ制御ブロック１へ所定の割り込み信号を出力し、演算が終了したことを知らせる。
【００２８】
最後に、ＡＦ制御ブロック１内が上記割り込み信号を受信すると、メモリ部１０から演算結果を読み出して第３ＡＦ演算部１３によってＡＦの最終演算を行う。
【００２９】
第３ＡＦ演算部１３は、第２ＡＦ演算部１１の相関演算結果の信頼性を演算する演算から始まって、撮影レンズ（図２のフォーカスレンズ３１）のデフォーカス量の演算までを行う。この第３ＡＦ演算部１３の演算は、繰り返し部分が演算部分が少なく、かつ、演算アルゴリズムが複雑であり、しかも、変更の可能性もある演算であるのでハードウェアで実行するのは不向きである。また、相関演算のように長い演算時間を要しないので、マイクロコンピュータによる演算の方が向いている。
【００３０】
以上のような流れによって、マルチＡＦセンサ３を制御して最終的な出力である撮影レンズのデフォーカス量が演算される。
【００３１】
ここで、焦点演算装置１００が組み込まれるカメラシステム２００の構成について図２のブロック構成図を用いて説明する。
【００３２】
カメラシステム２００は、ＴＴＬ位相差ＡＦ方式の一眼レフレックスカメラシステムの例であり、図２に示すようにカメラボディ３０Ａと、カメラボディに着脱可能な交換レンズ３０Ｂとからなる。
【００３３】
交換レンズ３０Ｂは、フォーカスレンズ３１を光軸方向に駆動することによって合焦状態を得るためのフォーカスレンズ３１と、フォーカスレンズ３１を駆動するモータードライバ３２と、カメラ本体からデフォーカス量を受信して、フォーカスレンズ３１の駆動量を演算し、その駆動量だけフォーカスレンズ３１を駆動制御するレンズＣＰＵ３３とを有してなる。
【００３４】
一方、上記カメラボディ３０Ａは、メインミラー３４と、サブミラー３８と、ファインダ用スクリーン３５と、ファインダ光学系３６と、ファインダ接眼レンズ３７と、ＡＦ光学系３９と、ＡＦセンサ４０（図１上のマルチＡＦセンサ３が対応する）と、カメラ全体の制御を司るコンピュータであるＣＰＵ４１と、ＡＦセンサ制御・ＡＦ演算ＩＣ４２（図１上のＡＦセンサ制御・ＡＦ演算ブロック２が対応する）と、フォーカルプレーンシャツター４３と、ＣＣＤからなる撮像素子４４と、被写体が低輝度で焦点検出が不能の場合に、焦点検出を補助する補助光を被写体へ向けて発光する補助光回路４５と、補助光投光用の投光レンズ４６とを有してなる。
【００３５】
なお、上記ＣＰＵ４１は、上記焦点演算装置１００のＡＦ関係の制御を司るＡＦ制御ブロック１を含み、また、レンズＣＰＵ３３からは演算先立って演算に必要なレンズデータが送信されており、レンズＣＰＵ３３へ演算結果であるデフォーカス量の送信を行う。
【００３６】
上記ＡＦセンサ制御・ＡＦ演算ＩＣ４２は、ＣＰＵ４１によって制御され、マルチＡＦセンサ３の制御とＡＦ演算の一部を司るハードウェア集積回路（ＩＣ）で形成される。
【００３７】
上記メインミラー３４は、ＡＦ時には図２のようにダウンしており、光束をＡＦ光学系３９とファインダ光学系３６に分割し、撮影時には上方へアップして、全光束を撮像素子４４へ導く。また、上記サブミラー３８は、メインミラー３４がダウンしているときには、光束をＡＦ光学系３９へ全反射し、メインミラー３４がアップしているときには、撮像素子への光束を遮らない位置に共にアップする。
【００３８】
上記ＡＦセンサ４０は、ＡＦ光学系で分割された光束を内部の一対の光電変換素子列に入射して焦点検出のための信号を発生する一対の光電変換素子列を複数もつ（図１上のマルチＡＦセンサ３が対応する）。このＡＦセンサ４０とＡＦ光学系３９とについては、図３と図４により後で詳細に説明する。また、上記撮像素子４４は、カメラが銀塩カメラである場合は、フィルムが該当する。
【００３９】
ＡＦ光学系３９について、図３の構成図を用いて説明するが公知のＴＴＬ位相差ＡＦ光学系の構成であるので、簡単に説明する。 
ＡＦ光学系３９においては、撮影レンズ５０（図２のフォーカスレンズ３１が対応する）が合焦状態にあるときには、撮影レンズ５０を透過した光束は、ＡＦ光学系３９の前面の仮想面である撮像等価面５１で合焦し、コンデンサレンズ５２で集光，分割されてセパレータ絞り５３で光束が絞られ、セパレータレンズ５４でＡＦセンサ４０内のセンサアレイ５５Ａと５５Ｂ上に結像される。センサアレイ５５Ａとセンサアレイ５５Ｂの結像間隔を測定することによって撮影レンズ５０のデフォーカス量を測定する公知のＴＴＬ位相差ＡＦ方式が構築される。
【００４０】
ＡＦセンサ４０について、図３のＡＦ光学系構成図と、図４のＡＦセンサ配置図を用いて説明すると、本実施の形態に適用されるＡＦセンサ４０は、図４に示すように４ライン３点マルチＡＦセンサとし、中央点が縦ラインと横ラインのクロスセンサであり、左右の２点が縦ラインのラインセンサである。すなわち、図３で示したような一対の光電変換素子列であるセンサアレイ５５Ａ、５５Ｂが４ライン存在する構成となっており、マルチＡＦセンサ３が対応する。
【００４１】
次に、焦点演算装置１００のＡＦセンサ制御・ＡＦ演算ブロック（ＩＣ）２における第１ＡＦ演算部９と第２ＡＦ演算部１１とメモリ１０とのデータの流れについて、図５の焦点演算装置のデータの流れ図を用いて説明する。
【００４２】
図１で説明したように、マルチＡＦセンサ３の出力は１画素毎にＡ／Ｄ変換部８によってアナログ信号からデジタル信号へ変換され、１画素の変換が完了するたびに第１ＡＦ演算部９へ送信される。
【００４３】
第１ＡＦ演算部９は、均一化演算部であるオフセット補正演算回路１５および照度補正演算回路１６、フィルタ演算部である微分フィルタ演算回路１７で構成される。
【００４４】
Ａ／Ｄ変換部８の出力は、オフセット補正演算回路１５へ入力され、オフセット補正演算回路１５は、光電変換素子各画素のオフセット出力（積分時間＝０の場合に出力されるオフセット成分）を補正するものである。この演算の詳細は後述する。
【００４５】
オフセット補正演算回路１５の出力は、照度補正演算回路１６へ入力され、照度補正演算回路１６は、マルチＡＦセンサ３の前面に配置されているＡＦ光学系３９内のコンデンサレンズ５２とセパレータレンズ５４の周辺光量低下による照度不均一性を補正し、かつ、光電変換素子各画素の感度ばらつきを補正するものである。この演算の詳細は後述する。
【００４６】
照度補正演算回路１６の出力は、微分フィルタ演算回路１７へ入力され、微分フィルタ演算回路１７は、微分処理を行ってＤＣ成分を除去する演算を行う。この演算の詳細は後述する。
【００４７】
第１ＡＦ演算部９の出力は、センサデータとしてメモリ部１０内のセンサデータメモリ１８へ格納される。センサデータメモリ１８は、４ライン全ての画素の出力を格納する領域を持つ。
【００４８】
センサデータメモリ１８は、ＡＦ制御ブロック（ＣＰＵ）１から読み出せるようになっており、かつ、第２ＡＦ演算部１１の各演算ブロックへセンサデータを出力する。
【００４９】
第２ＡＦ演算部１１は、相関演算部である相関演算回路１９、単調変化演算部である単調判定回路２０、コントラスト演算部であるコントラスト判定回路２１で構成され、センサデータメモリ１８からそれぞれ独立してセンサデータが入力される。
【００５０】
相関演算回路１９は、センサアレイ５５Ａに該当するセンサデータとセンサアレイ５５Ｂに該当するセンサデータとの相関度合を演算するものであり、センサアレイ５５Ａとセンサアレイ５５Ｂの結像間隔を演算するための最も重要な演算である。また、相関演算は全ＡＦ演算の中で最も演算時間を要する演算個所であり、単純な演算の繰り返しなので、最もハードウェアでの演算に適するとともに、タイムラグ短縮効果も大きい演算個所である。相関演算結果は、メモリ部１０内の相関演算結果メモリ２２に格納され、ＡＦ制御ブロック１から読出しできるようになっている。この演算の詳細は後述する。
【００５１】
単調判定回路２０は、相関演算回路１９で相関演算を行うセンサデータが単調的に増減しているか否かを判定する回路であり、単調判定結果は、メモリ部１０内の単調判定結果メモリ２３に格納され、ＡＦ制御ブロック１から読出しできるようになっている。なお、ハードウェアの構成を簡単にするために、単に判定結果をメモリに残すように構成し、実際に判定結果を演算に反映するのはＡＦ制御ブロック１内の第３ＡＦ演算部１３が行う。この演算の詳細は後述する。
【００５２】
コントラスト判定回路２１は、相関演算回路１９で相関演算を行うセンサデータのコントラストが有るか否かを判定する回路であり、コントラスト判定結果は、メモリ部１０内のコントラスト判定結果メモリ２４に格納され、ＡＦ制御ブロック１から読出しできるようになっている。なお、ハードウェアの構成を簡単にするために、単に判定結果をメモリに残すように構成し、実際に判定結果を演算に反映するのはＡＦ制御ブロック１内の第３ＡＦ演算部１３が行う。この演算の詳細は後述する。
【００５３】
上述した第１ＡＦ演算部９と第２ＡＦ演算部１１との内部の各演算ブロックは、繰り返し演算が多く、また、既に確立した演算技術なので後に演算仕様の変更の可能性もなく、また、特に相関演算回路１９は、もし、マイクロコンピュータで演算すると多大な演算時間を必要とするブロックである。したがって、ハードウェアでの演算に適する。
【００５４】
マイクロコンピュータであるＡＦ制御ブロック１は、不図示のフラッシュＲＯＭに格納されているＡＦ演算アルゴリズムのプログラムに従ってＡＦの演算を行う第３ＡＦ演算部１３を含み、メモリ部１０の各メモリ領域からデータを読出して、以下のような演算を行って撮影レンズ５０のデフォーカス量を演算する。
【００５５】
上記第３ＡＦ演算部１３は、図５に示すように極値判定部である最小値／極値判定ブロック２５と、信頼性判定部である信頼性判定ブロック２６と、デフォーカス量演算部であるデフォーカス量演算ブロック２７と、デフォーカス量補正演算ブロック２８とを有してなる。
【００５６】
最小値／極値判定ブロック２５は、相関演算結果メモリ２２及び単調判定結果メモリ２３及びコントラスト判定結果メモリ２４のデータから相関演算結果の極小値を選択していき、その最小値などを選択するブロックである。この演算の詳細は後述する。
【００５７】
信頼性判定ブロック２６は、最小値／極値判定ブロック２５の結果に基づいて、相関演算の信頼性を判定するブロックである。この演算の詳細は後述する。
【００５８】
デフォーカス量演算ブロック２７は、最小値／極値判定ブロック２５及び信頼性判定ブロック２６の結果に基づいて、センサアレイ５５Ａとセンサアレイ５５Ｂの結像位置の像間隔（２像間隔）を演算し、撮影レンズ５０のデフォーカス量を演算するブロックである。この演算の詳細は後述する。
【００５９】
デフォーカス量補正演算ブロック２８は、デフォーカス量演算ブロック２７で演算したデフォーカス量を補正するものであり、温度や収差などに関するデフォーカス量の補正を行って、最終的にレンズＣＰＵ３３に送信するデフォーカス量を演算するブロックである。この演算の詳細は後述する。
【００６０】
上述した第３ＡＦ演算部１３内部の各演算は、繰り返し演算が少なく、また、後に演算仕様の変更の可能性もある。また、マイクロコンピュータで演算しても多大な演算時間を必要とするブロックではない。したがって、マイクロコンピュータでの演算に適する。
【００６１】
次に、焦点演算装置１００におけるＡＦセンサ制御と演算について、図６のＡＦセンサ制御と演算のタイミングチャート及び図１のブロック構成図を用いて説明する。
【００６２】
図４で説明したようにＡＦセンサ４０は、４つの独立したエリアを持っている。まず、ＣＰＵ４１に含まれるＡＦ制御ブロック１は、積分条件（感度等の積分に必要な条件）をレジスタ部５へ設定する。さらに、ＡＦセンサ制御部７をレジスタ部５を介して動作させ、４エリア一斉にＡＦセンサ４０の積分動作を開始する。
【００６３】
積分動作の開始後、ＡＦセンサ４０は適正な電荷蓄積量になると不図示の内部回路が動作して積分を停止する。各エリアに当っている光の量がそれぞれ異なるので、積分終了時は各エリアでばらばらになる。
【００６４】
最も積分時間の長い（最も暗い）エリアの積分が終了すると、ＡＦセンサ制御部７をレジスタ部５を介して動作させてＡ／Ｄ変換部８を制御し、ＡＦセンサ４０が出力する１画素毎のアナログ出力をデジタル信号に変換する。この各画素出力は、例えば、ＡＦセンサ４０が出力する１０数μｓ周期のパルス波形に同期して、アナログ信号で出力されるものであり、Ａ／Ｄ変換部８は、このパルス波形に同期してデジタル信号に変換する。
【００６５】
エリア１〜４の順で画素出力が読み出されていき、画素信号が１画素分読み出されるたびに、その画素出力に対応する第１ＡＦ演算部９の演算を行う（図６の演算（１））。すなわち、第１ＡＦ演算部９は、１０数μｓ以内にその画素の演算処理を終了させればよく、ハードウェア演算器にとっては十分処理可能な時間である。したがって、第１ＡＦ演算部９を実行することによるタイムラグの増加はほとんど無いように構成される。
【００６６】
エリア１の最終画素出力が終了すると、引き続いてＡ／Ｄ変換部８は、エリア２の読出しを開始する。第１ＡＦ演算部９によるエリア１の最終画素出力に対する演算処理を行った後に、第２ＡＦ演算部１１の演算処理を行う（図６の演算（２））。
【００６７】
エリア１に対する第２ＡＦ演算部１１の処理は、エリア２のＡ／Ｄ変換中（すなわち、エリア２の第１ＡＦ演算部の処理中）に並行して実行する。すなわち、第２ＡＦ演算部１１は、（１０数μｓ×エリア１の画素数）以内にその画素の演算処理を終了させればよく、それが達成できるようなハードウェア演算器の構成にする必要がある。したがって、第２ＡＦ演算部１１を実行することによるタイムラグの増加がほどんど無いように構成される。
【００６８】
以上、説明したようなエリア１の読出しと演算処理と同様の処理を全エリアについて行う。エリア４の第２ＡＦ演算部１１の演算終了すると、割り込み発生部１２は、ＣＰＵ４１へ割り込み信号を出力して、演算が終了したことを知らせる。
【００６９】
そして、ＣＰＵ４１は、割り込み信号を受信するとメモリ部１０から演算結果をシリアル通信部４を介して読出し、第３ＡＦ演算部１３でマイクロコンピュータによるソフトウエア演算を行う。
【００７０】
この第３ＡＦ演算部１３での演算が終了すると、焦点検出演算の最終演算結果である撮影レンズのデフォーカス量が演算される。
【００７１】
続いて、第１ＡＦ演算部９，第２ＡＦ演算部１１におけるハードウェア演算と、第３ＡＦ演算部１３によるソフトウェア演算との詳細について、順次、説明する。
【００７２】
図７は、上記演算部の動作順序を示すラフなタイミングチャートである。第１ＡＦ演算部９は、Ａ／Ｄ変換部８の出力を受けて、まず、オフセット補正演算を行い、引き続いて照度補正演算を行い、最後に微分フィルタ演算を行う（図６、図７の演算（１））。
【００７３】
さらに、第２ＡＦ演算部１１は、第１ＡＦ演算部９の出力を受けて、コントラスト判定と単調判定と相関演算の３つを並行して行う（図６、図７の演算（２））。
【００７４】
第３ＡＦ演算部１３は、第２ＡＦ演算部１１の出力を受けて、まず最小値／極値判定を行い、引き続いて信頼性判定を行い、引き続いてデフォーカス量演算を行い、さらに、デフォーカス量補正演算を行う（図６、図７の演算（３））。
【００７５】
まず、第１ＡＦ演算部９内のハードウェアによる演算構成および各演算ブロックの詳細を説明する。 
理想的に均一輝度面を撮像しても、実際にはＡＦ光学系３９（コンデンサレンズ５２、セパレータレンズ５４）の周辺光量低下、および、画素個々の感度ばらつき（傾き成分、オフセット成分）によってフラットなセンサ出力にはならない。このようにＡＦ光学系およびセンサ画素特性に関わるノイズ成分を補正する補正を総称してここではフラットネス補正といい、理想的な均一輝度面を撮像した場合にセンサ出力がフラットになるようにフラットネス補正を行う（均一化演算）。
【００７６】
上記フラットネス補正には、オフセット補正と照度補正とがある。画素個々のオフセット成分（固定パターンノイズ除去）を補正することをここでは「オフセット補正」と呼ぶ。また、ＡＦ光学系の周辺光量低下と各画素の感度ばらつきを補正することをここでは「照度補正」と呼ぶ。
【００７７】
上記オフセット補正の概念について、光電変換素子の出力特性線図である図８（Ａ），（Ｂ）を用いて説明する。 
光電変換素子は、電荷蓄積時間（積分時間）とその出力がほぼ比例するので、各画素毎に傾きがやや異なるが、図８（Ａ）のような出力特性となる。この出力特性の原点付近“Ａ”の拡大図である図８（Ｂ）に示すように、積分時間＝０でも各画素によってわずかな出力差が生じる。この成分がオフセット成分（固定パターン成分）であり、オフセット補正とはこのオフセット量をあらかじめ測定しておき、センサ出力にその量を補正して各画素で同図原点を通るようにするものである。
【００７８】
上記オフセット補正演算回路１５によるハードウェア動作について表１と図９を用いて説明する。 
表１は、オフセット補正演算ブロックにおける入出力とその演算式を示す。図９は、オフセット補正演算回路（ブロック）１５のハードウェア動作を示す図である。
【表１】
2006017933.tif 000003
【００７９】
表１に示すようにオフセット補正演算における入力、出力として以下のものがある。 
入力は、Ａ／Ｄ変換部８の出力値Ｄ（ｉ）と、レジスタ部５の設定値であるセンサ感度情報データＫＡＮＤと、レジスタ部５の設定値であるオフセット補正データＯ１（ｉ），Ｏ２（ｉ）と、レジスタ部５の設定値である画素セレクト情報と、である。ここで、Ａ／Ｄ変換部８の出力Ｄ（ｉ）は、画素出力そのものである。 
出力は、補正後のデータＤ1 （ｉ）である。 
オフセット補正演算式は、Ｄ1 （ｉ）＝Ｄ（ｉ）−Ｏ（ｉ）である。但し、Ｏ（ｉ）は、Ｏ１（ｉ）、または、Ｏ２（ｉ）の何れか一方とする。
【００８０】
このオフセット補正演算処理は、全エリア、全ＡＦセンサデータ読み出し中に処理される。すなわち、読み出し（Ａ／Ｄ変換）しながら有効画素のみオフセット補正演算がなされる。なお、読み出しには、遮光画素やダミー画素が含まれる。
【００８１】
上記センサ感度情報ＫＡＮＤは、ＡＦセンサ４０の感度を示している。ＡＦセンサ４０には低感度モードと高感度モードがあり、感度によってオフセット成分が異なるため上記情報ＫＡＮＤを適用する。
【００８２】
オフセット補正データＯ１（ｉ）及びＯ２（ｉ）は、各感度毎のオフセット補正データであり、データＯ１（ｉ）は低感度モードでの補正データであり、データＯ２（ｉ）は、高感度モードでの補正データである。これらの補正データは、工場での製造工程において各ボディー毎に測定され、ＡＦ制御ブロック１内の不図示のＦＲＯＭ内に格納されている。オフセット補正開始に先立って、レジスタ部５にあらかじめ上記補正データが設定されている。
【００８３】
また、オフセット補正演算は、最初の演算であるのでレジスタ部５に設定された画素セレクト情報によって有効画素の演算のみを行うようにしている。すなわち、Ａ／Ｄ変換部８の出力は、遮光画素やダミー画素の出力も含んでいるので、有効画素のみをセレクトして以後の演算部に出力する。
【００８４】
まず、上記オフセット補正演算処理においては、高感度用オフセット補正データ７０と低感度用オフセット補正データ７１（例えば、８ｂｉｔデータ）のどちかを補正値として使用するかを、レジスタ７２のデータＫＡＮＤにしたがってセレクタ７３で補正値として選択し、後段のレジスタ７４へ送信する。
【００８５】
一方、Ａ／Ｄ変換部８の出力７５（例えば、１０ｂｉｔＡＤ結果データ）がＡＤ変換終了のたびに１画素毎にセレクタ７６（例えば、１６ｂｉｔ単位で演算）に出力される。
【００８６】
画素セレクト情報７７から今回何画素目の画素データを読み出しているのかをセレクタ７８で選択し、セレクタ７６はセレクタ７８が１のときのみ後段のレジスタ７９にＡ／Ｄ変換回路の出力７５の出力を送信する。
【００８７】
減算器８０は、レジスタ７９の出力（例えば、１６ｂｉｔ）からレジスタ７４の出力（例えば、８ｂｉｔ）を減算し、その結果をレジスタ８１へ出力する。その演算式は、上述したように、Ｄ1 （ｉ）＝Ｄ（ｉ）−０（ｉ）である。
【００８８】
最後に、レジスタ部８１に格納された結果（例えば、１６ｂｉｔ中に有効１０ｂｉｔで上位６ｂｉｔは０）は、次の照度補正演算回路（ブロック）１６へ送信される。
【００８９】
次に、上記照度補正の概念について、左，右のセンサにおける各画素に対するセンサ出力線図である図１０（Ａ），（Ｂ）、および、積分時間に対するセンサ出力の変化を示す図１０（Ｃ）を用いて説明する。
【００９０】
図８でも説明したように、積分時間とセンサ出力がほぼ比例する。また、各画素毎に感度ばらつきがあるので図１０（Ｃ）に示すように各画素毎に傾きがやや異なる。上記照度補正は、この感度ばらつきと、光学系の周辺光量低下を補正するものであり、特定感度（ここでは、中間感度）の画素に出力を合わせるように補正する。
【００９１】
すなわち、感度が低い画素には、１以上の係数を掛け算して出力を増大させ、逆に感度が高い画素には、１未満の係数を掛け算して出力を低下させる。
【００９２】
図１０（Ａ），（Ｂ）は、均一輝度面を撮像したときの照度補正前後の出力を示している。横軸には各画素の並びをとっており、隣り合う画素の出力を結んだ線図である。補正前のデータは光学系の周辺光量低下と各画素の感度ばらつきによって、おわん型にぎざぎざした出力になるが、補正後のデータはフラットな出力になる。各画素の補正係数をあらかじめ測定しておき、補正前のセンサデータにその量を掛け算し、均一輝度面の出力が各画素で同じになるようにするものである。
【００９３】
上記照度補正演算回路１６によるハードウェア動作について表２と図１１を用いて説明する。 
表２は、照度補正演算ブロックにおける入出力とその演算式を示す。図１１は、照度補正演算回路（ブロック）１６のハードウェア動作を示す図である。
【表２】
2006017933.tif 000004
【００９４】
表２に示すように照度補正演算における入力、出力として以下のものがある。 
入力は、レジスタ８１の出力値であるオフセット補正演算回路（ブロック）１５の出力のＤ1 （ｉ）と、レジスタ７２の出力値であって、オフセット補正と同じセンサ感度情報ＫＡＮＤの値と、レジスタ５の設定値である低感度，高感度用の照度補正データＨ１（ｉ）、Ｈ２（ｉ）と、である。 
出力は、補正後のデータＤ2 （ｉ）である。
【００９５】
上記照度補正データＨ１（ｉ）及びＨ２（ｉ）は、各感度毎の照度補正データであり、Ｈ１（ｉ）は、低感度モードでの補正データである。Ｈ２（ｉ）は、高感度モードでの補正データである。これらの補正データは工場での製造工程において各ボディー毎に測定され、ＡＦ制御ブロック１内の不図示のＦＲＯＭ内に格納されている。照度補正開始に先立って、レジスタ部５にあらかじめ補正データが設定されている。
【００９６】
照度補正演算式は、Ｄ2 （ｉ）＝Ｄ1 （ｉ）×Ｈ（ｉ）で示される。Ｈ（ｉ）は、Ｈ１（ｉ）、または、Ｈ２（ｉ）である。この照度補正データＤ2 （ｉ）は、前述の補正係数であり、１前後の値であるので、例えば、整数部を１ビット、小数部を８ビットで構成されている。
【００９７】
この照度補正演算処理は、全エリア、全ＡＦセンサデータ読み出し中に処理される。すなわち、読み出し（Ａ／Ｄ変換）しながらオフセット補正演算の後に行われる。
【００９８】
まず、高感度用照度補正データ８２と低感度用照度補正データ８３のどちらかを補正値として使用するかを、レジスタ７２のデータＫＡＮＤに従って、セレクタ８４で補正値として選択し、後段のレジスタ８５へ補正データＨ（ｉ）として送信する。乗算器８６は、オフセット補正結果レジスタ８１の出力とレジスタ８５の出力とを掛け算し、その結果をレジスタ８７へ出力する。
【００９９】
照度補正演算式は、Ｄ2 （ｉ）＝Ｄ1 （ｉ）×Ｈ（ｉ）で示される。最後に、レジスタ８７に格納された結果（例えば、１６ｂｉｔ中に有効１０ｂｉｔで上位６ｂｉｔは０とする）は、次の微分フィルタ演算回路（ブロック）１７へ送信される。
【０１００】
次に、上記微分フィルタ演算の概念について、各画素に対するセンサ出力（照度補正出力）線図である図１２（Ａ）と、図１２（Ａ）のＣ部分の微分データ出力Ｃ′を含む微分センサデータ出力線図である図１２（Ｂ）とを用いて説明する。
【０１０１】
図１２（Ａ）に示すような照度補正演算の結果を、例えば、４画素隣の画素画素との変化分をとって微分処理を行った場合、図１２（Ｂ）に示す微分センサデータ出力特性が得られる。この微分処理を行ったセンサデータを、後段の相関演算などを行う際の演算対象センサデータとする。
【０１０２】
上記微分フィルタ演算により低周波成分が除去できる。特に低コントラスト気味の被写体において検出精度向上が期待できる。また、センサアレイ５５Ａのセンサデータと、センサアレイ５５Ｂのセンサデータとのレベル差が除去されるので、レベル差の影響による相関演算の信頼性低下がなくなる。
【０１０３】
微分フィルタ演算回路１７によるハードウェア動作について、表３と図１３を用いて説明する。 
表３は、微分フィルタ演算ブロックにおける入出力とその演算式を示す。図１３は、微分フィルタ演算回路（ブロック）１７のハードウェア動作を示す図である。
【表３】
2006017933.tif 000005
【０１０４】
表３に示すように微分フィルタ演算における入出力として以下のものがある。 
入力は、レジスタ８７の出力値である照度補正演算回路１６の出力Ｄ2 （ｉ）と、レジスタ部５の設定値である微分演算のオフセット値と、レジスタ部５の設定値であって、微分フィルタ演算を実行するか否かを示すのオン／オフレジスタ９４の出力値と、である。 
出力は、微分フィルタ演算後のデータＤ3 （ｉ）である。 
微分フィルタ演算式は、
Ｄ3 （ｉ）＝Ｄ2 （ｉ）＋ＯＦＦＳＥＴ−Ｄ2 （ｉ＋４）
で示される。なお、この微分フィルタ演算は、センサデータを読み出しながら（Ａ／Ｄ変換しながら）行われ、読み出しには、遮光画素，ダミー画素が含まれる。
【０１０５】
すでに説明したように、Ａ／Ｄ変換部８が１画素変換終了する毎に照度補正演算が実行され、その結果がレジスタ８７に順次格納されていく。微分演算フィルタは、例えば、４画素隣の画素との差分を出力とするので、４画素隣の画素の照度補正演算の終了を待って順次演算を行う。
【０１０６】
まず、レジスタ部８８に演算を行う対象の照度補正演算回路１６の出力を格納し、４画素隣の相手画素の照度補正演算回路１６の出力がレジスタ８９に出力完了となるのを待つ。
【０１０７】
そして、レジスタ９０に格納された微分演算のオフセット値と、レジスタ８８の値を加算器９１で加算する。このオフセット値の役割は、微分フィルタ演算の結果が負の数になると後段の相関演算の演算器が複雑になるので、そのようにならないようにするものである。また、引き算演算よりも先にオフセット値を足す理由は、途中で負の数が出ないようにして演算器の構成を簡単にするためである。
【０１０８】
そして、その足し算結果からレジスタ８９に出力された４画素隣の結果を減算器９２で減算し、結果をレジスタ９３に格納する。
【０１０９】
また、フィルタ演算を実行するか否かを決定するフィルタ演算オン／オフレジスタ９４にしたがって、セレクタ９５は、レジスタ８８かレジスタ９３のいずれかの値を後段のセレクタ９６へ出力する。セレクタ９６は、現在何番目の画素の処理を行っているかによって、メモリに格納するアドレスを選択する。
【０１１０】
最後に、セレクタ９６で選択されたアドレスのメモリに微分フィルタ演算結果を格納する。フィルタ演算オン／オフレジスタ９４がフィルタ演算を実行すると設定されている場合には、メモリ９７の最後の４画素分のデータは存在しない。それは４画素隣の画素が存在しないからである。メモリ９７は、図５のセンサデータメモリ１８と同じである。
【０１１１】
以上、説明したようにハードウェアを構成すれば、ハードウェアによって演算の高速化が実現できるので、Ａ／Ｄ変換部８の変換動作とほぼ並行して３つの演算処理（オフセット補正、照度補正、微分フィルタ演算）を行うことができ、演算処理を行うことによるタイムラグの増加はなくなる。
【０１１２】
次に、第２ＡＦ演算部１１内のハードウェアによる演算構成を説明する。まず、第２ＡＦ演算部１１内の相関演算回路（ブロック）１９による相関演算について説明すると、図１４は、３つ枠からなる測距枠エリアを示す図であって、このように１エリアを３つに分割して相関演算が行われる。
【０１１３】
すなわち、１つの測距エリア１００Ａを、左測距枠（１枠）１０１、中央測距枠（２枠）１０２、右測距枠（３枠）１０３の３つに分割して相関演算を行う。分割する理由としては、被写体が測距エリア１００Ａの端部に位置していても検出可能にするためである。そして、１つの測距エリアにつき３枠の相関演算とコントラスト判定と単調判定とを行うことになる。
【０１１４】
図１５は、中央測距枠１０２内の相関演算のシフト状態を示す相関演算シフト図であって、ある１つの測距エリア内のセンサアレイ５５Ａのセンサデータ出力（すなわち、微分フィルタ演算結果によるセンサデータメモリ１８に格納されたデータ）が６０画素と、同じくセンサアレイ５５Ｂのセンサデータ出力が６０画素存在する例を示す。ここでは、センサアレイ５５Ａのセンサデータの出力を左（Ｌ）、センサアレイ５５Ｂのセンサデータの出力を右（Ｒ）と定義し、全１２０画素を左の先頭画素から通し番号を付して示している。
【０１１５】
最上位の２８画素の相関ブロック（図の黒色部）についてみると、右の先頭画素の番号が９３で左の先頭画素の番号が１であるので、右−左のずれ量は、９２になっている。以下、図１５のように左右を千鳥配置に６４シフトすると、中央測距枠１０２内の相関演算のシフトが構成され、ずれ量２９〜９２（画素単位）の検出能力を持つ。
【０１１６】
各シフト位置において、左右の相関ブロックについて以下の演算を行う。 
Ｆ＝Σ｜ＤＬ（ｉ）−ＤＲ（ｉ）｜（ｉ＝１〜２８）
ここで、ＤＬ（ｉ）は、左の相関ブロック内ｉ番目の出力である。ＤＲ（ｉ）は、右の相関ブロック内ｉ番目の出力である。Ｆは、相関値を与える。
【０１１７】
このＦ値が相関値であり、左右の相関ブロック内の出力が似ているほど（相関が高いほど）、Ｆ値は、小さい値になる。ここではＦ値をハードウェアで演算を行う。
【０１１８】
各シフトにおいて、相関値Ｆの演算結果を相関演算結果メモリ１０４（図５上では符号２２）に格納していく。
【０１１９】
後述する単調判定結果も左と右それぞれに単調判定結果メモリ１０５と１０６（図５上では符号２３）に格納する。また、コントラスト判定結果も左と右それぞれにコントラスト判定結果メモリ１０７と１０８（図５上では符号２４）に格納する。
【０１２０】
ここでは相関値Ｆの演算と単調判定とコントラスト判定を行うのみであり、この結果を使用してデフォーカス量の演算を行うのは第３ＡＦ演算部１３である。このように単純な演算のみハードウェアに実行させることによって、ハードウェアの構成が簡単になる。
【０１２１】
図１６は、左測距枠１０１内の相関演算のシフトを説明する相関演算シフト図であって、左測距枠１０１では図のように相関ブロックが配置される。中央測距枠１０２はブロック内が２８画素であったが、ここでは２０画素とする。
【０１２２】
最上位の２０画素の相関ブロック（図の黒色部）についてみると、右の先頭画素の番号が６９で左の先頭画素の番号が１であるので、右一左のずれ量は６８になる。
【０１２３】
以下、図１６のように左右を４３シフトすると、左測距枠１０１内の相関演算のシフトが構成され、ずれ量２６〜６８（単位は画素）の検出能力を持つ。
【０１２４】
各シフト位置において、中央測距枠１０２と同様の相関演算を行う。演算結果を格納するメモリについては、中央測距枠１０２の場合と同様である。
【０１２５】
図１７は、右測距枠１０３内の相関演算のシフトを説明する相関演算シフト図であって、右測距枠１０３では図のように相関ブロックを配置する。左測距枠１０１と同様にブロック内は２０画素とする。
【０１２６】
最上位の２０画素の相関ブロック（図の黒色部）についてみると、右の先頭画素の番号が１００で左の先頭画素の番号が３２であるので、右−左のずれ量は６８になる。
【０１２７】
以下、図１７のように左右を４３シフトすると、右測距枠１０３内の相関演算のシフトが構成され、ずれ量３３〜６８（単位は画素）の検出能力を持つ。
【０１２８】
各シフト位置において、中央測距枠１０２の場合と同様の相関演算を行う。演算結果のメモリへの格納については、中央測距枠１０２の場合と同様である。
【０１２９】
相関演算回路１９によるハードウェア動作について、表４および図１８を用いて説明する。 
表４は、上記相関演算における入出力と演算式を示す。図１８は、相関演算回路１９のハードウエア動作を示す図である。
【表４】
2006017933.tif 000006
【０１３０】
表４に示すように相関演算における入出力としては、次のものがある。すなわち、
入力は、微分フィルタ演算回路１７の出力であって、センサデータメモリ１８に格納されている左センサデータＤＬ（ｉ），右センサデータＤＲ（ｉ）と、シフト数の値ＳＦＴ、すなわち、今回の演算が図１５〜１７の何番目のシフト番号の演算であるかを示す値と、エリア番号ＥＲＥＡ、すなわち、今回の演算が１〜４のどのエリアの演算であるかを示す値と、枠番号ＷＡＫＵ、すなわち、今回の演算が中央左右のどの枠内の演算であるかを示す値と、である。 
出力は、相関演算結果Ｆ（ｋ）（ｋ＝１〜ＳＦＴ）である。 
また、相関演算式は、
Ｆ（ｋ）＝Σ｜ＤＬ（ｉ）−ＤＲ（ｉ）｜（ｉ＝１〜２８、または、ｉ＝１〜２０）
である。
【０１３１】
相関演算動作について図１５で説明した中央測距枠１０２の場合で説明する。但し、入力値ＥＲＥＡとＷＡＫＵは、しかるべき値に設定されているものとする。
【０１３２】
まず、ＳＦＴ＝１となり、図１５のシフト図の最上位の相関ブロック内の相関演算が行われる。セレクタ１０９と１１０は、左右それぞれのセンサデータメモリ１８の中から、そのブロックのみを抽出する（左は、第１番目の画素を先頭とする２８画素、右は、第９３番目の画素を先頭とする２８画素）。
【０１３３】
そして、セレクタ１０９が抽出した左センサデータ領域１１１の中から、セレクタ１１２は１つの画素をセレクトし、そのデータをレジスタ１１３に入れる。セレクタ１１０が抽出した右センサデータ領域１１４の中から、セレクタ１１５は１つの画素をセレクトし、レジスタ１１６に入れる。
【０１３４】
そして、減算器１１７は、レジスタ１１３とレジスタ１１６の値を減算し、絶対値演算器１１８は減算器１１７の結果の絶対値を演算する。積算演算器１１９は、絶対値演算器１１８の結果を積算していく。
【０１３５】
セレクタ１１２と１１５の動作〜積算演算器１１９の動作を所定回数（中央測距枠なら２８回、左右測距枠なら２０回）繰り返す。 
すなわち、上述したＦ（ｋ）＝Σ｜ＤＬ（ｉ）−ＤＲ（ｉ）｜（ｉ＝１〜２８）の演算が行われて、１つの相関ブロックの相関値Ｆが算出されるので、セレクタ１２０によって指定されるアドレスの相関演算結果メモリ１０４（図５では、符号２２）に格納する。セレクタ１２０は今回のＳＦＴ値によって格納するアドレスをセレクトする。
【０１３６】
上記の演算を図１５の全ての相関ブロックによって行い、全相関ブロックについて相関値Ｆが相関演算結果メモリ１０４に格納される。そのためにセレクタ１０９とセレクタ１１０は、千鳥配置の図１５のシフトにしたがってセンサデータをセレクトできるように構成される。
【０１３７】
なお、図１６で説明した左測距枠１０１と図１７で説明した右測距枠１０３とに対しても同様に相関演算回路１９による相関演算が行われる。
【０１３８】
第２ＡＦ演算部１１内のハードウェアによる演算構成におけるコントラスト判定回路（ブロック）２１によるコントラスト判定について、その概念を図１９を用いて説明する。 
図１９は、センサアレイの相関ブロック内の各画素に対するセンサデータの変化を示す図である。
【０１３９】
相関ブロック内のコントラストが十分であるか否かを判定する必要がある。すなわち、コントラストの低い相関ブロックは十分なＡＦ信頼性が無いため、この判定を必要とする。
【０１４０】
図１９のように相関演算を行う相関ブロック内の最大出力値と最小出力値の差をコントラスト値（ＣＯＮＴＲＡＳＴ）として定義する。ここで、相関ブロック画素の両端２画素はコントラストチェックの対象から除外する。その理由は、端のみでコントラストがあっても相関演算に支障をきたすからである。上記ＣＯＮＴＲＡＳＴ値は、
ＣＯＮＴＲＡＳＴ＝ＭＡＸ−ＭＩＮ
で示され、このコントラスト差を示すＣＯＮＴＲＡＳＴ値を所定値と比較し、所定値以上あれば、コントラスト判定結果ＯＫとし、所定値未満であれば、コントラスト判定結果ＮＧとする。
【０１４１】
コントラスト判定回路２１のハードウェア動作について、表５および図２０を用いて説明する。 
表５は、上記コントラスト判定における入出力と演算式を示す。図２０は、コントラスト判定回路２１のハードウェア動作を示す図である。
【表５】
2006017933.tif 000007
【０１４２】
表５に示すようにコントラスト判定処理における入出力として、以下のものがある。 
入力は、相関演算回路１９の入力と同様に左センサデータＤＬ（ｉ），右センサデータＤＲ（ｉ），シフト数の値ＳＦＴ，エリア番号ＥＲＥＡ，枠番号ＷＡＫＵと、さらに、コントラスト判定値ＣＭＩＮ（レジスタ部５の設定値）と、である。 
出力は、
１枠（左測距枠）左のコントラスト判定結果ＣＬｌ（ｋ）  （ｋ＝１〜ＳＦＴ）
２枠（中央測距枠）左のコントラスト判定結果ＣＬ２（ｋ）  （ｋ＝１〜ＳＦＴ）
３枠（右測距枠）左のコントラスト判定結果ＣＬ３（ｋ）  （ｋ＝１〜ＳＦＴ）
１枠（左測距枠）右のコントラスト判定結果ＣＲｌ（ｋ）  （ｋ＝１〜ＳＦＴ）
２枠（中央測距枠）右のコントラスト判定結果ＣＲ２（ｋ）  （ｋ＝１〜ＳＦＴ）
３枠（右測距枠）右のコントラスト判定結果ＣＲ３（ｋ）  （ｋ＝１〜ＳＦＴ）
現在コントラスト判定中の左ブロックのコントラスト値ＣｏｎｔＬ
現在コントラスト判定中の右ブロックのコントラスト値ＣｏｎｔＲ
である。なお、左のセンサデータに対するコントラスト判定動作と、右のセンサデータに対するそれは同じであるので、以下、左のセンサデータに対する動作のみ説明する。
【０１４３】
図２０のコントラスト判定動作において、セレクタ１０９の動作は、図１８の相関演算回路１９のハードウエア動作を示す図と同じである。セレクタ１０９が抽出した左センサデータ領域１１１（図１８と同領域）の中で、端部の２画素を除外した領域１２１から最大値を示す値を最大値検出器１２３で抽出し、領域１２１から最小値を示す値を最小値検出器１２４で抽出する。
【０１４４】
そして、減算器１２５によって最大値検出器１２３の結果から最小値検出器１２４の結果を減算し、その結果を相関ブロック内のコントラスト値としてコントラスト値結果格納レジスタ１２６（右の演算の場合にはレジスタ１２７）へ格納する。レジスタ１２６の値は、続く単調判定回路（ブロック）２０で使用する。
【０１４５】
さらに、減算器１２８は、コントラスト値である減算器１２５の結果から、レジスタ１２９に格納されているコントラスト判定植を減算する。その減算結果の符号情報（キャリー、ボロー）１３０は、コントラスト判定回路（ブロック）２１の判定結果である。該判定結果をセレクタ１３１によって指定されるアドレスのコントラスト判定結果メモリ１０７（図５上では符号２４）に格納する。セレクタ１３１は今回のＳＦＴ値によって格納するアドレスをセレクトする。それらの結果は、左右別、枠番号別に異なるメモリ領域に格納される。
【０１４６】
以上のコントラスト判定動作を相関演算動作と並行して実行する。コントラスト判定動作の実行時間の方が相関演算動作のそれよりも短く、コントラスト判定を実行することによるタイムラグの増加はない。
【０１４７】
第２ＡＦ演算部１１内のハードウェアによる演算構成における単調判定回路（ブロック）２０による単調判定について、その概念を図２１を用いて説明する。 
図２１は、センサアレイの相関ブロック内の各画素に対するセンサデータの変化を示す図である。
【０１４８】
相関ブロック内のセンサデータが単調増加あるいは単調減少しているか否かを判定する必要がある。すなわち、単調性のセンサデータでは十分なＡＦ信頼性が無いため、この単調判定を必要とする。
【０１４９】
図２１に示すように単調変化チェックする範囲は、コントラストチェックする範囲と同じ（端部２画素を除く）である。そのチェック対象範囲内で隣合う画素との出力差の絶対値の和であるΣ｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜を演算し、以下のように判定する。すなわち、
Σ｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜≦（コントラスト値（ＣＯＮＴＲＡＳＴ）×係数）
かつ、
｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜の最大値≦最大判定値
であれば、単調変化していると判断する。
【０１５０】
例えば、完全に単調変化していれば、Σ｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜とコントラスト値が等しいので、ある程度の幅をとるために係数を掛けて判定する。また、単調性があっても｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜の最大値がある程度のコントラストを持っていれば、高精度でＡＦできるので、このような場合には単調性があるとは判断しないようにする。
【０１５１】
上記単調判定回路２０のハードウェア動作について、表６および図２２を用いて説明する。 
表６は、上記単調判定における入出力と演算式を示す。図２２は、単調判定回路２０のハードウェア動作を示す図である。
【表６】
2006017933.tif 000008
【０１５２】
表６に示すように単調判定処理における入出力として、以下のものがある。すなわち、
入力は、相関演算回路１９の入力と同様に同左センサデータＤＬ（ｉ），右センサデータＤＲ（ｉ），シフト数の値ＳＦＴ、エリア番号ＥＲＥＡ、枠番号ＷＡＫＵと、さらに、単調判定値ＬＩＭＩＴ１（レジスタ部５の設定値）と、単調判定係数ＣＯＥＦＦ（レジスタ部５の設定値）と、相関ブロック内コントラスト値ＣｏｎｔＬ、ＣｏｎｔＲ（コントラスト判定回路２１の出力であって、レジスタ１２６と１２７に格納されている）と、である。 
出力は、
１枠（左測距枠）左の単調判定結果ＳＬ１（ｋ）（ｋ＝１〜ＳＦＴ）
２枠（中央測距枠）左の単調判定結果ＳＬ２（ｋ）（ｋ＝１〜ＳＦＴ）
３枠（右測距枠）左の単調判定結果ＳＬ３（ｋ）（ｋ＝１〜ＳＦＴ）
１枠（左測距枠）右の単調判定結果ＳＲ１（ｋ）（ｋ＝１〜ＳＦＴ）
２枠（中央測距枠）右の単調判定結果ＳＲ２（ｋ）（ｋ＝１〜ＳＦＴ）
３枠（右測距枠）右の単調判定結果ＳＲ３（ｋ）（ｋ＝１〜ＳＦＴ）
である。なお、左のセンサデータに対する単調判定動作と、右のセンサデータに対する単調判定動作とは同じであるので、以下、左のセンサデータに対する動作のみ説明する。
【０１５３】
図２２の単調判定動作において、セレクタ１０９の動作は、図１８の相関演算回路１９のハードウェア動作を示す図と同じである。セレクタ１０９が抽出した左センサデータ領域１１１（図１８と同じ）の中で、端部の２画素を除外した領域１２１内のセンサデータに対して単調判定を行う。ここまでは、コントラスト判定回路２１の動作と同じである。
【０１５４】
セレクタ１３２は、領域１２１内から１画素データをセレクトし（レジスタ１３３）、さらにその隣の画素データをセレクトし（レジスタ１３４）、減算器１３５は、その減算を行う。
【０１５５】
絶対値演算器１３６は、減算器１３５の結果の絶対値を演算し、積算演算器１３７は、絶対値演算器１３６の結果を積算していく。
【０１５６】
セレクタ１３２の動作から積算演算器１３７の動作までを所定回数（中央測距枠では２３回、左右測距枠では１５回）繰り返す。すなわち、Σ｜ＤＬ（ｉ）−ＤＬ（ｉ＋１）｜の演算が行われて、その結果は減算器１３８での演算に使用される。
【０１５７】
そして、コントラスト判定回路２１の出力であるコントラスト値結果格納レジスタ１２６の値と、判定係数格納レジスタ１３９の値とを乗算器１４０で乗算する。このレジスタ１３９の係数は、整数部１ビット＆小数部８ｂｉｔであり、レジスタ１２６の値を所定倍する係数である。乗算器１４０の結果を判定値としてレジスタ１４１に格納する。
【０１５８】
さらに、減算器１３８は、積算演算器１３７の結果から、レジスタ１４１に格納されている判定値を減算する。その減算結果の符号情報（キャリー、ボロー）１４２は、単調判定回路２０の結果の１つであり、アンド演算器１４８に送信される。
【０１５９】
また、絶対値演算器１３６の最大値を最大値検出器１４４で検出し、続く減算器１４５は最大値検出器１４４の結果から、レジスタ１４６に格納されているもう１つの判定値を減算する。その減算結果の符号情報（キャリー、ボロ―）１４７は、単調判定回路２０の判定結果の１つであり、アンド演算器１４８に送信される。アンド演算器１４８は、符号情報１４２と符号情報１４７の値のアンドを演算し、これが最終的な単調判定結果となる。
【０１６０】
上述のような演算構成により、
Σ｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜≦（コントラスト値×係数）
かつ、
｜Ｄ（ｉ＋１）−Ｄ（ｉ）｜の最大値≦最大判定値
であれば、単調変化していると判定される。
【０１６１】
上記単調判定結果は、セレクタ１４９によって指定されるアドレスの単調判定結果メモリ１０５（図５上では符号２３）に格納する。セレクタ１４９は今回のＳＦＴ値によって格納するアドレスをセレクトし、左右別、枠番号別に異なるメモリ領域に格納する。
【０１６２】
以上の単調判定動作を相関演算動作と並行して実行する。単調判定動作の実行時間の方が相関演算動作のそれよりも短く、単調判定を実行することによるタイムラグの増加はない。
【０１６３】
以上でハードウェアによる全演算を終了し、図６で説明したようにＡＦ制御ブロック（ＣＰＵ）１へ演算終了を知らせる割り込み信号を送信する。ＡＦ制御ブロック１は、その信号を受信すると後述するような第３ＡＦ演算部１３によるソフトウエア演算であるデフォーカス量演算を行う。
【０１６４】
上記割り込み信号を受けたＡＦ制御ブロック１は、図２３のＡＦ制御ブロックの処理動作のフローチャートに従って第３ＡＦ演算部１３による処理を開始する。
【０１６５】
まず、ステップＳ１にて図６で説明したようにメモリ１０に格納されている演算結果情報をシリアル通信部４を介してＡＦ制御ブロック１の第３ＡＦ演算部１３内のメモリ（不図示）に転送する。
【０１６６】
続いて、ステップＳ２〜Ｓ７の繰り返しにより最小値／極値判定ブロック２５にてシフト数と相関値Ｆとの関係を求める。その内容の詳細は、後で図２４により説明するが、図１５〜図１７で説明した初期位置の相関ブロックであるシフト図（図１５〜図１７）の最上位の相関ブロックからスタートし、同図、最下位の相関ブロックまで全シフトにて、ステップＳ２〜Ｓ７を繰り返すことにより相関値Ｆの特性が求められる。
【０１６７】
すなわち、ステップＳ２，Ｓ３にて第３ＡＦ演算部１３内のメモリ（不図示）に転送されたコントラスト判定結果をサーチして、左右相関ブロックの両方ともコントラストがあると判定されているかどうかを判断する。コントラストが無い場合には、相関値Ｆを参照する相関ブロックの対象外となるのでステップＳ７へ移行して、次の相関ブロックへシフトする。コントラストがある場合には、ステップＳ４，Ｓ５に移行する。
【０１６８】
ステップＳ４，Ｓ５にて第３ＡＦ演算部１３内のメモリ（不図示）に転送された単調判定結果から相関ブロック内の単調性が有るか否かチェックする。左右相関ブロックの両方とも単調性があると判断されている場合には、相関値Ｆを参照する相関ブロックの対象外なのでＳ７へ移行して、次の相関ブロックへシフトする。上記単調性がないと判断されている場合は、ステップＳ６に進む。
【０１６９】
ステップＳ６においては、コントラストが有って、かつ、単調性が無い相関ブロックについて、相関演算結果メモリ２２の相関値の極値（最小値）とそのポイントを求める。この内容にについては、後で図２４を用いて説明する。
【０１７０】
ステップＳ７において、図１５〜図１７で説明した初期位置の相関ブロック、すなわち、シフト図（図１５〜図１７）の最上位の相関ブロックから最下位の相関ブロックまでステップＳ２〜Ｓ７を繰り返したかを判定し、まだ次のブロックがある場合にはステップＳ２に移行する。次のブロックがない場合は、後述するステップＳ８に移行する。
【０１７１】
上述したようにステップＳ２〜Ｓ７にて相関値Ｆとシフト数の関係が得られるが、この相関値Ｆの状態について、図２４（Ａ）〜（Ｅ）を用いて説明する。
【０１７２】
図２４（Ａ）〜（Ｅ）は、図１５で説明した起点からのシフト数を横軸にとり、相関演算結果メモリ２２に格納されている相関値Ｆを縦軸にとって示している。
【０１７３】
図２４（Ａ）は、通常の相関値の状態を示しており、１点の極小値（最小値）が存在して、このポイント付近で相関値Ｆが最も小さくなる状態を示す。上記ステップＳ６は、この極小値の値とそのポイントをサーチするステップである。また、図２４（Ｂ）のように相関値Ｆの極小値と最小値が異なるケースもあるが、このような場合には極小値の方をサーチする。また、図２４（Ｃ）のように、繰り返し模様の被写体などの場合には相関値Ｆの極小値が複数存在する場合もあるが、最小の極小値と２番目に小さい極小値の２つをサーチして、その差があるスレッシュ値Ｄ＿ＴＨ以下の場合には、ＡＦ不能と判断される。スレッシュ値Ｄ＿ＴＨより大きい場合には、ＡＦ可能と判断される。さらに、図２４（Ｄ），（Ｅ）のように、極小値が存在しない場合もＡＦ不能と判断される。
【０１７４】
図２３のフローチャートの説明に戻って、ステップＳ８に移行後は、ステップＳ１７まで信頼性判定ブロック２６による信頼性判定の処理が行われる。まず、ステップＳ８にて相関値Ｆの極小数＝０であるかを判断する。極小数＝０である場合、図２４（Ｄ）、または、（Ｅ）で説明したような相関値Ｆの特性を持つということであり、このような場合はＡＦ不能であるのでステップＳ２５に移行して所定のＡＦ演算可能フラグをクリアする。ステップＳ２５の後、そのままステップＳ２６に移行する。
【０１７５】
一方、ステップＳ８の判断で相関値Ｆの極小数＝０でなかった場合は、ステップＳ９に移行し、さらに、相関値Ｆの極小数＝１であるかどうかを判断する。極小数＝１であった場合、図２４（Ａ）の通常の状態、または、図２４（Ｂ）の状態であってステップＳ１２に移行する。極小数＝１ではなかった場合、すなわち、極小数≧２の場合は、図２４（Ｃ）のような状態の場合であり、ステップＳ１０に移行する。
【０１７６】
ステップＳ１０では、２番目に小さい極小値（第２最小値）から最小の極小値を減算して、その差の値をＤとする（Ｄ←第２最小値（極小値）−最小極小値）。
【０１７７】
ステップＳ１１にて差の値Ｄが所定のスレッシュ値Ｄ＿ＴＨ以下であるかを判断する。差値Ｄが上記スレッシュ値以下の場合は、ステップＳ２５に移行して、所定のＡＦ演算可能フラグをクリアする。差値Ｄが上記スレッシュ値以下でない場合は、ステップＳ１２に移行する。
【０１７８】
ステップＳ１２まで移行し、ＡＦ不能と判断されなかった場合には、以後、信頼性係数の演算とその判定を行うが、それに先立って、最小の相関値（最小極小値の相関値）を呈する相関ブロックポイントの両隣の相関ブロックの相関値を求める。
【０１７９】
すなわち、ステップＳ１２において上記最小の相関値を呈する相関ブロックより１つずれ量が大きい相関ブロック（図１５〜１７でいえば、１つ上位の相関ブロック）での相関値Ｆをメモリから読み出す。その値をＦＰとする。
【０１８０】
ステップＳ１３にて最小の相関値を呈する相関ブロックより１つずれ量が小さい相関ブロック（図１５〜１７でいえば、１つ下位の相関ブロック）での相関値をメモリから読み出す。その値をＦＭとする。
【０１８１】
ステップＳ１４にてステップＳ１２，Ｓ１３の結果より、第１信頼性係数ＳＫ１を次式で演算する。すなわち、
（１）ＦＭ＞ＦＰのとき、第１信頼性係数ＳＫ１＝ＦＭ−ＦＭＩＮ
（２）ＦＭ≦ＦＰのとき、第１信頼性係数ＳＫ１＝ＦＰ−ＦＭＩＮ
を演算する。ここで、ＦＭＩＮは、上記最小の相関値である。
【０１８２】
さらに、ステップＳ１５にてステップＳ１２，Ｓ１３，Ｓ１４の結果より、第２信頼性係数ＳＫ２を次式で演算する。すなわち、
（１）ＦＭ＞ＦＰのとき、ＳＫ２＝（ＦＭＩＮ＋ＦＰ）／ＳＫ１
（２）ＦＭ≦ＦＰのとき、ＳＫ２＝（ＦＭＩＮ＋ＦＭ）／ＳＫ１
を演算する。
【０１８３】
ステップＳ１６にて、上記値ＳＫ１が所定の信頼性スレッシュＳＫ１＿ＴＨ（不図示のメモリに格納）よりも大きいかを判断する。値ＳＫ１が信頼性スレッシュＳＫ１＿ＴＨより大きくない場合にはデータに信頼性が無いのでＡＦ不能と判断され、ステップＳ２５に移行して、ＡＦ演算可能フラグをクリアする。大きい場合は、ステップＳ１７に移行する。
【０１８４】
ステップＳ１７では、上記値ＳＫ２が所定の信頼性スレッシュＳＫ２＿ＴＨ（不図示のメモリに格納）よりも小さいかを判断する。値ＳＫ２が信頼性スレッシュＳＫ２＿ＴＨより小さくない場合にはデータに信頼性が無いのでＡＦ不能と判断され、ステップＳ２５に移行する。小さい場合は、ステップＳ１８に移行する。
【０１８５】
ステップＳ１８では、このステップまで実行がなされた場合、ＡＦ演算が可能な状態であるのでＡＦ演算可能フラグをセットする。このフラグは、ＡＦ演算の可否を示すものであり、全エリアについて存在する。その後、ステップＳ１９に移行する。
【０１８６】
ステップＳ１９とＳ２０は、デフォーカス量演算ブロック２７における処理動作であり、まず、ステップＳ１９においては、上記値ＦＭＩＮ、ＦＰ、ＦＭのデータより２像間隔ＺＲを次式によって演算する。すなわち、
（１）ＦＭ＞ＦＰのとき、
２像間隔ＺＲ＝（右−左ずれ量）＋（（ＦＭ−ＦＰ）／ＳＫ１）／２
（２）ＦＭ≦ＦＰのとき、
２像間隔ＺＲ＝（右−左ずれ量）−（（ＦＰ−ＦＭ）／ＳＫ１）／２
を演算する。
【０１８７】
ここで、上記２像間隔とは図３で説明したように、センサアレイ５５Ａとセンサアレイ５５Ｂとの結像間隔のことである。また、上記（右−左ずれ量）は、図１５〜図１７に記している左右のずれ量であり、どのシフトポイントで最小相関値となったかによって決まる。すなわち、上記演算を行うことによって、これまで１画素ピッチの離散的な相関データから、補間された真の最小値を与えるシフト数が求まることになる。図２５は、シフト数に対する相関値Ｆの部分拡大図を示しており、値ＦＭＩＮ、ＦＰ、ＦＭに基づいて上述の演算により真の最小値を示す補間後のＦＭＩＮを与えるシフト数を求める状態を示している。
【０１８８】
ステップＳ２０にて、ステップＳ１９で求めた２像間隔ＺＲから撮影レンズ５０（図２上ではフォーカスレンズ３１）のデフォーカス量ＤＦを求める。すなわち、
センサ面ずれ量＝２像間隔ＺＲ−基準２像間隔ＺＲ０
として、
ＤＦ＝係数Ｂ／（係数Ａ−センサ面ずれ量）−係数Ｃ
を求める。ここで、基準２像間隔ＺＲ０とは、撮影レンズ５０が合焦となった状態での２像間隔のことであり、カメラボディー１台ごと固有の値となるので、工場での製造工程で調整されて、不図示のメモリに格納されているデータ値である。また、係数Ａ〜ＣとはＡＦ光学系３９の特性によって光学的に決まる定数であり、合焦近辺が精度よく近似できるような係数である。該係数は、不図示のメモリに格納されている。
【０１８９】
続いて、ステップＳ２１に移行するが、ステップＳ２１からＳ２４までの処理動作は、デフォーカス量補正演算ブロック２８における処理動作である。まず、ステップＳ２１において、デフォーカス量の温度による変化を補正する。一般にＡＦ光学系３９は温度によって変化するので、検出されるデフォーカス量も温度によって変化する。不図示の温度センサがＡＦ光学系３９の近傍に配置されており、該温度センサの温度出力に基づいて基準温度（２像間隔調整時の温度）との差に相当する補正量だけデフォーカス量に補正する。
【０１９０】
ステップＳ２２において像高誤差成分を補正する。像高誤差とはセンサアレイ上の位置によって検出デフォーカス量の差がわずかにあるので、それを補正する。具体的には、図１４で説明した中央測距枠（２枠）１０２で検出されたデフォーカス量に対して、端部の左測距枠（１枠）１０１、あるいは、右測距枠（３枠）１０３で検出されたデフォーカス量がどれだけ差があるかを補正する。
【０１９１】
ステップＳ２３において、光源によるデフォーカス量の差（色収差）を補正する。この補正では、不図示の光源センサの出力に基づいて、光源別に補正値を求めて補正する。
【０１９２】
ステップＳ２４において、フォーカスレンズ３１の焦点距離によって検出デフォーカス量が異なるのでこれを補正する。工場での基準２像間隔の調整はある焦点距離での基準２像間隔であり、各焦点距離によって基準２像間隔がわずかに異なるので、この補正が必要である。焦点距離毎に補正値がレンズＣＰＵ３３からＣＰＵ４１にレンズデータとして送信されており、このレンズデータに基づいて補正値を求めて上述の補正が行われる。ステップＳ２４の後、ステップＳ２６に移行する。
【０１９３】
ステップＳ２５では、すでに説明したように、ＡＦ検出不能の場合に所定のＡＦ演算可能フラグがクリアされ、ステップＳ２６に移行する。
【０１９４】
ステップＳ２６では、以上の演算を全エリアについて行うために未演算エリアがある場合にはステップＳ２に戻る。
【０１９５】
上述した第３ＡＦ演算部１３での演算は、繰り返し演算部分が少なく、あるいは、判断分岐などが多くてハードウエアでの演算に不向きであり、また、特にデフォーカス量補正演算ブロック２８はレンズデータも絡んで補正仕様が後に変更になることが多い。よって、第３ＡＦ演算部１３での演算はマイクロコンピュータでの演算に向いている。
【０１９６】
以上の動作によって第３ＡＦ演算部１３の演算が終了し、出力として各エリア毎にＡＦ検出可能フラグと、検出可能の場合には補正後のデフォーカス量が求まっている。ＡＦ制御ブロック（ＣＰＵ）１は、これらの情報から最終的に選択するエリアを所定のアルゴリズムによって決定し、このエリアの補正後のデフォーカス量がレンズＣＰＵ３３へ送信される。レンズＣＰＵ３３は、送信されたデフォーカス量に基づいてフォーカスレンズ３１を駆動制御して合焦状態が得られる。
【０１９７】
以上、説明したように本第１の実施の形態のカメラの焦点演算装置１００を構成することによって、繰り返し演算が多い部分、あるいは、演算時間短縮効果の大きい演算部分、あるいは、後に演算仕様変更のない演算部分をハードウェアで行い、逆に、繰り返し演算部分が少なくてハードウエア化が困難な演算部分、あるいは、演算時間短縮効果の小さい演算部分、あるいは、後に演算仕様の変更の可能性がある演算部分をＣＰＵで行うことによって、ハードウェアの回路規模を最小にすることができるＡＦ演算システムが構築できる。
【０１９８】
次に、本発明の第２の実施の形態であるカメラの焦点演算装置について、図２６，２７を用いて説明する。 
図２６は、本第２の実施の形態の焦点演算装置の主要ブロック構成図である。図２７は、上記焦点演算装置におけるＡＦセンサ制御と演算のタイミングチャートである。
【０１９９】
前述した第１の実施の形態の焦点演算装置１００では、１つのＡＦセンサを制御する例であった。近年、複数のＡＦセンサをもつ焦点演算装置を内蔵するカメラも実用化されており、本実施形態は、このような複数のＡＦセンサを持つカメラシステムに適用した例である。なお、本実施形態の焦点演算装置は、複数のＡＦセンサを有しており、該センサを制御するセンサ制御回路とＡＦ演算回路を除けば、前記第１の実施形態の焦点演算装置１００と同様の構成を有しており、それらの同一構成部材については、同一の符号を付し、以下、主に異なる部分について説明する。
【０２００】
図２６に示すように本実施形態の焦点演算装置は、ＡＦ制御全体を司るマイクロコンピュータ（ＣＰＵ）であるＡＦ制御ブロック１と、ＡＦ制御ブロック１によって制御され、それぞれＡＦセンサを制御し、それぞれのＡＦ演算の一部を行う集積回路（ＩＣ）からなるＡＦセンサ制御・ＡＦ演算ブロック２′と、マルチＡＦセンサである第１ＡＦセンサ１５０，第２ＡＦセンサ１５１，第３ＡＦセンサ１５２とを主に有している。ＡＦ制御部１に内蔵される第３ＡＦ演算部１３は、ＡＦセンサ制御・ＡＦ演算ブロック２′の第２ＡＦ演算部１１の相関演算結果の信頼性を演算する演算から始まって、撮影レンズのデフォーカス量を演算するまでを行う。
【０２０１】
第１の実施の形態の例では、ＡＦセンサは１つであり、例えば、第１ＡＦセンサ１５０のみが接続され、ＡＦセンサ制御・ＡＦ演算ブロック２内にＡＦセンサ制御回路とＡＦ演算回路１５３（図１のＡＦセンサ制御・ＡＦ演算ブロック２内のブロックと同じ）を１セット内蔵していたが、本第２の実施の形態のＡＦセンサ制御・ＡＦ演算ブロック２′は、これらを３セット内蔵している。
【０２０２】
すなわち、ＡＦセンサ制御・ＡＦ演算ブロック２′は、第１ＡＦセンサ１５０用のＡＦセンサ制御回路・ＡＦ演算回路１５３と、第２ＡＦセンサ１５１用のＡＦセンサ制御回路・ＡＦ演算回路１５４、および、第３ＡＦセンサ１５２用のＡＦセンサ制御回路・ＡＦ演算回路１５５で構成されており、上記演算回路１５３から１５５は全く同じ回路構成で、同じＩＣ内にレイアウトされている。さらに、これらは全く独立的に制御が可能である。なお、ＡＦ制御ブロック（ＣＰＵ）１内の第３ＡＦ演算部１３は１つのみである。
【０２０３】
本第２の実施の形態のカメラの焦点演算装置におけるＡＦセンサ制御と演算動作について図２７のタイミングチャートを用い、前記第１の実施の形態におけるＡＦセンサ制御と演算のタイミングチャート（図６）と対比して説明する。 
３つのＡＦセンサ１５０〜１５２はまったく独立に制御されているので、図６で説明した第１実施形態におけるＡＦセンサ制御と演算がそれぞれの回路１５３〜１５５で実行される。すべてのエリアを同時に積分開始し、それぞれのエリアに入射している光束の強弱によって積分時間が異なり、最も暗いエリアの演算終了で全エリアの第２ＡＦ演算部１１での演算が終了する。
【０２０４】
演算終了のタイミングで図６と同じように割り込み信号を出力して、ＡＦ制御ブロック１におけるデフォーカス量演算処理等が実行される。
【０２０５】
本実施形態の焦点演算装置では、上述のように複数のＡＦセンサの構成にも１つのＡＦセンサの場合と比較して、タイムラグが増加することなくＡＦ演算システムが構築できる。
【０２０６】
次に、本発明の第３の実施の形態のカメラの焦点演算装置について図２８を用いて説明する。 
図２８は、本実施形態の焦点演算装置におけるＡＦセンサ制御と演算のタイミングチャートである。
【０２０７】
前述したようにＡＦセンサの各エリアの画素は、有効画素と無効画素の２種類が有る。有効画素のみが焦点演算に使用される画素であり、無効画素は遮光画素や半遮光画素などからなる焦点演算には使用されない画素である。無効画素数が比較的多い焦点検出センサの場合には、これら無効画素の読出し時間は無駄な時間となってしまう。そこで、本第３の実施の形態の焦点演算装置は、この時間を有効利用するようにしたものである。それ以外の構成，動作は、第１の実施形態の場合と同様であり、同一の符号を適用し、以下、異なる動作について説明する。
【０２０８】
ＡＦセンサ４０のエリア１において、まず、無効画素の読出しから始まるが、ここではまだ何も演算できない。無効画素に対して演算しても意味がないからである。無効画素の読出しが終了すると有効画素の出力が成され、読出しと並行して演算（１）が実行される。有効画素の読出しが終了するとまた無効画素の出力がなされてエリア１の読出しが終了し、続いてエリア２の読出しに移行する。
【０２０９】
上記タイミングチャートからわかるように、各エリアの後半の無効画素出力時間と、次のエリアの前半の無効画素出力時間とは、まったくの無駄時間となるので、この時間Ｄを利用してエリア１の有効画素に対する演算（２）を実行する。すなわち、エリア１の有効画素に対する演算（２）をエリア１とエリア２の無効画素読み出し時間内に終了させる。
【０２１０】
本実施形態においては、上述の処理されることから無駄時間は少なくなり、また、図６で説明したような最終エリア読出し後の演算（２）の時間も短くなるので、装置全体のタイムラグも短縮される。
【０２１１】
なお、本発明の趣旨を逸脱しない範囲で、例えば回路構成などを変形できることはもちろんである。一眼レフレックスカメラに適用するＴＴＬ位相差ＡＦの例で示したが、外光式パッシブ位相差ＡＦにも適用できる。
【産業上の利用可能性】
【０２１２】
本発明によれば、焦点検出演算の一部をハードウェア化したカメラの焦点演算装置において、焦点演算専用ハードウェアの規模を最小にしつつ、演算時間を短縮することができる焦点演算装置として利用することができる。
【図面の簡単な説明】
【０２１３】
【図１】本発明の第１の実施形態のカメラの焦点演算装置のブロック構成図である。
【図２】図１の焦点演算装置が組み込まれるカメラシステムのブロック構成図である。
【図３】図２のカメラシステムに内蔵されるＡＦ光学系の構成図である。
【図４】図１のカメラシステムのマルチＡＦセンサ配置図である。
【図５】図１の焦点演算装置におけるのデータの流れを示す図である
【図６】図１の焦点演算装置におけるＡＦセンサ制御と演算のタイミングチャートである。
【図７】図１の焦点演算装置における演算動作順序を示すラフなタイミングチャートである。
【図８】図１の焦点演算装置におけるオフセット補正の概念を説明するための図であって、図８（Ａ）は、光電変換素子の出力特性線図であり、図８（Ｂ）は、図８（Ａ）のＡ部拡大図である。
【図９】図１の焦点演算装置のオフセット補正演算回路（ブロック）のハードウェア演算動作を示す図である。
【図１０】左，右のＡＦセンサにおける各画素に対するセンサ出力線図である図１０（Ａ），（Ｂ）は、左，右のＡＦセンサのセンサ出力を示し、図１０（Ｃ）は、積分時間に対するセンサ出力の変化を示す。
【図１１】図１の焦点演算装置における照度補正演算回路（ブロック）のハードウェア演算動作を示す図である。
【図１２】微分フィルタ演算の概念を説明するための図であって、図１２（Ａ）は、各画素に対するＡＦセンサ出力（照度補正出力）線図であり、図１２（Ｂ）は、図１２（Ａ）のＣ部分の微分データ出力Ｃ′を含む微分センサデータ出力線図である。
【図１３】図１の焦点演算装置における微分フィルタ演算回路（ブロック）のハードウェア演算動作を示す図である。
【図１４】図１の焦点演算装置における測距枠エリアを示す図である。
【図１５】図１の焦点演算装置における中央測距枠内の相関演算シフト図である。
【図１６】図１の焦点演算装置における左測距枠内の相関演算シフト図である。
【図１７】図１の焦点演算装置における右測距枠内の相関演算シフト図である。
【図１８】図１の焦点演算装置における相関演算回路のハードウエア演算動作を示す図である。
【図１９】図１の焦点演算装置におけるセンサアレイの相関ブロック内の各画素に対するセンサデータの変化例を示す図である。
【図２０】図１の焦点演算装置におけるコントラスト判定回路のハードウェア演算動作を示す図である。
【図２１】図１の焦点演算装置におけるセンサアレイの相関ブロック内の各画素に対するセンサデータの変化例を示す図である。
【図２２】図１の焦点演算装置における単調判定回路のハードウェア演算動作を示す図である。
【図２３】図１の焦点演算装置におけるＡＦ制御ブロックの処理動作のフローチャートである。
【図２４】図１の焦点演算装置におけるシフト数に対する相関値の変化状態の例を示す線図であって、図２４（Ａ）は、通常の相関値の状態を示しており、１点の極小値（最小値）が存在する例を示し、図２４（Ｂ）は、相関値の極小値と最小値が異なる例を示し、図２４（Ｃ）は、相関値の極小値が複数存在する例を示し、図２４（Ｄ），（Ｅ）は、極小値が存在しない例を示す。
【図２５】図１の焦点演算装置におけるシフト数に対する相関値の変化の拡大図である。
【図２６】本発明の第２の実施の形態のカメラの焦点演算装置の主要ブロック構成図である。
【図２７】図２６の焦点演算装置におけるＡＦセンサ制御と演算のタイミングチャートである。
【図２８】本発明の第３の実施形態のカメラの焦点演算装置におけるＡＦセンサ制御と演算のタイミングチャートである。
【符号の説明】
【０２１４】
１，４１
…ＡＦ制御ブロック（制御手段）
２，４２
…ＡＦセンサ制御・ＡＦ演算ブロック
（読み出し手段，演算手段）
３，４０
…マルチＡＦセンサ，ＡＦセンサ
（焦点検出手段）
９  …第１ＡＦ演算部（第１の演算手段）
１１  …第２ＡＦ演算部（第１の演算手段）
１３  …第３ＡＦ演算部（第２の演算手段）
１５  …オフセット補正演算回路（均一化演算部）
１６  …照度補正演算回路（均一化演算部）
１７  …微分フィルタ演算回路
（フィルタ演算部）
１９  …相関演算回路（相関演算部）
２０  …単調判定回路（単調変化演算部）
２１  …コントラスト判定回路
（コントラスト演算部）
２５  …最小値／極値判定ブロック
（極値判定部）
２６  …信頼性判定ブロック（信頼性判定部）
２７  …デフォーカス量演算ブロック
（デフォーカス量演算部）
代理人      弁理士    伊  藤    進
【図１】
2006017933.tif 000009
【図２】
2006017933.tif 000010
【図３】
2006017933.tif 000011
【図４】
2006017933.tif 000012
【図５】
2006017933.tif 000013
【図６】
2006017933.tif 000014
【図７】
2006017933.tif 000015
【図８】
2006017933.tif 000016
【図９】
2006017933.tif 000017
【図１０】
2006017933.tif 000018
【図１１】
2006017933.tif 000019
【図１２】
2006017933.tif 000020
【図１３】
2006017933.tif 000021
【図１４】
2006017933.tif 000022
【図１５】
2006017933.tif 000023
【図１６】
2006017933.tif 000024
【図１７】
2006017933.tif 000025
【図１８】
2006017933.tif 000026
【図１９】
2006017933.tif 000027
【図２０】
2006017933.tif 000028
【図２１】
2006017933.tif 000029
【図２２】
2006017933.tif 000030
【図２３】
2006017933.tif 000031
【図２４】
2006017933.tif 000032
【図２５】
2006017933.tif 000033
【図２６】
2006017933.tif 000034
【図２７】
2006017933.tif 000035
【図２８】
2006017933.tif 000036