(57)【特許請求の範囲】
【請求項１】
数種類の幅を有する黒バーと白バーが所定の数だけ交互に平行に配置されて一定桁数のコードを表示するバーコードが印刷されたバーコード領域を読取って認識するバーコード読取装置において、
前記読取った黒バーと白バーの幅のばらつきに基づいて誤読の有無を判定する判定手段を設け、
前記判定手段は、前記黒バーと白バーの各モジュールについて最大値と最小値の差と、バーコード全体の幅から計算した１モジュール当たりの幅とを比較し、誤読の有無を判定することを特徴とするバーコード読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、光学的にバーコードを読取って認識するバーコード読取装置に関するものである。
【０００２】
【従来の技術】
バーコードは、数種の幅の白と黒の平行バーを用いて数字等を表示するもので、コード化の方法によって各種の規格が存在する。例えば、ＪＩＳ（日本工業規格）−Ｘ０５０１の「共通商品コード用バーコードシンボル」には、ＪＡＮ（Japanease Article Number）１３及びＪＡＮ８が規定されている。
【０００３】
ＪＩＳ−Ｘ０５０１では、白バー及び黒バーの最小幅を１モジュールと定義し、７モジュールを２本の白バー及び黒バーに割付けることによって１桁のデータキャラクタを表すようにしている。従って、一番細いバーは１モジュール、一番太いバーは４モジュールとなる。バーコードは、中央部のセンタバー、このセンタバーの両側に配置されたデータキャラクタ、及びこのデータキャラクタの外側に配置されたガードバーで構成されている。
【０００４】
センタバーは、それぞれ１モジュールの白バー及び黒バーを、白、黒、白、黒、白の順に５本配置したものである。ガードバーは、それぞれ１モジュールの白バー及び黒バーを、黒、白、黒の順に３本配置したものである。また、ガードバーの外側には、それぞれマージンとして７〜１１モジュールの余白部分を設けるように規定されている。
【０００５】
ＪＡＮ１３は、ガードバーを含めて９５モジュール、即ち３０本の黒バーと２９本の白バーによって１３桁の標準バージョンの数字を表すものである。また、ＪＡＮ８は、ガードバーを含めて６７モジュール、即ち２２本の黒バーと２１本の白バーによって８桁の短縮バージョンの数字を表すものである。
【０００６】
図２は、従来のバーコード読取装置の一例を示す構成図である。
このバーコード読取装置は、ＪＩＳ−Ｘ０５０１のバーコードを読取るもので、帳票や商品等に印刷されたバーコード等を含む一定の領域の画像データを読取るスキャナ１を有している。また、バーコード読取装置は、読取った画像データを記憶する画像メモリ２、この画像メモリ２に記憶された画像データからバーコード領域の画像データをエリアデータとして切出す切出部３、切出されたエリアデータを保持するエリアメモリ４、エリアデータ中のバーコードを認識する認識部１０、及び装置全体の制御を行う制御部５を備えている。
【０００７】
認識部１０は、認識処理の制御を行って認識結果を出力する認識制御部１１、エリアメモリ４中のエリアデータに基づいてＪＡＮ８形式のバーコードを認識するＪＡＮ８認識部１２、及びＪＡＮ１３形式のバーコードを認識するＪＡＮ１３認識部１３で構成されている。
【０００８】
このようなバーコード読取装置において、例えばバーコードが印刷された帳票等の画像が、スキャナ１によって画素に分解されて画像データとして読取られ、画像メモリ２に記憶される。続いて、切出部３が起動され、画像メモリ２に記憶された画像データの中から、バーコード部分と想定される画像データが切出され、エリアメモリ４にエリアデータとして格納される。
【０００９】
次に、認識部１０が起動され、エリアメモリ４に格納されたエリアデータが読出され、ＪＡＮ８認識部１２によるＪＡＮ８形式のバーコードの認識処理が行われる。エリアデータがＪＡＮ８として正しく認識されると、認識制御部１１からその認識結果が出力される。もしも、ＪＡＮ８として認識されないと、ＪＡＮ１３認識部１３によるＪＡＮ１３形式のバーコードの認識処理が行われる。そして、認識制御部１１からＪＡＮ１３認識部１３の認識結果が出力される。このような処理は、画像メモリ２に記憶された画像データ内のすべてのバーコード領域のエリアデータに対して行われる。
【００１０】
【発明が解決しようとする課題】
しかしながら、従来のバーコード読取装置では、次のような課題があった。
即ち、バーコードを帳票等に印刷したときに黒バーの一部が欠けてしまうボイドや、バーコードの白バーやマージンに汚等が付着して生じるスポットにより、誤って読取ることがあった。
【００１１】
本発明は、前記従来技術が持っていた課題を解決し、バーコードを構成する各バーの幅に基づいて読取ったバーコードの信憑性を判定することにより、誤読のおそれを軽減することができるバーコード読取装置を提供するものである。
【００１２】
【課題を解決するための手段】
前記課題を解決するために、本発明は、数種類の幅を有する黒バーと白バーが所定の数だけ交互に平行に配置されて一定桁数のコードを表示するバーコードが印刷されたバーコード領域を読取って認識するバーコード読取装置において、前記読取った黒バーと白バーの幅のばらつきに基づいて誤読の有無を判定する判定手段を設けている。
【００１３】
更に、前記判定手段は、黒バーと白バーの各モジュールについて最大値と最小値の差と、バーコード全体の幅から計算した１モジュール当たりの幅とを比較し、誤読の有無を判定するように構成している。
【００１５】
本発明によれば、以上のようにバーコード読取装置を構成したので、次のような作用が行われる。
読取られたバーコードは、そのバーコードを構成する黒バーと白バーの幅が算出され、判定手段によってそのばらつきの大きさに基づいて誤読の有無が判定される。
【００１６】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態を示すバーコード読取装置の構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
このバーコード読取装置は、図２と同様に、ＪＩＳ−Ｘ０５０１のバーコードを読取るもので、帳票や商品等に印刷されたバーコード等を含む一定の領域の画像データを光学的に走査して読取るスキャナ１を有している。また、バーコード読取装置は、読取った画像データを記憶する画像メモリ２、この画像メモリ２に記憶された画像データからバーコード領域の画像データをエリアデータとして切出す切出部３、及び切出されたエリアデータを保持するエリアメモリ４を備えている。
【００１７】
更に、このバーコード読取装置は、エリアデータ中のバーコードを認識する認識部１０Ａと、装置全体の制御を行う制御部５を備えている。認識部１０Ａは制御部５の指示に基づいて認識処理の制御を行って認識結果ＯＵＴを出力する認識制御部１１Ａ、エリアメモリ４中のエリアデータに基づいてＪＡＮ８形式のバーコードを認識するＪＡＮ８認識部１２、及びＪＡＮ１３形式のバーコードを認識するＪＡＮ１３認識部１３に加えて、判定手段（例えば、認識確認部）１４を有している。認識確認部１４は、バーコードの各バーの幅に基づいて、認識結果の信憑性を評価するものである。
【００１８】
図３は、図１の動作を示すフローチャートであり、図４は、図１中の認識確認部１４の処理の説明図である。以下、これらの図３及び図４を参照しつつ、図１の動作を説明する。
【００１９】
まず、図１のスキャナ１によって帳票の画像読取りが行われ（ステップＳ１）、読取られた画像データが画像メモリ２に記憶される。続いて、切出部３が起動され、画像メモリ２に記憶された画像データ中のバーコード領域のエリアデータの切出しが行われる（ステップＳ２）。切出部３で切出されたエリアデータは、エリアメモリ４に格納される。
【００２０】
次に、認識部１０Ａが起動され、ＪＡＮ８認識部１２によってＪＡＮ８形式のバーコードとしての認識処理（ステップＳ３）が行われる。認識結果の判定（ステップＳ４）により、正しいＪＡＮ８形式のバーコードとして認識されていなければ、ＪＡＮ１３認識部１３によってＪＡＮ１３形式のバーコードとしての認識処理（ステップＳ５）が行われる。ＪＡＮ８またはＪＡＮ１３形式のバーコードとして正しく認識されると、認識確認部１４が起動されて認識結果の信憑性の判断が行われる（ステップＳ７）。
【００２１】
認識確認部１４では、図４に示すように、エリアデータ中の各キャラクタ毎の白バー及び黒バーの幅、即ちドット数が集計される。次に、白バー及び黒バーの１〜４モジュールの幅の集計結果から最大値と最小値が求められ、その最大値と最小値の差が計算される。白バー及び黒バーは、それぞれ１モジュールから４モジュールまでの４種類の幅ｄ〜４ｄがあるので、合計８個の差が求められる。
【００２２】
続いて、バーコード全体の幅Ｄを用いて、１モジュール当たりの幅ｄが計算される。ＪＡＮ８形式の場合、バーコード全体は６７モジュールで構成されているので、ｄ＝Ｄ／６７である。そして、先に求めた８個の最大値と最小値の差の中に、幅ｄを越えるものが存在するか否かが調べられる。もしも存在すれば、誤読のおそれがあると判断し、認識結果は廃棄される。８個の差がすべて幅ｄ以下であれば、正しく認識されたと判断され、認識されたデータキャラクタが認識結果ＯＵＴとして出力される。
このようなＪＡＮ８認識処理、ＪＡＮ１３認識処理及び認識確認処理は、すべてのバーコードエリアに対して行われる（ステップＳ８，Ｓ９）。
【００２３】
以上のように、この第１の実施形態のバーコード読取装置は、バーコードを構成する各バーの幅のばらつきの大きさ（即ち、白バー及び黒バーの幅の最大値と最小値の差）に基づいて認識結果の信憑性を判断する認識確認部１４を有している。これにより、誤った認識結果を出力するおそれを軽減することができる。
【００２４】
（第２の実施形態）
図５は、本発明の第２の実施形態を示す認識部の構成図である。
この認識部１０Ｂは、図１中の認識部１０Ａに代えて設けられるもので、認識部１０Ａと同様のＪＡＮ８認識部１２及びＪＡＮ１３認識部１３を有している。また、認識確認部１４に代えて判定手段（例えば、モジュール判定部）１５が設けられると共に、これに対応して認識制御部１１Ａとは制御内容の異なる認識制御部１１Ｂが設けられている。
【００２５】
モジュール判定部１５は、バーコード中のセンタバー、及び左右のガードバーのモジュールの最小幅と最大幅に基づいて、このバーコードが規格を満たした正当なものであるか否かを判定するものである。即ち、白及び黒バーを合わせて１１本のセンタバー及びガードバーの幅ｄの内で、最大値Ｍmax と最小値Ｍmin を求め、Ｍmin ／Ｍmax が一定値Ａ（但し、０＜Ａ≦１）以上であれば、正当なバーコードであると判定するものである。
【００２６】
図６は、図５の動作を示すフローチャートであり、図７は、図５中のモジュール判定部１５の処理の説明図である。以下、これらの図６及び図７を参照しつつ、図５の動作を説明する。
【００２７】
まず、スキャナ１によって帳票の画像読取りが行われ（ステップＳ１１）、読取られた画像データが画像メモリ２に記憶される。続いて、切出部３が起動され、画像メモリ２に記憶された画像データからエリアデータの切出しが行われる（ステップＳ１２）。切出部３で切出されたエリアデータは、エリアメモリ４に格納される。
【００２８】
次に、図５の認識部１０Ｂが起動され、モジュール判定部１５によってバーコード中のセンタバー及び左右のガードバーの妥当性の判定が行われる。モジュール判定部１５では、図７に示すように、センタバー及び左右のガードバーの幅ｄが求められ、これらの１１個の幅の内の最大値Ｍmax と最小値Ｍmin が求められる。
【００２９】
更に、Ｍmin ／Ｍmax が一定値Ａ（但し、０＜Ａ≦１）以上であるか否かが判定され、この条件を満たしていなければ、正しいバーコードではないと見なされ、次のエリアの認識処理が行われる（ステップＳ１７，１８）。条件を満たしていれば、ＪＡＮ８認識部１２によってＪＡＮ８形式のバーコードとしての認識処理（ステップＳ１４）が行われる。認識結果の判定（ステップＳ１５）により、正しいＪＡＮ８形式のバーコードとして認識されていなければ、ＪＡＮ１３認識部１３によってＪＡＮ１３形式のバーコードとしての認識処理（ステップＳ１６）が行われる。ＪＡＮ８またはＪＡＮ１３形式のバーコードとして正しく認識されれば、データキャラクタが認識結果ＯＵＴとして出力される。
このようなモジュール判定処理、ＪＡＮ８認識処理及びＪＡＮ１３認識処理は、すべてのバーコードエリアに対して行われる（ステップＳ１７，Ｓ１８）。
【００３０】
以上のように、この第２の実施形態の認識部１０Ｂは、バーコードを構成するセンタバー及び左右のガードバーの幅のばらつきの大きさに基づいて認識結果の信憑性を判断するモジュール判定部１５を有している。これにより、第１の実施形態よりも更に簡単な処理によって、適正なバーコードか否かを判定することが可能になり、誤った認識結果を出力するおそれを軽減することができる。
【００３１】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次の（ａ）〜（ｃ）のようなものがある。
（ａ）  ＪＩＳ−Ｘ０５０１に規定されたＪＡＮ８及びＪＡＮ１３形式のバーコードについて説明したが、その他の規格のバーコードに対しても同様に適用可能である。
【００３２】
（ｂ）  認識部１０Ａ，１０Ｂは、ＪＡＮ８及びＪＡＮ１３の２つの認識部を有しているが、認識対象のバーコードの規格の種類は２種類に限定されず、１種類または３種類以上を認識できるような構成にすることができる。
【００３３】
（ｃ）  切出部３、制御部５及び認識部１０Ａ，１０Ｂは、マイクロプロセッサ等を用いてプログラムで処理をするように構成しても良い。
【００３４】
【発明の効果】
以上詳細に説明したように、本発明によれば、読取った黒バーと白バーの幅のばらつきに基づいて誤読の有無を判定する判定手段を設けている。これにより、規格に合致しないバーコードを排除することが可能になり、誤読のおそれを軽減することができる。
【００３５】
特に、前記判定手段では、黒バーと白バーの各モジュールについて最大値と最小値の差と、バーコード全体の幅から計算した１モジュール当たりの幅とを比較し、誤読の有無を判定するように構成している。これにより、規格に合致しないバーコードが確実に排除され、誤読のおそれを軽減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すバーコード読取装置の構成図である。
【図２】従来のバーコード読取装置の一例を示す構成図である。
【図３】図１の動作を示すフローチャートである。
【図４】図１中の認識確認部１４の処理の説明図である。
【図５】本発明の第２の実施形態を示す認識部の構成図である。
【図６】図５の動作を示すフローチャートである。
【図７】図５中のモジュール判定部１５の処理の説明図である。
【符号の説明】
１    スキャナ
２    画像メモリ
３    切出部
４    エリアメモリ
５    制御部
１０Ａ，１０Ｂ    認識部
１１Ａ，１１Ｂ    認識制御部
１２    ＪＡＮ８認識部
１３    ＪＡＮ１３認識部
１４    認識確認部
１５    モジュール判定部
【図１】
0004207367.tif 000002
【図２】
0004207367.tif 000003
【図３】
0004207367.tif 000004
【図４】
0004207367.tif 000005
【図５】
0004207367.tif 000006
【図６】
0004207367.tif 000007
【図７】
0004207367.tif 000008