(57)【特許請求の範囲】
【請求項１】
第１のコンピューティングデバイスのプロセッサーが、暗号化されたコンテンツと１つまたは複数の暗号化式と保護システムヘッダーボックスとを格納するファイルを受信するステップであって、前記暗号化されたコンテンツは、コンテンツを前記１つまたは複数の暗号化式によって暗号化することによって得られた暗号化されたコンテンツであり、前記１つまたは複数の暗号化式は、複数の保護システムに共通である、ステップと、
前記第１のコンピューティングデバイスの前記プロセッサーが、ＤＲＭ保護されたファイルを前記受信されたファイルから作成するために、複数の保護システムのそれぞれのための、前記１つまたは複数の暗号化式に基づくメタデータを前記受信されたファイルに付加するステップであって、前記複数の保護システムのそれぞれに関連付けられた前記受信されたファイル内の対応する前記保護システムヘッダーボックスに、前記暗号化されたコンテンツを解読するための前記１つまたは複数の暗号化式に対応する解読キーの取得を可能にするライセンス情報を、前記メタデータとして格納する、ステップと、
前記第１のコンピューティングデバイスの前記プロセッサーが、前記ＤＲＭ保護されたファイルを前記第１のコンピューティングデバイスのメモリー領域に記憶するステップと、
前記第１のコンピューティングデバイスの前記プロセッサーが、前記第１のコンピューティングデバイスの前記メモリー領域に記憶された前記ＤＲＭ保護されたファイルを、前記暗号化されたコンテンツの解読のために１つまたは複数の第２のコンピューティングデバイスに送信するステップであって、前記解読は、前記第２のコンピューティングデバイスにより、前記第２のコンピューティングデバイスがサポートする保護システムに対応する前記保護システムヘッダーボックスに格納された前記ライセンス情報に基づいて実施される、ステップと
を含む方法。
【請求項２】
前記メタデータが、解読キー、権利オブジェクト、およびライセンス情報のうちの１つまたは複数を定義する、請求項１に記載の方法。
【請求項３】
前記ファイルを受信するステップが、前記１つまたは複数の暗号化式としてキーマッピング情報を格納するファイルを受信するステップを含み、前記暗号化されたコンテンツは、前記キーマッピング情報を使用して暗号化されたものである、請求項１に記載の方法。
【請求項４】
前記ライセンス情報を前記保護システムヘッダーボックス中に埋め込むステップをさらに含む請求項１に記載の方法。
【請求項５】
前記ライセンス情報への参照を前記保護システムヘッダーボックス中に埋め込むステップをさらに含む請求項１に記載の方法。
【請求項６】
前記メタデータを前記受信されたファイルに付加するステップが、前記暗号化されたコンテンツの別のコピーを作成することなく、前記メタデータを前記受信されたファイルに付加するステップを含む、請求項１に記載の方法。
【請求項７】
前記ファイルを受信するステップが、前記ファイルとしてムービーに対応するファイルを受信するステップを含む、請求項１に記載の方法。
【請求項８】
前記１つまたは複数の第２のコンピューティングデバイスは、前記暗号化されたコンテンツの解読を可能にするライセンスをライセンスサーバーから入手する、請求項１に記載の方法。
【請求項９】
前記受信されたファイルは、前記１つまたは複数の暗号化式として暗号化キーを識別するキー識別子を含むサンプル暗号化ボックスをさらに格納し、前記サンプル暗号化ボックスは、前記保護システムヘッダーボックスにわたって共有される、請求項１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]既存のデジタル著作権管理（ＤＲＭ）システムは、権限のない使用から、メディアコンテンツおよび他のファイルを保護する。コンテンツを保護するために、ＤＲＭシステムの１つに固有のメタデータが、メディアコンテンツと共にファイルに記憶される。デバイスは、メタデータを解釈し、コンテンツを解読することによって、ユーザーに提示するためのコンテンツを表示する。しかしながら、第１のＤＲＭシステムに従って暗号化されたコンテンツは、第２のＤＲＭシステムのみをサポートするデバイスによっては解読できない。そのようなデバイスによって暗号化されたコンテンツの解読を有効にするために、既存のシステムは、それぞれ異なるＤＲＭシステムに従って暗号化された、コンテンツの複数のバージョンを作成する。代替的には、第１のＤＲＭシステムをサポートするデバイスによってコンテンツが解読され、次いで、第２のＤＲＭシステムをサポートするデバイスによって再暗号化されてもよい。さらに他の既存のシステムは、第１のＤＲＭシステムおよび第２のＤＲＭシステム間の権限マッピングを提供するサービスを含む。
【発明の概要】
【課題を解決するための手段】
【０００２】
[0002]本発明の実施形態は、単一のコンテナーファイルに適用される複数の保護システムをサポートする。コンテンツおよび１つまたは複数の暗号化式を格納するファイルが受信される。コンテンツは、暗号化式によって暗号化される。受信されたファイルからの暗号化式を使用して、複数の保護システムがコンテンツに適用される。保護システムのそれぞれは、同じ暗号化式を使用してコンテンツを保護する。コンテンツおよび適用された複数の保護システムを有するファイルは、解読のために、１つまたは複数のコンピューティングデバイスに送信される。コンピューティングデバイスのそれぞれは、適用された複数の保護システムのうちの少なくとも１つを使用して、コンテンツを解読する。
【０００３】
[0003]この概要は、詳細な説明において以下でさらに説明される、選択された概念を簡略化された形式において導入するために提供される。この概要は、特許請求される主題の重要な特徴、または必須の特徴を特定することは意図されず、特許請求される主題の範囲を決定する支援として使用されることも意図されない。
【図面の簡単な説明】
【０００４】
【図１】[0004]ネットワーク上で第２のコンピューティングデバイスにコンテンツを提供する第１のコンピューティングデバイスを示す、例示的なブロック図である。
【図２】[0005]コンテンツプロバイダーから、エンコーディング・プロバイダーおよびサービスプロバイダーを介してコンシューマーへと向かうコンテンツの流れを示す、例示的なブロック図である。
【図３】[0006]保護システムのコンテンツへの適用を示す、例示的な流れ図である。
【図４】[0007]コンピューティングデバイス上で提示するためのコンテンツのデコードを示す、例示的な流れ図である。
【図５】[0008]断片化されたファイル構造を表す例示的な構造を示す、例示的なブロック図である。
【図６】[0009]断片化されたファイル編成を表す例示的な構造を示す、例示的なブロック図である。
【図７】[0010]トラックボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【図８】[0011]メディア情報ボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【図９】[0012]保護されたサンプルエントリーボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【発明を実施するための形態】
【０００５】
[0013]対応する参照文字は、図面全体を通して対応する要素を示す。
[0014]図を参照すると、本開示の実施形態が、ユーザーに提示するためのメディアコンテンツを記憶するファイル１１１において、デジタル著作権管理（ＤＲＭ）システムなどの少なくとも複数の保護システムをサポートする。ファイル１１１は、複数の保護システムによって保護される、メディアコンテンツまたは他のコンテンツの単一のコピーを記憶する。保護システム間でそのような相互運用性をある程度有効にするために、保護システムは、保護システムに共通な暗号化アルゴリズムまたは他の暗号化方法を使用、または共有する。加えて、保護システムによって使用されるキー情報などの暗号化式が、保護システムにわたって共有される。
【０００６】
[0015]本開示の態様は、ファイル１１１などの単一のコンテナーファイルにおいて複数のＤＲＭシステムをサポートするように、国際標準化機構（ＩＳＯ）ベースメディアファイル形式を拡張する。いくつかの実施形態では、コンテナーファイルは、サンプル暗号化ボックス１１４と、それぞれが保護システムのうちの１つまたは複数に特定である複数の保護システムヘッダーボックス１１６とを含む。サンプル暗号化ボックス１１４は、保護システムに共通の暗号化方法を記憶、または識別する。保護システムヘッダーボックス１１６はそれぞれ、対応する保護システムでコンテンツを解読するために使用されるデータオブジェクトを記憶する。たとえば、いくつかの実施形態では、保護システムヘッダーボックス１１６におけるデータオブジェクトは、コンテンツを解読するための（たとえば、ライセンスサーバーからの）他のデータオブジェクトを取得するために使用される。データオブジェクトは、あいまいなメタデータを表して、単一のファイルにおいて複数の保護システムを同時にサポートする。
【０００７】
[0016]本発明の態様は、携帯電話、またはネットブックもしくはウルトラポータブルなどの携帯端末であるコンピューティングデバイスに関連して説明されるが、本発明の実施形態は、任意のコンピューティングデバイスで動作可能である。たとえば、本発明の態様は、デジタルカメラ、デジタルビデオカメラ、ラップトップコンピューター、セットトップボックス、ゲーミングコンソール（ハンドヘルド・ゲーミングコンソールを含む）、ポータブルミュージックプレイヤー、携帯情報端末、情報家電、およびパーソナルコミュニケーターなどのデバイスで動作可能である。
【０００８】
[0017]改めて図１を参照すると、例示的なブロック図が、ネットワーク１０６上で第２のコンピューティングデバイス１０４にコンテンツを提供する第１のコンピューティングデバイス１０２を図示する。いくつかの実施形態では、第１のコンピューティングデバイス１０２は、サーバーであり、第２のコンピューティングデバイス１０４は、クライアントデバイスであり、ネットワーク１０６は、インターネットである。第１のコンピューティングデバイス１０２は、少なくとも、第１のメモリー領域１１０と、プロセッサー１０８とを含む。第１のメモリー領域１１０は、たとえば、メディアコンテンツまたはメディアプレゼンテーションに対応するファイル１１１を記憶する。メディアコンテンツは、ビデオ、オーディオ、イメージ、テキスト、および／もしくはグラフィック、またはそれら一連のものなどの、商用または商用でないメディアデータを含む。第１のコンピューティングデバイス１０２は、メディアコンテンツを有するファイル１１１を、ネットワーク１０６上で第２のコンピューティングデバイス１０４に送信する。
【０００９】
[0018]図１の例示的なブロック図は、本開示の実施形態によってサポートされるコンテンツ配信シナリオを説明し、コンテンツ配信シナリオは、光ディスクからコンピューティングデバイス（たとえば、ポータブルデバイスまたはパーソナルコンピューター）への、標準画質またはポータブルメディアコンテンツのセカンドセッションまたはデジタル配信、マルチメディアコンテンツのプログレッシブダウンロード、インターネットプロトコル（ＩＰ）ネットワーク上でのアダプティブストリーミング、あるいはポータブルデバイスへのマルチメディアコンテンツのサイドローディングを含むが、これらに限定されない。
【００１０】
[0019]第１のコンピューティングデバイス１０２または他のサーバーは、任意の知られている、または今後開発される、メディアコンテンツまたはそれに関連した情報のソースを表し、データ記憶域サーバー、ＤＲＭサーバー、（たとえば、音楽もしくはビデオのダウンロード、オンデマンド、ブロードキャスト、または広告用の）メディアコンテンツサーバー、ピアサーバーなどを含むが、これらに限定されない。第１のコンピューティングデバイス１０２は、１つまたは複数のそのようなデバイスを含むことができる。
【００１１】
[0020]ネットワーク１０６は、知られている、または将来開発されるメディアプロトコルをサポートするように構成された、任意のデジタルデータの伝送インフラストラクチャーまたは伝送技術を表す。例示的なネットワークは、インターネット、移動体通信ネットワーク、衛星ネットワーク、ＢＬＵＥＴＯＯＴＨブランドのワイヤレスネットワークなどを含むが、これらに限定されない。
【００１２】
[0021]第２のコンピューティングデバイス１０４は、第１のコンピューティングデバイス１０２からデータを受信するように構成された、任意のコンピューティングデバイス、またはそのようなコンピューティングデバイスの要素である。第２のコンピューティングデバイス１０４は、受信されたデータを記憶および／または提示するように、あるいは代替的には、記憶および／または提示のために、受信されたデータを別のデバイスに渡すように構成されてもよい。
【００１３】
[0022]第１のコンピューティングデバイス１０２および第２のコンピューティングデバイス１０４は、トランシーバー、マルチプレクサー、デマルチプレクサー、エンコーダー、デコーダー、暗号化器、解読器などのコンポーネントを含むことができる。
【００１４】
[0023]いくつかの実施形態では、ファイル１１１は、複数の保護システムをサポートする形式でコンテンツを記憶するコンテナーファイルを表す。保護システムは、たとえば、ＤＲＭシステムに相当する。そのような実施形態では、ファイル１１１は、暗号化されたコンテンツ１１２と、サンプル暗号化ボックス１１４と、保護システムヘッダーボックス＃１から保護システムヘッダーボックス＃Ｎなどの、複数の保護システムヘッダーボックス１１６とを含む。サンプル暗号化ボックス１１４および保護システムヘッダーボックス１１６は、タイプ識別子および長さによって定義された、オブジェクト指向の構成ブロックを表す。コンテナーボックスは、関連するボックスを格納し、グループ化する。たとえば、メディアデータボックスは、提示のためのメディアコンテンツを保持するコンテナーボックスであり、一方、ムービーボックスは、そのサブボックスが提示のためのメタデータを定義するコンテナーボックスである。サンプル暗号化ボックス１１４および保護システムヘッダーボックス１１６は、図に示されるような特定のボックスまたはコンテナーボックスに含まれるように示されるが、ボックスは、その中に含まれるボックス、またはその中の別のボックスを介して伝達され得る情報を明記する。さらに、ボックスは、ファイル１１１における他のボックスのサブボックスとみなされてもよい。
【００１５】
[0024]複数の保護システムヘッダーボックス１１６のそれぞれは、保護システムのうちの１つまたは複数に関連付けられている。任意の数の保護システムヘッダーボックス１１６が、ファイル１１１内に格納され得る。ボックスおよび保護システムは、ＤＲＭ識別子、または他の保護システム識別子によって識別される。サンプル暗号化ボックス１１４は、暗号化されたコンテンツ１１２を暗号化するのに使用されたキーを識別する。いくつかの実施形態では、サンプル暗号化ボックス１１４は、保護システムにわたって共通の、または標準の暗号化方法を記述する、キー、キー識別子、および／またはキーマッピング情報を記憶する。キーは、サンプル暗号化ボックス１１４ごとに異なっていてよい。たとえば、標準の暗号化方法は、カウンター（ＣＴＲ）モードの１２８ビットのキーサイズによる高度暗号化水準（ＡＥＳ）を含む。ＡＥＳアルゴリズムの初期化ベクトルもまた、保護システムに共通である。サンプル暗号化ボックス１１４は、保護システムヘッダーボックス１１６によって共有される。保護システムヘッダーボックス１１６のそれぞれは、保護システムのうちの１つまたは複数に従って、暗号化されたコンテンツ１１２をデコードするための、またはそうでなければ、コンテンツへのアクセスを許可するためのメタデータを含む。
【００１６】
[0025]いくつかの実施形態において、ファイル１１１がＩＳＯベースメディアファイル形式に対応する例では、保護システムヘッダーボックス１１６は入れ子レベル１であり、一方で、サンプル暗号化ボックス１１４は入れ子レベル２である。
【００１７】
[0026]第２のコンピューティングデバイス１０４は、第２のメモリー領域１１８にアクセスできる。第２のメモリー領域１１８、または１つもしくは複数のコンピューター読み取り可能なメディアは、第２のコンピューティングデバイス１０４のユーザーに対し、メディアコンテンツをデコードし、提示するための、コンピューター実行可能なコンポーネントを記憶する。例示的なコンポーネントは、インターフェイス・コンポーネント１２０と、検出コンポーネント１２２と、解析コンポーネント１２４と、変換コンポーネント１２６とを含む。これらのコンポーネントは、第２のコンピューティングデバイス１０４に関連付けられた機能を実装するための例示的な構造を表すが、他の構造が本明細書で説明される機能を実装するために企図される。図１に示される例示的なコンポーネントの動作は、図４を参照して以下で説明される。
【００１８】
[0027]一般的に、第１のメモリー領域１１０は、第１のコンピューティングデバイス１０２に関連付けられている。たとえば、図１では、第１のメモリー領域１１０は、第１のコンピューティングデバイス１０２内にある。しかしながら、第１のメモリー領域１１０、または第１のメモリー領域１１０に記憶されたいずれのデータも、ローカルな、または第１のコンピューティングデバイス１０２から（たとえば、ネットワークを介してアクセス可能な）リモートの、任意のサーバーまたは他のコンピューターに関連付けられていてもよい。同様に、第２のメモリー領域１１８は、第２のコンピューティングデバイス１０４に関連付けられている。たとえば、図１では、第２のメモリー領域１１８は、第２のコンピューティングデバイス１０４内にある。しかしながら、第２のメモリー領域１１８、または第２のメモリー領域１１８に記憶されたいずれのデータも、ローカルな、または第２のコンピューティングデバイス１０４から（たとえば、ネットワークを介してアクセス可能な）リモートの、任意のサーバーまたは他のコンピューターに関連付けられていてもよい。
【００１９】
[0028]プロセッサー１０８は、任意の数の処理ユニットを含み、本開示の態様を実装するためのコンピューター実行可能な命令を実行するようにプログラムされる。命令は、第１のコンピューティングデバイス１０２内で動作する、プロセッサー１０８によって、もしくは複数のプロセッサーによって実行されてもよく、または、第１のコンピューティングデバイス１０２の外部のプロセッサーによって（たとえば、クラウドサービスによって）実行されてもよい。いくつかの実施形態では、プロセッサー１０８は、図（たとえば図３および図４）に示されたような命令を実行するようにプログラムされる。
【００２０】
[0029]改めて図２を参照すると、例示的なブロック図が、コンテンツプロバイダー２０２から、エンコーディング・プロバイダー２０４およびサービスプロバイダー２０６を介してコンシューマーへと向かうコンテンツの流れを図示する。図２の図は、図１に示された図の例を表し、ここで、サービスプロバイダー２０６は、第１のコンピューティングデバイス１０２に相当し、コンシューマーデバイス２０８は、第２のコンピューティング１０４に相当する。
【００２１】
[0030]コンテンツプロバイダー２０２は、メディアコンテンツを格納するファイルを生成する。たとえば、コンテンツプロバイダー２０２は、ムービーに対応するビデオファイルを制作するムービースタジオである。生成されたビデオファイルは、各コンテンツプロバイダー２０２に固有であり得る、メザニン（ｍｅｚｚａｎｉｎｅ）形式として知られる形式であってよい。コンテンツプロバイダー２０２は、ビデオファイルをエンコーディング・プロバイダー２０４に送信する。エンコーディング・プロバイダー２０４は、サービスプロバイダー２０６のうちの１つまたは複数への配信のために、ビデオファイルを準備する。この例で、エンコーディング・パートナーは、いくつかの実施形態では暗号化を含むエンコードのための、メザニンコンテンツを準備するための処理を実行し、次いで、エンコードおよび暗号化を実行する。エンコードおよび暗号化は、コンテンツプロバイダー２０２によって提供された、またはエンコーディング・プロバイダー２０４によって生成された、暗号化キーを使用して行われる。エンコードされたコンテンツは、配信の用意はできているが、保護システム（たとえばＤＲＭ）を欠いている。エンコードされたコンテンツは、サービスプロバイダー２０６に送信される。
【００２２】
[0031]サービスプロバイダー２０６は、エンコードされたコンテンツを受信し、ＤＲＭ  Ａのためのヘッダー（たとえば、保護システムヘッダーボックス１１６のうちの１つ）を、ビデオファイルに付加する。適用された保護システムによるビデオファイルは、ＤＲＭ  Ａのみによって解読されることが可能である、コンシューマーデバイス２０８または他のデバイスに送信されてもよい。代替として、またはそれに加えて、サービスプロバイダー２０６はまた、ＤＲＭ  Ｂのための別のヘッダー（たとえば、保護システムヘッダーボックス１１６のうちの別の１つ）を、ビデオファイルに付加してもよい。この時点で、ビデオファイルは、ＤＲＭ  ＡまたはＤＲＭ  Ａを使用してデコードされることが可能である。ビデオファイルは、コンシューマーに送信され、そこではコンシューマーデバイス２０８が、ＤＲＭ  ＡまたはＤＲＭ  Ｂを使用して、ビデオファイルを解析し、解読し、デコードすることができる。
【００２３】
[0032]例では、コンテンツはムービーであり、ユーザーは、ＤＲＭ  Ａをサポートするデバイス１で、ムービーを再生しようと試みる。デバイス１の再生ソフトウェアが、ムービーが暗号化されていることを判定する。再生ソフトウェアは、ＤＲＭ  Ａに対応する保護固有ヘッダーボックスを見つける。再生ソフトウェアは、保護固有ヘッダーボックスに格納された情報を使用して、ライセンスサーバーに連絡し、ムービーのためのライセンスを取得する。取得されたライセンスは、ＤＲＭ  Ａのための保護固有ヘッダーボックス内（たとえば、その中の余分な空間内）に記憶されてもよい。ムービーは次いで、ＤＲＭ  Ａを使用して解読され、ユーザーに提示される。
【００２４】
[0033]さらなる例では、ユーザーは次いで、ＤＲＭ  Ｂをサポートするデバイス２に、ムービーをコピーする。デバイス２の再生ソフトウェアが、ムービーが暗号化されていることを判定する。再生ソフトウェアは、ＤＲＭ  Ｂに対応する保護固有ヘッダーボックスを見つける。再生ソフトウェアは、保護固有ヘッダーボックスに格納された情報を使用して、ライセンスサーバーに連絡し、ムービーのためのライセンスを取得する。取得されたライセンスは、ＤＲＭ  Ｂのための保護固有ヘッダーボックス内（たとえば、その中の余分な空間内）に記憶されてもよい。ムービーは次いで、ＤＲＭ  Ｂを使用して解読され、ユーザーに提示される。
【００２５】
[0034]次に図３を参照すると、例示的な流れ図が、保護システムのコンテンツへの適用を図示する。３０２で、図２のサービスプロバイダー２０６などのコンピューティングデバイスが、ファイルが受信されたかどうかを判定する。ファイルは、メディアコンテンツおよび１つまたは複数の暗号化式を含む。メディアコンテンツは、暗号化式に従って暗号化される。いくつかの実施形態では、暗号化式は、１つまたは複数の暗号化キー、キー識別子、およびキーマッピング情報を記述するメタデータを含む。他の実施形態では、暗号化式は、暗号化キーのうちの１つまたは複数、キー識別子、および別の場所（たとえば、ウェブサービス）からのキーマッピング情報を入手するためのデータオブジェクトを含む。暗号化式は、たとえば、図１に示される、保護システムヘッダーボックス１１６のうちの１つもしくは複数、および／またはサンプル暗号化ボックス１１４に記憶されてもよい。
【００２６】
[0035]３０２で、メディアコンテンツを有するファイルが受信された後、３０４で、複数の保護システムが選択される。たとえば、保護システムは、意図されたファイルの受信者に基づいて選択されても、または、コンシューマーデバイス２０８によって通常使用される保護システムのデフォルト選択を表してもよい。３０６で、選択された保護システムは、暗号化式のうちの１つまたは複数を使用して、ファイル中でコンテンツに適用されて、ＤＲＭ保護されたコンテンツを作成する。たとえば、保護システムを適用することは、保護システムのためのメタデータをファイルに付加すること、または埋め込むことを含む。メタデータは、保護システムを記述し、コンテンツの解読を有効にする。いくつかの実施形態では、メタデータは、保護システムに関連した権利オブジェクトまたはライセンス情報（または、ライセンス情報への参照）を、保護システムに関連付けられた解読キーと共に含む。
【００２７】
[0036]保護システムは、コンテンツの追加的なコピーを作成することなく、コンテンツに適用される。結果として、単一のコンテナーファイル（たとえば、ファイル１１１）が、コンテンツ、および複数の選択された、適用された保護システムを含む。
【００２８】
[0037]３０８で、ＤＲＭ保護されたコンテンツは、１つまたは複数のコンピューティングデバイスに送信される。コンピューティングデバイスは、コンピューティングデバイスによってサポートされた、適用された保護システムのうちの少なくとも１つを使用して、コンテンツを解読する。代替として、またはそれに加えて、ＤＲＭ保護されたコンテンツは、コンピューティングデバイスによるアクセスのために、メモリー領域に記憶される。
【００２９】
[0038]図１の例で、保護システムを適用することは、選択された保護システムごとに、保護システムヘッダーボックス１１６のうちの１つを定義することを含む。定義された保護システムヘッダーボックス１１６は、ファイルに含まれる。この例では、サンプル暗号化ボックス１１４が、キーマッピング情報とキー識別子とを含む、キー情報を含む。保護システムは、サンプル暗号化ボックス１１４で識別されたキー情報を使用して、コンテンツに適用される。
【００３０】
[0039]次に図４を参照すると、例示的な流れ図が、コンピューティングデバイス上で提示するためのコンテンツのデコードを図示する。４０２で、ＤＲＭ保護されたビデオファイルが、コンピューティングデバイスによって受信される。４０４で、コンピューティングデバイス上で実行されるパーサーが、受信されたファイル中のメタデータを検査して、４０６で、パーサーは、ファイルが適用された保護システムを有することを判定する。たとえば、パーサーは、ファイルがムービング・ピクチャー・エクスパーツ・グループ−４（ＭＰ４）形式である場合に、暗号化されたビデオ（たとえば、「ｅｎｃｖ」）、または暗号化されたオーディオ（たとえば、「ｅｎｃａ」）のストリームタイプによって、ファイルが保護されていることを判定する。そのような例では、パーサーは、保護スキーム情報ボックス内の、スキーム情報ボックスまたはスキームタイプボックスを検査して、ファイル内のトラックが、本開示の態様に従って暗号化されているかどうかを判定する。トラックは、ファイル中の関連したサンプルのコレクションに対応する。いくつかの実施形態では、パーサーは、スキームタイプボックスにおいて、保護スキームを識別する４文字コードおよびバージョン番号を見つける。
【００３１】
[0040]４０８で、コンピューティングデバイス上で実行されるアプリケーションプログラムが、受信されたビデオファイル中で保護システムヘッダーボックス１１６を検索して、コンピューティングデバイスによってサポートされた保護システムに対応する保護システムヘッダーボックス１１６を見つける。保護システムヘッダーボックス１１６は、コンテンツを解読するための任意のライセンスが、再生が始まる前に、コンピューティングデバイス上で利用可能であることを確実にするために使用される。キー識別子が、サンプル暗号化ボックス１１４から入手される。４１０で、アプリケーションプログラムは、サポートされた保護システムに対応する保護システムヘッダーボックス１１６からデータ入手し、該データは、アプリケーションプログラムがそのキー識別子に対応するライセンスサーバーからライセンスを入手するのを可能にする。４１１で、アプリケーションは次いで、暗号化されたキーをライセンスから抽出し、キーを解読する。暗号化されたキー（たとえば、秘密キー、個別化されたキー、または他の非対称キー）の解読は、いくつかの実施形態では、既知の公開／秘密鍵システムを使用して実行され得る。４１２で、解読されたキーはトラックを解読するのに使用され、解読されたコンテンツがユーザーに提示される。
【００３２】
[0041]いくつかの実施形態では、図４に示された動作が、１つまたは複数のコンピューター読み取り可能なメディアに記憶されたコンピューター実行可能なコンポーネントを使用して実装される。たとえば、図１に示されたコンポーネントが、動作を実行する。そのような例では、インターフェイス・コンポーネント１２０が、コンテンツおよび１つまたは複数の暗号化式を格納するファイルを受信する。コンテンツは、暗号化式のうちの少なくとも１つによって暗号化されている。コンテンツはさらに、それに適用された複数の保護システムを有し、ファイルは、複数の保護システムのそれぞれのためのメタデータを含む。複数の保護システムは、暗号化式へのアクセスを共有する。さらに、コンテンツは、暗号化アルゴリズムに従ってエンコードされる。複数の保護システムは、暗号化式および暗号化アルゴリズムを共有する。
【００３３】
[0042]検出コンポーネント１２２は、ファイル中のスキーム情報ボックスを検査して、コンテンツが、本開示の態様に従って保護スキームによって保護されているかどうかを判定する。検出コンポーネント１２２は、コンピューティングデバイスによってどの保護システムがサポートされているかを判定し、サポートされた保護システムのうちの１つを選択する。解析コンポーネント１２４は、検出コンポーネント１２２によって選択された保護システムのためのライセンス情報を、メタデータから入手する。変換コンポーネント１２６は、解析コンポーネント１２４によって入手されたライセンス情報に基づいて、かつ暗号化式に基づいて、コンテンツをデコードし、解読する。インターフェイス・コンポーネント１２０は、デコードされたコンテンツをユーザーに提示する。
【００３４】
[0043]次に、図５、図６、図７、図８、および図９を参照すると、例示的なブロック図が、単一のコンテナーファイルにおいて複数の保護システムをサポートするようにメディアファイル形式を拡張するための、本開示の実施形態の例示的な適用を図示する。以下の例は、ＩＳＯ１４４９６−１２、ＩＳＯ１４４９６−１４、ＩＳＯ１４４９６−１、ＩＳＯ１４４９６−１０、ＩＳＯ１４４９６−３、およびＩＳＯ／ＩＥＣ６３９−３：２００７を含むがこれらに限定されない、知られているさまざまな仕様を参照し、そのすべてがここに、あらゆる目的で参照により本明細書に組み込まれる。次に説明される例は、ＩＳＯベースメディアファイル形式、および／またはＭＰ４形式を対象にするが、本発明の実施形態は、他のファイル形式にも適用可能である。
【００３５】
[0044]以下の例の目的のために、ファイル形式は、ムービーを指してよい。ムービーは、論理的にトラックに分割される。各トラックは、メディアの時間設定されたシーケンス（たとえばビデオのフレーム）を表す。各トラック内で、時間設定されたデータの各ユニットまたは各フレームは、サンプル（たとえば、ビデオもしくはオーディオのフレーム、時間連続的な一連のビデオフレーム、または時間連続的なオーディオの圧縮セクション）と呼ばれる。サンプルは、シーケンスにおいて暗黙的に番号付けされる。オーディオのフレームは、オーディオサンプルのシーケンス中に展開することができる。各トラックは、１つまたは複数のサンプル記述を有する。トラック中の各サンプルは、参照によって記述に結び付けられる。記述は、サンプルがどのようにデコードされてよいか（たとえば、使用される圧縮アルゴリズムを識別する）を定義する。
【００３６】
[0045]いくつかの実施形態では、ファイルの物理構造も、物理メディアのレイアウトも、メディアコンテンツの時間順序に結び付いていない。たとえば、ビデオのフレームは、時間順序で並べられていることがあるものの、ファイル中でそのようなやり方で並べられる必要はない。
【００３７】
[0046]ファイル内のデータは、ボックスにおいてカプセル化される。メディアコンテンツの配置およびタイミングを定義するメタデータを含むメタデータは、ボックスに格納される。メディアコンテンツ（たとえば、ビデオのフレーム）は、メタデータによって参照される。メディアコンテンツは、同じファイル中に（たとえば、１つまたは複数のボックスに格納されて）あってもよく、または他のファイル中にあることもできる。メタデータは、ハイパーリンク（たとえば、ユニフォームリソースロケーター）などの参照を用いて、他のファイルを参照することを可能にする。
【００３８】
[0047]以下の例で、本発明の実施形態は、継承によるクラスベースの表記を使用する。クラスは、ディスク上または配線上の構造として、以下のように一貫して表される。クラスのフィールドは、フィールドが指定される同じ順序でディスク構造に現れ、親クラスのフィールドは、派生されたクラスのためのフィールドの前に現れる。さらに、ボックスが他のボックスを子として格納するとき、子ボックスは、任意の明示的に指定されるフィールドの後に現れ、かつ任意の順序で現れることができる（たとえば、兄弟ボックスは、仕様の準拠に違反することなく並べ替えられてもよい）。
【００３９】
[0048]再び図５を参照すると、例示的なブロック図が、本開示の実施形態に従った、断片化されたファイル構造を表す例示的な構造を図示する。断片化されたファイル構造は、２つのトップレベルボックスである、メタデータのためのムービーフラグメントボックス（「ｍｏｏｆ」）と、サンプルのためのメディアデータ（「ｍｄａｔ」）ボックスとを含む。この例では、保護システムによって共有されるサンプル暗号化ボックス１１４が、ムービーフラグメントボックスのサブボックスとして示される。サンプル暗号化ボックス１１４は、サンプル固有暗号化データを含む。図５のこの例では、サンプル暗号化ボックス１１４は、タイプ汎用一意識別子（ＵＵＩＤ）を有し、トラックフラグメントコンテナーボックスまたはサンプルテーブルコンテナーボックスの一部である。
【００４０】
[0049]サンプル暗号化ボックス１１４のための例示的な構文が、以下に示される。
【００４１】
【数１】
0005730786.tif 000002
【００４２】
[0050]ＡｌｇｏｒｉｔｈｍＩＤは、トラックを暗号化するのに使用される暗号化アルゴリズム（たとえば、ＣＴＲモードのＡＥＳ１２８ビット）の識別子である。ＫＩＤは、サンプル暗号化ボックス１１４によって参照されるサンプルを解読するためのキーを識別するキー識別子である。この例では、サンプル暗号化ボックス１１４中に１つのアルゴリズムＩＤおよび１つのＫＩＤがあり、トラックにつき１つのキーがあることを意味する。他の実施形態では、たとえば、暗号化されたトラック内でクリアコンテンツのセクションを含むコンテンツをブロードキャストするためのキー回転を考慮したり、異なるパラメーターで暗号化されたコンテンツの挿入（たとえば、編集、広告の挿入、他）を考慮したりするために、トラックにつき複数のキーがある。
【００４３】
[0051]Ｓａｍｐｌｅ＿ｃｏｕｎｔは、このトラックまたはトラックフラグメントにおけるサンプルの数量である。ＳａｍｐｌｅＩｄｅｎｔｉｆｉｅｒは、サンプルを解読するための初期化ベクトルを形成するのに使用される。サンプルデータを暗号化するのに使用されるＡＥＳ  ＣＴＲモード暗号化は、ＡＥＳ暗号で暗号化された１２８ビット値のうち、ＳａｍｐｌｅＩｄｅｎｔｉｆｉｅｒを高６４ビットとして使用し、単純なブロックカウンター（たとえば、サンプルの最初からゼロで開始される）を低６４ビットとして使用する。いくつかの実施形態では、所与のキーのＳａｍｐｌｅＩｄｅｎｔｉｆｉｅｒは、サンプルごとに一意であり、最初のサンプル識別子はランダムに生成される。ファイルに付加された保護されたサンプルごとに、ＳａｍｐｌｅＩｄｅｎｔｉｆｉｅｒはインクリメントされてエントロピーを提供し、ＳａｍｐｌｅＩｄｅｎｔｉｆｉｅｒが一意であることを確実にする。
【００４４】
[0052]再び図６を参照すると、例示的なブロック図が、断片化されたファイル編成を表す例示的な構造を図示する。ムービーフラグメントは、メディアデータの特定のシーケンスの特定のセグメントを含む。この例では、ディスク形式は、断片化されたＭＰ４である。図６のファイルタイプボックスは、本開示の実施形態に従ってエンコードされるようにファイルを識別して、ファイルタイプボックスの固定長を作る。ＤＲＭ固有ヘッダーボックス＃１からＤＲＭ固有ヘッダーボックス＃Ｎ（ムービーボックスのサブボックス）などの複数のＤＲＭ固有ヘッダーボックス６０２が、図１に示された複数の保護システムヘッダーボックスに相当する。ＤＲＭ固有ヘッダーボックス６０２は、ライセンスサーバーへの参照（たとえば、ユニフォームリソースロケーター）、ファイルにより使用されるキー識別子のリスト、埋め込まれたライセンスなどを含むがこれらに限定されないデータを格納する。ＤＲＭ固有ヘッダーボックス６０２はまた、（たとえば、コンテンツがユーザーに利用可能にされるより前に、サービスプロバイダー２０６からの）埋め込まれたライセンスの任意の数を、記憶するまたはプリロードすることができる。
【００４５】
[0053]いくつかの実施形態では、複数のＤＲＭ固有ヘッダーボックス６０２が、同じ保護システムのために存在する。たとえば、両方が同じ保護システムを使用するが、それぞれ異なるヘッダーパラメーター（たとえば、異なるサービス識別子、異なるライセンス取得リンク、その他）を使用する、２つの異なるサービスによって単一のファイルが共有される。
【００４６】
[0054]ＤＲＭ固有ヘッダーボックス６０２のための例示的な構文が、以下に示される。
【００４７】
【数２】
0005730786.tif 000003
【００４８】
[0055]ＤＲＭＩＤは、このヘッダーが属する保護システムを一意に識別するＵＵＩＤを指定する。ＤａｔａＳｉｚｅは、データメンバーのバイトにおけるサイズを指定する。Ｄａｔａは、保護システムに固有のデータを保持する。
【００４９】
[0056]再び図７を参照すると、例示的なブロック図が、トラックボックスを記憶するための例示的な構造を図示する。トラックボックスは、図８に示されるようなメディア情報ボックス７０２などのボックスを記憶するコンテナーボックスとして働く。
【００５０】
[0057]再び図８を参照すると、例示的なブロック図が、メディア情報ボックス７０２を記憶するための例示的な構造を図示する。メディア情報ボックス７０２は、サンプル記述ボックス（「ｓｔｓｄ」）などのボックスを記憶するためのコンテナーボックスとして働く。サンプル記述ボックスは、暗号化されたサンプルコンテンツを記憶する保護されたサンプルエントリーボックス８０２を含むボックスを記憶する。サンプルエントリーボックスは、図９に改めて示されている。
【００５１】
[0058]再び図９を参照すると、例示的なブロック図が、保護されたサンプルエントリーボックス８０２を記憶するための例示的な構造を図示する。保護されたサンプルエントリーボックス８０２は、保護スキーム情報ボックスなどのボックスを記憶するコンテナーボックスとして働く。既存のＩＳＯベースメディアファイル形式とは対照的に、保護スキーム情報ボックスが、サンプルエントリーの代わりにサンプル記述ボックスに記憶されて、ストリームが暗号化されていることを表す。保護スキーム情報ボックスは、スキームが識別可能であるように、スキームタイプボックス（「ｓｃｈｍ」）を格納する。
追加の実施例
[0059]本明細書において説明されたファイル形式は、オーディオおよびビデオコンテンツ交互の遅延バインドのサポートを含む、最小ファイル形式を表す。これは、レガシーの、または新生のコーダー／デコーダー（コーデック）をサポートするコンピューティングデバイスが、追加的なダウンロードコストを伴うそれらのコーデックのサポートなしのデバイスに負荷をかけることなく、再生時にそれらのストリームを遅延バインドすることを有効にする。
【００５２】
[0060]本開示の実施形態は、断片化された、および断片化されていない両方のコンテナーファイルをサポートする。たとえば、アダプティブストリーミングでは、断片化されたファイル形式が使用されるが、光ディスクからのデジタルコピーでは、断片化されていないファイル形式が使用される。
例示的な動作環境
[0061]限定ではなく、例として、コンピューター読み取り可能なメディアは、コンピューター記憶域メディアおよび通信メディアを含む。コンピューター記憶域メディアは、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶する。通信メディアは、通常、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他のトランスポート機構などの変調されたデータ信号において具体化し、任意の情報配信メディアを含む。上記の任意の組合せもまた、コンピューター読み取り可能なメディアの範囲内に含まれる。
【００５３】
[0062]本発明の実施形態は、例示的なコンピューティングシステム環境に関連して説明されるものの、多数の他の汎用の、もしくは特殊用途のコンピューティングシステム環境、またはコンピューティングシステム構成によって稼働する。本発明の態様との使用に好適であり得る、よく知られているコンピューティングシステム、環境、および／または構成の例は、携帯端末、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、マルチプロセッサーシステム、ゲーミングコンソール、マイクロプロセッサーベースのシステム、セットトップボックス、プログラム可能なコンシューマーエレクトロニクス、携帯電話、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、上記のシステムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【００５４】
[0063]本発明の実施形態は、１つまたは複数のコンピューターまたは他のデバイスによって実行されるプログラムモジュールなどの、コンピューター実行可能な命令の一般的なコンテキストにおいて説明されてもよい。コンピューター実行可能な命令は、１つまたは複数のコンピューター実行可能なコンポーネントまたはモジュールの中に整理されてもよい。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、および特定のタスクを実行する、または特定の抽象データ型を実装するデータ構造を含むが、これらに限定されない。本発明の態様は、そのようなコンポーネントまたはモジュールの任意の数および編成で実装されてもよい。たとえば、本発明の態様は、図面において図示され、本明細書において説明される、特定のコンピューター実行可能な命令、または特定のコンポーネントもしくはモジュールには限定されない。本発明の他の実施形態は、本明細書において図示され、説明されたよりも、多いまたは少ない機能を有する、異なるコンピューター実行可能な命令またはコンポーネントを含むことができる。
【００５５】
[0064]本発明の態様は、本明細書において説明された命令を実行するように構成されるとき、汎用コンピューターを、特殊用途のコンピューティングデバイスに変換する。
[0065]本明細書において図示され、説明された実施形態、ならびに、本明細書において詳細には説明されていないが本発明の態様の範囲内である実施形態は、ＩＳＯベースメディアファイル形式に従って、単一のコンテナーファイル内で複数の保護システムをサポートするための例示的な手段、および、ＩＳＯベースメディアファイル形式の拡張として、単一のコンテナーファイルに複数の保護システムのためのメタデータを記憶するための例示的な手段を構成する。
【００５６】
[0066]本明細書において図示され、説明された本発明の実施形態の動作の実行またはパフォーマンスの順序は、指定されていない限り、必須ではない。すなわち、指定されていない限り、動作は任意の順序で実行されてよく、本発明の実施形態は、本明細書において説明されたものに追加した、またはそれよりも少ない動作を含むことができる。たとえば、別の動作の前で、それと同時に、またはその後で、特定の動作を実行する、または行うことは、本発明の態様の範囲内であることが企図される。
【００５７】
[0067]本発明の態様の、またはその実施形態の要素を導入するとき、冠詞「一つの」および「前記」は、１つまたは複数の要素があることを意味するように意図される。用語「含む」および「有する」は、包括的であることが意図されており、記載された要素以外の追加的な要素があってもよいことを意味する。
【００５８】
[0068]本発明の態様が詳細に説明されてきたが、添付の特許請求の範囲において定義されるような本発明の態様の範囲から逸脱せずに、変更形態または変形形態が可能であることは明らかであろう。本発明の態様の範囲から逸脱せずに、上記の構成、製品、および方法においてさまざまな変更がなされ得ることから、上記の説明に含まれ、付属の図面に示されるすべての事項は、例示として解釈され、限定する意味において解釈されないことが意図される。
【図１】
0005730786.tif 000004
【図２】
0005730786.tif 000005
【図３】
0005730786.tif 000006
【図４】
0005730786.tif 000007
【図５】
0005730786.tif 000008
【図６】
0005730786.tif 000009
【図７】
0005730786.tif 000010
【図８】
0005730786.tif 000011
【図９】
0005730786.tif 000012