JPH11312215A - Two-dimensional code decoder and storage medium thereof - Google Patents

Two-dimensional code decoder and storage medium thereof

Info

Publication number
JPH11312215A
JPH11312215A JP10119221A JP11922198A JPH11312215A JP H11312215 A JPH11312215 A JP H11312215A JP 10119221 A JP10119221 A JP 10119221A JP 11922198 A JP11922198 A JP 11922198A JP H11312215 A JPH11312215 A JP H11312215A
Authority
JP
Japan
Prior art keywords
dimensional code
cell
cells
code
data
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.)
Pending
Application number
JP10119221A
Other languages
Japanese (ja)
Inventor
Shuichi Yamazaki
修一 山崎
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP10119221A priority Critical patent/JPH11312215A/en
Publication of JPH11312215A publication Critical patent/JPH11312215A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To shorten the segmenting/reading time of a two-dimensional code and also to improve the data error detection reliability of the two-dimensional code by forming the two-dimensional code by arranging plural inner cells as the processing units and using a series of code data, including a specific cell to form each inner cell. SOLUTION: A two-dimensional code consists of plural inner cells which are arranged as the processing units, and each inner cell consists of a series of code data, including error detection cells and recognition pointer cells. As a result, a reading means is able to the two-dimensional code by each inner cell and also segment each inner cell by identifying the position of each of recognition pointer cells which constitute an inner cell and deciding the reading position of the inner cell. In such a constitution of a two-dimensional code decoder, an inner cell 10, for example, consists of a pointer cell PO1, separator cells S0 to S3, parity cells P0 to P3 and data cells D0 to D15.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、二次元コードを読
み取ってデコードする二次元コードデコード装置、及び
記憶媒体に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a two-dimensional code decoding device for reading and decoding a two-dimensional code, and a storage medium.

【0002】[0002]

【従来の技術】一般に、コンピュータ等にデータを入力
する手段として、例えば光学的に読み取りさせる手段で
は、パンチカードやマークシート等のOMRから、文字
をそのまま読み取るOCRまで様々な手段がある。その
中で、シンボルコードの一種として広く普及しているの
がバーコードであり、販売管理、物流管理、生産管理等
におけるデータの入力に用いられている。
2. Description of the Related Art Generally, as means for inputting data to a computer or the like, for example, there are various means for optically reading, from OMR such as punch cards and mark sheets to OCR for reading characters as they are. Among them, bar codes are widely used as a kind of symbol codes, and are used for inputting data in sales management, distribution management, production management, and the like.

【0003】バーコードが発明されてから今日まで、さ
まざまな種類のバーコードが提案、開発、改善されてお
り、一次元のコードとしてのバーコードはほぼ完成され
たと言っても過言ではない。
Various types of barcodes have been proposed, developed, and improved from the invention of the barcode to the present, and it is no exaggeration to say that the barcode as a one-dimensional code has been almost completed.

【0004】そのような中、一次元のバーコードではコ
ード化できる情報は限られており、より多くの情報をコ
ード化したいという要望の元、二次元のバーコードが開
発された。しかし、二次元のバーコードは一次元のバー
コードを単に積み上げた考え方であった為、情報量と情
報密度を数倍に高めただけであり、誤り訂正機能や漢字
の情報化までは困難であった。
[0004] Under such circumstances, the information that can be encoded by a one-dimensional barcode is limited, and a two-dimensional barcode has been developed in response to a desire to encode more information. However, since the two-dimensional barcode was based on the idea of simply stacking one-dimensional barcodes, it only increased the amount of information and information density several times. there were.

【0005】その一方で、情報量、情報密度共に多いマ
トリクス方式の二次元コードが開発された。この二次元
コードは、データが入っているデータセルと、コードを
読み取る際の基準となるタイミングセルで構成されてお
り、タイミングセルを基にデータセルを読み取り、デー
タ値を決定している。その為、二次元コードをエリアセ
ンサー等でセンスする際の向きや、歪みに対しては、タ
イミングセルの向きや、歪みから推測してデータ値を決
定する必要がある。また、エリアセンサー等で二次元コ
ードをセンスする際、どの部分を二次元コードとして判
断するのか、というデータの切り出しに関しては、二次
元コードのマトリクス周辺を四角形、もしくは方向を判
断し易くする為、L字の枠で囲み、切り出し用の枠パタ
ーンとする方法があり、この四角形の枠パターン、もし
くはL字の枠パターンを検出した時に二次元コードであ
ると判断し、それらの枠パターンから推測して二次元コ
ードを切り出していた。
On the other hand, a matrix type two-dimensional code having a large amount of information and a large information density has been developed. The two-dimensional code is composed of a data cell containing data and a timing cell serving as a reference when reading the code. The data cell is read based on the timing cell to determine a data value. For this reason, it is necessary to determine the data value by inferring the direction and the distortion when the two-dimensional code is sensed by the area sensor and the like from the direction of the timing cell and the distortion. In addition, when sensing a two-dimensional code with an area sensor or the like, regarding the extraction of data as to which part is determined as a two-dimensional code, a square around the matrix of the two-dimensional code, or to easily determine the direction, There is a method of enclosing in an L-shaped frame and setting it as a cutout frame pattern. When this rectangular frame pattern or L-shaped frame pattern is detected, it is determined that it is a two-dimensional code, and it is inferred from those frame patterns. And cut out the two-dimensional code.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、四角形
の枠パターンで囲んだ二次元コードを検出する場合、エ
リアセンサー等でセンスする角度や、センスし始める箇
所が四角形の頂点なのか辺なのか、等により、二次元コ
ードを検出するまでに時間がかかるという問題点があっ
た。また、L字の枠パターンの場合は、枠が実線となる
L字側から読み取る場合と、枠が空白となるL字の反対
側から読み取る場合とでは、切り出し方法が異なり、同
様に、二次元コードの検出には時間がかかるという問題
があった。
However, when detecting a two-dimensional code surrounded by a rectangular frame pattern, the angle at which sensing is performed by an area sensor or the like, and whether the point at which sensing starts is a vertex or a side of the square, etc. Therefore, there is a problem that it takes time to detect a two-dimensional code. Also, in the case of an L-shaped frame pattern, the method of cutting is different between the case where the frame is read from the L-shaped side where the frame is a solid line and the case where the frame is read from the opposite side of the L-shaped where the frame is blank. There was a problem that it took time to detect the code.

【0007】また、データセルとタイミングセルが離れ
ている為に、各データセルを読み取る場合は、離れたタ
イミングセルを基準に値判定する必要から、局所的歪み
の他、多少の歪みがあった場合でも読み取りが不可能で
あったり、読み取れた場合でも、エラー訂正コード(以
下、ECC(Error-Correcting Code)と呼ぶ)による
データの訂正に頼る場合が多く、デコードに多大な時間
を要していた。
Further, when reading each data cell because the data cell and the timing cell are separated, it is necessary to judge the value based on the separated timing cell. Even in such a case, even if it is impossible to read, or even if it can be read, it often relies on data correction using an error correction code (ECC), and it takes a lot of time to decode. Was.

【0008】さらに、通常、二次元コードをエリアセン
サーでセンスする際、二次元コードのどのあたりをセン
スしているのか、ユーザに分かり難く、エリアセンサー
のセンス範囲に正しく二次元コードを読み取らせるのが
困難であった。また、従来の二次元コードは、コード全
てを読み取らないとデータの切り出しおよびデータ誤り
の検出ができない為、デコードの時間を短縮させたとし
ても、ユーザ操作に依存しているエリアセンサーによる
センスから、二次元コードの切り出し、デコードに至る
までのトータル時間の短縮には限界があった。
Further, when sensing a two-dimensional code with an area sensor, it is usually difficult for the user to know which part of the two-dimensional code is being sensed, and the two-dimensional code is correctly read in the sensing range of the area sensor. Was difficult. In addition, the conventional two-dimensional code, since it is not possible to cut out data and detect data errors without reading the entire code, even if shortening the decoding time, from the sense by the area sensor that depends on the user operation, There was a limit to the reduction of the total time required to extract and decode the two-dimensional code.

【0009】本発明の課題は、二次元コードの切り出
し、及び読取時間を短縮させると共に、二次元コードの
データ誤り検出の信頼性を向上させる、二次元コードの
デコード装置及びその記憶媒体を提供することである。
SUMMARY OF THE INVENTION An object of the present invention is to provide a two-dimensional code decoding apparatus and a storage medium for shortening the time required to cut out and read a two-dimensional code and improving the reliability of detecting a data error of the two-dimensional code. That is.

【0010】[0010]

【課題を解決するための手段】請求項1記載の発明は、
二次元コードを読み取ってデコードする二次元コードデ
コード装置において、前記二次元コードは、当該二次元
コード中に展開されたコードデータ中の誤りを検出させ
るための誤り検出セルと、当該二次元コードの展開位置
を認識させるための認識ポインタセルとを含む一連のコ
ードデータを中セルとし、この中セルをデコードすべき
二次元コードデータの処理単位として複数配置して構成
され、この二次元コードを読み取る際に、前記認識ポイ
ンタセルに基づいて前記各中セルの読み出し位置を識別
して当該二次元コードを読み取る読取手段と、この読取
手段により読み取られた各中セルに含まれる前記誤り検
出セルに基づいて、当該中セル毎にデコードすべきコー
ドデータ中の誤り箇所を検出して、当該二次元コード内
のコードデータを中セル単位でデコードするデコード手
段と、を備えたことを特徴としている。
According to the first aspect of the present invention,
In a two-dimensional code decoding device that reads and decodes a two-dimensional code, the two-dimensional code includes: an error detection cell for detecting an error in code data expanded in the two-dimensional code; A series of code data including a recognition pointer cell for recognizing the developed position is defined as a middle cell, and the middle cell is arranged as a plurality of processing units of two-dimensional code data to be decoded, and the two-dimensional code is read. Reading means for identifying the read position of each of the medium cells based on the recognition pointer cell and reading the two-dimensional code; and based on the error detection cells included in each of the medium cells read by the reading means. Then, an error portion in the code data to be decoded is detected for each of the medium cells, and the code data in the two-dimensional code is detected. It is characterized by comprising a decoding means for decoding in units of cells, a.

【0011】請求項1記載の発明の二次元コードデコー
ド装置によれば、二次元コードは前記中セルを処理単位
として、前記複数の中セルを配置することで構成されて
いる。また、配置された当該各中セルは前記誤り検出セ
ルと前記認識ポインタセルを含む一連のコードデータか
ら構成されている。このため、前記読取手段は、中セル
単位で当該二次元コードを読み取ることができ、また、
当該各中セルを構成する当該各認識ポインタセルの位置
をそれぞれ識別し、当該各中セルの読み出し位置を判断
することで、当該各中セルそれぞれを切り出すことがで
きる。
According to the two-dimensional code decoding device of the present invention, the two-dimensional code is constituted by arranging the plurality of middle cells with the middle cells as processing units. Each of the arranged middle cells is composed of a series of code data including the error detection cell and the recognition pointer cell. For this reason, the reading means can read the two-dimensional code in units of medium cells,
By identifying the position of each of the recognition pointer cells constituting each of the middle cells and determining the read position of each of the middle cells, each of the middle cells can be cut out.

【0012】したがって、二次元コードの切り出し、及
び読み取りは、当該二次元コードを構成する当該各中セ
ル単位で行えるため、二次元コード全てに対して一度に
切り出し、及び読み取りを行う必要がなく、更に、中セ
ル単位の切り出し、及び読み取り処理を複数並行して行
うことにより、切り出し、及び読取時間を短縮させるこ
とができる。また、二次元コードが歪んでいた場合であ
っても、当該各中セルに影響がない範囲であれば、切り
出し、及び読み取りを行うことができる。
Therefore, since the two-dimensional code can be cut out and read for each medium cell constituting the two-dimensional code, it is not necessary to cut out and read all the two-dimensional codes at once. Further, by performing a plurality of cutting and reading processes in units of medium cells in parallel, the time for cutting and reading can be reduced. In addition, even when the two-dimensional code is distorted, cutting and reading can be performed within a range that does not affect the respective middle cells.

【0013】また、前記デコード手段は、前記中セルを
構成する前記誤り検出セルに基づいて当該中セル毎にデ
コードすべきコードデータ中の誤りを検出しながら、当
該二次元コード内のコードデータを中セル単位でデコー
ドする。したがって、中セル単位でデータ誤りの検出が
行えるため、データ誤りの範囲を二次元コードの当該中
セルの範囲に特定することができ、データ誤り検出の信
頼性を向上させることができる。また、前記デコード手
段は、中セル単位でデコードするため、読み取った複数
の中セルをそれぞれ並行してデコード処理することによ
り、デコード時間を短縮させることができる。
The decoding means detects the error in the code data to be decoded for each of the medium cells based on the error detection cells constituting the medium cell, and decodes the code data in the two-dimensional code. Decode in medium cells. Therefore, since a data error can be detected in units of middle cells, the range of data errors can be specified in the range of the middle cells of the two-dimensional code, and the reliability of data error detection can be improved. In addition, since the decoding means decodes the medium cells in units, the decoding time can be shortened by performing decoding processing on the plurality of read medium cells in parallel.

【0014】[0014]

【発明の実施の形態】以下、図を参照して本発明の実施
の形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0015】(第1の実施の形態)図1〜8は、本発明
を適用した第1の実施の形態におけるコンピュータシス
テムを示す図である。
(First Embodiment) FIGS. 1 to 8 show a computer system according to a first embodiment of the present invention.

【0016】まず、構成を説明する。First, the configuration will be described.

【0017】図1は、本第1の実施の形態におけるコン
ピュータシステム1の要部構成を示すブロック図であ
る。この図1において、コンピュータシステム1は、C
PU2、RAM3、記憶装置4、記憶媒体5、表示部
6、入力部7、及びエリアセンサー8によって構成され
ており、記憶媒体5を除く各部はバス9によって接続さ
れている。
FIG. 1 is a block diagram showing a main configuration of a computer system 1 according to the first embodiment. In FIG. 1, the computer system 1 has a C
It comprises a PU 2, a RAM 3, a storage device 4, a storage medium 5, a display unit 6, an input unit 7, and an area sensor 8, and each unit except the storage medium 5 is connected by a bus 9.

【0018】CPU(Central Processing Unit)2
は、記憶装置4内に格納されているシステムプログラム
及び当該システムに対応する各種アプリケーションプロ
グラムの中から指定されたアプリケーションプログラム
をRAM3内の図示しないプログラム格納領域に展開
し、入力部7から入力される各種指示あるいはデータを
RAM3内に一時的に格納し、この入力指示及び入力デ
ータに応じて記憶装置4内に格納されたアプリケーショ
ンプログラムに従って各種処理を実行し、その処理結果
をRAM3内に格納するとともに、表示部6に表示す
る。そして、RAM3に格納した処理結果を入力部7か
ら入力指示される記憶装置4内の保存先に保存する。
CPU (Central Processing Unit) 2
Develops an application program specified from a system program stored in the storage device 4 and various application programs corresponding to the system into a program storage area (not shown) in the RAM 3 and is input from the input unit 7. Various instructions or data are temporarily stored in the RAM 3, various processings are executed in accordance with the application instructions stored in the storage device 4 in accordance with the input instructions and the input data, and the processing results are stored in the RAM 3. Are displayed on the display unit 6. Then, the processing result stored in the RAM 3 is stored in a storage destination in the storage device 4 designated by the input unit 7.

【0019】また、CPU2は、画像データ処理におい
て、エリアセンサー8から入力される電気信号を画像デ
ータとして認識し、後述する枠が画像データ内にあるか
検出し、存在する場合は、枠の切り出しおよび二次元コ
ードの切り出し処理を行う。また、切り出した二次元コ
ードの角の黒色領域をポインタセルと判断して、後述す
る中セルの切り出しを行うと共に、中セル内の後述する
各小セルの位置及び色を検出し、各小セルのデータを判
断する。
In the image data processing, the CPU 2 recognizes an electric signal input from the area sensor 8 as image data, detects whether or not a frame described later exists in the image data, and cuts out a frame if it exists. And a process of extracting a two-dimensional code. Further, the black area at the corner of the cut-out two-dimensional code is determined as a pointer cell, and a middle cell described later is cut out, and the position and color of each small cell described later in the middle cell are detected. Judge the data.

【0020】また、CPU2は、検出した各小セルのデ
ータのうち、後述するパリティセルの値を元に、データ
誤りの検出処理を行う。
The CPU 2 performs a data error detection process based on a value of a parity cell, which will be described later, among the detected data of each small cell.

【0021】入力部7は、カーソルキー、数字入力キー
及び各種機能キー等を備えたキーボード及びマウス等の
ポインティングデバイスを含み、キーボードにおいて押
下されたキーの押下信号やマウスの位置信号をCPU2
に出力する。表示部6は、CRT(Cathode Ray Tube)
等により構成され、CPU2から入力される表示データ
(エリアセンサーの画像データや二次元コードのデコー
ド結果等)を表示する。
The input unit 7 includes a keyboard and a pointing device such as a mouse provided with a cursor key, numeral input keys, various function keys, and the like.
Output to The display unit 6 is a CRT (Cathode Ray Tube)
And the like, and displays display data (image data of the area sensor, decoding result of a two-dimensional code, etc.) input from the CPU 2.

【0022】RAM(Random Access Memory)3は、C
PU2が前記各種アプリケーションプログラムを実行す
る際に各種データを展開するプログラム格納領域を形成
すると共に、CPU2が前記画像データ処理を実行する
際に、エリアセンサー8から入力された電気信号を展開
するとともに、二次元コードを切り出すための後述する
枠、中セルを構成する各小セルの位置、色、及びデータ
等展開するメモリ領域を形成する。
A RAM (Random Access Memory) 3 is a C
When the PU 2 forms the program storage area for developing various data when executing the various application programs, and when the CPU 2 executes the image data processing, it expands the electric signal input from the area sensor 8. A frame for extracting a two-dimensional code, and a memory area for developing the position, color, data, etc. of each small cell constituting the middle cell, which will be described later, are formed.

【0023】記憶装置4は、プログラムやデータ等が予
め記憶されている記憶媒体5を有しており、この記憶媒
体5は磁気的、光学的記憶媒体、若しくは半導体メモリ
で構成されている。この記憶媒体5は記憶装置4に固定
的に設けたもの、若しくは着脱自在に装着するものであ
り、この記憶媒体4には前記システムプログラム及び当
該システムに対応する各種アプリケーションプログラ
ム、画像データ処理プログラム、二次元コード切り出し
処理プログラム、及び各種処理プログラムで処理された
データ等を記憶する。
The storage device 4 has a storage medium 5 in which programs, data and the like are stored in advance, and this storage medium 5 is constituted by a magnetic or optical storage medium or a semiconductor memory. The storage medium 5 is fixedly provided in the storage device 4 or is detachably mounted. The storage medium 4 includes the system program, various application programs corresponding to the system, an image data processing program, It stores a two-dimensional code cutout processing program, data processed by various processing programs, and the like.

【0024】また、この記憶媒体4に記憶するプログラ
ム、データ等は、通信回線等を介して接続された他の機
器から受信して記憶する構成にしてもよく、更に、通信
回線等を介して接続された他の機器側に前記記憶媒体を
備えた記憶装置を設け、この記憶媒体4に記憶されてい
るプログラム、データを通信回線を介して使用する構成
にしてもよい。
The program, data, and the like stored in the storage medium 4 may be configured to be received and stored from another device connected via a communication line or the like. A storage device having the storage medium may be provided on another connected device side, and the program and data stored in the storage medium 4 may be used via a communication line.

【0025】次に、エリアセンサー8を図2を用いて説
明する。図2は、エリアセンサー8を中心としたコンピ
ュータシステム1の構成を示している。図2において、
RAM3、記憶装置4、記憶媒体5、表示部6、入力部
7、及びバス9は説明を分かり易くする為、図示してい
ない。図2において、エリアセンサー8は、例えばCC
D(Charge-Coupled Devices)のように、フォトダイオ
ードを線上あるいは平面上に配置し、光の強度を測定す
る受光部と、受光時の精度を高めるためのレンズ等を用
いた焦点制御部と、この受光部を順次走査するための走
査部と、この走査部を通じて受光部から出力された電気
信号を数値化するA/D変換回路等から構成され、光信
号を電気信号に変換する周知のものである。CPU2
は、エリアセンサー8から出力された電気信号から、画
像認識処理を行い、後述する二次元コードの検出、デー
タ誤りの検出、及びデコードを行うと共に、エリアセン
サー8に対して焦点の絞り等を変化させるための制御信
号を出力する。
Next, the area sensor 8 will be described with reference to FIG. FIG. 2 shows a configuration of the computer system 1 centering on the area sensor 8. In FIG.
The RAM 3, the storage device 4, the storage medium 5, the display unit 6, the input unit 7, and the bus 9 are not shown for easy understanding. In FIG. 2, the area sensor 8 is, for example, a CC.
Like D (Charge-Coupled Devices), a photodiode is arranged on a line or a plane, and a light receiving unit for measuring the intensity of light, a focus control unit using a lens or the like for improving the accuracy at the time of receiving light, A well-known device which comprises a scanning unit for sequentially scanning the light receiving unit, an A / D conversion circuit for digitizing an electric signal output from the light receiving unit through the scanning unit, and the like, and converts an optical signal into an electric signal. It is. CPU2
Performs image recognition processing from an electric signal output from the area sensor 8, performs detection of a two-dimensional code, detection of data error, and decoding, which will be described later, and changes the aperture stop of the area sensor 8. Output a control signal for causing the

【0026】図3は、本第1の実施の形態で処理される
二次元コードに含まれる中セル10の基本構成を示す図
である。
FIG. 3 is a diagram showing a basic configuration of the middle cell 10 included in the two-dimensional code processed in the first embodiment.

【0027】二次元コードにおいて、最小のデータ構成
である1ビットを表記する方法は、図3中において最小
単位の正方形を1つのセルとし、このセルの色を黒とし
た場合を「1」、白とした場合を「0」と表す。本第1
の実施の形態では、このセルを小セルと呼ぶこととす
る。また、この小セルを縦5セル×横5セルとして構成
させたブロックを、前記中セル10と呼ぶこととする。
In the two-dimensional code, the method of expressing one bit, which is the minimum data structure, is as follows. In FIG. 3, the minimum unit square is one cell, and when the color of this cell is black, "1" is used. The case of white is represented as “0”. Book first
In this embodiment, this cell is called a small cell. A block in which the small cells are configured as 5 vertical cells × 5 horizontal cells will be referred to as the middle cell 10.

【0028】図3に示すように、中セル10は、「PO
1」で示す1つのポインタセルと、「S0〜S3」で示
す4つのセパレータセルと、「P0〜P3」で示す4つ
のパリティセルと、「D0〜D15」で示す16個のデ
ータセルから構成されている。
As shown in FIG. 3, the middle cell 10
1 ”, four separator cells“ S0 to S3 ”, four parity cells“ P0 to P3 ”, and 16 data cells“ D0 to D15 ”. Have been.

【0029】ここで、ポインタセルPO1は、常に黒色
に設定され、このポインタセルPO1を使用して後述す
る縦5セル×横5セルの中セル10の切り出しを行うと
共に、切り出した後のデータセルD0〜D15やパリテ
ィセルP0〜P3の検出に用いる。また、セパレータセ
ルS0〜S3は常に白色に設定される。これは、後述す
る中セル10を複数並べて二次元コードを構成する際
に、黒色のポインタセルPO1に隣接する小セルを白色
とさせ、ポインタセルPO1を検出し易くする為であ
る。
Here, the pointer cell PO1 is always set to black. The pointer cell PO1 is used to cut out a middle cell 10 of 5 × 5 cells, which will be described later, and to use the data cell after cutting. Used for detecting D0 to D15 and parity cells P0 to P3. The separator cells S0 to S3 are always set to white. This is to make the small cell adjacent to the black pointer cell PO1 white when making a two-dimensional code by arranging a plurality of middle cells 10 described later, so that the pointer cell PO1 can be easily detected.

【0030】また、パリティセルP0はデータセルD0
〜D7のパリティビットを表し、同様にパリティセルP
1はデータセルD8〜D15のパリティビットを、パリ
ティセルP2はデータセルD0、D1、D4、D5、D
8、D9、D12、D13のパリティビットを、パリテ
ィセルP3はデータセルD2、D3、D6、D7、D1
0、D11、D14、D15のパリティビットを表す。
The parity cell P0 is the data cell D0.
To D7, and the parity cell P
1 is the parity bit of data cells D8 to D15, and parity cell P2 is the data cells D0, D1, D4, D5, D
8, D9, D12, and D13, and parity cell P3 is a data cell D2, D3, D6, D7, D1.
0, D11, D14, and D15 represent parity bits.

【0031】これらのパリティセルP0〜P3により、
データセルD0〜D15のデータが汚れ等で黒白反転し
てしまった場合に、中セル10の範疇で後述するデータ
誤りの検出を行い、1つのデータセルに対して2つのパ
リティセルを対象とさせることにより、データ誤り検出
の信頼性を向上させるものである。また、データセルD
0〜D15は、バイナリデータを表した小セルで、二次
元コードで表記したい実際のデータが格納されている。
With these parity cells P0 to P3,
When the data of the data cells D0 to D15 is black and white inverted due to dirt or the like, a data error described later is detected in the category of the middle cell 10, and two parity cells are targeted for one data cell. Thereby, the reliability of data error detection is improved. Data cell D
Numerals 0 to D15 are small cells representing binary data, in which actual data to be represented by a two-dimensional code is stored.

【0032】図4に前記中セル10内のデータ誤り検出
方法を示す。中セル10−1、10−2、10−3は検
出可能なデータ誤りの場合、10−4は検出不可能なデ
ータ誤りの場合を示している。中セル10−1では、デ
ータセルD6がデータ誤りの場合を示しており、前記デ
ータセルD6のパリティビットである当該パリティセル
P0とP3により誤りが検出される。同様に中セル10
−2では、データセルD6とD9が誤りの場合を示して
おり、当該パリティセルP0、P1、P2、P3により
誤りが検出される。同様に、中セル10−3では、デー
タセルD5、D6が誤りの場合を示しており、後述する
通り、当該パリティセルP0は検出できないが、当該パ
リティセルP2、P3により誤りが検出される。
FIG. 4 shows a method for detecting a data error in the middle cell 10. The middle cells 10-1, 10-2, and 10-3 show cases of detectable data errors, and 10-4 shows the case of undetectable data errors. The middle cell 10-1 shows a case where the data cell D6 has a data error, and the error is detected by the parity cells P0 and P3 which are the parity bits of the data cell D6. Similarly, the middle cell 10
-2 indicates a case where the data cells D6 and D9 have an error, and the error is detected by the parity cells P0, P1, P2, and P3. Similarly, in the middle cell 10-3, the case where the data cells D5 and D6 have an error is shown. As described later, the parity cell P0 cannot be detected, but the error is detected by the parity cells P2 and P3.

【0033】しかし、中セル10−4では、データセル
D4とD5が誤りであるが、どのパリティセルを用いて
も誤りを検出できない。これは、周知の通り、パリティ
ビットは対象データのビット1の数が偶数個か奇数個か
の判定ビットの為、誤りデータが偶数個の場合は検出で
きないことによる。中セル10−4の場合、データ誤り
であるデータセルD4とD5は、このパリティビットと
なる当該パリティセルP0にとって偶数個のデータ誤り
となり検出できない。また同様に当該パリティセルP2
にとっても偶数個のデータ誤りとなり検出できない為、
中セル10−4のデータ誤りは検出できないことにな
る。
However, in the middle cell 10-4, although the data cells D4 and D5 have an error, no error can be detected using any parity cell. This is because, as is well known, the parity bit is a determination bit of whether the number of bits 1 of the target data is an even number or an odd number. In the case of the middle cell 10-4, the data cells D4 and D5 which are data errors are an even number of data errors for the parity cell P0 serving as the parity bit and cannot be detected. Similarly, the parity cell P2
For even number of data errors and cannot be detected,
A data error in the middle cell 10-4 cannot be detected.

【0034】ここで、中セル10−3をもう一度見直す
と、データセルD5とD6が誤りの場合、このパリティ
ビットとなる当該パリティセルP0にとって、偶数個の
データ誤りとなり、前記の通り検出できないが、データ
セルD5とD6は、それぞれ当該パリティセルP2とP
3の対象データともなっており、この当該パリティセル
P2とP3によってデータ誤りを検出している。このよ
うに、該中セル内にデータ誤りが複数あり、かつ、当該
パリティセル内で偶数個であり、かつ、該データ誤りの
他の当該パリティセル内でも偶数個であるような場合は
稀にしか有り得ず、前記の通り、データセル1つに対し
て当該パリティセル2つを対象とし、また、データセル
8つに対して当該パリティセル1つを割り当てること
で、データ誤り検出の信頼性を向上させている。
Here, when the middle cell 10-3 is reviewed again, if the data cells D5 and D6 are erroneous, an even number of data errors will occur for the parity cell P0 serving as the parity bit, and the data cannot be detected as described above. , The data cells D5 and D6 are the parity cells P2 and P2, respectively.
3, the data error is detected by the parity cells P2 and P3. As described above, in the rare case where there are a plurality of data errors in the middle cell, and there is an even number in the parity cell, and there is an even number in the other parity cells of the data error, it is rare. As described above, as described above, two parity cells are targeted for one data cell, and one parity cell is assigned to eight data cells, thereby improving the reliability of data error detection. Have improved.

【0035】図5は中セル10〜90により構成された
本第1の実施の形態の二次元コード100を示してい
る。二次元コード100はこのように、中セル10を同
一向きに順に配置することで構成される。ここで中セル
の切り出し方法について、中セル10を例に取って説明
する。前記の通り、各中セル10〜90のセパレータセ
ル10−PO1〜90−PO1は黒色の為、隣接する白
色のセパレータセルにより、容易に検出しやすい位置に
配置されている。中セル10の範囲は、隣接する中セル
20、中セル40、中セル50のそれぞれのポインタセ
ル20−PO1、40−PO1、50−PO1により指
示される。また、ポインタセルの大きさは小セル1つ分
であり、ポインタセルとポインタセルの間隔は小セル4
つ分であることから、中セル10は、中セル10の自身
のポインタセル10−PO1を基準とすることで、容易
にかつ正確に切り出せる。このように、他の中セルも同
様な方法で切り出しが可能である。
FIG. 5 shows a two-dimensional code 100 according to the first embodiment constituted by middle cells 10 to 90. The two-dimensional code 100 is configured by arranging the middle cells 10 sequentially in the same direction. Here, a method of cutting out the middle cell will be described by taking the middle cell 10 as an example. As described above, the separator cells 10-PO1 to 90-PO1 of the middle cells 10 to 90 are black, and are arranged at positions that are easily detected by the adjacent white separator cells. The range of the middle cell 10 is indicated by the respective pointer cells 20-PO1, 40-PO1, and 50-PO1 of the adjacent middle cells 20, 40, and 50. The size of the pointer cell is one small cell, and the distance between the pointer cells is 4 small cells.
Therefore, the middle cell 10 can easily and accurately cut out the middle cell 10 based on its own pointer cell 10-PO1. Thus, other middle cells can be cut out in the same manner.

【0036】図6に、本第1の実施の形態の枠150で
囲んだ本第1の実施の形態の二次元コード100を示
す。図6に示すように、本第1の実施の形態の枠150
は、本第1の実施の形態の二次元コード100の周囲を
1小セル幅の白色枠とこの白色枠の周囲を1小セル幅の
黒色枠で囲むものである。二次元コード100を枠15
0で囲むことにより、二次元コード100の切り出しが
高速に実現可能となる。これは、枠150がない場合、
二次元コード100の切り出しには、二次元コード10
0周辺に存在する、文字や絵等との違いを認識しながら
切り出しを行う必要がある為、多くの時間がかかってい
たが、枠150で囲んだことにより、二次元コード10
0の切り出しは、枠150の切り出しに置き換わるから
であり、また、枠150は前記構成の決まった特定パタ
ーンである為、容易に切り出しが可能である為である。
FIG. 6 shows the two-dimensional code 100 according to the first embodiment surrounded by a frame 150 according to the first embodiment. As shown in FIG. 6, a frame 150 according to the first embodiment is provided.
Is a white frame with a small cell width around the two-dimensional code 100 of the first embodiment, and a black frame with a small cell width surrounding the white frame. Frame 15 with 2D code 100
By enclosing the two-dimensional code 100, the two-dimensional code 100 can be cut out at high speed. This means that if there is no frame 150,
To cut out the two-dimensional code 100, use the two-dimensional code 10
Since it was necessary to perform the cutout while recognizing the difference from characters, pictures, etc. existing around 0, it took a lot of time.
This is because the cutout of 0 is replaced by the cutout of the frame 150, and the cutout can be easily performed because the frame 150 is a specific pattern having the above-described configuration.

【0037】次に動作を説明する。Next, the operation will be described.

【0038】本第1の実施の形態におけるコンピュータ
システム1内のCPU2により実行される、二次元コー
ドの検出処理について、図7に示すフローチャートに基
づいて説明する。
The two-dimensional code detection process executed by the CPU 2 in the computer system 1 according to the first embodiment will be described with reference to the flowchart shown in FIG.

【0039】まず、対象とする二次元コード100を含
む枠150をエリアセンサー8によりセンスし、得られ
た画像データをCPU2が解析して、前記枠150の切
り出しを行う(ステップS1)。また、CPU2は、切
り出した二次元コード100を含む枠150の画像デー
タから、前記構成に従い、枠150の黒枠、及び白枠を
除くことで、二次元コード100の切り出しを行う(ス
テップS1)。
First, the frame 150 containing the target two-dimensional code 100 is sensed by the area sensor 8, and the obtained image data is analyzed by the CPU 2 to cut out the frame 150 (step S1). Further, the CPU 2 cuts out the two-dimensional code 100 by removing the black frame and the white frame of the frame 150 from the image data of the frame 150 including the cut-out two-dimensional code 100 according to the above configuration (step S1).

【0040】この際、エリアセンサー8によりセンスし
た画像データは、RAM3内のメモリ領域に一旦保存さ
れ、この保存された画像データをCPU2が読み出して
解析を行う。また以降、同様にCPU2により解析を行
ったデータは、適宜RAM3内のメモリ領域に保存され
る。
At this time, the image data sensed by the area sensor 8 is temporarily stored in a memory area in the RAM 3, and the stored image data is read and analyzed by the CPU 2. Thereafter, data similarly analyzed by the CPU 2 is appropriately stored in a memory area in the RAM 3.

【0041】次に、CPU2は、前記二次元コード10
0及び中セル10の構成により、ステップS1により検
出された二次元コード100の角に存在する黒領域をポ
インタセルAと判断し(ステップS2)、ポインタセル
Aと判断した黒領域の大きさを小セル1つ分の大きさと
判断する(ステップS3)。
Next, the CPU 2 executes the two-dimensional code 10
With the configuration of the 0 and the middle cell 10, the black area existing at the corner of the two-dimensional code 100 detected in step S1 is determined as the pointer cell A (step S2), and the size of the black area determined as the pointer cell A is determined. The size is determined as one small cell (step S3).

【0042】さらに、CPU2は、二次元コード100
の縦方向にステップS3にて大きさを判断した小セルの
5つ分の箇所の黒領域をポインタセルBと判断する。ま
た同様に、横方向に小セル5つ分の箇所の黒領域をポイ
ンタセルC、ポインタセルBから横方向に小セル5つ分
の箇所の黒領域をポインタセルDと判断する(ステップ
S4)。
Further, the CPU 2 executes the two-dimensional code 100
Is determined as the pointer cell B in the vertical direction of the five small cells whose size has been determined in step S3. Similarly, it is determined that the black area of five small cells in the horizontal direction is the pointer cell C, and the black area of five small cells in the horizontal direction from the pointer cell B is the pointer cell D (step S4). .

【0043】次に、CPU2は、ステップS3にて判断
したポインタセルAの中心アドレスを求め(ステップS
5)、ステップS4にて判断したポインタセルA、B、
C、Dに囲まれる範囲を中セル10と判断し、前記中セ
ル10の構成により、ポインタセルAとポインタセルB
の間を小セル4つ分の等間隔と判断し、パリティセル2
つの中心アドレスに相当する箇所の色を判断して、2つ
のパリティセルそれぞれの値とする(ステップS6)。
Next, the CPU 2 obtains the center address of the pointer cell A determined in step S3 (step S3).
5), the pointer cells A, B,
The area surrounded by C and D is determined to be the middle cell 10, and the pointer cell A and the pointer cell B are determined by the structure of the middle cell 10.
Are determined to be equal intervals for four small cells, and the parity cell 2
The color of the portion corresponding to the two center addresses is determined, and is set as the value of each of the two parity cells (step S6).

【0044】続いて、同様にCPU2は、前記中セル1
0の構成の通り、ポインタセルA、B、C、Dから、該
中セルの他のパリティセル及びデータセルそれぞれの中
心アドレスを判断し、当該箇所の色を判断して、値を決
定する(ステップS7)。
Subsequently, similarly, the CPU 2 operates the middle cell 1
As in the configuration of 0, the center address of each of the other parity cells and data cells of the middle cell is determined from the pointer cells A, B, C, and D, the color of the corresponding location is determined, and the value is determined ( Step S7).

【0045】以下ポインタセルBまたはCまたはDをポ
インタセルAと置き換える(ステップS9)ことで、同
様に、各ポインタセルから該ポインタセルを含む該中セ
ルを切り出し、前記中セルを構成する各小セルの値を決
定することを順次繰り返すことで、二次元コード100
のコードを検出する。
By replacing the pointer cells B, C, or D with the pointer cells A (step S9), the middle cells including the pointer cells are similarly cut out from the pointer cells, and the small cells constituting the middle cells are similarly cut out. By repeatedly determining the cell value, the two-dimensional code 100
Detect code.

【0046】以上のように、本第1の実施の形態のコン
ピュータシステム1では、CPU2は二次元コード10
0の切り出しにおいて、枠150が二次元コード100
の周囲を囲っている為に、エリアセンサー8でセンスさ
れる画像データから枠150を検出することで二次元コ
ード100を容易に切り出すことができる。
As described above, in the computer system 1 of the first embodiment, the CPU 2
0, the frame 150 is the two-dimensional code 100
, The two-dimensional code 100 can be easily cut out by detecting the frame 150 from the image data sensed by the area sensor 8.

【0047】また、検出した二次元コード100は、縦
5×横5の25個の小セルにより構成された中セル10
が複数配置されたものであり、また、この中セル10
は、それぞれの中セル10の場所を示すポインタセルP
O1、中セル10を複数配置した際にポインタセルPO
1を検出し易くするためのセパレータセルS0〜S3、
二次元コード100の実際のデータに当たるデータセル
D0〜D15、及びデータセルD0〜D15のデータ誤
り検出の為のパリティセルP0〜P3により構成されて
いる為、CPU2は、二次元コード100から各中セル
10の切り出しを行って、二次元コード100の全ての
小セルのデータを検出する。
The detected two-dimensional code 100 is a medium cell 10 composed of 25 small cells of 5 × 5.
Are arranged in a plurality.
Is a pointer cell P indicating the location of each medium cell 10.
O1, the pointer cell PO when a plurality of middle cells 10 are arranged.
Separator cells S0 to S3 to facilitate detection of 1
Since the data cells D0 to D15 corresponding to the actual data of the two-dimensional code 100 and the parity cells P0 to P3 for detecting data errors in the data cells D0 to D15 are used, the CPU 2 executes The cell 10 is cut out, and data of all the small cells of the two-dimensional code 100 is detected.

【0048】また、CPU2は、検出した二次元コード
100から中セル10を切り出すが、ポインタセルPO
1を用いて、隣接する中セル10のポインタセルPO1
から、中セル10の境界を判断することで、容易に中セ
ル10を切り出すことができる。さらにCPU2は、中
セル10のポインタセルPO1の中心アドレスを求め、
中セル10が、縦5×横5の25の小セルにより構成さ
れていることにより、各セルのアドレスを決定し、デー
タを検出する。同様に、CPU2は、他の中セル10の
切り出しを行い、中セル10を構成する各セルのデータ
を検出し、二次元コード100のデータ全てを検出す
る。また、中セル10のパリティセルP0〜P3を用い
ることで、CPU2は、データセルD0〜D15のデー
タ誤りを検出することができる。
The CPU 2 cuts out the middle cell 10 from the detected two-dimensional code 100,
1, the pointer cell PO1 of the adjacent middle cell 10 is used.
Therefore, by determining the boundary of the middle cell 10, the middle cell 10 can be easily cut out. Further, the CPU 2 obtains the center address of the pointer cell PO1 of the middle cell 10,
Since the middle cell 10 is composed of 25 small cells of 5 × 5, the address of each cell is determined and data is detected. Similarly, the CPU 2 cuts out the other middle cell 10, detects data of each cell constituting the middle cell 10, and detects all data of the two-dimensional code 100. By using the parity cells P0 to P3 of the middle cell 10, the CPU 2 can detect a data error in the data cells D0 to D15.

【0049】したがって、CPU2は、エリアセンサー
8でセンスする画像データから、枠150を切り出すこ
とにより、容易に二次元コード100を切り出すことが
でき、また、二次元コード100は、等間隔に並んだポ
インタセルPO1から、二次元コード100を構成する
複数の中セル10を容易に切り出すことができる。ま
た、CPU2は、切り出した中セル10の構成から容易
に各セルのデータを検出すると共に、パリティセルP0
〜3によりデータ誤りがあるかどうかを検出することが
できる。
Therefore, the CPU 2 can easily cut out the two-dimensional code 100 by cutting out the frame 150 from the image data sensed by the area sensor 8, and the two-dimensional codes 100 are arranged at equal intervals. A plurality of middle cells 10 constituting the two-dimensional code 100 can be easily cut out from the pointer cell PO1. Further, the CPU 2 easily detects the data of each cell from the configuration of the cut-out middle cell 10 and also detects the parity cell P0.
It is possible to detect whether or not there is a data error according to # 3.

【0050】なお、枠150は、二次元コード100を
切り出す為に二次元コード100を囲んだが、二次元コ
ード100等のパターン認識をする必要のある画像の印
刷時と同時、または前後に当該画像を囲む様に印刷、若
しくは枠印として、二次元コード100以外にも適用す
ることができ、また、枠150の構成を黒色と白色の1
小セル幅の枠としたが、図8に示すように、細線や太
線、または多重線等の他の線種の枠線としてもよく、ま
た、パターン認識をする画像の上下左右の向きを判別可
能とする為、枠の各辺の線幅、線種を変更しても良い。
Although the frame 150 surrounds the two-dimensional code 100 in order to cut out the two-dimensional code 100, the frame 150 is printed at the same time as when printing an image such as the two-dimensional code 100 or the like that requires pattern recognition, or before and after printing. Can be applied to other than the two-dimensional code 100 by printing or enclosing the frame 150, and the configuration of the frame 150 can be black and white.
Although the frame has a small cell width, as shown in FIG. 8, it may be a frame line of another line type such as a thin line, a thick line, or a multiple line. To make it possible, the line width and line type of each side of the frame may be changed.

【0051】また、二次元コード100の検出方法で
は、二次元コード100の角に存在する黒領域をポイン
タセルPO1と判断し、中セル10を切り出し始めた
が、ポインタセルPO1は二次元コード100に小セル
5つ分の等間隔に複数存在する為、二次元コード100
の角以外のポインタセルPO1から切り出し始めても良
い。
In the method of detecting the two-dimensional code 100, the black area existing at the corner of the two-dimensional code 100 is determined to be the pointer cell PO1, and the middle cell 10 is started to be cut out. Since there are a plurality of small cells at equal intervals, the two-dimensional code 100
May be started to be cut out from the pointer cell PO1 other than the corner.

【0052】(第2の実施の形態)次に、第2の実施の
形態におけるコンピュータシステムについて説明する。
(Second Embodiment) Next, a computer system according to a second embodiment will be described.

【0053】本第2の実施の形態におけるコンピュータ
システムの要部構成は、第1の実施の形態のコンピュー
タシステムの要部構成と同様のものであるため、説明を
省略する。また、第1の実施の形態との相違点は、コン
ピュータシステム内のCPUにより実行される、二次元
コードの検出処理である為、図9を用いて、この処理を
説明する。
The main configuration of the computer system according to the second embodiment is the same as the main configuration of the computer system according to the first embodiment. The difference from the first embodiment is the two-dimensional code detection processing executed by the CPU in the computer system. This processing will be described with reference to FIG.

【0054】図9に、本第2の実施の形態の二次元コー
ド100をエリアセンサー8が捉えた映像の模式図を示
す。エリアセンサー8は前記の通り、受光部、走査部、
A/D変換回路等から構成されており、周知の通り、受
光部は、図9に示すように、画素と呼ばれる方眼状の細
かなマス毎に光の強度を検知する。一般的に二次元コー
ドを構成する最小単位のセルの大きさは、この画素1つ
よりも十分大きいため、図9に示すように、本第2の実
施の形態の二次元コード100を構成する小セルの大き
さもエリアセンサー8の画素1つ分より大きくなる。
FIG. 9 is a schematic diagram of an image in which the area sensor 8 captures the two-dimensional code 100 according to the second embodiment. As described above, the area sensor 8 includes a light receiving unit, a scanning unit,
As is well known, the light receiving unit detects the light intensity for each square grid called a pixel as shown in FIG. In general, the size of the minimum unit cell that forms the two-dimensional code is sufficiently larger than one pixel, and thus the two-dimensional code 100 according to the second embodiment is configured as shown in FIG. The size of the small cell is also larger than one pixel of the area sensor 8.

【0055】また、図9において、エリアセンサー8に
対して二次元コード100が平行位置ではないが、ユー
ザが二次元コード100をエリアセンサー8でセンスす
る場合、平行にセンスすることは困難かつ時間を要する
ため、図9の様に、斜めにセンスする場合が殆どであ
る。
In FIG. 9, the two-dimensional code 100 is not in a parallel position with respect to the area sensor 8, but when the user senses the two-dimensional code 100 with the area sensor 8, it is difficult and time-consuming to sense the two-dimensional code 100 in parallel. Therefore, in most cases, the sensing is performed diagonally as shown in FIG.

【0056】CPU2は、エリアセンサー8によりセン
スされた画像データを解析して、枠150及び二次元コ
ード100の切り出しを行い、さらに、二次元コード1
00の角に存在する黒領域をポインタセルと判断して、
中セルの切り出しを行うと共に、中セルを構成する各小
セルの位置及び色を検出し、各小セルのデータを判断す
る。この各小セルの位置を検出する際に用いる二次元コ
ード100の画像データはRAM3上に展開されてい
る、エリアセンサー8で検出した画素のデータである。
小セルの位置を検出する方法は、詳細には、CPU2
が、小セルの中心アドレスとなる画素を求め、当該画素
の色を判断してこの小セルのデータ値としている。
The CPU 2 analyzes the image data sensed by the area sensor 8 and cuts out the frame 150 and the two-dimensional code 100.
The black area existing at the corner of 00 is determined as a pointer cell,
The middle cell is cut out, the position and color of each small cell constituting the middle cell are detected, and the data of each small cell is determined. The image data of the two-dimensional code 100 used for detecting the position of each small cell is data of a pixel developed on the RAM 3 and detected by the area sensor 8.
The method of detecting the position of the small cell is described in detail in CPU2.
However, a pixel serving as a center address of a small cell is obtained, and the color of the pixel is determined to be a data value of the small cell.

【0057】本第2の実施の形態におけるコンピュータ
システムでは、この小セルの中心アドレスを求める際、
前記RAM3上に展開されている二次元コード100の
画像データ全体を1画素分左右方向に移動し、移動前後
のそれぞれの当該画素位置の色の論理積演算を行うこと
で、左右方向に白色画素が隣接する黒色画素は白色とし
て、当該画素の画像データを書き換える。また同様に、
画像データを1画素分上下方向に移動し、移動前後のそ
れぞれの当該画素位置の色の論理積演算を行って、上下
方向に白色画素が隣接する黒色画素は白色として、当該
画素の画像データを書き換える。この上下左右に画像デ
ータを1画素分移動させ、移動前後の当該画素の色の論
理演算を行うことを「画像データを揺らす」ことと呼ぶ
こととする。
In the computer system according to the second embodiment, when obtaining the center address of this small cell,
By moving the entire image data of the two-dimensional code 100 developed on the RAM 3 by one pixel in the left-right direction and performing a logical AND operation of the colors at the respective pixel positions before and after the movement, the white pixels in the left-right direction are obtained. The adjacent black pixel is set to white, and the image data of the pixel is rewritten. Similarly,
The image data is moved up and down by one pixel, and a logical AND operation of the colors at the pixel positions before and after the movement is performed. rewrite. Moving the image data up, down, left, and right by one pixel and performing a logical operation on the color of the pixel before and after the movement is referred to as “shaking the image data”.

【0058】このように画像データを揺らすことで、黒
色画素の数を減らす。CPU2は、この画像データを揺
らした後に、小セルのアドレスを検出する。例えば、中
セルを切り出す為のポインタセルの中心アドレスを求め
る場合、ポインタセルは、白色のセパレータセルが隣接
する為、ポインタセルを占める黒色画素の数は、画像デ
ータを揺らすことで周囲1画素分少なくなっている為、
画像データを揺らす以前より、容易かつ高速に中心アド
レスに該当する画素を検出することができる。
By shaking the image data in this manner, the number of black pixels is reduced. After swinging the image data, the CPU 2 detects the address of the small cell. For example, when obtaining the center address of a pointer cell for cutting out a middle cell, the number of black pixels occupying the pointer cell is one pixel around by shaking the image data because the pointer cell is adjacent to a white separator cell. Because it is running low
The pixel corresponding to the center address can be detected more easily and faster than before shaking the image data.

【0059】また、CPU2は、同様に他の小セルの中
心アドレスに該当する画素を検出し、当該小セルの値と
するが、前記の通り、白色セルが隣接する場合は、画素
数が少ない為、容易かつ高速に中心アドレスの当該画素
を検出できる。また、2次元コード100に汚れ等があ
る場合、画像データを揺らすことでこの汚れを消す、若
しくは小さくすることができ、データを誤って検出する
ことを防止することができる。
Similarly, the CPU 2 similarly detects a pixel corresponding to the center address of another small cell and sets it as the value of the small cell. As described above, when a white cell is adjacent, the number of pixels is small. Therefore, the pixel at the center address can be easily and quickly detected. Further, when the two-dimensional code 100 has dirt or the like, the dirt can be eliminated or reduced by shaking the image data, thereby preventing erroneous detection of the data.

【0060】以上のように、本第2の実施の形態のコン
ピュータシステムでは、二次元コードの各中セルを構成
する各小セルの中心アドレスを検出する際、二次元コー
ドの画像データ全体を1画素分上下左右方向に移動し、
移動前後の当該画素位置の色の論理演算を行うこととし
た為、各小セルの当該画素の数を減少させることができ
る。したがって、当該小セルの中心アドレスに該当する
画素を容易かつ高速に検出することができる。また、汚
れ等がある場合、この汚れを消す、若しくは小さくする
ことができ、データを誤って検出することを防止でき
る。
As described above, in the computer system according to the second embodiment, when detecting the center address of each small cell constituting each medium cell of the two-dimensional code, the entire image data of the two-dimensional code is converted to one. Move up, down, left and right by pixels,
Since the logical operation of the color at the pixel position before and after the movement is performed, the number of the pixels in each small cell can be reduced. Therefore, the pixel corresponding to the center address of the small cell can be easily and quickly detected. In addition, when there is dirt or the like, the dirt can be erased or reduced, thereby preventing erroneous detection of data.

【0061】なお、画像データを揺らすのは1画素分と
したが、小セルの当該画素を無くさない範囲で複数画素
分移動することとしても良く、この場合は、小セルの当
該画素数がさらに減少することで、より容易かつ高速に
当該小セルの中心アドレスを検出することができる。ま
た、画像データを揺らすことは定まった処理で可能であ
る為、この処理を行う制御部を設け、ハードウェアとし
て処理を実行させることとしても良く、この場合、さら
に高速に処理を実行することが可能である。
Although the image data is shaken for one pixel, the image data may be moved by a plurality of pixels within a range where the pixel of the small cell is not lost. In this case, the number of pixels of the small cell is further increased. By reducing the number, the center address of the small cell can be detected more easily and faster. In addition, since the image data can be shaken by a predetermined process, a control unit for performing the process may be provided, and the process may be executed as hardware. In this case, the process may be executed at higher speed. It is possible.

【0062】(第3の実施の形態)次に、第3の実施の
形態におけるコンピュータシステムについて説明する。
(Third Embodiment) Next, a computer system according to a third embodiment will be described.

【0063】本第3の実施の形態におけるコンピュータ
システムの要部構成は、第1の実施の形態のコンピュー
タシステムの要部構成と同様のものであるため、説明を
省略する。また、第1の実施の形態との相違点は、コン
ピュータシステム内のCPUにより実行される、二次元
コードを含む枠の切り出し処理、及び枠の構成である
為、この処理、及び構成について、図10〜12を用い
て説明する。
The main configuration of the computer system according to the third embodiment is the same as the main configuration of the computer system according to the first embodiment, and therefore, the description is omitted. Further, the difference from the first embodiment is the process of cutting out a frame including a two-dimensional code and the configuration of the frame, which are executed by the CPU in the computer system. This will be described using 10 to 12.

【0064】図10に本第3の実施の形態の後述する枠
200を構成する円形パターンを示す。図10に示す通
り、円形パターン10−Aは、円であり、10−Bは、
黒色の円であり、10−Cは、黒色のドーナツ状の同心
円であり、10−Dは、二重線の円である。
FIG. 10 shows a circular pattern constituting a frame 200 described later of the third embodiment. As shown in FIG. 10, the circular pattern 10-A is a circle, and 10-B is
It is a black circle, 10-C is a black donut-shaped concentric circle, and 10-D is a double line circle.

【0065】図11に本第3の実施の形態の枠200を
示す。枠200は、第1の実施の形態の枠150の角の
うち、左上角に円形パターン10−Aを、右上角に円形
パターン10−Bを、左下角に円形パターン10−C
を、右下角に円形パターン10−Dを配置した構成とな
っている。このように、枠200の四隅が異なる円形パ
ターンである為、二次元コードを含む枠200の上下左
右方向、及び表裏を容易に判別できる。
FIG. 11 shows a frame 200 according to the third embodiment. The frame 200 has a circular pattern 10-A at the upper left corner, a circular pattern 10-B at the upper right corner, and a circular pattern 10-C at the lower left corner of the corners of the frame 150 of the first embodiment.
Is arranged in a circular pattern 10-D at the lower right corner. As described above, since the four corners of the frame 200 have different circular patterns, the top, bottom, left, and right directions and the front and back of the frame 200 including the two-dimensional code can be easily determined.

【0066】また、二次元コードの切り出しは、第1の
実施の形態と同様、枠200を切り出すことであるが、
枠200は四隅に前記円形パターンを配置する構成の
為、円形パターンを検出することで容易に切り出しが可
能である。また、前記円形パターンは、1つ若しくは複
数の円を同心円として構成させたパターンであり、図1
2に示す通り、エリアセンサーにより何れの方向からセ
ンスする場合であっても、同一の円形パターンとなる。
この為、斜めにセンスした場合の処理を考慮する必要が
なくなり、円形パターンの認識プログラムを単純化でき
るため、認識処理に係るメモリ容量の低減が実現できる
と同時に、処理速度の高速化が実現できる。
The extraction of the two-dimensional code is to extract the frame 200 as in the first embodiment.
Since the circular pattern is arranged at the four corners of the frame 200, the frame 200 can be easily cut out by detecting the circular pattern. Further, the circular pattern is a pattern in which one or a plurality of circles are configured as concentric circles.
As shown in FIG. 2, the same circular pattern is obtained regardless of which direction the sensing is performed by the area sensor.
For this reason, it is not necessary to consider the processing in the case of oblique sensing, and the recognition program for the circular pattern can be simplified, so that the memory capacity for the recognition processing can be reduced and the processing speed can be increased. .

【0067】次にCPU2が、枠200を切り出す処理
について説明する。CPU2は、まず、エリアセンサー
でセンスした画像データから、円形パターン10−A〜
10−Dを検出する。枠200が斜めにセンスされた画
像データであった場合でも、円形パターン10−A〜1
0−Dは前記構成の為、容易かつ高速に検出ができる。
また、CPU2は、検出した円形パターン10−A〜1
0−Dの位置から枠200の上下左右、及び表裏を判断
する。次に、パターン10−A〜10−Dを結ぶ、枠2
00の範囲を検出することで、枠200の切り出しを行
うと共に、二次元コードの切り出しを行うことができ
る。
Next, the process of the CPU 2 cutting out the frame 200 will be described. The CPU 2 first determines the circular patterns 10-A to 10-A from the image data sensed by the area sensor.
10-D is detected. Even when the frame 200 is image data sensed diagonally, the circular patterns 10-A to 10-A
O-D can be easily and quickly detected because of the above configuration.
The CPU 2 also detects the detected circular patterns 10-A to 10-A-1.
The top, bottom, left, right, front and back of the frame 200 are determined from the position of 0-D. Next, frame 2 connecting patterns 10-A to 10-D
By detecting the range of 00, it is possible to cut out the frame 200 and cut out the two-dimensional code.

【0068】以上のように、本第3の実施の形態のコン
ピュータシステムでは、枠200は円形パターン10−
A〜10−Dを四隅に配置させた構成としており、ま
た、この円形パターンはそれぞれ1つ若しくは複数の同
心円で構成されている為、枠200を斜めにセンスした
としても、画像データは同一の円形パターンとなる。こ
のため、円形パターンの認識プログラムを単純化できる
ため、認識処理に係るメモリ容量の低減が実現できると
同時に、処理速度の高速化が実現できる。
As described above, in the computer system according to the third embodiment, the frame 200 has the circular pattern 10-.
A to 10-D are arranged at four corners, and since this circular pattern is composed of one or a plurality of concentric circles, even if the frame 200 is sensed diagonally, the image data is the same. It becomes a circular pattern. For this reason, since the recognition program for the circular pattern can be simplified, the memory capacity required for the recognition processing can be reduced, and the processing speed can be increased.

【0069】また、円形パターン10−A〜10−Dは
それぞれ異なる円形パターンである為、切り出した枠2
00の上下左右、及び表裏を容易かつ高速に判断するこ
とができる。
Since the circular patterns 10-A to 10-D are different circular patterns, the cut frame 2
The top, bottom, left, right, front and back of 00 can be determined easily and at high speed.

【0070】なお、円形パターンは他の同心円を複数用
いた構成としても良く、その場合、円形パターン4つの
組み合わせにより、どのような二次元コードなのか、と
いう判断を二次元コードの切り出し時に行うことができ
る。
It should be noted that the circular pattern may have a configuration using a plurality of other concentric circles. In this case, it is necessary to determine what kind of two-dimensional code the two-dimensional code is at the time of cutting out the two-dimensional code by combining four circular patterns. Can be.

【0071】(第4の実施の形態)次に、第4の実施の
形態におけるコンピュータシステムについて説明する。
(Fourth Embodiment) Next, a computer system according to a fourth embodiment will be described.

【0072】本第4の実施の形態におけるコンピュータ
システムの要部構成は、第1の実施の形態のコンピュー
タシステムの要部構成と同様のものであるため、説明を
省略する。また、第1の実施の形態との相違点は、コン
ピュータシステム内のCPUにより実行される、二次元
コードの切り出し処理、及び後述する切り出し用パター
ンの構成である為、この処理、及び二次元コードの構成
について、図13〜14を用いて説明する。
The main configuration of the computer system according to the fourth embodiment is the same as the main configuration of the computer system according to the first embodiment, and a description thereof will be omitted. The difference from the first embodiment lies in the two-dimensional code extraction process executed by the CPU in the computer system and the configuration of the extraction pattern described later. Will be described with reference to FIGS.

【0073】まず、二次元コードの構成を説明する。First, the structure of the two-dimensional code will be described.

【0074】図13に本第4の実施の形態における二次
元コードのコード発見用パターンと切り出し用パターン
を示す。第1の実施の形態の切り出し用パターンとの混
同を避ける為、「中心十字切り出しパターン」と呼ぶこ
ととする。中心十字切り出しパターンは、二次元コード
100の中心位置に配置したコード発見用パターン13
−1と、このコード発見用パターン13−1から上下左
右方向に配置したコード切り出し用パターン13−2〜
13−5から構成される。
FIG. 13 shows a code finding pattern and a cut-out pattern of a two-dimensional code according to the fourth embodiment. In order to avoid confusion with the cutout pattern of the first embodiment, it is referred to as a “center cross cutout pattern”. The central cross cut pattern is a code finding pattern 13 arranged at the center of the two-dimensional code 100.
-1 and the code cutout patterns 13-2 to 13-4 arranged in the up, down, left, and right directions from the code finding pattern 13-1
13-5.

【0075】また、コード発見用パターン13−1は、
二次元コード100の中心に配置した直径1〜2小セル
相当の白円と、この白円の周囲を幅1小セル相当の黒線
で囲んだ黒円と、さらにこの黒円を幅1小セル相当の白
線で囲んだ黒円で構成される。
The code discovery pattern 13-1 is
A white circle corresponding to a cell having a diameter of 1 to 2 small cells arranged at the center of the two-dimensional code 100, a black circle surrounding the white circle with a black line corresponding to a cell having a width of 1 small, and the black circle having a width of 1 small It consists of a black circle surrounded by a white line equivalent to a cell.

【0076】また、コード切り出し用パターン13−2
は、コード発見用パターン13−1の黒円の右端から、
二次元コードの外枠右端まで引いた、幅1小セル分の黒
線と幅1小セル分の白線で構成される。同様にコード切
り出し用パターン13−3は、コード発見用パターン1
3−1の黒円の下端から二次元コードの外枠下端まで、
幅1小セル分の黒線と幅1小セル分の白線で引いた構成
であり、コード切り出し用パターン13−4は、コード
発見用パターン13−1の黒円の左端から二次元コード
の外枠左端まで、幅1小セル分の黒線と幅1小セル分の
白線で引いた構成であり、コード切り出し用パターン1
3−5は、コード発見用パターン13−1の黒円の上端
から二次元コードの外枠上端まで、幅1小セル分の黒線
と幅1小セル分の白線で引いた構成である。
Also, the code cutting pattern 13-2
Is from the right end of the black circle of the code discovery pattern 13-1.
It consists of a black line for one small cell and a white line for one small cell extending to the right end of the outer frame of the two-dimensional code. Similarly, the code cutting pattern 13-3 is the code finding pattern 1
From the lower end of the black circle of 3-1 to the lower end of the outer frame of the two-dimensional code,
In this configuration, a black line for one small cell width and a white line for one small cell width are drawn, and the code cutout pattern 13-4 is outside the two-dimensional code from the left end of the black circle of the code discovery pattern 13-1. The black line for one small cell and the white line for one small cell are drawn to the left end of the frame.
3-5 is a configuration in which a black line for one small cell and a white line for one small cell are drawn from the upper end of the black circle of the code finding pattern 13-1 to the upper end of the outer frame of the two-dimensional code.

【0077】このように、本第4の実施の形態の二次元
コードは、中心十字切り出しパターンを内部に持つた
め、二次元コードの切り出しは、この中心十字切り出し
パターンを検出することで容易に実現することができ
る。
As described above, since the two-dimensional code of the fourth embodiment has the center cross cut pattern inside, the two-dimensional code is easily realized by detecting the center cross cut pattern. can do.

【0078】次に動作を説明する。Next, the operation will be described.

【0079】本第4の実施の形態におけるコンピュータ
システム内のCPU2により実行される、二次元コード
の切り出し処理について、図14に示すフローチャート
に基づいて説明する。
A two-dimensional code cutout process executed by the CPU 2 in the computer system according to the fourth embodiment will be described with reference to the flowchart shown in FIG.

【0080】まず、CPU2は、中心十字切り出しパタ
ーンを含む、二次元コードの画像データから、直径1小
セル以上の白色の円を検索する(ステップS141)。
次に、検出した白色の円の周囲が、黒色の円かどうかを
判断し(ステップS142)、黒色の円でない場合はス
テップS141に戻る。
First, the CPU 2 retrieves a white circle having a diameter of one small cell or more from the image data of the two-dimensional code including the central cross cut-out pattern (step S141).
Next, it is determined whether or not the periphery of the detected white circle is a black circle (step S142). If not, the process returns to step S141.

【0081】次に、CPU2は、黒色の円であった場
合、この円と繋がっている黒線を検察し、その黒線のア
ドレスを記憶する(ステップS143)。この際、記憶
したデータは適宜RAM3内のメモリ領域に保存する。
Next, if it is a black circle, the CPU 2 detects a black line connected to the circle and stores the address of the black line (step S143). At this time, the stored data is appropriately stored in a memory area in the RAM 3.

【0082】次に、CPU2は、この記憶した、若しく
はRAM3内のメモリ領域に保存した黒線を、コード切
り出し用パターンと判断し、この黒線の横方向若しくは
縦方向の、黒線のアドレス範囲内の領域を二次元コード
のデータ領域と判断し、二次元コードの切り出しを行う
(ステップS144)。
Next, the CPU 2 determines the stored black line or the black line stored in the memory area in the RAM 3 as a code cutting pattern, and determines the horizontal or vertical black line address range of the black line. Is determined as the data area of the two-dimensional code, and the two-dimensional code is cut out (step S144).

【0083】以上のように、本第4の実施の形態のコン
ピュータシステムでは、二次元コードの内部に中心十字
切り出しパターンを持つため、この中心十字切り出しパ
ターンを検出することで、容易かつ高速に画像データか
ら二次元コードを切り出すことができる。
As described above, the computer system according to the fourth embodiment has the center cross cut pattern inside the two-dimensional code. A two-dimensional code can be cut out from the data.

【0084】なお、本第4の実施の形態では、中心十字
切り出しパターンは、二次元コードに1つとしている
が、二次元コードのサイズによって、複数配置する構成
としても良く、その場合には、中心十字切り出しパター
ンの個々の範囲において、二次元コードの局所的な歪み
にも、当該中心十字切り出しパターンのコード切り出し
用パターンにより、対応することが可能である。
In the fourth embodiment, one central cross cutout pattern is provided for the two-dimensional code. However, a plurality of central cross-cut patterns may be arranged depending on the size of the two-dimensional code. It is possible to cope with local distortion of the two-dimensional code in each range of the center cross cutout pattern by the code cutout pattern of the center cross cutout pattern.

【0085】[0085]

【発明の効果】請求項1及び請求項7記載の発明によれ
ば、二次元コードの切り出し、及び読み取りは、当該二
次元コードを構成する当該各中セル単位で行えるため、
二次元コード全てに対して一度に切り出し、及び読み取
りを行う必要がなく、更に、中セル単位の切り出し、及
び読み取り処理を複数並行して行うことにより、切り出
し、及び読取時間を短縮させることができる。また、二
次元コードが歪んでいた場合であっても、当該各中セル
に影響がない範囲であれば、切り出し、及び読み取りを
行うことができる。
According to the first and seventh aspects of the present invention, the two-dimensional code can be cut out and read for each medium cell constituting the two-dimensional code.
It is not necessary to cut out and read all the two-dimensional codes at once, and furthermore, it is possible to shorten the cutting and reading time by performing a plurality of cutting and reading processes in medium cells in parallel. . In addition, even when the two-dimensional code is distorted, cutting and reading can be performed within a range that does not affect the respective middle cells.

【0086】また、デコード手段により、中セル単位で
データ誤りの検出が行えるため、データ誤りの範囲を二
次元コードの当該中セルの範囲に特定することができ、
データ誤り検出の信頼性を向上させることができる。ま
た、中セル単位でデコードするため、読み取った複数の
中セルをそれぞれ並行してデコード処理することによ
り、デコード時間を短縮させることができる。
Further, since the data error can be detected in the medium cell unit by the decoding means, the range of the data error can be specified to the range of the medium cell of the two-dimensional code.
The reliability of data error detection can be improved. In addition, since decoding is performed in units of middle cells, the decoding time can be reduced by performing decoding processing on a plurality of read middle cells in parallel.

【0087】請求項2記載の発明によれば、請求項1記
載の発明の効果に加えて、読取手段は、切り出し用枠パ
ターンを認識することで、二次元コード全体の切り出し
を行えるため、二次元コードの切り出し時間を短縮させ
ることができる。また、切り出し用枠パターンをそれぞ
れ異種の枠線とすることで、二次元コードの上下左右方
向を容易に認識することができる。
According to the second aspect of the invention, in addition to the effect of the first aspect, the reading means can cut out the entire two-dimensional code by recognizing the cutout frame pattern. The time for cutting out the dimension code can be reduced. In addition, by using different frame lines for the cut-out frame patterns, the vertical and horizontal directions of the two-dimensional code can be easily recognized.

【0088】請求項3記載の発明によれば、請求項1記
載の発明の効果に加えて、読取手段は、切り出し用枠パ
ターンの四隅に配置された円形の切り出し用パターンを
認識することで、二次元コードを含む切り出し用枠パタ
ーンの上下左右方向及び表裏を容易に認識することがで
きる。また、円形のため、エリアセンサーによる何れの
方向からのセンスであっても同一の円形パターンとな
り、円形パターンの認識プログラムを単純化でき、認識
処理に係るメモリ容量の低減が実現できると同時に、処
理速度の高速化が実現できる。
According to the third aspect of the present invention, in addition to the effect of the first aspect, the reading means recognizes the circular cutout patterns arranged at the four corners of the cutout frame pattern, It is possible to easily recognize the vertical and horizontal directions and the front and back of the cutout frame pattern including the two-dimensional code. In addition, because of the circular shape, the same circular pattern is obtained regardless of the sense from any direction by the area sensor, so that the program for recognizing the circular pattern can be simplified, and the memory capacity required for the recognition process can be reduced. Higher speed can be realized.

【0089】請求項4記載の発明によれば、請求項1記
載の発明の効果に加えて、読取手段は、コード発見用パ
ターンと切り出し用パターンを認識することで、二次元
コード全体の切り出しを行えるため、二次元コードの切
り出し時間を短縮させることができる。
According to the fourth aspect of the invention, in addition to the effect of the first aspect, the reading means recognizes the code finding pattern and the cutout pattern, thereby cutting out the entire two-dimensional code. Therefore, the time for cutting out the two-dimensional code can be reduced.

【0090】請求項5記載の発明によれば、請求項1記
載の発明の効果に加えて、読取手段は、当該中セルの当
該認識ポインタセルの中心画素を識別する際に、コード
データを上下左右方向に所定量移動させ、この移動前後
の当該コードデータの論理積をとることにより、当該認
識ポインタセルの黒色画素数が、上下左右方向に隣接す
るセパレータセルの白色画素により減少することで、当
該認識ポインタセルの中心画素を容易かつ高速に識別す
ることが可能である。
According to the fifth aspect of the present invention, in addition to the effect of the first aspect of the invention, when the reading unit identifies the central pixel of the recognition pointer cell of the middle cell, the reading unit changes the code data up and down. By moving the code data before and after the movement by a predetermined amount in the left and right direction and taking the logical product of the code data before and after the movement, the number of black pixels of the recognition pointer cell is reduced by the white pixels of the separator cells adjacent in the up, down, left and right directions, It is possible to easily and quickly identify the central pixel of the recognition pointer cell.

【0091】請求項6記載の発明によれば、請求項1記
載の発明の効果に加えて、デコード手段は、当該中セル
を構成する各コードデータそれぞれの中心画素から当該
各コードデータの値を判断することから、各コードデー
タそれぞれを表す多数の画素から当該各コードデータの
値を判断する必要がなく、容易かつ高速に判断すること
が可能である。また、各中セルの構成は同一のため、読
取手段が識別した当該中セルの当該認識ポインタセルの
中心画素から容易かつ高速に当該コードデータそれぞれ
の中心画素位置を識別することが可能である。
According to the sixth aspect of the invention, in addition to the effect of the first aspect of the invention, the decoding means further comprises means for determining the value of each code data from the center pixel of each code data constituting the middle cell. Since the determination is made, it is not necessary to determine the value of each code data from a large number of pixels representing each code data, and the determination can be made easily and quickly. Further, since the configuration of each of the middle cells is the same, it is possible to easily and quickly identify the center pixel position of the code data from the center pixel of the recognition pointer cell of the middle cell identified by the reading unit.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態におけるコンピュー
タシステム1の要部構成を示すブロック図。
FIG. 1 is an exemplary block diagram showing a main configuration of a computer system 1 according to a first embodiment of the present invention.

【図2】図1のエリアセンサー8を中心としたコンピュ
ータシステム1の構成を示す図。
FIG. 2 is a diagram showing a configuration of a computer system 1 centering on an area sensor 8 of FIG.

【図3】第1の実施の形態の中セル10の基本構成を示
す図。
FIG. 3 is a diagram showing a basic configuration of a middle cell 10 according to the first embodiment.

【図4】第1の実施の形態の中セル10内のデータ誤り
検出方法を示す図。
FIG. 4 is a diagram illustrating a data error detection method in the middle cell 10 according to the first embodiment.

【図5】第1の実施の形態の二次元コード100を示す
図。
FIG. 5 is a diagram showing a two-dimensional code 100 according to the first embodiment.

【図6】第1の実施の形態の枠150で囲んだ二次元コ
ード100を示す図。
FIG. 6 is a diagram showing the two-dimensional code 100 surrounded by a frame 150 according to the first embodiment.

【図7】第1の実施の形態のコンピュータシステム1に
より実行される二次元コードの検出処理を示すフローチ
ャート。
FIG. 7 is a flowchart showing a two-dimensional code detection process executed by the computer system 1 according to the first embodiment;

【図8】第1の実施の形態の枠150の変形例。FIG. 8 is a modified example of the frame 150 of the first embodiment.

【図9】第2の実施の形態の二次元コード100をエリ
アセンサー8が捉えた映像を示す模式図。
FIG. 9 is a schematic diagram showing an image in which the area sensor 8 captures the two-dimensional code 100 according to the second embodiment.

【図10】第3の実施の形態の枠200を構成する円形
パターンを示す図。
FIG. 10 is a diagram showing a circular pattern forming a frame 200 according to the third embodiment;

【図11】第3の実施の形態の円形パターンを示す図。FIG. 11 is a diagram showing a circular pattern according to the third embodiment.

【図12】第3の実施の形態の円形パターンを斜めにセ
ンスした場合を示す図。
FIG. 12 is a diagram illustrating a case where a circular pattern according to the third embodiment is sensed obliquely.

【図13】第4の実施の形態のコード発見用パターンと
切り出し用パターンを示す図。
FIG. 13 is a diagram showing a code finding pattern and a cutout pattern according to the fourth embodiment;

【図14】第4の実施の形態のコンピュータシステム1
により実行される二次元コードの切り出し処理を示すフ
ローチャート。
FIG. 14 is a computer system 1 according to a fourth embodiment.
9 is a flowchart showing a two-dimensional code cutout process executed by (1).

【符号の説明】[Explanation of symbols]

1 コンピュータシステム 2 CPU 3 RAM 4 記憶装置 5 記憶媒体 6 表示部 7 入力部 8 エリアセンサー 9 バス 10 中セル PO1 ポインタセル S0〜S3 セパレータセル P0〜P3 パリティセル D0〜D15 データセル 10−1、10−2、10−3、10−4
中セル 20、30、40、50、60、70、80、90、
中セル 10−PO1、20−PO1、40−PO1、50−P
O1、 ポインタセル 10−A、10−B、10−C、10−D 切り出し用
円形パターン 13−1 コード発見用パターン 13−2、13−3,13−4,13−5 コード切り
出し用パターン 100 二次元コード 150、151〜153、200 切り出し
用枠
Reference Signs List 1 computer system 2 CPU 3 RAM 4 storage device 5 storage medium 6 display unit 7 input unit 8 area sensor 9 bus 10 medium cell PO1 pointer cell S0 to S3 separator cell P0 to P3 parity cell D0 to D15 data cell 10-1, 10 -2, 10-3, 10-4
Medium cells 20, 30, 40, 50, 60, 70, 80, 90,
Medium cell 10-PO1, 20-PO1, 40-PO1, 50-P
O1, pointer cells 10-A, 10-B, 10-C, 10-D Circular pattern for clipping 13-1 Code finding pattern 13-2, 13-3, 13-4, 13-5 Code clipping pattern 100 Two-dimensional code 150, 151-153, 200 Cutting frame

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06K 19/06 G06K 19/00 E ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification code FI G06K 19/06 G06K 19/00 E

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】二次元コードを読み取ってデコードする二
次元コードデコード装置において、 前記二次元コードは、当該二次元コード中に展開された
コードデータ中の誤りを検出させるための誤り検出セル
と、当該二次元コードの展開位置を認識させるための認
識ポインタセルとを含む一連のコードデータを中セルと
し、この中セルをデコードすべき二次元コードデータの
処理単位として複数配置して構成され、 この二次元コードを読み取る際に、前記認識ポインタセ
ルに基づいて前記各中セルの読み出し位置を識別して当
該二次元コードを読み取る読取手段と、 この読取手段により読み取られた各中セルに含まれる前
記誤り検出セルに基づいて、当該中セル毎にデコードす
べきコードデータ中の誤り箇所を検出して、当該二次元
コード内のコードデータを中セル単位でデコードするデ
コード手段と、 を備えたことを特徴とする二次元コードデコード装置。
1. A two-dimensional code decoding device for reading and decoding a two-dimensional code, wherein the two-dimensional code comprises: an error detection cell for detecting an error in code data expanded in the two-dimensional code; A series of code data including a recognition pointer cell for recognizing the development position of the two-dimensional code is defined as a middle cell, and the plurality of middle cells are arranged as processing units of two-dimensional code data to be decoded. When reading the two-dimensional code, a reading unit that identifies the reading position of each of the medium cells based on the recognition pointer cell and reads the two-dimensional code, and the reading unit that is included in each of the medium cells read by the reading unit. Based on the error detection cell, an error portion in the code data to be decoded for each of the medium cells is detected, and an error portion in the two-dimensional code is detected. Two-dimensional code decoding apparatus being characterized in that and a decoding means for decoding at medium cell units Dodeta.
【請求項2】前記二次元コードは、展開した前記複数の
中セルの周囲を囲む切り出し用枠パターンを更に配置し
て構成され、 前記読取手段は、この二次元コードを読み取る際に、前
記切り出し用枠パターンを認識して、当該二次元コード
全体を切り出して読み取ることを特徴とする請求項1記
載の二次元コードデコード装置。
2. The two-dimensional code further comprises a cutout frame pattern surrounding the expanded plurality of middle cells, wherein the reading means reads the two-dimensional code when reading the two-dimensional code. 2. The two-dimensional code decoding device according to claim 1, wherein the two-dimensional code is cut out and read by recognizing the frame pattern.
【請求項3】前記二次元コードは、前記切り出し用枠パ
ターンを配置し、この切り出し用枠パターンの四隅に更
に円形の切り出し用パターンを配置して構成され、 前記読取手段は、この二次元コードを読み取る際に、前
記円形の切り出し用パターンを認識して、当該二次元コ
ード全体を切り出して読み取ることを特徴とする請求項
1記載の二次元コードデコード装置。
3. The two-dimensional code is configured by arranging the cut-out frame pattern, and further arranging a circular cut-out pattern at four corners of the cut-out frame pattern. 2. The two-dimensional code decoding apparatus according to claim 1, wherein, when reading the two-dimensional code, the circular cutting pattern is recognized, and the entire two-dimensional code is cut out and read.
【請求項4】前記二次元コードは、展開した前記複数の
中セルの内部にコード発見用パターンと切り出し用パタ
ーンを配置して構成され、 前記読取手段は、この二次元コードを読み取る際に、前
記コード発見用パターンと切り出し用パターンを認識し
て、当該二次元コード全体を切り出して読み取ることを
特徴とする請求項1記載の二次元コードデコード装置。
4. The two-dimensional code is configured by arranging a code finding pattern and a cut-out pattern inside the developed middle cells, wherein the reading unit reads the two-dimensional code when reading the two-dimensional code. 2. The two-dimensional code decoding device according to claim 1, wherein the two-dimensional code is cut out and read by recognizing the code finding pattern and the cut-out pattern.
【請求項5】前記読取手段は、前記認識ポインタセルを
識別する際に、当該認識ポインタセルの中心画素を識別
し、当該画素から当該認識ポインタセルの位置を判断す
ることを特徴とする請求項1記載の二次元コードデコー
ド装置。
5. The apparatus according to claim 1, wherein said reading means identifies a central pixel of the recognition pointer cell when identifying the recognition pointer cell, and determines the position of the recognition pointer cell from the pixel. 2. The two-dimensional code decoding device according to 1.
【請求項6】前記デコード手段は、前記読取手段が識別
した前記認識ポインタセルの中心画素位置を基に、前記
中セルを構成する各コードデータの中心画素位置をそれ
ぞれ識別し、当該各中心画素の識別結果から当該各コー
ドデータの値を判断することを特徴とする請求項1記載
の二次元コードデコード装置。
6. The decoding means identifies a central pixel position of each code data constituting the middle cell based on a central pixel position of the recognition pointer cell identified by the reading means. 2. The two-dimensional code decoding device according to claim 1, wherein the value of each of the code data is determined from the identification result of the above.
【請求項7】二次元コードを読み取ってデコードするた
めのコンピュータが実行可能なプログラムを格納した記
憶媒体において、 前記二次元コードは、当該二次元コード中に展開された
コードデータ中の誤りを検出させるための誤り検出セル
と、当該二次元コードの展開位置を認識させるための認
識ポインタセルとを含む一連のコードデータを中セルと
し、この中セルをデコードすべき二次元コードデータの
処理単位として複数配置して構成され、 この二次元コードを読み取る際に、前記認識ポインタセ
ルに基づいて前記各中セルの読み出し位置を識別して当
該二次元コードを読み取るためのコンピュータが実行可
能なプログラムコードと、 読み取られた各中セルに含まれる前記誤り検出セルに基
づいて、当該中セル毎にデコードすべきコードデータ中
の誤り箇所を検出して、当該二次元コード内のコードデ
ータを中セル単位でデコードするためのコンピュータが
実行可能なプログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
体。
7. A storage medium storing a computer-executable program for reading and decoding a two-dimensional code, wherein the two-dimensional code detects an error in code data expanded in the two-dimensional code. A series of code data including an error detection cell for causing the two-dimensional code to be recognized and a recognition pointer cell for recognizing the developed position of the two-dimensional code is defined as a middle cell. When reading this two-dimensional code, a computer-executable program code for identifying the read position of each of the middle cells based on the recognition pointer cell and reading the two-dimensional code is provided. Based on the read error detecting cells included in each of the read middle cells, Detects the error location in Dodeta, storage medium characterized by computer for decoding the code data of the in the two-dimensional code in the middle cell unit and program code executable, storing a program including.
JP10119221A 1998-04-28 1998-04-28 Two-dimensional code decoder and storage medium thereof Pending JPH11312215A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10119221A JPH11312215A (en) 1998-04-28 1998-04-28 Two-dimensional code decoder and storage medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10119221A JPH11312215A (en) 1998-04-28 1998-04-28 Two-dimensional code decoder and storage medium thereof

Publications (1)

Publication Number Publication Date
JPH11312215A true JPH11312215A (en) 1999-11-09

Family

ID=14755964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10119221A Pending JPH11312215A (en) 1998-04-28 1998-04-28 Two-dimensional code decoder and storage medium thereof

Country Status (1)

Country Link
JP (1) JPH11312215A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002080087A1 (en) * 2001-03-29 2002-10-10 Kosaido Co., Ltd. Two-dimensional code, method for converting two-dimensional code into speech, method for converting text document into speech, braille data creation apparatus
JP2006012135A (en) * 2004-05-26 2006-01-12 Oji Paper Co Ltd Corrugated cardboard sheet and corrugated cardboard sheet printing method
JP2012078973A (en) * 2010-09-30 2012-04-19 Shift:Kk Two-dimensional code, encoding device, encoding program and two-dimensional code reader
JP2012221260A (en) * 2011-04-08 2012-11-12 Nintendo Co Ltd Information processing program, information processing method, information processor and information processing system
WO2013036228A1 (en) * 2011-09-08 2013-03-14 Hewlett-Packard Development Company, L.P. Generating an incremental information object

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002080087A1 (en) * 2001-03-29 2002-10-10 Kosaido Co., Ltd. Two-dimensional code, method for converting two-dimensional code into speech, method for converting text document into speech, braille data creation apparatus
JP2006012135A (en) * 2004-05-26 2006-01-12 Oji Paper Co Ltd Corrugated cardboard sheet and corrugated cardboard sheet printing method
JP2012078973A (en) * 2010-09-30 2012-04-19 Shift:Kk Two-dimensional code, encoding device, encoding program and two-dimensional code reader
JP2012221260A (en) * 2011-04-08 2012-11-12 Nintendo Co Ltd Information processing program, information processing method, information processor and information processing system
WO2013036228A1 (en) * 2011-09-08 2013-03-14 Hewlett-Packard Development Company, L.P. Generating an incremental information object
US9477853B2 (en) 2011-09-08 2016-10-25 Hewlett-Packard Development Company, L.P. Generating an incremental information object

Similar Documents

Publication Publication Date Title
JP2938338B2 (en) Two-dimensional code
JP4122629B2 (en) 2D code generation method
US6267296B1 (en) Two-dimensional code and method of optically reading the same
US7106904B2 (en) Form identification method
JPH07234915A (en) Image recognizing device
JP4733577B2 (en) Form recognition device and form recognition program
JP3716527B2 (en) 2D code reading method
JP2007179395A (en) Medium processing apparatus, method and system, and computer readable recording medium for recording medium processing program
US10643097B2 (en) Image processing apparatuses and non-transitory computer readable medium
JPH11312215A (en) Two-dimensional code decoder and storage medium thereof
JP4893643B2 (en) Detection method and detection apparatus
US5233672A (en) Character reader and recognizer with a specialized editing function
JP2009223612A (en) Image recognition device and program
JPH11316795A (en) Two-dimensional code decoding device and storage device
JPH08329187A (en) Document reader
JP4242962B2 (en) Character extractor
JP4094240B2 (en) Image characteristic determination processing apparatus, image characteristic determination processing method, program for executing the method, and computer-readable storage medium storing the program
JPH10154191A (en) Business form identification method and device, and medium recording business form identification program
JP5619111B2 (en) Image determination apparatus and program
JP2000339407A (en) Picture processor, picture processing method and computer readable storage medium
JPH11250179A (en) Character reocognition device and its method
JPH0420506B2 (en)
JPH11242716A (en) Image processing method and storage medium
JP2022124803A (en) Information processing device and information processing program
JP4544691B2 (en) Character reader