1. Field of the Invention
The present invention relates to content distribution and protection, especially to such applications where the protected content based on MPEG-N is consumed by different IPMP terminals, and the same content is protected by different IPMP tools.
2. Description of the Background Art
Content distribution is becoming more and more demanding as multimedia data and contents can reach anywhere and anytime. Users are happy with the convenience and flexibility, and they can enjoy entertainment easily and efficiently. On the other hand, content owners are worried about the illegal usage of their property. There is a balance between two sides.
There are a lot of protection techniques for protecting the content, such as data encryption, watermarking, etc. They have been implemented in many content distribution applications. It seems different system employs different kinds of mechanisms and protection techniques to distribute content with protection. All the terminals or content consuming devices in that case are only able to play and consume the content that is provided by the same content provider. They cannot exchange their terminal or device to playback different contents.
In MPEG-n context, a standardisation group has been working on MPEG-2,4,7,21 IPMP. The solution is able to achieve both of the following:
The prior art of MPEG-n IPMP is illustrated in
To achieve such a wide interoperability, IPMP data needs to be standardized. IPMP data is the data that describes IPMP information, it may include time variant key that is carried in IPMP stream, it may also include tool initialisation information, or any data that an IPMP tool needs. However, so far, the standard of MPEG-2, 4, 7, 21 IPMP has not addressed this issue.
Without the standardization of IPMP data, a IPMP tool from Vendor A will not understand the IPMP data constructed by Content Author B, hence the inter-operability will not be achieved, that is, the same protected content will not be able to be consumed on different vendor's MPEG-n IPMP terminals.
To solve the problem, to assure a clear and interoperable standard, the IPMP_Data_BaseClass is defined, several IPMP data extending from this base class are also defined, which include IPMP opaque data, audio watermarking tool initialisation information, video watermarking tool initialisation information, IPMP key stream, etc.
In a first aspect of the invention, a method of using IPMP Data in MPEG-2 IPMP system, at the content author side comprises the following steps of:
In a second aspect of the invention, a method of using IPMP Data in MPEG-2 IPMP system, at the content author side comprises the following steps of:
In a third aspect of the invention, a method of using IPMP Data in MPEG-2 IPMP system, at the IPMP terminal side, comprises the following steps of:
In a fourth aspect of the invention, a method of using IPMP Data in MPEG-2 IPMP system, at the IPMP terminal side is proviede. The method comprises the following steps of:
In a fifth aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the content author side comprises the following steps of:
Constructing IPMP data extending from IPMP_Data_BaseClass, following the defined IPMP data syntax;
In a sixth aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the content author side, comprises the following steps of:
Constructing IPMP data extending from IPMP_Data_BaseClass, following the defined IPMP data syntax;
In a seventh aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the content author side, comprises the following steps of:
In an eighth aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the IPMP terminal side, comprises the following steps of:
The IPMP terminal extracts the IPMP_Tool_Descriptor containing the IPMP data from the content stream;
In a ninth aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the IPMP terminal side, comprises the following steps of:
In a tenth aspect of the invention, a method of using IPMP Data in MPEG-4 IPMP system, at the IPMP terminal side, comprises the following steps of:
In an eleventh aspect of the invention, a method of using IPMP Data in MPEG-N IPMP system, at the content author side, comprises the following steps of:
In a thirteenth aspect of the invention, a Method of using IPMP video watermarking tool in MPEG-n IPMP system, at the IPMP terminal side, comprises the following steps of:
This and other objects and features of the present invention will become clear from the subsequent description of a preferred embodiment thereof made with reference to the accompanying drawings, in which like parts are designated by like reference numerals and in which:
IPMP_DataBase defined as IPMP_Data_BaseClass includes information for using IPMP tool(s). The information is necessary to detect digital wartermarks and to decode content. Such information is managed in register of the IPMP system and is retrieved when processing the content.
IPMP_Data_BaseClass is described in predetermined syntax as shown in “Syntax” of “IPMP_Data_BaseClass” below. In order to achieve a flexible and interoperable IPMP system structure for MPEG-n and other applications as described above, we should be able to allow the followings.
Only when all above are fixed, the interoperable IPMP system for MPEG-n can be fully achieved.
Detailed explanations on items a to e will be described later.
IPMP Data is carried in the IPMP protected content bitstream (MPEG-2, 4, 7, 21). The base class is defined as IPMP_Data_BaseClass.
IPMP data that are all extended from IPMP_Data_BaseClass include:
IPMP_OpaqueData.
Semantics
Version indicates the version of syntax used in the IPMP Data and shall be set to 0x01.
IPMP_DataTag indicates the tag for the extended IPMP data. The exact values for the extension tags are defined in the following table.
Places to carry IPMP Data extended from IPMP_Data_BaseClass
In MPEG-2 system case, the IPMP_Descriptor and IPMP_info_message need modifications as below:
IPMP_Descriptor
The new syntax for this should be:
where the IPMP_Data is the IPMP Data extended from IPMP_Data_BaseClass.
IPMP_StreamDataUpdate
The IPMP Stream should be a concatenation of IPMP Stream Data Update, with the new syntax defined below.
where the IPMP_Data is the IPMP Data extended from IPMP_Data_BaseClass.
IPMP_StreamDataUpdate has a destination address indicating which tool the IPMP data should be sent to.
Types of IPMP Data that extends from IPMP_Data_BaseClass
Opaque Data
Opaque Data can contain various infromation depending on respective users, cases and so on.
There are many cases where opaque data may be needed for certain tools. Hence IPMP_OpaqueData tag=0x01 is reserved for carriage of opaque data. The syntax is illustrated below.
Selective Decryption Configuration Message
Selective Decryption Configuration Message specifies portions in the IPMP Stream, where the stream is encrypted.
The class IPMP_SelectiveDecryptionMessage should now be extended from IPMP_Data_BaseClass instead of IPMP_ToolMessageBase. The tag for this class should be IPMP_SelectiveDecryptionMessage_Tag as defined in the above table for IPMP_Data_BaseClass tags.
Audio Watermarking Configuration Message
Audio Watermarking Configuration Message specifies an initial value to detect watermarks added on an audio stream.
The class IPMP_AudioWatermarkingInit should now be extended from IPMP_Data_BaseClass instead of IPMP_ToolMessageBase. The tag for this class should be IPMP_AudioWatermarkingInit_Tag as defined in the above table for IPMP_Data_BaseClass tags.
See “MPEG-2 IPMP”, ISO/IEC 13818-1:2000 PDAM2, March, 2002, and “MPEG 4 IPMP Extension”, FPDAM ISO/IEC 14496-1:2001/AMD3, March, 2002.
IPMP Key Data
The IPMP_KeyData is defined to extend from IPMP_Data_BaseClass. This IPMP data could possibly be carried in IPMP_info_message which is subsequently carried in IPMP Stream. This facilitates the time variant key carried in IPMP Stream.
Semantics
keyBody—the body of the key. The value shall be data that conforms to a rule for data structure of the key defined outside of this document.
IsTimeScheduled—Specify if the key is scheduled to be active at a certain PTS value. If this value is set to 1, there should be a PTS value followed indicating the activation time.
OpaqueData—Any other opaque data carried in this IPMP data.
Video Watermarking Configuration Message
Video Watermarking Configuration Message specifies an initial value to detect watermarks added on a video stream. IPMP_VideoWatermarkingInit data is used to intialise a Watermarking Tool about the process of insertion/extraction of the watermarking payload into/from a video stream.
Semantics
The IPMP_videoWatermarkingInit data delivers to a watermarking tool all the information about the characteristics of the video content, the type of action to be performed on it and, possibly other related proprietary data required by the watermarking tool. Furthermore in case of:
The Watermarking Tool receives the video stream and in case of watermarking extraction, replies with an IPMP_SendVideoWatermark message carrying the watermarking payload.
Semantics
A watermarking tool, which has been required to perform payload extraction by means of an IPMP_VideoWatermarkingInit will send this message to wmRecipientId each time a new watermarking payload is extracted from the videocontent.
Refering now to
IPMP_OpaqueData is set in IPMP Control Information in PSI.
The three types of information “IPMP_SelectiveDecryptionMessage”, “IPMP_AudioWatermarkingInit”, and “IPMP_VideoWatermarkingInit” are defined in IPMP_Info, where IPMP data is carried. The above three types of information are incorporated in IPMP_Control_Graph and then set in Program Map Table (PMT).
“IPMP_KeyData” forms a part of IPMP information, which contains data on one or more keys for descrambling the content. “IPMP_KeyData” may be varied dependent on time. A headeer is added to IPMP information to be incorporated in “IPMP Stream” in the Content Stream, where IPMP data is carried.
Based on the IPMP_Data_BaseClass, some useful IPMP data syntax were clearly defined. Suppose the content's video stream is encrypted by IPMP AES tool A, the content author can dearly define an AES tool initialisation information using IPMP_SelectiveDecryptionMessage extending from IPMP_Data_BaseClass. The initialization information may include block size, encryption method. The entire IPMP_SelectiveDecryptionMessage can be carried in IPMP Descriptor (in MPEG-2 IPMP case) or IPMP_Tool_Descriptor (in MPEG4 IPMP case), as illustrated by 4.1 in
The video stream may be encrypted by a time variant key stream. In this case, the content author constructs IPMP_KeyData extending from IPMP_Data_BaseClass which includes the time variant key. The IPMP_KeyData is carried in IPMP Stream, as illustrated by 4.2 in
The AES tool vendor can then conform to the same standard, and develop a AES Decryption tool A (as illustrated in
Suppose the content's video stream is watermarked by IPMP Video Watermarking tool B, the content author can clearly define a video watermarking tool initialisation information using IPMP_VideoWatermarkingInit extending from IPMP_Data_BaseClass. The initialization information may include chroma format, frame size, watermark payload to be inserted, whether to insert or extract watermark, etc. The entire IPMP_VideoWatermarkingInit can be carried in IPMP Descriptor (in MPEG-2 IPMP case) or IPMP_Tool_Descriptor (in MPEG-4 IPMP case), as illustrated by 4.3 in
The video watermarking tool vendor can then conform to the same standard, and develop a video watermark tool B (as illustrated in
At the terminal side, when the terminal receives the content stream, it retrieves the IPMP Descriptor from IPMP Control Graph in MPEG-2's PSI. The IPMP Descriptor containing the IPMP_SelectiveDecryptionMessage is delievered to the AES decryption tool A as illustrated by 4.4 in
The IPMP Descriptor containing the IPMP_VideoWatermarkingInit is delievered to the video watermarking tool B as illustrated by 4.5 in
When the content flows it, the MPEG-2 terminal's demultiplexer retrieves IPMP data which contains the time variant key from IPMP stream. It delivers this IPMP Data to AES decryption tool A as illustrated by 4.6 in
The video watermarking tool receives the video stream and in case of watermarking extraction, replies with an IPMP_SendVideoWatermark message carrying the watermarking payload as illustrated by 4.7 in
With the above mentioned embodiment, by constructing a data base which contains information to be used to inform the MPEG-2 IPMP terminal what kind of content protection tool is used, what kind of watermarking tool is used, or what kind of encryption key is used, the interoperability between the protected-content provided and this receiver can be realized and any MPEG-n IPMP terminal can decrypt the contents sent from a content provider together with the IPMP stream or IPMP control information or IPMP control graph.
Number | Date | Country | Kind |
---|---|---|---|
NO. 2002-127121 | Apr 2002 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP03/05248 | 4/24/2003 | WO |