(57)【特許請求の範囲】
【請求項１】
ソースデータストリームをソースデバイスからシンクデバイスへ伝送するための方法であって、
（i）前記ソースデータストリーム及び（ii）前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける２つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介して前記ソースデバイスから前記シンクデバイスへ形成することを備えた方法。
【請求項２】
前記形成することは、フィルデータを除外したデータ速度に基いて前記論理チャネルの前記データ速度を決定することを備えている請求項１の方法。
【請求項３】
前記形成することは、
前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第１の速度パラメータを決定することと、
前記第１の速度パラメータ及び前記論理チャネルクロックに基いて決定される第１のインターバル内におけるソースストリームクロックのサイクル数に対応する第２の速度パラメータを決定することとを備えており、
前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係し、前記２つ以上の速度パラメータは前記第１の速度パラメータ及び前記第２の速度パラメータを含む請求項１の方法。
【請求項４】
前記第１のパラメータ及び前記第２のパラメータを前記論理チャネルに埋め込むことを更に備えた請求項３の方法。
【請求項５】
前記ソースデータストリームを前記ソースデバイスで受信することと、
前記受信されたソースデータストリームに基いて前記ソースデータストリームの前記データ速度を決定することとを更に備えた請求項１の方法。
【請求項６】
前記ソースデータストリームを前記ソースデバイスで生成することと、
前記生成されたソースデータストリームに基いて前記ソースデータストリームの前記データ速度を決定することとを更に備えた請求項１の方法。
【請求項７】
前記論理チャネルを前記シンクデバイスへ１つ以上の分岐デバイスを介して伝送することを更に備えた請求項１の方法。
【請求項８】
ソースデータストリームのデータ速度をシンクデバイスが回復するための方法であって、
ソースデバイスから前記シンクデバイスへ物理リンクを介して前記ソースデータストリームを搬送する論理チャネルを、受信したデータストリームにおいて検出することと、
前記受信したデータストリームから２つ以上の速度パラメータを回復することと、
前記論理チャネルのデータ速度を決定することと、
前記論理チャネルの前記データ速度及び前記２つ以上の速度パラメータに基き前記ソースデータストリームの前記データ速度を決定することとを備えた方法。
【請求項９】
前記ソースデータストリームの前記データ速度を決定することは、リンク速度に基いている請求項８の方法。
【請求項１０】
前記２つ以上の速度パラメータを回復することは、
第１の速度パラメータを受信することと、
第２の速度パラメータを受信することとを備えており、
前記第１の速度パラメータ及び前記第２の速度パラメータは、前記ソースデータストリームの前記データ速度を前記論理チャネルの前記データ速度に関係付ける請求項８の方法。
【請求項１１】
前記論理チャネルのデータ速度を決定することは、
フィルデータを除外したデータ速度に基き前記論理チャネルの前記データ速度を決定することを備えている請求項８の方法。
【請求項１２】
前記ソースデータストリームの前記データ速度を決定することは、
前記論理チャネルの前記データ速度に前記第２の速度パラメータと前記第１の速度パラメータの比を乗ずることを備えている請求項８の方法。
【請求項１３】
ソースデバイスと、前記ソースデバイスに直接的に又は間接的に結合されるシンクデバイスとを備えたデータ伝送システムであって、
前記ソースデバイスは、
（i）ソースデータストリーム及び（ii）前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける２つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介して前記ソースデバイスから前記シンクデバイスへ形成し、
前記物理リンクを介して前記論理チャネルを送信するように構成され、
前記シンクデバイスは、
受信したデータストリームにおいて前記論理チャネルを検出し、
前記受信したデータストリームから前記２つ以上の速度パラメータを回復し、
前記論理チャネルの前記データ速度を決定し、
前記論理チャネルの前記データ速度及び前記２つ以上の速度パラメータに基き前記ソースデータストリームの前記データ速度を決定するように構成されるデータ伝送システム。
【請求項１４】
前記ソースデバイス及び前記シンクデバイスに直接的に又は間接的に結合される分岐デバイスを更に備え、前記分岐デバイスは、
前記論理チャネルを受信し、
前記受信した論理チャネルを前記論理チャネルの前記データ速度で送信するように構成される請求項１３のデータ伝送システム。
【請求項１５】
前記ソースデバイスは、
前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第１の速度パラメータを決定し、
前記第１の速度パラメータ及び前記論理チャネルクロックに基いて決定される第１のインターバル内におけるソースストリームクロックのサイクル数に対応する第２の速度パラメータを決定し、
前記第１の速度パラメータ及び前記第２の速度パラメータを前記シンクデバイスへ送信するように更に構成され、
前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係する請求項１３のデータ伝送システム。
【請求項１６】
出て行く物理リンク及び前記シンクデバイスに入ってくる物理リンクはディスプレイポート標準に適合する請求項１３のデータ伝送システム。
【請求項１７】
１つ以上のプロセッサによって実行される１つ以上の命令であって、ソースデータストリームをシンクデバイスに送信するための動作を前記１つ以上のプロセッサに実行させる１つ以上の命令の１つ以上のシーケンスを搬送するコンピュータ可読記憶媒体であって、
前記１つ以上の命令は、
（i）ソースデータストリーム及び（ii）前記ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける２つ以上の速度パラメータを搬送するように構成される前記論理チャネルを、物理リンクを介してソースデバイスから前記シンクデバイスへ形成することを含む、コンピュータ可読記憶媒体。
【請求項１８】
前記１つ以上の命令は、
前記論理チャネルの前記データ速度に関係する論理チャネルクロックの予め定められたサイクル数に対応する第１の速度パラメータを決定することと、
前記第１の速度パラメータ及び前記論理チャネルクロックに基いて決定される第１のインターバル内におけるソースストリームクロックのサイクル数に対応する第２の速度パラメータを決定することと、
前記第１の速度パラメータ及び前記第２の速度パラメータを前記シンクデバイスへ送信することとを含み、
前記ソースストリームクロックは前記ソースデータストリームの前記データ速度に関係する請求項１７のコンピュータ可読記憶媒体。
【請求項１９】
１つ以上のプロセッサによって実行される１つ以上の命令であって、ソースデータストリームのデータ速度を回復するための動作を前記１つ以上のプロセッサに実行させる１つ以上の命令の１つ以上のシーケンスを搬送するコンピュータ可読記憶媒体であって、
前記１つ以上の命令は、
ソースデバイスから物理リンクを介して前記ソースデータストリームを搬送する論理チャネルを、受信したデータストリームにおいて検出することと、
前記受信したデータストリームから２つ以上の速度パラメータを回復することと、
前記論理チャネルのデータ速度を決定することと、
前記論理チャネルの前記データ速度及び前記２つ以上の速度パラメータに基き前記ソースデータストリームのデータ速度を決定することとを含む、コンピュータ可読記憶媒体。
【請求項２０】
前記１つ以上の命令は、
前記ソースデータストリームの前記データ速度がリンク速度に基いていることを決定することを含む請求項１９のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してソースデバイス(source device)及びシンクデバイス(sink device)を同期させることに関する。
【背景技術】
【０００２】
送信機と受信機の間でのクロック同期は、データ通信の重要な側面である。多くの場合、クロック同期は、送信機と受信機を接続している物理リンクを介してデータを送信するために用いられるクロック周波数を参照する。しかし、幾つかのデータ通信アプリケーションにおいては、受信機は、物理リンクのクロック周波数ではないクロック周波数を決定する必要がある。例えば、テレビジョンディスプレイ等の受信機は、ＤＶＤデコーダ等のデータソースがデータのストリームを出力するときのクロック周波数を決定する必要があるかもしれない。元のデータが送信機にソースされるときのクロック速度を受信機が必要とする場合におけるデータストリームは、等時性(isochronous)データストリームと称される。
【０００３】
等時性データストリームの伝送のために知られている方法が存在する。１つの従来の方法は、ソースデータ速度をリンクデータ速度に関係付けるシンクデバイスへ１つ以上のパラメータをソースデバイスが送信することを必要とする。しかし、ソース及びシンクでのリンクデータ速度が異なる場合にリンクデータ速度に依存することは、両立不能性(incompatibilities)を招く可能性がある。別の従来の方法は、シンクデバイスでバッファを利用し、この場合、シンクがバッファの深さ(depth)を用いてクロック速度を決定する。しかし、バッファに頼ることは、変化しやすい遅延及び高価なバッファの必要性を導入してしまう。更に別の従来の方法は何らかの中間デバイスを必要とし、中間デバイスは、そこに入ってくるリンク速度及びそこから出て行くリンク速度に基いて、ソースデバイスによって送信される速度パラメータを再生成する(regenerate)。しかし、速度パラメータを再生成する中間デバイスの必要性は、複雑さ及びコストをそのようなデバイスに付加する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、シンクデバイスがソースデータストリームのクロック速度を回復する(recover)ことが可能な改良された方法及びシステムが求められる。より特定的には、等時性データストリームの伝送の間にソースデバイスとシンクデバイスを同期させるための改良された方法が求められている。
【課題を解決するための手段】
【０００５】
ソース及びシンクデバイスを同期させるための装置及び方法が開示され、ここでは、シンクデバイスがソースデバイスに直接的に結合されていない場合であっても、シンクデバイスはソースデータ速度を効率的に決定することができる。ソースデータストリームをソースデバイスからシンクデバイスへ伝送するための方法は、論理チャネルをソースデバイスからシンクデバイスへ形成することを含む。論理チャネルは、ソースデータストリーム及び１つ以上の速度パラメータを搬送するように構成される。速度パラメータは、ソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける。
【０００６】
ソースデータ速度をシンクデバイスが回復するための方法は、ソースデータストリームを含む論理チャネルを、受信したデータストリームにおいて検出することと、受信したデータストリームから１つ以上の速度パラメータを回復することと、論理チャネルのデータ速度を決定することと、論理チャネルのデータ速度及び１つ以上の速度パラメータに基きソースデータストリームのデータ速度を決定することとを含む。
【０００７】
シンクデバイスがソースデータ速度を決定することを可能にするデータ伝送システムは、ソースデバイスと、ソースデバイスに直接的に又は間接的に結合されるシンクデバイスとを含む。ソースデバイスは、（i）ソースデータストリーム及び（ii）１つ以上の速度パラメータを搬送するように構成される論理チャネルをソースデバイスからシンクデバイスへ形成すると共に伝送リンクを介して論理チャネルを送信するように構成される。速度パラメータはソースデータストリームのデータ速度を論理チャネルのデータ速度に関係付ける。シンクデバイスは、受信したデータストリームにおいて論理チャネルを検出し、受信したデータストリームから１つ以上の速度パラメータを回復し、論理チャネルのデータ速度を決定し、そして論理チャネルのデータ速度及び１つ以上の速度パラメータに基きソースデータストリームのデータ速度を決定するように構成される。
【０００８】
本発明の更なる実施形態、特徴、及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明される。
【図面の簡単な説明】
【０００９】
出願書類に組み込まれ且つその一部をなす添付の図面は、本発明の実施形態を示し、そして上述の一般的な説明及び後述の実施形態の詳細な説明と共に、本発明の原理を説明するのに役立つ。
【００１０】
【図１】図１は本発明の実施形態に従いソースデバイス及びシンクデバイスを含むシステムを示す図である。
【００１１】
【図２】図２は本発明の実施形態に従いソースデバイス、中間デバイス、及び多重シンクデバイスを含むシステムを示す図である。
【００１２】
【図３】図３は本発明の実施形態に従うソースデバイスを示す図である。
【００１３】
【図４】図４は本発明の実施形態に従うシンクデバイスを示す図である。
【００１４】
【図５】図５は本発明の実施形態に従うソースデバイスに実装されるプロセスにおけるステップを示すフローチャートである。
【００１５】
【図６】図６は本発明の実施形態に従うシンクデバイスに実装されるプロセスにおけるステップを示すフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の実施形態は、シンクデバイスにおいてソースクロック速度の効率的な回復を可能にすることができる。本発明はここでは特定のアプリケーションのための例示的な実施形態と共に説明されるが、本発明はそれらに限定されないことが理解されるべきである。ここに提供される教示を利用可能な当業者であれば、その範囲内及び本発明が有意に有用であろう追加的な分野における追加的な修正、応用、及び実施形態を認識するであろう。
【００１７】
本発明の実施形態は、任意のコンピュータシステム、計算デバイス、エンタテーメントシステム、メディアシステム、ゲームシステム、又は１つ以上の伝送リンクがソースデバイスとシンクデバイスを結合している任意のシステムにおいて用いられ得る。本発明は、システムが等時性データストリームを備えている場合に特に有用である。
【００１８】
等時性データストリームは、送信されたデータが生成されたときのクロック周波数を受信機（即ちシンクデバイス）が決定可能であることを必要とする。非圧縮のオーディオデータストリーム及びビデオデータストリームは等時性データストリームの例である。例えば、ＤＶＤプレイヤからの非圧縮のオーディオ及びビデオストリームを受信しているフラットパネルテレビジョンディスプレイは、受信したデータストリームをディスプレイにおいて適切に表現するために、ＤＶＤプレイヤがデータをストリームしたときの速度を必要とするであろう。
【００１９】
ディスプレイポート(DisplayPort)、高精細度マルチメディアインタフェース(High Definition Multimedia Interface)（ＨＤＭＩ）、デジタルビジュアルインタフェース(Digital Visual Interface)（ＤＶＩ）等のような業界標準が、ソースデバイスを１つ以上のシンクデバイスに接続するためのインタフェースを規定している。例えばディスプレイポートは、ソースデータに適用されるクロック周波数をシンクデバイスが回復することを可能にするための方法を規定している。ディスプレイポート１．１においては、ソースデータ速度及びリンク速度に関連するＭパラメータ及びＮパラメータをソースデバイスが計算し、そして計算されたＭパラメータ及びＮパラメータはシンクデバイスへ伝送される。シンクデバイスは、ソースデバイスによって送られるＭパラメータ及びＮパラメータを取り込み(retrieves)、また、入ってくるリンク速度を決定することによって、シンクデバイスは、ソースデバイスで用いられているソースデータ速度を決定することができる。しかし、ディスプレイポート１．１において規定される方法は、ソースが直接的にシンクデバイスに結合されている場合に適切であろうから、データストリームがシンクデバイスに到着する前に多重リンクを行き来する場合には機能しなくなる。例えばソースデータストリームが多重リンクを行き来する場合、ソースでのリンク速度は、シンクでのリンク速度とは異なるであろう。本発明は、シンクデバイスがソースデバイスに直接的に又は間接的に結合されているかにかかわらず、シンクデバイスがソースデータ速度を決定することを可能にする。本発明は、一対の埋め込みパラメータ(embedded parameters)を提供することによって、ソース速度の回復を加速し且つ単純化する。実施形態によると、ロバストに検出可能なデータチャネル(robustly detectable data channel)が十分に調整された速度で提供され、参照速度をソースからシンクへ伝送する。加えて、データチャネルに埋め込まれたデータの速度のデータチャネルに対する安定で且つ正確な測定が伝送される。
【００２０】
本発明は、概して、受信したデータストリームに埋め込まれたデータを構文解析する(parse)必要性をなくす。埋め込みデータを構文解析することは、種々の機能障害を引き起こす可能性がある。例えば、ビデオデータはデータ伝送の無いブランクインターバルを有しているので、シンクは、アクティブなインターバルを調べることのみによってどのようにして速度を再現するのかを決定する必要がある。例えば、垂直ブランク領域(vertical blanking region)におけるビデオデータ速度変化を追跡することは可能ではないであろう。また、ビデオストリームに埋め込まれたオーディオデータは、概してバースト的(bursty)であり（例えばその伝送がアクティブなビデオデータによって周期的にブロックされることに起因して）、また比較的低い速度でシンクに到着するので、速度追跡を困難にし、しかも比較的長いロック時間(lock times)の原因になっている。このことは、シンクがオーディオデータ速度にロックすることを試みることを理由として、長いターンオン遅延及び／又は歪んだ再生を引き起こす可能性がある。また、シンクの速度回復論理がオーディオデータのバーストを追跡してしまうと、信号歪を潜在的に引き起こす可能性もある。
【００２１】
従来の試みはまた、入力インタフェースリンク速度及び出力インタフェースリンク速度に従って中間デバイスにＭパラメータ及びＮパラメータを更新させることと、入ってくるリンク速度と出て行くリンク速度の間での何らかの倍率(some scaling factor)を中間デバイスに計算させることとを含む。しかし、中間デバイスにそのような機能をさせることは、当該デバイスの複雑さ及びコストを増大する。別の試みは、ストリームシンクデバイスに、オーディオデータ及び／又はビデオデータを先入れ先出し(first-in-first-out)（ＦＩＦＯ）バッファ等のバッファ内へバッファリングさせることを含む。ストリームシンクデバイスは次いで、バッファレベルをモニターし、そしてバッファレベルを用いて、回復されたクロック速度を増大させ且つ／又は減少させる。バッファレベルが高くなるとクロック速度は増大し、その結果、バッファドレイン速度は増大する。バッファレベルが低くなるとクロック速度は減少し、その結果、バッファレベルが高くなる。この試みは、複数のモニターの間でのオーディオ位相不整合、オーディオクロックの増加及び／又は減少に起因するオーディオ信号歪、オーディオ／ビデオクロックに対する時間のかかる（例えば秒単位の）信号ロック時間、並びに比較的にコストのかかるバッファ要件といった問題を引き起こす。
【００２２】
図１は本発明の実施形態に従うシステムである。システム１００は、ソースデバイス１０１、シンクデバイス１０２、主リンク１１０、及び補助リンク１１２を含む。ソースデバイス１０１は、例えば、ＤＶＤデコーダ、ＣＤプレイヤ、デジタルカメラ、又はＭＰ３プレイヤのようなオーディオ及び／又はビデオストリーミングデバイスであってよい。ソースデバイス１０１は、コンピュータ又は等時性データを生成する他の計算デバイスであってもよい。ソースデバイス１０１は、ソースデータのストリームを生成し及び／又は受信し、並びにソースデータをシンクデバイスへ直接的に又は１つ以上の中間デバイス（分岐デバイス）を介してのいずれかで送信する機能性を包含する。ソースデバイス１０１は、必要に応じてソースデータを送信の前に処理する機能性を包含していてもよい。図３は本発明の実施形態に従いソースデバイスの更なる詳細を示している。
【００２３】
シンクデバイス１０２は、例えばテレビジョンディスプレイ、コンピュータディスプレイ、又はオーディオスピーカシステムであってよい。シンクデバイス１０２はオーディオ受信機又はビデオ受信機のような中間デバイスであってもよく、中間デバイスは、ディスプレイ又はスピーカシステムのような表現デバイス(rendering device)へオーディオストリーム及び／又はビデオストリームが送られる前にそのようなストリームに対して種々の処理機能を実行することができる。ここで、シンクデバイス１０２は、ソースデータストリームを表現すること及び／又はソースデータストリームの更なる処理のような理由によりソースデータストリーム及び関連するソースデータ速度を必要とするデバイスを代表する。シンクデバイス１０２は、ソースデータストリームをソースデバイス１０１から受信すると共にソースデータのクロック速度（即ちソースデータ速度）を回復する機能性を包含する。図４は本発明の実施形態に従いシンクデバイスの更なる詳細を示している。
【００２４】
主リンク１１０はソースデバイス１０１とシンクデバイス１０２を結合する。主リンク１１０は伝送リンクであり、それを介してデータ及び制御情報がソースデバイス１０１とシンクデバイス１０２の間で流れることができる。主リンク１１０は、ソースデバイス１０１とシンクデバイス１０２の間での有線接続又は無線接続のような１つ以上の物理的伝送媒体を含んでいてよい。ソースデバイス１０１内の送信機及びシンクデバイス１０２内の受信機は、主リンク１１０を含む多重物理リンクがデータ伝送にとってトランスペアレント(transparent)であるように、主リンク１１０を介した伝送を連携させる(coordinate)ことができる。例えば、伝送されているデータはシンボルレベルで幾つかの物理リンクに分配されてよく、例えば、各シンボルから等しい数のビットは、利用可能な物理リンクの各々を介して伝送され得る。
【００２５】
データは望ましくはパケットベースのフォーマットで主リンク１１０を介して伝送される。パケットは、幾らかの量のデータをカプセル化し、またソースデバイス１０１及びシンクデバイス１０２の両方に知られているフォーマットを有する。例えば、パケットはヘッダ部とデータ部を含んでいてよい。ヘッダ部は、データ部におけるデータの種類、ソースデバイスの識別、シンクデバイスの識別、等のような制御情報を含んでいる。
【００２６】
本発明の幾つかの実施形態は、ソースデバイス１０１とシンクデバイス１０２の間に補助リンク１１２を含み得る。補助リンク１１２は、例えば、ソースデバイス１０１とシンクデバイス１０２の間での制御情報の双方向転送のために用いられ得る。１つの実施形態では、補助リンク１１２は、シンクデバイス１０２によってそのデータ受信能力、例えば最大受信速度をソースデバイス１０１へ通信するために用いられてよく、その結果、ソースデバイス１０１は、規定された速度を超えないようにその送信機を設定することができる。幾つかの実施形態では、補助的なデータ及び制御情報は、別個の補助リンク１１２の代わりに主リンク１１０を介して伝送されてもよい。
【００２７】
仮想チャネル１２０は、主リンク１１０を介してデータストリームを搬送する論理チャネルである。仮想チャネル１２０は、主リンク１１０に論理的に重ねられて(overlaid)おり、そして主リンク１１０の１つ以上の別個の物理リンクを利用することができる。仮想チャネル１２０のような１つ以上の仮想チャネル（しばしば「論理チャネル」とも称される）が主リンク１１０を通して起動されてよい。仮想チャネルに属しているデータは、当該仮想チャネル内でデータを搬送している各パケットのヘッダ部に含まれる１つ以上の識別子に基いて識別され得る。例えば、ヘッダ部は、仮想チャネルを一意的に識別するチャネル識別子を含んでいてよい。
【００２８】
本発明の実施形態においては、仮想チャネル１２０は、ソースデバイス１０１からシンクデバイス１０２へ等時性データストリームを搬送するために用いることができる。例えば、ある仮想チャネルはＤＶＤプレイヤからのビデオデータストリームを搬送するために用いることができ、また別の仮想チャネルは関連するオーディオストリームを搬送するために用いることができる。代替的には、同じ仮想チャネルがオーディオ及びビデオの両方を搬送することができる。仮想チャネル１２０のような仮想チャネルは、等時性データストリームを含む多重同時発生データストリームに対して主リンク１１０の全帯域が利用されることを可能にする。
【００２９】
本発明の実施形態においては、ソースデバイス１０１、シンクデバイス１０２、主リンク１１０、補助リンク１１２、及び仮想チャネル１２０は、ディスプレイポートのような既知の標準、又はその変形の１つに従って動作する。ディスプレイポートは、例えば、主リンク１１０がソースデバイス１０１からシンクデバイス１０２への単方向性であること、及びリンク１１０が１つの、２つの、又は４つの物理リンクを備えていてよいことを規定している。ディスプレイポート標準に従う補助リンク１１２は、シンクデバイス１０２によって取り扱われ得る最大リンク速度及び最大チャネル速度のような情報を含む補助情報の双方向交換のために用いられる。他の実施形態においては、システム１００は、別の既知の標準、例えば高精細度マルチメディアインタフェース（ＨＤＭＩ）、デジタルビジュアルインタフェース（ＤＶＩ）、ビデオグラフィックスアレイ(Video Graphics Array)（ＶＧＡ）若しくはその変形、及び低電圧差動シグナリング(Low Voltage Differential Signaling)（ＬＶＤＳ）、又は同様のカスタムデータ伝送標準に従って動作する主リンク１１０を有していてよい。
【００３０】
図２は本発明の実施形態に従い別のシステム２００を示している。システム２００は、ソースデバイス２０１、多重シンクデバイス２０２及び２０３、並びに分岐デバイス２０４を含む。ソースデバイス２０１並びにシンクデバイス２０２及び２０３は、図１に関して上述したようなものであってよい。分岐デバイス２０４は中間デバイスであり、入ってくるデータストリームを入力として取り、そして１つ以上のシンクデバイスへデータストリームを出力する。システム２００に対応するシステムの例は多重チャネルオーディオスピーカシステムであり、その場合、オーディオ受信機分岐デバイスは、ソースデバイス（例えばＤＶＤプレイヤ）からの入力オーディオストリームを取り、そしてオーディオ及びビデオを別個のシンクデバイス（例えば各オーディオチャネルのための別個のスピーカ及びビデオのためのテレビジョンディスプレイ）へ分配する。別の例はビデオスプリッタシステムであってよく、単一のソースデバイス（例えばコンピュータ）からのビデオ出力が多重シンクデバイス（例えば複数のディスプレイデバイス）へ分配されることを可能にする。
【００３１】
システム２００はディスプレイポート標準、又は１つ以上のその変形に適合していてもよい。従って、主リンク２１０、２１１、及び２１２は、等時性データストリームの搬送のために用いられる単方向リンクであってよい。各等時性データストリームは、例えば、仮想チャネル内で伝送されてよい。例えば、ソースデバイス２０１において生成されるビデオストリームのような等時性データストリームは、ソースデバイス２０１から分岐デバイス２０４へ仮想チャネル２２０において伝送され得る。分岐デバイス２０４は次いでビデオストリームをディスプレイモニタであってよいシンクデバイス２０２及び２０３へ分配する。分岐デバイス２０４からシンクデバイスの各々へのビデオストリームは、仮想チャネルにおいて伝送される。主リンク２１０、２１１、及び２１２のリンク速度は互いに異なっていてよい。
【００３２】
システム１００、２００等に対応して、本発明の説明は幾つかのクロック周波数が区別されることを必要とする。ここで用いられる「シンボル」は、「データシンボル」又は「制御シンボル」を参照し得る。データシンボルは、ソースデバイス及びシンクデバイスに知られているプロトコルに従ってエンコードされている伝送されるべきデータである。データシンボルは、表示されるべきビデオデータのようなアクティブデータの他にブランキングインターバルデータ(blanking interval data)を含み得る。制御シンボルは、データシンボルをフレーミング(framing)するために用いられる一連のシンボルであって、ソースデバイス及びシンクデバイスによって知られているプロトコルに従ってエンコードされる。
【００３３】
リンク速度は、シンボルが主リンク２１０、２１１、及び２１２のような物理リンク上で伝送されるときの速度又は周波数を参照する。各主リンク２１０、２１１、及び２１２は異なるリンク速度を各々が有していてよい。リンク速度に関係するのは、それぞれのリンクにわたってタイミングを確立するリンクシンボルクロック、即ちＬＳ＿ＣＬＫである。
【００３４】
ソースデータ速度は、ソースがデータストリームを出力するときの速度又は周波数である。例えば、ＤＶＤデコーダからのビデオソースデータ速度は、デコーダからビデオデータが出力されるときの速度である。ＤＶＤデコーダからのオーディオソースデータ速度は、デコーダからオーディオデータが出力されるときの速度である。このように、ソースデータ速度は、実際のビデオデータのようなアクティブデータの他にブランキングインターバルを含む。データストリームのソースデータ速度の回復は本発明の鍵となる側面である。
【００３５】
仮想チャネルデータ速度は、ソースデータを含むデータがインタフェース送信機デバイスへ入力されるときの速度又は周波数である。また、仮想チャネルデータ速度は、インタフェース受信デバイスが、受信したデータストリームをシンクデバイスへ表現のために入力するときの速度でもある。換言すれば、仮想チャネルデータ速度は、仮想チャネルのためのデータが送信機へ入力されるときの速度である。従って、仮想チャネルデータ速度は、対応するソースデータ速度よりも高く且つリンク速度よりも低い。
【００３６】
図３は本発明の実施形態に従うソースデバイス２０１を示している。ソースデバイス２０１は、制御器３０１、メモリ３０２、永続的ストレージ(persistent storage)３０３、通信フレームワーク３０４、データソース３１０、リンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ(channelizer)３２２、及び参照速度モジュール３２４を含む。制御器３０１は、中央プロセッサユニット（ＣＰＵ）又はグラフィクスプロセッサユニット（ＧＰＵ）を含む任意の１つ以上のプロセッサであってよい。制御器３０１はソースデバイス２０１内のデバイスの動作を制御する。例えば、制御器３０１は、リンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ３２２、及び参照速度モジュール３２４の１つ以上を実装している論理命令を実行することができる。リンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ３２２、及び参照速度モジュール３２４の論理命令は、ソフトウエア、ハードウエア、又はそれらの組み合わせにおいて実装され得る。
【００３７】
メモリ３０２は、１つ以上のメモリデバイス、例えばダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイスを含む。メモリ３０２は、実行のための必要性に応じて、リンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ３２２、及び参照速度モジュール３２４を含む部分モジュールのための論理を記憶するのに用いられる。メモリ３０２は、データソース３１０から送信インタフェース３３０へ入ってくるストリームデータをバッファするためにも用いられ得る。
【００３８】
永続的ストレージ３０３は、磁気ディスク、光ディスク、フラッシュメモリ等のような１つ以上の永続的ストレージデバイスを含んでいてよい。永続的ストレージ３０３は、リンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ３２２、及び参照速度モジュール３２４の論理を必要に応じて記憶することができる。例えば１つの実施形態では、永続的ストレージ３０３は、ソースデバイス２０１の起動に際してメモリ３０２内へロードされるべき実行可能な形態にあるソフトウエアにおいて実装されるリンクモジュール３２０、送信インタフェース３３０、クロックソース３４０、チャネライザ３２２、及び参照速度モジュール３２４の全ての部分を記憶している。
【００３９】
通信バス３０４は、３０１、３０２、３０３、３１０、３２０、３２２、３２４、３３０、及び３４０の２つ以上のようなソースデバイス２０１の複数のコンポーネントを結合する。通信バス３０４は、周辺コンポーネントインタフェース(Peripheral Component Interface)（ＰＣＩ）バス若しくはその変形の１つ、ユニバーサルシリアルバス(Universal Serial Bus)（ＵＳＢ）、ファイアワイヤ(Firewire)、イーサネット(登録商標)、又は同様のデバイスを含んでいてよい。
【００４０】
データソース３１０は、ソースデータストリームを生成する任意のデバイスであってよい。例えば、ビデオ又は音楽の再生デバイス（例えばＤＶＤ、ＣＤ、ＭＰ３、デジタルカメラ等の再生デバイス又はデコーダ）がデータソース３１０に含まれていてよい。１つの実施形態では、データソース３１０は、ＤＶＤに記憶されているビデオデータを、データが送信インタフェース３３０へ送られる前にデコードすると共に非圧縮化する(uncompresses)ＤＶＤ再生デバイスであってよい。例えば、ＤＶＤビデオデータは、動画専門家グループバージョン２(Motion Picture Experts Group version 2)（ＭＰＥＧ２）ビデオ圧縮標準を用いて記憶されていてよい。データソース３１０は、ＭＰＥＧ２標準に従ってＭＰＥＧ２ビデオを非圧縮化すると共に非圧縮化されたビデオデータをリンクモジュール３２０内へ注入するであろうし、非圧縮化されたビデオデータは、シンクデバイス２０２へ伝送されてディスプレイ上で表現されるであろう。ここでは説明されないが、当業者であれば、限定はされないが例えばフレームバッファ、デコーダ、及びタイミング制御器のようなコンポーネントをデータソース３１０が含み得ることを理解するであろうし、これらのコンポーネントは、リンクモジュール３２０内へ入力されるべきソースデータストリームを生成することにおいて用いられ得る。
【００４１】
リンクモジュール３２０は、送信要求に従ってパケット及び／又はフレームをパッキング及び／又はスタッフィング(stuffing)することのようなサービスを提供する機能性を包含する。リンクモジュール３２０はまた、補助データ（例えば制御情報、及び／又はビデオストリームと共に表示されるべき他の情報）を多重化すると共に暗号化を実行する機能性を提供することができる。
【００４２】
チャネライザ３２２は、リンクモジュール３２０の一部として又は別個のモジュールとして実装され得る。チャネライザ３２２は、データソース３１０からのソースデータストリームを受信すると共に１つ以上の仮想チャネルを起動して当該ソースデータを１つ以上のソースデータストリームとしてシンクデバイスへ送信する機能性を包含している。例えば、ＤＶＤビデオ及びオーディオストリームをデータソース３１０から受信して、チャネライザ３２２は、ビデオストリーム及びオーディオストリームに対して１つ以上の仮想チャネルを起動することができる。チャネルの起動は、チャネルに対して識別子を生成することと、適切な識別子を対応するストリームデータと共にリンク層へ渡すこととを含み得る。本発明の幾つかの実施形態では、仮想チャネルの起動は、対応するシンクデバイス及び分岐デバイスとのメッセージの交換を伴う。仮想チャネルをセットアップすることに先立つメッセージの交換は、例えば、動的に決定されるチャネル速度を伴う仮想チャネルの設定を可能にする。
【００４３】
例えば、仮想チャネルのチャネル速度は、データフローのパス(path)内の各デバイスがサポートし得る速度で設定されてよい。実施形態においては、チャネル速度は、対応するソースデータストリームのピーク速度より大きい値であって且つ基礎となっている伝送媒体の物理的伝送特性に合致する(maps to)値になるように設定され得る。また、チャネル速度は、データフローのパスに沿った実質的に全ての中間デバイスによってサポート可能なレベルに設定されることが望ましい。チャネライザ３２２又はリンクモジュール３２０は、望ましくは、設定されたレベルでチャネル速度が維持されるように、非アクティブデータを仮想チャネルデータストリーム内へ詰め込む(stuff)ことができる。
【００４４】
参照速度モジュール３２４は、シンクデバイスへ伝送され得るタイミング関係を伝達する１つ以上の参照パラメータを決定する機能性を包含する。１つの実施形態では、参照速度モジュール３２４は、シンクデバイス２０２へ伝送されるべき第１のパラメータ及び第２のパラメータを決定する。第１のパラメータ及び第２のパラメータは、（ソースデータ速度）／（チャネル速度）の関係を表すように決定される。１つの実施形態では、第２のパラメータは、対応する仮想チャネルクロックの予め定められたサイクル数であってよい。第１のパラメータは、その結果、第２のパラメータによって定義される仮想チャネルクロックインターバル内で発生するソースデータストリームクロックのサイクル数であってよい。１つ以上の位相ロックループ等が、例えばクロックソース３４０からのクロックにロックオン(lock on)するために用いられ得る。
【００４５】
クロックソース３４０は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックを生成するために用いられる１つ以上のクロックソースを含んでいてよい。本発明の実施形態は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックの各々に対してクロックソース３４０からの独立したクロックを用いてよく、全てに対して単一のクロックを用いてよく、又は組み合わせを用いてよい。例えば、ソースデータストリームクロック及び仮想チャネルクロックに対して同一のクロックが用いられる場合、第１及び第２のパラメータの値は、ソースデータストリームの送信の間に変化しないであろう。異なるクロックソースが用いられる場合には、例えば、第２のパラメータは一定であり得る一方で、第１のパラメータは、それが第２のパラメータに対して相対的に定義されるという理由で、変動し得る。クロックソース３４０において用いられるクロックソースは、１つ以上のクリスタル発振器又はシリコン発振器のような任意の既知のクロック生成デバイスを含んでいてよい。
【００４６】
送信インタフェース３３０は、例えばリンクモジュール３２０からの出て行くデータストリームを受信すると共にそれをシンクデバイス２０２のようなシンクデバイス又は分岐デバイス２０４のような分岐デバイスへリンク２１０のような伝送リンクを介して送り出す機能性を包含する。送信インタフェース３３０はまた、必要に応じて、主リンク及び補助リンクの両方の種類が存在するシステムにおいてこれらを介してデータを送信する機能性を包含する。１つの実施形態では、送信インタフェース３３０は、物理レイヤにおいて規定される機能性、例えば物理的伝送、及び送信されるデータの誤り補正を包含する。データの送信はリンククロックに従って生じる。実施形態においては、送信インタフェース３３０は差動送信機を含むことができる。例えば１つの実施形態では、送信インタフェース３３０は、低電圧差動シグナリングインタフェース標準（ＬＶＤＳ）を用いて主リンク２１０を介してビデオデータフレーム及び制御情報を送信するのに必要な機能を含む。
【００４７】
当業者であれば、ソースデバイス２０１は、図示されているものに加えてコンポーネント若しくはモジュールを備えていてよく又は図示されているのとは異なる組み合わせを備えていてよいことを理解するであろう。尚、データソース３１０、リンクモジュール３２０、送信インタフェース３３０、チャネライザ３２２、参照速度モジュール３２４、及びクロックソース３４０の機能性は、ソフトウエア、ファームウエア、ハードウエア、又はこれらの組み合わせにおいて実装され得る。１つの実施形態では、例えば、データソース３１０、リンクモジュール３２０、送信インタフェース３３０、チャネライザ３２２、参照速度モジュール３２４、及びクロックソース３４０の機能性は、ここに説明される本発明の側面を採用しているハードウエアデバイスを生成するためのマスクワーク／フォトマスクの創出を通して最終的に製造プロセスを構成することを可能にするために、ベリログ(Verilog)、ＲＴＬ、ネットリスツ(netlists)のようなハードウエア記述言語において規定される。
【００４８】
図４は本発明の実施形態に従いシンクデバイス２０２を示している。シンクデバイス２０２は、制御器４０１、メモリ４０２、永続的ストレージ４０３、通信フレームワーク４０４、データシンク４３０、リンクモジュール４２０、受信インタフェース４１０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器(rate deriver)４２４を含む。制御器４０１は、中央プロセッサユニット（ＣＰＵ）又はグラフィクスプロセッサユニット（ＧＰＵ）を含む任意の１つ以上のプロセッサであってよい。制御器４０１はシンクデバイス２０２内のデバイスの動作を制御する。例えば、制御器４０１は、リンクモジュール４２０、受信インタフェース４１０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の１つ以上を実装している論理命令を実行することができる。リンクモジュール４２０、受信インタフェース４１０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の論理命令は、ソフトウエア、ハードウエア、又はそれらの組み合わせにおいて実装され得る。
【００４９】
メモリ４０２は、１つ以上のメモリデバイス、例えばダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイスを含む。メモリ４０２は、実行のための必要性に応じて、リンクモジュール４２０、受信インタフェース４３０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４を含む部分モジュールのための論理を記憶するのに用いられる。メモリ４０２は、受信インタフェース４１０からデータシンク４３０へ入ってくるストリームデータをバッファするためにも用いられ得る。
【００５０】
永続的ストレージ４０３は、磁気ディスク、光ディスク、フラッシュメモリ等のような１つ以上の永続的ストレージデバイスを含んでいてよい。永続的ストレージ４０３は、リンクモジュール４２０、受信インタフェース４３０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の論理を必要に応じて記憶することができる。例えば１つの実施形態では、永続的ストレージ４０３は、シンクデバイス２０２の起動に際してメモリ４０２内へロードされるべき実行可能な形態にあるソフトウエアにおいて実装されるリンクモジュール４２０、受信インタフェース４３０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の全ての部分を記憶している。
【００５１】
通信バス４０４は、４０１、４０２、４０３、４１０、４２０、４２２、４２４、４３０、及び４４０のようなシンクデバイス２０２の複数のコンポーネントを結合する。通信バス４０４は、周辺コンポーネントインタフェース（ＰＣＩ）バス若しくはその変形の１つ、ＵＳＢ、ファイアワイヤ、イーサネット(登録商標)、又は同様のデバイスを含んでいてよい。
【００５２】
受信インタフェース４１０は、主リンク２１１のようなリンクからの入ってくるデータストリーム又はソースデバイス若しくは分岐デバイスからの入ってくるデータストリームを受信する機能性を包含する。受信したデータは次いでリンクモジュール４２０へ送られてよい。受信インタフェース４１０はまた、必要に応じて、主リンク及び補助リンクの両方の種類が存在するシステムにおいてこれらを介してデータを受信する機能性を包含する。１つの実施形態では、受信インタフェース４１０は、物理レイヤにおいて規定される機能性、例えば物理的伝送及び伝送されたデータの誤り補正を包含する。実施形態においては、受信インタフェース４１０は差動受信機を含むことができる。例えば１つの実施形態では、受信インタフェース４１０は、低電圧差動シグナリングインタフェース標準（ＬＶＤＳ）を用いて主リンク２１１を介してビデオデータフレーム及び制御情報を受信するのに必要な機能を含む。
【００５３】
リンクモジュール４２０は、パケットがソースデバイスから分岐デバイスへどのように伝送されたかに従って、パケット及び／又はフレームをアンパッキング(unpacking)及び／又はデスタッフィング(destuffing)することのようなサービスを提供する機能性を包含する。リンクモジュール４２０はまた、補助データ（例えば制御情報、及び／又はビデオストリームと共に表示されるべき他の情報）を分離する(demultiplex)と共に入ってくるストリームの復号(decryption)を必要に応じて実行する機能性を提供することができる。
【００５４】
データシンク４３０は、入ってくるストリームを受信すると共にそれを処理し且つ／又は表現することができる任意のデバイスであってよい。例えばデータシンク４３０は、テレビジョンディスプレイのようなビデオ及び／又はオーディオ表現デバイス、あるいはスピーカシステムのようなオーディオ表現デバイスであってよい。幾つかの実施形態では、データシンク４３０は、外部表現デバイスが接続されるインタフェースであってよい。１つの実施形態では、データシンク４３０は、非圧縮化されたビデオデータ及び関連するタイミング情報を受信するディスプレイデバイスであってよい。ここでは説明されないが、当業者であれば、限定はされないが例えばフレームバッファ、デコーダ、及びディスプレイタイミング回復モジュールのようなコンポーネントをデータシンク４３０が含み得ることを理解するであろう。
【００５５】
チャネルプロセッサ４２２は、リンクモジュール４２０の一部として又は別個のモジュールとして実装され得る。チャネルプロセッサ４２２は、リンクモジュール４２０からのソースデータストリームを受信すると共にソースデータを１つ以上のソースデータストリームとして含む１つ以上の仮想チャネルを検出する機能性を包含する。例えば、ＤＶＤビデオ及びオーディオストリームをリンクモジュール４２０から受信して、チャネルプロセッサ４２２は、ビデオストリーム及びオーディオストリームのための１つ以上の仮想チャネルを決定することができる。決定は、仮想チャネルを定義している固有識別子を検出することに基いていてよい。チャネルプロセッサ４２２はまた、仮想チャネルをセットアップするに際してソースデバイスからのメッセージを受信すると共にこれに応答する機能性を包含し得る。チャネルプロセッサ４２２及び／又はリンクモジュール４２０はまた、当該フィルデータ（例えば仮想チャネルの伝送速度を予め規定されたチャネル速度と等しくするために分岐デバイスによって含まされるデータ）を識別すると共に破棄する機能性を包含する。
【００５６】
速度導出器４２４は、ソースデバイス２０１から伝送される１つ以上の参照速度パラメータを検出すると共にこれらのパラメータ、リンク速度、及びチャネル速度に基いてソースデータ速度を決定する機能性を包含する。速度パラメータは、ソースデータ速度とチャネル速度の間でのタイミング関係を規定する。ソースデバイス２０１から伝送される１つ以上の速度パラメータは、例えば入ってくるパケットストリーム内のパケットのヘッダ情報から回復され得る。リンク速度及びチャネル速度は局所的に決定され得る。１つ以上の位相ロックループ、発振器、及び／又は同様のものが、リンククロック、仮想チャネルクロック、及び／又はソースデータストリームクロックのような受信され検出されるクロックにロックオンするために用いられ得る。
【００５７】
クロックソース４４０は、データストリームクロック、仮想チャネルクロック、及びリンククロックの１つ以上にロックオンするために用いられる１つ以上のクロックソース及び／又はクロック回路を含んでいてよい。本発明の実施形態は、ソースデータストリームクロック、仮想チャネルクロック、及びリンククロックの各々に対してクロックソース４４０からの独立したクロックを用いてよく、全てに対して単一のクロックを用いてよく、又は組み合わせを用いてよい。クロックソース４４０において用いられるクロックソースは、１つ以上のクリスタル発振器若しくはシリコン発振器のような任意の既知のクロック生成デバイス、又は位相ロックループ回路のようなクロックロック回路を含んでいてよい。
【００５８】
当業者であれば、シンクデバイス２０２は、図示されているものに加えてコンポーネント若しくはモジュールを備えていてよく、又は図示されているのとは異なる組み合わせを備えていてよいことを理解するであろう。尚、データシンク４３０、リンクモジュール４２０、受信インタフェース４１０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の機能性は、ソフトウエア、ファームウエア、ハードウエア、又はこれらの組み合わせにおいて実装され得る。１つの実施形態では、例えば、データシンク４３０、リンクモジュール４２０、受信インタフェース４１０、クロックソース４４０、チャネルプロセッサ４２２、及び速度導出器４２４の機能性は、ここに説明される本発明の側面を採用しているハードウエアデバイスを生成するためのマスクワーク／フォトマスクの創出を通して最終的に製造プロセスを構成することを可能にするために、ベリログ、ＲＴＬ、ネットリスツのようなハードウエア記述言語において規定される。
【００５９】
図５はプロセス５００を示しており、プロセス５００によって、ソースデバイス２０１のようなソースデバイスは、シンクデバイス２０２のようなシンクデバイスがソースデータ速度を回復するのに必要な情報を送信することができる。ステップ５１０では、ソースデバイスは、ソースデータストリームを受信し且つ／又は生成する。例えばソースデバイスは、ビデオ及び／又はオーディオストリームを生成するＤＶＤ再生デバイスのようなデータソースであってよい。データソースによって生成されるビデオ及び／又はオーディオストリームは、ソースデータストリームとして参照される。データソースは、ビデオ及びオーディオデータのエンコーディング（例えばＭＰＥＧ２）を含む幾つかの因子によって決定される速度でソースデータストリームを生成する。例えばクロックソース３４０におけるクロックソース又はクロックロック回路は、クロックを生成するために用いられてよく、又はソースデータストリームから生成されるクロックにロックオンするために用いられてよい。ソースデータストリームのデータ速度を決定するクロック周波数は、ソースデータストリームクロック又はソースデータストリーム速度と称される。
【００６０】
ステップ５２０では、ソースデータストリームが１つ以上の仮想チャネルにマッピングされる。上述したように、仮想チャネルは物理的な伝送リンクに課せられた論理ストリームである。典型的には、仮想チャネルとソースデータストリームの間には１対１マッピングがある。しかし、幾つかのケースでは、１つのソースデータストリームは多重仮想チャネルにマッピングされ得る。説明を容易にし且つ一般性を損なわないように、プロセス５００の以下の説明は、概してソースデータストリームと仮想チャネルの間での１対１マッピングを前提とする。例えば、ビデオ及び多重チャネルオーディオを伴うソースデータストリームは、多重仮想チャネルにマッピングされてよい。ソースデータストリームの最初のデータを受信すると、チャネライザ及び／又はリンクモジュールは、新たな仮想チャネルが必要であると決定する。チャネライザはチャネル識別子を生成することができ、チャネル識別子は、ソースデータストリームからの、データを搬送中のパケット毎のヘッダ部内にあってよい。幾つかの実施形態では、ソースデバイスは、例えばチャネライザ及び／又はリンクモジュールを用いて、シンクデバイス及び／又は対応する分岐デバイスに新たな仮想チャネルの開始を通知することができる。
【００６１】
ステップ５３０では、チャネル速度が仮想チャネルに対して決定される。チャネル速度、即ち仮想チャネルクロック速度は、仮想チャネルがソースデータ及び他の補助データで一杯になる(populated with)ときの速度である。例えば、チャネル速度は、ソースデータ及び補助データがパケット内へパッキングされ、ヘッダが構成され、データがシンボル及び、パケットに加えられる任意の制御シンボルへエンコードされるときの速度からなる(account for)ことができる。しかし、本発明の実施形態は、盛り込まれている他の側面を有し且つ／又はチャネル速度から除外されて説明される側面の幾つかを有することができる点を特記しておく。各実施形態は、ソースデバイスと対応する１つ以上のシンクデバイスとの間でのチャネル速度を決定する一貫した方法を有することができる。
【００６２】
ステップ５４０では、ソースデータストリームがチャネル化される(channelized)。例えば、チャネライザ３２２及び／又はリンクモジュール３２０は、ソースデータストリームからのデータをパケット化することができる。本発明の幾つかの実施形態では、補助データは仮想チャネルに多重化されてよい。チャネル化することは、データストリームデータ及び任意の補助データを固定サイズ又は可変サイズのパケットへパッキングすることと、各パケットのヘッダ部を形成することと、データストリームデータ及び補助データをエンコーディングスキームに従ってエンコードすることと、ソースデータストリームを表現デバイスにおいて表現するために必要な制御シンボルを付加することとを含む。例えばビデオソースデータストリームは、仮想チャネルデータが予め定められたチャネルデータ速度で送信され得るように、非アクティブデータと共にパッキングされる必要があるかもしれない。
【００６３】
ステップ５５０ではリンク速度が決定される。例えば、リンク速度は、リンクモジュール３２０が送信インタフェース３３０を介してパケットを送信するときの速度である。典型的には、ソースデバイス、分岐デバイス、及びシンクデバイスは、各々が動作し得る１つ以上のリンク速度を有している。プロセス５００の説明において用いられるような「リンク速度」の用語は、主リンク２１０のような出て行くリンクが動作するときのクロック速度を参照する。尚、リンク帯域は、主リンク２１０を含む全ての物理リンクの容量の総計を参照する。リンク速度は、典型的には、例えばクロックソース３４０からの予め設定されたクロックによって決定される。
【００６４】
ステップ５６０では、シンクデバイスへ連絡されるべき速度パラメータが決定される。本発明の実施形態においては、第１の速度パラメータ（Ｍ）と第２の速度パラメータ（Ｎ）が決定される。本実施形態によると、パラメータＭ及びパラメータＮは、ソースデータストリームクロックと仮想チャネルクロックの間の関係性を搬送することが意図されている。実施形態においては、Ｎは仮想チャネルクロックの予め定められたサイクル数に対応する値を有するように設定され、そしてＭはＮによって規定されるインターバルの間に生じるソースデータストリームクロックのサイクル数として測定される。他の実施形態は、Ｍ及びＮを異なる方法で計算することを含んでよいが、いずれにしろソースデータ速度とチャネル速度の間の関係性を搬送する。Ｍパラメータ及びＮパラメータは各仮想チャネルに対して別個に決定される。Ｍパラメータ及びＮパラメータは、オーディオ及びビデオのような異なる種類のデータに対して別個に決定されてもよい。例えば、単一の仮想ストリーム内であっても、ビデオ及びオーディオは異なる速度で表現することを必要としてもよい。
【００６５】
１つの実施形態によると、Ｎパラメータが決定された後に、例えば、設定を通して（１）がＭを決定するために用いられてよい。
【００６６】
【数１】
0005694292.tif 000002
【００６７】
ここで、Ｎは仮想チャネルクロックの設定されたサイクル数に対応する時間、Ｆｓｏｕｒｃｅ＿ｄａｔａ＿ｒａｔｅはソースデータストリームの周波数、Ｆｖｉｒｔｕａｌ＿ｃｈａｎｎｅｌ＿ｒａｔｅは仮想チャネルクロックの周波数、そしてＭはソースデータストリームに対するＭパラメータである。Ｆｓｏｕｒｃｅ＿ｄａｔａ＿ｒａｔｅ及びＦｖｉｒｔｕａｌ＿ｃｈａｎｎｅｌ＿ｒａｔｅはそれぞれステップ５１０及び５３０に関して説明したように決定され得る。
【００６８】
ステップ５７０では、決定されたＭパラメータ及びＮパラメータがシンクデバイスへ送信される。例えば、仮想チャネルに対して１ペアのみのＭパラメータ及びＮパラメータが決定された場合には、当該ペアの値が送信される。ビデオ及びオーディオに対する別個のペアのように仮想チャネルに対して多重ペアのＭ値及びＮ値が決定された場合には、実質的に全てのそれらのペアが送信されてよい。Ｍ値及びＮ値は、ソースデバイスからシンクデバイスへのパケットストリーム内へエンコードされ得る。１つの実施形態では、Ｍ値及びＮ値は、予め定められたフォーマットに従って、ソースデータストリームからのデータを搬送するパケットのヘッダフィールドにおいてエンコードされる。別の実施形態では、Ｍ値及びＮ値は、予め定められたフォーマットの特別のパケットを介して通信されてよい。
【００６９】
本発明の実施形態においては、プロセス５００（ステップ５１０〜５７０）は、シンクデバイスへ通信されているＭパラメータ及びＮパラメータを更新するために、一定のインターバルで繰り返されてよい。プロセス５００の繰り返しの間のインターバルにおいては、最後に計算されたＭ値及びＮ値は、仮想チャネルの存在の間のインターバルで送信され得る。
【００７０】
図６は本発明の実施形態に従いソースデータストリーム速度を導出するプロセス６００を示している。プロセス６００は、シンクデバイス２０２のようなシンクデバイスにおいて実行されるものとしてここでは説明される。しかし、上述したように、プロセス６００は、ソースデータストリーム速度を回復する必要がある場合における中間デバイス又は分岐デバイスを含む他のデバイスにおいて実行され得る。
【００７１】
ステップ６１０では、データストリームからのデータが受信される。例えば、シンクデバイス２０２の受信インタフェース４１０は、ソースデバイス２０１からのデータストリームを直接的に又は１つ以上の中間デバイス２０４を介して受信することができる。受信インタフェースは、主リンク２１１のような入ってくるリンクを介してデータストリームを受信することができ、誤り補正のような任意の物理レイヤ機能を実行し、そして回復されたフレームを別のモジュール、例えばリンクモジュール４２０に受け渡す。
【００７２】
ステップ６２０では、リンクモジュール４２０及び／又はチャネルプロセッサ４２２のようなモジュールが、入ってくるデータストリームにおける仮想チャネルを検出する。例えば、リンクモジュール４２０は、入ってくるフレームを処理してパケットを回復すると共にスタッフィング(stuffing)しているパケット及びシンボルを検出し且つ除去することができる。チャネルプロセッサ４２２は、例えば、ヘッダフィールド内に同一の仮想チャネルからのような同一のチャネル識別子を有するパケットを処理することができる。
【００７３】
ステップ６３０では、ソースデバイスから伝送された速度パラメータが回復される。例えば、第１及び第２の速度パラメータ（Ｍ及びＮ）は、１つ以上の入ってくるパケットのヘッダ部にエンコードされていてよい。別の実施形態では、Ｍパラメータ及びＮパラメータは、ソースデバイスから伝送される別個のパケットから回復されてよい。プロセス５００に関して説明されたように、対応するソースデータストリームクロックを回復するために、Ｍパラメータ及びＮパラメータの１つ以上のペアが用いられてよい。
【００７４】
ステップ６４０では、リンク速度が決定される。シンクデバイスのリンク速度は、分岐デバイス２０４がソースデバイス２０１とシンクデバイス２０２の間にあるシステム２００におけるように、ソースデバイスのリンク速度とは異なっていてよい。シンクデバイスのリンク速度は、受信されるクロックにロックオンすることによりシンクデバイスによって決定され得る。例えば、シンクデバイス２０２は、入ってくるデータストリームにおいて受信したクロックにロックオンすることによって、そのリンク速度（即ち主リンク２１１が動作するときの速度）を検出することができる。実施形態においては、クロックソース及び／又はロック回路、例えば位相ロックループは、クロックを検出し且つそのクロックに同期するために用いられてよく、そのクロックに基いてデータがリンクを介して受信される。
【００７５】
ステップ６５０では、仮想チャネルのチャネル速度が決定される。例えば、チャネルプロセッサ４２２及び／又はリンクモジュール４２０は、仮想チャネルデータが受信されるときの速度を決定することができる。チャネル速度を決定するのに先立ち、リンクモジュール４２０及び／又はチャネルプロセッサ４２２は、例えば仮想チャネルの伝送を予め定められたチャネル速度で維持するために中間デバイスによって挿入される任意のフィルデータを取り去る。例えば、ソースデバイス及び／又は中間デバイスは、スタッフィングパケット及びフィルデータを挿入して出て行くチャネル速度を調整することができる。チャネル速度の決定は、入ってくる仮想チャネルデータによって生成されるクロックにロックオンすることに基いていてよい。１つの実施形態では、リンククロックは、入ってくる仮想チャネルデータにより生成されるクロックにロックオンすることによってチャネル速度を決定するための参照として用いられる。
【００７６】
ステップ６６０では、ソースデータストリームクロック又はソースデータ速度が決定される。例えば、速度導出器４２４は、チャネルプロセッサ４２２によって回復されたＭパラメータ値及びＮパラメータ値、リンクモジュール４２０によって決定されたリンククロック、並びにチャネルプロセッサ４２２及びリンクモジュール４２０によって決定された仮想チャネルデータ速度を受信することができる。受信されたパラメータ及び決定されたクロック速度は、ソースデータ速度を導出するために用いられ得る。１つの実施形態では、ソースデータ速度は以下の計算を用いて決定され得る。
【００７７】
【数２】
0005694292.tif 000003
【００７８】
ここで、Ｎは仮想チャネルクロックの予め定められたサイクル数に対応する時間であり、そしてＭはＮによって規定されるインターバル内におけるソースデータクロックのサイクル数である。Ｎ及びＭはソースデバイスから受信されるパラメータである。Ｆｖｉｒｔｕａｌ＿ｃｈａｎｎｅｌ＿ｒａｔｅはチャネル速度であり、シンクデバイスで決定される。Ｆｌｓ＿ｃｌｋはリンク速度であり、ステップ６４０に関して上述したようにこれもシンクデバイスで決定される。Ｆｓｏｕｒｃｅ＿ｄａｔａ＿ｒａｔｅは上記（２）を用いて決定され得る。尚、（２）においては、リンク速度（リンククロック）の代わりに任意の参照クロックが用いられ得る。また、幾つかの実施形態、例えばチャネル速度が独立して決定され得る実施形態においては、ソースデータ速度はＭ、Ｎ、及びチャネル速度のみを用いて決定され得る。
【００７９】
プロセス６００は、関連するソースデータストリームクロック速度を再計算するために周期的に繰り返されてよい。また、本発明の実施形態は、ソースデバイスから受信される１つ以上の速度パラメータを用いて関連するソースデータクロック速度を決定するために、プロセス６００又は類似のプロセスを実装し得ることも特記しておく。ソースデバイスから受信する速度パラメータは、仮想チャネルクロック速度及びソースデータクロック速度に関連する。
【００８０】
以上説明したように、本発明は、シンクデバイスがソースデバイスに直接的に又は間接的に結合されているかどうかにかかわらず、シンクデバイスが等時性データストリームのソースデータ速度を決定することを可能にする。ソースデータストリームに対する仮想チャネルを起動すると共に、次いでチャネル速度をソースデータ速度に関係付ける１つ以上のパラメータをシンクデバイスへ連絡することによって、ソースデバイスは、ソースデバイス及びシンクデバイスが異なるリンククロックを有している場合であっても、関連するソースクロックをシンクデバイスが再現することを可能にする。
【００８１】
従来の試みと比較した本発明の効果は、分岐デバイス及びシンクデバイスにおけるコストの低減及び複雑さの軽減、ロック時間の短縮、信号対雑音比の向上、並びに複数の表現デバイスの間でのオーディオ位相調整の可能性を含む。分岐デバイスは、Ｍパラメータ及びＮパラメータを再計算する必要なしにそれらを次に伝えれば済むので、分岐デバイスを単純化することができる。シンクデバイスには、仮想チャネルクロックを決定すること及び必要なソース速度を計算すること以外に負担が課せられないので、シンクデバイスを単純化することができる。また、本発明はソースデータ速度のより正確な回復を可能にするので、受信した信号の信号対雑音比がより高くなる。更に、本発明は処理パス(processing path)に起因する可変遅延成分を排除するので、複数の表現デバイスの間での位相調整が可能になる。
【００８２】
概要及び要約の部は、発明者によって検討された本発明の１つ以上のしかし全部ではない例示的な実施形態を説明することができ、従って本発明及び添付の特許請求の範囲を限定することが意図されているわけではけっしてない。
【００８３】
特定の機能の実装及びそれらの関係性を示す機能構築ブロックを補助として、本発明が上述のように説明されてきた。これらの機能構築ブロックの境界は、説明の便宜上ここでは適宜画定されてきた。特定の機能及びそれらの関係性が適切に実行される限りにおいて、代替的な境界が画定されてよい。
【００８４】
特定の実施形態の上述した説明は、本発明の一般的性質を十分に明らかにするであろうから、他者は、当業者の知識を適用することによって、過度の実験を必要とせず、本発明の一般的概念から逸脱することなく、そのような特定の実施形態を容易に修正し且つ／又は種々の応用に適用することができる。従って、そのような適用及び修正は、ここに提示されている教示及び指針に基いて、開示されている実施形態と均等なものの意味及び範囲の範疇にあることが意図されている。ここでの用語等は、本出願書類の用語等が教示及び指針の下で当業者によって解釈されるべきであるという点において、説明を目的としたものであって限定を目的としていないことが理解されるべきである。
【００８５】
本発明の広さ及び範囲は、上述したいかなる例示的な実施形態によっても限定されるべきではなく、以下の特許請求の範囲及びそれらと均等なものに従ってのみ画定されるべきである。
【図１】
0005694292.tif 000004
【図２】
0005694292.tif 000005
【図３】
0005694292.tif 000006
【図４】
0005694292.tif 000007
【図５】
0005694292.tif 000008
【図６】
0005694292.tif 000009