JP4308493B2 - Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content - Google Patents
Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content Download PDFInfo
- Publication number
- JP4308493B2 JP4308493B2 JP2002257929A JP2002257929A JP4308493B2 JP 4308493 B2 JP4308493 B2 JP 4308493B2 JP 2002257929 A JP2002257929 A JP 2002257929A JP 2002257929 A JP2002257929 A JP 2002257929A JP 4308493 B2 JP4308493 B2 JP 4308493B2
- Authority
- JP
- Japan
- Prior art keywords
- ipmp
- tool
- content
- stream
- mpeg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Storage Device Security (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、MPEG-2コンテンツ配信と保護のためのフレキシブルで共通のIPMPシステムの装置に関する。
詳述すれば、本発明はMPEG-2でのコンテンツの配信と保護、特に、MPEG-2による保護されたコンテンツが異なったIPMP端末により使われ、同一コンテンツが異なったIPMPシステムにより保護されるアプリケーションに関する。
【0002】
【従来の技術】
マルチメディアとしてコンテンツ配信が一層求められるようになっており、いつでもどこからでもそのコンテンツにアクセスできるようになっている。ユーザにとっては、その利便性と融通性が喜ばれており、そのために娯楽が容易かつ効果的に楽しめるようになっている。他方では、コンテンツの所有者からみれば、財産の不法利用に気をもまざるを得ない。両者間でバランスをとっている。
【0003】
コンテンツを保護する技法として幾つかが知られており、その一つにデータ符号化や電子透かし法などが知られている。何れも幾多のコンテンツ配信の分野で使われている。コンテンツに保護をかけて配信するのに、システムが異なるれば、そのための機構や保護策も異なっているようである。その場合、全ての端末ないしコンテンツ利用装置は、同一コンテンツプロバイダが提供するコンテンツしか再生したり利用できない。異なったコンテンツを再生するのに端末ないし装置を交換するわけには行かない。
【0004】
MPEG-4の分野では、標準化グループがMPEG-4IPMP拡張版の開発を進めている。これでは下記の両方が達成できるようになる。
1. 保護されている同一コンテンツが異なったベンダーのMPEG-4IPMP端末で利用できるようになる。これは完全に可能化される。
2. 異なったベンダーのIPMPツールで同一コンテンツを保護することが出きる。これは出きるだけ広範囲にわたって対応されることになる。
【0005】
MPEG-2の分野では、異なったCA(条件付きアクセス)システムとの間での相互運用性を確保するのに必要な最小数の共通CAエレメントを規定するものとしてCAシステムがある。しかしながら、充分なコンポーネントが定義されていないので、現実には相互運用性があるわけでもなく、CAによりもたらされるアーキテクチャには融通性がない。
【0006】
そのような場合では、異なったコンテンツプロバイダが提供する異なったMPEG-2コンテンツを再生する同じ端末を生産するのは困難である。換言すれば、保護されている同一MPEG-2コンテンツは異なったCAシステムでは再生できないのである。
【0007】
他方、CAシステムでは共通するスクランブルアルゴリズムを規定しており、これによりハードウェア実現を簡単にしているが、全体のアーキテクチャがあまりにも硬直しすぎている。IPMPツールとしては予め特定のものに決めておくべきではなく、ベンダー側が自分のIPMPシステムに適したツールを選べるように融通性を持たすべきである。その場合、良好な融通性と安全性との両方が得られるように何らかの標準的な方法とインターフェースとを定めておく必要がある。
【0008】
【発明が解決しようとする課題】
従って、MPEG-2システムにあってはコンテンツ保護のために融通が効き、相互運用のできるIPMPシステムが求められているのである。
その要件は、
1. 保護されている同一コンテンツが異なったベンダーのMPEG-4IPMP端末で利用できること。これは完全に可能化されなければならない。
2. 異なったベンダーのIPMPツールで同一コンテンツを保護することができること。これはできるだけ広範囲にわたって保証されなければならない。
符号化器からチャンネル配信を経て端末まで安全にMPEG-2のための全IPMPシステムを構築する、IPMPシステム実施者用の標準方法を提供しなければならない。
【0009】
【課題を解決するための手段】
課題を解消するために、MPEG-4 IPMP拡張版を、修正を施した上でMPEG-2に適用する。
IPMP制御情報は、コンテンツを再生するのに必要なIPMPツールの種類と、コンテンツが保護されている態様とを説明するものとして当該コンテンツの内部に入れる必要がある。それには、IPMPツールリストとIPMPツール容器を使用する。
【0010】
IPMPツールリストは、ツールが独立したものか、或いは代替のツールがあるかを示す。IPMPツールリスト内の各ツールごとに下記の情報が設けられている。
1. IPMPツール識別子。特定のIPMPツールが、そのIPMPツール識別子と、オプションのパラメータ記述とを通して他者に識別される。
2. 特定のツールに対して考えられる代替ツール。
3. オプショナルツールリストのシグネチャ。
【0011】
IPMPツール容器には、そのコンテンツとしてバイナリツールそれ自身が入れられている。与えられたツールは、IPMPツール容器のペイロードとして搬送され、ツールのフォーマットと、パッケージ情報と、IPMPツールIDも、ツール容器の中で指定されている。
【0012】
IPMP制御グラフは、異なったプログラムのもとでの異なったエレメンタリーストリームと、異なったIPMPツールとを、そのIPMPツールが動作すべき制御ポイントで両者の間の関係を説明するものである。
【0013】
IPMPツールマネジャーは、与えられたIPMP端末における概念的な実体(entity)である。端末がツールリストを受け取ると、端末はそれをIPMPツールマネジャーに引き渡して構文解析とツール検索を行う。また、このツールマネジャーはパラメータ記述を処理すると共に、代替ツールを特定し、コンテンツ中に入って到着するバイナリツールを受け取る。
【0014】
全てのIPMPツールメッセージは端末を介する経路をとる。この機能を表すために、メッセージルーター(MR)と称する実体がアーキテクチャに定められている。MRは、サポートされているIPMPツールと接続して通信する。従って、MRは、通信しようとしている他のIPMPツールから一つのIPMPツールへの物理的インターフェースを抽象化したものである。メッセージ経路選択(routing)は瞬間的になされると仮定される。
【0015】
【作用】
コンテンツプロバイダ側では、メディアコンテンツをMPEG-2やMPEG-4などの既存の符号化技術を利用して符号化すると共に、DESやAESの如くの既存のIPMPツールを利用して暗号化する。コンテンツには、符号化に先立って透かしツールAAA(一例)を利用して透かしが埋め込まれていてもよい。その後、このメディアコンテンツを、MPEG2システムを利用して多重化する。
【0016】
同時に、IPMP制御情報を構築する必要があるのではあるが、この情報にはIPMPツールリストと選択的なツール容器とを含ませる。IPMP制御情報は、MPEG-2伝送ストリームにおけるPSIまたはMPEG-2プログラムストリームにおける特別PESパケットに入れる。
【0017】
また、コンテンツを保護するのに使われるIPMPツールに基づいてIPMPツールリストが生成される。このIPMPツールリストには、特定のツールを指定するIPMPツールIDが含まれている。それには、端末で同一機能(例えばDES)を行う、それに好ましいツールを選択できるようにするオプショナルパラメータ記述も含まれていてもよいし、また、端末において、同一タスクの達成が可能な既知のツール類からどれかを選択できるようにするために一組の代替ツールが含まれていてもよい。
【0018】
IPMP制御グラフもコンテンツ製作時に構築する。例えば、DESツールが、符号化の後でビデオエレメンタリストリーム0x01を暗号化するのに使われるとすると、制御グラフでは、エレメンタリストリーム0x01を保護するのにDESツールが使われている旨の手掛りと、どの制御ポイント(復号化前)で呼ばれるべきであるかの情報が必要である。透かしを符号化前にオーディオエレメンタリストリーム0x02に入れるのにツールAAAを利用したのであれば、制御グラフでは、どの制御ポイント(復号化後)においてエレメンタリストリーム0x02用に透かしツールAAAを呼び出す必要があるかの旨の手掛りが必要である。
【0019】
端末側では、IPMPツールリストはMPEG-2端末内にあるIPMPツールマネジャーに転送される。このツールマネジャーはコンテンツを利用するのに必要な全てのツールが端末にあるかどうかをチェックし、欠けているものがある場合、端末はIPMPツールIDまたはパラメータ記述に従い、欠けているIPMPツールを独自の方法に従って、検索する。得られたIPMPツールはこれで端末で利用可能になり、予め定義付けされたメッセージインターフェースでの利用に備えてIPMP端末に保存される。
【0020】
IPMP制御グラフも端末で構文解析されるので、端末としては、どの制御ポイントでどのエレメンタリストリームに作用させるべきIPMPツールはどれかを知ることができる。
その後、コンテンツストリームは、コンテンツデコーダにかけられ、必要なIPMPツールが呼び出され、コンテンツが復号化されて端末で再生される。
【0021】
【発明の実施の形態】
MPEG-2での既存のCAシステムは、コンテンツ所有者と端末ベンダーとの両者にとって相互運用ができて融通に富んだコンテンツ保護機構をもたらしていない。
図1は、現在では典型的な従来のCAシステムを示している。
ユニット1.0におけるコンテンツ所有者は、ユニット1.1、1.4、1.7における異なったコンテンツプロバイダX、Y、Zを介してコンテンツを提供している。ここでは、ユニット1.2、1.5、1.8に示した異なったそれぞれのコンテンツプロバイダごとコンテンツを保護するのに異なったCAシステムが用いられている。
【0022】
従って、コンテンツ復号ないしコンテンツ利用端末も、ユニット1.3、1.6、1.9で示すように互いに異なっている。
このことから、CAシステムAで保護されているMPEG-2コンテンツは、CAシステムBをサポートする端末では再生できないし、異なったベンダーからの異なったCAシステムがどのように同一コンテンツを保護すべきか、また、端末側がそのことを知る方法についての完全な仕様はない。
【0023】
本発明では、MPEG-2IPMPシステムで下記の事項を可能にする。
1) ツールリストとツール容器を含むIPMP制御情報をストリームに含ませて、コンテンツプロバイダとコンテンツ配信者としてはどのIPMPツールを使うべきか、また、どうやってコンテンツ内にバイナリツールを含ませるべきかを知らせること。
2) ツールリスト、IPMP制御グラフ、IPMPツール容器を保有するためにMPEG-2システムに5つの新しい記述子を定めること。
3) 2つの新しいストリームを定めること。個別のツールインスタンスに送るべきIPMP情報を搬送するIPMPストリームと、トランスポートストリームを用いてIPMP制御情報を搬送するIPMP制御情報ストリーム。
4) MPEG-4IPMP拡張版からMPEG-2端末へツールマネジャーとメッセージルーターの概念を導入すること。
【0024】
図2は、出願人の提案したコンプライアントMPEG-2IPMPシステムを示す概略図である。
モジュール2.1はサーバーであって、異なったアプリケーションのシナリオごとにコンテンツプロバイダか、コンテンツ配信者の何れかとして稼働する。
サーバーから端末へのコンテンツストリームの送信を含むサーバーとコンプライアントMPEG-2IPMP端末との間の通信のためのネットワークレイヤーをモジュール2.3に示す。
【0025】
先ず、モジュール2.4の権利認証モジュールがサーバーと相互作用して、コンテンツアクセスと利用権利のみならず、詳細な利用ルールを入手する。モジュール2.4でコンテンツへのアクセス権が認可されれば、サーバからネットワークレイヤーを経て端末へ要求されたコンテンツストリームが送られる。
モジュール2.2では、コンテンツストリームが、ツールリスト、ツール容器、IPMPストリームを含むIPMP制御情報と共に送信される。IPMP制御情報とIPMPストリームの詳細なところについては後述する。
【0026】
モジュール2.5に示したIPMPツールマネジャーは、IPMP制御情報を構文解析または解釈するものである。それはツールリストを構文解析して、コンテンツを処理するのに必要なIPMPツールはどれかを見つけだす。何らかのツールがない場合、ツールマネジャーがツール容器からそのツールを検索するか、または、独自の方法を介してどこからかそのツールを検索する。また、ツールマネジャーは、代替選択のリストからツールを選択するか、または、パラメータ記述を解釈して望ましいツールを選択する責任がある。
IPMPツールマネジャーは、IPMP制御グラフをも構文解析して、どのツールをどの制御ポイントにおいてどのエレメンタリストリームに使うべきかを見つけだす。これの詳細なことについては後述する。
【0027】
ライセンス/キーと利用ルールとは、モジュール2.6として示した端末のメモリーに保存されている。バイナリIPMPツールは、それに対応するツールIDと共に、モジュール2.7として端末のメモリーに保存されている。各ツールは、一般的な標準化されているインターフェースに従って構築されており、プラットフォームに適合させるコンパイラを利用して予めコンパイルされている。例えば、データ暗号化と復号化のツールは、一つの一般的な標準化されているインターフェースに基づいて組み込んでもよい。それは、ジャバ仮想マシンで、全てのプラットフォーム/端末用にジャババイトコード(JBC)に予めコンパイルされていてもよいし、また、ウィンドウズ(登録商標)準拠プラットフォーム/端末のためにダイナミックリンクライブラリー(DLL)に予めコンパイルされていてもよい。
【0028】
モジュール2.8は、IPMPツールプロバイダと端末実装者とが従うべき、予め定義付けされたIPMPツールのメッセージ通信インターフェースを示す。
ここでは、発明された各項目を示すために詳細な説明を四つに項目分けしている。
【0029】
(1. IPMP制御情報)
IPMP制御情報はコンテンツストリームで搬送される必要がある。このIPMP制御情報には、ツールリストやツール容器の如くの必要な情報が含まれている。IPMPツールリストはコンテンツを処理するのに要するIPMPツールを特定し、その選択を可能とする。ツール容器は、コンテンツストリームでバイナリツールを運ばせるものである。
【0030】
簡単に言えば、IPMP制御情報は、コンテンツを再生するのに必要なIPMPツールは何か、また、どうやってそのツールがコンテンツを保護しているのかを説明するものである。トランスポートストリームにあっては、IPMP制御情報テーブルの形で存在し、プログラムストリームにあっては、stream_idがIPMP制御情報ストリームIDである時のPESパケットの形で存在する。
【0031】
(1.1 トランスポートストリームでのIPMP制御情報テーブル)
PSI(プログラム特有情報)にはもう一つのテーブル「IPMP制御情報テーブル」が含まれていなければならない。これは、後述するIPMPツールリスト記述子やツール容器などを含むIPMP制御情報を保持するのに使われる。PID割当てを以下に示す。
【0032】
【表1】
【0033】
(1.1.1 IPMP制御情報テーブルのセクションへの割付け)
IPMP制御情報テーブルは、トランスポートストリームパケットへ挿入するに先立って、下記のシンタックスで一つかそれ以上のセクションにセグメント化してもよい。
【0034】
【表2】
【0035】
(IPMP制御情報テーブルセクションにおけるフィールドの意味論的定義)
table_id -- これは、表1に示したように常に0x02に設定されているべき8ビットフィールド。
section_syntax_indicator -- このsection_syntax_indicatorは、'1'に設定しておくべき1ビットフィールド。
section_length -- これは20ビットフィールド。これはCRCを含む、section_lengthフィールドの直ぐ後に始まり、CRCを含むセクションのバイト数を定義する。このフィールドの値は1048573を超えてはいけない。その長さは大きな値に設定される。なぜならば、それに続く記述子が後述のTool_Container_Descriptorを含むかもしれないからである。
ipmp_control_info_version -- この5ビットフィールドは、全IPMP制御情報テーブルのバージョン番号である。バージョン番号は、IPMP情報テーブル内の情報に変化が起きたときに1モジュロ32だけ増加する。current_next_indicatorが'1'に設定されていると、version_numberは、その時に適用しうるIPMP制御情報テーブルのそれでなければならない。current_next_indicatorが'0'に設定されている場合では、version_numberは次に適用しうるIPMP制御情報テーブルのそれでなければならない。
【0036】
current_next_indicator -- '1'に設定されていると、送ったIPMP制御情報テーブルが現在適用可能であることを意味する1ビットインジケータ。ビットが'0'に設定されていると、送ったIPMP制御情報テーブルはまだ適用できず、次に有効になるIPMP制御情報テーブルであることを意味する。
section_number -- この8ビットフィールドでこのセクションの番号が与えられる。IPMP制御情報テーブルにおける最初のセクションのsection_numberは0x00でなければならない。IPMP制御情報テーブルに一つのセクションが増える都度1モジュロ256ずつ増加する。
【0037】
last_section_number -- この8ビットフィールドで、IPMP制御情報テーブルの最後のセクション(即ち、section_numberの一番大きいセクション)の番号を指定する。
descriptor_length -- この16ビットフィールドで、このフィールドの直後に来る記述子の全長を指定する。ToolList_Descriptorがこのフィールドの直後にこなければならない。二つの記述子の詳細なところについてはセクション3で説明する。
isSigned -- この1ビットフィールドは、IPMP制御情報テーブルに署名があることを示している。
【0038】
Signature -- ツールリスト記述子、ツール容器記述子などを含む全てのIPMP制御情報の署名。
CertType -- 使っている証明機構の種類。
NumCerts -- 含まれる証明の数。
Certificate -- 証明のアレー。
Verifying_Tool_Id -- 証明を認証するのに必要なツールのID。これは端末のIDであってもよい。
CRC_32 -- これは、IPMPセクション全体を処理した後に参考文献[1]の付録Bにおいて定めた復号化器のレジスタの出力を0にするCRC値を含む32ビットフィールドである。
【0039】
(1.2 プログラムストリームにおけるIPMP制御情報)
IPMP制御情報で、プログラムストリームにおけるツールリスト記述子を含む全体のIPMP情報が得られる。stream_idの値が所定値である場合、PESパケットとしてIMPM制御情報が与えられる。
【0040】
【表3】
【0041】
(IPMP制御情報におけるフィールドの意味論的定義)
packet_start_code_prefix -- このpacket_start_code_prefixは24ビットコードである。これに続くmap_stream_idと共に、パケットの始まりを識別するパケット開始コードを構成する。このpacket_start_code_prefixは、'0000 0000 0000 0000 0000 0001'(16進数で0x000001)のビットストリングである。
map_stream_id -- これは、値が16進数で常に0x??となる8ビットフィールドである。
ipmp_control_info_version -- この5ビットフィールドは、全IPMP制御情報テーブルのバージョン番号である。バージョン番号は、IPMP情報テーブル内の情報に変化が起きたときに1モジュロ32だけ増加する。current_next_indicatorが'1'に設定されていると、version_numberは、その時に適用しうるIPMP制御情報テーブルのそれでなければならない。current_next_indicatorが'0'に設定されている場合では、version_numberは次に適用しうるIPMP制御情報テーブルのそれでなければならない。
【0042】
ipmp_control_info_length -- このipmp_control_info_lengthは19ビットフィールドであって、このフィールドの直後にくるipmp_control_infoにおける全バイト数を表している。このフィールドの最大値は524288(バイト)である。
current_next_indicator -- '1'に設定されていると、送ったIPMP制御情報テーブルが現在適用しうることを意味する1ビットフィールド。ビットが'0'に設定されていると、送ったIPMP制御情報テーブルであるず、次のIPMP制御情報テーブルを有効にすべきことを意味する。
ipmp_control_info_version -- この5ビットフィールドは、全IPMP制御情報テーブルのバージョン番号である。バージョン番号は、IPMP情報の定義が変わる都度1モジュロ32だけ増加する。current_next_indicatorが'1'に設定されていると、このipmp_control_info_versionは、その時に適用しうるIPMP制御情報テーブルのそれでなければならない。current_next_indicatorが'0'に設定されている場合では、ipmp_control_info_versionは次に適用しうるIPMP制御情報テーブルのそれでなければならない。
descriptor_length -- このdescriptor_lengthは16ビットフィールドで、このフィールドの直後に来る記述子の全長を指定する。ToolList_DescriptorとIPMPシーングラフ記述子とがこのフィールドの直後にこなければならない。この記述子の詳細なところについてはセクション3で説明する。
marker_bit -- このmarker_bitは、'1'をその値とする1ビットフィールドである。
isSigned -- この1ビットフィールドは、IPMP制御情報テーブルに署名があることを示している。ifブラケットにおける後続フィールドは最終セクションにおけるのと同じ意味を持っている。
【0043】
(2. 新たな記述子)
プログラムとプログラムエレメント記述子とは、プログラムとプログラムエレメントの定義を拡張するのに利用し得る構造である。全ての記述子は、8ビットタグ値から始まるフォーマットになっている。タグ値の後には、8ビット記述子長とデータフィールドが続く。本発明では、IPMPツールリストを保持する新しいIPMPツールリスト記述子と、全IPMP構造を表すIPMP制御グラフ記述子と、コンテンツとしてバイナリIPMPツールを搬送するIPMPツール容器記述子とを定めている。
【0044】
下記のセマンティックは本発明で定める記述子とMPEG−2における既存の記述子との両方にあてはまる。
descriptor_tag -- このdescriptor_tagは、各記述子を識別する8ビットフィールドである。その意味は、下記の表に示されている。TSないしPSカラムにおける'X'は、当該記述子がトランスポートストリームか、プログラムストリームの何れかにあてはまることを示している。本発明では5つの新しい記述子を導入している。
【0045】
【表4】
descriptor_length -- このdescriptor_lengthは、descriptor_lengthフィールドの直後にくるバイト数を指定する8ビットフィールドである。
【0046】
(2.1 IPMPツールリスト記述子)
IPMPツールリスト記述子には、IPMPツールのリストが含まれている。これは、コンテンツを再生するために利用すべき全てのIPMPツールを特定している。
【0047】
【表5】
IpmpTool_Descriptor()については、次のセクションで定義付けする。
【0048】
(2.2 IPMPツール記述子)
IPMP_Tool_Descriptorには、端末が要する論理IPMPツールの情報が含まれている。論理ツールは下記のどれか一つであってもよい。
1. IPMP_ToolIDで指定されるベンダー特有IPMPツール、
2. 代替IPMPツールのリストの一つ、
3. パラメータ記述で指定されるIPMPツール。
【0049】
【表6】
【0050】
(IPMPツール記述子におけるフィールドの意味論的定義)
代替ツールのリストの場合、端末は代替IPMPツールのリストからIPMPツールを選択することになる。IPMPツールのパラメータ記述の場合、端末は、そのパラメータ記述において指定されている基準に合致するIPMPツールを選択することになる。
IPMP_ToolID -- 端末が要求する論理IPMPツールの識別子
isAltGroup -- IPMP_Toolには、代替IPMPツールのリストが含まれている。この場合、IPMP_ToolIDは、代替IPMPツールのリストのための識別子であり、端末はIPMP_ToolIDのビットストリームに指定されている情報を、端末が実装する特定のIPMPツールへ転送することになる。
numAlternates -- IPMP_Tool[]で指定されている代替IPMPツールの数。
Alt_IPMP_ToolID -- コンテンツの利用を許容する一群の代替IPMPツールのID。
isParametric -- IPMP_Toolには、IPMPツールのパラメータ記述が含まれている。この場合、ipmp_ToolIDは、パラメータで記述されているIPMPツールの識別であり、端末はIPMP_ToolIDのビットストリームに指定されている情報を、端末が実装する特定のIPMPツールへ転送することになる。
【0051】
(2.3 IPMPツール容器記述子)
コンテンツそれ自体がバイナリIPMPツール(軽量)を搬送しているケースが多くある。端末はコンテンツからIPMPツールを検索、ロードして、それを実装すると共に、コンテンツを再生するために直ちにそれを利用してもよい。
MPEG4 IPMP拡張版では、IPMPツールはツールESで搬送される。しかし、MPEG2の場合、新たに定義付けしたIPMPツール容器記述子内でバイナリIPMPツールを搬送する方がより容易である。与えられたツールの一つの実装が、一つのIPMPツール容器のペイロード、記述フォーマット、パッケージ情報、容器内で指定されるIPMPツールIDとして搬送される。
【0052】
【表7】
【0053】
(IPMPツール容器記述子におけるフィールドの意味論的定義)
IPMP_Tool_ID -- このストリームで搬送されるツールのID。
Tool_Format_ID -- これは構造的に記述されているツールの場合、0x0001として定義されている。そうでない場合、Tool_Format_IDは、ツールのバイナリ表現を示し、登録権威により割り当てられる。
注意: 構造的に記述されているツールとは、コンテンツの利用に必要な一部ないし全てのIPMP機能を提供するために組み合わされるプリミティブのネットワークとしてのIPMPツールを含んでいる。例えば、DES解読アルゴリズムは、入力として暗号コード(ciphercode)を受け、出力として平文で出力する演算コード呼出しのシーケンスとして説明できる。
【0054】
Tool_Package_Idは、ツールのパッケージの詳細を示している。一例にはCABないしWinzip、自己インストール実行等がある。値は登録認証者により割り当てられる。
【0055】
(2.4 IPMP制御グラフ記述子)
IPMP制御グラフ記述子には、全体のIPMP保護スキームの説明が含まれている。それはIPMPツールを、保護されている個々のストリームと関連付ける。
【0056】
【表8】
【0057】
(IPMP制御グラフ記述子におけるフィールドの意味論的定義)
numProtectedProgram -- この8ビットフィールドで、IPMP保護範囲に入るプログラムは幾つあるかを表している。数が0であれば、それはプログラムストリームであることを意味する。それが1以上であれば、それはトランスポートストリームであることを意味し、for loopが各プログラムにトレースすべく続く。
【0058】
トランスポートストリームの場合(numProtectedProgram>0):
program_number -- このprogram_numberは16ビットフィールドである。これは、IPMPで保護されているプログラムを特定する。このフィールドは、IPMP制御情報の一つのバージョン内で一度以外、単一の値をとることはできない。
ipmp_length -- これは16ビットフィールド。これは、ipmp_lengthフィールドの直後に続くIPMP記述子のバイト数を指定する。
NumProtectedStreams -- IPMPで保護されているエレメンタリストリーム(上記のプログラムに属する)の数を指定する。
stream_type -- これは、elementary_PIDで指定される値を有するPIDのあるパケット内に搬送されるプログラムエレメントの種類を指定する8ビットフィールドである。stream_typeの値は後述するテーブル11に規定されている。
elementary_PID -- これは、関連付けられたプログラムエレメントを搬送するトランスポートストリームパケットのPIDを指定する13ビットフィールドである。このelementary_PIDの直後にIPMP記述子があれば、それは、この特定のエレメンタリストリームがこのIPMP記述子で定義付けされている保護範囲内にあることを意味する。
【0059】
プログラムストリームの場合(numProtectedProgram=0):
elementary_stream_id -- このelementary_stream_idは、このエレメンタリストリームが保存されているPESパケットのPESパケットヘッダにおけるstream_idの値を表す8ビットフィールドである。
【0060】
IPMP記述子は下記のように更に定義付けられている。
【0061】
(2.5 IPMP記述子)
IPMP記述子は、特定の範囲でIPMP保護を指定する。制御ポイント、シーケンス、IPMPツールIDなどの仕様を含む。
【表9】
【0062】
(IPMP記述子のフィールドの意味論的定義)
IPMP_DescriptorID -- このIPMP記述子に特有のID。この特定の記述子(保護範囲)を参照するのに利用できる。
IPMP_ToolID -- この範囲で保護しているIPMPツールに特有のID。
NumControlPoints -- IPMPツールがアクティブになっている制御ポイントの数。
controlPoint -- IPMPツールが常駐しているIPMP制御ポイントを指定する値であって、下記の値のうちのいずれか一つの値をとる。
【表10】
【0063】
sequenceCode -- 同一制御ポイントにあるIPMPツールに対するIPMPツールの関係を特定する値であって、下記の内の一つをとる。このsequenceCodeが0x01と0x02の何れかであれば、IPMP記述子IDがcontrolPointと共に直ちに続いて、どのツール(インスタンス)が前または後ろにつづくIPMPツールであるかを指定する。
【表11】
【0064】
OpaqueData -- IPMPツールを制御するための不透明データ。
【0065】
(3. 新しいストリーム)
Stream_idが、下記の表で定めているエレメンタリストリームの種類と数を特定する。本実施形態では、Stream_id=1111 1001がIPMPストリームに割り当てられている。
【0066】
【表12】
【表13】
【0067】
(3.1 IPMPストリーム)
IPMPストリームは、IPMP情報を搬送する新しいエレメンタリストリームである。一つのコンテンツに、各IPMP ESが一つのIPMPシステムに関連付けられて沢山のIPMPエレメンタリストリームがあるMPEG4拡張版とは異なって、MPEG2では、全ての制御ポイントにある全てのIPMPツールの全てのIPMP情報が一つのIPMPストリームに搬送されている。
【0068】
従って、IPMPストリームにおける全てのIPMP情報の宛先を明確に示す必要はない。
【0069】
本発明では、IPMPストリームは、下記の如く定めたシンタックスを有するIPMP情報メッセージの連鎖(concatenation)でなければならないと定めている。
【表14】
ipmp_descriptor_idとcontrol_pointとは、このIPMP_info_messageの宛先を明確に定めている。このメッセージは、メッセージルーターを介して、特定のcontrol_pointにある対応するIPMP記述子に定められているIPMPツールへ転送されていなければならない。
【0070】
(4. MPEG2 IPMP端末)
IPMPツールマネジャーとメッセージルーターとは、MPEG4 IPMP拡張端末からMPEG2 IPMP端末へと直接移植し得る。
図3は、MPEG-2IPMP端末のアーキテクチャを示す。
【0071】
(4.1 IPMPツールマネジャー)
IPMPツールマネジャーは、ある特定のIPMP端末における概念的なエンティティである。端末は、ツールリストを受け取ると、それを構文解析とツール検索に備えてIPMPツールマネジャーに転送しなければならない。また、ツールマネジャーは、パラメータ記述を処理して、代替ツールを求め、コンテンツとして到達するバイナリツールを受け取る。
【0072】
下記のステップは、MPEG-2端末でのツールの構文解析と検索のプロセスを詳細に説明したものである。
1. IPMPツールリスト記述子がPSIにおけるIPMP制御情報テーブルに記載されて、ツールマネジャーに転送される。
2. IPMPツールマネジャーは、前節で説明したシンタックスによりIPMPツールの情報を構文解析する。
3. ツールマネジャーは、所要ツールを持っているかどうかをチェックする。ツールを持っていない場合、ツールを得る試みがなされる。得られないツールを得る方法は実装上の問題である。
4. また、IPMPツールマネジャーは、IPMPツール容器記述子の構文解析を行って、PSIに含まれるバイナリIPMPツールを検索する責任がある。
5. 更に、IPMPツールマネジャーは、パラメータ記述を処理する責任がある。
【0073】
(4.2 IPMPメッセージルーター)
全てのIPMPツールメッセージは、端末を介して転送される。この機能を表すためには、メッセージルーター(MR)と称する実体がアーキテクチャに定められている。MRは、サポートされているIMPMツールと接続し、通信する。従って、それは一つのIPMPツールと、それと通信したがっている他のIPMPツールとの物理的インターフェースとなる。メッセージ転送は瞬間的になされると想定される。MRエラーの場合、MRにより適当なエラーステータスが返される。他の全ての場合では、MRは、意味論的意味を変えないで、情報と受信返答とを転送するように求められている。
【0074】
メッセージインターフェースはMPEG4 IPMP拡張版から変更を加えることなく移植される。しかし、MPEG2でのツールインスタンスにためのコンテクストIDを定める必要はない。IPMP記述子IDが、制御ポイントと共に、特定のエレメンタリストリームを保護するために特定の制御ポイントで作用する特定のツールインスタンスを明確に定めるべきである。
【0075】
(4.3 手動認証)
互いに、或いは、端末と通信しなければならないツールは、ツールと端末のセキュリティ要件を満たすようなやり方でそのようにしなければならない。ツールは、端末に対して、また、恐らくは互いに信頼関係を築いて通信を確かなものとしなければならない。ツール間の信頼できる通信チャンネルを確立することは、確実で、信頼性のある認証チャンネルを利用することにより達成される。
相互認証をサポートするメッセージは、MPEG4 IPMP拡張版からMPEG2フレームワークへ直接移植できる。
【0076】
【発明の効果】
本発明は、異なった種類の端末において同じ方法で保護されたMPEG-2コンテンツを再生すると共に、異なったベンダーのIPMPシステムを利用して同じMPEG-2コンテンツを保護する問題を、MPEG2 IPMPフレームワークを導入することにより解消している。
【0077】
IPMP制御情報は、MPEG-2トランスポートストリームの場合ではPSIに、また、MPEG-2プログラムストリームの場合ではPESパケットに搬送することができる。IPMP制御情報は、IPMPツールリスト、またはIPMPツール容器を5つの新しい記述子の形で搬送している。
【0078】
IPMPツールリストは、コンテンツを処理するのに必要なIPMPツールを識別すると共に、その選択を可能にしている。IPMP制御グラフは、IPMPツールとその保護範囲(制御ポイント)との関連を表している。ツール容器は、コンテンツストリームにおいてバイナリツールを搬送している。
【0079】
IPMPストリームはMPEG-2システム内でのエレメンタリストリームで、各個々IPMPツールインスタンスにIPMPメッセージを搬送するためのものである。
【0080】
IPMPツールマネジャーとメッセージルーターとは、MPEG-4IPMP拡張版からMPEG-2IPMPシステムに移植できる。
【図面の簡単な説明】
【図1】 従来例としてのMPEG-2の異なったCAシステムでのコンテンツ配信と保護を示す。
【図2】 コンプライアントMPEG-2IPMPシステムの概略図。
【図3】 MPEG-2IPMP端末の図を示す("DB":デコーダバッファ、"RB":レンダーバッファ)。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for a flexible and common IPMP system for MPEG-2 content distribution and protection.
More specifically, the present invention relates to the distribution and protection of content in MPEG-2, and in particular, an application in which content protected by MPEG-2 is used by different IPMP terminals and the same content is protected by different IPMP systems. About.
[0002]
[Prior art]
There is a growing demand for content distribution as multimedia, and the content can be accessed from anywhere at any time. For users, the convenience and versatility are appreciated, so that entertainment can be enjoyed easily and effectively. On the other hand, from the perspective of content owners, we have to be concerned about illegal use of property. There is a balance between the two.
[0003]
Several techniques for protecting content are known, and one of them is known as data encoding and digital watermarking. All are used in many content distribution fields. It seems that the mechanism and the protection measures for different systems are different for distributing contents with protection. In that case, all terminals or content use devices can only play or use content provided by the same content provider. There is no way to exchange terminals or devices to play different content.
[0004]
In the field of MPEG-4, the standardization group is developing an extended version of MPEG-4 IPMP. This will achieve both of the following:
1. The same protected content can be used by MPEG-4 IPMP terminals of different vendors. This is fully possible.
2. It is possible to protect the same content with IPMP tools from different vendors. This will be addressed as widely as possible.
[0005]
In the field of MPEG-2, there is a CA system that defines the minimum number of common CA elements required to ensure interoperability with different CA (conditional access) systems. However, since not enough components are defined, it is not actually interoperable and the architecture provided by CA is not flexible.
[0006]
In such a case, it is difficult to produce the same terminal that plays different MPEG-2 content provided by different content providers. In other words, the same protected MPEG-2 content cannot be played back by different CA systems.
[0007]
On the other hand, the CA system defines a common scramble algorithm, which simplifies hardware implementation, but the overall architecture is too rigid. IPMP tools should not be determined in advance, but should be flexible so that vendors can select tools suitable for their IPMP system. In that case, it is necessary to define some standard method and interface so that both good flexibility and safety can be obtained.
[0008]
[Problems to be solved by the invention]
Therefore, in the MPEG-2 system, there is a need for an IPMP system that is flexible and capable of interoperability for content protection.
The requirement is
1. The same protected content can be used by different vendors' MPEG-4 IPMP terminals. This must be fully enabled.
2. The same content can be protected by IPMP tools from different vendors. This must be guaranteed as widely as possible.
There must be provided a standard method for IPMP system practitioners that builds an entire IPMP system for MPEG-2 securely from the encoder to the terminal via channel delivery.
[0009]
[Means for Solving the Problems]
In order to solve the problem, the MPEG-4 IPMP extended version is applied to MPEG-2 after modification.
The IPMP control information needs to be included in the content as an explanation of the type of IPMP tool necessary for reproducing the content and the manner in which the content is protected. For this, an IPMP tool list and an IPMP tool container are used.
[0010]
The IPMP tool list indicates whether the tool is independent or has an alternative tool. The following information is provided for each tool in the IPMP tool list.
1. IPMP tool identifier. A particular IPMP tool is identified to others through its IPMP tool identifier and optional parameter description.
2. A possible alternative tool for a specific tool.
3. Optional tool list signature.
[0011]
The IPMP tool container contains the binary tool itself as its content. A given tool is carried as a payload of an IPMP tool container, and the tool format, package information, and IPMP tool ID are also specified in the tool container.
[0012]
The IPMP control graph describes the relationship between different elementary streams under different programs and different IPMP tools at the control point at which the IPMP tool should operate.
[0013]
An IPMP tool manager is a conceptual entity in a given IPMP terminal. When the terminal receives the tool list, the terminal passes it to the IPMP tool manager for syntax analysis and tool search. The tool manager also processes parameter descriptions, identifies alternative tools, and receives binary tools that arrive in the content.
[0014]
All IPMP tool messages take a route through the terminal. In order to represent this function, an entity called a message router (MR) is defined in the architecture. The MR communicates with a supported IPMP tool. Therefore, MR is an abstraction of the physical interface from another IPMP tool that is trying to communicate to one IPMP tool. It is assumed that message routing is done instantaneously.
[0015]
[Action]
On the content provider side, the media content is encoded using an existing encoding technique such as MPEG-2 or MPEG-4, and encrypted using an existing IPMP tool such as DES or AES. Prior to encoding, a watermark may be embedded in the content using a watermark tool AAA (an example). Thereafter, the media content is multiplexed using the MPEG2 system.
[0016]
At the same time, although it is necessary to construct IPMP control information, this information includes an IPMP tool list and optional tool containers. The IPMP control information is put into a PSI packet in the MPEG-2 transport stream or a special PES packet in the MPEG-2 program stream.
[0017]
Also, an IPMP tool list is generated based on the IPMP tool used to protect the content. This IPMP tool list includes an IPMP tool ID for designating a specific tool. It may include an optional parameter description that allows the terminal to select the preferred tool that performs the same function (eg DES), and is a known tool that can accomplish the same task at the terminal. A set of alternative tools may be included to allow one to choose from a class.
[0018]
An IPMP control graph is also constructed at the time of content production. For example, if the DES tool is used to encrypt the video elementary stream 0x01 after encoding, the control graph indicates that the DES tool is used to protect the elementary stream 0x01. And information on which control point (before decoding) should be called. If the tool AAA was used to put the watermark into the audio elementary stream 0x02 before encoding, the control graph should call the watermark tool AAA for the elementary stream 0x02 at any control point (after decoding) A clue to that effect is necessary.
[0019]
On the terminal side, the IPMP tool list is transferred to the IPMP tool manager in the MPEG-2 terminal. This tool manager checks if all tools needed to use the content are present on the terminal, and if any are missing, the terminal will follow the IPMP tool ID or parameter description to make the missing IPMP tool unique Search according to the method. The resulting IPMP tool is now available on the terminal and stored on the IPMP terminal for use with a predefined message interface.
[0020]
Since the IPMP control graph is also parsed by the terminal, the terminal can know which IPMP tool should be applied to which elementary stream at which control point.
Thereafter, the content stream is applied to a content decoder, a necessary IPMP tool is called, and the content is decrypted and reproduced on the terminal.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
The existing CA system in MPEG-2 does not provide a flexible content protection mechanism that is interoperable for both content owners and terminal vendors.
FIG. 1 shows a typical conventional CA system now.
A content owner in unit 1.0 is providing content via different content providers X, Y, Z in units 1.1, 1.4, 1.7. Here, different CA systems are used to protect the content for each different content provider shown in units 1.2, 1.5, 1.8.
[0022]
Accordingly, content decryption or content use terminals are also different from each other as indicated by units 1.3, 1.6, and 1.9.
Therefore, MPEG-2 content protected by CA system A cannot be played back by a terminal supporting CA system B, and how different CA systems from different vendors should protect the same content. Also, there is no complete specification for how the terminal knows about it.
[0023]
The present invention enables the following items in the MPEG-2 IPMP system.
1) Include IPMP control information including the tool list and tool container in the stream to let the content provider and content distributor know which IPMP tool to use and how to include the binary tool in the content. thing.
2) Define five new descriptors in the MPEG-2 system to hold the tool list, IPMP control graph, and IPMP tool container.
3) Define two new streams. An IPMP stream carrying IPMP information to be sent to individual tool instances, and an IPMP control information stream carrying IPMP control information using a transport stream.
4) Introduce the concept of tool manager and message router from MPEG-4 IPMP extension to MPEG-2 terminal.
[0024]
FIG. 2 is a schematic diagram showing a compliant MPEG-2 IPMP system proposed by the applicant.
Module 2.1 is a server that operates as either a content provider or a content distributor for different application scenarios.
The network layer for communication between the server and the compliant MPEG-2 IPMP terminal including transmission of the content stream from the server to the terminal is shown in module 2.3.
[0025]
First, the right authentication module of module 2.4 interacts with the server to obtain detailed usage rules as well as content access and usage rights. If the access right to the content is approved in module 2.4, the requested content stream is sent from the server to the terminal via the network layer.
In module 2.2, the content stream is transmitted along with IPMP control information including tool list, tool container, and IPMP stream. Details of the IPMP control information and the IPMP stream will be described later.
[0026]
The IPMP tool manager shown in module 2.5 is for parsing or interpreting IPMP control information. It parses the tool list and finds out which IPMP tools are needed to process the content. If there is no tool, the tool manager retrieves the tool from the tool container or retrieves the tool from somewhere through its own method. The tool manager is also responsible for selecting a tool from the list of alternative choices or interpreting the parameter description to select the desired tool.
The IPMP tool manager also parses the IPMP control graph to find out which tool should be used for which elementary stream at which control point. Details of this will be described later.
[0027]
The license / key and usage rules are stored in the terminal memory shown as module 2.6. The binary IPMP tool is stored in the terminal memory as a module 2.7 together with the corresponding tool ID. Each tool is constructed according to a general standardized interface, and is precompiled using a compiler adapted to the platform. For example, data encryption and decryption tools may be incorporated based on one common standardized interface. It is a Java virtual machine and may be pre-compiled into Java Byte Code (JBC) for all platforms / terminals, or it may be a dynamic link library (DLL) for Windows® compliant platforms / terminals. ) May be pre-compiled.
[0028]
Module 2.8 shows the predefined IPMP tool message communication interface that the IPMP tool provider and the terminal implementer should follow.
Here, in order to show each invented item, the detailed description is divided into four items.
[0029]
(1. IPMP control information)
The IPMP control information needs to be carried in the content stream. The IPMP control information includes necessary information such as a tool list and a tool container. The IPMP tool list specifies an IPMP tool required to process the content and enables selection thereof. Tool containers are those that carry binary tools in the content stream.
[0030]
Simply put, the IPMP control information describes what IPMP tools are needed to play the content and how the tools protect the content. The transport stream exists in the form of an IPMP control information table, and the program stream exists in the form of a PES packet when stream_id is the IPMP control information stream ID.
[0031]
(1.1 IPMP control information table in transport stream)
The PSI (program specific information) must include another table “IPMP control information table”. This is used to hold IPMP control information including an IPMP tool list descriptor and a tool container described later. PID assignment is shown below.
[0032]
[Table 1]
[0033]
(1.1.1 Allocation to sections of IPMP control information table)
Prior to insertion into the transport stream packet, the IPMP control information table may be segmented into one or more sections with the following syntax.
[0034]
[Table 2]
[0035]
(Semantic definition of fields in IPMP control information table section)
table_id-This is an 8-bit field that should always be set to 0x02 as shown in Table 1.
section_syntax_indicator-This section_syntax_indicator is a 1-bit field that should be set to '1'.
section_length-This is a 20-bit field. This starts immediately after the section_length field containing the CRC and defines the number of bytes of the section containing the CRC. The value of this field must not exceed 1048573. Its length is set to a large value. This is because the subsequent descriptor may include a Tool_Container_Descriptor described later.
ipmp_control_info_version—This 5-bit field is the version number of all IPMP control information tables. The version number increases by 1 modulo 32 when a change occurs in the information in the IPMP information table. If current_next_indicator is set to '1', version_number must be that of the IPMP control information table applicable at that time. If current_next_indicator is set to '0', version_number must be that of the next applicable IPMP control information table.
[0036]
current_next_indicator—a 1-bit indicator that, when set to '1', means that the sent IPMP control information table is currently applicable. If the bit is set to '0', it means that the sent IPMP control information table is not applicable yet, and is the next effective IPMP control information table.
section_number-This 8-bit field gives the number of this section. The section_number of the first section in the IPMP control information table must be 0x00. Each time one section increases in the IPMP control information table, it increases by 1 modulo 256.
[0037]
last_section_number—This 8-bit field specifies the number of the last section of the IPMP control information table (that is, the section with the largest section_number).
descriptor_length-This 16-bit field specifies the total length of the descriptor that immediately follows this field. ToolList_Descriptor must come immediately after this field. The details of the two descriptors are described in Section 3.
isSigned—This 1-bit field indicates that the IPMP control information table has a signature.
[0038]
Signature-Signature of all IPMP control information including tool list descriptor, tool container descriptor, etc.
CertType-The type of proof mechanism used.
NumCerts-Number of proofs included.
Certificate-An array of certificates.
Verifying_Tool_Id-ID of the tool required to validate the verification. This may be the terminal ID.
CRC_32—This is a 32-bit field containing a CRC value that sets the output of the decoder register as defined in Appendix B of reference [1] to 0 after processing the entire IPMP section.
[0039]
(1.2 IPMP control information in program stream)
With the IPMP control information, the entire IPMP information including the tool list descriptor in the program stream is obtained. When the value of stream_id is a predetermined value, IMPM control information is given as a PES packet.
[0040]
[Table 3]
[0041]
(Semantic definition of fields in IPMP control information)
packet_start_code_prefix-This packet_start_code_prefix is a 24-bit code. A packet start code for identifying the start of the packet is configured together with the map_stream_id that follows this. This packet_start_code_prefix is a bit string of “0000 0000 0000 0000 0000 0001” (0x000001 in hexadecimal).
map_stream_id-This is an 8-bit field whose value is always hexadecimal and 0x ??
ipmp_control_info_version—This 5-bit field is the version number of all IPMP control information tables. The version number increases by 1 modulo 32 when a change occurs in the information in the IPMP information table. If current_next_indicator is set to '1', version_number must be that of the IPMP control information table applicable at that time. If current_next_indicator is set to '0', version_number must be that of the next applicable IPMP control information table.
[0042]
ipmp_control_info_length—This ipmp_control_info_length is a 19-bit field and represents the total number of bytes in ipmp_control_info immediately after this field. The maximum value of this field is 524288 (bytes).
current_next_indicator—a 1-bit field that, when set to '1', means that the sent IPMP control information table is currently applicable. If the bit is set to '0', it means that the next IPMP control information table should be validated, not the sent IPMP control information table.
ipmp_control_info_version—This 5-bit field is the version number of all IPMP control information tables. The version number increases by 1 modulo 32 each time the definition of the IPMP information changes. If current_next_indicator is set to '1', this ipmp_control_info_version must be that of the IPMP control information table applicable at that time. If current_next_indicator is set to '0', ipmp_control_info_version must be that of the next applicable IPMP control information table.
descriptor_length-This descriptor_length is a 16-bit field, and specifies the total length of the descriptor immediately following this field. ToolList_Descriptor and IPMP scene graph descriptor must immediately follow this field. The details of this descriptor are described in Section 3.
marker_bit-This marker_bit is a 1-bit field whose value is '1'.
isSigned—This 1-bit field indicates that the IPMP control information table has a signature. Subsequent fields in the if bracket have the same meaning as in the last section.
[0043]
(2. New descriptor)
Programs and program element descriptors are structures that can be used to extend the definition of programs and program elements. All descriptors are formatted starting with an 8-bit tag value. The tag value is followed by an 8-bit descriptor length and a data field. The present invention defines a new IPMP tool list descriptor that holds an IPMP tool list, an IPMP control graph descriptor that represents the entire IPMP structure, and an IPMP tool container descriptor that carries a binary IPMP tool as content.
[0044]
The following semantics apply to both descriptors defined in the present invention and existing descriptors in MPEG-2.
descriptor_tag-This descriptor_tag is an 8-bit field that identifies each descriptor. The meaning is shown in the table below. 'X' in the TS or PS column indicates that the descriptor applies to either the transport stream or the program stream. The present invention introduces five new descriptors.
[0045]
[Table 4]
descriptor_length-This descriptor_length is an 8-bit field that specifies the number of bytes immediately following the descriptor_length field.
[0046]
(2.1 IPMP tool list descriptor)
The IPMP tool list descriptor includes a list of IPMP tools. This specifies all IPMP tools that should be used to play the content.
[0047]
[Table 5]
IpmpTool_Descriptor () will be defined in the next section.
[0048]
(2.2 IPMP tool descriptor)
IPMP_Tool_Descriptor includes information on a logical IPMP tool required by the terminal. The logic tool may be one of the following:
1. Vendor-specific IPMP tool specified by IPMP_ToolID,
2. One of the list of alternative IPMP tools,
3. IPMP tool specified by parameter description.
[0049]
[Table 6]
[0050]
(Semantic definition of fields in IPMP tool descriptor)
In the case of the list of alternative tools, the terminal selects the IPMP tool from the list of alternative IPMP tools. In the case of an IPMP tool parameter description, the terminal selects an IPMP tool that matches the criteria specified in the parameter description.
IPMP_ToolID-Logical IPMP tool identifier requested by the terminal
isAltGroup—IPMP_Tool contains a list of alternative IPMP tools. In this case, IPMP_ToolID is an identifier for a list of alternative IPMP tools, and the terminal transfers the information specified in the bit stream of IPMP_ToolID to a specific IPMP tool implemented by the terminal.
numAlternates-Number of alternative IPMP tools specified in IPMP_Tool [].
Alt_IPMP_ToolID-ID of a group of alternative IPMP tools that allow content usage.
isParametric-IPMP_Tool contains the parameter description of the IPMP tool. In this case, ipmp_ToolID is the identification of the IPMP tool described by the parameter, and the terminal transfers the information specified in the bit stream of IPMP_ToolID to the specific IPMP tool implemented by the terminal.
[0051]
(2.3 IPMP tool container descriptor)
There are many cases where the content itself carries a binary IPMP tool (lightweight). The terminal may retrieve and load the IPMP tool from the content, implement it, and use it immediately to play the content.
In the MPEG4 IPMP extended version, the IPMP tool is carried by the tool ES. However, in the case of MPEG2, it is easier to carry the binary IPMP tool within the newly defined IPMP tool container descriptor. One implementation of a given tool is carried as an IPMP tool container payload, description format, package information, and IPMP tool ID specified in the container.
[0052]
[Table 7]
[0053]
(Semantic definition of fields in IPMP tool container descriptor)
IPMP_Tool_ID-ID of the tool carried in this stream.
Tool_Format_ID-This is defined as 0x0001 for structured tools. Otherwise, Tool_Format_ID indicates the binary representation of the tool and is assigned by the registration authority.
Note: Structurally described tools include IPMP tools as a network of primitives that are combined to provide some or all of the IPMP functionality necessary for content usage. For example, the DES decryption algorithm can be described as an operation code calling sequence that receives a cipher code as input and outputs it as plain text as output.
[0054]
Tool_Package_Id indicates details of the package of the tool. Examples include CAB or Winzip, self-installation execution, and the like. The value is assigned by a registered certifier.
[0055]
(2.4 IPMP control graph descriptor)
The IPMP control graph descriptor includes a description of the overall IPMP protection scheme. It associates IPMP tools with individual streams that are protected.
[0056]
[Table 8]
[0057]
(Semantic definition of fields in IPMP control graph descriptor)
numProtectedProgram-This 8-bit field indicates how many programs are in the IPMP protection range. A number of 0 means it is a program stream. If it is one or more, it means that it is a transport stream and a for loop follows to trace to each program.
[0058]
For transport stream (numProtectedProgram> 0):
program_number-This program_number is a 16-bit field. This identifies a program that is protected by IPMP. This field cannot take a single value other than once in one version of the IPMP control information.
ipmp_length-This is a 16-bit field. This specifies the number of bytes of the IPMP descriptor that immediately follows the ipmp_length field.
NumProtectedStreams--Specifies the number of elementary streams (belonging to the above program) protected by IPMP.
stream_type—This is an 8-bit field that specifies the type of program element carried in a packet with a PID having a value specified by elementary_PID. The value of stream_type is defined in Table 11 described later.
elementary_PID—This is a 13-bit field that specifies the PID of the transport stream packet carrying the associated program element. If there is an IPMP descriptor immediately after this elementary_PID, it means that this particular elementary stream is within the protection scope defined by this IPMP descriptor.
[0059]
For program stream (numProtectedProgram = 0):
elementary_stream_id—This elementary_stream_id is an 8-bit field representing the value of stream_id in the PES packet header of the PES packet in which this elementary stream is stored.
[0060]
The IPMP descriptor is further defined as follows:
[0061]
(2.5 IPMP descriptor)
The IPMP descriptor specifies IPMP protection within a specific range. Includes specifications such as control points, sequences, and IPMP tool IDs.
[Table 9]
[0062]
(Semantic definition of IPMP descriptor fields)
IPMP_DescriptorID-A unique ID for this IPMP descriptor. Can be used to refer to this particular descriptor (protection scope).
IPMP_ToolID-A unique ID for the IPMP tool protecting this range.
NumControlPoints-Number of control points where the IPMP tool is active.
controlPoint-A value that designates an IPMP control point where the IPMP tool resides, and takes one of the following values.
[Table 10]
[0063]
sequenceCode-A value that specifies the relationship of the IPMP tool to the IPMP tool at the same control point, and takes one of the following: If this sequenceCode is either 0x01 or 0x02, the IPMP descriptor ID immediately follows with controlPoint, and designates which tool (instance) is the IPMP tool that follows before or after.
[Table 11]
[0064]
OpaqueData-Opaque data for controlling IPMP tools.
[0065]
(3. New stream)
Stream_id specifies the type and number of elementary streams defined in the following table. In this embodiment, Stream_id = 1111 1001 is assigned to the IPMP stream.
[0066]
[Table 12]
[Table 13]
[0067]
(3.1 IPMP stream)
The IPMP stream is a new elementary stream that carries IPMP information. Unlike MPEG4 extension, which has many IPMP elementary streams with each IPMP ES associated with one IPMP system in one content, in MPEG2, all IPMP tools in all IPMP tools at all control points Information is carried in one IPMP stream.
[0068]
Therefore, it is not necessary to clearly indicate the destination of all IPMP information in the IPMP stream.
[0069]
The present invention stipulates that an IPMP stream must be a concatenation of IPMP information messages having a syntax defined as follows.
[Table 14]
ipmp_descriptor_id and control_point clearly define the destination of this IPMP_info_message. This message must be forwarded via the message router to the IPMP tool defined in the corresponding IPMP descriptor at the specific control_point.
[0070]
(4. MPEG2 IPMP terminal)
The IPMP tool manager and message router can be directly ported from an MPEG4 IPMP extension terminal to an MPEG2 IPMP terminal.
FIG. 3 shows the architecture of an MPEG-2 IPMP terminal.
[0071]
(4.1 IPMP Tool Manager)
An IPMP tool manager is a conceptual entity in a particular IPMP terminal. When the terminal receives the tool list, it must forward it to the IPMP Tool Manager for parsing and tool search. The tool manager also processes the parameter description to seek alternative tools and receives binary tools that arrive as content.
[0072]
The following steps describe in detail the process of parsing and searching for tools on an MPEG-2 terminal.
1. The IPMP tool list descriptor is described in the IPMP control information table in the PSI and transferred to the tool manager.
2. The IPMP tool manager parses the information of the IPMP tool using the syntax described in the previous section.
3. The tool manager checks whether he has the required tools. If you do not have a tool, an attempt is made to obtain a tool. How to get the tools that are not available is a matter of implementation.
4. The IPMP tool manager is also responsible for parsing the IPMP tool container descriptor and searching for the binary IPMP tool contained in the PSI.
5. In addition, the IPMP Tool Manager is responsible for processing the parameter description.
[0073]
(4.2 IPMP message router)
All IPMP tool messages are transferred via the terminal. In order to represent this function, an entity called a message router (MR) is defined in the architecture. MR connects and communicates with supported IMPM tools. Therefore, it is an IPMP tool When, It is a physical interface to other IPMP tools that want to communicate with it. Message transfer is assumed to be instantaneous. In the case of an MR error, an appropriate error status is returned by the MR. In all other cases, the MR is required to transfer the information and the received response without changing the semantic meaning.
[0074]
The message interface is ported unchanged from the MPEG4 IPMP extension. However, it is not necessary to define a context ID for a tool instance in MPEG2. The IPMP descriptor ID should clearly define the specific tool instance that works with the control point to protect the specific elementary stream.
[0075]
(4.3 Manual authentication)
Tools that must communicate with each other or with a terminal must do so in a manner that meets the security requirements of the tool and the terminal. The tool must establish communication with the terminal and possibly with each other to ensure communication. Establishing a reliable communication channel between tools is achieved by utilizing a reliable and reliable authentication channel.
Messages that support mutual authentication can be ported directly from the MPEG4 IPMP extension to the MPEG2 framework.
[0076]
【The invention's effect】
The present invention addresses the problem of playing back MPEG-2 content protected in the same way on different types of terminals and protecting the same MPEG-2 content using different vendors' IPMP systems. It is solved by introducing.
[0077]
The IPMP control information can be carried in PSI in the case of an MPEG-2 transport stream and in PES packets in the case of an MPEG-2 program stream. The IPMP control information carries the IPMP tool list or IPMP tool container in the form of five new descriptors.
[0078]
The IPMP tool list identifies and allows the selection of IPMP tools required to process the content. The IPMP control graph represents the relationship between the IPMP tool and its protection range (control point). The tool container carries a binary tool in the content stream.
[0079]
The IPMP stream is an elementary stream in the MPEG-2 system and is used to carry an IPMP message to each individual IPMP tool instance.
[0080]
The IPMP tool manager and message router can be ported from the MPEG-4 IPMP extension to the MPEG-2 IPMP system.
[Brief description of the drawings]
FIG. 1 shows content distribution and protection in a different CA system of MPEG-2 as a conventional example.
FIG. 2 is a schematic diagram of a compliant MPEG-2 IPMP system.
FIG. 3 shows a diagram of an MPEG-2 IPMP terminal (“DB”: decoder buffer, “RB”: render buffer).
Claims (18)
所定の符号化技術を用いてコンテンツをコンテンツストリームに符号化する符号化手段と、
特定の制御ポイントにおいて複数のIPMPツールの中の少なくとも一つを用いて前記符号化されたコンテンツストリームを暗号化する暗号化手段と、
前記暗号化手段が前記符号化されたコンテンツストリームを暗号化するために使用した全てのIPMPツールの中の少なくとも1つのIPMPツールを特定するIPMPツールリストを生成する手段と、
前記少なくとも一つのIPMPツールがどのように前記コンテンツストリームを保護しているかを示し、かつ前記コンテンツストリームを暗号化するために前記少なくとも1つのIPMPツールが使用される特定の制御ポイントを示す情報を含むIPMP制御グラフを生成する手段と、
前記IPMPツールリスト及び前記IPMP制御グラフを、前記暗号化されたコンテンツストリームとともに、MPEG-2システムを利用するMPEG−2コンテンツストリームに多重化する手段とを備え、
前記特定の制御ポイントは前記符号化手段と前記多重化する手段の間のコンテンツプロバイダ側のデータフローに沿った位置を定義し、各IPMPツールは単独でまたは組み合わされて、所定の機能を実現するモジュールとして機能する、
ことを特徴とする装置。 Definitive common IPMP system with flexibility for delivery and protection of MPEG-2 content, an apparatus of a content provider,
Encoding means for encoding content into a content stream using a predetermined encoding technique;
Encryption means for encrypting the encoded content stream using at least one of a plurality of IPMP tools at a specific control point ;
Means for generating an IPMP tool list identifying at least one IPMP tool among all IPMP tools used by the encryption means to encrypt the encoded content stream ;
Said indicates whether at least one IPMP tool protects how the content stream, and the information indicating a specific control point at least one IPMP tool is used to encrypt the content stream Means for generating an IPMP control graph including :
The IPMP Tool List and the IPMP Control Graph, with the encrypted content stream, and means for multiplexing the MPEG-2 content stream using an MPEG-2 system,
The specific control point defines a position along the data flow on the content provider side between the encoding means and the multiplexing means, and each IPMP tool is singly or combined to realize a predetermined function. Function as a module,
A device characterized by that.
IPMPストリームをMPEG−2コンテンツストリームへ多重化する手段と
を更に備えたことを特徴とする請求項1記載の装置。It means for generating an IPMP stream to carry information related to the time variable IPMP to be transmitted to each individual tool instance during content use in the terminal side,
The apparatus of claim 1, further comprising means for multiplexing the IPMP stream into an MPEG-2 content stream.
複数の制御ポイントと、
コンテンツプロバイダから受信したMPEG-2コンテンツストリームから、暗号化されたコンテンツストリームと、IPMPツールリストを含むIPMP制御情報と、IPMP制御グラフとを分離して得るデマルチプレクサ手段と、
前記デマルチプレクサ手段により得られたIPMPツールリストを解釈し、かつ、前記デマルチプレクサ手段により得られたIPMP制御グラフを解釈して、どのツールが、どの制御ポイントで、どのストリームを制御するかについての情報を得る解釈手段と、
前記解釈手段により得られた情報に基づき、前記暗号化されたコンテンツストリームを復号して再生するコンテンツ再生手段とを備え、
前記複数の制御ポイント中の特定の制御ポイントにおいて、複数のIPMPツールの少なくとも1つが使用され、
前記特定の制御ポイントは、前記デマルチプレクサ手段と前記コンテンツ再生手段の間にある、コンテンツプロバイダ側のデータフローに沿った位置を定義し、
各IPMPツールは単独でまたは組み合わされて所定の機能を実現するモジュールとして機能し、
前記IPMPツールリストは前記複数のIPMPツールの少なくとも1つを特定し、
前記IPMP制御グラフは、前記少なくとも1つのIPMPツールによる前記コンテンツストリームの保護方法を示し、かつ、前記少なくとも1つのIPMPツールが前記暗号化されたコンテンツストリームを復号するために使用される特定の制御ポイントを示す情報を含み、
前記コンテンツ再生手段は、前記解釈手段により得られたIPMPツールリストが特定するIPMPツールを、前記解釈手段により得られた制御グラフが示す制御ポイントに、前記制御グラフが示す保護方法に基づき作用させることで前記暗号化されたコンテンツストリームを復号する
ことを特徴とする装置。 Definitive common IPMP system with flexibility for delivery and protection of MPEG-2 content to a device MPEG-2 IPMP terminal side,
Multiple control points,
A demultiplexer means for separately obtaining an encrypted content stream, IPMP control information including an IPMP tool list, and an IPMP control graph from an MPEG-2 content stream received from a content provider;
Interpret the IPMP tool list obtained by the demultiplexer means and interpret the IPMP control graph obtained by the demultiplexer means to determine which tool controls which stream at which control point. Interpretation means to obtain information;
Content reproducing means for decrypting and reproducing the encrypted content stream based on the information obtained by the interpreting means,
At a particular control point in the plurality of control points, at least one of a plurality of IPMP tools is used;
The specific control point defines a position along the data flow on the content provider side between the demultiplexer means and the content playback means,
Each IPMP tool functions as a module that realizes a predetermined function by itself or in combination,
The IPMP tool list identifies at least one of the plurality of IPMP tools;
The IPMP control graph indicates how the content stream is protected by the at least one IPMP tool and the specific control point used by the at least one IPMP tool to decrypt the encrypted content stream Including information indicating
The content reproduction means causes the IPMP tool specified by the IPMP tool list obtained by the interpretation means to act on the control point indicated by the control graph obtained by the interpretation means based on the protection method indicated by the control graph. And decrypting the encrypted content stream .
前記解釈手段は、前記パラメータ記述を解釈し、その解釈結果に基づき、暗号化されたコンテンツストリームを復号するために使用するIPMPツールの選択を行うことを特徴とする請求項6記載の装置。 Information indicating an IPMP tool list and an alternative tool having a function equivalent to the IPMP tool specified by the IPMP tool list is described in the parameter description.
Said interpretation means, said interprets parametric description, based on the interpretation result, apparatus according to claim 6, characterized in that the selection of IPMP tools used to decrypt the encrypted content stream.
前記解釈手段は、前記パラメータ記述を解釈し、その解釈結果に基づき、暗号化されたコンテンツストリームを復号するために使用するIPMPツールの選択を行い、IPMP制御情報内のIPMPツール容器からIPMPツールを抽出して、関連する各IPMPツールのツールID、ツールフォーマットID及びツールパッケージIDを取得する
ことを特徴とする請求項5記載の装置。 Information indicating an IPMP tool list and an alternative tool having a function equivalent to the IPMP tool specified by the IPMP tool list is described in the parameter description .
Said interpreting means interprets the parameter description, based on the interpretation result, we have row selection of IPMP tools used to decrypt the encrypted content stream, IPMP Tool from IPMP Tool container in IPMP Control Information extracts, associated tool ID of each IPMP tool, according to claim 5, wherein <br/> obtaining the tool format ID and tool package ID.
IPMP制御情報ストリームから、IPMPツールリストと、少なくとも1つのIPMPツールを含むIPMPツール容器とを抽出する手段をさらに備えたことを特徴とする請求項5記載の装置。 The MPEG-2 content stream includes an IPMP related stream including an IPMP control information stream and an IPMP stream,
6. The apparatus of claim 5 , further comprising means for extracting an IPMP tool list and an IPMP tool container including at least one IPMP tool from the IPMP control information stream.
前記MPEG-2コンテンツストリームから、ツールID、ツール位置、ツールリスト及びツール制御グラフを含むIPMPツールに関する情報を取り出す手段をさらに備えた、ことを特徴とする請求項5記載の装置。 The MPEG-2 content stream is protected by an IPMP tool,
6. The apparatus according to claim 5, further comprising means for extracting information about an IPMP tool including a tool ID , a tool position, a tool list, and a tool control graph from the MPEG-2 content stream.
前記IPMPツール容器からIPMPツールを取り出して実装する手段をさらに備えたことを特徴とする請求項5記載の装置。 The MPEG-2 content stream is protected by an IPMP tool, and some IPMP tools are carried in a content stream in a defined IPMP tool container,
6. The apparatus of claim 5 , further comprising means for removing and mounting the IPMP tool from the IPMP tool container .
前記コンテンツ再生手段は、前記解釈結果に基づき、欠如しているツールを検索し、関連するIPMPツールを定義付けされた制御ポイントで、オーディオ及びビデオストリームに適用することにより、前記MPEG-2ストリームを処理する、ことを特徴とする請求項5記載の装置。 The interpreter interprets IPMP control information carried in the MPEG-2 content stream , parses an IPMP tool list, interprets an IPMP control graph,
The content playback means searches for the missing tool based on the interpretation result, and applies the associated IPMP tool to the audio and video stream at a defined control point, thereby processing apparatus of claim 5, wherein a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002257929A JP4308493B2 (en) | 2001-09-03 | 2002-09-03 | Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-265908 | 2001-09-03 | ||
JP2001265908 | 2001-09-03 | ||
JP2002257929A JP4308493B2 (en) | 2001-09-03 | 2002-09-03 | Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003199064A JP2003199064A (en) | 2003-07-11 |
JP2003199064A5 JP2003199064A5 (en) | 2008-04-24 |
JP4308493B2 true JP4308493B2 (en) | 2009-08-05 |
Family
ID=27615139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002257929A Expired - Lifetime JP4308493B2 (en) | 2001-09-03 | 2002-09-03 | Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4308493B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1783947A1 (en) * | 2004-08-16 | 2007-05-09 | Matsushita Electric Industries Co., Ltd. | Transmitting apparatus and receiving apparatus |
WO2006075904A1 (en) * | 2005-01-17 | 2006-07-20 | Electronics And Telecommunications Research Institute | Method for representing description language and data structure to update ipmp tool, ipmp tool updating method and client apparatus using the same |
WO2006107168A1 (en) | 2005-04-08 | 2006-10-12 | Electronics And Telecommunications Research Intitute | Tool pack structure and contents execution device |
-
2002
- 2002-09-03 JP JP2002257929A patent/JP4308493B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003199064A (en) | 2003-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7467297B2 (en) | Apparatus of a flexible and common IPMP system for MPEG-2 content distribution and protection | |
JP4311899B2 (en) | Method and apparatus for content distribution and protection | |
KR100411846B1 (en) | Digital contents distribution system, digital contents distribution method, roaming server, information processor, and information processing method | |
US8126810B2 (en) | Apparatus and method of flexible and common IPMP system for providing and protecting content | |
CN100341015C (en) | Method and apparatus for controlling the distribution of digitally encoded data in a network | |
WO2012060643A1 (en) | Key rotation in live adaptive streaming | |
JP2010518781A (en) | Package media encryption using stored key table | |
CN103155454B (en) | Digital multimedia broadcast with valid data transmission for restricting access in transmission stream packet including program association table (PAT) | |
JP2007518294A (en) | Video file encryption method and digital copyright management method using the same | |
EP2204737A1 (en) | Method, device and system for realizing digital rights management service under broadcast environment | |
US7940930B2 (en) | Native scrambling system | |
KR20050010817A (en) | Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams | |
JP4308493B2 (en) | Apparatus for flexible and common IPMP system for distribution and protection of MPEG-2 content | |
KR100840200B1 (en) | Apparatus and method of packaging/unpackaging h.264 movie file streamed or downloaded | |
JP2003078519A (en) | Apparatus and method for flexible and common ipmp system for providing and protecting content | |
CN101184223A (en) | Method for encrypting WMA/WMV/ASF/ASX files | |
US8306224B2 (en) | Transmitter apparatus for MPEG-4 IPMP extended ISMA media stream | |
Ji et al. | MPEG-4 IPMP extension for interoperable protection of multimedia content | |
JP5613169B2 (en) | System updatable message transport | |
KR20050000498A (en) | METHODS OF USE OF IPMP DATA FOR MPEG-n IPMP(INTELLECTUAL PROPERTY MANAGEMENT AND PROTECTION) | |
Ji et al. | MPEG 4 IPMP Extension |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20080310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090407 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090501 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4308493 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |