(57)【特許請求の範囲】
【請求項１】
装着されている第１のアクセサリの情報と、該第１のアクセサリに装着されている第２のアクセサリの情報とを、前記第１のアクセサリから受信する受信手段と、
前記受信手段が受信した情報に基づいて、前記第１のアクセサリと前記第２のアクセサリとから、制御ソフトウェアの更新対象のアクセサリを設定する設定手段と、
前記設定手段により設定された前記更新対象のアクセサリに適用するための更新データを前記第１のアクセサリに送信する送信手段と、を有し、
前記設定手段は、前記第１のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記受信手段を介して受信した場合には、前記第２のアクセサリの制御ソフトウェアの更新が中断された状態であるか否かの情報を前記受信手段を介して受信したか否かに関わらず、前記第１のアクセサリを前記更新対象のアクセサリに設定することを特徴とする撮像装置。
【請求項２】
前記設定手段は、前記第１のアクセサリの制御ソフトウェアの更新が中断された状態でなく、かつ、前記第２のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記受信手段を介して受信した場合、前記第２のアクセサリを前記更新対象のアクセサリに設定し、
前記送信手段は、前記第２のアクセサリに適用するための更新データを第１のアクセサリを介して第２のアクセサリに送信する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第１のアクセサリと前記第２のアクセサリがともに制御ソフトウェアの更新が中断された状態であることを示す情報を前記受信手段を介して受信した場合、前記設定手段は、前記第１のアクセサリを前記更新対象のアクセサリに設定し、前記第１のアクセサリの制御ソフトウェアの更新が完了したことが確認された後に前記第２のアクセサリを更新対象のアクセサリに設定することを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項４】
前記第１のアクセサリが制御ソフトウェアの更新が中断された状態であることを示す情報を前記受信手段を介して受信した場合、前記第２のアクセサリが制御ソフトウェアの更新が中断された状態であるか否かを示す情報を受信しないことを特徴とする請求項１から請求項３のいずれか１項に記載の撮像装置。
【請求項５】
ユーザによる前記更新対象のアクセサリの選択を受け付ける受付手段をさらに有し、
前記第１のアクセサリ及び前記第２のアクセサリが、制御ソフトウェアの更新が中断された状態でないことを示す情報を前記受信手段を介して受信した場合、
前記設定手段は、前記第１のアクセサリ及び前記第２のアクセサリのうち、前記ユーザにより選択されたアクセサリを前記更新対象のアクセサリに設定する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項６】
前記第１のアクセサリがレンズユニット、エクステンダ、フラッシュの少なくともいずれかを含むことを特徴とする請求項１から請求項５のいずれか１項に記載の撮像装置。
【請求項７】
前記第１のアクセサリがズーム機構を有するレンズユニットであって、前記第２のアクセサリが前記レンズユニットの外部から前記ズーム機構を機械的に駆動するアダプタであることを特徴とする請求項１から請求項６のいずれか１項に記載の撮像装置。
【請求項８】
撮像装置に装着可能なアクセサリであって、
前記アクセサリに装着されているサブアクセサリの情報を要求する指示を前記サブアクセサリに送信し、前記情報を受信する第１の通信手段と、
前記撮像装置からの情報を要求する指示に応じて、前記アクセサリおよび前記サブアクセサリの情報を前記撮像装置に送信し、前記アクセサリおよび前記サブアクセサリのうち、制御ソフトウェアの更新対象のアクセサリに適用するための更新データを前記撮像装置から受信する第２の通信手段と、
前記アクセサリの制御ソフトウェアを記憶する記憶手段と、
制御手段であって、
前記アクセサリの制御ソフトウェアの更新が中断された状態である場合には、
前記アクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記撮像装置に前記第２の通信手段を介して送信し、
前記撮像装置から前記第２の通信手段を介して更新データを受信し、
前記更新データを用いて、前記記憶手段に記憶されている前記アクセサリの制御ソフトウェアの更新を行い、
前記アクセサリの制御ソフトウェアの更新が中断された状態でない場合には、
前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かを示す情報を、前記第１の通信手段を介して前記サブアクセサリから受信し、前記第２の通信手段を介して前記撮像装置に送信する、制御手段と、
を有することを特徴とするアクセサリ。
【請求項９】
前記制御手段は、前記アクセサリの制御ソフトウェアの更新が中断された状態である場合に、前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かを示す情報を前記撮像装置に第２の通信手段を介して送信しないことを特徴とする請求項８に記載のアクセサリ。
【請求項１０】
前記アクセサリの制御ソフトウェアの更新が中断された状態である場合に、前記第１の通信手段は、前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かを示す情報を受信しないことを特徴とする請求項８または９に記載のアクセサリ。
【請求項１１】
前記制御手段は、
前記アクセサリの制御ソフトウェアの更新が中断された状態でない場合、
前記サブアクセサリの制御ソフトウェアの更新データを、前記撮像装置から前記第２の通信手段を介して受信し、前記第１の通信手段を介して前記サブアクセサリへ送信する、
ことを特徴とする請求項８から請求項１０のいずれか１項に記載のアクセサリ。
【請求項１２】
撮像装置に装着可能なアクセサリであって、
前記アクセサリに装着されているサブアクセサリの情報を受信する第１の受信手段と、
前記アクセサリの制御ソフトウェアを記憶する記憶手段と、
前記アクセサリおよび前記サブアクセサリから、制御ソフトウェアの更新対象のアクセサリを決定する決定手段と
前記更新対象のアクセサリの情報を示す通知を前記撮像装置に送信する送信手段と、
前記更新対象のアクセサリに適用するための更新データを前記撮像装置から受信する第２の受信手段と、を有し、
前記決定手段は、前記記憶手段に記憶されている前記制御ソフトウェアの更新が中断された状態である場合には、前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かに関わらず、前記アクセサリを前記更新対象のアクセサリに決定する、ことを特徴とするアクセサリ。
【請求項１３】
前記決定手段は、前記記憶手段に記憶されている前記制御ソフトウェアの更新が中断された状態でない場合に、前記サブアクセサリを前記更新対象のアクセサリに決定できることを特徴とする請求項１２に記載のアクセサリ。
【請求項１４】
前記送信手段は、前記記憶手段に記憶されている前記制御ソフトウェアの更新が中断された状態である場合に、前記第１の受信手段による前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かの情報の受信を行わずに、前記アクセサリが前記更新対象のアクセサリであることを示す通知を前記撮像装置に送信することを特徴とする請求項１２または請求項１３に記載のアクセサリ。
【請求項１５】
前記第１の受信手段は、前記記憶手段に記憶されている前記制御ソフトウェアの更新が中断された状態でない場合に、前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かの情報を受信することを特徴とする請求項１４に記載のアクセサリ。
【請求項１６】
前記送信手段は、前記記憶手段に記憶されている前記制御ソフトウェアの更新が中断された状態でなく、前記サブアクセサリの制御ソフトウェアの更新が中断された状態である場合に、前記サブアクセサリが前記更新対象のアクセサリであることを示す通知を前記撮像装置に送信することを特徴とする請求項１２から請求項１５のいずれか１項に記載のアクセサリ。
【請求項１７】
撮像装置と、前記撮像装置に装着される第１のアクセサリと、前記第１のアクセサリに装着される第２のアクセサリとを有する撮像システムであって、
前記第１のアクセサリは、
前記第２のアクセサリの情報を受信する第１の受信手段と、
前記第１のアクセサリおよび前記第２のアクセサリの情報を前記撮像装置に送信する第１の送信手段と、
前記第１のアクセサリおよび前記第２のアクセサリのうち、制御ソフトウェアの更新対象のアクセサリに適用するための更新データを前記撮像装置から受信する第２の受信手段と、を有し、
前記撮像装置は、
前記第１のアクセサリおよび前記第２のアクセサリの情報を前記第１のアクセサリから受信する第３の受信手段と、
前記更新対象のアクセサリに適用するための前記更新データを前記第１のアクセサリに送信する第２の送信手段と、を有し、
前記第１のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記第３の受信手段を介して受信した場合には、前記第２のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記第３の受信手段を介して受信したか否かに関わらず、前記第１のアクセサリを前記更新対象のアクセサリに設定する設定手段を有することを特徴とする撮像システム。
【請求項１８】
第２のアクセサリが装着された第１のアクセサリが装着される撮像装置の制御方法であって、
前記第１のアクセサリから受信した情報に基づいて、制御ソフトウェアの更新対象のアクセサリを設定する設定工程と、
設定された前記更新対象のアクセサリに適用するための更新データを前記第１のアクセサリに送信する送信工程と、を有し、
前記設定工程は、
前記第１のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を前記第１のアクセサリから受信した場合に、前記第２のアクセサリの制御ソフトウェアの更新が中断された状態であるか否かを示す情報を前記第１のアクセサリから受信したか否かに関わらず、前記第１のアクセサリを前記更新対象のアクセサリに設定することを特徴とする撮像装置の制御方法。
【請求項１９】
撮像装置に装着可能なアクセサリの制御方法であって、
前記アクセサリに装着されているサブアクセサリの情報と、前記アクセサリの情報とのうち、少なくとも前記アクセサリの情報を前記撮像装置に送信する送信工程と、
前記アクセサリおよび前記サブアクセサリのうち、制御ソフトウェアの更新対象のアクセサリに適用するための更新データを前記撮像装置から受信する受信工程と、を有し、
前記送信工程により前記アクセサリの情報として前記アクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を送信した場合には、前記サブアクセサリの情報として前記サブアクセサリの制御ソフトウェアの更新が中断された状態であるか否かの情報を送信したか否かに関わらず、前記受信工程では前記アクセサリに適用するための更新データを受信することを特徴とするアクセサリの制御方法。
【請求項２０】
撮像装置のコンピュータを、請求項１から請求項７のいずれか１項に記載の撮像装置の各手段として機能させるためのプログラム。
【請求項２１】
撮像装置に装着可能なアクセサリのコンピュータを、請求項８から請求項１６のいずれか１項に記載のアクセサリの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、アクセサリおよびそれらの制御方法、ならびに撮像システムに関する。
【背景技術】
【０００２】
従来、装着されているレンズユニットに記憶されている制御ソフトウェア（ファームウェア）を更新可能なレンズ交換方式の撮像装置がある。また、特許文献１では、レンズユニットと撮像装置との間に装着するエクステンダのファームウェア更新を撮像装置から行う構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９７０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばエクステンダが異常な状態で、エクステンダの先に装着されたレンズユニットのファームウェア更新を実行すると、レンズユニットのファームウェアが正しく更新されずに動作不能となるおそれがある。しかし、特許文献１はこのような問題への対策はもちろん、問題自体が開示されていない。
【０００５】
本発明はこのような従来技術の課題に鑑みてなされたものであり、カメラに装着されるアクセサリに装着される別のアクセサリの更新処理を正常に行うことを可能にする撮像装置およびその制御方法を提供することを１目的とする。
【課題を解決するための手段】
【０００６】
上述の目的は、装着されている第１のアクセサリの情報と、第１のアクセサリに装着されている第２のアクセサリの情報とを、第１のアクセサリから受信する受信手段と、受信手段が受信した情報に基づいて、第１のアクセサリと第２のアクセサリとから、制御ソフトウェアの更新対象のアクセサリを設定する設定手段と、設定手段により設定された更新対象のアクセサリに適用するための更新データを第１のアクセサリに送信する送信手段と、を有し、設定手段は、第１のアクセサリの制御ソフトウェアの更新が中断された状態であることを示す情報を受信手段を介して受信した場合には、第２のアクセサリの制御ソフトウェアの更新が中断された状態であるか否かの情報を受信手段を介して受信したか否かに関わらず、第１のアクセサリを更新対象のアクセサリに設定することを特徴とする撮像装置によって達成される。
【発明の効果】
【０００７】
このような構成により、本発明によれば、カメラに装着されるアクセサリに装着される別のアクセサリの更新処理を正常に行うことを可能にする撮像装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る撮影システムの構成例を示すブロック図
【図２】第１実施形態におけるデジタルカメラの動作に関するフローチャート
【図３】第１実施形態におけるレンズユニットの動作に関するフローチャート
【図４】第１実施形態におけるズームアダプタの動作に関するフローチャート
【図５】第１実施形態におけるデジタルカメラの画面表示例を示す図
【図６】第１実施形態におけるアクセサリ装着情報の一例および選択画面の一例を示す図
【図７】第２実施形態におけるデジタルカメラの動作に関するフローチャート
【図８】第２実施形態におけるレンズユニットの動作に関するフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の例示的な実施形態を、添付の図面に基づいて詳細に説明する。なお、以下で説明する実施形態においては、交換レンズ（レンズユニット）、エクステンダ、フラッシュのようにカメラ本体に装着する機器をアクセサリまたは第１アクセサリ、（第１）アクセサリに着脱可能な機器をサブアクセサリまたは第２アクセサリと呼ぶ。従って、エクステンダがカメラ本体に装着されている場合、交換レンズは第２アクセサリである。なお、第１アクセサリと第２アクセサリとを区別する必要のない場合には、両者を単に「アクセサリ」と呼ぶことがある。また、アクセサリの一例としてズーム機能を有する交換レンズ、サブアクセサリの一例としてレンズのズーム機構をレンズ外部から機械的に駆動するズームアダプタを用いる構成について説明する。しかしながら、本発明は他のアクセサリおよびサブアクセサリの組み合わせに対しても適用可能である。
【００１０】
●（第１実施形態）
図１は、本発明の実施形態にかかわる撮像システムを構成する機器の接続関係および、各機器の機能構成例を示すブロック図である。本実施形態の撮像システム１００は、レンズ交換式のデジタルカメラ（カメラ本体）１０１と、デジタルカメラ１０１に着脱可能なレンズユニット（交換レンズまたは撮像レンズ）１０２と、レンズ１０２に着脱可能なズームアダプタ１０３とを有する。
【００１１】
デジタルカメラ（以下、カメラと呼ぶ）１０１とレンズユニット（以下、レンズと呼ぶ）１０２とは、レンズマウントに設けられたマウントＩＦ１２４を通じて双方向に通信可能である。マウントＩＦ１２４はまた、カメラ１０１からレンズ１０２に電力を供給するためにも用いられる。レンズ１０２とズームアダプタ１０３はアダプタＩＦ１２５を通じて双方向に通信可能である。
【００１２】
レンズ１０２は、カメラ１０１が有する撮像素子１０８における結像面に被写体の光学像を形成する撮像レンズである。本実施形態においてレンズ１０２は変倍レンズ１０４ａを有するズームレンズである。レンズ１０２の筐体に設けられたズーム操作部１２０ａは、ユーザがレンズ１０２の焦点距離または倍率を変更するために操作する可動部材であり、代表的にはズームリングである。ズーム機構１２０ｂはズーム操作部１２０ａの動きに連動して変倍レンズ１０４ａを光軸上で移動させる。
【００１３】
なお、本実施形態ではズーム操作部１２０ａとズーム機構１２０ｂとが機械的に連携して変倍レンズ１０４ａを駆動する構成であるものとする。しかし、ズーム操作部１２０ａの操作方向および操作量を検出し、操作方向および操作量に応じてモータやアクチュエータを制御することによって変倍レンズ１０４ａを駆動してもよい。この場合、ズーム操作部１２０ａの操作方向および操作量は後述するレンズ制御部１１９が検出し、モータやアクチュエータを制御すればよい。なお、変倍レンズ１０４ａの位置（あるいはレンズ１０２の倍率）はレンズ制御部１１９が検出可能である。
【００１４】
レンズ１０２は可動部品として絞り１０４ｂおよびフォーカスレンズ１０４ｃをさらに有する。絞り１０４ｂおよびフォーカスレンズ１０４ｃは、レンズ制御部１１９の制御に基づいてレンズ駆動部１０５がモータやアクチュエータによって駆動する。
【００１５】
メモリ部１２６は、書き換え可能な不揮発メモリで構成され、レンズ制御部１１９が実行する制御ソフトウェア（ファームウェア）、レンズ１０２に関する固有情報や状態情報を記憶する。固有情報は例えば機種名（識別情報）、光学特性、補正情報などである。また、状態情報は例えば動作状態（正常／セーフモード）、変倍レンズ１０４ａの位置情報（または倍率）、フォーカスレンズ１０４ｃの位置情報、絞り１０４ｂのＦ値、ファームウェアのバージョンや更新状態、ズームアダプタ１０３の装着有無などである。ただし、これらに限定されない。また、メモリ部１２６には、後述するセーフモードでレンズ１０２を動作させる際に実行するプログラムも記憶されている。
【００１６】
レンズ制御部１１９はＣＰＵなどのプログラマブルプロセッサを有し、メモリ部１２６からプログラムを読み出して実行することにより、後述するレンズ１０２の動作をはじめとした、各種の動作を実現する。例えばレンズ制御部１１９は、カメラ制御部１１２からマウントＩＦ１２４を通じて受信した命令に応じた動作、例えばレンズ駆動部１０５の制御や、メモリ部１２６に記憶されたファームウェアの更新を実行する。
【００１７】
レンズ制御部１１９は、メモリ部１２６に記憶されている古いファームウェアを、例えばカメラ１０１からマウントＩＦ１２４を介して受信した新しいファームウェアで上書きすることによってファームウェアを更新する。また、レンズ制御部１１９は、ファームウェアの更新処理の状態を表すデータ（更新状態データ）をメモリ部１２６に記録することで、更新処理を管理する。例えばレンズ制御部１１９はファームウェアの上書きを行う前に、更新状態データを「未完了」を示す値にし、ファームウェアの上書きが完了すると更新状態データを「完了」を示す値にする。なお、「完了」を示す値は「正常完了」を示す値と「異常完了」を示す値とで異なっていてもよい。また、「異常完了」を示す値は、異常の原因に応じて異なる値であってよい。
【００１８】
例えば、ファームウェアの更新中にレンズ１０２がカメラ１０１から外された場合、レンズ１０２への電源供給が絶たれるため、更新状態データが「未完了」を示す値のまま更新処理が中断される。例えばレンズ制御部１１９は、カメラ１０１に装着された際に更新状態データを確認し、未完了状態を示す値であった場合には、動作が制限されたモード（セーフモード）に移行する。
【００１９】
セーフモードでは、ファームウェアの更新を行うために必要な処理を含む、制限された機能だけが実行可能である。具体的には、セーフモードであることを示す情報（あるいはファームウェア更新の要求）をカメラ１０１に送信する処理と、カメラ１０１から受信したファームウェアでメモリ部１２６内のファームウェアを更新する処理が可能である。それ以外の処理、例えばレンズ駆動部１０５の制御は行えない。
【００２０】
通常、メモリ部１２６の容量はファームウェア全体を二重化して記憶できるほど大きくない。そのため、セーフモード用のプログラムの記憶に利用できる容量は制限される。したがってセーフモードでは、レンズ１０２の動作状態の送信やファームウェアの更新といった必要最低限の機能を含む、限られた機能だけが提供される。レンズ制御部１１９はセーフモード中にマウントＩＦ１２４やアダプタＩＦ１２５を通じて、セーフモードでは実行できない処理の要求、例えばズームアダプタ１０３のファームウェア更新要求を受信した場合、要求を無視する。
【００２１】
カメラ制御部１１２は、例えば取得したレンズ１０２の動作状態から、装着されているレンズ１０２がセーフモードであることを検出することができる。そして、レンズ１０２がセーフモードであることが検出されると、カメラ制御部１１２は、レンズ１０２の正常動作にはファームウェア更新が必要であることを例えば表示部１１８へのメッセージ表示などによってユーザに報知することができる。
【００２２】
カメラ１０１において、シャッタ駆動部１０７は、カメラ制御部１１２の制御に基づいてシャッタ１０６の開閉動作を行う。複数の画素が配列された撮像素子１０８は、シャッタ１０６が開いている間に露光され、レンズ１０２が結像した被写体像を、各画素で変換された電気信号で構成される画像信号として出力する。
【００２３】
画像処理部１０９は撮像素子１０８が出力する画像信号に対して様々な処理を適用し、画像データや制御情報などを生成する。画像処理部１０９が画像データ生成のために適用しうる処理は、Ａ／Ｄ変換処理、ノイズ低減処理、欠陥画素補正処理、色変換処理、色補間（デモザイク）処理、ホワイトバランス調整処理、階調補正処理、歪み補正処理、スケーリング処理などがある。また、画像処理部１０９は制御情報として、自動焦点検出（ＡＦ）、自動露出制御（ＡＥ）に用いるデータを生成する。制御情報には例えばコントラストＡＦに用いる評価値、位相差ＡＦに用いる像信号、輝度情報、被写体領域の位置や大きさに関する情報などがある。なお、画像処理部１０９は、ここで例示した以外の処理を実行したり、例示した処理の１つ以上を実行しなかったりしてもよい。
【００２４】
タイミング生成部１１０は撮像素子１０８および画像処理部１０９に、各種のタイミング信号および制御信号を出力する。
メモリ部１３０は、書き換え可能な不揮発メモリで構成され、カメラ制御部１１２が実行するプログラム（ファームウェアおよびアプリケーションソフトウェア）、ＧＵＩデータ、音声データ、各種の初期値や設定値、カメラ１０１の各種の情報などを記憶する。
カメラ制御部１１２は各種演算処理および撮像装置全体を制御する。
バッファメモリ１１１は画像データなどを一時的に記憶するためのメモリである。
【００２５】
カメラ制御部１１２はＣＰＵなどのプログラマブルプロセッサを有し、メモリ部１３０からプログラムを読み出して実行することにより、カメラ１０１全体の動作ならびにレンズ１０２の動作を制御する。例えばカメラ制御部１１２は、画像処理部１０９が生成した制御情報を用い、フォーカスレンズ１０４ｃの位置を制御するＡＦ処理や、絞り１０４ｂおよびシャッタ１０６の動作を制御するＡＥ処理を実行する。また、カメラ制御部１１２は、操作部１３１を通じて入力された指示に応じた処理（例えばＧＵＩを通じた対話的な動作）を実行する。
【００２６】
また、カメラ制御部１１２は、上述したように、レンズ１０２がセーフモードの場合や、操作部１３１を通じた指示に基づいて、レンズ１０２のファームウェア更新処理を実行する。さらに、後述するようにカメラ制御部１１２は、レンズ１０２に装着可能なサブアクセサリに関する処理も実行する。この処理には、レンズ１０２に対するサブアクセサリの装着有無や、装着されているサブアクセサリの動作状態の検出処理、サブアクセサリの動作制御処理が含まれる。
【００２７】
メディアＩＦ１１３は、例えば着脱可能なメモリカードである記録媒体１１４に対してデータの記録や読み出しを行うためのインタフェースである。
記録媒体１１４は、カメラ１０１での撮影によって得られた画像データや音声データの記録先として用いられるほか、カメラ１０１、レンズ１０２、ズームアダプタ１０３のファームウェア更新時には新しいファームウェアの供給元としても用いられる。
【００２８】
外部ＩＦ１１５は、カメラ１０１に無線や有線で外部機器を接続するために用いられる。
画像合成部１１６はたとえばＨＤＲ画像の生成時のように、バッファメモリ１１１に一時的に保持された複数の画像データを合成する。
【００２９】
コーデック１１７はバッファメモリ１１１に記憶された画像データを所定の方式で符号化したり、記録媒体１１４から読み出してバッファメモリ１１１に記憶された符号化画像データを復号したりする。符号化方式としては例えばＪＰＥＧ形式やＭＰＥＧ形式が代表的であるが、他の方式であってもよい。コーデック１１７は符号化もしくは復号処理後の画像データを例えばバッファメモリ１１１に記憶する。
【００３０】
表示部１１８は例えば液晶ディスプレイ（ＬＣＤ）を有し、カメラ１０１のＧＵＩや、ライブビュー画像、記録用に撮影した画像や記録媒体１１４から読み出した画像、カメラ１０１、レンズ１０２、ズームアダプタ１０３の情報などの表示に用いられる。表示部１１８はまた、レンズ１０２やズームアダプタ１０３のファームウェア更新をユーザが指示するためのメニュー画面の表示や、レンズ１０２やズームアダプタ１０３でエラーが発生したり、動作状態の異常が検出されたことの報知にも用いられる。表示部１１８の表示動作は表示制御部１２０を通じてカメラ制御部１１２が制御する。
【００３１】
マウントＩＦ１２４は、カメラ１０１（カメラ制御部１１２）とレンズ１０２（レンズ制御部１１９）との間の双方向通信インタフェースである。カメラ制御部１１２からマウントＩＦ１２４を通じてレンズ制御部１１９へ命令や要求を送信することにより、レンズ１０２の固有情報や状態情報を取得したり、絞り１０４ｂやフォーカスレンズ１０４ｃを制御したりすることができる。
【００３２】
また、カメラ制御部１１２は、マウントＩＦ１２４を通じて、レンズ１０２に装着可能なサブアクセサリ（ここではズームアダプタ１０３）の情報を取得することができる。
【００３３】
操作部１３１は、ユーザがカメラ１０１に設定や指示を行うための入力デバイス群である。操作部１３１には、メニューキー、方向キーおよび決定キーのような、ＧＵＩを操作するために用いる操作部材や、レリーズボタン、モードダイヤル、ズームボタンのような撮像操作に用いる操作部材が含まれる。表示部１１８がタッチディスプレイの場合、表示部１１８も操作部１３１に含まれる。なお、操作部１３１には、音声認識を利用する入力デバイスのように、物理的な操作を必要としない入力デバイスが含まれてもよい。
【００３４】
ズームアダプタ１０３は、レンズ１０２のサブアクセサリであり、レンズ１０２に装着された状態において、ズーム駆動部１２２の可動部がレンズ１０２のズーム操作部１２０ａと接するように構成されている。ズーム駆動部１２２の可動部はモータやアクチュエータなどによって駆動され、接しているズーム操作部１２０ａを機械的に駆動する。ズーム駆動部１２２の動力は例えば電池である電源部１２８から供給される。
【００３５】
アダプタＩＦ１２５は、ズームアダプタ１０３（アダプタ制御部１２１）とレンズ１０２（レンズ制御部１１９）との間の通信インタフェースである。アダプタＩＦ１２５を介して、レンズ１０２はズームアダプタ１０３の装着や取り外しを検出したり、ズームアダプタ１０３の状態情報（例えばファームウェアのバージョンや更新状態、動作状態など）を取得することができる。また、レンズ１０２は、カメラ１０１から受信した、ズームアダプタ１０３への制御命令を、アダプタＩＦ１２５を通じてズームアダプタ１０３へ転送することができる。
【００３６】
メモリ部１２７は、書き換え可能な不揮発メモリで構成され、アダプタ制御部１２１が実行する制御プログラム（ファームウェア）、ズームアダプタ１０３に関する固有情報や状態情報を記憶する。固有情報は例えば機種名（識別情報）などである。また、状態情報は例えばズーム駆動部１２２の位置情報、ファームウェアのバージョンや更新状態、ズームアダプタ１０３の動作状態（正常／セーフモード）、モード切り替えスイッチ１２３の状態、電源部１２８の状態（残量など）である。ただし、これらに限定されない。また、メモリ部１２７には、セーフモードでズームアダプタ１０３を動作させる際に実行するプログラムも記憶されている。
【００３７】
アダプタ制御部１２１はＣＰＵなどのプログラマブルプロセッサを有し、メモリ部１２７からプログラムを読み出して実行することにより、後述するズームアダプタ１０３の動作をはじめとした、各種の動作を実現する。例えばアダプタ制御部１２１は、レンズ制御部１１９からアダプタＩＦ１２５を通じて受信した命令に応じた動作、例えばズーム駆動部１２２の制御や、メモリ部１２７に記憶されたファームウェアの更新を実行する。
【００３８】
アダプタ制御部１２１は、メモリ部１２７に記憶されている古いファームウェアを、レンズ１０２からアダプタＩＦ１２５を介して受信した新しいファームウェアで上書きすることによってファームウェアを更新する。また、アダプタ制御部１２１は、ファームウェアの更新処理の状態を表すデータ（更新状態データ）をメモリ部１２７に記録することで、更新処理を管理する。例えばアダプタ制御部１２１はファームウェアの上書きを行う前に、更新状態データを「未完了」を示す値にし、ファームウェアの上書きが完了すると更新状態データを「完了」を示す値にする。なお、「完了」を示す値は「正常完了」を示す値と「異常完了」を示す値とで異なっていてもよい。また、「異常完了」を示す値は、異常の原因に応じて異なる値であってよい。
【００３９】
例えば、新しいファームウェアの受信と更新とを並行して実施している際にズームアダプタ１０３がレンズ１０２から外されたり、レンズ１０２がカメラ１０１から外されたりした場合、更新状態データが「未完了」を示す値のまま更新処理が中断される。例えばアダプタ制御部１２１は、レンズ１０２に装着された際に更新状態データを確認し、未完了状態を示す値であった場合には、動作が制限されたモード（セーフモード）に移行する。
【００４０】
セーフモードでは、ファームウェアの更新を行うために必要な処理を含む、制限された機能だけが実行可能である。具体的には、アダプタの動作状態（あるいはファームウェア更新の要求）をレンズ１０２に送信する処理と、レンズ１０２を通じて受信したファームウェアでメモリ部１２７内のファームウェアを更新する処理が可能である。それ以外の処理、例えばズーム駆動部１２２の制御は行えない。レンズ１０２のメモリ部１２６と同様、セーフモード用のプログラムに利用できる容量が制限されるためである。アダプタ制御部１２１はセーフモード中に、セーフモードでは実行できない処理の要求、例えばズーム制御要求をアダプタＩＦ１２５を通じて受信した場合、要求を無視する。
【００４１】
モード切り替えスイッチ１２３は、レンズ１０２のズーム操作を手動で（ズーム操作部１２０ａを操作して）行うか、自動で（ズームアダプタ１０３を用いた電動ズームを）行うかをユーザが切り替えるためのスイッチである。手動が選択されている場合、アダプタ制御部１２１はズームアダプタ１０３の駆動命令を受信してもズーム駆動部１２２を駆動しない。
【００４２】
カメラ１０１とレンズ１０２は、マウントＩＦ１２４を介して双方向の通信を行う。例えば、カメラ１０１側はレンズ１０２に対し、フォーカス制御に関する命令を送信する。また、レンズ１０２は、カメラ１０１に対し、最大ズーム位置、最小ズーム位置などレンズ固有の情報や、現在のフォーカスレンズ位置やズーム位置など、レンズの状態に関する情報を送信することができる。
【００４３】
また、レンズ１０２とズームアダプタ１０３は、アダプタＩＦ１２５を介して双方向の通信を行う。例えば、レンズ１０２は、ズームアダプタ１０３に対してズーム位置情報（現在のズーム位置、最大ズーム位置、最小ズーム位置）を通知する。ズームアダプタ１０３は、通知されたズーム位置情報をもとに、ズーム操作が可能か否かを判断することができる。また、ズームアダプタ１０３は、ズームアダプタ１０３の状態に関する情報をレンズ１０２に送信することもできる。
【００４４】
本実施形態において、カメラ１０１とズームアダプタ１０３とは接続はされていないが、レンズ１０２を介して双方向の通信が可能である。例えば、レンズ１０２（レンズ制御部１１９）が、ズームアダプタ１０３（アダプタ制御部１２１）から受信した情報をカメラ１０１（カメラ制御部１１２）に転送もしくは通知することで、ズームアダプタ１０３とカメラ１０１との双方向通信を実現可能である。また、レンズ１０２が、カメラ１０１から受信した情報をズームアダプタ１０３に転送もしくは通知することにより、カメラ１０１からズームアダプタ１０３に情報を送信することが可能である。例えばカメラ１０１からズームアダプタ１０３が解釈可能なズーム駆動の命令をレンズ１０２に送信することにより、ズームアダプタ１０３の動作を制御し、レンズ１０２をズームさせることが可能である。
【００４５】
なお、ズームアダプタ１０３を駆動する命令（ズーム制御命令）は、カメラ１０１（操作部１３１）の操作に応じて生成されるだけでなく、外部ＩＦ１１５を通じてカメラ１０１が外部機器から受信したものであってもよい。例えば、カメラ１０１と通信可能な外部機器（例えば携帯電話機やタブレット端末）で動作する遠隔撮影用のアプリケーションのユーザ操作に応じて、外部機器から送信されたズーム制御命令であってよい。そして、このズーム制御命令を、カメラ１０１がレンズ１０２に、さらにレンズ１０２がズームアダプタ１０３に転送する。このように、外部機器が送信したズームアダプタ１０３の制御命令をカメラ１０１およびレンズ１０２が中継することにより、ズームアダプタ１０３を外部機器から遠隔操作することができる。したがって、レンズ１０２が例えば手動ズームであったとしても、外部機器から遠隔的にレンズのズーム制御を行うことが可能になる。
【００４６】
このように、レンズ１０２（レンズ制御部１１９）がデータを中継もしくは転送することにより、カメラ１０１とズームアダプタ１０３との双方向通信が実現される。なお、レンズ制御部１１９は、例えばヘッダ情報を参照することによって、カメラ１０１やズームアダプタ１０３から受信したデータがレンズ１０２に宛てられたものか、他の装置に転送すべきものかどうかを判別することができる。
【００４７】
レンズ制御部１１９は、ズーム駆動命令の実行結果や、ズームアダプタ１０３の状態に関する情報を、アダプタ制御部１２１からアダプタＩＦ１２５を介して受信し、マウントＩＦ１２４を介してカメラ制御部１１２に転送する。
【００４８】
また、カメラ制御部１１２は、マウントＩＦ１２４を介してレンズ１０２の装着を検出すると、マウントＩＦ１２４を介してレンズ制御部１１９に情報要求命令を送信する。レンズ制御部１１９はこの命令に応答してメモリ部１２６から固有情報や状態情報を読み出し、カメラ制御部１１２に送信する。なお、レンズ制御部１１９は、サブアクセサリ（ここではズームアダプタ１０３）が装着されると、サブアクセサリの制御部に情報要求命令を送信し、サブアクセサリの固有情報や状態情報を取得し、メモリ部１２６に保存してもよい。この場合レンズ制御部１１９は、サブアクセサリが外されたり、サブアクセサリの動作状態が変化したりすると、メモリ部１２６に記憶した、サブアクセサリの固有情報や状態情報に反映させる。また、レンズ制御部１１９は、カメラ制御部１１２から情報要求命令を受信すると、メモリ部１２６からレンズ１０２の情報に加え、サブアクセサリの情報も読み出し、カメラ制御部１１２に送信する。メモリ部１２６にサブアクセサリの情報を保存していない場合、レンズ制御部１１９は情報要求命令を受信すると、アダプタ制御部１２１に情報要求命令を転送し、応答に含まれるサブアクセサリの固有情報や状態情報をメモリ部１２６に保存してもよい、
【００４９】
カメラ制御部１１２は、レンズ１０２から取得した状態情報に基づいて、レンズ１０２にサブアクセサリが装着されているか否かや、レンズ１０２のファームウェア更新が必要か否かなどを判定することができる。なお、レンズ１０２にサブアクセサリ（ズームアダプタ１０３）が装着されていると判定された場合、カメラ制御部１１２はズームアダプタ１０３の動作状態や固有情報（識別情報など）を取得する。すなわち、カメラ制御部１１２はズームアダプタ１０３の情報の取得命令をレンズ制御部１１９に送信する。カメラ制御部１１２は、取得した動作状態から、ズームアダプタ１０３がセーフモードで動作していると判定した場合、例えば表示部１１８にメッセージ表示するなどして、ズームアダプタ１０３の動作不良をユーザに報知することができる。
【００５０】
なお、情報の要求命令は、要求する情報を指定できてもよい。従って、カメラ制御部１１２は、固有情報だけ、状態情報だけ、あるいは、固有情報や状態情報に含まれる特定の情報だけを要求ならびに取得することができる。
【００５１】
レンズ制御部１１９はマウントＩＦ１２４を介してカメラ制御部１１２からデータを受信すると、例えばデータの宛先に基づいて、受信データがアダプタ制御部１２１へ転送すべきデータか否かを判定する。そして、レンズ制御部１１９は、アダプタ制御部１２１へ転送すべきデータと判定された受信データは、アダプタＩＦ１２５を介してアダプタ制御部１２１へ転送する。
【００５２】
また、レンズ制御部１１９は、アダプタＩＦ１２５を介してアダプタ制御部１２１からデータを受信すると、例えばデータの宛先に基づいて、受信データがカメラ制御部１１２へ転送すべきデータか否かを判定する。そして、レンズ制御部１１９は、カメラ制御部１１２へ転送すべきデータと判定された受信データは、マウントＩＦ１２４を介してカメラ制御部１１２へ転送する。
【００５３】
従って、レンズ制御部１１９は、カメラ制御部１１２から受信したズームアダプタ１０３の情報要求命令を、アダプタＩＦ１２５を介してアダプタ制御部１２１に転送する。アダプタ制御部１２１は、情報要求命令に応じてメモリ部１２７から情報を読み出し、アダプタＩＦ１２５を介して、カメラ制御部１１２宛てのデータとしてレンズ制御部１１９に送信する。そして、レンズ制御部１１９は、アダプタ制御部１２１から受信したデータをマウントＩＦ１２４を介してカメラ制御部１１２に転送する。
【００５４】
カメラ制御部１１２は、このようにして取得したアクセサリ（レンズ１０２）やサブアクセサリ（ズームアダプタ１０３）の情報に基づいて、適合するファームウェア更新用のデータファイルが、記録媒体１１４に存在するか否かを判定する。
【００５５】
次に、図２〜図４のフローチャートを用いて、アクセサリおよびサブアクセサリのファームウェア更新に関するカメラ制御部１１２、レンズ制御部１１９、アダプタ制御部１２１の動作に関して説明する。図２はカメラ制御部１１２の動作を、図３はレンズ制御部１１９の動作を、図４はアダプタ制御部１２１の動作を、それぞれ示す。なお、図２〜図４では、簡略化のために、カメラ制御部１１２、レンズ制御部１１９、アダプタ制御部１２１をそれぞれ「カメラ」、「レンズ」、「サブアクセサリ」と表記している。
【００５６】
まず、カメラ１０１の動作について図２を参照して説明する。図２の動作は、カメラ１０１の動作中に、例えば操作部１３１の操作によってメニュー画面からファームウェア更新の指示が入力されたことが検出された際に実行されてよい。
【００５７】
Ｓ２０１でカメラ制御部１１２は、マウントＩＦ１２４を介して、レンズ制御部１１９に、状態情報（もしくは状態情報に含まれる動作状態）の取得要求を送信する。レンズ１０２が正常に動作している状態か否かを判定できればよいため、カメラ制御部１１２は、レンズ１０２の状態情報の全体を要求してもよいし、状態情報のうち動作状態だけを要求してもよい。
【００５８】
Ｓ２０２でカメラ制御部１１２は、マウントＩＦ１２４を介して、レンズ制御部１１９から動作状態を示す情報を受信する。ここで受信する動作状態を示す情報は、正常状態を示す情報、もしくはセーフモードであることを示す情報を含むものである。本実施形態では、正常状態を示す情報は、レンズ１０２とレンズ１０２に装着されたサブアクセサリ（ここではズームアダプタ１０３）の動作状態がともに正常であることを意味する。一方、セーフモードであることを示す情報は、レンズとサブアクセサリのうち、いずれのアクセサリがセーフモードであるかを識別可能な情報を含むものとする。なお、動作状態として、セーフモード以外の異常を示すようにしてもよい。
【００５９】
なお、本実施形態では、レンズとサブアクセサリのうち、複数がセーフモードの場合、最優先でファームウェアを更新すべきアクセサリ（アップデート対象）をレンズ制御部１１９が決定する。そして、レンズ制御部１１９は、アップデート対象のアクセサリがセーフモードであることを示す情報を動作状態として応答する。そのため、レンズとサブアクセサリのうち、複数がセーフモードであったとしても、Ｓ２０２でカメラ制御部１１２は、レンズ制御部１１９が決定したいずれかのアクセサリがセーフモードであることを示す情報を受信する。そして、最優先でファームウェアを更新すべきアクセサリがファームウェア更新により正常な状態になってから、再びＳ２０２を実行した際に、カメラ制御部１１２は他のアクセサリがセーフモードであることを示す情報を受信する。
【００６０】
Ｓ２０３でカメラ制御部１１２は、Ｓ２０２で受信した動作状態を示す情報に基づいて、レンズ１０２とサブアクセサリがともに正常状態か、ファームウェアの更新が必要な状態（ここではセーフモード）かを判定する。カメラ制御部１１２は、レンズ１０２とサブアクセサリがともに正常状態と判定されればＳ２０４へ処理を進める。また、カメラ制御部１１２は、ファームウェアの更新を必要とする状態のアクセサリがあると判定されれば、Ｓ２０８でファームウェア更新対象を決定する。ここで決定されるファームウェア更新対象は、Ｓ２０２で受信した情報において、セーフモードであることが通知されたアクセサリである。また、カメラ制御部１１２は図５（ａ）に示す画面６０１もしくは図５（ｂ）に示す画面６０２のような表示を行い、レンズ１０２もしくはサブアクセサリのファームウェアを更新するか、別のアクセサリを装着するようにユーザに要求する。例えば画面６０１もしくは６０２のＯＫボタン６０３が操作されると、カメラ制御部１１２は処理をＳ２０９に進める。
【００６１】
なお、Ｓ２０３で、アクセサリ（レンズまたはサブアクセサリ）がファームウェア更新を必要としない動作異常であると判定されれば、カメラ制御部１１２は表示部１１８を通じてユーザに異常を解消するように要求してもよい。たとえば、カメラ制御部１１２は、レンズ１０２に装着されているズームアダプタ１０３の電源電圧が低下して正常動作できない場合、例えば電池交換を促すメッセージを表示部１１８に表示した後、処理をＳ２０４に進める。
【００６２】
カメラ制御部１１２はＳ２０４で、アクセサリ情報の取得要求をレンズ制御部１１９にマウントＩＦ１２４を介して送信し、Ｓ２０５で、アクセサリ情報をマウントＩＦ１２４を介してレンズ制御部１１９から受信する。ここで情報の取得要求の対象となるアクセサリは、レンズとサブアクセサリの両方を含んでよい。
【００６３】
図６（ａ）は、レンズ制御部１１９がカメラ制御部１１２に送信するアクセサリ情報６００の一例を示す図である。アクセサリ情報６００は、レンズ１０２に装着可能なアクセサリの一覧と、アクセサリごとの装着状態（装着／非装着）と、装着中のアクセサリのファームウェアのバージョン情報とを含む。なお、アクセサリ情報に含まれる情報はここに例示したものに限らず、動作状態など他の情報を含んでもよい。
【００６４】
Ｓ２０６でカメラ制御部１１２は、表示制御部１２０を通じて表示部１１８に、例えば図６（ｂ）に示すような、ファームウェア更新対象の選択画面７００を表示する。カメラ制御部１１２は、カメラ１０１と、装着中のアクセサリ（レンズ１０２および、アクセサリ情報６００の装着状態が、「装着」であるサブアクセサリ）とを選択肢として含んだ選択画面７００を表示する。なお、選択画面７００に含まれるアクセサリは、動作状態が正常のアクセサリである。
【００６５】
Ｓ２０７でカメラ制御部１１２は、操作部１３１を通じた選択画面７００の操作により、ファームウェア更新対象の選択を受け付け、処理をＳ２０９に進める。
【００６６】
Ｓ２０９でカメラ制御部１１２は、メディアＩＦ１１３を介して、記録媒体１１４から、更新対象のデバイスに適用可能なファームウェア更新ファイルをバッファメモリ１１１に読み出す。カメラ制御部１１２は例えば、記録媒体１１４に記録されているファームウェア更新ファイルに記述されている属性情報を参照する。そして、カメラ制御部１１２は、更新対象のデバイスの製品識別情報と合致する製品識別情報が属性情報に含まれるファームウェア更新ファイルを、更新対象のデバイスに適用可能なファームウェア更新ファイルとして特定することができる。
【００６７】
Ｓ２１０でカメラ制御部１１２は、バッファメモリ１１１に読み出したファームウェア更新ファイルから、ファームウェアの更新データを、マウントＩＦ１２４を介してレンズ制御部１１９に送信する。
【００６８】
次に、レンズ制御部１１９の動作について図３を参照して説明する。
Ｓ３０１でレンズ制御部１１９は、マウントＩＦ１２４を介して、カメラ制御部１１２がＳ２０１で送信した動作状態の取得要求を受信する。
Ｓ３０２でレンズ制御部１１９は、レンズ１０２の動作状態が正常状態か否か判定し、正常状態と判定されればＳ３０３へ、正常状態と判定されなければＳ３０９へ、処理を進める。レンズ制御部１１９は、例えばメモリ部１２６に記憶された状態情報を参照することによってレンズ１０２の動作状態を判定することができる。
【００６９】
Ｓ３０９でレンズ制御部１１９は、サブアクセサリの動作状態を確認することなく、レンズ１０２の動作状態を示す情報をカメラ制御部１１２に送信し、処理をＳ３１１へ進める。ここで送信する動作状態を示す情報は、レンズ１０２がセーフモードであることを示す情報である。このように、本実施形態では、アクセサリのセーフモード用のプログラムにおいて、装着されているサブアクセサリの動作状態の取得機能を備えなくてよい。なお、セーフモード以外の異常も通知可能な場合には、レンズ１０２が異常であることを示す情報と、異常の内容（例えば、セーフモードを含む複数の異常のいずれであるかを示すコードなど）とを含んだ情報を送信してもよい。
【００７０】
Ｓ３０３でレンズ制御部１１９は、装着されているサブアクセサリ（ここではズームアダプタ１０３）の動作状態を示す情報を取得する。レンズ制御部１１９は、例えばアダプタＩＦ１２５を介して、アダプタ制御部１２１に、動作状態の取得要求を送信することによって、アダプタ制御部１２１からズームアダプタ１０３の動作状態を示す情報を取得する。なお、サブアクセサリが複数装着されている場合、レンズ制御部１１９は個々のサブアクセサリについて動作状態を取得する。
【００７１】
Ｓ３０４でレンズ制御部１１９は、Ｓ３０３で取得した状態情報を示す情報に基づいて、装着されている全てのサブアクセサリの動作状態が正常か否かを判定する。レンズ制御部１１９は、セーフモードのサブアクセサリがあればＳ３１０に、なければＳ３０５に、処理を進める。
【００７２】
Ｓ３１０でレンズ制御部１１９は、マウントＩＦ１２４を介してカメラ制御部１１２に、装着中のサブアクセサリがセーフモードであることを示す動作状態を示す情報を送信する。ここで、レンズに複数のサブアクセサリが装着され、複数のサブアクセサリがセーフモードである場合には、レンズ制御部１１９が最も優先してファームウェアを更新すべきサブアクセサリを決定して動作状態を通知してもよい。なお、セーフモード以外の異常も通知可能な場合には、異常と判定されたサブアクセサリの識別情報と、異常の内容（例えば、セーフモードを含む複数の異常のいずれであるかを示すコードなど）とを含んだ情報を送信してもよい。
【００７３】
Ｓ３０５でレンズ制御部１１９は、マウントＩＦ１２４を介して、カメラ制御部１１２に、レンズ１０２および装着中のサブアクセサリの全てが正常であることを示す動作状態を送信する。
Ｓ３０６でレンズ制御部１１９は、マウントＩＦ１２４を介して、カメラ制御部１１２からアクセサリ情報の取得要求を受信する。この要求はカメラ制御部１１２がＳ２０４で送信したものである。
【００７４】
Ｓ３０７でレンズ制御部１１９は、サブアクセサリから情報を取得する。レンズ制御部１１９は情報取得要求を、アダプタＩＦ１２５を介してアダプタ制御部１２１に送信することによって、アダプタ制御部１２１からズームアダプタ１０３の固有情報や状態情報を取得する。なお、サブアクセサリが複数装着されている場合、レンズ制御部１１９は個々のサブアクセサリについて固有情報や状態情報を取得する。
【００７５】
Ｓ３０８でレンズ制御部１１９は、Ｓ３０７で取得したサブアクセサリの情報と、メモリ部１２６に記憶されたレンズ１０２の情報（固有情報や状態情報）とから、上述したアクセサリ情報６００を生成する。そして、レンズ制御部１１９は、アクセサリ情報６００をマウントＩＦ１２４を介してカメラ制御部１１２に送信する。
【００７６】
Ｓ３１１でレンズ制御部１１９は、マウントＩＦ１２４を介してカメラ制御部１１２からファームウェア更新データを受信する。このデータは、カメラ制御部１１２がＳ２１０で送信したものである。
【００７７】
Ｓ３１２でレンズ制御部１１９は、受信したファームウェア更新データがサブアクセサリ用か否かを判定し、サブアクセサリ用と判定されればＳ３１３へ、判定されなければＳ３１４へ、処理を進める。この判定は、ファームウェア更新データの属性情報を参照し、属性情報に記述された製品識別子がレンズ１０２の製品識別子と一致するか否かによって行うことができる。
Ｓ３１３でレンズ制御部１１９は、受信したファームウェア更新データを対象のサブアクセサリに送信（転送）し、処理を終了する。
【００７８】
Ｓ３１４でレンズ制御部１１９は、メモリ部１２６に記憶された、ファームウェアの更新処理の状態を表すデータ（更新状態データ）を「未完了」を示す値にして、処理をＳ３１５に進める。
Ｓ３１５でレンズ制御部１１９は、レンズ１０２のメモリ部１２６に記憶されているファームウェアデータを、受信したファームウェアデータによって更新し、処理をＳ３１６に進める。
【００７９】
Ｓ３１６でレンズ制御部１１９は、ファームウェアの更新が正常に完了したか否かを判定する。例えばレンズ制御部１１９は、以下の条件に該当する場合は正常に完了しなかったと判定し、いずれの条件にも該当しない場合は正常に完了したと判定することができる。
・受信したファームウェアデータに訂正不能な異常があった場合
・ファームウェアデータの受信を開始してからファームウェアの更新が終了するまでの間にカメラ制御部１１２との通信に異常が発生した場合
・ファームウェア更新が終了した後に実行したカメラ制御部１１２との通信で異常が発生した場合
なお、これらの条件は例示であり、他の条件を用いて判定してもよい。
【００８０】
レンズ制御部１１９は、ファームウェアの更新が正常に完了したと判定されればＳ３１７に処理を進め、判定されなければ処理を終了する。
Ｓ３１７でレンズ制御部１１９は、メモリ部１２６の更新状態データを「完了」を示す値にし、処理を終了する。
【００８１】
次に、アダプタ制御部１２１の動作について図４を参照して説明する。
Ｓ３３１でアダプタ制御部１２１は、アダプタＩＦ１２５を介して、レンズ制御部１１９がＳ３０３で送信した動作状態の取得要求を受信する。
Ｓ３３２でアダプタ制御部１２１は、メモリ部１２７に記憶された状態情報からズームアダプタ１０３の動作状態を読み出し、レンズ制御部１１９に送信する。
【００８２】
Ｓ３３３でアダプタ制御部１２１は、アダプタＩＦ１２５を介して、レンズ制御部１１９がＳ３０７で送信した情報取得要求を受信する。
Ｓ３３５でアダプタ制御部１２１は、メモリ部１２７に記憶された固有情報および状態情報を読み出し、レンズ制御部１１９に送信する。
【００８３】
Ｓ３３６でアダプタ制御部１２１は、アダプタＩＦ１２５を介してレンズ制御部１１９からファームウェア更新データを受信する。このデータは、カメラ制御部１１２がＳ２１０で送信し、レンズ制御部１１９がＳ３１３で転送したものである。
【００８４】
Ｓ３３７でアダプタ制御部１２１は、メモリ部１２７に記憶された、ファームウェアの更新処理の状態を表すデータ（更新状態データ）を「未完了」を示す値にして、処理をＳ３３８に進める。
Ｓ３３８でアダプタ制御部１２１は、メモリ部１２７に記憶されているファームウェアデータを、受信したファームウェアデータによって更新し、処理をＳ３３９に進める。
【００８５】
Ｓ３３９でアダプタ制御部１２１は、ファームウェアの更新が正常に完了したか否かを判定する。例えばアダプタ制御部１２１は、以下の条件に該当する場合は正常に完了しなかったと判定し、いずれの条件にも該当しない場合は正常に完了したと判定することができる。
・受信したファームウェアデータに訂正不能な異常があった場合
・ファームウェアデータの受信を開始してからファームウェアの更新が終了するまでの間にレンズ制御部１１９との通信に異常が発生した場合
・ファームウェア更新が終了した後に実行したレンズ制御部１１９との通信で異常が発生した場合
なお、これらの条件は例示であり、他の条件を用いて判定してもよい。
【００８６】
アダプタ制御部１２１は、ファームウェアの更新が正常に完了したと判定されればＳ３４０に処理を進め、判定されなければ処理を終了する。
Ｓ３４０でアダプタ制御部１２１は、メモリ部１２７の更新状態データを「完了」を示す値にし、処理を終了する。
【００８７】
本実施形態によれば、レンズユニットのようにカメラに装着可能なアクセサリや、アクセサリに装着可能なサブアクセサリのファームウェアをカメラから更新する場合、アクセサリを優先してファームウェアの更新対象とする。特に本実施形態においては、ファームウェアの更新対象をアクセサリが判定し、アクセサリ自身がセーフモードであれば、まずはアクセサリを優先してファームウェアの更新対象としてカメラに通知する。したがって、アクセサリの動作状態が正常になるまでは、カメラはサブアクセサリをファームウェアの更新対象に選択できない。
【００８８】
本実施形態によれば、アクセサリを経由してカメラと通信するサブアクセサリのファームウェア更新は、動作状態が正常であるアクセサリを経由して実行されるようになる。これにより、動作状態が異常なアクセサリを経由してサブアクセサリのファームウェア更新を実行してしまうことで発生しうる異常状態を確実に回避できる。
【００８９】
また、本実施形態によれば、更新処理が必要な状態にあるアクセサリやサブアクセサリが装着されている場合には、それらを自動的に更新対象として決定する。そのため、仮に異常状態のアクセサリやサブアクセサリが存在しても、それらの動作を速やかに復旧することが可能になる。
上述の効果に加え、本実施形態では、アクセサリがセーフモードの場合には、サブアクセサリの動作状態を確認することなくアクセサリのファームウェアを更新するので、動作が制限されるセーフモードでアクセサリが行う通信動作を削減することができる。
【００９０】
●（第２実施形態）
次に、本発明の第２実施形態について説明する。第１実施形態では、レンズ１０２がセーフモードなど異常状態と判定された場合、レンズ１０２に装着されているサブアクセサリ（ズームアダプタ１０３）の動作状態を検出せずに、レンズ１０２の動作状態をカメラ１０１に送信する構成であった。この場合、ファームウェアの更新対象をレンズ１０２が決定していた。それに対して本実施形態では、レンズ１０２が異常状態であってもサブアクセサリ（ズームアダプタ１０３）の動作状態を検出し、カメラ１０１に送信して、カメラ１０１がファームウェアの更新対象を決定する。従って、本実施形態では、装着されているサブアクセサリの動作状態の取得機能が、セーフモード用のプログラムに含まれている。
【００９１】
カメラ１０１、レンズ１０２、ズームアダプタ１０３の構成および、カメラ１０１とズームアダプタの動作については第１実施形態と共通するので説明を省略する。図７、図８のフローチャートを用いて、アクセサリおよびサブアクセサリのファームウェア更新に関するカメラ制御部１１２、レンズ制御部１１９の動作に関して説明する。図７はカメラ制御部１１２の動作を、図８はレンズ制御部１１９の動作を、それぞれ示す。なお、アダプタ制御部１２１の動作については図４と同様であるので、詳細な説明を省略する。
【００９２】
まず、カメラ１０１の動作について図７を参照して説明する。図７の動作は、カメラ１０１の動作中に、例えば操作部１３１の操作によってメニュー画面からファームウェア更新の指示が入力されたことが検出された際に実行されてよい。
Ｓ４０１でカメラ制御部１１２は、マウントＩＦ１２４を介して、レンズ制御部１１９に、状態情報（もしくは状態情報に含まれる動作状態）の取得要求を送信する。レンズ１０２が正常に動作している状態か否かを判定できればよいため、カメラ制御部１１２は、レンズ１０２の状態情報の全体を要求してもよいし、状態情報のうち動作状態だけを要求してもよい。
【００９３】
Ｓ４０２でカメラ制御部１１２は、マウントＩＦ１２４を介して、レンズ制御部１１９から動作状態を示す情報を受信する。ここで受信する動作状態を示す情報は、正常状態を示す情報、もしくはセーフモードであることを示す情報を含むものである。正常状態を示す情報は、レンズ１０２とレンズ１０２に装着されたサブアクセサリ（ここではズームアダプタ１０３）の動作状態がともに正常であることを意味する。一方、セーフモードであることを示す情報は、レンズとサブアクセサリのうち、いずれのアクセサリがセーフモードであるかを識別可能な情報を含むものとする。本実施形態では、レンズとサブアクセサリのうち、セーフモード状態にある全てのアクセサリを識別することが可能な情報がレンズ制御部１１９から送られる。例えば、本実施形態において、動作状態を示す情報は、レンズ１０２およびサブアクセサリのそれぞれに関する動作状態を別個に含んでいてもよい。また、動作状態を示す情報は、レンズ１０２およびサブアクセサリのうち、セーフモードであるものの識別情報か、いずれも正常であることを示す情報であってもよい。また、動作状態として、セーフモード以外の異常を示すようにしてもよい。
【００９４】
Ｓ４０３でカメラ制御部１１２は、Ｓ４０２で受信した動作状態を示す情報に基づいて、まずレンズ１０２が正常状態か、ファームウェアの更新が必要な状態（ここではセーフモード）かを判定する。カメラ制御部１１２は、レンズ１０２が正常状態と判定されればＳ４０４へ処理を進める。また、カメラ制御部１１２は、レンズ１０２がファームウェアの更新を必要とする状態であると判定されれば、Ｓ４０９でファームウェア更新対象をレンズ１０２に決定する。また、カメラ制御部１１２は図５（ａ）に示す画面６０１のような表示を行い、レンズ１０２のファームウェアを更新するか、別のレンズを装着するようにユーザに要求する。例えば画面６０１のＯＫボタン６０３が操作されると、カメラ制御部１１２は処理をＳ４１１に進める。なお、Ｓ４０３で、レンズがファームウェア更新を必要としない動作異常であると判定されれば、カメラ制御部１１２は表示部１１８を通じてユーザに異常を解消するように要求してもよい。
【００９５】
カメラ制御部１１２はＳ４０４で、Ｓ４０２で受信した動作状態に基づいて、サブアクセサリ（ズームアダプタ１０３）が正常状態か、ファームウェアの更新が必要な状態（セーフモード）かを判定する。カメラ制御部１１２は、ズームアダプタ１０３が正常状態と判定されればＳ４０５へ処理を進める。また、カメラ制御部１１２は、ズームアダプタ１０３がファームウェアの更新を必要とする状態であると判定されれば、Ｓ４１０でファームウェア更新対象をズームアダプタ１０３に決定する。また、カメラ制御部１１２は図５（ｂ）に示す画面６０２のような表示を行い、ズームアダプタ１０３のファームウェアを更新するか、別のズームアダプタを装着するようにユーザに要求する。例えば画面６０２のＯＫボタン６０３が操作されると、カメラ制御部１１２は処理をＳ４１１に進める。
【００９６】
カメラ制御部１１２はＳ４０５で、アクセサリ情報の取得要求をレンズ制御部１１９にマウントＩＦ１２４を介して送信し、Ｓ４０６で、アクセサリ情報をマウントＩＦ１２４を介してレンズ制御部１１９から受信する。Ｓ４０５〜Ｓ４０８の処理は図２のＳ２０４〜Ｓ２０７の処理と、Ｓ４１１〜Ｓ４１２の処理は図２のＳ２０９〜Ｓ２１０の処理とそれぞれ同様でよいので、詳細な説明を省略する。
【００９７】
次に、レンズ制御部１１９の動作について図８を参照して説明する。
Ｓ５０１でレンズ制御部１１９は、マウントＩＦ１２４を介して、カメラ制御部１１２がＳ４０１で送信した動作状態の取得要求を受信する。
Ｓ５０２でレンズ制御部１１９は、メモリ部１２６に記憶された状態情報から、レンズ１０２の動作状態を取得し、例えばバッファメモリ１１１に保存する。
【００９８】
Ｓ５０３でレンズ制御部１１９は、装着されているサブアクセサリの動作状態を取得する。レンズ制御部１１９は、例えばアダプタＩＦ１２５を介して、アダプタ制御部１２１に、動作状態の取得要求を送信することによって、アダプタ制御部１２１からズームアダプタ１０３の動作状態を取得する。なお、サブアクセサリが複数装着されている場合、レンズ制御部１１９は個々のサブアクセサリについて動作状態を取得する。
【００９９】
Ｓ５０４でレンズ制御部１１９は、Ｓ５０２で取得したレンズ１０２の動作状態と、Ｓ５０３で取得したサブアクセサリの動作状態とを示す情報を、マウントＩＦ１２４を介してカメラ制御部１１２に送信する。
【０１００】
Ｓ５０５でレンズ制御部１１９は、マウントＩＦ１２４を介して、カメラ制御部１１２がＳ４０５で送信したアクセサリ情報の取得要求を受信する。アクセサリ情報の取得要求を受信したら、Ｓ５０６に処理を進める。
【０１０１】
Ｓ５０６でレンズ制御部１１９は、サブアクセサリから情報を取得する。レンズ制御部１１９は情報取得要求を、アダプタＩＦ１２５を介してアダプタ制御部１２１に送信することによって、アダプタ制御部１２１からズームアダプタ１０３の固有情報や状態情報を取得する。なお、サブアクセサリが複数装着されている場合、レンズ制御部１１９は個々のサブアクセサリについて固有情報や状態情報を取得する。
【０１０２】
Ｓ５０７でレンズ制御部１１９は、Ｓ５０６で取得したサブアクセサリの情報と、メモリ部１２６に記憶されたレンズ１０２の情報（固有情報や状態情報）とから、上述したアクセサリ情報６００を生成する。そしてレンズ制御部１１９は、アクセサリ情報６００をマウントＩＦ１２４を介してカメラ制御部１１２に送信する。
【０１０３】
Ｓ５０８でレンズ制御部１１９は、マウントＩＦ１２４を介してカメラ１０１より、ファームウェア更新データを受信する。このデータは、カメラ制御部１１２がＳ４１２で送信したものである。ファームウェア更新データを受信したら、図３のＳ３１２以降を実行する。
【０１０４】
以上説明したように、本実施形態では、最も優先してファームウェアを更新すべきアクセサリをカメラが判定し、アクセサリを優先してファームウェアの更新対象とする。本実施形態でも、第１実施形態と同様の効果を実現できるほか、アクセサリが異常の場合でもサブアクセサリの動作状態をカメラが把握できる。そのため、例えばファームウェアの更新が必要なサブアクセサリが存在する場合、アクセサリのファームウェア更新が終了した後、引き続いて速やかにサブアクセサリのファームウェア更新を実行することができる。
【０１０５】
以上、本発明の例示的な実施形態について説明したが、本発明は実施形態で説明した具体的な構成に限定されず、特許請求の範囲に規定される範囲に含まれるさまざまな変形物や変更物もまた本発明に含まれる。
【０１０６】
（その他の実施形態）
上述の実施形態ではアクセサリがレンズユニットである場合について説明したが、アクセサリがエクステンダの場合も同様に対応できる。すなわち、上述の動作において、レンズユニットをエクステンダに置き換え、レンズユニットをサブアクセサリとすればよい。また、アクセサリはエクステンダやレンズユニットに限らず、フラッシュなどであってもよい。
【０１０７】
アクセサリが複数装着されている場合、全てのアクセサリのファームウェアが正常に更新されるまでは、いずれのアクセサリに装着されているサブアクセサリについてもファームウェア更新できないように構成してもよい。
【０１０８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。従って、上述の実施形態の１以上の機能を実現するプログラムを格納した、コンピュータ読み取り可能な記録媒体、上述の実施形態の１以上の機能を実現する回路、上述の実施形態の１以上の機能を実現するネットワーク上の装置などもまた本発明に含まれる。
【符号の説明】
【０１０９】
１０１…カメラ、１０２…レンズ、１０３…ズームアダプタ、１０４ａ…変倍レンズ、１０８…撮像素子、１１２…カメラ制御部、１１９…レンズ制御部、１２１…アダプタ制御部、１２２…ズーム駆動部
【図１】
0006700838.tif 000002
【図２】
0006700838.tif 000003
【図３】
0006700838.tif 000004
【図４】
0006700838.tif 000005
【図５】
0006700838.tif 000006
【図６】
0006700838.tif 000007
【図７】
0006700838.tif 000008
【図８】
0006700838.tif 000009