説明

1ファイルにおける複数のコンテンツ保護システム

単一のコンテナーファイルにおいて複数のコンテンツ保護システムをサポートするシステム及び方法を提供する。保護システムは、ファイル中のサンプル暗号化ボックスからアクセス可能である暗号化方法を共有する。保護システムのそれぞれが、対応する保護システムに従って、コンテンツを解読するための情報を保護システムヘッダーボックスに記憶する。いくつかの実施形態では、ファイル中の別個の保護システムヘッダーボックスが、保護システムのそれぞれに対応する。共通の暗号化方法を使用し、保護システムにわたって暗号化式を共有することによって、複数のコンテンツ保護システムが、コンテンツの追加的なコピーを作成することなく、ファイル中でサポートされる。いくつかの実施形態では、本開示の態様は、単一のコンテナーファイルにおいて複数のデジタル著作権管理(DRM)システムをサポートするように、国際標準化機構(ISO)ベースメディアファイル形式を拡張する。

【発明の詳細な説明】
【背景技術】
【0001】
[0001]既存のデジタル著作権管理(DRM)システムは、権限のない使用から、メディアコンテンツおよび他のファイルを保護する。コンテンツを保護するために、DRMシステムの1つに固有のメタデータが、メディアコンテンツと共にファイルに記憶される。デバイスは、メタデータを解釈し、コンテンツを解読することによって、ユーザーに提示するためのコンテンツを表示する。しかしながら、第1のDRMシステムに従って暗号化されたコンテンツは、第2のDRMシステムのみをサポートするデバイスによっては解読できない。そのようなデバイスによって暗号化されたコンテンツの解読を有効にするために、既存のシステムは、それぞれ異なるDRMシステムに従って暗号化された、コンテンツの複数のバージョンを作成する。代替的には、第1のDRMシステムをサポートするデバイスによってコンテンツが解読され、次いで、第2のDRMシステムをサポートするデバイスによって再暗号化されてもよい。さらに他の既存のシステムは、第1のDRMシステムおよび第2のDRMシステム間の権限マッピングを提供するサービスを含む。
【発明の概要】
【課題を解決するための手段】
【0002】
[0002]本発明の実施形態は、単一のコンテナーファイルに適用される複数の保護システムをサポートする。コンテンツおよび1つまたは複数の暗号化式を格納するファイルが受信される。コンテンツは、暗号化式によって暗号化される。受信されたファイルからの暗号化式を使用して、複数の保護システムがコンテンツに適用される。保護システムのそれぞれは、同じ暗号化式を使用してコンテンツを保護する。コンテンツおよび適用された複数の保護システムを有するファイルは、解読のために、1つまたは複数のコンピューティングデバイスに送信される。コンピューティングデバイスのそれぞれは、適用された複数の保護システムのうちの少なくとも1つを使用して、コンテンツを解読する。
【0003】
[0003]この概要は、詳細な説明において以下でさらに説明される、選択された概念を簡略化された形式において導入するために提供される。この概要は、特許請求される主題の重要な特徴、または必須の特徴を特定することは意図されず、特許請求される主題の範囲を決定する支援として使用されることも意図されない。
【図面の簡単な説明】
【0004】
【図1】[0004]ネットワーク上で第2のコンピューティングデバイスにコンテンツを提供する第1のコンピューティングデバイスを示す、例示的なブロック図である。
【図2】[0005]コンテンツプロバイダーから、エンコーディング・プロバイダーおよびサービスプロバイダーを介してコンシューマーへと向かうコンテンツの流れを示す、例示的なブロック図である。
【図3】[0006]保護システムのコンテンツへの適用を示す、例示的な流れ図である。
【図4】[0007]コンピューティングデバイス上で提示するためのコンテンツのデコードを示す、例示的な流れ図である。
【図5】[0008]断片化されたファイル構造を表す例示的な構造を示す、例示的なブロック図である。
【図6】[0009]断片化されたファイル編成を表す例示的な構造を示す、例示的なブロック図である。
【図7】[0010]トラックボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【図8】[0011]メディア情報ボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【図9】[0012]保護されたサンプルエントリーボックスを記憶するための例示的な構造を示す、例示的なブロック図である。
【発明を実施するための形態】
【0005】
[0013]対応する参照文字は、図面全体を通して対応する要素を示す。
[0014]図を参照すると、本開示の実施形態が、ユーザーに提示するためのメディアコンテンツを記憶するファイル111において、デジタル著作権管理(DRM)システムなどの少なくとも複数の保護システムをサポートする。ファイル111は、複数の保護システムによって保護される、メディアコンテンツまたは他のコンテンツの単一のコピーを記憶する。保護システム間でそのような相互運用性をある程度有効にするために、保護システムは、保護システムに共通な暗号化アルゴリズムまたは他の暗号化方法を使用、または共有する。加えて、保護システムによって使用されるキー情報などの暗号化式が、保護システムにわたって共有される。
【0006】
[0015]本開示の態様は、ファイル111などの単一のコンテナーファイルにおいて複数のDRMシステムをサポートするように、国際標準化機構(ISO)ベースメディアファイル形式を拡張する。いくつかの実施形態では、コンテナーファイルは、サンプル暗号化ボックス114と、それぞれが保護システムのうちの1つまたは複数に特定である複数の保護システムヘッダーボックス116とを含む。サンプル暗号化ボックス114は、保護システムに共通の暗号化方法を記憶、または識別する。保護システムヘッダーボックス116はそれぞれ、対応する保護システムでコンテンツを解読するために使用されるデータオブジェクトを記憶する。たとえば、いくつかの実施形態では、保護システムヘッダーボックス116におけるデータオブジェクトは、コンテンツを解読するための(たとえば、ライセンスサーバーからの)他のデータオブジェクトを取得するために使用される。データオブジェクトは、あいまいなメタデータを表して、単一のファイルにおいて複数の保護システムを同時にサポートする。
【0007】
[0016]本発明の態様は、携帯電話、またはネットブックもしくはウルトラポータブルなどの携帯端末であるコンピューティングデバイスに関連して説明されるが、本発明の実施形態は、任意のコンピューティングデバイスで動作可能である。たとえば、本発明の態様は、デジタルカメラ、デジタルビデオカメラ、ラップトップコンピューター、セットトップボックス、ゲーミングコンソール(ハンドヘルド・ゲーミングコンソールを含む)、ポータブルミュージックプレイヤー、携帯情報端末、情報家電、およびパーソナルコミュニケーターなどのデバイスで動作可能である。
【0008】
[0017]改めて図1を参照すると、例示的なブロック図が、ネットワーク106上で第2のコンピューティングデバイス104にコンテンツを提供する第1のコンピューティングデバイス102を図示する。いくつかの実施形態では、第1のコンピューティングデバイス102は、サーバーであり、第2のコンピューティングデバイス104は、クライアントデバイスであり、ネットワーク106は、インターネットである。第1のコンピューティングデバイス102は、少なくとも、第1のメモリー領域110と、プロセッサー108とを含む。第1のメモリー領域110は、たとえば、メディアコンテンツまたはメディアプレゼンテーションに対応するファイル111を記憶する。メディアコンテンツは、ビデオ、オーディオ、イメージ、テキスト、および/もしくはグラフィック、またはそれら一連のものなどの、商用または商用でないメディアデータを含む。第1のコンピューティングデバイス102は、メディアコンテンツを有するファイル111を、ネットワーク106上で第2のコンピューティングデバイス104に送信する。
【0009】
[0018]図1の例示的なブロック図は、本開示の実施形態によってサポートされるコンテンツ配信シナリオを説明し、コンテンツ配信シナリオは、光ディスクからコンピューティングデバイス(たとえば、ポータブルデバイスまたはパーソナルコンピューター)への、標準画質またはポータブルメディアコンテンツのセカンドセッションまたはデジタル配信、マルチメディアコンテンツのプログレッシブダウンロード、インターネットプロトコル(IP)ネットワーク上でのアダプティブストリーミング、あるいはポータブルデバイスへのマルチメディアコンテンツのサイドローディングを含むが、これらに限定されない。
【0010】
[0019]第1のコンピューティングデバイス102または他のサーバーは、任意の知られている、または今後開発される、メディアコンテンツまたはそれに関連した情報のソースを表し、データ記憶域サーバー、DRMサーバー、(たとえば、音楽もしくはビデオのダウンロード、オンデマンド、ブロードキャスト、または広告用の)メディアコンテンツサーバー、ピアサーバーなどを含むが、これらに限定されない。第1のコンピューティングデバイス102は、1つまたは複数のそのようなデバイスを含むことができる。
【0011】
[0020]ネットワーク106は、知られている、または将来開発されるメディアプロトコルをサポートするように構成された、任意のデジタルデータの伝送インフラストラクチャーまたは伝送技術を表す。例示的なネットワークは、インターネット、移動体通信ネットワーク、衛星ネットワーク、BLUETOOTHブランドのワイヤレスネットワークなどを含むが、これらに限定されない。
【0012】
[0021]第2のコンピューティングデバイス104は、第1のコンピューティングデバイス102からデータを受信するように構成された、任意のコンピューティングデバイス、またはそのようなコンピューティングデバイスの要素である。第2のコンピューティングデバイス104は、受信されたデータを記憶および/または提示するように、あるいは代替的には、記憶および/または提示のために、受信されたデータを別のデバイスに渡すように構成されてもよい。
【0013】
[0022]第1のコンピューティングデバイス102および第2のコンピューティングデバイス104は、トランシーバー、マルチプレクサー、デマルチプレクサー、エンコーダー、デコーダー、暗号化器、解読器などのコンポーネントを含むことができる。
【0014】
[0023]いくつかの実施形態では、ファイル111は、複数の保護システムをサポートする形式でコンテンツを記憶するコンテナーファイルを表す。保護システムは、たとえば、DRMシステムに相当する。そのような実施形態では、ファイル111は、暗号化されたコンテンツ112と、サンプル暗号化ボックス114と、保護システムヘッダーボックス#1から保護システムヘッダーボックス#Nなどの、複数の保護システムヘッダーボックス116とを含む。サンプル暗号化ボックス114および保護システムヘッダーボックス116は、タイプ識別子および長さによって定義された、オブジェクト指向の構成ブロックを表す。コンテナーボックスは、関連するボックスを格納し、グループ化する。たとえば、メディアデータボックスは、提示のためのメディアコンテンツを保持するコンテナーボックスであり、一方、ムービーボックスは、そのサブボックスが提示のためのメタデータを定義するコンテナーボックスである。サンプル暗号化ボックス114および保護システムヘッダーボックス116は、図に示されるような特定のボックスまたはコンテナーボックスに含まれるように示されるが、ボックスは、その中に含まれるボックス、またはその中の別のボックスを介して伝達され得る情報を明記する。さらに、ボックスは、ファイル111における他のボックスのサブボックスとみなされてもよい。
【0015】
[0024]複数の保護システムヘッダーボックス116のそれぞれは、保護システムのうちの1つまたは複数に関連付けられている。任意の数の保護システムヘッダーボックス116が、ファイル111内に格納され得る。ボックスおよび保護システムは、DRM識別子、または他の保護システム識別子によって識別される。サンプル暗号化ボックス114は、暗号化されたコンテンツ112を暗号化するのに使用されたキーを識別する。いくつかの実施形態では、サンプル暗号化ボックス114は、保護システムにわたって共通の、または標準の暗号化方法を記述する、キー、キー識別子、および/またはキーマッピング情報を記憶する。キーは、サンプル暗号化ボックス114ごとに異なっていてよい。たとえば、標準の暗号化方法は、カウンター(CTR)モードの128ビットのキーサイズによる高度暗号化水準(AES)を含む。AESアルゴリズムの初期化ベクトルもまた、保護システムに共通である。サンプル暗号化ボックス114は、保護システムヘッダーボックス116によって共有される。保護システムヘッダーボックス116のそれぞれは、保護システムのうちの1つまたは複数に従って、暗号化されたコンテンツ112をデコードするための、またはそうでなければ、コンテンツへのアクセスを許可するためのメタデータを含む。
【0016】
[0025]いくつかの実施形態において、ファイル111がISOベースメディアファイル形式に対応する例では、保護システムヘッダーボックス116は入れ子レベル1であり、一方で、サンプル暗号化ボックス114は入れ子レベル2である。
【0017】
[0026]第2のコンピューティングデバイス104は、第2のメモリー領域118にアクセスできる。第2のメモリー領域118、または1つもしくは複数のコンピューター読み取り可能なメディアは、第2のコンピューティングデバイス104のユーザーに対し、メディアコンテンツをデコードし、提示するための、コンピューター実行可能なコンポーネントを記憶する。例示的なコンポーネントは、インターフェイス・コンポーネント120と、検出コンポーネント122と、解析コンポーネント124と、変換コンポーネント126とを含む。これらのコンポーネントは、第2のコンピューティングデバイス104に関連付けられた機能を実装するための例示的な構造を表すが、他の構造が本明細書で説明される機能を実装するために企図される。図1に示される例示的なコンポーネントの動作は、図4を参照して以下で説明される。
【0018】
[0027]一般的に、第1のメモリー領域110は、第1のコンピューティングデバイス102に関連付けられている。たとえば、図1では、第1のメモリー領域110は、第1のコンピューティングデバイス102内にある。しかしながら、第1のメモリー領域110、または第1のメモリー領域110に記憶されたいずれのデータも、ローカルな、または第1のコンピューティングデバイス102から(たとえば、ネットワークを介してアクセス可能な)リモートの、任意のサーバーまたは他のコンピューターに関連付けられていてもよい。同様に、第2のメモリー領域118は、第2のコンピューティングデバイス104に関連付けられている。たとえば、図1では、第2のメモリー領域118は、第2のコンピューティングデバイス104内にある。しかしながら、第2のメモリー領域118、または第2のメモリー領域118に記憶されたいずれのデータも、ローカルな、または第2のコンピューティングデバイス104から(たとえば、ネットワークを介してアクセス可能な)リモートの、任意のサーバーまたは他のコンピューターに関連付けられていてもよい。
【0019】
[0028]プロセッサー108は、任意の数の処理ユニットを含み、本開示の態様を実装するためのコンピューター実行可能な命令を実行するようにプログラムされる。命令は、第1のコンピューティングデバイス102内で動作する、プロセッサー108によって、もしくは複数のプロセッサーによって実行されてもよく、または、第1のコンピューティングデバイス102の外部のプロセッサーによって(たとえば、クラウドサービスによって)実行されてもよい。いくつかの実施形態では、プロセッサー108は、図(たとえば図3および図4)に示されたような命令を実行するようにプログラムされる。
【0020】
[0029]改めて図2を参照すると、例示的なブロック図が、コンテンツプロバイダー202から、エンコーディング・プロバイダー204およびサービスプロバイダー206を介してコンシューマーへと向かうコンテンツの流れを図示する。図2の図は、図1に示された図の例を表し、ここで、サービスプロバイダー206は、第1のコンピューティングデバイス102に相当し、コンシューマーデバイス208は、第2のコンピューティング104に相当する。
【0021】
[0030]コンテンツプロバイダー202は、メディアコンテンツを格納するファイルを生成する。たとえば、コンテンツプロバイダー202は、ムービーに対応するビデオファイルを制作するムービースタジオである。生成されたビデオファイルは、各コンテンツプロバイダー202に固有であり得る、メザニン(mezzanine)形式として知られる形式であってよい。コンテンツプロバイダー202は、ビデオファイルをエンコーディング・プロバイダー204に送信する。エンコーディング・プロバイダー204は、サービスプロバイダー206のうちの1つまたは複数への配信のために、ビデオファイルを準備する。この例で、エンコーディング・パートナーは、いくつかの実施形態では暗号化を含むエンコードのための、メザニンコンテンツを準備するための処理を実行し、次いで、エンコードおよび暗号化を実行する。エンコードおよび暗号化は、コンテンツプロバイダー202によって提供された、またはエンコーディング・プロバイダー204によって生成された、暗号化キーを使用して行われる。エンコードされたコンテンツは、配信の用意はできているが、保護システム(たとえばDRM)を欠いている。エンコードされたコンテンツは、サービスプロバイダー206に送信される。
【0022】
[0031]サービスプロバイダー206は、エンコードされたコンテンツを受信し、DRM Aのためのヘッダー(たとえば、保護システムヘッダーボックス116のうちの1つ)を、ビデオファイルに付加する。適用された保護システムによるビデオファイルは、DRM Aのみによって解読されることが可能である、コンシューマーデバイス208または他のデバイスに送信されてもよい。代替として、またはそれに加えて、サービスプロバイダー206はまた、DRM Bのための別のヘッダー(たとえば、保護システムヘッダーボックス116のうちの別の1つ)を、ビデオファイルに付加してもよい。この時点で、ビデオファイルは、DRM AまたはDRM Aを使用してデコードされることが可能である。ビデオファイルは、コンシューマーに送信され、そこではコンシューマーデバイス208が、DRM AまたはDRM Bを使用して、ビデオファイルを解析し、解読し、デコードすることができる。
【0023】
[0032]例では、コンテンツはムービーであり、ユーザーは、DRM Aをサポートするデバイス1で、ムービーを再生しようと試みる。デバイス1の再生ソフトウェアが、ムービーが暗号化されていることを判定する。再生ソフトウェアは、DRM Aに対応する保護固有ヘッダーボックスを見つける。再生ソフトウェアは、保護固有ヘッダーボックスに格納された情報を使用して、ライセンスサーバーに連絡し、ムービーのためのライセンスを取得する。取得されたライセンスは、DRM Aのための保護固有ヘッダーボックス内(たとえば、その中の余分な空間内)に記憶されてもよい。ムービーは次いで、DRM Aを使用して解読され、ユーザーに提示される。
【0024】
[0033]さらなる例では、ユーザーは次いで、DRM Bをサポートするデバイス2に、ムービーをコピーする。デバイス2の再生ソフトウェアが、ムービーが暗号化されていることを判定する。再生ソフトウェアは、DRM Bに対応する保護固有ヘッダーボックスを見つける。再生ソフトウェアは、保護固有ヘッダーボックスに格納された情報を使用して、ライセンスサーバーに連絡し、ムービーのためのライセンスを取得する。取得されたライセンスは、DRM Bのための保護固有ヘッダーボックス内(たとえば、その中の余分な空間内)に記憶されてもよい。ムービーは次いで、DRM Bを使用して解読され、ユーザーに提示される。
【0025】
[0034]次に図3を参照すると、例示的な流れ図が、保護システムのコンテンツへの適用を図示する。302で、図2のサービスプロバイダー206などのコンピューティングデバイスが、ファイルが受信されたかどうかを判定する。ファイルは、メディアコンテンツおよび1つまたは複数の暗号化式を含む。メディアコンテンツは、暗号化式に従って暗号化される。いくつかの実施形態では、暗号化式は、1つまたは複数の暗号化キー、キー識別子、およびキーマッピング情報を記述するメタデータを含む。他の実施形態では、暗号化式は、暗号化キーのうちの1つまたは複数、キー識別子、および別の場所(たとえば、ウェブサービス)からのキーマッピング情報を入手するためのデータオブジェクトを含む。暗号化式は、たとえば、図1に示される、保護システムヘッダーボックス116のうちの1つもしくは複数、および/またはサンプル暗号化ボックス114に記憶されてもよい。
【0026】
[0035]302で、メディアコンテンツを有するファイルが受信された後、304で、複数の保護システムが選択される。たとえば、保護システムは、意図されたファイルの受信者に基づいて選択されても、または、コンシューマーデバイス208によって通常使用される保護システムのデフォルト選択を表してもよい。306で、選択された保護システムは、暗号化式のうちの1つまたは複数を使用して、ファイル中でコンテンツに適用されて、DRM保護されたコンテンツを作成する。たとえば、保護システムを適用することは、保護システムのためのメタデータをファイルに付加すること、または埋め込むことを含む。メタデータは、保護システムを記述し、コンテンツの解読を有効にする。いくつかの実施形態では、メタデータは、保護システムに関連した権利オブジェクトまたはライセンス情報(または、ライセンス情報への参照)を、保護システムに関連付けられた解読キーと共に含む。
【0027】
[0036]保護システムは、コンテンツの追加的なコピーを作成することなく、コンテンツに適用される。結果として、単一のコンテナーファイル(たとえば、ファイル111)が、コンテンツ、および複数の選択された、適用された保護システムを含む。
【0028】
[0037]308で、DRM保護されたコンテンツは、1つまたは複数のコンピューティングデバイスに送信される。コンピューティングデバイスは、コンピューティングデバイスによってサポートされた、適用された保護システムのうちの少なくとも1つを使用して、コンテンツを解読する。代替として、またはそれに加えて、DRM保護されたコンテンツは、コンピューティングデバイスによるアクセスのために、メモリー領域に記憶される。
【0029】
[0038]図1の例で、保護システムを適用することは、選択された保護システムごとに、保護システムヘッダーボックス116のうちの1つを定義することを含む。定義された保護システムヘッダーボックス116は、ファイルに含まれる。この例では、サンプル暗号化ボックス114が、キーマッピング情報とキー識別子とを含む、キー情報を含む。保護システムは、サンプル暗号化ボックス114で識別されたキー情報を使用して、コンテンツに適用される。
【0030】
[0039]次に図4を参照すると、例示的な流れ図が、コンピューティングデバイス上で提示するためのコンテンツのデコードを図示する。402で、DRM保護されたビデオファイルが、コンピューティングデバイスによって受信される。404で、コンピューティングデバイス上で実行されるパーサーが、受信されたファイル中のメタデータを検査して、406で、パーサーは、ファイルが適用された保護システムを有することを判定する。たとえば、パーサーは、ファイルがムービング・ピクチャー・エクスパーツ・グループ−4(MP4)形式である場合に、暗号化されたビデオ(たとえば、「encv」)、または暗号化されたオーディオ(たとえば、「enca」)のストリームタイプによって、ファイルが保護されていることを判定する。そのような例では、パーサーは、保護スキーム情報ボックス内の、スキーム情報ボックスまたはスキームタイプボックスを検査して、ファイル内のトラックが、本開示の態様に従って暗号化されているかどうかを判定する。トラックは、ファイル中の関連したサンプルのコレクションに対応する。いくつかの実施形態では、パーサーは、スキームタイプボックスにおいて、保護スキームを識別する4文字コードおよびバージョン番号を見つける。
【0031】
[0040]408で、コンピューティングデバイス上で実行されるアプリケーションプログラムが、受信されたビデオファイル中で保護システムヘッダーボックス116を検索して、コンピューティングデバイスによってサポートされた保護システムに対応する保護システムヘッダーボックス116を見つける。保護システムヘッダーボックス116は、コンテンツを解読するための任意のライセンスが、再生が始まる前に、コンピューティングデバイス上で利用可能であることを確実にするために使用される。キー識別子が、サンプル暗号化ボックス114から入手される。410で、アプリケーションプログラムは、サポートされた保護システムに対応する保護システムヘッダーボックス116からデータ入手し、該データは、アプリケーションプログラムがそのキー識別子に対応するライセンスサーバーからライセンスを入手するのを可能にする。411で、アプリケーションは次いで、暗号化されたキーをライセンスから抽出し、キーを解読する。暗号化されたキー(たとえば、秘密キー、個別化されたキー、または他の非対称キー)の解読は、いくつかの実施形態では、既知の公開/秘密鍵システムを使用して実行され得る。412で、解読されたキーはトラックを解読するのに使用され、解読されたコンテンツがユーザーに提示される。
【0032】
[0041]いくつかの実施形態では、図4に示された動作が、1つまたは複数のコンピューター読み取り可能なメディアに記憶されたコンピューター実行可能なコンポーネントを使用して実装される。たとえば、図1に示されたコンポーネントが、動作を実行する。そのような例では、インターフェイス・コンポーネント120が、コンテンツおよび1つまたは複数の暗号化式を格納するファイルを受信する。コンテンツは、暗号化式のうちの少なくとも1つによって暗号化されている。コンテンツはさらに、それに適用された複数の保護システムを有し、ファイルは、複数の保護システムのそれぞれのためのメタデータを含む。複数の保護システムは、暗号化式へのアクセスを共有する。さらに、コンテンツは、暗号化アルゴリズムに従ってエンコードされる。複数の保護システムは、暗号化式および暗号化アルゴリズムを共有する。
【0033】
[0042]検出コンポーネント122は、ファイル中のスキーム情報ボックスを検査して、コンテンツが、本開示の態様に従って保護スキームによって保護されているかどうかを判定する。検出コンポーネント122は、コンピューティングデバイスによってどの保護システムがサポートされているかを判定し、サポートされた保護システムのうちの1つを選択する。解析コンポーネント124は、検出コンポーネント122によって選択された保護システムのためのライセンス情報を、メタデータから入手する。変換コンポーネント126は、解析コンポーネント124によって入手されたライセンス情報に基づいて、かつ暗号化式に基づいて、コンテンツをデコードし、解読する。インターフェイス・コンポーネント120は、デコードされたコンテンツをユーザーに提示する。
【0034】
[0043]次に、図5、図6、図7、図8、および図9を参照すると、例示的なブロック図が、単一のコンテナーファイルにおいて複数の保護システムをサポートするようにメディアファイル形式を拡張するための、本開示の実施形態の例示的な適用を図示する。以下の例は、ISO14496−12、ISO14496−14、ISO14496−1、ISO14496−10、ISO14496−3、およびISO/IEC639−3:2007を含むがこれらに限定されない、知られているさまざまな仕様を参照し、そのすべてがここに、あらゆる目的で参照により本明細書に組み込まれる。次に説明される例は、ISOベースメディアファイル形式、および/またはMP4形式を対象にするが、本発明の実施形態は、他のファイル形式にも適用可能である。
【0035】
[0044]以下の例の目的のために、ファイル形式は、ムービーを指してよい。ムービーは、論理的にトラックに分割される。各トラックは、メディアの時間設定されたシーケンス(たとえばビデオのフレーム)を表す。各トラック内で、時間設定されたデータの各ユニットまたは各フレームは、サンプル(たとえば、ビデオもしくはオーディオのフレーム、時間連続的な一連のビデオフレーム、または時間連続的なオーディオの圧縮セクション)と呼ばれる。サンプルは、シーケンスにおいて暗黙的に番号付けされる。オーディオのフレームは、オーディオサンプルのシーケンス中に展開することができる。各トラックは、1つまたは複数のサンプル記述を有する。トラック中の各サンプルは、参照によって記述に結び付けられる。記述は、サンプルがどのようにデコードされてよいか(たとえば、使用される圧縮アルゴリズムを識別する)を定義する。
【0036】
[0045]いくつかの実施形態では、ファイルの物理構造も、物理メディアのレイアウトも、メディアコンテンツの時間順序に結び付いていない。たとえば、ビデオのフレームは、時間順序で並べられていることがあるものの、ファイル中でそのようなやり方で並べられる必要はない。
【0037】
[0046]ファイル内のデータは、ボックスにおいてカプセル化される。メディアコンテンツの配置およびタイミングを定義するメタデータを含むメタデータは、ボックスに格納される。メディアコンテンツ(たとえば、ビデオのフレーム)は、メタデータによって参照される。メディアコンテンツは、同じファイル中に(たとえば、1つまたは複数のボックスに格納されて)あってもよく、または他のファイル中にあることもできる。メタデータは、ハイパーリンク(たとえば、ユニフォームリソースロケーター)などの参照を用いて、他のファイルを参照することを可能にする。
【0038】
[0047]以下の例で、本発明の実施形態は、継承によるクラスベースの表記を使用する。クラスは、ディスク上または配線上の構造として、以下のように一貫して表される。クラスのフィールドは、フィールドが指定される同じ順序でディスク構造に現れ、親クラスのフィールドは、派生されたクラスのためのフィールドの前に現れる。さらに、ボックスが他のボックスを子として格納するとき、子ボックスは、任意の明示的に指定されるフィールドの後に現れ、かつ任意の順序で現れることができる(たとえば、兄弟ボックスは、仕様の準拠に違反することなく並べ替えられてもよい)。
【0039】
[0048]再び図5を参照すると、例示的なブロック図が、本開示の実施形態に従った、断片化されたファイル構造を表す例示的な構造を図示する。断片化されたファイル構造は、2つのトップレベルボックスである、メタデータのためのムービーフラグメントボックス(「moof」)と、サンプルのためのメディアデータ(「mdat」)ボックスとを含む。この例では、保護システムによって共有されるサンプル暗号化ボックス114が、ムービーフラグメントボックスのサブボックスとして示される。サンプル暗号化ボックス114は、サンプル固有暗号化データを含む。図5のこの例では、サンプル暗号化ボックス114は、タイプ汎用一意識別子(UUID)を有し、トラックフラグメントコンテナーボックスまたはサンプルテーブルコンテナーボックスの一部である。
【0040】
[0049]サンプル暗号化ボックス114のための例示的な構文が、以下に示される。
【0041】
【数1】

【0042】
[0050]AlgorithmIDは、トラックを暗号化するのに使用される暗号化アルゴリズム(たとえば、CTRモードのAES128ビット)の識別子である。KIDは、サンプル暗号化ボックス114によって参照されるサンプルを解読するためのキーを識別するキー識別子である。この例では、サンプル暗号化ボックス114中に1つのアルゴリズムIDおよび1つのKIDがあり、トラックにつき1つのキーがあることを意味する。他の実施形態では、たとえば、暗号化されたトラック内でクリアコンテンツのセクションを含むコンテンツをブロードキャストするためのキー回転を考慮したり、異なるパラメーターで暗号化されたコンテンツの挿入(たとえば、編集、広告の挿入、他)を考慮したりするために、トラックにつき複数のキーがある。
【0043】
[0051]Sample_countは、このトラックまたはトラックフラグメントにおけるサンプルの数量である。SampleIdentifierは、サンプルを解読するための初期化ベクトルを形成するのに使用される。サンプルデータを暗号化するのに使用されるAES CTRモード暗号化は、AES暗号で暗号化された128ビット値のうち、SampleIdentifierを高64ビットとして使用し、単純なブロックカウンター(たとえば、サンプルの最初からゼロで開始される)を低64ビットとして使用する。いくつかの実施形態では、所与のキーのSampleIdentifierは、サンプルごとに一意であり、最初のサンプル識別子はランダムに生成される。ファイルに付加された保護されたサンプルごとに、SampleIdentifierはインクリメントされてエントロピーを提供し、SampleIdentifierが一意であることを確実にする。
【0044】
[0052]再び図6を参照すると、例示的なブロック図が、断片化されたファイル編成を表す例示的な構造を図示する。ムービーフラグメントは、メディアデータの特定のシーケンスの特定のセグメントを含む。この例では、ディスク形式は、断片化されたMP4である。図6のファイルタイプボックスは、本開示の実施形態に従ってエンコードされるようにファイルを識別して、ファイルタイプボックスの固定長を作る。DRM固有ヘッダーボックス#1からDRM固有ヘッダーボックス#N(ムービーボックスのサブボックス)などの複数のDRM固有ヘッダーボックス602が、図1に示された複数の保護システムヘッダーボックスに相当する。DRM固有ヘッダーボックス602は、ライセンスサーバーへの参照(たとえば、ユニフォームリソースロケーター)、ファイルにより使用されるキー識別子のリスト、埋め込まれたライセンスなどを含むがこれらに限定されないデータを格納する。DRM固有ヘッダーボックス602はまた、(たとえば、コンテンツがユーザーに利用可能にされるより前に、サービスプロバイダー206からの)埋め込まれたライセンスの任意の数を、記憶するまたはプリロードすることができる。
【0045】
[0053]いくつかの実施形態では、複数のDRM固有ヘッダーボックス602が、同じ保護システムのために存在する。たとえば、両方が同じ保護システムを使用するが、それぞれ異なるヘッダーパラメーター(たとえば、異なるサービス識別子、異なるライセンス取得リンク、その他)を使用する、2つの異なるサービスによって単一のファイルが共有される。
【0046】
[0054]DRM固有ヘッダーボックス602のための例示的な構文が、以下に示される。
【0047】
【数2】

【0048】
[0055]DRMIDは、このヘッダーが属する保護システムを一意に識別するUUIDを指定する。DataSizeは、データメンバーのバイトにおけるサイズを指定する。Dataは、保護システムに固有のデータを保持する。
【0049】
[0056]再び図7を参照すると、例示的なブロック図が、トラックボックスを記憶するための例示的な構造を図示する。トラックボックスは、図8に示されるようなメディア情報ボックス702などのボックスを記憶するコンテナーボックスとして働く。
【0050】
[0057]再び図8を参照すると、例示的なブロック図が、メディア情報ボックス702を記憶するための例示的な構造を図示する。メディア情報ボックス702は、サンプル記述ボックス(「stsd」)などのボックスを記憶するためのコンテナーボックスとして働く。サンプル記述ボックスは、暗号化されたサンプルコンテンツを記憶する保護されたサンプルエントリーボックス802を含むボックスを記憶する。サンプルエントリーボックスは、図9に改めて示されている。
【0051】
[0058]再び図9を参照すると、例示的なブロック図が、保護されたサンプルエントリーボックス802を記憶するための例示的な構造を図示する。保護されたサンプルエントリーボックス802は、保護スキーム情報ボックスなどのボックスを記憶するコンテナーボックスとして働く。既存のISOベースメディアファイル形式とは対照的に、保護スキーム情報ボックスが、サンプルエントリーの代わりにサンプル記述ボックスに記憶されて、ストリームが暗号化されていることを表す。保護スキーム情報ボックスは、スキームが識別可能であるように、スキームタイプボックス(「schm」)を格納する。
追加の実施例
[0059]本明細書において説明されたファイル形式は、オーディオおよびビデオコンテンツ交互の遅延バインドのサポートを含む、最小ファイル形式を表す。これは、レガシーの、または新生のコーダー/デコーダー(コーデック)をサポートするコンピューティングデバイスが、追加的なダウンロードコストを伴うそれらのコーデックのサポートなしのデバイスに負荷をかけることなく、再生時にそれらのストリームを遅延バインドすることを有効にする。
【0052】
[0060]本開示の実施形態は、断片化された、および断片化されていない両方のコンテナーファイルをサポートする。たとえば、アダプティブストリーミングでは、断片化されたファイル形式が使用されるが、光ディスクからのデジタルコピーでは、断片化されていないファイル形式が使用される。
例示的な動作環境
[0061]限定ではなく、例として、コンピューター読み取り可能なメディアは、コンピューター記憶域メディアおよび通信メディアを含む。コンピューター記憶域メディアは、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶する。通信メディアは、通常、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他のトランスポート機構などの変調されたデータ信号において具体化し、任意の情報配信メディアを含む。上記の任意の組合せもまた、コンピューター読み取り可能なメディアの範囲内に含まれる。
【0053】
[0062]本発明の実施形態は、例示的なコンピューティングシステム環境に関連して説明されるものの、多数の他の汎用の、もしくは特殊用途のコンピューティングシステム環境、またはコンピューティングシステム構成によって稼働する。本発明の態様との使用に好適であり得る、よく知られているコンピューティングシステム、環境、および/または構成の例は、携帯端末、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、マルチプロセッサーシステム、ゲーミングコンソール、マイクロプロセッサーベースのシステム、セットトップボックス、プログラム可能なコンシューマーエレクトロニクス、携帯電話、ネットワークPC、ミニコンピューター、メインフレームコンピューター、上記のシステムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【0054】
[0063]本発明の実施形態は、1つまたは複数のコンピューターまたは他のデバイスによって実行されるプログラムモジュールなどの、コンピューター実行可能な命令の一般的なコンテキストにおいて説明されてもよい。コンピューター実行可能な命令は、1つまたは複数のコンピューター実行可能なコンポーネントまたはモジュールの中に整理されてもよい。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、および特定のタスクを実行する、または特定の抽象データ型を実装するデータ構造を含むが、これらに限定されない。本発明の態様は、そのようなコンポーネントまたはモジュールの任意の数および編成で実装されてもよい。たとえば、本発明の態様は、図面において図示され、本明細書において説明される、特定のコンピューター実行可能な命令、または特定のコンポーネントもしくはモジュールには限定されない。本発明の他の実施形態は、本明細書において図示され、説明されたよりも、多いまたは少ない機能を有する、異なるコンピューター実行可能な命令またはコンポーネントを含むことができる。
【0055】
[0064]本発明の態様は、本明細書において説明された命令を実行するように構成されるとき、汎用コンピューターを、特殊用途のコンピューティングデバイスに変換する。
[0065]本明細書において図示され、説明された実施形態、ならびに、本明細書において詳細には説明されていないが本発明の態様の範囲内である実施形態は、ISOベースメディアファイル形式に従って、単一のコンテナーファイル内で複数の保護システムをサポートするための例示的な手段、および、ISOベースメディアファイル形式の拡張として、単一のコンテナーファイルに複数の保護システムのためのメタデータを記憶するための例示的な手段を構成する。
【0056】
[0066]本明細書において図示され、説明された本発明の実施形態の動作の実行またはパフォーマンスの順序は、指定されていない限り、必須ではない。すなわち、指定されていない限り、動作は任意の順序で実行されてよく、本発明の実施形態は、本明細書において説明されたものに追加した、またはそれよりも少ない動作を含むことができる。たとえば、別の動作の前で、それと同時に、またはその後で、特定の動作を実行する、または行うことは、本発明の態様の範囲内であることが企図される。
【0057】
[0067]本発明の態様の、またはその実施形態の要素を導入するとき、冠詞「一つの」および「前記」は、1つまたは複数の要素があることを意味するように意図される。用語「含む」および「有する」は、包括的であることが意図されており、記載された要素以外の追加的な要素があってもよいことを意味する。
【0058】
[0068]本発明の態様が詳細に説明されてきたが、添付の特許請求の範囲において定義されるような本発明の態様の範囲から逸脱せずに、変更形態または変形形態が可能であることは明らかであろう。本発明の態様の範囲から逸脱せずに、上記の構成、製品、および方法においてさまざまな変更がなされ得ることから、上記の説明に含まれ、付属の図面に示されるすべての事項は、例示として解釈され、限定する意味において解釈されないことが意図される。

【特許請求の範囲】
【請求項1】
単一のコンテナーファイルにおいて複数の保護システムをサポートするように、メディアファイル形式を拡張するためのシステムであって、
暗号化されたコンテンツ(112)、サンプル暗号化ボックス(114)、およびそれぞれが複数の保護システムのうちの1つまたは複数に関連付けられた複数の保護システムヘッダーボックス(116)を格納するファイル(111)を記憶するためのメモリー領域であって、前記サンプル暗号化ボックス(114)が、前記暗号化されたコンテンツ(112)を暗号化するために使用されたキーを識別し、前記複数の保護システムヘッダーボックス(116)のそれぞれが、前記複数の保護システムのうちの1つまたは複数に従って前記暗号化されたコンテンツ(112)をデコードするためのメタデータを含む、メモリー領域と、
サービスプロバイダー(206)によって、エンコーディング・プロバイダー(204)から前記ファイル(111)を受信し、
前記サービスプロバイダー(206)に利用可能な前記複数の保護システムのうちの1つまたは複数を選択し、
前記サンプル暗号化ボックス(114)によって識別された前記キーを使用して、選択された保護システムを受信されたファイル(111)の前記コンテンツに適用し、
適用された保護システムによる前記ファイル(111)を前記メモリー領域に記憶するように
プログラムされたプロセッサー(108)と
を含むシステム。
【請求項2】
前記サンプル暗号化ボックスが、前記キーを識別するために、キーマッピング情報を含む、請求項1に記載のシステム。
【請求項3】
前記サンプル暗号化ボックスがキー識別子を含む、請求項1に記載のシステム。
【請求項4】
前記サンプル暗号化ボックスおよび前記複数の保護システムヘッダーボックスが、前記複数の保護システムによる前記ファイルの再生を有効にする、請求項1に記載のシステム。
【請求項5】
前記メモリー領域に記憶された前記ファイルが、ISOベースメディアファイル形式に準拠する、請求項1に記載のシステム。
【請求項6】
前記ISOベースメディアファイル形式に従って、単一のコンテナーファイル内で前記複数の保護システムをサポートするための手段と、
前記ISOベースメディアファイル形式の拡張として、単一のコンテナーファイルに前記複数の保護システムのための前記メタデータを記憶するための手段と
をさらに含む請求項1に記載のシステム。
【請求項7】
コンテンツおよび1つまたは複数の暗号化式を格納するファイル(111)を受信するステップであって、前記コンテンツが前記暗号化式によって暗号化される、受信するステップと、
受信されたファイル(111)からの前記暗号化式を使用して、複数の保護システムを前記コンテンツに適用するステップと、
前記コンテンツおよび適用された複数の保護システムを有する前記ファイル(111)を、解読のために1つまたは複数のコンピューティングデバイスに送信するステップであって、前記コンピューティングデバイスのそれぞれが、前記適用された複数の保護システムのうちの少なくとも1つを使用して、前記コンテンツを解読する、送信するステップと
を含む方法。
【請求項8】
前記複数の保護システムを前記コンテンツに適用するステップが、前記複数の保護システムのそれぞれのためのメタデータを前記受信されたファイルに付加するステップを含み、前記メタデータが、解読キー、権利オブジェクト、およびライセンス情報のうちの1つまたは複数を定義する、請求項7に記載の方法。
【請求項9】
前記ファイルを受信するステップが、キーマッピング情報を格納するファイルを受信するステップを含み、前記コンテンツが、前記キーマッピング情報を使用して暗号化される、請求項7に記載の方法。
【請求項10】
前記複数の保護システムを前記コンテンツに適用するステップが、
前記複数の保護システムごとに、保護システムヘッダーボックスを定義するステップと、
定義された保護システムヘッダーボックスを、前記受信されたファイルに含めるステップと
を含む、請求項7に記載の方法。
【請求項11】
ライセンス情報を前記保護システムヘッダーボックス中に埋め込むステップをさらに含む請求項10に記載の方法。
【請求項12】
ライセンス情報への参照を前記保護システムヘッダーボックス中に埋め込むステップをさらに含む請求項10に記載の方法。
【請求項13】
前記複数の保護システムを前記コンテンツに適用するステップが、前記コンテンツの別のコピーを作成することなく、前記複数の保護システムを前記コンテンツに適用するステップを含む、請求項7に記載の方法。
【請求項14】
前記ファイルを受信するステップが、ムービースタジオからムービーに対応するファイルを受信するステップを含む、請求項7に記載の方法。
【請求項15】
1つまたは複数のコンピューター読み取り可能な記憶域メディアが、コンピューター実行可能なコンポーネントを有し、前記コンポーネントが、
少なくとも1つのプロセッサーによって実行されるとき、前記少なくとも1つのプロセッサーに、コンピューティングデバイスによって、コンテンツおよび1つまたは複数の暗号化式を格納するファイルを受信させる、インターフェイス・コンポーネントであって、前記コンテンツは、前記暗号化式によって暗号化され、前記コンテンツは、それに適用される複数の保護システムをさらに有し、前記ファイルは、前記複数の保護システムのそれぞれのためのメタデータを含む、インターフェイス・コンポーネントと、
少なくとも1つのプロセッサーによって実行されるとき、前記少なくとも1つのプロセッサーに、前記コンピューティングデバイスによってサポートされた前記複数の保護システムのうちの1つを選択させる、検出コンポーネントと、
少なくとも1つのプロセッサーによって実行されるとき、前記少なくとも1つのプロセッサーに、前記検出コンポーネントによって選択された、前記複数の保護システムのうちの前記1つのための、ライセンス情報を前記メタデータから入手させる、解析コンポーネントと、
少なくとも1つのプロセッサーによって実行されるとき、前記少なくとも1つのプロセッサーに、前記解析コンポーネントによって入手された前記ライセンス情報に基づいて、かつ前記暗号化式に基づいて、前記コンテンツをデコードさせる、変換コンポーネントであって、デコードされたコンテンツを前記インターフェイス・コンポーネントがユーザーに提示する、変換コンポーネントと
を含む、請求項7に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2012−515976(P2012−515976A)
【公表日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2011−547943(P2011−547943)
【出願日】平成21年12月22日(2009.12.22)
【国際出願番号】PCT/US2009/069332
【国際公開番号】WO2010/090689
【国際公開日】平成22年8月12日(2010.8.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】