JPH06274674A - バーコード読取方法およびバーコード読取装置 - Google Patents

バーコード読取方法およびバーコード読取装置

Info

Publication number
JPH06274674A
JPH06274674A JP5060733A JP6073393A JPH06274674A JP H06274674 A JPH06274674 A JP H06274674A JP 5060733 A JP5060733 A JP 5060733A JP 6073393 A JP6073393 A JP 6073393A JP H06274674 A JPH06274674 A JP H06274674A
Authority
JP
Japan
Prior art keywords
bar code
character
barcode
reading
length
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.)
Pending
Application number
JP5060733A
Other languages
English (en)
Inventor
Mitsuo Watanabe
光雄 渡辺
Shinichi Sato
伸一 佐藤
Hiroaki Kawai
弘晃 川合
Ichiro Shinoda
一郎 篠田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5060733A priority Critical patent/JPH06274674A/ja
Priority to US08/113,596 priority patent/US5393968A/en
Publication of JPH06274674A publication Critical patent/JPH06274674A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Abstract

(57)【要約】 【目的】 本発明は、流通業等において用いられるPO
Sシステムなどに適用されるバーコード読取方法および
装置に関し、復調データの信頼度を定量的に評価し、誤
差が大きいと判断された場合のみ複数回の一致チェック
を行なうようにし、実運用上の読取率の向上および誤読
率の低減をはかることを目的とする。 【構成】 バーコード1の読取歪み量を測定し、測定さ
れた読取歪み量が所定許容範囲内であれば、バーコード
1から抽出・復調されたデータを有効としてバーコード
1の読取を完了する一方、測定された読取歪み量が該所
定許容範囲外であれば、バーコード1から同一のデータ
が少なくとも2回連続して抽出・復調された場合に、バ
ーコード1から抽出・復調されたデータを有効としてバ
ーコード1の読取を完了するように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図9〜図13) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例 ・第1実施例の説明(図2,図3) ・第2実施例の説明(図4〜図6) ・第3実施例の説明(図7,図8) 発明の効果
【0002】
【産業上の利用分野】本発明は、流通業等において用い
られるPOSシステムなどに適用されるバーコード読取
方法およびバーコード読取装置に関する。
【0003】
【従来の技術】図9は一般的なバーコード読取装置(バ
ーコードリーダー)の構成を示すブロック図であり、こ
の図9において、1は物品等の表面に印刷されたバーコ
ードで、このバーコード1は、通常、複数の黒色のバー
(以下、黒バーという)および白色のバー(以下、白バ
ーという)を交互に配置してなるもので、各黒バーおよ
び各白バーの幅に基づいて所定のデータを表すものであ
る。
【0004】2はバーコード1に対してレーザビームL
2を照射するとともにバーコード1から反射されてきた
レーザビームL2の反射光R1を受光する光学系であ
り、この光学系2は、レーザ発光部3,走査機構4およ
び光電変換部5から構成されている。ここで、レーザ発
光部3は、レーザビームL1を発光する半導体レーザを
有して構成されるものである。
【0005】また、走査機構4は、例えばモータにより
回転駆動されるポリゴンミラーから構成されるもので、
レーザ発光部3からのレーザビームL1を反射すること
により、このレーザビームL1を、レーザビームL2と
してバーコード1をなす複数の黒バーおよび白バーへ向
けて照射し、バーコード1の黒バー,白バーと交差する
方向に一定の速度で移動・走査させる機能を有してい
る。
【0006】この走査機構4は、バーコード1からのレ
ーザビームL2の反射光R1を反射することにより、レ
ーザビームL2の走査に伴って移動する反射光R1を反
射光R2として光電変換部5へ入射させる機能も有して
いる。さらに、光電変換部5は、例えばフォトダイオー
ド等の光電変換素子を有して構成されるもので、走査機
構4を介して受光した反射光R2(光入力信号)をその
光量に応じた電気信号(アナログ値)に変換して出力す
るものである。
【0007】一方、図9において、6は光電変換部5か
らの電気信号をディジタル化するA/D変換部で、この
A/D変換部6は、光電変換部5からの電気信号をディ
ジタル化することにより、バーコード1をなす各黒バー
の部分に対応する黒レベル信号と、バーコード1をなす
各白バーの部分に対応する白レベル信号との二値化信号
に変換するものである。この二値化信号としては、通
常、各白バーの部分からの反射光R2の光量の方が各黒
バー部分からの反射光R2の光量よりも大きくなるた
め、白レベル信号をHighレベルとし黒レベル信号を
Lowレベルとした信号が得られる。
【0008】また、7はクロックジェネレータ8からの
クロック信号をカウントするバー幅カウンタで、このバ
ー幅カウンタ7は、A/D変換部6からの二値化信号の
黒レベル信号部分および白レベル信号部分の時間幅、即
ち実際のバーコード1の各黒バーおよび各白バーの幅に
対応する値をクロック信号のカウント値として出力する
ものである。
【0009】さらに、9はバー幅カウンタ7からのバー
幅カウント値を格納するメモリ、10はCPUで、この
CPU10は、メモリ9に格納されたバー幅カウント値
(各黒バーおよび各白バーの幅に対応する値)に基づい
て、バーコード1のもつ所定データを抽出・復調するた
めのものである。上述の構成により、レーザ発光部3か
ら発光されたレーザビームL1は、走査機構4によっ
て、レーザビームL2としてバーコード1の黒バーおよ
び白バーへ向けて照射され、バーコード1の黒バー,白
バーと交差する方向に一定の速度で移動・走査される。
【0010】走査機構4から射出されたレーザビームL
2は、バーコード1の部分で散乱・反射され反射光R1
として走査機構4に再入射する。反射光R1は、レーザ
ビームL2の走査移動に伴って反射角が変化して移動す
るが、走査機構4を構成するポリゴンミラーにて反射さ
れることにより、反射光R2として所定位置に配置され
た光電変換部5の光電変換素子へ入射する。
【0011】この光電変換部5により反射光R2はその
光量に応じた電気信号に変換され、その電気信号は、A
/D変換部6によりディジタル化され、バーコード1の
各黒バーの部分に対応する黒レベル信号と、バーコード
1の各白バーの部分に対応する白レベル信号とを有する
二値化信号に変換される。この後、バー幅カウンタ7に
てクロックジェネレータ8からのクロック信号をカウン
トすることにより、A/D変換部6からの二値化信号の
黒レベル信号部分および白レベル信号部分の時間幅(実
際のバーコード1の各黒バーおよび各白バーの幅に対応
する値)がクロック信号のカウント値として計測され、
そのカウント値を、メモリ9に一旦格納する。そして、
CPU10において、メモリ9に格納されたバー幅カウ
ント値に対して所定の復調処理を施すことにより、バー
コード1のもつ所定データが抽出・復調される。
【0012】ところで、図9においても前述した通り、
バーコード1は、図10に示すごとく、複数の黒バー1
Bと白バー1Wとを交互に配置してなるもので、各黒バ
ー1Bおよび各白バー1Wの幅に基づいて所定のデータ
を表している。これらの黒バー1Bおよび白バー1W
は、それぞれ、ある所定基準長を1モジュールとして設
定され、この1モジュールの自然数倍(例えば1〜4
倍;この倍数をモジュール数という)の幅を有してい
る。
【0013】そして、具体的に、図10に示すバーコー
ド1では、図中の左端側において、モジュール数1の2
本の黒バー1Bと、これらの黒バー1B,1B間のモジ
ュール数1の1本の白バー1WとからなるガイドバーG
Bが配置されるとともに、図中の右端側において、モジ
ュール数1の3本の黒バー1Bと、この黒バー1Bと交
互に配置されるモジュール数1の3本の白バー1Wとか
らなるスペシャルセンターバーSCBが配置されてい
る。
【0014】これらのガイドバーGBおよびスペシャル
センターバーSCBは、バーコード1の両端を規定する
ためのもので、これらのガイドバーGBとスペシャルセ
ンターバーSCBとの間に、例えば6個の数値データを
表すキャラクタ部分1CHR(Character)〜
6CHR(図10においてそれぞれ時間幅C1〜C6と
して示す部分)が配置されている。
【0015】各キャラクタ部分1CHR〜6CHRは、
2本の白バー1Wと2本の黒バー1Bとから構成され全
モジュール数を7とするもので、図中、左方の黒バー1
Bの左端から右方の黒バー1Bの左端までのモジュール
数(時間幅T01に対応)と、左方の黒バー1Bの右端か
ら右方の黒バー1Bの右端までのモジュール数(時間幅
T02に対応)との組合せにより、各キャラクタ部分1C
HR〜6CHR毎に所定の数値データが表現されてい
る。
【0016】このモジュール数の組合せと所定の数値デ
ータとの関係は、例えば図13に示すような既知のもの
で、予めテーブル(マトリックス)として記憶・保持さ
れている。なお、図13中のEはEVENつまり黒バー
1Bのモジュール数合計が偶数であることを示し、Oは
ODDつまり黒バー1Bのモジュール数合計が奇数であ
ることを示す。例えばUPCバーコード構成によれば、
図10におけるキャラクタ部分1CHRは‘EVEN0
(E0)’、キャラクタ部分2CHRは‘EVEN1(E
1)’、キャラクタ部分6CHRは‘EVEN2(E2)’な
る数値データを表している。
【0017】従って、CPU10では、メモリ9に格納
されたバー幅カウント値に基づいて、各キャラクタ部分
1CHR〜6CHR毎に、時間幅(δディスタンス長)
T01およびT02のモジュール数を決定し、その2つのモ
ジュール数の組合せに対応する数値データを、予め記憶
された所定のテーブルから読み出すことにより、バーコ
ード1のもつデータが抽出・復調される。
【0018】このようなバーコード1のデータ抽出・復
調処理に際して、従来、CPU10では、バー幅チェッ
クを行なって、読み取られたバーコード1についてのバ
ー幅カウント値(時間幅C1〜C6)が許容誤差範囲内
に入っているか否かを判定してからキャラクタ復調処理
を行なっている。また、走査機構4により、バーコード
1に対しては1秒間に1500本程度のレーザビームL
2が照射され、そのうちの1本でもバーコード1を横切
ると1回の復調処理が完了するが、従来より、バーコー
ド1の誤読を避けるために、一連の復調を完了しても直
ちにその復調データを有効として読取を完了せず、同一
バーコード1について、再度、復調処理を行ない、前回
と同一のデータが復調された場合のみ読取を完了してい
る。これを2回一致チェックと呼ぶ。
【0019】次に、上述したバー幅チェック,キャラク
タ復調処理,2回一致チェックを図11および図12に
より詳細に説明する。つまり、CPU10では、レーザ
ビームL2によりバーコード1を1回走査して、このバ
ーコード1をなす各黒バー1Bおよび各白バー1Wにつ
いてのバー幅カウント値が得られると、図11に示すよ
うに、まず、バー幅チェックを行なう(ステップS
1)。
【0020】バー幅チェックでは、メモリ9に格納され
たバー幅カウント値に基づいて、図10に示す各キャラ
クタ部分CHR1〜CHR6の時間幅(キャラクタ長に
対応するクロックカウント値)C1〜C6を求め、各時
間幅C1〜C6が下式(1)〜(7)の条件を満たすか
否かを判定し、(1)〜(7)式の全ての条件が満たさ
れた場合(OK)のみキャラクタ復調処理(ステップS
2)へ移行する。(1)〜(7)式のいずれか一つでも
条件が満たされない場合(NG)には、今回得られたバ
ー幅カウント値によるキャラクタ復調処理は行なわず、
次のデータ処理(ステップS7)へ移行する。
【0021】 T1×4.025≧C1≧ T1×2.975 (1) C1×1.15 ≧C2≧ C1×0.85 (2) C2×1.15 ≧C3≧ C2×0.85 (3) C3×1.15 ≧C4≧ C3×0.85 (4) C4×1.15 ≧C5≧ C4×0.85 (5) C5×1.15 ≧C6≧ C5×0.85 (6) T26×4.025≧C6≧T26×2.975 (7) ここで、時間幅T1,T26は図10に示されるもの
で、いずれの時間幅T1,T26も、ステップS1によ
るバー幅チェックを行なう前に、他のチェック手段によ
りバー幅チェックを行なわれている。そして、(1),
(7)式により時間幅C1,C6をそれぞれ時間幅T
1,T26により所定範囲内にあるかどうかチェックす
る一方、(2)〜(6)式により、隣合うキャラクタ部
分CHR1〜CHR6どうしの時間幅(キャラクタ長)
C1〜C6の比C2/C1,C3/C2,C4/C3,
C5/C4,C6/C5が0.85〜1.15の範囲
(±15%以内の誤差範囲)内にあるかどうかをチェッ
クし、一つでも条件を満たさない場合、バーコード1の
読取誤差が大きいものと判断して、キャラクタ復調処理
を行なわず、ステップS7による次の走査データ(バー
幅カウント値)の処理を行なっている。
【0022】ステップS2におけるキャラクタ復調処理
では、各キャラクタ部分1CHR〜6CHR毎に、メモ
リ9に格納されたバー幅カウント値に基づいて、数値デ
ータを決定する2つの時間幅(δディスタンス長)T0
1,T02(図10参照)を求めてから、図12に示す手
順で、2つの時間幅T01,T02が2〜5のどのモジュー
ル数に対応するかを判定する。そして、その判定の結果
得られた2つのモジュール数を、予め記憶されたテーブ
ルに当てはめ、その2つのモジュール数の組合せに対応
する数値データを読み出し、各キャラクタ部分1CHR
〜6CHRの復調、ひいてはバーコード1のもつデータ
の抽出・復調が行なわれる。
【0023】ここで、キャラクタ部分1CHRについて
の2つの時間幅T01,T02のモジュール数判定処理を、
図12により説明すると、まず、時間幅T01(もしくは
T02)が、キャラクタ部分1CHRの時間幅C1の0.
643倍以上であるか否かを判定する(ステップS1
1)。このC1×0.643は、4.5モジュール分の
時間幅(カウント値)で、このモジュール数判定処理で
は、時間幅T01(もしくはT02)がモジュール数4.5
以上の時間幅を有する場合にはモジュール数を5(ステ
ップS12)、同様に、3.5以上4.5未満の場合に
はモジュール数を4(ステップS13,S14)、2.
5以上3.5未満の場合にはモジュール数を3(ステッ
プS15,S16)、1.5以上2.5未満の場合には
モジュール数を2と判定している(ステップS17)。
【0024】なお、図12はキャラクタ部分1CHRに
ついてのモジュール数判定処理手順を示しているが、他
のキャラクタ部分2CHR〜6CHRについてのモジュ
ール数判定処理に際しては、各ステップS11,S1
3,S15における時間幅C1をそれぞれC2〜C6に
変更すればよい。ステップS2にてバーコード1のデー
タを抽出・復調した後、同一バーコード1について前回
の復調データが有るか否かを判定し(ステップS3)、
無ければステップS2にて抽出された復調データをメモ
リに格納する(ステップS4)。また、ステップS3に
て前回の復調データが有ると判定された場合には、前回
の復調データを読み出し、この前回の復調データと今回
抽出された復調データとが一致するか否かを判定する
(ステップS5)。一致しなかった場合には、その復調
データを無効として次のデータ処理(ステップS7)へ
移行する一方、前回と今回のデータが一致した場合に
は、その復調データを有効として、このバーコード1に
ついてのデータ読取を完了している(ステップS6)。
【0025】なお、図10では、ガイドバーGBとスペ
シャルセンターバーSCBとの間に6つのキャラクタ部
分1CHR〜6CHRを配置したバーコード1の読取に
ついて説明したが、バーコードのタイプとしては、図1
0に示したバーコード1の右側のスペシャルセンターバ
ーSCBを、モジュール数1の2本の黒バー1Bとモジ
ュール数1の2本の白バー1Wとからなるセンターバー
とし、このセンターバーを中央として左右にキャラクタ
部分を配置したタイプのものなど種々あるが、いずれの
タイプのバーコードであっても、基本的には上述した通
りの手順によりバーコードの読取が行なわれる。
【0026】
【発明が解決しようとする課題】ところで、近年、流通
業等において用いられるPOSシステムに代表されるよ
うに、バーコードの利用が盛んになってきているが、バ
ーコードの印字品質の低いものが増えており、このよう
な印字品質の低いバーコードについては誤読する可能性
が高い。従って、印字品質の低いバーコードについて
も、誤読することなく高い精度でバーコードを読み取れ
るようにすることが望まれている。また、バーコードの
誤読は、バーコードの湾曲,皺や、バーコード読取装置
の読取窓面の硝子の傷等によっても引き起こされる。
【0027】そこで、誤読を避けるべく、図11にて上
述した通り、従来、最低2回の復調を行ない常に2回一
致チェックを実施しているが、バーコードの高さや姿
勢,レーザビームL2の走査速度によっては、バーコー
ドを1回しか走査できない場合があり、このような場
合、従来の2回一致チェックでは、1回目の復調データ
が信頼できるものであっても、バーコードの読取ができ
ないもの(NG)と判断してしまう。
【0028】本発明は、このような課題に鑑み創案され
たもので、復調データの信頼度を定量的に評価し、誤差
が大きいと判断された場合のみ複数回の一致チェックを
行なうようにして、実運用上の読取率の向上および誤読
率の低減をはかった、バーコード読取方法およびバーコ
ード読取装置を提供することを目的とする。
【0029】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1はバーコード、2Aは
バーコード1に対しビーム光を照射するとともにバーコ
ード1から反射されてきたビーム光の反射光を受光する
光学系、3Aはビーム光を発光する光源、4Aは光源3
Aからのビーム光を走査しながらバーコード1に対して
照射する走査手段、5Aはバーコード1からのビーム光
の反射光を受光しその光量に応じた電気信号に変換する
光電変換手段であり、光学系2Aは、上述した光源3
A,走査手段4Aおよび光電変換手段5Aから構成され
ている。
【0030】また、11は光電変換手段5Aからの電気
信号に基づいてバーコード1のもつデータを抽出・復調
する復調部12を有してなる復調手段で、この復調手段
11には、バーコード1の読取歪み量を算出・測定する
歪み量測定手段13と、歪み量測定手段13により測定
された読取歪み量が所定許容範囲内であるか否かを判定
する判定手段14とがそなえられるとともに、判定手段
14における所定許容範囲を設定変更する変更手段15
が付設されている。
【0031】そして、本発明の復調手段11は、判定手
段14により読取歪み量が所定許容範囲内であると判定
された場合には、バーコード1から抽出・復調されたデ
ータを有効とし、バーコード1の読取を完了する一方、
判定手段14により読取歪み量が所定許容範囲外である
と判定された場合には、バーコード1から同一のデータ
を少なくとも2回連続して抽出・復調できた時のみ、バ
ーコード1から抽出・復調されたデータを有効とし、バ
ーコード1の読取を完了するものである。
【0032】ここで、歪み量測定手段13としては、バ
ーコード1をなす複数のキャラクタ(図10のCHR1
〜CHR6参照)のキャラクタ長(図10のC1〜C6
参照)を測定する測長手段と、この測長手段により測定
された各キャラクタのキャラクタ長に基づいて隣合うキ
ャラクタどうしのキャラクタ長の比をバーコード1の読
取歪み量として算出するキャラクタ長比演算手段とから
構成したものを用いてもよい。
【0033】また、歪み量測定手段13としては、バー
コード1をなす複数のキャラクタのデータを特定すべく
該キャラクタ毎に得られるδディスタンス長(図10の
T01,T02参照)を、所定基準長を1モジュールとする
モジュール数に変換して、バーコード1のもつデータを
抽出・復調する際に、δディスタンス長のモジュール数
への変換精度を、バーコード1の読取歪み量として算出
する変換精度演算手段を有して構成したものを用いても
よい。
【0034】さらに、歪み量測定手段13としては、上
述した測長手段およびキャラクタ長比演算手段と、同じ
く上述した変換精度演算手段とを組み合わせたものを用
いてもよい。なお、歪み量測定手段13を構成する変換
精度演算手段としては、δディスタンス長をモジュール
数により除算する除算手段と、この除算手段による除算
値の所定基準長に対する誤差を変換精度として算出する
誤差演算手段とから構成したものを用いてもよいし、ま
た、上述した誤差演算手段にて用いられる所定基準長
を、当該キャラクタのキャラクタ長を当該キャラクタの
モジュール数で除算した値として算出する基準長演算手
段をそなえてもよい。
【0035】
【作用】上述の構成により、本発明では、図1に示すよ
うに、光源3Aから発光されたビーム光は、走査手段4
Aによりバーコード1へ向けて照射され一定の速度で移
動・走査され、バーコード1の部分で散乱・反射され反
射光として光電変換手段5Aに入射する。反射光は、光
電変換手段5Aによりその光量に応じた電気信号に変換
され、その電気信号に基づいて、復調手段11の復調部
12によりバーコード1のもつ所定データが抽出・復調
される。
【0036】そして、本発明では、復調手段11におい
て、バーコード1のデータ抽出・復調処理時に、歪み量
測定手段13によりバーコード1の読取歪み量が算出・
測定され、判定手段14により、測定された読取歪み量
が所定許容範囲内にあるか否かが判定される。なお、そ
の所定許容範囲は、変更手段15により設定変更するこ
とができる。
【0037】判定手段14により、歪み量測定手段13
からの読取歪み量が所定許容範囲内であると判定された
場合には、復調部12は、バーコード1から抽出・復調
されたデータを有効とし、バーコード1の読取を完了す
る。一方、判定手段14により、歪み量測定手段13か
らの読取歪み量が所定許容範囲外であると判定された場
合には、復調部12は、バーコード1から同一のデータ
が少なくとも2回連続して抽出・復調した場合に、バー
コード1から抽出・復調されたデータを有効とし、バー
コード1の読取を完了している。
【0038】つまり、従来技術では、常に2回一致チェ
ックを行なっていたが、本発明では、読み取られたバー
コードデータが所定許容範囲外の読取歪み量を有してい
るか否かを判定し、所定許容範囲を超える歪みがあった
場合のみ誤読の可能性が高いとして、少なくとも2回連
続して一致するか否かのチェック(従来技術でいうとこ
ろの2回一致チェック)を行ない、歪みが所定許容範囲
内にある場合は1回のみでバーコード1の読取を完了す
る。
【0039】このとき、歪み量測定手段13によりバー
コード1の読取歪み量を測定する際には、測長手段にて
各キャラクタのキャラクタ長を測定し、そのキャラクタ
長に基づいて、キャラクタ長比演算手段により、隣接す
るキャラクタどうしのキャラクタ長の比を算出し読取歪
み量として用いてもよいし、また、バーコード1をなす
複数のキャラクタのデータを特定すべく該キャラクタ毎
に得られるδディスタンス長を、所定基準長を1モジュ
ールとするモジュール数に変換して、バーコード1のも
つデータを抽出・復調する際に、変換精度演算手段によ
りδディスタンス長のモジュール数への変換精度を算出
し読取歪み量として用いてもよい。さらに、上述した2
つのデータ、つまり、隣合うキャラクタどうしのキャラ
クタ長の比と、δディスタンス長のモジュール数への変
換精度とを両方とも算出し読取歪み量として用いてもよ
い。
【0040】なお、変換精度演算手段により変換精度を
算出する際には、除算手段によりδディスタンス長をモ
ジュール数により除算し、この除算手段による除算値の
所定基準長に対する誤差を、誤差演算手段により算出し
て変換精度として出力する。また、上述した誤差演算手
段にて用いられる所定基準長は、基準長演算手段によ
り、当該キャラクタのキャラクタ長を当該キャラクタの
モジュール数で除算した値として算出する。
【0041】
【実施例】
(a)第1実施例の説明 以下、図面を参照して本発明の実施例を説明する。図2
は本発明の第1実施例を示すブロック図で、この図2に
示すように、本実施例の方法および装置も、物品等の表
面に印刷されたバーコード1のもつデータを抽出・復調
して読み取るためのものである。
【0042】また、バーコード1は、図10にて前述し
た通り、複数の黒バー1Bおよび白バー1Wを交互に配
置してなるもので、各黒バー1Bおよび各白バー1Wの
幅に基づいて所定のデータを表している。そして、バー
コード1の両端を規定するガイドバーGBとスペシャル
センターバーSCBとの間に、6個の数値データを表す
キャラクタ部分1CHR〜6CHR(キャラクタ長つま
り時間幅C1〜C6として示す部分)が配置されてい
る。
【0043】各キャラクタ部分1CHR〜6CHRは、
例えば、2本の白バー1Wと2本の黒バー1Bとから構
成され全モジュール数を7とするもので、図10にて説
明した通り、左方の黒バー1Bの左端から右方の黒バー
1Bの左端までの時間幅(δディスタンス長)T01から
求めたモジュール数と、左方の黒バー1Bの右端から右
方の黒バー1Bの右端までの時間幅(δディスタンス
長)T02から求めたモジュール数との組合せにより、各
キャラクタ部分1CHR〜6CHR毎に所定の数値デー
タが表現されている。このモジュール数の組合せと所定
の数値データとの関係は、既知のもので、予めテーブル
(マトリックス)として記憶・保持されている。
【0044】また、2は従来と同様にレーザ発光部(光
源)3,走査機構(走査手段)4および光電変換部(光
電変換手段)5から構成される光学系で、レーザ発光部
3は、レーザビームL1を発光する半導体レーザを有し
て構成され、走査機構4は、例えばモータにより回転駆
動されるポリゴンミラーから構成され、光電変換部5
は、例えばフォトダイオード等の光電変換素子を有して
構成されている。なお、これらのレーザ発光部3,走査
機構4,光電変換部5の詳細については、従来のものと
全く同様であるので、その説明は省略する。
【0045】さらに、光電変換部5の後段には、従来と
同様構成のA/D変換部6,バー幅カウンタ7,クロッ
クジェネレータ8,メモリ9およびCPU10からなる
復調手段11がそなえられている。従来と同様に、A/
D変換部6は、光電変換部5からの電気信号をディジタ
ル化することにより、バーコード1をなす各黒バー1B
の部分に対応する黒レベル信号(Lowレベル信号)
と、バーコード1をなす各白バー1Wの部分に対応する
白レベル信号(Highレベル信号)との二値化信号に
変換するものである。また、バー幅カウンタ7は、クロ
ックジェネレータ8からのクロック信号をカウントし、
A/D変換部6からの二値化信号の黒レベル信号部分お
よび白レベル信号部分の時間幅、即ち実際のバーコード
1の各黒バー1Bおよび各白バー1Wの幅に対応する値
をクロック信号のカウント値として出力するものであ
る。さらに、メモリ9は、バー幅カウンタ7からのバー
幅カウント値を格納するものである。
【0046】そして、本実施例のCPU10も、メモリ
9に格納されたバー幅カウント値(各黒バー1Bおよび
各白バー1Wの幅に対応する値)に基づいて、バーコー
ド1のもつ所定データを抽出・復調するためのものであ
るが、本実施例のCPU10は、図2に示すように、キ
ャラクタ復調部12A,歪み量測定手段13Aおよび判
定手段14Aをそなえて構成されている。
【0047】キャラクタ復調部12Aは、メモリ9に格
納されたバー幅カウント値に基づいて、各キャラクタ部
分1CHR〜6CHR毎に、時間幅(δディスタンス
長)T01およびT02のモジュール数を決定し、その2つ
のモジュール数の組合せに対応する数値データを、予め
記憶された所定のテーブルから読み出すことにより、バ
ーコード1のもつデータを抽出・復調するものである。
【0048】また、歪み量測定手段13Aは、バーコー
ド1の読取歪み量を算出・測定するためのもので、本実
施例では、キャラクタ長演算手段(測長手段)16とキ
ャラクタ長比演算手段17とから構成されている。キャ
ラクタ長演算手段16は、バーコード1をなす各キャラ
クタ部分CHR1〜CHR6のキャラクタ長(時間幅)
C1〜C6をメモリ9からのバー幅カウント値に基づい
て算出・測定するものであり、キャラクタ長比演算手段
17は、キャラクタ長演算手段16により得られた各キ
ャラクタ長C1〜C6に基づいて、隣合うキャラクタ部
分CHR1〜CHR6どうしのキャラクタ長比C2/C
1,C3/C2,C4/C3,C5/C4,C6/C5
をバーコード1の読取歪み量としてそれぞれ算出するも
のである。
【0049】さらに、判定手段14Aは、歪み量測定手
段13Aから得られた読取歪み量(本実施例ではキャラ
クタ長比)が所定許容範囲内であるか否かを判定するも
のである。ここで、判定手段14Aは、(1)〜(7)
式にて前述した通り、従来から行なわれる±15%の誤
差範囲内にあるか否かを判定する第1のバー幅チェック
(図3のステップS21にて後述)と、(8)〜(1
4)式にて後述する通り、±5%の誤差範囲(所定許容
範囲)内にあるか否かを判定する第2のバー幅チェック
(図3のステップS23にて後述)とを行なうものであ
る。
【0050】そして、本実施例のキャラクタ復調部12
Aは、判定手段14Aの第2のバー幅チェックにより
(8)〜(14)式の条件がすべて満たされ各キャラク
タ長比がすべて誤差範囲内であると判定された場合、バ
ーコード1から抽出・復調されたデータを有効とし、バ
ーコード1の読取を完了する一方、判定手段14Aの第
2のバー幅チェックにより(8)〜(14)式の条件の
いずれか一つだけでも満たされず各キャラクタ長比のう
ちの一つでも誤差範囲外であると判定された場合、バー
コード1から同一のデータを図3にて後述するごとく2
回連続して抽出・復調できた時のみ、バーコード1から
抽出・復調されたデータを有効とし、バーコード1の読
取を完了するものである。
【0051】なお、CPU10には、判定手段14Aに
おける所定許容範囲(誤差範囲)を設定変更しうる変更
手段15が付設されている。上述の構成により、従来の
ものと同様に、レーザ発光部3から発光されたレーザビ
ームL1は、走査機構4によって、レーザビームL2と
してバーコード1の黒バー1Bおよび白バー1Wへ向け
て照射され、バーコード1の黒バー1B,白バー1Wと
交差する方向に一定の速度で移動・走査される。
【0052】走査機構4から射出されたレーザビームL
2は、バーコード1の部分で散乱・反射され反射光R1
として走査機構4に再入射する。反射光R1は、レーザ
ビームL2の走査移動に伴って反射角が変化して移動す
るが、走査機構4を構成するポリゴンミラーにて反射さ
れることにより、反射光R2として所定位置に配置され
た光電変換部5の光電変換素子へ入射する。
【0053】この光電変換部5により反射光R2はその
光量に応じた電気信号に変換され、その電気信号は、A
/D変換部6によりディジタル化され、バーコード1の
各黒バー1Bの部分に対応する黒レベル信号と、バーコ
ード1の各白バー1Wの部分に対応する白レベル信号と
を有する二値化信号に変換される。この後、バー幅カウ
ンタ7にてクロックジェネレータ8からのクロック信号
をカウントすることにより、A/D変換部6からの二値
化信号の黒レベル信号部分および白レベル信号部分の時
間幅(実際のバーコード1の各黒バー1Bおよび各白バ
ー1Wの幅に対応する値)がクロック信号のカウント値
として計測され、そのカウント値が、メモリ9に一旦格
納される。
【0054】そして、CPU10のキャラクタ復調部1
2Aにおいて、メモリ9に格納されたバー幅カウント値
に基づいて、各キャラクタ部分1CHR〜6CHR毎
に、時間幅(δディスタンス長)T01およびT02のモジ
ュール数を決定し、その2つのモジュール数の組合せに
対応する数値データを、予め記憶された所定のテーブル
から読み出すことにより、バーコード1のもつデータが
抽出・復調される。次に、第1実施例の動作を図3によ
り詳細に説明する。つまり、CPU10では、レーザビ
ームL2によりバーコード1を1回走査して、このバー
コード1をなす各黒バー1Bおよび各白バー1Wについ
てのバー幅カウント値が得られると、まず、歪み量測定
手段13Aおよび判定手段14Aにより、図11のステ
ップS1にて説明した従来のバー幅チェックと全く同様
の第1のバー幅チェックを行なう(ステップS21)。
【0055】この第1のバー幅チェックでは、歪み量測
定手段13Aのキャラクタ長演算手段16により、メモ
リ9に格納されたバー幅カウント値に基づいて、各キャ
ラクタ部分CHR1〜CHR6のキャラクタ長C1〜C
6を求め、さらに、そのキャラクタ長C1〜C6に基づ
いて、キャラクタ長比演算手段17により、隣接するキ
ャラクタ部分CHR1〜CHR6どうしのキャラクタ長
比C2/C1,C3/C2,C4/C3,C5/C4,
C6/C5を算出する。
【0056】そして、各キャラクタ長比が前述した
(1)〜(7)式の条件(±15%以内の誤差範囲)を
満たすか否かを判定し、(1)〜(7)式の全ての条件
が満たされた場合(OK)のみキャラクタ復調処理(ス
テップS22)へ移行する。(1)〜(7)式のいずれ
か一つでも条件が満たされない場合(NG)には、バー
コード1の読取誤差が大きいものと判断して、今回得ら
れたバー幅カウント値によるキャラクタ復調処理は行な
わず、次のデータ処理(ステップS25)へ移行する。
【0057】ステップS22におけるキャラクタ復調処
理では、キャラクタ復調部12Aにおいて、各キャラク
タ部分1CHR〜6CHR毎に、メモリ9に格納された
バー幅カウント値に基づき、数値データを決定する2つ
の時間幅(δディスタンス長)T01,T02を求めてか
ら、図12にて前述した通りの手順で、2つの時間幅T
01,T02が2〜5のどのモジュール数に対応するかを判
定し、その判定の結果得られた2つのモジュール数を、
予め記憶されたテーブルに当てはめ、その2つのモジュ
ール数の組合せに対応する数値データを読み出し、各キ
ャラクタ部分1CHR〜6CHRの復調、ひいてはバー
コード1のもつデータの抽出・復調を行なう。
【0058】さらに、本実施例では、ステップS22に
よりキャラクタ復調処理を行なった後、歪み量測定手段
13Aおよび判定手段14Aにより、第2のバー幅チェ
ックを行なう(ステップS23)。この第2のバー幅チ
ェックでは、歪み量測定手段13Aのキャラクタ長演算
手段16およびキャラクタ長比演算手段17により前述
のごとく求められたキャラクタ長比C2/C1,C3/
C2,C4/C3,C5/C4,C6/C5が、下式
(8)〜(14)の条件(±5%以内の誤差範囲)を満
たすか否かを判定手段14Aにより判定する。(8)〜
(14)式の全ての条件が満たされた場合(OK)に
は、バーコード1の読取精度が高く、従来のような2回
一致チェックを行なわなくとも復調データの誤読は発生
しないものと判断し、1回目にバーコード1から抽出・
復調されたデータを直ちに有効とし、バーコード1の読
取を完了する(ステップS24)。
【0059】 T1×3.675≧C1≧ T1×3.325 (8) C1×1.05 ≧C2≧ C1×0.95 (9) C2×1.05 ≧C3≧ C2×0.95 (10) C3×1.05 ≧C4≧ C3×0.95 (11) C4×1.05 ≧C5≧ C4×0.95 (12) C5×1.05 ≧C6≧ C5×0.95 (13) T26×3.675≧C6≧T26×3.325 (14) 一方、(8)〜(14)式のいずれか一つでも条件が満
たされないと判定手段14Aによって判定された場合
(NG)には、バーコード1の読取誤差は、復調データ
の誤読が全く生じていないと断定できる範囲ではないと
判断し、従来と同様の2回一致チェック(ステップS2
6〜S28)へ移行する。
【0060】つまり、図11のステップS3〜S5と同
様に、ステップS22にてキャラクタ復調処理を施した
バーコード1と同一のバーコード1について前回の復調
データが有るか否かを判定し(ステップS26)、無け
ればステップS22にて抽出された復調データをメモリ
に格納する(ステップS27)。また、ステップS26
にて前回の復調データが有ると判定された場合には、前
回の復調データを読み出し、この前回の復調データと今
回抽出された復調データとが一致するか否かを判定する
(ステップS28)。
【0061】一致しなかった場合には、その復調データ
を無効として次のデータ処理(ステップS25)へ移行
する一方、前回と今回のデータが一致した場合には、そ
の復調データを有効として、このバーコード1について
のデータ読取を完了している(ステップS24)。な
お、本実施例では、判定手段14Aにおける許容誤差範
囲を±15%,±5%の2種類設定しているが、この許
容誤差範囲は、ディプスイッチ,バーコード設定,イン
ターフェイスからのコマンド等の変更手段15によって
変更できるようになっており、ユーザの要望(誤読率の
低下を重視する場合等)により適宜変更される。
【0062】このように、本発明の第1実施例によれ
ば、バーコード1の印刷状態,湾曲,皺や、バーコード
読取装置(光学系2)の読取窓面の硝子の傷等によって
引き起こされるバーコード幅の誤差(読取歪み量)を、
キャラクタ長比として定量的に評価し、復調されたデー
タの信頼度を評価し、誤差が大きいと判断された場合の
み複数回の一致チェック(本実施例では2回一致チェッ
ク)が行なわれるため、実運用上の読取率が大幅に向上
するとともに、誤読率を大きく低減することができる。
【0063】また、この第1実施例によれば、万一、バ
ーコード1の高さや姿勢,レーザビームL2の走査速度
によってバーコードを1回しか走査できない場合があっ
ても1回目の復調データが信頼できるものであれば、2
回一致チェックを行なうことなく、バーコード1の読取
を行なえ、実運用上の読取率の向上に寄与することにな
る。
【0064】(b)第2実施例の説明 図4は本発明の第2実施例を示すブロック図で、この図
4に示すように、本実施例の装置も、図2に示した第1
実施例のものとほぼ同様に構成されているが、この第2
実施例では、CPU10における歪み量測定手段13B
の構成および判定手段14Bによる判定基準が異なって
いる。なお、図4中、既述の符号と同一の符号は同一部
分を示しているので、その説明は省略する。
【0065】つまり、第2実施例の歪み量測定手段13
Bは、バーコード1をなすキャラクタ部分1CHR〜6
CHRのデータを特定すべくキャラクタ部分1CHR〜
6CHR毎に得られるδディスタンス長T01,T02を、
所定基準長を1モジュールとするモジュール数に変換し
て、キャラクタ復調部12Aによりバーコード1のもつ
データを抽出・復調する際に、δディスタンス長T01,
T02のモジュール数への変換精度を、バーコード1の読
取歪み量として算出する変換精度演算手段18を有して
構成されている。
【0066】この変換精度演算手段18は、図6にて後
述するごとく、δディスタンス長T01,T02をモジュー
ル数により除算する除算手段19と、この除算手段19
による除算値の所定基準長(1モジュールの長さに対応
するカウント値)に対する誤差を変換精度(変換誤差)
として算出する誤差演算手段20とから構成されてい
る。本実施例の誤差演算手段20では、当該キャラクタ
部分のキャラクタ長C1(〜C6)を、予め決められて
いる当該キャラクタ部分のモジュール数7で除算して所
定基準長を算出する図示しない基準長演算手段(後述す
る図6のステップS60におけるC1÷7の演算を行な
うもの)がそなえられている。
【0067】また、判定手段14Bは、歪み量測定手段
13Bから得られた読取歪み量(本実施例では変換誤
差)が所定許容範囲内(本実施例では5%以内)である
か否かを判定するものである。そして、本実施例のキャ
ラクタ復調部12Aは、判定手段14Bにより変換誤差
が5%以内であると判定された場合、バーコード1から
抽出・復調されたデータを有効とし、バーコード1の読
取を完了する一方、判定手段14Bにより変換誤差が5
%を超えると判定された場合、バーコード1から同一の
データを図5にて後述するごとく2回連続して抽出・復
調できた時のみ、バーコード1から抽出・復調されたデ
ータを有効とし、バーコード1の読取を完了するもので
ある。
【0068】なお、CPU10には、第1実施例と同様
に、判定手段14Bにおける所定許容範囲(誤差範囲)
を設定変更しうる変更手段15が付設されている。次
に、第2実施例の動作を図5および図6により詳細に説
明する。CPU10では、レーザビームL2によりバー
コード1を1回走査して、このバーコード1をなす各黒
バー1Bおよび各白バー1Wについてのバー幅カウント
値が得られると、まず、従来や第1実施例の第1のバー
幅チェックと同様のバー幅チェックを行なう(ステップ
S31)。
【0069】即ち、このバー幅チェックでは、メモリ9
に格納されたバー幅カウント値に基づいて、各キャラク
タ部分CHR1〜CHR6のキャラクタ長C1〜C6を
求め、さらに、そのキャラクタ長C1〜C6に基づい
て、隣接するキャラクタ部分CHR1〜CHR6どうし
のキャラクタ長比C2/C1,C3/C2,C4/C
3,C5/C4,C6/C5を算出し、各キャラクタ長
比が前述した(1)〜(7)式の条件(±15%以内の
誤差範囲)を満たすか否かを判定し、(1)〜(7)式
の全ての条件が満たされた場合(OK)のみキャラクタ
復調処理(ステップS32)へ移行する。(1)〜
(7)式のいずれか一つでも条件が満たされない場合
(NG)には、バーコード1の読取誤差が大きいものと
判断して、今回得られたバー幅カウント値によるキャラ
クタ復調処理は行なわず、次のデータ処理(ステップS
35)へ移行する。
【0070】ステップS32におけるキャラクタ復調処
理では、キャラクタ復調部12Aにおいて、各キャラク
タ部分1CHR〜6CHR毎に、メモリ9に格納された
バー幅カウント値に基づき、数値データを決定する2つ
の時間幅(δディスタンス長)T01,T02を求めてか
ら、図6にて後述する手順で、2つの時間幅T01,T02
が2〜5のどのモジュール数に対応するかを判定し、そ
の判定の結果得られた2つのモジュール数を、予め記憶
されたテーブルに当てはめ、その2つのモジュール数の
組合せに対応する数値データを読み出し、各キャラクタ
部分1CHR〜6CHRの復調、ひいてはバーコード1
のもつデータの抽出・復調を行なう。
【0071】このとき、第2実施例では、図6に示すよ
うに、キャラクタ部分1CHR(〜6CHR)について
の2つの時間幅T01,T02のモジュール数判定処理を行
なうと同時に、変換誤差算出処理を行なっている。つま
り、まず、時間幅T01(もしくはT02)が、キャラクタ
部分1CHRの時間幅C1の0.643倍以上であるか
否かをキャラクタ復調部12Aにて判定する(ステップ
S40)。このC1×0.643は、4.5モジュール
分の時間幅(カウント値)で、このモジュール数判定処
理では、時間幅T01(もしくはT02)がモジュール数
4.5以上の時間幅を有する場合にはモジュール数を5
(ステップS41)、同様に、3.5以上4.5未満の
場合にはモジュール数を4(ステップS43,S4
4)、2.5以上3.5未満の場合にはモジュール数を
3(ステップS46,S47)、1.5以上2.5未満
の場合にはモジュール数を2と判定している(ステップ
S49)。
【0072】そして、時間幅T01(もしくはT02)につ
いて、ステップS41,S44,S47,S49のいず
れかによりモジュール数が判定された後、歪み量測定手
段13Bにおける除算手段19により、その時間幅(δ
ディスタンス長)T01,T02を、判定結果のモジュール
数(5,4,3,2のいずれか)にて除算する(ステッ
プS42,S45,S48,S50)。これにより、各
時間幅T01(もしくはT02)の1モジュール分の時間幅
が除算値M1として得られる。
【0073】ついで、誤差演算手段20により、除算手
段19による除算値M1の、所定基準長(1モジュール
の長さに対応するカウント値)に対する誤差を変換精度
(変換誤差)として算出する(ステップS60)。この
誤差演算手段20では、図示しない基準長演算手段によ
り、当該キャラクタ部分のキャラクタ長C1(〜C6)
を当該キャラクタ部分のモジュール数7で除算して、1
モジュール分の所定基準長(C1÷7)を算出するとと
もに、この所定基準長を除算値M1にて除算した値から
1を減算したものに100を乗算して変換誤差(単位
%)が算出される。
【0074】なお、図6はキャラクタ部分1CHRにつ
いてのモジュール数判定処理手順および変換誤差算出処
理手順を示しているが、他のキャラクタ部分2CHR〜
6CHRについてのモジュール数判定処理に際しては、
各ステップS40,S43,S46,S60における時
間幅C1をそれぞれC2〜C6に変更すればよい。上述
のように、時間幅T01,T02のモジュール数判定処理を
行なってキャラクタ復調を行なうと同時に、変換誤差算
出処理を行なった後、本実施例では、判定手段14Bに
より、歪み量測定手段13Bの変換精度演算手段18に
より前述のごとく求められた変換誤差が、所定許容範囲
内(本実施例では5%以内)であるか否かを判定する
(ステップS33)。
【0075】このステップS33の判定により、変換誤
差が5%以内であると判定された場合には、バーコード
1の読取精度が高く、従来のような2回一致チェックを
行なわなくとも復調データの誤読は発生しないものと判
断し、1回目にバーコード1から抽出・復調されたデー
タを直ちに有効とし、バーコード1の読取を完了する
(ステップS34)。
【0076】一方、ステップS33の判定により、変換
誤差が5%を超えると判定された場合には、バーコード
1の読取誤差は、復調データの誤読が全く生じていない
と断定できる範囲ではないと判断し、従来と同様の2回
一致チェック(ステップS36〜S38)へ移行する。
この2回一致チェックは、図3のステップS26〜S2
8にて前述した第1実施例のものと全く同様であるの
で、その説明は省略する。
【0077】なお、本実施例では、判定手段14Bにお
ける許容誤差範囲を5%以内に設定しているが、この許
容誤差範囲は、第1実施例と同様に、ディプスイッチ,
バーコード設定,インターフェイスからのコマンド等の
変更手段15によって変更できるようになっており、ユ
ーザの要望(誤読率の低下を重視する場合等)により適
宜変更される。
【0078】このように、本発明の第2実施例によって
も、バーコード幅の誤差(読取歪み量)を変換誤差とし
て定量的に評価することで、第1実施例と同様の作用効
果が得られる。 (c)第3実施例の説明 図7は本発明の第3実施例を示すブロック図であり、こ
の図7に示すように、本実施例の装置も、図2に示した
第1実施例のものや図4に示した第2実施例のものとほ
ぼ同様に構成されているが、この第3実施例では、CP
U10における歪み量測定手段13Cの構成および判定
手段の部分が異なっている。なお、図7中、既述の符号
と同一の符号は同一部分を示しているので、その説明は
省略する。
【0079】第3実施例の歪み量測定手段13Cは、第
1実施例の歪み量測定手段13Aと第2実施例の歪み量
測定手段13Bとを組み合わせて構成され、各歪み量測
定手段13A,13Bに対応して判定手段14A,14
Bがそなえられている。つまり、歪み量測定手段13C
は、第1実施例により前述したキャラクタ長演算手段
(測長手段)16,キャラクタ長比演算手段17と、第
2実施例により前述した除算手段19および誤差演算手
段20からなる変換精度演算手段18とから構成されて
おり、歪み量測定手段13Aから得られたキャラクタ長
比が所定許容範囲(第1のバー幅チェックでは(1)〜
(7)式の条件を満たし、第2のバー幅チェックでは
(8)〜(14)式の条件を満たす範囲)内であるか否
かを判定する判定手段14Aと、歪み量測定手段13B
から得られた変換誤差が所定許容範囲内(本実施例では
5%以内)であるか否かを判定する判定手段14Bとが
そなえられている。
【0080】そして、本実施例のキャラクタ復調部12
Aは、判定手段14Bにより変換誤差が5%以内である
と判定され、且つ、判定手段14Aの第2のバー幅チェ
ックにより(8)〜(14)式の条件がすべて満たされ
各キャラクタ長比がすべて誤差範囲内であると判定され
た場合、バーコード1から抽出・復調されたデータを有
効とし、バーコード1の読取を完了する一方、判定手段
14Bにより変換誤差が5%を超えると判定された場合
や、判定手段14Aの第2のバー幅チェックにより
(8)〜(14)式の条件のいずれか一つだけでも満た
されず各キャラクタ長比のうちの一つでも誤差範囲外で
あると判定された場合、バーコード1から同一のデータ
を図8にて後述するごとく2回連続して抽出・復調でき
た時のみ、バーコード1から抽出・復調されたデータを
有効とし、バーコード1の読取を完了するものである。
【0081】なお、CPU10には、第1実施例,第2
実施例と同様に、判定手段14Aおよび判定手段14B
における所定許容範囲(誤差範囲)を設定変更しうる変
更手段15が付設されている。次に、第3実施例の動作
を図8により詳細に説明する。つまり、CPU10で
は、レーザビームL2によりバーコード1を1回走査し
て、このバーコード1をなす各黒バー1Bおよび各白バ
ー1Wについてのバー幅カウント値が得られると、ま
ず、従来や第1実施例の第1のバー幅チェックと同様の
バー幅チェックを行なう(ステップS51)。
【0082】即ち、この第1のバー幅チェックでは、メ
モリ9に格納されたバー幅カウント値に基づいて、各キ
ャラクタ部分CHR1〜CHR6のキャラクタ長C1〜
C6を求め、さらに、そのキャラクタ長C1〜C6に基
づいて、隣接するキャラクタ部分CHR1〜CHR6ど
うしのキャラクタ長比C2/C1,C3/C2,C4/
C3,C5/C4,C6/C5を算出し、各キャラクタ
長比が前述した(1)〜(7)式の条件(±15%以内
の誤差範囲)を満たすか否かを判定し、(1)〜(7)
式の全ての条件が満たされた場合(OK)のみキャラク
タ復調処理(ステップS52)へ移行する。(1)〜
(7)式のいずれか一つでも条件が満たされない場合
(NG)には、バーコード1の読取誤差が大きいものと
判断して、今回得られたバー幅カウント値によるキャラ
クタ復調処理は行なわず、次のデータ処理(ステップS
56)へ移行する。
【0083】ステップS52におけるキャラクタ復調処
理では、キャラクタ復調部12Aにおいて、各キャラク
タ部分1CHR〜6CHR毎に、メモリ9に格納された
バー幅カウント値に基づき、数値データを決定する2つ
の時間幅(δディスタンス長)T01,T02を求めてか
ら、図6にて前述した手順で、2つの時間幅T01,T02
が2〜5のどのモジュール数に対応するかを判定し、そ
の判定の結果得られた2つのモジュール数を、予め記憶
されたテーブルに当てはめ、その2つのモジュール数の
組合せに対応する数値データを読み出し、各キャラクタ
部分1CHR〜6CHRの復調、ひいてはバーコード1
のもつデータの抽出・復調を行なう。
【0084】このとき、第3実施例でも、第2実施例と
同様に、図6に示した手順で、キャラクタ部分1CHR
(〜6CHR)についての2つの時間幅T01,T02のモ
ジュール数判定処理を行なうと同時に、変換誤差算出処
理を行なっている。この後、本実施例では、判定手段1
4Bにより、歪み量測定手段13Bの変換精度演算手段
18により前述のごとく求められた変換誤差が、所定許
容範囲内(本実施例では5%以内)であるか否かを判定
し(ステップS53)、変換誤差が5%以内であると判
定された場合には、歪み量測定手段13Aおよび判定手
段14Aにより、第2のバー幅チェックを行なう(ステ
ップS54)。
【0085】この第2のバー幅チェックでは、歪み量測
定手段13Aのキャラクタ長演算手段16およびキャラ
クタ長比演算手段17により前述のごとく求められたキ
ャラクタ長比C2/C1,C3/C2,C4/C3,C
5/C4,C6/C5が、前述した(8)〜(14)式
の条件(±5%以内の誤差範囲)を満たすか否かを判定
手段14Aにより判定する。(8)〜(14)式の全て
の条件が満たされた場合(OK)には、バーコード1の
読取精度が高く、従来のような2回一致チェックを行な
わなくとも復調データの誤読は発生しないものと判断
し、1回目にバーコード1から抽出・復調されたデータ
を直ちに有効とし、バーコード1の読取を完了する(ス
テップS55)。
【0086】一方、ステップS53により変換誤差が5
%を超えると判定された場合や、ステップS54により
(8)〜(14)式のいずれか一つでも条件が満たされ
ないと判定された場合(NG)には、バーコード1の読
取誤差は、復調データの誤読が全く生じていないと断定
できる範囲ではないと判断し、従来と同様の2回一致チ
ェック(ステップS57〜S59)へ移行する。この2
回一致チェックは、図3のステップS26〜S28にて
前述した第1実施例のものと全く同様であるので、その
説明は省略する。
【0087】なお、本実施例では、判定手段14Aにお
ける許容誤差範囲を±15%,±5%の2種類設定し、
判定手段14Bにおける許容誤差範囲を5%以内に設定
しているが、この許容誤差範囲は、第1実施例と同様
に、ディプスイッチ,バーコード設定,インターフェイ
スからのコマンド等の変更手段15によって変更できる
ようになっており、ユーザの要望(誤読率の低下を重視
する場合等)により適宜変更される。
【0088】このように、本発明の第3実施例によって
も、第1実施例と同様の作用効果が得られるほか、この
第3実施例では、2つのデータ、つまり、隣合うキャラ
クタどうしのキャラクタ長の比と、δディスタンス長の
モジュール数への変換精度とを両方とも算出し読取歪み
量として用いることで、バーコード幅の誤差をより高い
信頼性で定量的に評価することができ、誤読率をさらに
低減することができる。
【0089】なお、上述した実施例では、図10に示す
ように、ガイドバーGBとスペシャルセンターバーSC
Bとの間に6つのキャラクタ部分1CHR〜6CHRを
配置したバーコード1の読取について説明したが、バー
コードのタイプとしては、図10に示したバーコード1
の右側のスペシャルセンターバーSCBを、モジュール
数1の2本の黒バー1Bとモジュール数1の2本の白バ
ー1Wとからなるセンターバーとし、このセンターバー
を中央として左右にキャラクタ部分を配置したタイプの
ものなど種々あるが、いずれのタイプのバーコードであ
っても、本発明の方法および装置は、上述した実施例と
同様に適用され、上述と同様の作用効果が得られる。
【0090】また、上述した実施例では、読取歪み量が
所定許容範囲外であれば、バーコード1から同一のデー
タが2回連続して抽出・復調された場合(2回一致チェ
ック)に、バーコード1から抽出・復調されたデータを
有効としているが、この一致チェックは2回に限定され
るものでなく、3回以上の一致チェック(3回以上連続
して同一データが抽出・復調されたことをチェックす
る)を行なうようにしてもよい。
【0091】
【発明の効果】以上詳述したように、本発明のバーコー
ド読取方法およびバーコード読取装置によれば、バーコ
ードの読取歪み量を測定し、測定された該読取歪み量が
所定許容範囲内であれば、該バーコードから抽出・復調
されたデータを有効とし、該バーコードの読取を完了す
る一方、測定された該読取歪み量が該所定許容範囲外で
あれば、該バーコードから同一のデータが少なくとも2
回連続して抽出・復調された場合に、該バーコードから
抽出・復調されたデータを有効とし、該バーコードの読
取を完了するように構成したので、バーコードの印刷状
態,湾曲,皺や、バーコード読取装置の読取窓面の硝子
の傷等によって引き起こされるバーコード幅の誤差(読
取歪み量)を、キャラクタ長比として定量的に評価し、
復調されたデータの信頼度を評価できるようになり、誤
差が大きいと判断された場合のみ複数回の一致チェック
が行なわれるため、実運用上の読取率の大幅な向上を実
現できるとともに、誤読率を大きく低減できる効果があ
る。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1実施例を示すブロック図である。
【図3】第1実施例の動作を説明するためのフローチャ
ートである。
【図4】本発明の第2実施例を示すブロック図である。
【図5】第2実施例の動作を説明するためのフローチャ
ートである。
【図6】第2実施例におけるモジュール数判定処理手順
および変換誤差算出処理手順を説明するためのフローチ
ャートである。
【図7】本発明の第3実施例を示すブロック図である。
【図8】第3実施例の動作を説明するためのフローチャ
ートである。
【図9】一般的なバーコード読取装置の構成を示すブロ
ック図である。
【図10】一般的なバーコードの構成を示す図である。
【図11】従来のバーコード読取手順を説明するための
フローチャートである。
【図12】モジュール数判定処理手順を説明するための
フローチャートである。
【図13】モジュール数の組合せと数値データとの関係
を示すテーブルである。
【符号の説明】
1 バーコード 1B 黒バー 1W 白バー 2 光学系 3 レーザ発光部(光源) 3A 光源 4 走査機構(走査手段) 4A 走査手段 5 光電変換部(光電変換手段) 5A 光電変換手段 6 A/D変換部 7 バー幅カウンタ 8 クロックジェネレータ 9 メモリ 10 CPU 11 復調手段 12 復調部 12A キャラクタ復調部 13,13A〜13C 歪み量測定手段 14,14A,14B 判定手段 15 変更手段 16 キャラクタ長演算手段(測長手段) 17 キャラクタ長比演算手段 18 変換精度演算手段 19 除算手段 20 誤差演算手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 篠田 一郎 神奈川県川崎市中原区上小田中1015番地 富士 通株式会社内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 バーコード(1)に対してビーム光を照
    射して走査し、その反射光の光量に基づいて該バーコー
    ド(1)のもつデータを抽出・復調するバーコード読取
    方法において、 該バーコード(1)の読取歪み量を測定し、 測定された該読取歪み量が所定許容範囲内であれば、該
    バーコード(1)から抽出・復調されたデータを有効と
    し、該バーコード(1)の読取を完了する一方、 測定された該読取歪み量が該所定許容範囲外であれば、
    該バーコード(1)から同一のデータが少なくとも2回
    連続して抽出・復調された場合に、該バーコード(1)
    から抽出・復調されたデータを有効とし、該バーコード
    (1)の読取を完了することを特徴とする、バーコード
    読取方法。
  2. 【請求項2】 該バーコード(1)の読取歪み量とし
    て、 該バーコード(1)をなす複数のキャラクタのキャラク
    タ長に基づいて算出・測定された、隣合う該キャラクタ
    どうしのキャラクタ長の比が用いられることを特徴とす
    る請求項1記載のバーコード読取方法。
  3. 【請求項3】 該バーコード(1)の読取歪み量とし
    て、 該バーコード(1)をなす複数のキャラクタのデータを
    特定すべく該キャラクタ毎に得られるδディスタンス長
    を、所定基準長を1モジュールとするモジュール数に変
    換して、該バーコード(1)のもつデータを抽出・復調
    する際に算出・測定された、該δディスタンス長の該モ
    ジュール数への変換精度が用いられることを特徴とする
    請求項1記載のバーコード読取方法。
  4. 【請求項4】 該バーコード(1)の読取歪み量とし
    て、 該バーコード(1)をなす複数のキャラクタのキャラク
    タ長に基づいて算出・測定された、隣合う該キャラクタ
    どうしのキャラクタ長の比と、 該バーコード(1)をなす複数のキャラクタのデータを
    特定すべく該キャラクタ毎に得られるδディスタンス長
    を、所定基準長を1モジュールとするモジュール数に変
    換して、該バーコード(1)のもつデータを抽出・復調
    する際に算出・測定された、該δディスタンス長の該モ
    ジュール数への変換精度とが用いられることを特徴とす
    る請求項1記載のバーコード読取方法。
  5. 【請求項5】 該δディスタンス長の該モジュール数へ
    の変換精度が、該δディスタンス長の該モジュール数に
    よる除算値の、該所定基準長に対する誤差として算出さ
    れることを特徴とする請求項3または4に記載のバーコ
    ード読取方法。
  6. 【請求項6】 該所定基準長が、当該キャラクタのキャ
    ラクタ長を当該キャラクタのモジュール数で除算した値
    として算出されることを特徴とする請求項5記載のバー
    コード読取方法。
  7. 【請求項7】 ビーム光を発光する光源(3A)と、 該光源(3A)からのビーム光を走査しながらバーコー
    ド(1)に対して照射する走査手段(4A)と、 該バーコード(1)からの該ビーム光の反射光を受光し
    その光量に応じた電気信号に変換する光電変換手段(5
    A)と、 該光電変換手段(5A)からの電気信号に基づいて該バ
    ーコード(1)のもつデータを抽出・復調する復調手段
    (11)とをそなえてなるバーコード読取装置におい
    て、 該復調手段(11)に、 該バーコード(1)の読取歪み量を算出・測定する歪み
    量測定手段(13)と、 該歪み量測定手段(13)により算出・測定された該読
    取歪み量が所定許容範囲内であるか否かを判定する判定
    手段(14)とがそなえられ、 該復調手段(11)が、 該判定手段(14)により該読取歪み量が該所定許容範
    囲内であると判定された場合には、該バーコード(1)
    から抽出・復調されたデータを有効とし、該バーコード
    (1)の読取を完了する一方、 該判定手段(14)により該読取歪み量が該所定許容範
    囲外であると判定された場合には、該バーコード(1)
    から同一のデータを少なくとも2回連続して抽出・復調
    できた時のみ、該バーコード(1)から抽出・復調され
    たデータを有効とし、該バーコード(1)の読取を完了
    することを特徴とする、バーコード読取装置。
  8. 【請求項8】 該歪み量測定手段(13)が、 該バーコード(1)をなす複数のキャラクタのキャラク
    タ長を測定する測長手段と、 該測長手段により測定された各キャラクタのキャラクタ
    長に基づいて、隣合う該キャラクタどうしのキャラクタ
    長の比を、該バーコード(1)の読取歪み量として算出
    するキャラクタ長比演算手段とから構成されていること
    を特徴とする請求項7記載のバーコード読取装置。
  9. 【請求項9】 該歪み量測定手段(13)が、該バーコ
    ード(1)をなす複数のキャラクタのデータを特定すべ
    く該キャラクタ毎に得られるδディスタンス長を、所定
    基準長を1モジュールとするモジュール数に変換して、
    該バーコード(1)のもつデータを抽出・復調する際
    に、該δディスタンス長の該モジュール数への変換精度
    を、該バーコード(1)の読取歪み量として算出する変
    換精度演算手段を有して構成されていることを特徴とす
    る請求項7記載のバーコード読取装置。
  10. 【請求項10】 該歪み量測定手段(13)が、 該バーコード(1)をなす複数のキャラクタのキャラク
    タ長を測定する測長手段と、 該測長手段により測定さ
    れた各キャラクタのキャラクタ長に基づいて、隣合う該
    キャラクタどうしのキャラクタ長の比を、該バーコード
    (1)の読取歪み量として算出するキャラクタ長比演算
    手段と、 該バーコード(1)をなす複数のキャラクタのデータを
    特定すべく該キャラクタ毎に得られるδディスタンス長
    を、所定基準長を1モジュールとするモジュール数に変
    換して、該バーコード(1)のもつデータを抽出・復調
    する際に、該δディスタンス長の該モジュール数への変
    換精度を、該バーコード(1)の読取歪み量として算出
    する変換精度演算手段とから構成されていることを特徴
    とする請求項7記載のバーコード読取装置。
  11. 【請求項11】 該変換精度演算手段が、 該δディスタンス長を該モジュール数により除算する除
    算手段と、 該除算手段による除算値の該所定基準長に対する誤差
    を、該変換精度として算出する誤差演算手段とから構成
    されていることを特徴とする請求項9または10に記載
    のバーコード読取装置。
  12. 【請求項12】 該所定基準長を、当該キャラクタのキ
    ャラクタ長を当該キャラクタのモジュール数で除算した
    値として算出する基準長演算手段がそなえられたことを
    特徴とする請求項11記載のバーコード読取装置。
  13. 【請求項13】 該判定手段(14)における該所定許
    容範囲を設定変更する変更手段(15)がそなえられた
    ことを特徴とする請求項7〜12のいずれかに記載のバ
    ーコード読取装置。
JP5060733A 1993-03-19 1993-03-19 バーコード読取方法およびバーコード読取装置 Pending JPH06274674A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5060733A JPH06274674A (ja) 1993-03-19 1993-03-19 バーコード読取方法およびバーコード読取装置
US08/113,596 US5393968A (en) 1993-03-19 1993-08-27 Method and device for reading bar code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5060733A JPH06274674A (ja) 1993-03-19 1993-03-19 バーコード読取方法およびバーコード読取装置

Publications (1)

Publication Number Publication Date
JPH06274674A true JPH06274674A (ja) 1994-09-30

Family

ID=13150774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5060733A Pending JPH06274674A (ja) 1993-03-19 1993-03-19 バーコード読取方法およびバーコード読取装置

Country Status (2)

Country Link
US (1) US5393968A (ja)
JP (1) JPH06274674A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300518A (ja) * 2004-03-17 2005-10-27 Optex Fa Co Ltd 情報パターン判別装置
JP2012248089A (ja) * 2011-05-30 2012-12-13 Toshiba Tec Corp コード読取装置及びプログラム
JP2013140619A (ja) * 2013-03-13 2013-07-18 Casio Comput Co Ltd イメージ処理装置及びプログラム
JP2018047916A (ja) * 2016-09-20 2018-03-29 株式会社イシダ ラベル発行装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2718442B2 (ja) * 1993-12-20 1998-02-25 富士通株式会社 バーコード復調方法及び装置
US5767497A (en) * 1996-12-04 1998-06-16 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using ratio analysis of module size
US6128414A (en) * 1997-09-29 2000-10-03 Intermec Ip Corporation Non-linear image processing and automatic discriminating method and apparatus for images such as images of machine-readable symbols
EP1125854B1 (en) * 2000-02-17 2004-03-31 Crown Cork & Seal Technologies Corporation Dispensing closure improvement
WO2001063546A1 (fr) * 2000-02-23 2001-08-30 Fujitsu Limited Procede et dispositif de lecture de code barres
US6666377B1 (en) * 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
JP4202101B2 (ja) * 2002-10-10 2008-12-24 富士通株式会社 バーコード認識方法、および認識用デコード処理装置
JP4170111B2 (ja) * 2003-02-21 2008-10-22 富士通株式会社 バーコード読取装置およびバーコード読取方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4879456A (en) * 1987-06-18 1989-11-07 Spectra-Physics, Inc. Method of decoding a binary scan signal
JPH0464187A (ja) * 1990-07-02 1992-02-28 Sumitomo Electric Ind Ltd バーコード読取装置
US5166500A (en) * 1990-08-31 1992-11-24 Goldstar Co., Ltd. Barcode reader decoder system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005300518A (ja) * 2004-03-17 2005-10-27 Optex Fa Co Ltd 情報パターン判別装置
JP2012248089A (ja) * 2011-05-30 2012-12-13 Toshiba Tec Corp コード読取装置及びプログラム
JP2013140619A (ja) * 2013-03-13 2013-07-18 Casio Comput Co Ltd イメージ処理装置及びプログラム
JP2018047916A (ja) * 2016-09-20 2018-03-29 株式会社イシダ ラベル発行装置

Also Published As

Publication number Publication date
US5393968A (en) 1995-02-28

Similar Documents

Publication Publication Date Title
US6206289B1 (en) Scanner
US5387787A (en) Scanning device for reconstructing a complete code from scanned segments
US4074114A (en) Bar code and method and apparatus for interpreting the same
EP0066680B1 (en) Systematic error correction in bar code scanner
US6193158B1 (en) High speed image acquisition system and method
US5489769A (en) Symbol information reading apparatus
US4963719A (en) Bar code scanner and method of scanning
EP0067414A2 (en) Method and apparatus for reading a bar code
JPH06274674A (ja) バーコード読取方法およびバーコード読取装置
CA2267892C (en) Method and apparatus for decoding bar code symbols using ratio analysis of module size
US6247646B1 (en) Bar code reader, and bar code reading method
JP3324374B2 (ja) バーコード復調方法並びにバーコード読取装置
US20010015378A1 (en) Apparatus and method for correcting bar width, bar code reader, and method for decoding bar code
KR100308415B1 (ko) 바코드판독장치,바코드판독방법및컴퓨터판독가능매체
US5481097A (en) Apparatus and method for decoding bar codes
JP2718442B2 (ja) バーコード復調方法及び装置
JP3472691B2 (ja) バーコード読取装置及びバーコード読取方法
AU726678B2 (en) Bar code reader
JPH08180126A (ja) バーコード読取方法およびバーコード読取装置
US5917170A (en) Method for the evaluation of information stored in bar codes
JP2953143B2 (ja) バーコード読取装置およびバーコード読取方法
JPH01290092A (ja) バーコードのバー幅判別方法
JP2736729B2 (ja) バーコード判定方法
JPS6314392B2 (ja)
JP3891072B2 (ja) バーコード読取方法およびバーコード読取装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981110