JP2006227796A - バーコード読取り方法及びバーコード読取り装置並びにコンピュータプログラム - Google Patents

バーコード読取り方法及びバーコード読取り装置並びにコンピュータプログラム Download PDF

Info

Publication number
JP2006227796A
JP2006227796A JP2005039129A JP2005039129A JP2006227796A JP 2006227796 A JP2006227796 A JP 2006227796A JP 2005039129 A JP2005039129 A JP 2005039129A JP 2005039129 A JP2005039129 A JP 2005039129A JP 2006227796 A JP2006227796 A JP 2006227796A
Authority
JP
Japan
Prior art keywords
barcode
reading
bar
read
determined
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
JP2005039129A
Other languages
English (en)
Other versions
JP4254724B2 (ja
Inventor
Masahiro Hara
昌宏 原
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 JP2005039129A priority Critical patent/JP4254724B2/ja
Priority to EP06003017A priority patent/EP1693780B1/en
Priority to EP10152805.7A priority patent/EP2182467B1/en
Priority to US11/354,994 priority patent/US9230147B2/en
Publication of JP2006227796A publication Critical patent/JP2006227796A/ja
Application granted granted Critical
Publication of JP4254724B2 publication Critical patent/JP4254724B2/ja
Priority to US14/946,925 priority patent/US10509933B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • G06K7/10871Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels randomly oriented data-fields, code-marks therefore, e.g. concentric circles-code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded

Abstract

【課題】 複数種類の類似したパターンのバーコードが混在する場合でも、夫々をより確実に判別することができるバーコード読取方法を提供する。
【解決手段】 バーコード読取装置の制御回路は、RSS_Limitedのデコードが正常に終了した場合は(ステップA15)、そのコードパターンがPOSコードの一部であると仮定した場合に存在し得るバーの最大幅(4モジュール)に対し、明暗パターン列の両端側の少なくとも一方に、5モジュール以上の白バーが存在するかどうかを判定する(ステップA16,A17)。そして、前記白バーが存在すれば読取ったバーコードをRSS_Limitedとして確定する。
【選択図】 図1

Description

本発明は、複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするためのバーコード読取方法、及びバーコード読取り装置、並びに前記装置を制御するコンピュータによって実行されるプログラムに関する。
近年、バーコードについても多くの種類が開発されて実際に運用されている。そのため、所定のバーコードの一部分が他の種類のバーコードを構成しているという場合も存在する。従って、複数種類のバーコードの読取りに対応するようにリーダを構成する際には、そのような事態においてもバーコードの種類を明確に峻別することができなければ、読取り間違いが起きる可能性がある。
例えば、特許文献1には、複数種類のバーコードの読取りに対応可能な装置の一構成例が開示されている。
特開平6−295352号公報
しかしながら、特許文献1に開示されている技術は、複数種類のバーコードの読み取りについて共通して行なわれる処理を冒頭に実行することで、読取り処理に要する時間を短縮することを目的としてなされたものである。従って、上記のように、類似したパターンのバーコードが存在する場合に、夫々をどのようにして判別するかという技術課題の解決に資するものではない。
本発明は上記事情に鑑みてなされたものであり、その目的は、複数種類の類似したパターンのバーコードが混在する場合でも、夫々をより確実に判別することができるバーコード読取方法、及びバーコード読取り装置、並びにコンピュータプログラムを提供することにある。
請求項1記載のバーコード読取方法によれば、複数種類の内、第1バーコードの一部のコードパターンが第2バーコードとして読取れる可能性がある場合に、読取ったバーコードの明暗パターン列について、第2規格の読取りアルゴリズムを適用して読み取りを行う。前記読取りが正常終了した場合は、明暗パターン列が第1バーコードの一部であると仮定した場合に存在し得る最大幅のバーについて、明暗パターン列の両端側の少なくとも一方に、前記最大幅を超えるバーが存在するかどうかを判定する。ここでのバーは、白バー,黒バーの何れの幅であっても良い。
そして、明暗パターン列の両端側の少なくとも一方に最大幅を超えるバーが存在すれば、前記明暗パターン列を第2バーコードの読取りデータとして確定する。即ち、読取ったバーコードの少なくとも一方の端に、第1バーコードについて存在し得る最大幅を超えるバーがあれば、そのバーの部分が第1バーコードを構成することはあり得ない。従って、読取ったバーコードを第2バーコードとして確定することができ、第1バーコードとの誤読を防止することができる。
請求項2記載のバーコード読取方法によれば、第2過程において最大幅を超えるバーが存在するか否かの判定は最初白バーについて行い、白バーが存在しなければ次に黒バーについて同様の判定を行う。即ち、バーコードはその両端に黒バーが位置するものが一般的であるため、その黒バーの外側に位置するマージンは白バーとなる。従って、最初に白バーについて判定を行えば殆どのバーコードに対応することになるので、判定をより迅速に行うことができる。
請求項3記載のバーコード読取方法によれば、エリアセンサを用いてバーコードの読取りを2次元的に行う場合、第2過程で明暗パターン列の少なくとも一端から外方にバー高さ方向の異なる位置に複数の検査線を設定する。そして、複数の検査線上の夫々につき最大幅を超えるバーが存在するかを判定する。従って、読取りが、バーコードが印刷されている平面に対して傾いた状態で行われた結果、バーコードの画像が両端側で傾いてしまったような場合やバーコードの印字品質が良くない場合でも、前記バーの存否をより確実に判定することができる。
請求項4記載のバーコード読取方法によれば、複数の検査線を3本以上設定し、これらの検査線について最大幅を超えるバーが存在するかを多数決原理で決定するので、前記バーの存否を妥当に判定することができる。
請求項5記載のバーコード読取方法によれば、複数の検査線の全てについて最大幅を超えるバーが存在する場合にのみそのバーの存在を確定するので、前記バーの存否を一層確実に判定することができる。
請求項6記載のバーコード読取方法によれば、第2過程において、両端に位置するバーの配置が不平行である場合に複数の検査線を設定する。即ち、バーコードの読取りが傾いた状態で行われたものと推定される場合にだけ複数の検査線が設定されるので、読取りをより迅速に行うことができる。
請求項7記載のバーコード読取方法によれば、検査線上で検出されたバーの高さを測定して当該バーの高さを読取り済みバーコードのバーの高さと比較し、両者の高さが異なる場合は検査線上で検出されたバーをマージンと判定する。即ちバーコードがラベルの枠内に、規定されたマージンが確保されていない状態で印刷されているような場合は、ラベルの枠部分をバーとして認識するおそれがある。その場合に、請求項7の方法を適用すれば、バーコードの一部であるバーとラベルの枠とを確実に判別することができる。
請求項8記載のバーコード読取方法によれば、第2バーコードが第1バーコードの一部と一致するパターンを予め記憶しておくようにする。そして、第1過程における読取りが正常終了すると、明暗パターン列が予め記憶したパターンの1つに一致するかを照合し、一致した場合に第2過程を実施する。即ち、予め記憶させたパターンは2種類のバーコードを読み間違える可能性があるものだから、そのパターンに一致する場合だけ第2過程を実施すれば、読取りをより効率的に行うことができる。
請求項9記載のバーコード読取方法によれば、第1バーコードをPOSコードの内の何れか1種類とし、第2バーコードはRSS_Limitedとする。ここで、「POSコード」とは、UPC−A,UPC−E,EAN−13,EAN−8の総称である。これらの間では、実際にその一部のパターンがRSS_Limitedに一致するものが存在するので、本発明を有効に適用することができる。
請求項10記載のバーコード読取方法によれば、POSコードの内の少なくとも何れか1種類と、RSS_Limitedとの読取りが何れも許可されるように設定されている場合に第2過程を実施する。即ち、実際にこれらのバーコードが混在する状態で読取りが行われることを前提とする場合にだけ本発明を適用するので、読取り効率を向上させることができる。
請求項11記載のバーコード読取方法によれば、第2過程において明暗パターン列が第1バーコードの一部と仮定した場合の最小単位(モジュール)幅を検出し、最大幅を4モジュール幅として決定する。即ち、POSコードを構成する最大のバーは4モジュールであるから、読取り対象に応じて最大幅を適切に設定することができる。
請求項12記載のバーコード読取方法によれば、読取ったバーコードを2値化処理して得られた明暗パターン列について第2規格の読取りアルゴリズムを適用して読み取りを行い、その読取りが正常終了した場合でも、明暗パターン列の両端の少なくとも一方に第1バーコードのキャラクタパターン,スタート又はストップパターンが存在すれば読取り失敗と判定する。即ち、読取ったバーコードの少なくとも一方の端に、第1バーコードのパターンが存在すれば、その明暗パターンは第1バーコードである可能性がある。従って、その場合に読取り失敗と判定することで読取り誤りを防止することができる。
請求項13記載のバーコード読取方法によれば、読取ったバーコードを2値化処理して得られた明暗パターン列について第2規格の読取りアルゴリズムを適用して読み取りを行い、その読取りが正常終了した場合でも、明暗パターン列の両端の少なくとも一方に第1バーコードのキャラクタパターンが存在すれば読取り失敗と判定する。即ち、読取り視野のぎりぎりで読取ったバーコードがマージンの設定がない第2バーコードであれば、実際はその外側に読み取れなかったバーが存在する可能性がある。従って、その場合に読取り失敗と判定することで読取り誤りを防止することができる。
請求項14記載のバーコード読取方法によれば、読取ったバーコードを2値化処理して得られた明暗パターン列について第2規格の読取りアルゴリズムを適用して読み取りを行い、その読取りが正常終了した場合でも、そのバーコードの両端と読取り視野の両端との間に所定の距離がない場合は当該バーコードの読取りを失敗と判定する。
即ち、バーコードが読取り視野のぎりぎり収まっている場合には、請求項12で述べた場合と同様の状態が想定される。また、読取ったバーコードが実際に第2バーコードであることも想定されるが、視野の両端はどうしても読取り用照明の照度が低くなりがちであり、正確な2値化ができないおそれがある。従って、斯様な場合に読取りを失敗と判定することで、読取り誤りを防止することができる。
請求項15記載のバーコード読取方法によれば、エリアセンサを用いてバーコードの読取りを2次元的に行う場合、第2過程で明暗パターン列の少なくとも一端から外方にバー高さ方向の異なる位置に複数の検査線を設定する。そして、複数の検査線上の夫々につきマージンが確保されているかを判定する。従って、読取りが、バーコードが印刷されている平面に対して傾いた状態で行われた結果、バーコードの画像が両端側で傾いてしまったような場合やバーコードの印字品質が良くない場合でも、マージンが存在するか否かを確実に判定することができる。
請求項16記載のバーコード読取方法によれば、複数の検査線を3本以上設定し、これらの検査線についてマージンが確保されているかを多数決原理で決定するので、マージンの存否を妥当に判定することができる。
請求項17記載のバーコード読取方法によれば、複数の検査線の全てについてマージンが確保されている場合にのみマージンの存在を確定するので、マージンの存否を一層確実に判定することができる。
請求項18記載のバーコード読取方法によれば、第2過程において、両端に位置するバーの配置が不平行である場合に複数の検査線を設定する。即ち、バーコードの読取りが傾いた状態で行われたものと推定される場合にだけ複数の検査線が設定されるので、読取りをより迅速に行うことができる。
請求項19記載のバーコード読取方法によれば、検査線上で検出されたバーの高さを測定して当該バーの高さを読取り済みバーコードのバーの高さと比較し、両者の高さが異なる場合は検査線上で検出されたバーをマージンと判定する。即ちバーコードがラベルの枠内に、規定されたマージンが確保されていない状態で印刷されているような場合は、ラベルの枠部分をバーとして認識するおそれがある。その場合に、請求項18の方法を適用すれば、バーコードの一部であるバーとラベルの枠とを確実に判別することができる。
請求項21記載のバーコード読取装置によれば、請求項1乃至19の何れかに記載のバーコード読取方法を実行可能に構成されている場合に、夫々のバーコードにマージンが適切に設定されているか否かを判別する手段を、バーコードの種類毎に設定可能に構成される。従って、例えば、マージンが規定されていないバーコードだけを読取るような場合には、不要な判定処理を行うことなく読み取りを迅速に行うことができる。
(第1実施例)
以下、本発明の第1実施例について図1乃至図3を参照して説明する。図3は、バーコード読取装置の電気的構成を概略的に示している。このバーコード読取装置1は、読取対象Aに印字されたバーコードを光学的に読取るためのもので、電源回路2,制御回路(コンピュータ)3,メモリ4,操作部5,照明駆動回路6,照射部7,結像手段8,センサ駆動回路9,光学的センサ10,クロック制御回路11,波形整形部12および外部インタフェイス部13を備えている。
電源回路2は、例えばAC/DC変換器により構成されるもので、外部から供給された交流電源を直流に変換し読取装置1の全構成に直流電源供給するようになっている。尚、電源回路2は必要に応じて設ければ良く、例えばハンディタイプのバーコード読取装置の場合には、内蔵している電池を電源として駆動される構成でも良い。
制御回路3は、例えばマイクロコンピュータにより構成されており、制御用プログラムに基づいて読取装置1の全体を制御するようになっているが詳細は後述する。操作部5は、例えばトリガーキーや数字キー等の各種操作設定用キーが設けられて構成されており、ユーザ等によりトリガーキーが操作されると、制御回路3の制御に基づいて読取装置1が処理動作を開始する。照明駆動回路6は、制御回路3の制御に基づいて照射部7に駆動信号を与える。また、メモリ4には、制御回路3の制御プログラム(コンピュータプログラム)14が記憶されている。照射部7は、例えばLED等により構成されており、照明駆動回路6から駆動信号が与えられると読取対象Aに光を照射する。
結像手段8は、例えばレンズにより構成されており、照射部7から読取対象Aに照射され反射した光を結像し光学的センサ10に与える。光学的センサ10は例えばエリアセンサとも称されており、例えばCCD等の受光素子が二次元平面状に配列され、対応する受光素子やその範囲(取込対象エリア)を設定することで全画素信号を独立に取込むことができるように構成されているもので、読取対象Aに反射した反射光を光電変換する。この光学的センサ10で露光するための露光時間は、制御回路3により設定可能に構成されている。
制御回路3がセンサ駆動回路9を介して光学的センサ10を駆動制御すると、光学的センサ10は取込モードに基づいて光電変換した信号を波形整形部12に与えるようになっている。センサ駆動回路9は、光学的センサ10の受光素子から画素信号を出力させるためのクロックを光学的センサ10に与える。波形整形部12は、光学的センサ10により光電変換された信号を増幅し輝度レベルの信号を制御回路3に与えるようになっている。波形整形部12の増幅率は、制御回路3により設定可能に構成されている。外部インタフェイス部13は、制御回路3と外部装置(図示せず)との間でデータを入出力可能にしている。
次に、本実施例の作用について図1及び図2も参照して説明する。図1は、制御回路3が制御プログラム14を実行した場合の処理内容を示すフローチャートであり、本発明の要旨に係る部分のみを示すものである。尚、ステップA1〜A14までの処理は、一般的な構成のバーコード読取装置と変わるところはない。
制御回路3は、先ず、ユーザにより読取り対象として指定された複数種類のバーコードから、読取り可能な最小バー本数Xを設定する(ステップA1)。それから、光学的センサ10により光学的に読取られ、波形整形部12を介して与えられるバーコードの輝度レベル信号を二値化、即ち明暗パターン化してからコード領域を切り出す。続いて、明暗パターンよりバーの本数nとバーを検出する(ステップA2,A3)。
次に、制御回路3は、バー本数nと最小バー本数Xとを比較し、n≧Xの場合は(ステップA4,「YES」)、バー本数nに応じてデコード対象とするバーコードを決定する(ステップA5)。そして、明暗パターンの最初の白バー(通常はマージン領域に相当)とその次(内側)に位置する黒バーとの間、又は最初のキャラクタパターンより、バーコードの種類に応じてマージンチェックを行う(ステップA6)。また、ステップA4においてバー本数nが最小バー本数X未満であれば(「NO」)、その時点で読取りは失敗、「NG」と判定される(ステップA14)。
ステップA6において、規定されているマージンが存在すれば(「OK」)、明暗パターン列にバーコードの種類に応じた読取りアルゴリズムを適用してデコードを行う(ステップA7,第1過程)。一方、規定されているマージンが存在しない場合は(「NG」)、パターン列両端のバーを1本ずつ減らして(n=n−2,ステップA10)ステップA4に戻り、再度最小バー本数Xとの比較を行う。ステップA7におけるデコード結果が問題なく「OK」であれば(ステップA8,「YES」)、パターン列最後の黒バー又はキャラクタパターンを基準としてマージンチェックを行う(ステップA9)。
また、ステップA7におけるデコードが失敗し「NG」であれば(ステップA8,「NO」)、ステップA7でデコード対象として評価したバーの本数mをバー本数nより減じ(n=n−m,ステップA11)、ステップA4に戻り、再度最小バー本数Xとの比較を行う。ステップA9におけるマージンチェックが「OK」であれば、読取りは成功「OK」となり(ステップA13)、マージンチェックが「NG」である場合はステップA11に移行する。
以下のステップA15〜A17における処理内容が、本発明の特徴的な部分である。即ち、ステップA13において一旦読み取りが「OK」となった場合、制御回路3は、そのバーコードがRSS_Limited(第2バーコード)であるか否かを判定し(ステップA15,第2過程)、RSS_Limitedでなければ(「NO」)そのまま処理を終了する。一方、バーコードがRSS_Limitedである場合は(「YES」)、ステップA7におけるデコード結果より、バーの最小単位幅であるモジュールを検出する(ステップA16)。そして、そのバーコードパターン両端外側の少なくとも一方に、5モジュール以上の白バーが存在するか否かを判定する(ステップA17)。
ここで、図2を参照する。図2は、RSS_Limitedのバーコードパターンの一例と、POSコードの1種であるUPC−Aのバーコードパターンの一例であり、前者のパターンが後者のパターンの一部と一致するものを上下に配列して示している。RSS_Limitedは、コードサイズがUPC−Aよりも小さく(即ち、バーの構成本数がより少なく)、また、マージンを設けることが規定されていない仕様である。そのため、UPC−A/EAN−13のパターンを読もうとした場合に、読取り状態によってはRSS_Limitedと間違って読んでしまう可能性がある。
そこで、ステップA17では、バーコードの少なくとも一方に5モジュール以上のマージンが存在する場合に、RSS_Limitedとしての読取り結果を「OK」とするようにしている。即ち、UPC−A/EAN−13を構成するバーは1〜4モジュールであるから、幅が5モジュール以上のバーはUPC−A/EAN−13の一部を構成するものではない。従って、RSS_Limited少なくとも一方に上記白バーが存在すれば、そのバーコードをRSS_Limitedとして読取ることに問題がないと確定することができる。
一方、ステップA17において1〜4モジュール幅のバーが存在する場合は(「NO」)、デコードしたコードパターンはUPC−A/EAN−13の一部である可能性がある。従って、その場合はステップA14に移行して読取りを「NG」として処理する。
以上のように本実施例によれば、バーコード読取装置1の制御回路3は、RSS_Limitedのデコードが正常に終了した場合は、そのコードパターンがPOSコードの一部であると仮定した場合に存在し得るバーの最大幅(4モジュール)に対し、明暗パターン列の両端側の少なくとも一方に、5モジュール以上の白バーが存在するかどうかを判定する。そして、前記白バーが存在すれば、読取ったバーコードをRSS_Limitedとして確定するので、実際にそのコードパターンが部分的に一致するPOSコードとの誤読を防止することができる。
(第2実施例)
図4及び図5は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。尚、バーコード読取装置1の構成は基本的に第1実施例と同様であり、制御回路3によるソフトウエア的な読取り処理が異なっている。
図4は図1相当図であるが、制御回路3は、ステップA15において「YES」と判断すると、RSS_Limitedのコードパターン両端部の少なくとも一方に、UPC−A/EAN−13のキャラクタコードが存在するか否かを判定する(ステップA18)。そして、前記キャラクタコードが存在しなければ(「NO」)読取ったコードパターンをRSS_Limitedとして確定し、そのまま処理を終了するが、前記キャラクタコードが存在すると(「YES」)読取りを「NG」とする(ステップA14)。
即ち、図5に示すように、本来はUPC−A/EAN−13であるにもかかわらず、そのバーコードの全体が読取装置1の読取り視野に収まらず、一部のコードパターンを読取った結果がRSS_Limitedのコードパターンに一致する場合がある。斯様な場合において、読取ったコードパターン両端部の少なくとも一方にUPC−A/EAN−13のキャラクタコードが存在したとすれば、前記コードパターンはUPC−A/EAN−13の可能性があると推定できる。従って、その場合に読取りを「NG」とすることで、読取り誤りを防止することができる。
(第3実施例)
図6及び図7は本発明の第3実施例を示すものであり、第2実施例と異なる部分についてのみ説明する。第3実施例では、制御回路3は、ステップA17に替わるステップA19において、読取ったコードパターン両端と読取り視野の両端との間に所定の距離が存在するか否かを判定する。そして、所定の距離が存在すれば(「YES」)読取ったコードパターンをRSS_Limitedとして確定し、そのまま処理を終了するが、所定の距離なければ(「NO」)読取りを「NG」とする(ステップA14)。
即ち、図7に示すように、第3実施例と同様に本来はUPC−A/EAN−13のコードパターンであるがその全体が読取装置1の読取り視野に収まらず、視野のぎりぎりで読取れた部分がRSS_Limitedのコードパターンに一致する場合がある。従って、その場合に読取りを「NG」とすることで、UPC−A/EAN−13の読取り誤りを防止することができる。
また、図7の状態とは異なり、実際にバーコードがRSS_Limitedであることも想定されるが、視野の両端はどうしても照射部7による照明の照度が低くなりがちであり、正確な2値化ができないことも想定される。従って、斯様な場合に読取りを失敗と判定することで、読取り誤りを防止することができる。
(第4実施例)
図8乃至図11は本発明の第4実施例を示すものである。第4実施例は、バーコード読取装置1の制御回路3が、バーコードのマージンチェックを行う場合の処理に関するものである。尚、第4実施例のマージンチェックは、例えば、第1実施例におけるステップA6やステップA9において行うものである。先ず、読取ったバーコードのマージンチェックを行う場合の現状の問題について図9乃至図11を参照して説明する。
2次元センサによってバーコードを読取る場合、上述したように、読取った画像の全体からバーコードが位置するエリアを抽出し、そのエリアに対して1本の走査線を引き、当該走査線に沿って読み取りを行う。この走査線上において、例えば図10に示すように鏡面反射により黒バーが飽和して白くなっていたり、或いは、ラベルの印刷が粗悪なため黒バーに擦れやボイドがあったりすると、その部分をマージン領域と間違えて処理してしまうことがある。その場合、バーコードの桁落ちや読み間違いが発生する。
また、360度全ての角度で読み取りが可能であり、バーコードが2次元的に傾いた状態で読取った場合には、図11に示すように走査線が途中からバーコードより外れてしまうことがある。このような事態を防止するには、走査線に最初に当たった黒バーが延びている方向を追跡し、当該黒バーが読取り基準の水平に対してなす角度を求め、当該黒バーに対する垂線を算出し、その垂線に沿って走査線を引き直し読み取りを行うようにしている。
ところが、2次元センサでバーコードを読取る場合、バーコードが印刷されている平面に対して仰角、俯角が付いた状態で読み取りを行うと、図9に示すようにバーコードの画像が台形状に歪んでしまうことがある。このように、画像が歪んだ場合には、上記のように最初に当たった黒バーに対する垂線に沿って走査線を引き直しても、その走査線が途中からバーコードより外れてしまうおそれがある。
そこで、第4実施例では、図8に示すフローチャートに従ってマージンチェックを行う。制御回路3は、先ず、走査線を設定する(ステップB0)。それから、読取ったバーコードの両端に位置する黒バーについて追跡を行い(ステップB1)、それら2本の黒バーが平行であるか否かを判断する(ステップB2)。両者が平行であれば(「YES」)、従来通りで問題なく、走査線に沿ってマージンチェックを行うことが可能である(ステップB3)。そして、バーコードの種類に応じたマージンが存在すれば(ステップB4,「YES」)処理は終了する。
一方、ステップB2において、両端のバーコードが平行でなければ(「NO」)、走査線に沿ってバーコードの外形ABCDを求める(ステップB6,図9(b)参照)。次に、バーコードの種類に応じて規定されているマージンの量を外形ABCDから計算し、マージン領域ABA’B’,CDC’D’を求めて外形ABCDの両側に設定する(ステップB7)。
続いて、マージン領域ABA’B’,CDC’D’に対し、図9(c)に示すように、外形ABCDの両端から外方に向けて複数の検査線を設定すると(ステップB8)、それらの各検査線について規定されたマージンが確保されているか否かを判断する(ステップB9)。例えば、検査線を3本以上設定し、それらの内でマージンが確保されているものが多数を占めた場合は「OK」と判断し(「YES」)処理を終了する。マージンが確保されているものが少数であれば(「NO」)読取りは「NG」とする(ステップB5)。
以上のように第4実施例によれば、エリアセンサである光学的センサ10によりバーコードの読取りを2次元的に行う場合、バーコードパターンの少なくとも一端において、バー高さ方向の異なる位置に複数の検査線を設定して、それら検査線上の夫々につきマージンが確保されているかを判定するようにした。従って、読取装置1による読取りが、バーコードが印刷されている平面に対し仰角または俯角が付くように傾いた状態で行われた結果、バーコードの画像が両端側で傾いてしまったような場合やバーコードの印字品質が良くない場合でも、マージンが存在するか否かを確実に判定することができる。
また、複数の検査線を3本以上設定し、これらの検査線についてマージンが確保されているかを多数決原理で決定するので、マージンの存否を妥当に判定することができる。そして、両端に位置するバーの配置が平行であるか否かを判定し、両者が不平行である場合に複数の検査線を設定し、両者が平行である場合は従来と同様にマージンチェックを行うようにした。従って、バーコードの読取りが傾いた状態で行われたものと推定される場合にだけ複数の検査線が設定することで、読取りをより迅速に行うことができる。
(第5実施例)
図12及び図13は本発明の第5実施例を示すものである。例えば、表などのスペースが限られている所にバーコードを付す場合、ラベル15の枠線に対して、規定されたマージンを確保することなくバーコードを印刷するようなことがある(図13参照)。第5実施例は、斯様な場合にも対応して確実にマージンチェックを行うものである。
図12において、制御回路3は、バーコード両端外側の規定されたマージン領域中に検査線を設定し、黒バーが存在するか否かを判断する(ステップC1)。即ち、図13に示すような状態では、ラベル15の枠線自体を黒バーとして検出する場合がある。黒バーがなければ(「NO」)従来通りで問題はないので、ステップC5に移行して規定されたマージンがあるか否かを判断する。ステップC5で規定されたマージンがない場合は(「NO」)読取り「NG」とする(ステップC6)。
一方、マージン領域中に、黒バーが存在した場合は(「YES」)、その黒バーを追跡して高さH2を検出する(ステップC2)。それから、検出した高さH2を、既に読取ったバーコードのバーの高さH1と比較する(ステップC3)。「H1<H2」であれば(「YES」)、ステップC1で検出した黒バーは、バーコードパターンを構成するバーではなくラベル15の枠線であると推定することができる。従って、ステップC1で検出した黒バーは無視して、当該黒バーが位置する部分はマージン領域の一部であると判別し(ステップC4)、ステップC5に移行する。また、ステップC3において、「H1≧H2」であれば(「NO」)、ステップC1で検出した黒バーはバーコードパターンを構成するバーの可能性があるので、当該黒バーをコードパターンに加えて再度デコードを行う(ステップC7)。
以上のように第5実施例によれば、バーコードパターンの両端外側に検査線上で検出されたバーの高さH2を測定して当該バーの高さを読取り済みバーコードのバーの高さH1と比較し、両者の高さが異なる場合は検査線上で検出されたバーをマージンと判定するようにした。従って、バーコードがラベル15の枠内に規定されたマージンが確保されていない状態で印刷されているような場合でも、バーコードの一部であるバーとラベル15の枠線とを確実に判別することができる。
(第6実施例)
図14は本発明の第6実施例を示すものであり、第1実施例と異なる部分について説明する。第6実施例では、第1実施例の図2で示したように、RSS_Limitedのコードパターンの内、UPC−A/EAN−13のコードパターンの一部に一致するものを全て、予めメモリ4に記憶させておく。そして、制御回路3は、ステップA15で「YES」と判断すると、メモリ4に記憶させたRSS_Limitedのコードパターンを検索する(ステップA20)。それから、ステップA7でデコードしたRSS_Limitedのコードパターンが、メモリ4に記憶させたパターンに一致するか否かを判断する(ステップA21)。
ステップA21において、一致するパターンが存在しなければ(「NO」)、その時点で、デコードしたRSS_LimitedがUPC−A/EAN−13のコードパターンの一部でないことが確定するので処理を終了する。一方、一致するパターンが存在すれば(「YES」)ステップA16に移行して第1実施例と同様に処理を行なう。
以上のように第6実施例によれば、RSS_LimitedがUPC−A/EAN−13のコードパターンの一部と一致するため両者を読み間違える可能性がある場合にだけ、第1実施例と同様の処理を行うので、読取りをより効率的に行うことができる。
(第7実施例)
図15は本発明の第7実施例を示すものであり、第1実施例と異なる部分について説明する。第7実施例では、制御回路3は、ステップA13の実行後に、ユーザによってRSS_LimitedとPOSコードの少なくとも1種類とが双方とも読取り対象に設定されているか否かを判断する(ステップA22)。そして、双方とも読取り対象に設定されていれば(「YES」)ステップA15に移行し、双方とも読取り対象に設定されていない場合は(「NO」,この場合、何れか一方だけが対象の場合も含む)そのまま処理を終了する。
即ち、双方が読取り対象に設定されていない場合は、読み取り対象のバーコードは何れか一方のみであることが前提であるから、POSコードを誤ってRSS_Limitedと読取る可能性はない。従って、双方が読取り対象に設定されている場合にだけステップA15〜A17を実行することで読取り効率を向上させることができる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
第1乃至第3実施例で行うバーコードの読み取りは、ラインセンサによって1次元的に行っても良い。
第1バーコードを構成するバーの最大幅の決定は、ステップA3でバー幅を検出した段階で行っても良い。また、必ずしも実際に読取ったパターンに基づいて決定する必要はなく、読取り対象として想定されるバーコードの種類に応じてバーの最大幅を予めデータとして保持しておき、そのデータに基づいて決定しても良い。
第2実施例において、UPC−A/EAN−13のキャラクタコードが存在するかどうかに替えて、バーコードの両端が全て1〜4モジュールのバーで構成されている場合に、読み取りを「NG」としても良い。
また、第2実施例においてステップA15を削除し、「読み取りOK」となったバーコードがRSS_Limitedであるか否かに係らず、ステップA18で第1バーコードのキャラクタコードについて存否を判定するようにしても良い。そして、この時ステップA18では、第1バーコードのキャラクタコードのみならず、スタートパターン又はストップパターンが存在するか否かについても判定するようにしても良い。
第4実施例において、複数の検査線の全てについてマージンが確保されている場合にのみマージンの存在を確定しても良く、この場合、マージンの存否を一層確実に判定することができる。
また、第4実施例において、ステップB2を省略し、両端のバーが平行であるか否かにかかわらず以降の処理を実施しても良い。
第4又は第5実施例のマージンチェック方法を、例えば第1実施例のステップA17に対して適用しても良い。
第2過程における最大幅を超えるバーは、黒バーを対象としても良い。
バーコード読取装置1を、夫々のバーコードにマージンが適切に設定されているか否かを判別する手段を、バーコードの種類毎に設定可能となるように構成しても良い。斯様に構成すれば、例えばRSS_Limitedのようにマージンが規定されていないバーコードだけを読取るような場合には、不要な判定処理を行うことなく読み取りを迅速に行うことができる。
第1,第2バーコードは、夫々POSコード,RSS_Limitedに限ることはなく、要は、第1バーコードの一部のコードパターンが、第2バーコードのコードパターンに一致又は類似するような関係にあるものに適用することができる。
本発明の第1実施例であり、バーコード読取装置の制御回路が制御プログラムを実行した場合の処理内容を示すフローチャート RSS_Limitedと、UPC−Aのバーコードパターンの一部とが一致するものを上下に配列して示す図 バーコード読取装置の電気的構成を概略的に示す機能ブロック図 本発明の第2実施例を示す図1相当図 読取り対象のバーコードと、バーコード読取装置の読取り視野との位置関係の一例を示す図 本発明の第3実施例を示す図1相当図 図5相当図 本発明の第4実施例であり、制御回路がマージンチェックを行う場合の処理内容を示すフローチャート 図8の処理内容を、読取ったバーコードパターンに即して説明する図 従来の走査線の設定状態を示す図(その1) 従来の走査線の設定状態を示す図(その2) 本発明の第5実施例を示す図1相当図 ラベルの枠に対して、規定されたマージンを確保せずバーコードを印刷した状態を示す図 本発明の第6実施例を示す図1相当図 本発明の第7実施例を示す図1相当図
符号の説明
図面中、1はバーコード読取装置、3は制御回路(コンピュータ)、4はメモリ、10は光学的センサ(エリアセンサ)、14は制御プログラム(コンピュータプログラム)を示す。

Claims (40)

  1. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取方法において、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されている第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行う第1過程と、
    前記読取りが正常終了した場合は、前記明暗パターン列に含まれているバーの幅に基づき、当該明暗パターン列が前記第1バーコードの一部であると仮定した場合に存在し得る最大幅のバーについて、前記明暗パターン列の両端側の少なくとも一方に、前記最大幅を超えるバーが存在するかどうかを判定する第2過程とからなり、
    前記第2過程において前記バーが存在すると判定した場合は、前記明暗パターン列を前記第2バーコードの読取りデータとして確定することを特徴とするバーコード読取方法。
  2. 前記第2過程において、前記最大幅を超えるバーが存在するか否かの判定は最初に白バーについて行い、前記白バーが存在しなかった場合は、次に黒バーについて同様の判定を行うことを特徴とする請求項1記載のバーコード読取方法。
  3. エリアセンサを用いてバーコードの読取りを2次元的に行う場合に、
    前記第2過程において、前記明暗パターン列の少なくとも一端から外方に、バーの高さ方向における異なる位置に複数の検査線を設定し、これら複数の検査線上の夫々について前記最大幅を超えるバーが存在するかどうかを判定することを特徴とする請求項1又は2記載のバーコード読取方法。
  4. 前記複数の検査線を3本以上設定し、これらの検査線について前記最大幅を超えるバーが存在するか否かを、多数決原理に基づいて決定することを特徴とする請求項3記載のバーコード読取方法。
  5. 前記複数の検査線の全てについて前記最大幅を超えるバーが存在する場合にのみ、前記バーの存在を確定することを特徴とする請求項3記載のバーコード読取方法。
  6. 前記第2過程において、両端に位置するバーの配置が平行であるか否かを判定し、両者が不平行であると判定すると、前記複数の検査線を設定することを特徴とする請求項3乃至5の何れかに記載のバーコード読取装置。
  7. 前記検査線上において検出されたバーの高さを測定し、当該バーの高さを読取り済みのバーコードについてのバーの高さと比較し、両者の高さが異なる場合は、前記検査線上において検出されたバーはマージンであると判定することを特徴とする請求項3乃至6の何れかに記載のバーコード読取方法。
  8. 前記第2バーコードが前記第1バーコードの一部と一致するパターンを予め記憶しておき、
    前記第1過程における読取りが正常終了した場合は、前記明暗パターン列が予め記憶した前記パターンの1つに一致するかを照合し、一致した場合は前記第2過程を実施することを特徴とする請求項1乃至7の何れかに記載のバーコード読取方法。
  9. 前記第1バーコードは、POSコードの内の何れか1種類であり、
    前記第2バーコードは、RSS_Limitedであることを特徴とする請求項1乃至8の何れかに記載のバーコード読取方法。
  10. 前記POSコードの内の少なくとも何れか1種類と、前記RSS_Limitedとの読取りが何れも許可されるように設定されている場合に、前記第2過程を実施することを特徴とする請求項9記載のバーコード読取方法。
  11. 前記第2過程において、バー幅の最小単位(モジュール)に対して、前記最大幅を4モジュール相当の幅に設定することを特徴とする請求項9又は10記載のバーコード読取方法。
  12. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取方法において、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されている第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行う第1過程と、
    前記読取りが正常終了した場合は、前記明暗パターン列の両端の少なくとも一方に前記第1バーコードのキャラクタパターン,スタート又はストップパターンが存在するかどうかを判定する第2過程とからなり、
    前記第2過程において前記第1バーコードのパターンが存在すると判定した場合は、読み取り失敗と判定することを特徴とするバーコード読取方法。
  13. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取方法において、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行い、
    前記読取りが正常終了した場合において、前記明暗パターン列の両端の少なくとも一方に前記第1バーコードのキャラクタパターンが存在する場合は、読取り失敗と判定することを特徴とするバーコード読取方法。
  14. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取方法において、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行い、
    前記読取りが正常終了した場合において、前記バーコードの両端と読取り視野の両端との間に所定の距離があるか否かを判断し、前記所定の距離がない場合は当該バーコードの読取りを失敗と判定することを特徴とするバーコード読取方法。
  15. エリアセンサを用いてバーコードの読取りを2次元的に行う場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列の少なくとも一端から外方に、バーの高さ方向における異なる位置に複数の検査線を設定し、これら複数の検査線上の夫々について前記所定のマージンが確保されているか否かを判定することを特徴とするバーコード読取方法。
  16. 前記複数の検査線を3本以上設定し、これらの検査線について前記所定のマージンが確保されているか否かを、多数決原理に基づいて決定することを特徴とする請求項15記載のバーコード読取方法。
  17. 前記複数の検査線の全てについて前記所定のマージンが存在する場合にのみ、当該マージンの存在を確定することを特徴とする請求項15記載のバーコード読取方法。
  18. 明暗パターン列の両端に位置するバーの配置が平行であるか否かを判定し、両者が不平行であると判定すると、前記複数の検査線を設定することを特徴とする請求項15乃至17の何れかに記載のバーコード読取方法。
  19. 前記検査線上において検出されたバーの高さを測定し、当該バーの高さを読取り済みのバーコードについてのバーの高さと比較し、両者の高さが異なる場合は、前記検査線上において検出されたバーはマージンであると判定することを特徴とする請求項14乃至17の何れかに記載のバーコード読取方法。
  20. 請求項1乃至19の何れかに記載のバーコード読取方法を実行可能に構成されていることを特徴とするバーコード読取装置。
  21. 夫々のバーコードにマージンが適切に設定されているか否かを判別する手段を、バーコードの種類毎に設定可能に構成されていることを特徴とする請求項20記載のバーコード読取装置。
  22. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取装置を制御するコンピュータによって実行されるプログラムにおいて、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されている第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行う第1過程を実行させ、
    前記読取りが正常終了した場合は、前記明暗パターン列に含まれているバーの幅に基づき、当該明暗パターン列が前記第1バーコードの一部であると仮定した場合に存在し得る最大幅のバーについて、前記明暗パターン列の両端側の少なくとも一方に、前記最大幅を超えるバーが存在するかどうかを判定する第2過程を実行させると共に、
    前記第2過程において前記バーが存在すると判定した場合は、前記明暗パターン列を前記第2バーコードの読取りデータとして確定させることを特徴とするコンピュータプログラム。
  23. 前記第2過程において、前記最大幅を超えるバーが存在するか否かの判定は最初に白バーについて行わせ、前記白バーが存在しなかった場合は、次に黒バーについて同様の判定を行わせることを特徴とする請求項22記載のコンピュータプログラム。
  24. バーコードの読取りが2次元的に行われる場合に、
    前記第2過程において、前記明暗パターン列の少なくとも一端から外方に、バーの高さ方向における異なる位置に複数の検査線を設定させ、これら複数の検査線上の夫々について前記最大幅を超えるバーが存在するかどうかを判定させることを特徴とする請求項22又は23記載のコンピュータプログラム。
  25. 前記複数の検査線を3本以上設定させ、これらの検査線について前記最大幅を超えるバーが存在するか否かを、多数決原理に基づいて決定させることを特徴とする請求項24記載のコンピュータプログラム。
  26. 前記複数の検査線の全てについて前記最大幅を超えるバーが存在する場合にのみ、前記バーの存在を確定させることを特徴とする請求項24記載のコンピュータプログラム。
  27. 前記第2過程において、両端に位置するバーの配置が平行であるか否かを判定させ、両者が不平行であると判定した場合に、前記複数の検査線を設定させることを特徴とする請求項22乃至26の何れかに記載のコンピュータプログラム。
  28. 前記検査線上において検出されたバーの高さを測定させ、当該バーの高さを読取り済みのバーコードについてのバーの高さと比較させ、両者の高さが異なる場合は、前記検査線上において検出されたバーはマージンであると判定させることを特徴とする請求項22乃至27の何れかに記載のコンピュータプログラム。
  29. 前記第2バーコードが前記第1バーコードの一部と一致するパターンが予め記憶されている場合に、
    前記第1過程における読取りが正常終了した場合は、前記明暗パターン列が予め記憶した前記パターンの1つに一致するかを照合させ、一致した場合は前記第2過程を実施させることを特徴とする請求項22乃至28の何れかに記載のコンピュータプログラム。
  30. 前記第1バーコードは、POSコードの内の何れか1種類であり、
    前記第2バーコードは、RSS_Limitedであることを特徴とする請求項22乃至29の何れかに記載のコンピュータプログラム。
  31. 前記POSコードの内の少なくとも何れか1種類と、前記RSS_Limitedとの読取りが何れも許可されるように設定されている場合に、前記第2過程を実施させることを特徴とする請求項30記載のコンピュータプログラム。
  32. 前記第2過程において、バー幅の最小単位(モジュール)に対して、前記最大幅を4モジュール相当の幅に設定させることを特徴とする請求項30又は31記載のコンピュータプログラム。
  33. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取装置を制御するコンピュータによって実行されるプログラムにおいて、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されている第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行う第1過程を実行させ、
    前記読取りが正常終了した場合は、前記明暗パターン列の両端の少なくとも一方に前記第1バーコードのキャラクタパターン,スタート又はストップパターンが存在するかどうかを判定する第2過程を実行させると共に、
    前記第2過程において前記第1バーコードのパターンが存在すると判定した場合は、読み取り失敗と判定させることを特徴とするコンピュータプログラム。
  34. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取装置を制御するコンピュータによって実行されるプログラムにおいて、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行わせ、
    前記読取りが正常終了した場合において、前記明暗パターン列の両端の少なくとも一方に前記第1バーコードのキャラクタパターンが存在する場合は、読取り失敗と判定させることを特徴とするコンピュータプログラム。
  35. 複数種類の規格に基づいて作成されたバーコードを光学的に読み取り、当該バーコードに記録されているデータをデコードするバーコード読取装置を制御するコンピュータによって実行されるプログラムにおいて、
    前記複数種類の内、第1規格に基づく第1バーコードの一部のコードパターンが、前記第1規格よりもバーの構成本数が少なく設定されており、且つ両端にマージンの設定がない第2規格に基づく第2バーコードとして読取れる可能性がある場合に、
    読取ったバーコードを2値化処理して得られた明暗パターン列について、前記第2規格の読取りアルゴリズムを適用して読み取りを行わせ、
    前記読取りが正常終了した場合において、前記バーコードの両端と読取り視野の両端との間に所定の距離があるか否かを判断させ、前記所定の距離がない場合は当該バーコードの読取りを失敗と判定させることを特徴とするコンピュータプログラム。
  36. 光学的方式により2次元的に読み取られたバーコードに記録されているデータをデコードするバーコード読取装置を制御するコンピュータによって実行されるプログラムにおいて、
    読取ったバーコードを2値化処理して得られた明暗パターン列の少なくとも一端から外方に、バーの高さ方向における異なる位置に複数の検査線を設定させ、これら複数の検査線上の夫々について前記所定のマージンが確保されているか否かを判定させることを特徴とするコンピュータプログラム。
  37. 前記複数の検査線を3本以上設定させ、これらの検査線について前記所定のマージンが確保されているか否かを、多数決原理に基づいて決定させることを特徴とする請求項36記載のコンピュータプログラム。
  38. 前記複数の検査線の全てについて前記所定のマージンが存在する場合にのみ、当該マージンの存在を確定させることを特徴とする請求項36記載のコンピュータプログラム。
  39. 明暗パターン列の両端に位置するバーの配置が平行であるか否かを判定させ、両者が不平行であると判定すると、前記複数の検査線を設定させることを特徴とする請求項36乃至38の何れかに記載のコンピュータプログラム。
  40. 前記検査線上において検出されたバーの高さを測定させ、当該バーの高さを読取り済みのバーコードについてのバーの高さと比較させ、両者の高さが異なる場合は、前記検査線上において検出されたバーはマージンであると判定させることを特徴とする請求項36乃至39の何れかに記載のコンピュータプログラム。

JP2005039129A 2005-02-16 2005-02-16 バーコード読取り方法及びコンピュータプログラム Expired - Fee Related JP4254724B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005039129A JP4254724B2 (ja) 2005-02-16 2005-02-16 バーコード読取り方法及びコンピュータプログラム
EP06003017A EP1693780B1 (en) 2005-02-16 2006-02-15 Method and apparatus for optically reading out information stored in a barcode
EP10152805.7A EP2182467B1 (en) 2005-02-16 2006-02-15 Method and apparatus for optically reading out information stored in a barcode
US11/354,994 US9230147B2 (en) 2005-02-16 2006-02-16 Method and apparatus for optically reading out information stored in a barcode
US14/946,925 US10509933B2 (en) 2005-02-16 2015-11-20 Method and apparatus for optically reading out information stored in a barcode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005039129A JP4254724B2 (ja) 2005-02-16 2005-02-16 バーコード読取り方法及びコンピュータプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2008078072A Division JP4636104B2 (ja) 2008-03-25 2008-03-25 バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム
JP2008078073A Division JP4636105B2 (ja) 2008-03-25 2008-03-25 バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2006227796A true JP2006227796A (ja) 2006-08-31
JP4254724B2 JP4254724B2 (ja) 2009-04-15

Family

ID=36580471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005039129A Expired - Fee Related JP4254724B2 (ja) 2005-02-16 2005-02-16 バーコード読取り方法及びコンピュータプログラム

Country Status (3)

Country Link
US (2) US9230147B2 (ja)
EP (2) EP1693780B1 (ja)
JP (1) JP4254724B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097317A (ja) * 2008-10-15 2010-04-30 Denso Wave Inc バーコード読取方法およびバーコード読取装置
JP2010250641A (ja) * 2009-04-17 2010-11-04 Denso Wave Inc バーコード読取方法およびバーコード読取装置
CN101882206A (zh) * 2010-06-01 2010-11-10 福建新大陆电脑股份有限公司 Rss条码解码芯片

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254724B2 (ja) * 2005-02-16 2009-04-15 株式会社デンソーウェーブ バーコード読取り方法及びコンピュータプログラム
US7364080B2 (en) * 2006-03-22 2008-04-29 Symbol Technologies, Inc. System and method for bar code detection
US7798409B2 (en) * 2007-06-28 2010-09-21 Symbol Technologies, Inc. Reading failure prevention in imaging readers
US8960550B2 (en) 2008-12-30 2015-02-24 Symbol Technologies, Inc. Minimizing misdecodes in electro-optical readers
US8915442B2 (en) 2009-01-29 2014-12-23 Symbol Technologies, Inc. Arrangement for and method of reducing short reads in an imaging reader
PL3143552T3 (pl) * 2014-05-13 2021-11-08 Société des Produits Nestlé S.A. Pojemnik i kod systemu do przygotowywania napoju lub artykułu spożywczego
US10146978B2 (en) 2015-07-14 2018-12-04 Afero, Inc. Apparatus and method for accurate barcode scanning using dynamic timing feedback
JP6645143B2 (ja) * 2015-11-30 2020-02-12 ブラザー工業株式会社 画像解析装置
US9626543B1 (en) * 2015-12-14 2017-04-18 Afero, Inc. Apparatus and method for accurate barcode scanning using dynamic timing feedback
CN107609450B (zh) * 2017-09-08 2020-06-26 苏州佳世达光电有限公司 条码辨识方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5723178A (en) 1980-07-15 1982-02-06 Sankusu:Kk Information code reader of label reader
JPS6011973A (ja) * 1983-07-01 1985-01-22 Nec Corp バ−コ−ド読取装置
JPH0762858B2 (ja) * 1985-06-06 1995-07-05 株式会社サトー バーコード読取方法および装置
US4782220A (en) * 1986-09-29 1988-11-01 Mars, Incorporated Method and apparatus for bar code data autodiscrimination
US4859840A (en) * 1987-10-30 1989-08-22 Alps Electric Co., Ltd. Code reading apparatus
US4873426A (en) * 1988-08-03 1989-10-10 Image Business Systems Corporation Technique for reading bar codes
US5036183A (en) * 1988-08-25 1991-07-30 Alps Electric Co., Ltd. Code reading device
US5600119A (en) * 1988-10-21 1997-02-04 Symbol Technologies, Inc. Dual line laser scanning system and scanning method for reading multidimensional bar codes
JP2761265B2 (ja) * 1989-11-07 1998-06-04 富士通株式会社 バーコード読取方式
US5369264A (en) * 1990-09-28 1994-11-29 Symbol Technologies, Inc. Reading bar codes with a wide laser beam
JPH04216184A (ja) 1990-12-17 1992-08-06 Nec Eng Ltd バーコード読取装置
US5414252A (en) * 1991-02-08 1995-05-09 Fujitsu Limited High speed scan bar code reader which can read more than one type of bar code
DE69233268T2 (de) * 1991-03-04 2004-06-24 Fujitsu Ltd., Kawasaki Gerät und Verfahren zur Streifenkodelesung
JP3233981B2 (ja) * 1992-05-26 2001-12-04 オリンパス光学工業株式会社 シンボル情報読取装置
US5311000A (en) * 1992-07-31 1994-05-10 Spectra-Physics Scanning Systems, Inc. Bar code scanner and method of scanning
JPH06295352A (ja) 1993-04-08 1994-10-21 Fuji Electric Co Ltd バーコード検出装置のバーコード識別方法
US5811781A (en) * 1993-11-05 1998-09-22 Intermec Corporation Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same
JPH07239899A (ja) 1994-02-28 1995-09-12 Toshiba Corp 光学的文字読取装置
US5664231A (en) * 1994-04-29 1997-09-02 Tps Electronics PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
US5550366A (en) * 1994-06-20 1996-08-27 Roustaei; Alexander Optical scanner with automatic activation
JPH08185463A (ja) 1994-12-28 1996-07-16 Pentel Kk バ−コ−ド切り出し方法
US5514858A (en) * 1995-02-10 1996-05-07 Intermec Corporation Method and apparatus for decoding unresolved complex multi-width bar code symbology profiles
US6415982B2 (en) * 1995-03-20 2002-07-09 Symbol Technologies, Inc. Triggered data collector and data transmitter
US5739518A (en) * 1995-05-17 1998-04-14 Metanetics Corporation Autodiscrimination for dataform decoding and standardized recording
US5539191A (en) * 1995-06-22 1996-07-23 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles using edge finding circuitry
JPH09179927A (ja) * 1995-12-26 1997-07-11 Fujitsu Ltd バーコード読取装置
US5969325A (en) * 1996-06-03 1999-10-19 Accu-Sort Systems, Inc. High speed image acquisition system and method of processing and decoding barcode symbol
US6102289A (en) * 1996-06-28 2000-08-15 Intermec Ip Corp. 1D finder pattern for 2D bar codes
JPH10134130A (ja) * 1996-10-28 1998-05-22 Fujitsu Ltd バーコード読取方法およびバーコード読取装置
US5767497A (en) * 1996-12-04 1998-06-16 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using ratio analysis of module size
DE19711873C2 (de) * 1997-03-21 2003-03-06 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
US6561427B2 (en) * 1998-09-14 2003-05-13 Psc Scanning, Inc. Decoding system and methods in a bar code scanning system
ATE239268T1 (de) * 1998-12-22 2003-05-15 Datalogic Spa Verfahren zur automatischen regulierung der eigenschaften eines optischen codelesesystems
US6164543A (en) * 1999-04-13 2000-12-26 Hewlett-Packard Company Method of deciphering bar codes
JP3640573B2 (ja) * 1999-07-27 2005-04-20 日立コンピュータ機器株式会社 バーコード読取り方法及びバーコード読取りシステム
US6631843B2 (en) * 2000-02-18 2003-10-14 Symbol Technologies, Inc. Composite code symbology
US7137555B2 (en) * 2000-02-28 2006-11-21 Psc Scanning, Inc. Multi-format bar code reader
EP1182604A1 (en) 2000-08-22 2002-02-27 Setrix AG Method and apparatus for reading a bar code
US7108170B2 (en) * 2001-06-08 2006-09-19 Psc Scanning, Inc. Add-on capture rate in a barcode scanning system
JP4154871B2 (ja) 2001-07-10 2008-09-24 株式会社デンソーウェーブ バーコード読取方法およびバーコード読取装置
US6938824B2 (en) * 2001-09-26 2005-09-06 Symbol Technologies, Inc. Decoding algorithm for laser scanning bar code readers
US20030080191A1 (en) * 2001-10-26 2003-05-01 Allen Lubow Method and apparatus for applying bar code information to products during production
EP1461760B1 (en) 2001-11-30 2009-08-19 International Barcode Corporation System and method for validating a digital image and corresponding data
JP4058529B2 (ja) * 2003-09-08 2008-03-12 株式会社デンソーウェーブ 光学情報読取装置
KR100667778B1 (ko) * 2004-11-20 2007-01-11 삼성전자주식회사 바코드 판독 방법 및 장치
JP4254724B2 (ja) * 2005-02-16 2009-04-15 株式会社デンソーウェーブ バーコード読取り方法及びコンピュータプログラム
US7628331B2 (en) * 2005-09-29 2009-12-08 Symbol Technologies, Inc. Method and system for optimizing scanner performance
US7677457B2 (en) * 2005-11-28 2010-03-16 Symbol Technologies, Inc. System and method for decoding a barcode
US7934660B2 (en) * 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US7364080B2 (en) * 2006-03-22 2008-04-29 Symbol Technologies, Inc. System and method for bar code detection
US7584890B2 (en) * 2006-06-23 2009-09-08 Global Payment Technologies, Inc. Validator linear array
DE602008006482D1 (de) * 2007-03-27 2011-06-09 Casio Computer Co Ltd Strichcode-Lesegerät und computerlesbares Medium
US8950673B2 (en) * 2007-08-30 2015-02-10 Symbol Technologies, Inc. Imaging system for reading target with multiple symbols
US8939363B2 (en) * 2013-03-15 2015-01-27 The Code Corporation Creating a virtual bar code from a physical bar code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097317A (ja) * 2008-10-15 2010-04-30 Denso Wave Inc バーコード読取方法およびバーコード読取装置
JP2010250641A (ja) * 2009-04-17 2010-11-04 Denso Wave Inc バーコード読取方法およびバーコード読取装置
CN101882206A (zh) * 2010-06-01 2010-11-10 福建新大陆电脑股份有限公司 Rss条码解码芯片

Also Published As

Publication number Publication date
US10509933B2 (en) 2019-12-17
EP1693780B1 (en) 2011-11-02
EP2182467B1 (en) 2015-06-24
EP1693780A2 (en) 2006-08-23
JP4254724B2 (ja) 2009-04-15
US20060180669A1 (en) 2006-08-17
EP2182467A1 (en) 2010-05-05
US20160078267A1 (en) 2016-03-17
US9230147B2 (en) 2016-01-05
EP1693780A3 (en) 2009-08-05

Similar Documents

Publication Publication Date Title
JP4254724B2 (ja) バーコード読取り方法及びコンピュータプログラム
EP3040906B1 (en) Visual feedback for code readers
JP4058529B2 (ja) 光学情報読取装置
CN111052125B (zh) 用于读取在多个图像上捕获的条形码的方法和系统
JP4636105B2 (ja) バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム
JP4636104B2 (ja) バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム
EP2370930B1 (en) Minimizing misdecodes in electro-optical readers
JP4419805B2 (ja) 光学式情報読取装置
JP2009295108A (ja) 情報コード読取装置及び情報コード読取方法
JP4100273B2 (ja) 2次元コードの読取方法および2次元コード読取装置
JP5195264B2 (ja) バーコード読取方法およびバーコード読取装置
US8840025B2 (en) Arrangement for and method of preventing symbol misreads in electro-optical readers
JP2020160759A (ja) 二次元コード読取装置
JP6398809B2 (ja) 情報コード読取装置
JP5152086B2 (ja) バーコード読取方法およびバーコード読取装置
JP5825141B2 (ja) 光学的情報読取装置
JP2012009058A (ja) データコード読取装置及びその方法
JP2019046330A (ja) 光学式情報読取装置
JP2011028414A (ja) 光学的情報読取装置
JP2020135359A (ja) 2次元情報コード読取装置、2次元情報コード読取方法、及び2次元情報コード読取プログラム
JP2009093214A (ja) バーコード読取装置及びプログラム
JP2006023912A (ja) 情報コード読取装置及び情報コードの読取方法
JPH07334609A (ja) バーコード読取装置
JP2004094471A (ja) バーコード読取方法およびバーコード読取装置
WO2013003339A1 (en) Method of and reader for electro-optically reading symbols on curved surfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081127

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: 20090106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4254724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

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

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

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