(57)【特許請求の範囲】
【請求項１】
ネットワークサーバからクライアントに対して、セグメントを暗号化するために使用される初期化ベクトル（IV）を取得するためのユニバーサル・リソース・ロケータ（URL）を生成するためのテンプレートをメディア・プレゼンテーション・ディスクリプション（MPD）において送信するステップと、
前記MPD内のIV値が欠如した場合、前記テンプレートによって設定されたURLを前記クライアントから受信するステップと、
前記URLを受信すると、前記クライアントに対して前記URLに対応するIV値を返送するステップと、
を有する、ダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（DASH）のテンプレートモード内の暗号化情報を送信するための方法。
【請求項２】
前記セグメントは、暗号期間（CryptoPeriod）に関連付けられており、複数のセグメントは、同一の暗号化パラメータを用いて暗号化される、請求項１に記載の方法。
【請求項３】
前記MPDは、
前記IVの前記URLのための前記テンプレートを示すためのIV URLテンプレート属性とキーURLを生成するための他のテンプレートを示すためのキーURLテンプレートと、を含む暗号期間（CryptoPeriod）要素を含み、
前記暗号化パラメータは前記IVと前記キーを含む、
請求項１または２に記載の方法。
【請求項４】
さらに、前記MPDにおいて、IV値を示すとともに、さらに前記IVの前記URLのための前記テンプレートの存在にかかわらず、前記セグメントを復号化するためのIV値をクライアントに使用させるための、IV属性を示すステップをさらに含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記MPDにおいて、それぞれセグメントの同一の数を含む一定期間の暗号期間のシーケンスを示すステップと、
前記クライアントに、前記暗号期間のそれぞれにつき、キーとIV値を提供するステップと、を
さらに含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記MPDは、タイムライン内の一定期間の暗号期間の数を示すための第１オプション属性と、暗号タイムライン（CryptoTimeline）要素と前回送信された暗号タイムライン（CryptoTimeline）要素の終端との間の多数のセグメントを示すための第２オプション属性と、暗号期間のためのIV基準値を示すための第３オプション属性と、を含む、暗号期間のシーケンスを示す暗号タイムライン（CryptoTimeline）要素を含む、
請求項５に記載の方法。
【請求項７】
前記MPDは、タイムライン内の一定期間の多数の暗号期間を示すための第１オプション属性と、前記暗号期間それぞれのための多数のセグメントを示すための第２属性と、暗号タイムライン（CryptoTimeline）要素と前回送信された暗号タイムライン（CryptoTimeline）要素の終端との間の多数のセグメントを示すための第３オプション属性と、を含む、暗号期間のシーケンスを示す暗号タイムライン（CryptoTimeline）要素を含む、
請求項５に記載の方法。
【請求項８】
前記クライアントに対して返送された前記IV値は、HTTP応答の本文中のテキストまたはバイナリ表現である、請求項１に記載の方法。
【請求項９】
メディア・プレゼンテーション・ディスクリプション（MPD）において、セグメントを暗号化するために使用される初期化ベクトル（IV）を取得するためのユニバーサル・リソース・ロケータ（URL）を生成するためのテンプレートを、クライアント側でネットワークから受信するステップと、
前記MPDにおいてIV値またはIV基準値の欠如を検出すると、前記テンプレートを使用する前記IVのためのURLを設定するステップと、
前記IVのための前記URLを送信するステップと、
IV値を受信するステップと、
を含む、ダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（DASH）のテンプレートモード内の暗号化情報を送信するための方法。
【請求項１０】
前記MPDにおいて、IV値を示すIV属性を受信するステップと、
前記IV値を検知すると、前記IVの前記URLのための前記テンプレートの存在にかかわらず、前記セグメントを復号化するためのIV値を使用するステップと、
をさらに有する、請求項９に記載の方法。
【請求項１１】
前記MPDにおいて、IV基準値を示すIV基準属性を受信するステップと、
前記IV基準値を検知すると、前記IV基準値および前記セグメントのためのセグメント数の合計としての前記セグメントを復号化するためのIV値を取得するステップと、
をさらに有する、請求項９または１０に記載の方法。
【請求項１２】
前記MPDにおいて、それぞれ同一のセグメント数を含む一定の期間の暗号期間のシーケンスを示す暗号タイムライン（CryptoTimeline）要素を受信するステップと、
前記暗号期間それぞれにつき、全セグメントを復号化するために同一のIVおよびキー値を使用するステップと、
をさらに有する、請求項９から１１のいずれか一項に記載の方法。
【請求項１３】
前記暗号期間のそれぞれの暗号期間のために、
前記IVの前記URLのための前記テンプレートおよび前記MPDにおいて示された前記キーのURLのための別のテンプレートによる、IVおよびキーURLそれぞれを使用した前記暗号期間の開始時の、対応するIVとキー値とをフェッチするステップ
をさらに有する、請求項１２に記載の方法。
【請求項１４】
前記IVとキー値が、前記MPDにおける前記セグメントに関連付けられたテンプレートからの数変数導出または時間変数導出のために最も初期のセグメントを使用してフェッチされる、請求項１３に記載の方法。
【請求項１５】
前記MPDにおける前記IVのURLのためのIV値、IV基準値、またはテンプレートがあるか否かを検知するステップと、
前記IVのURLのためのIV値、IV基準値、およびテンプレートの欠如を検知すると、前記セグメントを復号化するためのIVとして多数の前記セグメントを使用するステップと、
をさらに有する、請求項９から１４のいずれか一項に記載の方法。
【請求項１６】
ダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（DASH）のテンプレートモード内の暗号化情報を送信するための、ネットワーク構成であって、
プロセッサと、
前記プロセッサによって実行するためのプログラミングを保存するコンピュータ可読記憶媒体と、を有し、
前記プログラミングは、メディア・プレゼンテーション・ディスクリプション（MPD）において、クライアントに対してセグメントを暗号化するために使用される初期化ベクトル（IV）を取得するためのユニバーサル・リソース・ロケータ（URL）を生成するためのテンプレートを送信し、前記MPDにおいてIV値が欠如した場合、前記クライアントから前記テンプレートによって設定されたURLを受信し、さらに前記URLを受信すると前記クライアントに対して前記URLに対応するIV値を返送するための命令を含む、ネットワーク構成。
【請求項１７】
前記MPDは、前記IVの前記URLのための前記テンプレートを示すためのIV URLテンプレート属性とキーのためのURLを生成するための他のテンプレートを示すためのキーURLテンプレートとを含む暗号期間タイプ（CryptoPeriodType）要素を含み、
前記IVと前記キーは、前記セグメントのための暗号化パラメータである、
請求項１６に記載のネットワーク構成。
【請求項１８】
前記MPDは、タイムライン内の一定期間の暗号期間の数を示すための第１オプション属性と、前記暗号タイムライン（CryptoTimeline）要素と前回送信された暗号タイムライン（CryptoTimeline）要素の終端との間のセグメントの数を示すための第２オプション属性と、暗号期間のためのIV基準値を示すための第３オプション属性と、を含む前記暗号期間のシーケンスを示す暗号タイムライン（CryptoTimeline）要素を含む、
請求項１６または１７に記載のネットワーク構成。
【請求項１９】
ダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（DASH）のテンプレートモード内の暗号化情報を送信するための、ユーザデバイスであって、
プロセッサと、
前記プロセッサによって実行するためのプログラミングを保存するコンピュータ可読記憶媒体と、を有し、
前記プログラミングは、メディア・プレゼンテーション・ディスクリプション（MPD）において、ネットワークサーバからセグメントを暗号化するために使用されるIVを取得するためのURLを生成するためのテンプレートを示すユニバーサル・リソース・ロケータ（URL）初期化ベクトル（IV）属性を受信し、前記MPD内のIV値の欠如を検知すると、前記テンプレートを使用して前記IVのためのURLを設定し、前記IVのための前記URLを送信し、さらにIV値を受信するための命令を含む、ユーザデバイス。
【請求項２０】
前記MPDは、タイムライン内の一定期間の多数の暗号期間を示すための第１オプション属性と、前記暗号タイムライン（CryptoTimeline）要素と前回送信された暗号タイムライン（CryptoTimeline）要素の終端との間の多数のセグメントを示すための第２オプション属性と、暗号期間のためのIV基準値を示すための第３オプション属性と、を含む前記暗号期間のシーケンスを示す暗号タイムライン（CryptoTimeline）要素を含む、
請求項１９に記載のユーザデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、発明の名称を「System and Method for Efficient Support for Short Cryptoperiods,」として、２０１３年４月２６日にAlexander Giladiらによって出願された米国特許非仮出願１３／８７１，８８９および発明の名称を「System and Method for Short Cryptoperiods,」として、２０１２年４月２７日にAlexander Giladiらによって出願された米国特許仮出願第６１／６３９，６３５の利益を主張するものであり、参照により本明細書に組み込まれる。
【０００２】
本発明は、メディアストリーミングの分野に関し、特定の実施形態では、テンプレートモードにおける短期暗号期間用の効果的な支援のためのシステム及び方法に関する。
【背景技術】
【０００３】
ＭＰＥＧ-ＤＡＳＨとしても知られているダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（ＤＡＳＨ）は、従来型のハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）ウェブサーバからインターネットを介して配信されたメディアコンテンツの高品質なストリーミングを可能とするために開発された。ＤＡＳＨアーキテクチャにおいて、メディアコンテンツは、異なるレートでのメディアストリームに符号化され得る。クライアントからコンテンツ用の要求を受信すると、メディアコンテンツは、サーバまたはネットワークからクライアント端末に対して個別かつ単独でストリーミングされることができる複数のセグメントファイルに分割され得る。前記サーバは、例えばビデオまたはプログラム向けのセグメントファイルのグループに対応するメディア・プレゼンテーション・ディスクリプション（ＭＰＤ）も提供する。前記ＭＰＤは、クライアントにコンテンツ再生をさせるための情報を含む。セグメントは、コンテンツをフェッチするためのユニバーサル・リソース・ロケータ（ＵＲＬ）生成用のセグメントテンプレートを使用してユーザによって取得されることができる。前記セグメントテンプレートは、ＭＰＤの中で提供されてもよい。暗号化されたセグメントの場合、前記ＭＤＰは、キーおよびクライアント側でセグメントコンテンツを復号化するためにキーとともに使用されるランダム生成された初期化ベクトル（ＩＶ）も含む。IVのための効果的な表示は、セグメント・テンプレート・モードをサポートするために必要とされる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本態様によると、ダイナミック・アダプティブ・ストリーミング・オーバー・ハイパーテキスト・トランスファー・プロトコル（ＤＡＳＨ）のテンプレートモード内の暗号化情報を送信する方法は、
ネットワークサーバからクライアントに対して、セグメントを暗号化するために使用される初期化ベクトル（ＩＶ）を取得するためのユニバーサル・リソース・ロケータ（ＵＲＬ）を生成するためのテンプレートをメディア・プレゼンテーション・ディスクリプション（ＭＰＤ）において送信するステップと、
前記MPD内のＩＶ値が欠如した場合、前記テンプレートによって設定されたURLを前記クライアントから受信するステップと、
前記URLを受信すると、前記クライアントに対して前記URLに対応するIVを返送するステップと、を含む。
【０００５】
他の態様によると、ＤＡＳＨのテンプレートモード内の暗号化情報を送信するための方法は、
MPDにおいて、セグメントを暗号化するために使用されるIVを取得するためのＵＲＬを生成するためのテンプレートを、クライアント側でネットワークから受信するステップと、
前記MPDにおいてIV値またはIV基準値の欠如を検出すると、前記テンプレートを使用する前記IVのためのURLを設定するステップと、
前記IVのための前記URLを送信するステップと、
IVを受信するステップと、を含む。
【０００６】
他の態様によると、DASHのテンプレートモード内の暗号化情報を送信するための、ネットワーク構成は、
プロセッサと、前記プロセッサによって実行するためのプログラミングを保存するコンピュータ可読記憶媒体と、を含む。
前記プログラミングは、
MPDにおいて、クライアントに対してセグメントを暗号化するために使用されるIVを取得するためのURLを生成するためのテンプレートを送信し、
前記MPDにおいてIV値が欠如した場合、前記クライアントから前記テンプレートによって設定されたURLを受信し、
さらに前記URLを受信すると前記クライアントに対して前記URLに対応するIVを返送するための命令を含む。
【０００７】
さらに他の態様によると、DASHのテンプレートモード内の暗号化情報を送信するための、ユーザデバイスは、プロセッサと、前記プロセッサによって実行するためのプログラミングを保存するコンピュータ可読記憶媒体と、を含む。前記プログラミングは、MPDにおいて、ネットワークサーバからセグメントを暗号化するために使用されるIVを取得するためのURLを生成するためのテンプレートを示すURL IV属性を受信し、前記MPD内のIV値の欠如を検知すると、前記テンプレートを使用して前記IVのためのURLを設定し、前記IVのための前記URLを送信し、さらにIVを受信するための命令を含む。
【図面の簡単な説明】
【０００８】
本発明とその利点をさらに完全に理解できるように、添付図面に関連して採用された以下の記載がここに参照される。
【図１】DASHアーキテクチャの例である。
【図２】効果的な表現、およびDASHにおけるセグメントテンプレート表現を用いた暗号化されたコンテンツ用のIVの使用のための態様の方法のためのフローチャートである。
【図３】様々な態様を実行するために使用され得る処理システムのダイアグラムである。
【発明を実施するための形態】
【０００９】
現時点で好ましい実施形態の形成および使用は、以下に詳細に考察される。しかしながら、本発明は、特定のコンテキストの広範囲な多様性の中で実現され得る多くの適用可能な発明概念を提供することが理解されるべきである。説明される特定の実施形態は、本発明を形成し、使用するための特定の方法の単なる例示であり、本発明の範囲を限定するものではない。
【００１０】
図１は、クライアント（例：加入者または一般ユーザ）に対してメディア（例：ビデオ、音楽、ゲーム、アプリ等）をストリーミングするためのDASHアーキテクチャ１００の例を示す。前記メディアは、生放送イベントやプログラム、オン・デマンド・コンテンツあるいはビデオ、またはその両方を含んでもよい。前記DASHアーキテクチャ１００は、例えば標準化機構（ISO：Organization for Standardization）ベース・メディア・ファイル・フォーマット（BMFF）に基づくセグメントファイルの形式でメディアコンテンツを提供する一つもしくは複数のメディアサーバ１１０を含む。前記DASHアーキテクチャ１００は、セットトップ・ボックス（STB）、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、あるいは他のあらゆるモバイル/パーソナルデバイスのタイプのようなユーザ端末またはデバイスを有する、一つもしくは複数のクライアント１２０を含む。前記クライアント１２０は、例えばインターネット、無線LAN（WLAN：wireless local area network）、Wi-Fiネットワークあるいはホットスポット、セルラーネットワーク、ケーブルインフラ、光ファイバーバックボーンまたはアクセスネットワーク、または、それらの組合せなどのいくつかのアクセスネットワーク１３０上でサーバ１１０からメディアコンテンツを受信することができる。ＨＴＴＰを使用してコンテンツを受信するために、前記クライアント１２０は、コンテンツの最初の要求を必要とする。
【００１１】
前記DASHアーキテクチャ１００において、サーバ１１０のオリジナルコンテンツは、異なるレートでメディアストリーム（例：ビデオストリーム）にエンコードされ得る。ビデオまたは他のメディアコンテンツは、サーバ１１０からクライアント１２０に対してアクセスネットワーク１３０上で個別に独立してストリーミングすることができる複数のセグメントに分割され得る。前記サーバ１１０は、例えばセグメントを受け取るための情報（例：セグメントURL）およびコンテンツを再生するための情報（例：ビデオレート情報）を含む、ビデオまたはプログラムのセグメントファイルの各グループのためのビデオ／メディアファイルに対応するメディア・プレゼンテーション・ディスクリプション（MPD）も提供する。前記サーバ１１０は、サーバ１１０またはネットワーク１３０におけるMPDファイルの場所を示すためのMPDファイルのためのユニバーサル・リソース・ロケータ（URLs）も提供する。
【００１２】
前記MPDは、サーバ１１０からクライアント１２０に対して送信されるとともに、利用可能なコンテンツ（例：コンテンツセグメント）のマニフェスト（例：リスト）と、その様々な代替物の、URLアドレス（例：コンテンツセグメントのURL）と、他の特徴とを記載している。前記ＭＰＤは、ＨＴＴＰを使用してコンテンツサーバ１１０からクライアント１２０に対して配信されることができる。前記MPDの構文解析によって、クライアント１２０は、コンテンツ（例：ビデオまたはプログラム）のタイミングコンテンツまたはメディアの可用性、メディアタイプ、解像度、最小/最大バンド幅、様々なエンコードされたマルチメディア構成要素の代替物の有無、アクセシビリティ特性および要求されるデジタル著作権管理（DRM：digital rights management）、ネットワーク上のメディア構成要素の位置、およびその他のコンテンツ特性について認識する。例えば、オンデマンドビデオもしくはブロードキャストプログラムといった前記メディアコンテンツは、個別に転送されることができるアドレス指定された複数のセグメントに分割される。前記セグメントは、コンテンツの塊もしくは一部をそれぞれ表示するとともに、対応するURLおよびMPDで示される存続期間を有する。
【００１３】
前記MPDにおける情報を使用し、クライアント１２０は、適切な符号化された代替物を選択するとともに、HTTP GET要求を使用してコンテンツのセグメントをフェッチすることによってコンテンツのストリーミングを開始する。例えば、前記情報は、サーバ１１０および/またはネットワーク１３０上のファイル/セグメントの位置を含む。前記MPD情報から、クライアント１２０は、クライアント１２０用のネットワーク状態に基づいたビデオレートの決定（例：適切なダウンロードレートに合わせるためにどのセグメントファイルを取得するべきかを決定する）もできる。
【００１４】
現在、セグメントリスト領域またはパラメータは、セグメント暗号化のためにメディア・プレゼンテーション・ディスクリプション（MPD）において使用されることができる。前記セグメントリストは、暗号化されたセグメントのリストを示すことができる。暗号化されたセグメントの場合、ランダムに生成された初期化ベクトル（IV）は、クライアント側で同一のセグメントリストのセグメントを復号化するために提供もされる。セグメントテンプレート領域またはパラメータが、セグメントを取得するためのテンプレートを記述するためにMPD内で使用される際、前記IVはセグメントの数である。これは、暗号化のセキュリティを弱める。アクセス権限なしでコンテンツを復号するとともにアクセスするためにIVシーケンスを認識または発見することが容易である場合がある。さらに、HTTPライブストリーミング（HILS）において、ランダムIVは、#EXT-X-KEYタグにIVを入れることによって、（MPDにおける）m3u8マニフェスト内に挿入されることができる。このオプションは、セグメントのためのテンプレートモード表示を用いては可能ではなく、テンプレートモードにおけるHLSコンテンツの互換性を低下させる。
【００１５】
システムと方法の実施形態は、DASHにおけるテンプレートモード表示を使用した暗号化されたセグメントのためのIVの効果的な説明および使用として本明細書にて提供される。前記実施形態は、（クライアント側で）IVを導くためのURLテンプレートの使用を含む。暗号期間毎に又はセグメント毎に一つの拡張HTTP GET要求を追加することによって、ランダムに生成されたIVの使用が可能になる。前記暗号期間は、同一の復号化パラメータ（キーとIV）が使用される期間である。これは、#EXT-X-KEYタグが比較的高周波数で使用される状況において、互換性を許可する。URLテンプレート属性は、IVの導出用のURLテンプレートを生成するための（MPDの）コンテンツ保護要素に追加される。テンプレートモードにて動作する場合、$Number$用またはURLテンプレートから導出された$Time$変数の最も初期のセグメントを使用した暗号期間につき１回、あるいはコンテンツ保護要素内に暗号期間要素が無い場合はすべてのセグメントに対して、クライアントはキーとIV値をチェックできる。
【００１６】
本実施形態では、（MPDにおける）コンテンツ保護要素は、表１に示すような暗号期間要素とIVテンプレートURLを示すための@ivURLTemplate属性とを含む。
【００１７】
【表１】
0005861220.tif 000002
【００１８】
さらに、前記暗号期間要素のオプション@IV属性は、暗号期間内の適用可能なセグメントのための初期化ベクトルを指定するために含まれてもよい。この@IV属性が存在する場合、関連したキーを用いて暗号化または復号化される際に、属性値はIVとして使用されてもよい。前記値は、テキスト形式フォーマットで１２８ビットの１６進数として読み取られることができ、０ｘまたは０Ｘでプレフィックスされ得る。
【００１９】
コンテンツ保護要素内に@ivUrlTemplate属性が存在する場合、IV URLは（クライアント側で）@ivUrlTemplate属性（ただし、@IV属性は現在の暗号期間要素内に存在しない場合）から導出されてもよい。前記HTTP応答（サーバもしくはネットワークからクライアントに対する）のコンテンツは、テキストまたはバイナリ表示内にIV値を含むことができる。例えば、テキストフォーマットの１２８ビット１６進数及び０ｘあるいは０Ｘを用いてプレフィックスされることができる。@IVも@ivUrlTemplate属性も暗号期間のために存在しない場合、セグメント数がIVとして使用される。@IVも@ivUrlTemplate属性も暗号期間に存在しない場合、セグメントの数は、そのメディアセグメントを暗号化もしくは復号化の際IVとして使用されてもよい（例：テンプレート構築、およびISO/IEC 23009-1の5.3.9.4.4の他の箇所のように）。シーケンス数のビッグエンディアン２進数表示は、１６オクテットバッファ内に配置されるとともに、（左側に）ゼロパディングされることができる。
【００２０】
他の実施形態において、（MPDにおける）コンテンツ保護要素は、表２に示すように暗号期間タイプ（CryptoPeriodType）要素とIVテンプレートURLを示すための@ivUriTemplate属性とを含む。
【００２１】
【表２】
0005861220.tif 000003
【００２２】
たびたびの暗号期間の変更は、同一のキーと初期化ベクトルの組合せが２〜１０秒間存在できるIPTV/ケーブルエコシステムにおいては一般的である。これは、複数の暗号期間要素の使用において適用され得る。しかしながら、MPDアップデートがめったに起こらない場合、暗号期間要素によって取り込まれるMPDスペースの量は、重要になる。一方、暗号期間は、容易に予測可能な長さ（例：４セグメントの一定の持続期間）を有する傾向がある。従って、例えば１２０ １０セグメントの暗号期間を宣言するランレングス暗号化は、コンテンツ保護要素内の約１１９の不要なラインを保存することができる。キーとIVテンプレートを一緒に使用する場合、全体の節約は、キーとIVへのHTTP要求において約９０％である。実施形態において、暗号タイムライン要素は、暗号期間の境界を導出するためにランレングス符号化を使用する要素も（コンテンツ保護要素に）加えられる。そのようなものとして、導出されたそれぞれの暗号期間内の第一セグメントの数は、暗号期間のためのキーとIVのペアで実行するために使用される。暗号タイムラインエレメントは、表３に示されるように、複数の属性を用いて設定されてもよい。
【００２３】
【表３】
0005861220.tif 000004
【００２４】
上記の暗号タイムライン要素を使用する場合は、（上記説明のような）キーとIVテンプレートが必要である。各暗号タイムライン要素のために、暗号タイムラインによって指定されるすべての期間の開始時に、キーとIVのペアは、キーとIVテンプレートに基づいてフェッチされることができる。各@d存続期間のセグメントのために、同一のキー/IVペアは使用される。
【００２５】
他の実施形態では、前記暗号タイムライン要素は、表４に示されるように対応するIVを示すための@ivBase属性を含む。
【００２６】
【表４】
0005861220.tif 000005
【００２７】
一般的に、キー交代シナリオにおいて、@firstStartOffsetと @numCryptoPeriodsは、指定されず、キー/IVペアは、全ての@numSegmentsセグメントを変更できる。
【００２８】
例では、固定の期間で４セグメントの暗号期間が存在する場合、前記コンテンツ保護要素は、以下の構文を含むことができる。
【００２９】
<ContentProtection 
schemeIdUri="urn:mpeg:dash:segenc:2012">
segenc:keyUrlTemplate=”https://example.com/keys/key.cgi?cid=c0c96a693f6b&amp;sn=$Number$05d$"
segenc:ivUrlTemplate="http://example.com/keys/iv.cgi?cid=c0c96a693f6b&amp;sn=$Number$05d$">
<segenc:CryptoTimeline d="4"/>
</ContentProtection>
【００３０】
その結果、各暗号期間の間、キーとIVは、ライセンスサーバから要求される。例えば、最初の４セグメントのための、キーURLは、https://example.com/keys/key.cgi?cid=c0c96a693f6b&amp;sn=00001で、IV URLは、http://example.com/keys/iv.cgi?cid=c0c96a693f6b&amp;sn=00001である。次のセグメント５から８のための、キーULRは、https://example.com/keys/key.cgi?cid=c0c96a693f6b&amp;sn=00005であり、さらにIV URLは、http://example.com/keys/iv.cgi?cid=c0c96a693f6b&amp;sn=000015である。
【００３１】
図２は、DASHにおいてコンテンツの暗号化を解決するためのテンプレートキーURLに加えてテンプレートIV URLを用いた実施形態の方法２００を示す。ステップ２０１では、サーバまたはネットワーク２１０は、（MPDにおいて）キーURLテンプレートとIV URLテンプレートの両方を示すコンテンツ保護要素を送信する。例えば、コンテンツ保護要素の暗号期間要素は、表１に示されるように@keyUrlTemplateに加えて@ivUrlTemplate属性を含む。前記コンテンツ保護要素は、クライアント側で一つもしくは複数の暗号期間を導出するための暗号期間要素を含んでもよい。ステップ２０２では、前記クライアントは@ivUrlTemplate（@IV要素がクライアントに対してIV値を示すために含まれない場合）に基づいてIV URLを導出する。前記クライアントは、@keyUrlTemplateに基づいてキーURLも導出する。前記クライアントは、（上記説明のように）現在ランレングス符号化が使用されている場合、暗号タイムライン要素を使用して暗号期間の導出もしてもよい。ステップ２０３では、前記クライアントは、たとえば、暗号タイムライン要素から導出された各暗号期間の開始時、もしくはコンテンツ保護要素内に暗号期間要素が無い場合、全てのセグメントに対して、キーとIV URLを送信する。ステップ２０４では、前記サーバまたはネットワークは、各暗号期間またはセグメントのキーとIVを用いて応答する。ステップ２０５では、前記クライアントは、関連するキーとIVを（例：暗号期間毎またはセグメント毎に）使用してセグメントを復号化する。
【００３２】
図３は、様々な実施形態を実行するために使用されることができる処理システム３００のブロック図である。指定のデバイスは、示されるすべてのコンポーネント、もしくはコンポーネントの一部のみを利用してもよく、統合のレベルは、デバイスにより異なる。さらに、デバイスは、複数の処理ユニット、プロセッサ、メモリ、トランスミッター、レシーバなどのようなコンポーネントの複合インスタンスを含んでもよい。処理システム３００は、ネットワークインターフェース、ストレージインターフェース、さらに同等のもののような、一つまたは複数の入力/出力デバイスを備えた処理ユニット３０１を有してもよい。前記処理ユニット３０１は、バスに接続された中央演算処理装置（CPU）３１０、メモリ３２０、大容量記憶装置３３０、さらにI/Oインタフェース３６０を含んでもよい。前記バスは、メモリバスまたはメモリコントローラ、周辺バスや同等のものを含むいくつかのバスアーキテクチャの一つまたは複数のすべてのタイプであってよい。
【００３３】
前記CPU３１０は、電子データ処理のすべてのタイプを有してもよい。メモリ３２０は、スタティック・ランダム・アクセス・メモリ（SRAM）、ダイナミック・ランダム・アクセス・メモリ（DRAM）、シンクロナスDRAM（SDRAM）、リードオンリーメモリ（ROM）、それらの組合せ、または同種のもののようなシステムメモリの任意のタイプを有してもよい。一実施形態において、メモリ３２０は、ブートアップで使用するためのROM、およびプログラム実行する間に使用するためのプログラムとデータ保存のためのDRAMを含んでもよい。実施形態において、前記メモリ３２０は、非一時的である。前記大容量記憶装置３３０は、データ、プログラム、および他の情報を保存し、さらにバスを介してアクセス可能な前記データ、プログラム、および他の情報を作成するように構成された保存装置のすべてのタイプを有してもよい。前記大容量記憶装置３３０は、例えば、一つまたは複数の半導体ドライブ、ハード・ディスク・ドライブ、磁気ディスクドライブ、光ディスクドライブ、あるいは同種のものを有してもよい。
【００３４】
前記処理ユニット３０１は、イーサネット（登録商標）ケーブルもしくは同等のもののような有線リンク、および/または、ノードもしくは一つまたは複数のネットワーク３８０にアクセスするための無線リンクを有し得る一つもしくは複数のネットワークインターフェース３５０を含んでもよい。前記ネットワークインターフェース３５０によって、処理装置３０１がネットワーク３８０を介してリモートユニットを用いて接続することを可能にする。例えば、ネットワークインターフェース３５０は、一つもしくは複数の送信器／送信アンテナ、及び一つもしくは複数の受信機／受信アンテナを介して無線通信を提供してもよい。一実施形態では、処理装置３０１は、データ処理と、他の処理装置、インターネット、リモート記憶設備、あるいは同等のもののようなリモートデバイスとの通信と、のためにローカルエリアネットワークもしくはワイドエリアネットワークに接続される。
【００３５】
本発明は、図示した実施例を参照して説明されてきたが、本明細書の記載は意味を限定して、解釈されることを目的としない。多様な変更と図示した実施例および本発明の他の実施例の組み合わせは、この明細書を参照する当業者には明らかである。したがって、添付の特許請求の範囲は、任意の修正あるいは実施例を包含することが意図される。
【符号の説明】
【００３６】
１００  ＤＡＳＨアーキテクチャ
１１０  サーバ
１２０  クライアント
１３０  ネットワーク
３００  処理システム
３０１  処理ユニット
３１０  ＣＰＵ
３２０  メモリ
３３０  大容量記憶装置
３５０  ネットワークインターフェース
３６０  Ｉ／Ｏインタフェース
３８０  ネットワーク
【図１】
0005861220.tif 000006
【図２】
0005861220.tif 000007
【図３】
0005861220.tif 000008