(57)【要約】【課題】  シリアル・バス上の通信プロトコルによって、周辺デバイスがホスト・コンピュータと当該周辺デバイスとの間のデータのフローを制御し、周期的基準信号に対する同期を維持することを可能にする通信プロトコルを提供する。【解決手段】  このプロトコルは、周辺デバイス１０２とホスト・コンピュータ１００との間でフロー制御メッセージを転送し、周辺デバイスに、ホスト・コンピュータがいつどのように非圧縮オーディオおよびビデオ・データを送るのかについて制御させる。オーディオおよびビデオ・データは、別個のストリームとして送ることができる。ＩＥＥＥ−１３９４プロトコルを用いると、フロー制御メッセージを送るには非同期プロトコルを用い、一方非圧縮ビデオおよびオーディオ・データを送るには等時プロトコルを用いる。【選択図】      図１
2006314146.tif 000002
【特許請求の範囲】
【請求項１】
バスを通じて第１デバイスから第２デバイスにデータを転送する方法において、前記第２デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第２デバイスによって実行する方法であって、
前記周期的基準信号に応答して、前記データ間隔の間に前記バスを通じて前記第１デバイスに同期化パケットを送るステップと、
前記第１デバイスによる前記同期化パケットの受信後に、前記第１デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記周期的基準信号が規定する各データ間隔の間に、前記送るステップおよび受信するステップを繰り返すステップと、
から成る方法。
【請求項２】
請求項１記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
１つ以上のデータ・パケットと、
を備えていることを特徴とする方法。
【請求項３】
請求項２記載の方法において、前記データが、複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリーム、当該データ・ストリームの送信順序、および各ストリームに用いるパケットの数を示すことを特徴とする方法。
【請求項４】
請求項２記載の方法において、前記複数のパケットが、更に、１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、０個以上のヌル・パケットを備えていることを特徴とする方法。
【請求項５】
請求項２記載の方法において、データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
【請求項６】
請求項２記載の方法において、データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
【請求項７】
請求項２記載の方法において、データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
【請求項８】
請求項１記載の方法において、前記複数のパケットが、更に、１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、０個以上のヌル・パケットを備えていることを特徴とする方法。
【請求項９】
請求項１記載の方法において、前記データ間隔が１フレームのビデオ・データに対応することを特徴とする方法。
【請求項１０】
請求項１記載の方法において、前記データ間隔が１フィールドのビデオ・データに対応することを特徴とする方法。
【請求項１１】
請求項１記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記シリアル・バスがＩＥＥＥ−１３９４準拠バスであることを特徴とする方法。
【請求項１３】
請求項１２記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
【請求項１４】
請求項１２記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
【請求項１５】
請求項１記載の方法において、前記周期的基準信号を前記第２デバイスが受信することを特徴とする方法。
【請求項１６】
請求項１記載の方法において、前記周期的基準信号を前記第２デバイスが生成することを特徴とする方法。
【請求項１７】
請求項１記載の方法であって、更に、
前記第１デバイスから、前記データの転送を開始するコマンドを受信するステップと、
第１データ間隔分の第１同期化パケットを前記第２デバイスが送るまで、前記第１デバイスから、前記バスを通じて０個以上のヌル・パケットを受信するステップと、
を含むことを特徴とする方法。
【請求項１８】
請求項１記載の方法であって、更に、
前記第２デバイスにおいて、前記データをバッファに受信するステップと、
前記周期的基準データと同期して、前記第２デバイスから前記データを出力するステップと、
を含むことを特徴とする方法。
【請求項１９】
請求項１８記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし出力するステップを含むことを特徴とする方法。
【請求項２０】
請求項１８記載の方法において、前記出力するステップが、ＤＶフォーマットのビデオ・データを生成するステップを含むことを特徴とする方法。
【請求項２１】
バスを通じてデータ源に接続するデバイスであって、
前記バスを通じて、前記データ源にパケットを送信し、かつ前記データ源からパケットを受信するバス・インターフェースと、
複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに命令を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを送らせる出力を有するコントローラと、
前記データ源の前記同期化パケットの受信後に、前記データ源から前記バスを通じて、前記バス・インターフェースを介して受信した複数のパケットから、前記データ間隔分のデータを受信するように接続されているバッファと、
を備えていることを特徴とするデバイス。
【請求項２２】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて前記ホスト・コンピュータから周辺デバイスにデータを転送する方法であって前周期的基準信号が規定する各データ間隔の間に前記ホスト・コンピュータにより実行される前記の方法を、前記ホスト・コンピュータに実行させる、コンピュータ・プログラム命令と、
から成り、前記方法が、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記データ間隔分の前記複数のパケットを送った後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと
から成ること、を特徴とするコンピュータ・プログラム製品。
【請求項２３】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて周辺デバイスからホスト・コンピュータにデータを転送する方法を前記ホストコンピュータに実行させるコンピュータ・プログラム命令と、
から成り、前記方法が、
前記周辺デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスから複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成ること、を特徴とするコンピュータ・プログラム製品。
【請求項２４】
ホスト・コンピュータと、
バスを通じて前記ホスト・コンピュータに接続されている周辺デバイスと、
を備え、
前記周辺デバイスが、周期的基準信号に応じて各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送る手段を備えており、
前記ホスト・コンピュータが、前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送る手段であって、前記パケットが、前記データ間隔分のデータを含む、手段と、前記データ間隔分の複数のパケットを送った後に動作して、後続のデータ間隔に対する同期化パケットを受信するまで待つ手段とを備えていること、
を特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周期的基準信号を用い、デバイス間で同期してバスを通じて時間データを転送する場合における制御のための通信プロトコルに関する。
【背景技術】
【０００２】
一般に、ビデオおよびオーディオのデータを処理する周辺デバイスをホスト・コンピュータに接続するのは、ホスト・コンピュータが実行しない機能を実行するためか、またはディジタルおよびアナログ・フォーマット間でビデオおよびオーディオ・データの変換を行うためである。周辺デバイスおよびホスト・コンピュータ間の接続は、通例では、バスによって行い、これを通じてパケットを用いた通信を行う。バスの形式には、一例として、周辺素子相互接続（ＰＣＩ）バスのようなパラレル・バス、ＩＥＥＥ−１３９４に準拠したバスのようなシリアル・バス、またはインターネットのようなコンピュータ・ネットワークが含まれる。
【０００３】
ビデオおよびオーディオ・データは、通例では、１９９４年１２月付けのHD Digital VCR Conference（ＨＤディジタルＶＣＲ協議会）の"Specifications of Consumer-Use Digital VCR's using 6.3 mm magnetic tape" （６．３ｍｍ磁気テープを用いた消費者用ディジタルＶＣＲの仕様書）（非特許文献１）に記載されているフォーマットのような、標準的なフォーマットになっている。この文書は、“ブルー・ブック”またはＳＭＰＴＥ３１４Ｍ−１９９９またはＩＥＣ−６１８３４とも呼ばれ、これは、一般に「ＤＶ」と呼ばれているフォーマットのビデオおよびオーディオ・データについて記載している。ビデオ・データは、圧縮しても、または非圧縮でもよい。通例では、オーディオ・データは非圧縮である。
【０００４】
ビデオおよびオーディオ・データを処理する周辺デバイスの一例に、トランスコーダ(transcoder)がある。トランスコーダは、通例では、ＩＥＥＥ−１３９４準拠バスのようなシリアル・バスを通じて、ＤＶのような圧縮ディジタル・ビデオ・データおよびオーディオ・データを受け取り、このデータを処理して出力する。即ち、ビデオ・データをアナログ・ビデオ・データに変換し、ビデオ・モニタまたはカムコーダのようなビデオ・デバイスに出力する。オーディオ・データをオーディオ信号に変換し、スピーカ・セットのようなオーディオ・デバイスに出力する。また、このようなトランスコーダは、入力アナログ・ビデオ信号およびオーディオ信号を受け、ＤＶのような圧縮ディジタル・ビデオ・データおよびオーディオ・データを生成し、ＩＥＥＥ−１３９４準拠バスのようなシリアル・バスを通じてホスト・コンピュータに転送することもできる。
【０００５】
カムコーダまたはトランスコーダのような周辺デバイスとホスト・コンピュータとの間でビデオおよびオーディオ・データを転送するには、現在では多くのシステムが利用可能である。ホスト・コンピュータは、ビデオおよびオーディオの編集のような多数の目的のいずれにも用いることができる。ＤＶを用いた場合、一般的にはＩＥＥＥ−１３９４準拠バスを用いてＤＶをホスト・コンピュータおよび周辺デバイス間で転送する。ＩＥＥＥ−１３９４準拠バスを通じてＤＶストリームを移送(transport)するために、ＩＥＣ−６１８８３と呼ばれる規格が規定されている。格納されているＤＶを編集し、ＩＥＣ−６１８８３を用いてＩＥＥＥ−１３９４バスを通じてＤＶを出力する編集システムでは、ホストは最初にＤＶを伸張し、伸張したデータに対して編集処理を実行し、次いでその結果を再び圧縮してＤＶとし、その後ＩＥＥＥ−１３９４バス上でＤＶを転送する。このプロセスでは、圧縮のためにホスト・コンピュータの資源を用いる必要があるので、ホスト・コンピュータのリアル・タイム処理能力が制限されてしまう。したがって、プログラム全体のＤＶバーションは、多くの場合、作成してからデータ・ファイルに格納し、その後にコンピュータから別のデバイスに転送している。更に、アナログ・ビデオ信号のように、ＤＶ以外のいずれかの出力フォーマットでビデオを製作する際にも、最初にＤＶバージョンを伸張しなければならない。ＤＶを伸張しその結果をアナログ・ビデオ信号にエンコードする際、トランスコーダによって行うのが一般的である。
【非特許文献１】HD Digital VCR Conference（ＨＤディジタルＶＣＲ協議会）の"Specifications of Consumer-Use Digital VCR's using 6.3 mm magnetic tape" （６．３ｍｍ磁気テープを用いた消費者用ディジタルＶＣＲの仕様書）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＩＥＥＥ−１３９４準拠デバイスは、バス・タイマ・クロックと呼ばれるものを用いて、ローカル・タイム・ベースに基づいてデータを転送する。その結果、ＩＥＥＥ−１３９４に取り付けられている各デバイスは、それ自体のタイム・ベースを有するが、一般に、同じバス上にある別のデバイスのタイム・ベースよりも速い場合や遅い場合がある。ＩＥＣ−６１８８３規格は、これらのクロックの同期を取る技法を備えているが、クロック間のジッタや位相差のために、バス上の異なるデバイス上には異なるタイム・ベースが一般に存在する。タイム・ベースが異なることの結果として、ホストが送信するデータ・パケットは、トランスコーダが消費可能な量を超過するか、またはトランスコーダに送信するデータ・パケットが少な過ぎることによって、フレームの繰り返しまたは欠落が生じる。この問題に取り組むために、ホストは周期的に空のデータ・パケットを送り、各フレームのパケットにおいてプレゼンテーション・タイム・スタンプ(presentation time stamp)（ＳＹＴフィールド）を用いなければならない。プレゼンテーション・タイム・スタンプは、フレームを表示すべき時点をトランスコーダに指定する。しかしながら、送信元がタイム・スタンプを生成するには送信元のバス・タイマ・クロックを用いるが、受信側がこれを用いる場合、受信側のバス・タイマ・クロックを用いる。したがって、送信に先だって、空データ・パケットの数および送信周波数を注意深く計算しても、概して、空データ・パケットは、フレームが欠落または反復する前に、単に時間を延長するだけである。空データ・パケットを用いても、送信側デバイスおよび受信側デバイス上のタイム・ベースが異なることに起因する問題は解決されない。タイム・スタンプに伴う別の問題は、市販のデバイスが全てタイム・スタンプの使用をサポートしている訳ではないことである。デバイスによっては、タイム・スタンプを送らないものや、受信したタイム・スタンプを処理しようとしないものもある。これらの技法を用いるとフレームの欠落や反復を招く虞れがあるので、このようなトランスコーダを用いても、同期ビデオ信号を信頼性高く生成してビデオ・モニタ上で再生したり、テープに記録したり、あるいはオーディオおよびビデオ素材の再生を外部の同期ビデオ・デバイスと同期させることはできない。
【０００７】
また、現在のトランスコーダの設計では、トランスコーダを通じてホストを他のデバイスに接続しても、ホストが直接他のデバイスと通信したり、トランスコーダが、他のデバイスに送るパケット内のデータを修正することさえできるようにはならない。
【課題を解決するための手段】
【０００８】
本発明は、周期的な基準信号を受信するデバイスが、デバイス間におけるバスを通じた時間データのフローを制御し、時間データと周期的基準信号との同期を維持することを可能にする通信プロトコルを提供する。フロー制御メッセージをデバイス間で送り、周期的基準信号を受信したデバイスが、いつどのようにデータをバス上で送るか制御できるようにする。例えば、周期的基準信号を受信した周辺デバイスは、フロー制御メッセージをホスト・コンピュータに送り、ホスト・コンピュータから周辺デバイスへのデータのフローを制御することができる。オーディオおよびビデオ・データのような異なる種類の時間データは、別個のデータ・ストリームとして送ることができる。ＩＥＥＥ−１３９４プロトコルを用いる場合、フロー制御メッセージを送るには非同期プロトコルを用いるが、時間データを送るには等時性プロトコル(isochronous protocol)を用いる。
【０００９】
非圧縮のビデオおよびオーディオ・データは、ホスト・コンピュータから周辺デバイスにシリアル・バスを通じて転送され、周辺デバイスは、ビデオ・データの圧縮やアナログ・ビデオ信号の生成というような処理を、データに対して実行する。ビデオおよびオーディオ・データは、別個のストリームとして転送することもできる。非圧縮ビデオ・データを転送することによって、ホスト・コンピュータは、ビデオ・データを圧縮するために資源を消費する必要がなくなり、これらの資源を、ビデオおよびオーディオ・データに対する一層創造的な処理に用いることが可能となる。更に、非圧縮ビデオ・データを転送することによって、周辺デバイスは、最初にビデオ・データを伸張することなく、ビデオ・データを多くの出力フォーマットで発生することができる。また、周辺デバイスは、標準的なプロトコルを用いて、標準的なバスを通じてビデオおよびオーディオ・データを出力することもできる。例えば、周辺デバイスは、非圧縮オーディオおよびビデオ・データからＤＶを生成し、ＩＥＣ−６１８８３を用いて、ＩＥＥＥ−１３９４準拠バスを通じてＤＶを出力することができる。
【００１０】
また、ホスト・コンピュータからのデータ転送を周期的基準信号と同期させる周辺デバイスを用いると、トランスコーダまたはカムコーダまたはデッキのような、周辺デバイスに接続されている別のデバイスへのデータ転送を同期させることができる。例えば、周辺デバイスは、ホスト・コンピュータから受信した非圧縮オーディオおよびビデオ・データをビデオ信号としてエンコードすることができる。次いで、周辺デバイスはビデオ信号を他のデバイスに出力する。他のデバイスが周期的基準信号を供給することもできる。例えば、他のデバイスがカメラである場合、カメラからのコンポジット・ビデオ出力信号を周期的基準信号として用いることができる。その結果、ホストから周辺デバイスへ、そしてカメラへのデータの転送を、カメラに同期させる。
【００１１】
このような周辺デバイスは、テープに対してリアル・タイムのディジタル・カットを実行することも可能である。即ち、再生中に周期的基準信号と同期して非圧縮データをホスト・コンピュータから周辺デバイスに転送することによって、ホスト・コンピュータはリアル・タイムでエフェクトを処理することができる。周辺デバイスは、非圧縮データからＤＶ出力を生成することもできる。このＤＶ出力は、ＩＥＥＥ−１３９４準拠バスを通じて、ＤＶデッキまたはカムコーダにような記録デバイスに供給することができる。このＤＶデッキまたはカムコーダがコンポジット・ビデオ出力信号を有する場合、デッキまたはカムコーダからのこの出力信号を周期的基準信号として用いることができる。また、周辺デバイスは、ホスト・コンピュータと他のデバイスとの間のブリッジとして作用することもできる。即ち、周辺デバイスは、シリアル・バスを通じてホスト・コンピュータと周辺デバイスとの間で１つのプロトコルを実装し、他のシリアル・バスを通じて周辺デバイスと他のデバイスとの間で１つのプロトコルを実装する。１つのポートでパケットを受信した後、周辺デバイスは、他のポートに接続されているデバイスにパケットを導出するのか、または周辺デバイスにパケットを導出するのか、またはパケットを周辺デバイスによって処理し、１つ以上の新たなパケットを作成して、他のポートに接続されているデバイスに出力するのか判断する。例えば、周辺デバイスは、ホストから受信した圧縮ビデオ・データを伸張し、非圧縮ビデオ・データを含むデータ・パケットを他のデバイスに出力することができる。ホストの観点からは、周辺デバイスは、他のデバイスであるかのように振る舞う。他のデバイスの観点からは、データ・パケットはホスト・デバイスから来たかのように見える。
【００１２】
詳細には、本発明は以下のものを開示する。
１．バスを通じて第１デバイスから第２デバイスにデータを転送する方法において、前記第２デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第２デバイスによって実行する方法であって、
前記周期的基準信号に応答して、前記データ間隔の間に前記バスを通じて前記第１デバイスに同期化パケットを送るステップと、
前記第１デバイスによる前記同期化パケットの受信後に、前記第１デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記パケットがデータ間隔分のデータを含む、ステップと、
前記周期的基準信号が規定する各データ間隔の間に、前記送るステップおよび受信するステップを繰り返すステップと、
から成る方法。
２．項１記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
１つ以上のデータ・パケットと、
を備えていることを特徴とする方法。
３．項２記載の方法において、前記データが、複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリーム、当該データ・ストリームの送信順序、および各ストリームに用いるパケットの数を示すことを特徴とする方法。
４．項２記載の方法において、前記複数のパケットが、更に、１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、０個以上のヌル・パケットを備えていることを特徴とする方法。
５．項２記載の方法において、データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
６．項２記載の方法において、データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
７．項２記載の方法において、データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
８．項１記載の方法において、前記複数のパケットが、更に、１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、０個以上のヌル・パケットを備えていることを特徴とする方法。
９．項１記載の方法において、前記データ間隔が１フレームのビデオ・データに対応することを特徴とする方法。
１０．項１記載の方法において、前記データ間隔が１フィールドのビデオ・データに対応することを特徴とする方法。
１１．項１記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
１２．項１１記載の方法において、前記シリアル・バスがＩＥＥＥ−１３９４準拠バスであることを特徴とする方法。
１３．項１２記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
１４．項１２記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
１５．項１記載の方法において、前記周期的基準信号を前記第２デバイスが受信することを特徴とする方法。
１６．項１記載の方法において、前記周期的基準信号を前記第２デバイスが生成することを特徴とする方法。
１７．項１記載の方法であって、更に、
前記第１デバイスから、前記データの転送を開始するコマンドを受信するステップと、
第１データ間隔の分の第１同期化パケットを前記第２デバイスが送るまで、前記第１デバイスから、前記バスを通じて０個以上のヌル・パケットを受信するステップと、
を含むことを特徴とする方法。
１８．項１記載の方法であって、更に、
前記第２デバイスにおいて、前記データをバッファに受信するステップと、
前記周期的基準データと同期して、前記第２デバイスから前記データを出力するステップと、
を含むことを特徴とする方法。
１９．項１８記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし出力するステップを含むことを特徴とする方法。
２０．項１８記載の方法において、前記出力するステップが、ＤＶフォーマットのビデオ・データを生成するステップを含むことを特徴とする方法。
２１．バスを通じて第１デバイスから第２デバイスにデータを転送する方法において、前記第２デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第２デバイスによって実行する方法であって、
前記周期的基準信号に応答して、前記バスを通じて前記第１デバイスに前記データ間隔に対する同期化パケットを送るステップと、
前記第１デバイスが前記同期化パケットを受信した後、前記第１デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記周期的基準信号が規定する後続のデータ間隔を待つステップと、
から成ることを特徴とする方法。
２２．バスを通じてデータ源に接続するデバイスであって、
複数のデータ間隔を規定する周期的基準信号を処理する手段と、
前記周期的基準信号に応答して、各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを伝達する手段と、
前記データ源による前記同期化パケットの受信後に、前記データ源から前記バスを通じて複数のパケットを受け入れる手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記伝達する手段および前記受け入れる手段を、前記周期的基準信号が規定する各データ間隔毎に繰り返し動作させる手段と、
を備えていることを特徴とするデバイス。
２３．バスを通じてデータ源に接続するデバイスであって、
前記バスを通じて、前記データ源にパケットを送信し、かつ前記データ源からパケットを受信するバス・インターフェースと、
複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに命令を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを送らせる出力を有するコントローラと、
前記データ源の前記同期化パケットの受信後に、前記データ源から前記バスを通じて、前記バス・インターフェースを介して受信した複数のパケットから、前記データ間隔分のデータを受信するように接続されているバッファと、
を備えていることを特徴とするデバイス。
２４．バスを通じて第１デバイスから第２デバイスにデータを転送する方法であって、前記第１デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
前記第１デバイスが前記バスを通じて前記第２デバイスに前記データ間隔に対する同期化パケットを送るステップと、
前記第１デバイスが、前記同期化パケットを送った後、前記バスを通じて前記第２デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記周期的基準信号に応じて、次のデータ間隔まで前記第１デバイスが待つステップと、
から成ることを特徴とするデバイス。
２５．項２４記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
１つ以上のデータ・パケットと、
から成ることを特徴とする方法。
２６．項２５記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリームと、該データ・ストリームの送信順序と、各ストリーム毎に用いるパケット数とを示すことを特徴とする方法。
２７．項２５記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
２８．項２５記載の方法において、前記データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
２９．項２５記載の方法において、前記データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
３０．項２５記載の方法において、前記データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
３１．項２４記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
３２．項２４記載の方法において、前記データ間隔が１フレームのビデオ・データに対応することを特徴とする方法。
３３．項２４記載の方法において、前記データ間隔が１フィールドのビデオ・データに対応することを特徴とする方法。
３４．項２４記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
３５．項３４記載の方法において、前記シリアル・バスがＩＥＥＥ−１３９４準拠バスであることを特徴とする方法。
３６．項３５記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
３７．項３５記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
３８．項２４記載の方法において、前記周期的基準信号を前記第１デバイスが受信することを特徴とする方法。
３９．項２４記載の方法において、前記周期的基準信号を前記第１デバイスが生成することを特徴とする方法。
４０．項２４記載の方法であって、更に、
前記第２デバイスから、前記データの転送を開始するコマンドを受信するステップと、
第１データ間隔に対する第１同期化パケットが送られるまで、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
４１．項２４記載の方法であって、更に、
前記第１デバイスが、前記周期的基準信号に同期して、前記データをバッファに受信するステップと、
前記第１デバイスが、前記バッファから前記バスを通じて前記データを前記第２デバイスに転送するステップと、
を含むことを特徴とする方法。
４２．項４１記載の方法において、前記データを受信するステップが、アナログ・ビデオ信号を受信しデコードするステップを含むことを特徴とする方法。
４３．項４１記載の方法において、前記受信するステップが、ＤＶフォーマットのビデオ・データを受信するステップから成る方法。
４４．バスを通じてデータ受信側に接続するデバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記周期的基準信号に応答して、各データ間隔の間に前記バスを通じて前記データ受信側に同期化パケットを伝達する手段と、
前記データ受信側が前記同期化パケットを受信した後に、前記バスを通じて前記データ受信側に複数のパケットを転送する手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記周期的基準信号が規定する各データ間隔毎に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
を備えていることを特徴とするデバイス。
４５．バスを通じてデータ受信側に接続するデバイスであって、
前記データ受信側に接続されているバスを通じてパケットを送るバス・インターフェースと、
データを受信する入力を有し、前記バス・インターフェースにデータを供給して、複数のパケットとして前記バスを通じて前記データ受信側に送信するように接続されているバッファと、
複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに指示を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ受信側に同期化パケットを送らせる出力を有するコントローラと、
を備えていることを特徴とするデバイス。
４６．バスを通じてホスト・コンピュータに接続するシステムであって、
周辺デバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記複数のデータ間隔分のビデオ・データを受信する手段と、
前記周期的基準信号に応答して、各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを伝達する手段と、
前記ホスト・コンピュータの前記同期化パケットの受信後に、前記バスを通じて前記ホスト・コンピュータに複数のパケットを転送する手段であって、前記パケットが前記データ間隔分のビデオ・データを含む、手段と、
前記周期的基準信号が規定する各データ間隔毎に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
を備えている周辺デバイスと、
ビデオ・デバイスであって、
前記周期的基準信号を受信し、これと同期する入力と、
前記周期的基準信号に同期して前記ビデオ・データを前記周辺デバイスに供給する手段と、
を備えているビデオ・デバイスと、
から成ることを特徴とするシステム。
４７．バスを通じてホスト・コンピュータに接続するシステムであって、
周辺デバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記ホスト・コンピュータに同期化パケットを伝達する手段と、
前記ホスト・コンピュータによる前記同期化パケットの受信後に、前記バスを通じて前記ホスト・コンピュータから複数のパケットを受け入れる手段であって、前記パケットが前記データ間隔分のビデオ・データを含む、手段と、
前記周期的基準信号が規定する各データ間隔の間に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
前記複数のデータ間隔分のビデオ・データを供給する手段と、
を備えている周辺デバイスと、
ビデオ・デバイスであって、
前記周期的基準信号を受信し、これと同期する入力と、
前記周期的基準信号と同期して、前記周辺デバイスが供給する前記ビデオ・データを受信する手段と、
を備えているビデオ・デバイスと、
から成ることを特徴とするシステム。
４８．バスを通じて第１デバイスから第２デバイスにデータを転送する方法であって、
前記バスを通じて前記第２デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記第２デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記データ間隔分の前記複数のパケットを送った後、前記バスを通じて前記第２デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成り、前記第２デバイスが処理する周期的基準信号が規定する各データ間隔の間に前記第１デバイスが実行すること、を特徴とする方法。
４９．項４８記載の方法において、前記複数のパケットが、
送るべきデータ・パケット数を示すプリアンブル・パケットと、
１つ以上のデータ・パケットと、
から成ることを特徴とする方法。
５０．項４９記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリームと、該データ・ストリームの送信順序と、各ストリームに用いるパケット数とを示すことを特徴とする方法。
５１．項４９記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
５２．項４９記載の方法において、前記パケットがビデオ・データ・パケットから成ることを特徴とする方法。
５３．項４９記載の方法において、前記パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
５４．項４９記載の方法において、前記パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
５５．項４８記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
５６．項４８記載の方法において、前記データ間隔が１フレームのビデオ・データに対応することを特徴とする方法。
５７．項４８記載の方法において、前記データ間隔が１フィールドのビデオ・データに対応することを特徴とする方法。
５８．項４８記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
５９．項５８記載の方法において、前記シリアル・バスがＩＥＥＥ−１３９４準拠バスであることを特徴とする方法。
６０．項５９記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
６１．項５９記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
６２．項４８記載の方法であって、更に、
前記データの転送を開始するコマンドを前記第２デバイスに送るステップと、
第１データ間隔に対する第１同期化パケットが送られるまで、前記バスを通じて前記第２デバイスに０個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
６３．バスを通じてデータをデバイスに転送する装置であって、
前記デバイスが処理する周期的基準信号が規定する各データ間隔の間に、前記バスを通じて同期化パケットを前記デバイスから受信する手段と、
前記同期化パケットを受信した後に動作して、前記バスを通じて前記デバイスに複数のパケットを送る手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記データ間隔分の複数のパケットを送った後に動作して、前記バスを通じて前記デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つ手段と、
から成る装置。
６４．バスを通じてデバイスにデータを転送する装置であって、
前記バスを通じて前記デバイスにパケットを送り、かつ該デバイスからパケットを受信するバス・インターフェースと、
複数のパケットとして送信するために、データを前記バス・インターフェースに転送するように接続されているバッファと、
コントローラであって、
周期的基準信号が規定する各データ間隔の間に、前記バス・インターフェースが受信した前記デバイスからの同期化パケットを処理する手段と、
前記同期化パケットの受信後に動作して、前記バス・インターフェースにより前記バスを通じて前記装置および前記デバイス間において複数のパケットを転送させる手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記データ間隔分の複数のパケットを転送した後に動作し、前記バスを通じて前記デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つ手段と、
を備えている、前記のコントローラと、
から成る装置。
６５．コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて前記ホスト・コンピュータから周辺デバイスにデータを転送する方法であって前周期的基準信号が規定する各データ間隔の間に前記ホスト・コンピュータにより実行される前記の方法を、前記ホスト・コンピュータに実行させる、コンピュータ・プログラム命令と、
から成り、前記方法が、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記データ間隔分の前記複数のパケットを送った後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと
から成ること、を特徴とするコンピュータ・プログラム製品。
６６．バスを通じて第１デバイスから第２デバイスにデータを転送する方法であって、該方法が、前記第１デバイスが処理する周期的基準信号が規定する各データ間隔の間に前記第２デバイスにより実行され、
前記バスを通じて前記第１デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記第１デバイスから複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記バスを通じて前記第１デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成る方法。
６７．コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて周辺デバイスからホスト・コンピュータにデータを転送する方法を前記ホストコンピュータに実行させるコンピュータ・プログラム命令と、
から成り、前記方法が、
前記周辺デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスから複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成ること、を特徴とするコンピュータ・プログラム製品。
６８．バスを通じてホスト・コンピュータから周辺デバイスにデータを転送する方法であって、
前記周辺デバイスが、周期的基準信号に応じて、各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送るステップと、
前記ホスト・コンピュータが、前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、前記のステップと、
前記データ間隔分の複数のデータを送った後、前記ホスト・コンピュータが、後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成る方法。
６９．項６８記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
１つ以上のデータ・パケットと、
から成ることを特徴とする方法。
７０．項６９記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブルが、前記間隔中に送信すべきストリームと、該データ・ストリームの送信順序と、各ストリーム毎に用いるパケット数を示すことを特徴とする方法。
７１．項６９記載の方法において、前記待つステップが、前記１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
７２．項６９記載の方法において、前記データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
７３．項６９記載の方法において、前記データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
７４．項６９記載の方法において、前記データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
７５．項６８記載の方法において、前記待つステップが、前記１つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために０個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
７６．項６８記載の方法において、前記データ間隔が１フレームのビデオ・データに対応することを特徴とする方法。
７７．項６８記載の方法において、前記データ間隔が１フィールドのビデオ・データに対応することを特徴とする方法。
７８．項６８記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
７９．項７８記載の方法において、前記シリアル・バスがＩＥＥＥ−１３９４準拠バスであることを特徴とする方法。
８０．項７９記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
８１．項７９記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
８２．項６８記載の方法において、前記周期的基準信号を前記周辺デバイスが受信することを特徴とする方法。
８３．項６８記載の方法において、前記周期的基準信号を前記周辺デバイスが生成することを特徴とする方法。
８４．項６８記載の方法であって、更に、
前記ホスト・コンピュータが、前記データの転送を開始するコマンドを送るステップと、
前記周辺デバイスが第１データ間隔に対する第１同期化パケットを送るまで、前記ホスト・コンピュータが前記バスを通じて０個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
８５．項６８記載の方法であって、更に、
前記周辺デバイスが前記データをバッファ内に受信するステップと、
前記周辺デバイスが、前記周期的基準信号に同期して、前記データを出力するステップと、
を含むことを特徴とする方法。
８６．項８５記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし、出力するステップから成ることを特徴とする方法。
８７．項８５記載の方法において、前記出力するステップが、ＤＶフォーマットのビデオ・データを生成するステップを含むことを特徴とする方法。
８８．ホスト・コンピュータと、
バスを通じて前記ホスト・コンピュータに接続されている周辺デバイスと、
を備え、
前記周辺デバイスが、周期的基準信号に応じて各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送る手段を備えており、
前記ホスト・コンピュータが、前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送る手段であって、前記パケットが、前記データ間隔分のデータを含む、手段と、前記データ間隔分の複数のパケットを送った後に動作して、後続のデータ間隔に対する同期化パケットを受信するまで待つ手段とを備えていること、
を特徴とするシステム。
８９．ホスト・コンピュータであって、
圧縮ビデオ・データおよび関連するオーディオ・データを格納するストレージと、前記ビデオ・データおよび前記オーディオ・データ、ならびに前記ビデオ・データに作用させるエフェクトを用いてプログラムを編集する編集システムと、
前記編集したプログラムをフル・モーションおよび最大解像度で再生する再生システムであって、前記圧縮ビデオ・データを伸張する手段と、前記伸張したビデオ・データに対する前記エフェクトを再生中に処理する手段とを含む、再生システムと、
を備えている、前記のホスト・コンピュータと、
バスを通じて前記ホスト・コンピュータに接続されており、前記バス上における前記ホスト・コンピュータからの伸張ビデオおよびオーディオ・データのフローを制御して、フローを周期的基準信号と同期させる手段を備えている、周辺デバイスと
から成るシステムであって、
前記ホスト・コンピュータが、
前記周辺デバイスによるフロー制御に応答して、前記バスと通じて再生中に前記再生システムから前記周辺デバイスに、エフェクトを有し処理した伸張ビデオと前記オーディオ・データとを送る手段を備えており、
前記周辺デバイスが、更に、
再生中に前記伸張ビデオおよびオーディオ・データを圧縮して、圧縮データ・ストリームを作成する手段と、
再生中に前記圧縮データ・ストリームを、前記周期的基準信号と同期させて、記録デバイスに出力する手段と、
を備えていることを特徴とするシステム。
９０．ホスト・コンピュータと他のデバイスとの間にブリッジを提供する周辺デバイスであって、該周辺デバイスが第１シリアル・バスによって前記ホスト・コンピュータに接続し、第２シリアル・バスによって前記他のデバイスに接続しており、
前記ホスト・コンピュータと前記周辺デバイスとの間の通信のために前記第１シリアル・バス上にプロトコルを実装する手段と、
前記周辺デバイスと前記他のデバイスとの間の通信のために前記第２シリアル・バス上に前記プロトコルを実装する手段と、
前記他のデバイスから前記ホスト・コンピュータに情報を伝達して、前記ホスト・コンピュータが、前記第１シリアル・バス上のプロトコルを用いて、前記他のデバイスに宛てられたパケットを伝達することを可能とする手段と、
前記ホスト・コンピュータから前記他のデバイスに情報を伝達して、前記他のデバイスが、前記第２シリアル・バス上のプロトコルを用いて、前記ホスト・コンピュータに宛てられたパケットを伝達することを可能とする手段と、
前記第１シリアル・バスを通じて受信したパケットを処理する第１パケット処理手段であって、
前記パケットが前記他のデバイスに宛てられている場合を判定し、そして前記パケットを前記他のデバイスに転送する手段と、
前記パケットが前記周辺デバイスに宛てられている場合を判定し、そして前記パケットを前記周辺デバイスにおいて処理する手段と、
前記パケットが前記周辺デバイスによって処理されるが前記他のデバイスに宛てられている場合を判定し、そして前記パケットを処理して１つ以上の新たなパケットを作成し、そして該１つ以上の新たなパケットを前記他のデバイスに転送する手段と、
を含む、第１パケット処理手段と、
前記第２シリアル・バスを通じて受信したパケットを処理する第２パケット処理手段であって、
前記パケットが前記ホスト・コンピュータに宛てられている場合を判定し、そして前記パケットを前記ホスト・コンピュータに転送する手段と、
前記パケットが前記周辺デバイスに宛てられている場合を判定し、そして前記パケット前記周辺デバイスにおいて処理する手段と、
前記パケットが前記周辺デバイスによって処理されるが前記ホスト・コンピュータに宛てられている場合を判定し、そして前記パケットを処理して１つ以上の新たなパケットを作成し、そして該１つ以上の新たなパケットを前記ホスト・コンピュータに転送する手段と、
を含む、第２パケット処理手段と、
を備えていることを特徴とする周辺デバイス。
【発明を実施するための最良の形態】
【００１３】
図１は、ＩＥＥＥ−１３９４準拠バスのような、バス１０４によってホスト・コンピュータ１００を周辺デバイス１０２に接続したシステムを示す。ホスト・コンピュータは、通例では、ストレージを含み、当該コンピュータのオペレーティング・システムのファイル・システムを用いて、ビデオ・データおよびオーディオ・データをデータ・ファイル内に格納する。ホスト・コンピュータ上には編集システムが設けられており、ビデオ・データおよびオーディオ・データを用い、ビデオ・データ上でエフェクトを実施するプログラムの編集が可能となっている。このような編集システムは、通例では、プログラムをクリップ・シーケンスとして表し、クリップが、時間メディアを収容するデータ・ファイル、および当該データ・ファイル内の範囲に対する参照となる。再生システムも設けられており、編集したプログラムをフル・モーション(full motion)かつ最高の解像度で再生することができる。再生システムによって、編集者は編集したプログラムを視認することができる。ビデオ・データが圧縮されている場合、再生システムはビデオ・データを伸張し、この伸張したビデオ・データに対してあらゆるエフェクトを実行する。
【００１４】
バスは、これを通じてパケットを用いた通信が行われ、ビデオ・データやオーディオ・データのような時間データに対するデータを、ビデオ・データのフレーム・レートのように、時間データのサンプル・レートよりも速いレートで送信することができるバスであれば、いずれの形式でもよい。ホスト・コンピュータは、バス・インターフェースを含み、バスを通じてパケットをデバイスに送り、そしてデバイスからパケットを受信する。通常メモリ内のバッファが接続されており、データをバス・インターフェースに転送して、複数のパケットとして送信する。このバッファは、例えば、再生アプリケーションからのデータを受信し、デバイスに転送する。ホスト・コンピュータ上には、バス・インターフェース用ドライバ、即ち、コントローラとして作用するソフトウエアの一形態も常駐しており、これによってホスト・コンピュータは、ここに述べるプロトコルのような通信プロトコルを、バスを通じて実装することができる。
【００１５】
ホスト・コンピュータは、周辺デバイスからバスを通じてデータを受信することができる。ホスト・コンピュータは、バスを通じて周辺デバイスにデータを送ることができる。ホスト・コンピュータおよび周辺デバイスは、ビデオ・データ、オーディオ・データ、および時間データを含む数種類のデータ、ならびにその他のコンテンツを交換することもできる。ビデオ・データは、圧縮されていても非圧縮でもよく、オーディオ・データやその他の関係するタイム・ベース・メディアと合体しても、別個でもよい。通例では、オーディオ・データは非圧縮であるが、圧縮されていてもよい。本発明は、ビデオ・データまたはオーディオ・データあるいはその他の時間データのいずれの特定的なフォーマットにも限定されることはない。
【００１６】
データは、パケットの形態で、バス１０４を通じて転送される。パケットとは、データと、バス上のノードのアドレスのような経路指定情報との双方を含むデータの送信単位である。また、通信プロトコルが異なる種類のパケットを送信することを可能にする場合、パケットはパケットの種類も示すことができる。また、パケットは、誤り訂正符号およびその他のデータも含むことができる。各種類のパケットの形態および内容は、通信プロトコルの一部として指定するのが通例である。これについて、以下で更に詳細に説明する。
【００１７】
周辺デバイスは、数個の入力１０６を有し、テープ・デッキからのビデオおよびオーディオ・データのようなデータ源から、多数のフォーマットのいずれでもデータを受信することができる。また、周辺デバイスは数個の出力１０８も有し、ビデオおよびオーディオ・データをモニタおよびスピーカ、またはテープ・デッキへというように、多数のフォーマットのいずれのデータでも受信機に送ることができる。例えば、周辺デバイスは、ＤＶカムコーダまたはＤＶテープ・デッキのようなＤＶデバイスにＤＶを送ることができ、あるいはＤＶデバイスからＤＶを受信することもできる。その他のビデオおよびオーディオ入力および出力フォーマットの例には、コンポジット・ビデオ、成分ビデオ（ＹＣｒＣＢおよびＹＵＶビデオのような）およびＳ−Ｖｉｄｅｏのようなアナログ・フォーマットや、圧縮および非圧縮双方、そして標準的および企業固有双方のディジタル・フォーマット、中でも、ＭＰＥＧ−２、ＳＭＰＴＥ−１２５Ｍ、ＳＭＰＴＥ−２６０Ｍ、ＳＭＰＴＥ−２６４Ｍ、ＳＭＰＴＥ−２６５Ｍ、ＳＭＰＴＥ−２６７Ｍ、ＳＭＰＴＥ−２７４Ｍ、およびＳＭＰＴＥ−２７９Ｍのようなフォーマットを含み、しかもこれらに限定される訳ではない。また、周辺デバイスは、周期的基準信号１１０を内部で生成するか、または外部信号源から受信し、ホストからのデータ転送の制御に用いることができる。この周期的基準信号のレートは、周辺デバイスが出力するデータのフィールド・レートまたはフレーム・レートのような、時間データの所望レートに対応する。周期的基準信号は、高精度の水晶クロック発生回路によって生成するとよい。このような回路は、周辺デバイス内部にあっても、周辺デバイス外部にあってもよい。また、周期的基準信号を生成するには、ビデオ・デコーダを用いてもよく、ビデオ・デコーダは、受信したコンポジット・ビデオ信号をデコードして、垂直同期信号（ＶＳＹＮＣ）、水平同期信号（ＨＳＹＮＣ）、画素クロック（ＮＴＳＣ／ＰＡＬ標準品位ビデオの２７ＭＨｚのような）、およびバースト位相信号を生成する。この目的に用いるこのようなコンポジット・ビデオ信号は、一般には、ゲンロック(genlock)、ＲＳ１７０、黒色バースト、ハウス・シンク信号(house sync signal)と呼ばれており、実際のビデオを含んでも含まなくてもよい。デコーダから出力された信号は、ビデオ・エンコーダへの入力として供給され、受信したコンポジット・ビデオ信号と同期した出力ビデオを生成することができる。
【００１８】
各フィールド境界またはフレーム境界、あるいは周期的基準信号から得られるその他の時間指定境界を用いれば、データ間隔を規定することができる。データ間隔とは、ビデオ・データのフレームまたはフィールド、あるいはビデオ・データのフレームまたはフィールドに対応するオーディオまたはメタデータのような、周期的基準信号に対応する時間データ内部の時間期間のことである。以下に説明する通信プロトコルは、ホストからデバイスへのデータ転送の基準としてこのデータ間隔を利用し、データを周期的基準信号と同期させる。
【００１９】
周辺デバイスを用いて、ホスト・コンピュータのオーディオおよびビデオ・データの多数のストリームを取り込んだり、再生することもできる。取り込みでは、周辺デバイスは、１つ以上のその入力からデータを受信し、バスを通じて受信したデータをホスト・コンピュータに直接転送する。例えば、周辺デバイスは、ＤＶストリームを受信するようにでき、そしてこの場合、それを、ホスト・コンピュータに直接転送する。周辺デバイスは、アナログ・ビデオおよびオーディオ・ストリームを受信した場合、これをＤＶストリームに変換し、ホストに転送することもできる。再生モードでは、周辺デバイスは、ホスト・コンピュータからバスを通じてビデオおよびオーディオ・データのストリームを受信する。このストリームは、多数のフォーマットのいずれにでも変換し、別のデバイスに出力することもできる。例えば、周辺デバイスは、受信したストリームをアナログ・ビデオおよびオーディオ信号に、またはＤＶストリームに変換し、記録デバイスまたはモニタおよびスピーカに送信することができる。
【００２０】
図２を参照すると、周辺デバイス２０２は、コンピュータ２００から（入力２０６または出力２０８を介して）他の周辺デバイス２１２への、バス２０４を通じたデータ転送を周期的基準信号２１０と同期させることができる。周期的基準信号２１０は、周辺デバイス２０２および他のデバイス２１２双方が受信する。周期的基準信号は、周辺デバイス２０２または他のデバイス２１２が生成してもよく、あるいは他の信号源から来ても良い。
【００２１】
周辺デバイス２０２に接続可能な他のデバイス２１２の例には、トランスコーダ、ビデオ・ディスプレイ、テープ・デッキ、カメラまたはビデオ処理機器が含まれ、しかもこれらに限定される訳ではない。例えば、周辺デバイスは、非圧縮ビデオおよびオーディオ・データをホスト・コンピュータから受信することもできる。周辺デバイスは、このデータから、アナログ・ビデオおよびオーディオ信号を生成し、これを周期的基準信号と同期させ、他のデバイスに出力することができる。
【００２２】
また、周辺デバイスの種々の機能を他のデバイス内に一体化し、合体した機能を備えた単一のデバイスを構成することもできる。同様に、他のデバイスの種々の機能を周辺デバイス内に一体化し、合体した機能を備えた単一のデバイスを構成することもできる。つまり、トランスコーダ、ビデオ・ディスプレイ、テープ・デッキ、カメラ、またはその他のビデオ処理機器は、ここに記載するような周辺デバイスの機能を組み込むことができる。このような周辺デバイスの動作モード例を３つあげると、非圧縮再生モード、ディジタル・カット・モード、およびキャプチャ・モードが含まれる。これらについては、図３ないし図５に関連付けて説明する。
【００２３】
図３に示す非圧縮再生モードでは、ホスト・システム３００は、非圧縮ビデオとオーディオのストリームおよび／または制御コマンドを周辺デバイス３０２にバス３０４を通じて受け渡す。編集中の再生では、ユーザが規定した設定によっては、非圧縮ストリームが（１／４フレームのような）半端なフレームまたは１フレーム全体のこともあり得る。以下で論ずるディジタル・カット・モードでは、フル・フレーム・モードがデフォルトの設定となる。周辺デバイスは、サイズ変更部を含めば、半端なフレーム・ビデオを完全なビデオ・フレームに調整(scale)することができる。周辺デバイスは、非圧縮ストリームを用いて、アナログ・ビデオおおよびオーディオ出力を生成することができる。ホスト・コンピュータのデスクトップ上のビデオ・ウィンドウは、周辺デバイスの出力と同期して再生することもできる。周辺デバイスは、当該周辺デバイス上のエンコーダを用いて非圧縮ストリームをエンコードすることによって、ＤＶまたはその他の圧縮出力３０８を作成することができる。十分なバッファ機能を設けることによって、周辺デバイス上で非圧縮ストリームをエンコードすることによって生ずるレイテンシにも拘わらず、圧縮出力の同期を維持することができる。
【００２４】
このモードでは、リアル・タイム・エフェクトを用いた出力ビデオおよびオーディオの編集、再生および作成を行うことができる。即ち、ホストは、リアル・タイム・エフェクトの適用後にビデオおよびオーディオ・ストリームを圧縮しないので、非圧縮出力が再生中にリアル・タイムで周辺デバイスに転送され、一方、周辺デバイスは非圧縮ストリームをエンコードして出力することができる。このような動作によって、テープに対してリアル・タイムのディジタル・カットを実行することが可能となる。即ち、再生中にホスト・コンピュータから周辺デバイスに周期的基準信号と同期して非圧縮データを転送することによって、ホスト・コンピュータはリアル・タイムでエフェクトを処理することができる。周辺デバイスは、非圧縮データからＤＶ出力を生成することができる。このＤＶ出力は、ＩＥＥＥ−１３９４準拠バスを通じて、ＤＶデッキまたはカムコーダのような記録デバイスに供給することができる。このＤＶデッキまたはカムコーダがコンポジット・ビデオ出力信号を有する場合、デッキまたはカムコーダからのこの出力信号を周期的基準信号として用いてもよい。
【００２５】
ビデオの再生は、ホスト・コンピュータ上のデスクトップ・ウィンドウ、周辺デバイス上のコンポジットまたはＳ−ビデオ出力３０６、および周辺デバイス上のＩＥＥＥ−１３９４準拠バスを介したＤＶ出力、あるいは周辺デバイスのその他の出力上で行うことができる。オーディオの再生は、アナログ出力、ＤＶ出力またはディジタル出力（図示せず）の内１つ以上を介して行うことができる。
【００２６】
図４に示す別のモードでは、ホスト・コンピュータ４００および／またはデバイス制御コマンドによってレンダリングした圧縮ストリームのディジタル・カットを、バス４０４を通じて周辺デバイス４０２に供給する。このモードでは、ホスト・コンピュータにおいていずれのエフェクトでも描出(render)し、描出した画像を圧縮して、転送前にデータ・ファイルに格納する。圧縮ストリームは、ホスト・コンピュータ４００によって、そのデータ・ファイルから読み出され、周辺デバイス４０２に送信される。圧縮ストリームを周辺デバイスに送信するには、以下で述べる同期化プロトコルを用いることもできる。同期化プロトコルは、ＤＶストリームを転送して、テレビジョン・モニタにような同期化デバイス上で再生する際に用いられる。
【００２７】
ビデオの再生は、ホスト・コンピュータ上のデスクトップ・ウィンドウ、周辺デバイス上のコンポジットまたはＳ−ビデオ出力４０６、および周辺デバイス上のＩＥＥＥ−１３９４準拠バスを介したＤＶ出力、あるいは周辺デバイスのその他の出力上で行うことができる。オーディオの再生は、アナログ出力、ＤＶ出力またはディジタル出力（図示せず）の内１つ以上を介して行うことができる。アナログ出力を作成するには、周辺デバイス上のデコーダを用いて、周辺デバイスに着信圧縮ストリームをデコードさせ、次いでビデオ・エンコーダを用いて、デコードしたデータをエンコードする。ディジタル・カットをＤＶテープに対して行うには、周辺デバイスは、ＤＶ出力４０８に取り付けたＤＶデバイス（図示せず）に対してデバイス制御動作を実行し、ホストから受信した通りに、ＤＶデータを直接出力する。
【００２８】
このモードでは、周辺デバイスからの圧縮出力は、ホスト・コンピュータ上のデスクトップ・ウィンドウにおいて、ビデオと同期して再生される。十分なバッファ機能をホストに設けることによって、周辺デバイス上でＤＶストリームをデコードし、アナログ出力をエンコードすることによって生ずるレイテンシを克服し、デスクトップ・ウィンドウ内においてアナログ出力をビデオに同期させることができる。
【００２９】
第３の動作モードは、図５に示すキャプチャである。キャプチャは、コンポジット・ビデオ、Ｓ−Ｖｉｄｅｏビデオ、およびＤＶビデオならびにオーディオ入力のような、周辺デバイス５０２の数種類の異なる入力源（５０６、５０８、５１０）の１つを用いる。ＤＶ入力デバイスを用いる場合、周辺デバイス５０２によるＤＶデバイス制御が利用可能である。
【００３０】
入力デバイスがＤＶである場合、ＤＶストリームは周辺デバイスを介してホスト５００にバス５０４を通じて直接受け渡される。ＤＶストリームをホスト・システムに転送するには、以下で述べる同期化プロトコルを用いるとよい。ＤＶデータのホスト・コンピュータへの転送の間、周辺デバイスはＤＶストリームをデコードし、デコードしたデータをエンコードして、アナログ・ビデオおよびオーディオ出力（図示せず）を生成する。
【００３１】
入力信号がコンポジットまたはＳ−Ｖｉｄｅｏ、あるいはその他の何らかのフォーマットである場合、入力信号をＤＶのようなディジタル・フォーマットに変換した後に、ＩＥＥＥ−１３９４準拠バスを通じてホストに転送する。このモードでは、アナログ・ビデオおよびオーディオ信号も、対応するアナログ・ビデオおよびオーディオ出力（図示せず）を介して出力することができる。ＤＶフォーマット・ビデオのその他のＩＥＥＥ−１３９４準拠バス出力５０８を通じての外部デバイスの出力は、アクティブであってもインアクティブであってもよい。
【００３２】
これらのモードの全てにおいて、周辺デバイスは、ホスト・コンピュータとその他のデバイスとの間のブリッジとして作用することができる。言い換えると、周辺デバイスは、ホスト・コンピュータと周辺デバイスとの間の通信のために、第１シリアル・バス上にプロトコルを実装する。周辺デバイスは、同じプロトコルを、周辺デバイスと他のデバイスとの間の通信のために、第２シリアル・バス上にも実装する。周辺デバイスは、他のデバイスからホスト・デバイスに情報を伝達し、ホスト・コンピュータが、第１シリアル・バス上のプロトコルを用いて、他のデバイスに宛てられた情報を伝達できるようにする。また、周辺デバイスは、ホスト・コンピュータからの情報を他のデバイスを伝達し、他のデバイスが、第２シリアル・バス上のプロトコルを用いて、ホスト・コンピュータに宛てられたパケットを伝達できるようにする。
【００３３】
一般に、周辺デバイスは、ホストからのメッセージを、周辺デバイスの１つのポートにて受信し、このメッセージを変換して、周辺デバイスの別のポートから他のデバイスにメッセージを送る。この変換には、少なくともメッセージ内にあるあらゆるノード・アドレスの変換を伴い、別のポートを介してこれが適正に他のデバイスに宛てられるようにする。また、変換は、一方のデータ・フォーマットから他方のデータ・フォーマットへの変換というような、パケット内のデータに対して行う他の処理も伴う。
【００３４】
逆に、周辺デバイスは、その他のデバイスからのメッセージを、周辺デバイスの１つのポートにて受信し、このメッセージを変換して、周辺デバイスの別のポートからホストにメッセージを送る。この場合も、変換には、少なくともメッセージ内にあるあらゆるノード・アドレスの変換を伴い、別のポートを介してこれが適正にホストに宛てられるようにし、更にデータ・フォーマットの変換や、メッセージ内のデータに対するその他の処理も伴う。
【００３５】
このような機能性を実現するには、各ポート上における通信を管理する別個のプロセスを、周辺デバイス上のマイクロプロセッサによって実行する。１つのポート上でメッセージを受信すると、そのポートに応じたプロセスが変換プロセスを呼び出し、このメッセージを変換し、変換したメッセージを、別のポートに応じた他のプロセスに送る。
【００３６】
パケットがホストから他のデバイスに流れるか、または他のデバイスからホストに流れるかには関わらず、ホスト、周辺デバイスまたは他のデバイスによって受信されたパケットは、リンク・レイヤ・プロトコルのような低位プロトコルを用いて、局所的に承認される。しかしながら、ホストから他のデバイスへ、そして他のデバイスからホストには、前述のノード変換を用いて、周辺デバイスを介してアプリケーション・レベルの承認が渡される。したがって、周辺デバイスは、他のデバイスの観点からは、仮想ホストのように見え、ホストの観点からは、仮想デバイスのように見える。
【００３７】
このブリッジ機能性について、これより４種類の通信、即ち、ホストから周辺デバイス、周辺デバイスから他のデバイス、他のデバイスから周辺デバイス、そして周辺デバイスからホストへの通信について、更に詳しく説明する。
【００３８】
周辺デバイスが１つのポート上でホスト・コンピュータからパケットを受信した場合、そのポートが、例えば、リンク・レイヤまたはその他の低位プロトコルを用いて、パケットの受信を局所的に承認する。パケットを処理して、このパケットが周辺デバイスまたはその他のデバイスのどちらに宛てられているのか判断する。パケットが周辺デバイスに宛てられている場合、この周辺デバイスにおいてパケットを処理する。パケットが他のデバイスに宛てられている場合、最初に周辺デバイスがパケットを処理して、１つ以上の新たなパケットを作成し、次いでこれらを他のデバイスに送る。
【００３９】
周辺デバイスが１つのポートを通じてパケットを他のデバイスに送った場合、他のデバイスは、リンク・レイヤまたはその他の下位プロトコル・メッセージを用いて、パケットの受信を局所的に承認する。
【００４０】
周辺デバイスが１つのポートを通じて他のデバイスからパケットを受信した場合、このポートが、例えば、リンク・レイヤまたはその他の下位プロトコルを用いて、パケットの受信を局所的に承認する。このパケットを処理して、パケットがホスト・コンピュータまたは周辺デバイスのどちらに宛てられているのかについて判断する。パケットが周辺デバイスに宛てられている場合、周辺デバイスにおいてパケットを処理する。パケットがホスト・コンピュータに宛てられている場合、周辺デバイスがパケットを処理して１つ以上の新たなパケットを作成し、次いでこれをホスト・コンピュータに転送する。
【００４１】
周辺デバイスが１つのポートを通じてパケットをホストに送った場合、ホストは、リンク・レイヤまたはその他の下位プロトコル・メッセージを用いて、パケットの受信を局所的に承認する。
【００４２】
低位プロトコルを用いたパケットの局所的承認は、他のデバイスまたはホストによるアプリケーション・レベル・メッセージの承認とは異なる。他のデバイスが、周辺デバイスを通じてホストから受信したメッセージに応答する場合、この応答を行うには、ＡＶ／Ｃのようなアプリケーション・レベル・プロトコルを用い、他のデバイスからのメッセージとして処理し、周辺デバイスを通じてホストに宛てる。同様に、ホストが、周辺デバイスを通じて他のデバイスから受信したメッセージに応答する場合、この応答を行うには、ＡＶ／Ｃのようなアプリケーション・レベル・プロトコルを用い、ホストからのメッセージを処理して、周辺デバイスを通じて他のデバイスに宛てる。
【００４３】
また、図６に示すように、２つの周辺デバイスを接続して、同じホストからデータを受信することもできる。即ち、第１周辺デバイス６００および第２周辺デバイス６１０双方が周期的基準信号６２０を受信する。第１周辺デバイス６００は、バス６４０を通じてホスト６３０と交信する。第２周辺デバイス６１０は、同一バス６４０上の別のノードである。以下に述べるコマンド・プロトコルを用いて、ホスト・コンピュータはこれらの周辺デバイスの一方を選択し、フロー制御メッセージを送らないようにそれに指令する。次いで、ホスト・コンピュータは、他方の周辺デバイスからのフロー制御メッセージのみに回答する。このように、周辺デバイスの双方が、ホスト・プロセッサが送った同じデータ・ストリームから、同期化した出力を得ることができる。
【００４４】
上述の動作モードの各々をサポートするハードウエア例について、図７ないし図１０Ａ、図１０Ｂに関連付けてこれより説明する。
図７に示す非圧縮再生モードでは、周辺デバイスは、フレーム・バッファおよびＤＶ圧縮デバイスとして動作する。非圧縮オーディオおよびビデオ・データは、ホスト７００上のＩＥＥＥ−１３９４トランシーバ７０６として示すバス・インターフェースによって、ＩＥＥＥ−１３９４準拠バス７０４を通じて、周辺デバイス７０２に送られる。周辺デバイス７０２上のＩＥＥＥ−１３９４トランシーバ７０８として示すバス・インターフェースは、このデータを受信し、フレーム・バッファを含むメディア・ハブ７１０にデータを格納する。次に、ＣＣＩＲ６５６フォーマッタ７１２によって、ビデオ・データをＩＴＵ／ＣＣＩＲ６５６−ビデオ・ストリームとして再フォーマットする。ＣＣＩＲ６５６フォーマッタ７１２は、再フォーマットしたデータをＤＶエンコーダ７１４およびビデオ・エンコーダ７１６双方に供給する。Ｉ２Ｓフォーマッタ７１８は、オーディオ・データをＩ２Ｓオーディオ・ストリームに再フォーマットし、オーディオ・エンコーダ７２０およびＤＶエンコーダ７１４双方に移送する。ＤＶエンコーダ７１４が出力したＤＶストリームをＩＥＥＥ−１３９４フォーマッタ７２２に供給し、ＩＥＥＥ−１３９４パケットを生成し、別のＩＥＥＥ−１３９４準拠バス７２６を通じて、別のＩＥＥＥ−１３９４トランシーバ７２４によって出力することができる。
【００４５】
ビデオの再生中に、ＩＥＥＥ−１３９４準拠バス７０４を通じてＣＣＩＲ６５６フォーマッタ７１２に供給されるビデオ内におけるフレームの欠落や追加を防止するために、周辺デバイスは、ホスト・コンピュータ７００から周辺デバイス７０２へのデータのフローを制御する。また、このフロー制御によって、周辺デバイスがアナログ・エンコーダ７１６を用いて同期ビデオ信号を生成し出力することもできる。これは、内部または外部周期的基準信号と同期されている。このフロー制御を実現する通信プロトコルについては、以下で更に詳しく説明する。
【００４６】
図８に示すディジタル・キャプチャ・モードでは、周辺デバイス８０２はバッファおよびデコーダ双方として動作する。ＤＶのようなディジタル・ビデオおよびオーディオ・データがあるデバイス（図示せず）から受信され、ホスト・コンピュータ８００に受け渡され、処理して、ディスク・システムのような、ホスト・プロセッサがアクセスするストレージ・デバイスに格納する。受信データが圧縮されている場合、伸張して出力オーディオおよびビデオ・データを生成し、監視することができる。更に特定すると、図８において、ＤＶのようなデータがＩＥＥＥ−１３９４インターフェース８０６によって受信され、別のＩＥＥＥ−１３９４インターフェース８０８によってバッファされ、バス８０４を通じてホスト８００のＩＥＥＥ−１３９４インターフェース８１０に送られる。
【００４７】
また、受信データは、ＩＥＥＥ−１３９４デフォーマッタ８１２によって分解(deformat)し、ＤＶデコーダのようなデコーダ８１４に入力し、伸張することができる。次いで、伸張したデータをエンコードし、他のデバイスに出力することができる。例えば、伸張データをアナログ・ビデオ・エンコーダ８１６に入力し、オーディオ・データをオーディオ・エンコーダ８１８に入力することができる。エンコーダの出力をモニタおよびスピーカに印加すると、キャプチャ・プロセスを監視することができる。アナログ・ビデオ・エンコーダ８１６上のタイミングはローカル・タイム・ベースから得られ、着信するＤＶデータに対して非同期であるので、アナログ・エンコーダ８１６は、着信ＤＶデータ・ストリームの速度がビデオ・エンコーダよりも速いか遅いかによって、ビデオのフレームを繰り返すか、またはビデオのフレームを欠落させることができる。
【００４８】
図９に示すアナログ・キャプチャ・モードでは、周辺デバイス９０２は入力アナログ・ビデオおよび随伴するオーディオをディジタル・フォーマットに変換し、バス９０４を通じてディジタル・データをホスト９００に転送する。例えば、アナログ・ビデオ・デコーダ９０６は入力アナログ・ビデオをディジタルＩＴＵ６５６−ビデオ・データ・ストリームに変換する。ディジタル・ビデオ・データは、ＤＶエンコーダのような、エンコーダ９０８に送られ、圧縮される。受信オーディオは、オーディオ・エンコーダ／デコーダ９１０に接続され、Ｉ２Ｓディジタル・オーディオ・フォーマットに変換される。オーディオ・データもエンコーダ９０８に供給し、圧縮することができる。また、オーディオ・エンコーダ／デコーダ９１０は、オーディオ出力を供給し、キャプチャの間オーディオを監視することもできる。また、ビデオ・エンコーダ９１２もビデオ出力を供給し、キャプチャの間ビデオを監視することができる。エンコーダ９０８からのエンコード・ビデオ・データは、ＩＥＥＥ−１３９４フォーマッタ９１４によってフォーマットする。ＩＥＥＥ−１３９４フォーマッタ９１４は、ＩＥＥＥ−１３９４トランシーバ９１６として示すバス・インターフェースによる送信のために、エンコード・ビデオ・データの準備を行う。ホストは、ＩＥＥＥ−１３９４トランシーバ９１８として示すバス・インターフェースを介して、バス９０４を通じてデータを受信する。
【００４９】
これらの動作モードを有する周辺デバイスのブロック図を図１０Ａおよび図１０Ｂに示す。図１０Ａおよび図１０Ｂでは、周辺デバイス１０００は２つの基本モード、キャプチャ・モードおよび再生モードで動作する。キャプチャ・モードでは、ＤＶのようなディジタル・ビデオおよびオーディオ・データを、ＩＥＥＥ−１３９４準拠インターフェース１００２によって受信し、ホスト上の対応するインターフェース１０５１にＩＥＥＥ−１３９４インターフェース１００４を介して、ホストに送ることができる。また、アナログ・オーディオおよびビデオを受信し、ディジタル・フォーマットに変換し、インターフェース１００４を通じてホストに送ることもできる。再生モードでは、ビデオ・およびオーディオ・データを、インターフェース１００４を介してホストから受信し、アナログ・ビデオおよびオーディオとして出力し、あるいはＩＥＥＥ−１３９４準拠インターフェース１００２を介してディジタル・ビデオおよびオーディオ・データとして出力する。ＩＥＥＥ−１３９４準拠インターフェース１００２は、ポート１０４５を介して、カメラおよびデッキのような外部デバイスへのインターフェースを設け、一方ＩＥＥＥ−１３９４準拠インターフェース１００４は、ホスト・コンピュータへのインターフェースを設ける。インターフェース１００２および１００４は、例えば、物理レイヤ・デバイスおよびリンク・レイヤ・デバイスを用いて実施することができる。Texas Instruments社のTSB12LV32リンク・レイヤ・コントローラ、およびTSB41LV01ケーブル・トランシーバ／アービタを用いれば、ＩＥＥＥ−１３９４バス上で毎秒４００メガビットの公称送信を達成することができる。
【００５０】
オーディオ処理用の左右オーディオ入力および出力１０４０、１０４１、１０４２、１０４３は、オーディオ・エンコーダ／デコーダ１００６に入力を供給する。オーディオ・エンコーダ／デコーダ１００６は、例えば、３２、４４．１および４８ｋＨｚレートをサポートするPhilips社のUDA1345TSを用いて実装することができる。他のレートをサポートする他のチップも使用可能である。キャプチャの間オーディオをビデオにロックさせ続けるには、入力ビデオ・デコーダ１００８からオーディオ・クロックを得る。再生または出力では、アナログ・ビデオ・エンコーダ１０１０からオーディオ・クロックを得る。
【００５１】
エンコーダ１０１２を介して、ヘッドホン・オーディオ出力１０４４を設けることもできる。これは、３２、４４．１および４８ｋＨｚレートをサポートするPhilips社のUDA1320ATSオーディオ・ディジタル／オーディオ変換器（ＤＡＣ）を用いて実装することができる。他のレートをサポートする他のチップも使用可能である。ヘッドホンに別個のＤＡＣを用いると、主オーディオ出力に影響を及ぼすことなく、ヘッドホンの音量を調節することができる。
【００５２】
周辺デバイス１０００は、コンポジットおよびＳ−Ｖｉｄｅｏ入力のような入力１０４６および１０４７を介して、アナログ・ビデオを受信することができる。これらの入力は、デコーダ１００８から受信する。デコーダ１００８は、入力信号をディジタル・ビデオ・データに変換する。デコーダ１００８は、例えば、ＮＴＳＣ、ＮＴＳＣ−ｊおよびＰＡＬアナログ・ビデオ・フォーマットをサポートする、Philips社のSAA7114Hビデオ・デコーダによって実現することができる。同一または他のフォーマットをサポートする他のデコーダも使用可能である。コンポジットまたはＳ−Ｖｉｄｅｏ信号源のいずれかに接続されている場合、このデコーダは、着信アナログ信号を、標準的なＩＴＵ６５６ＹＵＶ４：２：２ディジタル・ビデオ・データ・ストリームに変換する。また、このデコーダは、輝度オフセット制御、輝度コントラスト制御、クロミナンス彩度制御、およびクロミナンス色相制御にも対応する。
【００５３】
また、周辺デバイス１０００は、エンコーダ１０１０が備えているコンポジットおよびＳ−ｖｉｄｅｏ出力のような出力１０４８および１０４９を介して、アナログ・ビデオを出力することもできる。エンコーダ１０１０は、例えば、Analog Devices社のADV7176エンコーダによって実現することができる。エンコーダ１０１０は、ＹＵＶ４：２：２ディジタル・ビデオ・ストリームおよびリアル・タイム制御ストリーム情報をゲンロック回路１０１８から受け入れ、メディア・ハブ１０２８によってバッファし、同期化アナログ・コンポジットおよびＳ−Ｖｉｄｅｏ出力を生成する。ADV7176デバイスは、アナログ・ビデオをエンコードし、輝度フィルタ（ロー・パス／ノッチ／拡張）制御、サブキャリア周波数および位相制御、ならびに輝度遅延制御のような、出力ビデオを制御するいくつかの機能を備えている。
【００５４】
また、周辺デバイス１０００は、ＤＶコデックのような圧縮／伸張デバイス（コデック）１０１４も含むことができる。このコデックは、例えば、ＤＶデータ・ストリームの伸張および圧縮双方を行うDivio社のNW701DV25コデックを用いて実現することができる。圧縮では、コデック１０１４はＩＴＵ６５６ＹＵＶ４：２：２ディジタル・ビデオ・ストリームおよびＩ２Ｓオーディオ・ストリームを受け取り、これを圧縮してＤＶ圧縮ビデオ・ストリームを生成する。伸張では、コデック１０１４はＤＶ圧縮ビデオ・ストリームを受け取り、ＩＴＵ６５６ＹＵＶ４：２：２ディジタル・ビデオ・ストリームおよびＩ２Ｓオーディオ・ストリーム双方を生成する。また、NW701コデックは、ＮＴＳＣ（４：１：１）、ＰＡＬ（４：２：０）、およびＰＡＬ（４：１：１）処理も行い、４８、４４．１および３２ｋＨｚ（１２および１６ビット）に対するオーディオや、３．０、２．４、１．８、１．５および１．０Ｍバイト／秒を含む任意の低データ・レート・モードにも対応する。コデック１０１４は、メモリ１０１６を用いて、処理の間一時的にデータを格納する。このようなメモリ１０１６は、例えば、256Kx32DRAMを用いて実現することができる。
【００５５】
また、周辺デバイス１０００は、入力１０５０を介して、周期的基準信号（ゲンロック）も受信することができる、この信号は、ビデオ・ゲンロック・デバイス１０１８によって受信する。ビデオ・ゲンロック・デバイス１０１８は、例えば、Philips社のSAA7113デコーダを用いて実現することができる。このデコーダは、ＮＴＳＣ、ＮＴＳＣ−ｊ、およびＰＡＬアナログ・ビデオ・フォーマットをサポートする。コンポジット・ゲンロック源に接続されている場合、垂直同期、水平同期、およびカラー・バースト位相情報を抽出して、この情報をメディア・ハブ１０２８に供給し、ADV7176ビデオ・エンコーダ１０１０の出力タイミングをゲンロック源にロックするために用いることができる。
【００５６】
周辺デバイス上に制御部を設ければ、個人が入力デコーダおよび出力エンコーダの種々の制御を調節することが可能となり、特に、アナログ・ミューティング(analog muting)およびオーディオ信号の利得レベル調節のために、アナログ・ビデオ信号のレベルを調節することが可能となる。
【００５７】
フレーム・バッファ・コントローラ、サイズ変更部およびデータ・ルータ、ここで呼ぶところの「メディア・ハブ」１０２８、および随伴するバッファ１０３０は、周辺デバイス１０００に対して４つの基本的機能を設ける。最初に、これらは入力および出力間で非圧縮および圧縮データ・ストリーム双方をバッファする。第２に、これらは、入力、出力、エンコーダおよびデコーダ間でデータ経路を決定する切換または多重化機能を設ける。第３に、これらは着信するＩＥＥＥ−１３９４準拠のデータ・ストリームおよびＩＴＵ−６５６準拠のビデオ・ストリームを分解する。第４に、これらは出立するＩＥＥＥ−１３９４準拠のデータ・ストリームおよびＩＴＵ−６５６準拠のビデオ・ストリームをフォーマットする。メディア・ハブ１０２８は、例えば、ＳＤＲＡＭのようなローカル・メモリをその随伴バッファ１０３０として有する、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を用いて実現することができる。
【００５８】
メディア・ハブ１０２８の機能は、マイクロコントローラ・サブシステム１０２０と共に実行する。マイクロコントローラ・サブシステムの主要な機能は、ホストのＩＥＥＥ−１３９４準拠インターフェース１００４を介して受信したソフトウエア・コマンドにアブストラクション・レイヤを提供すること、およびＩＥＥＥ−１３９４準拠インターフェース１００２を制御することである。また、マイクロコントローラ・サブシステムは、ビデオおよびオーディオ・エンコーダならびにデコーダ１００６、１００８、１０１０、１０１２および１０１８の設定や制御の支援を行うことである。マイクロコントローラ・サブシステム１０２０は、マイクロプロセッサ１０２２を含む。これは、例えば、Motorola社のMPC5307を用いて実現することができる。マイクロプロセッサ１０２２は、フラッシュ・メモリ１０２４およびスタティック・ランダム・アクセス・メモリ１０２６に格納されている命令に応じて動作する。即ち、Mentor Graphics社の埋め込みシステム部門であり、アラバマ州Mobileに所在する、Accelerated Technology, Inc.のNUCLEUSオペレーティング・システムや、リアル・タイム・カーネルを備えた実際のオペレーティング・システムをマイクロコントローラに設けることができる。
【００５９】
マイクロコントローラの動作についてこれより更に詳しく説明する。マイクロコントローラは、以下で更に詳しく述べるコマンド・プロトコルを通じて、ホストからコマンドを受信する。これらのコマンドによって、ホストは周辺デバイスの動作モードを設定することが可能となる。これらのモードは、入力および出力に予想されるオーディオおよびビデオ・フォーマットの設定を含む。フォーマット・モード設定の例には、ビデオについてはＰＡＬおよびＮＴＳＣ、オーディオについては４８ＫＨｚ、４４．１ＫＨｚまたはその他のレートが含まれる。これらのモードに対して、ホストはフォーマットをマイクロコントローラに指定することができる。一方、マイクロコントローラは入力および出力デバイスの種々のレジスタを設定して、所望のフォーマットを扱えるようにする。
【００６０】
他のモードは、ホストがデータを周辺デバイスから受信しているのか、またはこれに供給しているのかを示す。モード例の一部には、
−周辺デバイスへのＤＶ入力およびホストへのＤＶ出力
−周辺デバイスへのＤＶ入力およびホストへの非圧縮出力
−周辺デバイスへのコンポジット入力およびホストへのＤＶ出力
−周辺デバイスへのコンポジット入力およびホストへの非圧縮出力
−ホストからの非圧縮入力およびコンポジット出力
−ホストからの非圧縮入力およびＤＶ出力
−ホストからのＤＶ入力およびコンポジット出力
−ホストからのＤＶ入力およびＤＶ出力
が含まれ、しかもこれらに限定される訳ではない。
【００６１】
ＤＶを周辺デバイスに入力し、ＤＶをホスト・コンピュータに出力するモードでは、メディア・ハブ１０２８がインターフェース１００２を介してパケットを受信し、メモリ１０３０に格納する。パケットがメモリ１０３０において使用可能になると、メディア・ハブ１０２８はインターフェース１００４に通知する。すると、インターフェース１００４はパケットをホストに転送する。このモードでは、デバイスはブリッジとして作用する。
【００６２】
ＤＶを周辺デバイスに出力し、非圧縮データをホスト・コンピュータに出力するモードでは、メディア・ハブ１０２８がインターフェース１００２を介してパケットを受信し、メモリ１０３０に格納する。１フレームのイメージ・データを受信するまで、パケットをメモリ１０３０に蓄積することができる。次いで、メディア・ハブ１０２８はＤＶコデック１０１４にメモリ１０３０からの１フレームのデータをそのメモリ１０１６に読み込むように指令する。次いで、ＤＶコデックは、非圧縮フレームを生成する。非圧縮フレームは、メモリ１０３０の別の部分に置かれる。非圧縮フレームがメモリ１０３０において使用可能になると、メディア・ハブ１０２８はインターフェース１００４に通知する。次いで、インターフェース１００４は、画像を多数のパケットとしてホストに転送する。このモードでは、デバイスはブリッジとして作用する。
【００６３】
コンポジット入力を周辺デバイスが受信し、ＤＶをホスト・コンピュータに出力するモードでは、デコーダ１００８がディジタル・ビデオ情報を生成し、メディア・ハブ１０２８がこれをメモリ１０３０に格納する。１フレームの画像データが既に受信されている場合、メディア・ハブ１０２８はＤＶエンコーダ１０１４にメモリ１０３０からの１フレームのデータをそのメモリ１０１６に読み込むように指令する。次いで、ＤＶエンコーダはＤＶを生成し、データをメモリ１０３０の別の部分に置く。メディア・ハブ１０２８は、インターフェース１００４に、データが使用可能であることを通知する。次いで、インターフェース１００４はＤＶ画像を多数のパケットとしてホストに転送する。
【００６４】
コンポジット入力を周辺デバイスが受信し、非圧縮データをホスト・コンピュータに出力するモードでは、デコーダ１００８がディジタル・ビデオ情報を生成し、メディア・ハブ１０２８がこれをメモリ１０３０に格納する。画像データを受信すると、メディア・ハブ１０２８は、インターフェース１００４に、データが転送可能であることを指示する。次いで、インターフェース１００４は非圧縮データのパケットをホストに転送する。
【００６５】
周辺デバイスがホストから非圧縮データを受信し、コンポジット・アナログ・ビデオ信号を出力するモードでは、メディア・ハブ１０２８は、インターフェース１００４を介して受信したパケットを導き、バッファ１０３０に格納する。メモリ１０３０においてデータが使用可能になると、メディア・ハブ１０２８はデータをエンコーダ１０１０に導出し、出力する。
【００６６】
周辺デバイスがホストから非圧縮データを受信しＤＶを他のデバイスに出力するモードでは、メディア・ハブ１０２８が、インターフェース１００４を介して受信したパケットを、バッファ１０３０に格納する。非圧縮データのフレームがメモリ１０３０において使用可能になると、メディア・ハブ１０２８はＤＶコデック１０１４に通知し、ＤＶコデック１０１４はデータをそのバッファ１０１６に読み込む。次いで、ＤＶコデックはＤＶを生成し、メモリ１０３０に格納する。次いで、メディア・ハブ１０２８は、インターフェース１００２に、ＤＶデータが使用可能であることを通知する。インターフェース１００２は、データを読み取り、それをパケットとして出力１０４５を介して転送する。このモードでは、デバイスはブリッジとして作用する。
【００６７】
周辺デバイスがホストからＤＶ入力を受信し、コンポジット・アナログ・ビデオ出力信号を供給するモードでは、インターフェース１００４はＤＶデータのパケットを受信し、メモリ１０３０に格納する。１フレームのデータが使用可能になると、メディア・ハブ１０２８はＤＶコデック１０１４に通知し、ＤＶコデック１０１４はデータをそのメモリ１０１６に読み込む。次いで、ＤＶコデックは非圧縮ビデオ・データを生成し、メモリ１０３０に格納する。メディア・ハブ１０２８は、非圧縮ビデオ・データをアナログ・エンコーダ１０１０に供給し、出力する。
【００６８】
周辺デバイスがホストからＤＶ入力を受信し、ＤＶを他のデバイスに出力するモードでは、インターフェース１００４がＤＶデータのパケットを受信し、メディア・ハブ１０２８がメモリ１０３０に格納する。メディア・ハブ１０２８は、インターフェース１００２に、パケットを出力できるときを通知する。次いで、インターフェース１００２はメモリ１０３０からパケットを読み出す。このモードでは、デバイスはブリッジとして作用する。
【００６９】
上述のモードの各々の間、対応するオーディオ入力および出力を得ることができる。また、コンポジットまたはＳ−Ｖｉｄｅｏ出力が周辺デバイスから供給され、外部モニタによる監視が可能となる。各デバイス１００２、１０１４および１００４は、直接メモリ・アクセス（ＤＭＡ）エンジンを有し、メモリ１０３０にアクセスすることもできる。
【００７０】
モードによっては、１／４フレームのサイズで非圧縮ビデオ・データを受信し、出力することもできる。これらのモードでは、メディア・ハブ１０２８はサイズ変更機能も実行する。
【００７１】
モードによっては、多数の出力を周辺デバイスによって供給することもできる。例えば、周辺デバイスは、ホストからの非圧縮入力を用いて、ＤＶ、コンポジットおよびＳ−ｖｉｄｅｏを出力することができる。ＤＶの代わりに、周辺デバイスはその他のディジタル・ビデオ・フォーマットを、圧縮または非圧縮には係わらず、入力または出力することができる。コンポジットの代わりに、周辺デバイスは、他のアナログ・ビデオ・フォーマットを入力または出力することもできる。また、周辺デバイスによって多数の出力を供給することもできる。この場合、上述のモードからの動作を並行して実行する。
【００７２】
また、周辺デバイスは、メディア・ハブ１０２８に至るデータ経路に接続したバス・コネクタも含むことができ、そうすると他のデバイスがメディア・ハブに接続し、周辺デバイスを介してオーディオおよびビデオ・データを転送することが可能となる。このバス・コネクタを用いれば、他の処理デバイスが周辺デバイスへのデータ供給および周辺デバイスからのデータ受信の双方を行うことができるようにすることができる。例えば、このようなデバイスは、高品位ビデオ信号を受信し、それを圧縮データ・ストリームに変換し、次いでこれを周辺デバイスに転送し、ホスト・コンピュータに入力することができる。
【００７３】
ホスト・コンピュータと周辺デバイスとの間における通信を制御するための通信プロトコルについて、これより説明する。このプロトコルは、２つの部分、データ・トランスポート・プロトコルおよび制御プロトコルに分けられる。データ・トランスポート・プロトコルは、ビデオ、オーディオのような時間データおよび随伴するメタデータをどのようにしてホスト・システムから周辺デバイスへ、または周辺デバイスからホスト・システムに転送するのかについて規定する。データ・トランスポート・プロトコルは、データ・フォーマットおよび同期規則双方を含む。制御プロトコルは、どのようにホスト・システムが周辺デバイスの状態、モード、および動作パラメータを問い合わせ、制御するかについて規定する。これらのプロトコルについて以下で更に詳しく説明する。
【００７４】
通信プロトコルは、ＩＥＥＥ−１３９４高速シリアル・ディジタル・バス規格の一部の上に構築され、以下の標準文書に準拠する。ＩＥＥＥ−１３９４−１９９５仕様書およびＩＥＥＥ１３９４Ａ仕様書。その内容はこの言及により、本願にも含まれることとする。通信プロトコルは、標準ＩＥＥＥ−１３９４に準拠するハードウエア・バス・コントローラと共に動作するように設計されている。しかしながら、ある種のビデオ・データ・フォーマット（例えば、非圧縮、フル・フレーム、２−フィールド、４：２：２）については、ホストおよび周辺デバイス・コントローラは４００Ｍｂデータ・レートをサポートする。
【００７５】
外部デバイス（ＤＶカムコーダおよびＶＴＲ等）を制御するために用いられるプロトコルは、ＡＶ／Ｃ、即ち、オーディオ／ビデオ制御として知られている。仕様およびコマンド・セットは以下の文書において定義されている。その内容はこの言及により本願にも含まれることとする。AV/C Digital Interface Command Set（ＡＶ／Ｃディジタル・インターフェース・コマンド・セット） General Specification （総合仕様書）およびVersion 3.0 AV/C Tape Recorder/Player Subunit Specification, Version 2.1（バージョン３．０ＡＶ／Ｃテープ・レコーダ／プレーヤ・サブユニット仕様書、バージョン２．１）。データ・トランスポート・プロトコルの一例についてこれより更に詳しく説明する。この例では、データ・トランスポート・プロトコルを用いて、ＩＥＥＥ−１３９４準拠バスを通じてホスト・システムと周辺デバイスとの間でビデオおよびオーディオのストリームを送信する。このプロトコルは十分に柔軟性があるので、メタデータの送信にも拡張可能である。
【００７６】
プロトコルに関する以下の説明では、ホスト・コンピュータをホストと呼び、周辺デバイスをデバイスと呼ぶことにする。使用するモードに応じて、ホストは送信（ディジタル・カット・モード）または受信（キャプチャ・モード）することができる。送信側デバイスのことをトーカ(talker)と呼び、受信側デバイスのことをリスナ(listener)と呼ぶことにする。ホストという用語は、データを送出および受信することができるあらゆるデバイスを示すものと理解することとする。デバイスという用語は、データを送出および受信することができ、更に周期的基準信号の処理も行うあらゆるデバイスを示すものと理解することとする。
【００７７】
データ送信は、データ間隔と呼ばれる周期で行われ、この周期は、時間データを同期させる周期的基準信号のレートに対応する。例えば、周期的基準信号がビデオに対応する場合、データ間隔は、ビデオ・データの画像、通例ではフレームに対応する。フレーム間隔の例には、２９．９７ＦＰＳ（ＮＴＳＣ（２５２線）システム）および２５ＦＰＳ（ＰＡＬ（６２５線）システム）が含まれ、しかもこれらには限定されない。
【００７８】
データは、一連の同時ストリームの形態で送信され、その各々が、プロトコルによって定義される一意のストリーム識別子によって識別される。送信中、ストリームは、ビデオ・データにおけるフレーム境界のような、データ間隔に対応するいずれのサンプルにおいても開始および停止することができる。データのストリームは、実際にはデータ間隔に基づいて、セグメントに分解する。ＩＥＥＥ−１３９４プロトコルの性質のために、各データ・ストリームは、更に、一連の１つ以上のパケットに分割され、所与のデータ間隔中に送信される。
【００７９】
各データ間隔毎に、トーカは、リスナ・デバイスが受け入れるストリームのああゆる組み合わせを送信するように選択することができる。例えば、リスナ・デバイスが２フィールドのビデオおよび２チャネルのオーディオを受け入れることができると仮定すると、トーカはオーディオだけ、またはビデオだけを送ること、または全く何も送らないことを選択することができる。リスナは、ストリームがない場合、デフォルト・アクションを実行する。例えば、オーディオ・チャネルをミュートしている場合に発生するように、１つ以上のオーディオ・ストリームがない場合、リスナはそれらのチャネル上に無音を満たす。オフ・スピード再生(off speed playback)において発生するように、ビデオ・データが省略されている場合、リスナは、それが受信した最後のフレームを繰り返すこともできる。
【００８０】
データ送信は、数種類のパケットを含む。「同期化パケット」は、デバイスからホストに送られ、新たなデータ間隔が始まったことを示す。次いで、トーカはデータを送ることができる。一実施形態では、「プリアンブル・パケット」をトーカから送り、データ間隔中に送信するストリーム、それらを送る順序、そして各ストリームを移送するために用いるパケットの量について、リスナに指示する。次いで、プリアンブルに与えられた情報に基づいて、０個以上の「データ・パケット」がトーカから送られる。その後、トーカは、残りのデータを送るために次のデータ間隔を待つ。例えば、トーカは０個以上の「ヌル・パケット」を送り、次のデータ間隔が開始するまで、ＩＥＥＥ−１３９４インターフェース上でバス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
【００８１】
プリアンブル、データ、同期、およびヌル・パケットは、ＩＥＥＥ−１３９４プロトコルのストリーミング・パケット・モードを用いることができる。ＩＥＥＥ−１３９４仕様書は、２種類のストリーミング・パケット、即ち、等時パケットおよび非同期パケットに対応する(allow for)。両種類について、パケット・フォーマットは同一であり、同じトランザクション・コード(tcode=0xA)を利用する。非同期ストリーム送信は等時送信と似ているが、次のような相違がある。非同期ストリーム・パケットは非同期バス時間中に送信され、一方等時ストリーム・パケットは等時バス間隔中に送信される。非同期ストリーム・パケットは、２０４８バイトの最大ペイロードに制限されているが、等時ストリーム・パケットは４０９６バイトも収容することができる。
【００８２】
同期化パケットは、周辺デバイスによって送られ、データ間隔が開始したことを示す。周辺デバイスは、周期的基準信号に応答して同期化パケットを生成する。更に特定すれば、同期化パケットを送るのは、周期的基準信号に対応する各データ間隔の開始においてである。データ間隔の開始を検出するには、例えば、周期的基準信号を監視すればよい。そして、データ間隔の開始を検出したなら、割り込みまたはその他の信号をデバイスのマイクロコントローラに発行するとよい。
【００８３】
非同期パケット(asynchronous packet)としての、同期化パケット(synchronization packet)１１００のフォーマット例を図１１に示す。これは、ライト要求パケットに対応するフォーマットを有する。斜線のフィールドは、ＩＥＥＥ−１３９４規格によって定義されているものを示す。「destination_ID」フィールド１１０２は、パケットを受信することになっているノードの１６ビット・アドレスを含む。このフィールドは、destination_bus_ID（上位１０ビット）およびdestination_node_ID（下位６ビット）を含む。同期化パケットをローカル・バス上の全ノードにブロードキャストするには、destination_bus_IDを３ＦＦｈに設定し、destination_node_IDを３Ｆｈに設定する。「ｔｌ」フィールド１１０４は、トランザクション・ラベルであり、ホストが設定するフィールドである。「ｒｔ」フィールド１１０６は、リトライ・コードであり、パケットが最初の試行（００ｂ）か、または同じコマンドの連続再試行（０１ｂないし１１ｂ）かを指定する。「tcode」フィールド１１０８は、パケットに対して１３９４トランザクション・コードを指定し、「１ｈ」に設定されていると、このパケットがライト要求パケットであることを示す。「pri」フィールド１１１０は、ＩＥＥＥ−１３９４規格における優先権コードを表すが、用いられない。「source_ID」フィールド１１１２は、パケットを送っているノードのアドレスである。「destination_offset」フィールド１１１４は、アクセスしている、ターゲット上の４８ビット・アドレス位置である。宛先となり得る各位置に、別途特定のレジスタを確保して、同期化パケットを受信する。このフィールド１１１４は、そのレジスタのアドレスを収容する。「device_status」フィールド１１１６は、パケットによって送られるデータであり、直前のフレームの受信に関する情報、およびデバイスの総合的ステータスを含む。誤り検出および訂正を可能にするフィールド（「header_CRC」１１１８）も含ませることができる。
【００８４】
プリアンブル・パケットは、各データ間隔の開始時に、トーカが単一パケットとして送信する。これは、等時パケットとして送信してもよい。このパケットは、データ間隔中に送信されるストリーム、そして各ストリーム毎に予想されるパケットの量について指定する。トーカは、ストリームを送らない場合でも、データ間隔にプリアンブル・パケットを送信する。プリアンブル・パケット１２００のフォーマット例を図１２に示す。斜線のフィールドは、ＩＥＥＥ−１３９４規格によって定義されるものを示す。「data_length」フィールド１２０２は、等時パケットのペイロード部の長さをバイト単位で示す。「tag」フィールド１２０４は、データがフォーマットされていないことを示す値００ｂを含む。「channel」フィールド１２０６は、このパケットの送信のためにトーカおよびリスナに割り当てたチャネルを示す値を含む。「tcode」フィールド１２０８は、このパケットがストリーミング・パケットであることを示す値１０１０ｂを含む。「ｓｙ」フィールド１２１０は、値０００１ｂを含み、このパケットがプリアンブル・パケットであることを示す。「transfer rate」フィールド１２１２は、ストリーム・データが到達しているときのレートをそのリアル・タイム・レートと比較して示し、１バイトで表される。言い換えると、これは、このフレーム時間に送信するフレームの量を指定する。転送レートの例には、１ｘ、２ｘおよび４ｘリアル・タイムがある。「stream count」フィールド１２１４は、現データ間隔中にフレーム当たり送信するストリーム量を示す符号無し整数である。この値は、１バイトで表される。「transfer rate」フィールドおよび「stream count 」フィールドの積によって指定されるカウントに等しい数のストリーム記述子１２１６が、このクアドレット(quadlet)に続く。ストリーム記述子のリストは、このデータ間隔中に送信されるストリーム、これらを送信する順序、そしてストリーム毎に用いられるパケット数を指定する。また、プリアンブル・パケットは、誤り検出および訂正を可能にするフィールド（「header_CRC」１２１８および「data_CRC」１２２０）も含むことができる。
【００８５】
ストリーム記述子１３００のフォーマット例を図１３に示す。「stream ID」フィールド１３０２は、例えば、８ビット符号無し整数を用いて、ストリームの種類を特定する。「packet count」フィールド１３０４は、例えば、１２ビット符号無し整数を用いて、ストリームを送信するために用いるパケット数を指定する。プリアンブルおよびストリーム記述子において「stream-specific-data」と印されているフィールドにおけるビットは、ビデオ・フィールド、ビデオ・フレーム、システムおよび補助ストリームに対して、０に設定されている。各オーディオ・ストリーム毎に、この値は符号無し１２ビット整数であり、データ間隔におけるオーディオ・サンプル数を表す。プリアンブルに続くデータ・パケットの総数は、ストリーム記述子リスト内にある「packet count」フィールド全ての合計である。
【００８６】
「stream ID」フィールドのストリーム識別子に対する値の例を図１４の表１４００に例示する。この例におけるストリーム識別子は、データ自体のフォーマットを指示していない（例えば、非圧縮またはＤＶまたはＪＦＩＦ）。代わりに、送信が開始する前に、制御プロトコルを用いてデータのフォーマットを確定する。この表では、各行はストリーム識別子を表す。「値」欄１４０２は、ストリーム記述子パケット内の「stream ID」として用いられる値を表す。「名称」欄１４０４および「説明」欄１４０４は、ストリーム記述子を更に詳しく記述するのに供し、ストリーム識別子を参照するために用いることができる。以下の表は、異なる種類のビデオ・データ、即ち、ＤＶ２５、ＤＶ５０、ＩＭＸおよび非圧縮データに対するプリアンブルの定義例を示し、各種類毎に記述子のリストを含む。
【００８７】
【表１】
2006314146.tif 000003
【００８８】
データ・パケットは、実際のオーディオ、ビデオおよびメタデータを搬送する。データ・パケット１５００のフォーマット例を図１５に示す。このフォーマットは、非同期パケットまたは等時パケットのいずれにも対応する。このデータ・パケット・フォーマットは、基本的なＩＥＥＥ−１３９４ストリーミング・パケットである。単一のストリームについての１フレーム分のデータを、一連のこのフォーマットのパケットに分解する。斜線のフィールドは、ＩＥＥＥ−１３９４規格によって定義されるものを示す。「data_length」フィールド１５０２は、パケットのペイロード部１５１２の長さをバイト単位で含む。「tag」フィールド１５０４は、データがフォーマットされていないことを示す値００ｂを含む。「channel」フィールド１５０６は、このパケットの送信についてトーカおよびリスナに割り当てられたチャネルを示す値を含む。「tcode」フィールド１５０８は、このパケットがストリーミング・パケットであることを示す値１０１０ｂを含む。「ｓｙ」フィールド１５１０は、このパケットがデータ・パケットであることを示す値００００ｂを含む。また、このデータ・パケットは、誤り検出および訂正を可能にするフィールド（「header_CRC」１５１４および「data_CRC」１５１６）を含むこともできる。
【００８９】
データ・パケットのペイロード１５１２は、等時パケットでは、１ないし１０２４個のデータ・クアドレット（４バイトのデータを意味する）を含む。１つの非同期パケットには、１ないし５１２個のデータ・クアドレットがある。一般に、トーカは、あるデータ間隔におけるデータを、同じ固定サイズを有するＮ個のデータ・パケットにフォーマットし、データ・パケットのペイロードに合わせる。このサイズは、用いる送信モードによって許される最大サイズとすれば、帯域幅を効率的に用いることができる。例えば、ＩＥＥＥ−１３９４ａ規格では、この最大値は、２，０４８または４，０９６バイトである。データの長さがこの量によって均等に分割可能でない場合、ストリームの終端において短いパケットを生成することも許される。
【００９０】
例えば、ＮＴＳＣ４：２：２ＹＵＶフォーマットのビデオ・データの非圧縮フレーム１つ全体を、ＩＥＥＥ−１３９４の等時モードを用いて送信すると仮定する。このフレームは、２つのフィールドとして送信すると、フィールド当たり（２４０ライン×７２０画素×２バイト／画素＝）３４５，６００バイトとなる。１つのフィールドを４０９６バイトのパケットで送る場合、用いるパケット数は、次のように計算する。３４５，６００バイト／フィールド÷４０９６バイト／パケット＝８４パケット、余り１５３６バイトとなり、８４個の４０９６バイト・パケットと、１つの１５３６バイト・パケットを送信することを示す。
【００９１】
また、メモリ・ページ整合制約がある場合、トーカがストリームの先頭に短いパケットを送信することも許される。例えば、トーカが、４０９６バイトの境界上で整合されていないホスト・バッファから、あるストリームのためにパケットを発生している場合、ストリーム内の各パケットはページ境界を交差してしまい、直接メモリ・アクセスの性能低下を招く。これを救済するために、トーカは、先頭に短いパケットを発生することができ、残りのパケットを、４０９６バイトの境界上で整合したバッファから確実に生成することができる。例えば、送信するフィールドのメモリ・バッファがアドレス１１９４０３Ａ４Ｈに位置する場合、次の４０９６バイト境界はアドレス１１９４１０００Ｈにある。これが意味するのは、次のページ境界までに、１１９４０３Ａ４Ｈ−１１９４１０００Ｈ＝Ｃ５ＣＨ、即ち３，１６４（十進法）バイトあるということである。したがって、最初のバッファは、アドレス１１９４０３Ａ４Ｈから生成する３，１６４バイトであり、２番目のバッファは、アドレス１１９４１０００Ｈから生成する４，０９６バイトであり、３番目のバッファはアドレス１１９４２０００Ｈから生成する４，０９６バイト等となる。
【００９２】
ホストは、未使用の等時サイクルの間はいずれでも、ヌル・パケットを送信してもよい。データ送信中、１つ以上のヌル・パケットを、各データ間隔毎のデータ送信の合間のデータ間隔で送ることができる。ヌル・パケット１６００のフォーマット例を図１６に示す。このフォーマットは、非同期パケットまたは等時パケットのいずれにも対応する。斜線のフィールドは、ＩＥＥＥ−１３９４規格によって定義されるものを示す。「data_length」フィールド１６０２は、値０を含むあらゆる値を含むことができる。data_lengthが０の場合、ペイロード部１６１４および補正データ１６１６をパケットから除外する。データ長が０でない場合、ヘッダに続いてダミー・データをペイロード１６１４に入れ、フィールド１６０２に指定されている値に対応する数のクアドレットとする。「tag」フィールド１６０４は、データがフォーマットされていないことを示す値００ｂを含む。「channel」フィールド１６０６は、このパケットの送信のためにトーカおよびリスナに割り当てられたチャネルを示す値を含む。「tcode」フィールド１６０８は、このパケットがストリーミング・パケットであることを示す値１０１０ｂを含む。「ｓｙ」フィールド１６１０は、値００００ｂを含む。このパケットに任意のペイロード部１６１４がある場合、リスナは無視する。誤り検出および訂正を可能にするフィールド（「header_CRC」１６１２および「data_CRC」１６１６）を設けることもできる。
【００９３】
このプロトコルを用いたホストからデバイスへの転送およびデバイスからホストへの転送のためのパケット送信の流れ(sequencing)およびタイミングについてこれより説明する。
【００９４】
先に注記したように、ホストからデバイスにデータを送信するには、ホストおよびデバイスはまず以下に述べる制御プロトコルを用いて通信のパラメータを設定する。ホストは、例えば、ヌル・パケットを送ることによって、データ間隔が開始するのを待つ。これらのヌル・パケットは、デバイスには無視される。次のデータ間隔の開始時に、同期化パケットをデバイスからホストに送り、新たなデータ間隔が開始したことを示す。同期化パケットを受信した後、ホストはデータを送ることができる。一実施形態では、プリアンブル・パケットをホストから送り、このデータ間隔中に送信するストリーム、これらを送る順序、および各ストリームを移送するために用いられるパケットの量をデバイスに指示する。デバイスは、プリアンブル・パケットを処理し、デバイスに該当するパラメータを設定する。次いで、ホストはデータ・パケットを送る。すると、これらのデータ・パケットをデバイスが受信し処理する。このデータ間隔におけるデータを送り終えると、ホストは次のデータ間隔を待つ。例えば、ホストは、次のデータ間隔が開始するまで、ヌル・パケットを送り、バス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
【００９５】
先に注記したように、デバイスからホストにデータを送信するには、まずホストおよびデバイスは以下に述べる制御プロトコルを用いて通信のパラメータを設定する。次いで、ホストは、例えば、ヌル・パケットを送ることによって、データ間隔が開始するのを待つ。これらのヌル・パケットは、デバイスには無視される。次のデータ間隔の開始時に、同期化パケットをデバイスからホストに送り、新たなデータ間隔が開始したことを示す。同期化パケットを送った後、デバイスはデータを送ることができる。一実施形態では、プリアンブル・パケットをデバイスから送り、このデータ間隔中に送信するストリーム、これらを送る順序、および各ストリームを移送するために用いられるパケットの量をホストに指示する。ホストは、プリアンブル・パケットを処理し、該当するパラメータを設定する。次いで、デバイスはデータ・パケットを送る。すると、これらのパケットをホストが受信し処理する。このデータ間隔のデータを送り終えると、デバイスは次のデータ間隔を待つ。例えば、デバイスは、次のデータ間隔が開始するまで、ヌル・パケットを送り、バス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
【００９６】
データ・トランスポート・プロトコルに加えて、制御プロトコルも設ける。制御プロトコルによって、２種類の制御情報を搬送する。即ち、周辺デバイス・ハードウエアのモードおよびパラメータを制御するコマンド（ここでは、「ブレーク・アウト・ボックス（ＢＯＢ：break-out box）制御」と呼ぶ）、および周辺デバイスのＩＥＥＥ−１３９４準拠ポートに取り付けられているＤＶカムコーダまたはＶＴＲの動作を制御するコマンド（デバイス制御と呼ぶ）である。
【００９７】
ＢＯＢ制御コマンドは、ＩＥＥＥ−１３９４プロトコルにおける非同期パケットを用いることができる。デバイス制御コマンドは、ＡＶ／Ｃコマンド・セット、カムコーダおよびＶＴＲを制御するための業界規格を用いることができる。外部デバイスを対象とするＡＶ／Ｃコマンドは、周辺デバイス・ハードウエアによって直接当該デバイスに転送され、同様に応答がホストに返送される。ＡＶ／Ｃコマンドは、AV/C Digital Interface Command Set General Specification (version 3.0)（ＡＶ／Ｃディジタル・インターフェース・コマンド・セット総合仕様書、バージョン３．０）およびAV/C Tape Recorder/Player Subunit Specification（ＡＶ／Ｃテープ・レコーダ／プレーヤ・サブユニット仕様書）を含む数種類の文書において定義されている。その内容は、この言及により本願にも含まれることとする。このため、デバイス制御コマンドでは、通信プロトコルは既存のＩＥＣ６１８８３−１およびＩＥＥＥ−１３９４Trade Association AV/C specifications（通商連合ＡＶ／Ｃ仕様書）に準拠する。周辺デバイスは、ホストおよび外部デバイス間でコマンドおよび応答を中継するが、ホストは外部デバイスと直接対話する。
【００９８】
ＢＯＢ制御は、ホストおよび周辺デバイス間でＩＥＥＥ−１３９４準拠バスを通じて送信されるコマンド・シーケンスを含むコマンド・セットを用いる。各コマンド・シーケンスは、ホストから周辺デバイスに送信するコマンド・フレームを含み、対応する応答フレームを周辺デバイスからホストに送信する。コマンド・フレームは、コマンド・コードおよび任意のパラメータを含む。応答フレームは、成功コード、およびコマンドによって要求される任意のデータ値を含む。
【００９９】
ＩＥＥＥ−１３９４プロトコルを用いる場合、「１ｈ」の「tcode」を有するライト・データ・ブロック要求フォーマット・パケットを用いる。パケットが指定する宛先オフセットは、このプロトコルにおいてコマンドや応答を受信するために指定されたレジスタを示す。このようなパケットのペイロードは１０２４バイトまで含む。ペイロードの最初の２バイトは、このパケットがＢＯＢ制御コマンドまたは応答を含むことを表す値を含む。次の２バイトは、パケット長を示す。更に２バイトが、コマンドのパラメータ、コマンドのステータス、またはその他の情報のような情報を与える。追加の１バイトが確保されている。ペイロードの最後のバイトは、ステータス情報を搬送し、パケットがコマンドの一部なのかまたは応答の一部なのか、そして単一パケット・コマンドの一部なのかまたは多パケット・コマンドの一部なのかについて、判定を行う。
【０１００】
ＢＯＢ制御によって、ホストは周辺デバイスのモード、ステータスおよびパラメータの制御および問い合わせを行うことが可能になる。種々のコマンドは、周辺デバイスの実施態様、そのモードならびにステータス情報および制御設定値に使用可能なレジスタに左右される。同じバスおよび同じ周期的基準信号に接続されている多数のデバイスの動作を簡略化するために、ＢＯＢ制御プロトコルは、周期的基準信号が規定するフレーム境界に応答してフロー制御メッセージを送らないように周辺デバイスに命令するコマンドを考慮するとよい。
【０１０１】
以上、ホストおよびデバイス間で転送されるデータのフロー制御を可能とし、周期的基準信号に対する同期を達成可能な、シリアル・バスを通じたデバイスおよびホスト間の通信のためのデバイスおよび通信プロトコルの例について説明した。このプロトコルは、周辺デバイスおよびホスト・コンピュータ間でフロー制御メッセージを転送し、周辺デバイスに、ホスト・コンピュータがどのように非圧縮オーディオおよびビデオ・データを送るのか制御することを可能にする。オーディオおよびビデオ・データは、別個のストリームとして送ることもできる。ＩＥＥＥ−１３９４プロトコルを用いる場合、フロー制御メッセージを送るには非同期プロトコルを用いるが、非圧縮ビデオおよびオーディオ・データを送るには等時プロトコルを用いる。
【０１０２】
更に、非圧縮ビデオおよびオーディオ・データの別個のストリームをホスト・コンピュータからシリアル・バスを通じて周辺デバイスに転送し、周辺デバイスが、データをＤＶやＭＧＰＥＧのような標準的フォーマットにエンコードしたり、アナログ・ビデオ信号を生成するといような処理を行う。標準的フォーマット・データのデコードは、このようなアナログ・ビデオ信号を生成するには不要であるため、処理が少なくなる。更に、ホスト・コンピュータを用いてディジタル・ビデオおよびオーディオ・データを処理し、オーディオビジュアル・プログラムを編集する場合、ホスト・コンピュータ上の資源を、ビデオ・データをエンコードするためには用いない。したがって、ホスト・コンピュータを、ビデオおよびオーディオ・データの一層創造的な動作に用いることが可能となる。また、周辺デバイスは、標準的なプロトコルを用いて、標準的なバスを通じて標準的なフォーマット・データを出力することもできる。例えば、周辺デバイスは、非圧縮オーディオ・ビデオ・データからＤＶフォーマット・データを生成し、このＤＶフォーマット・データを、標準的なＤＶトランスポート・プロトコルを用いて、ＩＥＥＥ−１３９４準拠のシリアル・バスを通じて出力することができる。
【０１０３】
また、周辺デバイスを用いると、当該周辺デバイスに接続されているトランスコーダのような他のデバイスの出力を、ＩＥＥＥ−１３９４準拠バスのようなシリアル・バスを通じて、周辺デバイスが受信する周期的基準信号に同期させることができる。例えば、周辺デバイスは、ホスト・コンピュータから受信した非圧縮オーディオおよびビデオ・データのＤＶエンコードを実行することができる。次いで、周辺デバイスは、標準的なプロトコルを用いて、このＤＶフォーマット・データを、シリアル・バスを通じて別のデバイスに転送する。この別のトランスコーダの動作は、周辺デバイスに供給される周期的基準信号に同期結合することもできる。
【０１０４】
ホストは、オーディオ・ビデオ・ストリームを周辺デバイスに転送する間に、周辺デバイスからオーディオのストリームを受信するように構成することもできる。このようなオーディオ・ストリームがあるとすれば、オーディオのダビングまたはパンチ・イン(punch-in)を実施するために用いられる周辺デバイスを介して受信するデータであろう。この実施形態では、オーディオ・ビデオ・ストリームをホストから周辺デバイスに等時パケットのストリームとして送る。ダビングまたはパンチ・インのためのオーディオ・データは、周辺デバイスからホストへ非同期パケットのストリームとして送る。周辺デバイスは、オーディオ・ストリームを、受信したオーディオ・ビデオ・ストリームと混合し、終わりまで通して再生するか、または他のデバイスに出力する。
【０１０５】
例えば、図１０Ａおよび図１０Ｂを参照すると、オーディオ・コデック１００６は入力オーディオを（１０４０、１０４１において）受信し、ディジタル・オーディオ・データを生成してメディア・ハブ１０２８に格納する。その間、ＩＥＥＥ−１３９４インターフェース１００４は、オーディオ・ビデオ・データ・ストリームを受信し、これをメディア・ハブ１０２８に供給する。１フレームのデータを受信した後、メディア・ハブ１０２８は、コデック１００６およびインターフェース１００４から受信したオーディオ・データを混合し、混合データをコデック１００６およびヘッドホンＤＡＣ１０１２に出力し、オーディオ出力を生成する。マイクロプロセッサ１０２２には、メディア・ハブ１０２８から周期的にオーディオ・データを検索し、このデータを多数の非同期パケットとしてインターフェース１０５１を介してホストに送るように命令する。
【０１０６】
また、ここに記載したホスト・コンピュータおよび周辺デバイスは、バスに接続され時間データを周期的基準信号と同期して伝達するのであれば、あらゆる形式の発信側および受信側としてもよいことは言うまでもない。
【０１０７】
また、ホスト・コンピュータは、コンピュータ読み取り可能媒体上にコンピュータ・プログラム命令を格納し、ホスト・コンピュータに実行させると、ホスト・コンピュータに、当該ホスト・コンピュータから周辺デバイスにデータを転送させるか、またはホスト・コンピュータに周辺デバイスからデータを受信させるようにしてもよいことも言うまでもない。同様に、デバイス上のコントローラ１０２０（図１０Ａおよび図１０Ｂ）も、格納されているコンピュータ・プログラム命令にアクセスし、種々の動作をデバイスに実行させることもできる。
【０１０８】
以上実施形態の一例について説明したが、前述のことは単なる例示であって限定ではなく、一例として提示したに過ぎないことは当業者には明白なはずである。種々の変更やその他の実施形態も当業者の範囲内のことであり、本発明の範囲に該当すると見なすこととする。
【図面の簡単な説明】
【０１０９】
【図１】図１は、ホスト・コンピュータを周辺デバイスに接続したシステムのブロック図である。
【図２】図２は、他のビデオ・デバイスと同期させた周辺デバイスにホスト・コンピュータを接続したシステムのブロック図である。
【図３】図３は、図１におけるような周辺デバイスの動作モードを更に詳細に示すブロック図である。
【図４】図４は、図１および図２におけるような周辺デバイスの別の動作モードを更に詳細に示すブロック図である。
【図５】図５は、図１および図２におけるような周辺デバイスの別の動作モードを更に詳細に示すブロック図である。
【図６】図６は、２つの周辺デバイスを用い、双方共データをホスト・コンピュータから受信する場合の動作モードのブロック図である。
【図７】図７は、図３に示す動作モードに対する周辺デバイスのブロック図である。
【図８】図８は、図４に示す動作モードに対する周辺デバイスのブロック図である。
【図９】図９は、図５に示す動作モードに対する周辺デバイスのブロック図である。
【図１０Ａ】図１０Ａは、図７ないし図９に示した動作モードを組み込んだ周辺デバイスを更に詳細に示すブロック図である。
【図１０Ｂ】図１０Ｂは、図７ないし図９に示した動作モードを組み込んだ周辺デバイスを更に詳細に示すブロック図である。
【図１１】図１１は、同期化パケットのフォーマット例を示す図である。
【図１２】図１２は、プリアンブル・パケットのフォーマット例を示す図である。
【図１３】図１３は、ストリーム記述子のフォーマット例を示す図である。
【図１４】図１４は、ストリーム識別子の表である。
【図１５】図１５は、データ・パケットのフォーマット例を示す図である。
【図１６】図１６は、ヌル・パケットのフォーマット例を示す図である。
【符号の説明】
【０１１０】
１００    ホスト・コンピュータ
１０２    周辺デバイス
１０４    バス
２００    コンピュータ
２０２    周辺デバイス
２０４    バス
２１２    他の周辺デバイス
３００    ホスト・システム
３０２    周辺デバイス
３０４    バス
４００    ホスト・コンピュータ
４０２    周辺デバイス
４０４    バス
５００    ホスト
５０２    周辺デバイス
５０４    バス
５０６、５０８、５１０    入力源
６００    第１周辺デバイス
６１０    第２周辺デバイス
６３０    ホスト
６４０    バス
７００    ホスト
７０２    周辺デバイス
７０４    ＩＥＥＥ−１３９４準拠バス
７０６    ＩＥＥＥ−１３９４トランシーバ
７０８    ＩＥＥＥ−１３９４トランシーバ
７１０    メディア・ハブ
７１２    ＣＣＩＲ６５６フォーマッタ
７１４    ＤＶエンコーダ
７１６    ビデオ・エンコーダ
７１８    Ｉ２Ｓフォーマッタ
７２０    オーディオ・エンコーダ
７２２    ＩＥＥＥ−１３９４フォーマッタ
７２６    ＩＥＥＥ−１３９４準拠バス
８００    ホスト・コンピュータ
８０２    周辺デバイス
８０４    バス
８０６    ＩＥＥＥ−１３９４インターフェース
８０８    ＩＥＥＥ−１３９４インターフェース
８１０    ＩＥＥＥ−１３９４インターフェース
８１２    ＩＥＥＥ−１３９４デフォーマッタ
８１４    デコーダ
８１６    アナログ・ビデオ・エンコーダ
８１８    オーディオ・エンコーダ
９００    ホスト
９０２    周辺デバイス
９０４    バス
９０６    アナログ・ビデオ・デコーダ
９０８    エンコーダ
９１０    オーディオ・エンコーダ／デコーダ
９１２    ビデオ・エンコーダ
９１４    ＩＥＥＥ−１３９４フォーマッタ９１４
９１６    ＩＥＥＥ−１３９４トランシーバ
９１８    ＩＥＥＥ−１３９４トランシーバ
１０００    周辺デバイス
１００２    ＩＥＥＥ−準拠インターフェース
１００４    ＩＥＥＥ−１３９４インターフェース
１００６    オーディオ・エンコーダ／デコーダ
１００８    入力ビデオ・デコーダ
１０１０    アナログ・ビデオ・エンコーダ
１０１２    エンコーダ
１０１４    圧縮／伸張デバイス（コデック）
１０１６    メモリ
１０１８    ゲンロック回路
１０２０    マイクロコントローラ・サブシステム
１０２２    マイクロプロセッサ
１０２４    フラッシュ・メモリ
１０２６    スタティック・ランダム・アクセス・メモリ
１０２８    メディア・ハブ
１０３０    バッファ
１０５１    インターフェース
１１００    同期化パケット
１１０２    destination_IDフィールド
１１０４    ｔｌフィールド
１１０６    ｒｔフィールド
１１０８    tcodeフィールド
１１１０    priフィールド
１１１２    source_IDフィールド
１１１４    destination_offsetフィールド
１１１６    device_statusフィールド
１１１８    header_CRCフィールド
１２００    プリアンブル・パケット
１２０２    data_lengthフィールド
１２０４    tagフィールド
１２０６    channelフィールド
１２０８    tcodeフィールド
１２１０    ｓｙフィールド
１２１２    transfer rateフィールド
１２１４    stream countフィールド
１２１６    ストリーム記述子
１２１８    header_CRCフィールド
１２２０    data_CRCフィールド
１３００    ストリーム記述子
１３０２    stream IDフィールド
１３０４    packet countフィールド
１４０２    値欄
１４０４    名称欄
１４０６    説明欄
１５００    データ・パケット
１５０２    data_lengthフィールド
１５０４    tagフィールド
１５０６    channelフィールド
１５０８    tcodeフィールド
１５１０    ｓｙフィールド
１５１２    ペイロード部
１５１４    header_CRCフィールド
１５１６    data_CRCフィールド
１６００    ヌル・パケット
１６０２    data_lengthフィールド
１６０４    tagフィールド
１６０６    channelフィールド
１６０８    tcodeフィールド
１６１０    ｓｙフィールド
１６１２    header_CRCフィールド
１６１４    ペイロード部
１６１６    data_CRCフィールド
【図１】
2006314146.tif 000004
【図２】
2006314146.tif 000005
【図３】
2006314146.tif 000006
【図４】
2006314146.tif 000007
【図５】
2006314146.tif 000008
【図６】
2006314146.tif 000009
【図７】
2006314146.tif 000010
【図８】
2006314146.tif 000011
【図９】
2006314146.tif 000012
【図１０Ａ】
2006314146.tif 000013
【図１０Ｂ】
2006314146.tif 000014
【図１１】
2006314146.tif 000015
【図１２】
2006314146.tif 000016
【図１３】
2006314146.tif 000017
【図１４】
2006314146.tif 000018
【図１５】
2006314146.tif 000019
【図１６】
2006314146.tif 000020