JP2005318656A - メディア・コンテンツの連続制御および保護のための方法および装置 - Google Patents

メディア・コンテンツの連続制御および保護のための方法および装置 Download PDF

Info

Publication number
JP2005318656A
JP2005318656A JP2005199949A JP2005199949A JP2005318656A JP 2005318656 A JP2005318656 A JP 2005318656A JP 2005199949 A JP2005199949 A JP 2005199949A JP 2005199949 A JP2005199949 A JP 2005199949A JP 2005318656 A JP2005318656 A JP 2005318656A
Authority
JP
Japan
Prior art keywords
stream
content
information
cmps
cmpo
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.)
Granted
Application number
JP2005199949A
Other languages
English (en)
Other versions
JP4598616B2 (ja
Inventor
Talal G Shamoon
ジー. シャムーン,タラル
Ralph D Hill
ディー. ヒル,ラルフ
Chris D Radcliffe
ディー. ラドクリフ,クリス
John P Hwa
ピー. フワ,ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intertrust Technologies Corp
Original Assignee
Intertrust Technologies Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22141634&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2005318656(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intertrust Technologies Corp filed Critical Intertrust Technologies Corp
Publication of JP2005318656A publication Critical patent/JP2005318656A/ja
Application granted granted Critical
Publication of JP4598616B2 publication Critical patent/JP4598616B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • H04H60/23Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】 ストリーミング方式のメディア・コンテンツを保護するための新規な装置を提供する。
【解決手段】 装置は、コンテンツ・ストリームまたはオブジェクトを管理するための制御手段、コンテンツ・ストリームまたはオブジェクトを制御手段の制御の下で解読するための解読手段、およびコンテンツ・ストリームまたはオブジェクトの実際の使用を追跡するためのフィードバック手段を含む。制御手段は、ストリーミング方式のコンテンツの一部としてまたは側波帯チャンネルを通じて受信するルールに従って作用する。ルールは、コンテンツをコピーまたは転送できるか否か、および受信したコンテンツを1つの装置で「チェックアウト」して第二の装置で使用できるか否か、またどのような状況でこれができるかを含めて、コンテンツの許容される使用法を指定する。
【選択図】 図1

Description

本発明は、主にコンピュータおよび/または電子セキュリティに関する。より詳しくは、本発明はストリーミングしたフォーマットで情報を保護するためのシステムおよび方法に関する。
デジタルメディアのストリーミングは、主にパケットの「ストリーム」で受け取り、表示またはレンダリングするよう設計されたデジタル情報のシーケンスからなる。例には、ストリーミングしたオーディオ・コンテンツ、ストリーミングされたビデオ等が含まれる。
デジタルメディア・ストリームはますますコンテンツ配送の重要な手段となりつつあり、いくつかの採用、提案あるいはデファクトの標準の基礎を形成している。しかしながら、このフォーマットの受け入れは、デジタルメディア・ストリームを複製して不正に普及する容易さから遅れており、コンテンツオーナーがデジタル手段のストリーミングによって重要なプロパティを配布させることに難色を示すことになっている。このため、デジタルメディア・ストリームを保護できる方法論が必要となっている。
本発明に一致して、本明細書は、ストリーミングしたフォーマットで与えられる情報の保護のための新しいアーキテクチャを説明する。このアーキテクチャは、MPEG−4仕様(ISO/IEC14496.1)に従ってコード化したコンテンツ(内容)をレンダリングするシステムに似た一般的システムの文脈で説明するが、一定の修正と、説明するシステムがMPEG−4標準とある点で異なるという条件付である。MPEG−4実施例およびMP3仕様(ISO/IEC TR11172)によりコード化したコンテンツをレンダリングするよう設計したシステムを含む広範囲な実施例を説明する。
本発明の態様によると、このアーキテクチャはシステム設計態様および情報フォーマット態様に関与する。システム設計態様には、コンテンツ保護機能、制御機能、およびシステムの活動をモニタするためのフィードバックイネーブル制御機能の組み込みを含む。情報フォーマット態様には、ルール/制御情報の情報ストリームへの組み込みと、暗号化および電子すかし(ウォーターマーキング)などのメカニズムによるコンテンツの保護が含まれる。
本発明に一致するシステムおよび方法は、コンテンツ保護およびデジタル権利管理を実行する。本発明に一致するストリーミング・メディア・プレイヤーは、デジタルビット・ストリームを受け入れるよう設計されたポートを含む。デジタルビット・ストリームは、少なくとも部分的に暗号化されたコンテンツと、少なくともコンテンツの一部の解読に適した少なくとも1つのキーを含むコンテンツの利用を制御するよう設計された制御情報を含む安全なコンテナとを含む。メディア・プレイヤーはまた、安全なコンテナを開いて暗号キーを取り出すための手段と、コンテンツの暗号化部分を解読するための手段を含む制御装置を含む。
ここで本発明の原理に一致した添付の図面に示す実施例を詳細に参照する。
次の米国特許および出願は、それぞれ本出願の被譲受人に譲渡されており、参照文献としてその全体を本書に組み込む。Ginter他、「セキュア・トランザクション・マネージメントおよび電子的権利保護のためのシステムおよび方法」、1997年11月4日出願米国特許出願番号第08/964,333号(「Ginter’333」)、Ginter他、「安全な電子商取引、電子トランザクション、商業プロセス制御オートメーション、分散コンピューティング、および権利保護のための信頼されるインフラサポートシステム」1996年8月12日出願米国特許出願番号08/699,712号(「Ginter’712」)、Van Wie他、「デジタル権利管理情報を安全でない通信チャンネルを通じて安全に配信するためのステガノグラフィック技術」1996年8月12日出願米国特許出願番号第08/689,606号(「Vai Wie」)、Ginter他、「ソフトウェアいたずら防止および安全な通信」、1996年8月30日出願、米国特許出願番号第08/706,206号(「Ginter’206」」、Shear他、「閉じた&接続された機器中の保存メディア電子権利管理のための暗号方法、装置&システム」、1997年5月15日出願米国特許出願番号第08/848,077号(「Shear」)、Collberg他、「ソフトウェアセキュリティ強化のための混乱技術」、1998年6月9日出願米国特許出願番号第09/095,346号(「Collberg」)、Shear、「データベース利用計量および保護システムおよび方法」、1989年5月2日発行米国特許第4,827,508号(「Shear特許」)。
図1は、ストリーミングしたマルチメディア・コンテンツを受け入れ、デコードおよびレンダリングすることができるメディアシステム1を示す。これは一般的なシステムだが、MPEG−4仕様に基づく要素を含む。メディアシステム1は、ソフトウェアモジュール、ハードウェア(集積回路を含む)または組み合わせを含むことができる。ある実施例では、メディアシステム1は、Ginter’333出願に述べる保護された処理環境(PPE)を含むことができる。
図1では、ビット・ストリーム2はシステム1が受ける入力情報を表す。ビット・ストリーム2は、接続を介して外部ネットワーク(インターネット接続、ケーブルフックアップ、衛星放送のラジオ送信等)に受け取られるか、またはDVDプレイヤーなどのポータブルメモリデバイスから受けることができる。
ビット・ストリーム2は、編成ストリーム3、オーディオ・ストリーム4、ビデオ・ストリーム5、制御ストリーム6、およびInfoストリーム31を含む関連情報ストリームのグループからなる。これらストリームはそれぞれビット・ストリーム2全体にコード化される。これらはそれぞれストリームのカテゴリーを表し、例えば、ビデオ・ストリーム5は多数の別個のビデオ・ストリームから構成することができる。
これらストリームは一般に次のようなMPEG−4フォーマットで記述されるストリームに対応する。
編成ストリーム3は一般に、BIFSストリームおよびOD(「オブジェクト・ディスクリプタ」)ストリームに対応する。
オーディオ・ストリーム4およびビデオ・ストリーム5は一般にオーディオおよびビデオ・ストリームに対応する。
制御ストリーム6は一般にIPMPストリームに対応する。
オーディオ・ストリーム4は、圧縮した(そしておそらく暗号化した)デジタル・オーディオ情報を含む。この情報を使って、メディア(媒体)システム1でレンダリングし(再生し)、出力する音を作成する。オーディオ・ストリーム1は複数のオーディオ・ストリームを表すことができる。これら複数のストリームが共に作用してオーディオ出力を構成したり、代替オーディオ出力を表すことができる。
ビデオ・ストリーム5は、圧縮した(そしておそらく暗号化した)デジタルビデオ情報を含む。この情報を使って、メディアシステム1でレンダリングし、出力する画像とビデオを作成する。ビデオ・ストリーム5は複数のビデオ・ストリームを表すことができる。これら複数のストリームが共に作用してビデオ出力を構成したり、代替ビデオ出力を表すことができる。
編成ストリーム3は、レンダリングする作品に関連する編成情報とメタデータを含む。この情報は、オーディオおよびビデオ・ストリームをオブジェクトにグループ化するツリーその他編成デバイスを含むことができる。この情報はまた、作品全体、オブジェクトまたは個々のストリームに関連するメタデータを含むことができる。
制御ストリーム6は、一般にヘッダ情報とメッセージに分かれる制御情報を含む。ヘッダ情報は、各離散メッセージの識別子を含む。メッセージのコンテンツについては以下に詳しく述べるが、暗号キーとコンテンツ(内容)の利用に関するルールを含むことができる。
Infoストリーム31は、カバーアートを表すグラフィックス、詩のテキスト、コード化したシート音楽その他表記、独立した宣伝コンテンツ、コンサート情報、ファンクラブ情報などを限定せずに含むビット・ストリーム2の他のコンポーネントのコンテンツに関連する追加情報を運ぶ。Infoストリーム31はまた、メディアシステム1のソフトウェアまたはファームウェアの更新、ウォーターマーク等のコンテンツ固有機能のアルゴリズムのインプリメンテーション等のシステム管理と制御情報および/またはコンポーネントを運ぶことができる。
これらストリームはそれぞれ情報のパケットからなる。ある実施例では、各パケットは長さ32バイトである。1つの通信チャンネル(ケーブル、バス、赤外線または無線接続等)にストリームそれぞれからのパケットが入っているため、パケットは特定のストリームに属すると特定する必要がある。ある実施例では、これは特定のストリームを特定し、そのストリームの一部である次のパケットの数を指定するヘッダを含むことによって行う。他の実施例では、各パケットは個々のストリーム情報を含むことができる。
例としてのヘッダ201を図2に示す。このヘッダは、主に編成、オーディオおよびビデオ・ストリームに用いる。制御ストリームのヘッダは以下に説明する。ヘッダ201はフィールド202を含み、これはヘッダ201をヘッダとして特定するビット・パターンを含む。フィールド203は、特定タイプのストリーム(オーディオ・ストリーム、編成ストリーム、制御ストリーム等)を識別する。フィールド204はエレメンタリー・ストリーム識別子(ES_ID)が入り、これは特定のストリームの識別に用いられ、同時に複数の特定ストリームタイプのストリームに遭遇する場合に用いることができる。フィールド207にはタイム・スタンプが入り、システムがストリームのレンダリングを含む各種ストリームの同期に用いる。合成ブロック11は、例えばレンダリング開始からの経過時間を記録することができる。タイム・スタンプ207は、合成ブロック11が用いて、各オブジェクトをいつレンダリングすることになっているか決定する。そのため、タイム・スタンプ207はレンダリング開始からの経過時間を指定し、合成ブロック11はその経過時間を用いて関連するオブジェクトをいつレンダリングするか決定することができる。
フィールド205には統御(ガバナンス)インジケータが入っている。フィールド206は識別されたストリームの一部である次のパケット数を識別する。その場合、関連情報はバイナリ・フォーマットでコード化される。例えば、フィールド202はヘッダを示すと識別される任意のビット・シーケンスを含むことがあり、フィールド203は2ビット含むことがあるため、4種類のストリームタイプのコード化が可能である。
図1に戻ると、システム1はDemux(デマルチプレクサ)7を含み、これは入力ビット・ストリーム2を受け入れ、個々のストリーム(エレメンタリー・ストリームまたは「ES」と呼ばれることがある)をシステムの該当する機能ブロックにルーチングする。
ビット・ストリーム2は、図3に示すフォーマットでコード化することができる。この図において、ヘッダ301はビット・ストリーム中でパケット302からパケット308に遭遇する。
Demux7がヘッダ301に遭遇すると、Demux7はヘッダ301をヘッダと認識し、ヘッダ情報を使ってパケット302−305を編成ストリームパケットと認識する。Demux7はこの情報を使ってこれらパケットを編成ブロック8にルーチングする。Demux7は、入っている情報を使ってヘッダ306を同様に取り扱い、パケット307から308をAV(「オーディオ・ビデオ」)ブロック9にルーチングする。
AVブロック9はデコンプレッサ10を含み、これはオーディオ・ストリーム4およびビデオ・ストリーム5からエレメンタリー・ストリームを受け取り、これらストリームを解凍する。解凍されると、ストリーム情報は(ビデオ・ディスプレイ、スピーカー等を通して)操作および出力可能なフォーマットに入れられる。複数のストリームが存在する場合(2個のビデオ・ストリームがそれぞれビデオ・シーケンスの態様を記述する)、AVブロック9はED IDを使って各パケットを該当するストリームに割り当てる。
編成ブロック8は、特定のオブジェクトに入った特定のオーディオ・ストリームとビデオ・ストリームを識別するポインタ情報と、例えばオブジェクトの場所、いつ表示するか(オブジェクトに関連するタイム・スタンプ等)、他のオブジェクトとの関係(あるビデオ・オブジェクトが他のビデオ・オブジェクトの前か後か等)を記述するメタデータ情報を保存する。この編成は階層的に維持し、個々のストリームを最下位レベルで表し、ストリームをその上のレベルでオブジェクトにグループ化し、完全なシーンをさらに上のレベルにして、作品全体を最高レベルにすることができる。
図4は、編成ブロック8が作品の表現を保存する1方法を示す。この図において、ツリー401はオーディオ・ビジュアル作品全体を表す。ブランチ402は、作品の高レベルの編成を表す。これには、例えば、特定のシーンに関連するビデオあるいはオーディオとビデオを全て含むことができる。
サブブランチ403は、関連するビデオ・オブジェクトのグループを表す。このようなオブジェクトはそれぞれスクリーン全体、あるいはスクリーン内の個々のエンティティを含むことができる。例えば、サブブランチ403は、あるショットから次にかけて大きく変化しない背景を表すことができる。ビデオが2つの参照ポイント間を動く場合(カメラ視点が1つの顔から別の顔に変化する会話等)、サブブランチ404は第2の視点に用いられる第2の背景を表すことができる。
ノード405および406は、関連グループに入っている特定のビデオ・オブジェクトを表す。ノード405は、例えば遠い山脈を表しながら、ノード406は人物の1人の直後の木を表すことができる。
ノードはそれぞれ、ノードが用いる情報の入ったストリームを表す特定のES_ IDを指定しあるいは含む。ノード405には例えば、山脈を表す圧縮した(そしておそらく暗号化した)デジタル情報の入った特定のビデオ・ストリームを識別するES_ID40が入る。
合成ブロック11は、編成ブロック8およびAVブロック9から入力を受け入れる。合成ブロック11は編成ブロック8からの入力を使って、ある時に特定のオーディオ・ビジュアル・エレメントのどれが必要かを決定し、それらエレメントの編成と関係を決定する。合成ブロック11はAVブロック9から解凍したオーディオ・ビジュアル・オブジェクトを受け取り、これらオブジェクトを編成ブロック8からの情報の指定する通りに編成する。そして合成ブロック11は編成された情報をレンダリング・デバイス12に渡すが、これはテレビ・スクリーン、ステレオ・スピーカ等である。
制御ブロック13は制御ストリーム6を介して受け取るか、および/またはオーディオ・ストリーム4およびビデオ・ストリーム5を含む他のストリームにウォーターマークあるいはステガノグラフィックにコード化される制御メッセージを保存する。1つの制御フォーマットを図5に示すが、これは制御メッセージ501を示す。制御メッセージ501はヘッダ502およびメッセージ503からなる。ヘッダ502はフィールド608からなり、これは次の情報をヘッダとして識別するビット・パターンを含む。すなわち、これを編成ストリームにとってヘッダとして識別するストリーム・タイプ・フィールド509、この特定の制御メッセージを識別するIDフィールド504、このメッセージが制御するESを識別するポインタ・フィールド505、この制御メッセージが制御するストリームの特定の部分を識別するタイム・スタンプ・フィールド507(これはストリーム全体が制御されていることを示すことができる)、メッセージ503の長さ(バイト)を指定する長さフィールド506である。メッセージ503は、図3に示す一般的フォーマットを使って、ヘッダ502の次のパケットを含むことができる。図示の例では、制御メッセージ501は、IDフィールド504でコード化された一意のID111000を持つ。この制御メッセージは、ポインタ・フィールド505に示すように、ES14および95を制御する。関連するメッセージは、長さフィールド506に示すように1,024バイト入る。
別の実施例では、制御とコンテンツの関連は編成ブロック8で作り、これはストリーム、オブジェクト等に関連するメタデータと共に、特定の制御メッセージへのポインタを保存する。しかしながら、これはユーザの発見やいたずらからこの関連を保護するのに望ましいという点で不利である。制御ブロック13は一般にあらゆる出来事で保護しなければならないため、このブロックに関連を保護することは、編成ブロック8の保護を必要ないものとする。
制御ブロック13はシステム1において制御ライン14、15および16を介して制御を実施し、編成ブロック8、AVブロック9および合成ブロック11の態様をそれぞれ制御する。これら制御ラインはそれぞれ両方向通信が可能である。
制御ライン14および15がAVブロック・ストリームフロー・コントローラ18および編成ブロックストリームフロー・コントローラ17と通信しているところを示す。これらストリームフロー・コントローラは、制御ブロック13が制御する機能性を持つ。図の実施例では、ストリームフロー・コントローラは、ストリームフロー・コントローラの処理している情報と共に2段階パイプラインの第1段階として、関連する機能ブロックに渡されるところを示す。これによって制御機能をシステムのコンテンツ操作およびディスプレイ機能から隔離することが可能となり、ブロックの基礎となる機能を変えることなく制御を追加できる。別の実施例では、ストリームフロー・コントローラは関連する機能ブロックに直接統合される。
ストリームフロー・コントローラ17および18は、暗号エンジン19および20をそれぞれ含む。これら暗号エンジンは、制御ブロック13の制御の下で動き、Demux7から受け取った暗号化されたパケットストリームを解読および/または暗号的に検証する(セキュアなハッシュ、メッセージ認証コード、および/またはデジタル署名機能等)。解読と検証は、ストリームの保護要件に従って選択的あるいは任意に行うことができる。
暗号エンジン19および20は比較的複雑で、例えば、暗号ハッシュ、メッセージ認証コード計算、および/または暗号的検証プロセスを実行する検証カルキュレータを含むことができる。さらに、以下に詳しく説明するように、追加タイプの統御関連処理も用いることができる。別の実施例では、1つのストリームフロー・コントローラを編成ストリーム3およびオーディオ・ビデオ・ストリーム4−5両方に用いることができる。これによって、システム1によって使用されるコストとスペースが減る。システム1は複数のAVブロックを含み、それぞれが別のオーディオまたはビデオ・ストリームを平行して取り扱うことができるため、これらの減少は大きい。
ストリームフロー・コントローラが1つのブロックに集中している場合、これらはDemux7に直接組み込むことができ、Demux7はストリームを機能ブロックにルーチングする前に統御処理を取り扱うことができる。このような実施例によってビット・ストリーム2全体の制御された解読または検証が可能になり、この解読または検証は個々の機能ブロックへストリームをルーチングする前に発生させることができる。Demux7は(ヘッダ情報を暗号化するであろう)機能ブロックへのストリームのルーチングに必要なヘッダ情報を検出あるいは読み取る能力がないため、ビット・ストリーム2全体の暗号化は(個々のESの個々の暗号化とは反対に)、ストリーム・コントローラ機能をDemux7に組み込むこと無しでは困難あるいは不可能である。
上述の通り、ビット・ストリーム2に含まれる個々のストリームはそれぞれ個々に暗号化できる。暗号化したストリームは、統御インジケータ205として図2に示すように、ストリームのヘッダの特定のインジケータによって識別される。
Demux7によって該当する機能ブロックにヘッダが渡されると、そのブロックに関連するストリームフロー・コントローラはヘッダを読み取り、次のパケットが暗号化されているか、そうでなければ統御の対象か否かを判断する。統御を用いていないことをヘッダが示すと、ストリームフロー・コントローラはヘッダとパケットを機能ブロックを介して変更なしに渡す。統御インジケータ205は、従来通りにコード化したコンテンツ(未保護のMPEG−4コンテンツ等)を統御インジケータなしと認識して、通常処理を介して渡すよう設計することができる。
ストリームフロー・コントローラがセットされた統御インジケータを検出した場合、そのストリームに関連するES_IDと現在のパケットに関連するタイム・スタンプを制御ライン14または15によって制御ブロック13に渡す。すると制御ブロック13はES_IDとタイム・スタンプ情報を使ってどの制御メッセージがそのESに関連するか識別する。そして関連するメッセージが呼び出され、おそらく処理されて統御のために用いられる。
単純な統御ケースを図6に示すが、これは図1の機能ブロックを使って発生するステップを示す。ステップ601において、Demux7はヘッダに遭遇し、ヘッダがAVストリームの一部であると判断する。ステップ602において、Demux7はヘッダをAVストリーム・コントローラ18に渡す。ステップ603において、AVストリーム・コントローラ18はヘッダを読み取り、統御インジケータがセットされていると判断し、パス604に沿ったそれ以降の処理をトリガする。ステップ605では、AVストリーム・コントローラ18はヘッダからES_IDとタイム・スタンプを取得し、これらを制御ライン15に沿って制御ブロック13に送る。ステップ606において、制御ブロック13はES_IDを調べ、ES_IDが特定の制御メッセージに関連すると判断する。ステップ611において、特定のESに関連する制御メッセージが1個以上ある場合、制御ブロック13はタイム・スタンプ情報を使って制御情報から選択する。ステップ607において制御ブロック13は該当する制御メッセージにアクセスし、解読および/または検証のための暗号キーを取得する。ステップ608において、制御ブロック13は制御ライン15に沿ってAVストリーム・コントローラ18に暗号キーを渡す。ステップ609において、AVストリーム・コントローラ18は暗号キーを暗号エンジン20への入力として用い、エンジンはヘッダの次のパケットを、Demux7から受け取ると同時に解読および/または検証する。そしてステップ610において、解読したパケットはAVブロック9に渡され、これが従来の方法でパケットを解凍および処理する。
タイム・スタンプ情報は、特定のESに該当する制御メッセージを変更することが望ましい時に有益である。たとえば、1つのキー(あるいは多数のキーであっても)を破壊する攻撃者がコンテンツを利用できないよう、キーの異なるストリームの様々な部分をコード化することは有益である。これは、同じストリームを持った多数の制御メッセージを特定期間有効な各制御メッセージに関連させることで可能である。するとタイム・スタンプ情報を使って特定の時にどの制御メッセージ(およびキー)を使うかを選択することができる。あるいは、1つの制御メッセージを用いることができるが、制御ストリームを介して更新した情報が渡され、この更新は新しいタイム・スタンプと新しいキーから構成される。
別の実施例では、制御ブロック13は、タイム・スタンプ情報を使って適切なストリームフロー・コントローラに適切なキーをプロアクティブに送り、いつキーが必要か決定することができる。これによって全体の待ち時間が減少する。
図1の制御ライン16は、情報が編成ブロック8およびAVブロック9から合成ブロック11に渡された時に活動を開始し、完成した作品をレンダリング装置12によってレンダリングする準備をする。合成ブロック11がオブジェクトをレンダリング装置11に送ると、合成ブロック11はスタート・メッセージを制御ブロック13に送る。このメッセージはオブジェクト(関連するES_IDを含む)を識別し、そのオブジェクトのディスプレイ(あるいは他のレンダリング)の開始時間を指定する。オブジェクトがレンダリングされなくなると、合成ブロック11はエンドメッセージを制御ブロック13に送り、オブジェクトのレンダリングが終わったことと、終了が発生した時間を指定する。特定のオブジェクトの複数のコピーを同時にレンダリングすることができる。このため、合成ブロック11が送るスタートおよびストップ・メッセージは、オブジェクトのどのインスタンスをレンダリングしているか指定する割り当てのインスタンスIDを含むことができる。
制御ブロック13は特定のオブジェクトのスタートおよびストップ時間に関連する情報を保存することができ、および/またはこの情報をポート21を通じて外部装置(外部サーバ30等)に渡すことができる。この情報によって、制御ブロック13はどのオブジェクトが解読されたかのみでなく、どのオブジェクトが実際に使われたかを記録することができる。システム1は、実際に使われるより多いオブジェクトを解読、検証および/または解凍することができるため、これを用いることができる。制御ブロック13はまた、オブジェクトの利用の長さを決定し、どのオブジェクトを共に用いたか決定することができる。この種の情報を高度な請求書発行や監査システムに用いることができるが、これについては以下に詳しく述べる。
制御ライン16はまた、合成ブロック11の動作の制御に用いることができる。特に、制御ブロック13は特定のオブジェクトのレンダリングが有効な時を指定する情報を保存し、オブジェクトをレンダリングした回数を記録することができる。制御ブロック13がオブジェクトが違法にレンダリングされている(すなわち、レンダリングを制御するルールに違反して)と判断した場合、制御ブロック13は合成ブロック11の動作を終結するか、違法オブジェクトの消去を強制することができる。
別の実施例では、制御ライン16による制御レベルは少なくとも部分的にはそのラインの存在を必要とせずに与えられる。その代わり、制御ブロック13は編成ブロック8について現在有効な編成情報のハッシュを保存することができる。このハッシュは制御ストリーム6を介して受け取るか、あるいは編成ブロック8に入っている情報に基づいて制御ブロック13によって生成することができる。
制御ブロック13は編成ブロック8に現在常駐する情報のハッシュを定期的に作成し、これを保存したハッシュと比較する。相違は、編成ブロック8の情報に対して未認証の改変が行われ、これによってユーザがその情報に関連するルールに違反して情報をレンダリングする可能性があることを示す。このような場合、制御ブロック13は、編成ブロック8に現在常駐する情報の削除を含む適切な行動を取ることができる。
編成ブロック8が合成ブロック11によるコンテンツの利用を制御し、編成情報に指定される場合を除いてコンテンツをレンダリングできないようシステム1が設計されている場合、制御ブロック13は現在の編成ブロックのコンテンツが制御ブロック13の受け取ったハッシュに一致することを検証し、これによって、制御ライン16の存在の少なくとも1つの理由を取り除くことによって、情報のレンダリングを制御することができる。
制御ブロック13はまた、セキュアなハッシング、メッセージ認証コード、および/またはデジタル署名等の暗号検証手段により、受け取ったコンテンツのオリジン、整合性、真正性、その他特性を安全に確認する責任を負う。
システム1はまた、IRP22として示すインターライト・ポイントを含むことができる。IRP22は保護された処理環境(PPE等)で、ここではルール/制御を処理することができ、暗号キー等の重要な情報を保存することができる。IRP22は制御ブロック13内に組み込むか、別個モジュールとすることができる。図示のように、IRP22はCPU23(あらゆるタイプの処理ユニットでよい)、暗号エンジン24、乱数発生器25、リアルタイムクロック26およびセキュアメモリ27を含むことができる。特定の実施例では、これら要素のいずれかを省略することができ、追加機能を含むことができる。
(統御ルール)
制御ブロック13の保存する制御メッセージは非常に複雑である。図7に、制御メッセージを制御ブロック13に保存する方式を示すが、これはアレイ717から構成される。コラム701は、制御メッセージを保存するアドレスから構成される。コラム702は各制御メッセージの識別子からなる。この機能は、コラム701の所在地情報を識別子として用いるか、または識別子に対応する場所にメッセージを保存することによって、コラム701のものと組み合わせることができる。コラム703は制御メッセージが制御する各ストリームのES_IDからなる。コラム704はメッセージそのものからなる。そのため、所在地1に保存された制御メッセージはID15を持ち、ストリーム903を制御する。
単純なケースでは、メッセージは、メッセージの制御するストリームに関連するコンテンツの解読に用いる暗号キーを含むことができる。これを図7の暗号キー705によって示す。暗号キーおよび/または検証値も含んで、ストリームの整合性またはオリジンの暗号検証が可能である。
より複雑なケースでは、メッセージは規制されたコンテンツへのアクセスまたは利用を規制するよう設計された1個以上のルールを含むことができる。ルールは多数のカテゴリーに当てはまる。
ルールでは、システム1の特定の態様またはシステム1のユーザを、規制コンテンツの解読または利用前に検証するよう求めることができる。たとえば、システム1はシステムID28を含み、これがシステムの一意の識別子を保存する。制御メッセージに含まれる特定のルールは、システムID28に特定の値が入っているシステムでのみ特定のストリームを解読できるよう指定することができる。これを図7の行2に示すが、ここではメッセージはルールとコマンドからなるよう示される。ルールは暗示的なものであるため、表には明示的に保存できない(表はルール、ルールが呼び出すルール固有機能(コマンド)または機能のみ保存することができる)。
この場合、ストリーム・コントローラ18がセット統御インジケータの入ったストリーム2031のヘッダに遭遇すると、ストリーム・コントローラ18は関連するES_ID(2031)を制御ブロック13に渡す。すると制御ブロック13はES_IDを使ってストリーム2031を規制する制御メッセージ20を識別する。制御メッセージ20は、コマンド707および認証されたシステムID708を含む(または呼び出す)ルール706を含む。認証されたシステムID708は、制御メッセージ20の一部として、あるいは他の制御メッセージ(制御メッセージ9等)の一部としてシステム1に受け取られており、制御メッセージ20が認証されたシステムIDへのアクセスを得るため参照することができる。たとえば、ケーブル加入者がプレミアムショーを予め登録している場合にこのようなケースが存在することになる。ケーブルシステムはその登録を認識し、ユーザにシステムIDに対応するIDを送ることによって、ユーザがそのショーを見ることを認める。
ルール706を呼び出すと、対応するコマンド707はシステムID28にアクセスし、システムID番号を取得する。するとコマンドはこの番号をルール706の指定する認証されたシステムID708と比較する。2つの数が一致すると、コマンド707は暗号キー709をストリーム・コントローラ18に放出し、これが暗号キー709を使ってES_ID2031に対応するストリームを解読する。2つの数が一致しない場合、コマンド707は暗号キー709を発行できず、ストリーム・コントローラ18はストリームを解読することができない。
これらの機能を実行するため、ある実施例では、制御ブロック13は処理ユニットおよびメモリを含むか、これにアクセスできる。処理ユニットは、ルールに含まれるか呼び出されるコマンドを実行できることが望ましい。メモリはルールと関連情報(制御メッセージのIDと規制されるESのID)を保存する。
制御ブロックが実行する機能は感度が高く、貴重なコンテンツの規制に関与するため、制御ブロック13は部分的あるいは完全にいたずらや観測に抵抗するバリアによって保護される。上述の通り、処理ユニット、セキュアメモリ、および各種のその他統御関連要素をIRP22に含み、これを制御ブロック13内に含むか、あるいは別にすることができる。
制御ブロック13はまた、より複雑な動作を実行することができる。ある例では、制御メッセージはシステム1から情報にアクセスし予想される情報と比較するだけでなく、将来の利用のために保存することを求める。たとえば、制御メッセージはストリームの解読が可能だが、システムID28がダウンロードされ、制御ブロック13に保存された後のみである。これによって、制御メッセージは定期的に、あるいは特定のストリームの再表示の試みの度にシステムID28に対して保存されたシステムIDをチェックし、これによってストリームが1つのシステムでのみ活動することを制御メッセージが保証できるようになる。
制御ブロック13はまた、情報をダイナミックに取得する。たとえば、システム1はユーザ・インターフェース29を含み、これはあらゆるタイプのユーザのインプット機能(ハードウェアのボタン、ビデオ・スクリーンに表示される情報等)を含むことができる。制御メッセージからの特定のルールは、ユーザがストリームの解読または利用できるようになる前に情報の入力を求める。この情報は、たとえばパスワードで、ルールによって保存されたパスワードに対してチェックし、そのユーザがストリームのレンダリングを許されていることを保証する。
ユーザから取得した情報はさらに複雑である。たとえば、あるルールでは、暗号キーの放出ができるようになる前にユーザが支払いまたは個人情報を入力することを求める。支払い情報は、たとえば、クレジットカードまたはデビット・カードの番号を構成することができる。個人情報は、ユーザの氏名、年齢、住所、Eメール・アドレス、電話番号等を含むことができる。入力した情報はポート21を介して外部サーバ30に送られ、検証される。外部サーバ30からの検証メッセージ受信後、ルールは暗号キーの放出を認める。あるいは、制御ブロック13が、後で接続するまで外部装置(またはネットワーク)に情報を保存し、「オフライン」モードで動作するよう設計できる。このような場合、制御ブロック13は接続を定期間隔で行うことを求めるか、あるいは外部接続の確立まで取得できる認証数を制限することがある。
より複雑なシナリオでは、制御メッセージは条件付ルールを含むことができる。図7に示す表の行4で示す特定の例では、制御メッセージ700は制御ストリーム49−53として示される。制御メッセージ700はさらにルール710、コマンド711および暗号キー712−716からなる。メッセージには当然ながらさらに多数の暗号キーを保存することができる。
この場合、ルール710は一定額の支払い(あるいは一定量の情報の提供)に同意したユーザはストリーム49を見ることができるが、その他のユーザは全員ストリーム50、またはストリーム49と50の組み合わせを見なければならないと指定する。この場合、ストリーム49は映画またはテレビ番組を表し、ストリーム50は広告を表す。ある実施例では、第1部分をキー712、第2部分をキー713、第3部分をキー714で解読するというように、ストリーム49の様々な部分を異なるキーで解読する。ルール710はストリーム49の全体を解読するために使用する全てのキーを含んでいる。ユーザが当初ストリーム49のコード化されたビデオにアクセスしようとすると、ルール710は、ユーザがペイ・フォー・ビュー・モードあるいは広告モードを望むかを尋ねるメッセージを出す。ユーザがペイ・フォー・ビュー・モードを選択すると、ルール710は支払い情報を保存(あるいは送信)し、ストリーム・コントローラ18に暗号キー712を渡す。ストリーム・コントローラ18は、次のパケットセットの解読に別のキーが必要なことを示すヘッダを受け取るまで、暗号キー712を使って第1ストリームを解読する。ストリーム・コントローラ18の要求により、制御ブロック13は支払いが行われたか判断するためチェックしてから、暗号キー713を放出し、これが次のパケットの解読に使われる。ルール710はさらに編成ストリーム52に対応する暗号キー716を放出するが、このキーは広告のないビデオに対応する。
一方、ユーザが広告モードを選択していると、ルール710はストリーム・コントローラ18に暗号キー712を放出し、ストリーム49の解読を可能とする。ルール710はまた広告の入ったストリーム50の解読を認める。ルール710はさらに、編成ブロック8に暗号キー715を放出する。暗号キー715は編成ストリーム51に一致する。編成ストリーム51はストリーム49からビデオを参照するが、ストリーム50から広告も参照する。ルール710は暗号キー716の放出を拒否するが、このキーは広告のないビデオに対応する編成ストリーム52に対応する。
動作中、制御ブロック13は制御ライン16を介して合成ブロック11からの情報をモニタすることができる。この情報は、実際にレンダリングされた各オブジェクトのアイデンティティと、レンダリングのスタートおよびストップ時間を含むことができる。制御ブロック13はこの情報を使って、ストリーム49からのビデオの第2部分の解読のため暗号キー713を放出する前に、広告が実際にレンダリングされていることを判断する。このフィードバック・ループによって、制御ブロック13は広告が解読されているだけでなく表示されていることを確認できる。合成ブロック11は比較的保護されておらず、無節操なユーザが、見る前に広告を除去することができるため、この確認が必要になる。
さらに様々な比較的複雑なシナリオが考えられる。たとえば、制御ブロック13のルールは、条件付解読または利用を制御する所在地または視聴者に関する情報を使って、特定の地理的位置または特定タイプの視聴者のためにプログラミングをカスタマイズすることができる。この情報はシステム1に保存するか、ユーザが入力することができる。
アレイ717の行5で示す別の例では、ルール719は予算(バジェット)718を指定することができ、これはユーザが利用できる使用回数、ユーザが使った金額等に関する情報を含むことができる。動作中、ルール719は、予算対象の活動が発生するたびに(関連作品が再生されるたび等)、予算718を安全に保存およびデクリメントすることを求める。予算がゼロに達すると、ルール719はその作品をもう再生しないか、ユーザがたとえばクレジットカード番号またはパスワードを入力するか、外部サーバにコンタクトすることによって追加予算を取得できることを示すメッセージを表示することを指定できる。
別の例では、ルールはユーザが作品を他の装置にコピーする能力を制御できる。このルールは、たとえば、1個以上の装置上でユーザが規制された作品を使用することを認めるように指定することができるが、その使用は常に一回のみが有効である。ルールは、ユーザが作品を「チェックアウト」したか否かに関する表示を安全に保存することを指定する。ユーザが作品を他の装置に(例えばポート21を介して)作品をコピーする場合、ルールは、その作品を暗号化フォームでのみ送信し、関連制御メッセージをそれと共に送信することを求める。ルールはさらに、インジケータを安全に設定し、ユーザが作品を利用しまたはコピーしようとするたびにインジケータをチェックするよう求めることができる。インジケータが設定されると、ユーザが一度に1個の装置で作品を利用する権利のみを有し、その作品が現在他の装置に「チェックアウト」されていてチェックインされていないことをインジケータが確立しているために、ルールは作品を解読しあるいは使用されないように求めるだろう。
受信装置は同じタイプのインジケータを含むことができ、ユーザはインジケータがセットされていない限り、作品を利用することができる。ユーザが元の装置で作品を利用することを欲する場合、2個の装置が通信することができ、インジケータは第2をセット、第1をリセットする。これによって、2箇所に作品を保存することができるが、1箇所でのみ利用する。
別の実施例では、関連する制御メッセージを1個の装置から他方へコピーしてオリジナルの装置から消去することで同じ結果に到達できる。制御メッセージには解読に用いるキーが含まれるため、これによって、作品が一度に1個の装置でのみ利用されるようにする。
ある実施例では、この技術を使って、ユーザが同時利用のため複数の選択ができないようにして、パーソナルコンピュータから民生用電子装置へデジタル・メディア・ファイル(音楽、ビデオ等)を通信することができる。そのため、より大型の高度な装置(パーソナルコンピュータ)がファイルをダウンロードしてから、パーソナルコンピュータに存在する一定の機能がないポータブル装置(ハンドヘルド音楽プレイヤー等)にファイルを「チェックアウト」することができる。
ルールを使って、当初のユーザが、ファイルの制御を譲ることで、ファイルを別のユーザに転送することを指定できる。このようなルールは、1個の装置から別の装置へのファイルの転送について上述した技術と同様に動作でき、または、転送後、元の装置からオリジナルのファイルを完全に消去することを求めることができる。
制御ブロック13のルールを少なくとも2個のチャンネルを介して追加または更新することができる。新しいルールは、制御ストリーム6を介して取得する。制御メッセージに制御ブロック13にすでに存在する制御メッセージに対応する識別子が入っている場合、その制御メッセージ(入っているルールを含む)はオリジナルの制御メッセージに上書きできる。新しいルールは、たとえば、既存のルールと同じであることができるが、新しいタイム・スタンプと新しいキーを持っているため、複数のキーで暗号化したストリームの解読ができる。システム1は、一定のルールが上書きされないよう設計することができる。これは、アレイ717のある位置を上書き不可と指定するか、または特定のルールは上書きあるいは改変できないことを示すフラグその他インジケータを設けることによって実行できる。これによって、下流のディストリビュータが上流ディストリビュータの追加したルールを除去または改変できないようにしながら、下流ディストリビュータがルールを追加できることを含めて、ある種のスーパー流通モデルが可能となる。
さらに、新しいルールは、編成ストリーム3、オーディオ・ストリーム4またはビデオ・ストリーム5に、ウォーターマークまたはステガノグラフィック・コード化の形式でコード化することができる。
新しいコードはまた、ポート21を介して取得することができる。ポート21は、外部装置(スマートカード、ポータブルメモリ等)に接続するか、外部ネットワーク(外部サーバ30)に接続することができる。ルールはポート21を介して特別に、または制御ブロック13が送る要求の結果として取得される。たとえば、制御メッセージ14(図7、行6)は、新しいルールを特定のURLからダウンロードし、ストリーム1201の規制に用いるよう指定するルールを含むことができる。
ルールを含む制御メッセージは、DigiBoxなどの安全な送信フォーマットを使ってコード化できる。DigiBoxは、ビジネスルール、コンテンツ記述情報、コンテンツ解読情報および/またはコンテンツ検証情報のセットを配信するための安全な容器手段である。1個以上のDigiBoxをメディア・コンテンツのヘッダ、またはメディア内のデータ・ストリームの中に入れることができる。
図12はDigiBoxフォーマットのある実施例と、そのフォーマットを制御メッセージに組み込む方法を示す。制御メッセージ1201は、制御メッセージ・ヘッダ1202および制御メッセージ・コンテンツからなる。他で述べるように、制御メッセージ・ヘッダ1202はDemux7(図1)が制御ブロック13にメッセージを適切にルーチングするために用いる情報を含む。
制御メッセージ1201の制御メッセージ・コンテンツ1203はDigiBox1204からなり、また追加情報を含むことができる。DigiBox1204は、DigiBoxヘッダ1205、ルール1206およびデータ1207からなる。ルール1206は1個以上のルールを含むことができる。データ1207は、ES_ID1208、暗号キー1209、検証データ1210を含む各種データを含むことができる。データ1207はまた、暗号アルゴリズム、アルゴリズムと用いるチューニング・モード、解読およびチェーニングが用いるキーおよび初期化ベクトルの仕様など、暗号情報を含むことができる。
データ1207に入っている初期化ベクトルは、オリジナルの暗号化プロセスへの入力を構成するため、解読に必要な点で暗号キーに似ている。ある周知の先行技術実施例では、初期化ベクトルはベースの初期化ベクトル(64ビット乱数)とフレーム数中のxor(イクスクルーシブ・オア)またはコンテンツ・アイテムのスタート時間で起動することで生成できる。
データ1207内の検証データ1210は、暗号または認証値、キーインした認証値を計算するための暗号キー(メッセージ認証コード等)、デジタル署名、および/またはデジタル署名検証に用いるパブリックキー証明書を含む。
そのため、DigiBoxは上述の情報を、ルール、ストリームIDおよび暗号キーと値を含む制御メッセージの一部として組み込む。
別の実施例では、DigiBoxヘッダ1205は、Demux7が読み取り、制御ブロック13にルーチングできるように設計する。このような実施例では、DigiBox1204はそれ自身が制御メッセージ全体を構成するため、制御メッセージ1201内にDigiBox1204を入れ子にする必要がなくなる。
DigiBox1204のコンテンツの一部または全部は一般に暗号化される。これには、ルール1206、データ1207およびヘッダ1205の一部あるいは全部が含まれる。システム1は、DigiBoxがIRP22などの保護された環境でのみ解読(開放)されるよう設計できる。別の実施例では、制御ブロック13はDigiBoxをIRP22に処理のためルーチングする必要なく制御ブロック13で開けるよう、IRP22の機能を直接組み込むことができる。ある実施例では、DigiBox1204の解読に用いる暗号キーは、IRP22(または制御ブロック13)に保存し、DigiBoxが保護された環境でのみ開かれるようにする。
ルール1206は、DigiBoxデータ1207へのアクセスまたは利用を規制するルールである。ある実施例では、これらルールは規制されるストリームを直接制御しない。しかし、暗号キー1209はルール1206に準拠しないとアクセスおよび利用ができないため、ルール1206は事実上規制されるストリームを間接的に制御するが、それは、これらストリームがルールに準拠しないと取得できないキーの利用によってしか解読できないためである。別の実施例では、データ1207はDigiBoxから取りだし、図7のアレイ717などの表に保存することのできる追加ルールを含む。
DigiBoxへのアクセスまたは利用を規制するルールは、DigiBoxを伴うか(図12に示すように)あるいは別に送信することができ、その時、イベントルール1206はデータ1207へのアクセスに用いるルールへのポインタまたは参照を含む。DigiBoxを受け取ると、制御ブロック13は制御ストリーム6を介して別にルールを受け取るか、またはポート21を介してルールを要求し、受け取る。
(パイプライン化したインプリメンテーション)
図1に示すシステムの潜在的欠点の1つは、このシステムがリアルタイムにコンテンツをレンダリングするよう設計されたパイプライン・システムに複雑さとフィードバックを導入する点である。パイプラインのレンダリングは一般にDemux7、編成ブロック8およびAVブロック9、合成ブロック11およびレンダリング装置12からなる。コンテンツはストリーミングして受け取り、リアルタイムでレンダリングしなければならないため、パイプライン処理は高度の効率的に厳しい時間的制約の下で行われなければならない。利用可能な時間内に処理できないと、レンダリング装置12への出力が中断されるか、受信ビット・ストリーム2が利用可能なバッファをオーバフローし、これによって、受信データの一部が失われることになる。
システム1の別の実施例は、これら問題に対処するよう設計されているが、標準システムのコンポーネントを利用する能力とシステム全体のセキュリティが犠牲になる可能性がある。この代替実施例を図11に示し、これはシステム1101を示す。
システム1101は図1のシステム1と多くの点で似ている。これは、編成ストリーム1103、オーディオ・ストリーム1104、ビデオ・ストリーム1105および制御ストリーム1106からなるビット・ストリームを受信する。これらストリームはDemux1107が受信し、これが編成ストリーム1103を編成ブロックに渡し、オーディオ・ストリーム1104とビデオ・ストリーム1105をAVブロック1109に渡す。編成ブロック1108とAVブロック1109は図1中の対応物と同様に動作し、情報を合成ブロック1110に渡し、これはその情報を首尾一貫した全体に編成し、レンダリング装置1111に渡す。編成ブロック1108に送られたストリームは、ストリームフロー・コントローラ1112によって解読および/または検証され、AVブロック1109に送られたストリームはストリームフロー・コントローラ1113によって解読および/または検証される。
しかしながら、システム1101は、制御とフィードバックが分散し、処理およびレンダリングパイプラインに直接統合される点でシステム1と異なる。そのため、システム1101は独立した制御ブロックがなく、また合成ブロック1110から戻るフィードバックパスがない。
システム1101では、制御は編成ブロック1108とAVブロック1109で直接行う。システム1同様、暗号キーは制御ストリーム1106を介して受け取る(別の実施例では、キーは編成ストリーム1103またはオーディオ・ビデオ・ストリーム1104および1105のヘッダその他情報に直接組み込むことができる)。これらのキーは暗号化したコンテンツのストリームの種類と、複数のストリームタイプが可能な場合は、特定の制御されたストリームの識別子に関する情報を含むデータフォーマットに含まれる。
Demux1107は、制御ストリーム1106のキーに遭遇すると、システムの種類に関する情報を読み取り、適切なストリームフロー・コントローラにキーをルーチングする。Demux1107がたとえば編成ストリーム1103の解読または検証のために設計されたキーに遭遇すると、これはストリームフロー・コントローラ1112にキーをルーチングする。
ストリームフロー・コントローラ1112は受け取ったキーをストレージ位置1114に保存する。ストレージ位置1114はキーを保存し、また制御されたストリームIDのインジケータを保存する。
ストリームフロー・コントローラ1112は暗号エンジン1115を含み、これは受け取ったキーを使って編成ストリーム1103の暗号化および/または保護された部分を解読および/または検証する。キーは自身を暗号化して受け取り、一定程度のセキュリティを提供することができる。このような場合、ストリームフロー・コントローラは、保存された情報をキーまたはキーシードとして用いるなど、様々な技術を使ってキーを解読することができる。保存された情報は、たとえばビット・ストリーム1102または別個のポートを介して早期に提供される「メタキー」を構成する。
AVブロック1109と関連するストリームフロー・コントローラ1113は、対応するストレージ位置1116および暗号エンジン1117を含み、ストリームフロー・コントローラ1112について説明した動作と同様に動作する。
このインプリメンテーションにより、ストリームフロー・コントローラと別個の制御ブロックとの間の通信の必要性において本来備わっている、待ち時間ペナルティを回避する。
この代替インプリメンテーションはまた、合成ブロックからのフィードバック・チャンネルを取り除く(図1、制御ライン16)。このフィードバック・チャンネルは、合成ブロック11からレンダリング装置12に渡されるコンテンツが、レンダリングを認証されたコンテンツであることを保証するために用いる。図11に示す別の実施例では、このフィードバック・チャンネルは存在しない。その代わり、この実施例は、合成ブロック1110が、レンダリング装置1111に送られる情報の正確な構造の決定を編成ブロック1108からの情報に依存するという事実に頼っている。合成ブロック1110は編成ブロック1108の指令する編成に反して情報を合成することはできない。
ある実施例では、編成ブロック1108によるこの制御は、あらゆるフィードバックの必要性を取り除くに十分である。これは、編成ブロック1108を、ストリーム・コントローラ1112を介してのみ情報を受け入れるよう設計し、ストリーム・コントローラ1112をストレージ位置1114に保存したルールの制御下でのみ情報を解読しまたは検証するよう設計することができるためである。
このような実施例では、セキュリティは編成ブロック1108にセキュアメモリ1118を組み込むことでさらに増加する。セキュアメモリ1118はストリーム・コントローラ1118が有効に解読し、現在、メイン編成ブロックメモリ1119が使用している編成ツリーのコピーまたはハッシュを保存することができる。編成ブロック1108を使って、メイン編成ブロックメモリ1119に保存された編成ツリーをセキュアメモリ1118に保存されたツリーと定期的に比較することができる。不一致が見つかったら、これは、攻撃者がメイン編成ブロック1119に保存された編成ツリーを改変しているため該当するルールに違反してコンテンツがレンダリング可能であることを示す。このような状況では、編成ブロック1108を使って、メイン編成ブロックメモリ1119のコンテンツをセキュアメモリ1118のコンテンツに置きかえることを含む、保護対策を取ることができる。
(MPEG−4インプリメンテーション)
上述の一般的システムは、図8に示すように、MPEG−4システム801としてMPEG−4システムで実施することができる。
MPEG−4システム801は、MPEG−4ビット・ストリーム802を入力として受け入れる。MPEG−4ビット・ストリーム802は、BIFSストリーム803、ODストリーム804、オーディオ・ストリーム805、ビデオ・ストリーム806およびIPMPストリーム807を含む。これらのストリームはDemux808に渡され、これがヘッダ情報を調べて、パケットを適宜BIFS809、AVO810、OD811またはIPMPシステム812にルーチングする。
IPMPシステム812はIPMPメッセージをIPMPストリーム807を介して受け取る。これらのメッセージは、特定のメッセージおよび関連するIPMPメッセージを識別するヘッダ情報を含む。IPMPメッセージは制御情報を含むことができ、これは暗号キー、検証情報を含み、および/または上述のような複雑な統御ルールを含むことができる。
ストリーム・コントローラ813、814および815は、BIFS809、AVO810およびOD811にそれぞれ渡されるストリームの解読、検証および/または規制を行う。
OD811はオブジェクト・ディスクリプタを保持し、これは特定のオブジェクトを記述するメタデータを含む。このメタデータは特定のエレメンタリー・ストリームまたはオブジェクトを含むストリームの識別子を含み、またオブジェクトを規制する特定のIPMPメッセージへのポインタを含むことができる。あるいは、IPMPメッセージと特定のオブジェクトまたはストリームとの関係をIPMPストリーム812内の表またはその他の形式に保存することができる。
IPMPシステム812は制御ライン816、817、818および819を介して他の機能ブロックを制御し、これらはそれぞれIPMPシステム812からの制御/統御信号および他の機能ブロックからの情報と要求をIPMPシステム812に送る。情報要求はES_IDおよびタイム・スタンプを含むことができ、IPMPシステム812がこれを使って、どのメッセージ(キー等)をいつ使うべきか決定する。
別の実施例では、IPMPシステム812は、現在有効なBIFSツリー(おそらくIPMPシステム807を介して)のハッシュを受け取り、このハッシュをBIFS809に保存されたBIFSツリーに対して定期的にチェックすることで、合成およびレンダー821を制御する。BIFS809はIPMPシステム812が合成およびレンダー821が情報をレンダリングする方法を制御するため、現在のBIFSツリーがBIFSストリーム803を介して受け取った認証済みツリーと同じであることをIPMPシステム812が確認すると、IPMPシステム812は、合成およびレンダー821から直接フィードバックを受け取らなくとも、正しいコンテンツがレンダリングされていることを確認できる。BIFS809はポート822と通信して、これによりユーザはBIFS809に情報を挿入し、ユーザが未認証のBIFSツリーを作成してコンテンツに対し未認証のアクセスを得ることができるため、これが必要となる。
ストリーム・コントローラは、暗号化またはその他規制された情報を受け取ると、ES_IDとタイム・スタンプをIPMPシステム812に直接送る。あるいは、この情報をOD811に送り、これがオブジェクトまたはストリームを規制するIPMPメッセージのIDで回答することができる。するとストリーム・コントローラはIPMPメッセージIDを使ってIPMPシステム812からの解読、検証および/または統御を要求する。あるいは、OD811はIPMPIDをIPMPシステム812に渡し、これによってシステム812は該当するストリーム・コントローラとの接触を開始することができる。
IPMPシステム812はIPMPストリーム807以外の2個のチャンネルを介してIPMP情報を取得する。これらのチャンネルの第1はポート820で、装置またはメモリ(スマートカード、DVDディスク等)または外部ネットワーク(インターネット等)に接続されている。IPMPメッセージは、URL、DVDディスク上のアドレス等、ポート812を介して取得可能な情報へのポインタを含むことができる。このURLには、IPMPメッセージが必要とする特定の制御を含むことができ、またたとえば特定のユーザの予算に関連する情報のような補助的必要情報を含むことができる。
IPMPシステム812はまた、ODストリーム804に含まれるOD更新を介してIPMP情報を取得する。ODストリーム804は特定のオブジェクトを識別するメタデータを含む。特定のODメッセージは図9に示すフォーマットを取る。この図では、ODメッセージ901はヘッダ902を含み、これはODストリームの一部として次のパケットを識別し、パケットの数を識別する。ODメッセージ901はさらにメッセージ903からなり、これは、一連のポインタ904と関連するメタデータ905を含む。各ポインタ904は、特定のエレメンタリー・ストリームを識別し、関連するメタデータはそのストリームに適用される。最後に、ODメッセージ901はIPMPポインタ906を含むことができ、これは特定のIPMPメッセージを識別する。
全体で、ODメッセージ901に含まれる情報は、オブジェクトを構成する各エレメンタリー・ストリームを識別・記述し、オブジェクトを規制するIPMPメッセージを識別するため、オブジェクト・ディスクリプタを構成する。ODメッセージ901は、それぞれオブジェクト・ディスクリプタを構成する他のメッセージと共にOD811に保存することができる。
OD811に保存されたオブジェクト・ディスクリプタは、ODストリーム804を介して更新され、これは同じオブジェクトに対応する新しいオブジェクト・ディスクリプタを介して渡される。すると新しいオブジェクト・ディスクリプタは既存のオブジェクト・ディスクリプタに上書きされる。このメカニズムを使って、IPMPポインタを例外として既存のオブジェクト・ディスクリプタと同じ新しいオブジェクト・ディスクリプタを利用し、特定のオブジェクトを制御するIPMPメッセージを変更することができる。
ODストリーム804は、IPMP_ディスクリプタ更新メッセージを運ぶこともできる。このようなメッセージはそれぞれ、IPMPIDおよびIPMPメッセージを含むIPMPシステムで運ぶIPMPメッセージと同じフォーマットを持つことができる。
IPMPディスクリプタ更新メッセージは、OD811の表またはアレイに保存するか、IPMPシステム812に渡すことができ、ここで保存された既存のIPMPメッセージに上書きするか、保存されたメッセージに追加される。
IPMP情報はODストリームまたはIPMPストリームを介して別個に運ばれるため、MPEG−4システム801は、これらチャンネルの一方または他方を介してのみ情報を受け取るよう設計できる。
別の実施例では、2個のチャンネルの存在を使って、後の段階で追加される統御により、後の改変が初期の段階で追加された統御に優先するリスクなしに、多段階配分を行うことができる。
このようなシステムを図10に示す。この図において、IPMPシステム812はIPMP表1002を含み、これは256個のIPMPメッセージのためのスロットを持つ。この表は、情報を保存する場所として、コラム1003に示すようにIPMP_IDを暗示的に保存する。IPMP_ID4に関連するIPMPメッセージは、たとえばIPMP表1002のスロット4に保存する。
IPMP表1002の各場所には、有効インジケータ1004およびソース・インジケータ1005を含む。有効インジケータ1004は、IPMPメッセージをその場所に保存した時、特定の場所にセットする。これによって、IPMPシステム812は、空のスロットを識別することができるが、これは、起動時はスロットにランダムな情報が入っているため、他では困難なことである。これによってまた、IPMPシステム812は、すでに有効でなく置換可能なメッセージを識別できる。有効インジケータ1004は、IPMPシステム812について保存されたタイム・スタンプ情報を現在有効な時間に対してチェックすることで有効性を判断し、メッセージが有効な期間のタイム・スタンプ情報を保存する。
ソース・インジケータ1005は、関連するIPMPメッセージがIPMPストリーム807またはODストリーム804から受け取ったか否かに基づきセットされる。
これらインジケータにより、IPMPシステム812はメッセージの階層を確立し、メッセージを追加および更新する方法を制御することができる。IPMPシステム812は、その場所に対応するメッセージを受信したら、特定の場所のインジケータを評価するよう設計することができる。有効インジケータが無効にセットされたら、IPMPシステム812はそのスロットにIPMPメッセージを自動的に書きこむよう設計する。有効インジケータが有効にセットされたら、IPMPシステム812はソース・インジケータをチェックするよう設計する。ソース・インジケータが関連メッセージをODストリーム804を介して受信したことを示す場合、IPMPシステム1812は既存メッセージを新しいメッセージで上書きするよう設計できる。しかしながら、ソース・インジケータが関連メッセージをIPMPストリーム807を介して受信したと示す場合、IPMPシステム812は新しいメッセージのソースをチェックするよう設計できる。このチェックは、新しいメッセージに関連するヘッダを調べ、新しいメッセージがODストリーム804の一部であるか、IPMPストリーム807の一部であるかを判断することで達成できる。あるいは、IPMPシステム812は、メッセージをDemux808から直接、あるいはOD811を介して受け取ったか否かを判断することでこの情報を引き出せる。
新しいメッセージがIPMPストリーム807から来た場合、IPMPシステム812は、既存メッセージに上書きして表1002に新しいメッセージを保存するよう設計できる。一方、新しいメッセージがODストリーム804から来た場合、IPMPシステム812は新しいメッセージを拒絶するよう設計できる。 このメッセージ階層を使って、制御の階層化が可能である。たとえば、スタジオではMPEG−4フォーマットで映画をコード化できる。スタジオではIPMPメッセージをIPMPストリームに保存する。これらメッセージは、IPMPシステム812が特集映画の表示前に同じスタジオの他の映画の予告編を表示しなければならないという要件を含むことができる。IPMPシステム812を使って、予告編のレンダリングの開始と終了をモニタし(制御ライン819を介したフィードバックを使って)、予告編全体が再生され、ユーザが早送りをしないようにできる。
映画スタジオは、IPMPストリームを含む各種エレメンタリー・ストリームを暗号化することができる。そして映画スタジオはケーブルチャンネルなどの配給者に映画を提供することができる。映画スタジオは、配給者がODストリームを解読できるキー、およびそのストリームに当たらしメッセージを挿入する能力を配給者に与える(またはODストリームを暗号化しないままでおく)ことができる。ケーブルチャンネルは、たとえばIPMPシステムにユーザがプレミアム視聴の支払いを行っているか判断し、プレミアム視聴の支払いを行っている場合は映画を解読するが、プレミアム視聴を支払っていない場合は広告を挿入(そのレンダリングを要求する)することを指定するルールをODストリームに含めることができる。
ケーブルチャンネルはそのため、自身のルールをMPEG−4ビット・ストリームに追加する能力を持つが、ケーブルチャンネルが映画スタジオの用いるルールを除去したり改変したりするリスクはない(スタジオがプロモートしている映画の予告編をケーブルチャンネルがプロモートしているライバル映画に変更する等)。スタジオのルールは、ODストリームを介して可能な新しいルールの種類を指定でき、これによって、スタジオに高度の制御を与える。
この同じメカニズムを使って、あるユーザから別のユーザへコンテンツのスーパー配分が可能となる。ユーザは、ODストリームにメッセージを挿入できるプログラミングインターフェースを与えられる。ユーザは、たとえば映画を視聴する前にユーザの口座に1.00ドルの支払いを求めるメッセージを挿入する。そしてユーザは映画を別のユーザに与え(またはインターネット等のコピーが未制御であるメディアを通じて配布し)ながら、支払いを受け取ることができる。しかしながら、ユーザのルールはスタジオのルールに優先できないため、スタジオはそのルールが守られていることを確認できる。これには、ユーザが追加できるタイプのルールを指定するルールが含まれる(再配給の価格制限等)。
MPEG−4システム801はまた、特定タイプのIPMPシステムを含み、これが他のMPEG−4システムに設計されるIPMPシステムと非互換であるよう設計することができる。MPEG−4標準はIPMPストリームに含まれる情報のフォーマットを指定しないため、異なるコンテンツ・プロバイダが異なる方法で情報をコード化できるのでこれが可能である。
MPEG−4システム801のIPMPシステム812は、異なるIPMPフォーマットが存在するような環境について設計することができる。このシステムはIPMPシステム812と互換のヘッダについてIPMPストリームをスキャンする。他すべてのヘッダ(および関連パケット)は放棄される。このようなメカニズムにより、コンテンツ・プロバイダはIPMPシステムが故障するような未知のフォーマットに遭遇する心配なく、複数のフォーマットで同じIPMPメッセージを組み込むことができる。特に、IPMPヘッダはIPMPシステムタイプ識別子を組み込むことができる。これら識別子は、中央当局が割り当て、2つの非互換システムが同じ識別子を選択する可能性を避けることができる。
IPMPシステム801は、複数のフォーマットと互換になるよう設計できる。このような場合、IPMPシステム801はヘッダをスキャンしてIPMPシステム801と互換のIPMPシステム識別子を含む第1ヘッダを見つける。そしてIPMPシステム801はそのIPMPシステム識別子に対応するヘッダのみ選択し、IPMPシステムが認識する別のIPMPシステム識別子を組み込んだヘッダを含む他すべてのヘッダを放棄することができる。
このような設計により、コンテンツ・プロバイダは複数のフォーマットを提供し、最も好まれるフォーマットを最初に、次に好まれるフォーマットを第2にと含めることによって、最高から最低まで好みを順序付けることができる。IPMPシステム801はそれが見つけた第1の互換フォーマットにロックされるため、IPMPストリーム801のこの順序付けによって、IPMPシステムがコンテンツ・プロバイダの最も好むフォーマットを選択するようにできる。
異なるIPMPフォーマットを用いる場合でも、複数バージョンのコンテンツを送ることは帯域幅に大きな負担をかけるため、1つのアルゴリズムを使ってコンテンツはコード化(および暗号化)される。そのため、通常は、認められた共通の暗号化スキームを使ってコンテンツを暗号化する必要がある。このようなスキームは出力フィードバック・モードでDESアルゴリズムを使うことができる。
このようなIPMPヘッダ選択と特定のフォーマットにロックする方法はまた、特定のMPEG−4システムの機能についてMPEG−4ストリームをカスタマイズするのにも使える。MPEG−4コンテンツをレンダリングできるシステムは、ハイエンドのホームシアターからハンドヘルド装置まで広範囲な機能性を含有する。あるタイプのシステムに適した統御オプションは他のシステムには関連しないことがある。
たとえば、MPEG−4システム801はポート820を介してインターネットへの接続を含む一方、第2のMPEG−4システム(たとえばハンドヘルドのウォークマン(登録商標)タイプ装置)はこのような接続を持っていないことがある。コンテンツ・プロバイダは、視聴者にオプションを提供し、視聴者が視聴者に関する情報を提供する見返りに無料でコンテンツを見られるようにしたいと望むとする。コンテンツ・プロバイダは、ユーザが料金を払ってコンテンツを見たいか、識別情報を入力したいかどうか尋ねるルールを挿入できる。そしてこのルールはポートを介してインターネットのルールに指定するURLに情報を送ることができる。そのURLのサイトはユーザ情報を評価し、特定のユーザに向けて広告をダウンロードすることができる。
これはコンテンツ・プロバイダにとっては貴重なオプションだが、インターネットに必ずしも接続しない装置にとっては意味を持たないことは明白である。ユーザが情報を入力しても、ルールにはその情報を外部URLに与えるか広告をダウンロードする方法がないため、非接続装置のユーザにこのオプションを提示することは意味がない。このような場合、コンテンツ・プロバイダは、ユーザにオリジナルのMPEG−4ビット・ストリームに含まれる予め選択した広告を視聴させる方を好む。
IPMPストリームのヘッダ情報を使って、特定装置のためにMPEG−4ビット・ストリームをカスタマイズすることができる。IPMPシステムタイプ情報同様、IPMPヘッダ情報にはMPEG−4システムタイプを含むことができる。これらは8または16ビット値を含み、ビットマップで表す特定の機能を持つ。そのため、たとえばポジション2のビットの存在は、装置がインターネットに一貫して接続することを示す。
そしてIPMPシステムはヘッダを評価し、IPMPシステムを埋め込んだMPEG−4装置に含まれる機能よりも低いかまたは等しい機能を記述する第1ヘッダにロックする。ヘッダがMPEG−4装置の機能に完全に一致する場合、IPMPシステムはロックを中止する。ヘッダが完全な一致に至らない場合(インターネット接続を持つが、デジタル出力ポートのないシステムのヘッダで、システムが両方を持つ時)、IPMPシステムはそのヘッダにロックするが、より良い一致を求めてスキャンし、もしより良い一致が見つかった場合はそれにロックする。
特定のヘッダが識別するIPMPメッセージは、MPEG−4装置の特定の機能に適しているもので、その機能のMPEG−4ビット・ストリームのカスタマイゼーションが可能である。上述の例のコンテキストでは、インターネット接続を含むMPEG−4装置のIPMPシステムは特定のヘッダにロックし、そのヘッダで特徴付けられるIPMPメッセージをダウンロードする。これらメッセージはユーザに情報を求め、その情報をURLに与え、適切なスポットに広告を挿入して、映画の解読とレンダリングを許可する。
一方、インターネット接続のないMPEG−4装置の場合、IPMPシステムはインターネット接続を示すビットのないヘッダのセットにロックし、そのヘッダに関連するルールをダウンロードする。これらルールは、ユーザにどのようなオプションも提供しない。このルールはコンテンツの解読を許すが、MPEG−4ストリームからの追加ESの解読も指定する。この追加ESは広告を含み、IPMPシステムは広告の解読とレンダリングを求め、制御ライン819をチェックしてこれが発生したことを確認する。しかし、インターネット接続のないシステムの場合、広告の入ったESの解読を許しレンダリングを求めるルールは、誤ったタイプのヘッダが識別するメッセージに含まれるためロードされない。そのため広告ESは解読されず、MPEG−4装置から無視される。
図21は、保護されたMPEG−4ファイルを作成するある方法を示す。この図では、CreateBox2101はDigiBox作成ユーティリティを表し、これはキーとルールを受け取る。ある実施例では、CreateBox2101はこれらキーとルールをIRP2102に渡し、IRP2102からDigiBox2103を受け取る。別の実施例では、IRP2102はCreateBox2101に組み込まれ、これがキーとルールを受け入れ、DigiBox2103を出力する。
DigiBox2103は統御ルール、初期化ベクトルおよびキーを含む。DigiBox2103はCreateBox2101からBifエンコーダ2104へ渡される。Bifエンコーダ2104は従来のものでよいが、DigiBox2103のようなDigiBoxを受け入れ、処理するよう設計する点が異なる。Bifエンコーダ2104はまたシーングラフの入った .txtファイルと、イニシャルオブジェクト・ディスクリプタ・コマンドを受け入れる。
Bifエンコーダ2104はシーン・グラフ・ストリーム(圧縮バイナリフォーム)の入った .bifファイルと、イニシャルオブジェクト・ディスクリプタ・コマンド、オブジェクト・ディスクリプタ・ストリームおよびDigiBox2103の入った .odファイルを出力する。
Bifエンコーダ2104は .bifファイルと .odファイルをMux2105に渡す。Mux2105はまた、圧縮されたオーディオおよびビデオファイルと、ストリーム記述の入った .scrファイルを受け取る。Mux2105はIPMPストリーム、ディスクリプタおよびメッセージを作成し、コンテンツ・ストリームを暗号化し、受け取ったストリームをインターリーブし、イニシャルオブジェクト・ディスクリプタ2107と暗号化コンテンツ2108からなる保護されたMPEG−4コンテンツファイル2106を出力する。イニシャルオブジェクト・ディスクリプタ2107はDigiBox2103と他の情報を含む。暗号化コンテンツ2108はシーン・グラフ・ストリーム(すなわちBIFSストリーム)、オブジェクト・ディスクリプタ・ストリーム、IPMPストリームおよび暗号化コンテンツ・ストリームを含むことができる。
DigiBox2103がコンテンツのすべてをレンダリングするのに必要なすべてのキーおよびルールを持っている場合、Mux2105がIPMPストリームを作成する必要はない。コンテンツの少なくとも一部に追加キーまたはルールが必要な場合、Mux2105はこれらルールおよびキーを1個以上の追加DigiBoxに組み込み、これらDigiBoxをIPMPストリームまたはOD更新ストリームに組み込むことができる。
図22は、既存のMPEG−4ストリームに制御を組み込む方法を示す。この図では、未保護MPEG−4コンテンツファイル2201はイニシャルオブジェクト・ディスクリプタ2202とコンテンツ2203を含む。コンテンツは、シーン・ディスクリプタ・ストリーム(またはBIFストリーム)、オブジェクト・ディスクリプタ・ストリーム、ビデオ・ストリーム、オーディオ・ストリームおよびおそらく追加コンテンツ・ストリームを含むことができる。
未保護MPEG−4コンテンツファイル2201はリパッケージャ2204に渡され、これはまたキーとルールを受け入れる。リパッケージャ2204は、キーおよびルールをIRP2205に渡し、その返りに、キー、ルールおよび初期化ベクトルを含むDigiBox2206を受け取る。別の実施例では、IRP2205はリパケージャ2204に直接組み込むことができる。
リパッケージャ2204は未保護MPEG−4コンテンツファイル2201をDEMUXする。DigiBox2206をイニシャルオブジェクト・ディスクリプタに挿入し、各種コンテンツ・ストリームを暗号化する。リパッケージャ2204はまた、必要な場合(追加DigiBoxが必要な場合を含む)IPMPストリームを追加する。
リパッケージャ2204は、イニシャルオブジェクト・ディスクリプタ2208(DigiBox2206を含む)と暗号化されたコンテンツ2209(必要な場合IPMPストリームを含む各種ストリームからなる)からなる保護されたMPEG−4コンテンツファイル2207を出力する。
(リアルネットワーク・インプリメンテーション)
ある実施例では、上述の要素をリアルネットワーク社の設定するフォーマットに準拠してコード化した情報に関連して用いることができる。
リアルネットワーク・ファイルフォーマット(RMFF)を図13に示す。このフォーマットは、はじめにヘッダのブロック(ヘッダ1301)、次にコンテンツ・パケットの集合(コンテンツ1302)、次にシークおよびゴー・トゥー・オペレーションで用いるインデックス(インデックス1303)を含む。各ファイルは複数のタイプの異なるストリームを含むことができる。各ストリームについて、メディア・コンテンツのフォーマット記述(圧縮フォーマット等)に用いる「メディア・プロパティ・ヘッダ」(1304)があり、ストリーム固有の情報(デコンプレッサのパラメータ等)を与える。
リアルネットワーク・ストリームは、DigiBoxをヘッダ1301に挿入し、コンテンツ1302に含まれるデータパケットを暗号化することで保護できる。改変したフォーマットを図14に示すが、これは、メディア・プロパティ・ヘッダ1402および1403を含み、さらにDigiBox1404および1405をそれぞれ含むヘッダ1401を示す。このフォーマットはまた、暗号化したコンテンツ1406およびインデックス1407を含む。
ある実施例では、宣言されたデータのタイプは、標準のリアルネットワーク・フォーマットから新しいタイプ(RNWK保護等)に変わる。そして古いタイプがセーブされる。タイプの変更によって、リアルネットワーク・プレーヤが「トラスト・プラグイン」をロードするが、これは、このプラグインが「RNWK保護」タイプのストリームを処理できる唯一のデコーダモジュールとして登録されているためである。トラスト・プラグインはDigiBoxを開き、ユーザから承認を得て、必要な場合はオリジナルのコンテンツ・タイプを決定し、オリジナルのコンテンツのためのデコーダ・プラグインをロードしてから、コンテンツを解読および/または検証し、コンテンツ・デコーダ・プラグインに送って解凍およびユーザに提示する。
ある実施例では、リアルネットワーク・ファイルフォーマットに対する固有の改変は次の通りである。
・プレロール時間を増やして大きなバッファを再生する。本実施例では3秒増を用いる。コンテンツの解読に余分なステップが必要なため、大きなバッファが必要になる。
・mimeタイプを「RNWK保護」に変更し、古いmimeタイプをデコーダ固有情報にセーブし、コンテンツ識別子とDigiBoxをデコーダ固有情報に追加することで、各ストリーム固有ヘッダを修正する。DigiBoxには、キー、初期化ベクトル(IV)、バージョン情報、ウォーターマーク指示が含まれる。キー、IVおよびコンテンツ識別子は自動的に生成されるか、コマンドライン・パラメータとして与えられる。同じキー、IVおよびコンテンツ識別子をすべてのストリームに用いる。
・コンテンツ・パケットを選択的に暗号化する。ある実施例では、ミリ秒でのスタート時間が各5秒の前半の半秒である(すなわち、スタート時間%5000<500)コンテンツ・パケットが暗号化される。これでコンテンツの約10分の1が暗号化され、暗号および解読のコストとコンテンツの損傷が減り、再販売を防ぐ。暗号化アルゴリズムは、出力フィードバック・モードまたは同様のアルゴリズムを使うDESでよい。初期化ベクトルは、ストリームのIVをパケットのミリ秒でのスタート時間とxorすることで各パケットについて計算する。ストリームに一意の一部情報もIVにxorしなければならない。ある実施例では、2個以上のストリームがスタート時間の同じパケットを持っている場合は常に同じIVを複数のパケットに用いる。これは、各ストリームの第1パケットに通常発生するが、これらが通常はスタート時間0のためである。第1パケット以外は、スタート時間が同じパケットが2個あることは少ない。
ある実施例では、リアルネットワーク・ファイルフォーマットへのこのような変更は、図15に示すように行う。図示の通り、RMFFファイル1501は標準リアルネットワーク・RMFFフォーマットでフォーマットする。このファイルをパッケージャ1502に渡す。また、パッケージャ1502には権利ファイル1503も渡される。パッケージャ1503は保護RMFFファイル1504を生成し、これは上述し、図15に一覧するように、ヘッダへの1個以上のDigiBoxの組み込み、コンテンツの暗号化、mimeタイプの修正等、各種改変を含む。
ある実施例において、上述のトラスト・プラグインを図16および図17に示す。図16は標準リアルネットワーク・アーキテクチャを示す。ファイル1601(リアルネットワーク・フォーマットのストリーミングオーディオファイル)をリアルネットワークG2・クライアントコア1601に与える。ファイル1601はサーバ1603から、または直接接続1604を介してリアルネットワークG2・クライアントコア1602に与えることができる。
ファイル1601を受け取ると、リアルネットワークG2・クライアントコア1602は、ファイル1601に関連するヘッダから取得した情報に基づき、ファイル1601に適したレンダリング・プラグインにアクセスする。レンダリング・プラグイン1605および1606を示す。ファイル1601がレンダリング・プラグイン1605またはレンダリング・プラグイン1606でレンダリングできないタイプである場合、リアルネットワークG2・クライアントコア1602は、ユーザの支援を求めるか、特定のファイルタイプに関連するサイトにアクセスすること等により、適切なプラグインにアクセスしようとする。
レンダリング・プラグイン1605または1606は従来の方法でファイル1601を処理する。この処理は、ファイル1601の解凍を含む可能性が高く、コンテンツのレンダリングに役立つ他のタイプの処理を含むことができる。この処理が完了すると(コンテンツはストリーミングされているので、処理は他のパケットセットのレンダリングと同じ時にあるパケットセットに発生していることを念頭に置く)、ファイル1601がリアルネットワークG2・クライアントコア1602に戻され、これが情報をレンダリング装置1607に渡す。レンダリング装置1607は、たとえばステレオ・スピーカ、テレビ受信機等でよい。
図17に、トラスト・プラグインがリアルネットワーク・アーキテクチャ全体内で動作する方法を示す。図17に示すアーキテクチャの多くは図16に示すものと同じである。そのため、ファイル1701は、サーバ1703または直接接続1704を介してリアルネットワークG2・クライアントコア1702に与えられる。ファイルは、レンダリング・プラグイン1705および1706を含むプラグインを使ってリアルネットワークG2・クライアントコア1702で処理され、レンダリング装置1707に渡される。
図17は、トラスト・プラグイン1708および1709とIRP1710の組み込みの点で図16と異なる。リアルネットワークG2・クライアントコア1702で当初登録した時、トラスト・プラグイン1708および1709はリアルネットワークG2・クライアントコア1702に、RNWK保護タイプのコンテンツを処理できることを知らせる。リアルネットワークG2・クライアントコア1702がこのタイプのストリームに遭遇すると常に、トラスト・プラグイン1708等のストリームを処理するトラスト・プラグインのインスタンスを作成することが可能になる。そして、このストリームをトラスト・プラグインに渡す。
トラスト・プラグイン1708に渡されたストリームは、多分図14に示すフォーマットである。この場合、トラスト・プラグイン1708はメディア・プロパティ・ヘッダ1402からDigiBox1404を取り出す。また、メディア・プロパティ・ヘッダ1402からコンテンツIDとオリジナルのmimeタイプを取り出す。トラスト・プラグインはまず、同じコンテンツ識別子を持つ他のストリームが開いていないかチェックする。開いている場合、DigiBox1404はそれ以上処理されない。その代わり、この他のストリームのボックスからのキーおよびIVが使われる。これによって、第2のボックスを開く時間コストを避ける。また、これによって、保護されたストリームが複数あっても、ユーザは支払いを一度しか尋ねられないようにする。コンテンツID、キー、IVを共有することで、ユーザが一度しか支払いを行わずに複数のファイルを再生できる。これは、SMILを使って複数のRMFFファイルを1つのプレゼンテーションで再生する時に有益である。
別のおそらくより安全な実施例では、このチェックは実行せず、コンテンツ識別子を持つ他のストリームが既に開かれている時でも現在のDigiBoxからのキーおよびIVを用いる。
同じコンテンツ識別子を持つほかのストリームが識別されなかった場合、トラスト・プラグイン1708はDigiBox1404をIRP1710に渡す。IRP1710は、リアルネットワークG2・クライアントコアおよびトラスト・プラグイン1708と同じコンピュータで動くソフトウエア・プロセスである。IRP1710は保護された環境で動くことができ、また、IRP1710を攻撃に対して抵抗させるよう設計されたいたずら抵抗技術を組み込むことができる。
IRP1708はDigiBox1404を処理し、暗号キーおよびIVを取りだし、これらはトラスト・プラグイン1708に渡される。トラスト・プラグイン1708はこの情報を使って暗号化コンテンツ1406を解読する。
トラスト・プラグイン1708は、メディア・プロパティ・ヘッダ1402から取り出したオリジナルのmimeタイプ情報を使ってコンテンツに用いるレンダリング・プラグインのインスタンスを作成する(レンダリング・プラグイン1705等)。これが終わると、トラスト・プラグイン1708はリアルネットワークG2・クライアントコア1702への通常の連弾リングプラグインのように行動し、リアルネットワークG2・クライアントコア1702はストリーミングした情報をトラスト・プラグイン1708に渡し、これがその情報を解読してレンダリング・プラグイン1705に渡す。リアルネットワークG2・クライアントコア1702の視点からは、トラスト・プラグイン1708は適切なレンダリング・プラグインを構成し、コアは情報がトラスト・プラグイン1708によって第2のプラグイン(レンダリング・プラグイン1705等)に渡されていることを知らない。
同様に、レンダリング・プラグイン1705の視点からは、トラスト・プラグイン1708はリアルネットワークG2・クライアントコア1702のように行動する。そのため、レンダリング・プラグイン1705は解読したストリーム情報をトラスト・プラグイン1708から受け取るが、レンダリング・プラグイン1705は情報がリアルネットワークG2・クライアントコアから直接受け取ったとまったく同じように動作する。このように、レンダリング・プラグイン1705のためにフォーマットしたコンテンツは、代わりにまずトラスト・プラグイン1708によって処理され、リアルネットワークG2・クライアントコア1702またはレンダリング・プラグイン1705を改変する必要がない。
トラスト・プラグイン1708はまた、セキュリティに役立つ他の処理を実行することができる。たとえば、トラスト・プラグイン1708は解読したファイルをレンダリング・プラグイン1705に渡す前にこれをウォーターマークすることができるが、ウォーターマークアルゴリズムはレンダリング・プラグイン1705によるファイルの解凍の影響を受けないものでなければならない。
(MP3実施例)
上述の技術はまた、MP3ストリーミングコンテンツに適用できる。
MP−3仕様は、標準ファイルフォーマットを定義していないが、ビット・ストリームを定義しており、これを図18に示す。図18では、MP−3ビット・ストリーム1801はコンテンツ1802を含む。コンテンツ1802は、フレーム1803、フレーム1804、フレーム1805として示すフレームに分けられる。フレーム1804と1805の間の点は、コンテンツ1802が多数のフレームを含むことができる事実を象徴している。
各フレームは、図18にヘッダ1806、1807および1808として示すように自身の小さいヘッダを含む。
多くのMP3プレーヤは、トレーラー1809として示す、ID3V1仕様で定義する小さいトレーラーをサポートする。これは、フィールド1810、1811および1812として示すアーティスト、タイトルおよび年度等のフィールドを持つ128バイトのトレーラーである。ID3V1トレーラーは、有効なMP3データに見えないため、このようなトレーラーを読み取るよう設計されていないプレーヤには無視される。
図19に、MP3フォーマットに適用される保護の実施例を示す。この保護されたフォーマットはファイル1908を構成し、次のアイテムを含む。
・暗号化されていないMP3コンテンツ1912。これはプレーヤが遭遇する最初の情報で、あらゆる標準MP3プレーヤがレンダリングする。これは、コンテンツが保護されていることを示し、コンテンツへのアクセス方法に関する指示を与えるメッセージを含むことができる(トラスト・プラグインのURL、支払いメカニズムに関する指示等)。暗号化されていないMP3コンテンツ1912は、コンテンツの最初の部分(30秒等)からなる「ティーザー」を含むことができ、これはコストなしにレンダリングされるため、ユーザは購入の決定を行う前にコンテンツをサンプリングすることができる。
・暗号化したMP−3コンテンツ1901で、数千のMP−3フレームを含むことができる。ある実施例では、フレーム32個毎の最初の8個のフレームを暗号化する。そのため、プレーヤが解読できない限り、フレームの4分の1が無用にレンダリングされる。実際には、これは過度の暗号化または解読コストを課すことなく、コンテンツを販売不可または利用不可にレンダリングすることができる。暗号化および解読のコストをさらに削減するには、各フレームの32バイトのみ暗号化する。この実施例では、これらはヘッダおよびCRC情報の後の最初の32バイトである。別の実施例では、各フレームの別の32バイトを暗号化することができる。この実施例では、コンテンツはアルゴリズム出力フィードバック・モードを使ってDESで暗号化する。ファイルの最初のIVはランダムに生成してから、フレーム番号でxorして各フレームの一意のIVを生成する。
何らかの情報の暗号化を含み、別の暗号化アルゴリズムを使う多くの別の実施例が存在する。
・128バイト含むID3 V1トレーラー1902。
・16バイト含むコンテンツID1903。これは、既に開いているDigiBoxを開くのを避けるため、プレーヤ・アプリケーションが用いる。
・約18KバイトからなるDigiBox1904。これは、キー1909、IV1910、ウォーターマーク指示1911を含む。ウォーターマーク指示1911は関連コンテンツのウォーターマークのプロセスで用いることができる。
・コンテンツID1903のファイルにアドレスを含み4バイトからなるアドレス1905。
・トレーラー1902のコピーであるID3V1トレーラー1907。
ファイル1908に遭遇した従来のMP3プレーヤでは、コンテンツの少なくとも一部が暗号化されているため、コンテンツ1901をレンダリングすることができない。このようなプレーヤはトレーラー1902まで読み取り、その時点で処理を中止する可能性が高い。ID3トレーラー情報を探す従来のプレーヤは終了を探し、それを見つける。
図20に、保護されたコンテンツを処理およびレンダリングするよう設計されたMP3プレーヤの実施例を示す。この図は、バッファ2006およびデコンプレッサ2007を含み、レンダリング装置2008にコンテンツをレンダリングするMP3プレーヤ2001を示す。ある実施例では、これはSoniqueが販売するプレーヤの修正バージョンである。
プレーヤ2001は、標準インターフェースを介して保護されたMP3ファイル2002を取得する。保護されたMP3ファイル2002は図19に示すフォーマットを持つ。
プレーヤ2001が保護されたMP3ファイル2002を再生するよう求められると、プレーヤ2001はまずトラスト・プラグイン2003を呼び出すが、これは承認機能2009と解読機能2005を含む。トラスト・プラグイン2003は承認機能2009を呼び出し、保護されたMP3ファイル2002が保護されているか、ファイル再生の認証が存在するか判断する。承認機能2009はまず保護されたMP3ファイル2002へのポインタを与えられる。そして保護されたMP3ファイル2002をトラストID1906の存在についてチェックする。トラストID1906が見つからない場合、承認機能2009はファイルが保護されてないというインジケータを返す。するとプレーヤ2001はノーマルなMP3ファイルとしてファイルをレンダリングする。
トラストID1906が見つかると、承認機能2009はコンテンツID1903をチェックして、既に開かれているファイルのコンテンツIDと一致するか調べる。
保護されたMP3ファイル2002が以前に開かれていると、DigiBox1904は承認機能2009によって取り出され、IRP2004に渡されるが、これは保護された環境で動くか、いたずら抵抗を組み込むソフトウェアを含む。IRP2004はDigiBoxに関連するルールに準拠してDigiBox1904を開こうとする。このようなルールでは、たとえばユーザがコンテンツの利用に対する支払いに同意することを求める。DigiBox1904を開けないと(ユーザが支払いを拒否する等)、承認機能2009に、ファイルが保護されており、再生できないことを示す値が返される。
DigiBox1904を該当するルールに準拠して開くと、キーおよびIVが取り出され、解読機能2005に渡される。キーおよびIVは後の再利用のためコンテンツIDと共に保存され、解読機能2005が初期化される。これによって、DigiBoxを開く回数が減るため、システム全体のパフォーマンスが改善される。このような行為は毎回大きな待ち時間を導入することになる。
一方、未保護メモリにこの情報を保存するとシステム全体のセキュリティが低下する。セキュリティは、この情報を保存せず(それによって、対応するファイルが既に他のDigiBoxを通じて開かれている場合でも各DigiBoxを開かせることによって)、あるいは保護された形式あるいは安全な場所にこの情報を保存することによって強化する。
保存されたキー、IVおよびコンテンツIDは、承認機能2009が最初にコンテンツIDをチェックして既に開かれているファイルのコンテンツIDに一致するか判断する時に参照される。新しいコンテンツIDが保存されたコンテンツIDに一致する場合、一致するコンテンツIDに対応する解読機能2005は保存されたキーおよびIVを使って再初期化され、これが保護されたファイルで再生が許されることを示す値が承認機能2009に返される。
保護されたMP3ファイル2002が開かれると、プレーヤ2001がパケットを必要とする度に、プレーヤ2001はこれをバッファ2006に読みこみ、ヘッダとCRCを取りだし、残りのデータとフレーム番号を解読機能2005に渡し、これが必要ならフレームを解読してプレーヤ2001に戻す。
この実施例では、オーディオ・コンテンツを暗号化したが、ヘッダまたはトレーラーは暗号化していない。これによって、プレーヤ2001はヘッダまたはトレーラーの情報を承認機能2009または解読機能2005の介入なしに処理できる。これによって、プレーヤ2001は再生時間、アーティスト、タイトルなどの情報をプレイリストディスプレイに入れ、トラスト・プラグイン2003からのアクションを必要とせずにデコンプレッサ2007を初期化できる。
(コマース・アプライアンス実施態様)
この節では、消費者用エレクトロニクス装置におけるデジタル作品を一貫して制御できるように設計されるコマース・アプライアンス・アーキテクチャから成る実施態様について説明する。これは別個の実施態様として説明されるが、この実施態様の特徴は、本説明の他の部分において示される他の実施態様の特徴と組み合わせることができ、またはこれに取って代わることができるものと解釈すべきである。
1つの実施態様において、この節は、一貫したルールおよび制御とMPEG−4のコンテンツとの対応付けをサポートするよう考案されたMPEG−4標準の修正、ならびにコマース・アプライアンスが前記のコンテンツを使用するために必要なエレメントについて説明する。ただし、これは単なる1例である。
図23に示される1つの実施態様において、各コマース・アプライアンス2301は、CMPS(コンテンツ管理・保護システム)2302を含む。各CMPSは、コンテンツを解読することおよびコンテンツが関連ルールにより許可されるとおりに使用されるようにすることを含めて、被制御コンテンツの使用を統御する役割を果たす。
統御対象の各デジタル作品は、1つまたはそれ以上のCMPO(コンテンツ管理・保護オブジェクト)例えばCMPO2303と対応付けられる。各CMPOは、デジタル作品の使用に適用されるルールを指定することができ、作品を解読するために使われるキーを含むことができる。
CMPOは、階層式に編成することができる。1つの実施態様においては、コンテンツアグリゲータ(例えば、ケーブルチャンネル、ウェブ・サイトなど)は、特定のグローバル・ルールをそのチャンネルにある全てのコンテンツと対応付けるために使用されるチャンネルCMPO(“CCMPO”)を指定する。独立した各作品は、作品全体に適用されるルールを対応付けるために使用される連想マスターCMPO(“MCMPO”)を持つ。各オブジェクト(またはMPEG−4における基本ストリーム)は、その特定のオブジェクトに適用されるルールを含んでいるCMPOに対応付けられる。
1つの応用例において、コマース・アプライアンス2301は、CMPS2302を含んでいるMPEG−4である。特定の作品をプレイするよう求めるユーザ・コマンドを受け取ると、CMPS2302は、その作品と対応付けられるMCMPOをダウンロードして、ルールを入手する。ルールは、作品の解読および視聴のために要求される条件を含む。ルールが満たされると、CMPS2302は、MCMPOから得るキーを使用して、基本ストリーム(“ES”)を解読し、解読したESをバッファに送る。その後、明文の作品を含んでいる記憶ロケーションまたはバスが安全でなければならないこと、および、CMPS2302が、ダウンストリーム処理を統御し、かつ実際に視聴のためにどのAVOがリリースされたかに関する情報を入手することができることを除いて、MPEG−4作品の合成(コンポジット)およびレンダリング(再生)はMPEG−4標準に従って進行する。
変形として、作品を入手し統御するプロセスは、この作品およびその他の作品を統御するルールを適用するCCMPOのダウンロードを含むことができる。CCMPOに含まれるルールが満たされると、CMPS2302は、視聴される特定の作品に対応付けられるMCMPOを解読するために使用されるキーを入手できる。
別の変形事例においては、CMPOは各ESと対応付けられる。この変形事例においては、MCMPOは、各CMPOの解読のために1つまたはそれ以上のキーを提供し、一方CMPOは、連想ESの解読のためにキーを提供する。
コマース・アプライアンス2301は、コンテンツの使用を統御するために確実にルールおよび制御を適用することによってコンテンツ関係の権利の分散同等管理をサポートする機能を含んだ、コンテンツレンダリング装置である。コマース・アプライアンス2301は、コンテンツの入手およびその管理されたレンダリングのための汎用機能を含むことができる(例えばDVDプレーヤおよび/またはその他の光ディスク・フォーマット・プレーヤはDVDディスクおよび/またはその他の光ディスク・フォーマット・ディスクをプレイして、コンテンツをテレビジョンに出力することができる)。前記のShear特許出願において説明されるとおり、コマース・アプライアンス2301は、高容量光ディスク(非限定的例としてDVDディスク)のデジタルコンテンツを保護し使用するためのどのような手段でも使用できる。
コマース・アプライアンス2301は、また、コンテンツ機能のその他の管理および保護に関する特別目的の機能も含む。この特別目的の機能は、単一のCMPSまたは協同CMPS装置の形で埋め込まれるまたはその他の方法で含まれる1つまたはそれ以上のCMPS2302によりサポートされ、制御関係の情報をユーザに表示しかつ(または)制御関係の情報および指示をユーザから受け取るよう設計されるユーザ・インターフェース(例えばユーザ・インターフェース2304)を含む。コマース・アプライアンス2301は、また、他のコマース・アプライアンス(例えばDVDプレーヤおよびデジタル・テレビと接続されるセットトップ・ボックス)および(または)コンピュータ装置など(これも1つまたはそれ以上のCMPSを含むことができる)他の装置とネットワーク化することができるように設計できる。
コマース・アプライアンスの重要な形態は、定期的または継続的に、コンピュータ管理のドッキング環境(例えば、スタンドアローン・コンピュータまたはそれ自体がコマース・アプライアンスであるその他のコンピュータ管理の装置)と確実に結合し、コマース・アプライアンスの1つまたはそれ以上のCMPSがドッキング環境とインターオペレートして、特定の機能および(または)特定のコンテンツの使用イベントの実行が前記のインターオペレートにより少なくとも部分的にコマース・アプライアンスのCMPSおよびコンテンツ使用管理情報とドッキング環境のトラスト環境機能(例えば、さらに1つまたはそれ以上のCMPSおよび例えばCIの使用により提供される情報など使用管理情報)の協力を通じて可能になることを特に想定している。
コマース・アプライアンスの実施例は、ビデオおよびその他のタイプの情報のフォーマット、マルチプレックス、伝送、合成およびレンダリングに関する新たに出現するMPEG−4標準に従って設計できる。
コマース・アプライアンス2301は、どのようなコンピュータ装置でも可能であり、その非制限的例としては、コンテンツをレンダリングするためのMPEG−4ソフトウェア(および/またはハードウェア)を含むパソコン(PC)がある。本発明に従って、PCは、本文書において説明するとおり1つまたはそれ以上のCMPSを使用できる。
コマース・アプライアンス機能は、ストリーミング方式のチャンネルコンテンツに限定されず、静止画像、テキスト、合成および未加工のビデオおよびオーディオおよびアプレット、アニメーション・モデルなどの機能コンテンツなど、集合合成コンテンツから成る様々なブラウザ・タイプのアプリケーションを含むことができる。この種の装置には、ブラウザ、セットトップ・ボックスなどが含まれる。
(コンテンツ管理・保護システム(CMPS))
各コマース・アプライアンスは、1つまたはそれ以上のCMPS(例えばCMPS2302)を含んでいる。CMPSは、被制御コンテンツの使用方法に適用されるルールおよび制御の使用を含めて、ルールおよび制御の呼び出しおよび適用を担当する。
CMPS2302の特別な機能は、以下のとおりである:
(a)ルールの識別および解釈
CMPS2302は、どのルールが適用されるかを決定し、既存の状態情報を考慮してこのルールをどのように解釈すべきかを決定しなければならない。1つの実施態様においては、このために、CMPS2302は、作品と対応付けられる1つまたはそれ以上のCMPO2303を入手し、これを解読しなければならない。
(b)特定のルールと対応付けられるコンテンツの識別
CMPSは、どのコンテンツが特定の1つまたはそれ以上のルールの適用を受けるかを決定しなければならない。これは、1つまたはそれ以上のCMPO2303および(または)その他のCIから情報を入手することによって遂行される。1つの実施態様においては、CCMPOは1組の作品を識別し、MCMPOは特定の作品を識別し、CMPOは特定のESまたはオーディオ・ビジュアル・オブジェクト(“AVO”)を識別する。
(c)ルールが許容するとおりのコンテンツの解読
CMPS2303は、関連標準が要求するデータ・フローへの再挿入の前に、解読のために全てのコンテンツがCMPS2302に送られるように設計することができる。例えば、MPEG−4の場合、デマルチプレクサ2305からの出力はCMPS2302に送られる。CMPS2302はコンテンツを解読し、関連ルールおよび制御が満たされれば、コンテンツをMPEG−4バッファに送る。この点以降は、コンテンツ関係のデータ・フローはMPEG−4によって説明されるとおりである。
(d)ルールに基づくコンテンツの制御
CMPS2302は、例えば本文書に組み込まれるGinter’333特許出願において説明されるとおり安全イベント管理を使用することにより初期解読後のコンテンツの使用を制御するために使用される。MPEG−4システムの場合、このためには、CMPS2302が以下の機能、デマルチプレクス(デマルチプレクサ2305によって行われる)、解凍/バッファリング/AVOへのデコード(シーンディスクリプタグラフ2306、AVOデコード2307およびオブジェクト・ディスクリプタ2308によって行われる)、シーン・レンダリング(合成およびレンダリング・ブロック2309で行われる)、を果たすハードウェアおよび(または)ソフトウェアを制御しなければならない。
CMPS2302は、また、以下のものに従って、使用および結果を制御するためにも使用することができる:(1)CGMSおよび(または)SGMS標準など世代コピー保護ルール;(2)MPEG−4書類M2959、DAVIC「著作権管理枠組み」およびその他の出版物において説明されるとおりNDSにより提案および(または)実現されるものなど各種の条件付きアクセス制御方法;(3)Ginter’333特許出願において提案されものおよび(または)Stefikその他に対する米国特許第5,638,443号に説明されるものなど権利管理言語;(4)Blaze、FeigenbaumおよびLacyによって説明されるAT&Tのポリシー・メーカーに従って説明される使用ポリシー;(5)DVDコピー保護技術作業委員会のDTDG小委員会が指定するおよび(または)日立、Intel、松下、ソニーおよび東芝が提案する標準(以後これを「5社提案」と呼ぶ)により実現されるIEEE1394シリアル・バス伝送のためのCCIレイヤー・ビット;(6)例えばIBMCryptolopeなど安全コンテナ技術を使って伝送される制御:(7)使用ルールおよび結果を指定するためのその他の手段、など。
(e)コンテンツの使用のモニタ
CMPS2303を使って、1)ルールが守られるようにするため、2)システムまたは保護されるコンテンツを不正変更しようとする試みがなされないようにするため、および3)支払いのために必要な使用情報を含めてルールが使用する情報を記録するため、にコンテンツをモニタすることができる。
(f)ユーザ予算の更新
CMPS2302を使って、使用量に合わせてユーザの予算またはその他の予算を更新することができる。
(g)排出情報
CMPS2302を使って、支払いおよび使用量情報(「排出情報」)を1つまたはそれ以上のコマース・ユーティリティ・システムを含めて外部プロセスに出力ことができる。
(h)ハードウェア識別および構成
(i)外部プロセスからの新規の、追加のおよび(または)増大されたルールの入手。その非限定的例は、本文書に組み込まれているShear特許出願において説明される権利および許可クリアリングハウス(情報処理センター)である。
(j)証明オーソリティ、配備マネージャ、クリアリングハウスおよび(または)その他の信頼されるインフラ・サービスからのキー、証明書などデジタル信任状および(または)管理情報の受け取り。
(k)ユーザおよび(または)機器のプロファイリングおよび(または)属性情報の安全な送受信。
(l)コンテンツおよび(または)CMPOおよび(または)CMPS使用を要求するユーザまたはあるユーザ・クラスのメンバーの確実な識別。
(m)アプリケーション・コードの信憑性の確実な証明またはその他の保証。例えば、CMPO2301および(または)CMPS2302内で、ルールおよび(または)コマース・アプライアンス内での条件付き実行のためにJava(登録商標)コードで書かれた情報などその他のアプリケーション情報を含むアプリケーション・コード、および(または)少なくとも部分的にCMPO2301および(または)CMPS2302外で実行されるアプリケーション・コードが変更されておらずかつ(または)保証済み(例えば信任される)当事者により引き渡されていることの保証。
(n)1つのコマース・バリュー・チェーンの中で複数の独立した当事者の権利を保護するコンテンツ使用制御を行うために、本文書に組み込まれているGinter’333において説明されるような個別に引き渡されるCIの確実な処理。
(o)例えばコンテンツ使用を制御するためおよび(または)イベント・メッセージを発行するためにウォーターマーキング情報を解釈して、イベント・メッセージを例えばMCMPO権利クリアリングハウス管理ロケーションなど遠隔オーソリティに戻すことを含めて、たとえば本文書に組み込まれているGinter’333特許出願において説明されるとおりのウォーターマーキング(例えばフィンガープリンティングを含めて)機能の確実な実施。
CMPS2302は、コマース・アプライアンスおよび接続される装置の現在のハードウェア構成を識別し(例えば、どのラウドスピーカが使用可能か、特定のモニタがデジタル出力ポートを持っているか否かを含めて付属モニターの識別など)、記録するために使用できる。付属装置(ラウドスピーカなど)もCMPSを含む場合、CMPSを使って、調整のための通信できる(例えば、セットトップ・ボックスおよび(または)ラウドスピーカ装置の中のCMPSは、ダウンストリームのデジタル・テレビジョンまたはその他のディスプレイ装置中のCMPSと通信して、仮想権利プロセスを通じて統御を担当するCMPSまたは協同統御の性質を決定することができる。仮想権利プロセスは、例えば単一ユーザコンテンツ処理および使用装置のために複数のCMPSを使用するために前記のShear特許出願において説明されるように権利プロセスを探し、ロケートし、提供し、集合し、分配し、管理する権利オーソリティ・サーバを任意に含む)。
本発明には、最適の商業的フレキシビリティおよび効率を保証し、プロバイダの財政的権利および著作権、アプライアンス・プロバイダのインフラの権利、政府および(または)社会的団体の社会的権利、および消費者を含めた全当事者のプライバシーの権利を含めてコマース・バリューチェーン参加者の権利の行使を保証するために、1つまたはそれ以上のユーザ・ロケーションにおいて複数のコマース・アプライアンスおよび(または)CMPSを含む装置が含まれる。ユーザ・ロケーションの非限定的な例としては、少なくともときに相互に通信でき、少なくとも部分的にCMPSを使用することにより論理的に協同して動作する仮想ネットワークを構成できる、家、アパートメント、ロフト、オフィスおよび(または)乗用車、トラック、スポーツ用車両、ボート、船舶または飛行機などの車両が含まれる。コンテンツ使用監査、コンテンツ使用結果およびCI仕様を含めてこのようなバリュー・チェーン参加者のネットワーク間の対話に関する情報は、少なくとも部分的に例えばVDEノードの情報報告機能に関する前記のGinter’712特許出願に説明されるCMPSを使用することにより、前記の情報に対して権利を有する当事者に確実に可変的に報告される。
図24に示される1つの実施態様においては、CMPS2401は、特別目的ハードウェアおよび常駐ソフトウェアまたはファームウェアによって構成される。これには、以下のものが含まれる。
(a)1つまたはそれ以上のプロセッサまたはマイクロコントローラ、例えばCPU2402。CPU2402は、必要なソフトウェアの実行を含めてCMPS2401の処理全体を制御する。
(b)1つまたはそれ以上の外部通信ポート、例えばポート2403。ポート2403は、外部ネットワーク2404と通信する。外部ネットワークには、LAN、WANまたはインターネットなど分散ネットワークが含まれる。外部通信ポートは、1つまたはそれ以上のIEEE1394シリアル・バス・インターフェースも含むことができる。
(c)メモリ2405。メモリ2405に含まれるメモリのタイプ−およびそれが記憶する情報の例−は、以下のとおりである。
1)ROM2406。ROM2406は、(1)CMPSオペレーティング・システム2407および(または)CMPSBIOS2408、(2)CMPSに恒久的に記憶されるルール/制御2409、(3)ルールおよび制御を組み立てるために使用できる制御基本要素2410、(4)パブリック/プライベート・キー・ペアを含めてCMPSと対応付けられるキー2411、(5)バージョン情報を含めてCMPS2401および(または)装置を識別するために設計される1つまたはそれ以上の証明書2412、(6)不正変更をチェックするために使用されるハードウェア署名情報2413(例えば、装置の予想されるハードウェア情報を反映するハッシュ署名)、など、CMPS2401に恒久的に記憶される情報を含むことができる。
2)RAM2414。RAM2414は、CMPS2401が必要とする現在状態情報、並びに後に使用するためにCMPS2401が一時的に記憶する情報を保持することができる。RAM2414に記憶される情報には、以下のものが含まれる:(1)現在CPU2402で実行中のソフトウェア2415;(2)現在アクティブのCMPO2416;(3)現在アクティブのコンテンツ・オブジェクトのコンテンツ・オブジェクト識別符号2417(例えばMPEG−4システムにおいては、これはアクティブAVOの識別符号である);(4)現在アクティブのルール2418;(5)高位の編成の識別符号を含めてコンテンツ使用の現在状態に関する状態情報2419(MPEG−4システムにおいてこれはシーン識別子ツリーの識別符号および合成およびレンダリングの現在状態である);(6)外部伝送のために設計される使用および(または)ユーザに関して記憶される排出情報2420;(7)更新済み予算情報2421;(8)コンテンツ2422;(9)アクティブコンテンツクラス情報2423;および(10)識別特性情報を含むアクティブ・ユーザ識別2424。
3)NVRAM2425(例えば、フラッシュ・メモリ)。このタイプのメモリは、少なくとも次のものを含めて持続するが変化する可能性のある情報を保持することができる:(1)予算情報2426;(2)識別符号、クレジットカード番号、所望のクリアリングハウスおよびその他のコマース・ユーティリティ・システムなどユーザ情報2427;(3)嗜好、プロフィルおよび(または)属性情報などユーザ嗜好2428;および(4)属性および(または)状態情報など機器情報2429。
上に説明するCMPSメモリ2405に記憶されるタイプの情報は、以上のタイプのメモリに択一的に記憶される。例えば、ある種の予算情報はROMにロケートされ、特定の1つまたはそれ以上のクリアリングハウスに関する情報はROMに記憶され、特定のアクティブ情報はNVRAMに移動できる。
予算情報は、例えば下記のものから成る記憶された予算を含むことができる:
(1)電子キャッシュ
(2)予め許可を受けている使用(例えば、前払いに基づいてユーザは12時間のプログラムを見る権利を有する)
(3)例えば本文書に組み込まれているShear特許において説明されるとおり、異常なおよび(または)無許可の使用を反映するパターンに関するセキュリティ予算。この種の予算はある種の反復的使用行為を制限しかつ(または)これを報告する。
(4)販促用資材への関心、および(または)1つまたはそれ以上のクラスの作品(例えば特定の発行者の作品)から複数の作品をプレイして、この発行者が提供する他の作品などこの発行者の作品を1つまたはそれ以上を将来プレイする際に、クレジットまたはキャッシュ払い戻しおよび(または)割引のきっかけをつくるなど、使用イベントから生じるクレジットを含む電子クレジット。
ユーザ情報は、コマース・アプライアンスの許可を受けたユーザに関する下記のタイプの情報を含むことができる:
(1)名前、住所、電話番号、社会保障番号またはその他の識別子
(2)ユーザの認証のために使われる情報。この中には、ユーザが選択したパスワードおよび(または)指紋、目の色データなど生体測定データが含まれる。
(3)ユーザのパブリック/プライベート・キー・ペア
(4)ユーザ属性および(または)プロファイリング情報
4)着脱式メモリ2430。これには、スマートカード、フロッピー(登録商標)・ディスクまたはDVDディスクなどどのようなタイプの着脱式メモリ記憶装置でも含まれる。コマース・アプライアンスが着脱式メモリ装置(例えば、DVDプレーヤ)で受信したコンテンツをプレイするよう設計される場合、この機能をCMPSのために使用できる。
メモリ2405は、保護されたデータベースを含むことができ、この場合、特定の制御、予算、監査、セキュリティおよび(または)暗号化情報が安全なメモリに記憶され、情報全体は安全でないメモリに暗号化されて記憶される。
(d)暗号化/解読エンジン2431。CMPS2401は、コンテンツおよびCMPO及び(または)その他を含めて受信した情報を解読するための機構を含まなければならない。CMPS2401は、また、情報がCMPS2401の安全な境界外で伝送される場合には情報を暗号化するための機構も含むことができる。この情報には、クリアリングハウスまたはその他の外部レポジトリに送られる排出、およびIEEE1394シリアル・バス2432を通じてコンピュータ中央処理装置またはモニタなどビュー装置に送信されるコンテンツなど使用のために安全でないバスで送信されるコンテンツが含まれる。この場合、例えばコンテンツの解読を含めてコンテンツの使用を制御するために受信側CMPSを使用することができる。暗号化/解読エンジン2431は、CMPSの一意性を識別し保証し安全なコンテンツ制御と安全な暗号化/解読装置の間の安全な通信チャンネルをサポートするために使用できるキーまたはキー・ペアを作成するために使用される乱数ジェネレータ2433を含むことができる。
(e)安全なクロック/カレンダー2434。CMPS2401は、日付および時刻に関する絶対的情報、絶対的経過時間に関する情報および(または)システムが行う操作の経過時間を判定するために使用される相対的タイミング情報を示すように設計される安全なクロック/カレンダー2434を含むことができる。安全なクロック/カレンダー2434は、バッテリー・バックアップ2435を含むことができる。さらに、電力損失の場合に正確な時間を回復するためまたは不正変更をチェックするために使用される外部タイミング情報と同期化するための同期化メカニズム2436を含むことができる。
(f)コンテンツのレンダリングおよび表示に使用されるブロックへのインターフェース2437。このインターフェースは、ルールに基づいてレンダリングおよび表示を制御するためおよびフィードバック情報を入手するために使用される。フィードバック情報は予算作成のためまたは外部サーバに情報を提供するために使用できる(例えば、どのコンテンツが実際に表示されたか、どの選択肢をユーザが選んだかなどに関する情報)。図23に示されるMPEG−4プレーヤの場合、例えばバッファリング、シーンディスクリプタグラフ、AVOデコード、オブジェクト・ディスクリプタおよび合成およびレンダリングを処理するコマース・アプライアンス回路に対する制御を含むことができる(例えば制御ライン2310、2311および2312)。
合成およびレンダリング・ブロック2309からのフィードバック・パス2313は、コンテンツが実際に視聴者にリリースされたか否か、およびそれがいつであるかをCMPS2302が判定できるようにする。例えば、合成およびレンダリング・ブロック2309は、AVOオブジェクトが視聴のためにリリースされるときCMPS2302に開始イベントを発行し、AVOオブジェクトが視聴されなくなったらCMPS2302に停止イベントを発行することができる。
合成およびレンダリング・ブロック2309からのフィードバックは、視聴のために実際にリリースされたオブジェクトの識別符号とリリースが許可されたオブジェクトの識別符号をCMPS2302が照合できるようにすることによって、不正変更を検出するために使用することもできる。開始および終了時間も、予想経過時間と比較でき、これが一致しない場合には無許可のイベントの発生を示す可能性がある。
1つの実施態様においては、フィードバック・データに下記のプロトコルが使用される:
start<id>,T,<インスタンス番号><クロック時間><レンダリング・オプション>
基本ストリーム<id>が時間TにSDグラフにおいて到達可能であるが、時間T−1では到達不能の場合、に送信される。
end<id>,T,<インスタンス番号><クロック時間><レンダリング・オプション>
Tはプレゼンテーション時間、クロック時間は曜日および日付情報を含む壁時計時間であり、レンダリング・オプションはQoSおよびプレイ速度(例えば早送り)などの情報を含む。
基本ストリーム<id>がSDグラフにおいて時間T−1に到達可能であるが、時間Tに到達不能である場合に送信される。SDグラフ・ストリームは、表示更新のためにSDグラフを横断中、レンダラがSDグラフ更新ストリーム<id>が作成または修正したノードに遭遇する場合、到達可能である。これは、ツリーの全てのノードが更新履歴リストを必要とすることを暗示する。このリストは、ストリームの数ほど大きい必要はない。さらに、CMPSがストリームを監視しているかどうかを示すためにラベルをつけることができ、ラベルが付けられない場合、リストはストリームを記録しない。AV基本ストリームは、ストリームのコンテンツがレンダリングされた場合到達可能である。
SDグラフ更新ストリームの場合、オブジェクト・インスタンス番号は無視される。AVストリームの場合、インスタンス番号はディスプレイが同一のデータ・ストリームの2つ以上のインスタンスを同時に示す場合に曖昧さを排除するために使用できる。インスタンス番号は、数え上げる必要はない。この場合、インスタンス番号は、単にCMPSが開始イベントと終了イベントを照合できるようにする一意のidに過ぎない。
第二の実施態様において、CMPS2302は、装置の他の機能のためにも使用される汎用ハードウェアと組み合わせて特別目的のハードウェアを含む。この実施態様においては、汎用ハードウェアを使っても、商業的に信頼できるCMPS機能が安全で不正変更できない方法で実行されるように注意しなければならない。上に述べたエレメントの各々は、以下のとおり専用CMPS機能および汎用装置機能を含むことができる。
(a)CPU/マイクロコントローラ。これは、1つまたはそれ以上の装置を含むことができる。複数の装置が含まれる場合(例えば、CPUおよびDSP、マス・コプロセッサまたはコマース・コプロセッサ)、装置は不正変更できないように同じパッケージ内に含まれるか、安全なバスを通じて通信する。CPUは、2つのモード、すなわち安全なCMPSモードおよび安全でない汎用モードを含むことができる。安全なCMPSモードは、汎用モードのプロセッサが利用できない安全なメモリ・ロケーションのアドレス指定を可能にする。これは、例えば、安全でないモードのときCPUが安全なメモリ・ロケーションをアドレス指定できないように利用可能なメモリ・スペースの一部をリマップする回路によって、実現される。
(b)外部通信ポート。装置、例えばコマース・アプライアンスが通信ポート(例えば、ケーブル接続、インターネット接続)を通じてコンテンツまたはその他の情報を受信できる場合、この通信ポートはCMPS用に使用できる。この場合、外部通信ポートへのCMPSのアクセスは、コンテンツ受信のためにこのポートの使用を妨害することを避けるようにまたは最小限に抑えるように設計されることが望ましい。
(c)メモリ。一部のアプリケーションおよび実施態様においては、NVRAMなしでコマース・アプライアンスを操作することが可能であり、この場合、NVRAMを使用するCMPSの操作に必要とされる情報は必要に応じてRAMにロードされる。ROM、RAMおよびNVRAMは、CMPS使用および一般使用の間で共用できる。これは、以下の方法のいずれかでまたはその組み合わせで実現できる:(1)メモリ・スペースの一部を、例えばリマップによって汎用をオフリミットにする;(2)安全でない目的に使用されるメモリのたとえ一部でも、安全な許可された方法でない限り観察または変更できないように、メモリ全体を安全にする;(3)CMPSはRAMに記憶される非暗号化情報に直接アクセスする必要があるので、少なくともRAMの一部を安全にする必要があるが、CMPS情報を暗号化して記憶する。
(d)暗号化/解読エンジン。キー生成を含めて暗号化および解読機能は、汎用プロセッサ装置特に例えば浮動小数点プロセッサまたはDSP装置で実行される特別目的ソフトウェアにより処理できる。このプロセッサ装置は、コンテンツを解凍し表示するためおよび(または)ウォーターマーク/フィンガープリントの挿入および読み取りを処理するためにも使用できる。その代わりに装置は、固有の暗号化および解読機能を含むことができる。例えば、新たに出現する各種の標準は、「5社提案」およびその他のIEEE1394関連の提唱のように、DVDプレーヤなどの装置内および装置間で安全でないバスを通じて送られるよう設計されるコンテンツの少なくともある程度の暗号化および解読を要求するだろう。この種の暗号化および解読を行うために設計される回路は、CMPSアプリケーションにも使用可能である。
(e)安全なクロック/カレンダー。基礎装置は、すでに少なくともある種のクロック情報を必要とするだろう。例えばMPEG−4は、基本ストリームの同期化のためにクロック情報を使用する必要がある。安全なCMPSクロックは、このためにも使用できる。
第3の実施態様において、CMPS2302は、主に、最小限のセキュリティ関係の機能を含む汎用装置で実行されるよう設計されるソフトウェアとすることができる。この場合、CMPS2302は、コンテンツと同じチャンネルでまたは側波帯チャンネルで受信される。I−CMPSおよび(または)その他のCIは、CMPSの特定のタイプを指定する場合があり、その場合、コマース・アプライアンス2301はこれを持つか入手しなければならない(例えば、I−CMPOにより指定されるロケーションからダウンロードする)。また、例えばI−CMPOと一緒にCMPS2302が含まれる場合がある。
ソフトウェアCMPSは、コマース・アプライアンスのCPUで実行される。この方法は専用ハードウェアを使用するより本来的に安全性に欠けるかもしれない。コマース・アプライアンスが安全なハードウェアを含む場合、ソフトウェアCMPSは、コマース・アプリケーションの特定のタイプのためにハードウェアをカスタマイズするダウンロード可能なOSおよび(または)BIOSを構成することができる。
1つの実施態様において、ソフトウェアCMPSは、ソフトウェアを実質的に「強化」できる1つまたはそれ以上のソフトウェア不正変更抵抗手段を使用できる。この手段は、CMPSの一部または全てを逆行分析することを非常に困難にしさらに所与の1つまたはそれ以上のCMPSの逆行分析から一般化することを困難にするために、アルゴリズム手段を使用するソフトウェア不明瞭化テクニックを含む。この不明瞭化は、ソース・コードから独立することが望ましく、オブジェクト・コードは、CMPSごとにおよびプラットフォームごとに変えることができるので、複雑性および役割の分離をさらに増す。この不明瞭化は、CMPOなどCI並びにCMPS自体の一部または全部の両方に「独立して」採用できるので、処理環境およびおよびプロセスのための実行可能コードの両方を不明瞭にする。この方法は、また、上に説明した統合化ソフトウェアおよびハードウェア・インプリメンテーションCMPSインプリメンテーションにも応用できる。ある種の状態情報を他の目的に使用されるNVメモリのロケーションなどはっきりしない予期されないロケーションに記憶するための「場所隠し」およびウォーターマーキング/フィンガープリンティングなどのデータ隠しテクニックを使用することを含めて、他の不正変更抵抗手段も、採用できる。
(CMPSとコマース・アプライアンスの対応付け)
CMPSは、特定の装置に恒久的に付属させるか、部分的または全面的に着脱式にすることができる。着脱式CMPSは、コマース・アプライアンスおよび(または)着脱式ハードウェアに安全にロードされるソフトウェアを含むことができる。着脱式CMPSは、ユーザ・キー、予算情報、嗜好などを含めて1人またはそれ以上のユーザのために個人化できるので、様々なユーザが予算および(または)他の権利を混合することなく、同じコマース・アプライアンスを使用できるようにする。
CMPSは、特定のタイプのコンテンツに作用するようにおよび(または)特定のタイプのビジネス・モデルに作用するように設計できる。コマース・アプライアンスは、複数のタイプのCMPSを含むことができる。例えば、異なる標準に従ってコンテンツを受け入れて表示するよう設計されるコマース・アプライアンスは、各フォーマット・タイプごとに1つのCMPSを含むことができる。さらに、コマース・アプライアンスは、優先的に特定のタイプのコンテンツを表示し、優先的に特定のチャンネルを通るコンテンツについて料金を請求するよう設計される、特定のプロバイダが提供するCMPSを含むことができる(例えば、1つまたはそれ以上の特定のクレジットカードに料金を請求し、かつ(または)1つまたはそれ以上の特定のクリアリングハウスを使用する)。
(ルールのソース)
CMPSは、特定のコンテンツに適用されるルールを認識しなければならない。CMPSは、このルールを、使用される実施態様に応じて多様なソースから受け取ることができる:
(a)CMPO。ルールはCMPO(例えば、CMPO2303)および(または)その他のCI内に含めることができる。CMPOおよび(または)その他のCIは、コンテンツ・オブジェクトまたはストリーム内に(例えば、MPEG−4ESのヘッダとして)組み込み、かつ(または)基礎標準に従ってコード化され受信される専用コンテンツ・オブジェクト(例えばMPEG−4CMPOES)内に含め、かつ(または)通常のストリーム外で受信することができる。この場合、基礎標準にしたがってコード化することはできない(たとえば、側波帯チャンネルを通じて暗号化オブジェクトとして受信されるCMPS)。
(b)CMPS。ルールは、CMPS内に恒常的にかつ(または)持続的に記憶できる。例えば、ルール2409。CMPSは、例えば、CMPOおよびその他の必要なCIが受信されない状況(例えば、MPEG−4バージョン1を含めてCMPOを組み込んでいない以前のバージョンの標準に基づいてコード化されたコンテンツの場合)を処理するために設計されるデフォルト・ルールを含むことができる。CMPS内に記憶される完全なルールは、CMPOおよびまたはその他のCIによって直接的または間接的に呼び出すことができる。これは、CIがポインタを通じて特定のルールを識別することによるか、またはCIが自身およびそれが必要とする制御の一般的クラスを識別することによって行われ、CMPSはその後、このCMPSに固有の特定のルールを適用する。
ルール「基本要素」もCMPS内に記憶できる(例えば、制御基本要素2410)。CMPO及び(または)その他のCIは、各々が一連のCMPS基本要素をトリガする一連のマクロタイプのコマンドを含むことによってルール基本要素を呼び出すことができる。
(c)ユーザ。ユーザは、特定のユーザの嗜好に関するルールを作成することができる。このルールは、一般に、コンテンツの使用をさらに限定することが許されるが、許容範囲を超えてコンテンツの使用を拡大することは許されない。例には次のようなものがある:(a)特定のタイプのコンテンツ(例えば、成人映画)をパスワードを入力した後でかつ(または)特定のCMPSユーザ(例えば、両親および(または)政府機関など社会的団体が指定する成人−子供ではなく−)しかアクセスできないように設計されるルール;(b)特定のユーザだけがある限度を超える支払いを必要とする操作を呼び出すまたはある金額を超える総額となることを許容されるように設計されるルール。
ユーザが、前記のGinter’333特許出願(本文書に組み込まれている)において説明したようなルールのテンプレートを作成できるようにすることができる。さらに、CMPS装置および(または)特定のCMPOおよび(または)その他のCIは、ユーザが指定を許容されるルールを制限できる。例えば、CIは、あるユーザがある作品をコピーできるが、追加のコピーを作るための受け手の能力を制限するルールを(または、第1のユーザに支払いを行った後初めて視聴することができる)作品に追加することはできないことを、指定することができる。ユーザが提供する1つまたはそれ以上のルールは、支払い、監査、プロファイリング、嗜好および(または)その他の種類の情報(例えば、保護されているコンテンツの使用を含めてCMPS装置の使用の結果としての情報)の使用−これに関するプライバシーの制限を含めて−に適用される。ユーザ提供の1つまたはそれ以上のルールは、情報が1つまたはそれ以上の基準に従って集合されるか否かおよびユーザおよび(または)機器識別情報が集合中および(または)その後の報告、分散またはその他の使用中除去されるか否かに関係なく、ユーザ装置において、ユーザおよび(または)1つまたはそれ以上のコマース・アプライアンスと対応付けが可能である。
親は各視聴者がどのようなタイプの情報を見ることが許されるかを正確に指定するためにコンテンツ格付け情報を使用することができるので、ユーザがルールを指定できるということは、CMPSがVチップを包括できるように(それにより置き換えられるように)する。(例えば、暴力的コンテンツは、ユーザが保有する着脱式のハードウェア・カード(スマートカードまたは権利カード)の挿入を含めて特定のパスワードおよび(または)その他の識別子を入力した後にしか表示できない)。
(d)外部ネットワーク・ソース。ルールは、外部サーバに記憶できる。ルールは、必要であればCMPSによってアドレス指定され、ダウンロードされる(例えば、CMPOおよび(または)その他のCIおよび(または)CMPSは、1つまたはそれ以上のURLなど特定のルール・ロケーションのポインタを含む)。さらに、コンテンツ・プロバイダおよび(または)クリアリングハウスは一般適用のために設計されたルールを同報通信できる。例えば、コンテンツ・プロバイダは、販促イベントに参加するユーザに対して割引を定める1組のルールを同報通信することできる(例えば、特定のユーザ情報を提供することにより)。この種のルールは全ての接続された装置が受信できるか、コンテンツ・プロバイダが重要と識別する特定の装置が受信でき(例えば、CMPSがクリアリングハウスおよび(または)1つまたはそれ以上のクラスのメンバーなど特定のアイデンティティ特性を持つ全てのメンバーに提供する排出情報により識別される特定のプログラムの最近の視聴者全て)、かつ(または)中央ロケーションに掲示できる。
(実施態様例)
1つの実施態様において、1組のMPEG−4基本ストリームが1つの作品を構成する。基本ストリームは、一緒に暗号化され、多重化されて、1つの集合ストリームを構成する。1つまたはそれ以上のCMPOがこのストリームの中に存在するか、ストリームに対応付けられる。選択肢は以下のとおりである。
1.コンテンツをストリーム方式にするか、あるいは静止データ構造として受信する。
2.作品を単一のストリームまたはデータ構造から構成するか、あるいは各々1つのオブジェクトを構成する多くの別個にアドレス指定可能なストリームまたはデータ構造から構成する。
3.1つの作品が別個にアドレス指定可能なストリームまたはデータ構造から構成される場合、このストリームまたはデータ構造を一緒に多重化して集合ストリームとするか、あるいは別個に受信する。
4.ストリームまたはデータ構造が一緒に多重化されて集合ストリームとされる場合、ストリームまたはデータ構造を多重化前に暗号化できる。基礎ストリームまたはデータ構造が暗号化されるか否かに関係なく、集合ストリーム自体を暗号化できる。従って、以下の可能性が存在する:(a)個々のストリーム/データ構造が暗号化されず(明文であり)、集合ストリームが暗号化されない;(b)個々のストリーム/データ構造が多重化前に暗号化されず、集合ストリームが多重化後に暗号化される;(c)個々のストリーム/データ構造が多重化前に暗号化され、集合ストリームが多重化後に暗号化されない;(d)個々のストリーム/データ構造が多重化前に暗号化され、集合ストリームが多重化後に暗号化される。
5.CMPOを、チャンネル(CCMPO)、作品(MCMPO)または個々のオブジェクト(CMPO)と対応付けることができる。
6.CMPOを、被制御データ前に受信するか、データと同時に受信するか、あるいはデータの後に受信できる(この場合データの使用は、CMPOが受信されるまで待たなければならない)。
7.CMPOを、集合ストリームの一部としてあるいは別個に受信できる。
8.CMPOが集合ストリームの一部として受信される場合、これを、個々のストリームまたはデータ構造と一緒に多重化するか、あるいは、別個のストリームまたはデータ構造を構成することができる。
9.CMPOが集合ストリーム内で多重化される場合、これを暗号化するか、あるいは暗号化しない。暗号化する場合、多重化前に暗号化するか、あるいは集合ストリーム全体が暗号化される場合には多重化後に暗号化することができる。
10.CMPOが集合ストリームの一部として受信される場合、CMPOを、(a)コンテンツを保持するストリームまたはデータ構造の一部(例えばヘッダ)とするか、(b)コンテンツを保持するストリームまたはデータ構造と同じフォーマットに従ってコード化された別個のストリームまたはデータ構造(例えばMPEG−4ES)とするか、あるいは(c)CMPOのために設計される異なるフォーマットに基づいてコード化された別個のストリームまたはデータ構造とすることができる。
11.CMPOがコンテンツを保持するストリームまたはデータ構造の一部である場合、CMPOを、(a)受信されたらその後コンテンツの制御のために持続的に維持されるヘッダとするか、(b)ストリームまたはデータ構造内で定期的な間隔で受信されるヘッダとするか、あるいは、(c)ストリームまたはデータ構造全体に分散されるデータとすることができる。
以上のような様々なシナリオは、CMPOの非多重化および解読のための様々な要件を生じる。図25は、以下の実施態様を図解している。
1.集合ストリーム2501は多重化ES(例えばES2502および2503)によって構成される。このESの組み合わせは、単一の作品を構成する。集合ストリーム2501は、ケーブル・アグリゲータによって生成され、多数のチャンネルの1つとしてユーザのセットトップ・ボックスによって受信される。
2.各チャンネルに対応するCCMPO2504は定期的に(例えば1秒に1回)ヘッダ2505においてケーブルに沿って送られる。セットトップ・ボックスは、オンになると各チャンネルをポーリングし、全ての現在CCMPOをダウンロードする。これは持続的に記憶されて、前のCCMPOと異なる新しいCCMPOが受信される場合のみ変更される。
3.ユーザがチャンネルを選択すると、セットトップ・ボックスは、連想CCMPOをアドレス指定する。CCMPOは、例えば、この特定のチャンネルのコンテンツがこのチャンネルの加入者しかアクセスできないと指定できる。セットトップ・ボックス内のCMPSは、NVRAMに持続的に記憶されているユーザ・プロフィルにアクセスして、ユーザが加入者かどうか判定する。CMPSは、CCMPOルールが満たされたと見なす。
4.CMPSは、現在チャンネルに流れている作品(ビデオ)に対応付けられるMCMPOの識別子およびMCMPOのキーを入手する。作品がチャンネルで連続的に受信される場合(例えば、1度に1つの作品が提供されるテレビ・チャンネル)受信されるMCMPO識別子は、現在チャンネルにあるどのMCMPOでもアドレス指定できるように、ドント・ケア・ビットを含むことができる。
5.CMPSは、集合ストリーム2501の非多重化を開始し(これは前のステップと並行して行うことができる)、MCMPOを入手し、MCMPOは集合ストリーム内で多重化されるESにコード化される(例えばMCMPO2506)。集合ストリーム2501内の各ESは暗号化されているが、集合ストリームは多重化後暗号化されていない。そのため、CMPSは集合ストリーム全体を解読することなく集合ストリーム2501を非多重化できる。
6.CMPSはMCMPOを構成するES(例えばES2503)を識別する。CMPSは、MCMPO2506の1つの完全なインスタンスを内部バッファにダウンロードし、CCMPO2504から受け取ったキーを使ってMCMPO2506を解読する。
7.CMPSは、MCMPO2506によりどのルールが適用されるかを判定する。CMCPO2506は、例えば、ユーザは広告と一緒であれば作品を低料金で視聴することができるが、広告なしで作品を視聴するためには高い料金を支払わなければならないことを定めるルールを含むかも知れない。
8.CMPSは、オプション・メニューを生成し、ユーザのためのこれを画面に表示する。メニューは、オプションおよび各オプションのコストを示す。支払いタイプを含めて追加のオプションを指定することができる。
9.ユーザは、広告を挟むが低料金で作品を見ることを選択するためにリモコン装置を使用する。ユーザは、支払いは、CMPSに記憶される電子キャッシュ予算から行えることを指定する。
10.CMPSは、NVRAMに持続的に記憶される予算から指定される金額を差し引き、ケーブルに結合されるサーバに対するメッセージを生成し、暗号化する。メッセージは、電子キャッシュを転送することによってあるいはユーザの口座からケーブル・プロバイダの口座に金額を移すことを財務クリアリングハウスに許可することによって、要求される予算をサーバに伝える。1個のメッセージは、すぐに送信されるか、あるいはバッファリングして後に(例えばユーザが装置をインターネットに接続するとき)送信することができる。このステップは、コンテンツの解読と並行して行うことができる。
11.CMPSはMCMPO2506から作品と対応付けられる基本ストリーム(例えば、ES2502)を解読するために使用される1組のキーを入手する。CMPSは、また、使用される特定のESの識別子も入手する。ユーザは、広告を含めることを指定してあるので、MCMPOは広告と対応付けられるESを識別し、広告を含んでいるシーンディスクリプタグラフを識別する。広告を含まないシーンディスクリプタグラフは識別されず、CMPSはこれを通過しない。
12.CMPSは、解読済みESをMPEG−4バッファに送る。MPEG−4デコード、合成およびレンダリングの通常のプロセスが行われる。合成およびレンダリング・ブロックは、視聴のためにリリースされる各オブジェクトごとに開始および停止イベントを出力する。CMPSはこの情報をモニタして、これを予想イベントと比較する。特に、CMPSは、広告が視聴のためにリリースされたこと、および各操作がほぼ予想時間量を占めたことを確認する。
別の実施態様においては、CMPS(例えば、図23のCMPS2302)が収められるセットトップ・ボックスはケーブル入力を持つ(例えば、M4ビット・ストリーム2314およびCMPO2303)。ケーブルは、各々2つのサブチャンネルから成る多重チャンネルを持ち、1つのサブチャンネルはMPEG−4ES(例えば、M4ビット・ストリーム2314)を搬送し、他方のサブチャンネルはCMPO(例えば、CMPO2303)を搬送する。CMPO2303を搬送するサブチャンネルは直接CMPS2302に向けられ、ESチャンネルは解読ブロック(CMPSの制御下で動作する、例えばCR&D2315)に向けられ、その後MPEG−4バッファ(例えば、シーンディスクリプタグラフ2306、AVOデコード2307およびオブジェクト・ディスクリプタ2308に対応付けられるバッファ)に向けられる。この場合、ESが暗号化されなければ、ESは変更されずに解読ブロックを通り抜けバッファにまで進む。例えば、ESが制限なしに無料で放送される場合、および(または)パブリック・ドメイン情報である場合、および(または)MPEG−4標準にCMPOが含まれる前に作成された場合、これが生じる。
この実施態様は、CMPOが連想ESと同期化できるように、CMPOサブチャンネルにタイミング同期化情報を含むことができる。
1つは制御情報からなり直接CMPSに接続され、1つはESから成る、2つの別個のストリームを合体させるというコンセプトは、基礎のESフォーマットを変更することなくCMPOおよび特定タイプのCMPSのフォーマットを変更するという高度な変調をサポートできる。例えば、コンテンツESをリフォーマットすることなくCMPOフォーマットを変更することが可能である。他の例をあげると、コンテンツESの非多重化、合成およびレンダリングのために設計される回路には一切変更を加える必要なく、新しいまたは異なるCMPSを含めることによってコマース・アプライアンスをアップグレードすることが可能である。ユーザは、スマートカードまたはその他の着脱式装置上でCMPSを入手し、この装置をコマース・アプライアンスに差し込むことができる。こうすることによって、特定のアプリケーションまたは特定のコンテンツに合わせてコマース・アプライアンスをカスタマイズすることができるだろう。
(CE装置へのCMPSインターフェース)
CMPSは、消費者用エレクトロニクス装置の汎用機能と関連CMPOおよび(または)その他のCIおよび保護されているコンテンツの間の標準化インターフェースを提供するよう設計できる。例えば、CMPSは、CIおよび暗号化されたESを受け取り、解読されたESを装置のバッファに出力するよう設計できる。この場合、装置の製造者は、プロバイダによって異なる可能性のある標準のコマース関係の拡張について心配することなく、仕様(例えばMPEG−4)に従って装置を設計することができるだろう。前記の拡張は、全てCMPSが処理する。
(初期化)
1.CMPSの初期化
CMPSを使って、CMPSがインストールされているコマース・アプライアンスの機能を識別することができる。恒常的に特定のコマース・アプライアンスと結合されるCMPSは、CMPSが最初にインストールされるときに組み込まれる情報を持つことができる(例えば、図24に示されるROM2406に記憶される情報)。着脱式のCMPSは、装置の機能に関する情報を入手するために初期化操作を実行するために使用できる。この情報は、NVRAM2425に記憶されるデータ構造に記憶することができる。その代わりに、この情報の一部または全部を装置がオンにされるたびに集めて、RAM2414に記憶することができる。
例えば、DVDプレーヤは、外部サーバおよび(または)プロセスへの接続を含む場合も含まない場合もある。DVD(あるいはその他のフォーマット光ディスク)プレーヤに挿入されるDVD(あるいはその他のフォーマット光ディスク)に記憶されるCMPOおよび(または)その他のCIは、サーバに情報を出力する可能性に基づくルールを含むか(例えば、ユーザ識別情報が出力される場合コンテンツは無料)、例えばコンテンツを解読するために使用されるキーをダウンロードするために直接接続を要求できる。この場合、CMPS装置は、CMPOが期待または要求するハードウェア機能を判定し、これを実際に存在するハードウェアと比較する。CMPSがCMPOおよび(または)その他のCIがネットワーク接続を必要とし、DVDプレーヤがこの接続を含んでいないと判定すると、CMPSは、以下のステップを含めて多様な措置を講じることができる:(1)ネットワーク接続があるアプションには必要で他のオプションには必要ない場合、可能なオプションのみユーザに表示させる;(2)必要なハードウェアが欠けていることをユーザに知らせる;または(3)ユーザに拒絶の理由を知らせることを含めてディクスを丁寧に拒絶する。
別の例をあげると、CMPOおよび(または)その他のCIは、品質水準(またはある所与の作品のその他の変形形態、例えば時間が長いおよび(または)大きいなど)の中からユーザが選べるようなビジネス・モデルを含むことができ、ユーザが高水準の品質を選択すると高い価格が請求される(例えば、低い分解能の音楽は無料でプレイできるが、高分解能デプレイするには支払いが必要である)。この場合、コマース・アプライアンスは、高分解能のサウンドを出力できるラウドスピーカを含まないかも知れない。CMPS装置はこの状況を識別し、ユーザのオプションとして高分解能の出力を排除するか、このオプションはもっとコストがかかるが、現在のコマース・アプライアンスの機能ではまたは高品質のラウドスピーカーを備えるユーザ装置にコマース・アプライアンスがドッキングされていない状態ではこのオプションは何の利益ももたらさないことをユーザに知らせることが望ましい。
コマース・アプライアンスが外部装置(例えばラウドスピーカ、ディスプレイなど)に接続される場合、CMPSは、この装置を識別し登録するためのメカニズムを必要とする。各装置を使って、標準IDおよび機能情報をいつでも利用可能にできるので、CMPSは、例えば接続される装置の1つまたはそれ以上の内部のCMPS装置を認証することを含めて、接続される全ての装置を定期的にポーリングできる。別の方法を使用すると、全ての装置を使って、電源をオンするときにCMPS識別情報を出力し、後に、接続される装置を使って接続確立時にこの情報を出力することができる。識別情報は、例えば、「5社提案」に基づき提供される認証情報の形をとることができ、認証方法は参照により本文書に組み込まれる。
前に述べたとおり、コマース・アプライアンスは、各々独自のCMPS装置を含んでいる複数の装置に接続することができる(例えば、DVDプレーヤをデジタル・テレビに接続することができる)。この場合、CMPSは、安全な通信を開始し(例えばIEEE1394シリアル・バスに関する「5社提案」などのスキームを使って)、CMPSがCMPS間のコンテンツ通信に関しておよび実施態様によっては本文書に組み込まれているShearの特許出願において説明されるようなコンテンツの協力的統御に関してどのように対話するかを決定できなければならない。1つの実施態様においては、コンテンツを受信する第1のCMPS装置が、初期CMPOおよび(または)その他のCIをダウンロードすることにより制御プロセスを統御し、ユーザにルールのうち1つまたはそれ以上を表示するかも知れない。第二のCMPS装置は、2つのCMPS装置間の通信の結果としてまたは第1のCMPS装置によって作成されたコンテンツ・ストリームへの変更(コンテンツを解読して、非多重化、合成およびレンダリングを可能にした)の結果として、それ以上果たすべき役割を持たないことを認識するかも知れない。
アップストリームとダウンストリームのCMPS装置間の関係は、一方の装置がMPEG−4レンダリングのある面を処理し、他方の装置が他の面を処理する場合、複雑化するかも知れない。例えば、DVDプレーヤが、非多重化およびバッファリングを処理し、生ESをデジタルTVに転送し、その後デジタルTVが合成およびレンダリング並びに表示を処理する場合があるかも知れない。このような場合、合成およびレンダリング・ブロックからアップストリームのCMPS装置へのバックチャンネルがないかも知れない。CMPS装置は、独立のケース(CMPSを持たない処理能力のないTVにCMPSが付属しているDVD(またはその他光ディスク)プレーヤ)、1つのCMPS装置が全ての処理を扱う多重CMPS装置のケース(合成およびレンダリングを通じてDVD(またはその他の光ディスク)プレーヤが全てを処理し、デジタルTVにビデオ・ストリームが出力される)(非限定的例としてはIEEE1349シリアル・バスを通じて)(出力ストリームは、IEEE1394シリアル・バス伝送を使用するコピー保護に関する「5社提案」に従って暗号化される)、および(または)処理の一部または場合によって全部に関する2つ以上のCMPS装置間での共用処理、を処理するよう設計されることが望ましい。
2.特定のコンテンツ・ストリームの初期化
CMPSは、特定のコンテンツ・ストリームまたはチャンネルについてCMPSを初期化する初期化情報を受け入れられるように設計することができる。CMPOおよび(または)その他のCIであるこのヘッダは、特定のコンテンツ・ストリーム並びにこのストリームに対応付けられるCIをロケートしかつ(または)解釈するためにCMPSが使用する情報を含むことができる。この初期ヘッダは、側波帯チャンネルを通じて受信するか、あるいはCMPOESなどのCIESとして受信することができる。
図26に示される1つの例においては、ヘッダCMPO2601は以下の情報を含む。
(a)ヘッダCMPO2601によって統御されるコンテンツ・ストリーム/オブジェクトおよび各コンテンツ・ストリームまたはオブジェクトに対応付けられるCMPOの識別符号を識別するストリーム/オブジェクト/CMPOID2602。
1つの実施態様においては、ヘッダCMPO2601は特定のコンテンツ・ストリームと対応付けられるルールおよびキーを含む他のCMPOを識別する。別の実施態様においては、ヘッダCMPO2601は、コンテンツ・ストリームに対応付けられるキーおよびルールを組み込むことによって、全てのコンテンツ・ストリームを直接制御する。後者の場合、他のCMPOは使用されない。
1つの実施態様においては、ヘッダCMPO2601は1つまたはそれ以上のCMPO、CCMPO、MCMPOおよび(または)その他のCIである。
(b)識別された各CMPOを解読するためのCMPOキー2603。
(c)全体としての作品に対応付けられ、従って作品を構成する全てのコンテンツ・ストリームに潜在的に適用可能な基本制御情報から成る、作品レベル制御2604。この基本制御情報は、ユーザに提供されるオプションを含めて全体としての作品に適用されるルールを含むことができる。
(d)この態様の1つの実施態様においては、ヘッダCMPOは、現在特定のコンテンツを使用することを許可されている特定のユーザまたはサイトに関するユーザ/サイト情報2605およびユーザの許可取得の基礎となった1つまたはそれ以上のルール・セットを含めるために更新可能である。現在視聴されている作品に対応付けられるヘッダCMPOは、RAMまたはNVRAMに記憶できる。これは、更新情報を含むことができる。1つの実施態様においては、CMPOは、過去に視聴された特定の作品に関するヘッダCMPOも記憶する。1つの実施態様においては、ヘッダCMPOは、各ヘッダCMPOが変更されていないことを識別し認証するために充分な情報と一緒に安全でないメモリに記憶される。
この実施態様のこのようなヘッダCMPO実施態様においては、ヘッダCMPOは下記のとおりに動作する:
(a)ヘッダCMPOは、CMPS装置によって受信される。現在すでに使用可能になっている以前に未受信のコンテンツの場合、ヘッダCMPOは、入力ポートで受信できる。すでに使用可能であるが、現在使用されていないコンテンツの場合(例えば、500チャンネルを持つセットトップ・ボックス。0または1が常に表示されている)、ユーザが特定のコンテンツを呼び出す(例えば特定のチャンネルに切り替える)場合使用できるように、CMPS装置が各チャンネルのCCMPOをバッファリングすることができる。
いずれの場合も、ヘッダCMPOは、CMPS装置がそれをヘッダCMPOとして識別できるようにする情報を含まなければならない。
(b)CMPS装置は、ヘッダCMPOに明文で保持されるビジネス・モデル情報を入手する。ビジネス・モデル情報は、例えば、広告が含まれる場合コンテンツを無料で見ることができる、またはユーザが例えばニールソン・タイプの情報、ユーザおよび(または)視聴率測定情報を是認する場合コンテンツをサーバに出力できる、またはその他の方法で有料で1回コピーできる、などのステートメントを含むことができる。
(c)CMPS装置は、CMPS装置が特定のタイプのモデルを受け取ることをユーザが是認した場合には(例えば、ユーザが無料で広告入りでプレイすることを常に受け入れるようにCMPS装置をプログラムした場合)ビジネス・モデルを受け入れ、ユーザが特定のモデルを常に拒否するよう指示した場合には、ビジネス・モデルを拒否し、あるいはユーザにビジネス・モデルを表示する(例えば、画面にオプションを提示することによって)。
(d)ビジネス・モデルが受け入れられる場合、CMPS装置は、ヘッダCMPOの残りを解読する。コマース・アプライアンスが外部サーバへのライブ出力接続(例えば、インターネット接続、セットトップ・ボックスのバックチャンネルなど)を含む場合、および待ち時間の問題が処理される場合、このキーの解読は、外部サーバと通信し、各サイドが他方を認証し、安全なチャンネルを確立し、サーバからキーを受信することによって処理できる。コマース・アプライアンスが少なくとも一時的に外部サーバに接続されない場合、解読は、コマース・アプライアンスに安全に記憶される1つまたはそれ以上のキーに基づいて行われなければならない。
(e)ヘッダCMPOが解読されると、CMPS装置は、コンテンツを含んでいるストリームを識別しロケートするために使用される情報およびコンテンツに対応付けられるCMPOを解読するためにあるいはコンテンツ自体を直接解読するために使用されるキーを入手する。
(f)このヘッダ実施態様の1つの実施態様においては、ヘッダCMPOは、CMPS装置によって追加される情報の記憶のためのデータ構造を含む。この情報は、下記のものを含むことができる。
(1)ユーザおよび(または)コマース・アプライアンスおよび(または)CMPS装置の識別符号。この実施態様において、この情報は、作品(ヘッダCMPOを含めて)が転送される場合監査証跡を示すために、ヘッダCMPOに記憶することができる(これは、ヘッダCMPOが書き込み可能な形態で転送される場合にのみ作用する)。この情報を使って、ヘッダCMPOに対応付けられるルール情報により下記の転送が許容される場合、ユーザは、追加コストを支払わずにユーザが所有する他のコマース・アプライアンスに作品を転送することができる。例えば、ユーザは、特定のケーブル・サービスに加入しており、前払いしてあるとする。CMPS装置がケーブル・サービスからヘッダCMPOをダウンロードすると、CMPS装置はヘッダCMPOにユーザの識別符号を記憶する。CMPS装置は、次に、コンテンツがコピーまたは転送される場合には更新されたヘッダCMPOが含まれるよう要求する。ヘッダCMPOは、ユーザ情報が満たされたら、その連想コンテンツをそのユーザおよび(または)そのユーザと対応付けられるコマース・アプライアンスのみが視聴できることを定めるルールを含むことができる。これによって、ユーザは、作品のコピーを複数作り、複数のコマース・アプライアンスで作品を表示することができるが、このコピーを、無許可のユーザおよび(または)無許可のコマース・アプライアンスが表示または使用することはできない。ヘッダCMPOは、許可されたユーザしかユーザ情報を変更できないことを示すルールを含むこともできる(例えば、ユーザ1が作品をユーザ2に転送する場合、ユーザ2のCMPS装置はヘッダCMPOの中のユーザ情報を更新できるので、ユーザ2は作品を見ることができるが、これはユーザ2もそのケーブル・サービスの加入者である場合に限る)。
(2)使用に適用される特定のルール・オプションの識別符号。ヘッダCMPOに含まれるルールセットは、オプションを含むことができる。場合によっては、特定のオプションを行使すると、異なるオプションを後で行使できなくなる場合がある。例えば、ユーザは、ある価格で未変更の作品を見るか、あるいはそれより高い価格で作品に変更を加えて、変更済みの作品を見るか、の選択肢が与えられるとする。ユーザが作品を変更し、変更済み作品を見ることにすると、低価格の未変更のオリジナル作品を見るオプションはもはや使用不能なので、この選択がヘッダCMPOに記憶されることが望ましい。ユーザは、さらにコストを値上げして変更済み作品を配給する権利を取得しているかまたはその権利のプションを提示され、その結果、ユーザおよびオリジナル作品の利害関係者の両方に第三者派生収益および使用情報が流れることになるかも知れない。
(3)使用履歴情報。ヘッダCMPOは、使用の回数およびタイプに関する情報を含むことができる。例えば、基礎の作品がコピーされる場合、その作品に対応付けられるルールはコピーを1つだけ許容していると(例えば、バックアップおよび(または)不在時ビデオ録画のため)、ヘッダCMPOはコピーが作られたことを反映するために更新される。別の例を挙げると、ユーザは、ある作品を1回だけ見るか、ある特定の回数見る権利を取得する場合がある。ヘッダCMPOはその使用ごとにこれを反映するために更新される。
使用情報を使って、ヘッダCMPOに対応付けられるルールによりそれ以上の使用が許可されるか否かを判定できる。この情報はまた監査のためにも使用できる。この情報は、外部サーバに報告される使用情報排出としても提供される。例えば、ルールは、使用履歴情報がサーバにダウンロードされる場合にのみある作品を無料で見ることができると定めるかも知れない。
(コンテンツ管理・保護オブジェクト(CMPO))
コンテンツ管理・保護オブジェクト(CMPO)は、特定のコンテンツの使用を統御するためにCMPSが使用する情報を含んでいるデータ構造である。CMPOは、特定の標準(例えば、MPEG−4ES)により指定されるデータ構造としてフォーマットするか、あるいは標準によって定義されないデータ構造としてフォーマットすることができる。CMPOが標準によって指定されるデータ構造としてフォーマットされる場合、これは、その標準が利用するチャンネルで受信するか(例えば合成MPEG−4ストリームの一部として)、あるいは他の側波帯方法を通じて受信できる。CMPOが関連標準によって指定されないデータ構造としてフォーマットされる場合、ある種の側波帯方法を使用して提供され、デコードされる。側波帯方法としては、フォーマット済みコンテンツと同じポートを通じての受信および(または)別個のポートを通じての受信が含まれる。
コンテンツは、事実上どのレベルでも制御できる。ここでは3つのレベルの例、すなわち「チャンネル」、「作品」および「オブジェクト」について論じる。 「チャンネル」は、作品の集合をあらわす。作品は、ユーザの選択によって利用可能であるか(例えば、ウェブ・サイトまたはビデオ・ライブラリ)、または連続的に受信する(例えば、ケーブル・テレビ・チャンネル)。
「作品」は、統合された完全体としてユーザによって消費される(視聴、読み取りなど)単一のオーディオ・ビジュアル、文章またはその他の作品を表す。例えば、作品は、映画、歌、雑誌記事、高度なビデオゲームなどのマルチメディア製品などである。作品は、例えば歌、ビデオ、テキストなどを組み込むマルチメディア作品において、他の作品を組み込むことができる。このような場合、権利が関係する場合がある。
「オブジェクト」は、作品の別個にアドレス可能な部分を表す。オブジェクトは、例えば、個々のMPEG−4AVO、シーンディスクリプタグラフ、オブジェクト・ディスクリプタ、映画のサウンドトラック、ビデオゲームの武器、またはその他の論理的に定義可能な部分である。
コンテンツは、どのレベルでも制御できる(本文書においては論じられない中間レベルにおいても)。この制御の望ましい実施態様のメカニズムは、CMPOまたはCMPO装置(1つまたはそれ以上のCMPOから成り、複数の場合複数の協同するCMPO)である。CMPOおよびCMPO装置は、階層的に編成でき、チャンネルCMPO装置が、含まれる全ての作品に適用されるルールを課し、MCMPOまたはSGCMPOは作品内の全てのオブジェクトに適用されるルールを課し、CMPO装置は、特定のオブジェクトに適用されるルールを課す。
図27に示される実施態様において、CMPSは、CCMPO2701をダウンロードする。CCMPO2701は、チャンネルの全てのコンテンツに適用可能な1つまたはそれ以上のルール2702、並びに1つまたはそれ以上のMCMPOおよび(または)SGCMPOの解読に使用される1つまたはそれ以上のキー2703を含む。MCMPO2704は、単一の作品および(または)それ以上の作品、1つまたはそれ以上のクラスおよび(または)1人またはそれ以上のユーザおよび(または)ユーザ・クラスに適用されるルール2705を含み、CMPOを解読するために使用されるキー2706も含む。CMPO2707は、個々のオブジェクトに適用されるルール2708並びにそのオブジェクトを解読するために使用されるキー2709を含む。
全てのオブジェクトがあるレベルで制御の対象である限り、各オブジェクトが個別に制御される必要はない。例えば、CCMPO2701は、そのチャンネルに含まれるコンテンツを見るための単一のルールを指定することができる(例えば、加入者だけがコンテンツを見ることができ、加入者は、コンテンツ・プロバイダに対してそれ以上の義務を負わずにコンテンツを自由に再配給できるかも知れない)。このような場合、ルールは、必ずしもMCMPO(例えば、ルール2705)、SGCMPO、またはCMPO(例えば、ルール270)には使用されない。1つの実施態様においては、MCMPO、SGCMPOおよびCMPOは、省略することができ、CCMPO2701は、全てのコンテンツを解読するために使用される全てのキーを含むか、あるいは、このキーをロケートできるロケーションを指定することができる。別の実施態様においては、CCMPO2701は、MCMPO2704を解読するために使用されるキー2703を提供する。MCMPO2704は、CMPOを解読するために使用されるキー(例えば、キー2706)を含むが、追加のルール2705を含まないかも知れない。CMPO2707は、オブジェクトを解読するために使用されるキー2709を含むが、追加ルール2708を含まないかも知れない。実施態様によっては、SGCMPOがない場合がある。
CMPOは、関連標準が指定するコンテンツデータ構造内に含めることができる(例えば、CMPOをMPEG−4ESのヘッダの一部とすることができる)。CMPOは、関連標準が指定する自身の専用データ構造内に含めることができる(例えば、CMPOES)。CMPOは、どのコンテンツ標準も指定しないデータ構造に含めることができる(例えば、DigiBoxに含まれるCMPO)。
CCMPOは以下のエレメントを含むことができる。
(a)ID2710。これは次のような形態をとる:<チャンネルID><CMPOタイプ><CMPOID><バージョン番号>。階層的CMPO編成の場合(例えば、CMPOを制御するMCMPOを制御するCCMPO)、CMPOID2711は、階層の各レベルごとに1つのフィールドを含むことができるので、CMPOID2711は編成における特定のCMPOのロケーションを指定できる。CCMPOのID2710は、例えば123−000−000である。このチャンネル内の作品のMCMPOのID2712は、例えば123−456−000なので、“123”として識別されるCCMPOにより制御されるものとして1000個のMCMPOを指定することができる。特定の作品内のオブジェクトに対応付けられるCMPOのID2711は、例えば123−456−789なので、各MCMPOに対応付けられるものとして1,000個のCMPOを指定することができる。
このCMPO・IDの指定方法は、CMPOの階層内のどのCMPOについても正確なロケーションを伝える。これより高いレベルの階層が存在しない場合(例えば、連想CCMPOを持たないMCMPO)、そのレベルの階層に対応付けられる数字はゼロで指定することができる。
(b)チャンネル内の全てのコンテンツに適用されるルール2702。これは、自蔵ルールかあるいは他のところから入手可能なルールのポインタである。ルールは、このレベルではオプショナルである。
(c)ユーザがルールを遵守できない場合に表示するよう設計される情報2713(例えば、ある費用で加入が可能であることをユーザに知らせ、そのチャンネルで利用可能なコンテンツのリストを示す広告画面)。
(d)このCCMPOによって制御される各MCMPOを解読するためのキー2703。1つの実施態様においては、CCMPOは、全てのMCMPOを解読する1つまたはそれ以上のキーを含む。代替実施態様においては、CCMPOは各MCMPO固有のキーを1つまたはそれ以上含む。
(e)CMPSタイプ(2714)またはこのチャンネルに対応付けられるコンテンツを使用するために必要なまたは望ましいハードウェア/ソフトウェアの指定。
MCMPOのコンテンツは、CCMPOのコンテンツと同様であるが、MCMPOは単一の作品に適用されるルールを含み、各オブジェクトに関連付けられるCMPOを識別する点で異なる。
各CMPOのコンテンツはMCMPOのコンテンツと同様であるが、CMPOは単一のオブジェクトに適用されるルールおよびキーを含む点で異なる。
SGCMPOのコンテンツは、CCMPOのコンテンツと同様であるが、SGCMPOは特定の1つまたはそれ以上の権利のクラス、特定の1つまたはそれ以上の作品のクラスおよび(または)特定の1つまたはそれ以上のユーザおよび(または)ユーザ装置のクラス(例えばCMPO装置および(または)その装置)にのみ適用されるルールを含む点で異なる。
図28に示される別の実施態様においては、CMPOデータ構造2801は以下のとおりに定義される。
CMPOデータ構造2801はエレメントによって構成される。各エレメントは、自蔵の情報アイテムを含む。CMPSは1回に1エレメントづつCMPOデータ構造を構文解析する。
タイプ・エレメント2802は、データ構造をCMPOとして識別するので、CMPSはこれをコンテンツESから区別できる。実施態様例において、このエレメントは、4ビット含むことができ、その各々が、データ構造がCMPOであることを示すために“1”に設定される。
第二のエレメントはCMPO識別子2803であり、この特定のCMPOを識別し、CMPOがCMPOの階層編成の一部であるか否か、またその一部である場合このCMPOはその編成のどこに属するのかを伝えるために使用される。
CMPO識別子2803は、4つのサブエレメントに分割され、各々が3ビットから成る。これは、サブエレメントA、B、CおよびDとして示されている。第1のサブエレメント(2803A)は、以下のとおり、CMPOタイプを識別し、CMPOが他のCMPOによって統御または制御されるか否かを識別する。 100:これはトップレベルCMPOであり(チャンネルまたは作品の集合に対応付けられる)、他のCMPOの制御を受けない。
010:これは中レベルCMPOであり(特定の作品に対応付けられる)、他のCMPOの制御を受けない。
110:これは中レベルCMPOであり、トップレベルCMPOの制御を受ける。
001:これは低レベルCMPOであり(作品内のオブジェクトに対応付けられる)であり、他のCMPOの制御を受けない。低レベルCMPOは通常少なくとも1つのこれより高いレベルのCMPOの制御を受けるので、このケースは稀である。
011:これは低レベルCMPOであり、中レベルCMPOの制御を受けるがトップレベルCMPOの制御を受けない。
111:これは低レベルCMPOであり、トップレベルCMPOおよび中レベルCMPOの制御を受ける。
CMPOID2803の第二のサブエレメント(サブエレメントB)は、トップレベルCMPOを識別する。トップレベルCMPOの場合、この識別子は、CMPOの作成者によって割り当てられる。トップレベルCMPOの制御を受ける中レベルまたは低レベルCMPOの場合、このサブエレメントは、前記の制御を行うCMPOの識別符号を含む。トップレベルCMPOの制御を受けない中レベルまたは低レベルCMPOの場合、このサブエレメントはゼロを含む。
CMPOID2803の第3のサブエレメント(サブエレメントC)は、中レベルCMPOを識別する。トップレベルCMPOの場合、このサブエレメントはゼロを含む。中レベルCMPOの場合、このサブエレメントは、特定のCMPOの識別符号を含む。中レベルCMPOの制御を受ける低レベルCMPOの場合、このサブエレメントは、前記の制御を行う中レベルCMPOの識別符号を含む。中レベルCMPOの制御を受けない低レベルCMPOの場合、このサブエレメントはゼロを含む。
CMPOID2803の第四のサブエレメント(サブエレメントD)は、低レベルCMPOを識別する。トップレベルまたは中レベルCMPOの場合、このサブエレメントはゼロを含む。低レベルCMPOの場合、このサブエレメントは特定のCMPOの識別符号を含む。
識別子エレメントの次は、CMPOデータ構造のサイズを示すサイズ・エレメント2804である。このエレメントは、データ構造の最終エレメントまでのエレメント(またはバイト)数を含む。このエレメントは、CMPOに変更が加えられる場合に書き直される。変更が加えられると異なるサイズになるので、CMPSは、このサイズ情報を使って、エレメントが許可なしに変更されたかどうかを判定できる。このために、CMPSは、このエレメントに含まれる情報を保護データベースに記憶することができる。この情報は、また、処理を進めようとする前にCMPO全体が受信され、使用可能であることを確認するためにも使用できる。
サイズ・エレメント2804の次は、所有権および制御連鎖情報を含む1つまたはそれ以上の所有権/制御エレメントである(例えば、所有権/制御エレメント2805、2806および2807)。この最初のエレメント(2805)に、CMPOの作成者はこの作成者に対応付けられる特定の識別子を含めることができる。以後のエレメント(例えば、2806、2807)において追加の参加者を識別できる。例えば、エレメント2805はCMPOの作成者を識別し、エレメント2806は関連作品の発行者を識別し、エレメント2807は作品の作者を識別することができる。
固有の終了エレメント2808シーケンス(例えば、0000)は、所有権連鎖エレメントの終了を示す。最初のエレメントにこのシーケンスがある場合、これは、所有権連鎖情報が存在しないことを示す。
CMPO2801に対応付けられるルールが追加を許可する場合、所有権連鎖情報を追加することができる。例えば、ユーザがCMPO2801に対応付けられる作品を購入する場合、ユーザの識別符号が所有権連鎖エレメントの新しいエレメントとして追加される(例えば、2807後の新しいエレメント。ただし2808より前に)。これは、購入時点で行われるか、あるいは、CMPO2801に遭遇して、ユーザが関連作品を購入したとCMPSが判断したら、CMPSによって行われる。この場合、CMPSは、CMPSがNVRAMに記憶するデータ構造からユーザ識別子を入手できる。
所有権連鎖エレメントの次は、ハンドリング連鎖を示す1つまたはそれ以上のハンドリング・エレメント(例えば、2809、2810)である。このエレメントは、CMPO2801をダウンロードしデコードしたCMPSの識別符号を含むことができる。また(あるいは)このCMPSと対応付けられるユーザの識別符号を含むことができる。この情報は、監査のために使用して、作品が不当に回覧されたと判定される場合にハンドリングを追跡できるようにする。この情報は、また、クリアリングハウスまたは中央サーバに対する排出として報告される場合もある。ハンドリング連鎖情報は、報告されるまで不変であることが望ましい。この情報のために必要なエレメントの数が指定される量を超える場合(例えば、20の別個のユーザ識別子)、CMPSは、CMPSが外部サーバに接続されてハンドリング連鎖情報を報告するまでは、CMPO2801またはその関連作品のそれ以上の処理を許容することを拒否できる。
ハンドリング連鎖エレメントの最後のエレメント(例えば、2811)は、このエレメント・グループの終了を示す。このエレメントのコンテンツは、例えば、すべてゼロである。
ハンドリング連鎖エレメントの次は、このCMPOに対応付けられるデジタル証明書を含むまたはこれをポイントする1つまたはそれ以上の証明書エレメントである。このデジタル証明書を使って、CMPSはCMPOを認証できる。デジタル証明書連鎖の最後のエレメントは、全てゼロである(2814)。デジタル証明書が存在しない場合には、全てゼロのエレメントが1つこのロケーションに存在する。
証明書エレメントの次は、CMPO2801により統御されるまたはこれに対応付けられる1つまたはそれ以上のコンテンツ・オブジェクトおよび(または)CMPOを指定する1組の統御対象オブジェクト・エレメント(例えば、2815、2816、2817、2818)である。各統御対象オブジェクトまたはCMPOは、固有の識別子によっておよび(または)そのオブジェクトまたはCMPOを見つけることのできるロケーションによって識別される(例えば、ロケーション2815および2817に記憶される)。前記の各識別子の次は、このCMPOまたはオブジェクトを解読するために使用される1つまたはそれ以上のキーである(例えば、ロケーション2816および2818に記憶される)。識別子/キーのセットは、全てゼロから成る終了エレメント(2819)で終了する。
識別子および(または)キーを指定するエレメント・セットの次は、統御対象オブジェクト・エレメント(例えば、ロケーション2815および2817)において識別されるコンテンツ・オブジェクトおよび(または)CMPOの使用と対応付けられるルール/制御および条件を指定する1組のルール・エレメント(例えば、2820、2821、2822)である。ルールの例について下に説明する。エレメントは、明示的ルールを含むか、あるいは、他のロケーションに記憶されるルールのポインタを含むことができる。条件は、連想コンテンツ・オブジェクトを使用するためまたは特定のルールを満たすために必要なハードウェア・リソース、または連想コンテンツ・オブジェクトを使用するために必要または望ましい特定のタイプのCMPSを含むことができる。
ルール/制御および条件エレメントの次は、CMPOの作成者が指定する情報を含む情報エレメント2823である。特に、この情報はコンテンツ、コンテンツのポインタ、プログラミングまたはプログラミングのポインタを含むことができる。
CMPOは、最終終了エレメント2824で終了する。
1つの実施態様において、CMPO2801のルール・エレメント2820−2822に含まれるルールは、例えば、下記の操作を含むことができる。
(1)プレイ。この操作は、ユーザがコンテンツを制限なしにプレイできるようにする(ただしこれをコピーすることはできない)。
(2)ナビゲート。これは、ユーザが早送り、巻戻し、停止およびサーチを含めて特定のタイプのナビゲーション機能を果たせるようにする。サーチは、インデックス付きまたはなしで行える。
(3)コピー。コピーは1回だけ(例えば、不在時のビデオ録画、アーカイビング)許容されるか、特定の回数許容されるか、あるいは限定期間許容されるか、関連予算を含めて他のルールに違反しない限りまたは超過しない限り無制限期間許容される場合がある。CMPS装置は、コピー操作によって、コンテンツ・オブジェクトには変更を生じずに、また特に連想コンテンツ・オブジェクトを非多重化、解読または解凍する必要なしに、連想CMPOが更新されるように設計することができる(例えば、連想コンテンツがコピーされたことの指示、コピーの日付およびコピー作成の責任サイトの識別を含めて)。例えば、MPEG−4の場合、このためには、以下の多段階非多重化プロセスが必要である。
1)CMPS装置がユーザからまたはヘッダCMPOからコピー命令を受け取る。
2)第1の非多重化段階において、コピーされるMPEG−4ストリームに対応付けられるCMPOESがコンテンツ・ストリームから分離される。
3)CMPOがCMPS装置により解読され更新される。CMPOは、コンテンツES(相互に非多重化されていない)と再び多重化されて、ストリーム全体がそれ以上の変更なしに出力ポートに送られる。
このプロセスにより、コピー操作は、コンテンツ・ストリームを非多重化し解読する必要なしに行うことができる。このためには、CMPS装置は、2つの出力、すなわちデジタル出力ポートに接続される出力(例えば、図23、デジタル出力ポート2317に接続するライン2316)およびMPEG−4バッファに接続される出力(例えば、図23、ライン2310、2311、2312)、並びにいずれか一方(または、コンテンツが同時に視聴されコピーされる場合、両方)の出力にコンテンツを送るよう設計されるスイッチ(例えば、スイッチ2319)を、含む必要がある。スイッチ2319は、デジタル出力ポート2317の唯一のパスとなり得るので、CMPS2302はこのポートを直接制御することができ、制御が許可しない限りこのポートにコンテンツが送られることがないようにできる。デジタル出力ポート2317がデジタル表示装置に対するコネクタでもある場合、CMPS2302は、たとえコピー操作が許可されない場合も、このポートにコンテンツを送ることを許可しなければならない。
1つの実施態様例において、デジタル出力ポート2317を通じて情報を受け取る受信装置は、送信装置(例えば、CMPS2302)を認証しなければならない。認証は、装置の特性および(または)装置と一緒に使用される1つまたはそれ以上のCMPSに関するものである。従って、例えば、送信機器は、互換性のあるCMPSが欠けている記憶装置にはコンテンツを伝送しない。
別の非限定的例においては、CMPS2302は、送信インターフェースから1つまたはそれ以上の外部装置インターフェース(例えば、デジタル・モニタ)まで安全なチャンネルを確立し、受信インターフェースが送信インターフェースを認証した場合1つまたはそれ以上の認証済み装置インターフェースだけが解読できるようにコンテンツを暗号化する、セッション暗号化機能(例えば、「5社提案」)を、組み込むことができる。この場合、CMPS2302は、適切なIEEE1394シリアル・バスかどうかチェックし、(a)許可されたプレイ操作が呼び出され、装置との間に安全なチャンネルが確立されており、かつコンテンツがセッション暗号化されている場合、または(b)許可されたコピーまたは再伝送操作が呼び出され、コンテンツが上記の説明に従って処理された場合(すなわちCMPOが非多重化され、変更され、再多重化され、コンテンツが解読または非多重化されていない場合)、のみ、コンテンツをデジタル出力ポート2317に送ることを許容する。
これは、CMPOが初期の非多重化段階で別個に識別可能の場合のみ可能である。このためには、ほとんどの場合、CMPOが別個のCMPOESに記憶される必要がある。CMPOがコンテンツESにヘッダとして記憶される場合、ストリーム全体の完全非多重化および解読操作前にCMPOを識別することは不可能かも知れない。
(4)変更。ユーザは、コンテンツを変更するための許可を受けることができる。
(5)削除。このコマンドを使って、ユーザは、消費者用機器のメモリに記憶されるコンテンツを削除することができる。この操作は、作品全体に作用する。ユーザが作品の一部を削除したい場合、変更操作を使わなければならない。
(6)転送。ユーザは、作品を第三者に転送するための許可を受けることができる。これは、ユーザがコンテンツまたはコンテンツに対する権利を保持しない点でコピー操作と異なる。転送操作は、コピー操作と削除操作を組み合わせることによって行うことができる。転送のためには、作品に対する権利を第三者と対応付けるように、作品に対応付けられるヘッダCMPOの変更(例えば、図28のエレメント2805−2807など所有権/制御エレメントの追加または変更)が必要である。
以上の基本的操作は、以下のような修正の対象となり得る:
1)支払い。ユーザの支払のタイプによっては操作を条件付きにすることができる。支払いは、プロバイダへの現金支払いの形で(例えば、クレジットカード、予算からの差し引き)または指定される情報を外部サイトに送信する形で(例えば、ニールソン・タイプの情報)行うことができる。
2)サービスの質。操作は、要請される解凍レベル、要請/要求される表示、レンダリング装置のタイプ(例えば、より高品質のラウドスピーカ、特定のタイプのゲーム・コントローラなど)を含めて、特定のサービスの質のパラメータを指定することができる(例えば、MPEG−4において要請されるQoSを指定することにより)。
3)時間。操作は、特定の時間後に操作が許容されるようにまたは操作の価格が時間と結合されるように条件付けることができる(例えば、リアルタイム情報がある価格だとすると、遅延情報はこれより低価格または無料で、例えば、特定の日付以降に限り被制御コピーを許容する)。
4)特定タイプのコンテンツの表示。操作は、ユーザが特定のコンテンツの表示を許可することを条件とすることができる(例えば、プレイ操作が、ユーザが広告の表示に同意する場合無料になる)。
以上の全てのケースにおいて、1つのルールを、他の1つまたはそれ以上のルールによって修正することができる。ルールは、他のルールによって修正できることを指定するか、修正不能であると指定することができる。ルールが修正可能である場合、他のソースから送信されるルールによって修正される場合がある。このようなルールは、ユーザが別個に受信するか、ユーザがまとめて受信することができる。
MPEG−4実施態様例に使用されるデータ・タイプには、以下のものを含むことができる:
a.CMPデータ・ストリーム
CMP−dsは、オブジェクト・ディスクリプタの中に自身のCMPOおよび参照を含む基本ストリームの全ての特性を持つ新しい基本ストリーム・タイプである。各CMP−dsストリームは、一連の1つまたはそれ以上のCMPメッセージを持つ。CMP_Messageは、下記の4つの部分を持つ:
1.Count:このIPESがサポートする[1…n]のCMPSタイプ。各々一意のタイプによって識別される複数のCMPSシステムをサポートできる(タイプの中央記録がなければならない場合がある)。
2.CMPS_type_identifier:各々ストリームにおけるオフセットおよび長さを持つ[1…n]の識別子。オフセットは、このCMPSタイプのデータが見つかるCMPOにおけるバイトをポイントする。長さはこのデータのバイト数で表される長さである。
3.DataSegment:CMPSサプライヤが財産権を有するフォーマットでコード化されたn個のCMPSタイプの各々について1つのセグメント。
4.CMP_Message_UPL:別のCMP_Messageを参照する。(これはストリームをポイントするためにURLを使用する標準に従っている)。
b.CMPO
CMPOは、詳細なCMP制御を個々の基本ストリームに付与するために使用されるデータ構造である。各CMPOは以下のものを含む。
1.CMPO_ID:制御下にあるコンテンツの識別子。この識別子は、基本ストリームを一意に識別しなければならない。
2.CMPO_count:このCMPOがサポートする[1…n]のCMPSタイプ。
3.CMPS_type_identifiers:各々ストリームにおけるオフセットおよび長さを持つ[1…n]の識別子。オフセットは、このCMPSタイプに関するデータが見つかるCMPOにおけるバイトをポイントする。長さは、このデータのバイト数で表される長さである。
3.DataSegment:n個のデータ・セグメント。各データ・セグメントはCMPSサプライヤが財産権を有するフォーマットである。
4.CMPO_UPL:このCMPOの情報に情報を追加する追加CMPOを参照するオプショナルのURL(これは、新しいCMPSのサポートを大幅に追加する方法である)。
c.フィードバック・イベント
フィードバック・イベントは次の2つの形をとる:開始および終了。各フィードバック・イベントは、下記の3つの情報ピースを含む:
1.Elementary_stream_ID
2.Time:プレゼンテーション時間
3.Object_instance_number
(ユーザ・インターフェース)
コマース・アプライアンス2301は、制御関係の情報をユーザに伝え、ユーザからコマンドおよび情報を受け取るために設計されるユーザ・インターフェースを含むことができる。このインターフェースには、特別目的ディスプレイ(例えば、現在動作が支払いを必要とする場合には点灯するライト)、特別目的ボタン(例えば、コンテンツ表示のために要求される支払いまたはその他の条件を受諾するボタン)、および(または)画面に提示されるビジュアル情報が含まれる。
MPEG−4コンテクストにおける操作の例
1.ユーザが、特定の作品またはチャンネルを選択する。例えば、ユーザはリモコン装置を使ってデジタルTVを特定のチャンネルに合わせることができる。 2.チャンネル選択は、CMPS装置に通信され、CMPS装置は、この情報を使って、CCMPOをダウンロードするか、以前にダウンロードされたCCMPOを識別する(例えば、CMPS装置がセットトップ・ボックスに含まれている場合、セットトップ・ボックスは、ボックスが潜在的にアクセスできる全てのチャンネルについてCCMPOを自動的にダウンロードできる)。
3.CMPS装置は、CCMPOを使って、このチャンネルにある全てのコンテンツに対応付けられるルールを識別する。例えば、CCMPOは、コンテンツが加入者しか視聴できないと指定でき、またユーザが加入者でない場合、ユーザに加入を勧める広告画面を掲示するよう指定することができる。
4.CCMPOが指定するルールが満たされたら、CCMPOは、そのチャンネルで使用可能な特定の作品に対応付けられるMCMPOのロケーションを指定する。チャンネルCMPOは、MCMPOの解読のために使用される1つまたはそれ以上のキーを提供することもできる。
5.CMPS装置は、MCMPOをダウンロードする。MPEG−4実施態様の場合、MCMPOは基本ストリームの場合がある。この基本ストリームは、MPEG−4デコード・プロセスの比較的早い段階に識別可能でなければならない。
6.CMPS装置は、MCMPOを解読し、コンテンツにアクセスしこれを使用するために使用されるルールを判定する。CMPS装置は、広告入りで無料で見るかあるいは広告なしで有料で見るか、を含めて、1組のオプションをユーザに提示する。
7.ユーザは、例えば、リモコン装置を使って画面上のオプションをハイライトして選択することによって、広告入りを無料で見ることを選択する。
8.CMPS装置は、MCMPOから1つまたはそれ以上のキーを入手して、このキーを使ってビデオに対応付けられるESを解読する。CMPS装置は、2つの可能なシーンディスクリプタグラフ、すなわち広告入りおよび広告なし、を識別する。CMPS装置は、広告入りシーンディスクリプタグラフを通り抜けて、他方のシーンディスクリプタグラフをブロックする。
9.CMPS装置は、合成およびレンダリング・ブロックをモニタして、広告AVOが実際に画面にリリースされたかどうかチェックする。CMPS装置がこのAVOが実際に画面にリリースされていないと判定する場合、エラーまたは警告メッセージを掲示して、その後の解読を終了する。
(プロバイダおよび配給チェーンにおけるCMPS権利管理)
他の実施態様においては、ルールをデジタル情報と対応付けるためにまたこのルールを作成、製作、配給、表示および(または)放映プロセス全体を通じて施行するために、消費者用装置に加えて、1つまたはそれ以上のCMPSが、デジタル情報の作成、捕捉、修正、拡大、動画化、編集、抜粋、抽出、埋め込み、エンハンスメント、補正、フィンガーピリンティング、ウォーターマーキングおよび(または)レンダリングに使用される。
非限定的例においては、CMPS(その非徹底的例としては、前記のGinterその他の特許出願において説明されるVDEノードの少なくとも安全な部分が含まれる)は、ビデオおよびデジタル・カメラ、オーディオ・マイクロフォン、録音、再生、編集および(または)騒音低減装置および(または)その他のデジタル装置に組み込まれる。画像、ビデオおよび(または)オーディオまたはその他の関連デジタル情報は、少なくとも1つのCMPSおよび(または)少なくとも1つのCMPOを使って捕捉され、記録され、持続的に保護される。CMPSは、上記の装置の圧縮/解凍、暗号化/解読、DSP、デジタル−アナログ変換、アナログ−デジタル変換および通信ハードウェアおよび(または)ソフトウェア・コンポーネントと対話する。
別の非限定的例においては、コンピュータ・アニメーション、特殊効果、デジタル編集、カラー補正、騒音低減およびデジタル情報を作成および(または)使用するその他のアプリケーションは、少なくとも1つのCMPSおよび(または)少なくとも1つのCMPOを使って、デジタル情報に関連する権利を保護および(または)管理できる。
別の例では、少なくとも1つのデジタル・ライブラリ、アセット・ストア、フィルムおよび(または)オーディオ・ライブラリ、デジタル・ボールトおよび(または)その他のデジタルコンテンツ記憶・管理手段においてデジタル資産を管理するためにCMPSおよび(または)CMPOを使用する。
本出願に従って、CMPSおよび(または)CMPOを使って、デジタル作品の公開および(または)放映に関連する権利を管理できる。非限定的例として、平面スクリーン、ディスプレイ、モニタ、TVプロジェクタ、LCDプロジェクタ、および(または)デジタル情報を表示するためのその他の手段は、デジタル作品の使用を制御する少なくとも1つのハードウェアおよび(または)ソフトウェアCMPSインスタンスを組み込むことができる。CMPSは、1つまたはそれ以上のデジタル信任状がある場合のみ使用を許容するようにできる。この信任状の非限定的例は、デジタル情報の使用が公開および(または)放映のためのあるセッティング、ロケーションおよび(または)その他の状況で行われることを証明するデジタル証明書である。この状況の非限定的例には、劇場、バー、クラブ、電子ビルボード、公共エリアの電子表示または飛行機、船舶、列車およびその他の公共輸送機関のTVが含まれる。上記の信任状は、証明当局など信頼できる第三者が発行でき、その非限定的例は、前期のGinter’712特許出願において開示されている。
(付加的MPEG−4実施態様情報)
この文書は、進化しつつあるMPEG−4の現在もっとも完璧な説明であるバージョン1システム委員会草案(CD)におけるMPEG−4説明に基づいている。
この節では、MPEG−4プレーヤ・アーキテクチャの構造的修正を示し、データ・ラインおよびこれに付随する機能的変更について論じる。図23は、オリジナルのMPEG−4プレーヤの機能コンポーネントを示している。コンテンツは、シリアル・ストリーム(例えば、MPEG−4ビット・ストリーム2314)にパッケージされてプレーヤ2301に到達する。コンテンツは、一連の3段階非多重化(例えば、デマルチプレクサ2305)によって非多重化され、基本ストリームになる。基本ストリームには、AVオブジェクト(AVO)、シーンディスクリプタグラフ(SDG)およびオブジェクト・ディスクリプタ(OD)の3つの主要タイプがある。これらのストリームはそれぞれの処理エレメントに送られる(例えば、AVOデコード2307、シーンディスクリプタグラフ2306、オブジェクト・ディスクリプタ2308)。AVOは、オーディオ・ビデオ、合成グラフなどマルチメディア・コンテンツ・ストリームである。これは、プレーヤの圧縮/コード化サブシステムによって処理される。シーンディスクリプタグラフ・ストリームは、シーンディスクリプタグラフを構成するために使用される。このストリームは、シーンをどのように構成するかを合成およびレンダリング・ブロック2309に知らせルものであり、「スクリプト」として考えることができる。オブジェクト・ディスクリプタは、AVOおよびSDグラフ更新に関する記述情報を含む。
CMPS(例えば、CMPS2302)を収めるためおよびコンテンツを効果的に保護するために、プレーヤ構造は、いくつかの方法で修正されなければならない。
・一部のデータ・パスはCMPSにまたCMPSからルート変更されなければならない。
・SDG、AVOデコードおよびオブジェクト・ディスクリプタモジュールの一部のバッファを保護しなければならない。
・ユーザおよび合成およびレンダリング装置からCMPSへのフィードバック・パスを追加しなければならない。
CMPS2302がMPEG−4ユニットと通信するため、およびCMPSがコンテンツを効果的に管理するために、CMPO構造および対応付けプロトコルを指定し、フィードバック・システム(合成者またはユーザからの)に関する通信プロトコルを定めなければならない。
プレーヤの構造的修正は図23に示されるとおりである。主要な変更は、以下のとおりである。
・全ての基本ストリームがCMPS2302を通じて送られる。
・デマルチプレクサ2305とCMPS2302の間の直接通信パス
・CMPS2302に、要求される「コンテンツリリースおよび解読」モジュール
・合成およびレンダリング2309からCMPS2302へのフィードバック・ループ(例えば、ライン2313)の追加
・ライン2316を通じてのCMPS2302とユーザの両方向直接対話
さらに、M4v2Pの場合、CMPオブジェクトは、全ての基本ストリームと対応付けられることが望ましい。作者が保護しない選択をした基本ストリームは、まだ「未保護コンテンツ」CMPOによりマーキングされている。CMPOは、ルール情報をコンテンツに付与するための初歩的手段である。コンテンツは、AVOを参照するだけでなく、シーンディスクリプタグラフも参照する。シーンディスクリプタグラフは、大きな価値を持つ可能性があるので、CMPS2302により保護し管理する必要があるだろう。
デマルチプレクサ2305からCMPS2302への直接パスは、潜在的にビジネス・モデル情報を含みユーザ・セッションの始めにビジネス・モデル情報を伝達するCMPS固有のヘッダを送るために使われる。このヘッダは、ユーザ識別および認証を開始し、ルールおよび結果を伝達し、ルールとの直接的対話(サービスの質QoSの選択、請求書作成など)を開始するために使用できる。CMPS2302とのユーザの通信は、非標準化チャンネル(例えば、ライン2316)を通じて行われる。CMPS設計者は、この対話をフレーミングするために独立APIを提供することができる。
合成およびレンダリング・ブロック2309からのフィードバック・パス2313は、重要な目的に役立つ。このパスは、システムがユーザに実際に所定のシーンを提示したかどうかクロスチェックするために使用される。それぞれのモジュールによって処理される基本ストリームは、必ずしもユーザに提示されない場合がある。さらに、アタッカーが1回の支払いで何回も見るという、詐欺的状況がいくつもある。フィードバック・パスは、CMPS2302がレンダリングをクロスチェックして、より正確な料金算出を行えるようにする。このフィードバックは、合成およびレンダリング・ブロック2309が所定のオブジェクトのレンダリング開始を知らせる開始イベントを発し、このレンダリングの終了時に停止イベントによって補完されることによって、実現される。フィードバック信号プロセスは、CMPS2302に通知すべきか否かを示すために切り替えられるCMP通知フラグを用意することによってオプションとすることができる。全てのCMPOは、このフラグを持つ必要があるだろう。
構造への最後の修正は、AVO、SDGおよびオブジェクト・ディスクリプタプロセッサおよび合成およびレンダリング・ブロックの平文バッファを保護する必要性である。これは、著作権侵害者がバッファのコンテンツを盗むのを防ぐためである。実際には、この構造の不正変更はストリームの同期化をかなり破壊するので、これは難しいかも知れない。しかし、このバッファを保護処理環境に置けば、より高いセキュリティ状態が得られるだろう。
CMPS2302は、下記のものと整合的にプレーヤ2301の機能を統御する。
・CMPS2302とMPEG−4プレーヤの間の通信メカニズム(CMPOを通じて)
・コンテンツリリースおよび解読サブシステム
・バージョン認証サブシステム
・MPEG−4コンポーネントでのストリーム処理を妨害しないような充分な性能
CMPS2302は、CMP情報交換のためにも使用されるMPEG−4プレーヤの外部にある両方向サイドチャンネルを持つことができる。さらに、CMPS設計者は、ユーザにストリーム管理のコンテンツおよび権利管理サイドと通信する(例えば、ライン2316を通じて)能力を与えるユーザ・インターフェースAPIを提供することができる。
暗号化されたコンテンツは、保護されるコンテンツに対応付けられるルールの関数として、またCMPS2302とユーザの対話の結果として、CMPS2302によって解読され、リリースされる。暗号化されないコンテンツは、CMPS2302を通り抜け、関連ルールおよびCMPS2302とユーザとの対話の統御を受ける。このルールおよびユーザ対話の結果として、CMPS2302は、シーン構造および(または)QoS等級を変更するためにSDGおよびAVOコーディング・モジュール(例えば、2310、2311)とトランザクションを行う必要があるかも知れない。
最後に、CMPS設計者は、CMPS2302に、CMPSサイドチャンネル・ポート2318を通じてまたはMPEG−4ビット・ストリームにパッケージされる暗号化コンテンツとしてクリアリングハウス・オーソリティに送られる監査証跡情報を、生成させることができる。
MPEG−4・v1システムCDは、「オブジェクト」という用語を曖昧に使用している。この文書においては、「オブジェクト」は、特に、図23において1つまたはそれ以上のデータ・パスから流れるデータ構造を意味するために使用される。
各々独自のCMPOを持つ多重SDグラフ更新ストリームを使用することにより、作者はSDグラフに固有の制御を自由に適用することができる。例えば、SDグラフの各ノードを、別個のSDグラフ更新ストリームによって作成または修正することができる。このストリームは各々、異なるCMPOおよびIDを持つ。従って、CMPSは、各ノードの作成および修正をリリースし解読し、各ノードについて個別にフィードバック情報を受け取ることができる。リリースを制御し結果をインプリメントすることの実際的な意味は、各グラフ・ノードにCMPOを持つ労力を払わずに、SDグラフの各ノードにCMPOを持つことに匹敵するはずである。
本発明に従う原則は、以下の例を使って説明することができる:
第1の例においては、英語またはフランス語のサウンドトラック付きの二ヶ国語ビデオがある。ユーザは、再生中英語かフランス語を聞くことができる。基本プレゼンテーションは$1かかる。フランス語サウンドトラックが流される場合$0.50の追加料金がかかる。1回のプレゼンテーション視聴中にユーザがフランス語と英語の間で切り替えると、1回だけ$0.50の追加料金が発生する。
この例においては、以下の4つの基本ストリームがある:
シーン記述グラフ更新ストリームは、1つのCMPOを持っている。このCMPOは、コンテンツの使用に対応付けられる$1.00の料金を暗示する。シーン記述グラフはビデオを表示し、英語の音響を流し、ユーザがフランス語に切り替えることができるようにボタンを提示する。ユーザがこのボタンをクリックすると、英語が停止して、その時点からフランス語が流れて、ボタンは英語への切り替えボタンに変わる(任意に、ユーザが最初の言語を選択できるように始めに多少の対話がある場合もある。これをSDグラフで行うのは非常に簡単である)。
CMPOを持つビデオ・ストリームは、上記のシーン記述グラフ更新ストリームがリリースされる場合にのみこれをリリースできることを示す。
英語オーディオ・ストリームは、ビデオ・ストリームと同様である。
フランス語オーディオ・ストリームは、ビデオ・ストリームと同様であるが、これをフィードバック・チャンネルで見る場合$0.50の料金がつく。(CMPSは、ユーザが1回のプレゼンテーションで2つの言語の間で切り替えても、2回カウントしてはならない。
重要な要件は、SDグラフ更新ストリームのIDがフィードバック・パス(例えば、フィードバック・パス2313)に現れることである。したがって、CMPS2302は、プレゼンテーションが停止し終了するときこれを知るので、フランス語の音響について正しく請求できる。
ビデオおよびオーディオ・ストリームのリリースに適用されるルールは、いくつか変形を含むことができる。このストリームに関するルールは、例えば、「もしフィードバック・チャンネルにシーン記述グラフ更新ストリームXのidがなければ、このストリームのリリースを停止すること」という意味のことを定めることができる。メイン・プレゼンテーションがディスプレイ上にない場合、ビデオがディスプレイ上にあってはならない。これによって、ビデオをこの1回のプレゼンテーションに結びつける。他のプレゼンテーションにおいてビデオを使用するためには、この保護されているバージョンではなく、オリジナルのビデオにアクセスする必要がある。
第二の例においては、作者が、無料のアトラクト・シーケンスすなわち「トレーラ(予告編)」付きのプレゼンテーションにしたいとする。ユーザが、正確なボタンをクリックすると、システムは、無料プレゼンテーションに移行する。これは、1組の「行為」として編成される。
多重SDグラフ更新ストリームは、シーン記述グラフを更新できる。多重SDグラフ更新ストリームは並行して開くことができる。ストリームのALUのタイプ・スタンプが同期化および調整のために使われる。
トレーラおよび各行為は、別個のCMPOを持つ別個のSDグラフ更新ストリームによって表される。不可視で無音の単純なルート・ノードを作成するSDグラフ更新ストリームが追加されるだろう。このノードは、必要に応じて、プレゼンテーションの他のコンポーネントをもたらす。
発明の実施についての以上の説明は、例証および説明のためのものである。これは徹底的なものではなく、発明を開示される正確な形態に限定するものではない。修正および変形が以上の教訓から可能であり、あるいは発明の実施から修正および変形が得られるかも知れない。例えば、以上に説明した実現例はソフトウェアを含んでいるが、本発明は、ハードウェアおよびソフトウェアの組み合わせとして、またはハードウェアだけで実現可能である。発明は、オブジェクト指向および非オブジェクト指向の両方のプログラミング・システムを使って実現できる。発明の範囲は請求の範囲およびそれと同等のものによって定義される。
本発明に一致する一般的システムを示す。 本発明に一致する例としてのヘッダ201を示す。 本発明に一致する一般的コード化フォーマットを示す。 本発明に一致する作品の表現を保存する1方法を示す。 制御メッセージフォーマットの例を示す。 図1の機能ブロックを使って行うステップの1実施例を示すフロー図である。 制御メッセージをコントロールブロック13に保存する形式を示す。 本発明に一致したMPEG−4システム801を示す。 メッセージフォーマットの例を示す。 本発明に一致したIPMPテーブルを示す。 本発明に一致したシステムを示す。 DigiBoxフォーマットの1実施例を示す。 Real Networkファイルフォーマット(RMFF)の例を示す。 本発明に一致したRNPFFフォーマットを示す。 本発明に一致したアーキテクチャでのReal Networkファイルフォーマットでのデータ変更フローを示す。 標準的RealNetworkアーキテクチャを示す。 RealNetworkアーキテクチャ全体内でトラスト・プラグインが動作する例としてのアーキテクチャを示す。 本発明の原理に一致したビット・ストリームフォーマットを示す。 MP3フォーマットに適用される保護の1実施例である。 保護されたコンテンツを処理およびレンダリングするよう設計されたMP3プレーヤの1実施例である。 本発明に一致して保護されたMPEG−4ファイルを作成できる1実施例のデータフローを示す。 本発明に一致して制御を既存MPEG−4ストリームに組み込むことのできる1実施例のデータフローを示す。 本発明の原理に一致したシステムを示す。 本発明の原理に一致したシステムを示す。 本発明に一致した集合ストリームの例を示す。 本発明に一致したヘッダCMPO2601を示す。 本発明の原理に一致したコンテンツ・マネージメント・プロテクション・オブジェクトの例を示す。 本発明に一致したCMPOデータ構造2801の例を示す。
符号の説明
1 メディアシステム
2 ビット・ストリーム
3 編成ストリーム
4 オーディオ・ストリーム
5 ビデオ・ストリーム
6 制御ストリーム

Claims (19)

  1. (a)デジタルビット・ストリームを受信するように構成されたポートであって、前記デジタルビット・ストリームは多重化された複数のサブストリームからの情報パケットを含み、前記複数のサブストリームは、
    少なくとも一部が圧縮されかつ暗号化されたコンテンツを含むコンテンツ・パケットを備えるコンテンツ・ストリームと、
    レンダリングすべき作品に関係する編成情報を含む編成パケットを備える編成ストリームと、さらに
    前記コンテンツの少なくとも一部分を解読するために適した少なくとも1個のキーを含む、前記コンテンツの使用を制御するための制御情報を含む安全コンテナを有する制御パケットを備える制御ストリーム、を備える、前記ポートと、
    (b)前記パケットを分離しかつルート付けするように配置されたデマルチプレクサと、
    (c)安全コンテナを開きさらに暗号キーを抽出するように配置された制御ユニットと、
    (d)暗号キーを使用して前記コンテンツ・パケットを解読するように配置された解読ユニットと、
    (e)前記解読されたコンテンツ・パケットを解凍し、レンダリングのために解凍されたオブジェクトを出力するように配置された解凍ユニットと、
    (f)前記デマルチプレクサから編成パケットを受信し、レンダリングのためにオブジェクトの編成および関係を特定する編成情報を出力するように配置された編成ユニットと、
    (g)前記編成ユニットから出力された編成情報に従って前記解凍ユニットから出力される解凍されたオブジェクトを編成するように配置された合成ブロックであって、前記編成情報はレンダリングされたオブジェクトの編成および関係を特定し、それによって前記解凍されたオブジェクトを一個の作品にレンダリングするものである、前記合成ブロックと、さらに、
    (h)レンダリングされまたはレンダリングされるべきオブジェクトの情報を含む、前記解凍されたコンテンツ情報に関して、前記制御ユニットが前記合成ブロックから情報を受信することを可能とするための、前記合成ブロックから前記制御ユニットへのフィードバック・パス、を備える、パケットスイッチネットワークで使用されかつコンテンツ保護およびデジタル権利管理を提供するストリーミング方式メディアプレーヤ。
  2. 請求項1に記載のプレーヤであって、さらに、
    前記解凍ユニットに接続されかつ解読ユニットを含むストリーム・コントローラと、
    前記ストリーム・コントローラの解読機能とともに使用するための少なくとも1個のキーを前記制御ユニットが前記ストリーム・コントローラに送ることを可能とするための、制御装置とストリーム・コントローラ間のパス、を備えるプレーヤ。
  3. 請求項1または2に記載のプレーヤであって、前記デジタルビット・ストリームがMPEG−4フォーマットでコード化されている、プレーヤ。
  4. 請求項1または2に記載のプレーヤであって、前記デジタルビット・ストリームがMP3フォーマットでコード化されている、プレーヤ。
  5. 請求項1乃至4の何れか1項に記載のプレーヤであって、前記制御ユニットが、少なくとも1つのサブストリームまたはオブジェクトの管理に関連するコンテンツの使用を制御するように構成されたルールまたはルール・セットを含む、プレーヤ。
  6. 請求項5に記載のプレーヤであって、前記ルールまたはルール・セットが外部ソースから配送される、プレーヤ。
  7. 請求項6に記載のプレーヤであって、前記ルールまたはルール・セットがデジタルビット・ストリームの一部として配送される、プレーヤ。
  8. 請求項5に記載のプレーヤであって、前記ルールまたはルール・セットが、前記管理されたサブストリームまたはオブジェクトの解読条件を指定する、プレーヤ。
  9. 請求項5に記載のプレーヤであって、前記ルールまたはルール・セットが、前記管理されたサブストリームまたはオブジェクトへのアクセスまたは使用の少なくとも一態様を管理する、プレーヤ。
  10. 請求項9に記載のプレーヤであって、前記管理された態様は、前記管理されたサブストリームまたはオブジェクトのコピーの作成を含む、プレーヤ。
  11. 請求項9に記載のプレーヤであって、前記管理された態様は、デジタル出力ポートを介して前記管理されたサブストリームまたはオブジェクトを送信することを含む、プレーヤ。
  12. 請求項11に記載のプレーヤであって、前記ルールまたはルール・セットが、前記管理されたサブストリームまたはオブジェクトが第2のデバイスに転送されるが、しかし前記管理されたサブストリームまたはオブジェクトは前記転送に先立ってあるいは転送の間に、第1のデバイスにおいてディスエーブルとされねばならないことを特定する、プレーヤ。
  13. 請求項12に記載のプレーヤであって、前記第2のデバイスが、レンダリング機能を含み、ストリーミング方式メディアプレーヤにある機能が少なくとも1つ欠け、かつストリーミング方式メディアプレーヤより少なくとも多少持ち運びしやすい、プレーヤ。
  14. 請求項8に記載のプレーヤであって、前記制御装置が、同一の管理されたサブストリームまたはオブジェクトへのアクセスまたは使用を管理する少なくとも2つのルールを含む、プレーヤ。
  15. 請求項14に記載のプレーヤであって、前記2つのルールのうち第1のルールが、第1のエンティティにより供給され、第2のルールが第2のエンティティにより供給される、プレーヤ。
  16. 請求項15に記載のプレーヤであって、前記第1のルールが、前記第2のルールのオペレーションの少なくとも1個のシステム設計または情報フォーマット態様を制御する、プレーヤ。
  17. 請求項9に記載のプレーヤであって、前記管理された態様が、少なくとも1個のバジェットの使用を含む、プレーヤ。
  18. 請求項9に記載のプレーヤであって、前記管理された態様は監査情報の提供要求を含む、プレーヤ。
  19. 請求項1乃至18の何れか1項に記載のプレーヤであって、前記制御装置が不正変更防止ユニットを含む、プレーヤ。
JP2005199949A 1998-03-16 2005-07-08 ストリーミング方式メディアプレーヤ Expired - Fee Related JP4598616B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US7805398P 1998-03-16 1998-03-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000537377A Division JP4511029B2 (ja) 1998-03-16 1999-03-16 メディア・コンテンツの連続制御および保護のための方法および装置

Publications (2)

Publication Number Publication Date
JP2005318656A true JP2005318656A (ja) 2005-11-10
JP4598616B2 JP4598616B2 (ja) 2010-12-15

Family

ID=22141634

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2000537377A Expired - Lifetime JP4511029B2 (ja) 1998-03-16 1999-03-16 メディア・コンテンツの連続制御および保護のための方法および装置
JP2005199949A Expired - Fee Related JP4598616B2 (ja) 1998-03-16 2005-07-08 ストリーミング方式メディアプレーヤ
JP2005199916A Expired - Fee Related JP4616095B2 (ja) 1998-03-16 2005-07-08 メディア・コンテンツの連続制御および保護のための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000537377A Expired - Lifetime JP4511029B2 (ja) 1998-03-16 1999-03-16 メディア・コンテンツの連続制御および保護のための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005199916A Expired - Fee Related JP4616095B2 (ja) 1998-03-16 2005-07-08 メディア・コンテンツの連続制御および保護のための方法および装置

Country Status (8)

Country Link
EP (3) EP1062812B1 (ja)
JP (3) JP4511029B2 (ja)
CN (3) CN100534180C (ja)
AT (1) ATE296519T1 (ja)
CA (2) CA2425741C (ja)
DE (1) DE69925466T2 (ja)
HK (1) HK1075716A1 (ja)
WO (1) WO1999048296A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282086A (ja) * 2006-04-11 2007-10-25 Nippon Telegr & Teleph Corp <Ntt> 通信方法及び通信装置

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN101359350B (zh) 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US6233684B1 (en) 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
JP4227229B2 (ja) 1998-12-03 2009-02-18 キヤノン株式会社 画像処理装置及び方法及びシステム並びに記憶媒体
JP4109772B2 (ja) * 1998-12-03 2008-07-02 キヤノン株式会社 データ処理方法及びその装置
SG75189A1 (en) * 1998-12-04 2000-09-19 Canon Kk Image processing apparatus method therefor and recording medium storing image processing program
JP3976942B2 (ja) * 1998-12-18 2007-09-19 キヤノン株式会社 画像処理装置及び方法、画像処理プログラムが記録されたコンピュータ可読記録媒体
US7624046B2 (en) 1998-12-24 2009-11-24 Universal Music Group, Inc. Electronic music/media distribution system
US6918059B1 (en) 1999-04-28 2005-07-12 Universal Music Group Method and system for handling errors in a distributed computer system
US6564253B1 (en) 1999-05-07 2003-05-13 Recording Industry Association Of America Content authorization system over networks including searching and reporting for unauthorized content locations
US6785815B1 (en) 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US6959384B1 (en) 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US7152165B1 (en) 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
AU6104800A (en) 1999-07-16 2001-02-05 Intertrust Technologies Corp. Trusted storage systems and methods
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
DE60023013T2 (de) 1999-07-30 2006-06-29 Intertrust Technologies Corp., Santa Clara Verfahren und systeme zur transaktionsaufzeichnungsübertragung unter anwendung von schwellen und einem mehrstufigen protokoll
EP1079627A1 (en) * 1999-08-27 2001-02-28 Canon Kabushiki Kaisha Copyright protection in MPEG-4 using digital watermarking
US7406603B1 (en) 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US6985885B1 (en) 1999-09-21 2006-01-10 Intertrust Technologies Corp. Systems and methods for pricing and selling digital goods
JP4449125B2 (ja) * 1999-11-09 2010-04-14 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US6792113B1 (en) 1999-12-20 2004-09-14 Microsoft Corporation Adaptable security mechanism for preventing unauthorized access of digital data
US6832316B1 (en) 1999-12-22 2004-12-14 Intertrust Technologies, Corp. Systems and methods for protecting data secrecy and integrity
SG103829A1 (en) * 2000-01-28 2004-05-26 Canon Kk Digital contents distribution system, digital contents distribution method, roaming server, information processor, and information processing method
KR20020076272A (ko) * 2000-01-31 2002-10-09 캐논 가부시끼가이샤 데이터 처리 장치, 데이터 처리 시스템, 데이터 처리 방법및 기억 매체
JP2001218204A (ja) * 2000-01-31 2001-08-10 Canon Inc データ処理方法及び装置並びに記憶媒体
KR100878338B1 (ko) * 2000-02-19 2009-01-14 디지맥 코포레이션 워터마크 인코더 및 디코더를 작동시키는 소프트웨어 및장치들
US7275256B1 (en) 2001-08-28 2007-09-25 Music Choice System and method for providing an interactive, visual complement to an audio program
US7325043B1 (en) 2000-03-08 2008-01-29 Music Choice System and method for providing a personalized media service
US7320025B1 (en) 2002-03-18 2008-01-15 Music Choice Systems and methods for providing a broadcast entertainment service and an on-demand entertainment service
US8463780B1 (en) 2000-03-08 2013-06-11 Music Choice System and method for providing a personalized media service
US7856485B2 (en) 2000-03-08 2010-12-21 Music Choice Systems and methods for providing customized media channels
US7133924B1 (en) 2000-03-08 2006-11-07 Music Choice Personalized audio system and method
US7783722B1 (en) 2000-03-08 2010-08-24 Music Choice Personalized audio system and method
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
EP1273172A1 (en) * 2000-04-06 2003-01-08 Koninklijke Philips Electronics N.V. Object-conditional access system
US7085839B1 (en) 2000-04-07 2006-08-01 Intertrust Technologies Corporation Network content management
US6879963B1 (en) 2000-04-12 2005-04-12 Music Choice Cross channel delivery system and method
JP2001359069A (ja) * 2000-04-13 2001-12-26 Canon Inc 情報処理装置及びその方法並びにプログラムコード、記憶媒体
US7313692B2 (en) 2000-05-19 2007-12-25 Intertrust Technologies Corp. Trust management systems and methods
US7099491B2 (en) 2000-05-26 2006-08-29 Canon Kabushiki Kaisha Contents forming method and contents reproducing apparatus and method
US7107448B1 (en) 2000-06-04 2006-09-12 Intertrust Technologies Corporation Systems and methods for governing content rendering, protection, and management applications
US7213266B1 (en) 2000-06-09 2007-05-01 Intertrust Technologies Corp. Systems and methods for managing and protecting electronic content and applications
US7546172B1 (en) 2000-06-14 2009-06-09 Marvell International Ltd. Apparatus, method, and computer program product for recording and reproducing digital data
US7315764B1 (en) 2000-06-14 2008-01-01 Marvell International Ltd Integrated circuit, method, and computer program product for recording and reproducing digital data
US7298252B1 (en) 2000-06-14 2007-11-20 Marvell International Ltd. Apparatus, method, and computer program for an alarm system
US7577247B1 (en) 2000-06-14 2009-08-18 Marvell International Ltd. Apparatus and method for telephone, intercom, and clock
US7457676B1 (en) 2000-06-14 2008-11-25 Marvell International Ltd. Vehicle for recording and reproducing digital data
US7778736B2 (en) 2000-06-14 2010-08-17 Marvell International Ltd. Apparatus, method, and computer program for sprinkler control
US7050586B1 (en) 2000-06-19 2006-05-23 Intertrust Technologies Corporation Systems and methods for retrofitting electronic appliances to accept different content formats
US7231043B2 (en) * 2000-06-20 2007-06-12 Canon Kabushiki Kaisha Data processing apparatus and method, and computer-readable storage medium on which program for executing data processing is stored
IT1316201B1 (it) * 2000-06-21 2003-04-03 Paolo Rinaldi Sistema on-line di accesso condizionato e controllo dell'audienceper servizi di comunicazione di tipo broadcast e multicast.
US6441765B1 (en) 2000-08-22 2002-08-27 Marvell International, Ltd. Analog to digital converter with enhanced differential non-linearity
US6400214B1 (en) 2000-08-28 2002-06-04 Marvell International, Ltd. Switched capacitor filter for reference voltages in analog to digital converter
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US6417725B1 (en) 2000-08-28 2002-07-09 Marvell International, Ltd. High speed reference buffer
US20030196092A1 (en) 2000-08-28 2003-10-16 Contentguard Holdings, Inc. Method and apparatus for sharing secure communications
US6396334B1 (en) 2000-08-28 2002-05-28 Marvell International, Ltd. Charge pump for reference voltages in analog to digital converter
US6369554B1 (en) 2000-09-01 2002-04-09 Marvell International, Ltd. Linear regulator which provides stabilized current flow
US6760042B2 (en) 2000-09-15 2004-07-06 International Business Machines Corporation System and method of processing MPEG streams for storyboard and rights metadata insertion
US20020042754A1 (en) 2000-10-10 2002-04-11 Del Beccaro David J. System and method for receiving broadcast audio/video works and for enabling a consumer to purchase the received audio/video works
US7277765B1 (en) 2000-10-12 2007-10-02 Bose Corporation Interactive sound reproducing
AU2001210904B2 (en) * 2000-10-16 2006-09-28 Recording Industry Association Of America Content authorization system over networks including the internet and method for transmitting same
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US7177857B2 (en) * 2000-11-24 2007-02-13 Matsushita Electric Industrial Co., Ltd. Apparatus and method for creating distribution content
JP4029569B2 (ja) 2000-12-13 2008-01-09 株式会社日立製作所 ディジタル情報記録再生装置、記録装置、受信装置および送信装置
US20020077984A1 (en) * 2000-12-19 2002-06-20 Mark Ireton Enabling protected digital media to be shared between playback devices
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7028009B2 (en) 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
DE10109441A1 (de) * 2001-02-27 2002-09-12 Mayah Comm Gmbh Verfahren zum Erkennen audio-visueller Daten in Übertragungsnetzen, insbesondere dem Internet
JP4311899B2 (ja) * 2001-03-02 2009-08-12 パナソニック株式会社 コンテンツの配信および保護を行なう方法および装置
JP2002290351A (ja) * 2001-03-22 2002-10-04 Dainippon Printing Co Ltd デジタルデータ放送システムの機能拡張方法
US7580988B2 (en) 2001-04-05 2009-08-25 Intertrust Technologies Corporation System and methods for managing the distribution of electronic content
US7136840B2 (en) 2001-04-20 2006-11-14 Intertrust Technologies Corp. Systems and methods for conducting transactions and communications using a trusted third party
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
CN100512102C (zh) 2001-06-04 2009-07-08 松下电器产业株式会社 多媒体信息提供及保护用的灵活通用ipmp系统的装置及方法
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
WO2002101490A2 (en) 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Cryptographic trust zones in digital rights management
US7581103B2 (en) 2001-06-13 2009-08-25 Intertrust Technologies Corporation Software self-checking systems and methods
KR20040028741A (ko) * 2001-08-09 2004-04-03 마츠시타 덴끼 산교 가부시키가이샤 Ipmp(지적 재산권 관리 및 보호) 시스템을 위한통합적인 권리 관리
US7467297B2 (en) 2001-09-03 2008-12-16 Panasonic Corporation Apparatus of a flexible and common IPMP system for MPEG-2 content distribution and protection
US7299362B2 (en) 2001-10-29 2007-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus of a baseline DVB-CPCM
SE521906C2 (sv) * 2001-11-01 2003-12-16 Kreatel Comm Ab Metod och anordning för kryptering av multimediainnehåll
JP4136534B2 (ja) * 2001-11-02 2008-08-20 キヤノン株式会社 デジタルコンテンツ処理装置、デジタルコンテンツ処理方法、コンピュータプログラム及び記録媒体
EP1309181A1 (en) * 2001-11-06 2003-05-07 Thomson Licensing S.A. Device, method and system for multimedia content adaption
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
EP1456763A4 (en) 2001-11-20 2005-10-12 Contentguard Holdings Inc SYSTEMS AND METHODS FOR CREATING, HANDLING AND PROCESSING RIGHTS EXPRESSIONS AND CONTRACTS USING SEGMENTED TEMPLATES
US7840488B2 (en) 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
ATE443970T1 (de) * 2001-12-11 2009-10-15 Ericsson Telefon Ab L M Methode des rechtmanagements für strömende media
GB0130041D0 (en) 2001-12-14 2002-02-06 Ibm Preparing multimedia content in a distributed data processing system
US20030126608A1 (en) * 2001-12-31 2003-07-03 General Instrument Corporation Methods and systems for providing streaming media content in existing video delivery systems
JP3925218B2 (ja) 2002-01-30 2007-06-06 ソニー株式会社 ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体
JP2003229843A (ja) * 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
KR20040081162A (ko) * 2002-02-01 2004-09-20 코닌클리케 필립스 일렉트로닉스 엔.브이. 워터마크 기반 액세스 제어 방법 및 디바이스
CN1628440A (zh) 2002-02-05 2005-06-15 松下电器产业株式会社 分布式ipmp设备发送消息及在mpegipmp内容中携带权限的方法
ATE385138T1 (de) * 2002-02-08 2008-02-15 Matsushita Electric Ind Co Ltd Prozess zur ipmp-schema-beschreibung für einen digitalen artikel
JP2004129197A (ja) * 2002-03-05 2004-04-22 Matsushita Electric Ind Co Ltd Mpeg−21システムの装置で使用するデジタル・アイテム処理方法
EP1483715A4 (en) 2002-03-14 2006-05-17 Contentguard Holdings Inc METHOD AND APPARATUS FOR TREATING EXPRESSION OF RIGHTS OF USE
US7805371B2 (en) 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
EP1500276A1 (en) * 2002-04-18 2005-01-26 Koninklijke Philips Electronics N.V. Testing content in a conditional access system
US7149899B2 (en) 2002-04-25 2006-12-12 Intertrust Technologies Corp. Establishing a secure channel with a human user
US7383570B2 (en) 2002-04-25 2008-06-03 Intertrust Technologies, Corp. Secure authentication systems and methods
US8543511B2 (en) 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
WO2004010270A2 (en) * 2002-07-22 2004-01-29 Koninklijke Philips Electronics N.V. Regulating content usage in a device
US7653928B2 (en) * 2002-08-30 2010-01-26 Sony Corporation Remote user interface for media player
US7089429B2 (en) * 2002-11-25 2006-08-08 Nokia Corporation Creation of local usage rights voucher
AU2003283709A1 (en) * 2002-12-12 2004-06-30 Koninklijke Philips Electronics N.V. Apparatus and method for preventing switching from a channel during an advertisement display
FR2849567B1 (fr) * 2002-12-31 2005-04-01 Medialive Dispositif securise pour la diffusion, l'acces, la copie, l'enregistrement, la visualisation a la demande et la gestion des droits des images photographiques de type jpeg
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7370212B2 (en) * 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
KR100930353B1 (ko) 2003-03-06 2009-12-08 엘지전자 주식회사 디스크 플레이어의 접속요청 처리방법
US7626609B1 (en) 2003-03-07 2009-12-01 Music Choice Method and system for displaying content while reducing burn-in of a display
WO2004100441A1 (ja) * 2003-05-09 2004-11-18 Matsushita Electric Industrial Co., Ltd. Mpeg-4 ipmp拡張されたisma媒体ストリームの受信装置
KR20060018841A (ko) * 2003-05-09 2006-03-02 마츠시타 덴끼 산교 가부시키가이샤 Mpeg-4 ipmp 확장된 isma 매체 스트림의송신장치
JP4562417B2 (ja) * 2003-05-09 2010-10-13 パナソニック株式会社 Mpeg−4ipmp拡張されたisma媒体ストリームの送信装置
EP1629382A4 (en) 2003-06-02 2011-12-21 Liquid Machines Inc MANAGING DATA OBJECTS IN DYNAMIC, DISTRIBUTED AND COLLABORATIVE CONTEXTS
CN103001923B (zh) 2003-06-05 2016-03-30 英特特拉斯特技术公司 用于控制对在计算机系统上的电子内容片段的访问的方法和系统
JP2004361868A (ja) * 2003-06-09 2004-12-24 Sony Corp データ生成方法およびデータ生成装置、データ復元方法およびデータ復元装置、並びにプログラム
US7685642B2 (en) 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
KR100643278B1 (ko) * 2003-10-22 2006-11-10 삼성전자주식회사 휴대용 저장 장치의 디지털 저작권을 관리하는 방법 및 장치
JP2005204175A (ja) * 2004-01-16 2005-07-28 Ntt Communications Kk デジタルコンテンツ暗号化装置、デジタルコンテンツ暗号化方法およびデジタルコンテンツ暗号化プログラム、並びにデジタルコンテンツ復号化プログラム
US20050207569A1 (en) * 2004-03-16 2005-09-22 Exavio, Inc Methods and apparatus for preparing data for encrypted transmission
FR2870952B1 (fr) * 2004-05-25 2007-10-19 Lassad Toumi Procede de telechargement avec insertion publicitaire et player specifique
EP1617667A3 (en) * 2004-06-18 2008-11-05 Top Up TV Europe Limited Controlling access to broadcast content
US7433473B2 (en) 2004-09-10 2008-10-07 Nagracard S.A. Data transmission method between a broadcasting center and a multimedia unit
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US20090063871A1 (en) * 2004-10-11 2009-03-05 Dirk Frijters Method and device for managing proprietary data format content
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US7613383B2 (en) 2004-12-02 2009-11-03 Hitachi, Ltd. Editing method and recording and reproducing device
US8074056B1 (en) 2005-02-02 2011-12-06 Marvell International Ltd. Variable length pipeline processor architecture
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US7630497B2 (en) * 2005-09-19 2009-12-08 International Business Machines Corporation System and method for assigning sequence keys to a media player to enable hybrid traitor tracing
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CA2626244A1 (en) 2005-10-18 2007-04-26 Intertrust Technologies Corporation Methods for evaluating licenses containing control programs by a drm engine
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US7720767B2 (en) 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
KR101240053B1 (ko) * 2005-12-16 2013-03-06 엘지전자 주식회사 멀티 스트림 컨텐츠 복제 방지 방법 및 시스템
US7987514B2 (en) 2006-04-04 2011-07-26 Intertrust Technologies Corp. Systems and methods for retrofitting electronic appliances to accept different content formats
EP2084902A4 (en) * 2006-10-17 2011-07-20 Korea Electronics Telecomm COMBINED FILE FORMAT FOR DIGITAL MULTIMEDIA BROADCAST (DMB) CONTENT, METHOD AND APPARATUS FOR MANAGING DMB CONTENT OF THIS FORMAT
CN101627606A (zh) * 2007-03-14 2010-01-13 M-Biz全球有限责任公司 用于使用移动多人游戏做广告的方法及其系统
EP2091254A1 (en) * 2008-02-15 2009-08-19 Jacopo Mangiavacchi Apparatus and methods for content protection and distribution using alternate contents to provide access to protected primary content
JP4764443B2 (ja) * 2008-03-14 2011-09-07 株式会社タイトー インターネット端末装置におけるプリペードカード処理方法
CN102144370B (zh) 2008-09-04 2015-04-15 富士通株式会社 发送装置、接收装置、发送方法及接收方法
GB2464120A (en) * 2008-10-03 2010-04-07 Sony Comp Entertainment Europe A method of crediting users for use of broadcast media
RU2448420C1 (ru) * 2010-09-30 2012-04-20 Государственное образовательное учреждение высшего профессионального образования "Пермский государственный технический университет" Способ потоковой стеганографической передачи двоичных данных
JP6047553B2 (ja) 2011-04-11 2016-12-21 インタートラスト テクノロジーズ コーポレイション 情報セキュリティのためのシステムと方法
EP2521028B1 (en) 2011-05-02 2016-11-23 Crytek IP Holding LLC Render Service for Remote Access to Applications
KR101221350B1 (ko) * 2011-05-06 2013-01-11 주식회사 네오위즈인터넷 콘텐츠 이용 방법, 콘텐츠 이용 장치, 모바일 단말기 및 기록매체
JP4996762B1 (ja) 2011-08-31 2012-08-08 株式会社東芝 電子機器およびコンテンツ転送方法
US9032494B2 (en) * 2011-11-10 2015-05-12 Sony Corporation Network-based revocation, compliance and keying of copy protection systems
EP2597883A1 (en) * 2011-11-22 2013-05-29 Nagravision S.A. Method, cryptographic system and security module for descrambling content packets of a digital transport stream
JP6189317B2 (ja) * 2011-11-29 2017-08-30 スポティファイ アーベー マルチ装置セキュアアプリケーション統合を用いるコンテンツプロバイダ
US8800004B2 (en) 2012-03-21 2014-08-05 Gary Martin SHANNON Computerized authorization system and method
US9197937B1 (en) 2012-04-26 2015-11-24 Music Choice Automatic on-demand navigation based on meta-data broadcast with media content
US9589124B2 (en) 2014-05-29 2017-03-07 Comcast Cable Communications, Llc Steganographic access controls
FR3024007B1 (fr) 2014-07-16 2016-08-26 Viaccess Sa Procede d'acces a un contenu multimedia protege par un terminal
US10219027B1 (en) 2014-10-24 2019-02-26 Music Choice System for providing music content to a user
US20160316247A1 (en) * 2015-04-27 2016-10-27 Ericsson Ab Program and device class entitlements in a media platform
CA3005476C (en) 2015-11-20 2024-03-05 Genetec Inc. Secure layered encryption of data streams
WO2017083985A1 (en) * 2015-11-20 2017-05-26 Genetec Inc. Media streaming
US10467405B2 (en) 2017-04-25 2019-11-05 Micro Focus Llc Format preserving encryption of floating point data
US10452564B2 (en) 2017-04-25 2019-10-22 Entit Software Llc Format preserving encryption of object code
FR3106685B1 (fr) * 2020-01-23 2022-05-06 Renault Sas Procédé et système de sécurisation des notifications audio d’un calculateur de véhicule
CN111339575B (zh) * 2020-02-28 2022-08-30 卡斯柯信号有限公司 适用于安全严苛系统的通用内嵌功能安全保障方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138827A (ja) * 1995-11-15 1997-05-27 Hitachi Ltd ディジタル著作物流通システム
JPH104542A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd スクランブル装置及びデータ多重方法
JPH11250081A (ja) * 1998-02-27 1999-09-17 Toshiba Corp マルチメディア情報処理装置および記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9322999D0 (en) * 1993-11-08 1994-01-05 Foley John P Terrestrial television standards converter
US5638443A (en) * 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
KR100332743B1 (ko) * 1994-11-26 2002-11-07 엘지전자주식회사 디지탈영상시스템의불법시청및복사방지방법및장치
KR0166923B1 (ko) * 1995-09-18 1999-03-20 구자홍 디지탈 방송 시스템의 불법 시청 및 복사 방지방법 및 장치
KR100254029B1 (ko) * 1995-10-09 2000-04-15 모리시타 요이찌 데이터 전송장치 및 데이터전송방법
WO1997014087A1 (en) * 1995-10-13 1997-04-17 Trustees Of Dartmouth College System and methods for managing digital creative works
ATE271742T1 (de) * 1996-01-03 2004-08-15 Sony Electronics Inc Kopiergeschütztes aufnahme- und wiedergabesystem
US5933500A (en) * 1996-05-31 1999-08-03 Thomson Consumer Electronics, Inc. Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data
US6216152B1 (en) * 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138827A (ja) * 1995-11-15 1997-05-27 Hitachi Ltd ディジタル著作物流通システム
JPH104542A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd スクランブル装置及びデータ多重方法
JPH11250081A (ja) * 1998-02-27 1999-09-17 Toshiba Corp マルチメディア情報処理装置および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282086A (ja) * 2006-04-11 2007-10-25 Nippon Telegr & Teleph Corp <Ntt> 通信方法及び通信装置

Also Published As

Publication number Publication date
CN1277220C (zh) 2006-09-27
EP1521467A2 (en) 2005-04-06
CN100534180C (zh) 2009-08-26
WO1999048296A1 (en) 1999-09-23
HK1075716A1 (en) 2006-02-03
EP1521467A3 (en) 2005-04-13
JP4598616B2 (ja) 2010-12-15
DE69925466D1 (de) 2005-06-30
JP2002507868A (ja) 2002-03-12
CN1301459A (zh) 2001-06-27
DE69925466T2 (de) 2006-02-02
ATE296519T1 (de) 2005-06-15
CN1591364A (zh) 2005-03-09
CA2425741A1 (en) 1999-09-23
EP1343318A2 (en) 2003-09-10
EP1062812B1 (en) 2005-05-25
CA2323781A1 (en) 1999-09-23
CN1145359C (zh) 2004-04-07
JP4616095B2 (ja) 2011-01-19
CA2425741C (en) 2006-05-23
CA2323781C (en) 2004-06-01
JP4511029B2 (ja) 2010-07-28
JP2006025436A (ja) 2006-01-26
EP1343318A3 (en) 2005-04-13
CN1874508A (zh) 2006-12-06
EP1062812A1 (en) 2000-12-27

Similar Documents

Publication Publication Date Title
JP4616095B2 (ja) メディア・コンテンツの連続制御および保護のための方法および装置
US9532005B2 (en) Methods and apparatus for persistent control and protection of content
US7233948B1 (en) Methods and apparatus for persistent control and protection of content
EP1581849B1 (en) Divided rights in authorized domain
RU2447498C2 (ru) Улучшенный доступ к домену
US20040083487A1 (en) Content and key distribution system for digital content representing media streams
US20140196079A1 (en) Video distribution and playback
WO2004006579A1 (en) Content and key distribution system for digital content representing media streams
JP2000349725A (ja) 放送受信装置及びコンテンツ利用制御方法
WO2008139335A1 (en) Transferring digital data
JP5350021B2 (ja) ファイル生成装置、ファイル再生装置およびコンピュータプログラム
Serrão et al. From OPIMA to MPEG IPMP-X: A standard's history across R&D projects

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090609

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100601

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100806

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: 20100824

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: 20100924

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees