(57)【要約】【課題】バーコードの基本幅を正確に算出すること。【解決手段】バーコードのスキャン結果を微分し、微分データのピーク間距離ΔＴ１〜ΔＴｉを算出する。このピーク間距離ΔＴ１〜ΔＴｉのそれぞれについて、ピーク間距離ΔＴｘが基本幅のｙ倍であると仮定した場合の周波数をｆ（ｘ，ｙ）＝ｙ／ΔＴｘとして算出し周波数マップを作成する。ピーク間距離ΔＴ１〜ΔＴｉからそれぞれ一つの周波数を選択した推移ルートを作成し、推移ルートに含まれる周波数の誤差が最も小さいものを最適な推移ルートＲ０とし、推移ルートＲ０に含まれる周波数の平均値を基本幅の周波数ｆ０とする。【選択図】      図２
2004252906.tif 000002
【特許請求の範囲】
【請求項１】
基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取装置であって、
前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出手段と、
前記ピーク間距離算出手段が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出手段と、
複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成手段と、
前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定手段と、
を備えたことを特徴とするバーコード読取装置。
【請求項２】
前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離に隣接するピーク間距離に対応する前記基本幅候補値群から選択した前記基本幅候補値に最も近い値を有する基本幅候補値を選択することを特徴とする請求項１に記載のバーコード読取装置。
【請求項３】
前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離の近傍に位置する複数のピーク間距離に対応する前記基本幅候補値群からそれぞれ選択した前記基本幅候補値の平均値に最も近い値を有する基本幅候補値を選択することを特徴とする請求項１に記載のバーコード読取装置。
【請求項４】
前記組み合わせパターン作成手段は、前記基本幅候補値群から前記基本幅候補値を選択する場合に、他の基本幅候補値群から選択した基本幅候補値との誤差が閾値内であるか否かを判定し、該閾値内である基本幅候補値を有効基本幅候補値として採用することを特徴とする請求項１，２または３に記載のバーコード読取装置。
【請求項５】
基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取方法であって、
前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出工程と、
前記ピーク間距離算出工程が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出工程と、
複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成工程段と、
前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定工程と、
を含むことを特徴とするバーコード読取方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取装置およびバーコード読み取り方法に関し、特に、バーコードの基本幅を正確に算出可能なバーコード読取装置およびバーコード読取方法に関する。
【０００２】
【従来の技術】
従来、各種商品を管理する際、商品にバーコードを添付し、バーコードを光学的に読み取ることで商品の識別をおこなっていた。バーコード自体は印刷などによって安価に作成可能であるので、バーコードラベルを用いることで商品の管理コストを大幅に低減することができる。
【０００３】
このバーコードラベルの読み取りは、レーザスキャナやＣＣＤカメラなどの光学系を有するバーコード読取装置によっておこなう。バーコード読取装置は、バーコードラベルからの反射光を受信し、反射光強度からバーコードに含まれる白バーと黒バーの配列を算出し、復号処理によって白バーと黒バーの配列を数値や文字の配列であるキャラクタデータに変換する。
【０００４】
ここで、バーコードの読み取りを正確に行うためには、反射光強度からバーコードの配列を正確に算出することが極めて重要である。そこで、従来、バーコードの配列を正確に算出するため、種々の工夫がなされてきた。
【０００５】
たとえば、特許文献１に開示されたバーコード読取装置では、反射光強度をしめす波形を微分したのちに正側の波形と負側の波形に分離し、バーコードの黒バーから白バーへの境界を正側の波形から検出し、バーコードの白バーから黒バーへの境界を負側の波形から検出することで、バーコードの周波数変化や光量の変化に対して安定なバーコード読み取りを実現している。
【０００６】
【特許文献１】
特開昭５５−１４３６８２号公報
【０００７】
【発明が解決しようとする課題】
ところで、バーコードを構成する黒バーの幅および白バーの幅は、基本単位幅の整数倍に規定されている。バーコードの読み取り時には、各黒バーおよび白バーがこの基本単位幅の何倍であるか、すなわち各黒バーおよび白バーの幅数を読み取るのであるが、このバーコードの読み取りに際しては基本幅をいかに正確に算出するかがバーコードの読み取り精度を高める上で重要になる。
【０００８】
しかし、従来のバーコード読取装置では、バーコードの基本幅を正確に算出することができない場合があり、その結果として読み取り精度が低下するという問題点があった。
【０００９】
たとえば、バーコードのスキャン結果を微分した微分波形を作成し、この微分波形のピークの間隔から基本幅を算出する方法が従来利用されていたが、従来の方法では全てのピークを取得可能であることが前提となり、幅数の小さいバーに対応するピークが検出できない場合には、本来の基本幅に比して大きい値を基本幅として算出することがあった。
【００１０】
具体的には、例えばレーザのビーム径が幅数１のバーに比して大きい場合、幅数１の白バーおよび黒バーに対応するピーク値は、幅数２以上のバーのピーク値に比して小さくなる。この結果、幅数１のバーに対応するピーク値が閾値を下回ると、検出されるスペクトルのピークは、幅数２以上のバーに対応するピークのみとなる。このように幅数１のバーに対応するピークが検出できない場合、従来のバーコード読取装置では、本来、幅数２以上に相当する幅を基本幅として誤って算出することとなる。
【００１１】
また、基本幅を求める方法として、スキャン結果の微分波形を二乗した波形をＦＦＴした後、スペクトラムからゲインピークとなる周波数を基本幅周波数とする方式を用いると、ビーム径が太い場所での読み取りの際には基本幅周波数の振幅が極端に小さくなり、真の基本幅周波数でのゲインよりも大きな偽のゲインピーク周波数が出現し、正しく基本幅周波数を抽出することができない。
【００１２】
特に、レーザ素子からバーコードまでの距離が大きい場合、レーザのみかけのビーム径が大きくなり、読み取り精度の低下が顕著になる。そこで、従来のバーコード読取装置では、バーコードをレーザ出射位置の近傍まで近づける必要があった。すなわち、従来のバーコード読取装置では、バーコードを読み取り可能な範囲が狭いという問題点があった。
【００１３】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、バーコードの基本幅を正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取装置およびバーコード読取方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るバーコード読取装置は、基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取装置であって、前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出手段と、前記ピーク間距離算出手段が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出手段と、複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成手段と、前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定手段と、を備えたことを特徴とする。
【００１５】
この請求項１の発明によれば、バーコード読取装置は、バーコードのスキャン結果を微分して微分データを作成し、微分データのピーク間距離を算出し、ピーク間距離が取り得る幅数によってピーク間距離を除することで基本幅の候補値を算出し、複数のピーク間距離について算出した基本幅候補値のうち、各ピーク間距離に共通して出現する基本幅候補値を基本幅として決定する。
【００１６】
また、請求項２の発明に係るバーコード読取装置は、請求項１の発明において、前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離に隣接するピーク間距離に対応する前記基本幅候補値群から選択した前記基本幅候補値に最も近い値を有する基本幅候補値を選択することを特徴とする。
【００１７】
この請求項２の発明によれば、バーコード読取装置は、あるピーク間距離に対応する基本幅候補値を選択する場合に、隣接するピーク間距離において選択した基本幅候補値に最も近い値を選択するように構成する。
【００１８】
また、請求項３の発明に係るバーコード読取装置は、請求項１の発明において、前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離の近傍に位置する複数のピーク間距離に対応する前記基本幅候補値群からそれぞれ選択した前記基本幅候補値の平均値に最も近い値を有する基本幅候補値を選択することを特徴とする。
【００１９】
この請求項３の発明によれば、バーコード読取装置は、あるピーク間距離に対応する基本幅候補値を選択する場合に、その近傍の複数のピーク間距離においてそれぞれ選択した基本幅候補値の平均値に最も近い値を選択するように構成する。
【００２０】
また、請求項４の発明に係るバーコード読取装置は、請求項１，２または３の発明において、バーコード読取装置は、前記組み合わせパターン作成手段は、前記基本幅候補値群から前記基本幅候補値を選択する場合に、他の基本幅候補値群から選択した基本幅候補値との誤差が閾値内であるか否かを判定し、該閾値内である基本幅候補値を有効基本幅候補値として採用することを特徴とする。
【００２１】
この請求項４の発明によれば、あるピーク間距離に対応する基本幅候補値を選択する場合に、他の基本幅候補値群から選択した基本幅候補値との誤差が閾値内である基本幅候補値を有効な基本幅候補値として選択するように構成する。
【００２２】
また、請求項５の発明に係るバーコード読取方法は、基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取方法であって、前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出工程と、前記ピーク間距離算出工程が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出工程と、複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成工程段と、前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定工程と、を含むことを特徴とする。
【００２３】
この請求項５の発明によれば、バーコード読取方法は、バーコードのスキャン結果を微分して微分データを作成し、微分データのピーク間距離を算出し、ピーク間距離が取り得る幅数によってピーク間距離を除することで基本幅の候補値を算出し、複数のピーク間距離について算出した基本幅候補値のうち、各ピーク間距離に共通して出現する基本幅候補値を基本幅として決定する。
【００２４】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るバーコード読取装置およびバーコード読取方法の好適な実施の形態について説明する。
【００２５】
まず、図１および図２を参照し、この発明にかかるバーコード読取方法の概念について説明する。図１は、バーコードをスキャンした場合のスキャンデータについて説明する説明図である。図１（ａ）に示すバーコード１は、黒バーＢ１〜Ｂ５、白バーＷ１〜Ｗ４を交互に配列して形成される。
【００２６】
この黒バーＢ１〜Ｂ５、白バーＷ１〜Ｗ４は、基本幅ｆ０の整数倍の幅を有しており、黒バーＢ１，Ｂ３および白バーＷ１，Ｗ２，Ｗ４は幅数１であり、黒バーＢ２，Ｂ４は幅数２、白バーＷ３の幅数は４である。
【００２７】
このバーコード１に対してレーザ光を照射すると、その反射光は黒バーにレーザ光が照射された場合に強度値が小さく、白バーにレーザ光が照射された場合に強度値が大きくなる。そこで、バーコード１のスキャンの結果、図１（ｂ）に示すスキャンデータ２を得ることができる。スキャンデータ２では、黒バーＢ１〜Ｂ５に対応する範囲で強度値が小さく、白バーＷ１〜Ｗ４に対応する範囲で強度値が大きくなっている。
【００２８】
そこで、スキャンデータ２を微分して微分データ３を作成することで、図１（ｃ）に示すように、白バーから黒バーへの境界において負側ピークｎ１〜ｎ５を検出し、黒バーから白バーへの境界において正側ピークｐ１〜ｐ６を検出することができる。
【００２９】
つぎに、この正側ピークｐ１〜ｐ６、負側ピークｎ１〜ｎ５からピーク間距離ΔＴ１〜ΔＴ７を算出する。ピーク間距離ΔＴ１は、負側ピークｎ１から負側ピークｎ２までの距離であり、ピーク間距離ΔＴ２は、正側ピークｐ１から正側ピークｐ２までの距離である。また、ピーク間距離ΔＴ３は、負側ピークｎ２から負側ピークｎ３までの距離であり、ピーク間距離ΔＴ４は、正側ピークｐ２から正側ピークｐ３までの距離である。
【００３０】
同様に、ピーク間距離ΔＴ５は、負側ピークｎ３から負側ピークｎ４までの距離であり、ピーク間距離ΔＴ６は、正側ピークｐ３から正側ピークｐ４までの距離である。また、また、ピーク間距離ΔＴ７は、負側ピークｎ４から負側ピークｎ５までの距離である。
【００３１】
これらのピーク間距離ΔＴ１〜ΔＴ７は、それぞれ白バーと黒バーとの組み合わせの幅となる。具体的には、ピーク間距離ΔＴ１は、黒バーＢ１の幅と白バーＷ１の幅との合計であり、ピーク間距離ΔＴ２は、白バーＷ１の幅と黒バーＢ２の幅との合計である。また、ピーク間距離ΔＴ３は、黒バーＢ２の幅と白バーＷ２の幅との合計であり、ピーク間距離ΔＴ４は、白バーＷ２の幅と黒バーＢ３の幅との合計である。同様に、ピーク間距離ΔＴ５は、黒バーＢ３の幅と白バーＷ３の幅との合計であり、ピーク間距離ΔＴ６は、白バーＷ３の幅と黒バーＢ４の幅との合計である。さらに、ピーク間距離ΔＴ７は、黒バーＢ４の幅と白バーＷ４の幅との合計である。
【００３２】
このように、ピーク間距離ΔＴ１〜ΔＴ７は、黒バーの幅と白バーの幅との合計であるので、ピーク間距離ΔＴ１〜ΔＴ７の値は、それぞれ基本幅の２倍以上の整数倍となる。そこで、各ピーク間距離を幅数として取り得る値によって除することで、各ピーク間距離に対応する基本幅の候補値を算出することができる。
【００３３】
たとえば、ピーク間距離ΔＴ１が幅数２であると仮定すると、基本幅候補値はΔＴ１／２となり、ピーク間距離ΔＴ１が幅数３であると仮定すると、基本幅候補値はΔＴ１／３となる。
【００３４】
このように各ピーク間距離について、それぞれ基本幅候補値を算出していくと、各ピーク間距離に共通して出現する基本幅候補値が得られる。この共通して出現する基本幅候補値を基本幅として採用することで、全てのピーク間距離を基本幅の整数倍として表すことができる。
【００３５】
ところで、ピーク間距離ΔＴ１〜ΔＴ７は、微分データ３上における距離、すなわち時間幅である。そこで、基本幅候補値を求める際に、時間幅の逆数である周波数を使用してもよい。ここでは周波数領域で演算した場合について以下に説明する。
【００３６】
この基本幅候補値の算出について、図２を参照して説明する。図２は、各ピーク間距離の基本幅候補値について説明する説明図である。同図において、周波数ｆ（ｘ，ｙ）は、
ｆ（ｘ，ｙ）＝ｙ／ΔＴｘ
によって示される関数であり、ピーク間距離ΔＴｘを幅数ｙと仮定した場合の基本幅候補値に対応する周波数である。
【００３７】
図２では、ピーク間距離ΔＴ１に対して周波数ｆ（１，２），ｆ（１，３），ｆ（１，４）を算出している。また、ピーク間距離ΔＴ２に対して周波数ｆ（２，２），ｆ（２，３），ｆ（２，４），ｆ（２，５），ｆ（２，６）を算出し、ピーク間距離ΔＴ３に対して周波数ｆ（３，２），ｆ（３，３），ｆ（３，４），ｆ（３，５），ｆ（３，６）を算出している。
【００３８】
同様に、ピーク間距離ΔＴ４に対して周波数ｆ（４，２），ｆ（４，３），ｆ（４，４），ｆ（４，５）を算出し、ピーク間距離ΔＴ５に対して周波数ｆ（５，２），ｆ（５，３），ｆ（５，４），ｆ（５，５），ｆ（５，６），ｆ（５，７），ｆ（５，８），ｆ（５，９），ｆ（５，１０）を算出している。
【００３９】
さらに、ピーク間距離ΔＴ６に対して周波数ｆ（６，２），ｆ（６，３），ｆ（６，４），ｆ（６，５），ｆ（６，６），ｆ（６，７），ｆ（６，８），ｆ（６，９），ｆ（６，１０），ｆ（６，１１）を算出している。また、ピーク間距離ΔＴ６に対しては、周波数ｆ（７，２），ｆ（７，３），ｆ（７，４），ｆ（７，５），ｆ（７，６）を算出している。
【００４０】
このようにピーク間距離ΔＴ１〜ΔＴ７のそれぞれについて基本幅候補値に対応する周波数を算出した後、ピーク間距離ΔＴ１〜ΔＴ７に共通して出現する周波数を見出す。具体的には、ピーク間距離ΔＴ１〜ΔＴ７から一つずつ周波数を選択して組み合わせた組み合わせパターンを作成し、各組み合わせパターンのうち、パターン内に含まれる周波数の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとし、最適組み合わせパターンに含まれる周波数の平均を求める。
【００４１】
ここで、最終的に必要とするのはパターン内に含まれる周波数の誤差が最も小さい最適組み合わせパターンである。そこで、まず、ピーク間距離ΔＴ１から周波数を一つ選び出し、ピーク間距離ΔＴ１において選択した周波数に最も近い周波数をピーク間距離ΔＴ２から選択し、以降、ピーク間距離ΔＴ（ｘ−１）で選択した周波数に最も近い周波数をピーク間距離ΔＴｘから選択して推移ルートを作成することで、最適組み合わせパターンを効率的に求めることができる。この推移ルートを作成する場合には、まず、幅数２を起点として推移ルートを作成すればよい。幅数２は、ピーク間距離において最小の幅数であり、仮に幅数３以上のピーク間距離を幅数２として推移ルートを作成したとすると、本来幅数２であるいずれかのピーク間距離において適切な周波数が見つからないので、その推移ルートが適切ではないと判定することができる。その後、幅数３以上の周波数を起点として推移ルートを作成することで、各幅数に対応する推移ルートを求めることができる。
【００４２】
図２においては、推移ルートＲ０を作成する場合、ピーク間距離ΔＴ１から幅数２に対応する周波数ｆ（１，２）を選択し、つぎに、ピーク間距離ΔＴ２の周波数のうち、周波数ｆ（１，２）に最も近い周波数ｆ（２，３）に推移する。その後、ピーク間距離ΔＴ３の周波数のうち、周波数ｆ（２，３）に最も近い周波数ｆ（３，３）に推移する。
【００４３】
さらに、ピーク間距離ΔＴ４の周波数のうち、周波数ｆ（３，３）に最も近い周波数ｆ（４，３）に推移する。その後、同様に、周波数ｆ（４，３）から周波数ｆ（５，５）へ推移し、周波数ｆ（５，５）から周波数ｆ（６，６）へ推移し、周波数ｆ（６，６）から周波数ｆ（７，３）に推移する。
【００４４】
この推移ルートＲ０の作成と同様に、ピーク間距離ΔＴ１の各周波数を起点とする推移ルートを作成し、それぞれの推移ルートについて選択した周波数の誤差をもとめる。各推移ルートの誤差を比較した結果、推移ルートＲ０の誤差が最小であれば、推移ルートＲ０に含まれる周波数、ｆ（１，２）、ｆ（２，３）、ｆ（３，３）、ｆ（４，３）、ｆ（５，５）、ｆ（６，６）、ｆ（７，３）の平均を算出し、平均値を基本幅周波数ｆ０として出力する。この基本幅周波数ｆ０は、基本幅の逆数であるので、基本幅の値は、１／ｆ０によって求めることができる。
【００４５】
このように、本発明にかかるバーコード読取方法では、スキャン結果の微分データからピーク間距離を算出し、ピーク間距離のそれぞれが取り得る幅を仮定して基本幅候補値を算出し、基本幅候補値の推移ルートを作成して最も誤差の小さい推移ルートに含まれる基本幅候補値の平均を基本幅として採用するので、バーコードにおける基本幅を正確に算出することができる。
【００４６】
つぎに、この実施の形態にかかるバーコード読取装置について説明する。図３は、この実施の形態にかかるバーコード読取装置の概要構成を説明する概要構成図である。図３において、バーコード読取装置１２は、主制御部２１、ミラー駆動回路２２、ポリゴンミラー２３、レーザダイオード（ＬＤ）２５、ＬＤ駆動回路２４、フォトダイオード２６、アナログ／デジタルコンバータ（ＡＤコンバータ）２７、帯域制限微分処理部２８、基本幅算出部２９、復号処理部３０、通信インターフェース３１を有する。
【００４７】
主制御部２１は、バーコード読取装置１２を全体制御する制御部である。具体的には、ミラー駆動回路２２およびＬＤ駆動回路２４を制御してバーコード１１のスキャンを実行し、また、復号処理部３０から受信したキャラクタデータを、通信インターフェース３１を介してＰＯＳ端末に送信する。
【００４８】
ミラー駆動回路２２は、主制御部２１からの制御を受け、ポリゴンミラー２３を回転させる。また、ＬＤ駆動回路２４は、主制御部２１からの制御を受けレーザダイオード２５を動作させてレーザ光を出射させる。
【００４９】
レーザダイオード２５が出射したレーザ光は、ポリゴンミラー２３に反射してバーコード１１に照射される。このバーコード１１に対するレーザ光の照射位置は、ポリゴンミラー２３の回転によって変化し、バーコード１１のスキャンを実現することができる。
【００５０】
一方、バーコード１１が反射したレーザ光は、フォトダイオード２６によってアナログ電気信号に変換される。ＡＤコンバータ２７は、このアナログ電気信号をデジタル信号に変換して帯域制限微分処理部２８および基本幅算出部２９に送信する。
【００５１】
基本幅算出部２９は、ＡＤコンバータ２７が出力したデジタル信号をもとに基本幅を算出し、算出した基本幅を帯域制限微分処理部２８および復号処理部３０に送信する。
【００５２】
帯域制限微分処理部２８は、基本幅算出部２９が算出した基本幅を用い、基本幅の周波数以下の周波数帯域でＡＤコンバータ２７が出力したデジタル信号を微分処理する。
【００５３】
ＡＤコンバータ２７が出力したデジタル信号では、バーコードの縮尺や読み取る位置、またバーコードの傾きにより、基本幅に相当する周波数が、低い周波数から高い周波数までの幅広い周波数となり得る。しかし、バーコードを読み取る場合、必要な情報は、黒バーおよび白バーの幅であり、この黒バーおよび白バーの幅は、基本幅の整数倍である。したがって、必要な情報は基本幅の周波数以下で示され、基本幅以上の周波数はバーコードの読取に不要なノイズであると考えることができる。そこで、バーコードの基本幅以下の周波数で微分処理することで、高周波領域を除去して周波数情報を取得し、ＳＮ比を向上するとともに、微分処理の処理負荷を軽減することができる。
【００５４】
復号処理部３０は、帯域制限微分データ２８が出力した帯域制限微分データを、基本幅算出部２９が算出した基本幅を用いてサンプリングし、帯域制限微分データにおける振幅のピーク値を取得する。復号処理部２０は、この振幅ピーク値からバーコード１１における黒バーおよび白バーの配列を再現し、再現したバーコード配列を、数字や文字の配列であるキャラクタデータに変換して主制御部２１に送信する。
【００５５】
つづいて、基本幅算出部２９についてさらに詳細に説明する。図４は、基本幅算出部２９の内部構成を説明する説明図である。同図において、基本幅算出部２９は、微分処理部４１、ピーク検出部４２、ピーク間距離算出部４３、周波数マッピング部４４、推移ルート作成部４５、最小誤差判定部４６および平均基本周波数算出部４７を有する。
【００５６】
微分処理部４１は、ＡＤコンバータ２７が出力したアナログ信号を微分処理し、微分データを作成する。ピーク検出部４２は、この微分データから正側ピークおよび負側ピークを検出し、ピーク間距離算出部４３が正側ピークおよび負側ピークのピーク間距離を算出する。
【００５７】
周波数マッピング処理部４４は、ピーク間距離算出部４３が算出した各ピーク間距離を幅数として取り得る値によって除することで、各ピーク間距離に対応する基本幅候補値を算出し、図５に示す基本幅候補値の周波数テーブル５０を作成する。同図に示すように、周波数テーブル５０には、ΔＴ１からΔＴｍ−１までの各ピーク間距離について、幅数２から幅数ｘまでに対応する周波数が記憶される。
【００５８】
ここで、周波数テーブル５０において幅数１に対応する周波数を求めていないのは、ピーク間距離を正側ピークと負側ピークとでそれぞれ独立に求めているため、幅数１の黒バーと幅数１の白バーとの組み合わせた場合の幅数２がピーク間距離の最小値となるためである。
【００５９】
一方、幅数ｘの値は、読み取り対象となるバーコードの規定をもとに、最大の値を設定すればよい。たとえば、バーコードの規定において黒バーおよび白バーの最大幅数がそれぞれ４であれば、幅数ｘは８に設定し、黒バーおよび白バーの最大幅数がそれぞれ７であれば幅数ｘを１４に設定すればよい。
【００６０】
また、周波数の値に上限や下限を設けても良い。本来の幅数が小さいピーク間距離に大きい幅数を仮定すると、基本幅候補値は非常に小さな値となり、対応する周波数は大きくなる。また、本来の幅数が大きなピーク間距離に小さい幅数を仮定すると、基本幅候補値は非常に大きい値となり、対応する周波数は小さくなる。そこで、あらかじめ周波数に上限および下限を設定し、不適切な周波数値を排除することで、以降の処理において対象となる周波数の数を減じ、処理負荷を軽減することができる。
【００６１】
このようにして作成した周波数テーブル５０を用い、周波数マッピング処理部４４は、図６に示す周波数マップ５１を作成する。同図に示すように、周波数マップ５１は、各ピーク間距離に対応する周波数をその値に基づいてプロットして作成される。ここでは、周波数マップ５１は、各ピーク間距離について、幅数２から幅数１４までに対応する周波数をプロットしている。
【００６２】
推移ルート作成部４５は、周波数マップ５１から推移ルートを作成する。図７は、周波数マップ５１から作成した推移ルートを説明する説明図である。図７に示した推移ルートＲ１〜Ｒ３は、周波数マップ５１から作成した推移ルートのうち、各ルートに含まれる周波数の誤差が小さいものを示している。
【００６３】
具体的には推移ルート作成部４５は、推移ルートを作成する場合に、最初のピーク間距離から幅数２に対応する周波数を起点として選択し、この選択した周波数に最も近い周波数をつぎのピーク間距離２から選択し、以降、ピーク間距離ΔＴ（ｘ−１）で選択した周波数に最も近い周波数をピーク間距離ΔＴｘから選択して推移ルートを作成する。同様に、最初のピーク間距離におけるそれぞれの幅数を起点として、推移ルートを順次作成する。
【００６４】
ここで、あるピーク間距離から周波数を選択する場合に、一つ前のピーク間距離において選択した周波数の値に最も近い周波数を選択するようにしても良いし、複数のピーク間距離のそれぞれにおいて選択した周波数の平均値にもっとも近い周波数を選択することとしてもよい。
【００６５】
図８に、周波数の選択方法のバリエーションを示す。同図において、推移ルートは、周波数ｆｍ−４、ｆｍ−３、ｆｍ−２、ｆｍ−１、ｆｍと推移している。この周波数ｆｍの次の推移先を決定する場合に、周波数ｆｍの値であるｂｓ１を基準とすると、ｂｓ１からｆｍ＋１ａまでの距離ｄ１は、ｂｓ１からｆｍ＋１ｂまでの距離ｄ２に比して大きくなる。したがって、周波数を選択する場合に、一つ前の周波数を基準とすれば、周波数ｆｍから周波数ｆｍ＋１ａに推移することとなる。
【００６６】
一方、周波数ｆｍの次の推移先を決定する場合に、周波数ｆｍ−２〜ｆｍの平均値であるｂｓ２を基準とすると、ｂｓ２からｆｍ＋１ａまでの距離ｄ３は、ｂｓ１からｆｍ＋１ｂまでの距離ｄ４に比して大きくなる。したがって、周波数を選択する場合に、複数の周波数の平均値を基準とすれば、周波数ｆｍから周波数ｆｍ＋１ｂに推移することとなる。
【００６７】
このように、複数の周波数の平均値を基準として次の周波数の値を決定することで、周波数の値が徐々に変化し、推移ルートの開始時の値から乖離することを防止できる。
【００６８】
また、周波数を選択する場合、基準値に最も近い周波数を選択するのであるが、この基準値からの距離に閾値を設け、閾値を超える周波数は選択しないことが望ましい。図９は、この周波数選択時の閾値を説明する説明図である。図９においては、ピーク間距離ΔＴｎ−２において周波数ｆｎ−２を選択し、ΔＴｎ−１において周波数ｆｎ−１を選択し、ΔＴｎにおいて周波数ｆｎを選択している。
【００６９】
しかし、次のΔＴｎ＋１では、基準値に最も近い周波数ｆｎ＋１までの距離ｄ１１が閾値ｓｈを上回っている。そこで、ΔＴｎ＋１における周波数ｆｎ＋１を採用せず、ΔＴｎ＋２における周波数を同一の基準値を元に選択する。ΔＴｎ＋２において基準値に最も近い周波数ｆｎ＋２は、基準値からの距離ｄ１２が閾値ｓｈ以下であるので、この周波数ｆｎ＋２を採用する。
【００７０】
このように周波数を選択する際に、基準値からの距離に閾値を設けることで、近傍に適切な値が無い場合に大きく値の異なる周波数へ推移することを防止できる。
【００７１】
なお、閾値を外れ、値を採用しなかった場合、その周波数の値はゼロとし、平均を求める際には採用された有効な周波数の数で平均をとる。さらに、推移ルートの中から最適な推移ルートを求める際に、有効な周波数の数が一定数以下であるものを候補から除外することで、十分な数の周波数を持ちつつ誤差の少ない推移ルートを選択することができる。
【００７２】
さらに、推移ルートを作成する場合、単一の前記基本幅候補値は単一の組み合わせパターンにのみ使用することが望ましい。図１０に推移ルートの作成例を示す。同図において、推移ルートＲ１１は、周波数Ａ１を起点とし、周波数Ａ２，Ａ３，Ａ４，Ａ５、Ａ６，Ａ７に順次推移している。一方、推移ルートＲ１２では、周波数Ｂ１を起点とし周波数Ｂ２，Ｂ３と推移する。ここで、周波数Ｂ３に最も近い次の周波数はＡ４である。しかし、周波数Ｂ３から周波数Ａ４に推移すると、その後は推移ルートＲ１１と同一の推移をすることとなる。その結果、周波数Ｂ１を起点としたにも関わらず、周波数Ａ１を起点とした場合とほぼ同一の基本周波数が出力されることとなり、本来の目的である幅数の仮定による最適な基本幅算出を達することができない。
【００７３】
そこで、推移ルートＲ１１に使用した周波数の選択を許可しないこととし、推移ルートＲ１１においては、周波数Ｂ３から周波数Ｂ４に推移させることで複数の推移ルートを適切に作成することができる。
【００７４】
このようにして、推移ルート作成部４５は複数の推移ルートを作成し、最小誤差判定部４６に送信する。最小誤差判定部４６は、推移ルート作成部４５が作成した複数の推移ルートについて、各ルートに含まれる周波数の誤差を算出し、周波数の誤差が最も小さい推移ルートを最適組み合わせパターンと判定する。図７に示した推移ルートＲ１〜Ｒ３では、推移ルートＲ１が最も周波数の誤差が小さくなるので、最小誤差判定部４６は、推移ルートＲ１を最適組み合わせパターンとして平均基本周波数作成部４７に送信する。
【００７５】
平均基本周波数算出４７は、最適組み合わせパターン、すなわち推移ルートＲ１に含まれる各周波数の平均値をこの平均値を平均基本周波数として算出する。さらに平均基本周波数算出部４７は、平均基本周波数の逆数を基本幅として帯域制限微分処理部２８および信号処理部３０に送信する。
【００７６】
上述してきたように、本実施の形態にかかるバーコード読取装置では、バーコード１１のスキャン結果を微分し、微分データからピーク間距離を算出し、ピーク間距離のそれぞれが取り得る幅を仮定して周波数テーブル５０を作成し、この周波数テーブル５０から周波数マップ５１を作成し、周波数マップ５１から最も誤差の小さい推移ルートを検索し、この推移ルートに含まれる周波数の平均値を基本周波数として採用するので、バーコードにおける基本幅を正確に算出し、バーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げることができる。
【００７７】
（付記１）基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取装置であって、
前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出手段と、
前記ピーク間距離算出手段が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出手段と、
複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成手段と、
前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定手段と、
を備えたことを特徴とするバーコード読取装置。
【００７８】
（付記２）前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離に隣接するピーク間距離に対応する前記基本幅候補値群から選択した前記基本幅候補値に最も近い値を有する基本幅候補値を選択することを特徴とする付記１に記載のバーコード読取装置。
【００７９】
（付記３）前記組み合わせパターン作成手段は、前記ピーク間距離に対応する基本幅候補値群から前記基本幅を選択する場合に、当該ピーク間距離の近傍に位置する複数のピーク間距離に対応する前記基本幅候補値群からそれぞれ選択した前記基本幅候補値の平均値に最も近い値を有する基本幅候補値を選択することを特徴とする付記１に記載のバーコード読取装置。
【００８０】
（付記４）前記組み合わせパターン作成手段は、前記基本幅候補値群から前記基本幅候補値を選択する場合に、他の基本幅候補値群から選択した基本幅候補値との誤差が閾値内であるか否かを判定し、該閾値内である基本幅候補値を有効基本幅候補値として採用することを特徴とする付記１，２または３に記載のバーコード読取装置。
【００８１】
（付記５）前記基本幅決定手段は、前記有効基本幅候補値が所定数以上である組み合わせパターンから前記最適組み合わせパターンを選択することを特徴とする付記４に記載のバーコード読取装置。
【００８２】
（付記６）前記基本幅候補値群算出手段は、前記基本幅候補値の上限値および下限値を有し、前記上限値以下かつ前記下限値以上の値を有する基本幅候補値を前記基本幅候補値群に含めることを特徴とする付記１〜５のいずれか一つに記載のバーコード読取装置。
【００８３】
（付記７）前記基本幅候補値群算出手段は、前記ピーク間距離が取りえる幅数に上限値を設け、該上限幅数以下の各幅数について前記基本幅候補値を算出することを特徴とする付記１〜６のいずれか一つに記載のバーコード読取装置。
【００８４】
（付記８）前記組み合わせパターン作成手段は、前記組み合わせパターンを作成する場合に、単一の前記基本幅候補値を単一の組み合わせパターンにのみ使用することを特徴とする付記１〜７のいずれか一つに記載のバーコード読取装置。
【００８５】
（付記９）前記組み合わせパターン作成手段は、前記幅数が２である場合の基本幅候補値を含む組み合わせパターンを優先的に作成することを特徴とする付記１〜８のいずれか一つに記載のバーコード読取装置。
【００８６】
（付記１０）基本幅の整数倍の幅数を有する黒バーおよび白バーからなるバーコードをスキャンし、該スキャン結果から前記バーコードが示す情報を読み取るバーコード読取方法であって、
前記スキャン結果を微分した微分データにおけるピークを検出し、該ピーク間の距離を算出するピーク間距離算出工程と、
前記ピーク間距離算出工程が算出したピーク間距離を、該ピーク間距離が取りえる幅数によってそれぞれ除した基本幅候補値の集合を基本幅候補値群として算出する基本幅候補値群算出工程と、
複数の前記ピーク間距離に対応する複数の前記基本幅候補値群から基本幅候補値をそれぞれ選択して組み合わせた組み合わせパターンを作成する組み合わせパターン作成工程段と、
前記組み合わせパターンのうち、該パターンに含まれる基本幅候補値間の誤差が最も小さい組み合わせパターンを最適組み合わせパターンとして選択し、該最適組み合わせパターンに含まれる前記基本幅候補値から前記基本幅を決定する基本幅決定工程と、
を含むことを特徴とするバーコード読取方法。
【００８７】
【発明の効果】
以上説明したように、請求項１の発明によれば、バーコード読取装置は、バーコードのスキャン結果を微分して微分データを作成し、微分データのピーク間距離を算出し、ピーク間距離が取り得る幅数によってピーク間距離を除することで基本幅の候補値を算出し、複数のピーク間距離について算出した基本幅候補値のうち、各ピーク間距離に共通して出現する基本幅候補値を基本幅として決定するので、バーコードの基本幅を正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取装置が得られるという効果を奏する。
【００８８】
また、請求項２の発明によれば、バーコード読取装置は、あるピーク間距離に対応する基本幅候補値を選択する場合に、隣接するピーク間距離において選択した基本幅候補値に最も近い値を選択するように構成するので、最も誤差の少ない基本幅候補値の組み合わせパターンを効率よく作成することができ、バーコードの基本幅を正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取装置が得られるという効果を奏する。
【００８９】
また、請求項３の発明によれば、バーコード読取装置は、あるピーク間距離に対応する基本幅候補値を選択する場合に、その近傍の複数のピーク間距離においてそれぞれ選択した基本幅候補値の平均値に最も近い値を選択するように構成することで、最も誤差の少ない基本幅候補値の組み合わせパターンを効率よくかつ安定して作成することができるので、バーコードの基本幅を正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取装置が得られるという効果を奏する。
【００９０】
また、請求項４の発明によれば、あるピーク間距離に対応する基本幅候補値を選択する場合に、他の基本幅候補値群から選択した基本幅候補値との誤差が閾値内である基本幅候補値を有効な基本幅候補値として選択するように構成するので、バーコードの基本幅をさらに正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取装置が得られるという効果を奏する。
【００９１】
また、請求項５の発明によれば、バーコード読取方法は、バーコードのスキャン結果を微分して微分データを作成し、微分データのピーク間距離を算出し、ピーク間距離が取り得る幅数によってピーク間距離を除することで基本幅の候補値を算出し、複数のピーク間距離について算出した基本幅候補値のうち、各ピーク間距離に共通して出現する基本幅候補値を基本幅として決定するので、バーコードの基本幅を正確に算出し、もってバーコードの読み取り精度を向上するとともに、読み取り可能な範囲を広げたバーコード読取方法が得られるという効果を奏する。
【図面の簡単な説明】
【図１】バーコードをスキャンした場合のスキャンデータについて説明する説明図である。
【図２】各ピーク間距離の基本幅候補値について説明する説明図である。
【図３】本実施の形態にかかるバーコード読取装置の概要構成を説明する概要構成図である。
【図４】図３に示した基本幅算出部の内部構成を説明する説明図である。
【図５】基本幅候補値の周波数テーブルを説明する説明図である。
【図６】基本候補値の周波数マップを説明する説明図である。
【図７】図７に示した周波数マップから作成した推移ルートを説明する説明図である。
【図８】周波数の選択方法のバリエーションを説明する説明図である。
【図９】波数選択時の閾値を説明する説明図である。
【図１０】推移ルートの作成について説明する説明図である。
【符号の説明】
１，１１    バーコード
２    スキャンデータ
３    微分データ
１２    バーコード読取装置
２１    主制御部
２２    ミラー駆動回路
２３    ポリゴンミラー
２４    ＬＤ駆動回路
２５    レーザダイオード
２６    フォトダイオード
２７    ＡＤコンバータ
２８    帯域制限微分処理部
２９    基本幅算出部
３０    復号処理部
３１    通信インターフェース
４１    微分処理部
４２    ピーク検出部
４３    ピーク間距離算出部
４４    周波数マッピング部
４５    推移ルート作成部
４６    最小誤差判定部
４７    平均基本周波数算出部
５０    周波数テーブル
ｂｓ１，ｂｓ２  基準値
ｆ０，    基本幅周波数
ｆｍ−４〜ｆｍ，ｆｍ＋１ａ，ｆｍ＋１ｂ    周波数
ｐ１〜ｐ４    正側ピーク
ｎ１〜ｎ５    負側ピーク
Ｒ０〜Ｒ３，Ｒ１１，１２    推移ルート
ΔＴ１〜ΔＴ７    ピーク間距離
【図１】
2004252906.tif 000003
【図２】
2004252906.tif 000004
【図３】
2004252906.tif 000005
【図４】
2004252906.tif 000006
【図５】
2004252906.tif 000007
【図６】
2004252906.tif 000008
【図７】
2004252906.tif 000009
【図８】
2004252906.tif 000010
【図９】
2004252906.tif 000011
【図１０】
2004252906.tif 000012