Generating machine-readable optical codes with aesthetic component
AssigneeAnki, Inc.
InventorAndrew Stein
Life of this patent
Estimating the term…
Abstract
Techniques are provided for generating machine-readable optical codes that have an aesthetic component that is integrated into the codes themselves. In this manner, the machine-readable optical codes can be designed to be aesthetically pleasing and/or can convey information to human viewers, and can even be disguised so that they do not appear to be machine-readable optical codes at all. Such information can be (but need not be) distinct from the information encoded for reading by a machine, even when the information is integrated into the code itself. The techniques described herein can be applied to any type of machine-readable optical code.
Claims30
A computer-implemented method for generating a machine-readable optical code having an aesthetic component, comprising:
- at a processor of a hardware device, determining a fiducial;
- at the processor, determining locations for a plurality of cells within the fiducial;
- at the processor, determining a probe location within each determined cell, wherein at least one of the probe locations is smaller than its corresponding cell;
- at the processor, establishing a machine-readable color for each determined probe location, based on data to be encoded in the machine-readable optical code;
- at the processor, based on a desired aesthetic design, establishing a color pattern for areas within the fiducial but not within probe locations, wherein the color pattern is consistent with the established machine-readable color for each determined probe location;
- at the processor, generating a machine-readable optical code within the determined fiducial using the established color pattern, wherein the machine-readable optical code contains the established machine-readable color at each probe location to encode the data;
- and
- at an output device, outputting the generated machine-readable optical code.
A computer-implemented method for decoding a machine-readable optical code contained in a detected fiducial, comprising:
- at an image capture device, capturing an input image;
- at a processor, detecting a fiducial within the input image, the fiducial comprising a machine-readable optical code;
- at the processor, obtaining a canonical fiducial containing canonical probe locations;
- at the processor, determining a perspective transformation of the detected fiducial as compared with the canonical fiducial;
- at the processor, applying the perspective transformation to the canonical probe locations to obtain transformed probe locations;
- at the processor, determining at least one probe value for each transformed probe location;
- at the processor, determining binary probe values from the determined probe values;
- at the processor, comparing the determined binary probe values with a code library to identify a matched code;
- and
- at an output device, outputting the matched code.
A system for generating a machine-readable optical code having an aesthetic component, comprising:
- a hardware processor, configured to perform the steps of:
- determining a fiducial;
- determining locations for a plurality of cells within the fiducial;
- determining a probe location within each determined cell, wherein at least one of the probe locations is smaller than its corresponding cell;
- establishing a machine-readable color for each determined probe location, based on data to be encoded in the machine-readable optical code;
- based on a desired aesthetic design, establishing a color pattern for areas within the fiducial but not within probe locations, wherein the color pattern is consistent with the established machine-readable color for each determined probe location;
- and
- generating a machine-readable optical code within the determined fiducial using the established color pattern, wherein the machine-readable optical code contains the established machine-readable color at each probe location to encode the data;
- and
- an output device, communicatively coupled to the hardware processor, configured to output the generated machine-readable optical code.
A non-transitory computer-readable medium for generating a machine-readable optical code having an aesthetic component, comprising instructions stored thereon, that when executed on a processor, perform the steps of:
- determining a fiducial;
- determining locations for a plurality of cells within the fiducial;
- determining a probe location within each determined cell, wherein at least one of the probe locations is smaller than its corresponding cell;
- establishing a machine-readable color for each determined probe location, based on data to be encoded in the machine-readable optical code;
- based on a desired aesthetic design, establishing a color pattern for areas within the fiducial but not within probe locations, wherein the color pattern is consistent with the established machine-readable color for each determined probe location;
- generating a machine-readable optical code within the determined fiducial using the established color pattern, wherein the machine-readable optical code contains the established machine-readable color at each probe location to encode the data;
- and
- causing an output device to output the generated machine-readable optical code.
Dependencies are inferred from the claim text.