(57)【要約】本発明の実施形態による、複数のエンコーダを使用してビデオコンテンツの複数の代替ストリームをエンコードするためのシステムおよび方法が、開示される。エンコーディングシステムは、複数のエンコーダを含む。エンコーダはそれぞれ、ポーションに分割されたビデオコンテンツのソースストリームを受信する。エンコーダはそれぞれ、複数の代替ストリームのポーションをソースストリームのポーションから生成する。特定のエンコーダによって生成された代替ストリームのポーションは、特定のエンコーダのためのコンテナ内に記憶される。各エンコーダはまた、エンコーダのためのマニフェスト内に記憶される、エンコーダによって生成された代替ストリームのポーションに関するインデックス情報を生成する。
2019526188.tif 000002
【特許請求の範囲】
【請求項１】
エンコーディングシステム内の複数のエンコーダを使用して、ビデオコンテンツの複数の代替ストリームをビデオコンテンツのソースストリームからエンコードするための方法であって、前記方法は、
ビデオコンテンツのソースストリームの複数のポーションを前記エンコーディングシステム内の複数のエンコーダのそれぞれにおいて受信することと、
前記複数のエンコーダのそれぞれ内で受信された前記ソースストリームの複数のポーションを使用して、前記複数のエンコーダのそれぞれ内で前記複数の代替ストリームのポーションをエンコードすることと、
前記複数のエンコーダのうちの各特定の１つによってエンコードされた前記複数の代替ストリームのポーションを前記エンコーダのうちの特定の１つのためのコンテナ内に記憶することと、
前記複数のエンコーダのうちの各特定の１つによってエンコードされた前記代替ストリームのポーションに関するインデックス情報を生成することと、
前記特定のエンコーダのそれぞれによって生成された前記複数の代替ストリームのポーションに関するマニフェスト内のインデックス情報を前記複数のエンコーダのうちの特定の１つのマニフェスト内に記憶することと
を含む、方法。
【請求項２】
前記複数のエンコーダのそれぞれによってエンコードされた前記代替ストリームのポーションは、前記複数の代替ストリームのうちの１つであり、前記方法はさらに、
前記ソースストリームの複数のポーションのそれぞれを前記複数のエンコーダのそれぞれにおいて受信することと、
前記ソースストリームの複数のポーションのそれぞれからの代替ストリームのセグメントをエンコードし、前記代替ストリームの複数のセグメントを前記複数のエンコーダのそれぞれにおいて生成することであって、前記複数のエンコーダのうちの各特定の１つによって生成された各特定の代替ストリームは、パラメータの特定のセットを有する、ことと、
前記複数のエンコーダのうちの各特定の１つにおいて、前記複数のエンコーダのうちの特定の１つによって生成された前記複数のセグメントのそれぞれに対し、インデックス情報を生成することと、
前記複数のエンコーダのうちの各特定の１つによって生成されたインデックス情報を前記複数のエンコーダのうちの特定の１つに関するマニフェスト内に記憶し、複数のマニフェストを生成することと
を含む、請求項１に記載の方法。
【請求項３】
前記複数のエンコーダのうちの特定の１つによって生成された複数の代替ストリームからの代替ストリームは、特定の最大ビットレートをパラメータとして有する、請求項２に記載の方法。
【請求項４】
前記複数のエンコーダの異なるものによって生成された前記複数の代替ストリームからの少なくとも２つの代替ストリームは、同一最大ビットレートおよび異なる少なくとも１つの他のパラメータを有する、請求項２に記載の方法。
【請求項５】
前記少なくとも１つの他のパラメータは、縦横比、フレームレート、および分解能から成るパラメータの群から選択される、請求項４に記載の方法。
【請求項６】
前記複数のエンコーダは、Ｎ個のエンコーダを含み、Ｎは、整数であり、前記Ｎ個のエンコーダのそれぞれは、前記ソースストリームの複数のポーションの１／Ｎを前記複数の代替ストリームのそれぞれのセグメントにエンコードする、請求項１に記載の方法。
【請求項７】
前記方法はさらに、
前記Ｎ個のエンコーダのそれぞれをＭ番目のエンコーディング順序に割り当てることであって、Ｍは、１からＮの整数である、ことと、
前記Ｎ個のエンコーダの各Ｍ番目のものにおいて受信された前記ソースストリームのＭ番目のポーションおよび前記ソースストリームからその後受信されたすべてのＮ番目のポーションを前記Ｍ番目のエンコーダが前記Ｎ個のエンコーダのそれぞれにおいてエンコードするための前記ソースストリームのポーションのセットとして決定することと、
を含み、
ポーションをエンコードすることは、前記Ｍ番目のエンコーダのソースストリームからのポーションのセット内の各ポーションを複数のセグメントにエンコードすることを含み、前記複数のセグメントのそれぞれは、前記Ｎ個のエンコーダのそれぞれにおける前記複数の代替ストリームのうちの１つ内のセグメントであり、
前記インデックス情報を生成することは、前記Ｎ個のエンコーダのそれぞれ内のＭ番目のエンコーダのポーションのセットからのポーションのそれぞれに対して生成された複数のセグメントのそれぞれに対し、インデックス情報を生成することを含み、
前記インデックス情報を記憶することは、前記Ｎ個のエンコーダのそれぞれを使用して、前記Ｍ番目のエンコーダのためのマニフェスト内に、前記Ｍ番目のエンコーダによって前記ポーションのセット内の各ポーションから生成された複数のセグメントのそれぞれに対するインデックス情報を記憶することを含む、
請求項６に記載の方法。
【請求項８】
前記Ｎ個のエンコーダのそれぞれ内のＭ番目のエンコーダのためのポーションの前記セット内にない、前記複数のポーションからのポーションのそれぞれを廃棄することをさらに含む、請求項７に記載の方法。
【請求項９】
ビデオコンテンツの複数の代替ストリームをビデオコンテンツのソースストリームからエンコードするためのエンコーディングシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによってアクセス可能なメモリと、
前記メモリ内に記憶される命令であって、前記命令は、前記少なくとも１つのプロセッサによって読み取られると、前記プロセッサに、
複数のエンコーダを提供することであって、前記複数のエンコーダのそれぞれは、
ビデオコンテンツのソースストリームの複数のポーションを受信することと、
前記ソースストリームの複数のポーションを使用して、前記複数の代替ストリームのポーションをエンコードすることと、
前記エンコードされた複数の代替ストリームのポーションを前記エンコーダに特定のコンテナ内に記憶することと、
前記エンコーダによってエンコードされた前記代替ストリームのポーションに関するインデックス情報を生成することと、
前記エンコーダによって生成された前記複数の代替ストリームのポーションに関するマニフェスト内に前記インデックス情報を記憶することと
を行うように指示される、ことと
を行うように指示する、前記メモリ内に記憶される命令と
を備える、システム。
【請求項１０】
前記複数のエンコーダのそれぞれによってエンコードされた前記代替ストリームのポーションは、前記複数の代替ストリームのうちの１つであり、前記複数のエンコーダのそれぞれはさらに、
前記ソースストリームの複数のポーションのそれぞれを受信することと、
前記ソースストリームの複数のポーションのそれぞれからの特定の代替ストリームのセグメントをエンコードし、前記代替ストリームの複数のセグメントを生成することであって、各特定の代替ストリームは、特定のパラメータを有する、ことと、
生成された前記複数のセグメントのそれぞれに対し、インデックス情報を生成することと、
生成された前記インデックス情報を前記複数のエンコーダのうちの特定の１つのためのマニフェスト内に記憶することと
を行うように指示される、請求項９に記載のシステム。
【請求項１１】
前記複数のエンコーダのうちの特定の１つによって生成された前記複数のストリームからの代替ストリームは、特定の最大ビットレートをパラメータとして有する、請求項１０に記載のシステム。
【請求項１２】
前記複数のエンコーダの異なるものによって生成された前記複数の代替ストリームからの代替ストリームのうちの少なくとも２つは、同一の最大ビットレートおよび異なる少なくとも１つの他のパラメータを有する、請求項１０に記載のシステム。
【請求項１３】
前記少なくとも１つの他のパラメータは、縦横比、フレームレート、および分解能から成るパラメータの群から選択される、請求項１２に記載のシステム。
【請求項１４】
前記複数のエンコーダは、Ｎ個のエンコーダを含み、Ｎは、整数であり、前記Ｎ個のエンコーダのそれぞれは、前記ソースストリームの複数のポーションの１／Ｎのポーションを前記複数のストリームのそれぞれのセグメントにエンコードする、請求項９に記載のシステム。
【請求項１５】
前記Ｎ個のエンコーダのそれぞれは、Ｍ番目のエンコーディング順序に割り当てられ、前記Ｎ個のエンコーダのそれぞれは、
受信された前記ソースストリームのＭ番目のポーションおよび前記ソースストリームからその後受信されたすべてのＮ番目のポーションを前記Ｍ番目のエンコーダがエンコードするための前記ソースストリームのポーションのセットとして決定することと、
前記ソースストリームからのポーションのセット内の各ポーションを複数のセグメントにエンコードすることであって、前記複数のセグメントのそれぞれは、前記複数の代替ストリームのうちの１つ内のセグメントであり、
前記Ｍ番目のエンコーダのポーションのセットからのポーションのそれぞれに対して生成された前記複数のセグメントのそれぞれに対し、インデックス情報を生成することと、
前記インデックス情報を、ポーションの前記セット内の各ポーションから生成された複数のセグメントのそれぞれに対し、前記Ｍ番目のエンコーダのためのマニフェスト内に記憶することと
を行うように指示される、請求項１４に記載のシステム。
【請求項１６】
前記Ｎ個のエンコーダはそれぞれさらに、前記Ｍ番目のエンコーダのためのポーションのセット内にない、前記複数のポーションからのポーションのそれぞれを破棄するように指示される、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、適応ストリーミングに関し、より具体的には、ビデオデータを異なる最大ビットレートを有するストリームにエンコードするシステムと、ストリームを使用して、エンコードされたビデオコンテンツをエンコードされたストリームから取得する再生デバイスとに関する。
【背景技術】
【０００２】
用語「メディアストリーミング」は、再生デバイス上におけるメディアの再生を説明しており、メディアは、サーバ上に記憶され、再生の間、ネットワークを経由して、再生デバイスに継続的に送信される。典型的には、再生デバイスは、メディアの次のポーションの受信に先立って、全てのバッファされたメディアの再生を完了するため、再生デバイスは、再生の間、任意の所与の時間において、十分な量のメディアをバッファ内に記憶し、再生の途絶を防止する。適応ビットレートストリーミングまたは適応ストリーミングは、本ストリーミング条件（例えば、ユーザのネットワーク帯域幅およびＣＰＵ容量）をリアルタイムで検出し、適宜、ストリーミングされるメディアの品質を調節することを伴う。典型的には、ソースメディアは、複数のビットレートでエンコードされ、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なるエンコードのストリーミング間で切り替える。
【０００３】
適応ストリーミングソリューションは、典型的には、ＲＦＣ２６１６として、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  ＦｏｒｃｅおよびＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって公開されたハイパーテキスト転送プロトコル（ＨＴＴＰ）、またはＲＦＣ２３２６として、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅによって公開されたリアルタイムストリーミングプロトコル（ＲＴＳＰ）のいずれかを利用して、サーバと再生デバイスとの間でメディアをストリーミングする。ＨＴＴＰは、再生デバイスが、ファイル内のバイト範囲を要求することを可能にする、ステートレスプロトコルである。ＨＴＴＰは、サーバが、再生デバイスから受信された要求に応答するために、情報を要求する再生デバイスの状態または再生デバイスによって要求されたバイト範囲に関する情報を記録することが要求されないため、ステートレスとして説明される。ＲＴＳＰは、ストリーミングメディアサーバを制御するために使用されるネットワーク制御プロトコルである。再生デバイスは、メディアをストリーミングするサーバに、「再生」および「一時停止」等の制御コマンドを発行し、メディアファイルの再生を制御する。ＲＴＳＰが利用されるとき、メディアサーバは、各クライアントデバイスの状態を記録し、クライアントデバイスから受信した命令およびクライアントの状態に基づいて、ストリーミングするためのメディアを決定する。
【０００４】
適応ストリーミングシステムでは、ソースメディアは、典型的には、実際のビデオおよびオーディオデータを含有する、いくつかの代替ストリームをポイントするトップレベルインデックスファイルまたはマニフェストとして、メディアサーバ上に記憶される。各ストリームは、典型的には、１つ以上のコンテナファイル内に記憶される。異なる適応ストリーミングソリューションは、典型的には、異なるインデックスおよびメディアコンテナを利用する。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって開発された同期マルチメディア統合言語（ＳＭＩＬ）は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，  Ｗａｓｈｉｎｇｔｏｎ）によって開発されたＩＩＳスムーズストリーミング、およびＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（ＳａｎＪｏｓｅ，  Ｃａｌｉｆｏｒｎｉａ）によって開発されたフラッシュダイナミックストリーミングを含む、いくつかの適応ストリーミングソリューションにおいて、インデックスを作成するために利用される。Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃｏｒｐｏｒａｔｅｄ（Ｃｕｐｅｒｔｉｎｏ，  Ｃａｌｉｆｏｒｎｉａ）によって開発されたＨＴＴＰ適応ビットレートストリーミングは、典型的には、メディアコンテナファイルを識別する、ＵＲＩのリストを含有するテキストファイルである、拡張Ｍ３Ｕ再生ファイル（．Ｍ３Ｕ８）を使用して、インデックスファイルを実装する。最も一般に使用されるメディアコンテナ形式は、ＭＰＥＧ−４  Ｐａｒｔ１４（すなわち、ＩＳＯ／ＩＥＣ１４４９６−１４）に規定されるＭＰ４コンテナ形式、およびＭＰＥＧ−２Ｐａｒｔ１（すなわち、ＩＳＯ／ＩＥＣ規格１３８１８−１）に規定されるＭＰＥＧトランスポートストリーム（ＴＳ）コンテナである。ＭＰ４コンテナ形式は、ＩＩＳスムーズストリーミングおよびフラッシュダイナミックストリーミングにおいて利用される。ＴＳコンテナは、ＨＴＴＰ適応ビットレートストリーミングにおいて使用される。
【０００５】
Ｍａｔｒｏｓｋａコンテナは、オープン標準プロジェクトとしてＭａｔｒｏｓｋａ非営利団体（Ａｕｓｓｏｎｎｅ，  Ｆｒａｎｃｅ）によって開発されたメディアコンテナである。Ｍａｔｒｏｓｋａコンテナは、拡張バイナリメタ言語（ＥＢＭＬ）に基づき、これは、拡張マークアップ言語（ＸＭＬ）のバイナリ派生物である。Ｍａｔｒｏｓｋａコンテナのデコードは、多くの消費者電子機器（ＣＥ）デバイスによってサポートされている。ＤｉｖＸ，  ＬＬＣ（Ｓａｎ  Ｄｉｅｇｏ，  Ｃａｌｉｆｏｒｎｉａ）によって開発されたＤｉｖＸ  Ｐｌｕｓファイルフォーマットは、Ｍａｔｒｏｓｋａコンテナフォーマットの拡張子を利用する（すなわち、Ｍａｔｒｏｓｋａコンテナフォーマットに基づくが、Ｍａｔｒｏｓｋａフォーマット内に規定されていない要素を含む）。
【０００６】
インターネットを経由してメディアコンテンツの配信のための一貫した手段を提供するために、国際標準化機構（ＩＳＯ）および国際電気標準会議（ＩＥＣ）は、ＨＴＴＰ（ＤＡＳＨ）規格を経由した動的適応ストリーミングを推進している。ＤＡＳＨ規格は、ＨＴＴＰを使用したＭＰＥＧコンテンツの配信のためのメディアコンテンツおよびコンテンツの記述のためのフォーマットを規定する。ＤＡＳＨによると、プレゼンテーションのためのメディアコンテンツの各コンポーネントは、１つ以上のストリーム内に記憶される。ストリームはそれぞれ、セグメントに分割される。メディアプレゼンテーション記述（ＭＰＤ）は、ストリームのそれぞれ内のセグメントについての情報と、再生の間にメディアコンテンツをプレゼンテーションするために必要とされる他の情報とを含む、データ構造である。再生デバイスは、再生のための適応ビットレートストリーミングを使用してメディアコンテンツのコンポーネントを取得するために、ＭＰＤを使用する。
【０００７】
コンテンツをストリーミングする速度が改良されるにつれて、スポーツイベントおよびコンサート等のライブイベントのストリーミングが、一般的となりつつある。しかしながら、適応ビットレートストリーミングのために、ライブイベントからのビデオコンテンツをストリームにエンコードすることは、問題である。そのために、エンコーダサーバシステムは、典型的には、ビデオコンテンツを種々のストリームにエンコードするように具体的に設計される、ハードウェアエンコーダを使用する。これらの特殊エンコーダは、取得が高価である。したがって、当業者は、特殊エンコーダのより低いコスト代替を見出すことを常に模索している。
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明のいくつかの実施形態による、ビデオコンテンツを異なる最大ビットレートを有する複数のストリームにエンコードし、再生デバイスを使用して、ビデオコンテンツを取得するためのシステムおよび方法が、開示される。多くの実施形態による、プロセスは、以下の様式で実施される。エンコーディングシステム内の各サーバは、ビデオコンテンツのソースストリームのポーションをコンテンツプロバイダシステムから受信する。エンコーダはそれぞれ、エンコーダのそれぞれにおいて受信されたソースストリームのポーションを使用して、代替ストリームのポーションをエンコードする。エンコーダのうちの各特定の１つによってエンコードされた代替ストリームのポーションは、エンコーダのうちの特定の１つのためのコンテナ内に記憶される。エンコーダはそれぞれ、次いで、各エンコーダによって生成された代替ストリームのポーションに関するインデックス情報を生成し、インデックス情報を特定のエンコーダによって生成された代替ストリームのポーションのためのマニフェスト内に記憶する。
【０００９】
本発明のいくつかの実施形態によると、エンコーダのそれぞれによってエンコードされた代替ストリームのポーションは、代替ストリームのうちの１つであって、ストリームは、以下の様式で各エンコーダによって生成される。エンコーダは、ソースストリームの各ポーションを受信し、ソースストリームの各ポーションからの代替ストリームのセグメントをエンコードし、代替ストリームのセグメントを生成する。いくつかのこれらの実施形態によると、各特定のエンコーダは、ストリームを生成するためのパラメータの特定のセットを有する。各エンコーダはまた、特定のエンコーダによって生成されたセグメントのそれぞれに対し、インデックス情報を生成し、インデックス情報を特定のエンコーダのためのマニフェスト内に記憶する。これらの実施形態のうちのいくつかによると、特定のエンコーダによって生成された代替ストリームは、特定の最大ビットレートをパラメータとして有する。なおもさらにこれらの実施形態のいくつかによると、エンコーダの異なるものによって生成された代替ストリームの少なくとも２つの代替ストリームは、同一最大ビットレートおよび異なる少なくとも１つの他のパラメータを有する。これらの実施形態の多くによると、少なくとも１つの他のパラメータは、縦横比、フレームレート、および分解能から成るパラメータの群から選択される。
【００１０】
本発明のいくつかの実施形態によると、本システムは、Ｎ個のエンコーダを含み、Ｎは、整数であって、Ｎ個のエンコーダはそれぞれ、ソースストリームの１／Ｎのポーションを代替ストリームのそれぞれのセグメントにエンコードする。いくつかの実施形態によると、代替ストリームのそれぞれ内のセグメントへのソースストリームの１／Ｎポーションのエンコーディングは、以下の様式で実施される。各エンコーダは、Ｍ番目のエンコーディング順序を割り当てられ、Ｍは、１からＮの整数である。各エンコーダは、受信されたソースストリームのＭ番目のポーションおよびソースストリームからその後受信されたすべてのＮ番目のポーションをＭ番目のエンコーダがエンコードするためのソースストリームのポーションのセットとして決定する。ポーションをエンコードすることは、ポーションを代替ストリームのうちの各１つ内のセグメントにエンコードすることを含む。インデックス情報を生成することは、インデックス情報を代替ストリームのそれぞれ内のポーションのそれぞれに対して生成されたセグメントのそれぞれに対して生成することと、インデックス情報を、ポーションのセット内の各ポーションから生成されたセグメントのそれぞれに対し、Ｍ番目のエンコーダのためのマニフェスト内に記憶することとを含む。これらの実施形態のいくつかによると、各Ｍ番目のエンコーダは、Ｍ番目のエンコーダのためのポーションのセットにない、ポーションのそれぞれを破棄する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明のある実施形態による、適応ビットレートストリーミングシステムのネットワーク略図を図示する。
【図２】図２は、本発明のある実施形態による、エンコーディングサーバシステムのコンポーネントのブロック図を図示する。
【図３】図３は、本発明のある実施形態による、ビデオコンテンツを異なる最大ビットレートを有するストリームにエンコードする、エンコーダサーバシステム内の処理システムのコンポーネントのブロック図を図示する。
【図４】図４は、本発明のある実施形態による、異なる最大ビットレートを有するエンコードされたストリームを使用して、適応ビットレートストリームエンコーディングシステムを介して、ビデオコンテンツを取得する、再生デバイス内の処理システムのコンポーネントのブロック図を図示する。
【図５】図５は、本発明のある実施形態による、エンコーダサーバシステム内の各エンコーダによって実施され、ビデオコンテンツを適応ビットレートストリーミングシステム内で使用されるストリームのうちの１つにエンコードするためのプロセスのためのフロー図を図示する。
【図６】図６は、本発明のある実施形態による、エンコーダサーバシステム内のＮ個のエンコーダのそれぞれによって実施され、ビデオコンテンツの各Ｎ番目のセグメントをエンコードするためのプロセスのためのフロー図を図示する。
【図７】図７は、本発明のある実施形態による、ストリームのためのマニフェスト情報を取得し、適応ビットレートシステムを使用して、ストリームを使用し、ビデオコンテンツを取得するために再生デバイスによって実施されるプロセスのフロー図を図示する。
【発明を実施するための形態】
【００１２】
ここで図面に目を向けると、本発明のいくつかの実施形態による、ビデオコンテンツを適応ビットレートストリーミングのためのストリームにエンコードし、再生デバイスを使用して、ストリームを取得するためのシステムおよび方法が、図示される。本発明のいくつかの実施形態によると、エンコーディングシステムは、１つを上回るエンコーダを含む。これらの実施形態のいくつかによると、エンコーダは、エンコーディングシステム内の処理システムによって実行されるソフトウェアによって提供されてもよい。多くの実施形態によると、エンコーダは、エンコーディングシステム内のファームウェアによって提供されてもよい。いくつかの実施形態によると、エンコーダは、サーバシステム内のハードウェアによって提供される。
【００１３】
エンコーディングシステムは、ビデオコンテンツのソースストリームを内蔵タイムスタンプを含むソースから受信する。いくつかの実施形態によると、ビデオコンテンツは、リアルタイムで記録されるライブフィードである。これらの実施形態のいくつかによると、ビデオコンテンツのソースストリームは、協定世界時に従って、タイムスタンプを含む。
【００１４】
いくつかの実施形態によると、各エンコーダは、コンテンツの適応ビットレートストリーミングのために使用されるべきストリームのセットの単一ストリームを生成するために使用される。これらの実施形態のいくつかによると、エンコーダは全て、ビデオコンテンツのソースストリームのポーションの受信を開始し、受信されたポーション内の内蔵タイムスタンプを使用して同期される。各エンコーダが、ビデオコンテンツのソースストリームのポーションをソースシステムから受信すると、エンコーダは、受信されたビデオコンテンツのソースストリームのポーションを各エンコーダに特定の所定のパラメータを有するストリームのセグメントにエンコードする。いくつかの実施形態によると、各エンコーダによって生産されたストリームは、他のエンコーダによって生成されたストリームと異なる最大ビットレート（または異なる標的平均ビットレート）を有する。いくつかの他の実施形態によると、限定ではないが、縦横比、分解能、およびフレームレートを含む、他のパラメータは、種々のエンコーダによって生成されたストリーム内で変動されてもよい。
【００１５】
各エンコーダは、本発明のいくつかの実施形態によると、生成されたポーションを生成されたストリームのための１つ以上のコンテナファイル内に記憶する。エンコーダはまた、本発明の多くの実施形態による、ストリームの生成されたポーションのそれぞれに対し、インデックスまたはマニフェスト情報を生成し、生成されたインデックスまたはマニフェスト情報をインデックスファイルまたはマニフェストに追加する。プロセスは、ソースストリームの終了が受信されるまで繰り返される。
【００１６】
いくつかの他の実施形態によると、エンコーディングシステムは、いくつかのエンコーダ（Ｎ）を含み、各エンコーダは、ソースストリームのポーション（例えば、１／Ｎ）を、エンコーディングパラメータの異なるセットを使用して、複数回エンコードし、ストリームの適応セット内のストリームのそれぞれに対し、セグメントを作成する。これらの実施形態のいくつかによると、各エンコーダは、処理順序内の位置を割り当てられる。各エンコーダは、次いで、ビデオコンテンツのソースストリームの受信を開始する。ソースストリームのポーションが、エンコーダのそれぞれによって受信されると、エンコーダは、ポーションがエンコーダに割り当てられるソースストリームのＮ番目のセグメントであるかどうかを決定する。ポーションがＮ番目のセグメントではない場合、エンコーダは、セグメントを破棄する。ポーションがＮ番目のセグメントである場合、エンコーダは、ストリームのセット内の種々のストリームのためのプロファイルのそれぞれに従って、受信されたポーションをセグメントにエンコードし、セグメントを適切なストリームのためのコンテナファイル内に記憶する。エンコーダは、次いで、生成されたセグメントのそれぞれに対し、インデックスまたはマニフェスト情報を生成し、情報を適切なインデックスファイルまたはマニフェストに追加する。これらの実施形態の多くによると、インデックスまたはマニフェスト情報は、エンコーダによって生産されたセグメントのためのマニフェストに追加される。いくつかの他の実施形態によると、種々のストリームのために生産された各セグメントに対するインデックスまたはマニフェスト情報は、具体的ストリームのために維持されるインデックスファイルまたはマニフェストに追加される、および／またはマニフェストファイルを生成する際の将来的使用のために、メモリ内のデータベースの中に記憶される。プロセスは、エンコーダがそれぞれソースストリームの終了を受信するまで、エンコーダのそれぞれによって繰り返される。
【００１７】
いくつかの実施形態によると、メディアコンテンツは、ＤＡＳＨ規格に従って、ストリーム内に記憶される。しかしながら、当業者は、限定ではないが、Ｍａｔｒｏｓｋａ（ＭＫＶ）コンテナファイルフォーマット等のフォーマットも本発明から逸脱することなく、メディアコンテンツのストリームを記憶するために使用され得ることを認識するであろう。
【００１８】
本発明のいくつかの実施形態による、適応ビットレートストリーミングシステムの性能は、ビデオのセグメントが、イントラフレームであるインスタントデコーダリフレッシュ（ＩＤＲ）フレームから開始する、単一（または少なくとも１つ）クローズドグループオブピクチャ（ＧＯＰ）として各ストリーム内でエンコードされるように、代替ストリームのそれぞれ内のソースビデオの各ポーションをエンコードすることによって、大幅に向上されることができる。再生デバイスは、ビデオセグメントの再生の完了時、再生の間に使用される代替ストリーム間で切り替えることができ、ビデオセグメントが取得されるストリームに関係なく、ビデオセグメント内の第１のフレームは、ビデオセグメント内に含有されるエンコードされたメディア以外の任意のエンコードされたメディアを参照せずにデコードされ得る、ＩＤＲフレームとなるであろう。
【００１９】
いくつかの実施形態では、再生デバイスは、ＭＰＤから利用可能なストリームのそれぞれに関する情報を取得し、メディアの再生において利用するための１つ以上のストリームを選択する。再生デバイスはまた、関連コンテナファイル内に記憶されるエンコードされたビデオコンテンツのセグメントをインデックス化する、インデックス情報を要求することができる。インデックス情報は、コンテナファイル内に、またはＭＰＤもしくは別個のインデックスファイル内のコンテナファイルと別個に記憶されることができる。インデックス情報は、再生デバイスが、エンコードされたビデオコンテンツの具体的ポーションを含有するコンテナファイル内のエンコードされたビデオコンテンツのセグメントに対応するバイト範囲をＨＴＴＰ（または別の適切なステートフルもしくはステートレスプロトコル）を介してサーバから要求することを可能にする。再生デバイスは、いくつかの実施形態によると、インデックス情報を使用して、代替ストリームからビデオのコンテンツのセグメントを要求する。再生は、再生デバイスがネットワーク条件によってサポートされ得る最大ビットレートでエンコードされたビデオコンテンツを有するストリームからエンコードされたビデオコンテンツのセグメントを要求することによって継続される。
【００２０】
本発明のいくつかの実施形態によると、再生デバイスは、以下の様式で動作し、エンコーディングシステム内の複数のエンコーダによって生成されたストリームを使用する。再生デバイスは、ビデオコンテンツを含む、メディアコンテンツを要求する。要求に応答して、再生デバイスは、各エンコーダによって維持および／または生成されるＭＰＤまたはインデックスファイルを受信する。再生デバイスは、内蔵タイムスタンプを使用して、次いで、種々のエンコーダからのＭＰＤまたはインデックスファイルをインデックス情報の組み合わされた適応セットの中に加える。再生デバイスは、次いで、組み合わされた適応セットからのインデックス情報を使用して、適応ビットレートストリーミングを実施し、ビデオコンテンツを取得する。いくつかの他の実施形態によると、サーバは、ＭＰＤを内蔵タイムスタンプを使用して各エンコーダによって生成されたＭＰＤまたはインデックスファイルから生成し、ＭＰＤを再生デバイスに提供する。再生デバイスは、次いで、ＭＰＤを使用し、適応ビットレートストリーミングを実施し、ビデオコンテンツを取得する。
【００２１】
本発明のいくつかの実施形態による、ビデオコンテンツを複数のエンコーダを使用して適応ビットレートストリーミングにおいて使用するための複数のストリームにエンコードすることと、適応ビットレートストリーミングを使用して、再生デバイスによって生成されたストリームからビデオコンテンツを取得するためのプロセスとは、さらに以下に議論される。
（適応ストリーミングシステムアーキテクチャ）
【００２２】
ここで図１を参照すると、本発明の実施形態による、複数のエンコーダを使用してストリームを生成するエンコーディングシステムを含む、適応ストリーミングシステムが、図示される。適応ストリーミングシステム１０は、いくつかの代替ストリームとして、ビデオコンテンツを含むソースメディアコンテンツをエンコードするように構成される、ソースエンコーディングシステム１２を含む。図示される実施形態では、ソースエンコーダは、単一サーバである。他の実施形態では、ソースエンコーダは、プロセッサと、ソースメディア（限定ではないが、ビデオ、オーディオ、および／または字幕を含む）の代替ストリームへのトランスコーディングを実施するための十分なリソースとを含む、任意の処理デバイスまたは処理デバイスのグループであることができる。典型的には、ソースエンコードサーバ１２は、ストリームおよび／またはメタデータ情報を含有するコンテナファイルを示すインデックスを含むＭＰＤを生成し、そのうちの少なくとも複数は、代替ストリームである。代替ストリームは、同一のメディアコンテンツを異なる方法でエンコードするストリームである。多くの事例では、代替ストリームは、異なる最大ビットレートでメディアコンテンツ（限定ではないが、ビデオコンテンツおよび／またはオーディオコンテンツ等）をエンコードする。いくつかの実施形態では、ビデオコンテンツの代替ストリームは、異なる解像度および／または異なるフレームレートでエンコードされる。しかしながら、ソースエンコーダシステム１２は、複数のエンコーダを使用して、代替ストリームを生成し、各特定のエンコーダは、特定のエンコーダによって生成されたストリームまたは複数のストリームのセグメントのためのＭＰＤを生成する。種々のエンコーダおよびコンテナファイルによって生成されたＭＰＤは、ＨＴＴＰサーバ１４にアップロードされる。種々の再生デバイスは、次いで、ＨＴＴＰまたは別の適切なステートレスプロトコルを使用して、インターネット等のネットワーク１６を介して、ＭＰＤ、インデックスファイル、およびコンテナファイルのポーションを要求することができる。
【００２３】
図示される実施形態では、種々のエンコーダからのＭＰＤを使用して適応ビットレートストリームを実施することができる再生デバイスは、パーソナルコンピュータ１８、ＣＥプレーヤ、および携帯電話２０を含む。いくつかの他の実施形態によると、再生デバイスは、消費者電子機器デバイス、例えば、ＤＶＤプレーヤ、Ｂｌｕ−ｒａｙ（登録商標）プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、仮想現実ヘッドセット、拡張現実ヘッドセット、およびＨＴＴＰを含む（限定ではないが）通信プロトコルを介して、サーバに接続し、エンコードされたメディアを再生可能である、他のデバイスを含むことができる。具体的アーキテクチャは、図１に示されるが、適応ビットレートストリーミングではなく、従来のストリーミングを実施するシステムを含む、任意の種々のアーキテクチャのいずれかが、再生デバイスが、本発明の種々の実施形態に従って、ＭＰＤおよびコンテナファイルのポーションを要求することを可能にするように利用されることができる。
（エンコーダシステム）
【００２４】
本発明のある実施形態による、複数のエンコーダを使用して、ビデオコンテンツを適応ビットレートストリーミングにおいて使用するための代替ストリームにエンコードする、エンコーダシステムが、図２に示される。エンコーディングシステム２００は、ルータ２０５と、ルータ２０５に通信可能に接続される、エンコーディングサーバ２０２とを含む。当業者は、任意の数のサーバまたはプロセッサが、本発明から逸脱することなく、ルータ２０５に接続されてもよく、１つのみのサーバが、明確および簡潔にするために示されることを認識するであろう。エンコーダは、複数のエンコーダ２１５−２１８を含む。いくつかの実施形態によると、エンコーダ２１５−２１８はそれぞれ、ソースコンテンツのデコードおよび／またはエンコードを実施するためにメモリ内に記憶される命令からプロセッサによって実行される、ソフトウェアのインスタンス化である。いくつかの他の実施形態によると、エンコーダ２１５−２１８のうちの１つ以上のものは、受信されたコンテンツをエンコードする、サーバ内の特定のハードウェアコンポーネントである。さらに他の実施形態では、エンコーダのうちの１つ以上のものは、ハードウェアおよびソフトウェアがエンコーダを提供するために使用される、ファームウェアコンポーネントであってもよい。ルータは、ビデオコンテンツの着信ソースストリームをサーバ２１０のエンコーダ２１５−２１８のそれぞれに提供する。いくつかの実施形態によると、ルータは、ストリームのコピーをエンコーダのそれぞれに伝送する。いくつかの他の実施形態によると、サーバ２１０は、ソースストリームを受信し、ソースストリームが受信されると、着信ソースストリームのコピーをエンコーダ２１５のそれぞれに提供する。ソースストリームは、内蔵タイミング情報を含む。
【００２５】
サーバシステムの具体的アーキテクチャが図２に示されるが、受信されたストリームからのビデオコンテンツをエンコードするシステムを含む、種々のアーキテクチャのうちの任意のものが、本発明の種々の実施形態に従って利用されることができる。
（再生デバイス）
【００２６】
本発明のいくつかの実施形態による、複数のエンコーダによって生成された代替ストリームを使用するための方法およびシステムを提供する、プロセスは、再生デバイスによって実行される。本発明のある実施形態による、プロセスを実施することができる、再生デバイス内の関連コンポーネントは、図３に示される。当業者は、再生デバイスが、本発明の説明される実施形態から逸脱することなく、簡潔にするために省略される他のコンポーネントを含んでもよいことを認識するであろう。再生デバイス３００は、プロセッサ３０５と、不揮発性メモリ３１０と、揮発性メモリ３１５とを含む。プロセッサ３０５は、揮発性メモリ３１５または不揮発性メモリ３１０内に記憶される命令を実施し、メモリ内に記憶されるデータを操作する、プロセッサ、マイクロプロセッサ、コントローラ、またはプロセッサ、マイクロプロセッサ、および／またはコントローラの組み合わせである。不揮発性メモリ３１０は、本発明のいくつかの実施形態による、複数のエンコーダによってエンコードされた代替ストリームを使用し、適応ビットレートストリーミングを使用して、ビデオコンテンツを取得するためのプロセスを含む、プロセスを実施するように、再生デバイス３００を構成するために利用されるプロセッサ命令を記憶することができる。種々の他の実施形態によると、再生デバイスは、命令を含み、および／またはこれらのプロセスを実施することができる、ハードウェアおよび／またはファームウェアを有してもよい。さらに他の実施形態によると、プロセスのための命令は、具体的用途に適切な種々の非一過性コンピュータ可読媒体のいずれか内に記憶されることができる。
（サーバ）
【００２７】
本発明のある実施形態による、複数のエンコーダを使用して、ビデオコンテンツを適応ビットレートストリーミングのためのストリームにエンコードする方法およびシステムにおけるプロセスは、エンコーディングサーバ等のエンコーダによって実施される。本発明のある実施形態によるこれらのプロセスを実施する、エンコーディングサーバ内の関連コンポーネントは、図４に示される。当業者は、サーバが、本発明の説明される実施形態から逸脱することなく、簡潔にするために省略される他のコンポーネントを含んでもよいことを認識するであろう。サーバ４００は、プロセッサ４０５と、不揮発性メモリ４１０と、揮発性メモリ４１５とを含む。プロセッサ４０５は、揮発性メモリ４１５または不揮発性メモリ４１０内に記憶され、メモリ内に記憶されるデータを操作するための命令を実施する、プロセッサ、マイクロプロセッサ、コントローラ、またはプロセッサ、マイクロプロセッサ、および／またはコントローラの組み合わせである。不揮発性メモリ４１０は、本発明のいくつかの実施形態による、メディアコンテンツをエンコードし、および／またはマーカ情報を生成するためのプロセスを含む、プロセスを実施するようにサーバ４００を構成するために利用されるプロセッサ命令および／または利用されるプロセスのためのデータを記憶することができる。種々の実施形態によると、これらの命令は、サーバソフトウェア内にあってもよく、および／またはファームウェアは、具体的用途に適切な種々の非一過性コンピュータ可読媒体のいずれか内に記憶されることができる。具体的サーバが、図４に図示されるが、任意の数のプロセスを実施するように構成される、種々のサーバのいずれも、本発明の種々の実施形態に従って利用されることができる。
（エンコーディングシステム内の複数のエンコーダを使用した適応ビットレートストリーミングのための代替ストリームへのビデオコンテンツのエンコーディング）
【００２８】
いくつかの実施形態によると、エンコーディングシステムは、複数のエンコーダを使用して、ビデオコンテンツを適応ビットレートストリーミングのための代替ストリームにエンコードする。本発明のいくつかの実施形態によると、エンコーダは、ソフトウェア命令のインスタンス化である、ソフトウェアエンコーダであって、プロセッサによって実施または実行される、メモリから読み取られる。ソフトウェアエンコーダは、処理およびメモリリソースのみが付加的エンコーダをシステムに追加することが必要とされるため、エンコーダのコストを低減させる、および／またはシステムのスケーラビリティを改良することが望ましいときに使用されてもよい。多くの実施形態によると、複数のエンコーダのうちの１つ以上のものは、ハードウェアエンコーダである。ハードウェアエンコーダは、受信されたコンテンツを１つ以上のストリームにエンコードするためのプロセスを実施するように構成される、回路である。いくつかの実施形態によると、エンコーダのうちの１つ以上のものは、ファームウェアエンコーダであってもよい。ファームウェアエンコーダは、いくつかのハードウェアコンポーネントおよびいくつかのソフトウェアプロセスを組み合わせ、エンコーダを提供する。
【００２９】
ビデオコンテンツは、ソースストリームとしてコンテンツプロバイダから受信されてもよい。いくつかの実施形態によると、ビデオコンテンツは、ライブブロードキャストであって、ビデオコンテンツがリアルタイムで捕捉およびストリーミングされることを意味する。ビデオコンテンツは、時間情報を含んでもよい。時間情報は、限定ではないが、ブロードキャスト時間、提示時間、および／または時間記録を含んでもよい。エンコーダはそれぞれ、ビデオコンテンツのソースストリームを受信し、代替ストリームのポーションを生成する。いくつかの実施形態によると、複数のエンコーダはそれぞれ、エンコーダ特有パラメータを有する単一ストリームをソースストリームから生産する。いくつかの他の実施形態によると、エンコーディングシステムは、いくつかのエンコーダ（Ｎ）を含み、各エンコーダは、エンコーディングパラメータの異なるセットを使用して、ソースストリームのポーション（例えば、１／Ｎ）を複数回エンコードし、ストリームの適応セット内のストリームの各々に対し、セグメントを作成する。本発明のいくつかの異なる実施形態による、複数のエンコーダを使用して、ビデオコンテンツの代替ストリームをビデオコンテンツのソースストリームからエンコードするためのプロセスは、図５および６に示される。
【００３０】
本発明のある実施形態による、複数のエンコーダのセットのうちの少なくとも１つによって実施され、代替ストリームの単一ストリームをビデオコンテンツのソースストリームから生成するためのプロセスのフローチャートが、図５に示される。プロセス５００では、エンコーダは、タイミング情報を含む、ビデオコンテンツのソースストリームのポーションを受信する（５０５）。いくつかの実施形態によると、エンコーダは、エンコーダがストリームのエンコーディングを開始すべきストリーム内の点を決定するためのポーションとともに受信された時間情報を使用してもよい。エンコーダが、同一タイミング情報を使用しているため、エンコーダによって実施されるエンコーディングは、各エンコーダによって生産されたセグメントが提示時間の観点から提示するための同一持続時間のビデオコンテンツを含み、セグメントが整合されるように、同期される。エンコーダは、ビデオコンテンツのソースストリームのポーションを使用し、エンコーダに特定の規定されたパラメータを有する、ビデオコンテンツのストリームのセグメントをエンコードする（５１０）。いくつかの実施形態によると、各エンコーダによって生成されたストリームの規定されたパラメータは、異なる最大ビットレートを含む。
【００３１】
いくつかの他の実施形態によると、２つ以上のエンコーダからのストリームは、同一最大ビットレートと、異なる縦横比、分解能、および／またはフレームレートとを有する。エンコーダはまた、生成されたセグメントに関するインデックスまたはマニフェスト情報を生成する（５１５）。生成されたセグメントは、エンコーダによって生成されているストリームのコンテナ内に記憶され（５２０）、インデックスまたはマニフェスト情報は、メモリ内に記憶され、および／またはクライアント再生デバイスに更新として送達されるストリームに関するマニフェストまたはインデックスファイルに追加される（５２５）。プロセス５００は、エンコーダがストリームの終了を受信するまで繰り返し、および／またはストリームの受信は、ある他の様式で停止される（５３０）。
【００３２】
ビデオコンテンツの代替ストリームのセットのうちの１つをエンコードするためにエンコーダによって実施されるプロセスの種々の実施例は、上記に説明されるが、当業者は、ストリームをエンコードするための他のプロセスも本発明のいくつかの実施形態に従って実施されてもよいことを認識するであろう。
【００３３】
本発明のある他の実施形態によると、エンコーディングシステムは、いくつかのエンコーダ（Ｎ）を含み、各エンコーダは、エンコーディングパラメータの異なるセットを使用して、ソースストリームのポーション（例えば、１／Ｎ）を複数回エンコードし、ストリームの適応セット内のストリームの各々に対し、セグメントを作成する。各エンコーダは、エンコーダ順序位置Ｍを割り当てられ、Ｍは、１とＭとの間の数である。第１のエンコーダは、ソースストリームの第１のポーションおよびその後受信されたすべてのＮ番目のポーションを代替ストリームのそれぞれのセグメントにエンコードする。第２のエンコーダは、ソースストリームの第２の受信されたポーションおよびその後受信されたすべてのＮ番目のポーションを代替ストリームのそれぞれのセグメントにハンドリングする。同様に、エンコーディング順序１からＮにおける残りのエンコーダは、その後受信されたすべてのＮ番目のポーションのＭ番目の受信されたポーションを種々の代替ストリームのセグメントにエンコードし、Ｍは、エンコーディング順序位置である。したがって、各エンコーダは、ソースストリームのセグメントの総数の１／Ｎのみを代替ストリームにエンコードする。本タイプのエンコーディングは、セグメントの可用性をＮ＊｜セグメント持続時間｜にさせ、リアルタイムではない。したがって、セグメントの可用性時間は、マニフェスト内の情報に追加され、クライアントがセグメントが利用可能となるであろうときを把握することを可能にする必要があり得る。本発明のある実施形態による、Ｎ個のエンコーダのそれぞれによって実施され、ビデオコンテンツのすべてのＮ番目のセグメントをソースストリームから生成するためのプロセスのフロー図は、図６に示される。
【００３４】
プロセス６００では、エンコーダは、タイミング情報を含むビデオコンテンツのソースストリームのポーションを受信する（６０５）。いくつかの実施形態によると、エンコーダは、エンコーダがストリームのエンコーディングを開始すべきストリーム内の点を決定するために、ポーションとともに受信された時間情報を使用してもよい。エンコーダは、ソースストリームからの同一タイミング情報を使用しているため、エンコーダによって実施されるエンコーディングは、各エンコーダによって生産されたセグメントが提示時間の観点から提示するための同一量のビデオコンテンツを含み、セグメントが後続セグメントと整合されるように同期される。
【００３５】
エンコーダは、次いで、受信されたポーションがハンドリングするためのソースストリームのＮ番目のポーションのうちの１つであるかどうかを決定する（６１０）。決定は、いくつかの実施形態によると、カウンタを使用して、受信されたポーションをカウントし、現在のカウントとＭを比較し、カウントがＭ（Ｍは、エンコーダ位置順序である）と等しいまたはその倍数であるかどうかを決定することによって、実施されてもよい。いくつかの他の実施形態によると、ソースストリームの受信されたポーションのためのメタデータが、決定を行うために使用される。
【００３６】
受信されたポーションが、エンコーダがハンドリングすべきポーションのうちの１つではない場合、エンコーダは、ストリームの受信されたポーションを破棄する（６１５）。受信されたポーションが、エンコーダがエンコードすべき着信ストリームのポーションのうちの１つであると決定された場合、エンコーダは、代替ストリームのそれぞれに対する具体的パラメータに基づいて、代替ストリームのそれぞれに対し、セグメント内のポーションをエンコードする（６２０）。ストリームのパラメータとして、限定ではないが、最大ビットレート、分解能、縦横比、およびフレームレートが挙げられる。
【００３７】
エンコーダはまた、生成されたセグメントのそれぞれに対し、インデックスまたはマニフェスト情報を生成する（６２５）。これは、代替ストリームのそれぞれに対し、マニフェスト情報を生成することを含む。生成されたセグメントはそれぞれ、適切な代替ストリームのコンテナ内に記憶され（６３０）、インデックスまたはマニフェスト情報は、適切なマニフェストまたはインデックスファイルに追加される（６３５）。いくつかの実施形態によると、マニフェストまたはインデックス情報は、メモリ内に記憶される代替ストリームのためのＭＰＤに追加される。いくつかの他の実施形態によると、マニフェストまたはインデックス情報は、エンコーダによってエンコードされたセグメントのためのＭＰＤに追加される。さらに他の実施形態では、マニフェストまたはインデックス情報は、クライアント再生デバイスに更新として送達される。プロセス６００は、エンコーダがストリームの終了を受信するまで繰り返し、および／またはストリームの受信は、ある他の様式で停止される（６４０）。
【００３８】
エンコーダによって実施され、ビデオコンテンツの代替ストリームのそれぞれに対し、すべてのＮ番目のセグメントをエンコードするためのプロセスの種々の実施例は、上記に説明されるが、当業者は、ストリームのためのポーションをエンコードするための他のプロセスが本発明のいくつかの実施形態に従って実施されてもよいことを認識するであろう。
（再生デバイスによって実施され、複数のエンコーダによって生成された代替ストリームを使用してビデオコンテンツを取得するためのプロセス）
【００３９】
本発明のいくつかの実施形態によると、再生デバイスは、複数のエンコーダによって生成されたストリームを使用して、再生のためのビデオコンテンツを取得する。本発明のいくつかの実施形態によると、再生デバイスは、適応ビットレートストリーミングを実施し、複数のエンコーダを使用して生成された代替ストリームからメディアコンテンツを取得する。そのために、再生デバイスは、エンコーダのそれぞれによって生成されたＭＰＤを受信し、適応ビットレートストリーミングを使用してセグメントを取得する際に使用するための組み合わされた適応セットを生成しなければならない。いくつかの実施形態によると、組み合わされた適応セットは、エンコーダのそれぞれによって生成されたＭＰＤ内に内蔵されたタイムスタンプに基づいて生成される。本発明のある実施形態による、再生デバイスによって実施され、適応ビットレートストリーミングを実施するためのプロセスは、図７に示される。
【００４０】
プロセス７００では、再生デバイスは、ビデオコンテンツのためのインデックスまたはマニフェスト情報を要求する（７０５）。再生デバイスは、エンコーダが代替ストリームのセグメントを生成すると、各エンコーダによって生成されたＭＰＤまたはインデックスファイルを受信する（７１０）。再生デバイスは、ＭＰＤのそれぞれ内の内蔵タイムスタンプを使用して、組み合わされた適応セットをエンコーダからのＭＰＤ内のインデックスまたはマニフェスト情報から生成する（７１５）。いくつかの実施形態によると、生成された組み合わされた適応セットは、ＭＰＤと同一フォーマットを有し、組み合わされた適応セットに受信されたＭＰＤからのインデックスまたはマニフェスト情報を取り込むことによって生成される。組み合わされた適応セットは、再生デバイスによって使用され、適応ビットレートストリーミングを実施し、再生のためのビデオコンテンツを取得する（７２０）。いくつかの実施形態によると、再生デバイスは、組み合わされた適応セットを使用して、ビデオコンテンツのポーションを要求する。本発明のいくつかの実施形態によると、再生デバイスは、再生デバイスとコンテンツプロバイダシステムとの間のネットワークを経由した通信のためのネットワーク帯域幅を監視し、測定された帯域幅に従ってハンドリングされ得る最高の最大ビットレートでエンコードされたオーディオおよび／またはビデオコンテンツのストリームを選択する。ストリームを選択し、再生を開始するためのシステムおよび方法は、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ａｖａｉｌａｂｌｅ  Ｂａｎｄｗｉｄｔｈ  ａｎｄ  Ｐｅｒｆｏｒｍｉｎｇ  Ｉｎｉｔｉａｌ  Ｓｔｒｅａｍ  Ｓｅｌｅｃｔｉｏｎ  Ｗｈｅｎ  Ｃｏｍｍｅｎｃｉｎｇ  Ｓｔｒｅａｍｉｎｇ  Ｕｓｉｎｇ  Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ」と題された米国特許出願公開第２０１３／０００７２００号および「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｅｒｆｏｒｍｉｎｇ  Ｍｕｌｔｉｐｈａｓｅ  Ａｄａｐｔｉｖｅ  Ｂｉｔｒａｔｅ  Ｓｔｒｅａｍｉｎｇ」と題された米国特許第８，８３２，２９７号（本開示は、参照することによってその全体として本明細書に組み込まれる）に開示されるものを含む。より具体的には、これらの参考文献に説明される再生デバイスによって実施され、適応ビットレートストリーミングを使用して、ビデオコンテンツを取得するためのプロセスは、参照することによって本明細書に組み込まれる。
【００４１】
本発明のある実施形態による、再生デバイスによって実施され、複数のエンコーダによって生成された代替ストリームを使用して、適応ビットレートストリーミングを実施する、ビデオコンテンツを取得するためのプロセスは、図７に開示されるが、他のプロセスも、本発明の実施形態に従って、複数のエンコーダによって生成された代替ストリームを使用してビデオコンテンツを取得するために再生デバイスによって実施されてもよい。
【００４２】
本発明は、ある具体的側面において説明されたが、多くの付加的修正および変形例が、当業者に明白となるであろう。具体的には、本発明は、トリックプレイトラックのあるフレームのみが本発明のいくつかの実施形態に従って示される、トリックプレイトラックと関連付けて使用されてもよい。したがって、本発明は、本発明の範囲および精神から逸脱することなく、それらが準拠する特定の規格内に規定されるもの以外の特徴をサポートする、エンコーダおよびデコーダの利用等、実装の種々の変更を含め、具体的に説明される以外にも実践されてもよいことを理解されたい。したがって、本発明の実施形態は、あらゆる点において、制限的ではなく、例証的と見なされるべきである。
【図１】
2019526188.tif 000003
【図２】
2019526188.tif 000004
【図３】
2019526188.tif 000005
【図４】
2019526188.tif 000006
【図５】
2019526188.tif 000007
【図６】
2019526188.tif 000008
【図７】
2019526188.tif 000009
【国際調査報告】
2019526188.tif 000010