Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
DC CAFCFirst Claim
1. A method for amplitude independent encoding of digital watermark information in a signal, comprising steps of:
- determining in said signal a sample window having a minimum and a maximum;
determining a quantization interval of said sample window, where said quantitization interval can be used to quantize normalized window samples;
normalizing the sample window to provide normalized samples, where normalized samples conform to a limited range of values, proportional to real sample values, and comprise a representation of the real sample values with a resolution higher than the real range of values, and where the normalized values can be divided by the quantization interval into distinct quantization levels;
analyzing the normalized samples to determine quantization levels;
comparing the message bits to the corresponding quantization level information from the analyzing step;
when a bit conflicts with the quantization level, adjusting the quantization level of said sample window to correspond to the message bit; and
de-normalizing the analyzed normalized samples.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
The implementations of digital watermarks can be optimally suited to particular transmission, distribution and storage mediums given the nature of digitally-sampled audio, video and other multimedia works. Watermark application parameters can be adapted to the individual characteristics of a given digital sample stream. Watermark information can be either carried in individual samples or in relationships between multiple samples, such as in a waveform shape. More optimal models may be obtained to design watermark systems that are tamper-resistant given the number and breadth of existent digitized sample options with different frequency and time components. The highest quality of a given content signal may be maintained as it is mastered, with the watermark suitably hidden, taking into account usage of digital filters and error correction. The quality of the underlying content signals can be used to identify and highlight advantageous locations for the insertion of digital watermarks. The watermark is integrated as closely as possible to the content signal, at a maximum level to force degradation of the content signal when attempts are made to remove the watermarks.
810 Citations
57 Claims
-
1. A method for amplitude independent encoding of digital watermark information in a signal, comprising steps of:
-
determining in said signal a sample window having a minimum and a maximum; determining a quantization interval of said sample window, where said quantitization interval can be used to quantize normalized window samples; normalizing the sample window to provide normalized samples, where normalized samples conform to a limited range of values, proportional to real sample values, and comprise a representation of the real sample values with a resolution higher than the real range of values, and where the normalized values can be divided by the quantization interval into distinct quantization levels; analyzing the normalized samples to determine quantization levels; comparing the message bits to the corresponding quantization level information from the analyzing step; when a bit conflicts with the quantization level, adjusting the quantization level of said sample window to correspond to the message bit; and de-normalizing the analyzed normalized samples. - View Dependent Claims (2, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41)
-
-
3. A method for amplitude independent decoding of digital watermark information in a signal comprising steps of:
-
determining in said signal a sample window having a minimum and a maximum; determining a quantization interval of said sample window, where said quantitization interval can be used to quantize normalized window samples; normalizing the sample window to provide samples, where normalized samples conform to a limited range of values, proportional to real sample values, and comprise a representation of the real sample values with a resolution higher than the real range of values, and where the normalized values can be divided by the quantization interval into distinct quantization levels; and analyzing the quantization level of said samples to determine a message bit value. - View Dependent Claims (4, 43, 44, 45)
-
- 5. A method of encoding and decoding watermarks in a signal, comprising insertion and detection of abstract signal features in said signal to carry watermark information, wherein said abstract signal features are mathematical functions of the input sample window, and by extension, adjacent sample windows.
- 6. A method of pre-analyzing a digital signal for encoding digital watermarks using a digital filter comprising determining what changes in the digital signal will be affected by the digital filter.
-
8. A method of error coding watermark message certificates using cross interleaved codes which use error codes of high redundancy, including codes with Hamming distances of greater than or equal to n, wherein n is a number of bits in a message block.
- 9. A method of pre-processing a watermark message certificate comprising determining an exact length of the watermark message as it will be encoded.
-
11. A method of encoding a watermark in a digital signal, comprising the steps of:
-
generating watermark pseudo-random key bits using a non-linear generator; and encoding the watermark in the digital signal using the watermark pseudo-random key bits and characteristics of the digital signal.
-
-
12. A method of encoding a watermark in a digital signal, comprising the steps of:
-
generating watermark pseudo-random key bits using a chaotic generator; and encoding the watermark in the digital signal using the watermark pseudo-random key bits and characteristics of the digital signal.
-
-
13. A method of encoding a watermark in a digital signal, comprising the steps of:
-
mapping pseudo-random key and processing state information to effect an encode/decode map using a non-linear generator; and encoding the watermark in the digital signal using the encode/decode map and characteristics of the digital signal.
-
-
14. A method of encoding a watermark in a digital signal, comprising the steps of:
-
mapping pseudo-random key and processing state information to effect an encode/decode map using a chaotic generator; and encoding the watermark in the digital signal using the encode/decode map and characteristics of the digital signal.
-
- 15. A method of guaranteeing watermark certificate uniqueness comprising attaching a timestamp or user identification dependent hash or message digest of watermark certificate data to the certificate.
-
16. A method of generating and modulating a local noise signal to contain watermark information, wherein the noise signal is a function of at least one variable which depends on key and processing state information.
-
17. A method of varying watermark quantizations such that the dither changes an absolute quantization value, but does not change a quantization level or information carried in the quantization.
-
18. A method of encoding watermarks comprising steps of:
inverting at least one instance of the watermark bit stream; and
p1 encoding at least one instance of the watermark using said inverted instance of the watermark bit stream.
-
19. A method of decoding watermarks comprising steps of:
-
considering an original watermark synchronization marker, an inverted watermark synchronization marker, and inverted watermarks; and decoding based on the considering step.
-
-
20. A method of encoding and decoding watermarks in a signal using a spread spectrum technique to encode or decode where information is encoded or decoded at audible levels and the encoding and decoding methods are pseudo-random over frequency.
- 21. A method of encoding and decoding watermarks in a signal using a spread spectrum technique to encode or decode where information is encoded or decoded at audible levels and the encoding and decoding methods are pseudo-random over time.
-
23. A method of analyzing composite digitized signals for watermarks comprising steps of:
-
obtaining a composite signal; obtaining an unwatermarked sample signal; time aligning the unwatermarked sample signal to the composite signal; gain adjusting the time aligned unwatermarked sample signal to a corresponding segment of the composite signal, determined in the time aligning step; estimating a pre-composite signal using the composite signal and the gain adjusted unwatermarked sample signal; estimating a watermarked sample signal by subtracting the estimated pre-composite signal from the composite signal; and scanning the estimated watermarked sample signal for watermarks. - View Dependent Claims (28, 29, 30)
-
-
24. A method for varying watermark encode/decode algorithms automatically during the encoding or decoding of a watermark comprising steps of:
-
a) assigning a list of desired CODECs to a list of corresponding signal characteristics which indicate use of particular CODECs; b) during encoding/decoding, analyzing characteristics of the current sample frame in the signal stream, prior to delivering the frame to a CODEC; c) looking up the corresponding CODEC from the list of CODECs in step (a) which matches the observed signal characteristics from step (b); d) loading and/or preparing the desired CODEC; e) passing the sample frame to the CODEC selected in step (c); and f) receiving the output samples from step (e). - View Dependent Claims (25)
-
-
26. A method for varying watermark encode/decode algorithms automatically during the encoding or decoding of a watermark comprising steps of:
-
a) assigning a list of desired CODECs to a list of index values which correspond to values computed as a function of the pseudo-random watermark key and the state of the processing framework; b) during encoding/decoding, computing the pseudo-random key index value for the current sample frame in the signal stream, prior to delivering the frame to a CODEC; c) looking up the corresponding CODEC from the list of CODECs in step (a) which matches the index value from step (b); d) loading and/or preparing the desired CODEC; e) passing the sample frame to the CODEC selected in step (c); and f) receiving the output samples from step (e). - View Dependent Claims (27)
-
Specification