(57)【要約】      （修正有）【課題】コンテンツを符号化し、デバイス間でコンテンツを共有する。【解決手段】メディアコンテンツの共有部分を要求するために、再生デバイスは、デバイスの再生能力を示す情報を含む要求を生成し、コンテンツサーバに送信する。コンテンツサーバは、要求を受信し、要求の中の情報から再生デバイスの再生能力を判定し、メディアコンテンツを取得するために再生デバイスによって使用され得るアセットを判定し、判定されたアセットについての情報を含む、再生デバイス用のトップレベルインデックスファイルを生成する。ついで、トップレベルインデックスファイルは、示されたアセットを使用してメディアコンテンツを取得するために、トップレベルインデックスファイルを使用し得る再生デバイスに送信される。【選択図】図８
2020141415.tif 000002
【特許請求の範囲】
【請求項１】
明細書に記載された発明。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、異なる能力を伴うデバイスとコンテンツを共有することに関し、より具体的には、コンテンツファイルを１つまたはそれを上回る異なる符号化にトランスコードし、再生デバイスの能力に基づいて、再生デバイス上の符号化されたコンテンツの再生で使用するための代替的符号化のインデックスファイルを生成することに関する。
【背景技術】
【０００２】
技術の進歩は、そのような活動に従事する種々のプラットフォームを提供する多くの異なる技術会社を用いて、ユーザの異なるデバイスおよび／または異なるユーザ（例えば、友人ならびに家族）の間でメディアコンテンツ（すなわち、いくつかあるファイルタイプの中でも、写真、ビデオ、文書）を瞬時かつシームレスに共有する能力をコンピュータデバイスのユーザに提供してきた。例えば、ソーシャルメディアは、モバイルデバイス、デスクトップコンピュータ、タブレット、および異なるビデオ再生能力を伴う多くの他のタイプのデバイスにわたる写真ならびにビデオの瞬時共有を許可してきた。他のクラウドベースの記憶プラットフォームは、例えば、コンテンツの場所へのＵＲＬを、コンテンツを共有したい他のユーザに提供することによって、ユーザがコンテンツを共有することを可能にしてきた。異なるサービスが、コンテンツをユーザに配信するために異なる技術実装を使用し得る。技術プロバイダは、多くの場合、特定のコンテンツ配信機構を実装するときに、プラットフォーム上にコンテンツを記憶するために必要とされる記憶装置、コンテンツを異なるデバイスにストリーム配信するために必要な処理、帯域幅要件を含むネットワーク考慮事項、およびコンテンツを視聴する際にモバイルデバイスによって体験される待ち時間の量を含むが、それらに限定されない、多くの異なる要因を考慮する。さらに、利用可能なビデオの品質の急速な進歩により、これらの考慮事項は、特定の技術規格を実装するときに、さらに不可欠になる。
【０００３】
一般に、ビデオコンテンツは、ストリーミングおよび／またはダウンロードによってユーザデバイスに配信されてもよい。メディアのストリーミングという用語は、再生デバイス上のメディアの再生を説明し、メディアは、サーバ上に記憶され、再生中にネットワークを経由して再生デバイスに継続的に送信される。典型的には、再生デバイスが、メディアの次の部分の受信に先立って、全てのバッファリングされたメディアの再生を完了することに起因して、再生デバイスは、再生の途絶を防止するように、再生中の任意の所与の時間に、十分な量のメディアをバッファ内に記憶する。適応型ビットレートストリーミングまたは適応型ストリーミングは、本ストリーミング条件（例えば、再生デバイスのネットワーク帯域幅およびビデオデコーディング容量）をリアルタイムで検出し、適宜、ストリーミングされるメディアの質を調節することを伴う。典型的には、ソースメディアは、異なる最大ビットレートを有する別個のストリームとして符号化され、再生デバイスまたはクライアントは、利用可能なリソースに応じて、異なる符号化のストリーミングを切り替える。再生デバイスが適応型ビットレートストリーミングを開始するとき、再生デバイスは、典型的には、ストリームの初期セットからメディアの部分を要求することによって始動する。再生デバイスが、要求されたメディアをダウンロードするにつれて、再生デバイスは、利用可能な帯域幅を測定することができる。利用可能な帯域幅が増加または減少する場合、再生デバイスは、より高いまたはより低いビットレートストリームに切り替えることができる。
【０００４】
適応型ストリーミングソリューションは、典型的には、サーバと再生デバイスとの間でメディアをストリーム配信するために、ＲＦＣ  ２６１６としてＩｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  ＦｏｒｃｅおよびＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって公開されたハイパーテキスト転送プロトコル（ＨＴＴＰ）を利用する。ＨＴＴＰは、再生デバイスがファイル内のバイト範囲を要求することを可能にする、ステートレスプロトコルである。サーバが、情報を要求する再生デバイスの状態に関する情報、または再生デバイスから受信される要求に応答するために再生デバイスによって要求されるバイト範囲を記録するように要求されないため、ＨＴＴＰは、ステートレスと表される。
【０００５】
適応型ストリーミングシステムでは、ソースメディアは、典型的には、実際のビデオおよびオーディオデータを含有する、いくつかの代替的ストリームを指し示すトップレベルインデックスファイルとして、メディアサーバ上に記憶される。各ストリームは、典型的には、１つまたはそれを上回るコンテナファイルに記憶される。異なる適応型ストリーミングソリューションは、典型的には、異なるインデックスおよびメディアコンテナを利用する。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって開発された同期化マルチメディア統合言語（ＳＭＩＬ）は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，  Ｗａｓｈｉｎｇｔｏｎ）によって開発されたＩＩＳ  Ｓｍｏｏｔｈ
Ｓｔｒｅａｍｉｎｇ、およびＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（Ｓａｎ  Ｊｏｓｅ，  Ｃａｌｉｆｏｒｎｉａ）によって開発されたＦｌａｓｈ  Ｄｙｎａｍｉｃ  Ｓｔｒｅａｍｉｎｇを含む、いくつかの適応型ストリーミングソリューションにおいて、インデックスを作成するために利用される。Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃｏｒｐｏｒａｔｅｄ（Ｃｕｐｅｒｔｉｎｏ，  Ｃａｌｉｆｏｒｎｉａ）によって開発されたＨＴＴＰ適応型ビットレートストリーミングは、典型的には、メディアコンテナファイルを識別するＵＲＩのリストを含有する、テキストファイルである、拡張Ｍ３Ｕプレイリストファイル（．Ｍ３Ｕ８）を使用して、インデックスファイルを実装する。最も一般的に使用されているメディアコンテナ形式は、ＭＰＥＧ−４  Ｐａｒｔ  １４（すなわち、ＩＳＯ／ＩＥＣ  １４４９６−１４）で規定されるＭＰ４コンテナ形式、およびＭＰＥＧ−２  Ｐａｒｔ  １（すなわち、ＩＳＯ／ＩＥＣ規格１３８１８−１）で規定されるＭＰＥＧトランスポートストリーム（ＴＳ）コンテナである。ＭＰ４コンテナ形式は、ＩＩＳ  Ｓｍｏｏｔｈ  ＳｔｒｅａｍｉｎｇおよびＦｌａｓｈ  Ｄｙｎａｍｉｃ  Ｓｔｒｅａｍｉｎｇで利用される。ＴＳコンテナは、ＨＴＴＰ適応型ビットレートストリーミングで使用される。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明のいくつかの実施形態による、コンテンツを符号化し、デバイスの間で共有するためのシステムおよび方法が開示される。本発明のいくつかの実施形態によると、メディアコンテンツは、以下の様式で共有される。コンテンツサーバは、第１の再生デバイスから共有メディアコンテンツを受信する。コンテンツサーバは、複数の代替的ストリームの中に共有メディアコンテンツを提供するアセットを含む、共有メディアコンテンツのトランスコーディングを取得する。次いで、コンテンツサーバは、第２の再生デバイスからメディアコンテンツの要求を受信する。要求は、第２の再生デバイスのデバイス能力情報を含む。コンテンツサーバは、第２の再生デバイスのデバイス能力情報に基づいて、共有メディアコンテンツを第２の再生デバイスに提供するために使用されることができるアセットの情報を含む、トップレベルインデックスファイルを生成し、コンテンツサーバから第２の再生デバイスにトップレベルインデックスファイルを伝送する。
【０００７】
いくつかの実施形態によると、トップレベルインデックスファイルは、以下の様式で生成される。コンテンツサーバは、アセットを記憶するメモリから、共有メディアコンテンツを提供するアセットについての情報を読み出す。第２の再生デバイスの能力は、デバイス能力情報から、コンテンツサーバによって判定され、アセットについての情報は、第２の再生デバイスの判定された能力に基づいてコンテンツサーバによってフィルタ処理され、第２の再生デバイスの能力の基準を満たすアセットの情報は、コンテンツサーバを使用して、トップレベルインデックスファイルに含まれる。
【０００８】
多くの実施形態によると、第２の再生デバイスによって提供されるデバイス能力情報は、第２の再生デバイスの製品識別子を含み、第２の再生デバイスの能力の判定するステップは、デバイス能力情報に含まれる第２の再生デバイスの製品識別子を有する、再生デバイスの能力を記憶するメモリから、第２の再生デバイスの能力を読み出す、コンテンツサーバによって判定される。いくつかの実施形態では、第２の再生デバイスの能力は、要求の中のデバイス能力情報に含まれ、コンテンツサーバは、コンテンツサーバを使用して、要求の中のデバイス能力情報から能力を取得することによって、第２の再生デバイスの能力を判定する。
【０００９】
本発明のいくつかの実施形態によると、トップレベルインデックスファイルに含まれるアセットはまた、メモリに記憶される共有メディアコンテンツを提供するための異なるアセットの使用を調整する規則に基づく。これらの実施形態のうちの多くによると、異なるアセットの使用を調整する規則は、再生デバイスのタイプ、デバイスの再生能力、およびデバイスの場所、ならびに要求された言語から成る規則から選択される、少なくとも１つの規則を含む。
【００１０】
いくつかの実施形態によると、トップレベルインデックスファイルに含まれるアセットはまた、ユーザ選好およびコンテンツ所有者の要件から成る群から選択される、基準群から選択される少なくとも１つの基準に基づく。
【００１１】
いくつかの実施形態によると、再生デバイスは、以下の様式で共有コンテンツを受信する。再生デバイス
は、別の再生デバイスによって再生デバイスと共有される共有メディアコンテンツの要求を生成する。要求は、再生デバイスのデバイス能力情報と、他の再生デバイスから受信された共有メディアコンテンツと関連付けられるトークンとを含む。再生デバイスは、要求をコンテンツサーバに伝送する。要求に応答して、再生デバイスは、コンテンツサーバからトップレベルインデックスファイルを受信する。トップレベルインデックスファイルは、再生デバイスのデバイス能力情報に基づいて、デバイスへの特定のメディアコンテンツを取得するために使用されることができるアセットの情報を含む。次いで、再生デバイスは、トップインデックスファイル内の情報を使用して、再生デバイス内でメディアコンテンツを取得する。
例えば、本願は以下の項目を提供する。
（項目１）
符号化されたメディアを再生デバイスに提供する、コンテンツサーバであって、
プロセッサと、
前記プロセッサによって可読であるメモリと、
前記メモリ内の命令であって、前記命令は、前記プロセッサによって読み取られると、前記プロセッサに、
第１の再生デバイスから共有メディアコンテンツを受信することと、
複数の代替的ストリームの中に前記共有メディアコンテンツを提供するアセットを含む、前記共有メディアコンテンツのトランスコーディングを取得することと、
第２の再生デバイスから前記メディアコンテンツの要求を受信することであって、前記要求は、前記第２の再生デバイスのデバイス能力情報を含む、ことと、
前記第２の再生デバイスの前記デバイス能力情報に基づいて、前記共有メディアコンテンツを前記第２の再生デバイスに提供するために使用されることができるアセットの情報を含む、トップレベルインデックスファイルを生成することと、
前記トップレベルインデックスファイルを前記第２の再生デバイスに伝送することと
を行わせるように指図する、命令と
を備える、コンテンツサーバ。
（項目２）
前記命令はさらに、前記プロセッサに、
アセットを記憶するメモリから、前記共有メディアコンテンツを提供する前記アセットについての情報を読み出すことと、
前記要求の中の前記デバイス能力情報から、前記第２の再生デバイスの能力を判定することと、
前記第２の再生デバイスの前記判定された能力を使用して、前記アセットについての前記情報をフィルタ処理することと、
前記第２の再生デバイスの前記能力の基準を満たすアセットの情報を前記トップレベルインデックスファイルに含むことと
を行うように指図する、項目１に記載のコンテンツサーバ。
（項目３）
前記第２の再生デバイスによって提供される前記デバイス能力情報は、前記第２の再生デバイスの製品識別子を含み、前記第２の再生デバイスの能力を判定する前記命令は、前記プロセッサに、
前記デバイス能力情報に含まれる前記第２の再生デバイスの前記製品識別子を有する、再生デバイスの能力を記憶するメモリから、前記第２の再生デバイスの前記能力を読み出すように指図する、項目２に記載のコンテンツサーバ。
（項目４）
前記第２の再生デバイスの前記能力は、前記要求の中の前記デバイス能力情報に含まれ、前記第２の再生デバイスの能力を判定する前記命令は、前記プロセッサに、前記要求の中の前記デバイス能力情報から前記第２の再生デバイスの前記能力を取得するように指図する、項目２に記載のコンテンツサーバ。
（項目５）
前記トップレベルインデックスファイルに含まれる前記アセットはまた、メモリに記憶される前記メディアコンテンツを提供するための異なるアセットの使用を調整する規則に基づく、項目１に記載のコンテンツサーバ。
（項目６）
異なるアセットの使用を調整する前記規則は、再生デバイスのタイプ、前記デバイスの再生能力、および前記デバイスの場所、ならびに要求された言語から成る規則から選択される、少なくとも１つの規則を含む、項目１に記載のコンテンツサーバ。
（項目７）
前記トップレベルインデックスファイルに含まれる前記アセットはまた、ユーザ選好およびコンテンツ所有者の要件から成る群から選択される、基準群から選択される少なくとも１つの基準に基づく、項目１に記載のコンテンツサーバ。
（項目８）
前記要求は、前記第２の再生デバイスが前記第１の再生デバイスから受信したトークンを含み、前記命令はさらに、前記プロセッサに、前記トークンを認証し、前記トークンの認証に応答して、前記共有ビデオコンテンツへのアクセスを提供するように指図する、項目１に記載のコンテンツサーバ。
（項目９）
前記共有ビデオコンテンツへのアクセスを提供する前記命令は、前記プロセッサに、前記共有メディアコンテンツの暗号解読情報を第２の再生デバイスに提供するように指図する命令を含む、項目８に記載のコンテンツサーバ。
（項目１０）
メディアコンテンツを取得するために使用され得るアセットの情報を含む、トップレベルインデックスファイルを再生デバイスに提供するための方法であって、
コンテンツサーバ内で、第１の再生デバイスから共有メディアコンテンツを受信するステップと、
前記コンテンツサーバ内で、複数の代替的ストリームの中に前記共有メディアコンテンツを提供するアセットを含む、前記共有メディアコンテンツのトランスコーディングを取得するステップと、
前記コンテンツサーバ内で、第２の再生デバイスから前記メディアコンテンツの要求を受信するステップであって、前記要求は、前記第２の再生デバイスのデバイス能力情報を含む、ステップと、
前記コンテンツサーバを使用して、前記第２の再生デバイスの前記デバイス能力情報に基づいて、特定のメディアコンテンツを前記第２の再生デバイスに提供するために使用されることができるアセットの情報を含む、トップレベルインデックスファイルを生成するステップと、
前記コンテンツサーバから前記第２の再生デバイスに前記トップレベルインデックスファイルを伝送するステップと、
を含む、方法。
（項目１１）
前記トップレベルインデックスファイルを生成するステップは、
前記コンテンツサーバを使用して、アセットを記憶するメモリから、前記共有メディアコンテンツを提供する前記アセットについての情報を読み出すステップと、
前記コンテンツサーバを使用して、前記デバイス能力情報から前記第２の再生デバイスの能力を判定するステップと、
前記コンテンツサーバを使用して、前記第２の再生デバイスの前記判定された能力に基づいて、前記アセットについての前記情報をフィルタ処理するステップと、
前記コンテンツサーバを使用して、前記第２の再生デバイスの前記能力の基準を満たすアセットの情報を前記トップレベルインデックスファイルに含むステップと、
を含む、項目１０に記載の方法。
（項目１２）
前記第２の再生デバイスによって提供される前記デバイス能力情報は、前記第２の再生デバイスの製品識別子を含み、前記第２の再生デバイスの前記能力を判定するステップは、
前記コンテンツサーバを使用して、前記デバイス能力情報に含まれる前記第２の再生デバイスの前記製品識別子を有する、再生デバイスの能力を記憶するメモリから、前記第２の再生デバイスの前記能力を読み出すステップを含む、項目１１に記載の方法。
（項目１３）
前記第２の再生デバイスの前記能力は、前記要求の中の前記デバイス能力情報に含まれ、前記第２の再生デバイスの前記能力を判定するステップは、前記コンテンツサーバを使用して、前記要求の中の前記デバイス能力情報から前記能力を取得するステップを含む、項目１１に記載の方法。
（項目１４）
前記トップレベルインデックスファイルに含まれる前記アセットはまた、メモリに記憶される前記メディアコンテンツを提供するための異なるアセットの使用を調整する規則に基づく、項目１０に記載の方法。
（項目１５）
異なるアセットの使用を調整する前記規則は、再生デバイスのタイプ、前記デバイスの再生能力、および前記デバイスの場所、ならびに要求された言語から成る規則から選択される、少なくとも１つの規則を含む、項目１０に記載の方法。
（項目１６）
前記トップレベルインデックスファイルに含まれる前記アセットはまた、ユーザ選好およびコンテンツ所有者の要件から成る群から選択される、基準群から選択される少なくとも１つの基準に基づく、項目８に記載の方法。
（項目１７）
プロセッサ命令を含有する、非一過性の機械可読媒体であって、プロセッサによる前記命令の実行は、前記プロセッサに、特定のメディアコンテンツを取得するために使用するアセットについての情報を含む、トップレベルインデックスファイルを取得するプロセスを行わせ、
前記プロセスは、
第１の再生デバイスから共有メディアコンテンツを受信するステップと、
複数の代替的ストリームの中に前記共有メディアコンテンツを提供するアセットを含む、前記共有メディアコンテンツのトランスコーディングを取得するステップと、
第２の再生デバイスから前記共有メディアコンテンツの要求を受信するステップであって、前記要求は、前記第２の再生デバイスのデバイス能力情報を含む、ステップと、
前記第２の再生デバイスの前記デバイス能力情報に基づいて、特定のメディアコンテンツを前記第２の再生デバイスに提供するために使用されることができるアセットの情報を含む、トップレベルインデックスファイルを生成するステップと、
前記トップレベルインデックスファイルを前記第２の再生デバイスに伝送するステップと、
を含む、非一過性の機械可読媒体。
（項目１８）
再生デバイスであって、
プロセッサと、
前記プロセッサによって可読であるメモリと、
前記メモリ内の命令であって、前記プロセッサによって読み取られると、前記プロセッサに、
別の再生デバイスによって前記再生デバイスと共有される共有メディアコンテンツの要求を生成することであって、前記要求は、前記再生デバイスのデバイス能力情報と、他の再生デバイスから受信された共有メディアコンテンツと関連付けられるトークンとを含む、ことと、
前記要求をコンテンツサーバに伝送することと、
前記再生デバイスの前記デバイス能力情報に基づいて、前記デバイスへの前記共有メディアコンテンツを取得するために使用されることができるアセットの情報を含む、トップレベルインデックスファイルを受信することと、
前記トップインデックスファイル内の前記情報を使用して、前記メディアコンテンツを取得することと
を行うように指図する、命令と、
を備える、再生デバイス。
（項目１９）
前記要求を生成する前記命令は、前記再生デバイスの能力を判定するために使用され得る製品識別子を前記要求に含む命令を備える、項目１６に記載の再生デバイス。
（項目２０）
特定のメディアコンテンツのアセットについての情報を含む、トップインデックスファイルを取得するための方法であって、
別の再生デバイスによって前記再生デバイスと共有される共有メディアコンテンツの要求を生成するステップであって、前記要求は、前記再生デバイスのデバイス能力情報と、他の再生デバイスから受信された前記共有メディアコンテンツと関連付けられるトークンとを含む、ステップと、
前記再生デバイスからコンテンツサーバに前記要求を伝送するステップと、
前記再生デバイス内の前記コンテンツサーバからトップレベルインデックスファイルを受信するステップであって、前記トップレベルインデックスファイルは、前記再生デバイスの前記デバイス能力情報に基づいて、前記デバイスへの前記特定のメディアコンテンツを取得するために使用されることができるアセットの情報を含む、ステップと、
前記トップインデックスファイル内の前記情報を使用して、再生デバイス内で前記メディアコンテンツを取得するステップと、
を含む、方法。
（項目２１）
前記要求を生成するステップは、前記再生デバイスの前記能力を判定するために使用され得る製品識別子を前記要求に含むステップを含む、項目１８に記載の方法。
（項目２２）
プロセッサ命令を含有する、非一過性の機械可読媒体であって、プロセッサによる前記命令の実行は、再生デバイス内の前記プロセッサに、特定のメディアコンテンツを取得するために使用するアセットについての情報を含む、トップレベルインデックスファイルを取得するプロセスを行わせ、前記プロセスは、
別の再生デバイスによって前記再生デバイスと共有される共有メディアコンテンツの要求を生成するステップであって、前記要求は、前記再生デバイスのデバイス能力情報と、他の再生デバイスから受信された前記共有メディアコンテンツと関連付けられるトークンとを含む、ステップと、
前記要求をコンテンツサーバに伝送するステップと、
前記コンテンツサーバからトップレベルインデックスファイルを受信するステップであって、前記トップレベルインデックスファイルは、前記再生デバイスの前記デバイス能力情報に基づいて、前記デバイスへの特定のメディアコンテンツを取得するために使用されることができるアセットの情報を含む、ステップと、
前記トップインデックスファイル内の前記情報を使用して、前記メディアコンテンツを取得するステップと、
を含む、非一過性の機械可読媒体。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明のある実施形態による、再生サーバと、トランスコーディングサーバとを含む、コンテンツ配信システムのネットワーク図である。
【００１３】
【図２】図２は、本発明のある実施形態による、再生デバイスのシステム図である。
【００１４】
【図３】図３は、本発明のある実施形態による、コンテンツを複数の異なるデバイスに配信するように構成される再生サーバである。
【００１５】
【図４】図４は、本発明のある実施形態による、コンテンツトランスコーディングおよび配信システムのアーキテクチャ図である。
【００１６】
【図５】図５は、１つまたはそれを上回る異なるユーザデバイスと共有するためのコンテンツをアップロードしてトランスコードするためのプロセスを概念的に図示する。
【００１７】
【図６】図６は、本発明のある実施形態による、再生デバイスからの要求に応答して生成されるトップレベルインデックスファイルを使用して、コンテンツを再生するためのプロセスを概念的に図示する。
【００１８】
【図７】図７は、本発明のある実施形態による、再生サーバによって維持されるコンテンツの具体的断片と関連付けられるアセットに関する情報を使用して、トップレベルインデックスファイルを生成するためのプロセスを概念的に図示する。
【００１９】
【図８】図８は、本発明のある実施形態による、コンテンツをユーザデバイスにアップロードして共有するために異なるデバイスと種々のサーバシステムとの間に一連の通信を提供する、通信図を概念的に図示する。
【発明を実施するための形態】
【００２０】
ここで図面を参照すると、本発明の実施形態による、符号化されたコンテンツファイルを１つまたはそれを上回る異なる符号化にトランスコードし、デバイスの能力に基づいて、符号化されたコンテンツの再生で使用するための異なる符号化のトップレベルインデックスファイルを生成するためのシステムおよび方法が図示されている。いくつかの実施形態では、（限定されないが）携帯電話および／またはタブレットコンピュータ等のコンピュータデバイス上のアプリケーションが、コンピュータデバイスによって捕捉ならびに符号化されるビデオコンテンツを共有するために使用される。いくつかの実施形態では、共有プロセスは、他のデバイスへの適応型ビットレートストリーミングのために、符号化されたコンテンツを異なる符号化にトランスコードするコンテンツ配信システムに、符号化されたビデオファイルをアップロードするステップを伴う。多くの実施形態では、コンテンツ配信システムは、コンテンツの安全な共有を提供するように、異なる符号化の分布を制御する。異なる符号化は、コンテンツファイルが共有されるであろう、異なるデバイスの能力に基づき得る。例えば、「４Ｋ」または「超ＨＤ」解像度で捕捉され、異なるビデオデコーダおよび再生能力を伴ういくつかの異なるデバイスと共有される、ビデオコンテンツは、４Ｋストリーム用のＨＥＶＣコーデックおよびＨＤ（すなわち、１０８０ｐ）ストリーム用のＨ．２６４コーデックを使用して、トランスコードされてもよい。同様に、コンテンツ配信システムは、デバイスのそれぞれの特定の能力に基づいて、コンテンツファイルが共有されるであろう、異なるデバイスのための異なるトップレベルインデックスファイルを生成することができる。具体的には、４Ｋ符号化ストリームを再生することが可能なデバイスに関して、デバイスに提供されるトップレベルインデックスファイルは、コンテンツファイルの利用可能なＨＥＶＣおよびＨ．２６４符号化の両方についての情報を含んでもよい。対照的に、４Ｋ  ＨＥＶＣストリームを再生することが可能ではないデバイスに関して、デバイスに提供されるトップレベルインデックスファイルは、ＨＤＨ．２６４ストリームを取得するための情報のみを含んでもよい。いくつかの実施形態では、コンテンツファイルは、コンテンツが異なる再生能力（例えば、符号化／復号能力、解像度、ネットワーク帯域幅）および／または種々の他の要件を伴うデバイスと共有されることを可能にするために、いくつかの異なる符号化規格（例えば、Ｈ．２６５／ＭＰＥＧ−Ｈ  ＨＥＶＣ、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ、Ｈ．２６３／ＭＰＥＧ−４  Ｐａｒｔ  ２、Ｈ．２６２／ＭＰＥＧ−２、ＧｏｏｇｌｅＴＭ（Ｏｎ２）コーデック、ＭｉｃｒｏｓｏｆｔＴＭコーデック）にトランスコードされてもよい。利用される具体的コーデックは、典型的には、具体的用途の要件に依存している。
【００２１】
トップレベルインデックスは、コンテンツをストリーム配信および再生するために再生デバイスによって利用されることができる、メディア（例えば、オーディオ、ビデオ、メタデータ、および字幕）の異なる符号化（例えば、Ｈ．２６５／ＭＰＥＧ−Ｈ  ＨＥＶＣ、Ｈ．２６４／ＭＰＥＧ−４）を含有する、コンテナファイルの場所ならびにコンテンツを説明するファイルである。適応型ビットレートストリーミングシステムでは、トップレベルインデックスファイルは、典型的には、再生デバイスが切り替えることができる、コンテンツファイルの代替的符号化を参照する。多くの実施形態では、トップレベルインデックスファイルは、再生デバイスからのコンテンツファイルの要求に応答して生成される。例えば、再生デバイスＡは、ビデオファイルを再生デバイスＢと共有してもよく、トップレベルインデックスファイルは、コンテンツの再生を要求する再生デバイスＢ上で生成されてもよい。
【００２２】
いくつかの実施形態では、トップレベルインデックスファイルを生成するプロセスは、コンテンツの具体的断片と関連付けられるストリームを含有する、異なる符号化またはコンテナファイルの全てを判定し、次いで、１つまたはそれを上回る所定の基準および／もしくはデバイスの能力に基づいて、アセットをフィルタ処理するステップを伴う。いくつかの実施形態では、アセットは、（限定されないが）コンテンツ所有者によって定義されたビジネス規則、コンテンツが共有されるであろうユーザのデバイス能力、および／またはユーザアカウントと関連付けられる情報を含む、所定の基準に基づいてフィルタ処理される。多くの実施形態では、生成されるトップレベルビデオファイルは、ＳＭＩＬファイルである。ある実施形態では、トップレベルインデックスファイルは、ＭＰＥＧ−ＤＡＳＨ規格内で使用されるＭＰＤファイルである。他の実施形態では、種々のファイル形式のうちのいずれかが、本発明の実施形態によるトップレベルインデックスファイルを生成するために、利用されることができる。
【００２３】
いくつかの実施形態では、再生サーバは、コンテンツファイルを複数の異なるユーザデバイスと共有する再生デバイスからの要求に応じて、１つまたはそれを上回るトップレベルインデックスファイルであって、コンテンツファイルが共有される特定のデバイスのための各インデックスファイルを自動的に生成し、再生サーバはまた、異なるデバイスに暗号情報を提供し、コンテンツの保護されたストリームの再生を可能にすることができる。本発明の実施形態による、コンテンツを異なるユーザおよび／またはデバイスと共有するための異なる符号化アセットにトランスコードし、再生デバイスからの要求に応答して、トップレベルインデックスファイルを生成するための再生デバイス、再生サーバ、ならびにプロセスが、以下でさらに議論される。
【００２４】
コンテンツ配信システムアーキテクチャ
本発明の多くの実施形態によるコンテンツ配信システムは、異なるデバイスに共有されるコンテンツファイルを複数の異なる符号化ストリームにトランスコードする、再生サーバを含む。デバイスがコンテンツの再生を要求するとき、コンテンツ配信システムは、要求に応答し、再生デバイスの異なる能力に基づいて、トップレベルインデックスファイルを自動的に生成することができる。本発明のある実施形態によるコンテンツ配信システムが、図１に図示されている。コンテンツ配信システム１００は、他のユーザデバイスと共有するためのコンテンツをアップロードし、および／またはインターネット等のネットワーク１６０を介してコンテンツ配信ネットワーク（ＣＤＮ）１４０内の遠隔サーバからコンテンツの再生（例えば、ストリーミングならびに／もしくはダウンロード）を要求するように構成される、ユーザＡデバイス１２０およびユーザＢデバイス１３０を含む、いくつかの再生デバイス１２０−１３０を含む。共有するためのストリームコンテンツをストリームするために、再生デバイスは、利用可能なアセット（すなわち、具体的タイトルと関連付けられるコンテンツのストリームを含有するコンテナファイル）のデータベース１５０、および特定の再生デバイスの能力に基づく所定のフィルタまたは基準のセットを使用して、特定のデバイスのために再生サーバ１８０によって自動的に生成される、トップレベルインデックスファイルを取得する。
【００２５】
多くの実施形態では、再生デバイスは、再生デバイスによって提供される識別情報に基づいて、トップレベルインデックスファイル内に記述される異なる代替的ストリームからコンテンツを選択することによって、適応型ビットレートストリーミングを行ってもよい。自動的に生成されたトップレベルインデックスファイルを使用する、適応型ビットレートストリーミングのためのシステムおよび方法は、２０１１年１２月３０日に出願され、米国特許第８，７８７，５７０号として発行された、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ａｕｔｏｍａｔｉｃａｌｌｙ  Ｇｅｎｅｒａｔｉｎｇ  Ｔｏｐ  Ｌｅｖｅｌ  Ｉｎｄｅｘ  Ｆｉｌｅｓ」と題されたＳｈａｉｆｅｒ  ｅｔ  ａｌ．の米国特許出願第１３／３４１，７８９号に説明されている。米国特許第８，７８７，５７０号の開示は、参照することによってその全体として本明細書に組み込まれる。
【００２６】
再生サーバ１１０は、ユーザデバイス１２０−１３０からコンテンツファイルを取得し、符号化されたコンテンツファイルを、異なる符号化規格を使用する１つまたはそれを上回る代替的ストリームにトランスコードするために、トランスコーディングサーバクラスタ１１５を使用してもよい。トランスコードされたコンテンツファイルは、利用可能なアセット（すなわち、具体的タイトルと関連付けられる符号化されたコンテンツの異なるストリームを含有する、コンテナファイル）のアセット記憶１５０データベースに記憶されてもよい。上記で説明されるように、代替的ストリーム（または代替的な符号化されたアセット）は、同一のメディアコンテンツを異なる方法で符号化するストリームである。多くの事例では、代替的ストリームは、異なる符号化規格（例えば、ＨＥＶＣまたはＨ．２６４）を使用して、メディアコンテンツ（限定されないがビデオ等）を符号化し、および／または異なる最大ビットレートでコンテンツを符号化する。いくつかの実施形態では、代替的ストリームは、異なる解像度および／または異なるフレームレートで符号化される。多くの実施形態では、特定の再生デバイスのために再生サーバ１８０によって生成されるトップレベルインデックスファイルは、少なくとも、代替的ストリームのそれぞれの最大ビットレートを記述する。再生デバイスは、従来のストリーミングのための１つまたはそれを上回るストリームを選択することができる、もしくは適応型ビットレートストリーミングを行うように代替的ストリームを切り替えることができる。
【００２７】
いくつかの実施形態では、１つの再生デバイス１２０−１３０がコンテンツの断片を別の再生デバイスと共有するとき、再生デバイス１２０−１３０は、コンテンツをストリーム配信および／またはダウンロードするように再生サーバ１１０に提供されることができるトークンを介して、共有コンテンツを受信する。再生デバイスがトークンをサーバ１１０に伝送するとき、再生デバイス１２０−１３０は、再生サーバ１１０が、データベース１５０内に記憶された情報を使用して、再生デバイス１２０−１３０のためのトップレベルインデックスファイルを自動的に生成するために利用し得る、再生デバイス１２０−１３０の再生能力を説明する情報を付加することができる。再生サーバ１１０は、典型的には、再生管理アプリケーションを使用して、再生サーバがデータベース１５０にアクセスすることができるように構成される、従来のサーバシステムである。いくつかの実施形態では、再生デバイス１２０−１３０は、それらの再生能力に関する情報を再生サーバ１１０に提供し、サーバ１１０は、デバイス能力に基づいて、共有されたコンテンツの断片と関連付けられるアセットをフィルタ処理することによって、トップレベルインデックスファイルを自動的に生成する。そのような能力は、再生能力、符号化／復号コーデック、表示縦横比、および／または予測最大ネットワーク接続データレートを含むが、それらに限定されない。いくつかの実施形態では、具体的再生デバイス１２０−１３０の能力は、製品識別子または製品ＩＤの形態で再生サーバ１１０に通信される。再生サーバ１１０は、製品ＩＤおよび関連デバイス能力のデータベースを維持することができ、関連デバイス能力を読み出し、トップレベルインデックスファイルを生成するときにフィルタを利用可能なアセットのリストに適用するために、再生デバイスによって提供される製品ＩＤを利用することができる。製品ＩＤを割り当て、それらを製品ＩＤが割り当てられるデバイスの能力に関する情報と関連付けるためのシステムおよび方法は、２０１２年３月３１日に出願され、「Ｍｅｔｈｏｄ  ｔｏ  Ｉｄｅｎｔｉｆｙ  Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｐｒｏｄｕｃｔｓ」と題された、Ｇｒａｂ  ｅｔ  ａｌ．の米国仮公開第２０１３／０００６８６９号に説明されている。具体的デバイスの再生能力を識別するために製品識別子を使用することに関係付けられる、米国仮公開第２０１３／０００６８６９号からの関連開示は、参照することによってその全体として本明細書に組み込まれる。本発明の実施形態による、再生サーバによって適用されることができる、他のフィルタは、（限定されないが）再生デバイスの場所（すなわち、国／地域）、および具体的ユーザと関連付けられる言語に基づくフィルタを含む。本発明の実施形態による、トップレベルインデックスファイルを生成するように適用されることができる、種々のフィルタが、以下でさらに議論される。
【００２８】
いくつかの実施形態では、共有コンテンツはさらに、暗号化およびデジタル著作権管理（ＤＲＭ）技術の使用を通して保護される。再生サーバ１１０が、暗号化されたコンテンツを再生する要求を再生デバイス１２０−１３０から受信するとき、再生サーバは、コンテンツの保護されたストリームを再生するために要求される暗号化情報を読み出す。再生デバイスは、次いで、コンテンツ配信ネットワーク１４０内の１つまたはそれを上回るサーバから、コンテンツのストリームを含有するコンテナファイルの一部を要求することができ、保護されたコンテンツにアクセスするために、暗号情報を使用することができる。適応型ビットレートストリーミングで使用される保護されたストリームのデジタル著作権管理のためのシステムおよび方法は、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｂａｃｋ  Ａｌｔｅｒｎａｔｉｖｅ  Ｓｔｒｅａｍｓ  ｏｆ  Ｐｒｏｔｅｃｔｅｄ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｅｄ  Ｕｓｉｎｇ  Ｃｏｍｍｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ」と題された、Ｋｉｅｆｅｒ  ｅｔ
ａｌ．の米国特許第８，９０９，９２２号に説明されている。米国特許第８，９０９，９２２号の開示は、参照することによってその全体として本明細書に組み込まれる。
【００２９】
具体的コンテンツ配信システムが、図１に図示されているが、符号化されたコンテンツファイルを代替的ストリームにトランスコードし、デバイス能力に基づいてトップレベルインデックスファイルを自動的に生成する、再生サーバは、本発明のいくつかの実施形態による、種々のコンテンツ配信システムアーキテクチャのうちのいずれかに組み込まれることができる。本発明のいくつかの実施形態による、コンテンツを再生するために利用されることができる再生デバイスが、以下でさらに議論される。
【００３０】
再生デバイス
本発明の実施形態による、コンテンツを安全に共有するために利用されることができる再生デバイスは、パーソナルコンピュータ、ＣＥプレーヤ、および携帯電話を含むことができる。多くの実施形態では、再生デバイスは、ＤＶＤプレーヤ、Ｂｌｕ−ｒａｙ（登録商標）プレーヤ、テレビ、セットトップボックス、ビデオゲームコンソール、タブレット、およびサーバに接続し、符号化されたメディアを再生することが可能である、他のデバイス等の消費者電子機器デバイスを含むことができる。本発明のある実施形態による、再生デバイスの基本アーキテクチャが、図２に図示されている。再生デバイス２００は、メモリ２３０と通信するプロセッサ２１０と、ネットワークインターフェース２４０とを含む。図示される実施形態では、メモリは、再生サーバからコンテンツを要求するようにプロセッサおよび再生デバイスを構成する、プレーヤアプリケーション２３８を含む。いくつかの実施形態では、プレーヤアプリケーション２３８は、コンテンツが再生デバイス２００にストリーム配信および／またはダウンロードされることを要求してもよい。メモリ２３０はまた、再生のために符号化されたビデオを復号することができる、ビデオデコーダ２３２も含む。異なるデバイスは、コンテンツを復号するための異なるエンコーダ／デコーダ（すなわち、「コーデック」）とともに、ソフトウェアおよび／またはハードウェアを含んでもよい。例えば、４Ｋビデオを再生することが可能な再生デバイスに関して、デコーダは、ＨＥＶＣデコーダであってもよい。ＨＤ（すなわち、１０８０ｐ）ビデオを再生することが可能な再生デバイスに関して、デコーダは、Ｈ．２６４デコーダであってもよい。多くの実施形態では、再生デバイスは、異なるメディア形式をサポートするように複数のデコーダを含んでもよい。
【００３１】
動作中に、プレーヤアプリケーション２３８は、１つまたはそれを上回る他の再生デバイスと共有するためにコンテンツを再生サーバにアップロードするように再生デバイス２００を構成することができる。コンテンツが再生デバイス２００と共有されるとき、プレーヤアプリケーション２３８は、再生サーバからトップレベルインデックスファイルを要求するように再生デバイス２００を構成することができる。上記のように、トップレベルインデックスファイルの要求は、トップレベルインデックスファイル内に記述されるアセットをフィルタ処理するために使用され得る、再生デバイスの製品ＩＤを含むことができる。トップレベルインデックスファイルが再生サーバから受信されるとき、プレーヤアプリケーション２３８は、トップレベルインデックスファイルをメモリ２３０内に記憶するように再生デバイスを構成することができる。コンテンツが暗号化される、いくつかの実施形態では、プレーヤアプリケーション２３８は、コンテンツを再生するユーザ命令に応答して、再生サーバ（または、別個のＤＲＭサーバ）から要求されたストリームを再生するように、暗号化情報を要求してもよく、再生サーバから受信される暗号化情報はまた、メモリ２３０に記憶されることもできる。プレーヤアプリケーション２３８は、コンテンツ配信ネットワーク内のサーバから、コンテンツを含有するコンテナファイルの一部を要求することによって、コンテンツを再生するように再生デバイス２００を構成する。プレーヤアプリケーション２３８によって選択される具体的コンテナファイルは、トップレベルインデックスファイル内のプレーヤアプリケーションに利用可能な情報および再生デバイスによって体験されるストリーミング条件に基づいて、判定されることができる。再生デバイスがコンテナファイルの要求された部分を受信し、コンテンツが暗号化されるとき、プレーヤアプリケーション２３８は、コンテンツ暗号情報を使用して、コンテナファイルの要求された部分内の保護されたコンテンツにアクセスすることができる。プレーヤアプリケーション２３８は、再生を一時停止するユーザ命令が受信されるまで、または再生が完了するまで、優勢ストリーミング条件に応じて、異なるコンテナファイルからコンテンツを要求して再生し続けることができる。
【００３２】
種々の再生デバイスが図２を参照して上記で説明されるが、プレーヤアプリケーションが、ディスクまたはある他の形態の記憶装置上に位置し、ランタイムにおいてメモリにロードされる、アーキテクチャを含む、種々のアーキテクチャのうちのいずれかが、本発明のいくつかの実施形態による、コンテンツ配信システムで使用するための再生デバイスを実装するために利用されることができる。さらに、（限定されないが）図１に図示されるシステムアーキテクチャを含む、種々のシステムアーキテクチャのうちのいずれかが、本発明のいくつかの実施形態による再生デバイスからの要求に応答して自動的に生成される、トップレベルインデックスファイルを使用して、コンテンツをトランスコードし、コンテンツを配信するために利用されることができる。
【００３３】
再生サーバ
多くの実施形態では、ユーザ再生デバイスは、複数の他のデバイスと共有するためのコンテンツをアップロードするように、および／またはコンテンツへのアクセスを取得するように、再生サーバと通信してもよい。本発明のある実施形態による、コンテンツを複数の異なるデバイスに配信するように構成される再生サーバが、図３に示されている。再生サーバ３００は、プロセッサ３１０と、ネットワークインターフェース３４０と、メモリ３３０とを含む。図示される実施形態では、メモリ３３０は、エンコーダアプリケーション３３２と、コンテンツ配信アプリケーション３３４とを含む。上記で議論されるように、再生サーバは、コンテンツファイルを、それぞれコンテンツファイルの異なる符号化（例えば、とりわけ、ＨＥＶＣ、Ｈ．２６４）を提供する、１つまたはそれを上回る代替的ストリームに符号化および／もしくはトランスコードするように、エンコーダアプリケーションソフトウェア３３２によって構成されることができる。いくつかの実施形態によると、エンコーダアプリケーション３３２は、コンテンツファイルを異なる代替的符号化ストリームにトランスコードするために、１つまたはそれを上回るトランスコーダサーバクラスタ（図示せず）と通信する。
【００３４】
再生サーバは、再生デバイスのためのトップレベルインデックスファイルを生成し、および／またはコンテンツを再生デバイスに配信するように、コンテンツ配信アプリケーション３３４によって構成されることができる。いくつかの実施形態では、トップレベルインデックスファイルは、デバイスのビデオ符号化／復号能力を含む、コンテンツの再生を要求する特定の再生デバイスの能力に基づいて、生成および／または選択される。
【００３５】
具体的再生サーバアーキテクチャが図３に図示されているが、上記で概説される様式でコンテンツを配信するようにユーザデバイスとの相互作用を管理することが可能である、種々のアーキテクチャのうちのいずれかが、本発明のいくつかの実施形態に従って利用されることができる。
【００３６】
コンテンツトランスコーディングおよび配信アーキテクチャ
ユーザデバイスが、異なるデバイスと共有するための符号化されたコンテンツをアップロードするとき、本システムは、異なる再生能力を伴うデバイス上でコンテンツの再生を可能にするために、符号化されたコンテンツを異なる符号化形式にトランスコードしてもよい。本発明のある実施形態による、コンテンツトランスコーディングおよび配信システムの例示的システムアーキテクチャが、図４に図示されている。図示されるように、クライアントデバイス４００は、ユーザＡＰＩサーバ４０５、ソーシャルＡＰＩサーバ４１０、記憶ＡＰＩサーバ４１５、メディアＡＰＩサーバ、再生ＡＰＩサーバ、およびトランスコードＡＰＩサーバを含む、種々のサーバＡＰＩ４０５−４３０（アプリケーションプログラミングインターフェース）を介して、ルータ４０１を通してサーバシステムと通信する。ユーザＡＰＩサーバ４０５は、クライアント４００からユーザおよび／またはデバイス情報を受信してもよく、ユーザデータベース４０６内に情報を記憶してもよい。ソーシャルＡＰＩサーバは、クライアント４００からソーシャルメディア情報を受信し、ソーシャルデータベース４１１内に本情報を記憶してもよい。記憶ＡＰＩサーバ４１５は、コンテンツデータベース４５０内に記憶されたコンテンツの記憶を管理する。記憶ＡＰＩサーバは、コンテンツデータベース４５０内に記憶するために、クライアント４００、再生ＡＰＩサーバ、および／またはトランスコードＡＰＩサーバからコンテンツを受信してもよい。メディアＡＰＩサーバ４２０は、コンテンツデータベース４５０内に記憶されたコンテンツを要求する、プレーヤアプリケーションと通信してもよい。再生ＡＰＩサーバは、コンテンツデータベース４５０内に記憶されたコンテンツの再生を管理してもよい。トランスコードＡＰＩサーバは、符号化されたコンテンツファイルを受信すること、およびコンテンツデータベース４５０内に記憶するために、それを１つまたはそれを上回る異なる符号化ストリームにトランスコードすることを含む、コンテンツのトランスコーディングを管理してもよい。
【００３７】
コンテンツをトランスコードするために、トランスコードＡＰＩサーバ４３０は、行われているトランスコーディング動作を管理するＴＣＥ管理アプリケーション４３５と通信してもよい。ＴＣＥ管理アプリケーション４３５は、ジョブの進捗を追跡すること、および機械負荷を報告することを含む、トランスコーディングジョブの分散調整に使用されてもよい。機械負荷情報は、負荷バランシングスケジューラを実装するために使用されてもよい。
【００３８】
ＴＣＥトランスコードノード４４０として図示される各トランスコーディング動作は、コンテンツを１つまたはそれを上回る異なる符号化規格に復号および再符号化するプロセスであってもよい。ＴＣＥトランスコードノード４４０は、コンテンツデータベース４５０内に代替的ストリームを記憶するための記憶ＡＰＩサーバと通信するために、承認ウェブサーバ４４５を利用してもよい。
【００３９】
具体的コンテンツ配信アーキテクチャが図４に図示されているが、上記で概説される様式でコンテンツを配信するようにクライアントデバイスとの相互作用を管理することが可能である、種々のアーキテクチャのうちのいずれかが、本発明のいくつかの実施形態に従って利用されることができる。
【００４０】
コンテンツを共有およびトランスコードすること
上記で説明されるように、クライアントデバイスは、ユーザの１つまたはそれを上回る他のデバイスおよび／もしくは異なるユーザと共有するために、符号化されたコンテンツを再生サーバにアップロードしてもよい。本発明のある実施形態による、異なるデバイスと共有するためのコンテンツをアップロードするためのプロセスが、図５に図示されている。プロセス５００は、１つまたはそれを上回るデバイスと共有するためのコンテンツを受信する（５０５）。いくつかの実施形態では、コンテンツは、ユーザの再生デバイスから受信される。コンテンツは、特定の符号化規格（例えば、とりわけ、ＨＥＶＣ、Ｈ．２６４）を使用して符号化される、符号化されたビデオファイルであってもよい。
【００４１】
本プロセスは、１つまたはそれを上回る異なる代替的符号化ストリームへのコンテンツのトランスコーディングを行う（５１０）。いくつかの実施形態では、本プロセスは、コンテンツが共有される、または共有されるであろう、デバイスの再生能力に基づいて、コンテンツを異なるストリームに符号化する。例えば、ユーザが、４Ｋ再生を有するデバイスおよび４Ｋ再生容量を有していない（例えば、Ｈ．２６４デコーダのみを有する）いくつかのデバイスと共有される４Ｋビデオをアップロードする場合、本プロセスは、コンテンツをＨＥＶＣおよびＨ．２６４の両方にトランスコードしてもよい。
【００４２】
いくつかの他の実施形態によると、本プロセスは、コンテンツを、代替的符号化および／または形式の設定リストにトランスコードする。例えば、ビデオコンテンツは、デバイスによって使用されている最も一般的な符号化規格（例えば、とりわけ、ＨＥＶＣ、Ｈ．２６４、ＭｉｃｒｏｓｏｆｔＴＭコーデック、ＧｏｏｇｌｅＴＭコーデック）のうちのいくつかにトランスコードされてもよい。例えば、コンテンツは、デバイスの大多数との互換性を提供するように、Ｈ．２６４／ＡＶＳを使用して符号化されてもよい。したがって、再生デバイスがコンテンツファイルの再生を要求するとき、本プロセスは、再生デバイスが再生することが可能であろうアセットのリストとともに、トップレベルインデックスファイルを提供してもよい。以下で説明されるように、トップレベルインデックスファイルは、再生デバイスに特有であり、再生デバイスが再生することが可能である、符号化されたストリームに対応する、これらのアセットのみを含んでもよい。
【００４３】
いくつかの実施形態によると、本プロセスは、コンテンツファイルが再生デバイスからアップロードされることに応じて（および異なる再生デバイスがコンテンツファイルを要求することに先立って）、コンテンツファイルを異なる符号化形式にトランスコード（すなわち「事前トランスコード」）し始める。いくつかのある実施形態によると、本プロセスは、再生デバイスからの再生の要求の受信に応じて、コンテンツファイルを特定の符号化形式にトランスコードしてもよい。例えば、本プロセスは、コンテンツファイルを最も頻用されている符号化形式（例えば、ＨＥＶＣおよびＨ．２６４）に自動的にトランスコードしてもよいが、特定の符号化形式を必要とする再生デバイスからの要求を受信することに応じて、コンテンツファイルをあまり頻用されていない符号化形式にトランスコードすることを待機してもよい。本プロセスは、デバイスの再生要求を果たしながら、並行していくつかのトランスコーディングプロセスを実行することができる、種々の「ライブトランスコーディング」サーバを使用して、同時にコンテンツをトランスコードし、再生デバイスにストリーム配信してもよい。
【００４４】
本プロセスは、アセットを記憶する（５１５）。次いで、本プロセスは、完了する。具体的プロセスが図５に図示されているが、種々のプロセスのうちのいずれかが、本発明の実施形態に従ってコンテンツファイルをトランスコードするために利用されることができる。本発明の実施形態による、インデックスファイルを自動的に生成するための再生サーバおよびプロセスが、以下で説明される。
【００４５】
コンテンツ再生
本発明のある実施形態による、再生デバイスからの要求に応答して生成されるトップレベルインデックスファイルを使用して、コンテンツを再生するためのプロセスが、図６に図示されている。プロセス６００は、コンテンツを要求するステップ（６０５）を含む。要求は、再生デバイスを使用して行われることができる、または別のデバイスを使用して行われることができる。コンテンツにアクセスするために、再生デバイスは、再生サーバから、具体的再生デバイスのためにカスタマイズされたトップレベルインデックスファイルの生成を促す要求を提供する。いくつかの実施形態によると、要求は、再生デバイスがコンテンツを要求する権限を与えられており、再生デバイスがＡＰＩを介して製品識別子を遠隔サーバに提供することを示す、トークンの形態を成す。いくつかの他の実施形態によると、コンテンツを要求するための種々の技法のうちのいずれかが、適宜、具体的用途の要件に利用されることができる。多くの実施形態によると、トップレベルインデックスファイルは、再生サーバが、再生デバイスによる再生に利用可能である、および／または最も好適であるアセットを記述する、トップレベルインデックスファイルを生成するように、全ての利用可能なアセットをフィルタ処理するという点において、カスタマイズされる。いったんカスタムトップレベルインデックスファイルが読み出される（６１０）と、再生デバイスは、トップレベルインデックスファイル内で識別される保護されたストリームの再生を可能にする、暗号情報を取得する（６１５）。多くの実施形態によると、再生デバイスは、再生要求がユーザから受信されるまで待機し、次いで、暗号情報を再生サーバから要求する。
【００４６】
再生デバイスが、トップレベルインデックスファイルおよび任意の必要暗号情報を保有するとき、再生デバイスは、符号化されたメディアを含有する、１つまたはそれを上回るコンテナファイルの一部を要求することによって、コンテンツをストリーム配信および／またはダウンロードする（６２０）ことを開始することができる。（限定されないが）最低ビットレートストリームを選択するステップ、２０１１年９月３０日に出願され、「Ｓｙｓｔｅｍｓ  ａｎｄＭｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ａｖａｉｌａｂｌｅ  Ｂａｎｄｗｉｄｔｈ  ａｎｄ  Ｐｅｒｆｏｒｍｉｎｇ  Ｉｎｉｔｉａｌ  Ｓｔｒｅａｍ  Ｓｌｅｃｔｉｏｎ  Ｗｈｅｎ  Ｃｏｍｍｅｎｃｉｎｇ  Ｓｔｒｅａｍｉｎｇ  Ｕｓｉｎｇ  Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ」と題された、ｖａｎ  ｄｅｒ  Ｓｃｈａａｒ  ｅｔ  ａｌ．の米国特許公開第２０１３／０００７２００号に開示される様式に類似する様式で帯域幅プローブを行うステップ、または別の技法を使用して利用可能な帯域幅を推定するステップを含む、種々のプロセスのいずれかが、初期ストリームを選択するために利用されることができる。米国特許公開第２０１３／０００７２００号の開示は、参照することによってその全体として本明細書に組み込まれる。
【００４７】
いったん再生が開始する（６２０）と、適応型ビットレートストリーミングが、行われることができる。再生中に、再生イベント報告が、周期的に、または（限定されないが）再生デバイスによって受信されるユーザ命令を含む、種々のイベントに応答して、再生デバイスの再生ステータスに関する情報を提供するように、再生サーバに提供されることができる。再生イベント報告が再生サーバに提供されるとき、再生サーバは、再生イベント命令を再生デバイスに提供することができる。図示される実施形態では、再生を継続する「再生」命令および再生を中止する「停止」命令を含む、再生イベント命令が、再生デバイスによって受信されることができる（６３０）。再生デバイス上の再生を停止する再生サーバの能力は、再生デバイスが、ユーザと関連付けられる複数の再生デバイスにわたって、並行処理要件を実施することを可能にする。再生イベント報告およびイベント再生命令の組み合わせはまた、第２の再生デバイスが、第１の再生デバイスによって報告された最後の再生場所でコンテンツの再生を再開することを可能にするために、再生サーバによって利用されることができる。このように、ユーザは、再生を継続する場所を模索する必要なく、再生デバイス間をシームレスに移行することができる。
【００４８】
具体的プロセスが図６に図示されているが、種々のプロセスのうちのいずれかが、本発明の実施形態に従って、カスタマイズされたトップレベルインデックスファイルを要求し、コンテンツを再生するために利用されることができる。本発明のいくつかの実施形態による、インデックスファイルを自動的に生成するための再生サーバおよびプロセスが、以下で説明される。
【００４９】
トップレベルインデックスの自動生成
本発明の多くの実施形態による再生サーバは、コンテンツの具体的断片と関連付けられるアセットのデータベースを維持し、再生管理アプリケーションによって、アセットに関する情報を読み出してフィルタ処理し、具体的再生デバイスのためのトップレベルインデックスファイルを自動的に生成するように構成されることができる。再生サーバによって維持されるデータベースは、アセットを含有するファイル名と、アセットが位置するコンテンツ配信サーバおよび／またはネットワークとを列挙することができる。アセットがビデオストリームであるとき、データベースは、ストリームのコーデック、ビデオストリームが符号化される最大ビットレート、ビデオストリームのフレームレート、解像度、および／またはビデオストリームのサンプル縦横比を含むが、それらに限定されない、ビデオストリームの特性を記述することができる。アセットがオーディオストリームであるとき、データベースは、（限定されないが）オーディオストリームの言語、オーディオストリームの符号化、およびオーディオストリームの帯域幅要件を含む、オーディオストリームの特性を記述することができる。アセットが字幕ストリームであるとき、データベースは、（限定されないが）字幕ストリームの言語、字幕ストリームの符号化、および字幕ストリームの帯域幅要件を含む、字幕ストリームの特性を記述することができる。アセットに関する情報の維持に加えて、再生デバイスは、再生デバイスの再生能力に関する情報を維持することができる。いくつかの実施形態によると、異なる再生デバイスの再生能力に関する情報は、製品ＩＤを使用してインデックス化される。多くの実施形態によると、再生サーバはまた、（限定されないが）再生デバイスのタイプ、再生デバイスの再生能力、再生デバイスの場所（例えば、国／地域）、および／または要求される言語を含む、基準に基づいて、異なるアセットの使用を調整する規則に関する情報を維持する。情報の具体的断片は、再生サーバによって維持されるデータベース内に関連付けられるものとして上記で説明されるが、情報の種々の断片のいずれかが、本発明のいくつかの実施形態に従って、再生サーバによるトップレベルインデックスファイルの生成を可能にするように、種々のデータ構造のいずれかの中で維持されることができる。さらに、再生デバイスは、その能力のリストを再生サーバに直接提供することができる。以下でさらに議論されるように、再生サーバによって維持される情報は、再生デバイスが再生することを許可されるアセットへのリンクのみ含む、トップレベルインデックスファイルを生成するように、再生デバイスからのトップレベルインデックスファイルの要求に応答して、リアルタイムでフィルタ処理されることができる。
【００５０】
本発明のある実施形態による、再生サーバによって維持されるコンテンツの具体的断片と関連付けられたアセットに関する情報を使用して、トップレベルインデックスファイルを生成するためのプロセスが、図７に図示されている。図示される実施形態では、プロセス７００は、再生サーバが、具体的再生デバイスから、コンテンツの具体的断片に関するトップレベルインデックスファイルの要求を受信する（７０５）ときに、開始する。上記で議論されるように、要求は、（限定されないが）再生デバイスの再生能力、再生デバイスが登録されるユーザアカウント、および再生デバイスの地理的場所を示す情報（例えば、再生デバイスのＩ．Ｐ．アドレス）を含む、再生デバイスを記述する情報を含むことができる。多くの実施形態によると、再生デバイスの能力は、再生サーバにアクセス可能なデータベース内の具体的再生能力と関連付けられる、製品ＩＤを使用して識別される。
【００５１】
再生サーバは、要求されたコンテンツの断片と関連付けられるアセットを読み出す（７１０）。再生サーバは、再生デバイスの能力と関連付けられる１つまたはそれを上回るフィルタ、ユーザの選好、およびコンテンツ所有者の要件に基づいて、アセットをフィルタ処理する（７１５）。故に、異なるトップレベルインデックスファイルが、（限定されないが）デバイス間の再生能力（例えば、コーデック、解像度、メモリ）の差異、地理的場所の差異、および／または再生デバイスと関連付けられる言語選好の差異を含む、要因に基づいて、同一のコンテンツに関して生成されることができる。例えば、ユーザが共有するために４Ｋビデオをアップロードする場合、４Ｋビデオを再生することが可能なデバイスのためのトップレベルインデックスファイルが、４Ｋストリームを含んでもよい一方で、４Ｋビデオを再生することが可能ではないデバイスのためのトップレベルインデックスファイルは、４Ｋストリームを含まなくてもよく、むしろ、本デバイスが再生することが可能であるストリーム（例えば、Ｈ．２６４）を含んでもよい。
【００５２】
フィルタ処理後、残りのアセットは、トップレベルインデックスファイルを生成する（７２０）ために利用されることができ、これは、再生デバイスに提供されることができる（７２５）。いくつかの実施形態によると、トップレベルインデックスファイルは、セキュア・ソケット・レイヤー（ＳＳＬ）通信または同等のセキュア通信プロトコルを含むが、それらに限定されない、セキュア通信技法を使用して、安全に転送される。
【００５３】
本発明のある実施形態による、トップレベルインデックスファイルを生成するための具体的プロセスが、図７に図示されているが、コンテンツの具体的断片と関連付けられるアセットに関する情報を収集するステップと、コンテンツ配信ストリーミングシステムによって再生デバイスに利用可能にされるアセットをインデックス化する、インデックスファイルを生成するステップとを伴う、種々のプロセスのいずれかが、本発明のいくつかの実施形態に従って、利用されることができる。本発明の実施形態による、コンテンツを共有するために再生デバイスとサーバとの間の一連の通信を図示する、通信図が、以下で議論される。
【００５４】
デバイスとサーバとの間の通信
本発明の多くの実施形態は、他のデバイスと共有するためにユーザデバイスからコンテンツをアップロードするステップと、コンテンツを１つまたはそれを上回る異なる符号化形式にトランスコードするステップと、異なるデバイスの能力に基づいて、異なる符号化形式のトップレベルインデックスファイルを生成するステップとを提供する。コンテンツの共有を促進するために、クライアントデバイスは、コンテンツをアップロードし、コンテンツをトランスコードし、および／またはトップレベルインデックスファイルを受信するように、種々の異なるサーバシステムと通信する。本発明のある実施形態による、クライアントデバイスおよび／または種々の異なるサーバシステムの間の通信の実施例が、図８に図示されている。
【００５５】
図８は、再生デバイスＡ８０５およびＢ８１０、再生サーバ８１５、トランスコーディングサーバクラスタ８２０、ならびにコンテンツ配信サーバ８２５の間の通信を図示する。再生デバイス８０５−８１０および異なるサーバ８１５−８２５は、インターネット等のネットワークを経由して相互と通信してもよい。上記で説明されるように、再生サーバ８１５は、それらのクライアントデバイス８０５−８１０上のアプリケーションを介して、コンテンツ（例えば、とりわけ、ビデオファイル、写真、および／または、オーディオファイル）をアップロードするために、クライアントデバイス８０５−８１０にアクセス可能なインターフェースを提供してもよい。再生サーバ８１５は、１つまたはそれを上回るデバイス８０５−８１０と共有するためのコンテンツを受信するため、コンテンツを１つまたはそれを上回る異なる符号化形式にトランスコードするため、再生デバイスのためのトップレベルインデックスファイルを生成するため、およびコンテンツを再生デバイスに配信するために、使用されることができる。再生サーバ８１５はまた、（例えば、ＤＲＭサーバを使用して）暗号化されたデジタルコンテンツにアクセスするために使用される、暗号化情報を提供してもよい。
【００５６】
再生サーバ８１５は、コンテンツファイルを１つまたはそれを上回る異なる符号化形式にトランスコードし、および／もしくはコンテンツサーバ８２５内にコンテンツを記憶するために、１つまたはそれを上回るトランスコーディングサーバクラスタ８２０を使用してもよい。
【００５７】
コンテンツサーバ８２５は、コンテンツの断片の再生を要求するクライアントデバイス８０５−８１０にコンテンツを提供してもよい。コンテンツは、クライアントデバイス８０５−８１０によってダウンロードおよび／またはストリーム配信されることができる。
【００５８】
１つまたはそれを上回る他のデバイスと共有するためにクライアントデバイスからコンテンツをアップロードするための図８に図示される通信は、以下の一連の通信に従って進んでもよい。クライアントデバイス８０５は、共有するためのコンテンツを再生サーバ８１５にアップロードする。コンテンツは、特定の規格（例えば、４Ｋビデオ用のＨ．２６４またはＨＥＶＣ）に従って符号化されるビデオファイルであってもよい。再生デバイスがトランスコーディング能力を有する場合、再生デバイスはまた、アップロードすることに先立って、ビデオファイルのトランスコーディングを行ってもよい。
【００５９】
再生サーバ８１５は、トランスコーディングサーバクラスタ８２０にコンテンツのトランスコーディングを要求する。
【００６０】
トランスコーディングサーバクラスタ８２０は、コンテンツを１つまたはそれを上回る異なる代替的符号化ストリームにトランスコードする。トランスコーディングサーバクラスタ８２０は、コンテンツサーバ８２５を用いて代替的符号化ストリームを記憶し、代替的ストリームのリストを再生サーバ８１５に提供する。
【００６１】
異なる再生デバイスＢ８１０が、コンテンツファイルの再生を要求し、上記で説明される技法のうちのいずれかを使用して、トップレベルインデックスファイルの要求を再生サーバ８１５に提出してもよい。再生サーバ８１５は、トップレベルインデックスファイルを生成してもよい。いくつかの実施形態では、トップレベルインデックスファイルは、再生デバイスの再生能力に基づいて生成される。他の実施形態では、再生サーバは、再生デバイスの製品ＩＤに基づいて、複数のインデックスファイルからトップレベルインデックスファイルを選択してもよい。
【００６２】
再生サーバ８１５は、再生デバイスＢ８１０にトップレベルインデックスファイルを提供する。
【００６３】
再生デバイスＢ８１０は、再生要求を再生サーバ８１５に提供してもよい。再生サーバ８１５は、符号化されたコンテンツを解読するために暗号化情報を再生デバイスＢ８１０に提供する。
【００６４】
再生デバイスＢ８１０は、コンテンツサーバ８２５からコンテンツを要求するために、トップレベルインデックスファイルを使用する。コンテンツサーバ８２５は、コンテンツを再生デバイス８１０に提供する。再生デバイスは、デバイス上でコンテンツを再生するために、暗号化情報を使用してコンテンツを解読する。
【００６５】
上記の説明は、多くの特異性を含有するが、これらは、本発明の範囲を限定するものとしてではなく、本発明の現在好ましい実施形態のうちのいくつかの例証を提供するにすぎないものとして解釈されるべきである。種々の他の実施形態が、その範囲内で可能である。したがって、本発明の範囲は、図示される実施形態ではなく、添付の請求項およびそれらの均等物によって判定されるべきである。
【図１】
2020141415.tif 000003
【図２】
2020141415.tif 000004
【図３】
2020141415.tif 000005
【図４】
2020141415.tif 000006
【図５】
2020141415.tif 000007
【図６】
2020141415.tif 000008
【図７】
2020141415.tif 000009
【図８】
2020141415.tif 000010
【外国語明細書】
2020141415000001.pdf