IP Library Granted Patent US 12,223,377
Granted Patent B2
US 12,223,377 · App. 18/273,040 · Granted Feb 11, 2025

Methods for constructing, generating, and reading dot-matrix code, dot-matrix code generating and reading terminals, and dot-matrix code system

Inventors: Ruoxi Li (Shanghai, CN); Bin Chen (Shanghai, CN)
Assignee: SHIA Information Technology (Shanghai)Co., LTD.
G06K19/06037G06K19/06075G06K19/06103H03M13/1515
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 12,223,377
App. No.
18/273,040
Granted
Feb 11, 2025
Kind
B2
Abstract

Methods for constructing, generating, and reading a dot-matrix code, dot-matrix code generating and reading terminals, and a dot-matrix code system. The method for constructing a dot-matrix code includes: constructing a plurality of information units arranged in an N×N matrix; configuring the plurality of information units as information unit modules and/or marker unit modules; storing, in each of the information unit modules, a value based on a relative position of the information point within the corresponding information unit module; signaling identification information of the dot-matrix code through an arrangement of a subset of the information points, wherein the subset of the information points are contained in the marker unit modules. The methods for constructing, generating, and reading a dot-matrix code, the dot-matrix code generating and reading terminals, and the dot-matrix code system of the present disclosure can provide uniformly distributed dot-matrix codes with information hiding features, satisfying practical needs.

Claims (51)

1. A method for constructing a dot-matrix code, comprising:

constructing a plurality of information units arranged in an N×N matrix;

configuring the plurality of information units as information unit modules and marker unit modules, respectively; wherein each information unit is either one of the information unit modules or one of the marker unit modules, and the dot-matrix code consists of the information unit modules and the marker unit modules, wherein each information unit contains one and only one information point;

storing, in each of the information unit modules, a value based on a relative position of the information point within the corresponding information unit module; and

signaling identification information of the dot-matrix code through an arrangement of a subset of the information points, wherein the subset of the information points are contained in the marker unit modules; wherein, of the information points that are located in the marker unit modules, those representing a top boundary, a bottom boundary, or vertices of the dot-matrix code are located in centers of the marker unit modules, and those representing a left boundary or a right boundary, not including vertices of the dot-matrix code, are alternately located in left or right portions of the marker unit modules.

2. The method for constructing the dot-matrix code according to claim 1 , wherein the identification information of the dot-matrix code comprises a dot-matrix orientation and dot-matrix boundaries.

3. The method for constructing the dot-matrix code according to claim 1 , wherein of the information points, those located in upper left, lower left, upper right, or lower right portions of the information unit modules each represent a quaternary value.

4. The method for constructing the dot-matrix code according to claim 1 , wherein corners of the dot-matrix code are indicated by those of the information points, that collectively form arcs or right angles.

5. A method for generating a dot-matrix code, comprising:

obtaining information to be embedded into the dot-matrix code;

obtaining configuration information of a dot-matrix code image corresponding to the dot-matrix code;

encrypting the information to be embedded to obtain encrypted information;

performing error correction coding on the encrypted information to obtain error-corrected information;

converting the error-corrected information into a dot-matrix code constructed based on the method for constructing the dot-matrix code according to claim 1 ;

generating an image shading based on the configuration information of the dot-matrix code image; and

embedding the dot-matrix code on the image shading.

6. The method for generating the dot-matrix code according to claim 5 , wherein the error correction coding of the encrypted information is performed using a concatenated code comprising RS codes and convolutional codes in combination with interleaving technology.

7. The method for generating the dot-matrix code according to claim 5 , wherein converting the error-corrected information into the dot-matrix code comprises:

converting a hexadecimal string encoded with error correction codes into a quaternary data stream; and

sequentially embedding the information to be embedded, into a dot matrix from top to bottom and from left to right to generate the dot-matrix code.

8. The method for generating the dot-matrix code according to claim 5 , wherein the configuration information of the dot-matrix code image comprises: a width and height, background information, and a decryption key of the dot-matrix code image.

9. The method for generating the dot-matrix code according to claim 5 , further comprising printing the dot-matrix code on a surface of a material; wherein the material comprises one or more of paper, metal, and plastic.

10. A dot-matrix code generating terminal, comprising a processor and a memory;

wherein the memory is configured to store a computer program;

wherein the processor is for executing the computer program stored in the memory to cause the terminal to perform the method for generating the dot-matrix code of claim 5 .

11. A method for reading a dot-matrix code, comprising:

obtaining an image comprising the dot-matrix code, wherein the dot-matrix code is generated based on the method for generating the dot-matrix code of claim 5 ;

identifying encoded information of the dot-matrix code based on the image, and obtaining a decoding key thereof;

correcting the encoded information of the dot-matrix code using error correction coding; and

when the correcting is successful, decoding corrected encoded information of the dot-matrix code using the decoding key to obtain embedded information corresponding to the dot-matrix code.

12. A dot-matrix code reading terminal, comprising a processor and a memory;

wherein the memory is configured to store a computer program;

wherein the processor is used to execute the computer program stored in the memory to cause the terminal to perform the method for reading the dot-matrix code of claim 11 .

13. A dot-matrix code system, comprising a dot-matrix code generating terminal and a dot-matrix code reading terminal;

wherein each of the dot-matrix code generating terminal and the dot-matrix code reading terminal comprise a memory configured to store a computer program, and a processor for executing the computer program stored in the memory to cause to respectively cause:

the dot-matrix code generating terminal to perform the method for generating the dot-matrix code of claim 5 ,

the dot-matrix code reading terminal to perform a method for reading the dot-matrix code, comprising:

obtaining an image comprising the dot-matrix code, wherein the dot-matrix code is generated based on the method for generating the dot-matrix code;

identifying encoded information of the dot-matrix code based on the image, and obtaining a decoding key thereof;

correcting the encoded information of the dot-matrix code using error correction coding; and

when the correcting is successful, decoding corrected encoded information of the dot-matrix code using the decoding key to obtain embedded information corresponding to the dot-matrix code.

14. A method for constructing a dot-matrix code, comprising:

constructing a plurality of information units arranged in an N×N matrix;

configuring the plurality of information units as information unit modules and/or marker unit modules, respectively; wherein each information unit is either one of the information unit modules or one of the marker unit modules, and the dot-matrix code consists of the information unit modules and the marker unit modules, wherein each information unit contains one and only one information point;

storing, in each of the information unit modules, a value based on a relative position of the information point within the corresponding information unit module; and

signaling identification information of the dot-matrix code through an arrangement of a subset of the information points, wherein the subset of the information points are contained in the marker unit modules; wherein, of the information points that are located in the marker unit modules, those representing the top boundary, the bottom boundary, the left boundary, or the right boundary of the dot-matrix code are located in centers of the marker unit modules, and a central marker unit module located in the center of the entire dot-matrix code contains an information point located in the upper left portion of the central marker unit module.

15. A method for constructing a dot-matrix code, comprising:

constructing a plurality of information units arranged in an N×N matrix;

configuring the plurality of information units as information unit modules and/or marker unit modules, respectively; wherein each information unit is either one of the information unit modules or one of the marker unit modules, and the dot-matrix code consists of the information unit modules and the marker unit modules, wherein each information unit contains one and only one information point;

storing, in each of the information unit modules, a value based on a relative position of the information point within the corresponding information unit module; and

signaling identification information of the dot-matrix code through an arrangement of a subset of the information points, wherein the subset of the information points are contained in the marker unit modules; wherein, of the information points that are located in the marker unit modules, those representing boundaries, not including vertices, of the dot-matrix code are located in centers of the marker unit modules, and those representing four vertices of the dot-matrix code are located in upper left portions of the marker unit modules.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2024
From: LI, RUOXI; CHEN, BIN
To: SIIA INFORMATION TECHNOLOGY (SHANGHAI)CO., LTD.
Reel/Frame 066985/0543 →
Priority Claims (1)
CN 2021100770957 · Jan 20, 2021 · national
Continuity (1)
Related Publication 20240086670A1 · Mar 14, 2024
References Cited (18)
US 5825947A · Sasaki · 1998 [cited by examiner]
US 5860679A · Fukuda · 1999 [cited by examiner]
US 5951056A · Fukuda · 1999 [cited by examiner]
US 8325063B2 · Dasgupta · 2012 [cited by applicant]
US 10410104B2 · Li · 2019 [cited by examiner]
US 11062108B2 · Bradley · 2021 [cited by examiner]
US 20030066896A1 · Pettersson · 2003 [cited by examiner]
US 20050145703A1 · Bryborn · 2005 [cited by examiner]
US 20050173533A1 · Pettersson · 2005 [cited by examiner]
US 20090078475A1 · Ericson · 2009 [cited by examiner]
US 20090207101A1 · Noguchi · 2009 [cited by examiner]
US 20090302114A1 · Ao · 2009 [cited by examiner]
US 20180341845A1 · Li · 2018 [cited by examiner]
US 20190332840A1 · Sharma · 2019 [cited by examiner]
CN 105894067A · 2016 [cited by applicant]
CN 106874819A · 2017 [cited by applicant]
CN 110689100A · 2020 [cited by applicant]
CN 111832680A · 2020 [cited by applicant]