WO2003103294A1 - Watermark detection - Google Patents
Watermark detection Download PDFInfo
- Publication number
- WO2003103294A1 WO2003103294A1 PCT/IB2003/002476 IB0302476W WO03103294A1 WO 2003103294 A1 WO2003103294 A1 WO 2003103294A1 IB 0302476 W IB0302476 W IB 0302476W WO 03103294 A1 WO03103294 A1 WO 03103294A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- buffer
- watermark
- data rate
- information signal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
Definitions
- the invention relates to a method and arrangement for detecting a watermark in an information signal, such as an MPEG compressed video signal.
- the invention also relates to an interface circuit for interfacing a watermark detector to a communication bus over which a possibly watermarked information signal is transferred from one device to another device, for example, an IDE/ATAPI bus connecting a DVD drive to a PC.
- Watermarking is a technique to certify the ownership of (digital) information content. By imperceptibly hiding a watermark into the content, it is possible to prevent piracy and illegal use of this content.
- Typical applications include copyprotection for digital audio and video.
- the prior art method relates to watermarking a motion video signal.
- the watermark (a secret pseudo random noise sequence) is added to the content in the spatial signal domain.
- the same watermark is embedded in every image (field or frame) of the video signal.
- a small watermark pattern is tiled over the image.
- a typical tile size is 128 ⁇ 128 pixels.
- the tiles of a number of images are folded into a 128x128 buffer. Detection is performed by correlating the buffer contents with the pseudo random noise sequence. If the correlation exceeds a given threshold, the watermark is said to be present.
- Watermark detectors have been developed that detect a watermark in an MPEG2 compressed video signal. They have been designed to handle real-time MPEG2 bit streams up to a given bit rate, for example 100 Mbit/sec. Although this rate is larger than the typical data rate of a real time video signal, it is far from sufficient to handle the data rates that presently occur in personal computers where video signals are read from (and recorded on) CD or DVD drives through the IDE/ATAPI interface at speeds exceeding 500 Mbit/sec.
- the invention is particularly applicable to watermark detection in video signals being compressed in accordance with one of the MPEG video compression standards.
- portions of an image are represented by so-called slices.
- some of such image portions are filtered out (i.e. thrown away) so as to reduce the signal's data rate.
- the invention is based on the insight that an MPEG bit stream from which individual slices have been removed still complies with the MPEG standard. Accordingly, the filtered signal having the reduced data rate can still be processed by an MPEG-compliant watermark detector.
- Fig. 1 shows schematically a system comprising a PC with a DVD drive including an arrangement according to the invention.
- Fig. 2 is a block diagram of the watermark detector being implemented in the DVD drive.
- Figs. 3 and 4 are more detailed schematic diagrams of the watermark detector which is shown in Fig. 2.
- Figs. 5 and 6 are flow diagrams illustrating the processes performed by the watermark detector which is shown in Fig. 2.
- FIG. 1 denotes the DVD drive and reference numeral 2 denotes the (rest of the) PC.
- the DVD drive and PC are interconnected in a conventional manner by means of a bi-directional IDE/ATAPI communication bus 3.
- the DVD drive 1 comprises a conventional electronic drive circuit 11 for controlling the transfer of data to and from a DVD disc 13 under control of a microprocessor 12.
- the DVD drive further comprises a watermark detector 10, which is connected to the IDE/ATAPI bus 3 so as to monitor the transfer of media content and control signals between DVD drive and PC without interfering with such data transfers.
- the watermark detector 1 is further connected to the microprocessor 12 through a data communication bus 14, for example, the well-known I 2 C bus.
- the watermark detector 10 is a stand-alone device being placed on the DVD drive's printed circuit board.
- the IDE/ATAPI bus is, for example on the PC's main board or inside IDE/ATAPI drives of a different type, e.g. CD or harddisk. It is also possible to integrate the watermark detector into an existing chip that already contains the IDE/ATAPI interface logic of a drive.
- the watermark detector 10 monitors all data that is being transferred via the IDE/ATAPI interface, and is arranged to interpret the DVD Program Stream whenever it sees this type of data. Only the video part ('Video Elementary Stream') is of interest to the detector. It makes no difference if video data is being played or being copied, in both cases it is transferred over the IDE bus.
- Fig. 2 shows a schematic diagram of the watermark detector 10.
- Heart of the detector is a watermark detector core 20, which is a conventional watermark detector in the sense that it has been designed to detect a watermark in real-time MPEG2 bit streams up to a given bit rate.
- the detector core 20 will further be referred to as MPEG Scale-resistant
- MSWD Watermark Detector
- the watermark detector 10 further comprises an IDE-to-MSWD interface module 21, which is connected between the 'high-speed' IDE bus 3 and the 'low- speed' detector core 20. Its two major functions are (1) dealing with the different data rates, and (2) dealing with different clock domains (the MSWD might run at another clock frequency than for example IDE related logic).
- the preferred embodiment of the watermark detector 10 deals with the different data rates by throwing away a certain amount of MPEG2 data if the incoming data rate is more than the MSWD can handle. This process is hereinafter also referred to as filtering.
- the chosen approach is to throw away complete MPEG slices if, at the start of such a slice, it turns out that there is not sufficient room in a data buffer to store the complete slice. If a slice is removed from the stream, it is removed from the very first to the very last bit. Non-slice data is never removed. All of this results in a 'valid' MPEG2 stream, which is essential because that is what the detector core 20 can handle.
- Fig. 3 shows more details of the IDE-to-MSWD interface module 21.
- IDE related logic 211 which performs grabbing of the DVD data stream.
- MSWD 20 which performs the actual watermark detection.
- logic 212 that does the MPEG filtering.
- the clock domains are separated by means of two first-in-first-out buffers (FIFO's) 213 and 214 that handle the different clock rates as well as different data bus widths.
- FIFO's first-in-first-out buffers
- the FIFO 214 between the MPEG filtering part and the MSWD is the one that is also being used for handling the different data rates involved. It therefore has to have a certain storage capacity, which is preferably at least twice the assumed maximum size of incoming slices, so 8 Kbyte or more. From the IDE bus up to the input of this FIFO 214 everything runs at full speed, meaning that all logic in front of this FIFO can keep up with the maximum data rate on the IDE bus.
- the FIFO 213 between the IDE bus and the MPEG filtering part can be very small, because the MPEG filtering part is made such that it reads faster than the IDE logic can write.
- the existing watermark detector core 20 has an 8-bit input, accepting 1 unit per 8 clock cycles.
- the logic 211 between the IDE bus and the input of the first FIFO 213 has the task of 'grabbing' all relevant data that is being transferred over the IDE bus, and to write this data into the FIFO. Data is considered 'relevant' if it comes from disc or goes to disc. So for example all data that is being returned by the drive upon receiving the ATAPI 'READ' command is considered relevant, as well as all data that is sent along with a 'WRITE' command. Data related to commands like 'INQUIRY', 'REQUEST SENSE', etc. should be discarded. The same is true for DDE overhead at the lowest level (commands, control/status), which is also transferred over the IDE data bus.
- Optional logic between the second FIFO 214 and the MSWD detector core 20 does nothing more than providing the MSWD with new data whenever possible, which is when the FIFO is not empty and at least 8 clock periods have passed since the previous transfer (detector core can handle only one bit per clock cycle).
- Fig. 4 shows a more detailed schematic diagram of this filtering logic block. It comprises a stream converter 2121 that converts an 'DVD Program Stream' (DVDPS) into and 'MPEG2 Video Elementary Stream' (YES). If there is no DVD Program Stream data at the input (e.g. when copying a document) nothing will come out. It further comprises a slice filter 2122, which is capable of filtering out complete MPEG2 slices. It does so whenever dynamically required, for example, at moments that there is no more room in output FIFO 214 for another slice.
- Such information is conveyed from the FIFO to the module via control lines 2123. It also does so when instructed to do so by the application (user), which may for example request to remove all slices from I- and/or P- and/or B-pictures, or all slices below a certain vertical position and/or above another. This gives the possibility of fine-tuning the system.
- Such instructions are stored in a control/status register 22 (see Fig. 2), and conveyed to the slice filter 2122 via control lines 2124.
- Instructions for removal of certain slices can also come from the detector core 20. If for example the detector core is accumulating data located in a fixed area around the middle of the screen (doing for example horizontal scale detection), then it makes no sense to fill the output FIFO with data coming from outside this area. It would be thrown away later by the detector core. Vertically this is prevented by having an appropriate feedback path from the detector core to the slice filter. Such instructions are conveyed to the slice filter 2122 via control lines 2125. Variable-length decoding is not necessary to be done inside the IDE-to- MSWD interface block. This greatly reduces the complexity. The penalty is that it is not possible to throw away macro blocks outside certain horizontal boundaries.
- MPEG2 chunks are byte-aligned.
- the DVDPS-to-ES converter incorporates logic to do byte 'routing'.
- the same is true for the slice filter 2122, where complete slices (multiple of 1 byte) are removed.
- the PS-to-ES converter 2121 produces a Video Elementary Stream by removing 'pack headers' and 'packet headers' (plus any non DVD Program Stream data) from the input stream.
- Fig. 5 shows a flow diagram of the conversion process.
- the converter monitors the received Program Stream to find a start code.
- a step 51 it is checked whether the start code is the pack start code hex 0000 01 BA. As long as that is not the case, the converter returns to the step 50.
- the pack start code is detected, the converter starts (or continues as the case may be) removing all subsequent data from the Program Stream (step 52).
- step 53 it is checked (step 54) whether said start code has the value hex 00 00 01 E0 identifying the start of a video packet.
- the converter reads the packet header length (step 55), and skips the packet header (step 56).
- the removal of data is now stopped (step 57), so that the rest of the data stream, which constitutes an MPEG2 elementary video stream, is passed to the slice filter 2122 (Fig. 4) until a new pack start code is detected in the steps 50 and 51.
- the slice filter 2122 converts one Video Elementary Stream into another.
- the output stream equals the input stream, except for the fact that complete slices are removed when there is not enough room in buffer 214 for another complete slice (signaled via control data line 2123), when not needed as indicated by detector core 20 (via control data line 2125) or when requested by the application (via control data line 2124).
- Data removal always starts with the very first byte of a slice, being the first byte of the slice start code.
- Data removal always ends with the very last byte of a slice, being the last byte before one of the following start codes: picture start, group start, sequence header or sequence end.
- Fig. 6 shows a flow diagram of the operations carried out by the slice filter 2122.
- the filter waits for the occurrence therein of a start code (step 60).
- a step 61 it is checked whether the start code is a slice start code (hex 00 00 01 01). If that is the case, it is checked whether there is sufficient space in the FIFO 214 for a complete slice (step 62).
- a step 63 is performed in which the filter starts removing subsequent data including the start code just detected. The step 63 is also carried out if there is sufficient room in the FLFO, but: - the MSWD wants to throw away any slices at a particular (vertical) position in the image (step 64),
- step 65 the application wants removal of slices at a particular position (step 65), or
- the application requests slices from (a) particular picture type(s) only (step 66).
- step 67 is carried out in which the removal of data is stopped.
- the step 67 thus causes the process of passing on the video elementary stream to the output to be resumed (or continued as the case may be).
- the step 67 of resuming or continuing the process of writing the stream into the FIFO 214 is also carried out if the start code found in the stream is a picture start code (step 68), a group start code (step 69), a sequence header start code (step 70), or a sequence end start code (step 71).
- the start code found in the stream is a picture start code (step 68), a group start code (step 69), a sequence header start code (step 70), or a sequence end start code (step 71).
- the coding type of said picture (I, P, B) is determined in a step 72. The result of this determination is used in the step 66.
- a major assumption for the above-described stand-alone solution is that the number of 'micro-decisions' per time unit (at the side of the detector core) does not have to keep up with the speed of copying at all times. At a certain moment when going to higher data rates MPEG data will be thrown away and the number of micro-decisions per time will no longer increase.
- the clock-frequency of the MSWD detector core determines the (speed) performance of the total watermark detector.
- micro-decision rate might be higher (due to higher IDE data rate) but reliability values will be lower (due to less relative watermark contribution). If the other data stream is not DVD Program Stream, and is therefore discarded, the only influence could be a lower micro-decision rate (less IDE bandwidth available for the video stream).
- non-sequential access is when an application (the user) deliberately does random reading of single sectors, hi that case the stand-alone solution might detect a watermark once in a while, but in general performance will be very poor. For this kind of activities a different architecture is required.
- a result of non-sequential access can also be that multiple watermarks are detected (at the same time) that do not belong to the same video part. Probably the best way to deal with this is to take action according to the most 'severe' watermark. It will typically make no difference at what speed a certain watermarked video sequence is being accessed, as long as access is sequential and data is not mixed with other data. Reliability can even go up when going to higher speeds, because when more slices are thrown away there is less video data correlation. Less video data correlation means that it is easier to detect (a) possible watermark(s).
- the algorithmic specification that belongs to the MSWD detector core describes how much data should be accumulated during scale detection and during actual watermark detection. For actual watermark detection different situations exist, depending on the scale that is being used. In all cases the amount of data that is to be accumulated is expressed as a number of (I- and/or P- and/or B-) pictures. For the stand-alone solution described here this must be changed, because a number of pictures doesn't say anything any more about the amount of data that is accumulated. For example during copying at a data-rate four times higher than the MSWD detector core can handle, a typical picture at the input of this detector core will only contain one quarter of the original number of slices.
- the MSWD detector core can be changed in such a way that it now counts slices instead of pictures.
- a simple implementation has been chosen, where the design of the detector core is left untouched as much as possible.
- MPEG parsing part of the detector core a small modification translates the request for N pictures in a request for N*32 slices. This is good enough for both NTSC (normally 30 slices per picture) and PAL (normally 36 slices per picture), since also in the original situation a certain number of pictures does not define an exact amount of data.
- Problem is that the data rate of the standard IDE/ATAPI bus (3) is much higher than the watermark detector can handle.
- the solution is to store MPEG slices in a data buffer (214), and throw away (212) slices that do not completely fit in the buffer. Non-slice data is never removed. This results in an MPEG2-compliant stream at a lower rate which the detector (20) can handle.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03732838A EP1514422A1 (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
KR10-2004-7019712A KR20050006287A (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
US10/516,149 US20050175177A1 (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
JP2004510245A JP2005528860A (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
AU2003239253A AU2003239253A1 (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02012255 | 2002-06-04 | ||
EP02012255.2 | 2002-06-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003103294A1 true WO2003103294A1 (en) | 2003-12-11 |
Family
ID=29595008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2003/002476 WO2003103294A1 (en) | 2002-06-04 | 2003-06-04 | Watermark detection |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050175177A1 (en) |
EP (1) | EP1514422A1 (en) |
JP (1) | JP2005528860A (en) |
KR (1) | KR20050006287A (en) |
CN (1) | CN1659885A (en) |
AU (1) | AU2003239253A1 (en) |
WO (1) | WO2003103294A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5129053B2 (en) * | 2007-07-27 | 2013-01-23 | パナソニック株式会社 | Content reproduction apparatus, content reproduction method, content reproduction program, and integrated circuit |
TWI413898B (en) * | 2009-09-15 | 2013-11-01 | Phison Electronics Corp | Method and system for data protection, storage device, and storage device controller |
CN102065287B (en) * | 2009-11-17 | 2012-09-19 | 航天信息股份有限公司 | T-shaped video watermark embedding and extracting method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999060792A1 (en) * | 1998-05-20 | 1999-11-25 | Macrovision Corporation | Method and apparatus for selective block processing |
EP1102485A2 (en) * | 1999-11-15 | 2001-05-23 | Hitachi, Ltd. | Method and apparatus for data reproduction |
EP1154648A1 (en) * | 2000-05-12 | 2001-11-14 | Pioneer Corporation | Information detecting apparatus |
WO2001098908A1 (en) * | 2000-06-16 | 2001-12-27 | Koninklijke Philips Electronics N.V. | Watermark detector |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5140584A (en) * | 1989-03-01 | 1992-08-18 | Kabushiki Kaisha Toshiba | Packet communication system and method of controlling same |
US7773620B2 (en) * | 2003-12-24 | 2010-08-10 | Intel Corporation | Method, system, and program for overrun identification |
-
2003
- 2003-06-04 EP EP03732838A patent/EP1514422A1/en not_active Withdrawn
- 2003-06-04 CN CN038127490A patent/CN1659885A/en active Pending
- 2003-06-04 KR KR10-2004-7019712A patent/KR20050006287A/en not_active Application Discontinuation
- 2003-06-04 WO PCT/IB2003/002476 patent/WO2003103294A1/en active Application Filing
- 2003-06-04 JP JP2004510245A patent/JP2005528860A/en active Pending
- 2003-06-04 US US10/516,149 patent/US20050175177A1/en not_active Abandoned
- 2003-06-04 AU AU2003239253A patent/AU2003239253A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999060792A1 (en) * | 1998-05-20 | 1999-11-25 | Macrovision Corporation | Method and apparatus for selective block processing |
EP1102485A2 (en) * | 1999-11-15 | 2001-05-23 | Hitachi, Ltd. | Method and apparatus for data reproduction |
EP1154648A1 (en) * | 2000-05-12 | 2001-11-14 | Pioneer Corporation | Information detecting apparatus |
WO2001098908A1 (en) * | 2000-06-16 | 2001-12-27 | Koninklijke Philips Electronics N.V. | Watermark detector |
Non-Patent Citations (1)
Title |
---|
BLOOM J A ET AL: "COPY PROTECTION FOR DVD VIDEO", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 87, no. 7, July 1999 (1999-07-01), pages 1267 - 1276, XP000861525, ISSN: 0018-9219 * |
Also Published As
Publication number | Publication date |
---|---|
JP2005528860A (en) | 2005-09-22 |
CN1659885A (en) | 2005-08-24 |
US20050175177A1 (en) | 2005-08-11 |
EP1514422A1 (en) | 2005-03-16 |
KR20050006287A (en) | 2005-01-15 |
AU2003239253A1 (en) | 2003-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4689872B2 (en) | Digital video stream decoding method and apparatus by pseudo header insertion in digital video system | |
EP0713341B1 (en) | Video decoder capable of controlling encoded video data rate | |
CN1162007C (en) | Programmable filter for removing filling bits from MPEG-2 bit stream | |
US7903947B2 (en) | Recording apparatus and method, playback apparatus and method, recording medium, and computer-readable medium for recording and playing back moving images | |
KR100741433B1 (en) | Method and device for trickmode generation in a digital video system | |
JP2004194338A (en) | Method and system for producing slide show | |
EP1609150A1 (en) | Cpi data for steam buffer channels | |
KR100463944B1 (en) | Recording device and recording method | |
US7099567B2 (en) | Video processing method and video processing apparatus | |
US20050175177A1 (en) | Watermark detection | |
KR100700859B1 (en) | Recording apparatus, special playback system, playback apparatus, terminal apparatus, simultaneous recording and playback method, special playback method, medium and program | |
US6035096A (en) | Video/audio decoding and reproducing apparatus and method | |
JP3899233B2 (en) | Playback bitstream processing | |
KR100689424B1 (en) | Data recording appartus,medium and information package | |
JP4253830B2 (en) | Information recording apparatus, information reproducing apparatus, information recording / reproducing apparatus and method | |
JPH0832927A (en) | Image decoding device | |
JP3986147B2 (en) | Acoustic signal processing apparatus and audio high-speed playback method | |
US7085474B2 (en) | Watermark detecting apparatus | |
US20110150413A1 (en) | Moving picture recording/reproducing apparatus and method | |
JP3637760B2 (en) | Information encoding apparatus, information decoding apparatus, and information encoding / decoding recording / reproducing apparatus | |
JP3872929B2 (en) | Recording / playback device | |
JP2001223991A (en) | Device and method for reproducing multi-scene recording medium | |
JP3872672B2 (en) | Transport stream playback device, transport stream processing device, transport stream playback method, transport stream processing method | |
JP4459425B2 (en) | MPEG image playback device | |
US8521011B2 (en) | Receiving apparatus and its control method, computer program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2003732838 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004510245 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10516149 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038127490 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020047019712 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 1020047019712 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2003732838 Country of ref document: EP |