Claims
- 1. A method of encoding a watermark into a digital image, the method comprising:
partitioning an original image into blocks; determining a variance value of each block; arranging the blocks according to the variance values; selecting some of the blocks; and replacing bits in a representation of each of the selected blocks with data from the watermark.
- 2. The method of claim 1, selecting some of the blocks further comprising identifying a number of selected blocks, wherein the number depends upon the size of the watermark.
- 3. The method of claim 1, the method further comprising arranging the selected blocks by location.
- 4. The method of claim 1, wherein arranging the blocks further comprises arranging the blocks in ascending order by the variance values.
- 5. The method of claim 2, wherein the identifying of a number of selected blocks further comprises selecting blocks with a mean gray level value between two thresholds.
- 6. The method of claim 3, wherein the location of a block is determined by a location of a first pixel in a block.
- 7. The method of claim 6, wherein arranging the selected blocks by location further comprises arranging blocks with a higher horizontal position ahead of blocks with a higher vertical position.
- 8. The method of claim 7, wherein vertical positions will be used to arrange blocks if horizontal positions are the same.
- 9. The method of claim 1, wherein replacing bits in a representation of each of the selected blocks further comprises:
determining a mean value of each selected block, wherein the mean value will be the representation of each block; truncating the mean value of each block to a nearest integer value, producing a truncated mean value; replacing at least two of the least significant bits of the truncated mean value with a corresponding number of bits from the watermark image producing a changed mean value; and replacing pixel values in each selected block with the changed mean value.
- 10. The method of claim 1, wherein the method further comprises:
identifying unselected blocks having variance values near variance values of selected blocks; and replacing pixel values in each unselected block with an adjusted pixel value.
- 11. A method for decoding a watermarked image, the method comprising:
partitioning a watermarked image into non-overlapping blocks; determining a variance value for each block; arranging the blocks in order of the variance values; selecting some of the blocks; extracting portions of selected blocks into a data string; and resolving the data string into the watermark image.
- 12. The method of claim 11, selecting some of the blocks further comprising selecting a predetermined number of blocks, wherein the number depends upon the size of a watermark encoded in the watermarked image;
- 13. The method of claim 11, the method further comprising identifying selected blocks, wherein a center variance of each selected block is approximately equal to zero;
- 14. The method of claim 11 extracting portions of selected blocks further comprising extraction a portion of a center pixel value for each selected block;
- 15. The method of claim 11, arranging the blocks further comprising arranging the blocks in ascending order of the variance values.
- 16. The method of claim 13, wherein the center variance is determined by computing the variance of four center pixels of each block.
- 17. The method of claim 14, wherein the center pixel value is the value of a pixel at the middle of each block.
- 18. The method of claim 11, wherein the portion extracted is comprised of the two least significant bits of a center pixel value.
- 19. A computer-readable medium including software code that, when executed, results in:
partition of an original image into blocks; determination of a variance value of each block; selection of some of the blocks; and replacement of bits in a representation of each of the selected blocks with data from the watermark.
- 20. The medium of claim 19, wherein the medium also includes software code that when executed, results in arrangement the blocks according to the variance values.
- 21. The medium of claim 19, wherein the medium also includes software code that when executed, results in identification of a number of selected blocks, wherein the number depends upon the size of the watermark.
- 22. The medium of claim 21, wherein the medium also includes software code that when executed, results in arrangement of the selected blocks by location.
- 23. The medium of claim 22, wherein the medium also includes software code that when executed, results in:
partition of a watermarked image into non-overlapping blocks. determination of a variance value for each block; arrangement of the blocks in order of the variance values; selection of a predetermined number of blocks, wherein the number depends upon the size of a watermark encoded in the watermarked image and the blocks selected have a center variance approximately equal to zero; extraction of a portion of a center pixel value for each selected block; arrangement of the portions extracted from each selected block by location of the selected block into a data string; and resolution of the data string into the watermark image.
- 24. The medium of claim 23, wherein the portion extracted is comprised of two least significant bits of data.
Parent Case Info
[0001] This application is a continuation of prior application U.S. Ser. No. 09/727,288 filed Nov. 29, 2003.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09727288 |
Nov 2000 |
US |
Child |
10738741 |
Dec 2003 |
US |