JP4957616B2 - Two-dimensional code reader - Google Patents
Two-dimensional code reader Download PDFInfo
- Publication number
- JP4957616B2 JP4957616B2 JP2008086557A JP2008086557A JP4957616B2 JP 4957616 B2 JP4957616 B2 JP 4957616B2 JP 2008086557 A JP2008086557 A JP 2008086557A JP 2008086557 A JP2008086557 A JP 2008086557A JP 4957616 B2 JP4957616 B2 JP 4957616B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- code
- addition
- image data
- 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
Images
Description
本発明は、明モジュールおよび暗モジュールにより構成される明暗モジュールにコード化された二次元コードで、このコード化されたデータをデコードするのに要する機能パターンと、前記データまたは前記データに付随する情報をコード化したデータパターンと、を含む二次元コードを読み取り可能な二次元コード読取装置に関するものである。 The present invention relates to a two-dimensional code encoded in a light / dark module composed of a light module and a dark module, and a functional pattern required to decode the encoded data, and the data or information accompanying the data. And a two-dimensional code reader capable of reading a two-dimensional code including the data pattern.
明暗モジュールにコード化された二次元コードを読み取る二次元コード読取装置では、一般に、二次元コードに反射した光の強弱(色の濃淡または明度に対応する)に応じて信号レベルが変化する受光センサからのセンサ信号を、所定の閾値と比較することで二値化して、明モジュールであるか或いは暗モジュールであるかを判断している。 In a two-dimensional code reading device that reads a two-dimensional code encoded in a light / dark module, generally, a light receiving sensor whose signal level changes according to the intensity of light reflected on the two-dimensional code (corresponding to color shading or lightness). The sensor signal from is binarized by comparing with a predetermined threshold value to determine whether it is a light module or a dark module.
そして、このような所定の閾値は、予め決められた値に固定されていると、明暗モジュールの濃淡変化が小さい場合や二次元コードの全体が暗い場合等には、明暗のいずれのモジュールについてのセンサ信号も、閾値よりも上または下になってしまうことから、センサ信号を適正に二値化することができない。 If such a predetermined threshold is fixed to a predetermined value, when the change in light / darkness of the light / dark module is small, or when the entire two-dimensional code is dark, etc. Since the sensor signal is also above or below the threshold value, the sensor signal cannot be binarized properly.
このため、下記特許文献1に開示されるように、センサ信号の状態に応じて適宜変更されるものがある。例えば、当該特許文献1の[従来の技術]の欄に開示される第1の方式では、(1) 閾値の上下に一定の不感帯幅を設けこの幅よりも外れるセンサ信号については不感帯幅に収まるように閾値を変化させている。また同欄に開示される第2の方式では、(2) センサ信号の最大値と最小値とを適宜求めてその中間値を閾値に設定する。
For this reason, as disclosed in
ところが、(1) の方式を採ったとしても不感帯幅が一定値であることから常に最適な閾値が設定できるわけではないことや、(2) の方式を採っても明暗の変化が乏しい範囲が広い場合には中間値と言えども適切な閾値の設定が困難になるという問題がある。このため、当該特許文献1では、センサ信号(濃淡信号)の最大値と最小値に応じて不感帯幅を適応的に算出しこれに基づいて閾値を設定する技術を提案している。
しかしながら、上記特許文献1に開示される技術でもあっても、センサ信号(濃淡信号)の最大値と最小値に基づいて不感帯幅を求めこの不感帯幅を用いて閾値をセンサ信号に追従させている。このため、例えば、二次元コード読取装置の電源ラインにノイズが混入すると、電源電圧が揺らぐことに伴いセンサ信号もその影響を受けて揺らいだり、場合によってはギザギザな波形になり得ることから、このようなセンサ信号に基づいた不感帯幅では適切な閾値を設定することが難しい。
However, even with the technique disclosed in
つまり、上記特許文献1に開示される技術では、センサ信号に含まれ得る電源等からのノイズ成分を除去し得る構成を採っているわけではないので、電源ノイズが混入すると、正確に二値化することができないという問題がある。
In other words, the technique disclosed in
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、電源ノイズ等が混入しても正確に二値化し得る二次元コード読取装置を提供することにある。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a two-dimensional code reader that can accurately binarize even if power supply noise or the like is mixed. .
上記目的を達成するため、特許請求の範囲に記載の請求項1の二次元コード読取装置では、明モジュールおよび暗モジュールにより構成される明暗モジュールにコード化された二次元コードで、このコード化されたデータをデコードするのに要する機能パターンと、前記データまたは前記データに付随する情報をコード化したデータパターンと、を含む二次元コードを読み取り可能な二次元コード読取装置において、前記二次元コードのコード画像で同じ二次元コードについて異なるタイミングで取得された複数のコード画像を記憶するコード画像記憶手段と、前記コード画像記憶手段に記憶された一のコード画像に基づいてこの一のコード画像に含まれる前記機能パターンを検出する機能パターン検出手段と、前記機能パターンの検出に際し前記明暗モジュールの明暗を判別するために設定された第1の閾値を用いて前記一のコード画像に含まれる前記データパターンをデコードする第1のデコード手段と、前記第1のデコード手段による前記データパターンのデコードができたか否かを判断するデコード成否判断手段と、前記デコード成否判断手段により前記データパターンのデコードができなかったと判断された場合、前記コード画像記憶手段に記憶された前記コード画像を構成する各画像データで明暗の度合いを画素ごとに数値表現したものを、前記複数のコード画像のうちの所定画像分加算しこの加算により得られた加算画像データに基づいて加算コード画像を生成するコード画像加算手段と、前記コード画像加算手段により生成された前記加算コード画像に基づいて前記明暗モジュールの明暗を判別するための第2の閾値を設定する閾値設定手段と、前記第2の閾値を用いて前記加算コード画像に含まれる前記データパターンをデコードする第2のデコード手段と、を備えることを技術的特徴とする。
In order to achieve the above object, in the two-dimensional code reader according to
なお、「モジュール」とは、当該二次元コードを構成する最小構成要素のことで、「明モジュール」とは、当該モジュールが明色(例えば白色等の明度の高い色)と暗色(例えば黒色等の明度の低い色)の2種類で構成される場合における明色のモジュールのことで、「暗モジュール」とは、当該モジュールが明色と暗色の2種類で構成される場合における暗色のモジュールのことである。 The “module” is a minimum component constituting the two-dimensional code, and the “bright module” is a light color (for example, a color with high brightness such as white) and a dark color (for example, black). Is a light color module in the case where the module is configured with two types of light color), and the “dark module” refers to a dark color module when the module is configured with two types of light color and dark color. That is.
特許請求の範囲に記載の請求項2の二次元コード読取装置では、請求項1記載の二次元コード読取装置において、前記コード画像記憶手段は、前記複数のコード画像を構成する各画像データを論理的に循環状に記憶可能な環状記憶装置であることを技術的特徴とする。
The two-dimensional code reader according to
特許請求の範囲に記載の請求項3の二次元コード読取装置では、請求項1または2記載の二次元コード読取装置において、前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの増減変化量を、二次微分演算しその結果得られる二次微分値がゼロになる前記加算画像データを前記第2の閾値に設定することを技術的特徴とする。
The two-dimensional code reading device according to
特許請求の範囲に記載の請求項4の二次元コード読取装置では、請求項1または2記載の二次元コード読取装置において、前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの総和を、当該列を構成する画素数で除して得られる平均値を前記第2の閾値に設定することを技術的特徴とする。
In the two-dimensional code reading device according to
特許請求の範囲に記載の請求項5の二次元コード読取装置では、請求項1〜4のいずれか一項に記載の二次元コード読取装置において、前記コード画像加算手段は、前記所定画像分の画像数の1/2以上の加算器を備えており、これらを並列に動作させ前記所定画像分の各画素ごとにの加算演算をほぼ同時に行うことにより、前記加算画像データを求めて前記加算コード画像を生成することを技術的特徴とする。
In the two-dimensional code reader according to
特許請求の範囲に記載の請求項6の二次元コード読取装置では、請求項1〜4のいずれか一項に記載の二次元コード読取装置において、前記コード画像加算手段は、前記加算画像データを求めるのに用いた前記所定画像分の画像データのうち最も古い画像データを当該加算画像データから除くとともに最も新しい画像データを当該加算画像データに加えて、新たな前記加算画像データを求め前記加算コード画像を生成することを技術的特徴とする。
In the two-dimensional code reading device according to
請求項1の発明では、コード画像記憶手段により、二次元コードのコード画像で同じ二次元コードについて異なるタイミングで取得された複数のコード画像を記憶し、機能パターン検出手段により、コード画像記憶手段に記憶された一のコード画像に基づいてこの一のコード画像に含まれる機能パターンを検出し、第1のデコード手段により、機能パターンの検出に際し明暗モジュールの明暗を判別するために設定された第1の閾値を用いて一のコード画像に含まれるデータパターンをデコードする。そして、デコード成否判断手段により、第1のデコード手段によるデータパターンのデコードができたか否かを判断して、デコード成否判断手段によりデータパターンのデコードができなかったと判断された場合、コード画像加算手段により、コード画像記憶手段に記憶されたコード画像を構成する各画像データで明暗の度合いを画素ごとに数値表現したものを、複数のコード画像のうちの所定画像分加算しこの加算により得られた加算画像データに基づいて加算コード画像を生成し、コード画像加算手段により生成された加算コード画像に基づいて閾値設定手段により明暗モジュールの明暗を判別するための第2の閾値を設定し、第2のデコード手段により、第2の閾値を用いて加算コード画像に含まれるデータパターンをデコードする。 According to the first aspect of the present invention, the code image storage means stores a plurality of code images acquired at different timings for the same two-dimensional code in the code image of the two-dimensional code, and the function pattern detection means stores the code image in the code image storage means. A function pattern included in the one code image is detected based on the stored one code image, and the first decoding unit is set to determine the brightness of the light / dark module when detecting the function pattern. The data pattern included in one code image is decoded using the threshold value. When the decoding success / failure determining means determines whether or not the data pattern can be decoded by the first decoding means, and when the decoding success / failure determining means determines that the data pattern cannot be decoded, the code image adding means Thus, the image data stored in the code image storage means that represents the numerical value of the degree of lightness and darkness for each pixel in the image data is obtained by adding a predetermined image of the plurality of code images. An addition code image is generated based on the addition image data, a second threshold for determining the brightness of the light / dark module is set by the threshold setting means based on the addition code image generated by the code image addition means, and the second The data pattern included in the addition code image is decoded using the second threshold.
これにより、データパターンのデコードができなかったと判断された場合には、コード画像記憶手段に記憶されたコード画像を構成する各画像データで明暗の度合いを画素ごとに数値表現したものを、複数のコード画像のうちの所定画像分加算しこの加算により得られた加算画像データに基づいて加算コード画像を生成するので、例えば、一時的に電源ノイズ等が混入して一部のコード画像が乱れたとしても、その前後の所定画像分を加算することによって電源ノイズ等の影響を受けていない他のコード画像により当該一部のコード画像の乱れを補うことができる(画像の乱れを緩和することができる)。したがって、このようにコード画像の乱れが緩和された加算コード画像に基づく第2の閾値を用いて加算コード画像に含まれるデータパターンをデコードするので、たとえ電源ノイズ等が混入しても正確に二値化することができる。 As a result, when it is determined that the data pattern cannot be decoded, each image data constituting the code image stored in the code image storage means numerically expresses the degree of brightness for each pixel. Since a predetermined number of code images are added and an addition code image is generated based on the addition image data obtained by the addition, for example, a part of the code image is disturbed due to temporary mixing of power noise or the like. However, by adding a predetermined number of images before and after that, it is possible to compensate for the disturbance of some of the code images by other code images not affected by power supply noise or the like (to reduce image disturbances). it can). Therefore, since the data pattern included in the addition code image is decoded using the second threshold value based on the addition code image in which the disturbance of the code image is reduced in this way, even if power supply noise or the like is mixed, the data pattern is accurately detected. Can be priced.
請求項2の発明では、コード画像記憶手段は、複数のコード画像を構成する各画像データを論理的に循環状(無端状)に記憶可能な環状記憶装置であることから、論理的に循環状でない有端状の記憶装置に比べて、無駄な空き領域(フラグメント)が出来にくい。これにより、記憶装置を有効に利用することができる。
In the invention of
請求項3の発明では、閾値設定手段を例示する。例えば、加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの加算画像データの増減変化量を、二次微分演算しその結果得られる二次微分値がゼロになる加算画像データを第2の閾値に設定する。これにより、加算画像データの最大値または最小値を第2の閾値に設定することができる。
In the invention of
請求項4の発明では、閾値設定手段を例示する。例えば、加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの加算画像データの総和を、当該列を構成する画素数で除して得られる平均値を第2の閾値に設定する。これにより、閾値設定手段として、二次微分値を二次微分演算して得てそれを第2の閾値に設定する場合に比べ、簡素な演算アルゴリズムで第2の閾値を設定することができる。
In the invention of
請求項5の発明では、コード画像加算手段は、所定画像分の画像数の1/2以上の加算器を備えており、これらを並列に動作させ所定画像分の各画素ごとにの加算演算をほぼ同時に行うことにより、加算画像データを求めて加算コード画像を生成する。これにより、加算演算を並列に行わない場合(加算演算を直列に行う)場合に比べて演算処理を速くすることができる。
In the invention of
請求項6の発明では、コード画像加算手段は、加算画像データを求めるのに用いた所定画像分の画像データのうち最も古い画像データを当該加算画像データから除くとともに最も新しい画像データを当該加算画像データに加えて、新たな加算画像データを求め加算コード画像を生成する。これにより、古い画像データを除く減算処理と新たな画像データを加える加算処理とを行うことにより加算画像データを更新できるので、加算対象となる画像データを毎回全て加算演算する場合に比べて演算処理を速くすることができる。
In the invention of
以下、本発明の二次元コード読取装置を、QRコードを読取可能な二次元コードリーダ20に適用した実施形態を各図を参照して説明する。なお、本実施形態では、二次元コードとして、QRコードを例示して説明するが、明モジュールおよび暗モジュールにより構成される明暗モジュールにコード化された二次元コードで、このコード化されたデータをデコードするのに要する機能パターンと、前記データまたは前記データに付随する情報をコード化したデータパターンと、を記録している二次元コードであれば、例えば、データマトリックスコード、マキシコード、ベリコード、カルラコード、CPコード等であっても本発明を適用することができる。
Hereinafter, an embodiment in which the two-dimensional code reader of the present invention is applied to a two-
まず、二次元コードリーダ20の構成を図1に基づいて説明する。図1に示すように、二次元コードリーダ20は、主に、照明光源21、受光センサ23、結像レンズ22等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイコン系と、電源スイッチ41、バッテリ49等の電源系と、から構成されている。なお、これらは図略のプリント基板に実装されて図略のハウジング内に収容されている。
First, the configuration of the two-
光学系は、照明光源21、受光センサ23、結像レンズ22等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のハウジングの読取口を介してラベルPに向けて照明光Lfを照射可能に構成されている。このラベルPには、QRコードQが印刷されている。
The optical system includes an
受光センサ23は、ラベルPやQRコードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ22を介して入射する入射光をこの受光面23aで受光可能に図略のプリント基板に実装されている。
The
結像レンズ22は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
The
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、リングバッファ回路34、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコンとして機能し得る制御回路40およびメモリ35と中心に構成される。
Next, a configuration outline of the microcomputer system will be described. The microcomputer system includes an
光学系の受光センサ23から出力される画像信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。例えば、QRコードQの明モジュールが「白色」、暗モジュールが「黒色」で構成されている場合、グレースケールを8ビットの256階調に変換するときには、各モジュールごとに、「黒色」が0、「白色」が255、その間の「灰色」が明度に応じて1〜254に変換される。このように変換された画像データ(ディジタル化された画像信号)は、メモリ35に入力されて画像データ蓄積領域に蓄積される。またこれと並行して画像データは後述するリングバッファ回路34にも入力されて蓄積される。
An image signal output from the
なお、同期信号発生回路38は、受光センサ23、リングバッファ回路34およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、リングバッファ回路34やメモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
The synchronization
リングバッファ回路34は、A/D変換回路33から出力される画像データを論理的に循環状に記憶可能な環状記憶装置で、同期信号発生回路38から供給される同期信号に基づいて画像データを記憶している。リングバッファ回路34の構成例が図2に示されているので、ここでは図2を参照して説明する。
The
図2に示すように、リングバッファ回路34は、クロック制御部34a、画素カウンタ34b、画面番号カウンタ34c、マルチプレクサ34d、ラッチ34e、画像メモリ34f、バッファ34g等により構成されている。
As shown in FIG. 2, the
クロック制御部34aは、同期信号発生回路38からの同期信号に基づいてA/D変換回路33から出力される画像データを、画素単位でカウントするためのクロック信号を生成して出力するものである。このクロック信号は画素カウンタ34bに出力される。
The
画素カウンタ34bは、クロック制御部34aから出力されるクロック信号に基づいて1画面分(受光センサ23によって撮像される所定領域)の画素数をカウントし、カウント値をデータとし出力するとともに、画面の区切りタイミングをリセット信号として出力するものである。例えば、所定領域がm行n列のマトリックス状に配置される画素で構成される場合には、「1」〜「m×n」を繰り返しカウントし、そのカウント値をマルチプレクサ34dに出力するとともに、リセット信号を画面番号カウンタ34cに出力する。
The
画面番号カウンタ34cは、画素カウンタ34bから出力されるリセット信号を受けて所定範囲で画像番号をカウントするもので、例えば、所定範囲として64画面であれば、1〜64を繰り返しカウントする。この画面番号カウンタ34cによりカウント値としてカウントされた画面番号は、マルチプレクサ34dおよびラッチ34eに出力される。
The
マルチプレクサ34dは、画素カウンタ34bから入力されるカウント値と画面番号カウンタ34cから入力される画面番号とに基づいて画像メモリ34fの画像メモリアドレスを生成して画像メモリ34fに出力するものである。また、この画像メモリアドレスはラッチ34eにも出力される。
The
ラッチ34eは、画面番号カウンタ34cから入力される画面番号を保持するとともに、この保持された画像番号を制御回路40に出力、つまり制御回路40から読出し可能に構成されている。これにより、次に説明する画像メモリ34fに取り込まれつつある画像データの画像番号を制御回路40が取得できるようにしている。
The
画像メモリ34fは、所定数の画像データを記憶できる半導体メモリ装置で、次に説明するバッファ34gを介してA/D変換回路33から送られてくる画像データを複数画像分、記憶するものである。例えば、画面番号カウンタ34cによるカウント範囲が64画面分である場合には、当該画像メモリ34fは所定数として64画像分の画像データを記憶可能に構成されている。
The
バッファ34gは、A/D変換回路33から送られてくる画像データや、制御回路40に対して出力する画像データを記憶する半導体メモリ装置で、A/D変換回路33や制御回路40と画像メモリ34fとの間で、画像データをやり取りするものである。なお、このバッファ34gは、画像メモリ34fに比べて記憶容量が少ない反面、書き込みや読み出しが高速に実行可能に構成されている。
The
このようにリングバッファ回路34を構成することによって、当該リングバッファ回路34は、図7(A) に示すように、論理的に循環状に記憶可能な環状記憶装置(無端記憶装置)として機能する。例えば、ある時点で取り込まれてA/D変換回路33から送られてきた画像をNo.1画像とすると、次に取り込まれた画像はNo.2画像、その次に取り込まれた画像はNo.3画像、というように順番付けられて記憶され、n番目に記憶された画像がNo.n画像(先の例ではNo.64画像)として記憶されて、(n+1)番目に記憶された画像が再びNo.1画像として記憶される。
By configuring the
これにより、バッファ34gには、時間的に新しいn画像分(先の例では64画像分)の画像データが記憶されることになる。なお、このリングバッファ回路34は、QRコードQのコード画像で同じQRコードQについて異なるタイミングで取得された複数のコード画像を含んだ画像データを記憶することから、特許請求の範囲に記載の「コード画像記憶手段」に相当し得るものである。なお、このリングバッファ回路34による論理的に循環状に記憶可能な環状記憶装置のことを、単に「リングバッファ」と称することもある。
As a result, the image data of n images (64 images in the previous example) that are new in time are stored in 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等が接続されている。
The
これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取ったQRコードによるコード内容を画面表示可能な液晶表示器46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該二次元コードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。
Thereby, for example, monitoring and management of the
電源系は、電源スイッチ41、バッテリ49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、バッテリ49から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ49は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ49は不要となる。
The power supply system includes a
このように二次元コードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、QRコードQの読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、当該二次元コードリーダ20の使用者がトリガースイッチを引いてオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。
By configuring the two-
すると、QRコードQに照射された照明光Lfが反射し、その反射光Lrが読取口を介して結像レンズ27に入射するため、受光センサ23の受光面23aには、QRコードQの像が結像される。これにより、QRコードQの像が受光センサ23を露光するため、上述したマイコン系によって画像処理された当該QRコードQの画像データが、メモリ35の画像データ蓄積領域に記憶されるとともに、リングバッファ回路34にも前述したように逐次記憶される。
Then, the illumination light Lf irradiated to the QR code Q is reflected, and the reflected light Lr enters the imaging lens 27 through the reading port, so that the image of the QR code Q is formed on the
そして、制御回路40は、次に説明する読取処理を実行する際に、メモリ35を介して画像データを取得したり、場合によってはリングバッファ回路34から必要な画像データを取得して読み取りに必要な閾値を設定し直して読取処理を行なう。
The
ここで、読取処理の流れを図3〜図8に基づいて説明するが、本読取処理では、QRコードの機能パターンの検出に際して読み取りに必要な閾値を設定しているので、読取処理の流れの説明に先立って図4を参照してQRコードの基本的な構成を説明する。なお、図4に示すQRコードQは、明モジュールが「白色」、暗モジュールが「黒色」で構成されている。 Here, the flow of the reading process will be described with reference to FIGS. 3 to 8. In this reading process, a threshold necessary for reading is set when detecting the function pattern of the QR code. Prior to the description, the basic structure of the QR code will be described with reference to FIG. Note that the QR code Q shown in FIG. 4 is configured such that the bright module is “white” and the dark module is “black”.
図4に示すように、QRコードQは、QRコードの基本仕様(日本工業規格;JIS X 0510:2004、以下これを単に「JIS規格」という。)にほぼ準拠して構成されるもので、ファインダパターンFP、アライメントパターンAP、タイミングパターンTP等からなる機能パターンと、データパターンDPと、から構成されている。なお、図4では、JIS規格の2型(25×25モジュール)に準ずるものが例示されている。 As shown in FIG. 4, the QR code Q is configured substantially in accordance with the basic specifications of the QR code (Japanese Industrial Standard; JIS X 0510: 2004, hereinafter simply referred to as “JIS standard”). The function pattern includes a finder pattern FP, an alignment pattern AP, a timing pattern TP, and the like, and a data pattern DP. FIG. 4 shows an example conforming to the JIS standard type 2 (25 × 25 module).
ファインダパターンFPは、切り出しシンボルや位置合わせパターンとも称されるもので、QRコードQの3箇所の隅に位置する正方形に配置される複数の単位モジュールの集合体、つまりn×nモジュールで、QRコードの位置、大きさ、傾きを検出可能に構成されて記録されている。具体的には、例えば黒色の単位モジュールを3行3列のマトリックス状に配置した3×3暗モジュールと、これを取り囲むように白色の単位モジュールを5行5列のマトリックス状に配置した5×5明モジュールと、さらにこれらの周囲を取り囲むように黒色の単位モジュールを7行7列のマトリックス状に配置した7×7暗モジュールと、により構成される。 The finder pattern FP is also referred to as a cutout symbol or an alignment pattern, and is an aggregate of a plurality of unit modules arranged in squares located at three corners of the QR code Q, that is, an n × n module. It is configured and recorded so that the position, size, and inclination of the code can be detected. Specifically, for example, a 3 × 3 dark module in which black unit modules are arranged in a matrix of 3 rows and 3 columns, and a 5 × in which white unit modules are arranged in a matrix of 5 rows and 5 columns so as to surround them. It is composed of a 5-light module and a 7 × 7 dark module in which black unit modules are arranged in a matrix of 7 rows and 7 columns so as to surround them.
このため、ファインダパターンFPを横断または縦断するように明暗情報を走査すると、暗、明、暗、明、暗の順番で同色モジュールの連続比率が1:1:3:1:1となることを利用して当該画像範囲が当該ファインダパターンFPであることや当該ファインダパターンFPの中心位置を検出している。つまり、ファインダパターンFPによって360度全方向でQRコードQの検出を可能にしている。 For this reason, when light / dark information is scanned so as to traverse or longitudinally cross the finder pattern FP, the continuous ratio of modules of the same color becomes 1: 1: 3: 1: 1 in the order of dark, bright, dark, bright, dark. Utilizing this, the image range is the finder pattern FP and the center position of the finder pattern FP is detected. That is, the QR code Q can be detected in all directions of 360 degrees by the finder pattern FP.
アライメントパターンAPも、正方形に配置される複数の単位モジュールの集合体で、QRコードの歪みを補正可能に構成されて記録されており、3箇所のファインダパターンFPによって規定される正方形範囲内の所定箇所に位置している。具体的には、1単位モジュール分の独立した例えば黒色の1×1暗モジュールと、この1×1暗モジュールの周囲を囲む8個の白色の3×3明モジュールと、この正方形状の3×3明モジュールの周囲を囲む16個の黒色の5×5暗モジュールとから構成されている。このアライメントパターンAPにより、中心座標の検出を容易にしている。 The alignment pattern AP is also an assembly of a plurality of unit modules arranged in a square, and is recorded so as to be able to correct the distortion of the QR code. The alignment pattern AP is a predetermined area within the square range defined by the three finder patterns FP. Located in the place. Specifically, for example, a black 1 × 1 dark module for one unit module, eight white 3 × 3 bright modules surrounding the 1 × 1 dark module, and this square 3 × It consists of 16 black 5 × 5 dark modules surrounding the 3 light module. This alignment pattern AP facilitates detection of the center coordinates.
タイミングパターンTPは、各単位モジュールの中心座標を求めるためのタイミング抽出を可能にする、白色や黒色の単位モジュールが繰り返し現れる単位モジュールの繰り返しパターンで、白色の1×1明モジュールと黒色の1×1暗モジュールとを直線状に交互に配置されて構成されている。例えば、QRコードQが歪んだり、単位モジュールのピッチに誤差が生じている場合、単位モジュールの中心座標を補正するために用いられる。タイミングパターンTPは、アライメントパターンAPの中心を通るように、QRコードQの縦方向および横方向のそれぞれに記録されている。 The timing pattern TP is a repeating pattern of unit modules in which white and black unit modules appear repeatedly, which enables timing extraction for obtaining the center coordinates of each unit module. The white 1 × 1 bright module and the black 1 × One dark module is alternately arranged in a straight line. For example, when the QR code Q is distorted or there is an error in the pitch of the unit module, it is used to correct the center coordinates of the unit module. The timing pattern TP is recorded in each of the vertical direction and the horizontal direction of the QR code Q so as to pass through the center of the alignment pattern AP.
データパターンDPは、例えば、図4に示すように、単位モジュールを4行2列に配置して構成されるもので、これによりビット0〜ビット7の8ビット分のデータを表現可能にしている。なお、このデータパターンDPは、ファインダパターンFP、アライメントパターンAPおよびタイミングパターンTPが配置されている機能パターン領域以外のデータパターン領域に記録されている。
For example, as shown in FIG. 4, the data pattern DP is configured by arranging unit modules in 4 rows and 2 columns, so that data of 8 bits from
なお、QRコードQの周囲には、上述したファインダパターンFPの輪郭や存在を二次元コードリーダ20が認識する必要から、4モジュール幅(4個分の単位モジュール)のクワイエットゾーンQZが確保されている。
A quiet zone QZ having a width of 4 modules (4 unit modules) is secured around the QR code Q because the two-
このように構成されるQRコードQを本実施形態に係る二次元コードリーダ20では、図3に示す読取処理によって、デコードする。即ち、図3に示すように、まずステップS101によりコード画像取得処理が行われる。この処理は、メモリ35の画像データ蓄積領域に蓄えられた画像データを読み込むものである。
In the two-
ステップS103では、位置検出パターン検出処理が行われる。即ち、ステップS101により読み込んだ画像データの全体を横断または縦断するようにメモリ35上で仮想的に走査して、工場出荷時等に予め設定されている所定の閾値(第1の閾値)を基準に明暗情報を判別する。
In step S103, position detection pattern detection processing is performed. That is, the image data read in step S101 is virtually scanned on the
例えば、画像データが8ビットの256階調で構成されている場合には、所定の閾値として、0〜255の中間値(128)よりも若干小さい120に設定されている。この所定の閾値以下(0〜128)の値を持つモジュールを暗モジュール(黒色)、この所定の閾値よりも大きい値(129〜255)を持つモジュールを明モジュール(白色)、として判断する。そして、図4を参照して説明したように、暗、明、暗、明、暗の順番で同色モジュールの連続比率が1:1:3:1:1となる範囲を検出することによって、当該画像範囲が当該ファインダパターンFPであることや当該ファインダパターンFPの中心位置、つまり位置検出パターンを検出する。 For example, when the image data is composed of 256 gradations of 8 bits, the predetermined threshold is set to 120, which is slightly smaller than the intermediate value (128) of 0 to 255. A module having a value equal to or smaller than the predetermined threshold (0 to 128) is determined as a dark module (black), and a module having a value (129 to 255) larger than the predetermined threshold is determined as a bright module (white). Then, as described with reference to FIG. 4, by detecting a range in which the continuous ratio of the same color module is 1: 1: 3: 1: 1 in the order of dark, bright, dark, bright, dark. The image range is the finder pattern FP and the center position of the finder pattern FP, that is, the position detection pattern is detected.
なお、ステップS101により読み込んだ画像データは、特許請求の範囲に記載の「一のコード画像」に相当し得るもので、またステップS103による位置検出パターン検出処理は、特許請求の範囲に記載の「機能パターン検出手段」に相当し得るものである。本実施形態では、ステップS103により検出される機能パターンの一例として、ファインダパターンFPを挙げたが、QRコードQにコード化されたデータをデコードするのに要するパターンであれば、アライメントパターンAPやタイミングパターンTPをステップS103による検出対象としても良い。 Note that the image data read in step S101 can correspond to “one code image” recited in the claims, and the position detection pattern detection processing in step S103 is performed according to “ This can correspond to “functional pattern detection means”. In the present embodiment, the finder pattern FP is given as an example of the function pattern detected in step S103. However, the alignment pattern AP and the timing may be used as long as the pattern is necessary for decoding the data encoded in the QR code Q. The pattern TP may be a detection target in step S103.
続くステップS105では、ステップS103により位置検出パターンを検出することができたか否かを判断する処理が行われる。そして、位置検出パターンを検出することができないと判断された場合には(S105;No)、ステップS101により読み込んだ画像データには、QRコードQが含まれていないとしてステップS125に処理を移行して後述するエラー情報出力処理を行う。これに対し、ステップS105により、位置検出パターンを検出することができたと判断された場合には(S105;Yes)、続くステップS107により白黒判定処理が行われる。 In subsequent step S105, processing for determining whether or not the position detection pattern has been detected in step S103 is performed. If it is determined that the position detection pattern cannot be detected (S105; No), the process proceeds to step S125, assuming that the image data read in step S101 does not include the QR code Q. Then, error information output processing described later is performed. On the other hand, when it is determined in step S105 that the position detection pattern has been detected (S105; Yes), black and white determination processing is performed in subsequent step S107.
ステップS107による白黒判定処理では、ステップS103によりファインダパターンFP(位置検出パターン)を検出したときに用いた所定の閾値(第1の閾値)を基準に、前述したステップS103と同様に、データパターンDP等の明暗情報(例えば8ビットの256階調)を判別し、その明暗情報に基づいて、続くステップS109によりコード画像をデコードする処理を行う。なお、このステップS109によるデコード処理は、JIS規格に従って行われるもので、特許請求の範囲に記載の「第1のデコード手段」に相当し得るものである。 In the monochrome determination process in step S107, the data pattern DP is determined in the same manner as in step S103 described above with reference to the predetermined threshold (first threshold) used when the finder pattern FP (position detection pattern) is detected in step S103. And the like (for example, 8-bit 256 gradation) are discriminated, and the code image is decoded in the subsequent step S109 based on the light / dark information. The decoding process in step S109 is performed according to the JIS standard and can correspond to the “first decoding unit” recited in the claims.
続くステップS111では、ステップS109によるデコードが成功したか否か、つまり正常にデコードされたか否かを判断する処理が行われる。これにより、デコードが成功している場合には(S111;Yes)、ステップS109によるデコードに際して用いられた所定の閾値(第1の閾値)は、当該QRコードQに対しては何等問題がないので、そのままステップS131によるデコード結果出力処理に移行してデコード結果を液晶表示器46に出力したり、通信インタフェース48を介してホストコンピュータHSTに出力したりする。一方、デコードが成功していない(デコードに失敗した)場合には(S111;No)、ステップS113によりコード画像切出処理が行われる。なお、このステップS111による判断処理は、特許請求の範囲に記載の「デコード成否判断手段」に相当し得るものである。
In the subsequent step S111, processing is performed to determine whether or not the decoding in step S109 has been successful, that is, whether or not the decoding has been normally performed. As a result, if the decoding is successful (S111; Yes), the predetermined threshold (first threshold) used in the decoding in step S109 has no problem with the QR code Q. Then, the process proceeds to the decoding result output process in step S131, and the decoding result is output to the
ステップS113によるコード画像切出処理では、前述したリングバッファ回路34の画像メモリ34fに順番付けられて記憶された各画像データから、QRコードQの画像データ、つまりコード画像を切り出す処理が行われる。切り出す範囲は、例えば、前述したQRコードQのファインダパターンFPに基づいて設定される。
In the code image cut-out process in step S113, the image data of QR code Q, that is, the code image is cut out from each image data stored in the
続くステップS115では、コード画像加算処理が行われる。この処理は、ステップS113により切り出したコード画像をモジュールごとに加算し加算により得られた画像データ(加算画像データ)に基づいて新たなコード画像(加算コード画像)を生成する。なお、このステップS115によるコード画像加算処理は、特許請求の範囲に記載の「コード画像加算手段」に相当し得るものである。 In the subsequent step S115, a code image addition process is performed. In this process, the code image cut out in step S113 is added for each module, and a new code image (added code image) is generated based on the image data (added image data) obtained by the addition. Note that the code image addition processing in step S115 can correspond to “code image addition means” recited in the claims.
ステップS117では、所定数のコード画像を加算したか否かを判断する処理が行われる。例えば、先の例では、リングバッファ回路34には、No.1画像〜No.64画像が記憶されているので、これらから、8画像分(例えば、No.1画像〜No.8画像)のコード画像を加算する場合、所定数は8となり、まだ8画像分加算していないと判断した場合には(S117;No)、ステップS113に戻って再度コード画像切出処理を行った後、ステップS115によるコード画像加算処理を行う。
In step S117, processing for determining whether or not a predetermined number of code images has been added is performed. For example, in the previous example, the
これにより、所定画像分についてステップS115による加算処理が繰り返されるため、各モジュールについて値が増加し、例えば、切り出す画像の数(以下「切出し画像数」という)が8画像である場合には、QRコードQを構成するモジュールで同じ位置に存在するモジュールのデータを切り出した8画像分について加算する。 As a result, the addition processing in step S115 is repeated for the predetermined image, and thus the value increases for each module. For example, when the number of images to be cut out (hereinafter referred to as “number of cut out images”) is 8, The data of the modules constituting the code Q in the same position and added for 8 images cut out.
例えば、あるモジュールに対応する画像データは、976(=105+100+110+134+131+129+135+132)、つまり画像データそのものが1画像分の約8倍(例えば8画像分)になる。これに対し、所定数のコード画像を加算していると判断した場合は(S117;Yes)、ステップS119による閾値算出処理が行われる。 For example, the image data corresponding to a certain module is 976 (= 105 + 100 + 110 + 134 + 131 + 129 + 135 + 132), that is, the image data itself is about eight times as much as one image (for example, eight images). On the other hand, when it is determined that a predetermined number of code images are added (S117; Yes), a threshold value calculation process in step S119 is performed.
ステップS119では、閾値算出処理が行われる。この処理は、ステップS113〜S117により加算されたコード画像、つまり加算コード画像に基づいて新たなる閾値(第2の閾値)を設定する処理が行われる。なお、このステップS119による閾値算出処理は、特許請求の範囲に記載の「閾値設定手段」に相当し得るものである。 In step S119, a threshold value calculation process is performed. In this process, a process of setting a new threshold (second threshold) based on the code image added in steps S113 to S117, that is, the added code image is performed. The threshold value calculation process in step S119 can correspond to “threshold value setting means” described in the claims.
例えば、図4に示すQRコードQを加算コード画像のQRコードQ’とすれば、同図中に示される一点鎖線の矢印αに沿って列状に隣り合って並んでいるモジュールごとに加算し、その総和を当該列を構成するモジュール数で割って得られる値、つまり平均値を加算コード画像に対する閾値(第2の閾値)とする。あるいは、一点鎖線αに沿って列状に隣り合って並んでいるモジュールを構成する画素ごとに加算し、その総和を当該列を構成する画素数で割って得られる平均値を加算コード画像に対する閾値(第2の閾値)とする。 For example, if the QR code Q shown in FIG. 4 is used as the QR code Q ′ of the addition code image, the addition is performed for each of the modules arranged side by side along the one-dot chain line arrow α shown in FIG. Then, a value obtained by dividing the sum by the number of modules constituting the column, that is, an average value is set as a threshold (second threshold) for the added code image. Alternatively, the threshold value for the addition code image is calculated by adding the pixels obtained by adding together the pixels constituting the modules arranged adjacent to each other in a column along the one-dot chain line α, and dividing the sum by the number of pixels constituting the column. (Second threshold).
なお、図4に示す一点鎖線の矢印αは、その一例であり、例えばこれに対して直交する方向に延びる線に沿った列状や、一点鎖線の矢印αに対して45度斜め方向に延びる線に沿った列状、等、直線状であれば任意方向に列状に隣り合って並んでいるモジュールや画素を加算しても良い。また、この閾値は、任意の一列について演算して得られたものを、当該加算コード画像のデコードに適用しても良いし、また任意の複数列について演算して得られたものをさらに平均化してそれを当該加算コード画像のデコードに適用しても良い。また、当該加算コード画像を構成するモジュールまたは画素の全てを加算し、その平均値を当該加算コード画像に対する閾値(第2の閾値)として設定しても良い。 The one-dot chain line arrow α shown in FIG. 4 is an example thereof, and for example, extends along a line extending in a direction orthogonal to this, or extends obliquely by 45 degrees with respect to the one-dot chain line arrow α. Modules and pixels arranged next to each other in a row in an arbitrary direction may be added as long as they are linear, such as a row along a line. In addition, this threshold value may be applied to the decoding of the addition code image obtained by calculating for an arbitrary column, or may be further averaged by calculating for an arbitrary plurality of columns. It may be applied to the decoding of the addition code image. Further, all the modules or pixels constituting the addition code image may be added, and the average value may be set as a threshold value (second threshold value) for the addition code image.
加算対象となるモジュールまたは画素を増加させるに従って、当該加算コード画像に対する適正な閾値を得られ易くなるという効果を奏する反面、加算演算する処理に時間を要する。これに対し、加算対象となるモジュールまたは画素を減少させるに従って、加算演算する処理に要する時間が削減でき処理時間が高速になるが、その反面、当該加算コード画像に対する適正な閾値が得られ難くなる。このようなことから、当該加算コード画像に対する適正な閾値と閾値算出処理(S119)の時間と、はトレードオフの関係にある。 While increasing the number of modules or pixels to be added, it is easy to obtain an appropriate threshold value for the added code image, but it takes time to perform the addition operation. On the other hand, as the number of modules or pixels to be added is decreased, the time required for the addition calculation process can be reduced and the processing time is increased, but on the other hand, it is difficult to obtain an appropriate threshold for the added code image. . For this reason, there is a trade-off relationship between the appropriate threshold for the added code image and the time for the threshold calculation process (S119).
このように加算コード画像に対する閾値(第2の閾値)が設定されると、続くステップS121では、第2デコード処理が行われる。このステップS121による第2デコード処理は、特許請求の範囲に記載の「第2のデコード手段」に相当し得るものである。 When the threshold value (second threshold value) for the addition code image is set in this way, in the subsequent step S121, the second decoding process is performed. The second decoding process in step S121 may correspond to the “second decoding means” recited in the claims.
ステップS121によるデコード処理として、例えば、前述した平均値を閾値に設定した場合には、図5(A) に示すように、当該閾値を基準に加算コード画像について白黒(明暗)を判定しデコードする。図5(A) に示す例は、8画像分のコード画像を加算した加算コード画像に対するもの(図5(A) 上段;加算コード画像のデータ値を波形に表したもの)で、最低値0(=0×8)〜最高値2040(=255×8)に対して閾値は980に設定されているため、加算コード画像を構成するモジュールまたは画素がこの閾値以下(0〜980)の値を持つモジュールまたは画素である場合には、暗モジュールまたは画素(黒色)、この閾値よりも大きい値(981〜2040)を持つモジュールまたは画素である場合には、明モジュールまたは画素(白色)、と判断されて(図5(B) 下段;白黒判定)、デコードされる。 As the decoding process in step S121, for example, when the above-described average value is set as a threshold value, as shown in FIG. 5A, black and white (light / dark) is determined and decoded with respect to the added code image based on the threshold value. . The example shown in FIG. 5 (A) is for an addition code image obtained by adding 8 code images (FIG. 5 (A), upper figure: the data value of the addition code image is shown in the waveform), and the minimum value is 0. Since the threshold value is set to 980 with respect to (= 0 × 8) to the maximum value 2040 (= 255 × 8), the module or pixel constituting the addition code image has a value equal to or lower than this threshold value (0 to 980). If it is a module or pixel having a dark module or pixel (black), and if it is a module or pixel having a value (981 to 2040) larger than this threshold, it is determined that it is a bright module or pixel (white). (FIG. 5 (B) bottom; monochrome determination) and decoded.
そして、続くステップS123によりデコードが成功したか否か、つまり正常にデコードされたか否かを判断する処理が行われる。これにより、デコードが成功している場合には(S123;Yes)、ステップS131によるデコード結果出力処理に移行してデコード結果を液晶表示器46に出力したり、通信インタフェース48を介してホストコンピュータHSTに出力してから、一連の読取処理を終了する。これに対して、デコードが成功していない(デコードに失敗した)場合には(S123;No)、加算コード画像についてもデコードできないことから、ステップS125によるエラー情報出力処理を行った後、一連の読取処理を終了する。
Then, in the subsequent step S123, a process for determining whether or not the decoding is successful, that is, whether or not the decoding is normally performed is performed. As a result, if the decoding is successful (S123; Yes), the process proceeds to the decoding result output process in step S131 to output the decoding result to the
ステップS125のエラー情報出力処理としては、例えば、液晶表示器46に読取エラーが発生した旨を当該二次元コードリーダ20の使用者に伝えるメッセージを出力したり、同様のメッセージを、通信インタフェース48を介してホストコンピュータHSTに出力する。
As the error information output process in step S125, for example, a message is output to the user of the two-
以上説明したように、本実施形態に係る二次元コードリーダ20では、リングバッファ回路34により、QRコードQのコード画像で同じQRコードQについて異なるタイミングで取得された複数のコード画像を記憶し、制御回路40による位置検出パターン検出処理(S103)により、リングバッファ回路34に記憶されたコード画像(一のコード画像)に基づいてこのコード画像に含まれるファインダパターンFP(機能パターン)を検出し、制御回路40による第1デコード処理(S109)により、ファインダパターンFPの検出に際し明暗モジュールの明暗を判別するために予め設定された所定の閾値(第1の閾値)を用いてコード画像(一のコード画像)に含まれるデータパターンDPをデコードする。
As described above, in the two-
そして、制御回路40によるデコードの成否判断処理(S111)により、データパターンDPのデコードができたか否かを判断して、データパターンDPのデコードができなかったと判断された場合(S111;No)、制御回路40によるコード画像加算処理(S115)により、リングバッファ回路34に記憶されたコード画像を構成する各画像データで明暗の度合いをQRコードQのモジュールまたは画素ごとに数値表現したものを、複数のコード画像のうちの所定画像分(例えば8画像分)、加算しこの加算により得られた加算画像データに基づいて加算コード画像を生成して、この生成された加算コード画像に基づいて制御回路40による閾値算出処理(S119)によりQRコードQのモジュールの明暗を判別するための加算コード画像に対する閾値(第2の閾値)を設定し、制御回路40による第2デコード処理(S121)により、加算コード画像に対する閾値(第2の閾値)を用いて加算コード画像に含まれるデータパターンをデコードする。
If the decoding success / failure determination process (S111) by the
これにより、データパターンDPのデコードができなかったと判断された場合には(S111;No)、複数のコード画像のうちの所定画像分(例えば8画像分)、加算して生成した加算画像データに基づいて加算コード画像を生成するので、例えば、一時的に電源ノイズ等が混入して一部のコード画像が乱れたとしても、その前後の所定画像分を加算することによって電源ノイズ等の影響を受けていない他のコード画像により当該一部のコード画像の乱れを補うことができる(画像の乱れを緩和することができる)。 Thereby, when it is determined that the data pattern DP could not be decoded (S111; No), a predetermined image (for example, 8 images) of the plurality of code images is added to the generated image data. Since the addition code image is generated on the basis of, for example, even if power supply noise or the like is temporarily mixed and a part of the code image is disturbed, the influence of the power supply noise or the like is obtained by adding the predetermined images before and after the code image. Other code images that have not been received can compensate for the disturbance of some of the code images (the image disturbance can be reduced).
例えば、8画像中の1画像にコード画像の乱れがあった場合、その1画像だけを取り出せばその乱れの影響が大きいが、そのようなコード画像の画像データに、乱れのない他の7画像の画像データを含めて加算することによって、このような乱れが緩和される。このため、加算された加算コード画像に基づく第2の閾値を用いて加算コード画像に含まれるデータパターンをデコードすることで、たとえ電源ノイズ等が混入しても正確に二値化することができる。 For example, if there is a code image disturbance in one of the eight images, if only one image is taken out, the influence of the disturbance is great. However, the other seven images without disturbance in the image data of such a code image Such disturbance is reduced by adding the image data including the image data. Therefore, by decoding the data pattern included in the addition code image using the second threshold value based on the added addition code image, even if power noise or the like is mixed, it can be binarized accurately. .
また、本実施形態に係る二次元コードリーダ20では、リングバッファ回路34は、クロック制御部34a、画素カウンタ34b、画面番号カウンタ34c、マルチプレクサ34d、ラッチ34eおよび画像メモリ34fにより、複数のコード画像を構成する各画像データを論理的に循環状(無端状)に記憶可能に構成したことから(環状記憶装置)、メモリ35等の論理的に循環状でない有端状の記憶装置に比べて、無駄な空き領域(フラグメント)が出来にくい。これにより、記憶装置を有効に利用することができる。
In the two-
なお、上述した実施形態では、ステップS119による閾値算出処理により加算コード画像に対する閾値(第2の閾値)を設定し、この閾値に基づいてステップS121による第2デコード処理を行ったが、例えば、図4に示すQRコードQを加算コード画像のQRコードQ’とすれば、同図中に示される一点鎖線の矢印αに沿って列状に隣り合って並んだ画素ごとの加算画像データの増減変化量を二次微分演算する二次微分演算処理を、ステップS119に代えて設けて、図5(B) に示すように、その結果得られる二次微分値が0(ゼロ)になる加算画像データを第2の閾値に設定するようにしても良い。 In the above-described embodiment, a threshold value (second threshold value) for the addition code image is set by the threshold value calculation process in step S119, and the second decoding process in step S121 is performed based on this threshold value. If the QR code Q shown in FIG. 4 is the QR code Q ′ of the addition code image, the increase / decrease change of the addition image data for each pixel arranged adjacent to each other in a row along the dashed line arrow α shown in FIG. A secondary differential calculation process for performing the secondary differential calculation on the quantity is provided instead of step S119, and as shown in FIG. 5B, the added secondary image data obtained as a result of the secondary differential value becomes 0 (zero). May be set to the second threshold.
これにより、加算画像データの最大値または最小値を第2の閾値に設定することができるので、例えば、図5(B) に示すように、二次微分値が0(ゼロ)でその直前の二次微分値が−(マイナス)から+(プラス)になるところを始点、二次微分値が0(ゼロ)でその直前の二次微分値が+(プラス)から−(マイナス)になるところを終点、とする区間を黒(暗)と判定することができ、また二次微分値が0(ゼロ)でその直前の二次微分値が+(プラス)から−(マイナス)になるところを始点、二次微分値が0(ゼロ)でその直前の二次微分値が−(マイナス)から+(プラス)になるところを終点、とする区間を白(明)と判定することができる。 As a result, the maximum value or the minimum value of the added image data can be set as the second threshold value. For example, as shown in FIG. Where the secondary differential value changes from-(minus) to + (plus), where the secondary differential value is 0 (zero) and the immediately preceding secondary differential value changes from + (plus) to-(minus) Can be determined as black (dark), and the secondary differential value is 0 (zero), and the immediately preceding secondary differential value changes from + (plus) to-(minus). A section where the start point and the secondary differential value are 0 (zero) and the immediately preceding secondary differential value changes from − (minus) to + (plus) as the end point can be determined as white (bright).
また、上述した実施形態では、ステップS113によるコード画像切出処理によりコード画像を切り出して、所定数のコード画像を加算するまで(S117;No)、ステップS115によるコード画像加算処理によって順次加算して加算コード画像を生成したが、これに代えて、複数の加算器をリングバッファ回路34に記憶された複数のコード画像(所定画像分の画像数)の1/2以上備え、これらを並列に動作させ所定画像分の各画素ごとにの加算演算をほぼ同時に行うように構成しても良い。
In the above-described embodiment, the code image is cut out by the code image cut-out process in step S113, and the code image addition process in step S115 is sequentially added until a predetermined number of code images are added (S117; No). An added code image is generated. Instead, a plurality of adders are provided with more than half of a plurality of code images (the number of images for a predetermined image) stored in the
例えば、リングバッファ回路34の画像メモリ34fに、64画像分の、加算コード画像A1,A2,A3,A4,A5,A6,A7,A8,B1,B2,B3,B4,B5,B6,B7,B8,C1,C2,C3,C4,C5,C6,C7,C8,D1,D2,D3,D4,D5,D6,D7,D8,E1,E2,E3,E4,E5,E6,E7,E8,F1,F2,F3,F4,F5,F6,F7,F8,G1,G2,G3,G4,G5,G6,G7,G8,H1,H2,H3,H4,H5,H6,H7,H8が記憶されているとすると、隣り合った画像データ同士を加算する加算器を32(=64/2)個設ける。
For example, 64 image addition code images A1, A2, A3, A4, A5, A6, A7, A8, B1, B2, B3, B4, B5, B6, B7, are stored in the
図6には、これら64画像うち32画像を代表して、加算コード画像A1,A2,A3,A4,A5,A6,A7,A8,B1,B2,B3,B4,B5,B6,B7,B8に対して8個の加算器AD1〜AD8が画像メモリ34fに接続されている構成が図示されている。なお、加算コード画像C1,C2,C3,C4,C5,C6,C7,C8,D1,D2,D3,D4,D5,D6,D7,D8に対しても8個の加算器が画像メモリ34fに接続されているが、図6では省略されている。
In FIG. 6, 32 of these 64 images are representative of addition code images A1, A2, A3, A4, A5, A6, A7, A8, B1, B2, B3, B4, B5, B6, B7, B8. On the other hand, a configuration in which eight adders AD1 to AD8 are connected to the
ここでは、加算コード画像A1と加算コード画像A2とを加算器AD1により加算しその加算結果を加算コード画像A1が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD1の出力を接続する。また、加算コード画像A3と加算コード画像A4とを加算器AD2により加算しその加算結果を加算コード画像A2が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD2の出力を接続する。同様に、加算コード画像A5と加算コード画像A6とを加算器AD3により加算しその加算結果を加算コード画像A3が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD3の出力を接続する。同様に、加算コード画像A7と加算コード画像A8とを加算器AD4により加算しその加算結果を加算コード画像A4が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD4の出力を接続する。
Here, the addition code image A1 and the addition code image A2 are added by the adder AD1, and the addition result is stored in the memory space of the predetermined address of the
同様に、加算コード画像B1と加算コード画像B2とを加算器AD5により加算しその加算結果を加算コード画像A5が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD5の出力を接続する。同様に、加算コード画像B3と加算コード画像B4とを加算器AD6により加算しその加算結果を加算コード画像A6が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD6の出力を接続する。同様に、加算コード画像B5と加算コード画像B6とを加算器AD7により加算しその加算結果を加算コード画像A7が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD7の出力を接続する。同様に、加算コード画像B7と加算コード画像B8とを加算器AD8により加算しその加算結果を加算コード画像A8が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶可能に加算器AD8の出力を接続する。
Similarly, the addition code image B1 and the addition code image B2 are added by the adder AD5, and the addition result is stored in the memory space of the predetermined address of the
図6には、図示されていないが、同様に、加算コード画像C1,C2,C3,C4,C5,C6,C7,C8,D1,D2,D3,D4,D5,D6,D7,D8に対しても、同様に、8個の加算器が画像メモリ34fに接続されている。
Although not shown in FIG. 6, similarly to the addition code images C1, C2, C3, C4, C5, C6, C7, C8, D1, D2, D3, D4, D5, D6, D7, D8 However, similarly, eight adders are connected to the
これにより、例えば、第1ステージによって、加算コード画像A1と加算コード画像A2とを加算器AD1により、また加算コード画像A3と加算コード画像A4とを加算器AD2により、さらに加算コード画像A5と加算コード画像A6とを加算器AD3により、また加算コード画像A7と加算コード画像A8とを加算器AD4により、それぞれ加算し、加算コード画像B1と加算コード画像B2とを加算器AD5により、また加算コード画像B3と加算コード画像B4とを加算器AD6により、さらに加算コード画像B5と加算コード画像B6とを加算器AD7により、また加算コード画像B7と加算コード画像B8とを加算器AD8により、それぞれ加算する。これにより、加算結果(A1,A2)、(A3,A4)、(A5,A6)、(A7,A8)が得られて、加算コード画像A1〜A4が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
Thus, for example, in the first stage, the addition code image A1 and the addition code image A2 are added by the adder AD1, and the addition code image A3 and the addition code image A4 are further added by the adder AD2 and the addition code image A5. The code image A6 is added by the adder AD3, the addition code image A7 and the addition code image A8 are added by the adder AD4, respectively, and the addition code image B1 and the addition code image B2 are added by the adder AD5. Image B3 and addition code image B4 are added by adder AD6, addition code image B5 and addition code image B6 are added by adder AD7, and addition code image B7 and addition code image B8 are added by adder AD8, respectively. To do. As a result, addition results (A1, A2), (A3, A4), (A5, A6), (A7, A8) are obtained, and a predetermined address of the
次に、第2ステージによって、加算結果(A1,A2)と加算結果(A3,A4)とを加算器AD1により、加算結果(A5,A6)と加算結果(A7,A8)とを加算器AD2により、加算結果(B1,B2)と加算結果(B3,B4)とを加算器AD3により、加算結果(B5,B6)と加算結果(B7,B8)とを加算器AD4により、それぞれ加算する。これにより、加算結果(A1,A2…A4)、(A5,A6…A8)が得られて、加算コード画像A1〜A4が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
Next, in the second stage, the addition result (A1, A2) and the addition result (A3, A4) are added by the adder AD1, and the addition result (A5, A6) and the addition result (A7, A8) are added by the adder AD2. Thus, the addition result (B1, B2) and the addition result (B3, B4) are added by the adder AD3, and the addition result (B5, B6) and the addition result (B7, B8) are added by the adder AD4, respectively. Thereby, the addition results (A1, A2... A4), (A5, A6... A8) are obtained and stored in the memory space of the predetermined address of the
同様に、加算コード画像C1,C2,C3,C4,C5,C6,C7,C8,D1,D2,D3,D4,D5,D6,D7,D8についても、第1ステージ、第2ステージで、図略の加算器により加算する。これにより、加算結果(C1,C2…C4)、(C5,C6…C8)が得られて、加算コード画像A5,A6が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶され、また加算結果(D1,D2…D4)、(D5,D6…D8)が得られて、加算コード画像A7,A8が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
Similarly, addition code images C1, C2, C3, C4, C5, C6, C7, C8, D1, D2, D3, D4, D5, D6, D7, D8 are also shown in the first stage and the second stage. Add with an abbreviated adder. Thereby, the addition results (C1, C2... C4), (C5, C6... C8) are obtained and stored in the memory space of the predetermined address of the
そして、これらの加算の後、第3ステージによって、加算結果(A1,A2…A4)と加算結果(A5,A6…A8)とを加算器AD1により、加算結果(B1,B2…B4)と加算結果(B7,B6…B8)とを加算器AD2により、加算結果(C1,C2…C4)と加算結果(C5,C6…C8)とを加算器AD3により、加算結果(D1,D2…D4)と加算結果(D7,D6…D8)とを加算器AD4により、それぞれ加算する。これにより、加算結果(A1,A2…A8)、(B1,B2…B8)、(C1,C2…C8)、(D1,D2…D8)が得られて、加算コード画像A1〜A4が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
After these additions, the addition results (A1, A2... A4) and the addition results (A5, A6... A8) are added to the addition results (B1, B2... B4) by the adder AD1 in the third stage. The result (B7, B6... B8) is added by the adder AD2, the addition result (C1, C2... C4) and the addition result (C5, C6... C8) are added by the adder AD3, and the addition result (D1, D2... D4). And the addition results (D7, D6... D8) are added by the adder AD4. Thereby, the addition results (A1, A2... A8), (B1, B2... B8), (C1, C2... C8), (D1, D2... D8) are obtained, and the addition code images A1 to A4 are stored. It is stored in the memory space of the predetermined address of the previously stored
この後、第4ステージによって、加算結果(A1,A2…A8)と加算結果(B1,B2…B8)とを加算器AD1により、加算結果(C1,C2…C4)と加算結果(D1,D2…D8)とを加算器AD2により、それぞれ加算することによって、加算結果(A1〜A8,B1〜B8)、(C1〜C8,D1〜D8)が得られて、加算コード画像A1,A2が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
Thereafter, in the fourth stage, the addition result (A1, A2... A8) and the addition result (B1, B2... B8) are added by the adder AD1, and the addition result (C1, C2... C4) and the addition result (D1, D2). ... D8) are added by the adder AD2, respectively, and addition results (A1 to A8, B1 to B8) and (C1 to C8, D1 to D8) are obtained, and the addition code images A1 and A2 are stored. The stored
そして、最後に、第5ステージにより、加算結果(A1〜A8,B1〜B8)と加算結果(C1〜C8,D1〜D8)とを加算器AD1により加算することによって、全ての加算結果として(ΣA,ΣB,ΣC,ΣD)が得られて、加算コード画像A1が記憶されていた画像メモリ34fの所定アドレスのメモリ空間に記憶される。
Finally, the addition results (A1 to A8, B1 to B8) and the addition results (C1 to C8, D1 to D8) are added by the adder AD1 in the fifth stage, so that all the addition results ( (ΣA, ΣB, ΣC, ΣD) are obtained and stored in a memory space of a predetermined address of the
これにより、例えば、1つの加算器で32画像分のコード画像を加算演算する場合には、31の演算ステージが必要になるが、その1/6以下の5つの演算ステージで加算することができる。このため、コード画像の加算演算処理を飛躍的に高速にすることができる。また、64画像分のコード画像を加算演算しても、6つの演算ステージで加算できる。 As a result, for example, when 32 code images are added and calculated by one adder, 31 calculation stages are required, but the addition can be performed at 5 calculation stages of 1/6 or less. . For this reason, the code image addition calculation processing can be dramatically speeded up. Further, even if 64 code images are added and calculated, they can be added in six calculation stages.
なお、このようなコード画像の加算処理を全てのコード画像について毎回行うのではなく、加算画像データを求めるのに用いた所定画像分のコード画像の画像データのうち最も古いコード画像の画像データを当該加算画像データから除くとともに最も新しいコード画像の画像データを当該加算画像データに加えて、新たな加算画像データを求め加算コード画像を生成するように構成しても良い。 The code image addition process is not performed every time for all the code images, but the image data of the oldest code image among the image data of the predetermined number of code images used for obtaining the added image data is used. The image data of the newest code image may be added to the added image data while being excluded from the added image data, and new added image data may be obtained to generate an added code image.
例えば、図7に示すように、No.1画像〜No.n画像のn個のコード画像を記憶できるリングバッファ回路34の機能的な概念をドーナッツ形状に表現すると、n個のコード画像のうち、No.(n−m+2)〜No.1のm個のコード画像の加算は、S(No.(n−m+2)〜No.1)=(A1+An+…+An−m+2)となる(図7(A) 参照)。ここで、Axは、No.x画像(コード画像)の画像データを意味する。そして、No.(n−m+3)〜No.2のm個のコード画像の加算は、S(No.(n−m+3)〜No.2)=(A2+An+…+An−m+3)=A2+(A1+An+…+An−m+2)−An−m+2=A2+S(No.(n−m+2)〜No.1)−An−m+2になる(図7(B) 参照)。
For example, as shown in FIG. 1 image-No. When the functional concept of the
このため、前回の加算演算により得られた加算画像データS(No.(n−m+2)〜No.1)から新たなコード画像の画像データA2を加算し最も古いコード画像の画像データAn−m+2を減算することによって、毎回全ても画像データを加算することなく、少ない演算処理で加算コード画像を得ることができる。 Therefore, the image data A n of the addition image data S (No. (n-m + 2) ~No.1) adds the image data A 2 of a new code image from oldest code image obtained by the previous addition operation By subtracting −m + 2 , it is possible to obtain an addition code image with less arithmetic processing without adding image data every time.
また、最も古いコード画像の画像データAn−m+2を減算する処理に代えて、当該画像データAn−m+2の全ビットを反転(0→1,1→0)させた反転画像データ¬An−m+2に1を算術加算演算、つまりAn−m+2の2の補数を論理加算演算する処理としても良い(¬は、論理反転を表す記号である)。即ち、No.(n−m+3)〜No.2のm個のコード画像の加算は、S(No.(n−m+3)〜No.2)=A2+S(No.(n−m+2)〜No.1)−An−m+2=A2+S(No.(n−m+2)〜No.1)+¬An−m+2+1になる。各画像データに“1”を加算することにより、加算回路によって減算処理ができるので、減算回路を設ける必要がなくなり演算回路を簡素に構成することができる。 Further, instead of the process of subtracting the image data A n−m + 2 of the oldest code image, the inverted image data ¬A n in which all the bits of the image data A n−m + 2 are inverted (0 → 1, 1 → 0) An arithmetic addition operation may be performed by adding 1 to −m + 2 , that is, a logical addition operation of the two's complement of An−m + 2 (¬ is a symbol representing logic inversion). That is, no. (Nm−3) to No. The addition of m code images of 2 is as follows: S (No. (n−m + 3) to No. 2 ) = A 2 + S (No. (n−m + 2) to No. 1) −A n−m + 2 = A 2 + S (No. (n−m + 2) to No. 1) + ¬A n−m + 2 +1. By adding “1” to each image data, subtraction processing can be performed by the addition circuit, so that it is not necessary to provide a subtraction circuit, and the arithmetic circuit can be configured simply.
20…二次元コードリーダ(二次元コード読取装置)
21…照明光源
22…結像レンズ
23…受光センサ
31…増幅回路
33…A/D変換回路
34…リングバッファ回路(コード画像記憶手段、環状記憶装置)
35…メモリ
36…アドレス発生回路
41…電源スイッチ
42…操作スイッチ
43…LED
44…ブザー
46…液晶表示器
48…通信インタフェース
Q…QRコード(二次元コード)
S103(機能パターン検出手段)、S109(第1のデコード手段)、S111(デコード成否判断手段)、S115(コード画像加算手段)、S119(閾値設定手段)、S121(第2のデコード手段)
20 ... Two-dimensional code reader (two-dimensional code reader)
DESCRIPTION OF
35 ...
44 ...
S103 (function pattern detecting means), S109 (first decoding means), S111 (decoding success / failure judging means), S115 (code image adding means), S119 (threshold setting means), S121 (second decoding means)
Claims (6)
前記二次元コードのコード画像で同じ二次元コードについて異なるタイミングで取得された複数のコード画像を記憶するコード画像記憶手段と、
前記コード画像記憶手段に記憶された一のコード画像に基づいてこの一のコード画像に含まれる前記機能パターンを検出する機能パターン検出手段と、
前記機能パターンの検出に際し前記明暗モジュールの明暗を判別するために設定された第1の閾値を用いて前記一のコード画像に含まれる前記データパターンをデコードする第1のデコード手段と、
前記第1のデコード手段による前記データパターンのデコードができたか否かを判断するデコード成否判断手段と、
前記デコード成否判断手段により前記データパターンのデコードができなかったと判断された場合、前記コード画像記憶手段に記憶された前記コード画像を構成する各画像データで明暗の度合いを画素ごとに数値表現したものを、前記複数のコード画像のうちの所定画像分加算しこの加算により得られた加算画像データに基づいて加算コード画像を生成するコード画像加算手段と、
前記コード画像加算手段により生成された前記加算コード画像に基づいて前記明暗モジュールの明暗を判別するための第2の閾値を設定する閾値設定手段と、
前記第2の閾値を用いて前記加算コード画像に含まれる前記データパターンをデコードする第2のデコード手段と、
を備えることを特徴とする二次元コード読取装置。 A two-dimensional code encoded in a light / dark module composed of a light module and a dark module, and a function pattern required to decode the encoded data and the data or information accompanying the data are encoded In a two-dimensional code reader capable of reading a two-dimensional code including a data pattern,
Code image storage means for storing a plurality of code images acquired at different timings for the same two-dimensional code in the code image of the two-dimensional code;
Functional pattern detection means for detecting the functional pattern included in the one code image based on the one code image stored in the code image storage means;
First decoding means for decoding the data pattern included in the one code image using a first threshold value set for determining the brightness of the brightness module when detecting the functional pattern;
Decoding success / failure determining means for determining whether or not the data pattern can be decoded by the first decoding means;
When the decoding success / failure determining unit determines that the data pattern cannot be decoded, the degree of lightness and darkness is numerically expressed for each pixel in each image data constituting the code image stored in the code image storage unit Code image addition means for adding a predetermined image of the plurality of code images and generating an addition code image based on the addition image data obtained by the addition;
Threshold setting means for setting a second threshold for determining the brightness of the brightness module based on the added code image generated by the code image adding means;
Second decoding means for decoding the data pattern included in the addition code image using the second threshold;
A two-dimensional code reading device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008086557A JP4957616B2 (en) | 2008-03-28 | 2008-03-28 | Two-dimensional code reader |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008086557A JP4957616B2 (en) | 2008-03-28 | 2008-03-28 | Two-dimensional code reader |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009238149A JP2009238149A (en) | 2009-10-15 |
JP4957616B2 true JP4957616B2 (en) | 2012-06-20 |
Family
ID=41251963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008086557A Active JP4957616B2 (en) | 2008-03-28 | 2008-03-28 | Two-dimensional code reader |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4957616B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5756947B2 (en) * | 2011-05-10 | 2015-07-29 | 国立大学法人 鹿児島大学 | Two-dimensional code, image reading apparatus, image reading method, program, and storage medium |
JP2021035416A (en) * | 2019-08-30 | 2021-03-04 | 株式会社三洋物産 | Game machine |
JP7331703B2 (en) * | 2020-01-06 | 2023-08-23 | 株式会社デンソーウェーブ | reader |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0244484A (en) * | 1988-08-05 | 1990-02-14 | Eastman Kodatsuku Japan Kk | Bar code reader |
JP3804140B2 (en) * | 1997-01-07 | 2006-08-02 | 株式会社デンソー | Two-dimensional code reader |
JP2000353211A (en) * | 1999-06-09 | 2000-12-19 | Mitsubishi Electric Corp | Device and method for bar code recognition |
JP2001209751A (en) * | 2000-01-28 | 2001-08-03 | Olympus Optical Co Ltd | Adaptive binarization system |
-
2008
- 2008-03-28 JP JP2008086557A patent/JP4957616B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009238149A (en) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3996520B2 (en) | Two-dimensional information code and generation method thereof | |
JP4752413B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
WO2004093433A1 (en) | Code recognizing method and device | |
JP4957616B2 (en) | Two-dimensional code reader | |
JP5017988B2 (en) | Code reader and program | |
JP5187383B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
JP4103909B2 (en) | Portable information terminal and image processing method | |
CN113033232B (en) | Image binarization method and electronic device | |
JP4335229B2 (en) | QR code recognition device, QR code recognition device control method, QR code recognition device control program, and computer-readable recording medium recording the same | |
JP5187382B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
JP2007034546A (en) | Optical reader | |
JP4241803B2 (en) | Two-dimensional information code reading method and reading apparatus | |
JP5585400B2 (en) | Optical information reader | |
WO2020179248A1 (en) | Information code reading system | |
JP2009076031A (en) | Optical information reader | |
JP5195539B2 (en) | Optical information reader | |
JP2008071032A (en) | Optical information reader | |
JP4378491B2 (en) | Code image output device | |
JP5218316B2 (en) | Optical information reader | |
JP2006134159A (en) | Optical information reading device | |
JP2010097317A (en) | Bar code reading method and bar code reading device | |
JP5240161B2 (en) | Optical information reader | |
JP4107237B2 (en) | Method for identifying boundary position of optical information reader | |
JP5825110B2 (en) | Two-dimensional code reader | |
JP4706187B2 (en) | Character recognition device and character recognition method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120213 |
|
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: 20120221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120305 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4957616 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
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 |