JP2000357205A - バーコード読取装置及びバーコード読取方法 - Google Patents
バーコード読取装置及びバーコード読取方法Info
- Publication number
- JP2000357205A JP2000357205A JP11167155A JP16715599A JP2000357205A JP 2000357205 A JP2000357205 A JP 2000357205A JP 11167155 A JP11167155 A JP 11167155A JP 16715599 A JP16715599 A JP 16715599A JP 2000357205 A JP2000357205 A JP 2000357205A
- Authority
- JP
- Japan
- Prior art keywords
- bar
- white
- black
- bar code
- bars
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 68
- 238000006243 chemical reaction Methods 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 51
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 53
- 238000012937 correction Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 36
- 230000002159 abnormal effect Effects 0.000 description 19
- 230000003287 optical effect Effects 0.000 description 13
- 239000000872 buffer Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1486—Setting the threshold-width for bar codes to be decoded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
しまったバーを複数本のバーとして推測補正することに
より、読取異常のバーコードの復調を可能にする。 【解決手段】 複数本の白バー及び複数本の黒バーから
構成されるバーコード30を読み取るバーコード読取装
置は、読み取られた白バー及び黒バーの幅をそれぞれ示
すバー幅値BCDを生成する生成手段8と、上記バー幅
値に基づいて、読み取られた上記バーコードが所定の規
格条件を満たすか否かを判定する判定手段12と、上記
バーコードを構成する上記白バー及び上記黒バーのいず
れかを、当該色のバーの間に白黒が反転したバーが挟ま
れる複数本のバーに変換する変換手段12とを備える。
そして、上記判定手段により当該バーコードが所定の規
格条件を満たしていないと判定された場合、上記変換手
段により当該バーコードを構成する上記白バー及び上記
黒バーのいずれかを変換した後、上記判定手段により再
判定を行う。
Description
照射して反射光の強度変化を検出することによってバー
コードを読み取り、これをデータに復調するバーコード
読取装置及びバーコード読取方法に関する。
of Sales)システムに代表されるように、商品等の管理
をバーコードによって行うことが一般化している。例え
ば、商店のPOSシステムでは、商品の種類や販売価格
等の情報をバーコードのフォーマットにコード化して商
品に印刷または貼り付けておく。そして、精算場所のレ
ジスタにより商品のバーコードを読み取ることによっ
て、料金精算を行うとともに、商品の売り上げ数をリア
ルタイムで集計し、在庫管理や仕入れ管理に役立てるよ
うにしている。
Cコード、UPCコード、EANコード及びJANコー
ド等の固定長コードと、可変長のセカンドコードとに大
別される。この可変長コードとは、規格上長さ(バーの
数)の定めがないコードであり、例えば、ITF(Inte
rleaved Two of Five)コード、CODE39、NW7
及びCODE128等が挙げられる。
るガードバー(GB)と中間部に挿入されるセンターバ
ー(CB)とを有し、各ガードバーとセンターバーとの
間に各々4または6キャラクタ分のデータキャラクタが
配置されている。この場合、前半のデータキャラクタの
みが読み取られても、このデータキャラクタが先端側の
ガードバー(LGB)及びセンターバーに挟まれている
ことから、バーコードを構成するデータであると認識さ
れ得る。同様に、後半のデータキャラクタのみが読み取
られても、このデータキャラクタがセンターバー及び後
端側のガードバー(RGB)に挟まれていることから、
バーコードを構成するデータであると認識され得る。従
って、バーコードを構成する前半のデータキャラクタ及
び後半のデータキャラクタを別個に読み取ったデータに
基づいて、バーコード全体による読取データを合成する
ことができる。
ーコード読取装置(バーコードリーダ)は、バーコード
の形成されている商品が小さい場合に用いられる固定型
と、商品が大きい場合等に用いられるハンディ型とに大
別される。
操作者がバーコードの方向をあまり意識しなくてもバー
コードの読み取りができるように、読み取り用の照射光
を多数方向に走査する機構が設けられている。即ち、読
み取り照射光としてのレーザービームをポリゴンミラー
と固定反射鏡とを併用して、ポリゴンミラーの一反射面
での走査中に多数の方向に走査するようにしている。そ
して、このような走査中にレーザビームの商品表面での
反射光を受光し、この受光された反射光の強度変化情報
(反射光情報)を復調処理回路においてバーコード用の
復調アルゴリズムによって復調し、バーコードにコード
化されていたデータを抽出するようにしている。
は、商品の通過速度(リーダに対する移動速度)が速い
場合でもバーコード読み取りを正確に行えるように高性
能化することが求められている。そのため、ポリゴンミ
ラーを高速回転させてレーザ走査速度を高めることによ
り、バーコードリーダ上を通過する商品のバーコードに
レーザービームがヒットする確率(バーコードの走査確
率)を高めようとする試みがなされている。
ゴンミラーの駆動モータの回転数を高くする必要があ
る。しかし、このモータの回転数上昇に伴い、消費電流
が増大するため、大電流容量の電源装置が必要になるだ
けではなく、アナログ系回路の高周波数特性に応答する
高性能ICの搭載が二値化回路などに必要になる。これ
らはいずれもバーコードリーダ自体及び関係設備の大幅
なコスト上昇の要因になる。
用していないバーコードリーダが多い。
コードリーダにおいては、バーコードの取り込み回数が
十分でなく、商品の通過速度が速いとせいぜい1回程度
しかバーコードのデータ取り込みができないという問題
がある。
は、白黒の二値化をするか否かの判定基準として、所定
の電圧以上は白/黒のエッジ信号(WEG、BEG)を
出力するためにスライスレベル(しきい値)を設けてい
る。このスライスレベルは、回路ノイズの影響が商品表
面の凹凸によるノイズまでをエッジ信号として出力しな
いようにするために、ある程度高めに設定されている。
PCS値(白黒の反射率の差)が低いバーコードや色付
きのバーコードなどの場合、またリーダのバーコード読
取部と商品との通過距離が大きい場合、反射光の戻り光
量が少なくなる。
くなり、スライスレベルを下回る結果、ノイズとして判
断され、エッジ信号が出力されなくなる。また、仮にス
ライスレベルを僅かに上回ったとしても振幅が小さいと
ころでは、S/N比が悪く、回路ノイズ等の影響により
スライスレベルを下回り、エッジ信号が出力されないと
きがある。
畳した場合、バーコード対応の光電変換波形の微分信号
の振幅がスライスレベルを下回ってしまい、複数本のバ
ーが1本のバーに見えてしまって、バーコードのデータ
を正確に抽出し復調できなくなる。
ー)として読み取ってしまったバーを複数本のバーとし
て推測補正することにより、読取異常のバーコードの復
調を可能にするバーコード読取装置及びバーコード読取
方法を提供することにある。
読取装置は、複数本の白バー及び複数本の黒バーから構
成されるバーコードを読み取るバーコード読取装置にお
いて;読み取られた白バー及び黒バーの幅をそれぞれ示
すバー幅値を生成する生成手段と;前記バー幅値に基づ
いて、読み取られた前記バーコードが所定の規格条件を
満たすか否かを判定する判定手段と;前記バーコードを
構成する前記白バー及び前記黒バーのいずれかを、当該
色のバーの間に白黒が反転したバーが挟まれる複数本の
バーに変換する変換手段とを備え;前記判定手段により
当該バーコードが所定の規格条件を満たしていないと判
定された場合、前記変換手段により当該バーコードを構
成する前記白バー及び前記黒バーのいずれかを変換した
後、前記判定手段により再判定を行う構成である。
前記変換手段は変換対象のバーをそれぞれ基本最小単位
の倍数の幅対応の複数本のバーに変換する構成を採るこ
とができる。また、前記変換手段は、変換した前記複数
本のバーが前記バーコードのスタートガードバー、セン
ターバー、及びエンドガードバーのいずれにも対応しな
いとき、前記変換を有効にする。さらに、前記変換手段
は、前記複数本のバーに変換する部分を前記バーコード
の一箇所だけとする。
本の白バー及び複数本の黒バーから構成されるバーコー
ドを読み取るバーコード読取装置において;読み取られ
た白バー及び黒バーの幅をそれぞれ示すバー幅値を生成
する生成手段と;前記バー幅値に基づいて、読み取られ
た前記バーコードのパターンを判定する判定手段とを備
え;前記判定手段は、読み取られた前記パターンがそれ
ぞれ基本最小単位幅対応の1本の白バー及び1本の黒バ
ーと基本最小単位の3倍の幅対応の白バー及び黒バーの
いずれかとを有する場合と、それぞれ基本最小単位幅対
応の2本の白バー及び基本最小単位の3倍の幅対応の黒
バーを有する場合とのいずれかにおいて、当該パターン
を前記バーコードのセンターバーに対応する部分である
と推定する構成である。
読み取られた前記パターンが前記バーコードのスタート
ガードバーから前記センターバーを経由しエンドガード
バーまでを一走査により読み取ったパターンであると
き、当該パターンを前記バーコードの前記センターバー
対応部分と推定した前記判定手段による判定を有効にす
る。また、読み取られた前記パターンが前記バーコード
のスタートガードバーと前記センターバーとの間及び前
記センターバーとエンドガードバーとの間のいずれかま
でを一走査により読み取ったパターンであるとき、当該
パターンを前記バーコードの前記センターバー対応部分
と推定した前記判定手段による判定を有効にすることが
できる。
及び暗部を有するバーコードからの反射光を受光して前
記バーコードの読み取りを行うバーコード読取装置にお
いて;受光量に応じた振幅を持つ明暗パターン信号を生
成する生成手段と;前記明暗パターン信号の明部から暗
部への第1の変化点と前記明暗パターン信号の暗部から
明部への第2の変化点とをそれぞれ検出する第1の検出
手段と;前記第1の変化点から前記第2の変化点までの
間隔と前記第2の変化点から前記第1の変化点までの間
隔とをそれぞれ計測する計測手段と;前記第1の変化点
及び前記第2の変化点のいずれかが連続して検出された
か否かを検出する第2の検出手段と;前記バーコードを
構成する白バー及び黒バーのいずれかを当該色のバーの
間に白黒が反転したバーが挟まれる複数本のバーに変換
する変換手段とを備え;前記第2の検出手段により前記
第1の変化点及び前記第2の変化点のいずれかが連続し
て検出された場合、前記変換手段は当該変化点に対応す
る白バー及び黒バーのいずれかに対する変換を実行する
構成である。
白バー及び複数本の黒バーから構成されるバーコードを
読み取るバーコード読取方法において;読み取られた白
バー及び黒バーの幅をそれぞれ示すバー幅値を生成する
第1のステップと;前記バー幅値に基づいて、読み取ら
れた前記バーコードが所定の規格条件を満たすか否かを
判定する第2のステップと;前記バーコードを構成する
前記白バー及び前記黒バーのいずれかを、当該色のバー
の間に白黒が反転したバーが挟まれる複数本のバーに変
換する第3のステップとを備え;前記第2のステップに
おいて当該バーコードが所定の規格条件を満たしていな
いと判定された場合、前記第3のステップにより当該バ
ーコードを構成する前記白バー及び前記黒バーのいずれ
かを変換した後、前記第2のステップにより再判定を行
う構成である。
本の白バー及び複数本の黒バーから構成されるバーコー
ドを読み取るバーコード読取方法において;読み取られ
た白バー及び黒バーの幅をそれぞれ示すバー幅値を生成
する第1のステップと;前記バー幅値に基づいて、読み
取られた前記バーコードのパターンを判定する第2のス
テップとを備え;前記第2のステップは、読み取られた
前記パターンがそれぞれ基本最小単位幅対応の1本の白
バー及び1本の黒バーと基本最小単位の3倍の幅対応の
白バー及び黒バーのいずれかとを有する場合と、それぞ
れ基本最小単位幅対応の2本の白バー及び基本最小単位
の3倍の幅対応の黒バーを有する場合とのいずれかにお
いて、当該パターンを前記バーコードのセンターバーに
対応する部分であると推定する構成である。
及び暗部を有するバーコードからの反射光を受光して前
記バーコードの読み取りを行うバーコード読取方法にお
いて;受光量に応じた振幅を持つ明暗パターン信号を生
成する第1のステップと;前記明暗パターン信号の明部
から暗部への第1の変化点と前記明暗パターン信号の暗
部から明部への第2の変化点とをそれぞれ検出する第2
のステップと;前記第1の変化点から前記第2の変化点
までの間隔と前記第2の変化点から前記第1の変化点ま
での間隔とをそれぞれ計測する第3のステップと;前記
第1の変化点及び前記第2の変化点のいずれかが連続し
て検出されたか否かを検出する第4のステップと;前記
バーコードを構成する白バー及び黒バーのいずれかを当
該色のバーの間に白黒が反転したバーが挟まれる複数本
のバーに変換する第5のステップとを備え;前記第4の
ステップにおいて前記第1の変化点及び前記第2の変化
点のいずれかが連続して検出された場合、前記第5のス
テップは当該変化点に対応する白バー及び黒バーのいず
れかに対する変換を実行する構成である。
ド読取方法によれば、物体(商品)を高速に通過(移
動)させた場合にバーコードを読み取れないで読取異常
と処理したものを救済することができる。この結果、物
体を高速に通過させたときのバーコードの読取率が向上
する。
置とこれに対して通過させる物体との距離が適当でない
場合などにバーコード読取異常と処理したものを救済す
ることができる。この結果、バーコードの読取エリアが
拡大する。
て図面を参照して説明する。 <バーコード読取装置(バーコードリーダ)の構成>本
発明の一実施の形態によるバーコード読取装置(バーコ
ードリーダ)の構成を示す図1を参照すると、レーザー
光源1はレーザービームLを出射する半導体レーザであ
る。このレーザー光源1から出射されたレーザービーム
Lは走査・集光光学系2に入射される。この走査・集光
光学系2はポリゴンミラーによってレーザービームLを
偏向するとともに、偏向されたレーザービームLを複数
の固定ミラーで種々の方向に反射させる光学系である。
この走査・集光光学系2によると、ポリゴンミラーの一
反射面による偏向周期内で、この走査・集光光学系2の
上方に向けて、複数の方向へのレーザービーム走査が連
続的に行われる。
Lが商品3の表面に当たると、この表面においてレーザ
ービームLが乱反射され、その反射光Rの一部が走査・
集光光学系2に戻る。走査・集光光学系2はこの反射光
Rを光検知器4に入力する。光検知器4は、レーザービ
ームL(反射光R)と同じ波長の光のみを透過するフィ
ルタが被せられたホトダイオードであり、反射光Rの強
度変化に応じた電流を出力する。
射光Rの強度変化に応じた電流信号の立ち上がり及び立
ち下がり時、つまりバーコード(マージンを含む)の黒
バー(暗部)から白バー(明部)への変化点及び白バー
から黒バーへの変化点において電流信号レベルに応じた
振幅の微分信号(厳密には、1回微分の電圧信号)を二
値化回路6に出力する。なお、この微分回路5の前段に
は、光検知器4の出力の電流信号を所定レベルに増幅す
るための増幅回路が設けられることもある。
と後に詳述するスライスレベル発生回路7からの第1の
スライスレベル及び第2のスライスレベルとを比較し、
微分信号の振幅が第1のスライスレベルを超えるときは
バーコードの黒バーから白バーへの変化点(白エッジ)
を示す白エッジパルスWEGを出力し、微分信号の振幅
が第2のスライスレベルを超えるときはバーコードの白
バーから黒バーへの変化点(黒エッジ)を示す黒エッジ
パルスBEGを出力する。これらの白エッジパルスWE
G及び黒エッジパルスBEGはそれぞれ変化点において
論理「H(1)」レベルから論理「L(0)」レベルに
変化する矩形信号である。
に入力するための第1のスライスレベル及び第2のスラ
イスレベルの電圧信号を発生する。第1のスライスレベ
ルは二値化回路6において白エッジを検出するための+
レベルのしきい値であり、第2のスライスレベルは黒エ
ッジを検出するための−レベルのしきい値である。
5の出力の微分信号のピークホールドを求め、微分信号
の振幅が大きいときには、その振幅に応じた第1及び第
2のスライスレベルを可変設定するが、微分信号の振幅
が小さいときには、第1及び第2のスライスレベルを予
め定めたレベル(例えば、±300mV)に固定するよ
うに動作する。
された白エッジパルスWEG及び黒エッジパルスBEG
に基づいて、白エッジパルスWEGのタイミングから黒
エッジパルスBEGのタイミングまでの時間(バーコー
ド30中の白バーの幅に対応するものと期待される)
と、黒エッジパルスBEGのタイミングから白エッジパ
ルスWEGのタイミングまでの時間(バーコード30中
の黒バーの幅に対応するものと期待される)とを測定す
る。そして、このバー幅カウンタ8はこれらバー幅に対
応する時間を計測するためにクロック発生回路9からの
クロックパルスの数をカウントし、これらバー幅に対応
するカウント値を示すバー幅カウント値BCDをフィル
タ回路10に出力する。
ント値BCDと同時に、そのバーが黒バーか白バーかを
示す色識別信号B/Wをフィルタ回路10に出力する。
この色識別は白エッジパルスWEG及び黒エッジパルス
BEGの入力状態に基づいて行うことができる。したが
って、この色識別のための回路は、例えば、白エッジパ
ルスWEG及び黒エッジパルスBEGをそれぞれ入力
し、これらエッジパルスのそれぞれに対応して論理レベ
ル「H(1)」信号及び論理レベル「L(0)」信号を
出力するフリップフロップ回路により構成できる。
30の読取正常時に交互に入力される二値化回路6から
の白エッジパルスWEG及び黒エッジパルスBEGのい
ずれかが2回連続的に入力されたとき、異常信号として
ウエーブエラー信号WEをフィルタ回路10に送出す
る。この実施の形態では、後述する第5のバーコード補
正処理時にウエーブエラー信号WEを利用する。
入力された各カウント値BCDを論理的に判定し、明ら
かにバーコード30からの反射光R以外の要因による強
度変化を示すカウント値(例えば、商品のバーコード周
辺のデザイン部を走査した際に発生する無駄データ対応
のカウント値)を除去し、バーコード30の各バーの幅
を示すバー幅カウント値BCDである蓋然性が高いもの
だけを抽出して色識別信号B/Wとともに次段のFIF
Oメモリ回路11に渡す。このフィルタ回路10の無駄
データ除去作用は、後述するバーコード認識・復調回路
12における復調処理の負荷軽減及び精度向上に寄与し
ている。
0を通過したバー幅カウント値BCD及びこれに付加さ
れた色識別信号B/Wを一旦保持するとともに、保持し
た順序に従ってバー幅カウント値BCD及び色識別信号
B/Wを出力する先入れ先出しメモリであり、バッファ
として機能する。このFIFOメモリ回路11は短時間
に大量のバー幅カウント値BCDが発生した場合、バー
コード認識・復調回路12における復調処理が間に合わ
ないためにメモリオーバーフローになること、つまりバ
ー幅カウント値BCDの取りこぼしを回避するための緩
衝作用を有する。
メモリ回路11から読み出された各バー幅カウント値B
CDに対して所定の認識・復調処理プログラムを実行し
て、バーコードにコード化されていた各種のデータを取
り出すプロセッサである。
ここで、上記バーコード認識・復調回路12の詳細構成
を前段に配置されるFIFOメモリ回路11とともに説
明する。
回路12の前段にはFIFOメモリ回路11が配置され
ている。このFIFOメモリ回路11の入出力信号にお
いて、信号BCDはフィルタ回路10を構成する複数段
のバッファ(図示省略)のうちの最終段のバッファから
出力されるバー幅カウント値を示す。また、信号B/W
はフィルタ回路10の最終段のバッファから出力される
バー色(黒/白)を示す色識別信号を示す。さらに、信
号WEはフィルタ回路10の最終段のバッファから出力
されるウエーブエラー信号を示す。
信号(SFTIN)が送信されてきた時に、FIFOメ
モり回路11によって読み取られる。また、これらの信
号を読み取ると、FIFOメモリ回路11はインプット
レディ信号(IR)をバー幅カウンタ8(図1参照)に
向けて送出する。
コード認識・復調回路12とは、外部バス(16ビット
構成)EBによって接続されている。そして、FIFO
メモリ回路11は、最先に読み込んだバー幅カウント値
BCD及び色識別信号B/Wを外部バスEBを介してバ
ーコード認識・復調回路12に向けて出力するととも
に、これら信号の取り込みを指示する信号(OR)をバ
ーコード認識・復調回路12に対して発行する。そし
て、バーコード認識・復調回路12がこれらの信号の取
り込み完了を示す信号(SFTOUT)を通知してくる
と、次のバー幅カウント値BCD及び色識別信号B/W
をバーコード認識・復調回路12に向けて出力する。
ド認識・復調回路12とを接続する外部バスEBには、
外部メモリ回路としてRAM13及びROM14が接続
されている。RAM13はFIFOメモリ回路11から
送信されたデータ(バー幅カウント値BCD及び色識別
信号B/W)を一時的に格納するランダムアクセスメモ
リである。また、ROM14はバーコード認識・復調回
路12の制御回路(後に詳述)が実行する各種プログラ
ムを格納するリードオンリーメモリである。
(32ビット構成)LBによって夫々接続された制御回
路(CPU)120、メモリ回路(RAM)121、ユ
ニバーサルアシンクロナスレシーバトランスミッタ(U
ART)122、ダイレクトメモリアクセスコントロー
ラ(DMAC)123、及び内部バスLBと外部バスE
Bとの間に接続されたバスステートコントローラ(BS
C)124から構成されている。
プから構成され、バーコード認識・復調回路12全体の
制御を行い、FIFOメモリ回路11から送信されたバ
ー幅カウント値BCD及び色識別信号B/Wに基づくバ
ーコードの認識及び復調処理を実行する。
4は内部バスLB及び外部バスEBの状態を管理する入
出力インタフェースである。ダイレクトメモリアクセス
コントローラ(DMAC)123は、FIFOメモリ回
路11から信号の取り込みを指示する信号(OR)が入
力されると、FIFOメモリ回路11から送信されてき
ているバー幅カウント値BCD及び色識別信号B/Wの
データを一旦外部のRAM13に取り込んだ後、バスス
テートコントローラ124を制御して、このRAM13
に比べて小容量の内部のRAM121に格納させるため
に転送する。この転送が完了すると、DMAC123は
データの取り込み完了を示す信号(SFTOUT)をF
IFOメモリ回路11に返送する。
ンスミッタ(UART)122はパラレル情報として復
調されたキャラクタ情報(復調バーコードデータ)をシ
リアル信号に変換して図示省略のRS−232Cポート
から外部のPOSなどに出力するパラレル/シリアルイ
ンタフェースである。
ダ)の動作>以上述べた構成を採るバーコードリーダの
動作について、図1、図2及び図3を併用して説明す
る。
ると、レーザー光源1から出射されたレーザービームL
が走査・集光光学系2によってあらゆる方向に走査され
る。使用者が商品3のバーコード30が付されている面
を走査・集光光学系2上に置くか、その上を通過(移
動)すると、この面の走査が行われる。そして、レーザ
ービームLがこの商品3の面上におけるバーコード30
の白バー(明部)及び黒バー(暗部)に当たると、バー
色に対応した反射光Rが走査・集光光学系2に戻って光
検知器4に受光される。
幅の基本最小単位(最小幅)を1モジュールとしてお
り、またバーコードを構成するバーの最大幅は4モジュ
ールである。さらに、1キャラクタは2本の黒バー及び
2本の白バーから構成され、1キャラクタの幅は7モジ
ュールである。
(A)に示すように、3モジュールの黒バーBa、3モ
ジュールの白バーWa、1モジュールの黒バーBb、1
モジュールの白バーWb、1モジュールの黒バーBc、
1モジュールの白バーWc、2モジュールの黒バーB
d、3モジュールの白バーWd……である場合、走査・
集光光学系2からのレーザービームLが各バーを順次照
射し、バー幅とバー色に対応した反射光Rが走査・集光
光学系2に戻って光検知器4に受光される。
オードの光電変換波形40は図3(B)に示すようにな
る。同図に示すように、バーコード30に照射されるレ
ーザービームLは白バー位置では反射され、黒バー位置
では吸収されるため、光電変換波形40のレベルは黒バ
ー照射位置では低下する。
30の走査順に光検知器4から微分回路5に入力され
る。微分回路5は図3(C)に示すように、光電変換波
形40の立ち下がり(黒エッジ)及び立ち上がり(白エ
ッジ)箇所で−レベル及び+レベルの振幅の微分信号5
0を出力する。時刻T4において点線で示す微分信号5
0はバーコード読取異常時の出力状態であり、補正手法
については後に詳述する。
ら入力された+スライスレベル70及び−スライスレベ
ル71を基準にして、微分回路5から入力される各微分
信号50の振幅を判定する。この結果、−スライスレベ
ル71を微分信号50の振幅が超える場合、白バーから
黒バーへの変化点である黒エッジを示す矩形信号が黒エ
ッジパルスBEGとして出力される。また、+スライス
レベル70を微分信号50の振幅が超える場合、黒バー
から白バーへの変化点である白エッジを示す矩形信号が
白エッジパルスWEGとして出力される。
T7に黒エッジパルスBEGがそれぞれ出力され、時刻
T2、T4、T6、T8に白エッジパルスWEGがそれ
ぞれ出力された状態を示す。なお、微分信号50が点線
で示す時刻T4対応の出力状態であるとき、時刻T4で
の白エッジパルスWEGは二値化回路6から出力されな
い。この理由及び補正手法については後に詳述する。
される黒エッジパルスBEG及び白エッジパルスWEG
に基づいて、図3(E)、図3(F)及び図3(G)に
示すような色識別信号B/W、バー幅カウント値BCD
及びウェーブエラー信号WEを生成する。バー幅カウン
タ8は黒エッジパルスBEGの入力から白エッジパルス
WEGの入力までの時間においては、論理「H(1)」
レベルの黒バーを示す色識別信号Bを出力する。また、
バー幅カウンタ8は白エッジパルスWEGの入力から黒
エッジパルスBEGの入力までの時間においては、論理
「L(0)」レベルの白バーを示す色識別信号Wを出力
する。この例では、バーコード読取正常時、図3(E)
に示す色識別信号B/W「B」、「W」が交互に出力さ
れる。
Gが二値化回路6から入力された時点から白エッジパル
スWEGが入力されるまで、または白エッジパルスWE
Gが二値化回路6から入力された時点から黒エッジパル
スBEGが入力されるまでの時間、クロック発生回路9
から入力されるクロックパルスのカウント動作をそれぞ
れ行い、計数結果のデータをバー幅カウント値BCDと
してフィルタ回路10に出力する。この例では、バーコ
ード読取正常時、図3(F)に示すバー幅カウント値B
CD、つまり10進数表現の「300、300、10
0、100、100、100、200、300」が出力
される。
記10進数を2進数で表した2進化10進数のデータ形
式でバー幅カウンタ8から出力される。なお、ウエーブ
エラー信号WEについては、後に詳述する。
力されたバー幅カウント値BCD及び色識別信号B/W
は、フィルタ回路10において、明らかにバーコード3
0からの反射光R以外の要因による強度変化を示すカウ
ント値(例えば、商品のバーコード周辺のデザイン部を
走査した際に発生する無駄データ対応のカウント値)に
該当するときは除去され、バーコード30の各バーの幅
を示すバー幅カウント値BCDである蓋然性の高いもの
だけが色識別信号B/Wとともに次段のFIFOメモリ
回路11に入力される。短時間に大量のバー幅カウント
値BCDが発生した場合の緩衝作用を有するFIFOメ
モリ回路11は、フィルタ回路10を通過したバー幅カ
ウント値BCD及びこれに付加された色識別信号B/W
を一旦保持する。
メモリ回路11からバー幅カウント値BCD及び色識別
信号B/Wを読み出し、所定の認識・復調処理プログラ
ムを実行して、バーコード30にコード化されていた各
種のデータを取り出す。
ーコード認識・復調回路12におけるバーコードの認識
及び復調処理について説明する。なお、バーコード認識
・復調回路12は、FIFOメモリ回路11からバー幅
カウント値BCD及び色識別信号B/Wを内部のRAM
121に取り込むとき、上述したように、ダイレクトメ
モリアクセスコントローラ(DMAC)123がFIF
Oメモリ回路11から送信されるバー幅カウント値BC
D及び色識別信号B/Wのデータを一旦外部のRAM1
3に取り込んだ後、バスステートコントローラ124を
制御して、このRAM13に比べて小容量のRAM12
1に格納させるために転送する処理を行うが、以下の説
明ではこれに関する詳細なデータ及び信号の送受信は省
略する。
(CPU)120において実行されるバーコード認識・
復調処理プログラムの内容を示す図4を図1、図2及び
図3と併せ参照すると、この処理プログラムは、バーコ
ードリーダに電源が投入されることによりスタートす
る。
FIFOメモリ回路11から転送済みのバー幅カウント
値BCD及び色識別信号B/Wのデータを内部のRAM
121から順次読み込む。
だ一連のデータ(データブロック)のバー幅カウント値
BCDに基づき、バー幅のモジュール値を算出する。つ
まり、読み込んだデータに基づき、基本最小単位(1モ
ジュール相当)のバー幅カウント値BCDを探し出すと
ともに、他のバー幅カウント値BCDが基本最小単位の
バー幅カウント値BCDの何倍であるか(2、3、4の
いずれのモジュールに相当するか)を算出する。この例
では、バーコード読取正常時、図3(H)に示すよう
に、複数のモジュール値(バー幅データ列)BD「3、
3、1、1、1、1、2、3」が算出される。算出され
たバー幅のモジュール値の各々はRAM121のワーク
エリアに一時的に格納されるが、ここではこの詳細説明
を省略する。
複数のモジュール値、つまりバー幅データ列BDに基づ
き、スタートコードチェック、エンドコードチェック、
センターバーチェック、及びキャラクタ長チェックなど
のバーコード規格に照らし合わせたチェックを行う。
では、マージン(白バー7モジュール以上)とこれに続
くスタートガードバー(レフトガードバー)LGBとを
検出する。このスタートガードバーLGBは黒バー1モ
ジュール・白バー1モジュール・黒バー1モジュール構
成の3モジュール分である。エンドコードチェックで
は、エンドガードバー(ライトガードバー)RGBとこ
れに続くマージン(白バー7モジュール以上)とを検出
する。このエンドガードバーRGBは黒バー1モジュー
ル・白バー1モジュール・黒バー1モジュール構成の3
モジュール分である。また、センターバーチェックで
は、白バー1モジュール・黒バー1モジュール・白バー
1モジュール・黒バー1モジュール・白バー1モジュー
ル構成で5モジュール分のセンターバーCBを検出す
る。
第1キャラクタ長チェック、隣接キャラクタ間のキャラ
クタ長チェック、及びエンドキャラクタ長チェックの3
種類がある。第1キャラクタ長チェックでは、複数のモ
ジュール値(バー幅データ列)に基づき、スタートガー
ドバーLGBまたはセンターバーCBと第1キャラクタ
の幅(モジュール値)とを比較する。隣接キャラクタ間
のキャラクタ長チェックでは、隣接するキャラクタ同士
のモジュール長が7モジュール/1キャラクタで等しい
か否かをチェックする。また、エンドキャラクタ長チェ
ックでは、エンドガードバーRGBまたはセンターバー
CBとエンドキャラクタの幅(モジュール値)とを比較
する。
てのチェックが正常であるとき、そのバー幅データ列が
正規のバーコード部分であると仮判定(認識)して、処
理をS405に進めるが、いずれかのチェックが異常の
ときは、その都度、後に詳述のS409のモジュール補
正処理に移る。
コード部分であると仮判定されたバー幅データ列の1キ
ャラクタ分(白バー2本及び黒バー2本に相当する4個
のバー幅カウント値及び色識別信号)のデータのパター
ンに対応するキャラクタ情報に順次変換(復調)してR
AM121に格納する。
復調バーコードデータであるキャラクタ情報を1キャラ
クタ分づつ順次読み出してキャラクタ構成チェックを行
う。このキャラクタ構成チェックは後述するモジュラス
10チェックとともにバーコードの誤読防止のためのチ
ェック手法である。
ラクタのOdd/Even(奇数:O/偶数:E)構成
により、コード(UPC、EANなど)を区別するOd
d/Evenキャラクタ構成チェックがある。例えば、
12桁構成のUPCコードでは、フラグキャラクタが
「4」のとき、バーコードの左側のキャラクタ構成(O
dd/Evenの並び方)は「O、E、O、O、E、
E」であり、右側のキャラクタ構成は「E、E、E、
E、E、E」である。7モジュール構成の各キャラクタ
内の黒バーのモジュール数の総和が奇数であるときは
「Odd」、また白バーのモジュール数の総和が偶数で
あるときは「Even」である。
構成チェックで正常であった復調バーコードデータのキ
ャラクタ情報をRAM121から読み出してモジュラス
10チェックを行う。このモジュラス10チェックで
は、復調バーコードデータの全桁の奇数番号の桁のデー
タを加算するとともに、偶数番号の桁のデータを加算す
る。そして、偶数番号の桁のデータの加算結果を3倍し
た数値と、奇数番号の桁のデータの加算結果との和が1
0の倍数であることをチェックする。
あれば、S408において、RAM121に格納してい
たキャラクタ情報(復調バーコードデータ)をユニバー
サルアシンクロナスレシーバトランスミッタ(UAR
T)122を通して外部装置(POS)に送信する。
うために、処理をS401に戻す。また、S406、S
407において、異常と判定されたときは、S411で
データを破棄した後、それぞれ処理をS401に戻す。
全てのバーコードの復調が完了した場合は処理を終了す
る。
03でのチェックのいずれかが異常であった場合、従来
のバーコードリーダにおいては、そのバー幅データ列を
破棄していた。しかし、このようにデータ破棄を行う
と、高速で商品を通過させたときの読取率の低下を免れ
ないので、次に述べるモジュール補正処理をS409で
行う。
認識・復調処理プログラムにおけるモジュール補正処理
S409の第1の例を示す図5を併せ参照すると、S4
04で異常判定されたバー幅データ列の中からモジュー
ル値が3モジュールか否かを順次調べていき、3モジュ
ールであった場合には、それを3本(3バー)の1モジ
ュールに分解する(S501、S502)。
たバー幅データ列BDが「黒バー1モジュール(B1)
・白バー3モジュール(W3)・黒バー2モジュール
(B2)」であった場合、W3のバー幅データを各1モ
ジュールの3バーに分解し、「B1、W1、B1、W
1、B2」のバー幅データ列BDHに補正する。
ジパルスBEGが二値化回路6から出力されなくなる箇
所は微分信号50の振幅の小さい箇所(図3(C)中の
時刻T4)に対応し、そこには主に1モジュールの複数
バーが連続しているからである。このような箇所におい
ては、連続する複数のバーが見かけ上、1本のバーとし
て抽出され、読取異常を引き起こす。
いてS403及びS404と同様のチェック処理及び判
定処理を行う(S503、S504)。この結果、正規
のバーコード部分と仮判定されたときは、補正が正しい
としてキャラクタ復調処理S405に進む。
のバー幅データをチェックしたか否か判断し、完了して
いればS411でデータ破棄を行い、S401に戻る。
また、S410で未完了のときは、S501に戻り、R
AM121の次の3モジュールのバー幅データを格納す
る位置を指定するためのポインタをインクリメントし、
S502以降の処理を繰り返す。
点線で示すように微分信号50が+スラスレベル70を
超えないことに起因して、時刻T4で白エッジパルスW
EGが二値化回路6から送出されないため(図3(D)
参照)、バー幅カウンタ8から送出されるバー幅カウン
ト値BCD及び色識別信号B/Wが本来「100、10
0、100」及び「B、W、B」であるべきところが
「300」及び「B」となる(図3(E)、(F)参
照)。この結果、バーコード認識・復調回路12では、
本来バー幅データ(モジュール値)BD「1、1、1」
の3本のバーをBD「3」の1本のバーとして検出する
(図3(H)参照)。上述した第1のモジュール補正処
理により、このバー幅データBD「3」の1本のバーを
各1モジュールの3本のバーに補正できる(図3(I)
参照)。
バーに分解して補正する箇所は一連のバー幅データ列
(データブロック)の1箇所に特定する厳しい条件で実
施することもできる。
コード認識・復調処理プログラムにおけるモジュール補
正処理S409の第2の例を示す図7を併せ参照する
と、S404で異常判定されたバー幅データ列の中から
隣り合う3本のバーのモジュール値が、特定パターン
(1)「白バー1モジュール(W1)・黒バー1モジュ
ール(B1)・白バー3モジュール(W3)」、特定パ
ターン(2)「白バー1モジュール(W1)・黒バー3
モジュール(B3)・白バー1モジュール(W1)」、
及び特定パターン(3)「白バー3モジュール(W3)
・黒バー1モジュール(B1)・白バー1モジュール
(W1)」のいずれかに合致するか否かを順次調べてい
く(S601、S602)。
それがセンターバーCBであると推定し、3モジュール
のバー幅データを各1モジュールの3バーに分解し、
「W1、B1、W1、B1、W1」のバー幅データ列に
補正する(S603)。ここで、図8(A)を参照する
と、バーコード読取正常時のセンターバーCBは白バー
1モジュール・黒バー1モジュール・白バー1モジュー
ル・黒バー1モジュール・白バー1モジュールの5モジ
ュール構成で検出される。上記S404でバー幅データ
列が正規のバーコード部分ではないと異常判定される場
合、白エッジパルスWEG及び黒エッジパルスBEGの
いずれかが二値化回路6から出力されなくなる。その箇
所は微分信号50の振幅の小さい箇所に対応し、そこに
は主に1モジュールの複数バーが連続しているからであ
る。このような箇所においては、連続する複数のバーが
見かけ上、1本のバーとして抽出され、読取異常を引き
起こす。したがって、異常判定されたバー幅データ列が
上記特定パターン(1)、(2)、(3)のいずれかに
合致する場合、それはセンターバーCBであると推定で
きるので、図8(B)、(C)、(D)に示すように、
3モジュールのバー幅データを各1モジュールの3バー
に分解し補正する。
い場合は、S601に戻り、RAM121の次の1モジ
ュールのバー幅データを格納する位置を指定するための
ポインタをインクリメントし、S602以降の処理を繰
り返す。
403及びS404と同様のチェック処理及び判定処理
を行う(S604、S605)。この結果、正規のバー
コード部分と仮判定されたときは、補正が正しいとして
キャラクタ復調処理S405に進む。
のバー幅データをチェックしたか否か判断し、完了して
いればS411でデータ破棄を行い終了する。また、S
410で未完了のときは、S601に戻り、RAM12
1の次の1モジュールのバー幅データを格納する位置を
指定するためのポインタをインクリメントし、S602
以降の処理を繰り返す。
コード認識・復調処理プログラムにおけるモジュール補
正処理S409の第3の例を示す図9を併せ参照する
と、S404で異常判定されたバー幅データ列の中から
隣り合う3本のバーのモジュール値が、特定パターン
(1)「白バー1モジュール(W1)・黒バー1モジュ
ール(B1)・白バー3モジュール(W3)」、特定パ
ターン(2)「白バー1モジュール(W1)・黒バー3
モジュール(B3)・白バー1モジュール(W1)」、
及び特定パターン(3)「白バー3モジュール(W3)
・黒バー1モジュール(B1)・白バー1モジュール
(W1)」のいずれかに合致するか否かを順次調べてい
く(S701、S702)。
第2のモジュール補正処理において述べた理由により、
それがセンターバーCBであると推定し、3モジュール
のバー幅データを各1モジュールの3バーに分解し、
「W1、B1、W1、B1、W1」のバー幅データ列に
補正する(S703)。
い場合は、S701に戻り、RAM121の次の1モジ
ュールのバー幅データを格納する位置を指定するための
ポインタをインクリメントし、S702以降の処理を繰
り返す。
403及びS404と同様のチェック処理及び判定処理
を行う(S704、S705)。この結果、正規のバー
コード部分と仮判定されたときは、S706で更に厳し
い条件で判定する。この判定においては、そのバー幅デ
ータ列がバーコード読取手法の一気通貫読取データ、つ
まりスタートガードバーLGBからセンターバーCBを
経由しエンドガードバーRGBまで途切れなく続いてい
るか否か(一走査で読み取られている状態か否か)をチ
ェックする。
取データ、つまりセンターバーCBからスタートガード
バーLGB及びエンドガードバーRGBのいずれかまで
途切れなく続いているか否かをチェックする処理を代替
採用してもよい。更に、一気通貫読取手法及び半ブロッ
ク読取手法の両機能を有するバーコードリーダにおいて
は、この判定条件に一気通貫読取データチェック及びブ
ロック読取データチェックの双方を採用してもよい。
合は、補正が正しいとしてキャラクタ復調処理S405
に進む。また、判定の結果、条件に合致しない場合は、
S701の処理に戻り、RAM121の次の1モジュー
ルのバー幅データを格納する位置を指定するためのポイ
ンタをインクリメントし、S702以降の処理を繰り返
す。
連の全てのバー幅データをチェックしたか否か判断し、
完了していればS411でデータ破棄を行い、S401
に戻る。また、S410で未完了のときは、S701に
戻り、RAM121の次の1モジュールのバー幅データ
を格納する位置を指定するためのポインタをインクリメ
ントし、S702以降の処理を繰り返す。
コード認識・復調処理プログラムにおけるモジュール補
正処理S409の第4の例を示す図10を併せ参照する
と、S404で異常判定されたバー幅データ列の中から
モジュール値が3モジュールか否かを順次調べていき、
3モジュールであった場合には、それを3本(3バー)
の1モジュールに分解する(S801、S802)。
「黒バー1モジュール(B1)・白バー3モジュール
(W3)・黒バー2モジュール(B2)」であった場
合、W3のバー幅データを各1モジュールの3バーに分
解し、「B1、W1、B1、W1、B2」のバー幅デー
タ列に補正する。
403及びS404と同様のチェック処理及び判定処理
を行う(S803、S804)。この結果、正規のバー
コード部分と仮判定されたときは、S805で更に厳し
い条件で判定する。この判定においては、S802で1
モジュールの3バーに分解したバー幅データの位置を記
憶しておき、そのバー幅データがスタートガードバーL
GB、センターバーCB、及びエンドガードバーRGB
のいずれにも対応しない、つまりキャラクタ構成部分で
あるか否かをチェックする。
補正が正しいとしてキャラクタ復調処理S405に進
む。また、判定の結果、条件に合致しない場合は、S8
01の処理に戻り、RAM121の次の3モジュールの
バー幅データを格納する位置を指定するためのポインタ
をインクリメントし、S802以降の処理を繰り返す。
連の全てのバー幅データをチェックしたか否か判断し、
完了していればS411でデータ破棄を行い、S401
に戻る。また、S410で未完了のときは、S801に
戻り、RAM121の次の3モジュールのバー幅データ
を格納する位置を指定するためのポインタをインクリメ
ントし、S802以降の処理を繰り返す。
コード認識・復調処理プログラムにおけるモジュール補
正処理S409の第5の例について説明する。
ド読取異常時には、微分回路5から出力される微分信号
50は、時刻T4において、その振幅が+スライスレベ
ル70を下回る。本来、この微分信号50はバーコード
30の黒バーBbから白バーWbの変化点に対応するた
め、+スライスレベル70を超える振幅で出力されなけ
ればならないが、バーコード読取時のノイズの影響など
により、この現象が生じる。この結果、二値化回路6は
時刻T4において、白エッジパルスWEGを出力しな
い。
エラー検出回路は、図3及び更に詳細な図11に示すよ
うに、バーコード読取正常時に交互に入力される黒エッ
ジパルスBEG及び白エッジパルスWEGのいずかが2
回連続で入力された場合、論理「H(1)」レベルのウ
エーブエラー信号WEを出力する。したがって、ウエー
ブエラー検出回路は二値化回路6から時刻T3及びT5
に黒エッジパルスBEGを2回連続で受信するので、図
3(G)及び図11(B)に示すように、論理レベル
「H(1)」のウエーブエラー信号WEを出力する。
の黒エッジパルスBEGから計数動作を開始し、時刻T
6での白エッジパルスWEGの入力時に計数動作を終了
して、図3(E)及び(F)に示すように、3モジュー
ルの黒バーに対応するバー幅カウント値BCD「30
0」及び色識別信号B/W「B」を出力する。
ウンタ8から出力されたバー幅カウント値BCD「30
0」、色識別信号B/W「B」及びウエーブエラー信号
WE「H」をフィルタ回路10及びFIFOメモリ回路
11を介して内部のRAM121から読み込んでモジュ
ール補正処理を実施する。
のモジュール補正処理は次の考えに基づいている。制御
回路(CPU)120はバーコード認識・復調処理プロ
グラムによるモジュール補正処理において、3モジュー
ルの1バーを1モジュールの3バーに分解するとき、ウ
エーブエラー信号WEが論理レベル「H」か否かをチェ
ックする。CPU120はウエーブエラー信号WEの状
態をチェックすることにより、3モジュール1バーのバ
ー幅データが正規の3モジュール対応のバー幅データ
か、また微分信号50の振幅がバーコード読取時のノイ
ズの影響などによりスライスレベルを下回った結果の見
かけ上の3モジュール対応のバー幅データ(図3(H)
参照)かをある程度の確率で判定することができる。こ
れにより、CPU120は見かけ上の3モジュール対応
のバー幅データを1モジュールの3バーに補正できる
(図3(I)参照)。
た理由は、ウエーブエラー信号WEが論理レベル「H」
のときは、図3を参照して既述したように見かけ上の3
モジュールになる。しかし、ウエーブエラー信号WEが
論理レベル「L」のとき、つまり、例えば図3(D)に
示す時刻T5における黒エッジパルスBEGが時刻T4
における白エッジパルスWEGとともに出力されないバ
ーコード読取異常時(更に詳細な図11(C)に点線で
示す状態には)、CPU120はウエーブエラー信号W
Eが検出されないので、正規の3モジュールか見かけ上
の3モジュールかを判定できないからである。
・復調プログラムのS404で異常判定されたバー幅デ
ータ列の中からモジュール値が3モジュールであり、か
つウエーブエラー信号WE対応の付加ビットが論理レベ
ル「H」を示す「1」信号であるか否かを順次調べてい
く(S901、S902)。この付加ビットが「1」信
号でなかった場合は、RAM121の次の3モジュール
のバー幅データを格納する位置を指定するためのポイン
タをインクリメントし、S902以降の処理を繰り返
す。
には、対応の3モジュール1バーのバー幅データを3本
(3バー)の1モジュールに分解する(S903)。例
えば、異常判定されたバー幅データ列が「黒バー1モジ
ュール(B1)・白バー3モジュール(W3)・黒バー
2モジュール(B2)」であった場合、W3のバー幅デ
ータを各1モジュールの3バーに分解し、「B1、W
1、B1、W1、B2」のバー幅データ列に補正する。
403及びS404と同様のチェック処理及び判定処理
を行う(S904、S905)。この結果、正規のバー
コード部分と仮判定されたときは、補正が正しいとして
キャラクタ復調処理S405に進む。
のバー幅データをチェックしたか否か判断し、完了して
いればS411でデータ破棄を行い、S401に戻る。
また、S410で未完了のときは、S901に戻り、R
AM121の次の3モジュールのバー幅データを格納す
る位置を指定するためのポインタをインクリメントし、
S902以降の処理を繰り返す。なお、このモジュール
補正処理においては、S401でバー幅カウント値BC
D及び色識別信号B/Wに加え、ウエーブエラー信号W
EがRAM121から読み込まれる。
は、見かけ上、1本のバーとして読み取ってしまった3
モジュールのバーを1モジュールの3本のバーに補正す
る例で説明したが、例えば4モジュールのバーを1モジ
ュール及び2モジュールの3本のバー(つまり、バー幅
データ「1、2、1」や「2、1、1」)に補正する手
法を採ることができる。
物体(商品)を高速に通過(移動)させた場合にバーコ
ードを読み取れないで読取異常と処理したものを救済す
ることができる。この結果、物体を高速に通過させたと
きのバーコードの読取率が向上する。
置とこれに対して通過させる物体との距離が適当でない
場合などにバーコード読取異常と処理したものを救済す
ることができる。この結果、バーコードの読取エリアが
拡大する。
ーダの構成を示すブロック図。
を示すブロック図。
ーダの動作を説明するための図。
識・復調処理手順を示すフローチャート。
る第1のモジュール補正処理手順を示すフローチャー
ト。
ールの1バーを1モジュールの3バーに補正する動作説
明図。
る第2のモジュール補正処理手順を示すフローチャー
ト。
ーンのバー幅データ列をセンターバーと推定できる理由
を説明するための図。
る第3のモジュール補正処理手順を示すフローチャー
ト。
ける第4のモジュール補正処理手順を示すフローチャー
ト。
ブエラー信号を説明するための図。
ける第5のモジュール補正処理手順を示すフローチャー
ト。
Claims (11)
- 【請求項1】 複数本の白バー及び複数本の黒バーから
構成されるバーコードを読み取るバーコード読取装置に
おいて;読み取られた白バー及び黒バーの幅をそれぞれ
示すバー幅値を生成する生成手段と;前記バー幅値に基
づいて、読み取られた前記バーコードが所定の規格条件
を満たすか否かを判定する判定手段と;前記バーコード
を構成する前記白バー及び前記黒バーのいずれかを、当
該色のバーの間に白黒が反転したバーが挟まれる複数本
のバーに変換する変換手段とを備え;前記判定手段によ
り当該バーコードが所定の規格条件を満たしていないと
判定された場合、前記変換手段により当該バーコードを
構成する前記白バー及び前記黒バーのいずれかを変換し
た後、前記判定手段により再判定を行う;ことを特徴と
するバーコード読取装置。 - 【請求項2】 前記変換手段は変換対象のバーをそれぞ
れ基本最小単位の倍数の幅対応の複数本のバーに変換す
ることを特徴とする請求項1記載のバーコード読取装
置。 - 【請求項3】 前記変換手段は、変換した前記複数本の
バーが前記バーコードのスタートガードバー、センター
バー、及びエンドガードバーのいずれにも対応しないと
き、前記変換を有効にすることを特徴とする請求項1ま
たは2記載のバーコード読取装置。 - 【請求項4】 前記変換手段は、前記複数本のバーに変
換する部分を前記バーコードの一箇所だけとすることを
特徴とする請求項1または2記載のバーコード読取装
置。 - 【請求項5】 複数本の白バー及び複数本の黒バーから
構成されるバーコードを読み取るバーコード読取装置に
おいて;読み取られた白バー及び黒バーの幅をそれぞれ
示すバー幅値を生成する生成手段と;前記バー幅値に基
づいて、読み取られた前記バーコードのパターンを判定
する判定手段とを備え;前記判定手段は、読み取られた
前記パターンがそれぞれ基本最小単位幅対応の1本の白
バー及び1本の黒バーと基本最小単位の3倍の幅対応の
白バー及び黒バーのいずれかとを有する場合と、それぞ
れ基本最小単位幅対応の2本の白バー及び基本最小単位
の3倍の幅対応の黒バーを有する場合とのいずれかにお
いて、当該パターンを前記バーコードのセンターバーに
対応する部分であると推定する;ことを特徴とするバー
コード読取装置。 - 【請求項6】 読み取られた前記パターンが前記バーコ
ードのスタートガードバーから前記センターバーを経由
しエンドガードバーまでを一走査により読み取ったパタ
ーンであるとき、当該パターンを前記バーコードの前記
センターバー対応部分と推定した前記判定手段による判
定を有効にすることを特徴とする請求項5記載のバーコ
ード読取装置。 - 【請求項7】 読み取られた前記パターンが前記バーコ
ードのスタートガードバーと前記センターバーとの間及
び前記センターバーとエンドガードバーとの間のいずれ
かまでを一走査により読み取ったパターンであるとき、
当該パターンを前記バーコードの前記センターバー対応
部分と推定した前記判定手段による判定を有効にするこ
とを特徴とする請求項5記載のバーコード読取装置。 - 【請求項8】 明部及び暗部を有するバーコードからの
反射光を受光して前記バーコードの読み取りを行うバー
コード読取装置において;受光量に応じた振幅を持つ明
暗パターン信号を生成する生成手段と;前記明暗パター
ン信号の明部から暗部への第1の変化点と前記明暗パタ
ーン信号の暗部から明部への第2の変化点とをそれぞれ
検出する第1の検出手段と;前記第1の変化点から前記
第2の変化点までの間隔と前記第2の変化点から前記第
1の変化点までの間隔とをそれぞれ計測する計測手段
と;前記第1の変化点及び前記第2の変化点のいずれか
が連続して検出されたか否かを検出する第2の検出手段
と;前記バーコードを構成する白バー及び黒バーのいず
れかを当該色のバーの間に白黒が反転したバーが挟まれ
る複数本のバーに変換する変換手段とを備え;前記第2
の検出手段により前記第1の変化点及び前記第2の変化
点のいずれかが連続して検出された場合、前記変換手段
は当該変化点に対応する白バー及び黒バーのいずれかに
対する変換を実行する;ことを特徴とするバーコード読
取装置。 - 【請求項9】 複数本の白バー及び複数本の黒バーから
構成されるバーコードを読み取るバーコード読取方法に
おいて;読み取られた白バー及び黒バーの幅をそれぞれ
示すバー幅値を生成する第1のステップと;前記バー幅
値に基づいて、読み取られた前記バーコードが所定の規
格条件を満たすか否かを判定する第2のステップと;前
記バーコードを構成する前記白バー及び前記黒バーのい
ずれかを、当該色のバーの間に白黒が反転したバーが挟
まれる複数本のバーに変換する第3のステップとを備
え;前記第2のステップにおいて当該バーコードが所定
の規格条件を満たしていないと判定された場合、前記第
3のステップにより当該バーコードを構成する前記白バ
ー及び前記黒バーのいずれかを変換した後、前記第2の
ステップにより再判定を行う;ことを特徴とするバーコ
ード読取方法。 - 【請求項10】 複数本の白バー及び複数本の黒バーか
ら構成されるバーコードを読み取るバーコード読取方法
において;読み取られた白バー及び黒バーの幅をそれぞ
れ示すバー幅値を生成する第1のステップと;前記バー
幅値に基づいて、読み取られた前記バーコードのパター
ンを判定する第2のステップとを備え;前記第2のステ
ップは、読み取られた前記パターンがそれぞれ基本最小
単位幅対応の1本の白バー及び1本の黒バーと基本最小
単位の3倍の幅対応の白バー及び黒バーのいずれかとを
有する場合と、それぞれ基本最小単位幅対応の2本の白
バー及び基本最小単位の3倍の幅対応の黒バーを有する
場合とのいずれかにおいて、当該パターンを前記バーコ
ードのセンターバーに対応する部分であると推定する;
ことを特徴とするバーコード読取方法。 - 【請求項11】 明部及び暗部を有するバーコードから
の反射光を受光して前記バーコードの読み取りを行うバ
ーコード読取方法において;受光量に応じた振幅を持つ
明暗パターン信号を生成する第1のステップと;前記明
暗パターン信号の明部から暗部への第1の変化点と前記
明暗パターン信号の暗部から明部への第2の変化点とを
それぞれ検出する第2のステップと;前記第1の変化点
から前記第2の変化点までの間隔と前記第2の変化点か
ら前記第1の変化点までの間隔とをそれぞれ計測する第
3のステップと;前記第1の変化点及び前記第2の変化
点のいずれかが連続して検出されたか否かを検出する第
4のステップと;前記バーコードを構成する白バー及び
黒バーのいずれかを当該色のバーの間に白黒が反転した
バーが挟まれる複数本のバーに変換する第5のステップ
とを備え;前記第4のステップにおいて前記第1の変化
点及び前記第2の変化点のいずれかが連続して検出され
た場合、前記第5のステップは当該変化点に対応する白
バー及び黒バーのいずれかに対する変換を実行する;こ
とを特徴とするバーコード読取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16715599A JP4117368B2 (ja) | 1999-06-14 | 1999-06-14 | バーコード読取装置及びバーコード読取方法 |
US09/494,364 US6247646B1 (en) | 1999-06-14 | 2000-01-31 | Bar code reader, and bar code reading method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16715599A JP4117368B2 (ja) | 1999-06-14 | 1999-06-14 | バーコード読取装置及びバーコード読取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000357205A true JP2000357205A (ja) | 2000-12-26 |
JP4117368B2 JP4117368B2 (ja) | 2008-07-16 |
Family
ID=15844452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16715599A Expired - Fee Related JP4117368B2 (ja) | 1999-06-14 | 1999-06-14 | バーコード読取装置及びバーコード読取方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6247646B1 (ja) |
JP (1) | JP4117368B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427920B1 (en) * | 1999-09-24 | 2002-08-06 | Xerox Corporation | High frequency masking of embedded digital data to improve appearance |
WO2010090159A1 (ja) * | 2009-02-05 | 2010-08-12 | 株式会社オプトエレクトロニクス | 光学的情報読取装置及び光学的情報読取方法 |
JP2010211561A (ja) * | 2009-03-11 | 2010-09-24 | Denso Wave Inc | 光学的情報読取装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4356144B2 (ja) * | 1999-07-15 | 2009-11-04 | 富士通株式会社 | 二値化回路及びコード読取装置 |
US6834803B2 (en) * | 2000-12-15 | 2004-12-28 | Symbol Technologies, Inc. | Ink-spread compensated bar code symbology and compensation methods |
US7299989B2 (en) * | 2000-12-15 | 2007-11-27 | Symbol Technologies, Inc. | System and method for decoding and encoding compensated optical codes |
US6478224B1 (en) * | 2001-03-02 | 2002-11-12 | Psc Scanning, Inc. | Symbology-independent method and apparatus for identifying potential bar code data |
US7072974B2 (en) * | 2001-03-27 | 2006-07-04 | The Code Corporation | Extensible application interface using machine-readable graphical codes |
US7185824B2 (en) * | 2001-04-13 | 2007-03-06 | The Code Corporation | System and method for associating pre-printed machine-readable graphical codes with electronically-accessible data |
US6978038B2 (en) * | 2001-04-13 | 2005-12-20 | The Code Corporation | Systems and methods for pixel gain compensation in machine-readable graphical codes |
US20030163396A1 (en) * | 2002-02-27 | 2003-08-28 | John Blankevoort | Systems and methods for tracking products as they move through a supply chain |
JP4257132B2 (ja) * | 2003-02-21 | 2009-04-22 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
JP4070631B2 (ja) * | 2003-02-21 | 2008-04-02 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
US7353999B2 (en) * | 2004-01-16 | 2008-04-08 | The Code Corporation | Graphical code reader configured for data collection and decoding |
US7204417B2 (en) * | 2004-11-03 | 2007-04-17 | The Code Corporation | Graphical code reader that is configured for efficient decoder management |
US7545541B2 (en) * | 2005-05-20 | 2009-06-09 | Sharp Laboratories Of America, Inc. | Systems and methods for embedding metadata in a color measurement target |
US8668149B2 (en) * | 2009-09-16 | 2014-03-11 | Metrologic Instruments, Inc. | Bar code reader terminal and methods for operating the same having misread detection apparatus |
US8813598B2 (en) * | 2009-11-24 | 2014-08-26 | Hiwin Technologies Corp. | Ball screw |
US10049247B2 (en) * | 2016-10-12 | 2018-08-14 | Datalogic Usa, Inc. | Optimization of image frame management in a sweep-style optical code data reader |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5331137A (en) * | 1992-07-14 | 1994-07-19 | Symbol Technologies, Inc. | Machine readable code combining preprinted indicia with hand-mark data |
-
1999
- 1999-06-14 JP JP16715599A patent/JP4117368B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-31 US US09/494,364 patent/US6247646B1/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427920B1 (en) * | 1999-09-24 | 2002-08-06 | Xerox Corporation | High frequency masking of embedded digital data to improve appearance |
WO2010090159A1 (ja) * | 2009-02-05 | 2010-08-12 | 株式会社オプトエレクトロニクス | 光学的情報読取装置及び光学的情報読取方法 |
JP5349504B2 (ja) * | 2009-02-05 | 2013-11-20 | 株式会社オプトエレクトロニクス | 光学的情報読取装置及び光学的情報読取方法 |
JP2010211561A (ja) * | 2009-03-11 | 2010-09-24 | Denso Wave Inc | 光学的情報読取装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4117368B2 (ja) | 2008-07-16 |
US6247646B1 (en) | 2001-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4117368B2 (ja) | バーコード読取装置及びバーコード読取方法 | |
US4329574A (en) | Bar code candidate select circuit | |
US4717818A (en) | Bar code label identification circuit | |
US4542528A (en) | OCR and bar code reader with optimized sensor | |
US4748317A (en) | Optical reader | |
US4020357A (en) | Signal processing for print scanners | |
EP0029455B1 (en) | Symbol processing system | |
EP0067414A2 (en) | Method and apparatus for reading a bar code | |
EP0029456B1 (en) | Slot scanning system | |
US5189289A (en) | Distinguishing bar code types by comparing bar block sizes | |
US5637853A (en) | Reading indicia by analysis of different light reflecting portions based on signal-to-noise ratios | |
CA1218459A (en) | Optical reader | |
JP3083464B2 (ja) | バーコード検出装置及び検出方法 | |
JP3292635B2 (ja) | バーコード読取装置 | |
JPH0981660A (ja) | バーコード読取装置及びバーコード読取方法 | |
US6478224B1 (en) | Symbology-independent method and apparatus for identifying potential bar code data | |
US20040164160A1 (en) | Bar-code reader, method of reading a bar code, and computer product | |
JP2953143B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
CA1078061A (en) | Multiple code sensing optical reader | |
JP2750244B2 (ja) | バーコードデコーダのデコード方法 | |
JP3606228B2 (ja) | バーコード読取装置 | |
JPH0589278A (ja) | バーコードシンボル読取装置 | |
JPS63266585A (ja) | 読み取り制御方式 | |
JPH07334609A (ja) | バーコード読取装置 | |
JPH06337954A (ja) | バーコードデコーダのデコード方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060327 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080303 |
|
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: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080326 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110502 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120502 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130502 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140502 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |