Method and apparatus for digital watermarking of images
First Claim
1. An electronic system for inserting a watermark into a digital image, comprising:
- means for modifying at least one predetermined bit within an image block Xr to a predetermined value, wherein the modified image block is Xr;
means for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the means for calculating a digest of values, wherein the output of the means for calculating a digest of values is a hashed output, wherein the means for modifying at least one predetermined bit of the image block is electrically coupled to the means for calculating a digest of values;
means for combining the hashed output with a watermark, wherein the means for combining uses a pixel by pixel exclusive OR logic operation, wherein the means for combining the hashed output with a watermark is electrically coupled to the output of the means for calculating a digest of values, wherein the output of the means for combining is a combined image block Cr; and
means for inserting a first image block into the modified image block Xr, wherein the means for inserting the first image block into the modified image block Xr, is electrically coupled to the means for modifying at least one predetermined it of the image block.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides an invisible digital watermarking technique that can serve the two purposes of ownership verification and authentication, that can detect changes in pixel values as well as image size, and that may be used in public key or alternatively, secret key watermarking systems. The watermark insertion procedure computes a hash function and then combines the output of the hashed function of a modified image block, a key and various image parameters with a block of the watermark bitmap, resulting in a combined image block. As a final step to create a watermarked image block, the combined image block is inserted into the LSB of the modified image. The watermark extraction procedure takes the watermarked image block and creates two different image blocks: a first image,block with the LSB'"'"'s of the watermarked image block set to zero, and a second image block with the LSB'"'"'s of the watermarked image block extracted. The watermark extraction procedure uses the hash function to calculate a digest of values, resulting in a hashed output. The hashed output is combined with the second image block, preferably using an exclusive OR function. The result of the combined hashed output with the second image block is a block of the extracted watermark.
131 Citations
31 Claims
-
1. An electronic system for inserting a watermark into a digital image, comprising:
-
means for modifying at least one predetermined bit within an image block Xr to a predetermined value, wherein the modified image block is Xr;
means for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the means for calculating a digest of values, wherein the output of the means for calculating a digest of values is a hashed output, wherein the means for modifying at least one predetermined bit of the image block is electrically coupled to the means for calculating a digest of values;
means for combining the hashed output with a watermark, wherein the means for combining uses a pixel by pixel exclusive OR logic operation, wherein the means for combining the hashed output with a watermark is electrically coupled to the output of the means for calculating a digest of values, wherein the output of the means for combining is a combined image block Cr; and
means for inserting a first image block into the modified image block Xr, wherein the means for inserting the first image block into the modified image block Xr, is electrically coupled to the means for modifying at least one predetermined it of the image block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An electronic system for inserting a watermark into a digital image, comprising:
-
means for modifying at least one predetermined bit within an image block X1, to a predetermined value, wherein the modified image block is Xr;
means for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the means for calculating a digest of values, wherein the means for calculating a digest of values is a hashed output, wherein the means for modifying at least one predetermined bit of the image block is electrically coupled to the means for calculating a digest of values wherein the means for modifying at least one predetermined bit modifies the LSB within the image block Xr;
means for combining the bashed output with a watermark, wherein the means for combining uses a pixel by pixel XOR logic block, wherein the means for combining the hashed output with a watermark is electrically coupled to the means for calculating a digest of values, wherein the output of the means for combining is a combined image block; and
means for inserting a first image block into the modified image block Xr, wherein the means for inserting the first image block into the modified image block Xr is electrically coupled to the means for modifying at least one predetermined bit of the image block.
-
-
8. An electronic system for extracting a watermark from a digital watermarked image comprising
means for modifying at least a predetermined bit within an image block of the watermarked image to a predetermined value; -
means for extracting at least a predetermined from the watermarked image block;
means for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the means for calculating a digest of values, wherein the output of the means for calculating a digest of values using a cryptographic hash function is a hashed output, wherein the means for modifying at least a predetermined bit of the watermarked image is electrically coupled to the mans for calculating a digest of values;
means for combining, wherein the means for combining is electrically coupled to the output of the means for calculating a digest of values, wherein the means for combining uses a pixel by pixel exclusive OR logic operation. - View Dependent Claims (9, 10)
-
-
11. An electronic system for extracting a watermark from a digital watermarked image comprising:
-
means for modifying at least a predetermined bit within an image block of the watermarked image to a predetermined value;
means for extracting at least a predetermined bit from the watermarked image block;
means for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs tot he means for calculating a digest of values, wherein the output of the means for calculating a digest of values using a cryptographic hash function is a hashed output, wherein the means for modifying at least a predetermined bit of the watermarked image is electrically coupled to the means for calculating a digest of values wherein the means for modifying at least a predetermined bit to a predetermined value modifies the least significant bit of the selected group of pixels within the image block; and
means for combining, wherein the means for combining is electrically coupled to the means for calculating a digest of values, wherein the means for combining uses a pixel by pixel exclusive OR logic operation.
-
-
12. A method for inserting a watermark into a digital image including the steps of:
-
partitioning an image block Xr into at least one non-overlapping I×
J block;
for each I×
J block, modifying at least a predetermined bit of each I×
J block to a predetermined value, wherein the modified image block is Xr;
calculating a digest of the values using a cryptographic hash function wherein a user key, an image width, an image height and the modified image block are inputs to the means it, for calculating a digest of values;
combining the hashed output calculated in the previous step with a watermark bitmap Br, using a pixel by pixel exclusive or logic operation, wherein the output of the step of combining the hashed output with a watermark Br is a combined image block Cr; and
inserting a first image block into the modified image Xr. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method for extracting a watermark into a digital image including the steps of:
-
for each partitioned non-overlapping I×
J block of a watermarked image Xr, modifying at least a predetermined bit of each I×
J block to a predetermined value, wherein the modified image block is Zr;
calculating a digest of the values using a cryptographic hash function, including providing a user key, an image width, an image height and the modified image block input to the means for calculating a digest of values;
for each I×
J block, extracting at least a predetermined bit from the watermarked image Xr;
decrypting the output of the previous step using a public key decryption function, combining the output of the cryptographic hash function with the decrypted image of the previous step, including using a pixel by pixel exclusive OR logic operation. - View Dependent Claims (20)
-
-
21. An electronic system for inserting a watermark into a digital image, comprising:
-
a system for modifying at least one predetermined bit within an image block Xr to a predetermined value, wherein the modified image block is Xr;
a system for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the means for calculating a digest of values, wherein the output of the system for calculating a digest of values is a hashed output, wherein the system for modifying at least one predetermined bit of the image block is electrically coupled to the system for calculating a digest of values;
a system for combining the hashed output with a watermark, wherein the system for combining uses a pixel by pixel exclusive OR logic operation, wherein the system for combining the hashed output with a watermark is electrically coupled to the output of the system for calculating a digest of values, wherein the output of the system for combining is a combined image block Cr; and
a system for inserting a first image block into the modified image block Xr, wherein the system for inserting the first image block into the modified image block Xr, is electrically coupled to the system for modifying at least one predetermined bit of the image block. - View Dependent Claims (22, 23, 24)
-
-
25. An electronic system for inserting a watermark into a digital image, comprising;
-
a system for modifying at least one predetermined bit within an image block Xr to a predetermined value, wherein the modified image block is Xr;
a system for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the system for calculating a digest of values, wherein the system for calculating a digest of values is a hashed output, wherein the system for modifying at least one predetermined bit of the image block is electrically coupled to the system for calculating a digest of values wherein the system for modifying at least one predetermined bit modifies the LSB within the image block Xr;
a system for combining the hashed output with a watermark, wherein the system for combining uses a pixel by pixel XOR logic block, wherein the system for combining the hashed output with a watermark is electrically coupled to the system for calculating a digest of values, wherein the output of the system for combining is a combined image block; and
a system for inserting a first image block into the modified image block Xr, wherein the system for inserting the first image block into the modified image block Xr is electrically coupled to the system for modifying at least one predetermined bit of the image block. - View Dependent Claims (26, 27)
-
-
28. An electronic system for extracting a watermark from a digital watermarked image comprising:
-
a system for modifying at least a predetermined bit within an image block of the watermarked image to a predetermined value;
a system for extracting at least a predetermined bit from the watermarked image block, a system for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the system for calculating a digest of values, wherein the output of the system for calculating a digest of values using a cryptographic hash function is a hashed output, wherein the system for modifying at least a predetermined bit of the watermarked image is electrically coupled to the system for calculating a digest of values; and
a system for combining, wherein the system for combining uses a pixel by pixel exclusive OR logic operation, wherein the system for combining is electrically coupled to the output of the system for calculating a digest of values. - View Dependent Claims (29, 30)
-
-
31. An electronic system for extracting a watermark from a digital watermarked image comprising:
-
a system for modifying at least a predetermined bit within an image block of the watermarked image to a predetermined value;
a system for extracting at least a predetermined bit from the watermarked image block;
a system for calculating a digest of values using a cryptographic hash function, wherein a user key, an image width, an image height and the modified image block are inputs to the system for calculating a digest of values, wherein the output of the system for calculating a digest of values using a cryptographic hash function is a hashed output, wherein the system for modifying at least a predetermined bit of the watermarked image is electrically coupled to the system for calculating a digest of values, wherein the system for modifying at least a predetermined bit to a predetermined value modifies the least significant bit within the image block; and
a system for combining, wherein the system for combining uses a pixel by pixel exclusive OR logic operation, wherein the system for combining is electrically coupled to the system for calculating a digest of values.
-
Specification