JP5694292B2 - 埋め込まれたクロックの回復 - Google Patents

埋め込まれたクロックの回復 Download PDF

Info

Publication number
JP5694292B2
JP5694292B2 JP2012505247A JP2012505247A JP5694292B2 JP 5694292 B2 JP5694292 B2 JP 5694292B2 JP 2012505247 A JP2012505247 A JP 2012505247A JP 2012505247 A JP2012505247 A JP 2012505247A JP 5694292 B2 JP5694292 B2 JP 5694292B2
Authority
JP
Japan
Prior art keywords
source
data
rate
logical channel
data stream
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.)
Active
Application number
JP2012505247A
Other languages
English (en)
Other versions
JP2012523784A (ja
Inventor
ジェイ. チョーニー ニコラス
ジェイ. チョーニー ニコラス
クイン カーター コリス
クイン カーター コリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
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 ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2012523784A publication Critical patent/JP2012523784A/ja
Application granted granted Critical
Publication of JP5694292B2 publication Critical patent/JP5694292B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/0658Clock or time synchronisation among packet nodes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Television Systems (AREA)
  • Multimedia (AREA)

Description

本発明は、概してソースデバイス(source device)及びシンクデバイス(sink device)を同期させることに関する。
送信機と受信機の間でのクロック同期は、データ通信の重要な側面である。多くの場合、クロック同期は、送信機と受信機を接続している物理リンクを介してデータを送信するために用いられるクロック周波数を参照する。しかし、幾つかのデータ通信アプリケーションにおいては、受信機は、物理リンクのクロック周波数ではないクロック周波数を決定する必要がある。例えば、テレビジョンディスプレイ等の受信機は、DVDデコーダ等のデータソースがデータのストリームを出力するときのクロック周波数を決定する必要があるかもしれない。元のデータが送信機にソースされるときのクロック速度を受信機が必要とする場合におけるデータストリームは、等時性(isochronous)データストリームと称される。
等時性データストリームの伝送のために知られている方法が存在する。1つの従来の方法は、ソースデータ速度をリンクデータ速度に関係付けるシンクデバイスへ1つ以上のパラメータをソースデバイスが送信することを必要とする。しかし、ソース及びシンクでのリンクデータ速度が異なる場合にリンクデータ速度に依存することは、両立不能性(incompatibilities)を招く可能性がある。別の従来の方法は、シンクデバイスでバッファを利用し、この場合、シンクがバッファの深さ(depth)を用いてクロック速度を決定する。しかし、バッファに頼ることは、変化しやすい遅延及び高価なバッファの必要性を導入してしまう。更に別の従来の方法は何らかの中間デバイスを必要とし、中間デバイスは、そこに入ってくるリンク速度及びそこから出て行くリンク速度に基いて、ソースデバイスによって送信される速度パラメータを再生成する(regenerate)。しかし、速度パラメータを再生成する中間デバイスの必要性は、複雑さ及びコストをそのようなデバイスに付加する。
そこで、シンクデバイスがソースデータストリームのクロック速度を回復する(recover)ことが可能な改良された方法及びシステムが求められる。より特定的には、等時性データストリームの伝送の間にソースデバイスとシンクデバイスを同期させるための改良された方法が求められている。
ソース及びシンクデバイスを同期させるための装置及び方法が開示され、ここでは、シンクデバイスがソースデバイスに直接的に結合されていない場合であっても、シンクデバイスはソースデータ速度を効率的に決定することができる。ソースデータストリームをソースデバイスからシンクデバイスへ伝送するための方法は、論理チャネルをソースデバイスからシンクデバイスへ形成することを含む。論理チャネルは、ソースデータストリーム及び1つ以上の速度パラメータを搬送するように構成される。速度パラメータは、ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける。
ソースデータ速度をシンクデバイスが回復するための方法は、ソースデータストリームを含む論理チャネルを、受信したデータストリームにおいて検出することと、受信したデータストリームから1つ以上の速度パラメータを回復することと、論理チャネルのデータ速度を決定することと、論理チャネルのデータ速度及び1つ以上の速度パラメータに基きソースデータストリームのデータ速度を決定することとを含む。
シンクデバイスがソースデータ速度を決定することを可能にするデータ伝送システムは、ソースデバイスと、ソースデバイスに直接的に又は間接的に結合されるシンクデバイスとを含む。ソースデバイスは、(i)ソースデータストリーム及び(ii)1つ以上の速度パラメータを搬送するように構成される論理チャネルをソースデバイスからシンクデバイスへ形成すると共に伝送リンクを介して論理チャネルを送信するように構成される。速度パラメータはソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける。シンクデバイスは、受信したデータストリームにおいて論理チャネルを検出し、受信したデータストリームから1つ以上の速度パラメータを回復し、論理チャネルのデータ速度を決定し、そして論理チャネルのデータ速度及び1つ以上の速度パラメータに基きソースデータストリームのデータ速度を決定するように構成される。
本発明の更なる実施形態、特徴、及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明される。
出願書類に組み込まれ且つその一部をなす添付の図面は、本発明の実施形態を示し、そして上述の一般的な説明及び後述の実施形態の詳細な説明と共に、本発明の原理を説明するのに役立つ。
図1は本発明の実施形態に従いソースデバイス及びシンクデバイスを含むシステムを示す図である。
図2は本発明の実施形態に従いソースデバイス、中間デバイス、及び多重シンクデバイスを含むシステムを示す図である。
図3は本発明の実施形態に従うソースデバイスを示す図である。
図4は本発明の実施形態に従うシンクデバイスを示す図である。
図5は本発明の実施形態に従うソースデバイスに実装されるプロセスにおけるステップを示すフローチャートである。
図6は本発明の実施形態に従うシンクデバイスに実装されるプロセスにおけるステップを示すフローチャートである。
本発明の実施形態は、シンクデバイスにおいてソースクロック速度の効率的な回復を可能にすることができる。本発明はここでは特定のアプリケーションのための例示的な実施形態と共に説明されるが、本発明はそれらに限定されないことが理解されるべきである。ここに提供される教示を利用可能な当業者であれば、その範囲内及び本発明が有意に有用であろう追加的な分野における追加的な修正、応用、及び実施形態を認識するであろう。
本発明の実施形態は、任意のコンピュータシステム、計算デバイス、エンタテーメントシステム、メディアシステム、ゲームシステム、又は1つ以上の伝送リンクがソースデバイスとシンクデバイスを結合している任意のシステムにおいて用いられ得る。本発明は、システムが等時性データストリームを備えている場合に特に有用である。
等時性データストリームは、送信されたデータが生成されたときのクロック周波数を受信機(即ちシンクデバイス)が決定可能であることを必要とする。非圧縮のオーディオデータストリーム及びビデオデータストリームは等時性データストリームの例である。例えば、DVDプレイヤからの非圧縮のオーディオ及びビデオストリームを受信しているフラットパネルテレビジョンディスプレイは、受信したデータストリームをディスプレイにおいて適切に表現するために、DVDプレイヤがデータをストリームしたときの速度を必要とするであろう。
ディスプレイポート(DisplayPort)、高精細度マルチメディアインタフェース(High Definition Multimedia Interface)(HDMI)、デジタルビジュアルインタフェース(Digital Visual Interface)(DVI)等のような業界標準が、ソースデバイスを1つ以上のシンクデバイスに接続するためのインタフェースを規定している。例えばディスプレイポートは、ソースデータに適用されるクロック周波数をシンクデバイスが回復することを可能にするための方法を規定している。ディスプレイポート1.1においては、ソースデータ速度及びリンク速度に関連するMパラメータ及びNパラメータをソースデバイスが計算し、そして計算されたMパラメータ及びNパラメータはシンクデバイスへ伝送される。シンクデバイスは、ソースデバイスによって送られるMパラメータ及びNパラメータを取り込み(retrieves)、また、入ってくるリンク速度を決定することによって、シンクデバイスは、ソースデバイスで用いられているソースデータ速度を決定することができる。しかし、ディスプレイポート1.1において規定される方法は、ソースが直接的にシンクデバイスに結合されている場合に適切であろうから、データストリームがシンクデバイスに到着する前に多重リンクを行き来する場合には機能しなくなる。例えばソースデータストリームが多重リンクを行き来する場合、ソースでのリンク速度は、シンクでのリンク速度とは異なるであろう。本発明は、シンクデバイスがソースデバイスに直接的に又は間接的に結合されているかにかかわらず、シンクデバイスがソースデータ速度を決定することを可能にする。本発明は、一対の埋め込みパラメータ(embedded parameters)を提供することによって、ソース速度の回復を加速し且つ単純化する。実施形態によると、ロバストに検出可能なデータチャネル(robustly detectable data channel)が十分に調整された速度で提供され、参照速度をソースからシンクへ伝送する。加えて、データチャネルに埋め込まれたデータの速度のデータチャネルに対する安定で且つ正確な測定が伝送される。
本発明は、概して、受信したデータストリームに埋め込まれたデータを構文解析する(parse)必要性をなくす。埋め込みデータを構文解析することは、種々の機能障害を引き起こす可能性がある。例えば、ビデオデータはデータ伝送の無いブランクインターバルを有しているので、シンクは、アクティブなインターバルを調べることのみによってどのようにして速度を再現するのかを決定する必要がある。例えば、垂直ブランク領域(vertical blanking region)におけるビデオデータ速度変化を追跡することは可能ではないであろう。また、ビデオストリームに埋め込まれたオーディオデータは、概してバースト的(bursty)であり(例えばその伝送がアクティブなビデオデータによって周期的にブロックされることに起因して)、また比較的低い速度でシンクに到着するので、速度追跡を困難にし、しかも比較的長いロック時間(lock times)の原因になっている。このことは、シンクがオーディオデータ速度にロックすることを試みることを理由として、長いターンオン遅延及び/又は歪んだ再生を引き起こす可能性がある。また、シンクの速度回復論理がオーディオデータのバーストを追跡してしまうと、信号歪を潜在的に引き起こす可能性もある。
従来の試みはまた、入力インタフェースリンク速度及び出力インタフェースリンク速度に従って中間デバイスにMパラメータ及びNパラメータを更新させることと、入ってくるリンク速度と出て行くリンク速度の間での何らかの倍率(some scaling factor)を中間デバイスに計算させることとを含む。しかし、中間デバイスにそのような機能をさせることは、当該デバイスの複雑さ及びコストを増大する。別の試みは、ストリームシンクデバイスに、オーディオデータ及び/又はビデオデータを先入れ先出し(first-in-first-out)(FIFO)バッファ等のバッファ内へバッファリングさせることを含む。ストリームシンクデバイスは次いで、バッファレベルをモニターし、そしてバッファレベルを用いて、回復されたクロック速度を増大させ且つ/又は減少させる。バッファレベルが高くなるとクロック速度は増大し、その結果、バッファドレイン速度は増大する。バッファレベルが低くなるとクロック速度は減少し、その結果、バッファレベルが高くなる。この試みは、複数のモニターの間でのオーディオ位相不整合、オーディオクロックの増加及び/又は減少に起因するオーディオ信号歪、オーディオ/ビデオクロックに対する時間のかかる(例えば秒単位の)信号ロック時間、並びに比較的にコストのかかるバッファ要件といった問題を引き起こす。
図1は本発明の実施形態に従うシステムである。システム100は、ソースデバイス101、シンクデバイス102、主リンク110、及び補助リンク112を含む。ソースデバイス101は、例えば、DVDデコーダ、CDプレイヤ、デジタルカメラ、又はMP3プレイヤのようなオーディオ及び/又はビデオストリーミングデバイスであってよい。ソースデバイス101は、コンピュータ又は等時性データを生成する他の計算デバイスであってもよい。ソースデバイス101は、ソースデータのストリームを生成し及び/又は受信し、並びにソースデータをシンクデバイスへ直接的に又は1つ以上の中間デバイス(分岐デバイス)を介してのいずれかで送信する機能性を包含する。ソースデバイス101は、必要に応じてソースデータを送信の前に処理する機能性を包含していてもよい。図3は本発明の実施形態に従いソースデバイスの更なる詳細を示している。
シンクデバイス102は、例えばテレビジョンディスプレイ、コンピュータディスプレイ、又はオーディオスピーカシステムであってよい。シンクデバイス102はオーディオ受信機又はビデオ受信機のような中間デバイスであってもよく、中間デバイスは、ディスプレイ又はスピーカシステムのような表現デバイス(rendering device)へオーディオストリーム及び/又はビデオストリームが送られる前にそのようなストリームに対して種々の処理機能を実行することができる。ここで、シンクデバイス102は、ソースデータストリームを表現すること及び/又はソースデータストリームの更なる処理のような理由によりソースデータストリーム及び関連するソースデータ速度を必要とするデバイスを代表する。シンクデバイス102は、ソースデータストリームをソースデバイス101から受信すると共にソースデータのクロック速度(即ちソースデータ速度)を回復する機能性を包含する。図4は本発明の実施形態に従いシンクデバイスの更なる詳細を示している。
主リンク110はソースデバイス101とシンクデバイス102を結合する。主リンク110は伝送リンクであり、それを介してデータ及び制御情報がソースデバイス101とシンクデバイス102の間で流れることができる。主リンク110は、ソースデバイス101とシンクデバイス102の間での有線接続又は無線接続のような1つ以上の物理的伝送媒体を含んでいてよい。ソースデバイス101内の送信機及びシンクデバイス102内の受信機は、主リンク110を含む多重物理リンクがデータ伝送にとってトランスペアレント(transparent)であるように、主リンク110を介した伝送を連携させる(coordinate)ことができる。例えば、伝送されているデータはシンボルレベルで幾つかの物理リンクに分配されてよく、例えば、各シンボルから等しい数のビットは、利用可能な物理リンクの各々を介して伝送され得る。
データは望ましくはパケットベースのフォーマットで主リンク110を介して伝送される。パケットは、幾らかの量のデータをカプセル化し、またソースデバイス101及びシンクデバイス102の両方に知られているフォーマットを有する。例えば、パケットはヘッダ部とデータ部を含んでいてよい。ヘッダ部は、データ部におけるデータの種類、ソースデバイスの識別、シンクデバイスの識別、等のような制御情報を含んでいる。
本発明の幾つかの実施形態は、ソースデバイス101とシンクデバイス102の間に補助リンク112を含み得る。補助リンク112は、例えば、ソースデバイス101とシンクデバイス102の間での制御情報の双方向転送のために用いられ得る。1つの実施形態では、補助リンク112は、シンクデバイス102によってそのデータ受信能力、例えば最大受信速度をソースデバイス101へ通信するために用いられてよく、その結果、ソースデバイス101は、規定された速度を超えないようにその送信機を設定することができる。幾つかの実施形態では、補助的なデータ及び制御情報は、別個の補助リンク112の代わりに主リンク110を介して伝送されてもよい。
仮想チャネル120は、主リンク110を介してデータストリームを搬送する論理チャネルである。仮想チャネル120は、主リンク110に論理的に重ねられて(overlaid)おり、そして主リンク110の1つ以上の別個の物理リンクを利用することができる。仮想チャネル120のような1つ以上の仮想チャネル(しばしば「論理チャネル」とも称される)が主リンク110を通して起動されてよい。仮想チャネルに属しているデータは、当該仮想チャネル内でデータを搬送している各パケットのヘッダ部に含まれる1つ以上の識別子に基いて識別され得る。例えば、ヘッダ部は、仮想チャネルを一意的に識別するチャネル識別子を含んでいてよい。
本発明の実施形態においては、仮想チャネル120は、ソースデバイス101からシンクデバイス102へ等時性データストリームを搬送するために用いることができる。例えば、ある仮想チャネルはDVDプレイヤからのビデオデータストリームを搬送するために用いることができ、また別の仮想チャネルは関連するオーディオストリームを搬送するために用いることができる。代替的には、同じ仮想チャネルがオーディオ及びビデオの両方を搬送することができる。仮想チャネル120のような仮想チャネルは、等時性データストリームを含む多重同時発生データストリームに対して主リンク110の全帯域が利用されることを可能にする。
本発明の実施形態においては、ソースデバイス101、シンクデバイス102、主リンク110、補助リンク112、及び仮想チャネル120は、ディスプレイポートのような既知の標準、又はその変形の1つに従って動作する。ディスプレイポートは、例えば、主リンク110がソースデバイス101からシンクデバイス102への単方向性であること、及びリンク110が1つの、2つの、又は4つの物理リンクを備えていてよいことを規定している。ディスプレイポート標準に従う補助リンク112は、シンクデバイス102によって取り扱われ得る最大リンク速度及び最大チャネル速度のような情報を含む補助情報の双方向交換のために用いられる。他の実施形態においては、システム100は、別の既知の標準、例えば高精細度マルチメディアインタフェース(HDMI)、デジタルビジュアルインタフェース(DVI)、ビデオグラフィックスアレイ(Video Graphics Array)(VGA)若しくはその変形、及び低電圧差動シグナリング(Low Voltage Differential Signaling)(LVDS)、又は同様のカスタムデータ伝送標準に従って動作する主リンク110を有していてよい。
図2は本発明の実施形態に従い別のシステム200を示している。システム200は、ソースデバイス201、多重シンクデバイス202及び203、並びに分岐デバイス204を含む。ソースデバイス201並びにシンクデバイス202及び203は、図1に関して上述したようなものであってよい。分岐デバイス204は中間デバイスであり、入ってくるデータストリームを入力として取り、そして1つ以上のシンクデバイスへデータストリームを出力する。システム200に対応するシステムの例は多重チャネルオーディオスピーカシステムであり、その場合、オーディオ受信機分岐デバイスは、ソースデバイス(例えばDVDプレイヤ)からの入力オーディオストリームを取り、そしてオーディオ及びビデオを別個のシンクデバイス(例えば各オーディオチャネルのための別個のスピーカ及びビデオのためのテレビジョンディスプレイ)へ分配する。別の例はビデオスプリッタシステムであってよく、単一のソースデバイス(例えばコンピュータ)からのビデオ出力が多重シンクデバイス(例えば複数のディスプレイデバイス)へ分配されることを可能にする。
システム200はディスプレイポート標準、又は1つ以上のその変形に適合していてもよい。従って、主リンク210、211、及び212は、等時性データストリームの搬送のために用いられる単方向リンクであってよい。各等時性データストリームは、例えば、仮想チャネル内で伝送されてよい。例えば、ソースデバイス201において生成されるビデオストリームのような等時性データストリームは、ソースデバイス201から分岐デバイス204へ仮想チャネル220において伝送され得る。分岐デバイス204は次いでビデオストリームをディスプレイモニタであってよいシンクデバイス202及び203へ分配する。分岐デバイス204からシンクデバイスの各々へのビデオストリームは、仮想チャネルにおいて伝送される。主リンク210、211、及び212のリンク速度は互いに異なっていてよい。
システム100、200等に対応して、本発明の説明は幾つかのクロック周波数が区別されることを必要とする。ここで用いられる「シンボル」は、「データシンボル」又は「制御シンボル」を参照し得る。データシンボルは、ソースデバイス及びシンクデバイスに知られているプロトコルに従ってエンコードされている伝送されるべきデータである。データシンボルは、表示されるべきビデオデータのようなアクティブデータの他にブランキングインターバルデータ(blanking interval data)を含み得る。制御シンボルは、データシンボルをフレーミング(framing)するために用いられる一連のシンボルであって、ソースデバイス及びシンクデバイスによって知られているプロトコルに従ってエンコードされる。
リンク速度は、シンボルが主リンク210、211、及び212のような物理リンク上で伝送されるときの速度又は周波数を参照する。各主リンク210、211、及び212は異なるリンク速度を各々が有していてよい。リンク速度に関係するのは、それぞれのリンクにわたってタイミングを確立するリンクシンボルクロック、即ちLS_CLKである。
ソースデータ速度は、ソースがデータストリームを出力するときの速度又は周波数である。例えば、DVDデコーダからのビデオソースデータ速度は、デコーダからビデオデータが出力されるときの速度である。DVDデコーダからのオーディオソースデータ速度は、デコーダからオーディオデータが出力されるときの速度である。このように、ソースデータ速度は、実際のビデオデータのようなアクティブデータの他にブランキングインターバルを含む。データストリームのソースデータ速度の回復は本発明の鍵となる側面である。
仮想チャネルデータ速度は、ソースデータを含むデータがインタフェース送信機デバイスへ入力されるときの速度又は周波数である。また、仮想チャネルデータ速度は、インタフェース受信デバイスが、受信したデータストリームをシンクデバイスへ表現のために入力するときの速度でもある。換言すれば、仮想チャネルデータ速度は、仮想チャネルのためのデータが送信機へ入力されるときの速度である。従って、仮想チャネルデータ速度は、対応するソースデータ速度よりも高く且つリンク速度よりも低い。
図3は本発明の実施形態に従うソースデバイス201を示している。ソースデバイス201は、制御器301、メモリ302、永続的ストレージ(persistent storage)303、通信フレームワーク304、データソース310、リンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ(channelizer)322、及び参照速度モジュール324を含む。制御器301は、中央プロセッサユニット(CPU)又はグラフィクスプロセッサユニット(GPU)を含む任意の1つ以上のプロセッサであってよい。制御器301はソースデバイス201内のデバイスの動作を制御する。例えば、制御器301は、リンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ322、及び参照速度モジュール324の1つ以上を実装している論理命令を実行することができる。リンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ322、及び参照速度モジュール324の論理命令は、ソフトウエア、ハードウエア、又はそれらの組み合わせにおいて実装され得る。
メモリ302は、1つ以上のメモリデバイス、例えばダイナミックランダムアクセスメモリ(DRAM)デバイスを含む。メモリ302は、実行のための必要性に応じて、リンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ322、及び参照速度モジュール324を含む部分モジュールのための論理を記憶するのに用いられる。メモリ302は、データソース310から送信インタフェース330へ入ってくるストリームデータをバッファするためにも用いられ得る。
永続的ストレージ303は、磁気ディスク、光ディスク、フラッシュメモリ等のような1つ以上の永続的ストレージデバイスを含んでいてよい。永続的ストレージ303は、リンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ322、及び参照速度モジュール324の論理を必要に応じて記憶することができる。例えば1つの実施形態では、永続的ストレージ303は、ソースデバイス201の起動に際してメモリ302内へロードされるべき実行可能な形態にあるソフトウエアにおいて実装されるリンクモジュール320、送信インタフェース330、クロックソース340、チャネライザ322、及び参照速度モジュール324の全ての部分を記憶している。
通信バス304は、301、302、303、310、320、322、324、330、及び340の2つ以上のようなソースデバイス201の複数のコンポーネントを結合する。通信バス304は、周辺コンポーネントインタフェース(Peripheral Component Interface)(PCI)バス若しくはその変形の1つ、ユニバーサルシリアルバス(Universal Serial Bus)(USB)、ファイアワイヤ(Firewire)、イーサネット(登録商標)、又は同様のデバイスを含んでいてよい。
データソース310は、ソースデータストリームを生成する任意のデバイスであってよい。例えば、ビデオ又は音楽の再生デバイス(例えばDVD、CD、MP3、デジタルカメラ等の再生デバイス又はデコーダ)がデータソース310に含まれていてよい。1つの実施形態では、データソース310は、DVDに記憶されているビデオデータを、データが送信インタフェース330へ送られる前にデコードすると共に非圧縮化する(uncompresses)DVD再生デバイスであってよい。例えば、DVDビデオデータは、動画専門家グループバージョン2(Motion Picture Experts Group version 2)(MPEG2)ビデオ圧縮標準を用いて記憶されていてよい。データソース310は、MPEG2標準に従ってMPEG2ビデオを非圧縮化すると共に非圧縮化されたビデオデータをリンクモジュール320内へ注入するであろうし、非圧縮化されたビデオデータは、シンクデバイス202へ伝送されてディスプレイ上で表現されるであろう。ここでは説明されないが、当業者であれば、限定はされないが例えばフレームバッファ、デコーダ、及びタイミング制御器のようなコンポーネントをデータソース310が含み得ることを理解するであろうし、これらのコンポーネントは、リンクモジュール320内へ入力されるべきソースデータストリームを生成することにおいて用いられ得る。
リンクモジュール320は、送信要求に従ってパケット及び/又はフレームをパッキング及び/又はスタッフィング(stuffing)することのようなサービスを提供する機能性を包含する。リンクモジュール320はまた、補助データ(例えば制御情報、及び/又はビデオストリームと共に表示されるべき他の情報)を多重化すると共に暗号化を実行する機能性を提供することができる。
チャネライザ322は、リンクモジュール320の一部として又は別個のモジュールとして実装され得る。チャネライザ322は、データソース310からのソースデータストリームを受信すると共に1つ以上の仮想チャネルを起動して当該ソースデータを1つ以上のソースデータストリームとしてシンクデバイスへ送信する機能性を包含している。例えば、DVDビデオ及びオーディオストリームをデータソース310から受信して、チャネライザ322は、ビデオストリーム及びオーディオストリームに対して1つ以上の仮想チャネルを起動することができる。チャネルの起動は、チャネルに対して識別子を生成することと、適切な識別子を対応するストリームデータと共にリンク層へ渡すこととを含み得る。本発明の幾つかの実施形態では、仮想チャネルの起動は、対応するシンクデバイス及び分岐デバイスとのメッセージの交換を伴う。仮想チャネルをセットアップすることに先立つメッセージの交換は、例えば、動的に決定されるチャネル速度を伴う仮想チャネルの設定を可能にする。
例えば、仮想チャネルのチャネル速度は、データフローのパス(path)内の各デバイスがサポートし得る速度で設定されてよい。実施形態においては、チャネル速度は、対応するソースデータストリームのピーク速度より大きい値であって且つ基礎となっている伝送媒体の物理的伝送特性に合致する(maps to)値になるように設定され得る。また、チャネル速度は、データフローのパスに沿った実質的に全ての中間デバイスによってサポート可能なレベルに設定されることが望ましい。チャネライザ322又はリンクモジュール320は、望ましくは、設定されたレベルでチャネル速度が維持されるように、非アクティブデータを仮想チャネルデータストリーム内へ詰め込む(stuff)ことができる。
参照速度モジュール324は、シンクデバイスへ伝送され得るタイミング関係を伝達する1つ以上の参照パラメータを決定する機能性を包含する。1つの実施形態では、参照速度モジュール324は、シンクデバイス202へ伝送されるべき第1のパラメータ及び第2のパラメータを決定する。第1のパラメータ及び第2のパラメータは、(ソースデータ速度)/(チャネル速度)の関係を表すように決定される。1つの実施形態では、第2のパラメータは、対応する仮想チャネルクロックの予め定められたサイクル数であってよい。第1のパラメータは、その結果、第2のパラメータによって定義される仮想チャネルクロックインターバル内で発生するソースデータストリームクロックのサイクル数であってよい。1つ以上の位相ロックループ等が、例えばクロックソース340からのクロックにロックオン(lock on)するために用いられ得る。
クロックソース340は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックを生成するために用いられる1つ以上のクロックソースを含んでいてよい。本発明の実施形態は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックの各々に対してクロックソース340からの独立したクロックを用いてよく、全てに対して単一のクロックを用いてよく、又は組み合わせを用いてよい。例えば、ソースデータストリームクロック及び仮想チャネルクロックに対して同一のクロックが用いられる場合、第1及び第2のパラメータの値は、ソースデータストリームの送信の間に変化しないであろう。異なるクロックソースが用いられる場合には、例えば、第2のパラメータは一定であり得る一方で、第1のパラメータは、それが第2のパラメータに対して相対的に定義されるという理由で、変動し得る。クロックソース340において用いられるクロックソースは、1つ以上のクリスタル発振器又はシリコン発振器のような任意の既知のクロック生成デバイスを含んでいてよい。
送信インタフェース330は、例えばリンクモジュール320からの出て行くデータストリームを受信すると共にそれをシンクデバイス202のようなシンクデバイス又は分岐デバイス204のような分岐デバイスへリンク210のような伝送リンクを介して送り出す機能性を包含する。送信インタフェース330はまた、必要に応じて、主リンク及び補助リンクの両方の種類が存在するシステムにおいてこれらを介してデータを送信する機能性を包含する。1つの実施形態では、送信インタフェース330は、物理レイヤにおいて規定される機能性、例えば物理的伝送、及び送信されるデータの誤り補正を包含する。データの送信はリンククロックに従って生じる。実施形態においては、送信インタフェース330は差動送信機を含むことができる。例えば1つの実施形態では、送信インタフェース330は、低電圧差動シグナリングインタフェース標準(LVDS)を用いて主リンク210を介してビデオデータフレーム及び制御情報を送信するのに必要な機能を含む。
当業者であれば、ソースデバイス201は、図示されているものに加えてコンポーネント若しくはモジュールを備えていてよく又は図示されているのとは異なる組み合わせを備えていてよいことを理解するであろう。尚、データソース310、リンクモジュール320、送信インタフェース330、チャネライザ322、参照速度モジュール324、及びクロックソース340の機能性は、ソフトウエア、ファームウエア、ハードウエア、又はこれらの組み合わせにおいて実装され得る。1つの実施形態では、例えば、データソース310、リンクモジュール320、送信インタフェース330、チャネライザ322、参照速度モジュール324、及びクロックソース340の機能性は、ここに説明される本発明の側面を採用しているハードウエアデバイスを生成するためのマスクワーク/フォトマスクの創出を通して最終的に製造プロセスを構成することを可能にするために、ベリログ(Verilog)、RTL、ネットリスツ(netlists)のようなハードウエア記述言語において規定される。
図4は本発明の実施形態に従いシンクデバイス202を示している。シンクデバイス202は、制御器401、メモリ402、永続的ストレージ403、通信フレームワーク404、データシンク430、リンクモジュール420、受信インタフェース410、クロックソース440、チャネルプロセッサ422、及び速度導出器(rate deriver)424を含む。制御器401は、中央プロセッサユニット(CPU)又はグラフィクスプロセッサユニット(GPU)を含む任意の1つ以上のプロセッサであってよい。制御器401はシンクデバイス202内のデバイスの動作を制御する。例えば、制御器401は、リンクモジュール420、受信インタフェース410、クロックソース440、チャネルプロセッサ422、及び速度導出器424の1つ以上を実装している論理命令を実行することができる。リンクモジュール420、受信インタフェース410、クロックソース440、チャネルプロセッサ422、及び速度導出器424の論理命令は、ソフトウエア、ハードウエア、又はそれらの組み合わせにおいて実装され得る。
メモリ402は、1つ以上のメモリデバイス、例えばダイナミックランダムアクセスメモリ(DRAM)デバイスを含む。メモリ402は、実行のための必要性に応じて、リンクモジュール420、受信インタフェース430、クロックソース440、チャネルプロセッサ422、及び速度導出器424を含む部分モジュールのための論理を記憶するのに用いられる。メモリ402は、受信インタフェース410からデータシンク430へ入ってくるストリームデータをバッファするためにも用いられ得る。
永続的ストレージ403は、磁気ディスク、光ディスク、フラッシュメモリ等のような1つ以上の永続的ストレージデバイスを含んでいてよい。永続的ストレージ403は、リンクモジュール420、受信インタフェース430、クロックソース440、チャネルプロセッサ422、及び速度導出器424の論理を必要に応じて記憶することができる。例えば1つの実施形態では、永続的ストレージ403は、シンクデバイス202の起動に際してメモリ402内へロードされるべき実行可能な形態にあるソフトウエアにおいて実装されるリンクモジュール420、受信インタフェース430、クロックソース440、チャネルプロセッサ422、及び速度導出器424の全ての部分を記憶している。
通信バス404は、401、402、403、410、420、422、424、430、及び440のようなシンクデバイス202の複数のコンポーネントを結合する。通信バス404は、周辺コンポーネントインタフェース(PCI)バス若しくはその変形の1つ、USB、ファイアワイヤ、イーサネット(登録商標)、又は同様のデバイスを含んでいてよい。
受信インタフェース410は、主リンク211のようなリンクからの入ってくるデータストリーム又はソースデバイス若しくは分岐デバイスからの入ってくるデータストリームを受信する機能性を包含する。受信したデータは次いでリンクモジュール420へ送られてよい。受信インタフェース410はまた、必要に応じて、主リンク及び補助リンクの両方の種類が存在するシステムにおいてこれらを介してデータを受信する機能性を包含する。1つの実施形態では、受信インタフェース410は、物理レイヤにおいて規定される機能性、例えば物理的伝送及び伝送されたデータの誤り補正を包含する。実施形態においては、受信インタフェース410は差動受信機を含むことができる。例えば1つの実施形態では、受信インタフェース410は、低電圧差動シグナリングインタフェース標準(LVDS)を用いて主リンク211を介してビデオデータフレーム及び制御情報を受信するのに必要な機能を含む。
リンクモジュール420は、パケットがソースデバイスから分岐デバイスへどのように伝送されたかに従って、パケット及び/又はフレームをアンパッキング(unpacking)及び/又はデスタッフィング(destuffing)することのようなサービスを提供する機能性を包含する。リンクモジュール420はまた、補助データ(例えば制御情報、及び/又はビデオストリームと共に表示されるべき他の情報)を分離する(demultiplex)と共に入ってくるストリームの復号(decryption)を必要に応じて実行する機能性を提供することができる。
データシンク430は、入ってくるストリームを受信すると共にそれを処理し且つ/又は表現することができる任意のデバイスであってよい。例えばデータシンク430は、テレビジョンディスプレイのようなビデオ及び/又はオーディオ表現デバイス、あるいはスピーカシステムのようなオーディオ表現デバイスであってよい。幾つかの実施形態では、データシンク430は、外部表現デバイスが接続されるインタフェースであってよい。1つの実施形態では、データシンク430は、非圧縮化されたビデオデータ及び関連するタイミング情報を受信するディスプレイデバイスであってよい。ここでは説明されないが、当業者であれば、限定はされないが例えばフレームバッファ、デコーダ、及びディスプレイタイミング回復モジュールのようなコンポーネントをデータシンク430が含み得ることを理解するであろう。
チャネルプロセッサ422は、リンクモジュール420の一部として又は別個のモジュールとして実装され得る。チャネルプロセッサ422は、リンクモジュール420からのソースデータストリームを受信すると共にソースデータを1つ以上のソースデータストリームとして含む1つ以上の仮想チャネルを検出する機能性を包含する。例えば、DVDビデオ及びオーディオストリームをリンクモジュール420から受信して、チャネルプロセッサ422は、ビデオストリーム及びオーディオストリームのための1つ以上の仮想チャネルを決定することができる。決定は、仮想チャネルを定義している固有識別子を検出することに基いていてよい。チャネルプロセッサ422はまた、仮想チャネルをセットアップするに際してソースデバイスからのメッセージを受信すると共にこれに応答する機能性を包含し得る。チャネルプロセッサ422及び/又はリンクモジュール420はまた、当該フィルデータ(例えば仮想チャネルの伝送速度を予め規定されたチャネル速度と等しくするために分岐デバイスによって含まされるデータ)を識別すると共に破棄する機能性を包含する。
速度導出器424は、ソースデバイス201から伝送される1つ以上の参照速度パラメータを検出すると共にこれらのパラメータ、リンク速度、及びチャネル速度に基いてソースデータ速度を決定する機能性を包含する。速度パラメータは、ソースデータ速度とチャネル速度の間でのタイミング関係を規定する。ソースデバイス201から伝送される1つ以上の速度パラメータは、例えば入ってくるパケットストリーム内のパケットのヘッダ情報から回復され得る。リンク速度及びチャネル速度は局所的に決定され得る。1つ以上の位相ロックループ、発振器、及び/又は同様のものが、リンククロック、仮想チャネルクロック、及び/又はソースデータストリームクロックのような受信され検出されるクロックにロックオンするために用いられ得る。
クロックソース440は、データストリームクロック、仮想チャネルクロック、及びリンククロックの1つ以上にロックオンするために用いられる1つ以上のクロックソース及び/又はクロック回路を含んでいてよい。本発明の実施形態は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックの各々に対してクロックソース440からの独立したクロックを用いてよく、全てに対して単一のクロックを用いてよく、又は組み合わせを用いてよい。クロックソース440において用いられるクロックソースは、1つ以上のクリスタル発振器若しくはシリコン発振器のような任意の既知のクロック生成デバイス、又は位相ロックループ回路のようなクロックロック回路を含んでいてよい。
当業者であれば、シンクデバイス202は、図示されているものに加えてコンポーネント若しくはモジュールを備えていてよく、又は図示されているのとは異なる組み合わせを備えていてよいことを理解するであろう。尚、データシンク430、リンクモジュール420、受信インタフェース410、クロックソース440、チャネルプロセッサ422、及び速度導出器424の機能性は、ソフトウエア、ファームウエア、ハードウエア、又はこれらの組み合わせにおいて実装され得る。1つの実施形態では、例えば、データシンク430、リンクモジュール420、受信インタフェース410、クロックソース440、チャネルプロセッサ422、及び速度導出器424の機能性は、ここに説明される本発明の側面を採用しているハードウエアデバイスを生成するためのマスクワーク/フォトマスクの創出を通して最終的に製造プロセスを構成することを可能にするために、ベリログ、RTL、ネットリスツのようなハードウエア記述言語において規定される。
図5はプロセス500を示しており、プロセス500によって、ソースデバイス201のようなソースデバイスは、シンクデバイス202のようなシンクデバイスがソースデータ速度を回復するのに必要な情報を送信することができる。ステップ510では、ソースデバイスは、ソースデータストリームを受信し且つ/又は生成する。例えばソースデバイスは、ビデオ及び/又はオーディオストリームを生成するDVD再生デバイスのようなデータソースであってよい。データソースによって生成されるビデオ及び/又はオーディオストリームは、ソースデータストリームとして参照される。データソースは、ビデオ及びオーディオデータのエンコーディング(例えばMPEG2)を含む幾つかの因子によって決定される速度でソースデータストリームを生成する。例えばクロックソース340におけるクロックソース又はクロックロック回路は、クロックを生成するために用いられてよく、又はソースデータストリームから生成されるクロックにロックオンするために用いられてよい。ソースデータストリームのデータ速度を決定するクロック周波数は、ソースデータストリームクロック又はソースデータストリーム速度と称される。
ステップ520では、ソースデータストリームが1つ以上の仮想チャネルにマッピングされる。上述したように、仮想チャネルは物理的な伝送リンクに課せられた論理ストリームである。典型的には、仮想チャネルとソースデータストリームの間には1対1マッピングがある。しかし、幾つかのケースでは、1つのソースデータストリームは多重仮想チャネルにマッピングされ得る。説明を容易にし且つ一般性を損なわないように、プロセス500の以下の説明は、概してソースデータストリームと仮想チャネルの間での1対1マッピングを前提とする。例えば、ビデオ及び多重チャネルオーディオを伴うソースデータストリームは、多重仮想チャネルにマッピングされてよい。ソースデータストリームの最初のデータを受信すると、チャネライザ及び/又はリンクモジュールは、新たな仮想チャネルが必要であると決定する。チャネライザはチャネル識別子を生成することができ、チャネル識別子は、ソースデータストリームからの、データを搬送中のパケット毎のヘッダ部内にあってよい。幾つかの実施形態では、ソースデバイスは、例えばチャネライザ及び/又はリンクモジュールを用いて、シンクデバイス及び/又は対応する分岐デバイスに新たな仮想チャネルの開始を通知することができる。
ステップ530では、チャネル速度が仮想チャネルに対して決定される。チャネル速度、即ち仮想チャネルクロック速度は、仮想チャネルがソースデータ及び他の補助データで一杯になる(populated with)ときの速度である。例えば、チャネル速度は、ソースデータ及び補助データがパケット内へパッキングされ、ヘッダが構成され、データがシンボル及び、パケットに加えられる任意の制御シンボルへエンコードされるときの速度からなる(account for)ことができる。しかし、本発明の実施形態は、盛り込まれている他の側面を有し且つ/又はチャネル速度から除外されて説明される側面の幾つかを有することができる点を特記しておく。各実施形態は、ソースデバイスと対応する1つ以上のシンクデバイスとの間でのチャネル速度を決定する一貫した方法を有することができる。
ステップ540では、ソースデータストリームがチャネル化される(channelized)。例えば、チャネライザ322及び/又はリンクモジュール320は、ソースデータストリームからのデータをパケット化することができる。本発明の幾つかの実施形態では、補助データは仮想チャネルに多重化されてよい。チャネル化することは、データストリームデータ及び任意の補助データを固定サイズ又は可変サイズのパケットへパッキングすることと、各パケットのヘッダ部を形成することと、データストリームデータ及び補助データをエンコーディングスキームに従ってエンコードすることと、ソースデータストリームを表現デバイスにおいて表現するために必要な制御シンボルを付加することとを含む。例えばビデオソースデータストリームは、仮想チャネルデータが予め定められたチャネルデータ速度で送信され得るように、非アクティブデータと共にパッキングされる必要があるかもしれない。
ステップ550ではリンク速度が決定される。例えば、リンク速度は、リンクモジュール320が送信インタフェース330を介してパケットを送信するときの速度である。典型的には、ソースデバイス、分岐デバイス、及びシンクデバイスは、各々が動作し得る1つ以上のリンク速度を有している。プロセス500の説明において用いられるような「リンク速度」の用語は、主リンク210のような出て行くリンクが動作するときのクロック速度を参照する。尚、リンク帯域は、主リンク210を含む全ての物理リンクの容量の総計を参照する。リンク速度は、典型的には、例えばクロックソース340からの予め設定されたクロックによって決定される。
ステップ560では、シンクデバイスへ連絡されるべき速度パラメータが決定される。本発明の実施形態においては、第1の速度パラメータ(M)と第2の速度パラメータ(N)が決定される。本実施形態によると、パラメータM及びパラメータNは、ソースデータストリームクロックと仮想チャネルクロックの間の関係性を搬送することが意図されている。実施形態においては、Nは仮想チャネルクロックの予め定められたサイクル数に対応する値を有するように設定され、そしてMはNによって規定されるインターバルの間に生じるソースデータストリームクロックのサイクル数として測定される。他の実施形態は、M及びNを異なる方法で計算することを含んでよいが、いずれにしろソースデータ速度とチャネル速度の間の関係性を搬送する。Mパラメータ及びNパラメータは各仮想チャネルに対して別個に決定される。Mパラメータ及びNパラメータは、オーディオ及びビデオのような異なる種類のデータに対して別個に決定されてもよい。例えば、単一の仮想ストリーム内であっても、ビデオ及びオーディオは異なる速度で表現することを必要としてもよい。
1つの実施形態によると、Nパラメータが決定された後に、例えば、設定を通して(1)がMを決定するために用いられてよい。
Figure 0005694292
ここで、Nは仮想チャネルクロックの設定されたサイクル数に対応する時間、Fsource_data_rateはソースデータストリームの周波数、Fvirtual_channel_rateは仮想チャネルクロックの周波数、そしてMはソースデータストリームに対するMパラメータである。Fsource_data_rate及びFvirtual_channel_rateはそれぞれステップ510及び530に関して説明したように決定され得る。
ステップ570では、決定されたMパラメータ及びNパラメータがシンクデバイスへ送信される。例えば、仮想チャネルに対して1ペアのみのMパラメータ及びNパラメータが決定された場合には、当該ペアの値が送信される。ビデオ及びオーディオに対する別個のペアのように仮想チャネルに対して多重ペアのM値及びN値が決定された場合には、実質的に全てのそれらのペアが送信されてよい。M値及びN値は、ソースデバイスからシンクデバイスへのパケットストリーム内へエンコードされ得る。1つの実施形態では、M値及びN値は、予め定められたフォーマットに従って、ソースデータストリームからのデータを搬送するパケットのヘッダフィールドにおいてエンコードされる。別の実施形態では、M値及びN値は、予め定められたフォーマットの特別のパケットを介して通信されてよい。
本発明の実施形態においては、プロセス500(ステップ510〜570)は、シンクデバイスへ通信されているMパラメータ及びNパラメータを更新するために、一定のインターバルで繰り返されてよい。プロセス500の繰り返しの間のインターバルにおいては、最後に計算されたM値及びN値は、仮想チャネルの存在の間のインターバルで送信され得る。
図6は本発明の実施形態に従いソースデータストリーム速度を導出するプロセス600を示している。プロセス600は、シンクデバイス202のようなシンクデバイスにおいて実行されるものとしてここでは説明される。しかし、上述したように、プロセス600は、ソースデータストリーム速度を回復する必要がある場合における中間デバイス又は分岐デバイスを含む他のデバイスにおいて実行され得る。
ステップ610では、データストリームからのデータが受信される。例えば、シンクデバイス202の受信インタフェース410は、ソースデバイス201からのデータストリームを直接的に又は1つ以上の中間デバイス204を介して受信することができる。受信インタフェースは、主リンク211のような入ってくるリンクを介してデータストリームを受信することができ、誤り補正のような任意の物理レイヤ機能を実行し、そして回復されたフレームを別のモジュール、例えばリンクモジュール420に受け渡す。
ステップ620では、リンクモジュール420及び/又はチャネルプロセッサ422のようなモジュールが、入ってくるデータストリームにおける仮想チャネルを検出する。例えば、リンクモジュール420は、入ってくるフレームを処理してパケットを回復すると共にスタッフィング(stuffing)しているパケット及びシンボルを検出し且つ除去することができる。チャネルプロセッサ422は、例えば、ヘッダフィールド内に同一の仮想チャネルからのような同一のチャネル識別子を有するパケットを処理することができる。
ステップ630では、ソースデバイスから伝送された速度パラメータが回復される。例えば、第1及び第2の速度パラメータ(M及びN)は、1つ以上の入ってくるパケットのヘッダ部にエンコードされていてよい。別の実施形態では、Mパラメータ及びNパラメータは、ソースデバイスから伝送される別個のパケットから回復されてよい。プロセス500に関して説明されたように、対応するソースデータストリームクロックを回復するために、Mパラメータ及びNパラメータの1つ以上のペアが用いられてよい。
ステップ640では、リンク速度が決定される。シンクデバイスのリンク速度は、分岐デバイス204がソースデバイス201とシンクデバイス202の間にあるシステム200におけるように、ソースデバイスのリンク速度とは異なっていてよい。シンクデバイスのリンク速度は、受信されるクロックにロックオンすることによりシンクデバイスによって決定され得る。例えば、シンクデバイス202は、入ってくるデータストリームにおいて受信したクロックにロックオンすることによって、そのリンク速度(即ち主リンク211が動作するときの速度)を検出することができる。実施形態においては、クロックソース及び/又はロック回路、例えば位相ロックループは、クロックを検出し且つそのクロックに同期するために用いられてよく、そのクロックに基いてデータがリンクを介して受信される。
ステップ650では、仮想チャネルのチャネル速度が決定される。例えば、チャネルプロセッサ422及び/又はリンクモジュール420は、仮想チャネルデータが受信されるときの速度を決定することができる。チャネル速度を決定するのに先立ち、リンクモジュール420及び/又はチャネルプロセッサ422は、例えば仮想チャネルの伝送を予め定められたチャネル速度で維持するために中間デバイスによって挿入される任意のフィルデータを取り去る。例えば、ソースデバイス及び/又は中間デバイスは、スタッフィングパケット及びフィルデータを挿入して出て行くチャネル速度を調整することができる。チャネル速度の決定は、入ってくる仮想チャネルデータによって生成されるクロックにロックオンすることに基いていてよい。1つの実施形態では、リンククロックは、入ってくる仮想チャネルデータにより生成されるクロックにロックオンすることによってチャネル速度を決定するための参照として用いられる。
ステップ660では、ソースデータストリームクロック又はソースデータ速度が決定される。例えば、速度導出器424は、チャネルプロセッサ422によって回復されたMパラメータ値及びNパラメータ値、リンクモジュール420によって決定されたリンククロック、並びにチャネルプロセッサ422及びリンクモジュール420によって決定された仮想チャネルデータ速度を受信することができる。受信されたパラメータ及び決定されたクロック速度は、ソースデータ速度を導出するために用いられ得る。1つの実施形態では、ソースデータ速度は以下の計算を用いて決定され得る。
Figure 0005694292
ここで、Nは仮想チャネルクロックの予め定められたサイクル数に対応する時間であり、そしてMはNによって規定されるインターバル内におけるソースデータクロックのサイクル数である。N及びMはソースデバイスから受信されるパラメータである。Fvirtual_channel_rateはチャネル速度であり、シンクデバイスで決定される。Fls_clkはリンク速度であり、ステップ640に関して上述したようにこれもシンクデバイスで決定される。Fsource_data_rateは上記(2)を用いて決定され得る。尚、(2)においては、リンク速度(リンククロック)の代わりに任意の参照クロックが用いられ得る。また、幾つかの実施形態、例えばチャネル速度が独立して決定され得る実施形態においては、ソースデータ速度はM、N、及びチャネル速度のみを用いて決定され得る。
プロセス600は、関連するソースデータストリームクロック速度を再計算するために周期的に繰り返されてよい。また、本発明の実施形態は、ソースデバイスから受信される1つ以上の速度パラメータを用いて関連するソースデータクロック速度を決定するために、プロセス600又は類似のプロセスを実装し得ることも特記しておく。ソースデバイスから受信する速度パラメータは、仮想チャネルクロック速度及びソースデータクロック速度に関連する。
以上説明したように、本発明は、シンクデバイスがソースデバイスに直接的に又は間接的に結合されているかどうかにかかわらず、シンクデバイスが等時性データストリームのソースデータ速度を決定することを可能にする。ソースデータストリームに対する仮想チャネルを起動すると共に、次いでチャネル速度をソースデータ速度に関係付ける1つ以上のパラメータをシンクデバイスへ連絡することによって、ソースデバイスは、ソースデバイス及びシンクデバイスが異なるリンククロックを有している場合であっても、関連するソースクロックをシンクデバイスが再現することを可能にする。
従来の試みと比較した本発明の効果は、分岐デバイス及びシンクデバイスにおけるコストの低減及び複雑さの軽減、ロック時間の短縮、信号対雑音比の向上、並びに複数の表現デバイスの間でのオーディオ位相調整の可能性を含む。分岐デバイスは、Mパラメータ及びNパラメータを再計算する必要なしにそれらを次に伝えれば済むので、分岐デバイスを単純化することができる。シンクデバイスには、仮想チャネルクロックを決定すること及び必要なソース速度を計算すること以外に負担が課せられないので、シンクデバイスを単純化することができる。また、本発明はソースデータ速度のより正確な回復を可能にするので、受信した信号の信号対雑音比がより高くなる。更に、本発明は処理パス(processing path)に起因する可変遅延成分を排除するので、複数の表現デバイスの間での位相調整が可能になる。
概要及び要約の部は、発明者によって検討された本発明の1つ以上のしかし全部ではない例示的な実施形態を説明することができ、従って本発明及び添付の特許請求の範囲を限定することが意図されているわけではけっしてない。
特定の機能の実装及びそれらの関係性を示す機能構築ブロックを補助として、本発明が上述のように説明されてきた。これらの機能構築ブロックの境界は、説明の便宜上ここでは適宜画定されてきた。特定の機能及びそれらの関係性が適切に実行される限りにおいて、代替的な境界が画定されてよい。
特定の実施形態の上述した説明は、本発明の一般的性質を十分に明らかにするであろうから、他者は、当業者の知識を適用することによって、過度の実験を必要とせず、本発明の一般的概念から逸脱することなく、そのような特定の実施形態を容易に修正し且つ/又は種々の応用に適用することができる。従って、そのような適用及び修正は、ここに提示されている教示及び指針に基いて、開示されている実施形態と均等なものの意味及び範囲の範疇にあることが意図されている。ここでの用語等は、本出願書類の用語等が教示及び指針の下で当業者によって解釈されるべきであるという点において、説明を目的としたものであって限定を目的としていないことが理解されるべきである。
本発明の広さ及び範囲は、上述したいかなる例示的な実施形態によっても限定されるべきではなく、以下の特許請求の範囲及びそれらと均等なものに従ってのみ画定されるべきである。

Claims (20)

  1. ソースデータストリームをソースデバイスからシンクデバイスへ伝送するための方法であって、
    (i)前記ソースデータストリーム及び(ii)前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける2つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介して前記ソースデバイスから前記シンクデバイスへ形成することを備えた方法。
  2. 前記形成することは、フィルデータを除外したデータ速度に基いて前記論理チャネルの前記データ速度を決定することを備えている請求項1の方法。
  3. 前記形成することは、
    前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第1の速度パラメータを決定することと、
    前記第1の速度パラメータ及び前記論理チャネルクロックに基いて決定される第1のインターバル内におけるソースストリームクロックのサイクル数に対応する第2の速度パラメータを決定することとを備えており、
    前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係し、前記2つ以上の速度パラメータは前記第1の速度パラメータ及び前記第2の速度パラメータを含む請求項1の方法。
  4. 前記第1のパラメータ及び前記第2のパラメータを前記論理チャネルに埋め込むことを更に備えた請求項3の方法。
  5. 前記ソースデータストリームを前記ソースデバイスで受信することと、
    前記受信されたソースデータストリームに基いて前記ソースデータストリームの前記データ速度を決定することとを更に備えた請求項1の方法。
  6. 前記ソースデータストリームを前記ソースデバイスで生成することと、
    前記生成されたソースデータストリームに基いて前記ソースデータストリームの前記データ速度を決定することとを更に備えた請求項1の方法。
  7. 前記論理チャネルを前記シンクデバイスへ1つ以上の分岐デバイスを介して伝送することを更に備えた請求項1の方法。
  8. ソースデータストリームのデータ速度をシンクデバイスが回復するための方法であって、
    ソースデバイスから前記シンクデバイスへ物理リンクを介して前記ソースデータストリームを搬送する論理チャネルを、受信したデータストリームにおいて検出することと、
    前記受信したデータストリームから2つ以上の速度パラメータを回復することと、
    前記論理チャネルのデータ速度を決定することと、
    前記論理チャネルの前記データ速度及び前記2つ以上の速度パラメータに基き前記ソースデータストリームの前記データ速度を決定することとを備えた方法。
  9. 前記ソースデータストリームの前記データ速度を決定することは、リンク速度に基いている請求項8の方法。
  10. 前記2つ以上の速度パラメータを回復することは、
    第1の速度パラメータを受信することと、
    第2の速度パラメータを受信することとを備えており、
    前記第1の速度パラメータ及び前記第2の速度パラメータは、前記ソースデータストリームの前記データ速度を前記論理チャネルの前記データ速度に関係付ける請求項8の方法。
  11. 前記論理チャネルのデータ速度を決定することは、
    フィルデータを除外したデータ速度に基き前記論理チャネルの前記データ速度を決定することを備えている請求項8の方法。
  12. 前記ソースデータストリームの前記データ速度を決定することは、
    前記論理チャネルの前記データ速度に前記第2の速度パラメータと前記第1の速度パラメータの比を乗ずることを備えている請求項8の方法。
  13. ソースデバイスと、前記ソースデバイスに直接的に又は間接的に結合されるシンクデバイスとを備えたデータ伝送システムであって、
    前記ソースデバイスは、
    (i)ソースデータストリーム及び(ii)前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける2つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介して前記ソースデバイスから前記シンクデバイスへ形成し、
    前記物理リンクを介して前記論理チャネルを送信するように構成され、
    前記シンクデバイスは、
    受信したデータストリームにおいて前記論理チャネルを検出し、
    前記受信したデータストリームから前記2つ以上の速度パラメータを回復し、
    前記論理チャネルの前記データ速度を決定し、
    前記論理チャネルの前記データ速度及び前記2つ以上の速度パラメータに基き前記ソースデータストリームの前記データ速度を決定するように構成されるデータ伝送システム。
  14. 前記ソースデバイス及び前記シンクデバイスに直接的に又は間接的に結合される分岐デバイスを更に備え、前記分岐デバイスは、
    前記論理チャネルを受信し、
    前記受信した論理チャネルを前記論理チャネルの前記データ速度で送信するように構成される請求項13のデータ伝送システム。
  15. 前記ソースデバイスは、
    前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第1の速度パラメータを決定し、
    前記第1の速度パラメータ及び前記論理チャネルクロックに基いて決定される第1のインターバル内におけるソースストリームクロックのサイクル数に対応する第2の速度パラメータを決定し、
    前記第1の速度パラメータ及び前記第2の速度パラメータを前記シンクデバイスへ送信するように更に構成され、
    前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係する請求項13のデータ伝送システム。
  16. 出て行く物理リンク及び前記シンクデバイスに入ってくる物理リンクはディスプレイポート標準に適合する請求項13のデータ伝送システム。
  17. 1つ以上のプロセッサによって実行される1つ以上の命令であって、ソースデータストリームをシンクデバイスに送信するための動作を前記1つ以上のプロセッサに実行させる1つ以上の命令の1つ以上のシーケンスを搬送するコンピュータ可読記憶体であって、
    前記1つ以上の命令は、
    i)ソースデータストリーム及び(ii)前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける2つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介してソースデバイスから前記シンクデバイスへ形成することを含む、コンピュータ可読記憶媒体
  18. 前記1つ以上の命令は、
    前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第1の速度パラメータを決定することと、
    前記第1の速度パラメータ及び前記論理チャネルクロックに基いて決定される第1のインターバル内におけるソースストリームクロックのサイクル数に対応する第2の速度パラメータを決定することと、
    前記第1の速度パラメータ及び前記第2の速度パラメータを前記シンクデバイスへ送信することとを含み
    前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係する請求項17のコンピュータ可読記憶媒体
  19. 1つ以上のプロセッサによって実行される1つ以上の命令であって、ソースデータストリームのデータ速度を回復するための動作を前記1つ以上のプロセッサに実行させる1つ以上の命令の1つ以上のシーケンスを搬送するコンピュータ可読記憶体であって、
    前記1つ以上の命令は、
    ソースデバイスから物理リンクを介して前記ソースデータストリームを搬送する論理チャネルを、受信したデータストリームにおいて検出することと、
    前記受信したデータストリームから2つ以上の速度パラメータを回復することと、
    前記論理チャネルのデータ速度を決定することと、
    前記論理チャネルの前記データ速度及び前記2つ以上の速度パラメータに基き前記ソースデータストリームのデータ速度を決定することとを含む、コンピュータ可読記憶媒体
  20. 前記1つ以上の命令は、
    前記ソースデータストリームの前記データ速度がリンク速度に基いていることを決定することを含む請求項19のコンピュータ可読記憶媒体
JP2012505247A 2009-04-14 2010-04-12 埋め込まれたクロックの回復 Active JP5694292B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16913309P 2009-04-14 2009-04-14
US61/169,133 2009-04-14
PCT/IB2010/000811 WO2010119326A1 (en) 2009-04-14 2010-04-12 Embedded clock recovery

Publications (2)

Publication Number Publication Date
JP2012523784A JP2012523784A (ja) 2012-10-04
JP5694292B2 true JP5694292B2 (ja) 2015-04-01

Family

ID=42934396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012505247A Active JP5694292B2 (ja) 2009-04-14 2010-04-12 埋め込まれたクロックの回復

Country Status (6)

Country Link
US (2) US8161204B2 (ja)
EP (2) EP2420013B1 (ja)
JP (1) JP5694292B2 (ja)
KR (2) KR101627779B1 (ja)
CN (2) CN107257264B (ja)
WO (1) WO2010119326A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429440B2 (en) 2009-05-13 2013-04-23 Stmicroelectronics, Inc. Flat panel display driver method and system
US8156238B2 (en) 2009-05-13 2012-04-10 Stmicroelectronics, Inc. Wireless multimedia transport method and apparatus
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US8611486B2 (en) * 2011-04-08 2013-12-17 Silicon Image, Inc. Adjustment of clock signals regenerated from a data stream
US9165537B2 (en) * 2011-07-18 2015-10-20 Nvidia Corporation Method and apparatus for performing burst refresh of a self-refreshing display device
US9712573B2 (en) * 2011-09-13 2017-07-18 Qualcomm Incorporated Synchronized wireless display devices
US8730328B2 (en) 2011-10-06 2014-05-20 Qualcomm Incorporated Frame buffer format detection
WO2013089793A1 (en) * 2011-12-17 2013-06-20 Intel Corporation Audio/video streaming in a topology of devices with native wigig sink
KR102176504B1 (ko) * 2014-02-25 2020-11-10 삼성디스플레이 주식회사 표시장치와 그 구동방법
JP6500890B2 (ja) * 2014-03-03 2019-04-17 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US9794979B2 (en) * 2015-04-13 2017-10-17 Qualcomm Incorporated Method for arbitration and adaptive power-cycling in a multi-channel network
US10148582B2 (en) * 2016-05-24 2018-12-04 Samsung Electronics Co., Ltd. Managing buffers for rate pacing
KR20180024616A (ko) * 2016-08-30 2018-03-08 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 캘리브레이션 수행 방법
JP6945198B2 (ja) * 2017-06-29 2021-10-06 ヌヴォトンテクノロジージャパン株式会社 クロックリカバリシステム
JP6617388B1 (ja) * 2018-06-21 2019-12-11 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、映像表示装置、および映像表示システム
CN116580680B (zh) * 2023-07-11 2024-02-20 苏州华星光电技术有限公司 显示面板的驱动方法、亮度补偿装置及显示装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763319A (en) * 1986-05-19 1988-08-09 Bell Communications Research, Inc. Multi-rate synchronous virtual circuit network for voice and data communications
US5544324A (en) * 1992-11-02 1996-08-06 National Semiconductor Corporation Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate
JPH08340350A (ja) * 1995-06-12 1996-12-24 Sony Corp データ伝送システム
JP3317140B2 (ja) * 1996-05-07 2002-08-26 ヤマハ株式会社 データ伝送方式
EP1102171A3 (en) 1999-11-22 2004-09-08 Texas Instruments Incorporated Universal serial bus network peripheral device
JP4575643B2 (ja) * 2000-07-26 2010-11-04 トムソン ライセンシング 非同期デジタルホームネットワークにおけるマルチメディアジッタの除去
US7123673B2 (en) * 2001-07-19 2006-10-17 Visteon Global Technologies, Inc. System and method for transmission of digital information of varying sample rates over a synchronous network
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US7158596B2 (en) * 2002-08-14 2007-01-02 Standard Microsystems Corp. Communication system and method for sending and receiving data at a higher or lower sample rate than a network frame rate using a phase locked loop
JP2004153437A (ja) * 2002-10-29 2004-05-27 Murata Mfg Co Ltd 通信装置および通信状態最適化システム
US6992987B2 (en) * 2003-05-01 2006-01-31 Genesis Microchip Inc. Enumeration method for the link clock rate and the pixel/audio clock rate
US7800623B2 (en) * 2003-09-18 2010-09-21 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
FR2898452A1 (fr) * 2006-03-13 2007-09-14 Thomson Licensing Sas Procede de generation d'un double descripteur temporel pour la transmission d'un signal genlock sur un reseau ip
US8766955B2 (en) * 2007-07-25 2014-07-01 Stmicroelectronics, Inc. Methods and apparatus for latency control in display devices

Also Published As

Publication number Publication date
WO2010119326A1 (en) 2010-10-21
US20120236755A1 (en) 2012-09-20
EP2420013B1 (en) 2019-11-13
EP2420013A1 (en) 2012-02-22
US20100260296A1 (en) 2010-10-14
KR101627779B1 (ko) 2016-06-08
CN102439926A (zh) 2012-05-02
CN107257264B (zh) 2019-10-11
EP3664323A1 (en) 2020-06-10
KR101615296B1 (ko) 2016-04-25
US8626966B2 (en) 2014-01-07
EP3664323B1 (en) 2021-07-07
KR20150048253A (ko) 2015-05-06
EP2420013A4 (en) 2015-04-15
US8161204B2 (en) 2012-04-17
JP2012523784A (ja) 2012-10-04
CN107257264A (zh) 2017-10-17
KR20120004503A (ko) 2012-01-12

Similar Documents

Publication Publication Date Title
JP5694292B2 (ja) 埋め込まれたクロックの回復
KR101514413B1 (ko) 정보 스큐 및 리던던트 콘트롤 정보에 의한 데이터 송신 장치 및 방법
US8397272B2 (en) Multi-stream digital display interface
US9015357B2 (en) Method and device for providing high speed data transmission with video data
JP5628925B2 (ja) 無線ネットワークでのオーディオ通信のための無線通信方法及びシステム
JP2007020166A (ja) Hdmi伝送システム
KR101787424B1 (ko) 패킷화된 통신 네트워크를 통해 통신되는 스트리밍 콘텐츠를 위한 클럭 복원 메커니즘
EP3281317B1 (en) Multi-layer timing synchronization framework
KR20070008069A (ko) 음성/영상신호의 동기화 장치 및 방법
US9559882B2 (en) Apparatus and methods for flexible provision of control data in large data structures
WO2023282959A1 (en) System and method to synchronize rendering of multi-channel audio to video presentation
JP2011160181A (ja) 信号伝送システム、ソース装置及びシンク装置
JP5456538B2 (ja) インタフェース回路およびそれを用いた電子機器
JP2004040265A (ja) 画像伝送装置
JP2010533388A (ja) モバイル・ディスプレイ・ディジタル・インターフェース用パケット構造

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140605

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: 20150113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150204

R150 Certificate of patent or registration of utility model

Ref document number: 5694292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250