(57)【特許請求の範囲】
【請求項１】
マルチメディアファイルを再生する方法であって、
非暗号化非メディア部分と組み合わせられた暗号化されたメディア部分を含む前記マルチメディアファイルを受信することと；
暗号化されていないメタデータ部分を識別するために、前記マルチメディアファイルを前記暗号化されたメディア部分と前記非暗号化非メディア部分とに分けるように解析することと；
前記マルチメディアファイルの関心位置を決めるために前記暗号化されていないメタデータ部分を用いることと、なお前記関心位置は、複数のビデオフレームを含む関連付けられた暗号化されたメディアデータ部分を有し、前記複数のビデオフレームの各々は、前記ビデオフレームのサイズに関係なく暗号化される；
ビデオフレーム毎に前記関連付けられた暗号化されたメディアデータ部分を解読することと；
前記解読された関連付けられたメディアデータ部分と前記暗号化されていないメタデータ部分とを組み合わせることと；
前記暗号化されていないメタデータ部分と組み合わせられた前記解読された関連付けられたメディアデータ部分を復号することと
を備える方法。
【請求項２】
前記メタデータ部分を識別するために前記マルチメディアファイルを解析することは、
前記マルチメディアファイルのファイル形式を決定することと、
前記決定されたファイル形式に基づいて、前記マルチメディアファイルの非暗号化非メディア部分を識別することと
を備える、請求項１に記載の方法。
【請求項３】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いることは、
ビデオフレームオフセットとタイミング情報との表を構築することと、
前記マルチメディアファイルにおけるビデオフレームの前記位置を決定することと、
を備える、
請求項１記載の方法。
【請求項４】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いることは、
前記マルチメディアファイルにおけるビデオフレームの位置を、
前記ビデオフレームをチャンクにマッピングすることと、
前記チャンク内における前記ビデオフレームのオフセットを決定することと、
によって決定することを備える、
請求項１記載の方法。
【請求項５】
マルチメディアファイルを再生するための方法を実施するように構成されるプロセッサであって、前記方法は、
非暗号化非メディア部分と組み合わせられた暗号化されたメディア部分を含む前記マルチメディアファイルを受信することと；
暗号化されていないメタデータ部分を識別するために、前記マルチメディアファイルを前記暗号化されたメディア部分と前記非暗号化非メディア部分とに分けるように解析することと；
前記マルチメディアファイルの関心位置を決めるために前記暗号化されていないメタデータ部分を用いることと、なお前記関心位置は、複数のビデオフレームを含む関連付けられた暗号化されたメディアデータ部分を有し、前記複数のビデオフレームの各々は、前記ビデオフレームのサイズに関係なく暗号化される；
ビデオフレーム毎に前記関連付けられた暗号化されたメディアデータ部分を解読することと；
前記解読された関連付けられたメディアデータ部分と前記暗号化されていないメタデータ部分とを組み合わせることと
前記暗号化されていないメタデータ部分と組み合わせられた前記解読された関連付けられたメディアデータ部分を復号することと
を備える、
プロセッサ。
【請求項６】
前記メタデータ部分を識別するために前記マルチメディアファイルを解析することは、
前記マルチメディアファイルのファイル形式を決定することと、
前記決定されたファイル形式に基づいて、前記マルチメディアファイルの非暗号化非メディア部分を識別することと
を備える、請求項５に記載のプロセッサ。
【請求項７】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いることは、
ビデオフレームオフセットとタイミング情報との表を構築することと、
前記マルチメディアファイルにおけるビデオフレームの前記位置を決定することと、
を備える、
請求項５記載のプロセッサ。
【請求項８】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いることは、
前記マルチメディアファイルにおけるビデオフレームの位置を、
前記ビデオフレームをチャンクにマッピングすることと、
前記チャンク内における前記ビデオフレームのオフセットを決定することと、
によって決定することを備える、
請求項５記載のプロセッサ。
【請求項９】
命令が保存されているコンピュータ読み取り可能記憶媒体であって、前記保存された命令は、プロセッサによって実行されるとき、前記プロセッサにマルチメディアファイルを再生するための方法を実行させ、前記コンピュータ読み取り可能記憶媒体は、
暗号化されたメディア部分と非暗号化非メディア部分とを含む前記マルチメディアファイルを受信するために実行可能な少なくとも１つの命令と、
暗号化されていないメタデータ部分を識別するために、前記マルチメディアファイルを前記暗号化されたメディア部分と前記非暗号化非メディア部分とに分けるように解析するために実行可能な少なくとも１つの命令と；
前記マルチメディアファイルの関心位置を決めるために前記暗号化されていないメタデータ部分を用いるために実行可能な少なくとも１つの命令と、なお前記関心位置は、複数のビデオフレームを含む関連付けられた暗号化されたメディアデータ部分を有し、前記複数のビデオフレームの各々は、前記ビデオフレームのサイズに関係なく暗号化される；
ビデオフレーム毎に前記関連付けられた暗号化されたメディアデータ部分を解読するために実行可能な少なくとも１つの命令と；
前記解読された関連付けられたメディアデータ部分と前記暗号化されていないメタデータ部分とを組み合わせることと；
前記暗号化されていないメタデータ部分と組み合わせられた前記解読された関連付けられたメディアデータ部分を復号することと
を備える、
コンピュータ読み取り可能記憶媒体。
【請求項１０】
前記メタデータ部分を識別するために前記マルチメディアファイルを解析するために実行可能な少なくとも１つの命令は、
前記マルチメディアファイルのファイル形式を決定するために実行可能な少なくとも１つの命令と、
前記決定されたファイル形式に基づいて、前記マルチメディアファイルの非暗号化非メディア部分を識別するために実行可能な少なくとも１つの命令と
を備える、請求項９に記載のコンピュータ読み取り可能記憶媒体。
【請求項１１】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いるために実行可能な前記少なくとも１つの命令は、
ビデオフレームオフセットとタイミング情報との表を構築するために実行可能な少なくとも１つの命令と、
前記マルチメディアファイルにおけるビデオフレームの前記位置を決定するために実行可能な少なくとも１つの命令と、
を備える、
請求項９記載のコンピュータ読み取り可能記憶媒体。
【請求項１２】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いるために実行可能な前記少なくとも１つの命令は、
前記マルチメディアファイルにおけるビデオフレームの位置を、
前記ビデオフレームをチャンクにマッピングすることと、
前記チャンク内における前記ビデオフレームのオフセットを決定することと、
によって決定するために実行可能な少なくとも１つの命令を備える、
請求項９記載のコンピュータ読み取り可能記憶媒体。
【請求項１３】
マルチメディアファイルを再生するための装置であって、
暗号化されたメディア部分と非暗号化非メディア部分とを含む前記マルチメディアファイルをマルチメディアソースから受信する手段と、
暗号化されていないメタデータ部分を識別するために、前記マルチメディアファイルを前記暗号化されたメディア部分と前記非暗号化非メディア部分とに分けるように解析する手段と；
前記マルチメディアファイルの関心位置を決めるために前記暗号化されていないメタデータ部分を用いる手段と、なお前記関心位置は、複数のビデオフレームを含む関連付けられた暗号化されたメディアデータ部分を有し、前記複数のビデオフレームの各々は、前記ビデオフレームのサイズに関係なく暗号化される；
ビデオフレーム毎に前記関連付けられた暗号化されたメディアデータ部分を解読する手段と；
前記解読された関連付けられたメディアデータ部分と前記暗号化されていないメタデータ部分とを組み合わせる手段と；
前記暗号化されていないメタデータ部分と組み合わせられた前記解読された関連付けられたメディアデータ部分を復号する手段と
を備える装置。
【請求項１４】
前記メタデータ部分を識別するために前記マルチメディアファイルを解析する手段は、
前記マルチメディアファイルのファイル形式を決定する手段と、
前記決定されたファイル形式に基づいて、前記マルチメディアファイルの非暗号化非メディア部分を識別する手段と
を備える、請求項１３に記載の装置。
【請求項１５】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いる手段は、
ビデオフレームオフセットとタイミング情報との表を構築する手段と、
前記マルチメディアファイルにおけるビデオフレームの前記位置を決定する手段と、
を備える、
請求項１３記載の装置。
【請求項１６】
前記マルチメディアファイルにおける前記関心位置を決めるために前記暗号化されていないメタデータ部分を用いる手段は、前記マルチメディアファイルにおけるビデオフレームの位置を決定する手段を備え、
前記マルチメディアファイルにおけるビデオフレームの位置を決定する手段は、
前記ビデオフレームをチャンクにマッピングする手段と、
前記チャンク内における前記ビデオフレームのオフセットを決定する手段と、
を備える、
請求項１３記載の装置。
【請求項１７】
マルチメディアファイルを再生するための装置であって、
暗号化されたメディア部分と非暗号化非メディア部分とを含む前記マルチメディアファイルを受信し、
暗号化されていないメタデータ部分を識別するために、前記受信されたマルチメディアファイルを前記暗号化されたメディア部分と前記非暗号化非メディア部分とに分けるように解析し、
前記暗号化されていないメタデータ部分を用いて前記マルチメディアファイルの関心位置を決める
ように構成された解析器であって、前記関心位置は、複数のビデオフレームを含む関連付けられた暗号化されたメディアデータ部分を含み、前記複数のビデオフレームの各々は、前記ビデオフレームのサイズに関係なく暗号化される、解析器と、
ビデオフレーム毎に前記関連付けられた暗号化されたメディアデータ部分を解読するように構成された解読プロセッサと；
前記解読された関連付けられたメディアデータ部分と前記暗号化されていないメタデータ部分とを組み合わせるコンバイナと；
前記暗号化されていないメタデータ部分と組み合わせられた前記解読された関連付けられたメディアデータ部分を復号する復号器と
を備える装置。
【請求項１８】
前記解析器は、
前記マルチメディアファイルのファイル形式を決定し、
前記決定されたファイル形式に基づいて、前記マルチメディアファイルの前記非暗号化非メディア部分を識別する
ようにさらに構成されている、請求項１７に記載の装置。
【請求項１９】
前記解析器は、
ビデオフレームオフセットとタイミング情報との表を構築し、
前記マルチメディアファイルにおけるビデオフレームの前記位置を決定する
ようにさらに構成されている、請求項１７記載の装置。
【請求項２０】
前記解析器は、
前記ビデオフレームをチャンクにマッピングすることと、
前記チャンク内における前記ビデオフレームのオフセットを決定することと
によって前記マルチメディアファイルにおけるビデオフレームの位置を決定する
ようにさらに構成されている、請求項１７記載の装置。
【請求項２１】
前記複数のビデオフレームの各々は、ビデオオブジェクトプレイン（ＶＯＰ）である、請求項１に記載の方法。
【請求項２２】
前記複数のビデオフレームの各々は、ビデオオブジェクトプレイン（ＶＯＰ）である、請求項１３または１７のうちのいずれか１つに記載の装置。
【請求項２３】
前記複数のビデオフレームの各々は、ビデオオブジェクトプレイン（ＶＯＰ）である、請求項５に記載のプロセッサ。
【請求項２４】
前記複数のビデオフレームの各々は、ビデオオブジェクトプレイン（ＶＯＰ）である、請求項９に記載のコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般に、マルチメディアファイル(multimedia files)の暗号化(encryption)および解読(decryption)に関し、特に、ランダムアクセスを可能にするためにマルチメディアコンテンツを暗号化／解読する方法および装置に関する。
【背景技術】
【０００２】
３Ｇおよび他のセルラーネットワークが展開されるのに応じて、新たなＩＰパケットデータベースのサービスが出現している。オペレータが開発しようと努めている最も挑戦的なサービス分野の１つは、ビデオコンテンツの大量市場への配信を伴っている。高品質ビデオは、最もデータ集約的なタイプのコンテンツである。同時に、現在の家庭視聴オプション(home viewing options)でのユーザの経験は、オペレータおよびコンテンツプロバイダに、ユーザの経験が何であるかについて確立されたアイデアを持つ目標市場(target markets)を提供する。消費者の期待および移動度の組合せは、ネットワークオペレータおよびコンテンツプロバイダに対して基本的な課題を提供する。要するに、魅力的なビジネスモデル、ネットワーク制御および管理、アクセス制御、装置性能および強制的な利用者の経験が組み合わさって、無線産業において十分に解決されていない相互依存的な課題の複合体を提供している。
【０００３】
生じてきた１つの課題は、配信されるべきコンテンツの保護を提供する必要性である。例えば、前記配信されたコンテンツは、典型的には、無許可のコピーから守られる必要がある。さらに、コンテンツプロバイダはまた、コンテンツの配信を直接的あるいは間接的のいずれかで制御することを望む。従って、コンテンツプロバイダは典型的には、サービスプロバイダによって用いられるどんなコンテンツ配信システムもデジタル権利管理(digital rights management)（ＤＲＭ）を提供する能力を有すること、を要求するが、このデジタル権利管理は、配信されるマテリアルがそのような対策がインストールされた任意の電子装置上でどのようにして使用されることができるのかについての制御を提供するいくつかの技術的仕組みのうちの任意のものを指す。コンテンツプロバイダの知的財産権を保護するようにＤＲＭをサポートするためのすべてのコンテンツ配信システムに対する重要な基本的な要素は、送信／受信中のメディアの暗号化(encryption)／解読(decryption)の機能(feature)である。さらに、配信センターのサーバ上か、再生装置(playback device)上かのいずれかで、暗号化された形態でメディアを保存する要求がよくある。さらに、暗号化は、早送りおよび巻き戻し再生の間にコンテンツをビューする(view)能力のような、「トリック」機能をサポートすることをしばしば必要とする。メディア暗号化ソリューションが、ビデオコーデイングインターフェース(video coding interface)に対する最小限の変更で暗号化を提供すること、が望まれている。
【発明の概要】
【０００４】
ここで説明される実施形態は、任意のコーデックトランスポートストリーム(any codec transport stream)のビデオデータだけを暗号化してメタコンテンツ(meta-content)をそのままにしておくための方法および装置、を提供する。このようにして、データのどんな誤り、バイト拡大または縮小(byte expansion or contraction)も、マルチメディアの再生の小さな部分にしか影響を与えないように最小化される。
【０００５】
一実施形態においては、マルチメディアファイルを暗号化するための方法がここに説明され、該方法は、メディアデータ部分(media data portion)を識別する(identify)ためにマルチメディアファイルを解析すること(parsing)と、メディアデータ部分を暗号化することと、暗号化されたメディアデータ部分(encrypted media data portion)を非暗号化非メディアデータ部分(non-encrypted non-media data portion)と組み合わせることと、を含む。暗号化されていないメタデータ部分(unencrypted metadata portion)を識別するためにマルチメディアファイルを解析すること；メディアファイルの関心位置(position of interest)を決める(locate)ために暗号化されていないメタデータ部分を用いること、なお関心位置は関連付けられた暗号化メディアデータ部分を有する；および、関連付けられた暗号化メディアデータ部分を解読すること(decrypting)；のために、マルチメディアファイルを再生する(playing)ための方法もまたここに提供されている。
【０００６】
別の実施形態においては、マルチメディアファイルを暗号化するための方法を実施する (implement)ように構成されるプロセッサがここに説明され、該方法は、メディアデータ部分を識別するためにマルチメディアファイルを解析することと、メディアデータ部分を暗号化することと、暗号化されたメディアデータ部分を非暗号化非メディアデータ部分と組み合わせることと、を含む。この別の実施形態においては、マルチメディアファイルを再生するための方法を実施するように構成されるプロセッサもまたここに提供されており、該方法は、暗号化されていないメタデータ部分を識別するためにマルチメディアファイルを解析することと；メディアファイルの関心位置を決めるために暗号化されていないメタデータ部分を用いることと、なお関心位置は関連付けられた暗号化メディアデータ部分を有する；関連付けられた暗号化メディアデータ部分を解読することと；を含む。
【０００７】
さらに別の実施形態においては、プロセッサによって実行される(executed)とき、プロセッサにマルチメディアファイルを暗号化させるための方法を実行(perform)させる、保存された命令、を有するコンピュータ読み取り可能媒体がここに説明されており、該方法は、メディアデータ部分を識別するためにマルチメディアファイルを解析することと、メディアデータ部分を暗号化することと、暗号化されたメディアデータ部分を非暗号化非メディアデータ部分と組み合わせることと、を含む。この別の実施形態においては、プロセッサによって実行されるとき、プロセッサにマルチメディアファイルを再生させるための方法を実行させる、保存された命令、を有するコンピュータ読み取り可能媒体もまたここに提供されており、該方法は、暗号化されていないメタデータ部分を識別するためにマルチメディアファイルを解析することと；メディアファイルの関心位置を決めるために暗号化されていないメタデータ部分を用いることと、なお関心位置は関連付けられた暗号化メディアデータ部分を有する；関連付けられた暗号化メディアデータ部分を解読することと；を含む。
【０００８】
さらに別の実施形態においては、マルチメディアファイルを暗号化するための装置が説明され、該装置は、メディアデータ部分を識別するためにマルチメディアファイルを解析する手段と、メディアデータ部分を暗号化する手段と、暗号化されたメディアデータ部分を非暗号化非メディアデータ部分と組み合わせる手段と、を含む。この別の実施形態においては、暗号化されていないメタデータ部分を識別するためにマルチメディアファイルを解析する手段と；メディアファイルの関心位置を決めるために暗号化されていないメタデータ部分を用いる手段と、なお関心位置は関連付けられた暗号化メディアデータ部分を有する；関連付けられた暗号化メディアデータ部分を解読するための手段と；を有する、マルチメディアファイルを再生するための装置もまた、ここに説明される。
【０００９】
他の目的、特徴および利点は、以下の詳細な説明から当業者に明らかになるであろう。しかしながら、詳細な説明および特定の例は、例示的な実施形態を示しているが、例示のために与えられるものであって、限定のためではない、ということが理解されるべきである。以下の記述の範囲内で多くの変更および修正が、その精神から逸脱することなく行われることができ、また、記述は、すべてのそのような修正を含むように理解されるべきである。
【００１０】
本発明は、添付図面を参照することによって、もっと容易に理解されることができる。図面中の同様な番号は、図面のいくつかの図をとおして同様の部分を指す。
【図面の簡単な説明】
【００１１】
【図１】図１は、標準コーデックによって定義される代表的ビデオビットストリームの構成を示す図である。
【図２】図２は、チャンクへのビデオおよびオーディオサンプルのサンプル構成とチャンクオフセットとを示す図である。
【図３】図３は、マルチメディアコンテンツのメディア部分だけを暗号化するように構成される暗号化エンジンをもつサーバのブロック図である。
【図４】図４は、マルチメディアコンテンツの暗号化されるメディア部分を解読して再生するためのプレーヤをもつクライアントのブロック図である。
【図５】図５は、暗号化エンジンの動作のフローチャートである。
【図６】図６は、ここで説明される特徴をインプリメントするために用いることのできるアクセスポイントとアクセス端末とのブロック図である。
【発明を実施するための形態】
【００１２】
ここに説明される実施形態は、任意のコーデックトランスポートストリーム(codec transport stream)のデータの「コンテンツ(content)」部分のみを暗号化し、コンテンツを位置決めし再生する(locate and playback)ために用いられる、メタコンテンツ(meta-content)をそのままにしておく、ための方法を提供する。例えば、一実施形態においては、ビデオコンテンツ部分のみが暗号化される。結果として、データの何らかの誤りまたはバイト拡大／縮小の効果が最小化され、これにより、マルチメディアの再生の小さな部分にしか影響を与えない。
【００１３】
以下の説明は、マルチメディアコンテンツを保存するのに用いられるコーデックが、国際標準化機構／国際電気標準会議合同専門家委員会１(the International Standardization Organization/International Electrotechnical Commission, Joint Technical Committee 1)（ＩＳＯ／ＩＥＣ  ＪＴＣ１）のワーキンググループであるムービングピクチャーエクスパーツグループ（Moving Picture Experts Group）（ＭＰＥＧ）により広められたＭＰＥＧ４標準に準拠すると仮定する。ＩＳＯ／ＪＪＥＣ標準は、ＭＰＥＧ−ｘ（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）で示され、ＭＰＥＧ−４標準はＩＳＯ／ＩＥＣ１４４９６−２において記述されている。
【００１４】
ＭＰＥＧ４ファイルは、メタデータおよびメディアアトムを含んでいる階層型アトム(hierarchical atoms)から成っている(consist of)。各アトム自体は他のアトムで構成され得る。メタデータおよびメディアデータアトム(metadata and media data atoms)はファイルのどこにでも存在し得る。一般に、メタデータアトム（ｍｏｏｖ）は必須ではなく、ファイルにおけるメディアデータアトムの前あるいは後のいずれかに位置し得る。メタデータは、典型的には、ＭＰＥＧ４ファイルの５−１０％未満を構成する。
【００１５】
各アトムそのものは、それに割り当てられたタイプおよびサイズのフィールドを有し、それから、ファイルのコンテンツのマップが生成される。これによってマルチメディアプレーヤの解析器(parser)が１つのアトムから他のアトムまで即座にジャンプすることが可能になる。オーディオストリームあるいはビデオストリームのような、各基本なストリームは、それ独自のｍｄａｔ（メディアデータ）アトムを有することになる。ｍｄａｔアトム内において、メディアデータは、関連付けられたサンプルの集まり(collection)であるチャンク(chunks)の形態で構成される。例えば、ビデオデータのチャンクはビデオシーケンスの最初３つのビデオフレーム（例えば、フレーム１、２および３）を含み、一方、オーディオデータのチャンクはその中に１つ以上のオーディオサンプルを有する場合がある。これらのメディアデータのチャンクはファイル全体に点在する(interspersed)。
【００１６】
メタデータアトムは、ファイル、フレームおよびそれらのオフセット中に、メディアについての情報を含む。特に、ｓｔｂｌあるいはサンプルテーブルのアトムが、ｍｏｏｖアトム内に存在している。このｓｔｂｌアトムは、次のテーブルアトムから、さらに構成されている。
【００１７】
ｓｔｔｓ：サンプル数に対して時間をマッピングする。
【００１８】
ｓｔｓｚ：サンプルのサイズを特定する。
【００１９】
ｓｔｓｃ：チャンクに対してサンプルをマッピングする（基本的に、どのチャンクでどのサンプルが生じるかを示す）。
【００２０】
ｓｔｃｏ：ファイル内でチャンクオフセットを提供する。
【００２１】
ｓｔｓｄ：コンフィギュレーション情報(configuration information)（ＶＯＬヘッダ、等）を含むサンプル記述テーブル。
【００２２】
一緒に、これらのアトムは、以下でさらに説明されるように、解析するために必要とされる必須メタデータを、再生用にそれをレンダーする(render)ために、適切なフレームあるいはオーディオサンプルに提供する。
【００２３】
多くのマルチメディアプレーヤは、マルチメディアファイルを含んでいるファイル名(filename) あるいはバッファを入力として取り込むように、ファイルをベース(file-based)にしている。プレーヤは、内部テーブルにフレームオフセットおよびタイミング情報をロードするためにファイルメタデータの走査(scan)を行う。生フレーム(raw frame)は復号(decode)のためにコーデック（例えば、ＭＰＥＧ−４コーデック）に供給され、次にプレーヤによってディスプレイ上でレンダリングされる。内部テーブルは、ファイル中の任意のポイントからの、早送り(fast-forward)または巻き戻し(rewind)、あるいは「ランダムアクセス(random access)」再生の間に、ファイル中の適切な位置への「クイック」シーク(“quick” seeks)のような機能を実行するために用いられる。このような特性(features)は、「トリックプレイ」特性(“trick play” features)と集合的に呼ばれる。
【００２４】
内部テーブルをコンパクト(compact)に維持するために種々の技術が用いられる。位置およびサイズ情報をコンパクトにするのに用いられるものは、種々のトラックからのデータがインタリーブされる場合でも、同一トラックからの複数のサンプルが連続して保存されることがよくあるという観測による。特定のトラックからの連続したサンプルのこの実行はチャンク(chunk)と呼ばれる。必須の(mandatory)「ｓｔｓｃ」アトム内におけるサンプル対チャンクテーブルは、サンプル番号からチャンクインデックスへのマッピングを提供する。各チャンクの（絶対）位置は、チャンクが位置するファイルの始めから測定される（３２または６４ビットを用いる）チャンクオフセットとして、必須の「ｓｔｃｏ」アトム内で記録される。各サンプルの、バイトで表した長さも同様に、必須の「ｓｔｓｚ」アトム内のサンプルサイズテーブル内に記録される。したがって、
１．  トラックからのデータ基準と、
２．  サンプル対チャンクマッピングと、
３．  チャンクオフセットと、
４．  同一チャンク内の先行サンプルのサイズと、
を用いることで、
１．  ＭＰ４ファイル自体からＵＲＬによって参照されるファイルの場合もあるサンプルを含んでいるデータファイルと、
２．  このファイル内におけるチャンク（およびそのオフセット）と、
３．  （同一チャンク内の先行サンプルのサイズから）チャンク内のサンプルのオフセットと、
４．  サンプル自体のサイズと、
を求めることが可能になる。
【００２５】
図２は、このプロセスと関係する簡単な例を示す。ビデオフレームおよびオーディオフレーム（サンプル）のサイズの両方が同様に知られていることに注目すると、任意のビデオまたはオーディオサンプルの境界は絶対オフセットとして容易に計算されることができる。このようなプレーヤにおいては、事前に構築されたテーブルフレームワークは、暗号化されたファイルのプレーヤへのフィード(feed)を可能にしない。プレーヤ入力は、全ファイルがバッファにおいて暗号化されていないフォーマットで存在すると仮定するファイル名（ｃｈａｒ＊）またはバッファのいずれかの形態にある。これらのインターフェイスのどれも、プレーヤがファイルを「ストリーミング」方式(“streaming” fashion)で解読する(decrypt)こと（すなわち、ファイルを再生している間に解読を実行すること）を可能にしない。
【００２６】
一実施形態においては、トリックプレイをサポートするためにメタデータをクリア（クリアテキスト）(in the clear)のままにして、暗号化(encryption)がファイル中でフレームまたはスライスレベルで起こるように、暗号化／解読システムが修正される場合は、ストリーミング機能性が追加されることができる。この「スマート暗号化」方法(“smart encryption” method)は、暗号化システム（例えば、サーバ）が、実際のコンテンツを暗号化し且つ必須メタデータおよびヘッダデータをクリアテキストのままにしながら、メディアフォーマットを認識することを可能にする。同様に、解読システム（例えば、クライアント）で、メタデータは、それが暗号化されていないままで、さらに処理することなく、トリックプレイのような特性(features)を実行するように利用されることができ、ストリームあるいはファイルのコンテンツ部分のみが解読される必要がある。
【００２７】
一実施形態においては、暗号化スキームの各部分が、非メディア（例えば、メタデータ）部分から分離され次に暗号化されるメディア部分の観点から、ここに具体的に説明されているが、暗号化システムは、メディアファイル／ストリームを解析し、メディアファイル／ストリームを解析しながら、メディアデータ部分だけを暗号化し、メタデータをそのままにしておく、ということに注目されるべきである。従って、一実施形態においは、メディア部分は、メタデータから分離され、暗号化され、次にメタデータとともに元に戻される（すなわち、多重化される）必要がない。別の実施形態においては、メディア部分は処理のために分離され、多重化を必要とするかもしれない。いずれのシナリオにおいても、暗号化システムの外のシステムおよびプロセスに対して、両方の実施形態が、スキームの解読部分で、同様に適用される。
【００２８】
図３は、暗号化エンジン３０２を備えたサーバ３００を示しており、暗号化エンジン３０２は、ストリームあるいはファイルからの、マルチメディアソース３３２からの受信データ(incoming data)を、メディアおよび非メディアの部分に解析する(parses)解析器(parser)３０８を含む。暗号化プロセッサ(encryption processor)３０６は、解析器３０８が受信データを解析している間に、そのとき、ＤＲＭサーバ３２２からの情報を用いてメディア部分だけを暗号化する。コンバイナ(combiner)３０４は、図４で示されるように、（非暗号化）非メディア部分と暗号化されたメディア部分とを組み合わせ(combine)、それをクライアント４００に伝送するためにポストプロセッサ３５２に送る。
【００２９】
スマート暗号化は、暗号化エンジン３０２に、システムによってサポートされる様々なメディアフォーマットを認識していることを要求するだろうから、それは、ヘッダをクリアテキストのままにしておき、フレームデータだけを暗号化するのみであろう。例えば、図１で示されるように、ＭＰＥＧ４の場合において、システムはＶＯＰデータだけを暗号化してＧＯＶおよびＶＯＰヘッダをクリアテキストのままにしておく。さらに、ｓｔｂｌメタデータアトムが必須である場合に、ビデオビットストリームが標準ＭＰ４ファイルと仮定すると、暗号化エンジンは、フレームまたはオーディオサンプル開始コードがメディアデータに達するように解析する必要はないであろう、その代わりに、暗号化エンジンは、ファイルにおける適切な位置に対し、フレームまたはオーディオサンプルデータに達するように解析するためにｓｔｂｌメタデータアトムにおける情報を使用するであろう。
【００３０】
図４は、サーバ３００からマルチメディアファイルを受信し、レンダリングおよび再生のために受信ファイルの関連する部分を解読する、クライアント４００を示す。ファイルのヘッダ情報がすべてクリアテキストで(in the clear)あるので、プレーヤ(player)４５０はどんな解読も無しに内部テーブル(internal table)を構築することが可能であろう。プレーヤ４５０は解読エンジン(decryption engine)４０２を含んでいるであろう、また、解読エンジン４０２内の解析器４１４は、フレームをＭＰ４コーデックに送る前に、解読のためのキーと共に、解読ユニット(decryption unit)４１６に、暗号化されているファイルの部分を渡すであろう。特に、解析器４１４は、暗号化されたフレームについてのデータを抽出し、これらを解読ユニット４１６に送る。サーバ３００によって暗号化されなかった非メディア部分は、解読されたメディア部分と組み合わせるために直接コンバイナ４１８に送られる。オーディオデコーダ４０８とビデオデコーダ４１２とを含むデコーダ(decoder)４０４は、オーディオ出力装置４０６およびディスプレイ４１０上に、それぞれ、レンダリングするために、符号化オーディオビットストリーム（ＣＡＢ）および符号化ビデオビットストリーム（ＣＶＢ）を復号する(decode)。プレーヤ４５０は、図４で示されるよりももっと多くのコンポーネントを有することができる、ということに注目すべきである。
【００３１】
上記の実施形態においては、ヘッダは暗号化されないため、ファイルはプレーヤ４５０にとっては通常のＭＰＥＧ４ファイルのように見えるであろう。内部テーブルの生成は、いずれの解読も起こることを必要とせず、それゆえに、解読は、フレームがコーデックに供給されているときのみで起きる。もちろん、暗号化／解読の両方のエンジンは、ヘッダを認識するためにファイルフォーマットを認識していなければならない。従って、このように、システムがサポートしなければならない追加メディアフォーマットごとに必要とされる変更もあるかも知れない。さらに、フレームレベルで暗号化を可能にするために、暗号化エンジンに追加の処理負荷  -  ｓｔｂｌアトムを解析すること、メディアデータを探すことなど、  −  がかかることになる。
【００３２】
図５は、暗号化／解読プロセス５００の動作の例示的な実施形態のフローチャートを示しており、ここでは、ブロック５０２において、暗号化エンジン３０２の解析器３０８は、ファイルまたはストリームから受信されているデータがメディア部分に属するのかどうか、あるいは非メディア部分に属するのかどうか、を決定する。もしそうであれば、そのときは、ブロック５０４での動作が続き、ここでは、暗号化ユニット３０６がメディア部分を暗号化する。そうでなければ、ブロック５０８での動作が続き、ここでは、データの非メディア部分は暗号化されない（すなわち、クリアテキストのままにされる）。ブロック５０６において、メディアおよび非メディア部分が組み合わされ、ファイルの（サーバ３００上の保存ユニットのような）保存場所に読み出されるか、あるいはクライアント４００に流される(streamed out)。もし完全なファイルあるいはストリームが処理されていなければ、そのときは、動作はブロック５０２に戻る。そうでなければ、データはクライアント４００に伝送される。
【００３３】
データがクライアント４００に伝送されると、ファイル中で、あるいはストリームの一部として、再生の間に、クライアント４００は、ブロック５１２においてメタデータ部分を読み取ることができ、そして、ブロック５１４において、再生位置(playback location)が見つけられたかどうかを決定することができる。もしそうであれば、動作はブロック５１６に続き、ここでは、メディア部分が読み取られ、そして解読される。次に、上記に説明されたように、解読された部分は再生のためにデコーダ４０４に提供される。
【００３４】
図６は、ここに説明される方法および装置を用いて暗号化されるデータを、それぞれ伝送および受信するために利用されることができる、アクセスポイント６０４ｘおよびアクセス端末６０２ｘのブロック図を示す。ここに説明されるように、「アクセス端末(access terminal)」は、ユーザに対して音声および／またはデータの接続性を提供する装置を指す。アクセス端末は、ラップトップコンピュータまたはデスクトップコンピュータのような計算装置に接続されてもよいし、あるいは、それは、個人情報端末のような自己完結型装置であてもよい。アクセス端末はまた、加入者ユニット、移動局、モバイル、遠隔局、遠隔端末、ユーザ端末、ユーザエージェント、あるいはユーザ機器と呼ばれることができる。アクセス端子は、加入者局、無線装置、セルラー電話、ＰＣＳ電話、コードレス電話、セッション開始プロトコル（ＳＩＰ）電話、無線ローカルループ（ＷＬＬ）局、個人情報端末（ＰＤＡ）、無線接続機能のある手持型装置、あるいは無線モデムに接続される他の処理装置であってもよい。さらに、ここで用いられる「アクセスポイント(access point)」は、エアインターフェイス上で、１つ以上のセクタを通して、アクセス端末と通信を行うアクセスネットワークにおける装置を指す。アクセスポイントは、受信したエアインターフェイスフレーム(air-interface frames)をＩＰパケットに変換することによって、アクセス端末と、ＩＰネットワークを含み得るアクセスネットワークの残りのものと、の間のルータとして機能する。アクセスポイントはまた、エアインターフェイスに対する属性の管理(management of attributes)を調整する。
【００３５】
逆リンクの場合、アクセス端末６０２ｘにおいて、伝送（ＴＸ）データプロセッサ６１４はデータバッファ６１２からトラフィックデータを受信し、選択されるコーディング(coding)および変調スキームに基づいて各データパケットを処理し（例えば、符号化し、インタリーブし、およびシンボルマッピングし）、データシンボル(data symbol)を供給する。データシンボルはデータに対する変調シンボルであり、パイロットシンボルはパイロットに対する変調シンボルである（これは知られているアプリオリ(a priori)である）。変調器６１６は、データシンボル、パイロットシンボル、および、場合によっては逆リンクに対するシグナリング、を受信し、（例えば、ＯＦＤＭ）変調および／またはシステムによって指定される他の処理を実行し、アウトプットチップ(output chips)のストリームを供給する。送信機ユニット（ＴＭＴＲ）６１８は、アウトプットチップストリームを処理し（例えば、アナログへ変換し、フィルタリングし、増幅し、および周波数アップコンバートし）、アンテナ６２０から伝送される変調信号を生成する。
【００３６】
アクセスポイント６０４ｘで、アクセス端末６０２およびアクセスポイント６０４ｘと通信する他の端末により伝送される変調信号は、アンテナ６５２によって受信される。受信器ユニット（ＲＣＶＲ）６５４はアンテナ６５２からの受信信号を処理し（例えば、調整し(conditions)およびデジタル化し）、受信されたサンプルを供給する。復調器(demodulator)（Ｄｅｍｏｄ）６５６は受信サンプルを処理し（例えば、復調し、かつ検出し）、端末によりアクセスポイント６０４ｘに伝送されるデータシンボルのノイズの多い推定 (noisy estimate)である検出データシンボルを、供給する。受信（ＲＸ）データプロセッサ６５８は、各端末に対する検出データシンボルを処理し（例えば、シンボルディマッピングし(symbol demaps)、ディインタリーブし(deinterleaves)、かつ復号し(decodes)）、その端末に対して復号されたデータを供給する。
【００３７】
順方向リンクの場合、アクセスポイント６０４ｘにおいて、トラフィックデータが、データシンボルを生成するためにＴＸデータプロセッサ６６０によって処理される。変調器６６２は、データシンボル、パイロットシンボル、および順方向リンクに対するシグナリングを受信し、（例えば、ＯＦＤＭ）変調および／または他の関係する処理を実行し、そして、アウトプットチップストリームを供給し、これはさらに送信機ユニット６６４により調整され、アンテナ６５２から伝送される。順方向リンクシグナリングは、逆リンク上でアクセスポイント６０４ｘに伝送しているすべての端末に対してコントローラ６７０により生成される出力制御コマンド(power control commands)、を含み得る。アクセス端末６０２ｘにおいて、アクセスポイント６０４ｘにより伝送される変調信号は、アンテナ６２０により受信され、受信器ユニット６２２により調整され、デジタル化され、検出データシンボルを得るために復調器６２４により処理される。ＲＸデータプロセッサ１０２６は、検出データシンボルを処理し、端末および順方向リンクシグナリングに対して復号されたデータを供給する。コントローラ６３０は、出力制御コマンドを受信し、データ伝送を制御し、逆リンク上でアクセスポイント６０４ｘに出力を伝送する。コントローラ６３０および６７０は、アクセス端末６０２ｘおよびアクセスポイント６０４ｘの動作をそれぞれ命令する。メモリユニット６３２および６７２は、コントローラ６３０および６７０それぞれによって用いられるプログラムコードおよびデータを保存する。
【００３８】
開示される実施形態は、次の技術、すなわち、符号分割多元接続（ＣＤＭＡ）システム、多重キャリアＣＤＭＡ（ＭＣ−ＣＤＭＡ）、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）、高速ダウンリンクパケットアクセス(High-Speed Downlink Packet Access)（ＨＳＤＰＡ）、時分割多元接続（ＴＤＭＡ）システム、周波数分割多元接続（ＦＤＭＡ）システム、および直交周波数分割多元接続（ＯＦＤＭＡ）システム、のうちの任意の１つまたは組み合わせに適用されることができる。
【００３９】
ここに開示される実施形態に関連して説明される方法あるいはアルゴリズムのステップは、ハードウェアにおいて直接に、プロセッサによって実行されるソフトウェアモジュールにおいて、あるいはこれら２つの組み合わせにおいて具現化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り出し可能ディスク、ＣＤ−ＲＯＭ、あるいは当技術分野で知られている保存媒体の何らかの他の形態、の中にあってもよい。プロセッサが保存媒体、から情報を読み取り、へ情報を書き込むことができるように、例示的な保存媒体は、プロセッサに結合される。別の方法では、保存媒体はプロセッサと一体化していてもよい。プロセッサおよび保存媒体は、ＡＳＩＣ内に常駐してもよい。ＡＳＩＣは、ユーザ端末内にあってもよい。別の方法では、プロセッサおよび保存媒体は、ユーザ端末においてディスクリートコンポーネントとしてあってもよい。
【００４０】
ここに説明される方法は、当業者によって知られている種々のハードウェア、プロセッサおよびシステム上にインプリメントされる(implemented)ことができる、ということに注目されるべきである。例えば、ここに説明されるようにクライアントが操作するための一般的な要件は、クライアントが、コンテンツおよび情報を表示するディスプレイと、クライアントの操作を制御するプロセッサと、クライアントの操作に関連するデータおよびプログラムを保存するメモリと、を有することである。一実施形態においては、クライアントはセルラー電話(cellular phone)である。別の実施形態においては、クライアントは通信機能を有するハンドヘルドコンピュータである。さらに他の実施形態においては、クライアントは通信機能を有するパーソナルコンピュータである。さらに、ＧＰＳ受信機のようなハードウェアは、ここに説明される種々な実施形態をインプリメントするために、クライアント中に必要に応じて組み込まれてもよい。ここに開示される実施形態に関連して説明される、様々な説明のためのロジック、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明される機能を実行するように設計されるそれらの任意の組み合わせ、を用いて、インプリメントされる(implemented)、あるいは実行される(performed)ことができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせて使用される１つ以上のマイクロプロセッサ、あるいは、任意の他のそのようなコンフィギュレーション(configuration)、としてインプリメントされてもよい。
【００４１】
ここに開示される実施形態に関連して説明される、様々な説明のためのロジック、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明される機能を実行するように設計されるそれらの任意の組み合わせ、を用いて、インプリメントされる、あるいは実行されることができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせて使用される１つ以上のマイクロプロセッサ、あるいは、任意の他のそのようなコンフィギュレーション、としてインプリメントされてもよい。
【００４２】
上記に説明された実施形態は例示的な実施形態である。当業者は、ここに開示される発明の概念(inventive concept)から逸脱することなく、上記で説明される実施形態を、いま多数利用することができ、そこから発展(departures)することができる。これらの実施形態に対する様々な修正は、当業者に容易に明らかであり得る、また、ここに定義される包括的な原理は、他の実施形態に、例えば、インスタントメッセージサービスあるいは任意の一般的な無線データ通信アプリケーションにおいて、ここに説明される新奇な態様の精神あるいは範囲から逸脱することなく、適用されることができる。このように、本発明の範囲は、ここに示される実施形態に限定されるようには意図されておらず、ここに開示された原理および新規な特徴と整合する最も広い範囲が与えられるべきである。用語「例示的な(exwmplary)」は、「例(example)、インスタンス(instance)、または例証(illustration)として機能している」を意味するようにここではもっぱら使用されている。「例示的な」としてここに説明されたいずれの実施形態も、他の実施形態よりも好ましい、あるいは有利なものとして、必ずしも解釈されるべきではない。
【図１】
0005479528.tif 000002
【図２】
0005479528.tif 000003
【図３】
0005479528.tif 000004
【図４】
0005479528.tif 000005
【図５】
0005479528.tif 000006
【図６】
0005479528.tif 000007