(57)【特許請求の範囲】
【請求項１】
左右両側にガードバーパターンを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取方法において、
メイン側のバーコードをデコードした後、そのメイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて、一定本数となるまでアドオン側のバーコードの幅を順次加算して行く式により比較値を演算し、前記比較値が前記基準値に対して所定の範囲内にあるとき、メインバーコードにアドオンバーコードが付加されていると判断し、前記比較値を求める式により前記アドオン側のバーコードの左端から右に向かって前記一定本数未満の数のバーの幅を加算した値が、前記基準値に対して所定の範囲を越えたとき、アドオンバーコードは付加されていないと判断することを特徴とするバーコード読取方法。
【請求項２】
前記基準値を求めるために定められたバー本数および前記比較値を求めるために定められたバー本数は、メインバーコードおよびアドオンバーコードのバーの並び構成を基に、前記メインバーコードの一定本数のバーの幅を式に当てはめて求めた前記基準値と、前記アドオンバーコードの一定本数のバーの幅を式に当てはめて求めた前記比較値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とする請求項１記載のバーコード読取方法。
【請求項３】
左右両側にガードバーを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取装置において、
バーコードからの反射光を入力してバーコードのバー幅情報を電気信号に変換する光学的センサと、
この光学的センサにより変換された電気信号をデジタルデータに変換する変換手段と、
この変換手段により変換されたデジタルデータを記憶する記憶手段と、
この記憶手段により記憶されたデジタルデータをデコードするデコード手段とを具備し、
前記デコード手段は、
デコードしたバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算するメイン側バー幅演算手段と、
前記デコードしたバーコードの右側に存するアドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて、一定本数となるまでアドオン側のバーコードの幅を順次加算して行く式により比較値を演算するアドオン側バー幅演算手段と、
前記基準値と前記比較値を比較する比較手段と、
この比較手段の比較により前記一定本数のバーの幅を加算して求めた前記比較値が前記基準値に対して所定の範囲内にあると判定されたとき、メインバーコードにアドオンバーコードが付加されていると判断し、前記アドオン側バー幅演算手段により前記アドオン側のバーコードの左端から右に向かって前記一定本数未満の数のバーの幅を加算した値が前記比較手段により前記基準値に対して所定の範囲を越えたと判定されたとき、アドオンバーコードは付加されていないと判断する判断手段とを備えていることを特徴とするバーコード読取装置。
【請求項４】
前記基準値を求めるために定められたバー本数および前記比較値を求めるために定められたバー本数は、メインバーコードおよびアドオンバーコードのバーの並び構成を基に、前記メイン側の一定本数のバーの幅を式に当てはめて求めた前記基準値と、前記アドオン側の一定本数のバーの幅を式に当てはめて求めた前記比較値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とする請求項３記載のバーコード読取装置。
【請求項５】
左右両側にガードバーパターンを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取方法において、
メイン側のバーコードをデコードした後、アドオン側のバーコードをデコードするように構成され、
且つアドオン側のバーコードのデコード時にそのデコードができなかった場合には、前記メイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて予め設定された式により比較値を演算し、前記比較値が前記基準値に対して所定の範囲から外れているとき、アドオン側のバーコードのデコードを取り止めることを特徴とするバーコード読取方法。
【請求項６】
左右両側にガードバーを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取装置において、
バーコードからの反射光を入力してバーコードのバー幅情報を電気信号に変換する光学的センサと、
この光学的センサにより変換された電気信号をデジタルデータに変換する変換手段と、
この変換手段により変換されたデジタルデータを記憶する記憶手段と、
この記憶手段により記憶されたデジタルデータをデコードするデコード手段とを具備し、
前記デコード手段は、
デコードしたバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算するメイン側バー幅演算手段と、
前記デコードしたバーコードの右側に存するアドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて予め設定された式により比較値を演算するアドオン側バー幅演算手段と、
前記基準値と比較値を比較する比較手段と、
この比較手段により前記比較値が基準値に対して所定の範囲内にあると判定されたとき、メインバーコードにアドオンバーコードが付加されていると判断する判断手段とを備え、
メイン側のバーコードをデコードした後、前記アドオン側のバーコードをデコードした時、そのアドオン側のバーコードのデコードができない場合、
前記メイン側バー幅演算手段によって前記基準値を演算すると共に、前記アドオン側バー幅演算手段によって前記比較値を演算し、前記比較手段により前記比較値が基準値に対して所定の範囲から外れていると判定されたとき、アドオンバーコードのデコードを取り止めることを特徴とするバーコード読取装置。
【請求項７】
左右両側にガードバーパターンを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取方法において、
メイン側のバーコードをデコードした後、メイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、前記アドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算して行き、一定本数に達する前に加算値が前記基準値を越えたとき、アドオンバーコードが付属されていないと判断することを特徴とするバーコード読取方法。
【請求項８】
前記基準値を求めるためのメイン側のバーの一定本数および前記順次加算するアドオン側のバーの一定本数は、メインバーコードおよびアドオンバーコードのバーの並び構成を基に、前記メインバーコードの一定本数のバーの幅を式に当てはめて求めた前記基準値と、前記アドオンバーコードの一定本数のバーの幅を加算した値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とする請求項７記載のバーコード読取方法。
【請求項９】
左右両側にガードバーを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取装置において、
バーコードからの反射光を入力してバーコードのバー幅情報を電気信号に変換する光学的センサと、
この光学的センサにより変換された電気信号をデジタルデータに変換する変換手段と、
この変換手段により変換されたデジタルデータを記憶する記憶手段と、
この記憶手段により記憶されたデジタルデータをデコードするデコード手段とを具備し、
前記デコード手段は、
デコードしたバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算するメイン側バー幅演算手段と、
前記デコードしたバーコードの右側に存在するアドオン側のバーコードの左端から右に向かって一定本数に達するまで順次バーの幅を加算して行くアドオン側バー幅演算手段と、
前記アドオン側バー幅演算手段がバーの幅を加算する都度、その加算値と前記基準値とを比較する比較手段と、
この比較手段により前記加算値が基準値に対して所定の範囲内にあると判定されたとき、メインバーコードにアドオンバーコードが付加されていると判断する判断手段とを備え、
メイン側のバーコードをデコードした後、前記メイン側バー幅演算手段によって前記基準値を演算し、前記アドオン側バー幅演算手段によってアドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算して行き、前記比較手段による比較結果に基づいて、前記判断手段が一定本数に達する前に前記加算値が前記基準値を越えたと判断したとき、アドオンバーコードが付加されていないと判断することを特徴とするバーコード読取装置。
【請求項１０】
前記基準値を求めるための前記メイン側のバーの一定本数および前記順次加算するアドオン側のバーの一定本数は、メインバーコードおよびアドオンバーコードのバーの並び構成を基に、前記メインバーコードの一定本数のバーの幅を式に当てはめて求めた前記基準値と、前記アドオンバーコードの一定本数のバーの幅を加算した値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とする請求項９記載のバーコード読取装置。
【請求項１１】
左右両側にガードバーパターンを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取方法において、
メイン側のバーコードをデコードした後、アドオン側のバーコードをデコードするように構成され、
且つアドオン側のバーコードのデコード時にそのデコードができなかった場合には、
メイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算して行き、一定本数に達する前に加算値が前記基準値を越えたとき、アドオンバーコードが付属されていないと判断してアドオン側のバーコードのデコードを取り止めることを特徴とするバーコード読取方法。
【請求項１２】
左右両側にガードバーを有したバーコードをメインバーコードとし、このメインバーコードの右側にギャップを存してアドオンバーコードを付加したバーコードを読み取るバーコード読取装置において、
バーコードからの反射光を入力してバーコードのバー幅情報を電気信号に変換する光学的センサと、
この光学的センサにより変換された電気信号をデジタルデータに変換する変換手段と、
この変換手段により変換されたデジタルデータを記憶する記憶手段と、
この記憶手段により記憶されたデジタルデータをデコードするデコード手段とを具備し、
前記デコード手段は、
デコードしたバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算するメイン側バー幅演算手段と、
前記デコードしたバーコードの右側に存するアドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算するアドオン側バー幅演算手段と、
このアドオン側バー幅演算手段がバーの幅を加算する都度その加算値と前記基準値とを比較する比較手段と、
この比較手段により前記加算値が基準値に対して所定の範囲内にあると判定されたとき、メインバーコードにアドオンバーコードが付加されていると判断する判断手段とを備え、
前記メイン側のバーコードをデコードした後、前記アドオンバーコードをデコードする際、そのアドオンバーコードのデコードができないとき、
前記メイン側バー幅演算手段によって前記基準値を演算し、前記アドオン側バー幅演算手段によってアドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算して行き、前記比較手段により一定本数に達する前に加算値が前記基準値を越えたと判定されたとき、アドオンバーコードが付加されていないと判断してアドオン側のバーコードのデコードを取り止めることを特徴とするバーコード読取装置。
【請求項１３】
前記基準値は、一定本数のバーの幅を加減算して求めた値であることを特徴とする請求項１、２、５、７、８、１１のいずれかに記載のバーコード読取方法。
【請求項１４】
前記基準値は、一定本数のバー幅を加減算して求めた値であることを特徴とする請求項３、４、６、９、１０、１２のいずれかに記載のバーコード読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、商品などに印刷され或いは貼付けられているバーコードラベルからバーコードを読み取るバーコード読取方法およびバーコード読取装置に係り、特にアドオンバーコードを付加したバーコードを読み取るものに関する。
【０００２】
【従来の技術】
例えば、小売店のチェックアウト業務、在庫管理、生産ラインにおける工程管理など、各種の用途にバーコード認識技術が利用されている。通常、小売店で販売される商品には、ＥＡＮ−１３、ＥＡＮ−８、ＵＰＣ−Ａ、ＵＰＣ−ＥなどのＷＰＣ（ワールド・プロダクト・コード）系バーコードを適用する場合が多い。これらのＷＰＣ系のバーコードには、メインバーコードの右側にアドオン（Add-On）バーコードを付加したバーコードが印刷されていることがある。なお、アドオンバーコードはサプリメンタル（Supplemental）コードとも呼ばれる。このようなアドオンバーコード付きのバーコードをデコードするためには、通常のバーコードをデコードする機能に加えてアドオンバーコードをデコードする機能が必要となる。
【０００３】
【発明が解決しようとする課題】
ＷＰＣバーコードは、その規格上、アドオンバーコードが付加されているか否かに拘らず、常に同じバーコード構造を取るため、メイン側のバーコードをデコードしただけでは、アドオンバーコードが付加されているか否かの判別をすることができない。
【０００４】
そこで、従来のバーコード読取装置では、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行したり、メイン側のバーコードの最終キャラクタ幅に良く似たキャラクタ幅がアドオン側の第１キャラクタがあるべき位置に存在しているか否かによってアドオンバーコードの有無を判断したり、メイン側のバーコードの内容を特定内容で始まるものにしてメイン側のバーコードのデコード時にアドオンバーコードが付加されていることを判別したりしていた。
【０００５】
しかしながら、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行する方法では、アドオンバーコードが付加されていない場合でも、必要のないアドオンバーコードの検出を行うため、読取処理に時間がかかる。
【０００６】
メイン側のバーコードの最終キャラクタ幅を基に、アドオン側のキャラクタ幅を検査してアドオンバーコードの存在の有無を検査する方法では、アドオンバーコードが最低でも１キャラクタ分以上のバー本数を有する必要がある上、偶然にアドオン側の第１キャラクタが存在する部分にメイン側のバーコードの最終キャラクタに似た縞模様が存在していると、アドオンバーコードと誤認してしまう。
【０００７】
また、メイン側のバーコードの内容を特定内容で始まるものにしてアドオンバーコードの存在を示す構成では、事前に判別のためのメイン側の特定データを運用上で取り決める必要があり、運用ルールの改訂などで特定データに変更が生じる際には対応できないという問題がある。
【０００８】
本発明は上記の事情に鑑みてなされたもので、その目的は、事前にアドオンバーコードの付加の有無を判別する運用ルールを取り交わす必要がなく、バーコード情報だけに基づいてアドオンバーコードの存在の有無を早く判断でき、アドオンバーコードが付加されていないバーコードの読取処理速度を低下させることのないバーコード読取方法およびバーコード読取装置を提供するにある。
【０００９】
【課題を解決するための手段】
アドオンバーコードを付加したＷＰＣ系バーコードの一例を図１０に示す。同図において、右側のバーコードａをメインバーコードといい、右側に付加するバーコードをアドオンバーコードｂという。このうち、メインバーコードの左右両側には、ガイドパターンが存在し、アドオンバーコードには、左側にだけガイドバーパターンが存在する。
【００１０】
図１０の例では、ガイドバーパターンは、メインバーコードａについては左右両側に存在し、左右両側に下の方に長く突出した２本の黒いバー（以下、黒バー）と、これらに挟まれた１本の白いバー（以下、白バー）の合計３本のバーでガードバーが構成されている。アドオンバーコードｂについては、ガイドバーパターンは、左側にだけ存在し、左側２本の黒バーと、これらに挟まれた白バーの３本のバーの合計３本のバーによってガイドバーが構成されている。なお、この発明では、黒バー間の空白部分を白バーとし、１本のバーとして数える。
【００１１】
そして、メインバーコードａにおいて、右側のガードバーパターンに隣接する白バーを含めて当該白バーから左に向かって４本目の黒バーまでが最終キャラクタであり、アドオンバーコードｂにおいて、左側のガードバーパターンに隣接する白バーを含めて当該白バーから右に向かって４本目の黒バーまでが第１キャラクタである。
【００１２】
請求項１、３の発明は、メイン側のバーコードをデコードした後、そのメイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて、一定本数となるまでアドオン側のバーコードの幅を順次加算して行く式により比較値を演算し、比較値が基準値に対して所定の範囲内にあるとき、メインバーコードにアドオンバーコードが付加されていると判断する。このため、偶然にアドオンバーコードの第１キャラクタが存在する位置に、メイン側のバーコードの最終キャラクタに似た縞模様が存在していた場合、これをアドオンバーコードと判断する確率は極く低くなるので、その縞模様をアドオンバーコードとしてデコードするようなことはほとんどなく、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。しかも、アドオン側のバーコードの左端から右に向かって一定本数未満の数のバーの幅を加算した値が、基準値に対して所定の範囲を越えたとき、アドオンバーコードは付加されていないと判断するので、アドオン側のバーコード（に似たもの）の一部分しかバーコード読取装置の読取口に入っていない場合、その一部分に異常に幅の広いバー（に似た部分）が存在するようなときには、アドオンバーコードではないと判断するので、アドオンバーコードでないものを、早くアドオンバーコードでないと判断することができる。
【００１３】
請求項２、４の発明は、基準値を求めるために定められたバー本数および比較値を求めるために定められたバー本数は、メインバーコードおよびアドオンバーコードの並び構成を基に、メインバーコードの一定本数のバーの幅を式に当てはめて求めた基準値と、アドオン側の一定本数のバーの幅を式に当てはめて求めた比較値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とする。この基準値および比較値を求めるためのバーの一定本数について、以下に具体的に記載する。
【００１４】
Ａ．ガードバーパターンが黒、白、黒の３本のバーによって構成されるＥＡＮ−８、ＥＡＮ−１３、ＵＰＣ−Ａ
（１）アドオンバーコード２桁の場合
▲１▼メインバーコードとアドオンバーコードの双方共に３本目（ガードバー部分とキャラクタとの境目）まで
▲２▼メインバーコードとアドオンバーコードの双方共に７本目（１キャラクタと２キャラクタとの境目）まで
（２）アドオンバーコード５桁の場合
▲１▼メインバーコードとアドオンバーコードの双方共に３本目（ガードバー部分とキャラクタとの境目）まで
▲２▼メインバーコードとアドオンバーコードの双方共に７本目（１キャラクタと２キャラクタとの境目）まで
▲３▼メインバーコードが１９本目までとアドオンバーコードが２１本目まで
【００１５】
Ｂ．ガードバーパターンが黒、白、黒、白、黒、白の６本のバーによって構成されるＵＰＣ−Ｅ
（１）アドオンバーコード２桁の場合
▲１▼メインバーコードが３〜５本目までとアドオンバーコードが３本目（ガードバーと１キャラクタとの境目）まで。特にメインバーコードが４本目までを採用すると、規格上の合計幅がアドオンバーコードと同幅になる。
▲２▼メインバーコードが９本目までとアドオンバーコードが７本目（１キャラクタ目と２キャラクタ目との境界）まで
（２）アドオンバーコード５桁の場合
▲１▼メインバーコードが３〜５本目までとアドオンバーコードが３本目（ガードバーと１キャラクタとの境目）まで
▲２▼メインバーコードが９本目までとアドオンバーコードが７本目（１キャラクタ目と２キャラクタ目との境界）まで
▲３▼メインバーコードとアドオンバーコードの双方共に１３本目（ガードバー部分とキャラクタとの境目）まで
▲４▼メインバーコードが１７本目までとアドオンバーコードが１５本目、ただし、アドオンバーコードの１５本目は減算する。
【００１６】
このように基準値および比較値を求めるためのバーの本数を設定すれば、メインバーコード側から求められる基準値とアドオンバーコード側から求められる比較値とが、バーの最小幅（１モジュール）以下の差でほぼ一致するので、精度の高い比較位置を得ることができる。
【００１８】
請求項５、６の発明は、メイン側のバーコードをデコードした後、アドオンバーコードに対してデコードを試みたとき、そのデコードができなかったとき、メインバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算し、アドオン側のバーコードの左端から右に向かって一定本数のバーの幅を式に当てはめて求めた比較値が基準値に対して所定の範囲から外れているとき、アドオンバーコードのデコードを取り止めることを特徴とする。
この構成によれば、アドオンバーコードをデコードできなかった場合にだけ、アドオンバーコードの存在の有無を判断するので、アドオンバーコードが存在していた場合、そのデコードを優先させることができる。
【００１９】
請求項７、９の発明は、メイン側のバーコードをデコードした後、メインバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を求めると共に、アドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を順次加算して行き、一定本数に達する前に加算値が基準値を越えたとき、アドオンバーコードが付属されていないと判断することを特徴とする。
この構成によれば、加算すべき本数に達する前にバーの幅の加算値が基準値を越えた場合には、アドオンバーコードなしと判断するので、早い判断が可能である。
【００２０】
請求項８、１０の発明は、基準値を求めるためのメイン側のバー本数およびアドオン側のバー本数は、バーの並び構成を基に、メイン側の一定本数のバーの幅を式に当てはめて求めた基準値と、アドオン側の一定本数のバーの幅の加算値との差が、最小幅のバーの幅以下となる本数に定められていることを特徴とするものである。これによれば、精度の高い比較位置を得ることができる。
【００２１】
請求項１１、１２の発明は、メイン側のバーコードをデコードした後、アドオンバーコードをデコードする際、そのアドオンバーコードのデコードができないとき、アドオン側のバーコードの左端から右に向かって一定本数に達するまでバーの幅を加算して行く過程で、メインバーコード側から求めた基準値を越えたとき、アドオンバーコードが付属されていないと判断してアドオン側のバーコードのデコードを取り止めることを特徴とする。
この構成によれば、請求項５、６と同様に、アドオンバーコードのデコードできなかった場合のみ、アドオンバーコードの存在の有無を判断するので、アドオンバーコードのデコードを優先させることができる。
【００２３】
請求項１３、１４の発明は、メイン側のバーコードから求める基準値は、一定本数のバーの幅を加減算して求めた値であることを特徴とする。
この構成によれば、バー幅を加算および減算することによって、基準値とアドオンバーコードの所定本数のバー幅の加算値との差を、１モジュール以下の値に調整することができる。
【００２４】
【発明の実施の形態】
以下、本発明をハンディタイプのバーコード読取装置に適用した一実施例につき図１ないし図１２を参照しながら説明する。
ハンディタイプのバーコード読取装置１は、図１１に示すように、手持ち可能なケース２を主体とするもので、そのケース２には、多数のスイッチ３、液晶表示器４、表示用ＬＥＤ２２などが設けられている。また、ケース２内にはプリント配線基板５が配設されており、このプリント配線基板５の一方の面に前記キースイッチ３群および液晶表示器４などが取り付けられ、他方の面に光学的センサとしてのＣＣＤラインセンサ６および結像レンズ７などが取り付けられている。
【００２５】
ケース２の前面開口部は読取口８とされ、この読取口８の近くに位置するようにしてケース２内に配設されたプリント配線基板９には、その中央に形成された孔９ａの周囲に位置して照明手段たる照明用ＬＥＤ１０およびこの照明用ＬＥＤ１０に対向して照明用レンズ１１が設けられている。そして、ケース２内において、読取口８と結像レンズ７との間には、反射ミラー１２が設けられている。
【００２６】
バーコードの読み取りは、読取口８をバーコードが印刷されているラベルにほぼ接触させた状態で行う。そして、この実施例では、読取対象が図１０に示すようなアドオンバーコード付きのバーコードのとき、そのメインバーコードａとアドオンバーコードｂとを同時に読み取ることができるようにするために、読取口８の大きさは２つのバーコードを包含できるように横長に形成されている。
【００２７】
図１２はバーコード読取装置１の電気的構成を示すもので、上記のキースイッチ３群、液晶表示器４、ＣＣＤラインセンサ６、照明用ＬＥＤ１０、表示用ＬＥＤ２２の他に、制御回路１４、増幅回路１５、２値化回路１６、報知手段としてのブザー１７、転送手段としての通信Ｉ／Ｆ回路１８などを備えている。上記制御回路１４は、制御手段としてのＣＰＵ１９、ＲＯＭ２０、ＲＡＭ２１などを備えたコンピュータシステムとして構成されている。そして、制御回路１４は、キースイッチ３群からの入力信号およびＲＯＭ２０に予め記憶されたプログラムに従って動作し、液晶表示器４、ＣＣＤラインセンサ６、増幅回路１５、２値化回路１６、ブザー１７、通信Ｉ／Ｆ回路１８、表示用ＬＥＤ２２などを制御する。
【００２８】
上記ＣＣＤラインセンサ６は受光素子であるＣＣＤを直線的に配列して構成されている。照明用ＬＥＤ１０の照明光は、バーコードラベルで反射されて読取口８から入射され、更に、反射ミラー１２で曲げられて結像レンズ７によってＣＣＤラインセンサ６に結像される。そして、ＣＣＤラインセンサ６は、結像されたバーコードラベルの画像を、その明暗に応じた電気信号に変換して光学的情報として蓄積する。このＣＣＤラインセンサ６の光学的情報は、走査線信号として増幅回路１５に与えられ、増幅回路１５はＣＣＤラインセンサ６からの走査線信号を増幅して変換手段としての２値化回路１６に与える。
【００２９】
２値化回路１６は、アナログの走査線信号をデジタル信号に変換し、このデジタル信号は記憶手段としてのＲＡＭ２１に記憶される。そして、デコード手段としてのＣＰＵ１９は、ＲＡＭ２１に記憶されたデジタル信号（バーコード）をＲＯＭ２０に記憶されたデコードアルゴリズムに基づいてデコードし、そのデコードデータをＲＡＭ２１に記憶させると共に、液晶表示器４、ブザー１７、表示用ＬＥＤ２２などで読取完了を報知し、そして、そのデコードデータを通信Ｉ／Ｆ回路１８から上位機器へ転送する。
【００３０】
次にバーコードを読み取る場合のＣＰＵ１９の作用を図１ないし図３に示すフローチャートをも参照しながら説明する。ここで、読取対象となるメイン側のバーコードは、ＷＰＣ系バーコードで、ＥＡＮ−１３、ＥＡＮ−８、ＵＰＣ−Ａ、ＵＰＣ−Ｅの４種類であるとする。
【００３１】
読み取るべきバーコードに読取口８を当ててキースイッチ３により読取動作をスタートさせる。すると、照明用ＬＥＤ１０が点灯してバーコード（ラベル）を照明し、その反射光が結像レンズ７によってＣＣＤラインセンサ６に結像される（ステップＳ１）。そして、ＣＰＵ１９は、ＣＣＤラインセンサ６が受光したバーコードの画像を２値化してＲＡＭ２１に記憶させ（ステップＳ２）、その後、２値化データに基づいてメイン側に位置するバーコードをデコードしてＲＡＭ２０に記憶する（ステップＳ３）。
【００３２】
次に、ＣＰＵ１９は、デコードしたメイン側のバーコードの種類を判別し（ステップＳ４）、ガードバーの本数が２本であるもの、すなわちＵＰＣ−Ａ、ＥＡＮ−８、ＥＡＮ−１３である場合には、右端から７本目までの各バーの幅Ｂ１〜Ｂ７を求め、基準値Ｘを予め設定された次の（１）式によって求める（ステップＳ５）。また、ガードバーの本数が６本であるもの、すなわちＵＰＣ−Ｅである場合には、右端から１０本目までの各バーの幅Ｂ１〜Ｂ１０を求め、基準値Ｘを予め定められた次の（２）式によって求める（ステップＳ６）。
【００３３】
Ｘ＝Ｂ７＋Ｂ６＋Ｂ５＋Ｂ４＋Ｂ３＋Ｂ２＋Ｂ２＋Ｂ１…（１）
Ｘ＝Ｂ１０＋Ｂ９＋Ｂ８＋Ｂ７＋Ｂ６＋Ｂ５＋Ｂ４＋Ｂ３＋Ｂ２−Ｂ１…（２）
なお、上記（１）式、（２）式において、Ｂに付した添字の数字は右端からの並び順を示すもので、１が右端のバー、以下、２、３、……が右端から２番目、３番目、……のバーを示す。
【００３４】
これら（１）式および（２）式の意味は次の通りである。まず、この実施例では、アドオンバーコードが付加されているか否かの判断を、メイン側のバーコードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて基準値Ｘを演算すると共に、アドオン側のバーコードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて比較値Ｚを演算し、そして、比較値Ｚが基準値Ｘに対して一定範囲、例えば基準値Ｘの８０％〜１２０％の範囲内にあるか否かによって行うように構成している。
【００３５】
バーコードにおいては、幅の異なる複数種のバーが使用されているが、そのうちの最小の幅を１モジュールと呼ぶ。図８、図９に示すように、アドオンバーコードｂでは、左端から右に向かって７本目まで（ガイドバー部分および第１キャラクタ部分）のバーの幅の合計値は１１モジュールに定められている。
【００３６】
一方、メインバーコードａにおいて、ガードバーパターンが３本のバーから構成されているＵＰＣ−Ａ、ＥＡＮ−８およびＥＡＮ−１３では、図８に示すように、ガイドバーパターンおよび最終キャラクタは合計７本のバーで構成され、その７本のバーの合計幅は１０モジュールに定められ、且つガードバーパターンの各バーの幅は１モジュールに定められているので、上記（１）式のように、７本のバーの幅を合計し、更に１モジュール幅である１本のガイドバー（例えば、右端から２番目のバー）の幅を加算することによって１１モジュールの幅を得ることができる。
【００３７】
また、ガードバーパターンの本数が６本であるＵＰＣ−Ｅでは、図９に示すように、ガイドバーパターンおよび最終キャラクタは合計１０本のバーで構成され、その１０本のバーの合計幅は１３モジュールに定められ、且つガイドバーパターン各バーの幅は１モジュールに定められているので、上記（２）式のように、１０本のバーの幅を合計し、１モジュール幅である１本のガイドバー（例えば、右端のバー）の幅を加算することによって１１モジュールの幅を得ることができる。
以上のことから、アドオン側のバーコードの左端から７本目までのバーの幅の加算値Ｙを基準値Ｘと比較することによって、アドオンバーコードの付加の有無を判断できるものである。
【００３８】
Ｘの値を演算した後、ＣＰＵ１９は、メイン側のバーコードとアドオン側のバーコードとの間に存在するギャップ幅Ｇを求め（ステップＳ７；ギャップ幅取得手段）、そのギャップ幅Ｇと基準値Ｘとを比較し、ＧがＸに対してその１２０％（ほぼ１３．２モジュール）以内と定められた許容範囲に入っているか否かを判断する（ステップＳ８；比較手段）。
【００３９】
なお、アドオンバーコードが付加されていない場合、ＣＣＤラインセンサ６はメイン側のバーコードの右側を白として読み取るので、ＣＰＵ１９はメイン側のバーコードの右側の広い白部分（読取口８の右端まで）をギャップと判断してその幅を演算する。
【００４０】
ギャップ幅Ｇが許容範囲から外れている場合には、ＣＰＵ１９は、ステップＳ８で「ＮＯ」と判断してアドオンバーコードは付加されていないと判断し（ステップＳ９；判断手段）、そして、メイン側のデコードデータを上位機器に転送し（ステップＳ１０）、エンドとなる。
【００４１】
ギャップ幅Ｇが許容範囲内にある場合には、ＣＰＵ１９は、ステップＳ８で「ＹＥＳ」と判断し、次にアドオン側に１本目のバーが存在するか否かを判断する（ステップＳ１１）。１本目のバーが存在しない場合には、ＣＰＵ１９は、ステップＳ１１で「ＮＯ」となって上記ステップＳ９およびステップＳ１０を順に実行しエンドとなる。
【００４２】
１本目のバーが存在する場合には、ＣＰＵ１９は、ステップＳ１１で「ＹＥＳ」となり、アドオン側のバー幅の加算値Ｙを０にセットし（ステップＳ１２）、Ｙに１本目のバーの幅ｂ１を加算する（ステップＳ１３）。次いで、ＣＰＵ１９は、アドオン側に２本目のバーが存在するか否かを判断し（ステップＳ１４）、存在する場合には、バー幅の加算値Ｙに２本目のバーの幅ｂ２を加算する（ステップＳ１５）。以下、３本目以降、７本目までのバーの存在を逐次判断し（ステップＳ１６、１８、２０、２２、２４）、いずれのバーも存在する場合、順次バーの幅を累計して行き（ステップＳ１７、１９、２１、２３、２５）、そして、７本目までのバーの幅の加算値Ｙ（比較値Ｚ）と基準値Ｘとを比較し、ＹがＸの８０％〜１２０％と定められた許容範囲に入っているか否かを判断する（ステップＳ２６；比較手段）。
【００４３】
７本のバーの幅の加算値Ｙが上記許容範囲内にある場合には（ステップＳ２６で「ＹＥＳ」）、ＣＰＵ１９は、アドオンバーコードが存在すると判定し（ステップＳ２７；判断手段）、そして、アドオンバーコードをデコードしてＲＡＭ２０に記憶し（ステップＳ２８）、次いでメインバーコードおよびアドオンバーコードのデコードデータを上位機器に転送し（ステップＳ２９）、エンドとなる。
【００４４】
また、７本のバーの幅の加算値Ｙが上記許容範囲から外れていた場合には（ステップＳ２６で「ＮＯ」）、ＣＰＵ１９は、アドオンバーコードではないと判定し（ステップＳ９）、次いで、メイン側のバーコードのデコードデータを上位機器に転送し（ステップＳ１０）、エンドとなる。
【００４５】
一方、２本目以降のバーが存在するか否かを判断するステップにおいて、存在していないと判断した場合（Ｓ１４、Ｓ１６、Ｓ１８、Ｓ２０、Ｓ２２、Ｓ２４の各ステップで「ＮＯ」）、ＣＰＵ１９は、ステップＳ３０に移行し、ここで加算値Ｙが基準値Ｘの１２０％以下であるか否かを判断し（比較手段）、Ｘの１２０％を越えている場合（ステップＳ３０で「ＮＯ」）には、前述のステップＳ９に移行してアドオンバーコードではないと判定（判断手段）した後、メイン側のバーコードのデコードデータを転送し（ステップＳ１０）、エンドとなる。
【００４６】
バーの幅の加算値Ｙが基準値Ｘの１２０％以内にある場合には（ステップＳ３０で「ＹＥＳ」）、ＣＰＵ１９は、ステップＳ３１に移行し、ここでブザー１７を鳴動させる。
【００４７】
図４に示すように、アドオンバーコードが付随されていたが、そのアドオンバーコードが読取口８内に完全に入っておらず、右側部分のバーを光学的に読み取ることができなかった場合には、ステップＳ１４、Ｓ１６、Ｓ１８、Ｓ２０、Ｓ２２、Ｓ２４のいずれかで「ＮＯ」と判断される可能性がある。そこで、上記のようにブザー１７を鳴動させれば、使用者は、ブザー音をバーコードが読取口８から外れていることの注意報と理解し、読取口８の中にメインバーコードとアドオンバーコードとが入るようにバーコード読取装置１を動かし、そしてキースイッチ３により読取動作を再スタートさせるようになる。これにより、上述のようにしてメインバーコードとアドオンバーコードとを上位機器に転送することができる。
【００４８】
このように本実施例によれば、アドオン側の７本のバーの幅の加算値Ｙ（比較値Ｚ）が、メイン側のバーコードの１１モジュール分の基準値Ｘを基準にした許容範囲内に入っているか否かによってアドオンバーコードが付随されているか否かを判断するので、事前にアドオンバーコードの付随の有無を判別する運用ルールを取り交わす必要がなく、バーコード情報だけに基づいてアドオンバーコードの存在の有無を早く判断できる。また、アドオンバーコードの付加の有無を判別せずに、常に一定時間をかけてアドオン側に対してデコード処理を実施するものに比べて、特に、アドオンバーコードが付加されていない場合の読取処理速度を早くすることができる。
【００４９】
また、基準値Ｘをメイン側のバーコードの右側のガードバーパターンと最終キャラクタとを含む一定本数のバーの幅から求め、比較値Ｚ（加算値Ｙ）をアドオン側の左側のガードバーパターンと第１キャラクタとを含む一定本数のバーの幅から求めるので、最終キャラクタと第１キャラクタとを比較するものに比べ、隣どうしの距離的に近い、より多くのバーからＸとＹとを求めることとなり、バーコードラベルを貼り付けてある部分が膨らんで湾曲していたりしていても、バーコードラベルの湾曲によるバー幅変化の影響を最小限に止めてアドオンバーコードの付加の有無をより正確に判断することができる。
【００５０】
また、図５に示すように、アドオン側のバーコードは、左端のバーの幅が極端に幅広く、このようなものはアドオンバーコードではない。ところが、メイン側のバーコードの最終キャラクタの幅とアドオン側の第１キャラクタの幅とを比較する従来方法では、左端の幅広のバーの幅は考慮しないので、図５の場合、右側の縞模様をアドオンバーコードと誤判断してしまう。
【００５１】
これに対し、本実施例では、アドオン側のバーコードの左端から７本目までのバーの幅の加算値Ｙを基準値Ｘと比較するので、図５の右側の縞模様はアドオンバーコードではないと正しく判断し、無駄なデコード処理のために多くの時間を費やすことを防止できる。
【００５２】
また、図６のように、メイン側のバーコードと、その右側に存在するバーコードとの間には大きなギャップが存在しており、このような大きなギャップを存しているバーコードはアドオンバーコードではない。本実施例では、メイン側のバーコードとアドオン側のバーコードとの間のギャップ幅ＧがＸと比較して広過ぎる場合、アドオンバーコードではないと判断するので、無駄なデコード処理のために多くの時間を費やすことを防止できる。
【００５３】
このことに関連して、図７に示すように、一つのバーコードの下側に、アドオンバーコード付きバーコードが存在するとして、読取口８を斜めに当てて同図にＬで示す線に沿って光学的に読み取りを行ってしまった場合、従来では、上段のバーコードにアドオンバーコードが付加されているとしてデコードしてしまうが、本実施例では、ギャップが広過ぎるとしてアドオンバーコードではないと判断できる。
【００５４】
また、本実施例では、アドオン側のバーの幅を左側１本目から順次累計して行き、７本目のバーに至るまでの途中で、その加算値Ｙが許容範囲を越えたとき、アドオンバーコードでないと判定するので、以後のアドオンバーコードの有無を判断するための処理を省略することができる。
【００５５】
図１３は本発明の他の実施例を示すもので、上記一実施例との相違は、メイン側のバーコードのデコードデータをＲＡＭ２０に記憶（ステップＡ１〜Ａ３）した後、直ちにアドオン側のバーコードをデコードし（ステップＡ４）、そして、アドオン側のバーコードのデコードができなかった場合（ステップＡ４で「ＮＯ」）、上記一実施例のステップＳ４以降の処理を実行するようにしたところにある。
【００５６】
このように構成した場合には、ステップＡ５でアドオン側のバーコードをデコードできれば、直ちにメインバーコードとアドオンバーコードのデコードデータを転送できる（ステップＡ７、Ａ８）。このため、アドオンバーコードの存在の有無を判断する処理が不要となるので、アドオンバーコードが付加されている場合の読取処理を迅速に行うことができる。
【００５７】
なお、本発明は上記し且つ図面に示す実施例に限定されるものではなく、その要旨を逸脱しない範囲で以下のような拡張或いは変更が可能である。
基準値Ｘは（１）式、（２）式によるものに限らず、一定本数のバーの幅を１回ずつ加算するだけで求めるようにしても良く、四則演算して求めても良い。
比較値Ｚは一定本数のバーの幅を順次加算して求めるものに限らず、加減算して求めても良く、四則演算して求めても良い。
基準値Ｘ、比較値Ｚを求めるためのバーの数は、右端から最終キャラクタの始まりまで、左端から第１キャラクタの終りまでというように区切りのよい位置で定めるものに限らず、キャラクタの途中までであっても良い。
アドオンバーコードの有無は、基準値Ｘとギャップ幅だけで判断しても良いし、基準値Ｘと比較値Ｚだけで判断しても良い。
【図面の簡単な説明】
【図１】本発明の一実施例における処理内容を示すフローチャートその１
【図２】同ローチャートその２
【図３】同ローチャートその３
【図４】アドオンバーコードの一部が読取口から外れた状態を示す図
【図５】アドオン側のバーコードの左端のバーが異常に太い場合を示す図
【図６】メイン側とアドオン側のバーコードが離れ過ぎている場合を示す図
【図７】バーコードが２段に印刷されている場合を示す図
【図８】ガードバーパターンの一例を示す図
【図９】ガードバーパターンの他の例を示す図
【図１０】アドオンバーコード付きバーコードの一例を示す図
【図１１】バーコード読取装置の断面図
【図１２】電気的構成を示すブロック図
【図１３】本発明の他の実施例を示すフローチャート
【符号の説明】
図中、６はＣＣＤラインセンサ（光学的センサ）、１６は２値化回路（変換手段）、１９はＣＰＵ（デコード手段、メイン側バー幅演算手段、アドオン側バー幅演算手段、比較手段、判断手段）、２１はＲＡＭ（記憶手段）である。
【図１】
0004154871.tif 000002
【図２】
0004154871.tif 000003
【図３】
0004154871.tif 000004
【図４】
0004154871.tif 000005
【図５】
0004154871.tif 000006
【図６】
0004154871.tif 000007
【図７】
0004154871.tif 000008
【図８】
0004154871.tif 000009
【図９】
0004154871.tif 000010
【図１０】
0004154871.tif 000011
【図１１】
0004154871.tif 000012
【図１２】
0004154871.tif 000013
【図１３】
0004154871.tif 000014