Two-dimensional code and code reading system
The two-dimensional code with a detection pattern and markers addresses the challenge of balancing information capacity and reading accuracy, ensuring precise and efficient decoding of multiple codes without space constraints.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ASTERISK INC
- Filing Date
- 2025-02-03
- Publication Date
- 2026-07-02
AI Technical Summary
Conventional QR Codes face challenges in balancing information capacity with reading accuracy and space utilization, often requiring larger sizes or smaller modules, which can compromise display areas and reading precision.
A two-dimensional code with a detection pattern frame and markers at corners, along with a code section inside the detection pattern, allows for modularized modules arranged sequentially, enhancing reading accuracy without space constraints.
The solution maintains high reading accuracy without compressing the data area, enabling simultaneous detection of multiple codes and reducing the need for larger print sizes or smaller modules, thus improving operational efficiency.
Smart Images

Figure JP2025003483_02072026_PF_FP_ABST
Abstract
Description
Two-dimensional code, and code reading system
[0001] The present invention relates to a two-dimensional code and a code reading system for reading information from the two-dimensional code.
[0002] Conventionally, QR Code (registered trademark) has been widely used as a two-dimensional code. Since a QR Code is excellent in that it can record more information than a one-dimensional code (barcode), it is used in various fields.
[0003] For example, a QR Code is used to authenticate the admission qualification of visitors at an event such as an exhibition. The QR Code encodes the identification information of the visitor and is printed on the reception ticket or admission ticket. The visitor holds the QR Code up to a code reading device installed at the entrance gate of the event venue. The code reading device detects the QR Code from the reception ticket etc. presented by the visitor, and reads the identification information of the visitor from the detected QR Code. The identification information read by the code reading device is compared with the identification information registered in the visitor list.
[0004] Japanese Patent Laid-Open No. 10-214317
[0005] A QR Code has a position detection pattern in order to clearly recognize the size, position, and rotation direction of the symbol within the visual field. The position detection pattern is largely arranged in the symbol portion inside the quiet zone, which is a blank portion provided in a frame shape at the outermost part of the QR Code. For this reason, it can be said that the code area in the symbol portion of the QR Code is compressed by the position detection pattern. Therefore, in order to encode more information, it is necessary to form the QR Code itself larger and include more modules (also referred to as "cells") in the symbol portion, or to form the size of each module smaller and include more modules in the symbol portion.
[0006] When the QR Code itself is enlarged as described above, the display portion on the printing medium of the QR Code is restricted, and when the cells of the QR Code are made smaller, there is a risk that the reading accuracy of the QR Code will decrease.
[0007] Therefore, the present invention aims to provide a two-dimensional code and a code reading system that do not interfere with other display areas and have excellent reading accuracy.
[0008] To solve the above problems, the two-dimensional code according to the present invention comprises a detection pattern formed in the shape of a frame with a marker provided, and a code section provided in the part whose position is determined by the detection pattern, wherein a plurality of binarizable modules are arranged in two dimensions, and the plurality of modules are arranged sequentially from a predetermined position determined with respect to the marker as the starting point.
[0009] The code portion is characterized by being provided inside the detection pattern.
[0010] In the above-described two-dimensional code, the detection pattern is polygonal in shape, and the markers are provided at the corners of the detection pattern.
[0011] In the above two-dimensional code, the plurality of modules are characterized in that each character of the string converted into a bit sequence is modularized, and the string is encrypted.
[0012] The code reading system according to the present invention is a code reading system for reading a string from a two-dimensional code, and is characterized by comprising: an imaging unit that captures the two-dimensional code and generates an image; a detection unit that detects the two-dimensional code contained in the image; and an analysis unit that analyzes the data module contained in the detected two-dimensional code and obtains the string.
[0013] The above code reading system is characterized in that, when the image generated by the imaging unit contains multiple two-dimensional codes, the detection unit individually detects each two-dimensional code, and the analysis unit analyzes each of the detected two-dimensional codes to obtain the string of characters for each two-dimensional code.
[0014] The above code reading system is characterized by comprising a display unit that displays the acquired string and / or information corresponding to the string together with the captured two-dimensional code.
[0015] The above code reading system is characterized by comprising: a storage unit that stores the coordinates of the detected two-dimensional code in association with the acquired string; and a determination unit that determines whether or not the code has been read based on the stored coordinates.
[0016] The above code reading system is characterized by being a mobile terminal having the imaging unit, the detection unit, and the analysis unit.
[0017] In the above code reading system, the imaging unit is characterized by being a fixed-point camera.
[0018] According to the two-dimensional code and code reader of the present invention, excellent reading accuracy is achieved without compromising other display areas.
[0019] (a) A diagram showing a two-dimensional code according to the first embodiment of the present invention, (b) A diagram showing another two-dimensional code according to the first embodiment. (a) A block diagram of the code reading measure according to the first embodiment, (b) A functional block diagram of the code reading device. An operation flow diagram of the code reading device. A diagram showing an example of using the two-dimensional code of the first embodiment. A diagram showing an example of using the two-dimensional code of the first embodiment. A diagram showing an example of using the two-dimensional code of the first embodiment. (a) A diagram showing the information area and check area in the code portion of the two-dimensional code according to the second embodiment of the present invention, (b) A diagram showing the arrangement of bit sequence modules with respect to the information area, (c) A diagram explaining the arrangement of check modules with respect to the check area. (a) A diagram showing an example of the arrangement of bit sequence modules in the two-dimensional code of the second embodiment, (b) A diagram showing another example of the arrangement of the bit sequence modules, (c) A diagram showing yet another example of the arrangement of the bit sequence modules, (d) Yet another arrangement of the bit sequence modules. Figures illustrating examples: (a) A diagram showing the generation method of a two-dimensional code according to the third embodiment; (b) A diagram showing another generation method of a two-dimensional code according to the third embodiment; (a) An example of a group code according to the fourth embodiment; (b) Another example of a group code; (c) Yet another example of a group code; (d) Yet another example of a group code; (a) An example of a group code according to the sixth embodiment; (b) A specification diagram of the attribute code possessed by the group code; (a) An example of the installation of a code reader according to the eighth embodiment; (b) An example of the installation of the code reader; (a) A schematic diagram of a transport system according to the tenth embodiment; (b) A block diagram of the transport body of the transport system; (a) A diagram showing a two-dimensional code relating to a modified example; (b) A diagram showing a two-dimensional code relating to another modified example.
[0020] Hereinafter, an embodiment of the two-dimensional code and code reader of the present invention will be described based on the drawings.
[0021] As shown in Figure 1(a), the two-dimensional code 100 according to this embodiment is printed on the surface of a blank sheet of paper and has a rectangular shape with 11 cells x 7 cells in total. Here, a cell 110 is a grid that makes up the two-dimensional code 100, as shown by the dashed line in the figure, and is the smallest unit of data in the code section described later. The cell 110 is square in shape, and the cell 100 is displayed in either a light color (white) or a dark color (black). A cell 110a (data) displayed in white is a white module 110a and functions as "0". Similarly, a cell 110b (data) displayed in black is a black module 110b and functions as "1". In this way, the two-dimensional code 100 is composed of binarizable modules 110a and 110b arranged in a two-dimensional shape. Note that the two-dimensional code of the present invention is not limited to a rectangular shape with 11 cells x 7 cells, and may have a rectangular shape with more cells or fewer cells. Furthermore, as shown in Figure 1(b), the two-dimensional code 200 may be square in shape. Also, the size of the cell is not particularly limited and will be scaled up or down according to the display size of the two-dimensional code.
[0022] The two-dimensional code 100 described above comprises a detection pattern 111 and a code section 112. The detection pattern 111 is a pattern that forms the outline of the two-dimensional code 100 and is formed in the shape of a rectangular frame with one corner (the lower right corner) recessed inward. The detection pattern 111 has a top edge length of 11 cells, a left edge length of 7 cells, a bottom edge length of 10 cells, and a right edge length of 6 cells. Because the bottom and right edges are formed with one less cell than the top and left edges, the detection pattern 111 is formed asymmetrically, and the recess 113 formed in the lower right corner functions as a marker for determining the rotation direction of the two-dimensional code 100.
[0023] The code section 112 includes a bit sequence module. In this bit sequence module, each bit of the bit sequence is represented by either a white module 110a or a black module 110b. The bit sequence module includes a modularized string formed by bit sequence conversion of information. The conversion rules for the bit sequence conversion are not particularly limited, and various conversion rules can be used. The bit sequence module comprises a module 110c corresponding to the start bit (hereinafter referred to as "start module 110c") and a module in which the bit sequence converted string is modularized (hereinafter referred to as "data module"). The start module 110c is located in the upper left cell 110 of the code section. The data modules are arranged sequentially to the right from the start module 110c, and when the rightmost cell is reached, they are arranged sequentially to the right from the cell located at the leftmost end of the next row (down row). Based on the arrangement rules of the bit sequence module, the code reader described later analyzes the bit sequence module.
[0024] The two-dimensional code 100, configured as described above, can be displayed, for example, on shelf labels in retail stores (Figure 4). The two-dimensional code 100 displayed on the shelf label contains the JAN code and price of the product, which are the GTINs, encoded (converted to a bit string and modularized). Another example is its display on the packaging (shoe box) of products such as shoes (Figure 6). The two-dimensional code 100 displayed on the packaging contains the JAN code and shoe size of the product. Furthermore, another example is its display on name tags or registration slips of visitors at events such as trade shows. The two-dimensional code 100 displayed on name tags or registration slips contains the identification information assigned to the visitor.
[0025] The above-mentioned two-dimensional code 100 is read by the code reader 300 shown in Figure 2. The code reader 300 is a device that optically reads the two-dimensional code 100 and is an information processing device, such as a smartphone or tablet. Here, a smart device, which is a mobile terminal, is used for the code reader 300 that reads the two-dimensional code 100 from shelf tags on display shelves in a retail store. A code reader 300 that reads the two-dimensional code 100 from name tags of visitors and those leaving at the entrance and exit of an event venue comprises a smart device and a stand that holds the smart device at a predetermined height, so that the smart device is upright and its camera module (described later) functions as a fixed-point camera.
[0026] As shown in Figure 2, the code reader 300 comprises a camera module 301, a touch panel display 302, a CPU 303, and a memory 304. The camera module 301 functions as an imaging unit 31 that captures images of the two-dimensional code 100 and generates images (hereinafter referred to as "captured images"). The touch panel display 302 functions as an input receiving unit that accepts touch input from the user, and also functions as a display unit 32 that displays images and information. The memory 304 functions as a storage unit 34 that stores a reading program that executes the reading of the two-dimensional code 100 and the captured images. The CPU 303, by executing the reading program, functions as a detection unit 35 that analyzes the captured images and detects the two-dimensional code 100 contained in the captured images, a specification unit 36 that identifies the marker position of the detected two-dimensional code 100, and an analysis unit 37 that analyzes the detected two-dimensional code and obtains the string of characters of the two-dimensional code. The camera module 301, the touch panel display 302, and the memory 304 are electrically connected to the CPU 303.
[0027] The operation flow of the code reading device 300 described above will now be explained with reference to Figure 3. As shown in Figure 3, the operation flow includes image acquisition processing s10, two-dimensional code detection processing s20, marker position identification processing s30, bit sequence module analysis processing s40, and display processing s50.
[0028] Image acquisition process s10 is the process of capturing an image of the two-dimensional code 100. Specifically, the CPU 303 inputs an imaging command to the camera module 301. Based on the imaging command, the camera module 301 takes images at a predetermined imaging cycle and generates an image. The camera module 301 then inputs the generated image to the CPU 303. The CPU 303 stores the image acquired from the camera module 301 in the memory 304 and executes the two-dimensional code detection process s20.
[0029] The two-dimensional code detection process s20 is a process that binarizes the captured image and detects the two-dimensional code 100 from the binarized captured image (hereinafter referred to as the "binarized image"). Specifically, the size (number of cells in the vertical and horizontal directions) of the detection pattern 111 to be read is set in advance, and the CPU 303 detects a frame-shaped character corresponding to that size in the binarized image and extracts the detected character (the image corresponding to the detection pattern 111) and the image inside it (the image corresponding to the code part 112). Hereinafter, the extracted image will be referred to as the extracted image. Here, the character corresponding to the size is, for example, a character that approximates the ratio of the number of cells on each side of the detection pattern 100 (in Figure 1(a), the top side:bottom side:left side:right side is 11:10:7:6). Furthermore, the extracted image is not limited to one; if multiple characters are detected in the binarized image, the image corresponding to each character is extracted. The CPU 303 stores the coordinates of the extracted image in the binarized image in the memory 304.
[0030] The marker position identification process s30 identifies the position of the marker 113 in the extracted image extracted in the two-dimensional code detection process s20. Marker position identification is performed, for example, by calculating the ratio of each side of the character in the extracted image and identifying the marker position based on that ratio. In this embodiment, the extracted image is then rotated so that the identified marker position is located in the lower right. If there are multiple extracted images, this process is performed for each of the extracted images.
[0031] The bit sequence module analysis process s40 is a process that analyzes the bit sequence module to obtain a string. Specifically, in the extracted image, the module located diagonally opposite the marker position is designated as the start module 110c, and each module 110 is extracted based on the module arrangement rule to generate a bit sequence. Then, the bit sequence is reverse-transformed to obtain a string. The string obtained in this way is stored in memory 304. In this embodiment, the obtained string is stored in association with the coordinates of the extracted image. If there are multiple extracted images, this process is performed for each of the extracted images.
[0032] The display process s50 is the process of displaying the acquired string on the touch panel display 302. Specifically, the CPU 303 displays the captured image stored in the memory 304 on the touch panel display 302. Then, it extracts the string and coordinates from the memory 304 and displays the string at the position corresponding to those coordinates. As a result, the string is displayed near the two-dimensional code 100 in the captured image. If there are multiple two-dimensional codes 100 in the captured image, the strings of multiple two-dimensional codes 100 are acquired through the two-dimensional code detection process s20, the marker position identification process s30, and the bit string module analysis process s40, so that multiple strings are displayed in association with the two-dimensional codes 100 in the image. What is displayed by the display process s50 is not limited to the string obtained by scanning, but may also be a check mark indicating that it has been read.
[0033] As described above, the two-dimensional code 100 of this embodiment has a detection pattern 111, and by detecting the frame-shaped character and its marker 113 corresponding to the detection pattern 111, it is possible to detect the two-dimensional code 100 and determine the direction of rotation. Furthermore, since the code portion 112 can be placed in the entire area inside the detection pattern 100 (outline), there is no compression of the data area inside the symbol portion, as is the case with conventional QR codes. Therefore, there is no need to print the two-dimensional code 100 larger than necessary, and the problem of compressing other display areas on the print medium does not occur. In addition, since there is no need to form the module smaller than necessary, there is no decrease in reading accuracy.
[0034] Furthermore, because the detection pattern 111 has a simple, roughly rectangular shape, the detection load on the detection pattern 111 is low. Therefore, even if multiple two-dimensional codes 100 exist in a single captured image, all two-dimensional codes 100 can be detected immediately. Also, because the arrangement of the bit sequence modules in the code section 112 is simple, the scanning load on the bit sequence modules is low. Therefore, the strings of multiple two-dimensional codes 100 can be acquired quickly. Accordingly, this embodiment is suitable for use in applications where multiple two-dimensional codes 100 are read at once.
[0035] For example, in the usage example where a two-dimensional code 100 is displayed on the shelf labels of the product shelves, the user does not have to read each two-dimensional code 100 on the shelf labels one by one, but can read the two-dimensional codes 100 on multiple shelf labels at once, as shown in Figure 4. In such usage examples, the code reader 300 obtains a list in advance from the POS server that associates the JAN code of a product with the price of that product, and compares the JAN code and price read from the shelf label with this list. This allows the user to confirm whether the content displayed on the shelf label is correct. The two-dimensional code 100 may also be a code that combines the JAN code and the expiration date. The code reader 300 that reads the two-dimensional code 100 displays the expiration dates of all the products that were read on the screen. This allows the user to check the expiration dates of multiple displayed products at once. The code reader 300 may also compare the current date with the read expiration date to determine if the product has expired, and may display a marker on products that have been determined to be expired. Furthermore, the code reader 300 may identify products that have a predetermined number of days remaining until their expiration date, based on the number of days remaining until the expiration date, and display a marker on those products.
[0036] Furthermore, in the example of displaying the two-dimensional code 100 on the name tags of attendees and those leaving the event, the camera module 301 of the code reader 300 functions as a fixed-point camera at the entrance and exit to capture images of attendees and those leaving, thereby acquiring identification information from the name tags of attendees and those leaving as they arrive. In such an example, the code reader 300 transmits the read identification information to a server, where the server verifies the identification information. This allows for verification of the attendees' eligibility to enter. This prevents duplicate entry and forged tickets. The server also automatically records, compiles, and analyzes attendee information (such as entry date and time and length of stay). This allows exhibition operators to grasp statistical data such as the number of attendees in real time. By using the two-dimensional code 100 and code reader 300 of this embodiment for entry and exit management at event venues, the effort required for processing entry and exit can be reduced, and operational efficiency can be improved. Furthermore, by installing a QR code at a booth set up at the event venue and scanning the QR code with a smartphone functioning as a code reader 300, the exhibit content and event information can be provided to the smartphone.
[0037] Furthermore, as shown in Figure 5, a two-dimensional code 100 can be displayed on multiple test tubes. The two-dimensional code 100 encodes identification information for identifying each test tube, as well as information such as the type of liquid or other substance contained in the test tube (for example, blood type if blood is contained), and is attached to the lid of each test tube. The code reader 300 can read the two-dimensional codes 100 of these multiple test tubes all at once and display the identification information and the type of substance contained in each test tube. In this embodiment, the code reader 300 can identify types other than those specified in advance and display a mark on the test tube of the identified type.
[0038] Furthermore, as shown in Figure 6, a two-dimensional code 100 can be displayed on the product packaging. The product packaging is, for example, a box for storing shoes. In this embodiment, the two-dimensional code 100 contains coded shoe identification information and shoe size. The code reader 300 reads the two-dimensional codes 100 attached to multiple shoe boxes all at once and displays the read size near the two-dimensional code 100.
[0039] [Second Embodiment]
[0040] The following describes a two-dimensional code and code reader according to a second embodiment of the present invention. As shown in Figure 7(a), the two-dimensional code 400 according to the second embodiment has an information area 411 and check areas 412 and 413 in the code section 410. The information area 411 is an area where bit sequence modules are arranged, and all cells in the code section 410 other than the check areas 412 and 413 are provided as the information area 411. The check areas 412 and 413 are areas where check modules for confirming the validity of the read bit sequence modules are arranged, and consist of a first check area 412 and a second check area 413. The first check area 412 includes the cells in the rightmost column of the code section 410. The second check area 413 includes the cells in the bottom row of the code section 410. Therefore, all cells in the code section 410 other than the rightmost column and bottom row become the information area 411.
[0041] The bit sequence modules placed in the information area 411 are arranged according to the same rules as in the first embodiment. That is, as shown in Figure 8(a), a start module is placed in the upper left cell (the diagonal cell of the marker) in the code section 410, and bit sequence modules are placed sequentially to the right of the start module. When the right end is reached, bit sequence modules are placed from the left end to the right end of the second row. Bit sequence modules are placed in the third row and beyond according to the same rules.
[0042] The check modules to be placed in check areas 412 and 413 are determined as follows. As shown in Figure 7(b), each cell in the first check area 412 is filled with a check module corresponding to the row-specific checksum. Here, the row-specific checksum is the number of black modules in a row of the information area 411, and is calculated for each row. Specifically, since no black modules are placed in the first row of the information area 411, the row-specific checksum for the first row is "0". Next, since there are three black modules in the second row of the information area 411, the row-specific checksum for the second row is "3". Using the same calculation method, the row-specific checksum for the third row is "2". The row-specific checksum for the fourth row is also "2". The row-specific checksum for the fifth row is also "4". The row-specific checksum for the sixth row is also "2". The row-specific checksum for the seventh row is also "3". The row-specific checksum for the eighth row is also "0". In this way, row-specific checksums are calculated for all rows.
[0043] Furthermore, as shown in Figure 7(b), each cell in the second check area 413 contains a check module corresponding to the column-specific checksum. Here, the column-specific checksum is the number of black modules in one column of the information area 411, and is calculated for each column. Specifically, since no black modules are placed in the first column from the left in the information area 411, the column-specific checksum for the first column is "0". Using the same calculation method, the column-specific checksum for the second column is "5". The column-specific checksum for the third column is "2". The column-specific checksum for the fourth column is "2". The column-specific checksum for the fifth column is "6". The column-specific checksum for the sixth column is "1".
[0044] Next, for each row-by-row checksum, it is checked whether it is even or odd. As a result of the check, if the value of a certain row-by-row checksum is even, a white module is arranged as a check module in the cell corresponding to the certain row-by-row checksum. On the other hand, as a result of the check, if the value of a certain row-by-row checksum is odd, a black module is arranged as a check module in the cell corresponding to the certain row-by-row checksum. Similarly, for each column-by-column checksum, a check module is arranged.
[0045] The code reader 300 of the present embodiment has the same hardware configuration as that of the first embodiment, and executes the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the display process s50 in the same manner as the first embodiment. However, the analysis process s40 of the bit string module is different from that of the first embodiment.
[0046] In the analysis process s40 of the bit string module, the information area 411 and the check areas 412 and 413 in the code part 410 are specified. The method of specifying each area is not particularly limited. However, the rightmost column in the code part 410 is specified as the first check area 412, and the lowermost row in the code part 410 is specified as the second check area 413. Further, the part other than the check areas 412 and 413 in the code part 410 is specified as the information area 411.
[0047] Then, the modules of each cell in the information area 411 are detected, and the row checksum and column checksum in the information area 411 are calculated. Next, the check modules of each cell in the first check area 412 are extracted. Then, it is confirmed whether each of the extracted check modules corresponds to each of the row checksums. Also, the check modules of each cell in the second check area 413 are extracted. Then, it is confirmed whether each of the extracted check modules corresponds to each of the column checksums. Whether there is such a correspondence is determined by whether the checksum is odd when the extracted check module is a black module, or whether the checksum is even when the extracted check module is a white module. As a result of these confirmations, when all the check modules extracted in the check areas 412 and 413 correspond to all the checksums, it is determined that the bit string module specified in the information area 411 is appropriate. On the other hand, when there is no correspondence, it is determined that the bit string module specified in the information area 411 is inappropriate, and the image acquisition process (s10) is executed again.
[0048] According to the two-dimensional code 400 and the code reader 300 of the second embodiment, misreading of the two-dimensional code 400 can be reduced, and the safety and reliability in the use of the two-dimensional code 400 can be improved. In this embodiment, a black module is represented when the checksum is odd, and a white module is represented when the checksum is even. However, a white module may be used when the checksum is odd, and a black module may be used when the checksum is even.
[0049] [Third Embodiment]
[0050] The following describes a two-dimensional code and code reader according to the third embodiment. As shown in Figure 9, the two-dimensional code of this embodiment is obtained by changing the position of each cell on which a module is placed based on an encryption key. The encryption key is, for example, a random number generated when the two-dimensional code is generated. In Figure 9(a), the arrangement of cells on which modules are placed in the information area is rearranged based on the encryption key. In Figure 9(b), the arrangement of cells throughout the entire code section (information area and check area) is rearranged based on the encryption key.
[0051] In the code reading device of this embodiment, after identifying the module of each cell in the code section during the analysis process of the bit sequence module (s40), the bit sequence module can be identified by rearranging the modules in reverse order based on the encryption key.
[0052] The two-dimensional code of this embodiment allows for dynamic changes to the code's structure by combining it with a randomly generated encryption key. For example, when using a two-dimensional code as an admission code for an exhibition, there is a risk of forgery if the code generation method is the same every year. However, with the two-dimensional code of this embodiment, it is possible to generate different admission codes each year, thereby improving the security of the two-dimensional code. Similarly, it can be applied to admission tickets for amusement parks and the like. By generating an encryption key based on the admission date and defining the reading order of the two-dimensional code using that encryption key, forgery can be prevented. The encryption key can be stored in a repository or generated in real time using a calculation formula. This flexibility enables advanced security measures tailored to the application.
[0053] Furthermore, as in the fourth embodiment described later, when using multiple two-dimensional codes, it is possible to apply a different encryption key to each two-dimensional code. This method allows each two-dimensional code to have an independent security element, further improving the level of information protection. It also ensures the consistency and security of the information across all the two-dimensional codes.
[0054] [Fourth Embodiment] The following describes a two-dimensional code and code reader according to the fourth embodiment. In this embodiment, multiple two-dimensional codes are displayed for a single article. These multiple two-dimensional codes each encode multiple pieces of related information concerning the article. A specific example is described below.
[0055] <Product Identification Information + Date Information + Lot Number> GS1-128, used for medical products, encodes multiple pieces of information, such as the product identification information (product code / GTIN), the date information (expiration date), and the lot number, into a single barcode. Food products sold in supermarkets are also assigned a product identification information (GTIN), and this product code is managed in the system in association with date information such as the best-before date or expiration date of the food product, and the lot number. This product identification information, date information, and lot number are related information about the medical products and food products that are the target of the two-dimensional code display. In this example, these multiple pieces of related information are individually encoded into two-dimensional codes and displayed on the medical products and food products. Alternatively, they may be displayed on the boxes containing the medical products. Specifically, as shown in Figure 10(a), it comprises a first two-dimensional code 501 in which product identification information, which is the first related information, is encoded; a second two-dimensional code 502 in which date information, which is the second related information, is encoded; and a third two-dimensional code 503 in which lot number, which is the third related information, is encoded. Hereinafter, a group code 500 will be used to refer to a set of multiple two-dimensional codes displayed together as described above.
[0056] The first two-dimensional code 501, the second two-dimensional code 502, and the third two-dimensional code 503 are formed such that their detection patterns have the same width. Therefore, these two-dimensional codes 501, 502, and 503 are formed so that their cell sizes are the same. In addition, a marker 513 is formed in the same position (the lower right portion of the detection pattern) in these two-dimensional codes. Furthermore, these two-dimensional codes are formed with an equal number of cells in the vertical direction, and the number of cells in the horizontal direction differs according to the amount of information. The first two-dimensional code 501, the second two-dimensional code 502, and the third two-dimensional code 503 are arranged in a horizontal row, and a gap (quiet zone) equal to the width of the detection pattern is provided between adjacent two-dimensional codes. Note that the quiet zone is not limited to having the same width as the width of the detection pattern, but may be, for example, twice the width of the detection pattern.
[0057] When reading the group code 500 described above, the code reader 300 executes the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the bit sequence module analysis process s40 described in the first to third embodiments to obtain relevant information (product identification information, date information, and lot number) from each group code 500. The code reader 300 then executes the display process s50 to display the relevant information near the item to be read in the image. Therefore, the user of the code reader 300 can grasp the relevant information of the item to be read. Furthermore, by transmitting the read relevant information to a higher-level system, various management functions such as inventory management can be performed in the higher-level system. In addition, in the display process s50, a check mark indicating that the code has been read may be displayed for each group code 500.
[0058] The above group code 500 has multiple two-dimensional codes related to the item being read formed individually. For example, if it becomes necessary to change the lot number, only the third two-dimensional code 503 needs to be changed. By representing each related piece of information separately as a two-dimensional code, partial updates and changes are easier compared to cases like GS1-128 where all related information is aggregated into a single barcode. In this example, GS1-128 is explained using medical products as an example, but GS1-128 used for other items can also be coded for each AI (Application Identifier) and two-dimensional codes of different sizes can be generated.
[0059] Furthermore, the code reader 300 can pre-set the number of cells in the two-dimensional code to be read. For example, if the user wants to check if an item displayed on a shelf has expired (expired validity period or best-before date), only the date information can be read. Specifically, the code reader 300 executes the image acquisition process s10 and the two-dimensional code detection process s20 based on the pre-set number of vertical and horizontal cells in the second two-dimensional code 502. Then, it executes the marker position identification process s30, the analysis process s40, and the display process s50 on the detected two-dimensional code (extracted image). The code reader 300 displays the read date information near the item to be read in the display image. This allows the user of the code reader 300 to understand the expiration date or best-before date of the medical products or food products that have been imaged. Furthermore, the code reader 300 can determine expired or nearing expiration dates by comparing the read date information with the current date, and can change the color of the determined date information or display an alert, making it easy for users to see expired or nearing expiration medical products and food items. In addition, by reading only the lot number, it is possible to quickly identify defective products, for example, when a manufacturing problem occurs.
[0060] <Product Identification Information + Serial Number> For products to which RFID tags are attached, some products are managed using SGTINs. The SGTIN comprises a GTIN (product code, which is product identification information) and a serial number assigned to each product. These GTINs and serial numbers are related information about the product, and in this example, a group code 500, which is a two-dimensional code that individually encodes these multiple pieces of related information, is displayed on the product. Specifically, as shown in Figure 10(b), the group code 500 comprises a first two-dimensional code 501 into which the first related information, the GTIN, is encoded, and a second two-dimensional code 502 into which the second related information, the serial number, is encoded. The specifications of the first two-dimensional code 501 and the second two-dimensional code 502 are the same as in the example above. That is, the first two-dimensional code 501 and the second two-dimensional code 502 have the same cell size and markers are formed in the same position (lower right portion in the detection pattern). Furthermore, these two-dimensional codes are formed with an equal number of cells in the vertical direction, and the number of cells in the horizontal direction varies according to the amount of information. In addition, the first two-dimensional code 501 and the second two-dimensional code 502 are arranged adjacent to each other with a spacing (quiet zone) of the same width as the detection pattern.
[0061] When reading the group code 500, the code reader 300 executes the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the bit sequence module analysis process s40 described in the first to third embodiments to obtain related information (GTIN and serial number) from the group code 500. Then, the code reader 300 executes the display process s50 to display the related information near the product in the image. Therefore, the user of the code reader 300 can visually grasp the related information of the product. Thus, conventionally, when reading RFID tags, it was difficult to determine whether each product had been read or not when reading related information from multiple products, but in this example, it is easy to determine whether each product has been read or not. Furthermore, the group code 500 in this example can also be used in combination with RFID tags. If a reading error occurs due to a defect in the RFID tag, the group code 500 can be read, improving the redundancy of the entire reading system.
[0062] <ISBN + Classification / Price> A book has two barcodes displayed, one above the other. The upper barcode is a barcode of the ISBN, which is product identification information. The lower barcode is a barcode of the book's classification and price. These ISBN, classification, and price are related information about the book, and in this example, a group code 500, which is a two-dimensional code that individually encodes these multiple pieces of related information, is displayed on the book. Specifically, as shown in Figure 10(c), the group code 500 comprises a first two-dimensional code 501 which encodes the first related information, the product code (ISBN), and a second two-dimensional code 502 which encodes the second related information, the classification and price. It is preferable that the group code 500 is displayed on the spine of the book.
[0063] When reading the group code 500 described above, the code reader 300 executes the image acquisition process s10, two-dimensional code detection process s20, marker position identification process s30, and bit sequence module analysis process s40 described in the first to third embodiments to obtain relevant information (ISBN, classification, and price) from the group codes 500 of multiple books displayed on the shelf. The code reader 300 then executes the display process s50 to display the relevant information near the books in the image. Therefore, the user of the code reader 300 can visually grasp the relevant information of the books. Furthermore, by transmitting the relevant information of the books to a higher-level system such as a POS system, the code reader 300 can smoothly manage the inventory of books in the higher-level system. In addition, by performing a search using the relevant information as a search key, it is possible to obtain detailed information (title, author, publication date, inventory status, etc.) registered in association with the relevant information from the higher-level system and display this information. Regarding the display of this detailed information, it is acceptable for it to be shown only when the user taps the related information being displayed or the checkmark associated with that related information.
[0064] <GTIN + Quantity> On a package containing multiple identical products, the quantity of each product is displayed as text information in addition to the product code. These product codes and quantities are related information about the package, and in this example, a group code 500, which is a two-dimensional code that individually encodes these multiple pieces of related information, is displayed on the package. Specifically, as shown in Figure 10(d), the group code 500 comprises a first two-dimensional code 501 which encodes the product code, which is the first related information, and a second two-dimensional code 502 which encodes the quantity, which is the second related information. The group code 500 may also further comprise a third two-dimensional code 503 which encodes the lot number, which is the third related information.
[0065] When reading the group code 500 described above, the code reader 300 performs the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the bit sequence module analysis process s40 described in the first to third embodiments to obtain relevant information (ISBN, classification, and price) from the group code 500 of the books displayed on the shelf. In this example, the display process s50 does not need to be performed. The code reader 300 transmits the read relevant information to a higher-level system that manages product inventory, thereby reducing the effort required for inputting quantities and other information.
[0066] <Other Combinations> As described above, multiple two-dimensional codes can be displayed as a group code 500. Here, the multiple two-dimensional codes that make up the group code 500 can individually encode various related information. For example, the group code 500 may be displayed on a shelf label on a product shelf.
[0067] [Fifth Embodiment]
[0068] The bit string module placed in the information area may include a pointer module in which pointer information is encoded. Pointer information identifies multiple two-dimensional codes included in a group code and indicates the arrangement order of the two-dimensional codes within that group code. The pointer module is then placed in a predetermined cell in the information area. Therefore, the code reader can quickly and accurately identify the group code to which the two-dimensional code belongs, as well as its arrangement position within that group code, by identifying the pointer module from the read bit string module and decoding the pointer module.
[0069] [Sixth Embodiment] As shown in Figure 11(a), the group code 600 may also include an attribute code 601. The attribute code 601 is a code known as an indicator, and it indicates the size and placement position (placement order) of the two-dimensional code belonging to the group code 600, and is placed on one side of the group code 600 (to the left of the first two-dimensional code). The attribute code 601 may also be placed on another side of the group code 600 (to the right of the fourth two-dimensional code in this example), or on both sides of the group code 600. Furthermore, the attribute code 601 may be placed at the corners or borders of an area that extends in a planar manner.
[0070] As shown in Figure 11(b), the attribute code 601 comprises an information area and a check area within the code section. The check area is located at the bottom row of the code section. The information area is located in the code section excluding the check area. In the same manner as in the second embodiment, a check module is placed in the check area, but in the case of attribute code 601, a white module is placed when the checksum is odd, and a black module is placed when the checksum is even. The attribute code 601 can be identified by the difference in the check modules.
[0071] Each cell in the information area of attribute code 601 contains a module that indicates the number of cells (horizontal number of cells in the information area) of each two-dimensional code belonging to group code 600. In this embodiment, the maximum number of two-dimensional codes that can be combined as group code 600 is six, and modules that indicate the number of cells of the six two-dimensional codes are placed. For example, the group code 600 shown in Figure 11(a) has first two-dimensional codes 602 to fourth two-dimensional codes 605, and the horizontal number of cells in their information areas is "6", "3", "3", and "5", respectively. These horizontal cell numbers are converted into binary "0110", "0011", "0011", and "0101", which are then modularized and arranged in a regular sequence within the information area of attribute code 601.
[0072] When the code reader detects an attribute code 601 using the processing method described in the first to third embodiments, it analyzes the module located in that information area and obtains the number of horizontal cells for each two-dimensional code belonging to the group code 600. By obtaining the number of horizontal cells for each two-dimensional code in this way, it is possible to understand the number of two-dimensional codes in the group code 600, the size of each two-dimensional code, and their location, and to perform the detection process for these two-dimensional codes quickly.
[0073] [Seventh Embodiment] The code reading device according to the seventh embodiment differs from the above embodiments in that it is a glasses-type information processing device. The code reading device of this embodiment is a wearable device called smart glasses, and comprises a display module that displays information on the lenses, a camera module that captures the wearer's field of view, a CPU that can communicate with the display module and the camera module, a memory that stores information, and a network module that performs network communication with a higher-level system, and these devices are provided on the glasses frame.
[0074] As described in the above embodiment, the code reading device performs image acquisition processing s10, two-dimensional code detection processing s20, marker position identification processing s30, and bit sequence module analysis processing s40 to read information from the two-dimensional code. Then, the code reading device performs display processing s50 to display the read information on the display module.
[0075] The code reader of this embodiment is useful when performing picking operations. First, the code reader downloads product identification information of the items to be picked from a higher-level system in advance. Then, when an operator looks at the product display shelf during the picking operation, the camera module of the code reader captures the operator's field of view and generates an image. The CPU analyzes the two-dimensional code based on the image generated by the camera. If the product's two-dimensional code (product identification information) is displayed on the shelf label of the display shelf, the product identification information from that shelf label is acquired. The CPU then compares the acquired product identification information with the product identification information that was downloaded in advance. If the two pieces of information match, the display module displays a marker or highlight indicating that the item should be picked. The operator only needs to pick up the item according to the marker displayed when looking around the display shelf. In addition, the operator can find out whether the item was picked up by reading the two-dimensional code attached to the picked item.
[0076] In the example above, markers based on the matching results are displayed on the display module, but the invention is not limited to this configuration. For example, the code reader may use the read product identification information as a search key to obtain detailed product information from a higher-level system and display that product information on the display module.
[0077] Furthermore, the two-dimensional codes displayed on the shelf labels of the display shelves may include information such as the product name, size, and expiration date. In this case, the code reader will display the scanned information on a display module. Therefore, a person wearing the code reader can obtain various information about the products simply by looking at the display shelves.
[0078] In this way, wearing glasses-type code readers enables hands-free and intuitive work, significantly improving work efficiency in logistics warehouses and retail stores.
[0079] The glasses-type code reading device of this embodiment may have an imaging unit and a decoding unit that are structurally separated. Specifically, the glasses-type code reading system comprises an external device such as a smartphone, personal computer, or server, and a glasses unit capable of communicating with the external device. The glasses unit comprises a communication module that performs wireless communication with the external device, a display module that displays information on the lenses, and a camera module that images the wearer's field of view, and these components are provided on the glasses frame.
[0080] In the code reading system described above, image acquisition processing s10 is performed in the glasses unit. That is, the camera module of the glasses unit generates an image including the wearer's field of view. This image is transmitted in real time to an external device via the communication module. The external device then performs two-dimensional code detection processing s20, marker position identification processing s30, and bit sequence module analysis processing s40. At this point, the external device compares the read product identification information with the product identification information of the product to be picked, and displays information based on the comparison result are transmitted to the glasses unit. This displays information includes information about the display position of the markers and highlights, and work information such as the position of the next product to be picked. The display module of the glasses unit displays the markers and work information according to this displays information.
[0081] This code reader reduces the burden of wearing the glasses unit by making it lighter. Furthermore, since the external device can perform computationally intensive processing such as two-dimensional code analysis (decoding) and matching, the processing load on the glasses unit is reduced. Therefore, battery consumption in the glasses unit can be minimized, and overheating during prolonged use can be prevented.
[0082] [Eighth Embodiment]
[0083] As shown in Figure 12, the code reader may be a code reader 700 that functions as a fixed-point camera. This code reader 700 is used, for example, in libraries and bookstores. Specifically, as shown in Figure 12, the code reader 700 of this embodiment is installed on a bookshelf 10. The code reader 700 uses a smart device such as a tablet terminal having the same hardware configuration as in the first embodiment. The code reader 700 is installed on a shelf 11 with the display facing forward.
[0084] The camera module of the code reader 700 in this embodiment functions as a fixed-point camera and periodically images the books b displayed on the opposing bookshelf 10. In this embodiment, it is assumed that a two-dimensional code containing the ISBN is displayed on the spine of each book b. Therefore, the camera module images the spines of the books b displayed on the opposing bookshelf 10 and generates an image of the books b including the two-dimensional code displayed on the spine. The CPU of the code reader 700 executes a two-dimensional code detection process s20, a marker position identification process s30, and a bit sequence module analysis process s40 to obtain the ISBN of each book b.
[0085] The library or bookstore is equipped with a management server that manages the inventory status of book b and information about each book b (title, author, publisher, ISBN, price). The code reader 700 transmits the read ISBN to the management server. The management server searches for book b based on the ISBN received from the code reader 700 and transmits the information of the found book b to the code reader 700. The code reader 700 displays the information of book b received from the management server along with the corresponding image of book b. In this way, the system can provide information about book b to users. For example, it can display a list of books b that are currently on loan or provide a function to search for a specific book. In addition, the code reader 700 notifies the management server if there is empty space on the shelf 11 or if the books b need to be rearranged. Thus, with the code reader 700 of this embodiment, books b are periodically imaged and the ISBNs of the displayed books b are transmitted to the management server, so manual updates of inventory information can be omitted. Furthermore, the installation location of the code reader 700 is not limited to the shelves 11 of the bookshelf 10, but may be any location where it can capture images of the books b displayed on the bookshelf 10, such as the ceiling above the bookshelf 10. In addition, the code reader may be equipped with a small camera module that functions as an imaging unit, and this camera module may be installed on the shelves 11 of the bookshelf 10.
[0086] [Ninth Embodiment] The code reader in the ninth embodiment performs imaging as a fixed-point camera, similar to the eighth embodiment. However, the code reader in this embodiment differs from the eighth embodiment in that it is installed in a logistics warehouse. In this embodiment, the two-dimensional code is displayed on the goods stored and managed in the warehouse. The two-dimensional code contains coded information about the goods, such as the product name, quantity, shipping date, and supplier (hereinafter referred to as "product information").
[0087] The code reader in this embodiment is installed in a position where it can image shelves and pallets in the warehouse. The code reader periodically performs the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the bit sequence module analysis process s40. As a result, the code reader reads product information from the two-dimensional codes of products placed on shelves and pallets. Once the code reader acquires product information, it transmits the read product information to the inventory management server, which is a higher-level system. The inventory management server updates the inventory count of products based on the product information received from the code reader. In this embodiment, the management of stored products is automated, and the efficiency of warehouse operations can be improved. In addition, input errors to the inventory management server can be reduced.
[0088] Furthermore, in a warehouse, two-dimensional codes may be attached to clothing, hats, helmets, and other items worn by people. These two-dimensional codes encode the wearer's identification information. Code readers, which function as fixed-point cameras, are installed in multiple locations within the warehouse. By reading the two-dimensional codes on the items worn by the code readers, the wearer's location within the warehouse can be determined. Similarly, it is also possible to detect the location of items by displaying two-dimensional codes on them and reading the codes using fixed-point cameras. In this way, location detection using two-dimensional codes can acquire wide-ranging and precise location information by appropriately setting the installation location and field of view of the fixed-point cameras. For example, by installing multiple code readers within an event venue, the movement of visitors within the venue can be tracked. It is also possible to manage entry and exit to specific areas.
[0089] [Tenth Embodiment]
[0090] The two-dimensional code and code reader according to the tenth embodiment are used in a transport system for transporting articles. As shown in Figure 13, the transport system of this embodiment includes a plurality of two-dimensional codes 800 provided in a transport area, and a transport body 900 that moves within the transport area to transport articles.
[0091] Multiple two-dimensional codes 800 function as markers indicating the direction of movement of the transporter 900 and are arranged along the transport path in the transport area. Each of the two-dimensional codes 800 is embedded in the floor so that its code portion is exposed. The two-dimensional codes 800 contain coded information that instructs the transporter to perform actions such as going straight, turning right, turning left, or stopping.
[0092] The transporter 900 is self-propelled and is equipped with front, rear, left, and right wheels 901 mounted on a chassis, motors 902 that drive each of the wheels 901, a control unit 903 that controls the operation of each motor 902, and a code reader 904 that is provided to communicate with the control unit 903. The code reader 904 is located under the chassis and includes a camera module 905 that captures images of the two-dimensional code 800 provided on the transport path, and a microcontroller 906 that analyzes the images acquired from the camera module 905 to obtain operation instructions for the two-dimensional code. The code reader 904 performs the image acquisition process s10, the two-dimensional code detection process s20, the marker position identification process s30, and the bit sequence module analysis process s40. In this embodiment, the code reader 904 does not perform the display process s50. When the code reader 904 obtains an operation instruction from the two-dimensional code 800, it inputs the operation instruction to the control unit 903, and the control unit 903 controls each motor 902 based on the input operation instruction.
[0093] In the transport system of this embodiment, the code reader moves along the floor, sequentially reading the two-dimensional codes, and inputs the read operation instructions to the control unit, causing the transported object to move to the target position.
[0094] Furthermore, when displaying the above-mentioned two-dimensional code on electronic paper, the display may be modified as appropriate. Multiple two-dimensional codes (group codes) may also be displayed. Displaying multiple two-dimensional codes allows for precise control of the transporter's movement.
[0095] Alternatively, instead of the above-described transport system, a two-dimensional code may be provided on the transport object (linear motor transport device or conveyor) and a code reader may be provided along the transport path of the transport object. For example, a two-dimensional code may be displayed on the body of a train, and a code reader may be provided on the platform. In such an embodiment, the code reader on the platform may read the two-dimensional code and control the stopping and starting of the train and the opening and closing of the doors based on the information read.
[0096] The transport system of this embodiment is expected to be used in a variety of fields, such as transport systems within factories, operation of autonomous mobile robots in logistics warehouses, and position control of trains in transportation systems.
[0097] Although embodiments of the present invention have been described, the present invention is not limited to the above embodiments, and may also be modified in the following ways, for example.
[0098] [Modification 1] In the above embodiment, the start module 110c is placed in the upper left cell 110 of the code section 112, that is, the cell diagonally opposite to the marker 113, but the embodiment is not limited to this. (1) For example, the start module may be placed in the upper right cell 110 of the code section 112. In this case, the bit sequence modules are arranged sequentially to the left from the start module, and when the leftmost cell is reached, they are arranged sequentially to the left from the rightmost cell of the next row (down row). (2) Alternatively, the start module may be placed in the lower left cell 110 of the code section 112. In this case, the bit sequence modules are arranged sequentially to the right from the start module, and when the rightmost cell is reached, they are arranged sequentially to the right from the leftmost cell of the next row (up row). (3) Alternatively, the start module may be placed in the cell 110 adjacent to the marker 113 (the lower right cell in the code section). In this case, the bit sequence modules are arranged sequentially to the left from the start module, and when the leftmost cell is reached, they are arranged sequentially to the left from the rightmost cell of the next row (up row). As described above, the start module can be placed at a predetermined position with respect to the marker 113, and the bit sequence modules are arranged based on a predetermined arrangement rule with respect to the start module. The code reader 300 performs bit sequence analysis processing based on the placement position of the start module and the arrangement rule of the bit sequence modules.
[0099] [Modification 2] In the above embodiment, a marker 113 is provided in the lower right corner of the detection pattern 111. However, the position of the marker is not limited to the lower right corner and may be provided in other corners. In this case, the start module in the bit sequence module is positioned at a predetermined location with the marker provided in another corner as the base point.
[0100] [Modification 3] In the above embodiment, the recess of the detection pattern 111 functions as a marker 113, but the shape of the marker is not limited to a concave shape. For example, as shown in Figure 14(a), the shape of the marker 113a may be convex. Also, as shown in Figure 14(b), the shape of the marker 113b may be a rounded corner. In other words, the shape of the marker is only required to be a shape that can be differentiated from the other corners.
[0101] [Modification 4] In the above embodiment, the marker 113 is provided at a corner of the detection pattern 111, but it is not limited to a corner and may be provided at one of the sides of the detection pattern 111. In other words, the marker should be provided at a position where the rotation angle of the two-dimensional code can be determined.
[0102] [Modification 5] The detection pattern in the above embodiment may be a polygon, such as a triangular or pentagonal shape, but a quadrilateral shape is preferred because it simplifies the detection of the detection pattern 111 and the analysis of the bit sequence module.
[0103] [Modification 6] The bit sequence module of the above embodiment comprises a start module 110c and a plurality of data modules, but it may also further include a module that displays a check modifier for checking whether the read bit sequence is valid (check module).
[0104] [Modification 7] In the above embodiment, the code reader 300 performs a two-dimensional code detection process s20, a marker position identification process s30, and a bit sequence module analysis process s40, but the embodiment is not limited to this. For example, the mobile terminal is equipped with a network communication module as shown in Figure 2, and the captured image may be transmitted to the server via the network communication module. In this embodiment, the server performs a two-dimensional code detection process, a marker position identification process, and a bit sequence module analysis process based on the received captured image, and transmits the acquired string to the mobile terminal. The mobile terminal displays the string received from the server on its display unit.
[0105] [Modification 8] In the above embodiment, the string read from the two-dimensional code is stored in association with the coordinates of the two-dimensional code 100 in the captured image, but the embodiment is not limited to this, and may also be stored in association with the world coordinates of the two-dimensional code 100. World coordinates are coordinates that are unfolded in a plurality of captured images captured at a predetermined period by the camera module 301 of the code reading device 300. When the CPU of the code reading device 300 detects a two-dimensional code in the two-dimensional code detection process s20, it compares the coordinates of the detected two-dimensional code with the coordinates stored in memory, and if they match, it determines that the two-dimensional code has already been read. In this way, the CPU of the code reading device 300 functions as a determination unit that determines whether or not a code has been read based on the coordinates stored in memory. Furthermore, instead of storing the string in association with the 3D coordinates of the two-dimensional code 100 in the captured image or with world coordinates linked to the movement of the code reading device 300, as described above, the string may also be stored in association with the 3D coordinates of the two-dimensional code 100.
[0106] [Modification 9] The media on which the two-dimensional code is displayed is not limited to backing cards, shelf labels, product packaging, or name tags, but can be displayed on various media. Furthermore, the method of displaying the two-dimensional code is not limited to printing, but can be various display methods such as engraving or display on a screen.
[0107] Furthermore, while two-dimensional codes are typically printed in advance on product labels or shelf labels, they can also be issued retrospectively using a printing device such as a label printer. Additionally, if the label printer has an RFID reader / writer function, it can print the two-dimensional code and record the information from the code onto an RFID tag. In this case, as described in the fourth embodiment, a system using both two-dimensional codes and RFID can be constructed. Moreover, the label printer with the RFID reader / writer function may be portable. Using such a label printer allows for issuance at the site where labels are applied, such as outdoors or while moving, without being dependent on a fixed location. This enhances the utility of the present invention as a system applicable to a wide range of uses.
[0108] Furthermore, as an example of the above-mentioned markings, two-dimensional codes can be engraved on medical instruments such as scalpels and scissors. The two-dimensional codes engraved on such medical instruments contain coded product identification information such as GTIN, expiration date, and lot number. When using the medical instrument, the two-dimensional code can be read with a code reader, and the read information can be compared with the treatment plan for the patient, thereby preventing the inappropriate use of the medical instrument. In addition, by managing the read information in association with the treatment history for the patient, it becomes possible to manage the usage history of the medical instrument and retrospectively track what treatment it was used for. In this way, it can contribute to the prevention of medical accidents and the improvement of traceability. Other examples of markings include engraving two-dimensional codes on metal containers and on tools. The markings can also be colored. Specifically, black modules can be represented by other colors, or white modules by other colors. By assigning meaning to the colors, the meaning can be visually conveyed to the user. Furthermore, two-dimensional codes can be engraved by creating indentations on the surface of materials such as stainless steel and aluminum.
[0109] When reading the engraved two-dimensional code described above, it is preferable that the code reader includes an irradiating unit that emits light. The light emitted from the code reader will be reflected by the engraved surface, creating shadows on the engraved surface. When the code reader captures an image of the engraving and obtains an image, it binarizes the image to distinguish between light and dark areas on the engraved surface and analyzes the two-dimensional code based on these light and dark areas. The irradiating light can be sourced from a light source such as a high-brightness LED or a laser.
[0110] As described above, using engraving allows for the display of two-dimensional codes even in environments where printing or labeling is difficult. Furthermore, engraving offers high durability and is resistant to physical damage, thus enabling long-term data retention.
[0111] As an example of display on a screen, a two-dimensional code may be displayed on an electronic price tag screen using e-paper. This two-dimensional code contains coded product identification information and product price. By reading the two-dimensional code with a code reader and downloading product information linked to the product identification information from a higher-level system, product information and the product price can be displayed. In such cases, paper labels and physical printing are not required, thus reducing the environmental impact.
[0112] As another example of display on other screens, a QR code may be displayed on the screen of a digital signage or tablet device. The digital signage or tablet device is an advertising display device that displays advertisements to customers, and displays the QR code along with the advertised product. The QR code contains encoded product identification information and an address for accessing a higher-level system. The customer uses a smartphone, which is a code reader, to read the QR code displayed on the screen. The smartphone accesses the higher-level system, retrieves product information linked to the scanned product identification information, and displays the retrieved product information. In addition to product information, it may also retrieve special offer information, or guide the customer to a login screen for the store system, allowing access to their purchase history.
[0113] As another example of display on different screens, in warehouse management and logistics, two-dimensional codes can be displayed on display devices such as e-paper. By scanning the two-dimensional code on the spot, workers can efficiently verify and track data. This reduces the use of paper labels while enabling real-time and flexible data management.
[0114] As described above, displaying two-dimensional codes electronically eliminates the need for printing on paper or labels, thus contributing to cost reduction and environmental protection. Furthermore, it broadens the range of applications.
[0115] [Modification 10] In the above embodiment, the code reader scans the bit sequence module based on one scanning direction, but it is also possible to scan the bit sequence module based on multiple scanning directions. For example, in the above embodiment, scanning is performed to the right starting from the start module (first scan), but in addition to this, scanning is performed downwards starting from the start module, and when the lower end cell is reached, scanning is performed downwards from the upper end cell of the next row (second scan). Then, the bits of the bit sequence module obtained by the second scan are rearranged according to the above arrangement rule, and the consistency with the bit sequence module obtained by the first scan is checked. This makes it possible to improve the accuracy of bit sequence module analysis.
[0116] [Modification 11] In the above embodiment, for example as shown in Figure 4, one two-dimensional code 100 is attached to one product, but multiple two-dimensional codes may be attached to one product. For example, one product may be attached to a first two-dimensional code that encodes the JAN code, a second two-dimensional code that encodes the product price, and a third two-dimensional code that encodes the expiration date. The code reader 300 can read these multiple two-dimensional codes all at once and display the read information (JAN code, product price, expiration date) or transmit the read information to a server.
[0117] [Modification 12] In addition to the usage of the above embodiment, the two-dimensional code 100 and code reader 300 can be used for receiving checks when receiving goods and for shipping checks when shipping goods. In this embodiment, the two-dimensional code 100 is a coded representation of the JAN code or invoice number. The code reader performs receiving and shipping processes based on the JAN code or invoice number read from the two-dimensional code 100 attached to the goods being received / shipped. Alternatively, inventory can be taken using the two-dimensional code 100 and code reader 300. In this embodiment, the two-dimensional code 100 is a coded representation of the JAN code of the goods. The code reader 300 performs inventory processing based on the read JAN code.
[0118] [Modification 13] In the fourth embodiment described above, the date information was the expiration date (use-by date) of a medical product or the best-before date (quality retention period) of a food product, but it may also be the manufacturing date, sales deadline, shipping date, arrival date, desired arrival date, etc. Furthermore, multiple types of date information (for example, manufacturing date and sales deadline) may be individually coded and included in a single group code. In addition, the date information may be the year, month, and day coded as is, or the system date may be generated by a calculation formula to save bits. For example, the amount of data can be reduced by representing the number of days elapsed from the reference date as a bit string. Furthermore, the type of date information (expiration date, best-before date, manufacturing date, etc.) may be defined by the number of cells in the two-dimensional code, or the type may be defined using a specific cell within the code section.
[0119] [Modification 14] In the fourth embodiment described above, the number of cells (number of cells vertically and horizontally) in each of the multiple two-dimensional codes is determined based on the amount of information, but it may also be determined based on the type of related information. For example, a size of 9 cells vertically x 5 cells horizontally may represent product identification information, and a size of 9 cells vertically x 4 cells horizontally may represent date information. In this case, when the code reader detects a detection module, it calculates the number of cells vertically and horizontally in the detection module and identifies the type of information based on the calculated number of cells.
[0120] [Modification 15] The arrangement of the bit sequence modules is not limited to the normal arrangement shown in Figure 8(a), but may also be a Z-sequence arrangement, a spiral arrangement, or a diagonal arrangement. In the Z-sequence arrangement, as shown in Figure 8(b), a start module is placed in the upper right cell of the code section, and bit sequence modules are placed sequentially to the left of the start module. When the left end is reached, bit sequence modules are arranged from the left end of the second row to the right. Odd-numbered rows follow the same arrangement rules as the first row, and even-numbered rows follow the same arrangement rules as the second row. In the spiral arrangement, as shown in Figure 8(c), a start bit is placed in the lower right cell (upper left of the marker), and bit sequence modules are placed sequentially in a spiral shape counterclockwise. In the diagonal arrangement, as shown in Figure 8(d), a start bit is placed in the upper right cell (above the marker), and modules are placed sequentially diagonally downwards from the side of the start bit.
[0121] [Modification 16] The third embodiment described above describes a method for identifying visitors using multiple encryption keys. This method uses two two-dimensional codes in combination to efficiently and reliably identify a large number of visitors, such as at exhibitions or live music venues. Specifically, the first two-dimensional code is set up as a code dedicated to key checking, and the second two-dimensional code is used as a code that stores a value that becomes valid only when the key check is passed. This creates a mechanism in which the information written in the second two-dimensional code becomes invalid unless accurate decryption is performed using the first two-dimensional code. The first two-dimensional code is decoded using a specific decryption key set for each application. In this decryption process, the contents of the second two-dimensional code become usable as valid information only if the analysis result matches a predetermined arbitrary value.
[0122] For example, in exhibition entry management, the first part of a QR code is decrypted with a specific encryption key, and if the result is a value accepted by the venue's authentication system, the visitor information contained in the second part of the QR code is read. At live venues, operational flexibility is improved by combining a system that centrally manages decryption keys in a repository or generates them dynamically. With such a configuration, it becomes possible to efficiently and securely manage visitors even at large-scale events or events spanning multiple venues.
[0123] To encrypt the QR code, a one-time password method can be used. For example, security can be enhanced by sending a QR code encrypted with a randomly generated number each time, and then reading and decrypting the displayed code. These one-time passwords may include a seed value (a unique value registered in advance by the user), a timestamp (the current time obtained from the system's internal clock), or a hash algorithm (a secure algorithm used to process the input value, e.g., SHA256).
[0124] Furthermore, these one-time passwords may use public-key cryptography. For example, the decoder side, such as a server or smart device app, may hold the private key, while the QR code issuing side encrypts it using the public key.
[0125] [Modification 17] In the tenth embodiment, a self-propelled transporter was described as an example of a code reader used in a transport system, but the code reader may also be installed on a transport conveyor that transports goods at a store's checkout. Specifically, the transport conveyor includes a belt conveyor that transports goods on an endless belt, and a code reader installed to the side and / or above the belt conveyor, positioned to image the items being transported by the belt conveyor. The goods in the store have a two-dimensional code displayed on them that encodes product identification information and a serial number uniquely assigned to the product. The code reader reads the two-dimensional code displayed on the item and transmits the acquired product identification information to the POS register. The POS register performs accounting processing based on the product identification information received from the code reader. Here, even if multiple code readers are installed, duplicate readings can be eliminated based on the read serial number.
[0126] [Modification 18] The two-dimensional code of the present invention may also have the colors of the modules placed in the cells inverted. That is, if the background color of the medium on which the two-dimensional code is displayed is black, the detection pattern may be represented in white, and the light-colored white module may function as "1", while the dark-colored black module (background color) may function as "0".
[0127] 100 Two-dimensional code 110a White module 110b Black module 111 Detection pattern 112 Code section 113 Marker 200 Two-dimensional code 300 Code reader
Claims
1. A two-dimensional code comprising: a detection pattern formed in the shape of a frame with a marker provided; and a code section provided in the part whose position is determined by the detection pattern, wherein a plurality of binarizable modules are arranged in a two-dimensional manner, and the plurality of modules are arranged sequentially from a predetermined position determined with respect to the marker as the starting point.
2. The two-dimensional code according to claim 1, characterized in that the code portion is provided inside the detection pattern.
3. The two-dimensional code according to claim 1, wherein the detection pattern is polygonal in shape, and the markers are provided at the corners of the detection pattern.
4. The two-dimensional code according to claim 1, wherein each of the plurality of modules is a modularized character of a string converted into a bit string, and the string is encrypted.
5. A code reading system for reading a character string from a two-dimensional code as described in claim 1, comprising: an imaging unit that captures the two-dimensional code and generates an image; a detection unit that detects the two-dimensional code contained in the image; and an analysis unit that analyzes the data module contained in the detected two-dimensional code and obtains the character string.
6. The code reading system according to claim 5, characterized in that, if the image generated by the imaging unit contains multiple two-dimensional codes, the detection unit individually detects each two-dimensional code, and the analysis unit analyzes each of the detected two-dimensional codes to obtain the string of characters for each two-dimensional code.
7. The code reading system according to claim 5, further comprising a display unit that displays the acquired string and / or information corresponding to the string together with the captured two-dimensional code.
8. The code reading system according to claim 5, comprising: a storage unit that stores the coordinates of the detected two-dimensional code in association with the acquired string; and a determination unit that determines whether or not the code has been read based on the stored coordinates.
9. The code reading system according to claim 5, wherein the mobile terminal has the imaging unit, the detection unit, and the analysis unit.
10. The code reading system according to claim 5, characterized in that the imaging unit is a fixed-point camera.