JP2835275B2 - バーコード読取装置 - Google Patents

バーコード読取装置

Info

Publication number
JP2835275B2
JP2835275B2 JP6035991A JP3599194A JP2835275B2 JP 2835275 B2 JP2835275 B2 JP 2835275B2 JP 6035991 A JP6035991 A JP 6035991A JP 3599194 A JP3599194 A JP 3599194A JP 2835275 B2 JP2835275 B2 JP 2835275B2
Authority
JP
Japan
Prior art keywords
character
bar
segment
data
code
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
JP6035991A
Other languages
English (en)
Other versions
JPH07244706A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6035991A priority Critical patent/JP2835275B2/ja
Publication of JPH07244706A publication Critical patent/JPH07244706A/ja
Application granted granted Critical
Publication of JP2835275B2 publication Critical patent/JP2835275B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バーコードラベルから
バーコードを読取るバーコード読取装置に関する。
【0002】
【従来の技術】統一商品コード(Universal Product
Code )ラベルやこのラベルから派生したEANコー
ドラベル、JANコードラベル等は食品や雑貨品に多く
付けられている。
【0003】このようなラベルに使用するコードは基本
的にガードバーとセンターバーに挟まれた6キャラクタ
或いは4キャラクタを1つの単位(ハーフセグメント)
として読取る。
【0004】デコーダ回路或いはマイクロプロセッサに
よりデコードされた左右のハーフセグメントデータは1
つのデータに結合されると共にマイクロプロセッサによ
り各種の検証が行われるが、正しいデータと見なされる
とオペレータに報知されると共に上位機器に転送され
る。検証には例えばモジュロ10チェックによるチェッ
クディジットの検証やデコードデータの一致検証等があ
る。
【0005】また、このようなラベルはランダムな向き
で光ビームの走査が行われバーコード読取装置により読
取られる。このとき重要となるのはラベルの識別であ
る。すなわち、光ビームがラベルを走査するとバーコー
ド読取装置ではその反射光を電気信号に変換してバーコ
ードの解読処理を行うが、そのときに実際のバーコード
の信号か外来性の背景信号かを正しく判定して解読処理
を行う必要がある。
【0006】このようなことから従来は、読取ったデー
タを検査してラベル中に現れるUPC、EANあるいは
JANの文字基準に合致する各種のキャラクタの組合わ
せ、すなわち数字キャラクタとセンタバーとガードバー
を判定し、データストリームがガードバー、数字、セン
タバーを含んでいることを見付け、ガードバーとセンタ
ーバーに囲まれた数字をラベル候補と見なしている。
【0007】また、商品コードを扱うラベルの形態とし
て、ソースマーキングコードを扱うラベルとインストア
マーキングコードを扱うラベルがある。ソースマーキン
グコードは、例えば2桁の国コード、5桁のメーカコー
ドからなる左側セグメントデータと5桁の商品コード、
1桁のチェックディジットからなる右側セグメントデー
タで構成され、インストアマーキングコードは2桁のイ
ンストアフラグ、5桁の商品コードからなる左側セグメ
ントデータと、1桁のプライスチェックディジット、4
桁の金額データ、1桁のチェックディジットからなる右
側セグメントデータで構成されている。なお、プライス
チェックディジットを使用せず金額を5桁にする場合も
ある。
【0008】ソースマーキングコードをPOS(ポイン
ト・オブ・セールス)システムに使用した場合は、バー
コード読取装置でソースマーキングコードを読取ると、
POSターミナルやホストコンピュータ等の上位装置に
国コード、メーカコード、商品コードの問合わせが行わ
れ、上位装置でそのコードをファイルから検索し、あれ
ば対応する商品名や金額等を読出する。そしてPOSタ
ーミナルにおいて商品の登録処理を行う。
【0009】また、インストアマーキングコードをPO
Sシステムに使用した場合は、バーコード読取装置でイ
ンストアマーキングコードを読取ると、POSターミナ
ルやホストコンピュータ等の上位装置に左側セグメント
データの商品コードの問合わせが行われ、上位装置のフ
ァイルにその商品コードが登録されていれば右側セグメ
ントデータの金額データをその商品の金額と認識してP
OSターミナルが商品の登録処理を行う。
【0010】また近年、より多くの情報をバーコードラ
ベルに持たせるために、衣料品等のラベルとして図20
に示すような2段バーコードラベルが多く利用されるよ
うになっている。図20は上に13桁のバーコードを配
置し、下に8桁のバーコードを配置した2段バーコード
ラベルになっている。
【0011】
【発明が解決しようとする課題】光ビームがラベルを走
査する場合、例えばUPCバージョンA(UPC−A)
ラベルのような片側6桁構成に対して、走査ビームが左
側セグメントの6文字目の数字の途中から挿入し、セン
ターバーと6つの数字まで交差した後、ガードバーの途
中で横切るような場合が発生する。
【0012】このような場合、従来では走査によって生
成するデータを、センターバー、6文字の数字文字及び
ガードバーからなる6文字構成のラベル候補として誤っ
て認識してしまう問題があった。
【0013】例えば一例を述べると、コード「2074
10003007」をバーコードで表現したUPC−A
ラベルの右側セグメントを示すと、図19に示すように
なっている。
【0014】この右側セグメントに対して走査ビームs
1 で走査したときはこのセグメントを認識するに十分な
範囲でビームが横切っているので右側セグメントをセン
ターバーC、6つの数字文字0,0,3,0,0,7及
びガードバーGを正しく認識できるが、走査ビームs2
で走査したときは誤読する問題が発生する。すなわち、
走査ビームbは、左側セグメントの最終数字文字3のバ
ーから交差を開始し、センターバーC及び6つの数字文
字0,0,3,0,0,7を横切った後、ガードバーG
の一部を横切って交差を終了している。
【0015】この走査ビームs2 が横切ったバーコード
のバー及びスペース幅をモジュール表現すると、バーモ
ジュール数は順に、211、11111、3211、3
211、1411、3211、3211、1312、
1、となる。
【0016】このモジュール表現を2ビットずらして区
分すると、順に2、11111、1132、1132、
1114、1132、1132、1113、121、と
なり、これはセンターバーC、6つの数字文字4,4,
6,4,4,6及びガードバーGとして誤読する虞があ
る。
【0017】そしてこの走査ビームs2 による得た右側
セグメント「446446」は全ての数字文字が偶数パ
リティなのでパリティチェックをパスし、本来の左側セ
グメント「207410」とのチェックサムもパスして
しまうことになる。
【0018】このように走査ビームs2 での走査し、ビ
ットずれが生じた場合には、本来のラベルを識別できず
に誤ったままラベルを読取ってしまう問題があった。
【0019】また、図20の2段バーコードラベルに対
して1段目(上の段)のバーコードデータの右側を途中
で横切る走査ビームs4 によって4キャラクタデータが
デコードされる場合がある。そして走査ビームs3 とs
5 による左右6キャラクタで構成される1段目のバーコ
ードと走査ビームs4 とs6 による2段目のバーコード
がデコードされ、モジュロ10チェックが正しい場合に
は誤ったままラベルを読取ってしまう問題があった。
【0020】そこで本発明は、ビットずれによる誤読や
2段バーコードの組合わせの誤りによる誤読を確実に防
止できるバーコード読取装置を提供する。
【0021】
【課題を解決するための手段】請求項1対応の発明は、
ガードバーとセンタバーとの間に複数桁のキャラクタコ
ードを介在してハーフセグメントを構成し、そのハーフ
セグメントをセンターバーを間にして左右に並べたバー
コードラベルに光ビームを走査し、その反射光を受光し
光電変換してバーコードデータを得、そのバーコードデ
ータからハーフセグメント毎にバーコードを読取り、そ
れを組合わせてバーコードラベルを読取るバーコード読
取装置において、バーコードデータから一方のハーフセ
グメントのガードバー、センタバー及び所定数のキャラ
クタコードと他方のハーフセグメントのセンターバーに
隣接するキャラクタコードを読取る第1の読取手段と、
バーコードデータから他方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第2の読取手段と、第1の読取手段が
一方のハーフセグメントのキャラクタコードと他方のハ
ーフセグメントのセンターバーに隣接するキャラクタコ
ードを読取ったときの他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードと第2の読取手段が
他方のハーフセグメントのキャラクタコードと一方のハ
ーフセグメントのセンターバーに隣接するキャラクタコ
ードを読取ったときの他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードを比較する第1の比
較手段と、第2の読取手段が他方のハーフセグメントの
キャラクタコードと一方のハーフセグメントのセンター
バーに隣接するキャラクタコードを読取ったときの一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードと第1の読取手段が一方のハーフセグメントの
キャラクタコードと他方のハーフセグメントのセンター
バーに隣接するキャラクタコードを読取ったときの一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを比較する第2の比較手段とを設け、各比較手
段の両方がキャラクタコードの一致を検出したとき、読
取った両方のハーフセグメントの組合わせを許可し、各
比較手段の少なくとも一方がキャラクタコードの不一致
を検出したとき、読取った両方のハーフセグメントの組
合わせを禁止するものである。
【0022】請求項2対応の発明は、ガードバーとセン
タバーとの間に複数桁のキャラクタコードを介在してハ
ーフセグメントを構成し、そのハーフセグメントをセン
ターバーを間にして左右に並べたバーコードラベルに光
ビームを走査し、その反射光を受光し光電変換してバー
コードデータを得、そのバーコードデータからハーフセ
グメント毎にバーコードを読取り、それを組合わせてバ
ーコードラベルを読取るバーコード読取装置において、
バーコードデータから一方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第1の読取手段と、バーコードデータ
から他方のハーフセグメントのガードバー、センタバー
及び所定数のキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取る
第2の読取手段と、第1の読取手段が一方のハーフセグ
メントのキャラクタコードと他方のハーフセグメントの
センターバーに隣接するキャラクタコードを読取ったと
きの他方のハーフセグメントのセンターバーに隣接する
キャラクタコードと第2の読取手段が他方のハーフセグ
メントのキャラクタコードと一方のハーフセグメントの
センターバーに隣接するキャラクタコードを読取ったと
きの他方のハーフセグメントのセンターバーに隣接する
キャラクタコードを比較する第1の比較手段と、第2の
読取手段が他方のハーフセグメントのキャラクタコード
と一方のハーフセグメントのセンターバーに隣接するキ
ャラクタコードを読取ったときの一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードと第1の
読取手段が一方のハーフセグメントのキャラクタコード
と他方のハーフセグメントのセンターバーに隣接するキ
ャラクタコードを読取ったときの一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを比較す
る第2の比較手段とを設け、各比較手段の少なくとも一
方がキャラクタコードの一致を検出したとき、読取った
両方のハーフセグメントの組合わせを許可し、各比較手
段のいずれもキャラクタコードの不一致を検出したと
き、読取った両方のハーフセグメントの組合わせを禁止
するものである。
【0023】請求項3対応の発明は、第1の読取手段及
び第2の読取手段がハーフセグメントのキャラクタコー
ド及びセンターバーに隣接するキャラクタコードを読取
るとき同時にその各キャラクタコードのパリティデータ
も読取るものである。
【0024】
【作用】請求項1対応の発明においては、第1の読取手
段が一方のハーフセグメントのキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取ったときの他方のハーフセグメントのセ
ンターバーに隣接するキャラクタコードと、第2の読取
手段が他方のハーフセグメントのキャラクタコードと一
方のハーフセグメントのセンターバーに隣接するキャラ
クタコードを読取ったときの他方のハーフセグメントの
センターバーに隣接するキャラクタコードを第1の比較
手段で比較する。また、第2の読取手段が他方のハーフ
セグメントのキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取っ
たときの一方のハーフセグメントのセンターバーに隣接
するキャラクタコードと、第1の読取手段が一方のハー
フセグメントのキャラクタコードと他方のハーフセグメ
ントのセンターバーに隣接するキャラクタコードを読取
ったときの一方のハーフセグメントのセンターバーに隣
接するキャラクタコードを第2の比較手段で比較する。
そして各比較手段の両方がキャラクタコードの一致を検
出したとき、読取った両方のハーフセグメントの組合わ
せを許可し、各比較手段の少なくとも一方がキャラクタ
コードの不一致を検出したとき、読取った両方のハーフ
セグメントの組合わせを禁止する。
【0025】請求項2対応の発明においては、各比較手
段の少なくとも一方がキャラクタコードの一致を検出し
たとき、読取った両方のハーフセグメントの組合わせを
許可し、各比較手段のいずれもキャラクタコードの不一
致を検出したとき、読取った両方のハーフセグメントの
組合わせを禁止する。
【0026】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。
【0027】図1はバーコード読取装置の全体構成を示
すブロック図で、1はレーザ発振器等の光ビーム発生器
である。この光ビーム発生器1からの光ビームをポリゴ
ンミラーや振動ミラー等の偏向器2に照射して偏向し、
その偏向光でバーコードラベル3上を走査する。
【0028】そしてバーコードラベル3からの反射光を
光検出器4で検出した後、アナログ回路5で光電変換、
信号増幅、A/D変換等の各処理を行って2値化し、そ
の2値化信号をパルス幅カウンタ6に供給している。
【0029】前記パルス幅カウンタ6は、2値化信号を
取込み、基準クロックを使用したカウント動作によりバ
ーコードの各バー幅及びスペース幅に対応した時間幅デ
ータ、バー及びスペースを表わすバー信号、時間幅デー
タ及びバー信号をラッチするためのクロックをデコーダ
7に出力する。
【0030】前記デコーダ7は、パルス幅カウンタ6か
らの時間幅データ及びバー信号を用いてラベル中に現れ
るUPC、EAN(JAN)規格に合致するガードバー
とセンタバー及びキャラクタを認識する。
【0031】前記デコーダ7の認識結果はラベル識別部
8に伝えられ、これによりラベル識別部8はバーコード
ラベルを識別する。
【0032】前記ラベル識別部8のバーコードラベルの
識別結果はデコードデータとしてマイクロプロセッサ1
00に取込まれRAM(ランダム・アクセス・メモリ)
102に格納される。
【0033】前記マイクロプロセッサ100はRAM1
02に格納したバーコードラベルの識別結果をROM
(リード・オンリー・メモリ)101のプログラムデー
タに基づいて各種検証し、ラベル識別の正否を判断す
る。そしてラベル識別結果が正しいと判断した場合はイ
ンターフェース(I/F)を介して上位装置へ転送する
ようになっている。
【0034】前記デコーダ7はバーコードの認識処理を
以下のように行う。
【0035】現在のデコード位置をi、時間幅をD(i)
、隣合う時間幅の和、すなわち{D(i-1) +D(i) }
をT(i) 、4つの隣合う時間幅の和、すなわち{T(i-
2) +T(i) }をS(i) とし、またバー信号をバーのと
きは正論理V(i) 、スペースのときは負論理V(i) とす
る。
【0036】図2の(a) は、スペースからなるマージン
とガードバーの構成を示し、これを入力マージンとすれ
ば、この入力マージンは、正論理V(i-2) &負論理V(i
-1) &正論理V(i) &[31.25%×T(i-2)>T(i)
]&[S(i+4) <84.4%×S(i) ]を満足する。
【0037】図2の(b) は、ガードバーとスペースから
なるマージンの構成を示し、これを出力マージンとすれ
ば、この出力マージンは、正論理V(i-2) &負論理V(i
-1) &正論理V(i) &[31.25%×T(i) >T(i-
1) ]&[31.25%×T(i) >T(i-2) ]&[S(i-
4) <84.4%×S(i) ]を満足する。
【0038】図3の(a) は、3つのスペースと2つのバ
ーからなるセンターバーの構成を示し、これを入力セン
ターバーとすれば、この入力センターバーは、負論理V
(i-4) &正論理V(i-3) &負論理V(i-2) &正論理V(i
-1) &負論理V(i) &[42.97%×S(i+4) <S
(i) <78.91%×S(i+4) ]&[S(i+4) が出力マ
ージンではない。]&[S(i-1) が数字キャラクタの
1,2,7,8のいづれかである。]を満足する。
【0039】図3の(b) は、3つのスペースと2つのバ
ーからなるセンターバーの構成を示し、これを出力セン
ターバーとすれば、この出力センターバーは、負論理V
(i-3) &正論理V(i-2) &負論理V(i-1) &正論理V
(i) &負論理V(i+1) &[42.97%×S(i-4) <S
(i) <78.91%×S(i-4) ]&[S(i-4) が入力マ
ージンではない。]&[S(i+1) が数字キャラクタの
1,2,7,8のいづれかである。]を満足するものと
なる。
【0040】図3の(c) は、隣合うキャラクタの構成を
示し、これをイコールとすれば、このイコールは、[8
4.4%×S(i+4) <S(i) ]&[84.4%×S(i)
≦S(i+4) ]を満足する。
【0041】ここで、図2及び図3で示した認識処理で
認識した場合にハイレベルとなる出力信号を、入力マー
ジンの場合はIMG信号、出力マージンの場合はOMG
信号、入力センターバーの場合はICB信号、出力セン
ターバーの場合はOCB信号、イコールの場合はEQL
信号、正論理V(i) の場合はBAR信号とする。そして
この各信号はパルス幅カウンタ6で生成されるクロック
によってラベル識別部8でラッチするようになってい
る。
【0042】前記デコーダ7は、さらに数字キャラクタ
の認識を行なう。UPC文字としての数字キャラクタは
モジュールを使用して表現すると、各数字キャラクタの
幅は7モジュールである。個々のバーは幅が1〜4モジ
ュールであり、個々のスペースは幅が1〜3モジュール
である。
【0043】また、数字キャラクタ中のバーのモジュー
ル数の合計は奇数或いは偶数パリティを意味している。
【0044】今、数値「9」を表わすUPC文字がラベ
ルの左側にあると仮定すれば、スペースを0、バーを1
で表わすと、7モジュールのデータ文字「9」の2進表
現は「0001011」となる。この文字はバーのモジ
ュール数が3であることから、奇数パリティを示す。
【0045】データ文字「9」がラベルの右側にある場
合には左部分の2進表現、すなわち2進補数で表記され
る。すなわち、データ文字「9」の2進表現は「111
0100」となる。この文字はバーのモジュール数が4
であることから、偶数パリティを示す。
【0046】ラベルの左側にある数字を偶数パリティに
するためには2進表現において左右裏返しにしてバーを
スペースに、またスペースをバーに反転して生成する。
すなわち、データ文字「9」の偶数パリティは2進表現
で「0010111」となる。
【0047】本実施例では認識した文字データ及びパリ
ティデータは前記パルス幅カウンタ6からのクロックに
よってデコーダ7にラッチされるものとする。
【0048】また、前述したIMG等の信号及びデータ
の時制は全て等しく、後述する時制の異なる信号或いは
データを用いるときは前述した信号及びデータの時制を
基本とする。すなわち、時制をnで表わすと、前述した
信号及びデータの時制はn=0となる。また、将来方向
に対してはマイナス、すなわちn−として表記し、過去
方向に対してはプラス、すなわちn+として表記する。
【0049】前記ラベル識別部8はデコーダ7からの各
種信号をシーケンシャルに検索しラベル構造を検出す
る。
【0050】図4はUPC−Aラベルを示し、このラベ
ルはガードバーGとセンターバーCと6桁の数字キャラ
クタからなる左側セグメントCL、右側セグメントCR
とで構成される。
【0051】このUPC−Aラベルを走査線aで走査す
ると、この走査線aはガードバーG、左側セグメントC
Lの6文字、センターバーC及び右側セグメントCRの
1文字を横切るので、ラベル識別部8はデコーダ7から
の各種信号をシーケンシャルに並べることにより、図7
に示すようなラベル構造を認識する。すなわち、入力マ
ージンIMG、6桁のイコールEQL、出力センターバ
ーOCB、入力センターバーICB及び追加文字からな
るラベル構造を認識する。このときバーを表わすBAR
信号は図中に示すように対応する。
【0052】また、このUPC−Aラベルを走査線bで
走査すると、この走査線bは左側セグメントCLの1文
字、センターバーC、右側セグメントCRの6文字及び
ガードバーGを横切るので、ラベル識別部8はデコーダ
7からの各種信号をシーケンシャルに並べることによ
り、図8に示すようなラベル構造を認識する。すなわ
ち、追加文字、出力センターバーOCB、入力センター
バーICB、6桁のイコールEQL及び出力マージンO
MGからなるラベル構造を認識する。このときバーを表
わすBAR信号は図中に示すように対応する。
【0053】ラベルの構造上対応するバーはBAR1 と
BAR2 の2通りが考えられるが、説明を容易にするた
めに便宜的にBAR1 が対応するものとする。またラベ
ルの構造上対応するスペースはSPACE1 とSPAC
E2 の2通りが考えられるが、説明を容易にするために
便宜的にSPACE1 が対応するものとする。
【0054】前記ラベル識別部8は、第1の読取手段と
して図5に示す第1の読取回路を設けている。
【0055】この第1の読取回路は、ガードバー(IM
G信号)とセンターバー(OCB信号)とで区切られた
数字キャラクタを含むラベル構造、すなわち図7のラベ
ル構造のデータを捕獲する回路で、この回路は3個の2
入力形アンド回路AN1 〜AN3 、1個の3入力形アン
ド回路AN4 、1個の4入力形アンド回路AN5 、2個
の2入力形オア回路OR1 ,OR2 、1個の3入力反転
出力形オア回路OR3、1個のフリップフロップFF1
、1個の同期式カウンタCNT1 及び3個のインバー
タ回路IN1 〜IN3 を設けている。
【0056】また、前記第1の読取回路は、6段のフリ
ップフロップFF11,FF12,FF13,FF14,FF1
5,FF16からなるシフトレジスタ11、6段のフリッ
プフロップFF21,FF22,FF23,FF24,FF25,
FF26からなるシフトレジスタ12、バッファ13及び
マルチプレクサ14を設けている。
【0057】前記デコーダ7からのバーを示すBAR1
信号は、アンド回路AN3 ,AN4,AN5 及びフリッ
プフロップFF1 のクロックイネーブル(CE)端子に
入力している。
【0058】また、前記デコーダ7からのIMG信号
は、オア回路OR1 ,OR2 に入力し、EQL信号は、
アンド回路AN4 に入力すると共にそのEQL信号の反
転信号はインバータIN1 を介してオア回路OR3 に入
力している。
【0059】また、前記デコーダ7からのOCB信号
は、オア回路OR3 及びアンド回路AN5 に入力してい
る。
【0060】先ず、前記デコーダ7がガードバーを検出
すると、IMG信号がハイレベルとなり、オア回路OR
2 の出力を有効にし、BAR1 信号のタイミングでフリ
ップフロップFF1 のセット出力B1 Sをハイレベルに
する。B1 S信号のハイレベル状態はクリア信号B1 C
Lが無効になるまで継続する。
【0061】前記IMG信号は同時にオア回路OR1 及
びアンド回路AN3 を介して同期式カウンタCNT1 を
初期化する。すなわち、オア回路OR1 を有効にすると
BAR1 信号のタイミングでアンド回路AN3 の出力を
ハイレベルにし、同期式カウンタCNT1 をクリアす
る。これにより同期式カウンタCNT1 の各ビット信号
B1 QA,B1 QB,B1 QCは「0」となる。
【0062】続いて、前記デコーダ7が図7に示す第1
の数字キャラクタ(1st文字)を検出すると、EQL信
号がハイレベルとなり、同期式カウンタCNT1 をカウ
ントアップさせる。すなわち、フリップフロップFF1
のセット出力B1 SとBAR1 信号とEQL信号を入力
するアンド回路AN4 の出力B1 DTLが有効となり、
カウンタCNT1 の出力は「1」となる。
【0063】以下、同様にして前記デコーダ7が第2〜
第6の数字キャラクタ(2nd文字〜6th文字)を検出す
るたびに、同期式カウンタCNT1 の出力は2,3,…
6とカウントアップする。この同期式カウンタCNT1
の出力はバーコードラベルの構造を識別するのに有効と
なる。すなわち、ラベル構造にはハーフセグメントが4
文字構成と6文字構成があり、カウンタ出力はこの文字
数を示している。
【0064】UPCーAラベルの左側ハーフセグメント
を走査すると、カウンタCNT1 の出力は「6」、すな
わちビット信号B1 QAがローレベル、ビット信号B1
QBとB1 QCがハイレベルとなり、アンド回路AN1
の出力は有効となる。
【0065】また、前記アンド回路AN5 にはビット信
号B1 QCが入力すると共にビット信号B1 QAがイン
バータIN3 を介して反転して入力することになる。
【0066】この状態で前記デコーダ7がセンターバー
を検出すると、OCB信号がハイレベルとなり、アンド
回路AN5 はBAR1 信号のタイミングで出力B1 CE
をハイレベルにする。
【0067】OCB信号は同時にオア回路OR3 の反転
出力B1 CLをローレベルにしアンド回路AN2 の出力
をローレベルにする。そしてオア回路OR2 を介してフ
リップフロップFF1 をBAR1 信号のタイミングでク
リアし出力B1 Sをローレベル、すなわち、フリップフ
ロップFF1 を初期化する。
【0068】また、OCB信号によりオア回路OR3 の
反転出力B1 CLがローレベルとなるので、インバータ
IN2 及びオア回路OR1 を介してアンド回路AN3 に
入力するBCL信号がハイレベルとなり、アンド回路A
N3 出力はBAR1 信号のタイミングでハイレベルとな
り、同期式カウンタCNT1 は初期化する。すなわち、
出力が「0」となる。
【0069】こうして第1の読取回路により図7に示す
シーケンシャルなラベル構成の捕獲ができる。
【0070】前記アンド回路AN4 からのB1 DTL信
号を各フリップフロップFF11〜FF16,FF21〜FF
26のクロックイネーブル(CE)端子に入力している。
【0071】また、前記アンド回路AN5 からのB1 C
E信号をラベルの終了を示す信号として前記バッファ1
3のクロックイネーブル(CE)端子に入力している。
【0072】また、前記同期式カウンタCNT1 からの
ビット信号B1 QA,B1 QB,B1 QCを前記バッフ
ァ13に入力している。
【0073】また、前記バッファ13には前記各フリッ
プフロップFF11〜FF16,FF21〜FF26のセット出
力端子からの信号も入力している。
【0074】前記デコーダ7が第1のキャラクタ(1st
文字)を検出すると、上述したようにアンド回路AN4
からのB1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第1のキャラクタが
現れ、その第1のキャラクタがシフトレジスタ11のフ
リップフロップFF11にB1 DTL信号のタイミングで
セットする。
【0075】前記デコーダ7が第2のキャラクタ(2nd
文字)を検出すると、上述したようにアンド回路AN4
からのB1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第2のキャラクタが
現れ、その第2のキャラクタがシフトレジスタ11のフ
リップフロップFF11にB1 DTL信号のタイミングで
セットする。このときフリップフロップFF11の出力は
次段のフリップフロップFF12にセットされる。すなわ
ち、第2のキャラクタがフリップフロップFF11にセッ
トすると同時に第1のキャラクタがフリップフロップF
F12にセットすることになる。
【0076】以降、前記デコーダ7が第3乃至第6のキ
ャラクタ(3rd〜6th文字)を検出する毎に、第3キャ
ラクタ〜第6のキャラクタがシフトレジスタ11のフリ
ップフロップFF11にB1 DTL信号のタイミングで順
次セットし、その都度前段のフリップフロップの内容が
次段のフリップフロップにシフトすることになる。
【0077】こうして第6のキャラクタがフリップフロ
ップFF11にセットすると、各フリップフロップFF11
〜FF16からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
【0078】キャラクタデータと同様にパリティデータ
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ12の各フリップフロップFF21〜FF
26にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF11にセットすると、シフトレジ
スタ12の各フリップフロップFF21〜FF26からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
【0079】また、OCB信号の次のシーケンスでは入
力側のセンターバーを示すICB信号及び第5シーケン
ス後にはセンターバーに隣接する追加文字を検出するこ
とが想定できる。
【0080】現在の時制をnとし、次のシーケンスをn
−1、第5シーケンス後をn−5と表わすと、想定され
る入力側のセンターバーはICBn-1 及び追加文字はC
HARAn-5 となり、OCB信号と同時制シーケンスで
の認識が可能となる。
【0081】追加文字CHARAn-5 及び入力側のセン
ターバーICBn-1 は前記マルチプレクサ14に入力し
ている。前記マルチプレクサ14は、入力側のセンター
バーICBn-1 を検出するとキャラクタデータを選択
し、入力側のセンターバーICBn-1 が検出できないと
きには無効キャラクタデータFhを選択して出力する。
【0082】前記マルチプレクサ14の出力バスは追加
文字を表わすデータバスADDBとして前記バッファ1
3に接続している。
【0083】前記デコーダ7がセンターバーを検出して
OCB信号がハイレベルになるとアンド回路AN4 の出
力B1 DTLがハイレベルになることは前述した通りで
あり、B1 DTLがハイレベルになるとそのタイミング
で前記バッファ13は、各フリップフロップFF11〜F
F16からのキャラクタデータ、各フリップフロップFF
21〜FF26からのパリティデータ、データバスADDB
の追加文字、同期式カウンタCNT1 の出力B1 QA,
B1 QB,B1 QCを記憶する。
【0084】前記ラベル識別部8は、第2の読取手段と
して図6に示す第2の読取回路を設けている。
【0085】この第2の読取回路は、センターバー(I
CB信号)とガードバー(OMG信号)とで区切られた
数字キャラクタを含むラベル構造、すなわち図8のラベ
ル構造のデータを捕獲する回路で、この回路は3個の2
入力形アンド回路AN6 〜AN8 、1個の3入力形アン
ド回路AN9 、1個の4入力形アンド回路AN10、2個
の2入力形オア回路OR4 ,OR5 、1個の3入力反転
出力形オア回路OR6、1個のフリップフロップFF2
、1個の同期式カウンタCNT2 及び3個のインバー
タ回路IN4 〜IN6 を設けている。
【0086】また、この第2の読取り回路は、6段のフ
リップフロップFF31,FF32,FF33,FF34,FF
35,FF36からなるシフトレジスタ15、6段のフリッ
プフロップFF41,FF42,FF43,FF44,FF45,
FF46からなるシフトレジスタ16、バッファ17、マ
ルチプレクサ18、2入力形オア回路OR7 及びバッフ
ァ19を設けている。
【0087】前記デコーダ7からのスペースを示すSP
ACE1 信号は、アンド回路AN8,AN9 ,AN10及
びフリップフロップFF2 のクロックイネーブル(C
E)端子に入力している。
【0088】また、前記デコーダ7からのICB信号
は、オア回路OR4 ,OR5 に入力し、EQL信号は、
アンド回路AN9 に入力すると共にそのEQL信号の反
転信号はインバータIN4 を介してオア回路OR6 に入
力している。
【0089】また、前記デコーダ7からのOMG信号
は、オア回路OR6 及びアンド回路AN10に入力してい
る。
【0090】先ず、前記デコーダ7がセンターバーを検
出すると、ICB信号がハイレベルとなり、オア回路O
R5 の出力を有効にし、SPACE1 信号のタイミング
でフリップフロップFF2 のセット出力S1 Sをハイレ
ベルにする。S1 S信号のハイレベル状態はクリア信号
S1 CLが無効になるまで継続する。
【0091】前記ICB信号は同時にオア回路OR4 及
びアンド回路AN8 を介して同期式カウンタCNT2 を
初期化する。すなわち、オア回路OR4 を有効にすると
SPACE1 信号のタイミングでアンド回路AN8 の出
力をハイレベルにし、同期式カウンタCNT2 をクリア
する。これにより同期式カウンタCNT2 の各ビット信
号S1 QA,S1 QB,S1 QCは「0」となる。
【0092】また、前記ICB信号は追加文字のための
ラッチ動作を行う。すなわち、図8に示すようにICB
信号の1つ前のシーケンスでは出力側のセンターバーを
示すOCB信号及び第5シーケンス前ではセンターバー
に隣接している左側ハーフセグメントの追加文字が存在
していた。
【0093】そこで現在の時制をnとし、次のシーケン
スをn+1、第5シーケンス後をn+5と表わすと、想
定される出力側のセンターバーはOCBn+1 及び追加文
字はCHARAn+5 となり、ICB信号と同時制シーケ
ンスでの認識が可能となる。
【0094】追加文字CHARAn+5 及び出力側のセン
ターバーOCBn+1 は前記マルチプレクサ18に入力し
ている。前記マルチプレクサ18は、出力側のセンター
バーOCBn+1 を検出するとキャラクタデータを選択
し、出力側のセンターバーOCBn+1 が検出できないと
きには無効キャラクタデータFhを選択して出力する。
【0095】前記ICB信号は前記オア回路OR7 を介
して前記バッファ19のCE端子を有効にし、前記マル
チプレクサ18の出力バス、すなわち追加文字を表わす
データバスADDSをラッチする。
【0096】続くシーケンスで前記デコーダ7が第1の
数字キャラクタ(1st文字)を検出すると、EQL信号
がハイレベルとなり、同期式カウンタCNT2 をカウン
トアップさせる。すなわち、フリップフロップFF2 の
セット出力S1 SとSPACE1 信号とEQL信号を入
力するアンド回路AN9 の出力S1 DTLが有効とな
り、前記同期式カウンタCNT2 の出力は「1」とな
る。
【0097】以下、同様にしてデコーダ7が第2〜第6
の数字キャラクタ(2nd文字〜6th文字)を検出する毎
に、同期式カウンタCNT2 の出力は2,3,…6とカ
ウントアップする。この同期式カウンタCNT2 の出力
はバーコードラベルのキャラクタ数を表わし、キャラク
タ構造を識別するのに有効となる。
【0098】UPCーAラベルの右側ハーフセグメント
を走査すると、同期式カウンタCNT2 の出力は
「6」、すなわち、ビット信号S1 QAがローレベル、
ビット信号S1 QBとS1 QCがハイレベルとなり、ア
ンド回路AN6 の出力は有効となる。また、アンド回路
AN10にはビット信号S1 QCが入力すると共にビット
信号S1 QAがインバータIN6 を介して反転して入力
している。
【0099】この状態で前記デコーダ7がガードバーを
検出すると、OMG信号がハイレベルとなり、アンド回
路AN10はSPACE1 信号のタイミングで出力S1 C
Eをハイレベルにする。
【0100】OMG信号は同時にオア回路OR6 の反転
出力S1 CLをローレベルにしアンド回路AN7 の出力
をローレベルにする。そしてオア回路OR5 を介してフ
リップフロップFF2 をSPACE1 信号のタイミング
でクリアし、出力S1 Sをローレベル、すなわちフリッ
プフロップFF2 を初期化する。
【0101】また、OMG信号によりオア回路OR6 の
反転出力S1 CLがローレベルとなるので、インバータ
IN5 及びオア回路OR4 を介してアンド回路AN8 に
入力するSCL信号がハイレベルとなり、アンド回路A
N8 出力はSPACE1 信号のタイミングでハイレベル
となり、これにより同期式カウンタCNT2 は初期化す
る。すなわち同期式カウンタCNT2 の出力が「0」と
なる。
【0102】こうして第2の読取回路により図8に示す
ラベル構成の捕獲ができる。
【0103】前記アンド回路AN9 の出力S1 DTL
は、シフトレジスタ15及び16のCE端子に入力し、
また、ラベルの終了を示す信号としたアンド回路AN10
の出力S1 CEはオア回路OR7 を介してバッファ19
のCE端子に入力すると共にバッファ17のCE端子に
入力する。また、同期式カウンタCNT2 の出力S1 Q
A,S1 QB,S1 QCは前記バッファ17に入力す
る。
【0104】また、前記バッファ17には前記各フリッ
プフロップFF31〜FF36,FF41〜FF46のセット出
力端子からの信号も入力している。
【0105】前記デコーダ7が第1のキャラクタ(1st
文字)を検出すると、上述したようにアンド回路AN9
からのS1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第1のキャラクタが
現れ、その第1のキャラクタがシフトレジスタ15のフ
リップフロップFF31にS1 DTL信号のタイミングで
セットする。
【0106】前記デコーダ7が第2のキャラクタ(2nd
文字)を検出すると、上述したようにアンド回路AN9
からのS1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第2のキャラクタが
現れ、その第2のキャラクタがシフトレジスタ15のフ
リップフロップFF31にB1 DTL信号のタイミングで
セットする。このときフリップフロップFF31の出力は
次段のフリップフロップFF32にセットされる。すなわ
ち、第2のキャラクタがフリップフロップFF31にセッ
トすると同時に第1のキャラクタがフリップフロップF
F32にセットすることになる。
【0107】以降、前記デコーダ7が第3乃至第6のキ
ャラクタ(3rd〜6th文字)を検出する毎に、第3〜第
6のキャラクタがシフトレジスタ15のフリップフロッ
プFF31にB1 DTL信号のタイミングで順次セット
し、その都度前段のフリップフロップの内容が次段のフ
リップフロップにシフトすることになる。
【0108】こうして第6のキャラクタがフリップフロ
ップFF31にセットすると、各フリップフロップFF31
〜FF36からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
【0109】キャラクタデータと同様にパリティデータ
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ16の各フリップフロップFF41〜FF
46にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF41にセットすると、シフトレジ
スタ16の各フリップフロップFF41〜FF46からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
【0110】前記デコーダ7がガードバーOMGを検出
すると、前記アンド回路AN10の出力S1 CEがハイレ
ベルとなり、バッファ17は各フリップフロップFF31
〜FF36からのキャラクタデータ、各フリップフロップ
FF41〜FF46からのパリティデータ、データバスAD
DSの追加文字、同期式カウンタCNT2 の出力S1Q
A,S1 QB,S1 QCを記憶する。
【0111】C−Aラベルを走査線cで走査すると、こ
の走査線cはガードバーG、左側セグメントCLの最後
の数字文字の途中から挿入し、センターバーC及び右側
セグメントCRの各数字文字を走査した後、ガードバー
Gの途中を横切るので、ラベル識別部8はデコーダ7か
らの各種信号をシーケンシャルに並べることにより、バ
ーコードラベルを認識する。
【0112】このとき認識するバーコードラベルは図9
の(a) に示す本来のラベルに対して図9の(b) に示すよ
うにビットずれを起こすことがある。
【0113】すなわち、本来のラベルに対してバー及び
スペースを各々1ビットと単位付ければ、丁度2ビット
ずれたラベルとして認識される。
【0114】これは、デコーダ7がセンターバーを検出
するとICB信号がハイレベルとなり、オア回路OR5
の出力を有効にし、SPACE1 信号のタイミングでフ
リップフロップFF2 をセット動作しその出力S1 Sを
ハイレベルにする。
【0115】この出力S1 Sはクリア信号S1 CLが無
効、すなわちローレベルになるまで継続する。
【0116】ICB信号は、同時に同期式カウンタCN
T2 を初期化する。すなわち、ICB信号はオア回路O
R4 の出力をハイレベルにし、この状態でSPACE1
信号が入力するとアンド回路AN8 の出力がハイレベル
となり、同期式カウンタCNT2 のCL端子にハイレベ
ル信号が入力してカウンタをクリアする。これにより同
期式カウンタCNT2 の出力S1 QA,S1 QB,S1
QCは0となる。
【0117】また、ICB信号は追加文字のためのラッ
チ動作を行う。図9の(b) に示す認識ラベルではICB
信号の1つ前のシーケンスでは出力側のセンターバーO
CBが検出されていない(図9の(a) に示す本来のラベ
ルではICB信号の1つ前のシーケンスでは出力側のセ
ンターバーOCBを検出できる。)ため、隣接する左側
のハーフセグメントの追加文字は不明確となる。
【0118】追加文字CHARAn+5 及び出力側のセン
ターバーOCBn+1 はマルチプレクサ18に入力する
が、出力側のセンターバーが検出されないため、すなわ
ち、センターバーOCBn+1 がローレベルであるため、
マルチプレクサ18は無効キャラクタデータFhを出力
する。
【0119】オア回路OR7 に入力するICB信号はバ
ッファ19のCE端子を有効にし、バッファ19は、マ
ルチプレクサ18の出力バス、すなわち、無効キャラク
タデータFhを表わすデータバスADDSをラッチす
る。
【0120】続くシーケンスでデコーダ7が第1のEQ
L信号を検出すると、同期式カウンタCNT2 をカウン
トアップさせる。すなわち、セット信号S1 SとSPA
CE1 信号とEQL信号を入力とするアンド回路AN9
の出力S1 DTLが有効となり、同期式カウンタCNT
2 の出力は「1」になる。
【0121】このような動作はデコーダ7が第6のEQ
L信号を検出するまで続けられ、同期式カウンタCNT
2 の出力は右側のバーコードラベルのキャラクタ数を表
わす。
【0122】同期式カウンタCNT2 の出力が「6」に
なると、S1 QB及びS1 QCが共にハイレベルとなる
ので、アンド回路AN6 の出力が有効となり、また、ア
ンド回路AN10に対してS1 QCとS1 QAをインバー
タ回路IN6 で反転した信号が入力する。
【0123】この状態において、デコーダ7がガードバ
ーを検出すると、OMG信号がハイレベルとなり、SP
ACE1 信号がハイレベルとなるタイミングでアンド回
路AN10の出力S1 CE信号を有効、すなわち、ハイレ
ベルにする。
【0124】OMG信号は同時に、セット信号S1 S及
び同期式カウンタCNT2 の初期化を行う。すなわち、
OMG信号はオア回路OR6 の反転出力S1 CLをロー
レベルにする。この出力S1 CLはアンド回路AN7 の
出力を無効にし、オア回路OR5 を介してフリップフロ
ップFF2 をSPACE1 信号のタイミングでクリア
し、セット信号S1 Sをリセット、すなわち、ローレベ
ルにする。
【0125】前記信号S1 CLはインバータ回路IN5
で反転した後、オア回路OR4 に入力し、そのオア回路
OR4 の出力SCLをハイレベルにする。これによりア
ンド回路AN8 はSPACE1 信号がハイレベルとなる
タイミングで出力をハイレベルにし同期式カウンタCN
T2 を初期化する。すなわち、カウンタCNT2 の出力
を「0」にする。
【0126】こうして図9の(b) に示すシーケンシャル
認識ラベルを捕獲することになる。
【0127】アンド回路AN9 の出力であるS1 DTL
信号はシフトレジスタ15,16に入力され、また、ア
ンド回路AN10の出力であるラベルの終了を示すS1 C
E信号はオア回路OR7 を介してバッファ19のCE端
子に入力される。また、同期式カウンタCNT2 の出力
はバッファ17にデータとして入力される。
【0128】前記デコーダ7が第1のキャラクタ(図9
の(b) に示す認識ラベルの第1のEQL)を検出する
と、アンド回路AN9 からのS1 DTL信号はハイレベ
ルとなる。このとき文字を表わすデータバスCHARA
に第1のキャラクタが現れ、その第1のキャラクタがシ
フトレジスタ15のフリップフロップFF31にS1 DT
L信号のタイミングでセットする。
【0129】前記デコーダ7が第2のキャラクタ(図9
の(b) に示す認識ラベルの第2のEQL)を検出する
と、アンド回路AN9 からのS1 DTL信号はハイレベ
ルとなる。このとき文字を表わすデータバスCHARA
に第2のキャラクタが現れ、その第2のキャラクタがシ
フトレジスタ15のフリップフロップFF31にB1 DT
L信号のタイミングでセットする。また、フリップフロ
ップFF31の出力は次段のフリップフロップFF32にセ
ットされる。すなわち、第2のキャラクタがフリップフ
ロップFF31にセットすると同時に第1のキャラクタが
フリップフロップFF32にセットすることになる。
【0130】以降、前記デコーダ7が第3乃至第6のキ
ャラクタを検出する毎に、第3〜第6のキャラクタがシ
フトレジスタ15のフリップフロップFF31にB1 DT
L信号のタイミングで順次セットし、その都度前段のフ
リップフロップの内容が次段のフリップフロップにシフ
トすることになる。
【0131】こうして第6のキャラクタがフリップフロ
ップFF31にセットすると、各フリップフロップFF31
〜FF36からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
【0132】キャラクタデータと同様にパリティデータ
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ16の各フリップフロップFF41〜FF
46にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF41にセットすると、シフトレジ
スタ16の各フリップフロップFF41〜FF46からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
【0133】前記デコーダ7がガードバーOMGを検出
すると、前記アンド回路AN10の出力S1 CEがハイレ
ベルとなり、バッファ17は各フリップフロップFF31
〜FF36からのキャラクタデータ、各フリップフロップ
FF41〜FF46からのパリティデータ、データバスAD
DSの追加文字、同期式カウンタCNT2 の出力S1Q
A,S1 QB,S1 QCを記憶する。
【0134】こうして2つの読取回路で識別したハーフ
セグメントのデータが左右の組合わせにおいて正しいも
のか、或いはビットずれによる誤読データなのかをラベ
ル識別部8からの識別結果を取込むマイクロプロセッサ
100が図10の流れ図に基づいて判断する。
【0135】なお、左側セグメントの数字キャラクタデ
ータ(6文字分)をLBUF、右側セグメントの数字キ
ャラクタデータ(6文字分)をRBUF、左側セグメン
ト捕獲時に付随する追加文字データをADCL、右側セ
グメント捕獲時に付随する追加文字データをADCRと
して判断処理について述べる。
【0136】例えばバーコードが「207410003
007」のUPC−Aラベルを例にして述べると、左側
セグメントを走査して生成される各種データはデコード
7からラベル識別部8に入力する。
【0137】前記ラベル識別部8は第1の読取回路を使
用して各種データからシーケンシャルにガードバーIM
Gと6つの数字キャラクタ「207410」とセンター
バー及び追加文字すなわち、センターバーに隣接する右
側セグメントの第1の数字キャラクタ「0」を処理し、
左側セグメントデータ「207410」及び追加文字
「0」をバッファ13に記憶する。
【0138】マイクロプロセッサ100はこのバッファ
13のデータを取込む。そしてステップST1 で左側セ
グメントか右側セグメントかをチェックする。この場
合、左側セグメントなので、ステップST2 でデータを
RAM102に格納する。すなわち、6キャラクタデー
タ「2,0,7,4,1,0」はガードバー側から順に
RAM102にLBUF0 乃至LBUF5 として格納
し、追加文字「0」はADCLとして格納する。
【0139】続くステップST3 で左右のセグメントデ
ータが格納されているかの確認を行う。現時点では右側
セグメントデータが無いため、処理をスタート時点に戻
す。
【0140】この状態で右側セグメントが図19の走査
線s2 で示すように走査されて読み込まれ第2の読取回
路で処理されると、シーケンシャルに追加文字(無効キ
ャラクタデータFh)とセンターバー(ICB)と右側
セグメントデータ「446446」及びガードバー(O
MG)を検出し、右側セグメントデータ「44644
6」及び追加文字Fをバッファ17に記憶する。
【0141】マイクロプロセッサ100はこのバッファ
17のデータを取込む。そしてステップST1 で右側セ
グメントを判断し、ステップST4 でデータをRAM1
02に格納する。すなわち、6キャラクタデータ「4,
4,6,4,4,6」はセンターバー側から順にRBU
F0 乃至RBUF5 として格納し、追加文字「F」はA
DCRとして格納する。
【0142】続くステップST3 で左右のセグメントデ
ータが格納されているかの確認を行う。今度は左右のセ
グメントデータが格納されているので、ステップST5
でデータ比較を行う。ここでは左側セグメント捕獲時の
追加文字ADCLと右側セグメントの第1のキャラクタ
RBUF0 を比較する。追加文字ADCLは「0」であ
るのに対しRBUF0 は「4」となっているので、不一
致を判定し左右のセグメントデータの組み立てを禁止し
て処理をスタート時点に戻し次のデータを待つ。
【0143】この状態で図19の走査線s1 で走査して
生成されたデータが第2の読取回路で処理されると、シ
ーケンシャルに追加文字「0」とセンターバー(IC
B)と右側セグメントデータ「003007」及びガー
ドバー(OMG)を検出し、右側セグメントデータ「0
03007」及び追加文字「0」をバッファ17に記憶
する。
【0144】マイクロプロセッサ100はこのバッファ
17のデータを取込む。そしてステップST1 で右側セ
グメントを判断し、ステップST4 でデータをRAM1
02に格納する。すなわち、6キャラクタデータ「0,
0,3,0,0,7」はセンターバー側から順にRBU
F0 乃至RBUF5 として格納し、追加文字「0」はA
DCRとして格納する。
【0145】続くステップST3 で左右のセグメントデ
ータが格納されているかの確認を行う。左右のセグメン
トデータが格納されているので、ステップST5 でデー
タ比較を行う。
【0146】左側セグメント捕獲時の追加文字ADCL
は「0」であり、右側セグメントの第1のキャラクタR
BUF0 も「0」となっているので、一致を判定しステ
ップST6 で次のデータ比較を行う。ここでは右側セグ
メント捕獲時の追加文字ADCRと左側セグメントの第
6のキャラクタLBUF5 を比較する。追加文字ADC
Rは「0」であり、左側セグメントの第6のキャラクタ
LBUF5 も「0」となっているので、一致を判定す
る。そして最後にステップST7 で例えばモジュロ10
チェックによりチェックディジットが有効か否かをチェ
ックする。。
【0147】そしてチェックディジットが有効であれば
ステップST8 で左右のセグメントデータを組立てる。
これにより「207410003007」のUPC−A
ラベルのバーコードデータが得られることになる。
【0148】そして最後にステップST9 にて「207
410003007」をデコードデータとしてI/Fを
介して上位装置へ転送する。
【0149】このように、第1の読取回路で左側セグメ
ントデータと共にセンターバーに隣接する右側セグメン
トの第1の数字キャラクタを追加文字として読取ってバ
ッファ13に格納し、また第2の読取回路で右側セグメ
ントデータと共にセンターバーに隣接する左側セグメン
トの第6の数字キャラクタを追加文字として読取ってバ
ッファ17に格納し、その各バッファ13,17のデー
タをマイクロプロセッサ100が取込み、右側セグメン
トデータの第1の数字キャラクタと左側セグメント捕獲
時の追加文字を比較し、また、左側セグメントデータの
第6の数字キャラクタと右側セグメント捕獲時の追加文
字を比較し、両比較において共に一致したとき左右のセ
グメントデータは正しいと判断して組立て上位装置へ転
送するようにしているので、ビットずれによって誤読を
行ったときには比較が不一致となってデータが排除され
ることになり、誤読を確実に防止できる。
【0150】また、キャラクタと共にパリティデータも
各バッファ13,17に格納するので、マイクロプロセ
ッサ100はキャラクタと同様パリティについても比較
することが可能となり、これを実行することにより誤読
をより確実に防止できる。
【0151】また、第1の読取回路において左側セグメ
ントデータと共にセンターバーに隣接する右側セグメン
トの第1の数字キャラクタを追加文字として捕獲すると
きに入力側のセンターバーICBn-1 が検出されないと
きには追加文字を無効キャラクタデータFhに置き換
え、また、第2の読取回路において右側セグメントデー
タと共にセンターバーに隣接する左側セグメントの第6
の数字キャラクタを追加文字として捕獲するときに出力
側のセンターバーOCBn+1 が検出されないときには追
加文字を無効キャラクタデータFhに置き換えるように
しているので、ビットずれによりセンターバーの検出が
できない状態になったときも確実に誤読データを排除す
ることができ、この点においても誤読を確実に防止でき
る。
【0152】次に本発明の他の実施例を図面を参照して
説明する。
【0153】他の実施例の1つは、デコーダ7及びラベ
ル識別部8として6キャラクタのみでなく4キャラクタ
のバーコードラベルもデコードし識別できるものを使用
する。RAM102に図12に示すバッファ21を設け
る。
【0154】前記バッファ21は、6キャラクタ構成の
左セグメントデータを格納する2個のバッファBFL6
1、BFL62と、6キャラクタ構成の右セグメントデー
タを格納する2個のバッファBFR61、BFR62と、4
キャラクタ構成の左セグメントデータを格納する2個の
バッファBFL41、BFL42と、4キャラクタ構成の右
セグメントデータを格納する2個のバッファBFR41、
BFR42とを設けている。
【0155】この各バッファは、コードタイプTPの格
納エリア、プリフィクスキャラクタPFの格納エリア、
キャラクタデータの格納エリア、センターバーに隣接す
る追加文字(以下、他方キャラクタデータと称する。)
の格納エリア及びデータカウンタCで構成されている。
【0156】図11に示すバーコードラベルに対して走
査ビームがd,eに示すように横切ると、走査ビームd
ではプリフィクスデータが「0」、左ハーフセグメント
データが「207410(パリティOOOOOO)」と
デコードされると共に右ハーフセグメントの第1キャラ
クタが「0(パリティE)」とデコードされる。なお、
パリティOは奇数(ODD)パリティを表し、パリティ
Eは偶数(EVEN)パリティを表している。
【0157】また、走査ビームeでは右ハーフセグメン
トデータが「003007(パリティEEEEEE)」
とデコードされると共に左ハーフセグメントの第6キャ
ラクタが「0(パリティO)」とデコードされる。
【0158】また、図11に示すバーコードラベルに対
して走査ビームがf,gに示すように横切ると、走査ビ
ームfではプリフィクスデータが「0」、左ハーフセグ
メントデータが「207410(パリティOOOOO
O)」とデコードされると共に右ハーフセグメントの第
1キャラクタが「無効キャラクタデータFh」とデコー
ドされる。
【0159】また、走査ビームgでは右ハーフセグメン
トデータが「003007(パリティEEEEEE)」
とデコードされると共に左ハーフセグメントの第6キャ
ラクタが「無効キャラクタデータFh」とデコードされ
る。
【0160】図14はマイクロプロセッサ100による
デコードデータの組立ての処理を示す流れ図で、ラベル
識別部8でバーコードデータが復調されると、ステップ
ST11でデコードされたデータが左セグメントか或いは
右セグメントかをチェックする。
【0161】そして左セグメントであればステップST
12で左データ処理を行い、また右セグメントであればス
テップST13で右データ処理を行う。このときのデータ
処理では最初にセグメントが6キャラクタ構成であるか
4キャラクタ構成であるかを調べ、それぞれのキャラク
タ構成に基づいて左セグメントのときには図15に示す
左データ処理を行い、また右セグメントのときには図1
6に示す右データ処理を行う。
【0162】図15に示す左データ処理では先ずステッ
プST31にて左データバッファBFL61,BFL62又は
BFL41,BFL42に同一データがあるか否かをチェッ
クし、同一のデータがあればステップST32にて対応す
るデータカウンタCをインクリメントする。続いてステ
ップST33にて右ハーフセグメントの第1キャラクタが
「無効キャラクタデータFh」かをチェックし、「無効
キャラクタデータFh」であればこのデータ処理を終了
し、また「無効キャラクタデータFh」で無ければステ
ップST34にて右ハーフセグメントの第1キャラクタを
対応する他方キャラクタデータの格納エリアODに上書
きしてからこのデータ処理を終了する。
【0163】また、ステップST31のチェックにて同一
のデータが無ければ2つの左データバッファのうちの空
きバッファに左ハーフセグメントのデータを格納する
か、空きバッファが無ければ古いデータが格納されてい
るバッファに上書きする。そして対応するデータカウン
タCの値を「1」にセットしこのデータ処理を終了す
る。
【0164】図16に示す右データ処理では先ずステッ
プST41にて右データバッファBFR61,BFR62又は
BFR41,BFR42に同一データがあるか否かをチェッ
クし、同一のデータがあればステップST42にて対応す
るデータカウンタCをインクリメントする。続いてステ
ップST43にて左ハーフセグメントの第6キャラクタが
「無効キャラクタデータFh」かをチェックし、「無効
キャラクタデータFh」であればこのデータ処理を終了
し、また「無効キャラクタデータFh」で無ければステ
ップST44にて左ハーフセグメントの第6キャラクタを
対応する他方キャラクタデータの格納エリアODに上書
きしてからこのデータ処理を終了する。
【0165】また、ステップST41のチェックにて同一
のデータが無ければ2つの右データバッファのうちの空
きバッファに左ハーフセグメントのデータを格納する
か、空きバッファが無ければ古いデータが格納されてい
るバッファに上書きする。そして対応するデータカウン
タCの値を「1」にセットしこのデータ処理を終了す
る。
【0166】こうして図14のステップST12の左デー
タ処理又はステップST13の右データ処理が終了する
と、続いてステップST14にて左側多数データカウンタ
が設定値以上か否かをチェックする。これは左データバ
ッファBFL61,BFL62,BFL41,BFL42に対応
するデータカウンタCのうちでカウント値が最も大きい
ものを多数データとし、その多数データが設定値以上か
否かをチェックする。なお、カウント値が同一の場合は
多数データにはしない。
【0167】そして設定値以上の多数データが無ければ
このデコードデータの組合わせ処理を終了する。
【0168】また、設定値以上の多数データがあれば続
いてステップST15にて右側多数データカウンタが設定
値以上か否かをチェックする。これは右データバッファ
BFR61,BFR62,BFR41,BFR42に対応するデ
ータカウンタCのうちでカウント値が最も大きいものを
多数データとし、その多数データが設定値以上か否かを
チェックする。この場合もカウント値が同一の場合は多
数データにはしない。
【0169】そして設定値以上の多数データが無ければ
このデコードデータの組合わせ処理を終了する。
【0170】また、設定値以上の多数データがあれば続
いてステップST16にてキャラクタ構成のチェック、左
右のセグメントデータを組立てたときのチェックディジ
ットが有効であるか否かのチェック及び他方キャラクタ
データの検証を行う。
【0171】キャラクタ構成のチェックでは、左右のキ
ャラクタ構成が同一か否かをチェックする。またチェッ
クディジットの有効性はモジュロ10でチェックする。
【0172】また、他方キャラクタデータの検証は、例
えば図13に示すような6キャラクタ構成のハーフセグ
メントデータのときには左ハーフセグメントの第6キャ
ラクタch6 と他方キャラクタデータであるch6 ′が
同一であるか、また右ハーフセグメントの第1キャラク
タch7 と他方キャラクタデータであるch7 ′が同一
であるかを調べる。
【0173】そして他方キャラクタデータの検証では、
例えばいずれか一方が同一として成立した場合に左右の
セグメントデータの組合わせが有効であると判断する。
【0174】そして左右のキャラクタ構成が同一で、チ
ェックディジットが有効で、かつ他方キャラクタデータ
の検証において左右のセグメントデータの組合わせが有
効であると判断されると、ステップST17にて左右のセ
グメントデータの組立てを行い、ステップST18にて組
立てたデコードデータを上位装置へ転送する。
【0175】また、左右のキャラクタ構成が同一でなか
ったり、チェックディジットが有効でなかったり、或い
は他方キャラクタデータの検証において左右のセグメン
トデータの組合わせが有効でない場合は左右のセグメン
トデータの組立てを行わずデコードデータの組合わせ処
理を終了する。
【0176】データキャラクタのデコードは一般的には
次のように行われる。すなわち、図17に示すように、
キャラクタを構成するバーとスペースの合計幅と2組の
バーとスペースの合計幅をそれぞれ比較して、それぞれ
のバーとスペースの合計幅が何モジュールに相当するか
を判断する。
【0177】例えば、図17のキャラクタCHにおいて
幅M4 は3モジュール、幅M5 は2モジュールと判断さ
れる。その2つのモジュール幅M4 ,M5 によってキャ
ラクタの値が決定される。センターバーCBを誤認識し
た場合、本来のキャラクタCHと誤読データのキャラク
タCH′が同一になるためには、幅M2 =幅M4 でかつ
幅M3 =幅M5 と見なさなければならない。
【0178】また、CB′がセンターバーとして成立す
るためにはCH′のキャラクタ幅が6〜8モジュールで
なければならない。しかし幅M2 は最大で5モジュール
であるから、CH′のキャラクタ幅は6〜7モジュール
である。
【0179】また、バーとスペースの合計幅M1 は2モ
ジュールであるから、幅M3 は4〜5モジュールとな
る。また、CHは7モジュールであり、幅M3 は4〜5
モジュールであるから、幅M5 は2〜3モジュールであ
る。
【0180】従って、幅M2 =幅M4 でかつ幅M3 =幅
M5 の式は成立しないため図17に示すようにセンター
バーを誤認識した場合はキャラクタCHとキャラクタC
H′は一致しなくなる。
【0181】このようなことからセンターバーを誤認識
することによって右セグメントを誤読した場合、右セグ
メントの第1キャラクタは本来のキャラクタとは異なっ
ている。
【0182】従って、このような誤読が発生した場合、
図13に示すキャラクタch7 とch7 ′は必ず異なる
キャラクタとなる。
【0183】また、左ハーフセグメントの誤読時にも全
く同様なことが当てはまるため、キャラクタch6 とc
h6 ′も必ず異なるキャラクタとなる。
【0184】従って、ch6 =ch6 ′又はch7 =c
h7 ′という条件を満たす場合のみ左右セグメントを組
合わせることによってセンターバーの誤認識による誤読
は完全に防ぐことができる。
【0185】従って、この実施例においてもビットずれ
による誤読を防止できることになる。
【0186】なお、この実施例では他方キャラクタデー
タの検証において、左ハーフセグメントのセンターバー
に隣接するキャラクタと右ハーフセグメントに付随して
読込まれたセンターバーに隣接する他方キャラクタ、及
び右ハーフセグメントのセンターバーに隣接するキャラ
クタと左ハーフセグメントに付随して読込まれたセンタ
ーバーに隣接する他方キャラクタのいずれか一方が同一
として成立した場合に左右のセグメントデータの組合わ
せが有効であると判断するものについて述べたが必ずし
もこれに限定するものではなく、左ハーフセグメントの
センターバーに隣接するキャラクタと右ハーフセグメン
トに付随して読込まれたセンターバーに隣接する他方キ
ャラクタ、及び右ハーフセグメントのセンターバーに隣
接するキャラクタと左ハーフセグメントに付随して読込
まれたセンターバーに隣接する他方キャラクタの両方が
同一として成立した場合に左右のセグメントデータの組
合わせが有効であると判断する構成であってもよい。
【0187】このような処理は図20に示す2段バーコ
ードラベルのデコードデータの組立て処理に有効とな
る。
【0188】このときのデコードデータの組立て処理は
図18に示す流れ図に基づいて行われる。
【0189】すなわち、ラベル識別部8でバーコードデ
ータが復調されると、マイクロプロセッサ100は、先
ずステップST51でデコードされたデータが左セグメン
トか或いは右セグメントかをチェックする。
【0190】そして左セグメントであればステップST
52で左データ処理を行い、また右セグメントであればス
テップST53で右データ処理を行う。このときのデータ
処理では最初にセグメントが6キャラクタ構成であるか
4キャラクタ構成であるかを調べ、それぞれのキャラク
タ構成に基づいて左セグメントのときには前記実施例同
様に図15に示す左データ処理を行い、また右セグメン
トのときには前記実施例同様に図16に示す右データ処
理を行う。
【0191】そしてステップST52の左データ処理又は
ステップST53の右データ処理が終了すると、続いてス
テップST54にて左ハーフセグメントデータで設定値以
上のものが2個あるか否かをチェックする。これは左デ
ータバッファBFL61,BFL62に対応するデータカウ
ンタCのカウント値に設定値以上ものがあるか及び左デ
ータバッファBFL41,BFL42に対応するデータカウ
ンタCのカウント値に設定値以上のものがあるかをチェ
ックする。
【0192】そして設定値以上のものが2個無ければこ
のデコードデータの組合わせ処理を終了する。
【0193】また、設定値以上のものが2個あれば続い
てステップST55にて右ハーフセグメントデータで設定
値以上のものが2個あるか否かをチェックする。これは
右データバッファBFR61,BFR62に対応するデータ
カウンタCのカウント値に設定値以上ものがあるか及び
右データバッファBFR41,BFR42に対応するデータ
カウンタCのカウント値に設定値以上のものがあるかを
チェックする。
【0194】そして設定値以上のものが2個無ければこ
のデコードデータの組合わせ処理を終了する。
【0195】また、設定値以上のものが2個あれば続い
てステップST56にて左右データのキャラクタ構成が同
一か否かをチェックする。すなわち、左右データ共に6
キャラクタデータし4キャラクタデータの数が同一か否
かをチェックする。
【0196】もし左右データのキャラクタ構成が異なっ
ていればこのデコードデータの組合わせ処理を終了す
る。
【0197】また、左右データのキャラクタ構成が同一
であれば続いてステップST57にて1段目と2段目の左
右のセグメントデータを組立てたときのチェックディジ
ットが有効であるか否かをチェックする。
【0198】もしチェックディジットが有効でなければ
このデコードデータの組合わせ処理を終了する。チェッ
クディジットの有効性はモジュロ10で行う。
【0199】また、チェックディジットが有効であれば
続いてステップST58にて1段目及び2段目共に左ハー
フセグメントのセンターバーに隣接するキャラクタと右
ハーフセグメントに付随して読込まれたセンターバーに
隣接する他方キャラクタ、及び右ハーフセグメントのセ
ンターバーに隣接するキャラクタと左ハーフセグメント
に付随して読込まれたセンターバーに隣接する他方キャ
ラクタの両方が同一か否かをチェックする。
【0200】そしていずれか一方でも異なっていればこ
のデコードデータの組合わせ処理を終了する。
【0201】また、1段目及び2段目が共に両方とも同
一であればステップST59にて1段目及び2段目の左右
のセグメントデータの組立てを行い、ステップST60に
て組立てたデコードデータを上位装置へ転送する。
【0202】以上の処理によって2段バーコードデータ
の組立てを行うことで、左ハーフセグメントのセンター
バーに隣接するキャラクタと右ハーフセグメントに付随
して読込まれたセンターバーに隣接する他方キャラクタ
が同一でなかったり、右ハーフセグメントのセンターバ
ーに隣接するキャラクタと左ハーフセグメントに付随し
て読込まれたセンターバーに隣接する他方キャラクタが
同一でない場合には2段バーコードの左右データの組立
てを禁止する。すなわち、6キャラクタの場合は図13
においてch6 =ch6 ′かつch7 =ch7 ′の条件
を満たさない場合には左右データの組立てを禁止する。
なお、4キャラクタの場合も同様である。
【0203】このような処理を行うことにより2段バー
コードに対しても誤読を確実に防止できる。
【0204】すなわち、左ハーフセグメントのセンター
バーに隣接するキャラクタと右ハーフセグメントに付随
して読込まれたセンターバーに隣接する他方キャラク
タ、及び右ハーフセグメントのセンターバーに隣接する
キャラクタと左ハーフセグメントに付随して読込まれた
センターバーに隣接する他方キャラクタの両方が同一と
して成立した場合に左右のセグメントデータの組合わせ
を行う処理を比較的誤読の発生しやすい2段バーコード
の読取りに適用することにより、ビットずれによる誤読
や走査ビームが1段目の6キャラクタのハーフセグメン
トを途中で横切ることによって4キャラクタデータがデ
コードされて発生する誤読等を確実に防止できる。
【0205】
【発明の効果】以上、本発明によれば、ビットずれによ
る誤読や2段バーコードの組合わせの誤りによる誤読を
確実に防止できるバーコード読取装置を提供できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すバーコード読取装置の
ブロック図。
【図2】同実施例のガードバーの認識を説明するための
図。
【図3】同実施例のセンダーバー及び数字キャラクタの
認識を説明するための図。
【図4】同実施例においてUPC−Aラベルを走査する
各種走査線例を示す図。
【図5】同実施例のラベル識別部の第1の読取回路を示
す回路図。
【図6】同実施例のラベル識別部の第2の読取回路を示
す回路図。
【図7】図4における走査線aの走査によるデコード出
力を説明するための図。
【図8】図4における走査線bの走査によるデコード出
力を説明するための図。
【図9】図4における走査線cの走査によるデコード出
力を説明するための図。
【図10】同実施例のマイクロプロセッサによる左右セ
グメントの組み立て処理を示す流れ図。
【図11】本発明の他の実施例におけるラベル走査例を
示す図。
【図12】同実施例におけるハーフセグメントのキャラ
クタデータとそれに附随して読込まれた他方キャラクタ
データを格納するバッファの構成を示す図。
【図13】同実施例においてバッファに格納したハーフ
セグメントのキャラクタデータとそれに附随して読込ま
れた他方キャラクタデータの構成を示す図。
【図14】同実施例におけるハーフセグメントデータの
組立て処理を示す流れ図。
【図15】図14における左データ処理の内容を示す流
れ図。
【図16】図14における右データ処理の内容を示す流
れ図。
【図17】センターバーと隣接するキャラクタのモジュ
ール構成を示す図。
【図18】本発明の別の他の実施例におけるハーフセグ
メントデータの組立て処理を示す流れ図。
【図19】UPC−Aラベルの走査とラベル認識との関
係を説明するための図。
【図20】2段バーコードの構成及びその走査例を示す
図。
【符号の説明】
7…デコーダ 8…ラベル識別部 AN1 〜AN10…アンド回路 OR1 〜OR7 …オア回路 IN1 〜IN6 …インバータ FF1 ,FF2 …フリップフロップ CNT1 ,CNT2 …同期式カウンタ 11,12,15,16…シフトレジスタ 13,17,19…バッファ 14,18…マルチプレクサ 100…マイクロプロセッサ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ガードバーとセンタバーとの間に複数桁
    のキャラクタコードを介在してハーフセグメントを構成
    し、そのハーフセグメントを前記センターバーを間にし
    て左右に並べたバーコードラベルに光ビームを走査し、
    その反射光を受光し光電変換してバーコードデータを
    得、そのバーコードデータからハーフセグメント毎にバ
    ーコードを読取り、それを組合わせてバーコードラベル
    を読取るバーコード読取装置において、 バーコードデータから一方のハーフセグメントのガード
    バー、センタバー及び所定数のキャラクタコードと他方
    のハーフセグメントのセンターバーに隣接するキャラク
    タコードを読取る第1の読取手段と、バーコードデータ
    から他方のハーフセグメントのガードバー、センタバー
    及び所定数のキャラクタコードと一方のハーフセグメン
    トのセンターバーに隣接するキャラクタコードを読取る
    第2の読取手段と、前記第1の読取手段が一方のハーフ
    セグメントのキャラクタコードと他方のハーフセグメン
    トのセンターバーに隣接するキャラクタコードを読取っ
    たときの他方のハーフセグメントのセンターバーに隣接
    するキャラクタコードと前記第2の読取手段が他方のハ
    ーフセグメントのキャラクタコードと一方のハーフセグ
    メントのセンターバーに隣接するキャラクタコードを読
    取ったときの他方のハーフセグメントのセンターバーに
    隣接するキャラクタコードを比較する第1の比較手段
    と、前記第2の読取手段が他方のハーフセグメントのキ
    ャラクタコードと一方のハーフセグメントのセンターバ
    ーに隣接するキャラクタコードを読取ったときの一方の
    ハーフセグメントのセンターバーに隣接するキャラクタ
    コードと前記第1の読取手段が一方のハーフセグメント
    のキャラクタコードと他方のハーフセグメントのセンタ
    ーバーに隣接するキャラクタコードを読取ったときの一
    方のハーフセグメントのセンターバーに隣接するキャラ
    クタコードを比較する第2の比較手段とを設け、前記各
    比較手段の両方がキャラクタコードの一致を検出したと
    き、読取った両方のハーフセグメントの組合わせを許可
    し、前記各比較手段の少なくとも一方がキャラクタコー
    ドの不一致を検出したとき、読取った両方のハーフセグ
    メントの組合わせを禁止することを特徴とするバーコー
    ド読取装置。
  2. 【請求項2】 ガードバーとセンタバーとの間に複数桁
    のキャラクタコードを介在してハーフセグメントを構成
    し、そのハーフセグメントを前記センターバーを間にし
    て左右に並べたバーコードラベルに光ビームを走査し、
    その反射光を受光し光電変換してバーコードデータを
    得、そのバーコードデータからハーフセグメント毎にバ
    ーコードを読取り、それを組合わせてバーコードラベル
    を読取るバーコード読取装置において、 バーコードデータから一方のハーフセグメントのガード
    バー、センタバー及び所定数のキャラクタコードと他方
    のハーフセグメントのセンターバーに隣接するキャラク
    タコードを読取る第1の読取手段と、バーコードデータ
    から他方のハーフセグメントのガードバー、センタバー
    及び所定数のキャラクタコードと一方のハーフセグメン
    トのセンターバーに隣接するキャラクタコードを読取る
    第2の読取手段と、前記第1の読取手段が一方のハーフ
    セグメントのキャラクタコードと他方のハーフセグメン
    トのセンターバーに隣接するキャラクタコードを読取っ
    たときの他方のハーフセグメントのセンターバーに隣接
    するキャラクタコードと前記第2の読取手段が他方のハ
    ーフセグメントのキャラクタコードと一方のハーフセグ
    メントのセンターバーに隣接するキャラクタコードを読
    取ったときの他方のハーフセグメントのセンターバーに
    隣接するキャラクタコードを比較する第1の比較手段
    と、前記第2の読取手段が他方のハーフセグメントのキ
    ャラクタコードと一方のハーフセグメントのセンターバ
    ーに隣接するキャラクタコードを読取ったときの一方の
    ハーフセグメントのセンターバーに隣接するキャラクタ
    コードと前記第1の読取手段が一方のハーフセグメント
    のキャラクタコードと他方のハーフセグメントのセンタ
    ーバーに隣接するキャラクタコードを読取ったときの一
    方のハーフセグメントのセンターバーに隣接するキャラ
    クタコードを比較する第2の比較手段とを設け、前記各
    比較手段の少なくとも一方がキャラクタコードの一致を
    検出したとき、読取った両方のハーフセグメントの組合
    わせを許可し、前記各比較手段のいずれもキャラクタコ
    ードの不一致を検出したとき、読取った両方のハーフセ
    グメントの組合わせを禁止することを特徴とするバーコ
    ード読取装置。
  3. 【請求項3】 第1の読取手段及び第2の読取手段は、
    ハーフセグメントのキャラクタコード及びセンターバー
    に隣接するキャラクタコードを読取るとき同時にその各
    キャラクタコードのパリティデータも読取ることを特徴
    とする請求項1又は2記載のバーコード読取装置。
JP6035991A 1994-03-07 1994-03-07 バーコード読取装置 Expired - Fee Related JP2835275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6035991A JP2835275B2 (ja) 1994-03-07 1994-03-07 バーコード読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6035991A JP2835275B2 (ja) 1994-03-07 1994-03-07 バーコード読取装置

Publications (2)

Publication Number Publication Date
JPH07244706A JPH07244706A (ja) 1995-09-19
JP2835275B2 true JP2835275B2 (ja) 1998-12-14

Family

ID=12457310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6035991A Expired - Fee Related JP2835275B2 (ja) 1994-03-07 1994-03-07 バーコード読取装置

Country Status (1)

Country Link
JP (1) JP2835275B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3576356B2 (ja) * 1997-08-08 2004-10-13 富士通株式会社 バーコード読取装置,バーコード読取方法,及びコンピュータ可読媒体
JP4170111B2 (ja) 2003-02-21 2008-10-22 富士通株式会社 バーコード読取装置およびバーコード読取方法

Also Published As

Publication number Publication date
JPH07244706A (ja) 1995-09-19

Similar Documents

Publication Publication Date Title
US5821519A (en) Bar code scan stitching
US5493108A (en) Method and apparatus for recognizing and assembling optical code information from partially scanned segments
US4879456A (en) Method of decoding a binary scan signal
US7422153B2 (en) Decoding with data from multiple scans
JPH09179927A (ja) バーコード読取装置
JPH0354388B2 (ja)
EP0502440B1 (en) Bar-code reading apparatus and method
JP2835275B2 (ja) バーコード読取装置
WO1990014638A1 (en) Reading method and apparatus for bar code
JPH09161001A (ja) バーコード読取装置
JPH08263585A (ja) コード読取装置
JP3194655B2 (ja) バーコード読取装置のラベル識別装置
JP2730273B2 (ja) バーコード読取装置およびバーコード読取方法
JPH0981660A (ja) バーコード読取装置及びバーコード読取方法
JP2641991B2 (ja) バーコード読取装置のデータ処理方法
US7021546B2 (en) Bar-code reader and method of reading bar-code
JP2912743B2 (ja) バーコードデコーダ
JP3198232B2 (ja) バーコード読取方法及び読取装置
JP2853450B2 (ja) バーコード読取り装置
JP2778870B2 (ja) バーコードデコーダ
JPH08329174A (ja) バーコード読取装置
JP2839836B2 (ja) バーコード読取装置
JPH05108862A (ja) バーコード読取装置
JP2741404B2 (ja) バーコード読取装置
JPH03122782A (ja) バーコード読取装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081002

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101002

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20101002

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111002

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20111002

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees