(57)【要約】      （修正有）【課題】  データフォーマットが動的に変更した場合にデバイスからの通知を行うことにより、ホストが最適なデコードを準備しデータフォーマットを容易に切り換えることが可能な再生装置及びネットワークシステムを提供する。【解決手段】  本再生装置は、デジタルインターフェースによって接続される再生装置であって、記録媒体に記録されている動画像データもしくは音声データを再生し、接続されたホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。【選択図】  図１６
2007018628.tif 000002
【特許請求の範囲】
【請求項１】
デジタルインターフェースによってホストデバイスと接続される再生装置であって、
前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生し、再生データ生成する再生手段と、
前記再生データのフォーマットを検出する検出手段と、
前記ホストデバイスへ前記再生データを送信するための送信手段と、
前記ホストデバイスとの通信を行うための通信手段と、
前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、
を備えることを特徴とする再生装置。
【請求項２】
デジタルインターフェースによって接続される再生装置であって、
前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生する再生手段と、
前記再生データのフォーマットを検出する検出手段と、
前記デジタルインターフェースで接続されたホストデバイスへ前記再生データを送信するための送信手段と、
前記ホストデバイスとの通信を行うための通信手段と、
前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記通信手段を用いて前記ホストデバイスへ再生データのフォーマットが変更したことを通知し、前記ホストデバイスからのデータ送信中止制御コマンドを前記通信手段により受信することで、前記再生データの前記デジタルインターフェースへの送信を中断し、前記ホストデバイスのデータ送信開始制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と
を備えることを特徴とする再生装置。
【請求項３】
前記ホストデバイスへの通信手段にＵＳＢで定義されている割り込み転送を用いることを特徴とする請求項１又は２に記載の再生装置。
【請求項４】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことを含むことを特徴とする請求項３に記載の再生装置。
【請求項５】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したこと及び変更するフォーマットのデータを含むことを特徴とする請求項４に記載の再生装置。
【請求項６】
前記制御手段は、前記通信手段を用いてホストデバイスへ再生データのフォーマットの変更を通知した場合に、前記ホストデバイスからの制御コマンドにより再生手段のデータ再生を一時停止し、再度ホストデバイスからの制御コマンドにより再生手段がデータ再生を再開するようにすることを特徴とする請求項１乃至５の何れか１項に記載の再生装置。
【請求項７】
前記通信手段は、前記再生データの取りうるフォーマットを予めホストデバイスに通知することを特徴とする請求項１乃至６の何れか１項に記載の再生装置。
【請求項８】
映像および画像を撮影するための撮像部、撮影したデータを記録媒体に記録する記録部、記録したデータを再生するための再生部、再生したデータのフォーマットが変換したことを検出するためのデータ検出部、デジタルインターフェースを用いて外部デバイスと通信を行うための通信部、前記再生データおよび撮影された撮像データをデジタルインターフェースを用いて送信を行うためのデータ送信部とで構成された再生装置と、該再生装置とデジタルインターフェースによって接続された該再生装置を外部より制御可能なホストデバイスを備え、
前記データ検出部は、前記再生データのフォーマットが変換したことを検出し、
前記再生装置は、前記データ送信部より前記デジタルインターフェースへのデータ送信を中断し、
前記通信部は、前記ホストデバイスへの変更通知を行い、
前記ホストデバイスは、前記変更通知を知ることにより前記再生装置の前記再生データのフォーマットを取得し、前記再生装置のデータ送信を再開させる制御コマンドを前記通信部へ通知し、
前記再生装置は、前記デジタルインターフェースへのデータ送信を再開することを特徴とするネットワークシステム。
【請求項９】
前記ホストデバイスへの変更通知にＵＳＢで定義されている割り込み転送を用いることを特徴とする請求項８に記載のネットワークシステム。
【請求項１０】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことを含むことを特徴とする請求項９に記載のネットワークシステム。
【請求項１１】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことと、変更するフォーマットのデータを含むことを特徴とする請求項９に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ Ｐｒｏｔｏｃｏｌ）などのデジタルインターフェースを介して機器間で動画伝送を行う技術に関する。
【背景技術】
【０００２】
動画データを伝送可能なデジタルインターフェースとして、ＵＳＢやＩＥＥＥ１３９４シリアルバスがある。ＵＳＢやＩＥＥＥ１３９４の規格には、リアルタイムな動画伝送を保証するために、アイソクロナスと呼ばれる同期転送方式が規定されている。ＩＥＥＥ１３９４の場合、１２５μ周期でサイクルスタートパケット（ＣＳＰ）と呼ばれる同期信号が、ＩＥＥＥ１３９４ネットワーク上にただ一つ存在するサイクルマスタノードの機器からネットワーク上に接続されたすべての機器に送信される。動画を伝送する機器は、該ＣＳＰに同期して動画データをバス上に伝送することで、リアルタイム性を保証した動画伝送が可能となる。
【０００３】
また、アイソクロナスのデータを送信するためには、各機器はルートノードの機器に伝送帯域の確保を要求をＣｏｎｎｅｃｔｉｏｎ Ｍａｎａｇｅｍｅｎｔ Ｐｒｏｃｅｄｕｒｅと呼ばれる方法によって行い、帯域が確保できた場合にのみデータの送信が可能となり、毎周期の伝送が保証される。
【０００４】
一方、ＵＳＢの場合には、ホストコントローラが、接続された各デバイスに対して、スタートオブフレーム（ＳＯＦ）と呼ばれる同期信号が送信される。動画を伝送する機器は、該ＳＯＦに同期して、動画データをバス上に伝送することでリアルタイム性を保証した動画伝送が可能となる。また、アイソクロナスデータを送信する機器は、伝送のための帯域を確保する必要があるが、ＵＳＢの場合には、各機器はアイソクロナスデータ伝送のために必要な帯域を示す、代替設定インターフェースをディスクリプタによってホストコントローラに対して通知しておき、ホストコントローラが各機器に対してＳｅｔ＿Ｉｎｔｅｒｆａｃｅ要求によって代替設定インターフェースを選択することで帯域の確保が行われる。
【０００５】
図１は、動画データをアイソクロナス伝送する機器が保持するディスクリプタの概略図である。１０１はベンダＩＤ、プロダクトＩＤ等を通知するためのデバイスディスクリプタで、１０２はデバイスが取りうるコンフィギュレーションを通知するコンフィギュレーションディスクリプタ、１０３はコンフィギュレーション１０２で使用されるインターフェース＃１の代替設定０を示すディスクリプタ、１０４はインターフェース１０３で使用するエンドポイントのディスクリプタでここでは、アイソクロナス転送タイプで帯域を示すＭａｘＰａｙｌｏａｄが０である。１０５はインターフェース＃１の代替設定１を示すインターフェースディスクリプタであり、１０６はインターフェース＃１が代替設定１に選択されたときのエンドポイントディスクリプタで、ここでは、アイソクロナス転送タイプで帯域を示すＭａｘＰａｙｌｏａｄが５１２である。
【０００６】
従って、ホストコントローラが図２に示すＳｅｔ＿Ｉｎｔｅｒｆａｃｅ要求によって、インターフェース＃１の代替設定１を選択することにより、ＳＯＦ毎の周期（ＵＳＢ Ｆｕｌｌ Ｓｐｅｅｄの場合は１ｍｓ、Ｈｉｇｈ Ｓｐｅｅｄ の場合は１２５μ周期）に５１２Ｂｙｔｅのデータ伝送が保証され、このディスクリプタを保持する機器がアイソクロナスでデータを伝送することが可能となる。
【０００７】
ＵＳＢやＩＥＥＥ１３９４規格では、アイソクロナス伝送での、データに関しては規定が無くどの様なデータを伝送しても良い。つまり、データのフォーマット等に関して、機器間でやり取りを行う必要がある。ＩＥＥＥ１３９４では、ＩＥＣ６１８８３規格にて、映像や音声のアイソクロナス転送のデータフォーマットが規定されており、ストリームデータ内にフォーマット情報が埋め込まれているので、各機器は受信したストリームデータの処理が可能である。一方、ＵＳＢではアイソクロナスによって伝送されるストリームデータフォーマットは、ディスクリプタによって伝送先のホストコントローラ機器へ通知することが可能である。
【０００８】
図３は、ホストコントローラに伝送するストリームフォーマットを通知するためのディスクリプタ例である。３０１はディスクリプタ長を示しており、３０２及び３０３はディスクリプタの種別、すなわちストリームフォーマットを通知するためのディスクリプタであることを示している。３０４と３０５はアイソクロナスデータとして送信するストリームフォーマットを示す識別子である。ホストコントローラは、この値を読み取り、図３のディスクリプタを保持する機器が送信するストリームフォーマットを認識することで、受信したストリームデータの処理が可能となる。
【０００９】
図４は、ＵＳＢ上に映像データを流す場合のデータフローを簡単に示した図である。ホストはデバイスからストリームフォーマットを示したディスクリプタをＧｅｔ Ｄｅｓｃｒｉｐｔｏｒによって取得し（４０１）、Ｓｅｔ Ｉｎｔｅｒｆａｃｅによって代替設定を１に変更する（４０２）。その後、ＳＯＦ毎に、ホストはＩｎ Ｔｏｋｅｎパケット（４０３−４０５）をデバイスに対して送信し、デバイスはその伝送するデータがあれば、Ｉｎ Ｔｏｋｅｎパケット受信後に実際のアイソクロナスのデータ（４０６−４０８）を送信する。
【００１０】
図５は、ＵＳＢ上のデータフローを時系列で示したものである。ＳＯＦ（５０１）は１ｍｓ毎（Ｈｉｇｈ Ｓｐｅｅｄの場合は１２５μ）（５０４）にホストから送信され、続いてＩｎ Ｔｏｋｅｎ（５０２）が同様にホストからデバイスのアイソクロナスエンドポイントに対して送信される。デバイスはこのＩｎ Ｔｏｋｅｎ（５０２）に続いて送信するデータがある場合には、データパケット（５０３）をアイソクロナスエンドポイントを介して送信する。毎周期にＩｎ Ｔｏｋｅｎに応じてデバイスはデータを送信可能であるが、５０５の時点でデータ送信が不可能な状態にあった場合には、データを送信せず、次の周期でデータを送信することも可能である。
【００１１】
また、ＵＳＢでは動画伝送を行うアイソクロナス伝送方式以外に、静止画像、テキストデータなどを非同期に伝送するためのバルク転送、割り込みを行うための割り込み転送、制御を行うための制御転送が用意されており、各々の転送方式ごとにエンドポイントと呼ばれるＦＩＦＯデータ領域を持っている。この中で、制御転送のみ必ず１つ持たなければならず、このエンドポイントを用いて双方向のデータのやり取りが可能である。データ転送を行う場合は、デバイス側はディスクリプタと呼ばれるデータ構造を有し、このディスクリプタによってデバイスが有する機能を記述する。ホストはデバイスのディスクリプタを読むことによってデバイス機器の特性を調べ、デバイスとデータのやり取りを行う。
【００１２】
デバイスは、エラーが発生した場合などに、ホストに対してイベントを知らせるために割り込み転送を用いる。割り込みエンドポイントには、ホストがデバイスのイベントを取得するために必要な頻度であるピリオドを指定することにより、定期的なトランザクションを発行されることを保証し、デバイス側の通知を変更することが可能となっている。この例は特許文献１等においてエラー通知を受信するなどで用いられている。
【００１３】
デジタルビデオカメラなどの再生装置には、複数のデータフォーマットを再生可能な機器が存在する。再生することが可能な各データフォーマットについては、ディスクリプタに記述しておくことにより予めホストは知ることができ、対応したデータフォーマットに対するデコーダを用意することが可能であり、アイソクロナス伝送で送信された動画像データをデコードし、所望の形式にて表示することができる。
【特許文献１】特開平１１−３４１００３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、記録されたデータの中に複数のデータフォーマットがランダムに存在しているようなデータを再生すると、再生中のデータフォーマットが突然切り替わってしまった場合に、ホスト側は受信したデータを正しくデコードできない。ホスト側はデータのデコード失敗によりデータフォーマットが変更された可能性があることを知り、デバイス側へ現在再生中のデータフォーマットがどのような形式であるのかを問い合わせる必要がある。ところが、デコードの失敗がデータフォーマットが変更されたことに依存するものか、データ内容にエラーが含まれていたことに依存するものかなどといった原因を特定することが困難である。
【００１５】
本発明は、このような状況に鑑みてなされたものであり、データフォーマットが動的に変更した場合にデバイスからの通知を行うことにより、ホストが最適なデコードを準備しデータフォーマットを容易に切り換えることが可能な再生装置及びネットワークシステムを提供するものである。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、本発明による再生装置は、デジタルインターフェースによってホストデバイスに接続される再生装置であって、前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生し、再生データ生成する再生手段と、前記再生データのフォーマットを検出する検出手段と、前記ホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信を行うための通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。
【００１７】
また、本発明による再生装置は、デジタルインターフェースによってホストデバイスと接続される再生装置であって、前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生する再生手段と、前記再生データのフォーマットを検出する検出手段と、前記ホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信を行うための通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記通信手段を用いて前記ホストデバイスへ再生データのフォーマットが変更したことを通知し、前記ホストデバイスからのデータ送信中止制御コマンドを前記通信手段により受信することで、前記再生データの前記デジタルインターフェースへの送信を中断し、前記ホストデバイスのデータ送信開始制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。
【００１８】
さらに、上記課題を解決するために、本発明によるネットワークシステムは、映像および画像を撮影するための撮像部、撮影したデータを記録媒体に記録する記録部、記録したデータを再生するための再生部、再生したデータのフォーマットが変換したことを検出するためのデータ検出部、デジタルインターフェースを用いて外部デバイスと通信を行うための通信部、前記再生データおよび撮影された撮像データをデジタルインターフェースを用いて送信を行うためのデータ送信部とで構成された再生装置と、該再生装置とデジタルインターフェースによって接続された該再生装置を外部より制御可能なホストデバイスを備え、前記データ検出部は、前記再生データのフォーマットが変換したことを検出し、前記再生装置は、前記データ送信部より前記デジタルインターフェースへのデータ送信を中断し、前記通信部は、前記ホストデバイスへの変更通知を行い、前記ホストデバイスは、前記変更通知を知ることにより前記再生装置の前記再生データのフォーマットを取得し、前記再生装置のデータ送信を再開させる制御コマンドを前記通信部へ通知し、前記再生装置は、前記デジタルインターフェースへのデータ送信を再開することを特徴とする。
【００１９】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００２０】
以上のように本発明によれば、テープなどの記録媒体に複数のデータフォーマットが無作為に記録されているような場合に、データフォーマットが動的に変更することをデバイスからの通知を行うことにより、ホストが最適なコーデックを準備しデータフォーマットを容易に切り換えることが可能である。また動的に変更する際にホストがデバイスに対して一時停止コマンドを送ることにより、動的なフォーマット変更に時間がかかる場合においても動画データのロスをなくし、全データを受信し再生することが可能である。
【発明を実施するための最良の形態】
【００２１】
以下、図を参照しながら本発明の実施形態について説明を行う。本実施例では、デジタルビデオカメラ（ＤＶＣＲ）とパーソナルコンピュータ（ＰＣ）とをデジタルインターフェースとしてＵＳＢで接続したシステムを用いて説明を行う。
【００２２】
＜第１の実施形態＞
図６に本実施形態に係るシステムの構成を示した図である。１００１はＤＶＣＲ、１００２はＰＣ、１００３はデジタルインターフェースであるＵＳＢを示しており、再生装置であるＤＶＣＲをホストデバイスであるＰＣ側からＵＳＢを介して制御することが可能である。ＤＶＣＲ（１００１）は図７に示すようなユニット構成をしている。
【００２３】
図６に示すように、ＣＣＤなどのセンサー（２００１）から取得した画像データは、カメラユニット（２００５）、プロセッシングユニット（２００７）を経由し、メモリカードなどのランダムアクセスメディアなどの記録媒体（２００２）に保存されている画像データは、メディアトランスポートユニット（２００６）を経由し、デジタルデータを記録したテープ（２００３）および外部接続端子により入力されるライン入力やＵＳＢケーブル（２００４）からの画像データは直接セレクタユニット（２００８）へと送られる。
【００２４】
セレクタユニット（２００８）は、入力された画像データのうちどれか一つを選択し、テープトランスポートユニット（２００９）やメディアトランスポートユニット（２０１０）で記録再生処理を行った後、アウトプットセレクタユニット（２０１１）において、テープ（２０１２）やＵＳＢケーブル（２０１３）、記録媒体であるメモリなどのメディア（２０１４）から選択しデータを出力する。ＤＶＣＲの中には複数のデジタルフォーマットに対応したコーデックが存在し、センサーからの入力画像データやＵＳＢやテープなどの外部からの画像データを、指定されたコーデックで記録再生することが可能である。ホストデバイスであるＰＣ（１００２）は、ＤＶＣＲがサポートしているデジタルフォーマットを、ディスクリプタを読むことによって予め知ることができる。
【００２５】
ＤＶＣＲのディスクリプタの例を図８に示す。図に示すようにＳｅｔｔｉｎｇ ０内のディスクリプタにおいて、複数のデジタルフォーマットをサポートしている場合には、フォーマット毎にディスクリプタを用意しておき、連続してディスクリプタを記述する。
【００２６】
フォーマットのディスクリプタを構成するオフセットアドレスと対応するフィールドの表を図９に示す。各フィールドはフォーマット毎に指定された値を入力することで、ホストデバイスは各フォーマットの詳細なデータを取得でき、デバイスでサポートされている静止画キャプチャ機能や画像データの解像度、パケットサイズなどを表している。Ｏｆｆｓｅｔの７で示されているＧＵＩＤは、各フォーマットに割り当てられた一意の値であり他のフォーマットとは決して同じ値をとることはない。
【００２７】
また、デバイスがサポートしているフォーマットの総数を表すフィールドを、図８に示してあるＳｅｔｔｉｎｇ ０内のＨｅａｄｅｒディスクリプタに相当するＯｕｔｐｕｔ Ｈｅａｄｅｒディスクリプタに記述する。
【００２８】
Ｏｕｔｐｕｔ Ｈｅａｄｅｒディスクリプタのオフセットアドレスとフィールドの表を図 １０に示す。オフセットアドレスが３であるｂＮｕｍＦｏｒｍａｔｓフィールド（３００１）に、このインターフェースにおいてサポートされるフォーマットの総数を入力する。デバイスは、このフィールド（３００１）に記載されている数のフォーマットディスクリプタをＳｅｔｔｉｎｇ ０内に記述している。図８で示したディスクリプタの場合、サポートしているフォーマットが２つであるので、フィールド（３００１）内には総数である２が記述されることになる。
【００２９】
ＰＣ側ではディスクリプタを読むことによりフォーマットの詳細を取得できるため、受信用のＦＩＦＯメモリを準備し、アイソクロナス伝送およびバルク転送などデータを受信し、フォーマットに応じたデコーダを準備しておくことで、受信した画像データを動画としてアプリケーションなどで表示することが可能となる。また、予めディスクリプタに複数のフォーマットが記述されていることが分かっているため、各フォーマット方式に応じたデコーダを準備しておき、対応するフォーマットに随時変更することが可能となる。
【００３０】
記録媒体に記録された画像データが複数の種類ある場合について、ＤＶＣＲの内部ブロック図を用いて説明を行う。ＤＶＣＲの内部ブロック図を図１１に示す。ここでは記憶媒体であるメディアとしてテープ（４００１）のみを図示してある。テープの代わりにセンサーとしてＣＣＤからの入力や、ランダムアクセス媒体であるメモリカードからの信号についても同様の構成である。システムコンピュータ（シスコン）（４００２）は、再生回路（４００４）とビデオ信号処理回路（４００３）とインターフェース回路（４００５）について指示を送ることができ、それぞれの回路の状態やデータを保持している。シスコン（４００２）はホストデバイスからの再生指示を受け、再生回路（４００４）に対して再生コマンドを送りテープ（４００１）などを動作させる。
【００３１】
再生されたビデオ信号はビデオ信号処理回路（４００３）へと送られ、記録してあるデータフォーマットに応じたコーデック処理が行われ、インターフェース回路（４００５）へと渡された後にＵＳＢなどのインターフェースに信号が流される。シスコン（４００２）は再生回路（４００４）から記録されたデータのフォーマット形式を先に読み出すことができるため、ビデオ信号処理回路（４００３）で用いるコーデック処理を変更することが可能である。また、再生回路（４００４）で先読みしたテープ（４００１）に記録されている画像データなどの情報は、シスコン（４００２）経由でインターフェース回路（４００５）を通してホストデバイスに通知することが可能である。
【００３２】
シスコン（４００２）は再生回路（４００４）でテープ（４００１）に記録されているデータを再生している場合に、次にビデオ信号処理回路（４００３）へ流すビデオ信号のデータフォーマットを、再生回路（４００４）から得てビデオ信号処理回路（４００３）へ通知する。テープ（４００１）に記録されているデータが複数ある場合、データ再生途中で突然フォーマットが変わることが考えられる。
【００３３】
この変更が発生した場合、再生回路（４００４）からのフォーマット情報を、シスコン（４００２）はビデオ信号処理回路（４００３）に対してコーデック処理の変更を通知すると共に、インターフェース回路（４００５）に対してフォーマットが変更したことを通知する。インターフェース回路（４００５）ではアイソクロナス転送を行っている場合に、Ｉ／Ｏ要求パケット（ＩＲＰ）を空にするとアイソクロナス転送が中止されることを利用し、フォーマット変更によるアイソクロナス転送の一時中断を行う。ＩＲＰにＥｍｐｔｙ（空）のデータを入れることで、ホストデバイスはアイソクロナス転送が中断されたことを知り、データの取得を行わなくなりデコード処理が中止される。シスコン（４００２）はインターフェース回路（４００５）でアイソクロナス転送が中止されたことを確認した後、割り込み転送（Ｉｎｔｅｒｒｕｐｔ）を行う。
【００３４】
割り込み転送は、図１２に示すオフセットとフィールドを持ち、各フィールドに入るデータは５００１〜５００３に示す値である。なおＩｎｔｅｒｒｕｐｔを構成するデータでは、このオフセット以降のフィールドに他の用途で使用するデータが記述されていても構わない。オフセット０のｂＳｔａｔｕｓＴｙｐｅフィールドは、この割り込み転送がビデオストリーミングインターフェースからの割り込み転送であることを示す０ｘ０２のデータが入力される。またオフセット１でｂＯｒｉｇｉｎａｔｏｒのフィールドには、このビデオストリーミングインターフェースの識別子であるインターフェースＩＤが入力される。この値はデバイスの構成により異なるため、一意に定められた値ではなくデバイスに依存する。
【００３５】
オフセット２のｂＥｖｅｎｔフィールドには、フォーマットが変更することを通知するイベントである０ｘ０１の値が入力される。ただし、この値はフォーマットが変更することを通知するためのものであるため、同様の意味を持つ値に変更されても構わない。ここではフォーマットチェンジを表す値を０ｘ０１として話を進めていく。ホストデバイスは割り込み転送を受け、ｂＥｖｅｎｔフィールドに入力されている値を読むことで、受信しているアイソクロナス転送のデータフォーマットが変更することがわかる。
【００３６】
ホストデバイスは割り込み転送を受けデータフォーマットの変更に応じて、次のフォーマットがどのようなデータなのかを取得する必要がある。ホストデバイスはデバイスに対して次に流されるデータフォーマットの詳細なデータを取得するために、ビデオストリーミングリクエストにより要求リクエストを送る。
【００３７】
この要求リクエストの構造を図１３と図１４に示す。ビデオストリーミングリクエストのインターフェースの属性値をとるために、図１３に示すゲットインターフェースコントロールリクエスト構造体を用い、このｂＲｅｑｕｅｓｔフィールドにＧＥＴ＿ＣＵＲを指定しＣＳには図 １４に示すコントロールセレクタの値であるＦＯＲＭＡＴ＿ＣＨＡＮＧＥ＿ＣＯＮＴＲＯＬを入力する。またｗＩｎｄｅｘにはビデオストリーミングインターフェースのＩＤを入力し、図１４に示すＯｆｆｓｅｔとＦｉｅｌｄの値であるコントロールセレクタのパラメータをＤａｔａに入力し、このパラメータの長さをｗＬｅｎｇｔｈに入力する。このフォーマットチェンジコントロールセレクタにより、ホストデバイスは次に送られてくるデータフォーマットのデータを取得することができる。取得可能なデータは、ｂＦｏｒｍａｔＣｌａｓｓに次の送られてくるフォーマットを定義したクラスタイプ、ｂＦｏｒｍａｔＩｎｄｅｘにこのフォーマットを示しているディスクリプタのＩＤ、ｇｕｉｄＦｏｒｍａｔにフォーマットを一意に決めるＧＵＩＤの３種類のデータである。
【００３８】
ホストデバイスは、取得したデータよりフォーマットを一意に識別可能であるため、始めにディスクリプタから取得したフォーマットの情報と比較することで認識できる。ホストデバイスは、フォーマットに応じたコーデックを準備することで次に送られてくるデータフォーマットに対して、正しいデコードを行うことができ画像データを表示することが可能となる。
【００３９】
なお、フォーマットが変更したことを通知されてからホストデバイス側で正しいコーデックを準備するまでに時間がかかる場合には、ホストデバイスは再生しているデバイスに対して、一時停止コマンドなどを送信することでアイソクロナス転送を取りこぼすことを防ぐ処理を行ってもよい。
【００４０】
デバイスはホストデバイスからの指示によってのみ正しいフォーマットに応じたデータ構造を送信することができるようになる。ホストデバイスはデバイスから取得したデータに応じて正しいフォーマットを設定する。
【００４１】
設定を行う設定リクエストを送るデータ構造を図１５に示す。データ構造内でｂＲｅｑｕｅｓｔはＳＥＴ＿ＣＵＲを入力することで現在のデータを変更することを指定し、ｗＶａｌｕｅ、ｗＩｎｄｅｘ、ｗＬｅｎｇｔｈ、Ｄａｔａフィールドには図１４で示したフォーマットチェンジコントロールセレクタの値が入力される。デバイスはこの設定リクエストコマンドを受信することで、ホストデバイスが新しいフォーマットのデータ受け入れ態勢が整ったことを理解できる。
【００４２】
デバイスは設定リクエストを受信することでフォーマットが変更した後のデータを送信する。アイソクロナス転送のデータ構造内にビデオ信号処理を施したデータを挿入することで、画像データの転送を再開する。なお、ホストデバイスが動画データの遅延発生を防ぐ目的で一時停止コマンドを送信していた場合には、変更したフォーマットデータを受け入れる態勢が整った時点で再生コマンドを送信し、動画データの再開を行う。
【００４３】
全体の流れを図１６に示す。図に示されるように、ホストデバイスは動的にフォーマットの変更に対してコーデックを変更し、正しいデコーダによってアイソクロナス転送で送られてくる動画データを再生および表示することができる。
【００４４】
図１６（ａ）のフローチャートにおいて、ＤＶＣＲ１００１は、再生するファイルのディスクリプタ構成を生成し、ホストデバイス１００３に送信する（ステップＳ１０１）。ホストデバイス１００３は、ＤＶＣＲ１００１から送信されてきたディスクリプタ構成を受信し、取得する（ステップＳ１０２）。
【００４５】
ホストデバイス１００３からの指示によりＤＶＣＲ１００１は画像データを再生し、その画像データはインターフェース回路６００５及びＵＳＢケーブル１００２を介してホストデバイス１００３に送信される（ステップＳ１０３）。
【００４６】
また、ＤＶＣＲ１００１の再生回路４００３は、ファイルのサポートしているフォーマットを読み出し、それをシスコン４００２に通知する（ステップＳ１０４）。シスコン４００２は、通知されたフォーマットが現在設定されているフォーマットと異なり、フォーマットが変更されたか否かを検出する（ステップＳ１０５）。フォーマットの変更が検出されなければ再生が続行され、検出されれば処理はステップＳ１０６に移行する。
【００４７】
そして、フォーマット変更の検出に伴い、インターフェース回路４００５は、アイクロナス転送を停止する（ステップＳ１０６）。さらに、シスコン４００２は、インターフェース回路４００５に対して割り込み要求をホストデバイス１００３に送信するように指示する（Ｓ１０７）。
【００４８】
割り込み要求を受信したホストデバイス１００３は、ＤＶＣＲ１００１に対して次フォーマットのディスクリプタ構成を送信するように要求して、それを取得する（ステップＳ１０８）。そして、ホストデバイス１００３は、コーデックを取得した次フォーマットに設定しなおす（ステップＳ１０９）。
【００４９】
次フォーマットへの設定が終了すると、インターフェース回路４００５は、アイクロナス転送動作を再開する（ステップＳ１１０）。
【００５０】
＜第２の実施形態＞
本実施形態に係るシステムの構成を示した図は実施例１で示した図６と同様であるため、ここでは省略する。デバイスであるＤＶＣＲとホストであるＰＣをＵＳＢケーブルを用いて接続し、ホストからの制御によりデバイスの挙動をコントロールすることが可能である。
【００５１】
第１の実施形態で示したフォーマットのディスクリプタと同様に、本実施形態においてもオフセットアドレスとフィールドの構成は図９を用いて表すことができるため、ここでは詳細な説明および構成図を省略する。同様にＰＣ側ではディスクリプタを読むことによりフォーマットの詳細を取得できるため、受信用のＦＩＦＯメモリを準備し、アイソクロナス伝送およびバルク転送などデータを受信し、フォーマットに応じたデコーダを準備しておくことで、受信した画像データを動画としてアプリケーションなどで表示することが可能となる。また、予めディスクリプタに複数のフォーマットが記述されていることが分かっているため、各フォーマット方式に応じたデコーダを準備しておき、対応するフォーマットに随時変更することが可能となる。
【００５２】
記録媒体に記録された画像データが複数の種類ある場合について、ＤＶＣＲの内部ブロック図を用いて説明を行う。
【００５３】
本実施形態におけるＤＶＣＲの内部ブロック図を図１７に示す。ここでは記憶媒体であるメディアとしてメモリカード６００１のみを図示してある。メモリカードの代わりにセンサーとしてＣＣＤからの入力や、テープなどのシーケンシャルメディアからの信号についても同様の構成である。システムコンピュータ（シスコン）６００２は、再生回路６００３とビデオ信号処理回路６００４とインターフェース回路６００５について指示を送ることができ、それぞれの回路の状態やデータを保持している。シスコン６００２はホストからの再生指示を受け、再生回路６００３に対して再生コマンドを送りメモリカード６００１内に記録されている動画データを再生する。ホストはインターフェースからのデータを取得することにより動画の再生を表示することができる。
【００５４】
ここでメモリカード６００１内の動画データが複数のファイルによって構成され、ファイルのフォーマットがそれぞれ異なり、再生指示によって連続的に複数のファイルを再生する場合の処理を図１８に示す。複数のファイルを連続的に処理することになるため、シスコン６００２は次のファイルのフォーマットを再生回路６００３より、ビデオ信号処理回路６００４へデータを流す前に、取得することが可能であることを利用して、ビデオ信号処理回路６００４およびインターフェース回路６００５に対して次のフォーマットを指示することができる。
【００５５】
まず、ＤＶＣＲ１００１は再生ファイルのディスクリプタ構成を生成し、それをホストデバイス１００３に送信する（Ｓ２０１）。ホストは最初にディスクリプタを読んだとき（ステップＳ２０２）にデフォルトのインターフェースを設定する（ステップＳ２０３）。インターフェースの設定には標準要求のセットインターフェース要求を用いる。
【００５６】
代替設定インターフェースとなるディスクリプタも全て最初に通知しておくことにより、ホストはサポートしているフォーマットのインターフェースを予め記録しておくことができる。ホストからの再生指示により（ステップＳ２０４）、シスコン６００２は再生回路６００３に対してカード内の指定された動画ファイルの再生を行う（ステップＳ２０５）。
【００５７】
再生回路６００３はファイルのサポートしているフォーマットを読み出しシスコン６００２へ通知する（ステップＳ２０６）。シスコン６００２は、受け取ったフォーマットが現在設定されているフォーマットと異なるかを判断する（ステップＳ２０６）。フォーマット設定が同じであればホスト側においての処理を変更する必要がないため、そのまま再生を続ける。
【００５８】
フォーマットが変更することが分かった場合には、シスコン６００２はインターフェース回路６００５に対して、割り込み要求（Ｉｎｔｅｒｒｕｐｔ）をホストデバイス１００３に送るように指示する（ステップＳ２０９）。
【００５９】
Ｉｎｔｅｒｒｕｐｔにはデータとして図１９に示す値を持つデータを用いる。ここで７００１はＩｎｔｅｒｒｕｐｔのステータスデータタイプを示し、７００２はフォーマット変更が起こったインターフェースのＩＤ、７００３はフォーマットが変更したことを表すイベント値、７００４は代替インターフェースＩＤ、７００５はフォーマットが属するクラス、７００６はフォーマットディスクリプタのインデックス、７００７は変更する新しいフォーマットのＧＵＩＤである。現在のインターフェースＩＤ７００２と代替インターフェースＩＤ７００４により、どのインターフェースに変更すればよいかがわかり、またＧＵＩＤ７００７を見ることにより、どのフォーマットに変更するかがわかる。ホストはこのＩｎｔｅｒｒｕｐｔを受信することで、前もって準備してあるフォーマットのコーデックへと変更することができる。また、インターフェース回路６００５ではアイソクロナス転送を行っている場合に、Ｉ／Ｏ要求パケット（ＩＲＰ）を空にするとアイソクロナス転送が中止されることを利用し、フォーマット変更によるアイソクロナス転送の一時中断を行う（ステップＳ２０８）。ＩＲＰに空のデータを入れることで、ホストはアイソクロナス転送が中断されたことを知り、データの取得を行わなくなりコーデック処理が中止される。
【００６０】
なお、フォーマットが変更したことを通知されてからホスト側で正しいコーデックを準備するまでに時間がかかる場合には、ホストは再生しているデバイスに対して、一時停止コマンドなどを送信することで動画ファイルの再生を停止しアイソクロナス伝送の取りこぼしを防ぐ処理を行ってもよい。
【００６１】
ホストは新しいインターフェースＩＤとフォーマットを取得できたため、ホスト側のコーデック処理や上位アプリケーションの再生処理などの変更を行う。全ての受け入れ準備が整い新しいフォーマットを再生可能な状態になったところで、セットインターフェース要求を用い、新しいフォーマットのインターフェースへとデバイスのインターフェースを変更する。ここで新しいインターフェースの番号はＩｎｔｅｒｒｕｐｔで通知された新インターフェース番号であり、ホストはディスクリプタによって通知されたＩＤとフォーマットが正しいことを確認した後処理を行う必要がある。ディスクリプタから取得したフォーマットおよびデータとＩｎｔｅｒｒｕｐｔで通知されたデータが異なる場合には、デバイス側の不具合としてデバイスの再設定を行う（ステップＳ２１０）。
【００６２】
デバイス（ＤＶＣＲ１００１）は、セットインターフェース要求を受信したら、アイソクロナス転送を再開し、動画ファイルのデータをインターフェースへと送信する（ステップＳ２１１）。ここでホストは一時停止コマンドを送信していた場合には、再生を行うための再生コマンドもしくは一時停止解除コマンドを送信し、アイソクロナスデータのみならずデバイスの再生回路を再開する処理を行う。デバイスは再生コマンドを受け取ることでアイソクロナス転送と動画ファイルの送信が行え、通常の再生状態になる。全ての動画ファイルを再生し終えたら、動画停止状態になり処理が終了する（ステップＳ２１２）。次のファイルが存在する場合には、新しい動画ファイルに対して動画再生を指示しフォーマットの検出処理を同様に行っていく（ステップＳ２１２）。
【００６３】
このように本実施形態において、データフォーマットが変更したときに、動的にホスト側へ通知することにより、ホスト側では最適なコーデックを準備し、動画再生を行うことが可能である。またコーデック変更時の遅延による動画データの取りこぼしを防ぐために、ファイルの一時停止および再生を行うことで途切れなくデータの再生を続けることが可能である。
【００６４】
第１及び第２の実施形態におけるフォーマットとしてサポートする形式は、Ｍｏｔｉｏｎ ＪＰＥＧやＭＥＰＧ２−ＰＳ、ＭＰＥＧ２−ＴＳ、ＭＰＥＧ４−ＳＬ、ＭＰＥＧ１、ＳＤ−ＤＶＣＲ、ＨＤ−ＤＶＣＲ、ＳＤＬ−ＤＶＣＲなどのストリーミングフォーマットだけに限らず、動画転送を行う全てのアイソクロナス伝送形式を用いるフォーマットにおいても、動的にフォーマットが変更した場合に通知することが可能であり、ホスト側では対応するコーデックを用意し動画表示が可能である。つまりフォーマットがどのような形式であっても本発明の目的は達成される。
【図面の簡単な説明】
【００６５】
【図１】動画データをアイソクロナス伝送する機器のディスクリプタの概略図である。
【図２】ホストコントローラの要求コマンドを示した図である。
【図３】ホストコントローラに伝送するストリームフォーマットを通知するためのディスクリプタの例を示した図である。
【図４】ＵＳＢ上に映像データを流す場合のデータフローを示した図である。
【図５】ＵＳＢ上のデータフローを時系列で示した図である。
【図６】本実施形態が適用されるシステム構成図である。
【図７】ＤＶＣＲのユニット構成図である。
【図８】ＤＶＣＲのディスクリプタを示した図である。
【図９】フォーマットディスクリプタの構成表である。
【図１０】Ｏｕｔｐｕｔ Ｈｅａｄｅｒディスクリプタの構成表である。
【図１１】第１の実施形態におけるＤＶＣＲの内部ブロック図である。
【図１２】第１の実施形態における割り込み転送の構成表である。
【図１３】ビデオストリーミングインターフェースの要求リクエストの構成表である。
【図１４】フォーマットチェンジコントロールセレクタの構成表である。
【図１５】ビデオストリーミングインターフェースの設定リクエストの構成表である。
【図１６】第１の実施形態の動作を示すフローチャートである。
【図１７】第２の実施形態におけるＤＶＣＲの内部ブロック図である。
【図１８】第２の実施形態の動作を示すフローチャートである。
【図１９】第２の実施形態における割り込み転送の構成表である。
【符号の説明】
【００６６】
１０１：ベンダＩＤ、１０２：コンフィギュレーションディスクリプタ、１０３：インターフェース＃１の代替設定０を示すディスクリプタ、１０４：エンドポイントのディスクリプタ、１０５：インターフェース＃１の代替設定１を示すインターフェースディスクリプタ、１０６：インターフェース＃１が代替設定１に選択されたときのエンドポイントディスクリプタ、３０１：ディスクリプタ長、３０２：ディスクリプタタイプ、３０３：ディスクリプタサブタイプ、３０４：フォーマット識別子、３０５：サブフォーマット識別子、５０１：ＳＯＦ、５０２：Ｉｎ Ｔｏｋｅｎ、５０３：データパケット、５０４：１周期時間、１００１：ＤＶＣＲ、１００２：ＰＣ、１００３：デジタルインターフェースであるＵＳＢケーブル、ＣＵ：カメラユニット、ズームやフォーカスなどのカメラ部分の制御を行うユニット、ＰＵ：プロセッシングユニット、露出やホワイトバランスなどの画像調整用のユニット、ＴＵ：テープトランスポートユニット（テープの録画再生などの制御を行うユニット）、ＭＵ：メモリトランスポートユニット（ランダムアクセスメディアの記録再生などの制御を行うユニット）、ＳＵ：セレクタユニット（複数入力ピンから複数の入力を受けたのち、１つの出力ピンで出力を行う）、ＯＳＵ：アウトプットセレクタユニット（１つの入力ピンを持ち、複数の出力ピンで複数の出力先に対して出力を行う）、ＩＴ：インプットターミナル（外部から入力を受けるターミナル：ＯＴのＴａｐｅ及びＭｅｄｉｕｍはＩＴのものと同一）、ＯＴ：アウトプットターミナル（外部へ出力を行うターミナル：ＩＴのＴａｐｅ及びＭｅｄｉｕｍはＯＴのものと同一）、３００１：サポートするフォーマットの総数を表すフィールド、４００１：テープ、４００２：シスコン、４００３：ビデオ信号処理回路、４００４：再生回路、４００５：インターフェース回路、５００１：ステータスタイプ、５００２：インターフェースＩＤ、５００３：イベント値、６００１：メモリカード、６００２：シスコン、６００３：再生回路、６００４：ビデオ信号処理回路、６００５：インターフェース回路、７００１：ステータスタイプ、７００２：インターフェースＩＤ、７００３：イベント値、７００４：代替インターフェースＩＤ、７００５：フォーマットクラス、７００６：フォーマットディスクリプタインデックス、７００７：ＧＵＩＤ
【図１】
2007018628.tif 000003
【図２】
2007018628.tif 000004
【図３】
2007018628.tif 000005
【図４】
2007018628.tif 000006
【図５】
2007018628.tif 000007
【図６】
2007018628.tif 000008
【図７】
2007018628.tif 000009
【図８】
2007018628.tif 000010
【図９】
2007018628.tif 000011
【図１０】
2007018628.tif 000012
【図１１】
2007018628.tif 000013
【図１２】
2007018628.tif 000014
【図１３】
2007018628.tif 000015
【図１４】
2007018628.tif 000016
【図１５】
2007018628.tif 000017
【図１６】
2007018628.tif 000018
【図１７】
2007018628.tif 000019
【図１８】
2007018628.tif 000020
【図１９】
2007018628.tif 000021