Claims
- 1. A method for performing reversible watermarking to embed auxiliary data in an original data set, the method comprising:
reversibly embedding the auxiliary data into the original data set by expanding values in the original data set that distorts the values, yet enables the values to be perfectly re-constructed; and applying rate control to determine how to expand the values to minimize distortion for a desired auxiliary data carrying capacity or to maximize data carrying capacity for a desired distortion.
- 2. The method of claim 1 wherein the expanding is performed on difference values.
- 3. The method of claim 1 wherein the expanding includes multiplying a value by a number and adding auxiliary data to the multiplied value.
- 4. The method of claim 3 wherein the multiplying and adding are performed so as to avoid an overflow or underflow of the value.
- 5. The method of claim 1 wherein the rate control includes fitting an error function.
- 6. The method of claim 1 wherein the rate control is applied iteratively using a feedback loop.
- 7. A computer readable medium on which is stored software for performing the method of claim 1.
- 8. The method of claim 1 wherein the auxiliary data is embedded iteratively in layers.
- 9. The method of claim 8 wherein each layer expands difference values between pairs of elements, and the pairs of elements for each layer are chosen such that the pairs interleave.
- 10. A method for performing reversible watermarking to embed auxiliary data in an original data set, the method comprising:
selecting sets of elements in the original data set for expansion; and reversibly embedding the auxiliary data into the original data set by expanding values associated with the selected sets in a manner that distorts the values, yet enables the values to be perfectly re-constructed; wherein the reversible watermarking is performed iteratively in layers, and for the layers, interleaving sets of elements are selected for expansion in successive layers.
- 11. The method of claim 10 wherein the original data set comprises an image and the interleaving sets of elements includes selecting a pattern of horizontal and vertical pairs across successive layers.
- 12. The method of claim 10 wherein sets selected for expansion in successive layers overlap according to a pattern, the pattern is not in the same position in successive layers, and the pattern is selected so as to increase embedding capacity for a desired quality level.
- 13. A computer readable medium on which is stored software for performing the method of claim 10.
- 14. A method for performing reversible watermarking to embed auxiliary data in an original data set, the method comprising:
reversibly embedding the auxiliary data into the original data set by expanding values in the original data set that distorts the values, yet enables the values to be perfectly re-constructed; and applying a perceptual model to determine how to expand the values to minimize distortion for a desired auxiliary data carrying capacity or to maximize data carrying capacity for a desired perceptual distortion.
- 15. The method of claim 14 wherein the perceptual model used in a feedback control loop.
- 16. The method of claim 15 wherein the perceptual model is used to control thresholds, which control the expanding of values in the original data set.
- 17. The method of claim 14 wherein the perceptual model is computed as a function of the host data set and an instance of the host data set embedded with the auxiliary data.
- 18. The method of claim 17 wherein the perceptual model is applied iteratively for different instances of the host data set embedded with the auxiliary data.
- 19. A computer readable medium on which is stored software for performing the method of claim 14.
- 20. A method for watermarking a data set comprising:
applying a vector difference transform to vectors in the data set, wherein the vector difference transform transforms selected sets of values in a corresponding vector into difference values; and modifying the difference values to embed auxiliary data into the data set; and applying an inverse vector difference transform to the modified vectors to produce a watermarked data set.
- 21. The method of claim 20 wherein the vector difference transform comprises a reversible integer to integer transform that enables perfect reconstruction of the data set after watermark extraction.
- 22. The method of claim 20 wherein the vector difference transform enables differences to be generated from an arbitrary selection of elements of the vectors.
- 23. The method of claim 22 wherein the vector difference transform enables transformation of vectors of arbitrary length into differences.
- 24. A computer readable medium on which is stored instructions for performing the method of claim 20.
- 25. The method of claim 20 wherein the vector difference transform is applied recursively to a vector in the data set to generate difference values to be modified to carry auxiliary data.
- 26. A method for reversible watermarking of a host data set, the method comprising:
applying a series of two or more reversible, integer to integer transforms of values in the data set to produce a set of modifiable values for carrying a reversible watermark; modifying the modifiable values to embed the reversible watermark in the host data to produce watermarked transformed values; and computing an inverse of the two more reversible transforms in the series on the watermarked transformed values to produce a watermarked host data set.
- 27. The method of claim 26 wherein at least one of the reversible integer to integer transforms comprises a transform that maps a vector of length N to a vector of length less than N.
- 28. The method of claim 26 wherein at least one of the reversible integer to integer transforms comprises a transform that maps a vector into a set of difference values.
- 29. The method of claim 26 wherein a reversible integer to integer transform is performed recursively to form the series.
- 30. A computer readable medium on which is stored instructions for performing the method of claim 26.
RELATED APPLICATION DATA
[0001] This application is a continuation in part of U.S. patent application Ser. No. 10/319,404, filed Dec. 12, 2002, which claims the benefit of U.S. Applications 60/404,181, filed Aug. 16, 2002, 60/340,651, filed Dec. 13, 2001, and 60/430,511, filed Dec. 2, 2002.
[0002] This application is also related to application Ser. No. 10/035,830 filed Oct. 18, 2001, which claims the benefit of provisional applications:
[0003] a) No. 60/247,389, filed Nov. 8, 2000;
[0004] b) No. 60/260,907, filed Jan. 10, 2001;
[0005] c) No. 60/284,594, filed Apr. 17, 2001; and
[0006] d) Ser. No. 10/319,380, filed Dec. 13, 2002, which claims the benefit of 60/430,500, filed Dec. 2, 2002.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60404181 |
Aug 2002 |
US |
|
60340651 |
Dec 2001 |
US |
|
60430511 |
Dec 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10319404 |
Dec 2002 |
US |
Child |
10435517 |
May 2003 |
US |