Contrast edge barcodes
AssigneeAvocado Scan, Inc.
InventorsWinson Luk, Alex Yang
Life of this patent
Estimating the term…
Abstract
Systems and methods for generating, reading, and using contrast barcodes for information access is disclosed. A code is received and embedded into one or more edges within or alongside an object by adjusting gamuts such as colors to create contrast. In example embodiments, an image of an object embedded with a contrast edge barcode is received from a user device. A plurality of axis points is defined along an area in the image containing a contrast edge barcode. Data encoded in the pixels along the axis points are decoded by detecting a contrast in colors.
Claims15
A method for generating an optical machine-readable barcode, the method comprising:
- obtaining, by a processor, an object and data associated with the object;
- generating, by the processor, an error-corrected code of said data;
- determining, by the processor, a number of bits of the error-corrected code to encode on one or more axes of the object;
- determining, by the processor, a graphical representation of each bit, wherein the data stored in the bit corresponds to increases or decreases to one or more gamut values;
- encoding, by the processor, one or more blocks with the graphical representation of each bit;
- generating, by the processor, a barcode for each axis, wherein each barcode comprises one or more encoded blocks;
- and
- embedding each barcode onto or alongside the object.
A capture device for reading an optical machine-readable barcode, the system comprising:
- a processor;
- a memory storage unit, storing instructions executable by the processor;
- one or more image sensors;
- a display;
- wherein the capture device is configured to:
- capture, using the one or more sensors, one or more digital representations of an object;
- generate, for each of a plurality of orientations of the digital object, a scannable object comprising a plurality of barcodes;
- identify an area in the scannable objects, wherein the area comprises a contrast barcode;
- determine that the area having the contrast barcode exceeds a matching threshold;
- identify, within the area, one or more optical markers and one or more object features;
- define barcode axes and reference axes from optical markers and object features;
- define a plurality of axis points along each axis;
- determine a barcode gamut value for each axis point;
- determine a reference gamut value, wherein the reference gamut value is a median color value of an area surrounding each axis point;
- translate differences in barcode color values and reference color values into bits;
- concatenate bits from each axis into a singular binary code;
- apply error correction to the singular binary code to extract an embedded code from the image;
- and
- store the embedded code to the memory.
A non-transitory computer-readable storage medium comprising instructions which, when executed by hardware processing circuitry, configure the hardware processing circuitry to perform a method comprising:
- obtaining, by a processor, an object and data associated with an object;
- generating, by the processor, an error-corrected code of said data;
- determining, by the processor, a number of bits of the error-corrected code to encode on one or more axes of the object;
- determining, by the processor, a graphical representation of each bit, wherein the data stored in the bit corresponds to increases or decreases to one or more color values;
- encoding, by the processor, one or more blocks with the graphical representation of each bit;
- generating, by the processor, a barcode for each axis, wherein each barcode comprises one or more encoded blocks;
- embedding, in an embedded object, each barcode onto or alongside edges of the object;
- displaying, on a display device, the embedded object;
- capturing, by a client device, one or more digital representations of the object;
- the client device comprising:
- a processing unit;
- a memory storage unit, storing instructions executable by the processing unit;
- one or more sensors;
- and
- a display;
- generating, for each of a plurality of orientations of the digital representations, a scannable object comprising a plurality of barcodes;
- identifying an area in the scannable images, wherein the area comprises a contrast barcode;
- determining that the area having the contrast barcode exceeds a matching threshold;
- identifying, within the area, one or more optical markers and one or more object features;
- defining barcode axes and reference axes from optical markers and object features;
- defining a plurality of axis points along each axis;
- determining a barcode color value for each axis point;
- determining a reference gamut value, wherein the reference gamut value is a median color value of an area surrounding each axis point;
- translating differences in barcode color values and reference color values into bits;
- concatenating bits from each axis into a singular binary code;
- applying error correction to the singular binary code to extract an embedded code from the image;
- transmitting, over a network, a request for content to one or more servers, the request comprising an object identifier from the image, wherein the object identifier comprises the embedded code from the image;
- receiving the content over the network;
- and
- displaying the content on the client device display.
Dependencies are inferred from the claim text.