(57)【要約】【課題】トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法の提供。【解決手段】本発明の実施形態による適応型ビットレートストリーミングで使用するトップレベルインデックスファイルを自動的に生成するシステムおよび方法が開示される。本発明の方法の一実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別することと、再生サーバを使用して識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して少なくとも１つの所定の基準を使用してアセットのリストをフィルタリングすることと、再生サーバを使用してフィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用してトップレベルインデックスファイルを再生デバイスに送信することとを含む。【選択図】図１
2018064287.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの再生を承認する方法であって、
再生デバイスからのコンテンツに対する要求を再生サーバで受信することであって、前記要求は、デバイス構成を識別する製品識別子を含む、ことと、
前記再生サーバを使用して、前記製品識別子に基づいて、前記再生デバイス上に実装される適応型ストリーミングソフトウェアコンポーネントに対するバージョン番号を示すデバイスソフトウェアバージョンおよびデバイスタイプを含む複数のデバイス能力を識別することと、
前記再生サーバを使用して、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことであって、各アセットは、前記コンテンツの断片に関連付けられた異なるストリームである、ことと、
前記再生サーバを使用して、前記複数のデバイス能力に基づいて、前記アセットのリストをフィルタリングすることと、
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することであって、前記トップレベルインデックスファイルは、前記コンテンツの適応型ストリーミングを実行するために使用することができる複数の代替ストリームのビットレートおよび場所を識別する、ことと、
前記トップレベルインデックスファイルを前記再生サーバから前記再生デバイスに送信することと
を含む、方法。
【請求項２】
前記再生デバイスからの前記コンテンツに対する要求は、さらに、前記コンテンツを要求するために使用されている前記再生デバイス上のウェブブラウザに関する情報を含む、請求項１に記載の方法。
【請求項３】
前記再生デバイスからの前記コンテンツに対する要求は、さらに、前記再生デバイスのオペレーティングシステムに関する情報を含む、請求項１に記載の方法。
【請求項４】
前記要求は、ネットワーク上でハイパーテキスト転送プロトコル（ＨＴＴＰ）を介してなされる、請求項１に記載の方法。
【請求項５】
情報を含む前記要求は、（ｉ）前記再生デバイスのタイプを記述する情報と、（ｉｉ）ネットワーク帯域幅に関する情報とを含む、請求項１に記載の方法。
【請求項６】
コンテンツを要求している前記再生デバイス上のウェブブラウザのバージョンに基づいて前記アセットのリストをフィルタリングすることをさらに含む、請求項１に記載の方法。
【請求項７】
前記トップレベルインデックスファイルは、ＳＭＩＬファイルである、請求項１に記載の方法。
【請求項８】
前記再生デバイスからの要求はまた、前記再生デバイスの能力を記述する情報を含み、
前記再生サーバは、前記再生デバイスの能力に基づいて、前記アセットのリストをフィルタリングする、請求項１に記載の方法。
【請求項９】
前記再生サーバを使用して、前記製品識別子に基づいて、少なくとも１つのデバイス能力を読み出すことをさらに含む、請求項１に記載の方法。
【請求項１０】
前記デバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、デバイス解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも１つのデバイス能力である、請求項１に記載の方法。
【請求項１１】
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含み、
前記方法は、前記要求によって示される前記地理的場所においてアセットが再生されることを許可されるかどうかに基づいて、前記アセットのリストをフィルタリングすることをさらに含む、請求項１に記載の方法。
【請求項１２】
少なくとも１つの言語に基づいて、前記アセットのリストをフィルタリングすることをさらに含む、請求項１に記載の方法。
【請求項１３】
前記再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持する、請求項１に記載の方法。
【請求項１４】
前記フィルタリングされたアセットのリスト内の各アセットを記述する前記トップレベルインデックスファイルを生成することは、各アセットに対するＵＲＩを含むＸＭＬストリングを生成することを含む、請求項１に記載の方法。
【請求項１５】
適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するＳＷＩＴＣＨ要素を含むＸＭＬストリングを生成することをさらに含む、請求項１４に記載の方法。
【請求項１６】
再生デバイスであって、
前記再生デバイスの能力を識別するために使用される情報を含むメモリと、
クライアントアプリケーションによって構成されているプロセッサと
を備え、
前記クライアントアプリケーションは、
前記再生デバイスを使用して、トップレベルインデックスファイルを再生サーバに対して要求することであって、前記要求は、コンテンツの断片を識別し、前記デバイス上に実装される適応型ストリーミングソフトウェアコンポーネントに対するバージョン番号を示すソフトウェアバージョンを含む、ことと、
前記再生デバイスを使用して、前記トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能でありかつ前記識別されたコンテンツの断片の適応型ストリーミングを実行するために使用することができる複数の異なる代替ストリームのビットレートおよび場所を識別する、ことと、
前記再生デバイスを使用して、前記複数の異なる代替ストリームから初期ストリームを選択することと、
前記再生デバイスを使用して、前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと、
前記再生デバイスを使用して、前記初期ストリームの前記一部を再生することと
を行うように前記プロセッサを構成する、再生デバイス。
【請求項１７】
前記トップレベルインデックスファイルは、前記ストリームの場所を識別するＵＲＩを含むＸＭＬストリングを使用して、各ストリームを記述する、請求項１６に記載の再生デバイス。
【請求項１８】
前記ＵＲＩは、コンテナファイルを参照し、各ストリームに対する前記ＸＭＬストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、請求項１７に記載の再生デバイス。
【請求項１９】
前記再生デバイスの能力のうちの少なくとも１つは、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される、請求項１６に記載の再生デバイス。
【請求項２０】
前記再生デバイスは、識別された解像度を有するストリームを再生することができ、前記アセットのリストは、フィルタリングされたアセットのリストから前記識別された解像度を有するストリームを除外するようにフィルタリングされる、請求項１に記載の方法。
【請求項２１】
前記再生デバイスは、識別された解像度を有するストリームを再生することができ、前記トップレベルインデックスファイルは、前記識別された解像度を有するストリームの記述を除外する、請求項１６に記載の再生デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ストリーミングメディアに関し、より具体的には、適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルの自動生成に関する。
【背景技術】
【０００２】
メディアのストリーミングという用語は、再生デバイス上におけるメディアの再生を説明しており、メディアは、サーバ上に記憶され、再生の間、ネットワークを経由して、再生デバイスに継続的に送信される。典型的には、再生デバイスは、メディアの次の部分の受信に先立って、再生デバイスが全てのバッファリングされたメディアの再生を完了することによる再生の途絶を防止するために、再生の間、任意の所与の時間において、十分な量のメディアをバッファ内に記憶する。適応型ビットレートストリーミングまたは適応型ストリーミングは、現在のストリーミング条件（例えば、再生デバイスのネットワーク帯域幅およびビデオデコーディング容量）をリアルタイムで検出し、適宜、ストリーミングされるメディアの質を調節することを伴う。典型的には、ソースメディアは、異なる最大ビットレートを有する別個のストリームとしてエンコードされ、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なるエンコーディングをストリーミングすることの間で切り替える。再生デバイスが、適応型ビットレートストリーミングを開始する場合、再生デバイスは、典型的には、初期の組のストリームからメディアの一部を要求することによって始動する。再生デバイスが、要求されたメディアをダウンロードするにつれて、再生デバイスは、利用可能な帯域幅を測定することができる。利用可能な帯域幅が、増加または減少する場合、再生デバイスは、より高いまたはより低いビットレートストリームに切り替えることができる。
【０００３】
適応型ストリーミングソリューションは、一般的には、ＲＦＣ２６１６として、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  ＦｏｒｃｅおよびＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって公開されたハイパーテキスト転送プロトコル（ＨＴＴＰ）を利用して、サーバと再生デバイスとの間でメディアをストリーミングする。ＨＴＴＰは、再生デバイスが、ファイル内のバイト範囲を要求することを可能にする、ステートレスプロトコルである。ＨＴＴＰは、サーバが、再生デバイスから受信された要求に応答するために、情報を要求する再生デバイスの状態または再生デバイスによって要求されたバイト範囲に関する情報を記録することが要求されないため、ステートレスとして説明される。
【０００４】
適応型ストリーミングシステムでは、ソースメディアは、一般的には、実際のビデオおよびオーディオデータを含む、いくつかの代替ストリームをポイントするトップレベルインデックスファイルとして、メディアサーバ上に記憶される。各ストリームは、一般的には、１つ以上のコンテナファイル内に記憶される。異なる適応型ストリーミングソリューションは、一般的には、異なるインデックスおよびメディアコンテナを利用する。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって開発された同期マルチメディア統合言語（ＳＭＩＬ）は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）によって開発されたＩＩＳスムーズストリーミング、およびＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（Ｓａｎ  Ｊｏｓｅ，Ｃａｌｉｆｏｒｎｉａ）によって開発されたフラッシュダイナミックストリーミングを含む、いくつかの適応型ストリーミングソリューションにおいて、インデックスを作成するために利用される。Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃｏｒｐｏｒａｔｅｄ（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によって開発されたＨＴＴＰ適応型ビットレートストリーミングは、一般的には、メディアコンテナファイルを識別する、ＵＲＩのリストを含むテキストファイルである、拡張Ｍ３Ｕ再生ファイル（．Ｍ３Ｕ８）を使用して、インデックスファイルを実装する。最も一般に使用されるメディアコンテナ形式は、ＭＰＥＧ−４  Ｐａｒｔ  １４（すなわち、ＩＳＯ／ＩＥＣ  １４４９６−１４）に指定されるＭＰ４コンテナ形式、およびＭＰＥＧ−２  Ｐａｒｔ  １（すなわち、ＩＳＯ／ＩＥＣ規格１３８１８−１）に指定されるＭＰＥＧトランスポートストリーム（ＴＳ）コンテナである。ＭＰ４コンテナ形式は、ＩＩＳスムーズストリーミングおよびフラッシュダイナミックストリーミングにおいて利用される。ＴＳコンテナは、ＨＴＴＰ適応型ビットレートストリーミングにおいて使用される。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の実施形態によるシステムおよび方法は、自動的に、適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルを生成する。本発明の方法の一実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別する、ことと、再生サーバを使用して、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して、少なくとも１つの所定の基準を使用して、アセットのリストをフィルタリングすることと、再生サーバを使用して、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用して、トップレベルインデックスファイルを再生デバイスに送信することとを含む。
【０００６】
本発明の方法のなおもさらなる追加の実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別する、ことと、再生サーバを使用して、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して、少なくとも１つの所定の基準を使用して、アセットのリストをフィルタリングすることと、再生サーバを使用して、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用して、トップレベルインデックスファイルを再生デバイスに送信することと、再生サーバを使用して、暗号情報を読み出すことであって、暗号情報は、トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、再生サーバを使用して、暗号情報を再生デバイスに提供することとを含む。
【０００７】
本発明のさらなる実施形態は、コンテンツの特定の断片に関連付けられたアセットの記述を記憶しているデータベースと、再生管理アプリケーションを使用して構成されているプロセッサとを含む。加えて、再生管理アプリケーションは、再生デバイスから、コンテンツの断片を識別する要求を受信し、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出し、少なくとも１つの所定の基準を使用して、アセットのリストをフィルタリングし、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成し、トップレベルインデックスファイルを再生デバイスに送信するようにプロセッサを構成する。
【０００８】
別のさらなる実施形態は、プロセッサ命令を含む機械読み取り可能なメディアを含み、プロセッサによる命令の実行は、コンテンツの断片を識別する要求を再生デバイスから受信することと、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、少なくとも１つの所定の基準を使用して、アセットのリストをフィルタリングすることと、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、トップレベルインデックスファイルを再生デバイスに送信することとを含むプロセスをプロセッサに行なわせる。
【０００９】
本発明の方法のさらに別の実施形態は、再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、再生デバイスを使用して、初期ストリームを選択することと、再生デバイスを使用して、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを含む。
【００１０】
本発明のさらなる実施形態は、再生デバイスの能力を記述する情報を含むメモリと、クライアントアプリケーションによって構成されるプロセッサとを含む。加えて、クライアントアプリケーションは、トップレベルインデックスファイルを再生サーバからの要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、初期ストリームを選択することと、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを行うようにプロセッサを構成する。
【００１１】
別のさらなる実施形態は、プロセッサ命令を含む機械読み取り可能なメディアを含み、プロセッサによる命令の実行は、トップレベルインデックスファイルを再生サーバから要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、初期ストリームを選択することと、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを含むプロセスをプロセッサに行なわせる。
例えば、本願発明は以下の項目を提供する。
（項目１）
トップレベルインデックスファイルを生成する方法であって、
再生デバイスからの要求を再生サーバで受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記再生サーバを使用して、前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
前記再生サーバを使用して、少なくとも１つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記再生サーバを使用して、前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を含む、方法。
（項目２）
前記再生デバイスからの要求はまた、前記再生デバイスの能力を記述する情報を含み、
前記再生サーバは、前記再生デバイスの能力に基づいて、前記アセットのリストをフィルタリングする、項目１に記載の方法。
（項目３）
前記再生デバイスの能力を記述する情報は、製品識別子であり、前記方法は、前記再生サーバを使用して、前記製品識別子に基づいて、少なくとも１つのデバイス能力を読み出すことをさらに含む、項目２に記載の方法。
（項目４）
前記デバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、デバイス解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも１つのデバイス能力である、項目２に記載の方法。
（項目５）
前記少なくとも１つの所定の基準は、前記再生デバイスが、有料コンテンツに関連付けられたアセットへのアクセスを有するかどうかを含む、項目１に記載の方法。
（項目６）
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含み、
前記少なくとも１つの所定の基準は、アセットが、前記要求によって示される前記地理的場所において再生されることを許可されるかどうかを含む、項目１に記載の方法。
（項目７）
前記少なくとも１つの所定の基準は、少なくとも１つの言語に基づいて、前記アセットをフィルタリングすることを含む、項目１に記載の方法。
（項目８）
前記再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持する、項目１に記載の方法。
（項目９）
前記トップレベルインデックスファイルは、ＳＭＩＬファイルである、項目１に記載の方法。
（項目１０）
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することは、各アセットに対するＵＲＩを含むＸＭＬストリングを生成することを含む、項目９に記載の方法。
（項目１１）
適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するＳＷＩＴＣＨ要素を含むＸＭＬストリングを生成することをさらに含む、項目１０に記載の方法。
（項目１２）
従来のストリーミングにおいて使用するための代替ストリームを記述するＥＸＣＬ要素を含むＸＭＬストリングを生成することをさらに含む、項目１０に記載の方法。
（項目１３）
前記ＵＲＩは、コンテナファイルを参照し、各アセットに対する前記ＸＭＬストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目１０に記載の方法。
（項目１４）
前記ＸＭＬストリングは、前記アセットのエンコーディングを識別する要素を含む、項目１０に記載の方法。
（項目１５）
ビデオアセットの前記ＸＭＬストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも１つの要素を含む、項目１０に記載の方法。
（項目１６）
コンテンツの再生を承認する方法であって、
再生デバイスからの要求を再生サーバで受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記再生サーバを使用して、前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
前記再生サーバを使用して、少なくとも１つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記再生サーバを使用して、前記トップレベルインデックスファイルを前記再生デバイスに送信することと、
前記再生サーバを使用して、暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、
前記再生サーバを使用して、前記暗号情報を前記再生デバイスに提供することと
を含む、方法。
（項目１７）
前記暗号情報は、再生デバイスからの前記コンテンツを再生するための要求に応答して、前記再生サーバによって読み出される、項目１６に記載の方法。
（項目１８）
前記暗号情報は、暗号情報のデータベースから、前記再生サーバによって読み出され、前記暗号情報は、前記再生デバイス上に記憶された暗号情報を使用して、前記再生デバイスが前記暗号情報にアクセスすることができるように暗号化されている、項目１６に記載の方法。
（項目１９）
前記暗号情報は、デジタル著作権管理サーバから、前記再生サーバによって読み出される、項目１６に記載の方法。
（項目２０）
ユーザがコンテンツを現在再生しているデバイス数が、所定の並行処理限界より少ないことを確認することをさらに含む、項目１６に記載の方法。
（項目２１）
前記再生デバイスからの再生イベント報告を前記再生サーバで受信することをさらに含む、項目１６に記載の方法。
（項目２２）
前記再生イベント報告に応答して、前記再生サーバを使用して、コマンドを前記再生デバイスに提供することをさらに含む、項目２１に記載の方法。
（項目２３）
前記再生イベント報告は、再生場所を含む、項目２２に記載の方法。
（項目２４）
前記再生イベント報告内に示される再生場所で再生を再開するためのコマンドを第２の再生デバイスに送信することをさらに含む、項目２３に記載の方法。
（項目２５）
前記再生サーバを使用して、再生を停止するためのコマンドを前記再生イベント報告を生成した再生デバイスに送信することをさらに含む、項目２４に記載の方法。
（項目２６）
再生サーバであって、
コンテンツの特定の断片に関連付けられたアセットの記述を記憶しているデータベースと、
再生管理アプリケーションを使用して構成されているプロセッサと
を備え、前記再生管理アプリケーションは、
再生デバイスから、コンテンツの断片を識別する要求を受信することと、
前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
少なくとも１つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を行うように前記プロセッサを構成する、再生サーバ。
（項目２７）
前記再生デバイスからの要求はまた、前記再生デバイスの能力を記述する情報を含み、
前記再生管理アプリケーションは、前記再生デバイスの能力に基づいて、前記アセットのリストをフィルタリングするように前記プロセッサを構成する、項目２６に記載の再生サーバ。
（項目２８）
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記再生管理アプリケーションは、前記製品識別子に基づいて、少なくとも１つのデバイス能力を読み出すように前記プロセッサをさらに構成する、項目２７に記載の再生サーバ。
（項目２９）
前記デバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも１つのデバイス能力である、項目２７に記載の再生サーバ。
（項目３０）
前記少なくとも１つの所定の基準は、前記再生デバイスが、有料コンテンツに関連付けられたアセットへのアクセスを有するかどうかを含む、項目２６に記載の再生サーバ。
（項目３１）
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含み、
前記少なくとも１つの所定の基準は、アセットが、前記要求によって示される前記地理的場所において再生されることを許可されるかどうかを含む、項目２６に記載の再生サーバ。
（項目３２）
前記少なくとも１つの所定の基準は、１つ以上の言語に基づいて、前記アセットをフィルタリングすることを含む、項目２６に記載の再生サーバ。
（項目３３）
前記再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持する、項目２６に記載の再生サーバ。
（項目３４）
前記トップレベルインデックスファイルは、ＳＭＩＬファイルである、項目２６に記載の再生サーバ。
（項目３５）
前記再生管理アプリケーションは、各アセットに対するＵＲＩを含むＸＭＬストリングを生成するように前記プロセッサを構成することによって、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成するように前記プロセッサを構成する、項目３４に記載の再生サーバ。
（項目３６）
前記再生管理アプリケーションは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するＳＷＩＴＣＨ要素を含むＸＭＬストリングを生成するように前記プロセッサをさらに構成する、項目３５に記載の再生サーバ。
（項目３７）
前記再生管理アプリケーションは、従来のストリーミングにおいて使用するための代替ストリームを記述するＥＸＣＬ要素を含むＸＭＬストリングを生成するように前記プロセッサをさらに構成する、項目３５に記載の再生サーバ。
（項目３８）
前記ＵＲＩは、コンテナファイルを参照し、各アセットに対する前記ＸＭＬストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目３５に記載の再生サーバ。
（項目３９）
前記ＸＭＬストリングは、前記アセットのエンコーディングを識別する要素を含む、項目３５に記載の再生サーバ。
（項目４０）
ビデオアセットの前記ＸＭＬストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも１つの要素を含む、項目３５に記載の再生サーバ。
（項目４１）
前記再生管理アプリケーションは、
暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、
前記暗号情報を前記再生デバイスに提供することと
を行うように前記プロセッサをさらに構成する、項目２６に記載の再生サーバ。
（項目４２）
前記再生管理アプリケーションは、再生デバイスからの前記コンテンツを再生するための要求に応答して、前記暗号情報を読み出すように前記プロセッサを構成する、項目４１に記載の再生サーバ。
（項目４３）
前記再生管理アプリケーションは、暗号情報のデータベースから、前記暗号情報を読み出すことと、
前記再生デバイスが、前記再生デバイス上に記憶された暗号情報を使用して、プレーンテキストで前記読み出された暗号情報にアクセスすることができるように、前記読み出された暗号情報を暗号化することと
を行うように前記プロセッサを構成する、項目４１に記載の再生サーバ。
（項目４４）
前記再生管理アプリケーションは、前記暗号情報をデジタル著作権管理サーバから読み出すように前記プロセッサを構成する、項目４１に記載の再生サーバ。
（項目４５）
前記再生管理アプリケーションは、ユーザがコンテンツを再生しているデバイスの数が、所定の並行処理限界より少ないことを確認するように前記プロセッサを構成する、項目４１に記載の再生サーバ。
（項目４６）
前記再生管理アプリケーションは、再生イベント報告を前記再生デバイスから受信するように前記プロセッサを構成する、項目４１に記載の再生サーバ。
（項目４７）
前記再生管理アプリケーションは、前記再生イベント報告に応答して、コマンドを前記再生デバイスに提供するように前記プロセッサを構成する、項目４６に記載の再生サーバ。
（項目４８）
前記再生イベント報告は、再生場所を含む、項目４７に記載の再生サーバ。
（項目４９）
前記再生管理アプリケーションは、前記再生イベント報告内に示される再生場所で再生を再開するためのコマンドを第２の再生デバイスに送信するように前記プロセッサをさらに構成する、項目４８に記載の再生サーバ。
（項目５０）
前記再生管理アプリケーションは、前記再生サーバを使用して、再生を停止するためのコマンドを前記再生イベント報告を生成した再生デバイスに送信するように前記プロセッサをさらに構成する、項目４９に記載の再生サーバ。
（項目５１）
プロセッサ命令を含む機械読み取り可能なメディアであって、プロセッサによる前記命令の実行は、
再生デバイスからの要求を受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
少なくとも１つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を含むプロセスを前記プロセッサに行なわせる、機械読み取り可能なメディア。
（項目５２）
前記プロセッサによる前記命令の実行は、
暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述された保護されたストリームにアクセスするために使用される、ことと、
前記暗号情報を前記再生デバイスに提供することと
をさらに含むプロセスを前記プロセッサに行なわせる、項目５１に記載の機械読み取り可能なメディア。
（項目５３）
コンテンツの断片をストリーミングする方法であって、
再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
前記再生デバイスを使用して、トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
前記再生デバイスを使用して、初期ストリームを選択することと、
前記再生デバイスを使用して、前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと、
を含む、方法。
（項目５４）
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記製品識別子は、少なくとも１つのデバイス能力に関連付けられている、項目５３に記載の方法。
（項目５５）
前記製品識別子に関連付けられた前記少なくとも１つのデバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも１つのデバイス能力である、項目５４に記載の方法。
（項目５６）
前記トップレベルインデックスファイルは、前記再生デバイスが再生可能なストリームの記述のみを含む、項目５３に記載の方法。
（項目５７）
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含む、項目５３に記載の方法。
（項目５８）
前記トップレベルインデックスファイルは、ＳＭＩＬファイルである、項目５３に記載の方法。
（項目５９）
前記トップレベルインデックスファイルは、前記ストリームの場所を識別するＵＲＩを含むＸＭＬストリングを使用して、各ストリームを記述する、項目５８に記載の方法。
（項目６０）
前記トップレベルインデックスファイルは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するＳＷＩＴＣＨ要素を含む少なくとも１つのＸＭＬストリングを含む、項目５９に記載の方法。
（項目６１）
前記トップレベルインデックスファイルは、従来のストリーミングにおいて使用するための代替ストリームを記述するＥＸＣＬ要素を含むＸＭＬストリングを含む、項目５９に記載の方法。
（項目６２）
前記ＵＲＩは、コンテナファイルを参照し、各ストリームに対する前記ＸＭＬストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目５９に記載の方法。
（項目６３）
前記ＸＭＬストリングは、前記ストリームのエンコーディングを識別する要素を含む、項目５９に記載の方法。
（項目６４）
ビデオストリームの前記ＸＭＬストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも１つの要素を含む、項目５９に記載の方法。
（項目６５）
前記再生デバイスを使用して、前記トップレベルインデックスファイル内で識別された少なくとも１つの保護されたストリームにアクセスするための暗号情報を要求することと、
前記暗号情報を前記再生デバイスで受信することと、
前記暗号情報を使用して、前記トップレベルインデックスファイル内で識別された保護ストリームからダウンロードされたコンテンツにアクセスすることと
をさらに含む、項目５３に記載の方法。
（項目６６）
前記暗号情報は、前記再生デバイスが、前記再生デバイス上に記憶された暗号化情報を使用して、前記暗号情報にアクセスすることができるように暗号化されている、項目６５に記載の方法。
（項目６７）
前記暗号情報は、再生サーバから要求される、項目６５に記載の方法。
（項目６８）
前記暗号情報は、デジタル著作権管理サーバから要求される、項目６５に記載の方法。
（項目６９）
前記再生デバイスを使用して、再生イベント報告を生成することをさらに含む、項目６３に記載の方法。
（項目７０）
前記再生イベント報告は、再生場所を含む、項目６９に記載の方法。
（項目７１）
前記再生イベント報告に応答して、再生サーバからのコマンドを前記再生デバイスで受信することをさらに含む、項目６９に記載の方法。
（項目７２）
前記コマンドは、再生を停止するためのコマンドである、項目７１に記載の方法。
（項目７３）
特定の再生場所において再生を再開するためのコマンドを再生サーバから受信することをさらに含む、項目５３に記載の方法。
（項目７４）
再生デバイスであって、
前記再生デバイスの能力を記述する情報を含むメモリと、
クライアントアプリケーションによって構成されているプロセッサと
を備え、前記クライアントアプリケーションは、
トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
初期ストリームを選択することと、
前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと
を行うように前記プロセッサを構成する、再生デバイス。
（項目７５）
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記製品識別子は、少なくとも１つのデバイス能力に関連付けられている、項目７４に記載の再生デバイス。
（項目７６）
前記製品識別子に関連付けられた前記少なくとも１つのデバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも１つのデバイス能力である、項目７５に記載の再生デバイス。
（項目７７）
前記トップレベルインデックスファイルは、前記再生デバイスが再生可能なストリームの記述のみを含む、項目７４に記載の再生デバイス。
（項目７８）
前記要求はまた、前記再生デバイスの地理的場所を示す情報を含む、項目７４に記載の再生デバイス。
（項目７９）
前記トップレベルインデックスファイルは、ＳＭＩＬファイルである、項目７４に記載の再生デバイス。
（項目８０）
前記トップレベルインデックスファイルは、前記ストリームの場所を識別するＵＲＩを含むＸＭＬストリングを使用して、各ストリームを記述する、項目７９に記載の再生デバイス。
（項目８１）
前記トップレベルインデックスファイルは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するＳＷＩＴＣＨ要素を含む少なくとも１つのＸＭＬストリングを含む、項目８０に記載の再生デバイス。
（項目８２）
前記トップレベルインデックスファイルは、従来のストリーミングにおいて使用するための代替ストリームを記述するＥＸＣＬ要素を含むＸＭＬストリングを含む、項目８０に記載の再生デバイス。
（項目８３）
前記ＵＲＩは、コンテナファイルを参照し、各ストリームに対する前記ＸＭＬストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目８０に記載の再生デバイス。
（項目８４）
前記ＸＭＬストリングは、前記ストリームのエンコーディングを識別する要素を含む、項目８０に記載の再生デバイス。
（項目８５）
ビデオストリームの前記ＸＭＬストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも１つの要素を含む、項目８０に記載の再生デバイス。
（項目８６）
前記クライアントアプリケーションは、
前記トップレベルインデックスファイル内で識別された少なくとも１つの保護されたストリームにアクセスするための暗号情報を要求することと、
前記暗号情報を受信することと、
前記暗号情報を使用して、前記トップレベルインデックスファイル内で識別された保護ストリームからダウンロードされたコンテンツにアクセスすることと
を行うように前記プロセッサをさらに構成する、項目７４に記載の再生デバイス。
（項目８７）
前記メモリはまた、デバイス暗号情報を含み、
前記受信された暗号情報は、前記プロセッサが、前記デバイス暗号情報を使用して、前記暗号情報にアクセスすることができるように暗号化されている、項目８６に記載の再生デバイス。
（項目８８）
前記クライアントアプリケーションは、前記暗号情報を前記再生サーバから要求するように前記プロセッサを構成する、項目８６に記載の再生デバイス。
（項目８９）
前記クライアントアプリケーションは、前記暗号情報をデジタル著作権管理サーバから要求するように前記プロセッサを構成する、項目８６に記載の再生デバイス。
（項目９０）
前記クライアントアプリケーションは、再生イベント報告を生成するように前記プロセッサをさらに構成する、項目７４に記載の再生デバイス。
（項目９１）
前記再生イベント報告は、再生場所を含む、項目９０に記載の再生デバイス。
（項目９２）
前記クライアントアプリケーションは、前記再生イベント報告に応答して、コマンドを再生サーバから受信するように前記プロセッサをさらに構成する、項目９０に記載の再生デバイス。
（項目９３）
前記コマンドは、再生を停止するためのコマンドである、項目９２に記載の再生デバイス。
（項目９４）
前記クライアントアプリケーションは、特定の再生場所において再生を再開するためのコマンドを再生サーバから受信するように前記プロセッサをさらに構成する、項目７４に記載の再生デバイス。
（項目９５）
プロセッサ命令を含む機械読み取り可能なメディアであって、プロセッサによる前記命令の実行は、
トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
初期ストリームを選択することと、
前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと
を含むプロセスを前記プロセッサに行なわせる、機械読み取り可能なメディア。
（項目９６）
前記機械読み取り可能なメディアは、不揮発性メモリである、項目９５に記載の機械読み取り可能なメディア。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明のある実施形態による、再生サーバを含む、ストリーミングシステムのネットワーク図である。
【図２】図２は、本発明のある実施形態による、再生デバイスのシステム図である。
【図３】図３は、本発明のある実施形態による、トップレベルインデックスファイルおよび暗号情報を再生サーバから取得し、コンテンツをコンテンツ配信ネットワークからストリームするためのプロセスを図示する、流れ図である。
【図４】図４は、本発明のある実施形態による、トップレベルインデックスファイルを自動的に生成するためのプロセスを図示する、流れ図である。
【図５】図５は、本発明のある実施形態による、自動的に生成されたトップレベルインデックスファイル内に含むためのストリームのリストを生成するためのプロセスを図示する、流れ図である。
【図６】図６は、本発明のある実施形態による、トップレベルインデックスを含むＳＭＩＬファイルを生成するためのプロセスを図示する、流れ図である。
【図７】図７は、本発明のある実施形態による、暗号情報を再生デバイスに提供するためのプロセスを図示する、流れ図である。
【図８】図８は、本発明のある実施形態による、再生デバイスから受信された再生イベントを取り扱うためのプロセスを図示する、流れ図である。
【図９】図９は、本発明のある実施形態による、自動的に生成されたトップレベルインデックスファイルを利用する、適応型ビットレートストリーミングプロセスの間の再生デバイスと再生サーバとコンテンツ配信ネットワークとの間の通信を図示する、タイミング図である。
【発明を実施するための形態】
【００１３】
次に、図面を参照すると、本発明の実施形態による適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルを自動的に生成するためのシステムおよび方法が、図示される。トップレベルインデックスは、コンテナファイルの場所およびコンテンツを記述するファイルであり、コンテナファイルは、コンテンツをストリームおよび再生するために、再生デバイスによって利用されることができる、メディア（例えば、オーディオ、ビデオ、メタデータ、および字幕）のストリームを含む。適応型ビットレートストリーミングシステムでは、トップレベルインデックスファイルは、典型的には、再生デバイスがその間を切り替えることができる、代替ストリームを参照する。多くの実施形態では、トップレベルインデックスファイルは、再生デバイスからの要求に応答して生成される。いくつかの実施形態では、トップレベルインデックスファイルを生成するプロセスは、コンテンツの特定の断片に関連付けられたストリームを含むアセットまたはコンテナファイルの全てを決定し、次いで、１つ以上の所定の基準に基づいて、アセットをフィルタリングすることを伴う。いくつかの実施形態では、アセットは、（限定されないが）コンテンツ所有者によって定義されたビジネスルール、デバイス能力、および／またはユーザアカウントに関連付けられた情報を含む所定の基準に基づいてフィルタリングされる。多くの実施形態では、生成されるトップレベルビデオファイルは、ＳＭＩＬファイルである。他の実施形態では、種々のファイル形式の任意のものが、利用され、本発明の実施形態による、トップレベルインデックスファイルを生成することができる。
【００１４】
いくつかの実施形態では、再生サーバは、再生デバイスからの要求に応じて、トップレベルインデックスファイルを自動的に生成し、再生サーバはまた、再生デバイスに暗号情報を提供し、コンテンツの保護されたストリームの再生を有効にすることができる。いくつかの実施形態では、再生デバイスは、再生イベント報告を再生サーバに提供し、再生サーバは、再生デバイスによって再生されているストリームの再生場所を追跡することができる。再生場所は、ユーザが、異なる再生デバイス上において、視聴しているコンテンツ間をシフトすることを有効にするために利用されることができる。ユーザは、第１のデバイス上で再生を開始し、次いで、第２のデバイス上での再生を要求することができる。再生サーバが、再生要求を第２の再生デバイスから受信すると、再生サーバは、第１の再生デバイス上での再生を一時停止し、第１の再生デバイスによって報告された最後の再生場所において再生を開始するための命令を第２の再生デバイスに提供することができる。本発明の実施形態による、再生デバイス、再生サーバ、および再生デバイスからの要求に応答して、トップレベルインデックスファイルを自動的に生成するためのプロセスは、以下にさらに論じられる。
【００１５】
（ストリーミングシステムアーキテクチャ）
本発明の多くの実施形態による、適応型ビットレートストリーミングシステムは、再生デバイスからの要求に応答して、トップレベルインデックスファイルを自動的に生成する再生サーバを含む。本発明のある実施形態による、ストリーミングシステムは、図１に図示される。ストリーミングシステム１０は、インターネット等のネットワーク１６を介して、コンテンツ配信ネットワーク（ＣＤＮ）１４内の遠隔サーバから、コンテンツのストリーミングを要求するように構成される、いくつかの再生デバイス１２を含む。ストリームコンテンツをストリームするために、再生デバイスは、利用可能なアセット（すなわち、特定のタイトルに関連付けられたコンテンツのストリームを含むコンテナファイル）のデータベース２０および一組の所定のフィルタまたは基準を使用して、再生サーバ１８によって自動的に生成されるトップレベルインデックスファイルを取得する。
【００１６】
適応型ビットレートストリーミングを行なうために、再生デバイス１２は、トップレベルインデックスファイル内に記述される異なる代替ストリームから、コンテンツを選択する。代替ストリームは、同一のメディアコンテンツを異なる方法でエンコードする、ストリームである。多くの事例では、代替ストリームは、異なる最大ビットレートでメディアコンテンツ（限定されないが、ビデオ等）をエンコードする。いくつかの実施形態では、代替ストリームは、異なる解像度および／または異なるフレームレートでエンコードされる。多くの実施形態では、再生サーバ１８によって生成されたトップレベルインデックスファイルは、少なくとも、代替ストリームの各々の最大ビットレートを記述する。再生デバイスは、従来のストリーミングのための１つ以上のストリームを選択することができるか、または適応型ビットレートストリーミングを行なうために、代替ストリーム間を切り替えることができる。
【００１７】
いくつかの実施形態では、再生デバイス１２は、１つ以上のオンラインコンテンツストア２２を介して、ストリーミングするためのコンテンツを購入可能である。多くの事例では、再生デバイスは、オンラインコンテンツストアを介して、コンテンツを購入して、電子トークンまたはチケットを受信し、再生デバイスは、該電子トークンまたはチケットを再生サーバ１８に提供し、購入されたコンテンツへのアクセスを取得することができる。再生サーバ１８が、チケットを受信すると、再生サーバは、データベース２０内に記憶された情報を使用して、再生デバイスのためのトップレベルインデックスファイルを自動的に生成する。再生サーバは、典型的には、再生管理アプリケーションを使用して、再生サーバがデータベース２０にアクセスすることができるように構成される、従来のサーバシステムである。いくつかの実施形態では、再生デバイス１２は、その再生能力に関する情報を再生サーバ１８に提供し、サーバは、デバイス能力に基づいて、購入されたコンテンツの断片に関連付けられたアセットをフィルタリングすることによって、トップレベルインデックスファイルを自動的に生成する。そのような能力として、再生能力、表示縦横比、および／または予期される最大ネットワーク接続データレートが挙げられるが、それらに限定されない。いくつかの実施形態では、特定の再生デバイス１２の能力は、製品識別子または製品ＩＤの形態において、再生サーバ１８に通信される。再生サーバ１８は、製品ＩＤおよび関連付けられたデバイス能力のデータベースを維持することができ、トップレベルインデックスファイルを生成する場合、再生デバイスによって提供される製品ＩＤを利用して、関連付けられたデバイス能力を読み出し、フィルタを利用可能なアセットのリストに適用することができる。製品ＩＤを割り当て、それらを製品ＩＤが割り当てられるデバイスの能力に関する情報に関連付けるためのシステムおよび方法は、２０１１年１２月２９日出願のＧｒａｂ、他の米国仮特許出願第６１／５８１，５９８号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｉｄｅｎｔｉｆｙｉｎｇ  Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｄｕｃｔｓ  Ｕｓｉｎｇ  ａ  Ｐｌａｙｂａｃｋ  Ｄｅｖｉｃｅ  ｗｉｔｈ  ａ  Ｐｒｏｄｕｃｔ  Ｉｄｅｎｔｉｆｉｅｒ」に説明されている。米国仮特許出願第６１／５８１，５９８号の開示は、参照することによって、全体として本明細書に組み込まれる。本発明の実施形態による再生サーバによって適用され得る、他のフィルタとして、（限定ではないが）再生デバイスの場所（すなわち、国／地域）、および特定のユーザに関連付けられた言語に基づくフィルタが挙げられる。本発明の実施形態によるトップレベルインデックスファイルを生成するために適用され得る、種々のフィルタは、以下にさらに論じられる。
【００１８】
再生サーバ１８が、再生要求を受信すると、再生サーバは、コンテンツの保護されたストリームを再生することを必要とされる暗号化情報を読み出す。再生デバイスは、次いで、コンテンツ配信ネットワーク１４内の１つ以上のサーバから、コンテンツのストリームを含むコンテナファイルの一部を要求することができ、暗号情報を使用して、保護されたコンテンツにアクセスすることができる。適応型ビットレートストリーミングにおいて使用される保護されたストリームのデジタル著作権管理のためのシステムおよび方法は、２０１１年１２月２９日出願のＫｉｅｆｅｒ、他の米国特許出願第１３／３４０，６３２号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｂａｃｋ  Ａｌｔｅｒｎａｔｉｖｅ  Ｓｔｒｅａｍｓ  ｏｆ  Ｐｒｏｔｅｃｔｅｄ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｅｄ  Ｕｓｉｎｇ  Ｃｏｍｍｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ」に説明されている。米国特許出願第１３／３４０，６３２号の開示は、参照することによって、全体として本明細書に組み込まれる。
【００１９】
再生の間、再生デバイス１２は、再生イベント報告を再生サーバ１８に提供することができる。再生イベント報告は、（限定されないが）再生デバイスがデータを要求している現在のストリームと、再生デバイスの現在の再生場所とを含む、情報を含むことができる。多くの実施形態では、再生サーバ１８は、再生デバイスに、再生を継続または再生を中止するように指示することによって、再生イベント報告に応答する。いくつかの実施形態では、再生サーバは、再生デバイスに関する並行処理限界を設ける。並行処理限界という用語は、適応型ビットレートストリーミングシステムの文脈では、特定のユーザアカウントに関連付けられたコンテンツを同時に再生することができる、再生デバイスの数を説明するものである。並行処理限界を超えると、再生サーバ１８は、再生を中止するように指示する命令を再生デバイス１２に送信することができる。いくつかの実施形態では、再生イベント報告内に提供される再生場所情報は、ユーザが、第１のデバイス上でのコンテンツの再生から、第２のデバイス上でのコンテンツの再生に切り替えることを有効にするために利用されることができ、第２のデバイスは、自動的に、第１の再生デバイスの最後の再生場所からコンテンツ再生を再開するであろう。加えて、第１の再生デバイス上で再生を一時停止するユーザは、後に、同一の再生デバイスまたは第２の再生デバイス上で再生を再開することができる。
【００２０】
特定のストリーミングシステムが、図１に図示されるが、トップレベルインデックスファイルを自動的に生成する再生サーバは、本発明の実施形態による種々のストリーミングシステムアーキテクチャの任意のものに組み込まれることができる。本発明の実施形態による、ストリーミングセッションの間、ネットワーク帯域幅測定を行なうために利用されることができる、再生デバイスは、以下にさらに論じられる。
【００２１】
（再生デバイス）
図１に図示される実施形態では、再生デバイスは、パーソナルコンピュータ、ＣＥプレーヤ、および携帯電話を含む。他の実施形態では、再生デバイスは、消費者電子機器デバイス、例えば、ＤＶＤプレーヤ、Ｂｌｕ−ｒａｙ（登録商標）プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、およびサーバに接続し、エンコードされたメディアを再生可能である、他のデバイスを含むことができる。本発明のある実施形態による、再生デバイスの基本アーキテクチャは、図２に図示される。再生デバイス３０は、不揮発性メモリ３４および揮発性メモリ３６と通信する、プロセッサ３２を含む。図示される実施形態では、不揮発性メモリは、遠隔サーバからコンテンツをストリームするように、プロセッサおよび再生デバイスを構成する、クライアントアプリケーション３８を含む。不揮発性メモリ３４はまた、暗号化されたコンテンツにアクセスする際に利用されることができるデバイス暗号データ３９と、再生デバイスの能力を識別するために利用されることができる製品ＩＤ４０とを含む。
【００２２】
動作の間、クライアントアプリケーション３８は、コンテンツストアからコンテンツを購入し、トップレベルインデックスファイル４２を再生サーバから要求するように、再生デバイスを構成することができる。前述のように、トップレベルインデックスファイルの要求は、トップレベルインデックスファイル内に記述されるアセットをフィルタリングするために使用され得る、再生デバイスの製品ＩＤ４０を含むことができる。トップレベルインデックスファイル４２が、再生サーバから受信されると、クライアントアプリケーション３８は、トップレベルインデックスファイル４２をメモリ３６内に記憶し、コンテンツを再生するためのユーザ命令に応答して、再生サーバ（または、別個のＤＲＭサーバ）から、要求されたストリームを再生するためのコンテンツ暗号情報４４を要求するように、再生デバイスを構成する。再生サーバから受信されたコンテンツ暗号情報４４はまた、メモリ３６内に記憶されることができる。クライアントアプリケーション３８は、次いで、コンテンツ配信ネットワーク内のサーバから、コンテンツを含むコンテナファイルの一部を要求することによって、コンテンツを再生するように、再生デバイス３０を構成することができる。クライアントアプリケーション３８によって選択される特定のコンテナファイルは、トップレベルインデックスファイル４２内のクライアントアプリケーションに利用可能な情報に基づいて、決定されることができる。再生デバイスが、コンテナファイルの要求された一部を受信すると、クライアントアプリケーション３８は、コンテンツ暗号情報４４を使用して、コンテナファイルの要求された一部内の保護されたコンテンツにアクセスすることができる。クライアントアプリケーションは、要求を継続し、再生を一時停止するユーザ命令が受信されるまで、または再生が完了するまで、優勢であるストリーミング条件に応じて、コンテンツを異なるコンテナファイルから再生することができる。
【００２３】
特定の再生デバイスアーキテクチャが、図２に図示されるが、クライアントアプリケーションが、ディスクまたはいくつかの他の形態の記憶上に位置し、ランタイム時、揮発性メモリにロードされるアーキテクチャを含む、種々のアーキテクチャの任意のものが、本発明の実施形態による、適応型ビットレートストリーミングシステムにおいて使用するための再生デバイスを実装するために利用されることができる。さらに、（限定ではないが）図１に図示されるシステムアーキテクチャを含む、種々のシステムアーキテクチャの任意のものが、本発明の実施形態による、再生デバイスからの要求に応答して自動的に生成される、トップレベルインデックスファイルを使用して、適応型ビットレートストリーミングを行なうために利用されることができる。
【００２４】
（コンテンツ再生）
本発明のある実施形態による、再生デバイスからの要求に応答して生成されたトップレベルインデックスファイルを使用して、コンテンツを再生するためのプロセスは、図３に図示される。プロセス５０は、コンテンツの購入（５２）を含む。購入は、再生デバイスを使用して行なわれることができるか、または別のデバイスを使用して行なわれることができる。多くの実施形態では、購入は、コンテンツへのアクセスを取得するために利用されることができる、電子チケットまたはトークンを提供する、オンラインコンテンツストアを介して行なわれる。コンテンツにアクセスするために、再生デバイスは、再生サーバから、特定の再生デバイスのためにカスタマイズされたトップレベルインデックスファイルの生成を要求する。多くの実施形態では、トップレベルインデックスファイルは、再生サーバが、全ての利用可能なアセットをフィルタリングし、再生デバイスによる再生に利用可能および／または最も好適であるアセットを記述する、トップレベルインデックスファイルを生成するという点において、カスタマイズされる。カスタムトップレベルインデックスファイルが、読み出される（５４）と、再生デバイスは、トップレベルインデックスファイル内で識別された保護されたストリームの再生を有効にする、暗号情報を取得する（５６）。多くの実施形態では、再生デバイスは、再生要求がユーザから受信されるまで待機し、次いで、暗号情報を再生サーバから要求する。
【００２５】
再生デバイスが、トップレベルインデックスファイルおよび任意の必要暗号情報を保有すると、再生デバイスは、エンコードされたメディアを含む１つ以上のコンテナファイルの一部を要求することによって、コンテンツのストリーミング（５８）を開始することができる。種々のプロセスの任意のものが、初期ストリームを選択するために利用されることができ、該プロセスは、（限定されないが）最低ビットレートストリームを選択すること、２０１１年９月３０日出願のｖａｎ  ｄｅｒ  Ｓｃｈａａｒ  ｅｔ  ａｌ．の米国特許出願第１３／２５１，０６１号「Ｓｙｓｔｅｍｓ  ａｎｄＭｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ａｖａｉｌａｂｌｅ  Ｂａｎｄｗｉｄｔｈ  ａｎｄ  Ｐｅｒｆｏｒｍｉｎｇ  Ｉｎｉｔｉａｌ  Ｓｔｒｅａｍ  Ｓｌｅｃｔｉｏｎ  Ｗｈｅｎ  Ｃｏｍｍｅｎｃｉｎｇ  Ｓｔｒｅａｍｉｎｇ  Ｕｓｉｎｇ  Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ」に開示される様式に類似する様式において、帯域幅プローブを行なうこと、または別の技法を使用して、利用可能な帯域幅を推定することを含む。米国特許出願第１３／２５１，０６１号の開示は、参照することによって、全体として本明細書に組み込まれる。
【００２６】
再生が開始すると（６０）、適応型ビットレートストリーミングが、行なわれることができる。再生の間、再生イベント報告が、再生サーバに提供され、周期的に、または（限定されないが）再生デバイスによって受信されたユーザ命令を含む、種々のイベントに応答して、再生デバイスの再生ステータスに関する情報が提供されることができる。再生イベント報告が、再生サーバに提供されると、再生サーバは、再生イベント命令を再生デバイスに提供することができる。図示される実施形態では、再生を継続するための「再生」命令および再生を中止するための「停止」命令を含む、再生イベント命令が、再生デバイスによって受信されることができる（６２）。以下にさらに論じられるように、再生サーバが、再生デバイス上で再生を停止するための能力は、再生デバイスが、ユーザに関連付けられた複数の再生デバイスにわたって、並行処理要件を設けることを有効にする。再生イベント報告およびイベント再生命令の組み合わせはまた、再生サーバによって利用され、第２の再生デバイスが、第１の再生デバイスによって報告された最後の再生場所からコンテンツの再生を再開することを有効にすることができる。このように、ユーザは、再生を継続する場所を模索する必要性を伴わずに、再生デバイス間をシームレスに移行することができる。
【００２７】
特定のプロセスが、図３に図示されるが、種々のプロセスの任意のものが、本発明の実施形態による、カスタマイズされたトップレベルインデックスファイルを要求し、コンテンツを再生するために要求されることができる。本発明の実施形態による、インデックスファイルを自動的に生成するための再生サーバおよびプロセスは。
【００２８】
（トップレベルインデックスの自動生成）
本発明の実施形態による再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持し、再生管理アプリケーションによって、アセットに関する情報を読み出し、フィルタリングし、特定の再生デバイスのためのトップレベルインデックスファイルを自動的に生成するように構成されることができる。再生サーバによって維持されるデータベースは、アセットを含むファイル名と、アセットが位置するコンテンツ配信ネットワークとをリスト化することができる。アセットが、ビデオストリームである場合、データベースは、（限定されないが）ビデオストリームに関連付けられた言語、ビデオストリームがエンコードされる最大ビットレート、ビデオストリームのフレームレート、解像度、および／またはビデオストリームのサンプル縦横比を含む、ビデオストリームの特性を記述することができる。アセットが、オーディオストリームである場合、データベースは、（限定されないが）オーディオストリームの言語、オーディオストリームのエンコーディング、およびオーディオストリームの帯域幅要件を含む、オーディオストリームの特性を記述することができる。アセットが、字幕ストリームである場合、データベースは、（限定されないが）字幕ストリームの言語、字幕ストリームのエンコーディング、および字幕ストリームの帯域幅要件を含む、字幕ストリームの特性を記述することができる。アセットに関する情報の維持に加え、再生デバイスは、再生デバイスの再生能力に関する情報を維持することができる。いくつかの実施形態では、異なる再生デバイスの再生能力に関する情報は、製品ＩＤを使用してインデックス化される。多くの実施形態では、再生デバイスはまた、（限定されないが）再生デバイスのタイプ、再生デバイスの再生能力、再生デバイスの場所（例えば、国／地域）、および／または要求される言語を含む、基準に基づいて、異なるアセットの使用を調整するルールに関する情報を維持する。情報の特定の断片は、再生サーバによって維持されるデータベース内に関連付けられるように前述されるが、情報の種々の断片の任意のものが、種々のデータ構造の任意のもの内に維持され、本発明のある実施形態による、再生サーバによるトップレベルインデックスファイルの生成を有効にすることができる。以下にさらに論じられるように、再生サーバによって維持される情報は、再生デバイスからのトップレベルインデックスファイルのための要求に応答して、リアルタイムでフィルタリングされ、再生デバイスが再生を許可されるアセットへのリンクのみ含む、トップレベルインデックスファイルを生成することができる。
【００２９】
本発明のある実施形態による、再生サーバによって維持されるコンテンツの特定の断片に関連付けられたアセットに関する情報を使用して、トップレベルインデックスファイルを生成するためのプロセスは、図４に図示される。図示される実施形態では、プロセス７０は、再生サーバが、特定の再生デバイスから、コンテンツの特定の断片に関するトップレベルインデックスファイルの要求を受信すると（７２）、開始する。前述のように、要求は、（限定されないが）再生デバイスの再生能力、再生デバイスが登録されるユーザアカウント、および再生デバイスの地理的場所を示す情報（例えば、再生デバイスのＩ．Ｐ．アドレス）を含む、再生デバイスを記述する情報を含むことができる。多くの実施形態では、再生デバイスの能力は、再生サーバにアクセス可能なデータベース内の特定の再生能力に関連付けられる、製品ＩＤを使用して識別される。
【００３０】
再生サーバは、要求されたコンテンツの断片に関連付けられたアセットを読み出す（７４）。再生サーバは、再生デバイスの能力に関連付けられた１つ以上のフィルタ、ユーザの選好、およびコンテンツ所有者の要件に基づいて、アセットをフィルタリングする（７６）。故に、異なるトップレベルインデックスファイルが、（限定されないが）デバイス間の再生能力の差異、地理的場所の差異、および／または再生デバイスに関連付けられた言語選好の差異を含む、要因に基づいて、同一のコンテンツに関して生成されることができる。本発明のある実施形態による、コンテンツの特定の断片に関連付けられたアセットを読み出し、フィルタリングするためのプロセスは、以下にさらに論じられる。フィルタリング後、残っているアセットは、トップレベルインデックスファイルを生成する（７８）ために利用されることができ、トップレベルインデックスファイルは、再生デバイスに提供されることができる（８０）。いくつかの実施形態では、トップレベルインデックスファイルは、セキュア・ソケット・レイヤー（ＳＳＬ）通信または同等のセキュアな通信プロトコルを含むが、それらに限定されない、セキュアな通信技法を使用して、セキュアに自動生成される。
【００３１】
本発明のある実施形態による、トップレベルインデックスファイルを生成するための特定のプロセスは、図４に図示されるが、コンテンツの特定の断片に関連付けられたアセットに関する情報を収集するスことと、適応型ビットレートストリーミングシステムによって、再生デバイスに利用可能にされるアセットをインデックス化する、インデックスファイルを生成することとを伴う、種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。本発明の実施形態による、トップレベルインデックスファイル内に含まれるアセットをフィルタリングするための特定のプロセスは、以下に論じられる。
【００３２】
（トップレベルインデックスファイル内に含むためのアセットのフィルタリング）
典型的には、再生デバイスによるコンテンツの適応型ビットレートストリーミングのために必要であるものより多くのアセットまたはストリームが、作成される。多くの事例では、ビデオストリームは、異なる種類の再生デバイスのために作成される。例えば、より低いビットレートストリームは、セルラーデータネットワークを経由して、コンテンツをストリームするであろうデバイスのために作成され得、より高いビットレートストリームは、高速インターネット接続を介して、インターネットに接続されるホームネットワークを経由して、コンテンツをストリームするであろうデバイスのために作成され得る。加えて、異なるビデオストリームは、異なる縦横比を伴って作成され得、異なるオーディオストリームは、異なる言語のために作成され得る。いくつかの実施形態では、コンテンツストアは、有料高解像度コンテンツを提案し、より低い解像度コンテンツのみを購入した再生デバイスは、高解像度コンテンツへのアクセスが許可されない。多くの実施形態では、特定のストリームは、ある地理的地域内ではアクセス可能でない場合がある。トップレベルインデックスファイルが、特定の再生デバイスからの要求に応答して、リアルタイムで作成されるとき、トップレベルインデックスファイルを作成する再生サーバは、最初に、コンテンツの特定の断片またはタイトルに関連付けられたアセットに関する情報を収集し得る。再生サーバは、次いで、１つ以上のフィルタを利用可能なアセットのリストに適用し、（限定されないが）再生デバイスの能力、ユーザの選好、および／またはコンテンツ所有者の要件に関する基準を含む、基準を満たす、アセットのリストを作り出し得る。
【００３３】
本発明のある実施形態による、再生デバイスにアクセスが許諾されたアセットのリストを作り出すプロセスは、図５に図示される。プロセス９０は、ビデオ（９２）、オーディオ（９４）、および／または字幕あるいはサブテキスト（９６）アセットを受信することを含む。多くの実施形態では、プロセスはまた、（限定されないが）メタデータアセットおよび／またはトリックプレイストリームアセットを含む、他のタイプのアセットを受信することを含むことができる。コンテンツの断片に関連付けられたアセットが、読み出されると、再生サーバは、アセットをフィルタリングし（９８）、再生デバイスによって再生不可能であるアセット、再生が許可されないアセット、または再生されることが所望されないアセットを除外することができる。
【００３４】
再生サーバによって収集されたコンテンツに関連付けられたアセットに関する情報は、再生デバイスによって再生可能であり、かつコンテンツ所有者によって再生が許可されているアセットに関する情報を含むことができる。しかしながら、情報はまた、再生デバイスが再生を許可されていないアセット、またはユーザによって再生が所望されないアセットに関する情報を含み得る。再生が許可されないであろうアセットとして、（限定ではないが）購入されていない有料コンテンツアセット（例えば、高解像度ビデオストリーム）または特定の地理的場所または地域内で再生が許可されないアセット、（限定ではないが）サポートされていない形式でエンコードされたか、あるいは再生デバイスによってサポートされないプロファイルおよび／またはバッファサイズを使用するストリームを含む、再生デバイスが再生不可能なアセット、もしくは再生デバイスがセキュアに再生可能ではないアセット（例えば、暗号化されていないデジタル出力を有する再生デバイス、およびコンテンツプロバイダが、高解像度コンテンツがそのようなデバイスにストリームされることを可能にすることを所望しない）が挙げられ得る。ユーザが再生を所望し得ないアセットとして、（限定ではないが）特定のユーザに関連しない言語におけるコンテンツ、再生デバイスの表示縦横比と同一ではない縦横比を有するビデオアセット（ビデオアセットは、デバイスの表示縦横比と同一の縦横比を有するコンテンツに関連付けられる）、再生デバイスのディスプレイの解像度を上回る解像度でエンコードされたコンテンツ、および／または再生デバイスのネットワーク接続の最大データレートを超える最大ビットレートでエンコードされるコンテンツが挙げられる。特定のフィルタが、前述で論じられるが、アセットの初期リストをフィルタリングし（９８）、トップレベルインデックスファイル内に含むためのアセットのリストを生成するために、再生サーバによって利用される基準は、特定の適応型ビットレートストリーミングシステムの要件によってのみ限定される。
【００３５】
フィルタリングが、アセットのリストに適用されると、フィルタリングされたアセットのリストが、返され（１００）、トップレベルインデックスファイルを生成するために使用されることができる。図示される実施形態では、フィルタリングされたアセットのリストは、再生サーバが、再生デバイスがアクセスすることを許可しているコンテンツストリームに対応する。
【００３６】
特定のプロセスが、図５に図示されるが、種々のプロセスの任意のものが、本発明のある実施形態による、特定のアプリケーションの要件に対する必要に応じて、トップレベルインデックスファイル内に含まれるであろうアセットを読み出し、フィルタリングするために利用されることができる。
【００３７】
（トップレベルインデックスＳＭＩＬファイルの生成）
いくつかの実施形態では、再生デバイスからの要求に応答して、再生サーバによって生成されるトップレベルインデックスファイルは、ＳＭＩＬファイルであり、これは、ストリームの各々を記述するＵＲＩおよびストリームを含むコンテナファイルのリストを含む、ＸＭＬファイルである。ＵＲＩは、ストリーム内に含まれるストリームの「システム−ビットレート」等の情報およびコンテナファイル内のデータの特定の断片の場所に関する情報を含むことができる。
【００３８】
ＳＭＩＬファイルの基本的構造は、ＸＭＬ宣言およびＳＭＩＬ要素を提供することを伴う。ＳＭＩＬ要素は、再生デバイスのために利用可能なストリームまたはアセットを定義し、一般的には、空のままにされるＨＥＡＤ要素と、一般的には、ＰＡＲ（パラレル）要素のみを含むＢＯＤＹ要素とを含む。ＰＡＲ要素は、同時に再生することができるストリーム（すなわち、同時に提示されることができる、メディアを含む）を記述する。
【００３９】
ＳＭＩＬ仕様は、適応型ビットレートストリーミングにおいて使用するために利用可能なストリームを指定するために利用されることができるＰＡＲ要素に対して、いくつかの子要素を定義する。ＶＩＤＥＯ、ＡＵＤＩＯ、およびＴＥＸＴＳＴＲＥＡＭ要素は、特定のビデオ、オーディオ、または字幕ストリームを定義するために利用されることができる。ＶＩＤＥＯ、ＡＵＤＩＯ、およびＴＥＸＴＳＴＲＥＡＭ要素は、集合的に、メディアオブジェクトと称されることができる。メディアオブジェクトの基本的属性は、関連ストリームを含むコンテナファイルへの完全パスまたはＵＲＩを指定するＳＲＣ属性と、３文字の言語コードを含むＸＭＬ：ＬＡＮＧ属性とである。メディアオブジェクトに関する追加の情報は、ＰＡＲＡＭ要素を使用して指定することができる。ＰＡＲＡＭ要素は、一般的な名前と値の対を提供するためのＳＭＩＬ形式内の標準的方法である。本発明のいくつかの実施形態では、適応型ビットレートストリーミングの間に利用される特定のＰＡＲＡＭ要素が定義される。
【００４０】
多くの実施形態では、「ヘッダ−要求」ＰＡＲＡＭ要素は、ストリームを含むコンテナファイルのヘッダセクションのサイズを指定するように定義される。「ヘッダ−要求」ＰＡＲＡＭ要素の値は、一般的には、ファイルの開始とファイル内のエンコードされたメディアの開始との間のバイト数を指定する。多くの実施形態では、ヘッダは、メディアがエンコードされる様式に関する情報を含み、再生デバイスは、エンコードされたメディアの再生のためのデコーダを構成可能にするために、エンコードされたメディアの再生に先立って、ヘッダを読み出す。「ヘッダ−要求」ＰＡＲＡＭ要素の実施例は、
【００４１】
【数１】
2018064287.tif 000003
である。
【００４２】
いくつかの実施形態では、「ｍｉｍｅ」ＰＡＲＡＭ要素は、ストリームのＭＩＭＥタイプを指定するように定義される。ストリームをＨ．２６４ストリーム（すなわち、ＭＰＥＧ−４アドバンスドビデオコーデック規格に従ってエンコードされたストリーム）として識別する「ｍｉｍｅ」ＰＡＲＡＭ要素は、
【００４３】
【数２】
2018064287.tif 000004
である。
【００４４】
ストリームのＭＩＭＥタイプは、特定のストリーム（例えば、ＡＡＣオーディオまたはＵＴＦ−８テキストストリーム）のエンコーディングに対する適切性に応じて、「ｍｉｍｅ」ＰＡＲＡＭ要素を使用して指定されることができる。
【００４５】
メディアオブジェクトが、ＶＩＤＥＯ要素であるとき、ＶＩＤＥＯ要素によって識別されるコンテナファイル内のストリームのビットレートを指定するｓｙｓｔｅｍＢｉｔｒａｔｅ属性と、エンコードされたビデオの寸法を画素で指定する幅および高さ属性とを含む追加の属性が、ＳＭＩＬファイル形式仕様内で定義される。追加の属性はまた、ＰＡＲＡＭ要素を使用して定義することができる。いくつかの実施形態では、ビデオストリームのＶＢＶバッファサイズをバイトで指定する「ｖｂｖ」ＰＡＲＡＭ要素が、定義される。ビデオバッファリング検証子（ＶＢＶ）は、エンコードされたビデオストリームが、正確にバッファリングされ、デコーダデバイスで再生され得ることを確実にするために使用される、理論的ＭＰＥＧビデオバッファモデルである。１０００バイトのＶＢＶサイズを指定する「ｖｂｖ」ＰＡＲＡＭ要素の実施例は、
【００４６】
【数３】
2018064287.tif 000005
である。
【００４７】
前述の属性を含む、ＶＩＤＥＯ要素の実施例は、
【００４８】
【数４】
2018064287.tif 000006
である。
【００４９】
本発明の実施形態による、適応型ビットレートストリーミングシステムは、トリックプレイストリームに対応することができ、これは、適応型ビットレートストリーミングのためにエンコードされるソースコンテンツのスムーズな視覚的検索を提供するために使用されることができる。トリックプレイストリームは、再生されると、ソースメディアを通して、視覚的検索が加速されているかのようにエンコードされることが可能であり、実際は、トリックプレイストリームは、単に、より低いフレームレートでソースメディアをエンコードする別個のトラックである。システムの多くの実施形態では、トリックプレイトラックの参照は、ＶＩＤＥＯ要素は、ＶＩＤＥＯ要素のｓｙｓｔｅｍＢａｓｅＰｒｏｆｉｌｅ属性によって示される。他の実施形態では、種々の技法の任意のものも、特定のストリームがトリックプレイストリームであることを、トップレベルインデックスファイル内で示すために利用されることができる。本発明のある実施形態による、トリックプレイストリームＶＩＤＥＯ要素の実施例は、
【００５０】
【数５】
2018064287.tif 000007
である。
【００５１】
本発明のいくつかの実施形態では、「ｒｅｓｅｒｖｅｄＢａｎｄｗｉｄｔｈ」ＰＡＲＡＭ要素が、ＡＵＤＩＯ要素のために定義されることができる。「ｒｅｓｅｒｖｅｄＢａｎｄｗｉｄｔｈ」ＰＡＲＡＭ要素は、オーディオストリームのビットレートをＫｂｐｓで指定する。本発明のある実施形態に従って指定されるＡＵＤＩＯ要素の実施例は、
【００５２】
【数６】
2018064287.tif 000008
である。
【００５３】
いくつかの実施形態では、「ｒｅｓｅｒｖｅｄＢａｎｄｗｉｄｔｈ」ＰＡＲＡＭ要素はまた、ＴＥＸＴＳＴＲＥＡＭ要素のために定義される。本発明のある実施形態による、「ｒｅｓｅｒｖｅｄＢａｎｄｗｉｄｔｈ」ＰＡＲＡＭ要素を含む、ＴＥＸＴＳＴＲＥＡＭ要素の実施例は、
【００５４】
【数７】
2018064287.tif 000009
である。
【００５５】
他の実施形態では、種々の機構のいずれも、特定のアプリケーションに対して適切なように、ＶＩＤＥＯ、ＡＵＤＩＯ、およびＳＵＢＴＩＴＬＥ要素に関する情報を指定するために利用されることができる。
【００５６】
適応型または代替ストリームを定義するために利用され得るＳＷＩＴＣＨ要素が、ＳＭＩＬファイル形式仕様内で定義される機構である。ＳＷＩＴＣＨ要素が、異なるビットレートで代替ビデオストリームを指定するために利用され得る様式の実施例は、
【００５７】
【数８】
2018064287.tif 000010
である。
【００５８】
ＳＷＴＩＣＨ要素は、３つの代替ビデオストリームのＵＲＬを指定する。ファイル名は、ストリームの各々の異なるビットレートを示す。以下にさらに論じられるように、ＳＭＩＬファイル形式仕様は、トップレベルインデックスＳＭＩＬファイル内において、ストリームおよびそれが含まれるコンテナファイルに関する追加の情報を指定するために、本発明の実施形態に従って利用されることができる、機構を提供する。
【００５９】
本発明の多くの実施形態では、ＥＸＣＬ（除外）要素は、ストリーミング状態を伴う再生の間、適応しない代替トラックを定義するために使用される。例えば、ＥＸＣＬ要素は、代替オーディオトラックまたは代替字幕トラックを定義するために使用することができる。ＥＸＣＬ要素が、代替ＥｎｇｌｉｓｈおよびＦｒｅｎｃｈオーディオストリームを指定するために利用されることができる様式の実施例は、
【００６０】
【数９】
2018064287.tif 000011
である。
【００６１】
本発明のある実施形態による、２つの代替ビデオレベル、オーディオストリームおよび字幕ストリームの属性ならびにパラメータを定義する、トップレベルインデックスＳＭＩＬファイルの実施例は、
【００６２】
【数１０】
2018064287.tif 000012
【００６３】
【数１１】
2018064287.tif 000013
である。
【００６４】
再生デバイスがトップレベルインデックスＳＭＩＬファイルを受信すると、再生デバイスは、ＳＭＩＬファイルを解析し、利用可能なストリームを識別することができる。再生デバイスは、次いで、初期ストリームを選択することができ、ＳＭＩＬファイルを使用して、コンテナファイルの部分を識別し、特定のストリームのエンコーディングに関する情報を取得するため、および／またはコンテナファイル内のエンコードされたメディアへのインデックスを取得するためにダウンロードすることができる。
【００６５】
本発明のある実施形態による、トップレベルインデックスＳＭＩＬファイルを構築するためのプロセスは、図６に図示される。プロセス１１０は、ＳＭＩＬファイルのためのヘッダを生成すること（１１２）と、ビデオ（１１４）、オーディオ（１１６）、字幕／サブテキスト（１１８）、および／または再生サーバが、再生デバイスがアクセスすることを許可しているアセットのリスト内にある、任意の他のアセット（例えば、トリックプレイストリーム、メタデータストリーム）のためのＸＭＬストリングを生成することとを伴う。この時点で、最終ＳＭＩＬファイルが、生成される（１２０）。
【００６６】
アセットＩＤが、ストリームを一意に識別するために、オーディオおよびテキストストリームに割り当てられる。この値は、サーバまでパスされ、したがって、サーバは、正確なオーディオ、字幕ストリームが再生されていることを把握する。
【００６７】
【数１２】
2018064287.tif 000014
トップレベルインデックスＳＭＩＬファイルが、前述されているが、種々のトップレベルインデックスファイル形式のいずれも、本発明のある実施形態による、特定のアプリケーションに対する適切性に応じて、特定の再生デバイスのためのトップレベルインデックスファイルを自動的に作成するために利用されることができる。本発明の実施形態による、適応型ビットレートストリーミングを使用して、エンコードされたメディアの再生を可能にするためのトップレベルインデックスファイルの使用は、以下にさらに論じられる。
【００６８】
（保護されたストリーム）
コンテンツの特定の断片に関連付けられたアセットの一部または全部は、暗号化される、または技術的に保護され得る。デジタル著作権管理（ＤＲＭ）システムは、再生デバイスが、プレーンテキストで（すなわち、暗号化されていない形態で）保護されたストリームにアクセスすることができるように、再生デバイスへの暗号情報の通信を可能にする。本発明の実施形態による、適応型ビットレートストリーミングシステムにおいて使用され得る、ＤＲＭシステムは、米国特許出願第１３／３４０，６３２号に説明されている。多くの実施形態では、再生サーバは、ＤＲＭサーバとして作用する。いくつかの実施形態では、再生サーバは、暗号情報を再生サーバから取得するように構成される。
【００６９】
本発明のある実施形態による、暗号情報を再生デバイスに提供するためのプロセスは、図７に図示される。プロセス１３０は、並行処理ルールをチェックし（１３２）、ユーザが現在コンテンツを再生中であるデバイスの数、および／またはコンテンツを再生する権利を要求したデバイスの数が、所定の並行処理限界より少ないことを確認することを含む。並行処理ルールが満たされていると仮定すると、プロセスは、再生デバイスによってアクセスされているコンテンツの特定の断片に関連付けられた保護されたストリームへのアクセスを有効にする暗号情報を読み出す（１３４）。再生サーバは、暗号情報を生成するか、または暗号情報をＤＲＭサーバから取得することができる。暗号情報は、次いで、再生デバイスに提供される（１３６）。
【００７０】
多くの実施形態では、再生デバイスは、再生デバイス上にローカルに記憶される、暗号情報を含む。デバイス暗号情報は、典型的には、再生デバイスが、最初に、再生サーバおよび／またはＤＲＭサーバに登録されたときに、再生デバイスに発行される。いくつかの実施形態では、再生デバイスに提供されるコンテンツ暗号情報は、再生デバイスのデバイス暗号情報を使用して、アクセスされることができるように、暗号化される。他の実施形態では、種々の異なる技法の任意のものが、再生デバイスに暗号情報をセキュアに提供し、保護されたストリームにアクセスするために利用されることができる。
【００７１】
暗号情報を再生デバイスに提供するための特定のプロセスが、図７に記載されるが、種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。加えて、再生デバイスは、再生サーバおよび／またはトップレベルインデックスファイルの自動生成から完全に独立するプロセスにおいて、暗号情報をＤＲＭサーバから取得することができる。再生デバイスが、コンテンツの保護されたストリームを再生するための必要暗号情報を有すると、再生デバイスは、再生を開始することができる。再生の間、再生デバイスは、周期的再生イベント報告を再生サーバに提供することができる。本発明の実施形態による、再生イベント報告の生成および取扱は、以下にさらに論じられる。
【００７２】
（再生イベント報告）
本発明の実施形態による、再生デバイスは、周期的に、および／または（限定されないが）ユーザ命令（例えば、再生、停止、中断コマンド）の受信等の特定のイベントに応答して、再生イベント報告を生成することができる。イベント報告内に含まれ得る、情報は、典型的には、再生デバイスによってアクセスされているストリームと、ストリームのうちの１つ以上における現在の再生場所とを含む。いくつかの実施形態では、イベント報告として、（限定ではないが）時間、オーディオ、および／または字幕アセットＩＤ、および／または帯域幅測定が挙げられる。再生場所は、コンテンツの再生を再開するために利用されることができる。サーバは、再生イベントを利用して、（限定されないが）あるデバイスから別のデバイスへの再生のシフトを有効にすることを含む、種々の機能を行なうことができる。ユーザが、第１のデバイス上でコンテンツの再生を開始し、次いで、第２のデバイス上で同一のコンテンツの再生を開始する場合、再生サーバは、第２の再生デバイスに、第１のデバイスからの最も直近の再生イベント報告から、現在の再生場所を提供することができる。第２の再生デバイスは、次いで、再生場所情報を使用して、コンテンツの再生を再開することができる。このように、ユーザは、第１の再生デバイス上で視聴しているコンテンツを第２の再生デバイスにシームレスに遷移することができる。
【００７３】
本発明のある実施形態による、再生イベント報告を取り扱うためのプロセスは、図８に図示される。プロセス１５０は、再生イベント報告を受信すること（１５２）と、適切な応答を決定することとを含む。並行処理限界が存在する実施形態では、再生イベント報告に対する応答は、所定の並行処理限界を超える別のデバイス上でコンテンツを再生するための要求に応答して、コンテンツの再生を「停止」するように、再生デバイスに指示するものであり得る。コンテンツが貸し出されている場合、再生は、貸出期間を超えている場合があり、再生サーバは、再生を「停止」するように、再生デバイスに指示することができる。再生サーバはまた、代替ストリームからのコンテンツを要求する、または異なるコンテンツ配信ネットワーク上のコンテンツへのアクセスに切り替えるように、再生デバイスに指示し得、これは、新しいトップレベルインデックスファイルの伝送を伴い得る。いくつかの実施形態では、再生サーバは、エラーメッセージまたはストリングを表示するように、再生デバイスに指示することができる。しかしながら、典型的には、応答は、コンテンツの再生を継続するように、再生デバイスに指示するものである。再生サーバが再生を一時停止する、または再生を継続することを可能にするであろう、特定の条件は、特定のアプリケーションの要件に基づいて決定される。応答は、再生デバイスに送信され（１５６）、再生デバイスは、適宜、再生を管理する。
【００７４】
再生イベント報告を取り扱うための特定のプロセスが、図８に図示されるが、特定のアプリケーションの要件に適切な再生イベント報告を取り扱うための種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。
【００７５】
（適応型ストリーミングの間の通信）
再生デバイスからのコンテンツにアクセスするための要求に応じて、トップレベルインデックスファイルを自動的に生成するためのプロセスは、前述されている。本発明のある実施形態による、コンテンツの適応型ビットレートストリーミングの間の再生デバイス、再生サーバ、およびコンテンツ配信ネットワーク間の通信を図示するタイミング図は、図９に図示される。タイミング図は、再生サーバ１８からインデックスファイルを要求する、再生デバイス１２を示す。再生サーバは、前述のプロセスに類似するプロセスを使用して、トップレベルインデックスファイルを生成することによって、要求に応答する。再生サーバ１８は、トップレベルインデックスファイルを再生デバイス１２に提供し、次いで、再生デバイス１２は、再生要求を再生サーバに送信する。再生サーバは、並行処理ルールをチェックし、保護されたストリームの再生を有効にする暗号情報を読み出す。暗号情報は、再生デバイス１２に提供される。再生デバイスは、次いで、トップレベルインデックスファイルを使用して、コンテンツ配信ネットワーク１４からコンテンツを要求することができる。多くの実施形態では、再生デバイスは、適応型ビットレートストリーミングを利用して、コンテンツをコンテンツ配信ネットワークサーバから取得する。再生デバイス１２は、プレーンテキストで、コンテンツの保護されたストリームにアクセスするために再生サーバ１８から受信された暗号情報を利用して、コンテンツを再生することができる。再生の間、再生デバイス１２は、再生イベント報告を再生サーバに送信する。再生サーバ１８は、再生イベント報告を処理し、再生デバイスに、（限定されないが）コンテンツの再生の一時停止を含む、種々の機能の任意のものを行なわせ得る応答を再生デバイス１２に送信する。
【００７６】
通信の特定のシーケンスが、図９に図示されるが、再生デバイス、再生サーバ、およびコンテンツ配信ネットワークは、本発明の実施形態による、特定のアプリケーションに適切な種々の方法の任意のもので通信することができる。
【００７７】
本発明は、ある特定の側面において説明されたが、多くの追加の修正および変形例が、当業者に明白となるであろう。したがって、本発明は、例えば、本発明の範囲および精神から逸脱することなく、それらが準拠する特定の規格内で指定されるもの以外の特徴に対応する、エンコーダおよびデコーダを利用する、実装における種々の変更を含め、具体的に説明される以外に、別様に実践され得ることを理解されたい。したがって、本発明の実施形態は、あらゆる観点において、制限ではなく、例示と見なされるべきである。
【図１】
2018064287.tif 000015
【図２】
2018064287.tif 000016
【図３】
2018064287.tif 000017
【図４】
2018064287.tif 000018
【図５】
2018064287.tif 000019
【図６】
2018064287.tif 000020
【図７】
2018064287.tif 000021
【図８】
2018064287.tif 000022
【図９】
2018064287.tif 000023