(57)【要約】【課題】パーソナルコンピュータを介在させずに、USB周辺機器間でのリモートシンクロ制御を実現可能にする。【解決手段】デジタルカメラ１は、USB  On-the-Goに準拠しており、他のデジタルカメラ１とUSB接続するUSBインタフェース部５５と、USBインタフェース部５５によってUSB接続された他のデジタルカメラ１との間の通信を制御するUSB通信制御部３７と、を備えている。USB通信制御部３７は、自機をホスト側として動作させて、デバイス側の他のデジタルカメラ１との通信を制御するホストモード制御部４１と、自機をデバイス側として動作させて、ホスト側の他のデジタルカメラ１との通信を制御するデバイスモード制御部４２と、を有している。【選択図】図２
2011160107.tif 000002
【特許請求の範囲】
【請求項１】
USB  On-the-Goに準拠した電子機器において、
他の電子機器とUSB接続するUSBインタフェース手段と、
前記USBインタフェース手段によってUSB接続された前記他の電子機器との間の通信を制御するUSB通信制御手段と、
を備え、
前記USB通信制御手段は、
自機をホスト側として動作させ、デバイス側の前記他の電子機器との間の通信を制御するホスト制御手段と、
自機をデバイス側として動作させ、ホスト側の前記他の電子機器との間の通信を制御するデバイス制御手段と、
を有する電子機器。
【請求項２】
ユーザの操作を受け付ける操作手段と、
前記操作手段に対する前記ユーザの操作に基づいて、前記ユーザの指示を解釈して、前記指示に従った処理を実行する処理実行手段と、
をさらに備え、
前記USB通信制御手段は、前記操作手段に対する前記ユーザの操作があった場合には、前記ホスト制御手段を動作させ、
前記ホスト制御手段は、前記処理実行手段により解釈された前記ユーザの指示を示す指示コマンドを生成して、前記USBインタフェース手段を介してデバイス側の前記他の電子機器に送信する、
請求項１に記載の電子機器。
【請求項３】
ホスト側の前記他の電子機器から前記指示コマンドが送信されてきた場合、前記USB通信制御手段は、前記デバイス制御手段を動作させ、
前記デバイス制御手段は、ホスト側の前記他の電子機器から送信されてきた前記指示コマンドを、前記USBインタフェース手段を介して受信して、
前記処理実行手段は、前記デバイス制御手段に受信された前記指示コマンドに基づいて、前記ユーザの指示を解釈して、前記指示に従った処理を実行する、
請求項２に記載の電子機器。
【請求項４】
前記電子機器及び前記他の電子機器は、撮像手段をさらに備え、
前記USB通信制御手段は、前記指示コマンドとして、前記撮像手段に関する指示を示すコマンドを前記他の電子機器と送受信する制御を実行する、
請求項３に記載の電子機器。
【請求項５】
前記操作手段は、シャッタキーを有し、
前記シャッタキーが押下操作された場合には、
前記処理実行手段は、撮像及び記録の指示であると解釈して、自機の前記撮像手段を制御して、撮像画像の画像データを出力させ、
前記ホスト制御手段は、前記撮像及び記録の指示コマンドを生成して、前記USBインタフェース手段を介してデバイス側の前記他の電子機器に送信し、当該撮像及び記録の指示コマンドを受信したデバイス側の前記他の電子機器から送信されてきた撮像画像の画像データを、前記USBインタフェース手段を介して受信し、
自機の前記撮像手段から出力された前記画像データを自カメラ画像データとして、デバイス側の前記他の電子機器から送信されて前記ホスト制御手段に受信された前記画像データを他カメラ画像データとして、前記自カメラ画像データと前記他カメラ画像データとを対応付けて記憶する記憶手段をさらに備える、
請求項４に記載の電子機器。
【請求項６】
ホスト側の前記他の電子機器から前記撮像及び記録の指示コマンドが送信されてきた場合、
前記デバイス制御手段は、前記指示コマンドを前記USBインタフェース手段を介して受信し、
前記処理実行手段は、前記デバイス制御手段に受信された前記指示コマンドに基づいて、前記ユーザの指示とは撮像及び記録の指示であると解釈して、自機の前記撮像手段を制御して、撮像画像の画像データを出力させ、
前記デバイス制御手段は、自機の前記撮像手段から出力された前記画像データを、前記USBインタフェース手段を介してホスト側の前記他の電子機器に送信する、
請求項５に記載の電子機器。
【請求項７】
前記記憶手段に対応付けて記憶された前記自カメラ画像データ及び前記他カメラ画像データの各々に基づく撮像画像間の視差を取得する視差取得手段と、
前記記憶手段に対応付けて記憶された前記自カメラ画像データ及び前記他カメラ画像データ、並びに、前記視差取得手段により取得された前記視差に基づいて、立体画像の画像データを生成する立体画像生成手段と、
をさらに備える請求項５又は６に記載の電子機器。
【請求項８】
前記USB通信制御手段は、前記USBインタフェース手段によってUSB接続された前記他の電子機器との間の通信の制御として、有線通信の制御をする、
請求項１乃至７の何れか１項に記載の電子機器。
【請求項９】
前記USB通信制御手段は、前記USBインタフェース手段によってUSB接続された前記他の電子機器との間の通信の制御として、無線通信の制御をする、
請求項１乃至７の何れか１項に記載の電子機器。
【請求項１０】
USB  On-the-Goに準拠した電子機器によって、USB接続された他の電子機器との間の通信を制御するための通信制御方法において、
前記電子機器をホスト側として動作させ、デバイス側の前記他の電子機器との通信を制御するホスト制御ステップと、
前記電子機器をデバイス側として動作させ、ホスト側の前記他の電子機器との通信を制御するデバイス制御ステップと、
を含む通信制御方法。
【請求項１１】
USB  On-the-Goに準拠し、USB接続された他の電子機器と通信を行う電子機器を制御するコンピュータに、
前記電子機器をホスト側として動作させ、デバイス側の前記他の電子機器との通信を制御するホスト制御機能と、
前記電子機器をデバイス側として動作させ、ホスト側の前記他の電子機器との通信を制御するデバイス制御機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及び通信制御方法、並びにプログラムに関し、特に、パーソナルコンピュータを介在させずに、USB周辺機器間でのリモートシンクロ制御を実現可能にする技術に関する。
【背景技術】
【０００２】
従来より、ホスト機器であるパーソナルコンピュータに対して、デジタルカメラ等の周辺機器を接続するためのシリアルバスの規格として、USB（Universal  Serial  Bus）が広く用いられている。
なお、USBに従って、パーソナルコンピュータと周辺機器とが接続すること、又は、周辺機器同士が接続することを、以下、「USB接続」と呼ぶ。
【０００３】
パーソナルコンピュータは、USB接続された周辺機器（以下、「USB周辺機器」と呼ぶ）に対して遠隔操作をすることによって、周辺機器の動作を制御することができる。なお、このような制御を、以下、「リモート制御」と呼ぶ。
さらに、パーソナルコンピュータが複数台のUSB周辺機器の各々に対してリモート制御を実行することで、複数台のUSB周辺機器を同期して動作させることができる。なお、このように、複数台のUSB周辺機器を同期して動作させるためのリモート制御を、以下、「リモートシンクロ制御」と呼ぶ。
【０００４】
パーソナルコンピュータが、複数台のUSB周辺機器に対してリモートシンクロ制御を実行することで、様々な技術を実現することが可能になる。
例えば、特許文献１には、１眼式の２台のデジタルカメラを用いて、立体視可能な画像を作成するために、右目観察用の画像と左目観察用の画像との各々を取得する技術が記載されている。なお、右目観察用の画像と左目観察用の画像とを視差を考慮して併せて生成した立体視が可能な画像を、以下、「立体画像」又は「３Ｄ画像」と呼ぶ。
【０００５】
ところで、特許文献１に記載の技術を利用するためには、２台のデジタルカメラが同等の無線通信機能をそれぞれ有している必要がある。このため、特許文献１に記載の技術では、２台のデジタルカメラが同等の無線通信機能を有していない場合、例えば、使用する２台のデジタルカメラの製造メーカが異なる場合や、製造メーカが同一であっても型式が異なる場合、３Ｄ画像を取得することは非常に困難であった。
同等の無線通信機能を有していない２台のデジタルカメラを用いて３Ｄ画像を取得する場合には、当該２台のデジタルカメラをUSB周辺機器として、パーソナルコンピュータがリモートシンクロ制御を実行する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１０９９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、パーソナルコンピュータが複数台のUSB周辺機器に対してリモートシンクロ制御を実行する場合には、次の三つの課題が存在する。
即ち、第１の課題は、リモート制御用のパーソナルコンピュータが必要になることである。
第２の課題は、リモート制御用のパーソナルコンピュータのドライバやアプリケーションソフトウェアが必要になることである。
第３の課題は、ユーザにとっては、パーソナルコンピュータのアプリケーションソフトウェアの操作、例えば、パーソナルコンピュータの入力機器、例えばマウスやキーボードの操作を並行して行う必要があるため、直観的なカメラ操作が困難になることである。
【０００８】
このような課題を解決するために、パーソナルコンピュータを介在させずに、複数台のUSB周辺機器同士でリモートシンクロ制御を実現する手法の実現が求められている。しかしながら、このような手法は見受けられない状況である。
なお、パーソナルコンピュータを介さずに複数台のUSB周辺機器同士を接続する規格として、USB  On-the-Go（以下、必要に応じて「OTG規格」と呼ぶ）が存在する。しかしながら、OTG規格を用いてデータ交換をする手法は見受けられるが、OTG規格を用いてリモート制御をする手法は見受けられない状況である。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、パーソナルコンピュータを介在させずに、OTG規格に準拠したUSB周辺機器間でのリモートシンクロ制御を実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様によると、
USB  On-the-Goに準拠した電子機器において、
他の電子機器とUSB接続するUSBインタフェース手段と、
前記USBインタフェース手段によってUSB接続された前記他の電子機器との間の通信を制御するUSB通信制御手段と、
を備え、
前記USB通信制御手段は、
自機をホスト側として動作させ、デバイス側の前記他の電子機器との通信を制御するホスト制御手段と、
自機をデバイス側として動作させ、ホスト側の前記他の電子機器との通信を制御するデバイス制御手段と、
を有する電子機器を提供する。
【００１１】
本発明の第２の態様によると、
USB  On-the-Goに準拠した電子機器によって、USB接続された他の電子機器との間の通信を制御するための通信制御方法において、
前記電子機器をホスト側として動作させ、デバイス側の前記他の電子機器との通信を制御するホスト制御ステップと、
前記電子機器をデバイス側として動作させ、ホスト側の前記他の電子機器との通信を制御するデバイス制御ステップと、
を含む通信制御方法を提供する。
【００１２】
本発明の第３の態様によると、
USB  On-the-Goに準拠し、USB接続された他の電子機器と通信を行う電子機器を制御するコンピュータに、
前記電子機器をホスト側として動作させ、デバイス側の前記他の電子機器との通信を制御するホスト制御機能と、
前記電子機器をデバイス側として動作させ、ホスト側の前記他の電子機器との通信を制御するデバイス制御機能と、
を実現させるためのプログラムを提供する。
【発明の効果】
【００１３】
本発明によれば、パーソナルコンピュータを介在させずに、OTG規格に準拠したUSB周辺機器間でのリモートシンクロ制御を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る情報処理システムの構成を模式的に示す図である。
【図２】図１の情報処理システムのうち、本発明が適用される電子機器の一実施形態としてのデジタルカメラのハードウェアの構成を示すブロック図である。
【図３】図２のデジタルカメラのUSB通信制御処理の流れの一例を示すフローチャートである。
【図４】図３のUSB通信制御処理のホストモード制御処理の流れの一例を示すフローチャートである。
【図５】図３のUSB通信制御処理のデバイスモード制御処理の流れの一例を示すフローチャートである。
【図６】図３のUSB通信制御処理における、図２のデジタルカメラのホスト側とデバイス側との相互の処理の関係の一例を説明するフローチャートである。
【図７】図２のデジタルカメラがホスト側デジタルカメラとなった場合の機能を実現する機能ブロック図である。
【図８】図２のデジタルカメラがデバイス側デジタルカメラとなった場合の機能を実現する機能ブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態を図面に基づいて説明する。
【００１６】
図１は、本発明の一実施形態に係る情報処理システムの構成を模式的に示す図である。
【００１７】
図１に示す情報処理システムは、本発明が適用される電子機器の一実施形態としてのデジタルカメラ１−１乃至１−４の各々が、パーソナルコンピュータを介在せずにUSB接続することで構成されている。
即ち、デジタルカメラ１−１乃至１−４は、OTG規格に準拠したUSB周辺機器である。なお、デジタルカメラ１−１乃至１−４を個々に区別する必要が無い場合、以下、これらをまとめて「デジタルカメラ１」と呼ぶ。
【００１８】
デジタルカメラ１のUSB通信モジュール（以下、「USB通信制御部」とも呼ぶ）は、ホスト機能にもデバイス機能にもなり得るデュアルロールデバイス機能を有している。
なお、ホスト機能の実現によりホスト側となったデジタルカメラ１と、デバイス機能の実現によりデバイス側となったデジタルカメラ１とを個々に区別する必要がある場合、前者を「ホスト側デジタルカメラ１Ｈ」と呼び、後者を「デバイス側デジタルカメラ１Ｄ」と呼ぶ。
ホスト側デジタルカメラ１Ｈは、デバイス側デジタルカメラ１Ｄに対してリモートシンクロ制御を実行する。即ち、ホスト側デジタルカメラ１Ｈに対して指示操作がなされると、ホスト側デジタルカメラ１Ｈは、当該指示操作に従った処理を自機内で実行すると共に、デバイス側デジタルカメラ１Ｄに対しても当該指示操作に従った同様の処理を同期して実行させる。
【００１９】
図２は、デジタルカメラ１のハードウェアの構成を示すブロック図である。
【００２０】
デジタルカメラ１は、撮像部１１と、データ処理部１２と、ユーザインタフェース部１３と、を備えている。
【００２１】
撮像部１１は、光学レンズ部２１と、イメージセンサ２２と、を備える。
【００２２】
光学レンズ部２１は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサ２２の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
光学レンズ部２１にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００２３】
イメージセンサ２２は、光電変換素子や、AFE（Analog  Front  End）等から構成される。
光電変換素子は、例えばCMOS(Complementary  Metal  Oxide  Semiconductor)型の光電変換素子等から構成される。光電変換素子には、光学レンズ部２１からシャッタ部（図示せず）を介して被写体像が入射される。そこで、光電変換素子は、一定時間毎に被写体像を光電変換（撮影）して画像信号を蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。
AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、イメージセンサ２２の出力信号として出力される。
なお、以下、イメージセンサ２２の出力信号を、「画像データ」と呼ぶ。イメージセンサ２２から出力された画像データは、データ処理部１２に供給される。
【００２４】
データ処理部１２は、CPU（Central  Processing  Unit）３１と、ROM（Read  Only  Memory）３２と、RAM（Random  Access  Memory）３３と、メモリ３４と、表示制御部３５と、画像処理部３６と、USB通信制御部３７と、を備えている。
【００２５】
CPU３１は、ROM３２に記録されているプログラムに従って各種の処理を実行する。RAM３３には、CPU３１が各種の処理を実行する上において必要なデータ等が適宜記憶される。
【００２６】
本実施の形態では、後述する図７や図８の機能ブロック、例えば、撮像制御部７１、画像取得部７２、３Ｄ画像生成部７４、及び視差取得部７５の各機能の少なくとも一部を実行するプログラムが、ROM３２に記憶されている。従って、CPU３１が、このプログラムに従った処理を実行することで、これらの機能ブロックの各機能を実現することができる。なお、この場合、図７や図８の画像記憶部７３は、例えば後述するメモリ３４の一領域として構成される。
【００２７】
メモリ３４は、DRAM(Dynamic  Random  Access  Memory)等で構成され、イメージセンサ２２から出力された画像データを一時記憶する。また、メモリ３４は、各種画像処理に必要な画像データ、各種フラグの値、閾値等も記憶する。
【００２８】
表示制御部３５は、メモリ３４から画像データを読み出し、その画像データにより表現される画像（以下、「表示画像」と呼ぶ）を、表示部５１に表示させる制御を実行する。
【００２９】
画像処理部３６は、DSP(Digital  Signal  Processor)等で構成され、メモリ３４に記憶された画像データに対して、ホワイトバランス補正処理やγ補正処理等の各種画像処理を実行する。本実施形態では、後述する図７や図８の各種機能ブロックが実行する各種画像処理のうち少なくとも一部、例えば画像取得部７２の一部が、画像処理部３６において実行され、残りの一部がCPU３１やUSB通信制御部３７等において実行される。即ち、本実施形態では、図７や図８の機能的構成は、図２に示すCPU３１、画像処理部３６、USB通信制御部３７等のハードウェアと、ROM３２に記憶されたソフトウェアプログラムとの組み合わせとして構成されている。
【００３０】
USB通信制御部３７は、USBインタフェース部５５に接続されたUSB周辺機器、本実施形態では他のデジタルカメラ１との間の通信を制御する。
USB通信制御部３７は、ホストモード制御部４１と、デバイスモード制御部４２と、モード切替部４３と、を備えている。
ホストモード制御部４１は、デジタルカメラ１がホスト側として機能する場合に動作し、USBインタフェース部５５に接続された、デバイス側として機能する他のデジタルカメラ１との間の通信を制御する。なお、以下、デジタルカメラ１がホスト側として機能する動作モードを、「ホストモード」と呼ぶ。即ち、ホストモードで動作しているデジタルカメラ１が、ホスト側デジタルカメラ１Ｈになる。
デバイスモード制御部４２は、デジタルカメラ１がデバイス側として機能する場合に動作し、USBインタフェース部５５に接続された、ホスト側として機能する他のデジタルカメラ１との間の通信を制御する。なお、以下、デジタルカメラ１がデバイス側として機能する動作モードを、「デバイスモード」と呼ぶ。即ち、デバイスモードで動作しているデジタルカメラ１が、デバイス側デジタルカメラ１Ｄになる。
モード切替部４３は、デジタルカメラ１の動作モードを、ホストモードとデバイスモードとのうち一方から他方へ切り替える。
なお、USB通信制御部３７が有する各機能のうち、一部の機能をCPU３１に移譲すること、即ち、CPU３１が実行するソフトウェアプログラムによって一部の機能を実現することも可能である。
【００３１】
ユーザインタフェース部１３は、液晶ディスプレイ等で構成される表示部５１と、ユーザの指示操作を受け付ける各種キー（シャッタキーやズームキー等）で構成される操作部５２と、外部機器との間での通信を制御する通信部５３と、リムーバブルメディア６１に対するデータの読み書きを行うドライブ５４と、他のデジタルカメラ１等のUSB周辺機器と接続するUSBインタフェース部５５と、を備えている。
【００３２】
次に、このような構成を有するデジタルカメラ１と、USB接続された他のデジタルカメラ１との間で実行される、リモートシンクロ制御を実現するための通信制御の処理（以下、「USB通信制御処理」と呼ぶ）について説明する。
【００３３】
なお、USB通信制御処理の説明においては、USB接続された複数のデジタルカメラ１のうち、USB通信制御処理の動作主体として注目する１台のデジタルカメラ１を、「自カメラ１」と呼び、それ以外のデジタルカメラ１を、「他カメラ１」と呼ぶ。
また、USB通信制御処理の動作主体は、以下の説明ではUSB通信制御部３７であるとするが、必要に応じてCPU３１等にしてもよい。
【００３４】
図３は、USB通信制御処理の流れの一例を示すフローチャートである。
【００３５】
自カメラ１の電源がオン状態になると、USB通信制御処理は開始される。
【００３６】
ステップＳ１において、図２の自カメラ１のUSB通信制御部３７のモード切替部４３は、USBインタフェース部５５の接続状態を監視し、他カメラ１とのUSB接続検出があったか否かを判定する。
他カメラ１とのUSB接続検出が無い場合、ステップＳ１においてＮＯであると判定され、処理はステップＳ１に戻される。
即ち、他カメラ１とのUSB接続が検出されるまでの間、ステップＳ１ＮＯの判定処理が繰り返されて、自カメラ１の状態は、他カメラ１とのUSB接続待ち状態となる。
その後、他カメラ１がUSBインタフェース部５５に接続されると、他カメラ１とのUSB接続検出があったとして、ステップＳ１においてＹＥＳであると判定されて、処理はステップＳ２に進む。
【００３７】
ステップＳ２において、モード切替部４３は、USB接続ネゴシエーション処理を実行する。
【００３８】
ステップＳ３において、モード切替部４３は、自カメラ１の状態を、他カメラ１とのUSB接続待ち状態から、リモートシンクロ制御待機状態に移行させる。
【００３９】
ステップＳ４において、モード切替部４３は、自カメラ１からのキー入力処理があったか否かを判定する。
ここで、キー入力処理とは、操作部５２を構成する各種キーのうちの何れかが操作されて、CPU３１が当該操作を受け付ける処理をいう。
従って、操作部５２を構成する各種キーの何れもが操作されていない場合、ステップＳ４においてＮＯであると判定されて、処理はステップＳ６に進む。なお、ステップＳ６以降の処理については後述する。
これに対して、操作部５２を構成する各種キーのうちの何れかが操作された場合、ステップＳ４においてＹＥＳであると判定される。この場合、モード切替部４３は、自カメラ１の動作モードをホストモードに切り替えて、処理をステップＳ５に進める。
【００４０】
ステップＳ５において、ホスト側デジタルカメラ１Ｈとなった自カメラ１のホストモード制御部４１は、デバイス側デジタルカメラ１Ｄとなった他カメラ１との間の通信を制御する。なお、このようなステップＳ５の制御処理を、以下、「ホストモード制御処理」と呼ぶ。ホストモード制御処理の詳細については、図４のフローチャートを参照して後述する。
ステップＳ５のホストモード制御処理が終了すると、処理はステップＳ９に進む。
【００４１】
ステップＳ９において、モード切替部４３は、処理の終了が指示されたか否かを判定する。
処理の終了が指示された場合、ステップＳ９においてＹＥＳであると判定されて、USB通信制御処理は終了となる。
これに対して、処理の終了が未だ指示されていない場合、ステップＳ９においてＮＯであると判定されて、処理はステップＳ３に戻され、それ以降の処理が繰り返される。
【００４２】
このようにして、自カメラ１からのキー入力処理があった場合には、自カメラ１はホスト側デジタルカメラ１Ｈとなり、他カメラ１はデバイス側デジタルカメラ１Ｄとなる。
【００４３】
これに対して、自カメラ１からのキー入力処理がなかった場合には、ステップＳ４においてＮＯであると判定されて、自カメラ１はホスト側デジタルカメラ１Ｈとはならずに、処理はステップＳ６に進むことになる。
ステップＳ６において、モード切替部４３は、他カメラ１からの制御オペレーション処理があったか否かを判定する。
ここで、他カメラ１からの制御オペレーション処理とは、他カメラ１がホスト側デジタルカメラ１Ｈとなり、自カメラ１がデバイス側デジタルカメラ１Ｄとなる場合において、他カメラ１が、自カメラ１に対するリモートシンクロ制御を実行する処理をいう。本実施形態では、他カメラ１が後述する図４のホストモード制御処理を実行した場合に、他カメラ１からの制御オペレーション処理があったと判定されるものとする。
詳細については図４のホストモード制御処理として説明するが、他カメラ１は、ホスト側デジタルカメラ１Ｈとなる場合、ホスト側として機能できるか否かを確認するため、デバイス側デジタルカメラ１Ｄ（ここでは自カメラ１）の状態を取得するコマンドを発行する（図４のステップＳ２１参照）。
従って、当該コマンドが他カメラ１から送信されてきた場合、ステップＳ６においてＹＥＳであると判定される。この場合、モード切替部４３は、自カメラ１の動作モードをデバイスモードに切り替えて、処理をステップＳ７に進める。
【００４４】
ステップＳ７において、デバイス側デジタルカメラ１Ｄとなった自カメラ１のデバイスモード制御部４２は、ホスト側デジタルカメラ１Ｈとなった他カメラ１との間の通信を制御する。なお、このようなステップＳ７の制御処理を、以下、「デバイスモード制御処理」と呼ぶ。デバイスモード制御処理の詳細については、図５のフローチャートを参照して後述する。
ステップＳ７のデバイスモード制御処理が終了すると、処理はステップＳ９に進む。ステップＳ９以降の処理については上述したので、ここではその説明は省略する。
【００４５】
このようにして、他カメラ１からの制御オペレーション処理があった場合、自カメラ１はデバイス側デジタルカメラ１Ｄとなり、他カメラ１はホスト側デジタルカメラ１Ｈになる。
【００４６】
これに対して、自カメラ１からのキー入力処理がなく、かつ、他カメラ１からの制御オペレーション処理がない場合、自カメラ１は、ホスト側デジタルカメラ１Ｈとデバイス側デジタルカメラ１Ｄとのうちの何れで機能するのかを決定することができない。従って、このような場合には、ステップＳ６においてＮＯであると判定されて、処理はステップＳ８に進むことになる。
ステップＳ８において、モード切替部４３は、自カメラ１の状態を、リモートシンクロ制御待機状態から、アイドル状態に移行させる。
これにより、処理はステップＳ９に進む。ステップＳ９以降の処理については上述したので、ここではその説明は省略する。
【００４７】
次に、ステップＳ５のホストモード制御処理と、ステップＳ７のデバイスモード制御処理との各々の詳細について説明する。
【００４８】
図４は、ステップＳ５のホストモード制御処理の詳細な流れの一例を示すフローチャートである。
図５は、ステップＳ７のデバイスモード制御処理の詳細な流れの一例を示すフローチャートである。
図６は、自カメラ１と他カメラ１との相互の処理の関係の一例を説明するフローチャートである。
【００４９】
なお、図６に示すように、自カメラ１は、図４のホストモード制御処理を実行する場合には、ホスト側デジタルカメラ１Ｈになる。よって、この場合、他カメラ１は、デバイス側デジタルカメラ１Ｄとなり、図５のデバイスモード制御処理を実行する。
これに対して、自カメラ１は、図５のデバイスモード制御処理を実行する場合には、デバイス側デジタルカメラ１Ｄになる。よって、この場合、他カメラ１は、ホスト側デジタルカメラ１Ｈとなり、図４のホストモード制御処理を実行する。
【００５０】
はじめに、主に図４を参照して、ホストモード制御処理について説明する。
なお、ホスト側デジタルカメラ１Ｈとなった自カメラ１と、デバイス側デジタルカメラ１Ｄとなった他カメラ１との相互の処理関係は、図６の対応するステップを参照することで理解することが可能である。
この場合の動作主体は、詳細には、自カメラ１はホストモード制御部４１であり、他カメラ１はデバイスモード制御部４２である。ただし、以下の説明においては、動作主体は、便宜上、自カメラ１と他カメラ１であるものとする。
【００５１】
図３を用いて上述したように、自カメラ１からのキー入力処理があると、ステップＳ４の処理でＹＥＳであると判定されて、ステップＳ５のホストモード制御処理が実行される。
【００５２】
ステップＳ２１において、自カメラ１は、ホスト側として機能できるか否かを確認するため、他カメラ１の状態を取得するコマンドを、他カメラ１へ発行する。
【００５３】
他カメラ１は、当該コマンドを受信すると、自機の状態を示すレスポンスを自カメラ１に送信してくる（後述する図５のステップＳ４１乃至Ｓ４４）。
【００５４】
ステップＳ２２において、自カメラ１は、他カメラ１の状態を示す当該レスポンスを受信する。
【００５５】
ステップＳ２３において、自カメラ１は、当該レスポンスに基づいて、自機がホストになれるか否かを判定する。
例えば、他カメラ１がコマンドを受け付けられる状態でない場合には、動作Busy状態を示すレスポンスが送信されてくる（後述する図５のステップＳ４２ＮＯ，Ｓ４３）。ステップＳ２２の処理で当該レスポンスを受信した場合、自カメラ１は、ステップＳ２３において、自機がホストになれないと判定して、処理をステップＳ２１に戻し、それ以降の処理を繰り返す。即ち、自カメラ１がホストになれるまでの間、ステップＳ２１乃至Ｓ２３ＮＯのループ処理が繰り返される。
その後例えば、他カメラ１がコマンドを受け付けられる状態となった場合には、コマンド受け付け可能状態を示すレスポンスが送信されてくる（後述する図５のステップＳ４２ＹＥＳ，Ｓ４４）。ステップＳ２２の処理で当該レスポンスを受信した場合、自カメラ１は、ステップＳ２３において、自機がホストになれると判定して、処理をステップＳ２４に進める。
【００５６】
ステップＳ２４において、自カメラ１は、図３のステップＳ４の処理時点の自機からのキー入力処理に基づいて、キー入力コマンドを生成し、他カメラ１へ発行する。
キー入力コマンドとは、自カメラ１からのキー入力処理により受け付けられた操作内容で特定されるユーザの指示を示すコマンドをいう。
例えば、シャッタキーが押下操作された場合には、撮像及び記録動作の指示のコマンドが、キー入力コマンドになる。また例えば、ズームキーが押下操作された場合には、ズーム動作の指示のコマンドが、キー入力コマンドになる。また例えば、所定のキー操作によって、撮影条件の指示、例えば露出や撮影速度を指定する指示がなされた場合には、これらの指示のコマンドが、キー入力コマンドになる。
【００５７】
他カメラ１は、キー入力コマンドを受信すると、当該キー入力コマンドに従った処理を実行する（後述する図５のステップＳ４５）。
【００５８】
この間、自カメラ１は、ステップＳ２５において、自機の状態をレスポンス待機状態へ移行させ、ステップＳ２６において、他カメラ１からの動作完了通知を示すレスポンスを受信したか否かを判定する。
他カメラ１から動作完了通知を示すレスポンスが受信されていない場合、ステップＳ２６においてＮＯであると判定され、処理はステップＳ２５に戻される。
即ち、他カメラ１がキー入力コマンドに従った処理を実行している間（後述する図５のステップＳ４６ＮＯのループ処理が繰り返されている間）、動作完了通知を示すレスポンスは他カメラ１から送信されないので、自カメラ１は、ステップＳ２５及びＳ２６ＮＯのループ処理を繰り返すことで、レスポンス待機状態を維持させる。
その後、他カメラ１が、キー入力コマンドに従った処理を完了し、動作完了通知を示すレスポンスを送信すると、自カメラ１は、当該レスポンスを受信する。これにより、ステップＳ２６においてＹＥＳであると判定されて、ホストモード制御処理は終了となる。即ち、図３のステップＳ５の処理が終了し、処理はステップＳ９に進む。
【００５９】
このようにして、自カメラ１は、自機からのキー入力処理があると、ホストモード制御処理を実行する。自カメラ１は、さらに、ホストモード制御処理と並行して、キー入力コマンドに従った処理を自機内でも実行する。
即ち、自カメラ１と他カメラ１とは同期して、同一のキー入力コマンドに従った同様の処理をそれぞれ実行する。
例えば、キー入力コマンドとして、ズーム動作の指示のコマンドが発行された場合には、自カメラ１と他カメラ１とは同期してそれぞれズーム動作をする。
例えば、キー入力コマンドとして、撮影条件の指示、具体的には例えば露出や撮影速度を指定する指示がなされた場合には、自カメラ１と他カメラ１とは同期してそれぞれ撮影条件の設定（更新）動作をする。
例えば、キー入力コマンドとして、撮像及び記録の指示のコマンドが発行された場合には、自カメラ１と他カメラ１とは同期してそれぞれ撮像動作をする。この場合、他カメラ１の撮像動作の結果得られる画像データは、自カメラ１に転送されて記録される。即ち、自カメラ１の撮像動作の結果得られる画像データと、他カメラ１の撮像動作の結果得られる画像データとは、自カメラ１において対応付けて記録される。なお、撮像及び記録の指示のコマンドが発行された場合の更なる詳細については、図７及び図８を用いて後述する。
このようにして、自カメラ１によるリモートシンクロ制御が実現される。
【００６０】
次に、主に図５を参照して、デバイスモード制御処理について説明する。
なお、デバイス側デジタルカメラ１Ｄとなった自カメラ１と、ホスト側デジタルカメラ１Ｈとなった他カメラ１との相互の処理関係は、図６の対応するステップを参照することで理解することが可能である。
この場合の動作主体は、詳細には、自カメラ１はデバイスモード制御部４２であり、他カメラ１はホストモード制御部４１である。ただし、以下の説明においては、動作主体は、便宜上、自カメラ１と他カメラ１とであるものとする。
【００６１】
他カメラ１は、ホスト側デジタルカメラ１Ｈとなる場合には先ず、ホスト側として機能できるか否かを確認するため、自カメラ１の状態を取得するコマンドを発行する（上述した図４のステップＳ２１）。自カメラ１は、当該コマンドを受信すると、デバイスモード制御処理を開始させる。
【００６２】
ステップＳ４１において、自カメラ１は、自機の状態を取得する。
自カメラ１が取得する状態の種類は特に限定されないが、大別して、他カメラ１からのコマンドを受け付けられる状態と、他カメラ１からのコマンドを受け付けられない状態とが存在するものとする。後者の状態、即ち、他カメラ１からのコマンドを受け付けられない状態としては、例えば、処理中状態やエラー状態等が存在する。
【００６３】
ステップＳ４２において、自カメラ１は、ステップＳ４１の処理で取得した状態が、他カメラ１からのコマンドを受け付けられる状態であるか否かを判定する。
【００６４】
ステップＳ４１の処理で取得された状態が、他カメラ１からのコマンドを受け付けられない状態である場合、例えば、処理中状態やエラー状態等である場合、ステップＳ４２においてＮＯであると判定されて、処理はステップＳ４３に進む。
ステップＳ４３において、自カメラ１は、動作Busy状態を示すレスポンスを他カメラ１に送信する。
これにより、デバイスモード制御処理は終了となる。即ち、図３のステップＳ７の処理は終了し、処理はステップＳ９に進む。
【００６５】
これに対して、ステップＳ４１の処理で取得された状態が、他カメラ１からのコマンドを受け付けられる状態である場合、ステップＳ４２においてＹＥＳであると判定されて、処理はステップＳ４４に進む。
【００６６】
ステップＳ４４において、自カメラ１は、コマンド受け付け可能状態を示すレスポンスを他カメラ１に送信する。
【００６７】
他カメラ１は、当該レスポンスを受信すると、キー入力コマンドを生成し、自カメラ１へ発行する（上述した図４のステップＳ２２乃至Ｓ２４）。
【００６８】
ステップＳ４５において、自カメラ１は、他カメラ１からの当該キー入力コマンドを受信する。そして、自カメラ１は、受信したキー入力コマンドに従った動作処理を実行する。
【００６９】
ステップＳ４６において、自カメラ１は、キー入力コマンドに従った動作処理が完了したか否かを判定する。
キー入力コマンドに従った動作処理が完了していない場合、ステップＳ４６においてＮＯであると判定され、処理はステップＳ４６に戻される。
即ち、キー入力コマンドに従った動作処理が実行中の間、ステップＳ４６ＮＯの判定処理が繰り返されて、デバイスモード制御処理は待機状態となる。
その後、キー入力コマンドに従った動作処理が完了すると、ステップＳ４６においてＹＥＳであると判定されて、処理はステップＳ４７に進む。
【００７０】
ステップＳ４７において、自カメラ１は、動作完了通知を示すレスポンスを他カメラ１に送信する。
これにより、デバイスモード制御処理は終了となる。即ち、図３のステップＳ７の処理は終了し、処理はステップＳ９に進む。
【００７１】
このように、自カメラ１は、デバイス側デジタルカメラ１Ｄとなっている場合には、ホスト側デジタルカメラ１Ｈとなっている他カメラ１から発行されたキー入力コマンドを受信し、当該キー入力コマンドに従った処理を実行する。このとき、他カメラ１においても、キー入力コマンドに従った処理が実行されている。即ち、自カメラ１と他カメラ１とは同期して、同一のキー入力コマンドに従った動作処理をそれぞれ実行する。このようにして、他カメラ１によるリモートシンクロ制御が実現される。
【００７２】
次に、このようなUSB通信制御処理に従ったリモートシンクロ制御の例として、３Ｄ画像を取得するまでの制御について説明する。
【００７３】
図７は、ホスト側デジタルカメラ１Ｈのデータ処理部１２が有する機能のうち、デバイス側デジタルカメラ１Ｄに対するリモートシンクロ制御を実行して３Ｄ画像を取得するまでの機能を実現する機能ブロック図である。
【００７４】
ホスト側デジタルカメラ１ＨのUSB通信制御部３７においては、図７に示すように、ホストモード制御部４１が動作する。
ホスト側デジタルカメラ１Ｈは、このようなホストモード制御部４１に加えて、撮像制御部７１と、画像取得部７２と、画像記憶部７３と、３Ｄ画像生成部７４と、視差取得部７５と、を備えている。
【００７５】
撮像制御部７１は、操作部５２からの信号に基づいてユーザの指示を解釈し、その指示に従って撮像部１１の撮像動作を制御する。即ち、撮像制御部７１は、上述したキー入力処理を実行することによって、ユーザの指示を解釈して、その指示に従って撮像部１１の撮像動作を制御する。
【００７６】
撮像制御部７１によるキー入力処理が実行されると、ホストモード制御部４１は、図４に示すホストモード制御処理を実行する。
例えば、操作部５２のうちシャッタキーが押下された場合には、ホストモード制御部４１は、撮像及び記録動作の指示のコマンドを、キー入力コマンドとして、デバイス側デジタルカメラ１Ｄに発行する。
すると、デバイス側デジタルカメラ１Ｄは、当該キー入力コマンドに基づいて、被写体を撮像して、その結果得られる撮像画像の画像データ（以下、「他カメラ画像データ」と呼ぶ）を送信してくる。
ホストモード制御部４１は、他カメラ画像データをUSBインタフェース部５５を介して受信して、画像取得部７２に供給する。
【００７７】
画像取得部７２は、このようにしてホストモード制御部４１から他カメラ画像データを取得する。
ここで、ホストモード制御部４１によるリモートシンクロ制御によってデバイス側デジタルカメラ１Ｄが撮像動作をしているのと同期して、自カメラ１であるホスト側デジタルカメラ１Ｈの撮像部１１も、撮像制御部７１の制御の下、被写体を撮像する撮像動作をしている。
従って、画像取得部７２はまた、他カメラ画像データと共に、自カメラ１であるホスト側デジタルカメラ１Ｈの撮像部１１から出力される撮像画像の画像データ（以下、「自カメラ画像データ」と呼ぶ）も取得する。
画像取得部７２は、自カメラ画像データ及び他カメラ画像データを対応付けて画像記憶部７３に記憶させる。
【００７８】
３Ｄ画像生成部７４は、画像記憶部７３に対応付けて記憶された自カメラ画像データ及び他カメラ画像データ、並びに、視差取得部７５により取得された視差情報に基づいて３Ｄ画像を生成する。例えば、３Ｄ画像生成部７４は、自カメラ画像データと他カメラ画像データとのうち、一方に基づいて右目観察用の画像のデータを生成し、他方に基づいて左目観察用の画像のデータを生成する。
【００７９】
視差取得部７５は、自カメラ画像データと他カメラ画像データとの各々により表現される両者の撮像画像間の視差を示す情報、即ち視差情報を取得する。
視差取得部７５による視差情報の取得手法は、特に限定されず、例えば図示はしないが、ユーザが操作部５２を操作して手動で入力した情報を視差情報として取得する手法を採用してもよいし、リモートシンクロ制御により送受信した各種情報を用いて所定の演算をし、その演算結果を視差情報として取得する手法を採用してもよい。
【００８０】
図８は、デバイス側デジタルカメラ１Ｄのデータ処理部１２が有する機能のうち、３Ｄ画像を取得するホスト側デジタルカメラ１Ｈによるリモートシンクロ制御を受け付ける場合の機能を実現する機能ブロック図である。
【００８１】
デバイス側デジタルカメラ１ＤのUSB通信制御部３７においては、図８に示すように、デバイスモード制御部４２が動作する。
デバイス側デジタルカメラ１Ｄも、必要に応じてホスト側デジタルカメラ１Ｈにもなれるため、撮像制御部７１乃至視差取得部７５をそのまま備えている。ただし、デバイス側デジタルカメラ１Ｄとして動作する場合には、撮像制御部７１乃至視差取得部７５のうち、図８において実線で示す撮像制御部７１及び画像取得部７２のみが動作し、図８において点線で示す画像記憶部７３乃至視差取得部７５の動作は停止する。
【００８２】
デバイスモード制御部４２が図５に示すデバイスモード制御処理を実行している最中に、例えば、ホスト側デジタルカメラ１Ｈのシャッタキーが押下された場合には、撮像及び記録動作の指示のコマンドが、キー入力コマンドとして、ホスト側デジタルカメラ１Ｈから発行される。
すると、デバイスモード制御部４２は、当該キー入力コマンドをUSBインタフェース部５５を介して受信して、撮像制御部７１に供給する。
【００８３】
撮像制御部７１は、デバイスモード制御部４２から供給された当該キー入力コマンドに基づいて、ユーザの指示とは撮像及び記録動作の指示であると解釈し、その指示に従って撮像部１１の撮像動作を制御する。
すると、撮像部１１は、被写体を撮像し、その結果得られる撮像画像の画像データを出力する。
【００８４】
画像取得部７２は、撮像部１１から出力された画像データを取得して、デバイスモード制御部４２に供給する。
デバイスモード制御部４２は、画像取得部７２から取得された画像データを、ホスト側デジタルカメラ１Ｈにとっての他カメラ画像データとして、USBインタフェース部５５を介して送信する。
【００８５】
なお、上述した説明では、便宜上、キー入力コマンドとして、撮像及び記録の指示のコマンドが発行された場合についてのみ説明したが、当然ながら、発行されるキー入力コマンドの種類は、撮像及び記録の指示のコマンドに限定されない。
例えば、キー入力コマンドとして、ズーム動作の指示のコマンドが発行された場合には、ホスト側デジタルカメラ１Ｈとデバイス側デジタルカメラ１Ｄとは同期してそれぞれズーム動作をする。
例えば、キー入力コマンドとして、撮影条件の指示、具体的には例えば露出や撮影速度を指定する指示がなされた場合には、ホスト側デジタルカメラ１Ｈとデバイス側デジタルカメラ１Ｄとは同期してそれぞれ撮影条件の設定（更新）動作をする。
【００８６】
以上説明したように、本実施形態に係るデジタルカメラ１は、OTG規格に準拠したUSB周辺機器であって、他のUSB周辺機器との間の通信を制御するUSB通信制御部３７を備えている。このUSB通信制御部３７は、ホスト側として機能して、デバイス側のUSB周辺機器との通信を制御するホストモード制御部４１と、デバイス側として機能して、ホスト側のUSB周辺機器との通信を制御するデバイスモード制御部４２と、を有している。
【００８７】
これにより、パーソナルコンピュータを介在させずに、OTG規格に準拠したデジタルカメラ１間でのリモートシンクロ制御が実現可能になる。
その結果、［発明が解決しようとする課題］の欄で上述した３つの課題を解決することが可能になる。即ち、リモート制御用のパーソナルコンピュータ、並びにリモート制御用のパーソナルコンピュータのドライバ及びアプリケーションソフトウェアが不要になり、デジタルカメラ１同士での操作制御が手軽に実現可能になる。また、ユーザにとっては、ホスト側デジタルカメラ１Ｈを操作するだけで、デバイス側デジタルカメラ１Ｄに対しても同様の操作をしたことになるため、リモートシンクロ制御のための直観的な操作が可能になる。さらに、ユーザは、パーソナルコンピュータ用のアプリケーションソフトウェアの動作に必要な煩雑な操作を習得する必要も無くなる。
【００８８】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００８９】
例えば、上述した実施形態でいうUSB接続による通信の形態は、特に限定されず、有線通信であってもよいし、無線通信であってもよい。例えば、有線通信とする場合には、USBケーブルをUSBインタフェース部５５に接続すればよい。また例えば、無線通信とする場合には、ブルートゥース等による無線通信が可能な無線モジュールを、USBインタフェース部５５に接続すればよい。
【００９０】
また例えば、上述した実施形態では、ホスト側デジタルカメラ１Ｈによるリモートシンクロ制御の対象は、説明の便宜上、１台のデバイス側デジタルカメラ１Ｄとしたが、当然ながら２台以上のデバイス側デジタルカメラ１Ｄとしてもよい。即ち、リモートシンクロ制御により同期して動作するデジタルカメラ１の台数は、２台以上であれば特に限定されない。
【００９１】
また例えば、本発明が適用される電子機器は、デジタルカメラ１として構成される例として説明した。しかしながら、本発明は、デジタルカメラ１に特に限定されず、OTG規格に準拠した電子機器（USB周辺機器）一般に適用することができる。具体的には例えば、本発明は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機等に適用可能である。
【００９２】
同様に、上述した実施形態では、本発明が適用される電子機器にUSB接続される他の電子機器も、デジタルカメラ１として構成される例として説明した。しかしながら、本発明は、デジタルカメラ１に特に限定されず、OTG規格に準拠した他の電子機器（USB周辺機器）一般に適用することができる。具体的には例えば、本発明が適用される電子機器は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機等を他の電子機器として通信することが可能である。
【００９３】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【００９４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００９５】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア（例えば図２のリムーバブルメディア６１）により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact  Disk-Read  Only  Memory)，DVD(Digital  Versatile  Disk)等により構成される。光磁気ディスクは、MD（Mini-Disk）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている、図２のROM３２や、図示せぬハードディスク等で構成される。
【００９６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【００９７】
１・・・デジタルカメラ、１Ｄ・・・デバイス側デジタルカメラ、１Ｈ・・・ホスト側デジタルカメラ、１１・・・撮像部、１２・・・データ処理部、１３・・・ユーザインタフェース部、３１・・・CPU、３２・・・ROM、３３・・・RAM、３７・・・USB通信制御部、４１・・・ホストモード制御部、４２・・・デバイスモード制御部、４３・・・モード切替部、５２・・・操作部、５５・・・USBインタフェース部、６１・・・リムーバブルメディア、７１・・・撮像制御部、７２・・・画像取得部、７３・・・画像記憶部、７４・・・３Ｄ画像生成部、７５・・・視差取得部
【図１】
2011160107.tif 000003
【図２】
2011160107.tif 000004
【図３】
2011160107.tif 000005
【図４】
2011160107.tif 000006
【図５】
2011160107.tif 000007
【図６】
2011160107.tif 000008
【図７】
2011160107.tif 000009
【図８】
2011160107.tif 000010