説明

再生装置およびネットワークシステム

【課題】 データフォーマットが動的に変更した場合にデバイスからの通知を行うことにより、ホストが最適なデコードを準備しデータフォーマットを容易に切り換えることが可能な再生装置及びネットワークシステムを提供する。
【解決手段】 本再生装置は、デジタルインターフェースによって接続される再生装置であって、記録媒体に記録されている動画像データもしくは音声データを再生し、接続されたホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、USB(Universal Serial Bus Protocol)などのデジタルインターフェースを介して機器間で動画伝送を行う技術に関する。
【背景技術】
【0002】
動画データを伝送可能なデジタルインターフェースとして、USBやIEEE1394シリアルバスがある。USBやIEEE1394の規格には、リアルタイムな動画伝送を保証するために、アイソクロナスと呼ばれる同期転送方式が規定されている。IEEE1394の場合、125μ周期でサイクルスタートパケット(CSP)と呼ばれる同期信号が、IEEE1394ネットワーク上にただ一つ存在するサイクルマスタノードの機器からネットワーク上に接続されたすべての機器に送信される。動画を伝送する機器は、該CSPに同期して動画データをバス上に伝送することで、リアルタイム性を保証した動画伝送が可能となる。
【0003】
また、アイソクロナスのデータを送信するためには、各機器はルートノードの機器に伝送帯域の確保を要求をConnection Management Procedureと呼ばれる方法によって行い、帯域が確保できた場合にのみデータの送信が可能となり、毎周期の伝送が保証される。
【0004】
一方、USBの場合には、ホストコントローラが、接続された各デバイスに対して、スタートオブフレーム(SOF)と呼ばれる同期信号が送信される。動画を伝送する機器は、該SOFに同期して、動画データをバス上に伝送することでリアルタイム性を保証した動画伝送が可能となる。また、アイソクロナスデータを送信する機器は、伝送のための帯域を確保する必要があるが、USBの場合には、各機器はアイソクロナスデータ伝送のために必要な帯域を示す、代替設定インターフェースをディスクリプタによってホストコントローラに対して通知しておき、ホストコントローラが各機器に対してSet_Interface要求によって代替設定インターフェースを選択することで帯域の確保が行われる。
【0005】
図1は、動画データをアイソクロナス伝送する機器が保持するディスクリプタの概略図である。101はベンダID、プロダクトID等を通知するためのデバイスディスクリプタで、102はデバイスが取りうるコンフィギュレーションを通知するコンフィギュレーションディスクリプタ、103はコンフィギュレーション102で使用されるインターフェース#1の代替設定0を示すディスクリプタ、104はインターフェース103で使用するエンドポイントのディスクリプタでここでは、アイソクロナス転送タイプで帯域を示すMaxPayloadが0である。105はインターフェース#1の代替設定1を示すインターフェースディスクリプタであり、106はインターフェース#1が代替設定1に選択されたときのエンドポイントディスクリプタで、ここでは、アイソクロナス転送タイプで帯域を示すMaxPayloadが512である。
【0006】
従って、ホストコントローラが図2に示すSet_Interface要求によって、インターフェース#1の代替設定1を選択することにより、SOF毎の周期(USB Full Speedの場合は1ms、High Speed の場合は125μ周期)に512Byteのデータ伝送が保証され、このディスクリプタを保持する機器がアイソクロナスでデータを伝送することが可能となる。
【0007】
USBやIEEE1394規格では、アイソクロナス伝送での、データに関しては規定が無くどの様なデータを伝送しても良い。つまり、データのフォーマット等に関して、機器間でやり取りを行う必要がある。IEEE1394では、IEC61883規格にて、映像や音声のアイソクロナス転送のデータフォーマットが規定されており、ストリームデータ内にフォーマット情報が埋め込まれているので、各機器は受信したストリームデータの処理が可能である。一方、USBではアイソクロナスによって伝送されるストリームデータフォーマットは、ディスクリプタによって伝送先のホストコントローラ機器へ通知することが可能である。
【0008】
図3は、ホストコントローラに伝送するストリームフォーマットを通知するためのディスクリプタ例である。301はディスクリプタ長を示しており、302及び303はディスクリプタの種別、すなわちストリームフォーマットを通知するためのディスクリプタであることを示している。304と305はアイソクロナスデータとして送信するストリームフォーマットを示す識別子である。ホストコントローラは、この値を読み取り、図3のディスクリプタを保持する機器が送信するストリームフォーマットを認識することで、受信したストリームデータの処理が可能となる。
【0009】
図4は、USB上に映像データを流す場合のデータフローを簡単に示した図である。ホストはデバイスからストリームフォーマットを示したディスクリプタをGet Descriptorによって取得し(401)、Set Interfaceによって代替設定を1に変更する(402)。その後、SOF毎に、ホストはIn Tokenパケット(403−405)をデバイスに対して送信し、デバイスはその伝送するデータがあれば、In Tokenパケット受信後に実際のアイソクロナスのデータ(406−408)を送信する。
【0010】
図5は、USB上のデータフローを時系列で示したものである。SOF(501)は1ms毎(High Speedの場合は125μ)(504)にホストから送信され、続いてIn Token(502)が同様にホストからデバイスのアイソクロナスエンドポイントに対して送信される。デバイスはこのIn Token(502)に続いて送信するデータがある場合には、データパケット(503)をアイソクロナスエンドポイントを介して送信する。毎周期にIn Tokenに応じてデバイスはデータを送信可能であるが、505の時点でデータ送信が不可能な状態にあった場合には、データを送信せず、次の周期でデータを送信することも可能である。
【0011】
また、USBでは動画伝送を行うアイソクロナス伝送方式以外に、静止画像、テキストデータなどを非同期に伝送するためのバルク転送、割り込みを行うための割り込み転送、制御を行うための制御転送が用意されており、各々の転送方式ごとにエンドポイントと呼ばれるFIFOデータ領域を持っている。この中で、制御転送のみ必ず1つ持たなければならず、このエンドポイントを用いて双方向のデータのやり取りが可能である。データ転送を行う場合は、デバイス側はディスクリプタと呼ばれるデータ構造を有し、このディスクリプタによってデバイスが有する機能を記述する。ホストはデバイスのディスクリプタを読むことによってデバイス機器の特性を調べ、デバイスとデータのやり取りを行う。
【0012】
デバイスは、エラーが発生した場合などに、ホストに対してイベントを知らせるために割り込み転送を用いる。割り込みエンドポイントには、ホストがデバイスのイベントを取得するために必要な頻度であるピリオドを指定することにより、定期的なトランザクションを発行されることを保証し、デバイス側の通知を変更することが可能となっている。この例は特許文献1等においてエラー通知を受信するなどで用いられている。
【0013】
デジタルビデオカメラなどの再生装置には、複数のデータフォーマットを再生可能な機器が存在する。再生することが可能な各データフォーマットについては、ディスクリプタに記述しておくことにより予めホストは知ることができ、対応したデータフォーマットに対するデコーダを用意することが可能であり、アイソクロナス伝送で送信された動画像データをデコードし、所望の形式にて表示することができる。
【特許文献1】特開平11−341003号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、記録されたデータの中に複数のデータフォーマットがランダムに存在しているようなデータを再生すると、再生中のデータフォーマットが突然切り替わってしまった場合に、ホスト側は受信したデータを正しくデコードできない。ホスト側はデータのデコード失敗によりデータフォーマットが変更された可能性があることを知り、デバイス側へ現在再生中のデータフォーマットがどのような形式であるのかを問い合わせる必要がある。ところが、デコードの失敗がデータフォーマットが変更されたことに依存するものか、データ内容にエラーが含まれていたことに依存するものかなどといった原因を特定することが困難である。
【0015】
本発明は、このような状況に鑑みてなされたものであり、データフォーマットが動的に変更した場合にデバイスからの通知を行うことにより、ホストが最適なデコードを準備しデータフォーマットを容易に切り換えることが可能な再生装置及びネットワークシステムを提供するものである。
【課題を解決するための手段】
【0016】
上記課題を解決するため、本発明による再生装置は、デジタルインターフェースによってホストデバイスに接続される再生装置であって、前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生し、再生データ生成する再生手段と、前記再生データのフォーマットを検出する検出手段と、前記ホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信を行うための通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。
【0017】
また、本発明による再生装置は、デジタルインターフェースによってホストデバイスと接続される再生装置であって、前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生する再生手段と、前記再生データのフォーマットを検出する検出手段と、前記ホストデバイスへ前記再生データを送信するための送信手段と、前記ホストデバイスとの通信を行うための通信手段と、前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記通信手段を用いて前記ホストデバイスへ再生データのフォーマットが変更したことを通知し、前記ホストデバイスからのデータ送信中止制御コマンドを前記通信手段により受信することで、前記再生データの前記デジタルインターフェースへの送信を中断し、前記ホストデバイスのデータ送信開始制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、を備えることを特徴とする。
【0018】
さらに、上記課題を解決するために、本発明によるネットワークシステムは、映像および画像を撮影するための撮像部、撮影したデータを記録媒体に記録する記録部、記録したデータを再生するための再生部、再生したデータのフォーマットが変換したことを検出するためのデータ検出部、デジタルインターフェースを用いて外部デバイスと通信を行うための通信部、前記再生データおよび撮影された撮像データをデジタルインターフェースを用いて送信を行うためのデータ送信部とで構成された再生装置と、該再生装置とデジタルインターフェースによって接続された該再生装置を外部より制御可能なホストデバイスを備え、前記データ検出部は、前記再生データのフォーマットが変換したことを検出し、前記再生装置は、前記データ送信部より前記デジタルインターフェースへのデータ送信を中断し、前記通信部は、前記ホストデバイスへの変更通知を行い、前記ホストデバイスは、前記変更通知を知ることにより前記再生装置の前記再生データのフォーマットを取得し、前記再生装置のデータ送信を再開させる制御コマンドを前記通信部へ通知し、前記再生装置は、前記デジタルインターフェースへのデータ送信を再開することを特徴とする。
【0019】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【0020】
以上のように本発明によれば、テープなどの記録媒体に複数のデータフォーマットが無作為に記録されているような場合に、データフォーマットが動的に変更することをデバイスからの通知を行うことにより、ホストが最適なコーデックを準備しデータフォーマットを容易に切り換えることが可能である。また動的に変更する際にホストがデバイスに対して一時停止コマンドを送ることにより、動的なフォーマット変更に時間がかかる場合においても動画データのロスをなくし、全データを受信し再生することが可能である。
【発明を実施するための最良の形態】
【0021】
以下、図を参照しながら本発明の実施形態について説明を行う。本実施例では、デジタルビデオカメラ(DVCR)とパーソナルコンピュータ(PC)とをデジタルインターフェースとしてUSBで接続したシステムを用いて説明を行う。
【0022】
<第1の実施形態>
図6に本実施形態に係るシステムの構成を示した図である。1001はDVCR、1002はPC、1003はデジタルインターフェースであるUSBを示しており、再生装置であるDVCRをホストデバイスであるPC側からUSBを介して制御することが可能である。DVCR(1001)は図7に示すようなユニット構成をしている。
【0023】
図6に示すように、CCDなどのセンサー(2001)から取得した画像データは、カメラユニット(2005)、プロセッシングユニット(2007)を経由し、メモリカードなどのランダムアクセスメディアなどの記録媒体(2002)に保存されている画像データは、メディアトランスポートユニット(2006)を経由し、デジタルデータを記録したテープ(2003)および外部接続端子により入力されるライン入力やUSBケーブル(2004)からの画像データは直接セレクタユニット(2008)へと送られる。
【0024】
セレクタユニット(2008)は、入力された画像データのうちどれか一つを選択し、テープトランスポートユニット(2009)やメディアトランスポートユニット(2010)で記録再生処理を行った後、アウトプットセレクタユニット(2011)において、テープ(2012)やUSBケーブル(2013)、記録媒体であるメモリなどのメディア(2014)から選択しデータを出力する。DVCRの中には複数のデジタルフォーマットに対応したコーデックが存在し、センサーからの入力画像データやUSBやテープなどの外部からの画像データを、指定されたコーデックで記録再生することが可能である。ホストデバイスであるPC(1002)は、DVCRがサポートしているデジタルフォーマットを、ディスクリプタを読むことによって予め知ることができる。
【0025】
DVCRのディスクリプタの例を図8に示す。図に示すようにSetting 0内のディスクリプタにおいて、複数のデジタルフォーマットをサポートしている場合には、フォーマット毎にディスクリプタを用意しておき、連続してディスクリプタを記述する。
【0026】
フォーマットのディスクリプタを構成するオフセットアドレスと対応するフィールドの表を図9に示す。各フィールドはフォーマット毎に指定された値を入力することで、ホストデバイスは各フォーマットの詳細なデータを取得でき、デバイスでサポートされている静止画キャプチャ機能や画像データの解像度、パケットサイズなどを表している。Offsetの7で示されているGUIDは、各フォーマットに割り当てられた一意の値であり他のフォーマットとは決して同じ値をとることはない。
【0027】
また、デバイスがサポートしているフォーマットの総数を表すフィールドを、図8に示してあるSetting 0内のHeaderディスクリプタに相当するOutput Headerディスクリプタに記述する。
【0028】
Output Headerディスクリプタのオフセットアドレスとフィールドの表を図 10に示す。オフセットアドレスが3であるbNumFormatsフィールド(3001)に、このインターフェースにおいてサポートされるフォーマットの総数を入力する。デバイスは、このフィールド(3001)に記載されている数のフォーマットディスクリプタをSetting 0内に記述している。図8で示したディスクリプタの場合、サポートしているフォーマットが2つであるので、フィールド(3001)内には総数である2が記述されることになる。
【0029】
PC側ではディスクリプタを読むことによりフォーマットの詳細を取得できるため、受信用のFIFOメモリを準備し、アイソクロナス伝送およびバルク転送などデータを受信し、フォーマットに応じたデコーダを準備しておくことで、受信した画像データを動画としてアプリケーションなどで表示することが可能となる。また、予めディスクリプタに複数のフォーマットが記述されていることが分かっているため、各フォーマット方式に応じたデコーダを準備しておき、対応するフォーマットに随時変更することが可能となる。
【0030】
記録媒体に記録された画像データが複数の種類ある場合について、DVCRの内部ブロック図を用いて説明を行う。DVCRの内部ブロック図を図11に示す。ここでは記憶媒体であるメディアとしてテープ(4001)のみを図示してある。テープの代わりにセンサーとしてCCDからの入力や、ランダムアクセス媒体であるメモリカードからの信号についても同様の構成である。システムコンピュータ(シスコン)(4002)は、再生回路(4004)とビデオ信号処理回路(4003)とインターフェース回路(4005)について指示を送ることができ、それぞれの回路の状態やデータを保持している。シスコン(4002)はホストデバイスからの再生指示を受け、再生回路(4004)に対して再生コマンドを送りテープ(4001)などを動作させる。
【0031】
再生されたビデオ信号はビデオ信号処理回路(4003)へと送られ、記録してあるデータフォーマットに応じたコーデック処理が行われ、インターフェース回路(4005)へと渡された後にUSBなどのインターフェースに信号が流される。シスコン(4002)は再生回路(4004)から記録されたデータのフォーマット形式を先に読み出すことができるため、ビデオ信号処理回路(4003)で用いるコーデック処理を変更することが可能である。また、再生回路(4004)で先読みしたテープ(4001)に記録されている画像データなどの情報は、シスコン(4002)経由でインターフェース回路(4005)を通してホストデバイスに通知することが可能である。
【0032】
シスコン(4002)は再生回路(4004)でテープ(4001)に記録されているデータを再生している場合に、次にビデオ信号処理回路(4003)へ流すビデオ信号のデータフォーマットを、再生回路(4004)から得てビデオ信号処理回路(4003)へ通知する。テープ(4001)に記録されているデータが複数ある場合、データ再生途中で突然フォーマットが変わることが考えられる。
【0033】
この変更が発生した場合、再生回路(4004)からのフォーマット情報を、シスコン(4002)はビデオ信号処理回路(4003)に対してコーデック処理の変更を通知すると共に、インターフェース回路(4005)に対してフォーマットが変更したことを通知する。インターフェース回路(4005)ではアイソクロナス転送を行っている場合に、I/O要求パケット(IRP)を空にするとアイソクロナス転送が中止されることを利用し、フォーマット変更によるアイソクロナス転送の一時中断を行う。IRPにEmpty(空)のデータを入れることで、ホストデバイスはアイソクロナス転送が中断されたことを知り、データの取得を行わなくなりデコード処理が中止される。シスコン(4002)はインターフェース回路(4005)でアイソクロナス転送が中止されたことを確認した後、割り込み転送(Interrupt)を行う。
【0034】
割り込み転送は、図12に示すオフセットとフィールドを持ち、各フィールドに入るデータは5001〜5003に示す値である。なおInterruptを構成するデータでは、このオフセット以降のフィールドに他の用途で使用するデータが記述されていても構わない。オフセット0のbStatusTypeフィールドは、この割り込み転送がビデオストリーミングインターフェースからの割り込み転送であることを示す0x02のデータが入力される。またオフセット1でbOriginatorのフィールドには、このビデオストリーミングインターフェースの識別子であるインターフェースIDが入力される。この値はデバイスの構成により異なるため、一意に定められた値ではなくデバイスに依存する。
【0035】
オフセット2のbEventフィールドには、フォーマットが変更することを通知するイベントである0x01の値が入力される。ただし、この値はフォーマットが変更することを通知するためのものであるため、同様の意味を持つ値に変更されても構わない。ここではフォーマットチェンジを表す値を0x01として話を進めていく。ホストデバイスは割り込み転送を受け、bEventフィールドに入力されている値を読むことで、受信しているアイソクロナス転送のデータフォーマットが変更することがわかる。
【0036】
ホストデバイスは割り込み転送を受けデータフォーマットの変更に応じて、次のフォーマットがどのようなデータなのかを取得する必要がある。ホストデバイスはデバイスに対して次に流されるデータフォーマットの詳細なデータを取得するために、ビデオストリーミングリクエストにより要求リクエストを送る。
【0037】
この要求リクエストの構造を図13と図14に示す。ビデオストリーミングリクエストのインターフェースの属性値をとるために、図13に示すゲットインターフェースコントロールリクエスト構造体を用い、このbRequestフィールドにGET_CURを指定しCSには図 14に示すコントロールセレクタの値であるFORMAT_CHANGE_CONTROLを入力する。またwIndexにはビデオストリーミングインターフェースのIDを入力し、図14に示すOffsetとFieldの値であるコントロールセレクタのパラメータをDataに入力し、このパラメータの長さをwLengthに入力する。このフォーマットチェンジコントロールセレクタにより、ホストデバイスは次に送られてくるデータフォーマットのデータを取得することができる。取得可能なデータは、bFormatClassに次の送られてくるフォーマットを定義したクラスタイプ、bFormatIndexにこのフォーマットを示しているディスクリプタのID、guidFormatにフォーマットを一意に決めるGUIDの3種類のデータである。
【0038】
ホストデバイスは、取得したデータよりフォーマットを一意に識別可能であるため、始めにディスクリプタから取得したフォーマットの情報と比較することで認識できる。ホストデバイスは、フォーマットに応じたコーデックを準備することで次に送られてくるデータフォーマットに対して、正しいデコードを行うことができ画像データを表示することが可能となる。
【0039】
なお、フォーマットが変更したことを通知されてからホストデバイス側で正しいコーデックを準備するまでに時間がかかる場合には、ホストデバイスは再生しているデバイスに対して、一時停止コマンドなどを送信することでアイソクロナス転送を取りこぼすことを防ぐ処理を行ってもよい。
【0040】
デバイスはホストデバイスからの指示によってのみ正しいフォーマットに応じたデータ構造を送信することができるようになる。ホストデバイスはデバイスから取得したデータに応じて正しいフォーマットを設定する。
【0041】
設定を行う設定リクエストを送るデータ構造を図15に示す。データ構造内でbRequestはSET_CURを入力することで現在のデータを変更することを指定し、wValue、wIndex、wLength、Dataフィールドには図14で示したフォーマットチェンジコントロールセレクタの値が入力される。デバイスはこの設定リクエストコマンドを受信することで、ホストデバイスが新しいフォーマットのデータ受け入れ態勢が整ったことを理解できる。
【0042】
デバイスは設定リクエストを受信することでフォーマットが変更した後のデータを送信する。アイソクロナス転送のデータ構造内にビデオ信号処理を施したデータを挿入することで、画像データの転送を再開する。なお、ホストデバイスが動画データの遅延発生を防ぐ目的で一時停止コマンドを送信していた場合には、変更したフォーマットデータを受け入れる態勢が整った時点で再生コマンドを送信し、動画データの再開を行う。
【0043】
全体の流れを図16に示す。図に示されるように、ホストデバイスは動的にフォーマットの変更に対してコーデックを変更し、正しいデコーダによってアイソクロナス転送で送られてくる動画データを再生および表示することができる。
【0044】
図16(a)のフローチャートにおいて、DVCR1001は、再生するファイルのディスクリプタ構成を生成し、ホストデバイス1003に送信する(ステップS101)。ホストデバイス1003は、DVCR1001から送信されてきたディスクリプタ構成を受信し、取得する(ステップS102)。
【0045】
ホストデバイス1003からの指示によりDVCR1001は画像データを再生し、その画像データはインターフェース回路6005及びUSBケーブル1002を介してホストデバイス1003に送信される(ステップS103)。
【0046】
また、DVCR1001の再生回路4003は、ファイルのサポートしているフォーマットを読み出し、それをシスコン4002に通知する(ステップS104)。シスコン4002は、通知されたフォーマットが現在設定されているフォーマットと異なり、フォーマットが変更されたか否かを検出する(ステップS105)。フォーマットの変更が検出されなければ再生が続行され、検出されれば処理はステップS106に移行する。
【0047】
そして、フォーマット変更の検出に伴い、インターフェース回路4005は、アイクロナス転送を停止する(ステップS106)。さらに、シスコン4002は、インターフェース回路4005に対して割り込み要求をホストデバイス1003に送信するように指示する(S107)。
【0048】
割り込み要求を受信したホストデバイス1003は、DVCR1001に対して次フォーマットのディスクリプタ構成を送信するように要求して、それを取得する(ステップS108)。そして、ホストデバイス1003は、コーデックを取得した次フォーマットに設定しなおす(ステップS109)。
【0049】
次フォーマットへの設定が終了すると、インターフェース回路4005は、アイクロナス転送動作を再開する(ステップS110)。
【0050】
<第2の実施形態>
本実施形態に係るシステムの構成を示した図は実施例1で示した図6と同様であるため、ここでは省略する。デバイスであるDVCRとホストであるPCをUSBケーブルを用いて接続し、ホストからの制御によりデバイスの挙動をコントロールすることが可能である。
【0051】
第1の実施形態で示したフォーマットのディスクリプタと同様に、本実施形態においてもオフセットアドレスとフィールドの構成は図9を用いて表すことができるため、ここでは詳細な説明および構成図を省略する。同様にPC側ではディスクリプタを読むことによりフォーマットの詳細を取得できるため、受信用のFIFOメモリを準備し、アイソクロナス伝送およびバルク転送などデータを受信し、フォーマットに応じたデコーダを準備しておくことで、受信した画像データを動画としてアプリケーションなどで表示することが可能となる。また、予めディスクリプタに複数のフォーマットが記述されていることが分かっているため、各フォーマット方式に応じたデコーダを準備しておき、対応するフォーマットに随時変更することが可能となる。
【0052】
記録媒体に記録された画像データが複数の種類ある場合について、DVCRの内部ブロック図を用いて説明を行う。
【0053】
本実施形態におけるDVCRの内部ブロック図を図17に示す。ここでは記憶媒体であるメディアとしてメモリカード6001のみを図示してある。メモリカードの代わりにセンサーとしてCCDからの入力や、テープなどのシーケンシャルメディアからの信号についても同様の構成である。システムコンピュータ(シスコン)6002は、再生回路6003とビデオ信号処理回路6004とインターフェース回路6005について指示を送ることができ、それぞれの回路の状態やデータを保持している。シスコン6002はホストからの再生指示を受け、再生回路6003に対して再生コマンドを送りメモリカード6001内に記録されている動画データを再生する。ホストはインターフェースからのデータを取得することにより動画の再生を表示することができる。
【0054】
ここでメモリカード6001内の動画データが複数のファイルによって構成され、ファイルのフォーマットがそれぞれ異なり、再生指示によって連続的に複数のファイルを再生する場合の処理を図18に示す。複数のファイルを連続的に処理することになるため、シスコン6002は次のファイルのフォーマットを再生回路6003より、ビデオ信号処理回路6004へデータを流す前に、取得することが可能であることを利用して、ビデオ信号処理回路6004およびインターフェース回路6005に対して次のフォーマットを指示することができる。
【0055】
まず、DVCR1001は再生ファイルのディスクリプタ構成を生成し、それをホストデバイス1003に送信する(S201)。ホストは最初にディスクリプタを読んだとき(ステップS202)にデフォルトのインターフェースを設定する(ステップS203)。インターフェースの設定には標準要求のセットインターフェース要求を用いる。
【0056】
代替設定インターフェースとなるディスクリプタも全て最初に通知しておくことにより、ホストはサポートしているフォーマットのインターフェースを予め記録しておくことができる。ホストからの再生指示により(ステップS204)、シスコン6002は再生回路6003に対してカード内の指定された動画ファイルの再生を行う(ステップS205)。
【0057】
再生回路6003はファイルのサポートしているフォーマットを読み出しシスコン6002へ通知する(ステップS206)。シスコン6002は、受け取ったフォーマットが現在設定されているフォーマットと異なるかを判断する(ステップS206)。フォーマット設定が同じであればホスト側においての処理を変更する必要がないため、そのまま再生を続ける。
【0058】
フォーマットが変更することが分かった場合には、シスコン6002はインターフェース回路6005に対して、割り込み要求(Interrupt)をホストデバイス1003に送るように指示する(ステップS209)。
【0059】
Interruptにはデータとして図19に示す値を持つデータを用いる。ここで7001はInterruptのステータスデータタイプを示し、7002はフォーマット変更が起こったインターフェースのID、7003はフォーマットが変更したことを表すイベント値、7004は代替インターフェースID、7005はフォーマットが属するクラス、7006はフォーマットディスクリプタのインデックス、7007は変更する新しいフォーマットのGUIDである。現在のインターフェースID7002と代替インターフェースID7004により、どのインターフェースに変更すればよいかがわかり、またGUID7007を見ることにより、どのフォーマットに変更するかがわかる。ホストはこのInterruptを受信することで、前もって準備してあるフォーマットのコーデックへと変更することができる。また、インターフェース回路6005ではアイソクロナス転送を行っている場合に、I/O要求パケット(IRP)を空にするとアイソクロナス転送が中止されることを利用し、フォーマット変更によるアイソクロナス転送の一時中断を行う(ステップS208)。IRPに空のデータを入れることで、ホストはアイソクロナス転送が中断されたことを知り、データの取得を行わなくなりコーデック処理が中止される。
【0060】
なお、フォーマットが変更したことを通知されてからホスト側で正しいコーデックを準備するまでに時間がかかる場合には、ホストは再生しているデバイスに対して、一時停止コマンドなどを送信することで動画ファイルの再生を停止しアイソクロナス伝送の取りこぼしを防ぐ処理を行ってもよい。
【0061】
ホストは新しいインターフェースIDとフォーマットを取得できたため、ホスト側のコーデック処理や上位アプリケーションの再生処理などの変更を行う。全ての受け入れ準備が整い新しいフォーマットを再生可能な状態になったところで、セットインターフェース要求を用い、新しいフォーマットのインターフェースへとデバイスのインターフェースを変更する。ここで新しいインターフェースの番号はInterruptで通知された新インターフェース番号であり、ホストはディスクリプタによって通知されたIDとフォーマットが正しいことを確認した後処理を行う必要がある。ディスクリプタから取得したフォーマットおよびデータとInterruptで通知されたデータが異なる場合には、デバイス側の不具合としてデバイスの再設定を行う(ステップS210)。
【0062】
デバイス(DVCR1001)は、セットインターフェース要求を受信したら、アイソクロナス転送を再開し、動画ファイルのデータをインターフェースへと送信する(ステップS211)。ここでホストは一時停止コマンドを送信していた場合には、再生を行うための再生コマンドもしくは一時停止解除コマンドを送信し、アイソクロナスデータのみならずデバイスの再生回路を再開する処理を行う。デバイスは再生コマンドを受け取ることでアイソクロナス転送と動画ファイルの送信が行え、通常の再生状態になる。全ての動画ファイルを再生し終えたら、動画停止状態になり処理が終了する(ステップS212)。次のファイルが存在する場合には、新しい動画ファイルに対して動画再生を指示しフォーマットの検出処理を同様に行っていく(ステップS212)。
【0063】
このように本実施形態において、データフォーマットが変更したときに、動的にホスト側へ通知することにより、ホスト側では最適なコーデックを準備し、動画再生を行うことが可能である。またコーデック変更時の遅延による動画データの取りこぼしを防ぐために、ファイルの一時停止および再生を行うことで途切れなくデータの再生を続けることが可能である。
【0064】
第1及び第2の実施形態におけるフォーマットとしてサポートする形式は、Motion JPEGやMEPG2−PS、MPEG2−TS、MPEG4−SL、MPEG1、SD−DVCR、HD−DVCR、SDL−DVCRなどのストリーミングフォーマットだけに限らず、動画転送を行う全てのアイソクロナス伝送形式を用いるフォーマットにおいても、動的にフォーマットが変更した場合に通知することが可能であり、ホスト側では対応するコーデックを用意し動画表示が可能である。つまりフォーマットがどのような形式であっても本発明の目的は達成される。
【図面の簡単な説明】
【0065】
【図1】動画データをアイソクロナス伝送する機器のディスクリプタの概略図である。
【図2】ホストコントローラの要求コマンドを示した図である。
【図3】ホストコントローラに伝送するストリームフォーマットを通知するためのディスクリプタの例を示した図である。
【図4】USB上に映像データを流す場合のデータフローを示した図である。
【図5】USB上のデータフローを時系列で示した図である。
【図6】本実施形態が適用されるシステム構成図である。
【図7】DVCRのユニット構成図である。
【図8】DVCRのディスクリプタを示した図である。
【図9】フォーマットディスクリプタの構成表である。
【図10】Output Headerディスクリプタの構成表である。
【図11】第1の実施形態におけるDVCRの内部ブロック図である。
【図12】第1の実施形態における割り込み転送の構成表である。
【図13】ビデオストリーミングインターフェースの要求リクエストの構成表である。
【図14】フォーマットチェンジコントロールセレクタの構成表である。
【図15】ビデオストリーミングインターフェースの設定リクエストの構成表である。
【図16】第1の実施形態の動作を示すフローチャートである。
【図17】第2の実施形態におけるDVCRの内部ブロック図である。
【図18】第2の実施形態の動作を示すフローチャートである。
【図19】第2の実施形態における割り込み転送の構成表である。
【符号の説明】
【0066】
101:ベンダID、102:コンフィギュレーションディスクリプタ、103:インターフェース#1の代替設定0を示すディスクリプタ、104:エンドポイントのディスクリプタ、105:インターフェース#1の代替設定1を示すインターフェースディスクリプタ、106:インターフェース#1が代替設定1に選択されたときのエンドポイントディスクリプタ、301:ディスクリプタ長、302:ディスクリプタタイプ、303:ディスクリプタサブタイプ、304:フォーマット識別子、305:サブフォーマット識別子、501:SOF、502:In Token、503:データパケット、504:1周期時間、1001:DVCR、1002:PC、1003:デジタルインターフェースであるUSBケーブル、CU:カメラユニット、ズームやフォーカスなどのカメラ部分の制御を行うユニット、PU:プロセッシングユニット、露出やホワイトバランスなどの画像調整用のユニット、TU:テープトランスポートユニット(テープの録画再生などの制御を行うユニット)、MU:メモリトランスポートユニット(ランダムアクセスメディアの記録再生などの制御を行うユニット)、SU:セレクタユニット(複数入力ピンから複数の入力を受けたのち、1つの出力ピンで出力を行う)、OSU:アウトプットセレクタユニット(1つの入力ピンを持ち、複数の出力ピンで複数の出力先に対して出力を行う)、IT:インプットターミナル(外部から入力を受けるターミナル:OTのTape及びMediumはITのものと同一)、OT:アウトプットターミナル(外部へ出力を行うターミナル:ITのTape及びMediumはOTのものと同一)、3001:サポートするフォーマットの総数を表すフィールド、4001:テープ、4002:シスコン、4003:ビデオ信号処理回路、4004:再生回路、4005:インターフェース回路、5001:ステータスタイプ、5002:インターフェースID、5003:イベント値、6001:メモリカード、6002:シスコン、6003:再生回路、6004:ビデオ信号処理回路、6005:インターフェース回路、7001:ステータスタイプ、7002:インターフェースID、7003:イベント値、7004:代替インターフェースID、7005:フォーマットクラス、7006:フォーマットディスクリプタインデックス、7007:GUID

【特許請求の範囲】
【請求項1】
デジタルインターフェースによってホストデバイスと接続される再生装置であって、
前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生し、再生データ生成する再生手段と、
前記再生データのフォーマットを検出する検出手段と、
前記ホストデバイスへ前記再生データを送信するための送信手段と、
前記ホストデバイスとの通信を行うための通信手段と、
前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記再生データの送信を中断し、前記通信手段を用いて前記ホストデバイスへ前記再生データのフォーマットの変更を通知し、前記ホストデバイスからの制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と、
を備えることを特徴とする再生装置。
【請求項2】
デジタルインターフェースによって接続される再生装置であって、
前記再生装置の有する記録媒体に記録されている動画像データもしくは音声データを再生する再生手段と、
前記再生データのフォーマットを検出する検出手段と、
前記デジタルインターフェースで接続されたホストデバイスへ前記再生データを送信するための送信手段と、
前記ホストデバイスとの通信を行うための通信手段と、
前記検出手段が前記再生データのデータフォーマットの変更を検出した場合に、前記通信手段を用いて前記ホストデバイスへ再生データのフォーマットが変更したことを通知し、前記ホストデバイスからのデータ送信中止制御コマンドを前記通信手段により受信することで、前記再生データの前記デジタルインターフェースへの送信を中断し、前記ホストデバイスのデータ送信開始制御コマンドを前記通信手段により受信することで、前記再生データのデータ送信を再開するようにする制御手段と
を備えることを特徴とする再生装置。
【請求項3】
前記ホストデバイスへの通信手段にUSBで定義されている割り込み転送を用いることを特徴とする請求項1又は2に記載の再生装置。
【請求項4】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことを含むことを特徴とする請求項3に記載の再生装置。
【請求項5】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したこと及び変更するフォーマットのデータを含むことを特徴とする請求項4に記載の再生装置。
【請求項6】
前記制御手段は、前記通信手段を用いてホストデバイスへ再生データのフォーマットの変更を通知した場合に、前記ホストデバイスからの制御コマンドにより再生手段のデータ再生を一時停止し、再度ホストデバイスからの制御コマンドにより再生手段がデータ再生を再開するようにすることを特徴とする請求項1乃至5の何れか1項に記載の再生装置。
【請求項7】
前記通信手段は、前記再生データの取りうるフォーマットを予めホストデバイスに通知することを特徴とする請求項1乃至6の何れか1項に記載の再生装置。
【請求項8】
映像および画像を撮影するための撮像部、撮影したデータを記録媒体に記録する記録部、記録したデータを再生するための再生部、再生したデータのフォーマットが変換したことを検出するためのデータ検出部、デジタルインターフェースを用いて外部デバイスと通信を行うための通信部、前記再生データおよび撮影された撮像データをデジタルインターフェースを用いて送信を行うためのデータ送信部とで構成された再生装置と、該再生装置とデジタルインターフェースによって接続された該再生装置を外部より制御可能なホストデバイスを備え、
前記データ検出部は、前記再生データのフォーマットが変換したことを検出し、
前記再生装置は、前記データ送信部より前記デジタルインターフェースへのデータ送信を中断し、
前記通信部は、前記ホストデバイスへの変更通知を行い、
前記ホストデバイスは、前記変更通知を知ることにより前記再生装置の前記再生データのフォーマットを取得し、前記再生装置のデータ送信を再開させる制御コマンドを前記通信部へ通知し、
前記再生装置は、前記デジタルインターフェースへのデータ送信を再開することを特徴とするネットワークシステム。
【請求項9】
前記ホストデバイスへの変更通知にUSBで定義されている割り込み転送を用いることを特徴とする請求項8に記載のネットワークシステム。
【請求項10】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことを含むことを特徴とする請求項9に記載のネットワークシステム。
【請求項11】
前記割り込み転送で通知するデータ内に情報としてフォーマットが変更したことと、変更するフォーマットのデータを含むことを特徴とする請求項9に記載のネットワークシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2007−18628(P2007−18628A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−200652(P2005−200652)
【出願日】平成17年7月8日(2005.7.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】