(57)【要約】      （修正有）【課題】サーバにキャッシュされるセグメントの内容を基に、レート適応ダウンロードを可能とする、クライアント端末を提供する。【解決手段】クライアント端末（ＣＴ）は、サーバとの間に配置される識別されているキャッシュにおいて記憶されているセグメントまたは記憶されていないセグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、組み合わせの夫々に関連する知覚品質の効用関数の値と、組み合わせの夫々をダウンロードする時間とを決定するよう構成される計算器７と、決定された効用関数の値から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するよう構成される選択モジュール８と、選択された表現の組み合わせに関連する表現をクライアント端末でダウンロードするよう構成される通信モジュール２とを有する。【選択図】図２
2015133701.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末において、少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法であって、夫々のセグメントが１又はそれ以上の表現において利用可能である方法において、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する方法。
【請求項２】
前記時間閾値は、前記セグメントのシーケンスの再生時間に対応する、
請求項１に記載の方法。
【請求項３】
前記セグメントの表現の組み合わせの前記効用関数は、次のパラメータ：
当該組み合わせの表現の全体品質と、
当該組み合わせの表現のばらつきと、
当該組み合わせの表現のキャッシュミスのコストと
のうちの少なくとも１つに依存する、
請求項１又は２に記載の方法。
【請求項４】
前記効用関数は、次の式：
【数１１】
2015133701.tif 000014
から導出され、
バーＲ（ｋ）は、ｋが前記シーケンスのセグメントの数であるとして、当該組み合わせの表現の全体品質であり、
σは、当該組み合わせの表現のばらつきであり、
αは、前記ばらつきの重みパラメータであり、
Ｍ（ｋ）は、当該組み合わせの表現のキャッシュミスのコストであり、
βは、キャッシュミスの平均コストについての重みパラメータである、
請求項３に記載の方法。
【請求項５】
利用可能な表現の組み合わせをダウロードする前記時間は、次のパラメータ：
セグメントの存続期間と、
当該組み合わせの表現のビットレートと、
当該組み合わせの所与の表現を前記サーバからダウンロードするときに決定されるダウンリンク帯域幅と、
当該組み合わせの所与の表現を該所与の表現を保持する最も近いキャッシュからダウンロードするときに決定されるダウンリンク帯域幅と
のうちの少なくとも１つに依存する、
請求項１乃至４のうちいずれか一項に記載の方法。
【請求項６】
前記利用可能な表現の組み合わせをダウンロードする時間は、次の式：
【数１２】
2015133701.tif 000015
から導出され、
ｋは、前記シーケンスのセグメントの数であり、
Ｒｉは、当該組み合わせのセグメントｉの考えられる表現のビットレートであり、
ＢＷｓｅｒｖｅｒは、当該組み合わせの所与の表現を前記サーバからダウンロードするときに決定されるダウンリンク帯域幅であり、
ＢＷＣｉは、当該組み合わせのセグメントｉの所与の表現を該所与の表現を保持する最も近いキャッシュからダウンロードするときに決定されるダウンリンク帯域幅であり、
セグメントｉの表現が前記サーバから取り出される場合にＳｉ＝１であり、他の場合にＳｉ＝０である、
請求項５に記載の方法。
【請求項７】
前記効用関数及び前記ダウンロード時間は、キャッシュされていようとなかろうと前記セグメントの利用可能な表現の全ての組み合わせについて決定される、
請求項１乃至６のうちいずれか一項に記載の方法。
【請求項８】
前記サーバから前記クライアント端末によって受信され、前記マルチメディアコンテンツの利用可能な表現のリストを有するマニフェストは、前記サーバと前記クライアント端末との間に配置されるキャッシュの順序付きリストを更に有する、
請求項１乃至７のうちいずれか一項に記載の方法。
【請求項９】
前記サーバから前記クライアント端末によって受信され、前記マルチメディアコンテンツの利用可能な表現のリストを有するマニフェストは、前記サーバと前記クライアント端末との間の経路に沿って遭遇する夫々のキャッシュによって、それ自身の識別子を付加して順序付きリストを構築することによって変更されている、
請求項１乃至８のうちいずれか一項に記載の方法。
【請求項１０】
少なくとも１つの遠隔のサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードするよう構成されるクライアント端末であって、夫々のセグメントが１又はそれ以上の表現において利用可能であるクライアント端末において、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するよう構成される計算器と、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するよう構成されるモジュールと、
前記選択された表現の組み合わせに関連する表現を前記クライアント端末でダウンロードするよう構成される通信モジュールと
を有するクライアント端末。
【請求項１１】
前記計算器は更に、キャッシュされていようとなかろうと前記セグメントの利用可能な表現の全ての組み合わせの効用関数の値及びダウンロード時間を決定するよう構成される、
請求項１０に記載のクライアント端末。
【請求項１２】
前記通信モジュールは、前記サーバと前記クライアント端末との間に配置されるキャッシュの順序付きリストを有するマニフェストを受信するよう構成され、
前記マニフェストは、前記サーバから受信され、該サーバでの前記マルチメディアコンテンツの利用可能な表現のリストを有する、
請求項１０又は１１に記載のクライアント端末。
【請求項１３】
前記通信モジュールは、前記サーバによって送信され、キャッシュの順序付きリストを有するマニフェストを受信するよう構成され、
前記サーバと前記クライアント端末との間の経路に沿って遭遇する夫々のキャッシュは、それ自身の識別子を付加して順序付きリストを構築することによって、前記マニフェストを変更している、
請求項１０又は１１に記載のクライアント端末。
【請求項１４】
通信ネットワークからダウンロード可能であり、及び／又はコンピュータによって読出可能な媒体上に記録され、プロセッサによって実行可能であるコンピュータプログラムであって、
少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをクライアント端末においてダウンロードする方法を実施するプログラムコード命令を有し、
夫々のセグメントは、１又はそれ以上の表現において利用可能であり、
前記方法は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する、コンピュータプログラム。
【請求項１５】
プログラムによって実行可能なコンピュータプログラムを記録する非一時的なコンピュータ可読媒体であって、
前記コンピュータプログラムは、少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをクライアント端末においてダウンロードする方法を実施するプログラムコード命令を有し、
夫々のセグメントは、１又はそれ以上の表現において利用可能であり、
前記方法は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、例えばそれだけではないがＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）上の、適応ストリーミング技術の分野に係り、特に、クライアント端末においてマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法に係る。
【背景技術】
【０００２】
この項目は、以下で説明及び／又は請求される本開示の様々な態様に関連する当該技術の様々な態様に読む者を引き合わせることを目的としている。この議論は、本開示の様々な態様のより良い理解を促すよう背景情報を読む者に与えるのに役立つと信じられる。然るに、それらの記述は、先行技術の承認としてではなく、この観点から読まれるべきであることが理解されるべきである。
【０００３】
ＨＴＴＰ上の適応ストリーミングは、急速に、マルチメディアコンテンツ配信のための主要な技術となりつつある。既に使用されているＨＴＴＰ適応ストリーミングプロトコルの中で最も有名なのは、アップル社のＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ（ＨＬＳ）、マイクロソフト社のＳｉｌｖｅｒｌｉｇｈｔ  Ｓｍｏｏｔｈ  Ｓｔｒｅａｍｉｎｇ（ＳＳＳ）、アドビ社のＡｄｏｂｅ  Ｄｙｎａｍｉｃ  Ｓｔｒｅａｍｉｎｇ（ＡＤＳ）、及びＳＡ４グループ内の３ＧＰＰによって開発されたＤｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）である。
【０００４】
クライアント端末が適応ストリーミングにおいてオーディオビジュアルコンテンツ（すなわち、Ａ／Ｖコンテンツ）を再生したと望むとき、それは最初に、如何にしてこのＡ／Ｖコンテンツが取得され得るかを記述するファイルを得る必要がある。これは一般に、記述ファイル、所謂マニフェストをＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）から得ることによって、ＨＴＴＰプロトコルを通じて行われるが、他の手段（例えば、ブロードキャスト、電子メール、ＳＭＳ及び他）によっても達成可能である。マニフェストは基本的に、そのようなＡ／Ｖコンテンツの利用可能な表現を（例えば、ビットレート、分解能及び他の特性に関して）リストアップする。前述のマニフェストは、例えば、遠隔のサーバによって、前もって生成され、クライアント端末へ配信される。
【０００５】
実際に、異なる品質を有するＡ／Ｖコンテンツに対応するデータのストリームがＨＴＴＰサーバにおいて利用可能である。最も高い品質は、高ビットレートに関連し、最も低い品質は、低ビットレートに関連する。これは、極めて変化するネットワーク条件にさらされ得る多数の異なる端末への分配を可能にする。
【０００６】
データストリーム全体はセグメントに分割され、これは、クライアント端末が２つのセグメントの間で１つの品質レベルから他の品質レベルへ円滑に切り替えることができるように為される。結果として、ビデオ品質は再生中に変化することがあるが、めったに途絶（フリーズとも呼ばれる。）に遭わない。
【０００７】
プロトコルに依存して、マニフェストは様々なフォーマットを与えることができる。アップル社のＨＬＳプロトコルに関して、それは“マスタープレイリスト（master  playlist）”と呼ばれるＭ３Ｕ８プレイリストである。このプレイリストの夫々の要素は、表現ごとに１つである他のプレイリストである。他のプロトコル（例えば、ＤＡＳＨ）に従って、マニフェストは、順々に全ての表現を記述する１以上のＸＭＬファイルから作られている。いずれの場合にも、マニフェストを作成することは、テキストファイルを作成し、決定論的文法に従ってテキストを書くことと同じくらい簡単である。
【０００８】
その利用可能な帯域幅に従って、クライアント端末は、品質（例えば、ビデオ品質）とネットワーク変動に対するロバスト性との間のトレードオフを最適化するよう所与の時点で最良の表現を選択することがよく知られている。利用可能な帯域幅は、受信されたセグメントごとに動的に決定される。実際に、所与のセグメントのためのＨＴＴＰ要求の発射と、対応するＨＴＴＰ応答の受信との間に定義されるラウンドトリップ時間（以降、ＨＴＴＰ  ＲＴＴと呼ばれる。）が通例は測定され、伝送経路に沿った利用可能な帯域幅を推定するのに使用される。
【０００９】
キャッシュがクライアント端末と遠隔のサーバとの間の伝送経路に沿って設置されるときに（これはしばしば起こる。）、他のクライアントが同じ表現による同じキャッシュを以前に要求していた場合、又はＣｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ（ＣＤＮ）が既にセグメントをキャッシュに供給していた場合、１つのセグメントは既にそのキャッシュに記憶されていることがある。
【００１０】
よって、前述の所与のセグメントのためのＨＴＴＰ要求に対する応答は、セグメントが遠隔のサーバから来る場合よりも速い。クライアント端末とキャッシュとの間のＨＴＴＰ要求のＨＴＴＰ  ＲＴＴは、クライアント端末と遠隔のサーバとの間のＨＴＴＰ要求のＨＴＴＰ  ＲＴＴよりもずっと小さくなり得る。これは、伝送経路がより短いことによる。
【００１１】
加えて、伝送経路に沿ってキャッシュが存在する（要求されているセグメントがキャッシュに記憶されている）場合、ピークレートは、特に、キャッシュと遠隔のサーバとの間にある伝送経路上に混雑状態が存在するときに、より良くなり得る。
【００１２】
クライアント端末は、通例は、遠隔のサーバによって又は中間にあるキャッシュによって送信される返事を区別しないので、それは、エンド・ツー・エンドのネットワーク条件の変動として帯域幅の変動を誤って解釈することとなり、一方、それは、実際には、“クライアント端末からサーバまで”の経路から“クライアント端末からキャッシュまで”の経路への伝送経路の切り替えを観測することｔｐなる。
【００１３】
結果として、クライアント端末によって実行される帯域幅推定は、過剰に見積もられ、期待されるエンド・ツー・エンドの伝送経路特性を正確に反映しない。
【００１４】
そのような過剰な見積もりは、一般に、エンドユーザの貧弱な経験をもたらす。実際に、推定される帯域幅が期待されるよりも高い場合は、適応ストリーミングのクライアント端末は、通例、より高い品質表現（例えば、より高いビットレート）からセグメントを要求する。よって、この要求されたセグメントは、表現が変わる場合に、（キャッシュが、一定のビットレートで同じマルチメディアコンテンツを再生する先クライアント端末によって満たされたと仮定することによって、）キャッシュにある可能性がより低い。前述の要求されたセグメントに関連するダウンロード時間は、期待されるよりもずっと長くなるはずであり、要求されたセグメントの遅すぎる到着に帰着する。次いで、クライアント端末は、キャッシュで再び見つけられる可能性が高いより低い品質表現に切り替える。
【００１５】
結果として、クライアント端末は、高品質セグメントと低品質セグメントとの間で交互に切り替えることとなり（キャッシュミスにより絶えず中断され）、キャッシングの利益を全く台無しにする。
【００１６】
加えて、ＨＡＳクライアント端末はキャッシュの内容を知らないので、それらは、それらの加速能力及びネットワーク負荷の低減の利益を見逃す。更に、たとえセグメントの夫々のダウンロード時の個々のクエリが可能であるとしても、目下のＨＡＳクライアント端末は、キャッシュ内のセグメントシーケンスの存在を考慮するレート適応ストラテジーを策定することができない。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本開示は、エンドユーザ経験の品質を改善するために前述の欠点の少なくとも幾つかを是正しようと努める。
【課題を解決するための手段】
【００１８】
本開示は、クライアント端末において、少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法であって、夫々のセグメントが１又はそれ以上の表現において利用可能である方法において、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する方法に関する。
【００１９】
本開示のおかげで、例えば、ストリーム再生時にＨＡＳクライアントによって見舞われた性能及び安定性の問題（クライアント及びＨＡＳネットワーク要素の間の弱い協調による。）は、対処され得る。特に、ネットワークのキャッシュの使用は改善され得、キャッシュミスは予見され得、最高品質と安定性との間のトレードオフを提供する。
【００２０】
実施形態において、前記時間閾値は、望ましくは、前記セグメントのシーケンスの再生時間に対応する。
【００２１】
加えて、前記セグメントの表現の組み合わせの前記効用関数は、次のパラメータ：
当該組み合わせの表現の全体品質と、
当該組み合わせの表現のばらつきと、
当該組み合わせの表現のキャッシュミスのコストと
のうちの少なくとも１つに依存してよい。
【００２２】
特に、前記効用関数は、次の式から導出され得る：
【００２３】
【数１】
2015133701.tif 000003
この式において、
バーＲ（ｋ）は、ｋが前記シーケンスのセグメントの数であるとして、当該組み合わせの表現の全体品質であり、
σは、当該組み合わせの表現のばらつきであり、
αは、前記ばらつきの重みパラメータであり、
Ｍ（ｋ）は、当該組み合わせの表現のキャッシュミスのコストであり、
βは、キャッシュミスの平均コストについての重みパラメータである。
【００２４】
加えて、利用可能な表現の組み合わせをダウロードする前記時間は、次のパラメータ：
セグメントの存続期間と、
当該組み合わせの表現のビットレートと、
当該組み合わせの所与の表現を前記サーバからダウンロードするときに決定されるダウンリンク帯域幅と、
当該組み合わせの所与の表現を該所与の表現を保持する最も近いキャッシュからダウンロードするときに決定されるダウンリンク帯域幅と
のうちの少なくとも１つに依存してよい。
【００２５】
特に、前記利用可能な表現の組み合わせをダウンロードする時間は、次の式から導出され得る：
【００２６】
【数２】
2015133701.tif 000004
この式において、
ｋは、前記シーケンスのセグメントの数であり、
Ｒｉは、当該組み合わせのセグメントｉの考えられる表現のビットレートであり、
ＢＷｓｅｒｖｅｒは、当該組み合わせの所与の表現を前記サーバからダウンロードするときに決定されるダウンリンク帯域幅であり、
ＢＷＣｉは、当該組み合わせのセグメントｉの所与の表現を該所与の表現を保持する最も近いキャッシュからダウンロードするときに決定されるダウンリンク帯域幅であり、
セグメントｉの表現が前記サーバから取り出される場合にＳｉ＝１であり、他の場合にＳｉ＝０である。
【００２７】
前記効用関数及び前記ダウンロード時間は、キャッシュされていようとなかろうと前記セグメントの利用可能な表現の全ての組み合わせについて決定されてよい。
【００２８】
実施形態の他の態様において、前記サーバから前記クライアント端末によって受信され、前記マルチメディアコンテンツの利用可能な表現のリストを有するマニフェストは、前記サーバと前記クライアント端末との間に配置されるキャッシュの順序付きリストを更に有してよい。
【００２９】
加えて、前記マニフェストは、前記順序付きリストの夫々のキャッシュについて、当該キャッシュによって記憶されている前記セグメントの表現の更なるリストを更に有することができる。
【００３０】
実施形態の更なる態様において、前記サーバから前記クライアント端末によって受信され、前記マルチメディアコンテンツの利用可能な表現のリストを有するマニフェストは、前記サーバと前記クライアント端末との間の経路に沿って遭遇する夫々のキャッシュによって、それ自身の識別子を付加して順序付きリストを構築することによって変更されている。
【００３１】
特に、前記マニフェストは、前記順序付きリストの夫々のキャッシュについて、それが記憶している前記セグメントの表現の更なるリストを更に有する。該リストは、局所的にキャッシュされた表現のリストのマニフェストへの付加を通じて、前記サーバと前記クライアント端末との間の経路沿いの夫々の遭遇されるキャッシュによってインクリメンタルに構成され得る。
【００３２】
加えて、前記サーバと前記クライアント端末との間の経路に沿って位置する夫々のキャッシュは、接続情報を加えることによって前記マニフェストを更に変更することができる。
【００３３】
好適な実施形態の他の態様において、前記サーバは、少なくとも１つのメッセージを、該メッセージを受信する夫々のキャッシュがその存在を前記クライアント端末へ及び当該キャッシュと前記クライアント端末との間にある次のキャッシュへ報告することを可能にする拡張ヘッダを含む前記クライアント端末への応答に添付することができる。
【００３４】
特に、夫々の遭遇されるキャッシュを特定する順序付きリストは、前記拡張ヘッダにおいて構築され得る。
【００３５】
加えて、接続情報が、前記順序付きリストの夫々のキャッシュに関連付けられ得る。
【００３６】
他の態様において、前記クライアント端末は、夫々のクエリされたキャッシュによって記憶されている前記セグメントの表現を決定するために、データを配信するのに使用されるデータ経路とは異なる補助通信経路を用いることによって、前記順序付きリストの少なくとも幾つかの、望ましくは全てのキャッシュにクエリすることができる。
【００３７】
本開示はまた、少なくとも１つの遠隔のサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードするよう構成されるクライアント端末であって、夫々のセグメントが１又はそれ以上の表現において利用可能であるクライアント端末に関する。本開示の実施形態に従って、前記クライアント端末は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するよう構成される計算器と、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するよう構成されるモジュールと、
前記選択された表現の組み合わせに関連する表現を前記クライアント端末でダウンロードするよう構成される通信モジュールと
を有する。
【００３８】
加えて、前記計算器は更に、キャッシュされていようとなかろうと前記セグメントの利用可能な表現の全ての組み合わせの効用関数の値及びダウンロード時間を決定するよう構成され得る。
【００３９】
加えて、前記通信モジュールは、前記サーバと前記クライアント端末との間に配置されるキャッシュの順序付きリストを有するマニフェストを受信するよう構成され、該マニフェストは、前記サーバから受信され、該サーバでの前記マルチメディアコンテンツの利用可能な表現のリストを有する。
【００４０】
その上、前記通信モジュールは、キャッシュの順序付きリストを有する前記サーバからのマニフェストを受信するよう構成され得、該マニフェストは、前記サーバと前記クライアント端末との間の経路に沿って遭遇する夫々のキャッシュによって、それ自身の識別子を付加して順序付きリストを構築することによって変更されている。
【００４１】
本開示は更に、通信ネットワークからダウンロード可能であり、及び／又はコンピュータによって読出可能な媒体上に記録され、プロセッサによって実行可能であるコンピュータプログラムであって、
少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをクライアント端末においてダウンロードする方法を実施するプログラムコード命令を有し、
夫々のセグメントは、１又はそれ以上の表現において利用可能であり、
前記方法は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する、コンピュータプログラムに関する。
【００４２】
加えて、本開示はまた、プログラムによって実行可能なコンピュータプログラムを記録する非一時的なコンピュータ可読媒体であって、
前記コンピュータプログラムは、少なくとも１つのサーバによって提供されるマルチメディアコンテンツのセグメントの来るシーケンスをクライアント端末においてダウンロードする方法を実施するプログラムコード命令を有し、
夫々のセグメントは、１又はそれ以上の表現において利用可能であり、
前記方法は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定するステップと、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択するステップと、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始するステップと
を有する、コンピュータ可読媒体に関する。
【００４３】
本開示はまた、少なくとも１つの遠隔のサーバに記憶されているマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードするよう構成されるクライアント端末であって、夫々のセグメントが１又はそれ以上の表現において利用可能であるクライアント端末に関する。本開示の実施形態に従って、前記クライアント端末は、
前記クライアント端末とサーバとの間に配置される識別されているキャッシュにおいて記憶されていようとなろうと前記セグメントの利用可能な表現の少なくとも幾つかの組み合わせについて、該組み合わせの夫々に関連する知覚品質の効用関数の値と、前記組み合わせの夫々をダウンロードする時間とを決定し、
前記効用関数の決定された値の中から、時間閾値に及ばないダウンロード時間に関連する効用関数を選択し、
前記選択された組み合わせに関連する表現の前記クライアント端末でのダウンロードを開始する
よう構成される１又は複数のプロセッサを有する。
【００４４】
開示されている実施形態と適用範囲内で相応である特定の態様が以下で説明される。それらの態様は、単に、本開示がとることができる特定の形態の簡単な要約を読む者に与えるために提示され、それらの態様は、本開示の適用範囲を制限するよう意図されないことが理解されるべきである。実際に、本開示は、以下で説明されない様々な態様を包含してよい。
【図面の簡単な説明】
【００４５】
【図１】本開示の実施形態が実施され得るクライアント−サーバ間ネットワークアーキテクチャの概略図である。
【図２】本開示の実施形態に従うクライアント端末の例のブロック図である。
【図３】図２のクライアント端末によって実施されるマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法を説明するフローチャートである。
【発明を実施するための形態】
【００４６】
本開示は、添付の図面を参照して、全く制限的ではなく、以下の実施形態及び実施例によってより良く理解され且つ説明されるであろう。
【００４７】
図１及び２において、表されているブロックは、単に、機能エンティティであり、物理的に分離したエンティティに必ずしも対応しない。すなわち、それらは、ソフトウェアの形で開発されても、あるいは、１以上のプロセッサを有する１又は複数の集積回路において実施されてもよい。
【００４８】
可能な限り、同じ参照符号は、図面を通じて同じか又は同様の部分を参照するために使用される。
【００４９】
本開示の図面及び明細書は、明りょうさのために、典型的なデジタルマルチメディアコンテンツ配信方法において見受けられる多くの他の要素を省略しながら、本開示の明りょうな理解に関連する要素を表すよう簡略化されていることが理解されるべきである。なお、省略される要素は当該技術においてよく知られているので、そのような要素の詳細な議論はここでは与えられない。本開示は、ここにより、当業者に知られている全ての変形及び改良を対象とする。
【００５０】
実施形態に従って、本開示は、ＨＴＴＰ適応ストリーミングプロトコル（又はＨＡＳ）に関して記載される。当然、開示は、そのような特定の実施形態に制限されず、他の適応ストリーミングプロトコルが、当然に検討及び実施されてよい。
【００５１】
図１に表されているように、１又は複数のネットワークＮ（図にはただ１つのみが表されている。）によってサポートされるクライアント−サーバ間ネットワークアーキテクチャは、本開示によって実施され得る場合に、１又は複数のクライアント端末ＣＴと、１以上のＨＴＴＰサーバＳＥと、複数のスマートキャッシュＤＡＮＥと、１以上のレガシーキャッシュＲＮＥとを有する。ＤＡＳＨに従って、そのようなサーバＳＥはメディア基点（Media  Origin）とも称される。それらは、例えば、メディア提示記述（media  presentation  description）（すなわち、ＭＰＤ）、所謂マニフェストを生成する。これはコンテンツ分配の起源であり、マルチメディアコンテンツは、何らかの外部エンティティから伝来し、メディア基点でＨＡＳフォーマットに変換されてよい。
【００５２】
スマートキャッシュＤＡＮＥは、ＨＡＳコンテンツが配信されると理解するよう構成されるネットワークＮ内のキャッシング要素である。ＭＰＥＧ−ＤＡＳＨの用語を用いれば、スマートキャッシュは、ＤＡＳＨ  Ａｗａｒｅ  Ｎｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔ（ＤＡＮＥ）と見なされる。
【００５３】
レガシーキャッシュＲＮＥは、それを通って送信するデータのタイプの認識を有さないネットワークＮ内のキャッシング要素である。すなわち、すくなくともそれはＨＡＳアスペクトを理解しない。ＭＰＥＧ−ＤＡＳＨの用語を用いれば、レガシーキャッシュは、Ｒｅｇｕｌａｒ  Ｎｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔ（ＲＮＥ）と見なされる。
【００５４】
クライアント端末ＣＴは、ＨＴＴＰサーバＳＥのうちの１つからマルチメディアコンテンツを取得したいと望む。前述のマルチメディアコンテンツは、複数のセグメント（チャンクとも呼ばれる。）に分割される。マルチメディアコンテンツは、サーバＳＥで異なる表現において利用可能であると考えられる。ＨＴＴＰサーバＳＥは、１以上のＴＣＰ／ＩＰ接続を介してＨＴＴＰ適応ストリーミングプロトコルを用いて、クライアント要求時に、セグメントをクライアント端末ＣＴへストリーミングすることができる。
【００５５】
図２に記載される実施形態に従って、クライアント端末ＣＴは、少なくとも：
−  第１のネットワークＮ１への接続（例えば、Ｗｉ−Ｆｉ、イーサネット（登録商標）、等のような有線及び／又は無線接続）のインターフェース１；
−  ＨＴＴＰサーバＳＥと通信するためのプロトコルスタックを有する通信モジュール２。特に、通信モジュール２は、当該技術においてよく知られているＴＣＰ／ＩＰスタックを有する。当然ながら、それは、クライアント端末ＣＴがＨＴＴＰサーバＳＥと通信することを可能にするあらゆる他のタイプのネットワーク及び／又は通信手段であってよい；
−  ＨＴＴＰサーバＳＥからＨＴＴＰストリーミングマルチメディアコンテンツを受信する適応ストリーミングモジュール３。それは、ネットワーク制約及びそれ自身の制約をより良く整合させるビットレートで継続的にセグメントを選択する；
−  マルチメディアコンテンツを復号化及びレンダリングするよう構成されるビデオプレーヤ４；
−  クライアント端末ＣＴの不揮発性メモリに記憶されているアプリケーション及びプログラムを実行する１以上のプロセッサ５；
−  ＨＴＴＰサーバＳＥから受信されたセグメントを、ビデオプレーヤ４へのそれらの伝送の前にバッファリングする、例えば、不揮発性メモリ等の記憶手段６；
−  様々なモジュール、及び一般的なクライアント端末機能を実行するための当業者によく知られている全ての手段を接続する内部バスＢ
を有する。
【００５６】
実施形態において、クライアント端末ＣＴは、携帯型メディアデバイス、携帯電話機、タブレット若しくはラップトップ、テレビ受信機、セットトップボックス、ゲーム機、又は集積回路である。当然に、クライアント端末ＣＴは、完成したビデオプレーヤ−を有さずに、メディアコンテンツをデマルチプレキング及び復号化するためのもののような幾つかの副要素しか有さなくてよく、復号化されたコンテンツをエンドユーザに表示する外部手段に依存してよい。この場合に、クライアント端末ＣＴは、セットトップボックスのような、ＨＴＴＰ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ（ＨＡＳ）機能を備えたビデオデコーダである。
【００５７】
開示に従って、夫々のクライアント端末ＣＴは、遠隔のサーバＳＥに記憶されているマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法Ｍであって、夫々のシーケンスは、その特性が何らかの品質基準により良く整合するように選択される、以下で記載される方法Ｍを実施するよう構成される。
【００５８】
方法Ｍを実施するよう、クライアント端末ＣＴは、望ましくは、ネットワークアーキテクチャＮの認識を有する必要がある。
【００５９】
このために、クライアント端末ＣＴによるマルチメディアコンテンツの要求時にＨＴＴＰ応答を通じてサーバＳＥによってクライアント端末ＣＴへ配信されるマニフェストは、サーバＳＥとクライアント端末ＣＴとの間にあるスマートキャッシュＤＡＮＥの順序付きリストを更に有することができる。この場合に、サーバＳＥは、（例えば、被管理ネットワークにおいて見られるように）ネットワークアーキテクチャを知っており、そのような順序付きリストを予め構築することができる。サーバＳＥは、要求元のクライアント端末ＣＴに依存する順序付きリストを提供してよい。
【００６０】
順序付きリストにおいて、夫々の遭遇されるスマートキャッシュＤＡＮＥは、
−  一意の識別子；
−  そのスマートキャッシュに届くことを可能にするサービスアクセスポイント（Service  Access  Point）のような接続情報（以降で記載される。）
によって識別される。
【００６１】
スマートキャッシュＤＡＮＥのこのような順序付きリストは、任意に追加の接続情報を備え、それがクライアント端末ＣＴによって受信される場合にマニフェストの拡張として提供される。
【００６２】
順序付きリストにおいて、スマートキャッシュＤＡＮＥは、望ましくは、クライアント端末ＣＴとのそれらの近接を考慮することによってリストアップされ、そのように考慮されたリストの最初の要素は、クライアント端末ＣＴに最も近いスマートキャッシュに対応する。
【００６３】
変形例において、サーバＳＥがネットワークアーキテクチャを知らない場合、サーバＳＥは、そのような順序付きリストを予め構築することができないことがある。その場合に、夫々のスマートキャッシュＤＡＮＥは、例えば、その対応するサービスアクセスポイントにより、サーバＳＥのＨＴＴＰ応答のコンテンツタイプヘッダを（専用の検査モジュールにより）調べて、それがマニフェストを含むことを確認し、次いで、そのマニフェストを、自身の識別子を順序付きリストに加えることによって更新する。
【００６４】
順序付きリストを確立するいずれの方法も、サーバＳＥによって知られていない幾つかのスマートキャッシュＤＡＮＥが、サーバＳＥのＨＴＴＰ応答を受信した場合に、それら自身を既に存在する順序付きリストに加えることができるように、共存することができる。明らかに、その場合に、スマートキャッシュは、望ましくは、何らかの情報を付加する前に、順序付きリストにおけるそれらの自身の存在を確認する。
【００６５】
以下で、制限なしに、ＭＰＥＧ−ＤＡＳＨマニフェスト（不完全）へのスマートキャッシュＤＡＮＥの順序付きリストの例が例示される：
【００６６】
【数３】
2015133701.tif 000005
順序付きリストのスマートキャッシュ階層情報に加えて、マニフェストは、例えば、対応するスマートキャッシュ識別子に関連する追加リストにおいて、マルチメディアコンテンツ（又はその部分）の夫々のセグメントの記憶されている表現を加えることによって、順序付きリストの夫々のスマートキャッシュＤＡＮＥに記憶されているマルチメディアコンテンツのセグメントの表現を更に示す。前述の追加リストは、サーバＳＥによって（例えば、被管理ネットワークの場合）又は夫々の遭遇されるスマートキャッシュＤＡＮＥによって構築されてよい。
【００６７】
他の変形例では、ネットワークアーキテクチャ、特に、スマートキャッシュ階層を決定するよう、サーバＳＥは、クライアント端末ＣＴへＨＴＴＰ応答を送信する。ＨＴＴＰ応答は、その応答を受信する夫々のスマートキャッシュＤＡＮＥが、自身の存在をクライアント端末ＣＴへ及びそのキャッシュＤＡＮＥとクライアント端末ＣＴとの間にある次のキャッシュへ報告することを可能にする拡張ヘッダを有する。ＨＴＴＰ拡張ヘッダは、次のように定義され得る：
【００６８】
【数４】
2015133701.tif 000006
ヘッダ拡張は、サーバＳＥ及びスマートキャッシュＤＡＮＥに、自身の存在を下流のスマートキャッシュＤＡＮＥへ及び／又はクライアント端末ＣＴへ知らせる手段を与えることができる。そのような手段は、何らかの応答（特に、１つはマニフェストを含む。）に添付される。
【００６９】
サーバＳＥは、下流のスマートキャッシュＤＡＮＥにそれら自身の識別子及び任意にそれらの接続情報を専用の変更モジュールにより加えさせるために、ＨＴＴＰ応答に添付されるシンタックス“Ｘ−ＳｍａｒｔＣａｃｈｅ：ｒｅｑｕｉｒｅｄ”を使用することができる。このヘッダを受信すると、夫々のスマートキャッシュＤＡＮＥは、自身の識別子及び接続情報を順序付きリストにプリペンドする。有利に、ＨＴＴＰ応答を受信する最初のスマートキャッシュは、“ｒｅｑｕｉｒｅｄ”トークンを廃棄する。
【００７０】
この変形例の１つの利点は、前述のＨＴＴＰ拡張ヘッダが他の応答メッセージ（例えば、更なるコンテンツデータ転送）に添付され得る点である。それはまた、マニフェストの変更なしで、マニフェストを含むＨＴＴＰ応答のインターセプション時に使用されてよい。
【００７１】
実例として、制限なしに、スマートキャッシュ階層は、ＨＴＴＰ応答ヘッダを用いて次のように示されてよい：
【００７２】
【数５】
2015133701.tif 000007
実施形態の更なる態様において、スマートキャッシュＤＡＮＥにクエリするシグナリングメッセージは、データを供給するのに使用されるメインチャネルとは別の補助通信チャネル（又は経路）にわたって交換され得る。この補助チャネルは、データメインチャネルと無関係に動作する。そのようなシグナリングメカニズムは、帯域外シグナリングと称される。
【００７３】
帯域外シグナリングの２つの相異なるメカニズムが開発されてよく、第１のメカニズムに関しては、特定のスマートキャッシュＤＡＮＥを対象とする別個のプロトコルを実施し、第２のメカニズムに関しては、ＨＴＴＰの要求の自然な上方へのルーティング（サーバＳＥに向かってクライアント端末ＣＴによって送信されるシグナリング要求は、必要に応じて反応することができる遭遇されるスマートキャッシュＤＡＮＥ及びレガシーキャッシュＲＮＥを横断する。）からの利益を伝えるための第２のＴＣＰ接続によるＨＴＴＰプロトコルを実施する。いずれの場合にも、それらのメカニズムは、レガシーキャッシュＲＮＥに影響を及ぼさない。
【００７４】
特定のプロトコルを用いる第１のメカニズムに従って、シグナリングオーバレイは、スマートキャッシュ階層及びそれらの識別子を用いることにある。シグナリングオーバレイが利用可能であると、異なるネットワーク設備が互いと通信することができる。スマートキャッシュインターフェースは、キャッシュ管理動作を交換するのに使用され得る。前述のスマートキャッシュインターフェースは、マニフェストの部分として提供されるか又はＨＴＴＰ応答ヘッダに含まれるスマートキャッシュサービスアクセスポイントを通じて、アクセスされ得る。それは、ＤＡＳＨ／ＨＡＳクライアントがスマートキャッシュインターフェースの動作を呼び出すことを可能にする。夫々の動作は、動作識別子及びそのパラメータを含むメッセージを構成し、それをスマートキャッシュインターフェースへ送信することによって、呼び出され得る。
【００７５】
実例において、制限なしに、シグナリングメッセージは、多くのサーバ側スクリプト言語において容易にパースされるＪＳＯＮストリングとして構築され得る。シグナリングメッセージを受信すると、スマートキャッシュＤＡＮＥは、要求されている動作を実行することができる。
【００７６】
特に、クライアント端末ＣＴとスマートキャッシュＤＡＮＥとの間のシグナリングメッセージは、幾つかの適切なプロトコルによって送信され得る。
【００７７】
第１の実例では、ＷｅｂＳｏｃｋｅｔが使用される。それは、クライアント端末ＣＴと所与のスマートキャッシュＤＡＮＥとの間の双方向のポイント・ツー・ポイント通信を可能にする。第２の実例では、ＸＭＰＰが使用され、上方のポイント・ツー・マルチポイント送信を可能にすることができる（例えば、スマートキャッシュの全てのクライアント端末へのキャッシュ更新通知のため）。当然に、他のプロトコルが使用されてよい。
【００７８】
第１のメカニズムのおかげで、クライアント端末ＣＴは、所与のスマートキャッシュＤＡＮＥとメッセージを交換して、そのスマートキャッシュＤＡＮＥに記憶されているセグメント及びそれらの表現を発見することができる。次のメッセージが使用されてよい：
getlsCached([segmentlds:<list>])
シグナリングメッセージを受信すると、スマートキャッシュＤＡＮＥは、キャッシュされているセグメントの識別子を含む更新されたリストで応じることができる。このメッセージは、夫々の個々のスマートキャッシュの内容の正確な通覧を得るために、クライアント端末によってその上流のスマートキャッシュＤＡＮＥのいずれかへ送信され得る。
【００７９】
加えて、スマートキャッシュＤＡＮＥは、クライアント端末が、例えば、それらがモニタしたいと望むセグメントを事前に特定しているとして、登録されているクライアント端末へのコールバックを用いてそのキャッシュ内容の変化をクライアント端末に通知することができる。そのようなコールバックメカニズムは、今日、ＨＴＭＬ５ウェブソケットのサーバ側イベントにより容易に実施されるが、他の技術が同様の結果を得るために用いられ得る。
cacheUpdate([segmentlds:<list>])
第２のメカニズムに従って、クライアント端末ＣＴはまた、キャッシュされているコンテンツを発見するためにキャッシュ（スマートキャッシュＤＡＮＥ及びレガシーキャッシュＲＮＥ）のチェーンにクエリするシグナリング手段としてＨＴＴＰを使用することができる。そのようなシグナリングＨＴＴＰメッセージは、二次的なＴＣＰセッションにおいてメインデータ配信セッションと同じ経路を辿って同じサーバアドレスへ送信される。シグナリングＨＴＴＰ要求は、具体的に、データ転送をトリガすることを回避するよう構築される。
【００８０】
このために、ＨＴＴＰ  ＨＥＡＤメソッド又は最小バイト範囲ＧＥＴ（例えば、１つの単バイトのデータを要求する。）が使用されてよい。来るセグメントの異なる表現のための複数のＨＥＡＤ（又は１バイト範囲ＧＥＴ）を送信し、提案される拡張を用いることによって、クライアント端末ＣＴは、キャッシュされている表現の所在のマップを構築することができる。
【００８１】
特に、キャッシュの内容をクエリするよう、クライアント端末ＣＴは、最も近いキャッシュの内容を要求する“ｏｎｌｙ−ｉｆ−ｃｈａｃｈｅｄ（キャッシュされている場合のみ）”命令を伴う“Ｃａｃｈｅ−ｃｏｎｔｒｏｌ（キャッシュ制御）”ＨＴＴＰヘッダを使用することができる。なお、第１のメカニズムと比較して、ＨＴＴＰに基づくメカニズムは、暗に、サーバＳＥへ向かう経路上の最初のキャッシュにのみクエリすることを可能にする。
【００８２】
第１のキャッシュのみにクエリする欠点を解消するための拡張として、シグナリング要求の“ｏｎｌｙ−ｉｆ−ｃｈａｃｈｅｄ”命令は、例えば：
chache-control:only-if-cached,  depth=3
のように、考慮されるべきキャッシュの深さのインジケーションを更に含んでよい。
【００８３】
この深さ値はスマートキャッシュＤＡＮＥによってインタープリトされ、それにより、セグメントの要求されている表現がスマートキャッシュＤＡＮＥにおいてキャッシュされていない場合に、そのスマートキャッシュは、深さ値が許すならば、上流へシグナリング要求を転送する。スマートキャッシュＤＡＮＥが要求されている表現を記憶していない度に、深さの値はデクリメントされ、ＨＴＴＰヘッダは、シグナリング要求を転送する前に然るべく変更される。スマートキャッシュＤＡＮＥが、１に等しい深さ値を伴うシグナリング要求を受け取る場合に、そのシグナリング要求は、キャッシュミスの場合にもはや転送されない。
【００８４】
改良点において、要求されている表現を記憶するスマートキャッシュＤＡＮＥは、その応答において、例えば：
X-SmartChache-info:depth=2
のように、到達された深さを示す補足命令を含めてよい。
【００８５】
次いで、スマートキャッシュＤＡＮＥから受信された値により、クライアント端末は、返された値をクライアント端末ＣＴのシグナリング要求の最初の深さ値から減じることによって、考えられているスマートキャッシュＤＡＮＥまでの距離を知ることができる。
【００８６】
代替的に、クライアント端末ＣＴは、キャッシュを自身のシグナリング要求において特定することによって、クエリ深さを所与のキャッシュに制限してよい。シグナリング要求がその特定されたスマートキャッシュＤＡＮＥに到達する場合且つそのスマートキャッシュＤＡＮＥがセグメントの要求されている表現を記憶しない場合に、その特定されたスマートキャッシュＤＡＮＥは、要求をサーバＳＥへと上流へ転送せず、否定的に応答する。このために、対象のスマートキャッシュの識別子を特定する特定の拡張が、次の：
Cache-control:only-if-chached,  until=<smartcache_id>
のように、ＨＴＴＰシグナリング要求のキャッシュ制御“ｏｎｌｙ−ｉｆ−ｃｈａｃｈｅｄ”命令に付加される。
【００８７】
シグナリング要求において使用されるスマートキャッシュ識別子は、スマートキャッシュＤＡＮＥの既知のＳＡＰ又はそのようなスマートキャッシュＤＡＮＥに固有の何らかの識別子であることができる。
【００８８】
ＨＡＳクライアント端末ＣＴが、サーバＳＥまでの経路上に配置されているスマートキャッシュＤＡＮＥと、夫々のスマートキャッシュＤＡＮＥによって保持されている被キャッシュ表現のリストを知っている場合に、クライアント端末ＣＴは方法Ｍを実施することができる。
【００８９】
ｋ個の来るセグメント（ｋ個のセグメントのシーケンスを定義する。）についてのクライアント端末ＣＴとサーバＳＥとの間のスマートキャッシュＤＡＮＥの内容の認識を前提として、方法Ｍは、ダウンロードされるべきシーケンスのそれらのセグメントのｋ個の表現を決定することができる。方法Ｍは、望ましくは、ｍ（１≦ｍ≦ｋ）個のセグメントのみのダウンロード後に周期的に、又はキャッシュ更新メッセージの受信時に、実行される。そのような更新は、ｍ＋１乃至ｍ＋ｍまでのセグメントの更なるダウンロードを最適化することを可能にする（最大ｍ＋ｋまでの予測を用いる。）。
【００９０】
実施形態に従って、図３に示されるように、クライアント端末ＣＴにおいて、サーバＳＥで記憶され且つ異なる表現において利用可能なマルチメディアコンテンツのｋ個のセグメントの来るシーケンスをダウンロードする方法は、
−  クライアント端末ＣＴとサーバＳＥとの間に配置される識別されているキャッシュＤＡＮＥ（上記参照）において記憶されていようとなろうとセグメントの利用可能な表現の幾つか又は全ての組み合わせについて、
・  ｋ個の表現の組み合わせの夫々についての品質の効用関数Ｕ（ｋ）の値、
・  それらの組み合わせの夫々をダウンロードする予測時間Ｔ（ｋ）
を計算するステップ（ステップＳ１）を有する。
【００９１】
計算ステップＳ１は、図２に表されるクライアント端末ＣＴの計算器７によって実行される。変形例において、計算器７は、プロセッサモジュール５と一体化されるか、又はその部分であることができる。
【００９２】
当該方法は、
−  効用関数の決定された値の中から、時間閾値（例えば、セグメントのシーケンスの再生時間に対応する。）に及ばないダウンロード時間を有する最大効用関数を選択するステップ（ステップＳ２）
を更に有する。選択ステップＳ２は、クライアント端末ＣＴの選択モジュール８によって実行される。
【００９３】
当該方法は、
−  クライアント端末ＣＴにおいて、選択された組み合わせに関連する表現の少なくとも最初のシーケンスをダウンロードするステップ（ステップＳ３）
を更に有する。選択された組み合わせに関する情報を受信すると、選択された表現のダウンロードは、通信モジュール２によって及び／又は適応ストリーミングモジュール３によって管理される。
【００９４】
当然に、ステップＳ１乃至Ｓ３のうちの少なくとも幾つかは、クライアント端末ＣＴにおいて実行されずに、外部のネットワーク設備（例えば、サーバ、ゲートウェイ、プロキシ、等）において実行されてよい。
【００９５】
特に、所与の組み合わせについて、効用関数Ｕ（ｋ）は、
−  その組み合わせの表現のバーＲ（ｋ）の全体品質、
−  その組み合わせの表現のばらつきσ、
−  その組み合わせの表現のキャッシュミスのコストＭ（ｋ）
に依存する。
【００９６】
クライアント端末においてエンドユーザによって認知されるであろう全体品質は、所与の組み合わせにおける表現の品質に比例する。より高いビットレートはより高い品質を提供するために使用されるので、バーＲ（ｋ）で表される表現のビットレートの和、又はそれらの平均は、この全体品質の推定として使用され得る。
【００９７】
ばらつきは、例えば、その組み合わせにおける表現値のばらつきによって表され得る。
【００９８】
キャッシュミスのコストは、ネットワークリソースに影響を与える帯域幅コストと、データを配信するためのサーバリソースにおけるコストとである。いずれも、サーバからダウンロードされるセグメントのビットレートに比例し、よって、このコストは、例えば、キャッシュミスを伴うセグメントについての表現のビットレートの和によって表され得る。
【００９９】
実例であるが制限されない例において、所与の組み合わせの効用関数Ｕ（ｋ）は、次の式から導出されてよい：
【０１００】
【数６】
2015133701.tif 000008
−  バーＲ（ｋ）は、ｋがシーケンスのセグメントの数であるとして、当該組み合わせの表現の平均ビットレートであり、
−  σは、当該組み合わせの表現のばらつきであり（従って、シーケンスの不安定さを記述する。）、
−  αは、前記ばらつきの重みパラメータであり、
−  Ｍ（ｋ）は、当該組み合わせの表現のキャッシュミスの平均コストであり、
−  βは、キャッシュミスの平均コストについての重みパラメータである。
【０１０１】
特に、所与の組み合わせの表現の平均ビットレートは、次の式によって導出され得る：
【０１０２】
【数７】
2015133701.tif 000009
ここで、Ｒｉは、その組み合わせに属するセグメントｉの所与の表現のビットレートである。
【０１０３】
加えて、その所与の組み合わせの表現のばらつきσは、以下の式によって求められ得る：
【０１０４】
【数８】
2015133701.tif 000010
ばらつきσは、表現間の変化の数及び平均表現からの変化の大きさの両方に従って大きくなる。
【０１０５】
加えて、その所与の組み合わせの表現のキャッシュミスの平均コストＭ（ｋ）は、例えば、次の式によって記述される：
【０１０６】
【数９】
2015133701.tif 000011
この式において、セグメントｉの表現がサーバＳＥから取り出されるときはＳｉ＝１であり、それ以外の（表現は、特定されるスマートキャッシュＤＡＮＥのうちの１つにおいてキャッシュされている）場合はＳｉ＝０である。
【０１０７】
シーケンスの効用関数Ｕ（ｋ）を最大化することによって、ばらつきが小さく且つキャッシュミスがほとんどない高ビットレートが優先する。重みパラメータα及び／又はβは、ばらつき及び／又はキャッシュミスの許容範囲を定義するよう調整され得る。明らかに、ばらつき及び／又はキャッシュミスは、α及び／又はβの値をゼロに設定することによって除外され得る。
【０１０８】
効用関数Ｕ（ｋ）は、次の基準：
−  高い平均ビットレート（及び暗に、高い品質）、
−  一定のビデオ品質を意味する、ほとんどばらつきのない安定したビットレート、
−  サーバＳＥ及びネットワークＮにおける負荷を可能な限り減らすための、キャッシュから取り出されるセグメントの最大化
を満足する組み合わせを決定するために、考えられる組み合わせの候補の夫々について計算される。
【０１０９】
加えて、組み合わせの推定されるダウンロード時間Ｔ（ｋ）は、以下の式により計算されてよい：
【０１１０】
【数１０】
2015133701.tif 000012
この式において、
−  ＢＷｓｅｒｖｅｒは、当該組み合わせの所与の表現をサーバからダウンロードするときに観測されるダウンリンク帯域幅であり、
−  ＢＷＣｉは、当該組み合わせのセグメントｉの所与の表現を該所与の表現を保持する最も近いスマートキャッシュＤＡＮＥからダウンロードするときに観測されるダウンリンク帯域幅である。Ｃｉは、組み合わせの表現ごとにその表現を保持する最も近いキャッシュのインデックスをとることによって確立されるベクトルＣの要素に対応する。
【０１１１】
分母において、Ｓｉは０又は１のどちらかであるから、項Ｓｉ又は（１−Ｓｉ）のうちの１つのみがゼロに等しくない。よって、分母は、サーバＳＥからのリンクの帯域幅ＢＷｓｅｒｖｅｒ又は考えられているスマートキャッシュＤＡＮＥからの帯域幅ＢＷＣｉである。セグメントの夫々の選択された表現のビットレートの数を帯域幅ＢＷｓｅｒｖｅｒによって割ることによって、夫々の表現をダウンロードするのに必要とされる時間が求められる。
【０１１２】
組み合わせのこのダウンロード時間Ｔ（ｋ）は、望ましくは、シーケンスの再生時間に及ばないべきであり、さもなければ再生はバッファのドレインにより中断される可能性がある。それにより：
Ｔ（ｋ）＜ｋ・ｃｈｕｎｋ＿ｄｕｒａｔｉｏｎ。
【０１１３】
実施形態に従って、クライアント端末ＣＴは、ｋ個のセグメントの表現の利用可能な組み合わせごとに効用関数Ｕ（ｋ）及びダウンロード時間Ｔ（ｋ）を計算する（ステップＳ１）。（サーバＳＥからの）利用可能な表現の数をｒとすれば、Ｕ（ｋ）及びＴ（ｋ）は夫々、ｒｋ回計算される。
【０１１４】
このように、ステップＳ２を実行することによって、クライアント端末ＣＴは、バッファのドレインを回避するｋ個の表現の最良のシーケンスを選択することができる。
【０１１５】
以下の表は、１（１は、ダウンロードされるべきシーケンスの最初のセグメントである。）から８までの８個のセグメントのシーケンスについてのスマートキャッシュＤＡＮＥのグループの内容の、実例となるが制限でない例を示す。セルの値は、考えられているセグメント／表現を保持するスマートキャッシュＤＡＮＥのインデックスに対応する。
【０１１６】
【表１】
2015133701.tif 000013
一定の表現２５００ｋｂｐｓにあるｋ個のセグメントのシーケンスに対応する次のビットレートベクトルＲ＝｛Ｒ１＝２５００ｋｂｐｓ，Ｒ２＝２５００ｋｂｐｓ、Ｒ３＝２５００ｋｂｐｓ、Ｒ４＝２５００ｋｂｐｓ，Ｒ５＝２５００ｋｂｐｓ，Ｒ６＝２５００ｋｂｐｓ，Ｒ７＝２５００ｋｂｐｓ，Ｒ８＝２５００ｋｂｐｓ｝を考えることによって、Ｃベクトルは、セグメントごとに表現２５００ｋｐｓを保持する最も近いスマートキャッシュＤＡＮＥのインデックスをとることによって、構築される。前述の表において与えられているスマートキャッシュのサンプルコンテンツＣ＝｛１，１，２，１，０，０，０，１｝によれば、０は、表現２５００ｋｐｓが特定されるスマートキャッシュＤＡＮＥにおいてキャッシュされていないことを意味する。
【０１１７】
実施形態の変形例において、ｋ個のセグメントの表現の利用可能な組み合わせごとに効用関数Ｕ（ｋ）及びダウンロード時間Ｔ（ｋ）を計算することに代えて、クライアント端末ＣＴは、評価モジュール９を介して、ｋ個の来るセグメントについてのクライアント端末ＣＴとサーバＳＥとの間のスマートキャッシュＤＡＮＥの内容の認識から、とり得る表現ごとのキャッシュされているセグメントの数を計算して（ステップＳ２０）、更なるステップＳ２１において、目標表現とも呼ばれる、最も頻繁にキャッシュされている表現を選択する。
【０１１８】
前述の例の表に基づき、ｋ＝８によれば、選択された表現は、５個のキャッシュされたセグメントを有する、２５００ｋｂｐｓに等しいビットレートによる表現である。対応する目標の組み合わせのビットレートベクトルＲは、目標表現のビットレートに等しい一様な値Ｒ＝｛Ｒ１＝２５００ｋｂｐｓ，Ｒ２＝２５００ｋｂｐｓ、Ｒ３＝２５００ｋｂｐｓ、Ｒ４＝２５００ｋｂｐｓ，Ｒ５＝２５００ｋｂｐｓ，Ｒ６＝２５００ｋｂｐｓ，Ｒ７＝２５００ｋｂｐｓ，Ｒ８＝２５００ｋｂｐｓ｝を有する。
【０１１９】
更なるステップＳ２２で、クライアント端末ＣＴは、その計算器７により、目標の組み合わせのダウンロード時間Ｔ（ｋ）を計算する。
【０１２０】
更なるステップＳ２３で、クライアント端末ＣＴは、計算されたダウンロード時間Ｔ（ｋ）（初期Ｔ（ｋ）とも呼ばれる。）を再生時間と比較する。
【０１２１】
初期Ｔ（ｋ）が少なくとも再生時間に等しい（Ｔ（ｋ）≧ｋ・ｃｈｕｎｋ＿ｄｕｒａｔｉｏｎ）場合に、クライアント端末ＣＴは、目標表現がスマートキャッシュに記憶されていないセグメント（例えば、前述の表の例におけるセグメント５，６及び７）の代替のキャッシュされている表現を（ステップＳ２４において）決定する。
【０１２２】
このために、クライアント端末ＣＴは、ステップＳ２５において、より高い品質のキャッシュされている代替表現が昇順においてリストアップされ、次いで、より低い品質のキャッシュされている代替の表現が降順において続く代替表現の順序付きリストを構築する。
【０１２３】
ステップＳ２６で、クライアント端末ＣＴは、
−  代替の順序付きリストから最初の表現を選択し、
−  選択された代替の表現が対応するセグメントのための目標表現に取って代わっていることを除いて目標の組み合わせと同様である新しい組み合わせを決定し（前述の表の例に従って、新しい組み合わせのベクトルＲは｛２５００ｋｂｐｓ，２５００ｋｂｐｓ，２５００ｋｂｐｓ，２５００ｋｂｐｓ，２５００ｋｂｐｓ，４５００ｋｂｐｓ、２５００ｋｂｐｓ，２５００ｋｂｐｓ｝である。）、
−  その表現の新しい組み合わせについてダウンロード時間を計算する。
【０１２４】
新しい組み合わせのＴ（ｋ）が目標の組み合わせのＴ（ｋ）に対して増大する場合に、選択された代替の表現はステップＳ２７において退けられ、新しい組み合わせは拒絶される。ステップＳ２６は、代替の順序付きリストの次の表現により繰り返され、それにより、目標の組み合わせは、更なる新しい組み合わせを確立するために次の表現を用いて変更される。
【０１２５】
新しい組み合わせのＴ（ｋ）が再生時間を下回る場合に、クライアント端末ＣＴは、その新しい組み合わせのダウンロードを開始する（ステップＳ３）。
【０１２６】
新しい組み合わせのＴ（ｋ）が目標の組み合わせのＴ（ｋ）に対して低減するが、少なくとも再生時間に等しいままである場合に、代替のリストの選択された代替の表現は保持され（ステップＳ２８）、ステップＳ２６は、目標の組み合わせの代わりにその新しい組み合わせを考えることによって繰り返される。
【０１２７】
前述の例の表を前提として、これは、中間の解が見つけられない限り、Ｒ６＝４５００ｋｂｐｓ，Ｒ５＝６５００ｋｂｐｓ，Ｒ７＝６５００ｋｂｐｓ及びＲ５＝１２００ｋｂｐｓ，Ｒ７＝１２００ｋｂｐｓにより引き続いて試験する。
【０１２８】
代替の順序付きリストの全ての表現が試されたとき、最後の新しい組み合わせについて計算されたＴ（ｋ）が再生時間に及ばない場合において、クライアント端末ＣＴは、ステップＳ２９において、降順において配置された、目標表現よりも品質が低い表現を含む更なる代替のリストを確立する。
【０１２９】
このアルゴリズムの終わりに、Ｔ（ｋ）は制約を満足するか、あるいは、Ｔ（ｋ）についてそれ以上短い値は存在しない。
【０１３０】
初期Ｔ（ｋ）が再生時間を下回るとき、クライアント端末ＣＴは、より高いレートを有するキャッシュされた表現を用いることによって、（ステップＳ２４１において）効用関数Ｕ（ｋ）を増大させようと試みる。最初のステップＳ４において、クライアント端末ＣＴは、昇順において、最初の目標表現よりも大きい表現の順序付きリストを構築する。
【０１３１】
次いで、このリストの夫々の表現について、クライアント端末ＣＴは、
−  考えられている表現についての対応するセグメントがキャッシュにおいて利用可能であるような最大のｉを選択し（ステップＳ４１）、
−  考えられている表現により前のＲｉを変更することによって得られる表現の組み合わせについてＵ（ｋ）及びＴ（ｋ）を計算する（ステップＳ４２）。
【０１３２】
次いで、Ｔ（ｋ）が制約を依然として満足し、Ｕ（ｋ）の新しい値が前の値よりも大きい場合は、クライアント端末ＣＴは、新しい組み合わせを保持し、次の（より下位の）ｉによりステップＳ４１を繰り返す。Ｔ（ｋ）がもはや制約を満足しないか、あるいは、Ｕ（ｋ）が低減する場合は、クライアント端末ＣＴは、前の組み合わせをリストアすることでＲｉの新しい値を退ける。
【０１３３】
全てのインデックスｉが考えられたとき、次により高い表現が試験される。
【０１３４】
明らかに、他のヒューリスティクスは、実施形態から外れることなしにＵ（ｋ）を改善しながらＴ（ｋ）に関する制約を満足するために使用され得る。
【０１３５】
当然に、ステップＳ２０乃至Ｓ２９のうちの少なくとも幾つかは、クライアント端末ＣＴにおいて実行されずに外部のネットワーク設備（例えば、サーバ、ゲートウェイ、プロキシ、等）において実施されてよい。
【０１３６】
セグメントのシーケンスについて所望の組み合わせが決定されると、クライアント端末ＣＴは、ｍ（１≦ｍ≦ｋ）個のセグメントに到達するか、あるいは、スマートキャッシュから更新メッセージを受信するか、又は受信レートが変化するまで、遅延なしで後続セグメントをシーケンスからダウンロードする。これらの場合のいずれにおいても、クライアント端末ＣＴは方法Ｍを繰り返す。
【０１３７】
ネットワーク情報は、サーバ（ＳＥ）とクライアント端末（ＣＴ）との間の経路添いのキャッシュ（ＤＡＮＥ）の階層を含み、任意に、ネットワーク情報は、その階層の少なくとも幾つかのキャッシュについて、それらのキャッシュ（ＤＡＮＥ）によって記憶されているセグメントの表現のリストを更に含む。
【０１３８】
開示の種々の変形例に従って、ネットワーク情報は、セグメントを受信するのに使用されるインターフェースと同様の、又はセグメントを受信するのに使用されるインターフェースとは異なるネットワークインターフェースを通じて、受信されることが留意されるべきである。
【０１３９】
具体的な実施形態に従って、クライアント端末のネットワークインターフェースは、Ｗｉ−Ｆｉ、ＡＤＳＬ、ケーブル、モバイル及び／又はブロードキャスト（例えば、ＤＶＢ，ＡＴＳＣ）インターフェースからネットワーク情報を受信するよう構成される。
【０１４０】
異なる実施形態に従って、クライアント端末のネットワークインターフェースは、Ｗｉ−Ｆｉ、ＡＤＳＬ、ケーブル、モバイル及び／又はブロードキャスト（例えば、ＤＶＢ，ＡＴＳＣ）インターフェースからセグメントを受信するよう構成される。
【０１４１】
異なる実施形態に従って、クライアント端末は、セグメントを受信するのに使用されるプロトコル（例えば、ｈｔｔｐ，Ｆｌｕｔｅ）と同様のプロトコルを用いてネットワーク情報を受信する。異なる実施形態に従って、クライアント端末は、異なるプロトコルを用いてネットワーク情報を受信する。例えば、
−  セグメントの送信及び受信は、ｈｔｔｐ又はｆｌｕｔｅプロトコルを使用することができ、
−  ネットワーク情報の送信及び受信は、ＴＲ６９ブロードバンドフォーラムプロトコル又はブロードキャストプロトコル（例えば、ｘｍｐｐ  ＩＥＴＦ，ＤＤＳ  ＯＭＧ（Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ））を使用することができる。
【０１４２】
異なる実施形態に従って、ネットワーク情報は、ランダムアクセスメモリ（ＲＡＭ）に記憶される。
【０１４３】
異なる実施形態に従って、セグメントは、ローカルメモリ（例えば、ハードディスク又はフラッシュメモリ）に記憶され、且つ／あるいは、デコーダによって復号化され、且つ／あるいは、ディスプレイに表示される。
【０１４４】
異なる実施形態に従って、クライアント端末は、
−  携帯型メディアデバイス、
−  携帯電話機、
−  ゲーム機、
−  セットトップボックス、
−  テレビ受信機、
−  タブレット、
−  ラップトップ、及び
−  集積回路
を含む組に属する。
【０１４５】
図におけるフローチャート及び／又はブロック図は、本開示の様々な実施形態に従うシステム、方法及びコンピュータプログラムの可能な実施の構成、動作及び機能性を説明する。これに関して、フローチャート又はブロック図における各ブロックは、指定される論理機能を実施する１以上の実行可能な命令を含むモジュール、セグメント、又はコードの部分を表してよい。また、幾つかの代替の実施において、ブロックに示されている機能は、図に示されている順序によらずに起こり得ることが留意されるべきである。例えば、連続して示されている２つのブロックは、実際には、略同時に実行されてよく、あるいは、ブロックは、時々、反対の順序で実行されてよく、あるいは、ブロックは、関連する機能性に依存して、代替の順序において実行されてよい。また、ブロック図及び／又はフローチャート図解の各ブロック、並びにブロック図及び／又はフローチャート図解におけるブロックの組み合わせは、指定される機能若しくは動作、又は特定の目的のハードウェア及びコンピュータ命令の組み合わせを実行する特別の目的のハードウェアに基づくシステムによって実施され得る。明示的に記載されていないものの、本実施形態は、何らかの組み合わせ又はサブコンビネーションにおいて用いられてよい。
【０１４６】
当業者には明らかなように、本原理の態様は、システム、方法又はコンピュータ可読媒体として具現され得る。然るに、本原理の態様は、全体としてハードウェアの実施形態、全体としてソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード、等を含む。）、又は全てがまとめてここで“回路”、“モジュール”若しくは“システム”と呼ばれ得るソフトウェア及びハードウェア態様を組み合わせた実施形態の形をとることができる。加えて、本原理の態様は、コンピュータ可読記憶媒体の形をとることができる。１又はそれ以上のコンピュータ可読記憶媒体のあらゆる組み合わせが利用されてよい。
【０１４７】
コンピュータ可読記憶媒体は、１以上のコンピュータ可読媒体において具現され、コンピュータにより実行可能なコンピュータ可読プログラムコードを担持するコンピュータ可読プログラム製品の形をとることができる。ここで使用されるコンピュータ可読記憶媒体は、自身に情報を記憶する内在機能と、自身からの情報の取り出しを提供する内在機能とを前提とした非一時的な記憶媒体と考えられる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁気、赤外線、若しくは半導体システム、装置、若しくはデバイス、又はそれらのあらゆる適切な組み合わせであることができるが、これらに限られない。当然に、以下は、本原理が適用されるコンピュータ可読記憶媒体のより具体的な例を与える一方、当業者に容易に理解されるように、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、消去可能なプログラム可能読出専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、ポータブルコンパクトディスク読出専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、又はそれらのあらゆる適切な組み合わせを列挙する非排他的な例示に過ぎない。
【符号の説明】
【０１４８】
１        接続インターフェース
２        通信モジュール
３        適応ストリーミングモジュール
４        ビデオプレーヤ
５        プロセッサ
６        記憶手段
７        計算器
８        選択モジュール
９        評価モジュール
Ｂ        内部バス
ＣＴ      クライアント端末
ＤＡＮＥ  スマートキャッシュ
Ｎ，Ｎ１  ネットワーク
ＲＮＥ    レガシーキャッシュ
ＳＥ      サーバ
【図１】
2015133701.tif 000016
【図２】
2015133701.tif 000017
【図３】
2015133701.tif 000018
【外国語明細書】
2015133701000001.pdf