JP4398445B2 - 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル - Google Patents

周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル Download PDF

Info

Publication number
JP4398445B2
JP4398445B2 JP2006227067A JP2006227067A JP4398445B2 JP 4398445 B2 JP4398445 B2 JP 4398445B2 JP 2006227067 A JP2006227067 A JP 2006227067A JP 2006227067 A JP2006227067 A JP 2006227067A JP 4398445 B2 JP4398445 B2 JP 4398445B2
Authority
JP
Japan
Prior art keywords
data
packets
bus
packet
peripheral device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006227067A
Other languages
English (en)
Other versions
JP2006314146A (ja
Inventor
ロン・ウォーレス
ハリー・デアー
マーチン・コーベット
テレンス・フェッタース
Original Assignee
アビッド テクノロジー インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビッド テクノロジー インコーポレイテッド filed Critical アビッド テクノロジー インコーポレイテッド
Publication of JP2006314146A publication Critical patent/JP2006314146A/ja
Application granted granted Critical
Publication of JP4398445B2 publication Critical patent/JP4398445B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4112Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • H04J3/0655Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、周期的基準信号を用い、デバイス間で同期してバスを通じて時間データを転送する場合における制御のための通信プロトコルに関する。
一般に、ビデオおよびオーディオのデータを処理する周辺デバイスをホスト・コンピュータに接続するのは、ホスト・コンピュータが実行しない機能を実行するためか、またはディジタルおよびアナログ・フォーマット間でビデオおよびオーディオ・データの変換を行うためである。周辺デバイスおよびホスト・コンピュータ間の接続は、通例では、バスによって行い、これを通じてパケットを用いた通信を行う。バスの形式には、一例として、周辺素子相互接続(PCI)バスのようなパラレル・バス、IEEE−1394に準拠したバスのようなシリアル・バス、またはインターネットのようなコンピュータ・ネットワークが含まれる。
ビデオおよびオーディオ・データは、通例では、1994年12月付けのHD Digital VCR Conference(HDディジタルVCR協議会)の"Specifications of Consumer-Use Digital VCR's using 6.3 mm magnetic tape" (6.3mm磁気テープを用いた消費者用ディジタルVCRの仕様書)(非特許文献1)に記載されているフォーマットのような、標準的なフォーマットになっている。この文書は、“ブルー・ブック”またはSMPTE314M−1999またはIEC−61834とも呼ばれ、これは、一般に「DV」と呼ばれているフォーマットのビデオおよびオーディオ・データについて記載している。ビデオ・データは、圧縮しても、または非圧縮でもよい。通例では、オーディオ・データは非圧縮である。
ビデオおよびオーディオ・データを処理する周辺デバイスの一例に、トランスコーダ(transcoder)がある。トランスコーダは、通例では、IEEE−1394準拠バスのようなシリアル・バスを通じて、DVのような圧縮ディジタル・ビデオ・データおよびオーディオ・データを受け取り、このデータを処理して出力する。即ち、ビデオ・データをアナログ・ビデオ・データに変換し、ビデオ・モニタまたはカムコーダのようなビデオ・デバイスに出力する。オーディオ・データをオーディオ信号に変換し、スピーカ・セットのようなオーディオ・デバイスに出力する。また、このようなトランスコーダは、入力アナログ・ビデオ信号およびオーディオ信号を受け、DVのような圧縮ディジタル・ビデオ・データおよびオーディオ・データを生成し、IEEE−1394準拠バスのようなシリアル・バスを通じてホスト・コンピュータに転送することもできる。
カムコーダまたはトランスコーダのような周辺デバイスとホスト・コンピュータとの間でビデオおよびオーディオ・データを転送するには、現在では多くのシステムが利用可能である。ホスト・コンピュータは、ビデオおよびオーディオの編集のような多数の目的のいずれにも用いることができる。DVを用いた場合、一般的にはIEEE−1394準拠バスを用いてDVをホスト・コンピュータおよび周辺デバイス間で転送する。IEEE−1394準拠バスを通じてDVストリームを移送(transport)するために、IEC−61883と呼ばれる規格が規定されている。格納されているDVを編集し、IEC−61883を用いてIEEE−1394バスを通じてDVを出力する編集システムでは、ホストは最初にDVを伸張し、伸張したデータに対して編集処理を実行し、次いでその結果を再び圧縮してDVとし、その後IEEE−1394バス上でDVを転送する。このプロセスでは、圧縮のためにホスト・コンピュータの資源を用いる必要があるので、ホスト・コンピュータのリアル・タイム処理能力が制限されてしまう。したがって、プログラム全体のDVバーションは、多くの場合、作成してからデータ・ファイルに格納し、その後にコンピュータから別のデバイスに転送している。更に、アナログ・ビデオ信号のように、DV以外のいずれかの出力フォーマットでビデオを製作する際にも、最初にDVバージョンを伸張しなければならない。DVを伸張しその結果をアナログ・ビデオ信号にエンコードする際、トランスコーダによって行うのが一般的である。
HD Digital VCR Conference(HDディジタルVCR協議会)の"Specifications of Consumer-Use Digital VCR's using 6.3 mm magnetic tape" (6.3mm磁気テープを用いた消費者用ディジタルVCRの仕様書)
IEEE−1394準拠デバイスは、バス・タイマ・クロックと呼ばれるものを用いて、ローカル・タイム・ベースに基づいてデータを転送する。その結果、IEEE−1394に取り付けられている各デバイスは、それ自体のタイム・ベースを有するが、一般に、同じバス上にある別のデバイスのタイム・ベースよりも速い場合や遅い場合がある。IEC−61883規格は、これらのクロックの同期を取る技法を備えているが、クロック間のジッタや位相差のために、バス上の異なるデバイス上には異なるタイム・ベースが一般に存在する。タイム・ベースが異なることの結果として、ホストが送信するデータ・パケットは、トランスコーダが消費可能な量を超過するか、またはトランスコーダに送信するデータ・パケットが少な過ぎることによって、フレームの繰り返しまたは欠落が生じる。この問題に取り組むために、ホストは周期的に空のデータ・パケットを送り、各フレームのパケットにおいてプレゼンテーション・タイム・スタンプ(presentation time stamp)(SYTフィールド)を用いなければならない。プレゼンテーション・タイム・スタンプは、フレームを表示すべき時点をトランスコーダに指定する。しかしながら、送信元がタイム・スタンプを生成するには送信元のバス・タイマ・クロックを用いるが、受信側がこれを用いる場合、受信側のバス・タイマ・クロックを用いる。したがって、送信に先だって、空データ・パケットの数および送信周波数を注意深く計算しても、概して、空データ・パケットは、フレームが欠落または反復する前に、単に時間を延長するだけである。空データ・パケットを用いても、送信側デバイスおよび受信側デバイス上のタイム・ベースが異なることに起因する問題は解決されない。タイム・スタンプに伴う別の問題は、市販のデバイスが全てタイム・スタンプの使用をサポートしている訳ではないことである。デバイスによっては、タイム・スタンプを送らないものや、受信したタイム・スタンプを処理しようとしないものもある。これらの技法を用いるとフレームの欠落や反復を招く虞れがあるので、このようなトランスコーダを用いても、同期ビデオ信号を信頼性高く生成してビデオ・モニタ上で再生したり、テープに記録したり、あるいはオーディオおよびビデオ素材の再生を外部の同期ビデオ・デバイスと同期させることはできない。
また、現在のトランスコーダの設計では、トランスコーダを通じてホストを他のデバイスに接続しても、ホストが直接他のデバイスと通信したり、トランスコーダが、他のデバイスに送るパケット内のデータを修正することさえできるようにはならない。
本発明は、周期的な基準信号を受信するデバイスが、デバイス間におけるバスを通じた時間データのフローを制御し、時間データと周期的基準信号との同期を維持することを可能にする通信プロトコルを提供する。フロー制御メッセージをデバイス間で送り、周期的基準信号を受信したデバイスが、いつどのようにデータをバス上で送るか制御できるようにする。例えば、周期的基準信号を受信した周辺デバイスは、フロー制御メッセージをホスト・コンピュータに送り、ホスト・コンピュータから周辺デバイスへのデータのフローを制御することができる。オーディオおよびビデオ・データのような異なる種類の時間データは、別個のデータ・ストリームとして送ることができる。IEEE−1394プロトコルを用いる場合、フロー制御メッセージを送るには非同期プロトコルを用いるが、時間データを送るには等時性プロトコル(isochronous protocol)を用いる。
非圧縮のビデオおよびオーディオ・データは、ホスト・コンピュータから周辺デバイスにシリアル・バスを通じて転送され、周辺デバイスは、ビデオ・データの圧縮やアナログ・ビデオ信号の生成というような処理を、データに対して実行する。ビデオおよびオーディオ・データは、別個のストリームとして転送することもできる。非圧縮ビデオ・データを転送することによって、ホスト・コンピュータは、ビデオ・データを圧縮するために資源を消費する必要がなくなり、これらの資源を、ビデオおよびオーディオ・データに対する一層創造的な処理に用いることが可能となる。更に、非圧縮ビデオ・データを転送することによって、周辺デバイスは、最初にビデオ・データを伸張することなく、ビデオ・データを多くの出力フォーマットで発生することができる。また、周辺デバイスは、標準的なプロトコルを用いて、標準的なバスを通じてビデオおよびオーディオ・データを出力することもできる。例えば、周辺デバイスは、非圧縮オーディオおよびビデオ・データからDVを生成し、IEC−61883を用いて、IEEE−1394準拠バスを通じてDVを出力することができる。
また、ホスト・コンピュータからのデータ転送を周期的基準信号と同期させる周辺デバイスを用いると、トランスコーダまたはカムコーダまたはデッキのような、周辺デバイスに接続されている別のデバイスへのデータ転送を同期させることができる。例えば、周辺デバイスは、ホスト・コンピュータから受信した非圧縮オーディオおよびビデオ・データをビデオ信号としてエンコードすることができる。次いで、周辺デバイスはビデオ信号を他のデバイスに出力する。他のデバイスが周期的基準信号を供給することもできる。例えば、他のデバイスがカメラである場合、カメラからのコンポジット・ビデオ出力信号を周期的基準信号として用いることができる。その結果、ホストから周辺デバイスへ、そしてカメラへのデータの転送を、カメラに同期させる。
このような周辺デバイスは、テープに対してリアル・タイムのディジタル・カットを実行することも可能である。即ち、再生中に周期的基準信号と同期して非圧縮データをホスト・コンピュータから周辺デバイスに転送することによって、ホスト・コンピュータはリアル・タイムでエフェクトを処理することができる。周辺デバイスは、非圧縮データからDV出力を生成することもできる。このDV出力は、IEEE−1394準拠バスを通じて、DVデッキまたはカムコーダにような記録デバイスに供給することができる。このDVデッキまたはカムコーダがコンポジット・ビデオ出力信号を有する場合、デッキまたはカムコーダからのこの出力信号を周期的基準信号として用いることができる。また、周辺デバイスは、ホスト・コンピュータと他のデバイスとの間のブリッジとして作用することもできる。即ち、周辺デバイスは、シリアル・バスを通じてホスト・コンピュータと周辺デバイスとの間で1つのプロトコルを実装し、他のシリアル・バスを通じて周辺デバイスと他のデバイスとの間で1つのプロトコルを実装する。1つのポートでパケットを受信した後、周辺デバイスは、他のポートに接続されているデバイスにパケットを導出するのか、または周辺デバイスにパケットを導出するのか、またはパケットを周辺デバイスによって処理し、1つ以上の新たなパケットを作成して、他のポートに接続されているデバイスに出力するのか判断する。例えば、周辺デバイスは、ホストから受信した圧縮ビデオ・データを伸張し、非圧縮ビデオ・データを含むデータ・パケットを他のデバイスに出力することができる。ホストの観点からは、周辺デバイスは、他のデバイスであるかのように振る舞う。他のデバイスの観点からは、データ・パケットはホスト・デバイスから来たかのように見える。
詳細には、本発明は以下のものを開示する。
1.バスを通じて第1デバイスから第2デバイスにデータを転送する方法において、前記第2デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第2デバイスによって実行する方法であって、
前記周期的基準信号に応答して、前記データ間隔の間に前記バスを通じて前記第1デバイスに同期化パケットを送るステップと、
前記第1デバイスによる前記同期化パケットの受信後に、前記第1デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記パケットがデータ間隔分のデータを含む、ステップと、
前記周期的基準信号が規定する各データ間隔の間に、前記送るステップおよび受信するステップを繰り返すステップと、
から成る方法。
2.項1記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
1つ以上のデータ・パケットと、
を備えていることを特徴とする方法。
3.項2記載の方法において、前記データが、複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリーム、当該データ・ストリームの送信順序、および各ストリームに用いるパケットの数を示すことを特徴とする方法。
4.項2記載の方法において、前記複数のパケットが、更に、1つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、0個以上のヌル・パケットを備えていることを特徴とする方法。
5.項2記載の方法において、データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
6.項2記載の方法において、データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
7.項2記載の方法において、データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
8.項1記載の方法において、前記複数のパケットが、更に、1つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、0個以上のヌル・パケットを備えていることを特徴とする方法。
9.項1記載の方法において、前記データ間隔が1フレームのビデオ・データに対応することを特徴とする方法。
10.項1記載の方法において、前記データ間隔が1フィールドのビデオ・データに対応することを特徴とする方法。
11.項1記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
12.項11記載の方法において、前記シリアル・バスがIEEE−1394準拠バスであることを特徴とする方法。
13.項12記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
14.項12記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
15.項1記載の方法において、前記周期的基準信号を前記第2デバイスが受信することを特徴とする方法。
16.項1記載の方法において、前記周期的基準信号を前記第2デバイスが生成することを特徴とする方法。
17.項1記載の方法であって、更に、
前記第1デバイスから、前記データの転送を開始するコマンドを受信するステップと、
第1データ間隔の分の第1同期化パケットを前記第2デバイスが送るまで、前記第1デバイスから、前記バスを通じて0個以上のヌル・パケットを受信するステップと、
を含むことを特徴とする方法。
18.項1記載の方法であって、更に、
前記第2デバイスにおいて、前記データをバッファに受信するステップと、
前記周期的基準データと同期して、前記第2デバイスから前記データを出力するステップと、
を含むことを特徴とする方法。
19.項18記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし出力するステップを含むことを特徴とする方法。
20.項18記載の方法において、前記出力するステップが、DVフォーマットのビデオ・データを生成するステップを含むことを特徴とする方法。
21.バスを通じて第1デバイスから第2デバイスにデータを転送する方法において、前記第2デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第2デバイスによって実行する方法であって、
前記周期的基準信号に応答して、前記バスを通じて前記第1デバイスに前記データ間隔に対する同期化パケットを送るステップと、
前記第1デバイスが前記同期化パケットを受信した後、前記第1デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記周期的基準信号が規定する後続のデータ間隔を待つステップと、
から成ることを特徴とする方法。
22.バスを通じてデータ源に接続するデバイスであって、
複数のデータ間隔を規定する周期的基準信号を処理する手段と、
前記周期的基準信号に応答して、各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを伝達する手段と、
前記データ源による前記同期化パケットの受信後に、前記データ源から前記バスを通じて複数のパケットを受け入れる手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記伝達する手段および前記受け入れる手段を、前記周期的基準信号が規定する各データ間隔毎に繰り返し動作させる手段と、
を備えていることを特徴とするデバイス。
23.バスを通じてデータ源に接続するデバイスであって、
前記バスを通じて、前記データ源にパケットを送信し、かつ前記データ源からパケットを受信するバス・インターフェースと、
複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに命令を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを送らせる出力を有するコントローラと、
前記データ源の前記同期化パケットの受信後に、前記データ源から前記バスを通じて、前記バス・インターフェースを介して受信した複数のパケットから、前記データ間隔分のデータを受信するように接続されているバッファと、
を備えていることを特徴とするデバイス。
24.バスを通じて第1デバイスから第2デバイスにデータを転送する方法であって、前記第1デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
前記第1デバイスが前記バスを通じて前記第2デバイスに前記データ間隔に対する同期化パケットを送るステップと、
前記第1デバイスが、前記同期化パケットを送った後、前記バスを通じて前記第2デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記周期的基準信号に応じて、次のデータ間隔まで前記第1デバイスが待つステップと、
から成ることを特徴とするデバイス。
25.項24記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
1つ以上のデータ・パケットと、
から成ることを特徴とする方法。
26.項25記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリームと、該データ・ストリームの送信順序と、各ストリーム毎に用いるパケット数とを示すことを特徴とする方法。
27.項25記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
28.項25記載の方法において、前記データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
29.項25記載の方法において、前記データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
30.項25記載の方法において、前記データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
31.項24記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
32.項24記載の方法において、前記データ間隔が1フレームのビデオ・データに対応することを特徴とする方法。
33.項24記載の方法において、前記データ間隔が1フィールドのビデオ・データに対応することを特徴とする方法。
34.項24記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
35.項34記載の方法において、前記シリアル・バスがIEEE−1394準拠バスであることを特徴とする方法。
36.項35記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
37.項35記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
38.項24記載の方法において、前記周期的基準信号を前記第1デバイスが受信することを特徴とする方法。
39.項24記載の方法において、前記周期的基準信号を前記第1デバイスが生成することを特徴とする方法。
40.項24記載の方法であって、更に、
前記第2デバイスから、前記データの転送を開始するコマンドを受信するステップと、
第1データ間隔に対する第1同期化パケットが送られるまで、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
41.項24記載の方法であって、更に、
前記第1デバイスが、前記周期的基準信号に同期して、前記データをバッファに受信するステップと、
前記第1デバイスが、前記バッファから前記バスを通じて前記データを前記第2デバイスに転送するステップと、
を含むことを特徴とする方法。
42.項41記載の方法において、前記データを受信するステップが、アナログ・ビデオ信号を受信しデコードするステップを含むことを特徴とする方法。
43.項41記載の方法において、前記受信するステップが、DVフォーマットのビデオ・データを受信するステップから成る方法。
44.バスを通じてデータ受信側に接続するデバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記周期的基準信号に応答して、各データ間隔の間に前記バスを通じて前記データ受信側に同期化パケットを伝達する手段と、
前記データ受信側が前記同期化パケットを受信した後に、前記バスを通じて前記データ受信側に複数のパケットを転送する手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記周期的基準信号が規定する各データ間隔毎に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
を備えていることを特徴とするデバイス。
45.バスを通じてデータ受信側に接続するデバイスであって、
前記データ受信側に接続されているバスを通じてパケットを送るバス・インターフェースと、
データを受信する入力を有し、前記バス・インターフェースにデータを供給して、複数のパケットとして前記バスを通じて前記データ受信側に送信するように接続されているバッファと、
複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに指示を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ受信側に同期化パケットを送らせる出力を有するコントローラと、
を備えていることを特徴とするデバイス。
46.バスを通じてホスト・コンピュータに接続するシステムであって、
周辺デバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記複数のデータ間隔分のビデオ・データを受信する手段と、
前記周期的基準信号に応答して、各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを伝達する手段と、
前記ホスト・コンピュータの前記同期化パケットの受信後に、前記バスを通じて前記ホスト・コンピュータに複数のパケットを転送する手段であって、前記パケットが前記データ間隔分のビデオ・データを含む、手段と、
前記周期的基準信号が規定する各データ間隔毎に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
を備えている周辺デバイスと、
ビデオ・デバイスであって、
前記周期的基準信号を受信し、これと同期する入力と、
前記周期的基準信号に同期して前記ビデオ・データを前記周辺デバイスに供給する手段と、
を備えているビデオ・デバイスと、
から成ることを特徴とするシステム。
47.バスを通じてホスト・コンピュータに接続するシステムであって、
周辺デバイスであって、
複数のデータ間隔を規定する周期的基準信号を受信する手段と、
前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記ホスト・コンピュータに同期化パケットを伝達する手段と、
前記ホスト・コンピュータによる前記同期化パケットの受信後に、前記バスを通じて前記ホスト・コンピュータから複数のパケットを受け入れる手段であって、前記パケットが前記データ間隔分のビデオ・データを含む、手段と、
前記周期的基準信号が規定する各データ間隔の間に、前記伝達する手段および前記転送する手段を繰り返し動作させる手段と、
前記複数のデータ間隔分のビデオ・データを供給する手段と、
を備えている周辺デバイスと、
ビデオ・デバイスであって、
前記周期的基準信号を受信し、これと同期する入力と、
前記周期的基準信号と同期して、前記周辺デバイスが供給する前記ビデオ・データを受信する手段と、
を備えているビデオ・デバイスと、
から成ることを特徴とするシステム。
48.バスを通じて第1デバイスから第2デバイスにデータを転送する方法であって、
前記バスを通じて前記第2デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記第2デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記データ間隔分の前記複数のパケットを送った後、前記バスを通じて前記第2デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成り、前記第2デバイスが処理する周期的基準信号が規定する各データ間隔の間に前記第1デバイスが実行すること、を特徴とする方法。
49.項48記載の方法において、前記複数のパケットが、
送るべきデータ・パケット数を示すプリアンブル・パケットと、
1つ以上のデータ・パケットと、
から成ることを特徴とする方法。
50.項49記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブル・パケットが、前記間隔中に送信するストリームと、該データ・ストリームの送信順序と、各ストリームに用いるパケット数とを示すことを特徴とする方法。
51.項49記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
52.項49記載の方法において、前記パケットがビデオ・データ・パケットから成ることを特徴とする方法。
53.項49記載の方法において、前記パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
54.項49記載の方法において、前記パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
55.項48記載の方法において、前記待つステップが、前記データ間隔の残り部分のために、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
56.項48記載の方法において、前記データ間隔が1フレームのビデオ・データに対応することを特徴とする方法。
57.項48記載の方法において、前記データ間隔が1フィールドのビデオ・データに対応することを特徴とする方法。
58.項48記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
59.項58記載の方法において、前記シリアル・バスがIEEE−1394準拠バスであることを特徴とする方法。
60.項59記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
61.項59記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
62.項48記載の方法であって、更に、
前記データの転送を開始するコマンドを前記第2デバイスに送るステップと、
第1データ間隔に対する第1同期化パケットが送られるまで、前記バスを通じて前記第2デバイスに0個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
63.バスを通じてデータをデバイスに転送する装置であって、
前記デバイスが処理する周期的基準信号が規定する各データ間隔の間に、前記バスを通じて同期化パケットを前記デバイスから受信する手段と、
前記同期化パケットを受信した後に動作して、前記バスを通じて前記デバイスに複数のパケットを送る手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記データ間隔分の複数のパケットを送った後に動作して、前記バスを通じて前記デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つ手段と、
から成る装置。
64.バスを通じてデバイスにデータを転送する装置であって、
前記バスを通じて前記デバイスにパケットを送り、かつ該デバイスからパケットを受信するバス・インターフェースと、
複数のパケットとして送信するために、データを前記バス・インターフェースに転送するように接続されているバッファと、
コントローラであって、
周期的基準信号が規定する各データ間隔の間に、前記バス・インターフェースが受信した前記デバイスからの同期化パケットを処理する手段と、
前記同期化パケットの受信後に動作して、前記バス・インターフェースにより前記バスを通じて前記装置および前記デバイス間において複数のパケットを転送させる手段であって、前記パケットが前記データ間隔分のデータを含む、手段と、
前記データ間隔分の複数のパケットを転送した後に動作し、前記バスを通じて前記デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つ手段と、
を備えている、前記のコントローラと、
から成る装置。
65.コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて前記ホスト・コンピュータから周辺デバイスにデータを転送する方法であって前周期的基準信号が規定する各データ間隔の間に前記ホスト・コンピュータにより実行される前記の方法を、前記ホスト・コンピュータに実行させる、コンピュータ・プログラム命令と、
から成り、前記方法が、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記データ間隔分の前記複数のパケットを送った後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと
から成ること、を特徴とするコンピュータ・プログラム製品。
66.バスを通じて第1デバイスから第2デバイスにデータを転送する方法であって、該方法が、前記第1デバイスが処理する周期的基準信号が規定する各データ間隔の間に前記第2デバイスにより実行され、
前記バスを通じて前記第1デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記第1デバイスから複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記バスを通じて前記第1デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成る方法。
67.コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されたコンピュータ・プログラム命令であって、ホスト・コンピュータによって実行されると、バスを通じて周辺デバイスからホスト・コンピュータにデータを転送する方法を前記ホストコンピュータに実行させるコンピュータ・プログラム命令と、
から成り、前記方法が、
前記周辺デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスから複数のパケットを受信するステップであって、前記パケットが前記データ間隔分のデータを含む、ステップと、
前記複数のパケットを受信した後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成ること、を特徴とするコンピュータ・プログラム製品。
68.バスを通じてホスト・コンピュータから周辺デバイスにデータを転送する方法であって、
前記周辺デバイスが、周期的基準信号に応じて、各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送るステップと、
前記ホスト・コンピュータが、前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記パケットが前記データ間隔分のデータを含む、前記のステップと、
前記データ間隔分の複数のデータを送った後、前記ホスト・コンピュータが、後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
から成る方法。
69.項68記載の方法において、前記複数のパケットが、
送るべきデータ・パケットの数を示すプリアンブル・パケットと、
1つ以上のデータ・パケットと、
から成ることを特徴とする方法。
70.項69記載の方法において、前記データが複数のデータ・ストリームから成り、前記プリアンブルが、前記間隔中に送信すべきストリームと、該データ・ストリームの送信順序と、各ストリーム毎に用いるパケット数を示すことを特徴とする方法。
71.項69記載の方法において、前記待つステップが、前記1つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
72.項69記載の方法において、前記データ・パケットがビデオ・データ・パケットから成ることを特徴とする方法。
73.項69記載の方法において、前記データ・パケットがオーディオ・データ・パケットから成ることを特徴とする方法。
74.項69記載の方法において、前記データ・パケットがビデオおよびオーディオ・データ・パケットから成ることを特徴とする方法。
75.項68記載の方法において、前記待つステップが、前記1つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために0個以上のヌル・パケットを送るステップを含むことを特徴とする方法。
76.項68記載の方法において、前記データ間隔が1フレームのビデオ・データに対応することを特徴とする方法。
77.項68記載の方法において、前記データ間隔が1フィールドのビデオ・データに対応することを特徴とする方法。
78.項68記載の方法において、前記バスがシリアル・バスであることを特徴とする方法。
79.項78記載の方法において、前記シリアル・バスがIEEE−1394準拠バスであることを特徴とする方法。
80.項79記載の方法において、前記同期化パケットが非同期パケットであることを特徴とする方法。
81.項79記載の方法において、前記複数のパケットが等時パケットであることを特徴とする方法。
82.項68記載の方法において、前記周期的基準信号を前記周辺デバイスが受信することを特徴とする方法。
83.項68記載の方法において、前記周期的基準信号を前記周辺デバイスが生成することを特徴とする方法。
84.項68記載の方法であって、更に、
前記ホスト・コンピュータが、前記データの転送を開始するコマンドを送るステップと、
前記周辺デバイスが第1データ間隔に対する第1同期化パケットを送るまで、前記ホスト・コンピュータが前記バスを通じて0個以上のヌル・パケットを送るステップと、
を含むことを特徴とする方法。
85.項68記載の方法であって、更に、
前記周辺デバイスが前記データをバッファ内に受信するステップと、
前記周辺デバイスが、前記周期的基準信号に同期して、前記データを出力するステップと、
を含むことを特徴とする方法。
86.項85記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし、出力するステップから成ることを特徴とする方法。
87.項85記載の方法において、前記出力するステップが、DVフォーマットのビデオ・データを生成するステップを含むことを特徴とする方法。
88.ホスト・コンピュータと、
バスを通じて前記ホスト・コンピュータに接続されている周辺デバイスと、
を備え、
前記周辺デバイスが、周期的基準信号に応じて各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送る手段を備えており、
前記ホスト・コンピュータが、前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送る手段であって、前記パケットが、前記データ間隔分のデータを含む、手段と、前記データ間隔分の複数のパケットを送った後に動作して、後続のデータ間隔に対する同期化パケットを受信するまで待つ手段とを備えていること、
を特徴とするシステム。
89.ホスト・コンピュータであって、
圧縮ビデオ・データおよび関連するオーディオ・データを格納するストレージと、前記ビデオ・データおよび前記オーディオ・データ、ならびに前記ビデオ・データに作用させるエフェクトを用いてプログラムを編集する編集システムと、
前記編集したプログラムをフル・モーションおよび最大解像度で再生する再生システムであって、前記圧縮ビデオ・データを伸張する手段と、前記伸張したビデオ・データに対する前記エフェクトを再生中に処理する手段とを含む、再生システムと、
を備えている、前記のホスト・コンピュータと、
バスを通じて前記ホスト・コンピュータに接続されており、前記バス上における前記ホスト・コンピュータからの伸張ビデオおよびオーディオ・データのフローを制御して、フローを周期的基準信号と同期させる手段を備えている、周辺デバイスと
から成るシステムであって、
前記ホスト・コンピュータが、
前記周辺デバイスによるフロー制御に応答して、前記バスと通じて再生中に前記再生システムから前記周辺デバイスに、エフェクトを有し処理した伸張ビデオと前記オーディオ・データとを送る手段を備えており、
前記周辺デバイスが、更に、
再生中に前記伸張ビデオおよびオーディオ・データを圧縮して、圧縮データ・ストリームを作成する手段と、
再生中に前記圧縮データ・ストリームを、前記周期的基準信号と同期させて、記録デバイスに出力する手段と、
を備えていることを特徴とするシステム。
90.ホスト・コンピュータと他のデバイスとの間にブリッジを提供する周辺デバイスであって、該周辺デバイスが第1シリアル・バスによって前記ホスト・コンピュータに接続し、第2シリアル・バスによって前記他のデバイスに接続しており、
前記ホスト・コンピュータと前記周辺デバイスとの間の通信のために前記第1シリアル・バス上にプロトコルを実装する手段と、
前記周辺デバイスと前記他のデバイスとの間の通信のために前記第2シリアル・バス上に前記プロトコルを実装する手段と、
前記他のデバイスから前記ホスト・コンピュータに情報を伝達して、前記ホスト・コンピュータが、前記第1シリアル・バス上のプロトコルを用いて、前記他のデバイスに宛てられたパケットを伝達することを可能とする手段と、
前記ホスト・コンピュータから前記他のデバイスに情報を伝達して、前記他のデバイスが、前記第2シリアル・バス上のプロトコルを用いて、前記ホスト・コンピュータに宛てられたパケットを伝達することを可能とする手段と、
前記第1シリアル・バスを通じて受信したパケットを処理する第1パケット処理手段であって、
前記パケットが前記他のデバイスに宛てられている場合を判定し、そして前記パケットを前記他のデバイスに転送する手段と、
前記パケットが前記周辺デバイスに宛てられている場合を判定し、そして前記パケットを前記周辺デバイスにおいて処理する手段と、
前記パケットが前記周辺デバイスによって処理されるが前記他のデバイスに宛てられている場合を判定し、そして前記パケットを処理して1つ以上の新たなパケットを作成し、そして該1つ以上の新たなパケットを前記他のデバイスに転送する手段と、
を含む、第1パケット処理手段と、
前記第2シリアル・バスを通じて受信したパケットを処理する第2パケット処理手段であって、
前記パケットが前記ホスト・コンピュータに宛てられている場合を判定し、そして前記パケットを前記ホスト・コンピュータに転送する手段と、
前記パケットが前記周辺デバイスに宛てられている場合を判定し、そして前記パケット前記周辺デバイスにおいて処理する手段と、
前記パケットが前記周辺デバイスによって処理されるが前記ホスト・コンピュータに宛てられている場合を判定し、そして前記パケットを処理して1つ以上の新たなパケットを作成し、そして該1つ以上の新たなパケットを前記ホスト・コンピュータに転送する手段と、
を含む、第2パケット処理手段と、
を備えていることを特徴とする周辺デバイス。
図1は、IEEE−1394準拠バスのような、バス104によってホスト・コンピュータ100を周辺デバイス102に接続したシステムを示す。ホスト・コンピュータは、通例では、ストレージを含み、当該コンピュータのオペレーティング・システムのファイル・システムを用いて、ビデオ・データおよびオーディオ・データをデータ・ファイル内に格納する。ホスト・コンピュータ上には編集システムが設けられており、ビデオ・データおよびオーディオ・データを用い、ビデオ・データ上でエフェクトを実施するプログラムの編集が可能となっている。このような編集システムは、通例では、プログラムをクリップ・シーケンスとして表し、クリップが、時間メディアを収容するデータ・ファイル、および当該データ・ファイル内の範囲に対する参照となる。再生システムも設けられており、編集したプログラムをフル・モーション(full motion)かつ最高の解像度で再生することができる。再生システムによって、編集者は編集したプログラムを視認することができる。ビデオ・データが圧縮されている場合、再生システムはビデオ・データを伸張し、この伸張したビデオ・データに対してあらゆるエフェクトを実行する。
バスは、これを通じてパケットを用いた通信が行われ、ビデオ・データやオーディオ・データのような時間データに対するデータを、ビデオ・データのフレーム・レートのように、時間データのサンプル・レートよりも速いレートで送信することができるバスであれば、いずれの形式でもよい。ホスト・コンピュータは、バス・インターフェースを含み、バスを通じてパケットをデバイスに送り、そしてデバイスからパケットを受信する。通常メモリ内のバッファが接続されており、データをバス・インターフェースに転送して、複数のパケットとして送信する。このバッファは、例えば、再生アプリケーションからのデータを受信し、デバイスに転送する。ホスト・コンピュータ上には、バス・インターフェース用ドライバ、即ち、コントローラとして作用するソフトウエアの一形態も常駐しており、これによってホスト・コンピュータは、ここに述べるプロトコルのような通信プロトコルを、バスを通じて実装することができる。
ホスト・コンピュータは、周辺デバイスからバスを通じてデータを受信することができる。ホスト・コンピュータは、バスを通じて周辺デバイスにデータを送ることができる。ホスト・コンピュータおよび周辺デバイスは、ビデオ・データ、オーディオ・データ、および時間データを含む数種類のデータ、ならびにその他のコンテンツを交換することもできる。ビデオ・データは、圧縮されていても非圧縮でもよく、オーディオ・データやその他の関係するタイム・ベース・メディアと合体しても、別個でもよい。通例では、オーディオ・データは非圧縮であるが、圧縮されていてもよい。本発明は、ビデオ・データまたはオーディオ・データあるいはその他の時間データのいずれの特定的なフォーマットにも限定されることはない。
データは、パケットの形態で、バス104を通じて転送される。パケットとは、データと、バス上のノードのアドレスのような経路指定情報との双方を含むデータの送信単位である。また、通信プロトコルが異なる種類のパケットを送信することを可能にする場合、パケットはパケットの種類も示すことができる。また、パケットは、誤り訂正符号およびその他のデータも含むことができる。各種類のパケットの形態および内容は、通信プロトコルの一部として指定するのが通例である。これについて、以下で更に詳細に説明する。
周辺デバイスは、数個の入力106を有し、テープ・デッキからのビデオおよびオーディオ・データのようなデータ源から、多数のフォーマットのいずれでもデータを受信することができる。また、周辺デバイスは数個の出力108も有し、ビデオおよびオーディオ・データをモニタおよびスピーカ、またはテープ・デッキへというように、多数のフォーマットのいずれのデータでも受信機に送ることができる。例えば、周辺デバイスは、DVカムコーダまたはDVテープ・デッキのようなDVデバイスにDVを送ることができ、あるいはDVデバイスからDVを受信することもできる。その他のビデオおよびオーディオ入力および出力フォーマットの例には、コンポジット・ビデオ、成分ビデオ(YCrCBおよびYUVビデオのような)およびS−Videoのようなアナログ・フォーマットや、圧縮および非圧縮双方、そして標準的および企業固有双方のディジタル・フォーマット、中でも、MPEG−2、SMPTE−125M、SMPTE−260M、SMPTE−264M、SMPTE−265M、SMPTE−267M、SMPTE−274M、およびSMPTE−279Mのようなフォーマットを含み、しかもこれらに限定される訳ではない。また、周辺デバイスは、周期的基準信号110を内部で生成するか、または外部信号源から受信し、ホストからのデータ転送の制御に用いることができる。この周期的基準信号のレートは、周辺デバイスが出力するデータのフィールド・レートまたはフレーム・レートのような、時間データの所望レートに対応する。周期的基準信号は、高精度の水晶クロック発生回路によって生成するとよい。このような回路は、周辺デバイス内部にあっても、周辺デバイス外部にあってもよい。また、周期的基準信号を生成するには、ビデオ・デコーダを用いてもよく、ビデオ・デコーダは、受信したコンポジット・ビデオ信号をデコードして、垂直同期信号(VSYNC)、水平同期信号(HSYNC)、画素クロック(NTSC/PAL標準品位ビデオの27MHzのような)、およびバースト位相信号を生成する。この目的に用いるこのようなコンポジット・ビデオ信号は、一般には、ゲンロック(genlock)、RS170、黒色バースト、ハウス・シンク信号(house sync signal)と呼ばれており、実際のビデオを含んでも含まなくてもよい。デコーダから出力された信号は、ビデオ・エンコーダへの入力として供給され、受信したコンポジット・ビデオ信号と同期した出力ビデオを生成することができる。
各フィールド境界またはフレーム境界、あるいは周期的基準信号から得られるその他の時間指定境界を用いれば、データ間隔を規定することができる。データ間隔とは、ビデオ・データのフレームまたはフィールド、あるいはビデオ・データのフレームまたはフィールドに対応するオーディオまたはメタデータのような、周期的基準信号に対応する時間データ内部の時間期間のことである。以下に説明する通信プロトコルは、ホストからデバイスへのデータ転送の基準としてこのデータ間隔を利用し、データを周期的基準信号と同期させる。
周辺デバイスを用いて、ホスト・コンピュータのオーディオおよびビデオ・データの多数のストリームを取り込んだり、再生することもできる。取り込みでは、周辺デバイスは、1つ以上のその入力からデータを受信し、バスを通じて受信したデータをホスト・コンピュータに直接転送する。例えば、周辺デバイスは、DVストリームを受信するようにでき、そしてこの場合、それを、ホスト・コンピュータに直接転送する。周辺デバイスは、アナログ・ビデオおよびオーディオ・ストリームを受信した場合、これをDVストリームに変換し、ホストに転送することもできる。再生モードでは、周辺デバイスは、ホスト・コンピュータからバスを通じてビデオおよびオーディオ・データのストリームを受信する。このストリームは、多数のフォーマットのいずれにでも変換し、別のデバイスに出力することもできる。例えば、周辺デバイスは、受信したストリームをアナログ・ビデオおよびオーディオ信号に、またはDVストリームに変換し、記録デバイスまたはモニタおよびスピーカに送信することができる。
図2を参照すると、周辺デバイス202は、コンピュータ200から(入力206または出力208を介して)他の周辺デバイス212への、バス204を通じたデータ転送を周期的基準信号210と同期させることができる。周期的基準信号210は、周辺デバイス202および他のデバイス212双方が受信する。周期的基準信号は、周辺デバイス202または他のデバイス212が生成してもよく、あるいは他の信号源から来ても良い。
周辺デバイス202に接続可能な他のデバイス212の例には、トランスコーダ、ビデオ・ディスプレイ、テープ・デッキ、カメラまたはビデオ処理機器が含まれ、しかもこれらに限定される訳ではない。例えば、周辺デバイスは、非圧縮ビデオおよびオーディオ・データをホスト・コンピュータから受信することもできる。周辺デバイスは、このデータから、アナログ・ビデオおよびオーディオ信号を生成し、これを周期的基準信号と同期させ、他のデバイスに出力することができる。
また、周辺デバイスの種々の機能を他のデバイス内に一体化し、合体した機能を備えた単一のデバイスを構成することもできる。同様に、他のデバイスの種々の機能を周辺デバイス内に一体化し、合体した機能を備えた単一のデバイスを構成することもできる。つまり、トランスコーダ、ビデオ・ディスプレイ、テープ・デッキ、カメラ、またはその他のビデオ処理機器は、ここに記載するような周辺デバイスの機能を組み込むことができる。このような周辺デバイスの動作モード例を3つあげると、非圧縮再生モード、ディジタル・カット・モード、およびキャプチャ・モードが含まれる。これらについては、図3ないし図5に関連付けて説明する。
図3に示す非圧縮再生モードでは、ホスト・システム300は、非圧縮ビデオとオーディオのストリームおよび/または制御コマンドを周辺デバイス302にバス304を通じて受け渡す。編集中の再生では、ユーザが規定した設定によっては、非圧縮ストリームが(1/4フレームのような)半端なフレームまたは1フレーム全体のこともあり得る。以下で論ずるディジタル・カット・モードでは、フル・フレーム・モードがデフォルトの設定となる。周辺デバイスは、サイズ変更部を含めば、半端なフレーム・ビデオを完全なビデオ・フレームに調整(scale)することができる。周辺デバイスは、非圧縮ストリームを用いて、アナログ・ビデオおおよびオーディオ出力を生成することができる。ホスト・コンピュータのデスクトップ上のビデオ・ウィンドウは、周辺デバイスの出力と同期して再生することもできる。周辺デバイスは、当該周辺デバイス上のエンコーダを用いて非圧縮ストリームをエンコードすることによって、DVまたはその他の圧縮出力308を作成することができる。十分なバッファ機能を設けることによって、周辺デバイス上で非圧縮ストリームをエンコードすることによって生ずるレイテンシにも拘わらず、圧縮出力の同期を維持することができる。
このモードでは、リアル・タイム・エフェクトを用いた出力ビデオおよびオーディオの編集、再生および作成を行うことができる。即ち、ホストは、リアル・タイム・エフェクトの適用後にビデオおよびオーディオ・ストリームを圧縮しないので、非圧縮出力が再生中にリアル・タイムで周辺デバイスに転送され、一方、周辺デバイスは非圧縮ストリームをエンコードして出力することができる。このような動作によって、テープに対してリアル・タイムのディジタル・カットを実行することが可能となる。即ち、再生中にホスト・コンピュータから周辺デバイスに周期的基準信号と同期して非圧縮データを転送することによって、ホスト・コンピュータはリアル・タイムでエフェクトを処理することができる。周辺デバイスは、非圧縮データからDV出力を生成することができる。このDV出力は、IEEE−1394準拠バスを通じて、DVデッキまたはカムコーダのような記録デバイスに供給することができる。このDVデッキまたはカムコーダがコンポジット・ビデオ出力信号を有する場合、デッキまたはカムコーダからのこの出力信号を周期的基準信号として用いてもよい。
ビデオの再生は、ホスト・コンピュータ上のデスクトップ・ウィンドウ、周辺デバイス上のコンポジットまたはS−ビデオ出力306、および周辺デバイス上のIEEE−1394準拠バスを介したDV出力、あるいは周辺デバイスのその他の出力上で行うことができる。オーディオの再生は、アナログ出力、DV出力またはディジタル出力(図示せず)の内1つ以上を介して行うことができる。
図4に示す別のモードでは、ホスト・コンピュータ400および/またはデバイス制御コマンドによってレンダリングした圧縮ストリームのディジタル・カットを、バス404を通じて周辺デバイス402に供給する。このモードでは、ホスト・コンピュータにおいていずれのエフェクトでも描出(render)し、描出した画像を圧縮して、転送前にデータ・ファイルに格納する。圧縮ストリームは、ホスト・コンピュータ400によって、そのデータ・ファイルから読み出され、周辺デバイス402に送信される。圧縮ストリームを周辺デバイスに送信するには、以下で述べる同期化プロトコルを用いることもできる。同期化プロトコルは、DVストリームを転送して、テレビジョン・モニタにような同期化デバイス上で再生する際に用いられる。
ビデオの再生は、ホスト・コンピュータ上のデスクトップ・ウィンドウ、周辺デバイス上のコンポジットまたはS−ビデオ出力406、および周辺デバイス上のIEEE−1394準拠バスを介したDV出力、あるいは周辺デバイスのその他の出力上で行うことができる。オーディオの再生は、アナログ出力、DV出力またはディジタル出力(図示せず)の内1つ以上を介して行うことができる。アナログ出力を作成するには、周辺デバイス上のデコーダを用いて、周辺デバイスに着信圧縮ストリームをデコードさせ、次いでビデオ・エンコーダを用いて、デコードしたデータをエンコードする。ディジタル・カットをDVテープに対して行うには、周辺デバイスは、DV出力408に取り付けたDVデバイス(図示せず)に対してデバイス制御動作を実行し、ホストから受信した通りに、DVデータを直接出力する。
このモードでは、周辺デバイスからの圧縮出力は、ホスト・コンピュータ上のデスクトップ・ウィンドウにおいて、ビデオと同期して再生される。十分なバッファ機能をホストに設けることによって、周辺デバイス上でDVストリームをデコードし、アナログ出力をエンコードすることによって生ずるレイテンシを克服し、デスクトップ・ウィンドウ内においてアナログ出力をビデオに同期させることができる。
第3の動作モードは、図5に示すキャプチャである。キャプチャは、コンポジット・ビデオ、S−Videoビデオ、およびDVビデオならびにオーディオ入力のような、周辺デバイス502の数種類の異なる入力源(506、508、510)の1つを用いる。DV入力デバイスを用いる場合、周辺デバイス502によるDVデバイス制御が利用可能である。
入力デバイスがDVである場合、DVストリームは周辺デバイスを介してホスト500にバス504を通じて直接受け渡される。DVストリームをホスト・システムに転送するには、以下で述べる同期化プロトコルを用いるとよい。DVデータのホスト・コンピュータへの転送の間、周辺デバイスはDVストリームをデコードし、デコードしたデータをエンコードして、アナログ・ビデオおよびオーディオ出力(図示せず)を生成する。
入力信号がコンポジットまたはS−Video、あるいはその他の何らかのフォーマットである場合、入力信号をDVのようなディジタル・フォーマットに変換した後に、IEEE−1394準拠バスを通じてホストに転送する。このモードでは、アナログ・ビデオおよびオーディオ信号も、対応するアナログ・ビデオおよびオーディオ出力(図示せず)を介して出力することができる。DVフォーマット・ビデオのその他のIEEE−1394準拠バス出力508を通じての外部デバイスの出力は、アクティブであってもインアクティブであってもよい。
これらのモードの全てにおいて、周辺デバイスは、ホスト・コンピュータとその他のデバイスとの間のブリッジとして作用することができる。言い換えると、周辺デバイスは、ホスト・コンピュータと周辺デバイスとの間の通信のために、第1シリアル・バス上にプロトコルを実装する。周辺デバイスは、同じプロトコルを、周辺デバイスと他のデバイスとの間の通信のために、第2シリアル・バス上にも実装する。周辺デバイスは、他のデバイスからホスト・デバイスに情報を伝達し、ホスト・コンピュータが、第1シリアル・バス上のプロトコルを用いて、他のデバイスに宛てられた情報を伝達できるようにする。また、周辺デバイスは、ホスト・コンピュータからの情報を他のデバイスを伝達し、他のデバイスが、第2シリアル・バス上のプロトコルを用いて、ホスト・コンピュータに宛てられたパケットを伝達できるようにする。
一般に、周辺デバイスは、ホストからのメッセージを、周辺デバイスの1つのポートにて受信し、このメッセージを変換して、周辺デバイスの別のポートから他のデバイスにメッセージを送る。この変換には、少なくともメッセージ内にあるあらゆるノード・アドレスの変換を伴い、別のポートを介してこれが適正に他のデバイスに宛てられるようにする。また、変換は、一方のデータ・フォーマットから他方のデータ・フォーマットへの変換というような、パケット内のデータに対して行う他の処理も伴う。
逆に、周辺デバイスは、その他のデバイスからのメッセージを、周辺デバイスの1つのポートにて受信し、このメッセージを変換して、周辺デバイスの別のポートからホストにメッセージを送る。この場合も、変換には、少なくともメッセージ内にあるあらゆるノード・アドレスの変換を伴い、別のポートを介してこれが適正にホストに宛てられるようにし、更にデータ・フォーマットの変換や、メッセージ内のデータに対するその他の処理も伴う。
このような機能性を実現するには、各ポート上における通信を管理する別個のプロセスを、周辺デバイス上のマイクロプロセッサによって実行する。1つのポート上でメッセージを受信すると、そのポートに応じたプロセスが変換プロセスを呼び出し、このメッセージを変換し、変換したメッセージを、別のポートに応じた他のプロセスに送る。
パケットがホストから他のデバイスに流れるか、または他のデバイスからホストに流れるかには関わらず、ホスト、周辺デバイスまたは他のデバイスによって受信されたパケットは、リンク・レイヤ・プロトコルのような低位プロトコルを用いて、局所的に承認される。しかしながら、ホストから他のデバイスへ、そして他のデバイスからホストには、前述のノード変換を用いて、周辺デバイスを介してアプリケーション・レベルの承認が渡される。したがって、周辺デバイスは、他のデバイスの観点からは、仮想ホストのように見え、ホストの観点からは、仮想デバイスのように見える。
このブリッジ機能性について、これより4種類の通信、即ち、ホストから周辺デバイス、周辺デバイスから他のデバイス、他のデバイスから周辺デバイス、そして周辺デバイスからホストへの通信について、更に詳しく説明する。
周辺デバイスが1つのポート上でホスト・コンピュータからパケットを受信した場合、そのポートが、例えば、リンク・レイヤまたはその他の低位プロトコルを用いて、パケットの受信を局所的に承認する。パケットを処理して、このパケットが周辺デバイスまたはその他のデバイスのどちらに宛てられているのか判断する。パケットが周辺デバイスに宛てられている場合、この周辺デバイスにおいてパケットを処理する。パケットが他のデバイスに宛てられている場合、最初に周辺デバイスがパケットを処理して、1つ以上の新たなパケットを作成し、次いでこれらを他のデバイスに送る。
周辺デバイスが1つのポートを通じてパケットを他のデバイスに送った場合、他のデバイスは、リンク・レイヤまたはその他の下位プロトコル・メッセージを用いて、パケットの受信を局所的に承認する。
周辺デバイスが1つのポートを通じて他のデバイスからパケットを受信した場合、このポートが、例えば、リンク・レイヤまたはその他の下位プロトコルを用いて、パケットの受信を局所的に承認する。このパケットを処理して、パケットがホスト・コンピュータまたは周辺デバイスのどちらに宛てられているのかについて判断する。パケットが周辺デバイスに宛てられている場合、周辺デバイスにおいてパケットを処理する。パケットがホスト・コンピュータに宛てられている場合、周辺デバイスがパケットを処理して1つ以上の新たなパケットを作成し、次いでこれをホスト・コンピュータに転送する。
周辺デバイスが1つのポートを通じてパケットをホストに送った場合、ホストは、リンク・レイヤまたはその他の下位プロトコル・メッセージを用いて、パケットの受信を局所的に承認する。
低位プロトコルを用いたパケットの局所的承認は、他のデバイスまたはホストによるアプリケーション・レベル・メッセージの承認とは異なる。他のデバイスが、周辺デバイスを通じてホストから受信したメッセージに応答する場合、この応答を行うには、AV/Cのようなアプリケーション・レベル・プロトコルを用い、他のデバイスからのメッセージとして処理し、周辺デバイスを通じてホストに宛てる。同様に、ホストが、周辺デバイスを通じて他のデバイスから受信したメッセージに応答する場合、この応答を行うには、AV/Cのようなアプリケーション・レベル・プロトコルを用い、ホストからのメッセージを処理して、周辺デバイスを通じて他のデバイスに宛てる。
また、図6に示すように、2つの周辺デバイスを接続して、同じホストからデータを受信することもできる。即ち、第1周辺デバイス600および第2周辺デバイス610双方が周期的基準信号620を受信する。第1周辺デバイス600は、バス640を通じてホスト630と交信する。第2周辺デバイス610は、同一バス640上の別のノードである。以下に述べるコマンド・プロトコルを用いて、ホスト・コンピュータはこれらの周辺デバイスの一方を選択し、フロー制御メッセージを送らないようにそれに指令する。次いで、ホスト・コンピュータは、他方の周辺デバイスからのフロー制御メッセージのみに回答する。このように、周辺デバイスの双方が、ホスト・プロセッサが送った同じデータ・ストリームから、同期化した出力を得ることができる。
上述の動作モードの各々をサポートするハードウエア例について、図7ないし図10A、図10Bに関連付けてこれより説明する。
図7に示す非圧縮再生モードでは、周辺デバイスは、フレーム・バッファおよびDV圧縮デバイスとして動作する。非圧縮オーディオおよびビデオ・データは、ホスト700上のIEEE−1394トランシーバ706として示すバス・インターフェースによって、IEEE−1394準拠バス704を通じて、周辺デバイス702に送られる。周辺デバイス702上のIEEE−1394トランシーバ708として示すバス・インターフェースは、このデータを受信し、フレーム・バッファを含むメディア・ハブ710にデータを格納する。次に、CCIR656フォーマッタ712によって、ビデオ・データをITU/CCIR656−ビデオ・ストリームとして再フォーマットする。CCIR656フォーマッタ712は、再フォーマットしたデータをDVエンコーダ714およびビデオ・エンコーダ716双方に供給する。I2Sフォーマッタ718は、オーディオ・データをI2Sオーディオ・ストリームに再フォーマットし、オーディオ・エンコーダ720およびDVエンコーダ714双方に移送する。DVエンコーダ714が出力したDVストリームをIEEE−1394フォーマッタ722に供給し、IEEE−1394パケットを生成し、別のIEEE−1394準拠バス726を通じて、別のIEEE−1394トランシーバ724によって出力することができる。
ビデオの再生中に、IEEE−1394準拠バス704を通じてCCIR656フォーマッタ712に供給されるビデオ内におけるフレームの欠落や追加を防止するために、周辺デバイスは、ホスト・コンピュータ700から周辺デバイス702へのデータのフローを制御する。また、このフロー制御によって、周辺デバイスがアナログ・エンコーダ716を用いて同期ビデオ信号を生成し出力することもできる。これは、内部または外部周期的基準信号と同期されている。このフロー制御を実現する通信プロトコルについては、以下で更に詳しく説明する。
図8に示すディジタル・キャプチャ・モードでは、周辺デバイス802はバッファおよびデコーダ双方として動作する。DVのようなディジタル・ビデオおよびオーディオ・データがあるデバイス(図示せず)から受信され、ホスト・コンピュータ800に受け渡され、処理して、ディスク・システムのような、ホスト・プロセッサがアクセスするストレージ・デバイスに格納する。受信データが圧縮されている場合、伸張して出力オーディオおよびビデオ・データを生成し、監視することができる。更に特定すると、図8において、DVのようなデータがIEEE−1394インターフェース806によって受信され、別のIEEE−1394インターフェース808によってバッファされ、バス804を通じてホスト800のIEEE−1394インターフェース810に送られる。
また、受信データは、IEEE−1394デフォーマッタ812によって分解(deformat)し、DVデコーダのようなデコーダ814に入力し、伸張することができる。次いで、伸張したデータをエンコードし、他のデバイスに出力することができる。例えば、伸張データをアナログ・ビデオ・エンコーダ816に入力し、オーディオ・データをオーディオ・エンコーダ818に入力することができる。エンコーダの出力をモニタおよびスピーカに印加すると、キャプチャ・プロセスを監視することができる。アナログ・ビデオ・エンコーダ816上のタイミングはローカル・タイム・ベースから得られ、着信するDVデータに対して非同期であるので、アナログ・エンコーダ816は、着信DVデータ・ストリームの速度がビデオ・エンコーダよりも速いか遅いかによって、ビデオのフレームを繰り返すか、またはビデオのフレームを欠落させることができる。
図9に示すアナログ・キャプチャ・モードでは、周辺デバイス902は入力アナログ・ビデオおよび随伴するオーディオをディジタル・フォーマットに変換し、バス904を通じてディジタル・データをホスト900に転送する。例えば、アナログ・ビデオ・デコーダ906は入力アナログ・ビデオをディジタルITU656−ビデオ・データ・ストリームに変換する。ディジタル・ビデオ・データは、DVエンコーダのような、エンコーダ908に送られ、圧縮される。受信オーディオは、オーディオ・エンコーダ/デコーダ910に接続され、I2Sディジタル・オーディオ・フォーマットに変換される。オーディオ・データもエンコーダ908に供給し、圧縮することができる。また、オーディオ・エンコーダ/デコーダ910は、オーディオ出力を供給し、キャプチャの間オーディオを監視することもできる。また、ビデオ・エンコーダ912もビデオ出力を供給し、キャプチャの間ビデオを監視することができる。エンコーダ908からのエンコード・ビデオ・データは、IEEE−1394フォーマッタ914によってフォーマットする。IEEE−1394フォーマッタ914は、IEEE−1394トランシーバ916として示すバス・インターフェースによる送信のために、エンコード・ビデオ・データの準備を行う。ホストは、IEEE−1394トランシーバ918として示すバス・インターフェースを介して、バス904を通じてデータを受信する。
これらの動作モードを有する周辺デバイスのブロック図を図10Aおよび図10Bに示す。図10Aおよび図10Bでは、周辺デバイス1000は2つの基本モード、キャプチャ・モードおよび再生モードで動作する。キャプチャ・モードでは、DVのようなディジタル・ビデオおよびオーディオ・データを、IEEE−1394準拠インターフェース1002によって受信し、ホスト上の対応するインターフェース1051にIEEE−1394インターフェース1004を介して、ホストに送ることができる。また、アナログ・オーディオおよびビデオを受信し、ディジタル・フォーマットに変換し、インターフェース1004を通じてホストに送ることもできる。再生モードでは、ビデオ・およびオーディオ・データを、インターフェース1004を介してホストから受信し、アナログ・ビデオおよびオーディオとして出力し、あるいはIEEE−1394準拠インターフェース1002を介してディジタル・ビデオおよびオーディオ・データとして出力する。IEEE−1394準拠インターフェース1002は、ポート1045を介して、カメラおよびデッキのような外部デバイスへのインターフェースを設け、一方IEEE−1394準拠インターフェース1004は、ホスト・コンピュータへのインターフェースを設ける。インターフェース1002および1004は、例えば、物理レイヤ・デバイスおよびリンク・レイヤ・デバイスを用いて実施することができる。Texas Instruments社のTSB12LV32リンク・レイヤ・コントローラ、およびTSB41LV01ケーブル・トランシーバ/アービタを用いれば、IEEE−1394バス上で毎秒400メガビットの公称送信を達成することができる。
オーディオ処理用の左右オーディオ入力および出力1040、1041、1042、1043は、オーディオ・エンコーダ/デコーダ1006に入力を供給する。オーディオ・エンコーダ/デコーダ1006は、例えば、32、44.1および48kHzレートをサポートするPhilips社のUDA1345TSを用いて実装することができる。他のレートをサポートする他のチップも使用可能である。キャプチャの間オーディオをビデオにロックさせ続けるには、入力ビデオ・デコーダ1008からオーディオ・クロックを得る。再生または出力では、アナログ・ビデオ・エンコーダ1010からオーディオ・クロックを得る。
エンコーダ1012を介して、ヘッドホン・オーディオ出力1044を設けることもできる。これは、32、44.1および48kHzレートをサポートするPhilips社のUDA1320ATSオーディオ・ディジタル/オーディオ変換器(DAC)を用いて実装することができる。他のレートをサポートする他のチップも使用可能である。ヘッドホンに別個のDACを用いると、主オーディオ出力に影響を及ぼすことなく、ヘッドホンの音量を調節することができる。
周辺デバイス1000は、コンポジットおよびS−Video入力のような入力1046および1047を介して、アナログ・ビデオを受信することができる。これらの入力は、デコーダ1008から受信する。デコーダ1008は、入力信号をディジタル・ビデオ・データに変換する。デコーダ1008は、例えば、NTSC、NTSC−jおよびPALアナログ・ビデオ・フォーマットをサポートする、Philips社のSAA7114Hビデオ・デコーダによって実現することができる。同一または他のフォーマットをサポートする他のデコーダも使用可能である。コンポジットまたはS−Video信号源のいずれかに接続されている場合、このデコーダは、着信アナログ信号を、標準的なITU656YUV4:2:2ディジタル・ビデオ・データ・ストリームに変換する。また、このデコーダは、輝度オフセット制御、輝度コントラスト制御、クロミナンス彩度制御、およびクロミナンス色相制御にも対応する。
また、周辺デバイス1000は、エンコーダ1010が備えているコンポジットおよびS−video出力のような出力1048および1049を介して、アナログ・ビデオを出力することもできる。エンコーダ1010は、例えば、Analog Devices社のADV7176エンコーダによって実現することができる。エンコーダ1010は、YUV4:2:2ディジタル・ビデオ・ストリームおよびリアル・タイム制御ストリーム情報をゲンロック回路1018から受け入れ、メディア・ハブ1028によってバッファし、同期化アナログ・コンポジットおよびS−Video出力を生成する。ADV7176デバイスは、アナログ・ビデオをエンコードし、輝度フィルタ(ロー・パス/ノッチ/拡張)制御、サブキャリア周波数および位相制御、ならびに輝度遅延制御のような、出力ビデオを制御するいくつかの機能を備えている。
また、周辺デバイス1000は、DVコデックのような圧縮/伸張デバイス(コデック)1014も含むことができる。このコデックは、例えば、DVデータ・ストリームの伸張および圧縮双方を行うDivio社のNW701DV25コデックを用いて実現することができる。圧縮では、コデック1014はITU656YUV4:2:2ディジタル・ビデオ・ストリームおよびI2Sオーディオ・ストリームを受け取り、これを圧縮してDV圧縮ビデオ・ストリームを生成する。伸張では、コデック1014はDV圧縮ビデオ・ストリームを受け取り、ITU656YUV4:2:2ディジタル・ビデオ・ストリームおよびI2Sオーディオ・ストリーム双方を生成する。また、NW701コデックは、NTSC(4:1:1)、PAL(4:2:0)、およびPAL(4:1:1)処理も行い、48、44.1および32kHz(12および16ビット)に対するオーディオや、3.0、2.4、1.8、1.5および1.0Mバイト/秒を含む任意の低データ・レート・モードにも対応する。コデック1014は、メモリ1016を用いて、処理の間一時的にデータを格納する。このようなメモリ1016は、例えば、256Kx32DRAMを用いて実現することができる。
また、周辺デバイス1000は、入力1050を介して、周期的基準信号(ゲンロック)も受信することができる、この信号は、ビデオ・ゲンロック・デバイス1018によって受信する。ビデオ・ゲンロック・デバイス1018は、例えば、Philips社のSAA7113デコーダを用いて実現することができる。このデコーダは、NTSC、NTSC−j、およびPALアナログ・ビデオ・フォーマットをサポートする。コンポジット・ゲンロック源に接続されている場合、垂直同期、水平同期、およびカラー・バースト位相情報を抽出して、この情報をメディア・ハブ1028に供給し、ADV7176ビデオ・エンコーダ1010の出力タイミングをゲンロック源にロックするために用いることができる。
周辺デバイス上に制御部を設ければ、個人が入力デコーダおよび出力エンコーダの種々の制御を調節することが可能となり、特に、アナログ・ミューティング(analog muting)およびオーディオ信号の利得レベル調節のために、アナログ・ビデオ信号のレベルを調節することが可能となる。
フレーム・バッファ・コントローラ、サイズ変更部およびデータ・ルータ、ここで呼ぶところの「メディア・ハブ」1028、および随伴するバッファ1030は、周辺デバイス1000に対して4つの基本的機能を設ける。最初に、これらは入力および出力間で非圧縮および圧縮データ・ストリーム双方をバッファする。第2に、これらは、入力、出力、エンコーダおよびデコーダ間でデータ経路を決定する切換または多重化機能を設ける。第3に、これらは着信するIEEE−1394準拠のデータ・ストリームおよびITU−656準拠のビデオ・ストリームを分解する。第4に、これらは出立するIEEE−1394準拠のデータ・ストリームおよびITU−656準拠のビデオ・ストリームをフォーマットする。メディア・ハブ1028は、例えば、SDRAMのようなローカル・メモリをその随伴バッファ1030として有する、フィールド・プログラマブル・ゲート・アレイ(FPGA)を用いて実現することができる。
メディア・ハブ1028の機能は、マイクロコントローラ・サブシステム1020と共に実行する。マイクロコントローラ・サブシステムの主要な機能は、ホストのIEEE−1394準拠インターフェース1004を介して受信したソフトウエア・コマンドにアブストラクション・レイヤを提供すること、およびIEEE−1394準拠インターフェース1002を制御することである。また、マイクロコントローラ・サブシステムは、ビデオおよびオーディオ・エンコーダならびにデコーダ1006、1008、1010、1012および1018の設定や制御の支援を行うことである。マイクロコントローラ・サブシステム1020は、マイクロプロセッサ1022を含む。これは、例えば、Motorola社のMPC5307を用いて実現することができる。マイクロプロセッサ1022は、フラッシュ・メモリ1024およびスタティック・ランダム・アクセス・メモリ1026に格納されている命令に応じて動作する。即ち、Mentor Graphics社の埋め込みシステム部門であり、アラバマ州Mobileに所在する、Accelerated Technology, Inc.のNUCLEUSオペレーティング・システムや、リアル・タイム・カーネルを備えた実際のオペレーティング・システムをマイクロコントローラに設けることができる。
マイクロコントローラの動作についてこれより更に詳しく説明する。マイクロコントローラは、以下で更に詳しく述べるコマンド・プロトコルを通じて、ホストからコマンドを受信する。これらのコマンドによって、ホストは周辺デバイスの動作モードを設定することが可能となる。これらのモードは、入力および出力に予想されるオーディオおよびビデオ・フォーマットの設定を含む。フォーマット・モード設定の例には、ビデオについてはPALおよびNTSC、オーディオについては48KHz、44.1KHzまたはその他のレートが含まれる。これらのモードに対して、ホストはフォーマットをマイクロコントローラに指定することができる。一方、マイクロコントローラは入力および出力デバイスの種々のレジスタを設定して、所望のフォーマットを扱えるようにする。
他のモードは、ホストがデータを周辺デバイスから受信しているのか、またはこれに供給しているのかを示す。モード例の一部には、
−周辺デバイスへのDV入力およびホストへのDV出力
−周辺デバイスへのDV入力およびホストへの非圧縮出力
−周辺デバイスへのコンポジット入力およびホストへのDV出力
−周辺デバイスへのコンポジット入力およびホストへの非圧縮出力
−ホストからの非圧縮入力およびコンポジット出力
−ホストからの非圧縮入力およびDV出力
−ホストからのDV入力およびコンポジット出力
−ホストからのDV入力およびDV出力
が含まれ、しかもこれらに限定される訳ではない。
DVを周辺デバイスに入力し、DVをホスト・コンピュータに出力するモードでは、メディア・ハブ1028がインターフェース1002を介してパケットを受信し、メモリ1030に格納する。パケットがメモリ1030において使用可能になると、メディア・ハブ1028はインターフェース1004に通知する。すると、インターフェース1004はパケットをホストに転送する。このモードでは、デバイスはブリッジとして作用する。
DVを周辺デバイスに出力し、非圧縮データをホスト・コンピュータに出力するモードでは、メディア・ハブ1028がインターフェース1002を介してパケットを受信し、メモリ1030に格納する。1フレームのイメージ・データを受信するまで、パケットをメモリ1030に蓄積することができる。次いで、メディア・ハブ1028はDVコデック1014にメモリ1030からの1フレームのデータをそのメモリ1016に読み込むように指令する。次いで、DVコデックは、非圧縮フレームを生成する。非圧縮フレームは、メモリ1030の別の部分に置かれる。非圧縮フレームがメモリ1030において使用可能になると、メディア・ハブ1028はインターフェース1004に通知する。次いで、インターフェース1004は、画像を多数のパケットとしてホストに転送する。このモードでは、デバイスはブリッジとして作用する。
コンポジット入力を周辺デバイスが受信し、DVをホスト・コンピュータに出力するモードでは、デコーダ1008がディジタル・ビデオ情報を生成し、メディア・ハブ1028がこれをメモリ1030に格納する。1フレームの画像データが既に受信されている場合、メディア・ハブ1028はDVエンコーダ1014にメモリ1030からの1フレームのデータをそのメモリ1016に読み込むように指令する。次いで、DVエンコーダはDVを生成し、データをメモリ1030の別の部分に置く。メディア・ハブ1028は、インターフェース1004に、データが使用可能であることを通知する。次いで、インターフェース1004はDV画像を多数のパケットとしてホストに転送する。
コンポジット入力を周辺デバイスが受信し、非圧縮データをホスト・コンピュータに出力するモードでは、デコーダ1008がディジタル・ビデオ情報を生成し、メディア・ハブ1028がこれをメモリ1030に格納する。画像データを受信すると、メディア・ハブ1028は、インターフェース1004に、データが転送可能であることを指示する。次いで、インターフェース1004は非圧縮データのパケットをホストに転送する。
周辺デバイスがホストから非圧縮データを受信し、コンポジット・アナログ・ビデオ信号を出力するモードでは、メディア・ハブ1028は、インターフェース1004を介して受信したパケットを導き、バッファ1030に格納する。メモリ1030においてデータが使用可能になると、メディア・ハブ1028はデータをエンコーダ1010に導出し、出力する。
周辺デバイスがホストから非圧縮データを受信しDVを他のデバイスに出力するモードでは、メディア・ハブ1028が、インターフェース1004を介して受信したパケットを、バッファ1030に格納する。非圧縮データのフレームがメモリ1030において使用可能になると、メディア・ハブ1028はDVコデック1014に通知し、DVコデック1014はデータをそのバッファ1016に読み込む。次いで、DVコデックはDVを生成し、メモリ1030に格納する。次いで、メディア・ハブ1028は、インターフェース1002に、DVデータが使用可能であることを通知する。インターフェース1002は、データを読み取り、それをパケットとして出力1045を介して転送する。このモードでは、デバイスはブリッジとして作用する。
周辺デバイスがホストからDV入力を受信し、コンポジット・アナログ・ビデオ出力信号を供給するモードでは、インターフェース1004はDVデータのパケットを受信し、メモリ1030に格納する。1フレームのデータが使用可能になると、メディア・ハブ1028はDVコデック1014に通知し、DVコデック1014はデータをそのメモリ1016に読み込む。次いで、DVコデックは非圧縮ビデオ・データを生成し、メモリ1030に格納する。メディア・ハブ1028は、非圧縮ビデオ・データをアナログ・エンコーダ1010に供給し、出力する。
周辺デバイスがホストからDV入力を受信し、DVを他のデバイスに出力するモードでは、インターフェース1004がDVデータのパケットを受信し、メディア・ハブ1028がメモリ1030に格納する。メディア・ハブ1028は、インターフェース1002に、パケットを出力できるときを通知する。次いで、インターフェース1002はメモリ1030からパケットを読み出す。このモードでは、デバイスはブリッジとして作用する。
上述のモードの各々の間、対応するオーディオ入力および出力を得ることができる。また、コンポジットまたはS−Video出力が周辺デバイスから供給され、外部モニタによる監視が可能となる。各デバイス1002、1014および1004は、直接メモリ・アクセス(DMA)エンジンを有し、メモリ1030にアクセスすることもできる。
モードによっては、1/4フレームのサイズで非圧縮ビデオ・データを受信し、出力することもできる。これらのモードでは、メディア・ハブ1028はサイズ変更機能も実行する。
モードによっては、多数の出力を周辺デバイスによって供給することもできる。例えば、周辺デバイスは、ホストからの非圧縮入力を用いて、DV、コンポジットおよびS−videoを出力することができる。DVの代わりに、周辺デバイスはその他のディジタル・ビデオ・フォーマットを、圧縮または非圧縮には係わらず、入力または出力することができる。コンポジットの代わりに、周辺デバイスは、他のアナログ・ビデオ・フォーマットを入力または出力することもできる。また、周辺デバイスによって多数の出力を供給することもできる。この場合、上述のモードからの動作を並行して実行する。
また、周辺デバイスは、メディア・ハブ1028に至るデータ経路に接続したバス・コネクタも含むことができ、そうすると他のデバイスがメディア・ハブに接続し、周辺デバイスを介してオーディオおよびビデオ・データを転送することが可能となる。このバス・コネクタを用いれば、他の処理デバイスが周辺デバイスへのデータ供給および周辺デバイスからのデータ受信の双方を行うことができるようにすることができる。例えば、このようなデバイスは、高品位ビデオ信号を受信し、それを圧縮データ・ストリームに変換し、次いでこれを周辺デバイスに転送し、ホスト・コンピュータに入力することができる。
ホスト・コンピュータと周辺デバイスとの間における通信を制御するための通信プロトコルについて、これより説明する。このプロトコルは、2つの部分、データ・トランスポート・プロトコルおよび制御プロトコルに分けられる。データ・トランスポート・プロトコルは、ビデオ、オーディオのような時間データおよび随伴するメタデータをどのようにしてホスト・システムから周辺デバイスへ、または周辺デバイスからホスト・システムに転送するのかについて規定する。データ・トランスポート・プロトコルは、データ・フォーマットおよび同期規則双方を含む。制御プロトコルは、どのようにホスト・システムが周辺デバイスの状態、モード、および動作パラメータを問い合わせ、制御するかについて規定する。これらのプロトコルについて以下で更に詳しく説明する。
通信プロトコルは、IEEE−1394高速シリアル・ディジタル・バス規格の一部の上に構築され、以下の標準文書に準拠する。IEEE−1394−1995仕様書およびIEEE1394A仕様書。その内容はこの言及により、本願にも含まれることとする。通信プロトコルは、標準IEEE−1394に準拠するハードウエア・バス・コントローラと共に動作するように設計されている。しかしながら、ある種のビデオ・データ・フォーマット(例えば、非圧縮、フル・フレーム、2−フィールド、4:2:2)については、ホストおよび周辺デバイス・コントローラは400Mbデータ・レートをサポートする。
外部デバイス(DVカムコーダおよびVTR等)を制御するために用いられるプロトコルは、AV/C、即ち、オーディオ/ビデオ制御として知られている。仕様およびコマンド・セットは以下の文書において定義されている。その内容はこの言及により本願にも含まれることとする。AV/C Digital Interface Command Set(AV/Cディジタル・インターフェース・コマンド・セット) General Specification (総合仕様書)およびVersion 3.0 AV/C Tape Recorder/Player Subunit Specification, Version 2.1(バージョン3.0AV/Cテープ・レコーダ/プレーヤ・サブユニット仕様書、バージョン2.1)。データ・トランスポート・プロトコルの一例についてこれより更に詳しく説明する。この例では、データ・トランスポート・プロトコルを用いて、IEEE−1394準拠バスを通じてホスト・システムと周辺デバイスとの間でビデオおよびオーディオのストリームを送信する。このプロトコルは十分に柔軟性があるので、メタデータの送信にも拡張可能である。
プロトコルに関する以下の説明では、ホスト・コンピュータをホストと呼び、周辺デバイスをデバイスと呼ぶことにする。使用するモードに応じて、ホストは送信(ディジタル・カット・モード)または受信(キャプチャ・モード)することができる。送信側デバイスのことをトーカ(talker)と呼び、受信側デバイスのことをリスナ(listener)と呼ぶことにする。ホストという用語は、データを送出および受信することができるあらゆるデバイスを示すものと理解することとする。デバイスという用語は、データを送出および受信することができ、更に周期的基準信号の処理も行うあらゆるデバイスを示すものと理解することとする。
データ送信は、データ間隔と呼ばれる周期で行われ、この周期は、時間データを同期させる周期的基準信号のレートに対応する。例えば、周期的基準信号がビデオに対応する場合、データ間隔は、ビデオ・データの画像、通例ではフレームに対応する。フレーム間隔の例には、29.97FPS(NTSC(252線)システム)および25FPS(PAL(625線)システム)が含まれ、しかもこれらには限定されない。
データは、一連の同時ストリームの形態で送信され、その各々が、プロトコルによって定義される一意のストリーム識別子によって識別される。送信中、ストリームは、ビデオ・データにおけるフレーム境界のような、データ間隔に対応するいずれのサンプルにおいても開始および停止することができる。データのストリームは、実際にはデータ間隔に基づいて、セグメントに分解する。IEEE−1394プロトコルの性質のために、各データ・ストリームは、更に、一連の1つ以上のパケットに分割され、所与のデータ間隔中に送信される。
各データ間隔毎に、トーカは、リスナ・デバイスが受け入れるストリームのああゆる組み合わせを送信するように選択することができる。例えば、リスナ・デバイスが2フィールドのビデオおよび2チャネルのオーディオを受け入れることができると仮定すると、トーカはオーディオだけ、またはビデオだけを送ること、または全く何も送らないことを選択することができる。リスナは、ストリームがない場合、デフォルト・アクションを実行する。例えば、オーディオ・チャネルをミュートしている場合に発生するように、1つ以上のオーディオ・ストリームがない場合、リスナはそれらのチャネル上に無音を満たす。オフ・スピード再生(off speed playback)において発生するように、ビデオ・データが省略されている場合、リスナは、それが受信した最後のフレームを繰り返すこともできる。
データ送信は、数種類のパケットを含む。「同期化パケット」は、デバイスからホストに送られ、新たなデータ間隔が始まったことを示す。次いで、トーカはデータを送ることができる。一実施形態では、「プリアンブル・パケット」をトーカから送り、データ間隔中に送信するストリーム、それらを送る順序、そして各ストリームを移送するために用いるパケットの量について、リスナに指示する。次いで、プリアンブルに与えられた情報に基づいて、0個以上の「データ・パケット」がトーカから送られる。その後、トーカは、残りのデータを送るために次のデータ間隔を待つ。例えば、トーカは0個以上の「ヌル・パケット」を送り、次のデータ間隔が開始するまで、IEEE−1394インターフェース上でバス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
プリアンブル、データ、同期、およびヌル・パケットは、IEEE−1394プロトコルのストリーミング・パケット・モードを用いることができる。IEEE−1394仕様書は、2種類のストリーミング・パケット、即ち、等時パケットおよび非同期パケットに対応する(allow for)。両種類について、パケット・フォーマットは同一であり、同じトランザクション・コード(tcode=0xA)を利用する。非同期ストリーム送信は等時送信と似ているが、次のような相違がある。非同期ストリーム・パケットは非同期バス時間中に送信され、一方等時ストリーム・パケットは等時バス間隔中に送信される。非同期ストリーム・パケットは、2048バイトの最大ペイロードに制限されているが、等時ストリーム・パケットは4096バイトも収容することができる。
同期化パケットは、周辺デバイスによって送られ、データ間隔が開始したことを示す。周辺デバイスは、周期的基準信号に応答して同期化パケットを生成する。更に特定すれば、同期化パケットを送るのは、周期的基準信号に対応する各データ間隔の開始においてである。データ間隔の開始を検出するには、例えば、周期的基準信号を監視すればよい。そして、データ間隔の開始を検出したなら、割り込みまたはその他の信号をデバイスのマイクロコントローラに発行するとよい。
非同期パケット(asynchronous packet)としての、同期化パケット(synchronization packet)1100のフォーマット例を図11に示す。これは、ライト要求パケットに対応するフォーマットを有する。斜線のフィールドは、IEEE−1394規格によって定義されているものを示す。「destination_ID」フィールド1102は、パケットを受信することになっているノードの16ビット・アドレスを含む。このフィールドは、destination_bus_ID(上位10ビット)およびdestination_node_ID(下位6ビット)を含む。同期化パケットをローカル・バス上の全ノードにブロードキャストするには、destination_bus_IDを3FFhに設定し、destination_node_IDを3Fhに設定する。「tl」フィールド1104は、トランザクション・ラベルであり、ホストが設定するフィールドである。「rt」フィールド1106は、リトライ・コードであり、パケットが最初の試行(00b)か、または同じコマンドの連続再試行(01bないし11b)かを指定する。「tcode」フィールド1108は、パケットに対して1394トランザクション・コードを指定し、「1h」に設定されていると、このパケットがライト要求パケットであることを示す。「pri」フィールド1110は、IEEE−1394規格における優先権コードを表すが、用いられない。「source_ID」フィールド1112は、パケットを送っているノードのアドレスである。「destination_offset」フィールド1114は、アクセスしている、ターゲット上の48ビット・アドレス位置である。宛先となり得る各位置に、別途特定のレジスタを確保して、同期化パケットを受信する。このフィールド1114は、そのレジスタのアドレスを収容する。「device_status」フィールド1116は、パケットによって送られるデータであり、直前のフレームの受信に関する情報、およびデバイスの総合的ステータスを含む。誤り検出および訂正を可能にするフィールド(「header_CRC」1118)も含ませることができる。
プリアンブル・パケットは、各データ間隔の開始時に、トーカが単一パケットとして送信する。これは、等時パケットとして送信してもよい。このパケットは、データ間隔中に送信されるストリーム、そして各ストリーム毎に予想されるパケットの量について指定する。トーカは、ストリームを送らない場合でも、データ間隔にプリアンブル・パケットを送信する。プリアンブル・パケット1200のフォーマット例を図12に示す。斜線のフィールドは、IEEE−1394規格によって定義されるものを示す。「data_length」フィールド1202は、等時パケットのペイロード部の長さをバイト単位で示す。「tag」フィールド1204は、データがフォーマットされていないことを示す値00bを含む。「channel」フィールド1206は、このパケットの送信のためにトーカおよびリスナに割り当てたチャネルを示す値を含む。「tcode」フィールド1208は、このパケットがストリーミング・パケットであることを示す値1010bを含む。「sy」フィールド1210は、値0001bを含み、このパケットがプリアンブル・パケットであることを示す。「transfer rate」フィールド1212は、ストリーム・データが到達しているときのレートをそのリアル・タイム・レートと比較して示し、1バイトで表される。言い換えると、これは、このフレーム時間に送信するフレームの量を指定する。転送レートの例には、1x、2xおよび4xリアル・タイムがある。「stream count」フィールド1214は、現データ間隔中にフレーム当たり送信するストリーム量を示す符号無し整数である。この値は、1バイトで表される。「transfer rate」フィールドおよび「stream count 」フィールドの積によって指定されるカウントに等しい数のストリーム記述子1216が、このクアドレット(quadlet)に続く。ストリーム記述子のリストは、このデータ間隔中に送信されるストリーム、これらを送信する順序、そしてストリーム毎に用いられるパケット数を指定する。また、プリアンブル・パケットは、誤り検出および訂正を可能にするフィールド(「header_CRC」1218および「data_CRC」1220)も含むことができる。
ストリーム記述子1300のフォーマット例を図13に示す。「stream ID」フィールド1302は、例えば、8ビット符号無し整数を用いて、ストリームの種類を特定する。「packet count」フィールド1304は、例えば、12ビット符号無し整数を用いて、ストリームを送信するために用いるパケット数を指定する。プリアンブルおよびストリーム記述子において「stream-specific-data」と印されているフィールドにおけるビットは、ビデオ・フィールド、ビデオ・フレーム、システムおよび補助ストリームに対して、0に設定されている。各オーディオ・ストリーム毎に、この値は符号無し12ビット整数であり、データ間隔におけるオーディオ・サンプル数を表す。プリアンブルに続くデータ・パケットの総数は、ストリーム記述子リスト内にある「packet count」フィールド全ての合計である。
「stream ID」フィールドのストリーム識別子に対する値の例を図14の表1400に例示する。この例におけるストリーム識別子は、データ自体のフォーマットを指示していない(例えば、非圧縮またはDVまたはJFIF)。代わりに、送信が開始する前に、制御プロトコルを用いてデータのフォーマットを確定する。この表では、各行はストリーム識別子を表す。「値」欄1402は、ストリーム記述子パケット内の「stream ID」として用いられる値を表す。「名称」欄1404および「説明」欄1404は、ストリーム記述子を更に詳しく記述するのに供し、ストリーム識別子を参照するために用いることができる。以下の表は、異なる種類のビデオ・データ、即ち、DV25、DV50、IMXおよび非圧縮データに対するプリアンブルの定義例を示し、各種類毎に記述子のリストを含む。
Figure 0004398445
データ・パケットは、実際のオーディオ、ビデオおよびメタデータを搬送する。データ・パケット1500のフォーマット例を図15に示す。このフォーマットは、非同期パケットまたは等時パケットのいずれにも対応する。このデータ・パケット・フォーマットは、基本的なIEEE−1394ストリーミング・パケットである。単一のストリームについての1フレーム分のデータを、一連のこのフォーマットのパケットに分解する。斜線のフィールドは、IEEE−1394規格によって定義されるものを示す。「data_length」フィールド1502は、パケットのペイロード部1512の長さをバイト単位で含む。「tag」フィールド1504は、データがフォーマットされていないことを示す値00bを含む。「channel」フィールド1506は、このパケットの送信についてトーカおよびリスナに割り当てられたチャネルを示す値を含む。「tcode」フィールド1508は、このパケットがストリーミング・パケットであることを示す値1010bを含む。「sy」フィールド1510は、このパケットがデータ・パケットであることを示す値0000bを含む。また、このデータ・パケットは、誤り検出および訂正を可能にするフィールド(「header_CRC」1514および「data_CRC」1516)を含むこともできる。
データ・パケットのペイロード1512は、等時パケットでは、1ないし1024個のデータ・クアドレット(4バイトのデータを意味する)を含む。1つの非同期パケットには、1ないし512個のデータ・クアドレットがある。一般に、トーカは、あるデータ間隔におけるデータを、同じ固定サイズを有するN個のデータ・パケットにフォーマットし、データ・パケットのペイロードに合わせる。このサイズは、用いる送信モードによって許される最大サイズとすれば、帯域幅を効率的に用いることができる。例えば、IEEE−1394a規格では、この最大値は、2,048または4,096バイトである。データの長さがこの量によって均等に分割可能でない場合、ストリームの終端において短いパケットを生成することも許される。
例えば、NTSC4:2:2YUVフォーマットのビデオ・データの非圧縮フレーム1つ全体を、IEEE−1394の等時モードを用いて送信すると仮定する。このフレームは、2つのフィールドとして送信すると、フィールド当たり(240ライン×720画素×2バイト/画素=)345,600バイトとなる。1つのフィールドを4096バイトのパケットで送る場合、用いるパケット数は、次のように計算する。345,600バイト/フィールド÷4096バイト/パケット=84パケット、余り1536バイトとなり、84個の4096バイト・パケットと、1つの1536バイト・パケットを送信することを示す。
また、メモリ・ページ整合制約がある場合、トーカがストリームの先頭に短いパケットを送信することも許される。例えば、トーカが、4096バイトの境界上で整合されていないホスト・バッファから、あるストリームのためにパケットを発生している場合、ストリーム内の各パケットはページ境界を交差してしまい、直接メモリ・アクセスの性能低下を招く。これを救済するために、トーカは、先頭に短いパケットを発生することができ、残りのパケットを、4096バイトの境界上で整合したバッファから確実に生成することができる。例えば、送信するフィールドのメモリ・バッファがアドレス119403A4Hに位置する場合、次の4096バイト境界はアドレス11941000Hにある。これが意味するのは、次のページ境界までに、119403A4H−11941000H=C5CH、即ち3,164(十進法)バイトあるということである。したがって、最初のバッファは、アドレス119403A4Hから生成する3,164バイトであり、2番目のバッファは、アドレス11941000Hから生成する4,096バイトであり、3番目のバッファはアドレス11942000Hから生成する4,096バイト等となる。
ホストは、未使用の等時サイクルの間はいずれでも、ヌル・パケットを送信してもよい。データ送信中、1つ以上のヌル・パケットを、各データ間隔毎のデータ送信の合間のデータ間隔で送ることができる。ヌル・パケット1600のフォーマット例を図16に示す。このフォーマットは、非同期パケットまたは等時パケットのいずれにも対応する。斜線のフィールドは、IEEE−1394規格によって定義されるものを示す。「data_length」フィールド1602は、値0を含むあらゆる値を含むことができる。data_lengthが0の場合、ペイロード部1614および補正データ1616をパケットから除外する。データ長が0でない場合、ヘッダに続いてダミー・データをペイロード1614に入れ、フィールド1602に指定されている値に対応する数のクアドレットとする。「tag」フィールド1604は、データがフォーマットされていないことを示す値00bを含む。「channel」フィールド1606は、このパケットの送信のためにトーカおよびリスナに割り当てられたチャネルを示す値を含む。「tcode」フィールド1608は、このパケットがストリーミング・パケットであることを示す値1010bを含む。「sy」フィールド1610は、値0000bを含む。このパケットに任意のペイロード部1614がある場合、リスナは無視する。誤り検出および訂正を可能にするフィールド(「header_CRC」1612および「data_CRC」1616)を設けることもできる。
このプロトコルを用いたホストからデバイスへの転送およびデバイスからホストへの転送のためのパケット送信の流れ(sequencing)およびタイミングについてこれより説明する。
先に注記したように、ホストからデバイスにデータを送信するには、ホストおよびデバイスはまず以下に述べる制御プロトコルを用いて通信のパラメータを設定する。ホストは、例えば、ヌル・パケットを送ることによって、データ間隔が開始するのを待つ。これらのヌル・パケットは、デバイスには無視される。次のデータ間隔の開始時に、同期化パケットをデバイスからホストに送り、新たなデータ間隔が開始したことを示す。同期化パケットを受信した後、ホストはデータを送ることができる。一実施形態では、プリアンブル・パケットをホストから送り、このデータ間隔中に送信するストリーム、これらを送る順序、および各ストリームを移送するために用いられるパケットの量をデバイスに指示する。デバイスは、プリアンブル・パケットを処理し、デバイスに該当するパラメータを設定する。次いで、ホストはデータ・パケットを送る。すると、これらのデータ・パケットをデバイスが受信し処理する。このデータ間隔におけるデータを送り終えると、ホストは次のデータ間隔を待つ。例えば、ホストは、次のデータ間隔が開始するまで、ヌル・パケットを送り、バス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
先に注記したように、デバイスからホストにデータを送信するには、まずホストおよびデバイスは以下に述べる制御プロトコルを用いて通信のパラメータを設定する。次いで、ホストは、例えば、ヌル・パケットを送ることによって、データ間隔が開始するのを待つ。これらのヌル・パケットは、デバイスには無視される。次のデータ間隔の開始時に、同期化パケットをデバイスからホストに送り、新たなデータ間隔が開始したことを示す。同期化パケットを送った後、デバイスはデータを送ることができる。一実施形態では、プリアンブル・パケットをデバイスから送り、このデータ間隔中に送信するストリーム、これらを送る順序、および各ストリームを移送するために用いられるパケットの量をホストに指示する。ホストは、プリアンブル・パケットを処理し、該当するパラメータを設定する。次いで、デバイスはデータ・パケットを送る。すると、これらのパケットをホストが受信し処理する。このデータ間隔のデータを送り終えると、デバイスは次のデータ間隔を待つ。例えば、デバイスは、次のデータ間隔が開始するまで、ヌル・パケットを送り、バス・サイクルを満たすことができる。このパケット・シーケンスは、各データ間隔毎に繰り返される。
データ・トランスポート・プロトコルに加えて、制御プロトコルも設ける。制御プロトコルによって、2種類の制御情報を搬送する。即ち、周辺デバイス・ハードウエアのモードおよびパラメータを制御するコマンド(ここでは、「ブレーク・アウト・ボックス(BOB:break-out box)制御」と呼ぶ)、および周辺デバイスのIEEE−1394準拠ポートに取り付けられているDVカムコーダまたはVTRの動作を制御するコマンド(デバイス制御と呼ぶ)である。
BOB制御コマンドは、IEEE−1394プロトコルにおける非同期パケットを用いることができる。デバイス制御コマンドは、AV/Cコマンド・セット、カムコーダおよびVTRを制御するための業界規格を用いることができる。外部デバイスを対象とするAV/Cコマンドは、周辺デバイス・ハードウエアによって直接当該デバイスに転送され、同様に応答がホストに返送される。AV/Cコマンドは、AV/C Digital Interface Command Set General Specification (version 3.0)(AV/Cディジタル・インターフェース・コマンド・セット総合仕様書、バージョン3.0)およびAV/C Tape Recorder/Player Subunit Specification(AV/Cテープ・レコーダ/プレーヤ・サブユニット仕様書)を含む数種類の文書において定義されている。その内容は、この言及により本願にも含まれることとする。このため、デバイス制御コマンドでは、通信プロトコルは既存のIEC61883−1およびIEEE−1394Trade Association AV/C specifications(通商連合AV/C仕様書)に準拠する。周辺デバイスは、ホストおよび外部デバイス間でコマンドおよび応答を中継するが、ホストは外部デバイスと直接対話する。
BOB制御は、ホストおよび周辺デバイス間でIEEE−1394準拠バスを通じて送信されるコマンド・シーケンスを含むコマンド・セットを用いる。各コマンド・シーケンスは、ホストから周辺デバイスに送信するコマンド・フレームを含み、対応する応答フレームを周辺デバイスからホストに送信する。コマンド・フレームは、コマンド・コードおよび任意のパラメータを含む。応答フレームは、成功コード、およびコマンドによって要求される任意のデータ値を含む。
IEEE−1394プロトコルを用いる場合、「1h」の「tcode」を有するライト・データ・ブロック要求フォーマット・パケットを用いる。パケットが指定する宛先オフセットは、このプロトコルにおいてコマンドや応答を受信するために指定されたレジスタを示す。このようなパケットのペイロードは1024バイトまで含む。ペイロードの最初の2バイトは、このパケットがBOB制御コマンドまたは応答を含むことを表す値を含む。次の2バイトは、パケット長を示す。更に2バイトが、コマンドのパラメータ、コマンドのステータス、またはその他の情報のような情報を与える。追加の1バイトが確保されている。ペイロードの最後のバイトは、ステータス情報を搬送し、パケットがコマンドの一部なのかまたは応答の一部なのか、そして単一パケット・コマンドの一部なのかまたは多パケット・コマンドの一部なのかについて、判定を行う。
BOB制御によって、ホストは周辺デバイスのモード、ステータスおよびパラメータの制御および問い合わせを行うことが可能になる。種々のコマンドは、周辺デバイスの実施態様、そのモードならびにステータス情報および制御設定値に使用可能なレジスタに左右される。同じバスおよび同じ周期的基準信号に接続されている多数のデバイスの動作を簡略化するために、BOB制御プロトコルは、周期的基準信号が規定するフレーム境界に応答してフロー制御メッセージを送らないように周辺デバイスに命令するコマンドを考慮するとよい。
以上、ホストおよびデバイス間で転送されるデータのフロー制御を可能とし、周期的基準信号に対する同期を達成可能な、シリアル・バスを通じたデバイスおよびホスト間の通信のためのデバイスおよび通信プロトコルの例について説明した。このプロトコルは、周辺デバイスおよびホスト・コンピュータ間でフロー制御メッセージを転送し、周辺デバイスに、ホスト・コンピュータがどのように非圧縮オーディオおよびビデオ・データを送るのか制御することを可能にする。オーディオおよびビデオ・データは、別個のストリームとして送ることもできる。IEEE−1394プロトコルを用いる場合、フロー制御メッセージを送るには非同期プロトコルを用いるが、非圧縮ビデオおよびオーディオ・データを送るには等時プロトコルを用いる。
更に、非圧縮ビデオおよびオーディオ・データの別個のストリームをホスト・コンピュータからシリアル・バスを通じて周辺デバイスに転送し、周辺デバイスが、データをDVやMGPEGのような標準的フォーマットにエンコードしたり、アナログ・ビデオ信号を生成するといような処理を行う。標準的フォーマット・データのデコードは、このようなアナログ・ビデオ信号を生成するには不要であるため、処理が少なくなる。更に、ホスト・コンピュータを用いてディジタル・ビデオおよびオーディオ・データを処理し、オーディオビジュアル・プログラムを編集する場合、ホスト・コンピュータ上の資源を、ビデオ・データをエンコードするためには用いない。したがって、ホスト・コンピュータを、ビデオおよびオーディオ・データの一層創造的な動作に用いることが可能となる。また、周辺デバイスは、標準的なプロトコルを用いて、標準的なバスを通じて標準的なフォーマット・データを出力することもできる。例えば、周辺デバイスは、非圧縮オーディオ・ビデオ・データからDVフォーマット・データを生成し、このDVフォーマット・データを、標準的なDVトランスポート・プロトコルを用いて、IEEE−1394準拠のシリアル・バスを通じて出力することができる。
また、周辺デバイスを用いると、当該周辺デバイスに接続されているトランスコーダのような他のデバイスの出力を、IEEE−1394準拠バスのようなシリアル・バスを通じて、周辺デバイスが受信する周期的基準信号に同期させることができる。例えば、周辺デバイスは、ホスト・コンピュータから受信した非圧縮オーディオおよびビデオ・データのDVエンコードを実行することができる。次いで、周辺デバイスは、標準的なプロトコルを用いて、このDVフォーマット・データを、シリアル・バスを通じて別のデバイスに転送する。この別のトランスコーダの動作は、周辺デバイスに供給される周期的基準信号に同期結合することもできる。
ホストは、オーディオ・ビデオ・ストリームを周辺デバイスに転送する間に、周辺デバイスからオーディオのストリームを受信するように構成することもできる。このようなオーディオ・ストリームがあるとすれば、オーディオのダビングまたはパンチ・イン(punch-in)を実施するために用いられる周辺デバイスを介して受信するデータであろう。この実施形態では、オーディオ・ビデオ・ストリームをホストから周辺デバイスに等時パケットのストリームとして送る。ダビングまたはパンチ・インのためのオーディオ・データは、周辺デバイスからホストへ非同期パケットのストリームとして送る。周辺デバイスは、オーディオ・ストリームを、受信したオーディオ・ビデオ・ストリームと混合し、終わりまで通して再生するか、または他のデバイスに出力する。
例えば、図10Aおよび図10Bを参照すると、オーディオ・コデック1006は入力オーディオを(1040、1041において)受信し、ディジタル・オーディオ・データを生成してメディア・ハブ1028に格納する。その間、IEEE−1394インターフェース1004は、オーディオ・ビデオ・データ・ストリームを受信し、これをメディア・ハブ1028に供給する。1フレームのデータを受信した後、メディア・ハブ1028は、コデック1006およびインターフェース1004から受信したオーディオ・データを混合し、混合データをコデック1006およびヘッドホンDAC1012に出力し、オーディオ出力を生成する。マイクロプロセッサ1022には、メディア・ハブ1028から周期的にオーディオ・データを検索し、このデータを多数の非同期パケットとしてインターフェース1051を介してホストに送るように命令する。
また、ここに記載したホスト・コンピュータおよび周辺デバイスは、バスに接続され時間データを周期的基準信号と同期して伝達するのであれば、あらゆる形式の発信側および受信側としてもよいことは言うまでもない。
また、ホスト・コンピュータは、コンピュータ読み取り可能媒体上にコンピュータ・プログラム命令を格納し、ホスト・コンピュータに実行させると、ホスト・コンピュータに、当該ホスト・コンピュータから周辺デバイスにデータを転送させるか、またはホスト・コンピュータに周辺デバイスからデータを受信させるようにしてもよいことも言うまでもない。同様に、デバイス上のコントローラ1020(図10Aおよび図10B)も、格納されているコンピュータ・プログラム命令にアクセスし、種々の動作をデバイスに実行させることもできる。
以上実施形態の一例について説明したが、前述のことは単なる例示であって限定ではなく、一例として提示したに過ぎないことは当業者には明白なはずである。種々の変更やその他の実施形態も当業者の範囲内のことであり、本発明の範囲に該当すると見なすこととする。
図1は、ホスト・コンピュータを周辺デバイスに接続したシステムのブロック図である。 図2は、他のビデオ・デバイスと同期させた周辺デバイスにホスト・コンピュータを接続したシステムのブロック図である。 図3は、図1におけるような周辺デバイスの動作モードを更に詳細に示すブロック図である。 図4は、図1および図2におけるような周辺デバイスの別の動作モードを更に詳細に示すブロック図である。 図5は、図1および図2におけるような周辺デバイスの別の動作モードを更に詳細に示すブロック図である。 図6は、2つの周辺デバイスを用い、双方共データをホスト・コンピュータから受信する場合の動作モードのブロック図である。 図7は、図3に示す動作モードに対する周辺デバイスのブロック図である。 図8は、図4に示す動作モードに対する周辺デバイスのブロック図である。 図9は、図5に示す動作モードに対する周辺デバイスのブロック図である。 図10Aは、図7ないし図9に示した動作モードを組み込んだ周辺デバイスを更に詳細に示すブロック図である。 図10Bは、図7ないし図9に示した動作モードを組み込んだ周辺デバイスを更に詳細に示すブロック図である。 図11は、同期化パケットのフォーマット例を示す図である。 図12は、プリアンブル・パケットのフォーマット例を示す図である。 図13は、ストリーム記述子のフォーマット例を示す図である。 図14は、ストリーム識別子の表である。 図15は、データ・パケットのフォーマット例を示す図である。 図16は、ヌル・パケットのフォーマット例を示す図である。
符号の説明
100 ホスト・コンピュータ
102 周辺デバイス
104 バス
200 コンピュータ
202 周辺デバイス
204 バス
212 他の周辺デバイス
300 ホスト・システム
302 周辺デバイス
304 バス
400 ホスト・コンピュータ
402 周辺デバイス
404 バス
500 ホスト
502 周辺デバイス
504 バス
506、508、510 入力源
600 第1周辺デバイス
610 第2周辺デバイス
630 ホスト
640 バス
700 ホスト
702 周辺デバイス
704 IEEE−1394準拠バス
706 IEEE−1394トランシーバ
708 IEEE−1394トランシーバ
710 メディア・ハブ
712 CCIR656フォーマッタ
714 DVエンコーダ
716 ビデオ・エンコーダ
718 I2Sフォーマッタ
720 オーディオ・エンコーダ
722 IEEE−1394フォーマッタ
726 IEEE−1394準拠バス
800 ホスト・コンピュータ
802 周辺デバイス
804 バス
806 IEEE−1394インターフェース
808 IEEE−1394インターフェース
810 IEEE−1394インターフェース
812 IEEE−1394デフォーマッタ
814 デコーダ
816 アナログ・ビデオ・エンコーダ
818 オーディオ・エンコーダ
900 ホスト
902 周辺デバイス
904 バス
906 アナログ・ビデオ・デコーダ
908 エンコーダ
910 オーディオ・エンコーダ/デコーダ
912 ビデオ・エンコーダ
914 IEEE−1394フォーマッタ914
916 IEEE−1394トランシーバ
918 IEEE−1394トランシーバ
1000 周辺デバイス
1002 IEEE−準拠インターフェース
1004 IEEE−1394インターフェース
1006 オーディオ・エンコーダ/デコーダ
1008 入力ビデオ・デコーダ
1010 アナログ・ビデオ・エンコーダ
1012 エンコーダ
1014 圧縮/伸張デバイス(コデック)
1016 メモリ
1018 ゲンロック回路
1020 マイクロコントローラ・サブシステム
1022 マイクロプロセッサ
1024 フラッシュ・メモリ
1026 スタティック・ランダム・アクセス・メモリ
1028 メディア・ハブ
1030 バッファ
1051 インターフェース
1100 同期化パケット
1102 destination_IDフィールド
1104 tlフィールド
1106 rtフィールド
1108 tcodeフィールド
1110 priフィールド
1112 source_IDフィールド
1114 destination_offsetフィールド
1116 device_statusフィールド
1118 header_CRCフィールド
1200 プリアンブル・パケット
1202 data_lengthフィールド
1204 tagフィールド
1206 channelフィールド
1208 tcodeフィールド
1210 syフィールド
1212 transfer rateフィールド
1214 stream countフィールド
1216 ストリーム記述子
1218 header_CRCフィールド
1220 data_CRCフィールド
1300 ストリーム記述子
1302 stream IDフィールド
1304 packet countフィールド
1402 値欄
1404 名称欄
1406 説明欄
1500 データ・パケット
1502 data_lengthフィールド
1504 tagフィールド
1506 channelフィールド
1508 tcodeフィールド
1510 syフィールド
1512 ペイロード部
1514 header_CRCフィールド
1516 data_CRCフィールド
1600 ヌル・パケット
1602 data_lengthフィールド
1604 tagフィールド
1606 channelフィールド
1608 tcodeフィールド
1610 syフィールド
1612 header_CRCフィールド
1614 ペイロード部
1616 data_CRCフィールド

Claims (22)

  1. バスを通じて第1デバイスから第2デバイスにデータを転送する方法であって、該方法が、前記第2デバイスが処理する周期的基準信号によって規定される各データ間隔の間に前記第2デバイスによって実行され、前記方法が
    前記周期的基準信号に応答して、前記データ間隔の間に前記バスを通じて前記第1デバイスに同期化パケットを送るステップと、
    前記第1デバイスによる前記同期化パケットの受信後に、前記第1デバイスから前記バスを通じて複数のパケットを受信するステップであって、前記複数のパケットが前記データ間隔に対するデータを含み、前記複数のパケットが、送るべきデータ・パケットの数を示すプリアンブル・パケットと1つ以上のデータ・パケットとを含む、ステップと、
    前記周期的基準信号が規定する各データ間隔の間に、前記送るステップおよび受信するステップを繰り返すステップと、
    を備えた方法。
  2. 請求項記載の方法において、前記データが、複数のデータ・ストリームを含み、前記プリアンブル・パケットが、前記間隔中に送信するストリーム、当該データ・ストリームの送信順序、および各ストリームに用いるパケットの数を示す方法。
  3. 請求項記載の方法において、前記複数のパケットが、更に、前記1つ以上のデータ・パケットの後に、前記データ間隔の残り部分のために、0個以上のヌル・パケットを含む、方法。
  4. 請求項記載の方法において、データ・パケットがビデオ・データ・パケットを含む、方法。
  5. 請求項記載の方法において、データ・パケットがオーディオ・データ・パケットを含む、方法。
  6. 請求項記載の方法において、データ・パケットがビデオおよびオーディオ・データ・パケットを含む、方法。
  7. 請求項1記載の方法において、前記データ間隔が1フレームのビデオ・データに対応する方法。
  8. 請求項1記載の方法において、前記データ間隔が1フィールドのビデオ・データに対応する方法。
  9. 請求項1記載の方法において、前記バスがシリアル・バスである方法。
  10. 請求項記載の方法において、前記シリアル・バスがIEEE−1394準拠バスである方法。
  11. 請求項10記載の方法において、前記同期化パケットが非同期パケットである方法。
  12. 請求項10記載の方法において、前記複数のパケットが等時パケットである方法。
  13. 請求項1記載の方法において、前記周期的基準信号を前記第2デバイスが受信する方法。
  14. 請求項1記載の方法において、前記周期的基準信号を前記第2デバイスが生成する方法。
  15. 請求項1記載の方法であって、更に、
    前記第1デバイスから、前記データの転送を開始するコマンドを受信するステップと、
    第1データ間隔に対する第1同期化パケットを前記第2デバイスが送るまで、前記第1デバイスから、前記バスを通じて0個以上のヌル・パケットを受信するステップと、
    を含方法。
  16. 請求項1記載の方法であって、更に、
    前記第2デバイスにおいて、前記データをバッファに受信するステップと、
    前記周期的基準データと同期して、前記第2デバイスから前記データを出力するステップと、
    を含方法。
  17. 請求項16記載の方法において、前記データを出力するステップが、アナログ・ビデオ信号をエンコードし出力するステップを含む方法。
  18. 請求項16記載の方法において、前記出力するステップが、DVフォーマットのビデオ・データを生成するステップを含む方法。
  19. バスを通じてデータ源に接続するデバイスであって、
    前記バスを通じて、前記データ源にパケットを送信し前記データ源からパケットを受信するバス・インターフェースと、
    複数のデータ間隔を規定する周期的基準信号に関係する信号を受信する入力を有し、更に、前記バス・インターフェースに命令を与えて、前記周期的基準信号に応答して各データ間隔の間に前記バスを通じて前記データ源に同期化パケットを送らせる出力を有するコントローラと、
    前記データ源の前記同期化パケットの受信後に、前記データ源から前記バスを通じて、前記バス・インターフェースを介して受信した複数のパケットから、前記データ間隔に対するデータを受信するように接続されバッファであって、前記複数のパケットが、送るべきデータ・パケットの数を示すプリアンブル・パケットと1つ以上のデータ・パケットとを含む、バッファと、
    を備えデバイス。
  20. バスを通じホスト・コンピュータから周辺デバイスにデータを転送する方法であっ周期的基準信号が規定する各データ間隔の間に前記ホスト・コンピュータにより実行される前記の方法を、前記ホスト・コンピュータに実行させる、コンピュータ・プログラムであって、前記方法が、
    前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
    前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスに複数のパケットを送るステップであって、前記複数のパケットが前記データ間隔に対するデータを含み、前記複数のパケットが、送るべきデータ・パケットの数を示すプリアンブル・パケットと1つ以上のデータ・パケットとを含む、ステップと、
    前記データ間隔に対する前記複数のパケットを送った後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと
    を備えた、コンピュータ・プログラム製品。
  21. バスを通じて周辺デバイスからホスト・コンピュータにデータを転送する方法ホストコンピュータに実行させるコンピュータ・プログラムであって、前記方法が、
    前記周辺デバイスが処理する周期的基準信号が規定する各データ間隔の間に、
    前記バスを通じて前記周辺デバイスから前記データ間隔に対する同期化パケットを受信するステップと、
    前記同期化パケットを受信した後、前記バスを通じて前記周辺デバイスから複数のパケットを受信するステップであって、前記複数のパケットが前記データ間隔に対するデータを含み、前記複数のパケットが、送るべきデータ・パケットの数を示すプリアンブル・パケットと1つ以上のデータ・パケットとを含む、ステップと、
    前記複数のパケットを受信した後、前記バスを通じて前記周辺デバイスから後続のデータ間隔に対する同期化パケットを受信するまで待つステップと、
    を備えたコンピュータ・プログラム製品。
  22. ホスト・コンピュータと、
    バスを通じて前記ホスト・コンピュータに接続され周辺デバイスと、
    を備えたシステムであって
    前記周辺デバイスが、周期的基準信号に応じて各データ間隔の間に、前記バスを通じて前記ホスト・コンピュータに同期化パケットを送る手段を備えており、
    前記ホスト・コンピュータが、
    前記同期化パケットの受信後に、前記バスを通じて前記周辺デバイスに複数のパケットを送る手段であって、前記複数のパケットが、前記データ間隔に対するデータを含み、前記複数のパケットが、送るべきデータ・パケットの数を示すプリアンブル・パケットと1つ以上のデータ・パケットとを含む、手段と、
    前記データ間隔に対する前記複数のパケットを送った後に動作して、後続のデータ間隔に対する同期化パケットを受信するまで待つ手段と
    を備えた、システム。
JP2006227067A 2002-11-01 2006-08-23 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル Expired - Fee Related JP4398445B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/286,215 US7949777B2 (en) 2002-11-01 2002-11-01 Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003374029A Division JP2004159326A (ja) 2002-11-01 2003-11-04 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル

Publications (2)

Publication Number Publication Date
JP2006314146A JP2006314146A (ja) 2006-11-16
JP4398445B2 true JP4398445B2 (ja) 2010-01-13

Family

ID=32093578

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003374029A Withdrawn JP2004159326A (ja) 2002-11-01 2003-11-04 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル
JP2006227067A Expired - Fee Related JP4398445B2 (ja) 2002-11-01 2006-08-23 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003374029A Withdrawn JP2004159326A (ja) 2002-11-01 2003-11-04 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル

Country Status (5)

Country Link
US (2) US7949777B2 (ja)
EP (1) EP1416687B1 (ja)
JP (2) JP2004159326A (ja)
CA (1) CA2446513C (ja)
DE (1) DE60307200T2 (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US7949777B2 (en) * 2002-11-01 2011-05-24 Avid Technology, Inc. Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal
KR100556357B1 (ko) * 2002-12-04 2006-03-03 엘지전자 주식회사 디지털 비디오 포맷을 지원하는 엠펙 비디오 디코딩 시스템
US20060146853A1 (en) * 2004-12-30 2006-07-06 Nokia Corporation System and method for sending related data over a digital broadcast system
US8707373B2 (en) * 2003-05-14 2014-04-22 The Directv Group, Inc. Method and system for providing digital video distribution
WO2004110021A2 (en) 2003-06-02 2004-12-16 Qualcomm Incorporated Generating and implementing a signal protocol and interface for higher data rates
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US7415017B2 (en) * 2003-07-18 2008-08-19 Leahy T Liam Security through manipulation of virtual topography
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
JP4035824B2 (ja) * 2003-07-30 2008-01-23 ソニー株式会社 編集装置
AU2004300958A1 (en) * 2003-08-13 2005-02-24 Qualcomm, Incorporated A signal interface for higher data rates
EP1665730B1 (en) 2003-09-10 2009-03-04 Qualcomm Incorporated High data rate interface
US8694652B2 (en) 2003-10-15 2014-04-08 Qualcomm Incorporated Method, system and computer program for adding a field to a client capability packet sent from a client to a host
US8756294B2 (en) 2003-10-29 2014-06-17 Qualcomm Incorporated High data rate interface
CA2545817C (en) 2003-11-12 2011-11-29 Qualcomm Incorporated High data rate interface with improved link control
US20050104873A1 (en) * 2003-11-14 2005-05-19 Mallinath Hatti Last frame repeat
US8687658B2 (en) 2003-11-25 2014-04-01 Qualcomm Incorporated High data rate interface with improved link synchronization
EP2247075A1 (en) 2003-12-08 2010-11-03 QUALCOMM Incorporated High data rate interface with improved link synchronization
EP2375677B1 (en) 2004-03-10 2013-05-29 Qualcomm Incorporated High data rate interface apparatus and method
EP1735986B1 (en) 2004-03-17 2013-05-22 Qualcomm, Incorporated High data rate interface apparatus and method
WO2005096594A1 (en) 2004-03-24 2005-10-13 Qualcomm Incorporated High data rate interface apparatus and method
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8024055B1 (en) 2004-05-15 2011-09-20 Sonos, Inc. Method and system for controlling amplifiers
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
AU2005253592B2 (en) 2004-06-04 2009-02-05 Qualcomm Incorporated High data rate interface apparatus and method
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7792152B1 (en) 2004-06-08 2010-09-07 Owlink Technology, Inc. Scheme for transmitting video and audio data of variable formats over a serial link of a fixed data rate
US7613615B1 (en) * 2004-06-17 2009-11-03 Magnum Semiconductor, Inc. Circuits, systems, and methods for real-time de-shuffling of shuffled audio data
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8667363B2 (en) * 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US20060132577A1 (en) * 2004-12-04 2006-06-22 Hon Hai Precision Industry Co., Ltd. Circuit topology for high-speed printed circuit board
US7515585B2 (en) * 2005-01-21 2009-04-07 Ixia Data communication optimization
US20060227775A1 (en) * 2005-04-12 2006-10-12 Arul Thangaraj System, method, and apparatus for embedding personal video recorder functions in transport packets
US7631097B2 (en) * 2005-07-21 2009-12-08 National Instruments Corporation Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark
KR20070048025A (ko) * 2005-11-03 2007-05-08 삼성전자주식회사 멀티미디어 데이터를 출력하는 장치 및 방법
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US20070286107A1 (en) * 2006-06-12 2007-12-13 Harkirat Singh System and method for wireless communication of uncompressed video having multiple destination aggregation (MDA)
US8078762B2 (en) 2006-06-14 2011-12-13 Continental Teves Ag & Co. Ohg Method for transmitting measured data, and sensor device
US8332518B2 (en) 2006-08-14 2012-12-11 Intersil Americas Inc. Bidirectional communication protocol between a serializer and a deserializer
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US20080155230A1 (en) * 2006-12-21 2008-06-26 General Instrument Corporation Method and System for Providing Simultaneous Transcoding of Multi-Media Data
US8451860B2 (en) * 2007-02-08 2013-05-28 The Boeing Company Low-weight hybrid deterministic highspeed data bus
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP5088281B2 (ja) * 2008-09-19 2012-12-05 沖電気工業株式会社 パケット同期切替方法及びゲートウェイ装置
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
EP2341445B1 (en) * 2009-12-30 2017-09-06 Intel Deutschland GmbH Method for high speed data transfer
US9104252B2 (en) * 2010-02-12 2015-08-11 Microsoft Technology Licensing, Llc Assignment of control of peripherals of a computing device
TWI480731B (zh) * 2010-06-30 2015-04-11 Insyde Software Corp 轉接裝置及經由該轉接裝置之除錯方法
US8848054B2 (en) * 2010-07-29 2014-09-30 Crestron Electronics Inc. Presentation capture with automatically configurable output
US8832345B2 (en) * 2010-08-24 2014-09-09 Belkin International, Inc. System for communicating between two electrical devices and method therefore
DK3522541T3 (da) * 2011-01-19 2021-05-31 Samsung Electronics Co Ltd Apparat og fremgangsmåde til modtagelse af en styremeddelelse i et radiofonisystem
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US8938312B2 (en) 2011-04-18 2015-01-20 Sonos, Inc. Smart line-in processing
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
CA3070431C (en) 2011-10-13 2023-01-24 Samsung Electronics Co., Ltd. Apparatus and method for configuring control message in broadcasting system
US20130110900A1 (en) * 2011-10-28 2013-05-02 Comcast Cable Communications, Llc System and method for controlling and consuming content
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9462485B2 (en) * 2012-03-19 2016-10-04 Telefonaktiebolaget L M Ericsson Null-data packet throughput system and method
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9049470B2 (en) * 2012-07-31 2015-06-02 Google Technology Holdings LLC Display aware transcoder source selection system
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US20140365687A1 (en) * 2013-06-05 2014-12-11 Kabushiki Kaisha Toshiba Display Apparatus and USB Host
US9244516B2 (en) 2013-09-30 2016-01-26 Sonos, Inc. Media playback system using standby mode in a mesh network
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
WO2016119793A1 (en) * 2015-01-28 2016-08-04 Dynastrom Aps Synchronization in audio playback network independent of system clock
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US20210195282A1 (en) * 2017-11-09 2021-06-24 Luxi Electronics Corp. XDI Systems, Devices, Connectors and Methods
US10896106B2 (en) 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
US11095467B2 (en) 2019-08-16 2021-08-17 Logitech Europe S.A. Video conference system
US11038704B2 (en) * 2019-08-16 2021-06-15 Logitech Europe S.A. Video conference system
US11258982B2 (en) 2019-08-16 2022-02-22 Logitech Europe S.A. Video conference system
US11088861B2 (en) 2019-08-16 2021-08-10 Logitech Europe S.A. Video conference system
CN112363479B (zh) * 2020-12-09 2022-04-08 南昌航空大学 一种现场设备间的数字通信传输方法及系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241382A (en) * 1992-04-25 1993-08-31 General Instrument Corporation Digital HDTV data packet format and receiver therefor
DE69525556T2 (de) 1994-03-21 2002-09-12 Avid Technology Inc Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung
KR0178766B1 (ko) * 1996-09-02 1999-05-15 삼성전자주식회사 압축되지 않은 디지탈데이타의 전송기능을 갖는 디지탈 인터페이스 장치
JPH10254811A (ja) * 1997-03-12 1998-09-25 Sony Corp 電子機器制御装置および方法
DE69729068T2 (de) 1997-04-15 2004-09-16 Samsung Electronics Co., Ltd., Suwon Vorrichtung und Verfahren zum Übertragen von digitalen Audio- und Videodaten
US6233253B1 (en) 1997-05-23 2001-05-15 Thomson Licensing S.A. System for digital data format conversion and bit stream generation
US6105083A (en) * 1997-06-20 2000-08-15 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
US6418150B1 (en) 1998-02-20 2002-07-09 Apple Computer, Inc. Method and apparatus for calibrating an IEEE-1394 cycle master
US6055587A (en) * 1998-03-27 2000-04-25 Adaptec, Inc, Integrated circuit SCSI I/O cell having signal assertion edge triggered timed glitch filter that defines a strobe masking period to protect the contents of data latches
US20030133448A1 (en) 1998-04-03 2003-07-17 Craig R. Frink Packet protocol for encoding and decoding video data and data flow signals and devices for implementing the packet protocol
US6134607A (en) 1998-04-03 2000-10-17 Avid Technology, Inc. Method and apparatus for controlling data flow between devices connected by a memory
US6229576B1 (en) 1998-04-03 2001-05-08 Avid Technology, Inc. Editing system with router for connection to HDTV circuitry
US6141691A (en) * 1998-04-03 2000-10-31 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
JP3964543B2 (ja) 1998-06-01 2007-08-22 エルベックスビデオ株式会社 光ファイバの接続方法及び送信装置または受信装置並びに光ファイバシステム
DE19914838A1 (de) 1999-04-01 2000-10-05 Thomson Brandt Gmbh Verfahren zum Zusammenstellen von Buspaketen für die Isochrondatenübertragung über einen Datenbus sowie Vorrichtung zur Durchführung des Verfahrens
JP3424620B2 (ja) * 1999-09-24 2003-07-07 日本電気株式会社 アイソクロナスパケット転送方法,該転送用制御プログラムの記録媒体,ブリッジ及びパケット転送制御lsi
US6754185B1 (en) 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
JP2004538667A (ja) 1999-10-05 2004-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 等時性サービスへのサポートを有する分散型ワイヤレス媒体アクセス制御プロトコル
US6816510B1 (en) 2000-02-09 2004-11-09 Koninklijke Philips Electronics N.V. Method for clock synchronization between nodes in a packet network
JP2001230821A (ja) * 2000-02-16 2001-08-24 Sony Corp データ中継装置および方法、並びに提供媒体
JP2001230750A (ja) 2000-02-17 2001-08-24 Matsushita Electric Ind Co Ltd ストリーム送信装置とその受信装置、及び基本周波数同期方法
US6522649B1 (en) 2000-04-07 2003-02-18 Omneon Video Networks Method of distributing video reference signals as isochronous network packets
US6665450B1 (en) 2000-09-08 2003-12-16 Avid Technology, Inc. Interpolation of a sequence of images using motion analysis
US6704579B2 (en) * 2001-02-15 2004-03-09 Ensemble Communications System and method of automatically calibrating the gain for a distributed wireless communication system
US7046670B2 (en) 2001-03-30 2006-05-16 Sony Corporation Method and system for synchronizing isochronous data on transmit over the IEEE 1394 bus from content unaware devices
US7545957B2 (en) 2001-04-20 2009-06-09 Avid Technology, Inc. Analyzing motion of characteristics in images
US7161978B2 (en) * 2001-08-29 2007-01-09 Texas Instruments Incorporated Transmit and receive window synchronization
EP1434382B2 (en) * 2001-10-02 2017-10-04 Hitachi, Ltd. Serial data transferring apparatus
US7103006B2 (en) * 2002-05-01 2006-09-05 International Business Machines Corporation Method, system, and article of manufacture for data transmission
US7949777B2 (en) 2002-11-01 2011-05-24 Avid Technology, Inc. Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal

Also Published As

Publication number Publication date
US20040086000A1 (en) 2004-05-06
DE60307200D1 (de) 2006-09-14
CA2446513C (en) 2010-08-31
DE60307200T2 (de) 2007-10-18
US7949777B2 (en) 2011-05-24
US8656045B2 (en) 2014-02-18
EP1416687B1 (en) 2006-08-02
US20110213905A1 (en) 2011-09-01
JP2004159326A (ja) 2004-06-03
JP2006314146A (ja) 2006-11-16
CA2446513A1 (en) 2004-05-01
EP1416687A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
JP4398445B2 (ja) 周期的基準信号を用いてデバイス間で同期してバスを通じた時間データの転送を制御するための通信プロトコル
US6593937B2 (en) Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US6501441B1 (en) Method of and apparatus for partitioning, scaling and displaying video and/or graphics across several display devices
JP2002344898A (ja) 映像表示装置、音声調整装置及び映像音声出力装置、並びに映像音声同期方法
US20030014760A1 (en) Reproduced image transmitting apparatus
JPH08279818A (ja) ディジタルインターフェース装置及びディジタルインターフェース方法
JP3504216B2 (ja) デジタルインターフェースを利用した音声ストリーム送受信装置及び方法
JP3912841B2 (ja) データ通信装置
JP3412688B2 (ja) 伝送路間のブリッジシステム及び方法
JP2001359071A (ja) データ配信装置及び方法、データ配信システム
KR20000057102A (ko) 데이터 송수신 방법, 전자 기기, 및 데이터 송수신프로그램 공급 매체
US20060056439A1 (en) Data transfer method and device
JP2004088480A (ja) 撮像装置及びそのデータ伝送制御方法
JP2006019997A (ja) 動画データ転送システム
JP2000316015A (ja) 記録再生装置
JP2004180233A (ja) 受信再生装置、媒体及び情報集合体
JP3985010B2 (ja) データ通信装置
JP2004056764A (ja) データ転送方法および装置
US20020048447A1 (en) Reproduction apparatus, reproduction method, image processing apparatus, and image processing method
JPH11355713A (ja) データ処理装置、データ処理方法、および提供媒体
JP2001285891A (ja) 信号変換装置
JP2001217719A (ja) データ送信装置、データ受信装置並びにデータ伝送システム
JP2000067513A (ja) ディジタル信号処理装置と記録装置及び再生装置
JP2002111687A (ja) 通信システムおよび送信装置、受信装置
JPH08307453A (ja) データ受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees