IP Library › Granted Patent US 8,879,832
Granted Patent B2
US 8,879,832 · App. 13/533,459 · Granted Nov 4, 2014

Color matrix code

Inventors: Edul N. Dalal (Webster, NY); Wencheng Wu (Webster, NY)
Assignee: Xerox Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,879,832
App. No.
13/533,459
Granted
Nov 4, 2014
Kind
B2
Abstract

When an imaging device receives an image file that includes a color barcode, a processor of the imaging device and/or a remote processor may decode the barcode by identifying informational elements and calibration elements in the barcode. When the calibration elements are detected, one or more color model parameters are determined, and a color model is developed. When an informational element is then detected, a color value is determined for the informational element, the color model is applied using the color model parameters to yield an adjusted color value for the informational element, and the adjusted color value is used to decode the color barcode.

Claims (76)

1. A method, comprising:

by an imaging device, receiving an image of a color barcode having a plurality of informational elements and a plurality of calibration elements;

by the imaging device, detecting the calibration elements;

by a processor, using the calibration elements to determine one or more color model parameters for assigning a color value to a perceived color;

by the processor, identifying a color model that comprises the determined one or more color model parameters;

by the imaging device, detecting a set of the informational elements, each of which comprises a color data bit;

by the processor, identifying a perceived color value for each of the detected informational elements in the set;

by the processor, applying the one or more color model parameters to the color model to transform the perceived color values for one or more of the detected informational elements and yield one or more adjusted color values; and

by the processor, decoding the color barcode using the one or more adjusted color values.

2. The method of claim 1 , wherein detecting the one or more calibration elements comprises:

detecting one or more position detection pattern locations in the color barcode;

based on the one or more position detection pattern locations, determining a position in the image for the calibration elements; and

identifying the calibration elements as those elements that are located in the determined position.

3. The method of claim 1 , wherein detecting the calibration elements comprises:

recognizing an image of three position detection patterns, each of which is located in a corner of a square;

determining an orientation of the square based on the corners in which the position detection patterns are located; and

determining a calibration element location based on the locations of the position detection patterns and the orientation of the square.

4. The method of claim 1 , wherein determining the one or more color model parameters comprises:

determining a color value for each of the detected calibration elements in the image;

comparing each determined color value to a set of stored color values for each of the detected calibration elements to identify a relationship between them; and

using the relationship to determine the color model parameters.

5. The method of claim 1 , wherein the color model comprises a piecewise linear approximation.

6. The method of claim 1 , wherein the color model comprises a gamma function.

7. The method of claim 1 , wherein the color model comprises a matrix.

8. The method of claim 1 , wherein the color model comprises a polynomial.

9. The method of claim 1 , wherein applying the one or more color model parameters to the color model to yield one or more adjusted color values comprises thresholding the identified color value of at least one of the detected informational elements to the adjusted color value that is nearest to the identified color value of the informational element.

10. The method of claim 1 , wherein each perceived color value and each adjusted color value comprises a set of integers that, for each informational element, provides RGB values for the informational element.

11. A system for decoding a color barcode, comprising:

a processor; and

a non-transitory computer-readable storage medium containing programming instructions that, when executed, instruct the processor to:

receive an image file of a color barcode, the image file having a plurality of informational elements and one or more calibration elements;

use the one or more calibration elements to determine one or more color model parameters for assigning a color value to a perceived color;

identify a color model that comprises the determined one or more color model parameters;

identify a set of the informational elements, each of which comprises a color data bit;

identify a perceived color value for each of the detected informational elements in the set;

apply the one or more color model parameters to the color model to transform the perceived color values for one or more of the detected informational elements and yield one or more adjusted color values; and

decode the color barcode using the one or more adjusted color values.

12. The system of claim 11 , wherein the instructions further comprise instructions that, when executed, cause the processor to:

detect one or more position detection pattern locations in the color barcode;

based on the one or more position detection pattern locations, determine a position in the image for the calibration elements; and

identify the calibration elements as those elements that are located in the determined position.

13. The system of claim 11 , wherein the instructions that, when executed, cause the processor to determine the one or more color model parameters comprise instructions for:

determining a color value for each of the detected calibration elements;

comparing each determined color value to a set of stored color values for each of the detected calibration elements to identify a relationship between them; and

using the relationship to determine the color model parameters.

14. The system of claim 11 , wherein the instructions further comprise instructions that, when executed, cause the processor to:

detect one or more of the calibration elements;

recognize an image of three position detection patterns, each of which is located in a corner of a square;

determine an orientation of the square based on the corners in which the position detection patterns are located; and

determine a calibration element location based on the locations of the position detection patterns and the orientation of the square.

15. The system of claim 11 , wherein the color model comprises a piecewise linear approximation, a gamma function, a matrix, or a polynomial.

16. The system of claim 11 , further comprising an imaging device that receives an image of the barcode and converts the image to the image file.

17. The system of claim 16 , further comprising a display that outputs the barcode to the imaging device.

18. The system of claim 11 , wherein each perceived color value and each adjusted color value comprises a set of integers that, for each informational element, provides RGB values for the informational element.

19. A method of decoding a color barcode, comprising, by one or more processors:

receiving an image file of a color barcode having a plurality of informational elements and a plurality of calibration elements;

detecting a set of the calibration elements by:

detecting one or more position detection pattern locations in the color barcode;

based on the one or more position detection pattern locations, determining a position in the image for the calibration elements; and

identifying the calibration elements as those elements that are located in the determined position;

detecting a set of the informational elements, each of which comprises a color data bit;

using the detected calibration elements to determine one or more color model parameters for assigning a color value to a perceived color;

identifying a color model that comprises one or more color model parameters;

identifying a perceived color value for each of the detected informational elements;

applying the one or more color model parameters to the color model to one or more of the detected informational elements and yield one or more adjusted color values; and

decoding the color barcode using the one or more adjusted color values.

20. The method of claim 19 , wherein determining the one or more color model parameters comprises:

determining a color value for each of the detected calibration elements in the image;

comparing each determined color value to a set of stored color values for each of the detected calibration elements to identify a relationship between them; and

using the relationship to determine the color model parameters.

21. The method of claim 19 , wherein detecting the one or more position detection patterns comprises:

recognizing an image of three position detection patterns, each of which is located in a corner of a square;

determining an orientation of the square based on the corners in which the position detection patterns are located; and

determining a calibration element location based on the locations of the position detection patterns and the orientation of the square.

22. The method of claim 19 , wherein the color model comprises a piecewise linear approximation, a gamma function, a matrix, or a polynomial.

23. The method of claim 19 , wherein each perceived color value and each adjusted color value comprises a set of integers that, for each informational element, provides RGB values for the informational element.

Assignments (9)
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2012
From: DALAL, EDUL N.; WU, WENCHENG
To: XEROX CORPORATION
Reel/Frame 028446/0198 →
Continuity (1)
Related Publication 20130343645A1 · Dec 26, 2013