(57)【要約】パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの適応ジッタ・バッファのバッファ遅延を動的に調整する方法である。本方法は、ネットワーク・ノードへ到来するパケットをバッファへ挿入することと、ジッタ・バッファ再生間隔に等しいＴｒｅｐinごとに１度、ジッタ・バッファリング手続を実行することを有する。ジッタ・バッファ手続を実行することは、ジッタ・バッファ内の待機中パケット数Ｎの変動に基づいて、最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Ｔjitを更新することを含む。
2011510594.tif 000002
【特許請求の範囲】
【請求項１】
パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの有する適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、
前記ジッタ・バッファの再生間隔に等しいＴｒｅｐinごとに１度、ジッタ・バッファリング手続きを実行するステップと
を有し、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Ｔjitは、前記ジッタ・バッファ内の待機中パケット数Ｎの変動に基づいて更新される
ことを特徴とする方法。
【請求項２】
前記ジッタ・バッファリング手続きは、初期ステップとして、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとＳＩＤとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にＴjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがＳＩＤである場合に、無音期間の間にＴjitを更新する適応手続きを実行するステップと
を有することを特徴とする請求項１に記載の方法。
【請求項３】
トーク・スパート又はメディア・スパートの間にＴjitを調整する前記適応手続きは、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって記録されたＮの最小値ＮminとＮの最大値Ｎmaxとを更新するためにＮを監視するステップと、
Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
Ｔjitの前回の調整を行ってからの前記適応手続きの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjitを調整するステップと
を有することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記調整するステップは、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を有することを特徴とする請求項３に記載の方法。
【請求項５】
前記調整するステップは
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有することを特徴とする請求項３又は４に記載の方法。
【請求項６】
ｃａｔｃｈＵｐＬｉｍｉｔは、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定され、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定される
ことを特徴とする請求項５に記載の方法。
【請求項７】
無音期間内又は前記直近の受信パケットがＳＩＤである場合にＴjitを適応する前記適応手続きは、
前記手続きにより実行された前回のＴjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合にＴjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって測定されたＮの最大値をＮmaxとし、Ｎの最小値をＮminとして場合に、Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップと
を有することを特徴とする請求項２に記載の方法。
【請求項８】
前記調整するステップは
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有することを特徴とする請求項７に記載の方法。
【請求項９】
ｃａｔｃｈＵｐＬｉｍｉｔは、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記メディアストリームはオーディオ・ストリームであることを特徴とする請求項１乃至９の何れか１項に記載の方法。
【請求項１１】
前記メディアストリームはビデオ・ストリームであることを特徴とする請求項１乃至１０の何れか１項に記載の方法。
【請求項１２】
パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、バッファ遅延を動的に調整するように構成されたノードであって、
前記ノードへ到来するパケットを受信するための受信ユニットと、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップし、前記ジッタ・バッファの再生間隔に等しいＴｒｅｐinごとに１度、ジッタ・バッファリング手続きを実行するためのバッファリング・ユニットと
を備え、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Ｔjitは、前記ジッタ・バッファ内の待機中パケット数Ｎの変動に基づいて更新される
ことを特徴とするノード。
【請求項１３】
前記バッファリング・ユニットは、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとＳＩＤとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にＴjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがＳＩＤである場合に、無音期間の間にＴjitを更新する適応手続きを実行するステップと
を実行するように構成されることを特徴とする請求項１２に記載のノード。
【請求項１４】
前記バッファリング・ユニットがトーク・スパート又はメディア・スパートの間にＴjitを更新する調整する適応手続きを実行している場合に、前記バッファリング・ユニットは、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって記録されたＮの最小値ＮminとＮの最大値Ｎmaxとを更新するためにＮを監視するステップと、
Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
Ｔjitの前回の調整を行ってからの前記適応手続きの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjitを調整するステップと
を実行するようにさらに構成されることを特徴とする請求項１２又は１３に記載のノード。
【請求項１５】
前記調整するステップを実行する際に、前記バッファリング・ユニットは、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を実行するようにさらに構成されることを特徴とする請求項１４に記載のノード。
【請求項１６】
前記調整するステップを実行する際に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されることを特徴とする請求項１４又は１５に記載のノード。
【請求項１７】
前記バッファリング・ユニットは、ｃａｔｃｈＵｐＬｉｍｉｔを、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定し、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定する
ように構成されることを特徴とする請求項１６に記載のノード。
【請求項１８】
無音期間内又は前記直近の受信パケットがＳＩＤである場合に、前記バッファリング・ユニットは、
前記手続きにより実行された前回のＴjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合にＴjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって測定されたＮの最大値をＮmaxとし、Ｎの最小値をＮminとして場合に、Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップと
を実行するようにさらに構成されることを特徴とする請求項１３に記載のノード。
【請求項１９】
前記調整するステップの間に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されることを特徴とする請求項１８に記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、バッファ内に待機中のパケット数の変動に従ってジッタ・バッファの遅延を適応する簡易な方法に関する。
【背景技術】
【０００２】
幅広い範囲にわたって輸送遅延（transport delay）が変動しやすいインタフェースを介して、例えば電話サービスのような従来のメディア・サービスにおけるメディアストリームが例えばメディア・ゲートウェイのようなネットワーク・ノードにより受信される場合に、ネットワーク・ノードから、出力タイミングにおいて非常に制限された変動を要求するかもしれない別のインタフェースへ向けた連続した一定レートの再生を補償するために、ネットワーク・ノードの入力においてジッタ・バッファが必要となるだろう。
【０００３】
ネットワーク・ノード内のジッタ・バッファリングの一般的な原理が図１を参照しつつ説明される。ジッタ・バッファリングの理解に不可欠な部分だけが図に示され、例えば音声エンコーダやデコーダのような音声処理機能のために必要となる他の部分は簡単のために省略されていることが理解されるだろう。同じ理由により、この図は１つの方向すなわち上りリンクにおいてメディア送信がどのように実行されるかだけを説明し、双方向会話を完成させる下りリンク送信を省略する。
【０００４】
図１では、メディアストリーム内のリアルタイム・データを１以上のユーザへ配信するように構成された音声ソース１００が一定時間間隔Ｔｒｅｐin１０２でパケットを生成する。パケットがパケット交換ネットワーク１０１を通ってルーティングされるにつれて、メディアストリームに一定でない輸送遅延がもたらされるだろう。ジッタとも呼ばれるこの現象は図ではネットワーク１０１から不規則な間隔で出て行くパケット１０３として説明される。複数のパケットが極めて短い時間間隔すなわちバーストで中間ネットワーク・ノード１０４へ到来した後に、パケットがまったく到来しない時間間隔が続くかもしれないため、パケットがネットワーク・ノードへ到来するパターンを予測して扱うのは難しいかもしれない。
【０００５】
ジッタの制御を維持する一般的な方法は中間ネットワーク・ノード１０４においてジッタ・バッファ１０５を実装することである。ネットワーク・ノードへ到来するパケットがジッタ・バッファへバッファリング１０７され、その後にそれらが、Ｔｒｅｐinに等しい回復された一定間隔Ｔｒｅｐout１０９でネットワーク・ノードから再生される際に、ネットワークにより生じる輸送遅延のほかにジッタ保護期間Ｔjit１０６として識別されうる別の遅延をもたらすだろう。ここで、パケットは、ジッタを許容しない別の輸送ネットワーク１１０、一般的には回路交換ネットワークを介して１つ以上の送信エンティティ（不図示）へ転送されうる。
【０００６】
Ｔjit１０６が事前に設定された定数である場合に、ジッタ・バッファリングは静的バッファリングと呼ばれ、よって、バッファされたすべてのパケットは同じジッタ・バッファ遅延を経験するだろう。一方で、ネットワーク・ノードの入力における遅延の振る舞いのある種の解析に基づいてＴjitが変更可能な場合に、バッファリング方法は代わりに適応ジッタ・バッファリングと呼ばれる。
【０００７】
絶対に必要なものよりも長い遅延を避けるために、適応ジッタ・バッファリングは静的バッファリングよりも好ましい。適切に動作するために、静的バッファリングを可能にするジッタ・バッファは最悪な場合の遅延の変動に対して大きさが設定（dimension）される必要があり、よって、特に最悪の場合が比較的低い頻度で生じる場合に、静的バッファリングにより生じる遅延は一般に動的バッファリングで必要となるものよりも遥かに大きくなるだろう。
【０００８】
適応ジッタ・バッファリング・アルゴリズムは通常、端末又はクライアントの受信側のために開発され、典型的に単一のエンドユーザへ割り当てられる。しかしながら、ネットワーク・ノードでは、１つの処理ユニットが典型的に数十又は数百もの同時ユーザ又はストリーム・インスタンスにより共有される。このような状況において、オペレータがチャネル当たりの処理コストを低く抑えるために、バッファリング・アルゴリズムの簡易化が不可欠な課題となるだろう。
【０００９】
ネットワーク・バッファの大きさの設定の際には通常、単純化と、考慮に入れなければならない知覚品質との間のトレードオフが存在する。これは、ネットワーク・ノードにおいて実装されるバッファリング・アルゴリズムは可能な限り簡易でなければならないが、通常のエンドユーザ端末において必要される品質レベルに品質が到達する必要はないものの十分に良好な品質でなければならないことを意味する。スケーラブルな再生は、エンドユーザ端末において必要となるものと比べて、ネットワーク・ノードにおいてやや複雑な機能を必要とする。ネットワーク・ノードでは、スピードアップ又はキャッチアップは通常、パケット又はフレームをスキップすることによって行われ、スローダウンはフレームすなわちエラー隠蔽パケットを挿入することによって実現される。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、上記で概要が示された問題の少なくとも一部を解決することである。特に、バッファ内の待機中パケット数の変動に従って適応的に調整されうるジッタ・バッファの適応遅延を提供することが１つの目的である。
【課題を解決するための手段】
【００１１】
第１の側面によれば、パケット交換ネットワークからメディアストリームのパケットを受信するネットワーク・ノードの有する適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、
前記ジッタ・バッファの再生間隔に等しいＴｒｅｐinごとに１度、ジッタ・バッファリング手続きを実行するステップと
を有し、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Ｔjitは、前記ジッタ・バッファ内の待機中パケット数Ｎの変動に基づいて更新される
ことを特徴とする方法が提供される。
【００１２】
前記ジッタ・バッファリング手続きは、初期ステップとして、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとＳＩＤとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にＴjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがＳＩＤである場合に、無音期間の間にＴjitを更新する適応手続きを実行するステップと
を有してもよい。
【００１３】
トーク・スパート又はメディア・スパートの間にＴjitを調整する前記適応手続きは、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって記録されたＮの最小値ＮminとＮの最大値Ｎmaxとを更新するためにＮを監視するステップと、
Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
Ｔjitの前回の調整を行ってからの前記適応手続きの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjitを調整するステップと
を有してもよい。
【００１４】
さらに、前記調整するステップは、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を有してもよい。
【００１５】
さらに、前記調整するステップはまた、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を有してもよい。
【００１６】
ｃａｔｃｈＵｐＬｉｍｉｔは、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定され、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定されてもよい。
【００１７】
無音期間内又は前記直近の受信パケットがＳＩＤである場合にＴjitを適応する前記適応手続きは、
前記手続きにより実行された前回のＴjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合にＴjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって測定されたＮの最大値をＮmaxとし、Ｎの最小値をＮminとして場合に、Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップと
を有してもよい。
【００１８】
前記調整するステップは
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有してもよい。ここで、ｃａｔｃｈＵｐＬｉｍｉｔは、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定されてもよい。
【００１９】
前記メディアストリームはオーディオ・ストリーム又はビデオ・ストリームであってもよい。
【００２０】
別の側面によれば、パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、バッファ遅延を動的に調整するように構成されたノードであって、
前記ノードへ到来するパケットを受信するための受信ユニットと、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップし、前記ジッタ・バッファの再生間隔に等しいＴｒｅｐinごとに１度、ジッタ・バッファリング手続きを実行するためのバッファリング・ユニットと
を備え、
最大バッファリング遅延に対する現在の目標値を規定するジッタ保護時間Ｔjitは、前記ジッタ・バッファ内の待機中パケット数Ｎの変動に基づいて更新される
ことを特徴とするノードがまた提供される。
【００２１】
前記バッファリング・ユニットは、
前記メディアストリームが現在のところ無音期間内にあるか、又は直近の受信パケットが音声パケットとＳＩＤとのいずれであるかを判定するステップと、
前記直近の受信パケットが音声パケットである場合に、トーク・スパートの間にＴjitを更新する適応手続きを実行するか、前記メディアストリームが現在のところ無音期間である場合又は前記直近の受信パケットがＳＩＤである場合に、無音期間の間にＴjitを更新する適応手続きを実行するステップと
を実行するように構成されてもよい。
【００２２】
前記バッファリング・ユニットがトーク・スパート又はメディア・スパートの間にＴjitを更新する調整する適応手続きを実行している場合に、前記バッファリング・ユニットは、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって記録されたＮの最小値ＮminとＮの最大値Ｎmaxとを更新するためにＮを監視するステップと、
Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
Ｔjitの前回の調整を行ってからの前記適応手続きの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjitを調整するステップと
を実行するようにさらに構成されてもよい。
【００２３】
前記調整するステップを実行する際に、前記バッファリング・ユニットは、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を実行するようにさらに構成されてもよい。
【００２４】
さらに、前記調整するステップを実行する際に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を含むようにさらに構成されてもよい。
【００２５】
前記バッファリング・ユニットは、ｃａｔｃｈＵｐＬｉｍｉｔを、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定し、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定するように構成されてもよい。
【００２６】
無音期間内又は前記直近の受信パケットがＳＩＤである場合に、前記バッファリング・ユニットは、
前記手続きにより実行された前回のＴjitの適応を行ってからの、トーク・スパートの間に適応する手続きの反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合にＴjitを更新するステップと、
前記適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって測定されたＮの最大値をＮmaxとし、Ｎの最小値をＮminとして場合に、Ｔjitに要求される調整の指標であるＴjが、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいてＴjitに対する更新された目標値Ｔjを規定するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップと
を実行するように代わりにさらに構成されてもよい。
【００２７】
前記調整するステップの間に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されてもよい。
【図面の簡単な説明】
【００２８】
【図１】先行技術に従うジッタ・バッファリングの原理の基本的な概観を説明する図。
【図２ａ】、
【図２ｂ】、
【図２ｃ】、
【図２ｄ】主張される発明に従って動作するバッファのためのジッタ・バッファ・レベルの起こりうる変動を説明する図。
【図３】１つの実施形態に従うパケットの受信とタイミングとの全体的な原理を説明する図。
【図４】１つの実施形態に従う全体的なジッタ・バッファリング・アルゴリズムを説明する図。
【図５】１つの実施形態に従うトーク・スパート（talk spurt）又はメディア・スパート（media spurt）の間に動作可能な適応手続きを説明する図。
【図６】１つの実施形態に従う無音期間の間又は先頭において動作可能な適応手続きを説明する図。
【図７】１つの実施形態に従うバッファ遅延が小さくなるように段階的に適応する手続きを説明する図。
【図８】１つの実施形態に従うジッタ・バッファリング・アルゴリズムに従って動作するように構成された適応ジッタ・バッファを備える典型的なネットワーク・ノードを説明する図。
【図９ａ】ＤＴＸが無効である１つの実施形態に従うジッタ・バッファ・アルゴリズムの例示的な性能を説明する図。
【図９ｂ】ＤＴＸが有効である別の実施形態に従うジッタ・バッファ・アルゴリズムの別の例示的な性能を説明する図。
【発明を実施するための形態】
【００２９】
以下、本発明は例示の実施形態を用い且つ添付の図面を参照しつつ、より詳細に説明される。
【００３０】
簡潔に記載すると、本発明は簡易な適応ジッタ・バッファリング・アルゴリズムに関し、特にバッファ内の待機中パケット数の変動に基づいてジッタ・バッファの遅延を適応する方法に関する。
【００３１】
ネットワーク・ノード、例えばメディア・ゲートウェイはリアルタイム・ストリーミング・ソースから送信され、予期されない輸送遅延すなわちパケット・ストリームへのジッタをもたらすパケット交換ネットワークを介して経由されたパケットを受信する。ジッタに対処でき、それによってネットワーク・ノードから一定の遅延での再生を可能にするために、そしてバッファリングによりもたらされる遅延を低く保つために、ノードは適応ジッタ・バッファを備える。典型的に相当数の同時ユーザを扱うこのようなジッタ・バッファについて、良好な性能で動作するために、簡易なバッファリング・アルゴリズムが望まれるだろう。
【００３２】
ジッタ・バッファにより生じる遅延はジッタ保護時間Ｔjitにより決定される。Ｔjitは、最適化された場合にバッファ内に待機中の様々な数のパケットをバッファが扱うことを可能にするパラメータ、すなわち意図的にパケットが破棄される場合、すなわち現在のジッタ状況に従って遅延を調整するために実行されるキャッチアップの間を除いて如何なるパケットを破棄する必要なく、バッファが到来パケットをバッファリングできるようにするパラメータである。
【００３３】
ソースから再生までの全遅延は輸送遅延とバッファリングによりもたらされる遅延との合計であり、すなわちパケットの輸送遅延が長いほどバッファリング遅延は短くなるだろうし、その逆も成り立つ。Ｔjitは最大バッファリング遅延に対する目標値を規定するだろう。これは、輸送遅延がその最小値である場合にのみ、経験されるバッファリング遅延がＴjitに近づくだろうことを意味する。バッファリング遅延は可能な限り一定に保たれるべきであり、同時に可能な限り小さく保たれるべきである。これらの要件は相反し、トレードオフが必要となる。
【００３４】
ジッタ・バッファ内の待機中パケット数の変動に基づいて継続的にＴjitを適応することによって、ネットワーク・ノードの入力において経験されたジッタの振る舞いと上述の要求とにジッタ・バッファ遅延を適応することが可能になるだろう。
【００３５】
主張される発明の１つの実施形態によれば、ジッタ・バッファ内の待機中パケット数Ｎは継続して監視され、監視された値の最大値及び最小値すなわちＮmax及びＮminがそれぞれ待機中パケット数の変動を判定するために用いられるだろう。
【００３６】
音声パケットを伝えるトーク・スパート又はビデオなどのメディア・パケットを伝えるメディア・スパートの間に、待機中パケット数の変動は、ＡＤＡＰＴ＿ＩＮＴとして定義される所定の短期間適応間隔にわたって記録される。ＡＤＡＰＴ＿ＩＮＴは事前に設定されるチューニング・パラメータであり、Ｔjitが更新されるであろう最小間隔を示す。トーク・スパート又はメディア・スパートの間に、適応手続きは一定間隔で実行されるだろう。ここで、カウンタは反復ごとに増やされる。カウンタがＡＤＡＰＴ＿ＩＮＴに等しくなると、Ｔjitはそれに従って適応されるだろう。Ｔjitの適応に続いて、ジッタ・バッファの中身はキャッチアップによって、すなわち必要ならばジッタ・バッファからパケットを破棄することによって調整されるだろう。ジッタ・バッファ及びネットワーク・ノードから連続したレートでパケットが配信されなければならないため、適応手続きの後に、パケットの抜き出し・処理又は隠蔽パケットの生成が続くだろう。
【００３７】
予期されるＮの変動に依存して、Ｔjitの新たな目標値の指標すなわちＴjitが小さくなるように適応されるべきか大きくなるように適応されるべきかの指標を与える別のパラメータＴjは、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin    （１）
で表現されうる。ここで、Ｔｒｅｐinはソースからパケットが送信される名目（nominal）反復間隔であり、ジッタ・バッファ及びネットワーク・ノードからパケットが配信される名目反復間隔Ｔｒｅｐoutに等しい。
【００３８】
１つの実施形態に従う適応ジッタ・バッファについての様々なシナリオ及び提案される適応ジッタ・バッファリング・アルゴリズムを用いるバッファの効果がここで図２ａ〜図２ｄを参照しつつ以下に説明される。図２ａ及び図２ｂは１つの典型的なシナリオを説明する。図２ａはＡＤＡＰＴ＿ＩＮＴ＊Ｔｒｅｐinとして規定される時間間隔にわたって記録されるジッタ・バッファ内の待機中パケットの最小数Ｎminを示し、図２ｂはジッタ・バッファ内の待機中パケットの最大数Ｎmaxを示す。
【００３９】
図２ａ及び図２ｂに示されるシナリオでは、待機中パケット数の変動は比較的大きい。このようなシナリオは、
Ｔj＞Ｔjit    （２）
と表現されうる。
【００４０】
明らかに、待機中パケットの変動は、現在のジッタ保護時間Ｔjitを超えるＴjを結果として生じる。すなわち、Ｔjは、ジッタ・バッファがジッタの現在の変動を対処可能なように、Ｔjitが増やされなければならないことを示す。
【００４１】
一方、図２ｃ及び図２ｄはジッタ・バッファ内の待機中パケット数の変動が小さい状況を示す。この状況は代わりに
Ｔj＜Ｔjit    （３）
と表しうる。
【００４２】
このシナリオでは、現在のＴjitはそれに従ってすべての到来パケットをバッファで対処可能な値を有するが、現在の遅延を誇張し、その結果として、スピードアップすることによって、すなわち時折パケット／フレームを破棄することによって、遅延が小さくされてもよく、そして小さくされるだろう。明らかに、Ｔjitはまた小さくなるように適応されるだろう。
【００４３】
ネットワーク・ノードの入力における輸送遅延が長い場合に、ジッタ・バッファ内のパケット数は段階的に減少する。Ｔjitの現在値が許容するよりもパケットが遅延するならば、待機中パケット数はゼロに到達さえしうる。長い輸送遅延を説明するシナリオは、図２ａ及び図２ｃにおいて説明される。バッファが空になると、トーク・スパート又はメディア・スパートの間にパケットが再生されるべきである場合に、エラー隠蔽がバッファに挿入され、ノードは一定のレートで何かを連続的に再生することができるだろう。事実上、これは再生の組み込まれたスローダウンを表す。
【００４４】
典型的な後続のシナリオでは、輸送遅延は場合によっては、限られた期間について短くなる傾向があり、その結果、バッファ入力における到来時間間隔は一時的にソースにおけるパケットの名目反復間隔Ｔｒｅｐinよりも短くなる。良い品質の音声を１つ以上の宛先エンティティへ提供するために、ジッタ・バッファ出力に関する再生間隔が一定、すなわちＴｒｅｐinに等しくなければならないという事実は、ジッタ・バッファ内の待機中パケット数が段階的に増加するという状況につながる。このような状況は図２ｂ及び図２ｄで説明される。
【００４５】
如何なるパケット損失を結果として生じることなく遅延ピークが発生するならば、バッファへの方向のパケットはバーストにおいて又は短い到達時間間隔で最終的に到達し、ジッタ・バッファ内の待機中パケット数Ｎは以前に設定された上限値を超えさえするかもしれない。これは、今後、有効なジッタ保護時間、又はＴjitの目標値すなわちＴjが、図２ｂに示されるように、Ｔjitの現在値を超えるレベルへ増加しているかもしれないことを意味する。
【００４６】
Ｔjitの現在値よりも高くジッタ・バッファ・レベルが増加する原因となる長い遅延のピーク及びバーストが間欠的に発生するならば、監視されたＮmax及びＮminの差と、Ｔjの現在値とを満たすように急激に増加されるように、提案されるジッタ・バッファ・アルゴリズムはＴjitを調整するだろう。このようなシナリオは典型的に高速アタック（fast attack）と呼ばれる。
【００４７】
長い遅延ピークが存在せず、後続のバーストが減少傾向にあるならば、バッファ内の待機中パケット数の変動は再び段階的に小さくなるだろう。しかしながら、図２ｄに示されるように、Ｔjitは比較的高いレベルに留まるだろう。このような状況では、バッファリング・アルゴリズムは、Ｔjに対応するレベルにＴjitが再び到達するまで、所定の緩和されたレートにおいてバッファから最古のパケットをスキップ又は破棄し始めるだろう。これは事実上、再生の組み込まれたスピードアップを表し、低速減衰（slow decay）又は適応のキャッチアップとも呼ばれる。従って、説明される適応アルゴリズムは高速アタックであるが、低速減衰である。
【００４８】
以下、特にネットワーク・ノードにおいて動作するように構成された本実施形態に係る適応ジッタ・バッファリング・メカニズムは簡易な適応アルゴリズムに依存する。このようなアルゴリズムの全体的な原理が図３〜図７を参照しつつさらに詳細に説明される。
【００４９】
ネットワーク・ノードに到来するパケットは一定の間隔Ｔｒｅｐinでジッタ・バッファにより扱われ、従ってジッタ・バッファ入力の適切なタイミングが必要となるだろう。音声ソースから送信されて到来する音声パケットを扱うためのシナリオにおいて、これがどのように実現されうるかが図３を参照しつつ以下に説明される。
【００５０】
図３のブロック図はジッタ・バッファにおけるパケットの受信とタイミングとの全体的な原理を示す。図によれば、輸送ネットワークから典型的には変動する遅延を有してパケットが到来する際にパケットはジッタ・バッファへと入れられ、図ではＡで示される適応ジッタ・バッファリング・メカニズムが定期的に、すなわち典型的には例えば２０ｍｓでありうる時間間隔Ｔｒｅｐinで実行されるだろう。
【００５１】
最初のステップ３：１で、ジッタ・バッファ保護時間Ｔjitの後続の適応の間に必要になるだろう変数を初期化することによりバッファリングが始まる。バッファ内の現在の待機中パケット数を示すＮ、Ｎmax、及び２つのカウンタｃｎｔｒ１、ｃｎｔｒ２がリセットされる。また、ステップ３：１で実行される初期化の間に、Ｎminは、ジッタ・バッファ内の待機中パケット数Ｎが超えるような環境が存在しないような十分に大きな値が選択される事前に定義された値ＭＡＸ＿ＶＡＬに設定される。従って、ＭＡＸ＿ＶＡＬは例えば１０００に設定され、または処理ユニットの正の最大整数、例えば３２７６７に設定される。
【００５２】
パケットの受信の間に適切なタイミングを提供するために、時間間隔Ｔは、
Ｔ＝ｃｕｒｒＴ−ｐｒｅｖＴ    （４）
で規定されうる。ここで、ｃｕｒｒＴはホストにより与えられる現在時刻を表し、ｐｒｅｖＴはジッタ・バッファ・アルゴリズムＡが実行された直前の時刻を表す。ステップ３：１で、ｐｒｅｖＴはｃｕｒｒＴに等しく設定され、時間間隔パラメータＴはリセットされる。Ｔjitはまた、Ｔjitのために指定された許容可能な適応範囲であるＴjitminとＴjitmaxとの間の範囲内の適切な初期値に設定される。Ｔjitmin及びＴjitmaxは典型的に、バッファ入力インタフェースに依存して選択される設定パラメータである。Ｔjitminについての典型値は例えば２０ｍｓでありえ、Ｔjitmaxは例えば２００ｍｓに設定されうる。そして、Ｔjitについての適切な初期値は例えば、
Ｔjit＝（Ｔjitmin＋Ｔjitmax）／２    （５）
として導出されうる。
【００５３】
ステップ３：５において継続的にチェックされる期間Ｔｒｅｐinが経過しない限り、ネットワーク・ノードへ到来するパケットは、ステップ３：２と別のステップ３：３とで示されるように、ジッタ・バッファに入れられるだろう。後続のステップ３：４で、カウンタＮは１だけ増やされ、バッファのタイミングＴは別のステップ３：６で更新され、その後に到来パケットを扱うループが繰り返され、ステップ３：２から再開する。
【００５４】
しかしながら、Ｔｒｅｐinが経過すると、ジッタ・バッファリングを実行するように構成されたＡが実行されるだろう。ジッタ・バッファリング手続きＡの実行に続いて、バッファのタイミングは、ステップ３：７に示されるように、ｐｒｅｖＴをｃｕｒｒＴに設定することによってリセットされ、ステップ３：２から始まって、到来パケットをジッタ・バッファへ入れる手続きが繰り返されるだろう。
【００５５】
ステップ３：５で示されるように、ジッタ・バッファリング手続きはＴｒｅｐinごとに１回実行されるだろう。１つの実施形態に係るこのようなジッタ・バッファリング手続きの例がここで図４のブロック図を参照しつつ、より詳細に説明される。
【００５６】
音声の間欠送信（ＤＴＸ）が有効であるならば、受信した音声が無音期間内にあるかどうか、または直近の受信パケットが無音記述子（silence descriptor）即ちＳＩＤであるかどうかが最初に判定されるべきである。後者のチェックは、ジッタ・バッファ内の直近の受信パケットを覗くことによって実現される。ここで、直近のパケットの関係するコンテンツは、バッファから如何なるパケットを実際に抜き出すことなく、バッファから評価される。この場合に、関係するコンテンツはフレーム・タイプ即ちＳＩＤ又は音声であるだろう。これらの条件の何れかが満たされるならば、ブロック図はＣへ分岐する。Ｃにより規定される手続きは図６を参照しつつ以下にさらに詳細に説明される。
【００５７】
しかしながら、これらの条件のいずれも満たされない又はＤＴＸが無効であるならば、ブロック図は代わりにＢへ分岐し、トーク・スパートを扱うためのジッタ・バッファ適応手続きが実行されるだろう。１つの実施形態に係るこのような手続きの例は、今回は図５を参照しつつ以下にさらに詳細に説明されるだろう。
【００５８】
進行中のトーク・スパートがジッタ・バッファリング手続きＡの最初のステップ４：１において識別されたならば、ブロック図はＢへ分岐し、トーク・スパートを扱うように構成された適応手続きが実行されるだろう。更新されたＴjitを結果として生じる手続きＢが終了した場合に、ステップ４：２に示されるように、ジッタ・バッファが空か否かが最初に判定される。
【００５９】
バッファが空であることが発見されると、そこから何かが配信されなければならず、よって、次のステップ４：３で示されるように、エラー隠蔽がバッファに挿入され、その後に最後のステップ４：４で手続きが終了する。しかしながら、現在のところ１つ以上のパケットがジッタ・バッファ内に存在するならば、代わりに、トーク・スパートが先頭であるか否かが判定される。このチェックは後続のステップ４：５で行われる。トーク・スパートが先頭でないことが発見されたならば、ステップ４：７で示されるように最古のパケットがバッファから抜き出され、それに従ってステップ４：８で示されるようにＮが１だけ減らされ、最古の音声パケットが別のステップ４：９でそれに応じて処理され、その後に分岐はステップ４：４で終了する。
【００６０】
しかしながら、ステップ４：５でトーク・スパートが先頭であることが発見された場合に、次のステップはジッタ・バッファ内の最古のパケットが処理されるべきであるほど長くバッファされているか、すなわちＴjit以上であるかを判定することである。これは、別のステップ４：６で行われる。これが生じる前に、ジッタ・バッファから何も抜き出されず、ステップ４：１７に示されるように、代わりに背景雑音（comfort noise）がバッファに挿入される。
【００６１】
無音期間の間、パケット又はＳＩＤフレームはトーク・スパートの間よりも低いレートで送信ソースから送信され、手続きはＳＩＤフレームが処理される時刻か又はジッタ・バッファから抜き出されるものが存在しない時刻かをチェックしなければならない。
【００６２】
代わりに適応手続きＣにおいてＴjitが適応されていた場合に、次のステップ４：１０で示されるように、音声が無音期間内であるか否かがもう一度最初にチェックされる。これは以下の理由で必要だろう。ジッタ・バッファ内の最古のパケットがなおもトーク・スパートにあるが、覗かれた最新のパケットがすでにＳＩＤである場合にＣへの分岐がなされるからである。音声が無音期間内でないことが発見されたならば、ステップ４：７−４：９に示されるように、トーク・バーストの場合とまったく同様に、最古のパケットは抜き出されて処理されるだろう。トーク・スパートの場合と同様に、ジッタ・バッファリング手続きは次いで最後のステップ４：４で終了し、アルゴリズムは、図３のタイミング・リセットのステップ３：７から始まって、ネットワーク・ノードへ到来するパケットを扱い続ける。
【００６３】
ステップ４：１０で音声が無音期間にあることが代わりに発見された場合に、Ｔｒｅｐinの一定のパケット・レートでネットワーク・ノードのジッタ・バッファから何かが配信されなければならない。このような場合に、ステップ４：１１で実行される次のステップは、ＳＩＤをバッファから抜き出す時刻であるか否かをチェックすべきだろう。このチェックは既知のＳＩＤフレーム間隔に基づき、例えば無音期間の間に８個ごとのフレームがＳＩＤとなりうる。まだＳＩＤが抜き出される時刻でないならば、無音期間の間に入力レートが減らされた場合でも一定の出力レートを維持するために、背景雑音が代わりにバッファ出力で挿入されるだろう。背景雑音の特性はＳＩＤフレームによって更新され、背景雑音はステップ４：１７で挿入される。
【００６４】
ステップ４：１１でジッタ・バッファからＳＩＤを抜き出す時刻であることが代わりに発見されたが、次のステップ４：１２でジッタ・バッファが空であることが発見されたならば、ＳＩＤ処理を実行する代わりに、ＳＩＤ隠蔽が後続のステップ４：１３で生成されるだろう。しかしながら、実際は１つ以上の待機中パケットがジッタ・バッファに存在するならば、後続のステップ４：１４に示されるように代わりに最古のパケットがジッタ・バッファから抜き出され、次いで後続のステップ４：１５でＮが１だけ減らされ、次のステップ４：１６でＳＩＤが処理される。
【００６５】
無音期間の間、ＳＩＤが抜き出されているか否かに関わらず、背景雑音は常に出力へ挿入されるだろう。従って、ステップ４：１３で実行されるＳＩＤ隠蔽とステップ４：１６で実行されるＳＩＤ処理との両方に続いて、後続のステップ４：１７で背景雑音がジッタ・バッファへ挿入されるだろう。
【００６６】
次に、分岐は最後のステップ４：４で終了し、アルゴリズムは図３のループで示されるように、ネットワーク・ノードのジッタ・バッファへ到来パケットを入れることによって到来パケットを扱い続ける。
【００６７】
トーク・スパートの間に実行される図４でＢと呼ばれた適応手続きが図５のブロック図を参照しつつ以下により詳細に説明される。
【００６８】
最初のステップ５：１で、バッファで対処可能なものよりも多くの待機中パケットが現在のところジッタ・バッファに存在するかどうか、すなわち
Ｎ＊Ｔｒｅｐin＞Ｔjitmax    （６）
であるかが判定される。
【００６９】
要求されるジッタ保護時間Ｎ＊Ｔｒｅｐinが最大ジッタ保護時間Ｔjitmaxを超えるならば、次のステップ５：２に示されるように、最古のパケットがジッタ・バッファから抜き出され、それに従って後続のステップ５：３でＮが１だけ減らされるだろう。この手続きは要求されたジッタ保護時間がＴjitmaxを超える限り反復して繰り返されるだろう。次いで、必要ならば、待機中パケット数の変動を連続的に配信する際に用いられる２つのパラメータＮmax、Ｎminのいずれかがそれぞれ後続のステップ５：４、５：５又はステップ５：６、５：７で更新される。
【００７０】
次のステップ５：８で、更新されたパラメータＮmax、Ｎminに基づいてＴjが導出される。式（１）で規定される現在のＴjは、適応間隔ＡＤＡＰＴ＿ＩＮＴの最後にＴjitを適応する際に用いられるだろう。ＡＤＡＰＴ＿ＩＮＴはチューニング・パラメータであり、経験に基づいて、例えば１６に設定されうる。２０ｍｓに設定されたＴｒｅｐinとともに、１６に設定されたＡＤＡＰＴ＿ＩＮＴは３２０ｍｓに等しい適応期間ＡＤＡＰＴ＿ＩＮＴ＊Ｔｒｅｐinに対応するだろう。さらにまた、適応間隔ＡＤＡＰＴ＿ＩＮＴに到達したかを追跡するため、すなわちＴjitを適応する時刻を追跡するためのｃｎｔｒ１と呼ばれるカウンタがステップ５：８で１だけ増やされる。
【００７１】
後続のステップ５：９で、更新されたＴjが現在のＴjitと比較され、このような比較結果に依存して、ジッタ・バッファリング遅延の現時点で最大の許容目標レベルを示すｃａｔｃｈＵｐＬｉｍｉｔと呼ばれる変数が設定されるだろう。変数ｃａｔｃｈＵｐＬｉｍｉｔは、更新されたＴjitの結果としてジッタ・バッファの再生をスピードアップすなわちキャッチアップするためにパケットがジッタ・バッファから抜き出されるかどうかを判定するために後でキャッチアップ手続きＤで用いられるだろう。
【００７２】
ステップ５：９でＴjがＴjitを超える、すなわちＴjitが現在非常に小さく、現在経験している増加中のジッタでバッファがアンダーフローすることを防ぐためにＴjitが増やさなければならないことが発見されたならば、ステップ５：１０に示されるように現在のＴjに基づいてｃａｔｃｈＵｐＬｉｍｉｔが設定され、一方で、現在のＴjitの値が適切であること又は不必要に高いジッタ・バッファ遅延をもたらす非常に高いことが発見されたならば、別のステップ５：１１に示されるように、代わりにＴjitに基づいてｃａｔｃｈＵｐＬｉｍｉｔが設定されるだろう。
【００７３】
次のステップ５：１２で、ｃｎｔｒ１がＡＤＡＰＴ＿ＩＮＴに到達するほど長くトーク・スパートが続いたかどうか、すなわちＴjitを適応する時間かどうかが判定される。ＡＤＡＰＴ＿ＩＮＴがまだ満了していない場合に、現在のｃａｔｃｈＵｐＬｉｍｉｔに基づいて図５のＤで示されるようなキャッチアップ手続きを実行することによって手続きが続く。キャッチアップ手続きは、適用可能であることが発見される場合にはいつでも、キャッチアップ、すなわち最古のパケットをジッタ・バッファから抜き出すことによって、ジッタ・バッファ遅延が小さくなるように段階的に適応するように設定される。キャッチアップ手続きＤの実行に続いて、適応手続きＢは最後のステップ５：１３で終了するだろう。キャッチアップ手続きＤは図７を参照しつつ後でより詳細に説明される。
【００７４】
しかしながら、ステップ５：１２でＡＤＡＰＴ＿ＩＮＴが満了したことが発見されるならば、ジッタ保護時間Ｔjitはそれに応じて適応され、その後にキャッチアップ手続きＤが実行されるだろう。ステップ５：１４で、ＴjはＴjitと再び比較される。ＴjがＴjitを超えることが発見されたならば、高速アタックが実行される、すなわち次のステップ５：１５でＴjitはＴjの現在値へ即時に増やされるだろう。
【００７５】
一方で、ＴjitがＴjを超えないならば、これはＴjitが減らされるべきであることを示し、よって、代わりに低速減衰が実行される、すなわち別のステップ５：１６に示されるようにＴjitをＴjへ段階的に減らすことによってＴjitは適応されるだろう。
【００７６】
低速減衰の間に、適応すなわちＴjitを下方へ減らすことは式（７）、（８）により緩和される。ＴjitはＴjitminを減らすことがないように制限される。Ｔjitのこのような適応は、
Ｔjit＝ｍａｘ（Ｔjit−ｄ，Ｔjitmin）    （７）
で表現されうる。ここで、パラメータｄは、
ｄ＝ｍａｘ（ｉｎｔ（（Ｔjit−Ｔj）／ｍ），１）    （８）
で規定されるＴjitの適応減少幅である。ｍは経験による緩和定数でありチューニング・パラメータである。経験に基づくデフォルト値は例えば１０に設定されうる。
【００７７】
高速アタックと低速減衰との両方に続いて、処理は後続のステップ５：１７に続き、ちょうど今更新されたＴjitに基づいて、ｃａｃｔｈＵｐＬｉｍｉｔが設定される。さらに、新たな適応間隔で始まるだろう新たな反復に対して適応手続きを準備するために、適応間隔カウンタｃｎｔｒ１がゼロにリセットされ、Ｎminが現在のＮmaxの値に初期化され、Ｎmaxもゼロにリセットされる。
【００７８】
ステップ５：１５又は５：１６で実行されるＴjitの適応と、後続のステップ５：１７で実行される次回の適応期間のための初期化とに続いて、この分岐もキャッチアップ手続きＤへ続く。ここで、更新されたｃａｔｃｈＵｐＬｉｍｉｔは、キャッチアップが必要かどうかを判定するために用いられるだろう。キャッチアップ手続きが実行された後に、適応手続きＢはステップ５：１３で終了し、ジッタ・バッファ・アルゴリズムは図４のバッファリング手続きＡに続く。
【００７９】
図４のステップ４：１で代わりに無音期間が識別されたならば、ジッタ手続きは、無音期間の間に又はその先頭でＴjitを適応するように構成された適応手続きＣへ分岐することによって続くだろう。１つの実施形態に従うこのような手続きの例が図６のブロック・スキームを参照しつつ以下により詳細に説明される。
【００８０】
最初のステップ６：１で、適応手続きは、前回の適応間隔ＡＤＡＰＴ＿ＩＮＴが終了してから十分な時間が経過したかどうかを判定する。無音期間はいつ始まるかもしれず、通常は現在の適応期間の満了前に始まるため、ｃｎｔｒ１の現在値とＤＴＸＬｉｍｉｔと呼ばれるパラメータとを最初に比較することによって、Ｔjitの最後の適応から十分に長い期間が経過したかどうかが最初に判定される。ＤＴＸＬｉｍｉｔは事前に規定された定数であり、ＡＤＡＰＴ＿ＩＮＴよりも小さくなるように選ばれるチューニング・パラメータである。ＤＴＸＬｉｍｉｔの典型的なデフォルト値は例えば２でありうる。
【００８１】
ステップ６：１でｃｎｔｒ１がＤＴＸＬｉｍｉｔをまだ超えていないことが発見されたならば、Ｔjitの直前の適応の終了が生じてから十分な時間が経過しておらず、Ｔjitの適応は実行されないだろう。代わりに、ステップ６：２でＮminがＭＡＸ＿ＶＡＬに設定される。
【００８２】
しかしながら、ステップ６：１でｃｎｔｒ１がＤＴＸＬｉｍｉｔを超えることが発見されたならば、Ｔjitの適応が必要であるだろうことが判定される。最初に、次のステップ６：３に示されるように、更新されたＮmax及びＮminから導出されるＮの変動に基づいて、現在のＴjが計算されるだろう。後続のステップ６：４で、更新されたＴjが現在のＴjitと比較され、無音期間の前のこの早すぎる適応間隔の間にすでに、Ｔjitが増やされる必要があるだろうことを現在の目標値Ｔjが示す場合に、後続のステップ６：５でＴjの現在値にＴjitは設定されてＴjitが増やされ、それによって、最近経験されたＮの変動とＴjitの現在値とに応じて、高速アタックが実行される。
【００８３】
次のステップ６：６で、ＮminはＮmaxの現在値へ初期化され、次のトーク・スパートの開始から始まる次の適応間隔のために準備される。また、後続のステップ６：７で、Ｎmaxとｃｎｔｒ１とはゼロにリセットされ、次の適応間隔のために準備される。
【００８４】
次に、キャッチアップ手続きＤの実行の前に、ステップ６：８で、更新されたＴjitに基づいて新たなｃａｔｃｈＵｐＬｉｍｉｔが設定される。キャッチアップ手続きが実行されると、適応手続きＣは最後のステップ６：９で終了し、ジッタ適応アルゴリズムは図４のジッタ・バッファリング手続きＡを実行することで続く。
【００８５】
キャッチアップ手続きＤの主な目的は、不必要に多くの待機中パケットがジッタ・バッファに存在する、すなわちＴjitが不必要に大きい状況において、適応手続きＢ又はＣで設定された変数ｃａｔｃｈＵｐＬｉｍｉｔに基づいて、段階的にキャッチアップすること、すなわち最古のパケットをジッタ・バッファから段階的に破棄することによって、ジッタ・バッファの現在の遅延が小さくなるように適応することである。
【００８６】
１つの実施形態に従って、段階的にキャッチアップすることによりバッファ遅延が小さくなるように適応するキャッチアップ手続きが図７のブロック・スキームを参照しつつ以下にさらに詳細に説明される。
【００８７】
最初にステップ７：１で、変数ｃａｔｃｈＵｐＬｉｍｉｔに基づいて、現在のバッファリング時間が予測よりも長いかどうかが判定される。この瞬間に対する最長のバッファリング遅延、すなわちＮ＊Ｔｒｅｐinで規定される最古のパケットのバッファリング遅延が現在のｃａｔｃｈＵｐＬｉｍｉｔを超えないならば、ジッタ・バッファにおいてキャッチアップの必要はなく、よって、キャッチアップ手続きＤは最後のステップ７：４で終了する。段階的なキャッチアップのレートはカウンタｃｎｔｒ２により制御され、よって、ステップ７：２に示されるようにｃｎｔｒ２がすでにゼロに到達していない限り、ステップ７：３に示されるように、キャッチアップ手続きから離れる前に、ｃｎｔｒ２は１だけ減らされるだろう。
【００８８】
しかしながら、ステップ７：１で最古のパケットのバッファリング遅延が現在のところ現在のｃａｔｃｈＵｐＬｉｍｉｔを超えることが発見されたならば、キャッチアップが必要であると判定される。カウンタｃｎｔｒ２は、この条件が有効である限り、ステップ７：６に示されるように、ｋ回目の反復ごとの割合でジッタ・バッファ内の最古のパケットが破棄されることを保証し、それによって、ステップ５：１６でＴjitを減らすことにより始まった低速減衰が終了する。ｋはプリセットされたチューニング・パラメータであり、最小のキャッチアップ期間を規定する。パラメータｋの値は典型的に経験に基づいて選択される。ｋの典型的な値は８でありえ、Ｔｒｅｐinが２０ｍｓである場合に、２０ｍｓ／１６０ｍｓの最大キャッチアップ・レートに対応する。
【００８９】
ステップ７：６でｃｎｔｒ２がｋに等しいことが発見されるごとに、段階的なキャッチアップが実行され、ジッタ・バッファ内の最古のパケットがバッファから抜き出されて破棄される。これは別のステップ７：７で説明される。最古のパケットの抜き出しに続いて、Ｎが更新され、すなわち１だけ減らされ、キャッチアップが実行されたことを示すために次のステップ７：８でｃｎｔｒ２がゼロにリセットされる。次に、適応間隔ＡＤＡＰＴ＿ＩＮＴが現在のキャッチアップ期間と同時にちょうど終了したかどうか、すなわちｃｎｔｒ１がゼロに等しいかどうかが判定される。これはステップ７：９で検証される。この場合に、キャッチアップ手続きＤはステップ７：４で終了するだろう。しかしながら、ｃｎｔｒ１がゼロを超えるならば、最古のパケットがジッタ・バッファから破棄されたばかりであることを考慮に入れるために、Ｎmax及びＮminが更新、すなわち１だけ減らされなければならない。この手続きはステップ７：１０〜７：１３で示される。キャッチアップ手続きＤの実行に続いて、手続きはそれぞれの適応手続きＢ又はＣへ戻る。
【００９０】
図３〜７を参照しつつ提示された上述の実施形態は音声バーストにおいて送信された音声パケットをバッファリングするバッファリング方法を参照したが、本方法は、本明細書でメディア・パケットと呼ばれる音声パケット以外のパケットを介して配信されるビデオなどのようなジッタに影響を受けやすい他のタイプのメディアを扱うためにも適用可能でありうる。音声バーストで配信される代わりに、バッファへ到来するメディア・パケットがメディア・バーストにおいて配信されることが理解されるべきである。しかしながら、ＳＩＤだけでなく無音期間も音声にだけ規定されるため、メディア・スパートにおいて配信されるメディア・パケットが扱われる場合に、本方法の何らかの適応がなされる。無音期間分岐Ｃが無効の間に、メディア・バーストを配信するストリーミング・セッション中に図４のトーク・スパート／メディア・スパート分岐Ｂを維持することによって、説明された方法は、音声以外のメディアをバッファリングするために適応されうる。
【００９１】
本明細書で説明されたジッタ・バッファ・アルゴリズムに従って動作するように構成された適応ジッタ・バッファを備える典型的なネットワーク・ノードが図８のブロック図を参照しつつ以下に説明される。図８のネットワーク・ノード８００は、ノードが接続されるパケット交換ネットワーク（不図示）から到来するパケットを受信する受信ユニットを備える。バッファリング・ユニット８０２は上述されてきたバッファ遅延を動的に調整する方法を実行するように構成される。バッファリング・ユニットは受信ユニット８０１を介する適応ジッタ・バッファ８０３へのパケットの挿入と、送信ユニット８０４を介する適応ジッタ・バッファ８０３からのパケットの抜き出しとを制御する。適応ジッタ・バッファ８０３から送信ユニット８０４へパケットが抜き出されると、パケットは受信ネットワーク（不図示）へと送信される。フレーム番号の関数としてｍｓ単位の遅延で説明される上述のジッタ・バッファリング・アルゴリズムの例示的な性能が図９ａ及び図９ｂに示される。図９ａは音声の間欠送信すなわちＤＴＸが無効であるシミュレーションを説明し、図９ｂはＤＴＸが有効であるシミュレーションを説明する。
【００９２】
両シミュレーションは同一のオーディオ・サンプル・ファイルと同一の輸送遅延プロファイルとが用いられて実行された。両図において、細線は入力輸送遅延を表し、太線は再生時のバッファ遅延を含む全遅延を表す。太線がｘ軸まで低下する各機会は遅延スパイクによるバッファ・アンダーフローを示す。
【００９３】
本発明は、ネットワーク・ノードにおいて提供される限られた複雑性を有する適応ジッタ・バッファを表す。適用ジッタ・バッファはタイムスタンプ情報へアクセスすることを要求しない。すなわち、ＩＰ層へのアクセスを必要としない。タイムスタンプ情報に依存する代わりに、ジッタ・バッファは符号化された音声パケット／フレームを直接的に扱うように構成される。ジッタ・バッファ内のパケット数の監視された変動は必要となるジッタ保護時間Ｔjitを推定するのに用いられる。更新されたＴjitに従って、エラー隠蔽パケットを追加することによって、又は最古の音声パケットをジッタ・バッファから削除することによって、経験されたジッタ・バッファ遅延はネットワーク・ノードの入力におけるパケットの現在の到来レートに適応されるだろう。
【００９４】
本発明は個別の例示的な実施形態を参照して説明されてきたものの、本説明は一般に発明の概念を説明することだけを意図するものであり、添付の請求項で規定される発明の範囲を限定するものとして受け取られるべきでない。
【００９５】
略語リスト
ＤＴＸ  間欠送信（Discontinuous transmission）
ＳＩＤ  無音挿入記述子（Silence Insertion Descriptor）
【図１】
2011510594.tif 000003
【図２ａ】
2011510594.tif 000004
【図２ｂ】
2011510594.tif 000005
【図２ｃ】
2011510594.tif 000006
【図２ｄ】
2011510594.tif 000007
【図３】
2011510594.tif 000008
【図４】
2011510594.tif 000009
【図５】
2011510594.tif 000010
【図６】
2011510594.tif 000011
【図７】
2011510594.tif 000012
【図８】
2011510594.tif 000013
【図９ａ】
2011510594.tif 000014
【図９ｂ】
2011510594.tif 000015
【手続補正書】
【提出日】平成21年11月11日(2009.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケット交換ネットワークからメディアストリームのメディアストリーム・パケットを受信する際に、適応ジッタ・バッファを備えるネットワーク・ノードにおいて、前記適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、
前記メディアストリームがメディア・スパート又はトーク・スパート内にある場合に、前記ジッタ・バッファについての最大バッファリング遅延に対する現在の目標値であるジッタ保護時間Ｔjitが前記ジッタ・バッファ内に待機中のパケット数Ｎの変動Ｎmax−Ｎminに基づいて更新されるように、間隔Ｔｒｅｐinで前記ジッタ・バッファを反復して適応するステップと
を有し、各反復は、
所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたって監視されたＮの最小値Ｎmin及び最大値Ｎmaxを更新するステップと、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいて、Ｔjitに要求される適応の指標である新たな目標値Ｔjを計算するステップと、
Ｔjitの前回の調整を行ってからの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjの値でＴjitを調整するステップと
を有することを特徴とする方法。
【請求項２】
前記調整するステップは、
前記現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を有することを特徴とする請求項１に記載の方法。
【請求項３】
前記調整するステップは
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有することを特徴とする請求項１又は２に記載の方法。
【請求項４】
ｃａｔｃｈＵｐＬｉｍｉｔは、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定され、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定される
ことを特徴とする請求項３に記載の方法。
【請求項５】
パケット交換ネットワークからメディアストリームのメディアストリーム・パケットを受信する際に、適応ジッタ・バッファを備えるネットワーク・ノードにおいて、前記適応ジッタ・バッファのバッファ遅延を動的に調整する方法であって、無音期間内又は直近の受信パケットがＳＩＤである場合に実行される、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入するステップと、
前回のＴjitの適応を行ってからの、トーク・スパートの間の反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合に、前記ジッタ・バッファについての最大バッファリング遅延に対する現在の目標値であるジッタ保護時間Ｔjitが前記ジッタ・バッファ内に待機中のパケット数Ｎの変動Ｎmax−Ｎminに基づいて更新されるように、間隔Ｔｒｅｐinで前記ジッタ・バッファを反復して適応するステップと
を有し、各反復は、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいて、Ｔjitに要求される適応の指標である更新された目標値ＴjをＴjitに対して計算するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合に、前記計算されたＴjの値でＴjitを増やすステップと
を有することを特徴とする方法。
【請求項６】
前記調整するステップは
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの前記変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
をさらに有することを特徴とする請求項５に記載の方法。
【請求項７】
ｃａｔｃｈＵｐＬｉｍｉｔは、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定されることを特徴とする請求項６に記載の方法。
【請求項８】
前記メディアストリームはオーディオ・ストリーム又はビデオ・ストリームの何れかであることを特徴とする請求項１乃至７の何れか１項に記載の方法。
【請求項９】
パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、前記バッファのバッファ遅延を動的に調整するように構成されたネットワーク・ノードであって、
前記ノードへ到来するパケットを受信するように構成された受信ユニットと、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入し、前記メディアストリームがメディア・スパート又はトーク・スパート内にある場合に、前記ジッタ・バッファについての最大バッファリング遅延に対する現在の目標値であるジッタ保護時間Ｔjitが前記ジッタ・バッファ内に待機中のパケット数Ｎの変動Ｎmax−Ｎminに基づいて更新されるように、間隔Ｔｒｅｐinで前記ジッタ・バッファを反復して適応するように構成されたバッファリング・ユニットと
を備え、
前記バッファリング・ユニットは、
適応手続きの所定の反復回数を規定する適応間隔ＡＤＡＰＴ＿ＩＮＴにわたってＮを監視することによって、Ｎの最小値Ｎmin及び最大値Ｎmaxを更新するステップと、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいて、Ｔjitに要求される適応の指標である目標値Ｔjを計算するステップと、
Ｔjitの前回の調整を行ってからの反復回数がＡＤＡＰＴ＿ＩＮＴに等しい場合にＴjに従ってＴjitを調整するステップと、
によって、各反復を実行するように構成される
ことを特徴とするネットワーク・ノード。
【請求項１０】
前記調整するステップを実行する際に、前記バッファリング・ユニットは、
前記現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合にＴjに従ってＴjitを増やすステップ、又は
現在の変動よりも大きなＮの変動のために現在のＴjitの大きさが設定されている場合にＴjに従ってＴjitを減らすステップ
を実行するようにさらに構成されることを特徴とする請求項９に記載のネットワーク・ノード。
【請求項１１】
前記調整するステップを実行する際に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップ、又は低速減衰を実行して、現在のＴjへ向けてＴjitを段階的に減らすステップと、
現在の最大バッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されることを特徴とする請求項９又は１０に記載のネットワーク・ノード。
【請求項１２】
前記バッファリング・ユニットは、ｃａｔｃｈＵｐＬｉｍｉｔを、Ｔjitが更新されておらず且つ現在のＴjが現在のＴjitを超える場合に、
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔj＋Ｔｒｅｐin
として規定し、それ以外の場合に
ｃａｔｃｈＵｐＬｉｍｉｔ＝Ｔjit＋Ｔｒｅｐin
として規定する
ように構成されることを特徴とする請求項１１に記載のネットワーク・ノード。
【請求項１３】
パケット交換ネットワークからメディアストリームのパケットを受信するための適応ジッタ・バッファを備え、前記バッファのバッファ遅延を動的に調整するように構成されたネットワーク・ノードであって、
前記ノードへ到来するパケットを受信するように構成された受信ユニットと、
前記ネットワーク・ノードへ到来するパケットを前記ジッタ・バッファへ挿入し、前回のＴjitの適応を行ってからの、トーク・スパートの間の反復回数が所定の無音期間適応リミットＤＴＸＬｉｍｉｔを超える場合に、前記ジッタ・バッファについての最大バッファリング遅延に対する現在の目標値であるジッタ保護時間Ｔjitが前記ジッタ・バッファ内に待機中のパケット数Ｎの変動Ｎmax−Ｎminに基づいて更新されるように、間隔Ｔｒｅｐinで前記ジッタ・バッファを反復して適応するように構成されたバッファリング・ユニットと
を備え、
前記バッファリング・ユニットは、
Ｔj＝（Ｎmax−Ｎmin）＊Ｔｒｅｐin
となるように、Ｎの前記変動に基づいて、Ｔjitに要求される適応の指標である更新された目標値ＴjをＴjitに対して計算するステップと、
現在のＴjitで対処可能なものよりもＮの前記変動が大きい場合に、前記計算されたＴjの値でＴjitを増やすステップと
によって、各反復を実行するように構成される
ことを特徴とするネットワーク・ノード。
【請求項１４】
前記調整するステップの間に、前記バッファリング・ユニットは、
ＴjがＴjitを超える場合に、高速アタックを実行して、Ｔjに等しくなるようにＴjitを即時に更新するステップと、
現在のバッファ遅延時間Ｎ＊Ｔｒｅｐinが所定の閾値ｃａｔｃｈＵｐＬｉｍｉｔを超える場合に、Ｔjitが現在のＮの変動に対応するまで、緩和されたレートで前記バッファから最古のパケットを段階的に破棄するステップと
を実行するようにさらに構成されることを特徴とする請求項１３に記載のネットワーク・ノード。
【国際調査報告】
2011510594.tif 000016
2011510594.tif 000017
2011510594.tif 000018
2011510594.tif 000019