This application claims the benefit, under 35 U.S.C. § 365 of International Application PCT/US2007/015158, filed Jun. 29, 2007 which was published in accordance with PCT Article 21(2) on Jan. 8, 2009 in English.
The present invention relates generally to video processing, and relates more particularly to the insertion and recovery of watermark data into and from content.
Content, when prepared for presentation or actually presented to users, is susceptible to unauthorized capture, reproduction or storage. Display, sale or any unauthorized use of content deprives the rightful owner from receiving revenue from such usage. While encryption and other access limiting techniques provide protection against unauthorized use at different stages of content distribution or storage, the content itself is vulnerable during presentation to the user. Little can be done to prevent a determined effort to capture content that is being displayed.
One deterrent to unauthorized use of content is the insertion of information, a watermark, into the content itself such that it is essentially imperceptible to the user while still being detectable in the unauthorized copies by using tools to recover the inserted watermark. When the watermark is linked to the distribution channel, such as having a unique watermark for each distributor or exhibition location, the source of the unauthorized copy can be determined. To be successful, the inserted information must survive the capture/copying processes such that the information is still detectable in the unauthorized copies. Additionally this watermark information must not be inserted by unauthorized persons and must be secure from removal once it has been inserted.
Prior art, within United States Patent Application 20030021439 (Serial Number 124995, Series Code 10) and United States Patent Application 20050025336 (Serial Number 872962, Series Code 10), describes the insertion of a modulated carrier into selected locations of the data stream. These systems described the use of low-frequency carriers to embed information into sequences of frames. The inserted data was represented by the signs of the carriers whereby the carrier was added to a sequence to represent one symbol or subtracted from a sequence to represent a second symbol. The detector used in such systems must recover approximations to the carriers and then determine the likely sign with which it was embedded. In order to approximate the carrier, the detector must have a copy of the unmarked sequence from the original material. After careful spatial, temporal, and histogram registration of the two sequences, the detector interprets the difference as an approximation of the set of embedded carriers. The need for the unmarked sequence, and hence the original material, at the detector is a disadvantage of this approach.
Others have proposed solutions to this problem by way of embedding a sample of a watermark sequence in each frame of a sequence of frames. The embedding process modified the pixel values in the frame based upon the value of the watermark sample that corresponds to that frame. Each watermark sample was sometimes repeated in a predetermined number of sequential frames to increase the temporal space occupied by the watermark before the entire watermark was repeated. A scale factor was also used to reduce the amplitude of the inserted watermark sample in areas of the frame that were determined to lack motion from frame to frame and increased the amplitude of the inserted watermark sample in areas of the frame that had motion from frame to frame. This approach exploited the human visual system's higher sensitivity to flicker in flat fields over lower sensitivity in areas of motion.
The detector extracted the total luminance of each frame of a sequence and compared the changes in total luminance to the changes in the original watermark from frame to frame. This approach has a tendency to introduce an undesirable visible flickering artifact into the marked sequence. The ability to compare the changes in luminance to the changes in the original watermark is reduced when the luminance amplitude is lowered in flat field areas.
The present inventors recognize the advantage of reducing the occurrence of flicker in the watermarked output and removing the need for a copy of the unmarked input when detecting the watermark in a watermarked data stream.
According to the present invention, the pixel values of luminance of a region are manipulated to establish a relationship among certain features of a sequence of frames. The present invention divides an image sequence into a number of regions. A region is further subdivided into a plurality of sub-regions such that the luminance in the sub-regions is approximately equal. Within each sub-region, locations, where a carrier can be added without introducing visible artifacts, are identified. The locations and allowed amplitudes of the carriers are supplied to an embedding apparatus. The embedder inserts carrier symbols in sub-regions by adding or subtracting the carrier at one or more locations. This adding and subtracting of carriers has the effect of increasing the luminance in sub-regions where carrier is added and decreasing the luminance in sub-regions where carrier is subtracted. This establishes a desired relationship between sub-regions (which started out having approximately equal luminance values). Detection is facilitated by providing information regarding the location of regions and sub-regions to the detection apparatus. For a particular region, the detector determines the luminance in the associated sub-regions. The relative luminance in sub-regions associated with a region determines the watermark data contained therein. Decoding successive regions recovers the embedded watermark information.
According to the present invention, the pixel values of luminance of a region are manipulated to establish a relationship among certain features of a sequence of frames. The present invention divides an image sequence into a number of regions. A region is further subdivided into a plurality of sub-regions such that the luminance in the sub-regions is approximately equal. Within each sub-region, locations, where a carrier can be inserted without introducing visible artifacts, are identified. The embedder inserts carrier symbols in sub-regions by adding or subtracting the carrier at one or more locations. This adding and subtracting of carriers has the effect of increasing the luminance in sub-regions where carrier is added and decreasing the luminance in sub-regions where carrier is subtracted. This establishes a desired relationship between sub-regions (which started out having approximately equal luminance values).
In an exemplary embodiment, two sub-regions, region A and region B, having approximately equal luminance, are found. Locations where a carrier can be inserted without introducing artifacts are found within sub-regions. The locations and allowed amplitudes of the carriers are supplied to an embedding apparatus in groups; one (or more) for sub-region A labeled ‘A’ and one (or more) for sub-region B labeled ‘B’. To embed one symbol (e.g., a “0” bit) the embedder adds the carriers labeled ‘A’ and subtract the carriers labeled ‘B’. To embed the other symbol (e.g., a “1” bit) the embedder subtracts the carriers labeled ‘A’ and adds the carriers labeled ‘B’. This adding and subtracting of carriers has the effect of increasing luminance in one sub-region and decreasing luminance in the other sub-region, thus establishing the desired relationship between the two sub-regions (which started out having approximately equal luminance values).
In fact, the goal of the embedder is to establish the desired relationship between the two sub-regions and the use of carriers as described in the exemplary embodiment above is but one way to do this. In a second embodiment, the luminance values of all of the pixels in a region are either increased or decreased in order to establish the desired relationship. The amount by which a pixel luminance changes can be a constant factor or can be dependent on a model that analyzes the underlying imagery and can be dependent on the distance from the pixel to the region boundary.
Detection is facilitated by providing information regarding the location of regions and sub-regions to the detection apparatus. For a particular region, the detector determines the luminance in the associated sub-regions. The relative luminance in sub-regions associated with a region determines the watermark data contained therein. If luminance in sub-region A is larger than that of sub-region B, the detector reports one symbol (e.g., a “0” bit) and if luminance in sub-region B is larger than that in sub-region A, the detector reports the other symbol (e.g., a “1” bit). Decoding successive regions recovers the embedded watermark information.
The watermarking process, according to the present invention, begins with a preprocessing stage (100) as exemplified in
The random number of frames to be used can be forced to follow a specified distribution. For additional security, two adjacent segments may have a random number of skipped frames between them. In a practical exemplary embodiment, the number of frames in a segment is a random number drawn from a Gaussian distribution with mean 120 and standard deviation 20 and the number of skipped frames between adjacent segments is a random number drawn from a Gaussian distribution with mean 12 and standard deviation 2. At the start of preprocessing, the random number generator used for these values is initialized with a secret key. The detector has the same random number generator and, given the same secret key, can regenerate exactly the number of frames in each segment and the number of skipped frames between segments.
A segment or region is a sequence of images and can be interpreted as a three dimensional volume of data. A region is subdivided, according to the present invention, into two sub-regions. The goal of this processing is to find two volumes within the segment volume such that the total luminance in the first volume is equal to the total luminance in the second volume. In one embodiment, this is accomplished by finding a geometric plane through the segment volume such that the total luminance on one side of the plane is equal to the total luminance on the other side of the plane. This is accomplished by first sub-sampling the segment volume to a lower resolution and then performing a search to find a plane that minimizes the difference between the luminance on one side of the plane and the luminance on the other side of the plane. This plane is then used in the full resolution segment.
In a second embodiment, a few test planes are examined in the low resolution segment volume and then a gradient descent algorithm is applied to find a plane that minimizes the difference between the total luminance on one side and the total luminance on the other. This plane is then used in the full resolution segment.
In a third embodiment, one of the first two methods is used to find a starting plane in the full resolution segment. From this starting plane, a search using an algorithm that scans an entire volume to look for possible matches or a gradient descent search is applied within a search window around the starting plane.
In a fourth embodiment, a first volume that coincides with the first frame of a segment and a second volume that coincides with the last frame of a segment are used as starting points. Luminance of the first and second volumes is determined. If luminance of the first volume is greater than luminance of the second volume, the second volume is increased by moving the second volume boundary toward the first volume by including the frame adjacent to the current second volume to form a new second volume. Luminance of the new second volume, bounded by the new location containing two frames at the end of the segment is now determined. If luminance of the second volume is greater than luminance of the first volume, then the first volume is increased by moving the first volume boundary toward the second volume boundary by including the frame adjacent to the current first volume to form a new first volume. Luminance of the new first volume is now determined. Again luminance of the first and second volumes is compared. The plane bounding the volume with the lower luminance is then moved toward the plane bounding the volume with the higher luminance one frame at a time. This process continues until the boundary of the two volumes resides in the same frame. At this point luminance in sub-region one (volume one) is nearly equal to luminance in sub-region two (volume two). The angles of the plane with respect to the three dimensional axes are now adjusted to optimize luminance in both sub-regions to be practically equal. The discovered plane can be described using values in a co-ordinate system adapted to the segment volume. For each segment, these values are saved for use in detection.
As one of ordinary skill in the art would understand, alternate descriptions of the sub-region volumes may be used to identify the volumes to the embedder and detector.
A carrier can be a three dimensional shape that slowly changes in each of the dimensions. One example of a carrier shape is a shape that is a Gaussian shape in each dimension. This carrier shape has a center at which its magnitude is greatest. Looking at the frame in which the center is located, the magnitude of the carrier falls off gently in proportion to the distance from the center. Similarly, along the time axis, for any one pixel location, the magnitude of the carrier decays gradually in proportion to the distance from the center frame.
Adding a carrier to a sub-region will have the effect of increasing luminance of that sub-region and subtracting a carrier from a sub-region will have the effect of decreasing luminance of that sub-region. Each sub-region can be interpreted as a three dimensional volume of data and each pixel within that sub-region is a potential center location for a carrier. Within each sub-region, a pixel is selected to serve as the center location for a carrier.
In one practical embodiment, a pixel selected as a center location is chosen at random. This selection need not be recreated at the detector, so the initialization for this random selection need not be saved. In a second practical embodiment, a perceptual model is used to assess the visual impact of a carrier at each pixel location within the sub-region. The location that will result in the minimal visual impact, or any location that results in a visual impact below some threshold, can be chosen as the center location for a carrier. In a third practical embodiment, a perceptual model is used to predict the maximum amplitude at which a carrier can be added to pixels without introducing a visual impact. The output of this process is an amplitude value for pixels in the sub-region. The location that can support the maximum amplitude can then be chosen.
In the first two embodiments, a location for the carrier center is returned. This can be represented by three values, x, y, and frame number; where frame number is an offset into the segment. The amplitude of the carrier is implied. In a third embodiment, an amplitude of a carrier is also specified. This information, a location and possibly an amplitude of a carrier, is saved for use during embedding.
In an alternative embodiment, sub-region volumes and carrier locations are determined simultaneously. The goal is to find sub-region volumes within a segment and a plurality of carriers, one in each volume, such that when carriers are added and others are subtracted, sub-regions will have, a detectable difference in luminance indicating to which regions carriers were added and from which carriers were subtracted.
A practical embodiment of this process is shown in
The Detection Processor, shown in
Exemplary Watermark Detector apparatus, shown in
It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. In one exemplary embodiment, the present invention can be implemented as a combination of hardware and software. Software for example may be implemented as an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed in one exemplary embodiment by a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM), and input/output (I/O) interface(s). The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may either be part of the microinstruction code or part of the application program (or a combination thereof), which is executed via the operating system. For example, watermark detector elements 601 through 605 shown in
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures may be implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2007/015158 | 6/29/2007 | WO | 00 | 12/28/2009 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2009/005494 | 1/8/2009 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5943448 | Tatsuta | Aug 1999 | A |
6044114 | Ibenthal et al. | Mar 2000 | A |
6219460 | Tatsuta | Apr 2001 | B1 |
6711276 | Yoshiura et al. | Mar 2004 | B1 |
6807285 | Iwamura | Oct 2004 | B1 |
6885757 | Bloom et al. | Apr 2005 | B2 |
6996248 | Fudge et al. | Feb 2006 | B2 |
7068809 | Stach | Jun 2006 | B2 |
7174030 | Sugahara et al. | Feb 2007 | B2 |
7254830 | Amonou et al. | Aug 2007 | B2 |
7447337 | Zhang et al. | Nov 2008 | B2 |
7719551 | Aoki et al. | May 2010 | B2 |
7724917 | Isogai | May 2010 | B2 |
7920715 | Hashimoto et al. | Apr 2011 | B2 |
8090141 | Eschbach | Jan 2012 | B2 |
20020105839 | Sugahara et al. | Aug 2002 | A1 |
20030021439 | Lubin et al. | Jan 2003 | A1 |
20030039376 | Stach | Feb 2003 | A1 |
20030058477 | Brunk et al. | Mar 2003 | A1 |
20040001165 | Shiota et al. | Jan 2004 | A1 |
20040125952 | Alattar et al. | Jul 2004 | A1 |
20040250079 | Kalker et al. | Dec 2004 | A1 |
20050025335 | Bloom et al. | Feb 2005 | A1 |
20050025336 | Lubin et al. | Feb 2005 | A1 |
20050105763 | Lee et al. | May 2005 | A1 |
20070183626 | Hashimoto et al. | Aug 2007 | A1 |
20080056529 | Bhattacharjya | Mar 2008 | A1 |
20080095237 | Hussain et al. | Apr 2008 | A1 |
20100163629 | Rhoads et al. | Jul 2010 | A1 |
Number | Date | Country |
---|---|---|
1006730 | Jan 2000 | EP |
2004258752 | Sep 2004 | JP |
2006054689 | Feb 2006 | JP |
2006237742 | Sep 2006 | JP |
2007208980 | Aug 2007 | JP |
Entry |
---|
Bloom et al.: “Content-Dependent, Low-Frequency Watermarking for Motion Pictures,” Sarnoff Corporation Workshop on Digital Rights Management Impact on Consumer Communications, Jan. 6, 2005, 21 pages. |
Bloom et al.: “Watermarking to Track Motion Picture Theft,” Sarnoff Corporation, Princeton, NJ, USA, IEEE, 2004. |
Haitsma et al.: “A Watermarking Scheme for Digital Cinema,” Philips Research, The Netherlands, IEEE, 2001, pp. 487-489. |
Lubin et al.: “Robust, Content-Dependent, High-Fidelity Watermark for Tracking in Digital Cinema,” in Security and Watermarking of Multimedia Contents V, presented at Electronic Imaging Symposium on Jan. 24, 2003 in Santa Clara, CA, Proceedings of SPIE vol. 5020 (2003), 11 pages. |
Van Leest et al.: “On Digital Cinema and Watermarking,” in Security and Watermarking of Multimedia Contents V, Proceedings of SPIE-IS&T Electronic Imaging, SPIE vol. 5020 (2003), pp. 526-535. |
International Search Report, dated Jul. 16, 2008. |
Number | Date | Country | |
---|---|---|---|
20100135523 A1 | Jun 2010 | US |