JP2011134211A - Information code and method for generating information code - Google Patents

Information code and method for generating information code Download PDF

Info

Publication number
JP2011134211A
JP2011134211A JP2009294606A JP2009294606A JP2011134211A JP 2011134211 A JP2011134211 A JP 2011134211A JP 2009294606 A JP2009294606 A JP 2009294606A JP 2009294606 A JP2009294606 A JP 2009294606A JP 2011134211 A JP2011134211 A JP 2011134211A
Authority
JP
Japan
Prior art keywords
data
code word
code
data code
error correction
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.)
Granted
Application number
JP2009294606A
Other languages
Japanese (ja)
Other versions
JP5359858B2 (en
Inventor
Takuya Yoda
卓也 依田
Yuichi Ito
裕一 伊東
Hayato Kita
隼人 北
Tadao Nojiri
忠雄 野尻
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.)
Denso Wave Inc
Original Assignee
Denso Wave 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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2009294606A priority Critical patent/JP5359858B2/en
Publication of JP2011134211A publication Critical patent/JP2011134211A/en
Application granted granted Critical
Publication of JP5359858B2 publication Critical patent/JP5359858B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information code which can secure high correcting capability while ensuring a further large data area by reducing the data volume required for error correction. <P>SOLUTION: A two-dimensional code 1 includes a plurality of data code blocks 11 having a plurality of information display unit cells C aligned therein, the data code block expressing a data code word by a predetermined number of information display unit cells C; and a plurality of error correction code blocks 12 which expresses an error correction code word used for error correction of each data code word. An error detection parity to be used for the error detection of each data code word is assigned in association with each data code word, and the bit number of the error detection parity is smaller than the bit number of the data code word. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、情報コード及び情報コードの生成方法に関するものである。   The present invention relates to an information code and an information code generation method.

従来から用いられているQRコード(登録商標)などの二次元コードは、複数のセルがマトリックス状に配置された構成をなしており、コード領域内にデータコードワードを表わした複数のデータコードブロックと、各データコードブロックの誤り訂正に用いる誤り訂正コードワードを表わした複数の誤り訂正コードブロックとが設けられた構成が一般的である。   Conventionally used two-dimensional codes such as QR Code (registered trademark) have a structure in which a plurality of cells are arranged in a matrix, and a plurality of data code blocks representing data code words in a code area. And a plurality of error correction code blocks representing error correction code words used for error correction of each data code block are generally provided.

この種の二次元コードでは、データコードワードとして、例えば、数ビット(例えば8ビット)の情報を一単位としてデータを構成する単位要素を表わしており、また、誤り訂正コードワードとしては、そのデータコードワードの誤り訂正を行うための符号を数ビット(例えば8ビット)の情報で表わしたものなどが用いられている。なお、誤り訂正コードワードとしては、例えば、リードソロモン方式によって誤り訂正を行うための符号(RS符号)などが広く用いられている。 In this type of two-dimensional code, for example, a data code word represents a unit element that constitutes data with several bits (for example, 8 bits) of information as one unit, and an error correction code word includes the data For example, a code representing error correction of a code word represented by information of several bits (for example, 8 bits) is used. As the error correction code word, for example, a code (RS code) for performing error correction by the Reed-Solomon method is widely used.

特開平7−254037公報JP-A-7-254037

ところで、上記のような二次元コードを読み取る場合、いずれかのデータコードワードの読み取りが誤っていたとしても、読み取りの初期段階ではその誤り発生位置が特定されていないため、誤り訂正に際し、まず誤りが生じているデータコードワードを特定し、その上で誤りの大きさを求めてその誤りを訂正する必要がある。しかしながら、このように誤り発生位置が特定されていない状態で誤り訂正(いわゆる「検出訂正」)を行う場合、誤り位置が特定された状態で行われる誤り訂正(いわゆる「消失訂正」)と比較して、誤り訂正に必要なデータ(誤り訂正符号)のサイズが大きくなる傾向にあった。   By the way, when reading a two-dimensional code as described above, even if one of the data code words is read incorrectly, the error occurrence position is not specified at the initial stage of reading. It is necessary to identify the data code word in which the error occurs and to determine the magnitude of the error and correct the error. However, when error correction (so-called “detection correction”) is performed in a state where the error occurrence position is not specified in this way, it is compared with error correction (so-called “erasure correction”) performed with the error position specified. Therefore, the size of data (error correction code) necessary for error correction tends to increase.

例えば、従来のQRコードの方式では、1つのデータコードワードの誤り訂正を、当該データコードワードと同一のビット数からなる2つの誤り訂正コードワード(RSコードワード)を用いて行っている。しかしながら、このような方式で誤り訂正を行う場合、訂正可能なデータコードワードの総数が誤り訂正コードワード(RSコードワード)の総数の半分となってしまうという問題があり、コード領域に記録できるデータ(解読対象データ)のデータサイズも、誤り訂正コードワード(RSコードワード)のデータサイズの半分に制限されてしまうという問題があった。一方、誤り訂正コードワード(RSコードワード)のデータ量を抑えることでデータコードワードのデータ量を大きく確保する方法も考えられるが、この場合、訂正能力が低くなることが避けられない。   For example, in the conventional QR code system, error correction of one data code word is performed using two error correction code words (RS code words) having the same number of bits as the data code word. However, when error correction is performed by such a method, there is a problem that the total number of correctable data codewords is half of the total number of error correction codewords (RS codewords), and data that can be recorded in the code area There is also a problem that the data size of (decryption target data) is limited to half the data size of the error correction codeword (RS codeword). On the other hand, a method for ensuring a large data amount of the data code word by suppressing the data amount of the error correction code word (RS code word) is also conceivable, but in this case, the correction capability is unavoidable.

本発明は、上述した課題を解決するためになされたものであり、誤り訂正に必要となるデータ量を抑えてより多くのデータ領域を確保可能としつつ、高い訂正能力が担保される情報コードを提供することを目的とする。   The present invention has been made in order to solve the above-described problems. An information code that ensures a high correction capability while ensuring a larger data area while suppressing the amount of data required for error correction is provided. The purpose is to provide.

請求項1の発明は、複数の情報表示単位セルが配列されてなる情報コードであって、所定個数の前記情報表示単位セルによってデータコードワードを表現する複数のデータコードブロックと、前記各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロックと、を備え、前記データコードワード毎に対応付けて、前記各データコードワードの誤り検出に用いる誤り検出用パリティが付されており、前記誤り検出用パリティのビット数が、前記データコードワードのビット数よりも少ないことを特徴としている。   The invention of claim 1 is an information code in which a plurality of information display unit cells are arranged, a plurality of data code blocks expressing a data code word by a predetermined number of the information display unit cells, and each data code A plurality of error correction code blocks representing an error correction code word used for error correction of the word, and an error detection parity used for error detection of each data code word is attached in association with each data code word. The number of bits of the error detection parity is smaller than the number of bits of the data code word.

請求項2の発明は、請求項1に記載の情報コードであって、前記誤り検出用パリティは、対応付けられた前記データコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されたものであることを特徴としている。   The invention according to claim 2 is the information code according to claim 1, wherein the error detection parity is a value obtained by adding 1 to a total value obtained by summing each bit value of the associated data codeword. It is generated based on this.

請求項3の発明は、請求項1又は請求項2に記載の情報コードであって、 前記データコードワードが8ビットで表わされ、前記誤り検出用パリティが2ビットで表わされることを特徴としている。   A third aspect of the present invention is the information code according to the first or second aspect, wherein the data code word is represented by 8 bits and the error detection parity is represented by 2 bits. Yes.

請求項4の発明は、請求項1から請求項3のいずれか一項に記載の情報コードであって、前記誤り訂正コードワードの数が、前記データコードワードの数の2倍よりも少ないことを特徴としている。   A fourth aspect of the present invention is the information code according to any one of the first to third aspects, wherein the number of the error correction codewords is less than twice the number of the data codewords. It is characterized by.

請求項5の発明は、情報処理装置を用いて請求項1から請求項4のいずれかに記載の前記情報コードを生成する情報コード生成方法であってコード化すべき解読対象データを取得する取得ステップと、前記取得ステップで取得した前記解読対象データに基づいて前記各データコードワードを生成する第1生成ステップと、前記第1生成ステップによって生成された前記各データコードワードに対応する各誤り検出用パリティを生成する第2生成ステップと、前記第1生成ステップによって生成された前記各データコードワードに対応する前記誤り訂正コードワードを生成する第3生成ステップと、を備えたことを特徴としている。   The invention according to claim 5 is an information code generation method for generating the information code according to any one of claims 1 to 4 using an information processing apparatus, and acquires the decoding target data to be encoded. A first generation step for generating each data code word based on the data to be decoded acquired in the acquisition step, and each error detection corresponding to each data code word generated by the first generation step A second generation step for generating a parity and a third generation step for generating the error correction codeword corresponding to each data codeword generated by the first generation step are provided.

請求項1の発明では、所定個数の情報表示単位セルによってデータコードワードを表現する複数のデータコードブロックと、各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロックとを備えた情報コードにおいて、データコードワード毎に対応付けて、各データコードワードの誤り検出に用いる誤り検出用パリティが付されており、誤り検出用パリティのビット数が、データコードワードのビット数よりも少なくなっている。このようにすると、データコードワードのビット数よりも少ないビット数で各データコードワードに誤りが生じているか否かを検出することができる。そして、このような誤り位置の検出に基づき、誤り訂正コードブロックをより少ないデータ量に抑えて消失訂正を行うことができるようになる。   In the first aspect of the present invention, a plurality of data code blocks expressing a data code word by a predetermined number of information display unit cells and a plurality of error correction code blocks expressing an error correction code word used for error correction of each data code word Are associated with each data code word, and an error detection parity used for error detection of each data code word is attached, and the number of bits of the error detection parity is the number of bits of the data code word. It is less than the number. In this way, it is possible to detect whether or not an error has occurred in each data code word with a smaller number of bits than the number of bits of the data code word. Based on the detection of such an error position, the erasure correction can be performed with the error correction code block being suppressed to a smaller data amount.

請求項2の発明では、誤り検出用パリティが、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されている。このようにすると、例えば、データコードブロックが全て暗色(例えば黒)で汚れる場合や、全て明色(例えば白)で汚れる場合であっても誤りの検出漏れを防ぎやすくなる。   According to the second aspect of the present invention, the error detection parity is generated based on a value obtained by adding 1 to the total value obtained by adding the bit values of the associated data codewords. In this way, for example, even when the data code blocks are all stained with a dark color (for example, black) or when all the data code blocks are stained with a light color (for example, white), it is easy to prevent detection errors from being detected.

請求項3の発明では、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされている。このようにすると、各データ要素を8ビットのデータコードワードで好適に表現しつつ、データコードワードのビット数よりも大幅に抑えたビット数でデータコードをワードの誤りを良好に検出できるようになる。   In the invention of claim 3, the data code word is represented by 8 bits and the error detection parity is represented by 2 bits. In this way, each data element is suitably expressed by an 8-bit data code word, and a data code word error can be detected well with a number of bits that is significantly less than the number of bits of the data code word. Become.

請求項4の発明では、誤り訂正コードワードの数がデータコードワードの数の2倍よりも少なくなっている。このようにすると、1つのデータコードワードの誤り訂正を2つの誤り訂正コードワードを用いて行う方式と比較して誤り訂正に必要なデータ量を抑えることができる。   In the invention of claim 4, the number of error correction code words is less than twice the number of data code words. In this way, the amount of data required for error correction can be suppressed as compared with a method in which error correction of one data code word is performed using two error correction code words.

請求項5の発明によれば、請求項1から請求項4のいずれか一項に記載の情報コードと同様の効果を奏する情報コードを良好に生成できる。   According to the invention of claim 5, an information code having the same effect as the information code according to any one of claims 1 to 4 can be generated satisfactorily.

図1は、第1実施形態に係る情報コードを概略的に説明する説明図である。FIG. 1 is an explanatory diagram schematically illustrating an information code according to the first embodiment. 図2は、データコードブロックとこのデータコードブロックに割り当てられる誤り検出用パリティについての具体的セル構成を例示する説明図である。FIG. 2 is an explanatory diagram illustrating a specific cell configuration of the data code block and the error detection parity assigned to the data code block. 図3は、データコードワードとそのデータコードワードに割り当てられる誤り検出用パリティを例示する説明図である。FIG. 3 is an explanatory diagram illustrating a data code word and error detection parity assigned to the data code word. 図4は、第1実施形態に係る情報コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。FIG. 4 is a block diagram schematically illustrating an optical information reader that reads an information code according to the first embodiment. 図5は、データコードワードと誤り検出用パリティの組み合わせを複数例示して説明する説明図である。FIG. 5 is an explanatory diagram illustrating a plurality of combinations of data code words and error detection parity.

[第1実施形態]
以下、本発明の情報コードを具現化した第1実施形態について、図面を参照して説明する。
(二次元コードの構成)
まず、図1〜図3を参照して本実施形態に係る情報コードの構成を説明する。
図1は、第1実施形態に係る情報コードを概略的に説明する説明図である。図2は、データコードブロックとこのデータコードブロックに割り当てられる誤り検出用パリティについての具体的セル構成を例示する説明図である。図3は、データコードワードとそのデータコードワードに割り当てられる誤り検出用パリティを例示する説明図である。
[First embodiment]
Hereinafter, a first embodiment of an information code according to the present invention will be described with reference to the drawings.
(Configuration of two-dimensional code)
First, the configuration of the information code according to the present embodiment will be described with reference to FIGS.
FIG. 1 is an explanatory diagram schematically illustrating an information code according to the first embodiment. FIG. 2 is an explanatory diagram illustrating a specific cell configuration of the data code block and the error detection parity assigned to the data code block. FIG. 3 is an explanatory diagram illustrating a data code word and error detection parity assigned to the data code word.

本実施形態に係る情報コード1は、図1に示すように、複数の情報表示単位セル(以下、単に「セル」とも称する)Cがマトリックス状に配列されてなるものであり、複数のコードブロック10と、第1の特定パターン2と、第2の特定パターン3、4と、第3の特定パターン5とを備えた構成をなしている。この情報コード1は、外形が正方形状に構成されたセルCが集合してマトリックス状に配置されたセル集合体として構成されており、図1の例では、セル数が縦横同数(11セル×11セル)となる配列で構成されている。また、情報コード1を構成するコード領域(セルCが配置される領域)は、外形が矩形状の矩形領域とされており、図1の代表例では外形が正方形状の正方形領域とされている。なお、図1では、一部のセルのみについて符号Cを付しており、他のセルの符号は省略している。   As shown in FIG. 1, the information code 1 according to the present embodiment includes a plurality of information display unit cells (hereinafter also simply referred to as “cells”) C arranged in a matrix, and includes a plurality of code blocks. 10, a first specific pattern 2, a second specific pattern 3, 4, and a third specific pattern 5. This information code 1 is configured as a cell aggregate in which cells C whose outer shape is formed in a square shape are aggregated and arranged in a matrix. In the example of FIG. 1, the number of cells is the same in the vertical and horizontal directions (11 cells × 11 cells). Further, the code area (area where the cell C is arranged) constituting the information code 1 is a rectangular area having a rectangular outer shape, and in the representative example of FIG. 1, the outer shape is a square area having a square shape. . In FIG. 1, only some of the cells are denoted by reference symbol C, and the other cells are omitted.

情報コード1は、色彩又は濃度又は輝度の異なる複数種類のセルが配列されてなるものであり、図1に示す代表例では、色彩又は濃度又は輝度の異なる2種類のセル(具体的には、黒色セル及び白色セル)が用いられて情報コード1が構成されている。なお、図1等では黒色セルについては符号Cbで示し、白色セルについては符号Cwで示すこととする。   The information code 1 is formed by arranging a plurality of types of cells having different colors, densities, or luminances. In the representative example shown in FIG. 1, two types of cells having different colors, densities, or luminances (specifically, A black cell and a white cell) are used to form the information code 1. In FIG. 1 and the like, the black cell is indicated by a symbol Cb, and the white cell is indicated by a symbol Cw.

コードブロック10は、複数のセルCが集合してなるものであり、図1の情報コード1では、データコードブロック11と、誤り訂正コードブロック12とに分けられている。なお、図1では、データコードブロック11、誤り訂正コードブロック12、誤り訂正用パリティのブロック15の領域をそれぞれハッチング、破線枠、網掛けにて概念的に示しているが、これら領域は、具体的には図2のように黒色セルCb或いは白色セルCwが配列された構成をなしている。   The code block 10 is a set of a plurality of cells C. In the information code 1 of FIG. 1, the code block 10 is divided into a data code block 11 and an error correction code block 12. In FIG. 1, the areas of the data code block 11, the error correction code block 12, and the error correction parity block 15 are conceptually indicated by hatching, a broken line frame, and hatching, respectively. Specifically, as shown in FIG. 2, the black cells Cb or the white cells Cw are arranged.

データコードブロック11は、例えば図2のような構成をなしており、デコードの対象となるデータの各データ要素を符号化した符号化データ(データコードワード)を複数のセルによって表現したブロックとして構成されている。このデータコードブロック11を構成する各セルは、予め定められた複数種類のセル(図2の例では黒色セルCbと白色セルCwの二種類)の中からいずれかの種類のセルが選択されて用いられており、図2の例では、これら複数(図2では8つ)のセルがマトリックス状に集合した構成をなしている。なお、セル配列やブロック形状は図2の構成に限られず、様々な配列、形状とすることができる。また、一部のデータコードブロック11については2以上の領域に跨って構成されていてもよい。   The data code block 11 has a configuration as shown in FIG. 2, for example, and is configured as a block in which encoded data (data code word) obtained by encoding each data element of data to be decoded is expressed by a plurality of cells. Has been. As each cell constituting the data code block 11, one type of cell is selected from a plurality of predetermined types of cells (two types of black cell Cb and white cell Cw in the example of FIG. 2). In the example of FIG. 2, a plurality of (eight in FIG. 2) cells are assembled in a matrix. The cell arrangement and the block shape are not limited to the configuration shown in FIG. 2, and various arrangements and shapes can be used. Further, some data code blocks 11 may be formed across two or more areas.

また、各データコードブロック11は、全体として、デコードすべき符号化データ(データコード語)に対応したセルの配列で構成されるようになっている。本実施形態では、セルの色が、数値に対応付けられており、例えば、データ値「0」に対して白色セル、データ値「1」に対して黒色セルがそれぞれ対応付けられている。図2の例では、データコードブロック11によって「00000011」という8ビットの値を8つのセルによって表現している。   Each data code block 11 as a whole is configured by an array of cells corresponding to encoded data (data code words) to be decoded. In the present embodiment, the color of the cell is associated with a numerical value. For example, a white cell is associated with the data value “0” and a black cell is associated with the data value “1”. In the example of FIG. 2, an 8-bit value “00000011” is expressed by eight cells by the data code block 11.

また、本実施形態では、各データコードブロックを構成する各データコードワードに対応付けて、各データコードワードの誤り検出に用いる誤り検出用パリティが付されている。 この誤り検出用パリティのビット数は、データコードワードのビット数よりも少なくされており、図1、図2等に示す代表例では、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされている(即ち、データコードワードを表現するデータコードブロック11が8つのセルによって構成されており、誤り検出用パリティを表現するブロック15が2つのセルによって構成されている)。なお、図1では、データコードブロック11とそれに対応する誤り検出用パリティの組み合わせを太線枠にて概念的に示している。   In this embodiment, an error detection parity used for error detection of each data code word is attached in association with each data code word constituting each data code block. The number of bits of the error detection parity is smaller than the number of bits of the data code word. In the typical examples shown in FIGS. 1 and 2, the data code word is represented by 8 bits. Is represented by 2 bits (that is, the data code block 11 representing the data code word is composed of 8 cells, and the block 15 representing the error detection parity is composed of 2 cells. ). In FIG. 1, the combination of the data code block 11 and the corresponding error detection parity is conceptually shown by a thick line frame.

誤り訂正コードブロック12は、各データコードブロック11にて表現される各データコードワードの誤り訂正に用いるコードブロックであり、例えば各データコードブロック11に対応して1つずつ設けられている。この誤り訂正コードブロック12は、対応するデータコードブロック11のデータコードワードに基づいて所定方式で生成された誤り訂正コードワードを符号化して表現するものであり、誤り訂正コードワードを符号化したデータを複数個のセルCによって表現している。   The error correction code block 12 is a code block used for error correction of each data code word represented by each data code block 11. For example, one error correction code block 12 is provided corresponding to each data code block 11. The error correction code block 12 is an encoded error correction code word generated by a predetermined method based on the data code word of the corresponding data code block 11, and data obtained by encoding the error correction code word. Is expressed by a plurality of cells C.

本実施形態では、後述する誤り訂正方法により、誤りが生じているデータコードブロック11を特定した上で、その誤りが生じているデータコードブロック11に対応する1つの誤り訂正コードブロック12によって誤り訂正(消失訂正)を行うものとされており、誤り訂正コードブロック12の内容(即ち誤り訂正コードワード)は、このような消失訂正が可能な構成であれば公知の様々な方式の符号を用いることができる。本実施形態の代表例では、その一例として公知のリード・ソロモン誤り訂正方式を用いており、具体的には、データコードワード毎に各データコードワードと同じビット数でリード・ソロモン符号(RS符号)が生成され、各データコードワードに対応する各RS符号をそれぞれ誤り訂正コードブロック12によって表現している。   In the present embodiment, a data code block 11 in which an error has occurred is specified by an error correction method to be described later, and error correction is performed by one error correction code block 12 corresponding to the data code block 11 in which the error has occurred. It is assumed that (erasure correction) is performed, and the contents of the error correction code block 12 (that is, error correction codewords) use codes of various known methods as long as such a configuration capable of erasure correction is possible. Can do. In the representative example of this embodiment, a known Reed-Solomon error correction method is used as an example. Specifically, a Reed-Solomon code (RS code) is used for each data code word with the same number of bits as each data code word. ) And each RS code corresponding to each data code word is represented by an error correction code block 12.

(誤り検出用パリティの内容)
次に、本実施形態の特徴をなす誤り検出用パリティについて説明する。
上述したように、情報コード1では、データコードブロック11毎に、各データコードブロック11の誤り検出に用いる誤り検出用パリティが付されている。この誤り検出用パリティは、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値を所定の数(具体的には、例えば誤り検出用パリティのビット数で表現可能な数)で割った剰余の値とされている。
(Contents of parity for error detection)
Next, the error detection parity that characterizes the present embodiment will be described.
As described above, in the information code 1, an error detection parity used for error detection of each data code block 11 is attached to each data code block 11. This error detection parity is expressed by adding a predetermined value (specifically, for example, the number of bits of error detection parity to the sum of the bit values of the associated data codewords). It is the value of the remainder divided by the number.

例えば、図1、図2に示すように、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされる場合、検出用パリティで表現可能な数は4であるため、前記「所定の数」として「4」を好適に用いることができる。この場合、例えば、データコードワードの値が「00000001」という内容であれば、データコードワードの各ビット値を合計した合計値が「1」であり、これに1を加えた値が2となる。従って、これを「4」で割った値は2であるため、この「2」を2進数で表した値「10」が誤り検出用パリティとして付されることとなる。同様に、データコードワードの値が「00000011」という内容であれば、データコードワードの各ビット値を合計した合計値が「2」であり、これに1を加えた値が3となる。従って、これを「4」で割った値は3であるため、この「3」を2進数で表した値「11」が誤り検出用パリティとして付されることとなる。また、図3の中段の例でも同様であり、この例ではデータコードワードの値が「0011111」であり、データコードワードの各ビット値を合計した合計値が「5」であり、これに1を加えた値が6となる。従って、これを「4」で割った値は2であるため、この「2」を2進数で表した値「10」が誤り検出用パリティとして付されることとなる。   For example, as shown in FIGS. 1 and 2, when the data code word is represented by 8 bits and the error detection parity is represented by 2 bits, the number that can be represented by the detection parity is 4, “4” can be suitably used as the “predetermined number”. In this case, for example, if the value of the data code word is “00000001”, the sum of the bit values of the data code word is “1”, and the value obtained by adding 1 to this is 2 . Accordingly, since a value obtained by dividing this by “4” is 2, a value “10” in which “2” is expressed in binary is added as an error detection parity. Similarly, if the value of the data code word is “00000011”, the total value obtained by adding the bit values of the data code word is “2”, and the value obtained by adding 1 to this is 3. Accordingly, since a value obtained by dividing this by “4” is 3, a value “11” in which “3” is expressed in binary is added as an error detection parity. The same applies to the middle example of FIG. 3. In this example, the value of the data code word is “0011111”, and the total value obtained by summing up the respective bit values of the data code word is “5”. The value obtained by adding is 6. Accordingly, since a value obtained by dividing this by “4” is 2, a value “10” in which “2” is expressed in binary is added as an error detection parity.

また、本実施形態では、データコードワードの各ビット値を合計した合計値に1を加えているが、このような方法を用いることで、誤り検出をより正確に行うことができるようになる。即ち、情報コード1に汚れなどが生じて誤りが発生する場合、いずれかのデータコードブロック11の全てのセルCが暗色に汚れたり、全てのセルCが明色に汚れる場合が多い。この場合、データコードワードが「00000000」となるため、データコードワードの各ビット値を合計した合計値そのものを誤り検出用パリティとすると「00」となって整合がとれてしまい、誤りが検出できなくなってしまう。これに対し、本実施形態では、データコードワードの各ビット値を合計した合計値に1を加えた値を誤り検出用パリティとしているため、上述のように全てのセルCが明色に汚れたとしても、整合がとれにくくなる。   Further, in this embodiment, 1 is added to the total value obtained by summing up the respective bit values of the data codeword. However, by using such a method, error detection can be performed more accurately. In other words, when an error occurs due to contamination of the information code 1, all the cells C of any data code block 11 are often stained in dark colors or all the cells C are stained in light colors. In this case, since the data code word is “00000000”, if the total value itself of the bit values of the data code word is used as error detection parity, “00” is obtained, and the error can be detected. It will disappear. On the other hand, in this embodiment, since the value obtained by adding 1 to the total value of the bit values of the data code word is used as the error detection parity, all the cells C are stained in light color as described above. However, it is difficult to achieve matching.

なお、上記実施形態では、8ビットのデータコードワードに対して2ビットの誤り検出用パリティを割り当てる構成を例示したが、図3上段のように、8ビットのデータコードワードに対して1ビットの誤り検出用パリティを割り当ててもよい。この場合、誤り検出用パリティのビット数で表現可能な数は「2」であるため、前記「所定の数」として「2」を用い、誤り検出用パリティは、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値を「2」で割った剰余の値とすることができる。例えば、図3上段のような「00011111」という8ビットのデータコードワードの場合、各ビットの合計値が「5」であり、これに1を加えた値が「6」であるため、この「6」を前記「所定の数」である「2」で割った値(即ち、「0」)を誤り検出用パリティとすることができる。この場合、データコードワードの各ビット値を合計した合計値に1を加えた値が偶数なら誤り検出用パリティは「0」となり、奇数なら誤り検出用パリティは「1」となる。   In the above embodiment, a configuration in which a 2-bit error detection parity is assigned to an 8-bit data code word is illustrated. However, as shown in the upper part of FIG. 3, a 1-bit data code word is assigned to an 8-bit data code word. Error detection parity may be assigned. In this case, since the number that can be expressed by the number of bits of the error detection parity is “2”, “2” is used as the “predetermined number”, and the error detection parity is the associated data codeword. A value obtained by adding 1 to the total value obtained by summing up the respective bit values can be obtained as a remainder value obtained by dividing by “2”. For example, in the case of an 8-bit data code word “00011111” as shown in the upper part of FIG. 3, the total value of each bit is “5”, and the value obtained by adding 1 to this is “6”. A value obtained by dividing “6” by “2” which is the “predetermined number” (that is, “0”) can be used as an error detection parity. In this case, if the value obtained by adding 1 to the total value of each bit value of the data code word is an even number, the error detection parity is “0”, and if it is an odd number, the error detection parity is “1”.

或いは、図3下段のように、8ビットのデータコードワードに対して3ビットの誤り検出用パリティを割り当ててもよい。この場合、誤り検出用パリティのビット数で表現可能な数は「8」であるため、前記「所定の数」として「8」を用い、誤り検出用パリティは、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値を「8」で割った剰余の値とすることができる。例えば、図3下段のような「00011111」という8ビットのデータコードワードの場合、各ビットの合計値が「5」であり、これに1を加えた値が「6」であるため、この「6」を前記「所定の数」である「8」で割った値(即ち、「6」)を3ビットの2進数で表した値「110」を誤り検出用パリティとすることができる。   Alternatively, as shown in the lower part of FIG. 3, a 3-bit error detection parity may be assigned to an 8-bit data codeword. In this case, since the number that can be expressed by the number of bits of the error detection parity is “8”, “8” is used as the “predetermined number”, and the error detection parity is the associated data codeword. A value obtained by adding 1 to the total value obtained by summing up the respective bit values can be obtained as a remainder value obtained by dividing by “8”. For example, in the case of an 8-bit data code word “00011111” as shown in the lower part of FIG. 3, the total value of each bit is “5”, and the value obtained by adding 1 to this is “6”. A value “110” in which a value obtained by dividing “6” by “8” which is the “predetermined number” (that is, “6”) is expressed as a 3-bit binary number can be used as an error detection parity.

(情報コードの作成方法)
上記情報コード1は、例えば、CPU、メモリ、入力装置(マウス、キーボード)、通信部(LANインターフェース等)などを備えた情報処理装置(パーソナルコンピュータなど)を用いて以下のような方法で作成することができる。
(How to create an information code)
The information code 1 is created by the following method using, for example, an information processing device (such as a personal computer) equipped with a CPU, memory, input device (mouse, keyboard), communication unit (such as a LAN interface), and the like. be able to.

まず、上記情報処理装置において、コード化すべき解読対象データを取得する取得ステップを行う。この取得ステップでは、例えば、キーボードからの入力、通信部を介した外部入力、或いは情報処理装置に既に記憶されているデータを読み出す等の方法によってコード化すべきデータを取得する。   First, in the information processing apparatus, an acquisition step for acquiring data to be decoded to be encoded is performed. In this acquisition step, for example, data to be encoded is acquired by a method such as input from a keyboard, external input via a communication unit, or reading data already stored in the information processing apparatus.

そして、その取得ステップで取得した解読対象データに基づいて各データコードワードを生成する第1生成ステップを行う。この第1生成ステップでは、解読対象データを構成する各データ要素(例えば、各文字、各数字等)を予め規定された方式に従って符号化する。本実施形態では、各データコードワードはバイナリデータで生成される。   And the 1st production | generation step which produces | generates each data code word based on the decoding object data acquired at the acquisition step is performed. In the first generation step, each data element (for example, each character, each number, etc.) constituting the data to be decoded is encoded according to a predetermined method. In the present embodiment, each data code word is generated as binary data.

その後、第1生成ステップで生成された各データコードワードに対応する各誤り検出用パリティを生成する第2生成ステップを行う。この第2生成ステップでは、各データコードワードに対応する各誤り検出用パリティを上述の方法で生成する。なお、誤り検出用パリティもバイナリデータで生成される。更に、各データコードワードに対応する誤り訂正コードワードを規定の方式(例えばリード・ソロモン方式)で生成する第3生成ステップを行う。本実施形態では、誤り訂正コードワードもバイナリデータで生成されることとなる。そして、このように生成された各データコードワード、各誤り検出用パリティ、各誤り訂正コードワードについてのそれぞれのバイナリデータを黒色セル及び白色セルで表現し、これらを例えば図1のような規定のフォーマットに従い、規定された順序で配置することで情報コード1の描画データを取得する。なお、このような描画データは印刷装置などによって印刷して用いてもよく、携帯端末などの表示装置に表示して用いてもよい。   Thereafter, a second generation step of generating each error detection parity corresponding to each data codeword generated in the first generation step is performed. In this second generation step, each error detection parity corresponding to each data codeword is generated by the above-described method. The error detection parity is also generated as binary data. Further, a third generation step of generating an error correction code word corresponding to each data code word by a prescribed method (for example, Reed-Solomon method) is performed. In this embodiment, the error correction code word is also generated as binary data. Then, the binary data for each data code word, each error detection parity, and each error correction code word generated in this way is expressed by black cells and white cells, and these are expressed in a prescribed manner as shown in FIG. According to the format, the drawing data of the information code 1 is acquired by arranging in a prescribed order. Such drawing data may be printed by a printing device or the like, or may be displayed on a display device such as a portable terminal.

(情報コードの読取例)
次に、本実施形態に係る情報コード1の読取例について概説する。
本実施形態に係る情報コード1は、例えば図4に示すような光学的情報読取装置20で読み取ることができる。図4に示す光学的情報読取装置20は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。
(Example of reading information code)
Next, an example of reading the information code 1 according to the present embodiment will be outlined.
The information code 1 according to the present embodiment can be read by an optical information reader 20 as shown in FIG. 4, for example. 4 mainly includes an optical system such as an illumination light source 21, a light receiving sensor 23, a filter 25, and an imaging lens 27, a memory 35, a control circuit 40, an operation switch 42, and a liquid crystal display device. And a power supply system such as a power switch 41 and a battery 49.

光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ハウジングの読取口(図4では図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、本実施形態に係る情報コード1は、このような読取対象物Rに、印刷或いはダイレクトマーキング等によって形成されている。   The optical system includes an illumination light source 21, a light receiving sensor 23, a filter 25, an imaging lens 27, and the like. The illumination light source 21 functions as an illumination light source capable of emitting the illumination light Lf, and includes, for example, an LED and a diffusing lens, a condensing lens, and the like provided on the emission side of the LED. In the present embodiment, illumination light sources 21 are provided on both sides of the light receiving sensor 23 so that the illumination light Lf can be irradiated toward the reading object R through a reading port (not shown in FIG. 4) of the housing. It is configured. The reading object R corresponds to a display medium such as a packaging container, packaging paper, or label, and the information code 1 according to the present embodiment is printed on the reading object R by printing or direct marking. Is formed.

受光センサ23は、読取対象物Rや情報コード1に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能にプリント配線板(図示略)に実装されている。また、フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。   The light receiving sensor 23 is configured to receive the reflected light Lr irradiated and reflected on the reading object R and the information code 1. For example, the light receiving sensor 23 includes two light receiving elements which are solid-state imaging elements such as C-MOS and CCD. An area sensor arranged in a dimension corresponds to this. The light receiving sensor 23 is mounted on a printed wiring board (not shown) so that incident light incident through the imaging lens 27 can be received by the light receiving surface 23a. The filter 25 is an optical low-pass filter that allows passage of light that is less than or equal to the wavelength of the reflected light Lr and can block passage of light that exceeds that of the reflected light, and is unnecessary for exceeding the wavelength of the reflected light Lr. Light is prevented from entering the light receiving sensor 23. The imaging lens 27 functions as an imaging optical system capable of condensing incident light incident from the outside via a reading port and forming an image on the light receiving surface 23a of the light receiving sensor 23. For example, A lens barrel and a plurality of condensing lenses housed in the lens barrel are configured.

次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された情報コード1の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学的情報読取装置20の全体システムに関する制御も行っている。   Next, a configuration outline of the microcomputer system will be described. The microcomputer system includes an amplification circuit 31, an A / D conversion circuit 33, a memory 35, an address generation circuit 36, a synchronization signal generation circuit 38, a control circuit 40, an operation switch 42, an LED 43, a buzzer 44, a liquid crystal display device 46, and a communication interface 48. Etc. As the name suggests, this microcomputer system is composed mainly of a control circuit 40 and a memory 35 that can function as a microcomputer (information processing apparatus). The microcomputer system captures the image signal of the information code 1 captured by the optical system described above. It can perform signal processing in terms of hardware and software. The control circuit 40 also performs control related to the entire system of the optical information reading device 20.

光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。   The image signal (analog signal) output from the light receiving sensor 23 of the optical system is amplified by a predetermined gain by being input to the amplifier circuit 31, and then input from the analog signal when input to the A / D conversion circuit 33. Converted into a digital signal. When the digitized image signal, that is, image data (image information) is input to the memory 35, it is stored in the image data storage area. The synchronization signal generation circuit 38 is configured to generate a synchronization signal for the light receiving sensor 23 and the address generation circuit 36. The address generation circuit 36 is based on the synchronization signal supplied from the synchronization signal generation circuit 38. Thus, the storage address of the image data stored in the memory 35 can be generated.

メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。   The memory 35 is a semiconductor memory device, and corresponds to, for example, a RAM (DRAM, SRAM, etc.) or a ROM (EPROM, EEPROM, etc.). In addition to the above-described image data storage area, the RAM of the memory 35 is configured to be able to secure a work area and a reading condition table that are used by the control circuit 40 in each processing such as arithmetic operation and logical operation. . The ROM stores in advance a predetermined program that can execute reading processing, analysis processing, and the like, which will be described later, and a system program that can control each piece of hardware such as the illumination light source 21 and the light receiving sensor 23.

制御回路40は、光学的情報読取装置20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が制御回路40に接続されている。なお、通信インタフェース48には、当該光学的情報読取装置20の上位システムに相当するホストコンピュータHST等が接続される。また、電源系は、電源スイッチ41、電池49等によって構成されており、制御回路40による電源スイッチ41のオンオフ制御により、電池49から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。   The control circuit 40 is a microcomputer capable of controlling the entire optical information reading device 20 and includes a CPU, a system bus, an input / output interface, and the like. The control circuit 40 can constitute an information processing device together with the memory 35 and has an information processing function. . The control circuit 40 is configured to be connectable to various input / output devices (peripheral devices) via a built-in input / output interface. In this embodiment, the control circuit 40 includes a power switch 41, an operation switch 42, an LED 43, a buzzer. 44, a liquid crystal display device 46, a communication interface 48, and the like are connected to the control circuit 40. The communication interface 48 is connected to a host computer HST corresponding to the host system of the optical information reader 20. The power supply system includes a power switch 41, a battery 49, and the like. When the power switch 41 is turned on and off by the control circuit 40, the conduction of the drive voltage supplied from the battery 49 to each device and each circuit described above is performed. Shut-off is controlled.

このように構成される光学的情報読取装置20では、以下のように読取処理が行われる。
読取処理は、例えば作業者が所定操作(例えば、操作スイッチ42のオン操作)を行うことで開始され、まず上記情報コード1を撮像する処理を行う。この撮像処理では、上記情報コード1の画像を含んだ画像データが取得され、メモリ35に記憶される。
In the optical information reader 20 configured as described above, the reading process is performed as follows.
The reading process is started, for example, when an operator performs a predetermined operation (for example, an operation of turning on the operation switch 42). First, a process of imaging the information code 1 is performed. In this imaging process, image data including the image of the information code 1 is acquired and stored in the memory 35.

その後、その画像データにおいて、コード領域の位置及び向きを特定すると共にコード領域に含まれる各セルの位置を特定し、そのコード領域(矩形領域)に基づいてデコード処理を行う。本実施形態では、例えば光学的情報読取装置20の内部に情報コード1のフォーマットが登録されており、そのフォーマットに従って、各データコードブロック1に記録される各データコードワードを解読する。   Thereafter, in the image data, the position and orientation of the code area are specified, the position of each cell included in the code area is specified, and decoding processing is performed based on the code area (rectangular area). In the present embodiment, for example, the format of the information code 1 is registered in the optical information reader 20, and each data code word recorded in each data code block 1 is decoded according to the format.

各データコードワードを解読する際には、対応する誤り検出用パリティを参照しており、データコードワードとの整合性がとれているか(即ち、認識されたデータコードワードの値に基づいて上記生成方法で誤り検出用パリティを生成した場合に、認識された誤り検出用パリティの値と一致するか)を判断する。この判断処理において整合がとれていると判断される場合には当該データコードブロック11のデータコードワードを正常なコードワードとして出力対象とする。一方、整合がとれていないと判断される場合には、そのデータコードブロック11のデータコードワードをエラーコードワードとして扱い、当該データコードブロック11に対応する誤り訂正コードブロック12のコードワード(RSコードワード)を用いて消失訂正を行う。   When each data code word is decoded, the corresponding error detection parity is referred to, and consistency with the data code word is taken (that is, the above-described generation based on the value of the recognized data code word). When the error detection parity is generated by the method, it is determined whether or not it matches the recognized error detection parity value). If it is determined in this determination process that the data is consistent, the data code word of the data code block 11 is output as a normal code word. On the other hand, when it is determined that the alignment is not achieved, the data code word of the data code block 11 is treated as an error code word, and the code word (RS code) of the error correction code block 12 corresponding to the data code block 11 is concerned. Erasure correction using a word).

(本実施形態の主な効果)
本実施形態に係る情報コード1は、所定個数の情報表示単位セルCによってデータコードワードを表現する複数のデータコードブロック11と、各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロック12とを備えており、データコードワード毎に対応付けて、各データコードワードの誤り検出に用いる誤り検出用パリティが付されている。そして、誤り検出用パリティのビット数が、データコードワードのビット数よりも少なくなっている。このようにすると、データコードワードのビット数よりも少ないビット数で各データコードワードの読み取りに誤りが生じているか否かを検出することができる。そして、このような誤り位置の検出に基づき、誤り訂正コードブロックをより少ないデータ量に抑えて消失訂正を行うことができるようになる。
(Main effects of this embodiment)
The information code 1 according to the present embodiment includes a plurality of data code blocks 11 expressing a data code word by a predetermined number of information display unit cells C and a plurality of error correcting code words used for error correction of each data code word. The error correction code block 12 is provided, and an error detection parity used for error detection of each data code word is attached in association with each data code word. The number of bits of error detection parity is smaller than the number of bits of the data code word. In this way, it is possible to detect whether or not there is an error in reading each data code word with a smaller number of bits than the number of bits of the data code word. Based on the detection of such an error position, the erasure correction can be performed with the error correction code block being suppressed to a smaller data amount.

上記効果は、図5のような説明図で具体的に説明することもできる。図5の例では、データコードワードの正しい値(正解値)が「00000001」であり、誤り検出用パリティ(以下、パリティとも称する)の正しい値(正解値)が「10」のときの誤りパターンを列挙して例示すものである。なお、パターン1は、データコードワード及び誤り検出用パリティがいずれも正しい値(正解値)を示すパターンである。例えば、パターン2は、データコードワードが正しい値(正解値)が「00000001」であり、パリティが誤っている例であるが、この場合、データコードワードが正しいのに誤りと判断してしまうことになる。この場合、当該データコードワードに誤りが生じているものとして消失訂正を行うことになる。   The above effect can also be specifically described with an explanatory diagram as shown in FIG. In the example of FIG. 5, the error pattern when the correct value (correct value) of the data code word is “00000001” and the correct value (correct value) of the error detection parity (hereinafter also referred to as parity) is “10”. Are listed as examples. Pattern 1 is a pattern in which both the data code word and the error detection parity indicate correct values (correct values). For example, pattern 2 is an example in which the correct value (correct value) of the data code word is “00000001” and the parity is incorrect. In this case, it is determined that the data code word is correct but the data code word is correct. become. In this case, erasure correction is performed assuming that an error has occurred in the data code word.

一方、パターン3は、データコードワードが「00000011」と誤って認識され、パリティが「10」と正確に認識された例である。このケースでは、誤って認識されたデータコードワードによってビット合計に1を加えた値が2+1=3となっており、他方、パリティが2を示しているため不一致となり誤りを検出することができる。従って、当該データコードワードに対応する1つの誤り訂正コードブロック12を用いて消失訂正を行うことができる。なお、従来の一般的な方法では、このような場合に2つの誤り訂正コードブロックを用いているため、このパターン3では、従来方法と比較して少ないデータ量で正確に復元できることが読み取れる。   On the other hand, pattern 3 is an example in which the data code word is erroneously recognized as “00000011” and the parity is correctly recognized as “10”. In this case, the value obtained by adding 1 to the bit sum due to the erroneously recognized data code word is 2 + 1 = 3. On the other hand, since the parity indicates 2, the mismatch occurs and the error can be detected. Therefore, erasure correction can be performed using one error correction code block 12 corresponding to the data code word. Since the conventional general method uses two error correction code blocks in such a case, it can be read that this pattern 3 can be accurately restored with a smaller amount of data compared to the conventional method.

また、パターン4は、データコードワードが「00011111」と誤って認識され、パリティが「11」と誤って認識された例である。この例では、パリティが誤って認識されているが、データコードワードとパリティとの整合性が取れず誤りが検出されることとなる。従って、当該データコードワードに対応する1つの誤り訂正コードブロック12を用いて消失訂正を行うことができる。なお、従来の一般的な方法では、このような場合に2つの誤り訂正コードブロックを用いて誤り訂正を行うため、このパターン4でも、従来方法と比較して少ないデータ量で正確に復元できることが読み取れる。   Pattern 4 is an example in which the data code word is erroneously recognized as “00011111” and the parity is erroneously recognized as “11”. In this example, the parity is erroneously recognized, but the consistency between the data code word and the parity cannot be obtained and an error is detected. Therefore, erasure correction can be performed using one error correction code block 12 corresponding to the data code word. In the conventional general method, error correction is performed using two error correction code blocks in such a case. Therefore, even this pattern 4 can be accurately restored with a smaller amount of data compared to the conventional method. I can read.

なお、パターン2ではデータコードワードは正しいがパリティによって誤りと判断され、使わなくてもよい誤り訂正コードワードを1つ使用している。しかし、このパターン2は、データコードワードが誤らずにパリティのみが誤るケースであるため、データコードワードの長さとパリティの長さ(この例の場合8:2)を考慮するとパターン2が生じる確率は極めて低いといえる。   In the pattern 2, the data code word is correct, but it is determined as an error by the parity, and one error correction code word which does not need to be used is used. However, since this pattern 2 is a case in which only the parity is wrong without the data code word being erroneous, the probability that the pattern 2 is generated in consideration of the length of the data code word and the length of the parity (8: 2 in this example). Is extremely low.

また、本実施形態に係る情報コード1では、誤り検出用パリティが、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されている。このようにすると、例えば、データコードブロック11が全て暗色(例えば黒)で汚れる場合や、全て明色(例えば白)で汚れる場合であっても誤りの検出漏れを防ぎやすくなる。   Further, in the information code 1 according to the present embodiment, the error detection parity is generated based on a value obtained by adding 1 to the total value obtained by adding the bit values of the associated data codewords. In this way, for example, even if the data code block 11 is all stained with a dark color (for example, black) or all the data code block 11 is stained with a light color (for example, white), it becomes easy to prevent detection errors from being detected.

また、本実施形態に係る情報コード1では、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされている。このようにすると、各データ要素を8ビットのデータコードワードで好適に表現しつつ、データコードワードのビット数よりも大幅に抑えたビット数でデータコードをワードの誤りを良好に検出できるようになる。   In the information code 1 according to the present embodiment, the data code word is represented by 8 bits, and the error detection parity is represented by 2 bits. In this way, each data element is suitably expressed by an 8-bit data code word, and a data code word error can be detected well with a number of bits that is significantly less than the number of bits of the data code word. Become.

また、本実施形態に係る情報コード1では、誤り訂正コードワードの数がデータコードワードの数の2倍よりも少なくなっている。このようにすると、1つのデータコードワードの誤り訂正を2つの誤り訂正コードワードを用いて行う方式と比較して誤り訂正に必要なデータ量を抑えることができる。   In the information code 1 according to the present embodiment, the number of error correction code words is less than twice the number of data code words. In this way, the amount of data required for error correction can be suppressed as compared with a method in which error correction of one data code word is performed using two error correction code words.

[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
[Other Embodiments]
The present invention is not limited to the embodiments described with reference to the above description and drawings. For example, the following embodiments are also included in the technical scope of the present invention.

上記実施形態では、情報コードの例として11行11列で配列された情報コードを例示したが、セルの配列はこれに限られず、行数を増減してもよく、列数を増減してもよい。   In the above embodiment, the information code arranged in 11 rows and 11 columns is illustrated as an example of the information code, but the cell arrangement is not limited to this, and the number of rows may be increased or decreased, and the number of columns may be increased or decreased. Good.

上記実施形態では、データコードブロック11、誤り訂正コードブロック12、誤り検出用パリティのブロックをいずれも2種類のセルによって表現する例を示したが、これらを3種類以上のセルによって表現するような情報コードであってもよい。   In the above embodiment, the data code block 11, the error correction code block 12, and the error detection parity block are all expressed by two types of cells. However, these are expressed by three or more types of cells. It may be an information code.

上記実施形態では、データコードワード及び誤り訂正コードワードをいずれも8ビットの2進データで構成し、誤り訂正用パリティを2ビットの2進データで構成した例を示したが、これらいずれか又は全てのビット数を変更してもよい。例えば、誤り訂正用パリティを上述したように1ビット或いは3ビット以上の2進データで構成してもよい。或いは、データコードワード及び誤り訂正コードワードを8ビットよりも大きい2進データ(例えば16ビットの2進データ)で構成してもよい。   In the above embodiment, the data code word and the error correction code word are both configured by 8-bit binary data, and the error correction parity is configured by 2-bit binary data. All the number of bits may be changed. For example, the error correction parity may be composed of binary data of 1 bit or 3 bits or more as described above. Alternatively, the data code word and the error correction code word may be composed of binary data larger than 8 bits (for example, 16-bit binary data).

上記実施形態では、各データコードブロック11に対して1つの誤り訂正コードブロック12を割り当てた構成を例示したが、いずれかのデータコードブロック11(例えば重要視するデータコードブロック)については2つの誤り訂正コードブロックを割り当て、他のデータコードブロック11については上記実施形態と同様に1つの誤り訂正コードブロックを割り当てるようにしてもよい。この場合、前記いずれかのデータコードブロック11については、当該データコードブロック11に誤りが生じた場合に誤り検出用パリティを用いて誤りの検出を試み、誤りが検出された場合に消失訂正を行うことができる。他方、誤りが検出できなかった場合には、2つの誤り訂正コードブロックを用いて「検出訂正」を行うことができるようになる。従って、特定のデータコードブロックの誤り訂正レベルを高めることができる。   In the above-described embodiment, the configuration in which one error correction code block 12 is assigned to each data code block 11 is exemplified. However, two errors are detected for any one of the data code blocks 11 (for example, a data code block regarded as important). A correction code block may be assigned and one error correction code block may be assigned to the other data code blocks 11 as in the above embodiment. In this case, for any one of the data code blocks 11, when an error occurs in the data code block 11, an error detection is attempted using the error detection parity, and erasure correction is performed when an error is detected. be able to. On the other hand, when an error cannot be detected, “detection and correction” can be performed using two error correction code blocks. Therefore, the error correction level of a specific data code block can be increased.

1…情報コード
11…データコードブロック
12…誤り訂正コードブロック
C…情報表示単位セル
DESCRIPTION OF SYMBOLS 1 ... Information code 11 ... Data code block 12 ... Error correction code block C ... Information display unit cell

Claims (5)

複数の情報表示単位セルがマトリックス状に配列されてなる情報コードであって、
所定個数の前記情報表示単位セルによってデータコードワードを表現する複数のデータコードブロックと、
前記各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロックと、
を備え、
前記データコードワード毎に対応付けて、前記各データコードワードの誤り検出に用いる誤り検出用パリティが付されており、前記誤り検出用パリティのビット数が前記データコードワードのビット数よりも少ないことを特徴とする情報コード。
An information code in which a plurality of information display unit cells are arranged in a matrix,
A plurality of data code blocks representing a data code word by a predetermined number of the information display unit cells;
A plurality of error correction code blocks representing error correction code words used for error correction of each data code word;
With
Corresponding to each data code word, an error detection parity used for error detection of each data code word is attached, and the number of bits of the error detection parity is smaller than the number of bits of the data code word. An information code characterized by
前記誤り検出用パリティは、対応付けられた前記データコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されたものであることを特徴とする請求項1に記載の情報コード。   2. The error detection parity is generated based on a value obtained by adding 1 to a total value obtained by summing up each bit value of the associated data codeword. Information code. 前記データコードワードが8ビットで表わされ、前記誤り検出用パリティが2ビットで表わされることを特徴とする請求項1又は請求項2に記載の情報コード。   3. The information code according to claim 1, wherein the data code word is represented by 8 bits, and the error detection parity is represented by 2 bits. 前記誤り訂正コードワードの数が、前記データコードワードの数の2倍よりも少ないことを特徴とする請求項1から請求項3のいずれか一項に記載の情報コード。   The information code according to any one of claims 1 to 3, wherein the number of the error correction codewords is less than twice the number of the data codewords. 情報処理装置を用いて請求項1から請求項4のいずれかに記載の前記二次元コードを生成する二次元コード生成方法であって、
コード化すべき解読対象データを取得する取得ステップと、
前記取得ステップで取得した前記解読対象データに基づいて前記各データコードワードを生成する第1生成ステップと、
前記第1生成ステップによって生成された前記各データコードワードに対応する各誤り検出用パリティを生成する第2生成ステップと、
前記第1生成ステップによって生成された前記各データコードワードに対応する前記誤り訂正コードワードを生成する第3生成ステップと、
を備えたことを特徴とする情報コード生成方法。
A two-dimensional code generation method for generating the two-dimensional code according to any one of claims 1 to 4, using an information processing device,
An acquisition step of acquiring data to be decoded to be encoded;
A first generation step of generating each data codeword based on the data to be decoded acquired in the acquisition step;
A second generation step of generating each error detection parity corresponding to each of the data codewords generated by the first generation step;
A third generation step of generating the error correction codeword corresponding to the data codeword generated by the first generation step;
An information code generation method characterized by comprising:
JP2009294606A 2009-12-25 2009-12-25 Information code and information code generation method Expired - Fee Related JP5359858B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009294606A JP5359858B2 (en) 2009-12-25 2009-12-25 Information code and information code generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009294606A JP5359858B2 (en) 2009-12-25 2009-12-25 Information code and information code generation method

Publications (2)

Publication Number Publication Date
JP2011134211A true JP2011134211A (en) 2011-07-07
JP5359858B2 JP5359858B2 (en) 2013-12-04

Family

ID=44346845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009294606A Expired - Fee Related JP5359858B2 (en) 2009-12-25 2009-12-25 Information code and information code generation method

Country Status (1)

Country Link
JP (1) JP5359858B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013148981A (en) * 2012-01-17 2013-08-01 Denso Wave Inc Two-dimensional code reading device
JP2020035057A (en) * 2018-08-28 2020-03-05 株式会社デンソーウェーブ Information code, information code generation method, information code generation device, and information code read system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002324222A (en) * 2001-02-21 2002-11-08 Denso Corp Information code label, and method for decoding information code, and system for the same
JP2009259192A (en) * 2008-03-27 2009-11-05 Denso Wave Inc Two-dimensional code, two-dimensional code generating method, computer-readable program which displays two-dimensional code, authentication method using two-dimensional code, and information-providing method using two-dimensional code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002324222A (en) * 2001-02-21 2002-11-08 Denso Corp Information code label, and method for decoding information code, and system for the same
JP2009259192A (en) * 2008-03-27 2009-11-05 Denso Wave Inc Two-dimensional code, two-dimensional code generating method, computer-readable program which displays two-dimensional code, authentication method using two-dimensional code, and information-providing method using two-dimensional code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013148981A (en) * 2012-01-17 2013-08-01 Denso Wave Inc Two-dimensional code reading device
JP2020035057A (en) * 2018-08-28 2020-03-05 株式会社デンソーウェーブ Information code, information code generation method, information code generation device, and information code read system
JP7024665B2 (en) 2018-08-28 2022-02-24 株式会社デンソーウェーブ Information code, information code generation method, information code generator and information code reading system

Also Published As

Publication number Publication date
JP5359858B2 (en) 2013-12-04

Similar Documents

Publication Publication Date Title
JP5023949B2 (en) Two-dimensional code and its reading device
JP5120156B2 (en) 2D code
KR101767090B1 (en) Information code, information code generation method, information code reader device, and information code usage system
JP4122629B2 (en) 2D code generation method
JP5018382B2 (en) Two-dimensional code and its reading device
US8532299B2 (en) Method for producing two-dimensional code and reader for reading the two-dimensional code
WO2014098134A1 (en) Information code, information code generation method, information code reader device, and information code usage system
JP4752413B2 (en) Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus
CN106997446B (en) Enhanced matrix symbol error correction method
ATE468558T1 (en) ELECTRONIC CIRCUIT WITH A MEMORY MATRIX FOR STORING PAGES INCLUDING ADDITIONAL DATA
JP4968093B2 (en) Optical information reader
JP5359858B2 (en) Information code and information code generation method
JP2001167222A (en) Error correcting method, method and device for reading two-dimensional code and recording medium
JP5522104B2 (en) Information code reader
JP2019175033A (en) Information code and information code reader
JP5720623B2 (en) Two-dimensional code reader
JP6414274B2 (en) Information code generation method, information code, information code reader, and information code utilization system
JP6099258B2 (en) Optical code and method for generating the optical code
JP4862360B2 (en) Two-dimensional code and two-dimensional code reader
JP2011054211A (en) Two-dimensional code dividing and displaying method, two-dimensional code reading method, and two-dimensional code reader
JP2011113101A (en) Two-dimensional code, reader and generation device for the same
JP2013210697A (en) Information code reader
JP6394717B2 (en) Information code generation method, information code, information code reader, and information code utilization system
JP5293853B1 (en) Bar code reader
JP2007299098A (en) Qr code reader

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

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: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5359858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees