JPH07504530A - スキャンされたセグメントから完成コードを再構築するためのスキャニング装置 - Google Patents

スキャンされたセグメントから完成コードを再構築するためのスキャニング装置

Info

Publication number
JPH07504530A
JPH07504530A JP6508281A JP50828194A JPH07504530A JP H07504530 A JPH07504530 A JP H07504530A JP 6508281 A JP6508281 A JP 6508281A JP 50828194 A JP50828194 A JP 50828194A JP H07504530 A JPH07504530 A JP H07504530A
Authority
JP
Japan
Prior art keywords
scan
data
alignment
code
signal
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.)
Pending
Application number
JP6508281A
Other languages
English (en)
Inventor
ワルドロン,ジェームス,アール.
ノードストロム,ラリー,エー.
ケニー,ダニエル,エー.
Original Assignee
レーザーデータ コーポレーション
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 レーザーデータ コーポレーション filed Critical レーザーデータ コーポレーション
Publication of JPH07504530A publication Critical patent/JPH07504530A/ja
Pending legal-status Critical Current

Links

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/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
    • 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
    • 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/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Mechanical Optical Scanning Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Image Processing (AREA)
  • Vehicle Body Suspensions (AREA)
  • Character Discrimination (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 スキャンされたセグメントから完成コードを再構築するためのスキャニング装置 発明の分野 本発明はバーコードをスキャンするための装置に関し、さらに特定すれば、スキ ャンされたコードのセグメント(segment)を組み合わせることで完成さ れたコードを再構築する全方向型(omni−directionaL)スキャ ニング装置に関するものである。
発明の背景 バーコードは1物品(item)あるいは1群の物品を特徴的に識別するために 、多数の適用形態にて使用されている。バーコードは特徴的な識別コードを表示 する黒色のバー(bar)と白色のスペース(space)との組合せであり、 多様な手段にて物品に付着されている(例ニラベル)。バーコードのリーディン グ(読み取り;reading)とデコーディング(解読;decording )は、物品の説明及び価格等の物品に関する付加的情報の提供に利用が可能であ る。
バーコードは、在庫管理、製造部品管理、並びに、従業員識別等にも使用されて いる。バーコードを正しく読み取れなければ、通常は、人による介在、例えば、 データ(例:バーコードにより表示される識別番号)の手動入力が必要となる。
しかし、人の介在は、入力エラーによるトラブル発生を招きやすく、作業効率を 悪くし、コスト高に導きかねない。
バーコードスキャナーは物品に付着されたバーコードを読み取り、望む情報の回 収に使用される。スーパーマーケットの場合の1使用例は、商品価格の読み取り である。スキャナーはバーコードから反射してくる光を感知し、典型的には濃色 あるいは黒色のエリアであるバーと、典型的には明色あるいは白色のエリアであ るスペースとの間の光のコントラストを判定することでバーコードを読み取る。
はとんどのスキャナーにおいて、バーコードは、バーコードを横切って移動、即 ちスイープ(sweep)するコヒーレント光(coherent light )のビーム(例:レーザー光)によって照射される。典型的には、バーコードを 横切ってコヒーレント光をスイープさせるのに、複数のミラーファセット(mi rror facet)を有する回転ホイールが使用される。
図1には、方向20にコンベアベルト14上で移動しているパッケージ12に付 着されたバーコード22を検出するための典型的な全方向型オーバーヘッドスキ ャナー10が示されている。スキャナー10はコヒーレント光のパターン16に よって、バーコード22が配置されているパッケージの上面を照射する。このよ うに、スキャナー10はどのようなオリエンテーション(配向;orienta tion)であろうと、スキャナー10に近づくバーコード22を読み取ること ができる。この図においては、バーコード22が読み取られ、パッケージ12が 選別されて異なる通路18aから18cに沿って送り出される。
1スキヤニング技術においては、バーコードは、バーコード全体を横切ってコヒ ーレント光のビームをスイープすることで読み取られる。実際には、複数回のり ダンダント(冗長; redundant)な通過、即ちスイープがバーコード 全体に施されてバーコードの良好なリーディングを確実なものとするように試み られるが、バーコードの再構築は行われない。リダンダントなスキャニングは、 発生し得る局部的な幅の不正確さく例:バー中の局部的欠陥)をアドレス(ad dess)するために行われるものである。この手法は、照射されるコヒーレン ト光のスキャンラインに沿ってバーコードが延びるように前もって配置されてい るバーコードを読み取るのには最適である。このバーコードオリエンテーション は、「ビケットフェンス(picket fence)Jあるいは「梯子(la dder)」オリエンテーションとも呼称されてきた。
しかじなが1ら、スキャニング装置のスキャンラインに対してバーコードのオリ エンテーションを制御することは必ずしも可能ではない。コヒーレント光スキャ ンラインに対しである角度を有するバーコードのスキャニングに従来式手法を使 用するには2つの方法がある。バーコードを、バーコードの表面に対して多数の 角度を有するコヒーレント光の多数のビームでスキャンすることは可能である。
しかし、この方法は多数の高価な装置を要する。あるいは、バーコードを非常に 高くして、スキャンラインが事実上バーコード全体を見ることができるようにす ることも可能である。だがこの方法は、バーコード(例:バーコードラベル)を 非常に大きなものとする。
コヒーレント光スキャンラインに対しである角度を有するバーコードを読み取る 別技術は、バーコードの断片からバーコード全体を再構築することに関係する。
この技術は、バーコードがコヒーレント光スキャンラインの下方を横切って移動 するときに、結果的にはバーコード全体がスキャナーによって見られるという基 本的な考えに基づいている。しかし、スキャナーは一時にはバーコードの一部、 即ち断片のみをスキャンするだけであり、スキャンされた各断片はセーブ(Sa ve)される。バーコードがスキャンラインを通過した後に、セーブされたスキ ャン済み断片の再組合せによって完成バーコードが再構築される。
バーコード再構築の際、リダンダンシー(冗長; redundancy)によ るロス(喪失; 1oss)のために、バーコードが誤読み取りされるリスクが 増加する。リダンダンシーとは、正確な要素幅(element width) がデコーディングのために提供されることを確実にするための、同一のバーコー ド要素(例:同一バー)の反復測定のことである。いかなるスキャンにおいても 、印刷の問題(例:空白あるいは汚れ)、スキャニングプロセスでのエラー、及 び/又は、バーコード(例:バーコードラベル)の破損を原因とした不正確な幅 が出力されることはあり得る。
バーコード全体の反復スキャニングは再構築技術に関しては不可能である理由に より、リダンダンシーは、コード断片のオーバーラツプした領域(regi。
n)からの幅データを利用して、個々のバーとスペースレベルにおいて実行され る。断片が適正にアラインされると、リダンダント情報は、オーバーラツプした 領域のバーとスペースに対する幅データをリファインして訂正するために入手さ れる。よって、再構築法に対しては、リダンダンシーは正確な断片アラインメン トの入手如何によって決定される。
再構築技術の1タイプは、いくつかの断片に共通である、バーとスペースの幅を 含むバーとスペースのパターンの位置決定とマツチングとを実行することによっ てそれら断片をアラインすることに関与する。この特殊な技術は以後「パターン マツチング」と呼称する。このパターンマツチング技術に関する断片ミスアライ ンメントの1共通原因は、バーコード中のバー要素の反復パターンの存在である 。反復パターンのために、相互に共通な断片内に多数のエリアが存在可能となる 。よって、断片のバーとスペースパターンがマツチするとき、間違ったバーとス ペースがアラインメントに使用される原因によって、それら断片は適正にアライ ンされない可能性が存在する。
ミスアラインメントは他のいくつかの原因でも発生する。バーコードに関する人 間判読型(human readable)の印刷は、1端あるいは両端にて欠 陥バーを作成する可能性がある。バーコードラベルの印刷エラー及び破損は、ス キャンの度に、実際よりも大きく、あるいは小さく見える特定のバーを発生させ 得る。
もし、厳密なパターンマツチングが要求されたとしても、バーコードはほとんど 正確には再構築されず、読み取り率(read rate)は非常に低くなる。
正確なパターンマツチングはほとんど達成されないので、少なくとも所定数のバ ーとスペースがマツチングすれば断片がアラインされていると見なすように、随 意な制限が一般的には設定される。しかし、この制限は真人に設定され過ぎると 、マツチングの数が上昇して読み取り率は高くなるものの、誤判読は増加する。
実際には、誤判読の大部分は固定長のバーコードとチェックサム(checks um)を使用することでフィルターして除外することが可能である。
従って、適正なデコーディングのための正確なバーとスペース幅の判読は、オー バーラツプしている領域のバーコード断片の適正なアラインメントに頼ることと なる。しかし、従来方法におけるオーバーラツプ領域の適正なアラインメントは 、断片の/<ターンのマツチングに頼っている。この方法は、バーとスペースが 正確な幅を有していることを想定している。即ち、パターンマツチングのための 従来方法を使用したバーコードの再構築は、デコーディングのための正確なバー とスペース幅に対する要求と、合理的範囲の読み取り率に対する要求とをバラン スさせるものである。
再構築バースキャンニング装置と、関連する方法とは、アメリカ合衆国特許第4 .289,957号、第4,488,678号、第4,717,818号、第4 .973,829号、第5,028,772号、及び第5,124,538号に おいて説明されている。これら特許間の相違点は、デコーディングのための完成 バーコードを再構築するための、断片の組み合わせに関する特殊手段間の相違で ある。
アメリカ合衆国特許第4,289,957号と第4,717,818号において は、バーコードはバーコードの両端部と中央部を表示するマーカーを含んでいる 。スキャニング装置は、スキャンされたセグメント内のマーカーの存在に基づい て、完成バーコードを再構築する。アメリカ合衆国特許第4,289,957号 においては、2つのマーカー(例:1端部と中央部)の間に位置しないバーの断 片は無視され、両マーカー間に位置する断片部が組み合わされる。
アメリカ合衆国特許第4,488,678号においては、複数のバーコード断片 間のオーバーラツプ部分からの余計な、あるいは重なったデータは排除される。
もし、バーコードが複数の分離バーを有しているなら、これら分離バーの外側の データは排除される。バーコードが分離バーを有していなければ、組合せデータ によって示されるバーの数は、スキャンされている特定のバーコードに対して知 られているバーの数と比較される。組合せデータに対するバーの数が、知られて いる値よりも大きければ、余計な、あるいは重なったデータはオーバーラツプし ている領域のどちらからも排除される。
アメリカ合衆国特許第4,973,829号、第5,028,772号、及び第 5,124,538号においては、完成バーコードは、データのパターンマツチ ング(即ち、バー/スペースマツチング)が存在するまで、2断片の蓄積データ を相対的にシフトすることで再構築される。その後に、断片からのデータはこの 共有ポイントに基づいて組み合わされる。これらの特許間の相違とは、幅データ の相対的シフト手法と、必要なマツチングの量及びタイプと、データの再構築法 の相違である。
アメリカ合衆国特許第4,973,829号においては、マルチパス(複数の走 査;multiple pass)からのデータは、スーパーインボーズ技術( superimposition technique)を使用して組み合わさ れる。この方法では、マスターメモリのデータは、マスターメモリデータがトラ ンザクションメモリ(t、ransaction memory)に蓄積された バスの1つからのデータと完全に一致するまで、1時に1アドレスづつシフトさ れる。トランザクションメモリからのデータは、一致ポインドから開始して、マ スターメモリ内のデータにスーパーインポーズされる。
アメリカ合衆国特許第5,028,772号においては、バーコードはスキャン されて2つの不完全なバーコードセグメントを創出する。1方の断片はコードの 開始部を提供し、他方の断片は終了部を提供し、両方の断片はオーバーラツプす る中央部を提供する。これら2個のバーコード断片は、登録されているか、ある いはパターンがマツチした中央部が得られるまで、断片のオーバーラツプした領 域を相対的にシフトすることで組み合わされる。ここで重要なことは、この装置 は、バーとスペースのパターンが完全にマツチするまで、前もって取得されてい るデータに沿って1つの断片をスライドさせることである。
アメリカ合衆国特許第5,124,538号(第5,124,772号の継続) は組合せ方法を解説しており、この方法では複数のスキャンされた断片がバーコ ード全体を再構築するために組合せ可能となっている。この技術では、バーとス ペースの幅に関係するデータを取得しながら、各スキャンの開始ポイントに対し 、あるデータイベントの位置に関してもデータを蓄積する。第1断片の有効な中 央部に対するトランジション(transition)(例:自から黒)位置カ ウントが記録され、範囲(+/−)が計算される。その後、第2断片は分析され 、その断片の少なくとも一部が、第1断片の有効中央部の計算された範囲に入っ ているかどうかが調べられる。もし、有効範囲に入っていなければ、引き続くス キャンからの断片が分析される。
もし、第2断片が第1断片の有効中央部である計算された範囲に入っていれば、 第2断片はその計算された範囲の各可能な位置にシフトされる。その後、パター ンの比較は、各可能な位置での各断片に対して、幅データ間において実行される 。
好適には、パー/スペースベアは、隣接するバーとスペースとを組み合わして創 出され、それらバーとスペースはその後にパターン比較の目的で使用される。パ ターンがマツチすれば、隣接コード断片の登録された中央部は特定、即ち発見さ れる。
従って、本発明の1目的は、パターンマツチングアラインメント技術に固有な不 確定要素を排除するスキャニング装置を提供することである。
本発明の別目的は、従来の技術よりもさらに効率的で、高速処理可能なスキャニ ング装置を提供することである。
本発明の別目的は、スキャンされた各パー要素に対するリダンダント情報が、デ コーディングのためのバーとスペース幅の判読に使用され得るように、スキャン されたセグメントをアラインするスキャニング装置を提供することである。
本発明の別目的は、スキャン間の選択されたバーのポジション(位置;posi tion)変化を計算することで、スキャンされたセグメントから完成バーコー ドを再構築することが可能なスキャニング装置を提供することである。
本発明の別目的は、選択されたバーのポジション情報を使用して、オーバーラツ プしているスキャンされたセグメントをアラインすることが可能なスキャニング 装置を提供することである。
本発明の別目的は、データ収集及び/又は選別を目的として、高速コンベアに沿 って移動しているパッケージの読み取りを含む、多様な適用形態において使用可 能なスキャニング装置を提供することである。
発明の概要 本発明は、複数のコード要素を含む、対象体の機械にて判読可能な(machi ne readable)コードを読み取るための装置と方法とに関するもので ある。本装置は、スキャニング手段と、信号プロセス(処理)手段と、データプ ロセス手段とを含む。スキャニング手段はコードを連続的にスキャンし、コード の各連続的スキャンに対して、少なくともコードの一部を表す信号を出力する。
信号プロセス手段は、スキャニング手段によって出力された各信号を処理し、コ ードの各連続的スキャンに対して、各信号に関連する幅とポジションとを含む信 号識別データをさらに提供する。
データプロセス手段は、信号プロセス手段によって提供されたコードの各連続的 スキャンに対する信号識別データからコードを再構築する。データプロセス手段 は、連続的スキャンに対する選択されたコード要素のポジション判定と、先行し たスキャンからの対応する要素と選択されたコード要素とのポジション的アライ ンメントとの両方を実施するポジションアラインメント手段を含む。
1好適実施例においては、データプロセス手段はさらに、データの組合せ及び蓄 積手段をも含む。データプロセス手段のポジションアラインメント手段は、第1 ポジション計算手段及び第2ポジション計算手段とオフセット平均手段とをさら に含む。第1ポジション計算手段は、第3スキヤンにおいて使用する計算された オフセットを提供するために、第1スキヤンの選択されたコード要素のポジショ ンと、第2スキヤンの選択されたコード要素のポジションとの間のポジション差 を計算する。その後に、第1スキヤンと第2スキヤンの両方のリーディングエツ ジ(leading edge)あるいはトレイリングエツジ(trailin g edge)のアラインメントに基づいて、第1スキヤン及び第2スキヤンに 対してアラインメントが実行される。
バーコードの少なくとも3つのスキャンが存在するとき、第2ポジション計算手 段は、組合せ及び蓄積手段からの選択されたコード要素のポジションと、コード の一部の連続的スキャンからの選択されたコード要素のポジションとの間のポジ ション差を計算する。オフセット平均手段は、連続的スキャンに使用するりファ イン(refine)された計算済みオフセットを提供するために、第2ポジシ ョン計算手段によって計算されたポジション差で、前に計算されたオフセットを 平均化する。
ポジションアラインメント手段は、第3及び連続的スキャンにおける選択された コード要素の予期されるボジョションを判定する手段と、選択されたコード要素 の予期されるポジションと最も近似にマツチする第3及び連続的スキャンにおけ るコード要素を位置決定する手段とをさらに含む。予期されるポジションは、第 3スキヤンに対する第1ポジション計算手段か、あるいは全ての他の連続的スキ ャンに対するオフセット平均手段からの計算されたオフセットを適用することで 決定される。好適には、選択されたコード要素は、少なくとも2つのスキャンで 見られたバーである。その後、第3及び連続的スキャンは、計算されたオフセッ ト、あるいはリファインされた計算済みオフセットに基づいた以前のスキャンと アラインされる。アラインメントの検証は、前のスキャンと現在のスキャンとの アラインメントを確認するために行われる。しかし、もし、アラインメントが適 正でなければ、追加的アラインメントが試みられる。
データプロセス手段は、組合せ及び蓄積手段の信号識別データと、連続的スキャ ンの信号識別データとをポジション的にアラインする手段と、アラインされた信 号識別データ間の幅ミスマツチを識別する手段と、幅ミスマツチを有していると 判定された信号識別データを保持する手段とを含むことができる。信号識別デー タは、組合せ及び蓄積手段の選択されたコード要素のポジションと、連続的スキ ャンの選択されたコード要素のポジションに最も近似的にマツチするコード要素 とに基づいてアラインされる。また、組合せ及び蓄積手段は、ミスマツチした信 号識別データが組み合わされて蓄積されないように、ミスマツチ識別手段と協調 作動する。
ミスマツチは、信号識別データの3スキヤンからの幅データを比較することでミ スマツチを解消させるミスマツチ解消手段によってアドレスされる。信号識別デ ータの第1スキヤンと第3スキヤン及び第2スキヤンと第3スキヤンのベアは比 較され、どのスキャンベアが一部データを有しているかが判定される。一致する 幅データを有するスキャンに対する信号識別データが、組合せ及び蓄積手段にお いて組み合わされ、不一致データと関連するスキャンに対するデータが無視され るように表示手段が提供される。
データプロセス手段は、信号識別データが蓄積される第1エリアと、そのような データが蓄積されない第2エリアとを識別するための識別手段をさらに含む。
信号識別データは、データが第1エリアあるいは第2エリアとそれぞれオーバー ラツプするかどうかを判定するために、第1比較手段及び第2比較手段によって 比較される。第2エリアはデコードされない機械にて判読可能なコードを含むエ リアでよい。
スキャニング手段は、少なくとも単数の、あるいは複数の光源及びセンサー手段 を含むことが可能である。光源及びセンサー手段は、予め定められた光パターン で機械にて判読可能なコードを連続的に照射し、コードから反射してくる光を連 続的に感知するものであり、コヒーレント光源を含むことができる。スキャニン グ手段は、予め定められた光パターンを創出するためにコヒーレント光源からの 光を方向決定する光方向決定手段を含むことができる。
図面の簡単な説明 図1は従来技術のオーバーヘッド全方向型スキャナーの側面図である。
図2はオーバーヘッド型のコンベアベルト用スキャニングに適用される本発明の スキャナーの側面図である。
図3は本発明の1実施例において使用可能な光源及びセンサー手段の相互関連部 品の略図的斜視図である。
図4は本発明の1実施例において使用可能なデータプロセス手段と信号プロセス 手段の略図的ブロック図である。
図5は本発明の信号プロセッサーの1実施例に使用されるデータフォーマットを 示している。
図6はバーコードを横切る連続的スキャンを示す平面図である。
図7(a)から図7(g)にかけては本発明のマイクロプロセッサ−用の操作手 順を表すフローチャートである。
好適実施例の説明 図2において、本発明の説明のためのスキャニング装置100が示されている。
このスキャニング装置の1使用法は、方向106にて移動するコンベアベルト1 04上の箱体102に付着されたバーコードのスキャニングである。スキャニン グ装置100は光学的手段108と電子的手段110とを含む。光学的手段1゜ 8は移動する箱体102をコヒーレント光で照射し、バーコードから反射してく る光を感知し、反射光に関する出力信号をライン112に沿って電子パッケージ 110に提供する。好適には、提供される出力信号は従来技術を利用してデジタ ル化されている。
図2には、本発明の光学手段の別実施例が示されており、これは、移動する箱体 102の側面をスキャンするために配置された追加的光学手段108を含む。
この光学手段を、移動する物品のいかなる露出面に付着されたバーコードであろ うとも最良に感知できるように、移動する物品の通路(travel path )周辺に配置することが可能である。
電子手段110は光学手段の出力信号を処理し、スキャンされた各バーコードに エンコードされた情報を表す信号を出力する。好適には、電子手段110は各光 学手段に対して提供される。
図3に示すように、光学手段108はコヒーレント光源及びセンサーアセンブリ 120と、回転ミラー搭載ポリゴン(多角形)122とを含む。好適には、ミラ ー搭載ポリゴン122は8面の反射面即ちファセット(facet)を有してお り、ブラシレス(brushless)DCモータ(図示せず)によって回転さ れる。モータ速度はバーコードを照射する投射コヒーレント光128のスキャン 即ちスイープ速度を決定する。
好適には、光学手段108は2個以上のコヒーレント光源及びセンサーアセンブ リ120を含む。光学手段108内にコヒーレント光源及びセンサーアセンブリ 120を適正に配置することで、ポリゴン122は各光源及びセンサーアセンブ リ120からの光をスイープするのに使用可能となる。光源及びセンサーアセン ブリ120の数は望まれるバー要素の解析度と、使用されるスキャンパターンに よって決定される。例えば、もし4体の光源及びセンサーアセンブリ120が使 用されるなら、光学手段は15ミル(1ミル=o、ooiインチ)(約o、03 81センチ)以上のバーをスキャン可能であり、2光源及びセンサーアセンブリ の場合には20ミル(約0.0508センチ)以上のパーをスキャンすることが 可能である。
光源及びセンサーアセンブリ120は、670ナノメートルの光を発生するレー ザーダイオードのごときコヒーレント光源24を含む。光源124からの光はレ ンズアセンブリ126によって焦点処理されて、投射光128は予め定められた 焦点面にて焦点を結ぶ。このように、前もって規定された幅のパーは、この焦点 面の上方あるいは下方のある距離にて最良に照射される。パーが最良に照射され る距離は、即ち焦点距離は、一般的にスキャニング装置のフィールドの深さくd epth of field)と呼ばれる。レンズアセンブリ126を出てくる 光はバウンスミラー(bounce m1rror)130によって反射され、 リターンミラー(return m1rror)134中央部のアパーチャ(開 口部;aperture)132を通って回転ポリゴン122へと送られる。
説明のため、投射光128は実線で、リターン光142(即ち、バーコードによ って反射される光)は破線で示す。
バウンスミラーからの投射光128は、回転ポリゴン122の1反射側面によっ て反射され、2体のミラーフェース138a及び138bを有するスプリッター ミラー(splitter m1rror)136に対して再方向調整が実施さ れる。フェース138aと138bはポリゴン122に面した鈍角を形成する。
ポリゴン122の回転で、フェース138aと138bとの間のスプリッターミ ラー136のピークを横切ってコヒーレンス光がスイープされると、光はスプリ ッターミラーから左右のいずれかに反射する。スプリッターミラー136から反 射した光は、スプリッターミラー136からどちらの方向に反射するかにより決 定されるアラインメントミラー140の1つによって反射される。スプリッター ミラー136によって反射された光の方向によって、1本あるいは複数本のブラ ンチ(枝;branch)を有する「X」スキャンパターンがバーコード上に創 出される。
リターン光142はスイープされている投影光128によって照射されるバーコ ードの明暗エリアを表示する。バーコードからのリターン光142はスプリッタ ーミラー136、アラインメントミラー140及び回転ポリゴン122によって 反射され、リターンミラー134に送られる。その後、リターン光142はリタ ーンミラー134によって反射され、リターン光142をセンサー146に焦点 を合せる第2レンズアセンブリ144に送られる。センサー146はフォトダイ オードでもよいが、光密度を検出して、その出力信号を提供することが可能でさ えあれば、どの従来式装置であっても構わない。センサー146からの出力は、 処理とデコーディングのためにライン112(図2に図示)を介して電子手段1 10(図2に図示)に送られる前に、プレアンブリファイヤー(図示せずypr eammplifier)によって増幅され、デジタライザーボード(図示せず )によってデジタル化される。
図4に示すごとく、電子手段1.10は、データマイクロプロセッサ−150と 光学信号プロセッサー152との2部品を有している。信号プロセッサー152 は、図3の光学手段センサー146からの反射光信号のデジタル表示を受信し、 明るい部分と暗い部分のデータ表示がデータマイクロプロセッサ−150に提供 されるように処理する。データマイクロプロセッサ−150は、そのままそのデ ータを受け取って、以下に説明するように処理し、スキャンされたバーコードを 再構築する。バーコードが再構築されると、マイクロプロセッサ−150はバー コードをデコードし、そのデコードされた情報をコントローラーボード(図示せ ず)に出力する。
信号プロセッサー152はプログラム可能アレイロジック(PAL;progr ammable array logic)154、トランジションカウンター 156、ポジションカウンター158、システムクロック160、スイープカウ ンター162、ポジションクロック164、及び、2つのファーストイン/ファ ーストアウト(FIFO;first−in/first−out)バッファー 166 aと166bとを含む。光学手段出力信号はライン112(図2)を介 して、PAL 154とポジションカウンター158との両方に対して提供され る。
ポジションクロック164はポジションカウンター158に提供される。ポジシ ョンカウンターはスキャンの各バーとスペースのポジションデータをFIFOバ ッファー166bに出力する。ポジションカウンターはさらにFIFOバッファ ー166bに対して、ポジションカウンターからのデータに関連する、他方のバ ッファー166aに含まれるデータがパーであるか、あるいはスペースであるか を(即ち、黒フラッグか白フラッグかを)示すフラッグ(flag)を出力する 。
ポリゴンドライブモータ123はエンコーダパルスとホームパルスとをスイープ カウンター162に提供する。スイープカウンター162はスイープ信号の1端 部(end)をPAL 154とカウンター158とに出力し、別スイープから の新データを蓄積可能とする。ホームパルスはスイープカウントをスイープパタ ーンの開始と同期させるのに使用される。
トランジションカウンター156は、システムクロック160とPAL154と からの入力を使用して、各バーとスペースの幅データをFIFOバッファー16 6aに出力する。PAL154は、各トランジション後にトランジションカウン ターをリセットするために、出力信号をトランジションカウンター156に提供 する。
FIFOバッファー166aと166bは、マイクロプロセッサ−150に送ら れてさらに評価と処理がなされるまで、対応する幅及びポジションのデータを保 存する。マイクロプロセッサ−150が別バッチのデータを要求すると、PAL 154はFIFOバッファー166aと166bとからのデータをマイクロブロ セッサー150へとトランスファーするように指示される。本発明においては、 データはFIFOバッファー166aと166bとからマイクロプロセッサ−メ モリ168に直送される。いかなる時点においても、FIFOバッファソフの情 報量は、マイクロプロセッサ−150の処理速度と、光学手段108によって読 み取られているバーコードの数によって決定される。
信号プロセッサー152の前述の記載は説明のために提供されているものであり 、バーコードの明るい箇所と暗い箇所を表す信号、及びそれぞれのポジションを マイクロプロセッサ−に出力するのに使用可能な他の従来技術及び装置も利用可 能である。
図5は信号プロセッサーからデータマイクロプロセッサ−へのデータ出力172 を図示している。第1領域174の最初の15フイールド内のビットは、バーあ るいはスペースのカウント(即ち、幅データ)を反映している。第2領域176 の16番目のフィールド内のビットは、最初の15フイールドのデータがバーの ものか、あるいはスペースのものかを示す。残りのフィールドである第3領域1 78は、スイープの開始からのバーあるいはスペースのポジションを表すビット を含む。
図6に示すように、バーコード190がスキャンラインに対しである角度でスキ ャナーの下方を移動するとき、バーはいくつかのコヒーレント光ビーム192に よってスイープされる。各ビーム192は、各領域がバーコードの1セグメント を表しているバーコードの異なる領域を横断するであろう。図6に示すように、 バーコードセグメントのスイープはオーバーラツプする。異なる領域を横断する ことに加えて、コヒーレント光ビーム192は異なるポイントで同一のバーコー ドを横断する。バーコードの実際のスィーブ数は、バーがスキャナーの下方を移 動する速度と、バーコードの高さ194とによって決定される。
特にコンベアベルトに対して使用するときには、各バーコード190がスキャナ ーの下方を通過する際に、スキャナーのスキャンラインに対しである固定角度を 維持し、バーコードの速度はだいたい一定であると想定することは可能である。
もし、バーコードが固定角度と一定速度とを維持するならば、データはスキャン ラインに沿って一定の割合で移動するように見えるであろう。従って、コヒーレ ント光の異なるスイープがバーコード要素を横断するポイントは、等距離に間隔 が開けられている。
本発明の再構築手法は、コードセグメントを正しいアラインメント状態に配置す るために、一定の移動速度を利用している。マージンがリーディングしているか 、あるいはトレイリングしているかは、スイープ方向によって決定される。どち らのマージンも、スキャナーからのコヒーレント光の少なくとも最初の2回のス イープによって横断される。最初の2スキヤンからのコードセグメントは、この マージンを使用してアラインされる。もし、マージンがリーディングエツジの使 用でアラインされなければ、アラインするための別の試みがトレイリングエツジ の使用で行われる。次に、バーが選択され、そのバーが最初の2回のスイープ間 でスキャンラインに沿って移動すると考えられる距離が決定される。この距離情 報は、引き続くスイープのコードセグメントをアラインするための、オフセット 計算に使用される。この計算されたオフセットは、引き続くスイープからのポジ ション情報を使用してさらにリファインされる。その後に、第3及び連続的スキ ャンは、リファインされた計算済みオフセットに基づいて前のスキャンとアライ ンされる。アラインメント検証は、前のスキャンと現在のスキャンとのアライン メントを確実にするために行われる。しかし、もしアラインメントが適正でなけ れば、追加的アラインメントが試行される。
最初の2スイ一プ間のデータ幅ミスマツチは、バーとスペースの幅値に不一致が 存在するかどうかを確認するために、ポジションがアラインされたセグメントを 比較することで確定される。これらのミスマツチは、第3スイープからのデータ を最初の2スイーブからのデータと比較することで解消される。2つの有効(g ood)なデータ幅が存在すれば、第3のものは無効(bad)データとして無 視される。バーコード幅データが完全に組み立てられたら、そのバーコードは4 つの可能な幅に標準化(noral 1zed)され、あたかもそのバーコード が伝統的手法でスキャンされたかのごとくに(即ち、全体的にスキャンされたか のごとくに)デコードされる。
この方法の利点は、全てのりダンダントなバーとスペースの情報をフルに活用で きることである。この手法は、パターンマツチング技術に固有な不確定要素を回 避し、人間判読型情報を自動的に排除する。前述のごとく、リダンダントなバー とスペースの情報は、デコーディングのための、バーとスペースの幅の正しい判 定を確実にする再構築手法には必要なものである。印刷した文字や数字のごとき 人間判読型情報は、全体として非直線的であり、適正にはアラインせず、よって 、未解消ミスマツチとして残る。従って、本発明の蓄積バーコードデータからは 自動的に排除される。
本発明の手法は、デコードされたバーコードのチェックサムあるいは固定長チェ ックを要しない。従って、バーコードはより速くデコードされ、どのバーコード がスキャンされるべきかを前もって知ることを要しない。さらに、本発明のスキ ャニング装置は、従来のものよりも小さなバーコード(即ち、小さなアスペクト 比を有するもの)を信頼性高く読み取ることができる。
図7(a)から図7(g)にかけて、再構築のためにコードセグメントをポジシ ョン的にアラインし、幅ミスマツチを解消し、スィーブデータを組合せ、完全に 再構築された後にバーコードをデコードするためのデータマイクロプロセッサ− 450(図4)の一連の操作手順のフローチャートが図示されている。引き続く 部分の読み取りの際に、スキャニング装置のスイープするコヒーレント光によっ てバーコードのどちら側の端から読み取りを開始しても構わないことは認識され るべきである。
あたかも一時に1個のバーコードが読み取られてデコードされるかのようにフロ ーチャートを記述することが最良ではあるが、本発明のスキャニング装置は同時 に複数のバーコードをスキャンして読み取ることが可能である。本スキャニング 装置はまた、他のバーコードに対するデータを同時に蓄積しながら、1個のバー コードをデコードすることも可能である。
処理プロセスの開始において(ステップ200)、カウンター及び他のパラメー タは初期化される(ステップ202)。開始及びパラメータの初期化(ステップ 200及びステップ202)の後に、スキャニング装置は連続操作モードになる 。従って、このプロセスは1個のバーコードに関するときに「終了(end)J となり得るが、この装置と作動は自動的に続行する(即ち、フローチャートに終 了はない)。
初期化(ステップ202)以後、ビデオデータDMAのステータス(statU S)は、1スキヤンあるいは次のスキャンが入手可能かどうかを判定するために 評価される(ステップ204)。もし、1スキヤンあるいは次のスキャンが入手 不能(No)であるならば、ステップ204はスキャンが得られるまで反復され る。
1スキヤンが入手可能(YES)のとき(ステップ204)、生データは、その データ内に可能なバーコードセグメントが存在するかどうかを確認するために評 価される。このプロセスはスキャンの開始部あるいは最後の識別セグメントの終 了部にてスタートする(ステップ206)。まず、生データはトランジションの 次の群を発見するために評価される。この群内の各トランジションはプリセット された最大バー/スペースよりも小さく、プリセットされた最小バー/スペース よりも大きなものである。次に、発見されたトランジションの群は、6:1より 大きいか、あるいは1:6よりも小さい比の値(即ち、典型的には黒によって割 られた白の真のバーコードマージンが10:1よりも大きなもの)を有する隣接 ベアが存在するかどうかがチェックされる。これによって、データはさらにセグ メント化され、発見された最初の群のトランジションは現在セグメントとなる。
必要ならばさらに処理を続行する前に、コードセグメントが常に1バーで開始と 終了が行われるようにコードセグメントは縮小される。バーコードセグメントを 発見するための全処理中に、トランジション群は、考察中としてとどまるために 、プリセットされた数のトランジションよりも大きなトランジションを持たなけ ればならない。発見されたセグメントは以後、特殊なスィーブに対して特に説明 がない限り、「現在セグメント」と呼ぶことにする。
セグメントが発見されれば(YES)(ステップ208)、そのセグメントは、 そのセグメントポジションが確定された無視エリア(ignore area) 内にオーバーラツプしているかどうかを判定するために評価される(ステップ2 10)。もし、セグメントが発見されなければ(No)(ステップ208)、そ のプロセスはアクティブエリア(active area)のリスト内をサイク ル(cycle)L/始める(ステップ260)。マルチバーコードを同時に読 み取る際、発見されたセグメントは知られているアクティブエリアと関連するか 、あるいは新アクティブエリアを創始する。アクティブエリアとは、ユーザーが デコードを希望するバーコードを含んでいる、スキャンラインの下方を通過する 物品の領域のことである。無視エリアとは、ユーザーがデコードを希望しないバ ーコードを含んでいる領域のことである。
現在セグメン]・は、セグメントの開始ポジションと終了ポジションとを無視さ れた既知エリアと比較することで(ステップ246.248参照)、無視エリア 内へのオーバーラツプに関して次に評価される(ステップ21o)。もし、現在 セグメント、あるいはその一部が無視エリアとオーバーラツプしていることが発 見されれば、マツチングが発見され、プロセスはステップ206に戻され、可能 な(possible)バーコードセグメントをさらに特定する。
現在セグメントが無視エリアにオーバーラツプしていなければ(No)(ステッ プ210)、そのセグメントは、確定されたアクティブエリアにオーバーラツプ しているかどうかを判定するために評価される(ステップ212)。これは、セ グメントの開始ポジションと終了ポジションとを既知アクティブエリアと比較す ることで行われる。もし、現在セグメントのデータポジションが、アクティブエ リア内に完全に収まっているか、−都電なっていることが発見されたなら、その セグメントはアクティブエリアにオーバーラツプしており、マツチングは発見さ れたことになる。
もし、アクティブエリアのオーバーラツプマツチングが発見されなければ(NO )(ステップ212)、アクティブエリアリスト(即ち、アクティブデータファ イル)は更新される(ステップ214)。このステップで、関連アドレスポイン ターを含む新アクティブエリア構造が、新アクティブエリアを特定するため、現 在セグメントからの情報を使用することで創出される。アクティブエリアリスト が更新されれば、プロセスはステップ206に戻され、他の可能なバーコード断 片を特定するためにステップ206に戻される。
もし、アクティブエリアのオーバーラツプマツチングが発見されれば(YES) (ステップ212L現在セグメントは、それが第2セグメントかどうかを判定す るために評価される(ステップ216)。もし、現在セグメントが第2セグメン トならば(YES)、プロセスは第1セグメントと第2セグメントのり一ディン グとティリングをアラインする試みによって続行される(ステップ238)。
もし、現在セグメントが第2セグメントでなければ(No) 、アクティブエリ ア構造からのスイープ方向は逆かどうかを判定するために評価される(ステップ 218)。
バーコード190はどの角度でもスキャンライン192に接近可能であるので、 また、単一の物品に対して読み取られているマルチバーコードが存在し得るので 、1バーコードはトレイリングエツジからスキャンされ、別のバーコードはリー ディングエツジからスキャンされるようにバーコードが配置される可能性は高い 。
第1セグメント及び第2セグメントは、まずラインアップされたリーディングエ ツジと比較され、次にラインアップされたトレイリングエツジと比較される(ス テップ238)。スイープ方向(即ち、前方あるいは後方)は、リーディングエ ツジか、あるいはトレイリングエツジのどちらの比較が最少の間違い部分を有し ているかを判定することで確定される。スイープ方向はまたアクティブエリア構 造内に保持され、アクティブエリアの将来のスイープのためのスイープ方向特定 に使用することが可能となる。
真のバーコード静寂ゾーンマージン(quiet−zone margin)は マージン検証テストで検証される。マージンは、エツジがアラインされたときに 、セグメントがプリセットされたミスマツチ制限内で一致しなければ確定された とは考えない。もし、マージンの存在が確定不能なら(NO)(ステップ240 )、プロセスはステップ206に戻り、可能なバーコードセグメントを特定する 。
もし、マージンが見つかれば(YES)(ステップ240)、データセグメント は、有効な開始コード、あるいは有効な停止コードが確定されたマージンの次に くるか否かを判定するために検討される(ステップ244)。もし、有効な開始 あるいは停止コードがマージンの次に見つからなければ(No)、プロセスはス テップ206に戻り、可能なバーコードセグメントを特定する。
もし、有効な開始コード、あるいは停止コードが見つかれば(YES)(ステッ プ244)、そのコードはユーザーがデコードしたいと願うもののシンボル体( symbologies)の1つであるかどうかが判定される。1物品がその露 出表面にいくつものバーコードラベルを有していることは決して稀ではない。
よって、不必要な情報を蓄積することで時間と金を無駄にしないように、バーコ ードスキャナーは自動的に無関係なバーコードを廃棄することが望ましい。
そのバーコードシンボル体が、ユーザーが欲していないものの1つであるなら( No)(ステップ246)、そのエリアはアクティブエリアリストから排除され 、無視エリアリストに加えられる(ステップ248)。このように、望まないバ ーコードを含む将来のスキャンは、現在セグメントが無視エリアにオーバーラツ プするかどうかを評価されるときに、プロセスの初期段階で自動的に排除される (ステップ210)。
もし、バーコードシンボル体がユーザーが欲するタイプのものであれば(YES )(ステップ246)、既に確定された第1スイープと第2スイープに対するス イープ方向は、スイープ方向が反対であるか否かを判定するために検討される( ステップ250)。もし、スイープ方向が逆なら(YES) 、第1セグメント と第2セグメントのデータは逆となる(ステップ252)。これで将来の評価と プロセスのための第1データ及び第2データをオーダーすることになる。
データをリバース(逆転;reverse)L/てから(ステップ252)、あ るいは、もし、スイープ方向が逆でなければ(ステップ250)、ステップ23 8で判定されたごとくのアラインされた第1セグメントと第2セグメントとの間 のミスマツチはミスマツチアレイに保存される(ステップ254)。アラインさ れたセグメントの各バーとスペースは、一致しない幅(即ち、幅ミスマツチ)を 有しているバーとスペースを判定するために比較される。ミスマツチしたバーと スペースは判定され、第1セグメントと第2セグメント両方からの関連データは ミスマツチアレイに保存される。ミスマツチしたバー要素は特定され、その関連 データはミスマツチが解消するまで蓄積されない。同時に、バーが何回のスイー プを経てきたかを判定する検討が実行される。各バーに対するスイープの数(即 ち、1バーアレイに対するスイープ数)はアクティブエリア構造に保存される。
この情報は後のアラインメントのために使用される。
第1スイープの第2バーのポジションと、第2スイープの第2バーのポジション との間のポジション差(position variation)が計算される (ステップ256)。
計算された差は、以下に説明するように、将来のスイープにおけるバーのポジシ ョン位置を判定するのに使用され、スイープアラインメントの他のいかなるオフ セット値をも計算するのに使用される。第1スイープと第2スイープとのアライ ンメントはマージン確定によって判定された(ステップ240)。
各現在セグメントのデータは、バーコードの蓄積のためにアクティブバッファー 内ヘコビーされるまで、スイープバッファー内に保持される。ポジション差を計 算した後、第1スイープと第2スイープの有効幅データはアクティブバッファー に追加される(ステップ258)。この点に関して、アクティブバッファーに追 加するとは、平均値を提供するためにオーバーラツプしているバーとスペースの 幅データを組合せ、第1スイープでは発見されないが第2スイープで発見される データを追加することである。差を計算しくステップ256)、カウント情報を アクティブバッファーに追加した(ステップ258)後に、プロセスはステップ 206に戻り、可能なバーコードセグメントを特定する。
ステップ206に戻ることで、データの現行スイープに存在しているならば、さ らに多くのバーコードセグメントが処理される。しかし、このアクティブエリア は次のスイープまで進行しない。次のスイープではこのアクティブエリアに対す る第3スイープとなり、プロセスはステップ218にまで進行する。
前述のごとく(ステップ250参照)、知られたアクティブエリア内のセグメン トに対するスイープ方向は、将来の使用のために保持される。従って、知られて いるアクティブエリアの第3及び連続するセグメントに対して、保持された情報 を参照してスイープ方向は判定される。よって、第3あるいは連続セグメントを 取得した(即ち、ステップ206からステップ126を実施)後に、アクティブ エリア構造はスイープ方向を判定するために検討される(ステップ218)。
もし、スィーブ方向が逆であれば(YES)、現在セグメントの幅データは逆に なるか、あるいは、さらなる評価及びプロセスのためにフリップ処理(flip )される(ステップ220)。
データをリバースした後(ステップ220)、あるいは、もし、現在セグメント の方向が逆になっていなければ(No)(ステップ218)、アラインメントバ ーはアクティブバッファーから選択され、前に計算されたポジションオフセット が適用される(ステップ222)。アラインメントバーは、バッファーのエンド 部で開始して、少なくとも2回のスイープで見られたバー(スペースではない) が発見されるまで、アクティブバッファーを探索することで選択される。ミスマ ツチしたデータはアクティブバッファーに追加されないので、選択されたバーは バーコードの有効(good)なバーであることが知られる。前に計算したポジ ションオフセットはアラインメントパーのポジションから差し引かれる。
前に計算したオフセットは、現在セグメントが所定アクティブエリアに対する第 3セグメントであるとき、ステップ256で計算された差である。それ以後は、 前に計算されたオフセットは、以下に述べるステップ230で決定されるもので ある。
バーコードは、スキャナーのスキャンラインに対する固定角度と、スキャナーを 通して一定の速度とを維持しているものと想定されるので、前に計算されたオフ セットは、アクティブバッファーのバーポジションから現在セグメントのバーポ ジションまでのスキャンラインに沿ったアラインメントパーの予期されるオフセ ットを表す。その結果、オフセットとアラインメントバーポジションとを組み合 わせると、次のスイープのアラインメントパーの予期されるポジションが得られ る。
現在セグメントはアラインメントパーの予期されるポジションに対してスキャン される(ステップ224)。このステップで、現在セグメントはデータの前方エ ンド部から始めて探索され、ステップ222での計算によって確定されたバーの 予期されるポジションと最も近似的にマツチするバーのポジションを発見する。
現在セグメント内でそのバーを特定した後、現在セグメント内のバーポジション と、その計算されたポジションとの間の差が決定される。
ウィンドー(window)はアラインメントバー周辺にセットされ、アクティ ブバッファーで現在セグメントのポジションアラインメントを確定するために、 アクティブバッファーの幅データと現在セグメントを比較する(ステップ226 )。
ウィンドーの前方エツジで開始し、5つのトランジション(バー/スペース)が 比較される。アクティブバッファー内のバーとスペースの幅値は、それらの幅値 が一致しているか否かを判定するために、対応するバーとスペースの幅値と比較 される。もし、判定された特定不一致の数が予め定められた値よりも少なければ 、アクティブバッファーと現在セグメントとの間のポジション的アラインメント は許容範囲内であると考えられる(即ち、確定される)(YES)(ステップ2 28)。もし、許容できない数の不一致が判定されたら、アラインメントは(N o)と判定され、プロセスはステップ229に続く。
1好適実施例において、現在セグメントをアクティブバッファーとアラインメン ト状態に置くために4つの追加的試行が実行される(ステップ229(a)と2 29(b))。特に、現在セグメントのアラインメントパーは、アクティブバッ ファー内のアラインメントパーの左のバーと比較される(ステップ229 (c ))。アラインメントの確定は前述のように行われ、現在セグメントとアクティ ブバッファー内の隣接するトランジションのアラインメントを確定する(ステッ プ226)。もし、判定された特定不一致の数が予め定められた値よりも少なけ れば、アクティブバッファーと現在セグメントのポジションアラインメントは確 定される(ステップ228)。もし、許容できない数の不一致が判定されれば、 アラインメントは(No)と判定され、プロセスはステップ229(a)に続く 。
もし、現在セグメントとアクティブバッファーとのアラインメントが確定されな ければ、現在セグメントをアクティブバッファーとアラインメント状態に置くた めに最大で3つの追加的試行が実行される。即ち、現在セグメントのアラインメ ントパーは、アクティブバッファーのアラインメントパーの右側隣接トランジシ ョンのバーと比較される。アラインメントの判定は前述のように実施され、現在 セグメントとアクティブバッファーとのアラインメントを確実にする。もし、判 定された特定不一致の数が所定値よりも少なければ、アクティブバッファーと現 在セグメントとのポジション的アラインメントは確定される。もし、許容できな い数の不一致が判定されれば、アラインメントは(NO)と判定され、プロセス はステップ229(a)に続く。
もし、現在セグメントとアクティブバッファーとのアラインメントが確定されな ければ、現在セグメントをアクティブバッファーとアラインメント状態に置くた めに、最大で2つの追加的試行が実行される。即ち、現在セグメントのアライン メントパーは、アクティブバッファーのアラインメントパーの左の2番目のバー と比較される。アラインメント判定は前述のように行われ、現在セグメントとア クティブバッファーとのアラインメントを判定する。もし、判定された特定不一 致の数が所定値よりも小さければ、アクティブバッファーと現在セグメントとの アラインメントは確定される。もし、許容できない数の不一致が判定されれば、 アラインメントは(No)と判定され、プロセスはステップ229(a)に続く 。
もし、現在セグメントとアクティブバッファーとのアラインメントが確定されな ければ、現在セグメントをアクティブバッファーとアラインメント状態に置くた めに、1つの追加的試行が実行される。即ち、現在セグメントのアラインメント パーは、アクティブバッファーのアラインメントパーの右の2番目のバーと比較 される。アラインメント判定は前述のように実行され、現在セグメントとアクテ ィブバッファーとのアラインメントが確実に実施される。もし、判定された特定 不一致の数が所定値よりも少なければ、アクティブバッファーと現在セグメント とのアラインメントは確定される。許容できない数の不一致が判定されたら、ア ラインメントは(No)と判定され、プロセスはステップ206に続き、可能な 新バーコードセグメントが特定される。これ以上のトランジションは比較されず 、現在セグメントはこれ以上の処理には付されない。
実行されたアラインメント試行の数は、システムポジション精度と、フィールド の深さくdepth−of−field)の底部での最小有効バーの見かけのサ イズとにマツチされる。システムポジション精度は、ポジションエンコーダ、ド ライブモータ、及びポリゴンの不正確さ、並びに、これらの不正確さに対する全 ての矯正及びキャリブレーションによって決定される。1好適実施例において、 精密なエンコーダ、モータ、及びポリゴンの費用は、再構築の精度に対する要求 度に照らして考察される。好適実施例の最大で全5つのアラインメント試行は、 はとんどのバーコードシンボル体(即ち、コード39キャラクタ−(文字;Ch aracter)につき10バー/スペース)のキャラクタ−サイズに基づいて いる。しかしながら、他の実施例においては、さらに精度が高いシステムコンポ ーネントの使用と、1回のアラインメント試行で構わず、あるいは、精度の低い システムコンポーネントの使用と、必要に応じてさらに多くのアラインメント試 行を行うこともある。可能となったアラインメント試行の回数を増加させると、 バーコードの誤再構築の可能性が増加する。
1実施例において、最初のアラインメント試行で正確なアラインメントを達成す るためには、MRC社製特製ダイヤモンド研磨式8面スキャナーポリゴンを、B EI社製特製モータに正確に搭載する。モータはBEI社製標準型1000パル スエンコーダを搭載している。このアセンブリはミラー搭載ポリゴン122を回 転させ、ポリゴンのポジションを追跡(track)する。
MRC社製のポリゴンは27ア一ク秒(arc 5econds)以下の許容誤 差に加工されており、27ア一ク秒以下の許容誤差のモータシャフトに搭載され ている。このモータはポリゴンを3600rpm程度の速度で回転させ、ポリゴ ンの振動を最小限に押えたものである。モータ速度を3600rpmの5%以内 の誤差に維持するために、外部回路によって制御されている。
これらの精密コンポーネントはタイミングを安定させ、よって、バーコードから のリターン信号の検出されたポジションを250ナノ秒の精度に保つ。リターン 信号タイミングはさらに計測されて、デジタルプロセッサー150によって補正 される。
エンコーダはモータに取り付けられ、信号プロセッサー152にトランジション (バー/スペース)が発生する際に、回転するポリゴンのポジションを報告する 。エンコーダのパルスツーパルス(pulse−to−pulse)精度は約6 00ナノ秒である。エンコーダのホームパルスツーホームパルス(home−p ulse to homs−pulse)の精度は約300ナノ秒である。エン コーダのパルスツーパルスパリアンス(変動;variance)はさらに計測 され、デジタルプロセッサー150によって補正される。これは、エンドオブス イープ(end−of−sweep)タイミングの計測と、ポジション補正ファ クターの計算とによって達成される。最終的な不正確度は200ナノ秒以下であ り、それはシステムポジションの約26アーク秒のリードアウトエラー(rea dout error)である。
もし、前記のアラインメントが確定されたなら(YES)(ステップ228)、 その後に平均オフセット値は計算される(ステップ230)。平均オフセット値 は、現在セグメントのアラインメントパーとアクティブバッファーとの間のボジ ジョン差を決定することで確定される。この差は、前に計算されたポジションオ フセットに平均され、現行ポジション差、即ちオフセットを提供する。その後、 この現行ポジションオフセットは、前に計算されたオフセットがステップ222 にて使用されたように、引き続くスイープに対して使用される。
第3セグメントからのデータを使用して、第1セグメントと第2セグメントとの 間のデータマツチングは、無効(bad)データをアウトボート(out vo te)するために新データを使用することで解決される。即ち、第1セグメント と第3セグメントに対する幅データと、第2セグメントと第3セグメントに対す る幅データとは、ミスマツチしたバーとスペースに関連して、どのセグメントペ ア(例:第1セグメントと第3セグメント)が一致データを有するかを判定する ために比較される。その後、このデータペアは、第1セグメントと第2セグメン トからのどのデータを無視すべきか(即ち、無効データはマツチしたセグメント ペアによってアウトボートされる)を判定するのに使用される。この評価は判定 されたミスマツチの各々に対して実行される。
アクティブバッファーと現在セグメントは、新ミスマツチが存在するかどうかを 判定するために検討される(ステップ234)。新アクティブデータは、不一致 と思われるバーとスペースの幅値が存在するかどうかを確認するために比較され る。データを検討した後、全ての新ミスマツチは確定され、将来的解決のために ミスマツチアレイに保存される。
有効情報を反映させるようにアクティブデータファイルをアップデートした後、 プロセスはステップ206に戻り、可能なコードセグメントを特定する。ステッ プ206とステップ236との間のプロセスは、そのバーコードがコヒーレント 光のスキャンライン下方から出てくるまで、アクティブエリアに対して反復され る。最低3回のスキャンがミスマツチを解消するために必要であるが(ステップ 232)、好適には、バーコードがスキャンラインから出てくるまでに4回のバ ーコードスキャンを行うべきである。
現在セグメントが発見されないとき(ステップ208)、アクティブエリアリス トは全体的にサイクルされ、一連のアクションが実行に移される(即ち、ステッ プ260からステップ272)。無視エリアリストも全体的にサイクルされ、別 の一連アクションが実行される(即ち、ステップ274からステップ278)。
両方とも、アクティブエリアあるいは無視エリアがスキャンラインから出てきた か否かを判定するために行われ、再構築されたバーコードはデコードされ、及び /又は、アクティブエリアリストは不必要なデータを排除するためにアップデー トされる。片方あるいは両方の一連アクションが完了したとき、プロセスはステ ップ204に戻り、データの別スキャンあるいはスイープが可能であるかどうか が判定される。
アクティブエリアは全体的にサイクルされ(ステップ260)、完成バーコード が形成されたかどうかが判定され(ステップ262)、もし、完成バーコードが 形成されていればデータを標準化しくステップ264)、バーコードをデコード し、デコードされた情報を出力しくステップ266とステップ278)、アクテ ィブバッファーがデコードされた後にアクティブエリアリストからデータを排除 する(ステップ270からステップ272)。情報をデコードするには、蓄積さ れた幅データを処理し、一般的に使用されている1、2.3及び4つの幅のバー とスペースに標準化する(ステップ264)。
アクティブエリアを全体的にサイクルした後に、無視エリアは全体的にサイクル され、無視エリアがスキャンライン下方から出てきたかどうかが判定され(ステ ップ276)、出ているなら、この無視エリアと関連するデータはそのデータ構 造から排除される(ステップ278)。
以上、説明のためのみに使用した用語を利用して本発明の好適実施例を解説して きたが、請求項に記載された本発明の精神と範囲から逸脱せずにこの実施例に変 更あるいは改良を施すことは可能である。
r−一−−−−−−−−−−−−−−一 −−++ −+++−−−P = P OSITION C0UNT 才2ジカソ カウントF = BLACに廁HI TE FしG BIT 黒/白 フう町り゛ヒト、トC= RAW TRANS ITION C0UNT 主トラソジション カウントFIG、 5 FIG、 6 FROM FIG、 7(c) FROM FIG、 7(bl フロントページの続き (81)指定国 EP(AT、BE、CH,DE。
DK、ES、FR,GB、GR,IE、IT、LU、MC,NL、PT、SE) 、0A(BF、BJ、CF、CG、 CI、 CM、 GA、 GN、 ML、  MR,NE、 SN。
TD、 TG)、 AT、 AU、 BB、 BG、 BR,BY。
CA、CH,CZ、DE、DK、ES、FI、GB、HU、JP、KP、KR, KZ、LK、LU、MG、MN、 MW、 NL、 No、 NZ、 PL、  PT、 RO,RU。
SD、SE、SK、UA、US、VN (72)発明者 ケ二一、ダニエル、ニー。
アメリカ合衆国 フロリダ州 32114 ディドナ ビーチ オワッソー ス トリート768番地

Claims (47)

    【特許請求の範囲】
  1. 1.機械にて判読可能なコードの読み取り装置であって、(a)前記コードの各 連続的スキャンのために、該コードを連続的にスキャンし、該コードの少なくと も一部を表す信号を出力するためのスキャン手段と、(b)前記スキャン手段に よって出力された前記各信号を処理するための信号処理手段と、を含んでおり、 該信号処理手段はさらに、前記コードの各連続的スキャンに対して、前記各信号 と関連した幅とポジションとを含む信号特定データを提供しており、本装置はさ らに、 (c)前記信号処理手段によって提供されるコードの各連続的スキャンに対する 前記信号特定データからコードを再構築するデータ処理手段、を含んでおり、該 データ処理手段はさらに、 (i)続くスキャンをポジション的にアラインするポジションアラインメント手 段、を含んでおり、該ポジションアラインメント手段は、先行するスキャン内の 要素を選択する手段と、計算されたオフセットに基づいて、続くスキャン内の該 要素のポジションを計算する手段と、を含んでおり、該計算されたオフセットは 、先行するスキャン内の特徴のポジション差を計算するオフセット計算手段によ って決定されるものであり、前記ポジションアラインメント手段はさらに、前記 続くスキャン内の前記選択された要素を、前記先行するスキャン内の前記選択さ れた要素とアラインメント状態とし、前記計算されたオフセットの手段によって 、前記続くスキャンを前記先行するスキャンとアラインする手段を含んでおり、 前記データ処理手段はさらに、(ii)前記アラインする手段の結果として実行 される前記先行するスキャンと前記続くスキャンとの間のアラインメントを確定 するアラインメント確定手段、を含んでおり、該アラインメント確定手段は、前 記先行するスキャンと前記続くスキャンとが前記アラインメント確定手段によっ てアラインされていないときには、該先行するスキャンと該続くスキャンとの間 で予め定められた数の追加的アラインメントを試行する手段、 をさらに含んでいることを特徴とするコード読み取り装置。
  2. 2.前記データ処理手段は、前記信号特定データを組み合わせて蓄積する手段を さらに含んでいることを特徴とする請求項1記載の装置。
  3. 3.前記オフセット計算手段は、前記組み合せて蓄積する手段から、コードの第 1スキャン内の選択されたコード要素のポジションと、コードの第2スキャン内 の選択されたコード要素のポジションとの間のポジション差を計算する第1オフ セット計算手段をさらに含んでおり、前記連続的スキャン内の選択されたコード 要素の予期されるポジションを決定する前記計算されたオフセットを提供するこ とを特徴とする請求項2記載の装置。
  4. 4.前記アラインメント確定手段は、前記第1スキャンと前記第2スキャン両方 のリーディングエッジマージンのアラインメントが実行されるとき、予め定めら れた数のミスマッチの発生に基づき、該第1スキャンと該第2スキャンとの間の アラインメントを確定する第1確定手段をさらに含んでいることを特徴とする請 求項3記載の装置。
  5. 5.前記アラインメント確定手段の前記予め定められた数の追加的アラインメン トを試行する手段は、前記第1スキャンと前記第2スキャン両方のトレイリング エッジマージンを比較することで、該第1スキャンを該第2スキャンとアライン させる試行のための第1試行手段を含んでいることを特徴とする請求項4記載の 装置。
  6. 6.前記オフセット計算手段は、 前記組み合わせて蓄積する手段からの、先行するスキャンからの選択されたコー ド要素のポジションと、続くスキャンからの前記選択されたコード要素のポジシ ョンとの間のポジション差を計算する第2オフセット計算手段をさらに含んでお り、前記続くスキャン内の前記選択されたコード要素の予期されるポジションを 決定する前記計算されたオフセットを提供することを特徴とする請求項5記載の 装置。
  7. 7.前記ポジションをアラインする手段は、先行するスキャンに対する前記計算 されたオフセットを、前記第2オフセット計算手段によって決定された計算され たオフセットで平均化するオフセット平均手段をさらに含んでおり、前記続くス キャン内の前記選択されたコード要素の予期されるポジションを決定するリファ インされた計算されたオフセットを提供することを特徴とする請求項6記載の装 置。
  8. 8.前記ポジションをアラインする手段は、前記第1オフセット計算手段、前記 第2オフセット計算手段、あるいは前記オフセット平均手段によって決定された 前記計算されたオフセットの手段によって、スキャン内の選択されたコード要素 の予期されるポジションと最も近似にマッチする該スキャン内のコード要素を位 置決定する手段をさらに含んでいることを特徴とする請求項7記載の装置。
  9. 9.前記データ処理手段は、コード要素が見られたスキャンの数を決定する手段 をさらに含んでいることを特徴とする請求項8記載の装置。
  10. 10.前記アラインメント確定手段は、先行するスキャン内の予め定められた数 のトランジションの幅データと、前記続くスキャン内の対応するトランジション の幅データとを比較することで、該先行するスキャンと該続くスキャンとの間の アラインメントを確定する第2確定手段をさらに含んでいることを特徴とする請 求項9記載の装置。
  11. 11.前記アラインメント確定手段の前記追加的アラインメントを試行する手段 は、続くスキャンのアラインメントバーに近接したバーを、先行するスキャンの アラインメントバーと比較することで、該先行するスキャンを該続くスキャンと アラインさせる試行のための第2試行手段を含んでおり、該先行するスキャンと 該続くスキャンはアラインされていないとき、前記続くスキャンの前記アライン メントバーに近接する予め定められた数の追加的バーに対してこのステップを反 復することを特徴とする請求項10記載の装置。
  12. 12.前記データ処理手段は、 続くスキャン内の前記選択された要素を、前記先行するスキャン内の前記選択さ れた要素とアラインメント状態に置き、前記計算されたオフセットの手段によっ て、前記組み合わせて蓄積する手段内の前記信号特定データを、前記続くスキャ ンの信号特定データとポジション的にアラインする手段と、アラインされた信号 特定データ間の幅ミスマッチを判定する手段と、をさらに含んでおり、前記組み 合わせて蓄積する手段は該ミスマッチ判定手段と協調しており、ミスマッチした 信号特定データは組み合わされて蓄積されず、前記データ処理手段は、 前記信号処理手段から、幅ミスマッチを有していると判定された前記信号特定デ ータを保持する手段、 をさらに含んでいることを特徴とする請求項11記載の装置。
  13. 13.前記データ処理手段は、前記ミスマッチ判定手段によって判定された幅ミ スマッチを、信号特定データの3つのスキャンからの幅データを比較することで 解消する手段をさらに含んでいることを特徴とする請求項12記載の装置。
  14. 14.前記ミスマッチ解消手段は、前記第1スキャン内の対応するコード要素に 対する幅データを、前記第3スキャンからの幅データと比較し、その対応する幅 は一致するか否かを判定し、さらに、前記第2スキャンと該第3スキャン内の対 応するコード要素に対する幅データを比較し、その対応する幅は一致するか否か を判定することを特徴とする請求項13記載の装置。
  15. 15.前記ミスマッチ解消手段は、一致した幅を有するスキャンに対する信号特 定データは前記組み合わせて蓄積する手段内に組み合わされることと、他のスキ ャンに対する信号特定データは無視されることとを表示する手段をさらに含んで いることを特徴とする請求項14記載の装置。
  16. 16.前記データ処理手段は、 スキャンの方向を決定するスキャン方向手段と、前記スキャン方向手段に対応し 、バーコードに対する各スキャン内の各コード要素に対する信号特定データをリ バースするデータリバース手段と、をさらに含んでおり、前記バーコードの全ス キャンに対する信号特定データは予め定められた方向に保持されることを特徴と する請求項15記載の装置。
  17. 17.前記データ処理手段は、 信号特定データが蓄積される第1エリアを特定する手段と、信号特定データが蓄 積されない第2エリアを特定する手段と、をさらに含んでいることを特徴とする 請求項16記載の装置。
  18. 18.前記データ処理手段は、前記信号処理手段から、各スキャンに対する信号 特定データを比較する第1手段をさらに含んでおり、該信号特定データは前記第 1エリアにオーバーラッブするか否かを判定することを特徴とする請求項17記 載の装置。
  19. 19.前記データ処理手段は、前記信号処理手段から、各スキャンに対する信号 特定データを比較する第2手段をさらに含んでおり、該データは前記第2エリア にオーバーラッブするか否かを判定することを特徴とする請求項18記載の装置 。
  20. 20.前記第2エリアを特定する手段は、デコードされない機械にて判読可能な コードを含むエリアを特定することを特徴とする請求項19記載の装置。
  21. 21.前記要素は、幅細、あるいは幅広のインターバルの幅のバーとスペースと を含む複数のインターバルを含んでおり、前記データ処理手段は、前記組み合わ せて蓄積する手段から、前記信号特定手段のインターバルの幅を測定し、再構築 されたバーコードを提供するために、該インターバルの幅を1、2、3、及び4 の幅のバーとスペースとに標準化する手段と、エンコードされた情報を提供する ために、前記再構築されたバーコードをデコードする手段と、 をさらに含んでいることを特徴とする請求項20記載の装置。
  22. 22.前記スキャン手段は、バーコードを予め定められた光パターンで連続的に 照射し、該バーコードから反射してくる光を連続的に感知するための少なくとも 1体の光源及びセンサー手段をさらに含んでいることを特徴とする請求項1記載 の装置。
  23. 23.前記スキャン手段は、バーコードを予め定められた光パターンで連続的に 照射し、該バーコードから反射してくる光を連続的に感知するための複数個の光 源及びセンサー手段をさらに含んでいることを特徴とする請求項1記載の装置。
  24. 24.前記光源及びセンサー手段はコヒーレント光源をさらに含んでいることを 特徴とする請求項23記載の装置。
  25. 25.前記スキャン手段は、前記予め定められた光パターンを創出するために、 前記コヒーレント光源からの光を方向調整する光方向調整手段をさらに含んでい ることを特徴とする請求項24記載の装置。
  26. 26.機械にて判読可能なコードの読み取り方法であって、前記コードの少なく とも一部を表す信号を提供するために該コードをスキャンし、該コードの追加部 分に対する信号を取得するために該スキャンを反復するステツプと、 信号特定データを提供するために、各スキャンから取得したコード部分を表す各 信号を連続的に処理するステップと、を含み、該データには、前記コードの各連 続的スキャンに対する前記各信号と関連する幅とポジションとが含まれており、 本方法はさらに、 前記コードの各連続的スキャンに対する前記信号特定データからのコードを再構 築するステップ、を含んでおり、該再構築するステップは、先行するスキャン内 の要素を選択するステップと、計算されたオフセットに基づいて、続くスキャン 内の前記要素のポジションを計算するステップと、を含んでおり、該計算された オフセットは、先行するスキャン内の特徴のポジション差を計算するステップに よって決定されるものであり、前記再構築するステップはさらに、前記計算され たオフセットの手段により、前記続くスキャンを前記先行するスキャンとアライ ンするステップ、を含んでおり、該アラインするステップは、前記続くスキャン 内の前記選択された要素を、前記先行するスキャン内の前記選択された要素とア ラインメント状態に置くステップによるものであり、前記再構築するステップは さらに、 アラインするステップの結果として実行された前記先行するスキャンと前記続く スキャンとの間のアラインメントを確定するステップ、を含んでおり、該確定す るステップはさらに、 前記先行するスキャンと前記続くスキャンが前記アラインするステップでアライ ンされないときは、該先行するステップと該続くステップとの間で予め定められ た数の追加的アラインメントを試行するステップ、を含んでいることを特徴とす るコード読み取り方法。
  27. 27.前記信号特定データを相み合わせて蓄積するステップをさらに含んでいる ことを特徴とする請求項26記載の方法。
  28. 28.前記ポジションを計算するステップは、前記組み合わせて蓄積するステッ プから、コードの第1スキャン内の選択されたコード要素のポジションと、該コ ードの第2スキャン内の前記選択されたコード要素のポジションとの間の第1ポ ジション差を計算するステップをさらに含んでおり、前記続くスキャン内の前記 選択されたコード要素の予期されるポジションを決定する前記計算されたオフセ ットを提供することを特徴とする請求項27記載の方法。
  29. 29.前記確定するステップは、 プリセットされた量のミスマッチの発生に基づいて、前記第1スキャンと前記第 2スキャンのアラインメントを確定するために、該第1スキャンと該第2スキャ ン両方のリーディングエッジマージンを比較するステップをさらに含んでいるこ とを特徴とする請求項28記載の方法。
  30. 30.前記アラインメントを確定するステップの前記追加的アラインメントを試 行するステップは、 前記第1スキャンと前記第2スキャンとをアラインさせる試行のために、該第1 スキャンと該第2スキャン両方のトレーリングエッジマージンを比較するステッ プを含んでいることを特徴とする請求項29記載の方法。
  31. 31.選択されたコード要素のポジションを計算するステップは、前記組み合わ せて蓄積するステップから、先行するスキャンからの選択されたコード要素のポ ジションと、続くスキャンからの前記選択されたコード要素のポジションとの間 の第2ポジション差を計算するステップをさらに含んでおり、該続くスキャン内 の前記選択されたコード要素の予期されるポジションを決定するための前記計算 されたオフセットを提供することを特徴とする請求項30記載の方法。
  32. 32.前記選択してアラインするステップは、前記ポジション差を計算するステ ップからの計算されたオフセットで、先行するスキャンに対する前記計算された オフセットを平均化するステップをさらに含んでおり、前記続くスキャン内の選 択されたコード要素の予期されるポジションを決定するリファインされた計算さ れたオフセットを提供することを特徴とする請求項31記載の方法。
  33. 33.前記再構築するステツプは、 前記第1ポジション差、前記第2ポジション差、あるいは前記リファインされた 計算されたオフセットの手段で、スキャン内の選択されたコード要素の予期され るポジションと最も近似的にマッチする該スキャン内のコード要素を位置決定す るステップをさらに含んでいることを特徴とする請求項32記載の方法。
  34. 34.前記再構築するステップは、コード要素が見られたスキャン数を判定する ステップをさらに含んでいることを特徴とする請求項33記載の方法。
  35. 35.前記選択するステップは、前記組み合わせて蓄積する手段から、少なくと も2スキャンで見られたコード要素を選択するステップをさらに含んでいること を特徴とする請求項34記載の方法。
  36. 36.前記アラインメントを確定するステップは、前記先行するスキャン内の予 め定められた数のトランジションの幅データと、前記続くスキャン内の対応する トランジションの幅データとの第2アラインメントを比較するステップをさらに 含んでおり、該先行するスキャンと該続くスキャンとの間のアラインメントを確 定することを特徴とする請求項35記載の装置。
  37. 37.前記アラインメントを確定するステップの前記追加的アラインメントを試 行するステップは、 前記続くスキャンのアラインメントバーに近接したバーを、前記先行するスキャ ンの前記アラインメントバーと比較するステップ、を含み、該先行するスキャン を該続くスキャンとアラインさせるように試行し、前記アラインするステップに よって前記先行するスキャンと前記続くスキャンとがアラインしないとき、該続 くスキャンの前記アラインメントバーに近接する予め定められた数の追加的バー に対して、前記比較するステップを反復するステツプ、 をさらに含んでいることを特徴とする請求項36記載の装置。
  38. 38.前記再構築するステップは、 続くスキャン内の前記選択された要素を、前記先行するスキャン内の前記選択さ れた要素とアラインメント状態に置き、前記計算されたオフセットの手段によっ て、前記組み合わせて蓄積するステップ内の前記信号特定データを、前記続くス キャンの信号特定データとポジション的にアラインさせるステップと、アライン された信号特定データ間のコード要素幅のミスマッチを判定するステップ、をさ らに含み、前記組み合わせて蓄積するステップは前記ミスマッチを判定するステ ップと協調し、ミスマッチした信号特定データは組み合わされて蓄積されず、前 記再構築するステップは、 前記ミスマッチを判定するステップから、幅ミスマッチを有するものと判定され た前記信号特定データを保存するステップ、をさらに含んでいることを特徴とす る請求項37記載の方法。
  39. 39.前記再構築するステップは、3スキャンの信号特定データからの幅データ を比較することで、前記ミスマッチを特定する手段のステップからの判定された 幅ミスマッチを解消するステップをさらに含んでいることを特徴とする請求項3 8記載の方法。
  40. 40.前記ミスマッチを解消するステップは、前記第1スキャン内の対応するコ ード要素に対する幅データを、前記第3スキャンからの幅データとさらに比較し 、その対応する幅は一致するか否かを判定し、前記第2スキャンと該第3スキャ ン内の対応するコード要素に対する幅データを比較し、その対応する幅は一致す るか否かを判定することを特徴とする請求項39記載の方法。
  41. 41.前記ミスマッチを解消するステップは、一致する幅を有するスキャンに対 する信号特定データは前記組み合わせて蓄積する手段において組み合わされるこ とと、他のスキャンに対する信号特定データは無視されることとを表示するステ ップをさらに含んでいることを特徴とする請求項40記載の方法。
  42. 42.前記再構築するステップは、 スキャンの方向を決定するステップと、前記方向を決定するステップに対応して 、バーコードに対する各スキャン内の各コード要素に対する信号特定データをリ バースするステップと、をさらに含んでおり、該バーコードの全スキャンに対す る信号特定データは予め定められた方向に保持されることを特徴とする請求項4 1記載の方法。
  43. 43.前記再構築するステップは、 信号特定データが蓄積される第1エリアを特定するステップと、信号特定データ が蓄積されない第2エリアを特定するステップと、をさらに含んでいることを特 徴とする請求項42記載の方法。
  44. 44.前記再構築するステップは、前記信号処理から、前記第1エリアを各スキ ャンに対する信号特定データと比較するステップをさらに含んでおり、該信号特 定データが前記第1エリアにオーバーラップするか否かを判定することを特徴と する請求項43記載の方法。
  45. 45.前記再構築するステップは、前記信号処理から、前記第2エリアを各スキ ャンに対する信号特定データと比較するステップをさらに含んでおり、該データ が前記第2エリアにオーバーラップするか否かを判定することを特徴とする請求 項44記載の方法。
  46. 46.前記第2エリアを比較するステップは、デコードされない機械にて判読可 能なコードを含むエリアを特定するステップをさらに含んでいることを特徴とす る請求項45記載の方法。
  47. 47.前記コード要素は、幅細か、あるいは幅広のインターバルの幅のバーとス ペースとを含んでいる複数のインターバルを含んでおり、前記再構築するステッ プは、 前記組み合わせて蓄積する手段から、前記信号特定データのインターバルの幅を 測定するステップと、 再構築されたバーコードを提供するために、前記測定するステップからの該イン ターバルの幅を1、2、3、及び4の幅のバーとスペースとに標準化するステッ プと、 エンコードされた情報を提供するために、前記再構築されたバーコードをデコー ドするステップと、 をさらに含んでいることを特徴とする請求項46記載の方法。
JP6508281A 1992-09-14 1993-09-13 スキャンされたセグメントから完成コードを再構築するためのスキャニング装置 Pending JPH07504530A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/944,506 US5296691A (en) 1992-09-14 1992-09-14 Scanning device for reconstructing a complete code from scanned segments
US944,506 1992-09-14
PCT/US1993/008711 WO1994007213A1 (en) 1992-09-14 1993-09-13 Scanning device for reconstructing a complete code from scanned segments

Publications (1)

Publication Number Publication Date
JPH07504530A true JPH07504530A (ja) 1995-05-18

Family

ID=25481538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6508281A Pending JPH07504530A (ja) 1992-09-14 1993-09-13 スキャンされたセグメントから完成コードを再構築するためのスキャニング装置

Country Status (10)

Country Link
US (2) US5296691A (ja)
EP (1) EP0613575B1 (ja)
JP (1) JPH07504530A (ja)
CN (1) CN1036162C (ja)
AT (1) ATE194430T1 (ja)
AU (1) AU672241B2 (ja)
CA (1) CA2123513A1 (ja)
DE (1) DE69328961T2 (ja)
NZ (1) NZ256537A (ja)
WO (1) WO1994007213A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167226A (ja) * 1999-10-26 2001-06-22 Datalogic Spa 連続走査によりバーコードを復元する方法

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5979768A (en) * 1988-01-14 1999-11-09 Intermec I.P. Corp. Enhanced bar code resolution through relative movement of sensor and object
US5124538B1 (en) * 1988-08-26 1995-01-31 Accu Sort Systems Inc Scanner
US6688523B1 (en) 1988-08-31 2004-02-10 Intermec Ip Corp. System for reading optical indicia
US5495097A (en) * 1993-09-14 1996-02-27 Symbol Technologies, Inc. Plurality of scan units with scan stitching
US5422470A (en) * 1992-08-31 1995-06-06 Olympus Optical Co., Ltd. Symbol information reading apparatus
US5384451A (en) * 1993-01-29 1995-01-24 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using composite signals
US5446271A (en) * 1993-08-06 1995-08-29 Spectra-Physics Scanning Systems, Inc. Omnidirectional scanning method and apparatus
US5457308A (en) * 1993-09-14 1995-10-10 Symbol Technologies, Inc. Bar code scan stitching
AU681421B2 (en) * 1993-09-14 1997-08-28 Symbol Technologies, Inc. Bar code scan stitching
US5438188A (en) * 1994-04-01 1995-08-01 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using information from previous scan lines
GB2291524B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
GB2301468B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
US5637849A (en) * 1995-05-31 1997-06-10 Metanetics Corporation Maxicode data extraction using spatial domain features
US5773807A (en) * 1995-07-28 1998-06-30 Symbol Technologies, Inc. Arrangement for and method of minimizing reading errors in bar code symbol readers
JP3470738B2 (ja) * 1995-09-14 2003-11-25 富士通株式会社 バーコード読取装置及びバーコード読取方法
DE19537368A1 (de) * 1995-10-06 1997-04-10 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
US5777310A (en) * 1995-11-06 1998-07-07 Intermec Corporation Problem reduction with low level information integration in bar code decoding
JPH09161001A (ja) * 1995-12-05 1997-06-20 Fujitsu Ltd バーコード読取装置
US5764798A (en) * 1996-03-18 1998-06-09 Intermec Corporation Prioritized searching methods for finding a coded symbol in a digitized image
US5686716A (en) * 1996-05-13 1997-11-11 Psc, Inc. Bar code void and spot discrimination
JP2760351B2 (ja) * 1996-11-01 1998-05-28 日本電気株式会社 バーコード読取装置
US5979761A (en) * 1996-11-18 1999-11-09 Accu-Sort Systems, Inc. Bar code laser scanner having a plurality of adjustable mirrors
DE69627871T2 (de) * 1996-12-30 2004-01-29 Datalogic Spa Verfahren zum Lesen eines auf einem Objekt aufgebrachten Barkodes
DE19711873C2 (de) * 1997-03-21 2003-03-06 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
DE19716886C2 (de) * 1997-04-22 2001-02-01 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
DE19734031A1 (de) * 1997-08-06 1999-02-11 Sick Ag Verfahren und Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von Codeelementen bestehenden Strichcodes
US5984186A (en) 1997-10-29 1999-11-16 Psc Inc. CCD-base bar code scanner
EP0959426B9 (en) * 1998-05-20 2003-09-17 Datalogic S.P.A. A method of reconstructing successive scans of a bar code
JP3560477B2 (ja) * 1998-08-24 2004-09-02 富士通株式会社 バーコード読取装置及びバーコード読取方法
DE19840455A1 (de) * 1998-09-04 2000-03-09 Sick Ag Verfahren zum Betreiben eines Strichcodelesers
US6267293B1 (en) * 1999-02-22 2001-07-31 Cimatrix Bar code scanning system and method
US6296187B1 (en) 1999-11-12 2001-10-02 Psc Inc. CCD-based bar code scanner
US6189792B1 (en) * 1999-12-14 2001-02-20 Ncr Corporation System and methods for exemplar based bar code error detection and correction
US20030132291A1 (en) * 2002-01-11 2003-07-17 Metrologic Instruments, Inc. Point of sale (POS) station having bar code reading system with integrated internet-enabled customer-kiosk terminal
US7100832B2 (en) * 2000-04-18 2006-09-05 Metrologic Instruments, Inc. Bioptical laser scanning system providing 360° of omnidirectional bar code symbol scanning coverage at point of sale station
SE522970C2 (sv) * 2000-05-05 2004-03-23 Ericsson Telefon Ab L M Förfarande, system, streckkodläsare och datorprogramprodukt för att länka en streckkod till en webbsida
JP2002042053A (ja) * 2000-07-21 2002-02-08 Fujitsu Ltd バーコードスキャナ
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
US7296748B2 (en) 2002-01-11 2007-11-20 Metrologic Instruments, Inc. Bioptical laser scanning system providing 360° of omnidirectional bar code symbol scanning coverage at point of sale station
JP3876783B2 (ja) * 2002-07-19 2007-02-07 株式会社デンソーウェーブ 情報コード読取方法
WO2005036454A1 (en) * 2003-09-23 2005-04-21 Secure Symbology, Inc. Method for improving security and enhancing information storage capability
US7108187B2 (en) * 2003-11-10 2006-09-19 Ncr Corporation Method of reading a plurality of bar codes during a scanning motion
US7664563B2 (en) 2007-09-14 2010-02-16 Searete Llc System for making custom prototypes
US7806339B2 (en) * 2004-03-16 2010-10-05 The Invention Science Fund I, Llc Embedded identifiers
US20060031044A1 (en) * 2004-08-04 2006-02-09 Bran Ferren Identification of interior design features
US20060012081A1 (en) * 2004-07-16 2006-01-19 Bran Ferren Custom prototyping
US10215562B2 (en) * 2004-07-16 2019-02-26 Invention Science Find I, LLC Personalized prototyping
US20060025878A1 (en) * 2004-07-30 2006-02-02 Bran Ferren Interior design using rapid prototyping
KR100667778B1 (ko) * 2004-11-20 2007-01-11 삼성전자주식회사 바코드 판독 방법 및 장치
US7451933B2 (en) * 2005-04-19 2008-11-18 Intermec Ip Corp. Optoelectronic device, process and article for acquiring machine-readable symbols, such as bar codes
EP2101281B1 (en) * 2007-03-27 2014-02-26 Casio Computer Co., Ltd. Bar-code reading apparatus and computer-readable medium
GB2449213B (en) 2007-05-18 2011-06-29 Kraft Foods R & D Inc Improvements in or relating to beverage preparation machines and beverage cartridges
CN101093547B (zh) * 2007-05-18 2010-06-09 上海邮政科学研究院 基于高度参数的条码和数字协同识别物品的方法
US8622304B2 (en) * 2009-01-26 2014-01-07 Symbol Technologies, Inc. Imaging reader and method with combined image data and system data
US8523076B2 (en) 2012-01-10 2013-09-03 Metrologic Instruments, Inc. Omnidirectional laser scanning bar code symbol reader generating a laser scanning pattern with a highly non-uniform scan density with respect to line orientation
US9684810B2 (en) * 2013-03-15 2017-06-20 D2L Corporation System and method for partite optically readable code
CN107533139B (zh) * 2015-03-17 2022-02-08 康奈尔大学 景深成像设备、方法和应用
US9495571B1 (en) 2015-09-30 2016-11-15 Datalogic Automation, Inc. Two-dimensional representation of linear barcode derived from laser barcode scanner scanline data
CN106056024B (zh) * 2016-07-11 2019-07-16 深圳市兴通物联科技有限公司 光路结构及其扫码读码方法
CN106778719A (zh) * 2016-11-11 2017-05-31 广州弥特智能科技有限公司 一种提高在线连续采集条码解码成功率的方法
US10083334B2 (en) * 2016-12-06 2018-09-25 Datalogic Ip Tech S.R.L. Barcode reconstruction utilizing a sequence alignment matrix
US10204284B2 (en) * 2016-12-06 2019-02-12 Datalogic Ip Tech S.R.L. Object recognition utilizing feature alignment
CN111931526B (zh) * 2020-09-29 2021-01-22 天津开发区精诺瀚海数据科技有限公司 一种面向黑灯智能工厂的声学条形码的检测装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701097A (en) * 1971-01-20 1972-10-24 Identicon Corp Decoding bar patterns
US3979577A (en) * 1973-12-05 1976-09-07 Data General Corporation Code recognition record medium and technique
US3916158A (en) * 1974-01-21 1975-10-28 Pitney Bowes Inc Optical scanner and method for producing a scanning pattern
US3909787A (en) * 1974-07-01 1975-09-30 Ibm Candidate selection processor
US3995166A (en) * 1975-04-16 1976-11-30 Coherent Radiation Optical scan pattern generator for code reading systems
US4056710A (en) * 1976-04-16 1977-11-01 Coherent Radiation System for decoding bar code
US4093865A (en) * 1977-04-29 1978-06-06 National Semiconductor Corporation Code symbol scanner using a double X bar pattern
US4092632A (en) * 1977-05-02 1978-05-30 Xerox Corporation Crossover arrangement for multiple scanning arrays
FR2423829A1 (fr) * 1978-04-19 1979-11-16 Telemecanique Electrique Procede et dispositif de lecture d'un support d'une information codee selon un code a barres, applicables lorsque la direction des barres par rapport a celle du faisceau de lecture peut varier
DE3101827C2 (de) * 1980-01-21 1983-10-20 Sharp K.K., Osaka Optisches Strichcode-Lesegerät
US4329574A (en) * 1980-06-25 1982-05-11 International Business Machines Corp. Bar code candidate select circuit
US4308455A (en) * 1980-06-26 1981-12-29 E. I. Du Pont De Nemours And Company Method for decoding bar-coded labels
JPS57204977A (en) * 1981-06-11 1982-12-15 Nippon Denso Co Ltd Method and device for bar code read
US4717818A (en) * 1986-06-26 1988-01-05 International Business Machines Corporation Bar code label identification circuit
US4745484A (en) * 1986-07-30 1988-05-17 Drexler Technology Corporation Method and apparatus for stepped imaging in reading data
DE3854885T2 (de) * 1987-09-28 1996-05-15 Sumitomo Electric Industries Kombinieren von gelesenen Strichcode-Daten
US5028772A (en) * 1988-08-26 1991-07-02 Accu-Sort Systems, Inc. Scanner to combine partial fragments of a complete code
US5124538B1 (en) * 1988-08-26 1995-01-31 Accu Sort Systems Inc Scanner
US5015833A (en) * 1988-10-31 1991-05-14 Symbol Technologies, Inc. Scan board module for laser scanners
JPH02141889A (ja) * 1988-11-22 1990-05-31 Eastman Kodatsuku Japan Kk バーコード読取方法
KR100230984B1 (ko) * 1996-07-24 1999-11-15 김광호 반도체장치의 비피에스지에 포함된 불순물 측정시 이용되는 계측설비 설정값 보정용 기준 샘플 제조 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167226A (ja) * 1999-10-26 2001-06-22 Datalogic Spa 連続走査によりバーコードを復元する方法

Also Published As

Publication number Publication date
NZ256537A (en) 1996-02-27
ATE194430T1 (de) 2000-07-15
EP0613575A4 (en) 1998-05-13
CN1036162C (zh) 1997-10-15
DE69328961T2 (de) 2001-02-22
US5296691A (en) 1994-03-22
CA2123513A1 (en) 1994-03-31
EP0613575A1 (en) 1994-09-07
DE69328961D1 (de) 2000-08-10
AU672241B2 (en) 1996-09-26
AU5128893A (en) 1994-04-12
EP0613575B1 (en) 2000-07-05
WO1994007213A1 (en) 1994-03-31
US5387787A (en) 1995-02-07
CN1087433A (zh) 1994-06-01

Similar Documents

Publication Publication Date Title
JPH07504530A (ja) スキャンされたセグメントから完成コードを再構築するためのスキャニング装置
US6206289B1 (en) Scanner
JP2750083B2 (ja) 走査装置
CA2191433C (en) Method and apparatus for decoding bar code symbols using independent bar and space analysis
US4963719A (en) Bar code scanner and method of scanning
US6152371A (en) Method and apparatus for decoding bar code symbols
US6123262A (en) Omnidirectional reading of two-dimensional bar code symbols
EP0449634B1 (en) Omnidirectional bar code reader
US6315201B1 (en) Method and apparatus for the reading of a bar code consisting of a defined number of code elements
JP2000507727A (ja) 高速画像捕捉システムおよび方法
US5777310A (en) Problem reduction with low level information integration in bar code decoding
US6513714B1 (en) Character reconstruction and element level processing in bar code scanning system
CA2267892C (en) Method and apparatus for decoding bar code symbols using ratio analysis of module size
US6454168B1 (en) Correlation and stitching techniques in a bar code scanning system
JPH08212280A (ja) 2次元バーコードの走査方法およびその走査装置
JPH07105304A (ja) バーコード走査接合方法
WO2000016248A1 (en) Skew processing of raster scan images
US6073847A (en) Method and apparatus for the reading of a bar code
US6267293B1 (en) Bar code scanning system and method
JP4376353B2 (ja) バーコードの連続した走査を再構成する方法
JPH0448392A (ja) バーコード読み取り装置
JP2641991B2 (ja) バーコード読取装置のデータ処理方法
JP3606228B2 (ja) バーコード読取装置
JPS6130312B2 (ja)