Stealthy audio watermarking
First Claim
1. A computer implemented method for concealing an information pattern of multiple discrete values within a digital signal, the method comprising:
- receiving the information pattern of multiple discrete values;
absolute-chessboarding the discrete values of the information pattern to produce absolute-chessboarded discrete values, wherein absolute-chessboarding comprises adjusting successive discrete values of the information pattern so that the successive discrete values differ from immediately adjacent discrete values.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is technology for inserting and detecting watermarks in signals, such as a music clip. In one described implementation, a watermarking system employs chess spread-spectrum sequences (i.e., “chess watermarks”) to improve the balance of positive and negative chips in the watermarking sequences. In another described implementation, a watermarking system employs an energy-level trigger to determine whether to skip encoding of a portion of a watermark within a given time span of a clip. If a large discrepancy in energy levels exists over a given time frame, then the frame is not watermarked, to avoid audible time-dispersion of artifacts due to spectral modifications. In another described implementation, a watermarking system begins encoding of a watermark at a variable position after the beginning of a clip.
-
Citations
28 Claims
-
1. A computer implemented method for concealing an information pattern of multiple discrete values within a digital signal, the method comprising:
-
receiving the information pattern of multiple discrete values; absolute-chessboarding the discrete values of the information pattern to produce absolute-chessboarded discrete values, wherein absolute-chessboarding comprises adjusting successive discrete values of the information pattern so that the successive discrete values differ from immediately adjacent discrete values. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer implemented method for revealing an information pattern of multiple absolute-chessboarded discrete values within a digital signal, wherein the absolute-chessboarded discrete values correspond to original discrete values of the information pattern before the values were absolute-chessboarded, the method comprising:
-
receiving the information pattern of multiple absolute-chessboarded discrete values; un-chessboarding the absolute-chessboarded discrete values to produce the original values of the information pattern, wherein un-chessboarding comprises adjusting one or more discrete values of the information pattern. - View Dependent Claims (8, 9, 10)
-
-
11. A computer-readable medium having computer-executable instructions that, when executed by a computer, perform a method for concealing an information pattern of multiple discrete values within a digital signal, the method comprising:
-
receiving the information pattern of multiple discrete values; absolute-chessboarding the discrete values of the information pattern to produce absolute-chessboarded discrete values, wherein absolute-chessboarding comprises adjusting successive discrete values of the information pattern so that the successive discrete values differ from immediately adjacent discrete values; encoding the absolute-chessboarded discrete values into the digital signal, wherein such signal is noise in relation to the information pattern.
-
-
12. A computer-readable medium having computer-executable instructions that, when executed by a computer, perform a method for revealing an information pattern of multiple absolute-chessboarded discrete values within a digital signal, wherein the absolute-chessboarded discrete values correspond to original discrete values of the information pattern before the values were absolute-chessboarded, the method comprising:
-
receiving the information pattern of multiple absolute-chessboarded discrete values; un-chessboarding the absolute-chessboarded discrete values to produce the original values of the information pattern, wherein un-chessboarding comprises adjusting one or more discrete values of the information pattern; detecting the original discrete values encoded in the digital signal, wherein such signal is noise in relation to the information pattern.
-
-
13. An apparatus comprising:
-
a processor; an absolute-chessboarder executable on the processor to; receive an information pattern of multiple discrete values; absolute-chessboard the discrete values of the information pattern to produce absolute-chessboarded discrete values, wherein successive chessboarded discrete values differ from immediately adjacent discrete values.
-
-
14. An apparatus comprising:
-
a processor; an un-chessboarder executable on the processor to; receive an information pattern of multiple absolute-chessboarded discrete values; un-chessboard the absolute-chessboarded discrete values to produce original values of the information pattern, wherein one or more of the un-chessboarded discrete values differs from the chessboarded discrete values before un-chessboarding.
-
-
15. An information pattern encoding system for concealing an information pattern of multiple discrete values within a digital signal, wherein such signal is noise in relation to the information pattern, the system comprising:
-
a receiver for receiving the information pattern of multiple discrete values and the digital signal; an absolute-chessboarder coupled to such receiver, the chessboarder absolute-chessboards the values received from the receive to produce absolute-chessboarded discrete values, wherein successive chessboarded discrete values differ from immediately adjacent discrete values; an encoder coupled to the receiver and the chessboarder, the encoder inserts the absolute-chessboarded discrete values received from the absolute-chessboarder into the digital signal received from the receiver. - View Dependent Claims (16, 17)
-
-
18. A marked signal with an information pattern of multiple chessboarded discrete values encoded therein, the marked signal generated in accordance with the following acts:
-
receiving an information pattern of multiple discrete values and an unmarked signal; absolute-chessboarding the discrete values of the information pattern to produce absolute-chessboarded discrete values, wherein absolute-chessboarding comprises adjusting successive discrete values of the information pattern so that the successive discrete values differ from immediately adjacent discrete values; encoding the absolute-chessboarded discrete values into the unmarked signal to produce the marked signal, wherein such unmarked signal is noise in relation to the information pattern. - View Dependent Claims (19)
-
-
20. A computer implemented method for concealing an information pattern of multiple discrete values within a digital signal, the method comprising:
-
receiving the information pattern of multiple discrete values, wherein each discrete value of the information pattern is represented by a defined set of multiple consecutive blocks, wherein each consecutive block within a defined set includes its representative discrete value; chessboard encoding the discrete values of the information pattern to produce chessboarded discrete values so that the representative discrete values in the consecutive blocks of at least one defined set of the multiple discrete values differ from adjacent representative discrete values in the consecutive blocks of the same defined set. - View Dependent Claims (21, 22, 23)
-
-
24. A computer implemented method for concealing an information pattern of multiple discrete values within a digital signal, the method comprising:
-
receiving the information pattern of multiple discrete values, wherein each discrete value of the information pattern is represented by a defined set of multiple consecutive blocks, wherein each consecutive block within a defined set includes its representative discrete value; generating a pseudorandom pattern based upon a pseudorandom number generator (PRNG) and a key; chessboard encoding the discrete values of the information pattern to produce chessboarded discrete values, wherein chessboard encoding comprises adjusting the representative discrete values in the consecutive blocks of at least one defined set of the multiple discrete values in accordance with the pseudo-randomly generated pattern. - View Dependent Claims (25, 26, 27, 28)
-
Specification