(57)【特許請求の範囲】
【請求項１】
知的財産保護管理システムを備えるマルチメディア符号化方式のコンテンツ再生装置であって、
知的財産保護管理情報を含むコンテンツを入力する入力手段と、
前記知的財産保護管理情報内に前記知的財産保護管理情報のオリジナル性を検証するための検証用データがあるかを示す情報を検出する検出手段と、
前記検出手段において前記検証用データがあるかを示す情報が検出された場合、前記知的財産保護管理情報内に含まれる暗号アルゴリズムの種類に関する情報と前記検証用データとを用いて、前記知的財産保護管理情報が改ざんされているか否かを判定する判定手段と、
前記判定手段で改ざんされていないと判定された場合に、前記知的財産保護管理情報に基づいて前記コンテンツの再生動作を制御する制御手段とを有することを特徴とするコンテンツ再生装置。
【請求項２】
前記検証用データは、検証用データが開始されることを表すコードと、前記検証用データのデータ長と、検証のための実データとを少なくとも含むことを特徴とする請求項１に記載のコンテンツ再生装置。
【請求項３】
前記マルチメディア符号化方式は、ＭＰＥＧ−４符号化方式であり、前記知的財産保護管理情報は、ＩＰＭＰストリームであることを特徴とする請求項１又は２に記載のコンテンツ再生装置。
【請求項４】
前記オブジェクトは、少なくとも、映像情報、又は、音声情報を有することを特徴とする請求項１〜３の何れか１項に記載のコンテンツ再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、知的財産（例えば著作権）保護管理システムを備えるマルチメディア符号化方式のコンテンツ再生装置に関するものである。
【０００２】
【従来の技術】
近年、動画像や音声などのデータを符号化し、夫々の符号化データをオブジェクトとして扱い、これらの所謂マルチメディアデータを組み合わせて単一のビットストリームとして伝送する手法として、ISO(International Organization for Standardization)にてMPEG−4(Moving Picture Experts Group pahse4)が標準化されつつある。
【０００３】
MPEG−4符号化方式により符号化されたマルチメディアデータを受信する受信側（再生側）においては例えば、音声と動画シーンを関連付けて再生する。このようなMPEG−4システムにおいては、データがオブジェクトとして扱われるという特性のために、受信したビットストリームをオブジェクト毎に1つ1つバラバラにして再編成するといったことを容易に行うことが可能になる。
上述したようなMPEG−4のデータストリームにおいては、これまでの一般的なマルチメディアストリームとは異なり、いくつもの動画シーンや動画オブジェクトを単一のストリーム上で独立して送受信する機能を有する。また音声についても同様にいくつものオブジェクトを単一のストリーム上で独立して送受信する機能を有する。
【０００４】
これらのオブジェクトを合成してあるシーンを合成するための情報としてVRML(Virtual Reality Modeling Language)を修正したシーン記述情報（BIFS ：Binary Format For Scenes）が存在する。このBIFSはシーンが2値で記述されているもので、このBIFSに従ってシーンが合成される。
【０００５】
このような、シーンの合成に必要な個々のオブジェクトは夫々、個別に最適な符号化が行われて送信されることになるので、復号側でも個別に復号され、BIFSの記述に従い、個々のデータの持つ時間軸を再生装置内部の時間軸に同期させてシーンを合成、出力することになる。
【０００６】
図１は、一般的なMPEG−4再生装置の概略構成を示すブロック図である。
図１において、伝送路１０１は各種ネットワーク、コンピュータバス等のデータの路であり、MPEG−4ストリームが入力されるネットワークである。ここで、伝送路は通信路の意味の他にCD-ROM、DVD-ROM、DVD-RAMといった記録媒体装置と再生装置とのインターフェースも意味する。
【０００７】
再生装置において、ネットワークや記録媒体装置から配信されたMPEG−4ストリームは、分離部１０２に入力される。ここでMPEG4ストリームシーン記述情報、動画像オブジェクトデータ、音声オブジェクトデータ、オブジェクトディスクリプタ等に分離された後、それぞれのメモリ部１０３〜１０６に入力される。
【０００８】
ここで、音声オブジェクトデータは例えば、周知のCELP（Code Excited Linear Prediction）符号化や、変換領域重み付けインターリーブベクトル量子化（TWINVQ）符号化等の高効率符号化が施されたデータであり、動画像オブジェクトデータは例えば、MPEG−4やH−263方式にて高効率符号化が施されたデータである。
【０００９】
また、オブジェクトディスクリプタは各オブジェクトに関する属性情報および再生に関する制御情報を含むデータである。
【００１０】
メモリ部１０４〜１０６の各オブジェクトデータはそれぞれの復号部１０８〜１１０へ入力される。復号部１０８〜１１０において、上述のような高効率符号化された、動画像オブジェクトデータ、音声オブジェクトデータ、及びオブジェクトディスクリプタ等は復号される。ただし、メモリ部１０３に入力されたシーン記述情報のみは、シーン記述復号部１０７へ直接入力されて復号される。
【００１１】
尚、図１においては音声オブジェクト、動画像オブジェクト、オブジェクトディスクリプタについて夫々複数の互いに異なる種類のオブジェクトがMPEG−4ストリームに内に存在しても復号可能な装置を仮定しているため、メモリ部１０４〜１０６や復号部１０８〜１１０は音声用、動画像用、オブジェクトディスクリプタ用に夫々複数用意されているものとする。
【００１２】
そして、復号部１０８〜１１０において夫々復号された音声オブジェクト、動画像オブジェクト、オブジェクトディスクリプタはシーン記述復号部１０７で復号されたシーン記述情報に基づいて、シーン合成部１１２にて合成／グラフィック処理が行われる。このようにして得られた最終的なデータ列はディスプレイやプリンタ装置といった出力機器１１３に供給されて可視化されることになる。
ここで、音声あるいは動画像などのシーンを構成する個々のオブジェクトデータに対して、著作権などの保護のために再生を実行させたり、再生を停止させたりする制御が必要となる場合には、IPMP（Intellectual Property Management and Protection）システムを用いて制御を行う。
【００１３】
IPMP制御部１１１は分離部１０２からのIPMPディスクリプタに基づき、必要に応じて制御ポイントにおいてストリームを遮断したり、復号部１０８〜１１０にアクセスして、復号動作の停止を命令する。この“ディスクリプタ”とは、再生装置がデータを再生するときに必要となる制御情報等を記述するためのデータの集合であり、IPMPディスクリプタとはオブジェクトデータの再生制御に関わる情報を記述するために設けられたディスクリプタである。
【００１４】
このためIPMP制御部１１１が、IPMPディスクリプタ中のデータに基づいてデータの視聴の権利が無いと判断した場合には、該データが復号されなくなるので、再生が行われなくなる。このような制御を行うことで著作権を有するデータの保護を行う。
【００１５】
【発明が解決しようとする課題】
IPMP情報は、受信したデータの再生、制御に関わる重要な情報である。つまり悪意を持ったものが、受信データの視聴許可がないにもかかわらずこのIPMPデータに対して何らかのデータの改竄を行い、その結果不正にデータを視聴するといった可能性がある。
【００１６】
コンテンツの著作権者としては、不正防止を含む知的財産権保護システムがあれば安心してコンテンツを提供することができるが、該システムが不完全な場合にはコンテンツを提供することに躊躇することになる。
【００１７】
すなわちMPEG−4における知的財産権保護管理システムであるIPMPシステムのデータを保護・管理することで正当な加入者のみが受信データの視聴をすることができるようにすることはネットワークを使用したコンテンツ配信サービスのビジネスを立ち上げるため必要なものである。それにもかかわらず、IPMPデータを保護する手段は現在のところ講じられていない。
【００１８】
本発明はかかる問題点に鑑みなされたものであり、知的財産権保護管理システムを備えるマルチメディア符号化方式において、知的財産保護管理情報が改ざんされてコンテンツが不正に再生されることを容易に防止するコンテンツ再生装置を提供しようとするものである。
【００１９】
【課題を解決するための手段】
上記目的を達成するために、本発明のコンテンツ再生装置は、知的財産保護管理システムを備えるマルチメディア符号化方式のコンテンツ再生装置であって、知的財産保護管理情報を含むコンテンツを入力する入力手段と、前記知的財産保護管理情報内に前記知的財産保護管理情報のオリジナル性を検証するための検証用データがあるかを示す情報を検出する検出手段と、前記検出手段において前記検証用データがあるかを示す情報が検出された場合、前記知的財産保護管理情報内に含まれる暗号アルゴリズムの種類に関する情報と前記検証用データとを用いて、前記知的財産保護管理情報が改ざんされているか否かを判定する判定手段と、前記判定手段で改ざんされていないと判定された場合に、前記知的財産保護管理情報に基づいて前記コンテンツの再生動作を制御する制御手段とを有することを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施例について、図面を参照して説明する。
まず、送信装置と再生装置とからなるデータ配信システム及びデータの生成方法、データ構成に関して説明し、次に該データ配信システムにおける送信装置の動作の一例、再生装置の動作の一例についてそれぞれフロー図を基に説明する。
初めに送信装置およびMPEG−4ストリームが生成されるまでの流れを説明する。
【００２４】
図２において、編集／入力部２０１に入力された動画像データは動画像符号化部２０２においてMPEG−4やH−263といった符号化方式により符号化されて動画像オブジェクトデータに変換され、音声データは音声符号化部２０５において符号化されて音声オブジェクトデータに変換され、静止画データは静止画符号化部２０６においてJPEGといった方式により圧縮されて静止画オブジェクトデータに変換され、文字データはテキスト符号化部２０７においてテキストオブジェクトデータに変換される。
【００２５】
また、再生装置にてこれらの各オブジェクトデータをどのように合成し、どのようなタイミングで再生するかを指定する情報であるシーン記述情報が必要になる。このシーン記述情報は、編集者が編集／入力部２０１で行う編集作業に基づいて生成される編集データがシーン記述情報符号化部２０４で処理されることで生成される。
【００２６】
さらに、再生装置において、これらの個々のオブジェクトデータに対して、知的財産権（著作権）を保護する目的で再生を実行させたり、再生を停止させたりするための制御情報であるIPMPディスクリプタが生成される。このIPMPディスクリプタは、編集者が編集／入力部２０１で行う編集作業に基づいて生成される許可データがIPMPディスクリプタ生成部２０３で処理されることで生成される。
【００２７】
多重化部２０８では動画像オブジェクトデータ、音声オブジェクトデータ、静止画オブジェクトデータ、テキストオブジェクトデータ、IPMPディスクリプタ、シーン記述情報が多重化されてMPEG−4ストリームが生成される。
【００２８】
前記MPEG−4ストリームは図３に示すようにシーン記述情報３０１、動画像オブジェクトデータ３０３、静止画オブジェクトデータ３０４、音声オブジェクトデータ３０５、テキストオブジェクトデータ３０６、オブジェクトデータの制御情報であるオブジェクトディスクリプタ３０２で構成される。
【００２９】
また、オブジェクトディスクリプタ３０２の一構成要素としてIPMPディスクリプタ３０７が存在する。従ってIPMPディスクリプタ３０７はオブジェクトディスクリプタ３０２の一構成要素として送られる。
【００３０】
以下で具体的なIPMPディスクリプタの生成方法の一方法について説明する。
本実施例では、編集者はIPMPシステムを用いて動画像データの視聴制御を行うものとする。従って、編集者は動画像データのどの部分に対してIPMPシステムによる視聴制限を行うかという入力作業を入力／編集部２０１にて行う。どんな単位で動画像データの視聴制御に関する指定を行うかに関して、本実施例ではフレームを指定の単位とするが、それに限るものではなく、所定データ量単位でも良い。
【００３１】
本実施例では動画像データを構成するフレームをカウントすることが必要になる。ここで、１フレームとはフレーム内部に含まれるデータのみで１枚の画像を構成することのできる単位である（動画像はいくつかの画像の集まりで構成されている）。
【００３２】
フレーム数のカウントは、動画像データのヘッダにある情報と前記動画像データのデータ量とから算出することができる。カウント終了後、入力／編集部２０１に接続されているディスプレイ２０１ａ上に、入力された動画像データを構成するフレームが１枚毎にフレーム番号と共に表示される。編集者はこのディスプレイ２０１ａを見ながらどのフレームに対して視聴制限を行うかということを決定し、キーボード等の操作部２０１ｂにより入力／編集部２０１にその決定に基づいた視聴制限の情報を入力する。
【００３３】
視聴制限の情報を入力することで、編集／入力部２０１は図４に示すような許可データを生成する。
【００３４】
図４では、編集者が１フレームから１００フレームまで連続、２０１フレームから３００フレームまで連続、の視聴制限を行い、その他のフレームは視聴制限を行わないという設定を行った時に生成されるデータである。本実施例では全フレーム数は５００フレームであり、視聴制限が行われるフレームの範囲にはフラグとして１が設定され、そうでないフレームには０が設定される。
【００３５】
前記許可データはIPMPディスクリプタ生成部２０３へ送られ、図５に示す実情報の領域５０６に格納される。
【００３６】
ここでIPMPディスクリプタの構造を図５に基づいて説明する。
IPMPディスクリプタ３０７におけるタグ値５０１は該IPMPディスクリプタ３０７が開始することを示すデータであり、データ長５０２はIPMPディスクリプタ３０７のデータ長に関するデータが記述される。
【００３７】
IPMPディスクリプタID５０３はIPMPディスクリプタが複数存在した場合にそれぞれを区別するためのID情報であり、IPMPタイプ５０４は次のオプショナル領域にどうようなデータが存在するかを示すデータである。ＩＰＭＰタイプ５０４の領域に格納された値が“０”の場合にはオプショナル領域５０５に実情報５０６が在り、ＩＰＭＰタイプ５０４の領域に格納された値が“１”の場合にはオプショナル領域５０５にURL情報５０７が在ることをそれぞれ示す。
【００３８】
このように、IPMPデータはオブジェクトデータの視聴制限に関わる重要なデータである。従ってシステムを攻撃して不正にデータを視聴しようとする者は先ずこのIPMPディスクリプタを改竄することが予想される。
【００３９】
そこでIPMPシステムへの攻撃に対処するために、前記IPMPディスクリプタの正当性をチェックするためのディジタル署名データをIPMPディスクリプタの実情報のエリアに付加することとする。上記で説明したIPMPディスクリプタの構造はMPEG−4の規格上決まっているものであり、「MPEG−4規格準拠」を謳うためには上記の規格に従う必要がある。しかし、実情報のデータの記述方法には、現時点において規格上何の制限もない。従ってIPMPディスクリプタのディジタル署名データをIPMPディスクリプタの実情報のエリアに付加することは規格に反することではない。
【００４０】
ここでディジタル署名データについて説明する。
ディジタル署名とは、送信者がデータと一緒に該データに対応する署名データを送り、受信者がその署名データを検証して該データの正当性を確認するためのものである。「電子署名及び認証業務に関する法律案」によるとディジタル署名（電子署名）の定義は
「電磁的記録に記録することができる情報について行われる措置であって、次の用件に何れにも該当するものをいう。
一.当該情報が当該措置を行った者の作成に関わるものであることを示すためのものであること
二.当該情報について改変が行われていないかどうかを確認することができるものであること」
となっている。
【００４１】
上記定義を満たすディジタル署名の一つは、公開鍵暗号とハッシュ関数とを用いることで実現できる。その方法を以下で説明する。
初めに公開鍵暗号について説明する。
公開鍵暗号は暗号鍵と復号鍵が異なり、暗号鍵を公開、復号鍵を秘密に保持する暗号方式である。
【００４２】
公開鍵暗号の特徴としては、
(a)暗号鍵と復号鍵とが異なり暗号鍵を公開できるため、暗号鍵を秘密に配送する必要がなく、鍵配送が容易である。
(b)各利用者の暗号鍵は公開されているので、利用者は各自の復号鍵のみ秘密に記憶しておけばよい。
(c)送られてきた通信文の送信者が偽者でないこと及びその通信文が改竄されていないことを受信者が確認するための認証機能を実現できる。
が挙げられる。
例えば、平文データ M に対して、公開の暗号鍵 Kp を用いた暗号化操作を E(Kp,Ｍ) とし、秘密の復号鍵 Ksを用いた復号操作を D(Ks,M) とすると、公開鍵暗号アルゴリズムは、まず次の2つの条件を満たす。
(1)Kp が与えられたとき、E(Kp,M) の計算は容易である。Ksが与えられたとき、D(Ks,M) の計算は容易である。
(2)もし Ksを知らないなら、Kp と E の計算手順と C＝E(Kp,M) を知っていても、M を決定することは計算量の点で困難である。
次に、上記(1)、(2)に加えて、次の(3)の条件が成立することにより秘密通信が実現できる。
(3)全ての平文データ M に対し、E(Kp,M) が定義でき、D(Ks,Ｅ(Kp,M))＝Mが成立する。つまり、Kp は公開されているため誰もが E(Kp,M) を計算することができるが、 D(Ks,E(Kp,M)) を計算して M を得ることができるのは秘密鍵 Ksを持っている本人だけである。一方、上記(1)、(2)に加えて、次の(4)の条件が成立することにより認証が実現できる。
(4)すべての平文データM に対し、D(Ks,M) が定義でき、E(Kp,D(Ks,M))＝Mが成立する。つまり、D(Ks,M) を計算できるのは秘密鍵 Ksを持っている本人のみであり、他の人が偽の秘密鍵 Ks ' を用いて D(Ks',M) を計算し Ksを持っている本人になりすましたとしても、E(Kp,D(Ks',M))≠M なので受信者は受けとった情報が不正なものであることを確認できる。また、D(Ks,M) が改竄されても E(Kp,D(Ks,M)')≠M となり、受信者は受けとった情報が不正なものであることを確認できる。
【００４３】
上記の秘密通信と認証通信とを行うことができる代表例としてRSA暗号やR暗号やＷ暗号等が知られている。ここで、現在最も使用されているRSA暗号の暗号化、復号は次式で示される。
暗号化：暗号化鍵（e,n）  暗号化変換C=Me(mod n)
復  号：復号鍵（d,n）    復号変換M=Cd(mod n)
n=p・q  ここでp、q  は大きな異なる素数
上記の公開鍵暗号を用いた、データ正当性確認のためのディジタル署名データの生成および検証方法は以下のようになる。
データの送信者は送信データMに対して自身が所有する秘密鍵Ksによる演算D(Ks,M)を行い、ディジタル署名データｓを生成する。そしてディジタル署名データｓと平文データMとを受信者に送信する。
【００４４】
受信者は受け取ったディジタル署名データｓを送信者の公開鍵Kpによる演算E(Kp,s)を行い、前記演算結果M'と受信データMとを比較する。比較の結果MとM'とが一致した場合には、受信したディジタル署名データsは送信者の秘密鍵Ksで演算処理されていることになる。
【００４５】
送信者の秘密鍵Ksは、送信者のみが知りうる情報であるので、▲１▼受信者は送信者が署名データを生成したこと、データが一致したことから▲２▼送信データMが改竄されていないことを検証できる。
公開鍵暗号は暗号化にも復号にもべき乗演算と剰余演算が必要であるので、共通鍵暗号と比較すると演算量が膨大なものとなり高速な処理は難しい。従って、送信データMに対して公開鍵暗号の演算処理を行うのではなく、あらかじめ一定の大きさのデータに圧縮、前記圧縮されたデータに対して公開鍵暗号の演算処理を行うことが一般に行われている。
この圧縮にハッシュ関数を用いる。このハッシュ関数H( )は任意の長さの平文データMに処理を行い、一定の長さの出力H(M)=hを出す機能を持つ。ここで、出力hを平文データMのハッシュ値（またはメッセージダイジェスト、ディジタル指紋）という。
ハッシュ関数に要求される性質として、一方向性と衝突耐性が要求される。一方向性とはｈを与えた時、h=H(M)となる平文データMの算出が計算量的に困難であることである。衝突耐性とは平文データMを与えた時、H(M)=H(M')となる平文データM'(M≠M')の算出が計算量的に困難であること及びH(M)=H(M')かつM≠M'となる平文データM, M'の算出が計算量的に困難であることである。
ハッシュ関数としてはMD−2、MD−4、MD−5、SHA−1、RIPEMD−128、RIPEMD−160等が知られており、これらのアルゴリズムは一般に公開されている。
公開鍵暗号に加えてこのハッシュ関数を用いた場合におけるデータ正当性確認のためのディジタル署名データの生成および検証は以下のようになる。
平文データMをハッシュ関数により圧縮して一定長の出力h を算出する演算を行う。次に、送信者の秘密鍵Ksでh を変換してディジタル署名データｓを作成する演算すなわちD(Ks,h) =ｓを行う。その後、前記ディジタル署名データｓと平文データMとを送信する。
【００４６】
一方、受信者は受信したディジタル署名データｓ'を公開鍵Kp で変換する演算すなわちE(Kp,s')= h'と、受信した平文データM'を発信者と同じハッシュ関数により圧縮してh'' を算出する演算を行い、h'とh''が一致すれば受信したデータM'を正当であると判断する。
【００４７】
平文データMが送受信間で改竄された場合にはE(Kp,s)= h'と、受信した平文データM'を発信者と同じハッシュ関数により圧縮したh''が一致しないので改竄を検出できる。ここで、平文データMの改竄に合わせてディジタル署名データｓの改竄も行われてしまうと改竄の検出ができなくなる。しかし、これはhから平文データMを求める必要があり、このような計算はハッシュ関数の一方向性により不可能である。
【００４８】
従って、前記ディジタル署名データをIPMPディスクリプタ内に付加することで、MPEG−4データの伝送途中でIPMPディスクリプタ内のデータが改竄された場合には再生装置においてディジタル署名データをチェックすることで改竄を察知し、データの再生を停止することが可能になる。つまり、オブジェクトデータの著作権保護の強化につながる。
【００４９】
そこで、前記ディジタル署名データから構成されるデータを“署名ディスクリプタ”という制御情報としてIPMPディスクリプタの実情報エリアに付加することとする。
【００５０】
以下で、署名ディスクリプタ及びディジタル署名データの生成について説明する。
【００５１】
最初に、署名ディスクリプタの構造の一例を図６に基づいて説明する。
図６において、タグ値６０１には該署名ディスクリプタが開始することを示すデータであり、ディスクリプタ全体のデータ長６０２には前記署名ディスクリプタのデータ長に関するデータが記述される。
【００５２】
前記署名データ生成のためにどのハッシュ関数とどの公開鍵暗号アルゴリズムを使用したかを示す署名の種類６０３が次に記述される。署名データ長６０４には、署名データのデータ長に関するデータが記述される。署名データ６０５には、生成した署名データそのものが記述される。鍵データの種類６０６には、次のエリアに記述される鍵データの種類が記述される。
鍵データ６０７には、再生装置で行う署名データ検証に使用するデータであり、公開鍵暗号方式によりディジタル署名データを生成した場合にはこのエリアには使用した秘密鍵Ksに対応する公開鍵Kpが記述される。この時、鍵データの種類６０６には公開鍵を示すデータが記述される。
また、ディジタル署名データ検証に必要となるデータ（鍵データ）をURLで公開して、再生装置において前記URLにアクセスしてから署名データ検証を行うような場合、鍵データの種類６０６にはURLを示すデータが記述され、鍵データ６０７に実際のURLアドレスが記述されることになる。
【００５３】
次に、ディジタル署名データの生成について説明する。
IPMPディスクリプタ生成部２０３は、IPMPディスクリプタの署名ディスクリプタを除く全てのデータ部のディジタル署名データを生成して署名データ６０５に格納する。つまり、本実施例の場合には、IPMPディスクリプタのタグ値、データ長、IPMPディスクリプタID、IPMPタイプ、許可情報  の全データDに対してハッシュ関数H( )による演算を行い、該演算結果のハッシュ値h = H(D)に対して送信装置が有する秘密鍵Ksにて演算を行いディジタル署名データS = D(Ks,h)を生成することになる。
【００５４】
次に、上述のように生成されたMPEG−4ストリームを再生するための再生装置の一例を図７を用いて説明する。
【００５５】
図７は、再生装置の構成を示すブロック図である。
図７において、まずMPEG−4ストリームが入力されてから表示装置に表示されるまでの流れを説明する。
【００５６】
入力されたMPEG−4ストリームは、分離部７０１で動画像オブジェクトデータ、IPMPディスクリプタ、シーン記述情報、音声オブジェクトデータ、静止画オブジェクトデータ、テキストオブジェクトデータに分離され、それぞれの復号部７０２〜７０７に入力される。この各復号部は内部にメモリを有しており、各オブジェクトデータは一旦メモリに格納されてから処理される。
各復号部では、各オブジェクトデータのヘッダの中にある復号時間情報に従って各オブジェクトデータが復号されて、動画像データ、シーン記述情報、音声データ、静止画データ、文字データが生成される。
【００５７】
これらのデータは合成部７０８において、各オブジェクトデータのヘッダの中にある合成時間情報とシーン記述情報に従って合成されてディスプレイといった表示装置で表示されることになる。
【００５８】
次に、動画像オブジェクトデータの視聴制御およびディジタル署名データ検証について説明する。
【００５９】
IPMP制御部７０３は、送られたIPMPディスクリプタから許可データを抽出する。前記許可データは送信装置の編集／／入力部で生成されたデータである。IPMP制御部７０３では、前記許可データに従って動画像復号部７０２へ制御を行う。本実施例の場合、図４に示したように１〜１００までのフレームには視聴制限がかかっているので、動画像復号部７０２に対して１〜１００までのフレームの復号データを合成部７０８に出力しないように制御を行う。従って、合成部７０８で動画像データを合成できないので動画像が表示されることはない。
【００６０】
これに対して１０１〜２００までのフレームには視聴が許可されているので、動画像復号部７０２に対して１０１〜２００までのフレームの復号データを合成部７０８に出力するように制御を行う。従って、合成部７０８で動画像データが合成されるので動画像が表示されることになる。
【００６１】
以下同様にIPMP制御部７０３は視聴が制限されているフレームのデータを合成部７０８に出力しないように、視聴が許可されているフレームのデータを合成部７０８に出力するように動画像復号部７０２に対して制御を行う。このようにして編集者の意図したように動画像データの視聴制御が可能になる。
以下では再生装置が行う、上記の制御動作の前に行うIPMPディスクリプタの検証動作について説明する。
【００６２】
IPMP制御部７０３はタグ値の値から、IPMPディスクリプタ内の署名ディスクリプタを識別する。そして前記署名ディスクリプタ中の署名データS'を抽出する。更に、送信装置において公開鍵暗号方式によりディジタル署名データを生成した場合には、使用した秘密鍵Ksに対応する公開鍵Kpが記述されている鍵データから検証に使用する公開鍵Kpを抽出し、上記抽出した署名データS'に前記公開鍵Kpで処理を行いh' = E(Kp,S')を生成する。
【００６３】
また、検証に必要となるデータ（鍵データ）をURLで公開してある場合には、鍵データにURLのアドレスが記述されているので前記URLにアクセスして検証に必要なデータを取得してから上記演算を行う。
【００６４】
一方でIPMPディスクリプタ内の署名ディスクリプタを除く全てのデータのハッシュ関数による演算を行う。つまり本実施例の場合には、IPMPディスクリプタのタグ値、データ長、IPMPディスクリプタID、IPMPタイプ、許可情報の全データD'に対してハッシュ関数H( )による演算を行う。そして前記ハッシュ関数による演算結果h'' =H(D')と上記公開鍵Kpによる署名データの演算処理結果h'を比較する。
【００６５】
上記比較結果、２つの演算結果が一致した場合（h'=h''）には、IPMPディスクリプタは改竄されていないと判断できるので、許可情報に従って上記の視聴制御を行うこととなる。
【００６６】
一方、上記比較結果、２つの演算結果が一致していない場合には、IPMPディスクリプタに何らかの改竄がされたと考えられる。そこで、IPMP制御部７０３は、動画像復号部７０２に対して一切の復号動作を行わないように制御を行うと共に改竄が検出された旨のメッセージを画面上に表示するように合成部７０８に指示を行う。このようなメッセージを表示することで受信者は、再生が出来ない理由が契約していないからか、何らかのデータの改竄が行われたためなのかを知ることができる。
【００６７】
上記実施例では、署名の種類のデータから前記署名データ生成にどのようなハッシュ関数と公開鍵暗号方式が使用されたかを検出し、使用されたハッシュ関数と公開鍵暗号方式と同一の関数と方式で上記の演算を行うこととなる。
上記方法によれば、再生制御に関して重要なデータであるIPMPデータにもしも改竄が行われた場合、前記改竄をチェックすることができるので悪意を持った者の攻撃からシステムを防御できる。従って正当な視聴の権利を持つ者のみがデータを視聴することが可能になり、コンテンツの著作権者は安心してコンテンツを提供することができるのでネットワークを使用したコンテンツ配信サービスのビジネスを立ち上げることができる。
【００６８】
以下では本発明の装置の動作、特に送信装置の処理の一例について図８のフローチャートを用いて説明する。
【００６９】
図８は、送信装置がMPEG−4ストリームの生成を行う際の処理を説明するためのフローチャートである。また、本実施例では公開鍵暗号方式によりディジタル署名データを生成するものとする。
【００７０】
図８において、ステップ８０１では、編集者がオブジェクトデータに対してIPMPシステムを用いて視聴制御を行うための入力がなされるかどうかが判断される。視聴制限をIPMPシステムで行うという入力がされた場合にはステップ８０２に進み、入力がなされない場合にはステップ８０６に進む。
次に、ステップ８０２では、入力された視聴制限のデータに基づいて許可データを生成し、ステップ８０３に進む。
【００７１】
ステップ８０３では、タグ値５０１にはIPMPディスクリプタの開始を示すデータを、IPMPディスクリプタID５０３には複数のIPMPディスクリプタを識別するためのシリアル番号を、IPMPタイプ５０４には次のオプショナル領域５０５には実情報が書き込まれるので”０”を、実情報５０６には上記で生成した許可情報を、データ長５０２には、IPMPディスクリプタのデータ長を、それぞれ書き込むことでIPMPディスクリプタを生成する（図５参照）。
【００７２】
次にステップ８０４では、検証のためのデータであるディジタル署名データ等で構成される署名ディスクリプタをIPMPディスクリプタ内に挿入するための入力がなされるかどうかが判断される。この入力もまた編集者が行うものである。署名ディスクリプタを挿入するという入力がされた場合には、ステップ８０５に進み、上記入力がされない場合にはステップ８０６に進む。
ステップ８０５では、IPMPディスクリプタのタグ値、データ長、IPMPディスクリプタID、IPMPタイプ、許可情報の全データDに対してハッシュ関数H( )による演算H(D)=hを行う。
【００７３】
前記演算結果のハッシュ値hに対して送信装置が有する秘密鍵Ksにて演算を行いディジタル署名データs=E(Ks,h)を生成し、該ディジタル署名データを署名ディスクリプタの署名データ６０５に書き込む。
【００７４】
この時にタグ値６０１には署名ディスクリプタの開始を示すデータを、署名の種類６０３にはディジタル署名データ生成に使用されたハッシュ関数と公開鍵暗号のアルゴリズムの種類を示すデータを、署名データ長６０４には上記で生成したディジタル署名データsのデータ長を、鍵データの種類６０６には公開鍵を示すデータを、鍵データにはディジタル署名データsの生成に使用した秘密鍵Ksに対応する公開鍵Kpを、ディスクリプタのデータ長６０２にはこのディスクリプタ全体のデータ長を、それぞれ書き込む（図６参照）。
【００７５】
ここで、前記署名ディスクリプタをIPMPディスクリプタ中に挿入したことによってIPMPディスクリプタのデータ長が変化することになるので、IPMPディスクリプタのデータ長５０２に記述されているデータの更新を行う。
次にステップ８０６では、動画像データ、音声データ、静止画データ、テキストデータ、シーン記述情報といった各データの符号化がそれぞれの符号化部にて行われ、ステップ８０７に進む。
【００７６】
ステップ８０７では、上記で生成された各オブジェクトデータ、ディスクリプタ（この中にIPMPディスクリプタも含まれる）が多重化されてMPEG−4ストリームが生成される。
【００７７】
次にステップ８０８では、上記で生成されたMPEG−4ストリームが伝送路で、またはCD-ROMといった記録媒体にコピーされた後に再生装置に送られ、処理が終了する。
【００７８】
以下では本発明の装置の動作、特に再生装置の処理の一例について図９のフローチャートを用いて説明する。
【００７９】
図９は、上記の送信装置で生成され、再生装置が受信したMPEG−4ストリームの再生処理を説明するためのフローチャートである。
【００８０】
図９においてステップ９０１では、送信装置で生成されたMPEG―4ストリームを伝送路から、またはCD-ROMといった記録媒体から受信する。
【００８１】
次にステップ９０２では、受信したMPEG−4ストリームを動画像データ、音声データ、静止画データ、テキストデータ、シーン記述情報、オブジェクトディスクリプタといった各オブジェクトデータに分離し、ステップ９０３に進む。
【００８２】
ステップ９０３では、上記で分離されたオブジェクトディスクリプタの中にIPMPディスクリプタが存在するかどうかがチェックされる。前記チェックはオブジェクトディスクリプタの中にIPMPディスクリプタを示すタグ値が存在するかどうかで行われる。IPMPディスクリプタが存在する場合にはステップ９０５に進み、存在しない場合にはステップ９０４に進む。
【００８３】
ステップ９０４では、どのオブジェクトデータにもIPMPシステムによる視聴制限が設定されていないことを意味するので各オブジェクトデータはそれぞれの復号部で復号された後、出力機器に出力され処理が終了する。
ステップ９０５では、IPMPディスクリプタの中に署名ディスクリプタが存在するかどうかをチェックする。前記チェックはIPMPディスクリプタの中に署名ディスクリプタを示すタグ値が存在するかどうかで行われる。署名ディスクリプタが存在する場合には、ステップ９０６に進み、存在しない場合にはステップ９０８に進む。
【００８４】
ステップ９０６では、署名の種類６０３に記述されているデータから検証に使用するハッシュ関数と公開鍵暗号アルゴリズムを識別する。次に署名データ長６０４に記述されているデータに基づいて署名データ６０５に記述されている署名データs'を抽出する。次に鍵データ６０７から検証に使用する公開鍵Kpを抽出し、上記で抽出した署名データs'に該公開鍵Kpで演算処理を行いh' = E(Kp,s')を生成する。該演算には上記で識別した公開鍵暗号アルゴリズムを使用する。
【００８５】
さらにIPMPディスクリプタ内の署名ディスクリプタを除く全てのデータのハッシュ関数による演算を行う。つまりIPMPディスクリプタのタグ値、データ長、IPMPディスクリプタID、IPMPタイプ、許可情報の全データD'に対してハッシュ関数による演算を行う。前記ハッシュ演算にも上記で識別したハッシュ関数が使用される。
【００８６】
そして、前記ハッシュ関数による演算結果h'' =H(D')と上記公開鍵Kpによる署名データの演算処理結果h'を比較する。上記比較結果、２つの演算結果が一致した場合（h'=h''）には、IPMPディスクリプタは改竄されていないと判断してステップ９０８に進む。
【００８７】
一方、上記比較結果、２つの演算結果が一致していない場合には、IPMPディスクリプタに何らかの改竄がされたと判断してステップ９０７に進む。
ステップ９０７では、IPMPディスクリプタに改竄が検出されたので、一切の復号動作を行わないようにすると共に改竄が検出された旨のメッセージを画面上に表示し処理が終了する。
【００８８】
ステップ９０８では、IPMPディスクリプタID５０３に記述されている情報を確認してから、IPMPタイプ５０４に記述されているデータからオプショナル領域５０５の記述されているデータが実情報であるか、URL情報であるかを判断した後、オプショナル領域５０５のデータを抽出する。本実施例の場合は送信装置において許可データが実情報として記述されているので、許可データを抽出後に前記許可データに基づいて上記で記述したようにIPMPシステムによる制御が行われる。
【００８９】
本発明は一つの機器（例えば複写機、ファクシミリ）からなる装置に適用しても、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用してもよい。
また、前述した実施形態の機能を実現する様に各種のデバイスを動作させるために、該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記、実施形態を実現するためのソフトウエアのプログラムを供給し、そのシステムあるいは装置のコンピュータ(CPU,MPU)を格納させたプログラムに従って前記各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【００９０】
またこの場合、前記ソフトウエアのプログラム自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばプログラムコードを格納した記憶媒体は本発明を構成する。
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,DVD-ROM、不揮発性のメモリカード等を用いることができる。
【００９１】
またコンピュータが、供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれることは言うまでもない。さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその拡張機能ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明の実施の形態に含まれることは言うまでもない。
【００９２】
また、上記実施例では動画像データに対する知的財産権の保護管理について述べたが、動画像データに限るものではなく、音声データ、静止画像データ等に対しても同様な方法により知的財産権の保護管理を行うことができる。
【００９３】
【発明の効果】
本発明によれば、知的財産保護管理システムを備えるマルチメディア符号化方式において、知的財産保護管理情報が改ざんされてコンテンツが不正に再生されることを容易に防止することができる。従って正当な視聴の権利を持つ者のみがデータを再現することが可能になり、コンテンツの知的財産権（例えば、著作権）者は安心してコンテンツを提供することができるのでネットワークを使用したコンテンツ配信サービスが現実的なものとなる。
【図面の簡単な説明】
【図１】本発明におけるMPEG−4再生装置の概略構成を示すブロック図である。
【図２】本発明における実施例の送信装置の概略構成を示すブロック図である。
【図３】本発明における実施例のMPEG4ストリームの構造を示す図である。
【図４】本発明における実施例の許可データの構造を示す図である。
【図５】本発明における実施例のIPMPディスクリプタの構造を示す図である。
【図６】本発明における実施例の署名ディスクリプタの構造を示す図である。
【図７】本発明における実施例の再生装置の概略構成を示すブロック図である。
【図８】本発明における実施例の送信装置の動作を説明するためのフローチャートである。
【図９】本発明における実施例の再生装置の動作を説明するためのフローチャートである。
【図１】
0003793009.tif 000002
【図２】
0003793009.tif 000003
【図３】
0003793009.tif 000004
【図４】
0003793009.tif 000005
【図５】
0003793009.tif 000006
【図６】
0003793009.tif 000007
【図７】
0003793009.tif 000008
【図８】
0003793009.tif 000009
【図９】
0003793009.tif 000010