JP5592234B2 - Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program - Google Patents
Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program Download PDFInfo
- Publication number
- JP5592234B2 JP5592234B2 JP2010240939A JP2010240939A JP5592234B2 JP 5592234 B2 JP5592234 B2 JP 5592234B2 JP 2010240939 A JP2010240939 A JP 2010240939A JP 2010240939 A JP2010240939 A JP 2010240939A JP 5592234 B2 JP5592234 B2 JP 5592234B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- data
- bit
- bits
- encoded data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000001514 detection method Methods 0.000 claims description 40
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 49
- 238000006243 chemical reaction Methods 0.000 description 37
- 238000003780 insertion Methods 0.000 description 30
- 230000037431 insertion Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 18
- 229910000831 Steel Inorganic materials 0.000 description 4
- 239000010959 steel Substances 0.000 description 4
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 2
- 238000007641 inkjet printing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Description
本発明は、データを符号化して、二次元のマトリックス上にパターンとして配置した二次元コードを生成、読み取るための技術に関するものである。 The present invention relates to a technique for encoding and generating a two-dimensional code arranged as a pattern on a two-dimensional matrix.
近年、固体識別等のためにバーコードが多く利用されてきている。例えば特許文献1には、文字や数字情報を略正方形に構成された二次元コード化する技術が開示されている。また、特許文献2には、縦横比の異なる長方形で構成された二次元コードの技術が開示されている。
In recent years, many barcodes have been used for solid identification and the like. For example,
ところで、特許文献1に開示された二次元コードは略正方形に構成されることから、情報量を増やすと縦横ともにコードサイズが大きくなる。従って、細長い形状の対象物に付するには不都合が生じる。例えば従来から用いられている1次元バーコードは、比較的細長い形状への表示は可能であるが、直線状の汚れに弱かったり、インクジェット式の印字では細線を表示することが困難であったりする。また、同じ面積を占有することで比較すると、二次元コードと比べて情報量が少ないという欠点がある。また、特許文献2に開示される二次元コードは長方形で構成されるため、特許文献1に開示される略正方形の二次元コードに比べると細長い形状に付するに都合がよい。
By the way, since the two-dimensional code disclosed in
しかしながら、特許文献2に開示される技術では、カードに表示された二次元コードをカメラでカード1枚毎に撮影することが想定されている。対象物に付された細長い形状の二次元コードの場合、1画面として捉えるより、場合によっては二次元コードをスキャンして読み取ることの方が好都合であることも多い。
However, in the technique disclosed in
一般的に細長く構成された二次元コードをスキャンして認識する場合、スキャン速度によっては誤認識が発生しやすく、その対処が必要であるが特許文献2ではそのような考慮について開示されていない。
In general, when a long and thin two-dimensional code is recognized by scanning, erroneous recognition is likely to occur depending on the scanning speed, and it is necessary to deal with it, but
以上のことに鑑みて、この発明の目的とするところは、細長く構成された二次元コードをスキャンして認識する場合でも、二次元コードのデータビットの誤認識を回避し安定的にコード認識処理を行えるような二次元コード生成装置とプログラムを提供することである。 In view of the above, an object of the present invention is to stably perform code recognition processing by avoiding erroneous recognition of data bits of a two-dimensional code, even when scanning and recognizing a two-dimensional code formed in an elongated shape. It is to provide a two-dimensional code generation device and a program that can perform the above.
本発明の二次元コード生成装置は、符号化されたデータを二次元のマトリックス上にパターンとして配置した二次元コードを生成する二次元コード生成装置であって、前記符号化されたデータに対し、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを、符号化されたデータ毎に区分する間隔で周期的に挿入し、スタートビット及びエンドビットを付加した前記二次元コードを生成する二次元コード生成手段を有することを特徴とする。
本発明の二次元コード読取装置は、符号化されたデータを二次元のマトリックス上にパターンとして配置した二次元コードを読み取る二次元コード読取装置であって、スタートビット及びエンドビットを検出することにより前記二次元コードを読み取る読取手段と、前記二次元コードにおいて前記符号化されたデータに対して符号化されたデータ毎に区分する間隔で周期的に挿入された隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを基準にして、前記二次元コードから前記冗長化データにより区分された前記符号化されたデータを検出する検出手段と、前記検出手段により検出された前記符号化されたデータを復号化する復号化手段とを有することを特徴とする。
本発明の二次元コードは、符号化されたデータが二次元のマトリックス上にパターンとして配置された二次元コードであって、前記符号化されたデータに対して、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データが周期的に挿入され、スタートビット及びエンドビットが付加されたことを特徴とする。
Two-dimensional code generating apparatus of the present invention is a two-dimensional code generating device for generating a two-dimensional code arranged as a pattern marks Goka data on a two-dimensional matrix, the encoded data In contrast, the two-dimensional data in which redundant data including at least two pieces of data that are adjacent and whose values are inverted are periodically inserted at intervals for each encoded data , and a start bit and an end bit are added. characterized by having a two-dimensional code generation means to generate code.
The two-dimensional code reader of the present invention is a two-dimensional code reader that reads a two-dimensional code in which encoded data is arranged as a pattern on a two- dimensional matrix, and detects a start bit and an end bit. reading means for reading the two-dimensional code, at least the periodically inserted adjacent by the encoded encoding intervals for dividing each data to the data in the two-dimensional code, and the value is inverted the redundant data includes two data based on a detection means for detecting the encoded data divided by said redundancy data from said two-dimensional code, is the encoded detected by said detecting means And decrypting means for decrypting the received data.
The two-dimensional code of the present invention is a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix , and is adjacent to the encoded data and inverted in value. Redundant data including at least two data is periodically inserted, and a start bit and an end bit are added .
以上説明したように本発明によれば、所定のデータ構造の冗長化データを周期的に挿入して二次元コードを生成する装置と復号化する装置を提供することにより、二次元コードのデータビットの誤認識を回避し安定的にコード認識処理を行うことができる。特に鋼板の製造ラインのようなスキャンして認識する場合に好適な二次元コード認識装置とプログラムを提供することができる。 As described above, according to the present invention, data bits of a two-dimensional code are provided by providing a device for generating a two-dimensional code by periodically inserting redundant data having a predetermined data structure and a device for decoding. Therefore, the code recognition process can be performed stably. In particular, it is possible to provide a two-dimensional code recognition device and program suitable for scanning and recognizing a steel sheet production line.
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments to which the invention is applied will be described in detail with reference to the accompanying drawings.
図1は、本実施形態に係る二次元コード生成装置1及び二次元コード読取装置2の機能的な構成を示す図である。なお、二次元コード生成装置1と二次元コード読取装置2とは一体化された装置であってもよいし、夫々が個別の装置であってもよい。
FIG. 1 is a diagram illustrating a functional configuration of a two-dimensional
<二次元コード生成装置1>
図1に示すように、二次元コード生成装置1は、データ入力部11、二値化処理部12、冗長化ビット挿入部13、二次元コード出力部14、変換テーブル121、定義テーブル122を備える。データ入力部11は、二次元コードに変換される文字、数字や画像等のデータ(以下、入力データと称す)を入力する。二値化処理部12は、入力データを二値化(符号化)する。その際に、二値化処理部12は、変換テーブル121と定義テーブル122とを参照する。ここで変換テーブル121とは、図5に示すように、入力データ及び後述する出力データと二値化データとの対応関係を設定・管理するためのテーブルである。以下、二値化処理部12が入力データを変換した二値化データをデータビットと称す。また、定義テーブル122とは、入力データ及び出力データのデータ構造を定義するためのデータ(以下、定義ルールと称す)を設定・管理するためのテーブルである。より具体的には、定義ルールにおいては、入力データ及び出力データを構成する各データが「文字」であるか「数字」であるか或いは「画像」であるかが定義されている。なお、以下では説明を簡単にするために入力データが「文字」及び「数字」である場合を中心に説明する。
<Two-
As shown in FIG. 1, the two-dimensional
図6は、定義テーブル122の構成例を示す図である。図6の例では、定義テーブル122は、入力データ及び出力データのデータ構造として「文字」、「文字」を定義している定義ルール1と、入力データ及び出力データのデータ構造として「数字」、「数字」、「数字」を定義している定義テーブル2とを管理している。即ち、定義ルール1においては、例えば“AB”や“BD”等の2つの「文字」が並んだデータ構造を定義している。また、定義ルール2においては、例えば“123”や“578”等の3つの「数字」が並んだデータ構造を定義している。
FIG. 6 is a diagram illustrating a configuration example of the definition table 122. In the example of FIG. 6, the definition table 122 includes a
ここで、図5の変換テーブル121に示すように、「0」〜「9」の「数字」は上位2ビットの0を省略し4ビットで表現することが可能である。従って、二値化処理部12は、定義テーブル122から定義ルール2を参照すると、「数字」、「数字」、「数字」と定義されているため、入力データの各データを4ビットのデータビットに変換する。また、図5の変換テーブル121に示すように、「A」〜「Z」までの「文字」は6ビットのデータビットで表現することが可能である。従って、二値化処理部12は、定義テーブル122から定義ルール1を参照すると「文字」、「文字」と定義されているため、入力データの各データを6ビットのデータビットに変換する。
Here, as shown in the conversion table 121 of FIG. 5, “numbers” of “0” to “9” can be expressed by 4 bits by omitting the upper 2 bits of 0. Therefore, when the binarization processing unit 12 refers to the
冗長化ビット挿入部13は、二値化処理部12によって得られたデータビットに対して冗長化ビットを挿入する。その際に冗長化ビット挿入部13は、定義テーブル122を参照し、データビットに対して冗長化ビットを挿入する位置を決定する。本実施形態において、冗長化ビットは、二次元コード読取部2が二次元コードからデータビットを検出する際の基準位置を示すビットとして扱われる。従って、各データビットの区切りとなる位置に冗長化ビットを配置することが好ましい。よって、本実施形態では、定義ルール2のように「数字」、「数字」、「数字」と定義されている場合、冗長化ビット挿入部13は、データビットに対して4ビット間隔で冗長化ビットを挿入することを決定する。また、定義ルール1のように「文字」、「文字」と定義されている場合、冗長化ビット挿入部13は、データビットに対して6ビット間隔で冗長化ビットを挿入することを決定する。このように周期的に存在する冗長化ビットの位置を検出することにより、その間に存在するデータビットを正確に検出することが可能となる。なお、入力データが画像データの場合、例えば1スキャンラインのデータ毎に冗長化ビットを挿入したり、所定画素数のデータ毎に冗長化ビットを挿入したりすれば良い。
The redundancy
さらに、冗長化ビット挿入部13は、データビットに冗長化ビットを挿入した後、その先頭部及び最後部に夫々、スタートビット及びエンドビットを付加する。このようにしておくとコードの読取時に、二次元コード読取装置2は、スタートビット及びエンドビットを二次元コードから検出することにより、どこからどこまでが二次元コードであるかを識別することが可能となる。以上のデータ処理により、二次元コードが生成される。二次元コード出力部14は、上記の二次元コードを対象物に対して印字する。なお、二次元コードとは、数値の配列である入力データを二値化(ビット化)してデータビットとし、各データビットの値(二値)を二次元のマトリックス上に、それぞれ例えば白・黒のパターンとして配置したものである。以下では、幅方向が2ビット、長さ方向がNビット(Nは自然数)の二次元のマトリックス上にデータビットを配置した二次元コードを例に挙げて説明を行う。
Further, the redundancy
<二次元コード読取装置2>
二次元コード読取装置2について説明する。図1に示すように、二次元コード読取装置2は、二次元コード読取部21、データビット検出部22、データ変換部23、データ出力部24を備えている。二次元コード読取部21は、対象物に印字された二次元コードを読み取る。データビット検出部22は、二次元コードから冗長化ビットの位置を検出し、冗長化ビットの位置を基準にしてデータビットを検出する。即ち、データビット検出部22は、周期的に現れる冗長化ビットを検出し、その間に存在するデータビットを検出する。その際、データビット検出部22は、定義テーブル122から定義ルールを参照する。定義ルール2のようにデータ構造として「数字」、「数字」、「数字」と定義されている場合、データビット検出部22は、二次元コードから検出するデータビットが4ビット毎であることを認識する。一方、定義ルール1のようにデータ構造として「文字」、「文字」と定義されている場合、データビット検出部22は、二次元コードから検出するデータビットが6ビット毎であることを認識する。即ち、データビット検出部22は、検出するデータビットのビット数を認識した上で、冗長化ビットの位置を基準にしてデータビットの検出を行う。データ変換部23は、データビット検出部22により検出されたデータビットを、変換テーブル121を参照して「数字」や「文字」のデータ(以下、出力データと称す)に変換(復号化)する。データ出力部24は、データ変換部23によって得られた出力データを例えばディスプレイ等に出力する。
<Two-
The two-
図2は、本実施形態に係る二次元コード生成装置1、二次元コード読取装置2のハードウェア構成を示す図である。なお、図2は、二次元コード生成装置1と二次元コード読取装置2とが一体化された場合のハードウェア構成を示している。
FIG. 2 is a diagram illustrating a hardware configuration of the two-dimensional
CPU201は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ROM203には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム、二次元コード生成装置1、二次元コード読取装置2が実行する例えば図3、図4に示す処理フローのプログラム等が記憶されている。
The
また、本実施形態に係る例えば図3、図4に示す処理を行うためのプログラムは、CD−ROM等のコンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。 Further, for example, the program for performing the processing shown in FIGS. 3 and 4 according to the present embodiment may be recorded on a computer-readable recording medium such as a CD-ROM and supplied from the recording medium. However, it may be configured to be supplied via a communication medium such as the Internet.
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
The
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
The
ディスプレイコントローラ208は、ディスプレイ209における画像表示を制御する。KBコントローラ204は、KB(キーボード)205からの操作入力を受け付け、CPU201に対して送信する。なお、図示していないが、KB205の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係る二次元コード生成装置1、二次元コード読取装置2に適用可能である。
The
プリント部207は、対象物に二次元コードを印字するための装置である。スキャナ部206は、対象物に印字された二次元コードを読み取るための装置である。
The
図18に実施形態の一例を示す。鋼板の製造ラインである通板中の鋼板1802、鋼板に印字された二次元コード1801、スキャナ部に相当するカメラ1803、前工程で二次元コードを印字するプリント部に相当するマーキング装置1804、二次元コード生成装置、読取装置である1.2で構成される。
FIG. 18 shows an example of the embodiment. A
なお、図1に示す二値化処理部12、冗長化ビット挿入部13、データビット検出部22、データ変換部23は、例えばROM203内に記憶され、必要に応じてRAM202にロードされるプログラム及びそれを実行するCPU201によって実現される構成である。また、データ入力部11は、KB205及びKBコントローラ204に相当する構成である。二次元コード出力部14は、プリント部207に相当する構成である。二次元コード読取部21は、スキャナ部206に相当する構成である。
The binarization processing unit 12, the redundant
図3は、本実施形態に係る二次元コード生成装置1の処理を示すフローチャートである。先ずステップS301において、データ入力部11は、二次元コードに変換する文字や数字等の入力データを入力する。ステップS302において、二値化処理部12は変換テーブル121と定義テーブル122とを参照する。ここで、二値化処理部12は、定義テーブル122から定義ルールを参照し、入力データの構造に応じたビット数を認識する。即ち、定義ルール2において「数字」、「数字」、「数字」が定義されている入力データについては、二値化処理部12は、当該入力データの各データを4ビットのデータビットに変換することを認識する。一方、定義ルール1において「文字」、「文字」が定義されている入力データについては、二値化処理部12は、当該入力データの各データを6ビットのデータビットに変換することを認識する。ステップS303において、二値化処理部12は、ステップS302で参照した変換テーブル121を用いて、認識したビット数で入力データをデータビットに変換する。即ち、二値化処理部12は、4ビットのデータビットに変換すると認識した場合には、例えば入力データ“2”については変換テーブル121において“000010”が対応付けられているが、上2桁の“00”を除いた“0010”に変換する。そもそも「数字」は4ビットで表現可能であるため、上2桁の“00”はなくても問題はない。一方、6ビットのデータビットに変換すると認識された場合、例えば入力データ“2”は“000010”に変換される。
FIG. 3 is a flowchart showing processing of the two-dimensional
ステップS304において、冗長化ビット挿入部13は、定義テーブル122から定義ルールを参照し、データビットに対して冗長化ビットを挿入する。例えば、定義ルール2が参照された場合、冗長化ビット挿入部13は、データビットに対して4ビット間隔の周期で冗長化ビットを挿入する。一方、定義ルール1が参照された場合、冗長化ビット挿入部13は、データビットに対して6ビット間隔の周期で冗長化ビットを挿入する。
In step S304, the redundant
ステップS305において、冗長化ビット挿入部13は、冗長化ビットが挿入されたデータビットの先頭部にスタートビットを付加するとともに、最後部にエンドビットを付加する。これにより、二次元コードが生成される。ステップS306において、二次元コード出力部14は、生成された二次元コードを対象物に印字する。
In step S305, the redundancy
図7は、図6の定義ルール1に従って“GH”という入力データをデータビットに変換し、二次元コードを生成する例を説明するための図である。
FIG. 7 is a diagram for explaining an example in which input data “GH” is converted into data bits according to the
データ入力部11が“GH”701という入力データを入力すると、二値化処理部12は定義テーブル122から「文字」、「文字」という定義ルール1を参照し、入力データの各データ“G”、“H”を夫々6ビットのビットデータに変換することを認識する。従って、二値化処理部12は、変換テーブル121を参照して、“G”を“010000”、“H”を“010001”に変換する(図7の702)。二値化処理部12は、これらのビットデータを結合することにより、“GH”に対応するビットデータ“010000010001”を生成する。なお、入力データと参照する定義ルールとの紐づけは、入力データが入力される前に、参照すべき定義ルールがユーザによって指定される方法でもよいし、入力データと定義ルールとを対応付けたテーブルを別途用意してもよい。
When the
次に冗長化ビット挿入部13は、同じ定義ルール1を参照することにより、6ビット間隔で周期的にビットデータに対して冗長化ビットを挿入することを認識する。従って、冗長化ビット挿入部13は、ビットデータ“010000010001”の、先頭部と、“010000”と“010001”との間との夫々に冗長化ビットを挿入する。次に冗長化ビット挿入部13は、冗長化ビットを挿入した後のビットデータの先頭部にスタートビットを付加するとともに、最後部にエンドビットを付加する。これにより、二次元コードが生成される(図7の703)。なお、図7の703に示す二次元コード内の(0)〜(5)は、データビットの配置位置又は配置順序を示している。図9、図11、図14、図17についても同様である。
Next, the redundant
図4は、本実施形態に係る二次元コード読取装置2の処理を示すフローチャートである。先ずステップS401において、二次元コード読取部21は、対象物に印字された二次元コードを読み取る。ステップS402において、読み取られた二次元コード全体の画像データはRAM202上に展開される。ステップS403において、データビット検出部22は、定義テーブル122から定義ルールを参照し、二次元コードから検出するデータビットのビット数を検出する。即ち、定義ルール2において「数字」、「数字」、「数字」が定義されている出力データについては、データビット検出部22は、二次元コードから4ビット毎にデータビットを検出することを認識する。一方、定義ルール1において「文字」、「文字」が定義されている出力データについては、データビット検出部22は、二次元コードから6ビット毎にデータビットを検出することを認識する。
FIG. 4 is a flowchart showing processing of the two-dimensional
ステップS404において、データビット検出部22は、RAM202上に展開された二次元コード全体の画像データからスタートビット、冗長化ビット及びエンドビットを検出する。ステップS405において、データビット検出部22は、スタートビット、冗長化ビット及びエンドビットを用いて、二次元コードからデータビットを検出する。即ち、データビット検出部22は、スタートビット及びエンドビットから二次元コードの先頭部と最後部とを検出することにより、どこからどこまでが二次元コードであるかを把握する。そしてデータビット検出部22は、二次元コードに存在する冗長化ビットの位置を検出し、その位置を基準にして冗長化ビット間に存在するデータビットを検出する。その際、データビット検出部22は、冗長化ビット間に存在するデータビットが定義ルールから認識したビット数のデータビットであるものとして、データビットの検出を行う。
In step S <b> 404, the data bit
本実施形態においては、仮に二次元コードが印字された対象物の移動速度が変化し、又は、二次元コード読取装置2の移動速度が変化することによって、二次元コードの読み取り速度が変化した場合でも、冗長化ビットの位置から二次元コードのデータビットを正確に読み取ることができる。即ち、読み取った二次元コードの画像データはRAM202上に一度展開されるが、読み取り速度が速い場合、実際のデータビットよりも小さなサイズでRAM202上に展開されたり、逆に読み取り速度が遅い場合、実際のデータビットより大きなサイズでRAM202上に展開されたりする。これにより従来方法では大きなサイズで展開されたデータビットは実際よりも大きなビット数のデータビットで検出される可能性があり、反対に小さなサイズで展開されたデータビットは実際よりも小さいビット数のデータビットで検出される可能性がある。このように、実際の二次元コードのデータビットとは異なるサイズで読み取られると、データビットの誤認識が生じることがある。
In the present embodiment, when the moving speed of the object on which the two-dimensional code is printed changes, or the reading speed of the two-dimensional code changes due to the changing moving speed of the two-
これに対し、本実施形態では、RAM202上に展開された二次元コードから冗長化ビットの位置を検出し、二次元コードのどこからどこまでが所定のビット数(ここでは、4又は6ビット)のビットデータであるのかを把握した上でデータビットを検出するため、データビットの誤認識を回避することが可能となる。
On the other hand, in this embodiment, the position of the redundant bit is detected from the two-dimensional code developed on the
冗長化ビットのなかには、隣接するデータビットとの関係により、それ自体だけでは検出が困難なものが存在し得る。これに対し、本実施形態では、読み取った二次元コードを一旦RAM202上に展開した上で冗長化ビットの検出を行うようにしている。従って、他の冗長化ビットの検出がある程度の割合で成功していれば、それらの冗長化ビットの配置パターンの周期性を利用して、検出しづらい冗長化ビットの位置を推定することができる。
Some redundant bits may be difficult to detect by themselves because of the relationship with adjacent data bits. On the other hand, in the present embodiment, the read two-dimensional code is once developed on the
ステップS406において、データ変換部23は、変換テーブル121を参照し、ステップS405で検出されたデータビットを出力データに変換する。ステップS407において、データ出力部24は、出力データをディスプレイ等に表示する。
In step S406, the
図8は、図6の定義ルール1に従って、図7で説明した処理により生成された二次元コード703のデータビットを出力データに変換する例を説明するための図である。
FIG. 8 is a diagram for explaining an example in which the data bits of the two-
二次元コード読取部21が二次元コード801(図7の703)を読み取ると、二次元コードの全ての画像データがRAM202上に展開される。データビット検出部22は、定義テーブル122から「文字」、「文字」という定義ルール1を参照し、二次元コードから6ビット毎にデータビットを検出することを認識する。なお、二次元コードと参照する定義ルールとの紐づけは、二次元コードが読み取られる前に、参照すべき定義ルールがユーザによって指定される方法でもよいし、二次元コードと定義ルールとを対応付けたテーブルを別途用意してもよい。
When the two-dimensional
次にデータビット検出部22は、RAM202上に展開された画像データから、スタートビット、冗長化ビット及びエンドビットを検出する。スタートビット及びエンドビットにより、どこからどこまでが二次元コードであるかを検出することができる。またデータビット検出部22は、二次元コードから冗長化ビットの位置を検出し、冗長化ビット間に存在するデータビットを検出する。図8の802は、RAM202上に展開された二次元コード801の画像データから検出される、全二次元コードのビットパターンを示している。スタートビットとエンドビットとは夫々独自のビットパターンとなっており、このビット配置が検出されることにより、どこからどこまでが二次元コードであるかが把握される。そして、スタートビットとエンドビットとの間には周期的に冗長化ビット(「1」、「0」)が配置されており、これらの冗長化ビットを検出することにより、冗長化ビット間に存在する“010000”、“010001”のデータビットが検出される(図8の803)。データ変換部23は、図5の変換テーブル121を参照して、“010000”、“010001”のデータビットを出力データ“G”、“H”に変換する。データ出力部24は、データ変換部23により生成された出力データを結合した“GH”を出力する(図8の804)。
Next, the data bit
図9は、図6の定義ルール2に従って“441”という入力データをデータビットに変換し、二次元コードを生成する例を説明するための図である。
FIG. 9 is a diagram for explaining an example in which input data “441” is converted into data bits according to the
データ入力部11が“441”901という入力データを入力すると、二値化処理部12は定義テーブル122から「数字」、「数字」、「数字」という定義ルール2を参照し、入力データ“4”、“4”、“1”を夫々4ビットのビットデータに変換することを認識する。従って、二値化処理部12は、変換テーブル121を参照して、“4”を“0100”、“1”を“0001”に変換する(図9の902)。二値化処理部12は、これらのビットデータを結合することにより、“441”に対応するビットデータ“010001000001”を生成する。
When the
次に冗長化ビット挿入部13は、同じ定義ルール2を参照することにより、4ビット間隔で周期的にビットデータに対して冗長化ビットを挿入することを認識する。従って、冗長化ビット挿入部13は、ビットデータ“010001000001”の、先頭部と、“0100”と“0100”との間と、“0100”と“0001”との間との夫々に冗長化ビットを挿入する。次に冗長化ビット挿入部13は、冗長化ビットを挿入した後のビットデータの先頭部にスタートビットを付加することともに、最後部にエンドビットを付加する。これにより、二次元コードが生成される(図9の903)。
Next, the redundant
図10は、図6の定義テーブル2に従って、図9で説明した処理により生成された二次元コード903のデータビットを出力データに変換する例を説明するための図である。
FIG. 10 is a diagram for explaining an example in which the data bits of the two-
二次元コード読取部21が二次元コード1001(図9の903)を読み取ると、二次元コードの全ての画像データがRAM202上に展開される。データビット検出部22は、定義テーブル122から「数字」、「数字」、「数字」という定義ルール2を参照し、二次元コードから4ビット毎にデータビットを検出することを認識する。次にデータビット検出部22は、RAM22上に展開された画像データから、スタートビット、冗長化ビット及びエンドビットを検出する。スタートビット及びエンドビットにより、どこからどこまでが二次元コードであるかを検出することができる。またデータビット検出部22は、二次元コードから冗長化ビットの位置を検出し、冗長化ビット間に存在するデータビットを検出する。図10の1002は、RAM202上に展開された二次元コード1001の画像データから検出される、全二次元コードのビット配置を示している。図8の例と同様に、スタートビットとエンドビットとのビット配置が検出されることにより、どこからどこまでが二次元コードであるかが把握される。そして、二次元コードに周期的に存在する冗長化ビット(「1」、「0」)が検出されることにより、冗長化ビット間に存在する“0100”、“0100”、“0001”のデータビットが検出される(図10の1003)。データ変換部23は、図5の変換テーブル121を参照して、“0100”、“0100”、“0001”のデータビットを出力データ“4”、“4”、“1”に変換する。データ出力部24は、データ変換部23により生成された出力データを結合した“441”を出力する(図10の1004)。
When the two-dimensional
以上のように、本実施形態では、入力データの構造が「数字」、「数字」、「数字」である場合、入力データを、「0」〜「9」を表現可能な最小限のビット数(4ビット)のデータビットに変換するようにしている。これにより、不要なデータビットを使用せずに二次元コードを生成することが可能となり、二次元コードのサイズを縮小することができる。 As described above, in this embodiment, when the structure of input data is “number”, “number”, “number”, the minimum number of bits that can represent “0” to “9” as input data. The data is converted into (4 bits) data bits. Thereby, it becomes possible to generate a two-dimensional code without using unnecessary data bits, and the size of the two-dimensional code can be reduced.
上述した実施形態では、データビットに対して、定義ルールに従って各データビットを区分する間隔で冗長化ビットを挿入しているが、他の実施形態として、常に一定のビット数の周期で冗長化ビットを挿入するようにしてもよい。その具体例を図11及び図12を参照しながら説明する。 In the above-described embodiment, the redundant bits are inserted into the data bits at intervals that divide each data bit according to the definition rule. However, as another embodiment, the redundant bits are always in a fixed number of bits. May be inserted. A specific example will be described with reference to FIGS.
図11は、図6の定義ルール2に従って“441”という入力データをデータビットに変換し、冗長化ビット挿入部13が定義ルール2を参照することなく、一定の周期(ここでは、6ビットの周期)で冗長化ビットをデータビットに対して挿入する例を説明するための図である。
11 converts the input data “441” into data bits in accordance with the
データ入力部11が“441”1101というデータを入力すると、二値化処理部12は定義テーブル122から「数字」、「数字」、「数字」という定義ルール2を参照し、入力データ“4”、“4”、“1”を夫々4ビットのビットデータに変換することを認識する。従って、二値化処理部12は、変換テーブル121を参照して、“4”を“0100”、“1”を“0001”に変換する(図11の1102)。二値化処理部12は、これらのビットデータを結合することにより、“441”に対応するビットデータ“010001000001”を生成する。
When the
次に冗長化ビット挿入部13は、6ビットの周期で冗長化ビットをビットデータに対して挿入する。即ち、冗長化ビット挿入部13は、ビットデータ“010001000001”の、先頭部と、“010001”と“000001”との間との夫々に冗長化ビットを挿入する。次に冗長化ビット挿入部13は、冗長化ビットを挿入した後のビットデータの先頭部にスタートビットを付加するとともに、最後部にエンドビットを付加する。これにより、二次元コードが生成される(図11の1103)。
Next, the redundant
図12は、図6の定義ルール2に従って、図11で説明した処理により生成された二次元コード1103のデータビットを出力データに変換する例を説明するための図である。
FIG. 12 is a diagram for explaining an example of converting data bits of the two-
二次元コード読取部21が二次元コード1201(図11の1103)を読み取ると、二次元コードの全ての画像データがRAM202上に展開される。データビット検出部22は、定義テーブル122から「数字」、「数字」、「数字」という定義ルール2を参照し、二次元コードから4ビット毎にデータビットを検出することを認識する。次にデータビット検出部22は、RAM22上に展開された画像データから、スタートビット、冗長化ビット及びエンドビットを検出する。スタートビット及びエンドビットにより、どこからどこまでが二次元コードであるかを検出するところまでは図8及び図10で説明した処理と同様である。本実施形態において、データビット検出部22は、データビットに対して冗長化ビットが6ビット間隔で挿入されていることを予め把握しているものとする。また、データビット検出部22は、定義ルール2から、4ビット毎にデータビットを検出することを認識している。従って、データビット検出部22は、冗長化ビット間に存在する6ビットのデータビットを2回検出すると、2回検出した計12ビットのデータビットから4ビットのデータビットを3つ検出する。即ち、データビット検出部22は、冗長間ビット間に存在する6ビットのデータビットとして“010001”、“000001”を検出すると(図12の1202)、これらを結合したデータビット“010001000001”を3つに分割し、“0100”、“0100”、“0001”を検出する(図12の1203)。データ変換部23は、図5の変換テーブル121を参照して、“0100”、“0100”、“0001”のデータビットを出力データ“4”、“4”、“1”に変換する。データ出力部24は、データ変換部23により生成された出力データを結合した“441”を出力する(図12の1204)。
When the two-dimensional
次に、本発明の実施形態に適用可能な他の定義ルールの例について説明する。上述した定義ルールでは、入力データ及び出力データについて常に同一の構造を定義していたが、本実施形態では、定義ルールにおいて、入力データと出力データとで異なる構造を定義している。即ち、本実施形態の定義ルールでは、入力データの構造から出力データへの構造の変換方法を定義している。 Next, examples of other definition rules applicable to the embodiment of the present invention will be described. In the definition rule described above, the same structure is always defined for input data and output data. However, in this embodiment, different structures are defined for input data and output data in the definition rule. That is, the definition rule of this embodiment defines a method for converting the structure of input data to output data.
図13は、定義テーブル122の他の例を示す図である。本定義テーブル122では、定義ルール1において、「文字」、「文字」という構造の入力データを、「数字」、「数字」、「数字」という構造の出力データに変換することを定義しており、定義ルール2において、「数字」、「数字」、「数字」という構造の入力データを、「文字」、「文字」という構造の出力データに変換することを定義している。以下、図13の定義ルール1を適用した場合の動作について説明する。
FIG. 13 is a diagram illustrating another example of the definition table 122. In this definition table 122, the
図14は、図13の定義ルール1に従って“GH”という入力データをデータビットに変換し、二次元コードを生成する例を説明するための図である。
FIG. 14 is a diagram for explaining an example in which input data “GH” is converted into data bits according to the
データ入力部11が“GH”1401という入力データを入力すると、二値化処理部12は定義テーブル122から「文字」、「文字」という定義ルール1を参照し、入力データ“G”、“H”を夫々6ビットのビットデータに変換することを認識する。従って、二値化処理部12は、変換テーブル121を参照して、“G”を“010000”、“H”を“010001”に変換する(図14の1402)。二値化処理部12は、これらのビットデータを結合することにより、“GH”に対応するビットデータ“010000010001”を生成する。
When the
次に冗長化ビット挿入部13は、同じ定義ルール1を参照することにより、6ビット間隔で周期的にビットデータに対して冗長化ビットを挿入することを認識する。従って、冗長化ビット挿入部13は、ビットデータ“010000010001”の、先頭部と、“010000”と“010001”との間との夫々に冗長化ビットを挿入する。次に冗長化ビット挿入部13は、冗長化ビットを挿入した後のビットデータの先頭部にスタートビットを付加するととともに、最後部にエンドビットを付加する。これにより、二次元コードが生成される(図14の1403)。
Next, the redundant
図15は、図13の定義ルール1に従って、図14で説明した処理により生成された二次元コード1403のデータビットを出力データに変換する例を説明するための図である。
FIG. 15 is a diagram for explaining an example of converting the data bits of the two-
二次元コード読取部21が二次元コード1501(図14の1403)を読み取ると、二次元コードの全ての画像データがRAM202上に展開される。データビット検出部22は、定義テーブル122の定義ルール1において出力データとして「数字」、「数字」、「数字」が定義されていることから、二次元コードから4ビット毎にデータビットを検出することを認識する。それとともに、データビット検出部22は、同じく定義テーブル122の定義ルール1において入力データとして「文字」、「文字」が定義されていることから、二次元コード生成装置1の冗長化ビット挿入部13ではデータビットに対して6ビット間隔で冗長化ビットが挿入されていることを認識する。次にデータビット検出部22は、RAM22上に展開された画像データから、スタートビット、冗長化ビット及びエンドビットを検出する。データビット検出部22は、スタートビット及びエンドビットにより、どこからどこまでが二次元コードであるかを検出する。
When the two-dimensional
データビット検出部22は、冗長化ビット間に存在する6ビットのデータビットを2回検出すると、2回検出した計12ビットのデータビットから4ビットのデータビットを3つ検出する。即ち、データビット検出部22は、冗長化ビット間に存在する6ビットのデータビットとして“010000”、“010001”を検出すると(図15の1502)、これらを結合したデータビット“010000010001”を3つに分割し、“0100”、“0100”、“0001”を検出する(図15の1503)。データ変換部23は、図5の変換テーブル121を参照して、“0100”、“0100”、“0001”のデータビットを出力データ“4”、“4”、“1”に変換する。データ出力部24は、データ変換部23により生成された出力データを結合した“441”を出力する(図15の1504)。
When the 6-bit data bit existing between the redundant bits is detected twice, the data bit
図16は、定義テーブル122の更に他の例と、当該定義テーブル122に従って“AB012”という入力データから二次元コードを生成し、当該二次元コードを読み取る処理例とを示す図である。これまでは、二次元コードから読み取られるデータビットと同じデータ構造の出力データを生成する処理について説明したが、以下では、二次元コードから読み取られるデータビットとは異なるデータ構造の出力データを生成する処理について説明する。 FIG. 16 is a diagram showing still another example of the definition table 122 and a processing example of generating a two-dimensional code from input data “AB012” according to the definition table 122 and reading the two-dimensional code. So far, the process of generating output data having the same data structure as the data bits read from the two-dimensional code has been described, but in the following, output data having a data structure different from the data bits read from the two-dimensional code is generated. Processing will be described.
図16(a)に示すように、本例における定義テーブル122では、定義ルール1において、「文字(1)」、「文字(2)」、「数字(1)」、「数字(2)」、「数字(3)」という構造の入力データを、「文字(1)」、「数字(1)」、「数字(2)」、「数字(3)」、「文字(2)」という構造の出力データに変換することを定義している。
As shown in FIG. 16A, in the definition table 122 in this example, in the
データ入力部11が“AB012”1601というデータを入力すると、二値化処理部12は定義テーブル122から「文字(1)」、「文字(2)」、「数字(1)」、「数字(2)」、「数字(3)」という定義ルール1を参照し、入力データ“A”、“B”、“0”、“1”、“2”を夫々6ビットのビットデータに変換することを認識する。従って、二値化処理部12は、変換テーブル121を参照して、“A”を“001010”、“B”を“001011”、“0”を“000000”、“1”を“000001”、“2”を“000010”に変換する(図16の1602)。以降、同様の方法により、冗長化ビット挿入13が冗長化ビット、スタートビット及びエンドビットをデータビットに挿入し、二次元コードが生成される。
When the
生成された二次元コードを二次元コード読取部21が読み取ると、データビット検出部22は、定義ルール1において入力データとして「文字(1)」、「文字(2)」、「数字(1)」、「数字(2)」、「数字(3)」と定義され、出力データとして「文字(1)」、「数字(1)」、「数字(2)」、「数字(3)」、「文字(2)」と定義されていることから、二次元コードから6ビット毎にデータビットを検出した後、先頭から2番目に配置されている「文字(2)」を最後に配置するようにデータビットの入れ替えを行う。データ変換部23は、図5の変換テーブル121を参照し、このように入れ替えられた後のデータビット“001010”、“000000”、“000001”、“000010”、“001011”を出力データ“A012B”に変換する。データ出力部24は、データ変換部23により生成された出力データ“A012B”を出力する(図16の1603)。このように、二次元コードから読み取られるデータビット“AB012”とは異なるデータ構造の出力データ“A012B”を生成することが可能となる。
When the two-dimensional
なお、上述した処理例では、二値化処理部12は、図16(a)の定義テーブル122の定義ルール1に基づいて、入力データ“A”、“B”、“0”、“1”、“2”を夫々6ビットのビットデータに変換し、冗長化ビット挿入部13は、そのビットデータに対して6ビット間隔で冗長化ビットを挿入するようにしているが、これに限られない。例えば、二値化処理部12は、図16(a)の定義テーブル122の定義ルール1を参照することにより、入力データ“A”、“B”、“0”、“1”、“2”を夫々6ビット、6ビット、4ビット、4ビット、4ビットのデータビットに変換し、冗長化ビット挿入部13は、二値化処理部12が生成したデータビットに対して、6ビット、6ビット、4ビット、4ビット、4ビット間隔で冗長化ビットを挿入してもよい。この場合、データビット検出部22は、定義ルール1を参照して、冗長化ビット間には、6ビット、6ビット、4ビット、4ビット、4ビットのデータビットが存在することに認識した上で、データビットの検出を行う。このような手法によっても、二次元コードの読み取り速度が変化しても、データビットの誤認識を回避することができる。
In the processing example described above, the binarization processing unit 12 inputs the input data “A”, “B”, “0”, “1” based on the
以上説明した実施形態においては、例えば図7に示すように、幅方向(図の縦方向)に2ビット、長さ方向(図の横方向)にN(Nは任意の自然数)ビットの二次元コードを例に挙げているが、本発明に適用可能な二次元コードはこの形態に限定されない。即ち、幅方向も任意のビット数(Mビット(Mは任意の自然数))で構成することができる。 In the embodiment described above, for example, as shown in FIG. 7, two-dimensional with 2 bits in the width direction (vertical direction in the figure) and N (N is an arbitrary natural number) bits in the length direction (horizontal direction in the figure). A code is taken as an example, but a two-dimensional code applicable to the present invention is not limited to this form. That is, the width direction can also be configured with an arbitrary number of bits (M bits (M is an arbitrary natural number)).
また、冗長化ビットも上記実施形態で示した態様に限定されない。上記実施形態において冗長化ビットは、幅方向が2ビット、長さ方向がNビットの二次元コードにおいて、長さ方向に“1”、“0”の2ビットを隣接させたデータビットが幅方向の両端部に交互に現れるように配置しているが、これ以外の冗長化ビットの態様として次のようなものが挙げられる。図17は、冗長化ビットの他の態様を示す図である。図17(a)は、二次元コードの幅方向に“1”、“0”の2ビットを隣接させたデータビットが長さ方向に3ビットの周期で現れるように配置した冗長化ビットの例を示している。また、図17(b)は、二次元コードの幅方向の一方の端部で長さ方向に“1”、“0”の2ビットを隣接させたデータビットが、同じく長さ方向に3ビットの周期で現れるように配置した冗長化ビットの例を示している。 Further, the redundancy bit is not limited to the mode shown in the above embodiment. In the above embodiment, the redundant bit is a data bit in which two bits of “1” and “0” are adjacent in the length direction in a two-dimensional code having a width direction of 2 bits and a length direction of N bits. Are arranged so as to appear alternately at both ends, but other modes of redundant bits include the following. FIG. 17 is a diagram illustrating another mode of redundant bits. FIG. 17A shows an example of redundant bits arranged such that data bits in which two bits of “1” and “0” are adjacent in the width direction of the two-dimensional code appear in a period of 3 bits in the length direction. Is shown. FIG. 17 (b) shows that a data bit in which two bits of “1” and “0” are adjacent to each other at one end in the width direction of the two-dimensional code is also 3 bits in the length direction. The example of the redundancy bit arrange | positioned so that it may appear with the period of is shown.
図7に示す冗長化ビットの場合、二次元コードの幅方向の両端部において交互に冗長化ビットが現れるため、両端部に存在する冗長化ビットから二次元コードの幅が何ビットであるかを把握することができる。また、図17(a)に示す冗長化ビットの場合、二次元コードの幅方向の全ビットにわたって配置させている。従って、一つの冗長化ビットを検出すれば、二次元コードの幅が何ビットであるかを把握することができる。このように図7、図17(a)に示す冗長化ビットを採用した場合、二次元コードの幅が何ビットであるかを把握することができるため、実際には幅方向に更にデータビットが存在するのに存在しないものとして看做される等のデータビットの誤認識を回避することができる。一方、図17(b)に示す冗長化ビットの場合、図7、図17(a)に示す冗長化ビットのように幅方向のデータビットの誤認識を防ぐには不向きであるが、長さ方向ではデータビットの誤認識を防ぐことができる。このように本発明に適用可能な冗長化ビットは様々な態様のものが挙げられ、以上例示したものに限定されない。 In the case of the redundant bits shown in FIG. 7, since redundant bits appear alternately at both ends in the width direction of the two-dimensional code, how many bits the width of the two-dimensional code is from the redundant bits existing at both ends. I can grasp it. In the case of the redundant bits shown in FIG. 17A, the bits are arranged over all the bits in the width direction of the two-dimensional code. Therefore, if one redundant bit is detected, it is possible to grasp how many bits the width of the two-dimensional code is. In this way, when the redundant bits shown in FIGS. 7 and 17A are employed, it is possible to know how many bits the width of the two-dimensional code is, so in practice, there are more data bits in the width direction. It is possible to avoid misrecognition of data bits, such as being present as being present but not present. On the other hand, the redundant bits shown in FIG. 17B are not suitable for preventing erroneous recognition of data bits in the width direction as in the redundant bits shown in FIGS. 7 and 17A. In the direction, erroneous recognition of data bits can be prevented. As described above, the redundancy bits applicable to the present invention include various forms, and are not limited to those exemplified above.
また、上述した実施形態では、データビット、冗長化ビットを“0”、“1”の2値のビットで表現しているが、本発明はこれに限定されない。即ち、データビットや冗長化ビットを3値以上のグレースケールやカラーで表現してもよい。この場合、二次元コードを読み取って画像データをRAM202上に展開し、当該画像データを画像処理してマルチレベルの値の認識を行った後、変換テーブルを用いてデータビットから出力データに変換する処理を行うことになる。さらに、冗長化ビットは、上述した実施形態のように2ビットに限定されず、それ以上のビット数で表現してもよい。
In the above-described embodiment, the data bit and the redundancy bit are expressed by binary bits of “0” and “1”, but the present invention is not limited to this. That is, the data bits and the redundant bits may be expressed in grayscale or color having three or more values. In this case, the two-dimensional code is read, the image data is developed on the
また、二次元コードのエンドビットの直前部分にチェックデジットを追加し、全データビットの値とチェックデジットの値とを加算し、0×Fで剰余をとったときに0×Fとなるか否かに応じて、正確にデータビットの読み取りができているか否かを判定(エラー検出)するようにしてもよい。もし正確にデータビットの読み取りができていないと判定された場合、もう一度読み取り処理を行うようにする。さらに、入力データをデータビットに変換する際に、公知のReed-Solomon符号化技術を用いてエラー訂正するようにしてもよい。 Also, a check digit is added immediately before the end bit of the two-dimensional code, the value of all data bits and the value of the check digit are added, and 0 × F is obtained when the remainder is taken as 0 × F. Accordingly, it may be determined (error detection) whether or not the data bits can be read accurately. If it is determined that the data bit cannot be read correctly, the reading process is performed again. Further, when converting input data into data bits, error correction may be performed using a known Reed-Solomon encoding technique.
なお、上述した実施形態では、矩形の冗長化ビット及びデータビットを二次元コードに配置しているが、冗長化ビット及びデータビットの形状はこれに限定されず、例えば円形の冗長化ビット及びデータビットであってもよく、全てのビットに通じて共通な形状であればよい。これにより、1次元バーコードのように細線でデータを表現する場合のように、直線状の汚れに弱かったり、インクジェット式の印字では表示することが困難であるという問題点を解消することができる。 In the above-described embodiment, rectangular redundancy bits and data bits are arranged in a two-dimensional code. However, the shape of the redundancy bits and data bits is not limited to this, and for example, circular redundancy bits and data bits. Bits may be used as long as they are common to all bits. As a result, it is possible to solve the problem that the data is expressed by thin lines like a one-dimensional bar code and is not easily displayed by ink-jet printing as it is vulnerable to linear stains. .
1:二次元コード生成装置、2:二次元コード読取装置、11:データ入力部、12:二値化処理部、13:冗長化ビット挿入部、14:二次元コード出力部、21:二次元コード読取部、22:データビット検出部、23:データ変換部、24:データ出力部、121:変換テーブル、122:定義テーブル 1: two-dimensional code generator, 2: two-dimensional code reader, 11: data input unit, 12: binarization processing unit, 13: redundant bit insertion unit, 14: two-dimensional code output unit, 21: two-dimensional Code reading unit, 22: data bit detection unit, 23: data conversion unit, 24: data output unit, 121: conversion table, 122: definition table
Claims (14)
前記符号化されたデータに対し、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを、符号化されたデータ毎に区分する間隔で周期的に挿入し、スタートビット及びエンドビットを付加した前記二次元コードを生成する二次元コード生成手段を有することを特徴とする二次元コード生成装置。 The marks Goka data a two-dimensional code generating device for generating a two-dimensional code arranged as a pattern on a two-dimensional matrix,
With respect to the encoded data, adjacent and redundant data including at least two data values are inverted periodically inserted at intervals classified in each encoded data, a start bit and two-dimensional code generating apparatus characterized by having a two-dimensional code generation means to generate the two-dimensional code added to the end bit.
スタートビット及びエンドビットを検出することにより前記二次元コードを読み取る読取手段と、
前記二次元コードにおいて前記符号化されたデータに対して符号化されたデータ毎に区分する間隔で周期的に挿入された隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを基準にして、前記二次元コードから前記冗長化データにより区分された前記符号化されたデータを検出する検出手段と、
前記検出手段により検出された前記符号化されたデータを復号化する復号化手段とを有することを特徴とする二次元コード読取装置。 A two-dimensional code reader for reading a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix,
Reading means for reading the two-dimensional code by detecting a start bit and an end bit;
In the two-dimensional code, the redundant data including at least two adjacent data that are periodically inserted at intervals divided for each encoded data with respect to the encoded data and whose values are inverted is used as a reference. Detecting means for detecting the encoded data divided by the redundant data from the two-dimensional code;
It said detection means by said detected encoded two-dimensional code reader you characterized by chromatic and decoding means for decoding data.
前記検出手段は、前記メモリ上に展開された前記二次元コードから前記冗長化データを検出することを特徴とする請求項4に記載の二次元コード読取装置。 Further comprising expansion means for expanding the two-dimensional code read by the reading means on a memory;
5. The two-dimensional code reader according to claim 4 , wherein the detection unit detects the redundant data from the two-dimensional code developed on the memory .
前記符号化されたデータに対して、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データが周期的に挿入され、スタートビット及びエンドビットが付加されたことを特徴とする二次元コード。 The encoded data is a two-dimensional code arranged as a pattern on a two-dimensional matrix,
With respect to the encoded data, adjacent and redundant data including at least two data values are inverted are periodically inserted, characterized in that the start bit and end bit are added two dimension code.
前記符号化されたデータに対し、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを、符号化されたデータ毎に区分する間隔で周期的に挿入し、スタートビット及びエンドビットを付加した前記二次元コードを生成する二次元コード生成ステップを含むことを特徴とする二次元コード生成方法。 A two-dimensional code generation method for generating a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix,
Redundant data including at least two pieces of data that are adjacent to each other and whose values are inverted is periodically inserted into the encoded data at intervals that are divided for each encoded data, and a start bit and an end bit two-dimensional code generation how to comprising a two-dimensional code generating step of generating the two-dimensional code added.
スタートビット及びエンドビットを検出することにより前記二次元コードを読み取る読取ステップと、
前記二次元コードにおいて前記符号化されたデータに対して符号化されたデータ毎に区分する間隔で周期的に挿入された隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを基準にして、前記二次元コードから前記冗長化データにより区分された前記符号化されたデータを検出する検出ステップと、
前記検出ステップにより検出された前記符号化されたデータを復号化する復号化ステップとを含むことを特徴とする二次元コード読取方法。 A two-dimensional code reading method for reading a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix,
A reading step of reading the two-dimensional code by detecting a start bit and an end bit;
In the two-dimensional code, the redundant data including at least two adjacent data that are periodically inserted at intervals divided for each encoded data with respect to the encoded data and whose values are inverted is used as a reference. And detecting the encoded data segmented by the redundant data from the two-dimensional code,
Two-dimensional code reading how to; and a decoding step of decoding the encoded data detected by the detecting step.
前記符号化されたデータに対し、隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを、符号化されたデータ毎に区分する間隔で周期的に挿入し、スタートビット及びエンドビットを付加した前記二次元コードを生成する二次元コード生成ステップをコンピュータに実行させるためのプログラム。 A program for causing a computer to execute a two-dimensional code generation method for generating a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix,
Redundant data including at least two pieces of data that are adjacent to each other and whose values are inverted is periodically inserted into the encoded data at intervals that are divided for each encoded data, and a start bit and an end bit A program for causing a computer to execute a two-dimensional code generation step for generating the two-dimensional code to which is added .
スタートビット及びエンドビットを検出することにより前記二次元コードを読み取る読取ステップと、
前記二次元コードにおいて前記符号化されたデータに対して符号化されたデータ毎に区分する間隔で周期的に挿入された隣接し、且つ値が反転した少なくとも2つのデータを含む冗長化データを基準にして、前記二次元コードから前記冗長化データにより区分された前記符号化されたデータを検出する検出ステップと、
前記検出ステップにより検出された前記符号化されたデータを復号化する復号化ステップとをコンピュータに実行させるためのプログラム。 A program for causing a computer to execute a two-dimensional code reading method for reading a two-dimensional code in which encoded data is arranged as a pattern on a two-dimensional matrix,
A reading step of reading the two-dimensional code by detecting a start bit and an end bit;
In the two-dimensional code, the redundant data including at least two adjacent data that are periodically inserted at intervals divided for each encoded data with respect to the encoded data and whose values are inverted is used as a reference. And detecting the encoded data segmented by the redundant data from the two-dimensional code,
A program for causing a computer to execute a decoding step of decoding the encoded data detected by the detection step .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240939A JP5592234B2 (en) | 2010-10-27 | 2010-10-27 | Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240939A JP5592234B2 (en) | 2010-10-27 | 2010-10-27 | Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012093971A JP2012093971A (en) | 2012-05-17 |
JP5592234B2 true JP5592234B2 (en) | 2014-09-17 |
Family
ID=46387226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010240939A Active JP5592234B2 (en) | 2010-10-27 | 2010-10-27 | Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5592234B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103909741B (en) * | 2012-12-30 | 2016-04-06 | 航天信息股份有限公司 | 9 needle printers in embedded system are utilized to print the method and apparatus of Quick Response Code |
JP6785546B2 (en) * | 2015-12-04 | 2020-11-18 | 共同印刷株式会社 | Two-dimensional code analysis method, two-dimensional code analysis device, and two-dimensional code analysis program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134758A (en) * | 1993-11-09 | 1995-05-23 | Toppan Printing Co Ltd | Display body provided with two-dimensional code and two-dimensional code reader |
JP3012374U (en) * | 1994-12-13 | 1995-06-13 | 東京アルテック有限会社 | Playground card |
JP2003331235A (en) * | 2002-05-09 | 2003-11-21 | Denso Wave Inc | Two-dimensional code, two-dimensional code recording device, two-dimensional code reader and two-dimensional code reading system |
JP5120155B2 (en) * | 2008-09-02 | 2013-01-16 | 株式会社デンソーウェーブ | Information code |
-
2010
- 2010-10-27 JP JP2010240939A patent/JP5592234B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012093971A (en) | 2012-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8459565B2 (en) | Two-dimensional code generating apparatus, image forming system, two-dimensional code reading apparatus, and computer readable medium | |
CN100590682C (en) | Printing and printer method for two-dimensional code symbol | |
US8456486B2 (en) | Image processing apparatus and image processing program | |
WO2006117869A1 (en) | Information input/output method using dot pattern | |
JP2006345017A (en) | Method, unit, and program for processing image, and recording medium | |
JP2007328637A (en) | Form processing system, form processing method, program, and optical reading form | |
CN101849243B (en) | Code pattern | |
JP4893643B2 (en) | Detection method and detection apparatus | |
JP5592234B2 (en) | Two-dimensional code generation device, two-dimensional code reading device, two-dimensional code, two-dimensional code generation method, two-dimensional code reading method, and program | |
JPWO2013061468A1 (en) | Image generation method, information processing method, program, and information processing apparatus | |
US20080174824A1 (en) | Print data processing device and print data processing program | |
JP6127899B2 (en) | Image processing apparatus and image processing program | |
JP6164018B2 (en) | Information processing apparatus and information processing program | |
JP2009070232A (en) | Print data generation apparatus | |
JP2012098852A (en) | Image processing apparatus and image processing program | |
CN102810171B (en) | Chinese-sensible code and construction method thereof | |
JP4397866B2 (en) | Two-dimensional pattern reading device, two-dimensional pattern reading method | |
US8125691B2 (en) | Information processing apparatus and method, computer program and computer-readable recording medium for embedding watermark information | |
JP6613871B2 (en) | Information processing apparatus, image reading apparatus, and program | |
JP7109398B2 (en) | Image display medium, image processing device, image processing method, and program | |
WO2021095457A1 (en) | Two-dimensional code generation method, two-dimensional code evaluation method, two-dimensional code system, two-dimensional code generation device, two-dimensional code evaluation device, and two-dimensional code | |
JP5434273B2 (en) | Image processing apparatus and image processing program | |
JP6268888B2 (en) | Information processing apparatus and information processing program | |
JP2007096503A (en) | Image processing apparatus, image processing method, and image processing program | |
JP5173690B2 (en) | Information processing apparatus, information processing method, computer program, and computer-readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140311 |
|
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: 20140708 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5592234 Country of ref document: JP 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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |