(57)【特許請求の範囲】
【請求項１】
メインバーコードと、このメインバーコードに付加されたアドオンバーコードとを読み取るバーコード読取装置であって、
メインバーコードを読み取った画像からアドオンバーコードがメインバーコードに付加されているかを判断するアドオンバーコード判断手段と、
前記アドオンバーコード判断手段によりアドオンバーコードが付加されていると判断された場合に、メインバーコード及びアドオンバーコードの読み取りを行うメイン・アドオンバーコードデコード手段と、
前記アドオンバーコード判断手段によりアドオンバーコードが付加されていないと判断された場合に、読み取った複数回の画像から、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断する近接方向操作判断手段と、
前記近接方向操作判断手段により、バーコード読取装置を近づける操作を行っていないと判断された場合に、メインバーコードのみの読み取りを行うメインバーコードデコード手段と、
前記近接方向操作判断手段により、バーコード読取装置を近づける操作を行っていると判断された場合に、再度、前記アドオンバーコード判断手段によりアドオンバーコードが付加されているかを判断させる再判断手段とを備えることを特徴とするバーコード読取装置。
【請求項２】
読み取った複数回の画像から、バーコード読取装置をバーコードに対して水平方向へ移動させる操作を行っているか否かを判断する水平方向操作判断手段を備え、  前記近接方向操作判断手段によりバーコード読取装置を近づける操作を行っていないと判断された場合において：
前記水平方向操作判断手段により、バーコード読取装置を水平方向へ移動させる操作を行っていないと判断された場合に、前記メインバーコードデコード手段がメインバーコードのみの読み取りを行い；
前記水平方向操作判断手段により、バーコード読取装置を水平方向へ移動させる操作を行っていると判断された場合に、前記再判断手段が、再度、前記アドオンバーコード判断手段によりアドオンバーコードが付加されているかを判断させる；ことを特徴とする請求項１のバーコード読取装置。
【請求項３】
前記近接方向操作判断手段は、
読み取った画像におけるメインバーコードの所定部位の幅を測定する幅測定手段と、
メインバーコードの所定部位の幅に対応するバーコード読取装置からメインバーコードまでの距離のデータを保持する記憶手段と、
前記幅測定手段により測定された幅と、前記記憶手段に保持された距離のデータとから、バーコード読取装置からメインバーコードまでの距離を求める距離測定手段と、
以前に読み取った画像から求めたメインバーコードまでの距離と、今回読み取った画像から求めたメインバーコードまでの距離との差が、記憶された閾値より大きい場合に、バーコード読取装置をバーコードに対して近づける操作を行っていると判断する近接操作判断手段とから成ることを特徴とする請求項１のバーコード読取装置。
【請求項４】
前記水平方向操作判断手段は、
以前に読み取った画像から求めたメインバーコードの特定部位の位置と、今回読み取った画像から求めたメインバーコードの特定部位の位置との差が、記憶された閾値より大きい場合に、バーコード読取装置をバーコードに対して水平方向へ移動させる操作を行っていると判断する水平操作判断手段から成ることを特徴とする請求項２のバーコード読取装置。
【請求項５】
前記閾値を登録する登録手段を備えることを特徴とする請求項３又は請求項４のバーコード読取装置。
【請求項６】
前記近接方向操作判断手段により、バーコード読取装置を近づける操作を行っていると判断された場合に、操作中を報知する報知手段を備えることを特徴とする請求項１又は請求項３のバーコード読取装置。
【請求項７】
前記水平方向操作判断手段により、バーコード読取装置を水平方向へ移動させる操作を行っていると判断された場合に、操作中を報知する報知手段を備えることを特徴とする請求項２又は請求項４のバーコード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品などに印刷され或いは貼付けられているバーコードラベルからバーコードを読み取るバーコード読取装置に関し、特にアドオンバーコードを付加したバーコードを読み取り可能なバーコード読取装置に関するものである。
【背景技術】
【０００２】
例えば、小売店のチェックアウト業務、在庫管理、生産ラインにおける工程管理など、各種の用途にバーコード認識技術が利用されている。通常、小売店で販売される商品には、ＥＡＮ−１３、ＥＡＮ−８、ＵＰＣ−Ａ、ＵＰＣ−ＥなどのＷＰＣ（ワールド・プロダクト・コード）系バーコードを適用する場合が多い。これらのＷＰＣ系のバーコードには、メインバーコードの右側にアドオン（Add-On）バーコードを付加したバーコードが印刷されていることがある。このようなアドオンバーコード付きのバーコードをデコードするためには、通常のバーコードをデコードする機能に加えてアドオンバーコードをデコードする機能が必要となる。
【特許文献１】特開２００３−２２４１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＷＰＣバーコードは、その規格上、アドオンバーコードが付加されているか否かに拘らず、常に同じバーコード構造を取るため、メイン側のバーコードをデコードしただけでは、アドオンバーコードが付加されているか否かの判別をすることができない。そこで、従来のバーコード読取装置では、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行していた。しかしながら、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行する方法では、アドオンバーコードが付加されていない場合でも、必要のないアドオンバーコードの検出を行うため、読取処理に時間がかかる。
【０００４】
このため、特許文献１で、メインバーコードのデコードが可能になったときに、当該メインバーコードと共にアドオンバーコードの一部が撮像された場合には、アドオンバーコードが読み取れるまで待機することで、アドオンバーコードの読み落しを無くすと共に、アドオンバーコードが付加されていないバーコードは直ちに読み取り結果を出力できるバーコード読取装置を本願出願人は提案した。
【０００５】
ここで、バーコード読取装置は、光学系部品の改良により、読み取りの範囲（読取口からバーコードまで距離）が広くなり、離れた位置からでもバーコードの読み取りが可能になっている。このため、特許文献１のバーコード読取装置では、読取口をバーコードに近づける操作中に、受光素子にアドオンバーコードの一部が掛かる前にメインバーコードのデコードができた場合に、アドオンバーコードの読み落しが生じることがある。同様に、アドオンバーコード付きのバーコードに慣れていない使用者が、メインバーコード側からアドオンバーコード側に水平方向へバーコード読取装置の読取口をずらしながら読み取りを行った場合にも、受光素子にアドオンバーコードの一部が掛かる前にメインバーコードのデコードができきてしまい、アドオンバーコードの読み落しが生じることがある。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、アドオンバーコードが付加されていないバーコードの読取処理速度を低下させること無く、アドオンバーコードの読み落しが生じないバーコード読取装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１の発明は、メインバーコードと、このメインバーコードに付加されたアドオンバーコードとを読み取るバーコード読取装置であって、
メインバーコードを読み取った画像からアドオンバーコードがメインバーコードに付加されているかを判断するアドオンバーコード判断手段（Ｓ６４）と、
前記アドオンバーコード判断手段によりアドオンバーコードが付加されていると判断された場合に（Ｓ６４：Ｙｅｓ）、メインバーコード及びアドオンバーコードの読み取りを行うメイン・アドオンバーコードデコード手段（Ｓ１６、Ｓ６８）と、
前記アドオンバーコード判断手段によりアドオンバーコードが付加されていないと判断された場合に（Ｓ６４：Ｎｏ）、読み取った複数回の画像から、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断する近接方向操作判断手段（Ｓ１１０）と、
前記近接方向操作判断手段により、バーコード読取装置を近づける操作を行っていないと判断された場合に（Ｓ１１０：Ｙｅｓ）、メインバーコードのみの読み取りを行うメインバーコードデコード手段（Ｓ１６、Ｓ８６）と、
前記近接方向操作判断手段により、バーコード読取装置を近づける操作を行っていると判断された場合に（Ｓ１１０：Ｎｏ）、再度、前記アドオンバーコード判断手段によりアドオンバーコードが付加されているかを判断させる再判断手段（Ｓ１２０）とを備えることを技術的特徴とする。
【発明の効果】
【０００８】
請求項１のバーコード読取装置では、アドオンバーコードがメインバーコードに付加されているかを判断し、アドオンバーコードが付加されている場合には、メインバーコード及びアドオンバーコードの読み取りを行う。他方、読み取った画像にはアドオンバーコードが付加されていない場合には、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断し、バーコード読取装置を近づける操作を行っていない場合に、メインバーコードのみの読み取りを行う。そして、バーコード読取装置を近づける操作を行っている限り、アドオンバーコードが付加されているかの判断を続ける。このため、バーコード読取装置の読取口をバーコードに向けて近づけている最中に、アドオンバーコードが付加されているバーコードに対してメインバーコードのみの画像を取り込んだ場合にも、アドオンバーコードが読み取れる状態になるまで待機でき、アドオンバーコードの読み飛ばしが無くなる。他方、バーコード読取装置の読取口をバーコードに向けて近づけていない場合には、アドオンバーコードが付加されていないと判断することで、アドオンバーコードが読み取り可能になるまでの待機時間が無くなり、直ちにメインバーコードのデコード結果を出力できる。
【０００９】
請求項２のバーコード読取装置では、メインバーコードを読み取った画像にアドオンバーコードが付加されていない場合には、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断し、バーコード読取装置を近づける操作を行っていない場合に、更に、バーコード読取装置をバーコードに対して水平方向へ移動させる操作を行っているか否かを判断する。そして、バーコード読取装置を水平方向へ移動させる操作を行っていない場合に、メインバーコードのみの読み取りを行う。他方、バーコード読取装置を水平方向へ移動させる操作を行っている限り、アドオンバーコードが付加されているかの判断を続ける。このため、バーコード読取装置の読取口をバーコードに対向するよう水平方向に移動している最中に、アドオンバーコードが付加されているバーコードに対してメインバーコードのみの画像を取り込んだ場合にも、アドオンバーコードが読み取れる状態になるまで待機でき、アドオンバーコードの読み飛ばしが無くなる。他方、バーコード読取装置の読取口を水平に移動していない場合には、アドオンバーコードが付加されていないと判断することで、アドオンバーコードが読み取り可能になるまでの待機時間が無くなり、直ちにメインバーコードのデコード結果を出力できる。
【００１０】
請求項３のバーコード読取装置では、メインバーコードの所定部位の幅に対応するバーコード読取装置からメインバーコードまでの距離のデータを保持する。そして、読み取った画像におけるメインバーコードの所定部位の幅を測定し、測定された幅と、保持された距離のデータとから、バーコード読取装置からメインバーコードまでの距離を求め、以前に読み取った画像から求めたメインバーコードまでの距離と、今回読み取った画像から求めたメインバーコードまでの距離との差が、記憶された閾値より大きい場合に、バーコード読取装置をバーコードに対して近づける操作を行っていると判断する。このため、バーコード読取装置をバーコードに対して近づけていることを正確に検出することができる。
【００１１】
請求項４のバーコード読取装置では、以前に読み取った画像から求めたメインバーコードの特定部位の位置と、今回読み取った画像から求めたメインバーコードの特定部位の位置との差が、記憶された閾値より大きい場合に、バーコード読取装置をバーコードに対して水平方向へ移動させる操作を行っていると判断する。このため、バーコード読取装置をバーコードに対して水平方向へ移動させていること正確に検出することができる。
【００１２】
請求項５のバーコード読取装置では、バーコード読取装置の移動操作中かを判断するための閾値を登録することができるため、バーコードの種類に対応させた閾値を設定することで、種々のバーコードを迅速に読み取ることができる。
【００１３】
請求項５のバーコード読取装置では、バーコード読取装置を近づける操作を行っていると判断された場合に、操作中を報知することで、アドオンバーコードがデコード可能になるまで待機状態にあることを操作者に知らしめることが可能になる。
【００１４】
請求項７のバーコード読取装置では、バーコード読取装置を水平方向へ移動させる操作を行っていると判断された場合に、操作中を報知することで、アドオンバーコードがデコード可能になるまで待機状態にあることを操作者に知らしめることが可能になる。
【発明を実施するための最良の形態】
【００１５】
[第１実施形態]
以下、本発明の第１実施形態に係るバーコード読取装置の構成を図１及び図２を参照して説明する。図１はバーコード読取装置１０の断面を示している。バーコード読取装置１０は握り部を兼用する操作部１２、例えば液晶からなる表示部１４などを備えている。操作部１２には、例えば複数のキースイッチ１６が設けられ、これらキースイッチ１６により、動作内容を指示するようになっている。この操作部１２には、キースイッチ１６に加えて、読取り開始を指示するためのトリガースイッチ１８が設けられている。
【００１６】
バーコード読取装置１０の筐体６０内にはプリント配線基板２０が固定されており、そのプリント配線基板２０の一方の面にキースイッチ１６がマトリクス状に搭載されている。また、プリント配線基板２０の他方の面には受光素子で有るＣＣＤを直線的に配列したラインセンサ３２が立設して実装されている。
【００１７】
筐体６０の前端に形成された開口部（読取口）６２には光学系ユニット３０が配設されており、筐体６０内において光学系ユニット３０の光軸上となる位置に反射鏡３４が配設されていると共に、反射鏡３４により折曲げられた光軸上にラインセンサ３２が位置している。検出対象物は光学系ユニット３０及び反射鏡３４を介してラインセンサ３２に結像されるようになっている。
【００１８】
読取口６２近傍のプリント配線基板２２の中央には孔２２ａが形成されており、その孔２２ａの周囲に複数の照明用ＬＥＤ３８が搭載されている。プリント配線基板２２に形成された孔２２ａにはレンズユニット３６が装着されている。このレンズユニット３６は、検出対象物からの反射光を集光する結像レンズ３６ａと、照明用ＬＥＤ３８からの光を正面に投光するための集光レンズ３６ｂとを一体にして形成されている。
【００１９】
次に、第１実施形態に係るバーコード読取装置の回路構成を図２のブロック図を参照して説明する。
バーコード読取装置１０にはメモリ３５、制御回路４０、キースイッチ１６、トリガースイッチ１８、液晶表示器１４等のマイクロコンピュータ（以下「マイコン」という）系が収容されている。
【００２０】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、制御回路４０、キースイッチ１６、トリガースイッチ１８、ＬＥＤ４３、ブザー４４、液晶表示器１４、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５を中心に構成されるもので、光学系によって撮像された画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該バーコード読取装置１０の全体システムに関する制御も行っている。
【００２１】
光学系のラインセンサ３２から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、制御回路４０へ入力される。
【００２２】
制御回路４０は、バーコード読取装置１０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、キースイッチ１６、トリガースイッチ１８、ＬＥＤ４３、ブザー４４、液晶表示器１４、通信インタフェース４８等が接続されている。制御回路４０は、バーコードを読み取った結果を、通信インタフェース４８を介して図示しない上位機器（例えばコンピュータ）側へ出力するよう構成されている。
【００２３】
次に、第１実施形態での読み取りの対象となるバーコードの構成について説明する。アドオンバーコードを付加したＷＰＣ系バーコードの一例を図１０に示す。同図において、右側のバーコードａをメインバーコードといい、右側に付加するバーコードをアドオンバーコードｂという。このうち、メインバーコードの左右両側には、ガイドパターンが存在し、アドオンバーコードには、左側にだけガイドバーパターンが存在する。
【００２４】
図１０の例では、ガイドバーパターンは、メインバーコードａについては左右両側に存在し、左右両側に下の方に長く突出した２本の黒いバー（以下、黒バー）と、これらに挟まれた１本の白いバー（以下、白バー）の合計３本のバーでガードバーが構成されている。アドオンバーコードｂについては、ガイドバーパターンは、左側にだけ存在し、左側２本の黒バーと、これらに挟まれた白バーの３本のバーの合計３本のバーによってガイドバーが構成されている。なお、第１実施形態では、黒バー間の空白部分を白バーとし、１本のバーとして数える。
【００２５】
そして、メインバーコードａにおいて、右側のガードバーパターンに隣接する白バーを含めて当該白バーから左に向かって４本目の黒バーまでが最終キャラクタであり、アドオンバーコードｂにおいて、左側のガードバーパターンに隣接する白バーを含めて当該白バーから右に向かって４本目の黒バーまでが第１キャラクタである。
【００２６】
第１実施形態では、メイン側のバーコードをデコードした後、そのメイン側のバーコードの右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコードの左端から右に向かって一定本数のバーの幅を求めて予め設定された式により比較値を演算し、比較値が基準値に対して所定の範囲内にあるとき、メインバーコードにアドオンバーコードが付加されていると判断する。このため、偶然にアドオンバーコードの第１キャラクタが存在する位置に、メイン側のバーコードの最終キャラクタに似た縞模様が存在していた場合、これをアドオンバーコードと判断する確率は極く低くなるので、その縞模様をアドオンバーコードとしてデコードするようなことはほとんどなく、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。
【００２７】
更に第１実施形態では、基準値を求めるために定められたバー本数および比較値を求めるために定められたバー本数は、メインバーコードおよびアドオンバーコードの並び構成を基に、メインバーコードの一定本数のバーの幅を式に当てはめて求めた基準値と、アドオン側の一定本数のバーの幅を式に当てはめて求めた比較値との差が、最小幅のバーの幅以下となる本数に定められている。この基準値および比較値を求めるためのバーの一定本数について、以下に具体的に記載する。
【００２８】
Ａ．ガードバーパターンが黒、白、黒の３本のバーによって構成されるＥＡＮ−８、ＥＡＮ−１３、ＵＰＣ−Ａ
（１）アドオンバーコード２桁の場合
(i）メインバーコードとアドオンバーコードの双方共に３本目（ガードバー部分とキャラクタとの境目）まで
(ii）メインバーコードとアドオンバーコードの双方共に７本目（１キャラクタと２キャラクタとの境目）まで
（２）アドオンバーコード５桁の場合
(i)メインバーコードとアドオンバーコードの双方共に３本目（ガードバー部分とキャラクタとの境目）まで
(ii)メインバーコードとアドオンバーコードの双方共に７本目（１キャラクタと２キャラクタとの境目）まで
(iii)メインバーコードが１９本目までとアドオンバーコードが２１本目まで
【００２９】
Ｂ．ガードバーパターンが黒、白、黒、白、黒、白の６本のバーによって構成されるＵＰＣ−Ｅ
（１）アドオンバーコード２桁の場合
(i)メインバーコードが３〜５本目までとアドオンバーコードが３本目（ガードバーと１キャラクタとの境目）まで。特にメインバーコードが４本目までを採用すると、規格上の合計幅がアドオンバーコードと同幅になる。
(ii)メインバーコードが９本目までとアドオンバーコードが７本目（１キャラクタ目と２キャラクタ目との境界）まで
（２）アドオンバーコード５桁の場合
(i)メインバーコードが３〜５本目までとアドオンバーコードが３本目（ガードバーと１キャラクタとの境目）まで
(ii)メインバーコードが９本目までとアドオンバーコードが７本目（１キャラクタ目と２キャラクタ目との境界）まで
(iii)メインバーコードとアドオンバーコードの双方共に１３本目（ガードバー部分とキャラクタとの境目）まで
(iv)メインバーコードが１７本目までとアドオンバーコードが１５本目、ただし、アドオンバーコードの１５本目は減算する。
【００３０】
このように基準値および比較値を求めるためのバーの本数を設定すれば、メインバーコード側から求められる基準値とアドオンバーコード側から求められる比較値とが、バーの最小幅（１モジュール）以下の差でほぼ一致するので、精度の高い比較位置を得ることができる。
【００３１】
第１実施形態では、アドオン側のバーコードの左端から右に向かって一定本数未満の数のバーの幅を加算した値が、基準値に対して所定の範囲を越えたとき、アドオンバーコードは付加されていないと判断する。この構成によれば、アドオン側のバーコード（に似たもの）の一部分しかバーコード読取装置の読取口に入っていない場合、その一部分に異常に幅の広いバー（に似た部分）が存在するようなときには、アドオンバーコードではないと判断するので、アドオンバーコードでないものを、早くアドオンバーコードでないと判断することができる。
【００３２】
更に、第１実施形態では、アドオンバーコードが無いと判断した際も、更に、アドオンバーコードの読み落しが無いかの判断を行う。即ち、図１２（Ａ）に示すように、離れた位置からバーコード読取装置１０の読取口６２をバーコードに近づけていく操作を行っている最中において、バーコードのメインバーコードａのみがデコードされ、この時点でアドオンバーコードｂがメインバーコードａを撮像した画像中に掛かっていない場合がある。このような時では、上述した処理のみでは、アドオンバーコードｂの読み落しが発生する。同様に、図１２（Ｂ）に示すよう、バーコード読取装置の操作に慣れない操作者が、読取口６２をバーコードに沿って水平方向（バーに対する垂直方向）へ移動させながらバーコードの読み取りを試みた場合、読取口６２にメインバーコードａのみが入ってしまい、アドオンバーコードｂの読み落しが発生する。係るアドオンバーコードの読み落しを防止するため、メインバーコードをデコードした画像からアドオンバーコードが無いと判断した際も、更に、バーコード読取装置の近接方向、水平方向への操作によって、アドオンバーコードを読み落していないかの判断を行う。
【００３３】
引き続き、バーコードを読み取る場合の制御回路４０の作用を図３〜図７に示すフローチャートを参照しながら説明する。ここで、読取対象となるメイン側のバーコードは、ＷＰＣ系バーコードで、ＥＡＮ−１３、ＥＡＮ−８、ＵＰＣ−Ａ、ＵＰＣ−Ｅの４種類であるとする。
【００３４】
読み取るべきバーコードに読取口６２を当ててトリガースイッチ１８により読取動作をスタートさせる。すると、照明用ＬＥＤ３８が点灯してバーコード（ラベル）を照明し、その反射光が結像レンズ３６ａによってＣＣＤラインセンサ３２に結像される（図３に示すＳ１２）。そして、制御回路４０は、ＣＣＤラインセンサ３２が受光したバーコードの画像を２値化してメモリ３５のＲＡＭに記憶させ（Ｓ１４）、その後、２値化データに基づいてメイン側に位置するバーコードをデコードしてメモリ３５内のＲＡＭに記憶する（Ｓ１６）。
【００３５】
次に、制御回路４０は、デコードしたメイン側のバーコードの種類を判別し（Ｓ１８）、ガードバーの本数が２本であるもの、すなわちＵＰＣ−Ａ、ＥＡＮ−８、ＥＡＮ−１３である場合には、右端から７本目までの各バーの幅Ｂ１〜Ｂ７を求め、基準値Ｘを予め設定された次の（１）式によって求める（Ｓ２０）。また、ガードバーの本数が６本であるもの、すなわちＵＰＣ−Ｅである場合には、右端から１０本目までの各バーの幅Ｂ１〜Ｂ１０を求め、基準値Ｘを予め定められた次の（２）式によって求める（Ｓ２２）。
【００３６】
Ｘ＝Ｂ７＋Ｂ６＋Ｂ５＋Ｂ４＋Ｂ３＋Ｂ２＋Ｂ２＋Ｂ１…（１）
Ｘ＝Ｂ１０＋Ｂ９＋Ｂ８＋Ｂ７＋Ｂ６＋Ｂ５＋Ｂ４＋Ｂ３＋Ｂ２−Ｂ１…（２）
なお、上記（１）式、（２）式において、Ｂに付した添字の数字は右端からの並び順を示すもので、１が右端のバー、以下、２、３、……が右端から２番目、３番目、……のバーを示す。
【００３７】
これら（１）式および（２）式の意味は次の通りである。まず、この実施形態では、アドオンバーコードが付加されているか否かの判断を、メイン側のバーコードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて基準値Ｘを演算すると共に、アドオン側のバーコードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて比較値Ｚを演算し、そして、比較値Ｚが基準値Ｘに対して一定範囲、例えば基準値Ｘの８０％〜１２０％の範囲内にあるか否かによって行うように構成している。
【００３８】
バーコードにおいては、幅の異なる複数種のバーが使用されているが、そのうちの最小の幅を１モジュールと呼ぶ。図８、図９に示すように、アドオンバーコードｂでは、左端から右に向かって７本目まで（ガイドバー部分および第１キャラクタ部分）のバーの幅の合計値は１１モジュールに定められている。
【００３９】
一方、メインバーコードａにおいて、ガードバーパターンが３本のバーから構成されているＵＰＣ−Ａ、ＥＡＮ−８およびＥＡＮ−１３では、図８に示すように、ガイドバーパターンおよび最終キャラクタは合計７本のバーで構成され、その７本のバーの合計幅は１０モジュールに定められ、且つガードバーパターンの各バーの幅は１モジュールに定められているので、上記（１）式のように、７本のバーの幅を合計し、更に１モジュール幅である１本のガイドバー（例えば、右端から２番目のバー）の幅を加算することによって１１モジュールの幅を得ることができる。
【００４０】
また、ガードバーパターンの本数が６本であるＵＰＣ−Ｅでは、図９に示すように、ガイドバーパターンおよび最終キャラクタは合計１０本のバーで構成され、その１０本のバーの合計幅は１３モジュールに定められ、且つガイドバーパターン各バーの幅は１モジュールに定められているので、上記（２）式のように、１０本のバーの幅を合計し、１モジュール幅である１本のガイドバー（例えば、右端のバー）の幅を加算することによって１１モジュールの幅を得ることができる。以上のことから、アドオン側のバーコードの左端から７本目までのバーの幅の加算値Ｙを基準値Ｘと比較することによって、アドオンバーコードの付加の有無を判断できるものである。
【００４１】
Ｘの値を演算した後、制御回路４０は、メイン側のバーコードとアドオン側のバーコードとの間に存在するギャップ幅Ｇを求め（Ｓ２４）、そのギャップ幅Ｇと基準値Ｘとを比較し、ＧがＸに対してその１２０％（ほぼ１３．２モジュール）以内と定められた許容範囲に入っているか否かを判断する（Ｓ２６）。
【００４２】
なお、アドオンバーコードが付加されていない場合、ＣＣＤラインセンサ３２はメイン側のバーコードの右側を白として読み取るので、制御回路４０はメイン側のバーコードの右側の広い白部分（読取口６２の右端まで）をギャップと判断してその幅を演算する。
【００４３】
ギャップ幅Ｇが許容範囲から外れている場合には、制御回路４０は、Ｓ２６：Ｎｏと判断してアドオンバーコードは付加されていないと判断し（図５に示すＳ７６）、そして、後述するＳ７６〜Ｓ８２のバーコード読取装置を操作中かの判断を経て、メイン側のデコードデータを上位機器に転送し（Ｓ８６）、エンドとなる。
【００４４】
ギャップ幅Ｇが許容範囲内にある場合には、制御回路４０は、Ｓ２６:Ｙｅｓと判断し、次にアドオン側に１本目のバーが存在するか否かを判断する（Ｓ３２）。１本目のバーが存在しない場合には、制御回路４０は、Ｓ３２：Ｎｏとなって上記Ｓ７６〜Ｓ８６を順に実行しエンドとなる。
【００４５】
１本目のバーが存在する場合には、制御回路４０は、Ｓ３２:Ｙｅｓとなり、アドオン側のバー幅の加算値Ｙを０にセットし（Ｓ３４）、Ｙに１本目のバーの幅ｂ１を加算する（Ｓ３６）。次いで、制御回路４０は、アドオン側に２本目のバーが存在するか否かを判断し（図４に示すＳ３８）、存在する場合には、バー幅の加算値Ｙに２本目のバーの幅ｂ２を加算する（Ｓ４０）。以下、３本目以降、７本目までのバーの存在を逐次判断し（Ｓ４２、４６、５２、５６、６０）、いずれのバーも存在する場合、順次バーの幅を累計して行き（Ｓ４４、５０、５４、５８、６２）、そして、７本目までのバーの幅の加算値Ｙ（比較値Ｚ）と基準値Ｘとを比較し、ＹがＸの８０％〜１２０％と定められた許容範囲に入っているか否かを判断する（図５に示すＳ６４）。
【００４６】
７本のバーの幅の加算値Ｙが上記許容範囲内にある場合には（Ｓ６４:Ｙｅｓ）、制御回路４０は、アドオンバーコードが存在すると判定し（Ｓ６６）、そして、アドオンバーコードをデコードしてメモリ３５のＲＡＭに記憶し（Ｓ６８）、次いでメインバーコードおよびアドオンバーコードのデコードデータを上位機器（コンピュータ）に転送し（Ｓ７０）、エンドとなる。
【００４７】
また、７本のバーの幅の加算値Ｙが上記許容範囲から外れていた場合には（Ｓ６４：Ｎｏ）、制御回路４０は、アドオンバーコードではないと判定し（Ｓ７６）、次いで、後述するＳ７８〜Ｓ８２でのバーコード読取装置操作中かの判断処理を経て、メイン側のバーコードのデコードデータを上位機器に転送し（Ｓ８６）、エンドとなる。
【００４８】
一方、２本目以降のバーが存在するか否かを判断するステップにおいて、存在していないと判断した場合（Ｓ３８、Ｓ４２、Ｓ４６、Ｓ５２、Ｓ５６、Ｓ６０の各ステップ：Ｎｏ）、制御回路４０は、Ｓ７２に移行し、ここで加算値Ｙが基準値Ｘの１２０％以下であるか否かを判断し、Ｘの１２０％を越えている場合（Ｓ７２：Ｎｏ）には、前述のＳ７６に移行してアドオンバーコードではないと判定した後、後述するＳ７８〜Ｓ８２でのバーコード読取装置操作中かの判断処理を経て、メイン側のバーコードのデコードデータを転送し（Ｓ８６）、エンドとなる。
【００４９】
バーの幅の加算値Ｙが基準値Ｘの１２０％以内にある場合には（Ｓ７２:Ｙｅｓ）、制御回路４０は、Ｓ７４に移行し、ここでブザー４４を鳴動させる。
【００５０】
引き続き、Ｓ７６で上述した画像からアドオンバーコード無しと判断した後、更に、図１２（Ａ）を参照して上述したように読取口をバーコードに近接させる最中にメインバーコードのみをデコードしたのでは無いかの判断を行う。この判断のため、先ず、ラインセンサ３２の読み取り視野（操作ライン）１mmのバー幅値を算出する（Ｓ７８）。
ここでは、図１３中に示すＷ：メインバーコードを構成するバー幅の測定値、Ｄ：寸法１．０倍と想定したラベル幅とし、（３）式により算出する。
操作ライン１mmのバー幅値＝Ｗ／Ｄ  …（３）
【００５１】
ここで、寸法１．０倍とは、規格値を縮小拡大せずに使用している場合を意味し、０．８倍まで縮小している場合には、寸法０．８倍と呼ぶ。例えばＥＡＮ−１３／ＵＰＣ−Ａで寸法１．０倍の場合には３４．１mmで（４）式になる。なお、ＥＡＮ−８では２２．１mm、ＵＰＣ−Ｅでは１８．０mmになる。
操作ライン１mmのバー幅値＝Ｗ／３４．１mm  …（４）
【００５２】
なお、第１実施形態では、予め読み取り深度（読取口からバーコードまでの距離）と、操作ライン１mmのバー幅値との例えば下記のような対応関係が深度データ[深度とバー幅の関係表Ｗ１００＿？]としてメモリ３５に保持されている。
距離００mm：操作ライン１mmのバー幅値：５１１（センサの出力波形を測定した値）
距離１０mm：操作ライン１mmのバー幅値：４５６（センサの出力波形を測定した値）
距離２０mm：操作ライン１mmのバー幅値：４２１（センサの出力波形を測定した値）
【００５３】
引き続き、算出した操作ライン１mmのバー幅値に基づき、バーコード読取装置をバーコードに向けて近接させる操作を行っているかを判断する（Ｓ１００）。Ｓ１００の深度で操作中の判断処理（１）での処理について、当該処理のサブルーチンを示す図６を参照して説明する。
【００５４】
先ず、Ｓ７８で算出した１mmのバー幅値から、メモリ３５に保持されている操作ライン１mmのバー幅値と取り深度との深度データ[深度とバー幅の関係表Ｗ１００＿？]から深度[Ｈ？]を求める（Ｓ１０２）。そして、操作を開始したところであるか（メインバーコードのデコードの１回目）を判断する（Ｓ１０４）。深度Ｈを１回しか求めていない場合には（Ｓ１０４：Ｙｅｓ）、近接方向への操作中かの判断が不可能であるため、操作開始の登録を行い（Ｓ１１４）、上記Ｓ１０２で求めた距離[Ｈ？]をメモリに距離[Ｈ＿Ｂ]としてバックアップし（Ｓ１１６）、現在の時間、デコードを行った回数を初期化し（Ｓ１１８）、１回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図５のＳ７６でのアドオンバーコード無しの判定を無効にする（Ｓ１２０）。これにより、再度、スタートに戻り、再度Ｓ１２での光学的読取動作実行からの処理を開始する。
【００５５】
ここで、２回目以降のデコードの場合には（Ｓ１０４：Ｎｏ）、前回の比較から一定時間（或いはデコードの一定回数）経過したかを判断する（Ｓ１０６）。即ち、デコードは短い周期で繰り返されているため、デコード毎に深度を比較すると正確な判断が行いえないため、一定時間経過するまでは（Ｓ１０６：Ｎｏ）、Ｓ１２０へ移行し、アドオンバーコード無しの判定を無効にする。他方、深度の算出を行ったデコードから一定時間が経過（或いは一定回数のデコードの繰り返し）したら（Ｓ１０６：Ｙｅｓ）、今回の深度[Ｈ？]から前回の深度[Ｈ＿Ｂ]を減算し、移動距離を求める（Ｓ１０８）。そして、移動距離（絶対値）が所定閾値ＺＺよりも小さいかを判断する（Ｓ１１０）。ここで、移動距離として絶対値を用いるのは、バーコードへ近づける場合と共に遠ざける場合も操作中と判断するためである。ここで、移動距離（絶対値）が所定閾値ＺＺよりも大きい場合は（Ｓ１１０：Ｎｏ）、バーコード読取装置をバーコードに向けて、或いは、離れる方向へ操作中であるためＳ１１６へ移行し、Ｓ１１６、Ｓ１１８の処理を経て、アドオンバーコード無しの判定を無効にする（Ｓ１２０）。他方、で、移動距離（絶対値）が所定閾値ＺＺよりも小さい場合は（Ｓ１１０：Ｙｅｓ）、バーコード読取装置を上下に操作中していないと判断する（Ｓ１１２）。
【００５６】
深度で操作中の判断処理（１）での処理について、更に、図１３（Ｂ）を参照して具体的に説明する。
ここで、深度Ｐ１は、バーコード読取装置１０をバーコードに近づけて行き、メインバーコードのデコードが成功した位置（深度）を示している。深度Ｐ２は、上述したＳ１０６での一定時間経過後に、メインバーコードのデコードが成功した位置（深度）を示している。ここでは、深度Ｐ１と深度Ｐ２との差が、所定閾値ＺＺよりも大きくなるため、アドオンバーコード無しの判定が無効となり、深度Ｐ３で、メインバーコードとアドオンバーコードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。
【００５７】
Ｓ１００での深度（近接、離れ方向）で操作中の判断処理（１）後、図５のＳ８０での操作中かの判断が成される。ここで、深度方向への操作中は（Ｓ８０：Ｙｅｓ）、操作中であることをブザー４４の鳴動、ＬＥＤ４３の点灯により操作者に告知し、アドオンバーコードの読み取りができるまで待機していることを知らしめる。
【００５８】
他方、深度方向への操作中でない場合は（Ｓ８０：Ｎｏ）、図１２（Ｂ）を参照して上述した、水平方向に読取口を移動させることでアドオンバーコードを読み落していないかの判断を行う（位置で操作中の判定処理（２）：Ｓ２００）。
【００５９】
Ｓ２００の位置で操作中の判断処理（２）での処理について、当該処理のサブルーチンを示す図７を参照して説明する。先ず、Ｓ７８で算出した１mmのバー幅値から、上記Ｓ１０２で求めた深度[Ｈ？]に基づき、読み取り位置（読み取り操作ラインの端からラベル（バーコード）までの距離[Ｗ？]を算出する（Ｓ２０２）。そして、操作を開始したところであるか（メインバーコードのデコードの１回目）を判断する（Ｓ２０４）。距離[Ｗ？]を１回しか求めていない場合には（Ｓ２０４：Ｙｅｓ）、水平方向への操作中かの判断が不可能であるため、操作開始の登録を行い（Ｓ２１４）、上記Ｓ２０２で求めた距離[Ｗ？]をメモリに距離[Ｗ＿Ｂ]としてバックアップし（Ｓ２１６）、現在の時間、デコードを行った回数を初期化し（Ｓ２１８）、１回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図５のＳ７６でのアドオンバーコード無しの判定を無効にする（Ｓ２２０）。これにより、再度、スタートに戻り、再度Ｓ１２での光学的読取動作実行からの処理を開始する。
【００６０】
ここで、２回目以降のデコードの場合には（Ｓ２０４：Ｎｏ）、前回の比較から一定時間（或いはデコードの一定回数）経過したかを判断する（Ｓ２０６）。即ち、デコードは短い周期で繰り返されているため、デコード毎に移動距離[Ｗ？]を比較すると正確な判断が行いえないため、一定時間経過するまでは（Ｓ２０６：Ｎｏ）、Ｓ２２０へ移行し、アドオンバーコード無しの判定を無効にする。他方、深度の算出を行ったデコードから一定時間が経過（或いは一定回数のデコードの繰り返し）したら（Ｓ２０６：Ｙｅｓ）、今回の距離[Ｗ？]から前回の距離[Ｗ＿Ｂ]を減算し、移動距離を求める（Ｓ２０８）。そして、移動距離（絶対値）が所定閾値ＹＹよりも小さいかを判断する（Ｓ２１０）。ここで、移動距離として絶対値を用いるのは、バーコードに沿って、左右方向のいずれから近づける場合にも操作中と判断するためである。ここで、移動距離（絶対値）が所定閾値ＹＹよりも大きい場合は（Ｓ２１０：Ｎｏ）、バーコード読取装置を水平方向へ操作中であるため、Ｓ２１６へ移行し、Ｓ２１６、Ｓ２１８の処理を経て、アドオンバーコード無しの判定を無効にする（Ｓ２２０）。他方、移動距離（絶対値）が所定閾値ＹＹよりも小さい場合は（Ｓ２１０：Ｙｅｓ）、バーコード読取装置を左右に操作中していないと判断する（Ｓ２１２）。
【００６１】
当該位置で操作中の判断処理（２）の処理後、図５に示すＳ８２で更に水平方向への操作中かを判断し、水平方向への操作中は（Ｓ８２：Ｙｅｓ）、Ｓ８４へ移行し、ブザー４４の鳴動、ＬＥＤ４３の点灯する。一方、水平方向への操作中でない場合には（８２：Ｎｏ）、Ｓ７６でのアドオンバーコードでないとの判断を生かし、メインバーコードのデコード結果をコンピュータ側へ出力する（Ｓ８６）。
【００６２】
ここで、位置で操作中の判断処理（２）での処理について、更に、図１４を参照して具体的に説明する。
ここで、図１４（Ａ）に示す位置Ｐ４は、バーコード読取装置１０を図左方向からバーコードへ水平に近づけて行き、メインバーコードのデコードが成功した位置を表している。図１４（Ｂ）に示す位置Ｐ５は、上述したＳ２０６での一定時間経過後に、メインバーコードのデコードが成功した位置を表している。ここでは、位置Ｐ４と位置Ｐ５との差が、所定閾値ＹＹよりも大きくなるため、アドオンバーコード無しの判定が無効となり、図１４（Ｃ）に示す位置Ｐ６で、メインバーコードとアドオンバーコードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。
【００６３】
第１実施形態のバーコード読取装置１０では、アドオンバーコードがメインバーコードに付加されているかを判断し（Ｓ６４）、アドオンバーコードが付加されている場合には（Ｓ６４：Ｙｅｓ）、メインバーコード及びアドオンバーコードを読み取りコンピュータへ出力する（Ｓ７０）。他方、読み取った画像にはアドオンバーコードが付加されていない場合には（Ｓ６４：Ｎｏ）、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断し（Ｓ１１０）、バーコード読取装置を近づける操作を行っていない場合に（Ｓ１１０：Ｙｅｓ）、メインバーコードのみを読み取りコンピュータへ出力する（Ｓ８６）。そして、バーコード読取装置を近づける操作を行っている限り（Ｓ１１０：Ｎｏ）、アドオンバーコードが付加されているかの判断を続ける（Ｓ１２０）。このため、バーコード読取装置の読取口をバーコードに向けて近づけている最中に、アドオンバーコードが付加されているバーコードに対してメインバーコードのみの画像を取り込んだ場合にも、アドオンバーコードが読み取れる状態になるまで待機でき、アドオンバーコードの読み飛ばしが無くなる。他方、バーコード読取装置の読取口をバーコードに向けて近づけていない場合には、アドオンバーコードが付加されていないと判断することで、アドオンバーコードが読み取り可能になるまでの待機時間が無くなり、直ちにメインバーコードのデコード結果を出力できる。
【００６４】
第１実施形態のバーコード読取装置１０では、メインバーコードを読み取った画像にアドオンバーコードが付加されていない場合には（Ｓ６４：Ｎｏ）、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断し（Ｓ１１０）、バーコード読取装置を近づける操作を行っていない場合に（Ｓ１１０：Ｙｅｓ）、更に、バーコード読取装置をバーコードに対して水平方向へ移動させる操作を行っているか否かを判断する（Ｓ２１０）。そして、バーコード読取装置を水平方向へ移動させる操作を行っていない場合に（Ｓ２１０：Ｙｅｓ）、メインバーコードのみを読み取りコンピュータへ出力する（Ｓ８６）。他方、バーコード読取装置を水平方向へ移動させる操作を行っている限り（Ｓ２１０：Ｎｏ）、アドオンバーコードが付加されているかの判断を続ける（Ｓ２２０）。このため、バーコード読取装置の読取口をバーコードに対向するよう水平方向に移動している最中に、アドオンバーコードが付加されているバーコードに対してメインバーコードのみの画像を取り込んだ場合にも、アドオンバーコードが読み取れる状態になるまで待機でき、アドオンバーコードの読み飛ばしが無くなる。他方、バーコード読取装置の読取口を水平に移動していない場合には、アドオンバーコードが付加されていないと判断することで、アドオンバーコードが読み取り可能になるまでの待機時間が無くなり、直ちにメインバーコードのデコード結果を出力できる。
【００６５】
また、第１実施形態では、図１１（Ａ）に示すように、アドオンバーコードが付随されていたが、そのアドオンバーコードが読取口６２内に完全に入っておらず、右側部分のバーを光学的に読み取ることができなかった場合には、Ｓ３８、Ｓ４２、Ｓ４６、Ｓ５２、Ｓ５６、Ｓ６０のいずれか：Ｎｏと判断される可能性がある。そこで、上記のようにブザー４４を鳴動させれば、使用者は、ブザー音をバーコードが読取口６２から外れていることの注意報と理解し、読取口６２の中にメインバーコードとアドオンバーコードとが入るようにバーコード読取装置１０を動かし、そしてトリガースイッチ１８により読取動作を再スタートさせるようになる。これにより、上述のようにしてメインバーコードとアドオンバーコードとを上位機器（コンピュータ）に転送することができる。
【００６６】
このように第１実施形態によれば、アドオン側の７本のバーの幅の加算値Ｙ（比較値Ｚ）が、メイン側のバーコードの１１モジュール分の基準値Ｘを基準にした許容範囲内に入っているか否かによってアドオンバーコードが付随されているか否かを判断するので、事前にアドオンバーコードの付随の有無を判別する運用ルールを取り交わす必要がなく、バーコード情報だけに基づいてアドオンバーコードの存在の有無を早く判断できる。また、アドオンバーコードの付加の有無を判別せずに、常に一定時間をかけてアドオン側に対してデコード処理を実施するものに比べて、特に、アドオンバーコードが付加されていない場合の読取処理速度を早くすることができる。
【００６７】
また、基準値Ｘをメイン側のバーコードの右側のガードバーパターンと最終キャラクタとを含む一定本数のバーの幅から求め、比較値Ｚ（加算値Ｙ）をアドオン側の左側のガードバーパターンと第１キャラクタとを含む一定本数のバーの幅から求めるので、最終キャラクタと第１キャラクタとを比較するものに比べ、隣どうしの距離的に近い、より多くのバーからＸとＹとを求めることとなり、バーコードラベルを貼り付けてある部分が膨らんで湾曲していたりしていても、バーコードラベルの湾曲によるバー幅変化の影響を最小限に止めてアドオンバーコードの付加の有無をより正確に判断することができる。
【００６８】
また、図１１（Ｂ）に示すように、アドオン側のバーコードは、左端のバーの幅が極端に幅広く、このようなものはアドオンバーコードではない。ところが、メイン側のバーコードの最終キャラクタの幅とアドオン側の第１キャラクタの幅とを比較する従来方法では、左端の幅広のバーの幅は考慮しないので、図１１（Ｂ）の場合、右側の縞模様をアドオンバーコードと誤判断してしまう。
【００６９】
これに対し、第１実施形態では、アドオン側のバーコードの左端から７本目までのバーの幅の加算値Ｙを基準値Ｘと比較するので、図１１（Ｂ）の右側の縞模様はアドオンバーコードではないと正しく判断し、無駄なデコード処理のために多くの時間を費やすことを防止できる。
【００７０】
また、図１１（Ｃ）のように、メイン側のバーコードと、その右側に存在するバーコードとの間には大きなギャップが存在しており、このような大きなギャップを存しているバーコードはアドオンバーコードではない。第１実施形態では、メイン側のバーコードとアドオン側のバーコードとの間のギャップ幅ＧがＸと比較して広過ぎる場合、アドオンバーコードではないと判断するので、無駄なデコード処理のために多くの時間を費やすことを防止できる。
【００７１】
このことに関連して、図１１（Ｄ）に示すように、一つのバーコードの下側に、アドオンバーコード付きバーコードが存在するとして、読取口６２を斜めに当てて同図にＬで示す線に沿って光学的に読み取りを行ってしまった場合、従来では、上段のバーコードにアドオンバーコードが付加されているとしてデコードしてしまうが、第１実施形態では、ギャップが広過ぎるとしてアドオンバーコードではないと判断できる。
【００７２】
また、第１実施形態では、アドオン側のバーの幅を左側１本目から順次累計して行き、７本目のバーに至るまでの途中で、その加算値Ｙが許容範囲を越えたとき、アドオンバーコードでないと判定するので、以後のアドオンバーコードの有無を判断するための処理を省略することができる。
【００７３】
なお、上述した閾値ＺＺ、ＹＹの値は、メモリ３５に登録、切り換えが出来るように構成されている。バーコードの種類に対応させた閾値を設定することで、種々のバーコードを迅速に読み取ることができる。
【００７４】
第１実施形態では、距離（深度）をメインバーコード全体の長さに基づいて決定したが、メインバーコードの一部、例えば、上述した基準値Ｘに基づき求めることも可能である。更に、上述した第１実施形態では、予め深度と操作ライン１mmのバー幅値との対応関係をメモリに保持したが、対応関係を保持せず、例えば、基準値Ｘの画像上での大きさの変化に基づき、近接方向への操作を検出することも可能である。
【００７５】
更に、第１実施形態では、距離を予め求め、位置の変化距離を算出したが、メインバーコードの特定部位のラインセンサの画像上での変化量から水平方向への操作を検出することも可能である。
【産業上の利用可能性】
【００７６】
上述した第１実施形態では、バーコード専用のバーコード読取装置に本発明の構成を適用した例を挙げたが、バーコード等の一次元コードと共に二次元コードも読み取り可能な光学情報読取装置に本願発明の構成を適用可能であることは言うまでもない。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１実施形態に係るバーコード読取装置の構成を示す断面図である。
【図２】第１実施形態のバーコード読取装置の電気的構成を示すブロック図である。
【図３】第１実施形態のバーコード読取装置での処理を示すフローチャートである。
【図４】第１実施形態のバーコード読取装置での処理を示すフローチャートである。
【図５】第１実施形態のバーコード読取装置での処理を示すフローチャートである。
【図６】深度で操作中の判断処理（１）でのサブルーチン処理を示すフローチャートである。
【図７】位置で操作中の判断処理（２）でのサブルーチン処理を示すフローチャートである。
【図８】ガードバーパターンの一例を示す図である。
【図９】ガードバーパターンの他の例を示す図である。
【図１０】アドオンバーコード付きバーコードの一例を示す図である。
【図１１】図１１（Ａ）はアドオンバーコードの一部が読取口から外れた状態を示す図であり、図１１（Ｂ）はアドオンバーコード側のバーコードの左端のバーが異常に太い状態を示す図であり、図１１（Ｃ）はメインバーコードとアドオンバーコードとが離れ過ぎている状態を示す図であり、図１１（Ｄ）はバーコードが二段に印刷されている状態を示す図である。
【図１２】バーコード読取装置の操作中に生じ得るアドオンバーコードの読み落しの説明図である。
【図１３】深度で操作中の判断処理（１）の説明図である。
【図１４】位置で操作中の判断処理（２）の説明図である。
【符号の説明】
【００７８】
１０  バーコード読取装置
３２  ラインセンサ
３５  メモリ
４０  制御回路
６２  読取口
Ｓ１４
Ｓ１６、Ｓ６８  メイン・アドオンバーコードデコード手段
Ｓ１６、Ｓ８６  メインバーコードデコード手段
Ｓ６４  アドオンバーコード判断手段
Ｓ１１０  近接方向操作判断手段
Ｓ１２０  再判断手段
Ｓ２２０  再判断手段
【図１】
0004951745.tif 000002
【図２】
0004951745.tif 000003
【図３】
0004951745.tif 000004
【図４】
0004951745.tif 000005
【図５】
0004951745.tif 000006
【図６】
0004951745.tif 000007
【図７】
0004951745.tif 000008
【図８】
0004951745.tif 000009
【図９】
0004951745.tif 000010
【図１０】
0004951745.tif 000011
【図１１】
0004951745.tif 000012
【図１２】
0004951745.tif 000013
【図１３】
0004951745.tif 000014
【図１４】
0004951745.tif 000015