JP4916230B2 - Two-dimensional code, program, information storage medium, and image recognition apparatus - Google Patents

Two-dimensional code, program, information storage medium, and image recognition apparatus Download PDF

Info

Publication number
JP4916230B2
JP4916230B2 JP2006171681A JP2006171681A JP4916230B2 JP 4916230 B2 JP4916230 B2 JP 4916230B2 JP 2006171681 A JP2006171681 A JP 2006171681A JP 2006171681 A JP2006171681 A JP 2006171681A JP 4916230 B2 JP4916230 B2 JP 4916230B2
Authority
JP
Japan
Prior art keywords
point
image
unit
recognition
pixel information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2006171681A
Other languages
Japanese (ja)
Other versions
JP2008003791A (en
Inventor
皇太郎 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006171681A priority Critical patent/JP4916230B2/en
Priority to US11/812,067 priority patent/US8050502B2/en
Priority to EP10172307.0A priority patent/EP2246805A3/en
Priority to EP07110678.5A priority patent/EP1870835B8/en
Publication of JP2008003791A publication Critical patent/JP2008003791A/en
Priority to US13/221,478 priority patent/US8406526B2/en
Application granted granted Critical
Publication of JP4916230B2 publication Critical patent/JP4916230B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、2次元コード、プログラム、情報記憶媒体及び画像認識装置に関する。   The present invention relates to a two-dimensional code, a program, an information storage medium, and an image recognition apparatus.

従来より、所定のフォーマット情報に基づいて、データを示すモジュールを2次元に配置した2次元コードが知られている。この2次元コードでは、1次元コードに比して狭い領域で多くのデータを読み取らせることができる。このような従来の技術として、例えば特許第2938338号公報に開示されるものがある。
特許第2938338号公報
Conventionally, a two-dimensional code in which modules indicating data are two-dimensionally arranged based on predetermined format information is known. With this two-dimensional code, a larger amount of data can be read in a narrower area than the one-dimensional code. As such a conventional technique, for example, there is one disclosed in Japanese Patent No. 2938338.
Japanese Patent No. 2938338

かかる2次元コードをカードの識別等に用いる場合にはカードの表面または裏面に可視インクまたは赤外線等を吸収する不可視インクで印刷される。   When such a two-dimensional code is used for card identification or the like, it is printed on the front or back surface of the card with visible ink or invisible ink that absorbs infrared rays or the like.

ここで図46に示すように、切り貼りすると比較的容易にレアカードを偽造できてしまうという問題点があった。   Here, as shown in FIG. 46, there is a problem that a rare card can be forged relatively easily when cut and pasted.

例えばカード側に高度な技術を導入することで、偽造対策を施すことも可能であるが、製造コストが高くなり利益率が低下する。   For example, by introducing advanced technology on the card side, it is possible to take countermeasures against counterfeiting, but the manufacturing cost increases and the profit margin decreases.

またカードに細かなパタンを印刷することで偽造対策を施すことも可能であるが、読み取りに高性能なカメラが必要となり、安価なカメラで一度に多量の読み取りを行うような使用は困難である。   It is also possible to take measures against counterfeiting by printing fine patterns on the card, but a high-performance camera is required for reading, and it is difficult to use a low-cost camera for reading a large amount at once. .

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、安価なコストで製造及び読み取りが可能で偽造が困難かつコード生成及び認識を高速に行うことが可能な2次元コードを提供することである。   The present invention has been made in view of the above-described problems, and the object of the present invention is to enable manufacture and reading at low cost, making counterfeiting difficult, and enabling code generation and recognition at high speed. Providing a two-dimensional code.

(1)本発明は、
所与のデータが2次元画像としてコード化された2次元コードであって、
予め設定された2値データ列配置条件に従って、所与のデータに一義的に対応付けられた2値データ列に基づき2次元領域の点配置予約位置に配置された点と、
前記各点と結線対象となる点を予め設定された結線条件に従って繋がれた線と、を画像構成要素に含み、
前記点を結ぶ線に所与の幅を与えて2次元画像化された2次元コードである。
(1) The present invention
Two-dimensional code in which given data is encoded as a two-dimensional image,
In accordance with a preset binary data string arrangement condition, a point arranged at a point arrangement reserved position in a two-dimensional area based on a binary data string uniquely associated with given data;
The image component includes a line that is connected in accordance with a predetermined connection condition for each point and a point to be connected,
This is a two-dimensional code that is formed into a two-dimensional image by giving a given width to a line connecting the points.

(2)本発明の2次元コードは、
前記線は、
各点と他の点を結ぶ直線がそれ以外の点の点配置予約位置を含む点配置予約エリアを横切らないという必要条件を満たす他の点を各点の結線対象点とし、所定の条件を満たす結線対象点と各点との間を結ぶ線であることを特徴とする。
(2) The two-dimensional code of the present invention is
The line is
The other points satisfying the requirement that the straight line connecting each point and the other point does not cross the point arrangement reserved area including the point arrangement reserved position of the other points is set as the connection target point of each point, and the predetermined condition is satisfied. It is a line connecting between the connection target point and each point.

(3)本発明の2次元コードは、
前記点は、
予め設定された2値データ列配置条件に従って、前記2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点を含むことを特徴とする。
(3) The two-dimensional code of the present invention is
The point is
According to a binary data string arrangement condition set in advance, a point arranged at a point arrangement reserved position belonging to a main layer set in a two-dimensional area is included based on the binary data string.

(4)本発明は、
所与のデータが2次元画像としてコード化された2次元コードであって、
所与のデータに一義的に対応付けられた2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点と、
2次元領域のメインレイヤー以外に属する点配置予約位置に配置されたダミーの点と、を画像構成要素に含み、
前記点に所与のパタンを与えて2次元画像化された2次元コードである。
(4) The present invention
Two-dimensional code in which given data is encoded as a two-dimensional image,
Based on a binary data string uniquely associated with given data, a point arranged at a point arrangement reserved position belonging to the main layer set in the two-dimensional area;
A dummy point arranged at a point arrangement reserved position belonging to other than the main layer of the two-dimensional area, and the image component,
This is a two-dimensional code that is formed into a two-dimensional image by giving a given pattern to the point.

(5)本発明の2次元コードは、
前記点は、
2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件に従って配置されたダミーの点を含むことを特徴とする。
(5) The two-dimensional code of the present invention is
The point is
A point arrangement reserved position belonging to a sublayer set other than the main layer of the two-dimensional region includes dummy points arranged according to preset dummy point arrangement conditions.

(6)本発明の2次元コードは、
前記点は、
2次元領域のメインレイヤー以外に設定されたパリティレイヤーに属する点配置予約位置に、パリティ情報に基づき配置された点を含むことを特徴とする。
(6) The two-dimensional code of the present invention is
The point is
The point arrangement reserved position belonging to the parity layer set other than the main layer of the two-dimensional area includes a point arranged based on the parity information.

(7)本発明の2次元コードは、
前記2値データ列は、所与のデータの標準フィボナッチ表現に基づき生成されたことを特徴とする。
(7) The two-dimensional code of the present invention is
The binary data string is generated based on a standard Fibonacci representation of given data.

(8)本発明は、
2次元コードを認識するプログラムであって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点位置対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と、
としてコンピュータを機能させることを特徴とする。
(8) The present invention
A program for recognizing a two-dimensional code,
Detects the reference point corresponding position of the recognition target image, calculates the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point based on the reference point corresponding position, and corresponds the calculated target point position A point-of-interest pixel information detector that detects pixel information of the recognition target image based on the position;
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information;
It is characterized by functioning a computer.

また本発明は上記各部を含む画像認識装置に関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。   The present invention also relates to an image recognition apparatus including the above-described units. The present invention is also a computer-readable information storage medium, and relates to an information storage medium storing a program that causes a computer to function as each of the above-described units.

(9)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
前記注目点画素情報検出部は、
メインレイヤーに属する点配置予定位置を注目点として、注目点対応位置として認識画像上の点配置予定位置を演算し、演算した点配置予定位置に基づき認識対象画像の画素情報を検出し、
前記対応データ演算部は、
検出された画素情報に基づき2値データ列を求め、求めた2値データ列に一義的に対応付けられた所与のデータを対応データとして求めることを特徴とする。
(9) A program, an information storage medium, and an image recognition device according to the present invention are:
The attention pixel information detecting unit
Using the planned point placement position belonging to the main layer as the point of interest, calculating the point placement planned position on the recognition image as the point of interest correspondence position, detecting the pixel information of the recognition target image based on the calculated point placement planned position,
The corresponding data calculation unit is
A binary data string is obtained based on the detected pixel information, and given data uniquely associated with the obtained binary data string is obtained as correspondence data.

(10)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
前記対応データ演算部によって演算された2値データ列に基づき、予め設定された2値データ列配置条件に従って、2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って前記各点と結線対象となる点を繋ぐ結線シミュレーション処理を行う結線シミュレーション処理手段と、
認識対象画像から検出したサンプリングした点の結線状態と結線シミュレーション処理によって得られたサンプリングした点の結線状態とを比較して、エラーの検出及びエラー補正の少なくとも一方を行う線エラー検出・補正処理部とを、さらに含むことを特徴とする。
(10) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
Based on the binary data string calculated by the corresponding data calculation unit, the point is arranged at the point arrangement reserved position of the two-dimensional area according to the preset binary data string arrangement condition, and the point according to the preset connection condition A connection simulation processing means for performing a connection simulation process for connecting each point and a point to be connected;
A line error detection / correction processing unit that compares at least one of error detection and error correction by comparing the connection state of the sampled points detected from the recognition target image with the connection state of the sampled points obtained by the connection simulation process. Is further included.

(11)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
対応データ演算部によって演算された2値データ列に対して、標準フィボナッチ表現で表される2値データ列の条件に基づきエラーの検出及びエラー補正の少なくとも一方を行うフィボナッチエラー検出・補正処理部とを、さらに含むことを特徴とする。
(11) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
A Fibonacci error detection / correction processing unit that performs at least one of error detection and error correction on the binary data sequence calculated by the corresponding data calculation unit based on the condition of the binary data sequence expressed in standard Fibonacci expression; Is further included.

(12)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するシミュレーション処理を行うダミー点配置シミュレーション処理部と、
認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うダミー点エラー検出・補正処理部とを、さらに含むことを特徴とする。
(12) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
A dummy point placement simulation processing unit for performing a simulation process for placing a dummy point in a preset dummy point placement condition at a point placement reserved position belonging to a sublayer set other than the main layer of the two-dimensional region;
A dummy point error detection / correction processing unit that compares at least one of error detection and error correction by comparing the position of the sampled dummy point detected from the recognition target image and the position of the dummy point obtained by the dummy point simulation process. Is further included.

(13)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
2値データ列の値と認識対象画像の向きの関係に関する向き判定情報を記憶する手段と、
対応データ演算手段によって演算された2値データ列と前記向き判定情報に基づき認識対象画像の向きを判定する向き判定部を、さらに含むことを特徴とする。
(13) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
Means for storing orientation determination information related to the relationship between the value of the binary data string and the orientation of the recognition target image;
The image processing apparatus further includes a direction determination unit that determines the direction of the recognition target image based on the binary data string calculated by the corresponding data calculation unit and the direction determination information.

(14)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
入力された画像データから認識対象画像を抽出するための認識対象画像抽出部をさらに含み、
画素情報抽出部は、
認識対象画像抽出部が抽出した認識対象画像に基づき画素情報を抽出し、
前記認識対象画像抽出部は、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、
前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、
前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、
前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する抽出部と、
とを含むことを特徴とする。
(14) A program, an information storage medium, and an image recognition apparatus according to the present invention include:
A recognition target image extraction unit for extracting a recognition target image from the input image data;
The pixel information extraction unit
Extract pixel information based on the recognition target image extracted by the recognition target image extraction unit,
The recognition target image extraction unit includes:
A contour extraction unit that performs a contour extraction process for extracting a contour of a pixel group including continuous pixels having pixel information satisfying a predetermined pixel condition from the image data;
A contour determining unit that determines whether or not a contour locus extracted by the contour extracting unit satisfies a predetermined locus condition;
Pixel information other than the pixel information satisfying the predetermined pixel condition is set as the pixel information of each pixel constituting the outline extracted by the contour extraction unit when the contour determination unit determines that the predetermined locus condition is not satisfied. A pixel information changing unit to be changed to,
An extraction unit that extracts, as the recognition target image, image data corresponding to an inner region of the contour extracted by the contour extraction unit when the contour determination unit determines that a predetermined trajectory condition is satisfied;
It is characterized by including.

(15)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
前記画像データに対して二値化処理を行う二値化処理部としてコンピュータを機能させ、
前記輪郭抽出部は、
前記二値化処理部により二値化処理が行われた画像データから前記輪郭を抽出することを特徴とする。
(15) A program, an information storage medium, and an image recognition apparatus according to the present invention are provided:
Causing a computer to function as a binarization processing unit that performs binarization processing on the image data;
The contour extraction unit
The contour is extracted from image data that has been binarized by the binarization processing unit.

(16)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
前記画像データに対して微分処理を行う微分処理部と、
前記微分処理部によって微分処理が行われた画像データに対して、着目画素とその周辺に配置された周囲画素の画素情報を平均化して着目画素の新たな画素情報とするぼかし処理を行うぼかし処理部としてコンピュータを機能させ、
前記二値化処理部は、
前記ぼかし処理部によってぼかし処理が行われた画像データに対して二値化処理を行うことを特徴とする。
(16) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
A differential processing unit for performing differential processing on the image data;
A blur process for performing blur processing on the image data that has been subjected to differentiation processing by the differentiation processing unit, by averaging pixel information of the pixel of interest and surrounding pixels arranged in the vicinity thereof to obtain new pixel information of the pixel of interest. The computer as a part,
The binarization processing unit
A binarization process is performed on the image data subjected to the blur process by the blur processing unit.

(17)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
認識対象画像抽出部が抽出した認識対象画像を構成する線の幅を検出する線幅検出部をさらに含み、
前記ぼかし処理部は、
検出された線の幅に基づきぼかし処理の回数を決定して、決定された回数だけぼかし処理を行うことを特徴とするプログラム。
(17) A program, an information storage medium, and an image recognition apparatus according to the present invention are:
A line width detection unit for detecting the width of the lines constituting the recognition target image extracted by the recognition target image extraction unit;
The blur processing unit
A program characterized by determining the number of blurring processes based on the detected line width and performing the blurring process for the determined number of times.

(18)本発明に係るプログラム、情報記憶媒体及び画像認識装置は、
認識対象画像抽出手段が抽出した認識対象画像を構成する線の幅を検出する線幅検出部をさらに含み、
前記二値化処理部は、
検出された線の幅に基づき二値化処理に用いる閾値の値を決定して、決定された閾値で二値化処理を行うことを特徴とする。
(18) A program, an information storage medium, and an image recognition apparatus according to the present invention are provided:
A line width detection unit for detecting the width of a line constituting the recognition target image extracted by the recognition target image extraction unit;
The binarization processing unit
The threshold value used for the binarization process is determined based on the detected line width, and the binarization process is performed using the determined threshold value.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.2次元コード
図16(A)〜(C)は、本実施の形態の2次元コードの一例である。
1.2 Dimensional Code FIGS. 16A to 16C are examples of the two-dimensional code of the present embodiment.

図16(A)は、ID=1234567890123456に対応する2次元コードであり、図16(B)は、ID=1234567890123457に対応する2次元コードであり、図16(C)は、ID=1234567890123458に対応する2次元コードである。   16A shows a two-dimensional code corresponding to ID = 1234567890123456, FIG. 16B shows a two-dimensional code corresponding to ID = 1234567890123457, and FIG. 16C corresponds to ID = 1234567890123458. Is a two-dimensional code.

図17(A)(B)は、本実施の形態の簡易版の2次元コードの一例である。図2(A)はID=12345678に対応する2次元コードであり、図17(B)はID=12345679に対応する2次元コードである。   FIGS. 17A and 17B are examples of the simplified two-dimensional code of the present embodiment. FIG. 2A shows a two-dimensional code corresponding to ID = 12345678, and FIG. 17B shows a two-dimensional code corresponding to ID = 123545679.

図16(A)〜(C)や図2(A)(B)に示すように、本実施の形態の2次元コードは、メロンの皮の模様のような切り貼りが困難なデザインの2次元画像である。図16(A)〜(C)では0〜255、(3.6×1016)の整数値を埋め込み可能であり、図17(A)(B)では0〜225、(3.3×107)の整数値を埋め込み可能である。 As shown in FIGS. 16A to 16C and FIGS. 2A and 2B, the two-dimensional code of the present embodiment is a two-dimensional image having a design that is difficult to cut and paste, such as a melon skin pattern. It is. In FIGS. 16A to 16C , integer values of 0 to 2 55 and (3.6 × 10 16 ) can be embedded, and in FIGS. 17A and 17B, 0 to 2 25 and (3.3) can be embedded. An integer value of × 10 7 ) can be embedded.

本実施の形態の2次元コードは、所与のデータ(図16(A)〜(C)や図17(A)(B)のIDに相当)が2次元画像としてコード化された2次元コードであって、予め設定された2値データ列配置条件に従って、所与のデータに一義的に対応付けられた2値データ列に基づき2次元領域の点配置予約位置に配置された点と、前記各点と結線対象となる点を予め設定された結線条件に従って繋がれた線とを画像構成要素に含み、前記点を結ぶ線に所与の幅を与えて2次元画像化された2次元コードである。   The two-dimensional code of the present embodiment is a two-dimensional code in which given data (corresponding to the IDs in FIGS. 16A to 16C and FIGS. 17A and 17B) is encoded as a two-dimensional image. A point arranged at a point arrangement reserved position in a two-dimensional area based on a binary data string uniquely associated with given data in accordance with a preset binary data string arrangement condition; A two-dimensional code that includes a line in which each point and a point to be connected in accordance with a preset connection condition are included in an image component, and a given width is given to the line connecting the points to form a two-dimensional image It is.

構成要素となる点や線については「2.2次元コードの生成」で詳しく説明する。   The constituent points and lines will be described in detail in “2.2 Dimensional Code Generation”.

図16(A)〜(C)や図17(A)(B)に示した2次元コードから構成要素となる点や線の情報を認識することで、対応するデータ(ID)をもとめることができる。2次元コードから構成要素となる点や線の情報を認識する手法については、「4−4.認識対象画像の認識処理及びエラー補正処理」で詳しく説明する。   The corresponding data (ID) can be obtained by recognizing the information of the points and lines as the constituent elements from the two-dimensional codes shown in FIGS. 16 (A) to 16 (C) and FIGS. 17 (A) and 17 (B). it can. A method of recognizing information about points and lines as constituent elements from the two-dimensional code will be described in detail in “4-4. Recognition processing of image to be recognized and error correction processing”.

また本実施の形態の2次元コードは、前記線が各点と他の点を結ぶ直線がそれ以外の点の点配置予約位置を含む点配置予約エリアを横切らないという必要条件を満たす他の点を各点の結線対象点とし、所定の条件を満たす結線対象点と各点との間を結ぶ線である構成でもよい。   In addition, the two-dimensional code of the present embodiment has other points that satisfy the requirement that the straight line connecting each point and another point does not cross the point arrangement reservation area including the point arrangement reservation positions of other points. May be a connection line between each point and a connection target point that satisfies a predetermined condition.

所定の条件を満たす結線対象点については、「2−2.橋を架ける処理(結線処理)」で詳しく説明する。   The connection target points that satisfy the predetermined condition will be described in detail in “2-2. Bridge Construction Process (Connection Process)”.

また本実施の形態の2次元コードは、前記点が、予め設定された2値データ列配置条件に従って、前記2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点を含む構成でもよい。予め設定された2値データ列配置条件及び2次元領域に設定されたメインレイヤーについては「2−3.2次元領域」「2−4.メインレイヤーへのデータの配置」で詳しく説明する。   Further, the two-dimensional code of the present embodiment is such that the point is a point arrangement reserved position belonging to a main layer set in a two-dimensional area based on the binary data string in accordance with a preset binary data string arrangement condition. The structure including the points arranged in the above may be used. The preset binary data string arrangement condition and the main layer set in the two-dimensional area will be described in detail in “2-3.2 Two-dimensional area” and “2-4. Data arrangement in main layer”.

また本実施の形態の2次元コードは、所与のデータが2次元画像としてコード化された2次元コードであって、所与のデータに一義的に対応付けられた2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点と、2次元領域のメインレイヤー以外に属する点配置予約位置に配置されたダミーの点とを画像構成要素に含み、前記点に所与のパタンを与えて2次元画像化された2次元コードである。   The two-dimensional code of the present embodiment is a two-dimensional code in which given data is coded as a two-dimensional image, and is based on a binary data string uniquely associated with the given data. The image component includes a point arranged at a point arrangement reserved position belonging to the main layer set in the two-dimensional area and a dummy point arranged at a point arrangement reserved position belonging to other than the main layer of the two-dimensional area, This is a two-dimensional code that is formed into a two-dimensional image by giving a given pattern to the point.

また本実施の形態の2次元コードは、前記点が、2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件に従って配置されたダミーの点を含む構成でもよい。サブレイヤーへのダミーの点の配置手法については「2−6.サブレイヤーへのダミーデータの配置」で詳しく説明する。   Further, the two-dimensional code of the present embodiment is a dummy code in which the point is arranged at a point arrangement reserved position belonging to a sublayer set other than the main layer of the two-dimensional area according to a preset dummy point arrangement condition. The structure containing a point may be sufficient. A method for arranging dummy points in the sublayer will be described in detail in “2-6. Arrangement of dummy data in the sublayer”.

また本実施の形態の2次元コードは、2次元領域のメインレイヤー以外に設定されたパリティレイヤーに属する点配置予約位置に、パリティ情報に基づき配置された点を含む構成でもよい。パリティレイヤーに属する点配置予約位置へのパリティ情報の配置手法については「2−5.パリティ情報の設定」で詳しく説明する。   Further, the two-dimensional code of the present embodiment may include a point arranged based on parity information at a point arrangement reserved position belonging to a parity layer set other than the main layer of the two-dimensional area. The method of arranging parity information at the point arrangement reserved position belonging to the parity layer will be described in detail in “2-5. Setting of parity information”.

また本実施の形態の2次元コードは、前記2値データ列が、所与のデータの標準フィボナッチ表現に基づき生成されたものでもよい。所与のデータから2値データ列を生成する手法については「2−2.標準フィボナッチ表現と2値データ列」で詳しく説明する。   In the two-dimensional code of the present embodiment, the binary data string may be generated based on a standard Fibonacci expression of given data. A method for generating a binary data string from given data will be described in detail in “2-2. Standard Fibonacci Expression and Binary Data String”.

本実施の形態の2次元コードは、整数値と絵柄が1対1に対応しており、一部違っていてもエラーとなるため、切り貼りが困難である。   The two-dimensional code of the present embodiment has a one-to-one correspondence between the integer value and the pattern, and even if partly different, an error occurs, so that it is difficult to cut and paste.

なお実際に印刷される際には可視不可なインク(例えば赤外線にだけ反応するインク)で印刷され、肉眼では見えないように構成しても良いし、可視インクを用いて印刷しても良い。   Note that when printing is actually performed, the ink may be printed with an invisible ink (for example, an ink that reacts only to infrared rays) and may not be seen with the naked eye, or may be printed with visible ink.

QRコード(商標)等の2次元コードは、基本的に2次元平面上に敷き詰められた多数のタイルが白黒2値ないしはカラー数色を持ち、その組み合わせで表現されていると考えることができる。よって、原理的には1次元(線状)に並べ替えることも可能であり、1次元の場合と情報量的には同じである。   A two-dimensional code such as a QR code (trademark) can be considered to have a large number of tiles laid out on a two-dimensional plane basically having black and white binary or several colors, and represented by a combination thereof. Therefore, in principle, it can be rearranged in one dimension (linear), and the information amount is the same as in the case of one dimension.

一方、本実施の形態の2次元コードは、2次元領域をフルに活用しており、2次元の広がりの中に、結線情報を含む「意味のある情報」を埋め込んでいるため、2次元平面上でしか表現できない。すなわち1次元(線状)に並べ替えることはできず、2次元であることを利用してより多くの情報量を含んでいる。   On the other hand, since the two-dimensional code of the present embodiment makes full use of the two-dimensional area and embeds “significant information” including connection information in the two-dimensional spread, the two-dimensional plane It can only be expressed above. In other words, it cannot be rearranged in a one-dimensional (linear) manner, and includes a larger amount of information by utilizing the fact that it is two-dimensional.

2.2次元コードの生成
2−1.2次元コードの生成の処理の流れ
図18は、2次元コードの生成の処理の流れを示すフローチャートである。
2.2-Dimensional Code Generation 2-1.2 Dimensional Code Generation Process Flow FIG. 18 is a flowchart showing the flow of a two-dimensional code generation process.

まず2次元コード化したい数値を入力する(ステップS10)。以下、実質的な情報量が55bit(パリティ等を除く)の場合をサンプルに解説する。   First, a numerical value to be converted into a two-dimensional code is input (step S10). Hereinafter, the case where the substantial information amount is 55 bits (excluding parity and the like) will be described as a sample.

次に所与のルールに基づき、ビット単位の並べ替え等を行う(ステップS20)。   Next, rearrangement in units of bits is performed based on a given rule (step S20).

次に複数のブロックに分割する(ステップS30)。ここでは、1ブロックを5bitとして、5bit×11ブロックにする場合を例にとり説明する。   Next, it is divided into a plurality of blocks (step S30). Here, a case where one block is 5 bits and 5 bits × 11 blocks will be described as an example.

次にブロック毎に暗号化する(ステップS40)。暗号化の方式は任意である。   Next, encryption is performed for each block (step S40). The encryption method is arbitrary.

次に各暗号文ブロックを標準フィボナッチ表現に変換する(ステップS50)。   Next, each ciphertext block is converted into a standard Fibonacci expression (step S50).

具体的には、「2−2.標準フィボナッチ表現と2値データ列」の項で説明する。   Specifically, it will be described in “2-2. Standard Fibonacci Expression and Binary Data String”.

次にメイン・レイヤーの定められた位置に、標準フィボナッチ表現に変換した後のデータを配置(2次元平面に展開)する(ステップS60)。   Next, the data after conversion into the standard Fibonacci expression is arranged (developed on a two-dimensional plane) at a predetermined position of the main layer (step S60).

具体的には、「2−4.メインレイヤーへのデータの配置」の項で説明する。   Specifically, it will be described in the section “2-4. Data Arrangement on Main Layer”.

次にメイン・レイヤーに配置された「石」(点に相当)群の配置を見て、ルールに従いパリティ・レイヤーにも「石」(点に相当)群を配置する(ステップS70)。   Next, the arrangement of “stones” (corresponding to points) arranged in the main layer is seen, and according to the rule, the “stones” (corresponding to points) are arranged also in the parity layer (step S70).

具体的には、「2−5.パリティ情報の設定」の項で説明する。   Specifically, it will be described in the section “2-5. Setting of parity information”.

次にメイン・レイヤーとパリティ・レイヤーに配置された「石」群の配置を見て、ルールに従いサブ・レイヤーにも「石」群を配置する(ステップS80)。   Next, the arrangement of the “stones” arranged in the main layer and the parity layer is seen, and the “stones” are arranged also in the sub-layer according to the rule (step S80).

具体的には、「2−6.サブレイヤーへのダミーデータの配置」の項で説明する。   Specifically, it will be described in the section “2-6. Arrangement of Dummy Data in Sublayer”.

次に3枚のレイヤーに置かれた「石」の間に、所与のルールに従い「橋」を架ける(ステップS90)。   Next, a “bridge” is built between “stones” placed on the three layers according to a given rule (step S90).

具体的には、「2−7.橋を架ける処理」の項で説明する。   Specifically, it will be described in the section “2-7.

次に最外周に置かれた点から、周囲の「枠」まで「橋」を架ける(ステップS100)。   Next, a “bridge” is built from the point placed on the outermost periphery to the surrounding “frame” (step S100).

2−2.標準フィボナッチ表現
所与のデータを標準フィボナッチ表現に変換して所与のデータに一義的に対応付けられた2値データ列を生成するようにしてもよい。
2-2. Standard Fibonacci Expression A given data may be converted into a standard Fibonacci expression to generate a binary data string uniquely associated with the given data.

標準フィボナッチ表現とは、フィボナッチ表現のうち標準表現・極小表現を特に指すもので、1の数が一番少ないものを標準フィボナッチ表現という。標準フィボナッチ表現では、ビット列を1が隣り合わないように構成することができる。 なぜならすべての自然数はとなりあわないフィボナッチ数の和で表現できるのでこの性質を利用することにより、与えられた10進数を連続してビットが立たないフィボナッチ表現に変換できる。   The standard Fibonacci expression refers specifically to the standard expression / minimum expression among the Fibonacci expressions, and the one with the smallest number of 1 is called the standard Fibonacci expression. In the standard Fibonacci representation, bit strings can be configured so that 1s are not adjacent. Because all the natural numbers can be expressed by the sum of Fibonacci numbers that do not match, by using this property, a given decimal number can be converted into a Fibonacci expression in which no bits are continuously set.

本実施の形態では与えられた10進数(ID)を標準フィボナッチ表現に変換したものを2値データ列として用いる。   In the present embodiment, a converted decimal number (ID) into a standard Fibonacci representation is used as a binary data string.

例えば1ブロック=5bit(32通り)を標準フィボナッチ表現(ここでは"1"と"0"の並びを2進数のbitに見立てて、"Fibonacci bit"=略して"fit"と呼ぶことにする)で表すには、7fit(34通り)必要であり、全ブロックに対してこの変換作業を行う。なお、5bitよりも7fitの方が2多いので、7fitで表現される組み合わせのうち、"0"(0000000)は使わずに、"33"(1010101)で代用することにした。こうすることで、最終的に生成される2次元コードに変化が出て面白くなる。   For example, 1 block = 5 bits (32 ways) is expressed in standard Fibonacci (Here, "Fibonacci bit" = "fit" for short) assuming that the sequence of "1" and "0" is a binary bit) 7fit (34 ways) is required to express the above, and this conversion work is performed on all blocks. Since 7fit is 2 more than 5bit, we decided to substitute "33" (1010101) instead of using "0" (0000000) among the combinations expressed in 7fit. By doing this, the two-dimensional code that is finally generated changes and becomes interesting.

図19は、10進数・2進数・標準フィボナッチ表現の対応表である。10進数の1、2、3、5、8、13、21、34はフィボナッチ数である。この数の列は,2=1+1,3=1+2,5=2+3というように,引き続く2つの数の和がその次の数になるという規則にしたがっている。このような数をフィボナッチ数という。   FIG. 19 is a correspondence table of decimal numbers, binary numbers, and standard Fibonacci expressions. Decimal numbers 1, 2, 3, 5, 8, 13, 21, and 34 are Fibonacci numbers. This sequence of numbers follows the rule that the sum of two successive numbers becomes the next number, such as 2 = 1 + 1,3 = 1 + 2,5 = 2 + 3. Such numbers are called Fibonacci numbers.

2−3.2次元領域
本実施の形態では、所与のデータに基づき所与のデータに一義的に対応付けられた2値データ列を生成し、2次元領域に点が配置される可能性のある点配置予約位置を設定し、2値データ列に基づき予め設定された2値データ列配置条件に従って2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って2次元領域に配置された点を線で繋ぐ結線処理を行い、前記線に基づき2次元コードの画像を生成する。ここで線に基づき2次元コードの画像を生成するとは、例えば、前記点を結ぶ線に幅を与えて2次元コードの画像を生成するような構成をいう。
2-3. Two-dimensional area In the present embodiment, a binary data string uniquely associated with given data is generated based on given data, and a point may be placed in the two-dimensional area. A point arrangement reserved position with a certain value is set, a point is arranged at a point arrangement reserved position in a two-dimensional area according to a binary data string arrangement condition set in advance based on the binary data string, and two-dimensional according to a preset connection condition A connection process for connecting points arranged in the region with a line is performed, and an image of a two-dimensional code is generated based on the line. Here, generating a two-dimensional code image based on a line refers to a configuration in which a width is given to the line connecting the points to generate a two-dimensional code image.

ここで所与のデータとは、2次元コードに対応付けられた実データでもよいし、実データの暗号化後のデータでもよい。   Here, the given data may be actual data associated with the two-dimensional code, or data after encryption of the actual data.

また点配置予約位置は点やエリアを特定するための位置情報であり、所定の基準点に対する相対位置として設定してもよい。   The point arrangement reserved position is position information for specifying a point or an area, and may be set as a relative position with respect to a predetermined reference point.

また本実施の形態では、前記2値データ列に基づき行列を設定し、行列の各要素に前記点配置予約位置を対応付けて、対応付けられた点配置予約位置に行列の各要素の値に基づいて点を配置するようにしてもよい。   In the present embodiment, a matrix is set based on the binary data string, the point arrangement reservation position is associated with each element of the matrix, and the value of each element of the matrix is set to the associated point arrangement reservation position. You may make it arrange | position a point based on.

また本実施の形態では、2次元領域を格子状に並んだ複数のセルに分割し、格子点又は各セルの代表点を前記点配置予約位置としてもよい。   In the present embodiment, the two-dimensional region may be divided into a plurality of cells arranged in a grid, and a grid point or a representative point of each cell may be used as the point arrangement reserved position.

各セルの代表点とは、例えば各セルの中心点でもよい。   The representative point of each cell may be, for example, the center point of each cell.

点配置予約位置は、2次元領域に極端な粗密ができないように分散して配置するようにしてもよい。   The point arrangement reserved positions may be arranged so as to be distributed so as not to be extremely dense and dense in the two-dimensional area.

図20、図21は本実施の形態の2次元領域の一例について説明するための図である。   20 and 21 are diagrams for explaining an example of the two-dimensional region of the present embodiment.

200は本実施の形態の2次元領域であり、2次元領域に2次元コード画像が生成される。   Reference numeral 200 denotes a two-dimensional area of the present embodiment, and a two-dimensional code image is generated in the two-dimensional area.

本実施の形態では2次元領域200を格子状に並んだ複数のセルS(x、y)(x=0,1,2、・・・16、y=0,1,2、・・、24)の行列に分割し、前記2値データ列(ビット列)の各ビットの値を所定の規則にしたがって各セルに対応付けて、各セルに対応するビットが第1の値(例えば1)である場合には当該セルに点を配置し、2値データ列に対応する点を2次元領域に配置する点配置処理を行う。   In the present embodiment, a plurality of cells S (x, y) (x = 0, 1, 2,..., 16, y = 0, 1, 2,..., 24 in which the two-dimensional region 200 is arranged in a grid pattern. ), The values of each bit of the binary data string (bit string) are associated with each cell according to a predetermined rule, and the bit corresponding to each cell is a first value (for example, 1). In this case, a point placement process is performed in which a point is placed in the cell and a point corresponding to the binary data string is placed in a two-dimensional area.

2次元領域200にメインレイヤーMLを設定し、メインレイヤーMLに属する点配置予約位置(例えばセルやセルの代表点)に2値データ列に基づき点を配置するようにしてもよい。   The main layer ML may be set in the two-dimensional area 200, and points may be arranged based on the binary data string at point arrangement reserved positions (for example, cells or representative points of the cells) belonging to the main layer ML.

メインレイヤーに属する点配置予約位置とは、2次元領域を格子状に複数のセルに分割した場合の格子点が前記点配置予約位置である場合には格子点がメインレイヤーに属する場合をいい、各セルの代表点(中心点)が前記点配置予約位置である場合にはセルまたはその代表点がメインレイヤーに属する場合をいう。   The point arrangement reserved position belonging to the main layer refers to the case where the lattice point belongs to the main layer when the lattice point when the two-dimensional area is divided into a plurality of cells in a lattice shape is the point arrangement reserved position, When the representative point (center point) of each cell is the point arrangement reserved position, the cell or the representative point belongs to the main layer.

また所与の点配置予約位置がメインレイヤーMLに属する場合には、当該点配置予約位置の周囲の所定範囲内にある点配置予約位置MLはメインレイヤーとならないようにメインレイヤーを設定するようにしてもよい。   When a given point arrangement reserved position belongs to the main layer ML, the main layer is set so that the point arrangement reserved position ML within the predetermined range around the point arrangement reserved position does not become the main layer. May be.

当該点配置予約位置の周囲の所定範囲内とは、例えば当該点配置予約位置の前後左右斜めに隣り合う点配置予約位置等が含まれるように設定してもよい。   The predetermined range around the point arrangement reserved position may be set so as to include, for example, point arrangement reserved positions adjacent to the point arrangement reserved position obliquely before, after, left, and right.

例えばメインレイヤーMLのセル(2,2)は前後左右斜めに隣り合うセルS(1,1)、S(1,2)、S(1,3)、S(2,1)、S(2,3)、S(3,1)、S(3,2)、S(3,3)についてはメインレイヤーMLとならないように設定されている。   For example, the cell (2, 2) of the main layer ML is the cells S (1, 1), S (1, 2), S (1, 3), S (2, 1), S (2) that are diagonally adjacent to each other. , 3), S (3, 1), S (3, 2), S (3, 3) are set so as not to become the main layer ML.

2次元領域を碁盤の目のように区切り(格子状に区切り)各マス目をセルとし、奇数行かつ奇数列のセル又は偶数行かつ偶数列のセルをメインレイヤーMLとしてもよい。   A two-dimensional area may be divided like a grid (divided in a lattice pattern), and each cell may be a cell, and an odd row and odd column cell or an even row and even column cell may be a main layer ML.

またメインレイヤーのセルと辺または頂点を介して隣り合うセルはメインレイヤーとならないように設定された所定の規則に従ってメインレイヤーを設定するようにしてもよい。   Alternatively, the main layer may be set according to a predetermined rule set so that cells adjacent to the main layer cell via sides or vertices do not become the main layer.

例えば2値のデータを11ブロックにわけて各ブロックが7fitであるとすると、y=2かつx=2,4,6,8、10、12,14のセルが1ブロックの各fitに対応する。すなわち例えば1ブロック目の1fit目をセルS(2、2)に対応させ、1ブロック目の2fit目をセルS(4、2)に対応させ、1ブロック目の3fit目をセルS(6、2)に対応させ、1ブロック目の4fit目をセルS(8、2)に対応させ、1ブロック目の5fit目をセルS(10,2)に対応させ、1ブロック目の6fit目をセルS(12、2)に対応させ、1ブロック目の7fit目をセルS(14,2)に対応さる。このようにnブロック目のmfit目をセルS(2m、2n)に対応させるようにしてもよい。   For example, if binary data is divided into 11 blocks and each block is 7 fit, cells with y = 2 and x = 2, 4, 6, 8, 10, 12, 14 correspond to each fit of one block. . That is, for example, the first fit of the first block corresponds to the cell S (2, 2), the second fit of the first block corresponds to the cell S (4, 2), and the third fit of the first block corresponds to the cell S (6, 2), the 4th fit of the first block corresponds to the cell S (8, 2), the 5fit of the first block corresponds to the cell S (10, 2), and the 6th fit of the first block is the cell. Corresponding to S (12,2), the 7th fit of the first block corresponds to the cell S (14,2). As described above, the mth fit of the nth block may correspond to the cell S (2m, 2n).

そして例えばnブロック目のmfitが第1の値(例えば1)である場合には、対応するセルS(2m、2n)に点をおき、第2の値(例えば0)である場合には、対応するセルS(2m、2n)に点をおかないようにして、前記2値データ列の各ビットの値を所定の規則にしたがってメインレイヤーのセルを対応付けるようにしてもよい。   For example, when mfit of the nth block is a first value (for example, 1), a point is placed in the corresponding cell S (2m, 2n), and when it is a second value (for example, 0), The corresponding cell S (2m, 2n) may not be pointed, and the value of each bit of the binary data string may be associated with the main layer cell according to a predetermined rule.

また2次元領域200のメインレイヤーML以外にパリティレイヤーPLを設定し、パリティレイヤーPLに属する点配置予約位置に、パリティ情報に基づき点を配置するようにしてもよい。   Alternatively, a parity layer PL may be set in addition to the main layer ML of the two-dimensional area 200, and points may be arranged based on parity information at point arrangement reserved positions belonging to the parity layer PL.

メインレイヤーMLの2次元領域に対して、所定の規則に従って、セルを最小構成単位とするパリティレイヤーを設定し、パリティレイヤーにパリティビットに対応する点を配置するようにしてもよい。例えば図21に示すようにメインレイヤーMLの周囲(最外周部(斜線部)のセルSi、j(i+j=偶数となるセル)をパリティレイヤーとして、パリティビットをおくように構成してもよい。   For the two-dimensional area of the main layer ML, a parity layer having a cell as a minimum constituent unit may be set according to a predetermined rule, and a point corresponding to a parity bit may be arranged in the parity layer. For example, as shown in FIG. 21, the parity bit may be set around the main layer ML (cells Si, j (i + j = even cells) in the outermost peripheral portion (hatched portion)) as a parity layer.

また図21に示すように2次元領域200のメインレイヤーML以外にサブレイヤーSLを設定し、サブレイヤーSLに属する点配置予約位置に、予め設定されたダミー点配置条件に従ってダミーの点を配置するようにしてもよい。   Further, as shown in FIG. 21, a sublayer SL is set in addition to the main layer ML of the two-dimensional area 200, and dummy points are arranged at the point arrangement reserved positions belonging to the sublayer SL according to preset dummy point arrangement conditions. You may do it.

2−4.メインレイヤーへのデータの配置
図22はメインレイヤーへの2値データ列(ビット列)の各ビット情報の配置について説明するための図である。
2-4. Data Arrangement on Main Layer FIG. 22 is a diagram for explaining the arrangement of each bit information of a binary data string (bit string) on the main layer.

規則に従ってメイン・レイヤーMLに標準フィボナッチ表現に変換した後のデータ(2値データ列)を配置(2次元平面に展開)する。ここでは図20に示すように偶数行かつ偶数列のセルをメインレイヤーMLとし、2値のデータを横7fit×縦11ブロックにして配置する場合を例にとり説明する。   Data (binary data string) after being converted into standard Fibonacci representation is arranged (developed on a two-dimensional plane) in the main layer ML according to the rules. Here, as shown in FIG. 20, the case where even-numbered rows and even-numbered columns of cells are arranged as main layer ML and binary data is arranged in a horizontal 7 fit × vertical 11 block will be described as an example.

fitで表現される"1"の位置に「石」(実体はデータの有無を表現する「点」だが、以下、説明のためにこのオブジェクトを「石」と呼ぶ)を置き、"0"の位置には「石」を置かない。   Place a "stone" (the entity is a "point" that represents the presence or absence of data, but this object is called "stone" for the sake of explanation below) at the position of "1" represented by fit, Do not place “stone” in the position.

たとえば1ブロック目のfit列が’0010100’である場合には、1ブロック目の1fit目、2fit目、4fit目、6fit目、7fit目が’0’であるので対応するセルS(2、2)、セルS(4,2)、セルS(8,2)、セルS(12,2)、セルS(14,2)には石を配置しない。また1ブロック目の3fit目、5fit目が’1’であるので対応するセルS(6、2)、セルS(10,2)には石を配置する。   For example, if the fit column of the first block is “0010100”, the 1st fit, 2fit, 4fit, 6fit, and 7fit of the first block are “0”, so the corresponding cell S (2, 2 ), Cell S (4,2), cell S (8,2), cell S (12,2), and cell S (14,2) are not placed with stones. Since the third fit and the fifth fit of the first block are “1”, stones are placed in the corresponding cells S (6, 2) and S (10, 2).

本実施の形態では標準フィボナッチ表現に変換後のデータを配置するため、横方向のラインを見た場合、2値データ列において1が連続して現れることはない(図19参照)。従ってメインレイヤーのセルに「石」を配置する場合連続して「石」が配置されることはない。しかも横方向のラインにはメインレイヤーのセル自体が1つ飛びに並んでいるので、「石」と「石」は少なくとも3つ以上のセルをあけた間隔で配置される事になる。   In this embodiment, since the converted data is arranged in the standard Fibonacci representation, when the horizontal line is viewed, 1 does not appear continuously in the binary data string (see FIG. 19). Therefore, when “stones” are arranged in the cells of the main layer, “stones” are not arranged continuously. In addition, since the cells in the main layer are arranged in a line in the horizontal direction, “stones” and “stones” are arranged at intervals of at least three cells.

なお、ここでは、セルが格子状に規則正しく並んでいる場合を例にとり説明したが、本発明の適用はこれに限られるものではない。   Here, the case where the cells are regularly arranged in a lattice shape has been described as an example, but the application of the present invention is not limited to this.

2−5.パリティ情報の設定
2次元領域を複数のエリアに分割して、所与のエリア以外のエリアに配置された点に基づきパリティ情報を設定し、所与のエリアのパリティレイヤーに点を配置するようにしてもよい。
2-5. Setting parity information Dividing a two-dimensional area into multiple areas, setting parity information based on points placed in areas other than a given area, and placing points in the parity layer of a given area May be.

所与のエリア以外のエリアに配置された点は、ダミーの点を含む場合でもよいし、含まない場合でもよい。   Points arranged in areas other than a given area may include dummy points or may not include them.

メイン・レイヤーに配置された「石」群の配置を見て、ルールに従いパリティ・レイヤーにも「石」群を配置する。   Look at the placement of “stones” placed in the main layer, and place “stones” in the parity layer according to the rules.

2次元領域を複数のエリアに分割して、所与のエリアのパリティレイヤーには当該エリア以外のエリアに配置された点(ダミーの点を含む場合でもよいし、含まない場合でもよい)に基づきパリティ情報を設定し、パリティ情報に基づき所与のエリアのパリティレイヤーに点を配置するようにしてもよい。   A two-dimensional area is divided into a plurality of areas, and a parity layer of a given area is based on points (may or may not include dummy points) arranged in areas other than the area. Parity information may be set, and points may be arranged in the parity layer of a given area based on the parity information.

図23、図24は、パリティビットの設定手法について説明するための図であり、図25はメインレイヤーの点の配置が図22の場合にパリティ情報に基づきパリティレイヤーに石を配置した様子を示す図である。   23 and 24 are diagrams for explaining the parity bit setting method, and FIG. 25 shows a state in which stones are arranged in the parity layer based on the parity information when the arrangement of points in the main layer is FIG. FIG.

ここでは、図20に示すようにメインレイヤーMLの周囲(最外周部(斜線部)のセルS(i、j)(i+j=偶数となるセル)をパリティレイヤーPLとして、パリティビットをおく場合を例にとり説明する。下記の規則に従ってパリティレイヤーに石を配置する。   Here, as shown in FIG. 20, a case where a parity bit is set with a cell S (i, j) (i + j = even number cell) around the main layer ML (the outermost peripheral portion (hatched portion)) as a parity layer PL. For example, place stones in the parity layer according to the following rules:

(1)メイン・レイヤーを大きく上下左右で4分割した時、自らが属していない領域に置かれた「石」を計数対象とする(領域の境界線上の「石」は数える)。   (1) When the main layer is largely divided into four parts, top, bottom, left and right, “stones” placed in areas that do not belong to itself are counted (the “stones” on the boundary lines of the areas are counted).

例えば図23に示すように縦方向の分割線250と、横方向の分割線252によって2次元領域を4つの領域R1、R2、R3、R4に分割する。   For example, as shown in FIG. 23, a two-dimensional region is divided into four regions R1, R2, R3, and R4 by a dividing line 250 in the vertical direction and a dividing line 252 in the horizontal direction.

(2)縦の列(左右両端)のパリティの「石」は、横方向(自分と同じY座標の行と、点対称のY座標にある行)の「石」の数の合計が偶数の時に置かれる。   (2) The parity “stone” in the vertical column (both left and right ends) is an even sum of the number of “stones” in the horizontal direction (the row with the same Y coordinate and the row with the point-symmetric Y coordinate). Sometimes placed.

(3)横の列(上下両端)のパリティの「石」は、縦方向(自分と同じX座標の列と、点対称のX座標にある列)の「石」の数の合計が偶数の時に置かれる。   (3) The parity “stone” in the horizontal row (upper and lower ends) is the sum of the number of “stones” in the vertical direction (the same X-coordinate column and the column in the point-symmetric X coordinate). Sometimes placed.

例えば、左下(最左端)の2点260,270に着目し、パリティの「石」を置くべきか検討してみる。   For example, paying attention to the two points 260 and 270 at the lower left (the leftmost end), consider whether or not to put a parity “stone”.

例えば図23の縦の列(左右両端)のセル260におくパリティの石については、自分260と同じY座標の行262と、点対称のY座標にある行264の「石」の数の合計が偶数の時に置かれる。ここで自分と同じY座標の行262については、自分260の属する領域R4以外の部分を対象とする。行262と行264におかれている石の合計は4個なので、図25に示すように260には石261が置かれている。   For example, for the parity stone placed in the cell 260 in the vertical column (both left and right) in FIG. 23, the total number of “stones” in the row 262 having the same Y coordinate as that of the own 260 and the row 264 in the point-symmetric Y coordinate. Is placed when is even. Here, with respect to the row 262 having the same Y coordinate as that of the subject, the portion other than the region R4 to which the subject 260 belongs is targeted. Since the total number of stones in the rows 262 and 264 is four, the stone 261 is placed in 260 as shown in FIG.

また例えば図24の縦の列(左右両端)のセル270におくパリティの石については、自分270と同じY座標の行272と、点対称のY座標にある行274の「石」の数の合計が偶数の時に置かれる。ここで自分と同じY座標の行272については、自分270の属する領域R4以外の部分を対象とする。行272と行274におかれている石の合計は5個なので図25にしめすように270には石が置かれていない。   Also, for example, for the parity stone placed in the cell 270 in the vertical column (both left and right ends) in FIG. 24, the number of “stones” in the row 272 having the same Y coordinate as that of the own 270 and the row 274 in the point-symmetrical Y coordinate. Set when the sum is even. Here, with respect to the row 272 having the same Y coordinate as that of itself, a portion other than the region R4 to which the own 270 belongs is targeted. Since the total number of stones in rows 272 and 274 is five, no stones are placed in 270 as shown in FIG.

この様にして、全ての最外周について、パリティの「石」を置くか否かを決めていく。   In this way, it is decided whether or not to place parity “stones” on all outermost circumferences.

本実施の形態では切り貼り偽造の対策として、パリティの「石」の周辺だけで(つまり、ローカルな情報だけで)パリティが決まってしまうのを避け、あえて離れたラインの情報の影響を受けるようにしている。ちなみに、もし自分の属する領域も計数対象に含めてしまうと、4領域のパリティが同じ(=対称)になってしまう(情報的に冗長となる)ので、これもあえて非対称にしている。メイン・レイヤーに置かれた(または、置かれていない)1つの「石」は、計6つのパリティに影響を与え、これらがエラー補正時の有力なヒントにもなっている。   In this embodiment, as a countermeasure against cut and paste forgery, it is avoided that the parity is determined only around the parity “stone” (that is, only by local information), and is intentionally influenced by the information of the distant line. ing. Incidentally, if the area to which the user belongs is also included in the counting object, the parity of the four areas becomes the same (= symmetric) (information becomes redundant), so this is also made asymmetric. One “stone” placed (or not placed) in the main layer affects a total of six parities, which are also helpful hints for error correction.

2−6.サブレイヤーへのダミーデータの配置
メイン・レイヤーとパリティ・レイヤーに配置された「石」群の配置を見て、ルールに従いサブ・レイヤーにも「石」群を配置する。
2-6. Placement of dummy data in sub-layers Look at the placement of “stones” in the main layer and parity layer, and place “stones” in the sub-layer according to the rules.

なお、サブ・レイヤーも、メイン・レイヤーやパリティ・レイヤーと同様に、「石」を配置しても良い場所が明確に定められている。   In the sub-layer, as in the main layer and the parity layer, a place where “stone” can be placed is clearly defined.

サブ・レイヤーに石を配置するルールとしては、まずセルSxyの「X座標+Y座標」が偶数となるセルは(少なくとも、メイン・レイヤーとパリティ・レイヤー用に予約されているセルを含むので)初めから除外しておく。   The rule for placing stones in the sub-layer is that the cell where the “X-coordinate + Y-coordinate” of the cell Sxy is an even number is the first (since it includes at least cells reserved for the main layer and parity layer) Exclude from.

メイン・レイヤーとパリティ・レイヤーに「石」が置かれていないセルに注目し、周囲のセル(壁に接している場合は5セル、壁に接していない場合は8セル)にも同様に「石」が置かれていないなら、そのサブ・レイヤーに「石」を置く。   Pay attention to the cells where no “stone” is placed in the main layer and parity layer, and apply to the surrounding cells (5 cells if touching the wall, 8 cells if not touching the wall) as well. If no "stone" is placed, put "stone" on that sub-layer.

図26はサブレイヤーへのダミーデータ(ダミーの石)の配置について説明するための図である。   FIG. 26 is a diagram for explaining the arrangement of dummy data (dummy stones) in the sublayer.

図25においてはRAは予約エリアである。ここで予約エリアRA以外をサブレイヤーとする。   In FIG. 25, RA is a reserved area. Here, areas other than the reserved area RA are set as sublayers.

サブレイヤーのセルS(1、0)は、壁に接しているセルであるため、当該セルと辺又は頂点を共有しているセル(周囲のセルという)はS(0,0)、S(2,0)、S(0,1)、S(1,1)、S(2,1)の5つのセルがある。この5つのセルのメイン・レイヤーとパリティ・レイヤーに「石」がおかれていない場合には当該セルS(1、0)に石が置かれ、5つのセルの少なくとも1つに「石」がおかれている場合には当該セルS(1、0)に石が置かれない。図25では周囲のセルS(0,0)、S(2,0)、S(0,1)、S(1,1)、S(2,1)にはいずれも石がおかれていないので、図26の310に示すように当該セルS(1,0)に石が置かれる。   Since the cell S (1, 0) of the sublayer is a cell in contact with the wall, the cell sharing the side or vertex with the cell (referred to as surrounding cells) is S (0, 0), S ( 2, 0), S (0, 1), S (1, 1), and S (2, 1). If there is no “stone” in the main layer and parity layer of these five cells, a stone is placed in the cell S (1, 0), and “stone” is placed in at least one of the five cells. When placed, no stone is placed in the cell S (1, 0). In FIG. 25, none of the surrounding cells S (0,0), S (2,0), S (0,1), S (1,1), S (2,1) are stoned. Therefore, a stone is placed in the cell S (1, 0) as indicated by 310 in FIG.

図25において、サブレイヤーのセルS(2、5)は、壁に接していないセルであるため、当該セルと辺又は頂点を共有しているセル(周囲のセルという)はS(1,4)、S(2,4)、S(3,4)、S(1,5)、S(3,5)、S(1,6)、S(2,6)、S(3,6)の8つのセルがある。この8つのセルのメイン・レイヤーとパリティ・レイヤーに「石」がおかれていない場合には当該セルS(2,5)に石が置かれ、8つのセルの少なくとも1つに「石」がおかれている場合には当該セルS(2,5)に石が置かれない。図25では周囲のセルの1つのセルS(2,4)に石がおかれているので、図26の320に示すように当該セルS(2,5)に石が置かれない。   In FIG. 25, since the cell S (2, 5) of the sublayer is a cell that is not in contact with the wall, the cell sharing the side or the vertex with the cell (referred to as a surrounding cell) is S (1, 4). ), S (2,4), S (3,4), S (1,5), S (3,5), S (1,6), S (2,6), S (3,6) There are 8 cells. If there is no “stone” in the main layer and parity layer of these 8 cells, the stone is placed in the cell S (2, 5), and “stone” is placed in at least one of the 8 cells. When placed, no stone is placed in the cell S (2,5). In FIG. 25, since a stone is placed in one cell S (2, 4) of the surrounding cells, no stone is placed in the cell S (2, 5) as indicated by 320 in FIG.

2−7.橋を架ける処理(結線処理)
本実施の形態では、2次元領域に配置された点と点の間を予め設定された結線条件に従って線で繋ぐ処理を行う。
2-7. Bridge building process (connection process)
In the present embodiment, processing is performed in which the points arranged in the two-dimensional region are connected by lines according to preset connection conditions.

2次元領域に配置された所与の点と他の点を結ぶ直線が点配置予約エリアを横切らないという必要条件を満たす場合に、所与の点と他の点を線で繋ぐ結線処理を行うようにしてもよい。所与の点と他の点を繋ぐ線は直線でもよい。   When the necessary condition that a straight line connecting a given point and another point placed in a two-dimensional area does not cross the point placement reservation area is satisfied, a connection process that connects the given point and another point with a line is performed. You may do it. A line connecting a given point with another point may be a straight line.

このようにすると点配置予約位置の情報を線でつぶさないように点と点を線で結ぶことができる。   In this way, points can be connected with lines so that the information on the point arrangement reserved position is not broken with lines.

また各点と他の点を結ぶ直線がメインレイヤーを通らないという必要条件を満たす他の点を各点の結線対象点としてもよい。   In addition, another point that satisfies the requirement that a straight line connecting each point and another point does not pass through the main layer may be used as a connection target point of each point.

前記2値データ列の各ビットの値が対応付けられるセル又はメインレイヤーの点のおかれていないセルを線が横切らないように設定された所定の規則にしたがって点と点を線で結ぶようにしてもよい。   The point and the point are connected by a line according to a predetermined rule set so that the line does not cross the cell to which the value of each bit of the binary data string is associated or the cell of the main layer where the point is not placed. May be.

ダミーの点とダミーの点を線で結ぶ線がメインレイヤー以外を通るように設定された所定の規則に従ってダミーの点とダミーの点を線で結ぶようにしてもよい。   The dummy point and the dummy point may be connected by a line according to a predetermined rule set so that the line connecting the dummy point and the dummy point by a line other than the main layer.

このように3枚のレイヤーに置かれた「石」の間に、ルールに従い「橋」を架ける。この「橋」こそが、本実施の形態の2次元コードの「目に見える部分(又は赤外線によって認識可能な部分)」=「画像認識対象」となる。   In this way, a “bridge” is built between the “stones” placed on the three layers according to the rules. This “bridge” is the “visible part (or part that can be recognized by infrared rays)” = “image recognition target” of the two-dimensional code of the present embodiment.

予め設定された結線条件として、例えば下記のような橋をかけるルール(結線条件、結線規則)を設定することができる。   As preset connection conditions, for example, the following rules (connection conditions, connection rules) for bridging can be set.

図27〜図30は橋をかけるルールについて説明するための図である。   FIGS. 27-30 is a figure for demonstrating the rule which bridges.

ルール1:メイン・レイヤーまたはパリティ・レイヤーに置かれた「石」に着目して、その周囲の「桂馬の位置」または「1マス空けて斜め45度の位置」に「石」(レイヤー問わず)があれば、「橋」を架ける。   Rule 1: Pay attention to the “stone” placed in the main layer or parity layer, and “stone” (regardless of the layer) ), Build a bridge.

例えば図27において、350Pがメイン・レイヤーまたはパリティ・レイヤーに置かれた「石」とすると、その周囲の「桂馬の位置」のセル360、361,362,363、364、365,366、367または「1マス空けて斜め45度の位置」のセル370、371、372,373に石があれば橋をかける(結線する)。   For example, in FIG. 27, if 350P is a “stone” placed in the main layer or parity layer, the cells 360, 361, 362, 363, 364, 365, 366, 367 of the “position of Keima” around it If there are stones in the cells 370, 371, 372, and 373 at "positions that are 45 degrees diagonally apart", a bridge is formed (connected).

図28に示すように、石(点)350Pに対して「桂馬の位置」にあるセル360に石(点)360Pがおかれているので、石(点)350Pと石(点)360Pを線L1で繋ぐ(結線する)。   As shown in FIG. 28, since the stone (point) 360P is placed in the cell 360 in the “position of Keima” with respect to the stone (point) 350P, the stone (point) 350P and the stone (point) 360P are lined up. Connect (connect) with L1.

また石(点)350Pに対して「1マス空けて斜め45度の位置」の位置にあるセル371に石(点)371Pがおかれているので、石(点)350Pと石(点)371Pを線L2で繋ぐ(結線する)。   In addition, since the stone (point) 371P is placed in the cell 371 at the position of 45 degrees diagonally with respect to the stone (point) 350P, the stone (point) 350P and the stone (point) 371P Are connected (connected) by a line L2.

ルール2:サブ・レイヤーに置かれた「石」に着目して、「1マス空けて上下左右の位置」に「石」(サブ・レイヤー上に限られるはず)があれば、「橋」を架ける。但し、その「橋」が、メイン・レイヤーまたはパリティ・レイヤー上の「石」の有無の情報を隠す可能性がある場合には、「橋」を架けない。   Rule 2: Pay attention to the “stone” placed on the sub-layer, and if there is a “stone” (should be limited to the sub-layer) in the “up / down / left / right position”, then “bridge” I can build. However, if there is a possibility that the “bridge” may hide the information on the presence of “stone” on the main layer or parity layer, the “bridge” is not built.

例えば図29において、380Pがサブレイヤーに置かれた「石」とすると、その周囲の「1マス空けて上下左右の位置」のセル(サブ・レイヤー上に限られるはず)390、391,392,393に石があれば橋をかける(結線する)。   For example, in FIG. 29, if “380P” is placed on the sublayer in FIG. 29, cells around “positions left and right, up and down, left and right” around it (should be limited to the sublayer) 390, 391, 392 If there is a stone at 393, build a bridge (connect).

サブレイヤーに置かれた石(点)380Pに対して「1マス空けて上下左右の位置」の位置にあるセル390に石(点)390Pがおかれているので、石(点)380Pと石(点)390Pを線L3で繋ぐ(結線する)(図30参照)。   The stone (point) 390P and the stone 380P are placed in the cell 390 at the position of “up and down, left and right positions with 1 square space” with respect to the stone (point) 380P placed on the sublayer. (Point) Connect (connect) 390P with line L3 (see FIG. 30).

またサブレイヤーに置かれた石(点)380Pに対して「1マス空けて上下左右の位置」の位置にあるセル391に石(点)391Pがおかれている。しかし石(点)380Pと石(点)391Pを線で繋ぐ(結線する)と、メイン・レイヤーの石(点)410を覆い隠す可能性があるので橋をかけない(図30参照)。   In addition, a stone (point) 391P is placed in a cell 391 at a position “left and right, up and down, left and right” with respect to a stone (point) 380P placed on the sublayer. However, if the stone (point) 380P and the stone (point) 391P are connected (connected) with a line, there is a possibility that the stone (point) 410 of the main layer may be obscured, so no bridge is formed (see FIG. 30).

ルール3:パリティ・レイヤーに置かれた「石」に着目して、(パリティ・レイヤーの長方形を構成する4辺の)上下端については「1マス空けて上下の位置」に「石」があれば、「橋」を架ける。同様に、左右端については「1マス空けて左右の位置」に「石」があれば、「橋」を架ける。   Rule 3: Pay attention to the “stones” placed on the parity layer. For the upper and lower ends (four sides that make up the rectangle of the parity layer), there should be “stones” at the “up and down positions”. For example, build a bridge. Similarly, for the left and right ends, if there is a “stone” in the “left and right position with 1 square space”, a “bridge” is built.

このようにして2次元領域の点と点を線でつないだ様子を表しているのが図31である。ここで線の太さはセルの幅より小さい幅で任意に設定可能であるが、最終的に本2次元コードを利用する画像認識システムに適応した幅に調整することが望ましい。   FIG. 31 shows a state in which the points of the two-dimensional region are connected by lines in this way. Here, the thickness of the line can be arbitrarily set to a width smaller than the width of the cell, but it is desirable to finally adjust the width to be suitable for the image recognition system using the two-dimensional code.

図31では、「橋」以外の要素である「石」も見えているが、実際には「橋」の線しか見えない。   In FIG. 31, “stone” which is an element other than “bridge” is also visible, but only the line of “bridge” is actually visible.

そして、最外周に置かれた点から、周囲の「枠」まで「橋」を架けることで図32にしめすような2次元コードができあがる。   Then, by building a “bridge” from the point placed on the outermost periphery to the surrounding “frame”, a two-dimensional code as shown in FIG. 32 is completed.

本実施の形態の2次元コードは、線の極端に「密」や「粗」な部分がないという特徴がある。それでいて、重要な情報を持つ「石」(メインレイヤーの石)の位置は、「黒」であっても「白」であっても周囲に余裕があるので、低画質のカメラで撮像する場合でも(つまり、ボケたり、歪んだりしても)、最低限必要な情報は得られるような「石」「橋」の配置になっている。   The two-dimensional code of the present embodiment is characterized in that there is no extremely “dense” or “rough” portion of the line. Nevertheless, the position of the “stone” (main layer stone) with important information is “black” or “white”. (In other words, even if it is blurred or distorted), “stones” and “bridges” are arranged so that the minimum necessary information can be obtained.

3.2次元コード生成システム
図33に本実施形態の2次元コード生成システムの機能ブロック図の例を示す。なお本実施形態の2次元コード生成システムは図33の構成要素(各部)の一部を省略した構成としてもよい。
3. Two-dimensional Code Generation System FIG. 33 shows an example of a functional block diagram of the two-dimensional code generation system of this embodiment. Note that the two-dimensional code generation system of this embodiment may have a configuration in which some of the components (each unit) in FIG. 33 are omitted.

印刷部650は、生成された2次元コードの画像を可視又は不可視インクで印刷する処理を行う。   The printing unit 650 performs processing for printing the generated two-dimensional code image with visible or invisible ink.

操作部660は、操作データを入力するためのものであり、その機能は、レバー、方向指示キー、或いはボタンなどにより実現できる。   The operation unit 660 is for inputting operation data, and its function can be realized by a lever, a direction instruction key, a button, or the like.

記憶部670は、処理部600や通信部696などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The storage unit 670 serves as a work area for the processing unit 600, the communication unit 696, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体680(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、メモリーカード、ハードディスク、或いはメモリー(ROM)などにより実現できる。処理部600は、情報記憶媒体680に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体680には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 680 (a computer-readable medium) stores programs, data, and the like, and its function can be realized by an optical disk (CD, DVD), a memory card, a hard disk, a memory (ROM), or the like. . The processing unit 600 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 680. That is, the information storage medium 680 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit).

ディスプレイ690は、本実施形態により生成された画像を表示出力するためのものである。   The display 690 is for displaying and outputting an image generated according to the present embodiment.

音出力部692は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The sound output unit 692 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置694は、プレイヤーの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置694としては、メモリカードや携帯型ゲームシステムなどがある。   The portable information storage device 694 stores player personal data, game save data, and the like. Examples of the portable information storage device 694 include a memory card and a portable game system.

通信部696は外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 696 performs various controls for communicating with the outside (for example, a host device or other game system), and functions thereof are hardware such as various processors or communication ASICs, programs, and the like. Can be realized.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部696を介して情報記憶媒体680(記憶部670)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of the present embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 680 (storage unit 670) via the network and communication unit 696. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部600(プロセッサ)は、操作部660からの操作データやプログラムなどに基づいて、ゲーム演算処理、画像生成処理、或いは音生成処理などを行う。この処理部600は記憶部670をワーク領域として各種処理を行う。処理部600の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 600 (processor) performs game calculation processing, image generation processing, sound generation processing, and the like based on operation data, a program, and the like from the operation unit 660. The processing unit 600 performs various processes using the storage unit 670 as a work area. The functions of the processing unit 600 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部600は、2次元コード生成部610、画像生成部630、音生成部640を含む。   The processing unit 600 includes a two-dimensional code generation unit 610, an image generation unit 630, and a sound generation unit 640.

2次元コード生成部610は、2値データ列生成処理部620、点配置処理部622、結線処理部624、基準位置設定処理部626、向き情報設定処理部628を含む。   The two-dimensional code generation unit 610 includes a binary data string generation processing unit 620, a point arrangement processing unit 622, a connection processing unit 624, a reference position setting processing unit 626, and an orientation information setting processing unit 628.

2値データ列生成処理部620は、所与のデータに基づき所与のデータに一義的に対応付けられた2値データ列を生成し、点配置処理部622は、2次元領域に点が配置される可能性のある点配置予約位置を設定し、2値データ列に基づき予め設定された2値データ列配置条件に従って2次元領域の点配置予約位置に点を配置し、結線処理部624は、2次元領域に配置された各点について結線対象となる点を抽出し、各点と結線対象となる点を予め設定された結線条件に従って繋ぐ結線処理を行う。   The binary data string generation processing unit 620 generates a binary data string uniquely associated with the given data based on the given data, and the point arrangement processing unit 622 arranges the points in the two-dimensional area. The point arrangement reserved position that may be transmitted is set, a point is arranged at the point arrangement reserved position of the two-dimensional area in accordance with a binary data string arrangement condition set in advance based on the binary data string, and the connection processing unit 624 For each point arranged in the two-dimensional area, a point to be connected is extracted, and a connection process is performed to connect each point and the point to be connected according to a preset connection condition.

点配置処理部622は、前記2値データ列に基づき行列を設定し、行列の各要素に前記点配置予約位置を対応付けて、対応付けられた点配置予約位置に行列の各要素の値に基づいて点を配置するようにしてもよい。   The point arrangement processing unit 622 sets a matrix based on the binary data string, associates the point arrangement reserved position with each element of the matrix, and sets the value of each element of the matrix to the associated point arrangement reserved position. You may make it arrange | position a point based on.

また点配置処理部622は、2次元領域を格子状に並んだ複数のセルに分割し、格子点又は各セルの代表点を前記点配置予約位置とするようにしてもよい。   Further, the point arrangement processing unit 622 may divide the two-dimensional region into a plurality of cells arranged in a lattice shape, and set the lattice point or the representative point of each cell as the point arrangement reserved position.

結線処理部624は、各点と他の点を結ぶ直線がそれ以外の点の点配置予約位置を含む点配置予約エリアを横切らないという必要条件を満たす他の点を各点の結線対象点とし、所定の条件を満たす結線対象点と各点とを線(直線)で繋ぐ結線処理を行うようにしてもよい。   The connection processing unit 624 sets other points satisfying the requirement that the straight line connecting each point and the other points does not cross the point arrangement reservation area including the point arrangement reservation positions of the other points as connection target points of the respective points. In addition, a connection process may be performed in which connection target points satisfying predetermined conditions and each point are connected by lines (straight lines).

点配置処理部622は、2次元領域にメインレイヤーを設定し、メインレイヤーに属する点配置予約位置に2値データ列に基づき点を配置するようにしてもよい。   The point arrangement processing unit 622 may set a main layer in a two-dimensional area and arrange points on the point arrangement reserved position belonging to the main layer based on the binary data string.

点配置処理部622は、所与の点配置予約位置がメインレイヤーに属する場合には、当該点配置予約位置の周囲の所定範囲内にある点配置予約位置はメインレイヤーとならないようにメインレイヤーを設定するようにしてもよい。   When the given point arrangement reserved position belongs to the main layer, the point arrangement processing unit 622 sets the main layer so that the point arrangement reserved position within the predetermined range around the point arrangement reserved position does not become the main layer. You may make it set.

点配置処理部622は、2次元領域のメインレイヤー以外にサブレイヤーを設定し、サブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件に従ってダミーの点を配置するようにしてもよい。   The point arrangement processing unit 622 may set a sublayer in addition to the main layer of the two-dimensional area, and arrange dummy points at the point arrangement reserved positions belonging to the sublayer according to preset dummy point arrangement conditions. Good.

点配置処理部622は、2次元領域のメインレイヤー以外にパリティレイヤーを設定し、パリティレイヤーに属する点配置予約位置に、パリティ情報に基づき点を配置するようにしてもよい。   The point arrangement processing unit 622 may set a parity layer in addition to the main layer of the two-dimensional area, and arrange points on the point arrangement reserved positions belonging to the parity layer based on the parity information.

点配置処理部622は、2次元領域を複数のエリアに分割して、所与のエリア以外のエリアに配置された点に基づきパリティ情報を設定し、所与のエリアのパリティレイヤーに点を配置するようにしてもよい。   The point arrangement processing unit 622 divides the two-dimensional area into a plurality of areas, sets parity information based on points arranged in areas other than the given area, and places points on the parity layer of the given area You may make it do.

2値データ列生成処理部620は、所与のデータを標準フィボナッチ表現へ変換して所与のデータに一義的に対応付けられた2値データ列を生成する。   The binary data string generation processing unit 620 converts the given data into the standard Fibonacci expression, and generates a binary data string uniquely associated with the given data.

基準位置設定処理部626は、2次元領域の基準位置を示す情報を設定する処理を行う。   The reference position setting processing unit 626 performs processing for setting information indicating the reference position of the two-dimensional area.

そして画像生成部630は、基準位置を示す情報が含まれた2次元画像を生成する。   Then, the image generation unit 630 generates a two-dimensional image including information indicating the reference position.

向き情報設定処理部628は、2次元領域の向きを示す情報を設定する処理を行う。   The orientation information setting processing unit 628 performs processing for setting information indicating the orientation of the two-dimensional area.

そして画像生成部630は、向きを示す情報が含まれた2次元画像を生成する。   Then, the image generation unit 630 generates a two-dimensional image including information indicating the direction.

画像生成部630は、前記点を結ぶ線に幅を与えて2次元画像を生成する2次元画像生成部として機能する。   The image generation unit 630 functions as a two-dimensional image generation unit that generates a two-dimensional image by giving a width to a line connecting the points.

音生成部642は、処理部600で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 642 performs sound processing based on the results of various processes performed by the processing unit 600, generates game sounds such as BGM, sound effects, and sounds, and outputs the game sounds to the sound output unit 192.

4.画像認識処理
4−1.画像の認識処理の流れ
図34は、2次元コード画像(認識対象画像)を含む画像の認識処理の流れを示すフローチャートである。
4). Image recognition processing 4-1. Flow of Image Recognition Processing FIG. 34 is a flowchart showing the flow of image recognition processing including a two-dimensional code image (recognition target image).

まず認識対象のカードを含む画像を撮像して画像データを取得する。(ステップS210)。   First, an image including a recognition target card is captured to acquire image data. (Step S210).

図2(A)は撮像部による認識対象物の撮像について説明するための図である。撮像部150はプレイヤーによってステージ12に並べられた複数のカード14(認識対象物)をステージ12の下方から撮像する。ステージ12は撮像部150がカード14を撮像できるように透明なガラス板等からなる。   FIG. 2A is a diagram for describing imaging of a recognition target by the imaging unit. The imaging unit 150 images a plurality of cards 14 (recognition objects) arranged on the stage 12 by the player from below the stage 12. The stage 12 is made of a transparent glass plate or the like so that the imaging unit 150 can image the card 14.

図2(B)は本実施形態において認識対象物となるカードについて説明するための図である。カード14の裏面(ステージ12に接する面)には各カードを識別するための模様16が印刷されている。また模様16の周囲には所定幅の空白部分18が設けられている。本実施形態では複数のカード14を撮像した画像データから各カード14に表された模様16の外縁の形状(長方形)を判定し、模様16の領域(空白部分18で囲まれた領域)に対応する画像データを認識対象画像として抽出する処理を行うことになる。   FIG. 2B is a diagram for explaining a card that is a recognition object in the present embodiment. A pattern 16 for identifying each card is printed on the back surface of the card 14 (the surface in contact with the stage 12). A blank portion 18 having a predetermined width is provided around the pattern 16. In the present embodiment, the shape (rectangle) of the outer edge of the pattern 16 represented on each card 14 is determined from image data obtained by imaging a plurality of cards 14, and corresponds to the area of the pattern 16 (area surrounded by the blank portion 18). The image data to be extracted is extracted as a recognition target image.

本実施の形態の2次元コードが印刷されたカードは、カード自体が隠蔽されない限り、周囲にカード以外の雑多な物体が存在しても、カードの位置と回転角を正確に検出できる。撮影においては背景として用いる「均一な色の紙や布など」は不要であり、何を載せられるか分からない業務用ゲーム機のテーブル面(普通に「手」は載るし、天井の照明による明暗差も悪影響を与える)に対して、可視または不可視インクで印刷されたカードを載せてテーブル下から撮像するアプリケーション等に好適である。   The card on which the two-dimensional code of this embodiment is printed can accurately detect the position and rotation angle of the card even if various objects other than the card are present around the card unless the card itself is concealed. In shooting, “uniform color paper or cloth” used as a background is not necessary, and the table surface of an arcade game machine that does not know what can be placed (usually “hands” are placed on it, and light and darkness due to ceiling lighting (The difference also has an adverse effect), which is suitable for an application in which a card printed with visible or invisible ink is placed and an image is taken from under the table.

次に撮像された画像データに対してフィルタリング処理を行う(ステップS220)。   Next, a filtering process is performed on the captured image data (step S220).

一般に外乱の影響や筐体設計上の制約などにより、撮影するテーブル面を均一に照らすことは難しい。従って照明(特に、撮像素子の特性により、実質的な感度が低くなる赤外光照明)の配置により発生するムラや、暗所における撮影もしくは安価なカメラを使用した場合に発生するノイズ等は避けられない。   In general, it is difficult to uniformly illuminate the table surface to be photographed due to the influence of disturbance or restrictions on the housing design. Therefore, avoid unevenness caused by the arrangement of illumination (especially infrared illumination whose sensitivity is substantially reduced due to the characteristics of the image sensor), noise generated when shooting in the dark or using an inexpensive camera. I can't.

そこで、本実施の形態では画像認識処理に入る前に、必要な情報(本実施の形態の次元コードの「枠」と「橋」)のみを抜き出し、不要な情報(照明ムラやノイズ)を抑制するフィルターで前処理を行う。前処理は、具体的には2次微分処理、ぼかし処理、2値化処理の3ステップからなる。   Therefore, in this embodiment, before entering the image recognition process, only necessary information (“frame” and “bridge” of the dimension code in this embodiment) is extracted to suppress unnecessary information (illumination unevenness and noise). Perform pre-processing with the filter. Specifically, the pre-processing includes three steps of secondary differentiation processing, blurring processing, and binarization processing.

具体的には、「4−2.フィルタリング処理」の項で説明する。   Specifically, it will be described in the section “4-2. Filtering process”.

次にフィルタリング処理後画像データから認識対象画像を抽出する(ステップS230)。   Next, a recognition target image is extracted from the filtered image data (step S230).

入力画像(前処理の結果、白黒2値になっているはず)の左上の点から右方向にスキャンし、背景色(黒色)と異なる物体(白色)が見つかった時点で、その点を基準に反時計回りにその物体のアウトラインをトレースし、トレース結果がカードの形状(4頂点を持つ長方形)か否かを判定する。   When scanning from the upper left point of the input image (which should have become a black and white binary as a result of preprocessing) and an object (white) different from the background color (black) is found, that point is used as a reference. The outline of the object is traced counterclockwise, and it is determined whether or not the trace result is a card shape (rectangle having four vertices).

(1)カードの形状ではない場合 → 今トレースしたアウトラインのみを消去する。→ そしてスキャンを続行する。   (1) If it is not the shape of the card → Delete only the outline that was just traced. → Then continue scanning.

(2)カードの形状である場合 → カードの中味を読む。その結果、下記の2つに分岐。   (2) If the card shape → Read the card contents. As a result, it branches into the following two.

(3)本実施の形態の2次元コードなら、そのデコード結果を返し、中味ごと消去する。→ そしてスキャンを続行する。   (3) If it is the two-dimensional code of this embodiment, the decoding result is returned and the whole contents are erased. → Then continue scanning.

(4)本実施の形態の2次元コードではない場合は、今トレースしたアウトラインのみを消去する。→ そしてスキャンを続行する。   (4) If it is not the two-dimensional code of the present embodiment, only the outline that has been traced is deleted. → Then continue scanning.

以上の操作(1)から(4)を、全ての点のトレースが終了するまで(つまり、右下の点に辿り着くまで)繰り返す。   The above operations (1) to (4) are repeated until all points are traced (that is, until the lower right point is reached).

図35(A)〜(D)は本実施の形態の認識対象画像抽出処理(本処理)の概念について説明するための図である(この図では、便宜上、白黒を反転している)。   FIGS. 35A to 35D are diagrams for explaining the concept of the recognition target image extraction process (main process) according to the present embodiment (in this figure, black and white are inverted for convenience).

図35(A)に示すように入力画像データに太さ1の線ノイズ510がある場合には一瞬で(1回で)消去する。   As shown in FIG. 35A, when there is a line noise 510 of thickness 1 in the input image data, it is erased instantly (in one time).

また図35(B)に示すように入力画像データに太さ2以上の線幅の障害物520がある場合にはアウトラインが長方形(カード)か否かを判定し、長方形(カード)なら図35(D)の処理を行うが、それ以外は明らかな障害物と判定し、図35(C)の処理を行う。   Further, as shown in FIG. 35B, when there is an obstacle 520 having a line width of 2 or more in the input image data, it is determined whether or not the outline is a rectangle (card). Although the process of (D) is performed, other than that is determined as an obvious obstacle, and the process of FIG. 35 (C) is performed.

図35(C)では、太さ2以上の線幅の線を皮のように1枚づつ剥がしていく処理を行う。   In FIG. 35C, a process is performed in which lines having a line width of 2 or more in thickness are peeled off one by one like a skin.

図35(D)では、認識対象となる画像かどうかの判定を行う。長方形の内部画像が本実施の2次元コードであれば(例えば認識処理をおこなってエラーがでない場合)、長方形の内部を一気に消去する。長方形の内部画像が本実施の2次元コードでなければ(例えば認識処理をおこなってエラーがでた場合)、一枚づつ皮をむいて長方形の内部画像が本実施の2次元コードか否か調べる。   In FIG. 35D, it is determined whether the image is a recognition target. If the rectangular internal image is the two-dimensional code of this embodiment (for example, if there is no error after performing recognition processing), the rectangular interior is erased at once. If the rectangular internal image is not the two-dimensional code of the present embodiment (for example, if an error occurs after performing recognition processing), it is peeled off one by one to check whether the rectangular internal image is the two-dimensional code of the present embodiment. .

具体的には、「4−3.認識対象画像抽出処理(本処理)」の項で説明する。   Specifically, it will be described in the section “4-3. Recognition target image extraction process (main process)”.

次に認識対象画像の認識処理及びエラー補正処理を行う(ステップS240)。   Next, recognition processing for the recognition target image and error correction processing are performed (step S240).

具体的には、「4−4.認識対象画像の認識処理及びエラー補正処理」の項で説明する。   Specifically, it will be described in the section “4-4. Recognition processing and error correction processing of recognition target image”.

次に認識対象画像の向き検出処理を行う(ステップS250)。   Next, recognition direction detection processing is performed (step S250).

具体的には、「4−5.認識対象画像の向き検出処理」の項で説明する。   Specifically, this will be described in the section “4-5. Direction Detection Processing for Recognition Target Image”.

4−2.フィルタリング処理
図36が撮影された画像である入力画像であるとして、本実施の形態のフィルタリング処理の一例について説明する。
4-2. Filtering Process An example of the filtering process of the present embodiment will be described assuming that FIG. 36 is an input image that is a captured image.

まず入力画像の画像データに対して2次微分処理を行い、図37に示すような2次微分後の画像データを取得する。   First, secondary differential processing is performed on the image data of the input image, and image data after secondary differentiation as shown in FIG. 37 is acquired.

図3は、2次微分処理を行う際に用いられる3×3の2次微分オペレータの具体例を示す図である。本実施形態では、中央の着目画素に重み付け係数「8」が、8個の隣接画素のそれぞれに重み付け係数「−1」が設定されており、これらの各画素に重み付け係数を乗算した値を合計した後に所定の利得(例えば1)を乗算することにより、この着目画素に対応する2次微分データが得られる。なお、周囲に8個の隣接画素が存在しない外周部分の着目画素については、各着目画素と同じ階調データの隣接画素が存在するものとして計算を行うようにしてもよいし、外周部の各画素については2次微分処理を行わないようにしてもよい。   FIG. 3 is a diagram illustrating a specific example of a 3 × 3 secondary differential operator used when performing the secondary differential processing. In this embodiment, the weighting coefficient “8” is set for the pixel of interest at the center, and the weighting coefficient “−1” is set for each of the eight adjacent pixels, and the sum of the values obtained by multiplying these pixels by the weighting coefficient is the sum. Then, by multiplying by a predetermined gain (for example, 1), secondary differential data corresponding to this pixel of interest is obtained. It should be noted that for the target pixel in the outer peripheral portion where there are no eight adjacent pixels in the surrounding area, the calculation may be performed on the assumption that there are adjacent pixels having the same gradation data as each target pixel. The secondary differentiation process may not be performed on the pixel.

次に2次微分処理後の画像データにぼかし処理を行い、図38に示すようなぼかし処理後の画像データを取得する。   Next, blur processing is performed on the image data after the secondary differentiation processing, and image data after blur processing as shown in FIG. 38 is acquired.

2次微分処理が行われた2次微分データに対して、着目画素とその周囲の画素の2次微分データを用いたぼかし処理を行う。   The blurring process using the secondary differential data of the pixel of interest and the surrounding pixels is performed on the secondary differential data subjected to the secondary differential process.

図4は、ぼかし処理において用いられるぼかしフィルタの具体例を示す図である。本実施形態では、中央の着目画素とその周囲の8個の隣接画素のそれぞれに同じ重み付けがなされている。具体的には、着目画素と8個の隣接画素のそれぞれの2次微分データに係数値「1」を乗算した値を合計した後に所定の利得(例えば1/9)を乗算することにより、この着目画素の新たな2次微分データが得られる。すなわち、着目画素を含む9画素分の階調データを平均化するぼかし処理が行われる。なお、周囲に8個の隣接画素が存在しない外周部分の着目画素については、この着目画素と同じ階調データの隣接画素が存在するものとして計算が行われる。またこのぼかし処理は複数回適用してもよい。   FIG. 4 is a diagram illustrating a specific example of a blur filter used in the blur process. In the present embodiment, the same weighting is applied to each of the pixel of interest at the center and eight neighboring pixels around it. Specifically, by summing the values obtained by multiplying the secondary differential data of the pixel of interest and each of the eight adjacent pixels by the coefficient value “1”, this is multiplied by a predetermined gain (for example, 1/9). New secondary differential data of the pixel of interest is obtained. That is, a blurring process for averaging the gradation data for nine pixels including the target pixel is performed. Note that the calculation is performed on the target pixel in the outer peripheral portion where there are no eight adjacent pixels in the periphery, assuming that there is an adjacent pixel having the same gradation data as the target pixel. This blurring process may be applied multiple times.

例えば本実施の形態では3回適用している。適用する回数によって、「橋」として抽出する線幅を調整している。(ここで、例えばぼかし処理をガウスぼかしの半径で調整し、ぼかしフィルターの適用は1回のみにする等の手法を用いても良い)。   For example, this embodiment is applied three times. The line width extracted as a “bridge” is adjusted according to the number of times it is applied. (Here, for example, a method of adjusting the blur processing with the radius of Gaussian blur and applying the blur filter only once may be used).

次にぼかし処理後の画像データに2値化処理を行い、図39に示すような2値化処理後の画像データを取得する。図39ではコントラストが弱い「人物の背後のブラインドの横線」も力強く抽出できている。   Next, the binarization process is performed on the image data after the blurring process, and the image data after the binarization process as shown in FIG. 39 is acquired. In FIG. 39, “the horizontal line of the blind behind the person” having a weak contrast can also be extracted strongly.

二値化処理は、ぼかし処理後の2次微分データを所定の閾値STHと比較することにより、二値データに変換する。2次微分データ>STHの場合には、二値データ=1に設定される。また、2次微分データ≦STHの場合には、二値データ=0に設定される。   In the binarization processing, the second-order differential data after the blurring processing is converted into binary data by comparing it with a predetermined threshold value STH. When secondary differential data> STH, binary data = 1 is set. When secondary differential data ≦ STH, binary data = 0 is set.

尚、ぼかし処理後2次微分データについて、符号なし整数へ型変換(キャスト)を行って上記二値化処理を行ってもよい。符号なし整数への型変換を行うことにより、新たな2次微分データのマイナス値をプラスの最大値付近にすることができ、二値化処理後の画像のコントラストを高めることができる。   Note that the binarization processing may be performed by performing type conversion (casting) to unsigned integers for the second-order differential data after the blurring processing. By performing type conversion to an unsigned integer, the negative value of the new secondary differential data can be made near the maximum positive value, and the contrast of the image after binarization processing can be increased.

図5は、上述した微分処理部121、ぼかし処理部122、二値化処理部123による処理の内容を説明するための図である。図5(A)に示すように画素の色が白から黒、そして黒から白へと変化する2つの境界部分についての画像データに対して、図3に示す2次微分オペレータを用いて2次微分処理を行うと、図5(B)に示す形状に対応する2次微分データが得られる。この2次微分データに対して図4に示すぼかしフィルタを3回適用すると、図5(C)に示す形状に対応する新たな2次微分データが得られる。このぼかし処理された2次微分データを符号なし整数にキャストすると、図5(D)に示すように境界部分のマイナス値がプラスの最大値付近になった2次微分データが得られる。このキャストされた2次微分データを閾値STH=0として二値化処理を行うと、図5(E)に示すような境界部分が強調された二値データを得ることができる。二値化処理後の二値データと図5(A)に示す当初の画像データとを比較すると画素の色が白黒反転しているのがわかる。   FIG. 5 is a diagram for explaining the contents of processing by the differentiation processing unit 121, the blurring processing unit 122, and the binarization processing unit 123 described above. As shown in FIG. 5A, the second order differential operator shown in FIG. 3 is used for the image data for the two boundary portions where the pixel color changes from white to black and from black to white. When differential processing is performed, secondary differential data corresponding to the shape shown in FIG. 5B is obtained. When the blur filter shown in FIG. 4 is applied three times to the secondary differential data, new secondary differential data corresponding to the shape shown in FIG. 5C is obtained. When the blurred second-order differential data is cast to an unsigned integer, second-order differential data in which the negative value of the boundary portion is near the maximum positive value as shown in FIG. 5D is obtained. When binarization processing is performed with the cast secondary differential data as the threshold value STH = 0, binary data in which the boundary portion is emphasized as shown in FIG. 5E can be obtained. Comparing the binary data after the binarization processing with the original image data shown in FIG. 5A, it can be seen that the color of the pixel is reversed in black and white.

2次微分処理とぼかし処理によって、特にエッジ(明暗の「境界」部分)の近辺では負値が出ているので、キャストで小さなマイナス値をプラスの最大値近辺にしてしまうことで、入力画像のエッジを抽出&強調した画像が得られる(全体的にコントラストが高まるという効果もある)。あとは単純に閾値で切れば良い。結果として、2次元コード部分に関しては白黒反転したような出力画像が得られる。もちろん実際には、単に白黒反転しただけではなく、照明ムラによる悪影響が消え、2次元コード以外の雑多なものが写っていた領域も、認識対象画像抽出処理におけるゴミ・ノイズ等の排除処理に適した多くの小領域に分割される。   Since the negative differential value and the blurring process produce negative values especially near the edges (bright and dark “boundary” parts), by making the small negative value close to the maximum positive value by casting, the input image An image obtained by extracting and emphasizing the edge can be obtained (there is also an effect that the overall contrast is increased). After that, simply cut off with the threshold. As a result, an output image in which the two-dimensional code portion is reversed in black and white is obtained. Of course, in reality, not only black and white reversal, but also the adverse effects due to uneven illumination disappear, and areas where miscellaneous objects other than two-dimensional codes are reflected are also suitable for the removal process of dust, noise, etc. in the recognition target image extraction process It is divided into many small areas.

なお、本フィルタリング処理は、2次元コードの「枠」や「橋」の太さ(撮像された画像における太さ、実際のカードにおける線幅と撮影距離に応じて決定される)に依存することが挙げられる。   Note that this filtering process depends on the thickness of the “frame” and “bridge” of the two-dimensional code (determined according to the thickness of the captured image, the line width of the actual card, and the shooting distance). Is mentioned.

また本実施の形態の2次元コードには「枠」と「橋」の太さの線を強調する、という性質が求められているので、2次元コードの線の太さ(のピクセル数)に応じて、ぼかし処理のフィルターの強さ(例えばぼかし処理を行う回数)や2値化処理の閾値の調整が必要になるということである。一方、線の太さが変わらない場合には、これらの調整は不要である。例えば、VGAで4×8枚のカードを敷き詰め上手く認識できたなら、QVGAで2×4枚のカードの認識も同等の精度で(面積が小さくなった分、より高速に!)行える、ということである。   In addition, since the two-dimensional code of this embodiment is required to emphasize the lines of “frame” and “bridge” thickness, the line thickness (number of pixels) of the two-dimensional code is determined. Accordingly, it is necessary to adjust the filter strength of the blurring process (for example, the number of times the blurring process is performed) and the threshold value of the binarization process. On the other hand, when the line thickness does not change, these adjustments are unnecessary. For example, if 4x8 cards can be successfully laid out with VGA, 2x4 cards can be recognized with the same accuracy with QVGA (the smaller the area, the faster!). It is.

なお本実施の形態の2次元コードの周囲には若干の空白部(元のカード上の「枠」や「橋」が黒ならば、白色の縁)を設けることで処理を容易にすることが可能である。   It should be noted that the processing can be facilitated by providing a slight blank portion (a white edge if the “frame” or “bridge” on the original card is black) around the two-dimensional code of the present embodiment. Is possible.

4−3.認識対象画像抽出処理
図6は二値化処理が行われた画像(二値化画像)の具体例を示す図である。図6において、各正方形領域が各画素に対応している。また、ハッチングが付された領域の画素が二値データ(画素情報)=0の画素であり、それ以外の領域が二値データ(画素情報)=1の画素である。なお、図6に示した二値化画像は、二値化処理および後述する輪郭抽出処理の説明を簡略化するために画素数を減らした場合であって、一例として1枚のカード14がステージ12上に並べられた場合が示されている。尚この例ではカード14だけでなくカード以外の画像も混ざっている。以下では、二値データ=1の画素を「白画素」、二値データ=0の画素を「黒画素」と称して説明を行うものとする。
4-3. Recognition Target Image Extraction Processing FIG. 6 is a diagram showing a specific example of an image (binarized image) on which binarization processing has been performed. In FIG. 6, each square area corresponds to each pixel. In addition, pixels in the hatched area are pixels with binary data (pixel information) = 0, and other areas are pixels with binary data (pixel information) = 1. The binarized image shown in FIG. 6 is a case where the number of pixels is reduced in order to simplify the binarization processing and the contour extraction processing described later. The case of being arranged on 12 is shown. In this example, not only the card 14 but also images other than the card are mixed. In the following description, a pixel with binary data = 1 is referred to as a “white pixel”, and a pixel with binary data = 0 is referred to as a “black pixel”.

輪郭抽出処理では、二値化画像を構成する各画素を所定の順番でスキャンして最初に到達する白画素を検出し、この白画素に隣接する他の白画素を最初の白画素に戻ってくるまで順番に辿る(トレースする)ことにより、隣接する白画素からなる画素群の輪郭を抽出する処理を行う。   In the contour extraction process, the pixels constituting the binarized image are scanned in a predetermined order to detect the first white pixel that arrives first, and other white pixels adjacent to the white pixel are returned to the first white pixel. The process of extracting the outline of the pixel group composed of adjacent white pixels is performed by tracing (tracing) in order.

図7は、輪郭抽出処理の具体例を示す図である。図7に示した例では、スキャン開始点SSが二値化画像の左上に設定されており、右方向に順番に各画素のスキャンが行われ、最終的に右下のスキャン終了点SEで終了する。輪郭抽出部125は、このようなスキャン動作において、最初に検出した白画素をトレース開始点TS1として抽出し、図7の実線の矢印で示した順番に、再びこのトレース開始点TSに到達するまで白画素を辿っていく処理を行う。   FIG. 7 is a diagram illustrating a specific example of the contour extraction process. In the example shown in FIG. 7, the scan start point SS is set at the upper left of the binarized image, each pixel is scanned sequentially in the right direction, and finally ends at the lower right scan end point SE. To do. In such a scanning operation, the contour extraction unit 125 extracts the first detected white pixel as the trace start point TS1, and again reaches the trace start point TS in the order indicated by the solid line arrow in FIG. A process of tracing white pixels is performed.

以下、輪郭抽出処理の詳細について説明する。まず、輪郭抽出部125は、その時点における白画素の位置を中心にその周囲の8画素を調べ、次に辿るべき白画素の位置を決定する。   Details of the contour extraction process will be described below. First, the contour extraction unit 125 examines the surrounding eight pixels centering on the position of the white pixel at that time, and determines the position of the white pixel to be traced next.

図8は、上述した輪郭抽出処理において次の白画素を決定する手法を説明するための図である。図8において、「C」は現在の着目画素(白画素)を、「P」は現在の画素に至る直前の画素(白画素)の位置をそれぞれ示している。また、「1」〜「8」のそれぞれの数字は、次に辿っていく白画素の選択の優先順番を示している。例えば、直前の白画素が現在の着目画素の真上に位置する場合には、左上、左、左下、下、右下、右、右上、上の各画素を順番に見ていって、最初に現れる白画素が、次に辿るべき白画素として決定される。但し、直前の白画素がどの位置にあった場合であっても、「1」に対応する画素が、次に辿る白画素となることはないため、実際には最も多い場合であっても「2」〜「8」の7個の画素を調べればよい。   FIG. 8 is a diagram for explaining a method of determining the next white pixel in the contour extraction process described above. In FIG. 8, “C” indicates the current pixel of interest (white pixel), and “P” indicates the position of the pixel (white pixel) immediately before the current pixel. The numbers “1” to “8” indicate the priority order of selection of white pixels to be followed next. For example, if the immediately preceding white pixel is located directly above the current pixel of interest, look at each of the upper left, left, lower left, lower, lower right, right, upper right, and upper pixels in order. The white pixel that appears is determined as the white pixel to be followed next. However, since the pixel corresponding to “1” will not be the white pixel to be traced next no matter where the immediately preceding white pixel is located, It is sufficient to examine seven pixels “2” to “8”.

このようにして、トレース開始点TS1から順番に白画素を辿っていく処理が一巡すると、輪郭抽出部125は、順番に辿った各白画素の座標値に基づいて輪郭を抽出したことになる。   In this way, when the process of tracing the white pixels in order from the trace start point TS1 is completed, the contour extracting unit 125 extracts the contour based on the coordinate values of the white pixels traced in order.

さらに後述する画素情報変更処理によって輪郭を構成する各白画素を黒画素に変更する処理が行われた後、または輪郭の内部領域にある各画素を黒画素に変更する処理が行われた後に、トレース開始点TS1の右隣の画素(次のスキャン対象画素)から輪郭抽出処理を再開させる。   Further, after the process of changing each white pixel constituting the outline to a black pixel by the pixel information change process described later, or after the process of changing each pixel in the inner area of the outline to the black pixel, The contour extraction process is restarted from the pixel on the right of the trace start point TS1 (next scan target pixel).

図9〜図12は、輪郭抽出処理の流れについて説明するための図である。図9では、図7において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部127によってTS1から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭抽出部125は、トレース開始点TS1の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点TS2として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。   9 to 12 are diagrams for explaining the flow of the contour extraction process. In FIG. 9, since it is determined that the shape of the contour locus extracted in FIG. 7 is not a predetermined shape, the pixel information changing unit 127 described later changes the white pixels constituting the contour starting from TS1 to black pixels. Has been. The contour extraction unit 125 resumes the scanning operation from the pixel immediately to the right of the trace start point TS1, extracts the next detected white pixel as the trace start point TS2, and traces the white pixels in the order indicated by the solid line arrows. A process for extracting a contour based on the coordinate value of each traced white pixel is performed.

図10では、図9において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部127によってTS2から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭抽出部125は、トレース開始点TS2の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点TS3として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。   In FIG. 10, since it is determined that the shape of the contour locus extracted in FIG. 9 is not a predetermined shape, the pixel information changing unit 127 described later changes the white pixels constituting the contour starting from TS2 to black pixels. Has been. The contour extraction unit 125 restarts the scanning operation from the pixel immediately to the right of the trace start point TS2, extracts the next detected white pixel as the trace start point TS3, and traces the white pixels in the order indicated by the solid line arrows. A process for extracting a contour based on the coordinate value of each traced white pixel is performed.

図11では、図10において抽出された輪郭の軌跡の形状が所定の形状でないと判定されたために、後述する画素情報変更部127によってTS3から始まる輪郭を構成していた白画素が黒画素に変更されている。輪郭出部125は、トレース開始点TS3の右隣の画素からスキャン動作を再開し、次に検出した白画素をトレース開始点TS4として抽出し、実線の矢印で示した順番に白画素を辿っていく処理を行い、辿った各白画素の座標値に基づいて輪郭を抽出する処理を行う。   In FIG. 11, since it is determined that the shape of the contour trajectory extracted in FIG. 10 is not a predetermined shape, the pixel information changing unit 127 described later changes the white pixels that have formed the contour starting from TS3 to black pixels. Has been. The contour extraction unit 125 resumes the scanning operation from the pixel right next to the trace start point TS3, extracts the next detected white pixel as the trace start point TS4, and traces the white pixels in the order indicated by the solid line arrows. A process for extracting a contour based on the coordinate value of each traced white pixel is performed.

図12では、図11において抽出された輪郭の軌跡の形状が所定の形状であり、かつ内部が正しい2次元コードであると判定されたために、認識対象画像の抽出後、後述する画素情報変更部127によって輪郭の内部領域にある各画素が黒画素に変更されている。輪郭抽出部125は、トレース開始点TS4の右隣の画素からスキャン動作を再開し、スキャン終了点SEまでスキャンして終了する。   In FIG. 12, since it is determined that the shape of the contour locus extracted in FIG. 11 is a predetermined shape and the inside is a correct two-dimensional code, a pixel information changing unit described later is extracted after the recognition target image is extracted. In 127, each pixel in the inner area of the contour is changed to a black pixel. The contour extraction unit 125 restarts the scanning operation from the pixel adjacent to the right of the trace start point TS4, scans to the scan end point SE, and ends.

輪郭判定部126は、輪郭抽出部125によって抽出された輪郭の軌跡の形状が所定の形状であるか否かを判定する処理を行う。本実施形態では、認識対象画像としてカード12に印刷された模様16を抽出するために、前記輪郭の軌跡の形状が長方形であるか否かを判定する。ここで長方形であるか否かの判断は、前記輪郭を構成する画素列に含まれる長方形の頂点を検出することにより行う。   The contour determination unit 126 performs a process of determining whether or not the shape of the contour locus extracted by the contour extraction unit 125 is a predetermined shape. In this embodiment, in order to extract the pattern 16 printed on the card 12 as the recognition target image, it is determined whether or not the shape of the contour locus is a rectangle. Here, the determination as to whether or not the object is a rectangle is made by detecting the vertices of the rectangle included in the pixel row constituting the contour.

以下、形状を判定する処理の詳細について説明する。輪郭判定処理では、抽出された輪郭に沿って所定の長さLの部分画素列を移動させながら、この部分画素列の頭部(先頭部分)と尾部(末尾部分)のそれぞれに対応するように設定された2つのベクトルの内積値IPの計算を行う。   Details of the process for determining the shape will be described below. In the contour determination process, the partial pixel sequence having a predetermined length L is moved along the extracted contour so as to correspond to the head (leading portion) and tail (tail portion) of the partial pixel sequence. The inner product value IP of the two set vectors is calculated.

図13は、輪郭に沿って移動する部分画素列の具体例を示す図である。例えば長さL=10とすると、輪郭に沿った10個の画素からなる部分画素列が生成される。また、この部分画素列の頭部と尾部のそれぞれには、所定の長さMの2つのベクトルA、B(頭部のベクトルAをVA、尾部のベクトルBをVBとする)が設定されている。例えば長さM=3とすると、VAは、部分画素列の先頭の画素を終点とし、3個目の画素を始点とする向きを有する。また、VBは、部分画素列の最後尾の画素を始点とし、後ろから3個目の画素を終点とする向きを有する。   FIG. 13 is a diagram illustrating a specific example of a partial pixel column that moves along an outline. For example, assuming that the length L = 10, a partial pixel string composed of 10 pixels along the contour is generated. In addition, two vectors A and B having a predetermined length M (head vector A is VA and tail vector B is VB) are set in the head and tail of this partial pixel column, respectively. Yes. For example, when the length M = 3, the VA has a direction in which the first pixel of the partial pixel column is the end point and the third pixel is the start point. VB has a direction in which the last pixel in the partial pixel column is the start point and the third pixel from the back is the end point.

ところで、VAとVBのそれぞれは以下のように表すことができる。
VA=(VAのX成分の差,VAのY成分の差)
=(vax,vay)
VB=(VBのX成分の差,VBのY成分の差)
=(vbx,vby)
したがって、VAとVBの内積値IPは、
IP=VA・VB=vax×vbx+vay×vby
となる。輪郭判定処理では、この内積値IPと所定の閾値TIPとを比較し、|IP|≦TIPの場合には、VAとVBとのなす角がほぼ直角であって、長方形の頂点が部分画素列に含まれていると判断し、|IP|>TIPの場合には長方形の頂点が部分画素列に含まれていないと判断する。
By the way, each of VA and VB can be expressed as follows.
VA = (difference of X component of VA, difference of Y component of VA)
= (Vax, vay)
VB = (VB X component difference, VB Y component difference)
= (Vbx, vby)
Therefore, the inner product IP of VA and VB is
IP = VA / VB = vax × vbx + vay × vby
It becomes. In the contour determination process, the inner product value IP is compared with a predetermined threshold value TIP. When | IP | ≦ TIP, the angle formed by VA and VB is almost a right angle, and the vertex of the rectangle is a partial pixel sequence. If | IP |> TIP, it is determined that the vertex of the rectangle is not included in the partial pixel column.

なお、正確には、VAとVBとのなす角θはarccos(IP/(|VA|×|VB|))の式で計算されるため、ベクトルの長さを計算したり、除算等を行う必要があるが、VA、VBについて考えた場合にはベクトルの長さは2から2√2までの範囲に含まれることがわかっているので、本実施形態ではTIPの値を2とすることにより、これらの面倒な計算を省略している。   More precisely, since the angle θ formed by VA and VB is calculated by the equation arccos (IP / (| VA | × | VB |)), the length of the vector is calculated or division is performed. Although it is necessary, since it is known that the length of the vector is included in the range of 2 to 2√2 when considering VA and VB, in this embodiment, the value of TIP is set to 2. These troublesome calculations are omitted.

このようにして、部分画素列を輪郭に沿って移動させることにより長方形の頂点を検出し、部分画素列を輪郭に沿って一周移動する間に4つの長方形の頂点を検出した場合に輪郭の軌跡の形状が長方形であると判定し、それ以外の場合には輪郭の軌跡の形状が長方形でないと判定する。   In this way, when the vertex of a rectangle is detected by moving the partial pixel row along the contour, and the four rectangular vertices are detected while the partial pixel row is moved along the contour, the contour locus is detected. It is determined that the shape of the contour is a rectangle. Otherwise, it is determined that the shape of the contour locus is not a rectangle.

認識対象画像抽出処理では、輪郭判定処理によって輪郭の軌跡の形状が長方形であると判定された場合に、当該輪郭の内部領域にある各画素に対応する二値データを認識対象画像として抽出する処理を行う。   In the recognition target image extraction processing, when the contour determination processing determines that the shape of the contour locus is a rectangle, processing for extracting binary data corresponding to each pixel in the inner region of the contour as a recognition target image I do.

輪郭判定処理によって輪郭の軌跡の形状が長方形でないと判定された場合に、当該輪郭を構成する各白画素を黒画素に変更する画素情報変更処理を行う。ここで黒画素への変更は、輪郭抽出処理が順番に辿った各白画素に対応する二値データを0に設定することにより行う。   When it is determined by the contour determination process that the shape of the contour locus is not rectangular, pixel information change processing is performed to change each white pixel constituting the contour to a black pixel. Here, the change to the black pixel is performed by setting the binary data corresponding to each white pixel that the contour extraction processing has followed in order to 0.

また輪郭の内部領域にある各画素の二値データの抽出が行われた場合に、当該輪郭の内部領域にある各画素を黒画素に変更する画素情報変更処理を行う。例えば、図14に示すように輪郭を構成する各白座標のX座標の最小値Xminと最大値Xmaxと、Y座標の最小値Yminと最大値Ymaxを抽出し、YminからYmaxまでの各Y座標について、対応するXminからXmaxまでの各画素に対応する二値データを0に設定する。   In addition, when binary data of each pixel in the inner area of the contour is extracted, pixel information change processing is performed to change each pixel in the inner area of the contour to a black pixel. For example, as shown in FIG. 14, the minimum value Xmin and the maximum value Xmax of the X coordinate of each white coordinate constituting the contour, the minimum value Ymin and the maximum value Ymax of the Y coordinate are extracted, and each Y coordinate from Ymin to Ymax is extracted. , The binary data corresponding to each pixel from the corresponding Xmin to Xmax is set to 0.

図15は本実施形態の処理の一例について説明するためのフローチャート図である。ここでは、二値化処理部123によって二値化処理が行われた後の処理について説明する。   FIG. 15 is a flowchart for explaining an example of processing of this embodiment. Here, the processing after the binarization processing unit 123 performs the binarization processing will be described.

二値化処理部123によって得られた二値化画像を構成する各画素のスキャンを開始し、全画素をスキャンしたか否かを判定する(ステップS110)。全画素をスキャンしていなければ次の画素をスキャンする(ステップS120)。スキャンした画素の画素情報が所定の画素条件を満たすか(白画素であるか)否か判断し(ステップS130)、満たさなければ(黒画素であれば)ステップS110に戻る。   Scanning of each pixel constituting the binarized image obtained by the binarization processing unit 123 is started, and it is determined whether or not all the pixels have been scanned (step S110). If all the pixels have not been scanned, the next pixel is scanned (step S120). It is determined whether the pixel information of the scanned pixel satisfies a predetermined pixel condition (whether it is a white pixel) (step S130). If not satisfied (if it is a black pixel), the process returns to step S110.

スキャンした画素の画素情報が所定の画素条件を満たせば(白画素であれば)、当該画素をトレース開始点として抽出し、トレース開始点から再びトレース開始点に到達するまで順番に所定の画素条件を満たす画素情報をもつ画素(白画素)をトレースする(ステップS140)。次にトレースした各画素(各白画素)の座標値に基づき輪郭を抽出する(ステップS150)。次に抽出した輪郭の頂点を検出し、検出した頂点に基づき輪郭の軌跡の形状が所定の形状(長方形)であるか否か判定する。(ステップS160)、輪郭の軌跡の形状が所定の形状(長方形)でなければ、輪郭を構成する画素(トレースした白画素)の画素情報を所定の画素条件を満たす画素情報以外の画素情報(二値データ=0)に変更する処理を行い(ステップS170)、ステップS110に戻る。   If the pixel information of the scanned pixel satisfies a predetermined pixel condition (if it is a white pixel), the pixel is extracted as a trace start point, and the predetermined pixel condition is sequentially reached from the trace start point to the trace start point again. A pixel (white pixel) having pixel information that satisfies the above is traced (step S140). Next, a contour is extracted based on the coordinate value of each traced pixel (each white pixel) (step S150). Next, the vertex of the extracted contour is detected, and it is determined whether or not the shape of the contour locus is a predetermined shape (rectangle) based on the detected vertex. (Step S160) If the shape of the contour trajectory is not a predetermined shape (rectangular), the pixel information of the pixels constituting the contour (traced white pixels) other than the pixel information satisfying the predetermined pixel information (two Processing to change to value data = 0) is performed (step S170), and the process returns to step S110.

抽出した輪郭の軌跡の形状が所定の形状(長方形)であれば、輪郭の内部領域にある各画素に対応する二値データを認識対象画像として抽出する処理を行う(ステップS180)。   If the shape of the extracted contour locus is a predetermined shape (rectangular), a process of extracting binary data corresponding to each pixel in the inner region of the contour as a recognition target image is performed (step S180).

次に抽出した認識対象画像が、本実施の形態の2次元コードであればステップS190の処理を行う(ステップS182)。本実施の形態の2次元コードと判定するための判定条件を予め設定しておき、条件を満たせば本実施の形態の2次元コードであると判定してもよい。   Next, if the extracted recognition target image is the two-dimensional code of the present embodiment, the process of step S190 is performed (step S182). A determination condition for determining the two-dimensional code of the present embodiment may be set in advance, and if the condition is satisfied, the two-dimensional code of the present embodiment may be determined.

本実施の形態の2次元コードでなければ(ステップS182)、エラー補正を試みて(ステップS184)再び本実施の形態の2次元コードか否か判断し、本実施の形態の2次元コードであればステップS190の処理を行う(ステップS186)。本実施の形態の2次元コードでなければステップS170の処理を行う。   If it is not the two-dimensional code of this embodiment (step S182), error correction is attempted (step S184), and it is determined again whether or not it is the two-dimensional code of this embodiment. Step S190 is performed (Step S186). If it is not the two-dimensional code of this Embodiment, the process of step S170 will be performed.

本実施の形態の2次元コードか否かの判断やエラー補正は、例えば「4−4.認識対象画像の認識処理及びエラー補正処理」で説明するような手法を用いることができる。   For example, a method as described in “4-4. Recognition processing and error correction processing of recognition target image” can be used for determining whether or not the code is a two-dimensional code according to the present embodiment.

そして認識対象画像が本実施の形態の2次元コードであれば、抽出した認識対象画像からカードの識別番号、位置等を取得する処理を行う(ステップS190)。次に輪郭の内部領域にある各画素の画素情報を所定の画素条件を満たす画素情報以外の画素情報(二値データ=0)に変更する処理を行い(ステップS200)、ステップS110に戻る。そして全ての画素をスキャンした場合に処理を終了する。   If the recognition target image is the two-dimensional code of the present embodiment, a process of acquiring the card identification number, position, etc. from the extracted recognition target image is performed (step S190). Next, a process of changing the pixel information of each pixel in the inner region of the outline to pixel information (binary data = 0) other than the pixel information that satisfies a predetermined pixel condition is performed (step S200), and the process returns to step S110. Then, when all the pixels have been scanned, the process ends.

4−4.認識対象画像の認識処理及びエラー補正処理
本実施の形態では、認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点(例えば点配置予定位置)に対応する認識画像上の注目点対応位置を演算し、演算した注目点位置対応位置に基づき認識対象画像の画素情報を検出し、抽出された画素情報に基づき2次元コードに対応付けられた対応データを演算する。
4-4. Recognition processing of recognition target image and error correction processing In the present embodiment, a reference point corresponding position of a recognition target image is detected, and a point of interest (for example, a point arrangement scheduled) set in association with the reference point based on the reference point corresponding position The target point corresponding position on the recognition image corresponding to the position) is calculated, the pixel information of the recognition target image is detected based on the calculated target point position corresponding position, and is correlated with the two-dimensional code based on the extracted pixel information. Calculate the corresponding data.

図40〜図43は注目点画素情報検出処理について説明するための図である。K1’、K2’、K3’、K4’は認識対象画像400の基準点対応位置である。基準点は例えば2次元領域の四隅の頂点(図41のK1、K2、K3、K4)に設定するようにしてもよい。なお2次元領域が長方形(正方形も含む)の場合を長方形を構成する3頂点または2頂点(対角線上の頂点)で形状を特定することができるため基準点を3頂点または2頂点としてもよい。   40 to 43 are diagrams for explaining the attention point pixel information detection processing. K 1 ′, K 2 ′, K 3 ′, and K 4 ′ are reference point corresponding positions of the recognition target image 400. The reference points may be set, for example, at the four corner vertices (K1, K2, K3, K4 in FIG. 41) of the two-dimensional region. In the case where the two-dimensional region is a rectangle (including a square), the shape can be specified by three vertices or two vertices (vertical vertices) constituting the rectangle, so that the reference point may be three vertices or two vertices.

認識対象画像の基準点対応位置は枠線の外周のエッジ(頂点)E1、E2、E3、E4と枠の幅により決定するようにしてもよい。また枠線410の内周のエッジを検出し、それを基準点対応位置と決定してもよい。   The reference point corresponding position of the recognition target image may be determined by the outer peripheral edges (vertices) E1, E2, E3, E4 of the frame line and the frame width. Alternatively, an inner peripheral edge of the frame line 410 may be detected and determined as a reference point corresponding position.

ここで注目点をメインレイヤーの点配置予定位置(図41の250)とすることにより、ここに点が配置されているかいなかの情報を認識対象画像から取得することができる。   Here, by setting the point of interest as the point arrangement planned position (250 in FIG. 41) of the main layer, information on whether or not the point is arranged can be acquired from the recognition target image.

図41に示すように2次元領域におけるメインレイヤーの点配置予定位置250は、基準位置K1、K2、K3、K4に対しての相対位置が決まっている。   As shown in FIG. 41, the point arrangement planned position 250 of the main layer in the two-dimensional area is determined relative to the reference positions K1, K2, K3, and K4.

ここで図41のメインレイヤーの点配置予定位置であるセルS(2、2)の中心点をP、認識対象画像上の対応位置をP’とする。2次元画像上での点Pの基準点K1からの相対位置を(x、y)とし(図41参照)、認識対象画像上での点P’の基準点対応位置K1’からの相対位置を(x’、y’)とすると、下記の式が成り立つ。
x:x’=L:L’
y:y’=L:L’
Here, it is assumed that the center point of the cell S (2, 2), which is the planned point arrangement position of the main layer in FIG. The relative position of the point P on the two-dimensional image from the reference point K1 is (x, y) (see FIG. 41), and the relative position of the point P ′ on the recognition target image from the reference point corresponding position K1 ′ is If (x ′, y ′), the following equation is established.
x: x ′ = L: L ′
y: y ′ = L: L ′

従って2次元領域における基準位置間の距離Lと、認識対象画像における対応する基準点対応位置間の距離L’が求まれば、認識対象画像のメインレイヤーの点配置予定位置も求めることができる。   Therefore, if the distance L between the reference positions in the two-dimensional region and the distance L ′ between the corresponding positions corresponding to the reference points in the recognition target image are obtained, the point arrangement planned position of the main layer of the recognition target image can also be obtained.

例えば図40ではメインレイヤーの点配置予定位置であるセルS(2、2)の中心点をPの認識対象画像上の対応位置をP’の画素は白画素であるためセルS(2、2)には点が配置されていないことを検出することができる。   For example, in FIG. 40, the center point of the cell S (2, 2), which is the planned point arrangement position of the main layer, is the corresponding position on the P recognition target image. ) Can detect that no points are arranged.

同様の処理をメインレイヤーを構成するすべて点配置予定位置にたいして行うことにより、メインレイヤーに配置された2値データ列を求めることができる。   By performing the same processing for all the point arrangement planned positions constituting the main layer, the binary data string arranged in the main layer can be obtained.

そして求めた2値データ列を標準フィボナッチ表現とするデータを求めることで、2次元コードに対応付けられた対応データを求めることができる。   Then, by obtaining data having the obtained binary data string as a standard Fibonacci expression, correspondence data associated with the two-dimensional code can be obtained.

例えば図19に示すような標準フィボナッチ表現と10進数の対応テーブルを保持しておき、対応テーブルを参照して標準フィボナッチ表現に対応する10進数の対応データを求めるようにしてもよい。   For example, a standard Fibonacci expression and decimal number correspondence table as shown in FIG. 19 may be stored, and decimal number correspondence data corresponding to the standard Fibonacci expression may be obtained by referring to the correspondence table.

また本実施の形態では、認識対象画像から求めた2値データ列に基づき、予め設定された2値データ列配置条件に従って、2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って前記各点と結線対象となる点を繋ぐ結線シミュレーション処理を行い、認識対象画像から検出したサンプリングした点の結線状態と結線シミュレーション処理によって得られたサンプリングした点の結線状態とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   Further, in the present embodiment, points are arranged at the point arrangement reserved positions in the two-dimensional area according to preset binary data string arrangement conditions based on the binary data string obtained from the recognition target image and set in advance. A connection simulation process is performed to connect each point to the connection target point according to the connection condition, and the connection state of the sampled point detected from the recognition target image is compared with the connection state of the sampled point obtained by the connection simulation process. Thus, at least one of error detection and error correction may be performed.

すなわち、画像認識システムにも2次元コード生成を行う際の点の配置及び結線のアルゴリズムを持たせて、認識対象画像から得られた2値データ列に基づいて2次元領域に点を配置し、結線条件にしたがって結線する結線シミュレーション処理を行う。   That is, the image recognition system also has a point arrangement and connection algorithm when performing two-dimensional code generation, and arranges points in a two-dimensional area based on a binary data string obtained from a recognition target image, A connection simulation process for connecting according to the connection conditions is performed.

図42は結線シミュレーション処理によって、認識対象画像から得られた2値データ列に基づいて2次元領域に点を配置した状態を表す図である。図43は、認識対象画像である。ここでメインレイヤーのセルS(6,4)に配置された点とサブレイヤーのセルS(8,3)に配置された点に着目すると、この両点は、図27で説明した結線条件を満たすので線で繋がれる。そこで、線上の2点SP1、SP2をサンプリングして、SP1、SP2に対応する認識画像上の点SP1’SP2’の位置を求める。位置の求め方は図40、図41で説明した手法と同様である。そして認識対象画像から求めた位置に対応する画素情報を検出して、検出した画素情報が線の存在を示しているかいなか(例えば黒画素であるかいなか)を判定することにより結線状態の比較を行うようにしてもよい。   FIG. 42 is a diagram illustrating a state in which points are arranged in a two-dimensional area based on a binary data string obtained from a recognition target image by a connection simulation process. FIG. 43 shows a recognition target image. When attention is paid to the point arranged in the cell S (6, 4) of the main layer and the point arranged in the cell S (8, 3) of the sublayer, the two points satisfy the connection conditions described in FIG. Since it meets, it is connected with a line. Therefore, the two points SP1 and SP2 on the line are sampled, and the position of the point SP1'SP2 'on the recognition image corresponding to SP1 and SP2 is obtained. The method of obtaining the position is the same as the method described with reference to FIGS. Then, the pixel information corresponding to the position obtained from the recognition target image is detected, and it is determined whether or not the detected pixel information indicates the presence of a line (for example, whether the pixel is a black pixel). You may make it perform.

エラーがでる原因としては、偽造カードである場合と、ノイズ等による画像認識ミスによる場合が考えられる。   Possible causes of errors include a forged card and an image recognition error due to noise or the like.

比較結果によりエラーが検出された場合には、エラーとして認識を中止してもよいし、エラー補正を行うようにしてもよい。   When an error is detected based on the comparison result, recognition as an error may be stopped, or error correction may be performed.

例えばエラーの原因が偽造カードである場合には、エラー補正する必要がないので、エラーとして認識を中止することで偽造カードの使用ができないようにすることもできる。   For example, when the cause of the error is a counterfeit card, there is no need to correct the error, so that the counterfeit card cannot be used by stopping the recognition as an error.

またエラーの原因がノイズ等による画像認識ミスである場合には、エラーがでなくなるまで石の位置を変更して結線シミュレーション処理を行うことで、エラー補正を行うことができる。   If the cause of the error is an image recognition error due to noise or the like, error correction can be performed by changing the position of the stone and performing a connection simulation process until the error disappears.

また本実施の形態では、認識対象画像から求めた2値データ列に対して、標準フィボナッチ表現で表される2値データ列の条件に基づきエラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   In this embodiment, at least one of error detection and error correction is performed on the binary data sequence obtained from the recognition target image based on the condition of the binary data sequence expressed in standard Fibonacci expression. Also good.

例えば標準フィボナッチ表現は、データ列において1が隣り合うことがない。従って、メインレイヤーの点配置予約位置に連続して点が配置されている場合にはエラーであると判定することができる。   For example, in the standard Fibonacci representation, 1s are not adjacent in the data string. Accordingly, it is possible to determine that an error has occurred when dots are continuously arranged at the point arrangement reserved positions of the main layer.

この場合にも、エラーとして認識を中止してもよいし、エラー補正を行うようにしてもよい。   Also in this case, recognition as an error may be stopped, or error correction may be performed.

例えばエラーの原因が偽造カードである場合には、エラー補正する必要がないので、エラーとして認識を中止することで偽造カードの使用ができないようにすることもできる。   For example, when the cause of the error is a counterfeit card, there is no need to correct the error, so that the counterfeit card cannot be used by stopping the recognition as an error.

またエラーの原因がノイズ等による画像認識ミスである場合には、標準フィボナッチ表現で表される2値データ列の条件に基づき石の位置を変更して、エラー補正を行うことができる。   If the cause of the error is an image recognition error due to noise or the like, the error correction can be performed by changing the position of the stone based on the condition of the binary data string represented by the standard Fibonacci expression.

また2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するシミュレーション処理を行い、認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   In addition, a simulation process is performed in which dummy points are placed under preset dummy point placement conditions at a point placement reserved position belonging to a sub-layer set other than the main layer of the two-dimensional region, and sampling detected from the recognition target image is performed. The position of the dummy point and the position of the dummy point obtained by the dummy point simulation process may be compared to perform at least one of error detection and error correction.

サブレイヤーへのダミー点の配置は、メインレイヤーやパリティレイヤーの点の配置に関係した配置条件に従って配置される場合でもよいし、メインレイヤーやパリティレイヤーの点の配置とは無関係な規則や条件に従って配置される場合でもよい。   The placement of dummy points in the sublayer may be in accordance with the placement conditions related to the placement of points in the main layer and parity layer, or in accordance with rules and conditions unrelated to the placement of points in the main layer and parity layer. It may be arranged.

前者の場合には認識対象画像から求めた2値データ列に基づいて、メインレイヤーやパリティレイヤーへの点の配置のシミュレーションを行ってから、サブレイヤーへのダミーの点の配置シミュレーションを行うようにしてもよい。   In the former case, based on the binary data sequence obtained from the recognition target image, a point placement simulation on the main layer and parity layer is performed, and then a dummy point placement simulation on the sublayer is performed. May be.

そしてダミー点シミュレーション処理によって得られたダミー点に対応する認識対象画像上の位置を求めて、認識対象画像から求めた位置に対応する画素情報を検出して、検出した画素情報がダミー点の存在を示しているかいなか(例えば黒画素であるかいなか)を判定することによりエラー検出やエラー補正を行うようにしてもよい。   Then, a position on the recognition target image corresponding to the dummy point obtained by the dummy point simulation processing is obtained, pixel information corresponding to the position obtained from the recognition target image is detected, and the detected pixel information is the presence of the dummy point. Error detection or error correction may be performed by determining whether or not the error is indicated (for example, whether the pixel is a black pixel).

図44は、本実施の形態の認識対象画像の認識処理及びエラー補正処理の流れについて説明するためのフローチャートである。   FIG. 44 is a flow chart for explaining the flow of recognition target image recognition processing and error correction processing according to the present embodiment.

まず認識対象画像の基準点対応位置を検出する(ステップS310)。   First, the reference point corresponding position of the recognition target image is detected (step S310).

次に、基準点対応位置に基づき基準点に関連づけて設定されているメインレイヤーに属する点配置予定位置に対応する認識画像上の点配置予定位置を演算する(ステップS320)。   Next, the point arrangement planned position on the recognition image corresponding to the point arrangement planned position belonging to the main layer set in association with the reference point based on the reference point corresponding position is calculated (step S320).

次に、演算した点配置予定位置に基づき認識対象画像の画素情報を検出する(ステップS330)。   Next, pixel information of the recognition target image is detected based on the calculated point arrangement planned position (step S330).

次に、検出された画素情報に基づき2値データ列を求める(ステップS340)。   Next, a binary data string is obtained based on the detected pixel information (step S340).

次に求めた2値データ列について標準フィボナッチ表現で表される2値データ列の条件に基づきエラーの検出及びエラー補正の少なくとも一方を行う(ステップS350)。   Next, at least one of error detection and error correction is performed based on the condition of the binary data string represented by standard Fibonacci expression for the obtained binary data string (step S350).

次に、2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するシミュレーション処理を行う(ステップS360)。   Next, a simulation process is performed in which dummy points are placed under preset dummy point placement conditions at point placement reserved positions belonging to sublayers set other than the main layer of the two-dimensional region (step S360).

次に認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行う(ステップS370)。   Next, the position of the sampled dummy point detected from the recognition target image is compared with the position of the dummy point obtained by the dummy point simulation process, and at least one of error detection and error correction is performed (step S370).

次に求めた2値データ列に基づき、予め設定された2値データ列配置条件に従って、2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って前記各点と結線対象となる点を繋ぐ結線シミュレーション処理を行う(ステップS380)。   Next, based on the obtained binary data string, a point is arranged at a point arrangement reserved position in the two-dimensional area according to a preset binary data string arrangement condition, and each of the points and a connection target are arranged according to a preset connection condition. A connection simulation process for connecting the points is performed (step S380).

次に認識対象画像から検出したサンプリングした点の結線状態と結線シミュレーション処理によって得られたサンプリングした点の結線状態とを比較して、エラーの検出及びエラー補正の少なくとも一方を行う(ステップS390)。   Next, the connection state of the sampled points detected from the recognition target image is compared with the connection state of the sampled points obtained by the connection simulation process, and at least one of error detection and error correction is performed (step S390).

なお上記ステップのすべて行う必要はなく、後述認識レベルに応じて適宜省略することができる。   It is not necessary to perform all of the above steps, and can be omitted as appropriate according to the recognition level described later.

4−5.2次元コードの認識レベル
本実施の形態の2次元コードは、その認識の深さにおいてスケーラブルである。表面的な部分のみを見ることにより低性能だが高速に実現することができ、深い部分まで見れば高性能だが低速に実現することができる。入力画像の画質も、前者ならば低画質でも動作するが、後者になるほど高画質を要求されるようになる。どのレベルの実装を利用するかは、用途やコストなどを考慮した上で総合的に判断するようにしてもよい。
4-5. Recognition Level of Two-Dimensional Code The two-dimensional code of the present embodiment is scalable in its recognition depth. By looking only at the superficial part, it can be realized at low speed but at high speed, and it can be realized at high speed but at low speed by looking at the deep part. The image quality of the input image can be reduced even if it is the former, but the higher the image quality, the more the latter is required. The level of implementation to be used may be comprehensively determined in consideration of usage and cost.

なお、以下に述べる「セキュリティレベル」とは「切り貼り偽造」に対する強さを示している。   The “security level” described below indicates the strength against “cut and paste forgery”.

レベル1:メイン・レイヤーの「石」の情報のみを用いる。   Level 1: Use only “Stone” information in the main layer.

認識対象となる画像の条件(つまり、画質)が劣悪な場合でも、何とかIDは取得できる。しかし、エラーチェックは最低限のものしか実行されない(具体的には「標準フィボナッチ表現か否か」程度)。また、セキュリティレベルも下がるので、実際には限定した条件下で利用するのが望ましい。   Even if the condition (that is, the image quality) of the image to be recognized is poor, the ID can be acquired somehow. However, only a minimum error check is executed (specifically, “whether it is standard Fibonacci expression”). In addition, since the security level is also lowered, it is actually desirable to use it under limited conditions.

レベル2:レベル1に加え、パリティ・レイヤーの「石」の情報も用いる。   Level 2: In addition to Level 1, parity layer “stone” information is also used.

メイン・レイヤー上にやや大きなノイズが乗っていた場合でも検出できる可能性が高くなる。ただし、セキュリティレベルは、レベル1と同程度。   Even if a little loud noise is on the main layer, the possibility of detection is increased. However, the security level is about the same as level 1.

レベル3:レベル2に加え、サブ・レイヤーの「石」の情報も用いる。   Level 3: In addition to level 2, sub-layer “stone” information is also used.

ID検出については、エラー検出も含め、問題ないレベルになる。セキュリティレベルは、中程度。   ID detection is at a level that does not cause any problems, including error detection. Medium security level.

レベル4:レベル3に加え、各「橋」上から数点をサンプリングし、「石」間の結線情報も取得・検証する。   Level 4: In addition to Level 3, sample several points from each “bridge” and acquire / verify connection information between “stones”.

セキュリティレベル的には、実用上、まず問題になることはない。処理速度とID検出・セキュリティレベルのバランスが良い。   In terms of security level, there is no practical problem. Good balance between processing speed and ID detection / security level.

レベル5:「橋」の形状全体を見る。   Level 5: View the entire shape of the “bridge”.

最高のセキュリティレベル。ただし、2次元画像として細部まで検証(標準パタンと比較)することになるため、処理が重くなる。   The highest security level. However, since the details are verified as a two-dimensional image (compared with a standard pattern), the processing becomes heavy.

具体的には、「橋のエッジ」を照合する方法(境界部分のみを見る)と、「橋を作るピクセルの有無」を照合する方法(カード全体を見る)に大別できる。いずれも、橋の作る線の連続性も全て調べることになるので、事実上、切り貼り偽造は不可能である。   Specifically, it can be broadly divided into a method of collating “the edge of the bridge” (see only the boundary portion) and a method of collating “the presence / absence of pixels that form the bridge” (see the entire card). In any case, since all the continuity of the line made by the bridge will be examined, it is virtually impossible to forge and paste.

図45は、2次元コードの認識レベルの比較表である。   FIG. 45 is a comparison table of two-dimensional code recognition levels.

4−6.ピクセル単位のエラー訂正(前処理)
もともと「橋」自体に太さがあるので、まずこの時点で「橋」の上に乗っているピクセル単位の小さなノイズは、除去できる(もちろん、「橋」以外の部分のノイズも薄めることができる)。
4-6. Error correction in pixel units (pre-processing)
Originally, the “bridge” itself has a thickness, so at this point, you can remove the small pixel-level noise on the “bridge” at this point. (Of course, you can also diminish the noise other than the “bridge”.) ).

具体的には、周囲のピクセルを参照すれば良い(例:「ぼかしフィルター」を掛ける等)。   Specifically, surrounding pixels may be referred to (for example, “blur filter” is applied).

なお、低画素数のカメラや低画質のレンズであれば、光学的に「ぼかしフィルター」が掛かった状態になるので、光速でノイズを除去できる。   If the camera has a low pixel count or a low quality lens, it will be optically "blurred filter", so noise can be removed at the speed of light.

4−7.2次元コードにおけるエラー訂正について(本処理)
例えば、標準フィボナッチ表現の性質により、横方向についてはメイン・レイヤーの「石」の間には必ず1以上の(3マス以上の)隙間があるはずなので、もし隙間が無かった場合には、何らかの問題が発生していることを検出できる(許容量以上のパースが掛かっている=つまりカードの一部が浮いて傾いているか、大きなノイズか、偽造カードか…)。
4-7. Error correction in 2D code (this processing)
For example, due to the nature of the standard Fibonacci expression, there must be at least one gap (3 squares or more) between the “stones” of the main layer in the horizontal direction. If there is no gap, You can detect that a problem has occurred (the parsing is more than the permissible amount = that part of the card is floating, tilting, loud noise, counterfeit card ...).

この場合、1以上の(3マス以上の)隙間を確保できる位置までメイン・レイヤーの「石」を仮に(内部処理的に)動かしたり、または「石」を排除することで、その際の周囲のサブ・レイヤーの「石」やパリティ・レイヤーの「石」(もちろん、それらとの間に架けられた「橋」の情報も用いる)との合致度(現実の入力画像とシミュレーションとの合致度)を調べ、最も誤差が少ない配置をエラー補正後の認識結果として返すことになる。通常の場合、うまく補正できれば、誤差はゼロまたは限りなくゼロに近付く。逆に、多少の補正では誤差が閾値以下にならない場合は、撮像システムのトラブルか切り貼りによる偽造カードなどの可能性が高い。   In this case, move the “stone” of the main layer to a position where one or more gaps (3 squares or more) can be secured, or remove the “stones” temporarily by moving the “stone” in the main layer. The degree of agreement with the sub-layer “stone” and parity layer “stone” (of course, information on the “bridge” between them) is also used. ) And the arrangement with the least error is returned as the recognition result after error correction. In normal cases, if it can be corrected well, the error will be zero or approach zero. On the other hand, if the error does not fall below the threshold value with some corrections, there is a high possibility that the imaging system is troubled or a forged card is cut and pasted.

もちろん、この補正方法は、上の例のような標準フィボナッチ表現の性質により検出されたエラーだけではなく、メイン・レイヤー、サブ・レイヤー、パリティ・レイヤーのすべての「石」と「橋」(または、「石」や「橋」が置かれていない部分)の白黒反転(ノイズ等により白黒反転してしまった場合)についても有効である。   Of course, this correction method not only detects errors due to the nature of the standard Fibonacci representation as in the example above, but also all the “stones” and “bridges” (or bridges) in the main layer, sub layer, and parity layer (or This is also effective for black-and-white reversal (where black and white are reversed due to noise or the like) of “stone” or “bridge”.

ちなみに、ここでのポイントは「本2次元コードのデコードを行う実装上にも、エンコードのためのルーチンを内蔵しておき、必要に応じてシミュレーションする(そして、誤差最少を目指す)」ということである。言い換えれば、この2次元コードを構成する「橋」の集合体の形状全体を用いた、総力戦によるエラー訂正とも言える。1つの「石」の有無が、周囲およびパリティに大きく影響を与えるため、局部に依存しない(連鎖反応的に周囲に影響を与える)。   By the way, the point here is that the routine for encoding is built in the implementation that decodes this two-dimensional code, and the simulation is performed if necessary (and aiming at the minimum error). is there. In other words, it can be said to be error correction by total war, using the entire shape of the aggregate of “bridges” constituting this two-dimensional code. The presence or absence of one “stone” greatly affects the surroundings and parity, so it does not depend on the local area (which affects the surroundings in a chain reaction).

4−8.姉妹IDとカードの向き
本実施の形態では2値データ列の値と認識対象画像の向きの関係に関する向き判定情報を記憶し、求めた2値データ列と前記向き判定情報に基づき認識対象画像の向きを判定する処理を行う。
4-8. Sister ID and card orientation In this embodiment, orientation determination information relating to the relationship between the value of the binary data string and the orientation of the recognition target image is stored, and the recognition target image is identified based on the obtained binary data string and the orientation determination information. Processing to determine the direction is performed.

向き判定情報として読み取り対象となる姉妹ID(正方向に認識した場合の正方向IDと逆方向に認識した場合の逆方向ID)と向きの関係を保持しておき、認識したデータがどちらにあたるかで向きを決定する。例えば求めたデータが逆方向IDであれば、カードの向きが逆方向であると判断してもよい。   It holds the relationship between the sister ID (the forward direction ID when recognized in the forward direction and the backward direction ID when recognized in the reverse direction) and the orientation as the direction determination information, and which is the recognized data? To determine the direction. For example, if the obtained data is the reverse direction ID, it may be determined that the direction of the card is the reverse direction.

また向き判定情報として、姉妹IDについて正方向IDの取り得る条件(例えば範囲)負方向IDの取り得る条件を記憶させておき、認識したデータがどちらの条件を満たすかで、向きを判定するようにしてもよい。   Further, as the direction determination information, conditions that can be taken by the positive direction ID (for example, range) for the sister ID are stored, and the conditions that can be taken by the negative direction ID are stored, and the direction is determined depending on which condition the recognized data satisfies. It may be.

姉妹IDは特に本実施の形態の2次元コードを印刷したカードをカードゲーム機などに応用する場合に用いることができる。一般に2次元コードは正位置から読んだ場合と逆位置から読んだ場合で2種類のIDを持つが、この時、正位置のIDから見た逆位置のID(または、その逆)を「姉妹ID」と呼ぶ。正位置のIDが決まれば逆位置のIDも一意に決定する(もちろん、その逆も真)。実用上のメリットとしては、カードの向きを知る上で重要な情報となることや、正位置・逆位置両方でカードの認識を行い認識の精度を高める(冗長性を持たせる)ことなどが挙げられる。純粋に算術論理演算のみで、正位置のIDと逆位置のIDを相互に高速に変換できる。   The sister ID can be used particularly when the card printed with the two-dimensional code of this embodiment is applied to a card game machine or the like. In general, a two-dimensional code has two types of IDs when it is read from the normal position and when it is read from the reverse position. At this time, the ID of the reverse position as viewed from the normal position ID (or vice versa) is set to “sister. Called “ID”. If the ID of the normal position is determined, the ID of the reverse position is also uniquely determined (of course, the reverse is also true). Practical merits include that it is important information for knowing the card orientation, and that the card is recognized at both the forward and reverse positions to increase the recognition accuracy (redundancy). It is done. The ID at the normal position and the ID at the reverse position can be converted to each other at high speed by purely arithmetic logic operation.

なお、正位置のIDのみで逆位置のIDを持たないものもあるが、これを「姉妹IDを持たない」という。これは例えば、7fitの場合、"32"(1010100)を使用していないことに起因する。   Note that there are some that have only the forward position ID and no reverse position ID, but this is referred to as “no sister ID”. This is because, for example, in the case of 7fit, “32” (1010100) is not used.

ちなみに、認識エンジンが正位置のIDを持つカードしか検出しないように実装することも可能である。この場合、「カードが正位置の場合にのみ、筐体のテーブル上に存在する」という扱いにできる。同じカードの上下をひっくり返して逆位置にすると「カードが消える」のである(スイッチの様に使える)。もちろん、姉妹IDを持つカードでも同様の効果は得られるので、全てのカードの位置と回転角を常に把握しておきたいならば、姉妹IDを持つカードのみで構成するようにしてもよい。   Incidentally, it is possible to mount so that the recognition engine detects only the card having the ID of the normal position. In this case, it can be handled that “the card exists on the table of the housing only when the card is in the normal position”. If you flip the same card upside down and put it in the opposite position, the card will disappear (use like a switch). Of course, the same effect can be obtained with a card having a sister ID. Therefore, if it is desired to keep track of the positions and rotation angles of all the cards, the card may be composed only of cards having a sister ID.

5.画像認識装置
図1に本実施形態の画像認識装置を適用したゲームシステムの機能ブロック図の例を示す。なお本実施形態のゲーム装置は図1の構成要素(各部)の一部を省略した構成としてもよい。
5. Image Recognition Device FIG. 1 shows an example of a functional block diagram of a game system to which the image recognition device of this embodiment is applied. Note that the game device of this embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

撮像部150は、認識対象物を撮像するためのものであり、その機能は撮像素子としてCCDが用いられたカメラなどにより実現できる。また撮像部150は、撮像範囲の各座標の画素に対応するグレースケールの階調データ(画素情報)の集合である画像データを処理部100に出力する処理を行う。   The imaging unit 150 is for imaging a recognition object, and the function can be realized by a camera using a CCD as an imaging element. In addition, the imaging unit 150 performs a process of outputting image data, which is a set of grayscale gradation data (pixel information) corresponding to pixels of each coordinate in the imaging range, to the processing unit 100.

操作部160は、プレイヤーが操作データを入力するためのものであり、その機能は、レバー、方向指示キー、或いはボタンなどにより実現できる。   The operation unit 160 is for a player to input operation data, and the function can be realized by a lever, a direction instruction key, a button, or the like.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、メモリーカード、ハードディスク、或いはメモリー(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and the function can be realized by an optical disk (CD, DVD), a memory card, a hard disk, a memory (ROM), or the like. . The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit).

ディスプレイ190は、本実施形態により生成された画像を表示出力するためのものである。   The display 190 is for displaying and outputting an image generated according to the present embodiment.

音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置194は、プレイヤーの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲームシステムなどがある。   The portable information storage device 194 stores player personal data, game save data, and the like. Examples of the portable information storage device 194 include a memory card and a portable game system.

通信部196は外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other game system), and functions thereof include hardware such as various processors or communication ASICs, programs, and the like. Can be realized.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and communication unit 196. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム演算処理、画像生成処理、或いは音生成処理などを行う。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs game calculation processing, image generation processing, sound generation processing, and the like based on operation data from the operation unit 160, a program, and the like. The processing unit 100 performs various processes using the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、ゲーム演算部110、画像生成部140、音生成部142を含む。   The processing unit 100 includes a game calculation unit 110, an image generation unit 140, and a sound generation unit 142.

ゲーム演算部110は、ゲーム画像やゲーム音を生成するためのゲーム演算処理を行う。ここでゲーム演算処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームプレイにより変化するゲームパラメータを演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   The game calculation unit 110 performs game calculation processing for generating game images and game sounds. Here, as the game calculation process, a process for determining the game content and game mode, a process for starting the game when the game start condition is satisfied, a process for proceeding with the game, and a game parameter that changes depending on the game play are calculated. There is a process or a process of ending a game when a game end condition is satisfied.

ゲーム演算部110は、画像認識部120を含む。画像認識部120は、撮像部150によって出力される画像データからカードの模様部分に対応する画像データを認識対象画像として抽出し、抽出した認識対象画像から撮像されたカードの識別情報や位置等を取得する処理を行う。そしてゲーム演算部110は、取得したカードの識別情報や位置情報等に基づきゲーム演算を行う。   The game calculation unit 110 includes an image recognition unit 120. The image recognizing unit 120 extracts image data corresponding to the pattern portion of the card from the image data output by the image capturing unit 150 as a recognition target image, and identifies identification information and position of the card imaged from the extracted recognition target image. Perform the acquisition process. And the game calculation part 110 performs game calculation based on the identification information, position information, etc. of the acquired card | curd.

画像認識部120は、微分処理部121、ぼかし処理部122、二値化処理部123、輪郭抽出部125、輪郭判定部126、画素情報変更部127、認識対象画像抽出部128、注目点画素情報検出部130,対応データ演算部132、シミュレーション処理部134、エラー検出・補正処理部136、向き判定部138を含む。   The image recognition unit 120 includes a differentiation processing unit 121, a blur processing unit 122, a binarization processing unit 123, a contour extraction unit 125, a contour determination unit 126, a pixel information change unit 127, a recognition target image extraction unit 128, and target pixel information. A detection unit 130, a corresponding data calculation unit 132, a simulation processing unit 134, an error detection / correction processing unit 136, and a direction determination unit 138 are included.

微分処理部121は、撮像部150から出力される画像データに対して、着目画素とその周囲の画素の階調データ(画素情報)を用いた2次微分処理を行う。   The differential processing unit 121 performs secondary differential processing using the gradation data (pixel information) of the pixel of interest and surrounding pixels on the image data output from the imaging unit 150.

ぼかし処理部122は、微分処理部121によって2次微分処理が行われた2次微分データに対して、着目画素とその周囲の画素の2次微分データを用いたぼかし処理を行う。   The blurring processing unit 122 performs blurring processing on the secondary differential data that has been subjected to the secondary differential processing by the differential processing unit 121, using the secondary differential data of the pixel of interest and its surrounding pixels.

二値化処理部123は、ぼかし処理部122から出力される新たな2次微分データを所定の閾値STHと比較することにより、二値データに変換する。2次微分データ>STHの場合には、二値データ=1に設定される。また、2次微分データ≦STHの場合には、二値データ=0に設定される。   The binarization processing unit 123 converts the new secondary differential data output from the blurring processing unit 122 into binary data by comparing it with a predetermined threshold value STH. When secondary differential data> STH, binary data = 1 is set. When secondary differential data ≦ STH, binary data = 0 is set.

尚、ぼかし処理部122から出力される新たな2次微分データについて、符号なし整数へ型変換(キャスト)を行って上記二値化処理を行ってもよい。符号なし整数への型変換を行うことにより、新たな2次微分データのマイナス値をプラスの最大値付近にすることができ、二値化処理後の画像のコントラストを高めることができる。   Note that the new binarized data output from the blurring processing unit 122 may be subjected to the above binarization processing by performing type conversion (cast) to an unsigned integer. By performing type conversion to an unsigned integer, the negative value of the new secondary differential data can be made near the maximum positive value, and the contrast of the image after binarization processing can be increased.

輪郭抽出部125は、二値化画像を構成する各画素を所定の順番でスキャンして最初に到達する白画素を検出し、この白画素に隣接する他の白画素を最初の白画素に戻ってくるまで順番に辿る(トレースする)ことにより、隣接する白画素からなる画素群の輪郭を抽出する処理を行う。   The contour extraction unit 125 scans each pixel constituting the binarized image in a predetermined order to detect the first white pixel that reaches first, and returns other white pixels adjacent to the white pixel to the first white pixel. The process of extracting the outline of the pixel group consisting of adjacent white pixels is performed by tracing (tracing) in order until it comes.

認識対象画像抽出部128は、輪郭判定部126によって輪郭の軌跡の形状が長方形であると判定された場合に、当該輪郭の内部領域にある各画素に対応する二値データを認識対象画像として抽出する処理を行う。   When the contour determination unit 126 determines that the shape of the contour locus is a rectangle, the recognition target image extraction unit 128 extracts binary data corresponding to each pixel in the inner region of the contour as a recognition target image. Perform the process.

画素情報変更部127は、輪郭判定部126によって輪郭の軌跡の形状が長方形でないと判定された場合に、当該輪郭を構成する各白画素を黒画素に変更する処理を行う。ここで黒画素への変更は、輪郭抽出部125が順番に辿った各白画素に対応する二値データを0に設定することにより行う。   When the contour determining unit 126 determines that the shape of the contour locus is not rectangular, the pixel information changing unit 127 performs a process of changing each white pixel constituting the contour to a black pixel. Here, the change to the black pixel is performed by setting the binary data corresponding to each white pixel traced in order by the contour extraction unit 125 to 0.

また画素情報変更部127は、認識対象画像抽出部128によって輪郭の内部領域にある各画素の二値データの抽出が行われた場合に、当該輪郭の内部領域にある各画素を黒画素に変更する処理を行う。例えば、図14に示すように輪郭を構成する各白座標のX座標の最小値Xminと最大値Xmaxと、Y座標の最小値Yminと最大値Ymaxを抽出し、YminからYmaxまでの各Y座標について、対応するXminからXmaxまでの各画素に対応する二値データを0に設定する。   Further, the pixel information changing unit 127 changes each pixel in the inner area of the contour to a black pixel when the recognition target image extracting unit 128 extracts binary data of each pixel in the inner area of the contour. Perform the process. For example, as shown in FIG. 14, the minimum value Xmin and the maximum value Xmax of the X coordinate of each white coordinate constituting the contour, the minimum value Ymin and the maximum value Ymax of the Y coordinate are extracted, and each Y coordinate from Ymin to Ymax is extracted. , The binary data corresponding to each pixel from the corresponding Xmin to Xmax is set to 0.

注目点画素情報検出部130は、認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点(例えば点配置予定位置)に対応する認識画像上の注目点対応位置を演算し、演算した注目点位置対応位置に基づき認識対象画像の画素情報を検出する処理を行う。   The point-of-interest pixel information detection unit 130 detects a reference point corresponding position of the recognition target image, and recognizes an image corresponding to a point of interest (for example, a point arrangement planned position) set in association with the reference point based on the reference point corresponding position. The upper attention point corresponding position is calculated, and the pixel information of the recognition target image is detected based on the calculated attention point position corresponding position.

対応データ演算部132は、注目点画素情報検出部130によって検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する処理を行う。   The correspondence data calculation unit 132 performs processing for calculating the correspondence data associated with the two-dimensional code based on the pixel information detected by the attention point pixel information detection unit 130.

注目点画素情報検出部130は、メインレイヤーに属する点配置予定位置を注目点として、注目点対応位置として認識画像上の点配置予定位置を演算し、演算した点配置予定位置に基づき認識対象画像の画素情報を検出し、対応データ演算部132、検出された画素情報に基づき2値データ列を求め、求めた2値データ列に一義的に対応付けられた所与のデータを対応データとして求めるようにしてもよい。   The point-of-interest pixel information detection unit 130 calculates the point arrangement planned position on the recognition image as the point-of-interest corresponding position using the point arrangement planned position belonging to the main layer as the point of interest, and the recognition target image based on the calculated point arrangement planned position Pixel information is detected, and the corresponding data calculation unit 132 obtains a binary data string based on the detected pixel information, and obtains given data uniquely associated with the obtained binary data string as corresponding data. You may do it.

シミュレーション処理部134は、対応データ演算部132によって演算された2値データ列に基づき、予め設定された2値データ列配置条件に従って、2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って前記各点と結線対象となる点を繋ぐ結線シミュレーション処理を行うようにしてもよい。   Based on the binary data sequence calculated by the corresponding data calculation unit 132, the simulation processing unit 134 arranges points at the point arrangement reserved positions in the two-dimensional area according to preset binary data sequence arrangement conditions, and sets them in advance. A connection simulation process for connecting each point and a point to be connected may be performed in accordance with the connected condition.

シミュレーション処理部134は、2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するダミー点シミュレーション処理を行うようにしてもよい。   The simulation processing unit 134 performs a dummy point simulation process in which dummy points are arranged in a preset dummy point arrangement condition at a point arrangement reserved position belonging to a sublayer set other than the main layer of the two-dimensional area. May be.

エラー検出・補正処理部136は、認識対象画像から検出したサンプリングした点の結線状態と結線シミュレーション処理によって得られたサンプリングした点の結線状態とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   The error detection / correction processing unit 136 compares the connection state of the sampled points detected from the recognition target image with the connection state of the sampled points obtained by the connection simulation process, and detects at least one of error detection and error correction. May be performed.

エラー検出・補正処理部136は、対応データ演算部132によって演算された2値データ列に対して、標準フィボナッチ表現で表される2値データ列の条件に基づきエラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   The error detection / correction processing unit 136 performs at least one of error detection and error correction on the binary data string calculated by the corresponding data calculation unit 132 based on the condition of the binary data string expressed in standard Fibonacci expression. May be performed.

エラー検出・補正処理部136は、認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うようにしてもよい。   The error detection / correction processing unit 136 compares the sampled dummy point position detected from the recognition target image with the dummy point position obtained by the dummy point simulation process, and performs at least one of error detection and error correction. You may make it perform.

向き判定部138は、対応データ演算部132によって演算された2値データ列と前記向き判定情報に基づき認識対象画像の向きを判定する処理を行う。   The orientation determination unit 138 performs processing for determining the orientation of the recognition target image based on the binary data sequence calculated by the corresponding data calculation unit 132 and the orientation determination information.

画像生成部140は、処理部100で行われる種々の処理(ゲーム処理、画像認識処理)の結果に基づいて描画処理を行い、ディスプレイ190に出力する。この場合、画像生成部130が生成する画像は、いわゆる2次元画像であってもよいし、3次元画像であってもよい。   The image generation unit 140 performs drawing processing based on the results of various processing (game processing and image recognition processing) performed by the processing unit 100 and outputs the result to the display 190. In this case, the image generated by the image generation unit 130 may be a so-called two-dimensional image or a three-dimensional image.

音生成部142は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 142 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings.

上記実施の形態では、2次元領域に配置された点が線でつながれた構成の2次元コードやその生成方法及び認識方法を例にとり説明したがこれに限られない。   In the above-described embodiment, the two-dimensional code having a configuration in which the points arranged in the two-dimensional region are connected by lines, and the generation method and the recognition method thereof are described as examples, but the present invention is not limited thereto.

例えば所与のデータが2次元画像としてコード化された2次元コードであって、所与のデータに一義的に対応付けられた2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点と、2次元領域のメインレイヤー以外に属する点配置予約位置に配置されたダミーの点と、を画像構成要素に含み、前記点に所与のパタンを与えて2次元画像化された2次元コードやその生成方法及び認識方法も本発明の範囲内である。   For example, given data is a two-dimensional code encoded as a two-dimensional image, and based on a binary data string uniquely associated with the given data, the main layer set in the two-dimensional area An image component includes a point arranged at a point arrangement reserved position to which it belongs and a dummy point arranged at a point arrangement reserved position belonging to other than the main layer of the two-dimensional area, and gives a given pattern to the point. A two-dimensional code that has been converted into a two-dimensional image and a method for generating and recognizing the same are also within the scope of the present invention.

本実施形態の画像認識装置を適用したゲームシステムの機能ブロック図の例。The example of the functional block diagram of the game system to which the image recognition apparatus of this embodiment is applied. 撮像部による認識対象物の撮像について説明するための図。The figure for demonstrating imaging of the recognition target object by an imaging part. 2次微分処理を行う際に用いられる3×3の2次微分オペレータの具体例。A specific example of a 3 × 3 secondary differential operator used when performing secondary differential processing. ぼかし処理において用いられるぼかしフィルタの具体例。A specific example of a blur filter used in blur processing. 微分処理部、ぼかし処理部、二値化処理部による処理の内容を説明するための図。The figure for demonstrating the content of the process by a differentiation process part, a blurring process part, and a binarization process part. 二値化処理が行われた画像(二値化画像)の具体例。A specific example of a binarized image (binarized image). 輪郭抽出処理の具体例。A specific example of contour extraction processing. 輪郭抽出処理において次の白画素を決定する手法を説明するための図。The figure for demonstrating the method of determining the next white pixel in an outline extraction process. 輪郭抽出処理の流れについて説明するための図。The figure for demonstrating the flow of an outline extraction process. 輪郭抽出処理の流れについて説明するための図。The figure for demonstrating the flow of an outline extraction process. 輪郭抽出処理の流れについて説明するための図。The figure for demonstrating the flow of an outline extraction process. 輪郭抽出処理の流れについて説明するための図。The figure for demonstrating the flow of an outline extraction process. 輪郭に沿って移動する部分画素列の具体例。The specific example of the partial pixel row | line | column which moves along an outline. 画素情報変更処理の具体例。A specific example of pixel information change processing. 本実施形態の処理の一例について説明するためのフローチャート図。The flowchart for demonstrating an example of the process of this embodiment. 図16(A)〜(C)は、本実施の形態の2次元コードの一例。FIGS. 16A to 16C are examples of the two-dimensional code of the present embodiment. 図17(A)(B)は、本実施の形態の簡易版の2次元コードの一例。FIGS. 17A and 17B are examples of a simplified two-dimensional code according to the present embodiment. 2次元コードの生成の処理の流れを示すフローチャート。The flowchart which shows the flow of a production | generation process of a two-dimensional code. 10進数・2進数・標準フィボナッチ表現の対応表である。It is a correspondence table of decimal number, binary number, and standard Fibonacci expression. 本実施の形態の2次元領域の一例について説明するための図。The figure for demonstrating an example of the two-dimensional area | region of this Embodiment. 本実施の形態の2次元領域の一例について説明するための図。The figure for demonstrating an example of the two-dimensional area | region of this Embodiment. メインレイヤーへの2値データ列の配置について説明するための図。The figure for demonstrating arrangement | positioning of the binary data sequence to a main layer. パリティビットの設定手法について説明するための図。The figure for demonstrating the setting method of a parity bit. パリティビットの設定手法について説明するための図。The figure for demonstrating the setting method of a parity bit. メインレイヤーの点の配置に基づきパリティ情報を設定し、パリティレイヤーに石を配置した様子を示す図。The figure which shows a mode that the parity information was set based on arrangement | positioning of the point of a main layer, and the stone was arrange | positioned to the parity layer. サブレーヤへのダミーデータ(ダミーの石)の配置について説明するための図である。It is a figure for demonstrating arrangement | positioning of the dummy data (dummy stone) to a sublayer. 橋をかけるルールについて説明するための図である。It is a figure for demonstrating the rule which bridges. 橋をかけるルールについて説明するための図である。It is a figure for demonstrating the rule which bridges. 橋をかけるルールについて説明するための図である。It is a figure for demonstrating the rule which bridges. 橋をかけるルールについて説明するための図である。It is a figure for demonstrating the rule which bridges. 2次元領域の点と点を線でつないだ様子を表す図。The figure showing a mode that the point of the two-dimensional area was connected with the line. 2次元コードの完成図。Completion drawing of 2D code. 2次元コード生成システムの機能ブロック図。The functional block diagram of a two-dimensional code generation system. 2次元コード画像(認識対象画像)を含む画像の認識処理の流れを示すフローチャート。The flowchart which shows the flow of the recognition process of the image containing a two-dimensional code image (recognition target image). 図35(A)〜(D)は本実施の形態の認識対象画像抽出処理(本処理)の概念について説明するための図。FIGS. 35A to 35D are views for explaining the concept of recognition target image extraction processing (main processing) according to the present embodiment. 撮影された画像である入力画像。An input image that is a captured image. 2次微分後の画像データ。Image data after second order differentiation. ぼかし処理後の画像データ。Image data after blur processing. 2値化処理後の画像データ。Image data after binarization processing. 注目点画素情報検出処理について説明するための図。The figure for demonstrating attention point pixel information detection processing. 注目点画素情報検出処理について説明するための図。The figure for demonstrating attention point pixel information detection processing. 注目点画素情報検出処理について説明するための図。The figure for demonstrating attention point pixel information detection processing. 注目点画素情報検出処理について説明するための図。The figure for demonstrating attention point pixel information detection processing. 認識対象画像の認識処理及びエラー補正処理の流れについて説明するためのフローチャート。The flowchart for demonstrating the flow of the recognition process of a recognition target image, and an error correction process. 2次元コードの認識レベルの比較表である。It is a comparison table of the recognition level of a two-dimensional code. 2次元コードを用いた従来のカードについて説明するための図。The figure for demonstrating the conventional card | curd using a two-dimensional code.

符号の説明Explanation of symbols

100 処理部
110 ゲーム演算部
120 画像認識部
121 微分処理部
122 ぼかし処理部
123 二値化処理部
125 輪郭抽出部
126 輪郭判定部
127 画素情報変更部
128 認識対象画像抽出部
130 注目点画素情報検出部
132 対応データ演算部
134 シミュレーション処理部
136 エラー検出・補正処理部
138 向き判断部
140 画像生成部
142 音生成部
160 操作部
170 記憶部
180 情報記憶媒体
190 ディスプレイ
192 音出力部
194 携帯型情報記憶装置
196 通信部
100 processing unit 110 game calculation unit 120 image recognition unit 121 differentiation processing unit 122 blur processing unit 123 binarization processing unit 125 contour extraction unit 126 contour determination unit 127 pixel information change unit 128 recognition target image extraction unit 130 attention point pixel information detection Unit 132 corresponding data calculation unit 134 simulation processing unit 136 error detection / correction processing unit 138 orientation determination unit 140 image generation unit 142 sound generation unit 160 operation unit 170 storage unit 180 information storage medium 190 display 192 sound output unit 194 portable information storage Device 196 communication unit

Claims (20)

所与のデータが2次元画像としてコード化された2次元コードであって、
予め設定された2値データ列配置条件に従って、所与のデータに一義的に対応付けられた2値データ列に基づき2次元領域の点配置予約位置に配置された点と、
前記各点と結線対象となる点を予め設定された結線条件に従って繋がれた線と、を画像構成要素に含み、
前記点を結ぶ線に所与の幅を与えて2次元画像化された2次元コード。
Two-dimensional code in which given data is encoded as a two-dimensional image,
In accordance with a preset binary data string arrangement condition, a point arranged at a point arrangement reserved position in a two-dimensional area based on a binary data string uniquely associated with given data;
The image component includes a line that is connected in accordance with a predetermined connection condition for each point and a point to be connected,
A two-dimensional code formed into a two-dimensional image by giving a given width to a line connecting the points.
請求項1において、
前記線は、
各点と他の点を結ぶ直線がそれ以外の点の点配置予約位置を含む点配置予約エリアを横切らないという必要条件を満たす他の点を各点の結線対象点とし、所定の条件を満たす結線対象点と各点との間を結ぶ線であることを特徴とする2次元コード。
In claim 1,
The line is
The other points satisfying the requirement that the straight line connecting each point and the other point does not cross the point arrangement reserved area including the point arrangement reserved position of the other points is set as the connection target point of each point, and the predetermined condition is satisfied. A two-dimensional code characterized in that it is a line connecting between a connection target point and each point.
請求項1乃至2のいずれかにおいて、
前記点は、
予め設定された2値データ列配置条件に従って、前記2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点を含むことを特徴とする2次元コード。
In any one of Claims 1 thru | or 2.
The point is
A two-dimensional code comprising a point arranged at a point arrangement reserved position belonging to a main layer set in a two-dimensional area based on the binary data string in accordance with a preset binary data string arrangement condition .
所与のデータが2次元画像としてコード化された2次元コードであって、
所与のデータに一義的に対応付けられ、所与のデータの標準フィボナッチ表現に基づき生成された2値データ列に基づき、2次元領域に設定されたメインレイヤーに属する点配置予約位置に配置された点と、
2次元領域のメインレイヤー以外に属する点配置予約位置に配置されたダミーの点と、を画像構成要素に含み、
前記点に所与のパタンを与えて2次元画像化された2次元コード。
Two-dimensional code in which given data is encoded as a two-dimensional image,
Uniquely associating et al is the given data, arranged in standard Fibonacci based on the binary data string generated based on the representation, the arrangement reservation location points belonging to the main layer set in the two-dimensional region of a given data And the point
A dummy point arranged at a point arrangement reserved position belonging to other than the main layer of the two-dimensional area, and the image component,
A two-dimensional code that is formed into a two-dimensional image by giving a given pattern to the point.
請求項1乃至のいずれかにおいて、
前記2値データ列は、所与のデータの標準フィボナッチ表現に基づき生成されたことを特徴とする2次元コード。
In any one of Claims 1 thru | or 3 ,
The binary data string is generated based on a standard Fibonacci representation of given data.
2次元コードを認識するプログラムであって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部としてコンピュータを機能させ
前記注目点画素情報検出部は、
メインレイヤーに属する点配置予定位置を注目点として、注目点対応位置として認識画像上の点配置予定位置を演算し、演算した点配置予定位置に基づき認識対象画像の画素情報を検出し、
前記対応データ演算部は、
検出された画素情報に基づき2値データ列を求め、求めた2値データ列に一義的に対応付けられた所与のデータを対応データとして求めることを特徴とするプログラム。
A program for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
Causing the computer to function as a corresponding data calculation unit that calculates corresponding data associated with the two-dimensional code based on the detected pixel information ;
The attention pixel information detecting unit
Using the planned point placement position belonging to the main layer as the point of interest, calculating the point placement planned position on the recognition image as the point of interest correspondence position, detecting the pixel information of the recognition target image based on the calculated point placement planned position,
The corresponding data calculation unit is
A program characterized in that a binary data string is obtained based on detected pixel information, and given data uniquely associated with the obtained binary data string is obtained as corresponding data.
請求項において、
前記対応データ演算部によって演算された2値データ列に基づき、予め設定された2値データ列配置条件に従って、2次元領域の点配置予約位置に点を配置し、予め設定された結線条件に従って前記各点と結線対象となる点を繋ぐ結線シミュレーション処理を行う結線シミュレーション処理と、
認識対象画像から検出したサンプリングした点の結線状態と結線シミュレーション処理によって得られたサンプリングした点の結線状態とを比較して、エラーの検出及びエラー補正の少なくとも一方を行う線エラー検出・補正処理部としてコンピュータを機能させることを特徴とするプログラム。
In claim 6 ,
Based on the binary data string calculated by the corresponding data calculation unit, the point is arranged at the point arrangement reserved position of the two-dimensional area according to the preset binary data string arrangement condition, and the point according to the preset connection condition A connection simulation processing unit for performing a connection simulation process for connecting each point and a point to be connected;
A line error detection / correction processing unit that compares at least one of error detection and error correction by comparing the connection state of the sampled points detected from the recognition target image with the connection state of the sampled points obtained by the connection simulation process. program for causing a computer to function as a.
請求項6又は7において、
対応データ演算部によって演算された2値データ列に対して、標準フィボナッチ表現で表される2値データ列の条件に基づきエラーの検出及びエラー補正の少なくとも一方を行うフィボナッチエラー検出・補正処理部としてコンピュータを機能させることを特徴とするプログラム。
In claim 6 or 7 ,
A Fibonacci error detection / correction processing unit that performs at least one of error detection and error correction on the binary data sequence calculated by the corresponding data calculation unit based on the condition of the binary data sequence expressed in standard Fibonacci expression; A program that causes a computer to function .
2次元コードを認識するプログラムであって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するシミュレーション処理を行うダミー点配置シミュレーション処理部と、
認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うダミー点エラー検出・補正処理部としてコンピュータを機能させることを特徴とするプログラム。
A program for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
A dummy point placement simulation processing unit for performing a simulation process for placing a dummy point in a preset dummy point placement condition at a point placement reserved position belonging to a sublayer set other than the main layer of the two-dimensional region;
A dummy point error detection / correction processing unit that compares at least one of error detection and error correction by comparing the position of the sampled dummy point detected from the recognition target image and the position of the dummy point obtained by the dummy point simulation process. A program characterized by causing a computer to function.
2次元コードを認識するプログラムであって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
2値データ列の値と認識対象画像の向きの関係に関する向き判定情報を記憶する向き判定情報記憶部と、
対応データ演算手段によって演算された2値データ列と前記向き判定情報に基づき認識対象画像の向きを判定する向き判定部としてコンピュータを機能させることを特徴とするプログラム。
A program for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
An orientation determination information storage unit that stores orientation determination information related to the relationship between the value of the binary data string and the orientation of the recognition target image;
A program that causes a computer to function as a direction determination unit that determines the direction of a recognition target image based on a binary data string calculated by a corresponding data calculation unit and the direction determination information.
2次元コードを認識するプログラムであって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
入力された画像データから認識対象画像を抽出するための認識対象画像抽出部としてコンピュータを機能させ、
前記認識対象画像抽出部は、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、
前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、
前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、
前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する抽出部とを含むことを特徴とするプログラム。
A program for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
Causing the computer to function as a recognition target image extraction unit for extracting a recognition target image from the input image data;
The recognition target image extraction unit includes:
A contour extraction unit that performs a contour extraction process for extracting a contour of a pixel group including continuous pixels having pixel information satisfying a predetermined pixel condition from the image data;
A contour determining unit that determines whether or not a contour locus extracted by the contour extracting unit satisfies a predetermined locus condition;
Pixel information other than the pixel information satisfying the predetermined pixel condition is set as the pixel information of each pixel constituting the outline extracted by the contour extraction unit when the contour determination unit determines that the predetermined locus condition is not satisfied. A pixel information changing unit to be changed to,
An extraction unit that extracts, as the recognition target image, image data corresponding to an inner region of the contour extracted by the contour extraction unit when the contour determination unit determines that a predetermined trajectory condition is satisfied. A featured program.
請求項11において、
前記画像データに対して二値化処理を行う二値化処理部としてコンピュータを機能させ、
前記輪郭抽出部は、
前記二値化処理部により二値化処理が行われた画像データから前記輪郭を抽出することを特徴とするプログラム。
In claim 11 ,
Causing a computer to function as a binarization processing unit that performs binarization processing on the image data;
The contour extraction unit
A program for extracting the contour from image data that has been binarized by the binarization processing unit.
請求項1において、
前記画像データに対して微分処理を行う微分処理部と、
前記微分処理部によって微分処理が行われた画像データに対して、着目画素とその周辺に配置された周囲画素の画素情報を平均化して着目画素の新たな画素情報とするぼかし処理を行うぼかし処理部としてコンピュータを機能させ、
前記二値化処理部は、
前記ぼかし処理部によってぼかし処理が行われた画像データに対して二値化処理を行うことを特徴とするプログラム。
In claim 1 2,
A differential processing unit for performing differential processing on the image data;
A blur process for performing blur processing on the image data that has been subjected to differentiation processing by the differentiation processing unit, by averaging pixel information of the pixel of interest and surrounding pixels arranged in the vicinity thereof to obtain new pixel information of the pixel of interest. The computer as a part,
The binarization processing unit
A program for performing binarization processing on image data subjected to blur processing by the blur processing section.
請求項1において、
認識対象画像抽出部が抽出した認識対象画像を構成する線の幅を検出する線幅検出部としてコンピュータを機能させ
前記ぼかし処理部は、
検出された線の幅に基づきぼかし処理の回数を決定して、決定された回数だけぼかし処理を行うことを特徴とするプログラム。
According to claim 1 3,
Causing the computer to function as a line width detection unit that detects the width of the lines constituting the recognition target image extracted by the recognition target image extraction unit;
The blur processing unit
A program characterized by determining the number of blurring processes based on the detected line width and performing the blurring process for the determined number of times.
請求項1において、
認識対象画像抽出手段が抽出した認識対象画像を構成する線の幅を検出する線幅検出部としてコンピュータを機能させ
前記二値化処理部は、
検出された線の幅に基づき二値化処理に用いる閾値の値を決定して、決定された閾値で二値化処理を行うことを特徴とするプログラム。
In claim 1 2,
Causing the computer to function as a line width detection unit that detects the width of the lines constituting the recognition target image extracted by the recognition target image extraction unit;
The binarization processing unit
A program characterized in that a threshold value used for binarization processing is determined based on a detected line width, and binarization processing is performed using the determined threshold value.
コンピュータ読み取り可能な情報記憶媒体であって、請求項6〜15のいずれかのプログラムが記憶されていることを特徴とする情報記憶媒体。 A computer-readable information storage medium, wherein the program according to any one of claims 6 to 15 is stored. 2次元コードを認識する画像認識装置であって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と、を含み
前記注目点画素情報検出部は、
メインレイヤーに属する点配置予定位置を注目点として、注目点対応位置として認識画像上の点配置予定位置を演算し、演算した点配置予定位置に基づき認識対象画像の画素情報を検出し、
前記対応データ演算部は、
検出された画素情報に基づき2値データ列を求め、求めた2値データ列に一義的に対応付けられた所与のデータを対応データとして求めることを特徴とする画像認識装置。
An image recognition device for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit that calculates corresponding data associated with the two-dimensional code based on the detected pixel information ,
The attention pixel information detecting unit
Using the planned point placement position belonging to the main layer as the point of interest, calculating the point placement planned position on the recognition image as the point of interest correspondence position, detecting the pixel information of the recognition target image based on the calculated point placement planned position,
The corresponding data calculation unit is
An image recognition apparatus characterized in that a binary data string is obtained based on detected pixel information, and given data uniquely associated with the obtained binary data string is obtained as corresponding data.
2次元コードを認識する画像認識装置であって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
2次元領域のメインレイヤー以外に設定されたサブレイヤーに属する点配置予約位置に、予め設定されたダミー点配置条件にダミーの点を配置するシミュレーション処理を行うダミー点配置シミュレーション処理部と、
認識対象画像から検出したサンプリングしたダミー点の位置とダミー点シミュレーション処理によって得られたダミー点の位置とを比較して、エラーの検出及びエラー補正の少なくとも一方を行うダミー点エラー検出・補正処理部と、を含むことを特徴とする画像認識装置。
An image recognition device for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
A dummy point placement simulation processing unit for performing a simulation process for placing a dummy point in a preset dummy point placement condition at a point placement reserved position belonging to a sublayer set other than the main layer of the two-dimensional region;
A dummy point error detection / correction processing unit that compares at least one of error detection and error correction by comparing the position of the sampled dummy point detected from the recognition target image and the position of the dummy point obtained by the dummy point simulation process. And an image recognition apparatus.
2次元コードを認識する画像認識装置であって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
2値データ列の値と認識対象画像の向きの関係に関する向き判定情報を記憶する向き判定情報記憶部と、
対応データ演算手段によって演算された2値データ列と前記向き判定情報に基づき認識対象画像の向きを判定する向き判定部と、を含むことを特徴とする画像認識装置
An image recognition device for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
An orientation determination information storage unit that stores orientation determination information related to the relationship between the value of the binary data string and the orientation of the recognition target image;
An image recognition apparatus comprising: a binary data string calculated by a corresponding data calculation means; and a direction determination unit that determines a direction of a recognition target image based on the direction determination information .
2次元コードを認識する画像認識装置であって、
認識対象画像の基準点対応位置を検出し、基準点対応位置に基づき基準点に関連づけて設定されている注目点に対応する認識画像上の注目点対応位置を演算し、演算した注目点対応位置に基づき認識対象画像の画素情報を検出する注目点画素情報検出部と、
検出された画素情報に基づき2次元コードに対応付けられた対応データを演算する対応データ演算部と
入力された画像データから認識対象画像を抽出するための認識対象画像抽出部と、を含み、
前記認識対象画像抽出部は、
前記画像データから所定の画素条件を満たす画素情報をもち連続する画素からなる画素群の輪郭を抽出する輪郭抽出処理を行う輪郭抽出部と、
前記輪郭抽出部によって抽出された輪郭の軌跡が所定の軌跡条件を満たすか否かを判定する輪郭判定部と、
前記輪郭判定部によって所定の軌跡条件を満たさないと判定された場合に、前記輪郭抽出部によって抽出された輪郭を構成する各画素の画素情報を前記所定の画素条件を満たす画素情報以外の画素情報に変更する画素情報変更部と、
前記輪郭判定部によって所定の軌跡条件を満たすと判定された場合に、前記輪郭抽出部によって抽出された輪郭の内部領域に対応する画像データを前記認識対象画像として抽出する抽出部と、を含むことを特徴とする画像認識装置。
An image recognition device for recognizing a two-dimensional code,
The target point corresponding position of the recognition target image is detected, the target point corresponding position on the recognition image corresponding to the target point set in association with the reference point is calculated based on the reference point corresponding position, and the calculated target point corresponding position A point-of-interest pixel information detection unit that detects pixel information of the recognition target image based on
A corresponding data calculation unit for calculating corresponding data associated with the two-dimensional code based on the detected pixel information ;
A recognition target image extraction unit for extracting a recognition target image from the input image data,
The recognition target image extraction unit includes:
A contour extraction unit that performs a contour extraction process for extracting a contour of a pixel group including continuous pixels having pixel information satisfying a predetermined pixel condition from the image data;
A contour determining unit that determines whether or not a contour locus extracted by the contour extracting unit satisfies a predetermined locus condition;
Pixel information other than the pixel information satisfying the predetermined pixel condition is set as the pixel information of each pixel constituting the outline extracted by the contour extraction unit when the contour determination unit determines that the predetermined locus condition is not satisfied. A pixel information changing unit to be changed to,
An extraction unit that extracts, as the recognition target image, image data corresponding to an inner region of the contour extracted by the contour extraction unit when the contour determination unit determines that a predetermined locus condition is satisfied. An image recognition apparatus.
JP2006171681A 2006-06-21 2006-06-21 Two-dimensional code, program, information storage medium, and image recognition apparatus Active JP4916230B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006171681A JP4916230B2 (en) 2006-06-21 2006-06-21 Two-dimensional code, program, information storage medium, and image recognition apparatus
US11/812,067 US8050502B2 (en) 2006-06-21 2007-06-14 Two-Dimensional code generation method, two-dimensional code, two-dimensional code recognition method, and image recognition device
EP10172307.0A EP2246805A3 (en) 2006-06-21 2007-06-20 Two-dimensional code generation method, two-dimensional code, two-dimensional code recognition method, and image recognition device
EP07110678.5A EP1870835B8 (en) 2006-06-21 2007-06-20 Two-dimensional code
US13/221,478 US8406526B2 (en) 2006-06-21 2011-08-30 Two-dimensional code generation method, two-dimensional code, two-dimensional code recognition method, and image recognition device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006171681A JP4916230B2 (en) 2006-06-21 2006-06-21 Two-dimensional code, program, information storage medium, and image recognition apparatus

Publications (2)

Publication Number Publication Date
JP2008003791A JP2008003791A (en) 2008-01-10
JP4916230B2 true JP4916230B2 (en) 2012-04-11

Family

ID=39008128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006171681A Active JP4916230B2 (en) 2006-06-21 2006-06-21 Two-dimensional code, program, information storage medium, and image recognition apparatus

Country Status (1)

Country Link
JP (1) JP4916230B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5865079B2 (en) * 2011-12-29 2016-02-17 株式会社コナミデジタルエンタテインメント A code pattern recording apparatus, a game machine to which the code pattern recording apparatus is applied, a control method used therefor, and a computer program.
CN103577421A (en) * 2012-07-23 2014-02-12 中国移动通信集团公司 Method, device and system applying two-dimension code
CN102867205B (en) * 2012-09-19 2017-02-22 腾讯科技(深圳)有限公司 Information management and two-dimensional code generation method and related devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334481A (en) * 1992-03-31 1993-12-17 Fuji Electric Co Ltd Method for recognizing pixel code
JPH0887578A (en) * 1994-09-17 1996-04-02 Hiroichi Yoshida Two-dimensional code information recording card and information recording method for same
JP3811686B2 (en) * 2003-06-02 2006-08-23 株式会社日立インフォメーションテクノロジー Two-dimensional code reader

Also Published As

Publication number Publication date
JP2008003791A (en) 2008-01-10

Similar Documents

Publication Publication Date Title
EP1870835B1 (en) Two-dimensional code
CN101167084B (en) Information I/O method using dot pattern
KR101801217B1 (en) Two-dimensional code
JP6397977B2 (en) Dot pattern, dot pattern forming medium, dot pattern image data generating program, dot pattern forming device, optical device, optical reader, information input / output device, dot pattern reader
KR101612700B1 (en) Method for decoding matrix-type two-dimensional code
CN107423716A (en) Face method for monitoring state and device
US8534565B2 (en) Two-dimensional optical identification device with same gray level for quick decoding and decoding method therefor
JP4916230B2 (en) Two-dimensional code, program, information storage medium, and image recognition apparatus
TWI439943B (en) Encoding structure for dot pattern, its decoding method and electronic device
CN107705243A (en) Image processing method and device, electronic installation and computer-readable recording medium
JP4916229B2 (en) Program, information storage medium, two-dimensional code generation system, and method for manufacturing printed matter on which two-dimensional code is printed
JP2007017364A (en) Device and method for extracting silhouette, and device and method for generating three-dimensional shape data
JP2008210402A (en) Dot pattern
US20120061469A1 (en) Image processing apparatus, identification apparatus, electronic writing instrument, method for determining bit sequence and computer readable medium
US20210201529A1 (en) Associating three-dimensional coordinates with two-dimensional feature points
JP2008265169A (en) Card and card information reading method
CN107742071A (en) The equipment unlocking method and electronic installation of online game
CN111307069A (en) Light three-dimensional scanning method and system for dense parallel line structure
KR100860110B1 (en) Information input/output method using dot pattern
JP2017053812A (en) Three-dimensional measurement device, illumination device, pattern generation device, and method
JP2008003765A (en) Image recognition device, method, and program for extracting at least one or more recognition object images from input image data, and information recording medium
JP2001099625A (en) Device and method for pattern inspection
KR100906457B1 (en) Information input/output method using dot pattern
JP2006110888A (en) Object
JP3858052B1 (en) Information input / output method using dot pattern

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4916230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250