[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2016121126A1 - Two-dimensional code, two-dimensional code read device, and encoding method - Google Patents

Two-dimensional code, two-dimensional code read device, and encoding method Download PDF

Info

Publication number
WO2016121126A1
WO2016121126A1 PCT/JP2015/052775 JP2015052775W WO2016121126A1 WO 2016121126 A1 WO2016121126 A1 WO 2016121126A1 JP 2015052775 W JP2015052775 W JP 2015052775W WO 2016121126 A1 WO2016121126 A1 WO 2016121126A1
Authority
WO
WIPO (PCT)
Prior art keywords
cell
dimensional code
color
information
cells
Prior art date
Application number
PCT/JP2015/052775
Other languages
French (fr)
Japanese (ja)
Inventor
信博 知原
宣隆 木村
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/052775 priority Critical patent/WO2016121126A1/en
Publication of WO2016121126A1 publication Critical patent/WO2016121126A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/12Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code

Definitions

  • the present invention relates to a two-dimensional code, a two-dimensional code reader, and an encoding method.
  • barcode symbols are used for self-position recognition of mobile robots and information transmission in portable devices equipped with cameras.
  • Patent Document 1 describes a two-dimensional code in which an error correction code is embedded. According to the technique described in Patent Document 1, even when the two-dimensional code reader cannot read a part of the two-dimensional code due to dirt on the image, correct information is obtained by the error correction code embedded in the two-dimensional code. Can be read out.
  • Patent Document 2 describes a one-dimensional code in which information about color change in the scan direction is provided by cells that are painted in a plurality of colors. According to the technique described in Patent Document 2, when a motion blur occurs in the scanning direction of a one-dimensional code, the two-dimensional code reader can read information correctly according to a predetermined color change pattern.
  • barcode symbols are often taken by a high-speed moving camera such as a mobile robot or portable device. Since an image taken by a camera that moves at high speed causes motion blur throughout, there is a problem that barcode symbols cannot be read out correctly. Since the mobile robot reads the barcode symbol attached to the floor surface while moving at high speed, motion blur occurs. In addition, motion blur due to camera shake occurs in a barcode symbol photographed by a camera mounted on a handheld portable device.
  • FIG. 1 shows the effect of motion blur on the two-dimensional code of Patent Document 1.
  • the two-dimensional code 20 has a motion blur with respect to the two-dimensional code 10. Since motion blur caused by the movement of the camera itself occurs in the entire image, the cut-out symbol 30 of the two-dimensional code 20 is crushed, and it is difficult to cut out the two-dimensional code area from the two-dimensional code 20. Even if the two-dimensional code area is cut out, many read errors occur in the information read for motion blur, so that even the error correction code cannot be corrected, and as a result, correct information cannot be read.
  • Patent Document 2 improves the robustness of barcode symbols with respect to motion blur, it is a method of encoding information by color change in a one-dimensional scan direction. Can only be implemented in A one-dimensional code has a lower information density in principle than a two-dimensional code, and cannot contain much information.
  • One embodiment of the present invention provides a barcode symbol that can be correctly recognized even from an image having motion blur of a predetermined width as a whole and can store information at high density.
  • a two-dimensional code including a symbol area including a plurality of valid cells holding user data and a position detection pattern arranged outside the symbol area, wherein the position detection pattern is a position of the two-dimensional code.
  • Each of the plurality of valid cells has a first color when holding the first information, and has a predetermined plurality of colors according to the position of the valid cell when holding the second information.
  • the minimum value of the interval in the first direction of the effective cells having the same color and having the color different from the first color selected from the first color is 1 cell or more.
  • Example 1 It is a figure which shows the influence of a motion blur in the conventional two-dimensional code.
  • Example 1 it is a figure showing an example of the structure of a two-dimensional code.
  • Example 1 it is a figure which shows an example of the structure of a position detection pattern.
  • Example 1 it is a figure which shows an example of the structure of a symbol area
  • Example 1 it is a block diagram which shows the structural example of the barcode symbol reader.
  • 6 is a flowchart illustrating an example of a barcode area detection process in the first embodiment.
  • 6 is a flowchart illustrating an example of color separation processing in the first embodiment.
  • Example 1 it is a figure which shows the example of an outline
  • Example 5 is a flowchart illustrating an example of a cell reading process in the first embodiment.
  • Example 1 it is a figure which shows the example of the concept of a cell reading algorithm.
  • 6 is a flowchart illustrating an example of a direction determination process in the first embodiment.
  • Example 1 it is a figure which shows the example of the concept of a direction determination algorithm.
  • 6 is a flowchart illustrating an example of information decoding processing in the first embodiment.
  • Example 1 it is a figure which shows the example of the concept of an information decoding algorithm.
  • Example 1 it is a figure which shows the example of the order which references cell color information with respect to each direction of two-dimensional direction information.
  • Example 1 it is a figure which shows an example of the structure of a two-dimensional code.
  • Example 2 it is a figure which shows an example of the structure of a two-dimensional code.
  • Example 2 it is a figure which shows an example of the structure of a position detection pattern.
  • Example 2 it is a figure which shows an example of the structure of a symbol area
  • 10 is a flowchart illustrating an example of a barcode area detection process in the second embodiment.
  • Example 3 it is a figure explaining the example of an outline
  • Example 3 it is a figure which shows an example of the structure of a position detection pattern.
  • Example 3 it is a figure which shows an example of the structure of a symbol area
  • Example 4 it is a figure which shows an example of a cell color pattern.
  • FIG. 2 shows an example of the structure of the two-dimensional code of this embodiment.
  • the two-dimensional code 100 includes a position detection pattern 110 that defines the position and range of the two-dimensional code 100, and a symbol area 120 that is arranged inside the position detection pattern 110 and holds information.
  • the part indicated as R is red
  • the part indicated as G is green
  • the part indicated as B is blue
  • the part filled with dots is Black, the color is not applied, and the portion where no character is written is white.
  • FIG. 3 shows an example of the structure of the position detection pattern of this embodiment.
  • FIG. 3 shows only the position detection pattern 110 portion extracted from the two-dimensional code 100.
  • the position detection pattern 110 includes, for example, a white frame 111 outside a rectangle having a predetermined width (a rectangle is a concept including a square) and a black frame 112 inside the rectangle having a predetermined width.
  • the predetermined width indicates, for example, the length of one side of the cell when the cell is a square, and the length of the long side when the cell is a rectangle (a rectangle other than a square).
  • the predetermined width may be longer than these lengths.
  • the position and range of the two-dimensional code 100 can be detected by the position detection pattern 110 even when a motion blur having a blur width of 1 cell or less occurs.
  • the motion blur whose blur width is equal to or less than x cells refers to a motion blur that extends from a certain cell up to x cells in a cell group in which cells are arranged without a gap.
  • the position detection pattern 110 may be a shape that can be detected even when motion blur occurs and can have a direction pattern that can be defined later.
  • the color of the outer frame may be black and the color of the inner frame may be white.
  • the position detection pattern 110 may include a marker having a predetermined shape for position detection. The same applies to the position detection pattern 110 in other embodiments.
  • FIG. 4 shows an example of the structure of the symbol area of this embodiment.
  • FIG. 4 shows only the symbol region 120 extracted from the two-dimensional code 100.
  • the symbol area 120 has, for example, a rectangular structure composed of a plurality of basic cell patterns 150 connected in the same direction without gaps.
  • the basic cell pattern 150 includes, for example, congruent rectangular cells 151 to 154 that are minimum units for holding information.
  • the cell 151 is arranged at the upper left in the basic cell pattern 150
  • the cell 152 is arranged at the upper right in the basic cell pattern 150
  • the cell 153 is arranged at the lower right in the basic cell pattern 150
  • the cell 154 is arranged at the lower left in the basic cell pattern 150.
  • the symbol area 120 includes cells 130 to 133 at four corners, and includes a direction pattern 160 indicating a direction of a two-dimensional code, that is, a rotation angle, and a code area 140 including other areas.
  • the direction pattern 160 does not have to be a cell at the four corners of the symbol area 120, and may be composed of, for example, four cells in the center of the symbol area 120.
  • the direction pattern 160 since the direction pattern 160 includes the cells 130 to 133 at the four corners, the color mixture from the outside of the direction pattern 160 by the motion blur is only black, so that the accuracy of the direction determination process described later is increased.
  • the basic cell pattern 150 has a structure in which 2 ⁇ 2 cells are arranged, and each cell in the basic cell pattern 150 is applied with, for example, black, or three primary colors of red, green, or blue, which are additive colors. ing. Each color applied to the cells in the basic cell pattern 150 may be any color that can separate the areas where the colors are generated even when the colors are mixed with each other.
  • the cell 151, the cell 152, and the cell 154 hold user data, and the cell 153 does not hold user data. However, the cells constituting the direction pattern 160 do not hold user data. A cell holding user data is called a valid cell, and a cell not holding user data is called an invalid cell.
  • the color of the cell 151 is blue or black. When the color of the cell 151 is blue, the cell 151 holds 1 information, and when the color of the cell 151 is black, the cell 151 holds 0 information.
  • the color of the cell 152 is green or black. When the color of the cell 152 is green, the cell 152 holds 1 information, and when the color of the cell 152 is black, the cell 152 holds 0 information.
  • the color of the cell 154 is red or black. When the color of the cell 154 is red, the cell 154 holds 1 information, and when the color of the cell 154 is black, the cell 154 holds 0 information.
  • the color of the cell 153 is black. For example, the cell 153 does not hold information.
  • the cell 153 may hold, for example, a value of 1 or 0 as a fixed value.
  • the plurality of basic cell patterns 150 are connected so that the colors of the effective cells holding one piece of adjacent information are not the same. That is, the plurality of basic cell patterns 150 are connected such that any two effective cells having the same color (red, blue, or green) are spaced by one cell in both the vertical and horizontal directions.
  • the minimum value of the interval in both the vertical and horizontal directions of the effective cell that holds one information and has the same color may be one cell or more.
  • interval of the cells in a certain direction points out the minimum thing among the lengths of the arbitrary virtual line segments of the said direction drawn from the point on the side of one cell to the point on the side of the other cell. .
  • the interval between the two cells is assumed to be zero.
  • motion blur with a blur width of 1 cell or less occurs, only the colors of adjacent cells are mixed, and the colors of adjacent cells can be separated from each other, so that correct information is read from each cell. Can do.
  • each basic cell pattern 150 may be arranged with a predetermined interval from the adjacent basic cell pattern 150.
  • each cell in the basic cell pattern 150 may be arranged at a predetermined interval from a cell in the same basic cell pattern 150.
  • the two-dimensional code 100 can accept a motion blur having a larger blur width. The smaller the interval is, the two-dimensional code 100 is. The information density is improved. The same applies to other embodiments described later.
  • the arrangement of the basic cell pattern 150 in the symbol area 120 of the present embodiment is not limited to the above-described arrangement, and may be any arrangement as long as the colors of the effective cells holding one adjacent information are not the same. That is, an interval of one cell is provided between effective cells of the same color that hold one information. The same applies to the arrangement of the cells 151 to 154 in the basic cell pattern 150. Further, the color of the invalid cell may be a color other than black as long as it is different from the color of the valid cell holding the information of 1.
  • the effective cell of the basic cell pattern 150 of the present embodiment holds 1 information by any of red, green, and blue.
  • colors that are correctly separated for example, a camera described later
  • Other colors may be used as long as the color corresponds to the filter.
  • red, blue, and green for example, a combination of cyan, magenta, and yellow, a pattern generated from infrared light or ultraviolet light, or a color pattern determined by brightness, color, hue, etc. Information may be expressed.
  • the above-described arrangement and colors are the same in the colors of the basic cell patterns of the other embodiments.
  • the effective cell in the basic cell pattern 150 of the present embodiment holds information of 1 when each cell is red, green, and blue, and 0 when black, but when each cell is red, green, and blue. In the case of 0 and black, information of 1 may be held. The same applies to the basic cell patterns of the other embodiments.
  • the direction pattern 160 includes, for example, cells 130 to 133 at four corners of the symbol area 120c. If the two-dimensional code 100b is in the correct orientation, the upper left cell 130 in the direction pattern 160 is blue, the upper right cell 132 is green, the lower left cell 131 is red, and the lower right cell 133 is black.
  • the direction pattern 160 shown in the figure is composed of cells of four colors that may be included in the basic cell pattern 150. However, if the color of an effective cell holding one information is included, two or three colors are included. It may consist of colored cells. For example, one or two of the upper left cell 130, the upper right cell 132, and the lower left cell 131 may be black. The greater the number of colors included in the direction pattern 160, the more accurate the direction determination process described later.
  • the barcode symbol reader described later can estimate the orientation when the two-dimensional code is rotated by reading the colors of the cells 130 to 133 corresponding to the position of the direction pattern 160.
  • the code area 140 includes cells other than the direction pattern 160 of the symbol area 120.
  • the valid cell in the code area 140 holds information of 1 and 0, and the information held by the two-dimensional code 100 is expressed by collecting the information of all the cells in the code area 140.
  • FIG. 5 shows an example of the configuration of the barcode symbol reader of this embodiment.
  • the camera 210 is connected to the barcode symbol reader 200, acquires the captured image 300, and outputs it to the barcode symbol reader 200.
  • Bar code symbol reader 200 receives captured image 300 from camera 210 and outputs two-dimensional code information 370 to data processor 220.
  • the data processing device 220 receives the two-dimensional code information 370 from the barcode symbol reader 200, performs information processing, and presents it to the user or the like.
  • the barcode symbol reader 200 is configured on a computer including a CPU 201, a memory 202, and an input / output interface 203, for example.
  • the CPU 201 includes a processor and / or a logic circuit that operates according to a program, inputs / outputs data, reads / writes data, and executes each program to be described later.
  • the memory 202 temporarily loads and stores a program and data executed by the CPU 201, and holds each program and each data.
  • the input / output interface 203 is an interface that inputs data from an external device such as the camera 210 and outputs data to the external device.
  • the memory 202 includes a frame buffer 230 and a barcode area detection unit 240, a color separation unit 250, a cell reading unit 260, a direction determination unit 270, and an information decoding unit 280, which are programs.
  • the program is executed by the CPU 201 to perform a predetermined process using the memory 202 and the input / output interface 203. Therefore, in the present embodiment and the other embodiments, the description with the program as the subject may be the description with the CPU 201 as the subject. Alternatively, the process executed by the program is a process performed by a computer and a computer system on which the program operates.
  • the CPU 201 operates as a functional unit that realizes a predetermined function by operating according to a program.
  • the CPU 201 functions as a barcode area detection unit by operating according to the barcode area detection unit 240 as a program, and functions as a color separation unit by operating according to the color separation unit 250 as a program.
  • the CPU 201 also operates as a functional unit that realizes each of a plurality of processes executed by each program.
  • a computer and a computer system are an apparatus and a system including these functional units.
  • the frame buffer 230 holds the captured image 300 input from the camera 210.
  • the frame buffer 230 outputs the captured image 310 to the barcode area detection unit 240 and the color separation unit 250.
  • the barcode area indicates an area occupied by the two-dimensional code 100.
  • the barcode area detection unit 240 receives the captured image 310 from the frame buffer 230, detects the barcode area from the captured image 310, and uses the position and range of the two-dimensional code 100 as the two-dimensional code position information 320 as a color. Output to the separation unit 250.
  • FIG. 6 shows an example of barcode area detection processing by the barcode area detection unit 240.
  • the barcode area detection unit 240 inputs the captured image 310 from the frame buffer 230
  • the barcode area detection unit 240 executes binarization processing on the captured image 310 (S400).
  • the barcode area detection unit 240 generates a binary image obtained by binarizing the captured image 310.
  • the barcode area detection unit 240 executes contour extraction processing on the binary image (S410). In the contour extraction process, the barcode area detection unit 240 extracts the contour of the black frame 112 of the position detection pattern 110 from the binary image, and acquires contour information. The barcode area detection unit 240 executes shape evaluation processing using the contour information (S420). In the shape evaluation process, the barcode area detection unit 240 determines whether the shape of the contour information is a convex shape or a concave shape, discards the contour information of the concave shape, and uses the contour information remaining without being discarded as the convex shape contour information. And
  • the barcode area detection unit 240 executes a contour length determination process (S430).
  • the contour length determination process the barcode area detection unit 240 obtains the contour length for all the convex contours, and discards the convex contour information whose contour length is not within the predetermined contour range. Then, convex contour information whose contour length is within the contour range is set as two-dimensional code candidate contour information.
  • the contour range is a range determined by the contour length upper limit and the contour length lower limit, and defines the range of the size of the two-dimensional code 100 that may appear in the captured image 310. For example, when the size of the two-dimensional code 100 to be photographed is limited, the difference between the contour length upper limit and the contour length lower limit is set to be small, that is, the contour range is set to be narrow.
  • the code area detection process can be greatly speeded up.
  • the barcode area detection unit 240 executes a quadrangle approximation process (S440).
  • the barcode area detection unit 240 performs approximation to each quadrilateral for each of the two-dimensional code candidate contour information based on a predetermined approximation threshold, and a two-dimensional code candidate that cannot be approximated to a quadrangle. Discard the contour information.
  • the approximate threshold value is set to a value representing the number of pixels having a blur width that can be generated by motion blur.
  • the position detection pattern 110 of the two-dimensional code 100 does not have a rectangular shape due to blurring. Therefore, the barcode area detection unit 240 can detect the position detection pattern 110 even when blurring occurs by performing the quadrangle approximation process.
  • the barcode area detection unit 240 executes position calculation processing (S450). In the position calculation process, the barcode area detection unit 240 calculates the coordinates of the four corners of the black frame 112 inside the position detection pattern 110 from the two-dimensional code contour information, and outputs it as the two-dimensional code position information 320.
  • the color separation unit 250 inputs the photographed image 310 from the frame buffer 230 and the two-dimensional code position information 320 from the barcode region detection unit 240, respectively, and converts the two-dimensional code region in the photographed image 310 into red, blue,
  • the green color images 340 are separated and output to the cell reading unit 260.
  • FIG. 7 shows an example of color separation processing.
  • FIG. 8 shows an outline example of the color separation algorithm.
  • the color separation unit 250 first performs a frame cutout process on the two-dimensional code 100 (S500). In the frame cutout process, the color separation unit 250 inputs the two-dimensional code position information 320 and cuts out a two-dimensional code image based on the coordinates of the four corners of the two-dimensional code position information 320. Subsequently, the color separation unit 250 executes a luminance value calculation process (S510). In the luminance value calculation process, the color separation unit 250 acquires, for each pixel of the two-dimensional code image, a red pixel value R, a green pixel value G, and a blue pixel value B of each pixel. The luminance value Y is calculated using the following formula 1.
  • the color separation unit 250 executes color extraction processing (S520).
  • the color separation unit 250 performs a predetermined color threshold Cth, a red pixel value R, a green pixel value G, and a blue pixel value B for each pixel of the two-dimensional code image.
  • the luminance value Y, a red region image sR620, a green region image sG630, and a blue region image sB640 are generated based on the values calculated by the following formula 2.
  • the color separation unit 250 collectively outputs the generated area images of the respective colors to the cell reading unit 260 as a color image 340.
  • the color separation unit 250 can perform the two-dimensional code.
  • the image 610 can be separated into a color image 340 composed of a red region image sR620, a green region image sG630, and a blue region image sB640.
  • the cell reading unit 260 receives the color image 340 from the color separation unit 250, derives cell color information 350 indicating which color of red, blue, or green is reacting at each cell position in the barcode area, Cell color information 350 is output to direction determining section 270 and information decoding section 280.
  • FIG. 9 shows an example of the cell reading process.
  • FIG. 10 shows an example of the concept of the cell and reading algorithm.
  • the cell reading unit 260 receives the color image 340 from the color separation unit 250 and executes a cell reading process. First, the cell reading unit 260 performs cell division processing (S700). In the cell division process, the cell reading unit 260 divides the color image 340 input from the color separation unit 250 into cells according to a predetermined two-dimensional code size, and generates a divided color image 800 for each color.
  • the two-dimensional code size is a value that defines the entire two-dimensional code 100, the size of each cell of the two-dimensional code 100, and the number of vertical and horizontal cells of the two-dimensional code 100. It is assumed that it is prescribed in advance.
  • the cell reading unit 260 executes the effective cell ratio calculation process 710 (S710).
  • the cell reading unit 260 acquires the effective pixel number E and the cell pixel number C from each cell of the divided color image 800, and calculates the effective cell ratio eR by the following equation 3, for example.
  • the cell reading unit 260 executes a cell information reading process (S720).
  • the cell reading unit 260 calculates the cell color determination result CCI in each cell by, for example, the following equation 4. Specifically, the cell color determination result CCI in each cell of each cell information color is 1 when the effective cell ratio eR is larger than the cell determination threshold Rth, and 0 otherwise.
  • the cell reading unit 260 outputs cell color information 350 including cell color determination results CCI in all cells of each color.
  • the direction determining unit 270 receives the cell color information 350 from the cell reading unit 260, determines the two-dimensional code direction from the color information of the cell corresponding to the position of the direction pattern 160, and the information decoding unit as the two-dimensional code direction information 360 Output to 280.
  • FIG. 11 shows an example of direction determination processing.
  • FIG. 12 shows an example of the concept of the direction determination algorithm.
  • the direction determining unit 270 first performs a voting process (S900). In the voting process, the direction determination unit 270 refers to the color information of the cell position of the direction pattern 160 of the cell color information 350 and performs voting on the direction patterns of the four direction candidates that match the cell holding the information of 1. The voting result is set as direction voting information 1000 (S900).
  • the bar code symbol reading apparatus 200 holds information on the direction patterns of the four direction candidates in advance.
  • the direction determination unit 270 votes one vote in the direction 1.
  • the direction determination unit 270 refers to the direction pattern 160 of the green cell color information 350 and votes one direction in the direction 1 in which the cell holding the information of 1, that is, the upper right cell is green.
  • the direction determining unit 270 refers to the direction pattern 160 of the blue cell color information 350, and holds one piece of information in the direction 1 and the direction 4 in which the cells holding one information, that is, the upper left cell and the lower left cell are blue. Vote one by one.
  • the direction determining unit 270 executes a cell validity determination process (S910).
  • the direction determining unit 270 determines that all of the four direction voting information 1000 is smaller than a predetermined direction voting threshold or that two or more directions are equal to or higher than a predetermined direction voting threshold. In this case, it is determined that the two-dimensional code is erroneously detected, that is, it is determined that the two-dimensional code is not included in the captured image 310, and the process is interrupted.
  • the direction determining unit 270 determines that the two-dimensional code is erroneously detected in the above case, the processing speed and the detection accuracy of the two-dimensional code are improved.
  • the direction determination unit 270 performs a direction determination process in cases other than these (S920). In the direction determination process, the direction determination unit 270 outputs, as the two-dimensional code direction information 360, a direction that is equal to or greater than the direction vote threshold among the four-direction direction vote information 1000. In FIG. 12, the direction voting threshold is set to 3 in advance, but may be designated by the user or the like from outside the apparatus.
  • the information decoding unit 280 receives the cell color information 350 from the cell reading unit 260 and the two-dimensional code direction information 360 from the direction determining unit 270, decodes the two-dimensional code information, and converts the two-dimensional code information 370 into the data processing device. To 220.
  • FIG. 13 shows an example of the information decoding process.
  • FIG. 14 shows an example of the concept of the information decoding algorithm.
  • the information decoding unit 280 performs a cell reading process (S1100). In the cell reading process, the information decoding unit 280 reads the cells of the cell color information 350 for each color in the order corresponding to the two-dimensional code direction information 360, and outputs two-dimensional code information 370 that summarizes the decoding results for each color.
  • FIG. 15 shows an example of the order of reading each cell of the cell color information 350 according to the two-dimensional code direction information 360.
  • the cell reading unit 260 reads cells in the order corresponding to the direction specified by the two-dimensional code direction information 360 in the cell reading process of step S1100.
  • the bar code symbol reading apparatus 200 holds in advance the information shown in FIG. 15, that is, information indicating the correspondence between the cell position and the color in each direction, and information indicating the order of reading each cell. .
  • FIG. 16 shows an example of the structure of the two-dimensional code in this embodiment.
  • the two-dimensional code 2010 is different from the two-dimensional code 100 in that the position detection pattern white and black are reversed, and in the symbol area, cells holding 0 information and invalid cells are white.
  • the color of the lower right cell of the basic cell pattern may be white or black.
  • information 1 may be held when the color of the lower right cell is white, and information 0 may be held when the cell is black.
  • the two-dimensional code 2010 can hold 1-bit information also in the lower right cell, that is, the lower right cell is also an effective cell, so the two-dimensional code 2020 can realize a high information density.
  • the barcode symbol reader 200 can read correct information even from a two-dimensional code in a captured image generated by a motion blur that is captured by a camera moving at a high speed, for example. Further, the two-dimensional code 100 can realize a high information density on the principle of the two-dimensional code.
  • FIG. 17 shows an example of the structure of the two-dimensional code of this embodiment.
  • the two-dimensional code 1200 of this embodiment includes a position detection pattern 1210 that defines the position and range of the two-dimensional code 1200, and a symbol area 1220 that is arranged inside the position detection pattern 1210 and holds information.
  • the shape of the two-dimensional code 1200 of the present embodiment is, for example, a triangle, and the shape of each cell included in the symbol area 1220 is, for example, a regular hexagon.
  • FIG. 18 shows an example of the structure of the position detection pattern of this embodiment.
  • FIG. 18 shows only the position detection pattern 1210 of the two-dimensional code 1200 extracted.
  • the position detection pattern 1210 includes, for example, an outer triangular white frame 1300 having a predetermined width, and an inner triangular black frame 1310 having a thinnest portion having a predetermined width.
  • the predetermined width may be, for example, the length of one side of a regular hexagonal cell.
  • the position detection pattern 1210 even when motion blur with a blur width of 1 cell or less occurs, colors other than the two-dimensional code 1200 are not mixed in the symbol area 1220 inside the black frame 1310, and the color of the symbol area 1220 is It does not mix outside the black frame 1310. Therefore, the position and range of the two-dimensional code 1200 can be detected by the position detection pattern 1210 even when a motion blur having a blur width of 1 cell or less occurs.
  • the position detection pattern 1210 may be a shape that can be detected even when motion blur occurs, and may be a shape that can define a direction pattern described later.
  • the shapes of the white frame 1300 and the black frame 1310 of the position detection pattern 1210 may be regular hexagons, for example.
  • FIG. 19 shows an example of the structure of the symbol area in this embodiment.
  • FIG. 19 shows only the symbol region 1220 portion extracted from the two-dimensional code 1200.
  • the symbol area 1220 has, for example, a structure in which a plurality of basic cell patterns 1400 are connected in the same direction without a gap.
  • the basic cell pattern 1400 includes, for example, congruent regular hexagonal cells 1401 to 1403 that are minimum units for holding information.
  • the basic cell pattern 1400 is configured, for example, by connecting one cell so as to share one side with each of the other two cells.
  • the cell 1401 is arranged in the upper part of the basic cell pattern 1400
  • the cell 1402 is arranged in the lower part of the basic cell pattern 1400
  • the cell 1403 is arranged in the left part of the basic cell pattern 1400.
  • the symbol area 1220 is composed of a direction pattern 1420 including corner cells 1430 to 1432 and a code area 1440 including other areas.
  • the cell at the corner of the symbol region 1220 indicates a cell having the maximum number of sides facing the position detection pattern 1210 among the cells included in the symbol region 1220c.
  • the position detection pattern 1210 does not have to be a cell at the corner of the symbol area 1220, and may be any basic cell pattern 1400 included in the symbol area 1220, for example.
  • the basic cell pattern 1400 has a structure in which regular hexagonal cells are arranged, and each of the cells in the basic cell pattern 1400 is applied with black, or one of three primary colors red, green, or blue, which is an additive color mixture. .
  • Each color applied to the cells in the basic cell pattern 1400 may be any color that can separate the areas where the colors are generated even when the colors are mixed.
  • the cells 1401 to 1403 all hold user data. However, the cells constituting the direction pattern 1420 do not hold user data.
  • the color of the cell 1402 is blue or black. When the color of the cell 1402 is blue, the cell 1402 holds 1 information, and when the color of the cell 1402 is black, the cell 1402 holds 0 information.
  • the color of the cell 1401 is green or black. When the color of the cell 1401 is green, the cell 1401 holds 1 information, and when the color of the cell 1401 is black, the cell 1401 holds 0 information.
  • the color of the cell 1403 is red or black. When the color of the cell 1403 is red, the cell 1403 holds 1 information, and when the color of the cell 1403 is black, the cell 1403 holds 0 information.
  • the plurality of basic cell patterns 1400 are connected so that the colors of the effective cells holding one piece of adjacent information are not the same.
  • the colors of adjacent cells holding one piece of adjacent information are not the same.
  • the basic cell pattern 1400 of the present embodiment can be arranged so that adjacent cells have different colors even if the symbol area 1220 does not include invalid cells. Therefore, the two-dimensional code 1200 of the present embodiment can realize a high information density.
  • the direction pattern 1420 includes cells 1430 to 1432 at the corners of the symbol area 1220. If the two-dimensional code 1200b is in the correct orientation, the upper cell 1431 in the direction pattern 1420 is green, the lower right cell 1432 is blue, and the lower left cell 1430 is red.
  • the direction pattern 1420 shown in the drawing is composed of cells of three colors, but may be composed of cells of two colors, for example. Therefore, the barcode symbol reader 200 can estimate the direction when the two-dimensional code is rotated by reading the colors of the cells 1430 to 1432 corresponding to the position of the direction pattern 1420.
  • the code area 1440 includes cells other than the direction pattern 1420 of the symbol area 1220. Each cell in the code area 1440 holds information of 1 and 0, and the information held by the two-dimensional code 1200 is represented by collecting the information of all the cells in the code area 1440.
  • FIG. 20 shows an example of barcode area detection processing in the present embodiment.
  • the binarization process to the contour length determination process that is, the processes from step S400 to step S430 are the same as those in FIG.
  • the barcode area detection unit 240 executes a triangle approximation process (S1540) following the contour length determination process (S430).
  • the barcode area detection unit 240 performs approximation to a triangle based on a predetermined approximation threshold for each piece of 2D code candidate outline information, and a 2D code candidate outline that cannot be approximated to a triangle. Discard information.
  • the barcode area detection unit 240 can detect the position detection pattern 1210 even when blurring occurs by performing the triangle approximation process. Subsequently, the barcode area detection unit 240 executes a position calculation process (S1550). In the position calculation process, the barcode area detection unit 240 calculates the coordinates of the three corners of the position detection pattern 1210 and outputs the calculated coordinates as two-dimensional code position information 320.
  • the direction determination unit 270 refers to the color information of the cell position of the direction pattern of the cell color information, performs voting on each direction pattern of the three matching direction candidates, and determines the voting result as the direction. Voting information.
  • the direction determining unit 270 has all three direction voting information smaller than a predetermined direction voting threshold, or two or more directions are equal to or higher than a predetermined direction voting threshold. If it is determined that the two-dimensional code is erroneously detected, the process is interrupted. The direction determination unit 270 performs direction determination processing in cases other than these. In the direction determination process (S9620), the direction determination unit 270 outputs, as two-dimensional code direction information, a direction that is equal to or greater than the direction vote threshold among the three-direction direction vote information.
  • the cell shape of the two-dimensional code 1200 of this embodiment is a regular hexagon, it can be arranged so that the colors between adjacent cells are different without using invalid cells. Therefore, the two-dimensional code 1200 of the present embodiment can increase the information density per area compared to the two-dimensional code 100 of the first embodiment.
  • FIG. 21 shows a schematic example of self-position recognition of a mobile robot, which is an example of a two-dimensional code operation mode.
  • the mobile robot 1700 and the mobile robot 1710 execute a given task while autonomously moving.
  • Two-dimensional codes 1730 and 1750 are affixed to the floor 1720.
  • the mobile robot 1700 and the mobile robot 1710 for example, recognize a two-dimensional code on the floor surface with a camera facing the floor surface installed on the mobile robot 1700 and move the encoded position information in the two-dimensional code.
  • Self-position recognition is performed by reading.
  • the two-dimensional code 1730 is attached to an area where the mobile robot 1700 and the mobile robot 1710 can move from a plurality of directions. Therefore, since the two-dimensional code 1730 needs to correspond to motion blur generated in various directions, for example, it may have the same structure as the two-dimensional code shown in the first and second embodiments.
  • the two-dimensional code 1750 is affixed to an area surrounded by the shelf 1740, that is, an area where the mobile robot 1700 and the mobile robot 1710 can move from only one direction. Accordingly, the two-dimensional code 1750 only needs to be able to handle motion blur that occurs only in one direction.
  • FIG. 22 shows an example of the structure of the two-dimensional code of the present embodiment.
  • the two-dimensional code 1800 includes a position detection pattern 1820 that defines the position and range of the two-dimensional code 1800, and a symbol area 1810 that holds information.
  • FIG. 23 shows an example of the structure of the position detection pattern of this embodiment.
  • FIG. 23 shows only the position detection pattern 1820 portion extracted from the two-dimensional code 1800.
  • the position detection pattern 1820 includes an outer rectangular white frame 1900 having a predetermined width and an inner black frame 1910 having a predetermined width.
  • the predetermined width indicates, for example, a length twice as long as one side of the cell when the cell is a square, and a length twice as long as the long side when the cell is a rectangle.
  • the predetermined width may be longer than these lengths.
  • the direction of motion blur generation is limited to the moving direction of the camera, so colors other than the two-dimensional code 1800 are symbol areas inside the black frame 1910.
  • the color of the symbol area 1810 is not mixed outside the black frame 1910. Accordingly, the position and range of the two-dimensional code 1800 can be detected by the position detection pattern 1820.
  • FIG. 24 shows an example of the structure of the symbol area of this embodiment.
  • FIG. 24 shows only the symbol area 1810 portion of the two-dimensional code 1800 extracted.
  • the symbol area 1810 is, for example, a rectangle composed of a plurality of basic cell patterns 1860 that are connected in such a way that the effective cells arranged in the vertical direction (the direction perpendicular to the camera movement direction in the figure) in the same direction with no gaps are one color. It has a structure.
  • the basic cell pattern 1860 is composed of, for example, congruent rectangular cells 1970 to 1972 which are minimum units for holding information.
  • the cell 1970 is arranged on the left side in the basic cell pattern 1860
  • the cell 1971 is arranged in the center in the basic cell pattern 1860
  • the cell 1972 is arranged on the right side in the basic cell pattern 1860.
  • the symbol area 1810 includes a direction pattern 1980 composed of cells 1950 to 1953 at four corners, and a code area 1940 composed of other areas.
  • the basic cell pattern 1960 has a structure in which, for example, three cells are arranged, and each cell in the basic cell pattern 1960 is applied with, for example, black, or three primary colors of red, green, or blue, which are additive colors. ing. Each color applied to the cells in the basic cell pattern 1960 may be any color that can separate the region where each color is colored even when the colors are mixed.
  • Cells 1970 to 1972 hold user data. However, the cells constituting the direction pattern 1980 do not hold user data.
  • the color of the cell 1970 is red or black.
  • the color of the cell 1970 is red, the cell 1970 holds 1 information, and when the color of the cell 1970 is black, the cell 1970 holds 0 information.
  • the color of the cell 1971 is green or black.
  • the color of the cell 1971 is green, the cell 1971 holds 1 information, and when the color of the cell 1971 is black, the cell 1971 holds 0 information.
  • the color of the cell 1972 is blue or black. When the color of the cell 1972 is blue, the cell 1972 holds 1 information, and when the color of the cell 1972 is black, the cell 1972 holds 0 information.
  • a plurality of basic cell patterns 1960 are connected so that a cell holding one information adjacent in the camera moving direction and a cell holding one information adjacent thereto are not the same in color. Yes.
  • motion blur with a blur width of 2 cells or less occurs in the camera movement direction, only the colors of the adjacent cell and the two adjacent cells are mixed, and the colors of the mixed cells can be separated from each other. Therefore, correct information can be read from each cell. For example, if the number of cells of the basic cell pattern 1960 is increased and the same number of colors as the number of cells are applied, the allowable blur width of the motion blur becomes longer according to the number of colors.
  • the direction pattern 1980 includes cells 1950 to 1953 at the four corners of the symbol area 1810. If the two-dimensional code 1800 has the correct orientation, the upper left cell 1950 and lower left cell 1951 in the direction pattern 1980 are red, and the upper right cell 1952 and lower right cell 1953 in the direction pattern 1980 are green. Therefore, the barcode symbol reader 200 can estimate the direction when the two-dimensional code is rotated by reading the colors of the cells 1950 to 1952 corresponding to the position of the direction pattern 1980.
  • the code area 1940 includes cells other than the direction pattern 1980 of the symbol area 1810. Each cell in the code area 1940 holds information of 1 and 0, and the information held by the two-dimensional code 1800 is expressed by collecting the information of all the cells in the code area 1940. Note that when the vertical width (direction perpendicular to the camera movement direction in the figure) in the two-dimensional code 1800 of this embodiment is one cell, it can be handled as a one-dimensional code substantially.
  • the two-dimensional code 1800 of this embodiment is composed of basic cell patterns 1960 in which the colors of the cells located in the camera movement direction are different colors. In applications where it is known that the moving direction of the camera is one direction, the two-dimensional code 1800 of this embodiment can be used, even if the number of colors used is the same as the two-dimensional code of other embodiments. A motion blur with a wide blur is acceptable. Therefore, the two-dimensional code 1800 of the present embodiment realizes downsizing of the two-dimensional code, and the barcode symbol reader 200 can correctly read the barcode even from an image taken by a camera that moves faster. Can do.
  • This embodiment shows an example of a process for encoding input data into the two-dimensional code 100 including the symbol area 120 made up of 6 ⁇ 6 square cells in the first embodiment. Specifically, the processing for determining the color of the effective cell in the symbol area 120 from the input data will be mainly described.
  • the encoding of the present embodiment is performed by, for example, an encoding device 2501 (not shown) having a hardware configuration similar to that of the barcode symbol reading device 200 of FIG. That is, for example, the processor performs an encoding process by operating as a function unit that realizes a predetermined function by operating according to a predetermined program.
  • FIG. 25 shows an example of a cell color pattern 2502 indicating the correspondence between each digit of the input numeric string, the position of the valid cell that stores the value of the digit, and the color of the valid cell at that position.
  • the cell color pattern 2502 is stored in advance in the encoding device 2501, for example.
  • a digit column 2503 indicates the digit number of the numeric string, that is, the position of the numeric value in the numeric string.
  • the cell position column 2504 indicates the cell position of a valid cell that stores the value of the corresponding digit number.
  • the cell position (x, y) in the figure means the cell that is x right and y lower than the cell in the upper left corner of the symbol area (the cell indicated as “B” in the two-dimensional code 100 in FIG. 15).
  • a color column 2505 indicates the color of the valid cell at the corresponding cell position when the value of the corresponding digit is 1. Note that the cell color pattern 2502 is determined so that an interval of one cell is provided between valid cells of the same color that hold one piece of information.
  • the encoding device 2501 determines the color of the cell holding the information of 0, the position and color of the invalid cell, the position and color of the position detection pattern 110, and the position and color of each cell constituting the symbol area 120.
  • the color of the cell holding the information of 0 and the color of the invalid cell are both black.
  • the position of the invalid cell is assumed to be the position of the black cell in the symbol area 120 of the two-dimensional code 100 shown in FIG.
  • the position detection pattern 110 is located outside the symbol area 120, and includes a white frame 111 outside the width of one cell and a black frame 112 inside the rectangle having a width of one cell.
  • the direction pattern 160 is composed of cells at the four corners of the symbol area 120, and the upper left cell is blue, the upper right cell is green, the lower left cell is red, and the lower right cell is black.
  • FIG. 26 shows an example of the encoding process.
  • the encoding device 2501 accepts data input (S2601). Specifically, the encoding device 2501 accepts an input of a 24-digit numeric string expressed in binary numbers, for example.
  • the encoding device 2501 may generate a 24-digit numerical sequence by receiving a numerical sequence of less than 24 digits and adding a fixed value to the input.
  • the encoding device 2501 refers to the cell color pattern 2502 (S2602).
  • the encoding apparatus determines the color of the effective cell at the cell position corresponding to the value of each digit of the input numerical sequence according to the cell color pattern 2502 (S2603). Specifically, the encoding device 2501 determines that the color of the effective cell at the cell position corresponding to the digit indicated by the cell color pattern 2502 is black when the value of a digit in the input numerical sequence is 0. To do.
  • the encoding device 2501 indicates the color of the effective cell at the cell position corresponding to the digit indicated by the cell color pattern 2502 by the cell color pattern 2502. The color corresponding to the indicated digit is determined.
  • the color of the cell at the cell position (1, 0) is determined to be green
  • the first digit of the input numerical sequence is Is 1
  • the color of the cell at the cell position (2, 0) is determined to be blue.
  • the encoding method of the present embodiment can generate a two-dimensional code that allows motion blur with a blur width of one cell or less.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of a certain embodiment.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

Provided is a two-dimensional code, comprising a symbol region including a plurality of effective cells which retains user data, and a location detection pattern which is positioned externally to the symbol region. The location detection pattern signifies the location and range of the two-dimensional code. Each of the plurality of effective cells has a first color when retaining first information, and, when retaining second information, has a color, different from the first color, which is selected from a prescribed plurality of colors according to the location of the effective cell. The smallest value of a gap in the symbol region in a first direction of the effective cells which retain the second information and have the same color is one or more cells.

Description

二次元コード、二次元コード読取装置、及び符号化方法Two-dimensional code, two-dimensional code reader, and encoding method
 本発明は、二次元コード、二次元コード読取装置、及び符号化方法に関する。 The present invention relates to a two-dimensional code, a two-dimensional code reader, and an encoding method.
 近年、様々な用途でバーコードシンボルの利用が広がっている。例えば、移動ロボットの自己位置認識や、カメラ搭載の携帯デバイスでの情報伝達等にバーコードシンボルは用いられている。 In recent years, the use of barcode symbols has been expanding for various purposes. For example, barcode symbols are used for self-position recognition of mobile robots and information transmission in portable devices equipped with cameras.
 本技術分野の背景技術として、特開平7-254037号公報(特許文献1)、及び特開昭63-255783号公報(特許文献2)がある。特許文献1には、誤り訂正符号が埋め込まれた二次元コードが記載されている。特許文献1に記載の技術によれば、画像上の汚れなどにより、二次元コード読取装置が二次元コードの一部を読み取れなかった場合でも、二次元コードに埋め込まれた誤り訂正符号により正しい情報を読み出すことができる。特許文献2には、複数の色に塗り分けたセルにより、スキャン方向における色の変化に情報を持たせた一次元コードが記載されている。特許文献2に記載の技術によれば、一次元コードのスキャン方向にモーションブラーが生じた場合に、二次元コード読取装置は、所定の色の変化パタンに従って、正しく情報を読み取ることができる。 As background art in this technical field, there are JP-A-7-254037 (Patent Document 1) and JP-A-63-255783 (Patent Document 2). Patent Document 1 describes a two-dimensional code in which an error correction code is embedded. According to the technique described in Patent Document 1, even when the two-dimensional code reader cannot read a part of the two-dimensional code due to dirt on the image, correct information is obtained by the error correction code embedded in the two-dimensional code. Can be read out. Patent Document 2 describes a one-dimensional code in which information about color change in the scan direction is provided by cells that are painted in a plurality of colors. According to the technique described in Patent Document 2, when a motion blur occurs in the scanning direction of a one-dimensional code, the two-dimensional code reader can read information correctly according to a predetermined color change pattern.
特開平7-254037号公報Japanese Patent Laid-Open No. 7-254037 特開昭63-255783号公報Japanese Unexamined Patent Publication No. 63-255783
 前述の通り、バーコードシンボルは、移動ロボットや携帯デバイスのような高速移動するカメラにより撮影されることが多い。高速移動するカメラにより撮影された画像は、全体にモーションブラーが生じるため、バーコードシンボルが正しく読み出されないという課題があった。移動ロボットは、床面に貼付したバーコードシンボルを高速に移動中に読み取るため、モーションブラーが発生する。また、手持ちの状態の携帯デバイスに搭載されたカメラにより撮影されたバーコードシンボルには、手ブレに起因したモーションブラーが発生する。 As mentioned above, barcode symbols are often taken by a high-speed moving camera such as a mobile robot or portable device. Since an image taken by a camera that moves at high speed causes motion blur throughout, there is a problem that barcode symbols cannot be read out correctly. Since the mobile robot reads the barcode symbol attached to the floor surface while moving at high speed, motion blur occurs. In addition, motion blur due to camera shake occurs in a barcode symbol photographed by a camera mounted on a handheld portable device.
 図1は、特許文献1の二次元コードにモーションブラーが発生した影響を示す。二次元コード20は、二次元コード10に対してモーションブラーが生じたものである。カメラ自体が動いていることに起因するモーションブラーは画像全体に生じるため、二次元コード20の切り出しシンボル30は潰れてしまい、二次元コード20から二次元コード領域を切り出すことは困難である。また、仮に二次元コード領域が切り出されたとしても、モーションブラーのために読み出した情報に多くの読み込みエラーが発生するため、誤り訂正符号でも訂正しきれず、結果として正しい情報を読み出すことができない。 FIG. 1 shows the effect of motion blur on the two-dimensional code of Patent Document 1. The two-dimensional code 20 has a motion blur with respect to the two-dimensional code 10. Since motion blur caused by the movement of the camera itself occurs in the entire image, the cut-out symbol 30 of the two-dimensional code 20 is crushed, and it is difficult to cut out the two-dimensional code area from the two-dimensional code 20. Even if the two-dimensional code area is cut out, many read errors occur in the information read for motion blur, so that even the error correction code cannot be corrected, and as a result, correct information cannot be read.
 特許文献2に記載の技術は、バーコードシンボルのモーションブラーに対してのロバスト性を向上させているものの、一次元のスキャン方向の色変化により情報をコード化する方式であるため、一次元コードでしか実装することができない。一次元コードは原理上二次元コードよりも情報密度が低く、多くの情報を持つことができない。本発明の一態様は、全体に所定の幅のモーションブラーが生じた画像からでも正しく認識され、高密度に情報を格納可能なバーコードシンボルを提供する。 Although the technique described in Patent Document 2 improves the robustness of barcode symbols with respect to motion blur, it is a method of encoding information by color change in a one-dimensional scan direction. Can only be implemented in A one-dimensional code has a lower information density in principle than a two-dimensional code, and cannot contain much information. One embodiment of the present invention provides a barcode symbol that can be correctly recognized even from an image having motion blur of a predetermined width as a whole and can store information at high density.
 本発明の一態様は、以下のような構成を採用する。ユーザデータを保持する複数の有効セルを含むシンボル領域と、前記シンボル領域の外側に配置される位置検出パタンと、を含む二次元コードであって、前記位置検出パタンは、前記二次元コードの位置と範囲とを示し、前記複数の有効セルそれぞれは、第1情報を保持する場合、第1色を有し、第2情報を保持する場合、当該有効セルの位置に応じて所定の複数の色から選択された、前記第1色と異なる色を有し、前記シンボル領域において、前記第2情報を保持し同一色を有する有効セルの第1方向における間隔の最小値は、1セル以上である、二次元コード。 The following configuration is employed in one aspect of the present invention. A two-dimensional code including a symbol area including a plurality of valid cells holding user data and a position detection pattern arranged outside the symbol area, wherein the position detection pattern is a position of the two-dimensional code. Each of the plurality of valid cells has a first color when holding the first information, and has a predetermined plurality of colors according to the position of the valid cell when holding the second information. In the symbol area, the minimum value of the interval in the first direction of the effective cells having the same color and having the color different from the first color selected from the first color is 1 cell or more. , Two-dimensional code.
 本発明の一態様によれば、全体に1セル以下の幅のモーションブラーが生じた画像からでも正しく認識され、高密度に情報を格納可能なバーコードシンボルを提供することができる。上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。 According to one aspect of the present invention, it is possible to provide a barcode symbol that can be correctly recognized even from an image in which motion blur having a width of 1 cell or less has occurred as a whole and can store information at high density. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
従来の二次元コードにおいて、モーションブラーの影響を示す図である。It is a figure which shows the influence of a motion blur in the conventional two-dimensional code. 実施例1において、二次元コードの構造の一例を表す図である。In Example 1, it is a figure showing an example of the structure of a two-dimensional code. 実施例1において、位置検出パタンの構造の一例を示す図である。In Example 1, it is a figure which shows an example of the structure of a position detection pattern. 実施例1において、シンボル領域の構造の一例を示す図である。In Example 1, it is a figure which shows an example of the structure of a symbol area | region. 実施例1において、バーコードシンボル読取装置の構成例を示すブロック図である。In Example 1, it is a block diagram which shows the structural example of the barcode symbol reader. 実施例1において、バーコード領域検出処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of a barcode area detection process in the first embodiment. 実施例1において、色分離処理一例を示すフローチャートである。6 is a flowchart illustrating an example of color separation processing in the first embodiment. 実施例1において、色分離アルゴリズムの概要例を示す図である。In Example 1, it is a figure which shows the example of an outline | summary of a color separation algorithm. 実施例1において、セル読込処理の一例を示すフローチャートである。5 is a flowchart illustrating an example of a cell reading process in the first embodiment. 実施例1において、セル読込アルゴリズムの概念の例を示す図である。In Example 1, it is a figure which shows the example of the concept of a cell reading algorithm. 実施例1において、方向決定処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of a direction determination process in the first embodiment. 実施例1において、方向決定アルゴリズムの概念の例を示す図である。In Example 1, it is a figure which shows the example of the concept of a direction determination algorithm. 実施例1において、情報復号処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of information decoding processing in the first embodiment. 実施例1において、情報復号アルゴリズムの概念の例を示す図である。In Example 1, it is a figure which shows the example of the concept of an information decoding algorithm. 実施例1において、二次元方向情報の各方向に対してセル色情報を参照する順番の例を示す図である。In Example 1, it is a figure which shows the example of the order which references cell color information with respect to each direction of two-dimensional direction information. 実施例1において、二次元コードの構造の一例を示す図である。In Example 1, it is a figure which shows an example of the structure of a two-dimensional code. 実施例2において、二次元コードの構造の一例を示す図である。In Example 2, it is a figure which shows an example of the structure of a two-dimensional code. 実施例2において、位置検出パタンの構造の一例を示す図である。In Example 2, it is a figure which shows an example of the structure of a position detection pattern. 実施例2において、シンボル領域の構造の一例を示す図である。In Example 2, it is a figure which shows an example of the structure of a symbol area | region. 実施例2において、バーコード領域検出処理の一例を示すフローチャートである。10 is a flowchart illustrating an example of a barcode area detection process in the second embodiment. 実施例3において、移動ロボットの自己位置認識の概要例を説明する図である。In Example 3, it is a figure explaining the example of an outline | summary of the self-position recognition of a mobile robot. 実施例3において、二次元コードの構造の一例を示す図である。In Example 3, it is a figure which shows an example of the structure of a two-dimensional code. 実施例3において、位置検出パタンの構造の一例を示す図である。In Example 3, it is a figure which shows an example of the structure of a position detection pattern. 実施例3において、シンボル領域の構造の一例を示す図である。In Example 3, it is a figure which shows an example of the structure of a symbol area | region. 実施例4において、セル色パタンの一例を示す図である。In Example 4, it is a figure which shows an example of a cell color pattern. 実施例4において、符号化処理の一例を示すフローチャートである。In Example 4, it is a flowchart which shows an example of an encoding process.
 以下に、添付図面を参照して本発明の実施の形態の一例を示す。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。 Hereinafter, an example of an embodiment of the present invention will be described with reference to the accompanying drawings. It should be noted that this embodiment is merely an example for realizing the present invention, and does not limit the technical scope of the present invention. In each figure, the same reference numerals are given to common configurations.
 図2は、本実施例の二次元コードの構造の一例を示す。二次元コード100は、二次元コード100の位置と範囲とを規定する位置検出パタン110と、位置検出パタン110の内側に配置され、情報を保持するシンボル領域120と、を含む。なお、図2及び後述する他の図において、Rと記載されている部分は赤色、Gと記載されている部分は緑色、Bと記載されている部分は青色、ドットで塗りつぶされている部分は黒色、色が塗布されておらず、かつ文字が記載されていない部分は白色、を示す。 FIG. 2 shows an example of the structure of the two-dimensional code of this embodiment. The two-dimensional code 100 includes a position detection pattern 110 that defines the position and range of the two-dimensional code 100, and a symbol area 120 that is arranged inside the position detection pattern 110 and holds information. In FIG. 2 and other figures to be described later, the part indicated as R is red, the part indicated as G is green, the part indicated as B is blue, and the part filled with dots is Black, the color is not applied, and the portion where no character is written is white.
 図3は、本実施例の位置検出パタンの構造の一例を示す。図3は、二次元コード100から位置検出パタン110部分のみを抽出したものである。位置検出パタン110は、例えば、所定の幅の長方形(長方形は正方形を含む概念である)の外側の白枠111と、所定の幅の長方形の内側の黒枠112と、を含む。なお、当該所定の幅は、例えば、セルが正方形である場合は当該セルの1辺の長さ、セルが矩形(正方形でない長方形)である場合は長辺の長さを示す。当該所定の幅は、これらの長さより長くてもよい。 FIG. 3 shows an example of the structure of the position detection pattern of this embodiment. FIG. 3 shows only the position detection pattern 110 portion extracted from the two-dimensional code 100. The position detection pattern 110 includes, for example, a white frame 111 outside a rectangle having a predetermined width (a rectangle is a concept including a square) and a black frame 112 inside the rectangle having a predetermined width. The predetermined width indicates, for example, the length of one side of the cell when the cell is a square, and the length of the long side when the cell is a rectangle (a rectangle other than a square). The predetermined width may be longer than these lengths.
 例えば、ブラー幅が1セル以下のモーションブラーが生じた場合、二次元コード100の外側の色が黒枠112の内側のシンボル領域120に混入することは無く、かつシンボル領域120の色が黒枠112の外側に混入することも無い。従って、位置検出パタン110により、ブラー幅が1セル以下のモーションブラーが生じた場合でも、二次元コード100の位置と範囲とを検出することができる。なお、ブラー幅がxセル以下のモーションブラーとは、セルが隙間なく配置されているセル群において、あるセルから最大でx個離れたセルまで及ぶモーションブラーを示す。 For example, when a motion blur with a blur width of 1 cell or less occurs, the color outside the two-dimensional code 100 is not mixed into the symbol area 120 inside the black frame 112, and the color of the symbol area 120 is the black frame 112. It does not mix outside. Therefore, the position and range of the two-dimensional code 100 can be detected by the position detection pattern 110 even when a motion blur having a blur width of 1 cell or less occurs. The motion blur whose blur width is equal to or less than x cells refers to a motion blur that extends from a certain cell up to x cells in a cell group in which cells are arranged without a gap.
 なお、位置検出パタン110は、モーションブラーが発生しても検出が可能な形状で、後述の方向パタンを規定できる形状であればよい。例えば、位置検出パタン110における、外側の枠の色が黒、内側の枠の色が白であってもよい。また、例えば、位置検出パタン110は、位置検出のための所定の形状のマーカーを含んでもよい。これは他の実施例における位置検出パタン110においても同様である。 It should be noted that the position detection pattern 110 may be a shape that can be detected even when motion blur occurs and can have a direction pattern that can be defined later. For example, in the position detection pattern 110, the color of the outer frame may be black and the color of the inner frame may be white. For example, the position detection pattern 110 may include a marker having a predetermined shape for position detection. The same applies to the position detection pattern 110 in other embodiments.
 図4は、本実施例のシンボル領域の構造の一例を示す。図4は、二次元コード100からシンボル領域120部分のみを抽出したものである。シンボル領域120は、例えば、同じ向きで隙間なく連結された複数の基本セルパタン150からなる、長方形の構造である。基本セルパタン150は、例えば、情報を保持する最小単位である合同な長方形のセル151~154によって構成される。セル151は基本セルパタン150内の左上に、セル152は基本セルパタン150内の右上に、セル153は基本セルパタン150内の右下に、セル154は基本セルパタン150内の左下に、それぞれ配置される。 FIG. 4 shows an example of the structure of the symbol area of this embodiment. FIG. 4 shows only the symbol region 120 extracted from the two-dimensional code 100. The symbol area 120 has, for example, a rectangular structure composed of a plurality of basic cell patterns 150 connected in the same direction without gaps. The basic cell pattern 150 includes, for example, congruent rectangular cells 151 to 154 that are minimum units for holding information. The cell 151 is arranged at the upper left in the basic cell pattern 150, the cell 152 is arranged at the upper right in the basic cell pattern 150, the cell 153 is arranged at the lower right in the basic cell pattern 150, and the cell 154 is arranged at the lower left in the basic cell pattern 150.
 シンボル領域120は、四隅のセル130~133からなり二次元コードの向き、即ち回転角度を示す方向パタン160と、それ以外の領域からなるコード領域140と、から構成される。なお、方向パタン160は、シンボル領域120の四隅のセルでなくてもよく、例えば、シンボル領域120の中央4つのセルからなってもよい。なお、方向パタン160が四隅のセル130~133からなることにより、モーションブラーによる方向パタン160の外側からの色の混入が黒色だけとなるため、後述する方向決定処理の精度が高くなる。 The symbol area 120 includes cells 130 to 133 at four corners, and includes a direction pattern 160 indicating a direction of a two-dimensional code, that is, a rotation angle, and a code area 140 including other areas. Note that the direction pattern 160 does not have to be a cell at the four corners of the symbol area 120, and may be composed of, for example, four cells in the center of the symbol area 120. In addition, since the direction pattern 160 includes the cells 130 to 133 at the four corners, the color mixture from the outside of the direction pattern 160 by the motion blur is only black, so that the accuracy of the direction determination process described later is increased.
 基本セルパタン150は2x2のセルを並べた構造となっており、基本セルパタン150内の各セルは、例えば、黒色、又は色の加法混合の三原色である赤色、緑色、若しくは青色のいずれかが塗布されている。基本セルパタン150内のセルに塗布される各色は、各色が互いに混ざった場合でも、各色が発色している領域が分離可能である色であればよい。セル151、セル152、及びセル154は、ユーザデータを保持し、セル153はユーザデータを保持しない。但し、方向パタン160を構成するセルは、ユーザデータを保持しない。なお、ユーザデータを保持しているセルを有効セル、ユーザデータを保持していないセルを無効セルと呼称する。 The basic cell pattern 150 has a structure in which 2 × 2 cells are arranged, and each cell in the basic cell pattern 150 is applied with, for example, black, or three primary colors of red, green, or blue, which are additive colors. ing. Each color applied to the cells in the basic cell pattern 150 may be any color that can separate the areas where the colors are generated even when the colors are mixed with each other. The cell 151, the cell 152, and the cell 154 hold user data, and the cell 153 does not hold user data. However, the cells constituting the direction pattern 160 do not hold user data. A cell holding user data is called a valid cell, and a cell not holding user data is called an invalid cell.
 セル151の色は、青又は黒である。セル151の色が青の場合、セル151は1の情報を、セル151の色が黒の場合、セル151は0の情報を保持している。セル152の色は、緑又は黒である。セル152の色が緑の場合、セル152は1の情報を、セル152の色が黒の場合、セル152は0の情報を保持している。セル154の色は、赤又は黒である。セル154の色が赤の場合、セル154は1の情報を、セル154の色が黒の場合、セル154は0の情報を保持している。セル153の色は黒であり、例えば、セル153は情報を保持していない。また、セル153は、例えば、1又は0のいずれかの値を固定値として保持してもよい。 The color of the cell 151 is blue or black. When the color of the cell 151 is blue, the cell 151 holds 1 information, and when the color of the cell 151 is black, the cell 151 holds 0 information. The color of the cell 152 is green or black. When the color of the cell 152 is green, the cell 152 holds 1 information, and when the color of the cell 152 is black, the cell 152 holds 0 information. The color of the cell 154 is red or black. When the color of the cell 154 is red, the cell 154 holds 1 information, and when the color of the cell 154 is black, the cell 154 holds 0 information. The color of the cell 153 is black. For example, the cell 153 does not hold information. The cell 153 may hold, for example, a value of 1 or 0 as a fixed value.
 シンボル領域120において、複数の基本セルパタン150は、隣り合う1の情報を保持する有効セル同士の色は同じにならないように連結されている。即ち、同じ色彩(赤、青、又は緑)を有する任意の2つの有効セルの、縦横両方向においてセル1つ分の間隔が設けられるように、複数の基本セルパタン150は連結されている。なお、シンボル領域120において、1の情報を保持し同一色を有する有効セルの縦横両方向における間隔の最小値が1セル以上であってもよい。なお、ある方向におけるセル同士の間隔とは、一方のセルの辺上の点から他方のセルの辺上の点に引いた当該方向の任意の仮想線分の長さのうち最小のものを指す。なお、2つのセルに重なっている部分が存在する場合は、当該2つのセルの間隔は0であるとする。これにより、ブラー幅が1セル以下のモーションブラーが生じた場合、隣り合うセルの色が混入するだけであり、隣り合うセルの色同士は分離可能であるため、各セルから正しい情報を読み出すことができる。 In the symbol area 120, the plurality of basic cell patterns 150 are connected so that the colors of the effective cells holding one piece of adjacent information are not the same. That is, the plurality of basic cell patterns 150 are connected such that any two effective cells having the same color (red, blue, or green) are spaced by one cell in both the vertical and horizontal directions. Note that, in the symbol area 120, the minimum value of the interval in both the vertical and horizontal directions of the effective cell that holds one information and has the same color may be one cell or more. In addition, the space | interval of the cells in a certain direction points out the minimum thing among the lengths of the arbitrary virtual line segments of the said direction drawn from the point on the side of one cell to the point on the side of the other cell. . When there is a portion overlapping two cells, the interval between the two cells is assumed to be zero. As a result, when motion blur with a blur width of 1 cell or less occurs, only the colors of adjacent cells are mixed, and the colors of adjacent cells can be separated from each other, so that correct information is read from each cell. Can do.
 例えば、シンボル領域120において、基本セルパタン150それぞれは、隣の基本セルパタン150と所定の間隔を空けて配置されていてもよい。また、基本セルパタン150内のセルそれぞれは同じ基本セルパタン150内のセルと所定の間隔を空けて配置されてもよい。基本セルパタン150同士の間隔、又は基本セルパタン150内のセル同士の間隔が大きいほど、二次元コード100は、よりブラー幅の大きいモーションブラーを許容できるようになり、当該間隔が小さいほど二次元コード100の情報密度が向上する。これは後述する他の実施例においても同様である。 For example, in the symbol area 120, each basic cell pattern 150 may be arranged with a predetermined interval from the adjacent basic cell pattern 150. In addition, each cell in the basic cell pattern 150 may be arranged at a predetermined interval from a cell in the same basic cell pattern 150. As the interval between the basic cell patterns 150 or between the cells in the basic cell pattern 150 is larger, the two-dimensional code 100 can accept a motion blur having a larger blur width. The smaller the interval is, the two-dimensional code 100 is. The information density is improved. The same applies to other embodiments described later.
 本実施例のシンボル領域120における基本セルパタン150の配置は、上述した配置でなくてもよく、隣り合う1の情報を保持する有効セル同士の色が同一で無ければ、どのような配置でもよい。即ち、1の情報を保持する同色の有効セル間には1セル分の間隔が設けられている。基本セルパタン150内のセル151~セル154の配置についても同様である。また、無効セルの色は1の情報を保持する有効セルの色と異なっていれば、黒以外の色であってもよい。 The arrangement of the basic cell pattern 150 in the symbol area 120 of the present embodiment is not limited to the above-described arrangement, and may be any arrangement as long as the colors of the effective cells holding one adjacent information are not the same. That is, an interval of one cell is provided between effective cells of the same color that hold one information. The same applies to the arrangement of the cells 151 to 154 in the basic cell pattern 150. Further, the color of the invalid cell may be a color other than black as long as it is different from the color of the valid cell holding the information of 1.
 また、本実施例の基本セルパタン150の有効セルは赤、緑、青のいずれかにより1の情報を保持しているが、色同士が混在した場合でも正しく分離される色彩(例えば後述するカメラのフィルタに対応する色彩)であれば、他の色彩を用いてもよい。赤、青、緑の代わりに、例えば、シアン、マゼンタ、イエローの組み合わせや、赤外光、紫外光から生成されるパタンや、輝度、色彩、色相などによって定められる色彩のパタンを用いて1の情報を表現してもよい。上述した配置及び色彩に関することは、他の実施例の基本セルパタンの色彩においても同様である。 In addition, the effective cell of the basic cell pattern 150 of the present embodiment holds 1 information by any of red, green, and blue. However, even when colors are mixed, colors that are correctly separated (for example, a camera described later) Other colors may be used as long as the color corresponds to the filter. Instead of red, blue, and green, for example, a combination of cyan, magenta, and yellow, a pattern generated from infrared light or ultraviolet light, or a color pattern determined by brightness, color, hue, etc. Information may be expressed. The above-described arrangement and colors are the same in the colors of the basic cell patterns of the other embodiments.
 なお、本実施例の基本セルパタン150における有効セルは、各セルが赤緑青などである場合に1、黒の場合に0の情報を保持しているが、各セルに赤緑青などである場合に0、黒の場合に1の情報を保持していてもよい。これは、他の実施例の基本セルパタンにおいても同様である。 The effective cell in the basic cell pattern 150 of the present embodiment holds information of 1 when each cell is red, green, and blue, and 0 when black, but when each cell is red, green, and blue. In the case of 0 and black, information of 1 may be held. The same applies to the basic cell patterns of the other embodiments.
 方向パタン160は、例えば、シンボル領域120cの四隅のセル130~133からなる。二次元コード100bが正しい向きであれば、方向パタン160内の、左上のセル130が青、右上のセル132が緑、左下のセル131が赤、右下のセル133が黒となる。なお、図に示した方向パタン160は、基本セルパタン150に含まれる可能性のある色である4色のセルからなるが、1の情報を保持する有効セルの色が含まれれば2色又は3色のセルからなってもよい。例えば、左上のセル130、右上のセル132、左下のセル131のうち、1つ又は2つが黒であってもよい。方向パタン160に含まれる色の数が多いほど、後述する方向決定処理の精度が向上する。 The direction pattern 160 includes, for example, cells 130 to 133 at four corners of the symbol area 120c. If the two-dimensional code 100b is in the correct orientation, the upper left cell 130 in the direction pattern 160 is blue, the upper right cell 132 is green, the lower left cell 131 is red, and the lower right cell 133 is black. The direction pattern 160 shown in the figure is composed of cells of four colors that may be included in the basic cell pattern 150. However, if the color of an effective cell holding one information is included, two or three colors are included. It may consist of colored cells. For example, one or two of the upper left cell 130, the upper right cell 132, and the lower left cell 131 may be black. The greater the number of colors included in the direction pattern 160, the more accurate the direction determination process described later.
 従って、後述するバーコードシンボル読取装置は、方向パタン160の位置に該当するセル130~133の色を読み取ることで、二次元コードが回転した場合の向きを推定することができる。コード領域140は、シンボル領域120の方向パタン160以外のセルからなる。コード領域140内の有効セルは1、0の情報を保持しており、コード領域140内の全セルの情報をまとめることで、二次元コード100の保有する情報を表す。 Therefore, the barcode symbol reader described later can estimate the orientation when the two-dimensional code is rotated by reading the colors of the cells 130 to 133 corresponding to the position of the direction pattern 160. The code area 140 includes cells other than the direction pattern 160 of the symbol area 120. The valid cell in the code area 140 holds information of 1 and 0, and the information held by the two-dimensional code 100 is expressed by collecting the information of all the cells in the code area 140.
 図5は、本実施例のバーコードシンボル読取装置の構成例を示す。カメラ210は、バーコードシンボル読取装置200に接続され、撮影画像300を取得して、バーコードシンボル読取装置200に出力する。バーコードシンボル読取装置200は、カメラ210から撮影画像300を入力し、二次元コード情報370をデータ処理装置220に出力する。データ処理装置220は、バーコードシンボル読取装置200から二次元コード情報370を入力し、情報処理を行いユーザ等に提示する。 FIG. 5 shows an example of the configuration of the barcode symbol reader of this embodiment. The camera 210 is connected to the barcode symbol reader 200, acquires the captured image 300, and outputs it to the barcode symbol reader 200. Bar code symbol reader 200 receives captured image 300 from camera 210 and outputs two-dimensional code information 370 to data processor 220. The data processing device 220 receives the two-dimensional code information 370 from the barcode symbol reader 200, performs information processing, and presents it to the user or the like.
 バーコードシンボル読取装置200は、例えば、CPU201、メモリ202、入出力インタフェース203を含む計算機上に構成される。CPU201は、プログラムに従って動作するプロセッサ及び/又は論理回路を含み、データの入力/出力、読み込み/書き込みを行い、さらに、後述する各プログラムを実行する。メモリ202は、CPU201が実行するプログラム及びデータを一時的にロードして記憶し、さらに各プログラム及び各データを保持する。入出力インタフェース203は、カメラ210等の外部装置からデータ等の入力、及び外部装置に対してデータ等の出力を行うインタフェースである。 The barcode symbol reader 200 is configured on a computer including a CPU 201, a memory 202, and an input / output interface 203, for example. The CPU 201 includes a processor and / or a logic circuit that operates according to a program, inputs / outputs data, reads / writes data, and executes each program to be described later. The memory 202 temporarily loads and stores a program and data executed by the CPU 201, and holds each program and each data. The input / output interface 203 is an interface that inputs data from an external device such as the camera 210 and outputs data to the external device.
 メモリ202は、フレームバッファ230及び、それぞれプログラムである、バーコード領域検出部240、色分離部250、セル読込部260、方向決定部270、並びに情報復号部280を含む。プログラムはCPU201によって実行されることで、定められた処理をメモリ202及び入出力インタフェース203を用いながら行う。従って、本実施例及び他の実施例においてプログラムを主語とする説明は、CPU201を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機及び計算機システムが行う処理である。 The memory 202 includes a frame buffer 230 and a barcode area detection unit 240, a color separation unit 250, a cell reading unit 260, a direction determination unit 270, and an information decoding unit 280, which are programs. The program is executed by the CPU 201 to perform a predetermined process using the memory 202 and the input / output interface 203. Therefore, in the present embodiment and the other embodiments, the description with the program as the subject may be the description with the CPU 201 as the subject. Alternatively, the process executed by the program is a process performed by a computer and a computer system on which the program operates.
 CPU201は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、CPU201は、プログラムであるバーコード領域検出部240に従って動作することでバーコード領域検出部として機能し、プログラムである色分離部250に従って動作することで色分離部として機能する。さらに、CPU201は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。 The CPU 201 operates as a functional unit that realizes a predetermined function by operating according to a program. For example, the CPU 201 functions as a barcode area detection unit by operating according to the barcode area detection unit 240 as a program, and functions as a color separation unit by operating according to the color separation unit 250 as a program. Further, the CPU 201 also operates as a functional unit that realizes each of a plurality of processes executed by each program. A computer and a computer system are an apparatus and a system including these functional units.
 フレームバッファ230は、カメラ210から入力された撮影画像300を保持する。フレームバッファ230は、バーコード領域検出部240及び色分離部250に撮影画像310を出力する。バーコード領域とは、二次元コード100が占める領域を示す。バーコード領域検出部240は、フレームバッファ230から撮影画像310を入力し、撮影画像310内からバーコード領域を検出して、二次元コード100の位置と範囲とを二次元コード位置情報320として色分離部250に出力する。 The frame buffer 230 holds the captured image 300 input from the camera 210. The frame buffer 230 outputs the captured image 310 to the barcode area detection unit 240 and the color separation unit 250. The barcode area indicates an area occupied by the two-dimensional code 100. The barcode area detection unit 240 receives the captured image 310 from the frame buffer 230, detects the barcode area from the captured image 310, and uses the position and range of the two-dimensional code 100 as the two-dimensional code position information 320 as a color. Output to the separation unit 250.
 図6は、バーコード領域検出部240によるバーコード領域検出処理の一例を示す。バーコード領域検出部240は、フレームバッファ230から撮影画像310を入力したら、撮影画像310に対して二値化処理を実行する(S400)。バーコード領域検出部240は、撮影画像310を二値化した二値画像を生成する。 FIG. 6 shows an example of barcode area detection processing by the barcode area detection unit 240. When the bar code area detection unit 240 inputs the captured image 310 from the frame buffer 230, the barcode area detection unit 240 executes binarization processing on the captured image 310 (S400). The barcode area detection unit 240 generates a binary image obtained by binarizing the captured image 310.
 バーコード領域検出部240は、二値画像に対して、輪郭抽出処理を実行する(S410)。バーコード領域検出部240は、輪郭抽出処理において、二値画像内から位置検出パタン110の黒枠112の輪郭を抽出し、輪郭情報を取得する。バーコード領域検出部240は、輪郭情報を用いて、形状評価処理を実行する(S420)。バーコード領域検出部240は、形状評価処理において、輪郭情報の形状が凸形状か凹形状かを判定し、凹形状の輪郭情報は破棄し、破棄されずに残った輪郭情報を凸形状輪郭情報とする。 The barcode area detection unit 240 executes contour extraction processing on the binary image (S410). In the contour extraction process, the barcode area detection unit 240 extracts the contour of the black frame 112 of the position detection pattern 110 from the binary image, and acquires contour information. The barcode area detection unit 240 executes shape evaluation processing using the contour information (S420). In the shape evaluation process, the barcode area detection unit 240 determines whether the shape of the contour information is a convex shape or a concave shape, discards the contour information of the concave shape, and uses the contour information remaining without being discarded as the convex shape contour information. And
 バーコード領域検出部240は、輪郭長さ判定処理を実行する(S430)。バーコード領域検出部240は、輪郭長さ判定処理において、全ての凸形状輪郭に対して、輪郭の長さを求め、輪郭の長さが予め定められた輪郭範囲内でない凸形状輪郭情報を破棄し、輪郭の長さが輪郭範囲内である凸形輪郭情報を二次元コード候補輪郭情報とする。 The barcode area detection unit 240 executes a contour length determination process (S430). In the contour length determination process, the barcode area detection unit 240 obtains the contour length for all the convex contours, and discards the convex contour information whose contour length is not within the predetermined contour range. Then, convex contour information whose contour length is within the contour range is set as two-dimensional code candidate contour information.
 なお、輪郭範囲は、輪郭長さ上限と輪郭長さ下限とによって定められる範囲であり、撮影画像310内に写る可能性がある二次元コード100の大きさの範囲を規定している。例えば撮影される二次元コード100の大きさが限定される場合などは、輪郭長さ上限と輪郭長さ下限との差を小さく設定することで、即ち、輪郭範囲を狭く設定することで、バーコード領域検出処理を大幅に高速化することができる。 Note that the contour range is a range determined by the contour length upper limit and the contour length lower limit, and defines the range of the size of the two-dimensional code 100 that may appear in the captured image 310. For example, when the size of the two-dimensional code 100 to be photographed is limited, the difference between the contour length upper limit and the contour length lower limit is set to be small, that is, the contour range is set to be narrow. The code area detection process can be greatly speeded up.
 続いて、バーコード領域検出部240は、四角形近似処理を実行する(S440)。バーコード領域検出部240は、四角形近似処理において、二次元コード候補輪郭情報のそれぞれに対して、予め定められた近似閾値に基づいて四角形への近似を行い、四角形に近似出来ない二次元コード候補輪郭情報を破棄する。なお近似閾値には、モーションブラーにより発生しうるブラー幅の画素数を表す値が設定される。モーションブラーが生じた場合、二次元コード100の位置検出パタン110はブレにより四角形形状ではなくなる。従って、バーコード領域検出部240は、四角形近似処理を行うことで、ブラーが生じた場合でも位置検出パタン110を検出することができる。 Subsequently, the barcode area detection unit 240 executes a quadrangle approximation process (S440). In the quadrature approximation process, the barcode area detection unit 240 performs approximation to each quadrilateral for each of the two-dimensional code candidate contour information based on a predetermined approximation threshold, and a two-dimensional code candidate that cannot be approximated to a quadrangle. Discard the contour information. The approximate threshold value is set to a value representing the number of pixels having a blur width that can be generated by motion blur. When motion blur occurs, the position detection pattern 110 of the two-dimensional code 100 does not have a rectangular shape due to blurring. Therefore, the barcode area detection unit 240 can detect the position detection pattern 110 even when blurring occurs by performing the quadrangle approximation process.
 バーコード領域検出部240は、位置計算処理を実行する(S450)。バーコード領域検出部240は、位置計算処理において、二次元コード輪郭情報から位置検出パタン110の内側の黒枠112の四隅の座標を計算し、二次元コード位置情報320として出力する。 The barcode area detection unit 240 executes position calculation processing (S450). In the position calculation process, the barcode area detection unit 240 calculates the coordinates of the four corners of the black frame 112 inside the position detection pattern 110 from the two-dimensional code contour information, and outputs it as the two-dimensional code position information 320.
 図5の説明に戻る。色分離部250は、フレームバッファ230から撮影画像310を、バーコード領域検出部240から二次元コード位置情報320を、それぞれ入力して、撮影画像310内の二次元コード領域を、赤、青、緑それぞれの色画像340に分離してセル読込部260に出力する。 Returning to the explanation of FIG. The color separation unit 250 inputs the photographed image 310 from the frame buffer 230 and the two-dimensional code position information 320 from the barcode region detection unit 240, respectively, and converts the two-dimensional code region in the photographed image 310 into red, blue, The green color images 340 are separated and output to the cell reading unit 260.
 図7は、色分離処理の一例を示す。図8は、色分離アルゴリズムの概要例を示す。色分離部250は、二次元コード100に対してまず枠切り出し処理を実行する(S500)。色分離部250は、枠切り出し処理において、二次元コード位置情報320を入力し、二次元コード位置情報320の四隅の座標を基に二次元コード画像を切り出す。続いて、色分離部250は、輝度値計算処理を実行する(S510)。色分離部250は、輝度値計算処理において、二次元コード画像の各画素に対して、各画素の赤の画素値R、緑の画素値G、及び青の画素値Bを取得し、例えば、下記の数1を用いて輝度値Yを計算する。 FIG. 7 shows an example of color separation processing. FIG. 8 shows an outline example of the color separation algorithm. The color separation unit 250 first performs a frame cutout process on the two-dimensional code 100 (S500). In the frame cutout process, the color separation unit 250 inputs the two-dimensional code position information 320 and cuts out a two-dimensional code image based on the coordinates of the four corners of the two-dimensional code position information 320. Subsequently, the color separation unit 250 executes a luminance value calculation process (S510). In the luminance value calculation process, the color separation unit 250 acquires, for each pixel of the two-dimensional code image, a red pixel value R, a green pixel value G, and a blue pixel value B of each pixel. The luminance value Y is calculated using the following formula 1.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 続いて色分離部250は、色抽出処理を実行する(S520)。色分離部250は、色抽出処理において、二次元コード画像の各画素に対して、予め定められた色閾値Cth、各画素における赤の画素値R、緑の画素値G、青の画素値B、及び輝度値Yから、下記の数2で算出される値に基づいて、赤領域画像sR620、緑領域画像sG630、及び青領域画像sB640を生成する。色分離部250は、生成した各色の領域画像をまとめて色画像340としてセル読込部260に出力する。 Subsequently, the color separation unit 250 executes color extraction processing (S520). In the color extraction process, the color separation unit 250 performs a predetermined color threshold Cth, a red pixel value R, a green pixel value G, and a blue pixel value B for each pixel of the two-dimensional code image. , And the luminance value Y, a red region image sR620, a green region image sG630, and a blue region image sB640 are generated based on the values calculated by the following formula 2. The color separation unit 250 collectively outputs the generated area images of the respective colors to the cell reading unit 260 as a color image 340.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 本実施例による色分離アルゴリズムによれば、二次元コード画像600にモーションブラーが発生し、二次元コード画像610の様に色が混合してしまった場合でも、色分離部250は、二次元コード画像610を、赤領域画像sR620、緑領域画像sG630、及び青領域画像sB640からなる色画像340に分離することができる。 According to the color separation algorithm according to the present embodiment, even when motion blur occurs in the two-dimensional code image 600 and colors are mixed as in the two-dimensional code image 610, the color separation unit 250 can perform the two-dimensional code. The image 610 can be separated into a color image 340 composed of a red region image sR620, a green region image sG630, and a blue region image sB640.
 図5の説明に戻る。セル読込部260は、色分離部250から色画像340を入力し、バーコード領域の各セル位置において赤、青、又は緑のどの色が反応しているかを表すセル色情報350を導出し、セル色情報350を方向決定部270と情報復号部280に出力する。 Returning to the explanation of FIG. The cell reading unit 260 receives the color image 340 from the color separation unit 250, derives cell color information 350 indicating which color of red, blue, or green is reacting at each cell position in the barcode area, Cell color information 350 is output to direction determining section 270 and information decoding section 280.
 図9は、セル読込処理の一例を示す。図10はセル、読込アルゴリズムの概念の例を示す。セル読込部260は、色分離部250から色画像340を入力して、セル読込処理を実行する。まず、セル読込部260は、セル分割処理を実行する(S700)。セル読込部260は、セル分割処理において、色分離部250から入力した色画像340を予め定められた二次元コードサイズに従って各セルに分割し、各色について分割色画像800を生成する。なお、二次元コードサイズは、二次元コード100全体及び二次元コード100の各セルの大きさ、並びに二次元コード100の縦横のセル数を規定する値であり、例えば、二次元コード100の用途に応じて、予め規定されているものとする。 FIG. 9 shows an example of the cell reading process. FIG. 10 shows an example of the concept of the cell and reading algorithm. The cell reading unit 260 receives the color image 340 from the color separation unit 250 and executes a cell reading process. First, the cell reading unit 260 performs cell division processing (S700). In the cell division process, the cell reading unit 260 divides the color image 340 input from the color separation unit 250 into cells according to a predetermined two-dimensional code size, and generates a divided color image 800 for each color. The two-dimensional code size is a value that defines the entire two-dimensional code 100, the size of each cell of the two-dimensional code 100, and the number of vertical and horizontal cells of the two-dimensional code 100. It is assumed that it is prescribed in advance.
 セル読込部260は、有効セル割合計算処理710を実行する(S710)。セル読込部260は、有効セル割合計算処理710において、分割色画像800の各セルから有効画素数Eとセル画素数Cを取得し、例えば、下記の数3により有効セル割合eRを計算する。 The cell reading unit 260 executes the effective cell ratio calculation process 710 (S710). In the effective cell ratio calculation process 710, the cell reading unit 260 acquires the effective pixel number E and the cell pixel number C from each cell of the divided color image 800, and calculates the effective cell ratio eR by the following equation 3, for example.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 続いて、セル読込部260は、セル情報読込処理を実行する(S720)。セル読込部260は、セル情報読込処理720において、例えば、下記の数4によって、各セルにおけるセル色判定結果CCIを算出する。具体的には、セル情報各色の各セルにおけるセル色判定結果CCIは、セル判定閾値Rthより有効セル割合eRが大きい場合は1、それ以外の場合は0となる。セル読込部260は、各色の全てのセルにおけるセル色判定結果CCIからなるセル色情報350を出力する。 Subsequently, the cell reading unit 260 executes a cell information reading process (S720). In the cell information reading process 720, the cell reading unit 260 calculates the cell color determination result CCI in each cell by, for example, the following equation 4. Specifically, the cell color determination result CCI in each cell of each cell information color is 1 when the effective cell ratio eR is larger than the cell determination threshold Rth, and 0 otherwise. The cell reading unit 260 outputs cell color information 350 including cell color determination results CCI in all cells of each color.
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 図5の説明に戻る。方向決定部270は、セル読込部260からセル色情報350を入力し、方向パタン160の位置に該当するセルの色情報から二次元コード方向を決定し、二次元コード方向情報360として情報復号部280に出力する。 Returning to the explanation of FIG. The direction determining unit 270 receives the cell color information 350 from the cell reading unit 260, determines the two-dimensional code direction from the color information of the cell corresponding to the position of the direction pattern 160, and the information decoding unit as the two-dimensional code direction information 360 Output to 280.
 図11は、方向決定処理の一例を示す。図12は、方向決定アルゴリズムの概念の例を示す。方向決定部270は、まず投票処理を実行する(S900)。方向決定部270は投票処理において、セル色情報350の方向パタン160のセル位置の色情報を参照し、1の情報を保持するセルに合致する4つの方向候補の方向パタンに対して投票を行い、投票結果を方向投票情報1000とする(S900)。なお、バーコードシンボル読取装置200は、当該4つの方向候補の方向パタンの情報を、予め保持している。 FIG. 11 shows an example of direction determination processing. FIG. 12 shows an example of the concept of the direction determination algorithm. The direction determining unit 270 first performs a voting process (S900). In the voting process, the direction determination unit 270 refers to the color information of the cell position of the direction pattern 160 of the cell color information 350 and performs voting on the direction patterns of the four direction candidates that match the cell holding the information of 1. The voting result is set as direction voting information 1000 (S900). The bar code symbol reading apparatus 200 holds information on the direction patterns of the four direction candidates in advance.
 図12を用いて、具体的な投票処理の例を説明する。図12の例では、赤色のセル色情報350の方向パタン160のセルのうち左下のセルのみが、1の情報を保持する。方向投票情報1000において左下のセルが赤色である方向は方向1であるため、方向決定部270は、方向1に1票投票する。同様に、方向決定部270は、緑色のセル色情報350の方向パタン160を参照し、1の情報を保持するセル、即ち右上のセル、が緑色である方向1に1票投票する。方向決定部270は、青色のセル色情報350の方向パタン160を参照し、1の情報を保持するセル、即ち左上のセル及び左下のセル、が青色である方向1、及び方向4に1票ずつ投票する。 A specific example of the voting process will be described with reference to FIG. In the example of FIG. 12, only the lower left cell among the cells of the direction pattern 160 of the red cell color information 350 holds 1 information. Since the direction in which the lower left cell is red in the direction voting information 1000 is the direction 1, the direction determination unit 270 votes one vote in the direction 1. Similarly, the direction determination unit 270 refers to the direction pattern 160 of the green cell color information 350 and votes one direction in the direction 1 in which the cell holding the information of 1, that is, the upper right cell is green. The direction determining unit 270 refers to the direction pattern 160 of the blue cell color information 350, and holds one piece of information in the direction 1 and the direction 4 in which the cells holding one information, that is, the upper left cell and the lower left cell are blue. Vote one by one.
 続いて、方向決定部270は、セル有効判定処理を実行する(S910)。方向決定部270はセル有効判定処理において、4方向の方向投票情報1000の全てが予め定められた方向投票閾値よりも小さい、又は2方向以上が予め定められた方向投票閾値以上であると判定した場合、当該二次元コードは誤検出と判定し、即ち撮影画像310内に二次元コードが含まれないと判定し、処理を中断する。方向決定部270が、上記した場合に当該二次元コードを誤検出と判定することにより、処理速度及び二次元コードの検出精度が向上する。 Subsequently, the direction determining unit 270 executes a cell validity determination process (S910). In the cell validity determination process, the direction determining unit 270 determines that all of the four direction voting information 1000 is smaller than a predetermined direction voting threshold or that two or more directions are equal to or higher than a predetermined direction voting threshold. In this case, it is determined that the two-dimensional code is erroneously detected, that is, it is determined that the two-dimensional code is not included in the captured image 310, and the process is interrupted. When the direction determining unit 270 determines that the two-dimensional code is erroneously detected in the above case, the processing speed and the detection accuracy of the two-dimensional code are improved.
 方向決定部270は、これら以外の場合は方向判定処理を実行する(S920)。方向決定部270は方向判定処理において、4方向の方向投票情報1000のうち方向投票閾値以上となった方向を二次元コード方向情報360として出力する。なお、図12において方向投票閾値は3に予め設定されているが、装置外部からユーザ等により指定されてもよい。 The direction determination unit 270 performs a direction determination process in cases other than these (S920). In the direction determination process, the direction determination unit 270 outputs, as the two-dimensional code direction information 360, a direction that is equal to or greater than the direction vote threshold among the four-direction direction vote information 1000. In FIG. 12, the direction voting threshold is set to 3 in advance, but may be designated by the user or the like from outside the apparatus.
 図5の説明に戻る。情報復号部280は、セル読込部260からセル色情報350を、方向決定部270から二次元コード方向情報360を入力し、二次元コード情報を復号して、二次元コード情報370をデータ処理装置220に出力する。 Returning to the explanation of FIG. The information decoding unit 280 receives the cell color information 350 from the cell reading unit 260 and the two-dimensional code direction information 360 from the direction determining unit 270, decodes the two-dimensional code information, and converts the two-dimensional code information 370 into the data processing device. To 220.
 図13は、情報復号処理の一例を示す。図14は、情報復号アルゴリズムの概念の例を示す。情報復号部280は、セル読込処理を実行する(S1100)。情報復号部280は、セル読込処理において、各色におけるセル色情報350のセルを二次元コード方向情報360に応じた順番で読み込み、各色における復号結果をまとめた二次元コード情報370を出力する。 FIG. 13 shows an example of the information decoding process. FIG. 14 shows an example of the concept of the information decoding algorithm. The information decoding unit 280 performs a cell reading process (S1100). In the cell reading process, the information decoding unit 280 reads the cells of the cell color information 350 for each color in the order corresponding to the two-dimensional code direction information 360, and outputs two-dimensional code information 370 that summarizes the decoding results for each color.
 図15は、二次元コード方向情報360に応じたセル色情報350の各セルを読み込む順番の例を示す。セル読込部260は、ステップS1100のセル読込処理において、二次元コード方向情報360で指定された方向に対応する順番でセルを読み込む。なお、例えば、バーコードシンボル読取装置200は、図15に示す情報、即ち、各方向における、セル位置と色の対応を示す情報、及び各セルを読み込む順序を示す情報を、予め保持している。 FIG. 15 shows an example of the order of reading each cell of the cell color information 350 according to the two-dimensional code direction information 360. The cell reading unit 260 reads cells in the order corresponding to the direction specified by the two-dimensional code direction information 360 in the cell reading process of step S1100. For example, the bar code symbol reading apparatus 200 holds in advance the information shown in FIG. 15, that is, information indicating the correspondence between the cell position and the color in each direction, and information indicating the order of reading each cell. .
 図16は、本実施例における二次元コードの構造の一例を示す。二次元コード2010は、位置検出パタンの白と黒が逆転している点、並びにシンボル領域において、0の情報を保持するセル及び無効セルが白である点において、二次元コード100と異なる。 FIG. 16 shows an example of the structure of the two-dimensional code in this embodiment. The two-dimensional code 2010 is different from the two-dimensional code 100 in that the position detection pattern white and black are reversed, and in the symbol area, cells holding 0 information and invalid cells are white.
 また、二次元コード2020のように、基本セルパタンの右下のセルの色が、白又は黒であってもよい。このとき、当該右下のセルの色が白の場合1の情報を、当該セルが黒の場合0の情報を保持してもよい。二次元コード2010は右下のセルにも1ビットの情報を保持することができる、即ち当該右下のセルも有効セルとなるため、二次元コード2020は高い情報密度を実現することができる。 Also, as in the two-dimensional code 2020, the color of the lower right cell of the basic cell pattern may be white or black. At this time, information 1 may be held when the color of the lower right cell is white, and information 0 may be held when the cell is black. The two-dimensional code 2010 can hold 1-bit information also in the lower right cell, that is, the lower right cell is also an effective cell, so the two-dimensional code 2020 can realize a high information density.
 本実施例のバーコードシンボル読取装置200は、例えば高速移動中のカメラによって撮影されたモーションブラーの発生した撮影画像内の二次元コードからでも、正しい情報を読み出すことができる。また、二次元コードの原理上、二次元コード100は、高い情報密度を実現することができる。 The barcode symbol reader 200 according to the present embodiment can read correct information even from a two-dimensional code in a captured image generated by a motion blur that is captured by a camera moving at a high speed, for example. Further, the two-dimensional code 100 can realize a high information density on the principle of the two-dimensional code.
 図17は、本実施例の二次元コードの構造の一例を示す。本実施例の二次元コード1200は、二次元コード1200の位置と範囲とを規定する位置検出パタン1210と、位置検出パタン1210の内側に配置され、情報を保持するシンボル領域1220と、を含む。本実施例の二次元コード1200の形状は、例えば、三角形であり、シンボル領域1220に含まれる各セルの形状は、例えば、正六角形である。 FIG. 17 shows an example of the structure of the two-dimensional code of this embodiment. The two-dimensional code 1200 of this embodiment includes a position detection pattern 1210 that defines the position and range of the two-dimensional code 1200, and a symbol area 1220 that is arranged inside the position detection pattern 1210 and holds information. The shape of the two-dimensional code 1200 of the present embodiment is, for example, a triangle, and the shape of each cell included in the symbol area 1220 is, for example, a regular hexagon.
 図18は、本実施例の位置検出パタンの構造の一例を示す。図18は、二次元コード1200の位置検出パタン1210のみを抽出したものである。位置検出パタン1210は、例えば、所定の幅の外側の三角形の白枠1300と、最薄部が所定の幅である内側の三角形の黒枠1310と、を含む。当該所定の幅は、例えば、正六角形のセルの1辺の長さとすればよい。 FIG. 18 shows an example of the structure of the position detection pattern of this embodiment. FIG. 18 shows only the position detection pattern 1210 of the two-dimensional code 1200 extracted. The position detection pattern 1210 includes, for example, an outer triangular white frame 1300 having a predetermined width, and an inner triangular black frame 1310 having a thinnest portion having a predetermined width. The predetermined width may be, for example, the length of one side of a regular hexagonal cell.
 位置検出パタン1210はブラー幅が1セル以下のモーションブラーが生じた場合でも、二次元コード1200以外の色が黒枠1310の内側のシンボル領域1220に混入することは無く、かつシンボル領域1220の色が黒枠1310の外側に混入することも無い。従って、位置検出パタン1210により、ブラー幅が1セル以下のモーションブラーが生じた場合でも、二次元コード1200の位置と範囲とを検出することができる。 In the position detection pattern 1210, even when motion blur with a blur width of 1 cell or less occurs, colors other than the two-dimensional code 1200 are not mixed in the symbol area 1220 inside the black frame 1310, and the color of the symbol area 1220 is It does not mix outside the black frame 1310. Therefore, the position and range of the two-dimensional code 1200 can be detected by the position detection pattern 1210 even when a motion blur having a blur width of 1 cell or less occurs.
 なお、位置検出パタン1210はモーションブラーが発生しても検出が可能な形状で、後述の方向パタンを規定できる形状であればよい。位置検出パタン1210の白枠1300及び黒枠1310の形状は、例えば、正六角形などでもよい。 It should be noted that the position detection pattern 1210 may be a shape that can be detected even when motion blur occurs, and may be a shape that can define a direction pattern described later. The shapes of the white frame 1300 and the black frame 1310 of the position detection pattern 1210 may be regular hexagons, for example.
 図19は、本実施例のおけるシンボル領域の構造の一例を示す。図19は、二次元コード1200から、シンボル領域1220部分のみを抽出したものである。シンボル領域1220は、例えば、複数の基本セルパタン1400を、同じ向きに隙間なく連結した構造となっている。基本セルパタン1400は、例えば、情報を保持する最小単位である合同な正六角形のセル1401~1403によって構成される。 FIG. 19 shows an example of the structure of the symbol area in this embodiment. FIG. 19 shows only the symbol region 1220 portion extracted from the two-dimensional code 1200. The symbol area 1220 has, for example, a structure in which a plurality of basic cell patterns 1400 are connected in the same direction without a gap. The basic cell pattern 1400 includes, for example, congruent regular hexagonal cells 1401 to 1403 that are minimum units for holding information.
 基本セルパタン1400は、例えば、1つのセルが他の2つのセルそれぞれと1辺を共有するように連結して構成される。セル1401は基本セルパタン1400内の上部に、セル1402は基本セルパタン1400内の下部に、セル1403は基本セルパタン1400内の左部に、それぞれ配置される。 The basic cell pattern 1400 is configured, for example, by connecting one cell so as to share one side with each of the other two cells. The cell 1401 is arranged in the upper part of the basic cell pattern 1400, the cell 1402 is arranged in the lower part of the basic cell pattern 1400, and the cell 1403 is arranged in the left part of the basic cell pattern 1400.
 シンボル領域1220は、隅のセル1430~1432からなる方向パタン1420と、それ以外の領域からなるコード領域1440と、から構成される。なお、シンボル領域1220の隅のセルとは、シンボル領域1220cに含まれるセルのうち、位置検出パタン1210に面する辺の数が最大のセルを指す。なお、位置検出パタン1210は、シンボル領域1220の隅のセルでなくてもよく、例えば、シンボル領域1220に含まれる、いずれかの基本セルパタン1400であってもよい。 The symbol area 1220 is composed of a direction pattern 1420 including corner cells 1430 to 1432 and a code area 1440 including other areas. Note that the cell at the corner of the symbol region 1220 indicates a cell having the maximum number of sides facing the position detection pattern 1210 among the cells included in the symbol region 1220c. Note that the position detection pattern 1210 does not have to be a cell at the corner of the symbol area 1220, and may be any basic cell pattern 1400 included in the symbol area 1220, for example.
 基本セルパタン1400は正六角形セルを並べた構造となっており、基本セルパタン1400内の各セルは、黒色、又は色の加法混合の三原色である赤色、緑色、若しくは青色のいずれかが塗布されている。基本セルパタン1400内のセルに塗布されている各色は、各色が混ざった場合でも、各色が発色している領域が分離可能である色であればよい。セル1401~1403は、いずれもユーザデータを保持する。但し、方向パタン1420を構成するセルは、ユーザデータを保持しない。 The basic cell pattern 1400 has a structure in which regular hexagonal cells are arranged, and each of the cells in the basic cell pattern 1400 is applied with black, or one of three primary colors red, green, or blue, which is an additive color mixture. . Each color applied to the cells in the basic cell pattern 1400 may be any color that can separate the areas where the colors are generated even when the colors are mixed. The cells 1401 to 1403 all hold user data. However, the cells constituting the direction pattern 1420 do not hold user data.
 セル1402の色は、青又は黒である。セル1402の色が青の場合、セル1402は1の情報を、セル1402の色が黒の場合、セル1402は0の情報を保持している。セル1401の色は、緑又は黒である。セル1401の色が緑の場合、セル1401は1の情報を、セル1401の色が黒の場合、当該セル1401は0の情報を保持している。セル1403の色は、赤又は黒である。セル1403の色が赤の場合、セル1403は1の情報を、セル1403の色が黒の場合、セル1403は0の情報を保持している。 The color of the cell 1402 is blue or black. When the color of the cell 1402 is blue, the cell 1402 holds 1 information, and when the color of the cell 1402 is black, the cell 1402 holds 0 information. The color of the cell 1401 is green or black. When the color of the cell 1401 is green, the cell 1401 holds 1 information, and when the color of the cell 1401 is black, the cell 1401 holds 0 information. The color of the cell 1403 is red or black. When the color of the cell 1403 is red, the cell 1403 holds 1 information, and when the color of the cell 1403 is black, the cell 1403 holds 0 information.
 シンボル領域1220において、複数の基本セルパタン1400は、隣り合う1の情報を保持する有効セル同士の色が同じにならないように連結されている。これにより、ブラー幅が1セル以下のモーションブラーが生じた場合、隣り合うセルの色が混入するだけであり、隣り合うセルの色同士は分離可能であるため、各セルから正しい情報を読み出すことができる。 In the symbol area 1220, the plurality of basic cell patterns 1400 are connected so that the colors of the effective cells holding one piece of adjacent information are not the same. As a result, when motion blur with a blur width of 1 cell or less occurs, only the colors of adjacent cells are mixed, and the colors of adjacent cells can be separated from each other, so that correct information is read from each cell. Can do.
 本実施例の基本セルパタン1400に含まれるセルは正六角形であるため、シンボル領域1220に無効セルが含まれていなくても隣接するセルの色が異なる様に基本セルパタン1400を配置することが出来る。従って、本実施例の二次元コード1200は、高い情報密度を実現することができる。 Since the cells included in the basic cell pattern 1400 of the present embodiment are regular hexagons, the basic cell pattern 1400 can be arranged so that adjacent cells have different colors even if the symbol area 1220 does not include invalid cells. Therefore, the two-dimensional code 1200 of the present embodiment can realize a high information density.
 方向パタン1420は、シンボル領域1220の隅のセル1430~1432からなる。二次元コード1200bが正しい向きであれば、方向パタン1420内の、上のセル1431が緑、右下のセル1432が青、左下のセル1430が赤となる。なお、図に示した方向パタン1420は、3色のセルからなるが、例えば2色のセルからなってもよい。従って、バーコードシンボル読取装置200は、方向パタン1420の位置に該当するセル1430~1432の色を読み取ることで、二次元コードが回転した場合の向きを推定することができる。 The direction pattern 1420 includes cells 1430 to 1432 at the corners of the symbol area 1220. If the two-dimensional code 1200b is in the correct orientation, the upper cell 1431 in the direction pattern 1420 is green, the lower right cell 1432 is blue, and the lower left cell 1430 is red. The direction pattern 1420 shown in the drawing is composed of cells of three colors, but may be composed of cells of two colors, for example. Therefore, the barcode symbol reader 200 can estimate the direction when the two-dimensional code is rotated by reading the colors of the cells 1430 to 1432 corresponding to the position of the direction pattern 1420.
 コード領域1440はシンボル領域1220の方向パタン1420以外のセルからなる。コード領域1440内の各セルは1、0の情報を保持しており、コード領域1440内の全セルの情報をまとめることで、二次元コード1200の保有する情報を表す。 The code area 1440 includes cells other than the direction pattern 1420 of the symbol area 1220. Each cell in the code area 1440 holds information of 1 and 0, and the information held by the two-dimensional code 1200 is represented by collecting the information of all the cells in the code area 1440.
 以下、本実施例におけるバーコードシンボル読取処理について説明する。本実施例においては、実施例1のバーコードシンボル読取処理と差異の有る部分を説明する。図20は、本実施例におけるバーコード領域検出処理の一例を示す。二値化処理から輪郭長さ判定処理、即ちステップS400~ステップS430の処理は図6と同様である。 Hereinafter, the barcode symbol reading process in this embodiment will be described. In the present embodiment, the difference from the barcode symbol reading process of the first embodiment will be described. FIG. 20 shows an example of barcode area detection processing in the present embodiment. The binarization process to the contour length determination process, that is, the processes from step S400 to step S430 are the same as those in FIG.
 バーコード領域検出部240は、輪郭長さ判定処理(S430)に続いて、三角形近似処理を実行する(S1540)。バーコード領域検出部240は、三角形近似処理において、二次元コード候補輪郭情報のそれぞれに対して予め定められた近似閾値に基づいて三角形への近似を行い、三角形に近似出来ない二次元コード候補輪郭情報を破棄する。 The barcode area detection unit 240 executes a triangle approximation process (S1540) following the contour length determination process (S430). In the triangle approximation process, the barcode area detection unit 240 performs approximation to a triangle based on a predetermined approximation threshold for each piece of 2D code candidate outline information, and a 2D code candidate outline that cannot be approximated to a triangle. Discard information.
 モーションブラーが生じた場合、二次元コード1200の位置検出パタン1210はブレにより三角形形状ではなくなる。従って、バーコード領域検出部240は、三角形近似処理を行うことでブラーが生じた場合でも位置検出パタン1210を検出することができる。続いて、バーコード領域検出部240は、位置計算処理を実行する(S1550)。バーコード領域検出部240は、位置計算処理において、位置検出パタン1210の三隅の座標を計算し、二次元コード位置情報320として出力する。 When the motion blur occurs, the position detection pattern 1210 of the two-dimensional code 1200 is not in a triangular shape due to blurring. Therefore, the barcode area detection unit 240 can detect the position detection pattern 1210 even when blurring occurs by performing the triangle approximation process. Subsequently, the barcode area detection unit 240 executes a position calculation process (S1550). In the position calculation process, the barcode area detection unit 240 calculates the coordinates of the three corners of the position detection pattern 1210 and outputs the calculated coordinates as two-dimensional code position information 320.
 なお、本実施例の色分離処理、及びセル読込処理は、バーコードシンボルの形状が異なっても、実施例1と同様であるためここでの説明は省く。 Note that the color separation process and the cell reading process of the present embodiment are the same as those of the first embodiment even if the bar code symbol has a different shape, and thus the description thereof is omitted here.
 以下、本実施例における方向決定処理について図11を用いて説明する。方向決定部270は、投票処理(S900)において、セル色情報の方向パタンのセル位置の色情報を参照し、合致する3つの方向候補の各方向パタンに対して投票を行い、投票結果を方向投票情報とする。 Hereinafter, the direction determination process in the present embodiment will be described with reference to FIG. In the voting process (S900), the direction determination unit 270 refers to the color information of the cell position of the direction pattern of the cell color information, performs voting on each direction pattern of the three matching direction candidates, and determines the voting result as the direction. Voting information.
 方向決定部270は、セル有効判定処理(S910)において、3方向の方向投票情報の全てが予め定められた方向投票閾値よりも小さい、又は2方向以上が予め定められた方向投票閾値以上であると判定した場合は、当該二次元コードは誤検出と判定し処理を中断する。方向決定部270は、これら以外の場合は方向判定処理を実行する。方向決定部270は、方向判定処理(S9620)において、3方向の方向投票情報のうち方向投票閾値以上となった方向を二次元コード方向情報として出力する。 In the cell validity determination process (S910), the direction determining unit 270 has all three direction voting information smaller than a predetermined direction voting threshold, or two or more directions are equal to or higher than a predetermined direction voting threshold. If it is determined that the two-dimensional code is erroneously detected, the process is interrupted. The direction determination unit 270 performs direction determination processing in cases other than these. In the direction determination process (S9620), the direction determination unit 270 outputs, as two-dimensional code direction information, a direction that is equal to or greater than the direction vote threshold among the three-direction direction vote information.
 なお、本実施例の情報復号処理は、バーコードシンボルの形状が異なっても、実施例1と同様であるためここでの説明は省く。 Note that the information decoding process of the present embodiment is the same as that of the first embodiment even if the shape of the bar code symbol is different, and thus the description thereof is omitted here.
 本実施例の二次元コード1200のセルの形状は正六角形であるため、無効セルを使用しなくても隣接するセル間の色が異なる様に配置することができる。従って、本実施例の二次元コード1200は、実施例1の二次元コード100と比較して、面積当たりの情報密度を高めることができる。 Since the cell shape of the two-dimensional code 1200 of this embodiment is a regular hexagon, it can be arranged so that the colors between adjacent cells are different without using invalid cells. Therefore, the two-dimensional code 1200 of the present embodiment can increase the information density per area compared to the two-dimensional code 100 of the first embodiment.
 図21は、二次元コードの運用形態の一例である、移動ロボットの自己位置認識の概要例を示す。移動ロボット1700、及び移動ロボット1710は、例えば、自律移動しながら与えられたタスクを実行する。床面1720には、二次元コード1730、1750が貼付されている。移動ロボット1700、及び移動ロボット1710は、例えば、移動しながら自身に設置された床面を向いたカメラにより床面の二次元コードを認識し、二次元コード内の符号化されている位置情報を読み取ることで、自己位置認識を行う。 FIG. 21 shows a schematic example of self-position recognition of a mobile robot, which is an example of a two-dimensional code operation mode. For example, the mobile robot 1700 and the mobile robot 1710 execute a given task while autonomously moving. Two- dimensional codes 1730 and 1750 are affixed to the floor 1720. The mobile robot 1700 and the mobile robot 1710, for example, recognize a two-dimensional code on the floor surface with a camera facing the floor surface installed on the mobile robot 1700 and move the encoded position information in the two-dimensional code. Self-position recognition is performed by reading.
 二次元コード1730は、移動ロボット1700及び移動ロボット1710が複数の方向から移動可能な領域に貼られている。従って、二次元コード1730は、様々な方向に発生するモーションブラーに対応する必要があるため、例えば、実施例1や実施例2に示した二次元コードと同じ構造であればよい。一方、二次元コード1750は、棚1740に囲まれた領域に貼られている、即ち移動ロボット1700及び移動ロボット1710が一方向のみから移動可能な領域に貼られている。従って、二次元コード1750は、一方向にのみ発生するモーションブラーに対応できればよい。 The two-dimensional code 1730 is attached to an area where the mobile robot 1700 and the mobile robot 1710 can move from a plurality of directions. Therefore, since the two-dimensional code 1730 needs to correspond to motion blur generated in various directions, for example, it may have the same structure as the two-dimensional code shown in the first and second embodiments. On the other hand, the two-dimensional code 1750 is affixed to an area surrounded by the shelf 1740, that is, an area where the mobile robot 1700 and the mobile robot 1710 can move from only one direction. Accordingly, the two-dimensional code 1750 only needs to be able to handle motion blur that occurs only in one direction.
 本実施例では二次元コード1750の様な、一方向にのみ発生するモーションブラーへの対応に適した二次元コードを説明する。図22は、本実施例の二次元コードの構造の一例を示す。二次元コード1800は、二次元コード1800の位置と範囲とを規定する位置検出パタン1820と、情報を保持するシンボル領域1810と、を含む。 In this embodiment, a two-dimensional code suitable for dealing with motion blur that occurs only in one direction, such as a two-dimensional code 1750, will be described. FIG. 22 shows an example of the structure of the two-dimensional code of the present embodiment. The two-dimensional code 1800 includes a position detection pattern 1820 that defines the position and range of the two-dimensional code 1800, and a symbol area 1810 that holds information.
 図23は、本実施例の位置検出パタンの構造の一例を示す。図23は、二次元コード1800から位置検出パタン1820部分のみを抽出したものである。位置検出パタン1820は、外側の所定の幅の長方形の白枠1900と、内側の所定の幅の黒枠1910と、を含む。当該所定の幅は、例えば、セルが正方形である場合は当該セルの1辺の2倍の長さ、セルが矩形である場合は長辺の2倍の長さを示す。当該所定の幅は、これらの長さより長くてもよい。 FIG. 23 shows an example of the structure of the position detection pattern of this embodiment. FIG. 23 shows only the position detection pattern 1820 portion extracted from the two-dimensional code 1800. The position detection pattern 1820 includes an outer rectangular white frame 1900 having a predetermined width and an inner black frame 1910 having a predetermined width. The predetermined width indicates, for example, a length twice as long as one side of the cell when the cell is a square, and a length twice as long as the long side when the cell is a rectangle. The predetermined width may be longer than these lengths.
 位置検出パタン1820はブラー幅が2セル以下のモーションブラーが生じた場合、モーションブラーの発生方向はカメラの移動方向に限定される為、二次元コード1800以外の色が黒枠1910の内側のシンボル領域1810に混入することは無く、かつシンボル領域1810の色が黒枠1910の外側に混入することも無い。従って、位置検出パタン1820により、二次元コード1800の位置と範囲とを検出することができる。 When a motion blur with a blur width of 2 cells or less occurs in the position detection pattern 1820, the direction of motion blur generation is limited to the moving direction of the camera, so colors other than the two-dimensional code 1800 are symbol areas inside the black frame 1910. The color of the symbol area 1810 is not mixed outside the black frame 1910. Accordingly, the position and range of the two-dimensional code 1800 can be detected by the position detection pattern 1820.
 図24は、本実施例のシンボル領域の構造の一例を示す。図24は、二次元コード1800のシンボル領域1810部分のみを抽出したものである。シンボル領域1810は、例えば、同じ向きで隙間なく、縦方向(図中のカメラ移動方向と垂直な方向)に並ぶ有効セルは1色になるように連結された複数の基本セルパタン1860からなる、長方形の構造となっている。基本セルパタン1860は、例えば、情報を保持する最小単位である合同な長方形のセル1970~1972によって構成される。セル1970は基本セルパタン1860内の左側に、セル1971は基本セルパタン1860内の中央に、セル1972は基本セルパタン1860内の右側に、それぞれ配置される。シンボル領域1810は、四隅のセル1950~1953からなる方向パタン1980と、それ以外の領域からなるコード領域1940と、から構成される。 FIG. 24 shows an example of the structure of the symbol area of this embodiment. FIG. 24 shows only the symbol area 1810 portion of the two-dimensional code 1800 extracted. The symbol area 1810 is, for example, a rectangle composed of a plurality of basic cell patterns 1860 that are connected in such a way that the effective cells arranged in the vertical direction (the direction perpendicular to the camera movement direction in the figure) in the same direction with no gaps are one color. It has a structure. The basic cell pattern 1860 is composed of, for example, congruent rectangular cells 1970 to 1972 which are minimum units for holding information. The cell 1970 is arranged on the left side in the basic cell pattern 1860, the cell 1971 is arranged in the center in the basic cell pattern 1860, and the cell 1972 is arranged on the right side in the basic cell pattern 1860. The symbol area 1810 includes a direction pattern 1980 composed of cells 1950 to 1953 at four corners, and a code area 1940 composed of other areas.
 基本セルパタン1960は、例えば、3つのセルを並べた構造となっており、基本セルパタン1960内の各セルは、例えば、黒色、又は色の加法混合の三原色である赤、緑、若しくは青が塗布されている。基本セルパタン1960内のセルに塗布されている各色は、各色が混ざった場合でも、各色が発色している領域が分離可能である色であればよい。セル1970~1972は、ユーザデータを保持する。但し、方向パタン1980を構成するセルは、ユーザデータを保持しない。 The basic cell pattern 1960 has a structure in which, for example, three cells are arranged, and each cell in the basic cell pattern 1960 is applied with, for example, black, or three primary colors of red, green, or blue, which are additive colors. ing. Each color applied to the cells in the basic cell pattern 1960 may be any color that can separate the region where each color is colored even when the colors are mixed. Cells 1970 to 1972 hold user data. However, the cells constituting the direction pattern 1980 do not hold user data.
 セル1970の色は、赤又は黒である。セル1970の色が赤の場合、セル1970は1の情報を、セル1970の色が黒の場合、セル1970は0の情報を保持している。セル1971の色は、緑又は黒である。セル1971の色が緑の場合、セル1971は1の情報を、セル1971の色が黒の場合、セル1971は0の情報を保持している。セル1972の色は、青又は黒である。セル1972の色が青の場合、セル1972は1の情報を、セル1972の色が黒の場合、セル1972は0の情報を保持している。 The color of the cell 1970 is red or black. When the color of the cell 1970 is red, the cell 1970 holds 1 information, and when the color of the cell 1970 is black, the cell 1970 holds 0 information. The color of the cell 1971 is green or black. When the color of the cell 1971 is green, the cell 1971 holds 1 information, and when the color of the cell 1971 is black, the cell 1971 holds 0 information. The color of the cell 1972 is blue or black. When the color of the cell 1972 is blue, the cell 1972 holds 1 information, and when the color of the cell 1972 is black, the cell 1972 holds 0 information.
 シンボル領域1220において、複数の基本セルパタン1960は、カメラ移動方向に隣接する1の情報を保持するセルと、さらにその隣の1の情報を保持するセルとは色が同じにならないように連結されている。これにより、カメラ移動方向にブラー幅が2セル以下のモーションブラーが生じた場合、隣のセル及び2つ隣のセルの色が混入するだけであり、混ざったセルの色同士は分離可能であるため、各セルから正しい情報を読み出すことができる。なお、例えば、基本セルパタン1960のセル数を増やし、セル数と同数の色を塗布すれば、許容できるモーションブラーのブラー幅が色数に応じて長くなる。 In the symbol area 1220, a plurality of basic cell patterns 1960 are connected so that a cell holding one information adjacent in the camera moving direction and a cell holding one information adjacent thereto are not the same in color. Yes. As a result, when motion blur with a blur width of 2 cells or less occurs in the camera movement direction, only the colors of the adjacent cell and the two adjacent cells are mixed, and the colors of the mixed cells can be separated from each other. Therefore, correct information can be read from each cell. For example, if the number of cells of the basic cell pattern 1960 is increased and the same number of colors as the number of cells are applied, the allowable blur width of the motion blur becomes longer according to the number of colors.
 方向パタン1980は、シンボル領域1810の四隅のセル1950~1953からなる。二次元コード1800が正しい向きであれば、方向パタン1980内の左上のセル1950と左下のセル1951は赤、方向パタン1980内の右上のセル1952と右下のセル1953は緑となる。従って、バーコードシンボル読取装置200は、方向パタン1980の位置に該当するセル1950~1952の色を読み取ることで、二次元コードが回転した場合の向きを推定することができる。 The direction pattern 1980 includes cells 1950 to 1953 at the four corners of the symbol area 1810. If the two-dimensional code 1800 has the correct orientation, the upper left cell 1950 and lower left cell 1951 in the direction pattern 1980 are red, and the upper right cell 1952 and lower right cell 1953 in the direction pattern 1980 are green. Therefore, the barcode symbol reader 200 can estimate the direction when the two-dimensional code is rotated by reading the colors of the cells 1950 to 1952 corresponding to the position of the direction pattern 1980.
 コード領域1940はシンボル領域1810の方向パタン1980以外のセルからなる。コード領域1940内の各セルは1、0の情報を保持しており、コード領域1940内の全セルの情報をまとめることで、二次元コード1800の保有する情報を表す。なお、本実施例の二次元コード1800における縦(図中のカメラ移動方向に垂直な方向)の幅が1セル分である場合、実質的に一次元コードとして扱うことができる。 The code area 1940 includes cells other than the direction pattern 1980 of the symbol area 1810. Each cell in the code area 1940 holds information of 1 and 0, and the information held by the two-dimensional code 1800 is expressed by collecting the information of all the cells in the code area 1940. Note that when the vertical width (direction perpendicular to the camera movement direction in the figure) in the two-dimensional code 1800 of this embodiment is one cell, it can be handled as a one-dimensional code substantially.
 なお、本実施例におけるバーコードシンボル読取処理は、実施例1と同様であるため、ここでの説明は省く。 Note that the barcode symbol reading process in the present embodiment is the same as that in the first embodiment, and a description thereof will be omitted here.
 本実施例の二次元コード1800は、カメラ移動方向に位置する複数のセル同士の色が異なる色彩となる基本セルパタン1960から構成される。カメラの移動方向が一方向である事が判明している用途では、本実施例の二次元コード1800を用いることで、他の実施例の二次元コードと使用する色彩の数が同じでも、よりブラー幅の広いモーションブラーを許容できる。従って、本実施例の二次元コード1800により、二次元コードの小型化を実現し、より高速に移動するカメラによって撮影された画像からでも、バーコードシンボル読取装置200は、正しくバーコードを読み取ることができる。 The two-dimensional code 1800 of this embodiment is composed of basic cell patterns 1960 in which the colors of the cells located in the camera movement direction are different colors. In applications where it is known that the moving direction of the camera is one direction, the two-dimensional code 1800 of this embodiment can be used, even if the number of colors used is the same as the two-dimensional code of other embodiments. A motion blur with a wide blur is acceptable. Therefore, the two-dimensional code 1800 of the present embodiment realizes downsizing of the two-dimensional code, and the barcode symbol reader 200 can correctly read the barcode even from an image taken by a camera that moves faster. Can do.
 本実施例は、入力されたデータを、実施例1における、6x6の正方形のセルからなるシンボル領域120を含む二次元コード100に符号化する処理の一例を示す。具体的には、入力されたデータから、シンボル領域120の有効セルの色を決定する処理について主に説明する。 This embodiment shows an example of a process for encoding input data into the two-dimensional code 100 including the symbol area 120 made up of 6 × 6 square cells in the first embodiment. Specifically, the processing for determining the color of the effective cell in the symbol area 120 from the input data will be mainly described.
 本実施例の符号化は、例えば、図5のバーコードシンボル読取装置200と同様のハードウェア構成を有する符号化装置2501(不図示)によって行われる。つまり、例えばプロセッサが、所定のプログラムに従って動作することによって、所定の機能を実現する機能部として動作することで符号化処理を行う。 The encoding of the present embodiment is performed by, for example, an encoding device 2501 (not shown) having a hardware configuration similar to that of the barcode symbol reading device 200 of FIG. That is, for example, the processor performs an encoding process by operating as a function unit that realizes a predetermined function by operating according to a predetermined program.
 図25は、入力された数値列の各桁と、当該桁の値を格納する有効セルの位置と、当該位置の有効セルが有する色彩との対応を示すセル色パタン2502の一例を示す。セル色パタン2502は、例えば符号化装置2501に予め格納される。桁欄2503は、数値列の桁番号、即ち数値列の数値の位置を示す。セル位置欄2504は、対応する桁番号の値を格納する有効セルのセル位置を示す。図中におけるセル位置(x,y)は、シンボル領域の左上隅のセル(図15の二次元コード100中の「B」と表示されたセル)からx個右、y個下のセルを意味する。色欄2505は、対応する桁の値が1の場合における対応するセル位置にある有効セルの色を示す。なお、セル色パタン2502は、1の情報を保持する同色の有効セル間には1セル分の間隔が設けられるように定められている。 FIG. 25 shows an example of a cell color pattern 2502 indicating the correspondence between each digit of the input numeric string, the position of the valid cell that stores the value of the digit, and the color of the valid cell at that position. The cell color pattern 2502 is stored in advance in the encoding device 2501, for example. A digit column 2503 indicates the digit number of the numeric string, that is, the position of the numeric value in the numeric string. The cell position column 2504 indicates the cell position of a valid cell that stores the value of the corresponding digit number. The cell position (x, y) in the figure means the cell that is x right and y lower than the cell in the upper left corner of the symbol area (the cell indicated as “B” in the two-dimensional code 100 in FIG. 15). To do. A color column 2505 indicates the color of the valid cell at the corresponding cell position when the value of the corresponding digit is 1. Note that the cell color pattern 2502 is determined so that an interval of one cell is provided between valid cells of the same color that hold one piece of information.
 なお、符号化装置2501は、0の情報を保持するセルの色と、無効セルの位置及び色と、位置検出パタン110の位置及び色と、シンボル領域120を構成するセルそれぞれの位置及び色と、を予め保持しているものとする。なお、本実施例において、0の情報を保持するセルの色、及び無効セルの色は、いずれも黒であるものとする。無効セルの位置は、図25に示す二次元コード100のシンボル領域120中の黒色のセルの位置であるとする。また、位置検出パタン110は、シンボル領域120の外側に位置し、1セルの幅の外側の白枠111と、1セルの幅の長方形の内側の黒枠112と、からなるものとする。また、方向パタン160は、シンボル領域120の四隅のセルからなり、左上のセルが青、右上のセルが緑、左下のセルが赤、右下のセルが黒であるものとする。 Note that the encoding device 2501 determines the color of the cell holding the information of 0, the position and color of the invalid cell, the position and color of the position detection pattern 110, and the position and color of each cell constituting the symbol area 120. Are held in advance. In this embodiment, it is assumed that the color of the cell holding the information of 0 and the color of the invalid cell are both black. The position of the invalid cell is assumed to be the position of the black cell in the symbol area 120 of the two-dimensional code 100 shown in FIG. The position detection pattern 110 is located outside the symbol area 120, and includes a white frame 111 outside the width of one cell and a black frame 112 inside the rectangle having a width of one cell. The direction pattern 160 is composed of cells at the four corners of the symbol area 120, and the upper left cell is blue, the upper right cell is green, the lower left cell is red, and the lower right cell is black.
 図26は、符号化処理の一例を示す。符号化装置2501は、データ入力を受け付ける(S2601)。具体的には、符号化装置2501は、例えば、2進数で表された24桁の数値列の入力を受け付ける。符号化装置2501は、24桁未満の数値列の入力を受け付けて、に固定値を付加することにより、24桁の数値列を生成してもよい。 FIG. 26 shows an example of the encoding process. The encoding device 2501 accepts data input (S2601). Specifically, the encoding device 2501 accepts an input of a 24-digit numeric string expressed in binary numbers, for example. The encoding device 2501 may generate a 24-digit numerical sequence by receiving a numerical sequence of less than 24 digits and adding a fixed value to the input.
 符号化装置2501は、セル色パタン2502を参照する(S2602)。符号化装置は、セル色パタン2502に従って、入力された数値列の各桁の値に対応するセル位置の有効セルの色を決定する(S2603)。具体的には、符号化装置2501は、入力された数値列のある桁の値が0であるときは、セル色パタン2502が示す当該桁に対応するセル位置の有効セルの色を黒に決定する。 The encoding device 2501 refers to the cell color pattern 2502 (S2602). The encoding apparatus determines the color of the effective cell at the cell position corresponding to the value of each digit of the input numerical sequence according to the cell color pattern 2502 (S2603). Specifically, the encoding device 2501 determines that the color of the effective cell at the cell position corresponding to the digit indicated by the cell color pattern 2502 is black when the value of a digit in the input numerical sequence is 0. To do.
 また、符号化装置2501は、入力された数値列のある桁の値が1であるときは、セル色パタン2502が示す当該桁に対応するセル位置の有効セルの色を、セル色パタン2502が示す当該桁に対応する色に決定する。図25の例においては、例えば、入力された数値列の0桁目が1である場合、セル位置(1,0)のセルの色を緑色に決定し、入力された数値列の1桁目が1である場合、セル位置(2,0)のセルの色を青色に決定する。本実施例の符号化方法により、1セル以下のブラー幅のモーションブラーを許容する二次元コードを生成することができる。 In addition, when the value of a certain digit of the input numeric string is 1, the encoding device 2501 indicates the color of the effective cell at the cell position corresponding to the digit indicated by the cell color pattern 2502 by the cell color pattern 2502. The color corresponding to the indicated digit is determined. In the example of FIG. 25, for example, when the 0th digit of the input numerical sequence is 1, the color of the cell at the cell position (1, 0) is determined to be green, and the first digit of the input numerical sequence is Is 1, the color of the cell at the cell position (2, 0) is determined to be blue. The encoding method of the present embodiment can generate a two-dimensional code that allows motion blur with a blur width of one cell or less.
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 In addition, this invention is not limited to the above-mentioned Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of a certain embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Also, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Claims (15)

  1.  ユーザデータを保持する複数の有効セルを含むシンボル領域と、
     前記シンボル領域の外側に配置される位置検出パタンと、を含む二次元コードであって、
     前記位置検出パタンは、前記二次元コードの位置と範囲とを示し、
     前記複数の有効セルそれぞれは、
     第1情報を保持する場合、第1色を有し、
     第2情報を保持する場合、当該有効セルの位置に応じて所定の複数の色から選択された、前記第1色と異なる色を有し、
     前記シンボル領域において、前記第2情報を保持し同一色を有する有効セルの第1方向における間隔の最小値は、1セル以上である、二次元コード。
    A symbol area containing a plurality of valid cells holding user data;
    A two-dimensional code including a position detection pattern arranged outside the symbol area,
    The position detection pattern indicates the position and range of the two-dimensional code,
    Each of the plurality of valid cells is
    When holding the first information, it has the first color,
    When holding the second information, it has a color different from the first color, selected from a plurality of predetermined colors according to the position of the valid cell,
    A two-dimensional code in which, in the symbol area, the minimum value of the interval in the first direction of the effective cells holding the second information and having the same color is one cell or more.
  2.  請求項1に記載の二次元コードであって、
     前記シンボル領域は、複数の基本セルパタンが同じ向きで配置された、長方形形状であり、
     前記複数の基本セルパタンそれぞれは、縦横2つずつの合同な長方形のセルから構成され、
     前記複数の基本セルパタンは、3つの有効セルと、ユーザデータを保持しない1つの無効セルと、からなる複数の第1基本セルパタンを含み、
     前記複数の基本セルパタンそれぞれの前記第2情報を保持する有効セルは、互いに異なる色を有し、
     前記無効セルは、前記第2情報を保持する有効セルの前記複数の色と異なる第2色を有する、二次元コード。
    The two-dimensional code according to claim 1,
    The symbol area has a rectangular shape in which a plurality of basic cell patterns are arranged in the same direction,
    Each of the plurality of basic cell patterns is composed of two congruent rectangular cells in the vertical and horizontal directions,
    The plurality of basic cell patterns includes a plurality of first basic cell patterns including three valid cells and one invalid cell that does not hold user data.
    The effective cells holding the second information of each of the plurality of basic cell patterns have different colors,
    The invalid cell has a second color different from the plurality of colors of the valid cell holding the second information.
  3.  請求項2に記載の二次元コードであって、
     前記第1色は、黒又は白であり、
     前記複数の色は、赤、緑、及び青からなり、
     前記無効セルの色は黒又は白である、二次元コード。
    The two-dimensional code according to claim 2,
    The first color is black or white;
    The plurality of colors includes red, green, and blue,
    A two-dimensional code in which the color of the invalid cell is black or white.
  4.  請求項1に記載の二次元コードであって、
     前記シンボル領域は、ユーザデータを保持しない複数のセルからなり前記二次元コードの回転角度を示す方向パタンを含み、
     前記方向パタンは、前記複数の色から選択された色を有する第1セルと、前記第1セルと異なる色を有する第2セルと、を含む、二次元コード。
    The two-dimensional code according to claim 1,
    The symbol area includes a plurality of cells that do not hold user data, and includes a direction pattern indicating a rotation angle of the two-dimensional code,
    The direction pattern includes a first cell having a color selected from the plurality of colors and a second cell having a color different from the first cell.
  5.  請求項4に記載の二次元コードであって、
     前記方向パタンに含まれるセルは、前記複数の色から選択された互いに異なる色を有する、二次元コード。
    The two-dimensional code according to claim 4,
    The two-dimensional code in which the cells included in the direction pattern have different colors selected from the plurality of colors.
  6.  請求項2に記載の二次元コードであって、
     前記シンボル領域は、ユーザデータを保持しない4つのセルからなり前記二次元コードの回転角度を示す方向パタンを含み、
     前記方向パタンは、前記複数の色から選択された色を有する第1セルと、前記第1セルと異なる色を有する第2セルと、を含み、
     前記方向パタンに含まれるセルそれぞれは、前記複数の第1基本セルパタンのセル以外のセルであり、
     前記4つのセルそれぞれは、前記シンボル領域の四隅に配置される、二次元コード。
    The two-dimensional code according to claim 2,
    The symbol area includes four cells that do not hold user data, and includes a direction pattern indicating a rotation angle of the two-dimensional code,
    The direction pattern includes a first cell having a color selected from the plurality of colors, and a second cell having a color different from the first cell,
    Each of the cells included in the direction pattern is a cell other than the cells of the plurality of first basic cell patterns,
    Each of the four cells is a two-dimensional code arranged at four corners of the symbol area.
  7.  請求項1に記載の二次元コードであって、
     前記シンボル領域は、複数の基本セルパタンが、同じ向きで配置された長方形形状であり、
     前記複数の基本セルパタンそれぞれは、縦横2つずつの合同な長方形のセルから構成され、
     前記複数の基本セルパタンは、4つの有効セルからなる複数の第2基本セルパタンを含み、
     前記複数の基本セルパタンそれぞれの前記第2情報を保持する有効セルは、互いに異なる色を有する、二次元コード。
    The two-dimensional code according to claim 1,
    The symbol area has a rectangular shape in which a plurality of basic cell patterns are arranged in the same direction,
    Each of the plurality of basic cell patterns is composed of two congruent rectangular cells in the vertical and horizontal directions,
    The plurality of basic cell patterns includes a plurality of second basic cell patterns composed of four effective cells,
    A valid cell that holds the second information of each of the plurality of basic cell patterns is a two-dimensional code having different colors.
  8.  請求項7に記載の二次元コードであって、
     前記第1色は、黒と白の一方であり、
     前記複数の色は、赤、緑、青、及び黒と白の他方からなる、二次元コード。
    The two-dimensional code according to claim 7,
    The first color is one of black and white;
    The plurality of colors are red, green, blue, and the other of black and white.
  9.  請求項1に記載の二次元コードであって、
     前記シンボル領域は、同じ向きで配置された複数の基本セルパタンからなり、
     前記複数の基本セルパタンそれぞれは、
     3つの合同な正六角形のセルからなり、
     前記3つの合同な正六角形のセルそれぞれが、他の2つの正六角形のセルそれぞれと1辺を共有するように構成され、
     前記複数の基本セルパタンは、3つの有効セルからなる複数の第3基本セルパタンを含み、
     前記複数の基本セルパタンそれぞれの前記第2情報を保持する有効セルは、互いに異なる色を有する、二次元コード。
    The two-dimensional code according to claim 1,
    The symbol area is composed of a plurality of basic cell patterns arranged in the same direction,
    Each of the plurality of basic cell patterns is
    It consists of three congruent regular hexagonal cells,
    Each of the three congruent regular hexagonal cells is configured to share one side with each of the other two regular hexagonal cells,
    The plurality of basic cell patterns includes a plurality of third basic cell patterns composed of three effective cells,
    A valid cell that holds the second information of each of the plurality of basic cell patterns is a two-dimensional code having different colors.
  10.  請求項1に記載の二次元コードであって、
     前記シンボル領域は、複数の基本セルパタンが、同じ向きで配置された長方形形状であり、
     前記複数の基本セルパタンそれぞれは、1方向に配置された3つの合同な長方形のセルから構成され、
     前記複数の基本セルパタンは、3つの有効セルからなる複数の第4基本セルパタンを含み、
     前記複数の基本セルパタンそれぞれの前記第2情報を保持する有効セルは、互いに異なる色を有する、二次元コード。
    The two-dimensional code according to claim 1,
    The symbol area has a rectangular shape in which a plurality of basic cell patterns are arranged in the same direction,
    Each of the plurality of basic cell patterns is composed of three congruent rectangular cells arranged in one direction,
    The plurality of basic cell patterns includes a plurality of fourth basic cell patterns composed of three effective cells,
    A valid cell that holds the second information of each of the plurality of basic cell patterns is a two-dimensional code having different colors.
  11.  複数の画素からなる画像の入力を受け付け、前記画像中の二次元コードが保持する情報を読み取る二次元コード読取装置であって、
     前記二次元コードは、
     ユーザデータを保持する複数の有効セルを含むシンボル領域と、
     前記シンボル領域の外側に配置される位置検出パタンと、を含み、
     前記位置検出パタンは、前記二次元コードの位置と範囲とを示し、
     前記二次元コード読取装置は、     
     前記画像から前記位置検出パタンを検出し、前記検出した位置検出パタンから、前記二次元コードの位置と範囲とを特定するバーコード領域検出部と、
     前記二次元コード内の各画素における前記複数の色それぞれの画素値に基づいて、各画素が有する色を示す画素色情報を生成する色分離部と、
     前記二次元コードを所定サイズのセルに分割し、各セルの総画素数と、前記画素色情報が示す各セルにおける前記複数の色それぞれの画素数と、に基づいて、各セルに含まれる1以上の色を示すセル色情報を生成するセル読込部と、
     有効セルのセル位置、第1情報を保持する有効セルの色、及び前記有効セルのセル位置と第2情報を保持する有効セルが有する色との対応、を示し、前記シンボル領域において、前記第2情報を保持し同一色を有する有効セルの第1方向における間隔の最小値は、所定値である、セル色対応情報と、
     前記セル色情報が示す各有効セルの色と、前記セル色対応情報と、に基づいて、各有効セルが保持する情報を復号する情報復号部と、を含む、二次元コード読取装置。
    A two-dimensional code reader that receives input of an image composed of a plurality of pixels and reads information held by a two-dimensional code in the image,
    The two-dimensional code is
    A symbol area containing a plurality of valid cells holding user data;
    A position detection pattern arranged outside the symbol area,
    The position detection pattern indicates the position and range of the two-dimensional code,
    The two-dimensional code reader is
    A barcode area detection unit that detects the position detection pattern from the image, and identifies the position and range of the two-dimensional code from the detected position detection pattern;
    A color separation unit that generates pixel color information indicating a color of each pixel based on a pixel value of each of the plurality of colors in each pixel in the two-dimensional code;
    The two-dimensional code is divided into cells of a predetermined size, and is included in each cell based on the total number of pixels in each cell and the number of pixels in each of the plurality of colors in each cell indicated by the pixel color information. A cell reading unit for generating cell color information indicating the above colors;
    A cell position of a valid cell; a color of a valid cell holding first information; and a correspondence between a cell position of the valid cell and a color of a valid cell holding second information. The minimum value of the interval in the first direction of the effective cells that hold the two information and have the same color is a predetermined value, cell color correspondence information,
    A two-dimensional code reader, comprising: an information decoding unit that decodes information held by each valid cell based on the color of each valid cell indicated by the cell color information and the cell color correspondence information.
  12.  請求項11に記載の二次元コード読取装置であって、
     前記二次元コードは、
     前記シンボル領域は、ユーザデータを保持しない複数のセルからなり前記二次元コードの回転角度を示す方向パタンを含み、
     前記方向パタンは、前記複数の色から選択された色を有する第1セルと、前記第1セルと異なる色を有する第2セルと、を含み、
     前記二次元コード読取装置は、
     前記二次元コードの回転角度を推定する方向決定部と、
     前記二次元コードの複数の回転角度と、前記複数の回転角度それぞれにおける前記方向パタンのセルの色配置と、の対応を示す回転方向候補情報と、をさらに含み、
     前記方向決定部は、
     前記セル色情報を参照して、前記シンボル領域内の方向パタンのセルそれぞれが有する1以上の色を特定し、
     前記色配置それぞれと、前記シンボル領域内の方向パタンのセルそれぞれが有する1以上の色と、を比較し、セル位置と色とが一致する数に応じて、前記色配置それぞれの投票数を決定し、
     投票数が最大の色配置の回転角度を、前記二次元コードの回転角度と推定する、二次元コード読取装置。
    The two-dimensional code reader according to claim 11,
    The two-dimensional code is
    The symbol area includes a plurality of cells that do not hold user data, and includes a direction pattern indicating a rotation angle of the two-dimensional code,
    The direction pattern includes a first cell having a color selected from the plurality of colors, and a second cell having a color different from the first cell,
    The two-dimensional code reader is
    A direction determining unit that estimates a rotation angle of the two-dimensional code;
    Rotation direction candidate information indicating correspondence between a plurality of rotation angles of the two-dimensional code and a color arrangement of cells of the direction pattern at each of the plurality of rotation angles;
    The direction determining unit
    With reference to the cell color information, one or more colors included in each cell of the direction pattern in the symbol area are specified,
    Each of the color arrangements is compared with one or more colors of each of the direction pattern cells in the symbol area, and the number of votes for each of the color arrangements is determined according to the number of matching cell positions and colors. And
    A two-dimensional code reading device that estimates a rotation angle of a color arrangement having the maximum number of votes as a rotation angle of the two-dimensional code.
  13.  請求項12に記載の二次元コード読取装置であって、
     前記方向決定部は、前記回転方向候補情報に含まれる全ての回転角度における投票数が第1閾値未満である場合、又は複数の回転角度における投票数が前記第1閾値以上である場合、前記画像中に前記二次元コードが含まれないと判定する、二次元コード読取装置。
    The two-dimensional code reader according to claim 12,
    When the number of votes at all rotation angles included in the rotation direction candidate information is less than a first threshold, or when the number of votes at a plurality of rotation angles is greater than or equal to the first threshold, A two-dimensional code reader that determines that the two-dimensional code is not included therein.
  14.  請求項11に記載の二次元コード読取装置であって、
     前記色分離部は、
     前記二次元コード内の各画素における前記複数の色それぞれの画素値に基づいて、各画素の輝度値を算出し、
     前記複数の色それぞれについて、各画素の輝度値と当該画素の当該色の画素値との差が第2閾値より大きい場合に、当該画素は当該色を有すると判定する、二次元コード読取装置。
    The two-dimensional code reader according to claim 11,
    The color separation unit is
    Based on the pixel value of each of the plurality of colors in each pixel in the two-dimensional code, the luminance value of each pixel is calculated,
    A two-dimensional code reading device that determines, for each of the plurality of colors, that the pixel has the color when the difference between the luminance value of each pixel and the pixel value of the color of the pixel is greater than a second threshold value.
  15.  ユーザデータを、二次元コードに含まれるシンボル領域に符号化する方法であって、
     前記シンボル領域は、ユーザデータを格納する複数の有効セルを含み、
     前記複数の有効セルそれぞれは、
     数値を格納し、
     第1の数値を保持する場合、第1色を有し、
     第2の数値を保持する場合、当該有効セルの位置に応じて所定の複数の色から選択された、前記第1色と異なる色を有し、
     前記方法は、
     数値列における数値の位置と前記数値を格納する有効セルのセル位置との関係を示す、セル位置情報を取得し、
     前記第1色、及び、有効セルのセル位置と前記第2の数値を保持する有効セルの色との対応、を示し、前記第2の数値を保持し同一色を有する有効セルの第1方向における間隔の最小値は、所定値以上である、セル色対応情報を取得し、
     複数の数値からなる数値列であるユーザデータを受信し、前記複数の数値それぞれは、前記第1の数値又は前記第2の数値であり、
     前記ユーザデータの前記複数の数値それぞれの有効セルのセル位置を、セル位置情報を参照して決定し、
     前記複数の数値を格納する前記有効セルそれぞれの色を、前記有効セルそれぞれのセル位置及び数値に基づき、セル色対応情報を参照して決定する、方法。
    A method of encoding user data into a symbol area included in a two-dimensional code,
    The symbol area includes a plurality of valid cells that store user data;
    Each of the plurality of valid cells is
    Stores numbers,
    If it holds the first number, it has the first color,
    In the case of holding the second numerical value, it has a color different from the first color, selected from a plurality of predetermined colors according to the position of the effective cell,
    The method
    Obtaining cell position information indicating the relationship between the position of the numerical value in the numerical sequence and the cell position of the valid cell storing the numerical value;
    The first color and the correspondence between the cell position of the effective cell and the color of the effective cell holding the second numerical value, and the first direction of the effective cell holding the second numerical value and having the same color The minimum value of the interval in the cell color correspondence information that is greater than or equal to a predetermined value,
    Receiving user data that is a numerical string composed of a plurality of numerical values, each of the plurality of numerical values being the first numerical value or the second numerical value;
    Determining a cell position of each of the plurality of numerical values of the user data with reference to cell position information;
    A method of determining a color of each of the effective cells storing the plurality of numerical values with reference to cell color correspondence information based on a cell position and a numerical value of each of the effective cells.
PCT/JP2015/052775 2015-01-30 2015-01-30 Two-dimensional code, two-dimensional code read device, and encoding method WO2016121126A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/052775 WO2016121126A1 (en) 2015-01-30 2015-01-30 Two-dimensional code, two-dimensional code read device, and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/052775 WO2016121126A1 (en) 2015-01-30 2015-01-30 Two-dimensional code, two-dimensional code read device, and encoding method

Publications (1)

Publication Number Publication Date
WO2016121126A1 true WO2016121126A1 (en) 2016-08-04

Family

ID=56542773

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/052775 WO2016121126A1 (en) 2015-01-30 2015-01-30 Two-dimensional code, two-dimensional code read device, and encoding method

Country Status (1)

Country Link
WO (1) WO2016121126A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991909A (en) * 2017-05-25 2017-07-28 锥能机器人(上海)有限公司 One kind is used for sterically defined land marking
CN110618656A (en) * 2019-08-16 2019-12-27 浙江工业大学 Hall sensor-based warehouse robot real-time positioning method
CN112163442A (en) * 2020-09-29 2021-01-01 杭州海康威视数字技术股份有限公司 Graphic code recognition system, method and device
CN112907612A (en) * 2021-03-31 2021-06-04 深圳市华汉伟业科技有限公司 Bar code region positioning method and image rectangular region fitting method
WO2021129071A1 (en) * 2019-12-25 2021-07-01 北京极智嘉科技股份有限公司 Robot, positioning method, and computer readable storage medium
WO2023080016A1 (en) * 2021-11-04 2023-05-11 日東電工株式会社 Optical multilayer body and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172596A (en) * 2005-11-24 2007-07-05 Canon Inc Two-dimensional code, and method and apparatus for detecting the same
JP2011186613A (en) * 2010-03-05 2011-09-22 Colour Code Technologies Co Ltd Method for creating and method for decoding two-dimensional color code
JP2013093061A (en) * 2006-05-31 2013-05-16 Konica Minolta Laboratory Usa Inc Two-dimensional color barcode, generation method of two-dimensional color barcode and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172596A (en) * 2005-11-24 2007-07-05 Canon Inc Two-dimensional code, and method and apparatus for detecting the same
JP2013093061A (en) * 2006-05-31 2013-05-16 Konica Minolta Laboratory Usa Inc Two-dimensional color barcode, generation method of two-dimensional color barcode and program
JP2011186613A (en) * 2010-03-05 2011-09-22 Colour Code Technologies Co Ltd Method for creating and method for decoding two-dimensional color code

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991909A (en) * 2017-05-25 2017-07-28 锥能机器人(上海)有限公司 One kind is used for sterically defined land marking
CN110618656A (en) * 2019-08-16 2019-12-27 浙江工业大学 Hall sensor-based warehouse robot real-time positioning method
WO2021129071A1 (en) * 2019-12-25 2021-07-01 北京极智嘉科技股份有限公司 Robot, positioning method, and computer readable storage medium
CN112163442A (en) * 2020-09-29 2021-01-01 杭州海康威视数字技术股份有限公司 Graphic code recognition system, method and device
CN112163442B (en) * 2020-09-29 2022-05-06 杭州海康威视数字技术股份有限公司 Graphic code recognition system, method and device
CN112907612A (en) * 2021-03-31 2021-06-04 深圳市华汉伟业科技有限公司 Bar code region positioning method and image rectangular region fitting method
WO2023080016A1 (en) * 2021-11-04 2023-05-11 日東電工株式会社 Optical multilayer body and system

Similar Documents

Publication Publication Date Title
WO2016121126A1 (en) Two-dimensional code, two-dimensional code read device, and encoding method
Fiala Comparing ARTag and ARToolkit Plus fiducial marker systems
US8864033B2 (en) Robust decoding of color barcode printed with extremely small data cells
US20160379031A1 (en) High capacity 2d color barcode design and processing method for camera based applications
US20150070714A1 (en) Image forming device, printing method, and computer-readable recording medium
US10936837B1 (en) 2D barcode overlays
JP5819925B2 (en) Code reading device and code reading program
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
JP4574503B2 (en) Image processing apparatus, image processing method, and program
JP5720623B2 (en) Two-dimensional code reader
US11190684B2 (en) Image processing apparatus, image processing method, and storage medium
JP4777024B2 (en) Image processing apparatus and image processing apparatus control method
JP2009175845A (en) Image processor, pen device, and program
US20100238470A1 (en) Document image processing system and document image processing method
JP5988228B2 (en) Two-dimensional code, image reading apparatus, image reading method, program, and storage medium
US20120062960A1 (en) Image processing apparatus, identification apparatus, method for determining bit sequence and computer readable medium
JP6678385B2 (en) Information providing system and printed matter
US20090016613A1 (en) Image processing apparatus, image processing method, and computer program product
US8155376B2 (en) Image processor, image forming apparatus, image processing method and computer readable medium
US8229223B2 (en) Image processor, image forming apparatus, image processing method and computer readable medium
KR100701292B1 (en) Image code and method and apparatus for recognizing thereof
JP2007094584A (en) Method for detecting two dimensional code, detecting device, and detecting program
JP4453979B2 (en) Image reproducing apparatus, image reproducing method, program, and recording medium
JP2013061839A (en) Image processor, image processing method, image forming device and image processing program
KR101313681B1 (en) 2 Dimension Barcode and method of decoding the 2 dimension barcode

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15880022

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15880022

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP