Multiple transform utilization and applications for secure digital watermarking
First Claim
1. A method for encoding a message into digital information, the digital information including a plurality of digital blocks, comprising the steps of:
- transforming each of the digital blocks into the frequency domain using a fast Fourier transform;
identifying a plurality of frequencies and associated amplitudes for each of the transformed digital blocks;
selecting a subset of the identified amplitudes for each of the digital blocks using a primary mask from a key;
choosing message information from the message using a transformation table generated with a convolution mask; and
encoding the chosen message information into each of said transformed digital blocks by altering the selected amplitudes based on the chosen message information.
3 Assignments
0 Petitions
Accused Products
Abstract
Multiple transform utilization and applications for secure digital watermarking. In one embodiment of the present invention, digital blocks in digital information to be protected are transformed into the frequency domain using a fast Fourier transform. A plurality of frequencies and associated amplitudes are identified for each of the transformed digital blocks and a subset of the identified amplitudes is selected for each of the digital blocks using a primary mask from a key. Message information is selected from a message using a transformation table generated with a convolution mask. The chosen message information is encoded into each of the transformed digital blocks by altering the selected amplitudes based on the selected message information.
-
Citations
21 Claims
-
1. A method for encoding a message into digital information, the digital information including a plurality of digital blocks, comprising the steps of:
-
transforming each of the digital blocks into the frequency domain using a fast Fourier transform;
identifying a plurality of frequencies and associated amplitudes for each of the transformed digital blocks;
selecting a subset of the identified amplitudes for each of the digital blocks using a primary mask from a key;
choosing message information from the message using a transformation table generated with a convolution mask; and
encoding the chosen message information into each of said transformed digital blocks by altering the selected amplitudes based on the chosen message information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
identifying a predetermined number of amplitudes having the largest values for each of the transformed digital blocks.
-
-
4. The method of claim 1, wherein the chosen message information is a message bit and wherein said step of encoding comprises the step of:
encoding the chosen message bit into each of said transformed digital blocks by reducing the selected amplitudes using a strength fraction if the message bit is true, and not reducing the selected amplitudes if the message bit is false.
-
5. The method of claim 4, wherein the strength fraction is user defined.
-
6. The method of claim 1, further comprising the step of storing each of the selected amplitudes and associated frequencies in the key.
-
7. The method of claim 6, wherein the image is a rectangle and the reference subset of pixels form a diagonal of the rectangle.
-
8. The method of claim 7, wherein said steps of padding and re-comparing are performed until a satisfactory fit value is obtained.
-
9. The method of claim 1, further comprising the step of storing a reference subset of the digital information into the key.
-
10. The method of claim 1, wherein the digital information contains pixels forming an image, further comprising the steps of:
-
saving a reference subset of the pixels in the key; and
storing original dimensions of the image in the key.
-
-
11. The method of claim 10, wherein the reference subset of pixels form a line of pixels in the image.
-
12. The method of claim 1, further comprising the step of:
requiring a predetermined key to decode the encoded message information.
-
13. The method of claim 1, further comprising the step of:
requiring a public key pair to decode the encoded message information.
-
14. The method of claim 1, further comprising the steps of:
-
calculating an original hash value for the message; and
storing the original hash value in the key.
-
-
15. A method for encoding a message into digital information, the digital information including a plurality of digital blocks, comprising the steps of:
-
transforming each of the digital blocks into the frequency domain using a spectral transform;
identifying a plurality of frequencies and associated amplitudes for each of the transformed digital blocks;
selecting a subset of the identified amplitudes for each of the digital blocks using a primary mask from a key;
choosing message information from the message using a transformation table generated with a convolution mask; and
encoding the chosen message information into each of said transformed digital blocks by altering the selected amplitudes based on the chosen message information. - View Dependent Claims (16, 17, 18)
saving a reference subset of audio information in the key; and
storing original dimensions of the audio signal in the key.
-
-
18. The method of claim 17, wherein the reference subset of audio information includes an amplitude setting.
-
19. A method of extracting a message from encoded digital information using a predetermined key, comprising the steps of:
-
decoding the encoded digital information into digital information, including a plurality of digital blocks, using the predetermined key;
transforming each of the digital blocks into the frequency domain using a fast Fourier transform;
identifying a plurality of frequencies and associated amplitudes for each of the transformed digital blocks;
selecting a subset of the identified amplitudes for each of the transformed digital blocks using a primary mask from the key;
comparing the selected amplitudes with original amplitudes stored in the predetermined key to determine the position of encoded message information; and
assembling the message using the encoded message information and a reverse transformation table. - View Dependent Claims (20)
calculating a hash value for the assembled message; and
comparing the calculated hash value with an original hash value in the predetermined key.
-
-
21. A method of extracting a message from encoded digital information using a predetermined key, comprising the steps of:
-
decoding the encoded digital information into digital information, including a plurality of digital blocks, using the predetermined key;
transforming each of the digital blocks into the frequency domain using a spectral transform;
identifying a plurality of frequencies and associated amplitudes for each of the transformed digital blocks;
selecting a subset of the identified amplitudes for each of the transformed digital blocks using a primary mask from the key;
comparing the selected amplitudes with original amplitudes stored in the predetermined key to determine the position of encoded message information; and
assembling the message using the encoded message information and a reverse transformation table.
-
Specification