(57)【要約】パラメータに基づいて、バーコード（１０）からキャラクタを読取る読取部と、複数パターンのキャラクタに対応する複数のパターン波形情報等を学習情報として格納する学習情報データベース（６０）と、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させるキャラクタ選択部（４０）と、選択された正読キャラクタパターンに対応する正読三値化パターンと、パラメータを順次変化させながら複数の学習情報から得られる三値化パターンとを比較し、この比較結果に基づいて、誤読の発生が最も低いパラメータをＢＰＦ（２７）に設定するパラメータ設定部（３７）とを備えている。
2004003828.tif 000002
【特許請求の範囲】
【請求項１】
パラメータに基づいて、バーコードからキャラクタを読取る読取手段と、
複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段と、
キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段と、
選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段と、
前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段と、
を備えたことを特徴とするバーコード読取装置。
【請求項２】
前記比較手段は、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの相関をとることを特徴とする請求の範囲第１項に記載のバーコード読取装置。
【請求項３】
前記パラメータ設定手段は、最大値の相関に対応するパラメータを誤読の発生が最も低いパラメータとして前記読取手段に設定することを特徴とする請求の範囲第２項に記載のバーコード読取装置。
【請求項４】
前記パラメータ設定手段は、併設された他のバーコード読取装置に対しても前記パラメータを設定することを特徴とする請求の範囲第１項に記載のバーコード読取装置。
【請求項５】
コンピュータを、
パラメータに基づいて、バーコードからキャラクタを読取る読取手段、
複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段、
キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段、
選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段、
前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段、
として機能させるためのバーコード読取プログラム。
【発明の詳細な説明】
【技術分野】  本発明は、光の反射率の差を利用して、キャラクタがバー幅により表されたバーコード（二値情報）からの反射光に基づいてバーコード（キャラクタ）を読み取るバーコード読取装置およびバーコード読取プログラムに関するものであり、特に、パラメータの学習機能によりバーコードの読取精度を高めることができるバーコード読取装置およびバーコード読取プログラムに関するものである。
【背景技術】  従来より、商品の流通分野においては、商品に付されたバーコードを光学的に読み取って、当該商品の値段や商品名等、商品に関する情報をレジスタ等に登録することが行われている。
バーコードにおいては、商品に関する情報がキャラクタとしてコード化されており、黒バーと白バーとが交互に組み合わされてなる。バーコード読取装置では、バーコード上にレーザダイオード等から発光されたビーム光を走査させて、このビームの反射光を受光して、黒バーおよび白バーの幅に対応する電気信号からバーコード情報を読み取っている。
ここで、バーコードは、紙を主として、有機系素材、缶等の様々な媒体に印刷されている。このことから、従来では、バーコードの印刷時点で媒体に依存してバーの幅誤差が生じたり、流通途中で汚れ、かすれ等によりバーの幅誤差が生じる。このように幅誤差を有するバーコードの場合には、バーコード読取装置での誤読が生じる。
従って、バーコード読取装置の製造工場では、規格内の幅誤差に対して、バーコードを読み取るために必要なパラメータの設定条件を緩和するという、ある程度の許容範囲を持たせた状態で出荷している。
ところで、従来においては、バーコード読取装置の出荷後に規格外の幅誤差を有する粗悪なバーコードが出現することが度々ある。このような場合には、いつまでたっても当該バーコードを読み取ることができないため、オペレータがバーコード情報を入力することになり、余計にオペレーション時間がかかるという問題があった。
また、粗悪バーコードにより読み取りができなくなる頻度が高くなると、バーコード読取装置のユーザからメーカへ苦情が通知され、当該メーカでは、担当者を現場に派遣しての調査・対応や、バーコード読取装置をメーカ側に引き上げての長期間におよぶ精密調査・対応が必要となり、ユーザおよびメーカの双方にとってのデメリットが大きくなるという問題があった。
本発明は、上記に鑑みてなされたもので、使用中であっても自動的に読取精度を高めることができるバーコード読取装置およびバーコード読取プログラムを提供することを目的としている。
【発明の開示】
上記目的を達成するために、本発明は、パラメータに基づいて、バーコードからキャラクタを読取る読取手段と、複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段と、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段と、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段と、前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段と、を備えたことを特徴とする。
また、本発明は、コンピュータを、パラメータに基づいて、バーコードからキャラクタを読取る読取手段、複数のキャラクタのパターンに対応する複数の信号波形情報を記憶する記憶手段、キャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させる選択手段、選択された前記正読キャラクタに対応するパターンと、前記パラメータを順次変化させながら複数の信号波形情報から得られるパターンとを比較する比較手段、前記比較手段の比較結果に基づいて、誤読の発生が最も低いパラメータを前記読取手段に設定するパラメータ設定手段、として機能させるためのバーコード読取プログラムである。
かかる発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができる。
【図面の簡単な説明】  第１図は、本発明にかかる実施の形態１の構成を示すブロック図であり、第２図は、第１図に示したパラメータ情報データベース５０を示す図であり、第３図は、同実施の形態１におけるパラメータを説明する図であり、第４図は、第１図に示した学習情報データベース６０を示す図であり、第５図は、第１図に示した帯域制限微分部２６の出力を示す図であり、第６図は、第１図に示したＢＰＦ２７の出力を示す図であり、第７図は、第１図に示した位相情報抽出部２８の出力を示す図であり、第８図は、第１図に示した遅延フィルタ２９の出力を示す図であり、第９図は、第１図に示したＬＭＳ部３０（正読時）の出力を示す図であり、第１０図は、第１図に示したＬＭＳ部３０（誤読時）の出力を示す図であり、第１１図は、第１図に示した三値処理部３１の出力および正読三値化パターンを示す図であり、第１２図は、第１図に示した三値処理部３１の出力および誤読三値化パターンを示す図であり、第１３図は、実施の形態１における三値化パターンおよびキャラクタパターンを示す図であり、第１４図は、同実施の形態１の動作を説明するフローチャートであり、第１５図は、同実施の形態１における相関値を求める計算式を示す図であり、第１６図は、本発明にかかる実施の形態２の構成を示すブロック図であり、第１７図は、本発明にかかる実施の形態３の構成を示すブロック図であり、第１８図は、本発明にかかる実施の形態４の構成を示すブロック図であり、第１９図は、本発明にかかる実施の形態１〜４の変形例の構成を示すブロック図である。
【発明を実施するための最良の形態】  以下、図面を参照して本発明にかかる実施の形態１〜４について詳細に説明する。
（実施の形態１）
第１図は、本発明にかかる実施の形態１の構成を示すブロック図である。この図に示したバーコード読取装置８０は、バーコード１０を光学的に読み取る装置であり、出荷後に学習機能により、最適なパラメータを自動設定する装置である。
ここで、パラメータとしては、後述する第２図および第３図に示したモジュール周波数誤差Δｆ、帯域幅ｆｗおよびロールオフ率ＲＯＦが挙げられる。
バーコード読取装置８０において、レーザダイオード２０は、走査用のビーム光を発する。ポリゴンミラー２１は、レーザダイオード２０からのビーム光を反射させる鏡面体により構成されており、モータ（図示略）により回転されて、ビーム光の反射方向を変化させることにより、複数種類の走査パターンを与えるものである。
ポリゴンミラー２１により反射されたビーム光は、バーコード１０の黒バーおよび白バーに、例えば左端から右端に向かう方向で照射される。受光部２２は、バーコード１０に照射されたビーム光の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。増幅部２３は、受光部２２からの光電変換信号を増幅する。
Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換部２４は、増幅部２３により増幅されたアナログの光電変換信号をディジタルサンプリングし、ディジタルの光電変換信号として出力する。切り出し部２５は、後段の信号処理を軽減するために、Ａ／Ｄ変換部２４からの光電変換信号からバーコード１０により反射された信号のみを切り出す。
帯域制限微分部２６は、切り出し部２５の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）処理により第３図に示した周波数スペクトル７１を得て、この周波数スペクトル７１のゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数（２ｆ０）として求める。
また、帯域制限微分部２６は、上記モジュール周波数を用いて、切り出し部２５の出力信号の帯域を制限するための微分処理を施し、第５図に示した波形パターンの信号を出力する。
ＢＰＦ（バンドパスフィルタ）２７は、第３図に示したフィルタ特性７０に基づき、第５図に示した波形パターンの信号をフィルタリングし、第６図に示した波形パターンを出力する。このＢＰＦ２７には、フィルタ特性７０を決定付けるパタメータとして、モジュール周波数誤差Δｆ、帯域幅ｆｗおよびロールオフ率ＲＯＦが後述するパラメータ設定部３７により動的に設定される。パラメータは、バーコードの読取精度を左右する重要な値である。従って、パラメータが適値に設定されてない場合、バーコードの読取時に誤読が発生しやすくなる。
モジュール周波数誤差Δｆは、上述したモジュール周波数（２ｆ０）の誤差分を補正するための値である。従って、実際には、第３図に示したように、フィルタ特性７０（帯域幅ｆｗ）の中心周波数は、モジュール周波数（２ｆ０）＋モジュール周波数誤差Δｆとされる。
また、実施の形態１では、バーコードの読取時に誤読が発生した場合、複数のパラメータの組（第２図参照）のうち、誤読が最も発生しにくいパラメータの組が選択され、この組に対応するパラメータがＢＰＦ２７に設定される。
第６図において、サンプル点に○が付された波形は、ヒルベルト変換が施された実部に対応しており、サンプル点に×が付された波形は、虚部に対応している。このように、第６図では、各サンプル点がベクトル化（実部および虚部）されている。
位相情報抽出部２８は、第６図における各サンプル点の位相を抽出し、位相が０ラジアンになる点をモジュールタイミングとして、第７図に示したモジュールタイミングの情報を出力する。
遅延フィルタ２９は、第６図で０ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部２６からの信号に対して遅延処理を施し、サンプル点を０ラジアンタイミング点に一致させるためのフィルタであり、例えば、第８図に示した波形パターンを出力する。
ＬＭＳ（Ｌｅａｓｔ  Ｍｅａｎ  Ｓｑｕａｒｅ）部３０は、最小二乗法により、遅延フィルタ２９の出力信号に対して、等化処理を施し、例えば、第９図（正読時）や第１０図（誤読時）に示した波形パターンの信号を出力する。
三値処理部３１は、ＬＭＳ部３０の出力（第９図、第１０図参照）を、振幅としきい値との比較に基づいて、「＋１」、「０」または「−１」のいずれかに三値化して、第１１図または第１２図の○部分の三値化情報を出力する。例えば、第１３図（ａ）に示した○部分の三値化情報は、キャラクタ復調部４１により、第１３図（ｂ）に示した、バーコードのキャラクタパターン（キャラクタ列）に復調される。このキャラクタパターンは、Ｉ／Ｆ（インタフェース）部４２により、読み取り結果としてホストコンピュータ９０に送信される。第１１図には、正読時の三値化パターンが図示されている。第１２図には、誤読時の三値化パターンが図示されている。すなわち、第１１図では、横軸＝４０およびその一つ前のサンプル点（黒丸）の三値化情報が「−１」および「０」であり、正読とされる。これに対して、第１２図では、同一のバーコードが読み取られたにもかかわらず、同サンプル点（黒丸）が「０」および「−１」という具合に誤読している。
第１図に示したバーコード読取装置８０では、バーコードのかすれ等により、第１１図および第１２図に示したように、一つのバーコードの読み取り結果として２つの結果（正読および誤読）がでる場合がある。この場合には、オペレータに２つの結果を提示し、正しいほうの結果を選択させる。
誤読パターン相関部３２は、三値処理部３１の出力と、後述する学習情報データベース６０の学習情報における誤読三値化パターンとの相関値を求める。正読パターン相関部３３は、上述したオペレータにより選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンと、ＬＭＳ部３０の出力との相関値を求める。
乗算部３４は、正読パターン相関部３３からの相関値と、誤読パターン相関部３２からの相関値とを乗算する。加算部３５は、パラメータ毎に乗算部３４の乗算値を加算し、これを相関加算値とする。最大値抽出部３６は、求められた複数の相関加算値のうち最大値を抽出する。
パラメータ設定部３７は、最大値抽出部３６により抽出された最大値に対応するパラメータをＢＰＦ２７に設定する。制御部３８は、各部を制御するものである。キャラクタ表示部３９は、制御部３８の制御の下で、三値処理部３１の出力に基づくバーコードの読取結果（キャラクタ）を表示する。
ここで、第１１図および第１２図に示したように、正読結果および誤読結果がある場合、キャラクタ表示部３９には、双方の読取結果が表示される。キャラクタ選択部４０は、キャラクタ表示部３９に双方の読取結果が表示された場合、正読の結果をオペレータに選択させる機能を備えている。具体的には、オペレータは、キャラクタ表示部３９に表示されている２つのキャラクタのうち、バーコードの近傍に表示されているキャラクタと一致するものを正読結果として選択する。
パラメータ情報データベース５０は、バーコードの読取精度に影響を与える上述したパラメータ（モジュール周波数誤差Δｆ、帯域幅ｆｗおよびロールオフ率ＲＯＦ）に関するパラメータ情報を格納するデータベースである。
具体的には、パラメータ情報データベース５０は、第２図に示したように、モジュール周波数誤差テーブル５１、帯域幅テーブル５２、ロールオフ率テーブル５３およびパラメータ組テーブル５４から構成されている。
モジュール周波数誤差テーブル５１は、下限から上限までの所定範囲（例えば、−５００ｋＨｚ〜＋５００ｋＨｚ）における所定刻みのモジュール周波数誤差Δｆの集合である。帯域幅テーブル５２は、下限から上限までの所定範囲（例えば、１ｋＨｚ〜１０００ｋＨｚ）における所定刻みの帯域幅ｆｗの集合である。ロールオフ率テーブル５３は、下限から上限までの所定範囲（例えば、０％〜１００％）における所定刻みのロールオフ率ＲＯＦの集合である。
パラメータ組テーブル５４は、モジュール周波数誤差テーブル５１、帯域幅テーブル５２およびロールオフ率テーブル５３のそれぞれから一つづつ抽出されたパラメータの組（モジュール周波数誤差Δｆ、帯域幅ｆｗ、ロールオフ率ＲＯＦ）である。パラメータ組テーブル５４には、すべての組み合わせ（ｍ＝０〜Ｍ）が格納されている。
学習情報データベース６０は、第４図に示したように、レコード６００〜６０Ｎ’の学習情報を格納するデータベースである。この学習情報は、番号、波形パターン、モジュール周波数、正読三値化パターンおよび誤読三値化パターンからなり、誤読が発生した場合に再設定されるパラメータを選択する際に用いられる情報であり、予め複数、用意されている。波形パターンは、帯域制限微分部２６に入力される波形パターンの情報である。
モジュール周波数は、当該波形パターンに対応するモジュール周波数である。正読三値化パターンは、当該波形パターンを帯域制限微分部２６に入力した場合の三値処理部３１の出力（但し、正読）である。
一方、誤読三値化パターンは、上記波形パターンを帯域制限微分部２６に入力した場合の三値処理部３１の出力（但し、誤読）である。ここで、バーコードの読み取り結果が誤読である場合、学習情報データベース６０には、新たな当該読み取り結果に対応する学習情報が格納される。
ホストコンピュータ９０は、バーコード読取装置８０に接続されており、バーコードの読み取り結果に基づいて、商品管理等を行うコンピュータである。
つぎに、実施の形態１の動作について第１４図に示したフローチャートを参照しつつ説明する。同図に示したステップＳＡ１では、制御部３８は、学習情報データベース６０に新規の学習情報が追加されたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
ここで、学習情報が追加される条件は、バーコード読取装置８０によりバーコードが読み取り不可、すなわち、読取結果が２種類（正読三値化パターン、誤読三値化パターン）存在する場合（またはＩ／Ｆ部４２から送信されたキャラクタパターンがホストコンピュータ９０に登録されてない場合）であって、キャラクタ選択部４０により正読のほうが選択された場合である。
そして、オペレータによりバーコード１０がビーム光にかざされると、受光部２２では、バーコード１０の反射光を受光し、その強弱に応じた振幅値の電気信号に光電変換する。光電変換信号は、増幅部２３で増幅された後、Ａ／Ｄ変換部２４でディジタル化され、さらに切り出し部２５で切り出される。
つぎに、帯域制限微分部２６は、切り出し部２５の出力信号に対して微分処理および二乗処理等を施し、微分二乗信号についてＦＦＴ処理により周波数スペクトルを得て、この周波数スペクトルのゲインピークの周波数をバーコードの基本モジュールに相当するモジュール周波数（２ｆ０）として求める。
また、帯域制限微分部２６は、上記モジュール周波数を用いて、切り出し部２５の出力信号の帯域を制限するための微分処理を施し、波形パターンの信号をＢＰＦ２７および遅延フィルタ２９へ出力する。
つぎに、ＢＰＦ２７は、帯域制限微分部２６で求められたモジュール周波数（２ｆ０）、予め設定されたパラメータ（モジュール周波数誤差Δｆ、帯域幅ｆｗおよびロールオフ率ＲＯＦ）によるフィルタ特性に基づき、波形パターンの信号をフィルタリングする。
位相情報抽出部２８は、ＢＰＦ２７の出力における各サンプル点の位相を抽出し、位相が０ラジアンになる点をモジュールタイミングとして、モジュールタイミングの情報を出力する。
つぎに、遅延フィルタ２９は、０ラジアンになる点とサンプル点との遅延時間に基づいて、帯域制限微分部２６からの信号に対して遅延処理を施し、サンプル点を０ラジアンタイミング点に一致させ、例えば、第８図に示した波形パターンをＬＭＳ部３０へ出力する。
これにより、ＬＭＳ部３０は、最小二乗法により、遅延フィルタ２９の出力信号に対して、等化処理を施す。この場合、バーコード１０が粗悪バーコードであるとすると、ＬＭＳ部３０からは、例えば、第９図（正読時）および第１０図（誤読時）に示した各波形パターンの信号が出力される。
三値処理部３１は、ＬＭＳ部３０の出力（第９図、第１０図参照）を、振幅としきい値との比較に基づいて、「＋１」、「０」または「−１」のいずれかに三値化して、正読および誤読の都合２種類の三値化情報を出力する。すなわち、バーコード１０が粗悪バーコードの場合には、二種類の読取結果が得られるため、現在ＢＰＦ２７に設定されているパラメータではバーコード読取装置８０として読み取り不可の状態にある。
これにより、制御部３８は、三値処理部３１からの二種類の読取結果をキャラクタ表示部３９に表示させる。オペレータは、読み取り不可と判断し、キャラクタ表示部３９に表示されている二種類の読み取り結果のうち、バーコード１０の近傍に表示されているキャラクタと一致するほうを正読キャラクタとしてキャラクタ選択部４０で選択する。
つぎに、制御部３８は、バーコード１０に対応する波形パターン（帯域制限微分部２６の出力）、モジュール周波数（帯域制限微分部２６の出力）、正読三値化パターン（三値処理部３１の出力であって、キャラクタ選択部４０で選択されたもの）、誤読三値化パターン（三値処理部３１の出力であって、キャラクタ選択部４０で選択されなかったもの）を、第４図に示したように、新規の学習情報として、学習情報データベース６０のレコード６０Ｎ’に追加する。
これにより、制御部３８は、第１４図に示したステップＳＡ１の判断結果を「Ｙｅｓ」とする。ステップＳＡ２では、制御部３８は、第２図に示したパラメータ情報データベース５０のパラメータ組テーブル５４における全てのパラメータ組（ｍ＝０〜Ｍ）について確認したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
ステップＳＡ３では、制御部３８は、パラメータ組テーブル５４から一組のパラメータ組（この場合、Δｆ［０］、ｆｗ［０］、ＲＯＦ［０］）を作成する。つぎに、制御部３８は、パラメータ設定部３７に、このパラメータ組をＢＰＦ２７に設定させる。
ステップＳＡ４では、制御部３８は、ステップＳＡ３で作成されたパラメータ組に関して、第４図に示した学習情報データベース６０における全ての学習情報（ｎ＝０〜Ｎ’）を確認したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
ステップＳＡ５では、制御部３８は、第４図に示した学習情報データベース６０のレコード６００の学習情報における波形パターンをＢＰＦ２７および遅延フィルタ２９へ出力するとともに、モジュール周波数をＢＰＦ２７に設定する。
ステップＳＡ６においては、ＢＰＦ２７で、ステップＳＡ５で設定されたモジュール周波数、ステップＳＡ３で設定されたパラメータによるフィルタ特性に基づき、波形パターンの信号がフィルタリングされる。そして、上述した動作を経て、正読パターン相関部３３は、制御部３８の制御により、ＬＭＳ部３０の出力を取り込む。
ステップＳＡ７では、誤読パターン相関部３２は、制御部３８の制御により三値処理部３１の出力を取り込む。ステップＳＡ８では、制御部３８は、キャラクタ選択部４０で選択された正読キャラクタパターンから基準三値化パターンを生成し、この基準三値化パターンとして、正読パターン相関部３３に設定する。
これにより、正読パターン相関部３３は、基準三値化パターンと、ＬＭＳ部３０の出力との相関値Ｃｒ［ｎ］（第１５図参照）を計算する。この相関値Ｃｒ［ｎ］において、ｘｎ（ｔ）は、ＬＭＳ部３０の出力に対応しており、ｙｎ（Ｔ−ｔ）は、基準三値化パターンに対応している。
ステップＳＡ９では、制御部３８は、当該学習情報（第４図参照）に誤読三値化パターンが存在する場合、この誤読三値化パターンを誤読パターン相関部３２に設定する。これにより、誤読パターン相関部３２は、ステップＳＡ８と同様の計算式により、ステップＳＡ７で取り込んだ三値処理部３１の出力と、上記誤読三値化パターンとの相関値を計算する。
つぎに、この相関値がしきい値未満である場合、制御部３８は、正読パターン相関部３３からの相関値の有効性を表す相関値有効フラグＣｍ［ｎ］を１（有効、正読）として、乗算部３４へ出力する。ステップＳＡ１０では、相関値有効フラグＣｍ［ｎ］が０（無効、誤読）であるか否かが判断される。この場合、相関値有効フラグＣｍ［ｎ］が１（有効、正読）であるため、ステップＳＡ１０の判断結果が「Ｎｏ」とされる。
乗算部３４では、正読パターン相関部３３からの相関値Ｃｒ［ｎ］と相関値有効フラグＣｍ［ｎ］（＝１）とが乗算される。ステップＳＡ１１では、加算部３５は、ステップＳＡ３で作成されたパラメータ組に関する相関加算値Ｓｃｒ［ｍ］に上記相関値Ｃｒ［ｎ］を加算し、相関加算値Ｓｃｒ［ｍ］を更新する。
一方、ステップＳＡ９で相関値がしきい値を超えた場合、制御部３８は、相関値有効フラグＣｍ［ｎ］を０（無効、誤読）として乗算部３４へ出力する。ステップＳＡ１０では、相関値有効フラグＣｍ［ｎ］が０（無効、誤読）であるため、判断結果が「Ｙｅｓ」とされ、ステップＳＡ１１がスキップされる。
なお、実際には、乗算部３４で、正読パターン相関部３３からの相関値Ｃｒ［ｎ］と相関値有効フラグＣｍ［ｎ］（＝０）とが乗算され、相関値Ｃｒ［ｎ］が０となる。従って、加算部３５では、相関加算値Ｓｃｒ［ｍ］に０が加算される。
このように、実施の形態１では、あるパラメータ組で、誤読三値化パターンとの相関値が高い三値化パターンが三値処理部３１から出力された場合、ステップＳＡ８での相関値Ｃｒ［ｎ］を０にして、相関加算値Ｓｃｒ［ｍ］に加算せずに、後述する最大値抽出（ステップＳＡ１２）で当該フィルタ組が選択されないようにしている。
ステップＳＡ４では、制御部３８は、ステップＳＡ３で作成されたパラメータ組に関して、第４図に示した学習情報データベース６０における全ての学習情報（ｎ＝０〜Ｎ）を確認したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
ステップＳＡ５では、制御部３８は、第４図に示した学習情報データベース６０のつぎのレコード６０１の学習情報における波形パターンをＢＰＦ２７および遅延フィルタ２９へ出力するとともに、モジュール周波数をＢＰＦ２７に設定する。以後、ステップＳＡ６以降では、当該パラメータ組に関する学習情報の処理が実行される。
そして、学習情報データベース６０の最後のレコード６０Ｎ’の処理が終了すると、制御部３８は、ステップＳＡ４の判断結果を「Ｙｅｓ」とする。この場合には、上述したパラメータ組（この場合、Δｆ［０］、ｆｗ［０］、ＲＯＦ［０］）に関する相関加算値Ｓｃｒ［ｍ］が求められている。
ステップＳＡ２では、制御部３８は、第２図に示したパラメータ情報データベース５０のパラメータ組テーブル５４における全てのパラメータ組（ｍ＝０〜Ｍ）について確認したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
ステップＳＡ３では、制御部３８は、パラメータ組テーブル５４からつぎのパラメータ組（この場合、Δｆ［０］、ｆｗ［０］、ＲＯＦ［１］）を作成する。つぎに、制御部３８は、パラメータ設定部３７に、このパラメータ組をＢＰＦ２７に設定させる。以後、当該パラメータ組（Δｆ［０］、ｆｗ［０］、ＲＯＦ［１］）に関して相関加算値Ｓｃｒ［ｍ］を計算する処理が実行される。
そして、最後のパラメータ組に関して相関加算値Ｓｃｒ［ｍ］を計算する処理が終了すると、制御部３８は、ステップＳＡ２の判断結果を「Ｙｅｓ」とする。この時点では、全てのパラメータ組のそれぞれに対応して複数の相関加算値Ｓｃｒ［ｍ］が計算されている。
ステップＳＡ１２では、最大値抽出部３６は、上記複数の相関加算値Ｓｃｒ［ｍ］から最大値を抽出する。この最大値の相関加算値Ｓｃｒ［ｍ］は、正読される基準三値化パターンとの相関値が最も高い、すなわち、誤読の発生が最も低いパラメータ組を表す。
ステップＳＡ１３では、パラメータ設定部３７は、ステップＳＡ１２で抽出された最大値の相関加算値Ｓｃｒ［ｍ］に対応するパラメータ組をＢＰＦ２７に設定する。これにより、誤読が発生したパラメータ組に代えて、誤読の発生が最も低い上記パラメータ組に基づいて、バーコードの読み取りが行われる。
以上説明したように、実施の形態１によれば、バーコードのキャラクタの誤読が発生した場合、キャラクタ選択部４０で複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応する正読三値化パターンと、パラメータを順次変化させながら複数の信号波形情報から得られる三値化パダーンとの比較結果（相関値）に基づいて、誤読の発生が最も低いパラメータをＢＰＦ２７に設定することとしたので、使用中（出荷後）であっても自動的に読取精度を高めることができる。
（実施の形態２）
さて、前述した実施の形態１では、第１図に示したキャラクタ選択部４０で正読キャラクタパターンをオペレータに選択させる構成としたが、キーボードにより正読キャラクタパターンを入力させるように構成してもよい。以下では、この構成例を実施の形態２として説明する。
第１６図は、本発明にかかる実施の形態２の構成を示すブロック図である。この図において、第１図の各部に対応する部分には同一の符号を付ける。同図においては、キーボード１００がホストコンピュータ９０に接続されている。このキーボード１００は、バーコード１０の読み取り時に２種類の読取結果（正読キャラクタパターン、誤読キャラクタパターン）が存在した場合、オペレータにバーコード１０からのキャラクタパターンを直接入力させるためのものである。
上記構成において、バーコード１０の読み取り結果が２種類存在した場合、バーコード読取装置８０は、誤読としてホストコンピュータ９０を経由して（または直接）オペレータに通知する。これにより、オペレータは、バーコード１０の近傍に表示されているキャラクタパターンをキーボード１００より入力する。
ホストコンピュータ９０は、入力されたキャラクタパターンを正読キャラクタパターンとして、バーコード読取装置８０へ通知する。以後、バーコード読取装置８０は、学習情報を追加し、実施の形態１と同様にして、パラメータ組の再設定等を行う。
以上説明したように、実施の形態２によれば、実施の形態１と同様の効果が得られる。
（実施の形態３）
第１７図は、本発明にかかる実施の形態３の構成を示すブロック図である。この図において、第１６図の各部に対応する部分には同一の符号を付ける。同図においては、第１６図に示したバーコード読取装置８０に代えて、並列接続されたバーコード読取装置８０１〜８０ｎが設けられている。これらのバーコード読取装置８０１〜８０ｎのそれぞれは、バーコード読取装置８０と同一の構成とされている。
上記構成においては、例えば、バーコード読取装置８０１で誤読が発生し、パラメータ組が再設定された場合、このパラメータ組が他のバーコード読取装置８０２〜８０ｎにも並列的に設定される。
以上説明したように、実施の形態３によれば、バーコード読取装置８０１に対して併設された他のバーコード読取装置８０２〜８０ｎに対してもパラメータを設定することとしたので、複数台のバーコード読取装置に対して、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができる。
（実施の形態４）
さて、実施の形態１では、バーコードを読み取る機能、誤読時にオペレータに正読キャラクタパターンを選択させる機能、パラメータ組を再設定する機能等をバーコード読取装置８０（第１図参照）に持たせる構成としたが、一部の機能をホストコンピュータに持たせるように構成してもよい。
第１８図は、本発明にかかる実施の形態４の構成を示すブロック図である。この図において、バーコード読取装置１２０は、バーコードを読み取る機能、パラメータ組を再設定する機能を備えている。ホストコンピュータ１３０は、バーコード読取装置１２０からのバーコードの読取結果の通知を受けて、上記機能のうち誤読時にオペレータに正読キャラクタパターンを選択させる機能を備えている。サーバ１４０は、第１図に示したパラメータ情報データベース５０、学習情報データベース６０を備えており、ホストコンピュータ１３０を経由してバーコード読取装置１２０からのデータベース参照要求を受け付ける。
以上説明したように、実施の形態４によれば、実施の形態１と同様の効果が得られる。
以上本発明にかかる実施の形態１〜４について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態１〜４に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、前述した実施の形態１〜４においては、前述したバーコード読み取りの機能を実現するためのプログラムを第１９図に示したコンピュータ読み取り可能な記録媒体３００に記録して、この記録媒体３００に記録されたプログラムをコンピュータ２００に読み込ませ、実行することにより各機能を実現してもよい。
コンピュータ２００は、上記プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０と、キーボード、マウス等の入力装置２２０と、各種データを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３０と、演算パラメータ等を記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４０と、記録媒体３００からプログラムを読み取る読取装置２５０と、ディスプレイ、プリンタ等の出力装置２６０と、装置各部を接続するバス２７０とから構成されている。
ＣＰＵ２１０は、読取装置２５０を経由して記録媒体３００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した各機能を実現する。なお、記録媒体３００としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
以上説明したように、本発明によれば、バーコードのキャラクタの誤読が発生した場合、複数のキャラクタの候補の中から正読キャラクタをオペレータに選択させ、この正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの比較結果に基づいて、誤読の発生が最も低いパラメータを設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、選択された正読キャラクタに対応するパターンと、パラメータを順次変化させながら複数の信号波形情報から得られるパターンとの相関をとることとしたので、相関の値に基づき、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、最大値の相関に対応するパラメータを誤読の発生が最も低いパラメータとして設定することとしたので、使用中であっても自動的に読取精度を高めることができるという効果を奏する。
また、本発明によれば、併設された他のバーコード読取装置に対してもパラメータを設定することとしたので、複数のバーコード読取装置のうちいずれかのバーコード読取装置で誤読が発生した場合に、誤読の発生が最も低いパラメータを迅速に設定することができ、効率化を図ることができるという効果を奏する。
【産業上の利用可能性】  以上のように、本発明にかかるバーコード読取装置は、商品の流通分野等におけるバーコードの読み取りに対して有用である。
【図１】
2004003828.tif 000003
【図２】
2004003828.tif 000004
【図３】
2004003828.tif 000005
【図４】
2004003828.tif 000006
【図５】
2004003828.tif 000007
【図６】
2004003828.tif 000008
【図７】
2004003828.tif 000009
【図８】
2004003828.tif 000010
【図９】
2004003828.tif 000011
【図１０】
2004003828.tif 000012
【図１１】
2004003828.tif 000013
【図１２】
2004003828.tif 000014
【図１３】
2004003828.tif 000015
【図１４】
2004003828.tif 000016
【図１５】
2004003828.tif 000017
【図１６】
2004003828.tif 000018
【図１７】
2004003828.tif 000019
【図１８】
2004003828.tif 000020
【図１９】
2004003828.tif 000021
【国際調査報告】
2004003828.tif 000022
2004003828.tif 000023
2004003828.tif 000024