JP4162279B2 - バーコード・スキャナ及びバーコード走査方法 - Google Patents

バーコード・スキャナ及びバーコード走査方法 Download PDF

Info

Publication number
JP4162279B2
JP4162279B2 JP25037497A JP25037497A JP4162279B2 JP 4162279 B2 JP4162279 B2 JP 4162279B2 JP 25037497 A JP25037497 A JP 25037497A JP 25037497 A JP25037497 A JP 25037497A JP 4162279 B2 JP4162279 B2 JP 4162279B2
Authority
JP
Japan
Prior art keywords
width
bar
bar code
error
barcode
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.)
Expired - Lifetime
Application number
JP25037497A
Other languages
English (en)
Other versions
JPH10105643A (ja
Inventor
ヘスケ スィーダー
マイケル ブランフォード デニス
マイロン メルゲンザラー バリー
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.)
NCR International Inc
Original Assignee
NCR International 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 NCR International Inc filed Critical NCR International Inc
Publication of JPH10105643A publication Critical patent/JPH10105643A/ja
Application granted granted Critical
Publication of JP4162279B2 publication Critical patent/JP4162279B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Printers Characterized By Their Purpose (AREA)
  • Character Input (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、概して、バーコード・スキャナに関し、特に印刷エラーによる欠陥のあるバーコードの走査に関する。
【0002】
【従来の技術、及び、発明が解決しようとする課題】
従来のバーコードは、ラベル上に適当に印刷された幅が種々に変化するバーとスペースを含む。このようなバーコードは、一つまたはそれ以上の次元で従来の任意の形をとることができ、例えば、通常の一次元のUPC形式を含む。UPC記号は、オハイオ州、デイトン所在のユニフォーム・プロダクト・コード。カウンセル社が指定した仕様に基づいている。通常のUPCバーコードは、一連または一続きの交互に配置された幅がいろいろに変化する黒いバーとスペースを含む。上記バーおよびスペースは、個々の文字を表すグループの形に配置されている。バーコードは、左端の文字で始まり、右端の文字で終わり、中央に参照文字を持ち、その間に必要な任意のデータを表す文字が配置されている。
【0003】
UPC記号のバーおよびスペースの最小の幅は、単位幅を表す一つのモジュールとして定義されている。UPC記号を使用してコード化された一つの文字の幅は、7モジュールである。7モジュールのUPC文字一つは、それぞれの文字を区別するための種々の幅を持つ二つのバーと二つのスペースを有する。
【0004】
レーザー・スキャナのような従来のバーコード・スキャナは、バーおよびスペース全体にわたってバーコードを走査ビームで掃引し、そこからの散乱光をスキャナの光検出装置により適当に検出する。上記の散乱光は、信号の強度が最大から最小に変化し、持続時間も変化する特有の特徴を持つ。最大の信号強度は、何もないスペースの検出に対応し、最小の信号強度は、黒いバーの検出に対応する。走査ビームの掃引速度は正確に分かっているので、交互に起こる最大信号および最小信号の強度の相対的持続時間は、バーおよびスペースの変化する幅に対応する。本発明のスキャナは、幅モジュールに基づいて検出したバーおよびスペースの変化する幅を識別する従来のデコーダを含み、それによりコード化された対応するデータの特徴を供給する。
【0005】
従って、それによりコード化されたデータを正しく解読するには、バーおよびスペースの相対的な幅が正確であることが極めて重要である。バーおよびスペースの幅が広すぎたり、狭すぎたりした場合には、デコーダは、バーコードが有効であることを認識できずに、バーコードを読むことができない。
【0006】
現在一般に認められているバーコード・ラベルの印刷方法は数種類ある。ある実施形態の場合には、感熱プリンタのようなリニヤ・プリントヘッドは、単一の制御により加熱することができる数百の感熱印刷素子のリニヤ・アレイを含む。ラベルは、感熱性の何も印刷されていない紙のラベルを、リニヤ感熱素子アレイに接触させた状態で並進させることにより印刷される。この紙は熱に感応して、熱が加えられた点が黒くなり、熱が加えられない部分がほぼ白いままで残る。このようにして、紙の上にテキスト、数字および特殊なバーコードの像を生成するために、プリンタ素子を個々に制御することができる。
【0007】
リニヤ・プリンタの共通の故障は、個々の印刷素子が故障することである。この場合、プリンタは、故障を起こしている素子の場所には印刷することができず、その結果、対応する黒いスペースを印刷しようとするところに白いスペースができてしまう。バーコード・ラベルの場合、黒いバーを印刷しなければならない場所に故障した素子があると、印刷が行われないバーの全長に沿って目で見ることができる狭いギャップができる。印刷の際にこのようなギャップができると、容易にバーコードがダメになり欠陥を生じる。何故なら、ギャップは個々のバーの全長にわたって生じ、そのためその幅が本来あるべき幅と異なってしまうからである。印刷エラーは、個々のバーの二つの境界に生じる場合もあるし、個々のバーの内部で生じる場合もあるが、いずれの場合でも、対応する幅に変化が生じ、その結果、解読エラーが起こる。何故なら、そのバーコードはもはや適用できるバーコード記号の必要な仕様に適合しないからである。
【0008】
本発明の目的は、現在のスキャナより、印刷エラーによって影響を受けにくいバーコード・スキャナを提供することである。
【0009】
【課題を解決するための手段】
本発明は、所定のモジュール幅の整数倍の複数のバー及びスペースから成るバーコードの走査方法であって、前記バーコードを走査するステップと、前記走査によって得られた信号から前記モジュール幅の倍数として前記バーコードを構成するバー及びスペースの夫々の幅を測定するステップと、前記測定において、隣接しているバー及びスペースが前記モジュール幅の所定の分数値の幅を夫々有しているか否かを検出するステップと、前記隣接しているバー及びスペースが前記分数値の幅を夫々有している場合には、当該所定の分数値の幅を有するスペースをバーとするステップと、の各ステップを有するバーコード走査方法を提供するものである
【0010】
また、本発明は、所定のモジュール幅の整数倍の複数のバー及びスペースから成るバーコードを読み取る装置であって、前記バーコードを走査するバーコード読取手段と、前記走査によって得られた信号から前記モジュール幅の倍数として前記バーコードを構成するバー及びスペースの夫々の幅を測定する測定手段と、前記測定において、隣接しているバー及びスペースが前記モジュール幅の所定の分数値の幅を夫々有しているか否かを検出する検出手段と、の各手段を有し、前記隣接しているバー及びスペースが前記分数値の幅を夫々有している場合には、当該所定の分数値の幅を有するスペースをバーとしてバーコードを認識するバーコードスキャナを提供するものである
【0011】
添付の図面を参照しながら以下に本発明を説明するが、これは単に例示としてのものに過ぎない。
【0012】
【発明の実施の形態】
図1は、適当なラベル14上に印刷された従来のバーコード12を走査および解読するためのレーザー・バーコード・スキャナ10の略図である。このバーコード12は、図示の従来の一次元UPC記号を含めて、一つまたはそれ以上の次元の任意の従来の形をとることができる。
【0013】
図1の例示としてのバーコード12は、直線状で、相互に平行なシーケンシャルまたは交互の黒いバー12aおよび白いスペース12bを含み、対応する種々に変化する幅WbおよびWsを持つ。上記バーおよびスペースは、同じ幅のそれぞれの文字を示す複数のシーケンシャルなグループで配置されている。バーおよびスペースの最小の幅は、最小の幅のモジュールとして定義されていて、UPC記号法においては、仕様により9ミルを超えてはならない。一つのUPCモジュールは、二つのバー12aと二つのスペース12bを持つものと規定されている。またUPC記号法を使用してコード化された一つの文字の仕様により規定された幅は、7モジュールである。さらに、UPC記号法は、最大バー幅を4モジュールでなければならないと指定している。
【0014】
図1の例示としてのバーコード12の場合には、バーコードは従来通り、左端の文字12cから始まり、右端の文字12dで終わり、中央の参照文字12eを持ち、その間に、必要なデータ文字を指定する残りのバーおよびスペースを含む。すでに説明したように、各データ文字の全体の幅は7モジュールであり、二つのバーと二つのスペースとを含む。
【0015】
図1の例示としてのスキャナ10は、左端の文字12cから右端の文字12dまでのバーコード12の全長にわたって、バーおよびスペース12a、bを横切って、シーケンシャルにバーコード12を光学的に走査するための従来の手段を含む。図示の好適な実施形態の場合には、走査は、回転多重面ミラーの形をとることができる従来の掃引ゼネレータ18により、バーコード12の面を横切って、適当に走査する適当なレーザー・ビーム16aを放射する従来のレーザー16を使用することによって行われる。レーザー・ビーム16aは、バーコード12を横切って走査方向に横向きに走査し、その結果、反射光16bはバーおよびスペースから反射してスキャナに入る。バー12aは黒いので、そこから反射する散乱光は非常に少ないが、一方、スペース12bはほぼ白であるので、光はスキャナに対してもっと効果的に反射する。
【0016】
従来の光検出装置20は、スキャナ10に内蔵されていて、その内部で反射光16bを受信し、スペース12bおよびバー12aからそれぞれ反射した光16bの対応する、最大強度および最低強度の間で強度が交互に変化する電気バーコードの特徴20sを発生するために、光学的に整合が行われている。特徴20sの最大および最小強度部分の持続時間は、バーおよびスペースの種々に変化する幅に対応する。走査ビーム16aは、既知または一定の速度でバーコード12を横切って走査するので、バーコードの特徴20sはバーコード12それ自身を表し、ラベル14上に印刷された対応するバーコード記号法に対して特に構成された従来のデコーダ22で解読することができる。
【0017】
デコーダ22は、任意の従来の形式をとることができ、通常は、バーコードの特徴20sを分析し、その中に含まれているデータを解読するための適当なソフトウェアを含む、ディジタル的にプログラムすることができるマイクロプロセッサである。スキャナ10は、それによって表される消費者物資の値段のような、バーコードでコード化された、ある種の情報を表示するために使用することができる、適当なディスプレイ24に電気的に接続している。バーコード12が正確に走査され、解読されると、データがディスプレイ24に表示され、スキャナ10に動作できるように接続している小型のスピーカ26が、ビープ音を鳴らして、バーコード12の解読が成功したことを知らせる。
【0018】
しかし、スキャナ10がバーコード12を解読できない場合には、スピーカ26はビープを発生しないし、ディスプレイ24には何も表示しないままである。ラベルを正しく読むために、スキャナ10上をバーコード12を何回か往復させることができる。またバーコード12に欠陥がある場合には、ラベルを読むことができない。
【0019】
発明の背景のところですでに説明したように、、図1のバーコード12は、通常、従来のリニヤ・プリンタ28により印刷される。その中の三つを図1に略図で示す。複数のプリンタ28を図示したのは、スキャナ10は、通常、小売店で様々な商品上に表示されている種々のバーコードを解読するために使用されるからである。上記バーコードは、異なるプリンタを表す番号上に印刷することができる。これらのプリンタの中のどれかが、使用中に故障し、バーおよびスペースを正しく印刷しない場合がでてくる。この場合、いくつかの個々のバーおよびスペースのサイズが大きくなったり小さくなったりして、スキャナ10がバーコードを識別できなくなったり、また正常な動作中にバーコードを解読できないような大きさになったりする。
【0020】
例えば、UPC記号法を使用してバーコードを従来の方法で解読するという基本的な動作は、バーおよびスペースを規定している最小幅のモジュールを使用するので、本発明は、バーコード12のある種の印刷エラーを検出する際に、それを有利に使用することができる。図2は、バーコードのエラーを検出するための、図1に示す他の従来のスキャナ10に内蔵することができる、本発明の一実施形態による例示としての方法のフローチャートである。
【0021】
上記方法は、バーコードの特徴20sを入手するために、従来の方法で走査される任意のタイプのバーコード12からスタートする。上記 特徴20sのバーおよびスペースの幅は、最小幅モジュールの倍数である。その後、バーコード12の印刷エラーを発見するために、そのバーおよびスペースに隣接しているバーおよびスペースのシーケンシャルな分数値の幅が検出される。UPC記号法の定義により、各バー12aおよび各スペース12bは、その幅を定義しているモジュールの整数倍でなければならないので、分数値の幅、すなわち、整数でない幅はバーコード・エラーを示し、このエラーは、そうしたい場合には、本発明により検出し、修正することができる。
【0022】
より詳細に説明すると、図3は、例示としてのバーコード12がその上に印刷されている、図1のバーコード・ラベル14の左端の部分を示す。この図は、従来の方法によりバー12aを印刷するために、ラベル14に隣接した場所に位置しているリニヤ・プリンタの略図である。プリンタ28は、例示としての実施形態の場合には、感熱印刷素子である個々の印刷素子28aの列を含むリニヤ・プリントヘッドを含む。リニヤ感熱プリンタは周知のもので、各印刷素子28aは、個々の制御の下で加熱され、ラベル14を形成している感熱紙と共に使用される。図3に示すラベル14が、この図に示すように、下方に向かって並進すると、必要なバー12aを形成する目的で、対応する素子28aの下に位置しているラベル14を熱により黒く変化させるために、印刷素子28aを加熱する。この場合、スペース12bは、上記バーの間に形成される。何故なら、その部分の印刷素子28aは加熱されないからである。
【0023】
代表的な感熱プリントヘッドは、1インチ当たり137の印刷素子を持つ解像度、すなわち、1素子当たり7.3ミルの解像度を持つ。UPCの最小モジュールは9ミル以上でなければならないので、二つの印刷素子28aの最小幅は、最小のバーの幅サイズをカバーするために使用しなければならない。従って、ラベルを印刷する場合、適用可能なバーコード記号法が、最小モジュールの幅を決定し、感熱プリンタのリニヤ解像度が、最小モジュール幅に適合するために使用しなければならない印刷素子の数を決定する。
【0024】
バーコード・ラベルを印刷するために使用される従来のリニヤ・プリントヘッドの大多数は、各バーコード・モジュールに対して二つまたは三つの印刷素子28aを使用する。図3は1モジュール当たり二つの印刷素子28aを使用するケースを示す。図3に示す最初の三本のバーは、それぞれ二つの隣接印刷素子28aを使用して印刷した一つのモジュールの幅を持つ。四番目のバー12aは、二つのモジュール分の幅を持ち、四つの隣接印刷素子28aにより印刷される。隣接バー12aの間の対応するスペース12bは、この記号法による一つまたはそれ以上のモジュールの幅を持たなければならない。このスペースは、このスペースの上に位置する対応する印刷素子28aを加熱しないことにより形成される。
【0025】
<エラー・タイプ>
印刷素子28aが故障すると、印刷することができなくなる。その結果、印刷したバーコード・ラベル14に二つの異なるタイプのエラーが起こる。図4は、第一のエラー・タイプIである。図4の場合には、故障した印刷素子28bが、バーとスペースの間の垂直な境界上に位置している。故障した印刷素子28bは、この境界内で点線で示すように移動し、その結果、印刷しようとした記号のコード化が失敗することになる。印刷したラベルがバーコード・リーダーにより読み取られる場合、走査装置は不正確に印刷された記号しか走査しない。タイプIエラーは、不正確なスペース幅Wsを広げ、隣接バーの幅Wbを縮める。
【0026】
図5は、第二のエラー・タイプIIである。図5の場合には、故障した印刷素子28bは、点線で示す目的とするバー内に位置している。故障した印刷素子28bは、隣接しているバーの部分を、不正確なバー/スペース/バーのパターンで表示することになる。その印刷したラベルをバーコード・スキャナで読むと、不正確な記号が読み取られるだけである。不正確なコード化は有効なコード化ではないので、標準的な方法では解読することはできない。
【0027】
<タイプIエラーの検出>
原則的には、タイプIのエラーの検出は、隣接しているスペース/バーの組およびバー/スペースの組の間の境界のずれを検出することによって行われる。広く使用されているバーコード記号法の場合には、文字はバーおよびスペース・モジュールの整数を使用してコード化される。通常のリニヤ・プリントヘッド28は、一つのモジュール当たり一つ以上の印刷素子28aを使用しなければならないので、印刷素子が一つ故障するとある分数量だけ境界がずれる。例えば、一つのモジュール当たり二つの印刷素子が使用されている場合には、一つの印刷素子28bが故障すると、境界は一つのモジュールの1/2だけずれる。同様に、一つのモジュール当たり三つの印刷素子が使用されている場合には(図示せず)、一つの印刷素子故障すると、境界は一つのモジュールの1/3だけずれる。
【0028】
タイプIエラーは、隣接しているスペース/バーの組、またはバ−/スペースの組の1/2またはそれ以下の境界のずれを、チェックすることによって検出される。境界のずれは、あるスペース12bの幅が広がっていて、それと同時に隣接するバーが同じだけ縮小していることを意味する。再び、図4について説明すると、隣接するスペースの幅は、一つの印刷が行われなかった部分30により2.5モジュールに拡大し、影響を受けたバー12aの幅は、1.5モジュールに縮小している。すべての他の隣接するバーおよびスペースの幅はモジュールの整数倍である。
【0029】
<タイプIIエラーの検出>
原則的には、タイプIIのエラーの検出は、故障したプリントヘッドにより、正常なバーが異常なバー/スペース/バーのパターンに分割されたことを検出することによって行われる。この場合も、通常のリニヤ・プリントヘッド28は、一つのモジュール当たり二つまたはそれ以上の印刷素子28aを使用しなければならないので、図5に示すバーの内部に生じたスペース30の幅は、1/2モジュールまたはそれ以下になる。このスペースの幅が二つの隣接するバーの幅に加算された場合、全部の幅はモジュールの整数倍でなければならない。バー/スペース/バーの組み合わせの幅が、その特定の文字の残りのバーおよびスペースに追加された場合には、合計の幅はその特定の記号法のその文字の幅と同じでなければならない。本当のタイプIIエラーの場合には、バー/スペース/バーの組み合わせの全体の幅は、特定の記号法に対して定義されたバーの最大幅、例えば、UPC記号法の場合には4モジュールより狭くなくてはならない。
【0030】
一例として、図5で使用されているUPC記号法を考えてみよう。UPC記号法によりコード化された一つの文字の幅は、仕様によると、7モジュールでなければならない。7モジュール幅のUPC文字は、二本のバーと二つのスペースを持つ。正確なUPC文字を、タイプIIエラーにより崩れたUPC文字と比較すると、正確な文字の四本のバーとスペースの合計は7モジュールになるが、崩れた文字の六本のバーとスペースの合計も7モジュールになることがわかる。図5に示すタイプIIエラーを見れば、このことがハッキリと分かる。
【0031】
上記の第一および第二のエラー・タイプは、一つの故障した印刷素子28bが、対応するバー12aの必要な部分を印刷しなかったという点で類似している。しかし、故障を起こした印刷素子28bが印刷できなかったために、意図するスペース12b内にエラーが発生した訳ではない。何故なら、印刷は必要ないからである。これらのエラー・タイプは、また別の点でも類似している。何故なら、これらのエラー・タイプは、結果として、整数倍でない、分数値の幅を持つ隣接バーおよびスペースの組み合わせを生じるからである。定義により、幅が種々に変化する個々のバー12aを印刷するために、複数の個々の印刷素子28aが使用されるが、この場合、対応する数の個々の印刷素子28aが加熱されるれだけである。例示としての故障を起こした素子28bのような、任意の一つの印刷素子が故障すると、個々の印刷素子28aの幅によって表されるモジュールの一部を印刷することができない。一つのモジュール当たり二つの印刷素子が使用されている場合には、欠陥30は1/2モジュールの幅を持ち、一つのモジュール当たり三つの印刷素子が使用されている場合には、欠陥は1/3モジュールの幅を持つ。
【0032】
図4のタイプIエラーの場合、欠陥30に隣接する影響を受けたスペース12bは、隣接するバー12aの幅の減少分だけ幅が増大する。図5のタイプIIエラーの場合、影響を受けたバー12aは、分数値の幅を持つ内部の部分だけ狭くなり、バーの左の残りの部分も分数の幅を持つ。
【0033】
図4および図5に示す二つのタイプのエラーの場合の欠陥30は、必ず他の整数のモジュールのスペースに分数値の成分を生じるので、両方のタイプのエラーは、単に走査した特徴のスペース部分内の分数値の幅を、チェックすることによって検出することができる。
【0034】
さらに、すでに説明したように、バーコード12は、バーコードを解読する際にデコーダ22が使用する特定のデータ・グループを指定する、特定の記号法に基づいてコード化される。それ故、バーおよびスペースは、例示としてのUPC記号法に対する7モジュールのように、同じ数のモジュールを持つ等しい幅の各文字を指定する複数のシーケンシャルなグループの形で配置される。上記の第二のエラー・タイプは、影響を受けた文字グループの全部のモジュール幅を変えないので、これらのエラーは固有の文字幅を持ち、また分数値の幅のスペースを持つグループの一つを検出することにより検出することができる。
【0035】
すでに説明したように、第一および第二のエラー・タイプは、影響を受けたスペース内の分数値の幅が第二のエラー・タイプ、または第一のエラー・タイプにそれぞれ対応する一つのモジュールより長いか短いかを検出することにより、相互に区別することができる。
【0036】
図4に示す第一のエラー・タイプの場合には、影響を受けたバー12aの境界のところの欠陥30は、何時でもその幅が隣接するスペース12bの幅の増大分だけ減少する。定義によって、任意の一つのスペース12bは少なくとも一つのモジュールの幅を持たなければならないので、欠陥30により影響を受けたスペースに分数値の幅を追加すると、スペース12bの幅は一つのモジュールより長くなる。スペース12bの分数値の幅が一つのモジュールより長いことを検出することにより、隣接するバー12aの一方の側の除去された境界部分により指定される第一のエラー・タイプが表示される。図4の場合には、影響を受けたスペース12bは、2.5モジュールに拡大した幅を持ち、影響を受けたバー12bは1.5モジュールに短縮された幅を持つ。
【0037】
図5に示す影響を受けたバー12aで起きる第二のエラー・タイプは、何時でも、一つのモジュールより短い分数値の幅を持つ一つのスペースを生成する。従って、一つのスペースの分数値の幅が一つのモジュールより短いことを検出することにより、二つの隣接するバー部分の除去された内部部分により指定される第二のエラー・タイプが表示される。正常な動作中に、図5の欠陥バーが走査されると、バーコードの特徴によりそのバーは一つのバーではなく、バー/スペース/バーとして識別される。欠陥30により作られた二つのバー部分は、スキャナによりバーとして読み取られ、左側のバー部分は、一つのモジュール幅より狭いので、上記バー部分は対応する記号法に適合することができず、バーコードの解読は通常できない。
【0038】
すでに説明したように、図1のデコーダ22は、通常、ディジタル的にプログラムすることができるプロセッサ内の適当なソフトウェアにより実行される。デコーダ22は、従来のように解読用のバーおよびスペースの相対的な幅を効果的に決定する。上記相対的な幅が特定の記号法の仕様に適合しない場合、または個々のバー、スペースまたはそのグループが、記号法の仕様に適合しない場合には、解読は失敗する。
【0039】
本発明の場合には、以降の評価を行うため、またオペレータが使用するために、上記の第一および第二のエラー・タイプを特に識別する目的で、プロセッサまたはデコーダ22に、追加のソフトウェアを内蔵させることができる。それ故、図1のスキャナ10は、好適には、同様にプロセッサのエラー検出装置22aの適当なソフトウェアで、従来と同じように実行することができる上記エラーを検出するために特定に構成された手段を含むことが好ましい。すでに説明したように、分数値の幅を検出することによって、一つのモジュールよい長い分数値の幅に対する第一のエラー・タイプを識別することができ、一つのモジュールより短い分数値の幅を持つ第二のエラー・タイプを識別することができる。その後、エラー検出は、ディスプレイ24または任意の他の適当な手段により、適当にオペレータに報告され、オペレータは対応する故障したプリンタ28を識別する際にそれ以降の評価を行う。
【0040】
上記の第一および第二のエラー・タイプは検出することができ、隣接するバーおよびスペースに周知の影響を持っているので、必要な場合には、上記のエラー・タイプは自動的に修正される。
【0041】
<エラーの修正>
タイプIまたはタイプIIエラ−により崩れている、印刷したバーコード・ラベル14は、標準解読方法では、スキャナによって正しく読むことができない。しかし、以下に説明するエラー修正方法を適用して、すでに検出したタイプI、またはタイプIIエラーをうまく修正することができる。
【0042】
エラー修正を行うために、好適には、エラー検出の結果を蓄積しておくことが好ましい。これらデータを蓄積しておくのは、エラー修正の品質を改善するためである。バーコード・ラベル14を一回走査することによって得られたデータに基づいて、修正を行うことができるが、この方法を使用した場合、通常欠陥のあるラベルの修正は正確には行われない。タイプIおよびタイプIIエラーを、一つのラベルまたは複数のラベルを複数回走査して蓄積した場合には、エラー修正の潜在的な品質は向上する。それ故、プリントヘッド・エラー・ログ(PEL)22bは、エラー修正方法最も重要なものである。上記ログ22bは、タイプI、またはタイプIIエラー検出の蓄積を含む。
【0043】
<プリントヘッド・エラ・ログ>
プリントヘッド・エラ・ログ(PEL)22bは、バーコード・ラベルを印刷するために使用したリニヤ・プリントヘッドのモデルをコード化し、表示する。しかし、PELは、実際のプリントヘッド機構からの抜粋である。何故なら、PELは個々のプリントヘッド素子を直接モデル化しようとしないからである。それどころか、PELは、プリントヘッドをバーコードの幅全体にまたがるモジュールの直線シーケンスとしてモデル化する。PELは、1/nモジュールの解像度を使用する。この場合、nは1より大きいか、1と等しい整数である。このパラメータnは、タイプI、またはタイプIIエラーを通常の一次元バーコード符号法に対して適当に表示することができるように選ばれる。PEL内の実際のデータは、バーコードの幅全体を横切る正常なプリントヘッドおよび故障を起こしているプリントヘッドの位置を示す。1/nモジュールの解像度を使用して、PELはバーコード・ラベル上のプリントヘッドの欠陥の効果を正確に捕らえ、モデル化する。
【0044】
図1に示すように、ログ22bは、プロセッサのそのために供給された適当なメモリで従来どおりに実行することができる。図6は、図5の例示としてのバーコード・ラベル14である。この図においては、バー内部の欠陥30は関連走査データおよびログ1...nで示す複数の例示としてのプリントヘッド・エラー・ログ22bと一緒に略図で示されている。個々のログは、バーコードラベル12、およびそのバーを形成する任意のタイプのプリンタ28の両方に対応する位置に設置されている一連のメモリ・レジスタとして、メモリに適当に記憶されている単なるリニヤ・アレイに過ぎない。図6の例示としての実施形態の場合には、各モジュールに対応する二つのプリンタ素子28aに対応する各モジュールに対して、二つのレジスタ位置が用意されている。(図示せず)一つのモジュール形成当たり三つのプリンタ素子が使用されている場合には、三つのレジスタが各モジュールに関連する。このようにして、ログは、プリンタ28の予想解像度に対応する適当な解像度を持つ全バーコード・ラベル12に沿って、各サブ゛モジュールの増分の状態または条件を表すのに使用することができる。
【0045】
ある実施形態の場合には、ログ内の各位置は三つ数値を持つことができる。数値「正常」は、バーコード・ラベルのその特定の1/nモジュール幅を印刷するためのプリントヘッド素子28aが、良好に作動することができることを示す。数値「異常」は、バーコード・ラベルのその特定の1/nモジュール幅を印刷するためのプリントヘッド素子が故障していることを示す。異常なプリントヘッド素子は、黒い(バー)要素を印刷するように命令されても、上記バーを印刷することができない。しかし、明るい(スペース)要素が、その場所に印刷されても何の影響も持たない。数値「異常の疑い」ありは、バーコード・ラベルのその特定の1/nモジュール幅を印刷するためのプリントヘッド素子が故障しているかもしれないことを示す。
【0046】
今までの説明で、故障しているプリントヘッド素子が、必ずしもその装置により印刷されたすべてのバーコード・ラベルをダメにしてしまわないことは明らかである。より詳細に説明すると、故障したプリントヘッド素子または壊れたプリントヘッド素子は、白いバー(スペース)をプリントヘッドの欠陥位置に形成したい場合には、何の障害にもならない。
【0047】
<プリントヘッド・エラー・ログの更新>
ラベルの走査が行われる前に、各ログ位置を「正常」という数値にセットすることができる。種々のラベルを走査すると、タイプI、またはタイプIIエラーが上記のように検出される。どちらのタイプのエラーのログ位置も、デコーダ22で、バーコードの左側の最初の正常なバー・モジュ−ルから、1/nモジュール幅のある数として容易に計算することができる。図6は、UPC記号法を使用する位置計算である。n=2は特定の例である。ログは、好適には、それに関連するすべての後続の位置に対する参照点、すなわち、索引点を供給するバーコード12の左側で最初に検出したバー12aからスタートする。
【0048】
図6の例は、記号の左端からPEL索引インデックスの位置にあるタイプIIエラーと一緒に印刷されたUPC記号を示す。プリントヘッドがこの位置で故障を起こした状態でいる限り、その装置で印刷したそれ以降のラベルは、すべてログ位置18にエラー・タイプIおよびIIを含む。ログ位置18である問題を最初に検出したとき、ログ値は「正常」から「異常の疑いあり」に変化する。位置18でエラーの検出が行われている場合には、位置18のところにエラーを起こすプリントヘッドの故障が実際に起こっている証拠が強くなる。追加エラーが位置18のところで蓄積されると、「異常の疑いあり」の数値がそれにつれて増大する。適当な量のエラー、例えば、4−12が位置18で検出されると、その数値が「異常」に変わる。「異常」の数値を持つ位置だけが、エラー修正を行うために使用される。
【0049】
<PELを使用するエラー修正>
PELが、すでに概略説明したPEL更新方法により「異常」とマークされた少なくとも一つの位置を含むまで、エラー修正は試みられない。PELがこの条件を満足し、タイプI、またはタイプIIエラーが現在の走査で検出されたときだけ、エラー修正が行われる。現在の走査の際のエラーの位置が、前に「異常」とマークされたPEL内の一つの位置と一致した場合には、故障を起こしている印刷素子によりエラーが起きていると判断される。その後、エラー修正法により、故障している印刷素子により影響を受けた走査データの調整が行われる。この修正方法の一番重要なことは、故障を起こしている一つまたは複数の印刷素子により印刷されずに残った白いスペースを埋めることである。より詳細に説明すると、影響を受けたバーおよびスペース・モジュールにより発生した走査データは、故障領域の位置に従って1/nモジュール幅により修正され、生のデータがデコーダ22で、標準バーコード解読方法により再処理される。再処理された走査データは、その後正しいバーコードを作成する。
【0050】
従って、タイプIまたはタイプIIエラーが検出されると、ほぼ整数倍のモジュールを得るために、それぞれ増減を行うことにより、影響を受けた隣接するバーおよびスペースの検出した分数値の幅を修正することにより、上記エラーを自動的に修正することができる。修正は、図1のエラー修正装置22cと表示されているデコーダ22の専用部分内のプロセッサにより、従来と同じようにプログラムすることができる。欠陥のあるバーコードの特徴20sが検出されると、バーの部分を表示する代わりに、対応する分数値の幅の上で、検出された欠陥30の濃度を有効に高めるために、その局部的な濃度を調整することによって、上記特徴自身を修正することができる。このようにして、上記の特徴20sは、図4および5の第一および第二のエラー・タイプの欠陥30を修正し、効果的に黒く塗ることにより修正され、欠陥バー12aは完全なバーになる。その後、修正された特徴は、デコーダ22により従来の方法で処理され、上記デコーダは、修正されたバーコードをうまく解読することができる。必要な場合には、スキャナ10は、例えば、ディスプレイ24により、エラーが検出され、修正されたことをユーザに報告する。
【0051】
<複数のプリントヘッドを使用する場合>
原則的には、上記エラー修正方法をこの場合にも適用することができるが、一つのスキャナで走査されるバーコード化されたラベルを、多くの異なるプリントヘッドが印刷できるようにするするためには、好適には追加を行うことが好ましい。より詳細に説明すると、各PELは、一つのプリントヘッドの特徴をモデル化するためのものである。それ故、複数のプリントヘッドが使用されている場合でも、多くのPELを同時に管理し、更新することができる。また、どのPELが現在の走査データに関連しているのかを決定する方法も必要である。
【0052】
<PELと走査データとの関連付け>
この節では、現在の走査データを、特定のPEL22bに関連づけるために使用する一つの方法について説明する。この方法は、データと現在の走査データで検出されたエラーとが一致しているPELを発見するためのものである。この方法の目的は、もしあった場合、どのPELが現在の走査データを発生することができるかを決定することである。このような比較を容易に行うことができるように、各PELの位置は四つの状態、すなわち、「正常」、「異常」、「不明」および「異常の疑いあり」の中の任意の状態を持つことができる。さらに、走査データ内の対応する各位置は、三つの状態、すなわち、「正常」、「不明」および「異常の疑いあり」の中の任意の一つの状態を特徴としている。これら状態の割当および操作については以下に説明する。
【0053】
<走査データの分類>
バーコード・ラベルの走査により、ラベル上のコード化された記号の特有のデータが発生する。このデータは、バーコード化したラベルの走査されたバーおよびスペースを表す。それ故、実際の印刷されたバーに直接対応する走査データの位置を識別することができる。バー要素の印刷結果が、その関連するプリントヘッド素子が正常に機能していることを示しているので、「正常」とマークすることができる。走査データが、スペース(すなわち、バーが存在していないこと)を示している場合には、関連印刷素子が完全に機能するかどうか不明である。それ故、走査データに一つのスペース要素があると、その関連位置が不明状態にセットされる。上記のエラー検出方法で、タイプIまたはタイプIIエラーが発見された場合には、影響を受けた位置に「異常の疑いあり」がマークされる。走査データのすべてのPELの位置の分類が行われた後で、それら位置は現在のPELと比較される。
【0054】
<分類された走査データとPELとの比較>
現在の走査で、一つまたはそれ以上のタイプIまたはタイプIIエラーが検出された場合には、それらのエラーを現存のPELと比較することができる。PELが存在しない場合には、現在の走査データに基づいて、新しいPELが生成される。現在の走査のエラー位置は、上記のように1/nモジュールの解像度により計算される。一つまたはそれ以上のPELがすでに存在する場合には、現在のデータが現存のPELのどれと一致するかを確認するために、現在の走査データがすべてのPELと比較される。現在の走査のエラーをすべてのPELと比較する目的は、現在の走査に含まれる特定のエラー・パターンを発生することができないPELを除去することである。現在の走査データはその位置毎にPELと比較される。
【0055】
表1は、現在の走査データと、現存のPELとの比較の際に行われた決定のロジックを示す。上記比較プロセス中に、任意の位置で「不一致」の決定が行われた場合には、考慮対象になっているPELは、現在の走査データを作り出すことはできなかった。すべてのPELに対して「不一致」の決定が行われた場合には、新しいPELが生成され、現在の走査データに従って初期化される。
【0056】
【表1】
Figure 0004162279
図6は、ラベル14、例示としてのロジックおよび分類走査データによる一致判断プロセスである。ロジック1−nは、前の節で説明した方法で発生する。それ故、現在の走査データ内の、例えば、位置18のエラーは、ログ1へのハッキリとした「不一致」を示す。この「不一致」の決定が行われたのは、ログ1がこの走査データが疑わしいとする位置18で正常と予測しているからである。それ故、図6のバーコード・ラベルは、ログ1内に現在ログされているエラーを起こしたのと同じプリントヘッドで印刷したものであってはならない。この状態で、ログnを前の節で説明した「異常の疑いあり」の状態でスタートさせることができる。適当な回数走査を行った後、ログnによりモデル化されたプリントヘッドのエラーは、図6に示す「異常」状態になり、エラー修正の間使用することができるようになる。
【0057】
すでに説明したように、少なくとも一つの位置が「異常」になっているPELだけが、エラー修正に参加することができる。図6の例のように、新しく生成されたPELは、その「異常の疑いあり」の位置が異常状態になるまで、エラー修正に参加しない。上記の「異常の疑いあり」の状態から「異常」状態への変化は、同じエラー場所が適当な回数の追加の走査中に検出された場合にだけ起こる。PEL内の「異常の疑いあり」の位置は、この後で説明する更新手順により「異常」状態になる。
【0058】
<PEL更新手順>
上記の比較プロセスを行った後で、一致がゼロまたはそれ以上のPELのリストは、走査データと一致すると識別される。一致がゼロの場合には、すでに説明したように新しいPELが生成される。一致が一つまたはそれ以上の場合には、一致PELを更新するために走査データが使用される。さらに、少なくとも一つの「正確な一致」を発生するこれらPELだけが、表1に示すように方法で更新される。表2にこの更新手順の要約を示す。
【0059】
【表2】
Figure 0004162279
表2の「異常の疑いあり+」は、PEL内の異常の疑いありの位置の状態が、更新手順によりさらに「疑い」の程度が大きくなることを示す。通常、カウンタを任意の疑いのある位置と関連付け、その位置で「正確な一致」が観察される度に増分だけカウントを増やすことができる。上記カウンタの計数が適当な数値を超えた場合には、その位置の状態は「異常」にセットされる。
【0060】
更新は、図1に示し、図2のフローチャートに概略示したエラー修正装置22cの適当なソフトウェアにより容易に行うことができる。バーコードが走査される度に、その特徴に対応する走査データが評価される。一本のバーが検出されると、対応するレジスタ位置に対する最初の「不明」が、表2に示すように、「正常」の表示に変化する。あるプリンタ28により印刷された種々のバーコードを適当な回数走査した後で、そのプリンタの性能特徴がその対応するログにより表示される。表2に示すように、特定のレジスタ位置が「異常の疑いあり」の場合には、プラス(+)符号は、走査データ中の異常の疑いありの位置が対応するログ・レジスタに一致する度に、計数が増える適当なカウンタが使用されていることを示す。十分な数の「異常の疑いあり」の一致があった場合には、「異常」位置を反映するためにレジスタ位置が更新される。
【0061】
「異常」レジスタ位置は、対応するレジスタ位置で連続して「異常の疑いあり」の決定が行われている、故障を起こしているプリンタ素子28bの異常の可能性を示す。表2において、第一の列は、「異常+」も「異常の疑いあり」の判断が対応するログ内の「異常」の表示と一致する度に、適当なカウンタにより増分だけ計数が増える。このようにして、あるプリンタ28によって印刷された欠陥のあるバーコードが走査されると、累計の全計数のカウントが一つ増える。スキャナ10で使用することができるメモリは限定されているので、このカウンタは、「異常+」カウンタによる指定の数のログを維持するために使用することができる。この場合、相対的に高いカウントのログが維持され、最も低いカウントのログは、必要に応じて新しいログにより置き換えられる。
【0062】
<複数のプリントヘッドが使用されている場合のエラー修正>
現在の走査データのエラーは、1)PELに対して比較プロセスが行われ、上記のように「一致なし」が表示された場合、2)PELが、現在の走査データの「異常の疑いあり」状態の位置と同じ位置において、「異常」状態がPEL内でログされた場合だけ修正される。すでに説明したように、本発明の修正方法の最も重要な概念は、一つまたは複数の欠陥印刷素子が残した白いままのスペースを黒く埋めることである。より詳細に説明すると、影響を受けたバーおよびスペース・モジュールによって発生した走査データは、「異常」領域の位置により1/nモジュール幅により調整され、生のデータはデコーダ22で標準バーコード解読方法により再度処理される。その後、再度処理された走査データにより修正されたバーコードが作られる。
【0063】
<ユーザへのエラーの通知>
エラーの修正が成功すると、修正されたバーコードがユーザ(ターミナル)に送られる。遭遇したエラーのタイプの表示もユーザに送られる。その後、恐らく、ユーザは欠陥プリントヘッドを修理するか、交換するための処置を行うことができる。
【0064】
図2に示すように、第一および第二のエラー・タイプは、必要な場合には、直ちに修正し、解読することができる。しかし、好適には、個々のバーコードおよび後続のバーコードを複数回走査する間に、エラー・ログの中の対応するログ内に、バーコード・エラーを蓄積することが好ましい。このようにして、ログは、各プリンタ28の状態を正確に反映する。その後、後続の走査中に、バーコード・エラーが検出され、一致するかどうかチェックするために、いくつかのログのそれぞれと比較される。適当な一致が発見された場合には、上記のように、バーコード・エラーの自動修正を行うことができる。
【0065】
図6に概略を示す各エラー・ログは、好適には、バーコード12の幅全体に沿って存在する各位置に対応する、図示のような、直線状に配置されたレジスタからなることが好ましい。この場合、各レジスタはそれと関連する位置にあるバーコード・エラーを示す。レジスタは、最初「不明」にセットされる。適当な回数走査した後、レジスタは最終的には、「異常」なプリンタ素子28bの存在を確認した後で、「異常」表示に変更する。種々のバーコード12自身および対応するプリンタ28の正確な解像度は、バーコード12を指定している各モジュールに対応する複数のレジスタを供給することによって容易に知ることができる。好適な実施形態の場合には、一つのモジュール当たりのレジスタの数は、1対1の対応で、一つのモジュール当たりのプリンタ素子28aの数と等しい。
【0066】
複数のエラー・ログを供給することによって、対応する数の個々のプリンタ28を、欠陥プリンタ28を識別する際に、その性能を連続的に識別するためにモデル化することができる。図1のスキャナ10は、バーコード・エラーを検出することができ、それをオペレータに知らせることができるので、オペレータは、数台のプリンタ28の中のどのプリンタが欠陥があるのかを、チェックするための調査を行うことができ、欠陥プリンタ28を修正することができる。
【0067】
さらに、欠陥バーコードの上記の検出および修正方法は、すでに説明したように、デコーダ22の専用部分内の適当なソフトウェアに、容易に内蔵させることができるので、上記方法は、適当なプログラミングを変更することにより、既存のスキャナを改装することができる。既存のスキャナおよびデコーダは、通常のバーコード内のバーおよびスペースの相対的の幅を決定することができ、バー12aの必要な場所に印刷するための一つのプリンタ素子28aの欠陥による、上記の分数値の幅を識別できるように適当に修正することができる。
【図面の簡単な説明】
【図1】本発明の例示としての実施形態による、欠陥のあるバーコードを検出し、解読できるようにその中のエラーを修正することができるバーコード・スキャナの略図である。
【図2】図1のバーコード・スキャナで実行される、欠陥のあるバーコードを検出し、修正し、解読する方法の例示としてのフローチャートである。
【図3】例示としてのUPCバーコード・レベルの左の端の部分の拡大図と、その上にバーを印刷するためのリニヤ・プリンタである。
【図4】バーの境界のところにある欠陥のある印刷素子を示す、図3のバーコード・ラベルのコピーである。
【図5】バーの内部に欠陥のあるプリンタ素子を持つ、図3のバーコード・ラベルのコピーである。
【図6】対応するバーコード特徴の走査データおよび関連プリンタ・エラー・ログの略図と、図5のバーコードの写しである。

Claims (2)

  1. 所定のモジュール幅の整数倍の複数のバー及びスペースから成るバーコードの走査方法であって、
    前記バーコードを走査するステップと、
    前記走査によって得られた信号から前記モジュール幅の倍数として前記バーコードを構成するバー及びスペースの夫々の幅を測定するステップと、
    前記測定において、隣接しているバー及びスペースが前記モジュール幅の所定の分数値の幅を夫々有しているか否かを検出するステップと、
    前記隣接しているバー及びスペースが前記分数値の幅を夫々有している場合には、当該所定の分数値の幅を有するスペースをバーとするステップと、
    の各ステップを有するバーコード走査方法。
  2. 所定のモジュール幅の整数倍の複数のバー及びスペースから成るバーコードを読み取る装置であって、
    前記バーコードを走査するバーコード読取手段と、
    前記走査によって得られた信号から前記モジュール幅の倍数として前記バーコードを構成するバー及びスペースの夫々の幅を測定する測定手段と、
    前記測定において、隣接しているバー及びスペースが前記モジュール幅の所定の分数値の幅を夫々有しているか否かを検出する検出手段と、
    の各手段を有し、
    前記隣接しているバー及びスペースが前記分数値の幅を夫々有している場合には、当該所定の分数値の幅を有するスペースをバーとしてバーコードを認識するバーコードスキャナ。
JP25037497A 1996-09-17 1997-09-16 バーコード・スキャナ及びバーコード走査方法 Expired - Lifetime JP4162279B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/718,620 US5767498A (en) 1996-09-17 1996-09-17 Bar code error scanner
US08/718,620 1996-09-17

Publications (2)

Publication Number Publication Date
JPH10105643A JPH10105643A (ja) 1998-04-24
JP4162279B2 true JP4162279B2 (ja) 2008-10-08

Family

ID=24886795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25037497A Expired - Lifetime JP4162279B2 (ja) 1996-09-17 1997-09-16 バーコード・スキャナ及びバーコード走査方法

Country Status (4)

Country Link
US (1) US5767498A (ja)
EP (1) EP0829815B1 (ja)
JP (1) JP4162279B2 (ja)
DE (1) DE69728485T2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321986B1 (en) 1993-11-05 2001-11-27 Intermec Ip Corporation Robust machine-readable symbology and method and apparatus for printing and reading same
US6422476B1 (en) 1993-11-05 2002-07-23 Intermec Ip Corp. Method, apparatus and character set for encoding and decoding data characters in data carriers, such as RFID tags
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
US6149059A (en) * 1993-11-05 2000-11-21 Intermec Ip Corporation Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same
US6371375B1 (en) 1995-09-25 2002-04-16 Intermec Ip Corp. Method and apparatus for associating data with a wireless memory device
US5798513A (en) * 1996-12-03 1998-08-25 Intermec Corporation Method and apparatus for decoding unresolved profiles produced from relief formed symbols
US6513714B1 (en) * 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
US6585157B2 (en) 1998-09-14 2003-07-01 Psc Scanning, Inc. Symbology determination to aid decoding in a bar code scanning system
US6454168B1 (en) 1998-09-14 2002-09-24 Psc Scanning, Inc. Correlation and stitching techniques in a bar code scanning system
JP3548025B2 (ja) * 1998-12-17 2004-07-28 富士通株式会社 バーコード読取装置および方法
US6514140B1 (en) 1999-06-17 2003-02-04 Cias, Inc. System for machine reading and processing information from gaming chips
JP4416980B2 (ja) 1999-10-25 2010-02-17 富士通株式会社 バーコード読取装置およびバーコード読取方法
US6189792B1 (en) * 1999-12-14 2001-02-20 Ncr Corporation System and methods for exemplar based bar code error detection and correction
US6398113B1 (en) * 1999-12-23 2002-06-04 Ncr Corporation System and methods for collaborative bar code error detection and correction
US6540143B1 (en) * 2000-05-19 2003-04-01 Fujitsu Limited System and method for recovering bar code errors
US6666377B1 (en) 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US6357942B1 (en) 2000-08-24 2002-03-19 Lexmark International, Inc. Method for reducing cyclic print errors
US7051930B2 (en) * 2002-05-22 2006-05-30 Lockheed Martin Corportion Bar code for mail processing systems
US6651887B1 (en) * 2002-07-26 2003-11-25 Storage Technology Corporation Reading and interpreting barcodes using low resolution line scan cameras
JP4070631B2 (ja) * 2003-02-21 2008-04-02 富士通株式会社 バーコード読取装置およびバーコード読取方法
US20060027657A1 (en) 2004-08-04 2006-02-09 Laurens Ninnink Method and apparatus for high resolution decoding of encoded symbols
US7175090B2 (en) 2004-08-30 2007-02-13 Cognex Technology And Investment Corporation Methods and apparatus for reading bar code identifications
EP1645992A1 (en) * 2004-10-08 2006-04-12 Philip Morris Products S.A. Methods and systems for marking, tracking and authentication of products
US7963448B2 (en) 2004-12-22 2011-06-21 Cognex Technology And Investment Corporation Hand held machine vision method and apparatus
US9552506B1 (en) 2004-12-23 2017-01-24 Cognex Technology And Investment Llc Method and apparatus for industrial identification mark verification
WO2007035863A2 (en) 2005-09-21 2007-03-29 Intermec Ip Corp. Radio frequency identification tags based on coalition formation
US8120461B2 (en) * 2006-04-03 2012-02-21 Intermec Ip Corp. Automatic data collection device, method and article
US8108176B2 (en) 2006-06-29 2012-01-31 Cognex Corporation Method and apparatus for verifying two dimensional mark quality
US8002173B2 (en) * 2006-07-11 2011-08-23 Intermec Ip Corp. Automatic data collection device, method and article
US8169478B2 (en) * 2006-12-14 2012-05-01 Cognex Corporation Method and apparatus for calibrating a mark verifier
JP5089158B2 (ja) * 2006-12-19 2012-12-05 沖電気工業株式会社 媒体処理システム及び改札機
US7546955B2 (en) * 2007-03-16 2009-06-16 Intermec Ip Corp. Systems, devices, and methods for reading machine-readable characters and human-readable characters
US20090015875A1 (en) * 2007-06-20 2009-01-15 Ctb/Mcgraw-Hill Companies, Inc. Image manipulation of digitized images of documents
US9734376B2 (en) 2007-11-13 2017-08-15 Cognex Corporation System and method for reading patterns using multiple image frames
EP2472451A1 (en) 2010-12-30 2012-07-04 Philip Morris Products S.A. Method and apparatus for marking manufactured items
US20130169996A1 (en) * 2011-12-30 2013-07-04 Zih Corp. Enhanced printer functionality with dynamic identifier code
US20130215467A1 (en) 2012-02-21 2013-08-22 Zih Corp. Method and apparatus for implementing near field communications with a printer
EP3051469B1 (en) 2015-01-28 2024-05-22 Inexto Sa Method and apparatus for unit and container identification and tracking
PL3051372T3 (pl) 2015-01-31 2019-10-31 Inexto Sa Zabezpieczona identyfikacja i weryfikacja produktu
CN104700064B (zh) * 2015-04-02 2017-11-07 宁波聚思信息科技有限公司 一种包装条码纠错一体化设备
US20180205543A1 (en) 2015-08-13 2018-07-19 Inexto Sa Enhanced obfuscation or randomization for secure product identification and verification
US10579889B2 (en) 2015-08-25 2020-03-03 Inexto Sa Verification with error tolerance for secure product identifiers
WO2017032860A1 (en) 2015-08-25 2017-03-02 Inexto Sa Multiple authorization modules for secure production and verification
JP7419084B2 (ja) * 2020-01-28 2024-01-22 東芝テック株式会社 リーダ、方法、プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4146046A (en) * 1973-11-16 1979-03-27 Monarch Marking Systems, Inc. Coded record and methods of and apparatus for encoding and decoding records
US3887792A (en) * 1973-12-04 1975-06-03 Scope Inc Method and device for reading and decoding a delta-distance code
US3969613A (en) * 1975-02-03 1976-07-13 International Business Machines Corporation Two frequency coded data interpreting method and apparatus
JPS61101880A (ja) * 1984-10-24 1986-05-20 Sato :Kk バ−コ−ド読取方法および装置
US5036183A (en) * 1988-08-25 1991-07-30 Alps Electric Co., Ltd. Code reading device
JP2886545B2 (ja) * 1989-03-03 1999-04-26 富士通株式会社 マージン認識方法及びバーコード読取り装置
US5493108A (en) * 1992-10-14 1996-02-20 Spectra-Physics Scanning Systems, Inc. Method and apparatus for recognizing and assembling optical code information from partially scanned segments
US5486689A (en) * 1993-01-22 1996-01-23 Intermec Corporation Method and apparatus for decoding unresolved multi-width bar code symbology profiles
DE4323293C2 (de) * 1993-07-12 1996-07-25 Sick Optik Elektronik Erwin Verfahren und Abtastanordnung zur Identifizierung eines aus aufeinanderfolgenden hellen und dunklen Feldern bestehenden Codes
US5489767A (en) * 1994-02-14 1996-02-06 Storage Technology Corporation Media labeling system for data storage elements having a common form factor
US5412196A (en) * 1994-04-01 1995-05-02 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using multi-order feature vectors
US5602382A (en) * 1994-10-31 1997-02-11 Canada Post Corporation Mail piece bar code having a data content identifier

Also Published As

Publication number Publication date
DE69728485T2 (de) 2005-02-24
JPH10105643A (ja) 1998-04-24
EP0829815A2 (en) 1998-03-18
EP0829815A3 (en) 2000-11-08
EP0829815B1 (en) 2004-04-07
DE69728485D1 (de) 2004-05-13
US5767498A (en) 1998-06-16

Similar Documents

Publication Publication Date Title
JP4162279B2 (ja) バーコード・スキャナ及びバーコード走査方法
EP0431264B1 (en) Method and apparatus for decoding bar codes from multiple scans
US11900201B2 (en) Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine readable indicia
JP4526053B2 (ja) バーコードのエラー検出及び修正のためのシステム及びその方法
EP0536374B1 (en) Method and apparatus for bar code evaluation
US11893449B2 (en) Method, apparatus, and system for characterizing an optical system
EP1016027B1 (en) Distortion resistant double-data correcting color transition barcode and method of generating and using same
US6398117B1 (en) Method and system for combining bar codes of different encoding dimensions
US6585157B2 (en) Symbology determination to aid decoding in a bar code scanning system
US6513714B1 (en) Character reconstruction and element level processing in bar code scanning system
US6189792B1 (en) System and methods for exemplar based bar code error detection and correction
US5837983A (en) Readability monitoring system for optical codes
US6454168B1 (en) Correlation and stitching techniques in a bar code scanning system
JPH04284586A (ja) 非接触式バーコード・ラベルを確認する装置および方法
US6561427B2 (en) Decoding system and methods in a bar code scanning system
CN106997446A (zh) 增强的矩阵符号纠错方法
JP2000306036A (ja) 光学読み取り装置、及び光学読み取り方法、並びに光学読み取りシステム
CN116301674A (zh) 打印头磨损检测方法、装置及计算设备
US7070108B1 (en) Bar code scanner
US6494376B1 (en) Compensation for scan line variations in a bar code scanner system
US20040112963A1 (en) Bar code scanner
JP2023153742A (ja) 光学コードの読み取り

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070926

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071001

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071129

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

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

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

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

EXPY Cancellation because of completion of term