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
Links
Description
バーコードを読取るバーコード読取装置に関する。
Code )ラベルやこのラベルから派生したEANコー
ドラベル、JANコードラベル等は食品や雑貨品に多く
付けられている。
的にガードバーとセンターバーに挟まれた6キャラクタ
或いは4キャラクタを1つの単位(ハーフセグメント)
として読取る。
よりデコードされた左右のハーフセグメントデータは1
つのデータに結合されると共にマイクロプロセッサによ
り各種の検証が行われるが、正しいデータと見なされる
とオペレータに報知されると共に上位機器に転送され
る。検証には例えばモジュロ10チェックによるチェッ
クディジットの検証やデコードデータの一致検証等があ
る。
で光ビームの走査が行われバーコード読取装置により読
取られる。このとき重要となるのはラベルの識別であ
る。すなわち、光ビームがラベルを走査するとバーコー
ド読取装置ではその反射光を電気信号に変換してバーコ
ードの解読処理を行うが、そのときに実際のバーコード
の信号か外来性の背景信号かを正しく判定して解読処理
を行う必要がある。
タを検査してラベル中に現れるUPC、EANあるいは
JANの文字基準に合致する各種のキャラクタの組合わ
せ、すなわち数字キャラクタとセンタバーとガードバー
を判定し、データストリームがガードバー、数字、セン
タバーを含んでいることを見付け、ガードバーとセンタ
ーバーに囲まれた数字をラベル候補と見なしている。
て、ソースマーキングコードを扱うラベルとインストア
マーキングコードを扱うラベルがある。ソースマーキン
グコードは、例えば2桁の国コード、5桁のメーカコー
ドからなる左側セグメントデータと5桁の商品コード、
1桁のチェックディジットからなる右側セグメントデー
タで構成され、インストアマーキングコードは2桁のイ
ンストアフラグ、5桁の商品コードからなる左側セグメ
ントデータと、1桁のプライスチェックディジット、4
桁の金額データ、1桁のチェックディジットからなる右
側セグメントデータで構成されている。なお、プライス
チェックディジットを使用せず金額を5桁にする場合も
ある。
ト・オブ・セールス)システムに使用した場合は、バー
コード読取装置でソースマーキングコードを読取ると、
POSターミナルやホストコンピュータ等の上位装置に
国コード、メーカコード、商品コードの問合わせが行わ
れ、上位装置でそのコードをファイルから検索し、あれ
ば対応する商品名や金額等を読出する。そしてPOSタ
ーミナルにおいて商品の登録処理を行う。
Sシステムに使用した場合は、バーコード読取装置でイ
ンストアマーキングコードを読取ると、POSターミナ
ルやホストコンピュータ等の上位装置に左側セグメント
データの商品コードの問合わせが行われ、上位装置のフ
ァイルにその商品コードが登録されていれば右側セグメ
ントデータの金額データをその商品の金額と認識してP
OSターミナルが商品の登録処理を行う。
ベルに持たせるために、衣料品等のラベルとして図20
に示すような2段バーコードラベルが多く利用されるよ
うになっている。図20は上に13桁のバーコードを配
置し、下に8桁のバーコードを配置した2段バーコード
ラベルになっている。
査する場合、例えばUPCバージョンA(UPC−A)
ラベルのような片側6桁構成に対して、走査ビームが左
側セグメントの6文字目の数字の途中から挿入し、セン
ターバーと6つの数字まで交差した後、ガードバーの途
中で横切るような場合が発生する。
成するデータを、センターバー、6文字の数字文字及び
ガードバーからなる6文字構成のラベル候補として誤っ
て認識してしまう問題があった。
10003007」をバーコードで表現したUPC−A
ラベルの右側セグメントを示すと、図19に示すように
なっている。
1 で走査したときはこのセグメントを認識するに十分な
範囲でビームが横切っているので右側セグメントをセン
ターバーC、6つの数字文字0,0,3,0,0,7及
びガードバーGを正しく認識できるが、走査ビームs2
で走査したときは誤読する問題が発生する。すなわち、
走査ビームbは、左側セグメントの最終数字文字3のバ
ーから交差を開始し、センターバーC及び6つの数字文
字0,0,3,0,0,7を横切った後、ガードバーG
の一部を横切って交差を終了している。
のバー及びスペース幅をモジュール表現すると、バーモ
ジュール数は順に、211、11111、3211、3
211、1411、3211、3211、1312、
1、となる。
分すると、順に2、11111、1132、1132、
1114、1132、1132、1113、121、と
なり、これはセンターバーC、6つの数字文字4,4,
6,4,4,6及びガードバーGとして誤読する虞があ
る。
セグメント「446446」は全ての数字文字が偶数パ
リティなのでパリティチェックをパスし、本来の左側セ
グメント「207410」とのチェックサムもパスして
しまうことになる。
ットずれが生じた場合には、本来のラベルを識別できず
に誤ったままラベルを読取ってしまう問題があった。
して1段目(上の段)のバーコードデータの右側を途中
で横切る走査ビームs4 によって4キャラクタデータが
デコードされる場合がある。そして走査ビームs3 とs
5 による左右6キャラクタで構成される1段目のバーコ
ードと走査ビームs4 とs6 による2段目のバーコード
がデコードされ、モジュロ10チェックが正しい場合に
は誤ったままラベルを読取ってしまう問題があった。
2段バーコードの組合わせの誤りによる誤読を確実に防
止できるバーコード読取装置を提供する。
ガードバーとセンタバーとの間に複数桁のキャラクタコ
ードを介在してハーフセグメントを構成し、そのハーフ
セグメントをセンターバーを間にして左右に並べたバー
コードラベルに光ビームを走査し、その反射光を受光し
光電変換してバーコードデータを得、そのバーコードデ
ータからハーフセグメント毎にバーコードを読取り、そ
れを組合わせてバーコードラベルを読取るバーコード読
取装置において、バーコードデータから一方のハーフセ
グメントのガードバー、センタバー及び所定数のキャラ
クタコードと他方のハーフセグメントのセンターバーに
隣接するキャラクタコードを読取る第1の読取手段と、
バーコードデータから他方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第2の読取手段と、第1の読取手段が
一方のハーフセグメントのキャラクタコードと他方のハ
ーフセグメントのセンターバーに隣接するキャラクタコ
ードを読取ったときの他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードと第2の読取手段が
他方のハーフセグメントのキャラクタコードと一方のハ
ーフセグメントのセンターバーに隣接するキャラクタコ
ードを読取ったときの他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードを比較する第1の比
較手段と、第2の読取手段が他方のハーフセグメントの
キャラクタコードと一方のハーフセグメントのセンター
バーに隣接するキャラクタコードを読取ったときの一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードと第1の読取手段が一方のハーフセグメントの
キャラクタコードと他方のハーフセグメントのセンター
バーに隣接するキャラクタコードを読取ったときの一方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを比較する第2の比較手段とを設け、各比較手
段の両方がキャラクタコードの一致を検出したとき、読
取った両方のハーフセグメントの組合わせを許可し、各
比較手段の少なくとも一方がキャラクタコードの不一致
を検出したとき、読取った両方のハーフセグメントの組
合わせを禁止するものである。
タバーとの間に複数桁のキャラクタコードを介在してハ
ーフセグメントを構成し、そのハーフセグメントをセン
ターバーを間にして左右に並べたバーコードラベルに光
ビームを走査し、その反射光を受光し光電変換してバー
コードデータを得、そのバーコードデータからハーフセ
グメント毎にバーコードを読取り、それを組合わせてバ
ーコードラベルを読取るバーコード読取装置において、
バーコードデータから一方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第1の読取手段と、バーコードデータ
から他方のハーフセグメントのガードバー、センタバー
及び所定数のキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取る
第2の読取手段と、第1の読取手段が一方のハーフセグ
メントのキャラクタコードと他方のハーフセグメントの
センターバーに隣接するキャラクタコードを読取ったと
きの他方のハーフセグメントのセンターバーに隣接する
キャラクタコードと第2の読取手段が他方のハーフセグ
メントのキャラクタコードと一方のハーフセグメントの
センターバーに隣接するキャラクタコードを読取ったと
きの他方のハーフセグメントのセンターバーに隣接する
キャラクタコードを比較する第1の比較手段と、第2の
読取手段が他方のハーフセグメントのキャラクタコード
と一方のハーフセグメントのセンターバーに隣接するキ
ャラクタコードを読取ったときの一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードと第1の
読取手段が一方のハーフセグメントのキャラクタコード
と他方のハーフセグメントのセンターバーに隣接するキ
ャラクタコードを読取ったときの一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを比較す
る第2の比較手段とを設け、各比較手段の少なくとも一
方がキャラクタコードの一致を検出したとき、読取った
両方のハーフセグメントの組合わせを許可し、各比較手
段のいずれもキャラクタコードの不一致を検出したと
き、読取った両方のハーフセグメントの組合わせを禁止
するものである。
び第2の読取手段がハーフセグメントのキャラクタコー
ド及びセンターバーに隣接するキャラクタコードを読取
るとき同時にその各キャラクタコードのパリティデータ
も読取るものである。
段が一方のハーフセグメントのキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取ったときの他方のハーフセグメントのセ
ンターバーに隣接するキャラクタコードと、第2の読取
手段が他方のハーフセグメントのキャラクタコードと一
方のハーフセグメントのセンターバーに隣接するキャラ
クタコードを読取ったときの他方のハーフセグメントの
センターバーに隣接するキャラクタコードを第1の比較
手段で比較する。また、第2の読取手段が他方のハーフ
セグメントのキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取っ
たときの一方のハーフセグメントのセンターバーに隣接
するキャラクタコードと、第1の読取手段が一方のハー
フセグメントのキャラクタコードと他方のハーフセグメ
ントのセンターバーに隣接するキャラクタコードを読取
ったときの一方のハーフセグメントのセンターバーに隣
接するキャラクタコードを第2の比較手段で比較する。
そして各比較手段の両方がキャラクタコードの一致を検
出したとき、読取った両方のハーフセグメントの組合わ
せを許可し、各比較手段の少なくとも一方がキャラクタ
コードの不一致を検出したとき、読取った両方のハーフ
セグメントの組合わせを禁止する。
段の少なくとも一方がキャラクタコードの一致を検出し
たとき、読取った両方のハーフセグメントの組合わせを
許可し、各比較手段のいずれもキャラクタコードの不一
致を検出したとき、読取った両方のハーフセグメントの
組合わせを禁止する。
明する。
すブロック図で、1はレーザ発振器等の光ビーム発生器
である。この光ビーム発生器1からの光ビームをポリゴ
ンミラーや振動ミラー等の偏向器2に照射して偏向し、
その偏向光でバーコードラベル3上を走査する。
光検出器4で検出した後、アナログ回路5で光電変換、
信号増幅、A/D変換等の各処理を行って2値化し、そ
の2値化信号をパルス幅カウンタ6に供給している。
取込み、基準クロックを使用したカウント動作によりバ
ーコードの各バー幅及びスペース幅に対応した時間幅デ
ータ、バー及びスペースを表わすバー信号、時間幅デー
タ及びバー信号をラッチするためのクロックをデコーダ
7に出力する。
らの時間幅データ及びバー信号を用いてラベル中に現れ
るUPC、EAN(JAN)規格に合致するガードバー
とセンタバー及びキャラクタを認識する。
8に伝えられ、これによりラベル識別部8はバーコード
ラベルを識別する。
識別結果はデコードデータとしてマイクロプロセッサ1
00に取込まれRAM(ランダム・アクセス・メモリ)
102に格納される。
02に格納したバーコードラベルの識別結果をROM
(リード・オンリー・メモリ)101のプログラムデー
タに基づいて各種検証し、ラベル識別の正否を判断す
る。そしてラベル識別結果が正しいと判断した場合はイ
ンターフェース(I/F)を介して上位装置へ転送する
ようになっている。
以下のように行う。
、隣合う時間幅の和、すなわち{D(i-1) +D(i) }
をT(i) 、4つの隣合う時間幅の和、すなわち{T(i-
2) +T(i) }をS(i) とし、またバー信号をバーのと
きは正論理V(i) 、スペースのときは負論理V(i) とす
る。
とガードバーの構成を示し、これを入力マージンとすれ
ば、この入力マージンは、正論理V(i-2) &負論理V(i
-1) &正論理V(i) &[31.25%×T(i-2)>T(i)
]&[S(i+4) <84.4%×S(i) ]を満足する。
なるマージンの構成を示し、これを出力マージンとすれ
ば、この出力マージンは、正論理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) ]を満足する。
ーからなるセンターバーの構成を示し、これを入力セン
ターバーとすれば、この入力センターバーは、負論理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のいづれかである。]を満足する。
ーからなるセンターバーの構成を示し、これを出力セン
ターバーとすれば、この出力センターバーは、負論理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のいづれかである。]を満足するものと
なる。
示し、これをイコールとすれば、このイコールは、[8
4.4%×S(i+4) <S(i) ]&[84.4%×S(i)
≦S(i+4) ]を満足する。
認識した場合にハイレベルとなる出力信号を、入力マー
ジンの場合はIMG信号、出力マージンの場合はOMG
信号、入力センターバーの場合はICB信号、出力セン
ターバーの場合はOCB信号、イコールの場合はEQL
信号、正論理V(i) の場合はBAR信号とする。そして
この各信号はパルス幅カウンタ6で生成されるクロック
によってラベル識別部8でラッチするようになってい
る。
の認識を行なう。UPC文字としての数字キャラクタは
モジュールを使用して表現すると、各数字キャラクタの
幅は7モジュールである。個々のバーは幅が1〜4モジ
ュールであり、個々のスペースは幅が1〜3モジュール
である。
ル数の合計は奇数或いは偶数パリティを意味している。
ルの左側にあると仮定すれば、スペースを0、バーを1
で表わすと、7モジュールのデータ文字「9」の2進表
現は「0001011」となる。この文字はバーのモジ
ュール数が3であることから、奇数パリティを示す。
合には左部分の2進表現、すなわち2進補数で表記され
る。すなわち、データ文字「9」の2進表現は「111
0100」となる。この文字はバーのモジュール数が4
であることから、偶数パリティを示す。
するためには2進表現において左右裏返しにしてバーを
スペースに、またスペースをバーに反転して生成する。
すなわち、データ文字「9」の偶数パリティは2進表現
で「0010111」となる。
ティデータは前記パルス幅カウンタ6からのクロックに
よってデコーダ7にラッチされるものとする。
の時制は全て等しく、後述する時制の異なる信号或いは
データを用いるときは前述した信号及びデータの時制を
基本とする。すなわち、時制をnで表わすと、前述した
信号及びデータの時制はn=0となる。また、将来方向
に対してはマイナス、すなわちn−として表記し、過去
方向に対してはプラス、すなわちn+として表記する。
種信号をシーケンシャルに検索しラベル構造を検出す
る。
ルはガードバーGとセンターバーCと6桁の数字キャラ
クタからなる左側セグメントCL、右側セグメントCR
とで構成される。
ると、この走査線aはガードバーG、左側セグメントC
Lの6文字、センターバーC及び右側セグメントCRの
1文字を横切るので、ラベル識別部8はデコーダ7から
の各種信号をシーケンシャルに並べることにより、図7
に示すようなラベル構造を認識する。すなわち、入力マ
ージンIMG、6桁のイコールEQL、出力センターバ
ーOCB、入力センターバーICB及び追加文字からな
るラベル構造を認識する。このときバーを表わすBAR
信号は図中に示すように対応する。
走査すると、この走査線bは左側セグメントCLの1文
字、センターバーC、右側セグメントCRの6文字及び
ガードバーGを横切るので、ラベル識別部8はデコーダ
7からの各種信号をシーケンシャルに並べることによ
り、図8に示すようなラベル構造を認識する。すなわ
ち、追加文字、出力センターバーOCB、入力センター
バーICB、6桁のイコールEQL及び出力マージンO
MGからなるラベル構造を認識する。このときバーを表
わすBAR信号は図中に示すように対応する。
BAR2 の2通りが考えられるが、説明を容易にするた
めに便宜的にBAR1 が対応するものとする。またラベ
ルの構造上対応するスペースはSPACE1 とSPAC
E2 の2通りが考えられるが、説明を容易にするために
便宜的にSPACE1 が対応するものとする。
して図5に示す第1の読取回路を設けている。
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 を設けている。
ップフロップFF11,FF12,FF13,FF14,FF1
5,FF16からなるシフトレジスタ11、6段のフリッ
プフロップFF21,FF22,FF23,FF24,FF25,
FF26からなるシフトレジスタ12、バッファ13及び
マルチプレクサ14を設けている。
信号は、アンド回路AN3 ,AN4,AN5 及びフリッ
プフロップFF1 のクロックイネーブル(CE)端子に
入力している。
は、オア回路OR1 ,OR2 に入力し、EQL信号は、
アンド回路AN4 に入力すると共にそのEQL信号の反
転信号はインバータIN1 を介してオア回路OR3 に入
力している。
は、オア回路OR3 及びアンド回路AN5 に入力してい
る。
すると、IMG信号がハイレベルとなり、オア回路OR
2 の出力を有効にし、BAR1 信号のタイミングでフリ
ップフロップFF1 のセット出力B1 Sをハイレベルに
する。B1 S信号のハイレベル状態はクリア信号B1 C
Lが無効になるまで継続する。
びアンド回路AN3 を介して同期式カウンタCNT1 を
初期化する。すなわち、オア回路OR1 を有効にすると
BAR1 信号のタイミングでアンド回路AN3 の出力を
ハイレベルにし、同期式カウンタCNT1 をクリアす
る。これにより同期式カウンタCNT1 の各ビット信号
B1 QA,B1 QB,B1 QCは「0」となる。
の数字キャラクタ(1st文字)を検出すると、EQL信
号がハイレベルとなり、同期式カウンタCNT1 をカウ
ントアップさせる。すなわち、フリップフロップFF1
のセット出力B1 SとBAR1 信号とEQL信号を入力
するアンド回路AN4 の出力B1 DTLが有効となり、
カウンタCNT1 の出力は「1」となる。
第6の数字キャラクタ(2nd文字〜6th文字)を検出す
るたびに、同期式カウンタCNT1 の出力は2,3,…
6とカウントアップする。この同期式カウンタCNT1
の出力はバーコードラベルの構造を識別するのに有効と
なる。すなわち、ラベル構造にはハーフセグメントが4
文字構成と6文字構成があり、カウンタ出力はこの文字
数を示している。
を走査すると、カウンタCNT1 の出力は「6」、すな
わちビット信号B1 QAがローレベル、ビット信号B1
QBとB1 QCがハイレベルとなり、アンド回路AN1
の出力は有効となる。
号B1 QCが入力すると共にビット信号B1 QAがイン
バータIN3 を介して反転して入力することになる。
を検出すると、OCB信号がハイレベルとなり、アンド
回路AN5 はBAR1 信号のタイミングで出力B1 CE
をハイレベルにする。
出力B1 CLをローレベルにしアンド回路AN2 の出力
をローレベルにする。そしてオア回路OR2 を介してフ
リップフロップFF1 をBAR1 信号のタイミングでク
リアし出力B1 Sをローレベル、すなわち、フリップフ
ロップFF1 を初期化する。
反転出力B1 CLがローレベルとなるので、インバータ
IN2 及びオア回路OR1 を介してアンド回路AN3 に
入力するBCL信号がハイレベルとなり、アンド回路A
N3 出力はBAR1 信号のタイミングでハイレベルとな
り、同期式カウンタCNT1 は初期化する。すなわち、
出力が「0」となる。
シーケンシャルなラベル構成の捕獲ができる。
号を各フリップフロップFF11〜FF16,FF21〜FF
26のクロックイネーブル(CE)端子に入力している。
E信号をラベルの終了を示す信号として前記バッファ1
3のクロックイネーブル(CE)端子に入力している。
ビット信号B1 QA,B1 QB,B1 QCを前記バッフ
ァ13に入力している。
プフロップFF11〜FF16,FF21〜FF26のセット出
力端子からの信号も入力している。
文字)を検出すると、上述したようにアンド回路AN4
からのB1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第1のキャラクタが
現れ、その第1のキャラクタがシフトレジスタ11のフ
リップフロップFF11にB1 DTL信号のタイミングで
セットする。
文字)を検出すると、上述したようにアンド回路AN4
からのB1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第2のキャラクタが
現れ、その第2のキャラクタがシフトレジスタ11のフ
リップフロップFF11にB1 DTL信号のタイミングで
セットする。このときフリップフロップFF11の出力は
次段のフリップフロップFF12にセットされる。すなわ
ち、第2のキャラクタがフリップフロップFF11にセッ
トすると同時に第1のキャラクタがフリップフロップF
F12にセットすることになる。
ャラクタ(3rd〜6th文字)を検出する毎に、第3キャ
ラクタ〜第6のキャラクタがシフトレジスタ11のフリ
ップフロップFF11にB1 DTL信号のタイミングで順
次セットし、その都度前段のフリップフロップの内容が
次段のフリップフロップにシフトすることになる。
ップFF11にセットすると、各フリップフロップFF11
〜FF16からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ12の各フリップフロップFF21〜FF
26にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF11にセットすると、シフトレジ
スタ12の各フリップフロップFF21〜FF26からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
力側のセンターバーを示すICB信号及び第5シーケン
ス後にはセンターバーに隣接する追加文字を検出するこ
とが想定できる。
−1、第5シーケンス後をn−5と表わすと、想定され
る入力側のセンターバーはICBn-1 及び追加文字はC
HARAn-5 となり、OCB信号と同時制シーケンスで
の認識が可能となる。
ターバーICBn-1 は前記マルチプレクサ14に入力し
ている。前記マルチプレクサ14は、入力側のセンター
バーICBn-1 を検出するとキャラクタデータを選択
し、入力側のセンターバーICBn-1 が検出できないと
きには無効キャラクタデータFhを選択して出力する。
文字を表わすデータバスADDBとして前記バッファ1
3に接続している。
OCB信号がハイレベルになるとアンド回路AN4 の出
力B1 DTLがハイレベルになることは前述した通りで
あり、B1 DTLがハイレベルになるとそのタイミング
で前記バッファ13は、各フリップフロップFF11〜F
F16からのキャラクタデータ、各フリップフロップFF
21〜FF26からのパリティデータ、データバスADDB
の追加文字、同期式カウンタCNT1 の出力B1 QA,
B1 QB,B1 QCを記憶する。
して図6に示す第2の読取回路を設けている。
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 を設けている。
リップフロップFF31,FF32,FF33,FF34,FF
35,FF36からなるシフトレジスタ15、6段のフリッ
プフロップFF41,FF42,FF43,FF44,FF45,
FF46からなるシフトレジスタ16、バッファ17、マ
ルチプレクサ18、2入力形オア回路OR7 及びバッフ
ァ19を設けている。
ACE1 信号は、アンド回路AN8,AN9 ,AN10及
びフリップフロップFF2 のクロックイネーブル(C
E)端子に入力している。
は、オア回路OR4 ,OR5 に入力し、EQL信号は、
アンド回路AN9 に入力すると共にそのEQL信号の反
転信号はインバータIN4 を介してオア回路OR6 に入
力している。
は、オア回路OR6 及びアンド回路AN10に入力してい
る。
出すると、ICB信号がハイレベルとなり、オア回路O
R5 の出力を有効にし、SPACE1 信号のタイミング
でフリップフロップFF2 のセット出力S1 Sをハイレ
ベルにする。S1 S信号のハイレベル状態はクリア信号
S1 CLが無効になるまで継続する。
びアンド回路AN8 を介して同期式カウンタCNT2 を
初期化する。すなわち、オア回路OR4 を有効にすると
SPACE1 信号のタイミングでアンド回路AN8 の出
力をハイレベルにし、同期式カウンタCNT2 をクリア
する。これにより同期式カウンタCNT2 の各ビット信
号S1 QA,S1 QB,S1 QCは「0」となる。
ラッチ動作を行う。すなわち、図8に示すようにICB
信号の1つ前のシーケンスでは出力側のセンターバーを
示すOCB信号及び第5シーケンス前ではセンターバー
に隣接している左側ハーフセグメントの追加文字が存在
していた。
スをn+1、第5シーケンス後をn+5と表わすと、想
定される出力側のセンターバーはOCBn+1 及び追加文
字はCHARAn+5 となり、ICB信号と同時制シーケ
ンスでの認識が可能となる。
ターバーOCBn+1 は前記マルチプレクサ18に入力し
ている。前記マルチプレクサ18は、出力側のセンター
バーOCBn+1 を検出するとキャラクタデータを選択
し、出力側のセンターバーOCBn+1 が検出できないと
きには無効キャラクタデータFhを選択して出力する。
して前記バッファ19のCE端子を有効にし、前記マル
チプレクサ18の出力バス、すなわち追加文字を表わす
データバスADDSをラッチする。
数字キャラクタ(1st文字)を検出すると、EQL信号
がハイレベルとなり、同期式カウンタCNT2 をカウン
トアップさせる。すなわち、フリップフロップFF2 の
セット出力S1 SとSPACE1 信号とEQL信号を入
力するアンド回路AN9 の出力S1 DTLが有効とな
り、前記同期式カウンタCNT2 の出力は「1」とな
る。
の数字キャラクタ(2nd文字〜6th文字)を検出する毎
に、同期式カウンタCNT2 の出力は2,3,…6とカ
ウントアップする。この同期式カウンタCNT2 の出力
はバーコードラベルのキャラクタ数を表わし、キャラク
タ構造を識別するのに有効となる。
を走査すると、同期式カウンタCNT2 の出力は
「6」、すなわち、ビット信号S1 QAがローレベル、
ビット信号S1 QBとS1 QCがハイレベルとなり、ア
ンド回路AN6 の出力は有効となる。また、アンド回路
AN10にはビット信号S1 QCが入力すると共にビット
信号S1 QAがインバータIN6 を介して反転して入力
している。
検出すると、OMG信号がハイレベルとなり、アンド回
路AN10はSPACE1 信号のタイミングで出力S1 C
Eをハイレベルにする。
出力S1 CLをローレベルにしアンド回路AN7 の出力
をローレベルにする。そしてオア回路OR5 を介してフ
リップフロップFF2 をSPACE1 信号のタイミング
でクリアし、出力S1 Sをローレベル、すなわちフリッ
プフロップFF2 を初期化する。
反転出力S1 CLがローレベルとなるので、インバータ
IN5 及びオア回路OR4 を介してアンド回路AN8 に
入力するSCL信号がハイレベルとなり、アンド回路A
N8 出力はSPACE1 信号のタイミングでハイレベル
となり、これにより同期式カウンタCNT2 は初期化す
る。すなわち同期式カウンタCNT2 の出力が「0」と
なる。
ラベル構成の捕獲ができる。
は、シフトレジスタ15及び16のCE端子に入力し、
また、ラベルの終了を示す信号としたアンド回路AN10
の出力S1 CEはオア回路OR7 を介してバッファ19
のCE端子に入力すると共にバッファ17のCE端子に
入力する。また、同期式カウンタCNT2 の出力S1 Q
A,S1 QB,S1 QCは前記バッファ17に入力す
る。
プフロップFF31〜FF36,FF41〜FF46のセット出
力端子からの信号も入力している。
文字)を検出すると、上述したようにアンド回路AN9
からのS1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第1のキャラクタが
現れ、その第1のキャラクタがシフトレジスタ15のフ
リップフロップFF31にS1 DTL信号のタイミングで
セットする。
文字)を検出すると、上述したようにアンド回路AN9
からのS1 DTL信号はハイレベルとなる。このとき文
字を表わすデータバスCHARAに第2のキャラクタが
現れ、その第2のキャラクタがシフトレジスタ15のフ
リップフロップFF31にB1 DTL信号のタイミングで
セットする。このときフリップフロップFF31の出力は
次段のフリップフロップFF32にセットされる。すなわ
ち、第2のキャラクタがフリップフロップFF31にセッ
トすると同時に第1のキャラクタがフリップフロップF
F32にセットすることになる。
ャラクタ(3rd〜6th文字)を検出する毎に、第3〜第
6のキャラクタがシフトレジスタ15のフリップフロッ
プFF31にB1 DTL信号のタイミングで順次セット
し、その都度前段のフリップフロップの内容が次段のフ
リップフロップにシフトすることになる。
ップFF31にセットすると、各フリップフロップFF31
〜FF36からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ16の各フリップフロップFF41〜FF
46にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF41にセットすると、シフトレジ
スタ16の各フリップフロップFF41〜FF46からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
すると、前記アンド回路AN10の出力S1 CEがハイレ
ベルとなり、バッファ17は各フリップフロップFF31
〜FF36からのキャラクタデータ、各フリップフロップ
FF41〜FF46からのパリティデータ、データバスAD
DSの追加文字、同期式カウンタCNT2 の出力S1Q
A,S1 QB,S1 QCを記憶する。
の走査線cはガードバーG、左側セグメントCLの最後
の数字文字の途中から挿入し、センターバーC及び右側
セグメントCRの各数字文字を走査した後、ガードバー
Gの途中を横切るので、ラベル識別部8はデコーダ7か
らの各種信号をシーケンシャルに並べることにより、バ
ーコードラベルを認識する。
の(a) に示す本来のラベルに対して図9の(b) に示すよ
うにビットずれを起こすことがある。
スペースを各々1ビットと単位付ければ、丁度2ビット
ずれたラベルとして認識される。
するとICB信号がハイレベルとなり、オア回路OR5
の出力を有効にし、SPACE1 信号のタイミングでフ
リップフロップFF2 をセット動作しその出力S1 Sを
ハイレベルにする。
効、すなわちローレベルになるまで継続する。
T2 を初期化する。すなわち、ICB信号はオア回路O
R4 の出力をハイレベルにし、この状態でSPACE1
信号が入力するとアンド回路AN8 の出力がハイレベル
となり、同期式カウンタCNT2 のCL端子にハイレベ
ル信号が入力してカウンタをクリアする。これにより同
期式カウンタCNT2 の出力S1 QA,S1 QB,S1
QCは0となる。
チ動作を行う。図9の(b) に示す認識ラベルではICB
信号の1つ前のシーケンスでは出力側のセンターバーO
CBが検出されていない(図9の(a) に示す本来のラベ
ルではICB信号の1つ前のシーケンスでは出力側のセ
ンターバーOCBを検出できる。)ため、隣接する左側
のハーフセグメントの追加文字は不明確となる。
ターバーOCBn+1 はマルチプレクサ18に入力する
が、出力側のセンターバーが検出されないため、すなわ
ち、センターバーOCBn+1 がローレベルであるため、
マルチプレクサ18は無効キャラクタデータFhを出力
する。
ッファ19のCE端子を有効にし、バッファ19は、マ
ルチプレクサ18の出力バス、すなわち、無効キャラク
タデータFhを表わすデータバスADDSをラッチす
る。
L信号を検出すると、同期式カウンタCNT2 をカウン
トアップさせる。すなわち、セット信号S1 SとSPA
CE1 信号とEQL信号を入力とするアンド回路AN9
の出力S1 DTLが有効となり、同期式カウンタCNT
2 の出力は「1」になる。
L信号を検出するまで続けられ、同期式カウンタCNT
2 の出力は右側のバーコードラベルのキャラクタ数を表
わす。
なると、S1 QB及びS1 QCが共にハイレベルとなる
ので、アンド回路AN6 の出力が有効となり、また、ア
ンド回路AN10に対してS1 QCとS1 QAをインバー
タ回路IN6 で反転した信号が入力する。
ーを検出すると、OMG信号がハイレベルとなり、SP
ACE1 信号がハイレベルとなるタイミングでアンド回
路AN10の出力S1 CE信号を有効、すなわち、ハイレ
ベルにする。
び同期式カウンタCNT2 の初期化を行う。すなわち、
OMG信号はオア回路OR6 の反転出力S1 CLをロー
レベルにする。この出力S1 CLはアンド回路AN7 の
出力を無効にし、オア回路OR5 を介してフリップフロ
ップFF2 をSPACE1 信号のタイミングでクリア
し、セット信号S1 Sをリセット、すなわち、ローレベ
ルにする。
で反転した後、オア回路OR4 に入力し、そのオア回路
OR4 の出力SCLをハイレベルにする。これによりア
ンド回路AN8 はSPACE1 信号がハイレベルとなる
タイミングで出力をハイレベルにし同期式カウンタCN
T2 を初期化する。すなわち、カウンタCNT2 の出力
を「0」にする。
認識ラベルを捕獲することになる。
信号はシフトレジスタ15,16に入力され、また、ア
ンド回路AN10の出力であるラベルの終了を示すS1 C
E信号はオア回路OR7 を介してバッファ19のCE端
子に入力される。また、同期式カウンタCNT2 の出力
はバッファ17にデータとして入力される。
の(b) に示す認識ラベルの第1のEQL)を検出する
と、アンド回路AN9 からのS1 DTL信号はハイレベ
ルとなる。このとき文字を表わすデータバスCHARA
に第1のキャラクタが現れ、その第1のキャラクタがシ
フトレジスタ15のフリップフロップFF31にS1 DT
L信号のタイミングでセットする。
の(b) に示す認識ラベルの第2のEQL)を検出する
と、アンド回路AN9 からのS1 DTL信号はハイレベ
ルとなる。このとき文字を表わすデータバスCHARA
に第2のキャラクタが現れ、その第2のキャラクタがシ
フトレジスタ15のフリップフロップFF31にB1 DT
L信号のタイミングでセットする。また、フリップフロ
ップFF31の出力は次段のフリップフロップFF32にセ
ットされる。すなわち、第2のキャラクタがフリップフ
ロップFF31にセットすると同時に第1のキャラクタが
フリップフロップFF32にセットすることになる。
ャラクタを検出する毎に、第3〜第6のキャラクタがシ
フトレジスタ15のフリップフロップFF31にB1 DT
L信号のタイミングで順次セットし、その都度前段のフ
リップフロップの内容が次段のフリップフロップにシフ
トすることになる。
ップFF31にセットすると、各フリップフロップFF31
〜FF36からはそれぞれ第6〜第1のキャラクタのセッ
ト出力が送出することになる。
を表わす信号線PARITYにパリティデータが現れ、
シフトレジスタ16の各フリップフロップFF41〜FF
46にセットすることになる。こうして第6のキャラクタ
がフリップフロップFF41にセットすると、シフトレジ
スタ16の各フリップフロップFF41〜FF46からはそ
れぞれ第6〜第1のキャラクタに対応したパリティデー
タのセット出力が送出することになる。
すると、前記アンド回路AN10の出力S1 CEがハイレ
ベルとなり、バッファ17は各フリップフロップFF31
〜FF36からのキャラクタデータ、各フリップフロップ
FF41〜FF46からのパリティデータ、データバスAD
DSの追加文字、同期式カウンタCNT2 の出力S1Q
A,S1 QB,S1 QCを記憶する。
セグメントのデータが左右の組合わせにおいて正しいも
のか、或いはビットずれによる誤読データなのかをラベ
ル識別部8からの識別結果を取込むマイクロプロセッサ
100が図10の流れ図に基づいて判断する。
ータ(6文字分)をLBUF、右側セグメントの数字キ
ャラクタデータ(6文字分)をRBUF、左側セグメン
ト捕獲時に付随する追加文字データをADCL、右側セ
グメント捕獲時に付随する追加文字データをADCRと
して判断処理について述べる。
007」のUPC−Aラベルを例にして述べると、左側
セグメントを走査して生成される各種データはデコード
7からラベル識別部8に入力する。
用して各種データからシーケンシャルにガードバーIM
Gと6つの数字キャラクタ「207410」とセンター
バー及び追加文字すなわち、センターバーに隣接する右
側セグメントの第1の数字キャラクタ「0」を処理し、
左側セグメントデータ「207410」及び追加文字
「0」をバッファ13に記憶する。
13のデータを取込む。そしてステップST1 で左側セ
グメントか右側セグメントかをチェックする。この場
合、左側セグメントなので、ステップST2 でデータを
RAM102に格納する。すなわち、6キャラクタデー
タ「2,0,7,4,1,0」はガードバー側から順に
RAM102にLBUF0 乃至LBUF5 として格納
し、追加文字「0」はADCLとして格納する。
ータが格納されているかの確認を行う。現時点では右側
セグメントデータが無いため、処理をスタート時点に戻
す。
線s2 で示すように走査されて読み込まれ第2の読取回
路で処理されると、シーケンシャルに追加文字(無効キ
ャラクタデータFh)とセンターバー(ICB)と右側
セグメントデータ「446446」及びガードバー(O
MG)を検出し、右側セグメントデータ「44644
6」及び追加文字Fをバッファ17に記憶する。
17のデータを取込む。そしてステップST1 で右側セ
グメントを判断し、ステップST4 でデータをRAM1
02に格納する。すなわち、6キャラクタデータ「4,
4,6,4,4,6」はセンターバー側から順にRBU
F0 乃至RBUF5 として格納し、追加文字「F」はA
DCRとして格納する。
ータが格納されているかの確認を行う。今度は左右のセ
グメントデータが格納されているので、ステップST5
でデータ比較を行う。ここでは左側セグメント捕獲時の
追加文字ADCLと右側セグメントの第1のキャラクタ
RBUF0 を比較する。追加文字ADCLは「0」であ
るのに対しRBUF0 は「4」となっているので、不一
致を判定し左右のセグメントデータの組み立てを禁止し
て処理をスタート時点に戻し次のデータを待つ。
生成されたデータが第2の読取回路で処理されると、シ
ーケンシャルに追加文字「0」とセンターバー(IC
B)と右側セグメントデータ「003007」及びガー
ドバー(OMG)を検出し、右側セグメントデータ「0
03007」及び追加文字「0」をバッファ17に記憶
する。
17のデータを取込む。そしてステップST1 で右側セ
グメントを判断し、ステップST4 でデータをRAM1
02に格納する。すなわち、6キャラクタデータ「0,
0,3,0,0,7」はセンターバー側から順にRBU
F0 乃至RBUF5 として格納し、追加文字「0」はA
DCRとして格納する。
ータが格納されているかの確認を行う。左右のセグメン
トデータが格納されているので、ステップST5 でデー
タ比較を行う。
は「0」であり、右側セグメントの第1のキャラクタR
BUF0 も「0」となっているので、一致を判定しステ
ップST6 で次のデータ比較を行う。ここでは右側セグ
メント捕獲時の追加文字ADCRと左側セグメントの第
6のキャラクタLBUF5 を比較する。追加文字ADC
Rは「0」であり、左側セグメントの第6のキャラクタ
LBUF5 も「0」となっているので、一致を判定す
る。そして最後にステップST7 で例えばモジュロ10
チェックによりチェックディジットが有効か否かをチェ
ックする。。
ステップST8 で左右のセグメントデータを組立てる。
これにより「207410003007」のUPC−A
ラベルのバーコードデータが得られることになる。
410003007」をデコードデータとしてI/Fを
介して上位装置へ転送する。
ントデータと共にセンターバーに隣接する右側セグメン
トの第1の数字キャラクタを追加文字として読取ってバ
ッファ13に格納し、また第2の読取回路で右側セグメ
ントデータと共にセンターバーに隣接する左側セグメン
トの第6の数字キャラクタを追加文字として読取ってバ
ッファ17に格納し、その各バッファ13,17のデー
タをマイクロプロセッサ100が取込み、右側セグメン
トデータの第1の数字キャラクタと左側セグメント捕獲
時の追加文字を比較し、また、左側セグメントデータの
第6の数字キャラクタと右側セグメント捕獲時の追加文
字を比較し、両比較において共に一致したとき左右のセ
グメントデータは正しいと判断して組立て上位装置へ転
送するようにしているので、ビットずれによって誤読を
行ったときには比較が不一致となってデータが排除され
ることになり、誤読を確実に防止できる。
各バッファ13,17に格納するので、マイクロプロセ
ッサ100はキャラクタと同様パリティについても比較
することが可能となり、これを実行することにより誤読
をより確実に防止できる。
ントデータと共にセンターバーに隣接する右側セグメン
トの第1の数字キャラクタを追加文字として捕獲すると
きに入力側のセンターバーICBn-1 が検出されないと
きには追加文字を無効キャラクタデータFhに置き換
え、また、第2の読取回路において右側セグメントデー
タと共にセンターバーに隣接する左側セグメントの第6
の数字キャラクタを追加文字として捕獲するときに出力
側のセンターバーOCBn+1 が検出されないときには追
加文字を無効キャラクタデータFhに置き換えるように
しているので、ビットずれによりセンターバーの検出が
できない状態になったときも確実に誤読データを排除す
ることができ、この点においても誤読を確実に防止でき
る。
説明する。
ル識別部8として6キャラクタのみでなく4キャラクタ
のバーコードラベルもデコードし識別できるものを使用
する。RAM102に図12に示すバッファ21を設け
る。
左セグメントデータを格納する2個のバッファBFL6
1、BFL62と、6キャラクタ構成の右セグメントデー
タを格納する2個のバッファBFR61、BFR62と、4
キャラクタ構成の左セグメントデータを格納する2個の
バッファBFL41、BFL42と、4キャラクタ構成の右
セグメントデータを格納する2個のバッファBFR41、
BFR42とを設けている。
納エリア、プリフィクスキャラクタPFの格納エリア、
キャラクタデータの格納エリア、センターバーに隣接す
る追加文字(以下、他方キャラクタデータと称する。)
の格納エリア及びデータカウンタCで構成されている。
査ビームがd,eに示すように横切ると、走査ビームd
ではプリフィクスデータが「0」、左ハーフセグメント
データが「207410(パリティOOOOOO)」と
デコードされると共に右ハーフセグメントの第1キャラ
クタが「0(パリティE)」とデコードされる。なお、
パリティOは奇数(ODD)パリティを表し、パリティ
Eは偶数(EVEN)パリティを表している。
トデータが「003007(パリティEEEEEE)」
とデコードされると共に左ハーフセグメントの第6キャ
ラクタが「0(パリティO)」とデコードされる。
して走査ビームがf,gに示すように横切ると、走査ビ
ームfではプリフィクスデータが「0」、左ハーフセグ
メントデータが「207410(パリティOOOOO
O)」とデコードされると共に右ハーフセグメントの第
1キャラクタが「無効キャラクタデータFh」とデコー
ドされる。
トデータが「003007(パリティEEEEEE)」
とデコードされると共に左ハーフセグメントの第6キャ
ラクタが「無効キャラクタデータFh」とデコードされ
る。
デコードデータの組立ての処理を示す流れ図で、ラベル
識別部8でバーコードデータが復調されると、ステップ
ST11でデコードされたデータが左セグメントか或いは
右セグメントかをチェックする。
12で左データ処理を行い、また右セグメントであればス
テップST13で右データ処理を行う。このときのデータ
処理では最初にセグメントが6キャラクタ構成であるか
4キャラクタ構成であるかを調べ、それぞれのキャラク
タ構成に基づいて左セグメントのときには図15に示す
左データ処理を行い、また右セグメントのときには図1
6に示す右データ処理を行う。
プST31にて左データバッファBFL61,BFL62又は
BFL41,BFL42に同一データがあるか否かをチェッ
クし、同一のデータがあればステップST32にて対応す
るデータカウンタCをインクリメントする。続いてステ
ップST33にて右ハーフセグメントの第1キャラクタが
「無効キャラクタデータFh」かをチェックし、「無効
キャラクタデータFh」であればこのデータ処理を終了
し、また「無効キャラクタデータFh」で無ければステ
ップST34にて右ハーフセグメントの第1キャラクタを
対応する他方キャラクタデータの格納エリアODに上書
きしてからこのデータ処理を終了する。
のデータが無ければ2つの左データバッファのうちの空
きバッファに左ハーフセグメントのデータを格納する
か、空きバッファが無ければ古いデータが格納されてい
るバッファに上書きする。そして対応するデータカウン
タCの値を「1」にセットしこのデータ処理を終了す
る。
プST41にて右データバッファBFR61,BFR62又は
BFR41,BFR42に同一データがあるか否かをチェッ
クし、同一のデータがあればステップST42にて対応す
るデータカウンタCをインクリメントする。続いてステ
ップST43にて左ハーフセグメントの第6キャラクタが
「無効キャラクタデータFh」かをチェックし、「無効
キャラクタデータFh」であればこのデータ処理を終了
し、また「無効キャラクタデータFh」で無ければステ
ップST44にて左ハーフセグメントの第6キャラクタを
対応する他方キャラクタデータの格納エリアODに上書
きしてからこのデータ処理を終了する。
のデータが無ければ2つの右データバッファのうちの空
きバッファに左ハーフセグメントのデータを格納する
か、空きバッファが無ければ古いデータが格納されてい
るバッファに上書きする。そして対応するデータカウン
タCの値を「1」にセットしこのデータ処理を終了す
る。
タ処理又はステップST13の右データ処理が終了する
と、続いてステップST14にて左側多数データカウンタ
が設定値以上か否かをチェックする。これは左データバ
ッファBFL61,BFL62,BFL41,BFL42に対応
するデータカウンタCのうちでカウント値が最も大きい
ものを多数データとし、その多数データが設定値以上か
否かをチェックする。なお、カウント値が同一の場合は
多数データにはしない。
このデコードデータの組合わせ処理を終了する。
いてステップST15にて右側多数データカウンタが設定
値以上か否かをチェックする。これは右データバッファ
BFR61,BFR62,BFR41,BFR42に対応するデ
ータカウンタCのうちでカウント値が最も大きいものを
多数データとし、その多数データが設定値以上か否かを
チェックする。この場合もカウント値が同一の場合は多
数データにはしない。
このデコードデータの組合わせ処理を終了する。
いてステップST16にてキャラクタ構成のチェック、左
右のセグメントデータを組立てたときのチェックディジ
ットが有効であるか否かのチェック及び他方キャラクタ
データの検証を行う。
ャラクタ構成が同一か否かをチェックする。またチェッ
クディジットの有効性はモジュロ10でチェックする。
えば図13に示すような6キャラクタ構成のハーフセグ
メントデータのときには左ハーフセグメントの第6キャ
ラクタch6 と他方キャラクタデータであるch6 ′が
同一であるか、また右ハーフセグメントの第1キャラク
タch7 と他方キャラクタデータであるch7 ′が同一
であるかを調べる。
例えばいずれか一方が同一として成立した場合に左右の
セグメントデータの組合わせが有効であると判断する。
ェックディジットが有効で、かつ他方キャラクタデータ
の検証において左右のセグメントデータの組合わせが有
効であると判断されると、ステップST17にて左右のセ
グメントデータの組立てを行い、ステップST18にて組
立てたデコードデータを上位装置へ転送する。
ったり、チェックディジットが有効でなかったり、或い
は他方キャラクタデータの検証において左右のセグメン
トデータの組合わせが有効でない場合は左右のセグメン
トデータの組立てを行わずデコードデータの組合わせ処
理を終了する。
次のように行われる。すなわち、図17に示すように、
キャラクタを構成するバーとスペースの合計幅と2組の
バーとスペースの合計幅をそれぞれ比較して、それぞれ
のバーとスペースの合計幅が何モジュールに相当するか
を判断する。
幅M4 は3モジュール、幅M5 は2モジュールと判断さ
れる。その2つのモジュール幅M4 ,M5 によってキャ
ラクタの値が決定される。センターバーCBを誤認識し
た場合、本来のキャラクタCHと誤読データのキャラク
タCH′が同一になるためには、幅M2 =幅M4 でかつ
幅M3 =幅M5 と見なさなければならない。
るためにはCH′のキャラクタ幅が6〜8モジュールで
なければならない。しかし幅M2 は最大で5モジュール
であるから、CH′のキャラクタ幅は6〜7モジュール
である。
ジュールであるから、幅M3 は4〜5モジュールとな
る。また、CHは7モジュールであり、幅M3 は4〜5
モジュールであるから、幅M5 は2〜3モジュールであ
る。
M5 の式は成立しないため図17に示すようにセンター
バーを誤認識した場合はキャラクタCHとキャラクタC
H′は一致しなくなる。
することによって右セグメントを誤読した場合、右セグ
メントの第1キャラクタは本来のキャラクタとは異なっ
ている。
図13に示すキャラクタch7 とch7 ′は必ず異なる
キャラクタとなる。
く同様なことが当てはまるため、キャラクタch6 とc
h6 ′も必ず異なるキャラクタとなる。
h7 ′という条件を満たす場合のみ左右セグメントを組
合わせることによってセンターバーの誤認識による誤読
は完全に防ぐことができる。
による誤読を防止できることになる。
タの検証において、左ハーフセグメントのセンターバー
に隣接するキャラクタと右ハーフセグメントに付随して
読込まれたセンターバーに隣接する他方キャラクタ、及
び右ハーフセグメントのセンターバーに隣接するキャラ
クタと左ハーフセグメントに付随して読込まれたセンタ
ーバーに隣接する他方キャラクタのいずれか一方が同一
として成立した場合に左右のセグメントデータの組合わ
せが有効であると判断するものについて述べたが必ずし
もこれに限定するものではなく、左ハーフセグメントの
センターバーに隣接するキャラクタと右ハーフセグメン
トに付随して読込まれたセンターバーに隣接する他方キ
ャラクタ、及び右ハーフセグメントのセンターバーに隣
接するキャラクタと左ハーフセグメントに付随して読込
まれたセンターバーに隣接する他方キャラクタの両方が
同一として成立した場合に左右のセグメントデータの組
合わせが有効であると判断する構成であってもよい。
ードラベルのデコードデータの組立て処理に有効とな
る。
図18に示す流れ図に基づいて行われる。
ータが復調されると、マイクロプロセッサ100は、先
ずステップST51でデコードされたデータが左セグメン
トか或いは右セグメントかをチェックする。
52で左データ処理を行い、また右セグメントであればス
テップST53で右データ処理を行う。このときのデータ
処理では最初にセグメントが6キャラクタ構成であるか
4キャラクタ構成であるかを調べ、それぞれのキャラク
タ構成に基づいて左セグメントのときには前記実施例同
様に図15に示す左データ処理を行い、また右セグメン
トのときには前記実施例同様に図16に示す右データ処
理を行う。
ステップST53の右データ処理が終了すると、続いてス
テップST54にて左ハーフセグメントデータで設定値以
上のものが2個あるか否かをチェックする。これは左デ
ータバッファBFL61,BFL62に対応するデータカウ
ンタCのカウント値に設定値以上ものがあるか及び左デ
ータバッファBFL41,BFL42に対応するデータカウ
ンタCのカウント値に設定値以上のものがあるかをチェ
ックする。
のデコードデータの組合わせ処理を終了する。
てステップST55にて右ハーフセグメントデータで設定
値以上のものが2個あるか否かをチェックする。これは
右データバッファBFR61,BFR62に対応するデータ
カウンタCのカウント値に設定値以上ものがあるか及び
右データバッファBFR41,BFR42に対応するデータ
カウンタCのカウント値に設定値以上のものがあるかを
チェックする。
のデコードデータの組合わせ処理を終了する。
てステップST56にて左右データのキャラクタ構成が同
一か否かをチェックする。すなわち、左右データ共に6
キャラクタデータし4キャラクタデータの数が同一か否
かをチェックする。
ていればこのデコードデータの組合わせ処理を終了す
る。
であれば続いてステップST57にて1段目と2段目の左
右のセグメントデータを組立てたときのチェックディジ
ットが有効であるか否かをチェックする。
このデコードデータの組合わせ処理を終了する。チェッ
クディジットの有効性はモジュロ10で行う。
続いてステップST58にて1段目及び2段目共に左ハー
フセグメントのセンターバーに隣接するキャラクタと右
ハーフセグメントに付随して読込まれたセンターバーに
隣接する他方キャラクタ、及び右ハーフセグメントのセ
ンターバーに隣接するキャラクタと左ハーフセグメント
に付随して読込まれたセンターバーに隣接する他方キャ
ラクタの両方が同一か否かをチェックする。
のデコードデータの組合わせ処理を終了する。
一であればステップST59にて1段目及び2段目の左右
のセグメントデータの組立てを行い、ステップST60に
て組立てたデコードデータを上位装置へ転送する。
の組立てを行うことで、左ハーフセグメントのセンター
バーに隣接するキャラクタと右ハーフセグメントに付随
して読込まれたセンターバーに隣接する他方キャラクタ
が同一でなかったり、右ハーフセグメントのセンターバ
ーに隣接するキャラクタと左ハーフセグメントに付随し
て読込まれたセンターバーに隣接する他方キャラクタが
同一でない場合には2段バーコードの左右データの組立
てを禁止する。すなわち、6キャラクタの場合は図13
においてch6 =ch6 ′かつch7 =ch7 ′の条件
を満たさない場合には左右データの組立てを禁止する。
なお、4キャラクタの場合も同様である。
コードに対しても誤読を確実に防止できる。
バーに隣接するキャラクタと右ハーフセグメントに付随
して読込まれたセンターバーに隣接する他方キャラク
タ、及び右ハーフセグメントのセンターバーに隣接する
キャラクタと左ハーフセグメントに付随して読込まれた
センターバーに隣接する他方キャラクタの両方が同一と
して成立した場合に左右のセグメントデータの組合わせ
を行う処理を比較的誤読の発生しやすい2段バーコード
の読取りに適用することにより、ビットずれによる誤読
や走査ビームが1段目の6キャラクタのハーフセグメン
トを途中で横切ることによって4キャラクタデータがデ
コードされて発生する誤読等を確実に防止できる。
る誤読や2段バーコードの組合わせの誤りによる誤読を
確実に防止できるバーコード読取装置を提供できる。
ブロック図。
図。
認識を説明するための図。
各種走査線例を示す図。
す回路図。
す回路図。
力を説明するための図。
力を説明するための図。
力を説明するための図。
グメントの組み立て処理を示す流れ図。
示す図。
クタデータとそれに附随して読込まれた他方キャラクタ
データを格納するバッファの構成を示す図。
セグメントのキャラクタデータとそれに附随して読込ま
れた他方キャラクタデータの構成を示す図。
組立て処理を示す流れ図。
れ図。
れ図。
ール構成を示す図。
メントデータの組立て処理を示す流れ図。
係を説明するための図。
図。
Claims (3)
- 【請求項1】 ガードバーとセンタバーとの間に複数桁
のキャラクタコードを介在してハーフセグメントを構成
し、そのハーフセグメントを前記センターバーを間にし
て左右に並べたバーコードラベルに光ビームを走査し、
その反射光を受光し光電変換してバーコードデータを
得、そのバーコードデータからハーフセグメント毎にバ
ーコードを読取り、それを組合わせてバーコードラベル
を読取るバーコード読取装置において、 バーコードデータから一方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第1の読取手段と、バーコードデータ
から他方のハーフセグメントのガードバー、センタバー
及び所定数のキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取る
第2の読取手段と、前記第1の読取手段が一方のハーフ
セグメントのキャラクタコードと他方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取っ
たときの他方のハーフセグメントのセンターバーに隣接
するキャラクタコードと前記第2の読取手段が他方のハ
ーフセグメントのキャラクタコードと一方のハーフセグ
メントのセンターバーに隣接するキャラクタコードを読
取ったときの他方のハーフセグメントのセンターバーに
隣接するキャラクタコードを比較する第1の比較手段
と、前記第2の読取手段が他方のハーフセグメントのキ
ャラクタコードと一方のハーフセグメントのセンターバ
ーに隣接するキャラクタコードを読取ったときの一方の
ハーフセグメントのセンターバーに隣接するキャラクタ
コードと前記第1の読取手段が一方のハーフセグメント
のキャラクタコードと他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードを読取ったときの一
方のハーフセグメントのセンターバーに隣接するキャラ
クタコードを比較する第2の比較手段とを設け、前記各
比較手段の両方がキャラクタコードの一致を検出したと
き、読取った両方のハーフセグメントの組合わせを許可
し、前記各比較手段の少なくとも一方がキャラクタコー
ドの不一致を検出したとき、読取った両方のハーフセグ
メントの組合わせを禁止することを特徴とするバーコー
ド読取装置。 - 【請求項2】 ガードバーとセンタバーとの間に複数桁
のキャラクタコードを介在してハーフセグメントを構成
し、そのハーフセグメントを前記センターバーを間にし
て左右に並べたバーコードラベルに光ビームを走査し、
その反射光を受光し光電変換してバーコードデータを
得、そのバーコードデータからハーフセグメント毎にバ
ーコードを読取り、それを組合わせてバーコードラベル
を読取るバーコード読取装置において、 バーコードデータから一方のハーフセグメントのガード
バー、センタバー及び所定数のキャラクタコードと他方
のハーフセグメントのセンターバーに隣接するキャラク
タコードを読取る第1の読取手段と、バーコードデータ
から他方のハーフセグメントのガードバー、センタバー
及び所定数のキャラクタコードと一方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取る
第2の読取手段と、前記第1の読取手段が一方のハーフ
セグメントのキャラクタコードと他方のハーフセグメン
トのセンターバーに隣接するキャラクタコードを読取っ
たときの他方のハーフセグメントのセンターバーに隣接
するキャラクタコードと前記第2の読取手段が他方のハ
ーフセグメントのキャラクタコードと一方のハーフセグ
メントのセンターバーに隣接するキャラクタコードを読
取ったときの他方のハーフセグメントのセンターバーに
隣接するキャラクタコードを比較する第1の比較手段
と、前記第2の読取手段が他方のハーフセグメントのキ
ャラクタコードと一方のハーフセグメントのセンターバ
ーに隣接するキャラクタコードを読取ったときの一方の
ハーフセグメントのセンターバーに隣接するキャラクタ
コードと前記第1の読取手段が一方のハーフセグメント
のキャラクタコードと他方のハーフセグメントのセンタ
ーバーに隣接するキャラクタコードを読取ったときの一
方のハーフセグメントのセンターバーに隣接するキャラ
クタコードを比較する第2の比較手段とを設け、前記各
比較手段の少なくとも一方がキャラクタコードの一致を
検出したとき、読取った両方のハーフセグメントの組合
わせを許可し、前記各比較手段のいずれもキャラクタコ
ードの不一致を検出したとき、読取った両方のハーフセ
グメントの組合わせを禁止することを特徴とするバーコ
ード読取装置。 - 【請求項3】 第1の読取手段及び第2の読取手段は、
ハーフセグメントのキャラクタコード及びセンターバー
に隣接するキャラクタコードを読取るとき同時にその各
キャラクタコードのパリティデータも読取ることを特徴
とする請求項1又は2記載のバーコード読取装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3576356B2 (ja) * | 1997-08-08 | 2004-10-13 | 富士通株式会社 | バーコード読取装置,バーコード読取方法,及びコンピュータ可読媒体 |
JP4170111B2 (ja) | 2003-02-21 | 2008-10-22 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
-
1994
- 1994-03-07 JP JP6035991A patent/JP2835275B2/ja not_active Expired - Fee Related
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 |