Claims
- 1. A method for inserting a watermark in digital data that comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient, the method comprising the step of:
applying a scrambling algorithm to each block in a predetermined pattern area of the digital data to insert the watermark in the digital data such that the resulting watermarked digital data is format compliant, the scrambling algorithm being applied by performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 2. The method of claim 1, wherein the scrambling algorithm is applied by performing at least two of the scrambling operations.
- 3. The method of claim 1, wherein the scrambling algorithm is applied by performing at least three of the scrambling operations.
- 4. The method of claim 1, wherein the scrambling algorithm is applied by performing all four of the scrambling operations.
- 5. The method of claim 1, wherein the inserted watermark is visible and obtrusive.
- 6. The method of claim 1, wherein the scrambling algorithm is reversible.
- 7. The method of claim 1, wherein each of the second type of coefficient is coded by a code (Ri,s(Vl)) followed by s(Vi) bits from the least significant positions of the 1's complement representation of Vl, wherein the scrambling algorithm is applied by performing at least operation (i), and wherein the magnitude bits of each of selected ones of the second type of coefficient which are XORed with a pseudo random number comprises the s(Vl) bits of that coefficient.
- 8. The method of claim 1, wherein the scrambling algorithm is applied by performing at least operation (ii), and wherein the select number of pairs of blocks to which operation (ii) is applied are constrained to lie within a predetermined number of rows of digital data.
- 9. The method of claim 1, wherein the scrambling algorithm is applied by performing at least operation (iii), and wherein the differential values of the first type of coefficient are shuffled among blocks in the first sequence without changing the sum of the values of the first type of coefficient in the first sequence of blocks.
- 10. The method of claim 1, wherein the scrambling algorithm is applied by performing at least operation (iv), and wherein the select bits of the first type of coefficient that are shuffled among blocks in the second sequence are select left-most bits.
- 11. A method for inserting multiple watermarks in an image that comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient, the method comprising the steps of:
applying a first watermark to each block in a first predetermined pattern area of the image; and applying a second watermark to each block in a second predetermined pattern area of the image; wherein multiple watermarks are inserted such that the resulting watermarked image is format compliant, each watermark being applied by performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 12. The method of claim 11, wherein the first predetermined pattern area comprises a central area of the image and the second predetermined pattern area comprises a peripheral ring surrounding the central area.
- 13. An apparatus for inserting a watermark in digital data that comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient, the apparatus comprising:
a processing device configured to apply a scrambling algorithm to each block in a predetermined pattern area of the digital data to insert the watermark in the digital data such that the resulting watermarked digital data is format compliant, the scrambling algorithm being applied by performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 14. The apparatus of claim 13, wherein the processing device is configured to apply the scrambling algorithm by performing at least two of the scrambling operations.
- 15. The apparatus of claim 13, wherein the processing device is configured to apply the scrambling algorithm by performing at least three of the scrambling operations.
- 16. The apparatus of claim 13, wherein the processing device is configured to apply the scrambling algorithm by performing all four of the scrambling operations.
- 17. The apparatus of claim 13, wherein the processing device is at least one of a microprocessor, an application specific integrated circuit, or a digital signal processor.
- 18. A machine-readable medium having a program of instructions for directing a machine to insert a watermark in digital data that comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient, the program of instructions comprising:
instructions for applying a scrambling algorithm to each block in a predetermined pattern area of the digital data to insert the watermark in the digital data such that the resulting watermarked digital data is format compliant, the scrambling algorithm includes instructions for performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 19. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing at least two of the scrambling operations.
- 20. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing at least three of the scrambling operations.
- 21. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing all four of the scrambling operations.
- 22. The machine-readable medium of claim 18, wherein the watermark to be inserted is visible and obtrusive.
- 23. The machine-readable medium of claim 18, wherein the scrambling algorithm is reversible.
- 24. The machine-readable medium of claim 18, wherein each of the second type of coefficient is coded by a code (Rl, s(Vl)) followed by s(Vl) bits from the least significant positions of the 1's complement representation of Vl, wherein the scrambling algorithm includes instructions for performing at least operation (i), and wherein the magnitude bits of each of selected ones of the second type of coefficient which are to be XORed with a pseudo random number comprises the s(Vl) bits of that coefficient.
- 25. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing at least operation (ii), and wherein the select number of pairs of blocks to which operation (ii) is to be applied are constrained to lie within a predetermined number of rows of digital data.
- 26. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing at least operation (iii), and wherein the differential values of the first type of coefficient are to be shuffled among blocks in the first sequence without changing the sum of the values of the first type of coefficient in the first sequence of blocks.
- 27. The machine-readable medium of claim 18, wherein the scrambling algorithm includes instructions for performing at least operation (iv), and wherein the select bits of the first type of coefficient that are to be shuffled among blocks in the second sequence are select left-most bits.
- 28. A method of selling images over a network, comprising the steps of:
maintaining a plurality of images on a network site accessible by network browsing software; enabling a customer running the network browsing software to access the network site and to view a low quality version of each of the plurality of images; enabling the customer to select at least one image and to retrieve a watermarked version of each selected image; and transmitting a key to the customer in exchange for a specified payment, whereby the client can view or print a high-quality, watermark-free version of each selected image for which payment was received; wherein the watermark on each selected image was inserted in a predetermined pattern area of that image such that each resulting watermarked image is format compliant, the scrambling algorithm being applied by performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 29. The method of claim 28, wherein the low quality version of each image available for viewing by the customer is a thumbnail version.
- 30. The method of claim 28, wherein the key includes a descrambler and a printer driver.
- 31. The method of claim 28, wherein the key is session-based.
- 32. A method of selling images over a network, comprising the steps of:
maintaining a plurality of images on a network site accessible by network browsing software; enabling a customer running the network browsing software to access the network site and to view a low quality version of each of the plurality of images; enabling the customer to select at least one image and to retrieve a version of each selected image having a first watermark in a first predetermined pattern area and a second watermark in a second predetermined pattern area; and transmitting a first key to the customer in exchange for a first specified payment, with which the client can remove the first watermark of each selected image for which the first specified payment was received; transmitting a second key to the customer in exchange for a second specified payment, with which the client can remove the second watermark of each selected image for which the second specified payment was received; the first and second watermarks having been inserted such that the each watermarked image is format compliant and by performing at least one of the following scrambling operations:
(i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
- 33. The method of claim 32, wherein the first predetermined pattern area comprises a central area of each selected image and the second predetermined pattern area comprises a peripheral ring surrounding the central area.
CONTINUING APPLICATION DATA
[0001] This application claims the benefit of U.S. Provisional Application No. 60/307,046 filed Jul. 20, 2001 under 35 U.S.C. §119(e).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60307046 |
Jul 2001 |
US |