JP5359858B2 - Information code and information code generation method - Google Patents
Information code and information code generation method Download PDFInfo
- Publication number
- JP5359858B2 JP5359858B2 JP2009294606A JP2009294606A JP5359858B2 JP 5359858 B2 JP5359858 B2 JP 5359858B2 JP 2009294606 A JP2009294606 A JP 2009294606A JP 2009294606 A JP2009294606 A JP 2009294606A JP 5359858 B2 JP5359858 B2 JP 5359858B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code word
- data code
- error detection
- code
- 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.)
- Expired - Fee Related
Links
Images
Abstract
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.
ところで、上記のような二次元コードを読み取る場合、いずれかのデータコードワードの読み取りが誤っていたとしても、読み取りの初期段階ではその誤り発生位置が特定されていないため、誤り訂正に際し、まず誤りが生じているデータコードワードを特定し、その上で誤りの大きさを求めてその誤りを訂正する必要がある。しかしながら、このように誤り発生位置が特定されていない状態で誤り訂正(いわゆる「検出訂正」)を行う場合、誤り位置が特定された状態で行われる誤り訂正(いわゆる「消失訂正」)と比較して、誤り訂正に必要なデータ(誤り訂正符号)のサイズが大きくなる傾向にあった。 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の発明は、色彩又は濃度又は輝度の異なる2種類の情報表示単位セルがマトリックス状に複数配列されてなる情報コードであって、
所定個数の前記情報表示単位セルによってデータコードワードを表現する複数のデータコードブロックと、
前記各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロックと、
を備え、
前記データコードワード毎に対応付けて、前記各データコードワードの誤り検出に用いる誤り検出用パリティが付されており、前記誤り検出用パリティのビット数が前記データコードワードのビット数よりも少ない構成であり、
前記データコードブロック及び前記誤り検出用パリティをいずれも2種類の前記情報表示単位セルによって表現し、前記データコードブロックと前記誤り検出用パリティとを別々の領域に配置した構成であり、
0のデータ値に対して一の種類の前記情報表示単位セルが対応付けられ、1のデータ値に対して他の種類の前記情報表示単位セルが対応付けられ、
前記誤り検出用パリティは、対応付けられた前記データコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されたものであり、前記データコードワードの複数の前記情報表示単位セルが示す値が全て0の場合に、当該データコードワードに割り当てられる前記誤り検出用パリティに1が含まれることを特徴とする。
The invention of
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 It is in,
The data code block and the error detection parity are both represented by two types of the information display unit cells, and the data code block and the error detection parity are arranged in separate areas,
One type of the information display unit cell is associated with a data value of 0, and another type of the information display unit cell is associated with a data value of 1,
The parity for error detection is generated based on a value obtained by adding 1 to the total value of the bit values of the associated data codewords, and the plurality of information indications of the data codewords When the values indicated by the unit cells are all 0, 1 is included in the error detection parity assigned to the data codeword .
請求項2の発明は、前記データコードワードが8ビットで表わされ、前記誤り検出用パリティが2ビットで表わされることを特徴としている。
The invention of
請求項3の発明は、前記誤り訂正コードワードの数が、前記データコードワードの数の2倍よりも少ないことを特徴としている。
The invention of
請求項4の発明は、情報処理装置を用いて請求項1から請求項3のいずれかに記載の前記情報コードを生成する情報コード生成方法であってコード化すべき解読対象データを取得する取得ステップと、前記取得ステップで取得した前記解読対象データに基づいて前記各データコードワードを生成する第1生成ステップと、前記第1生成ステップによって生成された前記各データコードワードに対応する各誤り検出用パリティを生成する第2生成ステップと、前記第1生成ステップによって生成された前記各データコードワードに対応する前記誤り訂正コードワードを生成する第3生成ステップと、を備えたことを特徴とし
The invention according to
請求項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.
また、誤り検出用パリティが、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されている。このようにすると、例えば、データコードブロックが全て暗色(例えば黒)で汚れる場合や、全て明色(例えば白)で汚れる場合であっても誤りの検出漏れを防ぎやすくなる。 In addition, error detection parity is generated based on a value obtained by adding 1 to the total value of 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.
請求項2の発明では、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされている。このようにすると、各データ要素を8ビットのデータコードワードで好適に表現しつつ、データコードワードのビット数よりも大幅に抑えたビット数でデータコードをワードの誤りを良好に検出できるようになる。 According to the second aspect of the present invention, 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.
請求項3の発明では、誤り訂正コードワードの数がデータコードワードの数の2倍よりも少なくなっている。このようにすると、1つのデータコードワードの誤り訂正を2つの誤り訂正コードワードを用いて行う方式と比較して誤り訂正に必要なデータ量を抑えることができる。
In the invention of
請求項4の発明によれば、請求項1から請求項4のいずれか一項に記載の情報コードと同様の効果を奏する情報コードを良好に生成できる。
According to the invention of
[第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
情報コード1は、色彩又は濃度又は輝度の異なる複数種類のセルが配列されてなるものであり、図1に示す代表例では、色彩又は濃度又は輝度の異なる2種類のセル(具体的には、黒色セル及び白色セル)が用いられて情報コード1が構成されている。なお、図1等では黒色セルについては符号Cbで示し、白色セルについては符号Cwで示すこととする。
The
コードブロック10は、複数のセルCが集合してなるものであり、図1の情報コード1では、データコードブロック11と、誤り訂正コードブロック12とに分けられている。なお、図1では、データコードブロック11、誤り訂正コードブロック12、誤り訂正用パリティのブロック15の領域をそれぞれハッチング、破線枠、網掛けにて概念的に示しているが、これら領域は、具体的には図2のように黒色セルCb或いは白色セルCwが配列された構成をなしている。
The
データコードブロック11は、例えば図2のような構成をなしており、デコードの対象となるデータの各データ要素を符号化した符号化データ(データコードワード)を複数のセルによって表現したブロックとして構成されている。このデータコードブロック11を構成する各セルは、予め定められた複数種類のセル(図2の例では黒色セルCbと白色セルCwの二種類)の中からいずれかの種類のセルが選択されて用いられており、図2の例では、これら複数(図2では8つ)のセルがマトリックス状に集合した構成をなしている。なお、セル配列やブロック形状は図2の構成に限られず、様々な配列、形状とすることができる。また、一部のデータコードブロック11については2以上の領域に跨って構成されていてもよい。
The
また、各データコードブロック11は、全体として、デコードすべき符号化データ(データコード語)に対応したセルの配列で構成されるようになっている。本実施形態では、セルの色が、数値に対応付けられており、例えば、データ値「0」に対して白色セル、データ値「1」に対して黒色セルがそれぞれ対応付けられている。図2の例では、データコードブロック11によって「00000011」という8ビットの値を8つのセルによって表現している。
Each
また、本実施形態では、各データコードブロックを構成する各データコードワードに対応付けて、各データコードワードの誤り検出に用いる誤り検出用パリティが付されている。 この誤り検出用パリティのビット数は、データコードワードのビット数よりも少なくされており、図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
誤り訂正コードブロック12は、各データコードブロック11にて表現される各データコードワードの誤り訂正に用いるコードブロックであり、例えば各データコードブロック11に対応して1つずつ設けられている。この誤り訂正コードブロック12は、対応するデータコードブロック11のデータコードワードに基づいて所定方式で生成された誤り訂正コードワードを符号化して表現するものであり、誤り訂正コードワードを符号化したデータを複数個のセルCによって表現している。
The error
本実施形態では、後述する誤り訂正方法により、誤りが生じているデータコードブロック11を特定した上で、その誤りが生じているデータコードブロック11に対応する1つの誤り訂正コードブロック12によって誤り訂正(消失訂正)を行うものとされており、誤り訂正コードブロック12の内容(即ち誤り訂正コードワード)は、このような消失訂正が可能な構成であれば公知の様々な方式の符号を用いることができる。本実施形態の代表例では、その一例として公知のリード・ソロモン誤り訂正方式を用いており、具体的には、データコードワード毎に各データコードワードと同じビット数でリード・ソロモン符号(RS符号)が生成され、各データコードワードに対応する各RS符号をそれぞれ誤り訂正コードブロック12によって表現している。
In the present embodiment, a
(誤り検出用パリティの内容)
次に、本実施形態の特徴をなす誤り検出用パリティについて説明する。
上述したように、情報コード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
例えば、図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
なお、上記実施形態では、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
まず、上記情報処理装置において、コード化すべき解読対象データを取得する取得ステップを行う。この取得ステップでは、例えば、キーボードからの入力、通信部を介した外部入力、或いは情報処理装置に既に記憶されているデータを読み出す等の方法によってコード化すべきデータを取得する。 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
(情報コードの読取例)
次に、本実施形態に係る情報コード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
The
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ハウジングの読取口(図4では図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、本実施形態に係る情報コード1は、このような読取対象物Rに、印刷或いはダイレクトマーキング等によって形成されている。
The optical system includes an
受光センサ23は、読取対象物Rや情報コード1に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能にプリント配線板(図示略)に実装されている。また、フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
The
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路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
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
An image signal (analog signal) output from the
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
The
制御回路40は、光学的情報読取装置20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が制御回路40に接続されている。なお、通信インタフェース48には、当該光学的情報読取装置20の上位システムに相当するホストコンピュータHST等が接続される。また、電源系は、電源スイッチ41、電池49等によって構成されており、制御回路40による電源スイッチ41のオンオフ制御により、電池49から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
The
このように構成される光学的情報読取装置20では、以下のように読取処理が行われる。
読取処理は、例えば作業者が所定操作(例えば、操作スイッチ42のオン操作)を行うことで開始され、まず上記情報コード1を撮像する処理を行う。この撮像処理では、上記情報コード1の画像を含んだ画像データが取得され、メモリ35に記憶される。
In the
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
その後、その画像データにおいて、コード領域の位置及び向きを特定すると共にコード領域に含まれる各セルの位置を特定し、そのコード領域(矩形領域)に基づいてデコード処理を行う。本実施形態では、例えば光学的情報読取装置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
各データコードワードを解読する際には、対応する誤り検出用パリティを参照しており、データコードワードとの整合性がとれているか(即ち、認識されたデータコードワードの値に基づいて上記生成方法で誤り検出用パリティを生成した場合に、認識された誤り検出用パリティの値と一致するか)を判断する。この判断処理において整合がとれていると判断される場合には当該データコードブロック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
(本実施形態の主な効果)
本実施形態に係る情報コード1は、所定個数の情報表示単位セルCによってデータコードワードを表現する複数のデータコードブロック11と、各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロック12とを備えており、データコードワード毎に対応付けて、各データコードワードの誤り検出に用いる誤り検出用パリティが付されている。そして、誤り検出用パリティのビット数が、データコードワードのビット数よりも少なくなっている。このようにすると、データコードワードのビット数よりも少ないビット数で各データコードワードの読み取りに誤りが生じているか否かを検出することができる。そして、このような誤り位置の検出に基づき、誤り訂正コードブロックをより少ないデータ量に抑えて消失訂正を行うことができるようになる。
(Main effects of this embodiment)
The
上記効果は、図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.
一方、パターン3は、データコードワードが「00000011」と誤って認識され、パリティが「10」と正確に認識された例である。このケースでは、誤って認識されたデータコードワードによってビット合計に1を加えた値が2+1=3となっており、他方、パリティが2を示しているため不一致となり誤りを検出することができる。従って、当該データコードワードに対応する1つの誤り訂正コードブロック12を用いて消失訂正を行うことができる。なお、従来の一般的な方法では、このような場合に2つの誤り訂正コードブロックを用いているため、このパターン3では、従来方法と比較して少ないデータ量で正確に復元できることが読み取れる。
On the other hand,
また、パターン4は、データコードワードが「00011111」と誤って認識され、パリティが「11」と誤って認識された例である。この例では、パリティが誤って認識されているが、データコードワードとパリティとの整合性が取れず誤りが検出されることとなる。従って、当該データコードワードに対応する1つの誤り訂正コードブロック12を用いて消失訂正を行うことができる。なお、従来の一般的な方法では、このような場合に2つの誤り訂正コードブロックを用いて誤り訂正を行うため、このパターン4でも、従来方法と比較して少ないデータ量で正確に復元できることが読み取れる。
なお、パターン2ではデータコードワードは正しいがパリティによって誤りと判断され、使わなくてもよい誤り訂正コードワードを1つ使用している。しかし、このパターン2は、データコードワードが誤らずにパリティのみが誤るケースであるため、データコードワードの長さとパリティの長さ(この例の場合8:2)を考慮するとパターン2が生じる確率は極めて低いといえる。
In the
また、本実施形態に係る情報コード1では、誤り検出用パリティが、対応付けられたデータコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されている。このようにすると、例えば、データコードブロック11が全て暗色(例えば黒)で汚れる場合や、全て明色(例えば白)で汚れる場合であっても誤りの検出漏れを防ぎやすくなる。
Further, in the
また、本実施形態に係る情報コード1では、データコードワードが8ビットで表わされ、誤り検出用パリティが2ビットで表わされている。このようにすると、各データ要素を8ビットのデータコードワードで好適に表現しつつ、データコードワードのビット数よりも大幅に抑えたビット数でデータコードをワードの誤りを良好に検出できるようになる。
In the
また、本実施形態に係る情報コード1では、誤り訂正コードワードの数がデータコードワードの数の2倍よりも少なくなっている。このようにすると、1つのデータコードワードの誤り訂正を2つの誤り訂正コードワードを用いて行う方式と比較して誤り訂正に必要なデータ量を抑えることができる。
In the
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
[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.
上記実施形態では、データコードワード及び誤り訂正コードワードをいずれも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
1…情報コード
11…データコードブロック
12…誤り訂正コードブロック
C…情報表示単位セル
DESCRIPTION OF
Claims (4)
所定個数の前記情報表示単位セルによってデータコードワードを表現する複数のデータコードブロックと、
前記各データコードワードの誤り訂正に用いる誤り訂正コードワードを表現する複数の誤り訂正コードブロックと、
を備え、
前記データコードワード毎に対応付けて、前記各データコードワードの誤り検出に用いる誤り検出用パリティが付されており、前記誤り検出用パリティのビット数が前記データコードワードのビット数よりも少ない構成であり、
前記データコードブロック及び前記誤り検出用パリティをいずれも2種類の前記情報表示単位セルによって表現し、前記データコードブロックと前記誤り検出用パリティとを別々の領域に配置した構成であり、
一の種類の前記情報表示単位セルに0の値が対応付けられ、他の種類の前記情報表示単位セルに1の値が対応付けられており、
前記誤り検出用パリティは、対応付けられた前記データコードワードの各ビット値を合計した合計値に1を加えた値に基づいて生成されたものであり、前記データコードワードの複数の前記情報表示単位セルが示す値が全て0の場合に、当該データコードワードに割り当てられる前記誤り検出用パリティに1が含まれることを特徴とする情報コード。 An information code saturation, hue, or two types of information display unit cells having different luminance, which are arrayed 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 It is in,
The data code block and the error detection parity are both represented by two types of the information display unit cells, and the data code block and the error detection parity are arranged in separate areas,
A value of 0 is associated with one type of the information display unit cell, and a value of 1 is associated with the other type of the information display unit cell;
The parity for error detection is generated based on a value obtained by adding 1 to the total value of the bit values of the associated data codewords, and the plurality of information indications of the data codewords An information code characterized in that when the values indicated by the unit cells are all 0, 1 is included in the error detection parity assigned to the data code word .
コード化すべき解読対象データを取得する取得ステップと、
前記取得ステップで取得した前記解読対象データに基づいて前記各データコードワードを生成する第1生成ステップと、
前記第1生成ステップによって生成された前記各データコードワードに対応する各誤り検出用パリティを生成する第2生成ステップと、
前記第1生成ステップによって生成された前記各データコードワードに対応する前記誤り訂正コードワードを生成する第3生成ステップと、
を備えたことを特徴とする情報コード生成方法。 An information code generation method for generating the information code according to any one of claims 1 to 3 using an information processing apparatus,
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:
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 JP2011134211A (en) | 2011-07-07 |
JP5359858B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5825110B2 (en) * | 2012-01-17 | 2015-12-02 | 株式会社デンソーウェーブ | Two-dimensional code reader |
JP7024665B2 (en) * | 2018-08-28 | 2022-02-24 | 株式会社デンソーウェーブ | Information code, information code generation method, information code generator and information code reading system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3896827B2 (en) * | 2001-02-21 | 2007-03-22 | 株式会社デンソー | Information code decoding method and decoding system |
JP5136302B2 (en) * | 2008-03-27 | 2013-02-06 | 株式会社デンソーウェーブ | Two-dimensional code, two-dimensional code generation method, computer-readable program for displaying two-dimensional code, authentication method using two-dimensional code, and information providing method using two-dimensional code |
-
2009
- 2009-12-25 JP JP2009294606A patent/JP5359858B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011134211A (en) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5120156B2 (en) | 2D code | |
JP5023949B2 (en) | Two-dimensional code and its reading device | |
JP4122629B2 (en) | 2D code generation method | |
JP5136302B2 (en) | Two-dimensional code, two-dimensional code generation method, computer-readable program for displaying two-dimensional code, authentication method using two-dimensional code, and information providing method using two-dimensional code | |
US9711113B2 (en) | Information code, information code producing method, information code reader, and system which uses information code | |
US8879737B2 (en) | Method for producing two-dimensional code and reader for reading the two-dimensional code | |
EP2937817B1 (en) | Information code, information code generation method, information code reader device, and information code usage system | |
US8456486B2 (en) | Image processing apparatus and image processing program | |
JP2009087286A (en) | Two-dimensional code, and its reader | |
JP5229653B2 (en) | Two-dimensional code, two-dimensional code generation method, computer-readable program for displaying two-dimensional code, authentication method using two-dimensional code, and information providing method using two-dimensional code | |
JP7263423B2 (en) | Improved matrix symbol error fix | |
JP5359858B2 (en) | Information code and information code generation method | |
JP5152092B2 (en) | Two-dimensional code reading system | |
JP2007079781A (en) | Two-dimensional code division display method, two-dimensional code reading method and two-dimensional code reader | |
JP2009187209A (en) | Optical information reader | |
JP5522104B2 (en) | Information code reader | |
JP6414274B2 (en) | Information code generation method, information code, information code reader, and information code utilization system | |
JP5967000B2 (en) | Information code reading system, information code reading device, information code | |
JP2014154118A (en) | Optical code and generation method for the optical code | |
JP5293853B1 (en) | Bar code reader | |
JP4862360B2 (en) | Two-dimensional code and two-dimensional code reader | |
JP2007299098A (en) | Qr code reader | |
JP2013210697A (en) | Information code reader | |
JP6394717B2 (en) | Information code generation method, information code, information code reader, and information code utilization system | |
Lay et al. | Visual QR codes with lossless picture embedding |
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 |