JP2012155384A - 光学的情報読取装置 - Google Patents

光学的情報読取装置 Download PDF

Info

Publication number
JP2012155384A
JP2012155384A JP2011011680A JP2011011680A JP2012155384A JP 2012155384 A JP2012155384 A JP 2012155384A JP 2011011680 A JP2011011680 A JP 2011011680A JP 2011011680 A JP2011011680 A JP 2011011680A JP 2012155384 A JP2012155384 A JP 2012155384A
Authority
JP
Japan
Prior art keywords
code
barcode
add
bar
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011011680A
Other languages
English (en)
Other versions
JP5644538B2 (ja
Inventor
Koichi Yano
光一 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2011011680A priority Critical patent/JP5644538B2/ja
Publication of JP2012155384A publication Critical patent/JP2012155384A/ja
Application granted granted Critical
Publication of JP5644538B2 publication Critical patent/JP5644538B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】アドオンバーコードの存在有無に関する判定の正確性を向上させ得る光学的情報読取装置を提供する。
【解決手段】受光信号に第1コードと第2コードの2つの一次元コードが含まれる場合に、第1コードの配列方向L2と読取ラインL1との傾斜角度θか、第2コードと第1コードとの配列方向L2に直交する方向における距離である垂線長Dが算出される。そして、ギャップ幅Gが第2コードをアドオンバーコードとみなし得る閾値である基準値Xの120%以上でありS64にてYesと判定され、傾斜角度θが角度閾値θt以下か垂線長Dが垂線長閾値Dt以下である場合に、第2コードがアドオンバーコードBaであると判定される。そして、第2コードがアドオンバーコードBaであると判定される場合に、第1コードがメインバーコードBmであり、第2コードをアドオンバーコードBaとしてデコード処理が行われる。
【選択図】図17

Description

本発明は、バーコードなどの一次元コードを光学的に読み取る光学的情報読取装置に関し、特にアドオンバーコードをメインバーコードに付加した一次元コードを読み取り可能な光学的情報読取装置に関するものである。
例えば、小売店のチェックアウト業務、在庫管理、生産ラインにおける工程管理など、各種の用途にバーコード認識技術が利用されている。通常、小売店で販売される商品には、一次元コードとして、EAN−13、EAN−8、UPC−A、UPC−EなどのWPC(ワールド・プロダクト・コード)系バーコードを適用する場合が多い。これらのWPC系のバーコードには、メインバーコードの右側にアドオン(Add-On)バーコードを付加したバーコードが表示されることがある。このようなアドオンバーコード付きのバーコードをデコードするためには、通常のバーコードをデコードする機能に加えてアドオンバーコードをデコードする機能が必要となる。
WPCバーコードは、その規格上、アドオンバーコードが付加されているか否かに拘らず、常に同じバーコード構造を取るため、メイン側のバーコードをデコードしただけでは、アドオンバーコードが付加されているか否かの判別をすることができない。そこで、従来のバーコード読取装置では、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行していた。しかしながら、メイン側のバーコードをデコードした後、常に一定時間、アドオン側のバーコードの検出を実行する方法では、アドオンバーコードが付加されていない場合でも、必要のないアドオンバーコードの検出を行うため、読取処理に時間がかかる。
このため、下記特許文献1に開示されるバーコード読取装置では、メインバーコードのデコードが可能になったときに、当該メインバーコードとともにアドオンバーコードの一部が撮像された場合に、アドオンバーコードが読み取れるまで待機する。これにより、アドオンバーコードの読み落しを無くし、アドオンバーコードが付加されていないバーコードは直ちに読み取り結果が出力される。これにより、読取処理にかかる時間を短縮している。
また、下記特許文献2に開示されるバーコード読取装置では、アドオンバーコードがメインバーコードに付加されているか否かを判断し、読み取った画像にアドオンバーコードが付加されている場合には、メインバーコードおよびアドオンバーコードのデコード結果が出力される。そして、読み取った画像にアドオンバーコードが付加されていない場合には、バーコード読取装置をバーコードに対して近づける操作を行っているか否かを判断し、バーコード読取装置を近づける操作を行っていない場合には、メインバーコードのデコード結果のみが出力される。そして、バーコード読取装置を近づける操作を行っている限り、アドオンバーコードが付加されているかの判断が続けられる。これにより、バーコード読取装置の操作に起因するアドオンバーコードの読み落としを防止している。
特開2003−022416号公報 特開2009−193332号公報
ところで、一次元コードからの反射光は読取口を介して受光センサにて受光されるため、受光センサとして受光素子を一次元に配列したラインセンサが採用される場合に、読取口がバーコードの配列方向に対して傾いた状態で当該バーコードが読み取られると、受光センサによる読取ラインとバーコードの配列方向との角度が大きくなる場合がある。この場合、アドオンバーコードと異なるバーコードや模様等が、最初に読み取ったバーコードに対して本来アドオンバーコードが配置される位置からずれていても上記読取ライン上に表示されていると、この異なるバーコード等に基づいて、アドオンバーコードが存在すると誤判定してしまうという問題がある。
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、アドオンバーコードの存在有無に関する判定の正確性を向上させ得る光学的情報読取装置を提供することにある。
上記目的を達成するため、特許請求の範囲に記載の請求項1の光学的情報読取装置では、暗色パターンおよび明色パターンが複数配列されて構成されるメインバーコードとこのメインバーコードの近傍に付加されたアドオンバーコードとを1つの一次元コードとして光学的に読み取る光学的情報読取装置であって、一次元コードからの反射光を所定の読取ラインに沿い受光する受光手段と、前記受光手段から出力される受光信号に基づいて一次元コードのデコード処理を行うデコード手段と、前記受光信号に2つの一次元コードが含まれる場合に、読取方向1番目に位置する第1コードの配列方向と前記読取ラインとの角度と、読取方向2番目に位置する第2コードと前記第1コードとの前記配列方向に直交する方向における距離との少なくともいずれか1つを算出する算出手段と、前記第1コードと前記第2コードとの前記読取ラインに沿う方向における間隔が前記第2コードを前記アドオンバーコードとみなし得る閾値以上であって、前記算出手段による算出値が前記第2コードを前記アドオンバーコードとみなし得る閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定する判定手段と、を備え、前記デコード手段は、前記判定手段により前記第2コードが前記アドオンバーコードであると判定される場合に、前記第1コードが前記メインバーコードであり、前記第2コードを前記アドオンバーコードとしてデコード処理を行うことを特徴とする。
請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記算出手段は、前記角度および前記距離の双方を算出し、前記判定手段は、前記算出手段により算出される前記角度および前記距離の少なくともいずれか一方の算出値が前記閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定することを特徴とする。
請求項3の発明は、請求項2に光学的情報読取装置において、前記判定手段は、前記角度および前記距離の一方が第1の閾値以下である場合か、当該一方が前記第1の閾値より大きいときに前記角度および前記距離の他方が第2の閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定し、前記第1の閾値および前記第2の閾値は、前記一方が前記第1の閾値以下となる場合には常に前記他方が前記第2の閾値以下となるように設定されることを特徴とする。
請求項4の発明は、請求項1〜3のいずれか一項に記載の光学的情報読取装置において、前記算出手段は、前記角度を、前記受光手段から前記第1コードまでの離間距離と前記受光信号から求められる当該第1コードの幅値とから算出することを特徴とする。
請求項5の発明は、請求項1〜3のいずれか一項に記載の光学的情報読取装置において、前記算出手段は、前記距離を、前記間隔および前記角度から算出することを特徴とする。
請求項1の発明では、受光信号に2つの一次元コードが含まれる場合に、算出手段により、第1コードの配列方向と読取ラインとの角度と、第2コードと第1コードとの配列方向に直交する方向における距離との少なくともいずれか1つが算出される。そして、第1コードと第2コードとの読取ラインに沿う方向における間隔が第2コードをアドオンバーコードとみなし得る閾値以上であって、算出手段による算出値が第2コードをアドオンバーコードとみなし得る閾値以下である場合に、判定手段により、第2コードがアドオンバーコードであると判定される。そして、判定手段により第2コードがアドオンバーコードであると判定される場合に、デコード手段により、第1コードがメインバーコードであり、第2コードをアドオンバーコードとしてデコード処理が行われる。
第1コード等からの反射光が取り込まれる当該装置の読取口が第1コードの配列方向に対して傾いた状態で第1コード等が光学的に読み取られる場合には、第1コードの配列方向と読取ラインとの角度が比較的大きくなる。また、この場合、第1コードと第2コードとの配列方向に直交する方向の距離が比較的大きくなる。そこで、第1コードの配列方向と読取ラインとの角度と、第2コードと第1コードとの配列方向に直交する方向における距離とのいずれかに応じて、第2コードがアドオンバーコードであるか否かについて判定することで、当該装置の読取口が第1コードの配列方向に対して傾いた状態で第1コード等が読み取られる場合でも、アドオンバーコードがあると誤判断する確率を低くすることができる。
したがって、読取口が第1コードの配列方向に対して傾いた状態で読み取る場合でも、アドオンバーコードの存在有無に関する判定の正確性を向上させることができる。
請求項2の発明では、算出手段により、上述した角度および距離の双方が算出され、判定手段により、算出手段により算出される角度および距離の少なくともいずれか一方の算出値が上記閾値以下である場合に、第2コードがアドオンバーコードであると判定される。このように、算出手段により算出される角度および距離の双方を用いて第2コードがアドオンバーコードであるか否かについて判定するため、アドオンバーコードの存在有無に関する判定の正確性をさらに向上させることができる。
請求項3の発明では、第1の閾値および第2の閾値は、一方が上記第1の閾値以下となる場合には常に他方が上記第2の閾値以下となるように設定される。このため、角度および距離の一方が上記第1の閾値以下となる第1コードと第2コードとの位置関係では、常に、角度および距離の他方が上記第2の閾値以下となるので、上記一方を用いて第2コードがアドオンバーコードであると判定される場合には、常に、上記他方Dを用いて第2コードがアドオンバーコードであると判定される。したがって、2つの観点である角度および距離を用いてアドオンバーコードの存在有無を判定する構成でも、一方が上記第1の閾値以下となれば他方の算出が不要となるので、常に角度および距離を算出する場合と比較して処理負荷や処理時間を軽減することができる。
請求項4の発明では、算出手段により、上記角度が、受光手段から第1コードまでの離間距離と受光信号から求められる当該第1コードの幅値とから算出される。第1コードの実際の幅値は通常、規定値であることから、上記角度が0°の場合に第1コードからの反射光に応じた受光信号の波形に対し当該第1コードが占める幅値は、受光手段から第1コードまでの離間距離に応じて変化する。すなわち、上記角度は、上記離間距離と受光信号から求められる当該第1コードの幅値とから算出することができるため、新たな測定手段を別途用意することなく上記角度を容易に算出することができる。
請求項5の発明では、算出手段により、上記距離が、上記間隔および上記角度から算出されるため、新たな測定手段を別途用意することなく上記距離を容易に算出することができる。
本実施形態に係る光学的情報読取装置の構成を示す断面図である。 図1の光学的情報読取装置の電気的構成を示すブロック図である。 アドオンバーコード付きWPC系バーコードの一例を示す図である。 光学的情報読取装置の操作中に生じ得るアドオンバーコードの読み落しを例示する説明図である。 ラインセンサによる読取ラインとバーコードの配列方向との傾斜角度を例示する説明図である。 図6(A)は、図5(A)の傾斜角度に対応する受光波形を示す説明図であり、図6(B)は、傾斜角度が0°であるときの受光波形を示す説明図である。 図2の制御回路にて実施される読取処理の流れを例示するフローチャートの一部である。 図2の制御回路にて実施される読取処理の流れを例示するフローチャートの一部である。 図2の制御回路にて実施される読取処理の流れを例示するフローチャートの一部である。 深度で操作中の判断処理(1)でのサブルーチン処理を示すフローチャートである。 位置で操作中の判断処理(2)でのサブルーチン処理を示すフローチャートである。 アドオンバーコード有無判断処理でのサブルーチン処理を示すフローチャートである。 ガードバーパターンの一例を示す図である。 ガードバーパターンの他の例を示す図である。 深度で操作中の判断処理(1)の説明図である。 位置で操作中の判断処理(2)の説明図である。 図17(A)は、角度閾値を説明するための説明図であり、図17(B)は、垂線長閾値を説明するための説明図である。 図18(A)は、傾斜角度が角度閾値以下である状態を説明するための説明図であり、図18(B)は、垂線長が所定の垂線長閾値以下である状態を説明するための説明図である。 傾斜角度が角度閾値以下でなくかつ垂線長が所定の垂線長閾値以下でない状態を説明するための説明図である。 図20(A)は、アドオンバーコードの一部が読取口から外れた状態を示す図であり、図20(B)は、第2コードの左端のバーが異常に太い状態を示す図であり、図20(C)は、第1コードと第2コードとが離れ過ぎている状態を示す図である。
以下、本発明の光学的情報読取装置を具現化した一実施形態について図を参照して説明する。図1は、本実施形態に係る光学的情報読取装置10の構成を示す断面図である。
図1に示すように、光学的情報読取装置10は、黒バー(暗色パターン)および白バー(明色パターン)が複数配列されて構成されるバーコード等の一次元コードを光学的に読み取る読取装置であって、握り部を兼用する操作部12、例えば液晶からなる液晶表示器14などを備えている。操作部12には、例えば複数のキースイッチ16が設けられ、これらキースイッチ16により、動作内容を指示するようになっている。この操作部12には、キースイッチ16に加えて、読取り開始を指示するためのトリガースイッチ18が設けられている。
光学的情報読取装置10の筐体60内には、プリント配線基板20が固定されており、そのプリント配線基板20の一方の面にキースイッチ16がマトリクス状に搭載されている。また、プリント配線基板20の他方の面には、受光素子であるCCDを直線的に配列して構成される受光手段としてラインセンサ32が立設して実装されている。
筐体60の前端に形成された開口部(以下、読取口62という)には光学系ユニット30が配設されており、筐体60内において光学系ユニット30の光軸上となる位置に反射鏡34が配設されていると共に、反射鏡34により折曲げられた光軸上にラインセンサ32が位置している。検出対象物からの反射光は、読取口62を通して取り込まれ光学系ユニット30及び反射鏡34を介して、ラインセンサ32に結像されて受光されるようになっている。
読取口62近傍のプリント配線基板22の中央には孔22aが形成されており、その孔22aの周囲に複数の照明用LED38が搭載されている。プリント配線基板22に形成された孔22aにはレンズユニット36が装着されている。このレンズユニット36は、検出対象物からの反射光を集光する結像レンズ36aと、照明用LED38からの光を正面に投光するための集光レンズ36bとを一体にして形成されている。
次に、光学的情報読取装置10の回路構成を図2のブロック図を参照して説明する。
図2に示すように、光学的情報読取装置10には、メモリ35、制御回路40、キースイッチ16、トリガースイッチ18、液晶表示器14等のマイクロコンピュータ(以下「マイコン」という)系が収容されている。
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、制御回路40、キースイッチ16、トリガースイッチ18、LED43、ブザー44、液晶表示器14、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35を中心に構成されるもので、光学系からの受光信号(画像信号)をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学的情報読取装置10の全体システムに関する制御も行っている。
光学系のラインセンサ32から出力される受光信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された受光信号、つまり受光データは、制御回路40へ入力される。
制御回路40は、光学的情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、キースイッチ16、トリガースイッチ18、LED43、ブザー44、液晶表示器14、通信インタフェース48等が接続されている。制御回路40は、バーコードを読み取った結果を、通信インタフェース48を介して図示しない上位機器(例えばコンピュータ)側へ出力するよう構成されている。
次に、本実施形態での読み取りの対象となるバーコードの構成について図3を用いて説明する。図3は、アドオンバーコード付きWPC系バーコードの一例を示す図である。
図3において、読取方向1番目(図3の左側)に位置するバーコードをメインバーコードBmといい、読取方向2番目(図3の右側)に位置するようにメインバーコードBmの近傍(図3にて右側)に付加されるバーコードをアドオンバーコードBaという。メインバーコードBmは、その左右両側にガードバーパターンが存在するように構成され、アドオンバーコードBaは、その左側にだけガードバーパターンが存在するように構成される。
図3の例では、ガードバーパターンは、メインバーコードBmについては左右両側に存在し、左右両側に下の方に長く突出した2本の黒バーと、これらに挟まれた1本の白バーの合計3本のバーによって構成されている。アドオンバーコードBaについては、ガードバーパターンは、左側にだけ存在し、左側2本の黒バーと、これらに挟まれた1本の白バーの合計3本のバーによって構成されている。なお、本実施形態では、黒バー間の空白部分(スペース)を白バーとし、1本のバーとして数える。
そして、図3のメインバーコードBmにおいて、右側のガードバーパターンに対して右側から隣接する白バーを含めて当該白バーから左に向かって4本目の黒バーまでが最終キャラクタである。また、アドオンバーコードBaにおいて、左側のガードバーパターンに対して左側から隣接する白バーを含めて当該白バーから右に向かって4本目の黒バーまでが第1キャラクタである。
本実施形態では、所定のバーコードをデコードした後、このバーコードを第1コードとしてその右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコード(以下、第2コードという)の左端から右に向かって一定本数のバーの幅を求めて予め設定された式により比較値を演算する。そして、比較値が基準値に対して所定の範囲内にあるとき、第1コードがメインバーコードBmでありこのメインバーコードBmに第2コードであるアドオンバーコードBaが付加されていると判断する。このため、偶然にアドオンバーコードの第1キャラクタが存在する位置に、第1コードの最終キャラクタに似た縞模様が存在していた場合、これをアドオンバーコードと判断する確率が低くなるので、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。
更に本実施形態では、上記基準値を求めるために定められたバー本数と上記比較値を求めるために定められたバー本数とは、メインバーコードBmおよびアドオンバーコードBaの並び構成(配列構成)を基に、第1コードの一定本数のバーの幅を式に当てはめて求めた基準値と、第2コードの一定本数のバーの幅を式に当てはめて求めた比較値との差が、最小幅(1モジュール)のバーの幅以下となる本数に定められている。この基準値および比較値を求めるためのバーの一定本数について、以下に具体的に記載する。
A.ガードバーパターンが黒、白、黒の3本のバーによって構成されるEAN−8、EAN−13、UPC−Aであり、アドオンバーコードBaが2桁である場合と5桁である場合について、以下に例示する。
(1)アドオンバーコード2桁の場合
(i)メインバーコードBmとアドオンバーコードBaの双方共に3本目(ガードバー部分と1キャラクタとの境目)まで
(ii)メインバーコードBmとアドオンバーコードBaの双方共に7本目(1キャラクタと2キャラクタとの境目)まで
(2)アドオンバーコード5桁の場合
(i)メインバーコードBmとアドオンバーコードBaの双方共に3本目(ガードバー部分と1キャラクタとの境目)まで
(ii)メインバーコードBmとアドオンバーコードBaの双方共に7本目(1キャラクタと2キャラクタとの境目)まで
(iii)メインバーコードBmが19本目までとアドオンバーコードBaが21本目まで
B.ガードバーパターンが黒、白、黒、白、黒、白の6本のバーによって構成されるUPC−Eであり、アドオンバーコードBaが2桁である場合と5桁である場合について、以下に例示する。
(1)アドオンバーコード2桁の場合
(i)メインバーコードBmが3〜5本目までとアドオンバーコードBaが3本目(ガードバー部分と1キャラクタとの境目)まで。特にメインバーコードBmが4本目までを採用すると、規格上の合計幅がアドオンバーコードBaと同幅になる。
(ii)メインバーコードBmが9本目までとアドオンバーコードBaが7本目(1キャラクタと2キャラクタとの境目)まで
(2)アドオンバーコード5桁の場合
(i)メインバーコードBmが3〜5本目までとアドオンバーコードBaが3本目(ガードバー部分と1キャラクタとの境目)まで
(ii)メインバーコードBmが9本目までとアドオンバーコードBaが7本目(1キャラクタと2キャラクタとの境目)まで
(iii)メインバーコードBmとアドオンバーコードBaの双方共に13本目(ガードバー部分と1キャラクタとの境目)まで
(iv)メインバーコードBmが17本目までとアドオンバーコードBaが15本目、ただし、アドオンバーコードBaの15本目は減算する。
このように基準値および比較値を求めるためのバーの本数を設定すれば、第1コードから求められる基準値と第2コードから求められる比較値とが、バーの最小幅(1モジュール)以下の差でほぼ一致し、高い精度で基準値および比較値を比較することができる。
そして、本実施形態では、第2コードの左端から右に向かって一定本数未満の数のバーの幅を加算した値に応じて求められる比較値が、基準値に対して所定の範囲を越えたとき、アドオンバーコードは付加されていないと判断する。この構成によれば、アドオン側のバーコード(に似たもの)の一部分しか光学的情報読取装置10の読取口62に入っていない場合、その一部分に異常に幅の広いバー(に似た部分)が存在するようなときには、アドオンバーコードではないと判断するので、アドオンバーコードでないものを、早くアドオンバーコードでないと判断することができる。
図4は、光学的情報読取装置10の操作中に生じ得るアドオンバーコードBaの読み落しを例示する説明図であり、図4(A)は、読取口62をバーコードに近づける操作中の状態を示し、図4(B)は、読取口62をバーコードに沿って水平方向へ移動させる操作中の状態を示す。
本実施形態では、アドオンバーコードが無いと判断した際も、更に、アドオンバーコードの読み落しが無いかの判断を行う。即ち、図4(A)に示すように、離れた位置から光学的情報読取装置10の読取口62をバーコードに近づけていく操作を行っている最中において、バーコードのメインバーコードBmのみがデコードされ、この時点でアドオンバーコードBaがメインバーコードBmからの反射光の受光に応じた受光信号に含まれていない場合がある。この場合、上述した処理のみでは、アドオンバーコードBaの読み落しが発生する。また、図4(B)に示すように、光学的情報読取装置10の操作に慣れない操作者が、読取口62をバーコードに沿って水平方向(各バーの配列方向)へ移動させながらバーコードの読み取りを試みた場合、読取口62にメインバーコードBmのみが入ってしまう場合がある。この場合、上述した処理のみでは、アドオンバーコードBaの読み落しが発生する。そこで、上述のようなアドオンバーコードの読み落しを防止するため、メインバーコードBmをデコードするための受光信号からアドオンバーコードBaが無いと判断した際も、更に、光学的情報読取装置10の近接方向、水平方向への操作によって、アドオンバーコードを読み落していないかの判断を行う。
図5は、ラインセンサ32による読取ラインL1とバーコードの配列方向L2との傾斜角度θを例示する説明図であり、図5(A)は、アドオンバーコードBaが付加される状態を示し、図5(B)は、アドオンバーコードBaが付加されない状態を示す。図6(A)は、図5(A)の傾斜角度θに対応する受光波形を示す説明図であり、図6(B)は、傾斜角度θが0°であるときの受光波形を示す説明図である。
さらに、本実施形態では、アドオンバーコードがあると想定(判断)した際も、その想定が誤っているか否かについての判断をさらに行う。通常、作業者は、読取口62をバーコードに沿わせて読み取るため、図5(A)に例示するように、ラインセンサ32により一次元的に受光されるラインである読取ラインL1とバーコードの配列方向L2との角度(以下、傾斜角度θという)は小さくなる。このとき、ラインセンサ32から、図6(A)に例示するような受光波形の受光信号が出力される。ここで、傾斜角度θが0°となる場合には、ラインセンサ32から、図6(B)に例示するような受光波形の受光信号が出力される。なお、図6(A)および図6(B)からわかるように、傾斜角度θが長くなるほど受光波形に占める第1コードおよび第2コードの幅が長くなる。
しかしながら、読取口62がバーコードの配列方向L2に対して傾いた状態で当該バーコードが読み取られると、ラインセンサ32による読取ラインL1とバーコードの配列方向L2との傾斜角度θが大きくなる場合がある。この場合、図5(B)に例示するように、アドオンバーコードと異なるバーコードや模様等が、最初に読み取ったバーコードに対して本来アドオンバーコードが配置される位置からずれていても上記読取ラインL1上に表示されていると、この異なるバーコード等に基づいて、アドオンバーコードが存在すると誤判定する可能性があるからである。
そこで、上述のようなアドオンバーコードの誤判断を防止するため、メインバーコードBmをデコードするための受光信号からアドオンバーコードBaがあることが想定される場合でも、第1コードの配列方向に対する読取口62の傾きを考慮して、アドオンバーコードがあるか否かについての詳細に判断を行う。このように、アドオンバーコードがあると誤判断する確率を低くすることで、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。
次に、バーコードを読み取る場合の制御回路40における読取処理について、図7〜図12に示すフローチャートを参照しながら説明する。図7〜図9は、図2の制御回路40にて実施される読取処理の流れを例示するフローチャートである。図10は、深度で操作中の判断処理(1)でのサブルーチン処理を示すフローチャートである。図11は、位置で操作中の判断処理(2)でのサブルーチン処理を示すフローチャートである。図12は、アドオンバーコード有無判断処理でのサブルーチン処理を示すフローチャートである。なお、以下の説明では、読取対象となるメイン側に位置するバーコードである第1コードは、WPC系バーコードで、EAN−13、EAN−8、UPC−A、UPC−Eの4種類のいずれかであるとする。
読み取るべきバーコードに読取口62を当ててトリガースイッチ18により読取動作をスタートさせる。すると、照明用LED38が点灯してバーコード(ラベル)に投光され、その反射光が結像レンズ36aによってラインセンサ32に結像される(図7に示すS12)。そして、制御回路40は、ラインセンサ32が受光したバーコードからの受光信号を2値化してメモリ35のRAMに記憶させ(S14)、その後、2値化データに基づいてメイン側に位置するバーコードである第1コードをデコードしてメモリ35内のRAMに記憶する(S16)。なお、S16および後述するS68を実行する制御回路40は、特許請求の範囲に記載の「デコード手段」の一例に相当し得る。
次に、制御回路40は、デコードした第1コードの種類を判別し(S18)、ガードバーの本数が3本であるもの、すなわちUPC−A、EAN−8、EAN−13のいずれかである場合には、右端から7本目までの各バーの幅B1〜B7を求め、基準値Xを予め設定された次の(1)式によって求める(S20)。また、ガードバーの本数が6本であるもの、すなわちUPC−Eである場合には、右端から10本目までの各バーの幅B1〜B10を求め、基準値Xを予め定められた次の(2)式によって求める(S22)。
X=B7+B6+B5+B4+B3+B2+B2+B1 …(1)
X=B10+B9+B8+B7+B6+B5+B4+B3+B2−B1 …(2)
なお、上記(1)式、(2)式において、Bに付した添字の数字は右端からの並び順を示すもので、1が右端のバー、以下、2、3、……が右端から2番目、3番目、……のバーを示す。
これら(1)式および(2)式の意味は次の通りである。まず、この実施形態では、アドオンバーコードが付加されているか否かの判断を、第1コードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて基準値Xを演算すると共に、アドオン側のバーコードである第2コードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて比較値Zを演算する。そして、比較値Zが基準値Xに対して一定範囲、例えば基準値Xの80%〜120%の範囲内にあるか否かによって、アドオンバーコードが付加されているか否かの判断がなされる。
図13は、ガードバーパターンの一例を示す図である。図14は、ガードバーパターンの他の例を示す図である。
バーコードにおいては、幅の異なる複数種のバーが使用されており、そのうちの最小の幅を1モジュールと呼ぶ。図13および図14に例示するように、アドオンバーコードBaでは、左端から右に向かって7本目まで(ガードバー部分および第1キャラクタ部分)のバーの幅の合計値は11モジュールに定められている。
一方、メインバーコードBmのガードバーパターンが3本のバーから構成されているUPC−A、EAN−8およびEAN−13のいずれかでは、図13に示すように、ガードバーパターンおよび最終キャラクタは合計7本のバーで構成され、その7本のバーの合計幅は10モジュールに定められ、且つガードバーパターンの各バーの幅は1モジュールに定められている。このため、上記(1)式のように、7本のバーの幅を合計し、更に1モジュール幅である1本のガードバー(例えば、右端から2番目のバー)の幅を加算することによって、基準値Xとして11モジュールの幅を得ることができる。
また、メインバーコードBmのガードバーパターンが6本のバーから構成されているUPC−Eでは、図14に示すように、ガードバーパターンおよび最終キャラクタは合計10本のバーで構成され、その10本のバーの合計幅は13モジュールに定められ、且つガードバーパターン各バーの幅は1モジュールに定められている。このため、上記(2)式のように、10本のバーの幅を合計し、1モジュール幅である1本のガードバー(例えば、右端のバー)の幅の2倍を減算することによって、基準値Xとして11モジュールの幅を得ることができる。
以上のことから、第2コードの左端から7本目までのバーの幅の加算値である比較値Zを基準値Xと比較することによって、アドオンバーコードBaの付加の有無を判断できるものである。
上述のようにXの値を演算した後、制御回路40は、第1コードと第2コードとの間に存在するギャップ幅Gを算出し(S24)、そのギャップ幅Gと基準値Xとを比較し、ギャップ幅Gが基準値Xに対してその120%(ほぼ13.2モジュール)以内と定められた許容範囲に入っているか否かを判断する(S26)。
なお、アドオンバーコードが付加されていない場合、ラインセンサ32は第1コードの右側を白として読み取るので、制御回路40は第1コードの右側の広い白部分(読取口62の右端まで)をギャップと判断してその幅を演算する。
ギャップ幅Gが許容範囲から外れている場合には、制御回路40は、S26:Noと判断してアドオンバーコードは付加されていないと判断する(図9に示すS76)。そして、後述するS78以降の光学的情報読取装置10を操作中かの判断を経て、操作中でないと判断される場合に、第1コードのデコードデータを上位機器に転送し(S86)、エンドとなる。
ギャップ幅Gが許容範囲内にある場合には、制御回路40は、S26:Yesと判断し、次にアドオン側に1本目のバーが存在するか否かを判断する(S32)。1本目のバーが存在しない場合には、制御回路40は、S32:Noとなって、上記S76以降を順に実行しエンドとなる。
1本目のバーが存在する場合には、制御回路40は、S32:Yesとなり、アドオン側のバー幅の加算値Yを0にセットし(S34)、Yに1本目のバーの幅b1を加算する(S36)。次いで、制御回路40は、アドオン側に2本目のバーが存在するか否かを判断し(図8に示すS38)、存在する場合には、バー幅の加算値Yに2本目のバーの幅b2を加算する(S40)。以下、3本目以降、7本目までのバーの存在を逐次判断し(S42、46、52、56、60)、いずれのバーも存在する場合、順次バーの幅を累計する(S44、50、54、58、62)。そして、7本目までのバーの幅の加算値Y(比較値Z)と基準値Xとを比較し、加算値Yが基準値Xの80%〜120%と定められた許容範囲に入っているか否かを判断する(図9に示すS64)。
7本のバーの幅の加算値Yが上記許容範囲から外れていた場合には(S64:No)、制御回路40は、アドオンバーコードではないと判定する(S76)。そして、後述するS78以降での光学的情報読取装置10を操作中かの判断処理を経て、操作中でないと判断される場合に、第1コードのデコードデータを上位機器に転送し(S86)、エンドとなる。
一方、2本目以降のバーが存在するか否かを判断するステップにおいて、存在していないと判断した場合(S38、S42、S46、S52、S56、S60の各ステップ:No)、図9のS72に移行する。続いて、制御回路40は、加算値Yが基準値Xの120%以下であるか否かを判断し、Xの120%を越えている場合(S72:No)には、前述のS76に移行してアドオンバーコードではないと判定する。そして、後述するS78以降での光学的情報読取装置10を操作中かの判断処理を経て、操作中でないと判断される場合に、第1コードのデコードデータを転送し(S86)、エンドとなる。
また、バーの幅の加算値Yが、基準値Xの120%以内にある場合には(S72:Yes)、制御回路40は、S74に移行し、ここでブザー44を鳴動させて、エンドとなる。
引き続き、S76でアドオンバーコード無しと判断した後、更に、図4(A)を参照して上述したように読取口62をバーコードに近接させる最中にメインバーコードBmのみをデコードしたのでは無いかの判断を行う。この判断のため、先ず、ラインセンサ32の読取ライン1mmのバー幅値を算出する(S78)。ここでは、図15(A)中に示すW:第1コードを構成するバー幅の測定値、Wo:寸法1.0倍と想定したラベル幅とし、(3)式により算出する。
読取ライン1mmのバー幅値=W/Wo …(3)
ここで、寸法1.0倍とは、規格値を縮小拡大せずに使用している場合を意味し、0.8倍まで縮小している場合には、寸法0.8倍と呼ぶ。例えばEAN−13/UPC−Aで寸法1.0倍の場合には34.1mmで(4)式になる。なお、EAN−8では22.1mm、UPC−Eでは18.0mmになる。
読取ライン1mmのバー幅値=W/34.1mm …(4)
なお、本実施形態では、予め読み取り深度(読取口62からバーコードまでの距離)と、読取ライン1mmのバー幅値との例えば下記のような対応関係が深度データ[深度とバー幅の関係表W100_?]としてメモリ35に保持されている。
距離00mm:読取ライン1mmのバー幅値:511(センサの出力波形を測定した値)
距離10mm:読取ライン1mmのバー幅値:456(センサの出力波形を測定した値)
距離20mm:読取ライン1mmのバー幅値:421(センサの出力波形を測定した値)
上述のように読取ライン1mmのバー幅値が算出されるとこの算出値に基づき、光学的情報読取装置10をバーコードに向けて近接させる操作を行っているかを判断する(S100)。このS100の深度で操作中の判断処理(1)での処理について、当該処理のサブルーチンを示す図10を参照して説明する。なお、読み取り深度は、ラインセンサ32から第1コードまでの離間距離として設定されてもよい。
先ず、S78で算出した読取ライン1mmのバー幅値から、メモリ35に保持されている読取ライン1mmのバー幅値と取り深度との深度データ[深度とバー幅の関係表W100_?]から深度[H?]を求める(S102)。そして、操作を開始したところであるか(第1コードのデコードの1回目)を判断する(S104)。深度Hを1回しか求めていない場合には(S104:Yes)、近接方向への操作中かの判断が不可能であるため、操作開始の登録を行い(S114)、上記S102で求めた距離[H?]をメモリに距離[H_B]としてバックアップし(S116)、現在の時間、デコードを行った回数を初期化し(S118)、1回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図9のS76でのアドオンバーコード無しの判定を無効にする(S120)。
ここで、2回目以降のデコードの場合には(S104:No)、前回の比較から一定時間(或いはデコードの一定回数)経過したかを判断する(S106)。即ち、デコードは短い周期で繰り返されているため、デコード毎に深度[H?]を比較すると正確な判断が行えないため、一定時間経過するまでは(S106:No)、S120へ移行し、アドオンバーコード無しの判定を無効にする。他方、前回の比較から一定時間が経過(或いは一定回数のデコードの繰り返し)したら(S106:Yes)、今回の深度[H?]から前回の深度[H_B]を減算し、移動距離を求める(S108)。そして、移動距離(絶対値)が所定閾値ZZよりも小さいかを判断する(S110)。ここで、移動距離として絶対値を用いるのは、光学的情報読取装置10をバーコードへ近づける場合と共に遠ざける場合も操作中と判断するためである。ここで、移動距離(絶対値)が所定閾値ZZよりも大きい場合は(S110:No)、光学的情報読取装置10をバーコードに向けて、或いは、離れる方向へ操作中であるため、S116へ移行し、S116、S118の処理を経て、アドオンバーコード無しの判定を無効にする(S120)。他方、移動距離(絶対値)が所定閾値ZZよりも小さい場合は(S110:Yes)、光学的情報読取装置10に対する上下方向の操作が終了(または操作していない)と判断する(S112)。
ここで、深度で操作中の判断処理(1)での処理について、更に、図15(B)を参照して具体的に説明する。
図15(B)に示す深度P1は、光学的情報読取装置10をバーコードに近づけて行き、メインバーコードのデコードが成功した位置(深度)を示している。深度P2は、上述したS106での一定時間経過後に、メインバーコードのデコードが成功した位置(深度)を示している。ここで、深度P1と深度P2との差が、所定閾値ZZよりも大きくなる場合には、アドオンバーコード無しの判定が無効となり、例えば、深度P3で、メインバーコードとアドオンバーコードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。
S100での深度(近接、離れ方向)で操作中の判断処理(1)後、図9のS80での操作中かの判断がなされる。ここで、深度方向への操作中と判断されると(S80:Yes)、操作中であることをブザー44の鳴動、LED43の点灯により操作者に告知し、アドオンバーコードの読み取りができるまで待機していることを知らしめる(S84)。
他方、深度方向への操作中でないと判断される場合は(S80:No)、図4(B)を参照して上述した、水平方向に読取口62を移動させることでアドオンバーコードを読み落していないかの判断を行う(位置で操作中の判定処理(2):S200)。
S200の位置で操作中の判断処理(2)での処理について、当該処理のサブルーチンを示す図11を参照して説明する。先ず、S78で算出した読取ライン1mmのバー幅値から、上記S102で求めた深度[H?]に基づき、読み取り位置として、読み取り操作ラインの端からバーコードまでの距離[W?]を算出する(S202)。そして、操作を開始したところであるか(第1コードのデコードの1回目)を判断する(S204)。距離[W?]を1回しか求めていない場合には(S204:Yes)、水平方向への操作中かの判断が不可能であるため、操作開始の登録を行い(S214)、上記S202で求めた距離[W?]をメモリに距離[W_B]としてバックアップし(S216)、現在の時間、デコードを行った回数を初期化し(S218)、1回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図9のS76でのアドオンバーコード無しの判定を無効にする(S220)。
ここで、2回目以降のデコードの場合には(S204:No)、前回の比較から一定時間(或いはデコードの一定回数)経過したかを判断する(S206)。即ち、デコードは短い周期で繰り返されているため、デコード毎に移動距離[W?]を比較すると正確な判断が行えないため、一定時間経過するまでは(S206:No)、S220へ移行し、アドオンバーコード無しの判定を無効にする。他方、前回の比較から一定時間が経過(或いは一定回数のデコードの繰り返し)したら(S206:Yes)、今回の距離[W?]から前回の距離[W_B]を減算し、移動距離を求める(S208)。そして、移動距離(絶対値)が所定閾値YYよりも小さいかを判断する(S210)。ここで、移動距離として絶対値を用いるのは、バーコードに沿って、光学的情報読取装置10を左右方向のいずれから近づける場合にも操作中と判断するためである。ここで、移動距離(絶対値)が所定閾値YYよりも大きい場合は(S210:No)、光学的情報読取装置10を水平方向へ操作中であるため、S216へ移行し、S216、S218の処理を経て、アドオンバーコード無しの判定を無効にする(S220)。他方、移動距離(絶対値)が所定閾値YYよりも小さい場合は(S210:Yes)、光学的情報読取装置10に対する左右方向の操作が終了(または操作していない)と判断する(S212)。
ここで、位置で操作中の判断処理(2)での処理について、更に、図16(A)〜(C)を参照して具体的に説明する。
図16(A)に示す位置P4は、光学的情報読取装置10を図左方向からバーコードへ水平に近づけて行き、第1コードのデコードが成功した位置を表している。図16(B)に示す位置P5は、上述したS206での一定時間経過後に、第1コードのデコードが成功した位置を表している。ここで、位置P4と位置P5との差が、所定閾値YYよりも大きくなる場合には、アドオンバーコード無しの判定が無効となり、例えば、図16(C)に示す位置P6で、第1コードと第2コードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。
当該位置で操作中の判断処理(2)の処理後、図9に示すS82で更に水平方向への操作中かの判断がなされる。ここで、水平方向への操作中と判断されると(S82:Yes)、操作中であることをブザー44の鳴動、LED43の点灯により操作者に告知し、アドオンバーコードの読み取りができるまで待機していることを知らしめる(S84)。一方、水平方向への操作中でない場合には(S82:No)、S76でのアドオンバーコードでないとの判断を生かし、第1コードのデコード結果をコンピュータ側へ出力する(S86)。
上述した図9のS64で、7本のバーの幅の加算値Yが上記許容範囲内にある場合には(S64:Yes)、アドオンバーコードがあると想定(判断)し、その想定が誤っているか否かについて、第1コードの配列方向に対する読取口62の傾きを考慮して、アドオンバーコードがあるか否か(上記想定の正誤)について判断する(S300)。S300のアドオンバーコード有無判断処理について、当該処理のサブルーチンを示す図12と図17〜図19を参照して説明する。図17(A)は、角度閾値θtを説明するための説明図であり、図17(B)は、垂線長閾値Dtを説明するための説明図である。図18(A)は、傾斜角度θが角度閾値θt以下である状態を説明するための説明図であり、図18(B)は、垂線長Dが所定の垂線長閾値Dt以下である状態を説明するための説明図である。図19は、傾斜角度θが角度閾値θt以下でなくかつ垂線長Dが所定の垂線長閾値Dt以下でない状態を説明するための説明図である。
まず、第1コードを構成する各バーの幅を合計して当該第1コードの幅値を実測幅値A1として算出する(S302)。次に、読取ラインL1とバーコードの配列方向L2との傾斜角度θを算出する(S304)。具体的には、まず、S102にて算出した深度[H?]から第1コードの規定上の幅値を想定することができるため、この想定される第1コードの幅値を想定幅値A2として求める。この想定幅値A2は、傾斜角度θが0°のときの実測幅値A1に相当するため、傾斜角度θは、以下の式(5)により算出することができる。
θ=cos−1(A2/A1) …(5)
なお、傾斜角度θは、特許請求の範囲に記載の「第1コードの配列方向と読取ラインとの角度」の一例に相当し得る。なお、S304および後述するS308を実行する制御回路40は、特許請求の範囲に記載の「算出手段」の一例に相当し得る。
続いて、上述のように算出された傾斜角度θが所定の角度閾値θt以下であるか否かを判断する(S306)。ここで、角度閾値θtは、図17(A)に示すように、メインバーコードBmの配列方向L2に沿う配列線L2’を当該メインバーコードBmの中央に通すとき、この配列線L2’とメインバーコードBmの中央左端(図17(A)で符号Paにて示す)にて交差する読取ラインL1がアドオンバーコードBaの右隅を通る場合の、読取ラインL1と配列線L2’との傾斜角度に等しくなるように設定されている。
このため、図18(A)に例示するように、傾斜角度θが所定の角度閾値θt以下であるならば(S306:Yes)、読取口62が配列方向L2に対して大きく傾いていない状態でバーコードが読み取られており、アドオンバーコードBaが存在するとして、S300のアドオンバーコード有無判断処理を終了する。なお、S306および後述するS310を実行する制御回路40は、特許請求の範囲に記載の「判定手段」の一例に相当し得る。
一方、傾斜角度θが所定の角度閾値θt以下でない場合には(S306:No)、S308へ移行し、アドオンバーコードBaが存在する場合のその左端と読取ラインL1とが交差する点から配列方向L2に沿う配列線L2''に下ろした垂線の長さである垂線長Dを算出する。この垂線長Dは、第2コードと第1コードとの配列方向に直交する方向における距離に相当する。
そして、上述のように算出された垂線長Dが所定の垂線長閾値Dt以下であるか否かを判断する(S310)。ここで、垂線長閾値Dtは、図17(B)に示すように、配列線L2''をメインバーコードBmの下端に通すとき、この配列線L2''とメインバーコードBmの下方左端(図17(B)で符号Pbにて示す)にて交差する読取ラインL1がアドオンバーコードBaの右隅を通る場合の、アドオンバーコードBaの左端と読取ラインL1とが交差する点から配列線L2''に下ろした垂線の長さに等しくなるように設定されている。
このため、図18(B)に例示するように、垂線長Dが所定の垂線長閾値Dt以下であるならば(S310:Yes)、読取口62が配列方向L2に対して大きく傾いていない状態でバーコードが読み取られており、アドオンバーコードBaが存在するとして、S300のアドオンバーコード有無判断処理を終了する。
上述のようにS306にてYesと判定されるかS310にてYesと判定されてS300のアドオンバーコード有無判断処理が終了すると、制御回路40は、第2コードがアドオンバーコードBaであると判定し(S66)、そして、第2コードをデコードしてメモリ35のRAMに記憶する(S68)。次いで、第1コードおよび第2コードのデコードデータをメインバーコードBmおよびアドオンバーコードBaのデコードデータとして上位機器(コンピュータ)に転送し(S70)、エンドとなる。
一方、図19に例示するように、傾斜角度θが所定の角度閾値θt以下でなく(S306:No)かつ垂線長Dが所定の垂線長閾値Dt以下でない場合には(S310:No)、アドオンバーコードと異なるバーコードや模様等が読取ラインL1上に表示されているとして、S300のアドオンバーコード有無判断処理を終了し、S86に移行して、第1コードのデコードデータを上位機器に転送し、エンドとなる。
図20(A)は、アドオンバーコードBaの一部が読取口62から外れた状態を示す図であり、図20(B)は、第2コードの左端のバーが異常に太い状態を示す図であり、図20(C)は第1コードと第2コードとが離れ過ぎている状態を示す図である。
なお、本実施形態では、図20(A)に示すように、アドオンバーコードBaがメインバーコードBmに付加されていたが、そのアドオンバーコードBaが読取口62内に完全に入っておらず、右側部分のバーを光学的に読み取ることができなかった場合には、S38、S42、S46、S52、S56、S60のいずれか:Noと判断される可能性がある。そこで、上記のようにブザー44を鳴動させれば、使用者は、ブザー音をバーコードが読取口62から外れていることの注意報と理解し、読取口62の中にメインバーコードとアドオンバーコードとが入るように光学的情報読取装置10を動かし、そしてトリガースイッチ18により読取動作を再スタートさせるようになる。これにより、上述のようにして第1コードおよび第2コードをメインバーコードBaおよびアドオンバーコードBaとを上位機器(コンピュータ)に転送することができる。
また、図20(B)に示すように、アドオン側のバーコードである第2コードは、左端のバーの幅が極端に幅広く、このようなものはアドオンバーコードではない。ところが、第1コードの最終キャラクタの幅と第2コードの第1キャラクタの幅とを比較する従来方法では、左端の幅広のバーの幅は考慮しないので、図20(B)の場合、右側の縞模様をアドオンバーコードと誤判断してしまう。
これに対し、本実施形態では、第2コードの左端から7本目までのバーの幅の加算値Yを基準値Xと比較するので、第1コードの右側は、縞模様等でありアドオンバーコードではないと正しく判断し、無駄なデコード処理のために多くの時間を費やすことを防止できる。
また、図20(C)のように、メイン側のバーコードと、その右側に存在するバーコードとの間には大きなギャップが存在しており、このような大きなギャップを存しているバーコードはアドオンバーコードではない。本実施形態では、メイン側のバーコードとアドオン側のバーコードとの間のギャップ幅GがXと比較して広過ぎる場合、アドオンバーコードではないと判断するので、無駄なデコード処理のために多くの時間を費やすことを防止できる。
以上説明したように、本実施形態に係る光学的情報読取装置10では、受光信号に第1コードと第2コードの2つの一次元コードが含まれる場合に、第1コードの配列方向L2と読取ラインL1との傾斜角度θか、第2コードと第1コードとの配列方向L2に直交する方向における距離である垂線長Dが算出される。そして、第1コードと第2コードとの読取ラインL1に沿う方向における間隔であるギャップ幅Gが第2コードをアドオンバーコードとみなし得る閾値である基準値Xの120%以上でありS64にてYesと判定され、傾斜角度θが角度閾値θt以下か垂線長Dが垂線長閾値Dt以下である場合に、第2コードがアドオンバーコードBaであると判定される。そして、第2コードがアドオンバーコードBaであると判定される場合に、第1コードがメインバーコードBmであり、第2コードをアドオンバーコードBaとしてデコード処理が行われる。
このように、傾斜角度θと垂線長Dとのいずれかに応じて、第2コードがアドオンバーコードであるか否かについて判定されるため、当該装置の読取口62が第1コードの配列方向L2に対して傾いた状態で第1コード等が読み取られる場合でも、アドオンバーコードがあると誤判断する確率を低くすることができる。
したがって、読取口62が第1コードの配列方向L2に対して傾いた状態で読み取る場合でも、アドオンバーコードの存在有無に関する判定の正確性を向上させることができる。
さらに、傾斜角度θと垂線長Dの双方を用いて第2コードがアドオンバーコードであるか否かについて判定するため、アドオンバーコードの存在有無に関する判定の正確性をさらに向上させることができる。
特に、角度閾値θtは、メインバーコードBm(第1コード)の中央を通る配列線L2'に基づいて設定され、垂線長閾値Dtは、メインバーコードBmの下端を通る配列線L2''に基づいて設定されている。このため、傾斜角度θが角度閾値θt以下となる第1コードと第2コードとの位置関係では、常に、垂線長Dが垂線長閾値Dt以下となるので、傾斜角度θを用いて第2コードがアドオンバーコードBaであると判定される場合には、常に、垂線長Dを用いて第2コードがアドオンバーコードBaであると判定される。したがって、2つの観点である傾斜角度θおよび垂線長Dを用いてアドオンバーコードの存在有無を判定する構成でも、傾斜角度θが角度閾値θt以下となれば垂線長Dの算出が不要となるので、常に傾斜角度θおよび垂線長Dを算出する場合と比較して処理負荷や処理時間を軽減することができる。
また、本実施形態では、傾斜角度θは、S102にて算出した深度[H?]と受光信号から求められる当該第1コードの幅値である実測幅値A1とから算出されるため(S304)、新たな測定手段を別途用意することなく上記角度を容易に算出することができる。なお、S102にて算出した深度[H?]は、ラインセンサ32から第1コードまでの離間距離としてみなすことができる。
ここで、S308において、垂線長Dは、ギャップ幅Gおよび傾斜角度θから算出することができる。このように垂線長Dを算出することで、S308にて述べたようにアドオンバーコードBaが存在する場合のその左端と読取ラインL1とが交差する点から配列方向L2に沿う配列線L2''に下ろした垂線の長さとして垂線長Dを算出する場合と同様に、新たな測定手段を別途用意することなく上記距離を容易に算出することができる。
なお、本発明は上記実施形態に限定されるものではなく、以下のように具体化してもよい。
(1)バーコード読取専用の光学的情報読取装置に本発明の構成を適用した例を挙げたが、バーコード等の一次元コードと共に二次元コードも読み取り可能な光学情報読取装置に本願発明の構成を適用してもよい。
(2)S304において、S102にて算出した深度[H?]から想定幅値A2を求めることに限らず、別途距離センサを設けて深度[H?]に相当する距離を実測するなど他の測定方法により想定幅値A2または傾斜角度θを求めてもよい。
(3)S300のアドオンバーコード有無判断処理において、S308,S310を廃止して、傾斜角度θのみに基づいて第2コードがアドオンバーコードがあるか否かについて判断してもよいし、S304,S306を廃止して、垂線長Dのみに基づいて第2コードがアドオンバーコードがあるか否かについて判断してもよい。
(4)S300のアドオンバーコード有無判断処理において、S308,S310の処理を実施した後にS304,S306の処理を実施してもよい。この場合、垂線長閾値Dtは、例えば、メインバーコードBm(第1コード)の中央を通る配列線L2'に基づいて設定され、例えば、角度閾値θtは、メインバーコードBmの下端を通る配列線L2''に基づいて設定される。このため、垂線長Dが垂線長閾値Dt以下となる第1コードと第2コードとの位置関係では、常に、傾斜角度θが角度閾値θt以下となるので、垂線長Dを用いて第2コードがアドオンバーコードBaであると判定される場合には、常に、傾斜角度θを用いて第2コードがアドオンバーコードBaであると判定される。このようにしても、2つの観点である傾斜角度θおよび垂線長Dを用いてアドオンバーコードの存在有無を判定する構成でも、垂線長Dが垂線長閾値Dt以下となれば傾斜角度θの算出が不要となるので、常に傾斜角度θおよび垂線長Dを算出する場合と比較して処理負荷や処理時間を軽減することができる。
10…光学的情報読取装置
32…ラインセンサ(受光手段)
35…メモリ
40…制御回路(デコード手段,算出手段,判定手段)
62…読取口
D…垂線長
Dt…垂線長閾値
G…ギャップ幅
L1…読取ライン
L2…配列方向
θ…傾斜角度
θt…角度閾値

Claims (5)

  1. 暗色パターンおよび明色パターンが複数配列されて構成されるメインバーコードとこのメインバーコードの近傍に付加されたアドオンバーコードとを1つの一次元コードとして光学的に読み取る光学的情報読取装置であって、
    一次元コードからの反射光を所定の読取ラインに沿い受光する受光手段と、
    前記受光手段から出力される受光信号に基づいて一次元コードのデコード処理を行うデコード手段と、
    前記受光信号に2つの一次元コードが含まれる場合に、読取方向1番目に位置する第1コードの配列方向と前記読取ラインとの角度と、読取方向2番目に位置する第2コードと前記第1コードとの前記配列方向に直交する方向における距離との少なくともいずれか1つを算出する算出手段と、
    前記第1コードと前記第2コードとの前記読取ラインに沿う方向における間隔が前記第2コードを前記アドオンバーコードとみなし得る閾値以上であって、前記算出手段による算出値が前記第2コードを前記アドオンバーコードとみなし得る閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定する判定手段と、
    を備え、
    前記デコード手段は、前記判定手段により前記第2コードが前記アドオンバーコードであると判定される場合に、前記第1コードが前記メインバーコードであり、前記第2コードを前記アドオンバーコードとしてデコード処理を行うことを特徴とする光学的情報読取装置。
  2. 前記算出手段は、前記角度および前記距離の双方を算出し、
    前記判定手段は、前記算出手段により算出される前記角度および前記距離の少なくともいずれか一方の算出値が前記閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定することを特徴とする請求項1に記載の光学的情報読取装置。
  3. 前記判定手段は、前記角度および前記距離の一方が第1の閾値以下である場合か、当該一方が前記第1の閾値より大きいときに前記角度および前記距離の他方が第2の閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定し、
    前記第1の閾値および前記第2の閾値は、前記一方が前記第1の閾値以下となる場合には常に前記他方が前記第2の閾値以下となるように設定されることを特徴とする請求項2に記載の光学的情報読取装置。
  4. 前記算出手段は、前記角度を、前記受光手段から前記第1コードまでの離間距離と前記受光信号から求められる当該第1コードの幅値とから算出することを特徴とする請求項1〜3のいずれか一項に記載の光学的情報読取装置。
  5. 前記算出手段は、前記距離を、前記間隔および前記角度から算出することを特徴とする請求項1〜4のいずれか一項に記載の光学的情報読取装置。
JP2011011680A 2011-01-24 2011-01-24 光学的情報読取装置 Expired - Fee Related JP5644538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011011680A JP5644538B2 (ja) 2011-01-24 2011-01-24 光学的情報読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011011680A JP5644538B2 (ja) 2011-01-24 2011-01-24 光学的情報読取装置

Publications (2)

Publication Number Publication Date
JP2012155384A true JP2012155384A (ja) 2012-08-16
JP5644538B2 JP5644538B2 (ja) 2014-12-24

Family

ID=46837087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011011680A Expired - Fee Related JP5644538B2 (ja) 2011-01-24 2011-01-24 光学的情報読取装置

Country Status (1)

Country Link
JP (1) JP5644538B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224193A (ja) * 1989-02-27 1990-09-06 Matsushita Electric Ind Co Ltd バーコード読み取り装置
US5198649A (en) * 1989-07-31 1993-03-30 Spectra-Physics, Inc. Bar code scanner and method of scanning bar codes labels with or without an Add-On code
JP2003022416A (ja) * 2001-07-10 2003-01-24 Denso Corp バーコード読取方法およびバーコード読取装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224193A (ja) * 1989-02-27 1990-09-06 Matsushita Electric Ind Co Ltd バーコード読み取り装置
US5198649A (en) * 1989-07-31 1993-03-30 Spectra-Physics, Inc. Bar code scanner and method of scanning bar codes labels with or without an Add-On code
JP2003022416A (ja) * 2001-07-10 2003-01-24 Denso Corp バーコード読取方法およびバーコード読取装置

Also Published As

Publication number Publication date
JP5644538B2 (ja) 2014-12-24

Similar Documents

Publication Publication Date Title
KR100271245B1 (ko) 바코드 판독장치
JP3516144B1 (ja) 光学情報コードの読取方法および光学情報コード読取装置
US7481369B2 (en) Method and apparatus for optically picking up an image of an information code
CN101874250B (zh) 增强型虚拟扫描线处理
EP2182467B1 (en) Method and apparatus for optically reading out information stored in a barcode
JP5525636B2 (ja) 構造物または対象物の大きさを計測するための光電子装置および較正方法
US20060175414A1 (en) Method for reading out symbol information and device for reading out symbol information
US5945661A (en) Data symbol reader and method including data symbol position evaluation
JP4254628B2 (ja) 光学的情報読取装置
JP4154871B2 (ja) バーコード読取方法およびバーコード読取装置
US10762405B2 (en) System and method for extracting bitstream data in two-dimensional optical codes
JP5644538B2 (ja) 光学的情報読取装置
JP4442512B2 (ja) 情報コード読取装置および情報コード読取方法
JP4951745B2 (ja) バーコード読取装置
JP4058478B2 (ja) 光学的情報の読取方法
JPH08263585A (ja) コード読取装置
JP4419805B2 (ja) 光学式情報読取装置
JP5888199B2 (ja) バーコード読取装置
JP5240124B2 (ja) 光学的情報読取装置
JP5780192B2 (ja) 情報コード読取装置
EP0919946A2 (en) Bar code reader and bar code reading method
JP3329969B2 (ja) バーコード読取方法およびバーコード読取装置
JP5152086B2 (ja) バーコード読取方法およびバーコード読取装置
JP4238796B2 (ja) 光学的情報読取方法
JP2655758B2 (ja) バーコードリーダおよびバーコード読取方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees