JP2003036416A - Barcode reader - Google Patents
Barcode readerInfo
- Publication number
- JP2003036416A JP2003036416A JP2002192271A JP2002192271A JP2003036416A JP 2003036416 A JP2003036416 A JP 2003036416A JP 2002192271 A JP2002192271 A JP 2002192271A JP 2002192271 A JP2002192271 A JP 2002192271A JP 2003036416 A JP2003036416 A JP 2003036416A
- Authority
- JP
- Japan
- Prior art keywords
- light
- data
- dark pattern
- bar
- pattern 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、スタートバー及び
エンドバーによって挟まれてなるバーコードの読取装置
及び読取方法に関し、特に、スタートバーを含むがエン
ドバーを含まない読取データとエンドバーを含むがスタ
ートバーを含まない読取データとを合成することによっ
てバーコード全体による読取データを獲得するバーコー
ドの読取装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bar code reading apparatus and a method for reading a bar code sandwiched by a start bar and an end bar, and more particularly to a start bar including read data including the start bar but not the end bar and the end bar. The present invention relates to a bar code reading device that obtains read data based on the entire bar code by synthesizing the read data that does not include the.
【0002】[0002]
【従来の技術】近年、流通業等におけるPOSシステム
に代表されるように、商品等の管理をバーコードによっ
て行うことが一般化している。例えば、商店のPOSシ
ステムでは、商品の種類や販売価格等の情報をバーコー
ドのフォーマットにコード化して商品に貼り付けてお
く。そして、レジにてこのバーコードを読み取ることに
よって、精算を行うとともに、商品の売り上げ数をリア
ルタイムで集計し、在庫管理や仕入れ管理に役立てるよ
うにしている。2. Description of the Related Art In recent years, as represented by POS systems in the distribution industry and the like, it has become common to manage products and the like by bar codes. For example, in a POS system of a store, information such as a product type and a selling price is coded in a barcode format and attached to the product. Then, by reading this bar code at the cash register, the payment is made and the number of products sold is calculated in real time, which is useful for inventory management and purchase management.
【0003】ところで、このようなバーコードは、WP
CコードやUPCコードやEANコード等の固定長コー
ドと、可変長のセカンドコードに大別される。この可変
長コードとは、規格上長さ(バーの数)の定めがないコ
ードであり、例えば、ITF(Interleaved Two of Fiv
e)コード,CODE39,NW7,CODE128,
等が挙げられる。By the way, such a bar code is WP
It is roughly classified into fixed length codes such as C code, UPC code and EAN code, and variable length second code. The variable length code is a code whose length (the number of bars) is not defined in the standard, and is, for example, ITF (Interleaved Two of Fiv).
e) Code, CODE39, NW7, CODE128,
Etc.
【0004】上記した固定長コードは、前後両端に付加
されるガードバーと中間部に挿入されるセンターバーと
を有し、各ガードバーとセンターバーとの間に各々4又
は6キャラクタのデータキャラクタが格納されている。
この場合、前半のデータキャラクタのみが読み取られて
も、このデータキャラクタが先端側のガードバー及びセ
ンターバーに挟まれていることから、バーコードを構成
するデータであると認識され得る。同様に、後半のデー
タキャラクタのみが読み取られても、このデータキャラ
クタがセンターバー及び後端側のガードバーに挟まれて
いることから、バーコードを構成するデータであると認
識され得る。従って、バーコードを構成する前半のデー
タキャラクタ及び後半のデータキャラクタを別個に読み
取ったデータに基づいて、バーコード全体による読取デ
ータを合成することができる。The above-mentioned fixed length code has a guard bar added to both front and rear ends and a center bar inserted in the middle part, and 4 or 6 data characters are stored between each guard bar and the center bar. Has been done.
In this case, even if only the first half data character is read, since this data character is sandwiched between the guard bar and the center bar on the tip side, it can be recognized as the data forming the barcode. Similarly, even if only the latter half of the data character is read, it can be recognized as the data forming the barcode because the data character is sandwiched between the center bar and the guard bar on the rear end side. Therefore, the read data of the entire barcode can be combined based on the data obtained by separately reading the first half data character and the second half data character that form the barcode.
【0005】これに対して、セカンドコードは、図9に
示すように、前端側にスタートバー(スタートキャラク
タ)SB,後端側にエンドバー(エンドキャラクタ)E
Bを有し、両バーの間に可変長のデータキャラクタDC
を格納している。そして、従来のバーコード読取装置
は、固定長コードの場合と同じように、両端がバーに囲
まれているデータのみを、バーコードを構成するデータ
キャラクタDCであると認識していた。On the other hand, as shown in FIG. 9, the second code has a start bar (start character) SB on the front end side and an end bar (end character) E on the rear end side.
Data character DC having variable length B and having a length between both bars
Is stored. Then, as in the case of the fixed length code, the conventional barcode reading apparatus recognizes only the data having both ends surrounded by the bar as the data character DC forming the barcode.
【0006】従って、従来のバーコード読取装置は、図
10において“C”によって示されるように、スタート
バーSB及びエンドバーEBによって挟まれたバーコー
ド全体を一気に読み取ったデータキャラクタのみしか、
バーコードを構成するデータであると認識できなかっ
た。即ち、図10において“A”によって示されるスタ
ートバーを含むがエンドバーを含まない読取データ,及
び、“B”によって示されるエンドバーを含むがスター
トバーを含まない読取データは、バーコードを構成する
データキャラクタDCとは認識されないので、これらデ
ータに基づいてバーコード全体による読取りデータを合
成することができなかった。Therefore, the conventional bar code reading apparatus, as shown by "C" in FIG. 10, shows only the data character in which the entire bar code sandwiched by the start bar SB and the end bar EB is read all at once.
It could not be recognized as the data that constitutes the barcode. That is, in FIG. 10, the read data including the start bar indicated by "A" but not including the end bar and the read data including the end bar indicated by "B" but not including the start bar are the data forming the barcode. Since it is not recognized as the character DC, the read data of the entire bar code cannot be synthesized based on these data.
【0007】この従来のバーコード読取装置によるデー
タ読取処理を、図15に示す。このデータ読取処理のス
タート後最初のS501では、初期設定を実行する。即
ち、読取り対象のセカンドコードのデータキャラクタ長
(読取桁数)を設定する。FIG. 15 shows a data reading process by the conventional bar code reading device. In the first step S501 after the start of the data reading process, the initial setting is executed. That is, the data character length (reading digit number) of the second code to be read is set.
【0008】次のS502では、スタートバーの検出を
待つ。即ち、読み取ったデータがスタートバーを含んで
いたかどうかをチェックする。スタートバーが検出され
た場合に実行されるS503では、エンドバーの検出を
チェックする。即ち、読み取ったデータがエンドバーを
含んでいたかどうかをチェックする。エンドバーが検出
されなかった場合には、読み取ったデータが両バーを含
んでいないため、バーコードを構成するデータである保
障がないとして、処理をS502に戻す。In the next S502, the detection of the start bar is awaited. That is, it is checked whether the read data includes the start bar. In S503 executed when the start bar is detected, the end bar detection is checked. That is, it is checked whether the read data includes the end bar. If the end bar is not detected, the read data does not include both bars, so that the process is returned to S502 because it is not guaranteed that the data is the data forming the barcode.
【0009】両バーが検出された場合に実行されるS5
04では、第1キャラクタ(スタートバーに隣接するキ
ャラクタ)の長さをチェックする。そして、第1キャラ
クタの長さが規格外であると、処理をS502に戻す。
これに対して、第1キャラクタの長さが規格通りである
と、S505において、第1キャラクタを対応するデー
タに変換する。S5 executed when both bars are detected
In 04, the length of the first character (character adjacent to the start bar) is checked. Then, if the length of the first character is out of the standard, the process returns to S502.
On the other hand, if the length of the first character is in conformity with the standard, the first character is converted into corresponding data in S505.
【0010】次のS506では、隣接キャラクタの長さ
をチェックする。そして、このキャラクタの長さが規格
外であると、処理をS502に戻す。これに対して、こ
のキャラクタの長さが規格通りであると、S507にお
いて、このキャラクタを対応するデータに変換する。In step S506, the length of the adjacent character is checked. Then, if the length of this character is out of the standard, the process is returned to S502. On the other hand, if the length of this character is in conformity with the standard, this character is converted into corresponding data in S507.
【0011】次のS508では、S505及びS507
によるデータ復調が良好であるかどうかをチェックす
る。そして、データ復調が不調であると、処理をS50
2に戻す。At the next step S508, steps S505 and S507 are performed.
Check if the data demodulation by is good. Then, if the data demodulation is not successful, the process proceeds to S50.
Return to 2.
【0012】これに対してデータ復調が良好であると、
S509において、隣接キャラクタ(S507による処
理対象となったキャラクタに隣接するキャラクタ)がエ
ンドキャラクタ(エンドバー)又はスタートキャラクタ
(スタートバー)であるか否かを、チェックする。そし
て、エンドキャラクタ及びスタートキャラクタ以外であ
る場合には、処理をS506に戻し、この隣接キャラク
タに対する復調を行う。On the other hand, if the data demodulation is good,
In S509, it is checked whether the adjacent character (the character adjacent to the character that is the processing target in S507) is the end character (end bar) or the start character (start bar). Then, if it is other than the end character and the start character, the process is returned to S506 to demodulate the adjacent character.
【0013】これに対して、エンドキャラクタ又はスタ
ートキャラクタである場合には、全てのデータキャラク
タの復調が完了したとして、S510において、復調し
たデータを格納する。そして、次のS511において、
復調したデータをデータ処理装置に送信し、次のバーコ
ードの復調のために処理をS502に戻す。On the other hand, if it is the end character or the start character, it is determined that the demodulation of all the data characters is completed, and the demodulated data is stored in S510. Then, in the next S511,
The demodulated data is transmitted to the data processing device, and the process returns to S502 for demodulation of the next bar code.
【0014】[0014]
【発明が解決しようとする課題】しかしながら、一般的
にセカンドバーは、その幅W(図9参照)が狭いトラン
ケートラベルである。従って、例えば固定式の走査装置
によってバーコード上を種々の方向に走査して得られる
種々のデータの中でも、図10において“C”で示され
るようにスタートバーSB及びエンドバーEBを含む読
取りデータ(以下、「連続読みデータ」という)は、極
端に少ない。従って、従来の読取り装置では、バーコー
ドの読取りが完了するまでに長時間を要したり、読取り
が完了するまでに何度も走査方向を修正しなければなら
なかった。However, generally, the second bar is a truncated label having a narrow width W (see FIG. 9). Therefore, for example, among various data obtained by scanning a barcode in various directions by a fixed scanning device, read data including a start bar SB and an end bar EB as indicated by "C" in FIG. Hereinafter, "continuous reading data") is extremely small. Therefore, in the conventional reader, it took a long time to complete the reading of the bar code, and the scanning direction had to be corrected many times before the reading was completed.
【0015】本発明の課題は、以上の問題点に鑑み、デ
ータの誤読を極力抑える手段を採用することにより、図
10において“A”によって示されるスタートバーを含
むがエンドバーを含まない読取データ,及び、“B”に
よって示されるエンドバーを含むがスタートバーを含ま
ない読取データに基づいてバーコード全体による読取り
データの合成を可能とし、走査方向の頻繁な修正を要す
ることなく短時間でバーコードの読取りを完了すること
ができるバーコード読取装置を、提供することである。In view of the above problems, an object of the present invention is to adopt a means for suppressing misreading of data as much as possible, so that read data including a start bar indicated by "A" in FIG. 10 but not including an end bar, Also, it enables the synthesis of read data by the entire barcode based on the read data including the end bar but not including the start bar indicated by "B", and the barcode can be read in a short time without frequent correction in the scanning direction. The object is to provide a bar code reader capable of completing reading.
【0016】[0016]
【課題を解決するための手段】本発明によるバーコード
読取装置は、上記課題を解決するため、図1の原理図に
示した通り、第1のバー(100a)及び第2のバー
(100b)によって両端が挟まれたバーコード(10
0)を走査して、その走査軌跡における明暗パターンデ
ータ列を検出する明暗パターン検出手段(101)と、
前記明暗パターン検出手段によって検出された前記明暗
パターンデータ列をキャラクタ毎に分断して対応する前
記他の形式のデータに変換するデータ変換手段と、前記
第1のバー(100a)を含むが前記第2のバー(10
0b)を含まない前記データ変換手段によって変換され
た第1の明暗パターンデータ列と前記第2のバー(10
0b)を含むが前記第1のバー(100a)を含まない
前記データ変換手段によって変換された第2の明暗パタ
ーンデータ列とが前記明暗パターン検出手段(101)
によって検出されたときに、同じデータからなる重複部
がこれら第1の明暗パターンデータ列と第2の明暗パタ
ーンデータ列とに夫々含まれているか否かを判定する重
複部判定手段(102)と、前記第1の明暗パターンデ
ータ列及び第2の明暗パターンデータ列に前記重複部が
夫々含まれているとこの重複部判定手段(102)によ
って判定された場合に、これら第1の明暗パターンデー
タ列及び第2の明暗パターンデータ列を結合する結合手
段(103)と、前記重複部のキャラクタ数のしきい値
を予め設定するしきい値設定手段と、前記第1の明暗パ
ターンデータ列と前記第2の明暗パターンデータ列とに
夫々含まれている重複部のキャラクタ数が前記しきい値
より少ないかどうかを比較する比較手段と、前記比較手
段による比較の結果、前記重複部のキャラクタ数が前記
しきい値より少なかった場合に、前記重複部判定手段に
よる前記判定を新たに前記明暗パターン検出手段によっ
て検出された前記第1の明暗パターンデータ列と前記第
2の明暗パターンデータ列に対して実行させる判定再実
行手段とを備えたことを特徴とする。In order to solve the above-mentioned problems, the bar code reader according to the present invention has a first bar (100a) and a second bar (100b) as shown in the principle diagram of FIG. A bar code (10
0), and a light and dark pattern detecting means (101) for detecting a light and dark pattern data string in the scanning locus,
Data conversion means for dividing the light / dark pattern data sequence detected by the light / dark pattern detection means into data of the other format corresponding to each character, and the first bar (100a) are included. 2 bars (10
0b) is not included in the first light-dark pattern data string converted by the data converting unit and the second bar (10).
0b) but not the first bar (100a) and the second light-dark pattern data string converted by the data converting means is the light-dark pattern detecting means (101).
And an overlapping portion determination unit (102) that determines whether or not an overlapping portion formed of the same data is included in each of the first light-dark pattern data sequence and the second light-dark pattern data sequence when detected by , The first bright-dark pattern data string and the second bright-dark pattern data string each include the overlapping portion, when the overlapping portion determining means (102) determines that the first bright-dark pattern data A combination means (103) for connecting the column and the second light / dark pattern data row, a threshold setting means for presetting a threshold value of the number of characters of the overlapping portion, the first light / dark pattern data row and the The comparison means for comparing whether or not the number of characters of the overlapping portion included in the second light-dark pattern data string is smaller than the threshold value, and the comparison result by the comparison means. When the number of characters in the overlapping portion is less than the threshold value, the determination made by the overlapping portion determining means is newly detected by the bright / dark pattern detecting means, and the first bright / dark pattern data string and the second And a judgment re-execution means for executing the light-dark pattern data sequence.
【0017】本発明のバーコード読取装置によれば、明
暗パターン検出手段(101)は、第1のバー(100
a)及び第2のバー(100b)によって両端が挟まれ
たバーコード(100)を走査して、その走査軌跡にお
ける明暗パターンデータ列を検出する。この明暗パター
ン検出手段(101)によって検出され、データ変換手
段によって変換された明暗パターンデータ列が、第1の
バー(100a)を含むが第2のバー(100b)を含
まない走査軌跡における第1の明暗パターンデータ列,
及び、第2のバー(100b)を含むが第1のバー(1
00a)を含まない走査軌跡における第2の明暗パター
ンデータ列であった場合に、重複部判定手段(102)
は、同じデータからなる重複部がこれら第1の明暗パタ
ーンデータ列と第2の明暗パターンデータ列とに夫々含
まれているか否かを判定する。また、該記重複部に含ま
れるキャラクタ数のしきい値を予めしきい値設定手段で
設定し、前記第1の明暗パターンデータ列と前記第2の
明暗パターンデータ列とに夫々含まれている重複部のキ
ャラクタ数が前記しきい値より少ないかどうかを比較手
段で比較し、前記比較手段による比較の結果、前記重複
部のキャラクタ数が前記しきい値より少なかった場合、
判定再実行手段によって前記重複部判定手段による前記
判定を、新たに前記明暗パターン検出手段によって検出
された前記第1の明暗パターンデータ列と前記第2の明
暗パターンデータ列に対して実行させる。このように重
複部判定手段(102)が、前記第1の明暗パターンデ
ータ列及び第2の明暗パターンデータ列に前記重複部が
夫々含まれていると判定し、且つ、重複部に含まれてい
るキャラクタ数がしきい値より多い場合には、これら第
1の明暗パターンデータ列及び第2の明暗パターンデー
タ列を結合する。この結果、第1の明暗パターンデータ
列と第2の明暗パターンデータ列とが充分にオーバーラ
ップしている場合のみ、結合を行うことになる。よっ
て、データの誤読が極力抑えられるので、これらの明暗
パターンデータ列に基づいてバーコード全体による読取
りデータを合成することが可能となる。従って、走査方
向の頻繁な修正を要することなく短時間でバーコードの
読取りを完了することができるようになる。また、重複
したキャラクタ数がしきい値より少ない場合には、再度
明暗パターンデータ列を読み出して判定することができ
るので、誤読データの混入の可能性があったとしても、
その混入を防止することができる。According to the bar code reading apparatus of the present invention, the light and dark pattern detecting means (101) includes the first bar (100).
The bar code (100) whose both ends are sandwiched by a) and the second bar (100b) is scanned to detect a bright / dark pattern data string in the scanning locus. The light / dark pattern data string detected by the light / dark pattern detecting means (101) and converted by the data converting means includes the first bar (100a) but does not include the second bar (100b). Light and dark pattern data sequence of
And a second bar (100b) but a first bar (1
(00a) does not include the second light-dark pattern data sequence in the scanning locus, the overlapping portion determination means (102)
Determines whether or not the first light-dark pattern data string and the second light-dark pattern data string each include an overlapping portion formed of the same data. A threshold value for the number of characters included in the overlapping portion is set in advance by the threshold value setting means, and is included in each of the first light-dark pattern data string and the second light-dark pattern data string. If the number of characters in the overlapping portion is smaller than the threshold value, the comparing means compares the results, and as a result of the comparison by the comparing means, if the number of characters in the overlapping portion is less than the threshold value,
The determination re-execution unit executes the determination by the overlapping portion determination unit on the first bright-dark pattern data sequence and the second bright-dark pattern data sequence newly detected by the bright-dark pattern detection unit. In this way, the overlapping part determination means (102) determines that the first bright-dark pattern data string and the second bright-dark pattern data string each include the overlapping part, and the overlapping part is included in the overlapping part. When the number of existing characters is larger than the threshold value, the first light / dark pattern data string and the second light / dark pattern data string are combined. As a result, the combination is performed only when the first light-dark pattern data string and the second light-dark pattern data string sufficiently overlap each other. Therefore, erroneous reading of data can be suppressed as much as possible, and it is possible to synthesize read data of the entire bar code based on these bright and dark pattern data strings. Therefore, it becomes possible to complete the reading of the bar code in a short time without requiring frequent correction in the scanning direction. Further, when the number of duplicate characters is less than the threshold value, it is possible to read and determine the light and dark pattern data string again, so even if there is a possibility of misreading data,
The mixture can be prevented.
【0018】以下、本発明の構成要件を説明する。
(明暗パターン検出手段)明暗パターン検出手段は、明
暗パターンを光学的に読み取っても良いが、その場合に
おいて、発光部から出射される照射光を走査しても良い
し、受光部を走査しても良い。
(バーコード)バーコードは、所定の固定パターンから
なる第1のバー及び第2のバーによって挟まれたバーコ
ードであれば良いので、固定長であるか可変長であるか
を問わない。可変長のバーコードとする場合には、CO
DE128,CODE39,ITF,NW7,等とする
ことができる。The constituent features of the present invention will be described below. (Brightness / darkness pattern detecting means) The bright / darkness pattern detecting means may optically read the bright / dark pattern, but in that case, the irradiation light emitted from the light emitting portion may be scanned or the light receiving portion may be scanned. Is also good. (Barcode) The barcode may be a fixed length or a variable length, as long as it is a barcode sandwiched between a first bar and a second bar having a predetermined fixed pattern. When using a variable-length bar code, CO
It can be DE128, CODE39, ITF, NW7, etc.
【0019】これらの何れであっても、バーコードは、
他の形式のデータ(コードデータ)に夫々対応する複数
のキャラクタから構成されている。この場合、バーコー
ド読取装置は、明暗パターン検出手段によって検出され
た明暗パターンデータ列をこのキャラクタ毎に分断して
対応する他の形式のデータに変換するデータ変換手段を
更に備えていても良い。その場合、重複部判定手段は、
このデータ変換手段によって他の形式のデータに変換さ
れた前記第1の明暗パターンデータ列及び前記第2の明
暗パターンデータ列に対して前記判定を行う。このよう
にすれば、キャラクタを構成し得ないノイズを除去した
上で処理を進めることができるので、データの誤読を更
に防止することができる。In any of these, the bar code is
It is composed of a plurality of characters respectively corresponding to other types of data (code data). In this case, the bar code reading device may further include a data conversion unit that divides the light-dark pattern data string detected by the light-dark pattern detection unit into each character and converts the divided data into data of another corresponding format. In that case, the overlapping portion determination means
The determination is performed on the first light-dark pattern data string and the second light-dark pattern data string that have been converted into data of another format by the data converting means. By doing this, the processing can be performed after removing the noise that cannot form the character, so that the erroneous reading of the data can be further prevented.
【0020】また、このバーコード読取装置の読取対象
たるバーコードのキャラクタ数を特定するキャラクタ数
特定手段を更に備えても良い。
(重複部判定手段)重複部判定手段は、第1の明暗パタ
ーンデータ列のキャラクタ数と第2の明暗パターンデー
タ列のキャラクタ数との総和を算出する総和算出手段
と、キャラクタ数特定手段によって特定されたキャラク
タ数と総和算出手段によって算出された総和とを比較す
る比較手段とを有するとともに、比較手段による比較の
結果前記総和が前記特定されたキャラクタ数を超えてい
た場合のみ上述の判定を行うようにしても良い。前記総
和が前記特定されたバーコードのキャラクタ数を超えて
いなければ重複部はあり得ないので、上述の判定を行う
意味がないからである。Further, a character number specifying means for specifying the number of characters of the bar code to be read by the bar code reader may be further provided. (Overlapping part determining means) The overlapping part determining means is specified by a total sum calculating means for calculating the sum of the number of characters in the first light-dark pattern data string and the number of characters in the second light-dark pattern data string, and the character number specifying means. The above-mentioned determination is performed only when the total number calculated by the total sum calculation unit is compared with the total number calculated by the total sum calculation unit, and the total sum exceeds the specified number of characters as a result of comparison by the comparison unit. You may do it. This is because it is meaningless to make the above determination because there can be no overlapping portion unless the total sum exceeds the number of characters of the specified barcode.
【0021】また、重複部判定手段は、第1の明暗パタ
ーンデータ列のキャラクタ数と第2の明暗パターンデー
タ列のキャラクタ数との総和を算出する総和算出手段
と、キャラクタ数特定手段によって特定されたキャラク
タ数に対応する合成桁数を設定する合成桁数設定手段
と、この合成桁数設定手段によって設定された合成桁数
と総和算出手段によって算出された総和とを比較する比
較手段とを有するとともに、比較手段による比較の結果
前記総和が前記合成桁数を超えていた場合のみ前記判定
を行うようにしても良い。合成桁数を可変にすることに
より、重複部のキャラクタ数の下限値を可変にすること
ができる。その結果、設定されたバーコードのキャラク
タ数に応じて重複部のキャラクタ数の下限値を可変にす
ることによって、誤読によるデータの混入を更に防止す
ることができるからである。Further, the overlapping portion determining means is specified by a total sum calculating means for calculating the total sum of the number of characters in the first light / dark pattern data string and the number of characters in the second light / dark pattern data string, and the character number specifying means. And a comparing means for comparing the combined digit number set by the combined digit number setting means with the total sum calculated by the total sum calculating means. At the same time, the determination may be performed only when the total sum exceeds the combined digit number as a result of comparison by the comparison means. By changing the number of composite digits, the lower limit of the number of characters in the overlapping portion can be changed. As a result, by mixing the lower limit of the number of characters in the overlapping portion in accordance with the set number of characters of the barcode, it is possible to further prevent the mixing of data due to erroneous reading.
【0022】なお、この合成桁数設定手段は、キャラク
タ数特定手段によって特定された前記キャラクタ数が大
きくなるにつれて前記合成桁数を大きく設定するように
することが望ましい。特定されたキャラクタ数が大きく
なると両明暗パターンデータ列において、誤読によって
偶然同じパターンが混入してしまう確率も高くなるか
ら、しきい値をより高くすることによって誤読データの
混入を防止できるからである。It is desirable that the composite digit number setting means sets the composite digit number larger as the character number specified by the character number specifying means increases. This is because if the number of specified characters becomes large, the probability that the same pattern will accidentally be mixed due to misreading in both light and dark pattern data strings can be increased, so that misread data can be prevented from being mixed by increasing the threshold value. .
【0023】本発明の構成に、以下の構成要件を加えて
も良い。
<有効キャラクタ数設定手段,廃棄手段>キャラクタ数
特定手段によって特定されたキャラクタ数に対応する明
暗パターンデータ列の有効キャラクタ数を設定する有効
キャラクタ数設定手段と、この有効キャラクタ数設定手
段によって設定された有効キャラクタ数未満のキャラク
タ数の明暗パターンデータ列を廃棄する廃棄手段とを更
に備えても良い。このようにすれば、極端に短い明暗パ
ターンデータ列を除去することができる。このような短
い明暗パターンデータ列は、誤読データと外見上見分け
がつかない場合がある。従って、このような短い明暗パ
ターンデータ列を除去することによって、誤読データの
混入を極力抑えることができるからである。The following constitutional requirements may be added to the constitution of the present invention. <Effective character number setting means, discarding means> Effective character number setting means for setting the effective character number of the light and dark pattern data string corresponding to the character number specified by the character number specifying means, and the effective character number setting means. Further, a discarding means for discarding the light and dark pattern data string having the number of characters less than the number of effective characters may be further provided. In this way, extremely short bright and dark pattern data strings can be removed. Such a short light-dark pattern data string may be indistinguishable from the misread data in appearance. Therefore, by removing such a short light-dark pattern data string, the mixture of misread data can be suppressed as much as possible.
【0024】なお、有効キャラクタ数設定手段は、キャ
ラクタ数特定手段によって特定された前記キャラクタ数
が大きくなるにつれて前記有効キャラクタ数を大きく設
定するようにすることが望ましい。特定されたキャラク
タ数が大きくなると誤読によるデータが明暗パターンデ
ータ列と一見同じ形態をとる可能性も高くなるから、し
きい値をより高くすることによって誤読データの混入を
防止できるからである。
<しきい値決定手段,比較手段,判定再実行手段>キャ
ラクタ数特定手段によって特定されたキャラクタ数に対
応する重複部のキャラクタ数のしきい値を設定するしき
い値設定手段と、第1の明暗パターンデータ列と第2の
明暗パターンデータ列とに夫々含まれている重複部のキ
ャラクタ数がしきい値より少ないかどうかを比較する比
較手段と、この比較手段による比較の結果、重複部のキ
ャラクタ数がしきい値より少なかった場合に、重複部判
定手段による上述の判定を新たに明暗パターン検出手段
によって検出された第1の明暗パターンデータ列と第2
の明暗パターンデータ列に対して実行させる判定再実行
手段とを更に備えても良い。このように構成すれば、重
複したキャラクタ数がしきい値より少ない場合には、再
度明暗パターンデータ列を読み出して判定することがで
きるので、誤読データの混入の可能性があったとして
も、その混入を防止することができる。また、このしき
い値は、キャラクタ数設定手段によって設定されたキャ
ラクタ数に応じて可変するので、バーコードのキャラク
タ数に応じて誤読データの混入の可能性を極力抑えるこ
とができる。It is preferable that the effective character number setting means sets the effective character number to be larger as the number of characters specified by the character number specifying means increases. This is because, if the number of specified characters becomes large, there is a high possibility that the data due to erroneous reading will have the same form as the bright and dark pattern data sequence at first glance. <Threshold deciding means, comparing means, determination re-executing means> Threshold setting means for setting a threshold value of the number of characters in the overlapping portion corresponding to the number of characters specified by the number-of-characters specifying means; Comparison means for comparing whether or not the number of characters in the overlapping portion included in each of the light and dark pattern data string and the second light and dark pattern data string is less than a threshold value, and as a result of the comparison by the comparing means, When the number of characters is less than the threshold value, the above-mentioned determination by the overlapping part determination means is newly detected by the light / dark pattern detection means, and the first light / dark pattern data sequence and the second
And a determination re-execution unit for executing the light-dark pattern data sequence. With this configuration, when the number of duplicated characters is less than the threshold value, the light and dark pattern data string can be read again for determination, so that even if there is a possibility of misreading data, Mixing can be prevented. Further, since this threshold value is varied according to the number of characters set by the character number setting means, it is possible to minimize the possibility of misreading data being mixed depending on the number of characters of the barcode.
【0025】なお、しきい値設定手段は、前記キャラク
タ数設定手段によって設定された前記キャラクタ数が大
きくなるにつれて前記しきい値のキャラクタ数を大きく
設定することが望ましい。設定されたキャラクタ数が大
きくなると各明暗パターンデータ列に含まれるキャラク
タが誤読によって偶然同じ形態をとる可能性も高くなる
から、しきい値をより高くすることによって誤読データ
の混入を防止できるからである。It is preferable that the threshold value setting means sets the threshold character number to a larger value as the character number set by the character number setting means increases. If the number of set characters becomes large, it is more likely that the characters included in each light / dark pattern data string will accidentally take the same form due to erroneous reading.Therefore, it is possible to prevent erroneous reading data from being mixed by increasing the threshold value. is there.
【0026】本発明によるバーコード読取方法は、第1
のバー及び第2のバーによって両端が挟まれたバーコー
ドを走査して、その走査軌跡における明暗パターンデー
タ列を検出し、前記第1のバーを含むが前記第2のバー
を含まない前記走査軌跡における第1の明暗パターンデ
ータ列と前記第2のバーを含むが前記第2のバーを含ま
ない走査軌跡における第2の明暗パターンデータ列とが
前記明暗パターン検出手段によって検出されたときに、
同じデータからなる重複部がこれら第1の明暗パターン
データ列と第2の明暗パターンデータ列とに夫々含まれ
ているか否かを判定し、前記第1の明暗パターンデータ
列及び第2の明暗パターンデータ列に前記重複部が含ま
れていると判定された場合に、これら第1の明暗パター
ンデータ列及び第2の明暗パターンデータ列を結合す
る。The barcode reading method according to the present invention is a first method.
Scanning the bar code whose both ends are sandwiched by the first bar and the second bar to detect the bright and dark pattern data sequence in the scanning locus, and the scanning including the first bar but not the second bar When the first light-dark pattern data string in the locus and the second light-dark pattern data string in the scanning locus including the second bar but not the second bar are detected by the light-dark pattern detecting means,
It is determined whether or not the first light-dark pattern data sequence and the second light-dark pattern data sequence each include an overlapping portion formed of the same data, and the first light-dark pattern data sequence and the second light-dark pattern are determined. When it is determined that the data string includes the overlapping portion, the first light-dark pattern data string and the second light-dark pattern data string are combined.
【0027】[0027]
【発明の実施の形態】以下、図面に基づいて、本発明の
実施の態様の説明を行う。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0028】[実施形態1]図2は本発明の第1実施形
態によるバーコード読取装置の概略構成を示すブロック
図である。
(全体構成)図2において、レーザー光源1は、レーザ
ービームLを出射する半導体レーザである。このレーザ
光源1から出射されたレーザービームLは、走査/集光
光学系2に入射される。この走査/集光光学系2は、ポ
リゴンミラーによってレーザービームLを偏向するとと
もに、偏向されたレーザビームを複数の固定ミラーで種
々の方向に反射させる光学系である。この走査/集光光
学系2によると、ポリゴンミラーの一反射面による偏向
周期内で、この走査/集光光学系2の上方に向けて、複
数の方向へのレーザビーム走査が連続的に高速で行われ
る。このようにして走査されたレーザビームLが商品3
の表面に当たると、この表面においてレーザビームLが
乱反射され、その反射光Rの一部が走査/集光光学系2
に戻る。[First Embodiment] FIG. 2 is a block diagram showing the schematic arrangement of a bar code reading apparatus according to the first embodiment of the present invention. (Overall Structure) In FIG. 2, a laser light source 1 is a semiconductor laser that emits a laser beam L. The laser beam L emitted from the laser light source 1 is incident on the scanning / focusing optical system 2. The scanning / focusing optical system 2 is an optical system that deflects the laser beam L by a polygon mirror and reflects the deflected laser beam in various directions by a plurality of fixed mirrors. According to the scanning / focusing optical system 2, laser beam scanning in a plurality of directions is continuously performed at high speed in the upward direction of the scanning / focusing optical system 2 within a deflection cycle by one reflecting surface of the polygon mirror. Done in. The laser beam L scanned in this manner is used as the product 3
When it hits the surface of the laser beam L, the laser beam L is diffusely reflected on this surface, and a part of the reflected light R is scanned / focused by the optical system 2.
Return to.
【0029】走査/集光光学系2は、この反射光Rを光
検知器4にリレーする。光検知器4は、レーザビームL
(反射光R)と同じ波長の光のみを透過するフィルタが
被せられたホトダイオードであり、反射光Rの強度変化
に応じた電流を二値化回路5に入力する。The scanning / focusing optical system 2 relays the reflected light R to the photodetector 4. The photodetector 4 uses the laser beam L
It is a photodiode covered with a filter that transmits only light having the same wavelength as (reflected light R), and inputs a current corresponding to a change in intensity of reflected light R to the binarization circuit 5.
【0030】二値化回路5は、光検知器4から入力され
た電流値を電圧値に変換するとともに、変換された電圧
値を所定のしきい値と比較して、方形波信号に波形整形
する。この方形波信号は、反射光Rの強度が商品3上の
バーコード3a中の白バーの反射率に対応する場合には
“H”を示し、反射光Rの強度が商品3上のバーコード
3a中の黒バーの反射率に対応する場合には“L”を示
す。二値化回路5は、この方形波信号の立ち上がり(白
エッジ)と立ち下がり(黒エッジ)とを夫々検出し、白
エッジに同期して白エッジパルス(WEG)を出力する
とともに、黒エッジに同期して黒エッジパルス(BE
G)を出力する。The binarization circuit 5 converts the current value input from the photodetector 4 into a voltage value, compares the converted voltage value with a predetermined threshold value, and shapes the waveform into a square wave signal. To do. This square wave signal indicates “H” when the intensity of the reflected light R corresponds to the reflectance of the white bar in the barcode 3 a on the product 3, and the intensity of the reflected light R is the barcode on the product 3. When it corresponds to the reflectance of the black bar in 3a, "L" is shown. The binarization circuit 5 detects the rising edge (white edge) and the falling edge (black edge) of the square wave signal, outputs a white edge pulse (WEG) in synchronization with the white edge, and outputs the square edge signal to the black edge. Black edge pulse (BE
G) is output.
【0031】バー幅カウンタ6は、二値化回路5から入
力された白エッジパルス(WEG)及び黒エッジパルス
(BEG)に基づいて、白エッジパルス(WEG)のタ
イミングから黒エッジパルス(BEG)のタイミングま
での時間(バーコード3a中の白バーの幅に対応するも
のと期待される),及び黒エッジパルス(BEG)のタ
イミングから白エッジパルス(WEG)のタイミングま
での時間(バーコード3a中の黒バーの幅に対応するも
のと期待される)を測定する。なお、バー幅カウンタ6
は、これらバー幅に対応する時間を計測するためにクロ
ック7からのクロック数をカウントし、これらバー幅に
対応するカウント値を出力する。The bar width counter 6 is based on the white edge pulse (WEG) and the black edge pulse (BEG) input from the binarization circuit 5, and changes from the timing of the white edge pulse (WEG) to the black edge pulse (BEG). (Expected to correspond to the width of the white bar in the barcode 3a), and the time from the timing of the black edge pulse (BEG) to the timing of the white edge pulse (WEG) (the barcode 3a Expected to correspond to the width of the black bar inside). The bar width counter 6
Counts the number of clocks from the clock 7 in order to measure the time corresponding to these bar widths, and outputs the count value corresponding to these bar widths.
【0032】フィルター回路8は、バー幅カウンタ6か
ら入力された各カウント値を論理的に判定し、明らかに
バーコード3aからの反射光R以外の要因による強度変
化を示すカウンタ値を除去し、バーコード3aの各バー
の幅を示すカウント値である蓋然性が高いものだけを抽
出して次段に渡すフィルター回路である。これらレーザ
ー光源1,走査/集光光学系2,光検知器4,二値化回
路5,バー幅カウンタ6,クロック7,及びフィルター
回路8から、バーコード3aを走査してその走査軌跡に
おける明暗パターン列を検出する明暗パターン検出手段
が構成される。The filter circuit 8 logically judges each count value inputted from the bar width counter 6 and removes the counter value which clearly shows the intensity change due to a factor other than the reflected light R from the bar code 3a, This is a filter circuit that extracts only those that have a high probability of being the count value indicating the width of each bar of the barcode 3a and pass them to the next stage. The bar code 3a is scanned from the laser light source 1, the scanning / focusing optical system 2, the photodetector 4, the binarization circuit 5, the bar width counter 6, the clock 7, and the filter circuit 8, and the light and darkness on the scanning locus is scanned. Bright / dark pattern detection means for detecting the pattern row is configured.
【0033】FIFOメモリ回路9は、フィルター回路
8を通過したカウント値を一旦保持するとともに、保持
した順序に従ってカウント値を出力する先入れ先出しメ
モリであり、バッファとして機能している。The FIFO memory circuit 9 is a first-in first-out memory that temporarily holds the count values that have passed through the filter circuit 8 and outputs the count values in the order in which they are held, and functions as a buffer.
【0034】バーコード認識/復調回路10は、FIF
Oメモリ回路9から読み出された各カウント値に対して
所定の認識/復調プログラムを実行して、バーコードに
コード化されていた各種のデータを取り出すプロセッサ
である。The bar code recognition / demodulation circuit 10 uses a FIF.
This is a processor that executes a predetermined recognition / demodulation program for each count value read from the O memory circuit 9 to take out various data encoded in the bar code.
【0035】次に、これらのうち、FIFOメモり回路
9,及びバーコード認識/復調回路10の構成を、更に
詳細に説明する。
(FIFOメモリ回路)FIFOメモリ回路9の入出力
信号を図3に示す。図3において“BCD0〜10”
は、フィルター回路8から出力されたバー幅を示すカウ
ント値を示す。また、“B/W”は、フィルター回路8
から出力されたバー色(白/黒)を示色識別信号を示
す。これらの各信号は、フィルター回路8からSFTI
N信号が送信されてきた時に、FIFOメモり回路9に
よって読み取られる。また、これら信号を読み取ると、
FIFOメモリ回路9は、インプットレディ信号(I
R)をバー幅カウンタ6に向けて送出する。Next, among these, the configurations of the FIFO memory circuit 9 and the bar code recognition / demodulation circuit 10 will be described in more detail. (FIFO Memory Circuit) FIG. 3 shows input / output signals of the FIFO memory circuit 9. In Figure 3, "BCD0-10"
Indicates a count value indicating the bar width output from the filter circuit 8. “B / W” is the filter circuit 8
The color identification signal indicates the bar color (white / black) output from. Each of these signals is sent from the filter circuit 8 to the SFTI.
When the N signal is transmitted, it is read by the FIFO memory circuit 9. Also, when reading these signals,
The FIFO memory circuit 9 receives the input ready signal (I
R) is sent to the bar width counter 6.
【0036】このFIFOメモリ回路9と次段のバーコ
ード認識/復調回路10との間は、16ビットの外部バ
スEBによって接続されている。そして、FIFOメモ
リ回路9は、最先に読み込んだバー幅カウント値及び色
識別信号を、外部バスEBを介してバーコード認識/復
調回路10に向けて出力すると、これら情報の取り込み
を指示するアウトプットレディ信号(OR)をバーコー
ド認識/復調回路10に対して発行する。そして、バー
コード認識/復調回路10がこれらの信号の取り込み完
了を示す信号(SETOUT)を通知してくると、次の
バー幅カウント値及び色識別信号をバーコード認識/復
調回路10に向けて出力する。The FIFO memory circuit 9 and the bar code recognition / demodulation circuit 10 at the next stage are connected by a 16-bit external bus EB. Then, the FIFO memory circuit 9 outputs the earliest read bar width count value and color identification signal to the bar code recognition / demodulation circuit 10 via the external bus EB, and outputs an output instruction to instruct these information. A ready signal (OR) is issued to the barcode recognition / demodulation circuit 10. Then, when the bar code recognition / demodulation circuit 10 notifies the signal (SETOUT) indicating the completion of loading of these signals, the next bar width count value and color identification signal are directed to the bar code recognition / demodulation circuit 10. Output.
【0037】なお、FIFOメモリ回路9とバーコード
認識/復調回路10とを接続する外部バスEBには、ま
た、外部RAM46及び外部ROM47が接続されてい
る。この外部RAM46は、FIFOメモリ回路9から
送信されてきたデータを一次格納するランダムアクセス
メモリである。また、外部ROM47は、図4乃至図7
に示されるプログラム,及び図8に示される最小有効デ
ータ桁数テーブルを格納するリードオンリーメモリであ
る。
(バーコード認識/復調回路)次に、図3を用いて、バ
ーコード認識/復調回路10の詳細な構成を説明する。
このバーコード認識/復調回路10は、32ビットの
内部バスLBによって夫々接続されたCPU43,RA
M44,ユニバーサル・アシンクロノウス・レシーバ・
トランスミッター(UART)45,ダイレクト・メモ
リ・アクセス・コントローラ(DMAC)41,及びタ
イマー42,並びに、この内部バスLBと外部バスEB
との間に接続されたバスステートコントローラ(BS
C)40から、構成されている。An external RAM 46 and an external ROM 47 are also connected to the external bus EB that connects the FIFO memory circuit 9 and the bar code recognition / demodulation circuit 10. The external RAM 46 is a random access memory that temporarily stores the data transmitted from the FIFO memory circuit 9. In addition, the external ROM 47 is the same as that shown in FIGS.
9 is a read-only memory for storing the program shown in FIG. 8 and the minimum valid data digit number table shown in FIG. (Bar Code Recognition / Demodulation Circuit) Next, the detailed configuration of the bar code recognition / demodulation circuit 10 will be described with reference to FIG.
The bar code recognition / demodulation circuit 10 includes a CPU 43 and an RA connected to a 32-bit internal bus LB.
M44, Universal Asynchronous Receiver
Transmitter (UART) 45, direct memory access controller (DMAC) 41, timer 42, and internal bus LB and external bus EB
Bus state controller (BS
C) 40.
【0038】CPU43は、RISCチップから構成さ
れ、バーコード認識/復調回路10全体の制御を行う。
また、FIFOメモリ回路9から送信されたバー幅カウ
ント値及び色識別信号に対して、図8に示される最小有
効データ桁数テーブルを参照して、図4乃至図7に示さ
れるバーコードの認識/復調処理を実行する。The CPU 43 is composed of a RISC chip and controls the entire bar code recognition / demodulation circuit 10.
Further, with respect to the bar width count value and the color identification signal transmitted from the FIFO memory circuit 9, the minimum effective data digit number table shown in FIG. 8 is referred to and the barcode recognition shown in FIGS. 4 to 7 is performed. / Execute demodulation processing.
【0039】バスステートコントローラ(BSC)40
は、内部バスLBと外部バスEBの状態を管理する出入
力インタフェースである。ダイレクト・メモリ・アクセ
ス・コントローラ(DMAC)41は、FIFOメモリ
回路9から信号の取り込みを指示する信号(OR)が入
力されると、バスステートコントローラ40を制御し
て、FIFOメモリ回路9から送信されて来ているバー
幅カウント値及び色識別信号をCPU43に転送する。
この転送が完了すると、信号の取り込み完了を示す信号
(SETOUT)を、FIFOメモリ回路9に通知す
る。Bus state controller (BSC) 40
Is an input / output interface for managing the states of the internal bus LB and the external bus EB. The direct memory access controller (DMAC) 41 controls the bus state controller 40 when the signal (OR) instructing the signal acquisition from the FIFO memory circuit 9 is input, and the direct memory access controller (DMAC) 41 transmits the signal from the FIFO memory circuit 9. The received bar width count value and color identification signal are transferred to the CPU 43.
When this transfer is completed, the FIFO memory circuit 9 is notified of a signal (SETOUT) indicating the completion of signal acquisition.
【0040】タイマー42は、バーコード認識/復調回
路10内での各種処理に用いられる時間情報を生成する
装置である。ユニバーサル・アシンクロノウス・レシー
バ・トランスミッター(UART)45は、パラレル情
報として復調されたキャラクタ情報をシリアル信号に変
換して図示せぬRS−232Cポートから外部に出力す
るパラレル/シリアルインタフェースである。The timer 42 is a device for generating time information used for various processes in the barcode recognition / demodulation circuit 10. A universal asynchronous receiver / transmitter (UART) 45 is a parallel / serial interface that converts the character information demodulated as parallel information into a serial signal and outputs the serial signal from an RS-232C port (not shown) to the outside.
【0041】次に、CPU43において実行されるバー
コード認識/復調処理プログラムの内容を、図4乃至図
7のフローチャートに基づいて説明する。図7のフロー
チャートは、バーコード読取装置に主電源が投入される
ことによりスタートする。そして、最初のS001にお
いて、初期設定を行う。ここで、例えば図示せぬディッ
プスイッチによる設定に応じて、このバーコード読取装
置が読取対象とするバーコードを構成するキャラクタの
桁数(読取桁数情報)を設定する(キャラクタ数特定手
段に相当)。Next, the contents of the bar code recognition / demodulation processing program executed by the CPU 43 will be described with reference to the flowcharts of FIGS. 4 to 7. The flowchart of FIG. 7 starts when the main power source is turned on to the barcode reading device. Then, in the first S001, initialization is performed. Here, for example, in accordance with a setting by a dip switch (not shown), the number of digits (reading digit number information) of the characters forming the barcode to be read by this barcode reading device is set (corresponding to character number specifying means). ).
【0042】次のS002では、外部RAM46に格納
されているデータ列(一方向のバーコード走査によって
読み出された一連のカウント値列及び色識別信号列,明
暗パターンデータ列に相当)のうち最も古いものが、ス
タートバー(第1のバー)を含んでいるかどうかをチェ
ックする。そして、スタートバーが検出された時には、
このデータ列がバーコードからの反射光に基づく蓋然性
が高いとして、処理をS004に進める。これに対して
スタートバーが検出されなかった場合には、S003に
おいて、同じデータ列がエンドバー(第2のバー)を含
んでいるかどうかをチェックする。そして、エンドバー
が検出された場合には、このデータ列がバーコードから
の反射光に基づく蓋然性が高いとして、処理をS004
に進める。これに対して、エンドバーが検出されなかっ
た場合には、バーコード以外の箇所からの反射光に基づ
くデータであるとみなし、このデータ列を破棄して処理
をS002に戻す。At the next step S002, the most of the data strings stored in the external RAM 46 (corresponding to a series of count value strings, color identification signal strings, and light / dark pattern data strings read by one-way bar code scanning). Check if the old one contains the start bar (first bar). And when the start bar is detected,
It is assumed that this data string is likely to be based on the reflected light from the barcode, and the process proceeds to S004. On the other hand, when the start bar is not detected, it is checked in S003 whether the same data string includes the end bar (second bar). Then, when the end bar is detected, it is determined that this data string is highly likely to be based on the reflected light from the barcode, and the processing is performed in S004.
Proceed to. On the other hand, when the end bar is not detected, it is considered that the data is based on the reflected light from a portion other than the barcode, the data string is discarded, and the process returns to S002.
【0043】S004では、バー(S002から処理が
直接入ってきた場合にはスタートバー,S003から処
理が入ってきた場合にはエンドバー)に隣接するキャラ
クタの長さが、所定のバーコードの規格条件を満たして
いるかどうかをチェックする。そして、このキャラクタ
の長さが所定の規格条件を満たしていない場合には、こ
のデータ列がバーコード以外の箇所からの反射光に基づ
くデータであるとみなし、このデータ列を破棄して処理
をS002に戻す。In S004, the length of the character adjacent to the bar (the start bar if the process comes directly from S002, the end bar if the process comes in from S003) is the standard condition of the predetermined bar code. Check whether or not Then, if the length of this character does not satisfy the predetermined standard condition, it is considered that this data string is data based on the reflected light from a position other than the barcode, and this data string is discarded and processed. Return to S002.
【0044】これに対して、キャラクタの長さが所定の
規格条件を満たしている場合には、S005において、
このキャラクタを対応するデータに変換する(明暗パタ
ーンデータ列をキャラクタ毎に分断して対応する他の形
式のデータに変換するデータ変換手段に相当)。On the other hand, when the length of the character satisfies the predetermined standard condition, in S005,
This character is converted into corresponding data (corresponding to data conversion means for dividing the bright / dark pattern data string for each character and converting it into corresponding data of another format).
【0045】次のS006では、S005にてデータに
変換したキャラクタに隣接するキャラクタの長さが、所
定のバーコードの規格条件を満たしているかどうかをチ
ェックする。そして、このキャラクタの長さが所定の規
格条件を満たしていない場合には、処理をS009に進
める。In the next step S006, it is checked whether or not the length of the character adjacent to the character converted into the data in step S005 satisfies the standard condition of the predetermined bar code. Then, if the length of this character does not satisfy the predetermined standard condition, the process proceeds to S009.
【0046】これに対して、キャラクタの長さが所定の
規格条件を満たしている場合には、S007において、
このキャラクタを対応するデータに変換し(データ変換
手段に相当)、次のS008において、S005又はS
007のデータ復調が良好に行われたかどうかをチェッ
クする。そして、復調が不調であった場合には、処理を
009に進め、復調が良好であった場合には、処理をS
011に進める。On the other hand, when the length of the character satisfies the predetermined standard condition, in S007,
This character is converted into corresponding data (corresponding to data conversion means), and in next S008, S005 or S
It is checked whether the data demodulation of 007 has been performed well. If the demodulation is unsuccessful, the process proceeds to 009, and if the demodulation is good, the process is S
Proceed to 011.
【0047】S011では、更に隣接するキャラクタが
エンドバーであるかどうかをチェックする。そして、隣
接するキャラクタがエンドバーの構成を満たしていない
場合には、処理をS006に戻す。これに対してエンド
バーが検出された場合には、連続読みによりバーコード
が一気に読めたものとして、処理をS012に進める。In S011, it is checked whether or not the adjacent character is the end bar. Then, when the adjacent character does not satisfy the configuration of the end bar, the processing is returned to S006. On the other hand, when the end bar is detected, it is determined that the barcode can be read all at once by continuous reading, and the process proceeds to S012.
【0048】これに対して、S009では、S001に
て設定した読取桁数情報に基づいて、図8に示す最小有
効データ桁数テーブルを参照し、対応する「最小有効デ
ータ桁数」情報を読み出す(有効キャラクタ桁数設定手
段に相当)。この「最小有効データ桁数」とは、2個の
データ列に基づいてバーコードを合成する場合におい
て、各データ列を有効として扱うために必要な最小限の
長さ(キャラクタ桁数)である。なお、図10A,Bに
示すように、2個のデータ列に分割してバーコードを読
むことを「分割読み」という。On the other hand, in S009, based on the read digit number information set in S001, the minimum valid data digit number table shown in FIG. 8 is referred to and the corresponding "minimum valid data digit number" information is read. (Equivalent to the effective character digit number setting means). This "minimum number of valid data digits" is the minimum length (the number of character digits) necessary to handle each data string as valid when a barcode is synthesized based on two data strings. . As shown in FIGS. 10A and 10B, reading the barcode by dividing it into two data strings is called “division reading”.
【0049】なお、図8の最小有効データ桁数テーブル
では、読取桁数情報(バーコード全体の桁数)の大小に
略正比例させて最小有効データ桁数を増減するようにし
ている。これは、誤読によるデータを排除して、バーコ
ードからの反射光による蓋然性の高いデータ列のみから
バーコードを合成するためである。即ち、図11に示す
バーコード1,バーコード2においてバーコードを分割
読みして得られたデータ列A,データ列Bは、何れも、
バーコードを1/3以上読んで得られているので、バー
コード以外の部分からのデータ列が偶然同じ形態になる
可能性は低いが、バーコード3におけるデータ列Aは、
1/3未満であるので、バーコード以外の部分からのデ
ータ列が偶然同じ形態になる可能性が高い。そこで、読
取桁数に応じて最小有効データ桁数を増減させるように
したのである。In the minimum valid data digit number table of FIG. 8, the minimum valid data digit number is increased or decreased in substantially direct proportion to the size of the read digit number information (digit number of the entire bar code). This is because the data due to the erroneous reading is excluded and the barcode is synthesized only from the data string having a high probability due to the reflected light from the barcode. That is, the data sequence A and the data sequence B obtained by reading the barcode separately in the barcode 1 and the barcode 2 shown in FIG.
Since the bar code is obtained by reading 1/3 or more, it is unlikely that the data string from the part other than the bar code will have the same form by accident, but the data string A in the bar code 3 is
Since it is less than 1/3, there is a high possibility that the data string from the part other than the barcode will have the same form by chance. Therefore, the minimum valid data digit number is increased or decreased according to the read digit number.
【0050】次のS010では、このデータ列中におけ
る現時点での復調済みデータ列の桁数(キャラクタ数)
がS009において読み出した「最小有効データ桁数」
より大きいか否かをチェックする。そして、復調済みデ
ータ列の桁数(キャラクタ数)が最小有効データ桁数以
下である場合には、バーコードからのデータ列と偶然同
じ形態になった可能性の高いデータ列を排除してデータ
誤読を防止すべく、このデータ列を破棄して処理をS0
02に戻す(有効キャラクタ数未満のキャラクタ数の明
暗パターンデータ列を廃棄する廃棄手段に相当)。これ
に対して、復調済みデータ列の桁数(キャラクタ数)が
最小有効データ桁数より大きい場合には、バーコードを
分割読みして得られたデータ列である可能性が高いとし
て、処理をS012に進める。In the next S010, the number of digits (number of characters) of the demodulated data string at this point in this data string.
"Minimum number of valid data digits" read in S009
Check if greater than. If the number of digits (number of characters) of the demodulated data string is less than the minimum number of valid data digits, the data string that is likely to have the same form as the data string from the barcode by chance is excluded and the data is removed. In order to prevent misreading, this data string is discarded and the process proceeds to S0.
The value is returned to 02 (corresponding to a discarding means for discarding the light / dark pattern data string having the number of characters less than the effective number of characters). On the other hand, if the number of digits (the number of characters) of the demodulated data string is larger than the minimum number of valid data digits, it is highly possible that the data string is obtained by dividing the barcode and read. Proceed to S012.
【0051】S012では、図5に示すバーコード合成
処理サブルーチンを実行する。図5において最初のS1
01では、S012での処理対象となっている復調デー
タ列がスタートバー及びエンドバーの一方のみを通過す
るように走査して得られたデータ列であるかどうかをチ
ェックする。そして、スタートバー及びエンドバーの双
方を通過するように走査して得られたデータ列である場
合には、連続読みによってバーコードが一気に読まれた
場合であるので、S111において変数iを“0”にリ
セットしてこのサブルーチンを終了する。In S012, the barcode combining processing subroutine shown in FIG. 5 is executed. First S1 in FIG.
In 01, it is checked whether or not the demodulated data string that is the processing target in S012 is a data string obtained by scanning so as to pass only one of the start bar and the end bar. Then, in the case of the data string obtained by scanning so as to pass through both the start bar and the end bar, this is the case where the bar code is read all at once by continuous reading, so the variable i is set to "0" in S111. To reset the routine to end this subroutine.
【0052】これに対して、スタートバー及びエンドバ
ーの一方のみを通過するように走査して得られたデータ
列である場合には、S102において、この復調データ
列がスタートバーを通過するように走査して得られたデ
ータ列であるかどうかをチェックする。そして、スター
トバーを通過したデータ列である場合には、S103に
おいてこのスタートバーを含むデータ列(第1の明暗パ
ターンデータ列)をRAM44に格納し、エンドバーを
通過したデータ列である場合には、S104においてこ
のエンドバーを含むデータ列(第2の明暗パターンデー
タ列)をRAM44に格納する。On the other hand, in the case of the data string obtained by scanning so that only one of the start bar and the end bar passes, in S102, the demodulated data string is scanned so as to pass the start bar. Check whether it is the data string obtained by. If the data string has passed the start bar, the data string including the start bar (first light-dark pattern data string) is stored in the RAM 44 in S103, and if the data string has passed the end bar, , S104 stores a data string including the end bar (second light-dark pattern data string) in the RAM 44.
【0053】何れの場合においても、次のS105で
は、スタートバーを通過したデータ列及びエンドバーを
通過したデータ列が揃ったか否かをチェックする。そし
て、各バーを通過したデータ列が未だ揃っていない場合
には、処理をS002に戻し、次のデータ列に対する復
調処理を実行する。In any case, in the next step S105, it is checked whether or not the data sequence passing through the start bar and the data sequence passing through the end bar are aligned. Then, when the data strings passing through each bar are not yet complete, the process is returned to S002, and the demodulation process for the next data string is executed.
【0054】これに対して各バーを通過したデータ列が
揃った場合には、S106において、図6に示すデータ
桁数チェックサブルーチンを実行する。このデータ桁数
チェックサブルーチンにおいて最初のS201では、ス
タートバーを通過したデータ列の桁数(キャラクタ数)
とエンドバーを通過したデータ列の桁数(キャラクタ
数)とを合算する(総和算出手段に相当)。次のS20
2では、S201にて合算した総和がS001にて設定
した読取桁数を超えているか否かをチェックする(比較
手段に相当)。そして、この総和が読取桁数以下の場合
には、データ列同士の重複部分が全くない。従って、両
データ列が同一のバーコードによるデータ列である保障
が全くない。そのため、データ誤読を排除すべく、処理
をS002に戻し、現在RAM44に格納されているデ
ータ列に代わる他のデータ列に対する復調処理を実行す
る。これに対して、総和が読取桁数を超えている場合に
は、データ列同士の重複部分がある可能性が高い。その
ため、このデータ桁数チェックサブルーチンを終了し
て、図5のS106にリターンする。S106の次に実
行されるS107では、データ重複部をチェックする。
このデータ重複部とは、図11において斜線部分として
示すように、2つのデータ列の各々によって重複して読
み取られる部分である。即ち、ここでは、スタートバー
を通過したデータ列の末端部分のデータ,及びエンドバ
ーを通過したデータ列の末端部分のデータが一致してい
るかどうかをチェックするのである。なお、このデータ
重複部の桁数(キャラクタ数)は、両データ列の桁数の
総数から読取桁数を減算した数に等しい。このチェック
の結果、重複部分がなかった場合,又は重複部の桁数が
両データ列の桁数の総数から読取桁数を減算した数と一
致しない場合は、同一のバーコードに基づくデータ以外
のデータが混入する可能性が高いとして、S108にお
いて処理をS002に戻し、現在RAM44に格納され
ているデータ列に代わる他のデータ列に対する復調処理
を実行する。これに対して、重複部の桁数が両データ列
の桁数の総数から読取桁数を減算した数と一致している
場合には、処理をS109に進める。即ち、これらS1
06乃至S108が、同じデータからなる重複部が第1
の明暗パターンデータ列と第2の明暗パターンデータ列
とに夫々含まれているか否かを判定する重複部判定手段
に相当する。On the other hand, when the data strings passing through the respective bars are complete, the data digit number check subroutine shown in FIG. 6 is executed in S106. In the first step S201 in this data digit number check subroutine, the number of digits (number of characters) of the data string that has passed through the start bar.
And the number of digits (the number of characters) of the data string that has passed through the end bar are summed up (corresponding to the total sum calculation means). Next S20
In 2, it is checked whether or not the total sum added up in S201 exceeds the number of read digits set in S001 (corresponding to a comparison unit). When the sum is less than the number of read digits, there is no overlap between the data strings. Therefore, there is no guarantee that both data strings are data strings with the same bar code. Therefore, in order to eliminate erroneous reading of data, the process is returned to S002, and the demodulation process for another data string in place of the data string currently stored in the RAM 44 is executed. On the other hand, when the total sum exceeds the number of read digits, there is a high possibility that the data strings overlap each other. Therefore, this data digit number check subroutine is terminated, and the process returns to S106 of FIG. In S107 executed after S106, the data duplication part is checked.
This data duplication portion is a portion that is read in duplicate by each of the two data strings, as indicated by the shaded portion in FIG. That is, here, it is checked whether the data at the end portion of the data string passing through the start bar and the data at the end portion of the data string passing through the end bar match. The number of digits (the number of characters) of this data duplication part is equal to the number obtained by subtracting the number of read digits from the total number of digits of both data strings. If the result of this check is that there is no overlapping part, or if the number of digits in the overlapping part does not match the number obtained by subtracting the number of reading digits from the total number of digits in both data strings, then data other than data based on the same barcode is not used. On the assumption that the data is likely to be mixed, the process is returned to S002 in S108, and the demodulation process is performed on another data string in place of the data string currently stored in the RAM 44. On the other hand, if the number of digits in the overlapped portion matches the number obtained by subtracting the number of read digits from the total number of digits in both data strings, the process proceeds to S109. That is, these S1
From 06 to S108, the first overlapping part is the same data.
And the second bright / dark pattern data sequence are included in the overlapping portion determining means.
【0055】S109では、図7に示す一致回数チェッ
クサブルーチンを実行する。一致回数チェックサブルー
チンは、読取桁数及び重複部の桁数(キャラクタの数)
に応じて、データ合成実行条件としての重複部のデータ
の一致回数を可変とするための処理である。即ち、図1
2に示すバーコード1とバーコード2とでは、読取桁数
に差異があるので、読取桁数に対する重複部の割合に差
異が生じる。そして、バーコード2のように読取桁数に
対する重複部の割合が小さいと、両データの重複部分が
ともに誤読によって生じた可能性があり得る。そこで、
このような場合には、再度データ復調を行って再度重複
部データの一致が確認されることを、データ合成の条件
とするのである。同様に、図12に示すバーコード2と
バーコード3とでは、重複部の桁数に差異があるので、
読取桁数に対する重複部の割合に差異が生じる。バーコ
ード3のように読取桁数に対する重複部の割合が大きい
と、両データの重複部分がともに誤読によって生じた可
能性が低くなる。そこで、このような場合には、今回重
複部データの一致が確認されたことのみを、データ合成
の条件とするのである。In S109, the matching number check subroutine shown in FIG. 7 is executed. The number of matching check subroutines is the number of read digits and the number of duplicated digits (number of characters)
According to the above, it is a process for varying the number of coincidences of the data of the overlapping part as the data synthesis execution condition. That is, FIG.
Since the number of read digits is different between the barcode 1 and the barcode 2 shown in FIG. 2, there is a difference in the ratio of the overlapping portion to the number of read digits. Then, when the ratio of the overlapping portion to the number of read digits is small like the barcode 2, there is a possibility that the overlapping portion of both data may be caused by erroneous reading. Therefore,
In such a case, the condition of the data combination is to perform the data demodulation again and to confirm the coincidence of the overlapping part data again. Similarly, since the bar code 2 and the bar code 3 shown in FIG.
There is a difference in the ratio of the duplicated portion to the number of read digits. When the ratio of the overlapping portion to the number of read digits is large like the barcode 3, the possibility that the overlapping portion of both data is caused by erroneous reading becomes low. Therefore, in such a case, the condition for data composition is only that the coincidence of the duplicated part data is confirmed this time.
【0056】この一致回数チェックサブルーチンに入っ
て最初のS301重複部のデータ同士の一致回数を示す
変数iを1つインクリメントする。なお、この変数iの
初期値は0である。When the subroutine for checking the number of coincidences is entered, the variable i indicating the number of coincidences of the data in the first S301 overlapped portion is incremented by one. The initial value of this variable i is 0.
【0057】次のS302では、読取桁数が5桁以下で
あるかどうかをチェックする(しきい値設定手段に相
当)。そして、5桁以下である場合には、S303にお
いて、重複部の桁数が3桁以上であるかどうかをチェッ
クする(比較手段に相当)。このチェックの結果、重複
部の桁数が3桁以上であると処理をS307に進め、3
桁未満であると処理をS308に進める。In the next step S302, it is checked whether the number of read digits is 5 digits or less (corresponding to a threshold value setting means). If the number of digits is 5 or less, in S303, it is checked whether or not the number of digits of the overlapping portion is 3 or more (corresponding to a comparison unit). If the result of this check is that the number of digits in the duplicated portion is three or more, the process proceeds to S307 and 3
If it is less than the digit, the process proceeds to S308.
【0058】これに対して、S302にて読取桁数が5
桁を超えると判定した場合には、S304において、読
取桁数が10桁以下であるかどうかをチェックする(し
きい値設定手段に相当)。そして、10桁以下である場
合には、S305において、重複部の桁数が4桁以上で
あるかどうかをチェックする(比較手段に相当)。この
チェックの結果、重複部の桁数が4桁以上であると処理
をS307に進め、4桁未満であると処理をS308に
進める。一方、読取桁数が10桁を超える場合には、S
306において、重複部の桁数が5桁以上であるかどう
かをチェックする(比較手段に相当)。このチェックの
結果、重複部の桁数が5桁以上であると処理をS307
に進め、5桁未満であると処理をS308に進める。On the other hand, the number of read digits is 5 in S302.
When it is determined that the number of digits exceeds the number of digits, it is checked in S304 whether the number of read digits is 10 digits or less (corresponding to a threshold value setting means). If it is 10 digits or less, in S305, it is checked whether the number of digits of the overlapping portion is 4 digits or more (corresponding to a comparison unit). As a result of this check, if the number of digits of the overlapping part is 4 digits or more, the process proceeds to S307, and if it is less than 4 digits, the process proceeds to S308. On the other hand, if the number of read digits exceeds 10, then S
At 306, it is checked whether the number of digits of the overlapping portion is 5 digits or more (corresponding to a comparison unit). As a result of this check, if the number of digits of the overlapping portion is 5 or more, the processing is performed in S307.
If it is less than 5 digits, the process proceeds to S308.
【0059】S307では、参照値kを“1”にセット
する。また、S308では、参照値kを“2”にセット
する。何れの場合においても、次のS309では、現時
点における一致回数iと参照値kとを比較する。一致回
数iが参照値k未満である場合には、再度データ列を復
調してデータの一致を再確認すべく、処理をS002に
戻す。この場合には、変数iの値を保持しつつ、RAM
44に格納されているデータ列をクリアして、新たに復
調されたデータ列を格納する(重複部判定手段による判
定を新たに明暗パターン検出手段によって検出された第
1の明暗パターンデータ列と第2の明暗パターンデータ
列に対して実行させる判定再実行手段に相当する。)。
これに対して、一致回数iが参照値k以上である場合に
は、データ重複部がデータ誤読による可能性がないこと
の確認がとれてデータ誤読の可能性が低くなったとし
て、この一致回数チェックサブルーチンを終了して処理
を図5に戻す。この結果、読取桁数が大きくなればなる
ほど、重複部の一致の確認を一回のみで可とできる重複
部の桁数が大きくなる。In S307, the reference value k is set to "1". Further, in S308, the reference value k is set to "2". In any case, in the next step S309, the matching number i at the present time is compared with the reference value k. If the matching count i is less than the reference value k, the process returns to S002 in order to demodulate the data string again and reconfirm the matching of the data. In this case, while holding the value of the variable i, the RAM
The data string stored in 44 is cleared, and the newly demodulated data string is stored (the judgment by the overlapping part judging means is determined by the first bright-dark pattern data string newly detected by the light-dark pattern detecting means and the first light-dark pattern data string). (Corresponding to the judgment re-execution means to be executed with respect to the light-dark pattern data sequence 2).
On the other hand, if the matching count i is equal to or greater than the reference value k, it is confirmed that the data duplication part is not likely to be misread, and the possibility of data misreading is reduced. The check subroutine is terminated and the process returns to FIG. As a result, the larger the number of digits to be read, the larger the number of digits of the overlapping portion that allows confirmation of coincidence of the overlapping portion only once.
【0060】処理が戻された図5のバーコード合成サブ
ルーチンでは、S109の後に実行されるS110にお
いて、データの合成を実行する。即ち、スタートバーを
通過したデータ列の重複部に、エンドバーを通過したデ
ータ列の重複部に続く部分を結合して、バーコード全体
に対応する一連のデータ列を合成するのである(第1の
明暗パターンデータ列及び第2の明暗パターンデータ列
を結合する結合手段に相当)。このように合成されたデ
ータ列は、連続読みによって一気に読まれたデータ列と
同じ構成を有している。In the barcode synthesizing subroutine of FIG. 5 to which the processing is returned, the synthesizing of data is executed in S110 executed after S109. That is, the overlapping portion of the data string passing through the start bar and the portion following the overlapping portion of the data string passing through the end bar are combined to synthesize a series of data strings corresponding to the entire barcode (first It corresponds to a combining means for combining the light-dark pattern data string and the second light-dark pattern data string). The data string synthesized in this way has the same structure as the data string read all at once by continuous reading.
【0061】次のS111では、一個のバーコードの合
成が完了したことから、次のバーコードの読み出しに備
えて、変数iを0にリセットする。この後で、このバー
コード合成サブルーチンを終了して、処理を図4に戻
す。In the next step S111, since the synthesis of one bar code is completed, the variable i is reset to 0 in preparation for the reading of the next bar code. After this, this barcode synthesis subroutine is terminated and the processing returns to FIG.
【0062】処理が戻された図4のメインルーチンで
は、S012の後に実行されるS013において、デー
タ送信を実行する。即ち、RAM44に格納されている
データ列(連続読みにより一気に読み取られたデータ
列,又は、S012において合成されたデータ列)を、
ユニバーサル・アシンクロノウス・レシーバ・トランス
ミッター(UART)45を介して外部に送信する。そ
して、次のバーコードの読み取りを行うために、処理を
S002に戻す。In the main routine of FIG. 4 in which the processing is returned, data transmission is executed in S013 executed after S012. That is, the data string stored in the RAM 44 (the data string read at a stretch by continuous reading, or the data string synthesized in S012) is
Transmits to the outside via a universal asynchronous receiver transmitter (UART) 45. Then, in order to read the next bar code, the process returns to S002.
【0063】以上のように構成された本実施形態による
バーコードリーダによると、スタートバー及びエンドバ
ーの何れか一方のみしか含んでいないためにバーコード
に基づくデータ列であるとは直ちにみなすことができな
い分割読みのデータ列であっても、重複部同士のデータ
内容をチェックする(S202,S108)ことによ
り、一個のバーコードに基づく一連のデータ列として合
成することができる。この重複部は、バーコードの読取
桁数を特定することにより、分割読みのデータ列の桁数
の総和を算出するだけで、容易に抽出することができ
る。According to the bar code reader having the above-described structure according to the present embodiment, since it includes only one of the start bar and the end bar, it cannot be immediately regarded as the data string based on the bar code. By checking the data contents of the overlapping portions even for the divided read data string, it is possible to combine them as a series of data strings based on one bar code. This overlapping portion can be easily extracted by specifying the number of digits to be read of the barcode and only calculating the total number of digits of the data string for divided reading.
【0064】また、各分割読みのデータ列(スタートバ
ー及びエンドバーの何れか一方のみを含むデータ列)
は、最小有効データ桁数に基づく選別を予め受けている
(S010)ので、この最小有効データ桁数以上の桁数
のもののみとなっており、バーコード以外の部分からの
反射光に基づく誤読データが混入する余地が小さくな
る。なお、この最小有効データ桁数は読取桁数の大小に
略正比例して定まる(S009)ので、バーコードの桁
数との相対的関係で、信頼性が十分なデータ列のみから
データ合成を行うことができる。A data string of each divided reading (a data string including only one of the start bar and the end bar)
Has undergone screening based on the minimum number of effective data digits in advance (S010), so only those with a number of digits greater than this minimum effective data digit number will be erroneously read based on the reflected light from a portion other than the barcode. There is less room for data to be mixed. Since the minimum number of valid data digits is determined in direct proportion to the number of read digits (S009), data combination is performed only from a data string having sufficient reliability in relation to the number of digits of the barcode. be able to.
【0065】また、分割読みデータ列の重複部のデータ
内容のチェックについては、読取桁数の大小,及び、重
複部の桁数の大小に応じて、データ合成に必要な合格回
数が変化する(S309)。即ち、重複部の桁数が同じ
とした場合、読取桁数が大きくなると、データ合成に必
要な合格回数が2回となる。また、読取桁数が同じとし
た場合、重複部の桁数が小さくなると、データ合成に必
要な合格回数が2回となる。従って、読取桁数と重複部
の桁数との相対関係で、チェック回数を可変させてデー
タ合成の信頼性を高くしたので、バーコード以外の部分
からの反射光に基づく誤読データが混入する余地が小さ
くなる。Further, in checking the data content of the overlapping part of the divided read data string, the number of passes required for data combination changes depending on the number of read digits and the number of digits of the overlapping part ( S309). That is, when the number of digits in the overlapping portion is the same, and the number of digits to be read becomes large, the number of passes required for data combination becomes twice. Further, if the number of read digits is the same, and the number of digits in the overlapped portion becomes smaller, the number of passes required for data combination becomes twice. Therefore, the number of reading digits and the number of digits in the overlapped portion are changed to increase the reliability of data combination by varying the number of checks, so there is room for misreading data based on the reflected light from the portion other than the barcode. Becomes smaller.
【0066】[実施形態2]上記第1実施形態では、読
取桁数の大小に拘わらず、分割読みの両データ列の総和
が読取桁数を超えていれば良いとしていた(S20
2)。従って、重複部の桁数は最小限1あればよく、
只、事後的に図7の一致回数チェックにおいて、この重
複部の桁数に応じて、データ合成に必要な重複部のデー
タ内容の合格回数を可変するのみであった。[Embodiment 2] In the first embodiment, regardless of the number of read digits, it is sufficient that the total sum of both data strings in divided reading exceeds the number of read digits (S20).
2). Therefore, the number of digits in the overlapping part should be at least 1,
Only afterwards, in the matching count check of FIG. 7, only the number of passes of the data contents of the overlapping part necessary for data composition was changed according to the number of digits of this overlapping part.
【0067】本第2実施形態では、読取桁数の大小に応
じて、重複部に必要とされる桁数を可変させることを特
徴とする。図14は、本第2実施形態における外部RO
M47(図3参照)に格納されている合成桁数テーブル
を示す。この図14から明らかなように、読取桁数が増
加すると、これに略正比例して、「合成桁数」が増え
る。この「合成桁数」とはスタートバーを通過したデー
タの桁数とエンドバーを通過したデータの桁数との総和
の下限値を定めるものである。従って、読取桁数が増加
すると、これに略正比例して、重複部の桁数が増加する
のである。The second embodiment is characterized in that the number of digits required for the overlapped portion is changed according to the size of the number of read digits. FIG. 14 is an external RO in the second embodiment.
The composite digit number table stored in M47 (see FIG. 3) is shown. As is apparent from FIG. 14, when the number of read digits increases, the “combined number of digits” increases in almost direct proportion. This "composite digit number" defines the lower limit of the sum of the number of digits of data that has passed through the start bar and the number of digits of data that has passed through the end bar. Therefore, when the number of read digits increases, the number of digits of the overlapping portion increases in almost direct proportion.
【0068】図13は、合成桁数テーブルを参照して重
複部の桁数をチェックするために図5のS106におい
て実行されるデータ桁数チェックサブルーチンを示すフ
ローチャートであり、第1実施形態による図6のフロー
チャートに対応するものである。このデータ桁数チェッ
クサブルーチンに入って最初のS401では、S001
において設定された読取桁数を基に図14の合成桁数テ
ーブルを参照して、この読取桁数に対応する合成桁数情
報を読み出す(合成桁数設定手段に相当)。FIG. 13 is a flow chart showing a data digit number check subroutine executed in S106 of FIG. 5 to check the number of digits in the overlapped portion by referring to the composite digit number table. 6 corresponds to the flowchart of FIG. In the first step S401 after entering this data digit number check subroutine, S001
Based on the number of read digits set in (4), the combined digit number table of FIG. 14 is referred to, and the combined digit number information corresponding to the read digit number is read (corresponding to the combined digit number setting means).
【0069】次のS402では、スタートバーを通過し
たデータ列の桁数(キャラクタ数)とエンドバーを通過
したデータ列の桁数(キャラクタ数)とを合算する(総
和算出手段に相当)。次のS403では、S402にて
合算した総和がS401にて読み出された合成桁数を超
えているか否かをチェックする(比較手段に相当)。そ
して、この総和が読取桁数以下の場合では、データ列同
士の重複部分が全くないか、読取桁数に比して重複部の
桁数が十分ではない。従って、仮に重複部のデータが互
いに一致しても偶然一致しただけである可能性を否定を
することができない。そのため、データ誤読を排除すべ
く、処理をS002に戻し、現在RAM44に格納され
ているデータ列に代わる他のデータ列に対する復調処理
を実行する。これに対して、総和が合成桁数を超えてい
る場合には、偶然ではそのデータ同士が一致し得ない程
度の桁数を、重複部が持つこととなる。そのため、この
データ桁数チェックサブルーチンを終了して、図5のS
106にリターンする。In the next step S402, the number of digits (the number of characters) of the data string that has passed the start bar and the number of digits (the number of characters) of the data string that has passed the end bar are summed up (corresponding to the total sum calculation means). In the next step S403, it is checked whether or not the total sum added up in step S402 exceeds the combined digit number read in step S401 (corresponding to a comparison unit). If this total is less than or equal to the number of read digits, there is no overlap between the data strings, or the number of digits in the overlapped portion is insufficient compared to the number of read digits. Therefore, even if the data in the overlapping parts match each other, it cannot be denied that they may just match by chance. Therefore, in order to eliminate erroneous reading of data, the process is returned to S002, and the demodulation process for another data string in place of the data string currently stored in the RAM 44 is executed. On the other hand, when the total sum exceeds the combined digit number, the overlapping part has a digit number such that the data cannot coincide with each other by chance. Therefore, the subroutine for checking the number of data digits is completed, and S in FIG.
Return to 106.
【0070】このように、本第2実施例においては、読
取桁数の大小に応じてデータ内容の一致を要する重複部
の桁数を可変するようにしている(S401)。従っ
て、バーコードの桁数との相対的関係で、信頼性が十分
なデータ列のみからデータ合成を行うことができる。即
ち、図12に示すバーコード1とバーコード2とでは、
重複部の桁数が同じであってもバーコード全体の桁数が
相違しているので、バーコード全体に対する重複部の割
合が相違する。即ち、バーコード2における重複部の割
合は、バーコード1における重複部の割合よりも小さ
い。従って、バーコード1においてデータの誤読がない
としても、バーコード2においては重複部のデータ同士
の誤読によって偶然一致しているだけである可能性が高
い。そこで、その場合には、バーコード3として示すよ
うに、重複部として必要な桁数を増やすことにより、偶
然によって重複部のデータ同士が一致することがないよ
うにしているのである。As described above, in the second embodiment, the number of digits of the overlapped portion which requires the matching of the data contents is changed according to the size of the number of read digits (S401). Therefore, the data combination can be performed only from the data string having sufficient reliability in relation to the number of digits of the barcode. That is, the barcode 1 and the barcode 2 shown in FIG.
Even if the number of digits of the overlapping portion is the same, the number of digits of the entire barcode is different, and therefore the ratio of the overlapping portion to the entire barcode is different. That is, the ratio of the overlapping part in the barcode 2 is smaller than the ratio of the overlapping part in the barcode 1. Therefore, even if there is no erroneous reading of data in the barcode 1, there is a high possibility that the data in the barcode 2 will only coincide by chance due to erroneous reading of the data in the overlapping portion. Therefore, in that case, as shown by the barcode 3, the number of digits required for the overlapping portion is increased so that the data in the overlapping portion do not coincide with each other by accident.
【0071】本第2実施形態におけるその他のハード構
成及び処理内容は、第1実施形態のものと同一であるの
で、その説明を省略する。The other hardware configuration and processing contents in the second embodiment are the same as those in the first embodiment, and therefore their explanations are omitted.
【0072】[0072]
【発明の効果】以上のように構成された本発明のバーコ
ード読取装置及びバーコード読取方法によると、第1の
バーを含むが第2のバーを含まない第1の明暗パターン
データ列,及び、第2のバーを含むが第1のバーを含ま
ない第2の明暗パターンデータ列を、両者が同じデータ
からなる重複部を有している場合のみ相互に結合するよ
うにした。その結果、データの誤読が極力抑えられるの
で、これらデータ列に基づいてバーコード全体による読
取りデータを合成することが可能となった。従って、走
査方向の頻繁な修正を要することなく短時間でバーコー
ドの読取りを完了することができるようになる。According to the barcode reading apparatus and the barcode reading method of the present invention configured as described above, the first bright-dark pattern data string including the first bar but not the second bar, and , The second light-dark pattern data string including the second bar but not the first bar is connected to each other only when both have an overlapping portion formed of the same data. As a result, erroneous reading of data can be suppressed as much as possible, and it is possible to synthesize read data of the entire barcode based on these data strings. Therefore, it becomes possible to complete the reading of the bar code in a short time without requiring frequent correction in the scanning direction.
【図1】本発明の原理を示す原理図FIG. 1 is a principle diagram showing the principle of the present invention.
【図2】本発明の第1の実施形態によるバーコードリー
ダーのブロック図FIG. 2 is a block diagram of a barcode reader according to the first embodiment of the present invention.
【図3】図2のFIFOメモリ回路及びバーコード認識
/復調回路の詳細な構成を示すブロック図3 is a block diagram showing a detailed configuration of a FIFO memory circuit and a barcode recognition / demodulation circuit of FIG.
【図4】図3のCPUで実行されるバーコード認識/復
調処理プログラムの内容を示すフローチャート4 is a flowchart showing the contents of a barcode recognition / demodulation processing program executed by the CPU of FIG.
【図5】図4のS012で実行されるバーコード合成サ
ブルーチンの内容を示すフローチャートFIG. 5 is a flowchart showing the contents of a barcode synthesis subroutine executed in S012 of FIG.
【図6】図5のS106で実行されるデータ桁数チェッ
クサブルーチンの内容を示すフローチャートFIG. 6 is a flowchart showing the contents of a data digit number check subroutine executed in S106 of FIG.
【図7】図5のS109で実行される一致回数チェック
サブルーチンの内容を示すフローチャートFIG. 7 is a flowchart showing the contents of a match count check subroutine executed in S109 of FIG.
【図8】図3の外部RAMに格納された最小有効データ
桁数テーブルを示す図8 is a diagram showing a minimum valid data digit number table stored in the external RAM shown in FIG. 3;
【図9】セカンドコードの構成を示す図FIG. 9 is a diagram showing the configuration of a second code.
【図10】セカンドコードを読み取るための走査方向を
示す図FIG. 10 is a diagram showing a scanning direction for reading a second code.
【図11】読み取り桁数と最小有効データとの関係の説
明図FIG. 11 is an explanatory diagram of the relationship between the number of read digits and the minimum valid data.
【図12】読み取り桁数と重複部の桁数との関係の説明
図FIG. 12 is an explanatory diagram of the relationship between the number of digits to be read and the number of digits in the overlapping part.
【図13】本発明の第2の実施形態において図5のS1
06で実行されるデータ桁数チェックサブルーチンの内
容を示すフローチャートFIG. 13 shows S1 of FIG. 5 in the second embodiment of the present invention.
Flowchart showing contents of data digit number check subroutine executed in 06
【図14】本発明の第2の実施形態において図3の外部
RAMに格納された合成桁数テーブルを示す図FIG. 14 is a diagram showing a combined digit number table stored in the external RAM of FIG. 3 in the second embodiment of the present invention.
【図15】従来のバーコードリーダーにおいて実行され
るバーコード認識/復調処理プログラムの内容を示すフ
ローチャートFIG. 15 is a flowchart showing the contents of a barcode recognition / demodulation processing program executed by a conventional barcode reader.
1 レーザー光源 2 走査/集光光学系 3a バーコード 4 光検知器 5 二値化回路 6 バー幅カウンタ 8 フィルター回路 10 バーコード認識/復調回路 43 CPU 44 RAM 47 外部ROM 1 laser light source 2 scanning / focusing optical system 3a barcode 4 Light detector 5 Binarization circuit 6-bar width counter 8 filter circuits 10 Bar code recognition / demodulation circuit 43 CPU 44 RAM 47 External ROM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩口 功 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 篠田 一郎 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 Fターム(参考) 5B072 AA01 AA02 CC24 DD01 DD02 EE11 FF02 FF33 LL01 LL12 LL20 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Isao Iwaguchi 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Within Fujitsu Limited (72) Inventor Ichiro Shinoda 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Within Fujitsu Limited F term (reference) 5B072 AA01 AA02 CC24 DD01 DD02 EE11 FF02 FF33 LL01 LL12 LL20
Claims (4)
挟まれたバーコードを走査して、その走査軌跡における
明暗パターンデータ列を検出する明暗パターン検出手段
と、 前記明暗パターン検出手段によって検出された前記明暗
パターンデータ列をキャラクタ毎に分断して対応する前
記他の形式のデータに変換するデータ変換手段と、 前記第1のバーを含むが前記第2のバーを含まない前記
データ変換手段によって変換された第1の明暗パターン
データ列と前記第2のバーを含むが前記第1のバーを含
まない前記データ変換手段によって変換された第2の明
暗パターンデータ列とが前記明暗パターン検出手段によ
って検出されたときに、同じデータからなる重複部がこ
れら第1の明暗パターンデータ列と第2の明暗パターン
データ列とに夫々含まれているか否かを判定する重複部
判定手段と、 前記第1の明暗パターンデータ列及び第2の明暗パター
ンデータ列に前記重複部が夫々含まれているとこの重複
部判定手段によって判定された場合に、これら第1の明
暗パターンデータ列及び第2の明暗パターンデータ列を
結合する結合手段と、 前記重複部のキャラクタ数のしきい値を予め設定するし
きい値設定手段と、 前記第1の明暗パターンデータ列と前記第2の明暗パタ
ーンデータ列とに夫々含まれている重複部のキャラクタ
数が前記しきい値より少ないかどうかを比較し、前記重
複部のキャラクタ数がしきい値以上であった場合に前記
第1の明暗パターンデータ列及び前記第2の明暗パター
ンデータ列の読み取りを完了させる比較手段と、 前記比較手段による比較の結果、前記重複部のキャラク
タ数が前記しきい値より少なかった場合に、前記重複部
判定手段による前記判定を新たに前記明暗パターン検出
手段によって検出された前記第1の明暗パターンデータ
列と前記第2の明暗パターンデータ列に対して実行させ
る判定再実行手段と、を備えたことを特徴とするバーコ
ード読取装置。1. A light / dark pattern detecting means for scanning a bar code whose both ends are sandwiched by a first bar and a second bar to detect a light / dark pattern data string in a scanning locus, and the light / dark pattern detecting means. Data conversion means for dividing the detected light-dark pattern data sequence into characters corresponding to the other data and converting the data into other corresponding data, and the data conversion including the first bar but not the second bar. The first light-dark pattern data string converted by the means and the second light-dark pattern data string including the second bar but not the first bar are converted into the light-dark pattern data. When detected by the means, an overlapping portion composed of the same data overlaps the first light-dark pattern data string and the second light-dark pattern data string. And an overlapping portion determining unit that determines whether or not the overlapping portion is included in each of the first light-dark pattern data sequence and the second light-dark pattern data sequence. The first light-dark pattern data string and the second light-dark pattern data string are combined, a threshold setting unit that presets a threshold value for the number of characters in the overlapping portion, The number of characters in the overlapping portion included in each of the first light and dark pattern data string and the second light and dark pattern data string is smaller than the threshold value is compared, and the number of characters in the overlapping portion is the threshold value. A comparison unit that completes reading of the first light-dark pattern data string and the second light-dark pattern data string when the above is satisfied, and the comparison result by the comparison unit, When the number of characters in the multiple part is less than the threshold value, the first bright / dark pattern data string and the second bright / dark pattern newly detected by the bright / dark pattern detecting means are newly determined by the overlapping portion determining means. And a determination re-execution unit for executing the pattern data sequence.
するキャラクタ数特定手段を更に備えることを特徴とす
る請求項1記載のバーコード読取装置。2. The bar code reading device according to claim 1, further comprising a character number specifying means for specifying the number of characters of the bar code to be read.
数特定手段によって特定された前記キャラクタ数が大き
くなるにつれて前記しきい値のキャラクタ数を大きく設
定することを特徴とする請求項2記載のバーコード読取
装置。3. The threshold value setting means sets the number of characters of the threshold value larger as the number of characters specified by the character number specifying means increases. Bar code reader.
パターンデータ列と第2の明暗パターンデータ列とに重
複部が含まれていると判定した場合に、このパターン列
の一致回数を1つ増加させる処理を行い、 前記比較手段が、前記重複部のキャラクタ数を比較した
結果、しきい値以上の場合に参照値を1とし、しきい値
未満の場合に参照値を2とし、前記一致回数と参照値を
比較して一致回数が参照値以上の場合には前記読み取り
を完了させ、 前記一致回数が参照値未満の場合には前記判定際実行手
段が、前記しきい値設定手段による判定及び前記比較手
段による比較を再度実行させることを特徴とする請求項
1から3のいずれかに記載のバーコード読取装置。4. When the threshold value setting means determines that the first light-dark pattern data string and the second light-dark pattern data string include an overlapping portion, the number of times the pattern strings match each other. Is increased by one, and the comparison unit compares the number of characters in the overlapping portion with each other, and when the result is equal to or more than the threshold value, the reference value is 1, and when the number is less than the threshold value, the reference value is 2. When the number of matches is greater than or equal to a reference value, the reading is completed, and when the number of matches is less than the reference value, the determination execution means is configured to set the threshold value. 4. The bar code reading device according to claim 1, wherein the determination by the means and the comparison by the comparison means are executed again.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192271A JP2003036416A (en) | 2002-07-01 | 2002-07-01 | Barcode reader |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192271A JP2003036416A (en) | 2002-07-01 | 2002-07-01 | Barcode reader |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23732695A Division JP3470738B2 (en) | 1995-09-14 | 1995-09-14 | Barcode reading device and barcode reading method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003036416A true JP2003036416A (en) | 2003-02-07 |
Family
ID=19195526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192271A Pending JP2003036416A (en) | 2002-07-01 | 2002-07-01 | Barcode reader |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003036416A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008010513A1 (en) * | 2006-07-19 | 2008-01-24 | B-Core Inc. | Optical symbol, article to which the optical symbol is attached, method for attaching optical symbol to article, optical symbol decoding method, related device, and related program |
WO2015098241A1 (en) * | 2013-12-25 | 2015-07-02 | ウイングアーク1st株式会社 | Code reading device and code reading program |
-
2002
- 2002-07-01 JP JP2002192271A patent/JP2003036416A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008010513A1 (en) * | 2006-07-19 | 2008-01-24 | B-Core Inc. | Optical symbol, article to which the optical symbol is attached, method for attaching optical symbol to article, optical symbol decoding method, related device, and related program |
US8113432B2 (en) | 2006-07-19 | 2012-02-14 | B-Core Inc. | Apparatus for recognizing an optical recognition code in which a code symbol of a 1-dimensional color bit code indicative of certain data is divided into a plurality of code symbols |
WO2015098241A1 (en) * | 2013-12-25 | 2015-07-02 | ウイングアーク1st株式会社 | Code reading device and code reading program |
CN105900111A (en) * | 2013-12-25 | 2016-08-24 | 文雅科番株式会社 | Code reading device and code reading program |
US9582703B2 (en) | 2013-12-25 | 2017-02-28 | Wingarc1St Inc. | Code reading device and code reading program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3470738B2 (en) | Barcode reading device and barcode reading method | |
US6095419A (en) | Bar code reading apparatus for reading plural code systems | |
US4488678A (en) | Method and apparatus for reading a bar code | |
EP0043124B1 (en) | Method for decoding bar-coded labels | |
US5929421A (en) | Method and apparatus for recognizing and assembling optical code information from partially scanned segments | |
US20070071320A1 (en) | Detection method of two-dimensional code, detection device for the same, and storage medium storing detection program for the same | |
JPH03204790A (en) | Decoding of bar code from partial scanning | |
US6247646B1 (en) | Bar code reader, and bar code reading method | |
EP0943132B1 (en) | Method and apparatus for decoding bar code symbols using ratio analysis of module size | |
US5537431A (en) | Method and apparatus for bar code reading and decoding | |
EP0653721A2 (en) | Digitizer for bar code reader | |
US6343742B2 (en) | Bar code reader and bar code reading method | |
US6206286B1 (en) | Bar code reader | |
JPH09161001A (en) | Bar code reader | |
KR100308415B1 (en) | Bar code reading device, bar code reading method and computer readable medium | |
JP2003036416A (en) | Barcode reader | |
US5393968A (en) | Method and device for reading bar code | |
JPH09179926A (en) | Method for demodulating bar code and bar code reader | |
US6070801A (en) | Bar code reader, bar code reading method and computer readable medium | |
JP3083464B2 (en) | Barcode detection device and detection method | |
JP4154871B2 (en) | Bar code reading method and bar code reading apparatus | |
JPH07230522A (en) | Method and device for demodulating bar code | |
EP1117059B1 (en) | Bar code reader and bar code reading method | |
JP3472691B2 (en) | Barcode reading device and barcode reading method | |
JP2641991B2 (en) | Data processing method of bar code reader |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040913 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050105 |