# US 10,769,400 B2 · Barcode reader

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,400 B2
- Document ID: US10769400B2
- Status: Granted
- Kind: B2
- Application number: 16/195,437
- Filed: 2018-11-19
- Published: 2019-03-21
- Granted: 2020-09-08
- Earliest claimed: 2015-04-28
- Assignees: The Code Corporation
- Applicants: The Code Corporation
- Inventors: Ming Lei; Mark Ashby; Ryan Hoobler
- Web page: https://patentgrep.com/patent/US10769400B2

## CPC

- G06K 7/146: {the method including quality enhancement steps}
- G06K 7/10722: {Photodetector array or CCD scanning}
- G06K 7/10732: {Light sources}
- G06K 7/10752: {Exposure time control}
- G06K 7/10792: {Special measures in relation to the object to be scanned}
- G06K 7/10851: {Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device (basic electronic circuitry H03)}
- G06K 7/1465: {using several successive scans of the optical code}
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

A barcode reader may perform image processing functions to generate distinct image data records from the frame of image data of a barcode, select an image data record from the distinct image data records and decode the selected image data record. Each image data record may be generated by applying a distinct image processing function to the frame of image data. The barcode reader may capture multiple frames of image data in sequence based on image capture parameters. At least one of the multiple frames of image data may be captured with a distinct parameter value. The image capture parameters may include an exposure setting, a gain setting, a resolution setting, and/or an illumination setting.

## Claims

### Claim 1

A barcode reader, comprising:
a lens for focusing an image of a barcode onto a two-dimensional array of photosensitive diodes;
image read-out circuitry coupled to the two-dimensional array of photosensitive diodes and configured to generate a frame of image data, wherein the frame of image data is a sequence of values, each value representing intensity of illumination focused onto one of the photosensitive diodes;
image processing circuitry configured to receive the sequence of values of the frame of image data and perform at least two image processing functions to generate at least two distinct image data records from the frame of image data, the image processing circuitry comprising a plurality of image processing circuits implemented in hardware, the at least two image processing functions being performed by at least two different image processing circuits, each image data record being a derivative of the frame of image data and representing the image of the barcode;
non-transient computer readable media for storing the at least two distinct image data records; and
a processor configured to select an image data record from the at least two distinct image data records and decode the selected image data record.

### Claim 2 (depends on 1)

The barcode reader of claim 1, wherein the processor is configured to select the image data record from the at least two distinct image data records by analyzing a portion of each image data record representing the image of the barcode, wherein the portion representing the image of the barcode includes at least one dark mark and at least one light mark, and selecting the image data record with a superior contrast profile as between parts of the portion of the image data record that are dark marks and parts of the portion of the image data record that are light marks.

### Claim 3 (depends on 2)

The barcode reader of claim 2, wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.

### Claim 4 (depends on 2)

The barcode reader of claim 2, wherein each of the at least two distinct image data records is generated by applying at least two distinct image processing convolution kernels to one of: i) the frame of image data; and ii) a reduced resolution image resulting from reducing resolution of the frame of image data by sub-sampling or binning.

### Claim 5 (depends on 1)

The barcode reader of claim 1, wherein the processor is configured to select the image data record from the at least two distinct image data records by:
extracting, from each of the at least two distinct image data records, a subset of the image data record that represents the image of the barcode, wherein the subset includes at least one dark mark and at least one light mark; and
analyzing each subset of the image data record and selecting a subset with a superior contrast profile as between parts of the subset of the image data record that are dark marks and parts of the subset of the image data record that are light marks;
wherein the selected image data record is the image data record from which the selected subset is extracted.

### Claim 6 (depends on 5)

The barcode reader of claim 5, wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.

### Claim 7 (depends on 1)

The barcode reader of claim 1, wherein the two-dimensional array of photosensitive diodes and the image read-out circuitry are within a first system package, and the image processing circuitry, the non-transient computer readable media, and the processor are within a second system package.

### Claim 8 (depends on 1)

The barcode reader of claim 1, wherein the two-dimensional array of photosensitive diodes, the image read-out circuitry, the image processing circuitry, and the non-transient computer readable media are within a first system package, and the processor is within a second system package.

### Claim 9 (depends on 8)

The barcode reader of claim 8, wherein the processor is configured to decode the selected image data record by transferring at least a portion of the selected image data record to second non-transient computer readable media associated with the second system package.

### Claim 10 (depends on 8)

The barcode reader of claim 8, wherein the processor is configured to decode the selected image data record directly from the non-transient computer readable media in the first system package.

### Claim 11

A barcode reader, comprising:
a camera system for generating a frame of image data comprising an image of a barcode within a field of view of the camera system;
an image processing system for receiving the frame of image data and generating at least two distinct image data records, each of the at least two distinct image data records being a derivative of the frame of image data and representing the image of the barcode, the image processing system generating the at least two distinct image data records using at least two different image processing circuits implemented in hardware;
non-transient computer readable media for storing the at least two distinct image data records; and
a processor configured to select an image data record from the at least two distinct image data records and decode the selected image data record.

### Claim 12 (depends on 11)

The barcode reader of claim 11, wherein the processor is configured to select the image data record from the at least two distinct image data records by analyzing a portion of each image data record representing the image of the barcode, wherein the portion representing the image of the barcode includes at least one dark mark and at least one light mark, and selecting the image data record with a superior contrast profile as between parts of the portion of the image data record that are dark marks and parts of the portion of the image data record that are light marks.

### Claim 13 (depends on 12)

The barcode reader of claim 12 wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.

### Claim 14 (depends on 11)

The barcode reader of claim 11, wherein each of the at least two distinct image data records is generated by applying at least two distinct image processing convolution kernels to one of: i) the frame of image data; and ii) a reduced resolution image resulting from reducing resolution of the frame of image data by sub-sampling or binning.

### Claim 15 (depends on 11)

The barcode reader of claim 11, wherein the processor is configured to select the image data record from the at least two distinct image data records by:
extracting, from each of the at least two distinct image data records, subsets of the image data record that represent the image of the barcode, wherein the subset of the image data record that represents the image of the barcode includes at least one dark mark and at least one light mark; and
analyzing each subset of the image data record and selecting a subset with a superior contrast profile as between parts of the subset of the image data record that are dark marks and parts of the subset of the image data record that are light marks;
wherein the selected image data record is the image data record from which the selected subset is extracted.

### Claim 16 (depends on 15)

The barcode reader of claim 15, wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.

### Claim 17 (depends on 11)

The barcode reader of claim 11, wherein the camera system is within a first system package, and the image processing system, the non-transient computer readable media, and the processor are within a second system package.

### Claim 18 (depends on 11)

The barcode reader of claim 11, wherein the camera system, the image processing system, and the non-transient computer readable media are within a first system package, and the processor is within a second system package.

### Claim 19 (depends on 18)

The barcode reader of claim 18, wherein the processor is configured to decode the selected image data record by transferring at least a portion of the selected image data record to a second non-transient computer readable medium associated with the second system package.

### Claim 20 (depends on 19)

The barcode reader of claim 19, wherein the processor is configured to decode the selected image data record directly from the non-transient computer readable media in the first system package.

### Claim 21

A method of reading a barcode with a barcode reader, the method comprising:
using an image sensor to capture a frame of image data, the frame of image data comprising an image of the barcode within a field of view of a camera system of the barcode reader;
using hardware gate logic to:
apply at least two distinct image processing functions to the frame of image data to generate at least two distinct image data records from the frame of image data, each representing the image of the barcode, wherein the at least two distinct image processing functions are applied using at least two different image processing circuits; and
store the at least two distinct image data records in non-transient computer readable media;
using a processor to:
select an image data record from the at least two distinct image data records; and
decode the selected image data record.

### Claim 22 (depends on 21)

The method of claim 21, wherein using the processor to select the image data record from the at least two distinct image data records comprises analyzing a portion of each image data record representing the image of the barcode, wherein the portion representing the image of the barcode includes at least one dark mark and at least one light mark, and selecting the image data record with a superior contrast profile as between parts of the portion of the image data record that are dark marks and parts of the portion of the image data record that are light marks.

### Claim 23 (depends on 22)

The method of claim 22, wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.

### Claim 24 (depends on 21)

The method of claim 21, wherein each of the at least two distinct image data records is generated by applying one of at least two distinct image processing convolution kernels to at least two of: i) the frame of image data; ii) a reduced resolution image resulting from reducing resolution of the frame of image data by sub-sampling or binning; and iii) a convolution of the frame of image data generated by applying a first convolution kernel, different than the at least two distinct image processing convolution kernels, to the frame of image data.

### Claim 25 (depends on 21)

The method of claim 21, wherein each of the at least two distinct image data records is generated by applying at least two distinct image processing convolution kernels to one of: i) the frame of image data; and ii) a reduced resolution image resulting from reducing resolution of the frame of image data by sub-sampling or binning.

### Claim 26 (depends on 21)

The method of claim 21, wherein the image data record is selected from the at least two distinct image data records by:
extracting, from each of the at least two image data records, a subset of the image data record that represents the image of the barcode, wherein the subset of the image data record that represents the image of the barcode includes at least one dark mark and at least one light mark; and
analyzing each subset of the image data record and selecting a subset with a superior contrast profile as between parts of the subset of the image data record that are dark marks and parts of the subset of the image data record that are light marks;
wherein the selected image data record is the image data record from which the selected subset is extracted.

### Claim 27 (depends on 26)

The method of claim 26, wherein the superior contrast profile means at least one of: (i) a greater maximum amplitude between portions of an image within a subset that are dark marks of the barcode and portions of the image within the subset that are light marks of the barcode; and (ii) more distinct transitions between the portions of the image within the subset that are dark marks of the barcode and the portions of the image within the subset that are light marks of the barcode.
