以下、図面に従って本発明を適用したカメラシステムを用いて好ましい一実施形態について説明する。図1は、本発明の一実施形態に係るカメラシステムの構成を示すブロック図であり、図2は、このカメラシステムにおける主として電気的構成を示すブロック図である。このカメラシステムは、焦点距離を可変な撮影光学系を有する交換レンズ100、カメラ本体200、および交換レンズ100とカメラ本体200の間に装着可能なコンバータレンズ300から構成される。なお、焦点距離を伸ばすコンバータレンズを、「テレコン」と略称する場合がある。
交換レンズ100内には、レンズ11a〜11cからなる撮影レンズ11を有する。撮影レンズ11によって被写体像が形成される。フォーカスレンズ11bは焦点調節用のレンズであり、フォーカスレンズ駆動機構25によって光軸方向に移動可能である。フォーカスレンズ駆動機構25は、フォーカスレンズ用アクチュエータとフォーカスレンズ用ドライブ回路を有している。また、レンズ11a〜11cの一部は、焦点距離を変化させるためのズームレンズ群である。
またフォーカスレンズ基準位置検出部27は、フォーカスレンズ11bが基準位置に達すると検出信号を制御部であるCPU41に出力する。基準位置検出には、フォトインタラプタ(PI)を用いる(図2のFCPI69参照)。
レンズ11aと11bの間には、絞り13が配置されている。絞り13は、絞り駆動機構21によって開口径が変化し、撮影レンズ11を通過する被写体光量を変化させる。絞り駆動機構21は、絞り用アクチュエータと絞り用ドライバ回路等を有する。なお、絞り13は、レンズ11aと11bの間以外に配置しても勿論かまわない。
絞り基準位置検出部23は、絞りの開口径が基準位置に達すると、検出信号をCPU41に出力する。絞り位置は、絞り基準位置検出部23によって基準位置を取得し、相対的な位置検出によって絞り位置を管理する。相対的な位置検出は絞り用アクチュエータであるステッピングモータへの印加パルス数によって検出し、絞り基準位置の検出はフォトインタラプタ(PI)(図2のAVPI77参照)によって検出する。
交換レンズ100の外周には、距離環51が配置されている。距離環51は、交換レンズ100の外周を回動自在であると共に、撮影レンズ11の光軸方向の所定範囲内で、スライド自在である。この距離環51が被写体側にスライドすると、非RF(非レンジフォーカス)(MF(マニュアルフォーカス)という場合もある)位置に設定され、本体側にスライドすると、RF(レンジフォーカス)位置に設定される。距離環51のスライドにより、RFモードと非RFモード(MFモード)の切り換えを行う。このモードの検出は、RFモード検出部33が行う。
非RFモードは、ユーザが距離環51の回転方向および回転量に応じてピント合わせを行うモードであり、距離環51は無制限に回転自在に構成される。一方RFモードは距離環51によって指定された距離にピントを合わせるモードであり、距離環51は至近と無限遠の間で回転することが可能に構成される。
距離環51のスライドによってMFモードが設定されると、距離環51の回転により、距離環51の内側にある遮光羽根が一体となって回転する。この遮光羽根の回転をフォトインタラプタ(PI)(図2のMFPI63参照)によってカウントし、このカウント値に応じてフォーカスレンズ11bを駆動する。
距離環51のスライドによってRFモードが設定され、距離環51が回転されると、その回転位置をRF位置検出部31が検出する。RF位置検出部31は、距離環51の回転位置の絶対位置を検出する。フォーカスレンズ駆動機構25は、CPU41からの制御信号に従って、距離環51の回転位置に応じた撮影距離に、フォーカスレンズ11bを駆動する。
RFモード検出部33は、RF/MFモード検出スイッチ83(図2参照)の出力に基づいて、距離環51が非RF位置(MF位置)、RF位置のいずれかに設定されているかを検出する。
MF位置検出部35は、距離環51が非RF位置(MF位置)に設定されている際に、距離環51の回転方向および回転量を検出する。このMF位置検出部35の検出結果に基づいて、マニュアルフォーカスを行う。
交換レンズ100の外周であって、距離環51より本体側には、ズーム環52が外周を回動自在に配置されている。ユーザが手動でズーム環52を回転させるとズーミングを行うことができる。
ズーム位置検出部34は、ズーム環52の回転位置の絶対値を検出し、CPU41に出力する。ズーム位置検出部34は、後述するように、リニアエンコーダZM位置検出部82(図2参照)を有しており、このリニアエンコーダ位置検出部82の出力はCPU41内のA/D変換器44によってAD変換され、このA/D変換値は焦点距離を表す。
記憶部37は、フラッシュメモリ等の書き換え可能な不揮発メモリ等を有し、CPU41で使用するプログラムや、交換レンズの光学データ等の各種情報や、各種調整値や各種パラメータ等を記憶する。各種情報として、交換レンズのシリアル番号等を記憶する。記憶部37は、交換レンズを識別するための識別データを記憶する記憶部としての機能を果たす。
制御部であるCPU41は、前述した記憶部37に記憶されているプログラムに従い、カメラ本体200からの制御命令に応じて、交換レンズ100内の制御を行う。CPU41は、カメラ本体200と通信を行うためのレンズ通信部として機能し、後述する端子A55a、端子B55bによって検知したコンバータレンズ300の装着の有無・機種に応じたレンズ識別データ等をカメラ本体200内の本体制御部203に送信する。
また、CPU41は、検出部(後述する端子A55a、端子B55bが機能する)によって中間アダプタ(コンバータレンズ300が機能を果たす)の装着を検出した場合に、識別データを変更し、この変更した識別データをカメラ本体に送信するレンズ制御部として機能する。また、CPU41は、検出部によりコンバータの装着が検出された場合に、シリアル番号を変更して変更後のシリアル番号をカメラ本体200に送信するレンズ制御部としての機能を果たす。また、CPU41は、検出部の出力に基づいてコンバータを判別し、コンバータの光学系の光学特性と交換レンズの撮影光学系の光学特性とを合成した光学特性に関する情報を、カメラ本体へ送信するレンズ制御部としての機能も果たす(図7のS35参照)。また、検出部によりコンバータの装着が検出された場合に、シリアル番号のうちの一文字を変更するレンズ制御部としての機能も果たす(図5、図7のS31参照)。
端子A55aと、端子B55bは、交換レンズ100の後端面に配置され、コンバータレンズ300の端子A311aと端子B311bと接触する位置に配置されており、端子A55a、端子B55bは、CPU41に接続されている。この端子A55a、端子B55bは、中間アダプタ(コンバータレンズ300がその機能を果たす)の装着を検出する検出部として機能する。この検出部は、中間アダプタの種類を検出可能であり、レンズ制御部(CPU41が機能する)は、検出された中間アダプタの種類に応じて、記憶部に記憶されているレンズ識別データを変更する。端子A55a、端子B55bの詳しい機能については、図3を用いて後述する。
CPU41と本体制御部203との間には、通信経路SLが設けられている。コンバータレンズ300が装着されていない場合には、通信経路SLは交換レンズ100の接続端子とカメラ本体200の接続端子が直接接触することにより形成される。またコンバータレンズ300が装着されている場合には、通信経路SLは交換レンズ100の接続端子とコンバータレンズ300の接続端子が接触し、コンバータレンズ300の接続端子とカメラ本体200の接続端子が接触することにより、形成される。
コンバータレンズ300の前端面は、交換レンズ100の後端面側と装着可能であり、またコンバータレンズ300の後端面は、カメラ本体200のマウント面と装着可能である。コンバータレンズ300内には、交換レンズ100と装着した際に、撮影レンズ11の光軸上の位置に、変倍用レンズ301が配置されている。この変倍用レンズ301によって撮影レンズ11の焦点距離が何倍(例えば、1.4倍等)に伸びる。
また、コンバータレンズ300の交換レンズ100との装着面(前端面)には、端子A311aと端子B311bが設けられており、コンバータレンズ300が交換レンズ100に装着された際に、交換レンズ100の端子A55aとコンバータレンズ300の端子A311aが対向する位置で接続し、また交換レンズ100の端子B55bとコンバータレンズ300の端子B311bが対向する位置で接続する。端子A311a、端子B311bは、図3を用いて後述するように、機種によって、グランドレベルによって接地する端子が異なっており、CPU41は、端子A55aおよび端子B55bを介して、コンバータレンズ300の機種を識別することができる。ただし、コンバータレンズ300の機種によっては、端子B311aを設けていない場合もある。
なお、前述したように、コンバータンレンズ300内には、交換レンズ100とカメラ本体200にコンバータレンズ300が装着されている場合に、交換レンズ100とカメラ本体200を結ぶための通信経路SLが設けられている。
カメラ本体200内には、撮像素子201、本体制御部203、本体記憶部205が配置されている。撮像素子201は、撮影レンズ11の結像位置付近に配置されており、撮影レンズ11に形成される被写体像を光電変換し、本体制御部203等に画像データを出力する。この撮像素子201は、撮影光学系を通過した光束を撮像して画像信号を出力する撮像部として機能する。
本体制御部203は、制御用のCPU等を含み、本体記憶部205に記憶されている本体制御用のプログラム従って、カメラ本体200を制御し、また、交換レンズ100内のCPU41と通信を行い(すなわち、レンズ制御部と通信を行う)、カメラ本体200および交換レンズ100からなるカメラシステム全体の制御を行う。したがって、本体制御部203は、レンズ制御部(CPU41が機能を果たす)と通信を行うカメラ本体制御部としての機能を有し、このカメラ本体制御部は、合成した光学特性に関する情報に基づいて、レンズ制御部に対する制御命令を送信し、レンズ制御部は、制御命令に基づいて交換レンズの動作を制御する。
本体記憶部205は、フラッシュメモリ等の不揮発性メモリを有し、前述の本体制御用のプログラム以外にも、種々の調整値等を記憶する。
次に、図2を用いて、電気的構成の詳細について説明する。CPU41は、前述したように、カメラ本体200内の本体制御部203と通信が可能である。また、CPU41は、モータドライバ71に接続されており、このモータドライバ71は、FCPI69、LDMT73、AVMT75、およびAVPI77の駆動を行う。
FCPI69は、フォーカスレンズ11bの基準位置検出用のフォトインタラプタであり、このFCPI69の出力はFCPI二値化回路67に接続されている。FCPI69およびFCPI二値化回路67は、前述のフォーカスレンズ基準位置検出部27に対応する。
LDMT73は、LDモータ(レンズ駆動モータ)であり、前述のフォーカスレンズ駆動機構25内のフォーカス用アクチュエータとして機能する。LDモータとしては、本実施形態においては、ステッピングモータを採用するが、他のモータ、例えばボイスコイルモータを用いても勿論かまわない。AVMT75は、絞りモータであり、前述の絞り駆動機構21内の絞り用アクチュエータとして機能する。
AVPI77は、絞り13の基準位置検出用のフォトインタラプタであり、このAVPI77の出力はAVPI二値化回路79に接続されている。AVPI77およびAVPI二値化回路79は、前述の絞り基準位置検出部23に対応する。
MFPIドライバ65は、距離環51がMF位置にスライドされた場合に、距離環51の回動を検出するためのMFPI63のドライバである。MFPI63は、遮光羽根の回動方向に沿って2箇所、設けられている。このMFPI63の出力は、MFPI二値化回路61に接続されており、MFPI二値化回路61によって二値化される。MFPI二値化回路61、MFPI63、MFPIドライバ65は、前述のMF位置検出部35に対応する。
リニアエンコーダRF位置検出部81は、距離環51がRF位置にスライドされた場合に、距離環51の回転方向における絶対値を検出するためのリニアエンコーダである。リニアエンコーダRF位置検出部81は、距離環51の回動方向に沿って設けられており、距離環51の回動方向での絶対位置に応じてアナログ信号を出力する。CPU41内には、A/D変換器43が設けられており、リニアエンコーダRF位置検出部81からのアナログ信号をデジタル信号に変換する。A/D変換器43によるA/D変換値は、ユーザによって設定される被写体距離(絶対距離)を表す。
リニアエンコーダZM位置検出部82は、ズーム環52の回転方向における絶対値を検出するためのエンコーダである。リニアエンコーダZM位置検出部82は、ズーム環52の回動方向に沿って設けられており、ズーム環52の回転方向での絶対位置に応じてアナログ信号を出力する。CPU41内には、A/D変換器44が設けられており、リニアエンコーダZM位置検出部82からのアナログ信号をデジタル信号に変換する。A/D変換器44によるA/D変換値は、ユーザによって設定される焦点距離(絶対距離)を表す。
RF/MFモード検出スイッチ(SW)83は、距離環51がRFモードに設定されているか、MFモード(非RFモード)に設定されているかを検出するためのスイッチである。このRF/MFモード検出SW83は、距離環51の光軸方向の位置を検出し、RFモード設定時またはMFモード設定時にオンまたはオフとなり、このオンオフ状態はCPU41に出力される。
また、コンバータ300には、端子311(図1および図3では端子A311a、端子B311b)が配置されており、この端子311の出力レベルに基づいて、CPU41はコンバータレンズ300の機種を認識することができる。
交換レンズ100内のCPU41とカメラ本体200は、前述したように、信号経路SLによって、電気的に接続されている。
次に、図3を用いて、コンバータレンズ300の検出機構について説明する。交換レンズ100の後端面には、種々の端子が配置されている。このうち、GND端子57とGND2端子57aはグランド端子であり、電位がグランドレベル(接地レベル)の端子である。また、グランドレベルに接地されたLSDET端子56は、後述するADLPSW323と接続されたLSDET端子325と接触する端子である。
また、交換レンズ100内の端子A55aおよび端子B55bは、前述したように、コンバータレンズ300の機種を識別するための端子であり、それぞれツエナーダイオードZDa、ZDbを介して接地され、抵抗R1、R2の直列接続、抵抗R3、R4の直列接続を介して電源電圧Vccに接続されている。なお、ツエナーダイオードZDa、ZDb、抵抗R1〜R4は、静電気対策用である。抵抗R1、R2の接続点はCPU41内のI/O45に接続され、また抵抗R3、R4の接続点はCPU41内のI/O46に接続されている。したがって、CPU41は、I/O45,46によって、端子A55aと端子B55bの入力電圧レベル(HかLのいずれか)を検知することができる。
コンバータレンズ300には、レンズロックピン(LensLockPin)321が設けられている。このレンズロックピン321は、交換レンズ100にコンバータレンズ300を装着する際に、両者を係合させるための機構であり、ユーザは装着の際にレンズロックピン321を押し込み、この状態で交換レンズ100とコンバータレンズ300を係合させる。
コンバータレンズ300内には、常閉性(ノーマリクローズタイプ)のADLPSW323が設けられており、このADLPSW323は、レンズロックピン321が押し込まれると、開放状態となる。コンバータレンズ300の前端面には、ADLPSW323と接続されるLSDET端子325が設けられ、ADLPSW323の他端は、コンバータレンズ300の後端面(カメラ本体200との装着面)に設けられたLSDET端子326に接続されている。ここでは、コンバータレンズ300がカメラ本体200に装着されている状態で、ユーザが交換レンズ100をカメラ本体に装着されているコンバータレンズ300に装着する動作を行う場合について説明する。コンバータレンズ300が交換レンズ100に装着される際に、レンズロックピン321が押し込まれると、ADLPSW323が一旦開放状態となり、その後、交換レンズ100がコンバータレンズ300に完全に装着されるとレンズロックピン321の押し込みがなくなりADLPSW323が閉状態となるように構成されている。このようにして、交換レンズ100のグランドレベルに接地されたLSDET端子56の電圧レベルを、ADLPSW323を介してカメラ本体200側のLSDET端子211により検出してカメラ本体200側では交換レンズ100の装着を検知することができる。
コンバータレンズ300の前端面には、端子A311aと端子B311bが設けてある。この実施形態においては、端子B311bは、グランドレベルに接続されていることから、Lレベルとなっており、端子A311aは、グランドレベルに接続されておらず、開放状態となっている。コンバータレンズ300が交換レンズ100に装着されていない状態では、端子A311aは開放状態となっているが、交換レンズ100とコンバータレンズ300が装着された状態では、交換レンズ100の内部でプルアップ抵抗(R1、R2)によりVccにプルアップされHレベルとなる。なお、端子A311a、端子B311bをLレベルに設定するか開放状態とするかは、コンバータレンズ300の機種ごとに異ならせる。この点については、図4を用いて後述する。
コンバータレンズ300内には、電位をグランドにするGND端子327、GND2端子327a、GND端子328、GND2端子328a等の種々の端子が設けられている。
次に、図4を用いて、コンバータレンズ300の機種の識別について説明する。図4において、端子A、端子Bは、コンバータレンズ300の端子A311aと、端子B311bの出力レベルを表し、この出力レベルを交換レンズ100の端子A55a、55bによって検知することができる。本実施形態においては、コンバータレンズ300の検知端子として、2端子あることから、4状態を識別することができる。なお、コンバータレンズ300の機種が3機種までであれば、端子は2つでもよく、また機種が4から7機種であれば、端子は3個とすればよい。CPU41は、端子A、端子BのH/Lの状態をI/O45、46において検知する。
交換レンズ100の端子A55a、端子B55bは、プルアップされているので(電源Vccに抵抗を介して接続されている)、コンバータレンズ300が未装着状態では、CPU41のI/O45、46での検知結果は、両方ともHレベルとなる。コンバータレンズ300を装着すると、端子A311a、端子B311bがグランドレベルに接地されているか開放状態かによって、HレベルまたはLレベルとなる。
コンバータレンズ300の種類は、端子Aと端子Bの検知レベルに応じて、判定することができる。図4に示す例では、端子AがHレベル、端子BがHレベルの場合には、コンバータレンズ300が装着されておらず、交換レンズ単体の場合である。例えば、交換レンズ100を直接、カメラ本体200に装着した場合には、端子A55a、端子B55bは、カメラ本体100のマウント面に接触し、マウント面がグランドレベルになっていないことから、両端子の検知結果はHレベルとなるように構成されている。
また、端子AがHレベル、端子BがLレベルの場合にはコンバータレンズ300の種類は、テレコンA倍である。同様に、端子AがLレベル、端子BがHレベルの場合にはコンバータレンズ300の種類は、テレコンB倍であり、端子AがLレベル、端子BがLレベルの場合にはコンバータレンズ300の種類は、テレコンC倍である。本実施形態においては、テレコンA倍については市販されているものとし、テレコンB倍およびC倍については、現在市販されていないが、将来市販されるものとして説明する。コンバータレンズの端子数が1個の場合には、レンズ単体、テレコンA倍までを識別することができる。
なお、本実施形態においては、端子A55a、端子B55bがHレベルであるかLレベルであるかを検知することによって、コンバータレンズ300の装着の有無や種類を識別していたが、端子を1つにして、コンバータレンズ300側の端子とグランドレベルの間に抵抗を接続し、この抵抗の抵抗値を機種ごとに異ならせ、また交換レンズ100側の端子にA/D変換器、および端子と定電圧出力の間に交換レンズ側抵抗を接続し、抵抗と交換レンズ側抵抗で、この定電圧を分圧した電位をA/D変換し、A/D変換値に基づいて、コンバータレンズ300の装着の有無や種類を識別するようにしてもよい。
交換レンズ100には、グランドレベルに接地されたLSDET端子56が設けられ、またカメラ本体200にはLSDET端子211が設けられ、コンバータレンズ300のLSDET端子325、326の間にはノーマリクローズのADLPSW323が接続されていることから、カメラ本体200は、LSDET端子211の電位を検出して交換レンズ100の装着状態を検知することができる。
すなわち、カメラ本体200にコンバータレンズ300が装着されている状態において、交換レンズ100をコンバータレンズ300が装着されているカメラ本体200に装着すると、レンズロックピン321が一旦押し込まれ、ADLPSW323がオフとなり、完全に装着されるとレンズロックピン321の押し込みが解除されADLPSW323がオンとなる。カメラ本体200のLSDET端子211を介してADLPSW323のオフからオンへの変化によるHレベルからLレベルへの変化を検知して交換レンズ100の装着を検知することができる。また、交換レンズ100にコンバータレンズ300が装着されている状態では、交換レンズ100のLSDET端子56はグランドレベルに接地されていることからLレベルであり、ADLPSW323がノーマリクローズであることから、LSDET端子326はLレベルとなる。したがって、コンバータレンズ300が装着されている交換レンズ100をカメラ本体200に装着する場合は、LSDET端子211は交換レンズ100(この場合はコンバータレンズ300が装着された交換レンズ100)が装着されたことを検知する。
次に、本実施形態において、コンバータレンズ300の識別結果に応じた制御について説明する。前述したように、コンバータレンズ300のコストアップを抑えるために、本実施形態においては、コンバータレンズ300内に制御用のCPU等を設けず、代わりに識別用の端子(端子A311a、端子B311b)を設けている。交換レンズ100は、この識別用の端子の状態を検知し、検知結果に応じて、交換レンズ100からカメラ本体200に出力する交換レンズ100の識別用のデータ(レンズ識別データ)を切り替えている。すなわち、本実施形態においては、交換レンズ100にコンバータレンズ300を装着すると、レンズ識別データを変えることによって、カメラ本体200側から見て、異なる交換レンズが装着されたように振る舞うようにしている。
コンバータレンズ300と装着可能に設計された交換レンズであれば、複数種類の交換レンズと、複数種類のコンバータレンズを、自在に組み合わせて使用することができる。ここで、コンバータレンズと装着可能に設計された交換レンズとは、以下を意味する。
(1)コンバータレンズ検出端子(図3の例では、端子A55a、端子B55b)を有する。
(2)交換レンズのCPU内でコンバータデータ/制御を切り替える処理を実施可能である。すなわち、コンバータレンズが装着されている場合と未装着の場合で、制御を切り替えることができる。
(3)コンバータレンズを装着することで、倍率がアップする光学設計がなされている鏡枠(交換レンズ)である。
本実施形態においては、レンズIDなどは、交換レンズ単体の場合と、交換レンズにコンバータレンズを組み合わせた場合で同一としていることから、既存のアプリケーション、ファームウエアのアップデートシステム、カメラ運用システムを変更することなく対応できる。また、個々の交換レンズに付与されるレンズシリアル番号の1文字(数字)を変更することで、カメラ本体および上述の各システムに対して、異なる性能を持ったレンズのように認識させ、またレンズデータを切り替えることで、異なる交換レンズのように振る舞うことができる。レンズシリアル番号については、図5を用いて後述する。
次に、交換レンズ100におけるコンバータレンズ制御の概要について説明する。なお、制御の詳しい動作については、図6および図7に示すフローチャートを用いて後述する。
(1)電源投入時またはADLPSW323(図3参照)の切り替え時に、交換レンズ100はコンバータレンズ検出用の端子A55a、端子B55bの状態を検知し、端子状態により、コンバータレンズ300の装着の有無を判断する。
(2)端子A55a、端子B55bの状態検知結果に基づいて、交換レンズ単体の場合を含め、図4に示す4状態を検出する。本実施形態においては、テレコンA倍については市販されており、テレコンB倍およびC倍については将来市販されるものとする。将来市販されるテレコンB倍およびC倍については、市販された時点で、交換レンズ100の記憶部37に記憶されたファームウエアをアップデートすることにより、テレコンB倍またはテレコンC倍を適正に使用することが可能となる。
(3)端子A55a、端子B55bの状態検知結果に基づいて、カメラ本体200と交換レンズ100の間のデータの切り替えを行う。
(4)交換レンズ100からカメラ本体200に送信するレンズシリアル番号(本実施形態においては12文字)の11桁目をコンバータレンズの有無・種類に割り当てる。例えば、コンバータレンズなしであれば、0(0×30(アスキー表示))、コンバータレンズを検出した場合には、A(0×40(アスキー表示))とし、別の鏡枠が装着されたかのように、カメラ本体200に認識させる。
(5)交換レンズ100側からの送信データも、コンバータレンズ300の有無により、レンズ側で切り替えてカメラ本体200に送信する。
以上の(1)〜(5)の制御を行うことにより、カメラ本体200は、コンバータレンズ300が装着されている場合と未装着の場合では、異なる交換レンズが装着されていると認識し、また交換レンズ100はデータのやり取りにおいて異なる交換レンズのように振る舞う。
次に、カメラ本体200側の交換レンズの認識について説明する。カメラ本体200は、交換レンズ100に対して、種々のコマンドを送信し、交換レンズ100はコマンドに応じた動作を行い、また要求されたデータを送信する。例えば、カメラ本体200からAskDataSが送信されると(図7のS23、S33参照)、交換レンズ100は交換レンズのレンズ識別データをカメラ本体200に送信する。また、カメラ本体200からAskDataMが送信されると(図7のS25、S35参照)、交換レンズ100は交換レンズのレンズ情報をカメラ本体200に一括送信する。
交換レンズ100側からカメラ本体200に対して、交換レンズ100の識別用のデータとしては、メンバーID、レンズID、H/W_Ver、F/W_Ver、レンズシリアル番号が送信される。ここで、メンバーIDは交換レンズのメーカを示すIDである。レンズIDはレンズ機種毎に決められるIDである。H/W_Verは電気回路(基板)のバージョンを表すIDである。F/W_Verはファームウエアのバージョンを表すIDである。カメラ本体200は、AskDataSやAskDataM等のコマンドに対して、交換レンズ100から送信されてくるメンバーID、レンズID、H/W_Ver、F/W_Ver、レンズシリアル番号の全てが一致している場合に、同じ交換レンズ100であると判断し、1文字でも異なれば、異なる交換レンズ100と判断する。
次に、図5を用いて、レンズシリアル番号の構成について説明する。前述したように、レンズシリアル番号は、本実施形態においては、12桁の数字やアルファベット等の文字から構成される。レンズシリアル番号の12桁の文字の内、1桁目から9桁目までが、工場出荷時に個々の鏡枠毎に付与される製造番号を示している。10桁目は、修理用に使用し、修理を行う毎に文字が変化する。また、11桁目は、コンバータレンズが装着されている場合に使用する。12桁目は、使用していないことを示す。
図5の例に示すように、コンバータレンズが装着されていない交換レンズ単体の場合(図中では「レンズ単体」)と比較し、コンバータレンズが装着されると(図中では「レンズ+テレコン」)、11桁目の文字が異なり、他の文字は同じである。すなわち、図5の例では、交換レンズ単体の場合には、11桁目は「0」であるのに対して、コンバータレンズが装着されている場合には、11桁目は「A」であり、異なっている。前述したように、カメラ本体200の本体制御部203は、レンズシリアル番号を構成する文字の内の1文字でも異なると、別の交換レンズ100と認識する。
このように、本実施形態においては、コンバータレンズ300が装着された場合には、未装着の場合と比較し、11桁目の文字を変更したレンズシリアル番号をカメラ本体200に送信する。カメラ本体200は、これによって、コンバータレンズ300の装着時と未装着時で異なる交換レンズ100が装着されたとして制御を行う。
次に、レンズ名称について説明する。Exif(Exchageable image file format)規格では、カメラや交換レンズ等の機種等の情報を写真データに記録することができ、またこの情報を用いて、装着されている交換レンズ等をカメラ本体200の表示部に表示することもできる。
本実施形態においては、端子A55a、端子B55bによって、コンバータレンズ300の装着の有無や種類を判別することができることから、Exif用のデータに反映させることが可能となる。例えば、コンバータレンズ300が未装着の場合には、交換レンズ100単体の名称、例えば、「メーカ名 M.40−150mm F2.8」のように、メーカ名、焦点距離、絞り値等を表示する。この交換レンズ100にコンバータレンズ300が装着されている場合には、「M.40−150mm F2.8 + M.EC−14」のように、交換レンズ100とこれに装着されたコンバータレンズ300の名称を付加し、この名称をカメラ本体200に送信する。
前述したように、カメラ本体200が交換レンズ100の識別にあたって、「メンバーID」、「レンズID」、「H/W_Ver」、「レンズシリアル番号」、「F/W_Ver」を使用するが、これ以外に、前述の「レンズ名称」と「基板シリアル」もレンズ識別情報として使用する。このうち、レンズシリアル番号とレンズ名称は、コンバータレンズ300の装着時に変更される。
次に、コンバータレンズ300の調整データについて説明する。本実施形態に係るコンバータレンズ300は、CPU等の制御部やメモリ等を有していない。このため、コンバータレンズ自体がコンバータレンズ固有の調整値を持つことができない。なお、「コンバータレンズの調整データ」は、「交換レンズ単体時の個体毎の調整データ+コンバータレンズの設計値」をいう。ここで、コンバータレンズの設計値とは、「設計または光学シミュレーションで得た設計値」、または「試作等によって得られた値(平均値等)」を意味する。
コンバータレンズ自体が調整値を持つことができないことからで、本実施形態においては、交換レンズ100は、交換レンズ個体毎の調整データと、コンバータレンズの設計値を足して、コンバータレンズの調整データを生成する処理を行う。なお、「足して」とは、算術の加算の意味ではなく、何らかの演算を作用させることを意味し、例えば、「コンバータレンズの設計値」を乗算するとか、2倍して足す等の演算処理を意味する。
コンバータレンズ300の調整データを生成するにあたって、交換レンズ100の販売時に未販売のコンバータレンズに対しては、そのコンバータレンズが発売された際に交換レンズ100ファームウエアをアップデートすることにより、そのコンバータレンズを適正に使用することが可能となる。この場合、交換レンズ100内のデータ領域確保と最適化のために、主に以下の3つのデータ形式にタイプ分けを行う。
データ形式1:交換レンズ単体とおなじ
データ形式2:専用データであり、交換レンズ単体データ×係数で算出する
データ形式3:専用データであり、専用オリジナルデータを記憶する
上述のデータ形式1は、交換レンズ単体のデータと同じであり、コンバータレンズによってデータの増加はない。データ形式2は、係数タイプのデータであり、例えば、1.4倍のコンバータレンズであれば、マスターレンズ(装着する交換レンズ)のデータに対して、1.4、(1.4)2といった係数を乗算することで算出することのできるタイプである。データ形式3は、簡単な係数でなく、複雑な式や、式では表すことができない光学設計によって決まるデータであり、ファームウエアのアップデートの際に、データそのものが記憶される。
また、データを使用する頻度によって、主に以下の3つのデータタイプに分類される。
データタイプ1:制御処理で使用するデータタイプ
データタイプ2:一括送信データタイプ
データタイプ3:状態送信データタイプ
上述のデータタイプ1は、制御処理で使用するデータであり、例えば、交換レンズ100内のアクチュエータ駆動、演算処理などで絶えず使用するデータである。データの復元が必要な場合には、RAM領域などに展開し、予めデータを演算しメモリ領域に展開して億タイプのデータである。
データタイプ2は、一括送信データタイプであり、電源投入時の交換レンズ100とカメラ本体200の間で行うレンズデータ送信で使用するデータである。電源投入時に使用できればよく、演算で求めてもよい。
データタイプ3は状態送信データタイプであり、交換レンズ100とカメラ本体200の間で同期タイミングの際に状態送信で使用するデータである。演算が容易であれば、必要に応じて演算し、演算が複雑な場合には、交換レンズ100内のCPU41のメモリ領域に展開しておく。
本実施形態においては、コンバータレンズ300の調整データを生成するにあたって、データタイプを3タイプに分けることで、ファームウエアの演算処理の最適化を図ることができる。
次に、像面速度(Defmm/s)のデータサイズについて説明する。交換レンズ100からカメラ本体200に送信するデータの中には、フォーカスレンズを移動させた時の像面の移動速度である像面速度のデータが含まれている。例えば、像面速度Defは像面速度の最大値であり、1Byteのデータサイズが割り当てられている。通常の交換レンズでは、1Byteのデータサイズで十分であるが、テレコン型のコンバータレンズ300を装着することにより、像面速度がより速くなり、1Byteのデータサイズでは不十分となることがある。そこで、テレコン型のコンバータレンズ300を装着することが有る場合には、像面速度Def(mm/s)のデータサイズを2Byteに変更すればよい。
次に、図6及び図7に示すフローチャートを用いて、交換レンズ100のCPU41が実行するコンバータレンズ300の検出とその処理について説明する。このフローは、記憶部37に記憶されているプログラムに従ってCPU41が交換レンズ100内の各部を制御することによって実行する。なお、図中では、コンバータレンズ300をテレコンと略称で記載してある。
図6に示すコンバータレンズ検出のフローは、まず、電源オンとなると(S1)、リセット解除を行い(S3)、レンズCPU初期化処理を行う(S5)。ここでは、電源オンの時点で、一旦、交換レンズ100のレンズCPU41等、交換レンズ100内の電気回路等をリセットする。
レンズCPU初期化処理を行うと、次に、コンバータレンズ検出端子のチェックを行う(S7)。ここでは、CPU41は、I/O45、46によって端子A55aおよび端子B55bの状態を検出する。この検出の結果、CPU41は、コンバータレンズ300が装着されているか、また装着されている場合には、コンバータレンズ300の種類を認識することができる。
コンバータレンズ検出端子のチェックを行うと、次に、ResetLensコマンドを受信したか否かを判定する(S9)。電源がオンとなると、カメラ本体200から交換レンズ100に対して、リセット要求のコマンドが送信されてくる。このステップでは、このResetLensコマンドを受信したか否かを判定し、未受信の場合には、ResetLensコマンドを受信するのを待つ。
ステップS9における判定の結果、ResetLensコマンドを受信すると、ステップS11以下において、コンバータレンズ300の有無および種類に応じた処理を行う。まず、コンバータレンズ300が装着されているか否かの判定を行う(S11)。ここでは、ステップS7におけるコンバータレンズ検出端子チェックの結果に基づいて判定する(図4参照)。
ステップS11における判定の結果、コンバータレンズ300が装着されていない場合には(S11→No)、レンズ(交換レンズ)単体のレンズ名称、レンズシリアル番号に変更する(S21)。この場合には、コンバータレンズ300は装着されておらず、交換レンズ100単体が装着された状態である。この場合には、レンズ名称およびレンズシリアル番号は、交換レンズ100単体についてのものを使用する。
続いて、レンズ識別データをカメラ本体に応答する(S23)。カメラ本体200より、レンズの識別データの送信を要求するAskDataSコマンドを受信すると、レンズ識別データをカメラ本体200に送信する。
続いて、レンズ(交換レンズ)単体のレンズ情報一括データ送信を行う(S25)。カメラ本体200より、レンズデータの送信を要求するAskDataMコマンドを受信すると、交換レンズ100内の記憶部37に記憶されているレンズ情報をそのまま一括送信する。
ステップS11に戻り、このステップにおける判定の結果、コンバータレンズ300を装着していた場合には、次に、認識外のコンバータレンズが装着されているか否かを判定する(S13)。ここでは、ステップS7におけるコンバータレンズ検出端子チェックの結果に基づいて判定する。交換レンズ100に装着可能なコンバータレンズ300の調整データを生成するためのファームウエアは、新たなコンバータレンズが市販される毎にファームウエアのアップデートがなされることにより記憶部37に形成される。しかし、ユーザによっては、ファームウエアのアップデート行わない場合があり、この場合には認識外のコンバータレンズが装着されることになる。また、コンバータレンズの検出端子が異常な状態であることを検出し、認識外のコンバータレンズが装着されたと認識する場合もある。
ステップS13における判定の結果、認識内のコンバータレンズが装着されている場合には(S13→No)、レンズ(交換レンズ)+コンバータレンズのレンズ名称、レンズシリアル番号に変更する(S31)。この場合には、認識内のコンバータレンズが装着されていることから、交換レンズ100内のファームウエア(プログラム)に従って、前述したように、認識したコンバータレンズと交換レンズの名称、およびレンズシリアル番号に変更する。
続いて、レンズ識別データをカメラ本体に応答する(S33)。カメラ本体200より、レンズの識別データの送信を要求するAskDataSコマンドを受信すると、ステップS31において変更したレンズ名称やレンズシリアル番号等を含むレンズ識別データをカメラ本体200に送信する。
続いて、レンズ(交換レンズ)+コンバータレンズのレンズ情報一括データ送信を行う(S35)。カメラ本体200より、レンズデータの送信を要求するAskDataMコマンドを受信すると、交換レンズ100内の記憶部37に記憶されているレンズ情報等を用い、前述したように、コンバータレンズの調整データを生成し、この調整データを一括送信する。すなわち、コンバータレンズの光学系の光学特性と交換レンズの撮影光学系の光学特性とを合成した光学特性に関する情報を生成し、カメラ本体へ送信する。
ステップS25またはS35において、レンズ情報一括データ送信を行うと、次に、初期通信実施後のアクチュエータの初期化駆動(SetInitActLens)を行う(S37)。ここでは、交換レンズ100の各種アクチュエータ(例えば、フォーカスレンズ駆動機構25内のフォーカスレンズ用アクチュエータ、絞り駆動機構21内の絞り用アクチュエータ等)の初期化駆動を行う。
続いて、ライブビューレンズ状態同期処理開始を行う(S39)。カメラ本体200はライブビュー表示を行うが、このときの交換レンズ100の状態検出を行う。すなわち、カメラ本体200から交換レンズ100に対して、SetActLVコマンド、すなわち、カメラ本体200から交換レンズ100に駆動指示コマンドのSetActLVと、交換レンズ100からカメラ本体200へ現在のレンズの状態(フォーカスレンズ位置Fcs、絞り値AV、ズーム位置ZM等)の情報を送信要求するAskStatusLVを送信する。
ステップS13に戻り、判定の結果、認識外のコンバータレンズが装着されていた場合には(S13→Yes)、ResetLensにてレンズは駆動せず、本体に応答する(S41)。ステップS9において、RestLensコマンドを受信しても初期化のためにレンズ駆動等の各種アクチュエータの初期化動作を行わず、その旨をカメラ本体200に応答するデータを送信する。
続いて、レンズ(交換レンズ)単体のデータにてAskDataSコマンドとAskDataMコマンドに応答する(S43)。AskDataSコマンドは、レンズの識別データの送信要求であり、AskDataMコマンドは、交換レンズ100からカメラ本体200へデータの送信要求である。コンバータレンズ300が装着されているが、認識外のコンバータレンズであることから、このステップでは、交換レンズ100内の記憶部37に記憶されているレンズ単体の識別データ等を送信する。
次に、アクチュエータの初期化駆動(SetInitActLens)において、レンズは駆動せず、本体に応答する(S45)。ここでは、認識外のコンバータレンズが装着されていることから、交換レンズ100内のレンズ群同士の干渉等の不測の駆動動作とならないように、レンズ駆動等の各種アクチュエータの駆動を禁止し、その旨をカメラ本体200に応答するデータを送信する。
続いて、ステップS39と同様に、ライブビューレンズ状態同期処理を開始する(S47)。認識外のコンバータレンズが装着されているが、カメラ本体200ではライブビュー表示を開始し、このときの交換レンズ100の状態検出を、ステップS39と同様にして行う。
ライブビューレンズ状態同期処理を開始すると、次に、L_Status_Mの撮影可否フラグで撮影不可にする(S49)。L_Status_Mは、AskStatusLVの応答データの一つであり、レンズの状態(ステータス)を示すデータ群である。すなわち、交換レンズ100に認識外のコンバータレンズが装着されていることから、このステップにおいて撮影不可であることを、カメラ本体200に伝える。カメラ本体200は、撮影不可であることを入力すると、例えば、ユーザに撮影不可であることを告知するために、表示部に「レンズ状態を確認ください」等の表示を行う。
ステップS49またはS39の処理を行うと、コンバータレンズ検出のフローを終了する。
以上説明したように、本発明の一実施形態におけるカメラシステムは、撮影光学系を含む交換レンズ100と、この交換レンズ100を装着可能なカメラ本体200とからなる。交換レンズ100は、交換レンズ100のシリアル番号を記憶する記憶部37と、交換レンズ100に対するコンバータレンズ300の装着を検出する検出部(端子A55a、端子B55b等)と、検出部によりコンバータレンズ300の装着が検出された場合に、シリアル番号を変更して変更後のシリアル番号をカメラ本体200に送信するレンズ制御部(CPU41等、図7のS31等)を有している。このため、コストアップせずに、種々の組み合わせや将来の拡張が可能である。すなわち、コンバータレンズ300が装着されている場合には、シリアル番号を変更し、この変更したシリアル番号をカメラ本体200に送信することから、カメラ本体200はコンバータレンズ300が装着された交換レンズを、交換レンズ単体とは異なる交換レンズとして処理することができる。
また、本発明の一実施形態においては、コンバータレンズが装着されていると判別した場合に、交換レンズはコンバータレンズの光学系の光学特性と交換レンズの撮影光学系の光学特性とを合成した光学特性に関する情報を、カメラ本体へ送信している(図7のS35等)。このため、コンバータレンズを装着した交換レンズを、これとは異なる別の交換レンズの光学データとして生成してカメラ本体に送信するので、カメラ本体は何ら特別な処理を行うことなく処理することができる。
また、本発明の一実施形態においては、コンバータレンズが装着されていると判別した場合には、交換レンズは、シリアル番号の内の一文字を変更している。このため、簡単な処理で、コンバータレンズを装着した交換レンズを、これとは異なる別の交換レンズとして扱うことができる。
なお、本発明の一実施形態においては、交換レンズ100にコンバータレンズ300を装着した例について説明したが、コンバータレンズに限らず、エクステンションチューブ、ベローズ等の中間アダプタでもよい。また、交換レンズ100とカメラ本体200の間に装着するに限らず、交換レンズ100の前面側に装着するマクロレンズ等であってもよい。
また、本発明の一実施形態においては、交換レンズ100側からカメラ本体200に送信する識別データとして、シリアル番号を変更する例について説明したが、これに限らず、レンズ名称等、レンズを識別するための他のデータを変更するようにしてもよい。また、シリアル番号の一文字を変更する例について説明したが、一文字に限らず、二文字以上を変更するようにしてもよい。
また、本発明の一実施形態においては、端子A55a、端子B55bによる電気的な接点によってコンバータレンズ300の有無や種類を検出していたが、電気的接点に限らず、機械的スイッチ(コンバータを装着するとオンオフするスイッチ)、磁気検出等の他の検出方法によって、コンバータレンズ300の有無や種類を検出するようにしてもよい。
また、本発明の一実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォーン、携帯情報端末(PDA:Personal Digital Assist)、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラでも構わない。いずれにしても、交換レンズにアダプタを装着すると光学系が変化する機器であれば、本発明を適用することができる。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。