特開2022-992(P2022-992A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディビックス, エルエルシーの特許一覧

特開2022-992トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法
<>
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000015
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000016
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000017
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000018
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000019
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000020
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000021
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000022
  • 特開2022000992-トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2022-992(P2022-992A)
(43)【公開日】2022年1月4日
(54)【発明の名称】トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法
(51)【国際特許分類】
   H04N 21/2362 20110101AFI20211203BHJP
   H04N 21/258 20110101ALI20211203BHJP
【FI】
   H04N21/2362
   H04N21/258
【審査請求】有
【請求項の数】1
【出願形態】OL
【全頁数】33
(21)【出願番号】特願2021-164536(P2021-164536)
(22)【出願日】2021年10月6日
(62)【分割の表示】特願2019-83115(P2019-83115)の分割
【原出願日】2011年12月31日
(31)【優先権主張番号】13/341,789
(32)【優先日】2011年12月30日
(33)【優先権主張国】US
(31)【優先権主張番号】13/341,801
(32)【優先日】2011年12月30日
(33)【優先権主張国】US
(31)【優先権主張番号】61/529,403
(32)【優先日】2011年8月31日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】518348942
【氏名又は名称】ディビックス, エルエルシー
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ジェイソン ブラネス
(72)【発明者】
【氏名】イバン ワリン
(72)【発明者】
【氏名】エダーソン フェレイラ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB13S
5C164SB15P
5C164SB21S
5C164SB29S
5C164SB31S
5C164SC11P
5C164YA15
5C164YA18
(57)【要約】
【課題】トップレベルインデックスファイルを自動的に生成するためのシステムおよび方法の提供。
【解決手段】本発明の実施形態による適応型ビットレートストリーミングで使用するトップレベルインデックスファイルを自動的に生成するシステムおよび方法が開示される。本発明の方法の一実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別することと、再生サーバを使用して識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して少なくとも1つの所定の基準を使用してアセットのリストをフィルタリングすることと、再生サーバを使用してフィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用してトップレベルインデックスファイルを再生デバイスに送信することとを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
図面等に記載の例えばプロセス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、ストリーミングメディアに関し、より具体的には、適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルの自動生成に関する。
【背景技術】
【0002】
メディアのストリーミングという用語は、再生デバイス上におけるメディアの再生を説明しており、メディアは、サーバ上に記憶され、再生の間、ネットワークを経由して、再生デバイスに継続的に送信される。典型的には、再生デバイスは、メディアの次の部分の受信に先立って、再生デバイスが全てのバッファリングされたメディアの再生を完了することによる再生の途絶を防止するために、再生の間、任意の所与の時間において、十分な量のメディアをバッファ内に記憶する。適応型ビットレートストリーミングまたは適応型ストリーミングは、現在のストリーミング条件(例えば、再生デバイスのネットワーク帯域幅およびビデオデコーディング容量)をリアルタイムで検出し、適宜、ストリーミングされるメディアの質を調節することを伴う。典型的には、ソースメディアは、異なる最大ビットレートを有する別個のストリームとしてエンコードされ、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なるエンコーディングをストリーミングすることの間で切り替える。再生デバイスが、適応型ビットレートストリーミングを開始する場合、再生デバイスは、典型的には、初期の組のストリームからメディアの一部を要求することによって始動する。再生デバイスが、要求されたメディアをダウンロードするにつれて、再生デバイスは、利用可能な帯域幅を測定することができる。利用可能な帯域幅が、増加または減少する場合、再生デバイスは、より高いまたはより低いビットレートストリームに切り替えることができる。
【0003】
適応型ストリーミングソリューションは、一般的には、RFC2616として、Internet Engineering Task ForceおよびWorld Wide Web Consortiumによって公開されたハイパーテキスト転送プロトコル(HTTP)を利用して、サーバと再生デバイスとの間でメディアをストリーミングする。HTTPは、再生デバイスが、ファイル内のバイト範囲を要求することを可能にする、ステートレスプロトコルである。HTTPは、サーバが、再生デバイスから受信された要求に応答するために、情報を要求する再生デバイスの状態または再生デバイスによって要求されたバイト範囲に関する情報を記録することが要求されないため、ステートレスとして説明される。
【0004】
適応型ストリーミングシステムでは、ソースメディアは、一般的には、実際のビデオおよびオーディオデータを含む、いくつかの代替ストリームをポイントするトップレベルインデックスファイルとして、メディアサーバ上に記憶される。各ストリームは、一般的には、1つ以上のコンテナファイル内に記憶される。異なる適応型ストリーミングソリューションは、一般的には、異なるインデックスおよびメディアコンテナを利用する。World Wide Web Consortiumによって開発された同期マルチメディア統合言語(SMIL)は、Microsoft Corporation(Redmond,Washington)によって開発されたIISスムーズストリーミング、およびAdobe Systems Incorporated(San Jose,California)によって開発されたフラッシュダイナミックストリーミングを含む、いくつかの適応型ストリーミングソリューションにおいて、インデックスを作成するために利用される。Apple Computer Incorporated(Cupertino,California)によって開発されたHTTP適応型ビットレートストリーミングは、一般的には、メディアコンテナファイルを識別する、URIのリストを含むテキストファイルである、拡張M3U再生ファイル(.M3U8)を使用して、インデックスファイルを実装する。最も一般に使用されるメディアコンテナ形式は、MPEG−4 Part 14(すなわち、ISO/IEC 14496−14)に指定されるMP4コンテナ形式、およびMPEG−2 Part 1(すなわち、ISO/IEC規格13818−1)に指定されるMPEGトランスポートストリーム(TS)コンテナである。MP4コンテナ形式は、IISスムーズストリーミングおよびフラッシュダイナミックストリーミングにおいて利用される。TSコンテナは、HTTP適応型ビットレートストリーミングにおいて使用される。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明の実施形態によるシステムおよび方法は、自動的に、適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルを生成する。本発明の方法の一実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別する、ことと、再生サーバを使用して、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して、少なくとも1つの所定の基準を使用して、アセットのリストをフィルタリングすることと、再生サーバを使用して、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用して、トップレベルインデックスファイルを再生デバイスに送信することとを含む。
【0006】
本発明の方法のなおもさらなる追加の実施形態は、再生デバイスからの要求を再生サーバで受信することであって、要求は、コンテンツの断片を識別する、ことと、再生サーバを使用して、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、再生サーバを使用して、少なくとも1つの所定の基準を使用して、アセットのリストをフィルタリングすることと、再生サーバを使用して、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、再生サーバを使用して、トップレベルインデックスファイルを再生デバイスに送信することと、再生サーバを使用して、暗号情報を読み出すことであって、暗号情報は、トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、再生サーバを使用して、暗号情報を再生デバイスに提供することとを含む。
【0007】
本発明のさらなる実施形態は、コンテンツの特定の断片に関連付けられたアセットの記述を記憶しているデータベースと、再生管理アプリケーションを使用して構成されているプロセッサとを含む。加えて、再生管理アプリケーションは、再生デバイスから、コンテンツの断片を識別する要求を受信し、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出し、少なくとも1つの所定の基準を使用して、アセットのリストをフィルタリングし、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成し、トップレベルインデックスファイルを再生デバイスに送信するようにプロセッサを構成する。
【0008】
別のさらなる実施形態は、プロセッサ命令を含む機械読み取り可能なメディアを含み、プロセッサによる命令の実行は、コンテンツの断片を識別する要求を再生デバイスから受信することと、識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、少なくとも1つの所定の基準を使用して、アセットのリストをフィルタリングすることと、フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、トップレベルインデックスファイルを再生デバイスに送信することとを含むプロセスをプロセッサに行なわせる。
【0009】
本発明の方法のさらに別の実施形態は、再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、再生デバイスを使用して、初期ストリームを選択することと、再生デバイスを使用して、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを含む。
【0010】
本発明のさらなる実施形態は、再生デバイスの能力を記述する情報を含むメモリと、クライアントアプリケーションによって構成されるプロセッサとを含む。加えて、クライアントアプリケーションは、トップレベルインデックスファイルを再生サーバからの要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、初期ストリームを選択することと、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを行うようにプロセッサを構成する。
【0011】
別のさらなる実施形態は、プロセッサ命令を含む機械読み取り可能なメディアを含み、プロセッサによる命令の実行は、トップレベルインデックスファイルを再生サーバから要求することであって、要求は、コンテンツの断片を識別し、再生デバイスの能力を記述する情報を含む、ことと、トップレベルインデックスファイルを再生サーバから受信することであって、トップレベルインデックスファイルは、再生デバイスにアクセス可能な複数のストリームを記述し、ストリームの場所を識別する、ことと、初期ストリームを選択することと、初期ストリームの少なくとも一部をトップレベルインデックスファイル内で識別された場所から読み出すこととを含むプロセスをプロセッサに行なわせる。
例えば、本願発明は以下の項目を提供する。
(項目1)
トップレベルインデックスファイルを生成する方法であって、
再生デバイスからの要求を再生サーバで受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記再生サーバを使用して、前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
前記再生サーバを使用して、少なくとも1つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記再生サーバを使用して、前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を含む、方法。
(項目2)
前記再生デバイスからの要求はまた、前記再生デバイスの能力を記述する情報を含み、
前記再生サーバは、前記再生デバイスの能力に基づいて、前記アセットのリストをフィルタリングする、項目1に記載の方法。
(項目3)
前記再生デバイスの能力を記述する情報は、製品識別子であり、前記方法は、前記再生サーバを使用して、前記製品識別子に基づいて、少なくとも1つのデバイス能力を読み出すことをさらに含む、項目2に記載の方法。
(項目4)
前記デバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、デバイス解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも1つのデバイス能力である、項目2に記載の方法。
(項目5)
前記少なくとも1つの所定の基準は、前記再生デバイスが、有料コンテンツに関連付けられたアセットへのアクセスを有するかどうかを含む、項目1に記載の方法。
(項目6)
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含み、
前記少なくとも1つの所定の基準は、アセットが、前記要求によって示される前記地理的場所において再生されることを許可されるかどうかを含む、項目1に記載の方法。
(項目7)
前記少なくとも1つの所定の基準は、少なくとも1つの言語に基づいて、前記アセットをフィルタリングすることを含む、項目1に記載の方法。
(項目8)
前記再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持する、項目1に記載の方法。
(項目9)
前記トップレベルインデックスファイルは、SMILファイルである、項目1に記載の方法。
(項目10)
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することは、各アセットに対するURIを含むXMLストリングを生成することを含む、項目9に記載の方法。
(項目11)
適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するSWITCH要素を含むXMLストリングを生成することをさらに含む、項目10に記載の方法。
(項目12)
従来のストリーミングにおいて使用するための代替ストリームを記述するEXCL要素を含むXMLストリングを生成することをさらに含む、項目10に記載の方法。
(項目13)
前記URIは、コンテナファイルを参照し、各アセットに対する前記XMLストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目10に記載の方法。
(項目14)
前記XMLストリングは、前記アセットのエンコーディングを識別する要素を含む、項目10に記載の方法。
(項目15)
ビデオアセットの前記XMLストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも1つの要素を含む、項目10に記載の方法。
(項目16)
コンテンツの再生を承認する方法であって、
再生デバイスからの要求を再生サーバで受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記再生サーバを使用して、前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
前記再生サーバを使用して、少なくとも1つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記再生サーバを使用して、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記再生サーバを使用して、前記トップレベルインデックスファイルを前記再生デバイスに送信することと、
前記再生サーバを使用して、暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、
前記再生サーバを使用して、前記暗号情報を前記再生デバイスに提供することと
を含む、方法。
(項目17)
前記暗号情報は、再生デバイスからの前記コンテンツを再生するための要求に応答して、前記再生サーバによって読み出される、項目16に記載の方法。
(項目18)
前記暗号情報は、暗号情報のデータベースから、前記再生サーバによって読み出され、前記暗号情報は、前記再生デバイス上に記憶された暗号情報を使用して、前記再生デバイスが前記暗号情報にアクセスすることができるように暗号化されている、項目16に記載の方法。
(項目19)
前記暗号情報は、デジタル著作権管理サーバから、前記再生サーバによって読み出される、項目16に記載の方法。
(項目20)
ユーザがコンテンツを現在再生しているデバイス数が、所定の並行処理限界より少ないことを確認することをさらに含む、項目16に記載の方法。
(項目21)
前記再生デバイスからの再生イベント報告を前記再生サーバで受信することをさらに含む、項目16に記載の方法。
(項目22)
前記再生イベント報告に応答して、前記再生サーバを使用して、コマンドを前記再生デバイスに提供することをさらに含む、項目21に記載の方法。
(項目23)
前記再生イベント報告は、再生場所を含む、項目22に記載の方法。
(項目24)
前記再生イベント報告内に示される再生場所で再生を再開するためのコマンドを第2の再生デバイスに送信することをさらに含む、項目23に記載の方法。
(項目25)
前記再生サーバを使用して、再生を停止するためのコマンドを前記再生イベント報告を生成した再生デバイスに送信することをさらに含む、項目24に記載の方法。
(項目26)
再生サーバであって、
コンテンツの特定の断片に関連付けられたアセットの記述を記憶しているデータベースと、
再生管理アプリケーションを使用して構成されているプロセッサと
を備え、前記再生管理アプリケーションは、
再生デバイスから、コンテンツの断片を識別する要求を受信することと、
前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
少なくとも1つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を行うように前記プロセッサを構成する、再生サーバ。
(項目27)
前記再生デバイスからの要求はまた、前記再生デバイスの能力を記述する情報を含み、
前記再生管理アプリケーションは、前記再生デバイスの能力に基づいて、前記アセットのリストをフィルタリングするように前記プロセッサを構成する、項目26に記載の再生サーバ。
(項目28)
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記再生管理アプリケーションは、前記製品識別子に基づいて、少なくとも1つのデバイス能力を読み出すように前記プロセッサをさらに構成する、項目27に記載の再生サーバ。
(項目29)
前記デバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも1つのデバイス能力である、項目27に記載の再生サーバ。
(項目30)
前記少なくとも1つの所定の基準は、前記再生デバイスが、有料コンテンツに関連付けられたアセットへのアクセスを有するかどうかを含む、項目26に記載の再生サーバ。
(項目31)
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含み、
前記少なくとも1つの所定の基準は、アセットが、前記要求によって示される前記地理的場所において再生されることを許可されるかどうかを含む、項目26に記載の再生サーバ。
(項目32)
前記少なくとも1つの所定の基準は、1つ以上の言語に基づいて、前記アセットをフィルタリングすることを含む、項目26に記載の再生サーバ。
(項目33)
前記再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持する、項目26に記載の再生サーバ。
(項目34)
前記トップレベルインデックスファイルは、SMILファイルである、項目26に記載の再生サーバ。
(項目35)
前記再生管理アプリケーションは、各アセットに対するURIを含むXMLストリングを生成するように前記プロセッサを構成することによって、前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成するように前記プロセッサを構成する、項目34に記載の再生サーバ。
(項目36)
前記再生管理アプリケーションは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するSWITCH要素を含むXMLストリングを生成するように前記プロセッサをさらに構成する、項目35に記載の再生サーバ。
(項目37)
前記再生管理アプリケーションは、従来のストリーミングにおいて使用するための代替ストリームを記述するEXCL要素を含むXMLストリングを生成するように前記プロセッサをさらに構成する、項目35に記載の再生サーバ。
(項目38)
前記URIは、コンテナファイルを参照し、各アセットに対する前記XMLストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目35に記載の再生サーバ。
(項目39)
前記XMLストリングは、前記アセットのエンコーディングを識別する要素を含む、項目35に記載の再生サーバ。
(項目40)
ビデオアセットの前記XMLストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも1つの要素を含む、項目35に記載の再生サーバ。
(項目41)
前記再生管理アプリケーションは、
暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述される保護されたストリームにアクセスするために使用される、ことと、
前記暗号情報を前記再生デバイスに提供することと
を行うように前記プロセッサをさらに構成する、項目26に記載の再生サーバ。
(項目42)
前記再生管理アプリケーションは、再生デバイスからの前記コンテンツを再生するための要求に応答して、前記暗号情報を読み出すように前記プロセッサを構成する、項目41に記載の再生サーバ。
(項目43)
前記再生管理アプリケーションは、暗号情報のデータベースから、前記暗号情報を読み出すことと、
前記再生デバイスが、前記再生デバイス上に記憶された暗号情報を使用して、プレーンテキストで前記読み出された暗号情報にアクセスすることができるように、前記読み出された暗号情報を暗号化することと
を行うように前記プロセッサを構成する、項目41に記載の再生サーバ。
(項目44)
前記再生管理アプリケーションは、前記暗号情報をデジタル著作権管理サーバから読み出すように前記プロセッサを構成する、項目41に記載の再生サーバ。
(項目45)
前記再生管理アプリケーションは、ユーザがコンテンツを再生しているデバイスの数が、所定の並行処理限界より少ないことを確認するように前記プロセッサを構成する、項目41に記載の再生サーバ。
(項目46)
前記再生管理アプリケーションは、再生イベント報告を前記再生デバイスから受信するように前記プロセッサを構成する、項目41に記載の再生サーバ。
(項目47)
前記再生管理アプリケーションは、前記再生イベント報告に応答して、コマンドを前記再生デバイスに提供するように前記プロセッサを構成する、項目46に記載の再生サーバ。
(項目48)
前記再生イベント報告は、再生場所を含む、項目47に記載の再生サーバ。
(項目49)
前記再生管理アプリケーションは、前記再生イベント報告内に示される再生場所で再生を再開するためのコマンドを第2の再生デバイスに送信するように前記プロセッサをさらに構成する、項目48に記載の再生サーバ。
(項目50)
前記再生管理アプリケーションは、前記再生サーバを使用して、再生を停止するためのコマンドを前記再生イベント報告を生成した再生デバイスに送信するように前記プロセッサをさらに構成する、項目49に記載の再生サーバ。
(項目51)
プロセッサ命令を含む機械読み取り可能なメディアであって、プロセッサによる前記命令の実行は、
再生デバイスからの要求を受信することであって、前記要求は、コンテンツの断片を識別する、ことと、
前記識別されたコンテンツの断片に関連付けられたアセットのリストを読み出すことと、
少なくとも1つの所定の基準を使用して、前記アセットのリストをフィルタリングすることと、
前記フィルタリングされたアセットのリスト内の各アセットを記述するトップレベルインデックスファイルを生成することと、
前記トップレベルインデックスファイルを前記再生デバイスに送信することと
を含むプロセスを前記プロセッサに行なわせる、機械読み取り可能なメディア。
(項目52)
前記プロセッサによる前記命令の実行は、
暗号情報を読み出すことであって、前記暗号情報は、前記トップレベルインデックスファイル内に記述された保護されたストリームにアクセスするために使用される、ことと、
前記暗号情報を前記再生デバイスに提供することと
をさらに含むプロセスを前記プロセッサに行なわせる、項目51に記載の機械読み取り可能なメディア。
(項目53)
コンテンツの断片をストリーミングする方法であって、
再生デバイスを使用して、トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
前記再生デバイスを使用して、トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
前記再生デバイスを使用して、初期ストリームを選択することと、
前記再生デバイスを使用して、前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと、
を含む、方法。
(項目54)
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記製品識別子は、少なくとも1つのデバイス能力に関連付けられている、項目53に記載の方法。
(項目55)
前記製品識別子に関連付けられた前記少なくとも1つのデバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも1つのデバイス能力である、項目54に記載の方法。
(項目56)
前記トップレベルインデックスファイルは、前記再生デバイスが再生可能なストリームの記述のみを含む、項目53に記載の方法。
(項目57)
前記再生デバイスからの要求はまた、前記再生デバイスの地理的場所を示す情報を含む、項目53に記載の方法。
(項目58)
前記トップレベルインデックスファイルは、SMILファイルである、項目53に記載の方法。
(項目59)
前記トップレベルインデックスファイルは、前記ストリームの場所を識別するURIを含むXMLストリングを使用して、各ストリームを記述する、項目58に記載の方法。
(項目60)
前記トップレベルインデックスファイルは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するSWITCH要素を含む少なくとも1つのXMLストリングを含む、項目59に記載の方法。
(項目61)
前記トップレベルインデックスファイルは、従来のストリーミングにおいて使用するための代替ストリームを記述するEXCL要素を含むXMLストリングを含む、項目59に記載の方法。
(項目62)
前記URIは、コンテナファイルを参照し、各ストリームに対する前記XMLストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目59に記載の方法。
(項目63)
前記XMLストリングは、前記ストリームのエンコーディングを識別する要素を含む、項目59に記載の方法。
(項目64)
ビデオストリームの前記XMLストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも1つの要素を含む、項目59に記載の方法。
(項目65)
前記再生デバイスを使用して、前記トップレベルインデックスファイル内で識別された少なくとも1つの保護されたストリームにアクセスするための暗号情報を要求することと、
前記暗号情報を前記再生デバイスで受信することと、
前記暗号情報を使用して、前記トップレベルインデックスファイル内で識別された保護ストリームからダウンロードされたコンテンツにアクセスすることと
をさらに含む、項目53に記載の方法。
(項目66)
前記暗号情報は、前記再生デバイスが、前記再生デバイス上に記憶された暗号化情報を使用して、前記暗号情報にアクセスすることができるように暗号化されている、項目65に記載の方法。
(項目67)
前記暗号情報は、再生サーバから要求される、項目65に記載の方法。
(項目68)
前記暗号情報は、デジタル著作権管理サーバから要求される、項目65に記載の方法。
(項目69)
前記再生デバイスを使用して、再生イベント報告を生成することをさらに含む、項目63に記載の方法。
(項目70)
前記再生イベント報告は、再生場所を含む、項目69に記載の方法。
(項目71)
前記再生イベント報告に応答して、再生サーバからのコマンドを前記再生デバイスで受信することをさらに含む、項目69に記載の方法。
(項目72)
前記コマンドは、再生を停止するためのコマンドである、項目71に記載の方法。
(項目73)
特定の再生場所において再生を再開するためのコマンドを再生サーバから受信することをさらに含む、項目53に記載の方法。
(項目74)
再生デバイスであって、
前記再生デバイスの能力を記述する情報を含むメモリと、
クライアントアプリケーションによって構成されているプロセッサと
を備え、前記クライアントアプリケーションは、
トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
初期ストリームを選択することと、
前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと
を行うように前記プロセッサを構成する、再生デバイス。
(項目75)
前記再生デバイスの能力を記述する情報は、製品識別子であり、
前記製品識別子は、少なくとも1つのデバイス能力に関連付けられている、項目74に記載の再生デバイス。
(項目76)
前記製品識別子に関連付けられた前記少なくとも1つのデバイス能力は、表示縦横比、予期される最大ネットワーク接続データレート、デバイス出力、サポートされる形式、デバイスバッファサイズ、ディスプレイ解像度、デバイス地域、およびデバイス言語から成る群から選択される少なくとも1つのデバイス能力である、項目75に記載の再生デバイス。
(項目77)
前記トップレベルインデックスファイルは、前記再生デバイスが再生可能なストリームの記述のみを含む、項目74に記載の再生デバイス。
(項目78)
前記要求はまた、前記再生デバイスの地理的場所を示す情報を含む、項目74に記載の再生デバイス。
(項目79)
前記トップレベルインデックスファイルは、SMILファイルである、項目74に記載の再生デバイス。
(項目80)
前記トップレベルインデックスファイルは、前記ストリームの場所を識別するURIを含むXMLストリングを使用して、各ストリームを記述する、項目79に記載の再生デバイス。
(項目81)
前記トップレベルインデックスファイルは、適応型ビットレートストリーミングにおいて使用するための代替ストリームを記述するSWITCH要素を含む少なくとも1つのXMLストリングを含む、項目80に記載の再生デバイス。
(項目82)
前記トップレベルインデックスファイルは、従来のストリーミングにおいて使用するための代替ストリームを記述するEXCL要素を含むXMLストリングを含む、項目80に記載の再生デバイス。
(項目83)
前記URIは、コンテナファイルを参照し、各ストリームに対する前記XMLストリングは、前記コンテナファイルのヘッダセクションのサイズを定義する要素を含む、項目80に記載の再生デバイス。
(項目84)
前記XMLストリングは、前記ストリームのエンコーディングを識別する要素を含む、項目80に記載の再生デバイス。
(項目85)
ビデオストリームの前記XMLストリングは、
前記ビデオの最大ビットレートを記述する要素と、
前記ビデオの幅および高さを記述する要素と、
前記ビデオのビデオバッファ検証子サイズを記述する要素と
から成る群から選択される少なくとも1つの要素を含む、項目80に記載の再生デバイス。
(項目86)
前記クライアントアプリケーションは、
前記トップレベルインデックスファイル内で識別された少なくとも1つの保護されたストリームにアクセスするための暗号情報を要求することと、
前記暗号情報を受信することと、
前記暗号情報を使用して、前記トップレベルインデックスファイル内で識別された保護ストリームからダウンロードされたコンテンツにアクセスすることと
を行うように前記プロセッサをさらに構成する、項目74に記載の再生デバイス。
(項目87)
前記メモリはまた、デバイス暗号情報を含み、
前記受信された暗号情報は、前記プロセッサが、前記デバイス暗号情報を使用して、前記暗号情報にアクセスすることができるように暗号化されている、項目86に記載の再生デバイス。
(項目88)
前記クライアントアプリケーションは、前記暗号情報を前記再生サーバから要求するように前記プロセッサを構成する、項目86に記載の再生デバイス。
(項目89)
前記クライアントアプリケーションは、前記暗号情報をデジタル著作権管理サーバから要求するように前記プロセッサを構成する、項目86に記載の再生デバイス。
(項目90)
前記クライアントアプリケーションは、再生イベント報告を生成するように前記プロセッサをさらに構成する、項目74に記載の再生デバイス。
(項目91)
前記再生イベント報告は、再生場所を含む、項目90に記載の再生デバイス。
(項目92)
前記クライアントアプリケーションは、前記再生イベント報告に応答して、コマンドを再生サーバから受信するように前記プロセッサをさらに構成する、項目90に記載の再生デバイス。
(項目93)
前記コマンドは、再生を停止するためのコマンドである、項目92に記載の再生デバイス。
(項目94)
前記クライアントアプリケーションは、特定の再生場所において再生を再開するためのコマンドを再生サーバから受信するように前記プロセッサをさらに構成する、項目74に記載の再生デバイス。
(項目95)
プロセッサ命令を含む機械読み取り可能なメディアであって、プロセッサによる前記命令の実行は、
トップレベルインデックスファイルを再生サーバから要求することであって、前記要求は、コンテンツの断片を識別し、前記再生デバイスの能力を記述する情報を含む、ことと、
トップレベルインデックスファイルを前記再生サーバから受信することであって、前記トップレベルインデックスファイルは、前記再生デバイスにアクセス可能な複数のストリームを記述し、前記ストリームの場所を識別する、ことと、
初期ストリームを選択することと、
前記初期ストリームの少なくとも一部を前記トップレベルインデックスファイル内で識別された場所から読み出すことと
を含むプロセスを前記プロセッサに行なわせる、機械読み取り可能なメディア。
(項目96)
前記機械読み取り可能なメディアは、不揮発性メモリである、項目95に記載の機械読み取り可能なメディア。
【図面の簡単な説明】
【0012】
図1図1は、本発明のある実施形態による、再生サーバを含む、ストリーミングシステムのネットワーク図である。
図2図2は、本発明のある実施形態による、再生デバイスのシステム図である。
図3図3は、本発明のある実施形態による、トップレベルインデックスファイルおよび暗号情報を再生サーバから取得し、コンテンツをコンテンツ配信ネットワークからストリームするためのプロセスを図示する、流れ図である。
図4図4は、本発明のある実施形態による、トップレベルインデックスファイルを自動的に生成するためのプロセスを図示する、流れ図である。
図5図5は、本発明のある実施形態による、自動的に生成されたトップレベルインデックスファイル内に含むためのストリームのリストを生成するためのプロセスを図示する、流れ図である。
図6図6は、本発明のある実施形態による、トップレベルインデックスを含むSMILファイルを生成するためのプロセスを図示する、流れ図である。
図7図7は、本発明のある実施形態による、暗号情報を再生デバイスに提供するためのプロセスを図示する、流れ図である。
図8図8は、本発明のある実施形態による、再生デバイスから受信された再生イベントを取り扱うためのプロセスを図示する、流れ図である。
図9図9は、本発明のある実施形態による、自動的に生成されたトップレベルインデックスファイルを利用する、適応型ビットレートストリーミングプロセスの間の再生デバイスと再生サーバとコンテンツ配信ネットワークとの間の通信を図示する、タイミング図である。
【発明を実施するための形態】
【0013】
次に、図面を参照すると、本発明の実施形態による適応型ビットレートストリーミングにおいて使用するためのトップレベルインデックスファイルを自動的に生成するためのシステムおよび方法が、図示される。トップレベルインデックスは、コンテナファイルの場所およびコンテンツを記述するファイルであり、コンテナファイルは、コンテンツをストリームおよび再生するために、再生デバイスによって利用されることができる、メディア(例えば、オーディオ、ビデオ、メタデータ、および字幕)のストリームを含む。適応型ビットレートストリーミングシステムでは、トップレベルインデックスファイルは、典型的には、再生デバイスがその間を切り替えることができる、代替ストリームを参照する。多くの実施形態では、トップレベルインデックスファイルは、再生デバイスからの要求に応答して生成される。いくつかの実施形態では、トップレベルインデックスファイルを生成するプロセスは、コンテンツの特定の断片に関連付けられたストリームを含むアセットまたはコンテナファイルの全てを決定し、次いで、1つ以上の所定の基準に基づいて、アセットをフィルタリングすることを伴う。いくつかの実施形態では、アセットは、(限定されないが)コンテンツ所有者によって定義されたビジネスルール、デバイス能力、および/またはユーザアカウントに関連付けられた情報を含む所定の基準に基づいてフィルタリングされる。多くの実施形態では、生成されるトップレベルビデオファイルは、SMILファイルである。他の実施形態では、種々のファイル形式の任意のものが、利用され、本発明の実施形態による、トップレベルインデックスファイルを生成することができる。
【0014】
いくつかの実施形態では、再生サーバは、再生デバイスからの要求に応じて、トップレベルインデックスファイルを自動的に生成し、再生サーバはまた、再生デバイスに暗号情報を提供し、コンテンツの保護されたストリームの再生を有効にすることができる。いくつかの実施形態では、再生デバイスは、再生イベント報告を再生サーバに提供し、再生サーバは、再生デバイスによって再生されているストリームの再生場所を追跡することができる。再生場所は、ユーザが、異なる再生デバイス上において、視聴しているコンテンツ間をシフトすることを有効にするために利用されることができる。ユーザは、第1のデバイス上で再生を開始し、次いで、第2のデバイス上での再生を要求することができる。再生サーバが、再生要求を第2の再生デバイスから受信すると、再生サーバは、第1の再生デバイス上での再生を一時停止し、第1の再生デバイスによって報告された最後の再生場所において再生を開始するための命令を第2の再生デバイスに提供することができる。本発明の実施形態による、再生デバイス、再生サーバ、および再生デバイスからの要求に応答して、トップレベルインデックスファイルを自動的に生成するためのプロセスは、以下にさらに論じられる。
【0015】
(ストリーミングシステムアーキテクチャ)
本発明の多くの実施形態による、適応型ビットレートストリーミングシステムは、再生デバイスからの要求に応答して、トップレベルインデックスファイルを自動的に生成する再生サーバを含む。本発明のある実施形態による、ストリーミングシステムは、図1に図示される。ストリーミングシステム10は、インターネット等のネットワーク16を介して、コンテンツ配信ネットワーク(CDN)14内の遠隔サーバから、コンテンツのストリーミングを要求するように構成される、いくつかの再生デバイス12を含む。ストリームコンテンツをストリームするために、再生デバイスは、利用可能なアセット(すなわち、特定のタイトルに関連付けられたコンテンツのストリームを含むコンテナファイル)のデータベース20および一組の所定のフィルタまたは基準を使用して、再生サーバ18によって自動的に生成されるトップレベルインデックスファイルを取得する。
【0016】
適応型ビットレートストリーミングを行なうために、再生デバイス12は、トップレベルインデックスファイル内に記述される異なる代替ストリームから、コンテンツを選択する。代替ストリームは、同一のメディアコンテンツを異なる方法でエンコードする、ストリームである。多くの事例では、代替ストリームは、異なる最大ビットレートでメディアコンテンツ(限定されないが、ビデオ等)をエンコードする。いくつかの実施形態では、代替ストリームは、異なる解像度および/または異なるフレームレートでエンコードされる。多くの実施形態では、再生サーバ18によって生成されたトップレベルインデックスファイルは、少なくとも、代替ストリームの各々の最大ビットレートを記述する。再生デバイスは、従来のストリーミングのための1つ以上のストリームを選択することができるか、または適応型ビットレートストリーミングを行なうために、代替ストリーム間を切り替えることができる。
【0017】
いくつかの実施形態では、再生デバイス12は、1つ以上のオンラインコンテンツストア22を介して、ストリーミングするためのコンテンツを購入可能である。多くの事例では、再生デバイスは、オンラインコンテンツストアを介して、コンテンツを購入して、電子トークンまたはチケットを受信し、再生デバイスは、該電子トークンまたはチケットを再生サーバ18に提供し、購入されたコンテンツへのアクセスを取得することができる。再生サーバ18が、チケットを受信すると、再生サーバは、データベース20内に記憶された情報を使用して、再生デバイスのためのトップレベルインデックスファイルを自動的に生成する。再生サーバは、典型的には、再生管理アプリケーションを使用して、再生サーバがデータベース20にアクセスすることができるように構成される、従来のサーバシステムである。いくつかの実施形態では、再生デバイス12は、その再生能力に関する情報を再生サーバ18に提供し、サーバは、デバイス能力に基づいて、購入されたコンテンツの断片に関連付けられたアセットをフィルタリングすることによって、トップレベルインデックスファイルを自動的に生成する。そのような能力として、再生能力、表示縦横比、および/または予期される最大ネットワーク接続データレートが挙げられるが、それらに限定されない。いくつかの実施形態では、特定の再生デバイス12の能力は、製品識別子または製品IDの形態において、再生サーバ18に通信される。再生サーバ18は、製品IDおよび関連付けられたデバイス能力のデータベースを維持することができ、トップレベルインデックスファイルを生成する場合、再生デバイスによって提供される製品IDを利用して、関連付けられたデバイス能力を読み出し、フィルタを利用可能なアセットのリストに適用することができる。製品IDを割り当て、それらを製品IDが割り当てられるデバイスの能力に関する情報に関連付けるためのシステムおよび方法は、2011年12月29日出願のGrab、他の米国仮特許出願第61/581,598号「Systems and Methods for Identifying Consumer Electronic Products Using a Playback Device with a Product Identifier」に説明されている。米国仮特許出願第61/581,598号の開示は、参照することによって、全体として本明細書に組み込まれる。本発明の実施形態による再生サーバによって適用され得る、他のフィルタとして、(限定ではないが)再生デバイスの場所(すなわち、国/地域)、および特定のユーザに関連付けられた言語に基づくフィルタが挙げられる。本発明の実施形態によるトップレベルインデックスファイルを生成するために適用され得る、種々のフィルタは、以下にさらに論じられる。
【0018】
再生サーバ18が、再生要求を受信すると、再生サーバは、コンテンツの保護されたストリームを再生することを必要とされる暗号化情報を読み出す。再生デバイスは、次いで、コンテンツ配信ネットワーク14内の1つ以上のサーバから、コンテンツのストリームを含むコンテナファイルの一部を要求することができ、暗号情報を使用して、保護されたコンテンツにアクセスすることができる。適応型ビットレートストリーミングにおいて使用される保護されたストリームのデジタル著作権管理のためのシステムおよび方法は、2011年12月29日出願のKiefer、他の米国特許出願第13/340,632号「Systems and Methods for Playing Back Alternative Streams of Protected Content Protected Using Common Cryptographic Information」に説明されている。米国特許出願第13/340,632号の開示は、参照することによって、全体として本明細書に組み込まれる。
【0019】
再生の間、再生デバイス12は、再生イベント報告を再生サーバ18に提供することができる。再生イベント報告は、(限定されないが)再生デバイスがデータを要求している現在のストリームと、再生デバイスの現在の再生場所とを含む、情報を含むことができる。多くの実施形態では、再生サーバ18は、再生デバイスに、再生を継続または再生を中止するように指示することによって、再生イベント報告に応答する。いくつかの実施形態では、再生サーバは、再生デバイスに関する並行処理限界を設ける。並行処理限界という用語は、適応型ビットレートストリーミングシステムの文脈では、特定のユーザアカウントに関連付けられたコンテンツを同時に再生することができる、再生デバイスの数を説明するものである。並行処理限界を超えると、再生サーバ18は、再生を中止するように指示する命令を再生デバイス12に送信することができる。いくつかの実施形態では、再生イベント報告内に提供される再生場所情報は、ユーザが、第1のデバイス上でのコンテンツの再生から、第2のデバイス上でのコンテンツの再生に切り替えることを有効にするために利用されることができ、第2のデバイスは、自動的に、第1の再生デバイスの最後の再生場所からコンテンツ再生を再開するであろう。加えて、第1の再生デバイス上で再生を一時停止するユーザは、後に、同一の再生デバイスまたは第2の再生デバイス上で再生を再開することができる。
【0020】
特定のストリーミングシステムが、図1に図示されるが、トップレベルインデックスファイルを自動的に生成する再生サーバは、本発明の実施形態による種々のストリーミングシステムアーキテクチャの任意のものに組み込まれることができる。本発明の実施形態による、ストリーミングセッションの間、ネットワーク帯域幅測定を行なうために利用されることができる、再生デバイスは、以下にさらに論じられる。
【0021】
(再生デバイス)
図1に図示される実施形態では、再生デバイスは、パーソナルコンピュータ、CEプレーヤ、および携帯電話を含む。他の実施形態では、再生デバイスは、消費者電子機器デバイス、例えば、DVDプレーヤ、Blu−ray(登録商標)プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、およびサーバに接続し、エンコードされたメディアを再生可能である、他のデバイスを含むことができる。本発明のある実施形態による、再生デバイスの基本アーキテクチャは、図2に図示される。再生デバイス30は、不揮発性メモリ34および揮発性メモリ36と通信する、プロセッサ32を含む。図示される実施形態では、不揮発性メモリは、遠隔サーバからコンテンツをストリームするように、プロセッサおよび再生デバイスを構成する、クライアントアプリケーション38を含む。不揮発性メモリ34はまた、暗号化されたコンテンツにアクセスする際に利用されることができるデバイス暗号データ39と、再生デバイスの能力を識別するために利用されることができる製品ID40とを含む。
【0022】
動作の間、クライアントアプリケーション38は、コンテンツストアからコンテンツを購入し、トップレベルインデックスファイル42を再生サーバから要求するように、再生デバイスを構成することができる。前述のように、トップレベルインデックスファイルの要求は、トップレベルインデックスファイル内に記述されるアセットをフィルタリングするために使用され得る、再生デバイスの製品ID40を含むことができる。トップレベルインデックスファイル42が、再生サーバから受信されると、クライアントアプリケーション38は、トップレベルインデックスファイル42をメモリ36内に記憶し、コンテンツを再生するためのユーザ命令に応答して、再生サーバ(または、別個のDRMサーバ)から、要求されたストリームを再生するためのコンテンツ暗号情報44を要求するように、再生デバイスを構成する。再生サーバから受信されたコンテンツ暗号情報44はまた、メモリ36内に記憶されることができる。クライアントアプリケーション38は、次いで、コンテンツ配信ネットワーク内のサーバから、コンテンツを含むコンテナファイルの一部を要求することによって、コンテンツを再生するように、再生デバイス30を構成することができる。クライアントアプリケーション38によって選択される特定のコンテナファイルは、トップレベルインデックスファイル42内のクライアントアプリケーションに利用可能な情報に基づいて、決定されることができる。再生デバイスが、コンテナファイルの要求された一部を受信すると、クライアントアプリケーション38は、コンテンツ暗号情報44を使用して、コンテナファイルの要求された一部内の保護されたコンテンツにアクセスすることができる。クライアントアプリケーションは、要求を継続し、再生を一時停止するユーザ命令が受信されるまで、または再生が完了するまで、優勢であるストリーミング条件に応じて、コンテンツを異なるコンテナファイルから再生することができる。
【0023】
特定の再生デバイスアーキテクチャが、図2に図示されるが、クライアントアプリケーションが、ディスクまたはいくつかの他の形態の記憶上に位置し、ランタイム時、揮発性メモリにロードされるアーキテクチャを含む、種々のアーキテクチャの任意のものが、本発明の実施形態による、適応型ビットレートストリーミングシステムにおいて使用するための再生デバイスを実装するために利用されることができる。さらに、(限定ではないが)図1に図示されるシステムアーキテクチャを含む、種々のシステムアーキテクチャの任意のものが、本発明の実施形態による、再生デバイスからの要求に応答して自動的に生成される、トップレベルインデックスファイルを使用して、適応型ビットレートストリーミングを行なうために利用されることができる。
【0024】
(コンテンツ再生)
本発明のある実施形態による、再生デバイスからの要求に応答して生成されたトップレベルインデックスファイルを使用して、コンテンツを再生するためのプロセスは、図3に図示される。プロセス50は、コンテンツの購入(52)を含む。購入は、再生デバイスを使用して行なわれることができるか、または別のデバイスを使用して行なわれることができる。多くの実施形態では、購入は、コンテンツへのアクセスを取得するために利用されることができる、電子チケットまたはトークンを提供する、オンラインコンテンツストアを介して行なわれる。コンテンツにアクセスするために、再生デバイスは、再生サーバから、特定の再生デバイスのためにカスタマイズされたトップレベルインデックスファイルの生成を要求する。多くの実施形態では、トップレベルインデックスファイルは、再生サーバが、全ての利用可能なアセットをフィルタリングし、再生デバイスによる再生に利用可能および/または最も好適であるアセットを記述する、トップレベルインデックスファイルを生成するという点において、カスタマイズされる。カスタムトップレベルインデックスファイルが、読み出される(54)と、再生デバイスは、トップレベルインデックスファイル内で識別された保護されたストリームの再生を有効にする、暗号情報を取得する(56)。多くの実施形態では、再生デバイスは、再生要求がユーザから受信されるまで待機し、次いで、暗号情報を再生サーバから要求する。
【0025】
再生デバイスが、トップレベルインデックスファイルおよび任意の必要暗号情報を保有すると、再生デバイスは、エンコードされたメディアを含む1つ以上のコンテナファイルの一部を要求することによって、コンテンツのストリーミング(58)を開始することができる。種々のプロセスの任意のものが、初期ストリームを選択するために利用されることができ、該プロセスは、(限定されないが)最低ビットレートストリームを選択すること、2011年9月30日出願のvan der Schaar et al.の米国特許出願第13/251,061号「Systems andMethods for Determining Available Bandwidth and Performing Initial Stream Slection When Commencing Streaming Using Hypertext Transfer Protocol」に開示される様式に類似する様式において、帯域幅プローブを行なうこと、または別の技法を使用して、利用可能な帯域幅を推定することを含む。米国特許出願第13/251,061号の開示は、参照することによって、全体として本明細書に組み込まれる。
【0026】
再生が開始すると(60)、適応型ビットレートストリーミングが、行なわれることができる。再生の間、再生イベント報告が、再生サーバに提供され、周期的に、または(限定されないが)再生デバイスによって受信されたユーザ命令を含む、種々のイベントに応答して、再生デバイスの再生ステータスに関する情報が提供されることができる。再生イベント報告が、再生サーバに提供されると、再生サーバは、再生イベント命令を再生デバイスに提供することができる。図示される実施形態では、再生を継続するための「再生」命令および再生を中止するための「停止」命令を含む、再生イベント命令が、再生デバイスによって受信されることができる(62)。以下にさらに論じられるように、再生サーバが、再生デバイス上で再生を停止するための能力は、再生デバイスが、ユーザに関連付けられた複数の再生デバイスにわたって、並行処理要件を設けることを有効にする。再生イベント報告およびイベント再生命令の組み合わせはまた、再生サーバによって利用され、第2の再生デバイスが、第1の再生デバイスによって報告された最後の再生場所からコンテンツの再生を再開することを有効にすることができる。このように、ユーザは、再生を継続する場所を模索する必要性を伴わずに、再生デバイス間をシームレスに移行することができる。
【0027】
特定のプロセスが、図3に図示されるが、種々のプロセスの任意のものが、本発明の実施形態による、カスタマイズされたトップレベルインデックスファイルを要求し、コンテンツを再生するために要求されることができる。本発明の実施形態による、インデックスファイルを自動的に生成するための再生サーバおよびプロセスは。
【0028】
(トップレベルインデックスの自動生成)
本発明の実施形態による再生サーバは、コンテンツの特定の断片に関連付けられたアセットのデータベースを維持し、再生管理アプリケーションによって、アセットに関する情報を読み出し、フィルタリングし、特定の再生デバイスのためのトップレベルインデックスファイルを自動的に生成するように構成されることができる。再生サーバによって維持されるデータベースは、アセットを含むファイル名と、アセットが位置するコンテンツ配信ネットワークとをリスト化することができる。アセットが、ビデオストリームである場合、データベースは、(限定されないが)ビデオストリームに関連付けられた言語、ビデオストリームがエンコードされる最大ビットレート、ビデオストリームのフレームレート、解像度、および/またはビデオストリームのサンプル縦横比を含む、ビデオストリームの特性を記述することができる。アセットが、オーディオストリームである場合、データベースは、(限定されないが)オーディオストリームの言語、オーディオストリームのエンコーディング、およびオーディオストリームの帯域幅要件を含む、オーディオストリームの特性を記述することができる。アセットが、字幕ストリームである場合、データベースは、(限定されないが)字幕ストリームの言語、字幕ストリームのエンコーディング、および字幕ストリームの帯域幅要件を含む、字幕ストリームの特性を記述することができる。アセットに関する情報の維持に加え、再生デバイスは、再生デバイスの再生能力に関する情報を維持することができる。いくつかの実施形態では、異なる再生デバイスの再生能力に関する情報は、製品IDを使用してインデックス化される。多くの実施形態では、再生デバイスはまた、(限定されないが)再生デバイスのタイプ、再生デバイスの再生能力、再生デバイスの場所(例えば、国/地域)、および/または要求される言語を含む、基準に基づいて、異なるアセットの使用を調整するルールに関する情報を維持する。情報の特定の断片は、再生サーバによって維持されるデータベース内に関連付けられるように前述されるが、情報の種々の断片の任意のものが、種々のデータ構造の任意のもの内に維持され、本発明のある実施形態による、再生サーバによるトップレベルインデックスファイルの生成を有効にすることができる。以下にさらに論じられるように、再生サーバによって維持される情報は、再生デバイスからのトップレベルインデックスファイルのための要求に応答して、リアルタイムでフィルタリングされ、再生デバイスが再生を許可されるアセットへのリンクのみ含む、トップレベルインデックスファイルを生成することができる。
【0029】
本発明のある実施形態による、再生サーバによって維持されるコンテンツの特定の断片に関連付けられたアセットに関する情報を使用して、トップレベルインデックスファイルを生成するためのプロセスは、図4に図示される。図示される実施形態では、プロセス70は、再生サーバが、特定の再生デバイスから、コンテンツの特定の断片に関するトップレベルインデックスファイルの要求を受信すると(72)、開始する。前述のように、要求は、(限定されないが)再生デバイスの再生能力、再生デバイスが登録されるユーザアカウント、および再生デバイスの地理的場所を示す情報(例えば、再生デバイスのI.P.アドレス)を含む、再生デバイスを記述する情報を含むことができる。多くの実施形態では、再生デバイスの能力は、再生サーバにアクセス可能なデータベース内の特定の再生能力に関連付けられる、製品IDを使用して識別される。
【0030】
再生サーバは、要求されたコンテンツの断片に関連付けられたアセットを読み出す(74)。再生サーバは、再生デバイスの能力に関連付けられた1つ以上のフィルタ、ユーザの選好、およびコンテンツ所有者の要件に基づいて、アセットをフィルタリングする(76)。故に、異なるトップレベルインデックスファイルが、(限定されないが)デバイス間の再生能力の差異、地理的場所の差異、および/または再生デバイスに関連付けられた言語選好の差異を含む、要因に基づいて、同一のコンテンツに関して生成されることができる。本発明のある実施形態による、コンテンツの特定の断片に関連付けられたアセットを読み出し、フィルタリングするためのプロセスは、以下にさらに論じられる。フィルタリング後、残っているアセットは、トップレベルインデックスファイルを生成する(78)ために利用されることができ、トップレベルインデックスファイルは、再生デバイスに提供されることができる(80)。いくつかの実施形態では、トップレベルインデックスファイルは、セキュア・ソケット・レイヤー(SSL)通信または同等のセキュアな通信プロトコルを含むが、それらに限定されない、セキュアな通信技法を使用して、セキュアに自動生成される。
【0031】
本発明のある実施形態による、トップレベルインデックスファイルを生成するための特定のプロセスは、図4に図示されるが、コンテンツの特定の断片に関連付けられたアセットに関する情報を収集するスことと、適応型ビットレートストリーミングシステムによって、再生デバイスに利用可能にされるアセットをインデックス化する、インデックスファイルを生成することとを伴う、種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。本発明の実施形態による、トップレベルインデックスファイル内に含まれるアセットをフィルタリングするための特定のプロセスは、以下に論じられる。
【0032】
(トップレベルインデックスファイル内に含むためのアセットのフィルタリング)
典型的には、再生デバイスによるコンテンツの適応型ビットレートストリーミングのために必要であるものより多くのアセットまたはストリームが、作成される。多くの事例では、ビデオストリームは、異なる種類の再生デバイスのために作成される。例えば、より低いビットレートストリームは、セルラーデータネットワークを経由して、コンテンツをストリームするであろうデバイスのために作成され得、より高いビットレートストリームは、高速インターネット接続を介して、インターネットに接続されるホームネットワークを経由して、コンテンツをストリームするであろうデバイスのために作成され得る。加えて、異なるビデオストリームは、異なる縦横比を伴って作成され得、異なるオーディオストリームは、異なる言語のために作成され得る。いくつかの実施形態では、コンテンツストアは、有料高解像度コンテンツを提案し、より低い解像度コンテンツのみを購入した再生デバイスは、高解像度コンテンツへのアクセスが許可されない。多くの実施形態では、特定のストリームは、ある地理的地域内ではアクセス可能でない場合がある。トップレベルインデックスファイルが、特定の再生デバイスからの要求に応答して、リアルタイムで作成されるとき、トップレベルインデックスファイルを作成する再生サーバは、最初に、コンテンツの特定の断片またはタイトルに関連付けられたアセットに関する情報を収集し得る。再生サーバは、次いで、1つ以上のフィルタを利用可能なアセットのリストに適用し、(限定されないが)再生デバイスの能力、ユーザの選好、および/またはコンテンツ所有者の要件に関する基準を含む、基準を満たす、アセットのリストを作り出し得る。
【0033】
本発明のある実施形態による、再生デバイスにアクセスが許諾されたアセットのリストを作り出すプロセスは、図5に図示される。プロセス90は、ビデオ(92)、オーディオ(94)、および/または字幕あるいはサブテキスト(96)アセットを受信することを含む。多くの実施形態では、プロセスはまた、(限定されないが)メタデータアセットおよび/またはトリックプレイストリームアセットを含む、他のタイプのアセットを受信することを含むことができる。コンテンツの断片に関連付けられたアセットが、読み出されると、再生サーバは、アセットをフィルタリングし(98)、再生デバイスによって再生不可能であるアセット、再生が許可されないアセット、または再生されることが所望されないアセットを除外することができる。
【0034】
再生サーバによって収集されたコンテンツに関連付けられたアセットに関する情報は、再生デバイスによって再生可能であり、かつコンテンツ所有者によって再生が許可されているアセットに関する情報を含むことができる。しかしながら、情報はまた、再生デバイスが再生を許可されていないアセット、またはユーザによって再生が所望されないアセットに関する情報を含み得る。再生が許可されないであろうアセットとして、(限定ではないが)購入されていない有料コンテンツアセット(例えば、高解像度ビデオストリーム)または特定の地理的場所または地域内で再生が許可されないアセット、(限定ではないが)サポートされていない形式でエンコードされたか、あるいは再生デバイスによってサポートされないプロファイルおよび/またはバッファサイズを使用するストリームを含む、再生デバイスが再生不可能なアセット、もしくは再生デバイスがセキュアに再生可能ではないアセット(例えば、暗号化されていないデジタル出力を有する再生デバイス、およびコンテンツプロバイダが、高解像度コンテンツがそのようなデバイスにストリームされることを可能にすることを所望しない)が挙げられ得る。ユーザが再生を所望し得ないアセットとして、(限定ではないが)特定のユーザに関連しない言語におけるコンテンツ、再生デバイスの表示縦横比と同一ではない縦横比を有するビデオアセット(ビデオアセットは、デバイスの表示縦横比と同一の縦横比を有するコンテンツに関連付けられる)、再生デバイスのディスプレイの解像度を上回る解像度でエンコードされたコンテンツ、および/または再生デバイスのネットワーク接続の最大データレートを超える最大ビットレートでエンコードされるコンテンツが挙げられる。特定のフィルタが、前述で論じられるが、アセットの初期リストをフィルタリングし(98)、トップレベルインデックスファイル内に含むためのアセットのリストを生成するために、再生サーバによって利用される基準は、特定の適応型ビットレートストリーミングシステムの要件によってのみ限定される。
【0035】
フィルタリングが、アセットのリストに適用されると、フィルタリングされたアセットのリストが、返され(100)、トップレベルインデックスファイルを生成するために使用されることができる。図示される実施形態では、フィルタリングされたアセットのリストは、再生サーバが、再生デバイスがアクセスすることを許可しているコンテンツストリームに対応する。
【0036】
特定のプロセスが、図5に図示されるが、種々のプロセスの任意のものが、本発明のある実施形態による、特定のアプリケーションの要件に対する必要に応じて、トップレベルインデックスファイル内に含まれるであろうアセットを読み出し、フィルタリングするために利用されることができる。
【0037】
(トップレベルインデックスSMILファイルの生成)
いくつかの実施形態では、再生デバイスからの要求に応答して、再生サーバによって生成されるトップレベルインデックスファイルは、SMILファイルであり、これは、ストリームの各々を記述するURIおよびストリームを含むコンテナファイルのリストを含む、XMLファイルである。URIは、ストリーム内に含まれるストリームの「システム−ビットレート」等の情報およびコンテナファイル内のデータの特定の断片の場所に関する情報を含むことができる。
【0038】
SMILファイルの基本的構造は、XML宣言およびSMIL要素を提供することを伴う。SMIL要素は、再生デバイスのために利用可能なストリームまたはアセットを定義し、一般的には、空のままにされるHEAD要素と、一般的には、PAR(パラレル)要素のみを含むBODY要素とを含む。PAR要素は、同時に再生することができるストリーム(すなわち、同時に提示されることができる、メディアを含む)を記述する。
【0039】
SMIL仕様は、適応型ビットレートストリーミングにおいて使用するために利用可能なストリームを指定するために利用されることができるPAR要素に対して、いくつかの子要素を定義する。VIDEO、AUDIO、およびTEXTSTREAM要素は、特定のビデオ、オーディオ、または字幕ストリームを定義するために利用されることができる。VIDEO、AUDIO、およびTEXTSTREAM要素は、集合的に、メディアオブジェクトと称されることができる。メディアオブジェクトの基本的属性は、関連ストリームを含むコンテナファイルへの完全パスまたはURIを指定するSRC属性と、3文字の言語コードを含むXML:LANG属性とである。メディアオブジェクトに関する追加の情報は、PARAM要素を使用して指定することができる。PARAM要素は、一般的な名前と値の対を提供するためのSMIL形式内の標準的方法である。本発明のいくつかの実施形態では、適応型ビットレートストリーミングの間に利用される特定のPARAM要素が定義される。
【0040】
多くの実施形態では、「ヘッダ−要求」PARAM要素は、ストリームを含むコンテナファイルのヘッダセクションのサイズを指定するように定義される。「ヘッダ−要求」PARAM要素の値は、一般的には、ファイルの開始とファイル内のエンコードされたメディアの開始との間のバイト数を指定する。多くの実施形態では、ヘッダは、メディアがエンコードされる様式に関する情報を含み、再生デバイスは、エンコードされたメディアの再生のためのデコーダを構成可能にするために、エンコードされたメディアの再生に先立って、ヘッダを読み出す。「ヘッダ−要求」PARAM要素の実施例は、
【0041】
【数1】

である。
【0042】
いくつかの実施形態では、「mime」PARAM要素は、ストリームのMIMEタイプを指定するように定義される。ストリームをH.264ストリーム(すなわち、MPEG−4アドバンスドビデオコーデック規格に従ってエンコードされたストリーム)として識別する「mime」PARAM要素は、
【0043】
【数2】

である。
【0044】
ストリームのMIMEタイプは、特定のストリーム(例えば、AACオーディオまたはUTF−8テキストストリーム)のエンコーディングに対する適切性に応じて、「mime」PARAM要素を使用して指定されることができる。
【0045】
メディアオブジェクトが、VIDEO要素であるとき、VIDEO要素によって識別されるコンテナファイル内のストリームのビットレートを指定するsystemBitrate属性と、エンコードされたビデオの寸法を画素で指定する幅および高さ属性とを含む追加の属性が、SMILファイル形式仕様内で定義される。追加の属性はまた、PARAM要素を使用して定義することができる。いくつかの実施形態では、ビデオストリームのVBVバッファサイズをバイトで指定する「vbv」PARAM要素が、定義される。ビデオバッファリング検証子(VBV)は、エンコードされたビデオストリームが、正確にバッファリングされ、デコーダデバイスで再生され得ることを確実にするために使用される、理論的MPEGビデオバッファモデルである。1000バイトのVBVサイズを指定する「vbv」PARAM要素の実施例は、
【0046】
【数3】

である。
【0047】
前述の属性を含む、VIDEO要素の実施例は、
【0048】
【数4】

である。
【0049】
本発明の実施形態による、適応型ビットレートストリーミングシステムは、トリックプレイストリームに対応することができ、これは、適応型ビットレートストリーミングのためにエンコードされるソースコンテンツのスムーズな視覚的検索を提供するために使用されることができる。トリックプレイストリームは、再生されると、ソースメディアを通して、視覚的検索が加速されているかのようにエンコードされることが可能であり、実際は、トリックプレイストリームは、単に、より低いフレームレートでソースメディアをエンコードする別個のトラックである。システムの多くの実施形態では、トリックプレイトラックの参照は、VIDEO要素は、VIDEO要素のsystemBaseProfile属性によって示される。他の実施形態では、種々の技法の任意のものも、特定のストリームがトリックプレイストリームであることを、トップレベルインデックスファイル内で示すために利用されることができる。本発明のある実施形態による、トリックプレイストリームVIDEO要素の実施例は、
【0050】
【数5】

である。
【0051】
本発明のいくつかの実施形態では、「reservedBandwidth」PARAM要素が、AUDIO要素のために定義されることができる。「reservedBandwidth」PARAM要素は、オーディオストリームのビットレートをKbpsで指定する。本発明のある実施形態に従って指定されるAUDIO要素の実施例は、
【0052】
【数6】

である。
【0053】
いくつかの実施形態では、「reservedBandwidth」PARAM要素はまた、TEXTSTREAM要素のために定義される。本発明のある実施形態による、「reservedBandwidth」PARAM要素を含む、TEXTSTREAM要素の実施例は、
【0054】
【数7】

である。
【0055】
他の実施形態では、種々の機構のいずれも、特定のアプリケーションに対して適切なように、VIDEO、AUDIO、およびSUBTITLE要素に関する情報を指定するために利用されることができる。
【0056】
適応型または代替ストリームを定義するために利用され得るSWITCH要素が、SMILファイル形式仕様内で定義される機構である。SWITCH要素が、異なるビットレートで代替ビデオストリームを指定するために利用され得る様式の実施例は、
【0057】
【数8】

である。
【0058】
SWTICH要素は、3つの代替ビデオストリームのURLを指定する。ファイル名は、ストリームの各々の異なるビットレートを示す。以下にさらに論じられるように、SMILファイル形式仕様は、トップレベルインデックスSMILファイル内において、ストリームおよびそれが含まれるコンテナファイルに関する追加の情報を指定するために、本発明の実施形態に従って利用されることができる、機構を提供する。
【0059】
本発明の多くの実施形態では、EXCL(除外)要素は、ストリーミング状態を伴う再生の間、適応しない代替トラックを定義するために使用される。例えば、EXCL要素は、代替オーディオトラックまたは代替字幕トラックを定義するために使用することができる。EXCL要素が、代替EnglishおよびFrenchオーディオストリームを指定するために利用されることができる様式の実施例は、
【0060】
【数9】

である。
【0061】
本発明のある実施形態による、2つの代替ビデオレベル、オーディオストリームおよび字幕ストリームの属性ならびにパラメータを定義する、トップレベルインデックスSMILファイルの実施例は、
【0062】
【数10】
【0063】
【数11】

である。
【0064】
再生デバイスがトップレベルインデックスSMILファイルを受信すると、再生デバイスは、SMILファイルを解析し、利用可能なストリームを識別することができる。再生デバイスは、次いで、初期ストリームを選択することができ、SMILファイルを使用して、コンテナファイルの部分を識別し、特定のストリームのエンコーディングに関する情報を取得するため、および/またはコンテナファイル内のエンコードされたメディアへのインデックスを取得するためにダウンロードすることができる。
【0065】
本発明のある実施形態による、トップレベルインデックスSMILファイルを構築するためのプロセスは、図6に図示される。プロセス110は、SMILファイルのためのヘッダを生成すること(112)と、ビデオ(114)、オーディオ(116)、字幕/サブテキスト(118)、および/または再生サーバが、再生デバイスがアクセスすることを許可しているアセットのリスト内にある、任意の他のアセット(例えば、トリックプレイストリーム、メタデータストリーム)のためのXMLストリングを生成することとを伴う。この時点で、最終SMILファイルが、生成される(120)。
【0066】
アセットIDが、ストリームを一意に識別するために、オーディオおよびテキストストリームに割り当てられる。この値は、サーバまでパスされ、したがって、サーバは、正確なオーディオ、字幕ストリームが再生されていることを把握する。
【0067】
【数12】

トップレベルインデックスSMILファイルが、前述されているが、種々のトップレベルインデックスファイル形式のいずれも、本発明のある実施形態による、特定のアプリケーションに対する適切性に応じて、特定の再生デバイスのためのトップレベルインデックスファイルを自動的に作成するために利用されることができる。本発明の実施形態による、適応型ビットレートストリーミングを使用して、エンコードされたメディアの再生を可能にするためのトップレベルインデックスファイルの使用は、以下にさらに論じられる。
【0068】
(保護されたストリーム)
コンテンツの特定の断片に関連付けられたアセットの一部または全部は、暗号化される、または技術的に保護され得る。デジタル著作権管理(DRM)システムは、再生デバイスが、プレーンテキストで(すなわち、暗号化されていない形態で)保護されたストリームにアクセスすることができるように、再生デバイスへの暗号情報の通信を可能にする。本発明の実施形態による、適応型ビットレートストリーミングシステムにおいて使用され得る、DRMシステムは、米国特許出願第13/340,632号に説明されている。多くの実施形態では、再生サーバは、DRMサーバとして作用する。いくつかの実施形態では、再生サーバは、暗号情報を再生サーバから取得するように構成される。
【0069】
本発明のある実施形態による、暗号情報を再生デバイスに提供するためのプロセスは、図7に図示される。プロセス130は、並行処理ルールをチェックし(132)、ユーザが現在コンテンツを再生中であるデバイスの数、および/またはコンテンツを再生する権利を要求したデバイスの数が、所定の並行処理限界より少ないことを確認することを含む。並行処理ルールが満たされていると仮定すると、プロセスは、再生デバイスによってアクセスされているコンテンツの特定の断片に関連付けられた保護されたストリームへのアクセスを有効にする暗号情報を読み出す(134)。再生サーバは、暗号情報を生成するか、または暗号情報をDRMサーバから取得することができる。暗号情報は、次いで、再生デバイスに提供される(136)。
【0070】
多くの実施形態では、再生デバイスは、再生デバイス上にローカルに記憶される、暗号情報を含む。デバイス暗号情報は、典型的には、再生デバイスが、最初に、再生サーバおよび/またはDRMサーバに登録されたときに、再生デバイスに発行される。いくつかの実施形態では、再生デバイスに提供されるコンテンツ暗号情報は、再生デバイスのデバイス暗号情報を使用して、アクセスされることができるように、暗号化される。他の実施形態では、種々の異なる技法の任意のものが、再生デバイスに暗号情報をセキュアに提供し、保護されたストリームにアクセスするために利用されることができる。
【0071】
暗号情報を再生デバイスに提供するための特定のプロセスが、図7に記載されるが、種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。加えて、再生デバイスは、再生サーバおよび/またはトップレベルインデックスファイルの自動生成から完全に独立するプロセスにおいて、暗号情報をDRMサーバから取得することができる。再生デバイスが、コンテンツの保護されたストリームを再生するための必要暗号情報を有すると、再生デバイスは、再生を開始することができる。再生の間、再生デバイスは、周期的再生イベント報告を再生サーバに提供することができる。本発明の実施形態による、再生イベント報告の生成および取扱は、以下にさらに論じられる。
【0072】
(再生イベント報告)
本発明の実施形態による、再生デバイスは、周期的に、および/または(限定されないが)ユーザ命令(例えば、再生、停止、中断コマンド)の受信等の特定のイベントに応答して、再生イベント報告を生成することができる。イベント報告内に含まれ得る、情報は、典型的には、再生デバイスによってアクセスされているストリームと、ストリームのうちの1つ以上における現在の再生場所とを含む。いくつかの実施形態では、イベント報告として、(限定ではないが)時間、オーディオ、および/または字幕アセットID、および/または帯域幅測定が挙げられる。再生場所は、コンテンツの再生を再開するために利用されることができる。サーバは、再生イベントを利用して、(限定されないが)あるデバイスから別のデバイスへの再生のシフトを有効にすることを含む、種々の機能を行なうことができる。ユーザが、第1のデバイス上でコンテンツの再生を開始し、次いで、第2のデバイス上で同一のコンテンツの再生を開始する場合、再生サーバは、第2の再生デバイスに、第1のデバイスからの最も直近の再生イベント報告から、現在の再生場所を提供することができる。第2の再生デバイスは、次いで、再生場所情報を使用して、コンテンツの再生を再開することができる。このように、ユーザは、第1の再生デバイス上で視聴しているコンテンツを第2の再生デバイスにシームレスに遷移することができる。
【0073】
本発明のある実施形態による、再生イベント報告を取り扱うためのプロセスは、図8に図示される。プロセス150は、再生イベント報告を受信すること(152)と、適切な応答を決定することとを含む。並行処理限界が存在する実施形態では、再生イベント報告に対する応答は、所定の並行処理限界を超える別のデバイス上でコンテンツを再生するための要求に応答して、コンテンツの再生を「停止」するように、再生デバイスに指示するものであり得る。コンテンツが貸し出されている場合、再生は、貸出期間を超えている場合があり、再生サーバは、再生を「停止」するように、再生デバイスに指示することができる。再生サーバはまた、代替ストリームからのコンテンツを要求する、または異なるコンテンツ配信ネットワーク上のコンテンツへのアクセスに切り替えるように、再生デバイスに指示し得、これは、新しいトップレベルインデックスファイルの伝送を伴い得る。いくつかの実施形態では、再生サーバは、エラーメッセージまたはストリングを表示するように、再生デバイスに指示することができる。しかしながら、典型的には、応答は、コンテンツの再生を継続するように、再生デバイスに指示するものである。再生サーバが再生を一時停止する、または再生を継続することを可能にするであろう、特定の条件は、特定のアプリケーションの要件に基づいて決定される。応答は、再生デバイスに送信され(156)、再生デバイスは、適宜、再生を管理する。
【0074】
再生イベント報告を取り扱うための特定のプロセスが、図8に図示されるが、特定のアプリケーションの要件に適切な再生イベント報告を取り扱うための種々のプロセスの任意のものが、本発明の実施形態に従って、利用されることができる。
【0075】
(適応型ストリーミングの間の通信)
再生デバイスからのコンテンツにアクセスするための要求に応じて、トップレベルインデックスファイルを自動的に生成するためのプロセスは、前述されている。本発明のある実施形態による、コンテンツの適応型ビットレートストリーミングの間の再生デバイス、再生サーバ、およびコンテンツ配信ネットワーク間の通信を図示するタイミング図は、図9に図示される。タイミング図は、再生サーバ18からインデックスファイルを要求する、再生デバイス12を示す。再生サーバは、前述のプロセスに類似するプロセスを使用して、トップレベルインデックスファイルを生成することによって、要求に応答する。再生サーバ18は、トップレベルインデックスファイルを再生デバイス12に提供し、次いで、再生デバイス12は、再生要求を再生サーバに送信する。再生サーバは、並行処理ルールをチェックし、保護されたストリームの再生を有効にする暗号情報を読み出す。暗号情報は、再生デバイス12に提供される。再生デバイスは、次いで、トップレベルインデックスファイルを使用して、コンテンツ配信ネットワーク14からコンテンツを要求することができる。多くの実施形態では、再生デバイスは、適応型ビットレートストリーミングを利用して、コンテンツをコンテンツ配信ネットワークサーバから取得する。再生デバイス12は、プレーンテキストで、コンテンツの保護されたストリームにアクセスするために再生サーバ18から受信された暗号情報を利用して、コンテンツを再生することができる。再生の間、再生デバイス12は、再生イベント報告を再生サーバに送信する。再生サーバ18は、再生イベント報告を処理し、再生デバイスに、(限定されないが)コンテンツの再生の一時停止を含む、種々の機能の任意のものを行なわせ得る応答を再生デバイス12に送信する。
【0076】
通信の特定のシーケンスが、図9に図示されるが、再生デバイス、再生サーバ、およびコンテンツ配信ネットワークは、本発明の実施形態による、特定のアプリケーションに適切な種々の方法の任意のもので通信することができる。
【0077】
本発明は、ある特定の側面において説明されたが、多くの追加の修正および変形例が、当業者に明白となるであろう。したがって、本発明は、例えば、本発明の範囲および精神から逸脱することなく、それらが準拠する特定の規格内で指定されるもの以外の特徴に対応する、エンコーダおよびデコーダを利用する、実装における種々の変更を含め、具体的に説明される以外に、別様に実践され得ることを理解されたい。したがって、本発明の実施形態は、あらゆる観点において、制限ではなく、例示と見なされるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9