以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.カメラシステムのブロック図
2.初期化処理の概要
3.初期化実施要素情報データフォーマット
4.第1の初期化処理
4.1 交換レンズがボディよりも高機能である場合
4.2 交換レンズとボディの機能が同等である場合
4.3 交換レンズがボディよりも低機能である場合
5.第2の初期化処理
5.1 交換レンズがボディよりも高機能である場合
5.2 交換レンズとボディの機能が同等である場合
5.3 交換レンズがボディよりも低機能である場合
6.初期化処理の選択
7.まとめ
8.同期コマンドと非同期コマンド
<1.カメラシステムのブロック図>
図1は、本技術を適用したカメラシステムの一実施の形態の構成例を示すブロック図である。
図1のカメラシステム1は、レンズ交換式のデジタルカメラであり、着脱可能な交換レンズ10と、カメラ本体側となる撮像装置60とを備える。
交換レンズ10は、撮像装置60のマウント部71に対して着脱可能に取り付けられるマウント部21を備える。マウント部21は、撮像装置60と電気的に接続する複数の端子(図示せず)を有する。
また、交換レンズ10は、レンズ制御部22、ズームレンズ23、手振れ補正レンズ24、絞り25、フォーカスレンズ26、液晶ND(Neutral Density)フィルタ27、鏡筒表示部28、操作部29、メモリ部30、記録部31、及び、電源制御部32を備える。
さらに、交換レンズ10は、ズーム駆動部41、手振れ駆動部42、手振れロック駆動部43、絞り駆動部44、フォーカスレンズ駆動部45、および、液晶ND駆動部46を備える。
レンズ制御部22は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの演算処理装置と周辺回路などで構成され、記録部31に記録されている所定の制御プログラムを読み出して実行することにより、交換レンズ10全体を制御する。
例えば、レンズ制御部22は、マウント部21の所定の通信端子を介して供給された撮像装置60からの指示、または、操作部29が受け付けたユーザの操作に応じて、ズームレンズ23の位置を制御する。より具体的には、レンズ制御部22は、例えば磁気センサ(MRセンサ)等で構成されるズーム位置検出センサ(不図示)からズームレンズ23の現在位置を取得し、取得結果に基づいてズームレンズ23を所定の位置に移動させるための駆動方向及び駆動量を決定して、決定した駆動方向及び駆動量を移動命令とともにズーム駆動部41に出力する。ズーム駆動部41は、レンズ制御部22から供給された移動命令に基づいて、指示された駆動方向及び駆動量となるようにズームレンズ23を光軸方向に移動させる。
また、レンズ制御部22は、手振れを補正するように手振れ補正レンズ24を制御する。具体的には、レンズ制御部22は、手振れ検出センサ(不図示)によって検出された手振れ量に基づいて、手振れ量を打ち消す方向の手振れ補正レンズ24の駆動方向及び駆動量を決定して、決定した駆動方向及び駆動量を移動命令とともに手振れ駆動部42に出力する。手振れ検出センサは、例えば、ジャイロセンサ及び3軸加速度センサの両方またはいずれか一方で構成される。ジャイロセンサは、手振れ補正レンズ24の補正方向として、PitchまたはYawに対応する方向のずれ(ブレ)を検出する場合に用いられ、3軸加速度センサは、光軸方向をZ軸としたときに、X軸とY軸の方向のずれ(ブレ)を検出する場合に用いられる。手振れ駆動部42は、レンズ制御部22から供給された移動命令に基づいて、指示された駆動方向及び駆動量となるように手振れ補正レンズ24を移動させる。
レンズ制御部22は、電源の供給がオフされた場合に、手振れ補正レンズ24をメカニカルにロックする制御を行う。すなわち、手振れ補正レンズ24は、撮像装置60から交換レンズ10へ電源が供給されている状態では、手振れ駆動部42を介した制御によって、所定の位置に制御が保たれているが、電源の供給がオフされると、手振れ駆動部42による位置制御が停止し、手振れ補正レンズ24は重力方向に所定量だけ落下する。レンズ制御部22は、電源の供給がオフされるタイミングに応じて、手振れロック駆動部43を介して、手振れ補正レンズ24をメカニカルにロックさせ、落下を防止する。手振れロック駆動部43は、レンズ制御部22から供給された固定命令に基づいて、手振れ補正レンズ24をメカニカルにロックする。
レンズ制御部22は、マウント部21の所定の通信端子を介して供給された撮像装置60からの指示などに応じて、絞り25(の開口径)を制御する。具体的には、レンズ制御部22は、絞り検出センサ(不図示)によって検出された絞り25の開口径を取得して、撮像装置60から指示されたF値になるように絞り駆動部44に指令し、絞り25を駆動させる。絞り駆動部44は、レンズ制御部22から指示された開口径となるように絞り25を駆動させる。
さらに、レンズ制御部22は、フォーカスレンズ26を制御する。具体的には、レンズ制御部22は、レンズ位置検出センサ(不図示)からフォーカスレンズ26の現在位置を取得し、取得結果に基づいてフォーカスレンズ26を所定の位置に移動させるための駆動方向及び駆動量を決定して、決定した駆動方向及び駆動量を移動命令とともにフォーカスレンズ駆動部45に出力する。フォーカスレンズ駆動部45は、指示された駆動方向及び駆動量となるようにフォーカスレンズ26を光軸方向に移動させる。フォーカスレンズ26は、1または複数の光学要素を含む。なお、フォーカスレンズ26は、ズームレンズ23に近い側のフォーカスレンズ群と、撮像装置60の撮像素子76に近い側のフォーカスレンズ群の2種類のフォーカスレンズ群で構成されてもよい。
レンズ位置検出センサは、例えば、磁気センサ、フォトダイオードアレイ、ポテンショメータ、反射式エンコーダなどで構成することができる。
フォーカスレンズ駆動部45は、例えば、超音波モータ、DCモータ、リニアアクチュエータ、ステッピングモータ、ピエゾ素子(圧電素子)などで構成することができる。
レンズ制御部22は、液晶NDフィルタ27を制御する。具体的には、レンズ制御部22は、マウント部21の所定の通信端子を介して供給された撮像装置60からの指示、または、操作部29が受け付けたユーザの操作に応じて液晶NDフィルタ27の透過率を決定し、液晶ND駆動部46に出力する。液晶ND駆動部46は、指示された透過率となる電圧値を決定し、液晶NDフィルタ27に駆動電圧を供給する。液晶NDフィルタ27は、液晶素子を用いて、駆動電圧に応じて光の透過率を変化させる。
鏡筒表示部28は、鏡筒部に配置された、液晶パネルや有機EL(Electro Luminescence)ディスプレイで構成された表示部である。鏡筒表示部28は、例えば、現在のレンズ位置における合焦距離や被写界深度など、所定の数値、文字、または記号を表示する。
操作部29は、ズーム倍率を手動で設定するズームリング、フォーカスレンズを手動で設定するフォーカスリングなどに対応し、ユーザの手動操作を受け付け、受け付けた操作に対応する操作信号をレンズ制御部22に供給する。
メモリ部30は、例えば、RAM(Random Access Memory)等の揮発性の記憶媒体であり、動作中の各種データの記憶領域として用いられる。
記録部31は、不揮発性の記憶媒体であり、記録部31には、レンズ制御部22が実行する所定の制御プログラムや調整用パラメータなどの各種データが記憶されている。
電源制御部32は、撮像装置60から供給された電源の電力量を検出し、検出した電力量に基づいて、交換レンズ10内の各部(レンズ制御部22や各種の駆動部)に対して電力量を最適に配分して電源を供給する。
一方、ボディ側となる撮像装置60は、交換レンズ10が着脱可能に取り付けられるマウント部71を備える。マウント部71は、交換レンズ10のマウント部21と電気的に接続する複数の端子(図示せず)を有する。
撮像装置60のマウント部71に交換レンズ10が装着されると、マウント部71の各端子と、交換レンズ10のマウント部21の各端子の、対応する端子どうしが、電気的かつ物理的に接続される。接続される端子には、例えば、電源供給のための端子(電源供給端子)、コマンドやデータを伝送するための端子(通信端子)、同期信号を伝送するための端子(同期信号端子)などがある。
撮像装置60は、さらに、ボディ制御部72、シャッタ73、シャッタ検出部74、シャッタ駆動部75、撮像素子76、画像信号処理部77、記録部78、表示部79、電源制御部80、電源部81、及び、操作部82を備える。
ボディ制御部72は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの演算処理装置と、不揮発性メモリ、及び、周辺回路などで構成され、内部の不揮発性メモリに記憶されている所定の制御プログラムを読み出して実行することにより、カメラシステム1全体を制御する。
例えば、ボディ制御部72は、操作部82から供給されたユーザの所定の操作を表す操作信号に基づいて、撮像素子76に撮像を行わせたり、所定のコマンドをマウント部71を介して交換レンズ10に送信し、フォーカスレンズ26やズームレンズ23などを駆動させる。
また例えば、フォーカスレンズ26のレンズ位置情報やズームレンズ23のズーム位置情報などが、交換レンズ10からマウント部71を介してボディ制御部72に供給され、ボディ制御部72は、それらの情報に基づく最適なタイミングで、記録部78へ記録させる画像の撮像や外部機器への伝送用の画像の撮像を撮像素子76に行わせる。撮像素子76により得られた画像(のデータ)は、ボディ制御部72の制御に従って、記録部78を介して記録媒体83に記録(記憶)されたり、表示部79に表示される。
シャッタ73は、撮像素子76の前面に配置されており、シャッタ駆動部75の制御に従って開閉する。シャッタ73が閉状態であるとき、交換レンズ10の光学系を通過してきた被写体の光が遮断される。シャッタ検出部74は、シャッタ73の開閉状態を検出し、ボディ制御部72に供給する。シャッタ駆動部75は、ボディ制御部72の制御に基づいてシャッタ73を開状態または閉状態に駆動する。
撮像素子76は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Mental Oxide Semiconductor)センサなどで構成され、被写体を撮像し、画像データを生成して出力する。
なお、撮像素子76がCCDセンサやCMOSセンサで構成される場合には、電子シャッタを用いることができるため、シャッタ73は省略することができる。シャッタ73が省略された場合、その制御に用いられるシャッタ検出部74とシャッタ駆動部75も省略される。
画像信号処理部77は、撮像素子76から供給される画像に対して所定の画像信号処理を実行する。例えば、画像信号処理部77は、撮像素子76から供給されるRAW画像を、所定のファイル形式の画像データに変換し、記録部78を介して記録媒体83に記録させる。また、画像信号処理部77は、RAW画像に対してデモザイク処理を実行し、さらに、可逆圧縮または非可逆圧縮して所定のファイル形式の画像データに変換し、記録部78を介して記録媒体83に記録させる。また例えば、画像信号処理部77は、撮像素子76から供給される画像データを、所定の表示フォーマットの画像信号に変換して、表示部79に供給し、撮像された画像を表示させる。
記録部78は、例えば不揮発性メモリで構成される記録媒体83に、撮像素子76で撮像された画像のデータなどを記録(記憶)させたり、記録媒体83から画像データを読み出す制御を行う。記録媒体83は、着脱可能とされてもよい。
表示部79は、液晶パネルや有機ELディスプレイ等のパネル型表示装置で構成され、画像信号処理部77から供給された画像(動画または静止画)を表示する。表示部79は、マウント部71が配置された正面と反対側の背面に実装され、スルー画像の表示や、記録媒体83に記録されている画像の表示などを行うことができる。
電源制御部80は、電源部81から供給される電源を、撮像装置60の各部へ供給する。また、電源制御部80は、撮像装置60の動作状態を考慮して、交換レンズ10に供給可能な電源の電力量を算出し、マウント部71を介して交換レンズ10に電源を供給する。電源部81は、例えば、NiCd電池やNiMH電池、Li電池等の二次電池、ACアダプタ等で構成される。
操作部82は、シャッタボタン、モードダイヤル、ズームボタン等のハードウエアキー、表示部79に積層されたタッチパネルによるソフトウェアキーを含み、ユーザが行う所定の操作を受け付けて、その操作信号をボディ制御部72に供給する。ユーザは、操作部82を操作することにより、例えば、撮影モードの設定や、カメラパラメータの設定などを行うことができる。
以上のように構成されるカメラシステム1において、交換レンズ10が備える手振れ補正レンズ24のロック機能、液晶NDフィルタ27による光量調整機能、鏡筒表示部28の表示機能は、旧型の交換レンズにはなく、モデルチェンジ等によって新しく追加された構成(機能)である。
<2.初期化処理の概要>
カメラ本体側の撮像装置60(以下、ボディ60と称する。)は、交換レンズ10が装着され、電源がオンされた場合、カメラシステム1全体を初期化する初期化処理を実行する。
なお、撮像装置60に交換レンズ10を装着する場合には、撮像装置60のマウント部71のマウント形式と、交換レンズ10のマウント部21のマウント形式が同一であることが前提となるが、両者のマウント形式が異なる場合には、マウント形式を変換するマウントアダプタを撮像装置60と交換レンズ10の間に挿入することで、異なるマウント形式であっても装着することができる。
図2は、カメラシステム1で実行される初期化処理の大まかな流れを示す図である。
初期化処理では、ボディ60側のボディ制御部72から、交換レンズ10のレンズ制御部22に対して、初期化を開始する初期化開始コマンドが送信される。
レンズ制御部22は、初期化開始コマンドを受信すると、交換レンズ10内の要素ごとに、初期化を実行する。
ここで、要素とは、交換レンズ10内のモジュール(部品)を、デバイス、光学部材、機能などの所定の単位でまとめた制御単位である。本実施の形態の交換レンズ10では、ズームレンズ23の制御機構、手振れ補正レンズ24の制御機構、手振れ補正レンズ24のロック機構、絞り25の制御機構、フォーカスレンズ26の制御機構、液晶NDフィルタ27の制御機構、及び、鏡筒表示部28の表示機構、に分けられる。
以下では、説明を簡単にするため、交換レンズ10のズームレンズ23の制御機構、手振れ補正レンズ24の制御機構、手振れ補正レンズ24のロック機構、絞り25の制御機構、フォーカスレンズ26の制御機構、液晶NDフィルタ27の制御機構、及び、鏡筒表示部28の表示機構の各要素を、それぞれ、単純に、ズームレンズ、手振れ制御、手振れロック、絞り、フォーカスレンズ、液晶ND、鏡筒表示部、と記述して説明する。
レンズ制御部22は、初期化開始コマンドを受信すると、ズームレンズ、手振れ制御、手振れロック、絞り、フォーカスレンズ、液晶ND、および、鏡筒表示部の要素ごとに、初期化処理を開始する。
なお、図2では、新しく追加された構成に対応する要素である、手振れロック、液晶ND、および、鏡筒表示部の3つの要素については省略されており、3つの新要素を備えない場合について説明する。
レンズ制御部22は、交換レンズ10内の各要素が初期化を完了したタイミングで、要素ごとに、初期化が完了した旨の初期化完了信号をボディ制御部72に送信する。具体的には、フォーカスレンズの初期化が完了したタイミングで、フォーカスレンズの初期化完了信号が送信され、絞りの初期化が完了したタイミングで、絞りの初期化完了信号が送信される。同様に、手振れ制御の初期化が完了したタイミングで、手振れ制御の初期化完了信号が送信され、ズームレンズの初期化が完了したタイミングで、ズームレンズの初期化完了信号が送信される。初期化の処理中、レンズ制御部22が各要素の初期化状況を逐次通知することはない。
初期化完了を表す初期化完了信号を要素単位で受信したボディ制御部72は、受信した要素ごとに、初期化を完了した要素に対応するボディ側の初期化処理(以下、要素対応初期化処理という。)を開始する。
例えば、ボディ制御部72は、フォーカスレンズの初期化完了信号を受信すると、フォーカスレンズに対応する要素対応初期化処理を開始し、絞りの初期化完了信号を受信すると、絞りに対応する要素対応初期化処理を開始する。同様に、ボディ制御部72は、手振れ制御の初期化完了信号を受信すると、手振れ制御に対応する要素対応初期化処理を開始し、ズームレンズの初期化完了信号を受信すると、ズームレンズに対応する要素対応初期化処理を開始する。
交換レンズ10側全体の初期化処理は、図2の例で言えば、初期化開始コマンドを受信して、各要素の初期化を開始したタイミングから、要素の初期化処理が最後に終了した、ズームレンズの初期化処理終了のタイミングまでである。
ボディ60側全体の初期化処理は、初期化完了信号を最初に受信して、その要素に対応する要素対応初期化処理を開始したタイミングから、最後に受信した初期化完了信号に対応する要素対応初期化処理が終了したタイミングまでである。
なお、図2は、レンズ制御部22が各要素の初期化処理を同時に開始した例を示しているが、各要素の初期化処理をどのような順番で実行するかは任意であり、各要素の初期化処理の開始時刻は異なっていてもよい。
ボディ60側において、交換レンズ10側の光量設定に応じて、明るさを適切な範囲に調整する処理である露出調整処理は、交換レンズ10の各要素のうち、光量に変化を与える絞りの初期化が完了すると、実行することができる。露出調整処理には、例えば、撮像素子76の信号ゲインの調整やシャッタスピードの調整、ホワイトバランス調整などが含まれる。
一般に、ボディ側が実行する要素対応初期化処理のうち、絞りに対応する要素対応初期化処理(以下、絞り要素対応初期化処理ともいう。)は、露出調整処理が含まれるため、他の要素対応初期化処理と比較すると、処理時間が長くなる。
カメラシステム1では、図2に示したように、交換レンズ10の要素単位で初期化完了信号が逐次送信されるので、撮像装置60側では、初期化完了信号を受信した要素に応じて、順次、必要な要素対応初期化処理を開始することができる。例えば、図2に示されるように、手振れ制御や、ズームレンズの要素の初期化がまだ完了していない状態であっても、絞りの初期化完了信号を受信した時点から、初期化処理時間が比較的長い、絞り要素対応初期化処理を開始することができるので、カメラシステム1全体としての初期化処理にかかる時間を短縮し、起動時間を高速化することができる。
ここで、図2を参照して説明したように、要素単位で初期化処理を実行し、初期化を完了するためには、交換レンズ10とボディ60が、初期化完了信号を送受信する要素数を知っている必要がある。
例えば、ボディ60が、交換レンズ10が送信してくる初期化完了信号の要素の数を知らない場合、ボディ60は、順次送信されてくる初期化完了信号を受信するが、どの初期化完了信号が最後の要素の初期化完了信号であるのかが分からず、いつまで初期化完了信号を待てばよいのか分からない。すなわち、全ての要素について初期化処理が完了したタイミングを把握することができない。
そこで、カメラシステム1では、交換レンズ10とボディ60のそれぞれが、自身が対応している要素を示す要素情報を相手方に通知するように構成されている。
<3.初期化実施要素情報データフォーマット>
図3のAは、交換レンズ10又はボディ60自身が対応しており、初期化を実施する要素を示す要素情報(以下、初期化実施要素情報という。)を相手方に通知する際のデータフォーマットを示している。
初期化実施要素情報は、データサイズ及びファイルタイプ識別子と、1以上の要素識別子及び要素Ver.情報(要素バージョン情報)とで構成される。データサイズ、ファイルタイプ識別子、要素識別子、及び要素Ver.情報の各データは1バイト(8ビット)の情報で表され、要素識別子及び要素Ver.情報は、送信元となる交換レンズ10又はボディ60が初期化を実施する要素に対応する数だけ格納される。したがって、初期化実施要素情報は、要素の個数に応じてデータサイズが可変する可変長形式である。
データサイズは、伝送される初期化実施要素情報のデータサイズを表す。
ファイルタイプ識別子は、伝送される初期化実施要素情報が、ボディ60側の初期化実施要素情報(以下、ボディ側初期化実施要素情報ともいう。)であるのか、又は、交換レンズ10側の初期化実施要素情報(以下、レンズ側初期化実施要素情報ともいう。)であるのかを識別する情報である。
例えば、図3のBに示されるように、伝送される初期化実施要素情報がボディ60側の初期化実施要素情報である場合、ファイルタイプ識別子には、0x01hが格納される。一方、伝送される初期化実施要素情報が交換レンズ10側の初期化実施要素情報である場合、ファイルタイプ識別子には、0x02hが格納される。なお、図3乃至図5において、0xYYhの表記は、“YY”が16進数で表されていることを意味する。
要素識別子は、送信元となる交換レンズ10又はボディ60が初期化を実施する要素を識別する情報である。
例えば、図3のCに示されるように、送信元となる交換レンズ10又はボディ60が初期化を実施する要素が、絞りである場合の要素識別子には0x01hが格納され、ズームレンズである場合の要素識別子には0x02hが格納される。同様に、要素が、フォーカスレンズ、手振れ制御、液晶ND、手振れ機構、液晶表示部である場合の要素識別子には、それぞれ、0x03h、0x04h、0x05h、0x06h、0x07hが、格納される。
要素Ver.情報は、それとセットで伝送される要素識別子が示す要素のバージョン情報を示す情報である。
例えば、図3のDに示されるように、要素Ver.情報が0x01hである場合、その要素は初期設定のバージョンであることを表し、要素Ver.情報が0x02hである場合、その要素はオプション設定のバージョンであることを表す。
図4は、ボディ60側が送信する初期化実施要素情報であるボディ側初期化実施要素情報の例を示している。
図4の例によれば、ボディ60は、フォーカスレンズ、ズームレンズ、絞り、手振れ制御、液晶表示部、手振れロック、及び、液晶NDの各要素に対応しており、それらの初期化を実施する。
図5は、交換レンズ10側が送信する初期化実施要素情報であるレンズ側初期化実施要素情報の例を示している。
図5の例によれば、交換レンズ10は、ズームレンズ、フォーカスレンズ、絞り、及び、手振れ制御の各要素に対応しており、それらの初期化を実施する。
要素識別子及び要素Ver.情報は、送信元となる交換レンズ10又はボディ60が初期化を実施する要素の数に対応して格納されるが、図4及び図5で示されるように、格納される順番は任意とされ、順不同である。
したがって、初期化実施要素情報を受信したレンズ制御部22又はボディ制御部72は、受信した相手側の初期化実施要素情報に格納されている要素識別子及び要素Ver.情報を、小さい順などの任意の順番に並び替え、自身の初期化実施要素情報と比較し、相手側が、自身が対応していない要素を備えているか否かを判断する。
なお、実際の交換レンズ10及びボディ60の組み合わせにおいては、交換レンズ10及びボディ60のお互いが相手側にない要素を備えている場合など、どちらが高機能とは言えない場合もあり得るが、本明細書において、交換レンズ10がボディ60よりも高機能であるとは、ボディ60が対応していない要素を交換レンズ10が備えていることをいう。反対に、交換レンズ10がボディ60よりも低機能であるとは、ボディ60が対応しており、初期化を実行可能な要素を交換レンズ10が備えていないことをいう。
<4.第1の初期化処理>
カメラシステム1が実行する初期化処理について、さらに具体的に説明する。
本開示の初期化処理の第1の例である、第1の初期化処理について説明する。
<4.1 交換レンズがボディよりも高機能である場合>
最初に、交換レンズ10がボディ60よりも高機能である場合、具体的には、交換レンズ10が手振れロック、液晶ND、および、鏡筒表示部の3つの新要素を備えるが、ボディ60は、その3つの新要素に対応していない場合について説明する。
ボディ60は、自身が対応している要素を示す要素情報を、初期化を実施する要素を示すボディ側初期化実施要素情報として、交換レンズ10に送信する。
図6のAは、ボディ側初期化実施要素情報が示す、ボディ60が初期化を実施する要素(ボディ側要素)を示している。
ボディ60は、手振れロック、液晶ND、および、鏡筒表示部の3つの新要素には対応しておらず、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御の4つの要素の初期化を実施する。
交換レンズ10も、自身が対応している要素を示す要素情報を、初期化を実施する要素を示すレンズ側初期化実施要素情報として、ボディ60に送信する。
図6のBは、レンズ側初期化実施要素情報が示す、交換レンズ10が初期化を実施する要素(レンズ側要素)を示している。
交換レンズ10は、手振れロック、液晶ND、および、鏡筒表示部の3つの新要素に対応しており、絞り、ズームレンズ、フォーカスレンズ、手振れ制御、液晶ND、手振れロック、及び、鏡筒表示部の7つの要素の初期化を実施する。
この場合、交換レンズ10は、ボディ60が、手振れロック、液晶ND、および、鏡筒表示部の3つの新要素に対応していないので、これらの要素の初期化完了信号をボディ60に送信することはできない。
交換レンズ10が初期化完了信号を送信することができる要素は、図6のCに示されるように、ボディ側初期化実施要素情報とレンズ側ボディ側初期化実施要素情報に共通する要素、換言すれば、ボディ側初期化実施要素情報とレンズ側ボディ側初期化実施要素情報を任意の順番に並び替え、それらのAND演算の演算結果に相当する要素となる。したがって、交換レンズ10は、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御についてのみ、初期化完了信号を送信することができる。
ここで、図2を参照して説明したように、要素単位で初期化完了信号を受信したボディ60側のボディ制御部72は、要素対応初期化処理を実行する。交換レンズ10が、絞りの初期化完了信号を送信すると、ボディ60は、絞り要素対応初期化処理を開始する。交換レンズ10が初期化完了信号を送信することができない要素のなかに、露出調整処理に影響を及ぼす要素がある場合には、その要素の初期化を完了するのを待って、絞りの初期化完了信号を送信する必要がある。なぜなら、ボディ60側の絞り要素対応初期化処理の開始後に、交換レンズ10側の光量設定が変化すると、露出調整処理が正しい値にならないためである。
そこで、交換レンズ10は、自身が有する各要素にボディ60が対応していない場合に備えて、各要素が、露出調整処理に関係するか(影響するか)否かに関する露出調整処理情報を、メモリ部30に有している。
例えば、図7に示されるように、露出調整処理に関係する場合は“1”、露出調整処理に関係しない場合は“0”のビット情報を、予め決定された要素の順番で配列したデータとして、メモリ部30に露出調整処理情報が記憶される。
あるいはまた、露出調整処理に関係する要素のみのリストを、露出調整処理情報として、メモリ部30に有する形態でもよい。露出調整処理情報のデータフォーマットはどのような形式でもよい。
図7に示されるように、ボディ60が対応していない、手振れロック、液晶ND、および、鏡筒表示部の3つの新要素のうち、液晶NDも、絞りと同様に、光量に変化を与える要素であるため、露出調整処理に関係する要素となる。
以下では、露出調整処理に影響を与える要素を露出影響要素と称し、露出調整処理に影響を与えない要素を、露出非影響要素と称する。
レンズ制御部22は、ボディ60が対応していないため初期化完了信号を送信するとボディ60側で良くない影響が生じる可能性が有る要素であって、露出調整処理に影響を与える要素(以下、非対応露出影響要素ともいう。)については、絞りの要素に包含して、初期化完了信号を送信する。
一方、ボディ60が対応していないため初期化完了信号を送信することができない要素であって、露出調整処理に影響を与えない要素(以下、非対応露出非影響要素ともいう。)については、レンズ制御部22は、初期化完了信号を送信可能な絞り以外の要素に包含して、初期化完了信号を送信する。
また、ボディ60が対応している露出影響要素及び露出非影響要素については、それぞれ、対応露出影響要素及び対応露出非影響要素と称する。
本明細書において、例えば、「第1要素について、第2要素に包含して、(第2要素の)初期化完了信号を送信する」とは、第1要素の初期化完了信号は送信されず、第1要素と第2要素の両方の初期化が完了した時点で、第2の初期化完了を送信する、ことをいう。
図8は、ボディ60が対応していない要素であり、露出調整処理に影響を与える要素(非対応露出影響要素)である液晶NDについての初期化完了信号の送信を説明する図である。
非対応露出影響要素である液晶NDについては、レンズ制御部22は、図8に示されるように、絞りと液晶NDの両方の初期化が終了した時点で、絞りに包含して、初期化完了信号をボディ制御部72に送信する。
より詳しくは、図8のAに示されるように、レンズ制御部22は、絞りの初期化が先に終了した場合であっても、液晶NDの初期化がまだ終了していない場合には、絞りの初期化完了信号を送信せず、液晶NDの初期化が終了した時点で、絞りの初期化完了信号を送信する。
また、図8のBに示されるように、レンズ制御部22は、液晶NDの初期化が先に終了した場合には、その後、絞りの初期化が終了した時点で、絞りの初期化完了信号を送信する。
図9は、ボディ60が対応していない要素であり、露出調整処理に影響を与えない要素(非対応露出非影響要素)である鏡筒表示部についての初期化完了信号の送信を説明する図である。
非対応露出非影響要素である鏡筒表示部については、絞りの初期化完了とは独立に処理され、レンズ制御部22は、対応露出非影響要素の初期化が終了した時点で、対応露出非影響要素に包含して、初期化完了信号を送信する。
絞りの初期化完了のタイミングも考慮すると、鏡筒表示部と対応露出非影響要素の初期化完了タイミングは、図9のA乃至Dの4パターンがあり得る。
図9のAとBは、絞りの初期化が先に完了した後で、複数の露出非影響要素の初期化が完了する場合の例を示している。図9のAは、複数の露出非影響要素のうち、先に、ボディ60が対応している対応露出非影響要素の初期化が完了し、その後、ボディ60が対応していない鏡筒表示部の初期化が完了する場合の例である。図9のBは、複数の露出非影響要素のうち、先に、ボディ60が対応していない鏡筒表示部の初期化が完了し、その後、ボディ60が対応している対応露出非影響要素の初期化が完了する場合の例である。
図9のCとDは、複数の露出非影響要素の初期化が先に完了した後で、絞りの初期化が完了する場合の例を示している。図9のCは、複数の露出非影響要素のうち、先に、ボディ60が対応している対応露出非影響要素の初期化が完了し、その後、ボディ60が対応していない鏡筒表示部の初期化が完了する場合の例である。図9のDは、先に、ボディ60が対応していない鏡筒表示部の初期化が完了し、その後、ボディ60が対応している対応露出非影響要素の初期化が完了する場合の例である。
図9のA乃至Dの4パターンのそれぞれについて、図10乃至図13で詳しく説明する。
図10は、図9のAに示したパターンに対応する処理フローを示している。
初めに、ステップS11において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS20において、交換レンズ10が初期化を実施する要素を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。
ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報を受信すると、ステップS12において、レンズ側初期化実施要素情報とボディ側初期化実施要素情報のANDを演算し、初期化完了信号が送信されてくる要素である初期化完了送信要素を認識する。いまの場合、初期化完了送信要素は、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御の4つとなる。
ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報を受信することで、初期化開始コマンドが交換レンズ10側で正常に受信され、交換レンズ10側で初期化処理が実行されること、換言すれば、各要素の初期化完了信号の受信を期待できることを認識することができる。
一方、レンズ制御部22は、ステップS20でレンズ側初期化実施要素情報を送信した後、ステップS21において、受信したボディ側初期化実施要素情報と、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信する要素が確定する。続いて、ステップS22において、各要素の初期化処理を開始する。ここでは、初期化処理を開始する前にレンズ側初期化実施要素情報を送信したが、レンズ側初期化実施要素情報の送信は、AND演算の後でも、初期化処理開始の後でもよい。また、初期化処理の開始とレンズ側初期化実施要素情報の送信は同時でもよい。
ズームレンズの初期化処理が完了したタイミングであるステップS23において、レンズ制御部22は、ズームレンズの初期化完了信号を、ボディ制御部72に送信する。
フォーカスレンズの初期化処理が完了したタイミングであるステップS24において、レンズ制御部22は、フォーカスレンズの初期化完了信号を、ボディ制御部72に送信する。
ステップS24の後、手振れ制御の初期化処理が完了するが、手振れ制御は、初期化完了信号を送信する最後の対応露出非影響要素であるので、レンズ制御部22は、このタイミングでは、手振れ制御の初期化完了信号を送信せず、手振れロックと鏡筒表示部の両方の初期化が完了したタイミングであるステップS26において、手振れ制御の初期化完了信号をボディ制御部72に送信する。すなわち、手振れ制御の初期化完了信号に、手振れロックと鏡筒表示部の両方の初期化完了が包含される。ただし、手振れ制御の初期化完了信号に、手振れロックと鏡筒表示部の初期化完了信号に相当する信号が含まれるわけではない。
露出影響要素については、レンズ制御部22は、絞りの初期化が完了したタイミングでは、絞りの初期化完了信号を送信せず、液晶NDの初期化が完了したタイミングであるステップS25において、絞りの初期化完了信号をボディ制御部72に送信する。すなわち、絞りの初期化完了信号に、液晶NDの初期化完了が包含される。ただし、絞りの初期化完了信号に、液晶NDの初期化完了信号に相当する信号が含まれるわけではない。
ボディ制御部72は、ステップS25の絞りの初期化完了信号を受信した時点で、露出調整処理を含む絞り要素対応初期化処理を開始する。
図11は、図9のBに示したパターンに対応する処理フローを示している。
図10では、交換レンズ10において、手振れ制御の初期化が先に終了し、その後、手振れロックと鏡筒表示部の初期化が完了する順番であったが、図11では、先に、手振れロックと鏡筒表示部の初期化が完了し、その後、手振れ制御の初期化が完了している。
この場合にも、初期化処理は、図10で説明した流れと同様となり、ステップS26において、手振れロックと鏡筒表示部の両方の初期化完了が包含されている、手振れ制御の初期化完了信号がボディ制御部72に送信される。その他の処理は、図10と同様である。
図12は、図9のCに示したパターンに対応する処理フローを示している。
図12は、図10と比較すると、露出影響要素である液晶NDの初期化完了タイミングが、露出非影響要素である手振れロックと鏡筒表示部の初期化完了タイミングよりも遅い点が異なる。これにより、図12では、絞りの初期化完了信号をボディ制御部72に送信するステップS25と、手振れ制御の初期化完了信号をボディ制御部72に送信するステップS26の順番が、図10における場合と反対となっている。それ以外については、図12は、図10と同様である。
レンズ制御部22は、手振れ制御の初期化が完了したタイミングでは、手振れ制御の初期化完了信号を送信せず、手振れロックと鏡筒表示部の両方の初期化が完了したタイミングで、手振れ制御の初期化完了信号をボディ制御部72に送信する。
図13は、図9のDに示したパターンに対応する処理フローを示している。
図13は、図11と比較すると、露出影響要素である液晶NDの初期化完了タイミングが、露出非影響要素である手振れロックと鏡筒表示部の初期化完了タイミングよりも遅い点が異なる。これにより、図13では、絞りの初期化完了信号をボディ制御部72に送信するステップS25と、手振れ制御の初期化完了信号をボディ制御部72に送信するステップS26の順番が、図11における場合と反対となっている。それ以外については、図13は、図11と同様である。
レンズ制御部22は、手振れロックと鏡筒表示部の両方の初期化が完了し、その後、手振れ制御の初期化が完了したタイミングで、手振れ制御の初期化完了信号をボディ制御部72に送信する。
以上のように、レンズ制御部22は、ボディ60側が対応していない要素であって、露出調整処理に影響を与える非対応露出影響要素と、ボディ60側が対応していない要素であって、露出調整処理に影響を与えない非対応露出非影響要素とに対して排他的に初期化完了信号を送信する。即ち、レンズ制御部22は、非対応露出影響要素については、絞りの要素に包含して初期化完了信号を送信し、非対応露出非影響要素については、初期化完了信号を送信可能な絞り以外の対応露出非影響要素に包含して初期化完了信号を送信する。
ボディ60側が対応していない要素が露出調整処理に影響を与える場合には、絞りの初期化完了信号の通知を行うタイミングを、非対応露出非影響要素の初期化が完了したタイミングとのAND条件を満たすタイミングとして交換レンズ10から送信することで、ボディ60側の露出調整処理に影響を与えないようにすることができる。
また、ボディ60側が対応していない要素が露出調整処理に影響を与えない場合には、非対応露出非影響要素の初期化完了は、ボディ60側が対応している露出非影響要素(対応露出非影響要素)の初期化完了信号に関連付ける(包含させる)ことで、ボディ60側の露出調整処理に関連しないようにすることができる。これにより、ボディ60側が、交換レンズ10全体の初期化完了を待つことなく、露出影響要素の初期化完了に応じて絞り要素対応初期化処理を開始することができるので、露出調整処理の開始を早めることができ、カメラシステム1全体としての初期化時間を短縮することができる。
なお、図10乃至図13では、露出調整処理に影響を与える要素である、絞りと液晶NDの初期化処理に関し、図8のAに示したような、絞りの初期化が先に終了し、その後、液晶NDの初期化が終了した時点で、絞りの初期化完了を送信する例が示された。しかし、図8のBに示したような、液晶NDの初期化が先に終了し、その後、絞りの初期化が終了した時点で、絞りの初期化完了を送信する場合でも、処理は同様である。
また、図10乃至図13では、露出非影響要素である手振れロックと鏡筒表示部の初期化完了が、手振れ制御の初期化完了信号に包含される例を示したが、これは一例に過ぎない。
非対応露出非影響要素の初期化が完了していない状態で、対応露出非影響要素が、最後の一つとなった場合、その最後に残った対応露出非影響要素と非対応露出非影響要素の両方の初期化が完了した時点で、対応露出非影響要素の初期化完了信号が送信される。即ち、最後に残った対応露出非影響要素の初期化完了信号に、非対応露出非影響要素の初期化完了信号が包含される。
また、初期化完了信号をボディ60側に送信する露出非影響要素(対応露出非影響要素)が二つ以上残っている場合には、その直後に完了した対応露出非影響要素の初期化完了信号に、非対応露出非影響要素の初期化完了信号が包含される。
初期化完了信号をボディ60側に送信する露出非影響要素(対応露出非影響要素)が二つ以上残っている場合について、具体例で説明する。例えば、図14に示されるように、露出非影響要素である、手振れロック、ズームレンズ、鏡筒表示部、フォーカスレンズ、及び、手振れ制御が、その順で初期化を完了したとする。
ボディ60側が対応していない露出非影響要素(非対応露出非影響要素)である手振れロックと鏡筒表示部それぞれの初期化完了の時点では、初期化完了信号をボディ60側に送信する露出非影響要素(対応露出非影響要素)が二つ以上(具体的には、フォーカスレンズと手振れ制御)残っている。
この場合、図14に示されるように、手振れロックの初期化完了は、その直後に初期化が完了した対応露出非影響要素であるズームレンズの初期化完了信号に包含され、鏡筒表示部の初期化完了は、その直後に初期化が完了した対応露出非影響要素であるフォーカスレンズの初期化完了信号に包含される。
ただし、上述したように、包含する側の要素の初期化完了信号に、非対応露出非影響要素である手振れロックと鏡筒表示部の初期化完了信号に相当する信号が含まれるわけではない。
<ボディ側の第1の初期化処理のフローチャート>
次に、図15のフローチャートを参照して、交換レンズ10のみが新要素に対応している場合にボディ60側で実行される第1の初期化処理について説明する。この処理は、例えば、ボディ60に交換レンズ10が装着され、電源がオンされたときに、開始される。
初めに、ステップS51において、ボディ制御部72は、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報とともに、初期化を開始する初期化開始コマンドをレンズ制御部22に送信する。
ステップS52において、ボディ制御部72は、交換レンズ10が初期化を実施する要素を示すレンズ側初期化実施要素情報をレンズ制御部22から受信したかを判定し、レンズ側初期化実施要素情報を受信したと判定されるまで、ステップS52の処理を繰り返す。
そして、ステップS52で、レンズ側初期化実施要素情報を受信したと判定された場合、処理はステップS53に進み、ボディ制御部72は、初期化実施要素情報とボディ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信してくる要素を認識することができる。
ステップS54において、ボディ制御部72は、ANDの演算結果に対応する要素の個数を、受信予定の要素を示す変数d_countにセットする。図6の例に従えば、変数d_countには、4がセットされる。
ステップS55において、ボディ制御部72は、初期化完了信号を受信した要素をカウントするための変換i_countに0をセットする。
ステップS56において、ボディ制御部72は、初期化完了信号を受信したかを判定し、初期化完了信号を受信したと判定されるまで、ステップS56の処理を繰り返す。
そして、ステップS56で、初期化完了信号を受信したと判定された場合、処理はステップS57に進み、ボディ制御部72は、受信した初期化完了信号の要素が絞りに関係する要素であるかを判定する。
ステップS57で、受信した初期化完了信号の要素が絞りに関係する要素ではないと判定された場合、処理はステップS58に進み、ボディ制御部72は、受信した要素(露出非影響要素)に対応する初期化処理である要素対応初期化処理を開始する。
一方、ステップS57で、受信した初期化完了信号の要素が絞りに関係する要素(露出影響要素)であると判定された場合、処理はステップS59に進み、ボディ制御部72は、受信した初期化完了信号の要素が絞りに関係する最後の要素であるかを判定する。ステップS59の処理は、言い換えれば、受信した初期化完了信号の要素が露出調整処理に関係する最後の要素であるかを判定する処理である。
図6等を参照して説明した本実施の形態の交換レンズ10とボディ60の条件では、初期化完了信号が送信されてくる要素であって、絞りに関係する要素は絞りしかない。しかし、ボディ60が、手振れロック、液晶ND、および、鏡筒表示部の3つの新要素にも対応している場合(後述する)や、その他の露出調整処理に関係する要素を有する場合もあり得る。ステップS59では、受信した初期化完了信号の要素が、光量に変化を与える交換レンズ10側の最後の要素であり、ボディ60が露出調整処理を開始しても良いか否かを判定する。
ステップS59で、受信した初期化完了信号の要素が絞りに関係する最後の要素ではないと判定された場合、ステップS60の処理がスキップされ、処理はステップS61へ進められる。
一方、ステップS59で、受信した初期化完了信号の要素が絞りに関係する最後の要素であると判定された場合、処理はステップS60へ進み、ボディ制御部72は、露出調整処理を開始する。
次に、ステップS61において、ボディ制御部72は、初期化完了信号を受信した要素をカウントする変換i_countを1増やす。
ステップS62において、ボディ制御部72は、初期化完了信号を受信した要素をカウントする変換i_countと、受信予定の要素を示す変数d_countが等しいかを判定する。
ステップS62で、初期化完了信号を受信した要素をカウントする変換i_countと、受信予定の要素を示す変数d_countが等しくないと判定された場合、処理はステップS56に戻される。これにより、ボディ制御部72は、所定の要素の初期化完了信号が受信されるまで、再び待機する。
一方、ステップS62で、初期化完了信号を受信した要素をカウントする変換i_countと、受信予定の要素を示す変数d_countが等しいと判定された場合、処理はステップS63に進み、ボディ制御部72は、ボディ60側で実行されている全ての要素対応初期化処理が終了したかを判定する。
ステップS63では、ボディ60側で実行されている全ての要素対応初期化処理が終了したと判定されるまで待機される。そして、ステップS63で、ボディ60側で実行されている全ての要素対応初期化処理が終了したと判定された場合、ボディ60側の第1の初期化処理が終了される。
以上のように、ボディ60側の第1の初期化処理が実行される。
<レンズ側の第1の初期化処理のフローチャート>
次に、図16のフローチャートを参照して、交換レンズ10のみが新要素に対応している場合に交換レンズ10側で実行される第1の初期化処理について説明する。この処理は、例えば、ボディ制御部72から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信したときに開始される。
初めに、ステップS71において、レンズ制御部22は、受信した初期化開始コマンドおよびボディ側初期化実施要素情報に応じて、交換レンズ10が初期化を実施する要素を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。なお、このレンズ側初期化実施要素情報は、図6で示すように、交換レンズ10が初期化を実施する全ての要素を示す情報を含む。
ステップS72において、レンズ制御部22は、受信したボディ側初期化実施要素情報と、レンズ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信する要素が確定する。
ステップS73において、レンズ制御部22は、初期化を実施する要素の個数を、実施予定の要素を示す変数d_countにセットする。図6の例に従えば、変数d_countには、7がセットされる。
ステップS74において、レンズ制御部22は、初期化を完了した要素をカウントするための変換i_countに0にセットする。
なお、変数d_count及びi_countは、交換レンズ10側のレンズ制御部22と、ボディ60側のボディ制御部72とで独立した変数である。
ステップS75において、レンズ制御部22は、初期化が必要な全ての要素について、要素ごとに初期化処理を開始する。ステップS75の処理は、図10乃至図14のステップS22の処理に相当する。本実施の形態では、全ての要素が同時に初期化処理を開始することとするが、所定の順番や優先順位があってもよい。
ステップS76において、レンズ制御部22は、初期化実行中の要素のなかで、初期化処理が完了した要素があるかを判定する。
ステップS76では、初期化処理が完了した要素があると判定されるまで待機され、完了した要素があると判定された場合、処理がステップS77に進められる。
そして、ステップS77において、レンズ制御部22は、初期化処理が完了した要素が露出影響要素であるかを判定する。
ステップS77で、初期化処理が完了した要素が露出影響要素であると判定された場合、処理はステップS78に進み、レンズ制御部22は、露出影響要素処理を実行する。この処理の詳細は、図17及び図18を参照して後述する。
一方、ステップS77で、初期化処理が完了した要素が露出影響要素ではないと判定された場合、処理はステップS79に進み、レンズ制御部22は、露出非影響要素処理を実行する。この処理の詳細は、図19を参照して後述する。
ステップS80において、レンズ制御部22は、初期化を完了した要素をカウントする変換i_countを1増やす。
ステップS81において、レンズ制御部22は、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しいかを判定する。
ステップS81で、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しくないと判定された場合、処理はステップS76に戻される。これにより、レンズ制御部22は、初期化処理が完了した次の要素が発生するまで、再び待機する。
一方、ステップS81で、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しいと判定された場合、交換レンズ10側の第1の初期化処理が終了される。
次に、図17のフローチャートを参照して、図16のステップS78で実行される露出影響要素処理について説明する。この露出影響要素処理は、ボティ60が絞り以外の全ての露出影響要素に対応していない場合の露出影響要素処理である。
この処理では、初めに、ステップS101において、レンズ制御部22は、他の露出影響要素は全て初期化完了済みであるかを判定する。
ステップS101で、他の露出影響要素は全て初期化完了済みではないと判定された場合、レンズ制御部22は、露出影響要素処理を終了し、図16の第1の初期化処理に戻る。
一方、ステップS101で、他の露出影響要素は全て初期化完了済みであると判定された場合、処理はステップS102に進み、レンズ制御部22は、絞りの初期化完了信号をボディ制御部72に送信する。絞りの初期化完了信号のボディ制御部72への送信は、レンズ制御部22がコマンド送信用のキューバッファに格納し、図35で後述するコマンド送信制御処理によって所定の送信タイミングが到来したときに、ボディ制御部72へ送信される。その後、露出影響要素処理は終了され、図16の第1の初期化処理に戻る。
以上のように、ボティ60が絞り以外の全ての露出影響要素に対応していない場合の露出影響要素処理では、交換レンズ10が備える複数の要素に、絞りと、ボディ60が対応していない要素であって、ボディ60の露出調整処理に影響を与える非対応露出影響要素とを含む場合、レンズ制御部22は、全ての非対応露出影響要素と絞りの初期化の完了に応じたタイミングで、絞りの初期化完了信号を、コマンド送信用のキューバッファに格納する。言い換えれば、レンズ制御部22は、全ての非対応露出影響要素と絞りの初期化が完了したことを条件として、絞りの初期化完了信号を、コマンド送信用のキューバッファに格納する。
次に、図18のフローチャートを参照して、図16のステップS78で実行される露出影響要素処理について説明する。この露出影響要素処理は、ボティ60が対応している露出影響要素が絞り以外にもある場合の露出影響要素処理である。
この処理では、初めに、ステップS110において、レンズ制御部22は、初期化が完了した露出影響要素がボティ60が対応している露出影響要素(対応露出影響要素)であるかを判定する。
ステップS110で、初期化が完了した露出影響要素がボティ60が対応している露出影響要素であると判定された場合、処理はステップS111に進み、レンズ制御部22は、ボティ60が対応している露出影響要素の初期化完了待ちが最後の1つであるかを判定する。
ステップS111で、ボティ60が対応している露出影響要素の初期化完了待ちが最後の1つではないと判定された場合、処理はステップS112に進み、レンズ制御部22は、初期化が完了した対応露出影響要素の初期化完了信号をコマンド送信用のキューバッファに格納し、ボディ制御部72に送信する。露出影響要素処理は終了され、図16の第1の初期化処理に戻る。
一方、ステップS111で、ボティ60が対応している露出影響要素の初期化完了待ちが最後の1つであると判定された場合、処理はステップS113に進み、レンズ制御部22は、他の露出影響要素のなかで初期化未完了の要素があるかを判定する。
ステップS113で、他の露出影響要素のなかで初期化未完了の要素があると判定された場合、露出影響要素処理は終了され、図16の第1の初期化処理に戻る。
一方、ステップS113で、他の露出影響要素のなかで初期化未完了の要素がないと判定された場合、処理はステップS114に進み、レンズ制御部22は、最後の対応露出影響要素の初期化完了信号をコマンド送信用のキューバッファに格納し、ボディ制御部72に送信する。露出影響要素処理は終了され、図16の第1の初期化処理に戻る。
また、ステップS110で、初期化が完了した露出影響要素がボティ60が対応している露出影響要素ではないと判定された場合、処理はステップS115に進み、レンズ制御部22は、他の露出影響要素のなかで初期化未完了の要素があるかを判定する。
ステップS115で、他の露出影響要素のなかで初期化未完了の要素があると判定された場合、露出影響要素処理は終了され、図16の第1の初期化処理に戻る。
一方、ステップS115で、他の露出影響要素のなかで初期化未完了の要素がないと判定された場合、処理は上述したステップS114に進み、レンズ制御部22は、絞りの初期化完了信号をコマンド送信用のキューバッファに格納し、ボディ制御部72に送信する。
絞り以外の露出影響要素にボティ60が対応している露出影響要素がある場合の露出影響要素処理は、以上のように実行される。
次に、図19のフローチャートを参照して、図16のステップS79で実行される露出非影響要素処理について説明する。
この処理では、初めに、ステップS121において、レンズ制御部22は、初期化完了信号を返す露出非影響要素の完了待ちが残り1つであるかを判定する。
ステップS121で、初期化完了信号を返す露出非影響要素の完了待ちが残り1つではない(2つ以上である)と判定された場合、処理はステップS122に進み、レンズ制御部22は、初期化処理が完了した露出非影響要素がボディ60が対応している露出非影響要素(対応露出非影響要素)であるかを判定する。
ステップS122で、初期化処理が完了した露出非影響要素がボディ60が対応している露出非影響要素ではない、即ち非対応露出非影響要素であると判定された場合、ステップS123の処理がスキップされ、露出非影響要素処理が終了する。従って、初期化処理が完了した露出非影響要素がボディ60が対応していない要素である場合には、初期化完了信号が送信されない。
一方、ステップS122で、初期化処理が完了した露出非影響要素がボディ60が対応している露出非影響要素であると判定された場合、処理はステップS123に進み、レンズ制御部22は、初期化処理が完了した露出非影響要素の初期化完了信号をコマンド送信用のキューバッファに格納し、ボディ制御部72に送信する。
一方、ステップS121で、初期化完了信号を返す露出非影響要素の完了待ちが残り1つであると判定された場合、処理はステップS124に進み、レンズ制御部22は、他の初期化未完了の露出非影響要素があるかを判定する。
ステップS124で、他の初期化未完了の露出非影響要素がないと判定された場合、処理は、上述したステップS123に進み、レンズ制御部22は、初期化処理が完了した露出非影響要素の初期化完了信号をコマンド送信用のキューバッファに格納し、ボディ制御部72に送信する。
一方、ステップS124で、他の初期化未完了の露出非影響要素があると判定された場合、露出非影響要素処理が終了する。従って、他の初期化未完了の露出非影響要素が未だあると判定された場合には、初期化完了信号が送信されずに、露出非影響要素処理が終了する。
以上の露出非影響要素処理によれば、レンズ制御部22は、初期化完了信号を返す露出非影響要素、換言すれば、ボディ60が対応している露出非影響要素で、初期化完了信号をまだ送信していない露出非影響要素が2つ以上ある場合には、ボディ60が対応している露出非影響要素(対応露出非影響要素)の初期化が完了した時点で、その要素の初期化完了信号を送信する。
そして、レンズ制御部22は、初期化完了信号を返す露出非影響要素、換言すれば、ボディ60が対応している露出非影響要素(対応露出非影響要素)で、初期化完了信号をまだ送信していない露出非影響要素が最後の1つとなった場合、全ての非対応露出非影響要素の初期化が完了した時点で、最後の対応露出非影響要素の初期化完了信号を送信する。つまり、以前のステップS124で他の初期化未完了の露出非影響要素があると判定され、送信されずに残っていた対応露出非影響要素の初期化完了信号は、ステップS124で他の初期化未完了の露出非影響要素がないと判定されて、ステップS123の処理に進んだときの露出非影響要素の初期化完了信号に包含されて、ボディ制御部72に送信される。
以上のように、交換レンズ10側の第1の初期化処理が実行される。
以上説明したカメラシステム1の第1の初期化処理によれば、交換レンズ10のみが新要素に対応している場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、自身が対応していない要素を含めて交換レンズ10側の要素単位で必要な初期化が完了した順に、適切にボディ60側の初期化を開始することができる。また、ボディ60が対応していない要素の初期化完了信号を受信することもない。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
ボディ制御部72は、レンズ側初期化実施要素情報を受信することで、初期化を開始させるコマンドが交換レンズ10側で正常に受信され、交換レンズ10側で初期化処理が実行されること、換言すれば、各要素の初期化完了信号の受信を期待できることを認識することができる。
また、ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報と、自身のボディ側初期化実施要素情報のANDを演算することで、交換レンズ10側から初期化完了信号が送信されてくる要素を認識することができる。
<4.2 交換レンズとボディの機能が同等である場合>
次に、交換レンズ10とボディ60の機能が同等である場合、換言すれば、交換レンズ10とボディ60の対応可能な要素が一致している場合について説明する。
具体的には、ボディ60が、交換レンズ10と同様に、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御に加えて、手振れロック、液晶ND、および、鏡筒表示部の3つについても対応可能な場合について説明する。
図20のAは、ボディ側初期化実施要素情報が示す、ボディ60が初期化を実施する要素を示している。
図20のBは、レンズ側初期化実施要素情報が示す、交換レンズ10が初期化を実施する要素を示している。
交換レンズ10及びボディ60のそれぞれは、絞り、ズームレンズ、フォーカスレンズ、手振れ制御、液晶ND、手振れロック、及び、鏡筒表示部の7つの要素の初期化に対応している。
交換レンズ10が初期化完了信号を送信することができる要素は、図20のCに示されるように、ボディ側初期化実施要素情報とレンズ側ボディ側初期化実施要素情報に共通するAND演算結果に相当する要素となる。したがって、交換レンズ10は、絞り、ズームレンズ、フォーカスレンズ、手振れ制御、液晶ND、手振れロック、及び、鏡筒表示部の7つの要素の初期化完了信号を送信することができる。
ボディ60側のボディ制御部72は、ボディ側初期化実施要素情報とレンズ側初期化実施要素情報のANDを演算することにより、ズームレンズ、手振れ制御、手振れロック、絞り、フォーカスレンズ、液晶ND、及び、鏡筒表示部のそれぞれについて、初期化完了信号が、交換レンズ10から送信されてくることを認識できる。
交換レンズ10側のレンズ制御部22は、ズームレンズ、手振れ制御、手振れロック、絞り、フォーカスレンズ、液晶ND、及び、鏡筒表示部のそれぞれについて、初期化が完了したタイミングで、初期化完了信号をボディ制御部72に送信する。
図21は、交換レンズ10とボディ60の対応可能な要素が一致している場合の処理フローを示している。
初めに、ステップS141において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS150において、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。
ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報を受信すると、ステップS142において、レンズ側初期化実施要素情報とボディ側初期化実施要素情報のANDを演算し、初期化完了信号が送信されてくる要素である初期化完了送信要素を認識する。初期化完了送信要素は、絞り、ズームレンズ、フォーカスレンズ、手振れ制御、液晶ND、手振れロック、及び、鏡筒表示部の7つとなる。
一方、レンズ制御部22は、ステップS150でレンズ側初期化実施要素情報を送信した後、ステップS151において、受信したボディ側初期化実施要素情報と、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信する要素が確定する。続いて、ステップS152において、各要素の初期化処理を開始する。ここでは、初期化処理を開始する前にレンズ側初期化実施要素情報を送信したが、レンズ側初期化実施要素情報の送信は、AND演算の後でも、初期化処理開始の後でもよい。また、初期化処理の開始とレンズ側初期化実施要素情報の送信は同時でもよい。
その後、各要素の初期化処理が完了したタイミングで、ステップS153乃至S159として、レンズ制御部22は、初期化処理が完了した要素の初期化完了信号を、ボディ制御部72に送信する。
図21の例では、ステップS153乃至S159において、ズームレンズ、フォーカスレンズ、手振れ制御、絞り、液晶ND、手振れロック、鏡筒表示部、の順番で初期化処理が完了し、その順で、初期化完了信号が送信されている。この初期化完了の順番は一例である。
交換レンズ10とボディ60の対応可能な要素が一致している場合、ボディ制御部72は、レンズ制御部22から初期化完了が送信されてくる複数の要素のうち、どの要素が露出調整処理(絞り)に関係する要素であるかは認識できる。従って、ボティ制御部72は、絞りと液晶NDの両方の初期化完了を受信した場合に、露出調整処理を含む絞り要素対応初期化処理を開始する。
<ボディ側の第1の初期化処理のフローチャート>
交換レンズ10とボディ60の対応可能な要素が一致している場合にボディ60側で実行される第1の初期化処理は、図15を参照して説明した、交換レンズ10のみが新要素に対応している場合の第1の初期化処理と同様であるので、その説明は省略する。
<レンズ側の第1の初期化処理のフローチャート>
次に、図22のフローチャートを参照して、交換レンズ10とボディ60の対応可能な要素が一致している場合に交換レンズ10側で実行される第1の初期化処理について説明する。この処理は、例えば、ボディ制御部72から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信したときに開始される。
初めに、ステップS171において、レンズ制御部22は、受信した初期化開始コマンドおよびボディ側初期化実施要素情報に応じて、交換レンズ10が初期化を実施する要素を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。
ステップS172において、レンズ制御部22は、受信したボディ側初期化実施要素情報と、レンズ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信する要素が確定する。
ステップS173において、レンズ制御部22は、初期化を実施する要素の個数を、実施予定の要素を示す変数d_countにセットする。図20の例に従えば、変数d_countには、初期化実施要素情報の“1”の要素の個数と同じ、7がセットされる。
ステップS174において、レンズ制御部22は、初期化を完了した要素をカウントするための変換i_countに0をセットする。
なお、変数d_count及びi_countは、交換レンズ10側のレンズ制御部22と、ボディ60側のボディ制御部72とで独立した変数である。
ステップS175において、レンズ制御部22は、初期化が必要な全ての要素について、要素ごとに初期化処理を開始する。ステップS175の処理は、図21のステップS152の処理に相当する。本実施の形態では、全ての要素が同時に初期化処理を開始することとするが、所定の順番や優先順位があってもよい。
ステップS176において、レンズ制御部22は、初期化実行中の要素のなかで、初期化処理が完了した要素があるかを判定する。
ステップS176では、初期化処理が完了した要素があると判定されるまで待機され、完了した要素があると判定された場合、処理がステップS177に進めされる。
そして、ステップS177において、レンズ制御部22は、初期化処理が完了した要素の初期化完了信号をボディ制御部72に送信する。
ステップS178において、レンズ制御部22は、初期化を完了した要素をカウントする変換i_countを1増やす。
ステップS179において、レンズ制御部22は、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しいかを判定する。
ステップS179で、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しくないと判定された場合、処理はステップS176に戻される。これにより、レンズ制御部22は、初期化処理が完了した次の要素が発生するまで、再び待機する。
一方、ステップS179で、初期化を完了した要素をカウントする変換i_countと、実施予定の要素を示す変数d_countが等しいと判定された場合、交換レンズ10側の第1の初期化処理が終了される。
以上説明したカメラシステム1の第1の初期化処理によれば、交換レンズ10とボディ60の対応可能な要素が一致している場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、交換レンズ10側の各要素の初期化が完了した順に、適切に要素対応初期化処理を開始することができる。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
<4.3 交換レンズがボディよりも低機能である場合>
次に、交換レンズ10がボディ60よりも低機能である場合、換言すれば、ボディ60が対応可能な要素に交換レンズ10が対応していない場合について説明する。
具体的には、ボディ60が、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御に対応可能であり、交換レンズ10は、短焦点レンズでズーム機能と手振れ補正機能を有しておらず、絞り及びフォーカスレンズのみに対応可能である場合について説明する。
図23のAは、ボディ側初期化実施要素情報が示す、ボディ60が初期化を実施する要素を示している。
図23のBは、レンズ側初期化実施要素情報が示す、交換レンズ10が初期化を実施する要素を示している。
ボディ60は、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御の4つの要素に対応している。
交換レンズ10は、絞りとフォーカスレンズの2つの要素に対応している。
交換レンズ10が初期化完了信号を送信することができる要素は、図23のCに示されるように、ボディ側初期化実施要素情報とレンズ側ボディ側初期化実施要素情報に共通するAND演算結果に相当する要素となる。したがって、交換レンズ10は、絞りとフォーカスレンズについてのみ、初期化完了信号を送信することができる。
ボディ60のボディ制御部72は、ボディ側初期化実施要素情報とレンズ側初期化実施要素情報のANDを演算することにより、絞り、及び、フォーカスレンズのそれぞれについて、初期化完了信号が、交換レンズ10から送信されてくることを認識できる。
交換レンズ10のレンズ制御部22は、絞り、及び、フォーカスレンズのそれぞれについて、初期化が完了したタイミングで、初期化完了信号をボディ制御部72に送信する。
図24は、ボディ60が対応可能な要素に交換レンズ10が対応していない場合の処理フローを示している。
初めに、ステップS201において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS210において、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。
ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報を受信すると、ステップS202において、レンズ側初期化実施要素情報とボディ側初期化実施要素情報のANDを演算し、初期化完了信号が送信されてくる要素である初期化完了送信要素を認識する。初期化完了送信要素は、絞り、及び、フォーカスレンズの2つとなる。
一方、レンズ制御部22は、ステップS210でレンズ側初期化実施要素情報を送信した後、ステップS211において、受信したボディ側初期化実施要素情報と、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報のANDを演算する。これにより、レンズ制御部22が初期化完了信号を送信する要素が確定する。続いて、ステップS212において、各要素の初期化処理を開始する。なお、初期化処理を開始した後に、レンズ側初期化実施要素情報を送信してもよいし、同時でもよい。
その後、各要素の初期化処理が完了したタイミングで、ステップS213及びS214として、レンズ制御部22は、初期化処理が完了した要素の初期化完了信号を、順にボディ制御部72に送信する。
図24の例では、ステップS213及びS214において、フォーカスレンズ、絞りの順番で初期化処理が完了し、その順で、初期化完了信号が送信されている。この初期化完了の順番は一例である。
ボディ60が対応可能な要素に交換レンズ10が対応していない場合、ボディ制御部72は、レンズ制御部22から初期化完了が送信されてくる複数の要素のうち、どの要素が露出調整処理(絞り)に関係する要素であるかは認識できる。従って、ボティ制御部72は、初期化完了を受信した要素の順に、要素対応初期化処理を開始する。
<ボディ側の第1の初期化処理のフローチャート>
ボディ60が対応可能な要素に交換レンズ10が対応していない場合にボディ60側で実行される第1の初期化処理は、図15を参照して説明した、交換レンズ10のみが新要素に対応している場合の第1の初期化処理と同様であるので、その説明は省略する。
<レンズ側の第1の初期化処理のフローチャート>
ボディ60が対応可能な要素に交換レンズ10が対応していない場合に交換レンズ10側で実行される第1の初期化処理は、図22を参照して説明した、交換レンズ10とボディ60の対応可能な要素が一致している場合の第1の初期化処理と同様であるので、その説明は省略する。
以上説明したカメラシステム1の第1の初期化処理によれば、ボディ60が対応可能な要素に交換レンズ10が対応していない場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、交換レンズ10側の各要素の初期化が完了した順に、適切に要素対応初期化処理を開始することができる。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
<5.第2の初期化処理>
次に、本開示の初期化処理の第2の例である、第2の初期化処理について説明する。
上述した第1の初期化処理では、ボディ60が、自身が対応している要素を示す要素情報を、ボディ側初期化実施要素情報として、交換レンズ10に送信し、交換レンズ10が、自身が有している要素を示す要素情報を、レンズ側初期化実施要素情報として、ボディ60に送信した。
そして、レンズ側初期化実施要素情報を受信したボディ制御部72は、レンズ側初期化実施要素情報とボディ側初期化実施要素情報のANDを演算し、その演算結果に基づいて、初期化完了信号が送信されてくる要素を認識した。
これに対して、第2の初期化処理では、交換レンズ10側が、ボディ60から送信されてきたボディ側初期化実施要素情報と、自身が有している要素を示す要素情報のANDを演算し、その演算結果を、レンズ側初期化実施要素情報として、ボディ60に送信する。ボディ60側のボディ制御部72は、ボディ側初期化実施要素情報とレンズ側初期化実施要素情報のAND演算結果となっているレンズ側初期化実施要素情報に基づいて、初期化完了信号が送信されてくる要素を認識する。
以下、第2の初期化処理について、第1の初期化処理と同様に、交換レンズ10がボディ60よりも高機能である場合、交換レンズ10とボディ60の機能が同等である場合、交換レンズ10がボディ60よりも低機能である場合のそれぞれについて説明する。
<5.1 交換レンズがボディよりも高機能である場合>
最初に、交換レンズ10がボディ60よりも高機能である場合について説明する。
図25は、第1の初期化処理において図10で示した場合に対応する、複数の露出非影響要素のうち、先に、ボディ60が対応可能な露出非影響要素の初期化が完了し、その後、ボディ60が対応していない鏡筒表示部の初期化が完了する場合の処理フローを示している。
初めに、ステップS241において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する初期化要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、ボディ60から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS261において、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報のANDを演算する。
そして、ステップS262において、レンズ制御部22は、ANDの演算結果を、レンズ側初期化実施要素情報として、ボディ制御部72に送信する。
図25のステップS241でボディ制御部72が送信するボディ側初期化実施要素情報は、図6のAで示したボディ側初期化実施要素情報と同一となる。一方、ステップS262でレンズ制御部22が送信するレンズ側初期化実施要素情報は、図6のCで示したAND演算結果に対応する要素情報となる。
従って、ボディ制御部72は、レンズ制御部22から送信されてきたレンズ側初期化実施要素情報を受信すると、自身でANDの演算をすることなく、初期化完了信号が送信されてくる要素である初期化完了送信要素を認識することができる。いまの例の場合、初期化完了送信要素は、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御の4つとなる。
レンズ制御部22は、ステップS262でレンズ側初期化実施要素情報を送信した後、ステップS263において、各要素の初期化処理を開始する。ステップS262とステップS263の処理は、どちらが先でも同時でもよい。
ステップS264において、レンズ制御部22は、ズームレンズの初期化処理が完了したタイミングで、ズームレンズの初期化完了信号を、ボディ制御部72に送信する。
ステップS265において、レンズ制御部22は、フォーカスレンズの初期化処理が完了したタイミングで、フォーカスレンズの初期化完了信号を、ボディ制御部72に送信する。
ステップS265の後、手振れ制御の初期化処理が完了するが、手振れ制御は、初期化完了信号を送信することができる最後の露出非影響要素であるので、レンズ制御部22は、このタイミングでは、手振れ制御の初期化完了信号を送信せず、手振れロックと鏡筒表示部の両方の初期化が完了したタイミングであるステップS267において、手振れ制御の初期化完了信号をボディ制御部72に送信する。すなわち、手振れ制御の初期化完了信号に、手振れロックと鏡筒表示部の両方の初期化完了が包含される。ただし、手振れ制御の初期化完了信号に、手振れロックと鏡筒表示部の初期化完了信号に相当する信号が含まれるわけではない。
露出影響要素については、レンズ制御部22は、絞りの初期化が完了したタイミングでは、絞りの初期化完了信号を送信せず、液晶NDの初期化が完了したタイミングであるステップS266において、絞りの初期化完了信号をボディ制御部72に送信する。すなわち、絞りの初期化完了信号に、液晶NDの初期化完了が包含される。ただし、絞りの初期化完了信号に、液晶NDの初期化完了信号に相当する信号が含まれるわけではない。
ボディ制御部72は、ステップS266の絞りの初期化完了信号を受信した時点で、露出調整処理を含む絞り要素対応初期化処理を開始する。
次に、図26は、第1の初期化処理において図11で示した場合に対応する、複数の露出非影響要素のうち、先に、ボディ60が対応していない要素の初期化が完了し、その後、ボディ60が対応している要素の初期化が完了する場合の処理フローを示している。
図25では、交換レンズ10において、手振れ制御の初期化が先に終了し、その後、手振れロックと鏡筒表示部の初期化が完了する順番であったが、図26では、先に、手振れロックと鏡筒表示部の初期化が完了し、その後、手振れ制御の初期化が完了している。その他は、図25と同様である。
この場合にも、初期化処理は、図25で説明した流れと同様となり、ステップS267において、手振れロックと鏡筒表示部の両方の初期化完了が包含された、手振れ制御の初期化完了信号がボディ制御部72に送信される。
次に、図27は、第1の初期化処理において図12で示した場合に対応する、複数の露出非影響要素のうち、先に、ボディ60が対応可能な要素の初期化が完了し、その後、ボディ60が対応していない要素の初期化が完了し、最後に、露出影響要素の初期化が完了する場合の処理フローを示している。
図27は、露出影響要素である液晶NDの初期化完了タイミングが、露出非影響要素である手振れロックと鏡筒表示部の初期化完了タイミングよりも遅い点が、図25と異なる。これにより、図27では、絞りの初期化完了信号をボディ制御部72に送信するステップS266と、手振れ制御の初期化完了信号をボディ制御部72に送信するステップS267の順番が、図25における場合と反対となっている。それ以外については、図27は、図25と同様である。
レンズ制御部22は、手振れ制御の初期化が完了したタイミングでは、手振れ制御の初期化完了信号を送信せず、手振れロックと鏡筒表示部の両方の初期化が完了したタイミングで、手振れ制御の初期化完了信号をボディ制御部72に送信する。
次に、図28は、第1の初期化処理において図13で示した場合に対応する、複数の露出非影響要素のうち、先に、ボディ60が対応していない要素の初期化が完了し、その後、ボディ60が対応している要素の初期化が完了し、最後に、露出影響要素の初期化が完了する場合の処理フローを示している。
図28は、露出影響要素である液晶NDの初期化完了タイミングが、露出非影響要素である手振れロックと鏡筒表示部の初期化完了タイミングよりも遅い点が、図26と異なる。これにより、図28では、絞りの初期化完了信号をボディ制御部72に送信するステップS266と、手振れ制御の初期化完了信号をボディ制御部72に送信するステップS267の順番が、図26における場合と反対となっている。それ以外については、図28は、図26と同様である。
レンズ制御部22は、手振れロックと鏡筒表示部の両方の初期化が完了し、その後、手振れ制御の初期化が完了したタイミングで、手振れ制御の初期化完了信号をボディ制御部72に送信する。
<ボディ側の第2の初期化処理のフローチャート>
次に、図29のフローチャートを参照して、交換レンズ10のみが新要素に対応している場合にボディ60側で実行される第2の初期化処理について説明する。この処理は、例えば、ボディ60に交換レンズ10が装着され、電源がオンされたときに、開始される。
初めに、ステップS301において、ボディ制御部72は、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報とともに、初期化を開始する初期化開始コマンドをレンズ制御部22に送信する。
ステップS302において、ボディ制御部72は、交換レンズ10が初期化を実施する要素を示すレンズ側初期化実施要素情報をレンズ制御部22から受信したかを判定し、レンズ側初期化実施要素情報を受信したと判定されるまで、ステップS302の処理を繰り返す。ここで受信されるレンズ側初期化実施要素情報は、第1の初期化処理と異なり、ボディ側初期化実施要素情報と、交換レンズ10が対応している要素を示す要素情報のANDの演算結果であり、初期化完了信号が送信されてくる初期化完了送信要素を意味する。したがって、初期化実施要素情報により、レンズ制御部22が初期化完了信号を送信してくる要素を認識することができる。
そして、ステップS302で、レンズ側初期化実施要素情報を受信したと判定された場合、処理はステップS303に進み、ボディ制御部72は、受信したレンズ側初期化実施要素情報に対応する要素の個数を、受信予定の要素を示す変数d_countにセットする。図6の例に従えば、変数d_countには、4がセットされる。
以降のステップS304乃至S312の処理は、それぞれ、図15のステップS55乃至S63の処理と同様であるので、その説明は省略する。
以上のように、ボディ60側の第2の初期化処理が実行される。
<レンズ側の第2の初期化処理のフローチャート>
次に、図30のフローチャートを参照して、交換レンズ10のみが新要素に対応している場合に交換レンズ10側で実行される第2の初期化処理について説明する。この処理は、例えば、ボディ制御部72から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信したときに開始される。
初めに、ステップS331において、レンズ制御部22は、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報のANDを演算する。
ステップS332において、レンズ制御部22は、ANDの演算結果を、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報として、ボディ制御部72に送信する。
以降のステップS333乃至S341の処理は、それぞれ、図16のステップS73乃至S81の処理と同様であるので、その説明は省略する。
以上のように、交換レンズ10側の第2の初期化処理が実行される。
以上説明したカメラシステム1の第2の初期化処理によれば、交換レンズ10のみが新要素に対応している場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、自身が対応していない要素を含めて交換レンズ10側の要素単位で必要な初期化が完了した順に、適切にボディ60側の初期化を開始することができる。また、ボディ60が対応していない要素の初期化完了信号を受信することもない。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
ボディ制御部72は、レンズ側初期化実施要素情報を受信することで、初期化を開始させるコマンドが交換レンズ10側で正常に受信され、交換レンズ10側で初期化処理が実行されること、換言すれば、各要素の初期化完了信号の受信を期待できることを認識することができる。
また、第2の初期化処理によれば、ボディ60側が対応している要素と、交換レンズ10が有している要素とで共通する要素が、レンズ側初期化実施要素情報として、交換レンズ10側からボディ60側に送信される。そのため、レンズ側初期化実施要素情報は、初期化完了信号が送信されてくる初期化完了送信要素を表すため、ボディ制御部72は、交換レンズ10側とボディ60側の機能の違いを意識することなく、受信予定の要素の初期化完了信号を待つことができる。換言すれば、交換レンズ10側とボディ60側の要素(機能)の差分を、交換レンズ10側で吸収することができる。
<5.2 交換レンズとボディの機能が同等である場合>
次に、交換レンズ10とボディ60の機能が同等である場合について説明する。
図31は、第1の初期化処理において図21で示した場合に対応する、交換レンズ10とボディ60の対応可能な要素が一致している場合の処理フローを示している。
初めに、ステップS361において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS371において、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報のANDを演算する。
そして、ステップS372において、レンズ制御部22は、ANDの演算結果を、自身が初期化を実施する初期化要素を示すレンズ側初期化実施要素情報として、ボディ制御部72に送信する。
ステップS361でボディ制御部72が送信するボディ側初期化実施要素情報は、図20のAで示したボディ側初期化実施要素情報と同一となる。一方、ステップS372でレンズ制御部22が送信するレンズ側初期化実施要素情報は、図20のCで示したAND演算結果に対応する要素情報となる。
レンズ制御部22は、ステップS372でレンズ側初期化実施要素情報を送信した後、ステップS373において、各要素の初期化処理を開始する。ステップS372とステップS373の処理は、どちらが先でも同時でもよい。
その後、各要素の初期化処理が完了したタイミングで、ステップS374乃至S380として、レンズ制御部22は、初期化処理が完了した要素の初期化完了信号を、ボディ制御部72に送信する。
図31の例では、ステップS374乃至S380において、ズームレンズ、フォーカスレンズ、手振れ制御、絞り、液晶ND、手振れロック、鏡筒表示部、の順番で初期化処理が完了し、その順で、初期化完了信号が送信されている。この初期化完了の順番は一例である。
交換レンズ10とボディ60の対応可能な要素が一致している場合、ボディ制御部72は、レンズ制御部22から初期化完了が送信されてくる複数の要素のうち、どの要素が露出調整処理(絞り)に関係する要素であるかは認識できる。従って、ボティ制御部72は、絞りと液晶NDの両方の初期化完了を受信した場合に、露出調整処理を含む絞り要素対応初期化処理を開始する。
<ボディ側の第2の初期化処理のフローチャート>
交換レンズ10とボディ60の対応可能な要素が一致している場合にボディ60側で実行される第2の初期化処理は、図29を参照して説明した、交換レンズ10のみが新要素に対応している場合の第2の初期化処理と同様であるので、その説明は省略する。
<レンズ側の第2の初期化処理のフローチャート>
次に、図32のフローチャートを参照して、交換レンズ10とボディ60の対応している要素が一致している場合に交換レンズ10側で実行される第2の初期化処理について説明する。この処理は、例えば、ボディ制御部72から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信したときに開始される。
初めに、ステップS401において、レンズ制御部22は、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報のANDを演算する。
ステップS402において、レンズ制御部22は、ANDの演算結果を、自身が初期化を実施する要素を示すレンズ側初期化実施要素情報として、ボディ制御部72に送信する。
以降のステップS403乃至S409の処理は、それぞれ、図22のステップS173乃至S179の処理と同様であるので、その説明は省略する。
以上説明したカメラシステム1の第2の初期化処理によれば、交換レンズ10とボディ60の対応している要素が一致している場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、交換レンズ10側の各要素の初期化が完了した順に、適切に要素対応初期化処理を開始することができる。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
<5.3 交換レンズがボディよりも低機能である場合>
次に、交換レンズ10がボディ60よりも低機能である場合について説明する。
具体的には、第1の初期化処理における場合と同様に、ボディ60が、絞り、ズームレンズ、フォーカスレンズ、及び、手振れ制御に対応しており、交換レンズ10は、短焦点レンズでズーム機能と手振れ補正機能を有しておらず、絞り及びフォーカスレンズのみに対応している場合について説明する。
図33は、第1の初期化処理において図24で示した場合に対応する、ボディ60が対応可能な要素に交換レンズ10が対応していない場合の処理フローを示している。
初めに、ステップS421において、ボディ制御部72は、初期化の開始を要求する初期化開始コマンドとともに、ボディ60が初期化を実施する要素を示すボディ側初期化実施要素情報を、レンズ制御部22に送信する。
レンズ制御部22は、初期化開始コマンドとボディ側初期化実施要素情報を受信すると、ステップS431において、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報のANDを演算する。
そして、ステップS432において、レンズ制御部22は、ANDの演算結果を、自身が初期化を実施する初期化要素を示すレンズ側初期化実施要素情報として、ボディ制御部72に送信する。
ステップS421でボディ制御部72が送信するボディ側初期化実施要素情報は、図23のAで示したボディ側初期化実施要素情報と同一となる。ステップS432でレンズ制御部22が送信するレンズ側初期化実施要素情報は、図23のCで示したAND演算結果に対応する要素情報となる。初期化完了送信要素は、絞り、及び、フォーカスレンズの2つとなる。
レンズ制御部22は、ステップS432でレンズ側初期化実施要素情報を送信した後、ステップS433において、各要素の初期化処理を開始する。ステップS432とステップS433の処理は、どちらが先でも同時でもよい。
その後、各要素の初期化処理が完了したタイミングで、ステップS434及びS435として、レンズ制御部22は、初期化処理が完了した要素の初期化完了信号を、順にボディ制御部72に送信する。
図33の例では、ステップS434及びS435において、フォーカスレンズ、絞りの順番で初期化処理が完了し、その順で、初期化完了信号が送信されている。この初期化完了の順番は一例である。
ボディ60が対応可能な要素に交換レンズ10が対応していない場合、ボディ制御部72は、レンズ制御部22から初期化完了が送信されてくる複数の要素のうち、どの要素が露出調整処理(絞り)に関係する要素であるかは認識できる。従って、ボティ制御部72は、初期化完了を受信した要素の順に、要素対応初期化処理を開始する。
<ボディ側の第2の初期化処理のフローチャート>
ボディ60が対応可能な要素に交換レンズ10が対応していない場合にボディ60側で実行される第2の初期化処理は、図29を参照して説明した、交換レンズ10のみが新要素に対応している場合の第2の初期化処理と同様であるので、その説明は省略する。
<レンズ側の第2の初期化処理のフローチャート>
ボディ60が対応可能な要素に交換レンズ10が対応していない場合に交換レンズ10側で実行される第2の初期化処理は、図32を参照して説明した、交換レンズ10とボディ60の対応可能な要素が一致している場合の第2の初期化処理と同様であるので、その説明は省略する。
以上説明したカメラシステム1の第2の初期化処理によれば、ボディ60が対応可能な要素に交換レンズ10が対応していない場合であっても、交換レンズ10が、保有する全ての要素の初期化を実施することができ、ボディ60は、交換レンズ10側の各要素の初期化が完了した順に、適切に要素対応初期化処理を開始することができる。
従って、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
<6.初期化処理の選択>
上述したように、交換レンズ10は、ボディ60と交換レンズ10が備える要素が同一か、または、ボディ60が対応可能な要素に交換レンズ10が対応していない場合には、ボディ60は交換レンズ10が備える要素の全てに対応可能であるので、交換レンズ10内の各要素は、初期化が完了したタイミングで初期化完了信号をボディ60に送信すればよい。
一方、交換レンズ10がボディ60よりも高機能であり、交換レンズ10が備える一部の要素(新要素)について、ボディ60が対応していない場合には、交換レンズ10側で、その新要素が露出調整処理に関係するか(影響するか)否かを判断し、関係する場合には、絞りの初期化完了信号を必要に応じて待機させ、絞りの初期化完了信号に包含して、ボディ60に送信する必要がある。
従って、交換レンズ10は、交換レンズ10がボディ60よりも高機能であるか否かによって、初期化処理を切り替える必要がある。
図34は、交換レンズ10によって実行される、初期化処理切替処理のフローチャートである。
初めに、ステップS451において、レンズ制御部22は、ボディ制御部72から送信されてきた初期化開始コマンドとボディ側初期化実施要素情報を受信する。
ステップS452において、レンズ制御部22は、受信したボディ側初期化実施要素情報と、自身が対応している要素を示す要素情報とを比較して、ボディ60が対応していない要素を交換レンズ10が有しているかを判定する。
ステップS452で、ボディ60が対応していない要素を交換レンズ10が有していると判定された場合、処理はステップS453に進み、レンズ制御部22は、高機能初期化処理を選択する。
高機能初期化処理は、第1の初期化処理で言えば、図16で示した第1の初期化処理、第2の初期化処理で言えば、図30で示した第2の初期化処理に相当する。
一方、ステップS452で、ボディ60が対応していない要素を交換レンズ10が有していないと判定された場合、処理はステップS454に進み、レンズ制御部22は、同等機能初期化処理を選択する。
同等機能初期化処理は、第1の初期化処理で言えば、図22で示した第1の初期化処理、第2の初期化処理で言えば、図32で示した第2の初期化処理に相当する。
なお、ステップS452のボディ60が対応していない要素を交換レンズ10が有しているか否かの判定処理を、図16のステップS76の後に挿入し、ボディ60が対応していない要素を交換レンズ10が有していると判定された場合に、図16のステップS77乃至S79を実行し、ボディ60が対応していない要素を交換レンズ10が有していないと判定された場合に、図22のステップS177の処理を実行するようにすれば、図16と図22のフローチャートは1つにまとめられる。
以上のように、交換レンズ10では、自身がボディ60よりも高機能であるか否かによって、初期化処理が切り替えられる。
<7.まとめ>
交換レンズ10とボディ60とからなるカメラシステム1において、ボディ制御部72は、ボディ60が初期化を実施する要素(ボディ側要素)を示すボディ側初期化実施要素情報をレンズ制御部22に送信し、ボディ側初期化実施要素情報に応じてレンズ制御部22から送信されてくる、交換レンズ10が初期化を実施する要素(レンズ側要素)を示すレンズ側初期化実施要素情報を受信する。
レンズ制御部22は、ボディ60が初期化を実施する要素(ボディ側要素)を示すボディ側初期化実施要素情報を、ボディ制御部72から受信したことに応じて、交換レンズ10が初期化を実施する要素(レンズ側要素)を示すレンズ側初期化実施要素情報をボディ制御部72に送信する。
レンズ側初期化実施要素情報は、第1の初期化処理では、交換レンズ10が初期化を実施する複数のレンズ側要素の全てを識別可能な情報であり、第2の初期化処理では、交換レンズ10が初期化を実施する複数のレンズ側要素と、ボディ側初期化実施要素情報が示す複数のボディ側要素とで共通する少なくとも1つの共通要素を識別可能な情報である。第1の初期化処理では、ボディ制御部72は、ボディ側初期化実施要素情報が示す複数のボディ側要素と、レンズ側初期化実施要素情報が示す複数のレンズ側要素とで共通する共通要素の全てに対する初期化完了信号を受信したことをもって、交換レンズ10側での初期化が完了したと判断する。第2の初期化処理では、ボディ制御部72は、レンズ側初期化実施要素情報が示す複数のレンズ側要素の全てに対する初期化完了信号を受信したことをもって、交換レンズ10側での初期化が完了したと判断する。
図17を参照して説明したように、交換レンズ10が有する複数の要素に、絞りと、ボディ60が対応していない要素であって、ボディ60の露出調整処理に影響を与える非対応露出影響要素とを含む場合、レンズ制御部22は、全ての非対応露出影響要素と絞りの初期化の完了に応じたタイミングで、絞りの初期化完了信号を、コマンド送信用のキューバッファに格納する。
交換レンズ10が有する複数の要素に、ボディ60が対応している対応要素と、ボディ60が対応していない非対応要素とを含む場合、レンズ制御部22は、初期化が完了していない対応要素が2つ以上ある場合には、初期化が完了していない非対応要素の有無にかかわらず、初期化が完了していない2つ以上の対応要素のうちの1つの対応要素の初期化の完了に応じたタイミングで、初期化が完了した1つの対応要素の初期化完了信号を、コマンド送信用のキューバッファに格納する。
図18を参照して説明したように、交換レンズ10が有する複数の要素に、ボディ60が対応していない要素であって、ボディ60の露出調整処理に影響を与える非対応露出影響要素と、ボディ60が対応している要素であって、ボディ60の露出調整処理に影響を与える対応露出影響要素とを含む場合、レンズ制御部22は、初期化完了信号をまだ送信していない対応露出影響要素が最後の1つとなった場合、全ての非対応露出影響要素の初期化が完了した時点で、ボディ60が対応している最後の対応露出影響要素の初期化完了信号をキューバッファに格納する。
図19を参照して説明したように、交換レンズ10が有する複数の要素に、ボディ60の露出調整処理に影響を与えない露出非影響要素であってボディ60が対応している少なくとも1つの対応露出非影響要素と、露出非影響要素であってボディ60が対応していない少なくとも1つの非対応露出非影響要素とを含む場合、レンズ制御部22は、対応露出非影響要素の全ての初期化が完了したタイミングで初期化が完了していない非対応露出非影響要素が残っている際は、全ての非対応露出非影響要素の初期化の完了を待って、最後に初期化が完了した対応露出非影響要素の初期化完了信号を、コマンド送信用のキューバッファに格納する。
レンズ制御部22は、ボディ60の露出調整処理に影響を与える露出影響要素とボディ60の露出調整処理に影響を与えない露出非影響要素に対して、互いに異なる方式で初期化処理を実行する。あるいはまた、レンズ制御部22は、ボディ60が対応している対応要素とボディ60が対応していない非対応要素に対して、互いに異なる方式で初期化処理を実行する。ここで、異なる方式とは、コマンド送信用のキューバッファに格納するタイミングが異なることを意味する。
ボディ制御部72は、露出調整処理に影響を与える全ての要素の初期化完了信号を受信したことに応じて、露出調整処理を含む初期化を開始する。
ボディ側初期化実施要素情報とレンズ側初期化実施要素情報を授受することにより、ボディ60と交換レンズ10のそれぞれが備える要素を正しく認識し、適切に初期化処理を実行することができる。
上述した初期化処理において、ボディ側初期化実施要素情報は、初期化開始コマンドとともに、ボディ60から交換レンズ10へ送信されるようにした。しかし、ボディ側初期化実施要素情報は、初期化開始コマンドとは異なるタイミングで、ボディ60から交換レンズ10へ送信されるようにしてもよい。例えば、ボディ側初期化実施要素情報は、初期化開始コマンドとは別に、初期化開始コマンドの後または前のタイミングで、ボディ60から交換レンズ10へ送信されるようにしてもよい。
<8.同期コマンドと非同期コマンド>
図1のカメラシステム1において、コマンドは、1以上のコマンドが1つのパケットにパケット化されて、パケット通信により送信される。1つのパケットは、ヘッダ、コマンド、及びフッタで構成され、ヘッダはコマンドの前に付加され、フッタはコマンドの後ろに付加される。フッタには、受信側においてコマンドの通信エラーの有無を確認するためのチェックサムが含まれる。
レンズ制御部22とボディ制御部72との間でやり取りされるコマンドには、同期信号に同期して通信を行う同期コマンドと、同期信号のタイミングに依存せず、任意のタイミングで通信を行う非同期コマンドの、2種類のコマンドがある。ここで、同期コマンドに利用される同期信号には、同期信号端子を介して伝送されてくる同期信号そのものの他、その同期信号を分周または逓倍した信号も含まれる。即ち、レンズ制御部22は、同期信号か、または、その同期信号を分周または逓倍した信号に基づいて、ボディ制御部72と同期コマンドによる通信を行う。同期信号を分周または逓倍した信号に基づく通信を行う場合、レンズ制御部22は、同期信号端子を介して伝送されてくる同期信号を分周または逓倍した信号を生成する処理も行う。
同期コマンドは同期信号に同期して通信されるので、第1の同期コマンドを送信した後、次の第2の同期コマンドを送信するタイミングは、第1の同期コマンドを送信した同期信号以降の同期信号のタイミングとなる。
同期コマンドは、例えば、レンズ制御部22が、交換レンズ10のレンズの状態をボディ制御部72に通知するコマンドに用いられる。具体的には、レンズ制御部22が、ズームレンズ23、絞り25、及び、フォーカスレンズ26の位置情報を送信する際に、同期コマンドが用いられる。また、ボディ制御部72からレンズ制御部22へ所定の動作を指示する場合にも、同期コマンドが用いられる。
これに対して、非同期コマンドは、例えば、交換レンズ10においてコマンドの通信エラーが発生した場合に、即座に、通信エラーが発生したことをボディ制御部72に通知する場合に用いられる。即ち、レンズ制御部22は、ボディ制御部72から送信されてきたコマンドの通信エラーの有無を、チェックサムを判定することによって検出し、通信エラーを検出した場合、通信エラーが発生したことを非同期コマンドでボディ制御部72に送信する。これにより、通信エラーが発生した旨の非同期コマンドを受信したボディ制御部72は、通信エラーをリカバリするためのリカバリ処理を即座に行うことができる。
また、上述した第1及び第2の初期化処理においてレンズ制御部22とボディ制御部72との間で伝送される、初期化開始コマンド、初期化実施要素情報、初期化完了信号などのコマンド(データを含む)にも、非同期コマンドが用いられる。
なお、受信側の制御部(レンズ制御部22またはボディ制御部72)は、通信端子を介してコマンドを正常に受信した場合、受信したコマンドの種類によって、コマンドを受信した旨の応答を返信する場合と、返信しない場合とがある。
図35のフローチャートを参照して、レンズ制御部22がボディ制御部72へコマンドを送信する制御処理である、コマンド送信制御処理について説明する。図35のコマンド送信制御処理は、例えば、同期信号を逓倍した周期、または、その逓倍周期より短い周期で繰り返し実行される。
初めに、ステップS501において、レンズ制御部22は、同期コマンドの送信タイミングであるかを判定する。
ステップS501で、同期コマンドの送信タイミングであると判定された場合、ステップS502において、レンズ制御部22は、ボディ制御部72へ送信する同期コマンドが存在しているかを判定する。
レンズ制御部22は、例えばフォーカスレンズ26の位置情報など、交換レンズ10の制御に伴いボディ制御部72へ送信すべき同期コマンドを生成した場合、レンズ制御部22内部の同期コマンド用のキューバッファに格納しておく。ステップS502では、レンズ制御部22は、同期コマンド用のキューバッファにボディ制御部72へ送信する同期コマンドが存在しているか否かを判定する。
ステップS502で、ボディ制御部72へ送信する同期コマンドが存在していると判定された場合、処理はステップS503に進み、レンズ制御部22は、ボディ制御部72へ送信する非同期コマンドが存在しているかを判定する。
レンズ制御部22は、例えばフォーカスレンズ26の駆動量情報など、交換レンズ10の制御に伴いボディ制御部72へ送信すべき非同期コマンドを生成した場合、レンズ制御部22内部の非同期コマンド用のキューバッファに格納しておく。ステップS503では、レンズ制御部22は、非同期コマンド用のキューバッファにボディ制御部72へ送信する非同期コマンドが存在しているか否かを判定する。
ステップS503で、非同期コマンドが存在していると判定された場合、処理はステップS504に進み、レンズ制御部22は、キューバッファに存在している同期コマンドと非同期コマンドを同一のパケットでボディ制御部72へ送信し、処理を終了する。
図36は、ステップS504として実行されるパケット通信の例を示すタイムチャートである。
図36では、同期信号の周期が1/60secであり、同期コマンドの最小送信間隔が1/60secである。
同期コマンドの送信タイミングにおいて非同期コマンドが存在した場合、図36に示されるように、同期コマンドと非同期コマンドが多重化され、1つのパケットで送信される。図36において同期コマンドと非同期コマンドが接している状態は、その同期コマンドと非同期コマンドが1つのパケットで送信されることを表している。
一方、ステップS503で、非同期コマンドが存在していないと判定された場合、処理はステップS505に進み、レンズ制御部22は、同期コマンドのみをパケットでボディ制御部72へ送信し、処理を終了する。
図37は、ステップS505として実行されるパケット通信の例を示すタイムチャートである。
同期コマンドの送信タイミングにおいて非同期コマンドが存在しない場合、図37に示されるように、同期コマンドのみが1つのパケットで送信される。
一方、ステップS501で、同期コマンドの送信タイミングではないと判定された場合、または、ステップS502で、ボディ制御部72へ送信する同期コマンドが存在していないと判定された場合、処理はステップS506に進み、レンズ制御部22は、ボディ制御部72へ送信する非同期コマンドが非同期コマンド用のキューバッファに存在しているかを判定する。
ステップS506で、非同期コマンドが存在していると判定された場合、処理はステップS507に進み、レンズ制御部22は、非同期コマンドのみをパケットでボディ制御部72へ送信し、処理を終了する。
図38は、ステップS507として実行されるパケット通信の例を示すタイムチャートである。
同期コマンドの送信タイミング以外において非同期コマンドが存在した場合、図38に示されるように、非同期コマンドのみでパケットの送信が行われる。複数の非同期コマンドが存在している場合には、その複数の非同期コマンドが多重化され、1つのパケットで送信される。図38において2つの非同期コマンドが接している状態は、その2つの非同期コマンドが1つのパケットで送信されることを表している。非同期コマンドは、同期信号の周期や、同期信号を逓倍した周期に該当しないタイミングであっても、送信することができる。
一方、ステップS506で、非同期コマンドが存在していないと判定された場合、レンズ制御部22は、そのまま処理を終了する。即ち、ステップS506で、非同期コマンドが存在していないと判定された場合には、同期コマンド及び非同期コマンドのどちらも送信せずに、処理が終了される。
上述のコマンド送信制御処理は、レンズ制御部22がボディ制御部72へコマンドを送信する場合の処理であるが、ボディ制御部72からレンズ制御部22へコマンドを送信する場合も同様に、このコマンド送信制御処理が実行される。
以上のように、ボディ制御部72及びレンズ制御部22は、非同期コマンドを送信するタイミングが、同期コマンドを送信するタイミングと一致した場合、非同期コマンドと同期コマンドを同一のパケットで送信することができる。
例えば、フォーカスレンズの速度情報を示す非同期コマンドと、フォーカスレンズの位置情報を示す同期コマンドが、パケットのコマンド部分に多重化されて格納される。通信エラーの有無を確認するためのチェックサムは、パケット単位で計算され、フッタに格納される。チェックサムの判定処理はパケットごとに行われるので、1パケットに非同期コマンドと同期コマンドを多重化して送信することにより、チェックサムの判定処理を削減し、受信側の演算処理量及び処理時間の削減に貢献することができる。
また、非同期コマンドと同期コマンドを同一のパケットで送信することで、データ通信量を削減し、データを効率良く送受信することができる。また、低消費電力化にも貢献する。上述した初期化開始コマンド、初期化実施要素情報、初期化完了信号などのコマンド(データを含む)にも、非同期コマンドが用いられるので、各要素の初期化完了後、レンズ制御部22からボディ制御部72へ、遅滞なく初期化の完了を通知することができ、カメラシステム1全体としての初期化時間を短縮することができる。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、着脱可能な交換レンズ10と撮像装置60とからなるカメラシステム1は、上述した第1の初期化処理と第2の初期化処理のいずれか一方のみを実行するようにしてもよいし、両方が実行可能であり、必要に応じていずれか一方を選択して実行するものでもよい。
上述した実施の形態では、交換レンズ10が備える一部の要素(新要素)にボディ60が対応していない条件下において、絞りを優先要素として、絞りに包含して初期化完了信号を送信する場合と、絞り以外の要素に包含して初期化完了信号を送信する場合とに区分けしたが、絞り以外の要素を優先要素として区分けしてもよい。また、2つに区分けするのではなく、3つ以上に区分けしてもよい。
本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
撮像装置が初期化を実施する要素であるボディ側要素を示すボディ側初期化実施要素情報を、前記撮像装置から受信したことに応じて、自身が初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信するレンズ制御部
を備える交換レンズ。
(2)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素の全てを識別可能な情報である
前記(1)に記載の交換レンズ。
(3)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素と、前記ボディ側初期化実施要素情報が示す複数のボディ側要素とで共通する少なくとも1つの共通要素を識別可能な情報である
前記(1)に記載の交換レンズ。
(4)
前記レンズ制御部は、前記交換レンズの初期化の開始を要求する初期化開始コマンドとともに、前記ボディ側初期化実施要素情報を、前記撮像装置から受信する
前記(1)乃至(3)のいずれかに記載の交換レンズ。
(5)
前記レンズ制御部は、前記複数のレンズ側要素の初期化を開始する前に、前記レンズ側初期化実施要素情報を前記撮像装置に送信する
前記(1)乃至(4)のいずれかに記載の交換レンズ。
(6)
前記レンズ制御部は、前記複数のレンズ側要素の各レンズ側要素に対する初期化が完了する毎に、前記各レンズ側要素の初期化完了を示す初期化完了信号を、前記撮像装置に送信するためのキューバッファに格納する
前記(1)乃至(5)のいずれかに記載の交換レンズ。
(7)
前記複数のレンズ側要素に、絞りと、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素とを含む場合、
前記レンズ制御部は、全ての前記非対応露出影響要素と前記絞りの前記初期化の完了に応じたタイミングで、前記絞りの前記初期化完了信号を、前記キューバッファに格納する
前記(6)に記載の交換レンズ。
(8)
前記複数のレンズ側要素に、前記撮像装置が対応している対応要素と、前記撮像装置が対応していない非対応要素とを含む場合、
前記レンズ制御部は、初期化が完了していない前記対応要素が2つ以上ある場合には、初期化が完了していない前記非対応要素の有無にかかわらず、初期化が完了していない2つ以上の前記対応要素のうちの1つの対応要素の初期化の完了に応じたタイミングで、初期化が完了した前記1つの対応要素の前記初期化完了信号を前記キューバッファに格納する
前記(6)または(7)に記載の交換レンズ。
(9)
前記複数のレンズ側要素に、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素と、前記撮像装置が対応している要素であって、前記撮像装置の露出調整処理に影響を与える対応露出影響要素とを含む場合、
前記レンズ制御部は、前記初期化完了信号をまだ送信していない前記対応露出影響要素が最後の1つとなった場合、全ての前記非対応露出影響要素の初期化が完了した時点で、前記撮像装置が対応している最後の前記対応露出影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(6)乃至(8)のいずれかに記載の交換レンズ。
(10)
前記複数のレンズ側要素に、前記撮像装置の露出調整処理に影響を与えない露出非影響要素であって前記撮像装置が対応している少なくとも1つの対応露出非影響要素と、前記露出非影響要素であって前記撮像装置が対応していない少なくとも1つの非対応露出非影響要素とを含む場合、
前記レンズ制御部は、前記対応露出非影響要素の全ての初期化が完了したタイミングで初期化が完了していない前記非対応露出非影響要素が残っている際は、全ての前記非対応露出非影響要素の初期化の完了を待って、最後に初期化が完了した前記対応露出非影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(6)乃至(9)のいずれかに記載の交換レンズ。
(11)
前記レンズ制御部は、前記初期化完了信号を、非同期通信で前記撮像装置に送信する
前記(6)乃至(10)のいずれかに記載の交換レンズ。
(12)
前記レンズ制御部は、
前記レンズ側要素のうち、前記撮像装置が対応しておらず、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素と、前記撮像装置が対応しておらず、前記撮像装置の露出調整処理に影響を与えない非対応露出非影響要素とに対して、排他的に初期化処理を実行する
前記(1)乃至(11)のいずれかに記載の交換レンズ。
(13)
前記複数のレンズ側要素は、前記撮像装置の露出調整処理に影響を与える露出影響要素と、前記露出調整処理に影響を与えない露出非影響要素とを含み、
前記レンズ制御部は、前記露出影響要素と前記露出非影響要素に対して、互いに異なる方式で初期化処理を実行する
前記(1)乃至(12)のいずれかに記載の交換レンズ。
(14)
前記前記複数のレンズ側要素は、前記撮像装置が対応している対応要素と、前記撮像装置が対応していない非対応要素とを含み、
前記レンズ制御部は、前記対応要素と前記非対応要素に対して、互いに異なる方式で初期化処理を実行する
前記(1)乃至(12)のいずれかに記載の交換レンズ。
(15)
前記異なる方式とは、初期化が完了した要素について、前記撮像装置に送信するためのキューバッファに格納するタイミングが異なることである
前記(13)または(14)に記載の交換レンズ。
(16)
前記レンズ制御部は、前記レンズ側初期化実施要素情報を、非同期通信で前記撮像装置に送信する
前記(1)乃至(15)のいずれかに記載の交換レンズ。
(17)
自身が初期化を実施する要素である複数のボディ側要素を示すボディ側初期化実施要素情報を交換レンズに送信し、前記交換レンズから受信した前記交換レンズが初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化要素情報に応じて、前記自身が初期化を実施する前記複数のボディ側要素に対する初期化を実施するボディ制御部
を備える撮像装置。
(18)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素と、前記ボディ側初期化実施要素情報が示す複数のボディ側要素とで共通する少なくとも1つの共通要素を識別可能な情報である
前記(17)に記載の撮像装置。
(19)
前記ボディ制御部は、前記レンズ側初期化実施要素情報が示す前記共通要素の全てに対する初期化完了信号を受信したことをもって、前記交換レンズ側での初期化が完了したと判断する
前記(18)に記載の撮像装置。
(20)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素の全てを識別可能な情報である
前記(17)に記載の撮像装置。
(21)
前記ボディ制御部は、前記ボディ側初期化実施要素情報が示す前記複数のボディ側要素と、前記レンズ側初期化実施要素情報が示す前記複数のレンズ側要素とで共通する共通要素の全てに対する初期化完了信号を受信したことをもって、前記交換レンズ側での初期化が完了したと判断する
前記(20)に記載の撮像装置。
(22)
前記ボディ制御部は、初期化の開始を要求する初期化開始コマンドとともに、前記ボディ側初期化実施要素情報を、前記交換レンズに送信する
前記(17)乃至(21)のいずれかに記載の撮像装置。
(23)
前記ボディ制御部は、露出調整処理に影響を与える全ての要素の初期化完了信号を受信したことに応じて、前記初期化として露出調整処理を開始する
前記(17)乃至(22)のいずれかに記載の撮像装置。
(24)
交換レンズと撮像装置とからなり、
前記交換レンズは、
前記撮像装置が初期化を実施する要素であるボディ側要素を示すボディ側初期化実施要素情報を、前記撮像装置から受信したことに応じて、前記交換レンズが初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信するレンズ制御部を備え、
前記撮像装置は、
前記ボディ側初期化実施要素情報を前記交換レンズに送信し、前記交換レンズから受信した前記レンズ側初期化実施要素情報に応じて、前記撮像装置が初期化を実施する複数のボディ側要素に対する初期化を実施するボディ制御部と
を備える
カメラシステム。
(25)
交換レンズのレンズ制御部が、
撮像装置が初期化を実施する要素であるボディ側要素を示すボディ側初期化実施要素情報を、前記撮像装置から受信したことに応じて、自身が初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信する
交換レンズの制御方法。
(26)
交換レンズのコンピュータに、
撮像装置が初期化を実施する要素であるボディ側要素を示すボディ側初期化実施要素情報を、前記撮像装置から受信したことに応じて、自身が初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信する
処理を実行させるプログラム。
(27)
撮像装置のボディ制御部が、
自身が初期化を実施する要素である複数のボディ側要素を示すボディ側初期化実施要素情報を交換レンズに送信し、前記交換レンズから受信した前記交換レンズが初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化要素情報に応じて、前記自身が初期化を実施する前記複数のボディ側要素に対する初期化を実施する
撮像装置の制御方法。
(28)
撮像装置のコンピュータに、
自身が初期化を実施する要素である複数のボディ側要素を示すボディ側初期化実施要素情報を交換レンズに送信し、前記交換レンズから受信した前記交換レンズが初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化要素情報に応じて、前記自身が初期化を実施する前記複数のボディ側要素に対する初期化を実施する
処理を実行させるプログラム。
(A1)
撮像装置からの初期化開始コマンドに応じて、自身が初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信するレンズ制御部
を備える交換レンズ。
(A2)
前記レンズ制御部は、さらに、前記複数のレンズ側要素の各レンズ側要素に対する初期化が完了する毎に、前記各レンズ側要素の初期化完了を示す初期化完了信号を、前記撮像装置に送信するためのキューバッファに格納する
前記(A1)に記載の交換レンズ。
(A3)
前記複数のレンズ側要素に、絞りと、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素とを含む場合、
前記レンズ制御部は、全ての前記非対応露出影響要素と前記絞りの前記初期化の完了に応じたタイミングで、前記絞りの前記初期化完了信号を、前記キューバッファに格納する
前記(A2)に記載の交換レンズ。
(A4)
前記複数のレンズ側要素に、前記撮像装置が対応している対応要素と、前記撮像装置が対応していない非対応要素とを含む場合、
前記レンズ制御部は、初期化が完了していない前記対応要素が2つ以上ある場合には、初期化が完了していない前記非対応要素の有無にかかわらず、初期化が完了していない2つ以上の前記対応要素のうちの1つの対応要素の初期化の完了に応じたタイミングで、初期化が完了した前記1つの対応要素の前記初期化完了信号を前記キューバッファに格納する
前記(A2)に記載の交換レンズ。
(A5)
前記複数のレンズ側要素に、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素と、前記撮像装置が対応している要素であって、前記撮像装置の露出調整処理に影響を与える対応露出影響要素とを含む場合、
前記レンズ制御部は、前記初期化完了信号をまだ送信していない前記対応露出影響要素が最後の1つとなった場合、全ての前記非対応露出影響要素の初期化が完了した時点で、前記撮像装置が対応している最後の前記対応露出影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(A2)に記載の交換レンズ。
(A6)
前記複数のレンズ側要素に、前記撮像装置の露出調整処理に影響を与えない露出非影響要素であって前記撮像装置が対応している少なくとも1つの対応露出非影響要素と、前記露出非影響要素であって前記撮像装置が対応していない少なくとも1つの非対応露出非影響要素とを含む場合、
前記レンズ制御部は、前記対応露出非影響要素の全ての初期化が完了したタイミングで初期化が完了していない前記非対応露出非影響要素が残っている際は、全ての前記非対応露出非影響要素の初期化の完了を待って、最後に初期化が完了した前記対応露出非影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(A2)に記載の交換レンズ。
(A7)
前記レンズ制御部は、前記初期化完了信号を、非同期通信で前記撮像装置に送信する
前記(A2)に記載の交換レンズ。
(A8)
前記レンズ制御部は、
前記レンズ側要素のうち、前記撮像装置が対応しておらず、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素と、前記撮像装置が対応しておらず、前記撮像装置の露出調整処理に影響を与えない非対応露出非影響要素とに対して、排他的に初期化処理を実行する
前記(A1)に記載の交換レンズ。
(A9)
前記複数のレンズ側要素は、前記撮像装置の露出調整処理に影響を与える露出影響要素と、前記露出調整処理に影響を与えない露出非影響要素とを含み、
前記レンズ制御部は、前記露出影響要素と前記露出非影響要素に対して、互いに異なる方式で初期化処理を実行する
前記(A1)に記載の交換レンズ。
(A9)
前記前記複数のレンズ側要素は、前記撮像装置が対応している対応要素と、前記撮像装置が対応していない非対応要素とを含み、
前記レンズ制御部は、前記対応要素と前記非対応要素に対して、互いに異なる方式で初期化処理を実行する
前記(A1)に記載の交換レンズ。
(A10)
前記異なる方式とは、初期化が完了した要素について、前記撮像装置に送信するためのキューバッファに格納するタイミングが異なることである
前記(A9)に記載の交換レンズ。
(A11)
前記レンズ制御部は、前記レンズ側初期化実施要素情報を、非同期通信で前記撮像装置に送信する
前記(A1)に記載の交換レンズ。
(B1)
各レンズ側要素の初期化の完了に応じたタイミングで、前記レンズ側要素の初期化完了を示す初期化完了信号を、前記撮像装置に送信するレンズ制御部を備え、
前記レンズ側要素には、絞りと、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素とを含む場合、
前記レンズ制御部は、全ての前記非対応露出影響要素と前記絞りの前記初期化が完了したことを条件として、前記絞りの前記初期化完了信号を、前記撮像装置に送信するためのキューバッファに格納する
交換レンズ。
(B2)
前記複数のレンズ側要素に、前記撮像装置が対応している対応要素と、前記撮像装置が対応していない非対応要素とを含む場合、
前記レンズ制御部は、初期化が完了していない前記対応要素が2つ以上ある場合には、初期化が完了していない前記非対応要素の有無にかかわらず、初期化が完了していない2つ以上の前記対応要素のうちの1つの対応要素の初期化の完了に応じたタイミングで、初期化が完了した前記1つの対応要素の前記初期化完了信号を前記キューバッファに格納する
前記(B1)に記載の交換レンズ。
(B3)
前記複数のレンズ側要素に、前記撮像装置が対応していない要素であって、前記撮像装置の露出調整処理に影響を与える非対応露出影響要素と、前記撮像装置が対応している要素であって、前記撮像装置の露出調整処理に影響を与える対応露出影響要素とを含む場合、
前記レンズ制御部は、前記初期化完了信号をまだ送信していない前記対応露出影響要素が最後の1つとなった場合、全ての前記非対応露出影響要素の初期化が完了した時点で、前記撮像装置が対応している最後の前記対応露出影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(B1)に記載の交換レンズ。
(B4)
前記複数のレンズ側要素に、前記撮像装置の露出調整処理に影響を与えない露出非影響要素であって前記撮像装置が対応している少なくとも1つの対応露出非影響要素と、前記露出非影響要素であって前記撮像装置が対応していない少なくとも1つの非対応露出非影響要素とを含む場合、
前記レンズ制御部は、前記対応露出非影響要素の全ての初期化が完了したタイミングで初期化が完了していない前記非対応露出非影響要素が残っている際は、全ての前記非対応露出非影響要素の初期化の完了を待って、最後に初期化が完了した前記対応露出非影響要素の前記初期化完了信号を前記キューバッファに格納する
前記(B1)に記載の交換レンズ。
(B5)
前記レンズ制御部は、前記初期化完了信号を、非同期通信で前記撮像装置に送信する
前記(B1)に記載の交換レンズ。
(B6)
前記レンズ制御部は、さらに、撮像装置が初期化を実施するボディ側要素を示すボディ側初期化実施要素情報を、前記撮像装置から受信したことに応じて、自身が初期化を実施する要素である複数のレンズ側要素を示すレンズ側初期化実施要素情報を前記撮像装置に送信する
前記(B1)に記載の交換レンズ。
(B7)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素の全てを識別可能な情報である
前記(B6)に記載の交換レンズ。
(B8)
前記レンズ側初期化実施要素情報は、前記交換レンズが初期化を実施する複数のレンズ側要素と、前記ボディ側初期化実施要素情報が示す複数のボディ側要素とで共通する少なくとも1つの共通要素を識別可能な情報である
前記(B6)に記載の交換レンズ。
(B9)
前記レンズ制御部は、前記交換レンズの初期化の開始を要求する初期化開始コマンドとともに、前記ボディ側初期化実施要素情報を、前記撮像装置から受信する
前記(B6)に記載の交換レンズ。
(B10)
前記レンズ制御部は、初期化を開始する前に、前記レンズ側初期化実施要素情報を前記撮像装置に送信する
前記(B6)に記載の交換レンズ。