Color two-dimensional code and image processing device
The color two-dimensional code system addresses the limitations of conventional methods by employing a 2x2 array of alternating color elements and checksums for accurate high-density information encoding, ensuring reliable communication in varying light conditions.
Patent Information
- Application Number
- JP2025135812
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-08-18
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2045-08-18
AI Technical Summary
Conventional contactless information communication methods, such as barcodes and QR codes, face limitations in information density and reading accuracy, especially in varying light conditions, making it difficult to efficiently convey detailed product information without physical contact.
A color two-dimensional code system utilizing a 2x2 array of rectangular color elements with alternating first and second color groups, each comprising four distinct colors, and incorporating checksum areas for error detection, allows for high-density information encoding and accurate reading.
Enables non-contact information communication with enhanced reading accuracy and increased information density in a limited space, even in environments with varying brightness, by using the L*a*b* color space for color distinction and checksum correction.
Smart Images

Figure 0007810855000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a color two-dimensional code and an image processing device. [Background technology]
[0002] In the past, factories and logistics warehouses handled many products from different manufacturers. Even if these products were packaged in the same way, they often had different manufacturing dates and detailed specifications.
[0003] For this reason, when detailed information on an individual product is needed at a factory or logistics warehouse, it is necessary to look up the detailed specifications one by one, such as the lot number printed on the box on which the product is packed, which is a lot of work.
[0004] In response to this situation, contactless information communication technologies using barcodes and QR codes (registered trademarks) are well known. However, when using barcodes, for example, the amount of information that can be embedded in a barcode is limited, so in the case of product information, only limited content can be communicated, such as the product model, model number, and lot number.
[0005] In contrast, when using a QR code, for example, it is possible to embed a uniform resource locator (URL) address that indicates where detailed information is stored, a unique label ID, etc. However, in this case, accessing yet another system is still required to obtain the detailed information.
[0006] Therefore, in order to compensate for the low information density of barcodes and QR codes, an information encoding technique using color information called a color barcode has been proposed in recent years (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Publication No. 2022-077418 Summary of the Invention [Problem to be solved by the invention]
[0008] However, the above-mentioned conventional techniques have room for further improvement in terms of realizing contactless information communication with high reading accuracy while increasing the information density in a limited space.
[0009] For example, in the conventional technology mentioned above, eight colors are assigned to five squares to represent one character, but space is required to separate the squares, and as the amount of information increases, the area occupied by the color barcode increases.
[0010] Furthermore, in environments where brightness changes due to external light, etc., it is necessary to take into account the situation where the actual displayed color of a color barcode is likely to differ from the color read by a camera, etc. However, the above-mentioned conventional technology does not take this into consideration.
[0011] An object of the present invention is to provide a color two-dimensional code and an image processing device that can realize non-contact information communication with high reading accuracy while increasing the information density in a limited space. [Means for solving the problem]
[0012] A color two-dimensional code according to one aspect has cells consisting of a two-row, two-column array of rectangular color elements, and a code description area in which the cells are arranged in a matrix, in which the color elements of a first color group and the color elements of a second color group that differs from the first color group in at least hue are arranged alternately in the cells, and the first color group and the second color group each consist of four different colors.
[0013] A video processing device according to one aspect includes a processor, which has cells consisting of a 2-row by 2-column array of rectangular color elements, and a code description area in which the cells are arranged in a matrix, and in which the color elements of a first color group and the color elements of a second color group that differs from the first color group in at least hue are arranged alternately in the cells, and the first color group and the second color group each consist of four different colors, and which executes reading a color two-dimensional code using image recognition processing. [Effects of the Invention]
[0014] According to one embodiment, it is possible to provide a color two-dimensional code and an image processing device that can realize non-contact information communication with high reading accuracy while increasing the information density in a limited space. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a diagram showing an overview of contactless information communication using color bytecode according to an embodiment. FIG. [Figure 2] This is a diagram (part 1) showing a specific example of color bytecode. [Figure 3] This is a diagram (part 2) showing a specific example of color bytecode. [Figure 4] FIG. 10 is a diagram showing a specific example of a decorated color byte code. [Figure 5] FIG. 1 is an explanatory diagram of a cell. [Figure 6] FIG. 10 is an explanatory diagram of a color palette included in a color sample area. [Figure 7] FIG. 10 is a diagram illustrating an example of a method for selecting a color sample. [Figure 8] FIG. 1 is an explanatory diagram of a cell arrangement. [Figure 9] FIG. 10 is a supplementary explanatory diagram (part 1) of FIG. 8. [Figure 10] FIG. 10 is a supplementary explanatory diagram (part 2) of FIG. 8. [Figure 11] FIG. 1 is an explanatory diagram of byte data that can be expressed in one cell. [Figure 12] FIG. 12 is a supplementary explanatory diagram for FIG. 11. [Figure 13] This is an explanatory diagram (part 1) of error detection when reading color byte code. [Figure 14] This is an explanatory diagram (part 2) of error detection when reading color byte codes. [Figure 15] FIG. 10 is an explanatory diagram of identification and correction of read colors taking the environment into consideration. [Figure 16] 10 is a flowchart showing a processing procedure for correction processing using a white portion of a color palette. [Figure 17] FIG. 1 is an explanatory diagram of the size of a color byte code. [Figure 18] FIG. 10 is a diagram showing a modified example of color selection. [Figure 19] 10A and 10B are diagrams showing specific examples of code information in the contactless information communication system according to the embodiment; [Figure 20] 1 is a diagram illustrating an example of the configuration of a contactless information communication system according to an embodiment. [Figure 21] 1 is a block diagram showing an example of the configuration of a code information output device according to an embodiment; [Figure 22] 1 is a block diagram showing an example of the configuration of a code information restoration device according to an embodiment; [Figure 23] FIG. 1 is an explanatory diagram (part 1) of dynamic display of code information. [Figure 24] FIG. 2 is an explanatory diagram (part 2) of dynamic display of code information. [Figure 25] FIG. 2 is a diagram showing a processing sequence executed by the contactless information communication system according to the embodiment. [Figure 26] FIG. 10 is a diagram showing code information according to a first modified example. [Figure 27] FIG. 10 is a diagram showing code information according to a second modified example. [Figure 28] FIG. 1 is an explanatory diagram of a first application example of a contactless information communication system. [Figure 29] FIG. 10 is an explanatory diagram of a second application example of the contactless information communication system. [Figure 30] FIG. 10 is an explanatory diagram of a third application example of the contactless information communication system. [Figure 31]FIG. 2 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the code information restoration device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0016] The following describes in detail embodiments of the color two-dimensional code and image processing device disclosed herein with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments. Furthermore, identical elements are given the same reference numerals, redundant descriptions are omitted where appropriate, and the embodiments can be combined as appropriate within a consistent range.
[0017] In the following, when it is necessary to distinguish between multiple identical components, the symbol indicating the component may be followed by a number in the form "-k" (k is a natural number). When no particular distinction is necessary, this numbering will not be used.
[0018] In the following description, the color two-dimensional code according to the embodiment is assumed to be a color byte code 100 (see FIG. 1). The color byte code 100 is two-dimensional code information in which byte data is expressed by a combination of colors. Note that "byte data" is data in units of "bytes," which are the basic unit of information handled by computers. Since 1 byte = 8 bits, byte data of one byte length can be expressed in 256 different numerical values, from 0 to 255 in decimal (0x00 to 0xFF in hexadecimal).
[0019] In the embodiment disclosed herein, a configuration example of such a color bytecode 100 will be described with reference to Figs. 1 to 18. Also, a configuration example of a contactless information communication system SS (see Fig. 20) using the color bytecode 100 will be described with reference to Figs. 19 to 30. The contactless information communication system SS corresponds to an example of an information communication system according to an embodiment.
[0020] <<1. Example of color bytecode configuration>> <1-1. Overview of contactless information communication using color bytecode> FIG. 1 is a diagram showing an outline of contactless information communication using a color bite code 100 according to an embodiment.
[0021] 1, the color byte code 100 is displayed on various display media, such as paper on which the color byte code 100 is printed, a smartphone, or a display.
[0022] Then, for example, the camera 3b captures the color byte code 100 displayed on the display medium, and performs image recognition processing on the captured image, including a function to decode the color byte code 100, thereby reading the color byte code 100.
[0023] By using the color byte code 100, it is possible to obtain the advantages that radio wave interference does not occur and a general camera can be used as the camera 3b, as compared to RFID (Radio Frequency IDentification) and the like which uses electromagnetic waves.
[0024] Furthermore, compared to using barcodes, QR codes, conventional color barcodes, etc., it is possible to realize non-contact information communication with high reading accuracy while increasing the information density in a limited space. Below, a specific example of the configuration of the color barcode 100 that can achieve these effects will be described.
[0025] <1-2. Specific examples of color bytecode> Fig. 2 is a diagram (part 1) showing a specific example of the color byte code 100. Fig. 3 is a diagram (part 2) showing a specific example of the color byte code 100. Fig. 4 is a diagram showing a specific example of a decorated color byte code 100A.
[0026] 2, the color bytecode 100 has a code description region R1, which includes a code body region R11, checksum regions R12 and R13, and a color sample region R14.
[0027] The code body region R11 contains code information that uses a combination of colors to represent the main part of the information exchanged in contactless information communication. The checksum regions R12 and R13 contain code information that uses colors to represent the checksum, which is a code for detecting reading errors. The color sample region R14 contains code information that includes color samples used for the code information in the code body region R11 and the checksum regions R12 and R13.
[0028] Here, each of the regions R11 to R14 in Fig. 2 represents a matrix of rectangles arranged vertically and horizontally, with each rectangle representing one color element. One color element is filled with one color. Adjacent color elements are all different colors.
[0029] In FIG. 2, the boundaries between each color element are intentionally separated by black borders to clearly illustrate the configuration example of the color byte code 100. However, in this embodiment, the boundaries between color elements do not actually have such borders. This also applies to the drawings shown below. In this embodiment, the boundaries between color elements are identified by the difference in color between each color element. The color arrangement that enables this will be described later using FIG. 7 and other figures. In addition to the example described in this embodiment, the boundaries between color elements may have borders.
[0030] As shown in FIG. 3, the code writing area R1 is configured as an area surrounded by a heptagonal black frame F1. The black frame F1 has one corner (the lower right corner in FIG. 3) configured as a right angle, and the remaining six corners are configured at the same angle θ. As shown in FIG. 3, the angle θ is, for example, 135°. Note that the example of the angle shown in FIG. 3 is merely an example and does not limit the angles of the corners of the black frame F1. For example, the black frame F1 does not have to include a right angle. Furthermore, the angle θ does not have to be the same.
[0031] When the color bytecode 100 is read, the code writing area R1 is determined as the area inside the black frame F1 having these angles. The up / down / left / right orientation of the code writing area R1 is also determined based on the position of the right angles of the black frame F1. The area outside the black frame F1 is determined as the margin area R0.
[0032] Furthermore, because triangles, quadrilaterals, pentagons, hexagons, octagons, etc. are shapes that are commonly used in everyday signs, marks, symbols, printed materials, etc., there is a high possibility that they will appear in the image captured by camera 3b, making it difficult to identify the code description area R1.
[0033] In contrast, heptagons are not commonly used shapes, and heptagons with only one right-angled corner are rarely used. Furthermore, excessive polygonal shapes can complicate shape determination. However, the black frame F1 of this embodiment has an unusual shape, making it not only easy to distinguish, but also reducing the burden of shape determination. Thus, the unique shape of the black frame F1 in the color bytecode 100 makes it easy to identify the code description area R1 and shortens the time it takes to read it.
[0034] The margin area R0 and the code writing area R1 can be decorated as needed. Figure 4 shows a color bytecode 100A in which a mark M1 is added to the margin area R0 and two lines D1 are added to the code writing area R1 of the color bytecode 100 shown in Figure 2.
[0035] The mark M1 is, for example, a unique symbol, character, or design that indicates the manufacturer or version of the product. The drawn line D1 is, for example, a straight line that follows the contours of two vertical and horizontal sides of the code body region R11. The drawn line D1 can make it easy to identify the code body region R11 within the code description region R1. Note that the two drawn lines D1 shown in FIG. 4 may be drawn as a single drawn line with a right-angled corner.
[0036] <1-3. Color elements and cells> Next, we will specifically explain the color elements of the color byte code 100 and an example of the configuration of a cell, which is the unit of handling color elements in the color byte code 100. Fig. 5 is an explanatory diagram of a cell C. Fig. 6 is an explanatory diagram of a color palette included in the color sample area R14. Fig. 7 is a diagram showing an example of a method for selecting a color sample.
[0037] As shown in FIG. 5, in the color byte code 100, for example, a color element e ij , one cell C mn The subscripts i and j (both natural numbers) of the color element e are treated as follows: mn The subscripts m and n (both natural numbers) of cell C represent the row and column indicating the position of cell C within the code body region R11. These subscripts will be omitted as appropriate if not necessary for the explanation.
[0038] In this embodiment, two sets of four different colors are used for the color element e, for a total of eight colors. As shown in Fig. 6, a color palette showing color samples of the eight colors used for the color element e is arranged in the color sample area R14.
[0039] As shown in FIG. 6, the color palette includes a first set of four color samples, called "color samples of the first color group," and a second set of four color samples, called "color samples of the second color group." A white "white area" is placed between the color samples of the first color group and the color samples of the second color group. This white area is used to correct the chromaticity of the read color, as described below with reference to FIGS. 15 and 16.
[0040] In this embodiment, for example, "CIE (International Commission on Illumination) L*a*b*" is used as the color model (hereinafter referred to as "color space") for the color element e. Note that "CIE L*a*b*" will be referred to as "L*a*b* color space" below, but it may be read as the general abbreviation "CIELAB."
[0041] The colors of each color sample shown in Figure 6 are selected from a first color group and a second color group that are easy to distinguish in the L*a*b* color space. Furthermore, four colors that are easy to distinguish in the L*a*b* color space are selected for each of the first color group and the second color group.
[0042] Specifically, as shown in Figure 7, the first color group is made up of four colors selected from colors along the a* axis of the L*a*b* color space. On the other hand, the second color group is made up of four colors selected from colors along the b* axis of the L*a*b* color space. In other words, the first color group and the second color group differ in at least their hues. In this way, by selecting the first color group and the second color group from colors along different axes of the L*a*b* color space, it is possible to first make the first color group and the second color group easier to distinguish.
[0043] In the first color group, two light and dark colors are selected from the red system along the a* axis of the L*a*b* color space (i.e., from the origin toward red) as the first selected colors. In this case, for example, a color in the red system that can be expressed in sRGB and has a large a* value is selected as the first color of the first selected colors.
[0044] The second color is then selected based on the L* value of the selected color. For example, if the first color has an L* value of <65, then the second color should have an L* value of ≥65, and if the first color has an L* value of ≥65, then the second color should have an L* value of <65. It is desirable that the a* values of both the first and second colors are not close to 0, and that the difference in the L* values between the first and second colors is 10 or more.
[0045] This also applies to the second selected color of the first color group and the first and second selected colors of the second color group, which will be described later. This makes it easier to distinguish between the selected colors in each of the first and second color groups.
[0046] In the first color group, two light and dark colors are selected from the green system along the a* axis of the L*a*b* color space (i.e., from the origin toward green) as the second selected colors. In the second color group, two light and dark colors are selected from the yellow system along the b* axis of the L*a*b* color space (i.e., from the origin toward yellow) as the first selected colors. In the second color group, two light and dark colors are selected from the blue system along the b* axis of the L*a*b* color space (i.e., from the origin toward blue) as the second selected colors.
[0047] Returning to the explanation of Fig. 5, in the color byte code 100, as shown in Fig. 5, in one cell C, for example, a color element e 11 For example, a color element e 12 For example, a color element e 21 For example, a color element e 22 Place one of the colors from the first color group on the
[0048] That is, in the color byte code 100, a color element e in one cell C is arranged so that it is adjacent to at least one color element e from a different color group. In other words, the color elements e from different color groups are arranged alternately. Alternatively, the color elements e from different color groups are arranged in a checkered pattern.
[0049] <1-4. Cell placement> Next, the arrangement of cell C will be described. Fig. 8 is an explanatory diagram of the arrangement of cell C. Fig. 9 is a supplementary explanatory diagram (part 1) of Fig. 8. Fig. 10 is a supplementary explanatory diagram (part 2) of Fig. 8.
[0050] As shown in Figure 8, cell C 11 ,C 12 ,C 13 ,…,C 21, ... are arranged vertically and horizontally in a matrix. By arranging the cells C in this way, the code information of the code body region R11 is generated. As a result, the code information of the code body region R11 has a rectangular shape as a whole.
[0051] In this code information, cell C is read from left to right and from top to bottom. In the example of FIG. 8, as shown by the arrow in the figure, cell C 11 →Cell C 12 →Cell C 13 →…Cell C 21 When reading in this manner, as described above, the color elements e in one cell C are arranged alternately, with the color elements e of different color groups, so the boundaries are clear as shown in Figure 9, and the cell C can be easily recognized.
[0052] Therefore, as shown in Figure 10, even if there are many cells C, each cell C with its vertices at the white dots in the figure can be clearly recognized. Also, as shown in Figure 10, even if there is some distortion when reading, the colors of adjacent cells C do not mix, and the top, bottom, left, and right boundaries can be clearly identified.
[0053] That is, in the color bytecode 100, there is no need to provide boundaries or spaces to separate the boundaries of the cells C. This makes it possible to maximize the information density in a limited space.
[0054] <1-5. Color bytecode encoding and decoding> Next, a description will be given of the encoding and decoding processes of the color bytecode 100. Fig. 11 is an explanatory diagram of byte data that can be expressed by one cell C. Fig. 12 is a supplementary explanatory diagram for Fig. 11.
[0055] As shown in FIG. 11, for one cell C, the color element e is selected according to a color sample of a preselected color palette. 11 ,e 22 In each of the color elements, four colors can be arranged from the first color group, and the color element e12 ,e 21 In each of these, four colors from the second color group can be arranged. In other words, there are 256 (=4 x 4 x 4 x 4) color combinations for each color element e in one cell C, and one cell C can be expressed numerically in hexadecimal notation from 0x00 to 0xFF, that is, in byte data of one byte length.
[0056] Therefore, as shown in Figure 12, a value that can be expressed in one byte (the value in the figure is just an example) can be embedded in each cell C by combining the colors of the color sample. Furthermore, the embedded value can be decoded from the color combination of each cell C that is read.
[0057] That is, when the color byte code 100 is generated, an encoding process is performed based on each color of a preselected color sample to convert the information body to be communicated via contactless information communication into a color combination in each cell C. On the other hand, as shown in Fig. 11, when the color byte code 100 is read, a decoding process is performed to convert the color combination of each read cell C into 0x00 to 0xFF.
[0058] <1-6. Error detection> Next, we will explain error detection when reading the color byte code 100. Fig. 13 is an explanatory diagram (part 1) of error detection when reading the color byte code 100. Fig. 14 is an explanatory diagram (part 2) of error detection when reading the color byte code 100.
[0059] The color bytecode 100 has the aforementioned checksum areas R12 and R13 as a mechanism for detecting errors during reading. In the checksum area R12, the checksum obtained by summing up the color elements e arranged at the same position in each cell C in the row direction is expressed by color. Similarly, in the checksum area R13, the checksum obtained by summing up the color elements e arranged at the same position in each cell C in the column direction is expressed by color.
[0060] Specifically, as shown in Figure 13, when encoding the color bytecode 100, each color in the color sample of the first color group is converted into a numerical value between 0 and 3 according to the color sample. Then, these numerical values for the color element e at the same position in each encoded cell C are added in the row direction using a base 4 system, and the last digit of the total is placed in checksum area R12 as a checksum. Similarly, the total in the column direction is placed in checksum area R13 as a checksum.
[0061] When the color byte code 100 is read, the last digit of the sum of the read values in row direction (based on 4) is calculated for each color element e at the same position in each read cell C. This is then compared with the checksum at the corresponding position in the checksum area R12. Similarly, the last digit of the sum of the read values in column direction (based on 4) is calculated and compared with the checksum at the same position in the checksum area R13.
[0062] Here, for example, as shown in FIG. 14, cell C 11 Color element e 11 If the correct answer "1" is read as "0", the last digit of the row-wise total value in the error detection will not match the checksum in the checksum area R12. 11 Color element e 11 In the column direction, the last digit of the total value also does not match the checksum in the checksum area R13.
[0063] In other words, when such a mismatch is detected, the abnormal color element e (here, cell C) is read from the intersection of the mismatched row and column. 11 Color element e 11 ) can be identified.
[0064] If the color element e identified as having a reading error is one location, the other color elements e in the same row and column (cell C 12 ,C 13 ,…,C 21 Each color element e 11 ) and color element e 11Correction can be made based on the checksum. Also, if there are multiple color elements e that are read abnormally, it can be treated as a read error.
[0065] <1-7. Identification and correction of read color> Next, the identification and correction of read colors taking into consideration the environment where brightness changes due to external light, etc. will be explained using Fig. 15 and Fig. 16. Fig. 15 is an explanatory diagram of the identification and correction of read colors taking into consideration the environment. Fig. 16 is a flowchart showing the processing procedure for correction processing using the white part of the color palette.
[0066] In an environment where brightness changes due to external light, etc., discrepancies are likely to occur in the L*, a*, and b* values between the actual displayed color of the color byte code 100 and the read color, as shown in Figure 15, for example.
[0067] Taking this into consideration, when reading the color byte code 100, it is advisable to determine threshold values for the L*, a*, and b* values, which define the allowable range of error based on each selected color in the color sample, in advance according to the environment, etc., and to identify and judge the color when reading based on these threshold values.
[0068] Experiments have shown that the brightness of colors is easy to distinguish even when slightly affected by external light. On the other hand, since hue is somewhat affected by external light, it is desirable to select colors in advance that can be clearly distinguished even when affected, and to determine them using the a* and b* values. This ensures reading accuracy. In other words, by identifying colors based on the L*a*b* color space, it is possible to make them easy to read as intended, even when there is an effect of, for example, a decrease in brightness at a distance or a change in hue due to the display's luminous color (blue).
[0069] Furthermore, the chromaticity correction process using the white part of the color palette shown in Fig. 6 may be performed by, for example, a processor of a computer that performs image recognition processing of the color byte code 100 (for example, the control unit 32 of the code information restoration device 30 shown in Fig. 22 later). Specifically, as shown in Fig. 16, when reading the color byte code 100, the processor also reads the color of the white part of the color palette (step S101).
[0070] Then, the processor converts the read color of the white part read in step S101 into an L*a*b* color space value (step S102), and calculates the amount of deviation of the converted value from the origin position of the L*a*b* color space (step S103).
[0071] The processor then corrects the chromaticity of the read color for the color byte code 100 based on the deviation calculated in step S103 (step S104), and ends the correction process. In this way, by utilizing the properties of the L*a*b* color space, the read chromaticity can be corrected, thereby improving reading accuracy.
[0072] <1-8. Size of color bytecode> Next, the size of the color byte code 100 will be explained using Fig. 17. Fig. 17 is an explanatory diagram of the size of the color byte code 100.
[0073] Theoretically, there is no limit to the size of the color byte code 100. For example, the size of the color byte code 100 can be changed depending on the size of the paper used as the display medium, the resolution of the display, the reading accuracy of the camera 3b, etc., and the size can be set to any desired size.
[0074] For example, as shown in Fig. 17, the color byte code 100 can assign one color element e to one pixel (1px) of the display. In this case, one cell C has four pixels (=2px x 2px).
[0075] For example, if the display resolution is 1920 x 1080, it is possible to communicate approximately 130 kilobytes (129.6 kilobytes) of data. In the case of a QR code, 40 cells equals approximately 3 kilobytes, so the information density can be significantly increased compared to a QR code.
[0076] <1-9. Variations in color selection> Next, a modified example of color selection will be described. Fig. 18 is a diagram showing a modified example of color selection. In the explanation so far, an example using the L*a*b* color space has been given, but as shown in Fig. 18, each selected color in each of the first color group and the second color group may be selected using hue.
[0077] This makes it possible to achieve contactless information communication with high reading accuracy while increasing information density in a limited space, even when selecting each color in the first and second color groups using a color model other than the L*a*b* color space.
[0078] <<2. Example of a contactless information communication system using color bytecode>> <2-1. Specific examples of code information in contactless information communication systems> Next, a configuration example of a contactless information communication system SS using the color bytecode 100 described above will be described. Fig. 19 is a diagram showing a specific example of code information 300 in the contactless information communication system SS according to the embodiment. The code information 300 is information including a "readable code" that is coded so as to be readable by image recognition processing including a decoding function.
[0079] 19, code information 300 in the contactless information communication system SS according to the embodiment has a header 301 and a body 302. A general-purpose readable code, such as a black-and-white one-dimensional code or two-dimensional code, such as a barcode or a QR code, can be placed in the header 301.
[0080] On the body 302, for example, a color byte code 100 corresponding to a large amount of information can be arranged as a read code.
[0081] It should be noted that general-purpose code, such as human-recognizable plain text or a design, can be placed in the blank areas of the header 301 and body 302. For example, Fig. 19 shows an example in which production management information is written in plain text in the blank area of the header 301.
[0082] <2-2. Example of contactless information communication system configuration> Next, Fig. 20 is a diagram showing an example of the configuration of a contactless information communication system SS according to an embodiment. As shown in Fig. 20, the contactless information communication system SS includes a camera 3a, a code information output device 10, a display device 20, a camera 3b, and a code information restoration device 30. The code information output device 10 or the code information restoration device 30 corresponds to an example of a "video processing device."
[0083] The camera 3a is placed at a production site and captures a predetermined target at the production site. The production site may be a factory or a logistics warehouse. Alternatively, the production site may be any of various plants such as a power plant, a substation, or an oil refinery.
[0084] The code information output device 10 is placed near the camera 3a at the production site, in an operation room at the production site, etc. Note that the code information output device 10 may be placed at a location away from the production site as long as it can at least acquire the video captured by the camera 3a.
[0085] The code information output device 10 is a computer that generates code information 300 by encoding detailed information corresponding to the image captured by the camera 3a and adds the code information 300 to the captured image. The code information output device 10 is used, for example, by an operator at a production site. Detailed information about the production site that needs to be encoded is input to the code information output device 10 by, for example, the operator.
[0086] The code information output device 10 is realized by, for example, a server computer, an edge computer, a PC (Personal Computer), etc. The code information output device 10 may also be realized by, for example, a mobile PC, a smartphone, or a tablet carried by an operator, or a wearable computer that can be worn by an operator. When the code information output device 10 is carried or worn by an operator, the camera 3a and the code information output device 10 may be configured as an integrated unit.
[0087] Furthermore, the code information output device 10 outputs a composite image obtained by adding the generated code information 300 to the image captured by the camera 3a to the display device 20. The display device 20 is a display device that displays the composite image output from the code information output device 10. The display device 20 may be placed at any location. For example, the display device 20 is placed at a position where it is visible to a reader who needs to read the code information 300. The code information output device 10 may output the generated code information 300 to, for example, a monitor placed at a production site. In this case, the camera 3a may capture the code information 300 output to the monitor together with the production site, and the display device 20 may display, for example, the video recorded by the camera 3a.
[0088] The camera 3b is placed, for example, near the display device 20, and captures the image displayed on the display device 20. The code information restoration device 30 is placed near the camera 3b or at the location of the reading user.
[0089] The code information restoration device 30 is a computer that reads the code information 300 shown in the video captured by the camera 3b using image recognition processing including a decoding function, and outputs the decoded result. The code information restoration device 30 is used by a reading user. Note that Fig. 20 shows an example in which the decoded result is output to the reading user in, for example, JSON (JavaScript (registered trademark) Object Notation) format.
[0090] The code information restoration device 30 is realized by, for example, a server computer, an edge computer, a PC, etc. The code information restoration device 30 may also be realized by, for example, a mobile PC, a smartphone, or a tablet carried by the reader, or a wearable computer that can be worn by the reader. When the reader carries or wears the code information restoration device 30, the camera 3b and the code information restoration device 30 may be configured as an integrated device.
[0091] The code information output device 10 may generate code information 300 indicating detailed information based on input from an operator or the like for pre-recorded video captured by the camera 3a, and may record a composite video to which the code information 300 has been added. In this case, when a viewing request is made by a reading user, the code information output device 10 may output to the display device 20 the composite video of the code information 300 in response to the viewing request.
[0092] <2-3. Example of code information output device configuration> Next, a more specific description will be given of an example of the configuration of the code information output device 10. Fig. 21 is a block diagram showing an example of the configuration of the code information output device 10 according to the embodiment. Note that Fig. 21 and Fig. 22 shown later show functional blocks of only components necessary for explaining this embodiment, and descriptions of general components are omitted.
[0093] In addition, in the description using FIGS. 21 and 22, the description of components that have already been described will be appropriately simplified or omitted.
[0094] 21, the code information output device 10 includes a storage unit 11 and a control unit 12. The code information output device 10 is also connected to a camera 3a, an input unit 5a, and a display device 20.
[0095] As described above, the camera 3a captures an image of a target at the production site. The input unit 5a is an input interface for input by an operator or the like who uses the code information output device 10. The input unit 5a is realized by, for example, a keyboard, a mouse, a touch panel, or the like. For example, an operator inputs detailed information to be added to the captured image of the production site via the input unit 5a.
[0096] The display device 20 is a display device that displays a composite image to which the code information 300 has been added by the code information output device 10 as described above.
[0097] The storage unit 11 is realized by a storage device such as a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, or an HDD (Hard Disk Drive). The storage unit 11 stores a program (not shown) according to an embodiment executed by the control unit 12. The storage unit 11 also stores various types of information used in the information processing executed by the control unit 12.
[0098] 21, the storage unit 11 stores video information 11a and encoding control information 11b. The video information 11a is video captured by a camera 3a and acquired by an acquisition unit 12a (described later). The encoding control information 11b is control information related to encoding processing executed by an encoding processing unit 12b (described later).
[0099] The encoding control information 11b includes, for example, various definition information and parameters for encoding the information to be encoded. For example, the encoding control information 11b includes definition information regarding the layout of the code information 300 generated as a result of the encoding process. Furthermore, for example, if the code information 300 includes a color bytecode 100, the encoding control information 11b includes information regarding the color model to be used and information regarding each selected color in the first color group and the second color group in the color sample. In this case, the encoding control information 11b further includes information regarding the numerical representation corresponding to the color combination of the color element e in cell C.
[0100] The control unit 12 corresponds to a so-called processor and is realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphical Processing Unit), or the like.
[0101] The control unit 12 reads the program according to the embodiment stored in the storage unit 11 and executes it using the RAM as a work area. The control unit 12 can also be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0102] The control unit 12 has an acquisition unit 12a, an encoding processing unit 12b, a synthesis unit 12c, and an output control unit 12d, and realizes or executes the functions and actions of information processing described below.
[0103] The internal configuration of the control unit 12 is not limited to the configuration shown in Fig. 21, and may be any other configuration as long as it is capable of executing the information processing described below. Furthermore, the connection relationship between the processing units included in the control unit 12 is not limited to the connection relationship shown in Fig. 21, and may be any other connection relationship.
[0104] The acquisition unit 12a acquires the video captured by the camera 3a from the camera 3a and stores it in the storage unit as video information 11a. The acquisition unit 12a also acquires the information to be coded that is input via the input unit 5a and outputs it to the encoding processing unit 12b.
[0105] The encoding processing unit 12b executes an encoding process to encode the information to be encoded acquired by the acquiring unit 12a based on the encoding control information 11b. The encoding processing unit 12b also generates code information 300 as a processing result of the encoding process and outputs the generated code information 300 to the combining unit 12c.
[0106] The synthesis unit 12c generates a synthesized video by synthesizing the code information 300 generated by the encoding processing unit 12b with the video captured by the camera 3a stored as the video information 11a. The synthesis unit 12c also outputs the generated synthesized video to the output control unit 12d.
[0107] The output control unit 12d outputs the composite video image synthesized by the synthesis unit 12c to the display device 20, and causes the display device 20 to display the composite video image.
[0108] <2-4. Example of code information restoration device configuration> Next, a more detailed description will be given of an example of the configuration of the code information restoration device 30. Fig. 22 is a block diagram showing an example of the configuration of the code information restoration device 30 according to the embodiment.
[0109] 22, the code information restoration device 30 includes a storage unit 31 and a control unit 32. The code information restoration device 30 is also connected to a camera 3b, an input unit 5b, and an output unit 7b.
[0110] As described above, the camera 3b captures the display image of the display device 20. The input unit 5b is an input interface for input by a reader who uses the code information restoration device 30. The input unit 5b is realized by a keyboard, a mouse, a touch panel, or the like.
[0111] The output unit 7b is an output interface for outputting to a reader who uses the code information restoration device 30. The output unit 7b is realized by, for example, a display.
[0112] The storage unit 31 is realized by a storage device such as a ROM, a RAM, a flash memory, or a HDD. The storage unit 31 stores a program (not shown) according to an embodiment executed by the control unit 32. The storage unit 31 also stores various types of information used in the information processing executed by the control unit 32.
[0113] 22, the storage unit 31 stores video information 31a and decoding control information 31b. The video information 31a is video captured by a camera 3b and acquired by an acquisition unit 32a (described later). The decoding control information 31b is control information related to a decoding process executed by a decoding processing unit 32b (described later).
[0114] The decoding control information 31b includes, for example, various definition information and parameters for decoding the code information 300. For example, the decoding control information 31b includes definition information related to the output format of the decoded result generated as a result of the decoding process. Furthermore, for example, when the code information 300 includes a color bytecode 100, the decoding control information 31b includes information related to the color model to be used and information related to the selected colors of the first color group and the second color group in the color sample. In this case, the decoding control information 31b also includes information related to the numerical expression corresponding to the color combination of the color element e in cell C.
[0115] The control unit 32 corresponds to a so-called processor and is realized by a CPU, an MPU, a GPU, or the like.
[0116] The control unit 32 reads the program according to the embodiment stored in the storage unit 31 and executes it using the RAM as a work area. The control unit 32 can also be realized by an integrated circuit such as an ASIC or an FPGA.
[0117] The control unit 32 has an acquisition unit 32a, a decoding processing unit 32b, and an output control unit 32c, and realizes or executes the functions and actions of information processing described below.
[0118] The internal configuration of the control unit 32 is not limited to the configuration shown in Fig. 22, and may be any other configuration as long as it is capable of executing the information processing described below. Furthermore, the connection relationship between the processing units included in the control unit 32 is not limited to the connection relationship shown in Fig. 22, and may be any other connection relationship.
[0119] The acquisition unit 32a acquires the video captured by the camera 3b from the camera 3b, and stores it in the storage unit as video information 31a.
[0120] The decoding processing unit 32b identifies the code information 300 by performing image recognition processing on the video captured by the camera 3b and acquired by the acquisition unit 32a. The decoding processing unit 32b also extracts the read code that is included in the header 301 and body 302 of the code information 300 and is to be decoded.
[0121] The decoding processing unit 32b then executes a decoding process for decoding the extracted read code based on the decoding control information 31b. The decoding processing unit 32b then outputs the decoding result, which is the processing result of the decoding process, to the output control unit 32c. The output control unit 32c then causes the output unit 7b to output the decoding result output by the decoding processing unit 32b.
[0122] <2-5. Example of dynamic display of code information> Next, an example of dynamic display of the code information 300 will be described with reference to Fig. 23 and Fig. 24. Fig. 23 is an explanatory diagram (part 1) of dynamic display of the code information 300. Fig. 24 is an explanatory diagram (part 2) of dynamic display of the code information 300.
[0123] The code information 300 can change the contents of, for example, the body 302. When the contents of the body 302 are changed, the contents of the header 301 are also changed accordingly. This allows the update of the body 302 to be read by updating the header 301, and the user to be notified.
[0124] The header 301 can include the switching cycle, the total number of pages, the current number of pages, and so on.
[0125] For example, the header example shown in Figure 23 indicates that there are a total of eight pages and that the current page is page 4. The same header example also indicates that when you reach the last page, the page will rotate back to the beginning, and that the switching cycle is 3 seconds.
[0126] This switching cycle switches the combination of a first body and a first header corresponding to the first body to a combination of a second body and a second header corresponding to the second body, as shown in Figure 24. Similarly, the combination of a second body and a second header corresponding to the second body is switched to a combination of a third body and a third header corresponding to the third body. Furthermore, when the final page is reached, the combination of the final page is switched to a combination of a first body and a first header corresponding to the first body.
[0127] By enabling dynamic display of such code information 300, even if the detailed information of a production site, for example, is large in volume, it can be divided into multiple readable codes and coded, and the user can read it to obtain the information.
[0128] <2-6. Processing sequence> Next, a processing sequence executed by the contactless information communication system SS will be described with reference to Fig. 25. Fig. 25 is a diagram showing a processing sequence executed by the contactless information communication system SS according to the embodiment.
[0129] 25, in the code information output device 10, the control unit 12 acquires a video image captured by the camera 3a at the production site or the like (step S201). In addition, the control unit 12 acquires production information (detailed information to be coded relating to the production site or the like) via the input unit 5a (step S202).
[0130] Then, the control unit 12 executes an encoding process for the acquired production information (step S203), and combines the code information 300 generated by the encoding process with the video captured by the camera 3a (step S204).
[0131] Then, the control unit 12 outputs the generated composite image to the display device 20 (step S205), and the display device 20 displays the composite image (step S206).
[0132] The camera 3b captures a composite image of the code information 300 displayed on the display device 20.
[0133] Meanwhile, the control unit 32 of the code information restoration device 30 acquires the captured video from the camera 3b (step S207). Then, the control unit 32 executes a decoding process for the code information 300 shown in the acquired captured video (step S208) and outputs the decoding result (step S209).
[0134] <2-7. Modifications of code information> Next, modified examples of the code information 300 will be described with reference to Fig. 26 and Fig. 27. Fig. 26 is a diagram showing code information 300A according to a first modified example, and Fig. 27 is a diagram showing code information 300B according to a second modified example.
[0135] 26 shows code information 300A in the contactless information communication system SS, which does not necessarily include the color byte code 100. In the code information 300A, for example, a general-purpose one-dimensional code is placed as a readable code in the header 301, and a general-purpose two-dimensional code is placed as a readable code in the body 302.
[0136] 26, the code information 300A may have a plurality of readable codes arranged in the body 302. In this case, for example, the readable code in the header 301 may indicate the configuration of the body 302 (three readable codes).
[0137] Furthermore, the code information 300 in the contactless information communication system SS may be configured only with the body 302, as shown by code information 300B-1 and 300B-2 in FIG. 27. FIG. 27 shows examples of code information 300B-1 consisting only of the body 302 in which a QR code is placed, and code information 300B-2 consisting only of the body 302 in which a color bytecode 100 is placed. This can be achieved, for example, by fixing the configuration of the body 302 (fixing the usage conditions). Fixing the configuration of the body 302, as compared with the example shown in FIG. 26, means, for example, fixing the number of readable codes placed in the body 302 to one. In other words, if the content of the body 302 is fixed, such as the number of readable codes being one, or if the content of the body is fixed based on a prior agreement, the header 301 may be omitted.
[0138] <2-8. Usage examples> Next, application examples of the contactless information communication system SS will be described with reference to Fig. 28 to Fig. 30. Fig. 28 is an explanatory diagram of a first application example of the contactless information communication system SS. Fig. 29 is an explanatory diagram of a second application example of the contactless information communication system SS. Fig. 30 is an explanatory diagram of a third application example of the contactless information communication system SS.
[0139] (2-8-1. First example of use) First, in the first use case, we will assume a scene of a shipping work site connected to the aforementioned production site, as shown in Figure 28. At such shipping work sites, it has been common to see delivery trucks lining up when shipping work is delayed.
[0140] In such cases, the current situation in the shipping work site yard was filmed by camera 3a and sent to the delivery truck driver, but the driver could not receive any information beyond what was shown in the video feed, making it difficult for the driver to understand the situation. On the other hand, from the perspective of the production site operator, there is also the situation where they do not want the delivery truck driver, who is an employee of another company, to access their company's system to check the situation.
[0141] Therefore, by distributing coded information 300 containing detailed information about the site along with the camera image captured by camera 3a, the delivery truck driver, who is the reading user, can obtain detailed information indicating the current situation.
[0142] 28, the code information output device 10 distributes a distribution video including the code information 300 to, for example, a display device 20 provided in an on-board device of each delivery truck. Then, each driver shoots the distribution video using a code information restoration device 30, which is, for example, a smartphone carried by the driver, and the code information restoration device 30 decodes the code information 300 shown in the distribution video and outputs the decoding result.
[0143] (2-8-2. Second example of use) Next, in the second use case, we consider a scenario in which an operator of a plant's power equipment wants to check the process status of each production site in the plant, as shown in Figure 29. Conventionally, it has been common for operators of power equipment in plants to have difficulty understanding the timing of equipment operation / stop, and to have to keep the equipment running at full capacity at all times.
[0144] In such a case, in the second application example, the video images captured by the cameras 3a-1, 3a-2, and 3a-3 installed at each production site are sent to the display devices 20-1, 20-2, and 20-3 along with coded information 300 that encodes the process status of each site, including the preceding and following processes. This allows the operator of the power equipment to grasp the current process status of each production site via the code information restoration device 30, which may be, for example, a smartphone carried by the operator. This also enables the operator to operate / stop the power equipment at the appropriate timing.
[0145] (2-8-3. Third example) Next, in the third use case, as shown in Figure 30, assume a scene in which camera 3a captures wastewater discharged from a factory, and the captured video is recorded or made public in real time. In such a scene, even if the wastewater occasionally bubbles but there is no problem with the water quality, it is likely to appear to a third party viewing the public video that there is a problem with the water quality. However, it is not possible to allow a third party to access the company's system, and it is difficult to convey to the third party that there is no problem with the wastewater quality.
[0146] In such a case, in the third example of use, by recording or publishing the coded information 300 that encodes the water quality test values of the wastewater along with the video captured by camera 3a, third parties can easily understand via their own smartphones, etc. that there is no problem with the quality of the wastewater.
[0147] <<Effects>> As described above, the color bytecode 100 according to the embodiment (corresponding to an example of a "color two-dimensional code") has cells C each consisting of a two-row, two-column rectangular array of color elements e, and a code description region R1 in which the cells C are arranged in a matrix. Each cell C alternates between color elements e from a first color group and color elements e from a second color group that differs in at least hue from the first color group, with the first color group and the second color group each consisting of four different colors. This eliminates the need for boundaries, and allows for 256 different representations, each corresponding to one byte of byte data. This means that contactless information communication with high read accuracy can be achieved while increasing information density in a limited space.
[0148] The code writing area R1 is surrounded by a heptagonal black frame F1 (an example of a "frame"), with one right-angled corner and six non-right-angled corners. This makes it easier to identify the code writing area R1 and reduces the time it takes to read it.
[0149] Each color of the color element e has a unique conversion value in the first color group or the second color group, and the code description area R1 contains color elements e that indicate a checksum obtained by adding up the conversion values of color elements e at the same position in the row and column directions between cells C. This makes it possible to detect errors when reading the color byte code 100.
[0150] Additionally, the code description area R1 contains color elements e each representing a color sample of the first color group, a color sample of the second color group, and a white color sample, which allows for the correction of the read color according to the environment using each color sample.
[0151] The color samples of the first color group and the second color group are selected based on the CIELAB system, which allows for the selection of easily distinguishable colors while taking advantage of the properties of the CIELAB system.
[0152] In addition, the first color group is selected along the *a axis of CIELAB, and the second color group is selected along the *b axis of CIELAB, which makes it easy to distinguish at least the first color group and the second color group.
[0153] Additionally, the colors in the first and second color groups are selected along the *L axis of the CIELAB color system, which makes it easier to distinguish the colors in the first and second color groups according to their brightness.
[0154] Furthermore, there are no boundaries between the color elements e, which means that there is no need to provide boundaries or spaces to separate the color elements e, and information density can be maximized in a limited space.
[0155] Furthermore, the code information restoration device 30 (corresponding to an example of a "video processing device") according to the embodiment includes a control unit 32 (corresponding to an example of a "processor"). The control unit 32 executes image recognition processing to read a color byte code 100, which includes cells C each consisting of a 2-row, 2-column array of rectangular color elements e and a code description region R1 in which the cells C are arranged in a matrix, in which color elements e of a first color group and color elements e of a second color group that differ in at least hue from the first color group are alternately arranged in the cells C, and the first color group and the second color group each consist of four different colors. This makes it possible to read the color byte code 100 without requiring boundaries and capable of expressing 256 different patterns, each corresponding to one byte of byte data. In other words, it is possible to increase the information density in a limited space while achieving contactless information communication with high reading accuracy.
[0156] Each color of the color element e has a unique conversion value in the first color group or the second color group, and the code description area R1 is provided with color elements e that indicate checksums obtained by summing up the conversion values of color elements e at the same position in the row and column directions between cells C, and the control unit 32 performs error detection using the checksums when reading the color bytecode 100. This makes it possible to detect errors using the checksums and identify the location of the errors.
[0157] Furthermore, the code description area R1 is provided with color elements e each representing a color sample of the first color group, a color sample of the second color group, and a white color sample, and the control unit 32 reads the white color sample when reading the color byte code 100, and corrects the read color of the entire color byte code 100 based on the deviation of the read color of the white color sample. This makes it possible to correct the read color according to the environment using at least the white color sample.
[0158] <<Other embodiments>> Although the embodiments of the present invention have been described above, the present invention may be embodied in various different forms other than the above-described embodiments.
[0159] <<System>> The information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified.
[0160] Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown. In other words, all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
[0161] Furthermore, all or any part of the processing functions performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware using wired logic.
[0162] <<Hardware>> The code information output device 10 and the code information restoration device 30 according to the above-described embodiments are realized by, for example, a computer 1000 configured as shown in Fig. 31. The code information restoration device 30 will be described below as an example. Fig. 31 is a hardware configuration diagram showing an example of the computer 1000 that realizes the functions of the code information restoration device 30 according to the embodiment.
[0163] As shown in Fig. 31, the computer 1000 includes a communication device 1000a, a secondary storage device 1000b, a memory 1000c, and a processor 1000d. The components shown in Fig. 31 are connected to each other via a bus or the like.
[0164] The communication device 1000a is realized by a NIC (Network Interface Card) or the like, and communicates with other devices. The secondary storage device 1000b is realized by a flash memory, a HDD, or the like, and stores programs and databases that operate the functions shown in FIG. 22.
[0165] The processor 1000d reads out a program that executes the same processes as those of the processing units shown in FIG. 22 from the secondary storage device 1000b or the like and loads it into the memory 1000c, thereby running a thread that executes the functions described in FIG. 22 or the like. For example, this thread executes the same functions as those of the processing units of the code information restoration device 30. Specifically, the processor 1000d reads out a program that has the same functions as those of the acquisition unit 32a, the decoding processing unit 32b, and the output control unit 32c from the secondary storage device 1000b or the like. Then, the processor 1000d executes a thread that executes the same processes as those of the acquisition unit 32a, the decoding processing unit 32b, the output control unit 32c, etc.
[0166] In this way, the computer 1000 operates as an information processing device that executes various processing methods by reading and executing the program. The computer 1000 can also realize functions similar to those of the above-described embodiments by reading the program from a recording medium using a medium reading device and executing the read program. Note that the program referred to here is not limited to being executed solely by the computer 1000. For example, the present invention can be similarly applied to cases where a computer or server having a different hardware configuration executes the program, or where these execute the program in cooperation with each other.
[0167] This program can be distributed via a network such as the Internet. This program can also be recorded on a computer-readable recording medium such as a hard disk drive (HDD), a flexible disk (FD), a CD-ROM, a magneto-optical disk (MO), or a digital versatile disk (DVD), and can be executed by being read from the recording medium by a computer. A recording medium on which such a program is recorded is also an aspect of the present disclosure.
[0168] <<Others>> Some examples of combinations of the disclosed technical features are listed below.
[0169] (1) A cell consisting of a rectangular array of color elements in two rows and two columns; a code writing area in which the cells are arranged in a matrix; and In the cells, the color elements of a first color group and the color elements of a second color group that are different from the first color group in at least hue are arranged alternately, the first color group and the second color group each consist of four different colors; Color 2D code. (2) a heptagonal frame surrounding the code writing area, The frame has one right-angled corner and the remaining six non-right-angled corners. The color two-dimensional code described in (1). (3) each of the colors of the color element has a unique transformation value in the first color set or the second color set; The code description area includes: The color elements are arranged to indicate checksums obtained by summing up the conversion values of the color elements at the same positions between the cells in the row and column directions, respectively. The color two-dimensional code described in (1) or (2). (4) The code description area includes: the color elements respectively indicating color samples of the first color group, color samples of the second color group, and a white color sample are arranged; A color two-dimensional code according to (1), (2) or (3). (5) The color samples of each color in the first color group and the color samples of each color in the second color group are selected based on CIELAB. (4) The color two-dimensional code described above. (6) the first color group is selected along the CIELAB *a axis; the second color group is selected along the CIELAB *b axis; (5) The color two-dimensional code described above. (7) Each color in the first color group and each color in the second color group are selected along the *L axis of the CIELAB color space. (5) or (6) above, a color two-dimensional code. (8) The boundaries between the color elements do not have borders. A color two-dimensional code according to any one of (1) to (7). (9) a processor; The processor: a code description area in which the cells are arranged in a matrix, the cells being arranged in a staggered fashion with the color elements of a first color group and the color elements of a second color group that differs from the first color group in at least hue, and the first color group and the second color group each being composed of four different colors; and A video processing device that executes the above. (10) each of the colors of the color element has a unique transformation value in the first color set or the second color set; The code description area includes: the color elements are arranged to indicate checksums obtained by summing up the conversion values of the color elements at the same positions between the cells in the row direction and the column direction, respectively; The processor: When reading the color two-dimensional code, an error is detected using the checksum. (9) A video processing device according to (9). (11) The code description area includes: the color elements respectively indicating color samples of the first color group, color samples of the second color group, and a white color sample are arranged; The processor: When reading the two-dimensional color code, the white color sample is also read, and the read color of the entire two-dimensional color code is corrected based on the amount of deviation of the read color of the white color sample. The image processing device according to (9) or (10). [Explanation of symbols]
[0170] 3a Camera 3b Camera 5a Input section 5b Input section 7b Output section 10 Code information output device 11 Storage section 11a Video information 11b Encoding control information 12 Control Unit 12a Acquisition part 12b Encoding processing section 12c Synthesis Department 12d Output control section 20 Display device 30 Code information recovery device 31 Storage section 31a Video information 31b Decode control information 32 Control section 32a Acquisition part 32b Decode processing section 32c Output control section 100 Color Byte Codes 300 Code Information 301 header 302 Body C Cell R1 Code Writing Area R11 Code Body Region R12 Checksum Area R13 Checksum Area R14 Color sample area SS Contactless Information and Communication System
Claims
1. A cell consisting of a rectangular array of color elements in two rows and two columns; a code writing area in which the cells are arranged in a matrix; and In the cells, the color elements of a first color group and the color elements of a second color group that are different from the first color group in at least hue are arranged alternately, the first color group and the second color group each consist of four different colors; Color 2D code.
2. a heptagonal frame surrounding the code writing area, The frame has one right-angled corner and the remaining six non-right-angled corners. The color two-dimensional code according to claim 1.
3. each of the colors of the color element has a unique conversion value in the first color set or the second color set; The code description area includes: The color elements are arranged to indicate checksums obtained by summing up the conversion values of the color elements at the same positions between the cells in the row and column directions, respectively. The color two-dimensional code according to claim 1.
4. The code description area includes: the color elements respectively indicating color samples of the first color group, color samples of the second color group, and a white color sample are arranged; The color two-dimensional code according to claim 1.
5. The color samples of each color in the first color group and the color samples of each color in the second color group are selected based on CIELAB. The color two-dimensional code according to claim 4.
6. the first color group is selected along the CIELAB *a-axis; the second color group is selected along the CIELAB *b axis; The color two-dimensional code according to claim 5.
7. each color of the first color group and each color of the second color group are selected along the *L axis of the CIELAB color space; The color two-dimensional code according to claim 5.
8. The boundaries between the color elements do not have borders. The color two-dimensional code according to claim 1.
9. a processor; The processor: a code description area in which the cells are arranged in a matrix, the cells being arranged in a staggered fashion with the color elements of a first color group and the color elements of a second color group that differs from the first color group in at least hue, and the first color group and the second color group each being composed of four different colors; and A video processing device that executes the above.
10. each of the colors of the color element has a unique conversion value in the first color set or the second color set; The code description area includes: the color elements are arranged to indicate checksums obtained by summing up the conversion values of the color elements at the same positions between the cells in the row direction and the column direction, respectively; The processor: When reading the color two-dimensional code, an error is detected using the checksum. The video processing device according to claim 9 .
11. The code description area includes: the color elements respectively indicating color samples of the first color group, color samples of the second color group, and a white color sample are arranged; The processor: When reading the two-dimensional color code, the white color sample is also read, and the read color of the entire two-dimensional color code is corrected based on the amount of deviation of the read color of the white color sample. The video processing device according to claim 9 .
Citation Information
Patent Citations
Information recording method and recording medium using same
JP1988254586A
3x3 code pattern
JP1988298589A
Bar code
JP1992153790A
Machine recognizable code and its encoding decoding method
JP2001319200A
Two-dimensional code system and method for the same
JP2003091697A