JP4957616B2 - Two-dimensional code reader - Google Patents

Two-dimensional code reader Download PDF

Info

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
Application number
JP2008086557A
Other languages
Japanese (ja)
Other versions
JP2009238149A (en
Inventor
喜郎 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2008086557A priority Critical patent/JP4957616B2/en
Publication of JP2009238149A publication Critical patent/JP2009238149A/en
Application granted granted Critical
Publication of JP4957616B2 publication Critical patent/JP4957616B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1 below, there are some that are appropriately changed according to the state of the sensor signal. For example, in the first method disclosed in the [Prior Art] column of Patent Document 1, (1) a certain dead band width is provided above and below the threshold value, and a sensor signal outside this width falls within the dead band width. The threshold value is changed as follows. In the second method disclosed in the same column, (2) a maximum value and a minimum value of the sensor signal are appropriately determined, and an intermediate value thereof is set as a threshold value.

ところが、(1) の方式を採ったとしても不感帯幅が一定値であることから常に最適な閾値が設定できるわけではないことや、(2) の方式を採っても明暗の変化が乏しい範囲が広い場合には中間値と言えども適切な閾値の設定が困難になるという問題がある。このため、当該特許文献1では、センサ信号(濃淡信号)の最大値と最小値に応じて不感帯幅を適応的に算出しこれに基づいて閾値を設定する技術を提案している。
特開平11−53459号公報
However, even if the method (1) is adopted, the dead zone width is a constant value, so it is not always possible to set an optimal threshold, and there is a range where the change in brightness is poor even if the method (2) is adopted. If it is wide, there is a problem that it is difficult to set an appropriate threshold even if it is an intermediate value. For this reason, Patent Document 1 proposes a technique for adaptively calculating the dead band width according to the maximum value and the minimum value of the sensor signal (grayscale signal) and setting the threshold value based on the dead band width.
JP-A-11-53459

しかしながら、上記特許文献1に開示される技術でもあっても、センサ信号(濃淡信号)の最大値と最小値に基づいて不感帯幅を求めこの不感帯幅を用いて閾値をセンサ信号に追従させている。このため、例えば、二次元コード読取装置の電源ラインにノイズが混入すると、電源電圧が揺らぐことに伴いセンサ信号もその影響を受けて揺らいだり、場合によってはギザギザな波形になり得ることから、このようなセンサ信号に基づいた不感帯幅では適切な閾値を設定することが難しい。   However, even with the technique disclosed in Patent Document 1, the dead band width is obtained based on the maximum value and the minimum value of the sensor signal (grayscale signal), and the threshold value is made to follow the sensor signal using this dead band width. . For this reason, for example, if noise is mixed in the power supply line of the two-dimensional code reader, the sensor signal may be affected by the fluctuation of the power supply voltage and may be a jagged waveform in some cases. It is difficult to set an appropriate threshold value with the dead band width based on such a sensor signal.

つまり、上記特許文献1に開示される技術では、センサ信号に含まれ得る電源等からのノイズ成分を除去し得る構成を採っているわけではないので、電源ノイズが混入すると、正確に二値化することができないという問題がある。   In other words, the technique disclosed in Patent Document 1 does not employ a configuration that can remove noise components from a power source or the like that can be included in a sensor signal. There is a problem that you can not.

本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、電源ノイズ等が混入しても正確に二値化し得る二次元コード読取装置を提供することにある。   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 claim 1, the coded two-dimensional code is encoded in the light / dark module composed of the light module and the dark module. In a two-dimensional code reader capable of reading a two-dimensional code including a functional pattern required to decode the received data and a data pattern obtained by encoding the data or information accompanying the data, 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, and included in this one code image based on one code image stored in the code image storage means Function pattern detecting means for detecting the function pattern to be detected, and detecting the function pattern. A first decoding means for decoding the data pattern included in the one code image using a first threshold value set to determine the brightness of the light / dark module; and the data by the first decoding means. Decoding success / failure determining means for determining whether or not the pattern has been decoded; and when the decoding success / failure determining means determines that the data pattern has not been decoded, the code image stored in the code image storage means is In each image data constituting the image data, the degree of lightness and darkness expressed numerically for each pixel is added for a predetermined image of the plurality of code images, and an addition code image is generated based on the addition image data obtained by the addition. Based on the code image addition means and the addition code image generated by the code image addition means, Threshold setting means for setting a second threshold for discriminating the brightness of the brightness module, and second decoding means for decoding the data pattern included in the addition code image using the second threshold. It is a technical feature to provide.

なお、「モジュール」とは、当該二次元コードを構成する最小構成要素のことで、「明モジュール」とは、当該モジュールが明色(例えば白色等の明度の高い色)と暗色(例えば黒色等の明度の低い色)の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 claim 2, wherein the code image storage means performs logical operation on each image data constituting the plurality of code images. A technical feature is that it is an annular storage device that can be stored cyclically.

特許請求の範囲に記載の請求項3の二次元コード読取装置では、請求項1または2記載の二次元コード読取装置において、前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの増減変化量を、二次微分演算しその結果得られる二次微分値がゼロになる前記加算画像データを前記第2の閾値に設定することを技術的特徴とする。   The two-dimensional code reading device according to claim 3, wherein the threshold value setting means is arranged in a row of pixels constituting the addition code image. An increase / decrease change amount of the added image data for each pixel arranged side by side is subjected to a second derivative operation, and the second image obtained as a result of the second derivative value is set to the second threshold value. Technical features.

特許請求の範囲に記載の請求項4の二次元コード読取装置では、請求項1または2記載の二次元コード読取装置において、前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの総和を、当該列を構成する画素数で除して得られる平均値を前記第2の閾値に設定することを技術的特徴とする。   In the two-dimensional code reading device according to claim 4, the threshold value setting means is arranged in a row with pixels constituting the addition code image. A technical feature is that an average value obtained by dividing the sum of the added image data for each pixel arranged side by side by the number of pixels constituting the column is set as the second threshold value.

特許請求の範囲に記載の請求項5の二次元コード読取装置では、請求項1〜4のいずれか一項に記載の二次元コード読取装置において、前記コード画像加算手段は、前記所定画像分の画像数の1/2以上の加算器を備えており、これらを並列に動作させ前記所定画像分の各画素ごとにの加算演算をほぼ同時に行うことにより、前記加算画像データを求めて前記加算コード画像を生成することを技術的特徴とする。   In the two-dimensional code reader according to claim 5, the code image adding means includes a unit for the predetermined image. An adder having a number of images equal to or greater than ½, and performing the addition operation for each pixel of the predetermined image almost simultaneously to obtain the added image data to obtain the added code Generating an image is a technical feature.

特許請求の範囲に記載の請求項6の二次元コード読取装置では、請求項1〜4のいずれか一項に記載の二次元コード読取装置において、前記コード画像加算手段は、前記加算画像データを求めるのに用いた前記所定画像分の画像データのうち最も古い画像データを当該加算画像データから除くとともに最も新しい画像データを当該加算画像データに加えて、新たな前記加算画像データを求め前記加算コード画像を生成することを技術的特徴とする。   In the two-dimensional code reading device according to claim 6, the code image adding means is configured to output the added image data as the two-dimensional code reading device according to any one of claims 1 to 4. The oldest image data of the image data for the predetermined image used for obtaining is removed from the added image data, and the newest image data is added to the added image data to obtain new added image data. Generating an image is a technical feature.

請求項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 claim 2, since the code image storage means is an annular storage device capable of storing each image data constituting a plurality of code images in a logical (endless) manner, it is logically circular. Compared with a non-endless storage device, it is difficult to create a useless empty area (fragment). Thereby, the storage device can be used effectively.

請求項3の発明では、閾値設定手段を例示する。例えば、加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの加算画像データの増減変化量を、二次微分演算しその結果得られる二次微分値がゼロになる加算画像データを第2の閾値に設定する。これにより、加算画像データの最大値または最小値を第2の閾値に設定することができる。   In the invention of claim 3, the threshold setting means is exemplified. For example, addition image data in which the secondary differential value obtained as a result of second-order differential calculation of the increase / decrease change amount of the addition image data for each pixel arranged adjacent to each other in a row with pixels constituting the addition code image becomes zero Is set to the second threshold. Thereby, the maximum value or the minimum value of the added image data can be set as the second threshold value.

請求項4の発明では、閾値設定手段を例示する。例えば、加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの加算画像データの総和を、当該列を構成する画素数で除して得られる平均値を第2の閾値に設定する。これにより、閾値設定手段として、二次微分値を二次微分演算して得てそれを第2の閾値に設定する場合に比べ、簡素な演算アルゴリズムで第2の閾値を設定することができる。   In the invention of claim 4, the threshold setting means is exemplified. For example, the average value obtained by dividing the sum of the added image data for each pixel arranged adjacent to each other in a column with pixels constituting the addition code image by the number of pixels constituting the column is set as the second threshold value. To do. Thereby, as a threshold value setting means, the second threshold value can be set with a simple calculation algorithm as compared with the case where the second derivative value is obtained by performing a second derivative operation and set as the second threshold value.

請求項5の発明では、コード画像加算手段は、所定画像分の画像数の1/2以上の加算器を備えており、これらを並列に動作させ所定画像分の各画素ごとにの加算演算をほぼ同時に行うことにより、加算画像データを求めて加算コード画像を生成する。これにより、加算演算を並列に行わない場合(加算演算を直列に行う)場合に比べて演算処理を速くすることができる。   In the invention of claim 5, the code image addition means includes an adder that is at least half the number of images for a predetermined image, and operates them in parallel to perform an addition operation for each pixel of the predetermined image. By performing substantially the same time, addition image data is obtained and an addition code image is generated. Thereby, it is possible to speed up the arithmetic processing as compared with the case where the addition operation is not performed in parallel (the addition operation is performed in series).

請求項6の発明では、コード画像加算手段は、加算画像データを求めるのに用いた所定画像分の画像データのうち最も古い画像データを当該加算画像データから除くとともに最も新しい画像データを当該加算画像データに加えて、新たな加算画像データを求め加算コード画像を生成する。これにより、古い画像データを除く減算処理と新たな画像データを加える加算処理とを行うことにより加算画像データを更新できるので、加算対象となる画像データを毎回全て加算演算する場合に比べて演算処理を速くすることができる。   In the invention of claim 6, the code image adding means removes the oldest image data from the added image data and outputs the newest image data to the added image from among the image data for a predetermined image used for obtaining the added image data. In addition to the data, new addition image data is obtained and an addition code image is generated. As a result, the addition image data can be updated by performing the subtraction process excluding the old image data and the addition process adding the new image data, so that the calculation process is performed in comparison with the case of adding all the image data to be added each time. Can be faster.

以下、本発明の二次元コード読取装置を、QRコードを読取可能な二次元コードリーダ20に適用した実施形態を各図を参照して説明する。なお、本実施形態では、二次元コードとして、QRコードを例示して説明するが、明モジュールおよび暗モジュールにより構成される明暗モジュールにコード化された二次元コードで、このコード化されたデータをデコードするのに要する機能パターンと、前記データまたは前記データに付随する情報をコード化したデータパターンと、を記録している二次元コードであれば、例えば、データマトリックスコード、マキシコード、ベリコード、カルラコード、CPコード等であっても本発明を適用することができる。   Hereinafter, an embodiment in which the two-dimensional code reader of the present invention is applied to a two-dimensional code reader 20 capable of reading a QR code will be described with reference to the drawings. In this embodiment, a QR code is described as an example of a two-dimensional code. However, the coded data is represented by a two-dimensional code coded in a light / dark module composed of a light module and a dark module. For example, a data matrix code, a maxi code, a veri code, a color code, and the like can be used as long as it is a two-dimensional code that records a function pattern required for decoding and a data pattern obtained by encoding the data or information accompanying the data. The present invention can also be applied to codes, CP codes, and the like.

まず、二次元コードリーダ20の構成を図1に基づいて説明する。図1に示すように、二次元コードリーダ20は、主に、照明光源21、受光センサ23、結像レンズ22等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイコン系と、電源スイッチ41、バッテリ49等の電源系と、から構成されている。なお、これらは図略のプリント基板に実装されて図略のハウジング内に収容されている。   First, the configuration of the two-dimensional code reader 20 will be described with reference to FIG. As shown in FIG. 1, the two-dimensional code reader 20 mainly includes an optical system such as an illumination light source 21, a light receiving sensor 23, and an imaging lens 22, a memory 35, a control circuit 40, an operation switch 42, and a liquid crystal display 46. And a power supply system such as a power switch 41 and a battery 49. These are mounted on a printed circuit board (not shown) and accommodated in a housing (not shown).

光学系は、照明光源21、受光センサ23、結像レンズ22等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のハウジングの読取口を介してラベルPに向けて照明光Lfを照射可能に構成されている。このラベルPには、QRコードQが印刷されている。   The optical system includes an illumination light source 21, a light receiving sensor 23, an imaging lens 22, and the like. The illumination light source 21 functions as an illumination light source capable of emitting illumination light Lf, and includes, for example, a red LED and a diffusion lens, a condensing lens, and the like provided on the emission side of the LED. In the present embodiment, illumination light sources 21 are provided on both sides of the light receiving sensor 23, and configured to be able to irradiate illumination light Lf toward the label P through a reading port of a housing (not shown). On this label P, a QR code Q is printed.

受光センサ23は、ラベルPやQRコードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ22を介して入射する入射光をこの受光面23aで受光可能に図略のプリント基板に実装されている。   The light receiving sensor 23 is configured to receive the reflected light Lr irradiated and reflected on the label P or the QR code Q. For example, a light receiving element which is a solid-state imaging element such as a C-MOS or CCD is two-dimensionally arranged. The arranged area sensor corresponds to this. The light receiving sensor 23 is mounted on a printed circuit board (not shown) so that incident light incident through the imaging lens 22 can be received by the light receiving surface 23a.

結像レンズ22は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。   The imaging lens 22 functions as an imaging optical system capable of condensing incident light incident through the reading port from the outside and forming an image on the light receiving surface 23a of the light receiving sensor 23. And a plurality of condensing lenses housed in the lens barrel.

次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路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 amplification circuit 31, an A / D conversion circuit 33, a ring buffer circuit 34, a memory 35, an address generation circuit 36, a synchronization signal generation circuit 38, a control circuit 40, an operation switch 42, an LED 43, a buzzer 44, and a liquid crystal display. 46, a communication interface 48, and the like. As the name suggests, this microcomputer system is composed of a control circuit 40 and a memory 35 that can function as a microcomputer.

光学系の受光センサ23から出力される画像信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。例えば、QRコードQの明モジュールが「白色」、暗モジュールが「黒色」で構成されている場合、グレースケールを8ビットの256階調に変換するときには、各モジュールごとに、「黒色」が0、「白色」が255、その間の「灰色」が明度に応じて1〜254に変換される。このように変換された画像データ(ディジタル化された画像信号)は、メモリ35に入力されて画像データ蓄積領域に蓄積される。またこれと並行して画像データは後述するリングバッファ回路34にも入力されて蓄積される。   An image signal output from the light receiving sensor 23 of the optical system is amplified by a predetermined gain by being input to the amplification circuit 31 and then converted from an analog signal to a digital signal when input to the A / D conversion circuit 33. Is done. For example, when the light module of QR code Q is composed of “white” and the dark module is “black”, when converting gray scale to 256 bits of 8-bit, “black” is 0 for each module. , “White” is converted to 255, and “gray” in between is converted to 1 to 254 according to the lightness. The image data thus converted (digitized image signal) is input to the memory 35 and stored in the image data storage area. In parallel with this, the image data is also input to and accumulated in a ring buffer circuit 34 described later.

なお、同期信号発生回路38は、受光センサ23、リングバッファ回路34およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、リングバッファ回路34やメモリ35に格納される画像データの格納アドレスを発生可能に構成されている。   The synchronization signal generation circuit 38 is configured to be able to generate synchronization signals for the light receiving sensor 23, the ring buffer circuit 34, and the address generation circuit 36. The address generation circuit 36 is supplied from the synchronization signal generation circuit 38. The storage address of the image data stored in the ring buffer circuit 34 or the memory 35 can be generated based on the synchronization signal.

リングバッファ回路34は、A/D変換回路33から出力される画像データを論理的に循環状に記憶可能な環状記憶装置で、同期信号発生回路38から供給される同期信号に基づいて画像データを記憶している。リングバッファ回路34の構成例が図2に示されているので、ここでは図2を参照して説明する。   The ring buffer circuit 34 is an annular storage device that can logically store the image data output from the A / D conversion circuit 33. The ring buffer circuit 34 stores the image data based on the synchronization signal supplied from the synchronization signal generation circuit 38. I remember it. A configuration example of the ring buffer circuit 34 is shown in FIG. 2 and will be described with reference to FIG.

図2に示すように、リングバッファ回路34は、クロック制御部34a、画素カウンタ34b、画面番号カウンタ34c、マルチプレクサ34d、ラッチ34e、画像メモリ34f、バッファ34g等により構成されている。   As shown in FIG. 2, the ring buffer circuit 34 includes a clock control unit 34a, a pixel counter 34b, a screen number counter 34c, a multiplexer 34d, a latch 34e, an image memory 34f, a buffer 34g, and the like.

クロック制御部34aは、同期信号発生回路38からの同期信号に基づいてA/D変換回路33から出力される画像データを、画素単位でカウントするためのクロック信号を生成して出力するものである。このクロック信号は画素カウンタ34bに出力される。   The clock control unit 34 a generates and outputs a clock signal for counting image data output from the A / D conversion circuit 33 on a pixel basis based on the synchronization signal from the synchronization signal generation circuit 38. . This clock signal is output to the pixel counter 34b.

画素カウンタ34bは、クロック制御部34aから出力されるクロック信号に基づいて1画面分(受光センサ23によって撮像される所定領域)の画素数をカウントし、カウント値をデータとし出力するとともに、画面の区切りタイミングをリセット信号として出力するものである。例えば、所定領域がm行n列のマトリックス状に配置される画素で構成される場合には、「1」〜「m×n」を繰り返しカウントし、そのカウント値をマルチプレクサ34dに出力するとともに、リセット信号を画面番号カウンタ34cに出力する。   The pixel counter 34b counts the number of pixels for one screen (predetermined region imaged by the light receiving sensor 23) based on the clock signal output from the clock control unit 34a, and outputs the count value as data. The delimiter timing is output as a reset signal. For example, when the predetermined area is composed of pixels arranged in a matrix of m rows and n columns, “1” to “m × n” are repeatedly counted, and the count value is output to the multiplexer 34d. A reset signal is output to the screen number counter 34c.

画面番号カウンタ34cは、画素カウンタ34bから出力されるリセット信号を受けて所定範囲で画像番号をカウントするもので、例えば、所定範囲として64画面であれば、1〜64を繰り返しカウントする。この画面番号カウンタ34cによりカウント値としてカウントされた画面番号は、マルチプレクサ34dおよびラッチ34eに出力される。   The screen number counter 34c receives the reset signal output from the pixel counter 34b and counts the image number within a predetermined range. For example, if the predetermined range is 64 screens, the screen number counter 34c repeatedly counts 1 to 64. The screen number counted as the count value by the screen number counter 34c is output to the multiplexer 34d and the latch 34e.

マルチプレクサ34dは、画素カウンタ34bから入力されるカウント値と画面番号カウンタ34cから入力される画面番号とに基づいて画像メモリ34fの画像メモリアドレスを生成して画像メモリ34fに出力するものである。また、この画像メモリアドレスはラッチ34eにも出力される。   The multiplexer 34d generates an image memory address of the image memory 34f based on the count value input from the pixel counter 34b and the screen number input from the screen number counter 34c, and outputs the image memory address to the image memory 34f. The image memory address is also output to the latch 34e.

ラッチ34eは、画面番号カウンタ34cから入力される画面番号を保持するとともに、この保持された画像番号を制御回路40に出力、つまり制御回路40から読出し可能に構成されている。これにより、次に説明する画像メモリ34fに取り込まれつつある画像データの画像番号を制御回路40が取得できるようにしている。   The latch 34e is configured to hold the screen number input from the screen number counter 34c and to output the held image number to the control circuit 40, that is, to be able to read from the control circuit 40. As a result, the control circuit 40 can acquire the image number of the image data being taken into the image memory 34f described below.

画像メモリ34fは、所定数の画像データを記憶できる半導体メモリ装置で、次に説明するバッファ34gを介してA/D変換回路33から送られてくる画像データを複数画像分、記憶するものである。例えば、画面番号カウンタ34cによるカウント範囲が64画面分である場合には、当該画像メモリ34fは所定数として64画像分の画像データを記憶可能に構成されている。   The image memory 34f is a semiconductor memory device capable of storing a predetermined number of image data, and stores image data sent from the A / D conversion circuit 33 through a buffer 34g described below for a plurality of images. . For example, when the count range by the screen number counter 34c is for 64 screens, the image memory 34f is configured to be able to store image data for 64 images as a predetermined number.

バッファ34gは、A/D変換回路33から送られてくる画像データや、制御回路40に対して出力する画像データを記憶する半導体メモリ装置で、A/D変換回路33や制御回路40と画像メモリ34fとの間で、画像データをやり取りするものである。なお、このバッファ34gは、画像メモリ34fに比べて記憶容量が少ない反面、書き込みや読み出しが高速に実行可能に構成されている。   The buffer 34g is a semiconductor memory device that stores the image data sent from the A / D conversion circuit 33 and the image data output to the control circuit 40. The buffer 34g is connected to the A / D conversion circuit 33, the control circuit 40, and the image memory. Image data is exchanged with 34f. The buffer 34g has a smaller storage capacity than the image memory 34f, but is configured so that writing and reading can be performed at high speed.

このようにリングバッファ回路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 ring buffer circuit 34 in this way, the ring buffer circuit 34 functions as an annular storage device (endless storage device) capable of logically storing in a circular manner as shown in FIG. . For example, an image captured at a certain time and sent from the A / D conversion circuit 33 is No. Assuming one image, the next captured image is No. 2 images, the next captured image is No. 3 images are stored in order, and the nth stored image is No. n images (No. 64 image in the above example) are stored, and the (n + 1) -th stored image is again No. One image is stored.

これにより、バッファ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 buffer 34g. The ring buffer circuit 34 stores image data including a plurality of code images acquired at different timings for the same QR code Q in the QR code Q code image. It can correspond to a “code image storage means”. An annular storage device that can be logically stored in a circular manner by the ring buffer circuit 34 may be simply referred to as a “ring buffer”.

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

制御回路40は、二次元コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなり、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。   The control circuit 40 is a microcomputer that can control the entire two-dimensional code reader 20, and includes a CPU, a system bus, an input / output interface, and the like. The control circuit 40 is configured to be connectable to various input / output devices via a built-in input / output interface. In the case of this embodiment, the power switch 41, operation switch 42, LED 43, buzzer 44, liquid crystal. A display 46, a communication interface 48, and the like are connected.

これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取ったQRコードによるコード内容を画面表示可能な液晶表示器46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該二次元コードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。   Thereby, for example, monitoring and management of the power switch 41 and the operation switch 42, turning on / off the LED 43 functioning as an indicator, turning on / off the buzzer 44 capable of generating a beep sound and an alarm sound, and further reading the QR code This makes it possible to control the screen of the liquid crystal display 46 capable of displaying the code content by the communication, the communication control of the communication interface 48 enabling serial communication with an external device, and the like. The external devices connected to the communication interface 48 include a host computer HST corresponding to the host system of the two-dimensional code reader 20 and the like.

電源系は、電源スイッチ41、バッテリ49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、バッテリ49から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ49は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ49は不要となる。   The power supply system includes a power switch 41, a battery 49, and the like. When the power switch 41 managed by the control circuit 40 is turned on and off, the conduction of the drive voltage supplied from the battery 49 to each of the above-described devices and circuits is performed. Or shut off is controlled. The battery 49 is a secondary battery capable of generating a predetermined DC voltage, and corresponds to, for example, a lithium ion battery. Further, the battery 49 may be configured to receive power supply from an external device such as the host computer HST connected via the communication interface 48 without using the battery 49. In this case, the battery 49 is unnecessary.

このように二次元コードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、QRコードQの読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、当該二次元コードリーダ20の使用者がトリガースイッチを引いてオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。   By configuring the two-dimensional code reader 20 in this manner, for example, when the power switch 41 is turned on and a predetermined self-diagnosis process or the like is normally completed and the QR code Q can be read, the illumination light Lf An input of an operation switch 42 (for example, a trigger switch) that instructs light emission is received. Accordingly, when the user of the two-dimensional code reader 20 pulls the trigger switch to turn it on, the control circuit 40 outputs the light emission signal to the illumination light source 21 based on the synchronization signal, and thus receives the light emission signal. The illumination light source 21 emits the LED and emits illumination light Lf.

すると、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 light receiving surface 23a of the light receiving sensor 23. Is imaged. As a result, the image of the QR code Q exposes the light receiving sensor 23, so that the image data of the QR code Q processed by the microcomputer system is stored in the image data storage area of the memory 35 and the ring buffer. The circuit 34 is also stored sequentially as described above.

そして、制御回路40は、次に説明する読取処理を実行する際に、メモリ35を介して画像データを取得したり、場合によってはリングバッファ回路34から必要な画像データを取得して読み取りに必要な閾値を設定し直して読取処理を行なう。   The control circuit 40 acquires image data via the memory 35 when executing the reading process described below, or in some cases, acquires necessary image data from the ring buffer circuit 34 and is necessary for reading. The threshold value is reset and the reading process is performed.

ここで、読取処理の流れを図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 bit 0 to bit 7 can be expressed. . The data pattern DP is recorded in a data pattern area other than the function pattern area in which the finder pattern FP, the alignment pattern AP, and the timing pattern TP are arranged.

なお、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-dimensional code reader 20 needs to recognize the outline and presence of the finder pattern FP. Yes.

このように構成されるQRコードQを本実施形態に係る二次元コードリーダ20では、図3に示す読取処理によって、デコードする。即ち、図3に示すように、まずステップS101によりコード画像取得処理が行われる。この処理は、メモリ35の画像データ蓄積領域に蓄えられた画像データを読み込むものである。   In the two-dimensional code reader 20 according to the present embodiment, the QR code Q configured as described above is decoded by the reading process shown in FIG. That is, as shown in FIG. 3, first, a code image acquisition process is performed in step S101. In this process, image data stored in the image data storage area of the memory 35 is read.

ステップ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 memory 35 so as to traverse or longitudinally cross, and a predetermined threshold value (first threshold value) set in advance at the time of factory shipment or the like is used as a reference. The light / dark information is determined.

例えば、画像データが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 liquid crystal display 46, or is output to the host computer HST via the communication interface 48. On the other hand, if the decoding has not succeeded (decoding has failed) (S111; No), a code image cut-out process is performed in step S113. The determination process in step S111 can correspond to “decoding success / failure determination means” described in the claims.

ステップ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 image memory 34f of the ring buffer circuit 34 in order. The cutout range is set based on the above-described QR code Q finder pattern FP, for example.

続くステップ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 ring buffer circuit 34 has No. 1 image-No. Since 64 images are stored, when code images for 8 images (for example, No. 1 image to No. 8 image) are added from these, the predetermined number is 8 and 8 images have not been added yet. (S117; No), the process returns to step S113 to perform the code image cutting process again, and then performs the code image addition process in step S115.

これにより、所定画像分についてステップ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 liquid crystal display 46, or via the communication interface 48 to the host computer HST. And the series of reading processing is terminated. On the other hand, if the decoding has not succeeded (decoding has failed) (S123; No), since the addition code image cannot be decoded, the error information output process in step S125 is performed, and then a series of steps are performed. The reading process ends.

ステップ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-dimensional code reader 20 that a reading error has occurred on the liquid crystal display 46, or a similar message is output to the communication interface 48. To the host computer HST.

以上説明したように、本実施形態に係る二次元コードリーダ20では、リングバッファ回路34により、QRコードQのコード画像で同じQRコードQについて異なるタイミングで取得された複数のコード画像を記憶し、制御回路40による位置検出パターン検出処理(S103)により、リングバッファ回路34に記憶されたコード画像(一のコード画像)に基づいてこのコード画像に含まれるファインダパターンFP(機能パターン)を検出し、制御回路40による第1デコード処理(S109)により、ファインダパターンFPの検出に際し明暗モジュールの明暗を判別するために予め設定された所定の閾値(第1の閾値)を用いてコード画像(一のコード画像)に含まれるデータパターンDPをデコードする。   As described above, in the two-dimensional code reader 20 according to the present embodiment, the ring buffer circuit 34 stores a plurality of code images acquired at different timings for the same QR code Q in the QR code Q code image, The position detection pattern detection process (S103) by the control circuit 40 detects a finder pattern FP (functional pattern) included in the code image based on the code image (one code image) stored in the ring buffer circuit 34, By the first decoding process (S109) by the control circuit 40, a code image (one code) is used by using a predetermined threshold (first threshold) set in advance to determine the brightness of the brightness module when detecting the finder pattern FP. Data pattern DP included in (image) is decoded.

そして、制御回路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 control circuit 40 determines whether the data pattern DP has been decoded, and if it is determined that the data pattern DP has not been decoded (S111; No), By the code image addition processing (S115) by the control circuit 40, a plurality of image data constituting the code image stored in the ring buffer circuit 34, in which the degree of lightness and darkness is numerically expressed for each QR code Q module or pixel, A predetermined image (e.g., 8 images) of the code image is added and an added code image is generated based on the added image data obtained by the addition, and a control circuit is generated based on the generated added code image. Addition for discriminating the brightness of the module of QR code Q by the threshold value calculation process (S119) by 40 A threshold value (second threshold value) for the code image is set, and a data pattern included in the addition code image using the threshold value (second threshold value) for the addition code image by the second decoding process (S121) by the control circuit 40 Decode.

これにより、データパターン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-dimensional code reader 20 according to the present embodiment, the ring buffer circuit 34 receives a plurality of code images by the clock control unit 34a, the pixel counter 34b, the screen number counter 34c, the multiplexer 34d, the latch 34e, and the image memory 34f. Since each configured image data can be stored logically (endlessly) in a circular manner (annular storage device), it is wasteful compared to a non-logically circular endless storage device such as the memory 35. Difficult free space (fragment). Thereby, the storage device can be used effectively.

なお、上述した実施形態では、ステップ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 ring buffer circuit 34, and these are operated in parallel. The addition operation for each pixel of a predetermined image may be performed almost simultaneously.

例えば、リングバッファ回路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 image memory 34f of the ring buffer circuit 34. 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 are stored. If this is the case, 32 (= 64/2) adders for adding adjacent image data are provided.

図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 image memory 34f is shown. Note that eight adders are added to the image memory 34f for the addition code images C1, C2, C3, C4, C5, C6, C7, C8, D1, D2, D3, D4, D5, D6, D7, and D8. Although connected, it is omitted in FIG.

ここでは、加算コード画像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 image memory 34f in which the addition code image A1 is stored. Connect the output. Further, the addition code image A3 and the addition code image A4 are added by the adder AD2, and the addition result is output from the adder AD2 so that the addition result can be stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A2 is stored. Connect. Similarly, the addition code image A5 and the addition code image A6 are added by the adder AD3, and the addition result is stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A3 is stored. Connect the output. Similarly, the addition code image A7 and the addition code image A8 are added by the adder AD4, and the addition result is stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A4 is stored. Connect the output.

同様に、加算コード画像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 image memory 34f in which the addition code image A5 is stored. Connect the output. Similarly, the addition code image B3 and the addition code image B4 are added by the adder AD6, and the addition result is stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A6 is stored. Connect the output. Similarly, the addition code image B5 and the addition code image B6 are added by the adder AD7, and the addition result is stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A7 is stored. Connect the output. Similarly, the addition code image B7 and the addition code image B8 are added by the adder AD8, and the addition result is stored in the memory space of the predetermined address of the image memory 34f in which the addition code image A8 is stored. Connect the output.

図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 image memory 34f.

これにより、例えば、第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 image memory 34f in which the addition code images A1 to A4 are stored. Stored in the memory space.

次に、第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 image memory 34f in which the addition code images A1 to A4 are stored.

同様に、加算コード画像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 image memory 34f in which the addition code images A5 and A6 are stored. The addition results (D1, D2... D4) and (D5, D6... D8) are obtained and stored in the memory space of the predetermined address of the image memory 34f in which the addition code images A7 and A8 are stored.

そして、これらの加算の後、第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 image memory 34f.

この後、第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 image memory 34f is stored in a memory space at a predetermined address.

そして、最後に、第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 image memory 34f in which the addition code image A1 is stored.

これにより、例えば、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)=(A+A+…+An−m+2)となる(図7(A) 参照)。ここで、Aは、No.x画像(コード画像)の画像データを意味する。そして、No.(n−m+3)〜No.2のm個のコード画像の加算は、S(No.(n−m+3)〜No.2)=(A+A+…+An−m+3)=A+(A+A+…+An−m+2)−An−m+2=A+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 ring buffer circuit 34 capable of storing n code images of n images is expressed in a donut shape, no. (Nm−2) to No. The addition of 1 m code images is S (No. (n−m + 2) to No. 1 ) = (A 1 + A n +... + A n−m + 2 ) (see FIG. 7A). Here, A x is No. It means image data of x image (code image). And No. (Nm−3) to No. 2 m code images are added by S (No. (n−m + 3) to No. 2 ) = (A 2 + A n +... + A n−m + 3 ) = A 2 + (A 1 + A n +. n−m + 2 ) −A n−m + 2 = A 2 + S (No. (n−m + 2) to No. 1) −A n−m + 2 (see FIG. 7B).

このため、前回の加算演算により得られた加算画像データS(No.(n−m+2)〜No.1)から新たなコード画像の画像データAを加算し最も古いコード画像の画像データ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)=A+S(No.(n−m+2)〜No.1)−An−m+2=A+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.

本発明の一実施形態に係る二次元コード読取装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the two-dimensional code reader which concerns on one Embodiment of this invention. 図1に示すリングバッファの構成例を示すブロック図である。It is a block diagram which shows the structural example of the ring buffer shown in FIG. 本実施形態に係る二次元コード読取装置による読取処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the reading process by the two-dimensional code reader which concerns on this embodiment. QRコードの一般的な構成を示す説明図である。It is explanatory drawing which shows the general structure of QR Code. センサ信号に対する閾値の設定例を示す説明図である。It is explanatory drawing which shows the example of a setting of the threshold value with respect to a sensor signal. 並列加算処理の概念と動作例を示す説明図である。It is explanatory drawing which shows the concept and operation example of a parallel addition process. n個のコード画像を記憶できるリングバッファ回路の機能的な概念をドーナッツ形状に表現した説明図である。It is explanatory drawing which expressed the functional concept of the ring buffer circuit which can memorize | store n code images in donut shape.

符号の説明Explanation of symbols

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 SYMBOLS 21 ... Illumination light source 22 ... Imaging lens 23 ... Light receiving sensor 31 ... Amplifying circuit 33 ... A / D conversion circuit 34 ... Ring buffer circuit (code image storage means, annular storage device)
35 ... Memory 36 ... Address generation circuit 41 ... Power switch 42 ... Operation switch 43 ... LED
44 ... Buzzer 46 ... Liquid crystal display 48 ... Communication interface Q ... QR code (two-dimensional code)
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:
前記コード画像記憶手段は、前記複数のコード画像を構成する各画像データを論理的に循環状に記憶可能な環状記憶装置であることを特徴とする請求項1記載の二次元コード読取装置。   2. The two-dimensional code reading device according to claim 1, wherein the code image storage means is an annular storage device capable of logically storing each image data constituting the plurality of code images in a circular manner. 前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの増減変化量を、二次微分演算しその結果得られる二次微分値がゼロになる前記加算画像データを前記第2の閾値に設定することを特徴とする請求項1または2記載の二次元コード読取装置。   The threshold value setting means performs a second derivative operation on the increase / decrease change amount of the added image data for each of the pixels constituting the addition code image adjacent to each other in a row, and a second derivative value obtained as a result of the second derivative operation is obtained. 3. The two-dimensional code reader according to claim 1, wherein the added image data that becomes zero is set to the second threshold value. 前記閾値設定手段は、前記加算コード画像を構成する画素で列状に隣り合って並んだ画素ごとの前記加算画像データの総和を、当該列を構成する画素数で除して得られる平均値を前記第2の閾値に設定することを特徴とする請求項1または2記載の二次元コード読取装置。   The threshold setting means obtains an average value obtained by dividing the sum of the addition image data for each pixel arranged adjacent to each other in a column with the pixels constituting the addition code image by the number of pixels constituting the column. 3. The two-dimensional code reader according to claim 1, wherein the second threshold is set to the second threshold value. 前記コード画像加算手段は、前記所定画像分の画像数の1/2以上の加算器を備えており、これらを並列に動作させ前記所定画像分の各画素ごとにの加算演算をほぼ同時に行うことにより、前記加算画像データを求めて前記加算コード画像を生成することを特徴とする請求項1〜4のいずれか一項に記載の二次元コード読取装置。   The code image addition means includes an adder of 1/2 or more of the number of images for the predetermined image, and operates these in parallel to perform the addition operation for each pixel for the predetermined image almost simultaneously. 5. The two-dimensional code reading device according to claim 1, wherein the addition code image is generated by obtaining the addition image data. 前記コード画像加算手段は、前記加算画像データを求めるのに用いた前記所定画像分の画像データのうち最も古い画像データを当該加算画像データから除くとともに最も新しい画像データを当該加算画像データに加えて、新たな前記加算画像データを求め前記加算コード画像を生成することを特徴とする請求項1〜4のいずれか一項に記載の二次元コード読取装置。   The code image adding means removes the oldest image data from the added image data and adds the newest image data to the added image data from among the image data for the predetermined image used to obtain the added image data. 5. The two-dimensional code reading device according to claim 1, wherein new addition image data is obtained and the addition code image is generated. 6.
JP2008086557A 2008-03-28 2008-03-28 Two-dimensional code reader Active JP4957616B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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