(57)【特許請求の範囲】
【請求項１】
入力信号に関連付けられた符号化されたメッセージを第１の装置から第２の装置に送信することと、
該符号化されたメッセージに応答して、該第２の装置からの推奨された符号化情報と、該第２の装置に関連付けられた時間情報とを含むタイムスタンプされたメッセージを受信することと、
該第１の装置のクロックによって示される時間が、該時間情報に含まれる時間と一致するときに、該時間情報と該推奨された符号化情報とに基づいて、該入力信号に関連付けられたデータレートを調整することと
を含む、方法。
【請求項２】
前記タイムスタンプされたメッセージを受信することは、前記入力信号に関連付けられた前記データレートを調整するために前記推奨された符号化情報として新しいビットレート情報を受信することを含み、
該入力信号に関連付けられた該データレートを調整することは、該新しいビットレート情報を用いて該データレートを調整することを含む、請求項１に記載の方法。
【請求項３】
前記データレートを調整することは、前記入力信号に適用される圧縮レベルを調整することを含む、請求項１に記載の方法。
【請求項４】
前記符号化されたメッセージを送信することは、前記第２の装置から受信された前記第１の装置に関連付けられた識別番号と、前記第２の装置から受信された最後にタイムスタンプされたメッセージに関連付けられた情報とを含む複雑性メッセージを、該符号化されたメッセージを送信する前に送信することを含む、請求項１に記載の方法。
【請求項５】
前記複雑性メッセージを送信することは、前記第１の装置が前記入力信号を符号化する最小ビットレートと最大のビットレートとを含む該複雑性メッセージを送信することをさらに含む、請求項４に記載の方法。
【請求項６】
前記符号化されたメッセージを送信することは、所与の品質レベルで前記入力信号を符号化するために要求されるビットレートまたはビットの数を示す情報を含む複雑性メッセージを送信することを含む、請求項１に記載の方法。
【請求項７】
前記符号化されたメッセージを送信することは、複雑性メッセージを送信することを含み、該複雑性メッセージは、該複雑性メッセージが前記第１の装置によって送信される時間、または、該複雑性メッセージが前記第２の装置によって処理されるべき時間を示す時間情報を含む、請求項１に記載の方法。
【請求項８】
前記複雑性メッセージを送信することは、前記第１の装置を前記第２の装置に接続するネットワークに関連付けられた最大のネットワーク遅延と、該第２の装置の現地時間より遅れている第１の装置の現地時間に関連付けられた時間の値を示す負の最大オフセットとのうちの少なくとも１つを含む複雑性メッセージを送信することをさらに含む、請求項７に記載の方法。
【請求項９】
前記新しい符号化されたメッセージが前記第２の装置によって受信される時間が、前記第２の装置に関連付けられた前記時間情報によって示された時間に対して同じであるかまたはより小さい場合に、前記入力信号を新しい符号化されたメッセージ内の前記調整されたデータレートを用いて前記第２の装置に送信することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記タイムスタンプされたメッセージを受信することは、前記第１の装置によって送信された先に符号化されたメッセージに関連付けられた履歴データを用いて、既に決定されている前記推奨された符号化情報を受信することを含む、請求項１に記載の方法。
【請求項１１】
前記タイムスタンプされたメッセージを受信することは、該タイムスタンプされたメッセージが前記第２の装置によって送信される時間、または、該タイムスタンプされたメッセージが前記第１の装置によって処理されるべき時間を示す前記時間情報を受信することを含む、請求項１に記載の方法。
【請求項１２】
前記タイムスタンプされたメッセージを受信することは、前記第１の装置を前記第２の装置に接続するネットワークに関連付けられた最大のネットワーク遅延と、該第２の装置の現地時間よりも進んでいる該第１の装置の現地時間に関連付けられた時間の値を示す正の最大オフセットとのうちの少なくとも１つを含む該タイムスタンプされたメッセージを受信することをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記入力信号に関連付けられたデータレートを調整することは、前記タイムスタンプされたメッセージが前記第１の装置によって受信された時間が、前記第２の装置に関連付けられた前記時間情報によって示された時間に対して同じであるかまたはより小さい場合にのみ実行される、請求項１に記載の方法。
【請求項１４】
前記タイムスタンプされたメッセージを受信することは、前記第１の装置に関連付けられた識別番号を含む該タイムスタンプされたメッセージと、該タイムスタンプされたメッセージに関連付けられたメッセージ番号とを受信することを含む、請求項１に記載の方法。
【請求項１５】
前記入力信号に関連付けられた前記データレートを調整することは、バッファ期間後に実行される、請求項１に記載の方法。
【請求項１６】
前記バッファ期間後に前記入力信号に関連付けられたデータレートを調整することは、前記第１の装置に関連付けられた現地時間情報が前記第２の装置に関連付けられた時間情報と一致するときに、該データレートを調整して、該調整されたデータレートを用いて該入力信号が出力処理の時間までに該第２の装置によって受信されることを可能にすることを含む、請求項１５に記載の方法。
【請求項１７】
前記推奨された符号化情報のキューを行うことと、
キューがなされた該推奨された符号化情報を将来の入力信号に対して適用することと
をさらに含む、請求項１に記載の方法。
【請求項１８】
前記符号化されたメッセージを送信することは、前記入力信号の第１のセグメントに対応する該符号化されたメッセージを送信することを含み、
前記タイムスタンプされたメッセージを受信することは、該入力信号の第１のセグメントに対応する該タイムスタンプされたメッセージを受信することを含む、請求項１に記載の方法。
【請求項１９】
前記入力信号の残留セグメントを処理することは、前記第１のセグメントに対応する前記タイムスタンプされたメッセージが前記第２の装置から受信されるのを待つ間に、該入力信号の残留セグメントに対応する新しい符号化されたメッセージを前記第２の装置に送信することを含むことをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記入力信号に関連付けられた前記データレートを調整することは、前記第２の装置に関連付けられた前記時間情報に示された時間においてのみ実行される、請求項１に記載の方法。
【請求項２１】
タイムスタンプを含むデータメッセージを前記第１の装置から受信することと、
該タイムスタンプに基づいて該データメッセージに含まれたデータを処理することは該データを出力ストリームに置く時を決定することを含むことと
をさらに含む、請求項１に記載の方法。
【請求項２２】
前記データメッセージを受信することは、前記調整されたデータレートを用いて符号化された新しい符号化されたメッセージを受信することを含む、請求項２１に記載の方法。
【請求項２３】
前記データメッセージを受信することは、該データメッセージが前記第１の装置によって送信される時間を示すタイムスタンプを受信することを含む、請求項２１に記載の方法。
【請求項２４】
前記データを前記出力ストリームに置く時を決定することは、前記データメッセージが送信された時間と、前記第１の装置の現地時間と前記第２の装置の現地時間との間の時差に関連付けられたネットワーク遅延またはオフセットのうちの少なくとも１つ、とに基づいて該データを該出力ストリームに置く時を決定することを含む、請求項２３に記載の方法。
【請求項２５】
前記タイムスタンプされたメッセージを受信することは、前記第２の装置から放送メッセージを受信することを含み、該放送メッセージは、該第２の装置から前記第１の装置を含む複数の符号化装置に送信され、該放送メッセージは、タイムスタンプと、該複数の符号化装置によって実装されるべき各符号化装置に対する個々のビットレートまたは単一のビットレートのうちの１つとを含む、請求項２１に記載の方法。
【請求項２６】
前記データメッセージを受信することは、複数のデータメッセージを前記第１の装置を含む複数の符号化装置から前記個々のビットレートまたは単一のビットレートで受信することを含み、該方法は、
該複数のデータメッセージ内のデータを多重化された出力ストリームに組み合わせることをさらに含む、請求項２５に記載の方法。
【請求項２７】
１つ以上のビットレートを用いてデータを処理する１つ以上の符号化装置と、
１つ以上のメッセージを用いて１つ以上の符号化装置と通信するマルチプレクサと
を含み、
該１つ以上のメッセージは、タイムスタンプと伝送特性情報とを含み、該１つ以上のメッセージは、該１つ以上の装置の各々のクロックによって示される時間が、該タイムスタンプに含まれる時間と一致するときに、該１つ以上の符号化装置が、該データを符号化するために１つ以上のビットレートを調整することを可能にし、これにより、該１つ以上のそれぞれの符号化装置によって、該１つ以上の調整されたビットレートを用いて、符号化されたデータが、前記タイムスタンプに基づいて決定された時間制限内に出力ストリームに置かれるべき時間に間に合うように到着するようにされる、システム。
【請求項２８】
前記マルチプレクサは、データメッセージを前記１つ以上の符号化装置から受信して、前記１つ以上のビットレートを調整するための情報を特定するレートメッセージを該１つ以上の符号化装置に提供するように動作可能である、請求項２７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の開示は、ネットワーク通信に関連するものである。
【背景技術】
【０００２】
いくつかの通信システムでは、コンポーネントは、動作中にデータレートまたはパケットサイズのような伝送パラメータを調整する必要がある。１つの考えられるシナリオでは、（例えば、ＭＰＥＧベースのビデオ伝送システム内の）マルチ可変ビットレートのエンコーダに接続されるマルチプレクサは、エンコーダに、特定のレートでのデータの伝送を命令するように構成することが可能である。例えば、サブスクライバに一定のビットレートを分配するマルチプレクサは、エンコーダに、符号化される信号の複雑さに対応するビットレートで送信するように命令することができ、一方で、個々のエンコーダのビットレートの合計が、マルチプレクサが提供しなければならない一定のビットレートを超えないようにできる。このシナリオでは、複数のエンコーダから変更されたパラメータで伝送されるデータが、互いに多重化されるように、伝送パラメータの変更をリクエストされたときに、エンコーダが送信パラメータを変更することが重要である。例えば、エンコーダのうちの１つが、フレームの符号化データのビットレートを減じなかった場合、マルチプレクサが一定のビットレートの出力ストリームで配置するよりも、多くのビットがそのフレームのマルチプレクサに到達する可能性がある。高精度の同期化が望ましい当該のシステムは、一般に、決定性遅延を使用してメッセージを同期化することができるように、通信のための決定性接続（例、一定の、または予測可能な遅延を有する接続）を使用する。
【０００３】
通信システム内のコンポーネントは、確率的（非決定性）ネットワーク（例、インターネットプロトコルを使用した、パケットベースのネットワーク）を使用して接続することができる。確率的ネットワークを通じたメッセージの伝送と、メッセージの受信との間の遅延は、一般にランダム変数であるので、メッセージの同期化は困難になりうる。一般に、遅延の上限と下限を決定することができる。いくつかの確率的ネットワークに対しては、遅延の上限を無限とすることができ（例えば、パケットは、喪失してパケットの宛先に到達できないようにすることができる）、他の確率的ネットワークに対しては、上限を有限とすることができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
一局面では、ローカルコンポーネントが、非決定性通信リンクを使用してリモートコンポーネントに接続される、前記ローカルコンポーネントと前記リモートコンポーネントとの間で通信するための方法を提供する。前記ローカルコンポーネントのローカルクロックは、最大オフセットの範囲内で前記リモートコンポーネントのリモートクロックと同期化される。前記リモートコンポーネントからのレートメッセージは、前記ローカルコンポーネントで受信され、前記レートメッセージは、第１のタイムスタンプを含む。前記ローカルコンポーネントのデータレートは、前記ローカルクロックの時間が、前記第１のタイムスタンプを使用して決定された時間と実質的に一致するときに、前記レートメッセージを使用して調整される。データメッセージは、前記調整されたデータレートを使用して、前記ローカルコンポーネントから前記リモートコンポーネントに送信され、前記データメッセージは、前記データメッセージ内のデータの処理に使用するための第２のタイムスタンプを含む。
【０００５】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。複雑性メッセージ（ｃｏｍｐｌｅｘｉｔｙ  ｍｅｓｓａｇｅ）は、前記ローカルコンポーネントから前記リモートコンポーネントに伝送され、前記レートメッセージは、前記複雑性メッセージを使用して生成される。前記データレートを調整することは、位相ロックループを使用した前記ローカルクロックの前記第１の時間を決定することか、または前記ローカルクロックの前記第１の時間の統計的に推定することを含む。前記第１のタイムスタンプを使用して決定された前記時間は、通信リンク遅延に関する情報、および／または前記ローカルクロックとリモートクロックとの間のオフセットに関する情報を使用して、さらに決定される。オフセットに関する前記情報は、最大オフセットに関する情報を含み、正の最大オフセットおよび負の最大オフセットを含むことができる。通信リンク遅延に関する前記情報は、前記ローカルコンポーネントと前記リモートコンポーネントとの間の最大通信リンク遅延に関する情報を含み、前記リモートコンポーネントから前記ローカルコンポーネントへの遅延に関する情報と、前記ローカルコンポーネント前記リモートコンポーネントへの遅延に関する情報と、を含むことができる。
【０００６】
前記第１のタイムスタンプは、前記通信リンク遅延に関する前記情報、および／または前記ローカルクロックと前記リモートクロックとの間の前記オフセットに関する前記情報を含む。前記第２のタイムスタンプは、通信リンク遅延に関する情報、および／または前記ローカルクロックと前記リモートクロックとの間のオフセットに関する情報を含む。データレートを調整することは、前記レートメッセージに含まれるレート情報をキューに入れることを含む。前記レートメッセージは、前記ローカルクロック前記第１の時間が、前記第１のタイムスタンプを使用して決定された前記時間と実質的に一致するまで、バッファリングされる。
【０００７】
別の局面では、ローカルコンポーネントが、非決定性通信リンクを使用してリモートコンポーネントに接続され、前記ローカルコンポーネントのローカルクロックが、最大オフセットの範囲内で前記リモートコンポーネントのリモートクロックと同期化される、前記ローカルコンポーネントと前記リモートコンポーネントとの間で通信するための方法を提供する。レートメッセージは、前記ローカルコンポーネントから前記リモートコンポーネントに送信される。前記レートメッセージは、リモートクロックの第１の時間が、第１のタイムスタンプを使用して決定された時間と実質的に一致するときに、前記レートメッセージに含まれるデータレートを使用して、データメッセージを前記ローカルコンポーネントに送信するために、前記リモートコンポーネントが使用するための前記第１のタイムスタンプを含む。前記データメッセージは、前記ローカルコンポーネントで受信され、前記データメッセージは、第２のタイムスタンプを含む。データメッセージに含まれるデータは、前記第２のタイムスタンプを使用して処理される。
【０００８】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。複雑性メッセージは、前記リモートコンポーネントから受信され、前記レートメッセージは、前記複雑性メッセージを使用して生成される。前記データメッセージに含まれるデータを処理することは、ローカルクロックの第２の時間が、前記第２のタイムスタンプを使用して決定された時間と実質的に一致するときに、前記データメッセージに含まれるデータを処理する。前記第２のタイムスタンプを使用して決定された前記時間は、通信リンク遅延に関する情報、および／または前記ローカルクロックと前記リモートクロックとの間のオフセットに関する情報を使用して、さらに決定される。前記オフセットに関する前記情報は最大オフセットに関する情報を含み、正の最大オフセットおよび負の最大オフセットに関する情報を含むことができる。
【０００９】
前記通信リンク遅延に関する情報は、前記ローカルコンポーネントと前記リモートコンポーネントとの間の最大通信リンク遅延に関する情報を含み、前記リモートコンポーネントから前記ローカルコンポーネントへの遅延に関する情報と、前記ローカルコンポーネントから前記リモートコンポーネントへの遅延に関する情報と、を含むことができる。前記第２のタイムスタンプは、前記通信リンク遅延に関する前記情報、および／または前記ローカルクロックと前記リモートクロックとの間の前記オフセットに関する前記情報を含む。前記第１のタイムスタンプは、前記通信リンク遅延に関する情報、および／またはローカルクロックと前記リモートクロックとの間の前記オフセットに関する情報を含む。前記データメッセージに含まれるデータを処理することは、ローカルクロックの時間が、前記第２のタイムスタンプを使用して決定された時間と実質的に一致するまで、前記データメッセージをバッファリングすることを含む。
【００１０】
別の局面では、ローカルコンポーネントとリモートコンポーネントとの間で通信するための方法を提供する。前記ローカルコンポーネントを前記リモートコンポーネントに接続する非決定性通信リンクを提供する。前記ローカルコンポーネントのローカルクロックは、最大オフセットの範囲内で、前記リモートコンポーネントのリモートクロックと同期化される。レートメッセージは、前記リモートコンポーネントから前記ローカルコンポーネントに送信され、前記レートメッセージは、第１のタイムスタンプを含む。前記ローカルクロックの第１の時間が、前記第１のタイムスタンプと、通信リンク遅延に関する情報と、前記最大オフセットに関する情報とを使用して決定された時間と実質的に一致するときに、前記レートメッセージを使用して、前記ローカルコンポーネントのデータレートを調整する。データメッセージは、前記調整されたデータレートを使用して、前記ローカルコンポーネントから前記リモートコンポーネントに、前記第１の時間で送信され、前記データメッセージは第２のタイムスタンプを含む。前記リモートクロックの第２の時間が、前記第２のタイムスタンプと、通信リンク遅延に関する情報と、前記最大オフセットに関する情報とを使用して決定された時間と実質的に一致するときに、前記データメッセージに含まれるデータを処理する。
【００１１】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。前記ローカルコンポーネントは、エンコーダであり、前記リモートコンポーネントは、マルチプレクサである。複雑性メッセージは、前記ローカルコンポーネントから前記リモートコンポーネントに伝送され、前記レートメッセージは、前記複雑性メッセージを使用して生成される。
【００１２】
一局面では、非決定性通信リンクを使用してリモートコンポーネントに接続されたローカルコンポーネントを提供する。前記ローカルコンポーネントは、最大オフセットの範囲内で、前記ローカルコンポーネントのローカルクロックを、リモートコンポーネントのリモートクロックと同期化させるための手段と、前記リモートコンポーネントからのレートメッセージを使用して、前記ローカルコンポーネントのデータレートを調整するための手段と、を含む。前記ローカルコンポーネントはまた、前記ローカルコンポーネントから前記リモートコンポーネントに送信されたデータメッセージを、前記リモートコンポーネントによって処理されるときまでに、前記リモートコンポーネントに到達させることを保証するための手段も備える。
【００１３】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。前記同期化させるための手段は、位相ロックループを含む。前記同期化させるための手段は、統計的な推定を含む。前記同期化させるための手段は、レート調整ユニットを備える。前記保証するための手段は、タイムスタンプコンポーネントを備える。
【００１４】
別の局面では、出力ストリームにデータをアセンブルする、出力アセンブリユニットを備えたマルチプレクサを提供する。入力ユニットは、ローカルクロックの時間が、タイムスタンプを使用して決定された時間と実質的に一致するときに、データおよび前記タイムスタンプを含むデータメッセージを受信し、出力アセンブリユニットに前記データを提供する。レート制御ユニットは、リモートコンポーネントにタイムスタンプされたレートメッセージを送信し、前記レートメッセージは、将来のデータメッセージのデータレートに関する情報を含む。
【００１５】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。前記レート制御ユニットは、前記将来のデータメッセージの複雑さに関する情報を使用して、前記レートメッセージを生成する。前記レート制御ユニットは、前記ローカルクロックの前記時間に関する情報を使用して、前記レートメッセージをタイムスタンプする。前記入力ユニットは、通信リンク遅延に関する情報、および／または前記ローカルクロックとリモートクロックとの間のオフセットに関する情報を使用して、前記出力アセンブリに前記データを提供する。
【００１６】
別の局面では、最大オフセットの範囲内で、エンコーダのクロックをリモートクロックと同期化させるように動作可能な同期化ユニットを備えたエンコーダを提供する。トランスミッタは、データレートでデータメッセージをタイムスタンプして伝送する。また、レート調整ユニットは、前記エンコーダのクロックの時間が、対応するメッセージ内のタイムスタンプを使用して決定された時間と実質的に一致するときに、前記対応するレートメッセージに応答して前記データレートに調整する。
【００１７】
特定の実施態様は、以下の特徴のうちの１つ以上を含むことが可能である。前記同期化ユニットは、位相ロックループを含む。前記トランスミッタは、前記エンコーダのクロックの前記時間に関する情報を使用して、前記データメッセージをタイムスタンプする。前記レート調整ユニットは、通信リンク遅延に関する情報、および／または前記最大オフセットに関する情報を使用して、前記データレートを調整する。前記トランスミッタは、前記対応するレートメッセージを生成するために使用される、タイムスタンプされた複雑性メッセージを伝送する。
【００１８】
実施態様は、以下の利点のうちの１つ以上を含むことが可能である。通信コンポーネントが、確率的ネットワークを使用して、メッセージを正確に同期化させるように使用することができる、方法および装置が開示される。決定性ネットワークを通じて通信するように設計されたシステムまたはコンポーネントは、前記確率的ネットワークを通じた通信が可能になるように構成することができる。通信システム内のコンポーネントは、専用の通信リンクを使用して直接接続せずに、離して配置することができる。通信システム内のコンポーネント間の接続は、再配線を必要とせずに動的に変更することができる。接続は動的に変更することができ、また非常に柔軟であるので、小型のバックアップデバイスを通信システムで使用することができる。大きな遅延および／または遅延に大きな変動のある確率的ネットワークを使用した場合であっても、メッセージの送達時間の変動を少なく保つことができる。
【００１９】
本発明の１つ以上の実施態様の詳細を、以下の添付図面および説明に記載する。本発明の他の特徴、目的、および利点は、以下の説明、図面、および特許請求の範囲から明らかになるだろう。
本願は、以下の発明を含む。
（項目１）
ローカルコンポーネントとリモートコンポーネントとの間で通信するための方法であって、該ローカルコンポーネントは、非決定性通信リンクを使用して、該リモートコンポーネントに接続され、該ローカルコンポーネントのローカルクロックは、最大オフセットの範囲内で該リモートコンポーネントのリモートクロックと同期化され、該方法は、
ローカルコンポーネントでリモートコンポーネントからのレートメッセージを受信することであって、該レートメッセージは、第１のタイムスタンプを含む、ことと、
ローカルクロックの第１の時間が、該第１のタイムスタンプを使用して決定された時間と実質的に一致するときに、該レートメッセージを使用して、該ローカルコンポーネントのデータレートを調整することと、
該調整されたデータレートを使用して、該ローカルコンポーネントから該リモートコンポーネントに、該第１の時間でデータメッセージを送信することであって、該データメッセージは、該データメッセージ内のデータの処理に使用するための第２のタイムスタンプを含む、ことと
を含む、方法。
（項目２）
前記ローカルコンポーネントから前記リモートコンポーネントに複雑性メッセージを伝送することをさらに含み、該レートメッセージは、該複雑性メッセージを使用して生成される、項目１に記載の方法。
（項目３）
前記データレートを調整することは、位相ロックループを使用して前記ローカルクロックの前記第１の時間を決定することを含む、項目１に記載の方法。
（項目４）
前記データレートを調整することは、前記ローカルクロックの前記第１の時間を統計的に推定することを含む、項目１に記載の方法。
（項目５）
前記第１のタイムスタンプを使用して決定された前記時間は、通信リンク遅延に関する情報、および前記ローカルクロックとリモートクロックとの間のオフセットに関する情報のうちの少なくとも１つを使用して、さらに決定される、項目１に記載の方法。
（項目６）
前記ローカルクロックと前記リモートクロックとの間のオフセットに関する前記情報は、前記ローカルクロックと前記リモートクロックとの間の最大オフセットに関する情報を含む、項目５に記載の方法。
（項目７）
前記ローカルクロックと前記リモートクロックとの間の前記最大オフセットに関する前記情報は、正の最大オフセットおよび負の最大オフセットに関する情報を含む、項目６に記載の方法。
（項目８）
通信リンク遅延に関する前記情報は、前記ローカルコンポーネントと前記リモートコンポーネントとの間の最大通信リンク遅延に関する情報を含む、項目５に記載の方法。
（項目９）
通信リンク遅延に関する前記情報は、前記リモートコンポーネントから前記ローカルコンポーネントへの通信リンク遅延に関する情報と、該ローカルコンポーネントから該リモートコンポーネントへの通信リンク遅延に関する情報とを含む、項目５に記載の方法。
（項目１０）
前記第１のタイムスタンプは、前記通信リンク遅延に関する前記情報、および前記ローカルクロックと前記リモートクロックとの間の前記オフセットに関する前記情報のうちの少なくとも１つを含む、項目５に記載の方法。
（項目１１）
前記第２のタイムスタンプは、通信リンク遅延に関する情報、および前記ローカルクロックと前記リモートクロックとの間のオフセットに関する情報のうちの少なくとも１つを含む、項目１に記載の方法。
（項目１２）
データレートを調整することは、前記レートメッセージに含まれるレート情報をキューに入れることを含む、項目１に記載の方法。
（項目１３）
前記ローカルクロックの前記第１の時間が、前記第１のタイムスタンプを使用して決定された前記時間と実質的に一致するまで、前記レートメッセージをバッファリングすることをさらに含む、項目１に記載の方法。
（項目１４）
ローカルコンポーネントとリモートコンポーネントとの間で通信する方法であって、該ローカルコンポーネントは、非決定性通信リンクを使用して該リモートコンポーネントに接続され、該ローカルコンポーネントのローカルクロックは、最大オフセットの範囲内で該リモートコンポーネントのリモートクロックと同期化され、該方法は、
レートメッセージを該ローカルコンポーネントから該リモートコンポーネントへ送信することであって、該レートメッセージは、リモートクロックの第１の時間が、第１のタイムスタンプを使用して決定された時間と実質的に一致するときに、該レートメッセージに含まれるデータレートを使用して、データメッセージを該ローカルコンポーネントに送信するために、該リモートコンポーネントが使用するための該第１のタイムスタンプを含む、ことと、
該ローカルコンポーネントで該データメッセージを受信することであって、該データメッセージは、第２のタイムスタンプを含む、ことと、
該第２のタイムスタンプを使用して、該データメッセージに含まれるデータを処理することと
を含む、方法。
（項目１５）
前記リモートコンポーネントから複雑性メッセージを受信することと、
前記複雑性メッセージを使用して、前記レートメッセージを生成することと
をさらに含む、項目１４に記載の方法。
（項目１６）
前記データメッセージに含まれるデータを処理することは、ローカルクロックの第２の時間が、前記第２のタイムスタンプを使用して決定された時間と実質的に一致するときに、該データメッセージに含まれるデータを処理することを含む、項目１４に記載の方法。
（項目１７）
前記第２のタイムスタンプを使用して決定された前記時間は、通信リンク遅延に関する情報、および前記ローカルクロックと前記リモートクロックとの間のオフセットに関する情報のうちの少なくとも１つを使用して、さらに決定される、項目１６に記載の方法。
（項目１８）
前記ローカルクロックと前記リモートクロックとの間のオフセットに関する前記情報は、該ローカルクロックと該リモートクロックとの間の最大オフセットに関する情報を含む、項目１７に記載の方法。
（項目１９）
前記ローカルクロックと前記リモートクロックとの間の前記最大オフセットに関する前記情報は、正の最大オフセットおよび負の最大オフセットに関する情報を含む、項目１８に記載の方法。
（項目２０）
通信リンク遅延に関する前記情報は、前記ローカルコンポーネントと前記リモートコンポーネントとの間の最大通信リンク遅延に関する情報を含む、項目１７に記載の方法。（項目２１）
通信リンク遅延に関する前記情報は、前記リモートコンポーネントから前記ローカルコンポーネントへの通信リンク遅延に関する情報と、該ローカルコンポーネントから該リモートコンポーネントへの通信リンク遅延に関する情報とを含む、項目１７に記載の方法。
（項目２２）
前記第２のタイムスタンプは、前記通信リンク遅延に関する前記情報、および前記ローカルクロックと前記リモートクロックとの間の前記オフセットに関する前記情報のうちの少なくとも１つを含む、項目１７に記載の方法。
（項目２３）
前記第１のタイムスタンプは、通信リンク遅延に関する情報、およびローカルクロックと前記リモートクロックとの間のオフセットに関する情報のうちの少なくとも１つを含む、項目１４に記載の方法。
（項目２４）
前記データメッセージに含まれるデータを処理することは、ローカルクロックの第２の時間が、前記第２のタイムスタンプを使用して決定された時間と実質的に一致するまで、前記データメッセージをバッファリングすることを含む、項目１４に記載の方法。
（項目２５）
ローカルコンポーネントとリモートコンポーネントとの間で通信するための方法であって、該方法は、
ローカルコンポーネントをリモートコンポーネントに接続する非決定性通信リンクを提供することと、
最大オフセットの範囲内で、該ローカルコンポーネントのローカルクロックを、該リモートコンポーネントのリモートクロックと同期化させることと、
該リモートコンポーネントから該ローカルコンポーネントにレートメッセージを送信することであって、該レートメッセージは、第１のタイムスタンプを含む、ことと、
該ローカルクロックの第１の時間が、該第１のタイムスタンプと、通信リンク遅延に関する情報と、該最大オフセットに関する情報とを使用して決定された時間に実質的に一致するときに、該レートメッセージを使用して、該ローカルコンポーネントのデータレートを調整することと、
該調整されたデータレートを使用して、該ローカルコンポーネントから該リモートコンポーネントに、該第１の時間でデータメッセージを送信することであって、該データメッセージは第２のタイムスタンプを含む、ことと、
該リモートクロックの第２の時間が、該第２のタイムスタンプと、通信リンク遅延に関する情報と、該最大オフセットに関する情報とを使用して決定された時間に実質的に一致するときに、該データメッセージに含まれるデータを処理することと
を含む、方法。
（項目２６）
前記ローカルコンポーネントは、エンコーダであり、前記リモートコンポーネントは、マルチプレクサである、項目２５に記載の方法。
（項目２７）
前記ローカルコンポーネントから前記リモートコンポーネントに複雑性メッセージを伝送することをさらに含み、前記レートメッセージは、該複雑性メッセージを使用して生成される、項目２５に記載の方法。
（項目２８）
非決定性通信リンクを使用してリモートコンポーネントに接続されたローカルコンポーネントであって、
最大オフセットの範囲内で、ローカルコンポーネントのローカルクロックを、リモートコンポーネントのリモートクロックと同期化させるための手段と、
該リモートコンポーネントからのレートメッセージを使用して、該ローカルコンポーネントのデータレートを調整するための手段と、
該ローカルコンポーネントから該リモートコンポーネントに送信されたデータメッセージを、該リモートコンポーネントによって処理されるときまでに、該リモートコンポーネントに到達させることを保証するための手段と
を備える、ローカルコンポーネント。
（項目２９）
前記同期化させるための手段は、位相ロックループを含む、項目２８に記載のローカルコンポーネント。
（項目３０）
前記同期化させるための手段は、統計的な推定を含む、項目２８に記載のローカルコンポーネント。
（項目３１）
前記同期化させるための手段は、レート調整ユニットを備える、項目２８に記載のローカルコンポーネント。
（項目３２）
前記保証するための手段は、タイムスタンプコンポーネントを備える、項目２８に記載のローカルコンポーネント。
（項目３３）
出力ストリームにデータをアセンブルするように動作可能な出力アセンブリユニットと、
ローカルクロックの時間が、タイムスタンプを使用して決定された時間と実質的に一致するときに、データおよび該タイムスタンプを含むデータメッセージを受信し、出力アセンブリユニットに該データを提供するように動作可能な入力ユニットと、
リモートコンポーネントにタイムスタンプされたレートメッセージを送信するように動作可能なレート制御ユニットであって、該レートメッセージは、将来のデータメッセージのデータレートに関する情報を含む、レート制御ユニットと
を備える、マルチプレクサ。
（項目３４）
前記レート制御ユニットは、前記将来のデータメッセージの複雑さに関する情報を使用して、前記レートメッセージを生成する、項目３３に記載のマルチプレクサ。
（項目３５）
前記レート制御ユニットは、前記ローカルクロックの前記時間に関する情報を使用して、前記レートメッセージをタイムスタンプする、項目３３に記載のマルチプレクサ。
（項目３６）
前記入力ユニットは、通信リンク遅延に関する情報、および前記ローカルクロックとリモートクロックとの間のオフセットに関する情報のうちの少なくとも１つを使用して、前記出力アセンブリに前記データを提供する、項目３３に記載のマルチプレクサ。
（項目３７）
最大オフセットの範囲内で、エンコーダのクロックをリモートクロックと同期化させるように動作可能な同期化ユニットと、
データレートでデータメッセージをタイムスタンプして伝送するように動作可能なトランスミッタと、
該エンコーダのクロックの時間が、対応するレートメッセージ内のタイムスタンプを使用して決定された時間と実質的に一致するときに、該対応するレートメッセージに応答して該データレートに調整するように動作可能なレート調整ユニットと
を備える、エンコーダ。
（項目３８）
前記同期化ユニットは、位相ロックループを含む、項目３７に記載のエンコーダ。
（項目３９）
前記トランスミッタは、前記エンコーダのクロックの前記時間に関する情報を使用して、前記データメッセージをタイムスタンプする、項目３７に記載のエンコーダ。
（項目４０）
前記レート調整ユニットは、通信リンク遅延に関する情報、および前記最大オフセットに関する情報のうちの少なくとも１つを使用して、前記データレートを調整する、項目３７に記載のエンコーダ。
（項目４１）
前記トランスミッタは、前記対応するレートメッセージを生成するために使用されるタイムスタンプされた複雑性メッセージを伝送する、項目３７に記載のエンコーダ。
【図面の簡単な説明】
【００２０】
種々の図面における同じ参照符号は、同じ要素を示す。
【図１】図１は、通信システムのブロック図である。
【図２】図２は、エンコーダおよびマルチプレクサのブロック図である。
【図３】図３は、メッセージを同期化させるためのプロセスのフローチャートである。
【図４Ａ】図４Ａは、複雑性メッセージのフォーマットを示す図である。
【図４Ｂ】図４Ｂは、レートメッセージのフォーマットを示す図である。
【発明を実施するための形態】
【００２１】
図１は、複数のエンコーダ１１０（１）〜１１０（ｎ）が、ネットワーク１２０（１）〜１２０（ｎ）を使用してマルチプレクサ１３０に接続された、通信システム１００を示す。エンコーダ１１０（１）〜１１０（ｎ）は、例えば、入力信号１０５（１）〜１０５（ｎ）を受信して、伝送するためにこれを符号化する、オーディオまたはビデオエンコーダとすることができる。エンコーダ１１０（１）〜１１０（ｎ）は、一般に、マルチビットレートでデータを符合化および伝送することができる。エンコーダが信号を符号化するために使用するビットレートは、例えば、信号の複雑さ、出力チャネルで利用可能な帯域幅、または符号化信号に求められる、または必要とされる品質によって変化しうる。
【００２２】
エンコーダ１１０（１）〜１１０（ｎ）は、ネットワーク１２０（１）〜１２０（ｎ）を通じて、マルチプレクサ１３０に符号化データを伝送する。ネットワーク１２０（１）〜１２０（ｎ）は、可変伝送遅延を有する確率的ネットワーク（例、インターネットプロトコル（ＩＰ）ネットワーク）とすることができる。一実施態様では、ネットワーク１２０（１）〜１２０（ｎ）は、同一のネットワークの一部である。
【００２３】
マルチプレクサ１３０は、エンコーダ１１０（１）〜１１０（ｎ）から符号化データを受信して、その符号化データを、一定のビットレートストリームとすることができる、単一の出力ストリーム１３５に組み合わせることができる。マルチプレクサ１３０は、一般に出力ストリーム１３５に対するターゲットビットレートを有するが、これは、例えば出力ストリーム１３５の送信を介したチャネルの容量によって、または出力ストリーム１３５を受信するデバイスの制限によって抑制することができる。マルチプレクサ１３０は、それぞれのエンコーダに特定のビットレートで符号化データを伝送するように命令するレートメッセージを、エンコーダ１１０（１）〜１１０（ｎ）に提供することができる。マルチプレクサ１３０は、例えば、エンコーダからの符号化データの履歴、エンコーダが提供したメッセージの複雑さ、またはオペレータの入力に基づいて、エンコーダにどのレートで伝送するように命令するかを決定することができる。エンコーダからの複雑性メッセージは、所与のレベルの品質で、入力信号を符号化するために必要なビットレートの推定を含むことができる。複雑性メッセージはまた、マルチプレクサ１３０が、エンコーダにビットレートを割り当てるために使用することができる、現在の入力信号または将来の入力信号に関する統計または統計のグループを含むこともできる。
【００２４】
マルチプレクサ１３０は、出力信号１３５を所要のビットレートの範囲内に保持しながら、エンコーダ１１０（１）〜１１０（ｎ）からの信号の品質を最適化するために、エンコーダ１１０（１）〜１１０（ｎ）にビットレートを割り当てることができる。マルチプレクサ１３０は、予め設定されたレートまたはあまり定期的ではない間隔で、エンコーダ１１０（１）〜１１０（ｎ）にレートメッセージを送信することができる。マルチプレクサ１３０がエンコーダ１１０（１）〜１１０（ｎ）にレートメッセージを送信する場合、新しいビットレートで伝送されたエンコーダ１１０（１）〜１１０（ｎ）からの符号化データが、出力ストリーム１３５にともに配置された時間に、マルチプレクサ１３０に到達するように、エンコーダ１１０（１）〜１１０（ｎ）のビットレートを変更することが望ましい。古いビットレートで伝送するエンコーダからの符号化データが、新しいビットレートで伝送するエンコーダからの符号化データと多重化される場合、出力ストリーム１３５は、アンダーサブスクライブ（利用可能なビットよりも伝送するビットが少ない）となるか、またはオーバーサブスクライブ（利用可能なビットよりも伝送するビットが多い）となる場合がある。
【００２５】
図２は、エンコーダ２１０およびマルチプレクサ２３０がネットワーク２２０によって接続された、エンコーダ／マルチプレクサの対２００を示す。マルチプレクサ２３０は、一般に複数のエンコーダに接続されるが、明確にするためにエンコーダ２１０だけを示す。ネットワーク２２０は、単一のネットワークとするか、または複数の独立したネットワークから構成することができる。エンコーダ２１０は、トランスミッタ２１２と、受信器２１４と、符号化ユニット２１５と、レート調整ユニット２１７と、を備える。マルチプレクサ２３０は、入力ユニット２３２と、レート制御ユニット２３４と、出力アセンブリユニット２３８と、を備える。
【００２６】
エンコーダ２１０は、入力信号２０５（例、非圧縮アナログまたはデジタルのオーディオ、ビデオ、またはデータ）を受信し、符号化ユニット２１５を使用して入力信号２０５を符号化して、トランスミッタ２１２を使用して符号化データメッセージ２２２を伝送する。データメッセージ２２２は、一般に可変ビットレートで符合化され、例えば、データストリームまたは一連の離散的なデータパケットとすることができる。示される実施態様では、エンコーダの時間（例えば、エンコーダクロック２１６によって示される）は、位相ロックループ（ＰＬＬ）２１８を使用して、最大オフセットの範囲内でマルチプレクサクロック２３６と同期化される。ＰＬＬ２１８は、ベース周波数としてエンコーダクロック２１６を使用し、同期化のための周波数基準としてマルチプレクサクロック２３６の時間に関する情報（例えば以下に説明するレートメッセージのタイムスタンプ、または別個のタイミングメッセージに含まれる）を使用することができる。別の実施態様では、エンコーダの時間ベースは、ＰＬＬ２１８を使用する代わりに統計的手法を使用して、マルチプレクサクロック２３６と同期化させることができる。そのような統計的手法は、将来の挙動を予測してパケットの到達時間を推定するために、観測されたネットワーク遅延を使用する。別様には、ネットワークタイムプロトコルの変動を同期化に使用することができる。
【００２７】
一実施態様では、エンコーダ２１０は、レート制御ユニット２３４に複雑性メッセージ２２４を伝送することができる。レート制御ユニット２３４は、エンコーダ２１０に、データメッセージ２２２を生成するためにエンコーダ２１０が使用すべきビットレートを指定する、レートメッセージ２２６を伝送することができる。レート調整ユニット２１７は、レートメッセージ２２６を処理して、符号化ユニット２１５に、新しいレートを使用して入力信号２０５を符合化するように命令することができる。複雑性メッセージ２２４は、符号化ユニット２１５が入力信号２０５内の情報をどのくらい容易に符合化できるのかを示すことができる。複雑性メッセージ２２４は、所与のレベルの品質で入力信号２０５を符合化するために必要となる、ビットレートまたはビット数を明示的に提示することができる。複雑性メッセージ２２４は、入力信号２０５に関する１つ以上の統計（例、標本分散または平均）、および／または入力信号２０５に関する知覚的な情報を含むことができる。複雑性メッセージ２２４はまた、例えば複雑性メッセージ２２４が送信された時間（例えば、ＰＬＬ２１８によって示される時間）に関する情報を含む、タイムスタンプを含むこともできる。複雑性メッセージのタイムスタンプは、トランスミッタ２１２によって複雑性メッセージ２２４に追加することができ、また、マルチプレクサ２３０が複雑性メッセージ２２４を処理および／または使用すべき時間に関する情報を含むことができる。マルチプレクサ２３０は、設定されたレート（例、３２回／秒）で、複数のエンコーダからの複雑性メッセージを処理することができる。例えば、マルチプレクサ２３０は、複雑性メッセージが全てのエンコーダで利用可能であるかどうかに関わらず、（マルチプレクサクロック２３６によって示される）所与の時間で到達した、全ての複雑性メッセージを処理することができる。複雑性メッセージがエンコーダで利用可能でない場合、エンコーダに対する最後の複雑さの情報を再利用することができる。一実施態様では、複雑性メッセージ２２４は使用されず、レート情報は、例えばデータメッセージ２２２の履歴に基づいて決定することができる。
【００２８】
図４Ａは、フィールド４０５〜４３０を含む、例示的な複雑性メッセージ４００のフォーマットを示す。各フィールドは、例えば、３２ビット符号なし整数とすることができる。フィールド４０５は、複雑性メッセージ４００のタイムスタンプであり、フィールド４１０は、複雑さの値であるが、どちらも上述したものである。フィールド４１５は、エンコーダ（例、図２のエンコーダ２１０）のＩＤを指定し、複雑性メッセージ４００と関連付けられる。フィールド４２０は、エンコーダが複雑性メッセージ４００を送信する前に受信した、最後のレートメッセージを識別する。フィールド４２５および４３０は、エンコーダが伝送することができる、最小レートおよび最大レートをそれぞれ示す。
【００２９】
再び図２を参照する。レート制御ユニット２３４は、エンコーダ２１０にレートメッセージ２２６を送信する。レートメッセージ２２６は、エンコーダ２１０が、将来入力信号２０５を符号化して、データメッセージ２２２を伝送するために使用すべきビットレートおよび／またはビット数に関する情報を含むことができる。一実施態様では、マルチプレクサ２３０は、複数のエンコーダにブロードキャストレートメッセージを送信することができる。このブロードキャストレートメッセージは、各エンコーダに対する個々のビットレートか、または全てのエンコーダが使用すべき単一のビットレートを含むことができる。レートメッセージ２２６は、マルチプレクサクロック２３６の時間に関する情報を含むことができる、タイムスタンプを含む。例えば、レートメッセージのタイムスタンプは、レート制御ユニット２３４によって生成することができ、またレート制御ユニット２３４がレートメッセージ２２６を伝送した、（マルチプレクサクロック２３６によって示されるような）時間を示すことができる。レートメッセージのタイムスタンプは、エンコーダ２１０が、レートメッセージ２２６を処理および／または使用すべき時間に関する情報を含むことができる。
【００３０】
図４Ｂは、フィールド４５５〜４７０を含む、例示的なレートメッセージ４５０のフォーマットを示す。フィールド４５５は、レートメッセージ４５０のタイムスタンプであり、フィールド４６０は、エンコーダ（例、図２のエンコーダ２１０）に対する新しいレートであるが、どちらも上述したものである。フィールド４６５は、レートメッセージ４５０を処理すべきエンコーダのＩＤを指定する。フィールド４７０は、複数のレートメッセージ４５０である。例えば、レートメッセージは、連続した番号をつけることができる。
【００３１】
再び図２を参照する。エンコーダ２１０は、レートメッセージ２２６からのレート情報を使用して、データメッセージ２２２を伝送する。さらに具体的には、受信器２１４は、レートメッセージ２２６をバッファリングして、特定の時間（例えば、ＰＬＬ２１８によって示された時間が、レートメッセージ２２６のタイムスタンプに含まれる時間と一致したとき）に、レート調整ユニット２１７にレートメッセージ２２６を提供する。レート調整ユニット２１７は、レートメッセージ２２６からのレート情報を使用して、符号化ユニット２１５のレートを調整する。符号化ユニット２１５は、調整されたレートを使用して入力信号２０５を符合化し、トランスミッタ２１２は、データメッセージ２２２において、マルチプレクサ２３０に符号化信号を伝送する。データメッセージ２２２は、例えばデータメッセージ２２２が送信された時間（例、ＰＬＬ２１８によって示される時間）に関する情報を含む、タイムスタンプを含むことができる。タイムスタンプは、トランスミッタ２１２によって生成して、データメッセージ２２２へ追加することができる。
【００３２】
エンコーダ２１０は、レートメッセージ２２６からのレート情報を格納し、また決定性遅延の後の将来の伝送（例、データメッセージ２２２）にレート情報を適用する、レートキュー（図示せず）を含むことができる。レートキューは、例えば、データの特定の部分（例、入力信号２０５のセグメント）に対する複雑性メッセージを生成することができるように、エンコーダからマルチプレクサに複雑性メッセージを送信することができるように、マルチプレクサからエンコーダに対応するレートメッセージを送信することができるように、およびエンコーダが、レートメッセージを使用してデータの対応する部分を伝送できるように、エンコーダ／マルチプレクサの対２００の往復遅延を補うことができる。レートキューを使用することによって、エンコーダ２１０は、データの一部に対応する複雑性メッセージを送信することができ、データの第１の部分に対応するレートメッセージを待ちながら、データの１つ以上の更なる部分を処理することができる。
【００３３】
マルチプレクサ２３０は、データメッセージ２２２を受信して、データメッセージ２２２に含まれるデータを、他のエンコーダからのデータと多重化する。一実施態様では、入力ユニット２３２は、データメッセージ２２２を受信して、特定の時間（例えば、マルチプレクサクロック２３６によって示された時間が、データメッセージ２２２のタイムスタンプに含まれる時間と一致したとき）に、出力アセンブリユニット２３８にデータメッセージ２２２を提供することができる。全てのエンコーダが、マルチプレクサ２３０によって送信されたレートメッセージに応答した場合、出力アセンブリユニット２３８は、マルチプレクサ出力ストリーム２３５に、全てのエンコーダからのデータを組み合わせることができる。出力ストリーム２３５は、一定のビットレートストリームとすることができ、また通信リンク（例、衛星リンク）を通じて、エンドユーザーまたは処理デバイスに伝送することができる。
【００３４】
一般に、レート制御ユニット２３４がレートメッセージ２２６を送信する時間と、出力アセンブリユニット２３８が一般にデータメッセージ２２２を受信する時間との関係が重要である。例えば、この「レートループ」が適切に同期化されなかった場合は、マルチプレクサにおいて、アンダーサブスクリプションまたはオーバーサブスクリプションが生じうる。レートループの同期化は、（ｉ）ＰＬＬ２１８によって示される時間と、マルチプレクサクロック２３６によって示される時間との間のオフセット、および（ｉｉ）ネットワーク２２０の遅延の変動という、２つの不確実性によって影響を受ける可能性がある。エンコーダ２１０によって示される時間と、マルチプレクサ２３０によって示される時間との間のオフセットは、一般に、正および負の最大オフセットによって境界が示され、ＰＬＬ２１８の設計に依存し、対称とすることができる。ネットワーク２２０の遅延も同様に、一般に境界を示すことが可能である。例えば、ネットワーク２２０は、保証されたサービスの質を提供することができるが、ネットワーク２２０は、ある程度の（高い）可能性を有する特定の時間量（最大遅延）の範囲内のデータを配信する。
【００３５】
最大オフセットの範囲内（例、正および負の最大オフセットの範囲内）で、ＰＬＬ２１８によって示された時間を、マルチプレクサクロック２３６によって示された時間と同期化させると、最大オフセットおよび最大ネットワーク遅延に関する情報は、一方のコンポーネント（マルチプレクサまたはエンコーダ）から他方のコンポーネントに送信された、時間依存のメッセージを受信コンポーネントによって処理される時間に到達させることを保証するために使用することができる。例えば、一実施態様では、レートメッセージが送信された時間（マルチプレクサ２３６によって示される）（ｔｉｍｅｍｕｘ）と、マルチプレクサからエンコーダへの最大遅延（ｄｅｌａｙｍｕｘ，ｅｎｃ）と、正の最大オフセット（ｏｆｆｓｅｔｍａｘ＋）と、を加えた時間によってタイムスタンプされる。ここで、正のオフセットは、ＰＬＬ２１８によって示された時間が、マルチプレクサクロック２３６によって示された時間よりも先であることを示す。エンコーダがレートメッセージを受信した時間（現在ＰＬＬ２１８によって示される）（ｔｉｍｅｅｎｃ）は、タイムスタンプによって示された時間以下であり、これによって、エンコーダは、タイムスタンプによって示された時間によってレートメッセージを処理することが可能になる。
【００３６】
一実施態様では、エンコーダ２１０からマルチプレクサ２３０に送信されたデータメッセージは、データメッセージが送信された時間（ＰＬＬ２１８によって示される）（ｔｉｍｅｅｎｃ）と、エンコーダからマルチプレクサへの最大ネットワーク遅延（ｄｅｌａｙｅｎｃ，ｍｕｘ）と、負の最大オフセット（ｏｆｆｓｅｔｍａｘ−）と、を加えた時間によってタイムスタンプされる。ここで、負のオフセットは、ＰＬＬ２１８によって示された時間が、マルチプレクサクロック２３６によって示された時間よりも後であることを示す。マルチプレクサがデータメッセージを受信した時間（現在、マルチプレクサ２３６によって示される）（ｔｉｍｅｍｕｘ）は、タイムスタンプによって示された時間以下であり、これによって、マルチプレクサ２３０は、タイムスタンプによって示された時間に出力ストリーム２３５にデータを配置することが可能になる。マルチプレクサ２３０とエンコーダ２１０との間でメッセージを伝送するときに、最大オフセットおよび最大ネットワーク遅延を調整することによって、受信コンポーネントによって示される時間が、メッセージのタイムスタンプと一致したときに、受信コンポーネントは、そのメッセージを処理する時間にメッセージを受信することが可能になる。
【００３７】
エンコーダの時間ベースの（例えば、ＰＬＬ２１８の）最大オフセットは、一般に、高性能通信システムにおけるメッセージの送達時間の許容エラーよりも大きい。しかし、エンコーダの時間ベースのオフセットは、本願明細書に記述された往復伝送では相殺される。オフセットが相殺されるので、非常に正確なシステムタイミングを達成することができる。例えば、マルチプレクサ２３０が、時間ｔにおいてレートメッセージを伝送して、時間ｔ＋定数＋エラー（±５０μｓ）においてエンコーダ２１０からデータが到達すると予想する場合、エンコーダの時間ベースの最大オフセットまたはネットワーク遅延の変動が±５０ｍｓであっても、所要のタイミング精度を達成することができる。
【００３８】
上述のタイムスタンプスキームは、エンコーダ２１０とマルチプレクサ２３０との間の一定の往復遅延を提供する。例えば、マルチプレクサ２３０がレートメッセージを送信したときと、マルチプレクサ２３０が対応するビットレートを有するデータを出力ストリーム２３５に配置したときとの間の遅延は、一定であり、ｄｅｌａｙｍｕｘ，ｅｎｃ＋ｏｆｆｓｅｔｍａｘ＋＋ｄｅｌａｙｐｒｏｃｅｓｓｉｎｇ＋ｄｅｌａｙｅｎｃ，ｍｕｘ＋ｏｆｆｓｅｔｍａｘ−である。ここで、ｄｅｌａｙｐｒｏｃｅｓｓｉｎｇは、エンコーダ２１０がレートメッセージを処理したときと、エンコーダ２１０がレートメッセージからのレート情報を使用してデータを伝送したときとの間の決定性遅延である。一実施態様でも同様に、他の決定性遅延がありうる。各エンコーダとマルチプレクサ２３０との間のラウンドトリップ遅延は、一定になりうるので、マルチプレクサ２３０は、実質的に同時にリクエストしたレートで、全てのエンコーダにレートメッセージを送信して、エンコーダからデータを受信することができる。これによって、マルチプレクサ２３０は、オーバーサブスクライブまたはアンダーサブスクライブせずに、全てのエンコーダからのデータを一定のビットレートの出力ストリーム２３５に組み合わせることが可能になる。
【００３９】
１つの可能なタイムスタンプスキームを上述したが、他のスキームも可能である。例えば、メッセージを伝送するコンポーネントは、伝送コンポーネントの時間ベースによって示されるように、メッセージが送信された時間で、そのメッセージにタイムスタンプすることができる。受信コンポーネントは、最大オフセットおよび最大ネットワーク遅延に基づいて、受信コンポーネントの時間ベースによって示される、メッセージを処理すべき時間を決定するために調整を行うことができる。一実施態様では、マルチプレクサまたはエンコーダは、最大オフセットおよび最大ネットワーク遅延に対する全てのタイムスタンプを調整することができる。一実施態様では、タイムスタンプは、メッセージが伝送された時間に関する情報の代わりに、またはこれとともに、受信コンポーネントがメッセージを処理すべき時間に関する、伝送コンポーネントの時間ベースで表される情報を含むことができる。一実施態様では、通信システムにおける処理遅延または他の遅延を補うために、更なる定数または変数を追加することができる。
【００４０】
図２および図３を参照する。図３は、確率的ネットワークを通じてメッセージを同期化させるためのプロセス３００を示す。エンコーダ（例、エンコーダ２１０）の時間は、最大オフセットの範囲内で、マルチプレクサ（例、マルチプレクサ２３０）の時間と同期化される（ステップ３１０）。これらの時間は、例えば、ＰＬＬ、ネットワークタイムプロトコルの変動、統計的手法、決定性ネットワーク（例、パブリック電話システム）を通じた通信、または全地球測位システム（ＧＰＳ）信号を使用して同期化させることができる。エンコーダの時間がマルチプレクサの時間に同期化されると、エンコーダの時間は、一般に、通常の動作中は、マルチプレクサの時間の最大オフセットの範囲内にとどまる。エンコーダの時間とマルチプレクサの時間との間のオフセットが、最大オフセットを超えた場合、これらの時間を再同期化させることができる。
【００４１】
エンコーダの入力時に、信号の複雑さに関する情報を含む複雑性メッセージを、状況に応じてマルチプレクサに伝送することができる（ステップ３２０）。複雑性メッセージを伝送する場合、複雑性メッセージによって、マルチプレクサは、以降のレートの割り当てについて、より良好な決定を行うことが可能になる。マルチプレクサは、エンコーダにタイムスタンプを含むレートメッセージを伝送する（ステップ３３０）が、これは、将来のデータを伝送すべきレートに関する情報を含むことができる。複雑性メッセージを含む実施態様では、複雑性メッセージが生成されたデータに、その後レート情報を適用することができる。レートメッセージのタイムスタンプは、適切な時間にレートメッセージを処理するために、エンコーダが使用することができる。レートメッセージのタイムスタンプはまた、エンコーダの時間とマルチプレクサの時間との間の同期化を保持するために使用することもできる。
【００４２】
エンコーダは、レートメッセージを受信して、出力する符号化データのデータレートを調整する（ステップ３４０）。例えば、エンコーダは、エンコーダの入力信号に適用された圧縮レベルを調整することによって、またはエンコードプロセスの複雑さを変化させることによって出力データレートを調整することができる。エンコーダは、エンコーダの時間が、レートメッセージのタイムスタンプを使用して決定された時間と一致したときに、出力データレートを変更することができる。または、エンコーダは、エンコーダの時間が、レートメッセージのタイムスタンプに含まれる時間と一致したときに、対応するデータレートをキューに入れることができる。一実施態様では、レートメッセージのタイムスタンプは、レートメッセージが送信された時間に関する情報を含み、エンコーダは、レートメッセージが送信された時間に、ネットワーク遅延と最大オフセットを加えることによって決定された時間において、レートメッセージを処理する。別の実施態様では、レートメッセージのタイムスタンプは、エンコーダが、レートメッセージを処理すべき時間を含む。この実施態様では、タイムスタンプは、ネットワーク遅延および最大オフセットに関する情報を含むことができる。
【００４３】
エンコーダは、調整したデータレートを使用して、マルチプレクサにタイムスタンプを含むデータメッセージを伝送する（ステップ３５０）。マルチプレクサは、データメッセージを受信して、それに含まれるデータを処理する（ステップ３６０）。マルチプレクサは、いつデータメッセージからのデータを出力ストリームに配置するのかを決定するために、データメッセージのタイムスタンプを使用することができる。一実施態様では、類似したタイムスタンプを有する（例えば、それぞれのエンコーダによって同じような時間に伝送された）複数のエンコーダからのデータメッセージは、互いに出力ストリームに配置することができる。別の実施態様では、タイムスタンプは、ネットワーク遅延および最大オフセットに関する情報を含み、いつ、どのマルチプレクサが、出力ストリームに、対応するデータを配置すべきかを示す。さらに別の実施態様では、タイムスタンプは、データメッセージが送信された時間を示し、マルチプレクサは、出力ストリームのデータをいつ配置するのかを決定するために、このタイムスタンプと、ネットワーク遅延および最大オフセットに関する情報とを使用する。
【００４４】
プロセス３００は、マルチプレクサおよびエンコーダとの関連で説明したが、プロセス３００は、コンポーネントが確率的ネットワークを通じて通信する多様な状況において使用することができる。加えて、説明ではレートメッセージおよびデータメッセージを例証的に使用したが、プロセス３００を使用して、多様なタイプのメッセージを同期化させることができる。
【００４５】
本発明の複数の実施態様を説明した。それでも、本発明の精神と範囲から逸脱することなく、種々の変更を行うことが可能であると理解されよう。例えば、時間ベースの同期化および／またはタイムスタンプは、別個のコンポーネントによって行うことができる。例えば、ＰＬＬ２１８およびタイムスタンプ手段（例、データパケットにタイムスタンプを付加するバッファ）は、エンコーダ２１０から分離させることができる。したがって、従来のエンコーダは、確率的ネットワークとインターフェースするために改造することができる。一実施態様では、レート制御（レート制御ユニット２３４）は、物理的にマルチプレクサ２３０の一部ではない。レート制御ユニット２３４は、例えば、ネットワーク２２０または別個の通信リンクを使用して、マルチプレクサ２３０と通信することができる。したがって、他の実施態様は、以下の特許請求の範囲内にある。
【図１】
0005503570.tif 000002
【図２】
0005503570.tif 000003
【図３】
0005503570.tif 000004
【図４Ａ】
0005503570.tif 000005
【図４Ｂ】
0005503570.tif 000006