(57)【要約】【解決手段】  第１の装置における基準クロックに基づいて第２の装置におけるクロックを整合させ、ネットワークにおいて非同期装置間のクロックレートジッターを低減する方法およびシステムを開示する。前記第１の装置と前記第２の装置との間で送信待ち時間（レイテンシ）が決定される。前記第２の装置において前記基準クロックに関する情報を含むデータパケットが受信される。次に、前記パケットに含まれた情報および前記送信待ち時間に基づいて前記第２の装置において前記クロックの位相が調整される。【選択図】      図２
2009512281.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置における基準クロックに基づいて第２の装置におけるクロックを整合させる方法であって、
前記第１の装置と前記第２の装置との間の送信待ち時間（レイテンシ）を決定する工程と、
前記基準クロックに関する情報を含むデータパケットを前記第２の装置において受信する工程と、
前記基準クロックに関する情報および前記送信待ち時間に基づいて前記第２の装置における前記クロックの位相を調整する工程と
を有する方法。
【請求項２】
請求項１記載の方法において、前記第１の装置は、１若しくはそれ以上の第３の装置を介して前記第２の装置と通信するものである。
【請求項３】
請求項１記載の方法において、前記第１の装置と前記第２の装置との間の送信待ち時間を決定する工程は、
前記第１の装置と、前記第２の装置と、ゼロ若しくはそれ以上の中間装置とを有する複数の点を決定する工程と、
第１の点と、第２の点とを有する各遅延セグメントであって、各中間装置は、１つの遅延セグメントについて前記第２の点を有し、次の遅延セグメントについて前記第１の点を有するものである、各遅延セグメントについて、
前記第１の点の観点から前記遅延セグメントについて往復遅延を決定し、
前記第２の点についてパススルー遅延を決定し、
前記第１の点および前記第２の点の送信経路間の送信差を決定し、
前記第１の点および前記第２の点の受信経路間の受信差を決定し、
少なくとも、前記往復遅延と、前記パススルー遅延と、前記送信差と、前記受信差とに基づいて前記遅延セグメントの合計遅延を計算する
工程と、
各中間装置についてパススルー遅延を決定する工程と、
少なくとも、各遅延セグメントの前記合計遅延と、各中間装置の前記パススルー遅延とに基づいて前記第１の装置と前記第２の装置との間の前記送信待ち時間を計算する工程と
を有するものである。
【請求項４】
請求項３記載の方法において、前記遅延セグメントの合計遅延を計算する工程は、
【数１】
2009512281.tif 000013
を計算する工程を有し、ここで、ＲＴＤＶ１は前記遅延セグメントの往復遅延、ＰＴＤＶ２は前記第２の点のパススルー遅延、ＴＸＤＶ１−ＴＸＤＶ２は前記送信差、ＲＸＤＶ２−ＲＸＤＶ１は前記受信差である。
【請求項５】
請求項３記載の方法において、前記送信待ち時間を計算する工程は、各遅延セグメントの前記合計遅延および各中間装置の前記パススルー遅延を合計する工程を有するものである。
【請求項６】
請求項３記載の方法において、前記送信待ち時間を計算する工程は、各遅延セグメントの前記合計遅延、各中間装置の前記パススルー遅延、および前記第２の装置の前記パススルー遅延を合計する工程を有するものである。
【請求項７】
請求項１記載の方法において、前記基準クロックに関する前記情報は、前記第１の装置により送信される際の前記データパケットのパケット長と、前記基準クロックについて計算され前記第１の装置内に格納される１若しくはそれ以上の遅延値とを有するものである。
【請求項８】
ネットワークにおいて非同期装置間のクロックレートジッターを低減する方法であって、
クロックマスターパケット長と、丸められた（ｒｏｕｎｄｅｄ）クロックマスターパケット長とを有するパケットを受信する工程と、
着信パケットを受信するために必要なクロックサイクル数を測定することにより、当該着信パケット長を決定する工程と、
前記着信パケット長と前記クロックマスターパケット長との差を決定する工程と、
ローパスフィルターを使って前記差をフィルタリングする工程と、
前記フィルタリングされた差をアキュムレータ（累算器）値に加算することにより、前記アキュムレータ値を更新する工程と、
少なくとも、前記更新されたアキュムレータ値および前記丸められたクロックマスターパケット長に基づいて調整されたパケット長で前記パケットを送信する工程と
を有する方法。
【請求項９】
請求項８記載の方法において、前記調整されたパケット長は、前記アキュムレータ値が１以上の場合、前記丸められたクロックマスターパケット長＋１に等しいものである。
【請求項１０】
請求項８記載の方法において、前記調整されたパケット長は、前記アキュムレータ値が−１以下の場合、前記丸められたクロックマスターパケット長−１に等しいものである。
【請求項１１】
第１のクロックを第１の装置で生成された基準クロックに整合させるためのシステムであって、
プロセッサと、
前記プロセッサおよび前記第１の装置と通信可能な通信インターフェースと、
前記プロセッサと通信可能なプロセッサ可読記憶媒体であって、当該プロセッサ可読記憶媒体は、前記第１のクロックを前記基準クロックに整合させる方法を実施するための１若しくはそれ以上の命令を含み、前記方法は、
前記第１の装置により前記通信インターフェースへ送信されるデータの送信待ち時間を決定する工程と、
前記基準クロックに関する情報を含むデータパケットを前記通信インターフェースを介して受信する工程と、
前記基準クロックに関する前記情報および前記送信待ち時間に基づいて前記第１のクロックの位相を調整する工程と
を有するものである、プロセッサ可読記憶媒体と
を有するシステム。
【請求項１２】
請求項１１記載のシステムにおいて、前記通信インターフェースは、１若しくはそれ以上の第２の装置を介して前記第１の装置と通信可能である。
【請求項１３】
請求項１１記載のシステムにおいて、前記送信待ち時間を決定する工程は、
前記第１の装置と、前記プロセッサと、ゼロ若しくはそれ以上の中間装置とを有する複数の点を決定する工程と、
第１の点および第２の点を有する各遅延セグメントであって、各中間装置は、１つの遅延セグメントについて前記第２の点を有し、次の遅延セグメントについて前記第１の点を有するものである、各遅延セグメントについて、
前記第１の点の観点から前記遅延セグメントについて往復遅延を決定し、
前記第２の点についてパススルー遅延を決定し、
前記第１の点および前記第２の点の送信経路間の送信差を決定し、
前記第１の点および前記第２の点の受信経路間の受信差を決定し、
少なくとも、前記往復遅延と、前記パススルー遅延と、前記送信差と、前記受信差とに基づいて前記遅延セグメントの合計遅延を計算する
工程と、
各中間装置についてパススルー遅延を決定する工程と、
少なくとも、各遅延セグメントの前記合計遅延と、各中間装置の前記パススルー遅延とに基づいて前記第１の装置と前記第２の装置との間の前記送信待ち時間を計算する工程と
を実施するための１若しくはそれ以上の命令を有するものである。
【請求項１４】
請求項１３記載のシステムにおいて、前記遅延セグメントの合計遅延を計算する工程は、
【数２】
2009512281.tif 000014
を計算する工程を有し、ここで、ＲＴＤＶ１は前記遅延セグメントの往復遅延、ＰＴＤＶ２は前記第２の点のパススルー遅延、ＴＸＤＶ１−ＴＸＤＶ２は前記送信差、ＲＸＤＶ２−ＲＸＤＶ１は前記受信差である。
【請求項１５】
請求項１３記載のシステムにおいて、前記送信待ち時間を計算する工程は、各遅延セグメントの前記合計遅延および各中間装置の前記パススルー遅延を合計する工程を有するものである。
【請求項１６】
請求項１１記載のシステムにおいて、前記基準クロックに関する前記情報は、前記第１の装置により送信される際の前記データパケットのパケット長と、前記基準クロックについて計算され前記第１の装置内に格納される１若しくはそれ以上の遅延値とを有するものである。
【請求項１７】
ネットワークにおいて非同期装置間のクロックレートジッターを低減するシステムであって、
クロックマスターパケット長と、丸められた（ｒｏｕｎｄｅｄ）クロックマスターパケット長とを含むパケットを受信するための受信インターフェースと、
着信パケットを受信するために必要なクロックサイクル数を測定することにより、当該着信パケット長を決定するパケット長決定モジュールと、
前記着信パケット長と前記クロックマスターパケット長との差を決定するための比較モジュールと、
前記差をフィルタリングするためのローパスフィルターと、
アキュムレータ値を含んだアキュムレータと、
前記フィルタリングされた差を前記アキュムレータ値に加算して更新されたアキュムレータ値を生成するための更新モジュールと、
少なくとも、前記更新されたアキュムレータ値および前記丸められたクロックマスターパケット長に基づいて調整されたパケット長で前記パケットを送信するための送信インターフェースと
を有するシステム。
【請求項１８】
請求項１７記載のシステムにおいて、前記送信インターフェースは、前記アキュムレータ値が１以上の場合、前記調整されたパケット長を前記丸められたクロックマスターパケット長に１を加算したものに等しくなるよう設定するものである。
【請求項１９】
請求項１７記載のシステムにおいて、前記送信インターフェースは、前記アキュムレータ値が−１以下の場合、前記調整されたパケット長を前記丸められたクロックマスターパケット長から１を減算したものに等しくなるよう設定するものである。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、「Ｊｉｔｔｅｒ  Ｍａｎａｇｅｍｅｎｔ」と題する、２００５年１０月６日付けで出願された係属中米国仮出願第６０／７２４，３１２号および「Ｌａｔｅｎｃｙ  Ｃｏｍｐｅｎｓａｔｉｏｎ」と題する、２００５年１０月６日付けで出願された係属中米国仮出願第６０／７２４，３４０号と関連し、且つ当該仮出願に対して優先権を主張するものである。これらの仮出願はそれぞれ参照によりその全体を本明細書に組み込むものとする。
【背景技術】
【０００２】
種々の音声およびビデオシステム製造業者は、ネットワーク内の種々の位置でデジタル音声を挿入および抽出できる音声および／またはビデオ装置のマルチチャネルネットワーキングシステムを提供することを試行してきた。通常、このようなシステムは、標準Ｅｔｈｅｒｎｅｔ（登録商標）パケット交換式ネットワークにおいて、データとしてルーティングされるデジタル音声を有する。このようなアプローチは容易に利用できる構成要素を活用したものだが、リアルタイムストリーミングメディアについては、様々な理由から十分な性能を発揮できない。
【０００３】
例えば、大半のパケット交換式システムは、全装置が中央の「サーバー」に接続されたスター型トポロジーを要する。このため各装置は、前記サーバーへのケーブル接続を別個に必要とする。複数の装置が互いに近接配置されていても前記サーバーから遠く離れている場合、ケーブルコストその他を考慮すると、上記の構成は最適と言いがたい。
【０００４】
このため、互いに近距離で隣接しあう装置を接続するには、これまでシリアル（直列）接続されたネットワーク（またはサブネットワーク）が使用されてきている。シリアル接続されたネットワークを使うと、ケーブルコストを制限し、装置ごとにデータパケット情報を更新することができるため、帯域幅を広げ、エンドツーエンドデータ送信距離を拡張することが可能になる。
【０００５】
ただし、シリアル接続された装置では問題が１つ生じる。１つの装置から次の装置へ情報を送信する際、わずかな再送信遅延が発生してしまうのである。そのような遅延は通常、アナログ音声データまたは非リアルタイムデータには影響を及ぼさないが、デジタル入出力（ｄｉｇｉｔａｌ  ｉｎｐｕｔ／ｏｕｔｐｕｔ、略称ＤＩＯ）装置に問題が生じるおそれもある。例えば、ＤＩＯ装置が基準クロックに整合される場合は、ＡＥＳ−１１仕様（参照によりその全体を本明細書に組み込むものとする）などに基づき、複数のＤＩＯ装置の位相関係について厳しい規則が課されることが多い。装置間のクロック整数遅延は許可されるが、２装置間のサンプリング小数遅延は許可されない。前記ＡＥＳ−１１仕様では、送信装置は前記基準クロックのサンプリング期間の±５％以内になる必要があり、また受信装置は前記基準クロックのサンプリング期間の±２５％以内にデータを受信する必要がある。したがって、２０８ｋＨｚなど高サンプリングレートのシステムでは、送信装置を０．２４μｓ（±６送信クロックサイクル）以内にする必要がある。
【０００６】
システムが送信パケットのレートに基づいて音声サンプルクロックを生成する場合、シリアル接続された装置におけるタイミングに関連する第２の問題が生じる。このアプローチを使った場合にタイミング誤差が生じると、このような誤差が、ネットワーク内で直列接続された装置で蓄積されるおそれがあり、結果として、ジッターおよびワンダー（低周波数のジッター）がパケットレートに生じてしまう。ジッターおよびワンダーは音声サンプルレートにも起こり、デジタルネットワークシステムがサンプル「ロック」を失って音声データ損失につながるおそれがある。
【０００７】
従来システムの場合、サンプリングレートは、パケットレートにより通信できる。パケットレートは、例えばサンプリングレートの０．５倍、０．２５倍、または０．１２５倍である。ただし、サンプリングレート、従ってパケットレートはローカル送信クロックと非同期である。送信クロックが２５ＭＨｚの場合、サンプリングレートクロックの非同期再クロッキングにより、送信パケットに４０ｎｓのジッターが生じてしまう。シリアル接続された従来の装置では、接続された装置の送信クロックが互いに非同期であるため、各装置から４０ｎｓのパケットジッターが付加される。すなわち、ジッターが累積されてしまう。ジッターの累積を管理しないと、パケット再送信が妨げられ、または音声品質に悪影響が及ぶ。
【０００８】
音声ネットワークまたはビデオネットワークにおいて非同期装置間でサンプリングクロックを実質的に調整し、通常では非同期である装置間の待ち時間（レイテンシ）を補正して実質的に同時にサンプリングクロックを生成し、且つネットワーク内の非同期装置間でジッターを低減し、および／またはネットワークにおいてワンダーに起因するジッターを制限するためのシステムおよび方法が望まれている。
【０００９】
本実施形態は、上記の問題のうち１若しくはそれ以上を解決することを目的としたものである。
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明の方法の説明の前に、本明細書で説明する特定のシステム、方法またはプロトコルは場合により異なる可能性があるため、本発明がこれらに限定されるものではないことを理解すべきである。また言うまでもなく、本明細書で使用する用語は、特定の実施形態のみを説明することを目的としており、本開示の範囲を限定するよう意図したものではない。本開示は添付の特許請求の範囲によってのみ限定されるものである。
【００１１】
また、本明細書および添付の特許請求の範囲において単数形（「ａ」、「ａｎ」、「ｔｈｅ」）は、別段の断りがない限り、複数形を含む。したがって、例えば「信号」と言及した場合は、当業者に知られている１若しくはそれ以上の信号およびそれと同等のものなどを指す。別段の定義がない限り、本明細書で使用するすべての科学技術用語は、当業者に一般に理解されているものと同じ意味を有する。本明細書で使用する用語「有する（ｃｏｍｐｒｉｓｉｎｇ）」は、「含む（ｉｎｃｌｕｄｉｎｇ）がそれに限定されるものではない」ことを意味する。本明細書で言及するすべての出版物は、参照により本明細書に組み込むものとする。本明細書のいかなる内容も、本明細書で説明する実施形態が、先行発明に基づく前記出版物などの開示に先行する資格がないことを認めると解釈されるべきではない。
【００１２】
本明細書に開示する実施形態は、同時係属米国出願第１１／２５２，５７７号（参照によりその全体を本明細書に組み込むものとする）で説明されているＡｖｉｏｍ  Ｐｒｏ６４（登録商標）システムの方法およびシステムを参照して説明する。ただし、当業者であれば、付加的および／または代替的な方法およびシステムに本開示内容を導入することも可能であり、その実施形態が本開示の範囲内であると意図されていることが明確に理解されるであろう。
【００１３】
一実施形態において、第１の装置における基準クロックに基づいて第２の装置におけるクロックを整合させる方法は、前記第１の装置と前記第２の装置との間の送信待ち時間（レイテンシ）を決定する工程と、前記基準クロックに関する情報を含むデータパケットを前記第２の装置において受信する工程と、前記データパケットに含まれた情報および前記送信待ち時間に基づいて前記第２の装置における前記クロックの位相を調整する工程とを含む。
【００１４】
一実施形態において、ネットワークにおいて非同期装置間のクロックレートジッターを低減する方法は、クロックマスターパケット長と、丸められた（ｒｏｕｎｄｅｄ）クロックマスターパケット長とを有するパケットを受信する工程と、着信パケットを受信するために必要なクロックサイクル数を測定することにより、当該着信パケット長を決定する工程と、前記着信パケット長と前記クロックマスターパケット長との差を決定する工程と、ローパスフィルターを使って前記差をフィルタリングする工程と、前記フィルタリングされた差をアキュムレータ（累算器）値に加算することにより、前記アキュムレータ値を更新する工程と、少なくとも、前記更新されたアキュムレータ値および前記丸められたクロックマスターパケット長に基づいて調整されたパケット長で前記パケットを送信する工程とを含む。
【００１５】
一実施形態において、第１のクロックを第１の装置で生成された基準クロックに整合させるシステムは、プロセッサと、前記プロセッサおよび前記第１の装置と通信可能な通信インターフェースと、前記プロセッサと通信可能なプロセッサ可読記憶媒体とを含む。前記プロセッサ可読記憶媒体には、前記第１のクロックを前記基準クロックに整合させる方法を実施するための１若しくはそれ以上の命令を含めることができる。前記方法は、前記第１の装置により前記通信インターフェースへ送信されるデータの送信待ち時間を決定する工程と、前記基準クロックに関する情報を含むデータパケットを前記通信インターフェースを介して受信する工程と、前記基準クロックに関する前記情報および前記送信待ち時間に基づいて前記第１のクロックの位相を調整する工程とを含む。
【００１６】
一実施形態において、ネットワークにおいて非同期装置間のクロックレートジッターを低減するシステムは、クロックマスターパケット長と、丸められたクロックマスターパケット長とを含むパケットを受信するための受信インターフェースと、着信パケットを受信するために必要なクロックサイクル数を測定することにより、当該着信パケット長を決定するパケット長決定モジュールと、前記着信パケット長と前記クロックマスターパケット長との差を決定するための比較モジュールと、前記差をフィルタリングするためのローパスフィルターと、アキュムレータ値を含んだアキュムレータと、前記フィルタリングされた差を前記アキュムレータ値に加算して更新されたアキュムレータ値を生成するための更新モジュールと、少なくとも、前記更新されたアキュムレータ値および前記丸められたクロックマスターパケット長に基づいて調整されたパケット長で前記パケットを送信するための送信インターフェースとを含む。
【発明を実施するための最良の形態】
【００１７】
「チャネル」は、物理的な接続を指す場合がある。例えば、１６チャネル音声入力装置は１６の物理チャネルを有する。
【００１８】
各チャネルは「スロット」にマップできる。各スロットは、パケット内のある位置に対応する。すなわち、スロットは物理的要素ではない。
【００１９】
「シリアル配線」は、複数の非マージャ装置が直列接続された場合に形成される。シリアル配線は、車輪のスポーク状に複数マージャ装置に接続でき、および／または２つのマージャ装置間でも接続できる。また、非マージャ装置を介在させずに、２つのマージャ装置を直接相互接続することも可能である。
【００２０】
「非マージャ装置」または「ＤＩＯ装置」とは、一実施形態に係るネットワーキングシステム内で使用される、２つのポートを有した装置をいう。非マージャ装置は、データを受信または送信するための入出力物理接続を付加的に有することができる。一部のケースでは、ネットワーキングシステムにおける非マージャ装置のポートの１つが、シリアル配線の終端部などで、別の装置に接続されない場合もある。
【００２１】
「マージャ装置」とは、一実施形態に係るネットワーキングシステム内で使用される、３若しくはそれ以上のポートを有した装置をいう。このマージャ装置は、データを受信または送信するための入出力物理接続を付加的に有することができる。マージャ装置は、その各ポートで受信されたデータパケットの一部をマージして、１若しくはそれ以上のポートから送信される新しいデータパケットを作成することができる。
【００２２】
「ネットワーキングシステム」には、合計で２若しくはそれ以上の装置を有するマージャ装置および非マージャ装置の任意の組み合わせを含めることができる。
【００２３】
「着信データストリーム」とは、非マージャ装置またはマージャ装置の入力ポートで受信されるデータをいう。
【００２４】
「発信データストリーム」とは、非マージャ装置またはマージャ装置の発信ポートで送信されるデータをいう。
【００２５】
入力インターフェースから受信されるデータまたは出力インターフェースへ送信中のデータに関して使用する用語「変換」には、例えばアナログデジタル変換、デジタルアナログ変換、および同様な操作（これらに限定されるものではないが）を含めることができる。
【００２６】
用語「パケット長」とは、連続した２つのパケットの送信開始間の時間をいう。
【００２７】
用語「ジッター」とは、約１０Ｈｚを超えるレートで生じる周波数の変動性をいう。用語「ワンダー」とは、約１０Ｈｚ未満のレートで生じる周波数の変動性をいう。ただし、これらの用語は通常やや同義的に使用される。
【００２８】
待ち時間（レイテンシ）補正
待ち時間補正は、基準クロックに対する装置のサンプリング小数遅延を低減するため、実施できる。基準クロックを生成する装置は、本明細書においてクロックマスター（Ｃｌｏｃｋ  Ｍａｓｔｅｒ）と呼ぶ。一実施形態では、前記クロックマスターと較正中の装置との間のネットワーク待ち時間を決定するため、前記クロックマスターから前記装置へ送信パケットの往路送信と復路送信との遅延が決定される。前記クロックマスターは、この往復遅延を２等分して前記パケット送信の双方向特性を調べる。この遅延を使用すると、前記装置におけるサンプリングクロックを較正して基準クロックに対し調整することができる。
【００２９】
一実施形態では、クロックマスターと各装置との間で測定される遅延を固定することが可能である。したがって、遅延が固定されたネットワークの場合、遅延計算は、１）ネットワーク初期化中、２）新しいクロックマスターが選択された際、および３）ネットワークのクロックマスターと装置との間に１若しくはそれ以上の装置が追加された際の３つのうち１回行うだけですむ。ネットワークにおいて１若しくはそれ以上の装置がクロックマスターと第１の装置との間のポイントに追加された場合、再較正は、前記第１の装置について行われない。
【００３０】
一実施形態では、クロックマスターと装置との間で遅延を複数回測定し、それらを平均して平均遅延を決定する。そして、この平均遅延により、前記クロックマスターと較正中の前記装置との間の送信ジッターの決定を試みることができる。
【００３１】
図１Ａ〜Ｄは、一実施形態に従い装置間の待ち時間を補正する工程について、例示的なネットワーク状態図を示した図である。図１Ａに示したように、クロックマスター１０５は、双方向データバス経由で較正すべきデジタルＩ／Ｏ（Ｄｉｇｉｔａｌ  Ｉ／Ｏ、略称ＤＩＯ）装置１１０（すなわち非マージャ装置）に接続できる。前記クロックマスター１０５は、前記ＤＩＯ装置１１０と、前記ネットワーク（図示せず）の他の装置とに基準クロックを供給することができる。このクロックマスター１０５は、その送信ポート経由でデータが送信された時間と、同じデータがその受信ポートから前記ＤＩＯ装置１１０経由で受信された時間との間の遅延を測定できる。この遅延には、ＤＣ１、ＤＣ１’、およびＰＴＤＤＩＯなどいくつかの遅延が含まれうる。ＤＣ１およびＤＣ１’の各々は、送信ポートによりデータが送信された時間から物理インターフェース出力によりデータが送信された時間までの遅延、前記クロックマスター１０５および前記ＤＩＯ装置１１０を接続するケーブルにわたる遅延、および前記物理インターフェース入力によりデータが受信された時間から受信されたデータが有効であると認識された時間までの遅延という３つの別個の遅延を含む可能性がある。ＰＴＤＤＩＯ（パススルー遅延）は、受信データが有効であると認識された時間からそのデータが再送信される時間までの前記ＤＩＯ装置１１０経由の遅延である。
【００３２】
図１Ａに示すように、前記クロックマスター１０５のアウトバウンド経路およびインバウンド経路は、当該クロックマスターの送信遅延および受信遅延が前記ＤＩＯ装置１１０の送信遅延および受信遅延にそれぞれ一致した場合、統計的に照合される。ただし、これらの遅延が一致しない場合は、不一致量が決定される。装置１０５、１１０の各々は、その送信物理インターフェース遅延および受信物理インターフェース遅延に関する情報を格納できる。前記クロックマスター１０５は、往復遅延（ｒｏｕｎｄ  ｔｒｉｐ  ｄｅｌａｙ、略称ＲＴＤＣＭ）と、その送信物理インターフェース遅延（ｔｒａｎｓｍｉｔ  ｐｈｙｓｉｃａｌ  ｉｎｔｅｒｆａｃｅ  ｄｅｌａｙ、略称ＴＸＤＣＭ）と、その受信物理インターフェース遅延（ｉｔｓ  ｒｅｃｅｉｖｅ  ｐｈｙｓｉｃａｌ  ｉｎｔｅｒｆａｃｅ  ｄｅｌａｙ、略称ＲＸＤＣＭ）とを、前記ＤＩＯ装置１１０に送信することができる。次に前記ＤＩＯ装置１１０は、これらの値と、その送信物理インターフェース遅延（ＴＸＤＤＩＯ）と、その受信物理インターフェース遅延（ＲＸＤＤＩＯ）と、前記ＰＴＤＤＩＯとを使って、次式によりＤＣ１を計算することができる。
【００３３】
【数３】
2009512281.tif 000003
【００３４】
ここで、ＴＸＤＣＭ−ＴＸＤＤＩＯ＋ＲＸＤＤＩＯ−ＲＸＤＣＭを計算すると、潜在的に一致しない送信物理インターフェース遅延および受信物理インターフェース遅延を決定できる。
【００３５】
図１Ｂは、少なくとも１つのシリアルネットワーク装置１１５が前記クロックマスター１０５と前記ＤＩＯ装置１１０との間にある場合を示した図である。この場合、前記ＤＩＯ装置１１０へ向かう方向へ前記シリアルネットワーク装置１１５により追加される遅延は、前記クロックマスター１０５へ向かう方向へ前記シリアルネットワーク装置により追加される遅延と統計的に同じである。すなわち、前記パススルー遅延が照合可能である。したがって、この場合にも式（１）を使用してＤＩＯ装置１１０の遅延を決定することができる。
【００３６】
図１Ｃは、前記ＤＩＯ装置１１０が前記クロックマスター１０５と少なくとも１つのネットワーク装置１２０との間にある場合を示した図である。この場合、当該ＤＩＯ装置１１０は、前記少なくとも１つのネットワーク装置１２０に接続された当該ＤＩＯ装置１１０のポートに関する往復遅延を測定できる。遅延は多数の遅延を有する可能性があるが、計算上、前記ＤＩＯ装置１１０による単一の遅延（ＲＴＤＤＩＯ）として扱うことができる。最終的な遅延（ＤＣＭ−＞ＤＩＯ）は、次式を使って計算できる。
【００３７】
【数４】
2009512281.tif 000004
【００３８】
図１Ｄは、非シリアルネットワーク装置１２５が前記クロックマスター１０５と前記ＤＩＯ装置１１０との間にある場合を示した図である。非シリアルネットワーク装置１２５（マージャ装置）は、２より多くのポートを含んでよい。一実施形態において、このマージャ装置１２５は、非対称な往復遅延を生じる場合がある。このマージャ装置１２５が前記クロックマスター１０５からデータパケットを受信すると、そのパケットは他の全ポートへ送信可能であるが、そのパススルー遅延（ＰＴＤＭ）は全ポートで同じである。ただし、そのパススルー遅延は、前記ＤＩＯ装置１１０からデータパケットを受信する場合、前記ＤＩＯ装置に接続された当該マージャ装置１２５のポートに応じて異なる可能性がある。また一実施形態において、前記マージャ装置１２５は、前記クロックマスター１０５に接続されたポート経由でデータパケットを再送信することができる。したがって、このマージャ装置１２５は、前記クロックマスター１０５へのシリアル配線の末端のように見える。そのため、前記クロックマスター１０５は、当該クロックマスター１０５から前記マージャ装置１２５への経路に基づいて、ＲＴＤＣＭデータ、ＲＸＤＣＭデータ、およびＴＸＤＣＭデータを送信できる。この場合、前記マージャ装置１２５は、前記ＤＩＯ装置１１０に接続されたポートにおける自らの往復ポート遅延測定値を決定する必要がある。この構成での遅延は、次式を使って決定できる。
【００３９】
【数５】
2009512281.tif 000005
【００４０】
ここで、下付き文字Ｍが付いた全項は、マージャ装置１２５による遅延である。式（３）は、単に式（１）を２回足し合わせ（その１つめは前記クロックマスター１０５から前記マージャ装置１２５への遅延に対応し、２つめは前記マージャ装置から前記ＤＩＯ装置１１０への遅延に対応する）、それに２ポート間のアウトバウンド内部マージャ装置遅延のパススルー遅延（ＰＴＤＭ）を加算したものである。
【００４１】
一実施形態では、前記クロックマスターの基準クロックと、前記送信ポートによりデータパケットが送信される時間との間の遅延など、前記クロックマスター１０５に付加的な遅延が存在する可能性もある。このクロックマスター１０５は、この遅延を前記ＤＩＯ装置１１０に供給できる。
【００４２】
図２は、一実施形態に従ってクロックマスターとＤＩＯ装置との間の待ち時間を決定する例示的な方法のフローチャートを示した図である。図２に示したように、前記ＤＩＯ装置１１０は、ネットワーク接続性マップを要求できる（２０５）。前記ＤＩＯ装置１１０は、このネットワーク接続性マップにより、前記クロックマスター１０５と、当該ＤＩＯ装置１１０と、前記クロックマスターおよび当該ＤＩＯ装置の間にある任意のマージャ装置１２５（集合的に「点」と呼ぶ）との位置を決定することができる。前記ＤＩＯ装置１１０は、第１の点および第２の点から遅延情報を取得できる（２１０）。この遅延情報を使用すると、前記第１の点から前記第２の点までの遅延（遅延セグメント（Ｄｅｌａｙ  Ｓｅｇｍｅｎｔ））を計算することができる（２１５）。前記第１の遅延セグメントの場合、前記第１の点は、前記クロックマスター１０５であってよい。
【００４３】
各遅延セグメントの遅延は、次式を使って計算できる。
【００４４】
【数６】
2009512281.tif 000006
【００４５】
ここで、下付き文字Ｖ１を有する値は、前記クロックマスター１０５または当該クロックマスターにより近い点に関し、下付き文字Ｖ２を有する値は、前記ＤＩＯ装置１１０または当該ＤＩＯ装置により近い点に関する。次いで前記ＤＩＯ装置１１０は、前記第１の点がマージャ装置かどうかを決定する（２２０）。前記第１の点がマージャ装置１２５であった場合は、ＰＴＤＶ１がＤに加えられる（２２５）。次に、前記ＤＩＯ装置１１０は、前記第２の点がＤＩＯ装置であるか、またそのＤＩＯ装置が、前記クロックマスター１０５に取り付けられていないポートを介して付加的な装置に取り付けられているかを決定する（２３０）。前記第２の点が前記ＤＩＯ装置１１０でない場合、その点は更新可能であり（２３５）、次の遅延セグメントの遅延を決定することができる。前記第２の点が前記ＤＩＯ装置１１０であり、そのＤＩＯ装置が、前記クロックマスター１０５に対面しないポートを介して付加的な装置に取り付けられている場合は、
【数７】
2009512281.tif 000007
【００４６】
がＤから除算される（２４０）。次に、すべての遅延セグメントの遅延が合計される（２４５）。
【００４７】
一実施形態では、ネットワークで累積される低周波数のジッターおよびワンダーを決定するため、複数サイクルにわたる平均測定値としてＲＴＤ値（ＲＴＤＶ１、ＲＴＤＶ２、ＲＴＤＤＩＯなど）を計算することができる。一実施形態では、最新のＲＴＤ値を決定し、それらの値に加重（重み付け）し、それまでに計算された平均ＲＴＤ値に加算することにより、移動平均を計算することができる。一実施形態では、以前に計算された平均ＲＴＤ値に加重することもできる。あるいは、更新された平均ＲＴＤをスケール（スケーリング）することができる。例えば、前記最新のＲＴＤ値をＲＴＤ値の１／６４とし、それ以前に計算された平均ＲＴＤ値を残りのＲＴＤ値としてもよい。この値は、パケットレートで、Ｎ個のパケットごと、または１ｍｓごとなど固定時に更新できる。当業者であれば明確に理解されるであろう本開示の範囲内で、他の加重周期および更新周期も使用可能である。
【００４８】
サンプリングレートが変化した場合（４４．１ｋＨｚから４８ｋＨｚに切り替わるなど）および／またはサンプリングレートが経時的に移行した場合は、各ＤＩＯ装置で計算される待ち時間補正の調整が必要になる場合がある。この待ち時間補正の再計算は、当該ネットワーク全体にわたるパケットの送信および再送信の遅延に起因する可能性がある。遅延量は各装置で異なるため、この調整も場合に応じて異なる可能性がある。
【００４９】
一実施形態において、前記クロックマスターは、ネットワーキングシステムに含まれる諸ノードの整合を制御することができる。一実施形態では、前記クロックマスターは、クロックマスターパケット長（Ｃｌｏｃｋ  Ｍａｓｔｅｒ  Ｐａｃｋｅｔ  Ｌｅｎｇｔｈ、略称ＣＭＰＬ）を書き込むことができ、このＣＭＰＬは前記クロックマスターが各発信データパケット内に生成するパケットの長さに関する基準時間を示す。一実施形態では、このＣＭＰＬは小数部分を伴ったバイナリコード（２進コード）正数である。例えば、前記ＣＭＰＬは、０〜２０４７．９３７５の数を表す、４ビットの小数部付き１１ビット整数であってよい。他の装置は、この小数クロック指標を使用して、自らのクロックを前記クロックマスターに整合させることができる。ただし、諸装置が前記クロックマスターのＴＸクロックとロックステップする必要はない。
【００５０】
送信前にパケットが遅延され外部基準クロックが使用される一実施形態では、前記基準クロックとパケット送信開始との間のタイミング関係が時とともに変化する可能性がある。そのような一実施形態を示したのが、図３Ａおよび３Ｂである。図３Ａは、一実施形態に係るパケット送信のタイムフローチャートを示した図である。図３Ａに示すように、パケットを受信または生成する上で必要なクロックサイクル３０２の数が決定可能である。次いで、パケット長情報を決定し、および／または他の処理を実行するための遅延３０４が生じる。次に、パケット３０６が送信可能になる。したがって、測定されるクロックソースは、１パケットよりわずかに長い時間、遅延される。種々の実施形態では、パケット送信が完了される前に、前記ＣＭＰＬが前記パケット内に見られる。次に送信パケットではなく現在のパケットを記述する現在のＣＭＰＬを、パケット内に含めることにより、移行するサンプリングレートに対するシステムの反応性を改善することができる。一実施形態において、前記遅延３０４は、例えば前記送信パケット３０６の長さやサンプリングレートに基づき計算される。この遅延３０４の最小値は、前記パケットに挿入すべき任意の情報が確実に適切に挿入されるようにする上で必要になる場合がある。
【００５１】
図３Ｂは、一実施形態に係る基準クロックおよびパケット送信の関係のタイムフローチャートを示した図である。図３Ｂに示すように、サンプリングレートが変化すると、外部基準クロックとパケット送信開始とのタイミング関係が範囲３１０内でシフトする可能性がある。その遅延期間は、パケット長（サンプリングレート）に直接関係する可能性がある。例えば、サンプリングレートが４４．１ｋＨｚから４８ｋＨｚに変化した場合、２５ＭＨｚクロックのシステムにおけるパケット長は、１１３４クロックから１０４２クロックに変化する可能性がある。前記サンプリングレートが４４．１ｋＨｚから４８ｋＨｚに増加するに伴い、送信パケットの開始位置は、例示的なシステムにおいて、前記基準クロックに対し９２クロック後方へ移動する可能性がある。
【００５２】
図４Ａおよび４Ｂは、いくつかの実施形態に係る例示的な待ち時間補正決定のタイムフローチャートを示した図である。図４Ａに示したように、初期遅延（ＣＭＯ）３０４は次式を使って決定できる。
【００５３】
ＣＭＯ＝最大クロック数−クロック（サンプリングレート）＋オフセット
前記オフセット（Ｏｆｆｓｅｔ）は、例えば、確実にパケット長情報がそのパケットに挿入されるようにするための、一定数のサイクルであってよい。一実施形態において、１パケットの最大クロック数は１２６０としてよく、前記クロックマスターにより生成される１パケットのクロック数（ＣＭＰＬを丸めて決定される）は４４．１ｋＨｚで１１３４としてよく、オフセット（ＣＭＤ）は１６としてよい。この実施形態において、前記ＣＭＯは１４２である。
【００５４】
パケット送信元以外の装置における待ち時間補正は、この初期遅延と、前記装置に到達するまでのネットワーク待ち時間とに基づくものにできる。例えば、各装置の通過に１．３４μｓの遅延が生じるデイジーチェーンネットワークの６７番目の装置では、付加的に（６７−１）×１．３４μｓ＝８８．４４μｓの遅延が生じる可能性がある。２５ＭＨｚクロックの場合、追加遅延は、２２１１クロック分の遅延に等しくなる。したがって、合計遅延は２３５３クロックとなる。４４．１ｋＨｚのサンプリングレートでは、各サンプリング期間は５６７クロックに等しい。このため、４４．１ｋＨｚで前記６７番目の装置の待ち時間に合わせて補正を行うには、パケットが受信されるタイミングに対し、当該装置のローカル音声クロックを８５クロックだけ前にシフトさせ、あるいは４８２クロックだけ後にシフトさせる必要がある。
【００５５】
図４Ｂは、４８ｋＨｚサンプリングレートで同じ計算を示した図である。ここで、前記初期遅延は、ＣＭＯ＝１２６０−１０４２＋１６＝２３４と計算される。したがって、合計遅延は２４４５クロックとなる。４８ｋＨｚのサンプリングレートでは、各サンプリング期間は５２１クロックとなる。このため、４８ｋＨｚで前記６７番目の装置の待ち時間に合わせて補正を行うには、パケットが受信されるタイミングに対し、当該装置のローカル音声クロックを３６１クロックだけ前にシフトさせ、あるいは１６０クロックだけ後にシフトさせる必要がある。このように、４４．１ｋＨｚから４８ｋＨｚにサンプリングレートが変化すると、前記６７番目の装置において、２７６クロック分の前方向シフトまたは３２２クロック分の後方向シフトが必要になる。
【００５６】
（上記の式（２）を使って）ＤＣＭ−＞ＤＩＯ値が計算されると、装置は、前記ローカルクロックのシフトが、前倒しのサンプリングに整合されているか、または後ろ倒しのサンプリングに整合されているかを決定することができる。一実施形態において、この決定は、遅延ごとのサンプリング数（ｎｕｍｂｅｒ  ｏｆ  ｓａｍｐｌｅｓ  ｐｅｒ  ｄｅｌａｙ、略称ＳＰＤ）を、ＳＰＤ＝ＲＯＵＮＤ（（２＊（ＤＣＭ−＞ＤＩＯ＋ＣＭＯ））／ＣＭＰＬ）の式で計算して行う。次に、前記ＣＭＰＬの現在値に基づき、前記装置の待ち時間補正が決定される。上記の実施形態において、この待ち時間補正は、式ＬＣ＝（ＤＣＭ−＞ＤＩＯ＋ＣＭＯ））-（（ＣＭＰＬ＊ＳＰＤ）／２）で決定される。
【００５７】
上記の例は、具体的な周波数修正（４４．１ｋＨｚから４８ｋＨｚへ）について待ち時間補正の演算を単に例示的に示したものだが、指定されたこれらの周波数に限定されるものではない。当業者であれば、上記開示の説明を使って異なる周波数間の調整が実施可能であることが理解できるであろう。さらに、発振器の周波数が指定された範囲内で経時変化する場合など、実質的により小さい周波数シフトについても調整が可能である。
【００５８】
図５は、一実施形態に従って待ち時間補正を行う例示的なシステムのブロックレベルの図を示した図である。図５に示すように、このシステムには、プロセッサ５０５と、通信インターフェース５１０と、プロセッサ可読記憶媒体５１５とを含めることができる。前記通信インターフェース５１０は、ゼロか１かそれ以上かの装置を経由して、前記プロセッサ５０５および前記クロックマスター（図示せず）とそれぞれ通信可能であってよい。前記プロセッサ可読記憶媒体５１５は、前記プロセッサ５０５と通信可能であってよく、前記クロックマスターにおける基準サンプリングクロックにローカルサンプリングクロックを整合させる１若しくはそれ以上のプログラミング命令を含んでよい。前記プログラミング命令を使用すると、図１Ａ〜Ｄ、２、３Ａ〜Ｂ、および４Ａ〜Ｂを参照して上記で実質的に説明した方法を実施することができる。
【００５９】
再送信ジッター管理
音声ネットワークのサンプリングレートは、パケットレートにより通信できる。例えば、サンプリングレートは、パケットレートより２の指数倍高速であってよい。ただし、前記サンプリングレートおよび前記パケットレートは、パケット送信に使用されるいかなるローカルクロックとも非同期でありうる。前記ローカルクロックが２５ＭＨｚで動作する場合は、前記クロックマスターにおいて、サンプリングレートクロックの非同期再クロッキングにより、送信パケットに例えば４０ｎｓのジッターが生じるおそれがある。各ネットワーク装置の送信クロック（ｔｒａｎｓｍｉｔ  ｃｌｏｃｋ、略称ＴＸ  ｃｌｏｃｋ）は他のいずれのネットワーク装置のＴＸクロックとも非同期であるため、シリアル接続された各装置で、４０ｎｓのパケットジッターが付加されてしまう。言い換えると、ジッターは装置から装置へと累積されてしまう。ネットワークにおけるジッター累積に対処しないと、そのような累積により、前記ネットワーク内での再送信が妨げられ、または前記ネットワーク内で搬送されるリアルタイムの音声データまたはビデオデータの品質に悪影響が及ぶ。
【００６０】
ジッターを管理する際は、各クロックサイクルを考慮することが重要である。１装置内で、各クロックサイクル、またはクロックサイクルの一部が考慮されるよう、すべての計算と、そのすべての丸め（四捨五入を含む切り上げおよび切り捨て）を実行しなければならない。パケットごとのクロックサイクル数は装置により異なるが、パケットは非同期ネットワークを越えるため時間損失はない。すなわち、各ネットワーク装置は、平均として、それらの入出力クロックサイクルの数を等化する可能性がある。この態様で計算を行うと、入力から出力へのドリフトおよびネットワークドリフトを防ぐことができる。
【００６１】
クロックマスター装置は、サンプリングレートクロック信号を開始することができる。前記クロックマスターが２５ＭＨｚで動作する場合、そのクロックマスターのクロックは、４０ｎｓのジッターを有する可能性があり、ネットワーク内の別装置へのサンプリングレートの送信用に最もクリーンなクロック信号を提供できる。装置ＴＸクロックが互いに非同期なネットワークの場合、元のクロックマスタークロックは、後続装置による再送信が不可能である。そのため、前記クロックマスターに接続された装置は、前記クロックマスターから受信された前記４０ｎｓのジッターに、４０ｎｓのジッターを加えて８０ｎｓのジッターを送信する。通常、このジッターはデイジーチェーンネットワークの装置から装置へと累積するため、第３の装置は１２０ｎｓのジッターを有し、第４の装置は１６０ｎｓのジッターを有し、以降も同様になる。後述するジッター管理工程は、このジッター累積を制限することが目的である。
【００６２】
この工程では、前記チェーンの第２の装置における前記クロックマスターのＴＸクロックの再クロッキングを、それに後続する装置で模倣することが試みられる。前記第２の装置については、以下が仮定される。１）前記第２の装置は、前記クロックマスターのＴＸクロックと当該第２の装置のＴＸクロックとの周波数関係に依存して、パケット長からクロックサイクルを定期的に追加または除去する。２）前記第２の装置からのジッターは、２つの４０ｎｓのジッターパターンの組み合わせである。その第１のジッターパターンは、前記クロックマスターのＴＸクロックと前記サンプリングレートクロックとの相互作用に起因する可能性がある。第２のジッターパターンは、前記２つのＴＸクロック間の相互作用に起因する可能性がある。
【００６３】
上記を受け、第３の装置が前記クロックマスターのパケットジッターパターンを再送信可能であり、ただし前記第３の装置のＴＸクロックと前記クロックマスターのＴＸクロックとの差により決定される周期的レートでクロックサイクルを追加または除去する場合、当該第３の装置は、上述した第２の装置と同じ動作を行う。
【００６４】
図６は、一実施形態に従って装置のジッターを制限する例示的な方法を示したものである。図６に示したように、前記クロックマスターは、前記クロックマスターパケット長（ＣＭＰＬ）をパケットに含めて送信できる（６０５）。一実施形態において、ＣＭＰＬは、それに対応したパケットの一部として送信可能である（６０５）。ＣＭＰＬをそれに対応するパケットとともに送信すると（６０５）、受信装置において、前記パケットを転送する前、ジッター制限用に必要になる処理の量を最小限に抑えることができる。一実施形態では、図３Ａを参照し上述したＣＭＯ遅延期間３０４中、前記クロックマスターからのパケット送信（６０５）前に、パケットへＣＭＰＬが挿入される。
【００６５】
ＣＭＰＬは前記クロックマスターのＴＸクロックレートへと量子化され、送信パケット長を生成するため使用される。このように、前記クロックマスターは、前記小数クロックＣＭＰＬのほか、送信する実際のＴＸクロックパケット長も決定できる。このパケット長は、前記小数ＣＭＰＬの１１ビット整数部で表された数であっても、その数に１を加算したものであってもよい。一実施形態では、１６番目のビット（他の１５ビットは前記１１の整数ビットおよび４の小数ビットを有する）を使って、送信される長さが前記ＣＭＰＬの整数部より１長いかどうかを決定できる。一実施形態では、式ＣＭＰＬ＿ＲＮＤ＝ＣＭＰＬ［１５］＋ＣＭＰＬ［１４：４］を使って、前記クロックマスター以外の装置で送信パケット長を計算できる。ここで、ＣＭＰＬ［１５］はキャリービットを表し、ＣＭＰＬ［１４：４］は前記ＣＭＰＬの１１ビット整数部を表す。
【００６６】
受信装置は、前記パケットを受信し（６１０）、受信したパケットの着信パケット長（ｉｎｃｏｍｉｎｇ  ｐａｃｋｅｔ  ｌｅｎｇｔｈ、略称ＩＰＬ）を決定できる（６１５）。次に、このＩＰＬと前記ＣＭＰＬとの差が決定される（６２０）。単にＣＭＰＬを挿入しただけでは第２の装置で受信される元のジッターの正確な近似値を得ることはできないが、ＩＰＬとＣＭＰＬとの差を使えば、前記クロックマスターのＴＸクロックと前記受信装置のＴＸクロックとの差の合計を表すことができる。前記ＣＭＰＬとＩＰＬとの差が、少なくとも一部、前記クロックマスターと前記受信装置との間にある他の装置の再クロッキングから来る場合であっても、上記の結果は得られる。前記ＩＰＬとＣＭＰＬとの差を決定し（６２０）、この差を時間的に均等に分布させ（分配し）、この差を前記ＣＭＰＬジッターパターンの再送信に適用することで、前記第２の装置の出力を前記受信装置の出力で近似させることができる。
【００６７】
前記ＩＰＬとＣＭＰＬとの差を使用すると、入力クロックスリップバイアス（ｉｎｐｕｔ  ｃｌｏｃｋ  ｓｌｉｐ  ｂｉａｓ、略称ＩＣＳＢ）を決定することができる（６２５）。例えば、着信クロックスリップのパルス密度を表す平均値を生成するローパスフィルター（ＩＣＳＢフィルター）を、前記差は通過できる。
【００６８】
前記第２の装置のＴＸクロックに基づいてカウントされる発信パケットのパケット長は、前記ＩＣＳＢに基づいて調整される（６３０）。例えば、クロックスリップが（平均して）５０％の頻度で起こる場合、前記ＩＣＳＢフィルターは１／２の値を出力する。このように、前記第２の装置は、着信パケットの着信パケット長を着信パケット１つおきに調整して、発信パケットの発信パケット長を提供することができる。平均された入力スリップレートでＣＭＰＬジッターパターンから発信パケットを調整すると（６３０）、望ましい８０ｎｓのジッターパターンを出力に見ることができる。したがって、平均入力スリップレートが１／４であった場合は、ＣＭＰＬジッターパターンが４パケットに１回調整される（６３０）。このような調整では、単にパケットからのパッド値を含むデータを追加または除去するだけであるため、着信クロックスリップは必ずしも定期的に起こるわけではないが、前記第２の装置から提供される発信パケット長は、情報を失なわずに、着信パケット長の値から定期的に調整（６３０）することができる。これにより、各パケットの実質的なデータは、影響を受けずにすむ。上述した技術は、本明細書において、クロックスリップ平均化と呼ぶ。
【００６９】
一実施形態では、着信ジッターパターンに、例えば複数のジッター源が含まれる場合があるため、正の調整も負の調整も生じる。一実施形態では、クロックマスター、直前の装置、および受信装置での再クロッキングという３つのジッター源が存在する。したがって、クロックスリップ平均化の結果、正負どちらの調整も行われうる。
【００７０】
一実施形態では、発信パケットごとに１回、平均入力値でアキュムレータ（累算器）をインクリメントできる。前記アキュムレータが＋１以上の値を含む場合は、ＯＰＬをＣＭＰＬ＿ＲＮＤ＋１に等しく設定でき、そのアキュムレータ値を１だけデクリメントできる。逆に、前記アキュムレータが−1以下の値を含む場合は、ＯＰＬをＣＭＰＬ＿ＲＮＤ−１に等しく設定でき、そのアキュムレータ値を１だけインクリメントできる。それ以外の場合は、ＯＰＬをＣＭＰＬ＿ＲＮＤに等しく設定できる。
【００７１】
ＩＰＬとＣＭＰＬとの差をローパスフィルタリングすると、サンプリングレートの移行に対するネットワーク全体の応答性を高められるという付加的な利点が得られる。例えば、ＣＭＰＬが送信パケットに含まれず、再送信ジッターの制限がＩＰＬのローパスフィルタリングだけに依存する場合は、ワンダーが悪化するだけでなく、ネットワークの遅延量も著しいものとなってしまう。
【００７２】
一実施形態では、前記ＩＣＳＢフィルターのカットオフ周波数は、種々のＴＸクロック間のいかなるビートパターンもフィルタリングできるよう十分低く設定でき、ただしサンプリングレートの移行作用を最小限に抑えるよう十分高く設定できる。２つのＴＸクロックの周波数の差は、クロックスリップが生じるレートとしてよい。したがって、ＴＸクロック周波数の差が１００Ｈｚでパケットレートが２４ｋＨｚの場合は、クロックスリップが２４０パケットに１回起こりうる。ただし、小さい周波数変化を追跡する場合、前記フィルターの応答は遅すぎるため、このフィルターカットオフを低く設定しすぎると、ネットワーク全体が若干不安定になるおそれがある。一実施形態では、４８ｋＨｚのサンプリングレートに６５Ｈｚのフィルターカットオフ周波数が使用可能である。一実施形態では、前記カットオフ周波数は、サンプリングレートの一定のパーセンテージとして定義できる。このように、カットオフ周波数はサンプリングレートの変動とともに変動してよい。
【００７３】
２つの装置のＴＸクロック周波数の差がＩＣＳＢフィルターカットオフ周波数未満の場合、ビート周波数は特定のケースにおいて当該装置間で生成される。これにより、ネットワークに低周波数のジッターおよびワンダーが生じるおそれがある。ビート周波数が絶対に生じないようにするには、隣接しあう装置の動作周波数が少なくとも一定の最小周波数だけ異なるようにする必要がある。また、前記クロックマスターのＴＸクロックを少なくとも一定の最小周波数だけ他の各装置のＴＸクロックと異なるようにしなければならない。
【００７４】
このため、一実施形態では、各ネットワーク装置に、例えば２つまたは３つの発振器が含まれる。その第１の発振器は、単に前記クロックマスター装置として存在してよい。第２の発振器は、前記第１の発振器よりやや低周波数に割り当てることができ、第３の発振器は、前記第２の発振器よりやや高周波数に割り当てることができる。例えば、前記第１の発振器は、２５．０００００ＭＨｚの周波数を有してよく、前記第２の発振器は、２４．９９８２５ＭＨｚの周波数を有してよく、前記第３の発振器は、２５．００１７５ＭＨｚの周波数を有してよい。前記第１の発振器は、任意選択で、例えばいかなる状況でもクロックマスターにすることを目的としたものではない装置から除外することができる。各発振器は、すべての誤差源（温度、老朽化）を含めて±３０ｐｐｍ定格としてよい。これにより、誤差が最大の場合でも各前記発振器の周波数範囲がオーバーラップしないようにできる。当業者であれば、本開示の範囲内で異なる発振器の周波数や定格などが使用可能であることが明確に理解されるであろう。
【００７５】
ネットワークでは、前記クロックマスターが前記第１の発振器周波数に割り当てられるよう装置を構成することができる。他の装置は、隣接しあう２つの装置が同じＴＸクロック周波数範囲を使用するよう、前記ネットワーク全体にわたり択一的な態様で他の２つの周波数のうちどちらかで構成できる。
【００７６】
ネットワークでは、装置から装置へとシリアルにパケットが送信されるに伴い、低周波数のジッターおよびワンダーの双方が累積されていく。このような累積は、例えば（これに限定されるものではないが）一般的なネットワークにおける発振器雑音およびＰＬＬフィルターのピーキングに起因する可能性がある。そのようなネットワークでは、データ送信クロックがＰＬＬで回復され、回復されたクロックでデータが再送信される。シリアル接続されたリアルタイム音声ネットワークでは、すべてのＴＸクロックが非同期であるため、パケットレートからジッターおよびワンダーの累積を除去することがより重要になる可能性がある。発振器雑音は低周波数のジッターおよびワンダー累積の一因となるが、その主要因は、各装置のクロックにおけるパケット到着時間の再量子化である。
【００７７】
上述した発振器周波数のフィルタリングおよび制御により、ローパスフィルターで容易にフィルターできる周波数において必然的にジッターが生じる一方、各装置の物理インターフェース装置のＰＬＬでは、低レベルの低周波数雑音が依然として存在する。この低周波数雑音は、装置から装置へとパケットがシリアルに移動するに伴い累積される。このように、低周波数のジッターおよびワンダーは、ローパスフィルターの動作周波数にかかわらず、シリアル接続されたネットワークに存在するおそれがある。例えば、２５ＭＨｚクロックとそれにシリアル接続された６７の装置を有する一実施形態では、上述した８０ｎｓのジッターおよびワンダーに加え、約８０ｎｓの低周波数ジッターおよびワンダーが累積し、合計１６０ｎｓの低周波数のジッターおよびワンダーが生じる可能性がある。
【００７８】
小数ＣＭＰＬを各装置に送信すると、当該装置のＩＰＬよりはるかにジッターの小さいパケット長の測度を提供することができる。１６倍過剰にサンプリングすると、ＣＭＰＬのジッターをローカルＩＰＬのジッターの１／１６にすることができる。
【００７９】
前記小数ＣＭＰＬは、前記クロックマスターのＴＸクロックに基づくものである。ただし、ＩＣＳＢはローカルＴＸクロックとクロックマスターＴＸクロックとの差を表すものであるため、ＣＭＰＬにＩＣＳＢを加算するとこの差を補正することができる。
【００８０】
一実施形態では、式
【数８】
2009512281.tif 000008
【００８１】
でＩＣＳＢフィルターを実質的に決定できる。
【００８２】
一実施形態では、各装置の出力パケット長（ｏｕｔｐｕｔ  ｐａｃｋｅｔ  ｌｅｎｇｔｈ、略称ＯＰＬ）に許される逸脱は、パケットあたりＣＭＰＬ＿ＲＮＤ値±１である。これにより、ジッター累積に対する付加的な保護措置を講じることができる。
【００８３】
当業者であれば、使用するシステムの最大パケット長に応じて、１若しくはそれ以上のＣＭＰＬおよびＣＭＰＬ＿ＲＮＤを表す上で、より多数または少数のビットが必要になる可能性があることが明確に理解されるであろう。そのような違いも本開示の範囲内に含まれる。
【００８４】
上記のジッター管理工程は任意タイプのネットワークで使用できるが、装置がまとめてデイジーチェーン接続（シリアル接続）され各装置のクロックが非同期なネットワークでは、特に効果的である。各装置が２クロック構成の最大ジッターを有するため（一方のジッタークロックである前記クロックソースのサンプリングクロックと、他方のジッタークロックである受信装置のクロック）、各装置が共通のクロックソースに接続されたネットワークでは、ジッター管理が不要な場合もある。ただし、ジッターが管理されないデイジーチェーンネットワークでは、ジッタークロックが１つ各装置で追加される。すなわち、ジッターが管理されないデイジーチェーン構成で装置とクロックソースとの間にＮ個の装置のチェーンがある場合、前記装置は、Ｎ個のクロックに相当するジッターを有する可能性がある。
【００８５】
図７は、一実施形態に従って待ち時間補正を行う例示的なシステムのブロックレベルの図を示した図である。図７に示すように、このシステムには、受信インターフェース７０５と、比較モジュール７１０と、ローパスフィルター７１５と、アキュムレータ（累算器）７２０と、更新モジュール７２５と、送信インターフェース７３０とを含めることができる。前記受信インターフェース７０５は、外部装置からパケットを受信できる。そのパケットは、ＣＭＰＬ値を含んでよい（これに限定されるものではないが）。一実施形態において、前記ＣＭＰＬ値は小数値であってよい。ＩＰＬ値は、前記受信インターフェース７０５を介してパケットを受信する上で必要なクロックサイクル数に基づき、決定できる。前記比較モジュール７１０は、前記ＩＰＬ値と前記ＣＭＰＬ値との差を計算できる。この差は、前記ローパスフィルター７１５へ転送され、そこで低周波数のジッターおよびワンダーの累積に基づき、フィルタリングされる。次に、フィルタリングされた前記差の値が前記アキュムレータ７２０に格納されたアキュムレータ値に加算され、アキュムレータ値が更新される。更新モジュール７２５は、更新されたアキュムレータ値を評価して、前記送信インターフェース７３０からのパケット送信時にその発信パケット長を決定することができる。例えば、前記更新されたアキュムレータ値が１以上の場合、発信パケットのパケット長は、上記で丸められたＣＭＰＬ値（すなわち、ＣＭＰＬ［１５］＋ＣＭＰＬ［１４：４］）＋１として設定される。前記更新されたアキュムレータ値が−１以下の場合、発信パケットのパケット長は、前記丸められたＣＭＰＬ値から１を差し引いたものに設定される。前記更新されたアキュムレータ値が−１〜１の間にある場合、発信パケットのパケット長は、前記ＣＭＰＬ値を丸めた値に設定される。当業者であれば、前記発信パケットのパケット長を決定する代替方法と、パケットジッターを軽減する代替システムとが実施可能であり、そのような方法は、本開示の範囲内に包含されるよう意図されていることが明確に理解されるであろう。
【００８６】
ローカルジッター管理
ローカルジッター管理を使用すると、受信されたパケットからのジッターをフィルタリングしつつ、サンプリングレートの移動にもすばやく対応することができる。図８は、比較的低周波数で発生するジッターに対するヒトの耳の感度を示したものである。図８に示すように、２５０Ｈｚ〜６００Ｈｚの範囲の傾きは非常に大きく、２００ｄＢ／１０Ｈｚを超える。６００Ｈｚより上では、２０ｄＢ／１０Ｈｚまで傾きが小さくなる。単極フィルターを使用すると、６００Ｈｚを超えるジッターをフィルタリングすることができる。サンプリングレートの移動を追跡可能にするには、ローパスフィルターの−３ｄＢポイントを約１００Ｈｚに設定できる。上記の再送信ジッター制限に基づき（約１２０ｎｓ）、前記フィルターは、１００ヘルツからジッターの減衰を開始し、６００Ｈｚで４５ｄＢの減衰を達成できる。３極〜５極フィルターを使用すると、この動作が実施可能である。
【００８７】
本明細書では、例示的な５極フィルターを説明する。一実施形態において、各フィルター出力値は、符号用１ビット、整数用１１ビット、および小数用３６ビットを含む４８ビット数で表される。各フィルター出力値は、次のフィルターへ渡される前に、符号用１ビット、整数用１１ビット、および小数用２４ビットを含む３６ビットへと交互に丸められる。交互丸め（ａｌｔｅｒｎａｔｅ  ｒｏｕｎｄｉｎｇ）については、以下でさらに詳述する。前記フィルター出力値（Ｆ１〜Ｆ５）は、次式により定義できる。
【００８８】
【数９】
2009512281.tif 000009
【００８９】
ここで、
【数１０】
2009512281.tif 000010
【００９０】
当業者であれば、上記の式が単に例示的であることが理解できるであろう。より多数または少数のフィルター、交互加重係数、および／または異なるビット幅を有する可変量も、本開示の範囲内で使用することができる。
【００９１】
上記の再送信ジッターアルゴリズムでは、ＩＣＳＢをＣＭＰＬに加算することにより、６００Ｈｚで少なくとも１６ｄＢの減衰が可能である。この信号は、ローカルジッター管理アルゴリズムの開始点となる。
【００９２】
一実施形態では、２つのジッター源をフィルタリングできる。その第１のジッター源は、前記ＴＸクロックの再クロッキングに起因する可能性がある（通常のパケットジッター）。第２のジッター源は、元のクロックマスターからのジッターに起因する可能性がある。これら２つのジッター源は、クロックマスターから生じる全ジッターが前記ＣＭＰＬに記録される一方、パケットジッターはそうではない点で異なる。その結果、上記の１６ｄＢのジッター減衰は、クロックから生じるジッターに適用することができない。どちらのジッター源も前記ローカルジッターフィルターで低減できる。
【００９３】
クロックから生じるジッターは、パケットジッターと比べ振幅が小さい可能性がある。そのため追加フィルタリングが不要になる場合もある。５極フィルターを使うと、２００ｎｓで６００Ｈｚのクロックジッター源を１ｎｓのジッターに低減できる。
【００９４】
入力信号に対し出力信号の時間がオフセットされるのを防ぐため、入力遅延と出力遅延との差から誤差信号が生成される。この誤差信号は、例えば比例積分微分（ｐｒｏｐｏｒｔｉｏｎａｌ−ｉｎｔｅｇｒａｌ−ｄｉｆｆｅｒｅｎｔｉａｌ、略称ＰＩＤ）サーボループに基づくものであってよい。一般的なＰＩＤサーボループでは、ローパスフィルター（積分）、バンドパス（帯域通過）フィルター（比例）、およびハイパスフィルター（微分）により、誤差フィードバックが別個に制御可能である。高周波数のジッターはフィルタリングされるため、ＰＩサーボループだけが使用される。当該フィルターにとっては、ローパスフィルタリングされた誤差が主なフィードバック源となる。バンドパスフィルタリングされた誤差は、単に前記ローパスフィルタリングされたフィードバックに起因する信号を制御するため使用できる。
【００９５】
上記のフィルタリング値計算の結果、前記ローカルＴＸクロックについてジッター除去された平均パケット長を表す数値（Ｆ５）が生成される。この値を使って、クロック信号を生成することができる。一実施形態では、数値発振器でこのバイナリＦ５値を使用して、クロック信号を生成することができる。直接変換した場合は、サンプリングレートまたはサブサンプリングレートのクロックを生成できる。より高周波数のクロックを生成するには、前記バイナリＦ５値を右へシフトさせる。例えば、２５６×クロックを生成するには、前記バイナリＦ５値を右へ８ポジションシフトさせる。
【００９６】
交互丸め
上記のアルゴリズムで計算された値の多くは丸め処理を施されている。適切に動作するには、この丸めに統計バイアスが含まれてはならない。統計バイアスが導入されると誤差が蓄積され、１若しくはそれ以上の可変量が最終的にラップして（上限値を超えて）しまうおそれがある。この問題を避けるには、本明細書において「交互丸め（ａｌｔｅｒｎａｔｅ  ｒｏｕｎｄｉｎｇ）」と呼ぶ技術を使用することができる。この技術は、丸めが統計バイアスを受けないよう保証するものである。
【００９７】
これを以下で例示する。以下の値（４ビット整数、４４ビット小数）は、４８ビットのシフトレジスタに格納できる。最初の２８ビットは、丸められた値として使用することができる。その他のビットは、丸められて破棄される。
【００９８】
【数１１】
2009512281.tif 000011
【００９９】
この値が右へ７ビットシフトされると（すなわち１２８で除算されると）、２つの小数ビットが最上位の２８ビットから移動される。
【０１００】
【数１２】
2009512281.tif 000012
【０１０１】
交互丸めは、次のように行われる。２５番目の小数ビットがゼロの場合、２４番目のビットは変更されずに残る（切り捨て）。２５番目の小数ビットが１で、その右側の他ビットのうち少なくとも１つが１の場合は、２４番目の小数ビットに１を加える（切り上げ）。これは、前記値に対する実際の加算である。例えば、最初の２４小数ビットがすべて１であれば、１を加算した結果は前記整数ビットまで波及する。上記の例では、２４番目の小数ビットに１が加算される。
【０１０２】
統計的には、００００  ００００  ００００  ００００  ０００１から０１１１  １１１１  １１１１  １１１１  １１１１までの値のいずれかが最右ビットに含まれると、その値は切り捨てられる（異なる５２４，２８７の値）。１０００  ００００  ００００  ００００  ０００１から１１１１  １１１１  １１１１  １１１１までの値のいずれかが最右ビットに含まれると、その値は切り上げられる（異なる５２４，２８７の値）。値００００  ００００  ００００  ００００  ００００は厳密にゼロであるため（丸める対象がない）、含まれない。値１０００  ００００  ００００  ００００  ００００が最右２０ビットに存在した場合は必ず１回切り上げ、次回同じことが起こった際は切り下げて、統計バイアスが生じないようにしなければならない。
【０１０３】
以上に開示した特徴および機能等の変形形態またその代替形態は、他の多くの異なるシステムまたはアプリケーションに望ましい態様で組み込めることが理解されるであろう。また当業者であれば、現時点で予測または予期できない種々の代替形態、変更形態、変形形態、または改良形態が今後作成可能であり、これらの形態が以下の特許請求の範囲に包含されるよう意図されていることも理解されるであろう。
【図面の簡単な説明】
【０１０４】
本明細書で説明する実施形態の態様、特徴、有益性、および優位性は、以下の説明、添付の請求請求の範囲、および添付の図面を参照することにより明確に理解される。
【図１Ａ】図１Ａ〜Ｄは、一実施形態に従い装置間の待ち時間を補正する工程について、例示的なネットワーク状態図を示した図である。
【図１Ｂ】図１Ａ〜Ｄは、一実施形態に従い装置間の待ち時間を補正する工程について、例示的なネットワーク状態図を示した図である。
【図１Ｃ】図１Ａ〜Ｄは、一実施形態に従い装置間の待ち時間を補正する工程について、例示的なネットワーク状態図を示した図である。
【図１Ｄ】図１Ａ〜Ｄは、一実施形態に従い装置間の待ち時間を補正する工程について、例示的なネットワーク状態図を示した図である。
【図２】図２は、一実施形態に従ってクロックマスターとＤＩＯ装置との間の待ち時間を決定する例示的な方法のフローチャートを示した図である。
【図３Ａ】図３Ａは、一実施形態に係るパケット送信のタイムフローチャートを示した図である。
【図３Ｂ】図３Ｂは、一実施形態に係る基準クロックおよびパケット送信の関係のタイムフローチャートを示した図である。
【図４Ａ】図４Ａおよび４Ｂは、いくつかの実施形態に係る例示的な待ち時間補正決定のタイムフローチャートを示した図である。
【図４Ｂ】図４Ａおよび４Ｂは、いくつかの実施形態に係る例示的な待ち時間補正決定のタイムフローチャートを示した図である。
【図５】図５は、一実施形態に従って待ち時間補正を行う例示的なシステムのブロックレベルの図を示した図である。
【図６】図６は、一実施形態に従って装置のジッターを制限する例示的な方法を示したものである。
【図７】図７は、一実施形態に従ってジッター管理を行う例示的なシステムのブロックレベルの図を示した図である。
【図８】図８は、音声信号中のジッターに対するヒトの耳の感度のグラフを示した図である。
【図１Ａ】
2009512281.tif 000015
【図１Ｂ】
2009512281.tif 000016
【図１Ｃ】
2009512281.tif 000017
【図１Ｄ】
2009512281.tif 000018
【図２】
2009512281.tif 000019
【図３Ａ】
2009512281.tif 000020
【図３Ｂ】
2009512281.tif 000021
【図４Ａ】
2009512281.tif 000022
【図４Ｂ】
2009512281.tif 000023
【図５】
2009512281.tif 000024
【図６】
2009512281.tif 000025
【図７】
2009512281.tif 000026
【図８】
2009512281.tif 000027
【国際調査報告】
2009512281.tif 000028