JP2836773B2 - バーコードデータ検出方法及び装置 - Google Patents

バーコードデータ検出方法及び装置

Info

Publication number
JP2836773B2
JP2836773B2 JP5320146A JP32014693A JP2836773B2 JP 2836773 B2 JP2836773 B2 JP 2836773B2 JP 5320146 A JP5320146 A JP 5320146A JP 32014693 A JP32014693 A JP 32014693A JP 2836773 B2 JP2836773 B2 JP 2836773B2
Authority
JP
Japan
Prior art keywords
address
bar
data block
data
width
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.)
Expired - Fee Related
Application number
JP5320146A
Other languages
English (en)
Other versions
JPH07175886A (ja
Inventor
光雄 渡辺
弘晃 川合
伸一 佐藤
一郎 篠田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5320146A priority Critical patent/JP2836773B2/ja
Priority to GB9419025A priority patent/GB2284916B/en
Priority to US08/307,450 priority patent/US5519199A/en
Publication of JPH07175886A publication Critical patent/JPH07175886A/ja
Application granted granted Critical
Publication of JP2836773B2 publication Critical patent/JP2836773B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、レーザ光線等の反射光
により、バーコードデータを読み取るスキャナ装置にお
いて、紙面ノイズや印刷方法に依存せず正確にバーコー
ドデータを検出する方法及び装置に関する。
【0002】
【従来の技術】最近では、百貨店やスーパーマーケット
等の大手販売店から小売店にいたるまで、従来のキーイ
ン方式のレジスタに代わって自動読取方式のレジスタを
組み込んだPOS(Point Of Sales)システムが普及し
てきている。
【0003】POSシステムは、従来のキーイン方式の
レジスタが顧客の買上金額を即座に正確に計算する機能
のみを有しているのに対して、買上金額の算出・精算、
商品別の売上情報、配送・仕入情報、在庫情報等を統括
して行うシステムである。
【0004】POSシステムには、顧客の買上金額を入
力する方式としてバーコード方式が採用されており、各
商品には商品の属性を示す分類コードを示すバーコード
が付加されている。店員は、顧客の買上金額を入力する
際に、商品に付加されたバーコードをバーコードリーダ
に読み込ませるだけでよく、システム内ではバーコード
リーダの読み込んだ分類コードに基づいて商品の価格を
判別し、これをレジカウンタに設置されたPOSターミ
ナルのディスプレイ上に表示する。さらに、システム内
では買上商品の合計金額を算出し、POSターミナルの
ディスプレイ上に表示する。
【0005】このバーコード方式によれば、店員は各商
品の分類コードや価格をいちいち入力する手間が省ける
と共に、誤入力を防止することができる。また、この方
式は、簡単な論理で安価に実現でき、且つ印刷されたバ
ーを対象とするため読取精度が高いという利点がある。
【0006】上記バーコードリーダは、バーコードにレ
ーザ光線等の光線を照射し、バーに反射した光を解析し
てバーの幅を判別するものである。一方、バーコードの
フォーマットとしては、UPC(UNIVERSAL PRODUCT CO
DE;商品統一分類コード)に準拠したフォーマットが一
般的であり、このUPCは、JIS規格で標準化されて
いるJAN(JAPANESE ARTICLE NUMBER)や、欧州で標
準化されているEAN(EUROPEAN ARTICLE NUMBER)と
の互換性を有するバーコードのフォーマットである。U
PCの桁数は、標準13桁、短縮8桁を用いるように規
定されている。
【0007】図11にUPCの標準13桁のフォーマッ
トを示す。同図において、UPCは、左右端部にそれぞ
れに左ガイドバー(LGB)と右ガイドバー(RGB)
とを有すると共に、バーコードの中心にセンタバー(C
B)を有する。さらに、左右ガイドバーの外側には特定
値以上のマージン部を備えることが規定されている。
【0008】UPCの左ガイドバー(LGB)とセンタ
バー(CB)との間に収容される6桁のバーキャラクタ
群(以下、左データブロックと記す)は、通常、商品メ
ーカ識別コードを示している。一方、センタバー(C
B)と右ガイドバー(RGB)との間に収容される6桁
のバーキャラクタ群(以下、右データブロックと記す)
のうち、左5桁のバーキャラクタは、通常、商品アイテ
ム識別コードを示し、残り1桁のバーキャラクタはモジ
ュラチェックキャラクタを示す。
【0009】バーコードリーダは、左右のマージン部と
左右のガイドバーをスキャンした場合に限り、左右ブロ
ックのバーキャラクタを所定のデータ形式へ復調するこ
とができる。詳細には、バーコードリーダは、バーコー
ドをスキャンして各バーキャラクタのバー幅を検出し、
これらのバー幅データ群をデータバッファに格納する。
そして、データバッファに格納されたバー幅データ群を
一定方向に検索し、左右のマージン部、左右のガイドバ
ー、及びセンタバーを判別する。すなわち、UPCで規
定されているマージン部の幅、ガードバーの幅、及びセ
ンタバーの幅に基づいてバー幅データ群を検索すること
により、マージン部、ガードバー、及びセンタバーの位
置を検出することができる。例えば、バーコードを左か
ら右へ向かって検索した場合には、左マージン部、左ガ
ードバー(LGB)、センターバー(CB)、右ガード
バー(RGB)、及び右マージン部を順次判別する。
【0010】次に、バーコードリーダは、左ガードバー
(LGB)とセンタバー(CB)との間に左データブロ
ックが存在し、センタバー(CB)と右ガードバー(R
GB)との間に右データブロックが存在することを認識
し、データブロック単位にバー幅データを復調する。
【0011】ところで、上記のバーコードにおいて、左
マージン部に汚れ等が付着すると、左マージン部及び左
ガードバー(LGB)を検出することができず、左デー
タブロックのバー幅データを復調することができないと
いう問題がある。
【0012】また、右マージン部の幅が、商品形状等の
理由によりUPCの規定値未満になっている場合があ
り、この場合にバーコードリーダは右マージン部及び右
ガードバー(RGB)を検出することができず、右デー
タブロックのバー幅データを復調することができない。
【0013】
【発明が解決しようとする課題】そこで、本発明は、前
記問題点に鑑みてなされたものであり、バーコードのマ
ージン部に汚れ等によるノイズが生じた場合、あるいは
マージン部の幅が特定値未満の場合でも、左右各ブロッ
クのバーキャラクタを復調可能な方法及び装置を提供
し、バーコードリーダの精度向上、POSシステム等の
性能向上に寄与することを課題とする。
【0014】
【課題を解決するための手段】本発明は、前記課題を解
決する方法及び装置について説明する。まず、前記課題
を解決する方法について図1の原理図に基づいて説明す
る。
【0015】即ち、本発明では、二つのガードバーの間
に特定桁数のバーキャラクタからなる二つのデータブロ
ックをセンタバーを介して列挙したバーコードを対象と
している。例えば、UPC(UNIVERSAL PRODUCT COD
E)、EAN(EUROPEAN ARTICLENUMBER)、JAN(JAP
ANESE ARTICLE NUMBER)等の規定に準拠したバーコード
である。
【0016】そして、本発明のバーコードデータ検出方
法は、バーコードをスキャンして各バーキャラクタのバ
ー幅を検出するバー幅検出ステップ101と、このバー
幅検出ステップ101で検出したバー幅データ群を、バ
ー幅の値を各バーキャラクタのアドレスとして格納する
バー幅データ格納手段へ格納するデータ格納ステップ1
02と、このデータ格納ステップ102で格納されたバ
ー幅データ群をブロック単位に検出するデータブロック
検出ステップ103と、このデータブロック検出ステッ
プ103において二つのデータブロックのうち一方のデ
ータブロックを検出できなかった場合に、検出できた他
方のデータブロックの幅及びアドレスから前記一方のデ
ータブロックのアドレスを判別するアドレス判別ステッ
プ104と、このアドレス判別ステップ104で判別し
たアドレスに基づいて前記一方のデータブロックを検出
するデータブロック再検出ステップ105とを備える。
【0017】ここで、バーコードデータが、上記のUP
C、JAN、EAN等の規定に順序したバーコードであ
る場合には、二つのガードバーの外側には、それぞれ特
定値以上の幅を有するマージン部を備えることになる。
この場合、前記データブロック検出ステップ103に
は、前記バー幅データ格納ステップ102で格納したバ
ー幅データ群を検索して、前記二つのマージン部のアド
レスを検出するステップと、二つのガードバーのアドレ
スを判別するステップと、センタバーのアドレスを判別
するステップと、前記マージン部のアドレス、前記ガー
ドバーのアドレス、及び前記センタバーのアドレスに基
づいて前記二つのデータブロックのアドレスを判別する
ステップとを含むことになる。
【0018】そして、データブロック検出ステップ10
3において、上記二つのマージン部のうち何れか一方の
マージン部のアドレスを検出出来なかった場合、あるい
は上記二つのガードバーのうち何れか一方のガードバー
のアドレスを判別出来なかった場合に、アドレス判別ス
テップ104は、検出された他方のマージン部及びガー
ドバーのアドレスと、前記センタバーのアドレスとか
ら、前記他方のデータブロックの幅を判別するステッ
プ、及びこのデータブロックの幅と前記センタバーのア
ドレスから前記一方のマージン部のアドレスあるいは前
記一方のガードバーのアドレスを判別して前記一方のデ
ータブロックのアドレスを判別するステップを含む。
【0019】アドレス判別ステップ104には、前記他
方のデータブロックの終了アドレスとセンタバーの開始
アドレスが一致する場合に、前記他方のデータブロック
の幅を計数するステップと、前記センタバーの終了アド
レスを前記他方のデータブロックの幅に相当する値だけ
更新し、更新後のアドレスを前記一方のデータブロック
の終了アドレスとして判別すると共に、センタバーの終
了アドレスを前記一方のデータブロックの開始アドレス
として判別するステップとを含むようにしてもよい。
【0020】さらに、アドレス判別ステップ104に
は、前記他方のデータブロックの開始アドレスと前記セ
ンタバーの終了アドレスが一致する場合に、前記他方の
データブロックの幅を計数するステップと、前記センタ
バーの開始アドレスを前記他方のデータブロックの幅に
相当する値だけ減算し、減算後のアドレスを前記一方の
データブロックの開始アドレスとして判別すると共に、
前記センタバーの開始アドレスを前記一方のデータブロ
ックの終了アドレスとして判別するステップとを含むよ
うにしてもよい。
【0021】また、データブロック再検出ステップ10
5で検出された一方のデータブロックのキャラクタ桁数
を計数し、前記キャラクタ桁数が前記特定桁数と同値で
あるか否かを判別する桁数チェックステップ106を含
むようにしてもよい。
【0022】次に、本発明のバーコードデータ検出装置
について図2の原理図に基づいて説明する。即ち、本発
明のバーコードデータ検出装置は、バーコードをスキャ
ンし、各バーキャラクタのバー幅を検出するバー幅検出
手段1と、このバー幅検出手段1の検出したバー幅の値
を各バーキャラクタのアドレスとして格納するバー幅デ
ータ格納手段2と、このバー幅データ格納手段2に格納
されたバー幅データ群をデータブロック単位に検出する
データブロック検出手段3と、このデータブロック検出
手段3において一方のデータブロックを検出出来なかっ
た場合に、検出された他方のデータブロックの幅及びア
ドレスに基づいて、前記一方のデータブロックのアドレ
スを判別すると共に、このアドレスを前記データブロッ
ク検出手段3へ通知して前記一方のデータブロックを検
出させるアドレス判別手段4とを備える。
【0023】ここで、バーコードデータが上記のUP
C、JAN、あるいはEANに順序したバーコードであ
る場合には、データブロック検出手段3は、前記バー幅
データ格納手段2に格納されたバー幅データ群を検索し
て、二つのマージン部のアドレスを検出するステップ
と、二つのガードバーのアドレスを判別するステップ
と、センタバーのアドレスを判別するステップと、前記
マージン部のアドレス、前記ガードバーのアドレス、及
び前記センタバーのアドレスに基づいて前記二つのデー
タブロックのアドレスを判別するステップとを実行す
る。
【0024】そして、アドレス判別手段4は、データブ
ロック検出手段3が前記二つのマージン部のうち何れか
一方のマージン部のアドレスを判別出来なかった場合、
あるいは前記二つのガードバーのうち何れか一方のガー
ドバーのアドレスを判別出来なかった場合に、検出され
た他方のマージン部及びガードバーのアドレス及び前記
センタバーのアドレスに基づいて前記他方のデータブロ
ックの幅を判別し、このデータブロックの幅及び前記セ
ンタバーのアドレスに基づいて前記一方のマージン部の
アドレスあるいは前記一方のガードバーのアドレスを判
別して、前記一方のデータブロックのアドレスを判別す
る機能を有する。
【0025】また、前記他方のデータブロックの終了ア
ドレスと前記センタバーの開始アドレスが一致する場合
に、アドレス判別手段4は、前記他方のデータブロック
の幅を計数する機能と、前記センタバーの終了アドレス
を前記他方のデータブロックの幅に相当する値だけ更新
し、更新後のアドレスを前記一方のデータブロックの終
了アドレスとして判別する機能と、センタバーの終了ア
ドレスを前記一方のデータブロックの開始アドレスとし
て判別する機能とを備えるようにしてもよい。
【0026】さらに、前記他方のデータブロックの開始
アドレスと前記センタバーの終了アドレスが一致する場
合に、アドレス判別手段4は、前記他方のデータブロッ
クの幅を計数する機能と、前記センタバーの開始アドレ
スを前記他方のデータブロックの幅に相当する値だけ減
算し、減算後のアドレスを前記一方のデータブロックの
開始アドレスとして判別する機能と、センタバーの開始
アドレスを前記一方のデータブロックの終了アドレスと
して判別する機能とを備えるようにしてもよい。 ま
た、アドレス判別手段4の判別したアドレスに基づいて
データブロック検出手段3が前記一方のデータブロック
を検出した時に、この一方のデータブロックのキャラク
タ桁数を計数して、前記キャラクタ桁数が前記特定桁数
と同値であるか否かを判別する桁数チェック手段5を備
えるようにしてもよい。
【0027】
【作用】本発明のバーコードデータ検出方法では、バー
コードのバー幅データをバー幅の値をアドレスとして格
納するバー幅データ格納手段を備えたことにより、UP
C等の規定に準拠したバーコードデータのマージン部に
ノイズ等が発生して二本のガードバーのうち一方のガー
ドバーを検出できない場合、即ち一方のデータブロック
を検出できなかった場合に、検出できた他方のデータブ
ロックの幅及びセンタバーのアドレスに基づいて一方の
ガードバーのアドレス(一方のデータブロックの開始ア
ドレスあるいは終了アドレスに相当)を判別すると共
に、この一方のガードバーのアドレスとセンタバーのア
ドレスとから一方のデータブロックを検出することがで
きる。
【0028】
【実施例】以下、本発明の実施例について図面に沿って
説明する。本実施例では、POSシステムに組み込まれ
たバーコード検出装置を例にとって説明する。また、本
実施例におけるバーコードは、UPCの規定に準拠した
バーコードを用いる。
【0029】図3は、本実施例におけるバーコード検出
装置の概略構成ブロック図である。同図において、バー
コード検出装置は、レーザ等の光線をバーコードへ照射
する光線出力部90と、バーコードに反射した光信号を
入力してアナログ信号形式らデジタル信号へ変換するア
ナログ/デジタル変換器(A/D)50と、このアナロ
グ/デジタル変換器(A/D)により変換されたデジタ
ル信号形式のバーコードデータを一定方向にスキャンし
て前記バーコードを構成するバーキャラクタのバー幅を
検出するバー幅カウンタ10と、このバー幅カウンタの
検出したバー幅データを順次格納するデータバッファ2
0と、このデータバッファ20のバー幅データ群を一定
方向に検索して前記バーコードを構成する左データブロ
ックと右データブロックを判別する検出ロジック30
と、この検出ロジック30の検出したデータブロックの
バー幅データをROM60のプログラムに従って復調す
るCPU40と、復調の正常性をユーザに示すスピーカ
100とLED110を備えている。さらに、インター
フェース部70は、当該バーコード検出装置とPOS端
末とのインターフェースをとるものである。また、制御
回路80は、CPU40からの指示に従って光線出力部
90、スピーカ100、及びLED110の動作を制御
するものである。
【0030】上記各部について詳細に説明する。バー幅
カウンタ10は、本発明におけるバー幅検出手段1の具
体例であり、バーコードのスキャン方向に従って個々の
バーキャラクタの白/黒判別と同時に、各バーキャラク
タの幅を計数する機能を有している。
【0031】データバッファ20は、本発明におけるバ
ー幅データ格納手段2の具体例であり、バー幅カウンタ
10の計数したバー幅データを前記スキャン方向に沿っ
て順次格納するものである。
【0032】検出ロジック30は、本発明におけるデー
タブロック検出手段3の具体例であり、データバッファ
20に格納されたバー幅データ群を一定方向に検索して
いき、スタートガードバー、センターバー、及びエンド
ガードバーのアドレスを検出し、前記バー幅データ群を
ブロック単位に分割する機能を有する。上記のスタート
ガードバーとはマージン部の次に存在するガードバーを
示し、エンドガードバーとはガードバーの次にマージン
部を有するガードバーを示す。具体的には、バー幅デー
タ群を左から右方向へ検索した場合には、左ガードバー
(LGB)がスタートバーに相当し、右ガードバー(R
GB)がエンドガードバーに相当する。一方、バー幅デ
ータ群を右から左方向へ検索した場合には、右ガードバ
ー(RGB)がスタートガードバーに相当し、左ガード
バー(LGB)がエンドガードバーに相当する。UPC
におけるセンタバー(CB)は検索方向に依存せず検出
できる。
【0033】CPU40は、ROM60に登録されてい
るプログラムに従って所定の処理を実行するものであ
る。図4は、CPU40により実現される処理を機能別
に示すブロック図である。
【0034】同図において、CPU40の処理は、復調
処理部40a、アドレス推測処理部40b、及び桁数チ
ェック部40cからなる。復調処理部40aは、検出ロ
ジック30の分割したブロック毎に、各ブロックのバー
幅データを所定のデータ形式へ復調するものである。つ
まり、検出ロジック30の検出したガードバー(GB)
及びセンタバー(CB)のアドレスに基づいてガードバ
ー(GB)とセンタバー(CB)との間に存在するバー
幅データを復調する。
【0035】アドレス推測処理部40bは、検出ロジッ
ク30において二つのデータブロックのうち一方のデー
タブロックのみを検出した場合に、他方のデータブロッ
クのアドレスを推測すると共に、このアドレスに基づい
て検出ロジック30を再起動し、前記アドレスに他方の
データブロックが存在するか否かを判別させるものであ
る。具体的には、検出ロジック30が二本のガードバー
(GB)のうち一方のガードバー(GB)のみを検出し
た場合に、他方のガードバー(GB)のアドレスを推測
する。
【0036】桁数チェック部40cは、検出ロジック3
0がアドレス推測処理部40bの推測したアドレス基づ
いて他方のデータブロックを検出した場合に、この他方
のデータブロックのキャラクタ桁数がUPCの規定に準
拠したものであるか否かを判別するものである。
【0037】図5は、本実施例におけるデータバッファ
20の具体例を示す図である。データバッファ20は、
バー幅カウンタ10の検出したバー幅データを順次格納
していくものであり、各バーキャラクタのバー幅データ
値をアドレスに対応させている。
【0038】例えば、スキャン方向に沿って先頭のバー
キャラクタのバー幅が3630μmならば、このバーキ
ャラクタのアドレスは、スタートアドレス”000
0”、エンドアドレス”3630”となる。
【0039】図6に読み込み対象となるバーコードフォ
ーマットを示す。本実施例のバーコードは、UPCの規
定に従った標準バージョンのバーコードであり、231
0μmのバー幅を有するバーキャラクタをセンタバー
(CB)を介して列挙すると共に、両端に990μmの
幅を有するガードバー(GB)を付加する。さらに左ガ
ードバー(LGB)の外側には3630μm以上の幅を
有する左マージン部を備え、且つ右ガードバー(RG
B)の外側には2310μm以上の幅を有する右マージ
ン部を備えることが規定されている。
【0040】以下、上記図6のバーコードを対象にした
場合のバーコード検出装置の動作過程について説明す
る。尚、本実施例では、バー幅データを左から右へ向か
って検索するものとする。
【0041】図7は、本実施例におけるバーコード検出
装置の動作過程を示すフローチャート図である。アナロ
グ/デジタル変換器(A/D)50は、バーコードデー
タに照射された光線の反射光を入力すると、この光信号
をアナログ信号からデジタル信号に変換してバー幅カウ
ンタ10へ出力する。
【0042】バー幅カウンタ10は、前記デジタル信号
から各バーキャラクタ(白、黒)のバー幅を計数して
(ステップ701)、データバッファ20へ格納する
(ステップ702)。
【0043】検出ロジック30は、データバッファ20
に格納されたバー幅データ群をバーコードの左側から右
側へ向かって検索し、左ガードバー(LGB)のアドレ
ス、センタバー(CB)のアドレス、及び右ガードバー
(RGB)のアドレスを検出し、左ガードバー(LG
B)にアドレスポインタP1をセットし、センタバー
(CB)にアドレスポインタP2をセットし、さらに右
ガードバー(RGB)にアドレスポインタP3をセット
する(図8参照)。そして、これらのアドレスポインタ
(P1、P2、P3)をCPU40へ通知する。
【0044】CPU40は、検出ロジック20からアド
レスポインタ(P1、P2、P3)を受け取ると、RO
M60のプログラムに従って以下の処理を行う。先ず、
復調処理部40aは、アドレスポインタ(P1、P2)
から左データブロックのバー幅データ群を復調し、アド
レスポインタ(P2、P3)から右データブロックのバ
ー幅データ群を復調する(ステップ703)。
【0045】ここで、検出ロジック30は、左ガードバ
ー(LGB)と右ガードバー(RGB)とのうち一方の
ガードバー(GB)を検出出来なかった場合に、復調処
理部40aは左データブロックあるいは右データブロッ
クのみ復調し、アドレス推測処理部40bを起動する。
【0046】アドレス推測処理部40bは、復調処理部
40aが復調した一方のデータブロックを解析する(ス
テップ704、705)。このとき、アドレス推測処理
部40bは、復調したデータブロックのキャラクタ桁数
と、復調を開始したアドレスポインタとを判別すると共
に、前記データブロックが奇数パリティと偶数パリティ
との組合せからなるODD構成であるか、偶数パリティ
のみからなるEVEN構成であるかを判別する。通常、
UPCに準拠したバーコードは、左データブロックをO
DD構成とし、右データブロックをEVEN構成として
いるため、一方のデータブロックのODD/EVEN構
成を判別することにより、検出出来なかった他方のデー
タブロックのODD/EVEN構成を判別することがで
きる(ステップ706)。
【0047】そして、アドレス推測処理部40bは、復
調を開始したアドレスポインタとキャラクタ桁数とに基
づいて、検出ロジック30が検出出来なかったガードバ
ー(GB)のアドレスを推測し、アドレスポインタをセ
ットする。
【0048】検出ロジック30は、アドレス推測部40
bのセットしたアドレスポインタとセンタバー(CB)
のアドレスポインタとに基づいてデータバッファ20へ
アクセスし、前記センタバー(CB)とガードバー(G
B)との間にデータブロックが存在するか否かを判別す
る。ここで、データブロックが存在すれば、CPU40
において桁数チェック部40cが、前記データブロック
を構成するバーキャラクタのキャラクタ桁数を計数し、
先に復調した一方のデータブロックとの整合性をチェッ
クする(ステップ709)。ここで、キャラクタ桁数に
異常が無ければ、復調処理部40aが、前記データブロ
ックのバー幅データを復調する(ステップ710)。左
右のデータブロックの復調終了後に、CPU40は、前
記バーコードのモジュラチェックキャラクタに基づいて
データの正常性をチェックし、異常が無ければPOS端
末へ復調後のデータを送信する。
【0049】次に、上記ステップ703からステップ7
07の処理について詳細に説明する。図9は、左マージ
ン部にノイズが発生したバーコードの具体例である。同
図に示すバーコードを読み取る場合、バー幅カウンタ1
0及び検出ロジック30は、左マージン部のノイズを黒
バーとして認識し、マージン部として認識することがで
きない。このため、検出ロジック30は、左ガードバー
(LGB)を判別することができず、センタバー(C
B)と右ガードバー(RGB)のみを検出する。そし
て、センタバー(CB)にアドレスポインタP2をセッ
トすると共に、右ガードバー(RGB)にアドレスポイ
ンタP3をセットする。
【0050】ここで、復調処理部40aは、上記アドレ
スポインタP2及びP3に基づいて右データブロックの
みを復調し、アドレス推測処理部40bを起動する。ア
ドレス推測処理部40bは、復調処理部40aの復調し
た右データブロックを解析して、バー幅データの検索方
向が左から右へ向かう方向であることと、キャラクタ桁
数(6桁)と、ODD/EVEN構成とを判別し、UPCの標
準バージョンであることを認識する。そして、アドレス
推測処理部40bは、前記検索方向に基づき前記右デー
タブロックの上位アドレスに左データブロックが存在す
ることを推測し、復調処理部40aが前記右データブロ
ックの直前に復調したデータブロックのエンドアドレス
とセンタバー(CB)のアドレスとを照合する。つま
り、左データブロックを正常に検出した場合には左デー
タブロックのエンドアドレスはセンタバー(CB)のア
ドレスと一致し、左データブロックを検出できなかった
場合には双方のアドレスは不一致となる。
【0051】前記双方のアドレスが不一致の場合に、ア
ドレス推測処理部40bは、センタバー(CB)のアド
レスから前記キャラクタ桁数(6桁)分上位のアドレ
ス、即ち左ガードバー(LGB)のアドレスを推測しア
ドレスポインタP1をセットする。
【0052】このとき、検出ロジック30は、データバ
ッファ20へアクセスし、アドレスポインタP1とアド
レスポインタP2との間にデータブロックが存在するか
否かを判別する。ここで、UPC規定に準拠した左デー
タブロックが存在すれば、上記アドレスポインタP1と
アドレスポインタP2とを桁数チェック部40cへ通知
する。桁数チェック部40cは、前記アドレスポインタ
P1とアドレスポインタP2との間に存在する左データ
ブロックのキャラクタ桁数がUPCの規定に準拠した桁
数(6桁)であるか否かを判別する。さらにCPU40
は、左データブロックの先頭アドレスのバー幅データを
検出し、UPCの規定に準拠した幅であるか否かを判別
する。そして、キャラクタ桁数及びバー幅がUPCの規
定に準拠したものであれば、復調処理部40aを起動し
て前記左データブロックのバー幅データ群を順次復調す
る。
【0053】図10は、右マージン部の幅がUPCの規
定値未満であるバーコードの具体例である。同図に示す
バーコードを読み取る場合、バー幅カウンタ10及び検
出ロジック30は、右マージン部を認識することができ
ない。このため、検出ロジック30は、右ガードバー
(RGB)を検出することができず、左ガードバー(L
GB)とセンタバー(CB)のみを検出する。そして、
左ガードバー(LGB)にアドレスポインタP1セット
すると共に、センタバー(CB)にアドレスポインタP
2をセットする。
【0054】ここで、復調処理部40aは、上記アドレ
スポインタP1及びP2に基づいて左データブロックの
みを復調し、アドレス推測処理部40bを起動する。ア
ドレス推測処理部40bは、復調処理部40aの復調し
た左データブロックを解析して、データの検索方向が左
から右へ向かう方向(GB→CB)であることと、キャ
ラクタ桁数(6桁)と、ODD/EVEN構成とを判別し、U
PCの標準バージョンであることを認識する。そして、
アドレス推測処理部40bは、前記検索方向に基づき前
記左データブロックの下位アドレスに右データブロック
が存在することを推測し、前記センタバー(CB)のア
ドレスから前記キャラクタ桁数(6桁)分下位のアドレ
スを求め、このアドレスと、前記検出ロジック30が前
記左データブロックの次に復調すべきデータブロックの
エンドアドレスとして検出したアドレスとを照合する。
すなわち、右データブロックを正常に検出した場合には
右データブロックのエンドアドレスはセンタバー(C
B)から6桁分下位のアドレスと一致し、右データブロ
ックを検出出来なかった場合には双方のアドレスは不一
致となる。
【0055】前記双方のアドレスが不一致の場合に、ア
ドレス推測処理部40bは、センタバー(CB)のアド
レスから前記キャラクタ桁数(6桁)分下位のアドレ
ス、即ち右ガードバー(RGB)のアドレスに相当する
位置にアドレスポインタP3をセットする。
【0056】ここで、検出ロジック30は、データバッ
ファ20へアクセスし、アドレスポインタP2とアドレ
スポインタP3との間にデータブロックが存在するか否
かを判別する。ここで、UPC規定に準拠した右データ
ブロックが存在すれば、上記アドレスポインタP2とア
ドレスポインタP3とを桁数チェック部40cへ通知す
る。桁数チェック部40cは、前記アドレスポインタP
2とアドレスポインタP3との間に存在する右データブ
ロックのキャラクタ桁数がUPCの規定に準拠した桁数
(6桁)であるか否かを判別する。さらにCPU40
は、右データブロックの最後尾アドレスのバー幅データ
を検出し、UPCの規定に準拠した幅であるか否かを判
別する。そして、キャラクタ桁数及びバー幅がUPCの
規定に準拠したものであれば、復調処理部40aを起動
して前記右データブロックのバー幅データ群を順次復調
する。
【0057】以上、本実施例によれば、右マージン部の
ノイズや左マージン部の幅が不足しているバーコードで
も、左右のデータブロックを検出且つ復調することがで
きる。
【0058】尚、本実施例では、バー幅データの検索方
向を左から右へ向かう方向としているが、右から左へ向
かう方向の場合も同様である。
【0059】
【発明の効果】本発明によれば、マージン部に汚れ等に
よるノイズやマージン部の幅が規定値未満のバーコード
でも正確に読み取ることができ、バーコードリーダの読
み取り精度を向上させることが可能となる。
【0060】さらに、バーコードリーダの精度向上によ
りPOSシステム等の精度向上に寄与することができ
る。
【図面の簡単な説明】
【図1】本発明の原理図(1)
【図2】本発明の原理図(2)
【図3】本実施例におけるバーコード検出装置の概略構
成ブロック図
【図4】CPUにより実現される処理の機能別構成ブロ
ック図
【図5】本実施例におけるデータバッファの具体例
【図6】本実施例におけるバーコードデータの具体例
【図7】バーコードデータ検出装置の動作過程を示すフ
ローチャート図
【図8】データブロック検出過程を示すイメージ図
【図9】読み込み対象となるバーコードの具体例(1)
【図10】読み込み対象となるバーコードの具体例
(2)
【図11】UPCの規定に基づくバーコードの具体例
【符号の説明】
1・・バー幅検出手段 2・・バー幅データ格納手段 3・・データブロック検出手段 4・・アドレス推測手段 5・・桁数チェック手段 10・・バー幅カウンタ 20・・データバッファ 30・・検出ロジック 40・・CPU 40a・・復調処理部 40b・・アドレス推測処理部 40c・・桁数チェック部 50・・アナログ/デジタル変換器(A/D) 60・・ROM 70・・インターフェース部 80・・制御回路 90・・光線出力部 100・・スピーカ 110・・LED
フロントページの続き (72)発明者 篠田 一郎 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (58)調査した分野(Int.Cl.6,DB名) G06K 7/10

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 二つのガードバーの間に、特定桁数のバ
    ーキャラクタからなる二つのデータブロックをセンタバ
    ーを介して列挙したバーコードをスキャンし、前記各バ
    ーキャラクタのバー幅を検出するバー幅検出ステップ
    (101)と、 前記バー幅検出ステップ(101)で検出されたバー幅
    データを、バー幅の値をバーキャラクタのアドレスとし
    て格納するバー幅データ格納手段へ格納するデータ格納
    ステップ(102)と、 前記バー幅データ格納ステップ(102)で格納したバ
    ー幅データ群を検索してブロック単位にバー幅データを
    検出するデータブロック検出ステップ(103)と、 前記データブロック検出ステップ(103)において、
    前記バーコードを構成する二つのデータブロックのうち
    一方のデータブロックを検出できなかった場合に、検出
    された他方のデータブロックの幅及びアドレスに基づい
    て前記一方のデータブロックのアドレスを判別するアド
    レス判別ステップ(104)と、 前記アドレス判別ステップ(104)で判別したアドレ
    スに基づいて前記バー幅データ格納手段へアクセスし、
    前記一方のデータブロックが存在するか否かを判別する
    データブロック再検出ステップ(105)とを備えたこ
    とを特徴とするバーコードデータ検出方法。
  2. 【請求項2】 前記請求項1において、前記バーコード
    データは、前記各ガードバーの外側に特定値以上の幅を
    有するマージン部を有するデータであり、 前記データブロック検出ステップ(103)は、前記バ
    ー幅データ格納ステップ(102)で格納したバー幅デ
    ータ群を検索して、前記二つのマージン部のアドレスを
    検出するステップと、 前記二つのガードバーのアドレスを判別するステップ
    と、 前記センタバーのアドレスを判別するステップと、 前記マージン部のアドレス、前記ガードバーのアドレ
    ス、及び前記センタバーのアドレスに基づいて前記二つ
    のデータブロックのアドレスを判別するステップとを含
    むことを特徴とするバーコードデータ検出方法。
  3. 【請求項3】 前記請求項2において、前記データブロ
    ック検出ステップ(103)において、前記二つのマー
    ジン部のうち何れか一方のマージン部のアドレスを判別
    出来なかった場合、あるいは前記二つのガードバーのう
    ち何れか一方のガードバーのアドレスを判別出来なかっ
    た場合に、 前記アドレス判別ステップ(104)は、検出された他
    方のマージン部及びガードバーのアドレスと、前記セン
    タバーのアドレスとから、前記他方のデータブロックの
    幅を判別するステップ、及びこのデータブロックの幅と
    前記センタバーのアドレスから前記一方のマージン部の
    アドレスあるいは前記一方のガードバーのアドレスを判
    別して前記一方のデータブロックのアドレスを判別する
    ステップを含むことを特徴とするバーコードデータ検出
    方法。
  4. 【請求項4】 前記請求項1において、前記他方のデー
    タブロックの終了アドレスと前記センタバーの開始アド
    レスが一致する場合に、 前記アドレス判別ステップ(105)は、前記他方のデ
    ータブロックの幅を計数するステップと、 前記センタバーの終了アドレスを前記他方のデータブロ
    ックの幅に相当する値だけ更新し、更新後のアドレスを
    前記一方のデータブロックの終了アドレスとして判別す
    ると共に、センタバーの終了アドレスを前記一方のデー
    タブロックの開始アドレスとして判別するステップとを
    含むことを特徴とするバーコード検出方法。
  5. 【請求項5】 前記請求項1において、前記他方のデー
    タブロックの開始アドレスと前記センタバーの終了アド
    レスが一致する場合に、 前記アドレス判別ステップ(105)は、前記他方のデ
    ータブロックの幅を計数するステップと、 前記センタバーの開始アドレスを前記他方のデータブロ
    ックの幅に相当する値だけ減算し、減算後のアドレスを
    前記一方のデータブロックの開始アドレスとして判別す
    ると共に、前記センタバーの開始アドレスを前記一方の
    データブロックの終了アドレスとして判別するステップ
    とを含むことを特徴とするバーコードデータ検出方法。
  6. 【請求項6】 前記請求項1において、前記データブロ
    ック再検出ステップ(106)で検出された一方のデー
    タブロックのキャラクタ桁数を計数し、前記キャラクタ
    桁数が前記特定桁数と同値であるか否かを判別する桁数
    チェックステップ(106)を含むことを特徴とするバ
    ーコードデータ検出方法。
  7. 【請求項7】 二つのガードバーの間に、特定桁数のバ
    ーキャラクタからなる二つのデータブロックをセンタバ
    ーを介して列挙したバーコードをスキャンし、前記各バ
    ーキャラクタのバー幅を検出するバー幅検出手段(1)
    と、 前記バー幅検出手段(1)の検出したバー幅の値をバー
    キャラクタのアドレスとして格納するバー幅データ格納
    手段(2)と、 前記バー幅データ格納手段(2)に格納されたバー幅デ
    ータ群を検索し、ブロック単位にバー幅データを検出す
    るデータブロック検出手段(3)と、 前記データブロック検出手段(3)が前記バーコードを
    構成する二つのデータブロックのうち一方のデータブロ
    ックを検出できなかった場合に、検出された他方のデー
    タブロックの幅及びアドレスに基づいて、前記一方のデ
    ータブロックのアドレスを判別すると共に、このアドレ
    スを前記データブロック検出手段(3)へ通知して前記
    一方のデータブロックを検出させるアドレス判別手段
    (4)とを備えたことを特徴とするバーコードデータ検
    出装置。
  8. 【請求項8】 前記請求項7において、前記バーコード
    データは、前記各ガードバーの外側に特定値以上の幅を
    有するマージン部を有するデータであり、 前記データブロック検出手段(3)は、前記バー幅デー
    タ格納手段(2)に格納されたバー幅データ群を検索し
    て、前記二つのマージン部のアドレスを検出するステッ
    プと、 前記二つのガードバーのアドレスを判別するステップ
    と、 前記センタバーのアドレスを判別するステップと、 前記マージン部のアドレス、前記ガードバーのアドレ
    ス、及び前記センタバーのアドレスに基づいて前記二つ
    のデータブロックのアドレスを判別するステップとを実
    行することを特徴とするバーコードデータ検出装置。
  9. 【請求項9】 前記請求項8において、前記データブロ
    ック検出手段(3)が前記二つのマージン部のうち何れ
    か一方のマージン部のアドレスを判別出来なかった場
    合、あるいは前記二つのガードバーのうち何れか一方の
    ガードバーのアドレスを判別出来なかった場合に、 前記アドレス判別手段(4)は、検出された他方のマー
    ジン部及びガードバーのアドレス及び前記センタバーの
    アドレスに基づいて前記他方のデータブロックの幅を判
    別し、このデータブロックの幅及び前記センタバーのア
    ドレスに基づいて前記一方のマージン部のアドレスある
    いは前記一方のガードバーのアドレスを判別して、前記
    一方のデータブロックのアドレスを判別することを特徴
    とするバーコードデータ検出装置。
  10. 【請求項10】 前記請求項7において、前記他方のデ
    ータブロックの終了アドレスと前記センタバーの開始ア
    ドレスが一致する場合に、 前記アドレス判別手段(4)は、前記他方のデータブロ
    ックの幅を計数して、前記センタバーの終了アドレスを
    前記他方のデータブロックの幅に相当する値だけ更新
    し、更新後のアドレスを前記一方のデータブロックの終
    了アドレスとして判別すると共に、センタバーの終了ア
    ドレスを前記一方のデータブロックの開始アドレスとし
    て判別することを特徴とするバーコード検出装置。
  11. 【請求項11】 前記請求項7において、前記他方のデ
    ータブロックの開始アドレスと前記センタバーの終了ア
    ドレスが一致する場合に、 前記アドレス判別手段(4)は、前記他方のデータブロ
    ックの幅を計数して、前記センタバーの開始アドレスを
    前記他方のデータブロックの幅に相当する値だけ減算
    し、減算後のアドレスを前記一方のデータブロックの開
    始アドレスとして判別すると共に、前記センタバーの開
    始アドレスを前記一方のデータブロックの終了アドレス
    として判別することを特徴とするバーコードデータ検出
    装置
  12. 【請求項12】 前記請求項7において、前記データブ
    ロック検出手段(3)が前記一方のデータブロックを検
    出した際に、 この一方のデータブロックのキャラクタ桁数を計数し
    て、前記キャラクタ桁数が前記特定桁数と同値であるか
    否かを判別する桁数チェック手段(5)を備えることを
    特徴とするバーコードデータ検出装置
JP5320146A 1993-12-20 1993-12-20 バーコードデータ検出方法及び装置 Expired - Fee Related JP2836773B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP5320146A JP2836773B2 (ja) 1993-12-20 1993-12-20 バーコードデータ検出方法及び装置
GB9419025A GB2284916B (en) 1993-12-20 1994-09-21 Bar code data detecting method and apparatus
US08/307,450 US5519199A (en) 1993-12-20 1994-09-21 Method and apparatus for detecting and storing bar bode data and re-detecting undetected data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5320146A JP2836773B2 (ja) 1993-12-20 1993-12-20 バーコードデータ検出方法及び装置

Publications (2)

Publication Number Publication Date
JPH07175886A JPH07175886A (ja) 1995-07-14
JP2836773B2 true JP2836773B2 (ja) 1998-12-14

Family

ID=18118226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5320146A Expired - Fee Related JP2836773B2 (ja) 1993-12-20 1993-12-20 バーコードデータ検出方法及び装置

Country Status (3)

Country Link
US (1) US5519199A (ja)
JP (1) JP2836773B2 (ja)
GB (1) GB2284916B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US20040004128A1 (en) * 1996-09-03 2004-01-08 Hand Held Products, Inc. Optical reader system comprising digital conversion circuit
US6012639A (en) * 1996-11-01 2000-01-11 Psc Scanning Inc. Edge detection method and apparatus for shot noise limited signals
JP3576356B2 (ja) * 1997-08-08 2004-10-13 富士通株式会社 バーコード読取装置,バーコード読取方法,及びコンピュータ可読媒体
JPH1153465A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd バーコード読取装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5230119A (en) * 1975-09-02 1977-03-07 Matsushita Electric Ind Co Ltd Bar code discrimination logical circuit
US4782220A (en) * 1986-09-29 1988-11-01 Mars, Incorporated Method and apparatus for bar code data autodiscrimination
JPH07101427B2 (ja) * 1989-03-29 1995-11-01 富士通株式会社 バーコード読取り方法及びその装置

Also Published As

Publication number Publication date
GB2284916B (en) 1997-08-20
US5519199A (en) 1996-05-21
JPH07175886A (ja) 1995-07-14
GB2284916A (en) 1995-06-21
GB9419025D0 (en) 1994-11-09

Similar Documents

Publication Publication Date Title
US5128527A (en) Apparatus for reading a bar code
EP0230447B1 (en) Checkout control system
US4748317A (en) Optical reader
US4667089A (en) Bar code discriminating apparatus for bar code reading
JPS6156552B2 (ja)
JPH10134130A (ja) バーコード読取方法およびバーコード読取装置
JP2836773B2 (ja) バーコードデータ検出方法及び装置
JPH07234971A (ja) 商品販売登録データ処理装置
WO1990014638A1 (en) Reading method and apparatus for bar code
JPH08161436A (ja) 領収書読取装置
JP2003022416A (ja) バーコード読取方法およびバーコード読取装置
JPS5841542B2 (ja) 光学式文字読取装置
JPH0421915B2 (ja)
JP2001344427A (ja) 払込帳票判別方法及びその装置
JPS6086661A (ja) デ−タ読取方式
JP2953143B2 (ja) バーコード読取装置およびバーコード読取方法
JP2734781B2 (ja) バーコード読取装置
JP3329969B2 (ja) バーコード読取方法およびバーコード読取装置
JP3648270B2 (ja) 帳票類読取装置及び会計帳票読取装置
JP3198232B2 (ja) バーコード読取方法及び読取装置
JP2741404B2 (ja) バーコード読取装置
JPS6229837B2 (ja)
JP2761251B2 (ja) バーコード読み取り方式
JP2742920B2 (ja) バーコード読取装置
JP2817025B2 (ja) バーコード読取装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980908

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071009

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091009

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091009

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101009

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101009

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111009

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees