JP3833682B2 - バーコード読取装置およびバーコード読取プログラム - Google Patents
バーコード読取装置およびバーコード読取プログラム Download PDFInfo
- Publication number
- JP3833682B2 JP3833682B2 JP2004517233A JP2004517233A JP3833682B2 JP 3833682 B2 JP3833682 B2 JP 3833682B2 JP 2004517233 A JP2004517233 A JP 2004517233A JP 2004517233 A JP2004517233 A JP 2004517233A JP 3833682 B2 JP3833682 B2 JP 3833682B2
- Authority
- JP
- Japan
- Prior art keywords
- reading
- character
- parameter
- unit
- pattern
- 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
- 238000003860 storage Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 230000004069 differentiation Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- IRUJZVNXZWPBMU-UHFFFAOYSA-N cartap Chemical compound NC(=O)SCC(N(C)C)CSC(N)=O IRUJZVNXZWPBMU-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods 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/10821—Methods 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/10851—Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
- Cash Registers Or Receiving Machines (AREA)
Description
本発明は、光の反射率の差を利用して、キャラクタがバー幅により表されたバーコード(二値情報)からの反射光に基づいてバーコード(キャラクタ)を読み取るバーコード読取装置およびバーコード読取プログラムに関するものであり、特に、パラメータの学習機能によりバーコードの読取精度を高めることができるバーコード読取装置およびバーコード読取プログラムに関するものである。
従来より、商品の流通分野においては、商品に付されたバーコードを光学的に読み取って、当該商品の値段や商品名等、商品に関する情報をレジスタ等に登録することが行われている。
バーコードにおいては、商品に関する情報がキャラクタとしてコード化されており、黒バーと白バーとが交互に組み合わされてなる。バーコード読取装置では、バーコード上にレーザダイオード等から発光されたビーム光を走査させて、このビームの反射光を受光して、黒バーおよび白バーの幅に対応する電気信号からバーコード情報を読み取っている。
ここで、バーコードは、紙を主として、有機系素材、缶等の様々な媒体に印刷されている。このことから、従来では、バーコードの印刷時点で媒体に依存してバーの幅誤差が生じたり、流通途中で汚れ、かすれ等によりバーの幅誤差が生じる。このように幅誤差を有するバーコードの場合には、バーコード読取装置での誤読が生じる。
従って、バーコード読取装置の製造工場では、規格内の幅誤差に対して、バーコードを読み取るために必要なパラメータの設定条件を緩和するという、ある程度の許容範囲を持たせた状態で出荷している。
ところで、従来においては、バーコード読取装置の出荷後に規格外の幅誤差を有する粗悪なバーコードが出現することが度々ある。このような場合には、いつまでたっても当該バーコードを読み取ることができないため、オペレータがバーコード情報を入力することになり、余計にオペレーション時間がかかるという問題があった。
また、粗悪バーコードにより読み取りができなくなる頻度が高くなると、バーコード読取装置のユーザからメーカへ苦情が通知され、当該メーカでは、担当者を現場に派遣しての調査・対応や、バーコード読取装置をメーカ側に引き上げての長期間におよぶ精密調査・対応が必要となり、ユーザおよびメーカの双方にとってのデメリットが大きくなるという問題があった。
本発明は、上記に鑑みてなされたもので、使用中であっても自動的に読取精度を高めることができるバーコード読取装置およびバーコード読取プログラムを提供することを目的としている。
バーコードにおいては、商品に関する情報がキャラクタとしてコード化されており、黒バーと白バーとが交互に組み合わされてなる。バーコード読取装置では、バーコード上にレーザダイオード等から発光されたビーム光を走査させて、このビームの反射光を受光して、黒バーおよび白バーの幅に対応する電気信号からバーコード情報を読み取っている。
ここで、バーコードは、紙を主として、有機系素材、缶等の様々な媒体に印刷されている。このことから、従来では、バーコードの印刷時点で媒体に依存してバーの幅誤差が生じたり、流通途中で汚れ、かすれ等によりバーの幅誤差が生じる。このように幅誤差を有するバーコードの場合には、バーコード読取装置での誤読が生じる。
従って、バーコード読取装置の製造工場では、規格内の幅誤差に対して、バーコードを読み取るために必要なパラメータの設定条件を緩和するという、ある程度の許容範囲を持たせた状態で出荷している。
ところで、従来においては、バーコード読取装置の出荷後に規格外の幅誤差を有する粗悪なバーコードが出現することが度々ある。このような場合には、いつまでたっても当該バーコードを読み取ることができないため、オペレータがバーコード情報を入力することになり、余計にオペレーション時間がかかるという問題があった。
また、粗悪バーコードにより読み取りができなくなる頻度が高くなると、バーコード読取装置のユーザからメーカへ苦情が通知され、当該メーカでは、担当者を現場に派遣しての調査・対応や、バーコード読取装置をメーカ側に引き上げての長期間におよぶ精密調査・対応が必要となり、ユーザおよびメーカの双方にとってのデメリットが大きくなるという問題があった。
本発明は、上記に鑑みてなされたもので、使用中であっても自動的に読取精度を高めることができるバーコード読取装置およびバーコード読取プログラムを提供することを目的としている。
上記目的を達成するために、本発明は、パラメータに基づいて、バーコードからキャラクタを読取る読取手段と、複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段と、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段と、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段と、前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段と、を備えたことを特徴とする。
また、本発明は、コンピュータを、パラメータに基づいて、バーコードからキャラクタを読取る読取手段、複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段、前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段、として機能させるためのバーコード読取プログラムである。
かかる発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができる。
また、本発明は、コンピュータを、パラメータに基づいて、バーコードからキャラクタを読取る読取手段、複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段、前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段、として機能させるためのバーコード読取プログラムである。
かかる発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができる。
第1図は、本発明にかかる実施の形態1の構成を示すブロック図であり、第2図は、第1図に示したパラメータ情報データベース50を示す図であり、第3図は、同実施の形態1におけるパラメータを説明する図であり、第4図は、第1図に示した学習情報データベース60を示す図であり、第5図は、第1図に示した帯域制限微分部26の出力を示す図であり、第6図は、第1図に示したBPF27の出力を示す図であり、第7図は、第1図に示した位相情報抽出部28の出力を示す図であり、第8図は、第1図に示した遅延フィルタ29の出力を示す図であり、第9図は、第1図に示したLMS部30(正読時)の出力を示す図であり、第10図は、第1図に示したLMS部30(誤読時)の出力を示す図であり、第11図は、第1図に示した三値処理部31の出力および正読三値化パターンを示す図であり、第12図は、第1図に示した三値処理部31の出力および誤読三値化パターンを示す図であり、第13図は、実施の形態1における三値化パターンおよびキャラクタパターンを示す図であり、第14図は、同実施の形態1の動作を説明するフローチャートであり、第15図は、同実施の形態1における相関値を求める計算式を示す図であり、第16図は、本発明にかかる実施の形態2の構成を示すブロック図であり、第17図は、本発明にかかる実施の形態3の構成を示すブロック図であり、第18図は、本発明にかかる実施の形態4の構成を示すブロック図であり、第19図は、本発明にかかる実施の形態1〜4の変形例の構成を示すブロック図である。
以下、図面を参照して本発明にかかる実施の形態1〜4について詳細に説明する。
(実施の形態1)
第1図は、本発明にかかる実施の形態1の構成を示すブロック図である。この図に示したバーコード読取装置80は、バーコード10を光学的に読み取る装置であり、出荷後に学習機能により、最適なパラメータを自動設定する装置である。
ここで、パラメータとしては、後述する第2図および第3図に示したモジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROFが挙げられる。
バーコード読取装置80において、レーザダイオード20は、走査用のビーム光を発する。ポリゴンミラー21は、レーザダイオード20からのビーム光を反射させる鏡面体により構成されており、モータ(図示略)により回転されて、ビーム光の反射方向を変化させることにより、複数種類の走査パターンを与えるものである。
ポリゴンミラー21により反射されたビーム光は、バーコード10の黒バーおよび白バーに、例えば左端から右端に向かう方向で照射される。受光部22は、バーコード10に照射されたビーム光の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。増幅部23は、受光部22からの光電変換信号を増幅する。
A/D(Analog/Digital)変換部24は、増幅部23により増幅されたアナログの光電変換信号をディジタルサンプリングし、ディジタルの光電変換信号として出力する。切り出し部25は、後段の信号処理を軽減するために、A/D変換部24からの光電変換信号からバーコード10により反射された信号のみを切り出す。
帯域制限微分部26は、切り出し部25の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてFFT(Fast Fourier Transform)処理により第3図に示した周波数スペクトル71を得て、この周波数スペクトル71のゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数(2f0)として求める。
また、帯域制限微分部26は、上記モジュール周波数を用いて、切り出し部25の出力信号の帯域を制限するための微分処理を施し、第5図に示した波形パターンの信号を出力する。
BPF(バンドパスフィルタ)27は、第3図に示したフィルタ特性70に基づき、第5図に示した波形パターンの信号をフィルタリングし、第6図に示した波形パターンを出力する。このBPF27には、フィルタ特性70を決定付けるパタメータとして、モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROFが後述するパラメータ設定部37により動的に設定される。パラメータは、バーコードの読取精度を左右する重要な値である。従って、パラメータが適値に設定されてない場合、バーコードの読取時に誤読が発生しやすくなる。
モジュール周波数誤差Δfは、上述したモジュール周波数(2f0)の誤差分を補正するための値である。従って、実際には、第3図に示したように、フィルタ特性70(帯域幅fw)の中心周波数は、モジュール周波数(2f0)+モジュール周波数誤差Δfとされる。
また、実施の形態1では、バーコードの読取時に誤読が発生した場合、複数のパラメータの組(第2図参照)のうち、誤読が最も発生しにくいパラメータの組が選択され、この組に対応するパラメータがBPF27に設定される。
第6図において、サンプル点に○が付された波形は、ヒルベルト変換が施された実部に対応しており、サンプル点に×が付された波形は、虚部に対応している。このように、第6図では、各サンプル点がベクトル化(実部および虚部)されている。
位相情報抽出部28は、第6図における各サンプル点の位相を抽出し、位相が0ラジアンになる点をモジュールタイミングとして、第7図に示したモジュールタイミングの情報を出力する。
遅延フィルタ29は、第6図で0ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部26からの信号に対して遅延処理を施し、サンプル点を0ラジアンタイミング点に一致させるためのフィルタであり、例えば、第8図に示した波形パターンを出力する。
LMS(Least Mean Square)部30は、最小二乗法により、遅延フィルタ29の出力信号に対して、等化処理を施し、例えば、第9図(正読時)や第10図(誤読時)に示した波形パターンの信号を出力する。
三値処理部31は、LMS部30の出力(第9図、第10図参照)を、振幅としきい値との比較に基づいて、「+1」、「0」または「−1」のいずれかに三値化して、第11図または第12図の○部分の三値化情報を出力する。例えば、第13図(a)に示した○部分の三値化情報は、キャラクタ復調部41により、第13図(b)に示した、バーコードのキャラクタパターン(キャラクタ列)に復調される。このキャラクタパターンは、I/F(インタフェース)部42により、読み取り結果としてホストコンピュータ90に送信される。第11図には、正読時の三値化パターンが図示されている。第12図には、誤読時の三値化パターンが図示されている。すなわち、第11図では、横軸=40およびその一つ前のサンプル点(黒丸)の三値化情報が「−1」および「0」であり、正読とされる。これに対して、第12図では、同一のバーコードが読み取られたにもかかわらず、同サンプル点(黒丸)が「0」および「−1」という具合に誤読している。
第1図に示したバーコード読取装置80では、バーコードのかすれ等により、第11図および第12図に示したように、一つのバーコードの読み取り結果として2つの結果(正読および誤読)がでる場合がある。この場合には、オペレータに2つの結果を提示し、正しいほうの結果を選択させる。
誤読パターン相関部32は、三値処理部31の出力と、後述する学習情報データベース60の学習情報における誤読三値化パターンとの相関値を求める。正読パターン相関部33は、上述したオペレータにより選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンと、LMS部30の出力との相関値を求める。
乗算部34は、正読パターン相関部33からの相関値と、誤読パターン相関部32からの相関値とを乗算する。加算部35は、パラメータ毎に乗算部34の乗算値を加算し、これを相関加算値とする。最大値抽出部36は、求められた複数の相関加算値のうち最大値を抽出する。
パラメータ設定部37は、最大値抽出部36により抽出された最大値に対応するパラメータをBPF27に設定する。制御部38は、各部を制御するものである。キャラクタ表示部39は、制御部38の制御の下で、三値処理部31の出力に基づくバーコードの読取結果(キャラクタ)を表示する。
ここで、第11図および第12図に示したように、正読結果および誤読結果がある場合、キャラクタ表示部39には、双方の読取結果が表示される。キャラクタ選択部40は、キャラクタ表示部39に双方の読取結果が表示された場合、正読の結果をオペレータに選択させる機能を備えている。具体的には、オペレータは、キャラクタ表示部39に表示されている2つのキャラクタのうち、バーコードの近傍に表示されているキャラクタと一致するものを正読結果として選択する。
パラメータ情報データベース50は、バーコードの読取精度に影響を与える上述したパラメータ(モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROF)に関するパラメータ情報を格納するデータベースである。
具体的には、パラメータ情報データベース50は、第2図に示したように、モジュール周波数誤差テーブル51、帯域幅テーブル52、ロールオフ率テーブル53およびパラメータ組テーブル54から構成されている。
モジュール周波数誤差テーブル51は、下限から上限までの所定範囲(例えば、−500kHz〜+500kHz)における所定刻みのモジュール周波数誤差Δfの集合である。帯域幅テーブル52は、下限から上限までの所定範囲(例えば、1kHz〜1000kHz)における所定刻みの帯域幅fwの集合である。ロールオフ率テーブル53は、下限から上限までの所定範囲(例えば、0%〜100%)における所定刻みのロールオフ率ROFの集合である。
パラメータ組テーブル54は、モジュール周波数誤差テーブル51、帯域幅テーブル52およびロールオフ率テーブル53のそれぞれから一つづつ抽出されたパラメータの組(モジュール周波数誤差Δf、帯域幅fw、ロールオフ率ROF)である。パラメータ組テーブル54には、すべての組み合わせ(m=0〜M)が格納されている。
学習情報データベース60は、第4図に示したように、レコード600〜60N’の学習情報を格納するデータベースである。この学習情報は、番号、波形パターン、モジュール周波数、正読三値化パターンおよび誤読三値化パターンからなり、誤読が発生した場合に再設定されるパラメータを選択する際に用いられる情報であり、予め複数、用意されている。波形パターンは、帯域制限微分部26に入力される波形パターンの情報である。
モジュール周波数は、当該波形パターンに対応するモジュール周波数である。正読三値化パターンは、当該波形パターンを帯域制限微分部26に入力した場合の三値処理部31の出力(但し、正読)である。
一方、誤読三値化パターンは、上記波形パターンを帯域制限微分部26に入力した場合の三値処理部31の出力(但し、誤読)である。ここで、バーコードの読み取り結果が誤読である場合、学習情報データベース60には、新たな当該読み取り結果に対応する学習情報が格納される。
ホストコンピュータ90は、バーコード読取装置80に接続されており、バーコードの読み取り結果に基づいて、商品管理等を行うコンピュータである。
つぎに、実施の形態1の動作について第14図に示したフローチャートを参照しつつ説明する。同図に示したステップSA1では、制御部38は、学習情報データベース60に新規の学習情報が追加されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
ここで、学習情報が追加される条件は、バーコード読取装置80によりバーコードが読み取り不可、すなわち、読取結果が2種類(正読三値化パターン、誤読三値化パターン)存在する場合(またはI/F部42から送信されたキャラクタパターンがホストコンピュータ90に登録されてない場合)であって、キャラクタ選択部40により正読のほうが選択された場合である。
そして、オペレータによりバーコード10がビーム光にかざされると、受光部22では、バーコード10の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。光電変換信号は、増幅部23で増幅された後、A/D変換部24でディジタル化され、さらに切り出し部25で切り出される。
つぎに、帯域制限微分部26は、切り出し部25の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてFFT処理により周波数スペクトルを得て、この周波数スペクトルのゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数(2f0)として求める。
また、帯域制限微分部26は、上記モジュール周波数を用いて、切り出し部25の出力信号の帯域を制限するための微分処理を施し、波形パターンの信号をBPF27および遅延フィルタ29へ出力する。
つぎに、BPF27は、帯域制限微分部26で求められたモジュール周波数(2f0)、予め設定されたパラメータ(モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROF)によるフィルタ特性に基づき、波形パターンの信号をフィルタリングする。
位相情報抽出部28は、BPF27の出力における各サンプル点の位相を抽出し、位相が0ラジアンになる点をモジュールタイミングとして、モジュールタイミングの情報を出力する。
つぎに、遅延フィルタ29は、0ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部26からの信号に対して遅延処理を施し、サンプル点を0ラジアンタイミング点に一致させ、例えば、第8図に示した波形パターンをLMS部30へ出力する。
これにより、LMS部30は、最小二乗法により、遅延フィルタ29の出力信号に対して、等化処理を施す。この場合、バーコード10が粗悪バーコードであるとすると、LMS部30からは、例えば、第9図(正読時)および第10図(誤読時)に示した各波形パターンの信号が出力される。
三値処理部31は、LMS部30の出力(第9図、第10図参照)を、振幅としきい値との比較に基づいて、「+1」、「0」または「−1」のいずれかに三値化して、正読および誤読の都合2種類の三値化情報を出力する。すなわち、バーコード10が粗悪バーコードの場合には、二種類の読取結果が得られるため、現在BPF27に設定されているパラメータではバーコード読取装置80として読み取り不可の状態にある。
これにより、制御部38は、三値処理部31からの二種類の読取結果をキャラクタ表示部39に表示させる。オペレータは、読み取り不可と判断し、キャラクタ表示部39に表示されている二種類の読み取り結果のうち、バーコード10の近傍に表示されているキャラクタと一致するほうを正読キャラクタとしてキャラクタ選択部40で選択する。
つぎに、制御部38は、バーコード10に対応する波形パターン(帯域制限微分部26の出力)、モジュール周波数(帯域制限微分部26の出力)、正読三値化パターン(三値処理部31の出力であって、キャラクタ選択部40で選択されたもの)、誤読三値化パターン(三値処理部31の出力であって、キャラクタ選択部40で選択されなかったもの)を、第4図に示したように、新規の学習情報として、学習情報データベース60のレコード60N’に追加する。
これにより、制御部38は、第14図に示したステップSA1の判断結果を「Yes」とする。ステップSA2では、制御部38は、第2図に示したパラメータ情報データベース50のパラメータ組テーブル54における全てのパラメータ組(m=0〜M)について確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA3では、制御部38は、パラメータ組テーブル54から一組のパラメータ組(この場合、Δf[0]、fw[0]、ROF[0])を作成する。つぎに、制御部38は、パラメータ設定部37に、このパラメータ組をBPF27に設定させる。
ステップSA4では、制御部38は、ステップSA3で作成されたパラメータ組に関して、第4図に示した学習情報データベース60における全ての学習情報(n=0〜N’)を確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA5では、制御部38は、第4図に示した学習情報データベース60のレコード600の学習情報における波形パターンをBPF27および遅延フィルタ29へ出力するとともに、モジュール周波数をBPF27に設定する。
ステップSA6においては、BPF27で、ステップSA5で設定されたモジュール周波数、ステップSA3で設定されたパラメータによるフィルタ特性に基づき、波形パターンの信号がフィルタリングされる。そして、上述した動作を経て、正読パターン相関部33は、制御部38の制御により、LMS部30の出力を取り込む。
ステップSA7では、誤読パターン相関部32は、制御部38の制御により三値処理部31の出力を取り込む。ステップSA8では、制御部38は、キャラクタ選択部40で選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンとして、正読パターン相関部33に設定する。
これにより、正読パターン相関部33は、基準三値化パターンと、LMS部30の出力との相関値Cr[n](第15図参照)を計算する。この相関値Cr[n]において、xn(t)は、LMS部30の出力に対応しており、yn(T−t)は、基準三値化パターンに対応している。
ステップSA9では、制御部38は、当該学習情報(第4図参照)に誤読三値化パターンが存在する場合、この誤読三値化パターンを誤読パターン相関部32に設定する。これにより、誤読パターン相関部32は、ステップSA8と同様の計算式により、ステップSA7で取り込んだ三値処理部31の出力と、上記誤読三値化パターンとの相関値を計算する。
つぎに、この相関値がしきい値未満である場合、制御部38は、正読パターン相関部33からの相関値の有効性を表す相関値有効フラグCm[n]を1(有効、正読)として、乗算部34へ出力する。ステップSA10では、相関値有効フラグCm[n]が0(無効、誤読)であるか否かが判断される。この場合、相関値有効フラグCm[n]が1(有効、正読)であるため、ステップSA10の判断結果が「No」とされる。
乗算部34では、正読パターン相関部33からの相関値Cr[n]と相関値有効フラグCm[n](=1)とが乗算される。ステップSA11では、加算部35は、ステップSA3で作成されたパラメータ組に関する相関加算値Scr[m]に上記相関値Cr[n]を加算し、相関加算値Scr[m]を更新する。
一方、ステップSA9で相関値がしきい値を超えた場合、制御部38は、相関値有効フラグCm[n]を0(無効、誤読)として乗算部34へ出力する。ステップSA10では、相関値有効フラグCm[n]が0(無効、誤読)であるため、判断結果が「Yes」とされ、ステップSA11がスキップされる。
なお、実際には、乗算部34で、正読パターン相関部33からの相関値Cr[n]と相関値有効フラグCm[n](=0)とが乗算され、相関値Cr[n]が0となる。従って、加算部35では、相関加算値Scr[m]に0が加算される。
このように、実施の形態1では、あるパラメータ組で、誤読三値化パターンとの相関値が高い三値化パターンが三値処理部31から出力された場合、ステップSA8での相関値Cr[n]を0にして、相関加算値Scr[m]に加算せずに、後述する最大値抽出(ステップSA12)で当該フィルタ組が選択されないようにしている。
ステップSA4では、制御部38は、ステップSA3で作成されたパラメータ組に関して、第4図に示した学習情報データベース60における全ての学習情報(n=0〜N)を確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA5では、制御部38は、第4図に示した学習情報データベース60のつぎのレコード601の学習情報における波形パターンをBPF27および遅延フィルタ29へ出力するとともに、モジュール周波数をBPF27に設定する。以後、ステップSA6以降では、当該パラメータ組に関する学習情報の処理が実行される。
そして、学習情報データベース60の最後のレコード60N’の処理が終了すると、制御部38は、ステップSA4の判断結果を「Yes」とする。この場合には、上述したパラメータ組(この場合、Δf[0]、fw[0]、ROF[0])に関する相関加算値Scr[m]が求められている。
ステップSA2では、制御部38は、第2図に示したパラメータ情報データベース50のパラメータ組テーブル54における全てのパラメータ組(m=0〜M)について確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA3では、制御部38は、パラメータ組テーブル54からつぎのパラメータ組(この場合、Δf[0]、fw[0]、ROF[1])を作成する。つぎに、制御部38は、パラメータ設定部37に、このパラメータ組をBPF27に設定させる。以後、当該パラメータ組(Δf[0]、fw[0]、ROF[1])に関して相関加算値Scr[m]を計算する処理が実行される。
そして、最後のパラメータ組に関して相関加算値Scr[m]を計算する処理が終了すると、制御部38は、ステップSA2の判断結果を「Yes」とする。この時点では、全てのパラメータ組のそれぞれに対応して複数の相関加算値Scr[m]が計算されている。
ステップSA12では、最大値抽出部36は、上記複数の相関加算値Scr[m]から最大値を抽出する。この最大値の相関加算値Scr[m]は、正読される基準三値化パターンとの相関値が最も高い、すなわち、誤読の発生が最も低いパラメータ組を表す。
ステップSA13では、パラメータ設定部37は、ステップSA12で抽出された最大値の相関加算値Scr[m]に対応するパラメータ組をBPF27に設定する。これにより、誤読が発生したパラメータ組に代えて、誤読の発生が最も低い上記パラメータ組に基づいて、バーコードの読み取りが行われる。
以上説明したように、実施の形態1によれば、バーコードのキャラクタの誤読が発生した場合、キャラクタ選択部40で複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応する正読三値化パターンと、パラメータを順次変化させながら複数の信号波形情報から得られる三値化パダーンとの比較結果(相関値)に基づいて、誤読の発生が最も低いパラメータをBPF27に設定することとしたので、使用中(出荷後)であっても自動的に読取精度を高めることができる。
(実施の形態2)
さて、前述した実施の形態1では、第1図に示したキャラクタ選択部40で正読キャラクタパターンをオペレータに選択させる構成としたが、キーボードにより正読キャラクタパターンを入力させるように構成してもよい。以下では、この構成例を実施の形態2として説明する。
第16図は、本発明にかかる実施の形態2の構成を示すブロック図である。この図において、第1図の各部に対応する部分には同一の符号を付ける。同図においては、キーボード100がホストコンピュータ90に接続されている。このキーボード100は、バーコード10の読み取り時に2種類の読取結果(正読キャラクタパターン、誤読キャラクタパターン)が存在した場合、オペレータにバーコード10からのキャラクタパターンを直接入力させるためのものである。
上記構成において、バーコード10の読み取り結果が2種類存在した場合、バーコード読取装置80は、誤読としてホストコンピュータ90を経由して(または直接)オペレータに通知する。これにより、オペレータは、バーコード10の近傍に表示されているキャラクタパターンをキーボード100より入力する。
ホストコンピュータ90は、入力されたキャラクタパターンを正読キャラクタパターンとして、バーコード読取装置80へ通知する。以後、バーコード読取装置80は、学習情報を追加し、実施の形態1と同様にして、パラメータ組の再設定等を行う。
以上説明したように、実施の形態2によれば、実施の形態1と同様の効果が得られる。
(実施の形態3)
第17図は、本発明にかかる実施の形態3の構成を示すブロック図である。この図において、第16図の各部に対応する部分には同一の符号を付ける。同図においては、第16図に示したバーコード読取装置80に代えて、並列接続されたバーコード読取装置801〜80nが設けられている。これらのバーコード読取装置801〜80nのそれぞれは、バーコード読取装置80と同一の構成とされている。
上記構成においては、例えば、バーコード読取装置801で誤読が発生し、パラメータ組が再設定された場合、このパラメータ組が他のバーコード読取装置802〜80nにも並列的に設定される。
以上説明したように、実施の形態3によれば、バーコード読取装置801に対して併設された他のバーコード読取装置802〜80nに対してもパラメータを設定することとしたので、複数台のバーコード読取装置に対して、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができる。
(実施の形態4)
さて、実施の形態1では、バーコードを読み取る機能、誤読時にオペレータに正読キャラクタパターンを選択させる機能、パラメータ組を再設定する機能等をバーコード読取装置80(第1図参照)に持たせる構成としたが、一部の機能をホストコンピュータに持たせるように構成してもよい。
第18図は、本発明にかかる実施の形態4の構成を示すブロック図である。この図において、バーコード読取装置120は、バーコードを読み取る機能、パラメータ組を再設定する機能を備えている。ホストコンピュータ130は、バーコード読取装置120からのバーコードの読取結果の通知を受けて、上記機能のうち誤読時にオペレータに正読キャラクタパターンを選択させる機能を備えている。サーバ140は、第1図に示したパラメータ情報データベース50、学習情報データベース60を備えており、ホストコンピュータ130を経由してバーコード読取装置120からのデータベース参照要求を受け付ける。
以上説明したように、実施の形態4によれば、実施の形態1と同様の効果が得られる。
以上本発明にかかる実施の形態1〜4について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜4に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、前述した実施の形態1〜4においては、前述したバーコード読み取りの機能を実現するためのプログラムを第19図に示したコンピュータ読み取り可能な記録媒体300に記録して、この記録媒体300に記録されたプログラムをコンピュータ200に読み込ませ、実行することにより各機能を実現してもよい。
コンピュータ200は、上記プログラムを実行するCPU(Central Processing Unit)210と、キーボード、マウス等の入力装置220と、各種データを記憶するROM(Read Only Memory)230と、演算パラメータ等を記憶するRAM(Random Access Memory)240と、記録媒体300からプログラムを読み取る読取装置250と、ディスプレイ、プリンタ等の出力装置260と、装置各部を接続するバス270とから構成されている。
CPU210は、読取装置250を経由して記録媒体300に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した各機能を実現する。なお、記録媒体300としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
以上説明したように、本発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、選択された正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの相関をとることとしたので、相関の値に基づき、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、最大値の相関に対応するパラメータを誤読の発生が最も低いパラメータとして設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、併設された他のバーコード読取装置に対してもパラメータを設定することとしたので、複数のバーコード読取装置のうちいずれかのバーコード読取装置で誤読が発生した場合に、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができるという効果を奏する。
(実施の形態1)
第1図は、本発明にかかる実施の形態1の構成を示すブロック図である。この図に示したバーコード読取装置80は、バーコード10を光学的に読み取る装置であり、出荷後に学習機能により、最適なパラメータを自動設定する装置である。
ここで、パラメータとしては、後述する第2図および第3図に示したモジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROFが挙げられる。
バーコード読取装置80において、レーザダイオード20は、走査用のビーム光を発する。ポリゴンミラー21は、レーザダイオード20からのビーム光を反射させる鏡面体により構成されており、モータ(図示略)により回転されて、ビーム光の反射方向を変化させることにより、複数種類の走査パターンを与えるものである。
ポリゴンミラー21により反射されたビーム光は、バーコード10の黒バーおよび白バーに、例えば左端から右端に向かう方向で照射される。受光部22は、バーコード10に照射されたビーム光の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。増幅部23は、受光部22からの光電変換信号を増幅する。
A/D(Analog/Digital)変換部24は、増幅部23により増幅されたアナログの光電変換信号をディジタルサンプリングし、ディジタルの光電変換信号として出力する。切り出し部25は、後段の信号処理を軽減するために、A/D変換部24からの光電変換信号からバーコード10により反射された信号のみを切り出す。
帯域制限微分部26は、切り出し部25の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてFFT(Fast Fourier Transform)処理により第3図に示した周波数スペクトル71を得て、この周波数スペクトル71のゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数(2f0)として求める。
また、帯域制限微分部26は、上記モジュール周波数を用いて、切り出し部25の出力信号の帯域を制限するための微分処理を施し、第5図に示した波形パターンの信号を出力する。
BPF(バンドパスフィルタ)27は、第3図に示したフィルタ特性70に基づき、第5図に示した波形パターンの信号をフィルタリングし、第6図に示した波形パターンを出力する。このBPF27には、フィルタ特性70を決定付けるパタメータとして、モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROFが後述するパラメータ設定部37により動的に設定される。パラメータは、バーコードの読取精度を左右する重要な値である。従って、パラメータが適値に設定されてない場合、バーコードの読取時に誤読が発生しやすくなる。
モジュール周波数誤差Δfは、上述したモジュール周波数(2f0)の誤差分を補正するための値である。従って、実際には、第3図に示したように、フィルタ特性70(帯域幅fw)の中心周波数は、モジュール周波数(2f0)+モジュール周波数誤差Δfとされる。
また、実施の形態1では、バーコードの読取時に誤読が発生した場合、複数のパラメータの組(第2図参照)のうち、誤読が最も発生しにくいパラメータの組が選択され、この組に対応するパラメータがBPF27に設定される。
第6図において、サンプル点に○が付された波形は、ヒルベルト変換が施された実部に対応しており、サンプル点に×が付された波形は、虚部に対応している。このように、第6図では、各サンプル点がベクトル化(実部および虚部)されている。
位相情報抽出部28は、第6図における各サンプル点の位相を抽出し、位相が0ラジアンになる点をモジュールタイミングとして、第7図に示したモジュールタイミングの情報を出力する。
遅延フィルタ29は、第6図で0ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部26からの信号に対して遅延処理を施し、サンプル点を0ラジアンタイミング点に一致させるためのフィルタであり、例えば、第8図に示した波形パターンを出力する。
LMS(Least Mean Square)部30は、最小二乗法により、遅延フィルタ29の出力信号に対して、等化処理を施し、例えば、第9図(正読時)や第10図(誤読時)に示した波形パターンの信号を出力する。
三値処理部31は、LMS部30の出力(第9図、第10図参照)を、振幅としきい値との比較に基づいて、「+1」、「0」または「−1」のいずれかに三値化して、第11図または第12図の○部分の三値化情報を出力する。例えば、第13図(a)に示した○部分の三値化情報は、キャラクタ復調部41により、第13図(b)に示した、バーコードのキャラクタパターン(キャラクタ列)に復調される。このキャラクタパターンは、I/F(インタフェース)部42により、読み取り結果としてホストコンピュータ90に送信される。第11図には、正読時の三値化パターンが図示されている。第12図には、誤読時の三値化パターンが図示されている。すなわち、第11図では、横軸=40およびその一つ前のサンプル点(黒丸)の三値化情報が「−1」および「0」であり、正読とされる。これに対して、第12図では、同一のバーコードが読み取られたにもかかわらず、同サンプル点(黒丸)が「0」および「−1」という具合に誤読している。
第1図に示したバーコード読取装置80では、バーコードのかすれ等により、第11図および第12図に示したように、一つのバーコードの読み取り結果として2つの結果(正読および誤読)がでる場合がある。この場合には、オペレータに2つの結果を提示し、正しいほうの結果を選択させる。
誤読パターン相関部32は、三値処理部31の出力と、後述する学習情報データベース60の学習情報における誤読三値化パターンとの相関値を求める。正読パターン相関部33は、上述したオペレータにより選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンと、LMS部30の出力との相関値を求める。
乗算部34は、正読パターン相関部33からの相関値と、誤読パターン相関部32からの相関値とを乗算する。加算部35は、パラメータ毎に乗算部34の乗算値を加算し、これを相関加算値とする。最大値抽出部36は、求められた複数の相関加算値のうち最大値を抽出する。
パラメータ設定部37は、最大値抽出部36により抽出された最大値に対応するパラメータをBPF27に設定する。制御部38は、各部を制御するものである。キャラクタ表示部39は、制御部38の制御の下で、三値処理部31の出力に基づくバーコードの読取結果(キャラクタ)を表示する。
ここで、第11図および第12図に示したように、正読結果および誤読結果がある場合、キャラクタ表示部39には、双方の読取結果が表示される。キャラクタ選択部40は、キャラクタ表示部39に双方の読取結果が表示された場合、正読の結果をオペレータに選択させる機能を備えている。具体的には、オペレータは、キャラクタ表示部39に表示されている2つのキャラクタのうち、バーコードの近傍に表示されているキャラクタと一致するものを正読結果として選択する。
パラメータ情報データベース50は、バーコードの読取精度に影響を与える上述したパラメータ(モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROF)に関するパラメータ情報を格納するデータベースである。
具体的には、パラメータ情報データベース50は、第2図に示したように、モジュール周波数誤差テーブル51、帯域幅テーブル52、ロールオフ率テーブル53およびパラメータ組テーブル54から構成されている。
モジュール周波数誤差テーブル51は、下限から上限までの所定範囲(例えば、−500kHz〜+500kHz)における所定刻みのモジュール周波数誤差Δfの集合である。帯域幅テーブル52は、下限から上限までの所定範囲(例えば、1kHz〜1000kHz)における所定刻みの帯域幅fwの集合である。ロールオフ率テーブル53は、下限から上限までの所定範囲(例えば、0%〜100%)における所定刻みのロールオフ率ROFの集合である。
パラメータ組テーブル54は、モジュール周波数誤差テーブル51、帯域幅テーブル52およびロールオフ率テーブル53のそれぞれから一つづつ抽出されたパラメータの組(モジュール周波数誤差Δf、帯域幅fw、ロールオフ率ROF)である。パラメータ組テーブル54には、すべての組み合わせ(m=0〜M)が格納されている。
学習情報データベース60は、第4図に示したように、レコード600〜60N’の学習情報を格納するデータベースである。この学習情報は、番号、波形パターン、モジュール周波数、正読三値化パターンおよび誤読三値化パターンからなり、誤読が発生した場合に再設定されるパラメータを選択する際に用いられる情報であり、予め複数、用意されている。波形パターンは、帯域制限微分部26に入力される波形パターンの情報である。
モジュール周波数は、当該波形パターンに対応するモジュール周波数である。正読三値化パターンは、当該波形パターンを帯域制限微分部26に入力した場合の三値処理部31の出力(但し、正読)である。
一方、誤読三値化パターンは、上記波形パターンを帯域制限微分部26に入力した場合の三値処理部31の出力(但し、誤読)である。ここで、バーコードの読み取り結果が誤読である場合、学習情報データベース60には、新たな当該読み取り結果に対応する学習情報が格納される。
ホストコンピュータ90は、バーコード読取装置80に接続されており、バーコードの読み取り結果に基づいて、商品管理等を行うコンピュータである。
つぎに、実施の形態1の動作について第14図に示したフローチャートを参照しつつ説明する。同図に示したステップSA1では、制御部38は、学習情報データベース60に新規の学習情報が追加されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
ここで、学習情報が追加される条件は、バーコード読取装置80によりバーコードが読み取り不可、すなわち、読取結果が2種類(正読三値化パターン、誤読三値化パターン)存在する場合(またはI/F部42から送信されたキャラクタパターンがホストコンピュータ90に登録されてない場合)であって、キャラクタ選択部40により正読のほうが選択された場合である。
そして、オペレータによりバーコード10がビーム光にかざされると、受光部22では、バーコード10の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。光電変換信号は、増幅部23で増幅された後、A/D変換部24でディジタル化され、さらに切り出し部25で切り出される。
つぎに、帯域制限微分部26は、切り出し部25の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてFFT処理により周波数スペクトルを得て、この周波数スペクトルのゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数(2f0)として求める。
また、帯域制限微分部26は、上記モジュール周波数を用いて、切り出し部25の出力信号の帯域を制限するための微分処理を施し、波形パターンの信号をBPF27および遅延フィルタ29へ出力する。
つぎに、BPF27は、帯域制限微分部26で求められたモジュール周波数(2f0)、予め設定されたパラメータ(モジュール周波数誤差Δf、帯域幅fwおよびロールオフ率ROF)によるフィルタ特性に基づき、波形パターンの信号をフィルタリングする。
位相情報抽出部28は、BPF27の出力における各サンプル点の位相を抽出し、位相が0ラジアンになる点をモジュールタイミングとして、モジュールタイミングの情報を出力する。
つぎに、遅延フィルタ29は、0ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部26からの信号に対して遅延処理を施し、サンプル点を0ラジアンタイミング点に一致させ、例えば、第8図に示した波形パターンをLMS部30へ出力する。
これにより、LMS部30は、最小二乗法により、遅延フィルタ29の出力信号に対して、等化処理を施す。この場合、バーコード10が粗悪バーコードであるとすると、LMS部30からは、例えば、第9図(正読時)および第10図(誤読時)に示した各波形パターンの信号が出力される。
三値処理部31は、LMS部30の出力(第9図、第10図参照)を、振幅としきい値との比較に基づいて、「+1」、「0」または「−1」のいずれかに三値化して、正読および誤読の都合2種類の三値化情報を出力する。すなわち、バーコード10が粗悪バーコードの場合には、二種類の読取結果が得られるため、現在BPF27に設定されているパラメータではバーコード読取装置80として読み取り不可の状態にある。
これにより、制御部38は、三値処理部31からの二種類の読取結果をキャラクタ表示部39に表示させる。オペレータは、読み取り不可と判断し、キャラクタ表示部39に表示されている二種類の読み取り結果のうち、バーコード10の近傍に表示されているキャラクタと一致するほうを正読キャラクタとしてキャラクタ選択部40で選択する。
つぎに、制御部38は、バーコード10に対応する波形パターン(帯域制限微分部26の出力)、モジュール周波数(帯域制限微分部26の出力)、正読三値化パターン(三値処理部31の出力であって、キャラクタ選択部40で選択されたもの)、誤読三値化パターン(三値処理部31の出力であって、キャラクタ選択部40で選択されなかったもの)を、第4図に示したように、新規の学習情報として、学習情報データベース60のレコード60N’に追加する。
これにより、制御部38は、第14図に示したステップSA1の判断結果を「Yes」とする。ステップSA2では、制御部38は、第2図に示したパラメータ情報データベース50のパラメータ組テーブル54における全てのパラメータ組(m=0〜M)について確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA3では、制御部38は、パラメータ組テーブル54から一組のパラメータ組(この場合、Δf[0]、fw[0]、ROF[0])を作成する。つぎに、制御部38は、パラメータ設定部37に、このパラメータ組をBPF27に設定させる。
ステップSA4では、制御部38は、ステップSA3で作成されたパラメータ組に関して、第4図に示した学習情報データベース60における全ての学習情報(n=0〜N’)を確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA5では、制御部38は、第4図に示した学習情報データベース60のレコード600の学習情報における波形パターンをBPF27および遅延フィルタ29へ出力するとともに、モジュール周波数をBPF27に設定する。
ステップSA6においては、BPF27で、ステップSA5で設定されたモジュール周波数、ステップSA3で設定されたパラメータによるフィルタ特性に基づき、波形パターンの信号がフィルタリングされる。そして、上述した動作を経て、正読パターン相関部33は、制御部38の制御により、LMS部30の出力を取り込む。
ステップSA7では、誤読パターン相関部32は、制御部38の制御により三値処理部31の出力を取り込む。ステップSA8では、制御部38は、キャラクタ選択部40で選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンとして、正読パターン相関部33に設定する。
これにより、正読パターン相関部33は、基準三値化パターンと、LMS部30の出力との相関値Cr[n](第15図参照)を計算する。この相関値Cr[n]において、xn(t)は、LMS部30の出力に対応しており、yn(T−t)は、基準三値化パターンに対応している。
ステップSA9では、制御部38は、当該学習情報(第4図参照)に誤読三値化パターンが存在する場合、この誤読三値化パターンを誤読パターン相関部32に設定する。これにより、誤読パターン相関部32は、ステップSA8と同様の計算式により、ステップSA7で取り込んだ三値処理部31の出力と、上記誤読三値化パターンとの相関値を計算する。
つぎに、この相関値がしきい値未満である場合、制御部38は、正読パターン相関部33からの相関値の有効性を表す相関値有効フラグCm[n]を1(有効、正読)として、乗算部34へ出力する。ステップSA10では、相関値有効フラグCm[n]が0(無効、誤読)であるか否かが判断される。この場合、相関値有効フラグCm[n]が1(有効、正読)であるため、ステップSA10の判断結果が「No」とされる。
乗算部34では、正読パターン相関部33からの相関値Cr[n]と相関値有効フラグCm[n](=1)とが乗算される。ステップSA11では、加算部35は、ステップSA3で作成されたパラメータ組に関する相関加算値Scr[m]に上記相関値Cr[n]を加算し、相関加算値Scr[m]を更新する。
一方、ステップSA9で相関値がしきい値を超えた場合、制御部38は、相関値有効フラグCm[n]を0(無効、誤読)として乗算部34へ出力する。ステップSA10では、相関値有効フラグCm[n]が0(無効、誤読)であるため、判断結果が「Yes」とされ、ステップSA11がスキップされる。
なお、実際には、乗算部34で、正読パターン相関部33からの相関値Cr[n]と相関値有効フラグCm[n](=0)とが乗算され、相関値Cr[n]が0となる。従って、加算部35では、相関加算値Scr[m]に0が加算される。
このように、実施の形態1では、あるパラメータ組で、誤読三値化パターンとの相関値が高い三値化パターンが三値処理部31から出力された場合、ステップSA8での相関値Cr[n]を0にして、相関加算値Scr[m]に加算せずに、後述する最大値抽出(ステップSA12)で当該フィルタ組が選択されないようにしている。
ステップSA4では、制御部38は、ステップSA3で作成されたパラメータ組に関して、第4図に示した学習情報データベース60における全ての学習情報(n=0〜N)を確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA5では、制御部38は、第4図に示した学習情報データベース60のつぎのレコード601の学習情報における波形パターンをBPF27および遅延フィルタ29へ出力するとともに、モジュール周波数をBPF27に設定する。以後、ステップSA6以降では、当該パラメータ組に関する学習情報の処理が実行される。
そして、学習情報データベース60の最後のレコード60N’の処理が終了すると、制御部38は、ステップSA4の判断結果を「Yes」とする。この場合には、上述したパラメータ組(この場合、Δf[0]、fw[0]、ROF[0])に関する相関加算値Scr[m]が求められている。
ステップSA2では、制御部38は、第2図に示したパラメータ情報データベース50のパラメータ組テーブル54における全てのパラメータ組(m=0〜M)について確認したか否かを判断し、この場合、判断結果を「No」とする。
ステップSA3では、制御部38は、パラメータ組テーブル54からつぎのパラメータ組(この場合、Δf[0]、fw[0]、ROF[1])を作成する。つぎに、制御部38は、パラメータ設定部37に、このパラメータ組をBPF27に設定させる。以後、当該パラメータ組(Δf[0]、fw[0]、ROF[1])に関して相関加算値Scr[m]を計算する処理が実行される。
そして、最後のパラメータ組に関して相関加算値Scr[m]を計算する処理が終了すると、制御部38は、ステップSA2の判断結果を「Yes」とする。この時点では、全てのパラメータ組のそれぞれに対応して複数の相関加算値Scr[m]が計算されている。
ステップSA12では、最大値抽出部36は、上記複数の相関加算値Scr[m]から最大値を抽出する。この最大値の相関加算値Scr[m]は、正読される基準三値化パターンとの相関値が最も高い、すなわち、誤読の発生が最も低いパラメータ組を表す。
ステップSA13では、パラメータ設定部37は、ステップSA12で抽出された最大値の相関加算値Scr[m]に対応するパラメータ組をBPF27に設定する。これにより、誤読が発生したパラメータ組に代えて、誤読の発生が最も低い上記パラメータ組に基づいて、バーコードの読み取りが行われる。
以上説明したように、実施の形態1によれば、バーコードのキャラクタの誤読が発生した場合、キャラクタ選択部40で複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応する正読三値化パターンと、パラメータを順次変化させながら複数の信号波形情報から得られる三値化パダーンとの比較結果(相関値)に基づいて、誤読の発生が最も低いパラメータをBPF27に設定することとしたので、使用中(出荷後)であっても自動的に読取精度を高めることができる。
(実施の形態2)
さて、前述した実施の形態1では、第1図に示したキャラクタ選択部40で正読キャラクタパターンをオペレータに選択させる構成としたが、キーボードにより正読キャラクタパターンを入力させるように構成してもよい。以下では、この構成例を実施の形態2として説明する。
第16図は、本発明にかかる実施の形態2の構成を示すブロック図である。この図において、第1図の各部に対応する部分には同一の符号を付ける。同図においては、キーボード100がホストコンピュータ90に接続されている。このキーボード100は、バーコード10の読み取り時に2種類の読取結果(正読キャラクタパターン、誤読キャラクタパターン)が存在した場合、オペレータにバーコード10からのキャラクタパターンを直接入力させるためのものである。
上記構成において、バーコード10の読み取り結果が2種類存在した場合、バーコード読取装置80は、誤読としてホストコンピュータ90を経由して(または直接)オペレータに通知する。これにより、オペレータは、バーコード10の近傍に表示されているキャラクタパターンをキーボード100より入力する。
ホストコンピュータ90は、入力されたキャラクタパターンを正読キャラクタパターンとして、バーコード読取装置80へ通知する。以後、バーコード読取装置80は、学習情報を追加し、実施の形態1と同様にして、パラメータ組の再設定等を行う。
以上説明したように、実施の形態2によれば、実施の形態1と同様の効果が得られる。
(実施の形態3)
第17図は、本発明にかかる実施の形態3の構成を示すブロック図である。この図において、第16図の各部に対応する部分には同一の符号を付ける。同図においては、第16図に示したバーコード読取装置80に代えて、並列接続されたバーコード読取装置801〜80nが設けられている。これらのバーコード読取装置801〜80nのそれぞれは、バーコード読取装置80と同一の構成とされている。
上記構成においては、例えば、バーコード読取装置801で誤読が発生し、パラメータ組が再設定された場合、このパラメータ組が他のバーコード読取装置802〜80nにも並列的に設定される。
以上説明したように、実施の形態3によれば、バーコード読取装置801に対して併設された他のバーコード読取装置802〜80nに対してもパラメータを設定することとしたので、複数台のバーコード読取装置に対して、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができる。
(実施の形態4)
さて、実施の形態1では、バーコードを読み取る機能、誤読時にオペレータに正読キャラクタパターンを選択させる機能、パラメータ組を再設定する機能等をバーコード読取装置80(第1図参照)に持たせる構成としたが、一部の機能をホストコンピュータに持たせるように構成してもよい。
第18図は、本発明にかかる実施の形態4の構成を示すブロック図である。この図において、バーコード読取装置120は、バーコードを読み取る機能、パラメータ組を再設定する機能を備えている。ホストコンピュータ130は、バーコード読取装置120からのバーコードの読取結果の通知を受けて、上記機能のうち誤読時にオペレータに正読キャラクタパターンを選択させる機能を備えている。サーバ140は、第1図に示したパラメータ情報データベース50、学習情報データベース60を備えており、ホストコンピュータ130を経由してバーコード読取装置120からのデータベース参照要求を受け付ける。
以上説明したように、実施の形態4によれば、実施の形態1と同様の効果が得られる。
以上本発明にかかる実施の形態1〜4について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜4に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、前述した実施の形態1〜4においては、前述したバーコード読み取りの機能を実現するためのプログラムを第19図に示したコンピュータ読み取り可能な記録媒体300に記録して、この記録媒体300に記録されたプログラムをコンピュータ200に読み込ませ、実行することにより各機能を実現してもよい。
コンピュータ200は、上記プログラムを実行するCPU(Central Processing Unit)210と、キーボード、マウス等の入力装置220と、各種データを記憶するROM(Read Only Memory)230と、演算パラメータ等を記憶するRAM(Random Access Memory)240と、記録媒体300からプログラムを読み取る読取装置250と、ディスプレイ、プリンタ等の出力装置260と、装置各部を接続するバス270とから構成されている。
CPU210は、読取装置250を経由して記録媒体300に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した各機能を実現する。なお、記録媒体300としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
以上説明したように、本発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、選択された正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの相関をとることとしたので、相関の値に基づき、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、最大値の相関に対応するパラメータを誤読の発生が最も低いパラメータとして設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、併設された他のバーコード読取装置に対してもパラメータを設定することとしたので、複数のバーコード読取装置のうちいずれかのバーコード読取装置で誤読が発生した場合に、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができるという効果を奏する。
以上のように、本発明にかかるバーコード読取装置は、商品の流通分野等におけるバーコードの読み取りに対して有用である。
Claims (5)
- パラメータに基づいて、バーコードからキャラクタを読取る読取手段と、
複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段と、
キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段と、
選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段と、
前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段と、
を備えたことを特徴とするバーコード読取装置。 - 前記比較手段は、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの相関をとることを特徴とする請求の範囲第1項に記載のバーコード読取装置。
- 前記パラメータ設定手段は、最大値の相関に対応するパラメータを誤読の発生が最も低いパラメータとして前記読取手段に設定することを特徴とする請求の範囲第2項に記載のバーコード読取装置。
- 前記パラメータ設定手段は、併設された他のバーコード読取装置に対しても前記パラメータを設定することを特徴とする請求の範囲第1項に記載のバーコード読取装置。
- コンピュータを、
パラメータに基づいて、バーコードからキャラクタを読取る読取手段、
複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段、
キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段、
選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段、
前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段、
として機能させるためのバーコード読取プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2002/006650 WO2004003828A1 (ja) | 2002-06-28 | 2002-06-28 | バーコード読取装置およびバーコード読取プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2004003828A1 JPWO2004003828A1 (ja) | 2005-10-27 |
JP3833682B2 true JP3833682B2 (ja) | 2006-10-18 |
Family
ID=29808184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004517233A Expired - Fee Related JP3833682B2 (ja) | 2002-06-28 | 2002-06-28 | バーコード読取装置およびバーコード読取プログラム |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1519295A4 (ja) |
JP (1) | JP3833682B2 (ja) |
KR (1) | KR100655338B1 (ja) |
CN (1) | CN1630874A (ja) |
AU (1) | AU2002311324A1 (ja) |
WO (1) | WO2004003828A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7380719B1 (en) * | 2006-09-21 | 2008-06-03 | Ncr Corporation | Barcode scanner with configurable video modes |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6220027Y2 (ja) * | 1981-03-12 | 1987-05-22 | ||
JPS61290577A (ja) * | 1985-06-19 | 1986-12-20 | Fujitsu Ltd | バ−コ−ド読取装置 |
US5159667A (en) * | 1989-05-31 | 1992-10-27 | Borrey Roland G | Document identification by characteristics matching |
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 |
JP3629581B2 (ja) * | 1995-04-13 | 2005-03-16 | 株式会社キーエンス | バーコード読取装置 |
JP3548025B2 (ja) * | 1998-12-17 | 2004-07-28 | 富士通株式会社 | バーコード読取装置および方法 |
-
2002
- 2002-06-28 EP EP02736209A patent/EP1519295A4/en not_active Withdrawn
- 2002-06-28 WO PCT/JP2002/006650 patent/WO2004003828A1/ja active Application Filing
- 2002-06-28 JP JP2004517233A patent/JP3833682B2/ja not_active Expired - Fee Related
- 2002-06-28 KR KR1020047018866A patent/KR100655338B1/ko not_active IP Right Cessation
- 2002-06-28 AU AU2002311324A patent/AU2002311324A1/en not_active Abandoned
- 2002-06-28 CN CNA028292332A patent/CN1630874A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1519295A4 (en) | 2010-01-20 |
WO2004003828A1 (ja) | 2004-01-08 |
AU2002311324A1 (en) | 2004-01-19 |
JPWO2004003828A1 (ja) | 2005-10-27 |
KR20040111687A (ko) | 2004-12-31 |
EP1519295A1 (en) | 2005-03-30 |
CN1630874A (zh) | 2005-06-22 |
AU2002311324A8 (en) | 2004-01-19 |
KR100655338B1 (ko) | 2006-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622569B (zh) | 具有边缘检测增强的条码读取器 | |
CN204374974U (zh) | 高动态范围的标记读取系统 | |
US9141839B2 (en) | System and method for reading code symbols at long range using source power control | |
US6938824B2 (en) | Decoding algorithm for laser scanning bar code readers | |
US6478225B1 (en) | Adaptive bar code scanner | |
US5389770A (en) | Method and apparatus for decoding unresolved bar code profiles | |
EP2182467B1 (en) | Method and apparatus for optically reading out information stored in a barcode | |
AU2005226045B2 (en) | Data collection signal processing for increased performance in electro-optical readers | |
US20060102727A1 (en) | Bar-code reader and method of reading bar-code | |
JPH05205085A (ja) | アナログ波形復号器 | |
CN101874250A (zh) | 增强型虚拟扫描线处理 | |
US5627358A (en) | System and method for reading two-dimensional barcodes | |
KR940001000A (ko) | 적응 바 코드 스캐너 | |
CN101263508A (zh) | 用于电光读取器的具有双芯片结构的扫描引擎 | |
JP3833682B2 (ja) | バーコード読取装置およびバーコード読取プログラム | |
US7044382B2 (en) | Bar-code reader and computer product | |
JPH07152852A (ja) | 明暗部を備えたコード特定用光学式走査装置及び走査方法 | |
JP4257131B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
US6443360B1 (en) | Method and device for focusing an electrical signal representative of an optical code | |
US6533174B2 (en) | Method and apparatus for reading and writing indicia such as bar codes using a scanned laser beam | |
KR100704864B1 (ko) | 스캐닝하는 동안의 자동 이득 제어를 위한 장치 및 방법 | |
CN101149786B (zh) | 具有可配置视频模式的条形码扫描仪 | |
JP4319985B2 (ja) | バーコード読取装置、バーコード読取方法、バーコード読取プログラムおよびモジュール点抽出装置 | |
CN101208706A (zh) | 对条形码进行解码的方法和系统 | |
US6976630B2 (en) | Bar-code reader, method of reading a bar code, and computer product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060719 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100728 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |