Method and apparatus for watermarking images
First Claim
1. An image-processing method, comprising:
- comparing a first transformed-domain image datum to a second transformed-domain image datum, for deriving a first authentication code, the first transformed-domain image datum having a first transformed-domain location, and the second transformed-domain image datum having a second transformed-domain location; and
using a replacement code to replace at least a portion of a third transformed-domain image datum, for converting the third transformed-domain image datum into a fourth transformed-domain image datum, the replacement code comprising at least one of the first authentication code, a code derived from the first authentication code, a code selected based upon at least the first authentication code, and a code selected based upon at least the code derived from the first authentication code, the fourth transformed-domain image datum having a third transformed-domain location, the first transformed-domain image datum being for deriving a fifth transformed-domain image datum having a fourth transformed-domain location, the second transformed-domain image datum being for deriving a sixth transformed-domain image datum having a fifth transformed-domain location, the fourth transformed-domain image datum being for deriving a seventh transformed-domain image datum having a sixth transformed-domain location, the fourth transformed-domain location being approximately equal to the first transformed-domain location, the fifth transformed-domain location being approximately equal to the second transformed-domain location, and the sixth transformed-domain location being approximately equal to the third transformed-domain location, wherein the fifth, sixth, and seventh transformed-domain image data are for being authenticated by an authentication procedure comprising the steps of;
using an authentication code extraction function to extract a second authentication code from the seventh transformed-domain image datum, comparing the fifth transformed-domain image datum to the sixth transformed-domain image datum, for deriving a first comparison result, based on the second authentication code, selecting a set of at least one acceptable value of the first comparison result, and if the first comparison result is not within the set of at least one acceptable value of the first comparison result, determining that at least one of the fifth, sixth, and seventh transformed-domain image data has been improperly altered.
2 Assignments
0 Petitions
Accused Products
Abstract
Digital watermarks are embedded in image data (102)in order to enable authentication of the image data and/or replacement of rejected portions of the image data. Authentication codes are derived by comparing selected discrete cosine transform (DCT) (104) coefficients within DCT data (106) derived from the original, spatial-domain image data. The authentication codes thus generated are embedded in DCT coefficients (612) other than the ones which were used to derive the authentication codes. The resulting, watermarked data can be sent or made available to one or more recipients who can compress or otherwise use the watermarked data. Image data derived from the watermarked data—e.g, compressed versions of the watermarked data—can be authenticated by: extracting the embedded authentication codes, comparing DCT coefficients derived from the coefficients from which the original authentication codes were generated; and determining whether the compared DCT coefficients are consistent with the extracted authentication codes.
59 Citations
78 Claims
-
1. An image-processing method, comprising:
-
comparing a first transformed-domain image datum to a second transformed-domain image datum, for deriving a first authentication code, the first transformed-domain image datum having a first transformed-domain location, and the second transformed-domain image datum having a second transformed-domain location; and
using a replacement code to replace at least a portion of a third transformed-domain image datum, for converting the third transformed-domain image datum into a fourth transformed-domain image datum, the replacement code comprising at least one of the first authentication code, a code derived from the first authentication code, a code selected based upon at least the first authentication code, and a code selected based upon at least the code derived from the first authentication code, the fourth transformed-domain image datum having a third transformed-domain location, the first transformed-domain image datum being for deriving a fifth transformed-domain image datum having a fourth transformed-domain location, the second transformed-domain image datum being for deriving a sixth transformed-domain image datum having a fifth transformed-domain location, the fourth transformed-domain image datum being for deriving a seventh transformed-domain image datum having a sixth transformed-domain location, the fourth transformed-domain location being approximately equal to the first transformed-domain location, the fifth transformed-domain location being approximately equal to the second transformed-domain location, and the sixth transformed-domain location being approximately equal to the third transformed-domain location, wherein the fifth, sixth, and seventh transformed-domain image data are for being authenticated by an authentication procedure comprising the steps of;
using an authentication code extraction function to extract a second authentication code from the seventh transformed-domain image datum, comparing the fifth transformed-domain image datum to the sixth transformed-domain image datum, for deriving a first comparison result, based on the second authentication code, selecting a set of at least one acceptable value of the first comparison result, and if the first comparison result is not within the set of at least one acceptable value of the first comparison result, determining that at least one of the fifth, sixth, and seventh transformed-domain image data has been improperly altered. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An image-processing method, comprising:
-
encoding by an encoding function a first set of transformed-domain image data, for deriving a set of image data recovery codes comprising a first image data recovery code, the first set of transformed-domain image data being included in a second set of transformed-domain image data, the second set of transformed-domain image data being derived from a first set of spatial domain image data; and
using a replacement code to replace at least a portion of a first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the first transformed-domain image datum being included in a third set of transformed-domain image data, the third set of transformed-domain image data being derived from the first set of spatial domain image data, the replacement code comprising at least one of the first image data recovery code, a code derived from the first image data recovery code, a code selected based upon at least the first image data recovery code, and a code selected based upon at least the code derived from the first image data recovery code, the second transformed-domain image datum being for deriving a third transformed-domain image datum, the first set of spatial domain image data being for deriving a fourth set of transformed-domain image data, the third transformed-domain image datum being for deriving, by a recovery procedure, an approximation data set for replacing the fourth set of transformed-domain image data, and the recovery procedure comprising the steps of;
using a recovery code extraction function to extract a second image data recovery code from the third transformed-domain image datum, the second image data recovery code being approximately equal to the first image data recovery code; and
decoding by a decoding function at least the second image data recovery code, for deriving the approximation data set, the decoding function comprising a functional inverse of the encoding function. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. An image-processing method, comprising:
-
quantizing a first set of transformed-domain image data based on a first quantization step size, for deriving a second set of transformed-domain image data, the second set of transformed-domain image data including at least a first transformed-domain image datum; and
using a replacement code to replace at least a portion of the first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the second transformed-domain image datum being included in a third set of transformed-domain image data, the replacement code comprising at least one of a watermark code, a code derived from the watermark code, a code selected based on the watermark code, and a code selected based upon at least the code derived from the watermark code, wherein the third set of transformed-domain image data is for being altered by an alteration procedure for deriving a fourth set of transformed-domain image data, the alteration procedure comprising at least one of;
(1) quantizing the third set of transformed-domain image data based on a second quantization step size, the second quantization step size being no greater than the first quantization step size, (2) transforming a data encoding format of the third set of transformed-domain image data into a different data encoding format, and (3) filtering the third set of transformed domain image data, the fourth set of transformed-domain image data including at least a third transformed-domain image datum, and the third transformed-domain image datum being derived from the second transformed-domain image datum, wherein the third transformed-domain image datum is for being processed by a watermark extraction procedure for extracting the watermark code from the third transformed-domain image datum, the watermark extraction procedure comprising the steps of;
requantizing the third transformed-domain image datum based on the first quantization step size, for generating a fourth transformed-domain image datum, and processing the fourth transformed-domain image datum by a watermark extraction function, for deriving an extracted code approximately equal to the watermark code. - View Dependent Claims (24, 25, 26)
-
-
27. An image-processing apparatus, comprising:
-
a first processor for comparing a first transformed-domain image datum to a second transformed-domain image datum, for deriving a first authentication code, the first transformed-domain image datum having a first transformed-domain location, and the second transformed-domain image datum having a second transformed-domain location; and
a second processor for using a replacement code to replace at least a portion of a third transformed-domain image datum, for converting the third transformed-domain image datum into a fourth transformed-domain image datum, the replacement code comprising at least one of the first authentication code, a code derived from the first authentication code, a code selected based upon at least the first authentication code, and a code selected based upon at least the code derived from the first authentication code, the fourth transformed-domain image datum having a third transformed-domain location, the first transformed-domain image datum being for deriving a fifth transformed-domain image datum having a fourth transformed-domain location, the second transformed-domain image datum being for deriving a sixth transformed-domain image datum having a fifth transformed-domain location, the fourth transformed-domain image datum being for deriving a seventh transformed-domain image datum having a sixth transformed-domain location, the fourth transformed-domain location being approximately equal to the first transformed-domain location, the fifth transformed-domain location being approximately equal to the second transformed-domain location, and the sixth transformed-domain location being approximately equal to the third transformed-domain location, wherein the fifth, sixth, and seventh transformed-domain image data are for being authenticated by an authentication processor comprising;
a third processor for using an authentication code extraction function to extract a second authentication code from the seventh transformed-domain image datum, a fourth processor for comparing the fifth transformed-domain image datum to the sixth transformed-domain image datum, for deriving a first comparison result, a fifth processor for selecting, based on the second authentication code, a set of at least one acceptable value of the first comparison result, and a sixth processor for determining that at least one of the fifth, sixth, and seventh transformed-domain image data has been improperly altered if the first comparison result is not within the set of at least one acceptable value of the first comparison result. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. An image-processing apparatus, comprising:
-
a first processor for using an encoding function to encode a first set of transformed-domain image data, for deriving a set of image data recovery codes comprising a first image data recovery code, the first set of transformed-domain image data being included in a second set of transformed-domain image data, the second set of transformed-domain image data being derived from a first set of spatial domain image data; and
a second processor for using a replacement code to replace at least a portion of a first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the first transformed-domain image datum being included in a third set of transformed-domain image data, the third set of transformed-domain image data being derived from the first set of spatial domain image data, the replacement code comprising at least one of the first image data recovery code, a code derived from the first image data recovery code, a code selected based upon at least the first image data recovery code, and a code selected based upon at least the code derived from the first image data recovery code, the second transformed-domain image datum being for deriving a third transformed-domain image datum, the first set of spatial domain image data being for deriving a fourth set of transformed-domain image data, the third transformed-domain image datum being for deriving, by a recovery processor, an approximation data set for replacing the fourth set of transformed-domain image data, and the recovery processor comprising;
a third processor for using a recovery code extraction function to extract a second image data recovery code from the third transformed-domain image datum, the second image data recovery code being approximately equal to the first image data recovery code; and
a fourth processor for using a decoding function to decode at least the second image data recovery code, for deriving the approximation data set, the decoding function comprising a functional inverse of the encoding function. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48)
-
-
49. An image-processing apparatus, comprising:
-
a first processor for quantizing a first set of transformed-domain image data based on a first quantization step size, for deriving a second set of transformed-domain image data, the second set of transformed-domain image data including at least a first transformed-domain image datum; and
a second processor for using a replacement code to replace at least a portion of the first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the second transformed-domain image datum being included in a third set of transformed-domain image data, the replacement code comprising at least one of a watermark code, a code derived from the watermark code, a code selected based on the watermark code, and a code selected based upon at least the code derived from the watermark code, wherein the third set of transformed-domain image data is for being altered by an alteration processor for deriving a fourth set of transformed-domain image data, the alteration processor comprising at least one of;
(1) a quantization processor for quantizing the third set of transformed-domain image data based on a second quantization step size, the second quantization step size being no greater than the first quantization step size, (2) a data encoding format transformation processor for transforming a data encoding format of the third set of transformed-domain image data into a different data encoding format, and (3) an image filtering processor for filtering the third set of transformed-domain image data, the fourth set of transformed-domain image data including at least a third transformed-domain image datum, and the third transformed-domain image datum being derived from the second transformed-domain image datum, wherein the third transformed-domain image datum is for being processed by a watermark extraction processor for extracting the watermark code from the third transformed-domain image datum, the watermark extraction processor comprising;
a third processor for requantizing the third transformed-domain image datum based on the first quantization step size, for generating a fourth transformed-domain image datum, and a fourth processor for processing the fourth transformed-domain image datum by a watermark extraction function, for deriving an extracted code approximately equal to the watermark code. - View Dependent Claims (50, 51, 52)
-
-
53. A computer-readable medium having a set of instructions operable to direct a processor to perform the steps of:
-
comparing a first transformed-domain image datum to a second transformed-domain image datum, for deriving a first authentication code, the first transformed-domain image datum having a first transformed-domain location, and the second transformed-domain image datum having a second transformed-domain location; and
using a replacement code to replace at least a portion of a third transformed-domain image datum, for converting the third transformed-domain image datum into a fourth transformed-domain image datum, the replacement code comprising at least one of the first authentication code, a code derived from the first authentication code, a code selected based upon at least the first authentication code, and a code selected based upon at least the code derived from the first authentication code, the fourth transformed-domain image datum having a third transformed-domain location, the first transformed-domain image datum being for deriving a fifth transformed-domain image datum having a fourth transformed-domain location, the second transformed-domain image datum being for deriving a sixth transformed-domain image datum having a fifth transformed-domain location, the fourth transformed-domain image datum being for deriving a seventh transformed-domain image datum having a sixth transformed-domain location, the fourth transformed-domain location being approximately equal to the first transformed-domain location, the fifth transformed-domain location being approximately equal to the second transformed-domain location, and the sixth transformed-domain location being approximately equal to the third transformed-domain location, wherein the fifth, sixth, and seventh transformed-domain image data are for being authenticated by an authentication procedure comprising the steps of;
using an authentication code extraction function to extract a second authentication code from the seventh transformed-domain image datum, comparing the fifth transformed-domain image datum to the sixth transformed-domain image datum, for deriving a first comparison result, based on the second authentication code, selecting a set of at least one acceptable value of the first comparison result, and if the first comparison result is not within the set of at least one acceptable value of the first comparison result, determining that at least one of the fifth, sixth, and seventh transformed-domain image data has been improperly altered. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A computer-readable medium having a set of instructions operable to direct a processor to perform the steps of:
-
encoding by an encoding function a first set of transformed-domain image data, for deriving a set of image data recovery codes comprising a first image data recovery code, the first set of transformed-domain image data being included in a second set of transformed-domain image data, the second set of transformed-domain image data being derived from a first set of spatial domain image data; and
using a replacement code to replace at least a portion of a first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the first transformed-domain image datum being included in a third set of transformed-domain image data, the third set of transformed-domain image data being derived from the first set of spatial domain image data, the replacement code comprising at least one of the first image data recovery code, a code derived from the first image data recovery code, a code selected based upon at least the first image data recovery code, and a code selected based upon at least the code derived from the first image data recovery code, the second transformed-domain image datum being for deriving a third transformed-domain image datum, the first set of spatial domain image data being for deriving a fourth set of transformed-domain image data, the third transformed-domain image datum being for deriving, by a recovery procedure, an approximation data set for replacing the fourth set of transformed-domain image data, and the recovery procedure comprising the steps of;
using a recovery code extraction function to extract a second image data recovery code from the third transformed-domain image datum, the second image data recovery code being approximately equal to the first image data recovery code; and
decoding by a decoding function at least the second image data recovery code, for deriving the approximation data set, the decoding function comprising a functional inverse of the encoding function. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74)
-
-
75. A computer-readable medium having a set of instructions operable to direct a processor to perform the steps of:
-
quantizing a first set of transformed-domain image data based on a first quantization step size, for deriving a second set of transformed-domain image data, the second set of transformed-domain image data including at least a first transformed-domain image datum; and
using a replacement code to replace at least a portion of the first transformed-domain image datum, for converting the first transformed-domain image datum into a second transformed-domain image datum, the second transformed-domain image datum being included in a third set of transformed-domain image data, the replacement code comprising at least one of a watermark code, a code derived from the watermark code, a code selected based on the watermark code, and a code selected based upon at least the code derived from the watermark code, wherein the third set of transformed-domain image data is for being altered by an alteration procedure for deriving a fourth set of transformed-domain image data, the alteration procedure comprising at least one of;
(1) quantizing the third set of transformed-domain image data based on a second quantization step size, the second quantization step size being no greater than the first quantization step size, (2) transforming a data encoding format of the third set of transformed-domain image data into a different data encoding format, and (3) filtering the third set of transformed-domain image data, the fourth set of transformed-domain image data including at least a third transformed-domain image datum, and the third transformed-domain image datum being derived from the second transformed-domain image datum, wherein the third transformed-domain image datum is for being processed by a watermark extraction procedure for extracting the watermark code from the third transformed-domain image datum, the watermark extraction procedure comprising the steps of;
requantizing the third transformed-domain image datum based on the first quantization step size, for generating a fourth transformed-domain image datum, and processing the fourth transformed-domain image datum by a watermark extraction function, for deriving an extracted code approximately equal to the watermark code. - View Dependent Claims (76, 77, 78)
-
Specification