(57)【特許請求の範囲】
【請求項１】
パケットをカプセル化する方法であって、
キューを有するカプセル化装置において複数のパケットを受信するステップと、
前記複数のパケットの一部がカプセル化されるまで、該パケットの一部の各パケットに対し、
前記キューにパケットを蓄積するステップと、
前記キューに蓄積された１以上のパケットに関連する現在のカプセル化効率を決定するステップと、
前記キューに蓄積された１以上のパケットと予測された次のパケットに関する次のカプセル化効率を予測するステップと、
前記現在のカプセル化効率がカプセル化効率閾値を満たし、かつ前記次のカプセル化効率より高い場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと、
を繰り返すステップと、
前記カプセル化されたパケットからセクションを生成するステップと、
から構成されることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、
前記繰り返すステップはさらに、
前記キューに蓄積された１以上のパケットに関するセクションサイズを決定するステップと、
前記セクションサイズが最大セクションサイズを満たす場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと、
を有することを特徴とする方法。
【請求項３】
請求項１記載の方法であって、
前記繰り返すステップはさらに、
前記パケットと次のパケットに関連する遅延を予測するステップと、
前記遅延がジッタ要求を満たさない場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと、
を有することを特徴とする方法。
【請求項４】
請求項１記載の方法であって、
前記カプセル化効率性閾値は、最小カプセル化効率から構成されることを特徴とする方法。
【請求項５】
請求項１記載の方法であって、
前記現在のカプセル化効率は、前記キューに蓄積された１以上のパケットを有する予測されたセクションに関連するペイロードバイトのバイト数の前記１以上のパケットを有する予測されたセクションの合計バイト数に対する比から構成されることを特徴とする方法。
【請求項６】
請求項１記載の方法であって、
前記次のカプセル化効率を予測するステップは、
次のパケットサイズを予測するステップと、
前記次のパケットサイズに従って前記次のカプセル化効率を計算するステップと、
から構成されることを特徴とする方法。
【請求項７】
請求項１記載の方法であって、
前記次のカプセル化効率を予測するステップは、
自己回帰モデルに従って次のパケットサイズを予測するステップと、
前記次のパケットサイズに従って前記次のカプセル化効率を計算するステップと、
から構成されることを特徴とする方法。
【請求項８】
請求項１記載の方法であって、さらに、
前記セクションの少なくとも一部を有するセルを構成するステップを有することを特徴とする方法。
【請求項９】
請求項１記載の方法であって、さらに、
前記セクションの少なくとも一部と追加ペイロード容量を有する第１セルを構成するステップと、
次のセクションを有する第２セルを構成するステップと、
を有することを特徴とする方法。
【請求項１０】
請求項１記載の方法であって、さらに、
前記セクションの第１部分と次のセクションの第２部分とを有するセルを構成するステップを有することを特徴とする方法。
【請求項１１】
請求項３記載の方法であって、
前記パケットと次のパケットに関連する遅延を予測するステップは、
前記パケットの第１到着時間と第１出発時間とを記録するステップと、
次のパケットの第２到着時間を記録するステップと、
前記次のパケットの第２出発時間を予測するステップと、
前記第１出発時間と前記第２出発時間との間の第１の差を生成するステップと、
前記第１到着時間と前記第２到着時間との間の第２の差を生成するステップと、
前記第１の差と前記第２の差に従って前記遅延を予測するステップと、
から構成されることを特徴とする方法。
【請求項１２】
請求項３記載の方法であって、
前記ジッタ要求は、最大ジッタ要求から構成されることを特徴とする方法。
【請求項１３】
パケットをカプセル化するシステムであって、
複数のパケットを受信するよう動作可能なキューと、
前記キューに接続され、前記複数のパケットの一部がカプセル化されるまで、該パケットの一部の各パケットに対し、
前記キューにパケットを蓄積し、
前記キューに蓄積された１以上のパケットに関連する現在のカプセル化効率を決定し、
前記キューに蓄積された１以上のパケットと予測された次のパケットに関する次のカプセル化効率を予測し、
前記現在のカプセル化効率がカプセル化効率閾値を満たし、かつ前記次のカプセル化効率より高い場合、前記キューに蓄積された１以上のパケットをカプセル化すること、
を繰り返し、前記カプセル化されたパケットからセクションを生成するよう動作可能なプロセッサと、
から構成されることを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムであって、さらに、
前記キューから複数のセルを受信するよう動作可能であり、第１優先度に関連する少なくとも１つのリアルタイムバッファを有する少なくとも１つのバッファと、
前記少なくとも１つのバッファから前記複数のセルのフローを制御し、前記少なくとも１つのリアルタイムバッファから受信した複数のセルに優先度を与えるよう動作可能なスケジューラと、
を有することを特徴とするシステム。
【請求項１５】
請求項１３記載のシステムであって、
前記プロセッサは、
前記キューに蓄積された１以上のパケットに関連するセクションサイズを決定し、
前記セクションサイズが最大セクションサイズを満たす場合、前記キューに蓄積された１以上のパケットをカプセル化する、
よう動作可能であることを特徴とするシステム。
【請求項１６】
請求項１３記載のシステムであって、
前記プロセッサは、
前記パケットと次のパケットに関する遅延を予測し、
前記遅延がジッタ要求を満たさない場合、前記キューに蓄積された１以上のパケットをカプセル化する、
よう動作可能であることを特徴とするシステム。
【請求項１７】
請求項１３記載のシステムであって、
前記カプセル化効率性閾値は、最小カプセル化効率から構成されることを特徴とするシステム。
【請求項１８】
請求項１３記載のシステムであって、
前記現在のカプセル化効率は、前記キューに蓄積された１以上のパケットを有する予測されたセクションに関連するペイロードバイトのバイト数の前記１以上のパケットを有する予測されたセクションの合計バイト数に対する比から構成されることを特徴とするシステム。
【請求項１９】
請求項１３記載のシステムであって、
前記プロセッサは、
次のパケットサイズを予測し、
前記次のパケットサイズに従って前記次のカプセル化効率を計算する、
よう動作可能であることを特徴とするシステム。
【請求項２０】
請求項１３記載のシステムであって、
前記プロセッサは、
自己回帰モデルに従って次のパケットサイズを予測し、
前記次のパケットサイズに従って前記次のカプセル化効率を計算する、
よう動作可能であることを特徴とするシステム。
【請求項２１】
請求項１３記載のシステムであって、
前記プロセッサは、
前記セクションの少なくとも一部を有するセルを構成するよう動作可能であることを特徴とするシステム。
【請求項２２】
請求項１３記載のシステムであって、
前記プロセッサは、
前記セクションの少なくとも一部と追加ペイロード容量を有する第１セルを構成し、
次のセクションを有する第２セルを構成する、
よう動作可能であることを特徴とするシステム。
【請求項２３】
請求項１３記載のシステムであって、
前記プロセッサは、前記セクションの第１部分と次のセクションの第２部分とを有するセルを構成するよう動作可能であることを特徴とするシステム。
【請求項２４】
請求項１５記載のシステムであって、
前記プロセッサは、
前記パケットの第１到着時間と第１出発時間とを記録し、
次のパケットの第２到着時間を記録し、
前記次のパケットの第２出発時間を予測し、
前記第１出発時間と前記第２出発時間との間の第１の差を生成し、
前記第１到着時間と前記第２到着時間との間の第２の差を生成し、
前記第１の差と前記第２の差に従って前記遅延を予測する、
よう動作可能であることを特徴とするシステム。
【請求項２５】
請求項１６記載のシステムであって、
前記ジッタ要求は、最大ジッタ要求から構成されることを特徴とするシステム。
【請求項２６】
パケットをカプセル化するシステムであって、
複数のパケットを受信する手段と、
前記キューに接続され、前記複数のパケットの一部がカプセル化されるまで、該パケットの一部の各パケットに対し、
前記キューにパケットを蓄積し、
前記キューに蓄積された１以上のパケットに関連する現在のカプセル化効率を決定し、
前記キューに蓄積された１以上のパケットと予測された次のパケットに関する次のカプセル化効率を予測し、
前記現在のカプセル化効率がカプセル化効率閾値を満たし、かつ前記次のカプセル化効率より高い場合、前記キューに蓄積された１以上のパケットをカプセル化すること、
を繰り返す手段と、
前記カプセル化されたパケットからセクションを生成する手段と、
から構成されることを特徴とするシステム。
【請求項２７】
パケットをカプセル化する方法であって、
キューを有するカプセル化装置において複数のパケットを受信するステップと、
前記複数のパケットの一部がカプセル化されるまで、該パケットの一部の各パケットに対し、
前記キューにパケットを蓄積するステップと、
前記キューに蓄積された１以上のパケットに関連する現在のカプセル化効率を決定するステップと、
前記キューに蓄積された１以上のパケットに関するセクションサイズを決定するステップと、
前記セクションサイズが最大セクションサイズを満たす場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと、
前記キューに蓄積された１以上のパケットと予測された次のパケットに関する次のカプセル化効率を予測するステップと、
前記現在のカプセル化効率が最小カプセル化効率を満たし、かつ前記次のカプセル化効率より高い場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと、
前記パケットと次のパケットに関連する遅延を予測するステップと、
前記遅延が最大ジッタ要求を満たさない場合、前記キューに蓄積された１以上のパケットをカプセル化するステップと
を繰り返すステップと、
前記カプセル化されたパケットからセクションを生成するステップと、
前記セクションの少なくとも一部を有するセルを構成するステップと、
から構成され、
前記現在のカプセル化効率は、前記キューに蓄積された１以上のパケットを有する予測されたセクションに関連するペイロードバイトのバイト数の前記１以上のパケットを有する予測されたセクションの合計バイト数に対する比から構成されることを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の技術分野］
本発明は、データ通信技術に関し、より詳細には、可変サイズのパケットをカプセル化する方法及びシステムに関する。
【０００２】
［発明の背景］
通信システムにおけるパケットのカプセル化は、カプセル化のため待機するパケットをバッファリングするための複数のキューの利用を伴う。しかしながら、パケット遅延変動と呼ばれるように、異なるキューにあるパケットはカプセル化が行われる前に異なる待機時間を有するかもしれない。パケット遅延変動は、通信システムに望ましくないジッタを招くかもしれない。さらに、既知の技術によるカプセル化は、通信チャネルの次善的に帯域幅を使用させるかもしれない。さらに、インターネットプロトコル（ＩＰ）トラフィックに関するパケットは、可変サイズのデータグラムを含み、このことは最適な帯域幅の使用に対しカプセル化に影響を及ぼすかもしれない。従って、ジッタの制御及び帯域幅の利用性向上と同時に、パケットをカプセル化することは、困難な課題である。
【０００３】
［発明の概要］
本発明によると、データ通信における可変サイズパケットのカプセル化を行うための従来技術に関する不都合及び問題点が軽減または解消されるかもしれない。
【０００４】
一実施例によると、パケットのカプセル化は、カプセル化装置のキューにおけるパケットの受信を含む。ある基準が満たされるまで、以下の処理が繰り返される。いくつかのパケットがキューに蓄積される。蓄積されたパケットに関する現在のカプセル化の効率性が決定される。次のパケットの到着時間、予測されるサイズ及び蓄積されているパケットに関する次のカプセル化の効率性が決定される。現在のカプセル化の効率がカプセル化効率性閾値を満たし、かつ現在のカプセル化効率性が次のカプセル化効率性より高い場合、蓄積されているパケットがカプセル化される。
【０００５】
本発明の実施例は１以上の技術的効果を提供するかもしれない。一実施例の１つの技術的効果は、効率性を維持しながら、ジッタを制御するため、予測されるジッタ及び現在のカプセル化の効率に応じてカプセル化セクションのサイズが調整されるというものであるかもしれない。蓄積されているパケットがカプセル化効率性閾値を満たす場合、遅延ジッタを制御しながら効率性を維持するようパケットはカプセル化されるかもしれない。一実施例の他の技術的効果は、予測されるパケットの受信に関する遅延が決定され、当該遅延がジッタ要求を満たす場合、蓄積されているパケットがジッタを制御するようカプセル化されるというものであるかもしれない。一実施例のさらなる技術的効果は、カプセル化セクションのパケットがジッタを改善するようセルに構成されるというものであるかもしれない。このカプセル化セクションは、セルの無駄な容量または追加的容量が回避されるように、セルに構成されてもよい。
【０００６】
本発明の実施例は、上記技術的効果の何れも含まないかもしれないし、あるいはその一部またはすべてを含むかもしれない。他の１以上の技術的効果は、ここに含まれる請求項、説明及び図面から当業者には容易に明らかとなるであろう。
【０００７】
［発明の詳細な説明］
図１は、カプセル化セクションを構成するパケットをカプセル化するためのシステム１０を示す。システム１０は、ジッタ要求を満たしながら、高いカプセル化効率を実現するよう当該セクションのサイズを調整する。一般に、大きなセクションのカプセル化は、ジッタを増大させる。しかしながら、ジッタを減少させながら小さなセクションをカプセル化することは、効率性を低下させる。システム１０は、ジッタ及び効率性を予測し、効率性を維持しながらジッタを減少させるため、カプセル化セクションのサイズを調整する。
【０００８】
システム１０は、リアルタイムフロー１５と非リアルタイムフロー２０からパケットを受信し、受信したパケットをカプセル化することによりカプセル化セクションを構成し、これらのカプセル化セクションをセルに構成し、当該セルを受信機７０に送信する。パケットは、異なるサイズまたは可変サイズのパケットのデータグラムに関連するかもしれない。例えば、パケットは、任意の適切なサイズを有するデータグラムまたはＩＰパケットから構成されるかもしれない。一般に、セルは固定サイズのデータパケットに関するものであるかもしれない。例えば、セルはＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−２パケットから構成されるかもしれない。固定または可変サイズの他の任意の適切なパケットが、本発明の概念から逸脱することなくセルに構成されるかもしれない。
【０００９】
リアルタイムフロー１５はリアルタイムトラフィックを送信し、非リアルタイムフロー２０は非リアルタイムトラフィックを送信する。一実施例によると、リアルタイムフロー１５は、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）などの音声データやビデオオンデマンド（ＶＯＤ）データなどの任意の遅延感応的トラフィックから構成される。非リアルタイムフロー２０は、ＩＰデータなどの任意の遅延耐性トラフィックを有するかもしれない。音声トラフィックな他のリアルタイムトラフィックなどの他のタイプの遅延感応的トラフィックを送信するフローが、リアルタイムフロー１５の代わりに、あるいはそれに加えて利用されてもよい。
【００１０】
システム１０は、例えば、ＭＰＥＧ−２またはＭＰＥＧ−４映像トラフィック、ＶｏＩＰまたはＩＰパケットトラフィックなどの任意の適切なタイプのトラフィックを受信するかもしれない。トラフィックは、ジッタ耐性に従って分類されてもよい。一実施例によると、ジッタ耐性を有するトラフィックは非リアルタイムトラフィックから構成され、ジッタ耐性を有さないトラフィックはリアルタイムトラフィックから構成される。しかしながら、ジッタ耐性トラフィックは、任意の適切な定義による「ジッタ耐性」によりジッタ耐性を有する任意のトラフィックから構成され、ジッタ非耐性トラフィックはジッタ耐性を有さない任意のトラフィックから構成されるかもしれない。例えば、ジッタ非耐性トラフィックは、音声トラフィックを含むかもしれない。
【００１１】
システム１０は、リアルタイムフロー単位キュー４０、非リアルタイムフロー単位キュー３０及びプロセッサ８０を有する。リアルタイムフロー単位キュー４０は、リアルタイムフロー１５からのリアルタイムトラフィックをバッファリングし、非リアルタイムフロー単位キュー３０は、非リアルタイムフロー２０からの非リアルタイムトラフィックをバッファリングする。各リアルタイムフロー単位キュー４０ａは、リアルタイムフロー１５からリアルタイムフロー単位キュー４０ａに対応するリアルタイムフロー１５ａを受信する。同様に、各非リアルタイムフロー単位キュー３０ａは、非リアルタイムフロー単位キュー３０ａに関連する非リアルタイムフロー２０ａを受信する。当該文献で使用される「各」とは、集合の各要素または当該集合の部分集合の各要素を表す。任意数ｎｖのリアルタイムフロー１５が使用されてもよく、任意の適切な個数のリアルタイムフロー単位キュー４０ｎｖと非リアルタイムフロー単位キュー３０ｎｄが使用されてもよい。一実施例によると、音声トラフィックや他のリアルタイムトラフィックなどの他のタイプのトラフィックをキュー処理するキューが、リアルタイムフロー単位キュー４０または非リアルタイムフロー単位キュー３０の代わりに、あるいはそれに加えて利用されてもよい。
【００１２】
プロセッサ８０は、入力パケットがリアルタイムフロー単位キュー４０に受信されると開始されるカプセル化プロセスを管理する。プロセッサ８０は、リアルタイムフロー単位キュー４０に蓄積されたパケットが最大セクションサイズのカプセル化セクションを構成しているか判断する。当該パケットが最大セクションサイズのカプセル化セクションを構成しない場合、プロセッサ８０は、蓄積されたパケットの現在のカプセル化効率性がカプセル化効率性閾値を満足するか判断する。プロセッサ８０は、現在のカプセル化効率性が次のパケットを待機させることにより改善されるか判断するため、次のパケットサイズを予測するようにしてもよい。プロセッサ８０はまた、次のパケットを待機させることによりジッタ要求が満たされなくなるか判断するため、次のパケットの到着時間を予測するようにしてもよい。プロセッサ８０は、対応するリアルタイムフロー単位キュー４０においてカプセル化されるセクションのサイズを調整し、カプセル化されるセクションから構成されるセル数を調整するようにしてもよい。さらに、プロセッサ８０は、セクション及びセルを構成するようカプセル化される非リアルタイムフロー単位キュー３０から受信するパケット数を調整するようにしてもよい。
【００１３】
キュー４０及び３０からのカプセル化セクションは、セルに構成される。リアルタイムカプセル化セクションのセルは、共通のリアルタイムバッファ５０にコピーされ、非リアルタイムカプセル化セクションのセルは、共通の非リアルタイムバッファ５５にコピーされる。カプセル化セクションのセルは、当該セルが他のカプセル化セクションのセルによりインタリーブされないように、リアルタイムバッファ５０または非リアルタイムバッファ５５に逐次的にコピーされてもよい。リアルタイムバッファ５０及び非リアルタイムバッファ５５は、先入先出し手順に従ってセルを処理するようにしてもよい。一実施例によると、音声トラフィックや他のリアルタイムトラフィックなどの他のタイプのトラフィックをバッファリングするバッファが、リアルタイムバッファ５０または非リアルタイムバッファ５５の代わりに、あるいはそれに加えて利用されてもよい。
【００１４】
システム１０はまた、リアルタイムバッファ５０からのリアルタイムセルと非リアルタイムバッファ５５からの非リアルタイムセルを出力するスケジューラ６０を有するようにしてもよい。リアルタイムバッファ５０と非リアルタイムバッファ５５において受信されるセルは、優先度順にスケジューラ６０により処理されてもよい。例えば、リアルタイムバッファ５０に関するリアルタイムセルには、リアルタイムバッファ５０が空である場合のみ、非リアルタイムバッファ５５からの非リアルタイムセルが送信されるように、非リアルタイムバッファ５５に関連する非リアルタイムセルより高い優先度が割当てられるかもしれない。従って、非リアルタイムバッファ５５は、遅延した非リアルタイムカプセル化セクションを格納するのに十分な大きさとされてもよい。スケジューラ６０はさらに、リアルタイムバッファ５０と非リアルタイムバッファ５５から受信機７０にセルを送信するようにしてもよい。他の任意の適切な優先度スケジューリングスキームが、リアルタイムバッファと非リアルタイムバッファとの間の調停を行うのに利用されてもよい。
【００１５】
要約すると、システム１０は、カプセル化セクションを構成するためパケットをカプセル化する。各リアルタイムフロー単位キュー４０においてカプセル化されるパケット数は、効率性を維持しながらジッタを低減する目的によるカプセル化効率性閾値及びジッタ要求に応じて調整される。カプセル化セクションは、セルに構成される。カプセル化セクションからセルを構成する一実施例が、図２を参照して説明される。セルフローが受信機７０に送信されてもよい。セルフローの一実施例が、図３を参照して説明される。パケットをカプセル化するときを判断するための方法が、図４を参照して説明される。カプセル化セクションからセルを構成する他の実施例が、図５を参照して説明される。セルフローの他の実施例が、図６を参照して説明される。
【００１６】
図２は、カプセル化セクション２００からセル２５０を構成する一実施例を示す。一実施例によると、カプセル化セクション２００は、マルチプロトコルカプセル化（ＭＰＥ）セクションから構成されてもよい。カプセル化セクション２００は、セクションヘッダ２１０、セクションデータ２１２及びセクションフッタ２１４を有する。セクションヘッダ２１０は、例えば、デジタル映像配信（ＤＶＢ）マルチプロトコルカプセル化（ＭＰＥ）ヘッダデータを有するようにしてもよい。セクションヘッダ２１０はまた、例えば、デジタルストレージメディアコマンド及びコントロール（ＤＳＭ−ＣＣ）ヘッダデータを有するようにしてもよい。セクションデータ２１２は、パケット２１６を有する。一実施例によると、各パケット２１６は、ＩＰパケットまたはデータグラムから構成されてもよい。セクションフッタ２１４は、例えば、誤り訂正符号を有するようにしてもよい。一実施例によると、例えば、セクションヘッダ２１０が２０バイトを有し、セクションフッタ２１４が４バイトを有する一方、データグラムサイズは可変である。
【００１７】
一実施例によると、カプセル化セクション２００は、セル２５０に構成されてもよい。各セル２５０は、セルヘッダ２２０、ペイロード２４０及びセルフッタ２３０を有する。セルヘッダ２２０は、例えば、ＭＰＥＧ−２パケットヘッダデータを有するかもしれない。セルフッタ２３０は、例えば、ＭＰＥＧ−２パケットフッタデータを有するようにしてもよい。ペイロード２４０は、一実施例によると、１８４バイトを有するＭＰＥＧ−２パケットを有するのものであってもよい。
【００１８】
一実施例によると、カプセル化セクション２００は、１以上の連続するセル２５０に構成されてもよい。図示された例では、セル２５０ａはセクション２００の第１部分によりロードされ、次のセル２５０ｂはセクション２００の連続する部分によりロードされ、セル２５０ｃはセクション２００の最後の部分によりロードされてもよい。一般に、セル２５０は、カプセル化セクション２００が１以上のセル２５０に分割されるまで、連続的に構成されてもよい。一実施例によると、カプセル化セクション２００の最後の部分によりロードされたセル２５０は、追加容量２８０を有するようにしてもよい。図示された例では、セクションデータ２１６ｃとセクションフッタ２１４から構成されるカプセル化セクション２００の最後の部分２４５は、ペイロード２４０ｃのロードされた部分を構成するようセル２５０ｃのペイロードにロードされる。この最後の部分２４５は、ペイロードの容量を満たさないため、セル２５０ｃは追加容量２８０を有する。しかしながら、セル２５０は、他の任意の適切な方法により構成されてもよい。例えば、セル２５０を構成する他の実施例が、図５および６を参照することにより説明される。
【００１９】
図３は、図２を参照して説明されるように、セル２５０を構成することから生じるセルフロー３００の一実施例を示す。一般に、セルフロー３００は、連続的、逐次的あるいは他の同様の方法により順序付けされたセル２５０を有するかもしれない。一実施例によると、各セル２５０は、ＩＰセルやデータグラム２４０などを含むかもしれない。図示された例では、データグラム２４０ｃに関するセル２５０ｃの最後の部分に、データグラム２４０ｄに関連するセル２５０ｄの第１部分が従う。一実施例によると、セル２５０ｃは、追加要領２８０を有するかもしれない。追加容量２８０は、図２に示されるようなセルを構成することから生じるものであるかもしれない。図示された例では、追加容量２８０を有するセルフロー３００は、遅延３５０の原因となるかもしれない。セルフロー３００で発生する遅延３５０やジッタは、最後のＩＰデータグラム２４０ｃと次のＩＰデータグラム２４０ｄとの間で経過する時間として計算されてもよい。セルフロー３００は、例えば、図５及び６を参照して説明されるような追加容量２８０の排除などの他の任意の適切な方法により構成されるかもしれない。
【００２０】
図４は、ＩＰパケットをカプセル化する方法の一実施例を示すフローチャートである。以下のパラメータが、図４を参照して示される例において説明される計算を実行するのに利用されてもよい。
【００２１】
【表１】
0004473733.tif 000002
図示された方法では、パケットは、リアルタイムフロー１５と非リアルタイムフロー２０からフロー単位キュー４０と３０において受信される。一例として、リアルタイムフロー１５ａのパケットが、リアルタイムフロー単位キュー４０ａにより受信される。図４の実施例の説明では、「フロー単位キュー」という用語は、リアルタイムフロー単位キュー４０または非リアルタイムフロー単位キュー３０を表す。
【００２２】
本方法は、フロー単位キューがパケットを受信するステップ４００において開始される。その後、本方法はステップ４０２に移行し、受信パケットを含むカプセル化セクションのサイズがカプセル化セクションの最大バイト数Ｑｍａｘと比較される。カプセル化セクションのサイズは、フロー単位キューに格納されている１以上のパケットの合成されたサイズを記述している。一実施例によると、最大バイト数Ｑｍａｘは、４０８０バイトであってもよい。カプセル化セクションのサイズがフロー単位キューに関する最大バイト数Ｑｍａｘを超える場合、本方法はパケットをカプセル化するためステップ４１６に移行する。
【００２３】
カプセル化セクションのサイズがフロー単位キューに関する最大バイト数Ｑｍａｘを満たさない場合、本方法はステップ４０４に移行し、フロー単位キューに蓄積されている１以上のパケットの現在のカプセル化効率η（χ）が第１閾値を満足するか判断する。一般に、ステップ４０４では、現在のカプセル化効率η（χ）がリアルタイムカプセル化効率性閾値ηｒｔまたは非リアルタイムカプセル化効率性閾値ηｎｒｔを満足するか判断される。一実施例によると、現在のカプセル化効率性は、例えば、フロー単位キューに蓄積されている１以上のパケットを有するカプセル化セクションに関するχバイトのペイロードバイトのカプセル化セクションの合計バイト数に対する比として定義されてもよい。一実施例によると、ペイロードバイトは、カプセル化セクションを生成するＩＰトラフィックバイトを表す。従って、現在のカプセル化効率は、式（１）により記述されるかもしれない。
【００２４】
【数１】
0004473733.tif 000003
ただし、
【００２５】
（外１）
0004473733.tif 000004
はシーリング関数である。式（１）を参照するに、ペイロードバイトのバイト数χの値が大きくなるほど、現在のカプセル化効率η（χ）は高くなる。しかしながら、このトレンドは、セルの未使用バイトのパディングのため単調ではないかもしれない。例えば、一実施例の最適効率ηｏｐｔは、式（２）に示されるように、χ＝Ｓｏｐｔ＝４０２４バイトであるとき実現される。
【００２６】
【数２】
0004473733.tif 000005
一実施例によると、リアルタイムカプセル化効率性閾値ηｒｔと非リアルタイムカプセル化効率性閾値ηｎｒｔはそれぞれ、対応するリアルタイムフロー単位キューまたは非リアルタイムフロー単位キューに関する所定のカプセル化効率である。カプセル化効率性閾値は、最小の許容されるカプセル化効率を表すものであってもよい。例えば、閾値ηｒｔの値は、約８０％に設定されてもよい。ステップ４０４を概略すると、フロー単位キューで受信されるパケットに対する現在のカプセル化効率η（χ）は、式（１）から取得される。カプセル化効率性閾値が満足されたか判断するため、現在のカプセル化効率η（χ）は、カプセル化効率性閾値と比較される。現在のカプセル化効率がステップ４０４におけるカプセル化効率性閾値を満足しない場合、本方法は次のパケットを待機するためステップ４２０に移行する。
【００２７】
現在のカプセル化効率がステップ４０４においてカプセル化効率閾値を満足する場合、本方法はステップ４０６および４０８に移行し、次のカプセル化効率と次のパケット到着時間を予測する。一実施例によると、次のカプセル化効率は、フロー単位キューに蓄積される予測された次のパケットを含む１以上のパケットと関連付けされてもよい。図示された例では、次のカプセル化効率の予測は、次のパケットサイズを予測することからなる。次のパケット到着時間が、遅延を予測するため計算される。
【００２８】
一実施例によると、例えば、再帰処理を利用して、ステップ４０６と４０８は計算される。他の実施例によると、次のパケットと次のパケットの到着時間の予測が、次のパケットサイズ及び次のパケット到着時間の予測される値を生成するのに適した他の任意の処理または繰り返し処理により取得されてもよい。
【００２９】
例えば、ステップ４０６と４０８は、以下の方法により実行されてもよい。ステップ４０６における次のカプセル化効率を計算するのに利用される予測される次のパケットサイズＳｉ（ｊ）は、第ｉフローの第ｊパケットのバイトサイズに関連付けされてもよい。同様に、予測される次のパケット到着時間Ｔｉ（ｊ）は、第ｉキューフローの第ｊパケット到着時間に関連付けされる。Ｔｉ（ｊ）及びＳｉ（ｊ）の指数的加重移動平均（ＥＭＷＡ）はそれぞれ、式（３）及び（４）により与えられるμｉｎｔｅｒ（ｉ，ｊ）とμｓｉｚｅ（ｉ，ｊ）として定義されてもよい。
【００３０】
【数３】
0004473733.tif 000006
ただし、ｆｆｉｎｔｅｒとｆｆｓｉｚｅは、移動平均の推定における適応度を決定する忘却要素である。
【００３１】
一実施例によると、ステップ４０６において計算された次のカプセル化効率と、ステップ４０８において計算された次のパケット到着時間の予測には、自己回帰モデルによるシーケンスのモデル化が含まれるかもしれない。図示された例では、到着時間シーケンスは、
τｉ（ｊ）≡Ｔｉ（ｊ）−μｉｎｔｅｒ（ｉ，ｊ）
を定義することによりモデル化され、パケットサイズシーケンスは、
ｓｉ（ｊ）≡Ｓｉ（ｊ）−μｓｉｚｅ（ｉ，ｊ）
を定義することによりモデル化されてもよい（ただし、τｉ（ｊ）とｓｉ（ｊ）はそれぞれ、正規化された平均をゼロとするパケット間到着時間とサイズを示す）。従って、一実施例によると、各ｉに対して、シーケンス（τｉ（ｊ）：ｊ＝１，２，．．．）と（ｓｉ（ｊ）：ｊ＝１，２，．．．）は、式（５）及び（６）により表されるような時間可変係数によるオーダ１の自己回帰モデル（ＡＲ（１））に従い取得されてもよい。
【００３２】
【数４】
0004473733.tif 000007
ただし、αｉ（ｋ）とβｉ（ｋ）は時間可変係数であり、｛ε（ｊ）：ｊ＝１，２，．．．｝はノイズ過程の独立な一様分布ゼロ平均ランダム変数のシーケンスであり、σｉとζｉはノイズ過程の分散関連係数である。任意の自己回帰技術を用いて、シーケンスのモデル化が行われてもよい。
【００３３】
前述のように、次のパケットＳｉ（ｊ）の予測されたサイズと予測された次のパケット到着時間Ｔｉ（ｊ）がそれぞれ、ステップ４０６と４０８において決定される。第ｉフロー単位キューフロー（ただし、ｉ＝１，２，．．．，ｎｖ）とｊ個のパケット（ただし、ｊ＝１，２，．．．，ｍであり、ｍはカプセル化装置に到着した直近のパケットのインデックスである）に対し、再帰処理のｒステップ中のｊ＞ｍに対するＴｉ（ｊ）とＳｉ（ｊ）の予測された値はそれぞれ、式（７）及び（８）により表される。
【００３４】
【数５】
0004473733.tif 000008
ただし、調整された係数
【００３５】
（外２）
0004473733.tif 000009
は、式（９）と（１０）により表されるような平均二乗誤差を最小化することにより取得される。
【００３６】
【数６】
0004473733.tif 000010
前述のように、図示された方法は、再帰処理を利用してもよい。一実施例によると、調整された係数
【００３７】
（外３）
0004473733.tif 000011
は、次のパケット到着時間を予測する必要があるときはいつでも、再帰的に生成されてもよい。ステップ４０８において呼び出される次のパケット到着時間を予測するため、
【００３８】
（外４）
0004473733.tif 000012
の値は、式（１１）及び（１２）により定義されるような再帰変数Ｙｉ（ｋ）とＺｉ（ｋ）を用いて決定されてもよい。
【００３９】
【数７】
0004473733.tif 000013
ただし、ｒステップの予測は、最後の到着時間のｍ番目の測定が利用可能になると、以下の手順を用いて取得されるかもしれない。
【００４０】
【表２】
0004473733.tif 000014
ステップ４０６における次のカプセル化効率の予測は、同様の再帰処理を用いて決定されてもよい。次のカプセル化効率の予測が決定されると、本方法はステップ４１０に移行し、予測された次のカプセル化効率が式（１）によりステップ４０４において以前に決定された現在のカプセル化効率を超えているか判断する。次のカプセル化効率が現在のカプセル化効率を下回る場合、本方法はステップ４１６に移行し、フロー単位キューに蓄積されたパケットをカプセル化する。
【００４１】
次のカプセル化効率が現在のカプセル化効率より高い場合、本方法はステップ４１２に移行し、次のパケットの受信に関する予想される遅延を決定する。図示された方法では、予想される遅延は、カプセル化装置における第１パケットの遅延と次のパケットの遅延との差の絶対値として定義されてもよい。一実施例によると、第１パケットがカプセル化装置に到着すると、第１パケットの到着時間は、その値が以降または次のパケットの到着時間により更新されるまで注意される。第ｉフローキューのｋ番目のパケットの第１ビットの到着時間は、ｔ（ｉ）ｓｔａｒｔ（ｋ）（ただし、ｋ＝１，２，．．．及びｉ＝１，２，．．．，ｎｖ）により表されてもよい。同様に、第２パケットの第１ビットの到着時間と出発時間は、ｔ（ｉ）ｓｔａｒｔ，１とｔ（ｉ）ｆｉｎｉｓｈ，１により表されてもよい。同様に、第２パケットの第１ビットの到着時間と出発時間は、ｔ（ｉ）ｓｔａｒｔ，２とｔ（ｉ）ｆｉｎｉｓｈ，２により表されてもよい。予想される遅延ｄｉは、式（１３）により定義されるかもしれない。
【００４２】
【数８】
0004473733.tif 000015
ワーストケースでは、ｄｉの計算は、各パケットがフロー単位キューに到着した後に実行されてもよい。
【００４３】
ステップ４１２において遅延ｄｉを決定するプロセスを初期化するため、
ｔ（ｉ）ｓｔａｒｔ，１＝ｔ（ｉ）ｆｉｎｉｓｈ，１＝０及びｔ（ｉ）ｓｔａｒｔ，２＝ｔ（ｉ）ｓｔａｒｔ，１
とされる。以降において、カプセル化セクションが構成されると、ｔ（ｉ）ｓｔａｒｔ，１の値は、更新され、式（１４）により表されるように、ｔ（ｉ）ｆｉｎｉｓｈ，１を更新するのに用いられる。
【００４４】
【数９】
0004473733.tif 000016
ただし、Ｓ（ｉ）ｔｏｔはフロー単位キューの現在のバイト数であり、Ｓ（ｉ）ｃｕｒｒｅｎｔは第ｉフロー単位キューから到着した直近のパケットのサイズであり、Ｒｉは、第ｉフローの１秒あたりのビット数によるピークレートであり、Ｒｅｎｃａｐは、１秒あたりのビット数によるカプセル化装置のレートであり、ＱＲＴは、ｔ（ｉ）ｆｉｎｉｓｈ，１の計算時点でのリアルタイムフロー単位キュー４０におけるカプセル化されたセルの個数である。一実施例によると、時間ｔ（ｉ）ｆｉｎｉｓｈ，１は、それが第１パケットの最後のビットが到着した時点またはその後に計算される場合、例えば、
ｔ（１）ｓｔａｒｔ，１＋（８Ｓ（ｉ）ｃｕｒｒｅｎｔ/Ｒｉ）
を用いて生成されてもよい。第１パケットを含むカプセル化セクションが構成された後、時間ｔ（ｉ）ｓｔａｒｔ，２の値が更新される。
【００４５】
ステップ４１２における式（１３）の遅延ｄｉの決定には、時間ｔ（ｉ）ｆｉｎｉｓｈ，２の予測が必要とされるかもしれない。時間ｔ（ｉ）ｆｉｎｉｓｈ，２の予測値は、
【００４６】
（外５）
0004473733.tif 000017
として表され、式（１５）により表される。
【００４７】
【数１０】
0004473733.tif 000018
ただし、
【００４８】
【数１１】
0004473733.tif 000019
であり、ＱｐｒｅｄＲＴ（ｔ）は現在時間
【００４９】
（外６）
0004473733.tif 000020
からｔ秒後のリアルタイムバッファ５０における予想されるセル数である。式（１６）の予想されるパケット到着時間
【００５０】
（外７）
0004473733.tif 000021
と予想されるパケットサイズ
【００５１】
（外８）
0004473733.tif 000022
は、前述された式（７）及び（８）から取得されてもよい。
【００５２】
式（１５）に従って予測時間
【００５３】
（外９）
0004473733.tif 000023
を生成するため、リアルタイムバッファ５０の予測されるセル数ＱｐｒｅｄＲＴ（Ｗ（ｉ））は、式（１７）から取得されてもよい。
【００５４】
【数１２】
0004473733.tif 000024
ただし、
【００５５】
（外１０）
0004473733.tif 000025
は、式（１８）〜（２２）により定義されるようなキューｊにおいて蓄積可能な追加バイトのバイト数として表される。
【００５６】
【数１３】
0004473733.tif 000026
ただし、再帰変数ｒ＊は、式（１９）を満たす最大整数であり、
【００５７】
【数１４】
0004473733.tif 000027
ｍ（ｊ）ｌａｓｔは、第ｊキューに到着した直近のパケットのインデックスである。
【００５８】
一実施例によると、再帰変数ｒ＊は、例えば、任意の正の実数ｔに対し式（２０）を満たす最大整数であってもよい。
【００５９】
【数１５】
0004473733.tif 000028
予測時間
【００６０】
（外１１）
0004473733.tif 000029
を取得するため式（７）を利用し、その結果を式（２０）に代入することにより、再帰関数ｒ（ｔ）は、式（２１）により表されるように取得されるかもしれない。
【００６１】
【数１６】
0004473733.tif 000030
最後に、再帰関数ｒ（ｔ）が、例えば、繰り返し処理を用いて式（２１）から生成されると、再帰変数ｒ＊は、
【００６２】
（外１２）
0004473733.tif 000031
に対する解が式（２２）
【００６３】
【数１７】
0004473733.tif 000032
から取得されるように、式（２１）の時間ｔに
【００６４】
【数１８】
0004473733.tif 000033
を代入することにより取得されるかもしれない。ただし、
【００６５】
【数１９】
0004473733.tif 000034
である。従って、各ｊ＝１，２，．．．，ｎｖに対し
【００６６】
（外１３）
0004473733.tif 000035
を取得するため式（２２）を用いることにより、リアルタイムバッファ５０の予測されるセル数ＱｐｒｅｄＲＴ（Ｗ（ｉ））の値は式（１７）から取得され、式（１３）による遅延ｄｉが取得されてもよい。
【００６７】
本方法はステップ４１４に移行し、次のパケットの待機に関する遅延がジッタの範囲内にあるか判断する。このジッタ境界は、遅延を評価する遅延閾値として機能する所定の最大ジッタ要求から構成されてもよい。一実施例によると、最大ジッタ要求は、例えば、約３０ミリ秒などの２５〜３５ミリ秒の範囲内に属する。ステップ４１２において取得された遅延が、このジッタ要求と比較される。遅延がジッタ境界にある場合、すなわち、遅延がジッタ要求未満である場合、本方法はステップ４２０に移行し、キューにおいて予想される次のパケットの待機及び蓄積が行われる。遅延がジッタ境界内にない場合、すなわち、遅延がジッタ要求以上である場合、本方法はステップ４１６におけるフロー単位キューの蓄積されたパケットのカプセル化に移行し、さらにステップ４１８においてカプセル化セクションからセルを構成する。セルは任意の適切な方法により構成されてもよい。例えば、セルは、図２を参照して説明される処理に従って構成されてもよい。セルを構成した後、本方法は終了される。
【００６８】
要約すると、蓄積されているパケットがカプセル化効率性閾値を満たす場合、この蓄積されたパケットがカプセルかされるか判断するため、予測ジッタが評価される。予測ジッタが低い場合、パケットがさらに蓄積される。予測ジッタが高すぎる場合、蓄積されているパケットがカプセル化される。本方法は、より多くのステップ、よそ少ないステップまたは異なるステップを有するかもしれない。本方法の各ステップは、任意の適切な順序により実行されてもよい。例えば、ステップ４０８における到着時間の予測は、ステップ４１０における決定後に実行されてもよい。
【００６９】
図５は、カプセル化セクション５００からセル５５０を構成する他の実施例を示す。一実施例によると、カプセル化セクション５００は、マルチプロトコルカプセル化（ＭＰＥ）セクションから構成されてもよい。各カプセル化セクション５００は、セクションヘッダ２１０と、セクションデータ２１５及び２１８と、セクションフッタ２１４とを有する。セクションヘッダ２１０は、例えば、デジタル映像配信（ＤＶＢ）マルチプロトコルカプセル化（ＭＰＥ）ヘッダデータを有するかもしれない。一実施例によると、セクションヘッダ２１０はまた、例えば、デジタルストレージメディアコマンド及びコントロール（ＤＳＭ−ＣＣ）ヘッダデータを有するかもしれない。カプセル化セクション５００ａはセクションデータから構成され、カプセル化セクション５００ｂは各々がパケットから構成されるセクションデータ２１５を有する。一実施例によると、各パケット２１５及び２１８は、ＩＰパケットまたはデータグラムから構成されてもよい。セクションフッタ２１４は、例えば、誤り訂正符号を有するかもしれない。データグラムのサイズは可変とされてもよいが、例えば、セクションヘッダ２１０は２０バイトを有し、セクションフッタ２１４は４バイトを有する。
【００７０】
カプセル化セクション５００は、セル５５０に形成されてもよい。各セル５５０は、セルヘッダ２２０、ペイロード５４０及びセルフッタ２３０を有する。セルヘッダ２２０は、例えば、ＭＰＥＧ−２パケットヘッダデータを有するようにしてもよい。セルフッタ２３０は、例えば、ＭＰＥＧ−２パケットフッタデータを有するようにしてもよい。ペイロード５４０は、一実施例によると、１８４バイトを有するＭＰＥＧ−２パケットを有するようにしてもよい。
【００７１】
一実施例によると、１以上のカプセル化セクション５００は、１以上の連続するセル５５０に構成されてもよい。図示された例では、セル５５０ａはカプセル化セクション５００ａの第１部分によりロードされ、次のセル５５０ｂはカプセル化セクション５００ａの次の部分によりロードされてもよいが、他のセル５５０ｃはカプセル化セクション５００ａの最後の部分によりロードされてもよい。一般に、カプセル化セクションが１以上のセルに構成されるまで、連続的にセルが構成される。図示された例では、カプセル化セクション５００ａの最後の部分５８０は、セル５５０ｃのペイロード５４０ｃにロードされ、次のカプセル化セクション５００ｂの第１部分５８５は、セル５５０ｃのペイロード５４０ｃにロードされる。この結果、図２により説明されるような追加容量を有する状態は、実質的に回避される。
【００７２】
図６は、図５を参照して説明されるセル５５０の生成から生じるセルフロー６００の他の実施例を示す。一般に、セルフロー６００は、連続的、逐次的または任意の同様の方法により順序付けされたパケット２１２と２１５を有するものであってもよい。一実施例によると、パケット２１２と２１５は、例えば、ＩＰパケットまたはデータグラムを有するようにしてもよい。図示された例では、セルフロー６００は、遅延３５０を引き起こす可能性のあるセルフッタ６１０とセルヘッダ６２０を有するものであってもよい。この遅延は、セルフッタ６１０とセルヘッダ６２０から実質的に生じるものであるかもしれないし、あるいは他の任意の適切なコンテンツを有するものであってもよい。一実施例によると、セルフロー６００は、遅延またはジッタを改善するため取得されてもよい。図示された例では、図３に示される遅延３５０と比較して、図６により示されるセルフロー６００においては遅延３５０はより小さなものとなるかもしれない。ここで、追加容量２８０は、図３に示される実施例の遅延のコンテンツに寄与する。従って、図６により説明されるようなセルフロー６００は、たとえば、図３により説明されるような追加容量が実質的に回避されたとき、パケット２１２と２１５の受信に関する遅延３５０を改善するものであるかもしれない。
【００７３】
本発明の実施例は、１以上の技術的効果を提供するかもしれない。一実施例の技術的効果は、効率性を維持しながらジッタを制御するため、現在のカプセル化効率と予測ジッタに応じてカプセル化セクションのサイズが調整されるということであるかもしれない。蓄積されたパケットが予測されたカプセル化効率性閾値を満たさない場合、これらのパケットは効率性を維持するためカプセル化される。一実施例の他の技術的効果は、予測されたパケットの受信に関する遅延が判断され、当該遅延がジッタ要求を満たす場合、蓄積されたパケットがジッタを制御するようカプセル化されてもよいということであるかもしれない。一実施例の他の技術的効果は、カプセル化セクションのパケットがジッタを改善するのにセルに構成されてもよいということであるかもしれない。このカプセル化セクションは、セルの追加容量が回避されるように、セルに構成されてもよい。
【００７４】
本発明の実施例とその効果が詳細に説明されたが、当業者は添付された請求項により画定され本発明の趣旨及び範囲から逸脱することなく様々な変更、追加及び省略が可能であろう。
【図面の簡単な説明】
【００７５】
【図１】図１は、カプセル化セクションを構成するためパケットをカプセル化するシステムの一実施例を示す。
【図２】図２は、カプセル化セクションからセルを構成する一実施例を示す。
【図３】図３は、セルフローの一実施例を示す。
【図４】図４は、パケットをカプセル化する方法を示すフローチャートである。
【図５】図５は、カプセル化セクションからセルを構成する他の実施例を示す。
【図６】図６は、セルフローの他の実施例を示す。
【図１】
0004473733.tif 000036
【図２】
0004473733.tif 000037
【図３】
0004473733.tif 000038
【図４】
0004473733.tif 000039
【図５】
0004473733.tif 000040
【図６】
0004473733.tif 000041