以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、撮像装置100のシステム構成図の一例を示す。撮像装置100は、高速通信に対応した通信インタフェース(通信IF)を有しつつ、消費電力の増大を抑制できる撮像装置を提供する。まず、撮像装置100のシステム構成の概要を説明する。
レンズ交換式カメラの一例である撮像装置100は、交換レンズ120およびカメラ本体130を備える。交換レンズ120は、レンズマウント接点121を有するレンズマウントを備え、カメラ本体130は、カメラマウント接点131を有するカメラマウントを備える。レンズマウントとカメラマウントとが係合して交換レンズ120とカメラ本体130とが一体化されると、レンズマウント接点121とカメラマウント接点131が接続される。撮像装置100は、交換レンズ120とカメラ本体130とが一体化した状態で一眼レフレックスカメラとして機能する。レンズMPU123は、レンズマウント接点121およびカメラマウント接点131を介してカメラMPU133と接続され、相互に通信しつつ協働して交換レンズ120を制御する。
交換レンズ120は、レンズ群122、レンズ駆動部124およびレンズMPU123を有する。被写体光は、交換レンズ120が有する光学系としてのレンズ群122を光軸に沿って透過して、カメラ本体130に入射する。メインミラー150は、レンズ群122の光軸を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。
メインミラー150が斜設状態にある場合、メインミラー150は、レンズ群122を通過した被写体光束の一部を反射する。メインミラー150により反射された被写体光束は光学ファインダ部156に導かれて、ユーザに観察される。ユーザは、光学ファインダ部156を通じて構図等を確認することができる。
斜設状態におけるメインミラー150の光軸近傍領域は、ハーフミラーとして形成されており、入射される被写体光束の一部が透過する。メインミラー150の光軸近傍領域を透過した被写体光束は、サブミラー151で反射されて、合焦センサ142へ導かれる。合焦センサ142は、被写体光束を受光する複数の光電変換素子列を有する。光電変換素子列は、合焦状態にある場合には位相が一致した信号を出力し、前ピン状態または後ピン状態にある場合には、位相ずれした信号を出力する。位相のずれ量は、焦点状態からのずれ量に対応する。合焦センサ142は、光電変換素子列の出力を相関演算することで位相差を検出して、位相差を示す位相差信号をカメラMPU133に出力する。
レンズ群122の焦点状態は、カメラMPU133等の制御により、合焦センサ142からの位相差信号を用いて調節される。例えば、カメラMPU133によって、位相差信号に基づき検出された焦点状態に基づき、レンズ群122が含むフォーカスレンズの目標位置が決定され、レンズMPU123の制御により、決定された目標位置に向けてフォーカスレンズの位置が制御される。具体的には、レンズMPU123は、一例としてフォーカスレンズモータを含むレンズ駆動部124を制御して、レンズ群122を構成するフォーカスレンズを移動させる。このように、メインミラー150がダウンして斜設状態にある場合に、位相差検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。合焦センサ142は、被写体像の特定の領域に対応してそれぞれ設けられ、特定の領域のそれぞれにおいて焦点状態を調節することができる。
メインミラー150が被写体光束から退避すると、サブミラー151はメインミラー150に連動して被写体光束から退避する。メインミラー150が退避状態にある場合、レンズ群を透過した被写体光束は、撮像素子132の受光面に入射する。
撮像素子132は、撮像部として機能し、レンズ群122を通過した被写体光束により被写体を撮像する。撮像素子132としては、例えばCCDセンサ、CMOSセンサ等の固体撮像素子を例示することができる。撮像素子132は、被写体光束を受光する複数の光電変換素子を有し、複数の光電変換素子でそれぞれ生じた蓄積電荷量に応じたアナログ信号をA/D変換器134に出力する。A/D変換器134は、撮像素子132から出力されたアナログ信号を、画像データを表すデジタル信号に変換して出力する。撮像素子132およびA/D変換器134は、撮像装置100の主機能を制御するエンジンとして機能するASIC135からの指示を受けた駆動部140により駆動される。
A/D変換器134が出力した画像データは、揮発性メモリの一例としてのSDRAM136に記憶される。SDRAM136の少なくとも一部のメモリ領域は、画像データを一時的に記憶するバッファ領域として使用される。撮像素子132が連続して撮像した場合、順次に生成される画像データはバッファ領域に順次に記憶される。撮像素子132が連続して撮像することにより得られた複数の画像データは、連続された静止画の画像データまたは動画を構成する各画像の画像データとして、バッファ領域に順次に記憶される。なお、動画を構成する画像の画像データを、特にフレームと呼ぶ場合がある。SDRAM136は、ASIC135が動画を処理する場合にフレームを一時的に記憶するフレームメモリとしても機能する。
ASIC135は、SDRAM136に記憶された画像データを処理する。ASIC135は、画像処理機能に関連する回路、通信機能に関連する回路等を一つにまとめた集積回路である。ASIC135は、SDRAM136の少なくとも一部のメモリ領域を画像処理用のワークエリアとして使用して画像処理を行う。ASIC135は、例えば、欠陥画素補正、ホワイトバランス補正、色補間処理、色補正、ガンマ補正、輪郭強調処理等の画像処理を行う。
ASIC135は、画像データを、規格化された画像フォーマットの画像データに変換して出力する。例えば、ASIC135は、静止画の画像データを、JPEG等の規格に準拠した符号化形式で符号化された静止画データを生成するための画像処理を行う。また、ASIC135は、複数のフレームを、H.264、MPEG2、Motion Jpeg等の規格に準拠した符号化方式で符号化された動画データを生成するための画像処理を行う。
ASIC135は、生成した静止画データ、動画データ等の画像データを、不揮発性の記録媒体の一例としての外部メモリ160に転送して記録させる。外部メモリ160としては、例えばフラッシュメモリ等の半導体メモリを例示することができる。また、ASIC135は、生成した画像データを、接続部145を介して、外部機器の一例としてのUSB機器に出力する。例えば、撮像装置100は、USBデバイスとして機能する。ASIC135は、USB機器の一例としてのUSBホストに、接続部145を介して画像データを出力する。
接続部145は、一例としてUSB3.0に準拠した一のUSBレセプタクルである。本例では、接続部145はUSB3.0のMicro−Bレセプタクルである。接続部145は、USB2.0のHigh−Speed(HS)での通信用の接続端子146と、USB3.0のSuperSpeed(SS)での通信用の接続端子147とを有する。接続端子146は、VBUS端子と、信号ラインと接続されるD+端子およびD−端子と、GND端子と、USBのOn−The−Go規格のID端子とを有する。接続端子147は、信号送信ラインと接続されるD+端子およびD−端子と、信号受信ラインと接続されるD+端子およびD−端子と、GND端子とを有する。
ASIC135には、USB2.0のHSに対応した通信IF回路が組み込まれており、接続部145を介して接続されたUSBホストと、USB2.0のHSで定められる通信速度で接続部145を通じて通信する。USB2.0のHSで定められる通信速度は、第1通信速度の一例である。ASIC135に組み込まれた通信IF回路は、接続端子146を通じてUSBホストと通信する。ブリッジLSI144は、第1通信速度より高速に、接続部145を通じてUSBホストと通信する。例えば、ブリッジLSI144は、ASIC135とは独立して外部に設けられ、USB3.0のSSに対応した通信IF回路を含む回路部である。ブリッジLSI144は、ASIC135に通信可能にバス等で接続される。ブリッジLSI144は、接続部145を介して接続されたUSBホストと、接続端子147を通じて第1通信速度より高速に通信する。ASIC135は、ブリッジLSI144と接続され、ブリッジLSI144を介してUSBホストと通信する。なお、本実施形態の説明において、通信IF回路を単にIFと略称する場合がある。
また、ASIC135は、画像データからコントラスト量を検出してカメラMPU133に供給する。例えば、ASIC135は、光軸方向の異なる位置にフォーカスレンズを位置させて撮像することにより得られた複数の画像データのそれぞれからコントラスト量を検出する。カメラMPU133は、検出されたコントラスト量とフォーカスレンズの位置とに基づいて、レンズ群122の焦点状態を調節する。例えば、カメラMPU133は、コントラスト量を増大させるようフォーカスレンズの目標位置を決定して、レンズMPU123によって、決定された目標位置に向けてフォーカスレンズの位置が制御される。このように、メインミラー150がアップして退避状態にある場合に、コントラスト検出方式でレンズ群122の焦点状態が検出されて焦点調節が行われる。このように、カメラMPU133は、ASIC135およびレンズMPU123と協働して、レンズ群122の焦点調節を行う。
ASIC135は、記録用の画像データの生成に並行して、表示用の画像データを生成する。再生時においては、ASIC135は、外部メモリ160から読み出された画像データから表示用の画像データを生成する。生成された表示用の画像データは、表示制御部137の制御に従ってアナログの信号に変換され、液晶ディスプレイ等の表示デバイスとしての表示部138に表示される。また、画像の表示と共に、もしくは画像を表示することなく、撮像装置100の各種設定に関する様々なメニュー項目も、表示制御部137の制御により表示部138に表示することができる。ASIC135は、表示制御部137を制御して、メニュー項目を表示部138に表示させる。
撮像装置100は、上記に説明した制御を含めて、カメラMPU133およびASIC135により直接的または間接的に制御される。システムメモリ139は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュROM、EEPROM等により構成される。システムメモリ139は、撮像装置100の動作に必要な定数、変数等の制御用のパラメータ、プログラム等を、撮像装置100の非動作時にも失われないように記憶している。システムメモリ139に記憶された定数、変数、プログラム等は、システムメモリ139からSDRAM136に展開され、撮像装置100の制御に利用する。カメラ本体130内の、ASIC135、SDRAM136、システムメモリ139、表示制御部137、カメラMPU133、外部メモリ160は、バス等の接続インタフェース149により、相互に接続される。
操作入力部141は、ユーザ操作を受け付ける。操作入力部141は、電源スイッチ、レリーズボタンおよび各種操作ボタン等のキー、表示部138に一体に実装されたタッチパネル等の部材を含む。ASIC135は、操作入力部141が操作されたことを検知して、操作に応じた動作を実行する。例えば、ASIC135は、レリーズボタンが操作された場合に、レリーズ動作を実行するよう撮像装置100の各部を制御する。例えば、ASIC135は、撮像の動作モードが連写モードに設定されている場合、レリーズボタンが押し込まれている間、連続して静止画を撮像するよう撮像装置100の各部を制御する。また、ASIC135は、動画ボタンが操作された場合に、例えばローリング読み出しで撮像素子132に対する読み出しを行うよう撮像装置100の各部を制御する。また、ASIC135は、表示部138に組み込まれたタッチパネルが操作された場合に、表示部138に表示されたメニュー項目および操作内容に応じた動作をするよう、撮像装置100の各部を制御する。
温度センサ148は、撮像装置100内の温度を検出する。ASIC135は、温度センサ148により検出された温度に応じて撮像装置100の各部を制御する。例えば、ASIC135は、温度センサ148で検出された温度が予め定められた値より小さいことを条件として、ブリッジLSI144を通じてUSB3.0のSSでUSBホストと通信する。温度センサ148で検出された温度が予め定められた値以上である場合には、ASIC135は、ブリッジLSI144への電力供給を制限して、USB2.0のHSでUSBホストと通信する。
カメラ本体130の各要素および外部メモリ160は、電源回路143を介して電源170から電力供給を受ける。電源170としては、カメラ本体130に対して着脱できる例えばリチウムイオン電池等の二次電池、系統電源等を例示することができる。二次電池は電池の一例であり、電池とは、実質的に充電することができない非充電式の電池を含む。ASIC135は、電源回路143を制御することにより、電源170から撮像装置100の各部への電力供給を制御する。
ASIC135は、電源回路143を通じて電源の状態を検出して、電源の状態に応じて撮像装置100の各部を制御する。例えば、電源回路143は、電源170が二次電池であるか否か等の電池の種別、二次電池の電圧レベル、二次電池の容量等の電源の状態を、ASIC135に供給する。そして、ASIC135は、電源170が二次電池であるか否かを判断する。ASIC135は、電源170が二次電池であると判断した場合、二次電池の残存容量を検出して、残存容量に応じて撮像装置100の各部を制御する。例えば、ASIC135は、残存容量が予め定められた値以上であることを条件として、ブリッジLSI144を通じてUSB3.0のSSでUSBホストと通信する。残存容量が予め定められた値より小さい場合には、ASIC135は、ブリッジLSI144への電力供給を制限して、USB2.0のHSでUSBホストと通信する。また、ASIC135は、電源170が二次電池であると判断した場合、二次電池の容量に応じて撮像装置100の各部を制御してよい。例えば、ASIC135は、二次電池の容量が予め定められた値以上であることを条件として、ブリッジLSI144を通じてUSB3.0のSSでUSBホストと通信する。二次電池の容量が予め定められた値より小さい場合には、ASIC135は、ブリッジLSI144への電力供給を制限して、USB2.0のHSでUSBホストと通信する。二次電池の容量として、例えば完全充電された二次電池から取り出すことができる電気量としての放電容量、定格容量等を適用することができる。二次電池の容量を示す情報は二次電池内のメモリに記憶され、電源回路143が当該メモリから二次電池の容量を示す情報を取得して、ASIC135に供給してよい。なお、電池の残存容量としての予め定められた値と、電池の容量としての予め定められた値とには、異なる値を適用できることは言うまでもない。
図2は、ASIC135が有する機能ブロック構成の一例を示す。ここでは、ASIC135が有する機能ブロックのうち、接続部145を介してUSBホストとの間の通信するための機能ブロックを取り上げて示す。ASIC135は、IF制御部200、低速通信IF部の一例としてのUSB2IF210、動作設定部220、残存容量検出部230および温度検出部240を有する。
USB2IF210は、USB2.0に対応した回路部であり、接続部145を介して接続されたUSBホストとの間で、接続部145を通じて通信する。具体的には、USB2IF210は、接続端子146と接続され、接続端子146を介して接続されたUSBホストとの間で、接続端子146を通じて通信する。
接続端子146のうちのVBUS端子は、撮像装置100が接続部145を介してUSBホストと電気的に接続されたことを検出するための1の検出端子の一例である。IF制御部200は、接続部145を介してUSBホストが接続されたことを、VUBS端子により検出する。このように、ASIC135は、接続部145を介してUSBホストが接続されたことをVBUS端子により検出することができる。
IF制御部200は、USB2IF210およびブリッジLSI144の一方のIF回路が通信に用いるIF回路として選択された場合に、他方のIF回路への電力供給を制限する。例えば、IF制御部200は、例えば他方のIF回路を省電力状態に遷移させる。IF制御部200は、ブリッジLSI144への電力供給を制限する場合、ブリッジLSI144への電力供給を遮断してもよい。また、IF制御部200は、USBホストとの間の通信に用いるIF回路として選択されているIF回路を示す情報を、表示部138へ表示させる。例えば、USB2.0およびUSB3.0の別を、表示部138へ表示させる。
動作設定部220は、操作入力部141に対するユーザ操作等に応じて、撮像装置100の動作モードを設定する。例えば、出力する画像データの解像度、圧縮率およびフレームレートの動作モードを設定する。また、動作設定部220は、連写撮影モード、微速度撮影モード等の撮像動作を含む動作モードを設定する。動作設定部220は、通信に用いるIF回路を、USB2IF210およびブリッジLSI144の中から動作モードに基づいて選択する。
残存容量検出部230は、撮像装置100の動作電力を供給する電池の残存容量を検出する。具体的には、残存容量検出部230は、電源回路143から供給された出力に基づいて、電源170としての電池の残存容量を算出する。例えば、残存容量検出部230は、電池の電圧レベルに基づいて、電池の残存容量を算出する。IF制御部200は、残存容量に基づいて、USB2IF210およびブリッジLSI144の一方のIFをUSBホストとの間の通信に用いるIFとして選択して、選択したIFにUSBホストと通信させる。例えば、IF制御部200は、ブリッジLSI144を用いてUSBホストとの間で通信しており、検出された残存容量が予め定められた値より小さい場合に、USB2IF210を用いて通信する旨をUSBホストに通知してよい。
なお、IF制御部200は、電池の容量に基づいて、USB2IF210およびブリッジLSI144の一方のIFをUSBホストとの間の通信に用いるIFとして選択して、選択したIFにUSBホストと通信させる。具体的には、IF制御部200は、電源回路143から供給された電池の容量を示す情報を取得する。そして、IF制御部200は、電池の容量が予め定められた値より小さい場合に、USBホストとの通信に用いるIF回路としてUSB2IF210を選択する。例えば、IF制御部200は、電池の容量が予め定められた値より小さい場合に、USBホストとの通信に用いるIF回路としてブリッジLSI144が選択されることを禁止する。IF制御部200は、電池の容量が予め定められた値以上である場合には、USBホストとの通信に用いるIF回路としてブリッジLSI144が選択される事を許容してよい。例えば、IF制御部200は、電池の容量が予め定められた値以上である場合であっても、電池の残存容量が予め定められた値より小さいときは、USBホストとの通信に用いるIF回路としてUSB2IF210を選択してよい。
温度検出部240は、撮像装置100の内部の温度を算出する。具体的には、温度検出部240は、温度センサ148の出力に基づいて温度を算出する。IF制御部200は、温度検出部240により算出された温度に基づいて、USB2IF210およびブリッジLSI144の一方のIFをUSBホストとの間の通信に用いるIFとして選択して、選択したIFにUSBホストと通信させる。例えば、IF制御部200は、ブリッジLSI144を用いてUSBホストとの間で通信しており、検出された温度が予め定められた値より高い場合に、USB2IF210を用いて通信する旨をUSBホストに通知してよい。
図3は、ブリッジLSI144が有する機能ブロック構成の一例を示す。ブリッジLSI144は、ブリッジMPU300、内部側IF部310、高速通信IF部の一例としてのUSB3IF320、揮発性メモリの一例としてのRAM330および電力制御部340を有する。
USB3IF320は、USBホストとの間の通信を担う外部IF回路の一例である。USB3IF320は、接続部145を通じて第1通信速度より高速に通信する。USB3IF320は、それぞれUSB3.0のSSに対応したLINK部322およびPHY部324を有する。PHY部324は、接続端子147と接続され、USB3.0の物理層の機能を提供する。LINK部322はPHY部324と接続され、USB3.0のリンク層の機能を提供する。
内部側IF部310は、ASIC135との間の通信を担う内部IF回路の一例である。ブリッジMPU300は、内部側IF部310から出力されたデータをUSB3IF320に供給する。また、ブリッジMPU300は、USB3IF320から出力されたデータを内部側IF部310に供給する。内部側IF部310は、PHY部312およびLINK部314を有する。LINK部314は、ASIC135との間の内部IFのリンク層の機能を提供する。PHY部312は、内部IFの物理層の機能を提供する。
電力制御部340は、電源回路143から供給された電力を、ブリッジLSI144の各部に供給する。電力制御部340は、ブリッジMPU300からの制御に基づき、ブリッジLSI144の各部への電力供給を制限する。ブリッジMPU300は、IF制御部200からの制御に基づいて、各部への電力供給を制限する。
RAM330は、ブリッジMPU300の動作に使用するファームウェアを記憶する。RAM330は、USB3IF320への電力供給が開始された場合にファームウェアをロードするメモリ部の一例である。具体的には、RAM330は、ブリッジLSI144に電力供給が開始された場合に、ファームウェアをロードして記憶する。当該ファームウェアは、ブリッジLSI144が有する不揮発性メモリに格納されてよい。当該ファームェアはASIC135から提供されてもよく、システムメモリ139から提供されてもよい。ブリッジMPU300は、RAM330に記憶されたファームウェアに従って、ブリッジLSI144の各部を制御する。RAM330は、ブリッジLSI144が省電力状態にある場合にも、ファームウェアを保持することができる。
ブリッジLSI144においては、内部側IF部310およびUSB3IF320を省電力状態にすることができる。例えば、IF制御部200は、USBホストとの間でUSB3.0による通信が確立されなくなった場合に、内部側IF部310およびUSB3IF320を省電力状態に遷移させる。IF制御部200は、内部側IF部310およびUSB3IF320を独立に省電力状態にしてよい。例えば、USB3.0の通信が確立されている場合において、USBホストから省電力要求を受け付けた場合に、内部側IF部310を省電力状態に遷移させることなく、USBホスト側のIF部であるUSB3IF320を省電力状態に遷移させてよい。
このように、IF制御部200は、ブリッジLSI144への電力供給を制限する場合に、内部側IF部310よりUSB3IF320に対する電力供給を優先的に制限してよい。例えば、IF制御部200は、ブリッジLSI144をより強い省電力状態に遷移させる場合に、複数の回路部のうち、USBホストに近い回路部から順に電力供給を制限してよい。USBホストにより近い回路部への電力供給を優先的に制限することで、IF制御部200からの制御によって、ブリッジLSI144を速やかに通常の通信状態に遷移させることができる。なお、ブリッジLSI144への電力供給を制限する場合に、任意の優先順位で各回路部への電力要求を制限してよい。すなわち、IF制御部200は、ブリッジLSI144への電力供給を制限する場合に、複数の回路部のうち電力供給を制限すべき回路部を選択して、選択した回路部への電力供給を制限してよい。
以上に説明したように、撮像装置100においては、ASIC135がUSB2IF210を内蔵し、ASIC135とは独立したブリッジLSI144が、より新しいバージョンのUSB規格に準拠したUSB3IF320を含む。このように、動作実績がある信頼性の高いIPコアのみをASIC135に取り込んで実装することで、ASIC135の開発コストを削減でき、信頼性を高めることができる。また、新しいバージョンに準拠したIFをASIC135とは別に実装することで、新しいバージョンに準拠した通信機能を持つ撮像装置100に速やかに開発することができる。
図4は、撮像装置100の状態遷移を示す。撮像装置100は、例えばUSBケーブルを介してUSBホストとの間の接続が検出されていない場合、未接続の状態400にある。状態400では、USB2IF210は省電力状態で動作し、ブリッジLSI144は電力供給が遮断された状態にある。
状態400において、撮像装置100は、USBホストと接続されたことが検出された場合に、状態420に遷移する。具体的には、IF制御部200は、VBUS端子に予め定められた値以上の電圧が加えられたことを検出した場合に、USBホストと接続されたと判断する。状態420では、ASIC135はブリッジLSI144に電力を供給してブリッジLSI144を初期化する。また、USB2IF210の電力状態を省電力状態から通常動作の電力状態にするとともにUSB2IF210を初期化する。初期化が完了すると、USBホストとの間で通信接続を行う状態430に遷移する。このように、IF制御部200は、接続部145を介してUSBホストが接続されたことを検出した場合に、USB3IF320への電力供給を開始する。
USBホストとの接続が切断されたことが検出された場合、状態400に遷移する。すなわち、IF制御部200は、接続部145を介してUSBホストが接続されていない場合に、USB2IF210を省電力状態で動作させ、USB3IF320への電力供給を遮断する。なお、IF制御部200は、VBUS端子の電圧が定められた値より低くなった場合に、USBホストとの接続が切断された判断してよい。USBケーブルが接続部145から抜かれた場合、および、USBホストがUSBケーブルから抜かれた場合のいずれの場合においても状態400に遷移される。
図5は、USBホストとの間で通信接続を行う場合の状態遷移を示す。具体的には、図4の状態430における詳細な状態遷移を示す。
状態500は、ブリッジLSI144を用いてUSBホストと通信する状態である。すなわち、USBホストとUSB3.0で通信する状態である。状態500では、USB2IF210は省電力状態にある。状態500では、USB3IF320の信号ラインは接続状態にある。具体的には、USB3IF320の信号ラインはターミネートされた状態にある。また、状態500では、USB2IF210の信号ラインは切断状態にある。具体的には、USB2IF210の信号ラインはプルアップが解除された状態にある。
IF制御部200は、状態500において通信のタイムアウトが生じたときには、状態520に遷移させる。また、IF制御部200は、状態500においてUSBホストから省電力要求を受信したときにも、状態520に遷移させる。状態520では、USB3IF320が省電力状態にあり、内部側IF部310は通常の動作状態にある。このように、USB3.0の通信が確立されている場合、一定時間未通信状態が続いたときに、USB3IF320を省電力状態にする。また、状態520では、USB3IF320の信号ラインは接続状態にあり、USB2IF210の信号ラインは切断状態にある。また、状態520では、USB2IF210は省電力状態にある。状態520において、USBホストから通信要求を受信した場合に、リンクトレーニング等を経て状態500に遷移する。
IF制御部200は、状態500においてUSBホストから低速通信要求を受信した場合に、状態510に遷移させる。低速通信要求としては、USB2.0のHSでの通信に切り替える旨の要求を例示することができる。状態510では、USB2IF210を用いてUSBホストと通信接続される。具体的には、状態510では、USB2IF210の信号ラインは接続状態にあり、USB3IF320の信号ラインは切断状態にある。具体的には、USB2IF210の信号ラインはプルアップされた状態にあり、USB3IF320の信号ラインはターミネートされていない状態にある。また、状態510において、USB3IF320は省電力状態にあり、内部側IF部310は通常の動作状態にある。このように、IF制御部200は、USB2.0の通信に切り替える旨の要求をUSBホストから受けた場合、USB2IF210で通信を開始し、ブリッジLSI144を省電力状態に遷移させる。
状態510において、USBホストから高速通信要求を受信した場合に、リンクトレーニング等を経て状態500に遷移する。高速通信要求としては、USB3.0のSSでの通信に切り替える旨の要求を例示することができる。
IF制御部200は、状態500において通信エラーを検出した場合に、状態530に遷移させる。状態530では、USB2IF210を用いてUSBホストと通信接続される。具体的には、状態530では、USB2IF210の信号ラインは接続状態にあり、USB3IF320の信号ラインは切断状態にある。また、状態530において、USB3IF320および内部側IF部310は省電力状態にある。状態530において、USBホストから高速通信要求を受信した場合に、リンクトレーニング等を経て状態500に遷移する。高速通信要求としては、USB3.0のSSでの通信に切り替える旨の要求を例示することができる。状態530では、内部側IF部310およびUSB3IF320を省電力状態にされるが、電力供給は遮断されていない。このため、高速通信要求に応じて比較的に高速にUSB3.0の通信に切り替えることができる。
なお、IF制御部200は、状態510においてUSB3.0の通信タイムアウトが生じた場合にも、状態530に遷移させる。すなわち、IF制御部200は、USB2.0の通信が確立されている場合に、状態510に遷移してから予め定められた時間USB3.0の通信に切り替える旨がUSBホストから要求されなかった場合には、内部側IF部310を省電モードに遷移させる。このため、状態510に遷移してから予め定められた時間内では内部側IF部310を通常の動作状態に維持することができるので、IF制御部200からの制御により、USB3.0での通信を速やかに開始させることができる。
IF制御部200は、状態510または状態530においてUSB3.0での通信を遮断する旨の要求をUSBホストから受信した場合に、状態540に遷移させる。状態540では、USB2IF210を用いてUSBホストと通信接続される。具体的には、状態540では、USB2IF210の信号ラインは接続状態にあり、USB3IF320の信号ラインは切断状態にある。また、状態540において、USB3IF320および内部側IF部310への電力供給は遮断される。例えば、ブリッジLSI144への全電力供給が遮断されてもよい。このように、USB2.0の通信が確立されている場合に、USBホストからUSB3.0の通信IFを遮断すべき旨の要求が通知されたときに、IF制御部200はブリッジLSI144への電力供給を遮断する。なお、状態540に遷移させる場合、IF制御部200は、USB3.0での通信を再開する場合にブリッジLSI144を再度初期化する必要がある旨をUSBホストへ通知させてもよい。したがって、USBホストは、USB3.0での通信を再開する場合にブリッジLSI144の初期化に時間を要することを認識して、USB3.0の通信を再開する手続を行うことができる。
状態540において、USBホストから高速通信要求を受信した場合に、状態550に遷移する。高速通信要求としては、USB3.0のSSでの通信に切り替える旨の要求を例示することができる。状態550では、USB3IF320および内部側IF部310への電力供給を開始して、リンクトレーニング等を経て状態500に遷移する。状態540においてUSBホストから高速通信要求があった場合、IF制御部200は、ブリッジLSI144への電力供給を開始して、ブリッジLSI144の各部を初期化し、初期化が完了した場合に、USB3.0での通信を開始できる状態となったことをUSBホストへ通知する。
なお、IF制御部200は、状態500において、電池の残存容量、撮像装置100内の温度等の撮像装置100の状態に基づく内部切り替えイベントが生じた場合にも、状態540に遷移させる。このとき、IF制御部200は、USB3IF320を通じて通信する旨をUSBホストに通知する。内部切り替えイベントについては後述する。
本図に関連して説明したように、IF制御部200は、USBホストとの間に一方のIF回路を通じて通信が確立されている場合に、通信に用いるIF回路として他方のIF回路を選択する旨がUSBホストから通知されたときは、他方のIF回路を用いて通信を開始させ、一方のIF回路への電力供給を制限する。また、IF制御部200は、USBホストとの間に一方のIF回路を通じて通信が確立されている場合に、他方のIF回路を用いて通信すべき旨が撮像装置100の状態に基づいて判断されたときは、他方のIF回路を用いて通信する旨をUSBホストに通知して、一方のIF回路への電力供給を制限する。
本図に関連して説明したように、USB2IF210およびブリッジLSI144のそれぞれのIFが省電力状態に遷移する機能を有しており、IF制御部200は、USBホストとの通信に応じて、各IFの省電状態を切り替える。IF制御部200は、各IFへのクロックの供給を制御することによって、各IFを省電力状態に遷移させてよい。ブリッジLSI144が省電力状態にある場合に、RAM330内のデータは記憶された状態であってよい。
また、ブリッジLSI144の省電力状態として、内部側IF部310への電力供給を維持しつつUSB3IF320への電力供給を遮断した状態と、内部側IF部310およびUSB3IF320への電力供給を遮断した状態とを持つ。また、ブリッジLSI144の省電力状態として、内部側IF部310への電力供給を維持しつつUSB3IF320を省電力状態にした状態を持つ。USB3IF320の省電力状態としては、LINK部322への電力供給を維持しつつPHY部324への電力供給を遮断した状態を持つ。このように、ブリッジLSI144の省電力状態として、ブリッジLSI144が有する複数の回路部のうち、電力が供給状態にある回路部の組み合わせが異なる複数の省電力状態を持つ。また、複数の省電力状態のそれぞれにおいて、ブリッジLSI144へのクロックの供給を制御することによる省電力状態を更に有してよい。また、IF制御部200は、ブリッジLSI144を省電力状態に遷移させる場合に、これらの複数の省電力状態のうち、USBホストとの間の通信状態や撮像装置100の動作モード等に応じて予め定められた省電力状態に遷移させてよい。
図6は、通信に用いるIFの選択例をテーブル形式で示す。IF制御部200は、USBホストに転送すべき動画データの解像度、圧縮率およびフレームレートの組み合わせに基づいて、USB2IF210およびUSB3IF320のうち一方のIFを、USBホストとの間の通信に用いるIFとして選択する。例えば、撮像しながら、撮像により得られた動画データをリアルタイムにUSBホストに転送する場合に用いるIFを選択する。動画データの解像度、圧縮率およびフレームレートは、ユーザ指示に従って指定されてよい。例えば、解像度、圧縮率およびフレームレートの組み合わせは、動画処理用の動作モードとして予めプリセットされ、プリセットされた複数の動作モードの中から1の動作モードがユーザによって選択されてよい。
具体的には、動画データの解像度が高解像度であり、ASIC135における動画データの圧縮率が低圧縮率となる動作モードが選択されている場合に、IF制御部200は、フレームレートによらずUSB3IF320を選択する。
解像度が高解像度であり、圧縮率が低圧縮率となり、かつ、フレームレートが高速となる動作モードが選択されている場合、IF制御部200は、USB3IF320を選択する。一方、解像度が高解像度であり、圧縮率が高圧縮率となり、かつ、フレームレートが低速となる動作モードが選択されている場合には、IF制御部200は、USB2IF210を選択する。
また、解像度が低解像度であり、圧縮率が低圧縮率となり、かつ、フレームレートが高速となる動作モードが選択されている場合に、IF制御部200は、USB3IF320を選択する。一方、解像度が低解像度であり、圧縮率が低圧縮率となり、かつ、フレームレートが低速となる動作モードが選択されている場合に、IF制御部200は、USB2IF210を選択する。
また、IF制御部200は、解像度が低解像度であり、かつ、圧縮率が高圧縮率となる動作モードが選択されている場合に、IF制御部200は、フレームレートによらずUSB2IF210を選択する。なお、高解像度とは予め定められた解像度以上の解像度を意味し、低解像度とは、予め定められた解像度より低い解像度を意味する。同様に、高圧縮率とは予め定められた圧縮率以上の圧縮率を意味し、低圧縮率とは予め定められた圧縮率より低い圧縮率を意味する。また、高速のフレームレートとは、予め定められた速度以上のフレームレートを意味し、低速のフレームレートとは、予め定められた速度より低いフレームレートを意味する。
解像度が高いほど、転送する動画データのデータ量は大きくなる。また、圧縮率が低いほど、転送する動画データのデータ量は大きくなる。また、フレームレートが高いほど、転送する動画データのデータ量は大きくなる。そして、解像度、圧縮率およびフレームレートの組み合わせによって、予測される動画データのデータ量が定まる。撮像しながら得られた動画データをリアルタイムに転送する場合、当該組み合わせによって転送ビットレートが定まる。したがって、解像度、圧縮率およびフレームレートの組み合わせから予測されるビットレート等のデータ量に応じて、通信に用いるIFが予め対応づけられてよい。一例として、動作モードに対応づけて通信に用いるIFが予め定められており、IF制御部200は、動作モードに対応づけられているIFを、転送に用いるIFとして選択してよい。例えば、IF制御部200は、動作モードが変更される場合に、変更後の動作モードに対応づけて他方のIF回路を用いて通信すべき旨が定められているときは、他方のIF回路を用いて通信する旨をUSBホストに通知してよい。
本図に関連して説明したIFの選択例によれば、撮像装置100が撮像しながら、ASIC135において生成される動画データをUSBホストに転送する場合に、単位時間あたりに生成されるデータ量が少ない動作モードが選択されている場合には、USB2IF210を選択して転送することができる。この間、ブリッジLSI144を省電力状態にすることでPHY部およびLINK部での消費電力を削減することができ、消費電力の増大を抑制することができる。一方、単位時間あたりに生成されるデータ量が多い動作モードで撮像するときには、ブリッジLSI144を用いて転送することにより、フレームメモリが満杯になることを未然に防ぐことができる。このように、撮像装置100によれば、USBホストに転送すべきデータ量に応じて適切なIFを選択してUSBホストとの間で通信することができる。
なお、本例では、動画データのデータ量に応じて通信に用いるIFを選択するとしたが、静止画データのデータ量に応じて通信に用いるIFを選択してもよい。例えば、IF制御部200は、予め定められた値より小さい解像度の静止画データを取得してUSBホストへ転送する動作モードの場合に、USB2IF210を選択してよい。一方、IF制御部200は、予め定められた値以上の解像度の静止画データをUSBホストへ転送する動作モードの場合には、USB3IF320を選択してよい。圧縮率についても同様に、圧縮率に応じて通信に用いるIFを選択してよい。また、静止画データにおいても、解像度と圧縮率との組み合わせに応じて通信に用いるIFを選択してよい。
なお、USBホストへの転送に要する時間である転送時間は、データ量および転送速度によって定まる。USB2IF210を用いて転送した場合と比較すると、ブリッジLSI144を用いて転送することで転送時間を短くすることができる。このため、USB2IF210を省電力状態にしてブリッジLSI144を用いて転送した場合における転送時間内の消費電力量が、ブリッジLSI144を省電力状態にしてUSB2IF210を用いて転送した場合の消費電力量より小さいと判断される場合には、IF制御部200は、ブリッジLSI144を転送に用いるIFとして選択してよい。このように、IF制御部200は、各IFで定められる転送速度およびデータ量に基づいて、USBホストとの間の通信に用いるIFを選択してよい。具体的には、IF制御部200は、各IFで定められる転送速度、データ量および各IFを動作させた場合の単位時間あたりの消費電力量に基づいて、USBホストとの間の通信に用いるIFを選択してよい。
例えば、インターバル撮影、微速度撮影等のように、予め定められた値より長い時間間隔で予め定められた値より長い期間にわたって撮像を繰り返し行う場合、画像データの転送が間欠的に行われる場合がある。この場合、画像データを転送する期間だけUSB3IF320を選択して転送することで、全画像データの転送に要する消費電力を削減することができる場合がある。したがって、IF制御部200は、予め定められた値より長い時間間隔で予め定められた値より長い期間にわたって撮像を繰り返し行う動作モードに設定された場合、撮像によって得られる画像データをUSBホストに転送する場合に用いるIFとして、USB3IF320を選択してよい。この場合、IF制御部200は、USBホストへの画像データの転送を開始する場合にブリッジLSI144を省電力状態から動作状態に遷移させて、転送が終了した場合に省電力状態に遷移させてよい。この動作を繰り返すことにより、全画像データの転送に要する消費電力を削減することができる場合がある。なお、USB3IF320を用いて一の撮像を行う毎に画像データをUSBホストに転送させてよいが、予め定められた回数の撮像を行う毎に複数の画像データを一括してUSBホストに転送させてもよい。また、未転送の画像データのデータ量が予め定められた値を超えた場合に、USB3IF320を用いて未転送の画像データを一括してUSBホストに転送させてもよい。
なお、動画データは、不揮発性記録媒体等への記録用の動画データに限られない。動画データとは、表示用の動画データであってよい。表示用の動画データとは、いわゆる電子ビューファインダやライブビュー表示用の画像データのように、撮像装置100により連続的に撮像される画像をユーザに順次に提示するための画像データであってよい。例えば、USBホストが、USBを介して転送された表示用の画像データを用いて表示する外部モニタである場合に、ASIC135は、表示用の画像データを順次に生成して、生成した表示用の画像データを、ブリッジLSI144またはUSB2IF210を通じてUSBホストに転送してよい。この場合に、ASIC135は、外部モニタが表示できる解像度が高いほど、より高解像度の画像データを生成してよい。また、ASIC135は、外部モニタの表示レートが高いほど、単位時間あたりにより多くの画像データを生成してよい。そして、IF制御部200は、外部モニタへ表示させるべき画像データの解像度および表示レートに応じて、画像データの転送に用いるIFを選択してよい。転送ビットレートは、画像データの解像度および表示レートにより定まる。したがって、解像度および表示レートの組み合わせから予測されるビットレート等のデータ量に応じて、通信に用いるIFが予め対応づけられてよい。例えば、画像データの解像度および表示レートの組み合わせに対応づけて、画像データの転送に用いるIFが予め定められており、IF制御部200は、外部モニタへ表示させるべき画像データの解像度および表示レートの組み合わせに対応づけられているIFを、転送に用いるIFとして選択してよい。
本制御によれば、外部モニタの表示性能に応じて、転送に用いるIFを切り替えることができる。したがって、例えば大型かつ表示レートが高い外部モニタが接続されている場合には、ブリッジLSI144を用いて転送することにより、撮像装置100により撮像できる画像を高精細かつリアルタイムに提示することができる。一方、例えば小型かつ表示レートが低い外部モニタが接続されている場合には、USB2IF210を用いて転送することにより、撮像装置100における消費電力を低減することができる。なお、外部モニタは、USBホストとして機能するパーソナルコンピュータに接続されたモニタであってよい。
図7は、通信に用いるIFの他の選択例をテーブル形式で示す。IF制御部200は、電源170が二次電池等の電池である場合に、電池の残存容量に基づいて、USB2IF210およびUSB3IF320のうち一方を、USBホストとの間の通信に用いるIFとして選択する。
具体的には、IF制御部200は、残存容量が予め定められた値より大きい場合に、USB3IF320を選択する。一方、IF制御部200は、残存容量が予め定められた値より小さい場合に、USB2IF210を選択する。このため、IF制御部200は、USB3IF320を用いて通信している場合に、残存容量が予め定められた値より小さくなったときには、USB2IF210に切り替えて通信を行わせることができる。この場合、IF制御部200は、ブリッジLSI144への電力供給を遮断してよい。本制御により、電池が早期に消耗してしまうことを未然に防ぐことができる。
図8は、通信に用いるIFの更なる他の選択例をテーブル形式で示す。IF制御部200は、温度センサ148および温度検出部240によって検出された温度に基づいて、USB2IF210およびUSB3IF320のうち一方を、USBホストとの間の通信に用いるIFとして選択する。
具体的には、IF制御部200は、温度が予め定められた値より低い場合に、USB3IF320を選択する。一方、IF制御部200は、温度が予め定められた値より高い場合に、USB2IF210を選択する。このため、IF制御部200は、USB3IF320で通信している場合に、温度が予め定められた値以上になったときには、USB2IF210に切り替えて通信を行わせることができる。この場合、IF制御部200は、ブリッジLSI144への電力供給を遮断してよい。本制御により、撮像装置100の内部が著しく高温になることを未然に防ぐことができる。このため、撮像装置100が異常動作する確率を低減することができる。
図6から図8等に関連して説明したように、IF制御部200は、撮像装置100の動作モード、残存容量や容量等の電源状態および温度等の撮像装置100側の要因に応じて、USBホストとの間の通信に使用するIFを選択する。具体的には、各要因にそれぞれ対応して通信に使用するIFが予め定められており、IF制御部200は、撮像装置100における現在の要因に対応して定められているIFを、通信に使用するIFとして選択する。なお、IF制御部200は、撮像装置100における現在の複数の要因の少なくともいずれかに対応してUSB2IF210が定められている場合に、通信に使用するIFとしてUSB2IF210を選択してよい。また、複数の要因の組み合わせに対応づけて通信に使用するIFが予め定められており、撮像装置100における現在の要因の組み合わせに対応して定められているIFを、通信に使用するIFとして選択してもよい。
なお、図5に関連して、撮像装置100が状態500にある場合に、内部切り替えイベントで状態540に遷移させるとした。内部切り替えイベントは、当該撮像装置100側の要因に基づくUSB2IF210への切り替えイベントであってよい。なお、動作モード、電源状態および温度に応じてIFを選択するだけでなく、使用すべきIFをユーザに直接に指定させてもよい。例えば、USB2.0およびUSB3.0のいずれのバージョンに従って通信すべきかをユーザに指定させてよい。例えば状態500において、ユーザによりUSB2.0に従って通信すべき旨がユーザから指定された場合に、状態540に遷移してよい。このように、IF制御部200は、状態500にある場合に、通信に使用するIFを撮像装置100側の要因に応じてUSB2IF210を選択すべき旨を判断した場合に、状態540に遷移させてよい。
なお、USBホストとの間の通信に用いるIFとしてUSB2IF210が選択された場合、動作設定部220は、ユーザが選択できる撮像装置100の動作モードを制限してもよい。例えば、図6で例示した高解像度、低圧縮かつ高速のフレームレートとなる動作モード等のように、USB3IF320を用いるべき動作モードをユーザが選択できないようにしてもよい。例えば、表示部138またはUSBホストの表示装置を通じて撮像装置100の動作モードをメニュー形式でユーザに選択させる場合に、USB3IF320を用いるべき動作モードに対応するメニュー項目をグレーアウトさせる等してよい。
なお、IF制御部200は、撮像装置100側の要因に応じてUSB2IF210に切り替えた場合、ブリッジLSI144への電力供給を遮断してよい。IF制御部200は、ブリッジLSI144への電力供給が遮断されている場合に、電源状態や温度等に応じてUSB3IF320を選択できる状況になった場合には、USB3.0で通信できる旨をUSBホストへ通知してよい。また、IF制御部200は、撮像装置100側の要因に応じてUSB3IF320に切り替えられた場合は、USB2IF210を省電力状態に遷移させてよい。
図9は、撮像装置100の起動から終了までの処理フローを示す。本フローは、例えば操作入力部141の一部としての電源スイッチがON位置に切り替えられた場合に、開始される。本フローは、カメラMPU133、ASIC135が主体となって撮像装置100の各部を制御することにより実行される。
ステップS900において、撮像装置100の初期設定を開始する。例えば、撮像装置100を制御するための各種パラメータ等が、システムメモリ139からSDRAM136に展開される。また、ASIC135は、展開された各種パラメータに基づき、撮像装置100の動作モードを設定する。例えば、シャッタスピードおよび撮像感度等の撮像素子132の設定、解像度、圧縮率およびフレームレート等を設定する。また、本初期設定の一部として、USB2IF210等の初期化も行われる。USB2IF210等の初期化については図10に関連して説明する。
続いて、ステップS902において、ASIC135は、初期設定により設定された内容を表示部138に表示させる。例えば、ASIC135は、シャッタスピード、撮像感度、解像度、圧縮率、フレームレート等の情報を、アイコン表示等の種々の形式で表示部138に表示させる。
続いて、ステップS904において、ASIC135は、操作入力部141に対するユーザ指示を特定する。ユーザ指示が諸設定を行う指示である場合、ASIC135が主体となって、指示された設定処理を行う(ステップS906)。当該指示としては、上述した動作モードを指定する指示、USB2.0およびUSB3.0のいずれに従って通信すべきかを指定する指示等を例示することができる。
ステップS904において、ユーザ指示が撮像動作を含む処理を実行する指示であると判断された場合、指示された処理を実行する(ステップS912)。当該指示としては、レリーズボタン、ライブビュースイッチ、動画ボタンに対する操作等を例示することができる。ステップS912の処理の一部として、撮像により得られた画像データをUSBホストに転送する処理を含むことができる。
ステップS904において、ユーザ指示が画像の再生に関する指示であると判断された場合、再生処理を実行する(ステップS922)。再生処理としては、外部メモリ160に記録された静止画データ、動画データ等の画像データをサムネイル表示する処理、ユーザにより指示された画像データを用いて画像を表示する処理等を例示することができる。また、再生処理の一部として、ユーザ指示に応じて画像データをUSBホストに転送する処理を含むことができる。
ステップS904においてユーザ指示がないと判断された場合は、ステップS908に進む。また、ステップS906、ステップS912、ステップS922の処理が完了すると、ステップS908に進む。ステップS908では、電源をOFFするか否かを判断する。例えば、電源スイッチがOFF位置にされた場合や、撮像装置100が動作を開始してから予め定められた期間、ユーザ指示が無い状態が継続した場合等に、電源をOFFすると判断する。電源をOFFすると判断した場合は本フローを終了し、電源をOFFしないと判断した場合はステップS904に処理を移行させる。
図10は、USB通信に関する初期設定の処理フローの一例を示す。本処理フローは、図9のステップS900の一部の処理として、IF制御部200が主体となって実行する。本処理フローは、例えばUSB2IF210が初期化した後に開始される。
ステップS1002において、IF制御部200は、接続部145を介してUSBホストと接続されているか否かを判断する。具体的には、IF制御部200は、VBUS端子に予め定められた電圧が加えられたことを検出した場合に、接続部145を介してUSBホストと接続されていると判断する。USBホストと接続されていないと判断された場合は、本処理フローを終了する。
ステップS1002の判断において、USBホストと接続されていると判断された場合は、通信に用いるIFとしてUSB3IF320の使用が禁止されているか否かを判断する(ステップS1004)。例えば、図6から図8等に関連して説明した撮像装置100側の要因に基づいて、通信に用いるIFとしてUSB2IF210を選択すべき旨が判断された場合に、USB3IF320の使用が禁止されていると判断する。例えば、電池の容量が予め定められた値より小さい場合には、USB3IF320の使用が禁止されていると判断する。また、電池の残存容量が予め定められた値より小さい場合にも、USB3IF320の使用が禁止されていると判断する。
ステップS1004の判断において通信に用いるIFとしてUSB2IF210を選択すべきでないと判断した場合、ブリッジLSI144への電力供給を開始する(ステップS1006)。続いて、USBホストが撮像装置100を検出できるよう、USB3IF320の信号ラインをターミネートする(ステップS1008)。続いて、USB3IF320を介してUSBホストとの通信接続を確立する処理を実行する(ステップS1010)。本処理は、リンクトレーニング等を含む。
続いて、ステップS1012において、USB3IF320を介して通信接続を確立できたか否かを判断する。USB3IF320を介して通信接続を確立できた場合、USB2IF210を省電力状態に遷移させる(ステップS1014)。そして、通信接続が確立したIFを識別する情報を表示部138に表示させ(ステップS1016)、処理を終了する。
ステップS1012の判断においてUSB3IF320を介して通信接続を確立できなかった場合、ステップS1020において信号ラインのターミネートを解除して、ステップS1022に処理を進める。ステップS1004の判断において、通信に用いるIFとしてUSB2IF210を選択すべき旨が判断された場合も、ステップS1022に処理を進める。
ステップS1022において、USBホストが撮像装置100を検出できるよう、USB2IF210の信号ラインをプルアップする。続いて、USB2IF210を介してUSBホストとの通信接続を確立する処理を実行する(ステップS1024)。続いて、USB2IF210を介して通信接続を確立できたか否かを判断する(ステップS1026)。通信接続を確立できた場合、USB3IF320が使用禁止でなかったときはUSB3IF320を省電力状態に遷移させ(ステップS1028)、ステップS1016に処理を移行する。通信接続できなかった場合、信号ラインのプルアップを解除して(ステップS1032)、通信接続を確立できなかった旨を表示部138に表示させる(ステップS1034)。そして、USB3IF320が使用禁止でなかった場合はUSB3IF320を省電力状態に遷移させ(ステップS1036)、処理を終了する。
このように、IF制御部200は、接続部145を介してUSBホストが接続された場合に、USB3IF320をUSBホストとの間の通信を受け付ける状態に遷移させ、リンクトレーニング等の通信接続の開始手続を開始できるようにする。そして、IF制御部200は、USB3IF320を通じてUSBホストと通信が確立できた場合に、USB2IF210を省電力状態に遷移させる。また、IF制御部200は、USB3IF320を通じてUSBホストと通信が確立できなかった場合に、USB2IF210にUSBホストとの間の通信を受け付けさせ、ブリッジLSI144を省電力状態に遷移させる。
図11は、動作設定に基づいて通信に使用するIFを切り替える処理フローの一例を示す。本処理フローは、図9のステップS906の一部の処理として、IF制御部200が主体となって実行する。例えば、本処理フローは、ユーザによって動作モードが変更された場合に実行される。
本フローが開始すると、ステップS1102において、通信に使用するIFを、動作設定に基づいて決定する。具体的には、図6に関連して説明したように、解像度、圧縮率およびフレームレートの組み合わせに基づいて、通信に使用するIFを決定する。
続いて、通信接続が確立しているか否かを判断する。通信接続が確立している場合、ステップS1106において、ステップS1102で決定したIFが、通信接続が確立済みのIFと異なるか否かを判断する。ステップS1102で決定したIFが、通信接続が確立済みのIFと異なる場合、通信に使用するIFを切り替えて(ステップS1108)、処理を終了する。本切り替え処理については、図13に関連して説明する。
ステップS1106の判断において、ステップS1102で決定したIFが、通信接続が確立済みのIFと同じであると判断された場合、通信に用いるIFを切り替えずに、本処理フローを終了する。また、ステップS1104の判断において、通信接続が確立していないと判断された場合も、本処理フローを終了する。
図12は、画像データを転送する処理フローの一例を示す。本処理フローは、例えば図9のステップS922の一部の処理として、IF制御部200が主体となって実行する。例えば、本処理フローは、ユーザにより選択された画像データをUSBホストに転送する指示を受け付けた場合に、開始される。
ステップS1202において、USBホストに転送すべきデータ量を特定する。例えば、ユーザによって選択された画像データの合計のデータ量を特定する。
IF制御部200は、転送すべきデータ量に基づいて、通信に使用するIFを選択する。例えば、IF制御部200は、転送すべきデータ量が予め定められたデータ量以上である場合に、USB3IF320を選択する。一方、IF制御部200は、転送データ量が予め定められたデータ量より小さい場合に、USB2IF210を選択する。
続いて、ステップS1206において、ステップS1204で選択したIFが、通信接続が確立済みのIFと異なるか否かを判断する。ステップS1204で選択したIFが、通信接続が確立済みのIFと異なる場合、通信に使用するIFを切り替えて(ステップS1208)、データ転送を開始させ(ステップS1210)、本処理フローを終了する。ステップS1204で選択したIFが、通信接続が確立済みのIFと同じである場合は、通信に使用するIFを切り替えずに、ステップS1210に処理を移行してデータ転送を開始させる。
図13は、通信に使用するIFを切り替える処理フローの一例を示す。本処理フローは、図11のステップS1108、図12のステップS1208の詳細な処理として適用できる。本処理フローは、IF制御部200が主体となって実行する。
本フローが開始すると、ステップS1302において、USBホストにデータを転送中であるか否かを判断する。データを転送中である場合、ステップS1304においてデータの転送を中断して、ステップS1306に処理を進める。データを転送中でない場合は、ステップS1306に処理を進める。
ステップS1306において、現在において通信接続が確立しているIFを判断する。現在においてUSB2IF210を介して通信接続が確立している場合、切り替え用コマンドの発行とUSB3IF320の信号ラインのターミネートとを行う。切り替え用コマンドとしてSetPortFeatureを用いて上位ポートに切り替えを通知して、USBホストに切り替え処理を要求する。
続いて、USB3IF320を介して通信接続を確立させ(ステップS1310)、USB2IF210を省電力状態にさせ(ステップS1312)、切り替えられたIFを識別する情報を表示部138に表示させる(ステップS1314)。続いて、ステップS1316において、データを転送中であったか否かを判断する。データを転送であった場合はデータの転送を再開させ(ステップS1318)、本処理フローを終了する。データを転送中でなかった場合は、本処理フローを終了する。このように、IF制御部200は、連続するデータの転送に用いるIFを動的に切り替えることができる。
ステップS1306の判断で、現在においてUSB3IF320を介して通信接続が確立している場合、切り替え用コマンドの発行とUSB3IF320の信号ラインのターミネートの解除とを行う。切り替え用コマンドとしてSetPortFeatureを用いて上位ポートに切り替えを通知して、USBホストに切り替え処理を要求する。
続いて、USB2IF210を介して通信接続を確立させる(ステップS1324)。具体的には、USB2IF210を初期化して、USB2IF210の信号ラインをプルアップさせて、USB2IF210を介して通信接続されていることをホストに通知する。
USB2IF210を介して通信接続が完了すると、ブリッジLSI144への電力供給を遮断すべきか否かを判断する(ステップS1326)。例えば、図5等に関連して説明したように、内部切り替えイベントに応じてIFを切り替える場合に、ブリッジLSI144への電力供給を遮断すべき旨を判断する。ブリッジLSI144への電力供給を遮断すべき場合、ブリッジLSI144への電力供給を遮断して(ステップS1328)、ステップS1314に処理を進める。ブリッジLSI144への電力供給を遮断すべきでない場合、ブリッジLSI144を省電力状態にして(ステップS1330)、ステップS1314に処理を進める。
このように、撮像装置100によれば、USB2.0およびUSB3.0において共通するPTPプロトコルを変更することなく、使用するIFを切り替えてデータを転送することができる。そして一方のIFに切り替えた場合に、他方のIFへの電力供給を制限する。例えば、他方のIFを省電力状態にさせることで、他方のIFが消費する電力を低下させる。このため、消費電力を低減しつつ、切り替えに要するオーバーヘッドが著しく増大することを未然に防ぐことができる。
以上の説明では、USB2IF210が省電力状態を有し、USB3IF320が複数の省電力状態と電力供給が遮断された状態とを有するとした。しかし、USB2IF210も、省電力状態の他に、電力供給が遮断された状態を有してもよい。また、ブリッジLSI144は、ブリッジLSI144が有する複数の回路部への電力供給状態の組み合わせにより、複数の省電力状態を有するとした。しかし、ブリッジLSI144だけでなく、USB2IF210も同様に、複数の回路部への電力供給状態の組み合わせにより複数の省電力状態を有してもよい。
以上の説明では、接続部145が一のUSBレセプタクルであるとした。USBレセプタクルは、外部機器との通信用の端子を含むプラグを受容するレセプタクルの一例である。プラグは、フレキシブルな通信ケーブルの一端に設けられてよく、外部機器と一体に設けられてもよい。なお、接続部145は、レセプタクルに限られない。例えば、接続部145はジャックであってよい。また、接続部145は、一のレセプタクルに受容されるプラグであってよい。すなわち、接続部145は、レセプタクル、ジャック、プラグ等の、一のコネクタであってよい。
以上の説明では、撮像装置100がUSBデバイスとして機能するとした。しかし、撮像装置100はUSBホストとして機能してもよい。また、撮像装置100では、ASIC135がUSB2IF210を内蔵し、ASIC135とは独立したブリッジLSI144に、より新しいバージョンのUSB規格に準拠したUSB3IF320を含むとした。しかし、ASIC135がUSB2IF210およびUSB3IF320を内蔵してもよい。以上の説明においては、撮像装置100はカメラMPU133およびASIC135を有するとしたが、ASIC135が上述したカメラMPU133の機能を有するとしてもよい。
また、通信規格としてUSB規格を取り上げて撮像装置100の機能および動作を説明した。特に、USB3.0およびUSB2.0のバージョンを取り上げて、撮像装置100の機能および動作を説明した。しかし、USB規格の他のバージョンを適用することができる。すなわち、撮像装置100は、USB規格の第1バージョンに準拠したIF回路と、USB規格の第1バージョンが定める最大通信速度より高速な通信速度を定めるUSB規格の第2バージョンに準拠したIF回路を有してよい。また、撮像装置100に適用できる通信規格としては、USB規格の他に、PCI−Express、IEEE1394、Thunderbolt等の規格を例示することができる。また、データ転送の対象とするデータは画像データに限らず、音声データ等の種々のデジタルデータを対象とすることができる。
上記の説明において、カメラMPU133の動作として説明した処理は、カメラMPU133がプログラムに従って撮像装置100が有する各ハードウェアを制御することにより実現される。また、上記の説明においてASIC135により実現される処理は、プロセッサによって実現することができる。例えば、ASIC135の動作として説明した処理は、プロセッサがプログラムに従って撮像装置100が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態の撮像装置100に関連して説明した処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。
本実施形態において、一眼レフレックスカメラとしての撮像装置100の機能および動作を説明した。撮像装置としては、一眼レフレックスカメラの他に、レンズ非交換式カメラの一例であるコンパクトデジタルカメラ、ミラーレス一眼カメラ、ビデオカメラ、放送用の撮像機器、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、撮像機能付きのゲーム機器等の娯楽装置等、撮像機能を有する種々の機器を適用の対象とすることができる。また、撮像装置に限らず、パーソナルコンピュータ等のコンピュータ、テレビジョン装置、ビデオ装置等の録画装置、デジタルフォトフレーム、プロジェクタ装置、ハードディスク装置、プリンタ、メモリカード、音声レコーダ等の電子機器を適用の対象とすることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。