# US 8,783,571 B2 · Device and its use for outputting of 2D codes with embedded images

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

- Number: US 8,783,571 B2
- Document ID: US8783571B2
- Status: Granted
- Kind: B2
- Application number: 13/286,137
- Filed: 2011-10-31
- Published: 2013-01-31
- Granted: 2014-07-22
- Earliest claimed: 2011-07-25
- Assignees: 4Gqr LLC
- Applicants: Koji Sakahashi; Bryan Scott Schaffner
- Inventors: Koji Sakahashi; Bryan Scott Schaffner
- Web page: https://patentgrep.com/patent/US8783571B2

## CPC

- G06K 19/06037: {multi-dimensional coding}
- G06K 19/06056: {the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding}
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

Provided is a device (and program) for producing a 2D code with an embedded image for an automated machine generated process, comprising a processor that produces the 2D code with an embedded image. Also provided are methods of using this device to produce 2D codes with embedded images.

## Claims

### Claim 1

A system for producing a 2D (2 Dimensional) code with an embedded image for an automated machine generated process, comprising a processor that produces the 2D code with an embedded image by:
i) obtaining character string information to be encoded for the 2D code;
ii) obtaining a first graphic data to be embedded in the 2D code;
iii) generating the 2D code by encoding the obtained character suing information;
iv) binarizing pixels of bright and dark areas in the first graphic data to obtain a second graphic data;
v) adjusting an alignment location and an alignment size of the second graphic data in the generated 2D code;
vi) tentatively aligning the second graphic data in the generated 2D code, according to the adjusted alignment location and the alignment size;
vii) calculating an error rate of the 2D code which has the second graphic data tentatively aligned;
viii) repeating the fifth to the seventh steps until the error rate becomes equal to or lower than a first threshold value; and
ix) determining the alignment location and the alignment size of the second graphic data by referring to the calculated error rate.

### Claim 2 (depends on 1)

A system as described in claim 1, wherein the system further aligns the second graphic data in the generated 2D code, based on the determined alignment location and alignment size of the second graphic data, and outputs the 2D code which has the image embedded.

### Claim 3 (depends on 1)

A system as described in claim 1, further comprising outputting the 2D code with the embedded image.

### Claim 4 (depends on 1)

A system as described in claim 1, wherein producing the 2D code with the embedded image comprises:
i) an interface and memory for receiving the character string information and the first graphic data; and
ii) the processor for encoding the character string information into the 2D code, generating the alignment location for the second graphic data, adjusting the alignment location for the second graphic data, regenerating the alignment location for the second graphic data to reduce the error rate in the aligned 2D code, outputting the generated 2D code with the embedded image according to the generated alignment location.

### Claim 5 (depends on 1)

A system as described in claim 1, wherein producing the 2D code with the embedded image comprises:
i) an interface and memory for receiving the character string information and the first graphic data; and
ii) the processor for encoding the character string information into the 2D code, generating the alignment size for the second graphic data, adjusting the alignment size for the second graphic data, regenerating the alignment size for the second graphic data to reduce the error rate in the aligned 2D code, outputting the generated 2D code with the embedded image according to the generated alignment size.

### Claim 6 (depends on 1)

A system as described in claim 1, wherein the system binarizes the first graphic data using a second threshold value.

### Claim 7 (depends on 6)

A system as described in claim 6, wherein the system calculates the error rate, using the tentatively aligned second graphic data in the 2D code, to determine each cell to be valid or invalid, each cell referring to a minimum structural unit in the 2D code.

### Claim 8 (depends on 7)

A system as described in claim 7, wherein the 2D code is a QR code.

### Claim 9 (depends on 1)

A system as described in claim 1, further comprising determining whether the alignment location or the alignment size has priority.

### Claim 10 (depends on 1)

A system as described in claim 1, further comprising determining if the second graphic data is aligned in comparison to the generated 2D code.

### Claim 11 (depends on 1)

A system as described in claim 1, further comprising the step of determining whether the generated 2D code can be decoded prior to output.

### Claim 12 (depends on 1)

A system as described in claim 1, further comprising deleting a specified area from the embedded image when the second graphic data is tentatively aligned on the generated 2D code.

### Claim 13 (depends on 1)

A system as described in claim 1, wherein the 2D code is generated by first reducing the obtained character string information.

### Claim 14 (depends on 13)

A system as described in claim 13, wherein the reducing still maintains the same information as the obtained character string information.

### Claim 15 (depends on 1)

A system as described in claim 1, further comprising a memory for storing a program to be executed by a processor and an interface that facilitates viewing a 2D code with an embedded image.

### Claim 16 (depends on 1)

A system as described in claim 1, wherein the image is selected from the group consisting at least one of a letter or number or combination, multiple letters or initials or numbers or combinations, a word, a keyboard symbol, an icon, an emblem, a shape, a design, a logo, a trademark, a face, an avatar, a picture, a brand, a number, a plurality of numbers, and combinations thereof.

### Claim 17 (depends on 1)

A system as described in claim 1, wherein ratio of space covered by the image compared to the code is about 1/2 to about 1/9.

### Claim 18 (depends on 1)

A system as described in claim 1, wherein the code has less than 100 characters.

### Claim 19 (depends on 1)

A system as described in claim 1, wherein the code has less than 50 characters.

### Claim 20 (depends on 1)

A system as described in claim 1, wherein the code is a QR (Quick Response) code.

### Claim 21 (depends on 1)

The system as described in claim 1, wherein the first graphic data is input in a format selected from the group consisting of jpg (Joint Photographic Experts Group), bmp (Bitmap Image File), gif (Graphics Interchange Format), png (Portable Network Graphics), psd (Photoshop Document), eps (Encapsulated PostScript), pdf (Portable Document Format), tiff (Tagged Image File Format), and ai (Adobe Illustrator).

### Claim 22 (depends on 1)

The system as described in claim 1, wherein the image is output in a format selected from the group consisting of eps (Encapsulated PostScript), png (Portable Network Graphics), ai (Adobe Illustrator), (Graphics Interchange Format), bmp (Bitmap Image File), pdf (Portable Document Format), psd (Photoshop Document), jpg (Joint Photographic Experts Group), and tiff (Tagged Image File Format).

### Claim 23 (depends on 1)

A system as described in claim 1, wherein the character string information to be encoded for the 2D code is obtained from the Internet or other networks.

### Claim 24 (depends on 1)

A system as described in claim 1, wherein the system takes into account a number of characters fix the code, size of the image and orientation of the image to reduce error correction and increase readability of the 2D code.

### Claim 25 (depends on 1)

A system as described in claim 1, wherein the character string information includes one or more attic following characters: numeric digits, alphabetic characters, symbols, 8-bit Latin/Kana characters and Kanji characters.

### Claim 26 (depends on 1)

A method as described in claim 1, wherein ratio of space covered by the image compared to the code is about 1/2 to about 1/12.

### Claim 27

A method for producing a 2D (2-Dimensional) code with an embedded image by an automated machine generated process, comprising embedding an image in the 2D code while allowing the 2D code to be decoded, comprising,
i) obtaining character string information to be encoded for the 2D code;
ii) obtaining a first graphic data to be embedded in the 2D code;
iii) generating the 2D code by encoding the obtained character string information;
iv) binarizing pixels of bright and dark areas in the first graphic data to obtain a second graphic data;
v) adjusting an alignment location and an alignment size of the second graphic data in the generated 2D code;
vi) tentatively aligning the second graphic data in the generated 2D code, according to the adjusted alignment location and alignment size;
vii) calculating an error rate of the 2D code which has the second graphic; data tentatively aligned;
viii) repeating the fifth to the seventh steps until the error rate becomes equal to or lower than a first threshold value; and
ix) determining the alignment location and the alignment size of the second graphic data by referring to the calculated error rate,
wherein each step is performed by a processor.

### Claim 28 (depends on 27)

A method according to claim 27, comprising:
receiving the character string information and the first graphic data with an interface and memory, encoding with the processor the character string information into a 2D code, generating with the processor the alignment location of the second graphic data, adjusting with the processor the alignment location of the second graphic data or the image, regenerating with the processor the alignment location of the second graphic data, calculating with the processor the error rate in the generated 2D code, embedding with the processor the image according to the generated alignment location, and outputting with the processor the generated 2D code with the embedded image.

### Claim 29 (depends on 27)

A method as described in claim 27, further comprising aligning the second graph data in the generated 2D code, based on the determined alignment location and the alignment size of the second graphic data, and outputting the 2D code which has the image embedded.

### Claim 30 (depends on 27)

A method as described in claim 27, further comprising outputting the 2D code with the embedded image.

### Claim 31 (depends on 27)

A method as described in claim 27, wherein producing the 2D code with an embedded image comprises:
i) receiving, the character string information and the first graphic data with an interface and memory;
ii) encoding with a processor the character string information into a 2D code, generating with the processor the alignment size for the second graphic data, adjusting with the processor the alignment size for the second graphic data, regenerating with the processor the alignment size for the second graphic data to reduce the error rate in the aligned 2D code, outputting with the processor the generated 2D code with the embedded image according to the generated alignment size.

### Claim 32 (depends on 27)

A method as described in claim 27 wherein producing the 2D code with the embedded image comprises:
i) receiving the character string information and the first graphic data with an interface and memory;
ii) encoding with the processor character string information into a 2D code, generating with the processor the alignment location for the second graphic data, adjusting with the processor the alignment location for the second graphic data, regenerating with the processor the alignment location for the second graphic data to reduce the error rate in the aligned 2D code, outputting with the processor the generated 2D code with the embedded image according to the generated alignment location.

### Claim 33 (depends on 27)

A method as described in claim 27, wherein the step of binarizing the first graphic data is carried out by using a second threshold value.

### Claim 34 (depends on 27)

A method as described in claim 27, further comprising calculating the error rate using the tentatively aligned second graphic data in the 2D code to determine each cell to be valid or invalid, each cell referring to a minimum structural unit in the 2D code.

### Claim 35 (depends on 27)

A method as described in claim 27, wherein the 2D code is a QR (Quick Response) code.

### Claim 36 (depends on 35)

A method as described in claim 35, further comprising determining whether the alignment location or the alignment size has priority.

### Claim 37 (depends on 27)

A method as described in claim 27, further comprising determining if the second graphic data is aligned in comparison to the generated 2D code.

### Claim 38 (depends on 27)

A method as described in claim 27, further comprising a step of determining whether the generated 2D code can be decoded prior to output.

### Claim 39 (depends on 27)

A method as described in claim 27, further comprising deleting a specified area from the embedded image when the second graphic data is tentatively aligned on the generated 2D code.

### Claim 40 (depends on 27)

A method as described in claim 27, further comprising first reducing the obtained character string information before generating the 2D code.

### Claim 41 (depends on 40)

A method as described in claim 40, wherein the reducing still maintains the same information as the obtained character string information.

### Claim 42 (depends on 27)

A method as described in claim 27, further comprising storing a program on a memory to be executed by a processor and facilitating with an interface viewing of a 2D code with an embedded image.

### Claim 43 (depends on 27)

A method as described in claim 27, wherein the image is selected from the group consisting at least one of a letter or number or combination, multiple letters or initials or numbers or combinations, a word, a keyboard symbol, an icon, an emblem, a shape, a design, a logo, a trademark, a face, an avatar, a picture, a brand, a number, a plurality of numbers, and combinations thereof.

### Claim 44 (depends on 27)

A method as described in claim 27, wherein ratio of space covered by the image compared to the code is about 1/2 to about 1/9.

### Claim 45 (depends on 27)

A method as described in claim 27, wherein the code has less than 100 characters.

### Claim 46 (depends on 27)

A method as described in claim 27, wherein the code has less than 50 characters.

### Claim 47 (depends on 27)

A method as described in claim 27, wherein ratio of space covered by the image compared to the code is about 1/2 to about 1/12.

### Claim 48

A method for producing a 2D (2 Dimensional) code with an embedded image for an automated machine generated process, comprising a processor that produces the 2D code with an embedded image by:
i) obtaining character string information to be encoded for a 2D code;
ii) obtaining a first graphic data to be embedded in the 2D code,
iii) generating the 2D code by encoding the obtained character string information;
iv) binarizing pixels of bright and dark areas in the first graphic data to obtain a second graphic data;
v) adjusting an alignment location and an alignment size of the second graphic data in the generated 2D code;
vi) tentatively aligning the second graphic data in the generated 2D code, according to the adjusted alignment location and alignment size;
vii) calculating an error rate of the 2D code which has the second graphic data tentatively aligned using the tentatively aligned second graphic data in the 2D code to determine each cell to be valid or invalid, each cell referring to a minimum structural unit in the 2D code.

### Claim 49 (depends on 48)

The method of claim 48, wherein the 2D code is QR code.

### Claim 50

A method for producing a 2D (2 Dimensional) code with an embedded image for an automated machine generated process, comprising a processor that produces the 2D code with an embedded image by:
i) obtaining character string information to be encoded for a 2D code;
ii) obtaining graphic data to be embedded in the 2D code;
iii) generating the 2D code by encoding the obtained character string information;
iv) determining whether alignment location or alignment size has priority; and
v) adjusting the alignment location and the alignment size of the graphic data in the generated 2D code based on the determining Step iv.

### Claim 51 (depends on 50)

A method as described in claim 50, further comprising binarizing the graphic data before carrying out the adjusting.
