Two-dimensional code, method and system for generating a two-dimensional code, and method and system for reading a two-dimensional code

The two-dimensional code system addresses the need for improved machine-readability by using distinct identification marks and bijective mappings, enabling flexible design and high data capacity through precise measurements.

JP7846234B2Active Publication Date: 2026-04-14AIRES INVESTMENT HOLDINGS PTE LTD
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
AIRES INVESTMENT HOLDINGS PTE LTD
Filing Date
2023-05-19
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing two-dimensional codes are limited by optical technologies and require a more convenient and efficient machine-readable format to replace them.

Method used

A two-dimensional code system utilizing optically readable distinct identification marks, including a reference identification mark and data identification marks, represented by distances and angular displacements, with asymmetrical or single symmetry, and bijective mappings for data representation.

Benefits of technology

Enables flexible design, efficient ink utilization, and high data capacity with unique data values through precise measurement of distances and angular displacements, overcoming limitations of traditional codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007846234000001
    Figure 0007846234000001
  • Figure 0007846234000002
    Figure 0007846234000002
  • Figure 0007846234000003
    Figure 0007846234000003
Patent Text Reader

Abstract

The two-dimensional code has a plurality of optically readable distinct identification marks arranged in a two-dimensional area, wherein the plurality of identification marks includes a reference identification mark and further includes at least one data identification mark, each representing at least one data value, wherein the at least one data value is represented by at least one distance between the reference identification mark and the at least one data identification mark, and also by at least one angular displacement of the at least one data identification mark relative to a reference direction, wherein the reference direction is based on at least one of the plurality of identification marks being asymmetric or including at most one line of symmetry.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Embodiments of the present invention relate to machine-readable two-dimensional (2D) codes such as two-dimensional images containing machine-readable data. More specifically, embodiments of the present invention relate to the representation form of two-dimensional codes, methods and systems for generating two-dimensional codes, and methods and systems for reading two-dimensional codes.

[0002] Since barcodes were introduced in the 20th century, two-dimensional codes have been used for the purpose of facilitating commercial transactions from manufacturing to sales. The development and progress of two-dimensional codes are inevitably closely related to the optical technologies available and widespread at that time. For example, in the case of barcodes, the development of scanners made them widely available. Since the introduction of barcodes, two-dimensional codes have been greatly improved. An example of such an improvement is the QR code developed by Denso Wave Incorporated, which can store much more data than ordinary barcodes. Today, there are a variety of two-dimensional codes designed for various purposes and utilizing colors and many other wide-ranging characteristics.

Summary of the Invention

[0003] Today, barcodes, QR codes, and other two-dimensional codes are still widely adopted. However, as optical technologies progress and improve day by day, there is an increasing need for a more convenient machine-readable code to replace them.

[0004] According to a first aspect of the present invention, a two-dimensional code is provided. This two-dimensional code has a plurality of optically readable distinct identification marks arranged in a two-dimensional area. The plurality of identification marks include a reference identification mark and further include at least one data identification mark each representing at least one data value. The above-mentioned at least one data value is represented by at least one distance between the above-mentioned reference identification mark and the above-mentioned at least one data identification mark, and also by at least one angular displacement of the above-mentioned at least one data identification mark with respect to the reference direction. The above reference direction is based on the first identification mark included in the above plurality of identification marks, which is asymmetrical or contains at most one line of symmetry. The above-mentioned at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned at multiple non-overlapping locations and representing a first data value and a second data value, respectively, wherein the second data value can be adjusted to represent the first data value by predetermined positional adjustments based on the difference between the above-mentioned multiple non-overlapping locations.

[0005] Various embodiments relating to the first aspect are described in claims 2 to 2. 9 It will be implemented as described.

[0006] According to a second aspect of the present invention, a method for generating a two-dimensional code is provided. This method involves examining multiple bijective maps between multiple combinations, each consisting of multiple code parameters, and multiple data values. The invention includes generating a two-dimensional code according to any of the various embodiments disclosed in this specification using the above-mentioned multiple bijective mappings for a given target data value. The above-mentioned at least one data value includes the above-mentioned target data value. The above-mentioned multiple code parameters include the above-mentioned distance and the above-mentioned angular displacement.

[0007] According to a third aspect of the present invention, an apparatus for generating a two-dimensional code is provided. This device includes at least one memory that stores multiple commands that the computer can execute, The invention comprises at least one processor connected in a communicative manner to at least one memory, and configured to perform a method according to any of the various embodiments disclosed in this specification by executing the above-mentioned plurality of instructions that the computer can execute.

[0008] According to a fourth aspect of the present invention, a computer-readable non-temporary recording medium stores a plurality of computer-executable instructions, which are configured to instruct at least one computer processor to perform a method according to any of the various embodiments disclosed in this specification.

[0009] According to a fifth aspect of the present invention, an apparatus for generating a two-dimensional code is provided. This device, At least one processor, At least one memory, A data value set module stored in at least one memory, which is executable by at least one processor to determine a plurality of data values ​​including a target data value, A code parameter module stored in at least one memory, each executable by the at least one processor to determine multiple combinations consisting of multiple code parameters, A mapping module stored in at least one memory, which is executable by at least one processor to verify multiple bijective mappings between multiple combinations of multiple code parameters and multiple data values, The device comprises a code generation module stored in at least one memory, which is executable by at least one processor to generate a two-dimensional code according to any of the various embodiments disclosed herein for the target data value using the plurality of bijective mappings. In this device, the target data value is the at least one data value, and the plurality of code parameters include the distance and the angular displacement.

[0010] According to a sixth aspect of the present invention, a method for reading a two-dimensional code is provided. This delicious, Obtain the image of the above 2D code, Perform image processing on the above image, Includes. Performing the above image processing means Based on the image above, detect multiple distinct identification marks, Based on the multiple identification marks detected above, confirm the reference identification mark and at least one data identification mark. The distance between the above-mentioned standard identification mark and at least one of the above-mentioned data identification marks is to be confirmed, This involves confirming the angular displacement of at least one data identification mark with respect to the reference direction, wherein the reference direction is asymmetrical or includes at most one line of symmetry, and the angular displacement is based on a first identification mark included in the plurality of identification marks. This includes identifying at least one data value included in the multiple data values ​​that corresponds to at least one data identification mark, based on the confirmed distance, the confirmed angular displacement, and multiple combinations, each consisting of multiple code parameters, and multiple bijections between the multiple data values. In this method, the above-mentioned multiple code parameters include the above-mentioned distance and the above-mentioned angular displacement. The above-mentioned at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned at multiple locations that do not overlap. To confirm that at least one data value is included in the above multiple data values ​​that corresponds to at least one of the above data identification marks, Confirm that either the first data identification mark or the second data identification mark has a predetermined positional adjustment, This includes confirming that the first data value and the second data value corresponding to the first data identification mark and the second data identification mark, respectively, are the same data value.

[0011] Various embodiments relating to the sixth aspect are described in claim 1 5 From 2 2 It will be implemented as described.

[0012] According to a seventh aspect of the present invention, a device for reading a two-dimensional code is provided. This device, A computer has at least one memory that stores multiple executable instructions, At least one processor communicably coupled to the at least one memory, the processor being configured to execute a method according to any of the various embodiments disclosed herein by executing the plurality of instructions executable by a computer.

[0013] According to an eighth aspect of the present invention, a computer-readable non-transitory recording medium stores a plurality of instructions executable by a computer, which are configured to cause a processor of at least one computer to execute a method according to any of the various embodiments disclosed herein.

[0014] According to a ninth aspect of the present invention, an apparatus for reading a two-dimensional code is provided. This apparatus includes at least one processor; at least one memory; an image scanning module stored in the at least one memory and executable by the at least one processor to obtain an image of a two-dimensional code according to any of the various embodiments disclosed herein; an image processing module stored in the at least one memory, detecting the plurality of distinct identification marks based on the image, identifying the reference identification mark and the at least one data identification mark based on the detected plurality of identification marks, identifying the distance between the reference identification mark and the at least one data identification mark, an image processing module executable by the at least one processor to identify an angular displacement of the at least one data identification mark relative to the reference direction; a mapping module stored in the at least one memory, the mapping module having a plurality of bijective mappings between a plurality of combinations each consisting of a plurality of code parameters and a plurality of data values; A decoding module stored in at least one memory, which is executable by at least one processor to verify, based on the plurality of bijective maps, at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark, It is equipped with. [Brief explanation of the drawing]

[0015] Various embodiments of the present invention will be described below with reference to the attached drawings.

[0016] [Figure 1] Figure 1A shows an example of a two-dimensional code, and Figure 1B shows a method for measuring distance and angular displacement that is applied to Figure 1A.

[0017] [Figure 2] Figure 2A shows an example of a two-dimensional code, and Figure 2B shows a method for measuring distance and angular displacement that is applied to Figure 2A.

[0018] [Figure 3] Figure 3A shows an example of a two-dimensional code, and Figure 3B shows a method for measuring distance and angular displacement that is applied to Figure 3A.

[0019] [Figure 4] Figure 4A shows an example of a two-dimensional code, and Figure 4B shows a method for measuring distance and angular displacement that is applied to Figure 4A.

[0020] [Figure 5] Figure 5A shows an example of a two-dimensional code, and Figure 5B shows a method for measuring distance and angular displacement that is applied to Figure 5A.

[0021] [Figure 6] Figure 6A shows an example of a two-dimensional code, and Figure 6B shows a method for measuring distance and angular displacement that is applied to Figure 6A.

[0022] [Figure 7] Figure 7A shows an example of a two-dimensional code, and Figure 7B shows a method for measuring distance and angular displacement that is applied to Figure 7A.

[0023] [Figure 8] Figure 8 shows an example of a two-dimensional code. [Figure 9] Figure 9 shows an example of a two-dimensional code. [Figure 10] Figure 10 shows an example of a two-dimensional code.

[0024] [Figure 11] Figure 11A shows an example of a two-dimensional code, and Figure 11B shows a method for measuring distance and angular displacement that is applied to Figure 11A.

[0025] [Figure 12A] Figure 12A is a flowchart illustrating the general method for generating a two-dimensional code.

[0026] [Figure 12B] Figure 12B shows a non-restrictive example of multiple bijective maps.

[0027] [Figure 12C] Figure 12C is a schematic diagram showing a device that generates two-dimensional codes.

[0028] [Figure 13A] Figure 13A is a flowchart illustrating the general method for reading a two-dimensional code.

[0029] [Figure 13B] Figure 13B is a schematic diagram showing a device for reading two-dimensional codes. [Modes for carrying out the invention]

[0030] The following description provides numerous specific details of the present invention to enable a full understanding of various exemplary embodiments of the invention; however, it will be apparent to those skilled in the art that embodiments of the present invention can be realized even if some or all of such details are omitted. It should be understood that the terminology used in this specification is adopted solely for the purpose of describing some of the specific embodiments and does not limit the scope of the invention. Reference numerals or numbers used in common in some of the accompanying drawings represent the same or similar functions or features. Furthermore, arrows in the accompanying drawings indicating directions between multiple features indicate, based on the description of the embodiments, the transfer of data or information between those features, but are not limited to them. In other words, while it is conceivable that data or information transfers in the opposite direction to those indicated by the arrows, and / or in directions not indicated by the arrows, these are omitted from the illustrations to avoid obscuring the description of the embodiments.

[0031] In the following description, the various embodiments described for any of the multiple devices or methods are equally applicable to any other multiple devices or methods. Similarly, the various embodiments described for the devices are equally applicable to the methods, and vice versa.

[0032] Furthermore, in the following description, the features described for one embodiment or example are equally applicable to the same or similar features in other embodiments or examples. Also, in the following description, the features described for one embodiment or example are equally applicable to other embodiments or examples, even if not explicitly mentioned. Additionally, any additions, and / or various combinations, and / or alternative forms, relating to a certain feature described for one embodiment or example are equally applicable to the same or similar features in other embodiments or examples.

[0033] It should be noted that in this specification, when the articles "a," "an," and "the" are used with a single feature or element, it also refers to cases where there is one or more such features or elements. Furthermore, the term "and / or" includes all possible combinations of one or more related features or elements. In addition, where the terms "comprising," "including," "having," "involving," and related terms are used in the following specification and claims, these terms are intended to be open-ended, meaning that there may be multiple additional features or elements beyond those listed. Moreover, identifiers such as "first," "second," and "third" in this specification are used merely as labels and are not intended to impose quantitative requirements on their subjects, nor should they be interpreted as specifying a relative order or temporal sequence between multiple limiting elements.

[0034] Furthermore, the terms “indicium, indicia” and related terms may refer to multiple images, texts, numbers, symbols, shapes, etc. The terms “coupled” and related terms may refer to coupling in an operational sense, or to direct physical connection or coupling. Therefore, when two devices are “coupled,” they may be directly coupled or indirectly coupled through one or more devices. In another example, if two indiciums are “coupled,” they may be connected to each other or touching each other. The various meanings that can be implied by “coupling” in this disclosure will be understandable to those skilled in the art from the above definitions.

[0035] (QR code) According to various embodiments of the present invention, a machine-readable two-dimensional code is provided. This two-dimensional code has a plurality of optically readable distinct identification marks arranged in a two-dimensional region. The plurality of identification marks include a reference identification mark and further include at least one data identification mark, each representing at least one data value. In other words, two or more data identification marks may each represent two or more data values. The at least one data value is represented by at least one distance between the reference identification mark and the at least one data identification mark, and also by at least one angular displacement of the at least one data identification mark with respect to the reference direction. The reference direction is based on at least one identification mark among the plurality of identification marks (hereinafter sometimes referred to as the "first identification mark included in the plurality of identification marks") which is asymmetrical or includes at most one line of symmetry.

[0036] In some embodiments, the first identification mark included in the plurality of identification marks may be based on the reference identification mark or one of the at least one data identification mark. In some other embodiments, the first identification mark included in the plurality of identification marks may be based on a boundary identification mark.

[0037] In some embodiments, the at least one data identification mark includes a color, and the at least one data value is further represented by the color of the at least one data identification mark. For example, a plurality of data values ​​represented by a particular data identification mark vary depending on the color of that data identification mark.

[0038] In some embodiments, the at least one data identification mark has dimensions that increase or decrease in a constant ratio relative to a reference size, and the at least one data value is further represented by the dimensions of the at least one data identification mark that increase or decrease in a constant ratio. For example, a plurality of data values ​​represented by a particular data identification mark vary depending on the dimensions of that data identification mark.

[0039] In some embodiments, the at least one data value described above is not binary. The at least one data value may include at least one selected from the group consisting of integers, natural numbers, positive integers, and real numbers. A data value that is not binary may refer to a data value to which the number of elements in the set of data values ​​to which that data value belongs is not a power of 2. Examples of values ​​that are powers of 2 include 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, etc.

[0040] In some embodiments, the two-dimensional code may further include at least one boundary identification mark that defines the readable area of ​​the code.

[0041] In some embodiments, the at least one boundary identification mark is coupled (e.g., connected) to either the reference identification mark or the data identification mark, or both. In some other embodiments, the at least one boundary identification mark does not need to be coupled (e.g., connected) to the reference identification mark.

[0042] In some embodiments, the at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned in overlapping locations (e.g., the same location or substantially the same location) and representing a first data value and a second data value, respectively, which are the same value. The first data identification mark and the second data identification mark are a plurality of distinct identification marks that are optically identifiable even in the overlapping locations.

[0043] In some embodiments, the at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned at multiple non-overlapping locations and representing a first data value and a second data value, respectively. The first data value or the second data value is adjustable by a predetermined position adjustment. The predetermined position adjustment is based on the displacement (e.g., distance and / or angular displacement) between the multiple non-overlapping locations. As a result, the first data value and the second data value can become the same value by the predetermined position adjustment.

[0044] The various embodiments described above may be implemented individually, or in combination with any other embodiment among the various embodiments, or with any of the other various embodiments.

[0045] Next, we refer to Figures 1A, 1B, 2A, 2B, 3A, 3B, 4A, 4B, 5A, 5B, 6A, 6B, 7A, 7B, 8, 9, 10, 11A, and 11B, which show several non-limiting examples of two-dimensional codes according to various embodiments.

[0046] Figure 1A shows an example of a two-dimensional code including a reference identification mark "-" and a data identification mark "*". Figure 1B is a diagram based on Figure 1A, further showing the distance D1 between the reference identification mark and the data identification mark, and the angular displacement Θ1 of the data identification mark with respect to the reference direction R. Here, the reference direction R is based on the reference identification mark. For example, the reference direction R is a direction perpendicular (i.e., orthogonal) to at least a predetermined portion of the reference identification mark.

[0047] The examples shown in Figures 2A and 2B are similar to those in Figures 1A and 1B, respectively, but differ in that they also have boundary identification marks.

[0048] Figure 3A shows an example of a two-dimensional code including a reference identification mark "-" and first and second data identification marks "*" and "+". Figure 3B is a diagram based on Figure 3A, further showing the distance D1 between the reference identification mark and the first data identification mark, the distance D2 between the reference identification mark and the second data identification mark, the angular displacement Θ1 of the first data identification mark with respect to the reference direction R, and the angular displacement Θ2 of the second data identification mark with respect to the reference direction R. Here, the reference direction R is based on the reference identification mark. For example, the reference direction is a direction perpendicular (i.e., orthogonal) to at least a predetermined portion of the reference identification mark.

[0049] The examples shown in Figures 4A and 4B are similar to those in Figures 3A and 3B, respectively, but differ in that they also have boundary identification marks.

[0050] Figure 5A shows an example of a two-dimensional code including a reference identification mark "-" and first and second data identification marks "*" and "+". Figure 5B is a diagram that further shows, based on Figure 5A, the distance D1 between the reference identification mark and the first data identification mark, the distance D2 between the reference identification mark and the second data identification mark, and the angular displacement Θ3 of the first data identification mark with respect to the reference direction. Here, the reference direction is based on the first or second data identification mark. For example, the reference direction is based on the straight-line distances D1 and D2.

[0051] The examples shown in Figures 6A and 6B are similar to those in Figures 5A and 5B, respectively, but differ in that they also have boundary identification marks.

[0052] Figure 7A is a diagram showing an example of a two-dimensional code that includes a boundary identification mark represented by a frame, a reference identification mark represented by a direction indicator mark provided on the frame (for example, at the upper right corner of the frame), and a data identification mark "*". Here, the direction indicator mark is represented by a triangular symbol. The reference identification mark is combined with the boundary identification mark. Figure 7B is a diagram based on Figure 7A that further shows the distance D7 between a predetermined portion of the reference identification mark and the data identification mark, and the angular displacement Θ7 of the data identification mark with respect to the reference direction R. Here, the reference direction R is based on the reference identification mark (for example, the direction indicator mark provided at the upper right corner of the frame). As shown in Figure 7B, this direction indicator mark may be predetermined to indicate the reference direction as the vertical direction. Alternatively, this direction indicator mark may be predetermined to define the reference direction in a different way. For example, the direction indicator mark may define the reference direction as the horizontal direction to the right in Figure 7B, or as the horizontal direction to the left in Figure 7B. Therefore, in those cases, the angular displacement Θ7 will be different.

[0053] In Figure 7A, the reference identification mark and the boundary identification mark are combined. For example, the reference identification mark and the boundary identification mark are presented as a unified or connected image such that parts of them touch and / or overlap. In some other examples, the reference identification mark and the boundary identification mark do not have to be combined. For example, the reference identification mark and the boundary identification mark may be presented as multiple separate images or multiple unconnected images without touching or overlapping each other.

[0054] Figure 8 shows an example of a two-dimensional code similar to Figure 2A, but differs in that the data identification mark is configured to have dimensions that increase or decrease in a certain ratio relative to a predetermined base size. For example, the base size may be a size based on the typical dimensions of the same data identification mark shown in Figure 2A. Here, the data identification mark "*" shown in Figure 8 is twice the base size (e.g., dimensions) of the data identification mark "*" shown in Figure 2A. It should be understood that in some other examples, the dimensions that increase or decrease in a certain ratio may be larger or smaller than the base size.

[0055] Figure 9 shows an example of a two-dimensional code similar to Figure 2A, but differs in that the data identification mark is configured to have color. For example, the data identification mark may be represented by a predetermined color, or it may be contained within a region of a predetermined color. This color may be the same as the standard identification mark and / or other data identification marks, or it may be a different color. Here, the term "color" may refer to a color that is neither white nor black, nor a color representing a shade of white or black.

[0056] Figure 10 shows an example of a two-dimensional code including a standard identification mark "-" and first, second, and third data identification marks "O", "+", and "I". The first, second, and third data identification marks "O", "+", and "I" are separate marks that overlap each other. The positions where these marks overlap represent the same data value, but the third identification mark "I" is hidden because the second identification mark "+" is superimposed on it, and is not optically identifiable. On the other hand, the overlapping first and second identification marks "O" and "+" are visible and optically identifiable. Here, the first and second data identification marks "O" and "+" can be correctly represented and correctly read. This example shows that two or more separate identification marks can be visible and optically identifiable while representing the same data value, but this depends on the design of those identification marks.

[0057] Figures 11A and 11B show an example of a two-dimensional code including a reference identification mark "-" and first, second, and third data identification marks "O", "+", and "p". Similar to Figure 10, the first and second data identification marks "O" and "+" are separate marks that overlap each other to represent the same data value. On the other hand, the third data identification mark "p" is positioned separately from the other data identification marks, and because of its different position, it should represent a different data value. However, according to an embodiment of the present invention, by predetermined positional adjustment (e.g., angular offset), the third data identification mark can represent the same data value as the first and second identification marks. In other words, a certain identification mark (e.g., "p") can be predefined as an identification mark whose data value is adjusted in a predetermined manner to give an intended data value.

[0058] In the example shown in Figure 10, it is impossible to provide an optically identifiable third data identification mark that overlaps with the first and second data identification marks at the same position (for example, at a distance of 5 mm from the reference identification mark and at a 45-degree angle). In other words, it is not possible to provide three data identification marks with the same data value at the same position. In contrast, in Figures 11A and 11B, by providing two data identification marks at the same position (for example, at a distance of 5 mm from the reference identification mark and at a 45-degree angle) and providing another data identification mark at a different position (for example, at a distance of 5 mm from the reference identification mark and at a 50-degree angle), it becomes possible to provide three data identification marks with the same data value. That is, in Figures 11A and 11B, by performing a predetermined position adjustment, it becomes possible for one data identification mark to represent the same data value as the other two data identification marks.

[0059] It should be understood that various modifications can be made to each aspect of each example shown in the drawings referenced in the above description. These non-limiting modifications may be applied individually or in combination with any other modifications.

[0060] For example, the above-mentioned standard identification marks and / or data identification marks may be represented by other symbols or images. Examples of other symbols or images include squares, circles, rectangles, triangles, rhombuses, pentagons, hexagons, octagons, cubes, cones, rhombuses, stars, arrows, animals, trees, plants, food, buildings, logos, mountains, teapots, tea leaves, coffee beans, and so on.

[0061] For example, the boundary identification mark described above may be represented by other shapes or forms. Other shapes or forms include geometric shapes, non-geometric shapes, partially closed frames, open frames, and combinations of multiple symbols or images, as in the various examples described above. For example, the boundary identification mark described above may be represented by other contour lines. Other contour lines include, for example, solid lines, dotted lines, and combinations of multiple symbols or images, as in the various examples described above.

[0062] (Generating a 2D code) Next, refer to Figure 12A. Figure 12A is a schematic flowchart illustrating the method for generating a two-dimensional code.

[0063] In block 121, multiple code parameters may be determined. Examples of these multiple code parameters include, but are not limited to, the distance between the reference identification mark and the data identification mark, the angular displacement of the data identification mark with respect to the reference direction, the size of the data identification mark with respect to the reference size, and the color of the data identification mark.

[0064] In block 122, a set or range of multiple data values ​​may be determined. A set or range of multiple data values ​​(i.e., a set of data values) refers to all possible sets of data values ​​that can be represented by the two-dimensional code and can be determined according to the desired application.

[0065] In block 123, multiple bijective maps can be observed between multiple combinations, each consisting of multiple code parameters, and multiple data values. In a bijective map, each combination of multiple code parameters is paired with exactly one element in the set of multiple data values, and each element in the set of multiple data values ​​is paired with exactly one combination of multiple code parameters.

[0066] When pairing elements between a set of elements X and a set of elements Y with the aim of a bijection, the following properties must be maintained, for example. 1. Each element belonging to X must be paired with at least one element belonging to Y. 2. No element belonging to X may be paired with two or more elements belonging to Y. 3. Each element belonging to Y must be paired with at least one element belonging to X. 4. No element belonging to Y shall be paired with two or more elements belonging to X.

[0067] An example of a bijective mapping is shown in Figure 12B. This is merely an example and is not intended to be particularly limiting. In this example, the above code parameters include distance, angular displacement, and the size of the data identification mark, and the set of data values ​​defines the range of possible target data values.

[0068] In block 124, a target data value is provided for the code to be generated. This target data value is one of several values ​​included in the set of data values ​​mentioned above.

[0069] In block 125, a two-dimensional code according to one of the embodiments disclosed in this specification is generated for the target data value using the above bijective mapping.

[0070] Next, refer to Figure 12C. Figure 12C is a schematic diagram showing the configuration of a device for generating two-dimensional codes. This device comprises at least one processor, at least one memory that stores a plurality of computer-executable commands and is connected to the at least one processor in a manner that enables communication, and various modules stored in the at least one memory, which are described below.

[0071] The data value set module may be stored in at least one memory and may be executable by at least one processor to determine a plurality of data values ​​(e.g., a set or range of a plurality of data values) including a target data value.

[0072] The code parameter modules may be stored in at least one memory and may be executable by at least one processor such that each determines multiple combinations consisting of multiple code parameters.

[0073] The mapping module may be stored in at least one memory and may be executable by at least one processor to verify multiple bijective mappings between multiple combinations of multiple code parameters and multiple data values.

[0074] The code generation module may be stored in at least one memory and may be executable by at least one processor to generate a two-dimensional code according to any embodiment disclosed in this specification for the target data value using the plurality of bijective mappings, where the target data value is at least one data value.

[0075] The device may further include a network interface for facilitating smooth communication between the device and other communication devices, scanners, and / or computers, and an input / output interface for receiving input from other communication devices and / or computers or manual input and outputting it to other communication devices, computers, display devices, and / or printers.

[0076] (Reading a QR code) Next, refer to Figure 13A. Figure 13A is a schematic flowchart of a method for reading a two-dimensional code, which may be one of the multiple embodiments disclosed in this specification.

[0077] In block 131, an image of the two-dimensional code is acquired. This step can be performed by an image scanning module, such as an optical scanner or an optical camera.

[0078] In block 132, image processing is performed on the acquired image. Specifically, multiple distinct identification marks are detected from the acquired image. Based on the multiple identification marks detected in this way, a reference identification mark and at least one data identification mark are confirmed, the distance between the reference identification mark and the at least one data identification mark is confirmed, and the angular displacement of the at least one data identification mark with respect to the reference direction is confirmed. The reference direction is based on a first identification mark included in the multiple identification marks, which is asymmetrical or contains at most one line of symmetry.

[0079] In block 133, at least one data value among the multiple data values ​​corresponding to at least one data identification mark is identified based on the confirmed distance, the confirmed angular displacement, and multiple combinations, each consisting of multiple code parameters, and multiple data values. Here, the multiple code parameters include the distance and the angular displacement.

[0080] In some embodiments, the first identification mark included in the plurality of identification marks is either the reference identification mark or one of the at least one data identification marks.

[0081] In some embodiments, block 132 further includes checking the color of the at least one data identification mark, where the plurality of code parameters further include the color of the at least one data identification mark. Thus, in block 134, the performance of the checking step further depends on the color checked in block 132.

[0082] In some embodiments, block 132 further includes verifying the dimensions of at least one data identification mark, which increase or decrease in a constant ratio relative to a reference size, where the plurality of code parameters include the dimensions of at least one data identification mark, which increase or decrease in a constant ratio. Thus, in block 134, the performance of the verification step further depends on the dimensions that increase or decrease in a constant ratio, as verified in block 132.

[0083] In some embodiments, the at least one data identification mark includes a first data identification mark and a second data identification mark positioned to overlap each other. Thus, in block 134, the verification step includes verifying that the first data value and the second data value are the same data value.

[0084] In some embodiments, the at least one data identification mark includes a first data identification mark and a second data identification mark positioned so as not to overlap each other. Therefore, in block 134, the verification step includes verifying that either the first data identification mark or the second data identification mark has a predetermined positional adjustment, and verifying that the first data value and the second data value corresponding to the first data identification mark and the second data identification mark, respectively, are the same data value. Here, the plurality of code parameters include a predetermined positional adjustment based on a misalignment between two predetermined identification marks.

[0085] Next, refer to Figure 13B. Figure 13B is a schematic diagram showing the configuration of a device for reading two-dimensional codes. This device comprises at least one processor, at least one memory that stores a plurality of computer-executable commands and is connected to the at least one processor in a manner that enables communication, and various modules, which are described below, stored in the at least one memory.

[0086] The image scanning module may be stored in at least one memory and may be executable by the at least one processor to acquire an image of a two-dimensional code, which may be any one of the multiple embodiments disclosed in this specification.

[0087] The image processing module may be stored in at least one of the above-mentioned memories and may be executable by the at least one of the above-mentioned processors to perform the image processing described in detail below. Based on the image thus acquired, a plurality of distinct identification marks are detected. Based on the plurality of identification marks thus detected, a reference identification mark and at least one data identification mark are confirmed. The distance between the reference identification mark and the at least one data identification mark is confirmed. The angular displacement of the at least one data identification mark with respect to the reference direction is confirmed.

[0088] A mapping module may be stored in at least one of the above-mentioned memory locations and may have multiple combinations of multiple code parameters and multiple bijective mappings between multiple data values.

[0089] The decoding module may be stored in at least one memory and may be executable by at least one processor to verify or decode at least one data value among the plurality of data values ​​corresponding to at least one data identification mark, based on the plurality of bijective mappings.

[0090] The device may further include a network interface for facilitating smooth communication between the device and other communication devices and / or computers, and an input / output interface for receiving input from other communication devices, scanners and / or computers or manual input, and outputting it to other communication devices, computers, display devices and / or printers.

[0091] According to various embodiments of the present invention, for example, the following effects can be obtained. However, the effects described below are merely examples and are not limited to them.

[0092] The two-dimensional codes according to various embodiments of the present invention utilize the distance between multiple identification marks and the angular displacement between multiple identification marks for the purpose of representing data. This concept enables the creation of a wide variety of two-dimensional codes in terms of design, functionality, and efficient ink utilization. For example, since the number of elements to be used or the number of identification marks to be used can be specified in advance, the design of the two-dimensional code can be individually specified. In other words, the standard identification mark and / or one or more data identification marks can be represented by various symbols and / or images. For example, the identification mark "+" may be replaced with an image of the sun, or the identification marks "*", "-", and "^" may be replaced with images of multiple planets. This means that the data representation in the two-dimensional codes according to various embodiments of the present invention is not constrained by standard dimensions such as the numerous black and white dots that constitute a QR code, nor is it constrained by the multiple parallel lines with variable widths and spacing that constitute a barcode. On the other hand, QR codes and barcodes require a variable number of dots or lines that cannot be individually specified. For example, in the two-dimensional codes according to various embodiments of the present invention, only a small area requires printing, whereas in QR codes and barcodes, approximately 50% of the code area requires printing, and the remaining approximately 50% does not. This is because each pixel has a 50 / 50 chance of being printed or not.

[0093] Optical techniques for measuring distance and angular displacement can be used with multiple cameras, such as those found in smartphones equipped with multiple cameras. However, when using distance and angular displacement between multiple identification marks to represent data, a problem arises: a consistent logical system may be required for data representation. To address this problem, various embodiments of the present invention apply the mathematical concept of performing a bijective mapping between various possible combinations of multiple parameters and multiple data values. This ensures that a unique data value is obtained by reading each two-dimensional code, and once a unique data value is obtained, a unique two-dimensional code image that can be read by a scanner is undoubtedly obtained.

[0094] One problem that arises when using the distance and angular displacement between multiple identification marks is the arrangement of the data. This problem can be seen, for example, in a two-dimensional code that has multiple identical data identification marks. In this case, it is possible to measure the distance between those data identification marks from a reference identification mark, but it is impossible to create an arrangement of that data. This problem can be solved if the identification marks are all different. In that case, it becomes possible to specify the arrangement of the data by identifying these separate identification marks. To address this problem, various embodiments of the present invention use separate reference identification marks and data identification marks as a solution to the problem of creating a data arrangement.

[0095] One problem associated with reading two-dimensional codes is the need to define a reference direction in order to measure the angular displacement between a reference identification mark and multiple data identification marks. According to the present invention, by using multiple asymmetrical identification marks or multiple identification marks having at most one line of symmetry, it becomes possible to define a reference direction during image processing from the reference identification mark or one of the data identification marks.

[0096] The data capacity of a two-dimensional code depends on various factors, such as the accuracy of measuring distance and angular displacement between multiple identification marks. For example, if a measurement accuracy of 1 mm and 1 degree is achieved, a circular scanning area with a radius of 1 cm can generate 10 × 360 possible data values. This is equivalent to having 3600 possible data values ​​per data identification mark. If n identification marks are used, the total number of possible data values ​​can be approximately 360 to the power of n. However, the data capacity can be limited by the maximum number of distinct identification marks that the two-dimensional code can contain. This depends on various factors such as the design of the identification marks, the image processing method and its efficiency for identifying various identification marks, and the number of parameters such as color and dimensions that increase or decrease at a certain ratio. To address this potential problem, one method to maximize the maximum number of identification marks that the scanning area can contain is to introduce multiple distinct identification marks with predetermined positional adjustments. Figure 10 illustrates the constraints when overlapping multiple different identification marks at the same position, and Figures 11A and 11B show embodiments that introduce additional identification marks with predetermined positional adjustments to overcome the constraints shown in Figure 10. To maximize the use of predetermined positional adjustments and improve the maximum data capacity of the two-dimensional code, it would be efficient to have a comprehensive list of multiple separate data identification marks that specify the full range of possible positional adjustments, such as distance, angular displacement, or other characteristics.

[0097] It should be understood that the attached flowchart, which shows the logical flow of processing, is an example illustrating a methodology for carrying out a novel embodiment of the present invention. Although one or more methodologies illustrated in the drawings attached to this application are described in this specification as consisting of a series of steps for the sake of simplicity, it will be understood by those skilled in the art that the methodology is not limited to the order in which these steps are performed. Therefore, some steps may be performed in an order different from the order shown in the drawings attached to this application and described in this specification, and / or in parallel with other steps. It will also be understood by those skilled in the art that a methodology can be represented as a series of interrelated states or events, such as a state transition diagram. Furthermore, not all steps illustrated in the above methodology are necessary to realize a novel embodiment.

[0098] These flowcharts, which represent the logical flow of processing, can be implemented in the form of software, firmware, hardware, or a combination thereof. In embodiments using software and firmware, the logical flow of processing can be implemented in the form of a number of computer-executable instructions or codes stored on a computer-readable non-temporary recording medium, such as an optical recording medium, a magnetic recording medium, or a semiconductor recording medium, or a machine-readable recording medium. These computer-executable instructions are configured to command the processor of at least one computer to execute the logical flow of processing. However, the various embodiments described above are not limited to these forms.

[0099] Furthermore, it should be understood that the various devices disclosed in this specification are merely examples of devices that implement novel embodiments of the present invention. Those skilled in the art will also understand that these devices are not limited to their components disclosed in this specification. Any of the devices disclosed in this specification may comprise at least one memory and at least one processor connected to the memory in a communicative manner. The at least one processor may be any type of computer processor. Examples of computer processors include microprocessors, embedded processors, digital signal processors (DSPs), network processors, multicore processors, single-core processors, and other devices configured to implement the flowcharts, algorithms, processes, or operations disclosed in this specification by executing code or computer-executable instructions. The at least one memory may be a computer-readable non-temporary recording medium or a machine-readable recording medium that stores or contains a plurality of the code or computer-executable instructions. Examples of such recording media include, but are not limited to, random access memory (RAM), read-only memory (ROM), logic blocks of field-programmable gate arrays (FPGAs), write-and-erase read-only memory (EPROM), and electrically write-and-erase read-only memory (EEPROM).

[0100] It should be understood that the various embodiments and features disclosed in this specification are merely examples and are not limiting. Considering the specific aspects and implementations of the present invention disclosed above, it will be obvious to those skilled in the art that numerous other embodiments can be devised. Furthermore, certain terminology has been adopted in this specification for the purpose of clear explanation and does not limit the scope of the embodiments of the present invention disclosed herein.

Claims

1. A two-dimensional code having multiple optically readable, distinct identification marks arranged in a two-dimensional region, The plurality of identification marks include a reference identification mark, and each further includes at least one data identification mark, each representing at least one data value. The at least one data value is represented by at least one distance between the reference identification mark and the at least one data identification mark, and also by at least one angular displacement of the at least one data identification mark with respect to the reference direction. The aforementioned reference direction is based on a first identification mark included in the plurality of identification marks, which is asymmetrical or includes at most one line of symmetry. The at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned at multiple non-overlapping locations and representing a first data value and a second data value, respectively, wherein the second data value is adjustable to represent the first data value by predetermined positional adjustments based on the difference between the multiple non-overlapping locations. A two-dimensional code.

2. The first identification mark included in the plurality of identification marks is either the reference identification mark or one of the at least one data identification marks. The two-dimensional code according to claim 1.

3. The at least one data identification mark includes a color, and the at least one data value is further represented by the color of the at least one data identification mark. The two-dimensional code according to claim 1.

4. The at least one data identification mark has dimensions that increase or decrease in a constant ratio relative to a reference size, and the at least one data value is further represented by the dimensions of the at least one data identification mark that increase or decrease in a constant ratio. The two-dimensional code according to claim 1.

5. At least one of the aforementioned data values ​​is not binary. The two-dimensional code according to claim 1.

6. The aforementioned at least one data value includes at least one selected from the group consisting of integers, natural numbers, positive integers, and real numbers. The two-dimensional code according to claim 5.

7. The identification mark includes at least one boundary identification mark that defines the readable area of ​​the code. The two-dimensional code according to claim 1.

8. The at least one boundary identification mark is combined with the reference identification mark. The two-dimensional code according to claim 7.

9. The aforementioned at least one data identification mark includes a third data identification mark and a fourth data identification mark, which are positioned in overlapping locations and represent a third data value and a fourth data value that are the same value, respectively. The two-dimensional code according to claim 1.

10. A method for generating a two-dimensional code, This involves verifying multiple bijective mappings between multiple combinations, each consisting of multiple code parameters, and multiple data values, A method comprising generating the two-dimensional code described in any one of claims 1 to 9 using the plurality of bijective mappings for a given target data value, The at least one data value includes the target data value, The aforementioned plurality of code parameters include the distance and the angular displacement, How to generate a 2D code.

11. A device that generates two-dimensional codes, A computer has at least one memory that stores multiple executable instructions, At least one processor connected in a communicative manner to the at least one memory, configured to perform the method described in claim 10 by executing the plurality of commands that the computer can execute, Equipped with, A device that generates two-dimensional codes.

12. A computer-executable set of instructions, configured to instruct at least one computer processor to perform the method described in claim 10, which stores a plurality of computer-executable instructions. A non-temporary recording medium that can be read by a computer.

13. A device that generates two-dimensional codes, At least one processor, At least one memory, A data value set module stored in at least one memory, which is executable by at least one processor to determine a plurality of data values ​​including a target data value, A code parameter module stored in at least one memory, each of which is executable by the at least one processor to determine a plurality of combinations consisting of a plurality of code parameters, A mapping module stored in at least one memory, which is executable by at least one processor to verify multiple bijective mappings between multiple combinations of multiple code parameters and multiple data values, A code generation module stored in at least one memory, wherein at least one processor is capable of generating the two-dimensional code according to any one of claims 1 to 9 for the target data value using the plurality of bijective mappings, Equipped with, The target data value is the at least one data value. The aforementioned plurality of code parameters include the distance and the angular displacement, A device that generates two-dimensional codes.

14. A method for reading a 2D code, To obtain the image of the aforementioned two-dimensional code, Performing image processing on the aforementioned image, In a method including, Performing the aforementioned image processing means Based on the aforementioned image, multiple distinct identification marks are detected, Based on the multiple identification marks detected, the reference identification mark and at least one data identification mark are confirmed. Confirm the distance between the aforementioned reference identification mark and the at least one data identification mark, The process involves confirming the angular displacement of at least one data identification mark with respect to a reference direction, wherein the reference direction is asymmetrical or includes at most one line of symmetry, and the angular displacement is based on a first identification mark included in the plurality of identification marks. This includes verifying at least one data value included in the plurality of data values ​​that corresponds to at least one data identification mark, based on the verified distance, the verified angular displacement, and a plurality of combinations, each consisting of a plurality of code parameters, and a plurality of bijections between the plurality of data values, The aforementioned multiple code parameters include the distance and the angular displacement, The aforementioned at least one data identification mark includes a first data identification mark and a second data identification mark, each positioned at multiple locations that do not overlap. Confirming the at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark is, Confirm that either the first data identification mark or the second data identification mark has a predetermined position adjustment, This includes confirming that the first data value and the second data value corresponding to the first data identification mark and the second data identification mark, respectively, are the same data value. How to read a QR code.

15. The first identification mark included in the plurality of identification marks is either the reference identification mark or one of the at least one data identification marks. The method according to claim 14.

16. A method further comprising checking the color of at least one data identification mark, The plurality of code parameters include the color of at least one data identification mark, Confirming the at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark is further based on the confirmed color of the at least one data identification mark. The method according to claim 14.

17. A method further comprising confirming that the dimensions of at least one data identification mark increase or decrease by a certain ratio with respect to a reference size, The aforementioned multiple code parameters include dimensions that increase or decrease by a certain ratio, Confirming the at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark is further based on the confirmed and increasing / decreasing dimensions of the at least one data identification mark at a constant ratio. The method according to claim 14.

18. At least one of the aforementioned data values ​​is not binary. The method according to claim 14.

19. The aforementioned at least one data value includes at least one selected from the group consisting of integers, natural numbers, positive integers, and real numbers. The method according to claim 18.

20. The plurality of identification marks include at least one boundary identification mark that defines the readable area of ​​the code. The method according to claim 14.

21. The at least one boundary identification mark is combined with the reference identification mark. The method according to claim 20.

22. The aforementioned at least one data identification mark includes a third data identification mark and a fourth data identification mark, which are positioned to overlap each other. Confirming the at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark includes confirming the third data value and the fourth data value, which correspond to the third data identification mark and the fourth data identification mark, respectively, and are the same data value. The method according to claim 14.

23. A device that reads two-dimensional codes, A computer has at least one memory that stores multiple executable instructions, At least one processor connected in a communicative manner to the at least one memory, configured to perform the method according to any one of claims 14 to 22 by executing the plurality of computer-executable commands, Equipped with, A device that reads two-dimensional codes.

24. A computer-executable set of instructions, configured to instruct at least one computer processor to perform the method described in any one of claims 14 to 22, which stores a plurality of computer-executable instructions. A non-temporary recording medium that can be read by a computer.

25. A device that reads two-dimensional codes, At least one processor, At least one memory, An image scanning module stored in at least one memory, which is executable by at least one processor to acquire an image of the two-dimensional code described in any one of claims 1 to 9, The image processing module stored in at least one memory, Based on the aforementioned image, the plurality of separate identification marks are detected, Based on the multiple identification marks detected, the reference identification mark and the at least one data identification mark are confirmed. The distance between the reference identification mark and the at least one data identification mark is confirmed, An image processing module, executable by the at least one processor, to confirm the angular displacement of the at least one data identification mark with respect to the reference direction, A mapping module stored in at least one memory, each having multiple combinations of multiple code parameters and multiple bijective mappings between multiple data values, A decoding module stored in at least one memory, which is executable by at least one processor to verify, based on the plurality of bijective mappings, at least one data value included in the plurality of data values ​​corresponding to the at least one data identification mark, Equipped with, A device that reads two-dimensional codes.

Citation Information

Patent Citations

  • Water cooling heat accumulating type drink cooling device

    JP1981085677A

  • Processing method, apparatus, program and computer- readable recording medium about estimation of grid orientation, magnification, parallel displacement and modulation

    JP2007151082A

  • Constellation detection

    JP2009153127A

  • JPP3771252B

  • Traceability marks

    US20080240614A1