《第1実施形態》
図1は、本実施形態の一眼レフデジタルカメラ1を示す斜視図である。また、図2は、本実施形態のカメラ1を示す要部構成図である。本実施形態のデジタルカメラ1(以下、単にカメラ1という。)は、カメラ本体2とレンズ鏡筒3から構成され、これらカメラ本体2とレンズ鏡筒3とが着脱可能に結合されている。
レンズ鏡筒3は、カメラ本体2に着脱可能な交換レンズである。図2に示すように、レンズ鏡筒3には、レンズ31,32,33,34および絞り35を含む撮影光学系が内蔵されている。
レンズ33は、フォーカスレンズであり、光軸L1方向に移動することで、撮影光学系の焦点状態を調節可能となっている。フォーカスレンズ33は、レンズ鏡筒3の光軸L1に沿って移動可能に設けられ、フォーカスレンズ用エンコーダ332によってその位置が検出されつつフォーカスレンズ駆動モータ331によってその位置が調節される。
また、レンズ32は、ズームレンズであり、光軸L1方向に移動することで、撮影光学系の焦点距離を調節可能となっている。ズームレンズ32も、上述したフォーカスレンズ33と同様に、ズームレンズ用エンコーダ322によってその位置が検出されつつズームレンズ駆動モータ321によってその位置が調節される。ズームレンズ32の位置は、操作部28に設けられたズームボタンを操作することにより、あるいは、レンズ鏡筒3に設けられたズーム環(不図示)を操作することにより調節される。
絞り35は、上記撮影光学系を通過して撮像素子22に至る光束の光量を制限するとともにボケ量を調整するために、光軸L1を中心にした開口径が調節可能に構成されている。絞り35による開口径の調節は、たとえば自動露出モードにおいて演算された適切な開口径が、カメラ制御部21からレンズ制御部36を介して送出されることにより行われる。また、カメラ本体2に設けられた操作部28によるマニュアル操作により、設定された開口径がカメラ制御部21からレンズ制御部36に入力される。絞り35の開口径は図示しない絞り開口センサにより検出され、レンズ制御部36で現在の開口径が認識される。
また、本実施形態に係るレンズ鏡筒3では、フォーカスレンズ33の駆動可能範囲が設定可能となっている。本実施形態では、図2および図3に示すように、レンズ鏡筒3に、駆動可能範囲を設定するためのフォーカスリミットスイッチ38を備えており、ユーザが、フォーカスリミットスイッチ38を操作して、フォーカスリミットモードを選択することで、フォーカスレンズ33の駆動可能範囲を選択することができる。なお、図3は、本実施形態に係るレンズ鏡筒3の外観図である。
図4は、本実施形態で設定可能な駆動可能範囲の一例を示す図であり、フォーカスレンズ33が駆動できない範囲を灰色で表している。本実施形態では、図4(A)〜図4(C)に示すように、「FULLモード」、「至近側制限モード」、および「無限遠側制限モード」の3つのフォーカスリミットモードが設定可能となっている。
「FULLモード」とは、無限遠端ソフトリミットSLIPから至近端ソフトリミットSLNPまでの範囲内において合焦位置を検出するモードであり、図4(A)に示すように、無限遠端ソフトリミットSLIPのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までの範囲が、駆動可能範囲Rf1として設定される。ただし、フォーカスレンズ33の駆動速度、減速特性等により、無限遠端ソフトリミットSLIPのレンズ位置や、至近端ソフトリミットSLNPのレンズ位置で停止できない場合がある。この場合、図4(A)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置(グレーで塗りつぶした領域の無限遠端ソフトリミットSLIP側の端)から、至近端
ソフトリミットSLNPよりも至近側のレンズ位置(グレーで塗りつぶした領域の至近端ソフトリミットSLNP側の端)までの範囲が、駆動可能範囲Rf1として設定される。
また、「至近側制限モード」とは、無限遠端ソフトリミットSLIPから至近側ソフトリミットSLNSまでの範囲において合焦位置を検出するモードであり、図4(B)に示すように、無限遠端ソフトリミットSLIPのレンズ位置から、至近側ソフトリミットSLNSのレンズ位置までの範囲が、駆動可能範囲Rf2として設定される。なお、図4(B)に示すように、無限遠端ソフトリミットSLIPよりも無限遠側のレンズ位置(グレーで塗りつぶした領域の無限遠端ソフトリミットSLIP側の端)から、至近側ソフトリミットSLNSよりも至近側のレンズ位置(グレーで塗りつぶした領域の至近側ソフトリミットSLNS側の端)までの範囲が、駆動可能範囲Rf2として設定されてもよい。
さらに、「無限遠側制限モード」とは、無限遠側ソフトリミットSLISから至近端ソフトリミットSLNPまでの範囲において合焦位置を検出するモードであり、図4(C)に示すように、無限遠側ソフトリミットSLISのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までの範囲が、駆動可能範囲Rf3として設定される。なお、図4(C)に示すように、無限遠側ソフトリミットSLISよりも無限遠側のレンズ位置(グレーで塗りつぶした領域の無限遠側ソフトリミットSLIS側の端)から、至近端ソフトリミットSLNPよりも至近側のレンズ位置(グレーで塗りつぶした領域の至近端ソフトリミットSLNP側の端)までの範囲が、駆動可能範囲Rf3として設定されてもよい。
なお、本実施形態では、フォーカスリミットスイッチ38を、図3に示す「FULL」に合わせることで「FULLモード」が設定され、図3に示す「リミット1」に合わせることで「至近側制限モード」が設定され、図3に示す「リミット2」に合わせることで、「無限遠側制限モード」が設定される。
そして、ユーザによりいずれかのフォーカスリミットモードが選択された場合には、ユーザに選択されたフォーカスリミットモードの情報が、レンズ鏡筒3からカメラ本体2に送信される。なお、フォーカスリミットモードの情報は、フォーカスリミットモードごとに、レンズメモリ37に記憶されている。例えば、「FULLモード」と無限遠端ソフトリミットSLIPのレンズ位置、及び、至近端ソフトリミットSLNPのレンズ位置とが対応するように記憶され、「至近側制限モード」と無限遠端ソフトリミットSLIPのレンズ位置、及び、至近側ソフトリミットSLNSのレンズ位置とが対応するように記憶され、「無限遠側制限モード」と無限遠側ソフトリミットSLISのレンズ位置、及び、至近端ソフトリミットSLNPのレンズ位置とが対応するように記憶されている。
たとえば、フォーカスリミットスイッチ38により、図4(A)に示す「FULLモード」が設定された場合には、レンズ制御部36は、駆動可能範囲Rf1のリミット位置(端部)の基準となる無限遠端ソフトリミットSLIPおよび至近端ソフトリミットSLNPを、フォーカスリミットモードの情報として、カメラ本体2に送信する。また、フォーカスリミットスイッチ38により、図4(B)に示す「至近側制限モード」が設定された場合には、レンズ制御部36は、駆動可能範囲Rf2のリミット位置の基準となる無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSを、フォーカスリミットモードの情報として、カメラ本体2に送信する。同様に、フォーカスリミットスイッチ38により、図4(C)に示す「無限遠側制限モード」が設定された場合には、レンズ制御部36は、駆動可能範囲Rf3のリミット位置の基準となる無限遠側ソフトリミットSLISおよび至近端ソフトリミットSLNPを、フォーカスリミットモードの情報として、カメラ本体2に送信する。
また、本実施形態においては、たとえば、レンズ鏡筒3が駆動可能範囲を変更可能なレ
ンズ鏡筒であるか否かを示す情報と、上述したフォーカスリミットモードの情報とをレンズメモリ37に記憶している。そして、レンズ制御部36は、レンズ鏡筒3が駆動可能範囲を変更可能なレンズ鏡筒であるか否かを示す情報と、ユーザに選択されたフォーカスリミットモードの情報(「FULLモード」の場合は無限遠端ソフトリミットSLIPのレンズ位置、及び、至近端ソフトリミットSLNPのレンズ位置、「至近側制限モード」の場合は無限遠端ソフトリミットSLIPのレンズ位置、及び、至近側ソフトリミットSLNSのレンズ位置、「無限遠側制限モード」の場合は無限遠側ソフトリミットSLISのレンズ位置、及び、至近端ソフトリミットSLNPのレンズ位置)とを、フォーカスリミット情報として、レンズ鏡筒3からカメラ本体2に周期的に送信することができる。
また、図5に示すように、レンズ鏡筒3からカメラ本体2に対しては、フォーカスリミット情報に加えて、フォーカスレンズ位置およびズームレンズ位置の情報も周期的に送信される。さらに、本実施形態では、後述する現在位置像面移動係数Kcur、最小像面移動係数Kmin、および最大像面移動係数Kmaxもレンズ鏡筒3からカメラ本体2に対して送信される。一方、カメラ本体2においては、フォーカスリミット情報およびフォーカスレンズ33の位置情報に基づいて、フォーカスレンズ33のレンズ駆動量が算出され、算出されたレンズ駆動量がレンズ鏡筒3に送信される。なお、図5は、レンズ鏡筒3とカメラ本体2との情報の授受の一例を説明するための図である。
レンズメモリ37には、像面移動係数Kが記憶されている。像面移動係数Kとは、フォーカスレンズ33の駆動量と像面の移動量との対応関係を示す値であり、たとえば、フォーカスレンズ33の駆動量と像面の移動量との比である。
本実施形態において、像面移動係数は、たとえば、下記式(1)により求められ、像面移動係数Kが小さくなるほど、フォーカスレンズ33の駆動に伴う像面の移動量は大きくなる。
像面移動係数K=(フォーカスレンズ33の駆動量/像面の移動量) ・・・(1)
また、本実施形態のカメラ1においては、フォーカスレンズ33の駆動量が同じ場合であっても、フォーカスレンズ33のレンズ位置によっては、像面の移動量が異なるものとなる。同様に、フォーカスレンズ33の駆動量が同じ場合であっても、ズームレンズ32のレンズ位置、すなわち、焦点距離によっては、像面の移動量が異なるものとなる。すなわち、像面移動係数Kは、フォーカスレンズ33の光軸方向におけるレンズ位置、さらには、ズームレンズ32の光軸方向におけるレンズ位置に応じて変化するものであり、本実施形態において、レンズ制御部36は、フォーカスレンズ33のレンズ位置ごと、およびズームレンズ32のレンズ位置ごとに、像面移動係数Kを記憶している。
また、像面移動係数Kは、たとえば、像面移動係数K=(像面の移動量/フォーカスレンズ33の駆動量)のように定義をすることもできる。この場合、像面移動係数Kが大きくなるほど、フォーカスレンズ33の駆動に伴う像面の移動量は大きくなる。
ここで、図6に、ズームレンズ32のレンズ位置(焦点距離)およびフォーカスレンズ33のレンズ位置(撮影距離)と、像面移動係数Kとの関係を示すテーブルを示す。図6に示すテーブルにおいては、ズームレンズ32の駆動領域を、ワイド端からテレ端に向かって順に、「f1」〜「f9」の9つの領域に分けるとともに、フォーカスレンズ33の駆動領域を無限遠端から至近端に向かって順に、「D1」〜「D9」の9つの領域に分けて、各レンズ位置に対応する像面移動係数Kが記憶されている。たとえば、ズームレンズ32のレンズ位置(焦点距離)が「f1」にあり、フォーカスレンズ33のレンズ位置(撮影距離)が「D1」にある場合に、像面移動係数Kは「K11」となる。なお、図6に示すテーブルは、各レンズの駆動領域をそれぞれ9つの領域に分けるような態様を例示したが、その数は特に限定されず、任意に設定することができる。
次に、図6を用いて、最小像面移動係数Kminおよび最大像面移動係数Kmaxについて説明する。
最小像面移動係数Kminとは、像面移動係数Kの最小値に対応する値である。例えば、図6において、「K11」=「100」、「K12」=「200」、「K13」=「300」、「K14」=「400」、「K15」=「500」、「K16」=「600」、「K17」=「700」、「K18」=「800」、「K19」=「900」であったとき、最小の値である「K11」=「100」が最小像面移動係数Kminであり、最大の値である「K19」=「900」が最大像面移動係数Kmaxである。
最小像面移動係数Kminは、通常、ズームレンズ32の現在のレンズ位置に応じて変化する。また、最小像面移動係数Kminは、ズームレンズ32の現在のレンズ位置が変化しなければ、通常、フォーカスレンズ33の現在のレンズ位置が変化しても一定値(固定値)である。つまり、最小像面移動係数Kminは、通常、ズームレンズ32のレンズ位置(焦点距離)に応じて定まる固定値(一定値)であって、フォーカスレンズ33のレンズ位置(撮影距離)には依存しない値である。
たとえば、図6において、灰色で示した「K11」、「K21」、「K31」、「K41」、「K52」、「K62」、「K72」、「K82」、「K91」は、ズームレンズ32の各レンズ位置(焦点距離)における、像面移動係数Kのうち、最小となる値を示す最小像面移動係数Kminである。すなわち、ズームレンズ32のレンズ位置(焦点距離)が「f1」にある場合には、「D1」〜「D9」のうち、フォーカスレンズ33のレンズ位置(撮影距離)が「D1」にある場合の像面移動係数Kである「K11」が、最小の値を示す最小像面移動係数Kminとなる。したがって、フォーカスレンズ33のレンズ位置(撮影距離)が「D1」にある場合の像面移動係数Kである「K11」は、フォーカスレンズ33のレンズ位置(撮影距離)が「D1」〜「D9」にある場合の像面移動係数Kである「K11」〜「K19」の中で、最も小さな値を示すものとなる。また、同様に、ズームレンズ32のレンズ位置(焦点距離)が「f2」である場合も、フォーカスレンズ33のレンズ位置(撮影距離)が「D1」にある場合の像面移動係数Kである「K21」が、「D1」〜「D9」にある場合の像面移動係数Kである「K21」〜「K29」の中で、最も小さな値を示すものとなる。すなわち、「K21」が最小像面移動係数Kminとなる。以下、同様に、ズームレンズ32の各レンズ位置(焦点距離)が「f3」〜「f9」である場合でも、灰色で示した「K31」、「K41」、「K52」、「K62」、「K72」、「K82」、「K91」が、それぞれ最小像面移動係数Kminとなる。
同様に、最大像面移動係数Kmaxとは、像面移動係数Kの最大値に対応する値である。最大像面移動係数Kmaxは、通常、ズームレンズ32の現在のレンズ位置に応じて変化する。また、最大像面移動係数Kmaxは、通常、ズームレンズ32の現在のレンズ位置が変化しなければフォーカスレンズ33の現在のレンズ位置が変化しても一定値(固定値)である。たとえば、図6において、ハッチングを施して示した「K19」、「K29」、「K39」、「K49」、「K59」、「K69」、「K79」、「K89」、「K99」は、ズームレンズ32の各レンズ位置(焦点距離)における、像面移動係数Kのうち、最大となる値を示す最大像面移動係数Kmaxである。
このように、レンズメモリ37は、図6に示すように、ズームレンズ32のレンズ位置(焦点距離)、およびフォーカスレンズ33のレンズ位置(撮影距離)に対応する像面移動係数Kと、ズームレンズ32のレンズ位置(焦点距離)ごとに、像面移動係数Kのうち最小となる値を示す最小像面移動係数Kminと、ズームレンズ32のレンズ位置(焦点距離)ごとに、像面移動係数Kのうち最大となる値を示す最大像面移動係数Kmaxとを記憶している。
また、レンズメモリ37は、像面移動係数Kのうち最小となる値を示す最小像面移動係
数Kminの代わりに、最小像面移動係数Kminの近傍の値である最小像面移動係数Kmin’をレンズメモリ37に記憶していてもよい。たとえば、最小像面移動係数Kminの値が102.345という桁数の大きい数字であった場合、102.345の近傍の値である100を最小像面移動係数Kmin’として記憶することができる。レンズメモリ37に100(最小像面移動係数Kmin’)を記憶する場合、レンズメモリ37に102.345(最小像面移動係数Kmin)を記憶する場合と比較して、メモリの記憶容量を節約できるとともに、カメラ本体2への送信時に送信データの容量を抑えることができるからである。
また、たとえば、最小像面移動係数Kminの値が100という数字であった場合、後述するガタ詰め制御、静音制御(クリップ動作)、レンズ速度制御等の制御の安定性を考慮して、100の近傍の値である98を最小像面移動係数Kmin’として記憶することができる。たとえば、制御の安定性を考慮する場合には、実際の値(最小像面移動係数Kmin)の80%〜120%の範囲で最小像面移動係数Kmin’を設定することが好ましい。
また、本実施形態では、レンズメモリ37に、それぞれの駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxが記憶されている。ここで、図7は、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxを説明するための図である。なお、図7(A)は、図4(A)に示すように「FULLモード」が選択されている場合に設定される駆動可能範囲Rf1内における、フォーカスレンズ33の各レンズ位置における像面移動係数を示している。また、図7(B)は、図4(B)に示すように「至近側制限モード」が選択されている場合に設定される駆動可能範囲Rf2内における、フォーカスレンズ33の各レンズ位置における像面移動係数を示している。また、図7(C)は、図4(C)に示すように「無限遠側制限モード」が選択されている場合に設定される駆動可能範囲Rf3内における、フォーカスレンズ33の各レンズ位置における像面移動係数を示している。
たとえば、図7(A)に示すように、「FULLモード」が設定されている場合には、駆動可能範囲Rf1は、無限遠端ソフトリミットSLIPのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までの範囲となる。この場合、図6に示す例と同様に、フォーカスレンズ33の駆動領域は「D1」〜「D9」の9つの領域に分けることができる。そのため、レンズメモリ37には、ズームレンズ32のレンズ位置(焦点距離)が「f1」である場合の、駆動可能範囲Rf1に応じた最小像面移動係数Kminとして、「K11」〜「K19」のうち最も小さい「K11」を記憶しており、駆動可能範囲Rf1に応じた最大像面移動係数Kmaxとして、「K11」〜「K19」のうち最も大きい「K19」を記憶している。
一方、図7(B)に示すように、「至近側制限モード」が選択されている場合には、駆動可能範囲Rf2は、無限遠端ソフトリミットSLIPのレンズ位置から、至近側ソフトリミットSLNSまでの範囲となる。この場合、フォーカスレンズ33の駆動領域は「D1」〜「D5」の5つの領域に分けることができる。そのため、レンズメモリ37は、ズームレンズ32のレンズ位置(焦点距離)が「f1」である場合の、駆動可能範囲Rf2に応じた最小像面移動係数Kminとして、「K11」〜「K15」のうち最も小さい「K11」を記憶しており、駆動可能範囲Rf2に応じた最大像面移動係数Kmaxとして、「K11」〜「K15」のうち最も大きい「K15」を記憶している。
同様に、図7(C)に示すように、「無限遠側制限モード」が選択されている場合には、駆動可能範囲Rf3は、無限遠側ソフトリミットSLISのレンズ位置から、至近端ソフトリミットSLNPまでの範囲となる。この場合、フォーカスレンズ33の駆動領域は「D4」〜「D9」の6つの領域に分けることができる。そのため、レンズメモリ37は
、ズームレンズ32のレンズ位置(焦点距離)が「f1」である場合の、駆動可能範囲Rf3に応じた最小像面移動係数Kminとして、「K14」〜「K19」のうち最も小さい「K14」を記憶しており、駆動可能範囲Rf3に応じた最大像面移動係数Kmaxとして、「K14」〜「K19」のうち最も大きい「K19」を記憶している。
なお、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxは、通常、ズームレンズ32のレンズ位置(焦点距離)に応じて定まる固定値(一定値)であり、フォーカスレンズ33のレンズ位置(撮影距離)には依存しない値となる。
次に、カメラ本体2について説明する。カメラ本体2は、被写体からの光束を撮像素子22、ファインダ235、測光センサ237および焦点検出モジュール261へ導くためのミラー系220を備える。このミラー系220は、回転軸223を中心にして被写体の観察位置と撮像位置との間で所定角度だけ回転するクイックリターンミラー221と、このクイックリターンミラー221に軸支されてクイックリターンミラー221の回動に合わせて回転するサブミラー222とを備える。図2においては、ミラー系220が被写体の観察位置にある状態を実線で示し、被写体の撮像位置にある状態を二点鎖線で示す。
ミラー系220は、被写体の観察位置にある状態では光軸L1の光路上に挿入される一方で、被写体の撮像位置にある状態では光軸L1の光路から退避するように回転する。
クイックリターンミラー221はハーフミラーで構成され、被写体の観察位置にある状態では、被写体からの光束(光軸L1)の一部の光束(光軸L2,L3)を当該クイックリターンミラー221で反射してファインダ235および測光センサ237に導き、一部の光束(光軸L4)を透過させてサブミラー222へ導く。これに対して、サブミラー222は全反射ミラーで構成され、クイックリターンミラー221を透過した光束(光軸L4)を焦点検出モジュール261へ導く。
したがって、ミラー系220が観察位置にある場合は、被写体からの光束(光軸L1)はファインダ235、測光センサ237および焦点検出モジュール261へ導かれ、撮影者により被写体が観察されるとともに、露出演算やフォーカスレンズ33の焦点調節状態の検出が実行される。そして、撮影者がレリーズボタンを全押しするとミラー系220が撮影位置に回動し、被写体からの光束(光軸L1)は全て撮像素子22へ導かれ、撮影した画像データをメモリ24に保存する。
クイックリターンミラー221で反射された被写体からの光束(光軸L2)は、撮像素子22と光学的に等価な面に配置された焦点板231に結像し、ペンタプリズム233と接眼レンズ234とを介して観察可能になっている。このとき、透過型液晶表示器232は、焦点板231上の被写体像に焦点検出エリアマークなどを重畳して表示するとともに、被写体像外のエリアにシャッター速度、絞り値、撮影枚数などの撮影に関する情報を表示する。これにより、撮影者は、撮影準備状態において、ファインダ235を通して被写体およびその背景ならびに撮影関連情報などを観察することができる。
測光センサ237は、二次元カラーCCDイメージセンサなどで構成され、撮影の際の露出値を演算するため、撮影画面を複数の領域に分割して領域ごとの輝度に応じた測光信号を出力する。測光センサ237で検出された信号はカメラ制御部21へ出力され、自動露出制御に用いられる。
撮像素子22は、カメラ本体2の、被写体からの光束の光軸L1上であって、レンズ31,32,33,34を含む撮影光学系の予定焦点面に設けられ、その前面にシャッター23が設けられている。この撮像素子22は、複数の光電変換素子が二次元に配置された
ものであって、二次元CCDイメージセンサ、MOSセンサまたはCIDなどのデバイスから構成することができる。撮像素子22で光電変換された画像信号は、カメラ制御部21で画像処理されたのち、記録媒体であるカメラメモリ24に記録される。なお、カメラメモリ24は着脱可能なカード型メモリや内蔵型メモリの何れをも用いることができる。
また、カメラ制御部21は、撮像素子22から読み出した画素データに基づき、コントラスト検出方式による撮影光学系の焦点調節状態の検出(以下、適宜、「コントラストAF」とする。)を行う。たとえば、カメラ制御部21は、撮像素子22の出力を読み出し、読み出した出力に基づき、焦点評価値の演算を行う。この焦点評価値は、たとえば撮像素子22からの出力の高周波成分を、高周波透過フィルタを用いて抽出することで求めることができる。また、遮断周波数が異なる2つの高周波透過フィルタを用いて高周波成分を抽出することでも求めることができる。
そして、カメラ制御部21は、レンズ制御部36に駆動信号を送出してフォーカスレンズ33を所定のサンプリング間隔(距離)で駆動させ、それぞれの位置における焦点評価値を求め、該焦点評価値が最大となるフォーカスレンズ33の位置を合焦位置として求める、コントラスト検出方式による焦点検出を実行する。なお、この合焦位置は、たとえば、フォーカスレンズ33を駆動させながら焦点評価値を算出した場合に、焦点評価値が、2回上昇した後、さらに、2回下降して推移した場合に、これらの焦点評価値を用いて、内挿法などの演算を行うことで求めることができる。
ここで、図8は、コントラスト検出方式による焦点検出方法の一例を説明するための図である。図8に示す例では、フォーカスレンズ33が、図8に示すP0に位置しており、まず、P0から、所定のスキャン開始位置(図8中、P1の位置)まで、フォーカスレンズ33を駆動させる初期駆動が行われる。そして、フォーカスレンズ33を、スキャン開始位置から(図8中、P1の位置)、無限遠側から至近側に向けて駆動させながら、所定間隔で、コントラスト検出方式による焦点評価値の取得を行うスキャン駆動が行われる。そして、フォーカスレンズ33を、図8に示すP2の位置に移動させた時点において、焦点評価値のピーク位置(図8中、P3の位置)が合焦位置として検出され、検出された合焦位置(図8中、P3の位置)まで、フォーカスレンズ33を駆動させる合焦駆動が行われる。
コントラスト検出方式による焦点検出では、焦点評価値のサンプリング間隔は、フォーカスレンズ33の駆動速度が速くなるほど大きくなり、フォーカスレンズ33の駆動速度が所定速度を越えた場合には、焦点評価値のサンプリング間隔が大きくなり過ぎてしまい、合焦位置を適切に検出することができなくなってしまう。これは、焦点評価値のサンプリング間隔が大きくなるほど、合焦位置のばらつきが大きくなり合焦精度が低下する場合があるためである。そのため、カメラ制御部21は、フォーカスレンズ33を駆動させた際の像面の移動速度が、合焦位置を適切に検出することができる速度となるように、フォーカスレンズ33を駆動させる。たとえば、カメラ制御部21は、焦点評価値を検出するためにフォーカスレンズ33を駆動させる探索制御において、合焦位置を適切に検出することができるサンプリング間隔の像面移動速度のうち最大の像面駆動速度となるように、フォーカスレンズ33を駆動させる。探索制御とは、たとえば、ウォブリング、所定位置の近傍のみを探索する近傍サーチ(近傍スキャン)、フォーカスレンズ33の全駆動範囲を探索する全域サーチ(全域スキャン)を含む。
また、カメラ制御部21は、レリーズスイッチの半押しをトリガとして探索制御を開始する場合にはフォーカスレンズ33を高速で駆動させ、レリーズスイッチの半押し以外の条件をトリガとして探索制御を開始する場合にはフォーカスレンズ33を低速で駆動させてもよい。このように制御することにより、レリーズスイッチの半押しがされたときに高
速にコントラストAFを行い、レリーズスイッチの半押しがされていないときにはスルー画の見栄えが好適なコントラストAFを行うことができるからである。
さらに、カメラ制御部21は、静止画撮影モードにおける探索制御において、フォーカスレンズ33を高速で駆動させ、動画撮影モードにおける探索制御において、フォーカスレンズ33を低速で駆動させるように制御してもよい。このように制御することにより、静止画撮影モードでは高速にコントラストAFを行い、動画撮影モードでは動画の見栄えが好適なコントラストAFを行うことができるからである。
また、静止画撮影モードおよび動画撮影モードの少なくとも一方において、スポーツ撮影モードにおいては高速にコントラストAFを行い、風景撮影モードにおいては低速にコントラストAFを行ってもよい。さらに、焦点距離、撮影距離、絞り値等に応じて、探索制御におけるフォーカスレンズ33の駆動速度を変化させてもよい。
また、本実施形態では、位相差検出方式による焦点検出を行うこともできる。具体的には、カメラ本体2は、焦点検出モジュール261を備えており、焦点検出モジュール261は、撮像光学系の予定焦点面近傍に配置されたマイクロレンズと、このマイクロレンズに対して配置された光電変換素子とを有する画素が複数配列された、一対のラインセンサ(不図示)を有している。そして、フォーカスレンズ33の射出瞳の異なる一対の領域を通る一対の光束を、一対のラインセンサに配列された各画素で受光することで、一対の像信号を取得することができる。そして、一対のラインセンサで取得した一対の像信号の位相ずれを、周知の相関演算によって求めることにより焦点調節状態を検出する位相差検出方式による焦点検出を行うことができる。
操作部28は、動画撮影開始スイッチなどの撮影者がカメラ1の各種動作モードを設定するための入力スイッチであり、静止画撮影モード/動画撮影モードの切換、オートフォーカスモード/マニュアルフォーカスモードの切換が行えるようになっている。この操作部28により設定された各種モードはカメラ制御部21へ送出され、当該カメラ制御部21によりカメラ1全体の動作が制御される。また、シャッターレリーズボタンは、ボタンの半押しでONとなる第1スイッチSW1と、ボタンの全押しでONとなる第2スイッチSW2とを含む。
次いで、カメラ本体2とレンズ鏡筒3との間のデータの通信方法について説明する。
カメラ本体2には、レンズ鏡筒3が着脱可能に取り付けられるボディ側マウント部201が設けられている。また、図1に示すように、ボディ側マウント部201の近傍(ボディ側マウント部201の内面側)の位置には、ボディ側マウント部201の内面側に突出する接続部202が設けられている。この接続部202には複数の電気接点が設けられている。
一方、レンズ鏡筒3は、カメラ本体2に着脱可能な交換レンズであり、レンズ鏡筒3には、カメラ本体2に着脱可能に取り付けられるレンズ側マウント部301が設けられている。また、図1に示すように、レンズ側マウント部301の近傍(レンズ側マウント部301の内面側)の位置には、レンズ側マウント部301の内面側に突出する接続部302が設けられている。この接続部302には複数の電気接点が設けられている。
そして、カメラ本体2にレンズ鏡筒3が装着されると、ボディ側マウント部201に設けられた接続部202の電気接点と、レンズ側マウント部301に設けられた接続部302の電気接点とが、電気的かつ物理的に接続される。これにより、接続部202,302を介して、カメラ本体2からレンズ鏡筒3への電力供給や、カメラ本体2とレンズ鏡筒3
とのデータ通信が可能となる。
図9は接続部202,302の詳細を示す模式図である。なお、図9において接続部202がボディ側マウント部201の右側に配置されているのは、実際のマウント構造に倣ったものである。すなわち、本実施形態の接続部202は、ボディ側マウント部201のマウント面よりも奥まった場所(図9においてボディ側マウント部201よりも右側の場所)に配置されている。同様に、接続部302がレンズ側マウント部301の右側に配置されているのは、本実施形態の接続部302がレンズ側マウント部301のマウント面よりも突出した場所に配置されていることを表している。接続部202と接続部302とがこのように配置されることで、ボディ側マウント部201のマウント面とレンズ側マウント部301のマウント面とを接触させて、カメラ本体2とレンズ鏡筒3とをマウント結合させた場合に、接続部202と接続部302とが接続され、これにより、両方の接続部202,302に設けられている電気接点同士が接続する。
図9に示すように、接続部202にはBP1〜BP12の12個の電気接点が存在する。またレンズ3側の接続部302には、カメラ本体2側の12個の電気接点にそれぞれ対応するLP1〜LP12の12個の電気接点が存在する。
電気接点BP1および電気接点BP2は、カメラ本体2内の第1電源回路230に接続されている。第1電源回路230は、電気接点BP1および電気接点LP1を介して、レンズ鏡筒3内の各部(ただし、レンズ駆動モータ321,331などの消費電力が比較的大きい回路を除く)に動作電圧を供給する。電気接点BP1および電気接点LP1を介して、第1電源回路230により供給される電圧値は、特に限定されず、たとえば3〜4Vの電圧値(標準的には、この電圧幅の中間にある3.5V近傍の電圧値)とすることができる。この場合、カメラ本体側2からレンズ鏡筒側3に供給される電流値は、電源オン状態において、約数10mA〜数100mAの範囲内の電流値となる。また、電気接点BP2および電気接点LP2は、電気接点BP1および電気接点LP1を介して供給される上記動作電圧に対応する接地端子である。
電気接点BP3〜BP6は、カメラ側第1通信部291に接続されており、これら電気接点BP3〜BP6に対応して、電気接点LP3〜LP6が、レンズ側第1通信部381に接続されている。そして、カメラ側第1通信部291とレンズ側第1通信部381とは、これらの電気接点を用いて互いに信号の送受信を行う。なお、カメラ側第1通信部291とレンズ側第1通信部381とが行う通信の内容については、後に詳述する。
電気接点BP7〜BP10は、カメラ側第2通信部292に接続されており、これら電気接点BP7〜BP10に対応して、電気接点LP7〜LP10が、レンズ側第2通信部382に接続されている。そして、カメラ側第2通信部292とレンズ側第2通信部382とは、これらの電気接点を用いて互いに信号の送受信を行う。なお、カメラ側第2通信部292とレンズ側第2通信部382とが行う通信の内容については、後に詳述する。
電気接点BP11および電気接点BP12は、カメラ本体2内の第2電源回路240に接続されている。第2電源回路240は、電気接点BP11および電気接点LP11を介して、レンズ駆動モータ321,331などの消費電力が比較的大きい回路に動作電圧を供給する。第2電源回路240により供給される電圧値は、特に限定されないが、第2電源回路240により供給される電圧値の最大値は、第1電源回路230により供給される電圧値の最大値の数倍程度とすることができる。また、この場合、第2電源回路240からレンズ鏡筒3側に供給される電流値は、電源オン状態において、約数10mA〜数Aの範囲内の電流値となる。また、電気接点BP12および電気接点LP12は、電気接点BP11および電気接点LP11を介して供給される上記動作電圧に対応する接地端子であ
る。
なお、図9に示すカメラ本体2側の第1通信部291および第2通信部292は、図2に示すカメラ送受信部29を構成し、図9に示すレンズ鏡筒3側の第1通信部381および第2通信部382は、図2に示すレンズ送受信部39を構成する。
次に、カメラ側第1通信部291とレンズ側第1通信部381との通信(以下、コマンドデータ通信という)について説明する。レンズ制御部36は、電気接点BP3およびLP3から構成される信号線CLKと、電気接点BP4およびLP4から構成される信号線BDATと、電気接点BP5およびLP5から構成される信号線LDATと、電気接点BP6およびLP6から構成される信号線RDYとを介して、カメラ側第1通信部291からレンズ側第1通信部381への制御データの送信と、レンズ側第1通信部381からカメラ側第1通信部291への応答データの送信とを、並行して、所定の周期(たとえば、16ミリ秒間隔)で行う、コマンドデータ通信を行う。
図10は、コマンドデータ通信の一例を示すタイミングチャートである。カメラ制御部21およびカメラ側第1通信部291は、コマンドデータ通信の開始時(T1)に、まず、信号線RDYの信号レベルを確認する。ここで、信号線RDYの信号レベルはレンズ側第1通信部381の通信可否を表しており、通信不可の場合には、レンズ制御部36およびレンズ側第1通信部381により、H(High)レベルの信号が出力される。カメラ側第1通信部291は、信号線RDYがHレベルである場合には、レンズ鏡筒3との通信を行わず、または、通信中である場合にも、次の処理を実行しない。
一方、信号線RDYがL(LOW)レベルである場合、カメラ制御部21およびカメラ側第1通信部291は、信号線CLKを用いて、クロック信号401をレンズ側第1通信部381に送信する。また、カメラ制御部21およびカメラ側第1通信部291は、このクロック信号401に同期して、信号線BDATを用いて、制御データであるカメラ側コマンドパケット信号402をレンズ側第1通信部381に送信する。また、クロック信号401が出力されると、レンズ制御部36およびレンズ側第1通信部381は、このクロック信号401に同期して、信号線LDATを用いて、応答データであるレンズ側コマンドパケット信号403を送信する。
レンズ制御部36およびレンズ側第1通信部381は、レンズ側コマンドパケット信号403の送信完了に応じて、信号線RDYの信号レベルをLレベルからHレベルに変更する(T2)。そして、レンズ制御部36は、時刻T2までに受信したカメラ側コマンドパケット信号402の内容に応じて、第1制御処理404を開始する。
たとえば、受信したカメラ側コマンドパケット信号402が、レンズ鏡筒3側の特定のデータを要求する内容であった場合、レンズ制御部36は、第1制御処理404として、コマンドパケット信号402の内容を解析するとともに、要求された特定データを生成する処理を実行する。さらに、レンズ制御部36は、第1制御処理404として、コマンドパケット信号402に含まれているチェックサムデータを用いて、コマンドパケット信号402の通信にエラーがないか否かをデータバイト数から簡易的にチェックする通信エラーチェック処理をも実行する。この第1制御処理404で生成された特定データの信号は、レンズ側データパケット信号407としてカメラ本体2側に出力される(T3)。なお、この場合においてコマンドパケット信号402の後でカメラ本体2側から出力されるカメラ側データパケット信号406は、レンズ側にとっては特に意味をなさないダミーデータ (チェックサムデータは含む)となっている。この場合には、レンズ制御部36は、第
2制御処理408として、カメラ側データパケット信号406に含まれるチェックサムデータを用いた、上述の如き通信エラーチェック処理を実行する(T4)。
また、たとえば、カメラ側コマンドパケット信号402が、フォーカスレンズ33の駆動指示であり、カメラ側データパケット信号406がフォーカスレンズ33の駆動速度および駆動量であった場合、レンズ制御部36は、第1制御処理404として、コマンドパケット信号402の内容を解析するとともに、その内容を理解したことを表す確認信号を生成する(T2)。この第1制御処理404で生成された確認信号は、レンズ側データパケット信号407としてカメラ本体2に出力される(T3)。またレンズ制御部36は、第2制御処理408として、カメラ側データパケット信号406の内容の解析を実行するとともに、カメラ側データパケット信号406に含まれるチェックサムデータを用いて通信エラーチェック処理を実行する(T4)。そして、第2制御処理408の完了後、レンズ制御部36は、受信したカメラ側データパケット信号406、すなわち、フォーカスレンズ33の駆動速度および駆動量に基づいて、フォーカスレンズ駆動モータ331を駆動させることで、フォーカスレンズ33を、受信した駆動速度で、受信した駆動量だけ駆動させる(T5)。
また、レンズ制御部36は、第2制御処理408が完了すると、レンズ側第1通信部381に第2制御処理408の完了を通知する。これにより、レンズ制御部36は、信号線RDYにLレベルの信号を出力する(T5)。
上述した時刻T1〜T5の間に行われた通信が、 1回のコマンドデータ通信である。
上述のように、1回のコマンドデータ通信では、カメラ制御部21およびカメラ側第1通信部291により、カメラ側コマンドパケット信号402およびカメラ側データパケット信号406がそれぞれ1つずつ送信される。このように、本実施形態では、カメラ本体2からレンズ鏡筒3に送信される制御データは、処理の都合上2つに分割されて送信されているが、カメラ側コマンドパケット信号402およびカメラ側データパケット信号406は2つ合わせて1つの制御データを構成するものである。
同様に、1回のコマンドデータ通信では、レンズ制御部36およびレンズ側第1通信部381によりレンズ側コマンドパケット信号403およびレンズ側データパケット信号407がそれぞれ1つずつ送信される。このように、レンズ鏡筒3からカメラ本体2に送信される応答データも2つに分割されているが、レンズ側コマンドパケット信号403とレンズ側データパケット信号407とも2つ合わせて1つの応答データを構成する。
次に、カメラ側第2通信部292とレンズ側第2通信部382との通信(以下、ホットライン通信という)について説明する。図9に戻り、レンズ制御部36は、電気接点BP7およびLP7から構成される信号線HREQ、電気接点BP8およびLP8から構成される信号線HANS、電気接点BP9およびLP9から構成される信号線HCLK、電気接点BP10およびLP10から構成される信号線HDATを介して、コマンドデータ通信よりも短い周期(たとえば1ミリ秒間隔)で通信を行うホットライン通信を行う。
たとえば、本実施形態では、ホットライン通信により、レンズ鏡筒3のレンズ情報が、レンズ鏡筒3からカメラ本体2に送信される。なお、ホットライン通信により送信されるレンズ情報には、フォーカスレンズ33のレンズ位置、ズームレンズ32のレンズ位置、現在位置像面移動係数Kcur、最小像面移動係数Kmin、最大像面移動係数Kmax、およびフォーカスリミット情報が含まれる。ここで、現在位置像面移動係数Kcurとは、現在のズームレンズ32のレンズ位置(焦点距離)および現在のフォーカスレンズ33のレンズ位置(撮影距離)に対応した像面移動係数Kである。本実施形態において、レンズ制御部36は、レンズメモリ37に記憶された、レンズ位置(ズームレンズ位置およびフォーカスレンズ位置)と像面移動係数Kとの関係を示すテーブルを参照することで、ズームレンズ32の現在のレンズ位置およびフォーカスレンズ33の現在のレンズ位置に
対応する現在位置像面移動係数Kcurを求めることができる。たとえば、図6に示す例において、ズームレンズ32のレンズ位置(焦点距離)が「f1」にあり、フォーカスレンズ33のレンズ位置(撮影距離)が「D4」にある場合には、レンズ制御部36は、ホットライン通信により、現在位置像面移動係数Kcurとして「K14」をカメラ制御部21に送信する。
また、本実施形態において、レンズ制御部36は、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxを、ホットライン通信によりカメラ制御部21に送信する。たとえば、図6に示す例において、図7(A)に示すように、フォーカスリミットモードが「FULLモード」に設定されている場合において、ズームレンズ32のレンズ位置(焦点距離)が「f1」にある場合には、レンズ制御部36は、ホットライン通信により、最小像面移動係数Kminとして「K11」を、最大像面移動係数Kmaxとして「K19」をカメラ制御部21に送信する。一方、図6に示す例において、図7(C)に示すように、フォーカスリミットモードが「無限遠側制限モード」に設定されている場合において、ズームレンズ32のレンズ位置(焦点距離)が「f1」にある場合には、レンズ制御部36は、ホットライン通信により、最小像面移動係数Kminとして「K14」を、最大像面移動係数Kmaxとして「K19」をカメラ制御部21に送信する。
図11は、ホットライン通信の一例を示すタイミングチャートである。図11(a)は、ホットライン通信が所定周期Tn毎に繰り返し実行されている様子を示す図である。また、繰り返し実行されるホットライン通信のうち、ある1回の通信の期間Txを拡大した様子を図11(b)に示す。以下、図11(b)のタイミングチャートに基づいて、フォーカスレンズ33のレンズ位置をホットライン通信で通信する場面を説明する。
カメラ制御部21およびカメラ側第2通信部292は、まず、ホットライン通信による通信を開始するために、信号線HREQにLレベルの信号を出力する(T6)。そして、レンズ側第2通信部382は、この信号が電気接点LP7に入力されたことを、レンズ制御部36に通知する。レンズ制御部36は、この通知に応じて、レンズ位置データを生成する生成処理501の実行を開始する。生成処理501とは、レンズ制御部36がフォーカスレンズ用エンコーダ332にフォーカスレンズ33の位置を検出させ、検出結果を表すレンズ位置データを生成する処理である。
レンズ制御部36が生成処理501を実行完了すると、レンズ制御部36およびレンズ側第2通信部382は信号線HANSにLレベルの信号を出力する(T7)。そして、カメラ制御部21およびカメラ側第2通信部292は、この信号が電気接点BP8に入力されると、電気接点BP9から信号線HCLKに、クロック信号502を出力する。
レンズ制御部36およびレンズ側第2通信部382は、このクロック信号502に同期して、電気接点LP10から信号線HDATに、レンズ位置データを表すレンズ位置データ信号503を出力する。そして、レンズ位置データ信号503の送信が完了すると、レンズ制御部36およびレンズ側第2通信部382は電気接点LP8から信号線HANSにHレベルの信号を出力する(T8)。そして、カメラ側第2通信部292は、この信号が電気接点BP8に入力されると、電気接点LP7から信号線HREQに、Hレベルの信号を出力する(T9)。
なお、コマンドデータ通信とホットライン通信は、同時に、あるいは、並行して実行することが可能である。
次いで、図12を参照して、第1実施形態に係るレンズ情報送信処理について説明する
。図12は、第1実施形態に係るレンズ情報送信処理を示すフローチャートである。なお、以下の動作は、レンズ制御部36により、ホットライン通信が開始された後に、所定の間隔で繰り返し実行される。
まず、ステップS101では、レンズ制御部36により、フォーカスリミット情報およびフォーカスレンズ33の現在レンズ位置の情報の取得が行われる。また、ステップS102では、レンズ制御部36により、ステップS101で取得したフォーカスリミット情報およびフォーカスレンズ33の現在レンズ位置に基づいて、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在するか否かの判断が行われる。
例えば、「FULLモード」の場合、レンズ鏡筒3は、フォーカスレンズ位置が、無限遠端ソフトリミットSLIPのレンズ位置と至近端ソフトリミットSLNPのレンズ位置との範囲内にあれば、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在すると判断し、無限遠端ソフトリミットSLIPのレンズ位置と至近端ソフトリミットSLNPのレンズ位置との範囲内になければ、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在すると判断しない。
同様に、「至近側制限モード」の場合、レンズ鏡筒3は、フォーカスレンズ位置が、無限遠端ソフトリミットSLIPのレンズ位置と至近側ソフトリミットSLNSのレンズ位置との範囲内にあるか否かを判断する。「無限遠側制限モード」の場合、レンズ鏡筒3は、フォーカスレンズ位置が、無限遠側ソフトリミットSLISのレンズ位置と至近端ソフトリミットSLNPのレンズ位置との範囲内にあるか否かを判断する。
ここで、レンズ制御部36は、通常、フォーカスレンズ33を、駆動可能範囲の内側において駆動させる。そのため、レンズ制御部36は、通常、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在すると判断することとなる。一方、たとえば、ユーザがフォーカスリミットスイッチ38を操作してフォーカスリミットモードを変更することで、駆動可能範囲が変更された場合には、フォーカスレンズ33のレンズ位置が一時的に駆動可能範囲の外側になる場合がある。ここで、図13および図14を参照して、フォーカスレンズ33のレンズ位置が駆動可能範囲の外側になる場合について説明する。
図13および図14は、フォーカスレンズ33のレンズ位置と、像面移動係数と、駆動可能範囲との関係の一例を示す図である。また、図13および図14では、図6に示す例のうち、ズームレンズ32のレンズ位置(焦点距離)が「f1」にある場面を例示している。
たとえば、図13(A)に示す例では、フォーカスリミットモードとして「FULLモード」が設定されており、無限遠端ソフトリミットSLIPのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までの範囲が、駆動可能範囲Rf1として設定されている。また、図13(A)に示す例では、フォーカスレンズ33の現在レンズ位置が、駆動可能範囲Rf1の領域D6内にある。この場合、たとえばユーザがフォーカスリミットスイッチ38を操作して、フォーカスリミットモードを「FULLモード」から「無限遠側制限モード」に変更した場合、図13(B)に示すように、無限遠側ソフトリミットSLISのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までの範囲が駆動可能範囲Rf3として設定される。この場合、図13(B)に示すように、フォーカスレンズ33のレンズ位置は、駆動可能範囲Rf3の内側である。そのため、ステップS102において、レンズ制御部36は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在すると判断する。
これに対して、図14(A)に示す例では、フォーカスレンズ33のレンズ位置が、駆動可能範囲Rf1の領域D2内にある。この場合に、たとえばユーザがフォーカスリミットスイッチ38を操作して、フォーカスリミットモードを「FULLモード」から「無限
遠側制限モード」へと変更した場合、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置は、駆動可能範囲Rf3の外側となる。そのため、ステップS102において、レンズ制御部36は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側に存在すると判断する。このように、フォーカスレンズ33の駆動可能範囲を変更したタイミングで、フォーカスレンズ33が一時的に駆動可能範囲の外側に存在することとなる場合がある。
そして、ステップS102において、フォーカスレンズ33の現在レンズ位置が、駆動可能範囲の内側であるか、外側であるか否かの判断を行った結果、図13(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側であると判断された場合には、ステップS103に進む。一方、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側であると判断された場合には、ステップS105に進む。
ステップS103では、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側であると判断されているため、レンズ制御部36により、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxが、カメラ本体2に送信する最小像面移動係数Kminおよび最大像面移動係数Kmaxとして決定される。たとえば、図13(A)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲Rf1の内側にある場合には、駆動可能範囲Rf1に応じた最小像面移動係数Kmin=「K11」と、最大像面移動係数Kmax=「K19」とが、カメラ本体2に送信する最小像面移動係数Kminおよび最大像面移動係数Kmaxとして決定される。
また、図13(B)に示すように、フォーカスレンズ33の駆動可能範囲が変更された場合でも、変更後のフォーカスレンズ33のレンズ位置は駆動可能範囲Rf3の内側にある。ここで、図13(B)に示す例では、レンズメモリ37に、駆動可能範囲Rf3の各レンズ位置における複数の像面移動係数「K14」〜「K19」のうち、「K14」が最小像面移動係数Kminとして記憶されており、「K19」が最大像面移動係数Kmaxとして記憶されている。そのため、駆動可能範囲Rf3に応じた最小像面移動係数Kminである「K14」と、駆動可能範囲Rf3に応じた最大像面移動係数Kmaxである「K19」とが、カメラ本体2に送信する最小像面移動係数Kminおよび最大像面移動係数Kmaxとして決定される。
そして、ステップS104では、レンズ制御部36により、ステップS103で決定された最小像面移動係数Kminおよび最大像面移動係数Kmaxと、フォーカスレンズ33の現在レンズ位置における現在位置像面移動係数Kcurと、フォーカスリミット情報と、フォーカスレンズ位置と、ズームレンズ位置とを含むレンズ情報が、カメラ制御部21に送信される。なお、上述したように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側である場合には、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxが、カメラ制御部21に送信される。また、レンズ制御部36は、これらのレンズ情報を、ホットライン通信によりカメラ制御部21に送信する。
一方、ステップS102において、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側であると判断された場合には、ステップS105に進む。ステップS105では、レンズ制御部36により、フォーカスリミットモードとして「無限遠側制限モード」が設定されているか否かの判断が行われる。「無限遠側制限モード」が設定されている場合にはステップS106に進み、一方、「至近側制限モード」が設定されている場合にはステップS108に進む。
ステップS106では、図14(B)に示すように、フォーカスリミットモードが「無
限遠側制限モード」に設定されたことで、フォーカスレンズ33の現在レンズ位置が一時的に駆動可能範囲Rf3の外側になったものと考えられる。また、この場合には、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置は、フォーカスレンズ33の駆動可能範囲Rf3よりも無限遠側にあるものと判断できる。たとえば、図14(B)に示す例においては、フォーカスレンズ33の現在レンズ位置が領域「D2」にあり、駆動可能範囲Rf3の最も至近側のレンズ位置が領域「D9」である。この場合、レンズ制御部36はレンズ位置の領域D2〜D9の像面移動係数のうち最も小さい現在位置像面移動係数Kcur「K12」を、カメラ本体2に送信する最小像面移動係数Kminとして決定する。
さらに、続くステップS107では、レンズ制御部36により、駆動可能範囲に応じた最大像面移動係数Kmaxが、カメラ本体2に送信する最大像面移動係数Kmaxとして決定される。たとえば、図14(B)に示す例においては、フォーカスレンズ33の現在レンズ位置が領域「D2」にあり、駆動可能範囲Rf3の最も至近側のレンズ位置が領域「D9」である。この場合、レンズ制御部36はレンズ位置の領域D2〜D9の像面移動係数のうち最も大きい駆動可能範囲Rf3の最も至近側のレンズ位置の像面移動係数「K19」を、カメラ本体2に送信する最大像面移動係数Kmax(駆動可能範囲Rf3に応じた最大像面移動係数Kmax)として決定する。
そして、ステップS104に進み、ステップS106で決定された最小像面移動係数Kminと、ステップS107で決定された最大像面移動係数Kmaxと、現在位置像面移動係数Kcurと、フォーカスリミット情報と、フォーカスレンズ位置と、ズームレンズ位置とを含むレンズ情報が、ホットライン通信を介して、カメラ制御部21に送信される。
一方、ステップS105において、「至近側制限モード」が設定されていると判断された場合にはステップS108に進む。この場合、フォーカスリミットモードが「至近側制限モード」に設定されたことで、フォーカスレンズ33の現在レンズ位置が一時的に駆動可能範囲Rf2の外側になったものと考えられる。また、この場合には、フォーカスレンズ33の現在レンズ位置は、フォーカスレンズ33の駆動可能範囲Rf2よりも至近側にあるものと判断できる。たとえば、フォーカスレンズ33の現在レンズ位置が領域「D8」にあり、駆動可能範囲Rf2の最も無限遠側のレンズ位置が領域「D1」である場合(図示せず)、レンズ制御部36はレンズ位置の領域D1〜D8の像面移動係数のうち最も大きい現在位置像面移動係数Kcur「K18」を、カメラ本体2に送信する最大像面移動係数Kmaxとして決定する。また、続くステップS109において、フォーカスレンズ33の現在レンズ位置が領域「D8」にあり、駆動可能範囲Rf2の最も無限遠側のレンズ位置が領域「D1」である場合、レンズ制御部36は、レンズ位置の領域D1〜D8の像面移動係数のうち最も小さい駆動可能範囲Rf2の最も無限遠側のレンズ位置の像面移動係数「K11」をカメラ本体2に送信する最小像面移動係数Kmin(駆動可能範囲Rf2に応じた最小像面移動係数Kmin)として決定する。
そして、ステップS104に進み、ステップS108で決定された最大像面移動係数Kmaxと、ステップS109で決定された最小像面移動係数Kminと、現在位置像面移動係数Kcurと、フォーカスリミット情報と、フォーカスレンズ位置と、ズームレンズ位置とを含むレンズ情報が、ホットライン通信を介して、カメラ制御部21に送信される。
次に、図15を参照して、本実施形態に係るカメラ1の動作例を説明する。図15は、本実施形態に係るカメラ1の動作を示すフローチャートである。なお、以下の動作は、カメラ1の電源がオンされることにより開始される。
まず、ステップS201においては、カメラ本体2がレンズ鏡筒3を識別するための通信を行う。レンズ鏡筒の種類に応じて通信可能な通信形式が異なるからである。そして、ステップS202に進み、ステップS202では、撮影者により操作部28に備えられたライブビュー撮影オン/オフスイッチをオンに操作がされたか否かの判定を行い、ライブビュー撮影オンとされると、ミラー系220が被写体の撮影位置になり、被写体からの光束が、撮像素子22に導かれる。
ステップS203では、カメラ本体2とレンズ鏡筒3との間でホットライン通信が開始される。ホットライン通信では、上述したように、カメラ制御部21およびカメラ側第2通信部292により、信号線HREQに出力されたLレベルの信号(要求信号)がレンズ制御部36に送信される。これにより、レンズ制御部36は、レンズ情報をカメラ制御部21に送信し、カメラ制御部21は、レンズ制御部36から送信されたレンズ情報を受信する。また、レンズ制御部36は、要求信号をカメラ制御部21に繰り返し送信することで、カメラ制御部21は、レンズ情報をカメラ制御部21から繰り返し受信する。なお、レンズ情報には、たとえば、フォーカスレンズ33のレンズ位置、ズームレンズ32のレンズ位置、現在位置像面移動係数Kcur、最小像面移動係数Kmin、最大像面移動係数Kmax、およびフォーカスリミット情報の各情報が含まれる。また、ホットライン通信は、ステップS203以降、たとえば電源スイッチがオフされるまで繰り返し行われる。
また、本実施形態において、レンズ制御部36は、図12に示すレンズ情報送信処理により、最小像面移動係数Kminおよび最大像面移動係数Kmaxをカメラ制御部21に送信する。すなわち、レンズ制御部36は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側である場合には、駆動可能範囲に応じた最小像面移動係数Kminおよび最大像面移動係数Kmaxをカメラ制御部21に送信する。一方、レンズ制御部36は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合において、「無限遠側制限モード」が設定されている場合には、駆動可能範囲Rf3に応じた最大像面移動係数Kmaxをカメラ制御部21に送信するとともに、現在位置像面移動係数Kcurを最小像面移動係数Kminとしてカメラ制御部21に送信する。さらに、レンズ制御部36は、「至近側制限モード」が設定されている場合には、駆動可能範囲Rf2に応じた最小像面移動係数Kminをカメラ制御部21に送信するとともに、現在位置像面移動係数Kcurを最大像面移動係数Kmaxとしてカメラ制御部21に送信する。これにより、カメラ制御部21は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合と、内側である場合とで、異なる最小像面移動係数Kminまたは最大像面移動係数Kmaxを受信することとなる。
さらに、本実施形態において、カメラ制御部21は、フォーカスリミット情報をレンズ制御部36から受信する。たとえば、図4(B)に示す「至近側制限モード」が設定されている場合には、カメラ制御部21は、フォーカスリミット情報として、「至近側制限モード」における駆動可能範囲Rf2のリミット位置の基準となる無限遠端ソフトリミットSLIPおよび至近側ソフトリミットSLNSを、レンズ制御部36から受信する。
ステップS204では、撮影者により操作部28に備えられたレリーズボタンの半押し操作(第1スイッチSW1のオン)、あるいは、AF起動操作等が行われた否かの判定を行い、これらの動作が行われた場合に、ステップS205に進む(以下においては、半押し操作がされた場合について詳細に説明する)。
ステップS205では、カメラ制御部21により、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側であるか否かの判断が行われる。たとえば、カメラ制御部21
は、ステップS203で取得した、フォーカスレンズ33の現在レンズ位置およびフォーカスリミット情報に基づいて、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側であるか否かを判断する。図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合には、ステップS206に進み、フォーカスレンズ33を駆動可能範囲の内側まで移動させる復帰駆動が実行される。
すなわち、ステップS206において、カメラ制御部21は、フォーカスレンズ33を現在レンズ位置から駆動可能範囲の内側まで移動させるための指示を行い、これにより、レンズ制御部36は、フォーカスレンズ33を駆動可能範囲の内側まで駆動させる復帰駆動を行う。また、カメラ制御部21は、当該復帰駆動において、フォーカスレンズ33を駆動可能範囲の外側から内側に移動させながら、所定のレンズ間隔で、コントラスト検出方式による焦点評価値を算出する。このように算出した焦点評価値は、フォーカスレンズ33が駆動可能範囲の内側に移動した後に、合焦位置が存在する方向を判断する場合などに用いることができる。なお、復帰駆動では、後述するスキャン駆動とは異なり、合焦位置の検出は行われない(復帰駆動中に得られた焦点評価値を用いた合焦位置の検出、及び、フォーカスレンズ33を合焦位置に駆動する合焦駆動制御は行わない)。そのため、復帰駆動では、後述する合焦位置を適切に検出できる駆動速度よりも速い速度で、フォーカスレンズ33を駆動させることができる。
また、続くステップS207では、カメラ制御部21により、最新の最小像面移動係数Kminおよび最大像面移動係数Kmaxの受信が行われる。すなわち、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合には、カメラ制御部21は、現在位置像面移動係数Kcurを、最小像面移動係数Kminまたは最大像面移動係数Kmaxとして、レンズ制御部36から受信する(図12参照)。一方で、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合には、フォーカスレンズ33を駆動可能範囲の内側に向けて駆動させる復帰駆動が行われるため、フォーカスレンズ33のレンズ位置の変化に応じて、現在位置像面移動係数Kcurが変化する。そのため、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合には、レンズ制御部36から送信される最小像面移動係数Kminまたは最大像面移動係数Kmaxは次第に変化することとなる。そのため、カメラ制御部21は、フォーカスレンズ33が駆動可能範囲の内側に駆動するまでは、フォーカスレンズ33を駆動可能範囲の内側に向けて駆動させる復帰駆動を行いながら、このステップS207において、フォーカスレンズ33の最新のレンズ位置における現在位置像面移動係数Kcurを、最新の最小像面移動係数Kminまたは最大像面移動係数Kmaxとして、レンズ制御部36から受信する。
たとえば、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲Rf3よりも無限遠側にある場合には、フォーカスレンズ33を至近側に駆動させて、駆動可能範囲Rf3まで駆動させる復帰駆動が実行される。この場合、カメラ制御部21は、図14(B)に示すように、フォーカスレンズ33のレンズ位置が領域「D2」にある場合には、現在位置像面移動係数Kcur「K12」を最小像面移動係数Kminとして受信する。また、その後、フォーカスレンズ33が至近側に進み、図14(C)に示すように、フォーカスレンズ33のレンズ位置が領域「D3」になると、カメラ制御部21は、現在位置像面移動係数Kcur「K13」を最小像面移動係数Kminとして受信する。さらに、フォーカスレンズ33が至近側に進み、図14(D)に示すように、フォーカスレンズ33が領域「D4」まで駆動し、フォーカスレンズ33のレンズ位置が駆動可能範囲内となると、カメラ制御部21は、駆動可能範囲に応じた最小像面移動係数Kmin「K14」を、レンズ制御部36から受信する。
そして、フォーカスレンズ33が駆動可能範囲の内側に到達すると、ステップS205
において、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側であると判断され、復帰駆動を終了し、後述するスキャン駆動を実行するために、ステップS208に進む。
ステップS208では、カメラ制御部21はコントラスト検出方式による焦点検出を行うためにレンズ制御部36にスキャン駆動指令(スキャン駆動の開始指示)を送信する。レンズ制御部36に対するスキャン駆動指令(スキャン駆動時の駆動速度の指示、または、駆動位置の指示)は、フォーカスレンズ33の駆動速度で与えてもよいし、像面移動速度で与えてもよいし、目標駆動位置等で与えてもよい。
そして、ステップS209では、カメラ制御部21により、ステップS203またはステップS207で取得した最小像面移動係数Kminに基づいて、スキャン動作におけるフォーカスレンズ33の駆動速度である、スキャン駆動速度Vを決定する処理が行われる。
スキャン動作とは、フォーカスレンズ駆動モータ331により、フォーカスレンズ33を、このステップS209で決定するスキャン駆動速度Vで駆動させながら、カメラ制御部21により、コントラスト検出方式による焦点評価値の算出を、所定の間隔で同時に行い、これにより、コントラスト検出方式による合焦位置の検出を、所定の間隔で実行する動作である。
また、このスキャン動作においては、コントラスト検出方式により合焦位置を検出する際には、カメラ制御部21は、フォーカスレンズ33をスキャン駆動させながら、所定のサンプリング間隔で、焦点評価値を算出し、算出した焦点評価値がピークとなるレンズ位置を、合焦位置として検出する。具体的には、カメラ制御部21は、フォーカスレンズ33をスキャン駆動させることで、光学系による像面を光軸方向に移動させ、これにより、異なる像面において焦点評価値を算出し、これら焦点評価値がピークとなるレンズ位置を、合焦位置として検出する。しかしその一方で、像面の移動速度を速くし過ぎると、焦点評価値を算出する像面の間隔が大きくなり過ぎてしまい、合焦位置を適切に検出することができなくなってしまう場合がある。特に、フォーカスレンズ33の駆動量に対する像面の移動量を示す像面移動係数Kは、フォーカスレンズ33の光軸方向におけるレンズ位置に応じて変化するものであるため、フォーカスレンズ33を一定の速度で駆動させた場合でも、フォーカスレンズ33のレンズ位置によっては、像面の移動速度が速くなり過ぎてしまい、そのため、焦点評価値を算出する像面の間隔が大きくなり過ぎて、合焦位置を適切に検出することができなくなってしまう場合がある。
そこで、本実施形態において、カメラ制御部21は、レンズ制御部36から受信した最新の最小像面移動係数Kminに基づいて、フォーカスレンズ33のスキャン駆動を行う際におけるスキャン駆動速度Vを算出する。カメラ制御部21は、最小像面移動係数Kminを用いて、コントラスト検出方式により合焦位置を適切に検出することができるような駆動速度であり、かつ、最大の駆動速度となるようにスキャン駆動速度Vを算出する。なお、本実施形態では、フォーカスレンズ33が駆動可能範囲の内側に存在する場合に(ステップS205=Yes)、スキャン駆動が実行される。この場合、図12に示すレンズ情報送信処理により、駆動可能範囲に応じた最小像面移動係数Kminが、カメラ制御部21へと送信されることとなる。そのため、駆動可能範囲に応じた最小像面移動係数Kminを用いて、スキャン駆動速度Vが決定され、フォーカスレンズ33の駆動可能範囲内において、スキャン駆動が実行されることとなる。
そして、ステップS210では、ステップS209で決定したスキャン駆動速度Vで、スキャン動作が開始される。具体的には、カメラ制御部21は、レンズ制御部36にスキ
ャン駆動開始指令を送出し、レンズ制御部36は、カメラ制御部21からの指令に基づき、フォーカスレンズ駆動モータ331を駆動させ、フォーカスレンズ33を、ステップS207で決定したスキャン駆動速度Vでスキャン駆動させる。そして、カメラ制御部21は、スキャン駆動速度Vでフォーカスレンズ33を駆動させながら、所定間隔で、撮像素子22の撮像画素から画素出力の読み出しを行い、これに基づき、焦点評価値を算出し、これにより、異なるフォーカスレンズ位置における焦点評価値を取得することで、コントラスト検出方式により合焦位置の検出を行う。
次に、ステップS211において、カメラ制御部21は焦点評価値のピーク値が検出できたか否か(合焦位置が検出できたか否か)を判断する。焦点評価値のピーク値が検出できなかったときはステップS210に戻り、焦点評価値のピーク値が検出できるか、あるいは、フォーカスレンズ33が所定の駆動端まで駆動するまで、ステップS210,S211の動作を繰り返し行う。一方、焦点評価値のピーク値が検出できたときはステップS212に進む。
焦点評価値のピーク値が検出できたときはステップS212に進み、ステップS212では、カメラ制御部21は焦点評価値のピーク値に対応する位置に合焦駆動させるための指令をレンズ制御部36に送信する。レンズ制御部36は受信した指令に従ってフォーカスレンズ33の駆動制御を行う。
次いで、ステップS213に進み、ステップS213では、カメラ制御部21はフォーカスレンズ33が焦点評価値のピーク値に対応する位置に到達した旨の判断を行い、撮影者によりシャッターレリーズボタンの全押し操作(第2スイッチSW2のオン)がされたとき静止画の撮影制御を行う。撮影制御が終了した後は、再びステップS203に戻る。
次に、第1実施形態に係る異常判定処理について説明する。図16は、第1実施形態に係る異常判定処理を示すフローチャートである。この異常判定処理は、たとえば、撮影者により操作部28に備えられたレリーズボタンの半押し操作、または、AF起動操作等が行われた場合に、図15に示すカメラ1の動作と並行して行われる。また、図16に示す異常判定処理は、所定の間隔で繰り返し実行される。
まず、ステップS301において、ホットライン通信より繰り返し取得している現在位置像面移動係数Kcurが、最小像面移動係数Kminよりも小さいか否かを判断する。すなわち、最小像面移動係数Kmin>現在位置像面移動係数Kcurとなった現在位置像面移動係数Kcurが検出されたか否かを判断する。最小像面移動係数Kmin>現在位置像面移動係数Kcurとなった現在位置像面移動係数Kcurが検出された場合には、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生していると考えられるため、ステップS305に進み、異常フラグ=1に設定し、異常判定処理を終了する。なお、異常が発生されていない場合等、通常時には、異常フラグ=0に設定されている。一方、最小像面移動係数Kmin>現在位置像面移動係数Kcurとなった現在位置像面移動係数Kcurが検出されていない場合には、ステップS302に進む。
たとえば、図13(B)に示す例では、フォーカスレンズ33の現在レンズ位置が駆動可能範囲Rf3の内側にあるため、駆動可能範囲に応じた最小像面移動係数Kmin「K14」と、現在位置像面移動係数Kcur「K16」とが、カメラ制御部21に送信される。この場合、現在位置像面移動係数Kcur「K16」が最小像面移動係数Kmin「K14」よりも大きいために、処理はステップS302に進む。一方、図13(B)に示す例において、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生しており、最小像面移動係数Kcurが「K17」として受信された場合には、現在位置像面移動係数Kcur「K16」が最小像面移動係数Kmin「K17」よりも大きいと判
断され、ステップS305に進み、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生していると判断される。
また、図14(B)に示すように、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側である場合は、図12に示すレンズ情報送信処理により、現在位置像面移動係数Kcurである「K12」が最小像面移動係数Kminとしてカメラ制御部21に送信される。これにより、カメラ制御部21により、現在位置像面移動係数Kcur「K12」と最小像面移動係数Kmin「K12」とは等しいと判断され、処理はステップS302に進む。このように、本実施形態では、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側であるために、現在位置像面移動係数Kcurが最小像面移動係数Kminよりも小さいと判断されてしまい、その結果、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生していると誤判断が行われてしまうことを、有効に防止することができる。
ステップS302では、カメラ1の電源がオンされてから現在までの間に、フォーカスレンズ33を、至近端から無限遠端まで駆動させたか否かの判定が行われる。特に、本実施形態においては、フォーカスレンズ33の駆動可能範囲が設定されるため、フォーカスレンズ33を、現在設定されている駆動可能範囲の至近端から無限遠端まで駆動させたか否かの判定が行われる。たとえば、図13(B)に示す例においては、無限遠側ソフトリミットSLISのレンズ位置から、至近端ソフトリミットSLNPまでの範囲が駆動可能範囲Rf3として設定されているため、フォーカスレンズ33を、駆動可能範囲Rf3の至近端である至近端ソフトリミットSLNPから、無限遠端である無限遠側ソフトリミットSLISのレンズ位置まで駆動させたか否かの判定が行われる。
フォーカスレンズ33を、至近端から無限遠端まで駆動させた場合には、ステップS306に進み、ステップS306において、フォーカスレンズ33を、至近端から無限遠端まで駆動させた結果、ホットライン通信により得られた、現在位置像面移動係数Kcurとして、現在位置像面移動係数Kcur=最小像面移動係数Kminとなったものが検出できたか否かの判定が行われる。フォーカスレンズ33を、至近端から無限遠端まで駆動させたにも拘わらず、現在位置像面移動係数Kcur=最小像面移動係数Kminとなったものが検出できなかった場合には、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生していると考えられるため、ステップS307に進み、異常フラグ=2に設定し、異常判定処理を終了する。ステップS306において、現在位置像面移動係数Kcur=最小像面移動係数Kminとなったものが検出できた場合には、異常が発生していないと判断し、異常判定処理を終了する。
一方、ステップS302において、フォーカスレンズ33を、至近端から無限遠端まで駆動させていないと判定された場合には、ステップS303に進む。ステップS303では、カメラ制御部21によりズームレンズ32の駆動操作がされたか否かが判断される。ズームレンズ32の駆動操作がされたと判断されたときはステップS304に進み、ズームレンズ32の駆動操作が行われていないと判断されたときは、ステップS308に進む。
ステップS304では、カメラ制御部21がレンズ制御部36に再度の要求信号を送信し、レンズ制御部36はカメラ制御部21に、ズームレンズ32を駆動した後のズームレンズ32のレンズ位置に対応する最小像面移動係数Kminを送信する。また、カメラ制御部21はズームレンズ32を駆動する前に取得した最小像面移動係数Kmin及び現在位置像面移動係数Kcurをリセットする。
上述したステップS301およびS306の判断は、ズームレンズ32のレンズ位置が同じ位置にある場合に取得された最小像面移動係数Kminおよび現在位置像面移動係数
Kcurを比較するものであり、ズームレンズ32のレンズ位置が変動した場合には、新たに、最小像面移動係数Kminおよび現在位置像面移動係数Kcurを収集しないと上述したステップS301およびS306の判断を適切に行うことができなくなるからである。ステップS304の処理が終了するとステップS301に戻る。
また、ステップS303において、ズームレンズ32の駆動操作が行われていないと判断された場合には、ステップS308に進む。ステップS308では、レンズ制御部36により、今回処理において取得した最小像面移動係数Kminである今回取得最小像面移動係数Kmin_0と、前回処理において取得した最小像面移動係数Kminである前回取得最小像面移動係数Kmin_1とが比較され、これらが同じ値であるか、あるいは異なる値であるかの判断が行われる。すなわち、ステップS308においては、繰り返し取得している最小像面移動係数Kminが変化したか否かの判断が行われる。今回取得最小像面移動係数Kmin_0と、前回取得最小像面移動係数Kmin_1とが同じ値である場合、すなわち、繰り返し取得している最小像面移動係数Kminが変化してないと判定した場合には、異常が発生していないと判断し、この異常判定処理を終了する。一方、今回取得最小像面移動係数Kmin_0と、前回取得最小像面移動係数Kmin_1とが異なる値である場合、すなわち、繰り返し取得している最小像面移動係数Kminが変化したと判定した場合には、ステップS309に進む。
ステップS309では、図15に示すステップS202と同様に、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側にあるか否かの判断が行われる。フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側にある場合には、図15に示す異常判定処理を終了する。このような最小像面移動係数Kminの変化は、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側に存在するために、フォーカスレンズ33を復帰駆動させながら、現在位置像面移動係数Kcurを最小像面移動係数Kminとして繰り返し送信することによるものであり、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生しているとは考えられないためである。一方、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側に存在する場合には、ステップSS310に進み、異常フラグ=3に設定される。
「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」が設定された場合は、異常処理を行うことが好ましい。異常処理としては、例えば、電子ビューファインダ26等で合焦表示を行うことを禁止することが好ましい。「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」が設定された場合は、通信異常、回路異常、電源異常等が生じている可能性があり、AFの信頼性を保証し得ない。このため、信頼性の低い「合焦表示」をしないために合焦表示の禁止等の異常処理をすることが好ましい。なお、異常フラグ=1、異常フラグ=2、または異常フラグ=3が設定されている場合であって、合焦表示が禁止されている場合には、ステップS212でフォーカスレンズ33が合焦位置に到達した場合でも合焦表示はされないことになる。
また、「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」が設定された場合は、例えば、合焦表示を行うことを禁止する処理を行う代わりに、あるいは、合焦表示を行うことを禁止する処理とともに、至近端から無限遠端まで駆動させる全域サーチを行うことも好ましい。全域サーチを行うことで、異常の原因が解消されたことを確認できる場合がある。
また、通常時の駆動速度である第1駆動速度よりも十分に遅い第2駆動速度で至近端から無限遠端までフォーカスレンズ33を駆動させる全域サーチを行うことが更に好ましい。十分に遅い第2駆動速度で行うことで、より安全な全域サーチが可能になるからである。また、例えば、フォーカスレンズ33の駆動速度が速すぎて、現在位置像面移動係数Kcur=最小像面移動係数Kminとなる現在位置像面移動係数Kcurが検出されなか
った場合には、十分に遅い第2駆動速度で全域サーチを行うことで、現在位置像面移動係数Kcur=最小像面移動係数Kminとなる現在位置像面移動係数Kcurを検出できる場合があるからである。
また、「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」に設定された場合には、合焦表示を行うことを禁止する処理、あるいは、十分に遅い第2駆動速度で、全域サーチを行う処理に代えて、あるいは、これらの処理と共に、位相差検出方式による焦点検出、およびコントラスト検出方式による焦点検出を共に禁止するような処理を行ってもよい。特に、「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」に設定され、通信異常等の何らかの異常が発生していると考えられる場合には、位相差検出方式による焦点検出、およびコントラスト検出方式による焦点検出を行っても、良好な焦点検出結果が得られない可能性が高いため、そのため、この場合には、位相差検出方式による焦点検出、およびコントラスト検出方式による焦点検出を禁止する処理を行うことができる。
また、一度、「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」が設定された場合には、通信異常等の何らかの異常が発生していると考えられるため、電源がオフとされるまで、あるいは、レンズ鏡筒3が交換されるまで、異常フラグをリセットせずに、「異常フラグ=1」、「異常フラグ=2」、または「異常フラグ=3」に設定したままとすることが望ましい。
例えば、異常フラグ=1、「異常フラグ=2」、または「異常フラグ=3」が設定されている場合にはAFの信頼性を保証し得ないので、無駄なフォーカスレンズ33の駆動を回避するために、カメラ制御部21は、ステップS211でピーク値が検出できたか否かにかかわらずフォーカスレンズ33の駆動を禁止する処理をしてもよい。この場合、電源がオフとされるまで、あるいは、レンズ鏡筒3が交換されるまで、フォーカスレンズ33の駆動を禁止することが好ましい。
また、例えば、異常フラグ=1、異常フラグ=2、または異常フラグ=3が設定されている場合には、カメラ制御部21はステップS211でピーク値が検出できたか否かにかかわらず十分に遅い第2駆動速度で、全域サーチを行う処理、位相差検出方式による焦点検出及びコントラスト検出方式による焦点検出の少なくとも一方を禁止する処理、カメラの電源をOFFにする処理、異常が生じた旨の警告表示等を行ってもよい。
また、例えば、異常フラグ=1、異常フラグ=2、または異常フラグ=3が設定されている場合にはAFの信頼性を保証し得ないので、カメラ制御部21はステップS211でピーク値が検出できてもステップS212の合焦駆動を行わない処理をしてもよい。
以上のように、第1実施形態では、ズームレンズ32の焦点距離が変化していない場合において、ズームレンズ32の焦点距離に応じて変化する最小像面移動係数Kminが変化した場合に、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生していると判断し、異常処理を実行する。これにより、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生している場合に、ユーザに異常が発生していることを適切に知らせることができる。また、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生している場合に、合焦動作などを行わせないことにより、ユーザの意に反して、ピントの合わない画像などが撮像されてしまうことを有効に防止することができる。
また、本実施形態では、ズームレンズ32の焦点距離が変化していない場合において、最小像面移動係数Kminが変化した場合でも、図14(B)に示すように、フォーカスレンズ33のレンズ位置が駆動可能範囲の外側である場合には、カメラ本体2とレンズ鏡筒3との間に通信異常等の何らかの異常が発生しているとは判断せずに、異常処理を実行しない。本実施形態では、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側
にある場合には、フォーカスレンズ33を復帰駆動させながら、現在位置像面移動係数Kcurを最小像面移動係数Kminとして繰り返し送信しており、最小像面移動係数Kminの変化は、このようなレンズ鏡筒3の動作によるものと考えられるためである。
《第2実施形態》
次いで、第2実施形態について説明する。第2実施形態では、図1に示すカメラ1において、以下に説明するように動作すること以外は、上述した第1実施形態と同様の構成を有するものである。具体的には、第2実施形態に係るカメラ1は、図17に示すレンズ情報送信処理および図18に示す異常判定処理において、以下に説明するように動作すること以外は、第1実施形態に係るカメラ1と同様に動作する。
図17は、第2実施形態に係るレンズ情報送信処理を示すフローチャートである。以下に、図17を参照して、第2実施形態に係るレンズ情報送信処理を説明する。なお、第2実施形態に係るレンズ情報送信処理も、レンズ制御部36により、ホットライン通信が開始された後に、所定の間隔で繰り返し実行される。
まず、ステップS401では、第1実施形態のステップS101と同様に、フォーカスリミット情報およびフォーカスレンズ33の現在レンズ位置の情報の取得が行われる。
そして、ステップS402では、レンズ制御部36により、フォーカスレンズ33の現在レンズ位置に応じた現在位置像面移動係数Kcurが、駆動可能範囲に応じた最小像面移動係数Kminよりも小さいか否かの判断が行われる。たとえば、図14(B)に示す例においては、現在位置像面移動係数Kcurが「K12」であり、駆動可能範囲Rf3に応じた最小像面移動係数Kminが「K14」である。そのため、現在位置像面移動係数Kcurが駆動可能範囲Rf3に応じた最小像面移動係数Kminよりも小さいと判断される。現在位置像面移動係数Kcurが駆動可能範囲に応じた最小像面移動係数Kmin以上であると判断された場合にはステップS403に進み、一方、現在位置像面移動係数Kcurが駆動可能範囲に応じた最小像面移動係数Kminよりも小さいと判断された場合にはステップS404に進む。
ステップS403では、現在位置像面移動係数Kcurが駆動可能範囲に応じた最小像面移動係数Kmin以上であると判断されているため、第1実施形態のステップS103と同様に、駆動可能範囲に応じた最小像面移動係数が、カメラ本体2に送信される最小像面移動係数Kminとして決定される。一方、ステップS404では、現在位置像面移動係数Kcurが駆動可能範囲に応じた最小像面移動係数Kminよりも小さいと判断されているため、第1実施形態のステップS106と同様に、フォーカスレンズ33の現在レンズ位置における現在位置像面移動係数Kcurが、カメラ本体2に送信される最小像面移動係数Kminとして決定される。
また、ステップS405では、レンズ制御部36により、フォーカスレンズ33の現在レンズ位置に応じた現在位置像面移動係数Kcurが、駆動可能範囲に応じた最大像面移動係数Kmaxよりも大きいか否かの判断が行われる。現在位置像面移動係数Kcurが駆動可能範囲に応じた最大像面移動係数Kmaxよりも大きいと判断された場合にはステップS407に進み、一方、現在位置像面移動係数Kcurが駆動可能範囲に応じた最大像面移動係数Kmax以下であると判断された場合にはステップS406に進む。
ステップS406では、現在位置像面移動係数Kcurが駆動可能範囲に応じた最大像面移動係数Kmax以下であると判断されているため、第1実施形態のステップS103と同様に、駆動可能範囲に応じた最大像面移動係数が、カメラ本体2に送信される最大像面移動係数Kmaxとして決定される。一方、ステップS407では、現在位置像面移動
係数Kcurが駆動可能範囲に応じた最大像面移動係数Kmaxよりも大きいと判断されているため、第1実施形態のステップS108と同様に、フォーカスレンズ33の現在レンズ位置における現在位置像面移動係数Kcurが、カメラ本体2に送信される最大像面移動係数Kmaxとして決定される。
そして、ステップS408では、第1実施形態のステップS104と同様に、ステップS403またはS404で決定された最小像面移動係数Kminと、ステップS406またはS407で決定された最大像面移動係数Kmaxと、フォーカスレンズ33の現在レンズ位置における現在位置像面移動係数Kcurと、フォーカスリミット情報と、フォーカスレンズ位置と、ズームレンズ位置とを含むレンズ情報が、カメラ制御部21に送信される。
次いで、第2実施形態に係る異常判定処理について説明する。図18は、第2実施形態に係る異常判定処理を示すフローチャートである。なお、図18において、ステップS302〜S305、S307〜S310は、図16の構成と同様であるため、詳細な説明は省略する。また、第1実施形態と同様に、図18に示す異常判定処理は、たとえば撮影者により操作部28に備えられたレリーズボタンの半押し操作、または、AF起動操作等が行われた場合に、図15に示すカメラ1の動作と並行して行われる。
まず、ステップS501では、ホットライン通信より繰り返し取得している現在位置像面移動係数Kcurが、最大像面移動係数Kmaxよりも大きいか、又は、最小像面移動係数Kminよりも小さいか否かの判断が行われる。最大像面移動係数Kmax<現在位置像面移動係数Kcur、又は、最小像面移動係数Kmin>現在位置像面移動係数Kcurとなった現在位置像面移動係数Kcurが検出された場合には、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生していると考えられるため、ステップS305に進み、異常フラグ=1に設定し、異常判定処理を終了する。一方、最大像面移動係数Kmax<現在位置像面移動係数Kcur、又は、最小像面移動係数Kmin>現在位置像面移動係数Kcurとなった現在位置像面移動係数Kcurが検出されなかった場合には、ステップS302に進む。
ここで、第2実施形態においては、図17に示すレンズ情報送信処理より送信された、現在位置像面移動係数Kcurと、最小像面移動係数Kminと、最大像面移動係数Kmaxとを用いて、異常判定処理が行われる。たとえば、図13(B)に示す例では、図17に示すレンズ情報送信処理より、現在位置像面移動係数Kcur「K16」と、駆動可能範囲に応じた最小像面移動係数Kmin「K14」と、駆動可能範囲に応じた最大像面移動係数Kmax「K19」とが、カメラ制御部21に送信される。これにより、カメラ制御部21は、現在位置像面移動係数Kcur「K16」が、最小像面移動係数Kmin「K14」よりも大きく、かつ、最大像面移動係数Kmax「K19」よりも小さいと判断して、ステップS302に進む。
また、図14(B)に示す例では、現在位置像面移動係数Kcur「K12」が駆動可能範囲に応じた最小像面移動係数Kmin「K14」よりも小さい。そのため、図17に示すレンズ情報送信処理において、現在位置像面移動係数Kcur「K12」が最小像面移動係数Kminとして、カメラ制御部21に送信される。また、図17に示すレンズ情報送信処理より、現在位置像面移動係数Kcur「K12」と、駆動可能範囲に応じた最大像面移動係数Kmax「K19」とが、カメラ制御部21に送信される。これにより、カメラ制御部21は、現在位置像面移動係数Kcur「K12」が、最小像面移動係数Kmin「K12」と等しく、かつ、最大像面移動係数Kmax「K19」よりも小さいと判断して、ステップS302に進む。
ステップS302において、フォーカスレンズ33を至近端から無限遠端まで駆動させた旨の判定がされたときは、ステップS506に進む。ステップS506において、フォーカスレンズ33を、至近端から無限遠端まで駆動させた結果、ホットライン通信により得られた現在位置像面移動係数Kcurとして、現在位置像面移動係数Kcur=最大像面移動係数Kmaxとなったもの、及び、現在位置像面移動係数Kcur最小像面移動係数Kminとなったものが検出できたか否かの判定が行われる。フォーカスレンズ33を、至近端から無限遠端まで駆動させたにも拘わらず、現在位置像面移動係数Kcur=最大像面移動係数Kmaxとなったもの、及び、現在位置像面移動係数Kcur=最小像面移動係数Kminとなったものが検出できなかった場合には、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生していると考えられるため、ステップS307に進み、異常フラグ=2に設定し、異常判定処理を終了する。ステップS506において、現在位置像面移動係数Kcur=最大像面移動係数Kmaxとなったもの、及び、現在位置像面移動係数Kcur=最小像面移動係数Kminとなったものが検出できた場合には、異常判定処理を終了する。
また、第1実施形態と同様に、ステップS303において、ズームレンズ32の駆動動作が行われていないと判断された場合において、最小像面移動係数Kminが変化していると判断された場合には(ステップS308=No)、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側にあるか否かの判断が行われる(ステップS309)。フォーカスレンズ33の現在レンズ位置が駆動可能範囲の内側にある場合には、カメラ本体2とレンズ鏡筒3との間の通信異常等の何らかの異常が発生していると考えられるため、ステップS307に進み、異常フラグ=3に設定し、異常判定処理を終了する。一方、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側にある場合には、このような最小像面移動係数Kminの変化は、フォーカスレンズ33を復帰駆動させながら、現在位置像面移動係数Kcurを最小像面移動係数Kminとして繰り返し送信することによるものであると判断し、異常とは判断しないで、異常判定処理を終了する。
以上のように、第2実施形態では、現在位置像面移動係数Kcurが最小像面移動係数Kminよりも小さい場合には、現在位置像面移動係数Kcurを最小像面移動係数Kminとしてカメラ制御部21に送信する。また、現在位置像面移動係数Kcurが最大像面移動係数Kmaxよりも大きい場合には、現在位置像面移動係数Kcurを最大像面移動係数Kmaxとしてカメラ制御部21に送信する。これにより、第2実施形態では、第1実施形態の効果に加えて、フォーカスレンズ33が駆動可能範囲の内側に存在するか否かを判断することなく、フォーカスレンズ33のレンズ位置に応じた適切な像面移動係数を、カメラ制御部21に送信することができる。その結果、フォーカスレンズ33が駆動可能範囲の外側に存在する場合も、図18に示す異常判定処理において、異常を適切に判定することができる。
《第3実施形態》
次いで、第3実施形態について説明する。第3実施形態では、図1に示すカメラ1において、以下に説明するように動作すること以外は、上述した第1実施形態と同様の構成を有するものである。具体的には、第3実施形態に係るカメラ1は、図19に示す異常判定処理のステップS609において、以下に説明するように動作すること以外は、第1実施形態に係るカメラ1と同様に動作する。図19は、第3実施形態に係る異常判定処理を示すフローチャートである。
すなわち、第3実施形態では、図19に示すように、ズームレンズ32の駆動動作が行われていないと判断された場合において(ステップS303=No)、最小像面移動係数Kminが変化していると判断された場合に(ステップS308=No)、ステップS609に進む。ステップS609では、カメラ制御部21により、駆動可能範囲が変更され、
かつ、駆動可能範囲が変更されてから所定時間が経過したか否かの判断が行われる。
たとえば、図14(A)および図14(B)に示すように、駆動可能範囲が変更された場合には、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側となる場合がある。そして、このような場合に、レンズ制御部36は、フォーカスレンズ33を復帰駆動させながら、現在位置像面移動係数Kcurを最小像面移動係数Kminとして繰り返し送信するため、ズームレンズ32の焦点距離が変化していない場合において、最小像面移動係数Kminが変化してしまう場合がある。そのため、第3実施形態において、カメラ制御部21は、駆動可能範囲が変更され、かつ、駆動可能範囲が変更されてから所定時間が経過するまでは、最小像面移動係数Kminが変化している場合においても、カメラ本体2とレンズ鏡筒3との間に通信異常等の異常は発生していないと判断し、図19に示す異常判定処理を終了する。これにより、駆動可能範囲が変更されてから所定時間が経過するまでは、異常処理は実行されないこととなる。
なお、上記所定時間は、特に限定されないが、たとえば、復帰駆動に必要な時間、たとえば5秒などとすることができる。また、上記所定時間を、フォーカスレンズ33が、フォーカスレンズ33の駆動領域、すなわち、無限遠端ソフトリミットSLIPのレンズ位置から、至近端ソフトリミットSLNPのレンズ位置までを駆動するのに要する時間とすることもできる。さらに、上記所定時間を、最小像面移動係数Kminが所定回数(たとえば5回)変化するまでの時間とすることもできる。
さらに、上記所定時間を、フォーカスレンズ33の現在レンズ位置に応じて変化させる構成としてもよい。たとえば、フォーカスレンズ33の現在レンズ位置から駆動可能範囲のリミット端までの距離が長いほど、上記所定時間を長くすることができる。なお、フォーカスレンズ33の現在レンズ位置から駆動可能範囲のリミット端までの距離は、レンズ情報として、レンズ制御部36からカメラ制御部21に送信することができる。また、上記所定時間に代えて、フォーカスレンズ33の駆動パルス数を用いてもよい。すなわち、ステップS609において、駆動可能範囲が変更されてから、フォーカスレンズ33が所定のパルス数を駆動するまでは、異常処理を行わない構成とすることができる。さらに、カメラ1の温度や姿勢に応じて、上記所定時間を変更する構成とすることができる。
以上のように、第3実施形態では、ズームレンズ32の焦点距離が変化していない場合において、最小像面移動係数Kminが変化している場合でも、駆動可能範囲が変更され、かつ、駆動可能範囲が変更されてから所定時間が経過するまでは、カメラ本体2とレンズ鏡筒3との間に通信異常等の異常は発生していないと判断し、異常処理を実行しない。これにより、第3実施形態では、第1実施形態の効果に加えて、フォーカスレンズ33が駆動可能範囲の内側に存在するか否かを判断することなく、異常が発生しているか否かを適切に判定することができる。また、駆動可能範囲が変更された時点から所定時間が経過するまで、異常処理を実行しないことにより、チャタリングを有効に防止することができる。
なお、上述した第3実施形態のステップS609において、駆動可能範囲が変更されてから所定時間が経過したか否かを判断することに代えて、駆動可能範囲が変更されたか否かを判断し、駆動可能範囲が変更された場合には、カメラ本体2とレンズ鏡筒3との間に通信異常等の異常が発生していないと判断し、図19に示す異常判定処理を終了する構成としてもよい。
また、上述した実施形態では、フォーカスリミット情報を、レンズ制御部36からカメラ制御部21に送信することで、駆動可能範囲が変更されたか否かを判断する構成を例示したが、この構成に限定されず、たとえば、以下のように、駆動可能範囲が変更されたか
否かを判断することができる。すなわち、フォーカスリミット情報に代えて、フォーカスレンズ33の駆動領域を複数の区分に分割した場合の分割数の情報を、レンズ制御部36からカメラ制御部21に送信する構成としてもよい。たとえば、レンズ制御部36は、図6に示すように、フォーカスレンズ33の駆動領域を複数の区分(図6に示す例では、D1〜D9の9つの区分)に分割しており、図13(B)に示すように、「無限遠側制限モード」が設定されている場合には、駆動可能範囲に応じた区分の区分数(図6に示す例では、「D4」〜「D9」までの6区分)を、カメラ制御部21に送信することができる。これにより、カメラ制御部21は、受信した区分数が変化した場合に、駆動可能範囲が変更されたと判断することができる。また、レンズ制御部36からカメラ制御部21に、フォーカスレンズ33の現在レンズ位置から駆動可能範囲のリミット端までの距離をレンズ情報として送信することで、カメラ制御部21が、駆動可能範囲が変更されたか否かを判断する構成としてもよい。
《第4実施形態》
次いで、第4実施形態について説明する。第4実施形態では、図1に示すカメラ1において、以下に説明するように動作すること以外は、上述した第1実施形態と同様の構成を有するものである。具体的には、第4施形態に係るカメラ1は、図20に示す異常判定処理のステップS709において、以下に説明するように動作すること以外は、第1実施形態に係るカメラ1と同様に動作する。図20は、第4実施形態に係る異常判定処理を示すフローチャートである。
すなわち、第4実施形態では、ズームレンズ32の駆動動作が行われていないと判断された場合において(ステップS303=No)、最小像面移動係数Kminが変化していると判断された場合に(ステップS308=No)、ステップS709に進み、カメラ制御部21により、復帰駆動が実行されているか否かの判断が行われる。上述したように、フォーカスレンズ33のレンズ位置が駆動可能範囲の外側にある場合、カメラ制御部21は、レンズ制御部36に、フォーカスレンズ33を駆動可能範囲の内側まで移動させる復帰駆動を行わせる。このように、復帰駆動を行わせている場合には、現在位置像面移動係数Kcurが最小像面移動係数Kminとして繰り返し送信されるため、このような最小像面移動係数Kminの変化が起きていると判断することができる。そこで、カメラ制御部21は、最小像面移動係数Kminが変化している場合においても、復帰駆動が行われている場合には、カメラ本体2とレンズ鏡筒3との間に通信異常等の異常は発生していないと判断し、図20に示す異常判定処理を終了する。
以上のように、第4実施形態では、第1実施形態の効果に加えて、フォーカスレンズ33が駆動可能範囲の内側に存在するか否かを判断することなく、復帰駆動が実行されたか否かを判断することで、異常が発生しているか否かを適切に判定することができる。
なお、上述した第4実施形態では、カメラ制御部21が、復帰駆動が行われているか否かを判断する構成を例示したが、この構成に限定されず、たとえば、レンズ制御部36が、フォーカスレンズ33のレンズ位置が駆動可能範囲の外側にあるか否かを判断し、フォーカスレンズ33のレンズ位置が駆動可能範囲の外側にある場合に、復帰駆動を実行する構成とすることができる。この場合、カメラ制御部21は、復帰駆動が実行されていることを示す情報をレンズ制御部36から受信することで、復帰駆動が行われているか否かを判断することができる。
なお、以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。また、上述した各実施形態は、適宜組み合わせて用いることもできる。
たとえば、上述した実施形態では、フォーカスリミットモードとして、駆動可能範囲の制限がない「FULLモード」、至近側の駆動可能範囲を制限する「至近側制限モード」、無限遠側の駆動可能範囲を制限する「無限遠側制限モード」の3つのモードを設定する構成を例示したが、フォーカスリミットモードは上記の例に限定されない。たとえば、無限遠側ソフトリミットSLISのレンズ位置から、至近側ソフトリミットSLNSのレンズ位置までの範囲を駆動可能範囲Rf4として設定するモードを設ける構成としてもよい。この場合も、フォーカスレンズ33の現在レンズ位置に応じた現在位置像面移動係数Kcurが最小像面移動係数Kminよりも小さい場合には、現在位置像面移動係数Kcurを最小像面移動係数Kminとしてレンズ鏡筒3に送信することができ、フォーカスレンズ33の現在レンズ位置に応じた現在位置像面移動係数Kcurが最大像面移動係数Kmaxよりも大きい場合には、現在位置像面移動係数Kcurを最大像面移動係数Kmaxとしてレンズ鏡筒3に送信することができる。例えば、フォーカスレンズ33の現在レンズ位置が領域「D2」にあり、駆動可能範囲Rf4の最も無限遠側のレンズ位置が領域「D4」であり、最も至近側のレンズ位置が領域「D5」である場合、レンズ制御部36はレンズ位置の領域D2〜D5の像面移動係数のうち最も大きい駆動可能範囲Rf4の最も至近側のレンズ位置の像面移動係数「K15」を、カメラ本体2に送信する最大像面移動係数Kmaxとして決定し、レンズ位置の領域D2〜D5の像面移動係数のうち最も小さい現在位置像面移動係数Kcur「K12」を、カメラ本体2に送信する最小像面移動係数Kminとして決定する。
また、上述した実施形態では、図12のステップS105において、レンズ制御部36によりフォーカスリミットモードとして「無限遠側制限モード」が設定されているか否かを判断したがこれに限定されるものではない。例えば、図12のステップS105を「レンズ制御部36によりフォーカスレンズ33の現在レンズ位置が駆動可能範囲よりも至近側であるか、駆動可能範囲よりも無限遠側であるかを判断するステップS115」(図示せず)に置き換えてもよい。この場合、図12のステップS102において、フォーカスレンズ33の現在レンズ位置が駆動可能範囲の外側であると判断された場合には、ステップS115に進む。ステップS115では、レンズ制御部36により、フォーカスリミットモードを確認する。「FULLモード」の場合、フォーカスリミットモードの情報として、無限遠端ソフトリミットSLIPのレンズ位置、及び、至近端ソフトリミットSLNPのレンズ位置を読出し、フォーカスレンズ33の現在レンズ位置が無限遠端ソフトリミットSLIPのレンズ位置よりも無限遠側にあるか否か(駆動可能範囲よりも無限遠側であるか)、及び、至近端ソフトリミットSLNPのレンズ位置よりも至近側にあるか否か(駆動可能範囲よりも至近側であるか)を判断する。無限遠側にあると判断されたときは図12のステップS106に進み、至近側にあると判断されたときは図12のステップS108に進む。
同様に、「至近側制限モード」の場合、フォーカスレンズ33の現在レンズ位置が無限遠端ソフトリミットSLIPのレンズ位置よりも無限遠側にあるか否か、及び、至近側ソフトリミットSLNSのレンズ位置よりも至近側にあるか否かを判断する。無限遠側にあると判断されたときは図12のステップS106に進み、至近側にあると判断されたときは図12のステップS108に進む。同様に、「無限遠側制限モード」の場合、フォーカスレンズ33の現在レンズ位置が無限遠側ソフトリミットSLISのレンズ位置よりも無限遠側にあるか否か、及び、至近端ソフトリミットSLNPのレンズ位置よりも至近側にあるか否かを判断する。無限遠側にあると判断されたときは図12のステップS106に進み、至近側にあると判断されたときは図12のステップS108に進む。
上述した実施形態では、ステップS115において、無限遠側にあると判断されたときは図12のステップS106に進み、至近側にあると判断されたときは図12のステップS108に進む例を用いて説明したがこれに限定されるものではない。例えば、ステップS115において、フォーカスレンズ33の現在レンズ位置が駆動可能範囲よりも無限遠側であると判断されたときは、図12のステップS106に進むかわりに、フォーカスレ
ンズ33の現在レンズ位置から駆動可能範囲の至近側のレンズ位置までの像面移動係数のうち、最小の像面移動係数、最大の像面移動係数を最小像面移動係数Kmin、最大像面移動係数Kmaxとして決定するステップ116(図示せず)を行ってもよい。また、ステップS115において、フォーカスレンズ33の現在レンズ位置が駆動可能範囲よりも至近側であると判断されたときは、図12のステップS108に進むかわりに、フォーカスレンズ33の現在レンズ位置から駆動可能範囲の無限遠側のレンズ位置までの像面移動係数のうち、最小の像面移動係数、最大の像面移動係数を最小像面移動係数Kmin、最大像面移動係数Kmaxとして決定するステップ118(図示せず)を行ってもよい。ステップ116、118の後は図12のステップ104に進むことが好ましい。
また、上述した実施例では、最も無限遠側のレンズ位置における像面移動係数が最小値であり、最も至近側のレンズ位置における像面移動係数が最大値である例を用いて説明したがこれに限定されるものではない。例えば、最も無限遠側のレンズ位置における像面移動係数が最大値であり、最も至近側のレンズ位置における像面移動係数が最小値であるものでもよいし、最も無限遠側のレンズ位置及び最も至近側のレンズ位置以外の位置に像面移動係数の最小値及び最大値があってもよい。
上述した第1実施形態等では、現在位置像面移動係数Kcur、最小像面移動係数Kmin、および最大像面移動係数Kmaxをカメラ本体2がレンズ鏡筒3から受信する例を説明したが、現在位置像面移動係数Kcurと、最小像面移動係数Kminおよび最大像面移動係数Kmaxの少なくとも一方とをカメラ本体2がレンズ鏡筒3から受信するものであってもよい。
上述した第1実施形態等では、現在位置像面移動係数Kcur、最小像面移動係数Kmin、および最大像面移動係数Kmaxをカメラ本体2がレンズ鏡筒3から受信する例を説明したが、現在位置像面移動係数Kcurの近傍の値と、最小像面移動係数Kminの近傍の値および最大像面移動係数Kmaxの近傍の値の少なくとも一方とをカメラ本体2がレンズ鏡筒3から受信するものであってもよい。
また、上述した第1実施形態等では、現在位置像面移動係数Kcur、最小像面移動係数Kmin、および最大像面移動係数Kmaxをカメラ本体2がレンズ鏡筒3から受信する例を説明したが、現在位置像面移動係数Kcurと、現在位置像面移動係数Kcur以下の像面移動係数及び現在位置像面移動係数Kcur以上の像面移動係数の少なくとも一方とをカメラ本体2がレンズ鏡筒3から受信するものであってもよい。
さらに、上述した実施形態では、フォーカスレンズ33が駆動可能範囲の内側にある場合には、駆動可能範囲内の領域に対応する複数の像面移動係数のうち、最も小さい像面移動係数を最小像面移動係数Kminとして、カメラ本体2に送信する構成を例示したが、この構成に限定されず、たとえば、駆動可能範囲内の領域に対応する複数の像面移動係数のうち最も小さい像面移動係数よりも、さらに小さい像面移動係数を、最小像面移動係数Kminとして、カメラ本体2に送信する構成としてもよい。たとえば、図13(B)に示す例では、駆動可能範囲Rf3の各領域D4〜D9に対応する像面移動係数K14〜K19のうち最も小さい像面移動係数K14を最小像面移動係数Kminとしてカメラ本体2に送信しているが、たとえば像面移動係数K14よりもさらに小さい像面移動係数K13を最小像面移動係数Kminとしてカメラ本体2に送信する構成とすることができる。この場合、カメラ制御21は、像面移動係数Kが像面移動係数K13となるレンズ位置においても合焦位置を適切に検出できるように、最小像面移動係数Kminが像面移動係数K14である場合と比べて、スキャン速度Vをより遅い速度で設定することとなる。そのため、最小像面移動係数Kminが像面移動係数K14である場合と比べて、焦点評価値の算出間隔は短くなり、その分、焦点評価値の算出精度を高くすることができる。
また、上述した実施形態では、最小像面移動係数Kminに対応するフォーカスレンズ33の位置が最大像面移動係数Kmaxに対応するフォーカスレンズ33の位置よりも至近側にある例を用いて説明したがこれに限定されるものではない。例えば、最小像面移動
係数Kminに対応するフォーカスレンズ33の位置が最大像面移動係数Kmaxに対応するフォーカスレンズ33の位置よりも無限遠側にあってもよい。また、例えば、フォーカスレンズ33の位置が至近側になるほど像面移動係数が小さくなるものでもよいし、フォーカスレンズ33の位置が至近側になるほど像面移動係数が大きくなるものでもよいし、最も至近側のフォーカスレンズ33の位置及び最も無限遠側のフォーカスレンズ33の位置以外の位置に像面移動係数の最小値又は像面移動係数の最大値があるものでもよい。
例えば、図21に記載された至近合焦位置480、至近ソフトリミット位置460、至近方向のメカ的な端点440の位置、至近合焦位置480から至近方向のメカ的な端点440の位置の間の位置、及び、至近方向のメカ的な端点440の位置よりも至近側の位置の少なくとも1つに対応する位置の像面移動係数を最小像面移動係数Kmin(又は最大像面移動係数Kmax)としてもよい。同様に、例えば、無限合焦位置470、無限ソフトリミット位置450、無限方向のメカ的な端点430の位置、無限合焦位置470から無限方向のメカ的な端点430の位置の間の位置、及び、無限方向のメカ的な端点430の位置よりも無限側の位置の少なくとも1つに対応する位置の像面移動係数を最大像面移動係数Kmax(又は最小像面移動係数Kmin)としてもよい。
また、光学的な最小像面移動係数Kminの値が、例えば、102.345という桁数の大きい数字であった場合、102.345の近傍の値である100又は105を最小像面移動係数Kminとして記憶してもよい。レンズメモリ37に100又は105を記憶する場合、レンズメモリ37に102.345を記憶する場合と比較して桁数が小さいため、メモリの記憶容量を節約できるとともに、カメラ制御部21に後述する第2係数K2(Kmin)を送信する際に送信データの容量を抑えることができるからである。
同様に、光学的な最大像面移動係数Kmaxの値が、例えば、1534.567という桁数の大きい数字であった場合、1534.567の近傍の値であって桁数がより小さい1500又は1535を最小像面移動係数Kminとして記憶してもよい。
同様に、光学的な現在位置像面移動係数Kcurの値が、例えば、533.246という桁数の大きい数字であった場合、533.246の近傍の値であって桁数が小さい530又は533を現在位置像面移動係数Kcurとして記憶してもよい。
また、現在位置像面移動係数Kcur、最小像面移動係数Kmin、及び、最大像面移動係数Kmaxの値は光学的な像面移動係数の値としてもよいし、レンズ鏡筒の種類、フォーカスレンズ33の駆動機構、フォーカスレンズ33の検出機構等を考慮して光学的な像面移動係数の値よりも大きめの値や小さめの値に設定してもよい。