(57)【要約】【課題】デジタルビデオ装置の状態が所定の状態に変化したか否かを確実に知ることができるようにする。【解決手段】ＤＶ制御プログラム１０７は、ＤＶＣ１０からＡＣＫを受信した後、wTransportTimeoutフィールドから得たトランスポートタイムアウトが経過したか否かを判定する（Ｓ４０５）。トランスポートタイムアウトが経過するまでに状態変化通知を受信した場合、あるいは、トランスポートタイムアウトが経過するまでに状態変化通知を受信できなかった場合、ＤＶ制御プログラム１０７はコントロールパイプ３１を介してＰＣ１０にステータスリクエスト（ＤＶＣ２０の現在の状態を表すステータス情報を要求するリクエスト）を送信する（Ｓ４０６）。【選択図】      図４
2004194257.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御装置であって、
前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＡＣＫであるか否かを判定し、
前記応答がＡＣＫであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置の状態が変化したことを前記制御装置に通知する通知情報を受信したか否かを判定し、
前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置の状態を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信することを特徴とする制御装置。
【請求項２】
前記制御装置は、前記第１のリクエストおよび前記第２のリクエストをＵＳＢで規定されたコントロールパイプを介して前記デジタルビデオ装置に送信する装置であることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御装置は、前記通知情報をＵＳＢで規定されたインタラプトパイプを介して受信することを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記制御装置は、前記所定の時間を前記デジタルビデオ装置のディスクリプタ情報から得ることを特徴とする請求項１〜３の何れか１項に記載の制御装置。
【請求項５】
ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御方法であって、
前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＡＣＫであるか否かを判定する第１の判定工程と、
前記応答がＡＣＫであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置の状態が変化したことを前記制御装置に通知する通知情報を受信したか否かを判定する第２の判定工程と、
前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置の状態を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信する送信工程とを有することを特徴とする制御方法。
【請求項６】
前記送信工程は、前記第１のリクエストおよび前記第２のリクエストをＵＳＢで規定されたコントロールパイプを介して前記デジタルビデオ装置に送信する工程であることを特徴とする請求項５に記載の制御方法。
【請求項７】
前記第２の判定工程は、前記通知情報をＵＳＢで規定されたインタラプトパイプを介して受信する工程であることを特徴とする請求項５又は６に記載の制御方法。
【請求項８】
さらに、前記所定の時間を前記デジタルビデオ装置のディスクリプタ情報から得る工程を有することを特徴とする請求項５〜７の何れか１項に記載の制御方法。
【請求項９】
ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御装置であって、
前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＳＴＡＬＬであるか否かを判定し、
前記応答がＳＴＡＬＬであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置にエラーが生じたことを前記制御装置に通知する通知情報を受信したか否かを判定し、
前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置に発生したエラーの原因を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信することを特徴とする制御装置。
【請求項１０】
前記制御装置は、前記第１のリクエストおよび前記第２のリクエストをＵＳＢで規定されたコントロールパイプを介して前記デジタルビデオ装置に送信する装置であることを特徴とする請求項９に記載の制御装置。
【請求項１１】
前記制御装置は、前記通知情報をＵＳＢで規定されたインタラプトパイプを介して受信することを特徴とする請求項９又は１０に記載の制御装置。
【請求項１２】
前記制御装置は、前記所定の時間を前記デジタルビデオ装置のディスクリプタ情報から得ることを特徴とする請求項９〜１１の何れか１項に記載の制御装置。
【請求項１３】
ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御方法であって、
前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＳＴＡＬＬであるか否かを判定する第１の判定工程と、
前記応答がＳＴＡＬＬであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置にエラーが生じたことを前記制御装置に通知する通知情報を受信したか否かを判定する第２の判定工程と、
前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置に発生したエラーの原因を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信する送信工程とを有することを特徴とする制御方法。
【請求項１４】
前記送信工程は、前記第１のリクエストおよび前記第２のリクエストをＵＳＢで規定されたコントロールパイプを介して前記デジタルビデオ装置に送信する工程であることを特徴とする請求項１３に記載の制御方法。
【請求項１５】
前記第２の判定工程は、前記通知情報をＵＳＢで規定されたインタラプトパイプを介して受信する工程であることを特徴とする請求項１３又は１４に記載の制御方法。
【請求項１６】
さらに、前記所定の時間を前記デジタルビデオ装置のディスクリプタ情報から得る工程を有することを特徴とする請求項１３〜１５の何れか１項に記載の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御装置および制御方法に関する。
【０００２】
【従来の技術】
パーソナルコンピュータとデジタルビデオ装置（デジタルビデオカメラなど）との間を接続する技術の一つにＵＳＢ（Universal Serial Bus）がある。ＵＳＢには、ＵＳＢ１．１（参考文献：Universal Serial Bus Specification Revision 1.1, September 23, 1998）、ＵＳＢ２．０（参考文献：Universal Serial Bus Specification Revision 2.0, April 27, 2000）などがあることが知られている。
【０００３】
【非特許文献１】
Universal Serial Bus Specification Revision 1.1, September 23, 1998
【非特許文献２】
Universal Serial Bus Specification Revision 2.0, April 27, 2000
【０００４】
【発明が解決しようとする課題】
ＵＳＢを用いてデジタルビデオ装置を制御する制御システムを構成する場合には、デジタルビデオ装置の状態が所定の状態（順方向／逆方向再生、停止、一時停止、記録、記録一時停止、順方向／逆方向高速再生、順方向／逆方向スロー再生など）に変化したか否かをホスト（パーソナルコンピュータなど）に確実に知らせる方法が必要である。
【０００５】
また、デジタルビデオ装置の状態を所定の状態に変化させることができなかった原因をホスト（パーソナルコンピュータなど）に確実に知らせる方法も必要である。
【０００６】
本発明の目的の一つは、デジタルビデオ装置の状態が所定の状態に変化したか否かを確実に知ることができる制御装置および制御方法を提供することである。さらに、本発明の目的の一つは、デジタルビデオ装置の状態を所定の状態に変化させることができなかった原因を確実に知ることができる制御装置および制御方法を提供することである。
【０００７】
【課題を解決するための手段】
本発明の制御装置の一つは、ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御装置であって、前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＡＣＫであるか否かを判定し、前記応答がＡＣＫであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置の状態が変化したことを前記制御装置に通知する通知情報を受信したか否かを判定し、前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置の状態を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信することを特徴とする。
【０００８】
本発明の制御方法の一つは、ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御方法であって、前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＡＣＫであるか否かを判定する第１の判定工程と、前記応答がＡＣＫであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置の状態が変化したことを前記制御装置に通知する通知情報を受信したか否かを判定する第２の判定工程と、前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置の状態を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信する送信工程とを有することを特徴とする。
【０００９】
本発明の制御装置の一つは、ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御装置であって、前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＳＴＡＬＬであるか否かを判定し、前記応答がＳＴＡＬＬであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置にエラーが生じたことを前記制御装置に通知する通知情報を受信したか否かを判定し、前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置に発生したエラーの原因を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信することを特徴とする。
【００１０】
本発明の制御方法の一つは、ＵＳＢ（Universal Serial Bus）を用いてデジタルビデオ装置を制御する制御方法であって、前記デジタルビデオ装置の状態を所定の状態に変更することを要求する第１のリクエストに対する応答がＳＴＡＬＬであるか否かを判定する第１の判定工程と、前記応答がＳＴＡＬＬであると判定した場合は、所定の時間が経過するまでに前記デジタルビデオ装置にエラーが生じたことを前記制御装置に通知する通知情報を受信したか否かを判定する第２の判定工程と、前記所定の時間が経過するまでに前記通知情報を受信できなかった場合は、前記デジタルビデオ装置に発生したエラーの原因を表す情報を要求する第２のリクエストを前記デジタルビデオ装置に送信する送信工程とを有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
（第１の実施の形態）
図１は、本実施の形態における制御システムを示す図である。ＰＣ（パーソナルコンピュータ）１０は、本実施の形態における制御装置である。ＤＶＣ（デジタルビデオカメラ）２０は、本実施の形態におけるデジタルビデオ装置である。
【００１２】
ＰＣ１０は、ＵＳＢインターフェース部１０１、制御部１０２、表示部１０３、ストレージ部１０４、キーボード１０５およびポインティングデバイス１０６を有する。ＵＳＢインターフェース部１０１は、ＵＳＢ１．１、ＵＳＢ２．０などに準拠するものである。制御部１０２は、ＣＰＵ（Central Processing Unit）およびメモリを有し、ＰＣ１０の動作を制御する。ストレージ部１０４は、ハードディスクなどの記録媒体を有するものである。ポインティングデバイス１０６は、マウス、トラックパッドなどである。
【００１３】
また、ＰＣ１０には、ＤＶ制御プログラム１０７およびＵＳＢドライバ１０８がインストールされている。ＤＶ制御プログラム１０７は、ＵＳＢインターフェース部１０１を用いてＤＶＣ２０を制御するためのアプリケーションソフトウェアである。ＵＳＢドライバ１０８は、ＰＣ１０とＤＶＣ２０との間の通信を制御するソフトウェアである。本実施の形態におけるＰＣ１０は、ＤＶ制御プログラム１０７に従ってＤＶＣ２０を制御することができる。
【００１４】
ＤＶＣ１０は、カメラ部２０１、デジタルビデオ部２０２、記録媒体２０３、ＵＳＢインターフェース部２０４、制御部２０５およびメモリ２０６を有する。カメラ部２０１は、イメージセンサなどを用いて被写体のデジタルビデオデータを生成する機能を有する。デジタルビデオ部２０２は、カメラ部２０１から得られたデジタルビデオデータを記録媒体２０３に記録する機能、記録媒体２０３に記録されたデジタルビデオデータを再生する機能を有する。記録媒体２０３は、磁気テープ、磁気ディスク、光磁気ディスク、半導体メモリ、ハードディスクなどである。ＵＳＢインターフェース部２０４は、ＵＳＢインターフェース部１０１と同様に、ＵＳＢ１．１、ＵＳＢ２．０などに準拠するものである。
【００１５】
制御部２０５は、マイクロコンピュータおよびメモリを有し、ＤＶＣ２０の動作を制御する。メモリ２０６は、ＤＶＣ２０の能力、機能などに関する様々な情報を記述したディスクリプタ情報（デバイスディスクリプタ、コンフィグレーションディスクリプタ、インターフェースディスクリプタなどを含む）を記憶するメモリである。
【００１６】
コントロールパイプ３１は、ＰＣ１０のＵＳＢドライバ１０８がＰＣ１０のコントロールエンドポイントとＤＶＣ２０のコントロールエンドポイントとの間に自動的に設定する第１の論理的なコネクションである。コントロールパイプ３１は、ＤＶＣ２０に対するリクエストをＵＳＢ規格のコントロール転送を用いてＤＶＣ２０又はＰＣ１０に転送するのに必要なコネクションである。エラーコードリクエスト（ＤＶＣ１０で発生したエラーの原因を表すエラーコードを要求するリクエスト）、ステータスリクエスト（ＤＶＣ２０の現在の状態を表すステータス情報を要求するリクエスト）などもコントロールパイプ３１を介してＤＶＣ２０に送信される。
【００１７】
アイソクロナスパイプ３２は、ＰＣ１０のＵＳＢドライバ１０８がＤＶＣ２０のディスクリプタ情報に従ってＰＣ１０のアイソクロナスエンドポイントとＤＶＣ２０のアイソクロナスエンドポイントとの間に自動的に設定する第２の論理的なコネクションである。アイソクロナスパイプ３２は、記録媒体２０３から再生されたデジタルビデオデータをＵＳＢ規格のアイソクロナス転送を用いてＰＣ１０に送信するのに必要なコネクションである。なお、アイソクロナス転送（isochronous transfer）は、一定の時間内に一定の量のデータの転送を保証する転送方式である。
【００１８】
インタラプトパイプ３３は、ＰＣ１０のＵＳＢドライバ１０８がＤＶＣ２０のディスクリプタ情報に従ってＰＣ１０のインタラプトエンドポイントとＤＶＣ２０のインタラプトエンドポイントとの間に自動的に設定する第３の論理的なコネクションである。インタラプトパイプ３３は、状態変化通知（ＤＶＣ２０の現在の状態が変化したことをＰＣ１０に通知するための情報）、エラー通知（ＤＶＣ２０にエラーが発生したことをＰＣ１０に通知するための情報）などをＵＳＢ規格のインタラプト転送を用いてＰＣ１０に送信するのに必要なコネクションである。
【００１９】
図２は、図１のメモリ２０６が記憶するインターフェースディスクリプタの一つを示す図である。インターフェースディスクリプタは、図２に示すように、bLengthフィールド（Offset＝０）、bDescriptorTypeフィールド（Offset＝１）、bDescriptorSubtypeフィールド（Offset＝２）、bTerminalIDフィールド（Offset＝３）、wTerminalTypeフィールド（Offset＝４）、bAssocTerminalフィールド（Offset＝６）、iTerminalフィールド（Offset＝７）、wTransportTimeoutフィールド（Offset＝８）、wErrorTimeoutフィールド（Offset＝１０）、bControlSizeフィールド（Offset＝１２）およびbmControlsフィールド（Offset＝１３）を有する。各フィールドの内容は、図２に示すとおりである。
【００２０】
wTransportTimeoutフィールドおよびwErrorTimeoutフィールドは重要なフィールドであるので、詳細に説明する。wTransportTimeoutフィールドは、トランスポートタイムアウトと呼ばれる値を記述するフィールドである。トランスポートタイムアウトは、ＤＶ制御プログラム１０７が状態変化通知を受信できるまで待機しなければならない時間を表す値である。トランスポートタイムアウトが経過するまでの間にＤＶ制御プログラム１０７がＤＶＣ２０から状態変化通知を受信することができなかった場合、ＤＶ制御プログラム１０７はステータスリクエストをＤＶＣ２０に自動的に送信する。これにより、何らかの理由によりＤＶＣ２０から状態変化通知を受信できなくても、ＤＶ制御プログラム１０７はＤＶＣ２０の現在の状態を最適なタイミングで確実に知ることができる。本実施の形態では、トランスポートタイムアウトを５秒とする。
【００２１】
wErrorTimeoutフィールドは、エラータイムアウトと呼ばれる値を記述するフィールドである。エラータイムアウトは、ＤＶ制御プログラム１０７がエラー通知を受信できるまで待機しなければならない時間を表す値である。エラータイムアウトが経過するまでの間にＤＶ制御プログラム１０７がＤＶＣ２０からエラー通知を受信することができなかった場合、ＤＶ制御プログラム１０７はエラーコードリクエストをＤＶＣ２０に自動的に送信する。これにより、何らかの理由によりＤＶＣ２０からエラー通知を受信できなくても、ＤＶ制御プログラム１０７はＤＶＣ２０に生じたエラーの原因を最適なタイミングで確実にすることができる。本実施の形態では、エラータイムアウトを１秒とする。
【００２２】
図３は、ＰＣ１０がＤＶＣ２０の接続を検出した後における処理手順の一例を示す図である。ステップＳ３０１：ＵＳＢドライバ１０８は、ＤＶＣ２０の接続（電気的な接続）を検出したか否かを判定する。ＤＶＣ２０の接続を検出した場合はステップＳ３０２に進む。
【００２３】
ステップＳ３０２：ＵＳＢドライバ１０８は、コントロールパイプ３１を介してＤＶＣ２０からＤＶＣ２０のディスクリプタ情報を自動的に読み出し、読み出しディスクリプタ情報をストレージ部１０４に保存する。
【００２４】
ステップＳ３０３：ＵＳＢドライバ１０８は、ＤＶＣ２０のディスクリプタ情報に従ってＰＣ１０のアイソクロナスエンドポイントとＤＶＣ２０のアイソクロナスエンドポイントとの間にアイソクロナスパイプ３２を自動的に設定し、ＰＣ１０のインタラプトエンドポイントとＤＶＣ２０のインタラプトエンドポイントとの間にインタラプトパイプ３３を自動的に設定する。
【００２５】
このような手順により、本実施の形態におけるＰＣ１０は、ＤＶＣ２０からＤＶＣ２０のディスクリプタ情報を自動的に読み出し、ＰＣ１０とＤＶＣ２０との間に論理的なコネクションを自動的に設定することができる。
【００２６】
図４は、ユーザが順方向再生の指示をＤＶ制御プログラム１０７に入力した場合におけるＰＣ１０およびＤＶＣ２０の処理手順の一例を示す図である。ステップＳ４０１：ＤＶ制御プログラム１０７は、ユーザからの指示に従って順方向再生リクエスト（ＤＶＣ２０の現在の状態を再生に変更し、記録媒体２０３から再生されたデジタルビデオデータをアイソクロナスパイプ３２を介してＰＣ１０に送信することを要求するリクエスト）をＵＳＢインターフェース部１０１に供給する。ＵＳＢインターフェース部１０１は、コントロールパイプ３１を介して順方向再生リクエストをＤＶＣ２０に送信する。
【００２７】
ＵＳＢインターフェース部２０４は、コントロールパイプ３１を介してＰＣ１０から順方向再生リクエストを受信し、受信した順方向再生リクエストを制御部２０５に供給する。制御部２０５は、順方向再生リクエストに従ってＤＶＣ１０の状態を再生に変更できるか否かを判定し、ＤＶＣ１０の状態を再生に変更できる場合（すでにＤＶＣ１０の状態が再生である場合を含む）はＡＣＫをＵＳＢインターフェース部２０４に供給し、ＤＶＣ１０の状態を再生に変更できない場合はＳＴＡＬＬをＵＳＢインターフェース部２０４に供給する。ＵＳＢインターフェース部２０４は、コントロールパイプ３１を介してＡＣＫ又はＳＴＡＬＬをＰＣ１０に送信する。
【００２８】
ステップＳ４０２：ＤＶ制御プログラム１０７は、ＵＳＢインターフェース部１０１がコントロールパイプ３１を介してＡＣＫを受信したか否かを判定する。ＵＳＢインターフェース部２０４がＡＣＫを受信した場合はステップＳ４０３に進み、ＵＳＢインターフェース部２０４がＡＣＫを受信でなかった場合はステップＳ４０８に進む。
【００２９】
ステップＳ４０３：ＤＶ制御プログラム１０７は、トランスポートタイムアウト（本実施の形態ではトランスポートタイムアウトを５秒とする）の計時を開始する。トランスポートタイムアウトは、上述のwTransportTimeoutフィールドから得ることができる。
【００３０】
ステップＳ４０４：ＤＶ制御プログラム１０７は、ＵＳＢインターフェース部１０１がインタラプトパイプ３３を介して状態変化通知（ＤＶＣ２０の現在の状態が変化したことをＰＣ１０に通知するための情報）を受信したか否かを判定する。ＵＳＢインターフェース部１０１が状態変化通知を受信した場合はステップＳ４０６に進み、何らかの理由によりＵＳＢインターフェース部１０１が状態変化通知を受信できなかった場合はステップＳ４０５に進む。
【００３１】
ステップＳ４０５：ＤＶ制御プログラム１０７は、トランスポートタイムアウトが経過したか否かを判定する。トランスポートタイムアウトが経過した場合はステップＳ４０６に進み、エラータイムアウトがまだ経過していない場合はステップＳ４０４に進む。
【００３２】
ステップＳ４０６：トランスポートタイムアウトが経過するまでに状態変化通知を受信した場合、あるいは、トランスポートタイムアウトが経過するまでに状態変化通知を受信できなかった場合、ＤＶ制御プログラム１０７はステータスリクエスト（ＤＶＣ２０の現在の状態を表すステータス情報を要求するリクエスト）をＵＳＢインターフェース１０１に供給する。ＵＳＢインターフェース１０１は、コントロールパイプ３１を介してＤＶＣ２０にステータスリクエストを送信する。
【００３３】
ＵＳＢインターフェース部２０４は、コントロールパイプ３１を介してＰＣ１０からステータスリクエストを受信し、受信したステータスリクエストを制御部２０５に供給する。制御部２０５は、ステータス情報をＵＳＢインターフェース部２０４に供給する。ＵＳＢインターフェース２０４は、コントロールパイプ３１を介してＰＣ１０にステータス情報を送信する。
【００３４】
ステップＳ４０７：ＤＶ制御プログラム１０７は、ＤＶＣ１０から得られたステータス情報を解析してＤＶＣ２０の現在の状態を判別し、ＤＶＣ２０の現在の状態をユーザに通知するためにＤＶＣ２０の現在の状態を表す情報（アイコン、文字などからなる）を表示部１０３に表示する。
【００３５】
ステップＳ４０８：ＤＶ制御プログラム１０７は、ＵＳＢインターフェース部１０１がコントロールパイプ３１を介してＤＶＣ２０からＳＴＡＬＬを受信したか否かを判定する。ＵＳＢインターフェース部２０４がＳＴＡＬＬを受信した場合はＳ４０９に進む。
【００３６】
ステップＳ４０９：ＤＶ制御プログラム１０７は、エラータイムアウト（本実施の形態ではエラータイムアウトを１秒とする）の計時を開始する。エラータイムアウトは、上述のwErrorTimeoutフィールドから得ることができる。
【００３７】
ステップＳ４１０：ＤＶ制御プログラム１０７は、ＵＳＢインターフェース部１０１がインタラプトパイプ３３を介してエラー通知（ＤＶＣ２０にエラーが発生したことをＰＣ１０に通知するための情報）を受信したか否かを判定する。ＵＳＢインターフェース部１０１がエラー通知を受信した場合はステップＳ４１２に進み、何らかの理由によりＵＳＢインターフェース部１０１がエラー通知を受信できなかった場合はステップＳ４１１に進む。
【００３８】
ステップＳ４１１：ＤＶ制御プログラム１０７は、エラータイムアウトが経過したか否かを判定する。エラータイムアウトが経過した場合はステップＳ４１２に進み、エラータイムアウトがまだ経過していない場合はステップＳ４１０に進む。
【００３９】
ステップＳ４１２：エラータイムアウトが経過するまでにエラー通知を受信した場合、あるいは、エラータイムアウトが経過するまでにエラー通知を受信できなかった場合、ＤＶ制御プログラム１０７はエラーコードリクエスト（ＤＶＣ１０で発生したエラーの原因を表すエラーコードを要求するリクエスト）をＵＳＢインターフェース１０１に供給する。ＵＳＢインターフェース１０１は、コントロールパイプ３１を介してＤＶＣ２０にエラーコードリクエストを送信する。
【００４０】
ＵＳＢインターフェース部２０４は、コントロールパイプ３１を介してＰＣ１０からエラーコードリクエストを受信し、受信したエラーコードリクエストを制御部２０５に供給する。制御部２０５は、エラーコードをＵＳＢインターフェース部２０４に供給する。ＵＳＢインターフェース２０４は、コントロールパイプ３１を介してＰＣ１０にエラーコードを送信する。
【００４１】
ステップＳ４１３：ＤＶ制御プログラム１０７は、ＤＶＣ１０から得られたエラーコードを解析してエラーの原因を特定し、エラーの原因をユーザに通知するためにエラーの原因を示す情報を表示部１０３に表示する。
【００４２】
なお、図４では、ＤＶＣ２０の状態を順方向再生に変更することを要求するリクエストを送信する場合について説明したが、ＤＶＣ２０の状態を逆方向再生、停止、一時停止、記録、記録一時停止、順方向高速再生、逆方向高速再生、順方向スロー再生、逆方向スロー再生などに変更する場合であっても図４に示す処理と同様の処理に従って実行することができる。従って、これらの場合の説明を省略する。
【００４３】
以上述べたように本実施の形態におけるＤＶ制御プログラム１０７によれば、トランスポートタイムアウトが経過するまでにＤＶＣ２０から状態変化通知を受信できなかった場合であっても、ＰＣ１０にステータスリクエストを送信することができるので、デジタルビデオ装置の状態が所定の状態に変化したか否かを確実に知ることができる。
【００４４】
また、本実施の形態におけるＤＶ制御プログラム１０７によれば、エラータイムアウトが経過するまでにＤＶＣ２０からエラー通知を受信できなかった場合であっても、ＰＣ１０にエラーリクエストを送信することができるので、デジタルビデオ装置の状態を所定の状態に変化させることができなかった原因を確実に知ることができる。
【００４５】
また、本実施の形態におけるＤＶＣ２０によれば、インターフェースディスクリプタを用いてＤＶ制御プログラム１０７にステータスタイムアウトを知らせることができるので、何らかの理由により状態変化通知をＰＣ１０に送信することができない場合があっても、最適なタイミングでＤＶ制御プログラム１０７にステータスリクエストを送信させることができる。そして、その結果、ＤＶ制御プログラム１０７はユーザにＤＶＣ２０の現在の状態を知らせることができる。
【００４６】
また、本実施の形態におけるＤＶＣ２０によれば、インターフェースディスクリプタを用いてＤＶ制御プログラム１０７にエラータイムアウトを知らせることができるので、何らかの理由によりエラー通知をＰＣ１０に送信することができない場合があっても、最適なタイミングでＤＶ制御プログラム１０７にエラーリクエストを送信させることができる。そして、その結果、ＤＶ制御プログラム１０７はユーザにＤＶＣ２０に生じたエラーの原因を知らせることができる。
【００４７】
（その他の実施の形態）
上述した実施の形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置或いはシステム内のコンピュータに対し、上記実施の形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ或いはＭＰＵ）に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００４８】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード自体は本発明を構成する。そのプログラムコードの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク（ＬＡＮ、インターネットなどのＷＡＮ、無線通信ネットワークなど）システムにおける通信媒体（光ファイバなどの有線回線や無線回線など）を用いることができる。
【００４９】
さらに、上記プログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００５０】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフトなどと共同して上述の実施の形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれることはいうまでもない。
【００５１】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれることはいうまでもない。
【００５２】
なお、上記実施の形態において示した各部の形状および構造は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５３】
【発明の効果】
以上述べたように本発明によれば、デジタルビデオ装置の状態が所定の状態に変化したか否かを確実に知ることができる。
【００５４】
また、本発明によれば、デジタルビデオ装置の状態を所定の状態に変化させることができなかった原因を確実に知ることができる。
【図面の簡単な説明】
【図１】本実施の形態におけるＤＶコントロールシステムの構成要素を示す図である。
【図２】図１のメモリ２０６が有するインターフェースディスクリプタの一例を示す図である。
【図３】ＰＣ１０がＤＶＣ２０の接続を検出した後における処理手順の一例を示す図である。
【図４】ユーザが順方向再生の指示をＤＶ制御プログラム１０７に入力した場合におけるＰＣ１０およびＤＶＣ２０の処理手順の一例を示す図である。
【符号の説明】
１０：パーソナルコンピュータ（ＰＣ）
１０１：ＵＳＢインターフェース部
１０２：制御部
１０３：表示部
１０４：ストレージ部
１０５：キーボード
１０６：ポインティングデバイス
１０７：ＤＶ制御プログラム
１０８：ＵＳＢドライバ
２０：デジタルビデオカメラ（ＤＶＣ）
２０１：カメラ部
２０２：デジタルビデオ部
２０３：記録媒体
２０４：ＵＳＢインターフェース部
２０５：制御部
２０６：メモリ
【図１】
2004194257.tif 000003
【図２】
2004194257.tif 000004
【図３】
2004194257.tif 000005
【図４】
2004194257.tif 000006