Claims
- 1. A method of generating a graphical bar code, comprising halftoning regions of an original image incorporating errors diffused among regions of the original image and computed based at least in part upon modulations in the graphical bar code corresponding to a graphical encoding of a message.
- 2. The method of claim 1, wherein halftoning comprises computing quantization errors for respective regions of the graphical bar code.
- 3. The method of claim 2, wherein the computed quantization errors are invariant to the graphically encoded message.
- 4. The method of claim 3, wherein average block errors are diffused among regions of the original image.
- 5. The method of claim 2, wherein halftoning comprises modifying original image regions with diffused errors to produce corresponding regions of a modified original image.
- 6. The method of claim 5, further comprising applying a matrix-valued error filter to compute quantization errors to be diffused.
- 7. The method of claim 5, wherein quantization errors are computed based at least in part upon a comparison of regions of the modified original image with corresponding regions of the graphical bar code.
- 8. The method of claim 5, further comprising quantizing regions of the modified original image to produce corresponding regions of a base image.
- 9. The method of claim 8, wherein quantizing comprises thresholding regions of the modified original image.
- 10. The method of claim 9, wherein regions of the modified original image are thresholded at an intermediate gray level.
- 11. The method of claim 8, wherein quantizing comprises assigning to regions of the base image respective representative quantized regions selected from a subset of possible representative halftone regions.
- 12. The method of claim 11, wherein the subset of possible representative quantized regions consists of an all-dark representative quantized region and an all-bright representative quantized region.
- 13. The method of claim 8, wherein regions of the base image are modulated with a graphical encoding of the message to produce corresponding regions of the graphical bar code.
- 14. The method of claim 1, further comprising generating a sequence of graphical code words corresponding to a graphical encoding of the message.
- 15. The method of claim 14, wherein halftoning comprises generating regions of a base image based upon propagation of errors to corresponding regions of the original image, and further comprising modulating regions of the base image based upon the sequence of graphical code words to produce corresponding regions of the graphical bar code.
- 16. The method of claim 15, wherein modulating base image regions comprises applying an invertible graphical operation between regions of the base image and graphical code words.
- 17. The method of claim 14, wherein one or more of the graphical code words are non-information-encoding and the remaining graphical code words are information-encoding.
- 18. The method of claim 17, wherein information-encoding graphical code words and non-information encoding graphical code words are distinguishable on the basis of average gray value.
- 19. The method of claim 18, wherein information-encoding graphical code words have gray values within a selected gray value range.
- 20. The method of claim 17, wherein one or more non-information encoding graphical code words do not encode modulations into the graphical bar code during encoding.
- 21. The method of claim 17, wherein one or more non-information encoding graphical code words visually enhance regions of the graphical bar code when encoded.
- 22. A computer program for generating a graphical bar code, the computer program residing on a computer-readable medium and comprising computer-readable instructions for causing a computer to:
halftone regions of an original image incorporating errors diffused among regions of the original image and computed based at least in part upon modulations in the graphical bar code corresponding to a graphical encoding of a message.
- 23. A method of decoding a graphical bar code, comprising:
generating a base image having halftone regions representative of an original image; probabilistically comparing regions of the base image to a set of graphical code words to obtain a sequence of graphical code words corresponding to a graphical encoding of a message; and decoding the sequence of graphical code words to produce a decoded message.
- 24. The method of claim 23, wherein the base image is generated by halftoning regions of the original image incorporating errors diffused among regions of the original image and computed based at least in part upon modulations in the graphical bar code corresponding to a graphical encoding of a preselected message.
- 25. The method of claim 24, wherein the diffused errors are invariant to the graphically encoded message.
- 26. The method of claim 23, wherein the base image is generated without foreknowledge of the original image.
- 27. The method of claim 26, wherein generating the base image comprises:
measuring one or more intrinsic features of the graphical bar code; and based upon the intrinsic feature measurements, selecting a sequence of halftone regions from a preselected set of halftone regions permitted to represent regions of the original image.
- 28. The method of claim 27, wherein selecting the sequence of representative halftone regions comprises selecting a representative halftone region for each region of the graphical bar code likely to match a corresponding region of the base image.
- 29. A computer program for decoding a graphical bar code, the computer program residing on a computer-readable medium and comprising computer-readable instructions for causing a computer to:
generate a base image having halftone regions representative of an original image; probabilistically compare regions of the base image to a set of graphical code words to obtain a sequence of graphical code words corresponding to a graphical encoding of a message; and decode the sequence of graphical code words to produce a decoded message.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application relates to the following co-pending applications, each of which is incorporated herein by reference:
[0002] U.S. patent application Ser. No. 09/579,010, filed May 25, 2000, by Doron Shaked et al., and entitled “A Method and Apparatus for Generating and Decoding a Visually Significant Bar Code;”
[0003] U.S. patent application Ser. No. 09/429,515, filed Oct. 28, 1999 by Renato Kresch et al., and entitled “System and Method for Counterfeit Protection;”
[0004] U.S. Ser. No. 09/728,292, filed Dec. 1, 2000, by Jonathan Yen et al., and entitled “Authenticable Graphical Bar Codes;”
[0005] U.S. patent application Ser. No. 09/578,843, filed May 25, 2000, by Doron Shaked et al., and entitled “Geometric Deformation Correction Method and System for Dot Pattern Images;”
[0006] U.S. Ser. No. 09/877,516, filed on Jun. 7, 2001, by Doron Shaked et al., and entitled “Generating and Decoding Graphical Bar Codes;”
[0007] U.S. patent application Ser. No. 09/877,581, filed on Jun. 7, 2001, by Jonathan Yen et al., and entitled “Automatically Extracting Graphical Bar Codes;”
[0008] U.S. patent application Ser. No. 09/877,517, filed on Jun. 7, 2001, by Doron Shaked et al., and entitled “Fiducial Mark Patterns for Graphical Bar Codes;”
[0009] U.S. patent application Ser. No. 09/975,278, filed on Oct. 10, 2001, by Doron Shaked et al., and entitled “Graphically Demodulating Graphical Bar Codes Without Foreknowledge of the Original Unmodulated Base Image;” and
[0010] U.S. patent application Ser. No. 09/935,457, filed on Aug. 23, 2001, by Niranjan Damera-Venkata, and entitled “System and Method for Embedding Information within a Printed Image Using Block Error Diffusion Halftoning.”