JP2718442B2 - バーコード復調方法及び装置 - Google Patents

バーコード復調方法及び装置

Info

Publication number
JP2718442B2
JP2718442B2 JP6184972A JP18497294A JP2718442B2 JP 2718442 B2 JP2718442 B2 JP 2718442B2 JP 6184972 A JP6184972 A JP 6184972A JP 18497294 A JP18497294 A JP 18497294A JP 2718442 B2 JP2718442 B2 JP 2718442B2
Authority
JP
Japan
Prior art keywords
character
bar
demodulated
distortion
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6184972A
Other languages
English (en)
Other versions
JPH07230522A (ja
Inventor
弘晃 川合
光雄 渡辺
伸一 佐藤
一郎 篠田
元彦 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6184972A priority Critical patent/JP2718442B2/ja
Priority to US08/310,045 priority patent/US5502296A/en
Priority to GB9419184A priority patent/GB2284917B/en
Publication of JPH07230522A publication Critical patent/JPH07230522A/ja
Application granted granted Critical
Publication of JP2718442B2 publication Critical patent/JP2718442B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャラクタをバー幅に
より表したバーコードにレーザ光を走査してバーコード
の反射光に基づき読み取られたバーコードデータを復調
するバーコード復調方法及び装置に関する。
【0002】
【従来の技術】小売業において商品の売上内容を迅速に
把握するために、特に、スーパマーケット、百貨店など
でPOS(point of sales)システムが普及しつつある。
このPOSシステムにバーコードスキャナが組み込まれ
ている。このバーコードスキャナは商品のラベルあるい
は値札に印刷されているキャラクタを表すためのバーコ
ードを読み取り入力する装置である。
【0003】このバーコードスキャナはバーコードにレ
ーザ光を照射し、バーコードから反射されてくる反射光
からバーコードデータを読み取る。そして、バーコード
スキャナはバーコードデータの幅を測定してコード化
し、コード化されたバーコードデータを復調テーブルを
用いて復調する。すなわち、バーコードスキャナはその
バーコードに対応する数字などのキャラクタを得る。
【0004】前記バーコードリーダにおいは、図6に示
すようにJAN(Japanese ArticleNumber)コードシンボ
ルとして標準コードが定められている。前記バーコード
は商品メーカコードを表す左ブロック51と商品アイテ
ムコードを表す右ブロック52とを含む。左右のブロッ
ク51,52の端には左右ガードバー53,54が設け
られ、左右のブロック51,52の間にはセンターバー
55が設けられる。
【0005】さらに、左ブロック51はコード化された
‘1’の数が奇数となるオッドパリティとコード化され
た‘1’の数が偶数となるイーブンパリティとからな
り、右ブロック52はイーブンパリティからなる。バー
コードスキャナはこのようなバーコードを左ガードバー
53から順に右方向に向かって右ガードバー54まで読
み込む。
【0006】また、図7に1つのキャラクタのモジュー
ル構成を示す。1つのキャラクタは白、黒、白、黒の4
つのエレメントから構成されるとともに、7つのモジュ
ールで構成される。‘0’から‘9’までの数字は白
(コード化された‘0’)と黒(コード化された
‘1’)とを用いて7つのモジュールで表される。左ブ
ロック51のオッドパリティO及びイーブンパリティE
と右ブロック52のイーブンパリティEの各々について
‘0’から‘9’までの数字が表わされる。
【0007】例えば、数字‘4’のイーブンパリティE
は図8(a)に示すように左側から順番に白が2モジュ
ール、黒が3モジュール、白が1モジュール、黒が1モ
ジュールで構成され、黒のモジュール数が‘4’でイー
ブンである。数字‘6’のイーブンパリティEは図8
(b)に示すように左側から順番に白が4モジュール、
黒が1モジュール、白が1モジュール、黒が1モジュー
ルで構成され、黒のモジュール数が‘2’でイーブンで
ある。
【0008】この場合、復調すべき数字‘6’のイーブ
ンパリティEについて右端の第1番目の黒モジュールか
らその隣りの第1番目の白モジュールまでのデルタディ
スタンスT1のモジュール数は2である。
【0009】数字‘6’のイーブンパリティEについて
前記第1番目の白モジュールからその隣りの第2番目の
黒モジュールまでのデルタディスタンスT2のモジュー
ル数は2である。このT1とT2との値に対応する数字
を図10に示す距離復調テーブルから読み出すと、復調
すべき数字‘6’が得られる。
【0010】しかしながら、図8(c)に示した数字
‘2’のイーブンパリティE(以下、E2とする。)
は、モジュール数が2,2,1,2であり、T1及びT
2が‘3’である。また、図8(d)に示した数字
‘8’のイーブンパリティE(以下、E8とする。)
は、モジュール数が3,1,2,1であり、T1及びT
2が‘3’である。
【0011】このため、距離復調テーブルを参照して
も、E2とE8とを区別できなかった。また、このほか
に斜線部分で示したO2とO8,O1とO7,E1とE
7についても両者を区別できなかった。
【0012】そこで、このような場合、例えばE2とE
8の場合には、黒のモジュール数を夫々について求め
る。E2の黒エレメントB1,B3のモジュール数は夫
々2であり、E8の黒エレメントB1,B3のモジュー
ル数は夫々1である。
【0013】すなわち、図11に示したバー幅復調テー
ブルを参照することにより、E2とE8とを区別してい
た。また、バーコードは印刷の誤差のために全体が太く
なったり、あるいは細くなったりすることがある。例え
ば、光学系を用いた場合には、黒バーが太くなる傾向に
ある。このようなバーコードを読みとって補正すること
が行われている。一般に、隣同士の黒バーまたは白バー
は均一に太るか細る。
【0014】そこで、実際に復調された直前のキャラク
タのバー幅と実際に復調すべきキャラクタのバー幅の差
分を算出することによって印刷の誤差を除去することが
できる。また、この差分のモジュール数を算出し、既に
復調したキャラクタのバー幅のモジュール数を加算する
ことで復調すべきキャラクタのバー幅の理想的なモジュ
ール数を算出することができる。
【0015】すなわち、数字が1,2,7,8である場
合には、第1の補正処理として既に復調された直前のキ
ャラクタを用いてバーコードを補正しながら復調してい
た。
【0016】
【発明が解決しようとする課題】しかしながら、前述し
た従来の補正方式にあっては、バーコードデータの印字
品質がある程度悪くなった場合にはバーコードを誤読し
たり、あるいは読み取ることができなかった。このよう
にバーコードデータの印字品質がある程度悪いと分かっ
ている場合には、予めディップスイッチなどにより第1
の補正処理とは異なる第2の補正処理に切り替える。こ
の第2の補正処理により復調すべきキャラクタ長を用い
てバーコードを補正しながら復調していた。
【0017】しかし、前記2つの補正処理のいずれか一
方の補正処理でバーコードデータを補正する。このた
め、バーコードデータ毎に印字品質が異なる場合には、
全てのバーコードデータを補正することができなかっ
た。このため、比較的印字品質の低いバーコードであっ
ても、自動的に補正処理を切り替えることにより誤読せ
ずに読み取るバーコード復調装置が望まれていた。
【0018】本発明は、このような点に鑑みてなされた
もので、その目的とするところは、比較的印字品質の低
いバーコードであっても、自動的に補正処理を切り替え
ることによって誤読を防止し、バーコードの読み取り精
度を向上することのできるバーコード復調方法及び装置
を提供することにある。
【0019】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するために下記の構成とした。図1は本
発明のバーコード復調装置の原理図である。図1を参照
して本発明を説明する。
【0020】本発明のバーコード復調装置は、キャラク
タをバー幅により表したバーコードを読み取ることによ
って生成されたバーコードデータを用いて復調すべき前
記キャラクタのバー幅の歪み量を算出する歪み量算出手
段21と、前記歪み量算出手段21で算出されたバー幅
の歪み量が所定値範囲内にあるか否かを判定する歪み量
判定手段22と、前記歪み量判定手段22によりバー幅
の歪み量が所定値範囲内にあると判定された場合にその
バー幅の歪み量に第1の補正処理を行うことにより前記
バーコードデータから前記キャラクタを復調する第1の
復調手段23と、前記歪み量判定手段22によりバー幅
の歪み量が所定値範囲外にあると判定された場合にその
バー幅の歪み量に第2の補正処理を行うことにより前記
バーコードデータから前記キャラクタを復調する第2の
復調手段24とを備えたことである(請求項13に対
応)。
【0021】要は復調すべきキャラクタのバー幅の歪み
量に応じて第1の復調手段と第2の復調手段とを選択的
に切り替えるものである。以下、各構成要件について説
明する。 (歪み量算出手段)歪み量算出手段21は、キャラクタ
をバー幅により表したバーコードを読み取ることによっ
て生成されたバーコードデータを用いて復調すべき前記
キャラクタのバー幅の歪み量を算出する。 (歪み量判定手段)歪み量判定手段22は、前記歪み量
算出手段21で算出されたバー幅の歪み量が所定値範囲
内にあるか否かを判定する。 (第1の復調手段)第1の復調手段23は前記歪み量判
定手段22によりバー幅の歪み量が所定値範囲内にある
と判定された場合にそのバー幅の歪み量に第1の補正処
理を行うことにより前記バーコードデータから前記キャ
ラクタを復調する。 (第2の復調手段)第2の復調手段24は前記歪み量判
定手段22によりバー幅の歪み量が所定値範囲外にある
と判定された場合にそのバー幅の歪み量に第2の補正処
理を行うことにより前記バーコードデータから前記キャ
ラクタを復調する。前記歪み量算出手段、歪み量判定手
段、第1及び第2の復調手段は例えば、メモリに格納さ
れたプログラムを中央処理装置が実行することにより実
現されるものである。
【0022】バーコードとしては、例えば、JAN(Jap
an article number)用として規定されているバーコード
シンボル、アメリカで用いられるUPC(Universal pro
ductcode) 、世界共通のバーコード・シンボルとしてW
PC(World product code)、ヨーロッパで用いられるE
AN(European article number)がある。
【0023】<本発明のバーコード復調装置における付
加的構成>本発明のバーコード復調装置は、前記必須の
構成要素からなるが、その構成要素が具体的に以下のよ
うな場合であっても成立する。
【0024】その付加的構成要素とは、複数の白バーデ
ータと複数の黒バーデータとからなる前記バーコードデ
ータの隣接する白バーデータと黒バーデータとの距離に
基いて特定のキャラクタ以外のキャラクタのみを復調す
る距離復調テーブル31を備える。前記歪み量算出手段
21は特定のキャラクタのバーコードデータを入力する
ことである(請求項14に対応)。
【0025】その他の付加的構成要素とは、バーコード
復調装置が光学装置12、A/D変換器13、クロック
信号を発生するクロック発生器14、バー幅カウンタ1
5、メモリ16を備えていことである(請求項15に対
応)。前記光学装置12はバーコードに光を照射する。
A/D変換器13はバーコードからの反射光を2値化処
理することで前記バーコードデータを生成する。バー幅
カウンタ15は前記A/D変換器13から出力されてく
るバーコードデータのバー幅を前記クロック信号により
カウントする。メモリ16はバー幅カウンタ15により
カウントされたバー幅カウント値を格納する。
【0026】その他の付加的構成要素とは、前記歪み量
算出手段21が、前記復調すべきキャラクタに対して既
に復調された直前のキャラクタのバー幅に基づき前記復
調すべきキャラクタのバー幅の歪み量を算出することで
ある(請求項16に対応)。
【0027】その他の付加的構成要素とは、前記第1の
復調手段23が、前記復調すべきキャラクタに対して既
に復調された直前のキャラクタのバー幅に基づいて前記
バー幅の歪み量を補正することにより前記キャラクタを
復調することである(請求項17に対応)。
【0028】その他の付加的構成要素とは、前記第2の
復調手段24が、復調すべきキャラクタのバー幅に基づ
いて前記バー幅の歪み量を補正することによりキャラク
タを復調することである(請求項18に対応)。
【0029】その他の付加的構成要素とは、前記第2の
復調手段24が、前記復調すべきキャラクタのバー幅の
歪み量を測定し、その歪み量が所定値範囲にある場合に
はキャラクタの復調を行うことである(請求項19に対
応)。
【0030】その他の付加的構成要素とは、さらに、装
置は前記第1の復調手段23が復調すべき歪みのないキ
ャラクタの直前のキャラクタを復調した場合に、前記復
調すべき歪みのないキャラクタを用いて前記復調された
直前のキャラクタを再確認する第1の確認手段を備えて
いることである(請求項20に対応)。
【0031】その他の付加的構成要素とは、さらに、装
置は前記第2の復調手段24が復調すべき歪みのないキ
ャラクタの直前のキャラクタを復調した場合に、前記復
調すべき歪みのないキャラクタを用いて前記復調された
直前のキャラクタを再確認する第2の確認手段を備えて
いることである(請求項21に対応)。
【0032】その他の付加的構成要素とは、前記歪み量
算出手段21が既に復調された直前のキャラクタのバー
幅と前記復調すべきキャラクタのバー幅との差分を歪み
量として算出するとともに、その歪み量をキャラクタを
構成するモジュール幅で除算することによりモジュール
値を求める。
【0033】前記歪み判定手段が、前記モジュール値が
予め定められた基準モジュール値の上下限モジュール内
にはいる場合に前記歪み量が前記所定値範囲内であると
判定することである(請求項22に対応)。ここで、前
記上下限モジュールは、例えば、上下0.4モジュール
である(請求項23に対応)。
【0034】また、その他の付加的構成要素とは、前記
歪み量算出手段は、前記復調すべきキャラクタのバー幅
の歪み量を算出するとともに復調すべき前記キャラクタ
の直前の復調されたキャラクタのバー幅の歪み量を算出
する。前記歪み量判定手段は、前記歪み量算出手段で算
出された前記復調すべきキャラクタのバー幅の歪み量及
び直前の復調されたキャラクタのバー幅の歪み量の正負
の符号を判定する。
【0035】前記第1の復調手段は、復調すべきキャラ
クタのバー幅の歪み量及び直前の復調されたキャラクタ
のバー幅の歪み量の正負の符号が同符号である場合には
直前のキャラクタのバー幅に基づいて復調すべきキャラ
クタのバー幅の歪み量を補正することにより前記キャラ
クタを復調する。前記第2の復調手段は、復調すべきキ
ャラクタのバー幅の歪み量及び直前の復調されたキャラ
クタのバー幅の歪み量の正負の符号が異符号である場合
には復調すべきキャラクタのバー幅に基づいてそのバー
幅の歪み量を補正することによりキャラクタを復調する
ことである(請求項24に対応)。
【0036】さらに、その他の付加的構成要素とは、前
記歪み量算出手段は、前記復調すべきキャラクタのバー
幅の歪み量を算出するとともに復調すべき前記キャラク
タの直前の復調されたキャラクタのバー幅の歪み量を算
出する。前記歪み量判定手段は、前記歪み量算出手段で
算出された前記復調すべきキャラクタのバー幅の歪み量
と直前の復調されたキャラクタのバー幅の歪み量とのバ
ー幅の歪み量の差が所定値範囲内かを判定する。前記第
1の復調手段は、バー幅の歪み量の差が所定値範囲内で
ある場合には直前のキャラクタのバー幅に基づいて復調
すべきキャラクタのバー幅の歪み量を補正することによ
り前記キャラクタを復調する。前記第2の復調手段は、
バー幅の歪み量の差が所定値範囲外である場合には復調
すべきキャラクタのバー幅に基づいてそのバー幅の歪み
量を補正することによりキャラクタを復調することであ
る(請求項25に対応)。 <本発明のバーコード復調方法>また、本発明のバーコ
ード復調方法を図2を用いて説明する。バーコード復調
方法は、キャラクタをバー幅により表したバーコードを
読み取ることによって生成されたバーコードデータを用
いて復調すべき前記キャラクタのバー幅の歪み量を算出
する歪み量算出ステップ71と、前記歪み量算出ステッ
プで算出されたバー幅の歪み量が所定値範囲内にあるか
否かを判定する歪み量判定ステップ72と、前記歪み量
判定ステップでバー幅の歪み量が所定値範囲内にあると
判定された場合にそのバー幅の歪み量に第1の補正処理
を行うことにより前記バーコードデータから前記キャラ
クタを復調する第1の復調ステップ73と、前記歪み量
判定ステップでバー幅の歪み量が所定値範囲外にあると
判定された場合にそのバー幅の歪み量に第2の補正処理
を行うことにより前記バーコードデータから前記キャラ
クタを復調する第2の復調ステップ74とを備えたこと
である(請求項1に対応)。
【0037】<本発明のバーコード復調方法における付
加的工程>本発明のバーコード復調方法は、前記必須の
工程からなるが、その工程が具体的に以下のような場合
であっても成立する。
【0038】その付加的工程とは、複数の白バーデータ
と複数の黒バーデータとからなる前記バーコードデータ
の隣接する白バーデータと黒バーデータとの距離に基い
て特定のキャラクタ以外のキャラクタのみを復調する距
離復調ステップ70を含む。前記歪み量算出ステップ7
1は、前記特定のキャラクタのバーコードデータを入力
することである(請求項2に対応)。
【0039】他の付加的工程とは、前記歪み量算出ステ
ップが、前記復調すべきキャラクタに対して既に復調さ
れた直前のキャラクタのバー幅に基づいて前記復調すべ
きキャラクタのバー幅の歪み量を算出することである
(請求項3に対応)。
【0040】また、他の付加的工程とは、前記第1の復
調ステップが、前記復調すべきキャラクタに対して既に
復調された直前のキャラクタのバー幅に基づいて前記バ
ー幅の歪み量を補正することにより前記キャラクタを復
調することである(請求項4に対応)。
【0041】他の付加的工程とは、前記第2の復調ステ
ップが、復調すべきキャラクタのバー幅に基づいて前記
バー幅の歪み量を補正することによりキャラクタを復調
することである(請求項5に対応)。
【0042】他の付加的工程とは、前記第2の復調ステ
ップが、前記復調すべきキャラクタのバー幅の歪み量を
測定し、その歪み量が所定値範囲にある場合にはキャラ
クタの復調を行うことである(請求項6に対応)。
【0043】他の付加的工程とは、さらに、前記第1の
復調ステップにおいて復調すべき歪みのないキャラクタ
の直前のキャラクタを復調した場合に、前記復調すべき
歪みのないキャラクタを用いて前記復調された直前のキ
ャラクタを再確認する第1の確認ステップを備えている
ことである(請求項7に対応)。
【0044】他の付加的工程とは、さらに、前記第2の
復調ステップにおいて復調すべき歪みのないキャラクタ
の直前のキャラクタを復調した場合に、前記復調すべき
歪みのないキャラクタを用いて前記復調された直前のキ
ャラクタを再確認する第2の確認ステップを備えている
ことである(請求項8に対応)。
【0045】他の付加的工程とは、前記歪み量算出ステ
ップは既に復調された直前のキャラクタのバー幅と前記
復調すべきキャラクタのバー幅との差分を歪み量として
算出するとともに、その歪み量をキャラクタを構成する
モジュール幅で除算することによりモジュール値を求め
る。前記歪み判定ステップは、前記モジュール値が予め
定められた基準モジュール値の上下限モジュール内には
いる場合に前記歪み量が前記所定値範囲内であると判定
することである(請求項9に対応)。また、前記基準モ
ジュール値の上下限モジュールは、基準モジュール値の
上下0.4モジュールである(請求項10に対応)。
【0046】また、他の付加的工程とは、前記歪み量算
出ステップは、前記復調すべきキャラクタのバー幅の歪
み量を算出するとともに復調すべき前記キャラクタの直
前の復調されたキャラクタのバー幅の歪み量を算出す
る。前記歪み量判定ステップは、前記算出された前記復
調すべきキャラクタのバー幅の歪み量及び直前の復調さ
れたキャラクタのバー幅の歪み量の正負の符号を判定す
る。前記第1の復調ステップは、復調すべきキャラクタ
のバー幅の歪み量及び直前の復調されたキャラクタのバ
ー幅の歪み量の正負の符号が同符号である場合には直前
のキャラクタのバー幅に基づいて復調すべきキャラクタ
のバー幅の歪み量を補正することにより前記キャラクタ
を復調する。前記第2の復調ステップは、復調すべきキ
ャラクタのバー幅の歪み量及び直前の復調されたキャラ
クタのバー幅の歪み量の正負の符号が異符号である場合
には、復調すべきキャラクタのバー幅に基づいてそのバ
ー幅の歪み量を補正することによりキャラクタを復調す
る(請求項11に対応)。
【0047】さらに、他の付加的工程とは、前記歪み量
算出ステップは、前記復調すべきキャラクタのバー幅の
歪み量を算出するとともに復調すべき前記キャラクタの
直前の復調されたキャラクタのバー幅の歪み量を算出す
る。前記歪み量判定ステップは、前記算出された前記復
調すべきキャラクタのバー幅の歪み量と直前の復調され
たキャラクタのバー幅の歪み量とのバー幅の歪み量の差
が所定値範囲内かを判定する。前記第1の復調ステップ
は、バー幅の歪み量の差が所定値範囲内である場合には
直前のキャラクタのバー幅に基づいて復調すべきキャラ
クタのバー幅の歪み量を補正することにより前記キャラ
クタを復調する。前記第2の復調ステップは、バー幅の
歪み量の差が所定値範囲外である場合には復調すべきキ
ャラクタのバー幅に基づいてそのバー幅の歪み量を補正
することによりキャラクタを復調する(請求項12に対
応)。
【0048】
【作用】本発明によれば、歪み量算出手段21はバーコ
ードデータを用いて復調すべきキャラクタのバー幅の歪
み量を算出すると、歪み量判定手段22は算出されたバ
ー幅の歪み量が所定値範囲内にあるか否かを判定する。
【0049】バー幅の歪み量が所定値範囲内にあると判
定された場合には、第1の復調手段23はそのバー幅の
歪み量に第1の補正処理を行うことによりバーコードデ
ータからキャラクタを復調する。
【0050】一方、バー幅の歪み量が所定値範囲外にあ
ると判定された場合には、第2の復調手段24はそのバ
ー幅の歪み量に第2の補正処理を行うことによりバーコ
ードデータからキャラクタを復調する。
【0051】このようにバーコード毎にバー幅の歪み量
の大きさに応じて自動的に第1の復調処理または第2の
復調処理を行うので、バーコードの読み取り精度を向上
することができる。
【0052】また、歪み量算出手段21は距離復調テー
ブル31では復調できない特定のキャラクタのバーコー
ドデータを入力し、その特定のキャラクタのバーコード
データを処理する。
【0053】また、光学装置12がバーコードに光を照
射すると、A/D変換器13によりバーコードからの反
射光が2値化処理されることでバーコードデータが生成
される。バー幅カウンタ15はバーコードデータのバー
幅をクロック信号によりカウントする。これにより、バ
ー幅の長さが算出される。
【0054】歪み量算出手段21は、前記既に復調され
た直前のキャラクタのバー幅に基づき前記復調すべきキ
ャラクタのバー幅の歪み量を算出することができる。第
1の復調手段23は、既に復調された直前のキャラクタ
のバー幅に基づいて前記バー幅の歪み量を補正すること
により前記キャラクタを復調することができる。
【0055】第2の復調手段24は、復調すべきキャラ
クタのバー幅に基づいて前記バー幅の歪み量を補正する
ことによりキャラクタを復調することができる。第2の
復調手段24は、復調すべきキャラクタのバー幅の歪み
量を測定し、その歪み量が所定値範囲にある場合にはキ
ャラクタの復調を行うことができる。
【0056】第1の確認手段は第1の復調手段23が復
調すべき歪みのないキャラクタの直前のキャラクタを復
調した場合に、復調すべき歪みのないキャラクタを用い
て復調された直前のキャラクタを再確認するので、その
キャラクタの信頼性が向上する。
【0057】第2の確認手段は第2の復調手段24が復
調すべき歪みのないキャラクタの直前のキャラクタを復
調した場合に、復調すべき歪みのないキャラクタを用い
て復調された直前のキャラクタを再確認するので、その
キャラクタの信頼性が向上する。
【0058】歪み量算出手段21は既に復調された直前
のキャラクタのバー幅と復調すべきキャラクタのバー幅
との差分を歪み量として算出し、その歪み量をキャラク
タを構成するモジュール幅で除算することによりモジュ
ール値を求める。歪み判定手段はモジュール値が予め定
められた基準モジュール値の上下限モジュール内にはい
る場合に前記歪み量が前記所定値範囲内であると判定す
るので、第1の補正処理によりキャラクタの復調を行う
ことができる。
【0059】また、復調すべきキャラクタのバー幅の歪
み量及び直前の復調されたキャラクタのバー幅の歪み量
の正負の符号が同符号である場合には、バー幅の歪みの
差が小さくなる。この場合には第1の復調手段がキャラ
クタの復調を行う。バー幅の歪み量の正負の符号が異符
号である場合には、バー幅の歪みの差が大きくなる。こ
の場合には第2の復調手段がキャラクタの復調を行う。
【0060】さらに、歪み量判定手段は歪み量算出手段
で算出された復調すべきキャラクタのバー幅の歪み量と
直前の復調されたキャラクタのバー幅の歪み量とのバー
幅の歪み量の差が所定値範囲内かを判定する。バー幅の
歪み量の差が所定値範囲内である場合には第1の復調手
段がキャラクタの復調を行う。バー幅の歪み量の差が所
定値範囲外である場合には第2の復調手段がキャラクタ
の復調を行う。
【0061】
【実施例】以下、本発明の具体的な実施例を説明する。
図3は本発明のバーコード復調装置の外観図である。図
3に示したように、バーコード復調装置の正面部1には
読み取り窓2とバーコードを読み取ったことを表示する
発光ダイオード6が設けられる。バーコード復調装置の
側面部3には装置を動作させるスイッチ4とバーコード
を読み取ったことを知らせるスピーカ8が設けられる。
【0062】読み取り窓2は図示しないバーコードに対
してレーザ光を照射しそのバーコードから反射されてく
る反射光を読み取る。 <実施例1>図4は本発明の実施例1に従ったバーコー
ド復調装置を示す構成ブロック図である。バーコード1
1は図示しない商品のラベルに付されたものであり、複
数のキャラクタを表したバー幅からなる。
【0063】バーコード11は図6に示したように通常
では、例えば、商品メーカコードを表す左ブロック51
と商品アイテムコードを表す右ブロック52とを含むよ
うになっている。左右のブロック51,52の端には左
右ガードバー53,54が設けられ、左右のブロック5
1,52の間にはセンターバー55が設けられる。
【0064】光学系12はレーザ光線を走査することに
よりバーコード11にレーザ光線を照射し、バーコード
11から反射されてくるレーザ光を入力する。A/D変
換器13はアナログデータをデジタルデータに変換す
る。A/D変換器13は光学系12から送られてくるレ
ーザ光に対して‘0’と‘1’との2値化処理を行うこ
とによりバーコードデータを生成する。
【0065】クロック発生器14は基準となるクロック
データを発生する。このクロック発生器14とA/D変
換器13にはバー幅カウンタ15が接続される。バー幅
カウンタ15は、クロック発生器14で発生したクロッ
クデータに基いてバーコードデータの4つのエレメント
の各々のエレメントのバー幅を測定する。バー幅カウン
タ15にはメモリ16が接続される。メモリ16は測定
された各々のエレメントのバー幅の情報を格納する。
【0066】中央処理装置(CPU)18はメモリ16
の制御を行うとともに、補助メモリ17に格納されたキ
ャラクタ復調用のプログラムを読み出して実行する。次
に、バーコード復調装置のバーコードの読み取り動作を
説明する。図5はバーコード復調装置のバーコードの読
み取りを示すフローチャートである。
【0067】まず、光学系12はレーザ光線を走査する
ことにより例えば図6に示したようなバーコード11に
対して左ガードバー53から右ガードバー54までレー
ザ光線を照射し、バーコード11から反射されてくるレ
ーザ光を入力する(ステップ81)。なお、右ガードバ
ー54から左ガードバー53までレーザ光線を照射して
もよい。
【0068】次に、A/D変換器13は光学系12から
送られてくるレーザ光に対して‘0’と‘1’との2値
化処理を行うことによりバーコードデータを生成する
(ステップ82)。例えば、図8に示したように1つの
キャラクタについて‘0’と‘1’からなる7モジュー
ルのバーコードデータを生成する。
【0069】クロック発生器14は基準となるクロック
データを発生する(ステップ83)。バー幅カウンタ1
5は、クロック発生器14で発生したクロックデータに
基いてバーコードデータの4つのエレメントの各々のエ
レメントのバー幅を測定する(ステップ84)。例え
ば、図8(a)に示したバーコードデータでは、バー幅
B1は3モジュール、バー幅B3は1モジュールであ
る。1モジュールについて100クロックとすると、B
1は300クロックカウント、B3は100クロックカ
ウントとなる。
【0070】メモリ16は測定された各々のエレメント
のバー幅のカウント値を格納する(ステップ85)。中
央処理装置(CPU)18はメモリ16から各々のバー
コードデータのバー幅のカウント値を読み出し、この値
を用いて補助メモリ17に格納されたキャラクタ復調用
のプログラムを読み出して実行する(ステップ86)。
【0071】図9はキャラクタ復調部の構成ブロック図
である。キャラクタ復調部は前記キャラクタ復調用プロ
グラムを前記CPU18が実行することによって実現さ
れるものである。
【0072】キャラクタ復調部は距離復調テーブル3
1、歪み量算出部21、歪み量判定部22、第1の復調
部23、第2の復調部24とを備える。距離復調テーブ
ル31は、メモリ16から復調すべきキャラクタのバー
コードデータを入力して図10に示したようにデルタデ
ィスタンスT1,T2のモジュール数に基づいてキャラ
クタとしての1,2,7,8以外の数字を復調する。
【0073】歪み量算出部21はキャラクタが1,2,
7,8の数字の場合に、メモリ16から復調すべきキャ
ラクタのバー幅Bと復調すべきキャラクタの直前の復調
されたキャラクタのバー幅Xを読み出す。
【0074】歪み量算出部21は復調すべきキャラクタ
が1,2,7,8である場合に、既に復調された直前の
キャラクタのバー幅Xに基づいて前記復調すべきキャラ
クタのバー幅Bの歪み量を算出する。ここで、歪み量と
は直前のキャラクタのバー幅Xと復調すべきキャラクタ
のバー幅Bとの差分である。
【0075】歪み量判定部22は前記歪み量が予め定め
られた所定値範囲にはいるかどうかを判定する。第1の
復調部23は前記歪み量が所定値範囲にはいる場合に既
に復調された直前のキャラクタのバー幅に基いて前記復
調すべきキャラクタのバー幅の歪み量を補正することに
よりキャラクタの復調を行う。第1の復調部23及び第
2の復調部24はバー幅復調テーブル32を備える。
【0076】バー幅復調テーブル32は数字1,2,
7,8の場合に図11に示したバー幅B1,B3に基い
て夫々の数字を区別することにより復調する。第2の復
調部24は前記歪み量が所定値範囲外である場合に復調
すべきキャラクタのバー幅の歪み量を補正することによ
りキャラクタの復調を行う。
【0077】図12は本発明の実施例1に従ったバーコ
ード復調方法を示すフローチャートである。まず、メモ
リ16から復調すべきキャラクタのバーコードデータを
入力し、図10に示した距離復調テーブル31を用い
て、デルタディスタンスT1,T2のモジュール数に基
づいて1,2,7,8以外の数字を復調する。1,2,
7,8の場合には、距離復調テーブル31を用いて復調
できないため、1,2,7,8の復調処理を開始する
(ステップ100)。
【0078】次に、歪み量算出部21はメモリ16から
復調すべきキャラクタのバー幅Bと復調すべきキャラク
タの直前の復調されたキャラクタのバー幅Xを読み出す
(ステップ101)。
【0079】そして、歪み量算出部21はキャラクタが
1,2,7,8である場合に、既に復調された直前のキ
ャラクタのバー幅Xに基いてそのキャラクタの歪み量を
算出する(ステップ102)。歪み量判定部22はバー
幅の歪み量が予め定められた所定値内にはいるかどうか
を判定する(ステップ103)。
【0080】第1の復調部23は前記歪み量が所定値範
囲にはいる場合に既に復調された直前のキャラクタのバ
ー幅Xに基いて前記復調すべきキャラクタのバー幅の歪
み量を補正することによりキャラクタの復調を行う(ス
テップ104)。ここでは、数字が1,2,7,8であ
るので、バー幅復調テーブル32を用いて夫々の数字を
区別することにより復調する。
【0081】第2の復調部24は前記歪み量が所定値範
囲外である場合に復調すべきキャラクタのバー幅Bの歪
み量を補正することによりキャラクタの復調を行う(ス
テップ105)。バー幅復調テーブル32を用いて夫々
の数字を区別することにより復調する。
【0082】なお、第1の復調部23、第2の復調部2
4の詳細な構成及び動作については、実施例3で後述す
る。このようにバーコード毎にバー幅の歪み量の大きさ
に応じて自動的に第1の復調処理または第2の復調処理
を行うので、バーコードの読み取り精度を向上すること
ができる。 <実施例2>次に、本発明の実施例2について説明す
る。図13は本発明の実施例2のキャラクタ復調部を示
す構成ブロック図である。
【0083】実施例2では、実施例1のバーコード復調
装置に対して第2の復調部の構成が異なる。第2の復調
部24aは数字が1,2,7,8であって、前記歪み量
が所定値範囲外である場合にメモリ16から復調すべき
キャラクタのバー幅を入力しこの復調すべきキャラクタ
のバー幅に基いて復調すべきキャラクタのバー幅の歪み
量を補正することによりキャラクタの復調を行う。
【0084】なお、その他の構成は実施例1の構成と同
一構成である。同一部分は同一符号を付しその詳細は省
略する。図15は本発明の実施例2に従ったバーコード
復調方法を示すフローチャートである。まず、1,2,
7,8の場合には、距離復調テーブル31を用いて復調
できないため、1,2,7,8の復調処理を開始する
(ステップ200)。
【0085】歪み量算出部21はメモリ16から図14
に示したような復調すべきキャラクタ(自己のキャラク
タ)のバー幅B1,B3と復調すべきキャラクタの直前
の復調されたキャラクタのバー幅Xを読み出す(ステッ
プ201)。そして、歪み量算出部21はキャラクタが
1,2,7,8である場合に、既に復調された直前のキ
ャラクタのバー幅Xに基いてそのキャラクタの歪み量を
算出する(ステップ202)。
【0086】歪み量判定部22はバー幅の歪み量が予め
定められた所定値内にはいるかどうかを判定する(ステ
ップ203)。第1の復調部23は、前記歪み量が所定
値範囲にはいる場合に、既に復調された直前のキャラク
タのバー幅Xに基いて、前記復調すべきキャラクタのバ
ー幅B1,B3の歪み量を補正することにより、キャラ
クタの復調を行う(ステップ204)。
【0087】ここでは、数字が1,2,7,8であるの
で、バー幅復調テーブル32を用いて夫々の数字を区別
することにより復調する。第2の復調部24aは前記歪
み量が所定値範囲外である場合にメモリ16から復調す
べきキャラクタのバー幅を入力する(ステップ20
5)。そして、第2の復調部24aは、復調すべきキャ
ラクタのバー幅に基いて復調すべきキャラクタのバー幅
の歪み量を補正することによりキャラクタの復調を行う
(ステップ206)。
【0088】このようにバーコード毎にバー幅の歪み量
の大きさに応じて自動的に第1の復調処理または第2の
復調処理を行うので、バーコードの読み取り精度を向上
することができる。 <実施例3>次に、本発明の実施例3について説明す
る。図16は本発明の実施例3のキャラクタ復調部を示
す構成ブロック図である。
【0089】図16において、キャラクタ復調部には前
記距離復調テーブル31が設けられる。歪み量算出部2
1aはキャラクタが1,2,7,8である場合に、メモ
リ16から復調すべきキャラクタのバー幅Bと復調すべ
きキャラクタの直前の復調されたキャラクタのバー幅X
を読み出す。
【0090】歪み量算出部21aは復調すべきキャラク
タが1,2,7,8である場合に既に復調された直前の
キャラクタのバー幅Xと前記復調すべきキャラクタのバ
ー幅B1,B3の差分量B1−X,B3−Xを歪み量と
して算出するとともに、その差分量を1モジュールのバ
ー幅で除算することによりモジュール値を算出する。
【0091】歪み量判定部22aは前記モジュール値が
予め定められた基準モジュール値の上下0.4にはいる
かどうかを判定する。第1の復調部23aは前記モジュ
ール値が予め定められた基準モジュール値の上下0.4
にはいる場合にキャラクタの復調を行う。第1の復調部
23a及び第2の復調部24aは前記バー幅復調テーブ
ル32を備える。
【0092】前記歪み量判定部22aには歪み量算出部
21bが接続される。歪み量算出部21bは前記モジュ
ール値が予め定められた基準モジュール値の上下0.4
にはいらない場合に復調すべきキャラクタのバー幅をメ
モリ16から入力してそのバー幅が1モジュール値に対
して何モジュールかを算出する。
【0093】歪み量算出部21bには歪み量判定部22
bが接続される。歪み量判定部22bはそのモジュール
値が基準モジュール値の上下0.4にはいるかを判定す
る。歪み量判定部22bには第2の復調部24bが接続
される。
【0094】第2の復調部24bはそのモジュール値が
基準モジュール値の上下0.4にはいる場合にキャラク
タの復調を行う。図19は本発明の実施例3に従ったバ
ーコード復調方法を示すフローチャートである。まず、
1,2,7,8の場合には、距離復調テーブル31を用
いて復調できないため、1,2,7,8の復調処理を開
始する(ステップ300)。
【0095】歪み量算出部21aはメモリ16から復調
すべき1,2,7,8のキャラクタのバー幅Bと復調す
べきキャラクタの直前の復調されたキャラクタのバー幅
Xを読み出す(ステップ301)。
【0096】歪み量算出部21aは復調すべきキャラク
タが1,2,7,8である場合に、既に復調された直前
のキャラクタのバー幅Xと前記復調すべきキャラクタの
バー幅B1,B3の差分量B1−X,B3−Xを歪み量
として算出する(ステップ302)。さらに、歪み量算
出部21aは、その差分量を1モジュールのバー幅で除
算することによりモジュール値を算出する。
【0097】そのモジュール値は図17に示すように例
えば0.0から3.5までの値となる。歪み量判定部2
2aは前記モジュール値が予め定められた基準モジュー
ル値、例えば0.0,1.0,2.0の上下0.4には
いるかどうかを判定する(ステップ303)。
【0098】第1の復調部23aは前記モジュール値が
予め定められた基準モジュール値の上下0.4にはいる
場合にキャラクタの復調を行う(ステップ304)。す
なわち、基準モジュール値の上下0.4にはいる場合に
は基準モジュール値としてみなして復調を行う。このよ
うに歪み量が所定範囲内にある場合には直前の復調され
たキャラクタのバー幅に基づき復調すべきキャラクタの
バー幅長を求める。
【0099】一方、前記モジュール値が予め定められた
基準モジュール値の上下0.4にはいらない場合、例え
ばモジュール値1.5の上下0.1の範囲にある場合に
は、基準モジュール1と2とのいずれかわからない。
【0100】この場合には、歪み量算出部21bは復調
すべきキャラクタのバー幅B1,B3をメモリ16から
入力してそのバー幅が1モジュール値に対して何モジュ
ールかを算出する(ステップ306)。復調すべきキャ
ラクタのバー幅のモジュールは図18に示したように例
えば0.0から4.0までの値をとる。
【0101】そして、歪み量判定部22bはそのモジュ
ール値が基準モジュール値、例えば1.0,2.0の上
下0.4にはいるかを判定する(ステップ307)。第
2の復調部24bはそのモジュール値が基準モジュール
値の上下0.4にはいる場合にキャラクタの復調を行う
(ステップ308)。このように復調すべきキャラクタ
長からバー幅長を算出する。第2の復調部24bはその
モジュール値が基準モジュール値の上下0.4にはいら
ない場合にキャラクタの復調を行なわない(ステップ3
09)。
【0102】このように実施例3によっても、バーコー
ド毎にバー幅の歪み量の大きさに応じて自動的に第1の
復調処理または第2の復調処理を行うので、バーコード
の読み取り精度を向上することができる。
【0103】実施例3によるキャラクタの復調結果を図
20に示す。図20(c)では、直前のキャラクタのバ
ー幅Xが1.0であって、そのときの復調すべきキャラ
クタのバー幅Bが0.5から1.5に変化した場合を示
す。
【0104】この場合、第1の復調部はバー幅Bが0.
7から1.3までキャラクタを復調できる。図20では
その復調範囲は補正OKにより示す。第2の復調部はバ
ー幅Bが0.5,0.6及び1,4,1.5までキャラ
クタを復調できる。図20ではその復調範囲は補正グレ
ーゾーン及び直接復調により示す。ここで、直接復調と
は、復調すべき自己のキャラクタに基づきバー幅を復調
したことをいう。
【0105】なお、図20(a),(b),(d),
(e)は直前のキャラクタのバー幅Xが変化した場合の
キャラクタの復調を示す。例えば、図20(b)に示す
例では、直前のキャラクタのバー幅Xが1.3であっ
て、そのときの復調すべきキャラクタのバー幅Bが0.
5から1.5に変化した場合を示す。図20(c)に示
す例では、Bバーのモジュール1.0が基準となった。
図20(b)に示す例では、Bバーのモジュール1.3
が基準となるので、第1の復調部はBバーモジュールが
1.0から1.5までの範囲を復調できる。第2の復調
部はBバーモジュールが0.6から0.9までの範囲を
復調できる。
【0106】また、図20(d)に示す例では、Bバー
のモジュール0.7が基準となるので、第1の復調部は
Bバーモジュールが0.5から1.0までの範囲を復調
できる。第2の復調部はBバーモジュールが1.1から
1.4までの範囲を復調できる。
【0107】この図から第1の復調処理と第2の復調処
理とを行うので、バーコードの読み取り精度が向上した
ことがわかる。 <実施例4>次に、本発明の実施例4について説明す
る。図21は実施例4のキャラクタ復調部を示す構成ブ
ロック図である。実施例4では、実施例3の構成に対し
てキャラクタ確認部42が設けられる点が異なる。キャ
ラクタ確認部42は第1の復調部23aと第2の復調部
24bに接続される。
【0108】バーコードの品質が非常に悪い場合にはキ
ャラクタ1,2,7,8が誤って復調される場合もあ
る。このため、復調されたキャラクタが1,2,7,8
であって、その次のキャラクタが1,2,7,8以外で
ある場合には、正しく復調された1,2,7,8以外の
キャラクタの黒バー幅を用いて前記直前の復調されたキ
ャラクタ1,2,7,8を再確認する必要がある。
【0109】前記第1の復調部23aまたは第2の復調
部24bはキャラクタを復調するとともに、直前のキャ
ラクタが1,2,7,8であるか判定する。前記キャラ
クタ確認部42は、第1の復調部23aまたは第2の復
調部24bが復調すべき歪みのないキャラクタの直前の
キャラクタを復調した場合に、前記復調すべき歪みのな
いキャラクタの黒バーを用いて前記復調された直前のキ
ャラクタを再確認する。ここで、復調すべき歪みのない
キャラクタは1,2,7,8以外のキャラクタである。
直前のキャラクタは1,2,7,8のキャラクタであ
る。
【0110】次に、実施例4の動作を説明する。図22
はキャラクタの再確認を説明する図、図23は実施例4
のバーコード復調方法を示すフローチャートである。な
お、実施例4の処理は実施例3に示すステップ304の
第1の復調処理またはステップ308の第2の復調処理
が終了した後に行われる。
【0111】まず、図22に示したように、キャラクタ
CHR1が1,2,7,8である場合、例えば、第1の
復調部23aが直前の復調されたキャラクタの黒バーX
を用いてキャラクタCHR1を復調する。
【0112】次に、1,2,7,8以外のキャラクタC
HR2は距離復調テーブルにより復調される(ステップ
400)。この1,2,7,8以外のキャラクタCHR
2は正しく復調される。そして、第1の復調部23aは
キャラクタCHR2の直前のキャラクタが1,2,7,
8であるか判定する(ステップ401)。
【0113】直前のキャラクタが1,2,7,8である
と判定された場合にはキャラクタ確認部42はキャラク
タCHR2の正確な黒バーf,黒バーhを用いてキャラ
クタCHR1の黒バーb,黒バーdのバー幅の長さを確
認する。そして、キャラクタ確認部42はそのキャラク
タCHR1の数字を求め、この数字が前記第1の復調部
または第2の復調部で復調された数字と一致するかを判
定する。すなわち、キャラクタ確認部42は前記第1の
復調部または第2の復調部による直前のキャラクタCH
R1の復調処理が正しく行われたかどうかの再確認を行
う(ステップ402)。
【0114】そして、キャラクタ確認部42は直前のキ
ャラクタCHR1の再確認がOKかNGかを判定する
(ステップ403)。直前のキャラクタの再確認がOK
である場合には処理を終了する。再確認がNGである場
合には、直前のキャラクタCHR1の復調ができないと
する(ステップ404)。従って、1,2,7,8のキ
ャラクタCHR1の信頼性が向上する。
【0115】なお、実施例4では、第1の復調部23a
を用いてキャラクタの再確認が行なわれた。例えば第2
の復調部24bを用いてキャラクタの再確認が行なわれ
てもよい。 <実施例5>次に、本発明の実施例5について説明す
る。図24は実施例5のキャラクタ復調部の構成ブロッ
ク図である。前記キャラクタ復調部はメモリ16、距離
復調テーブル31、モジュール数算出部62、キャラク
タ判定部64とを備える。
【0116】モジュール数算出部62は、メモリ16か
らキャラクタのデルタディスタンスT1,T2のカウン
ト値を読み出してデルタディスタンスT1,T2のモジ
ュール数を算出する。距離復調テーブル31は算出され
たデルタディスタンスT1,T2のモジュール数から
1,2,7,8以外のキャラクタを算出(復調)する。
キャラクタ判定部64は復調すべきキャラクタが1,
2,7,8であるか判定する。
【0117】前記キャラクタ復調部はさらに、歪み量算
出部21c、歪み量判定部22c、第1の復調部23
c、第2の復調部24cとを備える。前記歪み量算出部
21cは、キャラクタが1,2,7,8である場合に復
調すべきキャラクタのバー幅の歪み量を算出するととも
に復調すべき前記キャラクタの直前の復調されたキャラ
クタのバー幅の歪み量を算出する。前記歪み量判定部2
2cは、前記歪み量算出部21cで算出された前記復調
すべきキャラクタのバー幅の歪み量及び直前の復調され
たキャラクタのバー幅の歪み量の正負の符号を判定す
る。
【0118】前記第1の復調部23cは、復調すべきキ
ャラクタのバー幅の歪み量及び直前の復調されたキャラ
クタのバー幅の歪み量の正負の符号が同符号である場合
には直前のキャラクタのバー幅に基づいて復調すべきキ
ャラクタのバー幅の歪み量を補正する。前記第1の復調
部23cは、バー幅復調テーブル32により前記キャラ
クタを復調する。
【0119】前記第2の復調部24cは、復調すべきキ
ャラクタのバー幅の歪み量及び直前の復調されたキャラ
クタのバー幅の歪み量の正負の符号が異符号である場合
には、復調すべきキャラクタのバー幅に基づいてそのバ
ー幅の歪み量を補正する。前記第2の復調部24cは、
バー幅復調テーブル32によりキャラクタを復調する。
【0120】次に、図25に示すフローチャートを用い
て実施例5のバーコード復調方法を説明する。まず、メ
モリ16にはバー幅カウント値が格納されているので、
メモリ16からモジュール数算出部62にデルタディス
タンスT1,T2のカウンタ値が読み出される(ステッ
プ501)。
【0121】次に、モジュール数算出部62はデルタデ
ィスタンスT1,T2のモジュール数を算出する(ステ
ップ502)。そして、デルタディスタンスT1,T2
に基づき距離復調テーブル31によりキャラクタが算出
される(ステップ503)。キャラクタ判定部64は算
出されたキャラクタがオッド,イーブンの1,2,7,
8であるかどうかを判定する(ステップ504)。
【0122】算出されたキャラクタがオッド,イーブン
の1,2,7,8である場合には、歪み量算出部21c
は、補正すべきキャラクタの隣接する復調されたキャラ
クタの黒バーの歪み量(Y)を算出する(ステップ50
5)。次に、歪み量算出部21cは、補正すべきキャラ
クタの2つの黒バーの歪み量(Z)を算出する(ステッ
プ506)。
【0123】さらに、歪み量判定部22cは、歪み量
(Y)と歪み量(Z)とを判別する(ステップ50
7)。そして、歪み量判定部22cは、歪み量(Y)と
歪み量(Z)との正負の符号が同符号かを判定する(ス
テップ508)。
【0124】ここで、歪み量(Y)と歪み量(Z)との
正負の符号が同符号となるのは、歪み量(Y)及び歪み
量(Z)が共に正(+)である場合と歪み量(Y)及び
歪み量(Z)が共に負(−)である場合とがある。
【0125】歪み量(Y)と歪み量(Z)との正負の符
号が同符号となる場合には、一般に歪み量(Y)と歪み
量(Z)との差分が小さくなる。この場合には、第1の
復調部23cによりキャラクタの復調が行われる(ステ
ップ509)。
【0126】一方、歪み量(Y)と歪み量(Z)との正
負の符号が異なる符号となる場合には、一般に歪み量
(Y)と歪み量(Z)との差分が大きくなる。この場合
には、第2の復調部24cによりキャラクタの復調が行
われる(ステップ510)。
【0127】このように、復調すべきキャラクタのバー
幅の歪み量及び直前の復調されたキャラクタのバー幅の
歪み量の正負の符号が同符号か異符号かに応じて自動的
に第1の復調処理または第2の復調処理を行うので、バ
ーコードの読み取り精度を向上することができる。
【0128】次に、実施例5の具体的な例を示す。図2
6ではキャラクタが全体的に黒太りした場合の例であ
る。図26(a)には復調されたキャラクタ(キャラク
タ長C1)と復調すべきキャラクタ(キャラクタ長C
2)とが示される。点線で示すバー幅は論理幅(基準
幅)であり、実線で示すバー幅は歪み量を含む実際のバ
ー幅である。図からもわかるように黒バーxと黒バーb
と黒バーdとは共に太っており、論理幅に対して正
(+)である。図26(b)には復調されたキャラクタ
と復調すべきキャラクタの白バー及び黒バーの論理幅の
モジュールが示される。
【0129】図27には図26に示すキャラクタの実際
の各バーのモジュール数が示される。ここで、1モジュ
ールはキャラクタ長C1またはC2を7で割った値であ
る。図27(a)において、xバーのモジュール数x1
は1.2である。図27(b)において、bバーのモジ
ュール数b1は2.3である。図27(c)において、
dバーのモジュール数d1は1.2である。各バーのモ
ジュール数は基準モジュールに対して共に正である。従
って、この場合には、第1の復調部23cにより復調処
理が行われる。
【0130】次に、図28ではキャラクタが全体的に黒
細りした場合の例である。図28(a)からもわかるよ
うに黒バーxと黒バーbと黒バーdとは共に細ってお
り、論理幅に対して負(−)である。
【0131】図29(a)において、xバーのモジュー
ル数x2は0.8である。図29(b)において、bバ
ーのモジュール数b2は1.7である。図29(c)に
おいて、dバーのモジュール数d2は0.8である。各
バーのモジュール数は基準モジュールに対して共に負で
ある。従って、この場合にも、第1の復調部23cによ
り復調処理が行われる。
【0132】次に、図30では基本になるxバーが極端
に黒太りした場合の例である。図30(a)からもわか
るように黒バーxは太り、黒バーbと黒バーdとは共に
細っている。すなわち、黒バーxは論理幅に対して正
(+)であり、黒バーbと黒バーdとは共に論理幅に対
して負(−)である。
【0133】また、図31(a)において、xバーのモ
ジュール数x3は1.3である。図31(b)におい
て、bバーのモジュール数b3は1.7である。図31
(c)において、dバーのモジュール数d3は0.8で
ある。従って、この場合には、黒バーxと黒バーbとの
正負の符号が異符号であるので、第2の復調部24cに
より復調処理が行われる。 <実施例6>次に、本発明の実施例6について説明す
る。図32は実施例6のキャラクタ復調部の構成ブロッ
ク図である。キャラクタ復調部は歪み量算出部21c、
歪み量判定部22d、第1の復調部23d、第2の復調
部24dとを備える。
【0134】歪み量算出部21cは、復調すべきキャラ
クタのバー幅の歪み量を算出するとともに復調すべき前
記キャラクタの直前の復調されたキャラクタのバー幅の
歪み量を算出する。
【0135】前記歪み量判定部22dは、前記歪み量算
出部21cで算出された前記復調すべきキャラクタのバ
ー幅の歪み量と直前の復調されたキャラクタのバー幅の
歪み量とのバー幅の歪み量の差が所定値範囲内かを判定
する。
【0136】前記第1の復調部23dは、バー幅の歪み
量の差が所定値範囲内である場合には直前のキャラクタ
のバー幅に基づいて復調すべきキャラクタのバー幅の歪
み量を補正することにより前記キャラクタを復調する。
【0137】前記第2の復調部24dは、バー幅の歪み
量の差が所定値範囲外である場合には復調すべきキャラ
クタのバー幅に基づいてそのバー幅の歪み量を補正する
ことによりキャラクタを復調する。
【0138】なお、その他の構成は実施例5の構成と同
一であるので、その詳細な説明は省略する。次に、図3
3に示すフローチャートを用いて実施例6のバーコード
復調方法を説明する。まず、メモリ16にはバー幅カウ
ント値が格納されているので、メモリ16からモジュー
ル数算出部62にデルタディスタンスT1,T2のカウ
ンタ値が読み出される(ステップ601)。
【0139】次に、モジュール数算出部62はデルタデ
ィスタンスT1,T2のモジュール数を算出する(ステ
ップ602)。そして、デルタディスタンスT1,T2
に基づき距離復調テーブル31によりキャラクタが算出
される(ステップ603)。キャラクタ判定部64は算
出されたキャラクタがオッド,イーブンの1,2,7,
8であるかどうかを判定する(ステップ604)。
【0140】算出されたキャラクタがオッド,イーブン
の1,2,7,8である場合には、歪み量算出部21c
は、補正すべきキャラクタの隣接する復調されたキャラ
クタの黒バーの歪み量(Y)を算出する(ステップ60
5)。次に、歪み量算出部21cは、補正すべきキャラ
クタの2つの黒バーの歪み量(Z)を算出する(ステッ
プ606)。
【0141】さらに、歪み量判定部22dは、歪み量
(Y)と歪み量(Z)とを判別する(ステップ60
7)。そして、歪み量判定部22dは、歪み量(Y)と
歪み量(Z)との差が所定値内かを判定する(ステップ
608)。
【0142】歪み量(Y)と歪み量(Z)との差が所定
値内となる場合には、第1の復調部23cによりキャラ
クタの復調が行われる(ステップ609)。一方、歪み
量(Y)と歪み量(Z)との差が所定値外となる場合に
は、第2の復調部24cによりキャラクタの復調が行わ
れる(ステップ610)。
【0143】このように、バー幅の歪み量復調すべきキ
ャラクタのバー幅の歪み量と直前の復調されたキャラク
タのバー幅の歪み量とのバー幅の歪み量の差に応じて自
動的に第1の復調処理または第2の復調処理を行うの
で、バーコードの読み取り精度を向上することができ
る。
【0144】次に、実施例6の具体的な例を示す。図3
4にバー幅の歪みの差分による判別を示す。図34
(a)からもわかるように黒バーxは細り、黒バーbと
黒バーdとは共に太っている。
【0145】また、図35(a)において、xバーのモ
ジュール数x4は0.9であるので、その歪み量は−
0.1である。図35(b)において、bバーのモジュ
ール数b4は2.1であるので、その歪み量は+0.1
である。図35(c)において、dバーのモジュール数
d4は1.1であるので、その歪み量は+0.1であ
る。
【0146】次に、xバーの歪み量とbバーの歪み量ま
たはdバーの歪み量との差分値を求める。例えば、xバ
ーの歪み量とbバーの歪み量との差分は0.2である。
また、前記所定値を例えば0.4とすると、前記差分値
は所定値内である。この場合には、第1の復調部23d
により復調が行われる。
【0147】
【発明の効果】本発明によれば、バー幅の歪み量が所定
値範囲内にあると判定された場合には、第1の復調手段
はそのバー幅の歪み量に第1の補正処理を行うことによ
りバーコードデータからキャラクタを復調する。一方、
バー幅の歪み量が所定値範囲外にあると判定された場合
には、第2の復調手段はそのバー幅の歪み量に第2の補
正処理を行うことによりバーコードデータからキャラク
タを復調する。
【0148】このようにバーコード毎にバー幅の歪み量
の大きさに応じて自動的に第1の復調処理または第2の
復調処理を行うので、バーコードの読み取り精度を向上
することができる。
【0149】また、歪み量算出手段は距離復調テーブル
では復調できない特定のキャラクタのバーコードデータ
を入力し、その特定のキャラクタのバーコードデータを
処理することができる。
【0150】また、光学装置がバーコードに光を照射す
ると、A/D変換器によりバーコードからの反射光が2
値化処理されることでバーコードデータが生成される。
バー幅カウンタはバーコードデータのバー幅をクロック
信号によりカウントするので、バー幅の長さを算出する
ことができる。
【0151】歪み量算出手段は既に復調された直前のキ
ャラクタのバー幅に基づき復調すべきキャラクタのバー
幅の歪み量を算出することができる。第1の復調手段は
既に復調された直前のキャラクタのバー幅に基づいてバ
ー幅の歪み量を補正することによりキャラクタを復調す
ることができる。
【0152】第2の復調手段は復調すべきキャラクタの
バー幅に基づいてバー幅の歪み量を補正することにより
キャラクタを復調することができる。第2の復調手段は
復調すべきキャラクタのバー幅の歪み量を測定し、その
歪み量が所定値範囲にある場合にはキャラクタを復調す
ることができる。
【0153】第1の確認手段は第1の復調手段が復調す
べき歪みのないキャラクタの直前のキャラクタを復調し
た場合に復調すべき歪みのないキャラクタを用いて復調
された直前のキャラクタを再確認するので、そのキャラ
クタの信頼性が向上する。
【0154】第2の確認手段は第2の復調手段が復調す
べき歪みのないキャラクタの直前のキャラクタを復調し
た場合に復調すべき歪みのないキャラクタを用いて復調
された直前のキャラクタを再確認するので、そのキャラ
クタの信頼性が向上する。
【0155】歪み量算出手段は既に復調された直前のキ
ャラクタのバー幅と復調すべきキャラクタのバー幅との
差分を歪み量として算出し、その歪み量をキャラクタを
構成するモジュール幅で除算することによりモジュール
値を求める。歪み判定手段はモジュール値が予め定めら
れた基準モジュール値の上下限モジュール内にはいる場
合に前記歪み量が前記所定値範囲内であると判定するの
で、第1の補正処理によりキャラクタの復調を行うこと
ができる。
【0156】また、復調すべきキャラクタのバー幅の歪
み量及び直前の復調されたキャラクタのバー幅の歪み量
の正負の符号が同符号か異符号かに応じて自動的に第1
の復調処理または第2の復調処理を行うので、バーコー
ドの読み取り精度を向上することができる。
【0157】さらに、バー幅の歪み量復調すべきキャラ
クタのバー幅の歪み量と直前の復調されたキャラクタの
バー幅の歪み量とのバー幅の歪み量の差に応じて自動的
に第1の復調処理または第2の復調処理を行うので、バ
ーコードの読み取り精度を向上することができる。
【図面の簡単な説明】
【図1】本発明のバーコード復調装置を示す原理図であ
る。
【図2】本発明のバーコード復調方法を示す原理フロチ
ャートである。
【図3】本発明のバーコード復調装置の外観図である。
【図4】本発明の実施例1に従ったバーコード復調装置
を示す構成ブロック図である。
【図5】本発明の実施例1に従ったバーコード復調装置
のバーコードの読み取りを示すフローチャートである。
【図6】バーコードの一例を示す図である。
【図7】1つのキャラクタのモジュール構成図である。
【図8】バーコードデータの一例を示す図である。
【図9】実施例1のキャラクタ復調部の構成ブロック図
である。
【図10】距離復調テーブルを示す図である。
【図11】バー幅復調テーブルを示す図である。
【図12】本発明の実施例1に従ったバーコード復調方
法を示すフローチャートである。
【図13】実施例2のキャラクタ復調部を示す構成ブロ
ック図である。
【図14】自己のキャラクタと直前のキャラクタを示す
図である。
【図15】本発明の実施例2に従ったバーコード復調方
法を示すフローチャートである。
【図16】実施例3のキャラクタ復調部を示す構成ブロ
ック図である。
【図17】実施例3における第1の復調部の処理を説明
する図である。
【図18】実施例3における第2の復調部の処理を説明
する図である。
【図19】本発明の実施例3に従ったバーコード復調方
法を示すフローチャートである。
【図20】実施例3によるキャラクタの復調結果を示す
図である。
【図21】実施例4の構成ブロック図である。
【図22】キャラクタの再確認を説明する図である。
【図23】実施例4のバーコード復調方法を示すフロー
チャートである。
【図24】実施例5のキャラクタ復調部を示す構成ブロ
ック図である。
【図25】実施例5のバーコード復調方法を示すフロー
チャートである。
【図26】キャラクタが全体的に黒太りした場合を示す
図である。
【図27】図26に示すキャラクタの各バーのモジュー
ル数を示す図である。
【図28】キャラクタが全体的に黒細りした場合を示す
図である。
【図29】図28に示すキャラクタの各バーのモジュー
ル数を示す図である。
【図30】基本になるXバーが極端に黒太りした場合を
示す図である。
【図31】図30に示すキャラクタの各バーのモジュー
ル数を示す図である。
【図32】実施例6のキャラクタ復調部を示す構成ブロ
ック図である。
【図33】実施例6のバーコード復調方法を示すフロー
チャートである。
【図34】実施例6のバー幅の歪みの差分による判別を
示す図である。
【図35】図34に示すキャラクタの各バーのモジュー
ル数を示す図である。
【符号の説明】
1・・正面部 2・・読み取り窓 3・・側面部 4・・スイッチ 6・・発光ダイオード 8・・スピーカ 11・・バーコード 12・・光学系 13・・A/D 14・・クロック発生器 15・・バー幅カウンタ 16・・メモリ 17・・補助メモリ 18・・CPU 21・・歪み量算出部 22・・歪み量判定部 23・・第1の復調部 24・・第2の復調部 31・・距離復調テーブル 32・・バー幅復調テーブル 51・・左ブロック 52・・右ブロック 53・・左ガードバー 54・・右ガードバー 55・・センタバー 62・・モジュール数算出部 64・・キャラクタ判定部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 篠田 一郎 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 伊藤 元彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 キャラクタをバー幅により表したバーコ
    ードを読み取ることによってバーコードデータを生成
    し、前記バーコードデータを用いて前記キャラクタを復
    調するバーコード復調方法において、 復調すべきキャラクタのバー幅の誤差である バー幅の歪
    み量を算出する歪み量算出ステップと、 前記歪み量算出ステップで算出されたバー幅の歪み量が
    所定値範囲内にあるか否かを判定する歪み量判定ステッ
    プと、 前記歪み量判定ステップでバー幅の歪み量が所定値範囲
    内にあると判断された場合にそのバー幅の歪み量に第1
    の補正処理を行うことにより前記バーコードデータから
    前記キャラクタを復調する第1の復調ステップと、 前記歪み量判定ステップでバー幅の歪み量が所定値範囲
    外にあると判断された場合にそのバー幅の歪み量に前記
    第1の補正処理とは異なる第2の補正処理を行うことに
    より前記バーコードデータから前記キャラクタを復調す
    る第2の復調ステップとを備えたことを特徴とするバー
    コード復調方法。
  2. 【請求項2】 請求項1において、複数の白バーデータ
    と複数の黒バーデータとからなる前記バーコードデータ
    の隣接する白バーデータと黒バーデータとの距離に基い
    て特定のキャラクタ以外のキャラクタのみを復調する距
    離復調ステップを含み、 前記歪み量算出ステップは、前記特定のキャラクタのバ
    ーコードデータを入力することを特徴とするバーコード
    復調方法。
  3. 【請求項3】 請求項1または請求項2において、前記
    歪み量算出ステップは、前記復調すべきキャラクタに対
    して既に復調された直前のキャラクタのバー幅に基づい
    て前記復調すべきキャラクタのバー幅の歪み量を算出す
    ることを特徴とするバーコード復調方法。
  4. 【請求項4】 請求項1から請求項3のいずれか1つの
    請求項において、前記第1の復調ステップは、前記復調
    すべきキャラクタに対して既に復調されたキャラクタの
    バー幅に基づいて前記バー幅の歪み量を補正することに
    より前記キャラクタを復調することを特徴とするバーコ
    ード復調方法。
  5. 【請求項5】 請求項1から請求項3のいずれか1つの
    請求項において、前記第2の復調ステップは、復調すべ
    きキャラクタのバー幅に基づいて前記バー幅の歪み量を
    補正することによりキャラクタを復調することを特徴と
    するバーコード復調方法。
  6. 【請求項6】 請求項5において、前記第2の復調ステ
    ップは、前記復調すべきキャラクタのバー幅の歪み量を
    測定し、その歪み量が所定値範囲にある場合にはキャラ
    クタの復調を行うことを特徴とするバーコード復調方
    法。
  7. 【請求項7】 請求項1において、さらに、前記第1の
    復調ステップにおいて復調すべき歪みのないキャラクタ
    の直前のキャラクタを復調した場合に、前記復調すべき
    歪みのないキャラクタを用いて前記復調された直前のキ
    ャラクタを再確認する第1の確認ステップを備えたこと
    を特徴とするバーコード復調方法。
  8. 【請求項8】 請求項1において、さらに、前記第2の
    復調ステップにおいて復調すべき歪みのないキャラクタ
    の直前のキャラクタを復調した場合に、前記復調すべき
    歪みのないキャラクタを用いて前記復調された直前のキ
    ャラクタを再確認する第2の確認ステップを備えたこと
    を特徴とするバーコード復調方法。
  9. 【請求項9】 請求項3において、前記歪み量算出ステ
    ップは既に復調された直前のキャラクタのバー幅と前記
    復調すべきキャラクタのバー幅との差分を歪み量として
    算出するとともに、その歪み量をキャラクタを構成する
    モジュール幅で除算することによりモジュール値を求
    め、 前記歪み判定ステップは、前記モジュール値が予め定め
    られた基準モジュール値の上下限モジュール内にはいる
    場合に前記歪み量が前記所定値範囲内であると判定する
    ことを特徴とするバーコード復調方法。
  10. 【請求項10】 請求項9において、前記基準モジュー
    ル値の上下限モジュールは、基準モジュール値の上下
    0.4モジュールであることを特徴とするバーコード復
    調方法。
  11. 【請求項11】 請求項1または請求項2において、前
    記歪み量算出ステップは、前記復調すべきキャラクタの
    バー幅の歪み量を算出するとともに復調すべき前記キャ
    ラクタの直前の復調されたキャラクタのバー幅の歪み量
    を算出し、 前記歪み量判定ステップは、前記算出された前記復調す
    べきキャラクタのバー幅の歪み量及び直前の復調された
    キャラクタのバー幅の歪み量の正負の符号を判定し、 前記第1の復調ステップは、復調すべきキャラクタのバ
    ー幅の歪み量及び直前の復調されたキャラクタのバー幅
    の歪み量の正負の符号が同符号である場合には直前のキ
    ャラクタのバー幅に基づいて復調すべきキャラクタのバ
    ー幅の歪み量を補正することにより前記キャラクタを復
    調し、 前記第2の復調ステップは、復調すべきキャラクタのバ
    ー幅の歪み量及び直前の復調されたキャラクタのバー幅
    の歪み量の正負の符号が異符号である場合には、復調す
    べきキャラクタのバー幅に基づいてそのバー幅の歪み量
    を補正することによりキャラクタを復調することを特徴
    とするバーコード復調方法。
  12. 【請求項12】 請求項1または請求項2において、前
    記歪み量算出ステップは、前記復調すべきキャラクタの
    バー幅の歪み量を算出するとともに復調すべき前記キャ
    ラクタの直前の復調されたキャラクタのバー幅の歪み量
    を算出し、 前記歪み量判定ステップは、前記算出された前記復調す
    べきキャラクタのバー幅の歪み量と直前の復調されたキ
    ャラクタのバー幅の歪み量とのバー幅の歪み量の差が所
    定値範囲内かを判定し、 前記第1の復調ステップは、バー幅の歪み量の差が所定
    値範囲内である場合には直前のキャラクタのバー幅に基
    づいて復調すべきキャラクタのバー幅の歪み量を補正す
    ることにより前記キャラクタを復調し、 前記第2の復調ステップは、バー幅の歪み量の差が所定
    値範囲外である場合には復調すべきキャラクタのバー幅
    に基づいてそのバー幅の歪み量を補正することによりキ
    ャラクタを復調することを特徴とするバーコード復調方
    法。
  13. 【請求項13】 キャラクタをバー幅により表したバー
    コードを読み取ることによってバーコードデータを生成
    し、前記バーコードデータを用いて前記キャラクタを復
    調するバーコード復調装置において、 復調すべきキャラクタのバー幅の誤差である バー幅の歪
    み量を算出する歪み量算出手段と、 前記歪み量算出手段で算出されたバー幅の歪み量が所定
    値範囲内にあるか否かを判定する歪み量判定手段と、 前記歪み量判定手段によりバー幅の歪み量が所定値範囲
    内にあると判断された場合にそのバー幅の歪み量に第1
    の補正処理を行うことにより前記バーコードデータから
    前記キャラクタを復調する第1の復調手段と、 前記歪み量判定手段によりバー幅の歪み量が所定値範囲
    外にあると判断された場合にそのバー幅の歪み量に前記
    第1の補正処理と異なる第2の補正処理を行うことによ
    り前記バーコードデータから前記キャラクタを復調する
    第2の復調手段とを備えたことを特徴とするバーコード
    復調装置。
  14. 【請求項14】 請求項13において、さらに、複数の
    白バーデータと複数の黒バーデータとからなる前記バー
    コードデータの隣接する白バーデータと黒バーデータと
    の距離に基いて特定のキャラクタ以外のキャラクタのみ
    を復調する距離復調テーブルを備え、 前記歪み量算出手段は、前記特定のキャラクタのバーコ
    ードデータを入力することを特徴とするバーコード復調
    装置。
  15. 【請求項15】 請求項13または請求項14におい
    て、さらに、前記バーコードに光を照射する光学装置
    と、 バーコードからの反射光を2値化処理することで前記バ
    ーコードデータを生成するA/D変換器と、 クロック信号を発生するクロック発生器と、 前記A/D変換器から出力されてくるバーコードデータ
    のバー幅を前記クロック信号によりカウントするバー幅
    カウンタと、 バー幅カウンタによりカウントされたバー幅カウント値
    を格納するメモリとを備えることを特徴とするバーコー
    ド復調装置。
  16. 【請求項16】 請求項13から請求項15のいずれか
    1つの請求項において、前記歪み量算出手段は、前記復
    調すべきキャラクタに対して既に復調された直前のキャ
    ラクタのバー幅に基づいて前記復調すべきキャラクタの
    バー幅の歪み量を算出することを特徴とするバーコード
    復調装置。
  17. 【請求項17】 請求項13から請求項16のいずれか
    1つの請求項において、前記第1の補正手段は、前記復
    調すべきキャラクタに対して既に復調されたキャラクタ
    のバー幅に基づいて前記バー幅の歪み量を補正すること
    により前記キャラクタを復調することを特徴とするバー
    コード復調装置。
  18. 【請求項18】 請求項13から請求項16のいずれか
    1つの請求項において、前記第2の復調手段は、復調す
    べきキャラクタのバー幅に基づいて前記バー幅の歪み量
    を補正することによりキャラクタを復調することを特徴
    とするバーコード復調装置。
  19. 【請求項19】 請求項18において、前記第2の復調
    手段は、前記復調すべきキャラクタのバー幅の歪み量を
    測定し、その歪み量が所定値範囲にある場合にはキャラ
    クタの復調を行うことを特徴とするバーコード復調装
    置。
  20. 【請求項20】 請求項13において、さらに、前記第
    1の復調手段が復調すべき歪みのないキャラクタの直前
    のキャラクタを復調した場合に、前記復調すべき歪みの
    ないキャラクタを用いて前記復調された直前のキャラク
    タを再確認する第1の確認手段を備えたことを特徴とす
    るバーコード復調装置。
  21. 【請求項21】 請求項13において、さらに、前記第
    2の復調手段が復調すべき歪みのないキャラクタの直前
    のキャラクタを復調した場合に、前記復調すべき歪みの
    ないキャラクタを用いて前記復調された直前のキャラク
    タを再確認する第2の確認手段を備えたことを特徴とす
    るバーコード復調装置。
  22. 【請求項22】 請求項16において、前記歪み量算出
    手段は既に復調された直前のキャラクタのバー幅と前記
    復調すべきキャラクタのバー幅との差分を歪み量として
    算出するとともに、その歪み量をキャラクタを構成する
    モジュール幅で除算することによりモジュール値を求
    め、 前記歪み判定手段は、前記モジュール値が予め定められ
    た基準モジュール値の上下限モジュール内にはいる場合
    に前記歪み量が前記所定値範囲内であると判定すること
    を特徴とするバーコード復調装置。
  23. 【請求項23】 請求項22において、基準モジュール
    値の上下限モジュールは、基準モジュール値の上下0.
    4モジュールであることを特徴とするバーコード復調装
    置。
  24. 【請求項24】 請求項13または請求項14におい
    て、前記歪み量算出手段は、前記復調すべきキャラクタ
    のバー幅の歪み量を算出するとともに復調すべき前記キ
    ャラクタの直前の復調されたキャラクタのバー幅の歪み
    量を算出し、 前記歪み量判定手段は、前記歪み量算出手段で算出され
    た前記復調すべきキャラクタのバー幅の歪み量及び直前
    の復調されたキャラクタのバー幅の歪み量の正負の符号
    を判定し、 前記第1の復調手段は、復調すべきキャラクタのバー幅
    の歪み量及び直前の復調されたキャラクタのバー幅の歪
    み量の正負の符号が同符号である場合には直前のキャラ
    クタのバー幅に基づいて復調すべきキャラクタのバー幅
    の歪み量を補正することにより前記キャラクタを復調
    し、 前記第2の復調手段は、復調すべきキャラクタのバー幅
    の歪み量及び直前の復調されたキャラクタのバー幅の歪
    み量の正負の符号が異符号である場合には、復調すべき
    キャラクタのバー幅に基づいてそのバー幅の歪み量を補
    正することによりキャラクタを復調することを特徴とす
    るバーコード復調装置。
  25. 【請求項25】 請求項13または請求項14におい
    て、前記歪み量算出手段は、前記復調すべきキャラクタ
    のバー幅の歪み量を算出するとともに復調すべき前記キ
    ャラクタの直前の復調されたキャラクタのバー幅の歪み
    量を算出し、 前記歪み量判定手段は、前記歪み量算出手段で算出され
    た前記復調すべきキャラクタのバー幅の歪み量と直前の
    復調されたキャラクタのバー幅の歪み量とのバー幅の歪
    み量の差が所定値範囲内かを判定し、 前記第1の復調手段は、バー幅の歪み量の差が所定値範
    囲内である場合には直前のキャラクタのバー幅に基づい
    て復調すべきキャラクタのバー幅の歪み量を補正するこ
    とにより前記キャラクタを復調し、 前記第2の復調手段は、バー幅の歪み量の差が所定値範
    囲外である場合には復調すべきキャラクタのバー幅に基
    づいてそのバー幅の歪み量を補正することによりキャラ
    クタを復調することを特徴とするバーコード復調装置。
JP6184972A 1993-12-20 1994-08-05 バーコード復調方法及び装置 Expired - Lifetime JP2718442B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6184972A JP2718442B2 (ja) 1993-12-20 1994-08-05 バーコード復調方法及び装置
US08/310,045 US5502296A (en) 1993-12-20 1994-09-21 Method of and apparatus for demodulating bar code
GB9419184A GB2284917B (en) 1993-12-20 1994-09-22 Method of and apparatus for demodulating bar codes

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP32014593 1993-12-20
JP5-320145 1993-12-20
JP6184972A JP2718442B2 (ja) 1993-12-20 1994-08-05 バーコード復調方法及び装置

Publications (2)

Publication Number Publication Date
JPH07230522A JPH07230522A (ja) 1995-08-29
JP2718442B2 true JP2718442B2 (ja) 1998-02-25

Family

ID=26502820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6184972A Expired - Lifetime JP2718442B2 (ja) 1993-12-20 1994-08-05 バーコード復調方法及び装置

Country Status (3)

Country Link
US (1) US5502296A (ja)
JP (1) JP2718442B2 (ja)
GB (1) GB2284917B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291524B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
JP3591184B2 (ja) * 1997-01-14 2004-11-17 松下電器産業株式会社 バーコード読み取り装置
JPH1153465A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd バーコード読取装置
JP3510496B2 (ja) * 1998-09-28 2004-03-29 富士通株式会社 バー幅補正装置,バー幅補正方法,バーコード読取装置及びそのバーコード復調方法
JP3548025B2 (ja) 1998-12-17 2004-07-28 富士通株式会社 バーコード読取装置および方法
KR100715754B1 (ko) * 2001-01-26 2007-05-08 후지쯔 가부시끼가이샤 정보 판독 방법 및 장치
JP2003168071A (ja) * 2001-11-30 2003-06-13 Sanyo Electric Co Ltd 2次元バーコードの読み取り方法
JP4170111B2 (ja) * 2003-02-21 2008-10-22 富士通株式会社 バーコード読取装置およびバーコード読取方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3854035A (en) * 1972-07-31 1974-12-10 Ferranti Packard Ltd Method and means for reading coded information
GB1528381A (en) * 1974-11-08 1978-10-11 Ibm Processing bar coded data
GB1604063A (en) * 1977-04-15 1981-12-02 Msi Data Corp Method and apparatus for reading and decoding a high density linear bar code
SE434892B (sv) * 1977-06-15 1984-08-20 Ibm Svenska Ab Anordning for att minska antalet icke acceptabla dokument vid lesning och avkodning av streckkoder
GB1602804A (en) * 1978-05-16 1981-11-18 Eddystone Radio Rectifiers
US4323772A (en) * 1980-03-06 1982-04-06 R. J. Reynolds Tobacco Company Bar code reader system
US4591242A (en) * 1984-02-13 1986-05-27 International Business Machines Corp. Optical scanner having multiple, simultaneous scan lines with different focal lengths
JPH01290092A (ja) * 1988-05-17 1989-11-21 Topcon Corp バーコードのバー幅判別方法
KR920001602Y1 (ko) * 1990-03-31 1992-03-06 정영진 사무용품 보관통
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
US5194720A (en) * 1991-04-25 1993-03-16 Eastman Kodak Company Method and apparatus for performing on-line integrated decoding and evaluation of bar code data
JPH06274674A (ja) * 1993-03-19 1994-09-30 Fujitsu Ltd バーコード読取方法およびバーコード読取装置

Also Published As

Publication number Publication date
JPH07230522A (ja) 1995-08-29
GB2284917B (en) 1998-01-07
GB9419184D0 (en) 1994-11-09
US5502296A (en) 1996-03-26
GB2284917A (en) 1995-06-21

Similar Documents

Publication Publication Date Title
US4414468A (en) Systematic error correction in bar code scanner
US5889270A (en) Bar code decoding using moving averages to break the (N.K.) code barrier for UPC, EAN, code 128 and others
EP0390162B1 (en) An apparatus for reading a bar code
US3891831A (en) Code recognition apparatus
US4421978A (en) Decoding method for multicharacter labels
JP2000509537A (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
EP0502440B1 (en) Bar-code reading apparatus and method
JP2718442B2 (ja) バーコード復調方法及び装置
US4533825A (en) Bar code recognition apparatus
JP3324374B2 (ja) バーコード復調方法並びにバーコード読取装置
JPH096885A (ja) バーコード復号方式
WO1990014638A1 (en) Reading method and apparatus for bar code
US6547143B2 (en) Bar-code reader and bar-code reading method providing display and correction of questionable characters
JPH06274674A (ja) バーコード読取方法およびバーコード読取装置
JPH0238983B2 (ja)
US6761314B2 (en) Bar code symbology for consumer scanning applications
JP2766768B2 (ja) バーコードデコーダのデコード方法
JPS61180380A (ja) バ−コ−ド復調方式
JP3785527B2 (ja) バーコード読取装置、及び記憶媒体
JP2730273B2 (ja) バーコード読取装置およびバーコード読取方法
JPH07175632A (ja) バーコード読取装置
JP2953143B2 (ja) バーコード読取装置およびバーコード読取方法
JPH01290092A (ja) バーコードのバー幅判別方法
JPS5935478B2 (ja) バ−コ−ドシンボル読取方式
JPH07129701A (ja) データ読み取り装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971021

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20101114

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20101114

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 16

EXPY Cancellation because of completion of term