<1.カメラシステムの構成(図1)>
図1には、本発明の実施例1である撮像装置としてのカメラ本体200とこれに取り外し可能に装着されたアクセサリとしての交換レンズ100とを含む撮像システム(以下、カメラシステムという)の構成を示している。なお、本実施例ではアクセサリとして交換レンズ100を例示しているが、カメラ本体200に直接的又は間接的に接続可能であり、カメラ本体200と通信することができる装置であれば、交換レンズ以外の装置であっても本発明を適用することが可能である。例えばカメラ本体200と交換レンズ100の間に装着されるアダプタやエクステンダー等もアクセサリに含まれ得る。
カメラ本体200はCCDセンサやCMOSセンサ等の撮像素子201を有し、交換レンズ100は撮像素子201上に被写体像を形成する撮像光学系を有する。カメラ本体200と交換レンズ100は、3線クロック同期式通信または調歩同期式通信を用いて、カメラ本体200から交換レンズ100に第1のコマンドとしての制御コマンド(指示情報とも称する)を送信する。また、交換レンズ100は当該コマンドへの応答をカメラ本体200へと送信する。本実施例では、例えばカメラ本体200から交換レンズ100に制御コマンドを送信する。制御コマンドは、交換レンズ100の動作、すなわち交換レンズ100における変倍動作、光量調節動作、フォーカス動作および防振動作を制御(指示)する信号である。また、交換レンズ100は、カメラ本体200から受信した制御コマンドに対する応答としてデータ(第1のデータとも称する)をカメラ本体200に送信する。さらに、交換レンズ100は、該交換レンズ100の光学データ(第2のデータの一例である)をカメラ本体200に送信する。光学データは、交換レンズ100内の撮影光学系の焦点距離、絞り開口径およびフォーカスレンズの位置等の光学状態を示す光学状態データや、オートフォーカス(AF)に必要なピントずれ補正データ等の光学補正データを含む。当該光学データはカメラ本体200から交換レンズに送信される第2のコマンドとしてのデータ指定コマンドに対応してカメラ本体200に送信される。
交換レンズ100とカメラ本体200の具体的な構成について説明する。交換レンズ100とカメラ本体200は、結合機構であるマウント300を介して機械的および電気的に接続されている。交換レンズ100は、マウント300に設けられた電源端子部(図示せず)を介してカメラ本体200から電源の供給を受け、上述した各種アクチュエータやレンズマイクロコンピュータ(以下、レンズマイコンという)111を動作させる。また、交換レンズ100とカメラ本体200は、マウント300に設けられた通信端子部(図2に示す)を介して相互に通信を行う。
交換レンズ100の撮像光学系は、被写体OBJ側から順に、フィールドレンズ101と、変倍を行う変倍レンズ102と、光量を調節する絞りユニット114と、防振レンズ103と、焦点調節を行うフォーカスレンズ104とを含む。変倍レンズ102とフォーカスレンズ104はそれぞれ、レンズ保持枠105、106により保持されている。レンズ保持枠105、106は、不図示のガイド軸により図中に破線で示す光軸方向に移動可能にガイドされている。レンズ保持枠105、106は、それぞれステッピングモータにより構成されたズームアクチュエータ107およびフォーカスアクチュエータ108によって光軸方向に駆動される。ズームアクチュエータ107およびフォーカスアクチュエータ108はそれぞれ、駆動パルスに同期して変倍レンズ102およびフォーカスレンズ104を移動させる。
防振レンズ103は、撮像光学系の光軸に直交する方向に移動(シフト)することで、手振れ等のカメラ振れに起因する像振れを低減する。また、本実施例のカメラシステムでは、カメラ本体200と交換レンズ100とが相互に連携して動作してより防振効果を高めるために、カメラ本体200と交換レンズ100とが通信を行いながら防振制御を行うこともできる。この連携動作には、カメラ本体200と交換レンズ100間においてリアルタイム性が高い通信処理が必要である。具体的には、交換レンズ100は、カメラ本体200での撮像時の撮像素子201の電荷蓄積時間内に交換レンズ100内に設けられた振動ジャイロ等の振れセンサ(図示せず)により検出されたカメラ振れの情報をカメラ本体200に送信する。また、交換レンズ100は、防振レンズ103をシフトさせる防振駆動に間に合うようにカメラ本体200から動きベクトルの情報を受信する。本実施例では、このようなリアルタイム性が高い通信処理を実現するために、後述する第1の通信チャネルと第2の通信チャネルとを別々に設けている。なお、本実施例で通信チャネルとは、所望の通信機能を実現するための通信経路の単位であり、各々の通信チャネルは1本以上の通信線によって構成される。
レンズマイコン111は、交換レンズ100内の各部の動作を制御する。
レンズマイコン111は、第1のレンズ通信部112a(第1の通信制御手段の一例である)と第2のレンズ通信部112b(第2の通信制御手段の一例である)を介してカメラ本体200内のカメラマイクロコンピュータ205と通信を行う。図1、2では、第1のレンズ通信部112aをレンズ通信部1と記し、第2のレンズ通信部112bをレンズ通信部2と記している。第1のレンズ通信部112aは、カメラマイクロコンピュータ(以下、カメラマイコンという)205との間に第1の通信チャネル(以下、通信チャネル1と記す)を形成する。第2のレンズ通信部112bは、カメラマイコン205との間に第2の通信チャネル(以下、通信チャネル2と記す)を形成する。
レンズマイコン111は、カメラマイコン205から通信チャネル1を介して送信された制御コマンドやレンズマイコン111に送信を要求する光学データを指定するデータ指定コマンド(後述する登録番号コマンド)を第1のレンズ通信部112aで受信する。また、レンズマイコン111は、上記制御コマンドに対する応答としてカメラマイコン205から要求されたデータを、第1のレンズ通信部112aから通信チャネル1を介してカメラマイコン205に送信する。
一方、レンズマイコン111は、上記光学データを、カメラの指示するタイミングに基づいて、第2のレンズ通信部112bから通信チャネル2を介してカメラマイコン205に送信する。レンズマイコン111は、コンピュータプログラムとしての通信制御プログラムに従ってカメラマイコン205との通信を制御する。
具体的には、レンズマイコン111は、カメラマイコン205からの変倍およびフォーカス動作に対する制御コマンドに応じて、ズーム駆動回路119およびフォーカス駆動回路120にズームおよびフォーカスアクチュエータ107、108を駆動させる。これにより、変倍レンズ102による変倍動作を制御するズーム処理やフォーカスレンズ104によるフォーカス動作を制御するAF(オートフォーカス)処理が行われる。
交換レンズ100は、ユーザにより回転操作可能なマニュアルフォーカスリング130と、該マニュアルフォーカスリング130の回転操作量を検出するフォーカスエンコーダ131とを有する。レンズマイコン111は、フォーカスエンコーダ131により検出されたマニュアルフォーカスリング130の回転操作量に応じてフォーカス駆動回路120にフォーカスアクチュエータ108を駆動させてフォーカスレンズ104を移動させる。これにより、MF(マニュアルフォーカス)が行われる。
絞りユニット114は、絞り羽根114a、114bとこれらを開閉移動させる絞りアクチュエータ113とを有する。絞り羽根114a、114bの状態(位置)はホール素子115により検出され、ホール素子115からの出力信号は増幅回路122およびA/D変換回路123を介してレンズマイコン111に入力される。レンズマイコン111は、A/D変換回路123からの入力信号に基づいて絞り駆動回路121に絞りアクチュエータ113を駆動させる。レンズマイコン111は、カメラマイコン205からの光量調節動作に対する制御コマンドに応じて、絞り駆動回路121に絞りアクチュエータ113を駆動させる。これにより、絞りユニット114の光量調節動作を制御する光量調節処理が行われる。
さらに、レンズマイコン111は、交換レンズ100内に設けられた振動ジャイロ等の不図示の振れセンサにより検出された振れに応じて、防振駆動回路125を介して防振アクチュエータ126を駆動する。レンズマイコン111は、カメラマイコン205からの防振動作に対する制御コマンドに応じて、防振駆動回路125に防振アクチュエータ126を駆動させる。これにより、防振レンズ103を移動させて像振れを低減(補正)する防振動作を制御する防振処理が行われる。
カメラ本体200は、上述した撮像素子201と、A/D変換回路202と、信号処理回路203と、記録部204と、カメラマイコン205と、表示部206とを有する。撮像素子201は、交換レンズ100内の撮像光学系により形成された被写体像を光電変換して電気信号(アナログ信号)を出力する。A/D変換回路202は、撮像素子201からのアナログ信号をデジタル信号に変換する。
信号処理回路203は、A/D変換回路202からのデジタル信号に対して各種画像処理を行って映像信号を生成する。信号処理回路203は、映像信号から被写体像のコントラスト状態、つまり撮像光学系の焦点状態を示すフォーカス情報や露出状態を表す輝度情報も生成する。信号処理回路203は、映像信号を表示部206に出力し、表示部206は映像信号を構図やピント状態等の確認に用いられるライブビュー画像として表示する。また、信号処理回路203は、映像信号を記録部204に出力し、記録部204は映像信号を記録する。
画像処理部209は、信号処理回路203により生成された映像信号に対して各種収差を補正する補正処理を行う。画像処理部209は動きベクトル検出部210を含む。動きベクトル検出部210は、信号処理回路203により生成された映像信号を構成する複数のフレーム画像間において動きベクトルを検出する。こうして検出された動きベクトルの情報は通信チャネル1を介して、防振動作に対する制御コマンドの一部としてレンズマイコン111に送信され、防振処理に反映される。
カメラマイコン205は、不図示の撮像指示スイッチおよび各種設定スイッチ等を含むカメラ操作部207からの入力に応じてカメラ本体200の制御を行う。カメラマイコン205は、第1のカメラ通信部208a(第1の通信制御手段の一例である)と第2のカメラ通信部208b(第2の通信制御手段の一例である)を介してレンズマイコン111と通信を行う。図1、2では、第1のカメラ通信部208aをカメラ通信部1と記し、第2のカメラ通信部208bをカメラ通信部2と記している。第1のカメラ通信部208aはレンズマイコン111との間に上述した通信チャネル1を形成し、第2のカメラ通信部208bはレンズマイコン111との間に上述した通信チャネル2を形成する。
カメラマイコン205は、第1のカメラ通信部208aから通信チャネル1を介して不図示のズームスイッチの操作に応じて変倍動作に対する制御コマンドをレンズマイコン111に送信する。また、カメラマイコン205は、同様に通信チャネル1を介して、輝度情報に応じた絞りユニット114の光量調節動作やフォーカス情報に応じたフォーカスレンズ104のフォーカス動作に対する制御コマンドをレンズマイコン111に送信する。カメラマイコン205は、コンピュータプログラムとしての通信制御プログラムに従ってレンズマイコン111との通信を制御する。
<2.通信チャネル1、通信チャネル2の構成(図2)>
次に、図2を用いてカメラマイコン205とレンズマイコン111との間に設けられる通信チャネル1、2の構成について詳しく説明する。
前述したマウント300には、通信端子部301~304が設けられている。第1のカメラ通信部208aは、第1のカメラ通信インタフェース(I/F)回路208cを介して3つの通信端子部301~303に接続されている。また、第1のレンズ通信部112aは、第1のレンズレンズ通信I/F回路112cを介して通信端子部301~303に接続されている。これにより、3線(3本の通信線)により構成される通信チャネル1が形成される。通信チャネル1では、3線クロック同期式通信や調歩同期式通信(少なくとも2線以上用いる)といった3線で実現される通信方式での通信を行う。以下の説明では、通信チャネル1では3線クロック同期式通信を行うものとする。
また、第2のカメラ通信部208bは、第2のカメラ通信I/F回路208dを介して1つの通信端子部304に接続されている。また、第2のレンズ通信部112bは、第2のレンズレンズ通信I/F回路112dを介して通信端子部304に接続されている。これにより、1線(1本の通信線)により構成される通信チャネル2が形成される。通信チャネル2では、1線で実現できる通信方式を行う。以下の説明では、通信チャネル2では調歩同期式通信を行うものとする。
<2-1.通信チャネル1の構成>
通信チャネル1は、第1の通信線としてのクロック通信線(LCLK)と、第2の通信線としてのカメラ-レンズ通信線(DCL)と、第3の通信線としての第1のレンズ-カメラ通信線(DLC)とを有している。
クロック通信線は、通信マスタであるカメラマイコン205からレンズマイコン111に対してデータ取得のためのタイミング信号としてのクロック信号を供給する通信線である。カメラ-レンズ通信線(DCL)による通信と第1のレンズ-カメラ通信線(DLC)による通信はそれぞれ当該クロック信号に対応するタイミングで行われる。このように、クロック信号はカメラ-レンズ通信線(DCL)による通信と第1のレンズ-カメラ通信線(DLC)による通信のタイミングを制御する信号でもある。
カメラ-レンズ通信線は、上述した制御コマンドおよびデータ指定コマンド等の各種コマンド(要求を含む)をカメラマイコン205からレンズマイコン111に送信するための通信線である。
第1のレンズ-カメラ通信線は、レンズマイコン111がカメラマイコン205から受信した各種コマンドに対する応答等の各種通知をカメラマイコン205に送信するための通信線である。
カメラマイコン205からレンズマイコン111に送信される各種コマンドには、レート指定コマンドも含まれる。通信チャネル2での調歩同期式通信を成立させるためには、カメラマイコン205とレンズマイコン111との間で予め通信を行う通信速度(通信ビットレート)を取り決め、この取決めに沿った通信を行う必要がある。本実施例では、カメラマイコン205が、この通信ビットレートを指定するコマンドであるレート指定コマンドをレンズマイコン111に送信(指示)する。これにより、取決めとしての通信ビットレートがカメラマイコン205とレンズマイコン111とで共有される。通信ビットレートは、1秒間に転送することができるデータ量を示すものであり、単位はbps(bits per second)である。
さらに本実施例では、通信チャネル1において通信チャネル2で実施する通信のデータ構造や通信タイミングの指示も行う。詳しくは後述する。
レンズマイコン111からカメラマイコン205に送信される各種通知には、制御コマンドを受信したことや該制御コマンドに応じて駆動されたアクチュエータの駆動状態を示す応答や、通信チャネル2で実現可能な通信ビットレートの通知が含まれる。また、通信チャネル2に通信異常が生じた場合のカメラマイコン205への異常通知も含まれる。
<2-2.通信チャネル2の構成>
通信チャネル2は、第4の通信線としての単一の第2のレンズ-カメラ通信線(DLC2)により構成されている。
第2のレンズ-カメラ送信通信線は、上述した交換レンズ100の光学データをレンズマイコン111からカメラマイコン205に送信するためのチャネルである。また、交換レンズ100側の状態変化に関わるデータを、レンズマイコン111からカメラマイコン205に送信するためのチャネルでもある。
本実施例では、通信チャネル2を1つのDLC2のみで構成しているが、通信チャネルを複数のDLC2により構成してもよい。本実施例では、通信チャネル2を1つのDLC2のみで構成することで、複数のDLC2で構成する場合比較してマウント部300に設ける通信端子部の数を少なくし、マウント部300の大型化を防ぐことができる。
通信チャネル2で行う通信はレンズマイコン111が通信マスタとしてタイミングを制御しており、通信チャネル1による通信のタイミングに依存しないタイミングで行うことができる。より具体的には、第2のレンズ-カメラ通信線による通信は、クロック通信線を介してカメラマイコン205からレンズマイコン111に送信されたクロック信号に対応するタイミングによらずに行うことができる。
なお、本実施例では、レンズマイコン111とカメラマイコン205とが通信チャネル1を介した通信と通信チャネル2を介した通信を並行して行う場合において、通信チャネル2を介してレンズマイコン113が送信する情報は、通信チャネル1を介して送信する情報とは異なる情報である。言い換えると、レンズマイコン113は、通信チャネル1を介して送信するデータ以外のデータ(第2のデータとも称する)を、通信チャネル2を介して送信する。
また、本実施例のカメラ本体200には、通信チャネル1を介した通信機能を有するが、通信チャネル2を介した通信機能を有さない交換レンズも装着することができる。この場合、カメラマイコン205および交換レンズは、通信チャネル1のみを介して、カメラマイコン205から交換レンズへの各種コマンドの送受信と、交換レンズからカメラマイコン205への上記応答および光学データの送受信とを行う。
<3.通信ブロック図(図3)>
図3には、第1および第2のカメラ通信部208a、208bおよび第1および第2のレンズ通信部112a、112bのより詳細な構成を示している。
<3-1.第1および第2のカメラ通信部208a、208bの構成>
第1のカメラ通信部208aにおいて、クロック生成部(CLK_GENERATOR)310は、前述したクロック信号を生成し、通信チャネル1のクロックチャネル(LCLK)に出力する。
送信データバッファ(Tx_RAM)311は、通信チャネル1のカメラ-レンズ送信チャネル(DCL)を介してレンズマイコン111に送信する制御コマンド等の各種コマンドを格納するメモリであり、RAM等により構成されている。送信パラレル/シリアル変換部314は、送信データバッファ311にパラレルデータとして格納された各種コマンドをシリアルデータに変換してカメラ-レンズ通信線(DCL)に出力する。
受信シリアル/パラレル変換部315は、通信チャネル1の第1のレンズ-カメラ通信線(DLC)を介してレンズマイコン111から送信されたシリアルデータとしての通知をパラレルデータに変換する。受信データバッファ(Rx_RAM1)312は、受信シリアル/パラレル変換部315からのパラレルデータとしての通知を格納するメモリであり、RAM等により構成されている。
カメラバッファ制御部(RAM_CTRL)313は、第1のカメラ通信部208aの送信データバッファ311および受信データバッファ312を制御するとともに、第2のカメラ通信部208bのデータ受信バッファ(Rx_RAM2)330を制御する。
第2のカメラ通信部208bにおいて、受信シリアル/パラレル変換部331は、通信チャネル2の第2のレンズ-カメラ送信チャネル(DLC2)を介してレンズマイコン111から送信されたシリアルデータとしての光学データをパラレルデータに変換する。受信データバッファ(Rx_RAM2)330は、受信シリアル/パラレル変換部331からのパラレルデータとしての光学データを格納するメモリであり、RAM等により構成されている。
<3-2.第1および第2のレンズ通信部112a、112bの構成>
第1のレンズ通信部112aにおいて、クロック検出部(CLK_DETECT)321は、通信チャネル1のクロック通信線を介して入力されたクロック信号を検出する。
受信シリアル/パラレル変換部319は、通信チャネル1のカメラ-レンズ通信線(DCL)を介してカメラマイコン205から送信されたシリアルデータとしての各種コマンドをパラレルデータに変換する。受信データバッファ(Rx_RAM)316は、受信シリアル/パラレル変換部319からのパラレルデータとしての各種コマンドを格納するメモリであり、RAM等により構成されている。
送信データバッファ(Tx_RAM1)317は、通信チャネル1の第1のレンズ-カメラ通信線(DLC)を介してカメラマイコン205に送信する通知を格納するメモリであり、RAM等により構成されている。送信パラレル/シリアル変換部320は、送信データバッファ317にパラレルデータとして格納された通知をシリアルデータに変換して第1のレンズ-カメラ通信線(DLC)に出力する。
レンズバッファ制御部(RAM_CTRL)318は、第1のレンズ通信部112aの受信データバッファ316および送信データバッファ317を制御するとともに、第2のレンズ通信部112bのデータ送信バッファ(Tx_RAM2)333を制御する。
第2のレンズ通信部112bにおいて、送信データバッファ(Tx_RAM2)313は、通信チャネル2の第2のレンズ-カメラ通信線(DLC2)を介してカメラマイコン205に送信する光学データを格納するメモリであり、RAM等を有する。送信パラレル/シリアル変換部332は、送信データバッファ333にパラレルデータとして格納された光学データをシリアルデータに変換して第2のレンズ-カメラ通信線(DLC2)に出力する。
<3-3.通信チャネル1による通信>
通信チャネル1でカメラマイコン205からレンズマイコン111に送信される各種コマンドとしてのデータは、まずカメラマイコン205から送信データバッファ311に設定される。例えば、フォーカス動作を指示する制御コマンドのデータは、フォーカス駆動量やフォーカス駆動速度等を示す複数バイトからなり、まず第1のカメラ通信部208aの送信データバッファ311に書き込まれる。バッファ制御部313は、送信データバッファ311から、送信するデータを1バイト毎に出力させる。送信パラレル/シリアル変換部314は、出力されたデータをパラレルデータからシリアルデータに変換する。そして、シリアルデータに変換されたデータは、カメラ-レンズ通信線(DCL)でレンズマイコン111に送信される。
カメラ-レンズ通信線(DCL)でレンズマイコン111に送信されたデータは、第1のレンズ通信部112aの受信シリアル/パラレル変換部319においてシリアルデータからパラレルデータに変換される。バッファ制御部318は、このパラレルデータを受信データバッファ316に格納する。クロック検出部321(CLK_DETECT)は、シリアルデータを受信する際に、カメラマイコン205側のクロック制御部310から出力されるクロック信号を検出し、このクロック信号に同期して受信データを検出する。
レンズマイコン111からカメラマイコン205に通信チャネル1を介して通知としてのデータを送信する場合は、まず第1のレンズ通信部112aにて該データが送信バッファ317に設定される。例えば、フォーカスアクチュエータの駆動状態を示す応答として複数バイトからなるデータが送信データバッファ317に書き込まれる。そして、バッファ制御部313は、クロック検出部316がクロック信号を検出することに応じて、送信データバッファ3317から、送信するデータを1バイト毎に出力させる。送信パラレル/シリアル変換部320は、出力されたデータをパラレルデータからシリアルデータに変換する。そして、シリアルデータに変換されたデータは、第1のレンズ-カメラ通信線(DLC)でカメラマイコン205に送信される。
第1のレンズ-カメラ通信線(DLC)でカメラマイコン205に送信されたデータは、第1のカメラ通信部208aの受信シリアル/パラレル変換部315においてシリアルデータからパラレルデータに変換される。バッファ制御部313は、このパラレルデータを受信データバッファ312に格納する。
以上のようにして、通信チャネル1を介したカメラマイコン205からレンズマイコン111への制御コマンド等の各種コマンドの送信と、レンズマイコン111からカメラマイコン205への該制御コマンドに対する応答等の通知が行われる。
<3-4.通信チャネル2による通信>
一方、通信チャネル2では、レンズマイコン111からカメラマイコン205への一方向のデータ通信のための第2のレンズ-カメラ通信線(DLC2)のみが設けられている。このため、通信チャネル2では、レンズマイコン111とカメラマイコン205はそれぞれの内部クロックによりデータの同期を取る調歩同期式通信を行う。調歩同期式通信の通信フォーマットについては後述する。
レンズマイコン111は、カメラマイコン205から通信チャネル1を介して光学データの送信を要求するコマンド、光学データを識別するための登録番号を示すコマンド、光学データを取得するタイミングを指定するコマンド、データ通信のタイミングを指定するコマンドを受信する。
レンズマイコン111は、カメラマイコン205から要求された光学データを、当該光学データを取得するタイミングを指定するコマンドに基づいて取得する。そして、カメラマイコン205から受信した登録番号とともに第2のレンズ通信部112bの送信データバッファ333に格納する。
カメラマイコン205が複数の光学データを要求した場合には、指定されたタイミングに基づいてそれらの光学データを順次取得し、送信データバッファ333に格納する。
カメラマイコン205が要求する全ての光学データが送信データバッファ333に格納されると、バッファ制御部318は、前述のデータ通信のタイミングを指定するコマンドに基づき、送信データバッファ333から送信するデータを1バイト毎に出力させる。送信パラレル/シリアル変換部332は、パラレルデータとしての光学データをシリアルデータに変換するとともに、後述する調歩同期式通信フォーマットに変換して第2のレンズ-カメラ通信線(DLC2)に出力する。
カメラマイコン205は、第2のカメラ通信部208bの受信シリアル/パラレル変換部331において、受信したシリアルデータとしての光学データをパラレルデータに変換し、調歩同期式通信フォーマットから光学データの本体を抽出する。そして、バッファ制御部313は、抽出された光学データを受信データバッファ330に格納する。
以上説明したようにして、通信チャネル1を介したカメラマイコン205からレンズマイコン111への光学データの送信要求コマンドの送信と、通信チャネル2を介したレンズマイコン111からカメラマイコン205への光学データの送信とが行われる。
<4.通信フォーマット(図4)>
次に、図4を用いて、通信チャネル1および通信チャネル2における通信フォーマットについて説明する。
<4-1.クロック同期式通信(図4a)>
図4(a)は、通信チャネル1で行われるクロック同期式通信の通信フォーマット例を示す。図の上から順に、クロックチャネル(LCLK)で送受信されるクロック信号、カメラ-レンズ送信チャネル(DCL)で送受信されるデータ信号および第1のレンズ-カメラ送信チャネル(DLC)で送受信されるデータ信号の信号波形を示している。以下の説明において、クロック信号をLCLK信号、カメラ-レンズ通信線(DCL)で送受信されるデータ信号をDCL信号、第1のレンズ-カメラ通信線(DLC)で送受信されるデータ信号をDLC信号と称する。
第1のカメラ通信部208aは、LCLK信号を出力するとともに、該LCLK信号の立ち上がりに合わせて、DCL信号としてB7~B0の8ビットのデータを出力する。第1のレンズ通信部112aは、LCLK信号を検出するとともに、該LCLK信号の立ち上がりに合わせて、DLC信号としてB7~B0の8ビットのデータを出力する。
第1のカメラ通信部208aは、LCLK信号の立ち上がりに合わせてB7~B0の8ビットのDLC信号を受信する。第1のレンズ通信部112aは、LCLK信号の立ち上がりに合わせてB7~B0の8ビットのDCL信号を受信する。このように、通信チャネル1では、クロック通信線を介し第1のカメラ通信部208aから出力されたクロック信号に対応するタイミングで、第1のカメラ通信部208aと第1のレンズ通信部112a間の通信を行うよう制御する。これにより、通信チャネル1において、カメラマイコン205とレンズマイコン111との間でデータ交換を行うことができる。
また、B7~B0の8ビットのDCL信号を受信した第1のレンズ通信部112aは、LCLK信号を所定時間Tbusyの間、Lowに保持し、所定時間Tbusyが経過するとLowを解除する。所定時間Tbusyは、レンズマイコン111において受信したデータに対する処理を行うために必要な時間であり、この時間中にはカメラマイコン205はレンズマイコン111に対してデータ送信を行わない。
このような通信フォーマットでの通信処理を繰り返すことで、通信チャネル1においてカメラマイコン205とレンズマイコン111との間で複数バイトの通信が行われる。
<4-2.調歩同期式通信(図4b1、b2)>
図4(b1)は、通信チャネル2で行われる調歩同期式通信の通信フォーマット例を示す。ここでは、通信されるデータのフォーマットとして、1ビットのスタートビット、8ビットのデータビットおよび1ビットのストップビットを含む10ビットを1フレームとする例を示している。なお、本実施例のデータビットはあくまで一例である。データビットは例えば7ビットや16ビットでもよいし、パリティビットを含めてもよい。また、ストップビットを2ビットとしてもよい。
図4(b2)は、通信チャネル2での調歩同期式通信のタイミング同期方法を示す。カメラマイコン205とレンズマイコン111は、互いに予め取り決めたクロック周波数、すなわちクロックレートに応じて内部クロックを動作させてデータの送受信を行う。例えば、内部クロックをカメラマイコン205とレンズマイコン111間の通信レートの16倍のクロックレートに設定する。データサンプリングの起点は、図中に同期タイミングとして示すように、受信データのスタートビットの立ち下りを内部クロックでサンプリングすることで決める。そして、図中にデータサンプリングタイミングとして示すように、この同期タイミングを起点とした8クロックの位置にてデータをラッチする。これにより各ビットの中央でデータを取り込むことができる。ビット毎にこのようなデータのサンプリングを行うことで、第2のレンズ-カメラ通信線(DLC2)の1線のみでのデータ通信が行われる。
<5.メインフローチャート(図11)>
図11は、本実施例のメインフローチャートであり、カメラマイコン205とレンズマイコン111が行う処理の流れを示している。図において、Sはステップを意味する。
<5-1.カメラマイコン205による処理(図11A)>
まず、図11Aを用いてカメラマイコン205が行う処理について説明する。カメラマイコン205は、S2001にてカメラ本体200に交換レンズ100が装着されていない状態から処理を開始する。S2002では、カメラマイコン205は、カメラ本体200への交換レンズ100が装着されたか否かを判定し、装着された場合にS2003に進む。
S2003では、カメラマイコン205は、交換レンズ100への電源供給を開始する。これにより、交換レンズ100内のレンズマイコン111および各アクチュエータの動作が可能となる。
次にS2004では、カメラマイコン205は、レンズマイコン111との初期通信処理を行う。この初期通信処理については後述する。
続いて、S2005では、カメラマイコン205は、レンズマイコン111との定常通信処理を行う。この定常通信処理は、カメラ本体200が定常的な動作(ライブビュー表示等)を行っているときに行われる処理であり、詳しくは後述する。
S2021では、カメラマイコン205は、ユーザによるレリーズ操作を受け付けたか否かを判定する。カメラマイコン205によってユーザによるレリーズ操作を受け付けた場合は、S2022にてレリーズ時の通信処理を実施する。詳細は図10を用いて後述する。一方、カメラマイコン205によってユーザによるレリーズ操作を受け付けていない場合は、S2006へ遷移する。
次にS2006では、カメラマイコン205はスリープ処理のための条件を満たすか否かを判定する。本実施例では一例として、ユーザ設定されたオートパワーオフ時間を経過しているか否かを判定する。条件を満たしていればS2007に進み、そうでなければS2005に戻る。
S2007では、カメラマイコン205は、レンズマイコン111をスリープ状態に移行させるための通信(スリープ要求)を行うとともに、カメラマイコン205自体もスリープ状態に移行する。
次にS2008では、スリープ状態にあるカメラマイコン205は、スリープ解除要因が発生したか否かを判定する。本実施例では一例として、カメラ操作部207が操作されたか否かを判定する。スリープ解除要因が発生した場合にはS2005に戻って定常通信処理を再開する。
<5-2.レンズマイコン111による処理(図11B)>
次に、レンズマイコン111が行う処理について説明する。レンズマイコン111は、S2010にて交換レンズ100がカメラ本体200に装着されていない状態から処理を開始する。S2011では、レンズマイコン111は、カメラ本体200からの電源供給が開始されたか否かを判定する。電源供給が開始されると、レンズマイコン111は、S2012で初期通信処理を行う。当該初期通信処理について、詳しくは後述する。
次にS2013では、レンズマイコン111は定常通信処理を行う。当該定常通信処理について、詳しくは後述する。
S2031ではカメラ本体200がS2022にて図10に後述するレリーズ時の通信処理を実施した時の通信要求を受信したか否かを判定する。本要求を受け付けた場合はS2032にて交換レンズ100側も図10に後述するレリーズ時の通信処理を実施する。一方、レリーズのためのユーザ操作を受け付けていなければS2014へ遷移する。
さらにS2014では、レンズマイコン111は、カメラマイコン205からのスリープ要求を受信したか否かを判定する。スリープ要求を受信した場合は、レンズマイコン111はS2015にて、レンズマイコン111自体をスリープ状態に移行させる処理を行う。スリープ要求を受信していない場合は、レンズマイコン111はS2013に戻る。
S2016では、スリープ状態にあるレンズマイコン111は、カメラマイコン205からの通信要求があったか否かを判定し、通信要求があった場合にはスリープ状態を解除して、S2013に戻って定常通信処理を再開する。
<6.初期通信処理(図5A,図5B、図12)>
次に図5Aおよび図5Bのフローチャートを用いて、カメラマイコン205およびレンズマイコン111が図11に示したS2004およびS2012で行う初期通信処理について説明する。
<6-1.カメラマイコン205による初期通信処理(図5A、図12)>
まず、図5Aのフローチャートを用いて、カメラマイコン205が行う初期通信処理について説明する。ここでは、図12に示す具体的なコマンドの例を用いて説明する。
S501にて起動したカメラマイコン205は、S502にてカメラ本体200に交換レンズ100が装着されたか否かを判定し、交換レンズ100が装着された場合はS503に進む。
S503では、カメラマイコン205は、交換レンズ100への電源供給を開始する。これにより、カメラマイコン205とレンズマイコン111との通信が可能な状態となる。
次にS504では、カメラマイコン205は、レンズマイコン111に対して、図12に示す通信チャネル2の通信レート可能情報通知コマンド(Hex表現の0xAA)を送信する。カメラマイコン205が通信チャネル2を使用する機能を有することを通知するためである。
以下の説明では、カメラマイコン205とレンズマイコン111との間では、図13に示す通信レート定義として、bit0~bit7のそれぞれに対応して、通信レート1~通信レート8が予め取り決められているものとする。通信レート1~通信レート8の中で通信レート1が最も低速な通信レートであり、通信レート8がこれらの中で最も高速な通信レートであり、通信レート1~通信レート8にかけて高速な通信レートであるよう定義されている。
本実施例では、カメラマイコン205が、通信レート1~通信レート5の通信レートに対応しているものとする。カメラマイコン205は、通信レート情報として、通信レート1、通信レート2、通信レート3、通信レート4および通信レート5に対応するbit0,bit1,bit2,bit3およびbit4を有効とした通信レート情報、すなわちHex表現で0x1Fを通信レート可能情報通知コマンド(Hex表現の0xAA)に続けてレンズマイコン111に送信する。もしもカメラ側は通信チャネル2を使用できない場合は上記のbit0~bit7のすべてを無効とした通信レート情報、すなわちHex表現で0x00を通信レート可能情報通知コマンド(Hex表現の0xAA)に続けてレンズマイコン111に送信する。
次にS505では、カメラマイコン205は、レンズマイコン111から通信チャネル2において使用可能な通信レート情報を取得する。本実施例では、レンズマイコン111が通信レート1、通信レート2、通信レート3の通信レートに対応しているものとする。この場合は、レンズマイコン111は、通信レート1、通信レート2および通信レート3に対応するbit0,bit1およびbit2を有効とした通信レート情報、すなわちHex表現で0x07をカメラマイコン205に送信する。
次にS506では、通信チャネル2の使用が可能か否かを判定する。本実施例では、カメラマイコン205は、S505でレンズマイコン111から取得した通信レート情報から、通信チャネル2の使用が可能か否かを判定する。具体的には、S505でレンズマイコン111から受信した通信レート情報に有効なbitが含まれていない場合は通信チャネル2の使用は不可と判定する。通信チャネル2の使用が不可となる場合は、例えばカメラマイコン205が使用可能な通信レートとレンズマイコン111が使用可能な通信レートが一致しない場合や、レンズマイコン111が通信チャネル2に対応していない場合である。カメラマイコン205は、通信チャネル2の使用が可能である場合はS507に進み、使用が不可である場合はS511に進んで通信チャネル2の使用を禁止し、S512で初期通信処理を終了する。
S507では、カメラマイコン205は、S505でレンズマイコン111から取得した通信レート情報から通信チャネル2での使用通信レートを決定し、その情報を第2のカメラ通信部208bに設定する。
次にS508では、カメラマイコン205は、S507で決定した使用通信レートを図13に示したbit表現で通信チャネル1のカメラ-レンズ通信線(DCL)にてレンズマイコン111に送信する。ここではカメラマイコン205は、カメラマイコン205とレンズマイコン111の双方が使用可能な最高通信レートである通信レート3を使用通信レートとして決定する。そして、カメラマイコン205は、通信チャネル2の使用通信レート通信コマンド(0xCC)と通信レート3を表現する0x04とをレンズマイコン111に送信する。
次にS509では、カメラマイコン205は、通信チャネル2にてレンズマイコン111に送信される光学データの定義(以下、光学データ定義といい、詳しくは後述する)をレンズマイコン111に登録するためのデータ登録処理を行う。カメラマイコン205は、データ登録処理においてレンズマイコン111に対してデータ登録要求コマンドを送信することで、レンズマイコン111にもデータ登録処理を行わせる。詳しくは図5Cを用いて後述する。
次にS510では、カメラマイコン205は、S509でのデータ登録処理に成功したか否かを判定し、成功した場合はS512に進んで、カメラマイコン205における初期通信処理を完了する。なお、S506で通信チャネル2の使用が不可であると判定した場合およびS510にてデータ登録処理に失敗したと判定した場合には、カメラマイコン205は、S511にて通信チャネル2の使用を禁止して、S512で初期通信処理を完了する。
<6-2.レンズマイコン111による初期通信処理(図5B、図12)>
次に、図5Bのフローチャートを用いて、上述したカメラマイコン205の初期通信処理に応じてレンズマイコン111で行われる初期通信処理について説明する。
S521で初期通信処理を開始したレンズマイコン111は、S522において、カメラマイコン205からの電源供給を待つ。
S523では、レンズマイコン111は、カメラマイコン205から送信された通信レート可能情報通知コマンド(0xAA)とカメラが通信できる通信レート情報(0x1F)を受信する。
S524では、レンズマイコン111は、S523でカメラマイコン205から取得した通信レート情報とレンズマイコン111が使用可能な通信チャネル2での通信レート情報とに基づいて、通信チャネル2の使用が可能か否かを判定する。レンズマイコン111は、通信チャネル2の使用が可能であればS525に進み、使用が可能ではない(レンズマイコン111が通信チャネル2の機能に対応していない)場合にはS528に進む。なお、S506での説明同様に、ここでも例えばカメラの識別情報を用いて通信チャネル2の使用が可能か否かを判定するようにしても良い。
S525では、レンズマイコン111は、通信チャネル2で使用可能な通信レートの情報をカメラマイコン205に送信する。ここでは、S505で説明したように、レンズマイコン111は、通信レート情報(0x07)として、通信レート1、通信レート2および通信レート3に対応するbit0、bit1およびbit2を有効とした情報をカメラマイコン205に送信する。
次にS526では、レンズマイコン111は、カメラマイコンがS508で送信した通信チャネル2の使用通信レート情報を受信し、第2のレンズ通信部112bに設定する。
さらにS527では、レンズマイコン111は、S509で説明したカメラマイコン205からのデータ登録要求コマンドを受信することに応じて、カメラマイコン205に送信する光学データ定義を登録するデータ登録処理を行う。このデータ登録処理の詳細について、詳しくは図5Dを用いて後述する。この後、レンズマイコン111は、S529に進んで初期通信処理を終了する。
一方、S528では、レンズマイコン111は、通信チャネル2の使用が可能ではない(通信チャネル2に非対応である)場合の処理を行う。具体的には、レンズマイコン111は、図13に示す通信チャネル2で使用可能な通信レートを示すbitを全てクリアし、図12に示す通信レート可能情報取得コマンドとして0x00をカメラマイコン205に送信する。この後、レンズマイコン111は、S529に進んで初期通信処理を終了する。
<7.データ登録処理(図5C、図5D、図6、図14)>
次に、図5Cおよび図5Dのフローチャートを用いて、カメラマイコン205およびレンズマイコン111がそれぞれS509およびS527で行うデータ登録処理について説明する。
<7-1.カメラマイコン205によるデータ登録処理(図5C、図6、図14)>
まず、図5Cのフローチャートを用いて、カメラマイコン205が行うデータ登録処理について説明する。
S541において、カメラマイコン205は、装着されている交換レンズ100のレンズマイコン111に対してデータ登録処理を初めて行うか否かを判定する。カメラマイコン205は、レンズマイコン111に対して初めてデータ登録処理を行う場合はS542に進み、すでにデータ登録処理を行った場合はS545に進む。
S542では、カメラマイコン205は、通信チャネル1を介して、レンズマイコン111に光学データ定義の登録可能数を問い合わせる。S543では、カメラマイコン205は、レンズマイコン111からの返答としての登録可能数を取得する。
次にS544では、カメラマイコン205は、登録INDEXを「1」に設定する。一方、S545では、登録INDEXを「登録済みの個数+1」に設定する。
次にS546では、カメラマイコン205は、登録INDEXの設定数がS543で取得した登録可能数を超えているか否かを判定する。カメラマイコン205は、登録INDEXの設定数が登録可能数を超えている場合はS550に進んでデータ登録処理を失敗とし、データ登録処理を終了する。カメラマイコン205は、登録INDEXの設定数が登録可能数以下である場合はS547に進む。
S547では、カメラマイコン205は、通信チャネル2でレンズマイコン111から送信を受けるべき光学データの種類と送信順序を示す光学データ定義を作成する。具体的には、図14に示すように、光学データ定義の登録番号と光学データの種類および送信順序とを対応付けることで光学データ定義を作成する。通信チャネル2でレンズマイコン111から光学データを送信させるために登録された情報を登録情報とも称し、光学データの種類および送信順序は、登録情報の一例である。
例えば、登録番号1には、光学データとしての「焦点距離情報(2)」、「絞り口径情報(3)」、「フォーカス位置情報(2)」、「ズーム位置情報(2)」、「ジャイロ情報(20)」および「ピントずれ補正情報(100)」がこの送信順序で対応付けられる。登録番号2には、「フォーカス位置情報(2)」および「ピントずれ補正情報(100)」がこの送信順序で対応付けられる。登録番号3には、「焦点距離情報(2)」、「絞り口径情報(3)」、「ズーム位置情報(2)」および「現在絞り位置情報(3)」がこの送信順序で対応付けられる。登録番号4には、「ジャイロ情報(20)」および「三脚固定判定情報(1)」がこの送信順序で対応付けられる。各情報の括弧内の値は、該情報を表現するためのデータ長(バイト)である。なお、これらの光学データ定義はあくまで一例であり、他の光学データ(情報)を含んでいてもよい。
なお、通信チャネル2でレンズマイコン111から送信を受けるべき光学データには、レンズマイコン111によって光学データそれ自体を検出することで取得されるものと、他の光学データ等を用いて生成することで取得されるものとがある。本実施例では、一例として、「ピントずれ補正情報(100)」「現在絞り位置情報(3)」「三脚固定判定情報(3)」は他の光学データから生成される光学データである。
ある登録番号と他の登録番号とでは、例えば対応付けられる光学データの組み合わせが異なっている場合に、対応付けられる光学データの一部が重複していても良い。また、例えば、対応付けられる光学データの組み合わせが同じで、対応付けられる順序が異なっていても良い。つまり、ある登録番号と他の登録番号とでは、対応付けられる光学データの組み合わせ又は順序の少なくとも一方が異なっていれば良い。
S548では、カメラマイコン205は、通信チャネル1を介してレンズマイコン111にデータ登録要求コマンドとともにS547で作成した光学データ定義に送信する。このときの通信処理について、図6を用いて説明する。
図6は、通信チャネル1を構成するクロック通信線(LCLK)601、カメラ-レンズ通信線(DCL)602および第1のレンズ-カメラ通信線(DLC)603での信号波形を示している。ここでは、N個の光学データ定義を登録する場合を示しており、1個目の光学データ定義(No.1)の登録処理604、2個目の光学データ(No.2)の登録処理605およびN個目の光学データ定義の登録処理606を示している。
カメラマイコン205は、登録処理604において、データ登録要求コマンド(図12に示す0xDD)610をレンズマイコン111に送信する。次に、カメラマイコン205は、登録すべき登録番号を示すエントリー番号611をレンズマイコン111に送信する。ここでは、登録番号1に対応するエントリー番号コマンド「1」を送信する。次に、カメラマイコン205は、登録すべき光学データ定義の個数を示す個数コマンド612、例えば10個である場合は図12に示すように「0x0A」をレンズマイコン111に送信する。そして、カメラマイコン205は、光学データ定義に含ませる光学データを登録コマンド1(613)~登録コマンドn(614)としてレンズマイコン111に送信し、最後にデータ保証のためにチェックサム615をレンズマイコン111に送信する。
レンズマイコン111は、カメラマイコン205からデータ登録要求コマンドを受信すると、応答「00」をカメラマイコン205に送信する。さらに、レンズマイコン111は、上記コマンドを受信するごとに、該受信をカメラマイコン205に確認させるため応答「Ack」616~617を送信する。最後に、レンズマイコン111は、カメラマイコン205からのチェックサム615を受信することで、それを確認する応答をカメラマイコン205に送信する。以上の登録処理をすべての光学データ定義(No.1~No.N)について実施する。
以上の処理によりS548でのデータ登録要求処理を行ったカメラマイコン205は、S549に進んでデータ登録処理を成功とし、本処理を終了する。
<7-2.レンズマイコン111によるデータ登録処理(図5D)>
次に、レンズマイコン111が行うデータ登録処理について、図5Dのフローチャートを用いて説明する。S561において、レンズマイコン111は、カメラマイコン205に対して行うデータ登録処理が初めてであるか否かを判定し、初めてである場合はS562に進み、すでにデータ登録処理を行った場合はS565に進む。
S562では、レンズマイコン111は、カメラマイコン205からの光学データ定義の登録可能数の問い合わせを受信する。そしてS563において、レンズマイコン111は、登録可能数をカメラマイコン205に応答する。この際、レンズマイコン111は、交換レンズ100内のRAM等の光学データを記憶する記憶領域の容量に応じて登録可能数を決める。
次にS564では、レンズマイコン111は、上記記憶領域におけるアドレスを確定するために登録INDEXを「1」に設定する。一方、S565では、登録INDEXを「登録済みの個数+1」に設定する。
次にS566では、レンズマイコン111は、カメラマイコン205がS548にて送信したデータ登録要求コマンドを受信する。
次にS567では、レンズマイコン111は、上記記憶領域においてその先頭アドレスを基準として登録INDEXに応じてオフセットしたアドレスに、カメラマイコン205から送信された登録コマンド1~nに対応する光学データを記憶する。以上の処理により、レンズマイコン111はデータ登録処理を終了する。
<8.通信チャネル2における通信処理のタイミングチャート(図7)>
次に、カメラマイコン205とレンズマイコン111が通信チャネル2で通信を行う際の通信処理について図7のタイミングチャートを用いて説明する。
図7は、通信チャネル1を構成するクロック通信線(LCLK)701、カメラ-レンズ通信線(DCL)702および第1のレンズ-カメラ通信線(DLC)703での信号波形を示している。また、通信チャネル2の通信処理の第2のレンズ-カメラ通信線(DLC)704での信号波形も示している。
ここでは、ライブビュー画像や動画の撮像において撮像開始タイミング700にて通信チャネル2での通信を行う場合について説明する。ただし、ライブビュー画像や動画以外を撮像する場合でも、通信チャネル2での通信を行ってもよい。
カメラマイコン205は、撮像開始タイミング700をトリガーとして、通信チャネル1を介して、レンズマイコン111に通信チャネル2での通信を要求するチャネル2通信要求処理705を行う。このチャネル2通信要求処理705では、カメラマイコン205は、通信チャネル2での通信の実行を要求するチャネル2通信要求コマンド(図12の0xE0)706をレンズマイコン111に送信する。これに続き、カメラマイコン205は、通信チャネル2での送信を要求する光学データに対応する光学データ定義の登録番号を示す登録番号コマンド(例えば登録番号1を示す0x01)707、LimitTimingコマンド708、さらにCreateTimingコマンド709をレンズマイコン111に送信する。このように、本実施例では、4バイト通信の構成を例示する。
登録番号コマンド707は、カメラマイコン205からレンズマイコン111に要求するデータに対応する登録番号である。
LimitTimingコマンド708)は、カメラマイコン205が指定する時間の情報であり、レンズマイコン111が通信チャネル2での光学データの送信を開始すべき時刻LimitTimingまでの制限時間を示す。
レンズマイコン111は、チャネル2通信要求コマンド706を受信した時刻を起点としてLimitTimingコマンド708で指定されたリミット時間L-Time内にカメラマイコン205に対する光学データの送信を開始しなければならない。
このように、本実施例ではリミット時間L-Timeは、レンズマイコン111がカメラマイコン205に対して通信チャネル2による光学データの送信を開始すべき制限時間であるとする。しかしながら、これはあくまで一例であり、例えばリミット時間L-Timeを、レンズマイコン111がカメラマイコン205に対して通信チャネル2による光学データの送信を完了すべき制限時間であるとしても良い。
また、本実施例では一例として、図12に示すようにLimitTiming708が0x64であると、レンズマイコン111は、チャネル2通信要求コマンド706を受信してから100msのリミット時間L-Timeが経過する前に通信チャネル2での通信を行う。
なお、LimitTimingコマンドで0msが指定された場合に、通信チャネル2での通信の実行にリミット時間を設けないという設定としてもよい。
チャネル2通信要求コマンド706、登録番号コマンド707およびLimitTimingコマンド708を受信したレンズマイコン111は、これらに対する応答として「00」、「ACK1」および「ACK2」をカメラマイコン205に送信する。
登録番号コマンド707を受信したレンズマイコン111は、リミット時間L-Timeが経過する前に、通信チャネル2での通信処理を行う。具体的には、レンズマイコン111は、受信した登録番号コマンド707に示された登録番号を確認する応答(登録No)とともに、該登録番号に対応付けられた光学データ709を登録された送信順序でカメラマイコン205に送信する。登録番号を確認するための応答(例えば、登録番号コマンド707に示された登録番号と同じ番号)を含めて光学データを送信することで、カメラマイコン205は登録番号コマンド707で指定した光学データを受信していることを確認することができる。
CreateTimingコマンド709(第1の情報とも称する)は、カメラマイコン205が指定する時間の情報である。CreateTimingコマンド709は、レンズマイコン111が登録番号コマンド707にて指定された光学データの取得を開始すべき時刻であるCreateTimingまでの待機時間を示す。すなわち、CreateTimingコマンド709は、光学データのレンズマイコン111による取得が開始される条件に関する情報である。
本実施例では、レンズマイコン111は、チャネル2通信要求コマンド706を受信した時刻を起点としてCreateTimingコマンド709で指定された待機時間C-Timeが経過したCreateTimingに相当する時刻712にて光学データの取得を開始する。当該光学データの取得後に、レンズマイコン111は通信チャネル2にて取得した光学データを送信する。
より具体的には、カメラマイコン205は図12の通信チャネル2の通信要求コマンドにてCreateTimingコマンド709を例えば8msといったパラメータとし、レンズマイコン111に対して通信する。
たとえば本実施例においては、カメラマイコン205はCreateTimingコマンド709によって、撮像蓄積の重心720に相当するタイミングがCreateTimingとなるよう待機時間C-Timeをセットする。これにより、カメラの蓄積重心時刻における光学データを取得することができる。また、カメラの蓄積重心時刻において取得された光学データに基づいて生成された光学データを取得することができる。
カメラの蓄積重心時刻に対応して取得・生成された光学データを取得することによる効果を説明する。カメラ本体200の各制御部は、撮像時の信号情報に基づいて制御を実施する。一例として、撮像により取得した画像に対する収差補正の例を説明する。カメラマイコン205はメモリ(不図示)に、レンズの光学特性を考慮した収差補正データをテーブルで保持している。カメラマイコン205が収差補正を行う際には、レンズのフォーカス位置、ズーム位置、開放F値等の情報を用いてテーブルを検索し、収差補正のための補正値を算出することがある。こうした場合、撮像重心におけるレンズの情報を用いてテーブル検索処理を行うことでより、高精度な補正を行うことが可能である。
なお、カメラマイコン205がセットする待機時間C-Timeは、リミット時間L-Timeよりも短い時間である。
チャネル2送信処理713は、通信チャネル1を介したカメラマイコン205からのチャネル2通信要求処理705への応答として、レンズマイコン111からの通信チャネル2を介した光学データの通信を行う処理である。チャネル2送信処理713で送信されるデータには、登録番号コマンド714、DelayTimeコマンド715、光学データ716が含まれる。
登録番号コマンド714は、カメラマイコン205から要求された登録番号であり、レンズマイコン111からカメラマイコン205へ通信するデータに含まれる。当該登録番号も併せて通信することでカメラマイコン205が要求したデータを通信していることを保証することができる。
DelayTimeコマンド715は、カメラマイコン205が指定する時間であり、CreateTimingコマンド709に基づいてく光学データの取得タイミングに対する実際の取得タイミングの遅延時間(DelayTime、とも称する)を示している。当該遅延時間は0であることが望ましいが、レンズマイコン111による制御の要因により遅延した場合もあり得る。遅延が生じた場合は、例えばカメラマイコン205は当該遅延時間を用いてCreateTimingコマンド709によって指定されたCreateTimingにおける光学データを補間近似することが可能となる。
光学データ716(Data[0]~Data[x])には、登録番号コマンド707によって要求した順番で光学データが格納され、通信される。
<9.通信チャネル2における通信処理のフローチャート(図8)>
次に、図7に示した通信においてカメラマイコン205とレンズマイコン111がそれぞれ行う通信処理を図8Aおよび図8Bのフローチャートを用いて説明する。
<9-1.カメラマイコン205による通信チャネル2の通信処理(図8A)>
まず、図8Aを用いてカメラマイコン205が行う通信処理について説明する。
カメラマイコン205は、S801にて制御用の通信処理(制御通信)を開始する。次にS802では、カメラマイコン205は、その内部信号である撮像制御の開始タイミング割り込みを検出する。なお、ここでは撮像制御の開始タイミング割り込みをトリガーとして通信制御を開始する場合を例とするが、他の制御の開始タイミング割り込みをトリガーとしてもよい。
次にS803では、カメラマイコン205は、初めて通信チャネル2を用いて通信を行うか否かおよびカメラ本体200の設定(カメラ設定)が変更されたか否かを判定する。初めて通信チャネル2を用いて通信を行う場合は、カメラマイコン205は、S804において、図14に示した複数の登録済み光学データ定義のうちレンズマイコン111に送信を要求する光学データに対応する光学データ定義(すなわち登録番号)を選択する。
また、カメラ設定が変更された場合も、レンズマイコン111に送信を要求する光学データに対応する登録番号を再選択する。例えば、カメラ本体200の撮像周期(フレームレート)が変更された場合に、該フレームレートに応じて通信チャネル2での通信処理を行うことができる時間も増減するため、通信チャネル2で通信すべき光学データも変更した方がよい場合があるためである。また、カメラ設定としてAF処理、AE(自動露出)処理および防振処理の設定が変更されたときには、通信チャネル2で取り込むべき光学データの内容が変化する可能性があるためである。
S805では、カメラマイコン205は、レンズマイコン111による光学データの取得のタイミングを指定するCreateTimingコマンド709のパラメータを設定する。これは、例えばフレームレートが変更された場合に撮像の蓄積重心時刻なども変わるためである。本実施例では前述のように蓄積重心時刻における光学データを取得するためのCreateTimingコマンド709を設定する。次のステップS806で実施する通信時刻から蓄積重心時刻までの予定時間をCreateTimingコマンド709に設定することになる。
S806では、カメラマイコン205は、通信チャネル1を用いて通信チャネル2の実施要求(第1の指示情報とも称する)をレンズマイコン111へ送信する。当該要求は、図7のチャネル2通信要求コマンド706、登録番号コマンド707、LimitTiminコマンド708、CreateTimingコマンド709を含む。
次にS807では、カメラマイコン203は、LimitTimingコマンド708でレンズマイコン111に指定したリミット時間が経過したか否かを判定する。カメラマイコン205は、リミット時間が経過した場合はS812に進む。リミット時間が経過する前にS808にてレンズマイコン111から通信チャネル2を介して光学データの受信を確認した場合はS809に進む。光学データの受信を確認したことの判断としては、たとえば図4の(b2)に示す通信波形における受信データとしてスタートビットを検出したことをもって光学データを受信したと判断する。すなわち、本実施例では一例として、光学データの送信が開始されていると判定されれば、S809に進む。
S809では、カメラマイコン205は、S808でチャネル2送信処理713によって受信した、図7に示した光学データ713に含まれる登録番号714が、S806でレンズマイコン111に送信した登録番号コマンドが示す登録番号707に一致するか否かを確認する。カメラマイコン205が、登録番号が一致していると判定すればS810に進み、不一致であると判定すればS813に進む。
S810では、カメラマイコン205は、通信チャネル2を介してレンズマイコン111から送信された光学データを、図14に登録番号ごとに示した光学データ定義における送信順序に応じて解析および保持する。すなわち、登録番号が1である場合には、Data[0]およびData[1]の2バイトのデータを焦点距離情報として保存し、続くData[2]、Data[3]およびData[4]の3バイトのデータを絞り口径情報として保存する。これ以降は、ピントずれ補正情報まで同様のデータ解析と保持を行う。以降、ピントずれ補正情報の保存まで同様の処理を継続する。
S811では、カメラマイコン205は、レンズマイコン111から通信チャネル2の通信経路を用いて通信されるデータ項目の中のDelayTime(図7における715)の値に応じて受信した光学データの補間近似処理を行う。たとえばDelayTimeが0もしくは0近傍の値であれば受信した光学データの補間近似処理は行わない。DelayTimeが所定値よりも大きい場合には前回通信チャネル2の通信経路を用いて取得した光学データおよび時刻と、今回取得した光学データおよび時刻とから補間近似処理を行う。
S812は、通信チャネル2の通信経路を用いた光学データの通信の要求に関してカメラマイコン205がLimitTimingコマンド708で指定したリミット時間が経過するまでに光学データの通信がなされなかった場合である。本実施例では、カメラマイコン205が図12の通信チャネル2の通信キャンセル要求コマンド(0xE1)を通信チャネル1にて通信する。
S813では、カメラマイコン205は、レンズマイコン111に対して通信チャネル2のリセットを要求する通信リセット要求コマンドを、通信チャネル1を介して送信する。これは、812にてカメラマイコン205が通信チャネル2の実施キャンセル要求を通信した場合やS809で登録番号の不一致が生じた場合であり、通信チャネル2に対するレンズマイコン111でのデータ登録処理に問題があった可能性があるためである。ここで、カメラマイコン205からレンズマイコン111に対して通信チャネル2のリセットを要求する理由は以下の通りである。すなわち、通信チャネル2はレンズマイコン111からカメラマイコン205へのデータ送信のみを行うチャネルであるため、レンズマイコン111はノイズ等による通信異常を認識する手段がないからである。
次にS814では、カメラマイコン205は、レンズマイコン111に要求したデータ登録処理に問題があった可能性があるので、あらためてレンズマイコン111に対して通信チャネル2に対するデータ登録処理を要求する。通信チャネル2の通信データ登録処理については、図5Cを用いて説明した通りである。S814の処理が完了すると、S802に戻る。
<9-2.レンズマイコン111による通信チャネル2の通信処理(図8B)>
次に、レンズマイコン111が行う通信処理について、図8Bを用いて説明する。
S821において、レンズマイコン111は、制御通信を開始する。
次にS822では、レンズマイコン111は、カメラマイコン205がS805で送信するチャネル2通信要求コマンド706、登録番号コマンド707、LimitTimingコマンド708およびCreateTimingコマンド709を、通信チャネル1を介して受信する。このときに受信する登録番号コマンド707がレンズマイコン111において未登録の登録番号を示す場合は、ノイズ等による通信乱れによって正しく登録番号コマンド707が送受信されていない可能性が高い。このため、レンズマイコン111において未登録の番号を示す登録番号コマンド707を受信した場合は、レンズマイコン111は、通信異常をカメラマイコン205に応答する。カメラマイコン205はレンズマイコン111から通信異常状態の応答を確認すると、図12に示す通信チャネル2の通信ロジックリセット要求コマンド(Hex表現で0x99)を通信する。レンズマイコン111は通信ロジックリセット要求コマンドを受信すると通信チャネル2の通信ロジック回路を初期化する。
S823にてレンズマイコン111は、S806で通信チャネル2の通信実施要求コマンド(0xE0)と共にカメラマイコン205から受信したCreateTimingコマンド709と、当該通信実施要求コマンドの受信開始時刻とから、CreateTimingを生成する。そして、S823ではさらに、現在この光学データ取得する時刻をすでに経過しているか否かをレンズマイコン111が判定する。まだ経過していない場合はS824へ遷移し、すでに経過している場合はS825へ遷移する。
S824では、レンズマイコン111はDelayTimeコマンド715のパタメータを0とし、光学データを取得すべき時刻になるのを待つ。DelayTimeコマンド715は後述するS830にてレンズマイコン111からカメラマイコン205へと通信されるデータに含まれるコマンドである。
一方、S825にてレンズマイコン111は、DelayTimeコマンド715に、光学データを取得すべき時刻情報に対して現在の時刻が超過している時間の情報をセットする。
S826では、レンズマイコン111は、S822で指定された登録番号に紐づけられて記憶しているデータ項目を登録された順番でデータ取得する。本実施例では、S824に記載の通り、CreateTimingコマンド709によって指定されるCreateTimingになるまで待ってから光学データを取得する。なお、当該時刻における光学データが前もって予測できる場合には、レンズマイコン111は当該時刻になるまで待つことなく予測値である光学データを取得しても良い。
S827では、レンズマイコン111は、カメラマイコン205がS813にて送信した通信チャネル2についての通信回路のリセット要求が、通信チャネル1の通信経路を用いて受信されたか否かを判定する。当該リセット要求が受信された場合は、S828にてレンズマイコン111はレンズマイコン111内部の通信チャネル2の通信回路をリセットする。
S829では、レンズマイコン111は、カメラマイコン205がS812にて送信した通信チャネル2のキャンセル要求が受信されたか否かを判定する。当該キャンセル要求を受信していれば、S822へと戻る。当該キャンセル要求を受信していない場合は、S830へ遷移する。
S830では、レンズマイコン111は、S826で取得したデータを通信チャネル2の通信経路を用いてカメラマイコン205へ送信する。
以上のフロー制御により図7に示す通信制御を実現する。
<10.実施例1の効果>
以上説明したように、本実施例では、カメラマイコン205がレンズの光学データを取得する場合において、当該レンズの光学データを取得するタイミングに関する情報として、時間に関する情報をカメラマイコン205がレンズマイコン111へと送信する。これにより、カメラマイコン205は自身が指定したタイミングの光学データをレンズマイコン111から得ることができるため、カメラマイコン205による制御の精度、応答性を向上させることができる。
実施例1では、通信チャネル2を介してレンズマイコン111からカメラマイコン205へと光学データを通信する方法を説明した。このとき、実施例1の例では、カメラマイコン205が光学データの取得タイミングを指示する情報として、時間に関する情報を、レンズマイコン111へ送信している。
一方で、実施例1の例では、例えばフォーカスレンズの駆動などに伴う交換レンズ100のアクチュエータの駆動状態の変化のタイミングなどは、カメラマイコン205では検出することができない。このため、こうした交換レンズ100側のアクチュエータの状態変化が生じたタイミングを考慮して通信することができない。
そこで、実施例2では、フォーカスレンズ等の光学部材の駆動状態に応じたタイミングで、レンズ制御部111が光学データおよびレンズ駆動状態を通信チャネル2の通信経路を用いて通信する。
以下、通信チャネル2にて複数の通信要求を実現するための通信処理について説明する。なお、図1~6は実施例1と構成が同じであるため、説明を省略する。
<11.通信チャネル2における通信処理のタイミングチャート(図9)>
まず、通信処理のタイミングチャートである図9を用いて処理内容を説明する。
図中、撮像開始タイミング700~チャネル2通信要求処理705は実施例1における図7の説明と同様であるため、説明を省略する。
チャネル2通信要求処理705は前述のように、撮像開始タイミング700をトリガーとして、通信チャネル1を介してカメラマイコン205からレンズマイコン111に通信チャネル2での通信を要求する処理である。
チャネル2通信要求処理705でカメラマイコン205からレンズマイコン111に送信されるコマンドは、チャネル2通信要求コマンド706、登録番号コマンド707、LimitTimingコマンド708、およびConditionコマンド901を含む。以下、図15および図16を用いてより詳細に説明する。
チャネル2通信要求コマンド706は、通信チャネル2での通信の実行を要求する情報を示すコマンド(図12の0xE0)である。
登録番号コマンド707は、カメラマイコン205からレンズマイコン111に要求するデータに対応する登録番号(図14)である。チャネル2通信要求処理705における1個目の通信データ定義である。たとえば、AF制御に必要となるフォーカス位置情報やピントずれ補正情報などから構成される。
LimitTimingコマンド708は、カメラマイコン205が指定する時間であり、レンズマイコン111が通信チャネル2での光学データ(登録番号コマンド707が指定する情報)の送信を行うべき制限時間を示す。レンズマイコン111は、チャネル2通信要求コマンド706を受信した時刻を起点としてLimitTimingコマンド708で指定されたリミット時間L-Time内にカメラマイコン205に対する光学データの送信を開始しなければならない。
Conditionコマンド901は、カメラマイコン205が登録番号コマンド707にて指定する光学データを通信チャネル2によってカメラマイコン205へ送信するトリガーとなる通信条件Conditionを指定するコマンドである。チャネル2通信要求処理705でカメラマイコン205からレンズマイコン111へ送信するコマンドがConditionコマンド901を含むことで、レンズマイコン111の内部の状態変化を条件として、光学データをカメラマイコン205へ送信するタイミングを指定することができる。
本実施例では、条件となる状態変化の一例として、図16に示すように、防振レンズ103、フォーカスレンズ104、絞り114等の光学部材の駆動状態の変化を指定することができる。
例えば、フォーカスレンズ104の駆動状態が停止したタイミングを通信チャネル2の通信の実施条件としたい場合には、カメラマイコン205はConditionコマンド901に0x01をセットする。また、例えば絞り駆動の停止タイミングを通信チャネル2の通信の実施条件としたい場合には、カメラマイコン205はConditionコマンド901に0x02をセットする。
また、本実施例では複数の条件を指定することも可能である。例えば、Conditionのパラメータの最上位ビット、すなわち本実施例では図16のBit7で示される「OR条件指定」を併用する。
例えば「OR条件指定」が“1”ならば、複数指定した条件のいずれかの状態変化が有ったタイミングにて通信チャネル2の通信を実施し、「OR条件指定」が“0”ならば複数指定した条件の全てが充たされたタイミングにて通信チャネル2の通信を実施する。
より具体的には、フォーカス駆動の停止(Bit0)と絞り駆動の停止(Bit1)のいずれかの条件を充たしたタイミングを通信チャネル2の実施条件としたい場合には、カメラマイコン205は最上位ビット7を併用し、Conditionコマンド901のパラメータには0x83をセットする。
また、フォーカス駆動の停止と絞り駆動の停止の両方の条件を充たしたタイミングを通信チャネル2の実施条件としたい場合には、カメラマイコン205は最上位ビット7を0とし、Conditionコマンド901のパラメータには0x03をセットする。
本実施例では一例として、レリーズ時にフォーカス駆動状態が停止したことを確認し、レリーズ処理に移行する場合について示している。すなわちConditionコマンド901のパラメータに0x01をセットしフォーカス駆動の停止タイミングをカメラマイコン205が通信チャネル2の実施条件として指定した場合について説明している。
フォーカス駆動902、は交換レンズ100が有するフォーカス駆動回路120が、フォーカスレンズ104を駆動している状態であることを示している。フォーカスレンズ104が目標位置に到達すると、フォーカス駆動停止状態903に移行する。レンズマイコン111は、Conditionコマンド901にて指定されたフォーカス駆動の停止タイミングにて通信チャネル2の通信を実施すべく、時刻904(データ取得)にて登録番号コマンド707(登録No)で指定された光学データ(図14指定のデータ)を取得する。チャネル2送信処理713で送信されるデータには、登録番号コマンド714、DelayTimeコマンド715、光学データ716のデータ項目が含まれる。実施例1と同様の構成であるため、ここでは説明を省略する。
レンズマイコン111は時刻904で光学データを取得すると、第2のレンズ通信部112bにてチャネル2送信処理713を開始する。カメラマイコン205は、レンズマイコン111からチャネル2送信処理713により送信されたデータを受信したことを条件として、レリーズ処理905へ移行する。このとき、チャネル2送信処理713の全てのデータを取得してからレリーズ処理905へ移行しても良いし、レリーズ処理905のために必要なデータのみを取得した段階でレリーズ処理905へ移行しても良い。後者の場合は図14の登録データ定義として、レリーズのために必要なデータ項目から順番に設定しておく必要がある。
カメラマイコン205は、レリーズ処理905へ移行すると、静止画露光処理906を実施し、画像生成・補正処理907を行う。ここで画像補正処理に必要な光学データは光学データ716、すなわち図14の登録データ定義に設定しておくことで実現される。
なお、LimitTimingコマンド710により指定されたリミット時間L-Timeが経過してもチャネル2送信処理713の通信が開始されなかった場合には、通信チャネル1にてカメラマイコン205からレンズマイコン111へ通信チャネル2の実施キャンセル要求を送信する。この場合、レリーズに必要な通信処理は、通信チャネル1にてレンズマイコン111からカメラマイコン205へと送信される。
<12.レリーズ準備処理(図10)>
図9に示した通信処理を実現するためのカメラマイコン205とレンズマイコン111との双方のフローチャートを図10にて説明する。
図10のフローチャートはレリーズ処理を実施する前の処理について例に挙げて説明する。
<カメラマイコン205によるレリーズ準備処理(図10A)>
まず、カメラマイコン205が制御するカメラ本体200側のレリーズ準備の処理を説明する。
実施例1で説明した初期通信以降の通信処理(2回目以降の通信処理)において、S1001でカメラマイコン205は本フローチャートの処理をスタートさせる。
S1002では、カメラマイコン205は、レリーズのためのAF処理が実施され、当該処理の結果に基づいてレンズマイコン111にフォーカス駆動要求が送信されたか否かを判定する。
S1003では、カメラマイコン205は、通信チャネル2によってレリーズに必要な光学データを取得すべく、あらかじめ登録済みの登録番号の中から当該光学データに対応する登録番号(図14)を選択する。そして、登録番号コマンド707のパラメータとしてセットする。
S1004では、カメラマイコン205は、通信チャネル2による通信の通信開始条件である、Conditionコマンド901のパラメータをセットする。本実施例では、「フォーカス駆動停止」を示す0x01をセットする。そして、通信チャネル2の通信要求を通信チャネル1の通信経路にてレンズマイコン111へ通信する。より具体的には、図9を用いて説明したように、通信チャネル2の通信要求にはチャネル2通信要求コマンド706、登録番号コマンド707、LimitTimingコマンド708、およびConditionコマンド901が含まれる。
S1005では、カメラマイコン205は、レンズマイコン111に送信したLimitTimingコマンド708において指定したリミット時間L-Timeが経過したか否かを判定する。リミット時間L-Timeが経過した場合はS1011へ遷移する。リミット時間L-Timeが経過する前にS1006にてレンズマイコン111から通信チャネル2にて所望のデータを受信した場合は、S1007へ遷移する。
S1006では、カメラマイコン205は、図10Bを用いて後述するレンズマイコン111によって実行される交換レンズ100側のフローチャートの、S1027のステップにてレンズマイコン111から通信される光学データを受信する。
S1007では、カメラマイコン205は、S1006にて受信したデータ内に含まれている登録番号714が、カメラマイコン205がレンズマイコン111に送信した登録番号コマンド707の登録番号と一致しているか否かを判定する。一致していれば1008へ遷移し、不一致ならばS1012へ遷移する。
S1008では、カメラマイコン205は、通信チャネル2を介してレンズマイコン111から送信された光学データを、図14に登録番号ごとに示した光学データ定義における送信順序に応じて解析および保持する。すなわち、登録番号が1である場合には、Data[0]およびData[1]の2バイトのデータを焦点距離情報として保存し、続くData[2]、Data[3]およびData[4]の3バイトのデータを絞り口径情報として保存する。これ以降は、ピントずれ補正情報まで同様のデータ解析と保持を行う。以降、ピントずれ補正情報の保存まで同様の処理を継続する。
S1009ではカメラマイコン205は、チャネル2送信処理713による通信を受信したことを以てフォーカスレンズ104の駆動が停止したことを確認し、レリーズ処理を開始する。
S1010でカメラマイコン205は、露光処理および撮像した画像に対する画像補正処理を行う。画像補正処理に必要な情報として、たとえば焦点距離情報やレンズの収差による画像歪み補正情報などをチャネル2送信処理713によってあらかじめ取得しておき、この光学データに基づき画像補正処理を行う。
<レンズマイコン111によるレリーズ準備処理(図10B)>
次に、レンズマイコン111によって制御される交換レンズ100側の処理を説明する。
S1021では、レンズマイコン111は、通信待機状態から本フローチャートの処理をスタートする。
S1012では、レンズマイコン111は、カメラマイコン205がS1004にて送信する、通信チャネル2の実施要求を受信する。
S1023では、レンズマイコン111は、カメラマイコン205がS1012にて通信チャネル1の通信経路を用いて送信した、通信チャネル2についての通信回路のリセット要求が受信されているか否かを判定する。受信されていなければ、S1025に遷移する。受信されていればS1024に遷移し、レンズマイコン111内部の通信チャネル2の通信回路をリセットする。
S1025ではレンズマイコン111は、カメラマイコン205がS1011にて送信した通信チャネル2の通信キャンセル要求コマンドを受信したか否かを判定する。通信キャンセル要求コマンドを受信した場合には、S1022へと戻る。通信キャンセル要求コマンドを受信していない場合には、S1026へ遷移する。
S1026では、レンズマイコン111は、S1022でカメラマイコン205から受信した通信チャネル2の実施要求が含むConditionコマンド901によって指定された通信条件Conditionのパラメータを参照する。そして、指定された条件を充たすか否かを判定する。本実施例においては、フォーカスレンズ104の駆動が停止しているか否を判定する。条件を充たさない、すなわちフォーカスレンズ104の駆動が停止していない場合は、S1023へと戻る。条件を充たす、すなわちフォーカスレンズ104の駆動が停止している場合には、S1027へと遷移する。
S1027では、レンズマイコン111は、S1022にてカメラマイコン205から要求された光学データを取得する。そして、当該光学データを通信チャネル2の通信経路を用いてカメラマイコン205へ送信する。
以上のフロー制御により図10に示す通信制御を実現する。フォーカス駆動要求に対してレンズのフォーカスアクチュエータが停止したタイミングで光学データおよびレンズ駆動状態を通信チャネル2の通信経路を用いて通信することで、AF制御の応答性を向上させることができる。
<13.実施例2の効果>
以上説明したように、本実施例では、カメラマイコン205が、レンズの光学データを取得するタイミングに関する情報として、光学部材の駆動状態に関する情報を、当該光学データを取得するレンズマイコン111へと送信する。これにより、撮像装置を構成する各種機能、特に光学部材の駆動を伴う処理の精度および応答性を向上させることができる。
<14.その他の実施例>
なお、実施例1及び実施例2では通信チャネル1では3線クロック同期式通信を行う場合を例示した。これに代えて、同じく通信チャネル1の3線を用いることで実現される3線調歩同期式通信を採用した場合であっても同様の効果を実現することができる。図16は3線調歩同期式通信の通信における信号波形を示している。3線調歩同期式通信の場合は、前述のクロック通信線(LCLK)に代えて、RTS通信線(RTS)を有する。RTS通信線は、カメラ-レンズ通信線(DCL)による通信と第1のレンズ-カメラ通信線(DLC)による通信のタイミングを制御する信号をカメラマイコン205からレンズマイコン111へ送信するための信号線である。例えば、カメラマイコン205からレンズマイコン111へのレンズデータの送信要求(送信指示)や後述する通信処理の切替え要求(切替え指示)等の通知に用いられる。送信要求チャネルでの通知は該送信要求チャネルでの信号レベル(電圧レベル)をHigh(第1のレベル)とLow(第2のレベル)との間で切り替えることで行う。以下の説明では、RTS通信線に供給される信号を送信要求信号RTSという。送信要求信号RTSは、通信マスタとしてのカメラマイコン205から通信スレーブとしてのレンズマイコン111に送られる。レンズマイコン111が送信要求RTSを受信すると、図16に示すようにレンズデータ信号DLCの1フレームの送信開始をカメラマイコン205に通知するため、レンズデータ信号DLCの信号レベルを1ビット期間の間Lowとする。この1ビット期間を1フレームの開始を示すスタートビットSTと呼ぶ。すなわち、このスタートビットSTからデータフレームが開始される。スタートビットSTは、レンズデータ信号DLCの1フレームごとにその先頭ビットに設けられている。続いて、レンズマイコン111は、次の2ビット目から9ビット目までの8ビット期間で1バイトのレンズデータを送信する。データのビット配列はMSBファーストフォーマットとして、最上位のデータD7から始まり、順にデータD6、データD5と続き、最下位のデータD0で終わる。そして、レンズマイコン111は、10ビット目に1ビットのパリティー情報PAを付加し、1フレームの最後を示すストップビットSPの期間のレンズデータ信号DLCの信号レベルをHighとする。これにより、スタートビットSTから開始されたデータフレーム期間が終了する。
以上説明したように、3線調歩同期式通信の場合、通信チャネル1ではRTS信号線によって送信されるRTS信号(タイミング信号とも称する)に対応するタイミングで第2の通信線と第3の通信線による通信が行われる。言い換えると、通信チャネル1で行う通信はカメラマイコン205が通信マスタとしてタイミングを制御している。これに対し、通信チャネル2で行う通信はレンズマイコン111が通信マスタとしてタイミングを制御しており、通信チャネル1による通信のタイミングに依存しないタイミングで行うことができる。より具体的には、第2のレンズ-カメラ通信線による通信は、クロック通信線を介してカメラマイコン205からレンズマイコン111に送信されたクロック信号に対応するタイミングによらずに行うことができる。
また、本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。