(57)【要約】【課題】ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期するための通信システムと方法を提供する。【解決手段】前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより、前記複数のネットワークノードの各々において同時にローカルトリガ信号を生成する。前記ローカルトリガ信号は、前記ネットワークノードに結合されたマルチメディアデバイスを同期するため、または前記ネットワークの異なるネットワークノードに結合された複数のデバイス内で発生するイベントを同期するために使用されてもよい。【選択図】  図２
2018107837.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期する方法であって、前記ネットワークのロック状態は、全ての前記ネットワークノードのローカルクロック信号がマスタークロック信号にロックされると発生し、前記方法は、
前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより前記複数のネットワークノードの各々において同時に、ローカルトリガ信号を生成するステップであって、前記ローカルトリガ信号は、前記複数のネットワークノードの各々において発生するイベントを同期するために使用される、ステップと、
前記ネットワークのロック状態が発生した後に前記複数のネットワークノードの各々において前記固有の位相遅延を算出するステップと、
前記複数のネットワークノードの各々の中に累積位相遅延を格納するステップと、を備え、
各固有の位相遅延はデータフレームがネットワークノードの受信ピンから同じ前記ネットワークノードの送信ピンまで伝播するために必要とする位相遅延の量から成り、
前記複数のネットワークノードの各々の中に格納される前記累積位相遅延は、前記ネットワークのソースノードとそれぞれの各ネットワークノードとの間に配置される前記ネットワークノードに起因する前記固有の位相遅延を統合することにより計算され、
前記固有の位相遅延を算出する前記ステップの後であって累積位相遅延を格納する前記ステップの前に、
前記複数のネットワークノードの各々において算出された前記固有の位相遅延を全てのネットワークノードへ送信するステップと、
前記複数のネットワークノードの各々における前記累積位相遅延を、前記ソースノードとそれぞれの各ネットワークノードとの間に配置される前記ネットワークノードに起因する前記固有の位相遅延を統合することにより算出するステップと
をさらに備えることを特徴とする方法。
【請求項２】
ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期する方法であって、前記ネットワークのロック状態は、全ての前記ネットワークノードのローカルクロック信号がマスタークロック信号にロックされると発生し、前記方法は、
前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより前記複数のネットワークノードの各々において同時に、ローカルトリガ信号を生成するステップであって、前記ローカルトリガ信号は、前記複数のネットワークノードの各々において発生するイベントを同期するために使用される、ステップと、
前記ネットワークのロック状態が発生した後に前記複数のネットワークノードの各々において前記固有の位相遅延を算出するステップと、
前記複数のネットワークノードの各々の中に累積位相遅延を格納するステップと、を備え、
各固有の位相遅延はデータフレームがネットワークノードの受信ピンから同じ前記ネットワークノードの送信ピンまで伝播するために必要とする位相遅延の量から成り、
前記複数のネットワークノードの各々の中に格納される前記累積位相遅延は、前記ネットワークのソースノードとそれぞれの各ネットワークノードとの間に配置される前記ネットワークノードに起因する前記固有の位相遅延を統合することにより計算され、
前記固有の位相遅延を算出する前記ステップの後であって累積位相遅延を格納する前記ステップの前に、  
各ネットワークノードにおいて計算された前記累積位相遅延を次の下流ネットワークノードへ送信するステップをさらに備える方法。
【請求項３】
ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期する方法であって、前記ネットワークのロック状態は、全ての前記ネットワークノードのローカルクロック信号がマスタークロック信号にロックされると発生し、前記方法は、
前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより前記複数のネットワークノードの各々において同時に、ローカルトリガ信号を生成するステップであって、前記ローカルトリガ信号は、前記複数のネットワークノードの各々において発生するイベントを同期するために使用される、ステップと、
前記ネットワークのロック状態が発生した後に前記複数のネットワークノードの各々において前記固有の位相遅延を算出するステップと、
前記複数のネットワークノードの各々の中に累積位相遅延を格納するステップと、を備え、
各固有の位相遅延はデータフレームがネットワークノードの受信ピンから同じ前記ネットワークノードの送信ピンまで伝播するために必要とする位相遅延の量から成り、
前記複数のネットワークノードの各々の中に格納される前記累積位相遅延は、前記ネットワークのソースノードとそれぞれの各ネットワークノードとの間に配置される前記ネットワークノードに起因する前記固有の位相遅延を統合することにより計算され、
前記ソースノードにより受信されるか前記ソースノード内で生成されるソーストリガ信号と前記ネットワークのマスターノードにより生成されるデータフレームの所定のバイトとの間でオフセット値を測定するステップと、
前記オフセット値を、前記ネットワークを経由して前記複数のネットワークノードの各々へ送信するステップと、
をさらに備える方法。
【請求項４】
前記測定するステップの後であって前記送信するステップの前に、
前記ソースノードにおいて算出されたジッタ値を前記オフセット値に加算するステップと、その統合されたジッタ及びオフセット値を、前記ネットワークを経由して前記複数のネットワークノードの各々へ送信するステップをさらに備える、請求項３に記載の方法。
【請求項５】
前記オフセット値は前記データフレームの前記所定のバイト内で前記複数のネットワークノードの各々へ送信される、請求項３に記載の方法。
【請求項６】
さらに、前記マスターノードによって送信されるデータフレームを前記複数のネットワークノードの各々において受信するステップであって、
特定のネットワークノードが前記受信したデータフレームのうちの１つの前記所定のバイト内で前記オフセット値を検出したとき、前記特定のネットワークノードによって実行される前記方法は、
カウントダウンタイマを所定値から開始するステップと、
前記カウントダウンタイマのカウント値が、前記所定値から前記オフセット値と前記特定のネットワークノード内に格納された前記累積位相遅延とを統合した遅延を引いた値と一旦等価になると、ローカルトリガ信号を生成するステップと、
前記特定のネットワークノードにおけるイベントを前記ローカルトリガ信号に同期するステップと、
をさらに備える、請求項５に記載の方法。
【請求項７】
前記オフセット値を送信する前記ステップの前に、前記方法は、有効トリガの指示を前記ネットワークを経由して前記複数のネットワークノードの各々に送信するステップを備え、前記オフセット値を検出する前記ステップの前に、前記方法は、前記有効トリガの前記指示を検出するステップを備える、請求項６に記載の方法。
【請求項８】
前記方法は前記複数のネットワークノードの各々において発生する前記イベントが共通のタイムマーカに同期されることができるようにする、請求項１−３のいずれか一項に記載の方法。
【請求項９】
前記イベントは前記複数のネットワークノードの各々におけるクロック信号の生成を含む、請求項８に記載の方法。
【請求項１０】
前記イベントは前記複数のネットワークノードの各々におけるデータサンプリングを含む、請求項８に記載の方法。
【請求項１１】
前記イベントは前記複数のネットワークノードの各々における入力／出力（Ｉ／Ｏ）信号の生成を含む、請求項８に記載の方法。
【請求項１２】
前記Ｉ／Ｏ信号は前記複数のネットワークノードの各々に結合されたディスプレイ画面を同期するために使用される、請求項１１に記載の方法。
【請求項１３】
前記Ｉ／Ｏ信号は前記複数のネットワークノードの各々に結合されたカメラによる画像取込を同期するために使用される、請求項１１に記載の方法。
【請求項１４】
前記Ｉ／Ｏ信号は前記複数のネットワークノードの各々に結合されたスピーカに供給される音響信号を同期するために使用される、請求項１１に記載の方法。
【請求項１５】
ネットワーク内で相互接続された複数のネットワークノードを備えた通信システムであって、前記通信システムは、
ソースノードであって、ソーストリガ信号と前記ソースノードにより受信されたデータフレームの所定のバイトとの間のオフセット値を算出し、前記オフセット値を、前記ネットワークを経由して前記データフレームの前記所定のバイト内で送信するように構成された、ソースノードと、
伝送線路のネットワークにより前記ソースノードに結合された複数のネットワークノードであって、前記複数のネットワークノードは、
前記ソースノードによって送信されるデータフレームを受信し、
前記オフセット値を前記受信したデータフレームのうちの１つの前記所定のバイト内で検出し、
前記複数のネットワークノードに結合されたデバイスを同期するためにローカルトリガ信号を生成し、前記ローカルトリガ信号は、前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより前記複数のネットワークノードの各々において同時に生成される、
ように構成されている、前記複数のネットワークノードと、
を備える、通信システム。
【請求項１６】
前記複数のネットワークノードと前記ソースノードはそれぞれ遅延計算回路を含み、前記遅延計算回路は、
ネットワークのロック状態が発生した後に特定のネットワークノードに起因する前記固有の位相遅延を決定するためのカウンタであって、前記固有の位相遅延はデータフレームが前記特定のネットワークノードの受信ピンから前記特定のネットワークノードの送信ピンまで伝播するために必要とする位相遅延の量からなる、前記カウンタと、
前記特定のネットワークノードに起因する固有の位相遅延を格納するための第１の記憶装置と、
前記特定のネットワークノード内に累積位相遅延を格納するための第２の記憶装置であって、前記累積位相遅延は前記ソースノードと前記特定のネットワークノードとの間に配置される全てのネットワークノードに起因する固有の位相遅延を統合することにより計算される、前記第２の記憶装置と、
を備える、請求項１５に記載の通信システム。
【請求項１７】
前記ソースノードはさらにジッタ比較回路を備え、前記ジッタ比較回路は、
ジッタ値を計算し、
統合されたオフセット及びジッタ値を生成するために、前記ジッタ値を前記ソースノードにより算出された前記オフセット値に加算し、
前記統合されたオフセット及びジッタ値を、前記オフセット値の代わりに、前記ネットワーク経由で前記データフレームの前記所定のバイト内で送信する、
ことによりネットワークのジッタを補償するように構成されている、請求項１６に記載の通信システム。
【請求項１８】
前記複数のネットワークノードの各々はさらに、
前記オフセット値を前記受信したデータフレームのうちの１つの所定のバイト内で検出するためのトリガ検出回路と、
一旦前記オフセット値が前記トリガ検出回路により検出されると、所定値からカウントダウンするためのカウントダウンタイマと、
前記カウントダウンタイマのカウント値が、前記所定値から前記オフセット値と前記特定のネットワークノードの前記第２の記憶装置内に格納された前記累積位相遅延とを統合した遅延を引いた値と一旦等価になると、ローカルトリガ信号を生成するためのトリガ信号生成回路と、
前記特定のネットワークノードに結合されたデバイスを前記ローカルトリガ信号に同期するための同期回路と、
を備える、請求項１６に記載の通信システム。
【請求項１９】
前記トリガ検出回路は前記所定のバイト内で有効データビットを検出するために構成された論理ゲートを備える、請求項１８に記載の通信システム。
【請求項２０】
前記有効データビットは前記オフセット値に相当する、請求項１９に記載の通信システム。
【請求項２１】
前記有効データビットは前記オフセット値と、前記ソースノードにより生成され前記オフセット値と共に前記所定のバイト内で送信されるジッタ値とを加算した値に相当する、請求項１９に記載の通信システム。
【請求項２２】
さらに、前記オフセット値と前記累積位相遅延とを統合した遅延を生成するための加算器と、前記統合した遅延を前記所定値から減算するための減算器とを備える、請求項１９に記載の通信システム。
【請求項２３】
前記所定値は前記ソースノードにより送信される前記データフレームのフレームサイズの２倍に実質的に等しい、請求項１８に記載の通信システム。
【請求項２４】
前記遅延計算回路と、前記トリガ検出回路と、前記カウントダウンタイマと、前記トリガ信号生成回路とは、ネットワークインタフェースコントローラを備えた単一モノリシック基板上にそれぞれ具体化される、請求項１８に記載の通信システム。
【請求項２５】
前記同期回路は前記デバイス内に含まれる独立したモノリシック基板上に具体化される、請求項１８に記載の通信システム。
【請求項２６】
前記同期回路はネットワークインタフェースコントローラを備えた前記単一モノリシック基板上に具体化される、請求項１８に記載の通信システム。
【請求項２７】
前記デバイスはマルチメディアデバイスを含む、請求項１８に記載の通信システム。
【請求項２８】
前記デバイスはスピーカ、マイクロフォン、カメラ、及びディスプレイ画面を含むグループから選択される、請求項１８に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は通信システムに関し、より詳細には、ネットワークのロック状態が発生した後に複数のネットワークノードを同期する通信システム及び方法に関する。
【背景技術】
【０００２】
以下の記載及び例示は背景技術として記載されたものである。
【０００３】
通信システムが伝送線路で相互接続された少なくとも二つのノードを含むことは、一般によく知られている。各伝送線路は、ディジタルデータだけでなく、音声データ、オーディオデータ、映像データ、またはコンピュータのドメインに由来するデータのバースト、として着信可能なデータに適合することができる。最適な伝送線路とは、したがって、マルチメディアデバイスから情報を受信することができるものであり、本明細書では、ネットワークにおいていかなる形式であっても情報を伝送することができる任意のハードウェア及び／またはソフトウェアモジュールとして定義される。前記伝送線路は銅線、光ファイバ、または無線伝送媒体のいずれかとすることができる。
【０００４】
マルチメディアデバイスには多くのタイプがある。例えば、マルチメディアデバイスは、電話、コンパクトディスク（ＣＤ）プレーヤー、デジタルビデオディスク（ＤＶＤ）プレーヤー、コンピュータ、アンプ、スピーカ、前記ネットワークの前記伝送線路を経由して様々なタイプのデータを送信及び受信することができる任意のデバイスを含むことができる。
【０００５】
マルチメディアデバイスによって送信または受信される一般的なデータ型は、ストリーミングデータとパケット化データを含む。ストリーミングデータは、ネットワーク上でソースポートから生成されるサンプルの間に時間的関係を有するデータである。この関係は、宛先ポートにおけるギャップや周波数の変化のような、知覚可能なエラーを排除するように維持されなければならない。パケット化データは、サンプルレートまたはデータの時間的関係を維持する必要はなく、それどころか、ばらばらのバーストとして伝送線路を経由して送信することができる。
【０００６】
ストリーミングデータは、前記ソースポート（または宛先ポート）のローカルクロックと前記ネットワークのフレーム転送レートとの間の周波数差、またはデータフレームが前記伝送線路を経由して転送される速度に依存して、ネットワークを経由して同期送信またはアイソクロナス送信することができる。前記ノードの前記ローカルサンプルレート（「ｆｓ」と表記されることがある）が前記伝送線路の前記ネットワークのフレーム転送レート（またはフレーム同期レート「ＦＳＲ」）と同じ周波数であれば、前記ストリーミングデータはネットワークを経由して同期送信することができる。多くの場合、ＦＳＲは、ノード内にあるマルチメディアデバイスの前記ローカルサンプルレートｆｓと同じではない。したがって、前記ローカルサンプルレートを変更（または変換）するか、ネットワークを経由してストリーミングデータをアイソクロナス送信しなければならないが、その際には知覚可能なギャップやエラー、ジッタ、またはエコーを排除するために周波数の違いを適合させる目的でアイソクロナス転送プロトコルが使用される。
【０００７】
データが伝送線路を経由してどのように送られるかにかかわらず、前記データはクロックを基準としなければならない。１つのノード（マスターノードと呼ばれることがある）に置かれる前記クロック（マスタークロックと呼ばれることもある）は、前記伝送線路を経由するノードからの送信を同期する。前記ネットワークにおける残りのノード（スレーブノードと呼ばれることもある）は、典型的には、前記マスタークロック信号にロックするために何らかの形のクロックリカバリ回路（例えば、位相ロックループ「ＰＬＬ」、デジタル信号プロセッサ「ＤＳＰ」、または位相コンパレータ）を使用することにより、前記マスタークロック信号に自身のローカルクロック信号を同期しようとする。ネットワークのロック状態は、一旦前記ネットワークの全てのノードが前記マスタークロック信号に同期されると発生する。ローカルクロック信号をマスタークロック信号にロックまたは同期するプロセスは、典型的には前記ネットワーク上での電源投入、リセット、またはロックの喪失（すなわち、ロックされていない状態）の後に実行される。
【０００８】
一旦ネットワークのロック状態が発生すると、前記スレーブノードで受信される前記データは、前記マスターノードによって送信される前記データに対して、前記正確な周波数を有するが位相シフトされるようになる。この位相シフトは、各々のアクティブノードに起因する遅延及び前記アクティブノード内の位相ロックにおける許容誤差による追加の累積遅延によるものである。各アクティブノードからの前記遅延は、電源投入、リセット、ロック解除またはロックのイベントが発生する毎に幾分かの幅で変化しうる。これらの遅延は、前記ネットワーク上の異なるノード間でも変化しうる。したがって前記ネットワーク上の各ノードは、ネットワークのロック状態が発生する毎に、固定ではあるが予測不可能な遅延の量の影響を受ける。このような予測不可能な遅延は多くのネットワークアプリケーションにおいて好ましくない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ネットワークのロック状態が発生した後に複数のネットワークノードを同期するための通信システム及び方法が必要とされる。特に、通信システム及び方法は前記予測不可能な位相遅延の補償を必要とするが、前記位相遅延は、ネットワークのロック状態が発生する毎に各前記ネットワークノードにおいて生じる。このような必要性は、前記ネットワークの１つまたは複数のノードにおいて同期トリガ信号を同時に生成することにより解決される。
【課題を解決するための手段】
【００１０】
下記の通信システム及び方法に関するさまざまな実施例の詳細な説明は、決して添付される特許請求の範囲の趣旨を限定するものと解釈してはならない。
【００１１】
一実施例によれば、本明細書では、ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期する方法が提供される。前記方法は、複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより、前記複数のネットワークノードにおいて同時にローカルトリガ信号を生成してもよい。一旦生成されると、前記ローカルトリガ信号は、前記複数のネットワークノードの各々に結合された１つまたは複数のデバイスを同期するために、またはより詳細には、前記ノードに結合された前記デバイスにおいて発生するイベントを同期するために使用されてもよい。以下により詳細に記載するように、本明細書に記載される方法は、遅延推定フェーズ、トリガ同期フェーズ、及びイベント同期フェーズを含んでもよい。
【００１２】
前記遅延推定フェーズの間、前記方法は前記複数のネットワークノードの各々において固有の位相遅延を算出してもよい。多くの場合、前記固有の位相遅延は、一旦ネットワークのロック状態が発生した後、例えば、前記ネットワークにおける電源投入、リセット、またはロックの喪失の後に算出されてもよい。本明細書では、「固有の位相遅延」は、データフレームがネットワークノードの受信ピンから同じ前記ネットワークノードの送信ピンまで伝播するために必要とする位相遅延の量から成ってよい。一旦固有の遅延が１つまたは複数の前記ネットワークノードに対して決定されると、前記方法は前記複数のネットワークノードの各々の中に、累積位相遅延を格納してもよい。通常、特定のネットワークノードに格納される前記累積位相遅延は、前記ネットワークのソースノードと前記特定のネットワークノードとの間に配置される全てのネットワークノードに起因する固有の位相遅延を統合することにより計算されてもよい。しかし、前記累積位相遅延を計算する方法は多様であってもよい。
【００１３】
一実施例では、前記累積位相遅延は、前記複数のネットワークノードの各々において算出された前記固有の位相遅延を全ての他のネットワークノードに送信することにより計算されてもよい。これは、個々のネットワークノードが自身とソースノードとの間に配置される全てのネットワークノードに起因する前記固有の位相遅延を統合することにより、自分自身の累積位相遅延を算出できるようにする。他の実施例では、個々のネットワークノードは、自分自身の累積位相遅延を生成するために、自分自身の固有の位相遅延と上流のネットワークノードから受信した累積位相遅延とを統合してもよい。一旦生成されると、前記累積位相遅延は、次の下流ノードへ、そのノードの累積遅延の生成のために送信されてもよい。前記方法が使用されたことにかかわらず、前記遅延推定フェーズは、一旦前記累積位相遅延が前記ネットワークノードの各々の中に格納されると終了してもよい。
【００１４】
前記トリガ同期フェーズの間、前記方法は、前記ソースノードから受信した（またはその中で生成された）ソーストリガ信号と、前記ネットワークのマスターノードによって生成されたデータフレームの所定のバイトとの間でオフセット値を計測してもよい。前記オフセット値が決定された後、前記方法は、前記オフセット値を、前記ネットワークを経由して前記複数のネットワークノードの各々に送信してもよい。いくつかの実施例では、前記方法は前記ソースノードにおいて算出されるジッタ値を前記オフセット値に加算し、その統合されたジッタ及びオフセット値を、前記ネットワークを経由して前記複数のネットワークノードの各々に送信してもよい。いくつかの実施例では、前記オフセット値（または前記統合されたオフセット及びジッタ値）は前記データフレームの前記所定のバイト内で前記複数のネットワークノードの各々に送信されてもよい。本発明のいくつかの実施例では、前記所定のバイトはＭＯＳＴデータフレームのトリガバイトであってもよいが、もちろんそれには限られない。
【００１５】
イベント同期フェーズの間、前記方法は前記複数のネットワークノードの各々において、前記マスターノードが送信したデータフレームを受信してもよい。特定のネットワークノードが、受信したデータフレームの前記所定のバイト内で前記オフセット値を検出したとき、前記特定のネットワークノードにより実行される前記方法はいくつかの追加的なステップを含んでもよい。例えば、前記方法は所定値からカウントダウンタイマを開始し、一旦前記カウントダウンタイマのカウント値が、前記所定値から前記オフセット値（または統合されたオフセット及びジッタ値）と前記特定のネットワークノードに格納された前記累積位相遅延とを統合した遅延を引いた値と等価になると、ローカルトリガ信号を生成してもよい。一旦生成されると、前記方法は前記特定のネットワークノードにおけるイベントを前記ローカルトリガ信号に同期してもよい。
【００１６】
一実施例では、本明細書に記載される前記方法は、前記複数のネットワークノードの各々において発生するイベントを共通の時間マーカに同期するために使用されてもよい。これらのイベントは、クロック信号の生成、入力／出力信号の生成、及びデータサンプリングを含んでもよいが、もちろんそれらには限られない。場合によっては、前記イベントは前記複数のネットワークノードに結合された１つまたは複数のマルチメディアデバイス内で発生してもよい。例えば、複数のディスプレイ画面システムに供給される音響／映像信号が、本明細書に記載される前記方法により、複数のディスプレイ画面上における信号再生を連係させるために同期されてもよく、前記複数のディスプレイ画面は別々のネットワークに結合されている。同様に、複数のスピーカシステムにおける左及び右のスピーカが異なるネットワークノードに結合されているとき、本明細書に記載される前記方法により、前記左及び右のスピーカに供給される前記音響信号が高忠実度を維持するように同期されてもよい。さらに、異なるネットワークノードに結合される複数のカメラが、画像が前記複数のカメラにより同時に取り込まれ、単一の画像に同化されることができるようにするために、本明細書に記載される前記方法により同期されてもよい。他の例では、複数のネットワークノードを経由するデータサンプリングを連係するために、または１つまたは複数のノードにおけるクロック同期を実行するために、イベントの同期が使用されてもよい。
【００１７】
他の実施例によれば、本明細書ではネットワーク内で相互接続された複数のネットワークノードを備えた通信システムが提供される。通常、前記通信システムはソースノード及び複数のネットワークノードを含んでよく、前記複数のネットワークノードは伝送線路のネットワークにより前記ソースノードに結合されている。一実施例では、前記通信システムはＭＯＳＴネットワークを備えてもよい。しかし、本明細書に記載される前記通信システムはＭＯＳＴネットワークに限られず、実質的に任意のネットワークトポロジーを有する実質的に任意の同期ネットワークを備えてもよい。
【００１８】
一実施例では、前記ソースノードは前記ソースノードにより受信される（またはその中で生成される）ソーストリガ信号と前記ソースノードにより受信されるデータフレームの所定のバイトとの間のオフセット値を算出し、前記オフセット値を、前記ネットワークを経由して前記複数のネットワークノードに送信するように構成されてもよい。例えば、前記ソースノードは、前記オフセット値を算出するためのカウンタを含むオフセット計算回路と、前記ネットワークを経由して前記オフセット値が送信される前に前記オフセット値を格納するためのバッファとを含んでもよい。一実施例では、前記オフセット値はデータフレームの前記所定のバイト内で前記ネットワークを経由して送信されてもよい。
【００１９】
一実施例では、前記複数のネットワークノードはそれぞれ、前記ソースノードによって送信されたデータフレームを受信し、前記受信したデータフレームの１つの所定のバイト内で前記オフセット値を検出し、前記複数のネットワークノードに結合されたデバイスを同期するためにローカルトリガ信号を生成するように構成されてもよい。上記したように、前記ローカルトリガ信号は前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより、前記複数のネットワークノードの各々において同時に生成されてもよい。
【００２０】
いくつかの実施例では、前記複数のネットワークノードと前記ソースノードはそれぞれ、そのノードに起因する固有の位相遅延を決定し格納するための遅延計算回路を含んでもよい。一実施例では、前記遅延計算回路は、カウンタ、第１の記憶装置、及び第２の記憶装置を備えてもよい。特定のノード内の前記カウンタは、ネットワークのロック状態に続いて直ちにそのノードに起因する固有の位相遅延を決定するために結合されてもよい。特定のノード内の前記第１の記憶装置は、そのノードに起因する前記固有の位相遅延を格納するために結合されてもよい。特定のノード内の前記第２の記憶装置は、前記第１の記憶装置から前記固有の位相遅延を受信し、そのノードに起因する累積された位相遅延を格納するために結合されてもよい。上記したように、前記第２の記憶装置に格納される前記累積位相遅延は、多くの方法で算出されてもよい。したがって、前記第２の記憶装置は、前記ネットワークを経由して、（ａ）全ての他のネットワークノードからの前記固有の位相遅延、または（ｂ）前記先の上流ノードからの累積位相遅延、のいずれかを受信するために、追加的に結合されてもよい。
【００２１】
いくつかの実施例では、前記ソースノードはネットワークのジッタを測定及び補償するためのジッタ補償回路も含んでよい。ネットワークのジッタを補償するために、前記ジッタ補償回路は、複数の固有の位相遅延を前記ソースノード内に含まれる前記第１の記憶装置から受信するように構成されてもよい。特に、前記ジッタ補償回路は、固有の位相遅延を受信するように構成されてもよく、前記固有の位相遅延はネットワークのロック状態に続いて以前に計算され、及びソーストリガ信号の受信／生成中に前記ソースノードにより測定された他の固有の位相遅延である。ジッタ値を算出するために、前記ジッタ補償回路は、以前に測定された固有の位相遅延と今回測定された固有の位相遅延との差を決定してもよい。前記ジッタ値が計算された後、統合されたオフセット及びジッタ値を、前記ネットワークを経由してデータフレームの前記所定のバイト内で送信する前に、前記ソースノードが前記ジッタ値を前記オフセット値に加算してもよい。
【００２２】
いくつかの実施例では、前記複数のネットワークノードはそれぞれ、トリガ検出回路、カウントダウンタイマ、トリガ信号生成回路、同期回路のような追加的なコンポーネントを含んでもよい。前記トリガ検出回路は通常、データフレームの前記所定のバイト内で前記ネットワークを経由して送信される前記オフセット値（または前記統合されたオフセット及びジッタ値）を検出するように構成されてもよい。一実施例では、前記トリガ検出回路は前記所定のバイト内の有効データビットを検出するように構成された論理ゲートを備えてもよい。場合によっては、前記有効データビットは前記オフセット値に相当してもよい。他の場合には、前記有効データビットは前記統合されたオフセット及びジッタ値に相当してもよい。
【００２３】
前記カウントダウンタイマは通常、一旦前記オフセット値（または前記統合されたオフセット及びジッタ値）が前記トリガ検出回路によって検出されると、所定値からカウントダウンするように構成されてもよい。いくつかの実施例では、前記所定値は、前記ソースノードによって送信される前記データフレームのフレームサイズの２倍に実質的に等しくてよい。しかし、前記所定値はこのような値に限られず、適切と考えられる任意の他の値を代替的に含んでもよい。
【００２４】
前記トリガ信号生成回路は通常、前記カウントダウンタイマのカウント値が、供給される計算結果、例えば加算器／減算器からの結果と一旦等価になると、ローカルトリガ信号を生成するように構成されてもよい。例えば、加算器／減算器は、前記計算結果を生成するために、統合された前記オフセット値（または前記統合されたオフセット及びジッタ値）及び前記特定のネットワークノードに格納された前記累積位相遅延を、前記所定値から減算するために使用されてもよい。次に、前記トリガ信号発生回路は、前記カウントダウンタイマからの前記カウント値が前記加算器／減算器から供給される前記計算結果と一旦等価になると、ローカルトリガ信号を生成してもよい。一実施例では、前記トリガ信号生成回路は、前記カウント値を前記計算結果と比較しその結果に応じて論理値を生成するためのデジタルコンパレータと、前記論理値に応じてローカルトリガ信号を生成するためのローカルトリガ信号選択装置（例えばフリップフロップまたはマルチプレクサ）とを含んでもよい。
【００２５】
前記同期回路は通常、１つまたは複数のデバイスを前記ローカルに生成されたトリガ信号に同期するように構成されてもよく、前記１つまたは複数のデバイスは前記ネットワークノードの各々に結合されてもよい。一実施例では、前記１つまたは複数のデバイスは１つまたは複数のマルチメディアデバイスを備えてもよく、前記マルチメディアデバイスは、例えばスピーカ、マイクロフォン、カメラ、ディスプレイ画面等であってもよいが、それらに限られるわけではない。いくつかの実施例では、前記同期回路は、前記ネットワークノードに結合された１つまたは複数のデバイス内で発生するイベントを同期するように構成されてもよい。このようなイベントは、クロック信号の生成、入力／出力信号の生成、データサンプリング等を含んでもよいが、もちろんそれらには限られない。一実施例では、前記同期回路は、ローカルに生成されたトリガ信号を受信したときにこのようなイベントを同期するための論理回路を含んでもよい。
【００２６】
いくつかの実施例では、前記遅延計算回路、前記トリガ検出回路、前記カウントダウンタイマ、前記トリガ信号生成回路は、それぞれ、ネットワークインタフェースコントローラ（ＮＩＣ）を備えた単一のモノリシック基板上に具体化されてもよい。いくつかの実施例では、前記同期回路も、前記ＮＩＣを備えた前記単一のモノリシック基板上に具体化されてもよい。他の実施例では、前記同期回路は、各々のマルチメディアデバイス内に含まれる独立したモノリシック基板上に具体化されてもよい。
【００２７】
本発明の他の目的及び利益は、以下の詳細な説明を読むこと及び添付の図を参照することにより明らかになるであろう。
【図面の簡単な説明】
【００２８】
【図１】図１は、ネットワーク内で相互接続された複数のノードを備えた通信システムの一実施例を説明するブロック図である。
【図２】図２は、ネットワークのソースノードにおけるソーストリガ信号の到着及び複数のネットワークノードにおけるローカルトリガ信号の生成を示すブロック図であり、前記ローカルトリガ信号は前記ノードの各々に起因する固有の位相遅延（例えば、ＲＸ−ＴＸ遅延）を補償することにより、前記ネットワークノードの各々において同時に生成される。
【図３Ａ】図３Ａは各ネットワークノードに起因する前記固有の位相遅延を推定するために使用される方法の一実施例を説明するフローチャート図である。
【図３Ｂ】図３Ｂは、前記ソーストリガ信号と前記ソースノードによって受信されるデータフレームの所定のバイトとの間のオフセット値を測定し、前記オフセット値を、前記ネットワークを経由して、例えば前記データフレームの前記所定のバイト内で送信するために使用されてもよい方法の一実施例を説明するフローチャート図である。
【図４】図４は、受信されるデータフレームの前記所定のバイト内から前記オフセット値を検出し、前記ネットワークノードにおいて発生するイベント及び／または前記ネットワークノードに結合されたデバイスを同期するために前記ネットワークノードの１つまたは複数においてトリガ信号を生成するために使用されてもよい方法の一実施例を説明するフローチャート図である。
【図５】図５は、（ａ）ソーストリガ信号が受信されなかったときの、各データフレームの所定のバイト内に非有効データしかない状態（ｂ）ソーストリガ信号が前記同じデータフレームの前記所定のバイトの前に受信されたときの、データフレーム内の所定のバイト内の有効データ（例えば、Ｄｔｓオフセット値）、（ｃ）ソーストリガ信号が先行するデータフレームの前記所定のバイトの後に受信されたときの、データフレーム内の前記所定のバイト内の有効データ（例えば、Ｄｔｓオフセット値）、を含有する一連のデータストリームを示す図である。
【図６−７】図６−７は、どのようにローカルトリガ信号が図３Ａ、図３Ｂ、図４に示される前記方法を使用して、複数のネットワークノードにおいて同時に生成されてもよいのかという２つの異なる例を示すタイミング図である。
【図８】図８は、特定のネットワークノードに起因する固有の位相遅延を決定するために全てのネットワークノード内に含まれてもよい例示的なハードウェアコンポーネントを説明するブロック図である。
【図９】図９は、ソーストリガ信号と前記ソースノードにより受信されるデータフレームの所定のバイトとの間のオフセット値を計測するために、及び任意選択でネットワークのジッタを補償するために、前記ソースノード内に含まれてもよい例示的なハードウェアコンポーネントを説明するブロック図である。
【図１０】図１０は、受信したデータフレームの所定のバイト内でオフセット値を検出し、ローカルトリガ信号を生成し、イベントまたは前記ネットワークノードに結合されたデバイスを前記生成されたトリガ信号に同期するために全てのネットワークノード（前記ソースノード以外）内に含まれてもよい例示的なハードウェアコンポーネントを説明するブロック図である。
【発明を実施するための形態】
【００２９】
本発明はさまざまな変更及び代替可能な形態の影響を受けやすいので、本発明の特定の実施例は、図面及び本明細書の詳細な説明において例示の目的で示される。しかし、前記図面及び発明の詳細な説明は、本発明を開示された特定の形態に限定するものではなく、それとは対照的に、前記添付される特許請求の範囲によって定義されるように、本発明の精神及び範囲内にあるすべての変更、等価物及び代替物の全てに及ぶことを意図することが理解されるべきである。
【００３０】
図面に戻ると、図１は、通信システムまたはネットワーク１０の一例を示す。通信システム１０は、複数の相互接続されたネットワークノード１２を含む。簡単のために４つのノードのみが示される。しかし、システム１０が４つ以上のノードを含むことができること、及び、複数の相互接続されたネットワークも含むことができることがわかる。図１に示される前記ネットワークは、リング型またはループ型トポロジーとして実施される。しかし、前記ネットワークのバックボーンはバス型、スター型、またはネットワークが利用可能な任意の他のトポロジーとして実施できることがわかる。ノード１２間の結合は伝送線路１４に相当する。伝送線路１４は光学的、音響学的、または電気的（有線または無線）であることができる。
【００３１】
各ノード１２は、好ましくは特定の領域に局在化される。各ノード内には少なくとも１つのマルチメディアデバイスがある。ノード１２ｄに示されるように、ノードは１つ以上のマルチメディアデバイス１６を有することができる。１つ以上の局在的なデバイス１６が存在するとき、ローカルの伝送線路またはローカルバスは、選択可能な仮想線１７によって示されるように、ループまたはバス型トポロジーのいずれかにおいて、マルチメディアデバイス１６の間で使用されることができる。
【００３２】
デバイス１６と前記ネットワークノード１２との間に結合されているのは、ネットワークインタフェースコントローラ（ＮＩＣ）２０である。マルチメディアデバイス１６がノード１２に局在化される場合、前記ネットワークインタフェースコントローラ２０はローカルバス１７と前記ネットワーク伝送線路１４との間に配設される。インタフェース２０は一般に、ノード１２に配置される前記デバイス１６の間で通信を送信するための通信ポート（すなわち、双方向性の送信及び受信ポート）を含む。前記通信ポートも、前記マルチメディアデバイス１６の各々の中にあってもよく、その構造に応じて、クロックピン、１つまたは２つの信号ピン、及び少なくとも１つまたは１対のデータピンを含んでもよい。
【００３３】
本明細書からわかるように、前記ネットワークインタフェースの機能を１つまたは複数のマルチメディアデバイス１６の中に置くことができ、または、前記ネットワークインタフェースを前記マルチメディアデバイスから独立させることができる。マルチメディアデバイス１６は単一のモノリシック基板上にあってよく、前記ネットワークインタフェースもまた、単一のモノリシック基板上にあってよい。したがって、前記通信ポートは、例えば、ネットワークインタフェースコントローラ２０のモノリシック基板上、または前記ネットワークインタフェースコントローラを含んでも含まなくてもよいマルチメディアデバイス１６のモノリシック基板上にあることができる。
【００３４】
いくつかの実施形態では、ネットワークインタフェースコントローラ２０は、ネットワークを経由してデータを送信するために使用される方法に応じて、位相ロックループ（「ＰＬＬ」）、デジタル信号プロセッサ（「ＤＳＰ」）、または単に位相比較器を含んでもよい。その代わりに、位相比較器が、前記ネットワークインタフェースコントローラ２０内、または前記ネットワークインタフェースコントローラ２０の外に含まれるようにすること、及び単に通信ノードの一部を成すようにすることができる。加えて、ネットワークインタフェースコントローラ２０は、例えば、前記マルチメディアデバイス１６自体の中にあることができる。
【００３５】
マルチメディアデバイス１６は、その１つまたは複数がノード内にあり、マルチメディア信号を送信及び／または受信できる任意のデバイスである。このような信号は、音声、音響、映像、データファイル、または実行可能なデータプログラムを含む。このようなデバイスの例は、電話、センサ、ＣＤプレーヤー、ＤＶＤプレーヤー、ビデオカメラ、スピーカ、モニタ、コンピュータ、携帯情報端末（ＰＤＡ）、周波数変調されたステレオ、ナビゲーションシステム等を含む。場合によっては、１つまたは複数の前記マルチメディアデバイス１６は、伝送線路１４の前記フレーム転送レート（ＦＳＲ）でデータをサンプルしてもよい。例えば、マルチメディアデバイス１６は約４８ＫＨｚでサンプルするＤＶＤプレーヤーであってもよい。しかし、１つまたは複数のマルチメディアデバイスは、伝送線路１４の前記フレーム転送レート（ＦＳＲ）より高いまたは低いサンプリングレート（ｆｓ）でデータをサンプルできることが理解される。例えば、マルチメディアデバイス１６は約４４．１ＫＨｚでデータをサンプルするＣＤプレーヤーであってもよい。
【００３６】
一実施例によれば、前記マルチメディアデバイス１６は車両内に局在化されることができ、前記通信システム１０は前記車両内で、前記マルチメディアデバイスをお互いに、または前記同じ車両の他のノード内のマルチメディアデバイスに、または他の車両、衛星、または固定基地局とリンクするために使用されることができる。前記マルチメディアデバイス１６においてデータが暗号化されるかまたはエンコードされるかに応じて、通信システム１０は、そのような情報を宛先へ、ストリーミングデータ（同期またはアイソクロナス）、非同期データ（パケット化された）、あるいは制御データとして転送することを許可してもよい。加えて通信システム１０は、伝送線路１４の中に設置された１つまたは複数のチャンネルを経由して、またはローカルバス１７を経由して、４つのデータ型すべてを転送することを許可することができる。通信システム１０は、したがって、使用が可能な前記さまざまな型のマルチメディアデバイスに対する多用途性を追加するために、いろいろなデータの型に適合する。どのようなデータが伝送線路１４を経由して送信されるかにかかわらず、前記データはやはりクロックを基準としなければならない。
【００３７】
好ましい実施例では、図１に示される前記通信システム１０は、相互接続されたノードの同期ネットワークとして実施される。同期ネットワークでは、前記通信システム１０のあるノード（例えばノード１２ａ）がマスターノードとして指定されてローカルマスタークロックを有し、前記ローカルマスタークロックは、例えば、内部又は外部の水晶発振器１８から得ることができる。ノード１２ａから転送される前記データは、前記伝送線路１４上を前記フレーム転送レート（「ＦＳＲ」）で送信される前に、前記マスタークロック信号に同期される。前記スレーブノード１２ｂ−ｄによって受信される前記データを前記送信されるデータストリームに同期するために、さまざまな方法が使用されてもよい。
【００３８】
いくつかの実施例では、前記マスタークロック信号をリカバリし前記受信されるデータを前記送信されるデータストリームに同期させるために、クロックリカバリ回路がさまざまなスレーブノード１２ｂ−ｄの各々の中に含まれてもよい。一実施例では、前記スレーブノード内の前記クロックリカバリ回路は、マルチメディアデバイス１６のようなデジタルサブシステムを同期するために使用されてもよいリカバリされたクロック（すなわち、前記マスタークロックにロックされたローカルサンプリングクロック）を生成するために、ＰＬＬ（図示せず）を含んでもよい。前記クロックリカバリ回路及び、より詳細には、前記スレーブノードの各々の中における前記ＰＬＬは、単に前記マスタークロックを再構成することにより、またはその代わりに、前記マスタークロックレートを望ましいサンプリングレートに変換することにより、ローカルサンプリングクロックを生成してもよい。前記クロックリカバリ回路は、前記スレーブノード１２ｂ−１２ｄの前記ネットワークインタフェースコントローラ２０または前記マルチメディアデバイス１６内に含まれてもよい。しかし、上記のうちの１つのようなクロックリカバリ回路が、すべての実施例における前記スレーブノード内に含まれるとは限らない点に注意する。
【００３９】
他の実施例では、フレーム同期方法が、前記スレーブノード１２ｂ−１２ｄ内で、ローカルクロックを、前記ネットワークを経由して送信される前記マスタークロック周波数に同期するために使用されてもよい。例えば、前記スレーブノードはフレーム転送レート（「ＦＳＲ」）で前記ネットワークを経由して同期的に送信されるデータフレームを受信してもよく、前記フレーム転送レートは実質的に前記マスタークロック周波数と等価である。各データフレームは複数のデータバイトがその後に続く複数の管理用バイト（例えば、プリアンブル及び１つまたは複数のフラグ、ディスクリプタ及び／又は制御データバイトを含む）を含んでもよい。前記データフレームは前記マスターノードによって生成されてもよく、前記送信されるビットストリームはタイミングソース（例えば、水晶発振器１８）に同期されてもよく、前記タイミングソースは前記マスターノードの内部または外部にある。場合によっては、前記スレーブノードは受信データフレームの前記プリアンブルをクロック再生成及びデータ同期の目的で利用してもよい。
【００４０】
ＭＯＳＴ（Ｔｈｅ  Ｍｅｄｉａ  Ｏｒｉｅｎｔｅｄ  Ｓｙｓｔｅｍｓ  Ｔｒａｎｓｐｏｒｔ）ネットワークは、受信データフレームの前記プリアンブルをクロック再生成及びデータ同期の目的で使用する同期ネットワークの一例である。前記ＭＯＳＴネットワークは高速マルチメディアネットワークトポロジーであり、音響、映像、音声及びデータ信号をプラスチック光ファイバまたは電気伝導体の物理層を介して移送するために同期データ通信を使用する。ＭＯＳＴネットワークは、リング形状に配置された６４個までのノードから成ってもよいが、他のネットワークトポロジーが使用されてもよい。前記ノードの1つは、前記リングにＭＯＳＴフレームを供給するためのタイミングマスター及び機能として指定される。前記ＭＯＳＴフレームは前記ネットワークを経由して４４．１ＫＨｚまたは４８ＫＨｚのフレーム転送レートで送信できる。各フレームは、ストリーミングデータ用の同期チャンネル、パケットデータ用の非同期チャンネル、制御及び低速データ用の制御チャンネルという３つの部分から成る。
【００４１】
現在、ＭＯＳＴネットワークには３つの型がある。第１の型は、ＭＯＳＴ２５と呼ばれ、長さ５１２ビットのフレームを使用し、光学的物理層上でのストリーミング（同期）だけでなくパケット（非同期）データ転送のために、約２５Ｍｂｉｔｓ／ｓの帯域幅を提供する。ＭＯＳＴ２５のフレームはフレーム制御及びパリティビットに加えて、典型的にはプリアンブルと、境界ディスクリプタと、同期データ領域と、非同期データ領域と、制御チャンネル領域とを含む。前記境界ディスクリプタは、前記データフレームにおいて前記同期及び非同期データ領域の間の境界を規定する。
【００４２】
ＭＯＳＴ５０システムは前記ＭＯＳＴ２５システムの帯域幅を倍増（約５０Ｍｂｉｔ／ｓに）し、前記フレーム長さを１０２４ビットまで増加している。ＭＯＳＴ１５０はさらにフレームの長さを３０７２ビットまで増加し、その帯域幅はＭＯＳＴ２５システムの前記帯域幅の約６倍である。これは、他の前記ＭＯＳＴシステムが備える前記３つの確立されたチャンネルに加え、調節可能な帯域幅を有するイーサネット（登録商標）チャンネルも統合する。前記３つの確立されたチャンネル（同期チャンネル、非同期チャンネル及び制御チャンネル）は同じままであるが、前記制御チャンネルと前記同期及び非同期チャンネルとの間の境界の長さは、ＭＯＳＴ５０及びＭＯＳＴ１５０のフレームにおいて柔軟性がある。
【００４３】
前記ＭＯＳＴフレームの構造は、クロック及びデータのリカバリだけでなく、容易な再同期を、ネットワークのロック状態を指定するために前記データフレームの前記プリアンブルを利用することによって可能とするように設計されている。例えば、リセット、電源投入、またはロックの喪失が発生した後における前記正しい時間における有効なプリアンブルのセットの第１の受信が、前記スレーブノードにネットワークのロック状態が発生したことを指示してもよい。一旦前記ネットワークがロックされると、前記スレーブノードは前記エンコードされたデータストリームからデータを抽出し使用してもよい。
【００４４】
一旦ネットワークのロックが実現すると、前記スレーブノード内の前記ローカルクロックは、前記マスタークロック信号の前記周波数にロックされるであろう。しかし、前記スレーブノードによって受信される前記データは、前記マスターノードによって送信されるデータに関して位相シフトしているであろう。この位相シフトは、各アクティブノードに起因する遅延と、前記ノード内の位相ロックにおける許容誤差による追加の累積遅延とによる。同期ネットワークの前記ノード間の前記固定されたタイミングの関係が、各アクティブノードの位相遅延の固定された量をもたらすが、前記遅延の量は予測不可能であり、前記ネットワークの異なるノード間で変化することができる。加えて、前記遅延の量は、電源投入、リセットまたはロックなしからロックへ、というイベントが発生する毎に、いくらかの範囲内で変化することができる。したがって、前記ネットワーク上の各ノードは、ネットワークのロック状態が発生する毎の、固定ではあるが予測不可能ないろいろな位相遅延の量の原因となってもよい。このような位相遅延は多くのネットワークアプリケーションにおいて好ましくない。
【００４５】
ここで、図１の例示的なネットワークに示されるような、マルチメディアデバイス１６が前記ネットワークノードに結合される場合を考える。上記で検討されたように、これらのマルチメディアデバイスはスピーカ、マイクロフォン、ＤＶＤプレーヤー、ＣＤプレーヤー、カメラ、または当該技術分野で公知の多くのマルチメディアデバイスのうちの任意のデバイスを含んでもよい。多くのマルチメディアアプリケーションでは、異なるネットワークノードに所属する前記マルチメディアデバイスにおいて発生する特定のイベントを同期することは、必須とまではいかないまでも、多くの場合重要である。これらのイベントは、クロック信号の生成、入力／出力信号の生成、及びデータサンプリングを含んでもよいが、もちろんそれらには限られない。
【００４６】
例えば、１つまたは複数の前記ネットワークノード１２ａ−１２ｄに結合された１つまたは複数のマルチメディアデバイス１６の前記ローカルクロックを同期することが望ましくてもよい。例えば、前記マルチメディアデバイス１６によって使用される低周波数のローカルクロックのエッジを同期するために、クロック同期が望まれてもよい。しかし、イベント同期はクロック同期に限られず、前記マルチメディアデバイスへ供給される入力信号及び／または前記マルチメディアデバイスにより生成される出力信号の同期に一般に適用されてもよい。いくつかの例のアプリケーションが以下に示されるが、当業者であれば、イベント同期が有用であってもよい、及び／または望ましくてもよい他のアプリケーションも理解するであろう。
【００４７】
まず、複数スピーカシステムの左右のスピーカが前記ネットワークの異なるノードに結合されている場合を考える。この場合、前記複数スピーカシステムの前記左右のスピーカに供給される前記音響信号を、高い忠実度を維持するように同期することが重要である。同様の状況は、音響および映像（Ａ／Ｖ）信号が複数ディスプレイシステムに供給され、前記複数ディスプレイシステムの前記ディスプレイ画面が異なるネットワークノードに結合されている場合に発生する。この場合、前記複数のディスプレイ画面上でそのような信号の再現を調整するために、前記異なるネットワークノードに供給される前記Ａ／Ｖ信号を同期することが重要である。さらに他の例では、異なるネットワークノードに結合された複数のカメラが、前記複数のカメラによって画像が同時に取り込まれ、単一の画像に組み込まれることができるように、同期されることを必要としてもよい。これは、運転者補助アプリケーションにおいて特に有用であり、前記アプリケーションは、例えば、同時に取り込まれた画像を３次元ビューに統合してもよい。最終的に、イベント同期は、例えば分散マイクロフォンアレーにおいて発生するような、複数のネットワークノードを経由するデータサンプリングを調整するために使用されてよい。個々のマイクロフォンアレーが異なるネットワークノードに結合されているとき、前記分散アレーの各々においてサンプルされるデータはノイズキャンセルまたはエコーキャンセルの目的で同期されてもよい。
【００４８】
ネットワークのロック状態が発生した後に同期ネットワークの前記ノードを同期するための通信システム及び方法が必要とされる。特に、通信システム及び方法は、前記いろいろな固定ではあるが予測不可能な量の位相遅延を補償するために必要とされ、前記位相遅延はネットワークのロック状態が発生する毎に前記ネットワークノードにおいて与えられる。以下に記載するように、このような必要性は本明細書において、前記同期ネットワークの１つまたは複数のノードにおいて同時にローカルトリガ信号を生成することにより達成される。以下の記載はＭＯＳＴネットワークに準拠しているが、本明細書で示される本発明の概念は、実質的に任意のネットワークトポロジーを有する実質的に任意の同期ネットワークに適用されてもよい。
【００４９】
図面に戻ると、図１に示される前記通信システム１０は、好ましくは同期ネットワークとして実施され、ある具体的な実施例では、ＭＯＳＴネットワークとして実施されてもよい。上記したとおり、同期ネットワークの全てのノードは前記ネットワークタイミングマスターノードとの間に固定されたタイミング関係を有し、その結果、各ノードは前記ネットワーク上の全ての他のノードとの間に固定されたタイミング関係を有する。加えて、図２に示されるように、前記ネットワークの各ノードは、前記ノードの受信側（「ＲＸ」）において受信されるデータフレームの固定点と、前記ノードの送信側（「ＴＸ」）において送信される前記データフレームの同じ固定点との間における、固定された位相遅延の量（本明細書ではＲＸ−ＴＸ遅延と呼ぶ）の原因となってもよい。この遅延は、同期ネットワーク上のノード間の前記固定されたタイミング関係により固定されているので、前記ＲＸ−ＴＸ遅延は電源、リセット、及びアンロック／ロック状態に関して予測不可能であり、前記ネットワークの異なるノードによって異なってもよい。例えば、前記スレーブノードにおける前記ＲＸ−ＴＸ遅延は前記タイミングマスターノードにおけるそれよりもはるかに小さくてもよい。加えて、前記ＲＸ−ＴＸ遅延は前記ネットワークのスレーブノード間で異なってもよい。
【００５０】
この遅延を補償するために、同期トリガ信号が前記ネットワークのソースノード（例えば、図２のノード０）によって生成または受信され、前記ＭＯＳＴネットワークを経由して送信され、前記ネットワークの１つまたは複数の宛先ノード（例えば、図２のノード１−６における任意のノード）によって、前記宛先ノードにおいて発生するイベントを同期するために使用されてもよい。本明細書で使用されるように、「ソースノード」はソーストリガ信号を生成するかまたは受信する前記ネットワークノードである。いくつかの実施例における前記「ソースノード」は「マスターノード」であってもよく、または他の実施例においては「スレーブノード」であってもよい。前記「宛先ノード」はネットワークノードであり、データフレームを前記ソースノードから受信するため、及び、前記ソーストリガ信号をローカルトリガ信号として再生産する目的で前記データフレーム内に含まれる情報を使用するために、前記ソースノードに結合されている。
【００５１】
一実施例では、前記ローカルトリガ信号は、前記宛先ノードの前記ローカルクロックを、周波数と位相の両方で、前記マスタークロック信号または前記ネットワークを経由して送信されるフレーム転送レートに同期するために使用されてもよい。他の実施例では、前記ローカルトリガ信号は前記宛先ノード（または前記ノードに結合されるマルチメディアデバイス）へ供給される入力信号または前記宛先ノード（または前記ノードに結合されるマルチメディアデバイス）によって生成される出力信号を同期するために使用されてもよい。場合によっては、前記ローカルトリガ信号は、実質的にすべてのネットワークノードにおいて発生するイベントを同期するために使用されてもよい。他の場合には、図２の例示的な実施例において示されるように、前記ローカルトリガ信号は前記宛先ノードのサブセット（例えば、ノード２、３、及び５）において発生するイベントを同期するためにのみ使用されてもよい。
【００５２】
前記ＭＯＳＴネットワークを経由してトリガ信号が生成され送信されてもよいことによる非常に多くの方法がある。場合によっては、このような方法は、前記ネットワークインタフェースコントローラ（ＮＩＣ）２０で実施されてもよい。しかし、本明細書に記載される前記方法は、前記ＮＩＣ２０に限られず、本発明の他の実施例においては、前記ＮＩＣ２０に結合される１つまたは複数のチップまたは回路の中で実施されてもよいことに注意する。これらの実施例では、前記ＮＩＣ２０は、イベント同期のために必要とされるすべての情報を前記追加のチップ／回路に渡してもよい。
【００５３】
本明細書の記載時点では、今のところ、前記同期ネットワーク１０の様々なノードにおいて同期トリガ信号を生成するための前記ＭＯＳＴ  ＮＩＣ２０内における専用の論理回路（ハードウェアまたはソフトウェア）は存在しない。しかし、多くの前記現在利用可能なＭＯＳＴ  ＮＩＣ集積回路（ＩＣｓ）上に存在する論理回路は、前記ネットワークノードにおいてローカルに同期トリガ信号を生成するように使用及び／または修正することができる。このような方法は、前記ＭＯＳＴ  ＮＩＣ  ＩＣへのハードウェアの変更をすることなく実施できるが、このような方法によって生成される前記同期トリガ信号は通常限られた精度を有するため、すべての場合において望ましいとは限らない。
【００５４】
ある例示的な方法では、ＭＯＳＴ同期チャンネルが前記ＭＯＳＴネットワークを経由して前記１つまたは複数の宛先ノードに同期トリガ信号を送信するために使用されてもよい。この方法では、外部のトリガ信号が前記ソースノードにストリーミングポートデータ入力として供給され、そして、前記ＭＯＳＴネットワークを経由して前記同期チャンネルを通り前記宛先ノードへ送信される。一旦前記宛先ノード（例えば、前記宛先ノードの前記ストリーミングポートＳＸピン）によって受信されると、前記宛先ノードは前記ストリーミングデータを、イベント同期の目的で前記トリガ信号を再生産するために使用してもよい。この方法は、簡単なファームウェア調整により既存のＭＯＳＴ  ＮＩＣｓ  ２０上で実行できるものの、前記同期チャンネル方法はいくつかの不利益をもたらす。たとえば、前記ソースノード及び前記宛先ノードの各々における１つのストリーミングポートだけでなく、前記ＭＯＳＴネットワーク上の１つの同期チャンネルの帯域幅を消費する。加えて、前記同期チャンネル方法は増加したレイテンシの影響を受け、予測不可能なレイテンシ数をもたらす。これは非常に限られた精度のトリガ信号につながる。
【００５５】
他の例示的な方法において、前記ＭＯＳＴ  ＮＩＣ２０内の位相ロックループ（「ＰＬＬ」）は同期トリガ信号を生成するために使用されてもよい。前記ソースノードにおいて、内部または外部で生成されるトリガ信号（すなわち、ソーストリガ信号）は、ＰＬＬによって監視されてもよく、前記トリガ情報は前記ＭＯＳＴネットワーク上で送信されてもよい。一旦受信されると、前記トリガ情報は、前記宛先ノード内に含まれるＰＬＬにより、前記ソーストリガ信号のとあるバージョン（前記ソーストリガの同じ周波数、複数の周波数またはサブ複数周波数における）を再形成するために使用されてもよく、前記ソーストリガ信号のあるバージョンは前記宛先ノードにおいてイベントを同期するために使用することができる。
【００５６】
前記従来の方法と同様に、上記した前記周波数同期ＰＬＬ方法は、多くの既存のＭＯＳＴ  ＮＩＣ  ＩＣｓ（ＰＬＬハードウェアを有する）の中で実施できる。しかし、上記した前記周波数同期ＰＬＬ方法は、周期的なトリガ信号のためだけにしか有用でなく、前記ＭＯＳＴネットワーク上の１つのアイソクロナス位相チャンネル帯域幅を消費する。加えて前記方法は、各宛先ノードにおいて１つの周波数同期ＰＬＬを必要とするが、前記周波数同期ＰＬＬは、この方法を使用しないのであれば、音響またはビデオクロックの再生産のために使用できるはずのものである。さらに、前記方法は、前記ソーストリガ信号と前記宛先ノードにおいて再生産された前記トリガ信号との間における遅延の予測不可能な量を生じ、異なる宛先ノードにおいて生成される前記ローカルトリガ信号間でのタイミングの差の影響を受ける。したがって、上記した同期チャンネル法と同様に、前記周波数同期ＰＬＬ法は許容できる精度でトリガ信号を生成することができない。
【００５７】
いくつかのアプリケーションでは許容できるものの、上記した方法は前記宛先ノードで生成される前記トリガ信号間における遅延の予測不可能な量をもたらす。この遅延の予測不可能な量は、前記生成されるトリガ信号の前記タイミングの精度を減少させ、多くの場合、前記トリガ信号が前記宛先ノードの各々において同時に生成されることを妨げる。加えて、上記の方法を実施するためには、前記ソースノードまたは前記宛先ノードの各々にストリーミングポートまたはＰＬＬブロックのいずれかが必要とされる。これらの不利益を克服するために、本明細書では、複数のネットワークを同期するための改善された通信システム及び方法を提供し、下記でその詳細を検討する。
【００５８】
複数のネットワークノードを同期するための改善された方法の一実施例を、図３及び図４に示す。図３Ａは、前記改善された方法の遅延推定フェーズを説明する図であり、それにより前記ネットワークノードの各々に起因する固有の位相遅延が算出され、累積位相遅延がその中に格納される。図３Ｂは、図３Ａに続き、前記改善された方法のトリガ同期フェーズを説明する図であり、それにより、ソースノードによって生成または受信されるソーストリガ信号が、前記ソーストリガ信号とデータフレームの所定のバイトとの間のオフセットを測定することにより前記マスタークロック信号に同期され、前記マスタークロック信号は前記ネットワークのマスターノードによって生成され前記ソースノードで受信される。続いて、前記トリガ同期フェーズにおいて前記ソースノードによって測定される前記オフセット値は、前記ネットワークを経由して前記宛先ノードの各々へ送信される。最後に、図４は前記改善された方法のイベント同期フェーズを説明する図であり、それにより、受信したデータフレームの前記所定のバイト内でオフセット値が検出されると、ローカルトリガ信号が、前記ネットワークノードにおけるイベントを前記ローカルトリガ信号に同期させるために１つまたは複数の前記ネットワークノードにおいて生成される。下記でより詳細に記載されるように、前記改善された方法は、前記個々のノードに起因する前記固有の位相遅延（例えば、前記ＲＸ−ＴＸ遅延）を補償することにより、前記ネットワークノードの各々において同時に前記ローカルトリガ信号を発生させることを可能にする。前記遅延推定フェーズ、前記トリガ同期フェーズ、前記イベント同期フェーズについて、さらに詳細に以下で検討する。
【００５９】
図３Ａに示されるように、前記改善された方法における前記遅延推定フェーズは、典型的にはネットワークのロック状態を検出したときに開始してよい（ステップ３０）。本明細書では、ネットワークのロック状態は、同期ネットワークにおいて、前記ネットワーク全体としての電源投入またはリセットの後、または、前記ネットワークに結合されたネットワークインタフェースコントローラ（ＮＩＣ）の電源投入またはリセットの後に発生するものとする。場合によっては、ネットワークのロック状態は、ネットワークがロックされていない状態に引き続いて追加的にまたは択一的に発生してもよく、多くの理由によって発生してもよい。例えば、前記ネットワークノードの１つが電源を切られる又はリセットされると、それはロックされていない状態を下流に伝搬するであろう。これが発生すると、ネットワークのロックは前記ネットワークノードで再確立されなければならない。
【００６０】
一旦ネットワークのロックが再確立されると、前記スレーブノード内の前記ローカルクロックは、再び前記マスターノードにより生成された前記マスタークロック信号の前記周波数にロックされる。しかし、前記宛先ノードにより受信される前記データは、前記ソースノードにより送信されるデータが原因で位相シフトされている。このような位相シフトを補償するために、各ノードはネットワークのロックが成立する毎に、そのノードに起因する前記ＲＸ−ＴＸ遅延を計算する(ステップ３２)。一旦前記ネットワークがロックされると、各ノードを通る前記ＲＸ−ＴＸ遅延は、ネットワークのジッタによる比較的小さな変化を除き一定に維持される。
【００６１】
各ノードによって計算される前記ＲＸ−ＴＸ遅延はそのノードに起因する固有の遅延であり、データフレームが前記ノードの受信（ＲＸ）ピンから同じ前記ノードの送信（ＴＸ）ピンまで伝播するために必要とする位相遅延の量からなる。一般に、前記ＲＸ−ＴＸ遅延は、前記ノードの前記ＲＸピンにおいて受信されるデータフレームの任意の固定点と、同じ前記ノードの前記ＴＸピンにおいて送信されるデータフレームの同じ前記固定点との間で計算されてもよい。前記固定点は、例えばフレーム開始番号（「ＳＯＦ」）や前記データフレーム内における任意の特定のバイトの開始及び末尾のような、前記データフレーム内における実質的に任意の固定点である。いくつかの実施例では、あるノードの前記ＴＸピンと次の下流ノードの前記ＲＸピンとの間の伝送媒体における遅延を表現するために、前記ＲＸ−ＴＸ遅延に所定の量が加算されてもよい。この遅延の所定の量は、２つの隣接するノードに接続される各伝送線路に対して、通常固定されている。前記遅延の所定の量は前記測定されたＲＸ−ＴＸ遅延に加算され、その結果、前のノードの前記ＴＸピンから現在のノードのＴＸピンまでの合計の遅延が得られる。
【００６２】
一旦前記ＲＸ−ＴＸ遅延が各ノードに関して計算されると、前記情報は、二つのうちどちらかの方法で分配されてもよい。一実施例では、前記ノードの各々で計算される前記ＲＸ−ＴＸ遅延はネットワーク上の全ての他のノードに分配されてもよい（ステップ３４）。例えば、データチャンネルが、各個々に計算されたＲＸ−ＴＸ遅延を全ての下流及び上流ノードに送信するために使用されてもよい。これは、前記ソースノードと前記現在のノードとの間に配置された全てのノードに起因する前記個々のＲＸ−ＴＸ遅延を統合することにより、各ノードがそのノードに関する累積ＲＸ−ＴＸ遅延（Ｄａｃｃ）を計算することを可能にする。
【００６３】
以下に説明するように、前記ソースノード（例えば、図２のノード０）は、ソーストリガ信号を受信または生成するノードである。前記ソースノードは前記マスターノードまたは前記スレーブノードの１つであってもよく、典型的にはいくつかのより高レベルのソフトウェアにより指定される。前記ソーストリガノードの下流のＮ番目のノードに関する前記累積ＲＸ−ＴＸ遅延は、ＲＸ−ＴＸ遅延_Ｎと指定される。前記ソースノード（例えば、図２のノード０）の下流である前記第１のノード（例えば、図２のノード１）からスタートすると、前記累積ＲＸ−ＴＸ遅延は前記ネットワーク上の各下流ノードに向かって増加する。一旦ある特定のノードに関して前記累積ＲＸ−ＴＸ遅延が計算されると、そのノードに起因する前記累積ＲＸ−ＴＸ遅延は将来の使用のためにそのノードの中に格納される（図３Ａのステップ３８）。
【００６４】
各ノードの前記個々のＲＸ−ＴＸ遅延を全ての他のネットワークノードに分配する代わりに、各ノード（前記第１のノードから開始する）は、その累積ＲＸ−ＴＸ遅延を前記ネットワーク上の前記次の下流ノードに伝達してもよい（図３Ａにおける択一的なステップ３７）。各ノードは自己の累積ＲＸ−ＴＸ遅延を、上流ノードから受信した前記累積ＲＸ−ＴＸ遅延と自己の固有のＲＸ−ＴＸ遅延とを統合することにより計算してもよい。例えば、ノード１（図２）は、そのＲＸ−ＴＸ遅延を計算しノード２へ伝達してもよい。この遅延を受信すると、ノード２は、ノード１から受信した前記ＲＸ−ＴＸ遅延（すなわち、ノード１の累積ＲＸ−ＴＸ遅延）を自己の固有のＲＸ−ＴＸ遅延と統合することにより、累積ＲＸ−ＴＸ遅延を計算してもよい。ノード２からの前記累積ＲＸ−ＴＸ遅延は、続いて、ノード３などに伝達されてもよい。各ノードにおいて、そのノードに起因する前記累積ＲＸ−ＴＸ遅延は、将来の使用のためにその中に格納される（ステップ３８）。
【００６５】
一旦累積ＲＸ−ＴＸ遅延が各ノード内に格納されると、前記方法は、例えば図３Ｂに示されるように、前記トリガ同期フェーズに入ってもよい。説明される実施例では、前記トリガ同期フェーズは、ソーストリガ信号が前記ソースノードによって生成されたか受信されたときに開始する（ステップ４０）。次に、前記ソースノードは、前記ソーストリガ信号と前記ソースノードによって送信されるデータフレームの所定のバイトの次の発生との間の時間差を測定する（ステップ４２）。この時間差を本明細書では前記「オフセット値」と呼び、Ｄｔｓで表示する。
【００６６】
好ましい一実施例では、前記所定のバイトはＭＯＳＴデータフレームの「トリガバイト」と指定されてもよい。例えば、図１に示される前記通信システム１０がＭＯＳＴネットワーク内で実施されるとき、ＭＯＳＴデータフレームの１つのバイトが「トリガバイト」として指定されてもよい。場合によっては、前記トリガバイトは前記ＭＯＳＴフレーム上の指定されたバイトであることができ、それは本明細書に記載される前記方法における前記トリガ同期フェーズの間のみ可能とされる。他のときには、前記トリガバイトは、その通常の機能的な目的のために使用できる。一例では、前記ＭＯＳＴ１５０フレームのフレームバイト１０は、現在は前記ＭＯＳＴ  ＮＩＣ２０ファームウェアにおいてスペアバイトとして指定されているが、トリガバイトとして指定されてもよい。しかし、前記トリガバイトは前記ＭＯＳＴ１５０フレームの１０番目のバイトに限られず、前記データフレームがＭＯＳＴネットワーク内でまたは他の同期ネットワーク内で送信されるか否かにかかわらず、実質的にデータフレームのいかなる所定のバイトを占有してもよい。
【００６７】
一実施例では、前記Ｄｔｓオフセット値は前記ソーストリガ信号と前記ソースノードにより送信される次の前記ＭＯＳＴトリガバイトの前記開始との間で測定されてもよい。前記ソーストリガ信号が前記ＭＯＳＴトリガバイトの前に受信されると、前記ソースノードは、前記Ｄｔｓオフセット値を前記同じＭＯＳＴトリガバイト内で前記次の下流ノードへ送信してもよい（ステップ４６）。しかし、前記ソーストリガ信号が前記ＭＯＳＴトリガバイトの後に受信されると、前記Ｄｔｓ値は前記次のデータフレームのＭＯＳＴトリガバイト内で前記次の下流ノードへ送信され（ステップ４６）、前記Ｄｔｓ値の送信の遅延によるレイテンシが少量ずつ増加する。代替の実施例では、前記Ｄｔｓオフセット値は、前記ソーストリガ信号とＭＯＳＴトリガバイトの前記末尾、またはデータフレームのいくつかの他の所定のバイトとの間で測定されることができる。しかしこれは、常に前記Ｄｔｓ値が後続のトリガバイト内で送信されることを必要とすることにより、さらにレイテンシを増加させる。
【００６８】
本開示において、本明細書に記載されるＤｔｓオフセット値は「有効データ値」であると考えてもよい。一般に、有効データ値はデータを含み、非データ値と区別可能であるが、前記非データ値は識別子、コーディング違反等としてデータフレーム内で送信されてもよい。一実施例では、前記Ｄｔｓオフセット値は「有効トリガ信号」が前もって前記ノードに送信された後にのみ、前記下流ノードに送信されてもよい。この有効なトリガ信号はデータフレームの前記ＭＯＳＴトリガバイト内で送信されてもよく、前記下流ノードに対して、有効トリガ信号が前記データフレーム内に存在することを示す任意のデータを含んでもよい。前記有効トリガ信号は、例えば非ゼロ値のような、任意の有効なデータバイトを含んでよい。前記有効トリガ信号が送信された後、前記Ｄｔｓオフセット値は前記次のＭＯＳＴトリガバイト内で前記下流ノードへ送信されてもよい。
【００６９】
好ましい実施例では、前記Ｄｔｓオフセット値（すなわち、有効データ値）を前記下流ノードに伝達するためだけでなく、データフレーム内に有効トリガが存在することを前記下流ノードに示すために前記ＭＯＳＴトリガバイト内で送信される前記Ｄｔｓオフセット値を使用することにより、ネットワークの帯域幅は効率的に使用される。例えば、データフレームにおいて送信されるべき有効トリガ信号がないときには、非有効データ値（コーディング違反またはすべてが０の文字列）が前記ＭＯＳＴトリガバイト内で送信されてもよい。これは、例えば図５において、データストリーム６０として説明されている。一旦有効なトリガ信号が前記ソースノードにより生成または受信されると、例えば図５のデータストリーム６２及び６４に示されるように、前記Ｄｔｓオフセット値に相当する有効データ値が前記次のＭＯＳＴトリガバイト内で送信されてもよい。前記ＭＯＳＴトリガバイトが有効データ値を含むという事実は、非有効データ値とは対照的に、前記下流ノードへ、トリガ信号が前記データフレーム内に存在することを指示する。これは、前記Ｄｔｓオフセット値と有効トリガの指示とが独立して送信されることを必要としないことにより、ネットワークの帯域幅を効率的に減少させる。前記ＭＯＳＴネットワークを一巡した後、前記トリガバイトは前記ソースノードを通過すること及び繰り返すことを妨げられる。新しいトリガ信号が前記ソースノードで生成または受信されると、前記新しいトリガ信号は、直ちに前記次のデータフレーム上で送信される。
【００７０】
上記されたように、前記Ｄｔｓオフセット値は、好ましくは前記ソーストリガ信号と前記ソースノードによって受信される前記次のＭＯＳＴトリガバイトの前記開始との間で測定されるので、前記Ｄｔｓオフセット値は下流ノードへ前記次のＭＯＳＴトリガバイト内で送信されてもよい。しかし、図５に示されるように、前記Ｄｔｓオフセット値の測定は通常前記ソーストリガ信号の到着に依存する。前記ソーストリガ信号がデータフレームの前記ＭＯＳＴトリガバイトの前に前記ソースノードに到着すると、図５のデータストリーム６２に示されるように、前記Ｄｔｓオフセット値は、前記同じデータフレームの前記ソーストリガ信号と前記ＭＯＳＴトリガバイトとの間で測定される。一方、前記ソーストリガ信号がデータフレームの前記ＭＯＳＴトリガバイトの後に到着すると、図５のデータストリーム６４に示されるように、前記Ｄｔｓオフセット値は、前記ソーストリガ信号と前記次のデータフレームの前記ＭＯＳＴトリガバイトとの間で測定される。前記ソーストリガ信号が前記ＭＯＳＴトリガバイト間に到着する場合（図示せず）、前記Ｄｔｓオフセット値は前記ソーストリガ信号と前記次のデータフレームの前記ＭＯＳＴトリガバイトとの間で測定される。
【００７１】
図４に戻って、前記ソースノードで生成される前記データフレームは前記ネットワーク上で送信され、前記宛先ノードにより受信される（ステップ４８）。前記改良された方法の前記イベント同期フェーズは、宛先ノードが、受信したデータフレームのＭＯＳＴトリガバイト内でＤｔｓオフセット値（すなわち、有効データ値）を検出したときに開始する（ステップ５０）。これが発生すると、前記宛先ノードはカウントダウンタイマを開始し、前記カウントダウンタイマは所定値からカウントダウンを行う（ステップ５２）。一実施例では、前記所定値はＭＯＳＴデータフレームの前記フレームサイズの２倍であってよい（すなわち、ビット数の２倍）。例えば、前記所定値は、ＭＯＳＴ５０システムにおいては２＊（１０２４）＝２０４８であり、ＭＯＳＴ１５０システムにおいては２＊（３０７２）＝６１４４である。しかし前記所定値は実質的に適切であると考えられる任意の他の値であってもよいことに注意する。前記カウント値は前記宛先ノードによって監視され（ステップ５４）、前記カウント値が、前記所定値から前記Ｄｔｓオフセット値とその宛先ノード内に格納された前記累積ＲＸ−ＴＸ遅延とを統合した遅延を引いた値に一旦等しくなると、ローカルトリガ信号が前記宛先ノードで生成される（ステップ５６）。一旦生成されると、前記宛先ノードにおいてローカルに生成されるトリガ信号は、前記宛先ノードに結合されたマルチメディアデバイスを、またはより詳細には、前記マルチメディアデバイス内で発生するイベントを、前記ローカルに生成されるトリガ信号に同期するために使用される（ステップ５８）。
【００７２】
図３及び図４に示される前記改善された方法は、前記ソーストリガ信号を前記マスタークロック信号に（前記Ｄｔｓオフセット値を介して）同期することと、ローカルトリガ信号を１つまたは複数の宛先ノードにおいて同時に再生産することとにより、複数のネットワークノードにおいてイベント同期を提供する。前記トリガ信号は、前記ソースノードと前記宛先ノードとの間の各ノードに起因する前記固有のＲＸ−ＴＸ遅延を補償することにより、前記宛先ノードの各々において同時に生成される。より正確には、本明細書に記載される前記方法は、前記宛先ノードが不確実性の小さな時間窓の中の実質的に同じ時刻にローカルトリガ信号を生成することを可能にする。この時間窓は前記生成されるトリガ信号の精度を決定し、また、２つの要素の直接的な結果である―第１の要素は、前記宛先ノードと前記ソースノードとの間の前記ノードの各々における、これらのノードの前記ＲＸ点及びＴＸ点における異なるクロックドメインが原因である前記ＲＸ−ＴＸ遅延測定の前記小さな不確実性であり、第２の要素は、前記ネットワークのジッタが原因である。
【００７３】
ネットワークのジッタは前記トリガ信号タイミングにおける不確実性の大半を占める。このタイプのジッタは低周波数ジッタであり、各ネットワークノード内に含まれるＰＬＬによって追跡することができる。このことは、時間内の任意の与えられた点において、前記ネットワーク上の異なるノードにおける瞬間的なジッタは、実質的に同じ値であろうことを意味する。したがって、前記トリガ信号タイミングにおける不確実性の大半は、ネットワークのジッタを補償することによって除去されてもよい。一旦ネットワークのジッタが除去されると、残る不確実性は前記ＲＸ−ＴＸ遅延測定の精度によるものだけであろう。前記ＲＸ−ＴＸ遅延測定の不確実性はとても小さいので（例えば、ＭＯＳＴ１５０システムにおいて６．５ns/node）、多くの場合は無視してもよい。
【００７４】
図３Ｂに戻って、本明細書に記載される前記方法の代替の実施例は、前記ソースノードによりトリガ信号が生成または受信されるたびに、前記ソースノードにおいて前記ＲＸ−ＴＸ遅延を測定することにより、ネットワークのジッタを補償する。これは、前記ＲＸ−ＴＸ遅延は前記ソースノードによって受信される各データフレームのために測定されるが、前記ソーストリガ信号が到着したときにのみ使用される、または前記ＲＸ−ＴＸ遅延は前記ソーストリガ信号が到着したときにのみ測定及び使用されることを意味する。前記ソースノードにおけるジッタの前記量の推定値は、前記遅延推定フェーズ（ネットワークのロック状態の直後に続く、図３Ａに示されるフェーズ）の間に算出される前記ＲＸ−ＴＸ遅延と前記現在の測定されたＲＸ−ＴＸ遅延との差を決定することにより算出される。前記ジッタ値の計算の後、前記ソースノードは、統合されたＤｔｓオフセットとジッタ値を前記ＭＯＳＴトリガバイトで前記ネットワークを経由して送信する（ステップ４６）前に、前記ジッタ値を前記Ｄｔｓオフセット値に加算（図３Ｂの任意選択のステップ４４）してもよい。場合によっては（図示せず）、ジッタ値は前記下流ノードにおいて同じ方法で計算されてもよく、前記ジッタ値は、前記更新されたＤｔｓ＋ジッタの値を前記次の下流のノードに前記ＭＯＳＴトリガバイトで転送する前に調節されてもよい。
【００７５】
図６及び図７は、本明細書に記載される前記方法を使用して、どのようにローカルトリガ信号が複数の宛先ノードにおいて同時に生成されてよいかについての２つの異なる例を提供する。特に、図６及び図７は、ソースノード０におけるソーストリガ信号の到着と、前記宛先ノード１〜Ｎの各々におけるローカルトリガ信号の前記同時生成とを示すタイミング図である。本発明のいくつかの実施例においては、ノード１〜Ｎは全ての宛先ノードを備えてもよいが、本発明のいくつかの他の実施例においては、ローカルトリガ信号は、前記宛先ノードの選択されたサブセットにおいてのみ生成されてもよいことに注意する。
【００７６】
図６の例示的なタイミング図において、前記ソーストリガ信号は、前記ＭＯＳＴトリガバイトが前記Ｆ１データフレームで到着する少し前に前記ソースノード０に到着する。前記ソースノード０は、前記ソーストリガ信号と前記Ｆ１フレームにおける前記ＭＯＳＴトリガバイトの前記開始との間の前記時間遅延（すなわち、前記Ｄｔｓオフセット）を測定し、前記Ｄｔｓオフセット値を、同じ前記Ｆ１フレームの前記ＭＯＳＴトリガバイトで前記ネットワークを経由して送信する。前記Ｄｔｓオフセット値が各宛先ノード１〜Ｎにおいて検出されるとすぐに、前記宛先ノードは前記カウントダウンタイマを開始し、前記タイマのカウント値が、フレームサイズ（またはいくつかの他の所定値）の２倍から前記Ｄｔｓオフセット値とその宛先ノード内に格納された前記累積ＲＸ−ＴＸ遅延とを統合した遅延を引いた値と一旦等しくなると、ローカルトリガ信号を生成する。
【００７７】
図６及び図７において、前記ソーストリガノードの下流にある各ノードに関する前記累積ＲＸ−ＴＸ遅延を、ＲＸ−ＴＸ遅延＿１、ＲＸ−ＴＸ遅延＿２、・・・ＲＸ−ＴＸ遅延＿Ｎと指定する。上記したように、前記ＲＸ−ＴＸ遅延は、ノードの前記ＲＸピンで受信されるデータフレームの固定点と、同じ前記ノードの前記ＴＸピンで送信されるデータフレームの同じ前記固定点との間で計算される。一旦特定のノード（例えば、ノード２）における前記ＲＸ−ＴＸ遅延が計算されると、前記ソースノード０とそのノードとの間に配置される全てのネットワークノードに起因する前記固有のＲＸ−ＴＸ遅延を統合することにより、そのノードに関して前記累積ＲＸ−ＴＸ遅延（例えば、ＲＸ−ＴＸ遅延＿２）が計算されてもよい。いくつかの実施例では、前記累積遅延を算出する際に、所定の遅延の量が前記ＲＸ−ＴＸ遅延に加算されてもよい。この所定の量は、前記前のノードの前記ＴＸピンから前記現在のノードの前記ＲＸピンまでの物理的な伝送媒体における前記遅延の量を表している。
【００７８】
図６は各宛先ノード内に格納された累積ＲＸ−ＴＸ遅延を説明する。特に、図６は、一実施例において、所定のノードにおける前記累積ＲＸ−ＴＸ遅延（例えば、ノード２におけるＲＸ−ＴＸ遅延＿２）が前記ソースノード０における前記Ｆ１データフレームのフレーム開始番号（「ＳＯＦ」）と前記特定の宛先ノードにおける前記Ｆ１データフレームの前記ＳＯＦとの間でどのように計算されてよいかを説明する。しかし、前記ＲＸ−ＴＸ遅延及び前記累積ＲＸ−ＴＸ遅延は、本発明の他の実施例においては、多少異なるように計算されてもよいことに注意する。
【００７９】
図７は、本明細書に記載される前記方法を使用して、どのようにローカルトリガ信号が複数の宛先ノードにおいて同時に生成されてよいかを説明する、他の例示的なタイミング図である。しかし、図７に示される前記タイミング図は、多くの点で図６に示されるものと異なる。すなわち（１）前記ソースノードにおける前記ソーストリガ信号の到着、（２）前記ソースノードにおける前記Ｄｔｓオフセット値の測定と、引き続いての前記ネットワークを経由しての前記Ｄｔｓオフセット値の送信、（３）前記宛先ノードの各々において前記ＲＸ−ＴＸ遅延値が計算される方法、という点である。これらの違いについて以下で詳細に検討する。
【００８０】
図６に示される前記タイミング図とは違い、図７の前記タイミング図に示される前記ソーストリガ信号は、前記Ｆ１データフレームで前記ソースノード０に前記ＭＯＳＴトリガバイトが到着してしばらくしてから、前記ソースノード０に到着する。これは、前記ソースノード０に、前記ソーストリガ信号と前記次のデータフレーム（すなわち、前記Ｆ２データフレーム）での前記ＭＯＳＴトリガバイトの前記開始との間の前記時間遅延（すなわち、前記Ｄｔｓオフセット）を測定させ、前記Ｄｔｓオフセット値を、前記ネットワークを経由して前記Ｆ２データフレームの前記ＭＯＳＴトリガバイトで送信させる。
【００８１】
上記した違いに加えて、図７に示される前記タイミング図は、前記宛先ノードの各々に関する前記累積ＲＸ−ＴＸ遅延を計算するための異なるマーカまたは固定点を使用する。図６では、前記累積ＲＸ−ＴＸ遅延は前記ソースノード０における前記Ｆ１データフレームのフレーム開始番号（「ＳＯＦ」）と前記宛先ノード１〜Ｎの各々におけるＦ１データフレームの前記ＳＯＦとの間で計算される。図７では、前記累積ＲＸ−ＴＸ遅延は、前記ソースノード０で受信される特定のデータフレーム（データフレームＦ２のような）におけるＭＯＳＴトリガバイトの前記開始と、前記宛先ノード１〜Ｎによって受信される同じ前記データフレームにおけるＭＯＳＴトリガバイトの前記開始との間で算出される。図７は有効データ値を含むＭＯＳＴトリガバイト（すなわち、前記Ｆ２データフレームにおいてＤｔｓ値を含む前記ＭＯＳＴトリガバイト）のみが、前記累積ＲＸ−ＴＸ遅延を計算するために使用されることを暗示してもよいものの、当業者は、どのように非有効データ値を含むＭＯＳＴトリガバイト（前記Ｆ１データフレームにおける前記ＭＯＳＴトリガバイトのような）が前記累積ＲＸ−ＴＸ遅延を計算するために代替として使用されるのかを理解できるであろう。
【００８２】
同期ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期する方法の好ましい実施例は、図２乃至７を参照して説明される。一般に、前記方法は、前記ネットワークノードの各々における前記予測不可能な位相遅延により引き起こされるタイミング差を排除することにより、１つまたは複数のネットワークノードにおいて実質的に同じ時刻にローカルトリガ信号を発生する。このローカルトリガ信号は前記ネットワークの異なるノードに結合されたデバイスを同期するため、またはより詳細には、異なるネットワークノードに結合された前記デバイス内で発生するイベントを同期するために使用されることができる。本明細書に記載される前記方法は、生成されることが必要な前記トリガ信号が前記フレーム転送レートより高い周波数でないときに、一般に適用可能である。加えて、前記トリガ信号は前記フレーム転送レートに対して非同期であることができ、周期的である必要はない。
【００８３】
いくつかの実施例では、本明細書に記載される前記方法はハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの任意の組み合わせ（すなわち、ファームウェア）で実施されてもよい。しかし、好ましい実施例では、前記方法は最小遅延を与えるために主としてハードウェアで実施されてもよい。図８乃至図１０は、本明細書で説明された方法を実施するために使用されてもよい例示的なハードウェアコンポーネントを説明する。しかし、実質的に同じ機能性を有する他のハードウェア及び／またはソフトウェアコンポーネントが、本発明の要旨を逸脱しない範囲で図８乃至図１０に示される前記例示的なコンポーネントの代わりに使用されてもよい。
【００８４】
図８は、前記個々のネットワークノードに起因する前記固有の位相遅延を算出するために全てのネットワークノード内に含まれてもよい例示的なハードウェアコンポーネントを説明する。特に、図８は、ネットワークのロック状態が発生した後に特定のネットワークノードに起因する固有の位相遅延を決定するために前記ネットワークノードの各々の中に含まれてよい遅延計算回路７０の一実施例を説明する。上記されたように、前記固有の位相遅延（本明細書では、ＲＸ−ＴＸ遅延と呼ばれる）は、データフレームの固定点が、特定のネットワークノードの受信（ＲＸ）ピンから同じ前記ネットワークノードの送信（ＴＸ）ピンまで伝播するために必要とする位相遅延の量からなる。
【００８５】
図８の前記実施例では、前記遅延計算回路７０はカウンタ７２を備え、前記カウンタ７２は前記ノードの前記ＲＸピンにおいて前記データフレームの前記固定点を受信したときに開始され、前記ノードの前記ＴＸピンにおいて前記同じデータの前記固定点を受信したときに停止する。一旦前記カウンタ７２が停止すると、前記カウンタ７２内に含まれる前記カウント値（前記ノードを通る前記ＲＸ−ＴＸ遅延の推定値を表す）は、第１の記憶装置（バッファまたはレジスタなど）７４へ、それが第２の記憶装置７６へ移送される前に転送される。
【００８６】
前記第２の記憶装置７６はそのノードに関連する前記累積位相遅延を格納する。上記したように、前記累積位相遅延は２つのうちのいずれか１つの方法で計算されてもよい。一実施例では、バッファ７４からの前記ＲＸ−ＴＸ遅延が前記ネットワークを経由して前記ネットワークの全ての他のノードに送信されてもよい。続いて各ノードは、その固有のバッファ７４内に格納された前記ＲＸ−ＴＸ遅延に、前記ソースノードとそれ自身との間に配置された全てのノードから前記ネットワークを経由して送信される前記ＲＸ−ＴＸ遅延を加算することによって、その固有の累積遅延を算出してもよい。他の実施例では、各ノード（前記ソースノードの後、前記第１のノードから開始する）は、上流のノードから受信した前記累積位相遅延とバッファ７４内に格納されたその固有のＲＸ―ＴＸ遅延とを統合することによって、そのノードに関する累積位相遅延を計算してもよい。前記第２の記憶装置７６内に前記計算された累積位相遅延を格納した後で、前記ノードは前記ネットワークを経由してその累積ＲＸ−ＴＸ遅延を前記次の下流ノードへ送信してもよい。
【００８７】
図９は、Ｄｔｓオフセット値を測定するために前記ソースノード内に含まれてもよい例示的なハードウェアコンポーネントを説明する。特に、図９は、前記ソースノードによって受信されるソーストリガ信号と前記ネットワークのマスターノードによって生成され前記ソースノードによって受信されるデータフレームの所定のバイト（例えば、ＭＯＳＴトリガバイト）との間のオフセット値を測定するために、ソースノード内に含まれてもよいオフセット計算回路８０の一実施例を説明する。
【００８８】
図９の実施例において、前記オフセット計算回路８０はカウンタ８２を備え、前記カウンタ８２は前記ソーストリガ信号を受信すると開始され、データフレームの前記次のＭＯＳＴトリガバイト（または何らかの他の所定のバイト）を受信すると停止する。一旦前記カウンタ８２が停止すると、前記カウンタ８２内に含まれる前記カウント値（これは、前記ソーストリガ信号と前記ネットワークの前記フレーム転送レートで送信されたデータバイトとの間の前記時間遅延またはオフセットを表す）は、前記ＭＯＳＴトリガバイトにおいて前記ネットワーク上で移送される前にバッファ（またはレジスタ）８４に転送される。
【００８９】
いくつかの実施例では、前記オフセット計算回路８０は、ネットワークのジッタを測定し補償するためのジッタ補償回路８６を含んでもよい。ネットワークのジッタを補償するために、前記ジッタ補償回路８６は、前記ソースノードに含まれる前記第１の記憶装置７４から複数の固有の位相遅延を受信するように構成されていてもよい。特に、前記ジッタ補償回路８６は、ネットワークのロック状態に続いて前記ソースノードによって前もって計算されるＲＸ−ＴＸ遅延と、ソーストリガ信号を受信／生成する前記ソースノードによって計算される他のＲＸ−ＴＸ遅延と受信するように構成されていてもよい。ジッタ値を算出するために、前記ジッタ補償回路８６は、前記前もって測定されたＲＸ−ＴＸ遅延と現在測定されたＲＸ−ＴＸ遅延との差を決定するための加算器または減算器を含んでもよい。一旦計算されると、前記ジッタ値は、統合されたオフセット及びジッタ値を前記ＭＯＳＴトリガバイト内で前記ネットワークを経由して送信する前に、前記オフセット値に加算される。
【００９０】
図１０は、受信されるデータフレームの所定のバイト内でオフセット値を検出し、ローカルトリガ信号を生成し、前記ローカルトリガ信号にデバイス及び／またはイベントを同期するために、前記ネットワークノードに含まれてもよい例示的なハードウェアコンポーネントを説明する。図１０に示されるように、前記ネットワークからデータフレームを受信し、前記受信したデータフレームのうちの１つの所定のバイトの中からオフセット値（すなわち、Ｄｔｓオフセット値）を検出するために、前記ネットワークノードの各々の中にトリガ検出回路９０が含まれていてもよい。一例では、前記トリガ検出回路９０は論理ゲートを備えてもよく、前記論理ゲートは前記所定のバイト（例えば、前記ＭＯＳＴトリガバイト）が非有効データ（例えば、すべて０、識別子またはコーディング違反）または有効データ（例えば、Ｄｔｓオフセット値または統合されたＤｔｓオフセット及びジッタ値）を含むかどうかを決定するように設計されている。前記トリガ検出回路９０がデータフレームの前記所定のバイトが非有効データのみを含むことを決定すると、前記回路は単にデータフレームの受信とそれらのフレーム内に含まれる前記所定のバイトの監視とを継続してもよい。
【００９１】
前記トリガ検出回路９０がデータフレームの前記所定のバイトが有効データを含むことを決定すると、前記トリガ検出回路９０は、所定値からカウントダウンするための開始信号をカウントダウンタイマ９２に供給してもよい。それと同時に、前記トリガ検出回路９０はＤｔｓ抽出回路９４が前記所定のバイトからレジスタへ前記Ｄｔｓオフセット値（すなわち、前記有効データ）をコピーできるようにしてもよい。続いて、前記Ｄｔｓオフセット値は、前記ネットワークノードの各々において前記ローカルトリガ信号を生成するために使用される前記共通の時間マーカを計算するために、加算器及び／または減算器９６に供給されてもよい。上記したように、及び、図１０に示されるように、前記共通の時間マーカは、前記Ｄｔｓオフセット値を統合された遅延を生成するために各ノード内に格納されている前記累積位相遅延に加算すること、及び、前記統合された遅延を前記所定値から減算することによって計算されてもよい。前記加算器／減算器９６からの結果はカウントダウンタイマ９２からの前記カウント値と共にトリガ信号生成回路９８に供給される。
【００９２】
トリガ信号生成回路９８は、一旦カウントダウンタイマ９２の前記カウント値が加算器／減算器９６から供給される計算結果と等価になると、ローカルトリガ信号を生成する。一実施例では、前記トリガ信号生成回路９８は、前記カウント値を前記計算結果と比較するため、及び、その比較結果に応答して論理値を生成するためのデジタルコンパレータと、前記論理値に応答してローカルトリガ信号を生成するための選択装置（フリップフロップまたはマルチプレクサなど）を含んでもよい。例えば、前記コンパレータは前記カウント値が前記計算結果と等価であることを示すために、論理値ハイを生成してもよい。前記コンパレータから前記論理値ハイを受信すると、前記選択装置は前記ネットワークノードにおいてローカルトリガ信号を生成してもよい。本明細書で説明した方法は各ネットワークノードに起因する前記固有の位相遅延を補償するので、前記ローカルトリガ信号は前記ネットワークノードの各々において同時に生成される。
【００９３】
一旦ローカルトリガ信号が特定のノードにおいて生成されると、前記トリガ信号は、前記特定のネットワークノードに結合されたデバイスまたは前記デバイス内で生じるイベントを前記生成されたトリガ信号に同期するために、イベント同期回路１００に供給されてもよい。一実施例では、前記デバイスは１つまたは複数のマルチメディアデバイスを備えてよく、前記マルチメディアデバイスは、以下のものには限られないが、スピーカ、マイクロフォン、カメラ、ディスプレイ画面等である。一実施例では、前記イベントは、クロック信号の生成、入力／出力の信号生成、データサンプリングを含んでもよいが、もちろんそれらには限られない。一実施例では、前記同期回路は、受信した前記生成されたトリガ信号に、前記特定のネットワークノードに結合された前記デバイスまたは前記デバイス内で発生するイベントを同期するための論理を含んでもよい。
【００９４】
いくつかの実施例では、図８乃至図１０に示される１つまたは複数のハードウェアコンポーネントが、単一モノリシック基板上に具体化されてもよい。例えば、前記遅延計算回路、前記トリガ検出回路、前記カウントダウンタイマ、前記トリガ信号生成回路は、ネットワークインタフェースコントローラ（図１のＮＩＣ２０など）に含まれてもよく、前記ネットワークインタフェースコントローラは単一モノリシック基板上に具体化される。しかし、図８乃至図１０に示される前記ハードウェアコンポーネントは、本発明の全ての実施例において単一モノリシック基板やネットワークインタフェースコントローラに限定されるものではないことに留意する。いくつかの実施例では、前記同期回路も前記ＮＩＣを備える前記単一モノリシック基板上に具体化されてもよい。他の実施例では、前記同期回路は各マルチメディアデバイスに含まれる独立したモノリシック基板上に具体化されてもよい。
【００９５】
当然のことながら、この開示の利益を有する当業者にとって、本願発明は、ネットワーク内でネットワークのロック状態が発生した後に複数のネットワークノードを同期するための改善された通信システム及び方法を提供することは明らかである。より詳細には、本発明は、前記ネットワークノードに結合されたデバイス（または前記デバイス内で発生するイベント）を前記トリガ信号に同期するために、前記複数のネットワークノードの各々でローカルトリガ信号を発生する手段を提供する。本明細書で提供される手段を使用すると、前記ローカルトリガ信号は、前記複数のネットワークノードの各々に起因する固有の位相遅延を補償することにより、前記複数のネットワークノードの各々において同時に前記ローカルトリガ信号が生成される。これは、前記ネットワークノードの各々において固定ではあるが予測不可能な位相遅延の量を生成していた従来の同期方法に対して著しい改善をもたらす。本発明のさまざまな観点からのさらなる改良及び代替の実施例は、当業者にとって本明細書からみて明らかであろう。したがって、本願請求項は全てのこのような改良及び変更を包含するものであり、明細書および図面は限定するためのものではなく例示的なものである。
【図１】
2018107837.tif 000003
【図２】
2018107837.tif 000004
【図３Ａ】
2018107837.tif 000005
【図３Ｂ】
2018107837.tif 000006
【図４】
2018107837.tif 000007
【図５】
2018107837.tif 000008
【図６】
2018107837.tif 000009
【図７】
2018107837.tif 000010
【図８】
2018107837.tif 000011
【図９】
2018107837.tif 000012
【図１０】
2018107837.tif 000013
【外国語明細書】
2018107837000001.pdf