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