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
Links
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
Description
により、バーコードデータを読み取るスキャナ装置にお
いて、紙面ノイズや印刷方法に依存せず正確にバーコー
ドデータを検出する方法及び装置に関する。
等の大手販売店から小売店にいたるまで、従来のキーイ
ン方式のレジスタに代わって自動読取方式のレジスタを
組み込んだPOS(Point Of Sales)システムが普及し
てきている。
レジスタが顧客の買上金額を即座に正確に計算する機能
のみを有しているのに対して、買上金額の算出・精算、
商品別の売上情報、配送・仕入情報、在庫情報等を統括
して行うシステムである。
力する方式としてバーコード方式が採用されており、各
商品には商品の属性を示す分類コードを示すバーコード
が付加されている。店員は、顧客の買上金額を入力する
際に、商品に付加されたバーコードをバーコードリーダ
に読み込ませるだけでよく、システム内ではバーコード
リーダの読み込んだ分類コードに基づいて商品の価格を
判別し、これをレジカウンタに設置されたPOSターミ
ナルのディスプレイ上に表示する。さらに、システム内
では買上商品の合計金額を算出し、POSターミナルの
ディスプレイ上に表示する。
品の分類コードや価格をいちいち入力する手間が省ける
と共に、誤入力を防止することができる。また、この方
式は、簡単な論理で安価に実現でき、且つ印刷されたバ
ーを対象とするため読取精度が高いという利点がある。
ーザ光線等の光線を照射し、バーに反射した光を解析し
てバーの幅を判別するものである。一方、バーコードの
フォーマットとしては、UPC(UNIVERSAL PRODUCT CO
DE;商品統一分類コード)に準拠したフォーマットが一
般的であり、このUPCは、JIS規格で標準化されて
いるJAN(JAPANESE ARTICLE NUMBER)や、欧州で標
準化されているEAN(EUROPEAN ARTICLE NUMBER)と
の互換性を有するバーコードのフォーマットである。U
PCの桁数は、標準13桁、短縮8桁を用いるように規
定されている。
トを示す。同図において、UPCは、左右端部にそれぞ
れに左ガイドバー(LGB)と右ガイドバー(RGB)
とを有すると共に、バーコードの中心にセンタバー(C
B)を有する。さらに、左右ガイドバーの外側には特定
値以上のマージン部を備えることが規定されている。
バー(CB)との間に収容される6桁のバーキャラクタ
群(以下、左データブロックと記す)は、通常、商品メ
ーカ識別コードを示している。一方、センタバー(C
B)と右ガイドバー(RGB)との間に収容される6桁
のバーキャラクタ群(以下、右データブロックと記す)
のうち、左5桁のバーキャラクタは、通常、商品アイテ
ム識別コードを示し、残り1桁のバーキャラクタはモジ
ュラチェックキャラクタを示す。
左右のガイドバーをスキャンした場合に限り、左右ブロ
ックのバーキャラクタを所定のデータ形式へ復調するこ
とができる。詳細には、バーコードリーダは、バーコー
ドをスキャンして各バーキャラクタのバー幅を検出し、
これらのバー幅データ群をデータバッファに格納する。
そして、データバッファに格納されたバー幅データ群を
一定方向に検索し、左右のマージン部、左右のガイドバ
ー、及びセンタバーを判別する。すなわち、UPCで規
定されているマージン部の幅、ガードバーの幅、及びセ
ンタバーの幅に基づいてバー幅データ群を検索すること
により、マージン部、ガードバー、及びセンタバーの位
置を検出することができる。例えば、バーコードを左か
ら右へ向かって検索した場合には、左マージン部、左ガ
ードバー(LGB)、センターバー(CB)、右ガード
バー(RGB)、及び右マージン部を順次判別する。
(LGB)とセンタバー(CB)との間に左データブロ
ックが存在し、センタバー(CB)と右ガードバー(R
GB)との間に右データブロックが存在することを認識
し、データブロック単位にバー幅データを復調する。
マージン部に汚れ等が付着すると、左マージン部及び左
ガードバー(LGB)を検出することができず、左デー
タブロックのバー幅データを復調することができないと
いう問題がある。
理由によりUPCの規定値未満になっている場合があ
り、この場合にバーコードリーダは右マージン部及び右
ガードバー(RGB)を検出することができず、右デー
タブロックのバー幅データを復調することができない。
記問題点に鑑みてなされたものであり、バーコードのマ
ージン部に汚れ等によるノイズが生じた場合、あるいは
マージン部の幅が特定値未満の場合でも、左右各ブロッ
クのバーキャラクタを復調可能な方法及び装置を提供
し、バーコードリーダの精度向上、POSシステム等の
性能向上に寄与することを課題とする。
決する方法及び装置について説明する。まず、前記課題
を解決する方法について図1の原理図に基づいて説明す
る。
に特定桁数のバーキャラクタからなる二つのデータブロ
ックをセンタバーを介して列挙したバーコードを対象と
している。例えば、UPC(UNIVERSAL PRODUCT COD
E)、EAN(EUROPEAN ARTICLENUMBER)、JAN(JAP
ANESE ARTICLE NUMBER)等の規定に準拠したバーコード
である。
法は、バーコードをスキャンして各バーキャラクタのバ
ー幅を検出するバー幅検出ステップ101と、このバー
幅検出ステップ101で検出したバー幅データ群を、バ
ー幅の値を各バーキャラクタのアドレスとして格納する
バー幅データ格納手段へ格納するデータ格納ステップ1
02と、このデータ格納ステップ102で格納されたバ
ー幅データ群をブロック単位に検出するデータブロック
検出ステップ103と、このデータブロック検出ステッ
プ103において二つのデータブロックのうち一方のデ
ータブロックを検出できなかった場合に、検出できた他
方のデータブロックの幅及びアドレスから前記一方のデ
ータブロックのアドレスを判別するアドレス判別ステッ
プ104と、このアドレス判別ステップ104で判別し
たアドレスに基づいて前記一方のデータブロックを検出
するデータブロック再検出ステップ105とを備える。
C、JAN、EAN等の規定に順序したバーコードであ
る場合には、二つのガードバーの外側には、それぞれ特
定値以上の幅を有するマージン部を備えることになる。
この場合、前記データブロック検出ステップ103に
は、前記バー幅データ格納ステップ102で格納したバ
ー幅データ群を検索して、前記二つのマージン部のアド
レスを検出するステップと、二つのガードバーのアドレ
スを判別するステップと、センタバーのアドレスを判別
するステップと、前記マージン部のアドレス、前記ガー
ドバーのアドレス、及び前記センタバーのアドレスに基
づいて前記二つのデータブロックのアドレスを判別する
ステップとを含むことになる。
3において、上記二つのマージン部のうち何れか一方の
マージン部のアドレスを検出出来なかった場合、あるい
は上記二つのガードバーのうち何れか一方のガードバー
のアドレスを判別出来なかった場合に、アドレス判別ス
テップ104は、検出された他方のマージン部及びガー
ドバーのアドレスと、前記センタバーのアドレスとか
ら、前記他方のデータブロックの幅を判別するステッ
プ、及びこのデータブロックの幅と前記センタバーのア
ドレスから前記一方のマージン部のアドレスあるいは前
記一方のガードバーのアドレスを判別して前記一方のデ
ータブロックのアドレスを判別するステップを含む。
方のデータブロックの終了アドレスとセンタバーの開始
アドレスが一致する場合に、前記他方のデータブロック
の幅を計数するステップと、前記センタバーの終了アド
レスを前記他方のデータブロックの幅に相当する値だけ
更新し、更新後のアドレスを前記一方のデータブロック
の終了アドレスとして判別すると共に、センタバーの終
了アドレスを前記一方のデータブロックの開始アドレス
として判別するステップとを含むようにしてもよい。
は、前記他方のデータブロックの開始アドレスと前記セ
ンタバーの終了アドレスが一致する場合に、前記他方の
データブロックの幅を計数するステップと、前記センタ
バーの開始アドレスを前記他方のデータブロックの幅に
相当する値だけ減算し、減算後のアドレスを前記一方の
データブロックの開始アドレスとして判別すると共に、
前記センタバーの開始アドレスを前記一方のデータブロ
ックの終了アドレスとして判別するステップとを含むよ
うにしてもよい。
5で検出された一方のデータブロックのキャラクタ桁数
を計数し、前記キャラクタ桁数が前記特定桁数と同値で
あるか否かを判別する桁数チェックステップ106を含
むようにしてもよい。
について図2の原理図に基づいて説明する。即ち、本発
明のバーコードデータ検出装置は、バーコードをスキャ
ンし、各バーキャラクタのバー幅を検出するバー幅検出
手段1と、このバー幅検出手段1の検出したバー幅の値
を各バーキャラクタのアドレスとして格納するバー幅デ
ータ格納手段2と、このバー幅データ格納手段2に格納
されたバー幅データ群をデータブロック単位に検出する
データブロック検出手段3と、このデータブロック検出
手段3において一方のデータブロックを検出出来なかっ
た場合に、検出された他方のデータブロックの幅及びア
ドレスに基づいて、前記一方のデータブロックのアドレ
スを判別すると共に、このアドレスを前記データブロッ
ク検出手段3へ通知して前記一方のデータブロックを検
出させるアドレス判別手段4とを備える。
C、JAN、あるいはEANに順序したバーコードであ
る場合には、データブロック検出手段3は、前記バー幅
データ格納手段2に格納されたバー幅データ群を検索し
て、二つのマージン部のアドレスを検出するステップ
と、二つのガードバーのアドレスを判別するステップ
と、センタバーのアドレスを判別するステップと、前記
マージン部のアドレス、前記ガードバーのアドレス、及
び前記センタバーのアドレスに基づいて前記二つのデー
タブロックのアドレスを判別するステップとを実行す
る。
ロック検出手段3が前記二つのマージン部のうち何れか
一方のマージン部のアドレスを判別出来なかった場合、
あるいは前記二つのガードバーのうち何れか一方のガー
ドバーのアドレスを判別出来なかった場合に、検出され
た他方のマージン部及びガードバーのアドレス及び前記
センタバーのアドレスに基づいて前記他方のデータブロ
ックの幅を判別し、このデータブロックの幅及び前記セ
ンタバーのアドレスに基づいて前記一方のマージン部の
アドレスあるいは前記一方のガードバーのアドレスを判
別して、前記一方のデータブロックのアドレスを判別す
る機能を有する。
ドレスと前記センタバーの開始アドレスが一致する場合
に、アドレス判別手段4は、前記他方のデータブロック
の幅を計数する機能と、前記センタバーの終了アドレス
を前記他方のデータブロックの幅に相当する値だけ更新
し、更新後のアドレスを前記一方のデータブロックの終
了アドレスとして判別する機能と、センタバーの終了ア
ドレスを前記一方のデータブロックの開始アドレスとし
て判別する機能とを備えるようにしてもよい。
アドレスと前記センタバーの終了アドレスが一致する場
合に、アドレス判別手段4は、前記他方のデータブロッ
クの幅を計数する機能と、前記センタバーの開始アドレ
スを前記他方のデータブロックの幅に相当する値だけ減
算し、減算後のアドレスを前記一方のデータブロックの
開始アドレスとして判別する機能と、センタバーの開始
アドレスを前記一方のデータブロックの終了アドレスと
して判別する機能とを備えるようにしてもよい。 ま
た、アドレス判別手段4の判別したアドレスに基づいて
データブロック検出手段3が前記一方のデータブロック
を検出した時に、この一方のデータブロックのキャラク
タ桁数を計数して、前記キャラクタ桁数が前記特定桁数
と同値であるか否かを判別する桁数チェック手段5を備
えるようにしてもよい。
コードのバー幅データをバー幅の値をアドレスとして格
納するバー幅データ格納手段を備えたことにより、UP
C等の規定に準拠したバーコードデータのマージン部に
ノイズ等が発生して二本のガードバーのうち一方のガー
ドバーを検出できない場合、即ち一方のデータブロック
を検出できなかった場合に、検出できた他方のデータブ
ロックの幅及びセンタバーのアドレスに基づいて一方の
ガードバーのアドレス(一方のデータブロックの開始ア
ドレスあるいは終了アドレスに相当)を判別すると共
に、この一方のガードバーのアドレスとセンタバーのア
ドレスとから一方のデータブロックを検出することがで
きる。
説明する。本実施例では、POSシステムに組み込まれ
たバーコード検出装置を例にとって説明する。また、本
実施例におけるバーコードは、UPCの規定に準拠した
バーコードを用いる。
装置の概略構成ブロック図である。同図において、バー
コード検出装置は、レーザ等の光線をバーコードへ照射
する光線出力部90と、バーコードに反射した光信号を
入力してアナログ信号形式らデジタル信号へ変換するア
ナログ/デジタル変換器(A/D)50と、このアナロ
グ/デジタル変換器(A/D)により変換されたデジタ
ル信号形式のバーコードデータを一定方向にスキャンし
て前記バーコードを構成するバーキャラクタのバー幅を
検出するバー幅カウンタ10と、このバー幅カウンタの
検出したバー幅データを順次格納するデータバッファ2
0と、このデータバッファ20のバー幅データ群を一定
方向に検索して前記バーコードを構成する左データブロ
ックと右データブロックを判別する検出ロジック30
と、この検出ロジック30の検出したデータブロックの
バー幅データをROM60のプログラムに従って復調す
るCPU40と、復調の正常性をユーザに示すスピーカ
100とLED110を備えている。さらに、インター
フェース部70は、当該バーコード検出装置とPOS端
末とのインターフェースをとるものである。また、制御
回路80は、CPU40からの指示に従って光線出力部
90、スピーカ100、及びLED110の動作を制御
するものである。
カウンタ10は、本発明におけるバー幅検出手段1の具
体例であり、バーコードのスキャン方向に従って個々の
バーキャラクタの白/黒判別と同時に、各バーキャラク
タの幅を計数する機能を有している。
ー幅データ格納手段2の具体例であり、バー幅カウンタ
10の計数したバー幅データを前記スキャン方向に沿っ
て順次格納するものである。
タブロック検出手段3の具体例であり、データバッファ
20に格納されたバー幅データ群を一定方向に検索して
いき、スタートガードバー、センターバー、及びエンド
ガードバーのアドレスを検出し、前記バー幅データ群を
ブロック単位に分割する機能を有する。上記のスタート
ガードバーとはマージン部の次に存在するガードバーを
示し、エンドガードバーとはガードバーの次にマージン
部を有するガードバーを示す。具体的には、バー幅デー
タ群を左から右方向へ検索した場合には、左ガードバー
(LGB)がスタートバーに相当し、右ガードバー(R
GB)がエンドガードバーに相当する。一方、バー幅デ
ータ群を右から左方向へ検索した場合には、右ガードバ
ー(RGB)がスタートガードバーに相当し、左ガード
バー(LGB)がエンドガードバーに相当する。UPC
におけるセンタバー(CB)は検索方向に依存せず検出
できる。
るプログラムに従って所定の処理を実行するものであ
る。図4は、CPU40により実現される処理を機能別
に示すブロック図である。
処理部40a、アドレス推測処理部40b、及び桁数チ
ェック部40cからなる。復調処理部40aは、検出ロ
ジック30の分割したブロック毎に、各ブロックのバー
幅データを所定のデータ形式へ復調するものである。つ
まり、検出ロジック30の検出したガードバー(GB)
及びセンタバー(CB)のアドレスに基づいてガードバ
ー(GB)とセンタバー(CB)との間に存在するバー
幅データを復調する。
ク30において二つのデータブロックのうち一方のデー
タブロックのみを検出した場合に、他方のデータブロッ
クのアドレスを推測すると共に、このアドレスに基づい
て検出ロジック30を再起動し、前記アドレスに他方の
データブロックが存在するか否かを判別させるものであ
る。具体的には、検出ロジック30が二本のガードバー
(GB)のうち一方のガードバー(GB)のみを検出し
た場合に、他方のガードバー(GB)のアドレスを推測
する。
0がアドレス推測処理部40bの推測したアドレス基づ
いて他方のデータブロックを検出した場合に、この他方
のデータブロックのキャラクタ桁数がUPCの規定に準
拠したものであるか否かを判別するものである。
20の具体例を示す図である。データバッファ20は、
バー幅カウンタ10の検出したバー幅データを順次格納
していくものであり、各バーキャラクタのバー幅データ
値をアドレスに対応させている。
キャラクタのバー幅が3630μmならば、このバーキ
ャラクタのアドレスは、スタートアドレス”000
0”、エンドアドレス”3630”となる。
ーマットを示す。本実施例のバーコードは、UPCの規
定に従った標準バージョンのバーコードであり、231
0μmのバー幅を有するバーキャラクタをセンタバー
(CB)を介して列挙すると共に、両端に990μmの
幅を有するガードバー(GB)を付加する。さらに左ガ
ードバー(LGB)の外側には3630μm以上の幅を
有する左マージン部を備え、且つ右ガードバー(RG
B)の外側には2310μm以上の幅を有する右マージ
ン部を備えることが規定されている。
場合のバーコード検出装置の動作過程について説明す
る。尚、本実施例では、バー幅データを左から右へ向か
って検索するものとする。
装置の動作過程を示すフローチャート図である。アナロ
グ/デジタル変換器(A/D)50は、バーコードデー
タに照射された光線の反射光を入力すると、この光信号
をアナログ信号からデジタル信号に変換してバー幅カウ
ンタ10へ出力する。
から各バーキャラクタ(白、黒)のバー幅を計数して
(ステップ701)、データバッファ20へ格納する
(ステップ702)。
に格納されたバー幅データ群をバーコードの左側から右
側へ向かって検索し、左ガードバー(LGB)のアドレ
ス、センタバー(CB)のアドレス、及び右ガードバー
(RGB)のアドレスを検出し、左ガードバー(LG
B)にアドレスポインタP1をセットし、センタバー
(CB)にアドレスポインタP2をセットし、さらに右
ガードバー(RGB)にアドレスポインタP3をセット
する(図8参照)。そして、これらのアドレスポインタ
(P1、P2、P3)をCPU40へ通知する。
レスポインタ(P1、P2、P3)を受け取ると、RO
M60のプログラムに従って以下の処理を行う。先ず、
復調処理部40aは、アドレスポインタ(P1、P2)
から左データブロックのバー幅データ群を復調し、アド
レスポインタ(P2、P3)から右データブロックのバ
ー幅データ群を復調する(ステップ703)。
ー(LGB)と右ガードバー(RGB)とのうち一方の
ガードバー(GB)を検出出来なかった場合に、復調処
理部40aは左データブロックあるいは右データブロッ
クのみ復調し、アドレス推測処理部40bを起動する。
40aが復調した一方のデータブロックを解析する(ス
テップ704、705)。このとき、アドレス推測処理
部40bは、復調したデータブロックのキャラクタ桁数
と、復調を開始したアドレスポインタとを判別すると共
に、前記データブロックが奇数パリティと偶数パリティ
との組合せからなるODD構成であるか、偶数パリティ
のみからなるEVEN構成であるかを判別する。通常、
UPCに準拠したバーコードは、左データブロックをO
DD構成とし、右データブロックをEVEN構成として
いるため、一方のデータブロックのODD/EVEN構
成を判別することにより、検出出来なかった他方のデー
タブロックのODD/EVEN構成を判別することがで
きる(ステップ706)。
調を開始したアドレスポインタとキャラクタ桁数とに基
づいて、検出ロジック30が検出出来なかったガードバ
ー(GB)のアドレスを推測し、アドレスポインタをセ
ットする。
bのセットしたアドレスポインタとセンタバー(CB)
のアドレスポインタとに基づいてデータバッファ20へ
アクセスし、前記センタバー(CB)とガードバー(G
B)との間にデータブロックが存在するか否かを判別す
る。ここで、データブロックが存在すれば、CPU40
において桁数チェック部40cが、前記データブロック
を構成するバーキャラクタのキャラクタ桁数を計数し、
先に復調した一方のデータブロックとの整合性をチェッ
クする(ステップ709)。ここで、キャラクタ桁数に
異常が無ければ、復調処理部40aが、前記データブロ
ックのバー幅データを復調する(ステップ710)。左
右のデータブロックの復調終了後に、CPU40は、前
記バーコードのモジュラチェックキャラクタに基づいて
データの正常性をチェックし、異常が無ければPOS端
末へ復調後のデータを送信する。
07の処理について詳細に説明する。図9は、左マージ
ン部にノイズが発生したバーコードの具体例である。同
図に示すバーコードを読み取る場合、バー幅カウンタ1
0及び検出ロジック30は、左マージン部のノイズを黒
バーとして認識し、マージン部として認識することがで
きない。このため、検出ロジック30は、左ガードバー
(LGB)を判別することができず、センタバー(C
B)と右ガードバー(RGB)のみを検出する。そし
て、センタバー(CB)にアドレスポインタP2をセッ
トすると共に、右ガードバー(RGB)にアドレスポイ
ンタP3をセットする。
スポインタP2及びP3に基づいて右データブロックの
みを復調し、アドレス推測処理部40bを起動する。ア
ドレス推測処理部40bは、復調処理部40aの復調し
た右データブロックを解析して、バー幅データの検索方
向が左から右へ向かう方向であることと、キャラクタ桁
数(6桁)と、ODD/EVEN構成とを判別し、UPCの標
準バージョンであることを認識する。そして、アドレス
推測処理部40bは、前記検索方向に基づき前記右デー
タブロックの上位アドレスに左データブロックが存在す
ることを推測し、復調処理部40aが前記右データブロ
ックの直前に復調したデータブロックのエンドアドレス
とセンタバー(CB)のアドレスとを照合する。つま
り、左データブロックを正常に検出した場合には左デー
タブロックのエンドアドレスはセンタバー(CB)のア
ドレスと一致し、左データブロックを検出できなかった
場合には双方のアドレスは不一致となる。
ドレス推測処理部40bは、センタバー(CB)のアド
レスから前記キャラクタ桁数(6桁)分上位のアドレ
ス、即ち左ガードバー(LGB)のアドレスを推測しア
ドレスポインタP1をセットする。
ッファ20へアクセスし、アドレスポインタP1とアド
レスポインタP2との間にデータブロックが存在するか
否かを判別する。ここで、UPC規定に準拠した左デー
タブロックが存在すれば、上記アドレスポインタP1と
アドレスポインタP2とを桁数チェック部40cへ通知
する。桁数チェック部40cは、前記アドレスポインタ
P1とアドレスポインタP2との間に存在する左データ
ブロックのキャラクタ桁数がUPCの規定に準拠した桁
数(6桁)であるか否かを判別する。さらにCPU40
は、左データブロックの先頭アドレスのバー幅データを
検出し、UPCの規定に準拠した幅であるか否かを判別
する。そして、キャラクタ桁数及びバー幅がUPCの規
定に準拠したものであれば、復調処理部40aを起動し
て前記左データブロックのバー幅データ群を順次復調す
る。
定値未満であるバーコードの具体例である。同図に示す
バーコードを読み取る場合、バー幅カウンタ10及び検
出ロジック30は、右マージン部を認識することができ
ない。このため、検出ロジック30は、右ガードバー
(RGB)を検出することができず、左ガードバー(L
GB)とセンタバー(CB)のみを検出する。そして、
左ガードバー(LGB)にアドレスポインタP1セット
すると共に、センタバー(CB)にアドレスポインタP
2をセットする。
スポインタP1及びP2に基づいて左データブロックの
みを復調し、アドレス推測処理部40bを起動する。ア
ドレス推測処理部40bは、復調処理部40aの復調し
た左データブロックを解析して、データの検索方向が左
から右へ向かう方向(GB→CB)であることと、キャ
ラクタ桁数(6桁)と、ODD/EVEN構成とを判別し、U
PCの標準バージョンであることを認識する。そして、
アドレス推測処理部40bは、前記検索方向に基づき前
記左データブロックの下位アドレスに右データブロック
が存在することを推測し、前記センタバー(CB)のア
ドレスから前記キャラクタ桁数(6桁)分下位のアドレ
スを求め、このアドレスと、前記検出ロジック30が前
記左データブロックの次に復調すべきデータブロックの
エンドアドレスとして検出したアドレスとを照合する。
すなわち、右データブロックを正常に検出した場合には
右データブロックのエンドアドレスはセンタバー(C
B)から6桁分下位のアドレスと一致し、右データブロ
ックを検出出来なかった場合には双方のアドレスは不一
致となる。
ドレス推測処理部40bは、センタバー(CB)のアド
レスから前記キャラクタ桁数(6桁)分下位のアドレ
ス、即ち右ガードバー(RGB)のアドレスに相当する
位置にアドレスポインタP3をセットする。
ファ20へアクセスし、アドレスポインタP2とアドレ
スポインタP3との間にデータブロックが存在するか否
かを判別する。ここで、UPC規定に準拠した右データ
ブロックが存在すれば、上記アドレスポインタP2とア
ドレスポインタP3とを桁数チェック部40cへ通知す
る。桁数チェック部40cは、前記アドレスポインタP
2とアドレスポインタP3との間に存在する右データブ
ロックのキャラクタ桁数がUPCの規定に準拠した桁数
(6桁)であるか否かを判別する。さらにCPU40
は、右データブロックの最後尾アドレスのバー幅データ
を検出し、UPCの規定に準拠した幅であるか否かを判
別する。そして、キャラクタ桁数及びバー幅がUPCの
規定に準拠したものであれば、復調処理部40aを起動
して前記右データブロックのバー幅データ群を順次復調
する。
ノイズや左マージン部の幅が不足しているバーコードで
も、左右のデータブロックを検出且つ復調することがで
きる。
向を左から右へ向かう方向としているが、右から左へ向
かう方向の場合も同様である。
よるノイズやマージン部の幅が規定値未満のバーコード
でも正確に読み取ることができ、バーコードリーダの読
み取り精度を向上させることが可能となる。
りPOSシステム等の精度向上に寄与することができ
る。
成ブロック図
ック図
ローチャート図
(2)
Claims (12)
- 【請求項1】 二つのガードバーの間に、特定桁数のバ
ーキャラクタからなる二つのデータブロックをセンタバ
ーを介して列挙したバーコードをスキャンし、前記各バ
ーキャラクタのバー幅を検出するバー幅検出ステップ
(101)と、 前記バー幅検出ステップ(101)で検出されたバー幅
データを、バー幅の値をバーキャラクタのアドレスとし
て格納するバー幅データ格納手段へ格納するデータ格納
ステップ(102)と、 前記バー幅データ格納ステップ(102)で格納したバ
ー幅データ群を検索してブロック単位にバー幅データを
検出するデータブロック検出ステップ(103)と、 前記データブロック検出ステップ(103)において、
前記バーコードを構成する二つのデータブロックのうち
一方のデータブロックを検出できなかった場合に、検出
された他方のデータブロックの幅及びアドレスに基づい
て前記一方のデータブロックのアドレスを判別するアド
レス判別ステップ(104)と、 前記アドレス判別ステップ(104)で判別したアドレ
スに基づいて前記バー幅データ格納手段へアクセスし、
前記一方のデータブロックが存在するか否かを判別する
データブロック再検出ステップ(105)とを備えたこ
とを特徴とするバーコードデータ検出方法。 - 【請求項2】 前記請求項1において、前記バーコード
データは、前記各ガードバーの外側に特定値以上の幅を
有するマージン部を有するデータであり、 前記データブロック検出ステップ(103)は、前記バ
ー幅データ格納ステップ(102)で格納したバー幅デ
ータ群を検索して、前記二つのマージン部のアドレスを
検出するステップと、 前記二つのガードバーのアドレスを判別するステップ
と、 前記センタバーのアドレスを判別するステップと、 前記マージン部のアドレス、前記ガードバーのアドレ
ス、及び前記センタバーのアドレスに基づいて前記二つ
のデータブロックのアドレスを判別するステップとを含
むことを特徴とするバーコードデータ検出方法。 - 【請求項3】 前記請求項2において、前記データブロ
ック検出ステップ(103)において、前記二つのマー
ジン部のうち何れか一方のマージン部のアドレスを判別
出来なかった場合、あるいは前記二つのガードバーのう
ち何れか一方のガードバーのアドレスを判別出来なかっ
た場合に、 前記アドレス判別ステップ(104)は、検出された他
方のマージン部及びガードバーのアドレスと、前記セン
タバーのアドレスとから、前記他方のデータブロックの
幅を判別するステップ、及びこのデータブロックの幅と
前記センタバーのアドレスから前記一方のマージン部の
アドレスあるいは前記一方のガードバーのアドレスを判
別して前記一方のデータブロックのアドレスを判別する
ステップを含むことを特徴とするバーコードデータ検出
方法。 - 【請求項4】 前記請求項1において、前記他方のデー
タブロックの終了アドレスと前記センタバーの開始アド
レスが一致する場合に、 前記アドレス判別ステップ(105)は、前記他方のデ
ータブロックの幅を計数するステップと、 前記センタバーの終了アドレスを前記他方のデータブロ
ックの幅に相当する値だけ更新し、更新後のアドレスを
前記一方のデータブロックの終了アドレスとして判別す
ると共に、センタバーの終了アドレスを前記一方のデー
タブロックの開始アドレスとして判別するステップとを
含むことを特徴とするバーコード検出方法。 - 【請求項5】 前記請求項1において、前記他方のデー
タブロックの開始アドレスと前記センタバーの終了アド
レスが一致する場合に、 前記アドレス判別ステップ(105)は、前記他方のデ
ータブロックの幅を計数するステップと、 前記センタバーの開始アドレスを前記他方のデータブロ
ックの幅に相当する値だけ減算し、減算後のアドレスを
前記一方のデータブロックの開始アドレスとして判別す
ると共に、前記センタバーの開始アドレスを前記一方の
データブロックの終了アドレスとして判別するステップ
とを含むことを特徴とするバーコードデータ検出方法。 - 【請求項6】 前記請求項1において、前記データブロ
ック再検出ステップ(106)で検出された一方のデー
タブロックのキャラクタ桁数を計数し、前記キャラクタ
桁数が前記特定桁数と同値であるか否かを判別する桁数
チェックステップ(106)を含むことを特徴とするバ
ーコードデータ検出方法。 - 【請求項7】 二つのガードバーの間に、特定桁数のバ
ーキャラクタからなる二つのデータブロックをセンタバ
ーを介して列挙したバーコードをスキャンし、前記各バ
ーキャラクタのバー幅を検出するバー幅検出手段(1)
と、 前記バー幅検出手段(1)の検出したバー幅の値をバー
キャラクタのアドレスとして格納するバー幅データ格納
手段(2)と、 前記バー幅データ格納手段(2)に格納されたバー幅デ
ータ群を検索し、ブロック単位にバー幅データを検出す
るデータブロック検出手段(3)と、 前記データブロック検出手段(3)が前記バーコードを
構成する二つのデータブロックのうち一方のデータブロ
ックを検出できなかった場合に、検出された他方のデー
タブロックの幅及びアドレスに基づいて、前記一方のデ
ータブロックのアドレスを判別すると共に、このアドレ
スを前記データブロック検出手段(3)へ通知して前記
一方のデータブロックを検出させるアドレス判別手段
(4)とを備えたことを特徴とするバーコードデータ検
出装置。 - 【請求項8】 前記請求項7において、前記バーコード
データは、前記各ガードバーの外側に特定値以上の幅を
有するマージン部を有するデータであり、 前記データブロック検出手段(3)は、前記バー幅デー
タ格納手段(2)に格納されたバー幅データ群を検索し
て、前記二つのマージン部のアドレスを検出するステッ
プと、 前記二つのガードバーのアドレスを判別するステップ
と、 前記センタバーのアドレスを判別するステップと、 前記マージン部のアドレス、前記ガードバーのアドレ
ス、及び前記センタバーのアドレスに基づいて前記二つ
のデータブロックのアドレスを判別するステップとを実
行することを特徴とするバーコードデータ検出装置。 - 【請求項9】 前記請求項8において、前記データブロ
ック検出手段(3)が前記二つのマージン部のうち何れ
か一方のマージン部のアドレスを判別出来なかった場
合、あるいは前記二つのガードバーのうち何れか一方の
ガードバーのアドレスを判別出来なかった場合に、 前記アドレス判別手段(4)は、検出された他方のマー
ジン部及びガードバーのアドレス及び前記センタバーの
アドレスに基づいて前記他方のデータブロックの幅を判
別し、このデータブロックの幅及び前記センタバーのア
ドレスに基づいて前記一方のマージン部のアドレスある
いは前記一方のガードバーのアドレスを判別して、前記
一方のデータブロックのアドレスを判別することを特徴
とするバーコードデータ検出装置。 - 【請求項10】 前記請求項7において、前記他方のデ
ータブロックの終了アドレスと前記センタバーの開始ア
ドレスが一致する場合に、 前記アドレス判別手段(4)は、前記他方のデータブロ
ックの幅を計数して、前記センタバーの終了アドレスを
前記他方のデータブロックの幅に相当する値だけ更新
し、更新後のアドレスを前記一方のデータブロックの終
了アドレスとして判別すると共に、センタバーの終了ア
ドレスを前記一方のデータブロックの開始アドレスとし
て判別することを特徴とするバーコード検出装置。 - 【請求項11】 前記請求項7において、前記他方のデ
ータブロックの開始アドレスと前記センタバーの終了ア
ドレスが一致する場合に、 前記アドレス判別手段(4)は、前記他方のデータブロ
ックの幅を計数して、前記センタバーの開始アドレスを
前記他方のデータブロックの幅に相当する値だけ減算
し、減算後のアドレスを前記一方のデータブロックの開
始アドレスとして判別すると共に、前記センタバーの開
始アドレスを前記一方のデータブロックの終了アドレス
として判別することを特徴とするバーコードデータ検出
装置。 - 【請求項12】 前記請求項7において、前記データブ
ロック検出手段(3)が前記一方のデータブロックを検
出した際に、 この一方のデータブロックのキャラクタ桁数を計数し
て、前記キャラクタ桁数が前記特定桁数と同値であるか
否かを判別する桁数チェック手段(5)を備えることを
特徴とするバーコードデータ検出装置。
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)
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)
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 | 富士通株式会社 | バーコード読取り方法及びその装置 |
-
1993
- 1993-12-20 JP JP5320146A patent/JP2836773B2/ja not_active Expired - Fee Related
-
1994
- 1994-09-21 GB GB9419025A patent/GB2284916B/en not_active Expired - Fee Related
- 1994-09-21 US US08/307,450 patent/US5519199A/en not_active Expired - Lifetime
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 |