Method and apparatus for embedding data, including watermarks, in human perceptible images
First Claim
1. A computerized method for embedding inputdata into host data representing a human-perceptible image comprising:
- inputting the input data;
embedding the input data into the host data in accordance with a perceptual mask conducted in the frequency domain; and
,further wherein the input data is embedded in the host data in accordance with a perceptual mask in a domain other than the frequency domain.
6 Assignments
0 Petitions
Accused Products
Abstract
A technique for hiding of data, including watermarks, in human-perceptible images, that is, image host data, is disclosed. In one embodiment a method comprises three steps. In the first step, data to be embedded is inputted. In the case of a watermark, this data is a unique signature, and may be a pseudo-noise (PN) code. In the case of hidden data to be embedded in the host data, this data is the hidden data itself, or the hidden data as spread against the frequency spectrum by a pseudo-noise (PN) code. In the second step, the inputted data is embedded within the host data, in accordance with a perceptual mask of the host data. The perceptual mask determines the optimal locations within the host data to insert the inputted data. In the case of images, these optimal locations are determined by reference to the human visual system. In the third step, the host data, with the embedded data, is further masked by a non-frequency mask. In the case of image data, the non-frequency mask is a spatial mask.
-
Citations
23 Claims
-
1. A computerized method for embedding inputdata into host data representing a human-perceptible image comprising:
-
inputting the input data; embedding the input data into the host data in accordance with a perceptual mask conducted in the frequency domain; and
,further wherein the input data is embedded in the host data in accordance with a perceptual mask in a domain other than the frequency domain. - View Dependent Claims (2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23)
-
7. The computerized method of claim 1, wherein the non-frequency mask comprises a spatial mask.
-
16. The method according to claim 1 wherein the data is processed according to the perceptual mask in the frequency domain prior to being processed according to the mask conducted in the non-frequency domain.
-
17. The method according to claim 1 further including producing frequency masking thresholds from processing of the host data.
-
18. The method according to claim 1 further including producing masking thresholds for the non-frequency domain from processing of the host data.
-
19. The method according to claim 17 wherein the data to be embedded is adjusted according to the frequency masking thresholds.
-
20. The method according to claim 18 wherein the data to be embedded is adjusted according to the non-frequency masking thresholds.
-
21. The method according to claim 20 wherein the data to be embedded is first adjusted using the frequency masking thresholds.
-
22. The method according to claim 1 wherein the perceptual mask in the non-frequency domain is processed prior to the perceptual mask in the frequency domain.
-
23. The method according to claim 18 further wherein the non-frequency domain is the spatial domain, and the masking thresholds are spatial thresholds.
-
-
8. A computerized system for hiding input data having a plurality of bits within a host data representing a human-perceptible image comprising:
-
a processor; a computer-readable medium; computer-executable instructions executed by the processor from the computer-readable medium comprising; segmenting the host data into a plurality of blocks; applying a discrete cosine transform (DCT) to each block of the host data to generate a frequency block corresponding to the block of host data; applying a perceptual mask to each frequency block; embedding each bit of the input data into a corresponding frequency block; and
,applying and inverse DCT to each frequency block to generate the host data having the put data embedded therein. - View Dependent Claims (9, 10)
-
-
11. A computer-readable medium having a computer program stored thereon to cause a suitably equipped computer to perform the method comprising:
-
segmenting host data representing a human-perceptible image into a plurality of blocks; spreading each of a plurality of bits of input data by a signature after selecting a plurality of blocks of the host data; applying a discrete cosine transform (DCT) to each block of the host data to generate a frequency block corresponding to the block of host data; applying a perceptual mask to each frequency block; embedding each bit of the input data, as spread by the signature, into a corresponding frequency block; applying an inverse DCT to each frequency block to generate the host data having the input data embedded therein; and
,applying a spatial mask to the host data having the input data embedded therein. - View Dependent Claims (12)
-
-
13. A computerized system for embedding a watermark into a host data representing a human-perceptible image comprising:
-
a processor; a computer-readable medium; computer-executable instructions executed by the processor for the computer-readable medium comprising; segmenting the host data into a plurality of blocks; applying a discrete cosine transform (DCT) to each block of the host data to generate a frequency block corresponding to the block of host data; applying a perceptual mask to each frequency block; applying the DCT to each bit of a plurality of bits of the watermark; scaling each frequency block, as to which the perceptual mask has been applied, by a corresponding bit of the watermark, as to which the DCT has been applied, and by a spatially masked block corresponding to the frequency block, to generate an adder block corresponding to the frequency block; adding each frequency block with the adder block corresponding to the frequency block; applying an inverse DCT to each frequency block as has been added to with the adder block corresponding to the frequency block to generate a watermarked block of the host data corresponding to the frequency block; and
,applying a spatial mask to each watermarked block to generate the spatially masked block corresponding to the frequency block to which the watermarked block corresponds; embedding each bit of the input data into a corresponding frequency block; and
,applying an inverse DCT to each frequency block to generate the host data having the input data embedded therein.
-
-
14. A computer-readable medium having a computer program stored thereon to cause a suitably equipped computer to perform the method comprising:
-
segmenting host data representing a human-perceptible image into a plurality of blocks; applying a discrete cosine transform (DCT) to each block of the host data to generate a frequency block corresponding to the block of host data; applying a preceptual mask to each frequency block; applying the DCT to each bit of a plurality of bits of a watermark; scaling the each frequency, as to which the perceptual mask has been applied, by a corresponding bit of the watermark, as to which the DCT has been applied, and by a spatially masked block corresponding to the frequency block, to generate an adder block corresponding to the frequency block; adding each frequency bock with the adder block corresponding to the frequency block; applying an inverse DCT to each frequency block as has been added to with the adder block corresponding to the frequency block to generate a watermarked block of the host data corresponding to the frequency block; and
,applying a spatial mask to each watermarked block to generate the spatially masked block corresponding to the frequency block to which the watermarked block corresponds; embedding each bit of the input data into a corresponding frequency block; and applying an inverse DCT to each frequency block to generate the host data having the input data embedded therein. - View Dependent Claims (15)
-
Specification