(57)【特許請求の範囲】
【請求項１】
方法であって、前記方法は、装置が実行し、前記方法は、
複数のパスの各々上で情報を送信することと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信することと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させることと、ここにおいて、前記送信することは、１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させることは、前記フィードバック情報に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整すると判断することを備える、
前記判断に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整するによって前記複数のパスの間で前記送信の同期を維持することと
を備え、前記調整することは、適応タイマの満了時間が満了した後行われ、前記適応タイマは、キャリブレートされた遅延によって設定され、前記キャリブレートされた遅延は、前記トラフィック性能変数により、更新される、マルチパスレート適応の方法。
【請求項２】
前記情報は、マルチメディアコンテンツを備える、
請求項１に記載の方法。
【請求項３】
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
請求項２に記載の方法。
【請求項４】
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
のうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項５】
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、請求項１に記載の方法。
【請求項６】
前記フィードバック情報は、エラー処理情報を備え、前記エラー処理情報は、エラー処理ルーチンを調整するために利用される、
請求項１に記載の方法。
【請求項７】
前記同期させることは、抑圧動作または前方シーク動作のうちの少なくとも１つを備える、
請求項１に記載の方法。
【請求項８】
前記同期させることは、前記フィードバック情報に応答する、
請求項１に記載の方法。
【請求項９】
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信することと、ここで、前記テストバーストが、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定することと
をさらに備える、請求項１に記載の方法。
【請求項１０】
複数のパスの各々上で情報を送信するための手段と、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信するための手段と、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させるための手段と、ここにおいて、前記送信することは、１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させるための手段は、前記フィードバック情報に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整すると判断するための手段を備える、
判断に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整するによって前記複数のパスの間で前記送信の同期を維持するための手段と
を備え、前記調整することは、適応タイマの満了時間が満了した後行われ、前記適応タイマは、キャリブレートされた遅延によって設定され、前記キャリブレートされた遅延は、前記トラフィック性能変数により、更新される、マルチパスレート適応のための装置。
【請求項１１】
前記情報は、マルチメディアコンテンツを備える、
請求項１０に記載の装置。
【請求項１２】
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々が前記複数のパスの各々上で送信される、
請求項１１に記載の装置。
【請求項１３】
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
のうちの少なくとも１つを備える、請求項１０に記載の装置。
【請求項１４】
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、請求項１０に記載の装置。
【請求項１５】
前記フィードバック情報は、エラー処理情報を備え、前記エラー処理情報は、エラー処理ルーチンを調整するために利用される、
請求項１０に記載の装置。
【請求項１６】
前記同期させるための手段は、抑圧動作または前方シーク動作のうちの少なくとも１つを実行するための手段を備える、
請求項１０に記載の装置。
【請求項１７】
前記同期させるための手段は、前記フィードバック情報に応答して同期させるように構成される、
請求項１０に記載の装置。
【請求項１８】
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信するための手段と、ここで、前記テストバーストは、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定するための手段と
をさらに備える、請求項１０に記載の装置。
【請求項１９】
少なくとも１つのプロセッサに、
複数のパスの各々上で情報を送信させるためのコードと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信させるためのコードと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させるためのコードと、ここにおいて、前記送信することは、１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させるためのコードは、前記フィードバック情報に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整すると判断させるためのコードを備える、
判断に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整することによって前記複数のパスの間で前記送信の同期を維持させるためのコードと
を備え、前記調整することは、適応タイマの満了時間が満了した後行われ、前記適応タイマは、キャリブレートされた遅延によって設定され、前記キャリブレートされた遅延は、前記トラフィック性能変数により、更新される、コンピュータプログラム。
【請求項２０】
前記情報は、マルチメディアコンテンツを備える、
請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
のうちの少なくとも１つを備える、請求項１９に記載のコンピュータプログラム。
【請求項２３】
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、請求項１９に記載のコンピュータプログラム。
【請求項２４】
前記フィードバック情報は、エラー処理情報を備え、前記エラー処理情報は、エラー処理ルーチンを調整するために利用される、
請求項１９に記載のコンピュータプログラム。
【請求項２５】
同期させるための前記コードは、抑圧動作または前方シーク動作のうちの少なくとも１つを実行するためのコードを備える、
請求項１９に記載のコンピュータプログラム。
【請求項２６】
同期させるための前記コードは、前記フィードバック情報に応答して同期させるように構成された、
請求項２５に記載のコンピュータプログラム。
【請求項２７】
前記少なくとも１つのプロセッサに、
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信させるためのコードと、ここで、前記テストバーストは、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定させるためのコードと
をさらに備える、請求項１９に記載のコンピュータプログラム。
【請求項２８】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと
を備える、マルチパスレート適応のための装置であって、前記少なくとも１つのプロセッサは、
複数のパスの各々上で情報を送信することと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信することと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させることと、ここにおいて、前記送信することは、１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させることは、前記フィードバック情報に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整すると判断することを備える、
判断に基づいて前記１つまたは複数の送信パラメータのうちの少なくとも１つを調整するによって前記複数のパスの間で前記送信の同期を維持することと
を行うように構成され、前記調整することは、適応タイマの満了時間が満了した後行われ、前記適応タイマは、キャリブレートされた遅延によって設定され、前記キャリブレートされた遅延は、前記トラフィック性能変数により、更新される、装置。
【請求項２９】
前記情報は、マルチメディアコンテンツを備える、
請求項２８に記載の装置。
【請求項３０】
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
請求項２９に記載の装置。
【請求項３１】
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
のうちの少なくとも１つを備える、請求項２８に記載の装置。
【請求項３２】
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、請求項２８に記載の装置。
【請求項３３】
前記フィードバック情報は、エラー処理情報を備え、前記エラー処理情報は、エラー処理ルーチンを調整するために利用される、
請求項２８に記載の装置。
【請求項３４】
前記同期させることは、抑圧動作または前方シーク動作のうちの少なくとも１つを備える、
請求項２８に記載の装置。
【請求項３５】
前記同期させることは、前記フィードバック情報に応答する、
請求項２８に記載の装置。
【請求項３６】
前記少なくとも１つのプロセッサは、
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信することと、ここで、前記テストバーストが、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定することと
を行うようさらに構成された、請求項２８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、一般に電気通信システムに関し、より詳細には、多重記述コーディングを利用するマルチメディアストリーミングシステムに関する。
【背景技術】
【０００２】
マルチメディアコンテンツはエンドツーエンドシステムにおいて与えられ得る。現在、多くのそのようなエンドツーエンドシステムはレート適応機能を含み、マルチメディアの単一の記述が単一のパスを介してコンテンツソースから送り先に送信される。マルチメディアコンテンツがソースからアグリゲータへの配信のために複数の記述に分割される、多重記述コーディング（ＭＤＣ）を利用するシステムでは、記述は複数のパスを介して与えられ得る。このようにして、システムは向上したロバストネスを有することができ、コンテンツは、記述のうちの１つまたは複数が失われるにもかかわらず、復元され得る。さらに、記述は、コンテンツの低解像度バージョン、またはコンテンツのいくつかの部分のみを含み得るので、パスのうちのいずれか１つ上でのオーバーヘッドは、ただ単一のパスを利用する他のシステムと比較して低減される。
【０００３】
しかしながら、モバイルデバイスがストリーミングコンテンツサーバとして利用されるとき、チャネル状態が時間とともに大幅に変動することがある。これにより、ストリーミングコンテンツを搬送するチャネルの能力が時間依存性になることがある。したがって、当技術分野では、モバイルコンテンツサーバのための改善されたマルチメディアストリーミング能力がまだ望まれている。
【発明の概要】
【０００４】
マルチメディアコンテンツがソースからアグリゲータへの配信のために複数の記述に符号化される、多重記述コーディング（ＭＤＣ）を利用するシステムでは、記述は複数のパスを介して与えられ得る。このようにして、システムは向上したロバストネスを有することができ、コンテンツは、記述のうちの１つまたは複数が失われるにもかかわらず、復元され得る。さらに、記述は、コンテンツの低解像度バージョン、またはコンテンツのいくつかの部分のみを含み得るので、パスのうちのいずれか１つ上でのオーバーヘッドは、ただ単一のパスを利用する他のシステムと比較して低減される。
【０００５】
本開示の様々な態様によれば、パスの各々の様々な条件に従って、マルチメディアコンテンツが複数の記述にコーディングされ、複数のパスを介して配信されるとき、良好で一貫したエクスペリエンス品質（ＱｏＥ）を維持するためにパスの各々の間でレート適応が調整され得る。単一のパスのための送信のレートを適応させるシステムとは対照的に、本開示の様々な態様は、複数の記述の間の同期を改善するためにパス間性能統計値のようなファクタを考慮に入れる。
【０００６】
一態様では、本開示は、複数のパスの各々上で情報を送信することと、複数のパスについての１つまたは複数のトラフィック性能変数を含むフィードバック情報を受信することと、フィードバック情報に応答してパスのうちの１つまたは複数上で送信することを適応させることと、送信することを適応させることに対応して複数のパスの間で同期させることとを含む、マルチパスレート適応の方法を提供する。
【０００７】
本開示の別の態様は、マルチパスレート適応のためのフィードバックを与える方法であって、複数のパス上で情報を受信することと、情報に応答してフィードバック情報を与えることであって、フィードバック情報が、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を含む、フィードバック情報を与えることとを含む、方法を提供する。
【０００８】
本開示の別の態様は、複数のパスの各々上で情報を送信するための手段と、複数のパスについての１つまたは複数のトラフィック性能変数を含むフィードバック情報を受信するための手段と、フィードバック情報に応答してパスのうちの１つまたは複数上で送信することを適応させるための手段と、送信することを適応させることに対応して複数のパスの間で同期させるための手段とを含む、マルチパスレート適応のための装置を提供する。
【０００９】
本開示の別の態様は、マルチパスレート適応のためのフィードバックを与えるための装置であって、複数のパスを介して情報を受信するための手段と、情報に応答してフィードバック情報を与えるための手段であって、フィードバック情報が、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を含む、フィードバック情報を与えるための手段とを含む、装置を提供する。
【００１０】
本開示の別の態様は、コンピュータ可読媒体を含むコンピュータプログラム製品を提供する。ここで、コンピュータ可読媒体は、複数のパスの各々上で情報を送信するためのコードと、複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信するためのコードと、フィードバック情報に応答してパスのうちの１つまたは複数上で送信することを適応させるためのコードと、送信することを適応させることに対応して複数のパスの間で同期させるためのコードとを含む。
【００１１】
本開示の別の態様は、コンピュータ可読媒体を含むコンピュータプログラム製品を提供する。ここで、コンピュータ可読媒体は、複数のパスを介して情報を受信するためのコードと、情報に応答してフィードバック情報を与えるためのコードであって、フィードバック情報が、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を含む、フィードバック情報を与えるためのコードとを含む。
【００１２】
本開示の別の態様は、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合されたメモリとを含む、マルチパスレート適応のための装置を提供する。ここで、少なくとも１つのプロセッサは、複数のパスの各々上で情報を送信することと、複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信することと、フィードバック情報に応答してパスのうちの１つまたは複数上で送信することを適応させることと、送信することを適応させることに対応して複数のパスの間で同期させることとを行うように構成される。
【００１３】
本開示の別の態様は、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合されたメモリとを含む、マルチパスレート適応のためのフィードバックを与える装置を提供する。ここで、少なくとも１つのプロセッサは、複数のパスを介して情報を受信することと、情報に応答してフィードバック情報を与えることであって、フィードバック情報が、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、フィードバック情報を与えることとを行うように構成される。
【図面の簡単な説明】
【００１４】
【図１】処理システムを採用する装置のためのハードウェア実装形態の一例を示すブロック図。
【図２】エンドツーエンドマルチパスレート適応システムを示す簡略ブロック図。
【図３】ｉ番目のパスについてのキャリブレーションのためのプロセスを示すフローチャート。
【図４】遅延キャリブレーションを示すフローチャート。
【図５Ａ】複数のパスの間の同期のためのプロセスを示すフローチャート。
【図５Ｂ】複数のパスの間の同期のためのプロセスを示すフローチャート。
【図５Ｃ】複数のパスの間の同期のためのプロセスを示すフローチャート。
【図５Ｄ】複数のパスの間の同期のためのプロセスを示すフローチャート。
【図５Ｅ】複数のパスの間の同期のためのプロセスを示すフローチャート。
【図６】マルチパスレート適応のための例示的なプロセス６００を示すフローチャート。
【図７】マルチパスレート適応のためのフィードバックを与えるための例示的なプロセス７００を示すフローチャート。
【発明を実施するための形態】
【００１５】
添付の図面に関して以下に示す発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明する概念が実施され得る唯一の構成を表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素をブロック図の形式で示す。
【００１６】
図１は、処理システム１１４を採用する装置１００のためのハードウェア実装形態の一例を示すブロック図である。この例では、処理システム１１４は、バス１０２によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス１０２は、処理システム１１４の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス１０２は、プロセッサ１０４によって概略的に表される１つまたは複数のプロセッサと、メモリ１０５と、コンピュータ可読媒体１０６によって概略的に表されるコンピュータ可読媒体とを含む様々な回路を互いにリンクする。バス１０２はまた、タイミングソース、周辺機器、電圧調整器、および電力管理回路など、様々な他の回路をリンクし得るが、これらの回路は当技術分野においてよく知られており、したがって、これ以上説明しない。バスインターフェース１０８は、バス１０２とトランシーバ１１０との間のインターフェースを与える。トランシーバ１１０は、送信媒体を介して様々な他の装置と通信するための手段を与える。装置の性質に応じて、ユーザインターフェース１１２（たとえば、キーパッド、ディスプレイ、スピーカー、マイクロフォン、ジョイスティック）も与えられ得る。
【００１７】
プロセッサ１０４は、バス１０２を管理することと、コンピュータ可読媒体１０６に記憶されたソフトウェアの実行を含む一般的な処理とを担当する。ソフトウェアは、プロセッサ１０４によって実行されたとき、処理システム１１４に、特定の装置のための以下で説明する様々な機能を実行させる。コンピュータ可読媒体１０６はまた、ソフトウェアを実行するときにプロセッサ１０４によって操作されるデータを記憶するために使用され得る。
【００１８】
図２は、本開示の態様によるエンドツーエンドマルチパスレート適応システム２００を示す簡略ブロック図である。レート適応システムは、ソース２０２からアグリゲータ２１４への複数のデータパスと、アグリゲータ２１４からソース２０２への単一のフィードバックパスとを与える。
【００１９】
ストリーミングサーバ２０１は、送り先２１１にＭＤＣコンテンツをストリーミングするための任意の好適なノードであり得る。たとえば、ストリーミングサーバ２０１は、モバイルフォン、パーソナルコンピュータ、サーバ、または本明細書で説明するようにコンテンツをストリーミングすることを処理することが可能な任意の他の好適なコンピューティングデバイスであり得る。いくつかの例では、ストリーミングサーバ２０１は、サーバおよび１つまたは複数のソースヘルパー（図示せず）など、複数の装置を含み得る。たとえば、複数のノードの各々は、送信の追加のダイバーシティを与えるために別個のそれぞれのアップリンク上で１つまたは複数の記述を送信し得る。ストリーミングサーバ２０１は、図１に示すような１つまたは複数の処理システム１１４を含み得る。図示の例では、ストリーミングサーバ２０１は、ソース２０２と、複数のトランスレータ（transrater）２０４ａ〜２０４ｂと、複数の送信バッファ２０６ａ〜２０６ｂと、フィードバック受信機２０８とを含む。同様に、送り先２１１は、図１に示すように１つまたは複数の処理システム１１４を含み得る。図示の例では、送り先２１１は、複数の受信機バッファ２１２ａ〜２１２ｂと、アグリゲータ２１４と、フィードバック送信機２１６とを含む。
【００２０】
ソース２０２は、共通トラフィックセッションのためにデータを記憶し、および／またはデータを複数のパスに送信するために構成されたノードであり得る。図では、２つのパスが示されているが、任意の好適な数のパスが利用され得る。いくつかの態様では、ソースは、コンテンツ、たとえば、マルチメディアコンテンツを記憶するためのメモリ、ハードドライブなどの記憶スペースを含み得る。記憶されたマルチメディアコンテンツは、特定の実装形態に応じて、符号化されることも符号化されないこともある。ソース２０２は、ソース２０２においてコンテンツが受信されたときにコンテンツを符号化するための符号器（図示せず）を含み得る。本開示のいくつかの態様では、コンテンツがオフラインで符号化され、符号化されたコンテンツがソース２０２中に記憶され得るように、符号器は別個の要素であり得る。本開示の別の態様では、トランスレータ２０４は、ソース２０２によって与えられたコンテンツの符号化がリアルタイムで実行され得るように符号器を含み得る。本開示の他の態様では、ソースは、カメラ、マイクロフォン、ネットワークインターフェースなどのコンテンツ生成またはキャプチャ機構であり得る。
【００２１】
トランスレータ２０４は、マルチメディアコンテンツをソフトコーディングすることと、どのくらい圧縮が使用されるべきかを判断することと、コーディングフォーマットを選択することと、送信側バッファ２０６に情報を与えることとを行うように構成されたノードであり得る。ここで、各トランスレータ２０４は、コンテンツソース２０２からマルチメディアコンテンツを受信する。さらに、各トランスレータ２０４は、フィードバック受信機２０８から調整情報を受信する。トランスレータ２０４に与えられる調整情報は、送り先２１１から受信したフィードバック情報に従って判断された、エラー処理情報と、コーディングレート調整情報と、再同期情報とを含み得る。トランスレータ２０４は、エラー処理情報に従ってソースコーディングプロシージャ内のエラー処理ルーチンを変化させることが可能であり得る。トランスレータ２０４は、さらに、コーディングレート調整情報に従ってメディアコンテンツを符号化するためのコーディングレートを変化させることが可能であり得る。さらに、トランスレータ２０４は、再同期情報に従って同期のためにメディアコンテンツのタイミングを調整することが可能であり得る。これらの調整について以下でさらに詳細に説明する。
【００２２】
送信バッファ２０６は、それぞれのトランスレータ２０４によって与えられた符号化マルチメディアコンテンツを一時的に記憶するためのメモリを含み得、バッファされたマルチメディアコンテンツをインターネット２１０など、ネットワークに送信するための通信インターフェースをさらに含み得る。たとえば、バッファ２０６は、モデム、イーサネット（登録商標）インターフェース、ワイヤレスエアインターフェースを利用するためのワイヤレス送信機、またはインターネット２１０に情報を与えるための任意の他の好適な手段を含むか、またはそれらに通信可能に結合され得る。送信バッファ２０６は、さらに、送り先２１１から受信したフィードバック情報に従って判断された、フィードバック受信機２０８からの調整情報を受信し得る。たとえば、送信バッファ２０６は、フィードバック受信機２０８からの送信レート調整情報に従って送信レートを変化させることが可能であり得る。
【００２３】
フィードバック受信機２０８は、１つまたは複数の適応アルゴリズムを実行することと、送り先２１１からのフィードバック情報に従って調整信号を生成することとを行うためのレート適応モジュールを含むノードであり得る。たとえば、フィードバック受信機２０８は、フィードバック情報を受信し、ストリーミングサーバ２０１からの送信の特定のパラメータが調整され得ることを判断し得る。したがって、フィードバック受信機は、フィードバック情報に従ってトランスレータ２０４および／または送信バッファ２０６のうちの１つまたは複数に調整情報を与え得る。調整情報は、コーディングレート調整情報と、同期情報と、送信レート調整情報と、エラー処理情報とを含み得る。
【００２４】
コーディングレート調整情報は、符号器がソース２０２中に配置されているのか、トランスレータ２０４中に配置されているのか、または別個のエンティティとして配置されているのかにかかわらず、符号器に与えられ得る。図示の例では、符号器（図示せず）はリアルタイム符号化のためにトランスレータ２０４内にあるので、コーディングレート調整情報は、トランスレータ２０４に与えられる。別の例では、メディアコンテンツがオフラインで符号化され、符号化された形態でソース２０２において記憶される場合、フィードバック情報に基づいて圧縮またはコーディングレートを変更することはオプションであり得ない。そのような例では、コーディングレート調整情報は与えられ得ない。
【００２５】
同期情報は、複数のパスを同期させるために特定のトランスレータ２０４が実装し得る抑圧すること（throttling）または前方シークすること（seeking forward）の量を示すために利用され得る。すなわち、フィードバック情報に応答したパスのうちの１つまたは複数の適応によりパスが同期外れになり得るとき、パスを補償し同期させるためにパスのうちの１つまたは複数を抑圧することまたは前方シークすることするために同期情報が利用され得る。ここで、トランスレータの抑圧することは、概して、そのパス上でデータを送ることを一時的に休止することを指すことがある。さらに、トランスレータのための前方シークすることは、概して、すでに符号化され得たデータの一部をスキップオーバーし、別のセクションに本質的に高速に進み、そのセクションからデータを送り始めることを指すことがある。
【００２６】
エラー処理情報は、エラー処理ルーチンの調整のために利用され得る。エラー処理ルーチンはソースコーディングの一部であり、これは当業者に知られており、したがって本開示では詳細に説明しない。
【００２７】
送信レート調整情報は、送信バッファ２０６からインターネット２１０までのバッファされたメディアコンテンツの送信のレートを制御するために送信バッファ２０６において利用され得る。すなわち、リアルタイム符号化が利用されない本開示のいくつかの態様では、送信バッファ２０６からの送信レートは調整され得ない。本開示のいくつかの態様では、送信レート調整情報は利用され得ない。
【００２８】
インターネット「クラウド」２１０は、送信されたコンテンツ情報をソース２０１から送り先２１１に搬送するためのネットワークを示す一例である。任意の好適な通信媒体がソース２０１と送り先２１１との間で利用され得る。
【００２９】
送り先２１１において、受信機バッファ２１２は、インターネット２１０からメディアコンテンツ情報を受信し得る。受信機バッファ２１２は、ストリーミングサーバ２０１から与えられた受信マルチメディアコンテンツを一時的に記憶するためのメモリを含み得、受信機バッファ２１２をインターネット２１０に通信可能に結合するための通信インターフェースをさらに含み得る。たとえば、バッファ２１２は、モデム、イーサネットインターフェース、ワイヤレスエアインターフェースを利用するためのワイヤレス受信機、またはインターネット２１０から情報を受信するための任意の他の好適な手段を含むか、またはそれらに通信可能に結合され得る。受信機バッファ２１２は、さらに、バッファされたコンテンツをアグリゲータ２１４に与え得る。
【００３０】
アグリゲータ２１４は、共通トラフィックセッションのために複数のパスからのデータをアグリゲートするノードであり得る。たとえば、アグリゲータは、受信バッファ２１２を含むパスからコンテンツの記述を受信し、符号化された記述を復号し、復号された記述を組み合わせて出力コンテンツを生成し得る。さらに、アグリゲータ２１４は、複数のパスに対応する統計値を収集し、複数のパスを特徴づけるための１つまたは複数のメトリックを判断し、フィードバック送信機２１６とともに、ストリーミングサーバ２０１に送られるべきフィードバック情報を判断し、生成し得る。
【００３１】
本開示の様々な態様によれば、いくつかのシステムパラメータがレート適応のためにストリーミングサーバ２０１において利用され得る。
【００３２】
ＴRAとして示されたレート適応間隔は、レート適応が行われ得る最小時間間隔を表し得る。本開示のいくつかの態様では、ＴRAは約０．５秒であり得る。ＴRAの値は、ストリーミングサーバ２０１のみに知られ得る。ＲI（ｉ）として示された、複数のパスのうちのｉ番目のパスの初期コーディングレートは、ｉ番目のパスのソースにおけるコーディングレートの開始点を表し得る。ＲI（ｉ）の値は、ストリーミングサーバ２０１と送り先２１１の両方に知られ得る。
【００３３】
ストリーミングサーバ２０１は、各調整または適応に対応する適応タイマなど、いくつかのタイマを含み得る。これらのタイマは、いくつかのシステムパラメータを利用し得る。たとえば、同期のための適応タイマがタイムアウトする前に同期動作が行われないことを保証するために、同期調整のための適応タイマの満了時間ＴＯsyncが利用され得る。レート調整のための適応タイマがタイムアウトする前にレート調整が行われないことを保証するために、レート調整のための適応タイマの満了時間ＴＯrateが利用され得る。キャリブレーティングタイマがタイムアウトする前にキャリブレーション動作が行われないことを保証するために、キャリブレーションタイマの満了時間ＴＯcalが利用され得る。
【００３４】
ストリーミングサーバ２０１は、さらに、それぞれの送信バッファ２０６の各々のバッファ占有率をモニタし得る。バッファ占有率はいくつかのパラメータを利用し得る。アグリゲータにおいて時間的にパスごとのそれぞれの送信バッファ２０６占有率の下限を示すために、バッファ占有率下限ＢLが利用され得る。本開示のいくつかの態様では、ＢLは約３秒であり得る。送り先２１１は、バッファ占有率がＢLを下回ったときにストリーミングサーバ２０１にシグナリングし得る。アグリゲータにおいて時間的にあらゆるパスのバッファ占有率の上限を示すために、バッファ占有率上限ＢUが利用され得る。本開示のいくつかの態様では、ＢUは約６秒であり得る。送り先２１１は、バッファ占有率がＢUを超えたときにストリーミングサーバ２０１にシグナリングし得る。あらゆるパスの時間的な予想バッファ占有率を示すために、初期バッファ占有率ＢIが利用され得る。本開示のいくつかの態様では、ＢIは約９秒であり得る。送り先２１１は、バッファ占有率が初めてＢIに達したときにストリーミングサーバ２０１にシグナリングし得る。複数のパスの間の平均バッファ占有率に対する特定のパスについてのバッファ占有率の差のためのウィンドウを示すために、バッファ差ウィンドウＷが利用され得る。送り先２１１は、特定のパスのバッファ占有率がすべてのパスの参照バッファ占有率のウィンドウＷ内に入るかどうかをストリーミングサーバ２０１にシグナリングし得る。本開示のいくつかの態様では、Ｗは約１秒であり得る。
【００３５】
送り先２１１においてあらゆるパスについてのパケットロス比のしきい値を示すために、パケットロスしきい値ＰＬＲthが利用され得る。本開示のいくつかの態様では、ＰＬＲthは約０．０１であり得る。
【００３６】
ストリーミングサーバ２０１は、さらに、パケット通過遅延をモニタし得る。レート調整が必要であるかどうかを判断するために使用され得るキャリブレートされた遅延を表すために、ｉ番目のパスのキャリブレートされた遅延Ｄcal（ｉ）が利用され得る。Ｄcal（ｉ）の値は、トラフィック性能に基づいて時間とともに更新され得る。ｉ番目のパスについてのキャリブレートされた遅延の範囲の下限を示すために、ｉ番目のパスのキャリブレートされた遅延下限
【００３７】
【数１】
0006224170.tif 000002
【００３８】
が利用され得る。
【００３９】
【数２】
0006224170.tif 000003
【００４０】
の値は、トラフィック性能に基づいて時間とともに更新され得る。ｉ番目のパスのキャリブレートされた遅延の範囲の上限を示すために、ｉ番目のパスのキャリブレートされた遅延上限
【００４１】
【数３】
0006224170.tif 000004
【００４２】
が利用され得る。
【００４３】
【数４】
0006224170.tif 000005
【００４４】
の値は、トラフィック性能に基づいて時間とともに更新され得る。ｉ番目のパスのキャリブレートする遅延Ｄins（ｉ）は、ローパスフィルタ処理された瞬間の遅延測定値を表し得、これは、この瞬間の遅延を追跡するために使用され、適応タイマの満了時間を設定するためにも使用され得る。Ｄins（ｉ）の値は、トラフィック性能に基づいて時間とともに更新され得る。ｉ番目のパスのキャリブレートする遅延下限
【００４５】
【数５】
0006224170.tif 000006
【００４６】
は、ｉ番目のパスのキャリブレートする遅延範囲の下限を表し得る。ｉ番目のパスのキャリブレートする遅延上限
【００４７】
【数６】
0006224170.tif 000007
【００４８】
は、ｉ番目のパスのキャリブレートする遅延範囲の上限を表し得る。
【００４９】
【数７】
0006224170.tif 000008
【００５０】
の値は、トラフィック性能に基づいて時間とともに更新され得る。
【００５１】
ｉ番目のパスの遅延ジッタしきい値Ｊth（ｉ）は、ｉ番目のパスのジッタのしきい値を表し得る。Ｊth（ｉ）の値は、トラフィック性能に基づいて時間とともに更新され得る。
【００５２】
ストリーミングサーバ２０１は、それ自体で送信レートに対応するパラメータをさらに含み得る。ｉ番目のパスの送信レートＲS（ｉ）は、現在の送信データレートを表し得る。ｉ番目のパスのレート下限ＲL（ｉ）は、式
【００５３】
【数８】
0006224170.tif 000009
【００５４】
に従って判断され得る。ｉ番目のパスのレート上限ＲU（ｉ）は、式
【００５５】
【数９】
0006224170.tif 000010
【００５６】
に従って判断され得る。ここで、
【００５７】
【数１０】
0006224170.tif 000011
【００５８】
は、それぞれｉ番目のパスの送信レートＲS（ｉ）に対するｉ番目のパスの送信レートのためのウィンドウのスパンを表す。本開示のいくつかの態様では、
【００５９】
【数１１】
0006224170.tif 000012
【００６０】
は、たとえば、
【００６１】
【数１２】
0006224170.tif 000013
【００６２】
の値の約１０倍であるので、
【００６３】
【数１３】
0006224170.tif 000014
【００６４】
よりもはるかに大きくなり得る。
【００６５】
命令された送信レートＲout（ｉ）は、レート適応モジュールによって命令された送信データレートを表し得る。
【００６６】
本開示の様々な態様によれば、フィードバック情報として利用され、それによってレート適応アルゴリズムのための入力変数として利用されるべき、いくつかのトラフィック性能変数が送り先２１１において判断され得る。すなわち、レート適応決定のための送り先２１１からストリーミングサーバ２０１へのフィードバック情報として変数の状態が報告され得る。
【００６７】
たとえば、それぞれの受信バッファ２１２の各々におけるレベルを示すために、バッファレベルコードが利用され得る。「正常」、「アンダーフロー」、または「オーバーフロー」のバッファレベルコードが、コーディングレート調整、送信レート調整、または同期のうちの１つまたは複数のために利用され得る。さらに、「初期バッファ到達」のバッファレベルコードがキャリブレーション目的のために利用され得る。複数の受信バッファ間のバッファレベルの差を示すために、バッファ差コードが利用され得る。「正常」、「ウィンドウを下回る」、または「ウィンドウを上回る」のバッファ差コードが、コーディングレート調整、送信レート調整、または同期のうちの１つまたは複数のために利用され得る。すなわち、（送り先２１１によって計算された）参照バッファサイズと比較して、特定のパス中のバッファサイズがしきい値だけその参照バッファサイズと異なるかどうかを判断するために、ウィンドウが利用され得る。その特定のパスのバッファサイズがしきい値よりも小さい場合、バッファ差コードは「ウィンドウを下回る」であり得る。その特定のパスのバッファサイズがしきい値よりも大きい場合、バッファ差コードは「ウィンドウを上回る」であり得る。
【００６８】
さらに、最上位パケットロスバーストの時間間隔が、フィードバック情報の一部分として与えられるべきトラフィック性能変数として利用され得る。時間間隔は、［ＴＢs（ｉ），ＴＢp（ｉ）］として表され得る。ここで、ＴＢs（ｉ）はバーストが開始した時間を表し、ＴＢp（ｉ）はバーストが終了した時間を表し得る。この情報は、ソースコーディングアルゴリズム内のエラー処理機構のためにストリーミングサーバ２０１によって利用され得る。
【００６９】
さらに、コーディングレート調整において使用するために、いくつかの変数が判断され得る。たとえば、パケットロス比ＰＬＲ（ｉ）、遅延Ｄ（ｉ）、遅延ジッタＪ（ｉ）、および受信データレートＲr（ｉ）である。
【００７０】
本開示のいくつかの態様によれば、送り先２１１が、たとえば「初期バッファ到達」のバッファレベルコードを送ることによって、初期バッファレベルにちょうど到達されたことを報告したときに、ストリーミングサーバ２０１はキャリブレーション動作を実行し得る。図３は、本開示のいくつかの態様による、ｉ番目のパスについてのキャリブレーションのためのプロセスを示すフローチャートである。ブロック３０２において、キャリブレーションプロセスは初期化状態としてシステムにフラグを付ける。ブロック３０４において、プロセスは、ｉ番目のパスについてのキャリブレートする遅延Ｄins（ｉ）をＤins（ｉ）＝Ｄ（ｉ）として設定する。ブロック３０６において、プロセスは、ｉ番目のパスについてのキャリブレートする遅延の範囲
【００７１】
【数１４】
0006224170.tif 000015
【００７２】
を
【００７３】
【数１５】
0006224170.tif 000016
【００７４】
として設定する。ここで、
【００７５】
【数１６】
0006224170.tif 000017
【００７６】
は、それぞれ約４／５および約６／５に等しくなり得る定数である。
【００７７】
ブロック３０８において、プロセスは、ｉ番目のパスについてのキャリブレートされた遅延Ｄcal（ｉ）をＤcal（ｉ）＝Ｄ（ｉ）として設定するブロック３１０において、プロセスは、ｉ番目のパスについてのキャリブレートされた遅延の範囲
【００７８】
【数１７】
0006224170.tif 000018
【００７９】
を
【００８０】
【数１８】
0006224170.tif 000019
【００８１】
として設定する。ここで、
【００８２】
【数１９】
0006224170.tif 000020
【００８３】
は、それぞれ約４／５および約４／３に等しくなり得る定数である。ブロック３１２において、プロセスは、ｉ番目のパスについてのジッタしきい値をＪth（ｉ）＝ρJＤcal（ｉ）として設定する。ここで、ρJは、約１／２に等しくなり得る定数である。ブロック３１４において、プロセスは、適応タイマの満了時間をＴＯsync＝Ｄ（ｉ）、およびＴＯrate＝Ｄ（ｉ）として設定する。ブロック３１６において、プロセスは、命令された送信レートＲout（ｉ）を受信レートＲr（ｉ）であるように設定する。
【００８４】
ブロック３１８において、プロセスは、パスｉがセカンダリパスであるのかプライマリパスであるのかを確認する。ここで、ストリーミングサーバ２０１から送り先２１１までの第１の確立されたパスがプライマリパスと呼ばれることがあり、プライマリパスの後に確立されたデータパスがそれぞれセカンダリパスと呼ばれることがある。パスｉがセカンダリパスである場合、次いでブロック３２０において、プロセスは、それぞれのデータパスを同期させるために、遅延差Ｄ（ｉ）−Ｄ（０）に基づいてｉ番目のデータパスの前方シーク（seek forward）動作または抑圧動作のうちの１つを実行する。ブロック３２０において、プロセスは、満了時間をＴＯcal＝Ｎstable・２Ｄcal（ｉ）として設定する。ここで、Ｎstableは、約５に等しくなり得る定数である。ブロック３２４において、プロセスはキャリブレーティングタイマを開始し、キャリブレーションプロセスを完了する。
【００８５】
図４は、本開示のさらなる態様による遅延キャリブレーションを示すフローチャートである。ここで、ブロック４０２において、プロセスは、ｉ番目のパスの現在の遅延Ｄ（ｉ）を判断する。ブロック４０４において、プロセスは、現在の遅延Ｄ（ｉ）がキャリブレートする遅延範囲内にあるかどうかを判断する。すなわち、
【００８６】
【数２０】
0006224170.tif 000021
【００８７】
であるかどうかを判断する。キャリブレートする遅延範囲内である場合、次いでブロック４０６において、プロセスは、キャリブレーティング遅延タイマが満了したかどうかを判断する。キャリブレーティング遅延タイマが満了した場合、次いでブロック４０８において、プロセスはキャリブレートされた遅延を
【００８８】
【数２１】
0006224170.tif 000022
【００８９】
として設定する。次に、ブロック４１０において、プロセスは、ｉ番目のパスについてのジッタしきい値をＪth（ｉ）＝ρJＤcal（ｉ）として設定する。
【００９０】
ブロック４０４において、プロセスは現在の遅延Ｄ（ｉ）がキャリブレートする遅延範囲内にないと判断した場合、次いでブロック４１２において、プロセスは、キャリブレートする遅延を
【００９１】
【数２２】
0006224170.tif 000023
【００９２】
として設定する。次に、ブロック４１４において、プロセスは、満了時間をＴＯcal＝Ｎstable・２Ｄcal（ｉ）としてリセットし、ブロック４１６において、プロセスはキャリブレーティングタイマを開始する。
【００９３】
図５Ａ〜図５Ｅは、複数のパスの間の同期のためのプロセスを示すフローチャートである。ブロック５０２において、プロセスは、同期のための適応タイマが満了した（すなわち、ＴＯsyncに達した）かどうかを判断する。満了した場合、次いでブロック５０４において、プロセスはバッファレベルコードまたはバッファ差コードの一方または両方が例外を示しているかどうかを判断する。たとえば、「オーバーフロー」または「アンダーフロー」のバッファレベルコードは例外を示し得、「ウィンドウを下回る」または「ウィンドウを上回る」のバッファ差コードは例外を示し得る。例外がある場合、次いでブロック５０６において、プロセスは、満了時間をＴＯsync＝２Ｄins（ｉ）として設定し、ブロック５０８において、プロセスは同期のための適応タイマを開始する。
【００９４】
ブロック５１０において、プロセスは、例外が、バッファレベルコードが「オーバーフロー」であったこと、であったかどうかを判断する。はいの場合、次いでブロック５１２において、プロセスは、ｉ番目のパスに対応するトランスレータ２０４を抑圧するための抑圧信号（throttling signal）をトリガする。いいえの場合、次いでブロック５１４において、プロセスは、例外が、バッファレベルコードが「アンダーフロー」であったこと、であったかどうかを判断する。はいの場合、次いでブロック５１６において、プロセスは、それが送信レートを増加させるべきかまたは低減すべきかを判断する。以下のうちのいずれか１つが真である場合、送信レートは低減され得る。すなわち、ｉ番目のパスについてのパケットロス比ＰＬＲ（ｉ）がパケットロスしきい値ＰＬＲthよりも大きい場合（すなわち、ＰＬＲ（ｉ）＞ＰＬＲthである場合）、またはｉ番目のパスについての遅延Ｄ（ｉ）がキャリブレートされた遅延上限
【００９５】
【数２３】
0006224170.tif 000024
【００９６】
、またはｉ番目のパスについての遅延ジッタＪ（ｉ）がｉ番目のパスについてのジッタしきい値Ｊth（ｉ）よりも大きい場合（すなわち、Ｊ（ｉ）＞Ｊth（ｉ）である場合）、またはｉ番目のパスについての受信データレートＲr（ｉ）がｉ番目のパスのレート下限ＲL（ｉ）よりも小さい場合（すなわち、Ｒr（ｉ）＜ＲL（ｉ）である場合）である。これらの条件のうちのいずれか１つが真である場合、次いでブロック５１８において、プロセスは、ｉ番目のパスの送信レートＲS（ｉ）を低減するための余地があるかどうかを判断する。余地がある場合、次いでブロック５２０において、プロセスは、たとえば２レベルだけ、ｉ番目のパスの送信レートＲS（ｉ）を低減し、ブロック５２２において、プロセスは、ｉ番目のパスの命令されたレートＲs（ｉ）をブロック５２０において設定された低減された送信レートであるように設定する。ブロック５１６において判断された条件のうちのいずれも真でない場合、次いでブロック５２４において、プロセスは、たとえば、初期バッファ占有率ＢIとバッファ占有率下限ＢLとの間の差、すなわち、（ＢI−ＢL）に等しい量だけ、ｉ番目のパスに対応するトランスレータ２０４を前方シークする。
【００９７】
一方、ブロック５０４において判断された例外が、バッファ差コードがブロック５２６に示すように「ウィンドウを上回る」ことであった場合、次いでブロック５２８において、プロセスは、ｉ番目のパスに対応するトランスレータ２０４を抑圧するための抑圧信号をトリガする。
【００９８】
一方、ブロック５０４において判断された例外が、バッファ差コードがブロック５３０に示すように「ウィンドウを下回る」ことであった場合、次いでブロック５３２において、プロセスは、送信レートを増加させるべきかまたは低減すべきかを判断する。以下のうちのいずれか１つが真である場合、送信レートは低減され得る。すなわち、ｉ番目のパスについてのパケットロス比ＰＬＲ（ｉ）がパケットロスしきい値ＰＬＲthよりも大きい場合（すなわち、ＰＬＲ（ｉ）＞ＰＬＲthである場合）、またはｉ番目のパスについての遅延Ｄ（ｉ）がキャリブレートされた遅延上限
【００９９】
【数２４】
0006224170.tif 000025
【０１００】
、またはｉ番目のパスについての遅延ジッタＪ（ｉ）がｉ番目のパスについてのジッタしきい値Ｊthよりも大きい場合（すなわち、Ｊ（ｉ）＞Ｊth（ｉ）である場合）、またはｉ番目のパスについて受信データレートＲr（ｉ）がｉ番目のパスのレート下限ＲL（ｉ）よりも小さい場合（すなわち、Ｒr（ｉ）＜ＲL（ｉ）である場合）である。これらの条件のうちのいずれか１つが真である場合、次いでブロック５３４において、プロセスは、ｉ番目のパスの送信レートＲS（ｉ）を低減するための余地があるかどうかを判断する。余地がある場合、次いでブロック５２０において、プロセスは、たとえば１レベルだけ、ｉ番目のパスの送信レートＲS（ｉ）を低減し、ブロック５３６において、プロセスは、ｉ番目のパスの命令されたレートＲs（ｉ）をブロック５３６において設定された低減された送信レートであるように設定する。ブロック５３２において判断された条件のうちのいずれも真でない場合、次いでブロック５４０において、プロセスは、たとえば、バッファ差ウィンドウＷの１／２に等しい量（すなわち、Ｗ／２）だけ、ｉ番目のパスに対応するトランスレータ２０４を前方シークする。
【０１０１】
ブロック５０２において、同期のための適応タイマが満了しなかったと判断された場合、次いでブロック５４２において、プロセスは、それが送信レートを増加させるべきかまたは低減すべきかを判断する。以下のうちのいずれか１つが真である場合、送信レートは低減され得る。すなわち、ｉ番目のパスについてのパケットロス比ＰＬＲ（ｉ）がパケットロスしきい値ＰＬＲthよりも大きい場合（すなわち、ＰＬＲ（ｉ）＞ＰＬＲthである場合）、またはｉ番目のパスについての遅延Ｄ（ｉ）がキャリブレートされた遅延上限
【０１０２】
【数２５】
0006224170.tif 000026
【０１０３】
である場合）、またはｉ番目のパスについての遅延ジッタＪ（ｉ）がｉ番目のパスについてのジッタしきい値Ｊth（ｉ）よりも大きい場合（すなわち、Ｊ（ｉ）＞Ｊth（ｉ）である場合）、またはｉ番目のパスについての受信データレートＲr（ｉ）がｉ番目のパスのレート下限ＲL（ｉ）よりも小さい場合（すなわち、Ｒr（ｉ）＜ＲL（ｉ）である場合）である。これらの条件のうちのいずれか１つが真である場合、次いでブロック５４４において、プロセスは、レートのための適応タイマが満了したかどうか（たとえば、レートのための適応タイマが満了時間ＴＯrateに達したかどうか）を判断する。レートのための適応タイマが満了した場合、次いでブロック５４６において、プロセスは、満了時間をＴＯrate＝２Ｄins（ｉ）として設定し、ブロック５４８において、プロセスはレートのために適応タイマを開始し得る。次に、ブロック５５０において、プロセスは、ｉ番目のパスについての受信データレートＲr（ｉ）がｉ番目のパスのレート下限ＲL（ｉ）よりも小さいかどうかを判断する。Ｒr（ｉ）＜ＲL（ｉ）である場合、次いでブロック５５２において、プロセスは、Ｒs（ｉ）＝Ｒr（ｉ）であるようにｉ番目のパスについての送信レートを低減する。そうではなく、ブロック５５０において判断されたときにＲｒ（ｉ）≧ＲL（ｉ）である場合、次いでブロック５５４において、プロセスは、ｉ番目のパスについての送信レートＲs（ｉ）の低減のための余地があるかどうかを判断する。余地がある場合、次いでブロック５５６において、プロセスは、１レベルだけ、ｉ番目のパスについての送信レートＲs（ｉ）を低減し、ブロック５５８において、プロセスは、ｉ番目のパスについての命令されたレートＲs（ｉ）をブロック５５６において判断された低減された送信レートであるように設定する。
【０１０４】
ブロック５４２において判断された条件のうちのいずれも真でない場合、次いでブロック５６０において、プロセスは、それが送信レートを増加させるべきかどうかを判断する。以下のうちのいずれかが真である場合、送信レートは増加させられ得る。すなわち、ｉ番目のパスについての遅延Ｄ（ｉ）がｉ番目のパスについてのキャリブレートされた遅延下限
【０１０５】
【数２６】
0006224170.tif 000027
【０１０６】
よりも小さい場合、またはｉ番目のパスについての受信データレートＲr（ｉ）がｉ番目のパスのレート下限ＲL（ｉ）よりも小さい場合である。これらの条件のうちのいずれかが真である場合、次いでブロック５６２において、プロセスは、レートのための適応タイマが満了したかどうか、たとえば、レートのための適応タイマがＴＯrateに達したかどうかを判断する。はいの場合、次いでブロック５６４において、プロセスは、満了時間をＴＯrate＝２Ｄins（ｉ）として設定し、ブロック５６６において、プロセスはレートのための適応タイマを開始する。次に、ブロック５６８において、プロセスは、Ｎgood適応間隔の間、システムがこの状態に連続的に入ったかどうかを判断する。本開示のいくつかの態様では、Ｎgoodは約３であり得る。はいの場合、次いでブロック５７０において、プロセスは、ｉ番目のパスの命令されたレートＲs（ｉ）がｉ番目のパスの現在の送信レートＲS（ｉ）よりも大きいかまたはそれに等しいかどうかを判断する。はいの場合、次いでブロック５７２において、プロセスは、ｉ番目のパスの送信レートＲS（ｉ）を増加させるための余地がコーデックにあるかどうかを判断する。はいの場合、次いでブロック５７４において、プロセスは送信レートを１レベルだけ増加させ、ブロック５７６において、プロセスはｉ番目のパスについての命令されたレートＲs（ｉ）をブロック５７４において判断された増加した送信レートであるように設定し、ブロック５７８において、プロセスはこの状態での連続適応間隔の数をゼロにリセットする。
【０１０７】
本開示のいくつかの態様によれば、ストリーミングサーバ２０１は、パケットロス比ＰＬＲ（ｉ）と、パケットロスバーストの開始時間ＴＢs（ｉ）と、パケットロスバーストの停止時間ＴＢp（ｉ）とを含むいくつかのパラメータに従ってエラー処理を実行し得る。エラー処理手順は、ＰＬＲ（ｉ）と、ＴＢs（ｉ）と、ＴＢp（ｉ）と、レート適応モジュールによって調整されたコーディングレートＣ（ｉ）と、遅延ジッタＪ（ｉ）とを含むいくつかのパラメータに部分的に基づき得るソースコーディングプロシージャの一部であり得る。ソースコーディングは当業者に知られているので、本開示ではさらに詳細に説明しない。
【０１０８】
したがって、本開示の様々な態様によれば、レート適応は、複数のパスの間の同時性を維持しながら、独立した形で、すなわち、複数のパスの各々上で本質的に独立して実装され得る。これは、レート調整を用いて相互に作用する同期動作を実装することによって達成され得る。
【０１０９】
データレートが所与のパス上で調整されるとき、調整は、一般に、データレートをそのパスの品質に一致させることを目的とする。たとえば、チャネル状態が不十分であるかまたは容量が小さいとき、データレートは低減され、チャネル状態が優れているかまたは容量が大きいとき、データレートは増加させられ得る。しかしながら、複数のパスのうちの１つの上のデータレートが独立して調整されるとき、同時性の損失が生じ得る。したがって、本開示のいくつかの態様によれば、データレートが期待値内であるかどうか、または同期を維持するために送信側２０１における調整に値し得る他の条件を判断するために、受信バッファ２１２の間の差をモニタおよび判断するために、フィードバック送信機２１６と、フィードバック受信機２０８と、対応する信号とを含むフィードバック機構が利用され得る。
【０１１０】
いくつかの条件の下で、同期動作が利用され得、１つまたは複数のトランスレータ２０４は、それらの送信を抑圧するかまたは前方シークするように命令され得る。いくつかの他の条件の下で、そのときパスが同期外れである場合でも、同期動作ではなくデータレート調整が送信バッファ２０６のうちの１つまたは複数について行われ得る。いずれの場合も、それぞれのパスについての条件に基づいて独立してデータパスの各々のデータレートを調整しながら、同期を維持するために結合的な調整がパスの各々について行われ得る。
【０１１１】
本開示のいくつかの態様によれば、ストリーミングサーバ２０１から送り先２１１にデータがストリーミングされる前に、テスト期間が利用され得る。テスト期間では、各送信レートレベルをテストするために１つまたは複数のショートトラフィックバーストが送出され得る。ストリーミングサーバ２０１は、次いで、受信レートに対応するフィードバックを注目し得る。本開示の態様では、初期コーディングレートＲIは、
【０１１２】
【数２７】
0006224170.tif 000028
【０１１３】
として設定され得る。
【０１１４】
このようにして、テスト期間を利用することによって、マルチメディアコンテンツ中のシーン変化が容易に受け入れられ得る。マルチメディアコンテンツのストリーミング中のシーン変化では、特定のタイムスロット中に再生されたトラフィックの量は、連続するタイムスロット中に再生されたトラフィックの量とははるかに異なり得る。たとえば、第１のシーンがトラフィックの極めて小さい量のみを利用した場合、送り先２１１からストリーミングサーバ２０１に与えられたフィードバック情報は、大量のトラフィックを必要とするようにシーンが変化すべきである場合にネットワークがどれくらいより多くのトラフィックを受け入れることができるのかを判断する際に有用でないことがある。したがって、上記で説明したテストプロシージャを利用して、それぞれのパスをテストするために、１つまたは複数のショートトラフィックバーストがパスのうちの１つまたは複数上で送出され得る。対応するフィードバック情報が受信されるとき、ストリーミングサーバ２０１は、パスのうちの１つまたは複数が容量を上回るリスクを冒すことなしに、シーン変化後直ちにパスの各々についての送信レートをより良く判断することができるであろう。
【０１１５】
図６は、本開示のいくつかの態様による、マルチパスレート適応のための例示的なプロセス６００を示すフローチャートである。プロセス６００は、図１の処理システム１１４によって、図２に示すストリーミングサーバ２０１によって、またはマルチパスレート適応のための任意の他の好適な装置によって実装され得る。ブロック６０２において、ストリーミングサーバは複数のパス上で情報を送信する。ブロック６０４において、ストリーミングサーバは、複数のパスについての１つまたは複数のトラフィック性能変数を含むフィードバック情報を受信する。ブロック６０６において、ストリーミングサーバは、ブロック６０４において受信されたフィードバック情報に応答してパスのうちの１つまたは複数上での送信を適応させる。ブロック６０８において、ストリーミングサーバは、ブロック６０６において実行されたパスの適応に対応してパスの間で同期させる。ブロック６１０において、ストリーミングサーバは、複数のパスのうちの少なくとも１つ上でテストバーストを送信し、テストバーストは、シーン変化に続く将来の送信におけるトラフィックレベルに対応する。ブロック６１２において、ストリーミングサーバは、テストバーストに基づくフィードバックに従って将来の送信のために送信パラメータのうちの１つまたは複数を設定する。
【０１１６】
図７は、本開示のいくつかの態様による、マルチパスレート適応のためのフィードバックを与えるための例示的なプロセス７００を示すフローチャートである。ブロック７０２において、送り先は複数のパスを介して情報を受信する。ブロック７０４において、送り先はパスの各々についての特性を判断し、特性はそれぞれのパス上のトラフィック性能に対応する。ブロック７０６において、送り先は、パスの各々の特性間の１つまたは複数の差を判断し、ブロック７０８において、送り先は、受信した情報に応答してフィードバック情報を与える。フィードバック情報は、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を含み得る。
【０１１７】
一構成では、マルチパスレート適応のための装置は、複数のパスの各々上で情報を送信するための手段と、複数のパスについての１つまたは複数のトラフィック性能変数を含むフィードバック情報を受信するための手段と、フィードバック情報に応答してパスのうちの１つまたは複数上で送信することを適応させるための手段と、送信することを適応させることに対応して複数のパスの間で同期させるための手段と、フィードバック情報に従って１つまたは複数の送信パラメータのうちの少なくとも１つの調整を判断するための手段と、抑圧動作または前方シークすること動作のうちの少なくとも１つを実行するための手段と、複数のパスのうちの少なくとも１つ上でテストバーストを送信するための手段と、テストバーストに基づいて受信したフィードバック情報に従って将来の送信のために１つまたは複数の送信パラメータを設定するための手段とを含み得る。一態様では、上述の手段は、上述の手段によって具陳される機能を実行するように構成された処理システム１１４であり得る。別の態様では、上述の手段は、ソース２０２、トランスレータ２０４、ソースバッファ２０６、および／またはフィードバック受信機２０８であり得る。さらに別の態様では、上述の手段は、上述の手段によって具陳される機能を実行するように構成されたモジュールまたは任意の装置であり得る。
【０１１８】
別の構成では、マルチパスレート適応のためのフィードバックを与えるための装置は、複数のパスを介して情報を受信するための手段と、情報に応答してフィードバック情報を与えるための手段であって、フィードバック情報が、複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、フィードバック情報を与えるための手段と、パスの各々についての特性を判断するための手段と、パスの各々の特性の間の１つまたは複数の差を判断するための手段とを含み得る。一態様では、上述の手段は、上述の手段によって具陳される機能を実行するように構成された処理システム１１４であり得る。別の態様では、上述の手段は、上述の手段によって具陳される機能を実行するように構成された受信バッファ２１２、アグリゲータ２１４、および／またはフィードバック送信機２１６であり得る。別の態様では、上述の手段は、上述の手段によって具陳される機能を実行するように構成されたモジュールまたは任意の装置であり得る。
【０１１９】
本開示の様々な態様によれば、要素、または要素の任意の部分、または要素の任意の組合せは、１つまたは複数のプロセッサを含む「処理システム」を用いて実装され得る。プロセッサの例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、状態機械、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の好適なハードウェアがある。処理システム内の１つまたは複数のプロセッサはソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数などを意味すると広く解釈されたい。ソフトウェアはコンピュータ可読媒体上に常駐し得る。コンピュータ可読媒体は非一時的コンピュータ可読媒体であり得る。非一時的コンピュータ可読媒体は、例として、磁気ストレージデバイス（たとえば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ）、光ディスク（たとえば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ））、スマートカード、フラッシュメモリデバイス（たとえば、カード、スティック、キードライブ）、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ（登録商標））、レジスタ、リムーバブルディスク、ならびにコンピュータによってアクセスされ、読み取られ得るソフトウェアおよび／または命令を記憶するための任意の他の好適な媒体を含む。コンピュータ可読媒体はまた、例として、搬送波、伝送線路、ならびにコンピュータによってアクセスされ、読み取られ得るソフトウェアおよび／または命令を送信するための任意の他の好適な媒体を含み得る。コンピュータ可読媒体は、処理システムの内部に常駐するか、処理システムの外部にあるか、または処理システムを含む複数のエンティティにわたって分散され得る。コンピュータ可読媒体はコンピュータプログラム製品において実施され得る。例として、コンピュータプログラム製品はパッケージング材料中にコンピュータ可読媒体を含み得る。当業者なら、特定の適用例および全体的なシステムに課せられた全体的な設計制約に応じて、本開示全体にわたって提示される記載の機能をどのようにしたら最も良く実装することができるかを認識されよう。
【０１２０】
開示した方法中のステップの特定の順序または階層は、例示的なプロセスの一例であることを理解されたい。設計上の選好に基づいて、本方法中のステップの特定の順序または階層は並べ替えられ得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、本明細書中で特に記載されない限り、提示された特定の順序または階層に限定されるものではない。
【０１２１】
以上の説明は、当業者が本明細書で説明した様々な態様を実行できるようにするために提供したものである。これらの態様に対する様々な変更は当業者には容易に明らかであり、本明細書で定義した一般的原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書で示した態様に限定されるものではなく、特許請求の範囲の言い回しに矛盾しない全範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「１つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という語は「１つまたは複数の」を表す。項目のリスト「のうちの少なくとも１つ」を指す句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａおよびｂ、ａおよびｃ、ｂおよびｃ、ならびにａ、ｂおよびｃをカバーするものとする。当業者に知られている、または後に知られることになる、本開示全体にわたって説明した様々な態様の要素のすべての構造的および機能的均等物は、参照により本明細書に明白に組み込まれ、特許請求の範囲に包含されるものである。さらに、本明細書に開示したいかなることも、そのような開示が特許請求の範囲に明示的に具陳されているかどうかにかかわらず、公に供するものではない。いかなるクレーム要素も、その要素が「手段」という語句を使用して明白に具陳されていない限り、または方法クレームの場合には、その要素が「ステップ」という語句を使用して具陳されていない限り、米国特許法第１１２条第６項の規定に基づいて解釈されるべきではない。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
複数のパスの各々上で情報を送信することと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信することと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させることと、
前記送信することを前記適応させることに対応して前記複数のパスの間で同期させることと
を備える、マルチパスレート適応の方法。
［Ｃ２］
前記情報は、マルチメディアコンテンツを備える、
［Ｃ１］に記載の方法。
［Ｃ３］
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
［Ｃ２］に記載の方法。
［Ｃ４］
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
を備える、［Ｃ１］に記載の方法。
［Ｃ５］
前記送信することは、１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させることは、前記フィードバック情報に従って前記１つまたは複数の送信パラメータのうちの少なくとも１つの調整を判断することを備える、
［Ｃ１］に記載の方法。
［Ｃ６］
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、［Ｃ５］に記載の方法。
［Ｃ７］
前記フィードバック情報は、前記複数のパスについての前記１つまたは複数のトラフィック性能変数に従ってソースコーディングプロシージャ中のエラー処理ルーチンを変化させるためのエラー処理情報を備える、
［Ｃ１］に記載の方法。
［Ｃ８］
前記同期させることは、抑圧動作または前方シーク動作のうちの少なくとも１つを備える、
［Ｃ１］に記載の方法。
［Ｃ９］
前記同期させることは、前記フィードバック情報に応答する、
［Ｃ１］に記載の方法。
［Ｃ１０］
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信することと、ここで、前記テストバーストが、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定することと
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ１１］
マルチパスレート適応のためのフィードバックを与える方法であって、
複数のパスを介して情報を受信することと、
前記情報に応答してフィードバック情報を与えることと
を備え、前記フィードバック情報は、前記複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、
方法。
［Ｃ１２］
前記情報は、マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で受信される、
［Ｃ１１］に記載の方法。
［Ｃ１３］
前記関係は、前記複数のパスの各々を介して前記情報を受信するための複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差を備える、
［Ｃ１１］に記載の方法。
［Ｃ１４］
前記パスの各々についての特性を判断することをさらに備え、前記特性は、前記複数のパスのうちの特定のパス上のトラフィック性能に対応する前記特定のパスに対応する、
［Ｃ１１］に記載の方法。
［Ｃ１５］
前記パスの各々の前記特性の間の１つまたは複数の差を判断することをさらに備え、前記複数のパスのうちの前記少なくとも２つの間の前記関係は、前記１つまたは複数の差に対応する、
［Ｃ１４］に記載の方法。
［Ｃ１６］
複数のパスの各々上で情報を送信するための手段と、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信するための手段と、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させるための手段と、
前記送信することを前記適応させることに対応して前記複数のパスの間で同期させるための手段と
を備える、マルチパスレート適応のための装置。
［Ｃ１７］
前記情報は、マルチメディアコンテンツを備える、
［Ｃ１６］に記載の装置。
［Ｃ１８］
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々が前記複数のパスの各々上で送信される、
［Ｃ１７］に記載の装置。
［Ｃ１９］
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
を備える、［Ｃ１６］に記載の装置。
［Ｃ２０］
前記送信するための手段は、１つまたは複数の送信パラメータに従って送信するように構成され、前記送信することを適応させるための前記手段は、前記フィードバック情報に従って前記１つまたは複数の送信パラメータのうちの少なくとも１つの調整を判断するための手段を備える、
［Ｃ１６］に記載の装置。
［Ｃ２１］
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、［Ｃ２０］に記載の装置。
［Ｃ２２］
前記フィードバック情報は、前記複数のパスについての前記１つまたは複数のトラフィック性能変数に従ってソースコーディングプロシージャ中のエラー処理ルーチンを変化させるためのエラー処理情報を備える、
［Ｃ１６］に記載の装置。
［Ｃ２３］
前記同期させるための手段は、抑圧動作または前方シーク動作のうちの少なくとも１つを実行するための手段を備える、
［Ｃ１６］に記載の装置。
［Ｃ２４］
前記同期させるための手段は、前記フィードバック情報に応答して同期させるように構成される、
［Ｃ１６］に記載の装置。
［Ｃ２５］
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信するための手段と、ここで、前記テストバーストは、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定するための手段と
をさらに備える、［Ｃ１６］に記載の装置。
［Ｃ２６］
マルチパスレート適応のためのフィードバックを与えるための装置であって、
複数のパスを介して情報を受信するための手段と、
前記情報に応答してフィードバック情報を与えるための手段と
を備え、前記フィードバック情報は、前記複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、
装置。
［Ｃ２７］
前記情報は、マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で受信される、
［Ｃ２６］に記載の装置。
［Ｃ２８］
前記関係は、前記複数のパスの各々を介して前記情報を受信するための複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差を備える、
［Ｃ２６］に記載の装置。
［Ｃ２９］
前記パスの各々についての特性を判断するための手段をさらに備え、前記特性は、前記複数のパスのうちの特定のパス上のトラフィック性能に対応する前記特定のパスに対応する、
［Ｃ２６］に記載の装置。
［Ｃ３０］
前記パスの各々の前記特性の間の１つまたは複数の差を判断するための手段をさらに備え、前記複数のパスのうちの前記少なくとも２つの間の前記関係は、前記１つまたは複数の差に対応する、
［Ｃ２９］に記載の装置。
［Ｃ３１］
複数のパスの各々上で情報を送信するためのコードと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信するためのコードと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させるためのコードと、
前記送信することを前記適応させることに対応して前記複数のパスの間で同期させるためのコードと
を備えるコンピュータ可読媒体
を備える、コンピュータプログラム製品。
［Ｃ３２］
前記情報は、マルチメディアコンテンツを備える、
［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ３３］
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
［Ｃ３２］に記載のコンピュータプログラム製品。
［Ｃ３４］
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
のうちの少なくとも１つを備える、［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ３５］
送信するための前記コードは、１つまたは複数の送信パラメータに従って送信するように適応させられ、前記送信することを適応させるための前記コードは、前記フィードバック情報に従って前記１つまたは複数の送信パラメータのうちの少なくとも１つの調整を判断するためのコードを備える、
［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ３６］
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、［Ｃ３５］に記載のコンピュータプログラム製品。
［Ｃ３７］
前記フィードバック情報は、前記複数のパスについての前記１つまたは複数のトラフィック性能変数に従ってソースコーディングプロシージャ中のエラー処理ルーチンを変化させるためのエラー処理情報を備える、
［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ３８］
同期させるための前記コードは、抑圧動作または前方シーク動作のうちの少なくとも１つを実行するためのコードを備える、
［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ３９］
同期させるための前記コードは、前記フィードバック情報に応答して同期させるように構成された、
［Ｃ３８］に記載のコンピュータプログラム製品。
［Ｃ４０］
前記コンピュータ可読媒体は、
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信するためのコードと、ここで、前記テストバーストは、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定するためのコードと
をさらに備える、［Ｃ３１］に記載のコンピュータプログラム製品。
［Ｃ４１］
複数のパスを介して情報を受信するためのコードと、
前記情報に応答してフィードバック情報を与えるためのコードと、ここで、前記フィードバック情報は、前記複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、フィードバック情報を与えるためのコードと
を備えるコンピュータ可読媒体
を備える、コンピュータプログラム製品。
［Ｃ４２］
前記情報は、マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で受信される、
［Ｃ４１］に記載のコンピュータプログラム製品。
［Ｃ４３］
前記関係は、前記複数のパスの各々を介して前記情報を受信するための複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差を備える、
［Ｃ４１］に記載のコンピュータプログラム製品。
［Ｃ４４］
前記コンピュータ可読媒体は、前記パスの各々についての特性を判断するためのコードをさらに備え、前記特性は、前記複数のパスのうちの特定のパス上のトラフィック性能に対応する前記特定のパスに対応する、
［Ｃ４１］に記載のコンピュータプログラム製品。
［Ｃ４５］
前記コンピュータ可読媒体は、前記パスの各々の前記特性の間の１つまたは複数の差を判断するためのコードをさらに備え、前記複数のパスのうちの前記少なくとも２つの間の前記関係は、前記１つまたは複数の差に対応する、
［Ｃ４４］に記載のコンピュータプログラム製品。
［Ｃ４６］
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと
を備える、マルチパスレート適応のための装置であって、前記少なくとも１つのプロセッサは、
複数のパスの各々上で情報を送信することと、
前記複数のパスについての１つまたは複数のトラフィック性能変数を備えるフィードバック情報を受信することと、
前記フィードバック情報に応答して前記パスのうちの１つまたは複数上で前記送信することを適応させることと、
前記送信することを前記適応させることに対応して前記複数のパスの間で同期させることと
を行うように構成される、装置。
［Ｃ４７］
前記情報は、マルチメディアコンテンツを備える、
［Ｃ４６］に記載の装置。
［Ｃ４８］
前記マルチメディアコンテンツは、前記マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で送信される、
［Ｃ４７］に記載の装置。
［Ｃ４９］
前記１つまたは複数のトラフィック性能変数は、
前記複数のパスのうちの１つ上での前記送信の送り先において利用される少なくとも１つの受信バッファのバッファ占有率に対応するバッファ占有率情報要素、
前記複数のパスの各々上での前記送信の送り先において利用される複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差に対応するバッファ差情報要素、
前記複数のパスのうちの１つについてのパケットロス比、
前記複数のパスのうちの１つまたは複数についての最重要パケットロスバーストのための時間間隔、
前記複数のパスのうちの１つについてのパケット遅延、
前記複数のパスのうちの１つについての遅延ジッタ、または
前記複数のパスのうちの１つについての受信データレート
を備える、［Ｃ４６］に記載の装置。
［Ｃ５０］
前記送信することが１つまたは複数の送信パラメータに従っており、前記送信することを前記適応させることは、前記フィードバック情報に従って前記１つまたは複数の送信パラメータのうちの少なくとも１つの調整を判断することを備える、
［Ｃ４６］に記載の装置。
［Ｃ５１］
前記１つまたは複数の送信パラメータのうちの前記少なくとも１つは、
前記パスのうちの少なくとも１つについての送信レート、または
前記パスのうちの少なくとも１つについてのコーディングレート
を備える、［Ｃ５０］に記載の装置。
［Ｃ５２］
前記フィードバック情報は、前記複数のパスについての前記１つまたは複数のトラフィック性能変数に従ってソースコーディングプロシージャ中のエラー処理ルーチンを変化させるためのエラー処理情報を備える、
［Ｃ４６］に記載の装置。
［Ｃ５３］
前記同期させることは、抑圧動作または前方シーク動作のうちの少なくとも１つを備える、
［Ｃ４６］に記載の装置。
［Ｃ５４］
前記同期させることは、前記フィードバック情報に応答する、
［Ｃ４６］に記載の装置。
［Ｃ５５］
前記少なくとも１つのプロセッサは、
前記複数のパスのうちの少なくとも１つ上でテストバーストを送信することと、ここで、前記テストバーストが、シーン変化に続く情報の将来の送信におけるトラフィックレベルに対応する、
前記テストバーストに基づいて受信されたフィードバック情報に従って前記将来の送信のための１つまたは複数の送信パラメータを設定することと
を行うようさらに構成された、［Ｃ４６］に記載の装置。
［Ｃ５６］
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと
を備える、マルチパスレート適応のためのフィードバックを与える装置であって、前記少なくとも１つのプロセッサは、
複数のパスを介して情報を受信することと、
前記情報に応答してフィードバック情報を与えることと
を行うように構成され、前記フィードバック情報が、前記複数のパスのうちの少なくとも２つの間の関係に対応する情報要素を備える、
装置。
［Ｃ５７］
前記情報は、マルチメディアコンテンツの複数の多重記述コーディング−符号化記述を備え、前記記述の各々は、前記複数のパスの各々上で受信される、
［Ｃ５６］に記載の装置。
［Ｃ５８］
前記関係は、前記複数のパスの各々を介して前記情報を受信するための複数の受信バッファのうちの少なくとも２つの間のバッファ占有率の差を備える、
［Ｃ５６］に記載の装置。
［Ｃ５９］
前記少なくとも１つのプロセッサは、前記パスの各々についての特性を判断するようにさらに構成され、前記特性が、前記複数のパスのうちの特定のパス上のトラフィック性能に対応する前記特定のパスに対応する、
［Ｃ５６の装置。
［Ｃ６０］
前記パスの各々の前記特性の間の１つまたは複数の差を判断することをさらに備え、前記複数のパスのうちの前記少なくとも２つの間の前記関係は、前記１つまたは複数の差に対応する、
［Ｃ５９］に記載の装置。
【図１】
0006224170.tif 000029
【図２】
0006224170.tif 000030
【図３】
0006224170.tif 000031
【図４】
0006224170.tif 000032
【図５Ａ】
0006224170.tif 000033
【図５Ｂ】
0006224170.tif 000034
【図５Ｃ】
0006224170.tif 000035
【図５Ｄ】
0006224170.tif 000036
【図５Ｅ】
0006224170.tif 000037
【図６】
0006224170.tif 000038
【図７】
0006224170.tif 000039