(57)【要約】【課題】大量のデータをＵＳＢ通信で受信している場合に、撮像に関する指示等をＵＳＢ通信で即座に送信すること。【解決手段】電子機器は、ＵＳＢの通信プロトコルに従って、撮像装置の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて撮像装置と通信する通信部と、通信部に、複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置に撮像を指示する撮像指示および撮像装置の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を撮像装置へ送信させる通信制御部とを備える。【選択図】図６
2014017560.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢの通信プロトコルに従って、撮像装置の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて前記撮像装置と通信する通信部と、
前記通信部に、前記複数のバッファ領域のうちの第１バッファ領域を通じて、前記撮像装置から画像データを取得するための通信を行わせ、前記複数のバッファ領域のうちの第２バッファ領域を通じて、前記撮像装置に撮像を指示する撮像指示および前記撮像装置の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を前記撮像装置へ送信させる通信制御部と
を備える電子機器。
【請求項２】
前記通信制御部は、前記撮像装置から画像データを取得するための通信を、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）またはＭＴＰ（Ｍｅｄｉａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のプロトコルに従って前記通信部に行わせ、
前記第１バッファ領域は、前記プロトコルに従って通信するための複数のバッファ領域を含み、
前記第２バッファ領域は、前記第１バッファ領域に含まれる前記複数のバッファ領域のいずれとも異なるバッファ領域である
請求項１に記載の電子機器。
【請求項３】
前記通信制御部は、前記撮像装置に撮像を実行させるオペレーションを前記通信部に送信させた後において、前記オペレーションに対応するＣａｐｔｕｒｅＣｏｍｐｌｅｔｅイベントを受信する前に、前記通信部に前記第２バッファ領域を通じて前記撮像指示を前記撮像装置へ送信させる
請求項２に記載の電子機器。
【請求項４】
前記撮像装置に撮像を実行させる指示をユーザから取得する指示取得部をさらに備え、
前記通信制御部は、前記撮像装置に撮像を実行させるオペレーションを前記通信部に送信させた後において、前記オペレーションに対応するＣａｐｔｕｒｅＣｏｍｐｌｅｔｅイベントを受信する前に前記撮像装置に撮像を実行させる指示を前記指示取得部がユーザか ら取得した場合に、前記通信部に前記第２バッファ領域を通じて前記撮像指示を前記撮像装置へ送信させる
請求項３に記載の電子機器。
【請求項５】
前記通信制御部は、前記通信部に、前記第１バッファを通じてコントロール転送以外の転送モードで前記撮像装置から画像データを取得する通信を行わせ、前記撮像指示および前記設定変更指示の少なくとも一方の指示を、前記第２バッファ領域を通じてコントロール転送の転送モードで前記撮像装置へ送信させる
請求項１から４のいずれか一項に記載の電子機器。
【請求項６】
前記通信制御部は、前記通信部に、前記撮像指示および前記設定変更指示の少なくとも一方の指示を、バルク転送、インタラプト転送およびアイソクロナス転送の少なくとも一つの転送モードで前記第２バッファ領域を通じて前記撮像装置へ送信させる
請求項１から４のいずれか一項に記載の電子機器。
【請求項７】
前記撮像指示は、前記撮像装置がユーザ操作を受け付ける指示入力部に対する操作状態を識別する情報を含み、
前記通信制御部は、前記通信部に、撮像すべき旨のユーザ操作として受け付けられる前記操作状態を示す第１状態を識別する情報を含む第１撮像指示と、前記第１状態とは異なる前記操作状態を示す第２状態を識別する情報を含む第２撮像指示とを、前記第２バッファ領域を通じて前記撮像装置へ送信させる
前記通信制御部は、前記通信部に、前記撮像すべき旨のユーザ操作を受け付ける第１操作状態を示す第１撮像指示と、前記第１操作状態の解除状態を示す第２撮像指示とを、前記第２バッファを通じて前記撮像装置へ送信させる
請求項１から６のいずれか一項に記載の電子機器。
【請求項８】
前記指示入力部は、第１位置まで押し込まれることにより、前記撮像すべき旨のユーザ操作を受け付けるボタン部材であり、
前記第１状態は、前記指示入力部が前記第１位置まで押し込まれた状態を示し、
前記第２状態は、前記指示入力部の押し込みが解除された状態を示す
請求項７に記載の電子機器。
【請求項９】
前記ボタン部材は、第１位置より浅い第２位置まで押し込まれることにより、フォーカスおよび露出の少なくとも一方を調節すべき旨のユーザ操作を受け付け、
前記通信制御部は、前記通信部に、前記ボタン部材が前記第２位置まで押し込まれた状態を識別する情報を含む調節指示を、前記第２バッファ領域を通じて前記撮像装置へ送信させる
請求項８に記載の電子機器。
【請求項１０】
前記設定変更指示は、前記撮像装置に、焦点設定、露出設定およびホワイトバランス設定の少なくとも一つの設定状態を変更する指示を含む
請求項１から９のいずれか一項に記載の電子機器。
【請求項１１】
撮像部と、
ＵＳＢの通信プロトコルに従って、複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて電子機器と通信する通信部と、
前記通信部に、前記電子機器へ画像データを提供する通信を、前記複数のバッファ領域のうちの第１バッファ領域を通じて行わせ、前記電子機器から撮像指示および撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を、前記複数のバッファ領域のうちの第２バッファ領域を通じて受信させる通信制御部と、
前記通信部が前記撮像指示を受信した場合に、前記撮像部に撮像動作を行わせる撮像制御部と
を備える撮像装置。
【請求項１２】
請求項１から１０のいずれか一項に記載の電子機器と、
前記撮像装置と
を備えるシステム。
【請求項１３】
ＵＳＢの通信プロトコルに従って、撮像装置の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて前記撮像装置と通信する通信ステップと、
前記複数のバッファ領域のうちの第１バッファ領域を通じて、前記撮像装置から画像データを取得するための通信を行わせ、前記複数のバッファ領域のうちの第２バッファ領域を通じて、前記撮像装置に撮像を指示する撮像指示および前記撮像装置の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を前記撮像装置へ送信させる通信制御ステップと
をコンピュータに実行させるためのプログラム。
【請求項１４】
ＵＳＢの通信プロトコルに従って、複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて電子機器と通信する通信ステップと、
前記電子機器へ画像データを提供する通信を、前記複数のバッファ領域のうちの第１バッファ領域を通じて行わせ、前記電子機器から撮像指示および撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を、前記複数のバッファ領域のうちの第２バッファ領域を通じて受信させる通信制御ステップと、
前記撮像指示を受信した場合に、撮像部に撮像動作を行わせる撮像制御ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、撮像装置、システムおよびプログラムに関する。
【背景技術】
【０００２】
ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）におけるレスポンダがベンダー拡張モードをサポートする装置である場合に、イニシエータとして動作する装置が、ベンダー拡張モードの開始をレスポンダに要求する通信システムが知られている（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２００４−１１２０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
画像データ等の大量のデータを撮像装置からＵＳＢ通信で受信している場合には、撮像に関する指示等を当該撮像装置へＵＳＢ通信で即座に送信することは容易ではない。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、電子機器は、ＵＳＢの通信プロトコルに従って、撮像装置の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて撮像装置と通信する通信部と、通信部に、複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置に撮像を指示する撮像指示および撮像装置の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を撮像装置へ送信させる通信制御部とを備える。
【０００５】
本発明の第２の態様においては、撮像装置は、ＵＳＢの通信プロトコルに従って、複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて電子機器と通信する通信部と、通信部に、電子機器へ画像データを提供する通信を、複数のバッファ領域のうちの第１バッファ領域を通じて行わせ、電子機器から撮像指示および撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を、複数のバッファ領域のうちの第２バッファ領域を通じて受信させる通信制御部と、通信部が撮像指示を受信した場合に、撮像部に撮像動作を行わせる撮像制御部とを備える。
【０００６】
本発明の第３の態様においては、プログラムは、ＵＳＢの通信プロトコルに従って、撮像装置の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて撮像装置と通信する通信ステップと、複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置に撮像を指示する撮像指示および撮像装置の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を撮像装置へ送信させる通信制御ステップとを、コンピュータに実行させる。
【０００７】
本発明の第４の態様においては、プログラムは、ＵＳＢの通信プロトコルに従って、複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて電子機器と通信する通信ステップと、電子機器へ画像データを提供する通信を、複数のバッファ領域のうちの第１バッファ領域を通じて行わせ、電子機器から撮像指示および撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を、複数のバッファ領域のうちの第２バッファ領域を通じて受信させる通信制御ステップと、撮像指示を受信した場合に、撮像部に撮像動作を行わせる撮像制御ステップとを、コンピュータに実行させる。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態におけるシステム５の一例を示す。
【図２】撮像装置１０のシステム構成の一例を示す。
【図３】ＰＣ１００のブロック構成の一例を模式的に示す。
【図４】ＰＣ１００がパイプ４０を通じて送信するＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのデータフォーマットの一例を示す。
【図５】ＰＣ１００がパイプ４０を通じて送信するＲｅｌｅａｓｅオペレーションのデータフォーマットの一例を示す。
【図６】表示装置１０８に表示される画面６００の一例を模式的に示す。
【図７】撮像装置１０とＰＣ１００との間の通信シーケンス一例を示す。
【図８】撮像装置１０とＰＣ１００との間の通信シーケンスの他の一例を示す。
【図９】ＰＣ１００の起動から終了までの処理フローを示す。
【図１０】撮像装置１０の起動から終了までの処理フローを示す。
【図１１】撮像装置１０が撮像動作を行う場合のフローの一例を示す。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、一実施形態におけるシステム５の一例を示す。システム５は、撮像装置１０とパーソナルコンピュータであるＰＣ１００とを備える。撮像装置１０は、一例としてカメラである。撮像装置１０とＰＣ１００とは、通信ケーブルの一例としてのＵＳＢケーブル２０で接続され、ＵＳＢケーブル２０を通じてＵＳＢ通信で通信する。ＰＣ１００は、ＰＣ１００に対するユーザ操作に基づいて、ＵＳＢケーブル２０を通じて撮像装置１０へ撮像指示を送信する。また、ＰＣ１００は、ＵＳＢケーブル２０を通じて、撮像装置１０から画像データを取得するための通信を行う。ＰＣ１００はＵＳＢホストとして撮像装置１０と通信し、撮像装置１０はＵＳＢデバイスとしてＰＣ１００と通信する。撮像装置１０とＰＣ１００との間の通信は、一例として、ＵＳＢ２．０のＨｉＳｐｅｅｄで行われる。撮像装置１０およびＰＣ１００は、ＵＳＢ上でＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に規定された通信を行う。ＰＣ１００は、ＰＴＰにおけるイニシエータとして撮像装置１０と通信し、撮像装置１０はＰＴＰにおけるレスポンダとしてＰＣ１００と通信する。
【００１２】
撮像装置１０は、デフォルトエンドポイントであるＥＰ０の他に、ＵＳＢ静止画像キャプチャデバイスクラスで定義されたエンドポイント構成を構築する。具体的には、撮像装置１０は、ＵＳＢ静止画像キャプチャデバイスクラス上でのＰＴＰ通信用に３個のエンドポイントＥＰ１、ＥＰ２およびＥＰ３を構築する。ＥＰ０は、コントロール転送であり、双方向のデータ転送を実現する。ＥＰ０は、標準リクエスト、クラス定義リクエスト、ベンダリクエストをデバイスへ送信するために使用される。ＥＰ１は、Ｄａｔａ−ＩＮエンドポイントであり、ＩＮ方向のバルク転送に使用される。ＥＰ２は、Ｄａｔａ−ＯＵＴエンドポイントであり、ＯＵＴ方向のバルク転送に使用される。ＥＰ３は、Ｄａｔａ−Ｉｎエンドポイントであり、インタラプト転送で使用される。したがって、撮像装置１０とＰＣ１００との間には、ＥＰ０に対応するパイプ４０を含む通信経路３０とは別に、ＥＰ１、ＥＰ２およびＥＰ３にそれぞれ対応するパイプ４１、パイプ４２およびパイプ４３を含むＰＴＰ通信用の通信経路５０が論理的に構築される。
【００１３】
撮像装置１０で画像データが生成されると、撮像装置１０は、パイプ４３を通じてＰＴＰのＯｂｊｅｃｔＡｄｄｅｄイベントをＰＣ１００へ送信する。ＰＣ１００は、ＯｂｊｅｃｔＡｄｄｅｄイベントを受信すると、パイプ４２を通じてＧｅｔＯｂｊｅｃｔオペレーションを撮像装置１０へ送信する。撮像装置１０は、ＧｅｔＯｂｊｅｃｔオペレーションを受信すると、パイプ４１を通じて画像データをＰＣ１００へ送信する。具体的には、撮像装置１０は、一つの画像データを形成する複数の部分データを、複数のデータパケットで送信する。より具体的には、撮像装置１０は、ＰＣ１００からＥＰ１を指定したＩＮトークンパケットを受信すると、ＥＰ１に対応するバッファに格納した部分データを含むデータパケットを、ＰＣ１００へ送信する。撮像装置１０は、部分データの全ての送信が完了するまで、ＩＮトークンパケットに応じて部分データを送信する処理を繰り返す。
【００１４】
ＰＣ１００は、パイプ４２を通じて画像データの転送期間内に、撮像装置１０に撮像させる旨の指示をユーザから受け付けると、撮像装置１０に対する撮像指示を、パイプ４０を通じて送信する。例えば、撮像装置１０は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのデータパケットを、ＥＰ１を指定して送信する。撮像装置１０は、パイプ４０を通じてＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを受信すると、撮像動作を行う。撮像装置１０は、当該ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションに対応する画像データが生成された後、既に転送が開始されていた画像データの転送が完了すると、ＰＴＰに従ってパイプ４３を通じてＯｂｊｅｃｔＡｄｄｅｄイベントをＰＣ１００へ送信する。なお、画像データの転送期間とは、撮像装置１０からＰＣ１００へ一つの画像データの転送を開始してから、当該画像データを形成する部分データの全ての送信が完了するまでの期間であってよい。
【００１５】
システム５によれば、ＰＴＰに従う画像データの転送期間内においても、ＰＣ１００は撮像装置１０へ撮像指示を送信して、撮像装置１０に撮像動作を行わせることができる。このため、ＰＣ１００は、撮像装置１０との間でＰＴＰに従った通信を行いつつ、シャッタチャンスを逃すことなく撮像装置１０に被写体を撮像させることができる。
【００１６】
図２は、撮像装置１０のシステム構成の一例を示す。撮像装置１０は、一例としてレンズ交換式カメラある。本図ではレンズユニット１２０が装着された状態の撮像装置１０のブロック構成を示す。
【００１７】
レンズユニット１２０は、レンズマウント接点１２１を有するレンズマウントを備える。カメラ本体１３０は、カメラマウント接点１３１を有するカメラマウントを備える。レンズマウントとカメラマウントとが係合してレンズユニット１２０とカメラ本体１３０とが一体化されると、レンズマウント接点１２１とカメラマウント接点１３１とが接続される。レンズＭＰＵ１２３は、レンズマウント接点１２１およびカメラマウント接点１３１を介してカメラＭＰＵ１４０と接続され、相互に通信しつつ協働してレンズユニット１２０を制御する。
【００１８】
レンズユニット１２０は、レンズ群１２２、レンズ駆動部１２４およびレンズＭＰＵ１２３を有する。被写体光は、レンズユニット１２０が有する光学系としてのレンズ群１２２を光軸に沿って透過して、カメラ本体１３０に入射する。メインミラー１４５は、レンズ群１２２の光軸を中心とする被写体光束中に斜設される斜設状態と、被写体光束から退避する退避状態を取り得る。
【００１９】
メインミラー１４５が斜設状態にある場合、メインミラー１４５は、レンズ群１２２を通過した被写体光束の一部を反射する。具体的には、斜設状態におけるメインミラー１４５の光軸近傍領域は、ハーフミラーとして形成されている。光軸近傍領域に入射した被写体光束の一部は透過し、他の一部は反射する。メインミラー１４５により反射された被写体光束はファインダ部１４７に導かれて、ユーザに観察される。ユーザは、ファインダ部１４７を通じて構図等を確認することができる。ファインダ部１４７は、被写体光束に基づく被写体像とともに、撮像動作の設定状態を示す情報等を含む種々の情報をユーザに提示する表示デバイスを含んでよい。
【００２０】
メインミラー１４５の光軸近傍領域を透過した被写体光束の一部は、サブミラー１４６で反射されて、ＡＦユニット１４２へ導かれる。ＡＦユニット１４２は、被写体光束を受光する複数の光電変換素子列を有する。光電変換素子列は、合焦状態にある場合には位相が一致した信号を出力し、前ピン状態または後ピン状態にある場合には、位相ずれした信号を出力する。位相のずれ量は、焦点状態からのずれ量に対応する。ＡＦユニット１４２は、光電変換素子列の出力を相関演算することで位相差を検出して、位相差を示す位相差信号をカメラＭＰＵ１４０へ出力する。
【００２１】
レンズ群１２２の焦点状態は、カメラＭＰＵ１４０等の制御により、ＡＦユニット１４２からの位相差信号を用いて調節される。例えば、位相差信号から検出された焦点状態に基づき、カメラＭＰＵ１４０によってレンズ群１２２が含むフォーカスレンズの目標位置が決定され、決定された目標位置に向けてレンズＭＰＵ１２３の制御によってフォーカスレンズの位置が制御される。具体的には、レンズＭＰＵ１２３は、一例としてフォーカスレンズモータを含むレンズ駆動部１２４を制御して、レンズ群１２２を構成するフォーカスレンズを移動させる。このように、メインミラー１４５がダウンして斜設状態にある場合に、位相差検出方式でレンズ群１２２の焦点状態が検出されて焦点調節が行われる。ＡＦユニット１４２は、被写体像における複数の領域のそれぞれにおいて焦点状態を調節すべく、複数の領域にそれぞれ対応する複数の位置にそれぞれ光電変換素子列が設けられる。
【００２２】
測光素子１４４は、光学ファインダ部に導かれた光束の一部の光束を受光する。測光素子１４４が有する光電変換素子で検出された被写体の輝度情報は、カメラＭＰＵ１４０に出力される。カメラＭＰＵ１４０は、測光素子１４４から取得した輝度情報に基づき、ＡＥ評価値を算出して露出制御に用いる。
【００２３】
メインミラー１４５が被写体光束から退避すると、サブミラー１４６はメインミラー１４５に連動して被写体光束から退避する。撮像素子１３２のレンズ群１２２側には、メカニカルシャッタの一例としてのフォーカルプレーンシャッタ１４３が設けられる。メインミラー１４５が退避状態にあり、フォーカルプレーンシャッタ１４３が開状態にある場合、レンズ群１２２を透過した被写体光束は、撮像素子１３２の受光面に入射する。
【００２４】
撮像素子１３２は、撮像部として機能する。撮像素子１３２は、レンズ群１２２を通過した被写体光束により被写体を撮像する。撮像素子１３２としては、例えばＣＣＤセンサ、ＣＭＯＳセンサ等の固体撮像素子を含む。撮像素子１３２は、被写体光束を受光する複数の光電変換素子を有しており、複数の光電変換素子でそれぞれ生じた蓄積電荷量に応じたアナログ信号をアナログ処理部１３３へ出力する。アナログ処理部１３３は、撮像素子１３２から出力されたアナログ信号に対して、感度補正処理、ＯＢクランプ処理等のアナログ処理を施して、Ａ／Ｄ変換器１３４へ出力する。Ａ／Ｄ変換器１３４は、アナログ処理部１３３から出力されたアナログ信号を、画像データを表すデジタル信号に変換して出力する。撮像素子１３２、アナログ処理部１３３およびＡ／Ｄ変換器１３４は、カメラＭＰＵ１４０からの指示を受けた駆動部１４８により駆動される。
【００２５】
Ａ／Ｄ変換器１３４からデジタル信号で出力した画像データは、ＡＳＩＣ１３５に入力される。ＡＳＩＣ１３５は、画像処理機能に関連する回路等を一つにまとめた集積回路である。ＡＳＩＣ１３５は、揮発性メモリの一例としてのＲＡＭ１３６の少なくとも一部のメモリ領域を、画像データを一時的に記憶するバッファ領域として使用して、ＲＡＭ１３６に記憶させた画像データに対して種々の画像処理を施す。ＡＳＩＣ１３５による画像処理としては、欠陥画素補正、ホワイトバランス補正、色補間処理、色補正、ガンマ補正、輪郭強調処理、画像データの圧縮処理等を例示することができる。撮像素子１３２が連続して撮像した場合、順次に出力される画像データはバッファ領域に順次に記憶される。撮像素子１３２が連続して撮像することにより得られた複数の画像データは、連続する静止画の画像データ、または、動画を構成する各画像の画像データとして、バッファ領域に順次に記憶される。ＲＡＭ１３６は、ＡＳＩＣ１３５において動画データを処理する場合にフレームを一時的に記憶するフレームメモリとしても機能する。
【００２６】
ＡＳＩＣ１３５における画像処理としては、記録用の画像データを生成する処理の他、表示用の画像データを生成する処理、自動焦点調節（ＡＦ）用の画像データ処理を例示できる。また、ＡＳＩＣ１３５における画像処理としては、ＡＦ処理用のコントラスト量を検出する処理等を含む。具体的には、ＡＳＩＣ１３５は、画像データからコントラスト量を検出してカメラＭＰＵ１４０に供給する。例えば、ＡＳＩＣ１３５は、光軸方向の異なる位置にフォーカスレンズを位置させて撮像することにより得られた複数の画像データのそれぞれからコントラスト量を検出する。カメラＭＰＵ１４０は、検出されたコントラスト量とフォーカスレンズの位置とに基づいて、レンズ群１２２の焦点状態を調節する。例えば、カメラＭＰＵ１４０は、コントラスト量を増大させるようフォーカスレンズの目標位置を決定して、レンズＭＰＵ１２３に、決定された目標位置に向けてフォーカスレンズの位置を制御させる。このように、メインミラー１４５がアップして退避状態にある場合に、コントラスト検出方式でレンズ群１２２の焦点状態が検出されて焦点調節が行われる。このように、カメラＭＰＵ１４０は、ＡＳＩＣ１３５およびレンズＭＰＵ１２３と協働して、レンズ群１２２の焦点調節を行う。
【００２７】
ＡＳＩＣ１３５は、Ａ／Ｄ変換器１３４から出力された画像データを記録する場合、規格化された画像フォーマットの画像データに変換する。例えば、ＡＳＩＣ１３５は、静止画の画像データを、ＪＰＥＧ等の規格に準拠した符号化形式で符号化された静止画データを生成するための圧縮処理を行う。また、ＡＳＩＣ１３５は、複数のフレームを、ＱｕｉｃｋＴｉｍｅ、Ｈ．２６４、ＭＰＥＧ２、Ｍｏｔｉｏｎ  ＪＰＥＧ等の規格に準拠した符号化方式で符号化された動画データを生成するための圧縮処理を行う。ＡＳＩＣ１３５は、生成した静止画データ、動画データ等の画像データを、不揮発性の記録媒体の一例としての外部メモリ１８０へ出力して記録させる。例えば、ＡＳＩＣ１３５は、静止画ファイル、動画ファイルとして外部メモリ１８０に記録させる。外部メモリ１８０としては、フラッシュメモリ等の半導体メモリを例示することができる。具体的には、外部メモリ１８０としては、ＳＤメモリカード、ＣＦストレージカード、ＸＱＤメモリカード等の種々のメモリカードを例示することができる。ＲＡＭ１３６に記憶されている画像データは、記録媒体ＩＦ１５０およびコネクタ１５１を通じて外部メモリ１８０へ転送される。また、外部メモリ１８０に記録されている画像データは、記録媒体ＩＦ１５０を通じてＲＡＭ１３６へ転送されＲＡＭ１３６に記憶される。記録媒体ＩＦ１５０としては、上述したメモリカードに対するアクセスを制御するカードコントローラを例示することができる。
【００２８】
ＡＳＩＣ１３５は、記録用の画像データの生成に並行して、表示用の画像データを生成する。例えば、ＡＳＩＣ１３５は、いわゆるライブビュー動作時に、表示部１３８に表示させる表示用の画像データを生成する。また、画像の再生時においては、ＡＳＩＣ１３５は、外部メモリ１８０から読み出された画像データから表示用の画像データを生成する。生成された表示用の画像データは、表示制御部１３７の制御に従ってアナログの信号に変換され、液晶ディスプレイ等の表示部１３８に表示される。また、撮像により得られた画像データに基づく画像表示と共に、当該画像データに基づく画像表示をすることなく、撮像装置１０の各種設定に関する様々なメニュー項目も、ＡＳＩＣ１３５および表示制御部１３７の制御により表示部１３８に表示される。
【００２９】
外部通信ＩＦの一例としてのデバイスコントローラ部１５２は、外部機器との通信を担う。デバイスコントローラ部１５２は、外部機器に対してデバイスとして通信を行う。具体的には、デバイスコントローラ部１５２は、ＵＳＢデバイスコントローラを含み、ＵＳＢコネクタである通信コネクタ１５６を通じて、外部機器とのＵＳＢ通信を行う。デバイスコントローラ部１５２は、転送コントローラ部１５３、バッファ部１５４およびトランシーバ部１５５を含む。トランシーバ部１５５は、転送コントローラ部１５３の制御に従って、通信コネクタ１５６の通信端子を介してデータを電気信号で送受信する。具体的には、トランシーバ部１５５は、ＰＣ１００からＵＳＢケーブル２０および通信コネクタ１５６を介して電気信号で受信したデータをバッファ部１５４に記憶する。また、トランシーバ部１５５は、バッファ部１５４に記憶されているデータを、通信コネクタ１５６の通信端子に出力する。通信端子に出力された電気信号は、ＵＳＢケーブル２０を介して電気信号でＰＣ１００へ出力される。例えば、デバイスコントローラ部１５２は、外部メモリ１８０から読み出されＲＡＭ１３６に一時的に記憶された画像データを、電気信号でＰＣ１００へ出力する。
【００３０】
バッファ部１５４は、エンドポイントに対応する複数のバッファを含む。転送コントローラ部１５３は、ＵＳＢホストから指定されたエンドポイントに対応するバッファを通じて、ＵＳＢホストと通信する。具体的には、デバイスコントローラ部１５２は、ＵＳＢの通信プロトコルに従って、複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて撮像装置１０と通信する通信部として機能する。ＰＣ１００との間の通信は、物理的にはトランシーバ部１５５が担う。そして、デバイスコントローラ部１５２は、撮像装置１０へ画像データを提供する通信を、複数のバッファ領域のうちの第１バッファ領域を通じて行わせ、電子機器から撮像指示および撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を、複数のバッファ領域のうちの第２バッファ領域を通じて受信させる通信制御部として機能する。第１バッファ領域は、デバイスコントローラ部１５２がＰＣ１００へ画像データを転送するための通信をＰＴＰに従って行うための複数のバッファ領域である。そして、第２バッファ領域は、第１バッファ領域に含まれる複数のバッファ領域のいずれとも異なるバッファ領域である。具体的には、第１バッファ領域は、ＥＰ１およびＥＰ２に対応するバッファ領域であり、第２バッファ領域は、ＥＰ０に対応するバッファ領域である。
【００３１】
位置検出装置の一例としてのＧＰＳユニット１５８は、ＧＰＳ衛星からの信号を受信して、ＧＰＳユニット１５８の位置情報を示す信号を、ＡＳＩＣ１３５へ出力する。位置情報としては、緯度、経度および高度情報を例示することができる。ＡＳＩＣ１３５は、画像データおよび位置情報を含む画像ファイルを外部メモリ１８０に記録させる。
【００３２】
撮像装置１０は、上記に説明した制御を含めて、カメラＭＰＵ１４０およびＡＳＩＣ１３５により直接的または間接的に制御される。撮像装置１０の動作に必要な定数、変数等のパラメータ、プログラム等は、システムメモリ１３９に格納される。システムメモリ１３９は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュＲＯＭ、ＥＥＰＲＯＭ等により構成される。システムメモリ１３９は、パラメータ、プログラム等を、撮像装置１０の非動作時にも失われないように格納する。システムメモリ１３９に記憶されたパラメータ、プログラム等は、ＲＡＭ１３６に展開され、撮像装置１０の制御に利用される。カメラ本体１３０内の、ＡＳＩＣ１３５、ＲＡＭ１３６、システムメモリ１３９、表示制御部１３７、カメラＭＰＵ１４０、デバイスコントローラ部１５２およびＧＰＳユニット１５８は、バス等の接続インタフェース１４９により相互に接続され、各種のデータをやりとりする。
【００３３】
操作入力部１４１は、ユーザから操作を受け付ける。操作入力部１４１は、レリーズボタン１２を含む。その他、操作入力部１４１は、再生ボタン、ライブビュースイッチ、動画ボタン、電源スイッチ等の各種操作部材等を含む。また、操作入力部１４１は、タッチパネル等として表示部１３８と一体に実装された入力部材を含んでよい。カメラＭＰＵ１４０は、操作入力部１４１が操作されたことを検知して、操作に応じた動作を実行する。例えば、カメラＭＰＵ１４０は、レリーズボタン１２が押し込まれた場合に、撮像動作を実行するように撮像装置１０の各部を制御する。また、カメラＭＰＵ１４０は、タッチパネルとして実装された入力部材が操作された場合に、表示部１３８に表示されたメニュー項目および操作内容に応じた動作をするよう、撮像装置１０の各部を制御する。
【００３４】
カメラ本体１３０の各部、レンズユニット１２０の各部および外部メモリ１８０は、電源回路１９２を介して電源１９０から電力供給を受ける。電源１９０としては、カメラ本体１３０に対して着脱できる例えばリチウムイオン電池等の二次電池、系統電源等を例示することができる。また、撮像装置１０がＰＣ１００等のＵＳＢホストと通信コネクタ１５６およびＵＳＢケーブル２０を介して接続されている場合、電源回路１９２は、通信コネクタ１５６のＶＢＵＳラインを通じて供給される電力を、カメラ本体１３０の各部、レンズユニット１２０の各部および外部メモリ１８０に供給する。二次電池は電池の一例であり、電池とは、実質的に充電することができない非充電式の電池を含む。カメラＭＰＵ１４０は、電源回路１９２を制御することにより、電源１９０から撮像装置１０の各部への電力供給を制御する。
【００３５】
図３は、ＰＣ１００のブロック構成の一例を模式的に示す。ＰＣ１００は、ＣＰＵ１１０、操作入力部１１１、ホストコントローラ部１１２、表示装置１０８、ＲＡＭ１０６、ＲＯＭ１０９、記録媒体１１７、電源回路１１８、通信コネクタ１１６を備える。ＣＰＵ１１０、操作入力部１１１、ＲＡＭ１０６、ＲＯＭ１０９、表示装置１０８、ホストコントローラ部１１２は、バス等の接続インタフェース１１９により相互に接続され、各種のデータをやりとりする。
【００３６】
ＰＣ１００の各部は、ＣＰＵ１１０により直接的または間接的に制御される。ＰＣ１００動作に必要な定数、変数等のパラメータ、プログラム等は、ＲＯＭ１０９または記録媒体１１７に格納される。ＲＯＭ１０９は、電気的に消去・記憶可能な不揮発性メモリであり、例えばフラッシュＲＯＭ、ＥＥＰＲＯＭ等により構成される。ＲＯＭ１０９は、ハードウェアパラメータ、起動プログラム等を、ＰＣ１００の非動作時にも失われないように格納する。ＲＯＭ１０９に格納されたハードウェアパラメータ、起動プログラム等は、ＲＡＭ１０６に展開され、撮像装置１０の動作に利用される。記録媒体１１７は、不揮発性の記録媒体であり、ハードディスク装置、フラッシュメモリ等を例示することができる。記録媒体１１７には、ＰＣ１００用のオペレーティングシステム（ＯＳ）、ＯＳの上で動作する各種アプリケーションプログラム、ソフトウェアライブラリ等が格納される。
【００３７】
ＣＰＵ１１０は、ＯＳ、各種アプリケーションを実行することで、ＯＳ、各種アプリケーションで定められた画面を表示装置１０８に表示させる。例えば、ＣＰＵ１１０は、ユーザ指示を受け付けるメニュー、ボタン等のアイコン等を、表示装置１０８に表示させる。
【００３８】
操作入力部１１１は、ユーザから操作を受け付ける。操作入力部１１１は、マウス、キーボード等を含む。ＣＰＵ１１０は、操作入力部１１１が操作されたことを検知して、操作入力部１１１に対する操作に応じた動作を実行する。例えば、ＣＰＵ１１０は、マウスに対してクリック操作がなされた場合に、現在のカーソルの位置に応じて定められた動作が行われるよう、ＰＣ１００の各部を制御する。操作入力部１１１は、撮像装置１０に撮像を実行させる指示をユーザから取得する指示取得部として機能する。
【００３９】
外部通信ＩＦの一例としてのホストコントローラ部１１２は、外部機器との通信を担う。ホストコントローラ部１１２は、外部機器に対してホストとして通信する。具体的には、ホストコントローラ部１１２は、ＵＳＢホストコントローラを含み、ＵＳＢコネクタである通信コネクタ１１６を通じて外部機器とのＵＳＢ通信を行う。ホストコントローラ部１１２は、転送コントローラ部１１３、バッファ部１１４およびトランシーバ部１１５を含む。トランシーバ部１１５は、転送コントローラ部１１３の制御に従って、通信コネクタ１１６の通信端子を介してデータを電気信号で送受信する。具体的には、トランシーバ部１１５は、撮像装置１０からＵＳＢケーブル２０および通信コネクタ１１６を介して電気信号で受信したデータを、バッファ部１１４に記憶する。また、トランシーバ部１１５は、バッファ部１１４に記憶されているデータを、通信コネクタ１１６の通信端子に出力する。通信端子に出力された電気信号は、ＵＳＢケーブル２０を介して電気信号で撮像装置１０へ出力される。
【００４０】
バッファ部１１４は、ＵＳＢデバイスに構築された複数のエンドポイントに対応する複数のバッファを含む。転送コントローラ部１１３は、ＵＳＢデバイスに対して指定したエンドポイントに対応するバッファを通じて、ＵＳＢデバイスと通信する。ホストコントローラ部１１２は、ＵＳＢの通信プロトコルに従って、撮像装置１０の複数のエンドポイントにそれぞれ対応する複数のバッファ領域を通じて撮像装置１０と通信する通信部として機能する。撮像装置１０との通信は、物理的にはトランシーバ部１１５が担う。また、ホストコントローラ部１１２は、複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置１０から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置１０に撮像を指示する撮像指示を撮像装置１０へ送信させる通信制御部として機能する。第１バッファ領域は、ホストコントローラ部１１２が撮像装置１０から画像データを取得するための通信をＰＴＰに従って行うための複数のバッファ領域である。そして、第２バッファ領域は、第１バッファ領域に含まれる複数のバッファ領域のいずれとも異なるバッファ領域である。具体的には、第１バッファ領域は、ＥＰ１およびＥＰ２に対応するバッファ領域であり、第２バッファ領域は、ＥＰ０に対応するバッファ領域である。
【００４１】
ＰＣ１００の各部は、電源回路１１８を介して外部電源または内部電源から電力供給を受ける。内部電源としては、ＰＣ１００に対して着脱できる例えばリチウムイオン電池等の二次電池等を例示することができる。外部電源としては、系統電源を例示することができる。また、ＰＣ１００が撮像装置１０等のＵＳＢデバイスと通信コネクタ１１６およびＵＳＢケーブル２０を介して接続されている場合、電源回路１１８は、通信コネクタ１１６のＶＢＵＳ端子を通じて、撮像装置１０へ電力を供給する。ＣＰＵ１１０は、電源回路１１８を制御することにより、電源から各部への電力供給を制御する。
【００４２】
ＰＴＰに従って撮像装置１０からＰＣ１００へ画像データを転送するための通信は、パイプ４１およびパイプ４２を通じて行われる。具体的には、ＰＣ１００においては、ホストコントローラ部１１２が、ＥＰ２を指定したＯＵＴトランザクションにより、ＧｅｔＯｂｊｅｃｔオペレーションのＵＳＢパケットを撮像装置１０へ送信する。そして、ホストコントローラ部１１２は、ＥＰ１を指定したＩＮトランザクションにより、撮像装置１０から画像データを受信する。撮像装置１０においては、ＧｅｔＯｂｊｅｃｔオペレーションのＵＳＢパケットを受信した場合、ＥＰ１を指定したＩＮトランザクションに応じて、ＥＰ１に対応するバッファ領域に画像データを形成する部分データを順次に記憶させ、ＰＣ１００へＵＳＢパケットで順次に送信する。以下の説明において、パイプを通じて行われる通信とは、パイプに対応するエンドポイントを指定して行われる通信である。すなわち、パイプを通じて行われる通信とは、当該パイプに対応するＥＰに対応するバッファ領域を介して行われる通信である。例えば、パイプ４１を通じて行われる通信とは、ＥＰ１を指定して行われる通信である。すなわち、パイプ４１を通じて行われる通信とは、ＥＰ１に対応するバッファ領域を介して行われる通信である。なお、バッファ領域は、単一のバッファの中のメモリ領域として複数設けられてよく、物理的に別のバッファとして設けられてもよい。
【００４３】
図４は、ＰＣ１００がパイプ４０を通じて送信するＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのデータフォーマットの一例を示す。本ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションは、１つのＵＳＢリクエストで送信される。本ＵＳＢリクエストのｂｍＲｅｑｕｅｓｔＴｙｐｅの値は、ＵＳＢホストからＵＳＢデバイスへのクラス定義リクエストであることを示す。ｂＲｅｑｕｅｓｔの値０ｘ７０は、本クラス定義リクエストにおいて、撮像指示に関するベンダリクエストであることを示す。ｗＶａｌｕｅの値０ｘ００００は、撮像指示に関するベンダリクエストのうち、静止画の撮像指示であることを示す。ｗＬｅｎｇｔｈの値０ｘ００００は、本ＵＳＢリクエストに続いてＰＣ１００から送信するデータがないことを示す。
【００４４】
図５は、ＰＣ１００がパイプ４０を通じて送信するＲｅｌｅａｓｅオペレーションのデータフォーマットの一例を示す。ＰＣ１００は、本Ｒｅｌｅａｓｅオペレーションは、１つのＵＳＢリクエストで送信される。本ＵＳＢリクエストのｂｍＲｅｑｕｅｓｔＴｙｐｅの値は、ＵＳＢホストからＵＳＢデバイスへのクラス定義リクエストであることを示す。ｂＲｅｑｕｅｓｔの値０ｘ７０は、本クラス定義リクエストにおいて、撮像指示に関するベンダリクエストであることを示す。ｗＬｅｎｇｔｈの値０ｘ００００は、本ＵＳＢリクエストに続いてＰＣ１００から送信するデータがないことを示す。
【００４５】
非０ｘ００００のｗＶａｌｕｅの値は、本ベンダリクエストがＲｅｌｅａｓｅオペレーションであることを示す。Ｒｅｌｅａｓｅオペレーションは、撮像装置１０へレリーズボタンの押し込み状態を通知する。具体的には、ＣＰＵ１１０は、半押し状態を通知する場合に、ｗＶａｌｕｅの値に０ｘ０００１を設定する。ＣＰＵ１１０は、全押し状態を通知する場合に、ｗＶａｌｕｅの値に０ｘ０００２を設定する。ＣＰＵ１１０は、レリーズボタンがＯＦＦ状態を通知する場合に、ｗＶａｌｕｅの値に０ｘ０００３を設定する。
【００４６】
本図で例示したＲｅｌｅａｓｅオペレーションは、撮像装置１０がユーザ操作を受け付けるレリーズボタン１２に対する操作状態を識別する情報を含む撮像指示の一例である。ホストコントローラ部１１２は、撮像すべき旨のユーザ操作として受け付けられる操作状態を示す第１状態を識別する情報を含む第１撮像指示と、第１状態とは異なる操作状態を示す第２状態を識別する情報を含む第２撮像指示とを、パイプ４０を通じて撮像装置１０へ送信する。レリーズボタン１２は、第１位置まで押し込まれることにより、撮像すべき旨のユーザ操作を受け付けるボタン部材である。そして、第１状態は、レリーズボタン１２が第１位置まで押し込まれた状態を示し、第２状態は、指示入力部の押し込みが解除された状態を示す。すなわち、全押し状態は第１状態の一例であり、ＯＦＦ状態は第２状態の一例である。
【００４７】
図６は、ＰＣ１００の表示装置１０８に表示される画面６００の一例を模式的に示す。画面６００は、撮像装置１０の設定項目選択用のオブジェクト６１１−オブジェクト６１３、撮像装置１０の設定状態を変更する指示を受け付けるためのオブジェクト６２１−オブジェクト６２６、オブジェクト６３０、ならびに、撮像動作に関する指示を受け付けるためのオブジェクト６４０、オブジェクト６４２およびオブジェクト６４４を含む。
【００４８】
オブジェクト６１１は、撮像装置１０の設定項目のうち第１設定項目を変更する第１変更メニューを選択する指示を受け付ける。本図は、第１変更メニューの一例である。オブジェクト６１１が選択されると、本図に示すように、シャッタスピード変更用のオブジェクト６２１、絞り変更用のオブジェクト６２２、ＩＳＯ感度変更用のオブジェクト６２３、フォーカスポイント変更用のオブジェクト６２４、測光モード変更用のオブジェクト６２５、ホワイトバランス変更用のオブジェクト６２６を変更するメニューが表示される。
【００４９】
オブジェクト６２１は、シャッタスピード、すなわち露光時間を変更する指示を受け付けるスライダオブジェクトを含む。オブジェクト６２２は、絞り値を変更する指示を受け付けるスライダオブジェクトを含む。オブジェクト６２３は、ＩＳＯ感度を変更する指示を受け付けるセレクタオブジェクトを含む。オブジェクト６２４は、フォーカスポイントの移動方向を指定させるための４方向のカーソル制御オブジェクトと、現在設定されているフォーカスポイントの位置を示すオブジェクトを含む。オブジェクト６２５は、測光モードを変更する指示を受け付けるセレクタオブジェクトを含む。オブジェクト６２６は、ホワイトバランスの動作モードを変更する指示を受け付けるセレクタオブジェクトを含む。
【００５０】
オブジェクト６２１、オブジェクト６２２、オブジェクト６２３、オブジェクト６２４、オブジェクト６２５またはオブジェクト６２６で指示を受け付けた場合、ホストコントローラ部１１２は、撮像設定を変更する指示を送信する。具体的には、ホストコントローラ部１１２は、撮像設定の変更を、ＰＴＰオペレーションを送信することで指示する。
【００５１】
オブジェクト６３０は、撮像装置１０の状態を示す情報を含む。オブジェクト６３０は、測光モードを示すオブジェクト、フレームレートを示すオブジェクト、Ｆ値を示すオブジェクト、および、コマンドダイヤルの状態を示すオブジェクトを含む。
【００５２】
オブジェクト６１２は、撮像装置１０の設定項目のうちの第２設定項目を変更する第２変更メニューを選択する指示を受け付ける。第２設定項目は、露光動作の設定を含んでよい。露光動作の設定としては、単写、連写、バルブ露光およびタイム露光のいずれかの露光モードを選択することを含んでよい。単写モードは、１枚分の画像データを記録する露光モードである。連写モードは、レリーズボタンが押し込まれている期間にわたって連続撮影を行って１枚分以上の画像データを記録するための露光モードである。バルブ露光モードは、長時間露出モードの一部として、レリーズボタンが押し込まれている期間にわたって露光を行って１枚分の画像データを記録するための露光モードである。タイム露光モードは、レリーズボタンが押し込まれてからレリーズボタンが次に押し込まれるまでの期間にわたって露光を行って１枚分の画像データを記録するための露光モードである。
【００５３】
オブジェクト６１３は、撮像装置１０の設定項目のうちの第３設定項目を変更する第３変更メニューを選択する指示を受け付ける。第３設定項目は、撮像により得られた画像データを記録する記録先を設定する動作設定を含んでよい。記録先の設定としては、外部メモリ１８０に記録するモード、ＰＣ１００の記録媒体１１７に記録するモード、外部メモリ１８０および記録媒体１１７の双方に記録するモードのいずれかの記録モードを選択することを含んでよい。第２変更メニューおよび第３変更メニューを通じて設定状態を変更する指示を受け付けた場合、ホストコントローラ部１１２は、当該設定状態の変更を、ＰＴＰオペレーションを送信することで指示する。
【００５４】
オブジェクト６４０は撮影指示を受け付ける。例えば、露光モードが単写モードに設定されている状態でオブジェクト６４０の操作を検出すると、撮像指示として図４に例示したＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを送信する。露光モードが連写モード、バルブ露光モードおよびタイム露光モードのいずれかに設定されている状態でオブジェクト６４０の操作を検出すると、ホストコントローラ部１１２は、図５に例示したＲｅｌｅａｓｅオペレーションを送信することで、レリーズ状態を撮像装置１０へ通知する。
【００５５】
具体的には、露光モードとして連写モードまたはバルブ露光モードが設定されている場合は、オブジェクト６４０が押し込まれたことを検出すると、ホストコントローラ部１１２は、レリーズボタンが全押し状態であることを示すべく、ｗＶａｌｕｅの値が０ｘ０００２に設定されたＲｅｌｅａｓｅオペレーションを送信する。オブジェクト６４０の押し込みが解除されたことを検出されると、ホストコントローラ部１１２は、レリーズボタンがＯＦＦ状態になったことを示すべく、ｗＶａｌｕｅの値が０ｘ０００３に設定されたＲｅｌｅａｓｅオペレーションを送信する。レリーズボタンが全押し状態にあることを示すＲｅｌｅａｓｅオペレーションは、オブジェクト６４０の押し込みを検出した場合に１度送信してよい。１度だけ送信することに代えて、オブジェクト６４０が押し込まれている期間にわたって、レリーズボタンが全押し状態であることを示す複数のＲｅｌｅａｓｅオペレーションを送信してもよい。撮像装置１０においては、レリーズボタンが全押し状態にあることを示すＲｅｌｅａｓｅオペレーションを受信してからレリーズボタンがＯＦＦ状態にあることを示すＲｅｌｅａｓｅオペレーションを受信するまでの期間、設定されている露光モードに応じて連写撮影またはバルブ撮影を行う。
【００５６】
露光モードとしてタイム露光モードが設定されている場合は、オブジェクト６４０がクリックされたことを検出すると、レリーズボタンが全押し状態であることを示すべく、ホストコントローラ部１１２は、ｗＶａｌｕｅの値が０ｘ０００２に設定されたＲｅｌｅａｓｅオペレーションを送信する。そして、オブジェクト６４０が次に押し込まれたことを検出すると、ホストコントローラ部１１２は、レリーズボタンが全押し状態であることを示すべく、ｗＶａｌｕｅの値が０ｘ０００２に設定されたＲｅｌｅａｓｅオペレーションを送信する。撮像装置１０においては、レリーズボタンが全押し状態にあることを示すＲｅｌｅａｓｅオペレーションを受信してから次にレリーズボタンが全押し状態にあることを示すＲｅｌｅａｓｅオペレーションを受信するまでの期間にわたって、露光を行う。
【００５７】
オブジェクト６４２は、レリーズの半押し指示を受け付ける。オブジェクト６４２がクリックされたことが検出されると、半押し状態を示すべく、ｗＶａｌｕｅの値がｘ０００１に設定されたＲｅｌｅａｓｅオペレーションを送信する。撮像装置１０においては、当該Ｒｅｌｅａｓｅオペレーションを受信した場合、レリーズボタン１２の半押し操作に対して定められた撮像準備動作を行う。撮像準備動作としては、フォーカスポイントに対応する位置の被写体に対して合焦するＡＦ動作、測光モードに応じて露出を自動制御するＡＥ動作等を例示することができる。なお、撮像装置１０は、レリーズボタンが半押しされた場合の動作設定として、ＡＦ動作と、ＡＥ動作と、ＡＦ動作およびＡＥ動作とのいずれを行うかを設定できてよい。
【００５８】
オブジェクト６４４は、ライブビュー撮影指示を受け付ける。オブジェクト６４４がクリックされると、ライブビュー動作を指示するオペレーションを送信する。ライブビュー動作を指示するオペレーションは、ＰＴＰにおけるベンダリクエストとして実装されてよい。例えば、ライブビュー動作オペレーションは、撮像装置１０のライブビュースイッチの状態を示すオペレーションとして実装されてよい。撮像装置１０においては、ライブビュー動作オペレーションを受信した場合、ライブビュー動作オペレーションで示されるライブビュースイッチの状態に応じて、ライブビュー動作の開始および停止を制御する。
【００５９】
図７は、撮像装置１０とＰＣ１００との間の通信シーケンス一例を示す。本通信シーケンスは、ＰＣ１００と撮像装置１０とがＵＳＢケーブル２０で接続されてからの通信シーケンスである。本通信シーケンスにおけるＰＣ１００側の処理は、ＣＰＵ１１０が主体となってホストコントローラ部１１２等の各部を制御することによって行われる。また、撮像装置１０側の処理は、カメラＭＰＵ１４０が主体となってデバイスコントローラ部１５２等を含む撮像装置１０の各部を制御することによって行われる。
【００６０】
ＰＣ１００と撮像装置１０とがＵＳＢケーブル２０で接続されると、ＰＣ１００は、撮像装置１０と初期通信を行う。初期通信は、ＰＣ１００が撮像装置１０との間でＵＳＢ通信を行うためにＵＳＢ規格に従って行う通信を含む。例えば、初期通信は、撮像装置１０にエンドポイントを構築させるための通信を含む。また、初期通信は、撮像装置１０がＵＳＢ静止画像キャプチャデバイスクラス上でのＰＴＰ通信を行うことを通知するための通信を含む。また、ＰＴＰで定められた初期設定通信を含む。例えば、初期通信は、ＰＣ１００が撮像装置１０のデバイス情報を取得するための、ＰＣ１００から撮像装置１０へのＧｅｔＤｅｖｉｃｅＩｎｆｏオペレーションの送信と、撮像装置１０から１００へのデバイス情報の送信とを含む。また、初期通信は、ＰＣ１００と撮像装置１０との間のセッションを設定するための、ＰＣ１００から撮像装置１０へのＯｐｅｎＳｅｓｓｉｏｎオペレーションの送信を含む。
【００６１】
初期通信が完了した後、ＰＣ１００において、図６に例示した画面６００におけるオブジェクト６４０がクリックされたことを検出すると、ＰＣ１００は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを撮像装置１０へ送信する（Ｓ７１０）。本ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションは、一枚目の静止画の撮像を指示するオペレーションである。本ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションは、パイプ４２を通じて撮像装置１０へ送信される。
【００６２】
撮像装置１０は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを受信すると、静止画の撮像動作を行い、撮像により得られた画像データを外部メモリ１８０に記録する（Ｓ７１１）。撮像動作により画像データが生成されると、撮像装置１０は、ＯｂｊｅｃｔＡｄｄｅｄイベントを、パイプ４１を通じてＰＣ１００へ送信する（Ｓ７１２）。
【００６３】
ＰＣ１００は、ＯｂｊｅｃｔＡｄｄｅｄイベントを受信すると、パイプ４２を通じてＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを撮像装置１０へ送信する（ステップＳ７１４）。撮像装置１０は、ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを受信すると、パイプ４１を通じて画像情報をＰＣ１００へ送信する（Ｓ７１６）。画像情報は、画像データの種類、ファイル名、サイズ等の情報を含む。
【００６４】
ＰＣ１００は、画像情報を受信すると、一枚目の静止画の画像データを取得するためのＧｅｔＯｂｊｅｃｔオペレーションを、パイプ４２を通じて撮像装置１０へ送信する。撮像装置１０は、ＧｅｔＯｂｊｅｃｔオペレーションを受信すると、パイプ４１を通じて、指定された画像データをＰＣ１００へ転送する（Ｓ７２０−１〜Ｎ）。画像データは、パイプ４１を通じて、複数回に分けて順次にＰＣ１００へ送信される。本例では、Ｎ回に分けてＰＣ１００へ送信される。Ｓ７１０、Ｓ７１２、Ｓ７１４、Ｓ７１６、Ｓ７１８およびＳ７２０の通信は、ＰＴＰの標準コマンドで行われる。
【００６５】
ＰＣ１００が、画像データの転送期間内において、図６に例示した画面６００のオブジェクト６４０がクリックされたことを検出すると、ＰＣ１００は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを撮像装置１０へ送信する（Ｓ７２２）。本ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションは、二枚目の静止画の撮像を指示するオペレーションである。本ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションは、図４に例示したＵＳＢリクエストであり、ホストコントローラ部１１２により、パイプ４０を通じて撮像装置１０へ送信される。
【００６６】
撮像装置１０は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションを受信すると、静止画の撮像動作を行う（Ｓ７２４）。撮像動作により外部メモリ１８０に画像データが記録されると、撮像装置１０は、ＯｂｊｅｃｔＡｄｄｅｄイベントを、パイプ４３を通じてＰＣ１００へ送信する（Ｓ７１４）。ＰＣ１００は、ＯｂｊｅｃｔＡｄｄｅｄを受信すると、現在転送中の画像データの転送が完了するのを待つ。
【００６７】
ＰＣ１００は、一枚目の画像データにおける最後の分割データを受信すると（Ｓ７２０−Ｎ）、ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを、パイプ４２を通じて撮像装置１０へ送信する（Ｓ７２８）。本ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションは、ステップＳ７２６で受信したＯｂｊｅｃｔＡｄｄｅｄイベントに対応する画像データの情報を取得するオペレーションである。撮像装置１０は、ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを受信すると、パイプ４１を通じて画像情報をＰＣ１００へ送信する（Ｓ７２６）。
【００６８】
ＰＣ１００は、画像情報を受信すると、二枚目の静止画の画像データを取得するためのＧｅｔＯｂｊｅｃｔオペレーションを、パイプ４２を通じて撮像装置１０へ送信する（Ｓ７３２）。撮像装置１０は、ＧｅｔＯｂｊｅｃｔオペレーションを受信すると、パイプ４１を通じて、指定された画像データをＰＣ１００へ転送する（Ｓ７３４−１〜Ｎ）。画像データは、パイプ４１を通じて、複数回に分けて順次にＰＣ１００へ送信される。本例では、Ｎ回に分けてＰＣ１００へ送信される。Ｓ７２０、Ｓ７２８、Ｓ７３０、Ｓ７３２、Ｓ７３４の通信は、ＰＴＰの標準コマンドで行われる。
【００６９】
このように、ホストコントローラ部１１２は、複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置１０から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置１０に撮像を指示する撮像指示を撮像装置１０へ送信する。すなわち、第１バッファ領域は、バルク転送で通信するためのバッファ領域であり、第２バッファ領域は、コントロール転送で通信するためのバッファ領域である。すなわち、ホストコントローラ部１１２は、第１バッファを通じてコントロール転送以外の転送モードで撮像装置１０から画像データを取得する通信を行い、撮像指示を、第２バッファ領域を通じてコントロール転送の転送モードで撮像装置１０へ送信する。
【００７０】
また、ホストコントローラ部１１２は、撮像装置１０に撮像を実行させるオペレーションを送信した後において、当該オペレーションに対応するＣａｐｔｕｒｅＣｏｍｐｌｅｔｅイベントを受信する前に、第２バッファ領域を通じて撮像指示を撮像装置へ送信する。具体的には、ホストコントローラ部１１２は、撮像装置１０に撮像を実行させるオペレーションを通信部に送信させた後において、当該オペレーションに対応するＣａｐｔｕｒｅＣｏｍｐｌｅｔｅイベントを受信する前に撮像装置１０に撮像を実行させる指示を操作入力部１１１を介してユーザから取得した場合に、第２バッファ領域を通じて撮像指示を撮像装置１０へ送信する。
【００７１】
本シーケンスで説明したように、システム５によれば、ＰＴＰに従って画像データを転送している間であっても、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅを撮像装置１０へ送信して、撮像装置１０に即座に撮像動作を行わせることができる。そして、画像データの転送中の撮像動作で得られた画像データを、ＰＴＰに従ってＰＣ１００へ転送することができる。
【００７２】
図８は、撮像装置１０とＰＣ１００との間の通信シーケンスの他の一例を示す。本シーケンスは、特に、Ｒｅｌｅａｓｅオペレーションを用いて撮像を指示する場合のシーケンスの一例を示す。具体的には、露光モードが連写モードに設定されている場合のシーケンスの一例を示す。なお、ここでは主として、図７に例示した通信シーケンスとの相違点を説明する。
【００７３】
初期通信（Ｓ８００）、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションの送信（Ｓ８１０）、ＯｂｊｅｃｔＡｄｄｅｄイベントの送信（Ｓ８１２）、ＧｅｔＯｂｊｅｃｔオペレーションの送信（Ｓ８１４）、画像情報の送信（Ｓ８１６）、ＧｅｔＯｂｊｅｃｔオペレーションの送信（Ｓ８１８）、画像データの転送（Ｓ８２０）は、それぞれＳ７００、Ｓ８１０、Ｓ８１２、Ｓ８１４、Ｓ８１６、Ｓ８１８、Ｓ８２０の処理に対応するので、説明を省略する。
【００７４】
一枚目の画像の画像データの転送期間内において、ＰＣ１００が、図６に例示した画面６００のオブジェクト６４０がクリックされたことを検出すると、ＰＣ１００は、Ｒｅｌｅａｓｅオペレーションを撮像装置１０へ送信する（Ｓ８２１）。本Ｒｅｌｅａｓｅオペレーションは、レリーズボタンの状態が半押し状態であることを示す図５に例示したＵＳＢリクエストである。本Ｒｅｌｅａｓｅオペレーションは、パイプ４０を通じて撮像装置１０へ送信される。
【００７５】
撮像装置１０は、Ｒｅｌｅａｓｅオペレーションを受信すると、連写を開始する（Ｓ８２４）。連写により、画像データは外部メモリ１８０へ順次に記録される。撮像装置１０は、外部メモリ１８０に画像データが記録されると、撮像装置１０は、一つの画像データが外部メモリ１８０に記録される毎に、ＯｂｊｅｃｔＡｄｄｅｄイベントをＰＣ１００へ送信する（Ｓ８２６−１〜Ｍ）。ＯｂｊｅｃｔＡｄｄｅｄイベントは、パイプ４３を通じてＰＣ１００へ送信される。ＰＣ１００は、ＯｂｊｅｃｔＡｄｄｅｄイベントを受信すると、現在転送中の画像データの転送が完了するまで、受信したＯｂｊｅｃｔＡｄｄｅｄイベントに対応するＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションの送信を待つ。
【００７６】
ＰＣ１００は、一枚目の画像データにおける最後の分割データを受信すると（Ｓ８２０−Ｎ）、二枚目の画像データに対するＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを、パイプ４２を通じて撮像装置１０へ送信する（Ｓ８２８）。本ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションは、連写期間中における一枚目の画像データの情報を取得するオペレーションである。撮像装置１０は、ＧｅｔＯｂｊｅｃｔＩｎｆｏオペレーションを受信すると、パイプ４１を通じて画像情報をＰＣ１００へ送信する（Ｓ８３０）。
【００７７】
ＰＣ１００は、画像情報を受信すると、二枚目の静止画の画像データを取得するためのＧｅｔＯｂｊｅｃｔオペレーションを、パイプ４２を通じて撮像装置１０へ送信する（Ｓ８３２）。撮像装置１０は、ＧｅｔＯｂｊｅｃｔオペレーションを受信すると、パイプ４１を通じて、指定された画像データをＰＣ１００へ転送する（Ｓ８３４−１〜Ｎ）。画像データは、パイプ４１を通じて、複数回に分けて順次にＰＣ１００へ送信される。本例では、Ｎ回に分けてＰＣ１００へ送信される。なお、Ｓ８２６、Ｓ８２８、Ｓ８３０、Ｓ８３２、Ｓ８３４の通信は、ＰＴＰの標準コマンドで行われる。本シーケンスでは、連写で得られたＭ枚の画像の画像データのうち１枚分の画像データをＰＣ１００へ転送するところまでをしたが、Ｓ８２８、Ｓ８３０、Ｓ８３２、Ｓ８３４の通信を順次に残りのＭ−１枚分の画像データに対して行うことで、連写動作で得られたＭ枚画像の画像データを、ＰＴＰに従ってＰＣ１００へ転送することができる。
【００７８】
このように、システム５によれば、ＰＴＰに従って画像データを転送している間であっても、レリーズボタンの状態を撮像装置１０へ送信して、レリーズボタンの状態に応じた撮像動作を撮像装置１０に即座に行わせることができる。そして、転送中の撮像により得られた画像データを、ＰＴＰに従ってＰＣ１００へ転送することができる。
【００７９】
図９は、ＰＣ１００の起動から終了までの処理フローを示す。本フローは、例えば操作入力部１１１の一部としての電源スイッチがＯＮ位置に切り替えられた場合に、開始される。本フローは、ＣＰＵ１１０が主体となってＰＣ１００の各部を制御することにより実行される。
【００８０】
ステップＳ９００において、ＣＰＵ１１０は、オペレーティングシステム（ＯＳ）を立ち上げる。具体的には、ＰＣ１００を制御するための起動コードがＲＯＭ１０９からＲＡＭ１０６に展開され、カメラＭＰＵ１４０が起動コードを実行して、記録媒体１１７に記録されているＯＳによる制御に移行する。ＯＳの制御に移行した後、ユーザ操作等に基づいて、種々のアプリケーションプログラムが起動される。本アプリケーションプログラムは、図６に例示した画面を表示し、撮像装置１０と通信して撮像装置１０を制御するアプリケーションプログラム等を含む。
【００８１】
ステップＳ９０２において、ＣＰＵ１１０は、生じたイベントの種類を判定する。各種イベントは、操作入力部１１１に対する操作で生じる操作イベント、ＵＳＢパケットの受信イベント、外部機器が接続された場合に生じる接続イベント等により生じる。ここでは、撮像装置１０の動作設定を変更する指示に応じて生じる撮像設定の変更イベント、撮像装置１０に撮像動作を行わせる指示に応じて生じる撮像指示イベント、および、ＵＳＢパケットの受信に応じて生じるパケット受信イベント、および、外部機器の接続に応じて生じる外部機器接続イベントについて説明する。
【００８２】
撮像設定の変更指示イベントは、図６に例示したオブジェクト６２１等がクリックされた場合に生じる。本変更指示イベントが生じた場合、ホストコントローラ部１１２は、動作設定を指示するＵＳＢパケットを撮像装置１０へ送信する（ステップＳ９１０）。具体的には、撮像条件等の動作条件の変更を指示するＰＴＰのオペレーションを送信する。
【００８３】
撮像指示イベントは、図６に例示したオブジェクト６４０、オブジェクト６４２またはオブジェクト６４４がクリックされた場合に生じる。本撮像指示イベントが生じた場合、ホストコントローラ部１１２は、撮像動作に関する指示を行うＵＳＢパケットを撮像装置１０へ送信する（ステップＳ９１２）。本ＵＳＢパケットとしては、パイプ４２を通じて送信されるＰＴＰ標準のＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのパケット、パイプ４０を通じて送信されるＰＴＰベンダリクエストのＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのパケット、ＰＴＰベンダリクエストのライブビュー動作オペレーションのパケットを例示できる。
【００８４】
パケット受信イベントは、ホストコントローラ部１１２でパケットを受信した場合に生じる。パケット受信イベントが生じた場合、ＣＰＵ１１０は、受信したパケットの内容に応じて定められた処理を実行する（ステップＳ９１４）。本ステップの処理は、ＯｂｊｅｃｔＡｄｄｅｄイベント等のＰＴＰイベントを受信した場合に行う処理、ＰＴＰオペレーションの送信に応じて撮像装置１０からデータを受信した場合に行う処理を含む。ＣＰＵ１１０は、これらのＰＴＰイベントやＰＴＰ関連のＵＳＢパケットを受信した場合、上記アプリケーションプログラムや各種ソフトウェアライブラリで定められた処理を実行する。
【００８５】
外部機器接続イベントは、ホストコントローラ部１１２で外部機器の接続を検出した場合に生じる。外部機器接続イベントが生じた場合、ＣＰＵ１１０は、外部機器と接続する処理を実行する（ステップＳ９１６）。本ステップの処理としては、接続されるＵＳＢデバイスをコンフィグレーションするためのＵＳＢ規格で定められた処理等を例示することができる。また、接続されたＵＳＢデバイスが撮像装置１０である場合、本処理は、ＧｅｔＤｅｖｉｃｅＩｎｆｏオペレーションを撮像装置１０へ送信する処理、ＯｐｅｎＳｅｓｓｉｏｎオペレーションを撮像装置１０へ送信する処理等を含む。
【００８６】
ステップＳ９１０、ステップＳ９１２、ステップＳ９１４、ステップＳ９１６の処理が終了すると、ステップＳ９２２に処理を進める。
【００８７】
ステップＳ９２２では、電源をＯＦＦするか否かを判断する。例えば、電源スイッチがＯＦＦ位置にされた場合に、電源をＯＦＦすると判断する。電源をＯＦＦしないと判断した場合はステップＳ９０２に処理を移行する。電源をＯＦＦすると判断した場合は、電源をＯＦＦする前に必要な処理を行う（ステップＳ９２４）。本処理は、ＯＳで定められた終了コードを実行する処理を含む。ステップＳ９２４の処理が完了すると、本フローを終了する。
【００８８】
図１０は、撮像装置１０の起動から終了までの処理フローを示す。本フローは、例えば操作入力部１４１の一部としての電源スイッチがＯＮ位置に切り替えられた場合に、開始される。本フローは、カメラＭＰＵ１４０が主体となって撮像装置１０の各部を制御することにより実行される。
【００８９】
ステップＳ１０００において、カメラＭＰＵ１４０は、オペレーティングシステム（ＯＳ）を立ち上げる。具体的には、撮像装置１０を制御するためのパラメータ、起動コード、ＯＳ等が、システムメモリ１３９からＲＡＭ１３６に展開され、カメラＭＰＵ１４０が起動コードを実行して、ＯＳによる制御に移行する。ステップＳ１００２において、カメラＭＰＵ１４０は、撮像装置１０の初期設定を行う。例えば、カメラＭＰＵ１４０は、展開されたパラメータ、プログラム等に従って、例えば操作入力部１４１の一部としての撮像モードダイヤル等の状態に基づき、撮像装置１０の動作条件を設定する。動作条件としては、撮影モード、撮像条件、記録条件等を例示できる。撮影モードとしては、連写モードや単写モード等を例示することができる。撮像条件としては、露光時間、絞り値および撮像感度等を例示できる。記録条件としては、記録画素数等を例示することができる。
【００９０】
続いて、ステップＳ１００４において、カメラＭＰＵ１４０は、初期設定で設定された内容を表示部１３８に表示させる。例えば、カメラＭＰＵ１４０は、撮像モード、撮像条件、および、記録条件等の情報を、アイコン表示等の種々の形式で表示部１３８に表示させる。
【００９１】
続いて、ステップＳ１００６において、カメラＭＰＵ１４０は、生じたイベントの種類を判定する。各種イベントは、操作入力部１４１に対する操作で生じる操作イベント、ＵＳＢパケットの受信イベント、外部機器が接続された場合に生じる接続イベント等により生じる。ここでは、設定動作を行う指示に応じて生じる設定イベント、再生動作を行う指示に応じて生じる再生イベント、および、撮像動作を行わせる指示に応じて生じる撮像イベント、ＵＳＢパケットの受信に応じて生じるパケット受信イベント、および、外部機器の接続に応じて生じる外部機器接続イベントについて説明する。
【００９２】
設定イベントは、操作入力部１４１の一部としての設定ボタンの操作を検出した場合に生じる。また、設定イベントは、動作設定を指示するＵＳＢパケットを受信した場合に生じる。例えば、動作設定を指示するＵＳＢパケットとしては、撮像条件等の動作条件の変更を指示するＰＴＰのオペレーションを受信した場合を例示することができる。
【００９３】
設定イベントが生じた場合、カメラＭＰＵ１４０が主体となって、指示内容に応じた設定処理を行う（ステップＳ１０１０）。本設定処理では、指示内容に応じて、撮像装置１０の動作条件が設定される。動作設定が変更された場合、変更された動作設定に応じてパラメー変数が変更される。
【００９４】
再生イベントは、操作入力部１４１の一部としての再生ボタンの操作を検出した場合に生じる。再生イベントが生じた場合、カメラＭＰＵ１４０は、操作入力部１４１に対するユーザ操作に基づき、指示された再生処理を実行する（ステップＳ１０１２）。再生処理としては、外部メモリ１８０に記録された静止画、動画等の画像データに基づき画像を一覧表示する処理、画像データの選択を受け付ける処理、ユーザにより選択された画像データに基づき表示部１３８に画像を表示する処理等を例示することができる。
【００９５】
撮像イベントは、操作入力部１４１の一部としてのレリーズボタン１２、ライブビューボタン、または、動画記録ボタンの操作が検出された場合に生じる。また、撮像イベントは、撮像を指示するＵＳＢパケットを受信した場合に生じる。撮像を指示するＵＳＢパケットとしては、パイプ４２を通じて受信されるＰＴＰ標準のＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのパケット、パイプ４０を通じて受信されるＰＴＰベンダリクエストのＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションのパケット、ＰＴＰベンダリクエストのライブビュー動作オペレーションのパケットを例示できる。カメラＭＰＵ１４０は、撮像イベントが生じた場合、撮像に応じて撮像処理を行う（ステップＳ１０１４）。
【００９６】
パケット受信イベントは、デバイスコントローラ部１５２でパケットを受信した場合に生じる。パケット受信イベントが生じた場合、カメラＭＰＵ１４０は、受信したパケットの内容に応じて定められた処理を実行する（ステップＳ１０１６）。本ステップの処理は、ＧｅｔＤｅｖｉｃｅＩｎｆｏ等の情報を要求するＰＴＰオペレーションの受信に応じて、要求された情報を送信する処理を含む。また、本ステップの処理は、ＩｎｉｔｉａｔｅＣａｐｔｕｒｅ等の撮像を指示するＰＴＰオペレーション、動作設定の変更を指示するＰＴＰオペレーションの受信に応じて、撮像イベント、設定イベント等の対応するイベントを発生させる処理を含む。カメラＭＰＵ１４０は、これらのＰＴＰオペレーションやＰＴＰ関連のＵＳＢパケットを受信した場合、上記ＯＳや各種ソフトウェアライブラリで定められた処理を実行する。
【００９７】
外部機器接続イベントは、デバイスコントローラ部１５２でホストコントローラ部１１２から接続を要求された場合に生じる。外部機器接続イベントが生じた場合、ＣＰＵ１１０は、外部機器と接続する処理を実行する（ステップＳ１０１８）。本ステップの処理としては、ＵＳＢ規格で定められた、ＵＳＢデバイスとしてコンフィグレーションする処理等を例示することができる。また、接続されたＵＳＢホストがＰＣ１００である場合、本ステップの処理は、ＰＴＰ通信用のパイプ４１、パイプ４２およびパイプ４３に対応するエンドポイントを構築する処理を含む。また、本ステップの処理は、ＰＴＰで定められた初期設定処理、例えばＧｅｔＤｅｖｉｃｅＩｎｆｏオペレーションに応じて撮像装置１０へデバイス情報を送信する処理等を含む。
【００９８】
ステップＳ１０１０、ステップＳ１０１２、ステップＳ１０１４、ステップＳ１０１６、ステップＳ１０１８の処理が終了すると、ステップＳ１０２２に処理を進める。
【００９９】
ステップＳ１０２２では、電源をＯＦＦするか否かを判断する。例えば、処理すべきイベントが無く、かつ、撮像装置１０が動作を開始してから予め定められた期間、新たなイベントが生じていない場合に、電源をＯＦＦすると判断する。また、電源スイッチがＯＦＦ位置にされた場合にも、電源をＯＦＦすると判断する。電源をＯＦＦしないと判断した場合はステップＳ１００６に処理を移行する。電源をＯＦＦすると判断した場合は、電源をＯＦＦする前に必要な処理を行う（ステップＳ１０２４）。本処理としては、変更されたパラメータ変数等の情報をシステムメモリ１３９に格納する処理等を例示することができる。ステップＳ１０２４の処理が完了すると、本フローを終了する。
【０１００】
図１１は、撮像装置１０が撮像動作を行う場合のフローの一例を示す。本フローは、ステップＳ１０１４の一部の処理に適用できる。本フローは、カメラＭＰＵ１４０が主体となって撮像装置１０の各部を制御することにより実行される。本フローは、レリーズ指示またはライブビュー動作の指示で撮像イベントが生じた場合に、開始される。レリーズ指示には、レリーズボタン１２の押し込みによる指示の他、ＰＴＰ標準のＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーション、図４等で例示したＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーション、図５等で例示した、レリーズ全押し状態を示すＲｅｌｅａｓｅオペレーションを含む。ライブビュー動作の指示には、ライブビュースイッチの操作による指示の他、ライブビュー動作オペレーションによる指示を含む。
【０１０１】
ステップＳ１１０２において、レリーズ指示であるかライブビュー動作の指示であるかを判断する。レリーズ指示であると判断された場合、露光モードを判断する（ステップＳ１１０４）。
【０１０２】
ステップＳ１１０４の判断において、露光モードが連写モードであると判断された場合、撮像素子１３２で間欠露光を開始し（ステップＳ１１４２）、１枚分の露光が完了する毎に、撮像素子１３２からのＲＡＷ画像データ取り込み処理、記録用の画像データの生成処理および記録用の画像データの記録処理を行う（ステップＳ１１４４）。画像データが外部メモリ１８０に記録されると、ＰＣ１００とＰＴＰ接続されていることを条件として、ＯｂｊｅｃｔＡｄｄｅｄイベントを送信する（ステップＳ１１４６）。そして、レリーズボタンのＯＦＦが指示されたか否かを判断する（ステップＳ１１４８）。具体的には、レリーズボタン１２が物理的にＯＦＦ状態になった場合、または、レリーズボタンがＯＦＦ状態を示すＲｅｌｅａｓｅイベントを受信した場合に、レリーズボタンのＯＦＦが指示されたと判断する。レリーズボタンのＯＦＦが指示されていない場合、ステップＳ１１４４に処理を戻す。レリーズボタンのＯＦＦが指示された場合は、本フローを終了する。
【０１０３】
ステップＳ１１４０の判断において、露光モードが単写モードであると判断された場合、撮像素子１３２で露光を行い（ステップＳ１１１２）、撮像素子１３２からのＲＡＷ画像データ取り込み処理、記録用の画像データの生成処理および記録用の画像データの記録処理を行う（ステップＳ１１１４）。記録用の画像データが外部メモリ１８０に記録されると、ＰＣ１００とＰＴＰ接続されていることを条件として、ＯｂｊｅｃｔＡｄｄｅｄイベントを送信し（ステップＳ１１１６）、本フローを終了する。
【０１０４】
ステップＳ１１４０の判断において、露光モードがバルブ撮影モードであると判断された場合、撮像素子１３２で露光を開始する（ステップＳ１１２２）。そして、レリーズボタンのＯＦＦが指示されたか否かを判断する（ステップＳ１１２４）。具体的には、レリーズボタン１２が物理的にＯＦＦ状態になった場合、または、レリーズボタンがＯＦＦ状態を示すＲｅｌｅａｓｅイベントを受信した場合に、レリーズボタンのＯＦＦが指示されたと判断する。レリーズボタンのＯＦＦが指示されるまで、本判断を繰り返す。レリーズボタンのＯＦＦが指示されると、ステップＳ１１１４に処理を移行する。
【０１０５】
ステップＳ１１４０の判断において、露光モードがタイム撮影モードであると判断された場合、現在露光中であるか否かを判断する（ステップＳ１１３２）。現在露光中でないと判断された場合、撮像素子１３２で露光を開始し（ステップＳ１１３４）、処理を終了する。現在露光中であると判断された場合、ステップＳ１１２６に処理を移行する。
【０１０６】
ステップＳ１１０２の判断において、レリーズ指示であると判断された場合、ライブビュー動作の開始指示であるか終了指示であるかを判断する（ステップＳ１１６２）。ライブビュー動作の開始指示であると判断された場合は、ライブビュー動作を開始させ（ステップＳ１１６４）、本フローを終了する。ライブビュー動作の終了指示であると判断された場合は、ライブビュー動作を終了させ（ステップＳ１０６６）、本フローを終了する。
【０１０７】
なお、上記の例では、ベンダリクエストとしてのＩｎｉｔｉａｔｅＣａｐｔｕｒｅオペレーションによる撮像指示を、コントロール転送で送信するとした。しかし、ホストコントローラ部１１２は、当該撮像指示を、バルク転送、インタラプト転送およびアイソクロナス転送の少なくとも一つの転送モードで撮像装置１０へ送信してもよい。この場合に、ＰＴＰ通信用に撮像装置１０に構築されたエンドポイントとは異なるエンドポイントに対応するバッファ領域を通じて、当該撮像指示を送信する。
【０１０８】
なお、上記の例では、ホストコントローラ部１１２は、ＰＴＰ通信用パイプとは異なるパイプを通じて撮像指示を送信するとした。しかし、ホストコントローラ部１１２は、ＰＴＰ通信用パイプとは異なるパイプを通じて、撮像装置１０の撮像動作の設定状態を変更する指示を撮像装置１０へ送信してもよい。すなわち、ホストコントローラ部１１２は、ＵＳＢ通信用の複数のバッファ領域のうちの第１バッファ領域を通じて、撮像装置１０から画像データを取得するための通信を行わせ、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置１０に撮像を指示する撮像指示および撮像装置１０の撮像動作の設定状態を変更する設定変更指示の少なくとも一方の指示を撮像装置１０へ送信してよい。撮像装置１０の撮像動作の設定としては、図６等に関連して説明した撮像条件を例示することができる。すなわち、撮像動作の設定指示としては、焦点設定、露出設定およびホワイトバランス設定の少なくとも一つの設定状態を変更する指示を含む。また、ホストコントローラ部１１２は、ＰＴＰ通信用パイプとは異なるパイプを通じて、フォーカス調節等を指示する調節指示を、撮像装置１０へ送信してもよい。例えば、当該指示は、半押し状態を示すＲｅｌｅａｓｅオペレーションで送信されてよい。すなわち、レリーズボタン１２が、第１位置より浅い第２位置まで押し込まれることによりフォーカスおよび露出の少なくとも一方を調節すべき旨のユーザ操作を受け付ける場合に、ホストコントローラ部１１２は、レリーズボタン１２が第２位置まで押し込まれた状態を識別する情報を含む調節指示を、複数のバッファ領域のうちの第２バッファ領域を通じて、撮像装置１０へ送信してよい。かかる動作によれば、ＰＴＰに従って画像データを転送している期間内に、撮像条件の変更や、焦点調節等の撮像準備を撮像装置１０に指示することができる。このため、ユーザは、撮像条件や焦点調節等をじっくりと行うことができる。
【０１０９】
なお、上記の説明では、画像データ等の転送をＰＴＰに従って行う場合について説明した。しかし、ＰＴＰに関連して説明した撮像装置１０およびＰＣ１００の動作は、ＭＴＰ（Ｍｅｄｉａ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従って画像データ等の通信を行う場合にも適用できる。
【０１１０】
上記の説明において、カメラＭＰＵ１４０の動作として説明した処理は、カメラＭＰＵ１４０がプログラムに従って撮像装置１０が有する各ハードウェアを制御することにより実現される。また、上記の説明においてＡＳＩＣ１３５により実現される処理は、プロセッサによって実現することができる。例えば、ＡＳＩＣ１３５の動作として説明した処理は、プロセッサがプログラムに従って撮像装置１０が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態の撮像装置１０に関連して説明した処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。本実施形態のＰＣ１００撮像装置１０に関連して説明した処理も同様に、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。
【０１１１】
また、本実施形態において、レンズユニット１２０が装着された状態の撮像装置１０を、撮像装置の一例として取り上げた。しかし、撮像装置とは、レンズユニット１２０が装着されていないカメラ本体１３０を含む概念である。撮像装置としては、レンズ交換式カメラの一例である一眼レフレックスカメラの他に、レンズ非交換式カメラの一例であるコンパクトデジタルカメラ、ミラーレス式カメラ、ビデオカメラ、撮像機能付きの携帯電話機、撮像機能付きの携帯情報端末、スキャナ、撮像機能付きのゲーム機器等の娯楽装置等、撮像機能を有する種々の電子機器を適用の対象とすることができる。また、ＰＣ１００に対応する電子機器としては、携帯電話機、携帯情報端末、ゲーム機器等の娯楽装置等、テレビジョン装置等の種々の機器を適用の対象とすることができる。
【０１１２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１１３】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１１４】
０、１、２、３  ＥＰ、５  システム、４０、４１、４２、４３  パイプ、１０  撮像装置、１２  レリーズボタン、２０  ＵＳＢケーブル、３０、５０  通信経路、１００  ＰＣ、１０６  ＲＡＭ、１０８  表示装置、１０９  ＲＯＭ、１１０  ＣＰＵ、１１１  操作入力部、１１２  ホストコントローラ部、１１３  転送コントローラ部、１１４  バッファ部、１１５  トランシーバ部、１１６  通信コネクタ、１１７  記録媒体、１１８  電源回路、１１９  接続インタフェース、１２０  レンズユニット、１２１  レンズマウント接点、１２２  レンズ群、１２３  レンズＭＰＵ、１２４  レンズ駆動部、１３０  カメラ本体、１３１  カメラマウント接点、１３２  撮像素子、１３３  アナログ処理部、１３４  Ａ／Ｄ変換器、１３５  ＡＳＩＣ、１３６  ＲＡＭ、１３７  表示制御部、１３８  表示部、１３９  システムメモリ、１４０  カメラＭＰＵ、１４１  操作入力部、１４２  ＡＦユニット、１４３  フォーカルプレーンシャッタ、１４４  測光素子、１４５  メインミラー、１４６  サブミラー、１４７  ファインダ部、１４８  駆動部、１４９  接続インタフェース、１５０  記録媒体ＩＦ、１５２  デバイスコントローラ部、１５３  転送コントローラ部、１５４  バッファ部、１５５  トランシーバ部、１５６  通信コネクタ、１５８  ＧＰＳユニット、１８０  外部メモリ、１９０  電源、１９２  電源回路、６００  画面、６１１、６１２、６１３、６２１、６２２、６２３、６２４、６２５、６２６、６３０、６４０、６４２、６４４  オブジェクト
【図１】
2014017560.tif 000003
【図２】
2014017560.tif 000004
【図３】
2014017560.tif 000005
【図４】
2014017560.tif 000006
【図５】
2014017560.tif 000007
【図６】
2014017560.tif 000008
【図７】
2014017560.tif 000009
【図８】
2014017560.tif 000010
【図９】
2014017560.tif 000011
【図１０】
2014017560.tif 000012
【図１１】
2014017560.tif 000013