(57)【要約】適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法。一実施形態では、適応コンテンツ配信ネットワーク切替デバイスは、プロセッサと、ネットワークインターフェースと、プロセッサに接続されるメモリとを含み、メモリは、コンテンツ配信ネットワーク切替アプリケーションを含み、コンテンツ配信ネットワーク切替アプリケーションは、プロセッサに、コンテンツを第１のコンテンツ配信ネットワークから受信し、受信されたコンテンツからの再生変数に基づいて、最小性能閾値を決定し、最小性能閾値が満たされない場合、新しいコンテンツを第２のコンテンツ配信ネットワークから受信するように指示する。
2020511811.tif 000002
【特許請求の範囲】
【請求項１】
適応コンテンツ配信ネットワーク切替デバイスであって、
プロセッサと、
ネットワークインターフェースと、
前記プロセッサに接続されるメモリであって、前記メモリは、コンテンツ配信ネットワーク切替アプリケーションを含む、メモリと
を備え、
前記コンテンツ配信ネットワーク切替アプリケーションは、前記プロセッサに、
コンテンツを第１のコンテンツ配信ネットワークから受信することと、
前記受信されたコンテンツからの再生変数に基づいて、最小性能閾値を決定することと、
前記最小性能閾値が満たされない場合、新しいコンテンツを第２のコンテンツ配信ネットワークから受信することと
を行うように指示する、適応コンテンツ配信ネットワーク切替デバイス。
【請求項２】
前記最小性能閾値は、最小バッファ閾値を満たすことを含む、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項３】
前記バッファ閾値は、少なくとも６秒である、請求項２に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項４】
前記最小性能閾値は、最小再生ビットレート閾値を満たすことを含む、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項５】
前記最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）４０４エラーが検出される場合、満たされない、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項６】
前記最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーが検出される場合、満たされない、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項７】
受信された前記新しいコンテンツは、同一品質レベルである、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項８】
前記コンテンツ配信ネットワーク切替アプリケーションはさらに、前記プロセッサに、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーを被る任意のコンテンツ配信ネットワークの記録を作成するように指示する、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項９】
前記コンテンツ配信ネットワーク切替アプリケーションはさらに、前記プロセッサに、コンテンツをハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーの記録内の任意のコンテンツ配信ネットワークからの第２のコンテンツ配信ネットワークから受信することを回避するように指示する、請求項８に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項１０】
前記メモリはまた、前記プロセッサにコンテンツを再生するように指示する、メディア再生アプリケーションを含む、請求項１に記載の適応コンテンツ配信ネットワーク切替デバイス。
【請求項１１】
適応コンテンツ配信ネットワーク切替のための方法であって、
コンテンツを第１のコンテンツ配信ネットワークから受信するステップと、
前記受信されたコンテンツからの再生変数に基づいて、最小性能閾値を決定するステップと、
前記最小性能閾値が満たされない場合、新しいコンテンツを第２のコンテンツ配信ネットワークから受信するステップと
を含む、方法。
【請求項１２】
前記最小性能閾値は、最小バッファ閾値を満たすことを含む、請求項１１に記載の方法。
【請求項１３】
前記バッファ閾値は、少なくとも６秒である、請求項１２に記載の方法。
【請求項１４】
前記最小性能閾値は、最小再生ビットレート閾値を満たすことを含む、請求項１１に記載の方法。
【請求項１５】
前記最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）４０４エラーが検出される場合、満たされない、請求項１１に記載の方法。
【請求項１６】
前記最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーが検出される場合、満たされない、請求項１１に記載の方法。
【請求項１７】
受信された前記新しいコンテンツは、同一品質レベルである、請求項１１に記載の方法。
【請求項１８】
前記コンテンツ配信ネットワーク切替アプリケーションはさらに、前記プロセッサに、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーを被る任意のコンテンツ配信ネットワークを記録するように指示する、請求項１１に記載の方法。
【請求項１９】
前記コンテンツ配信ネットワーク切替アプリケーションはさらに、前記プロセッサに、コンテンツをハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーの記録内の任意のコンテンツ配信ネットワークからの第２のコンテンツ配信ネットワークから受信することを回避するように指示する、請求項１８に記載の方法。
【請求項２０】
前記メモリはまた、前記プロセッサにコンテンツを再生するように指示するメディア再生アプリケーションを含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、適応ビットレートストリーミングシステムに関し、より具体的には、適応ビットレートストリーミングを実施するときの複数のコンテンツ配信ネットワーク間の適応切替に関する。
【背景技術】
【０００２】
インターネット使用の急成長している分野は、メディアストリーミングであって、これは、消費者が、多くの従来の配信方法をバイパスしながら、直接インターネットからメディアコンテンツを消費することを可能にする。メディアのストリーミングとは、再生デバイス上でのメディアの再生を説明し、メディアは、サーバ上に記憶され、再生の間、ネットワークを経由して、再生デバイスに送信される。典型的には、再生デバイスは、再生の間、任意の所与の時間において、十分な量のメディアをバッファ内に記憶し、再生デバイスがメディアの次の部分の受信に先立って全てのバッファされたメディアの再生を完了することに起因する、再生の途絶を防止する。適応ビットレートストリーミングまたは適応ストリーミングは、現在のストリーミング条件（例えば、ユーザのネットワーク帯域幅およびＣＰＵ容量）をリアルタイムで検出し、適宜、ストリーミングされるメディアのビットレートを調節することを伴う。典型的には、ソースメディアは、複数のビットレートでエンコードされ、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なるエンコードのストリーミング間で切り替える。
【０００３】
適応ビットレートストリーミングシステムにおいて利用されるコンテンツのストリームは、典型的には、標的ビットレートでエンコードされる。標的ビットレートは、ユーザがコンテンツをストリーミングする間に取得し得る、予期される最大ビットレートを含む。ストリームは、典型的には、非均一様式でエンコードされるが、平均ビットレートを含む。ストリームはまた、通常、ストリームが最大または標的ビットレートに近い平均ビットレートを有するようにエンコードされる。これらの最大ビットレートは、したがって、概して、ストリーム切替決定を行うために使用される。
【０００４】
適応ビットレートストリーミングにおいて利用されるストリームは、典型的には、セグメント化され、これは、代替ストリームのそれぞれにおいて、ストリームを等持続時間の短持続時間セグメントに分割することを含み得る。セグメントは、ＭＰＥＧ  ＤＡＳＨまたはＨＬＳ等の規格の要件に従ってフォーマットされるコンテナファイル内にパッケージ化されることができる。これらのセグメントは、次いで、配布のために、ＨＴＴＰサーバにパブリッシュされることができる。
【０００５】
最近、より高い分解能のビデオコンテンツが、視聴のために可能である。「４Ｋ」コンテンツおよびテレビは、消費者市場においてより一般的となっている。４Ｋテレビは、標準的１０８０Ｐテレビセットの４倍のピクセル量を含む。具体的には、４Ｋテレビは、１０８０Ｐセットの１，９２０×１，０８０分解能と比較して、３，８４０×２，１６０の分解能を有する。
【０００６】
コンテンツ配信ネットワーク（ＣＤＮ）は、世界中の種々の地点における異なる物理的データセンタで展開される、プロキシサーバのネットワークを指す。ＣＤＮは、コンテンツ配信のための増加された性能および可用時間を提供するために利用されることができる。本増加された性能は、世界中で同一コンテンツのコピーを伴う複数のサーバを有することによって達成され得る。ユーザが、コンテンツにアクセスすることを試みると、物理的により近いまたは少なくともより短い経由デジタルルーティングを有する、ＣＤＮが、より遠く離れた通常サーバより高速でコンテンツを配信することができる。静的ストリーミング状況では、これは、ストリーミングされるコンテンツが変化しないため、理想的である。しかしながら、ライブストリーミング状況では、理想的には、待ち時間が、コンテンツが最初にエンコードされ、次いで、ＣＤＮネットワークに配布される際に考慮される。加えて、同一コンテンツの複数のコピーを有することは、１つのサーバが、オフラインとなる、またはそうでなければコンテンツを配信する能力を損なわせ得る重いトラフィックを被るとき、コンテンツが利用不可能であろう尤度を減少させる。
【０００７】
コンテンツ配信ネットワークは、Ａｋａｍａｉ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，  Ｉｎｃ．（Ｃａｍｂｒｉｄｇｅ，  ＭＡ）およびＡｍａｚｏｎ．ｃｏｍ，  Ｉｎｃ．（Ｓｅａｔｔｌｅ，  ＷＡ）を含む、多数の企業によって運営されている。ＣＤＮサービスは、そのウェブ提供の可用時間を加速および増加させることを求める任意の企業によって採用されることができる。加えて、企業は、複数のＣＤＮを利用して、その利点をさらに増加させてもよい。
【発明の概要】
【課題を解決するための手段】
【０００８】
適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法。一実施形態では、適応コンテンツ配信ネットワーク切替デバイスは、プロセッサと、ネットワークインターフェースと、プロセッサに接続されるメモリとを含み、メモリは、コンテンツ配信ネットワーク切替アプリケーションを含み、コンテンツ配信ネットワーク切替アプリケーションは、プロセッサに、コンテンツを第１のコンテンツ配信ネットワークから受信し、受信されたコンテンツからの再生変数に基づいて、最小性能閾値を決定し、最小性能閾値が満たされない場合、新しいコンテンツを第２のコンテンツ配信ネットワークから受信するように指示する。
【０００９】
さらなる実施形態では、最小性能閾値は、最小バッファ閾値を満たすことを含む。
【００１０】
別の実施形態では、バッファ閾値は、少なくとも６秒である。
【００１１】
なおもさらなる実施形態では、最小性能閾値は、最小再生ビットレート閾値を満たすことを含む。
【００１２】
さらに別の実施形態では、最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）４０４エラーが検出される場合、満たされない。
【００１３】
さらなる実施形態では、最小性能閾値は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーが検出される場合、満たされない。
【００１４】
さらに別の実施形態では、受信された新しいコンテンツは、同一品質レベルである。
【００１５】
さらなる実施形態では再び、コンテンツ配信ネットワーク切替アプリケーションはさらに、プロセッサに、ハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーを被る任意のコンテンツ配信ネットワークの記録を作成するように指示する。
【００１６】
別の実施形態では再び、コンテンツ配信ネットワーク切替アプリケーションはさらに、プロセッサに、コンテンツをハイパーテキスト転送プロトコル（ＨＴＴＰ）エラーの記録内の任意のコンテンツ配信ネットワークからの第２のコンテンツ配信ネットワークから受信することを回避するように指示する。
【００１７】
さらなる付加的実施形態では、メモリはまた、プロセッサにコンテンツを再生するように指示する、メディア再生アプリケーションを含む。
【００１８】
別の付加的実施形態では、適応コンテンツ配信ネットワーク切替のための方法は、コンテンツを第１のコンテンツ配信ネットワークから受信するステップと、受信されたコンテンツからの再生変数に基づいて、最小性能閾値を決定するステップと、最小性能閾値が満たされない場合、新しいコンテンツを第２のコンテンツ配信ネットワークから受信するステップとを含む。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明のある実施形態による、適応ＣＤＮ切替システムのネットワーク略図である。
【００２０】
【図２】図２は、本発明のある実施形態による、再生デバイスを概念的に図示する。
【００２１】
【図３】図３は、本発明のある実施形態による、適応ＣＤＮ切替のためのプロセスを図示する、フローチャートである。
【００２２】
【図４】図４は、本発明のある実施形態による、適応ＣＤＮ切替において使用するための理想的ビデオストリーミングレベルを達成するためのプロセスを図示する、フローチャートである。
【００２３】
【図５】図５は、本発明のある実施形態による、再バッファ問題に対処するためのプロセスを図示する、フローチャートである。
【００２４】
【図６】図６は、本発明のある実施形態による、複数のＣＤＮを横断して最適ビデオレベルを達成するためのプロセスを図示する、フローチャートである。
【００２５】
【図７】図７は、本発明のある実施形態による、複数のＣＤＮを横断してＨＴＴＰ４０４エラーをハンドリングするためのプロセスを図示する、フローチャートである。
【００２６】
【図８】図８は、本発明のある実施形態による、複数のＣＤＮを横断してＨＴＴＰエラーをハンドリングするためのプロセスを図示する、フローチャートである。
【発明を実施するための形態】
【００２７】
ここで図面に目を向けると、本発明の種々の実施形態による、複数のコンテンツ配信ネットワーク間の適応切替を伴う適応ビットレートストリーミングを実施するためのシステムおよび方法が、図示される。いくつかの実施形態では、多数のコンテンツが、複数のコンテンツ配信ネットワーク上でストリーミングするために利用可能にされる。従来は、いったんあるＣＤＮプロバイダが、コンテンツをストリーミングするために選択されると、そのＣＤＮプロバイダのみが、具体的再生デバイスによって、そのコンテンツのストリーミングの持続時間にわたって利用されていた。本発明の多くの実施形態による、適応ＣＤＮ切替システムは、ストリーミングセッションの間、複数のＣＤＮプロバイダ間で切り替えるように構成される、再生デバイスを利用する。いくつかの実施形態では、適応ＣＤＮ切替システムの目標は、再生デバイスによって受信されるコンテンツの全体的品質レベルを増加させ、および／またはサービス中の中断を回避することである。ある実施形態では、適応ＣＤＮ切替システムは、全ての再生デバイスのために利用可能な帯域幅を最良に利用し、システム上の再生デバイスの数の増加またはシステム上にすでにあるそれらの再生デバイスのためのより高品質のストリーミング体験を可能にする様式で動作されてもよい。
【００２８】
多くの現在のストリーミングシステムは、適応ビットレートストリーミングを採用する。適応ビットレートストリーミング決定は、典型的には、現在の利用可能な帯域幅（すなわち、再生デバイスにおけるネットワーク容量）とコンテンツのエンコードにおいて利用される最大ビットレートとの間の関係に基づく。本発明の実施形態の多くによる、適応ＣＤＮ切替システム内で利用される再生デバイスは、現在の利用可能な帯域幅およびコンテンツのエンコードにおいて利用される最大ビットレートに加え、メディアのコンテンツについての情報を利用して、ストリーム切替決定を行う。
【００２９】
続く議論の多くは、ビデオコンテンツのストリーミングの間、複数のコンテンツ配信ネットワーク間の適応切替を利用する、システムおよび方法に関するが、類似技法も、プログラム、オーディオ、ウェブページ、および／または双方向コンテンツを含む、種々のデータのための適応ＣＤＮ切替を実施するために利用されることができる。故に、適応ＣＤＮ切替システムは、ビデオコンテンツのみの適応ＣＤＮ切替を実施することに限定されると見なされるべきではない。本発明の種々の実施形態による、コンテンツの適応ＣＤＮ切替を実施するためのシステムおよび方法は、下記にさらに議論される。
【００３０】
適応ＣＤＮ切替システム
本発明のある実施形態による、適応ＣＤＮ切替システムは、図１に図示される。適応ＣＤＮ切替システム１００は、ストリーミングのために利用可能にされる、コンテンツ１０１から開始する。トランスコーダ１０５が、コンテンツを代替ストリームに処理し、処理されたコンテンツをネットワーク１４０に接続される、第１のコンテンツ配信ネットワークサーバ１１０に配信する。第２のコンテンツ配信ネットワークサーバ１２０および第３のコンテンツ配信ネットワークサーバ１３０もまた、ネットワーク１４０に接続され、代替ストリームをトランスコーダ１０５から受信してもよい。加えて、システムは、ネットワークを介して、種々のコンテンツ配信ネットワークと通信し得る、（限定ではないが）パーソナルコンピュータ１８０、独立型再生デバイス１７０、携帯電話１９０、およびパーソナルコンピューティングデバイス１６０を含む、種々の再生デバイスを含み、そのうちのいくつかは、無線アクセスポイント１５０を介して、ネットワーク１４０に接続してもよい。
【００３１】
適応ＣＤＮ切替システム１００は、代替ストリームに処理するために、コンテンツ１０１を受信する、トランスコーダ１０５を含む。ある実施形態では、本プロセスは、ライブストリーミング状況のために、オンザフライで行われることができ、これは、中間配布のために、コンテンツの短セグメントが、トランスコードされ、ＣＤＮネットワークに配信されることを要求する。適応ＣＤＮ切替システム１００はまた、コンテンツを配信するように構成される、第１のＣＤＮサーバ１１０を含む。多くのインスタンスでは、メディアコンテンツ（限定ではないが、ビデオ等）は、異なる最大ビットレートでエンコードされ、より小さい部分にセグメント化される。いくつかの実施形態では、セグメントは、単一ファイル内に記憶され、これは、バイト範囲要求を通してアクセスされてもよい。他の実施形態では、各コンテンツセグメントは、別個のファイル内に記憶される。いくつかの実施形態では、コンテンツセグメントは、概念上のものであって、コンテンツストリーム内のコンテンツのブロックにすぎない。図示される実施形態では、第１のＣＤＮサーバは、ＨＴＴＰサーバである。他の実施形態では、第１のＣＤＮサーバは、ソースメディア（限定ではないが、ビデオ、オーディオ、品質分析、および／または字幕を含む）の処理および配信を実施するために十分なリソースを伴う、任意の処理デバイスであることができる。種々の再生デバイスは、インターネット等のネットワーク１４０を介したマニフェストに基づいて、コンテンツのセグメントを第１のＣＤＮサーバから要求することができる。
【００３２】
多くの実施形態では、適応ＣＤＮ切替システム１００は、第１のＣＤＮサーバ１１０と同様に構成される、第２のＣＤＮサーバ１２０および第３のＣＤＮサーバ１３０を含む。いくつかの実施形態では、第１、第２、および第３のＣＤＮサーバは、異なる企業によって運営される。ある実施形態では、第１のＣＤＮサーバ１１０は、第２のＣＤＮサーバ１２０および第３のＣＤＮサーバ１３０と明確に異なり、および／または異なるデータセンタに位置してもよい。容易に理解され得るように、ＣＤＮサーバの具体的場所および分布は、主として、所与の用途の要件に依存する。
【００３３】
再生デバイスは、視聴のために、コンテンツをデコードおよび提示してもよい。容易に理解され得るように、あるデバイスは、再生クライアントアプリケーションを実装し、コンテンツをストリーミングしてもよい。いくつかの実施形態では、再生デバイスは、ネットワーク１４０を介して、コンテンツをストリーミングしてもよい。多くの実施形態では、再生デバイスは、マニフェストまたは他のＵＲＬに定義されるように、コンテンツのセグメントを第１のＣＤＮサーバ１１０から要求する。多くの実施形態では、システムについての分析データは、将来的使用のために記憶されてもよい。例えば、適応ＣＤＮ切替分析は、任意の数の切替推奨、バッファ決定、および／またはソースコンテンツ事前処理タスクを作成するために使用されてもよい。多くの実施形態では、適応ＣＤＮ切替システムは、再生のために選択されたコンテンツセグメントに関するデータを蓄積し、コンテンツセグメントを再配置および／またはリバランスし、所与の観察されるネットワーク帯域幅において所望の品質を達成する可能性がより高い、コンテンツを提供することができる。容易に理解され得るように、ＣＤＮサーバまたは適応ＣＤＮ切替プレーヤによって収集されたデータの使用は、論理上、所与の用途の要件によってのみ限定される。図示される実施形態では、再生デバイスは、特定のデバイスによって表されるが、また、（限定ではないが）消費者電子機器、ＤＶＤプレーヤ、Ｂｌｕ−Ｒａｙプレーヤ、テレビ、ビデオ−ゲームコンソール、タブレット、およびサーバに接続し、コンテンツを再生することが可能な他のデバイスを含んでもよい。
【００３４】
種々の適応ＣＤＮ切替システムが、図１を参照して上記に説明されるが、適応ＣＤＮ切替システム内で利用される具体的コンポーネントおよびＣＤＮが所与のネットワーク帯域幅および／または処理リソースにおける標的品質またはユーザ体験を達成することに基づいてストリーミングのために選択される様式は、主として、具体的用途の要件に依存する。本発明の種々の実施形態による、適応ＣＤＮ切替システムにおいて利用され得る、適応ＣＤＮ切替再生デバイスは、下記にさらに議論される。
【００３５】
（適応ＣＤＮ切替再生デバイス）
本発明の多くの実施形態は、ＣＤＮサーバを利用し、コンテンツセグメントを配信し、異なる再生条件下でコンテンツをストリーミングする。そのようなシステムは、単に、測定された再生条件に基づいて、品質ベースのマニフェストまたはＵＲＬに示されるコンテンツを要求する、再生デバイスに依拠する。しかしながら、いくつかの実施形態では、再生デバイスは、ローカル再生条件を評価し、代替ＣＤＮプロバイダを検索し、そこから、セグメントをダウンロードする。これらのプレーヤは、次いで、再生条件および帯域幅条件に関するローカルで記憶されたデータを利用して、ＣＤＮを決定し、そこから、後続コンテンツセグメントを要求する。これらのＣＤＮ切替決定は、あるビットレートを達成するセグメントを要求することによって決定され得るだけではなく、また、ネットワークの全体的性能を増加させ、より多くのユーザがコンテンツにアクセスし、および／またはストリーミングされているコンテンツの選択された品質を増加させることを可能にするようにフォーマットされることができる。
【００３６】
本発明のある実施形態による、コンテンツの適応ＣＤＮ切替を実施するために利用され得る、再生デバイスは、図２に図示される。再生デバイス２００は、典型的には、プロセッサ２１０と、グラフィックサブシステム２２０、Ｉ／Ｏデバイス２３０と、大容量記憶装置２４０と、ネットワークインターフェース２５０と、相互接続２６０と、メモリサブシステム２７０とを含む。メモリサブシステムは、オペレーティングシステム２７１と、ユーザインターフェース２７２と、再生モジュール２８０とを含んでもよい。本発明の多くの実施形態は、再生デバイス２００を含み、これは、ＣＤＮ切替最適化アプリケーション２８１と、ビデオレベル最適化アプリケーション２８２と、コンテンツストリーミングアプリケーション２８３とをさらに含む、再生モジュール２８０を有する。本発明のある実施形態は、（限定ではないが）インターネットを含む、通信ネットワークとのインターフェースを介して、コンテンツを受信する、再生デバイス２００を有してもよい。加えて、本発明のさらなる実施形態は、再生デバイス２００に接続される、ディスプレイデバイス２０２を含むことができる。本発明のなおもさらなる実施形態は、再生デバイス２００とインターフェースをとる、ユーザＩ／Ｏ２０１を含むことができる。
【００３７】
種々の再生デバイスシステムが、図２を参照して上記に説明されるが、複数のＣＤＮを横断してコンテンツセグメントを選択するためのいくつかの異なるプロセスのいずれかに従って、複数のＣＤＮを横断してコンテンツセグメントのダウンロードおよび再生を可能にする、種々のハードウェアのいずれかを組み込む、他の再生デバイスも、本発明の種々の実施形態による具体的用途の要件の必要に応じて利用されることができる。例えば、ある実施形態では、ホームゲートウェイまたは他のエッジネットワークデバイスが、各クライアントの能力、特性、ローカル帯域幅、および要件に基づいて、ストリーミングのためのコンテンツ配信ネットワークを選択してもよい。本発明のいくつかの実施形態による、コンテンツの適応ＣＤＮ切替を提供するために再生デバイスによって利用され得る、プロセスは、下記で模索される。
【００３８】
（適応ＣＤＮ切替プロセス）
高レベルでは、適応ＣＤＮ切替を実施するためのプロセスは、コンテンツをストリーミングするための第１のＣＤＮプロバイダに接続し、コンテンツを再生し、ローカル再生条件を評価し、所望の再生レベルを決定し、別のＣＤＮプロバイダへの切替を模索するために必要な条件を検査し、条件が満たされる場合、その検索を行うことを伴う。代替ＣＤＮプロバイダが、より良好な性能を伴って必要なコンテンツを配信し得ることが見出される場合、継続されるストリーミングは、次いで、第１のＣＤＮの代わりに、代替ＣＤＮを通してもたらされることができる。多くの実施形態では、代替ＣＤＮ検索を開始するために必要な条件は、限定ではないが、第１のＣＤＮの帯域幅、所望の再生レベルでストリーミングに費やされた時間、負荷バランシング懸念、使用の周波数、および／または再バッファ条件を含んでもよい。本発明のある実施形態による、適応ＣＤＮ切替を実施するためのプロセスが、図３に示される。
【００３９】
プロセス３００は、デフォルトＣＤＮを決定し（３０２）、そこから、コンテンツのストリーミングを開始する（３０４）ことを含んでもよい。多くの実施形態では、デフォルトＣＤＮは、サーバによって送信されるマニフェスト内の第１のＵＲＬとして提供され得る、またはマニフェストをホストするサーバによって最適ＣＤＮに明示的にシグナリングされ得る。再生変数の決定（３０６）は、ストリーミングの間に生じ得る。これらの再生変数は、限定ではないが、再生位置、バッファ持続時間、および／またはビットレート推定を含んでもよい。再生変数を使用して、プレーヤは、ストリーミングされるコンテンツの所望の再生レベルを決定してもよい（３０８）。ある実施形態では、再生レベルは、現在のバッファ持続時間および利用可能なビットレート推定値によって決定されてもよい。再生の間、適応ＣＤＮ切替プレーヤは、代替ＣＤＮプロバイダの検索が生じることを要求し得る、切替条件を評価してもよい（３１０）。条件が十分であると、プレーヤは、増加された性能のために、ＣＤＮプロバイダを切り替えてもよい（３１２）。
【００４０】
適応ＣＤＮ切替を実施するための具体的プロセスが、図３を参照して上記に説明されるが、適応ＣＤＮ切替を実施するための種々のプロセスのいずれかは、本発明の種々の実施形態に従って、具体的用途の要件の必要に応じて利用されることができる。例えば、本発明のいくつかの実施形態は、限定ではないが、サービスの増加されたレベルに対して支払う顧客のための有料ＣＤＮ選択を含み得る、ＣＤＮプロバイダの顧客駆動型選択を含む。本発明のいくつかの実施形態による、所望の再生のためのビットレート切替が適応ＣＤＮ切替システムにおいて遂行される、様式は、下記にさらに議論される。
【００４１】
（所望の再生ビットレートレベルを達成するためのプロセス）
ビデオレベル性能アプリケーションが、再生の間、ストリーミングされるコンテンツのビデオビットレートレベルを評価および調節するために利用されることができる。条件が、再生環境内で変化するにつれて、要求されているストリーミングされるコンテンツの品質またはビットレートに関する決定は、調節される必要があり得る。
【００４２】
本発明のある実施形態による、ストリーミングされるコンテンツの性能を評価するためのプロセスが、図４に示される。プロセス４００は、コンテンツの少なくとも１つのセグメントをＣＤＮプロバイダからダウンロードすることを開始してもよい（４０２）。ダウンロードされたコンテンツは、再生のために、バッファの中にロードされてもよい。本バッファの持続時間の決定（４０６）が、生じ得る。以前にダウンロードされたコンテンツが、ビットレート推定値の生成（４０６）のために評価されてもよい。例えば、いくつかの実施形態では、ビットレート推定値は、前の４秒のダウンロードされたコンテンツに基づいて取得されてもよい。プロセス４００は、次いで、現在のビデオレベルを決定してもよい（４０８）。多くの実施形態では、本現在のビデオレベルは、限定ではないが、現在のストリーミングされているコンテンツセグメント内に存在するメタデータ、バッファ持続時間、および現在のビットレート推定値を含む、ローカル再生条件から決定されてもよい。プロセス４００はまた、全ての利用可能なデータに基づいて、効率的ビデオレベルを決定してもよい（４１０）。多くの実施形態では、本データは、限定ではないが、現在のビットレート推定値を含んでもよい。ある実施形態では、効率的ビデオレベルの決定（４１０）は、限定ではないが、より良好な品質のために求められているストリーミングされるコンテンツのより高いビットレート、または再生中断をもたらすバッファされた材料が尽きることを回避するために求められるより低いビットレートストリームをもたらし得る。比較（４１２）が、現在のビデオレベルともたらされるであろう効率的ビデオレベルとの間で生じ得る。本比較（４１２）は、限定ではないが、現在のビットレート推定値および他の効率的ビデオレベルのビットレート推定値において観察されるビットレートの評価を含む、いくつかの方法において達成されてもよい。本比較（４１２）に基づいて、ビデオレベル性能アプリケーションは、より低いビットレートコンテンツストリームに切り替える（４１４）、より高いビットレートコンテンツストリームに切り替える（４１６）、または存在し得る他の再生問題の評価に直接スキップしてもよい（４２０）。多くの実施形態では、より低いビットレートコンテンツストリームへの切替（４１４）は、コンテンツの次のセグメントをダウンロードする前に、現在のバッファが尽きること（アンダーフロー）を回避するために所望され得る。いくつかの実施形態では、より高いビットレートコンテンツストリームへの切替（４１６）は、コンテンツのある恣意的持続時間（例えば、コンテンツの６秒）が、バッファが尽きる前にダウンロードされ、切替に対する保守的アプローチを確実にし、再バッファイベントを回避し得る場合にのみ、可能にされてもよい。プロセス４００はまた、所望のビットレートレベルを達成するときに生じ得る、任意の他のタイプの再生問題を評価してもよい（４１８）。これらの再生問題は、限定ではないが、再バッファ問題、最適化されたレベルで再生されないストリーミングコンテンツ、ＨＴＴＰ４０４エラー、または途絶再生体験をもたらし得る他のＨＴＴＰエラーを含み得る。プロセス４００は、次いで、コンテンツを評価し（４２０）、ダウンロードされたセグメントがストリーム内の最後のものであるかどうかを決定してもよい。該当しない場合、実施形態の多くでは、プロセス４００は、次いで、再び開始し、コンテンツの次のセグメントをＣＤＮからダウンロードする（４０２）。
【００４３】
適応ＣＤＮ切替システムにおけるビデオレベル性能に関連する具体的プロセスが、図４を参照して上記に説明されるが、種々のプロセスのいずれかは、本発明の種々の実施形態に従って、適応ＣＤＮ切替において使用するためのビデオレベルの性能を改良するために利用されることができる。本発明の種々の実施形態による、適応ＣＤＮ切替の間に利用され得るバッファ等の再生問題をハンドリングするプロセスの実施例は、下記にさらに議論される。
【００４４】
（適応ＣＤＮ切替システムにおけるバッファ問題のハンドリング）
コンテンツをストリーミングするときに生じ得る問題のうちの１つは、再生中断である。再生中断は、再生バッファの枯渇を含む、いくつかの要因から生じ得る。これを回避するために、多くの実施形態では、ビデオレベルは、より低いレベルに切り替えられ、利用可能な帯域幅にわたってより多くのコンテンツのダウンロードを可能にすることができる。さらなる実施形態では、バッファ内のコンテンツの量が、利用可能な帯域幅およびビットレート推定値に対してルーチン的にチェックされ、再生中断が生じる可能性が高いかどうかをより良好に判断する。再生エラーが差し迫っていると考えられ得るインスタンスでは、本発明の多くの実施形態は、必要なコンテンツセグメントを見出すように試みる際、代替ＣＤＮプロバイダを検索してもよい。いくつかの実施形態では、代替ＣＤＮプロバイダにおいて求められるビデオビットレートレベルは、ユーザが切替に気づくことなく、セグメント間の平滑遷移を確実にするために、現在のビデオビットレートレベルと等しい。
【００４５】
本発明のある実施形態による、適応ＣＤＮ切替システムにおいて使用するためバッファ問題をハンドリングするためのプロセスは、図５に示される。プロセス５００は、適切な再バッファ条件が満たされるかどうかを決定する（５０２）。いくつかの実施形態では、これらの再バッファ条件は、限定ではないが、現在のビデオビットレートレベルが、最低ビットレートレベルであって（再バッファ問題を回避するために必要とされるコンテンツが現在のＣＤＮプロバイダにおいてまだ利用可能ではないことを検証する）、バッファされたコンテンツ自体の再生持続時間が、事前に設定された閾値を下回ることを決定することを含むことができる。さらなる実施形態では、再バッファ問題を回避するために要求される、バッファされたコンテンツの閾値は、静的閾値（例えば、６秒）に設定される。他の実施形態では、再生デバイスのステータスに関連する種々の代替閾値および／または要件のいずれかは、所与の用途の要件の必要に応じて、適応ビットレートストリーミングセッションの間、代替ＣＤＮプロバイダの検索を開始するために利用されることができる。満たされると、代替ＣＤＮプロバイダの検索（５０４）が、生じ得る。利用可能である場合、代替ＣＤＮプロバイダからのコンテンツが、ダウンロードされる（５０６）。いくつかの実施形態では、現在ダウンロードされているセグメントと異なるセグメントのみが、バッファが有効データで充填されることを可能にするために代替ＣＤＮにおいて求められ、それによって、バッファアンダーフローを回避する機会を改良する。現在のＣＤＮプロバイダと代替ＣＤＮプロバイダとの間の帯域幅の測定（５０８）が、生じ得る。いくつかの実施形態では、帯域幅プローブが、十分なデータ量をダウンロードし、正確な測定値を提供してもよい。ある実施形態では、要求されるデータ量は、２秒に値するビデオデータであってもよい。容易に理解され得るように、データ量は、所与の用途の要件に適切なコンテンツの任意の持続時間に対応し得る。プロセス５００は、次いで、コンテンツの残りのセグメントのダウンロードのために利用可能な最高帯域幅を伴うＣＤＮプロバイダを決定してもよい（５１０）。適応ＣＤＮ切替システムは、次いで、スイッチ（５１２）ＣＤＮプロバイダを切り替え、必要に応じて、バッファ持続時間を増加させてもよい。
【００４６】
適応ＣＤＮ切替システムにおけるバッファ問題のハンドリングに関する具体的プロセスが、図５を参照して上記に説明されるが、種々のプロセスのいずれかは、本発明の種々の実施形態に従って、バッファ問題をハンドリングし、再生エラーを回避するために利用されることができる。本発明の種々の実施形態による、適応ＣＤＮ切替の間に利用され得る、コンテンツビットレートレベルを向上させる等の再生問題をハンドリングするためのプロセスの実施例は、下記にさらに議論される。
【００４７】
（適応ＣＤＮ切替システムにおけるコンテンツビットレートレベルの向上）
典型的ストリーミング用途では、単一ＣＤＮのみが、ストリーミングすべきコンテンツのセグメントを決定および選択するときに考慮される。しかしながら、本方法は、他のＣＤＮプロバイダシステム上で利用可能なより高い品質またはより高速でアクセスされるコンテンツの可能性として考えられる可用性を考慮しない。適応ＣＤＮ切替システムは、より高い帯域幅をユーザに提供する代替ＣＤＮシステムにおけるコンテンツのセグメントにアクセスすることによって、ストリーミングされるコンテンツの品質を増加させるために利用されることができる。
【００４８】
本発明のある実施形態による、適応ＣＤＮ切替システムにおいて使用するためのコンテンツビットレートレベルを増加させるためのプロセスが、図６に示される。プロセス６００は、ダウンロードするために利用可能な利用可能なコンテンツの最高ビットレートレベルを決定してもよい（６０２）。代替ＣＤＮ検索が生じるべきであるかどうかを決定するためのある条件の評価（６０４）が、行われてもよい。本発明のある実施形態では、これらの条件は、限定ではないが、最高ビットレートストリーミングが生じてから必要な持続時間および十分なバッファの量を有することを含んでもよい。条件が満たされる場合、代替ＣＤＮプロバイダの検索（６０６）が、生じ得る。コンテンツセグメントが、次いで、代替ＣＤＮプロバイダからダウンロードされてもよい（６０８）。いくつかの実施形態では、ダウンロードされたコンテンツのビットレートレベルは、現在のＣＤＮからダウンロードされたコンテンツの現在のビットレートレベルと同一であって、現在のＣＤＮからダウンロードされたコンテンツと代替ＣＤＮとの間の顕著な切替を回避する。プロセス６００は、次いで、代替ＣＤＮプロバイダからダウンロードされたコンテンツの瞬間帯域幅を現在のＣＤＮプロバイダから提供されている帯域幅に対して評価してもよい（６１０）。必要な場合、代替ＣＤＮプロバイダへの切替（６１２）が、より高いビットレートレベルでエンコードされたコンテンツのダウンロードを可能にするために生じ得、これは、再生デバイスによってダウンロードおよび再生されるとき、より高い知覚品質のコンテンツに変換され得る。
【００４９】
適応ＣＤＮ切替システムにおけるビットレートダウンロード性能の向上に関連する具体的プロセスが、図６を参照して上記に説明されるが、種々のプロセスのいずれかは、本発明の種々の実施形態に従って、ビットレートレベルを増加させ、再生品質を増加させるために利用されることができる。本発明の種々の実施形態による、適応ＣＤＮ切替の間に利用され得る、ＨＴＴＰ４０４エラー等の再生問題をハンドリングするプロセスの実施例は、下記にさらに議論される。
【００５０】
（適応ＣＤＮ切替システムにおけるＨＴＴＰ４０４エラーをハンドリングするためのプロセス）
ハイパーテキスト転送プロトコル（ＨＴＴＰ）４０４エラーは、要求されるあるデータが利用可能ではないときに生じる。ストリーミングコンテンツの複数のセグメントをダウンロードするとき、ダウンロードのための多くの要求は、ＨＴＴＰを介して送信される。ＨＴＴＰ４０４エラーは、再生の中断に直接つながり得るため、有意である。ＨＴＴＰ４０４エラーを被ると、コンテンツのための要求は、エラーを検証するために再び送信され得る。加えて、要求は、コンテンツの同一セグメントの異なるビットレートのために、または同一コンテンツ配信ネットワーク上の異なるサーバに送信されてもよい。しかしながら、要求されるコンテンツが、単に、ＣＤＮ上で利用可能ではない場合、ＨＴＴＰ４０４エラーは、回避されることができない。多くの実施形態では、適応ＣＤＮ切替システムは、代替ＣＤＮプロバイダ上で同一コンテンツを検索し、非中断再生の継続を可能にすることによって、ＨＴＴＰ４０４エラーのハンドリングを可能にし得る。
【００５１】
本発明のある実施形態による、適応ＣＤＮ切替システムにおいて使用するためのＨＴＴＰ４０４エラーをハンドリングするためのプロセスは、図７に示される。適応ＣＤＮ切替システムが、ＨＴＴＰ４０４エラーを受信すると（７０２）、評価（７０４）が、事前に設定された閾値と比較して、十分なバッファの量が存在するかどうかを決定するために行われる。多くの実施形態では、本事前に設定された閾値は、要求される最小バッファ時間であってもよく、静的値（例えば、６秒）に設定されてもよい、または、（限定ではないが）再生デバイスの状態および／または現在ストリーミングされているコンテンツのビットレートレベルを含む再生条件に基づいて変動する動的値に設定されてもよい。バッファが、十分である場合、プロセス７００は、次いで、コンテンツのダウンロードを再び同一ビットレートビデオレベルで再試行してもよい（７０６）。バッファが、十分ではない場合、プロセス７００は、より低いビットレートレベルでエンコードされたコンテンツのダウンロードを試行してもよい（７０８）。再試行（７０６）または試行（７０８）のいずれか後、評価（７１０）が、ダウンロードが成功したかどうかを決定するために行われる。ダウンロード（７１２）が、現在のＣＤＮから利用可能である場合、ＣＤＮ切替は、必要ない。しかしながら、ダウンロード（７１２）が、ＣＤＮ上の任意の利用可能なサーバから利用可能ではない場合、検索（７１４）が、代替ＣＤＮプロバイダに関して生じ得る。プロセス７００は、次いで、コンテンツを代替ＣＤＮからダウンロードし（７１６）、再生中断を回避してもよい。いくつかの実施形態では、代替ＣＤＮプロバイダからのダウンロードは、最低ビットレートレベルで行われ、ＨＴＴＰ４０４エラーからの可能な限り最速の復旧を確実にする。評価が、ダウンロード（７１８）が任意の他のＣＤＮから利用可能であるかどうかを決定するために行われる。ＣＤＮが、必要なコンテンツを提供可能ではない場合、再生は、次のセグメントに移動する（７２０）。ダウンロード（７１８）が、複数のＣＤＮソースから利用可能である場合、プロセス７００は、より高い帯域幅を伴うＣＤＮプロバイダを選択してもよい（７２２）。最適コンテンツビットレートレベルの選択（７２４）が、次いで、再生条件を最大限にするために生じてもよい。
【００５２】
適応ＣＤＮ切替システムにおけるＨＴＴＰ４０４エラーのハンドリングに関連する具体的プロセスが、図７を参照して上記に説明されるが、種々のプロセスのいずれかは、本発明の種々の実施形態に従って、利用不可能なコンテンツをハンドリングし、再生中断を減少させるために利用されることができる。本発明の種々の実施形態による、適応ＣＤＮ切替の間に利用され得る、他のＨＴＴＰエラーを伴う再生問題をハンドリングするプロセスの実施例は、下記にさらに議論される。
【００５３】
（適応ＣＤＮ切替システムにおける他のＨＴＴＰエラーをハンドリングするためのプロセス）
他のＨＴＴＰエラーは、あるデータがＨＴＴＰを介して要求されるときに生じ得る。これらのタイプのエラーの実施例として、限定ではないが、サーバ接続解除およびサーバ利用不可能エラーが挙げられる。本性質のＨＴＴＰエラーは、従来のシステム上での再生中断につながる傾向にある。しかしながら、適応ＣＤＮ切替システム上では、利用不可能なコンテンツは、別のＣＤＮシステム上で求められ、非中断再生を可能にし得る。
【００５４】
本発明のある実施形態による、適応ＣＤＮ切替システムにおいて使用するためのＨＴＴＰエラーをハンドリングするためのプロセスは、図８に示される。適応ＣＤＮ切替システムが、ＨＴＴＰエラーを受信すると（８０２）、評価（８０４）が、既知のＣＤＮプロバイダのリストに対して行われ、任意の代替ＣＤＮプロバイダが必要なコンテンツをダウンロードするために依然として利用可能であるかどうかを決定する。ある実施形態では、本ステップは、ＨＴＴＰエラーを被っているＣＤＮプロバイダの除去を含んでもよい。検索（８０６）が、次いで、ＨＴＴＰエラーを被っていない任意の代替ＣＤＮプロバイダに関して行われてもよい。プロセス８００は、次いで、代替ＣＤＮプロバイダがコンテンツをダウンロードするために利用可能であるかどうかを評価してもよい（８０８）。代替ＣＤＮプロバイダが、利用可能ではない場合、そのＣＤＮは、利用可能なコンテンツプロバイダのリストから除去されてもよく（８１０）、プロセスは、利用可能なＣＤＮのリストを再評価する（８０４）。ＣＤＮが利用可能である場合、プロセス８００は、次いで、コンテンツを代替ＣＤＮプロバイダからダウンロードしてもよい（８１２）。ダウンロードの成功が、次いで、その瞬間帯域幅速度に関して評価されてもよい（８１４）。複数のＣＤＮが、利用可能である場合、プロセス８００は、最高利用可能帯域幅を伴うＣＤＮプロバイダを選択してもよい（８１６）。いったん選択されると、プロセス８００は、コンテンツレベルのより高いビットレートを決定してもよい（８１８）。いくつかの実施形態では、本ビットレートレベルは、再生バッファ持続時間量によって決定されてもよい。
【００５５】
多くの実施形態では、適応ＣＤＮ切替システム再生デバイスは、限定ではないが、要求されるダウンロードがかかり得る時間量および既知のＣＤＮが到達可能であったかどうかを含め、既知のＣＤＮおよびその履歴ステータスを記録してもよい。このように、タイムアウトおよび／またはダウンロードエラーの決定に時間がかかる性質のため、適応切替システムは、到達不可能または信頼性がないことが既知の代替ＣＤＮの選択を回避してもよい。いくつかの実施形態では、これらの記憶された記録は、周期的ベースで消去される。ある実施形態では、再生デバイス内に記憶される既知のＣＤＮの記憶された記録は、さらなる処理のために、サーバに伝送されてもよい。本発明のさらなる実施形態では、ＵＲＬ要求は、適応ＣＤＮ切替システム再生デバイスの地理的場所および能力についての情報を含んでもよい。なおもさらなる実施形態では、再生デバイスは、既知のＣＤＮのリストを中央サーバから受信してもよい。なおもさらなる実施形態では、サーバは、適応ＣＤＮ切替システム再生デバイスから伝送される記憶された記録に基づいて、ＣＤＮシステムのステータスを評価してもよい。これらの評価は、限定ではないが、地理的エリアおよび再生デバイスの能力を含んでもよい。なおもさらなる実施形態では、サーバは、適応ＣＤＮ切替システム再生デバイスから伝送される記憶された記録から作製される評価に基づいて、マニフェストに提供されるＣＤＮをフィルタリングしてもよい。当業者によって、限定ではないが、米国特許第８，７８７，５７０号に開示されるような上位レベルインデックスファイルの自動生成を含む、地理的場所に基づいて、上位レベルインデックスファイルを生成するための種々のプロセスのいずれかが、本発明の実施形態に従って、具体的用途の要件の必要に応じて、適応ＣＤＮ切替システム内で利用されることができることが理解されるはずである。上位レベルインデックスファイルの動的生成に関連する、関連開示を含む、米国特許第８，７８７，５７０号の開示は、参照することによって全体として本明細書に組み込まれる。
【００５６】
適応ＣＤＮ切替システムにおけるＨＴＴＰエラーのハンドリングに関連する具体的プロセスが、図７を参照して上記に説明されるが、種々のプロセスのいずれかは、本発明の種々の実施形態に従って、ネットワーク中断をハンドリングして、再生中断を減少させるために利用されることができる。本発明の種々の実施形態による、適応ＣＤＮ切替の間に利用され得る、他のＨＴＴＰエラーを伴う再生問題をハンドリングするプロセスの実施例は、下記にさらに議論される。
【００５７】
本発明は、ある具体的側面において説明されたが、多くの付加的修正および変形例が、当業者に明白となるであろう。したがって、本発明は、本発明の範囲および精神から逸脱することなく、実装の種々の変更を含む、具体的に説明されるもの以外で実践されてもよいことを理解されたい。したがって、本発明の実施形態は、あらゆる点において、制限ではなく、例証として見なされるべきである。
【図１】
2020511811.tif 000003
【図２】
2020511811.tif 000004
【図３】
2020511811.tif 000005
【図４】
2020511811.tif 000006
【図５】
2020511811.tif 000007
【図６】
2020511811.tif 000008
【図７】
2020511811.tif 000009
【図８】
2020511811.tif 000010
【国際調査報告】
2020511811.tif 000011