JP2000509537A - モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置 - Google Patents

モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置

Info

Publication number
JP2000509537A
JP2000509537A JP10525558A JP52555898A JP2000509537A JP 2000509537 A JP2000509537 A JP 2000509537A JP 10525558 A JP10525558 A JP 10525558A JP 52555898 A JP52555898 A JP 52555898A JP 2000509537 A JP2000509537 A JP 2000509537A
Authority
JP
Japan
Prior art keywords
character
bar
width
space
decoding
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
JP10525558A
Other languages
English (en)
Other versions
JP3115003B2 (ja
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 JP2000509537A publication Critical patent/JP2000509537A/ja
Application granted granted Critical
Publication of JP3115003B2 publication Critical patent/JP3115003B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Character Input (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Image Processing (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

(57)【要約】 バーコードのバーとスペースのモジュール・サイズの比率の解析を用いて、バーコード記号を解読する改良された方法および装置。本発明は、バーとスペースの公称幅を1つ以上有するあらゆるバーコードにも適用でき、バーコード用の仕様において複数の幅を有するバーコードにおいて、またバーコード信号が、小さい信号対雑音比を持つ、すなわち、バーコードに損傷、不鮮明、または汚れがあるために劣化する場合に、あるいはバーコードが最適角度よりも小さい角度で読み取られる場合に、本発明は特に有用である。本発明は、解読ミスした文字を識別し、適応技術を用いて、以前に標準方法で解読不能であった、または解読ミスした文字を解読し、それにより、従来技術と比較して解読率を向上させる。この解読率は、新規信号に対してバーコードを再走査する必要なく向上し、それによって、本発明は、高速操作、または1パス解読操作に特に有用となる。

Description

【発明の詳細な説明】 モジュール・サイズの比率解析を用いてバーコード記号を解読する 方法および装置 技術分野 本発明は、バーコード記号を解読し、特にバーとスペースが、公称上、基本モ ジュール幅に対して、少なくとも1つの特定の一定比率をなしているバーコード 記号を解読する改良された方法および装置である。 背景技術 バーコードの解読は、レーザ・スキャナ、すなわち一次元イメージセンサから 直接に収集されたか、あるいは撮像素子の二次元イメージからサンプリングされ た一次元信号を取って、その信号を解読して、バーコード記号の情報を取り出す 。一般に、バーコードの情報は、一連の英数字または特殊文字である。バーコー ドは、一連の文字から成り、それぞれの文字を、バーコードに現れる順に解読す ることで、解読される。解読がうまくいくかどうかは、もっぱら個々の文字の解 読が正しいかどうかによる。コード128などの一部のバーコード記号表示法は 、ここに参考のために取り入れられた米国特許第5,329,105号に記載さ れているものであって、バーコード記号の中にコード化されたチェックサム文字 を持ち、この文字を用いて、バーコード記号の解読ミスの出現を検出する。この ような検査は、すべての文字が解読された後で行われる。 現在は、信号が適度に良質である時に、ほとんどの解読法はうまくゆく。とは いえ、信号が、小さい信号対雑音比または低い分解能を持つか、あるいはノイズ で汚損され、走査角度のためにひずむ場合、現在の方法では、ひずんだ信号区分 の中の文字(1つ、または複数)を解読できなくなる。このような障害に対する 改善は、既存の信号に対処するのではなく、バーコード用に新規の信 号を収集(またはサンプリング)することで、行われる。これらの従来技術は、 ハンドヘルド・スキャナを使用する場合には、重大な問題は起こさなかった。な ぜなら、第2の走査を要求し、受理することが簡単であるからである。しかしな がら、例えばオーバ・ザ・ベルト形バーコードスキャナを用いる連続処理では、 たとえ何度も、バーコード記号をサンプリングすることが可能であっても、この 技術を、異なる信号に何度も適用したり、またはこれらの信号をいっしょに組み 合わせると、バーコード記号の解読の成功は保証されない。 バーコードは、一般に一連の濃い要素と薄い要素であって、これらの要素を、 以下「バー」と「スペース」と呼ぶ。さらに、ほとんどの種類のバーコードの各 要素の幅は、ここでは「単位モジュール」と呼ばれる基本(通常、最小限の)幅 に対して、公称上、いくつかの一定比率になっている。いくつかの種類のバーコ ードの仕様では、単位モジュールの幅は、要素のタイプで異なる場合がある。す なわち、バー用の単位モジュールの幅は、スペース用の単位モジュールの幅とは 異なる。しばしば、所定の種類のバーコードでは、バーコード仕様は、文字のす べてが、同じ数の単位モジュールを持つように求める。 現在の多くの解読法は、2つの要素幅、すなわち「広い」要素と「狭い」要素 だけから成るバーコード用に設計されている。この場合には、「狭い」要素は、 通常、その要素の単位モジュールに一致し、また「広い」要素の幅は、単位モジ ュールの幅の或る倍数である。これらの種類のバーコードに加えて、要素幅が3 つ以上あるさらに複雑な種類のバーコードがある。例えば、コード128は、4 つの異なる要素幅を有する。特にバーコード信号が、ノイズをともなう、または 他のやり方で劣化するか、あるいは、バーコードが汚れ、光沢紙上に印刷され、 引き裂けられ、または刷り重ねられるか、バーコードに対して、ある角度に傾い て読み取られる時には、どんなバー解読技術を用いても、複数の幅は、正確に識 別することがさらに困難になる。 従来技術では、異なるタイプの問題を、異なるやり方で処理する。デジタル信 号にいくらかノイズをともなうデータがある場合には、文字は、解読の結果と、 定義済みコード化パターンがまったく一致しないという意味で解読できな い場合がある(ここでは、「解読不能文字」と呼ばれる)。このような事態が起 こる場合には、従来技術は、直ちにエラーを認識するが、その後、この信号を廃 棄し、新規信号を収集しようとする。さらに重大な問題は、最初にコード化され たものに一致しないパターンに、文字が解読される場合があることである(ここ では、「解読ミスの文字」と呼ばれる)。このエラーは、すべての文字の終了時 に、チェックサム(もしあれば)を計算するまで、従来技術では検出できない。 チェックサムがなければ、未検出の解読ミスが発生する。チェックサムがある場 合には、解読ミスを検出するまで、文字の全部を処理する時間が無駄になる。上 述のように、通常の解決法は、別の走査信号を試すことである。この問題が、新 規信号でも続く場合、(オーバ・ザ・ベルト形の走査などの多数の用途では、こ れが通常であるが)バーコード自体、複数の走査に関係なく、解読できない。 エラーが検出される場合にチェックサム解析と再走査に費やされる時間は、自 動手段によるパッケージ上のラベルの読取りなどの高速連続作業に対しては、重 大な問題である。このタイプの用途では、パッケージが、コンベヤ・ベルトに載 って500フィート/分までの速度で移動していることもあり、パッケージ上の バーコードをリアルタイムで読み取って(通常、コンベヤ・ベルトの真上に搭載 された固定リーダにより)、コンベヤシステム上で自動経路指定ができるように しなければならない場合には、新規の方法は、前述のコード128を用いて、効 果的な高速自動コンベヤ振り分けに関して、総読取り速度だけでなく、1パス読 取り速度も著しく向上させることが判明した。この方法は、ほとんどのバーコー ド信号表示法に等しく適用できるが、PDF417などだけでなく、UPC/E ANのコード49、コード93、コード16Kなどの複数の幅を有するバードー ドにも、特に有用である。 バーコード解析において、平均値と幅の比率を使用するいくつかの試みが前述 の文献に記載されている。例えば、1994年7月19日にカネコに交付された 「バーコードリーダと、バーコードリーダを用いるゲーム装置」と題する米国特 許第5,331,141号は、バーコードが読取りヘッドを滑るように 通過する時に、黒反射度または白反射度の時間間隔を測定することにより、カー ドからバーコードを読み取る装置を開示している。この特許は、第10欄の59 行〜第11欄の19行、および図10に、「ガードバーにおいて白バーの幅に対 する黒バーの幅」(第10欄の60〜61行)の比率αを計算する方法を開示し ている。比率αは、一回計算し、次に、すべての白バーに比率αを掛けて、これ らの幅を正規化し、バーコード・データ中のバーのそれぞれの広がりまたは縮み (幅のひずみ)について補正する。とはいえ、この特許は、この明細書に開示さ れた適応技術はどれも開示してなく、またチェックサムの前に比率解析で解読ミ スの文字を認識することで、時間節約に関して教示していない。 1995年2月28日にワタナベ等に交付された「バーコードを読み取る方法 および装置」と題する米国特許第5,393,968号は、あるタイプの比率解 析を用いて、解読時にありそうなエラーを検出するバーコード・リーダを開示し ている。この特許の第12欄の54行〜第13欄の32行に述べられているよう に、バーコード中の連続する文字に関する文字長さ比率を計算して、バーコード のひずみ量を測定する。この文字長さ比率の差が、所定の許容量(この特許では ±15%が提案される)を超える場合には、バーコードを再び読み取る。この明 細書で教示される通りには、平均化技術が使用されず、また、この明細書に開示 される通りの適応技術もまったくない。さらに、このバーコードを再び読み取ら ずに既存のバーコード・データを補正しようともしない。 従って、3つ以上のモジュール幅を用いる複雑なバーコードをうまく解読する ことができ、またラベル情報によりパッケージを振り分けるような最新の連続プ ロセスに対して、記号を解読する速度で作動することのできる方法および装置が 必要である。 発明の概要 本発明は、3つ以上のモジュール幅を用いる複雑なバーコードをうまく解読す るため、また解読ミスの文字を検出して、これらの文字を再度解読するため、 さらにバーコードを再走査する必要もなく従来の解読法を用いて解読不能なさら に多くの文字をうまく解読するための改良されたシステムおよび方法を提供しよ うとする。 本発明により、この目的は、スタート文字またはストップ文字に基づく平均モ ジュール幅を、解読文字の平均モジュール幅と比較して、この文字が受入可能に 解読されたかどうか判定し、さらに、要素幅を適切な平均モジュール幅で割って 得られた一連の整数に解読法を適用して解読ミスの文字を再度解読することによ り達成される。 一般に説明すると、本発明は、スタートコードとストップコードを含むタイプ のバーコードで、前記バーコードの各文字がバーとスペースを有する一連の要素 で表され、このような各要素の幅が単位バー・モジュール幅または単位スペース ・モジュール幅の倍数であるバーコードの文字を解読するシステムおよび方法で あって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)バーコードのスタート文字またはストップ文字を解読するステップと、 (c)スタート文字またはストップ文字のバー幅の合計を、スタート文字または ストップ文字の中のバー単位モジュールの既知数で割って、第1の平均単位バー ・モジュール幅を計算するステップと、 (d)スタート文字またはストップ文字のスペース幅の合計を、スタート文字ま たはストップ文字の中のスペース単位モジュールの既知数で割って、第1の平均 単位スペース・モジュール幅を計算するステップと (e)バーコードの第2の文字を解読するために試行するステップと、 (f)前記第2の文字を解読するための試行が失敗の場合は、解読不能として、 前記第2の文字にマークを付けるステップと、 (g)前記第2の文字を解読するための試行が成功の場合は、前記第2の文字の 前記バー幅の合計を、前記第2の文字の中のバー単位モジュールの既知数で割っ て、第2の平均単位バー・モジュール幅を計算し、ステップ(h)〜 (j)を続行するステップと、 (h)前記第2の文字の前記スペース幅の合計を、前記第2の文字の中のスペー ス単位モジュールの既知数で割って、第2の平均単位スペース・モジュール幅を 計算するステップと、 (i)前記第1の平均単位バー・モジュール幅に対する前記第2の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記第1の平均単位ス ペース・モジュール幅に対する前記第2の平均単位スペース・モジュール幅の比 率が1:1の所定の許容差内にある場合は、前記第2の文字の解読を受理するス テップと、 (j)前記比率が、前記所定の許容差外にある場合は、解読ミスとして前記第2 の文字にマークを付けるステップと、 を有するシステムおよび方法を提供する。 次に、バーコード中の他の文字を解読し、受理された文字に基づいて単位モジ ュール幅の移動平均を計算することができる。さらに、解読不能または解読ミス としてマークを付けた文字は、各バー要素の幅を最終移動平均の単位バー・モジ ュール幅で割って、また各スペース要素の幅を最終移動平均の単位スペース・モ ジュール幅で割って一連の商を得ることにより;得られた商を、もっとも近い整 数に丸めることにより;この一連の整数を解読して1つの新規文字を得ることに より;この1文字のバー幅の合計を、この新規文字中のバー単位モジュールの既 知数で割って新規文字の平均単位バー・モジュール幅を計算することにより;こ の1文字のスペース幅の合計を、この新規文字中のスペース単位モジュールの既 知数で割って新規文字の平均単位スペース・モジュール幅を計算することにより ;最終移動平均の単位バー・モジュール幅に対する新規文字の平均単位バー・モ ジュール幅の比率が1:1の所定の許容差内にあり、また最終平均の単位スペー ス・モジュール幅に対する新規文字の平均単位スペース・モジュール幅の比率が 1:1の所定の許容差内にある場合には、新規文字として、この1文字の解読を 受理することにより、バーコードを再走査しないで処理することができる。 バーコードのエッジ間に不良部位または損傷部位がある場合には、本発明は、 不良部位に向かってバーコードの各端から始めて解読する方法を提供する。 本発明によるシステムの一実施例の主な構成装置は、信号収集装置、一般にC CDカメラまたはレーザスキャナ、信号処理モジュール(A/Dコンバータ、お よびCPUとメモリから成る)、端末や、他の装置との通信リンクなどの出力装 置である。この信号処理モジュールは、信号収集装置からのアナログ信号をデジ タル形式に変換し、バーおよびスペースの幅が、CPUで測定される。これらの 幅を表す出力(一般に数字)は、本発明の方法に用いられ、この方法は、解読用 に当該プロセッサにプログラムされている。この解読結果は、個々の用途に応じ て、端末、またはコントローラに出力される。 本発明のシステムは、周知の種類のバーコードを解読する一方法を実行するた めの作動であり、ここでは、バーコードが、ある順序のいくつかの文字から成り 、それらの各文字は、一連の交互するバー要素とスペース要素で表される。この 一連の要素中の各要素の幅は、この要素タイプに対応する単位モジュール幅に対 して、複数の一定比率のうちの1つをなしており、この複数の一定比率は、特定 の種類のバーコードを解読することにより決定される。これらの方法のステップ は、さらに詳細に述べると、(a)バーコードを走査して、走査で遭遇する各要 素の幅に、ある値を割り当てるステップと、(b)スタート/ストップ文字を解 読することにより、特定の種類のバーコードを決定するステップと、(c)走査 方向に応じてスタート文字またはストップ文字から、各要素タイプに対して平均 バーコード・モジュール幅を決定するステップと、(d)これらの幅値を、バー コード中の文字の順序に対応する順序セットに分類するステップと、(e)順番 が次の順序セット中の幅値を、特定の種類のバーコード用の標準文字値のテーブ ルと比較するステップと、(f)(i)一致が認められない場合には、解読不能 として、この順序セットにマークを付けるステップと、または(f)(ii)一致 が認められる場合には、その一致文字の幅値に比率解析を受けさせ、またこの比 率解析がうまくいかない場合には、解読ミスとして、その順序セットにマークを 付け、さらにこの比率解析がうまくいく場 合には、各要素タイプに対応する平均単位モジュール幅を更新するステップと、 (g)最後の文字を処理するまで、上記のステップ(f)を繰り返すステップと 、(h)マーク付き順序セットを、平均単位モジュール幅を用いて解読しようと するステップ、として説明できる。 本発明は、適応技術を用いて、バーコードの文字解読の精度、速度、効率を向 上させる。 本発明は、チェックサム解析によらずに、文字の解読ミスを補正することがで きる。 本発明は、文字の解読ミスをすばやく識別して、バーコードを再走査する必要 もなく、そのコードミスを正しく解読することができる。 本発明は、読み取られるバーコードのタイプの仕様を用いて、文字セット中の 要素の種類を監視し、解読文字が、適正な数の要素、適正な数の各タイプの要素 、適正な数の単位モジュール幅を確実に持てるようにしている。 本発明の技術は、バーコード走査信号を徹底的に処理し、しかも、その仕様と 、解読時の信号処理の知識を利用している。正規の信号では、本発明の技術は、 基準解読技術と同じになる場合がある。しかしながら、信号の品質が低い場合に は、本発明は、余分の処理を最小量に抑えて、解読処理を大幅に向上させる。 本発明は、解読ミスした文字を識別し、適応技術を用いて、以前に標準方法で 解読不能であった、または解読ミスした文字を解読し、それにより、従来技術と 比較して解読率を向上させる。この解読率は、新規信号に対してバーコードを再 走査する必要なく向上し、それによって、本発明は、高速解読作業、または1パ ス解読作業に特に有用となる。 図面の簡単な説明 図1は、スタート文字から始まって、チェックサムで終わる、バーコードを解 読する全方法を示した本発明の一実施例の流れ図である。 図2は、本発明の再解読概念を示した本発明の一実施例の流れ図である。 図3は、バーコードの2つの断片をまとめることのできるように、本発明の利 用法を図解した本発明の一実施例の流れ図である。 図4は、本発明の一実施例の主な構成装置のブロック図である。 図5は、コード128のバーコード(従来技術)用のバーコードのコード化パ ターンのテーブルの一部である。 詳細な説明 図1を参照して、本発明の方法の一実施例が、その全体の流れに関して説明さ れる。最初に、この方法は、処理しようとするバーコードの個々のタイプに利用 できる周知の解読アルゴリズムを用いて、文字を解読する。ブロック1でスター ト文字が検出されると、解読が開始する。基準解読アルゴリズムを用いてスター ト文字が解読される場合には、その成功が、ブロック2の中で宣言され、この処 理はブロック3に進む。スタート文字が見つけられない場合には、この処理は、 ブロック14に進み、ここで、本発明は、新規走査、すなわちバーコード記号を 表す新規信号を得る。本質的には、ブロック14は、この方法が、この情報を有 するバーコードを解読できないという宣言となる。 ブロック3に戻ると、バーコードの中に、1モジュールのバーと1モジュール のスペースの移動平均幅の初期推定値がある。(1モジュールのバーは、時々こ こでは「1Xバー」と略記され、また1モジュールのスペースは、時々ここでは 「1Xスペース」と略記される)。次に、ブロック4から文字単位のループが始 まり、このループは次の文字を解読することになっている。当初、次の文字は、 スタート文字に続く文字である。この解読技術も、処理しようとするバーコード の個々のタイプに利用できる基準解読アルゴリズムを使用している。この文字が 、ブロック5において、利用できる技術を用いてうまく解読されたかどうか判定 が行われる。この文字がうまく解読された場合には、本発明はブロック6に続く 。利用できる技術が、この文字を解読できない場合には、ブロック9において解 読不能として、この文字にマークを付けて、処理がブロック4に戻って、次の文 字を解読する。 ここで、ブロック6に戻って、うまく解読された文字のバーとスペースの平均 幅を計算する。ブロック7では、バーの平均幅は、前述の移動1Xバー幅で割っ て、バーの比率を得る。同様に、スペースの比率を計算する。この文字の2つの 比率が、将来の使用のために保存される。1X幅は、文字間でずれてはならない から、この比率は、通常では、1に近い。ブロック8では、この比率をチェック して、これが、ある百分率しきい値(例えば、1からの偏差の30%)内にある かどうか確かめる。すなわち、適切な比率は、0.7と1.3の間の値を取るこ と。この比率が適切でなければ、解読ミスの文字として、この文字にマークを付 けて、処理をブロック9を経てブロック4に戻して、次の文字を解読する。しか しながら、ブロック8において、この比率が適切である場合には、この文字の1 X幅を用いて、バーコード中の1Xバーと1Xスペースに対して当該プログラム で保たれている移動平均幅を更新する。次に、テストを行って、最後の文字が処 理されているかどうか確かめ、もし処理されていなければ、ブロック4に戻して 、次の文字を解読する。 バーコードのすべての文字が処理されると、この移動平均幅は総平均幅となり 、これは解読文字に基づく推定値である。次に、解読不能または解読ミスとして マークの付けられた文字のすべてが、ブロック12において再解読される。この 処理は、図2でさらに説明される。次に、処理がもとに戻つて、再解読処理後も 引き続き解読不能な文字がいくつかあるかどうか確かめる。もし解読不能な文字 があれば、処理がブロック14に移り、そこでは、全面的にうまくいかなかった ことを宣言し、この方法がスタート文字を検出できなかった場合に実行されたよ うに、新規信号を得る。一方、解読不能な文字が残っていない場合には、そのチ ェックサムを検証して、その結果を出力する。 ここで、図2に移ると、本発明の一実施例について、マーク付き文字を再解読 するための全体の流れが図示される。すべての文字の解読を行って、解読不能か 、解読ミスのいずれかとして、それらの文字のいくつかにマークを付けた後で、 この処理に入る。マークの付けられた前記文字のそれぞれに対して、図2の処理 を実行する。図2のブロック1での第1のステップは、マーク付き文 字のデータを得ることであり、このデータは、バーとスペースの幅である。次に 、ブロック2では、モジュールの数と、モジュールの数の信頼度を計算する。ブ ロック3では、解読しようとするバーコードの特定タイプの仕様に対して、正確 な数のモジュールが計算されたかどうかに関してテストを行う。もしその通りで あれば、処理はブロック9に進む。もしそうでなければ、処理はブロック4に進 み、チェックを行って、正確な数のモジュールを得るために、どのバーまたはス ペースを調整する必要があるのか確かめる。これは、ブロック5で処理すること により行われ、ここでは、信頼度が調整され、またブロック6では、最後にバー 幅またはスペース幅の少なくとも1つのモジュール数を調整する。 バーコード記号データ上の要素の少なくとも1つのモジュール数を調整した後 で、このような調整により、バーコードの文字に対して、正確な数のモジュール がうまく提供されたかどうかついて、ブロック7でテストを行う。もしその通り であれば、処理はブロック9に進む。もしそうでなければ、処理はブロック8に 進み、そこでは、再解読できないことを知らせ、以前に使えた文字の最適推定値 を保存する。正確な数のモジュールを有するブロック9では、テーブル検索処理 を行って、モジュールのコード化パターンに対応する文字があるかどうかテスト する。ブロック10では、テストが失敗した場合に、処理はブロック8に進み、 そこで失敗を宣言する。成功した場合で、かつ、ブロック11でテストされる通 り、以前に解読不能として、この文字にマークが付けられている場合には、処理 はブロック14に進み、そこで、新たに解読された文字が受理される。ブロック 11でテストされる通り、解読ミスとして、この文字にマークが付けられる場合 には、処理はブロック12に進み、そこで、総平均幅に対する当該文字の幅の比 率を計算する。次に、この比率を、当該文字の第1の解読の試みで保存された比 率と比較し、これらの比率が、1により近いという意味で、より適切であるかど うか確かめる。これらの比率が、より適切でなければ、失敗を宣言し、処理はブ ロック8に進む。より適切な比率であると宣言された場合には、処理はブロック 14に進み、そこで、成功したことを宣 言する。解読された新規の文字を受理する。このような受理の際、正確に解読さ れた文字が、第1の解読の試みにおいて解読ミスのものとして、誤って分類され た場合でも、再解読された文字が、より適切な比率係数を有する場合を除き、こ の解読ミスの文字は、この再解読された文字には代えられない。このことはまた 、比率解析用の前述の百分率しきい値が、悪影響を起こすことなく、様々な値に 設定できることを示唆している。解読ミスが起こりやすい信号では、百分率しき い値は、これを、1から大きくずれないように、選ぶことができる。 双方向解読可能なバーコードでは、図1の処理はまた、ストップ文字から始め て、次の文字に進むことができる。 本発明の方法は、すべての文字がコード128の記号表示法に基づいている一 連の例で、さらに説明できる。コード128の文字は、1文字当り6つの要素( 交互するバーとスペース、それぞれ3つ)を持ち、これらのモジュール幅の合計 が、それぞれの文字について、11に指定される。コード128の記号表示法に ついての標準解読法は、米国特許第5,329,105号(「105特許」)に 開示されている。例1 この例のバーコード信号を走査した後、1文字を形成するバーとスペースの幅 は、一連の順序文字セットで表され、以下の通り、各順序文字セットは6つの数 字を有し、また各数字は、対応する要素幅の大きさである。 420 104 147 217 220 529│216 233 552 217 326 93│566 76 294 388 200 128 │364 240... 第1の文字 第2の文字 第3の文字 「105特許」は、「エッジ・ツー・エッジ」技術を教示するもので、この技 術を用いれば、6つの数字から成る各組を解読できる。第1の文字。 第1の文字セットは、 420 104 147 217 220 529である。 この方法は、最初のチェックで、これがスタート文字かどうか確かめる(スト ップ文字、または他の初期設定文字も使用される場合がある)。標準のエッジ・ ツー・エッジ技術は、t1234で示される4整数のシーケンスを生成する。 この技術を用いて、記号「→」が「もっとも近い整数に丸める」を意味する場合 に、以下の式を得る: x=1/11(420+104+147+217+220+529)=148.82 t1=1/x(420+104)=3.52 → 4 t2=1/x(104+147)=1.69 → 2 t3=1/x(147+217)=2.45 → 2 t4=1/x(217+220)=2.94 → 3 t1234=4223. 従来技術とは異なり、本発明は、解読結果「4223」が、3つのスタートパ ターンのうちの1つに一致することを得るのではなく、適合度検定において、近 いことだけを求めている。それゆえ、以下の通り、「4223」と3つのスター トコードとの間隔がテストされる(スタートパターンについては図5を参照のこ と)。 スタートコードAとの間隔 =d1 2=(4−3)2+(2−2)2+(2−5)2+(3−5)2=14 スタートコードBとの間隔 =d2 2=(4−3)2+(2−2)2+(2−3)2+(3−3)2=2 スタートコードCとの間隔 =d3 2=(4−3)2+(2−2)2+(2−3)2+(3−5)2=6 コード「4223」は、値が「104」であるスタートコードBにもっとも近 い。コード128では、誤ったスタートコードを選択しないようにするために、 d2<3の場合にのみ、スタートコードとして「104」が受理される。 上記の特別処理は、スタートコードやストップコードなどの文字にのみ適用さ れる。スタートコードとストップコードの間にある他のいかなる文字についても 、その候補セット(通常、コード化テーブルに格納されている)は大きすぎ、ま たこの最小間隔から決定される結果は、必ずしも正確であるとは限らない。従っ て、さらに厳密な解析が行われる。 スタートコードが解読された後、スタートコードは、コード化テーブルから以 下のパターンを有することがわかった。 バー スペース バー スペース バー スペース 2 1 1 2 1 4 合計、4つのバー・モジュールと7つのスペース・モジュールがある。もとの 幅データを調べると、以下の通りである。 420 104 147 217 220 529 バー幅の総和は、420+147+220=787である。 スペース幅の総和は、104+217+529=850である。 従って、1Xバー・モジュールは、以下のように概算される。 787/4=196.75 (1Xバーの平均幅) 850/7=121.43 (1Xスペースの平均幅) それゆえ、以下のように、1Xのバーとスペースの初期推定値が得られる。 (XB,Xs)=(196.75,121.43)。 第2の文字。 ここで、上記のエッジ・ツー・エッジ技術を用いて、以下の通 り、第2のコード・ワードも解読する: 216 233 552 217 326 93 t1234=3554 コード化テーブルから、3554と値「17」が一致する。これは、以下のパ ターンを持つ。 バー スペース バー スペース バー スペース 1 2 3 2 2 1 バー・モジュールの数=6 スペース・モジュールの数=5 1Xバー・モジュール =(216+552+326)/6=1094/6=182.33 1Xスペース・モジュール =(233+217+93)/5=543/5=108.60 この解読が正しいかどうか確かめるために、比率解析を行う。理想的には、1 Xのバーとスペースは、以下のように、以前に概算されたものに近くなければな らない。 バー幅の比率=182.33/196.75=0.93 スペース幅の比率=108.60/121.43=0.89 これらの比率は1.0に近いから、正確な値として、値「17」が受理される 。この時点で、以下のものとして、移動平均1Xのバーとスペースが更新される 。 ここまでは、2つの文字をうまく解読したにすぎないから、ここではN=2で ある。第3の文字。 ここで、エッジ・ツー・エッジ技術を用いて、以下のように、第 3の文字を解読する。 566 76 294 388 200 128 t1234=4254 「4254」は、コード化テーブルのどのパターンにも一致しない。解読不 能として、この文字にマークが付けられる。すべての文字のエッジ・ツー・エッ ジ解読を試みた後に、当該文字を再解読する。 引き続き、標準エッジ・ツー・エッジ技術を用いて、他の文字を解読する。文 字がうまく解読される時(これらの比率は1.0に近い)には、移動平均1Xの バーとスペースが更新される。 すべての文字の解読が完了すると、最終的な移動平均の単位バー幅と単位スペ ース幅が得られる。 例2 この例は17文字を有する。この幅データは、以下の通りである。 欄1は、エッジ・ツー・エッジ法を用いて解読されたコード・ワード値である 。この数「−1」は解読不能を表し、すなわち、コード化テーブルからは、一致 する項目は見つけられない。欄11は、コード化テーブルのコードワード値に対 応するバー・モジュールの数である。スペース・モジュールの数は推定でき(す なわち、すべてのモジュールの合訃は11に等しい)、それゆえ、リストされて いない。最後のカラムは、N(解読不能)またはM(解読ミス)としてコードワ ードを標示する。 最終移動平均幅は、XB=173とXS=120であって、これらは、「N」ま たは「M」のマークの付いてない14の解読文字から概算されたものである。こ の例では、3つの文字数セットが第1のパスから拒否されている。 これらのものは拒否される。なぜなら、これらのものは、解読できなかった( −1で表される)か、あるいは、その比率が1.0から離れすぎているからであ る。(上記の表では、バー「比率」とスペース「比率」は、整数演算の速度効果 (speed advantage)のために、整数形式で表される)。数「3」は、実際に、 1.0からの0.3の偏差を意味している。従って、この比率は、0.7または 1.3である。同様に、比率「7」は、0.3か、1.7のいずれかを意味して おり、これらは、1.0から遠く離れている)。 3つの再解読処理は、以下の通りに例示されている。 (a)第1の文宇再解読の幅データは、次の通りである。 566 76 294 388 200 128 これから、「4252」のエッジ・ツー・エッジ解読が得られ、これは、前回 の試みにおける無効コードである。本発明の解読技術は、バーとスペースの幅デ ータを、それぞれ1モジュールのバー幅(173)と1モジュールのスペース幅 (120)で割ることである。この結果、以下の数が得られる。 3.27 0.63 1.70 3.23 1.16 1.09 これは、以下の数に丸められる。 3 1 2 3 1 1 すなわちt1234値が「4354」であって、これは、コード128値の表 において、「58」に対応する。以下に説明される方法に従って、この再解読が うまくいったかどうかチェックできる。 (b)第2の文字再解読の幅データは、次の通りである。 171 157 522 214 334 261 これから、「2554」のエッジ・ツー・エッジ解読が得られ、すなわち、表 の値が「100」である。しかしながら、コードワード「100」は、8つのバ ー・モジュールと3つのスペース・モジュールを有し、従って、以下の値となる 。 これらの値をテストして、以下の値を求める。 解読ミスを宣言する。この解読ミスは、標準のエッジ・ツー・エッジ技術を使っ ても見つけられなかったであろう。再解読するには、幅を、バーとスペース用の 標準の1Xモジュールで割ることである。 これは、次の値に等しい。 0.99 1.31 3.02 1.78 1.93 2.17 これは、次の値に丸める。 1 1 3 2 2 2 すなわちt1234値が「2454」であって、コードワードが「15」であ る。コードワード「15」は、6つのバー・モジュールと5つのスペース・ モジュールを有し、従って、以下の値となる。 これらの比率をテストすると、 この解読は成功である。 (c)第3の文字再解読の幅データは、次の通りである。 211 101 564 76 702 77 これから、「2445」のエッジ・ツー・エッジ解読が得られ、これは、コー ドワード「99」である。 バーとスペースの比率をテストして、 再解読は、以下の通りに進行する。これらの比率は次のものである。これは、次の値に等しい。 1.22 0.84 3.26 0.63 4.06 0.64 これは、次の値に丸める。 1 1 3 1 4 1 これにより、エッジ・ツー・エッジ技術でもたらされるものと同じ「2445」 結果が得られる。新規解読文字は、より適切な比率をもたらさないから、従って 、コードワード「99」を、有効なものとして受理する。 再解読文字では、丸められた整数の総和はちょうど11であり、これが正しい 。 (例(a)): 3 1 2 3 1 1 (合計=11) (例(b)): 1 1 3 2 2 2 (合計=11) (例(c)): 1 1 3 1 4 1 (合計=11) しかしながら、バーコード信号が、ひどくひずむ場合には、その合計は、正確 に11にならない場合がある。11ではなくて、9、10、12、13などにな ることがある。次の例は、この問題を例示する。 例3。 この方法を用いて、XB=96とXS=87、および以下の幅データを 有する文字を再解読する。 76 80 339 57 385 75 1Xバー(スペース)で割る。 0.79 0.92 3.53 0.66 4.01 0.86 信頼度 もっとも近い整数に丸められる。 1 1 4 1 4 1(合計=12、合計≠11!) コード128に対して、モジュールの適正な合計は11であるから、1つのバ ーまたはスペースは、1モジュールだけ減らさなければならない。不良な要素( 1つ、または複数)を突き止めるために、検索スペースを狭くして、誤り的中の 可能性を少なくする必要がある。ある要素の信頼度が、該当する平均1 X幅に対する当該要素幅の比率として定義されることに注意すること。比率が整 数に近ければ近いほど、それだけ当該要素の信頼度が高くなる。われわれは、こ の検索スペースを以下のように狭くしている。 (1)コード128では、バー・モジュールの合計は、つねに偶数であり、また スペース・モジュールの合計は、つねに奇数である。従って、バー・モジュール の合計=1+4+4=9であって、偶数ではない。このことから、バーのいくつ かを減らすように指示されている。 このステップは、2つのバー(スペース)が欠けているか、または2つの余分 のバー(スペース)がある場合には、確実な結果をもたらさない。 (2)もっとも広い要素が4つのモジュールを有することを考慮に入れて、以下 のルールに従って、各要素の信頼度を調整することができる。 (1)モジュールが0である場合には、モジュールを1に設定し、また信頼度を 1.00に設定する。 (2)モジュールが1であって、信頼度が1.00よりも小さい場合には、信頼 度を1.00に設定する。それ以外の場合には、調整しない。 (3)モジュールが4であって、信頼度が4.00よりも大きい場合には、信頼 度を4.00に設定する。それ以外の場合には、調整しない。 (4)モジュールが4よりも大きい場合には、モジュールを4に設定し、また信 頼度を4.00に設定する。 上記のルールは、以下の通り、容易に理解できる。 (1)信頼度 モジュール 0.4 → 0 あるバーを見る場合、このバーは少なくとも1Xでなければならず、他のもの ではありえない。この信頼度を1.00(最高の信頼度)に設定して、後で要素 を調整できないようにしている。 (2) 0.8 → 1 2ではあり得ない。最高の信頼度1.00に設定して、後で要素を調整できな いようにしている。 1.45 → 1 後で2に調整でき、従って、信頼度を変更しない。 (3) 3.55 → 4 後で3に調整でき、従って、信頼度を変更しない。 4.2 → 4 3でも5でもあり得ない。最高の信頼度を4.00に設定して、後で要素を調 整できないようにしている。 (4) 4.9 → 5 モジュールが4つしかない。4.00に設定して、後で要素を調整できないよ うにしている。 ステップ(1)が確実な結果をもたらす場合には、さらに検索スペースを減ら すために、ステップ(2)の信頼度調整を広げることができる。例えば、スペー ス・モジュールについては、まったく問題がないが、ただし、バー・モジュール について何らかの問題があることがわかっている場合には、スペース・モジュー ルのあらゆる信頼度値を最高レベルに設定して、後で、スペース・モジュールを 調整しないようにしている。 0.79 0.92 3.53 0.66 4.01 0.86 もとの信頼度 丸め:1 1 4 1 4 1 モジュール 調整1.00 1.00 3.53 1.00 4.0 1.00 新規信頼度 最低信頼度値(3.53。この小数部0.53は、この隣りの整数0からも1 からも離れている)に対応する要素を探すことで、第3の要素を減らすべきと結 論を下している。 (3)実行可能な調整方向を検証する。 3.53 小数部 0.53>0.5 これは、その対応するモジュールが4まで丸められたことと、余分の1つのモ ジュールを取り入れた可能性があることを意味している。それゆえ、このモジュ ールは、1だけ減らすことができる。とはいえ、その小数部が0.5よりも小さ かった場合には、当該モジュールは、切り捨てられたが、ここでは、さらに減ら すことはできない。 ステップ(1)、(2)、(3)を組み合わせれば、調整後の要素は以下のよ うである。 1 1 3 1 4 1(合計=11) t1234=2445 値: 「99」 ここで、比率をチェックして、解読が正しいかどうか確かめる。 解読不能として、以前にこの文字にマークが付けられているから、解読結果は 受理される。 最低の信頼度を有する要素を探すことにより、複数の要素を調整できることは 明らかである。 まとめる。文字比率の有用性は、バーコード走査信号が正しく区分されている かどうかによって決まる。バーまたはスペースが走査信号から検出されない場合 、あるいは、バーコード信号がノイズ(例えば、バーコード上のマークといっし ょに現れる可能性のあるもの)で汚損されている場合には、不良な部位に遭遇し た後に解読された文字は、不良比率を持ち(解読される場合)、一般に無用であ る。有用な戦略は、チェックして、走査信号に正しい数の要素が入っているかど うか確かめることである。例えば、コード128では、正しく区分された走査パ ス・モジュロ6の要素の数が1に等しくなければならない。走査パスが正しく区 分される場合には、これは、通常のやり方で(開始から終了まで)解読される。 そうでなければ、これは、ストップポイントが検出されるまで解読され、次に、 同一ストップポイントにさかのぼって解読される。このストップポイントは、2 つの連続する文字が不良文字(すなわち、解読不能か、解読ミスのいずれかのも の)としてマークの付けられている文字として定義さ れる。不良文字の少なくとも1つは、要素(1つ、または複数)が欠けており( または、余分にあり)、再解読処理後でも解読できない。新規走査信号が得られ 、すべての文字が再び解読される。解読された文字は、その前の結果が、より適 切な比率を持つ場合に限り、その結果に取って代わる。新規信号が、別のストッ プポイントを持つ場合には、そのバーコードは解読され得る。この処理は図3に 例示されている。 われわれは、この実施例を、以下のステップから成る新規技術として要約でき る。 1.初期設定(すなわち、スタートまたはストップ)文字を解読し、1Xのバー とスペースの初期推定値を設定する。 2.標準解読技術を用いて、他のものを解読する。ある文字が解読されて、その 比率が1.0に近い場合には、1Xのバーとスペースのモジュールを用いて、1 Xのバーとスペースの移動平均値を更新する。そうでなければ、後で再解読され るように、この文字にマークが付けられる。 3.あらゆる文字を解読した後で、1Xバーと1Xスペースの値の最終移動平均 を得る。 4.マークの付けられた、以前に解読不能または解読ミスがあった文字が、再解 読される。再解読された値は、それが、以前に解読された値よりも適切な比率( 1に近い)をもたらす場合に限り、受理される。 本発明は、バーコードの走査を表す信号を得、処理するいくつかの装置をどれ でも使って実施できる。図4に示される通り、本発明の主な構成装置は、CCD カメラまたはレーザスキャナ11、PC31に接続できる信号処理モジュール2 1、記憶装置41である。このコントローラは、キーボード51または他の制御 装置(図には示されていない)を備えて、本発明の操作を楽に行えるようにして いる。信号処理モジュール21は、バーとスペースの幅を測定し、 これらの幅を表す数を、当業者によく知られている方法により、モジュール21 に常駐のプロセッサ、またはPC31のプロセッサに提供する。この方法は、こ れらのプロセッサにプログラムされ、中間結果や最終結果が、この特定の用途に 対して必要か、または望ましいものであれば、それらの結果を、記憶装置41を 用いて記憶させる。通常当業者であるプログラマであれば、ここに記された方法 の説明に基づいて、開示方法を実行するプログラムを作成できる。 この明細書の名称を参照して、この詳細な説明が、中央処理装置(CPU)、 CPU向けの記憶装置、接続された画素向きディスプレイ装置を含め、従来のコ ンピュータ構成装置で実行される操作のプロセスと記号表現の言葉で、主として 表現されている。これらの操作はは、CPUによるデータビットの処理と、メモ リ記憶装置の少なくとも1つに常駐のデータ構造内でのこれらビットの保持を含 む。このようなデータ構造は、コンピュータのメモリに格納したデータビットの 収集に対して物理構造を課して、特定の電気的または磁気的な要素を表わす。こ れらの記号表現は、教示および発見を他の当業者にもっとも効果的に伝えるため に、コンピュータ・プログラミングとコンピュータ構造の当業者によって用いら れる手段である。 この論述の目的では、プロセスは、一般に、所望の結果を得る一連のコンピュ ータ実行ステップであると考えられる。これらのステップは、一般に、物理量の 物理的処理を必要とする。通常、必ずしも必要であるとは限らないが、このよう な物理量は、記憶させ、転送し、組み合わせ、比較し、または他の方法で処理す ることのできる電気信号、磁気信号、または光信号の形式を取っている。当業者 にとって、ビット、値、要素、記号、文字、言葉、オブジェクト、数、レコード 、ファイルなどとして上記信号を示すことは普通である。しかしながら、これら の言葉、および同様な言葉を、コンピュータ操作にふさわしい物理量と対応付け なければならないことと、これらの言葉が、単に、コンピュータの操作範囲内で 、また操作中に現れる物理量に付けられた通常の標識にすぎないことに留意され たい。 さらに、コンピュータ内での処理は、しばしば、加算、比較、移動などのよ うな言葉で示され、また、これらの言葉は、しばしば、人的オペレータで実行さ れる手動操作と対応付けられるものである。本発明では、このように人的オペレ ータがかかわることは、必要でないし、また望ましくないとさえ言えるものであ る。ここに説明されている操作は、コンピュータと対話する人的オペレータまた はユーザとともに実行されるマシン操作である。本発明の操作を実行するのに用 いられるマシンには、汎用デジタル・コンピュータ、または他の同様な計算装置 がある。 さらに、ここに説明されるプログラム、プロセス、方法などは、特定のコンピ ュータまたは装置には関係がなく、しかもそれらに限定されないものである。も っと適切に言えば、ここに説明される教示に従って作成されたプログラムに対し ては、様々なタイプの汎用マシンが使用できる。同様に、読み出し専用メモリな どの不揮発性メモリにハードウェアに組み込まれたロジックまたはプログラムを 格納した専用コンピュータシステムとして、特化した装置を製作して、ここに説 明されている方法のステップを実行することは好都合となる。 本発明は、特にその好適な実施例を参照して、詳細に説明されてきたが、これ らの実施例に対する変形や変更は、ここに説明される通りに、また添付の請求の 範囲に定められる通りに、本発明の精神および範囲から逸脱せずに行われるもの である。
【手続補正書】特許法第184条の8第1項 【提出日】平成10年10月29日(1998.10.29) 【補正内容】 請求の範囲 1.初期設定文字を含むタイプのバーコードで、前記バーコードの各文字がバー とスペースを有する一連の要素で表され、このような各要素の幅が単位バー・モ ジュール幅または単位スペース・モジュール幅の倍数であるバーコードの文字を 解読する方法であって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)前記バーコードの初期設定文字を解読するステップと、 (c)前記初期設定文字のバー幅の合計を、前記初期設定文字の中のバー単位モ ジュールの既知数で割って、第1の平均単位バー・モジュール幅を計算するステ ップと、 (d)前記初期設定文字のスペース幅の合計を、前記初期設定文字の中のスペー ス単位モジュールの既知数で割って、第1の平均単位スペース・モジュール幅を 計算するステップと (e)バーコードの第2の文字を解読するために試行するステップと、 (f)前記第2の文字を解読するための試行が失敗の場合は、解読不能として、 前記第2の文字にマークを付けるステップと、 (g)前記第2の文字を解読するための試行が成功の場合は、前記第2の文字の 前記バー幅の合計を、前記第2の文字の中のバー単位モジュールの既知数で割っ て、第2の平均単位バー・モジュール幅を計算し、ステップ(h)〜(j)を続 行するステップと、 (h)前記第2の文字の前記スペース幅の合計を、前記第2の文字の中のスペー ス単位モジュールの既知数で割って、第2の平均単位スペース・モジュール幅を 計算するステップと、 (i)前記第1の平均単位バー・モジュール幅に対する前記第2の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記第1の平均単位ス ペース・モジュール幅に対する前記第2の平均単位スペース・モジュール 幅の比率が1:1の所定の許容差内にある場合は、前記第2の文字の解読を受理 するステップと、 (j)前記比率が、前記所定の許容差外にある場合は、解読ミスとして前記第2 の文字にマークを付けるステップと、 を有するバーコード文字解読方法。 2.ステップ(e)における、前記バーコード前記第2の文字を解読しようとす る試行が、前記第2の文字の要素の前記幅の値を標準文字値のテーブルと比較す るステップを含む、請求の範囲第1項記載のバーコード文字解読方法。 3.(k)前記第2の文字の解読が受理される場合は、前記第1および第2の平 均単位バー・モジュール幅の移動平均と、前記第1および第2の平均単位スペー ス・モジュール幅の移動平均とを計算するステップと、 (l)前記バーコードの第3の文字を解読するために試行するステップと、 (m)前記第3の文字を解読する試行が失敗である場合は、解読不能として、前 記第3の文字にマークを付けるステップと、 (n)前記第3の文字を解読する試行が成功である場合は、前記第3の文字のバ ー幅の合計を、前記第3の文字の中のバー単位モジュールの既知数で割って、第 3の平均単位バー・モジュール幅を計算し、ステップ(o)〜(r)を続行する ステップと、 (o)前記第3の文字のスペース幅の合計を、前記第3の文字の中のスペース単 位モジュールの既知数で割って、第3の平均単位スペース・モジュール幅を計算 するステップと、 (p)前記移動平均単位バー・モジュール幅に対する前記第3の平均単位バー・ モジュール幅の比率が1:1の所定の許容差内にあり、前記移動平均単位スペー ス・モジュール幅に対する前記第3の平均単位スペース・モジュール幅の比率が 1:1の所定の許容差内にある場合は、前記第3の文字の解読を受理するステッ プと、 (q)前記第3の平均と移動平均の比率が、前記所定の許容差外にある場合は、 解読ミスとして前記第3の文字にマークを付けるステップと、 (r)前記第3の文字の解読が受理される場合は、前記第3および移動平均の位 バー・モジュール幅の更新移動平均と、前記第3および移動平均の単位スペース ・モジュール幅の更新移動平均とを計算するステップと、 をさらに含む請求の範囲第1記載のバーコード文字解読方法。 4.前記バーコード内の、第4および全ての後続文字に対して、ステップ(l) 〜(r)を繰り返し、受理された文字、解読ミスの文字、解読不能な文字と、最 終移動平均単位バー・モジュール幅および最終移動平均単位スペース・モジュー ル幅とを結果として得るステップをさらに含む請求の範囲第3記載のバーコード 文字解読方法。 5.(s)各バー要素の幅を前記最終移動平均単位バー・モジュール幅で割ると ともに、各スペース要素の幅を前記最終移動平均単位スペース・モジュール幅で 割ることにより、一連の商を得るステップと、 (t)ステップ(s)で得られた商を、もっとも近い整数に丸めるステップと、 (u)ステップ(t)の一連の整数を解読して、1つの新規文字を得るステップ と、 (v)前記1文字のバー幅の合計を、前記新規文字中のバー単位モジュールの既 知数で割って新規文字の平均単位バー・モジュール幅を計算するステップと、 (w)前記1文字のスペース幅の合計を、前記新規文字中のスペース単位モジュ ールの既知数で割って新規文字の平均単位スペース・モジュール幅を計算するス テップと、 (x)最終移動平均単位バー・モジュール幅に対する前記新規文字の平均単位バ ー・モジュール幅の比率が1:1の所定の許容差内にあり、最終平均単位スペー ス・モジュール幅に対する前記新規文字の平均単位スペース・モジュール 幅の比率が1:1の所定の許容差内にある場合は、前記新規文字として、前記1 文字の解読を受理するステップと、 により、前記マークの付けられた解読不能または解読ミスの文字の1つを再解読 することをさらに含む請求の範囲第4項記載のバーコード文字解読方法。 6.マークが付された前記文字の前記要素の幅を、適切な前記更新平均単位モジ ュール幅で割って得られた一連の整数に、標準解読法を適用して、マークが付さ れた前記文字を再解読することをさらにを含む請求の範囲第4項記載のバーコー ド文字解読方法。 7.少なくとも1つの文字が解読不能または解読ミスとしてマークが付されるも のであって、 (a)マーク付き文字中の前記要素のそれぞれの前記幅の値を、前記要素タイプ に対応する前記平均単位モジュール幅で割るステップと、 (b)ステップ(a)で得られた商を、もっとも近い整数値に丸めるステップと 、 (c)前記整数値の合計を、前記マーク付き文字中のモジュールの前記既知数に 等しくするために前記整数値を調整するステップと、 (d)前記マーク付き文字に対して、前記ステップ(b)で決定された前記整数 を合計するステップと、 (e)前記ステップ(d)で得られた前記合訃が、この種のバーコードに適正な 合計であるかどうか判定するステップと、 (f)もしそうでなければ、信頼度解析により1要素を選択して、前記信頼度解 析の結果に従って、選択要素中の単位モジュールの数を調整するステップと、を 含む請求の範囲第6項記載のバーコード文字解読方法。 8.前記信頼度解析が、 (g)バー用の固有パリティが、ステップ(c)で決定された前記整数値で満 たされるかどうか判定し、もし満たされれば、バー要素の数の調整を回避するた めの高信頼度値を設定するステップと、 (h)スペース用の固有パリティが、ステップ(c)で決定された前記整数値で 満たされるかどうか判定し、もし満たされれば、スペース要素の数の調整を回避 するための高信頼度値を設定するステップと、 (i)前記バーコードが複数幅のバーコードである場合は、前記バーコードの最 大幅および最小幅の要素の双方に対して高信頼度を設定するステップと、 (j)最低信頼度値を有する要素に対して、モジュール数が以前に切り捨てられ た場合はモジュール数を増やし、モジュール数が以前に切り上げられた場合はモ ジュール数を減らすステップと、 (k)ステップ(j)で前記モジュール数が調整されない場合は、前記ステップ (e)が満たされるまで、またはすべての前記要素の前記モジュール数が調整さ れるまで、ステップ(j)の方法をさらに高い信頼度を有する次の要素に適用す るステップと、 を含む請求の範囲第7項記載のバーコード文字解読方法。 9.ステップ(u)における前記一連の整数から解読された前記新規文字が、以 前に解読され受理されなかった文字と同一である場合は、前記文字を受理するこ とをさらに含む請求の範囲第5項記載のバーコード文字解読方法。 10.ステップ(u)における前記新規文字を解読する前に、前記一連の整数の 合計が、前記新規文字におけるモジュールの既知総数に等しいかどうか判定する ことをさらに含む請求の範囲第5項記載のバーコード文字解読方法。 11.前記初期設定文字がスタート文字またはストップ文字を含んでおり、 前記初期設定文字ではない前記スタート文字または前記ストップ文字の他方に 遭遇する前に、所定の基準を満たす不良部位に遭遇するまで、前記バーコードの 後続文字に対してステップ(l)〜(r)を繰り返し、 前記バーコードの反対の端の前記スタート文字または前記ストップ文字の他方 を解読し、 前記スタート文字または前記ストップ文字の他方から前記不良部位に向けて、 ステップ(l)〜(r)を繰り返す、 ことを含む請求の範囲第3項記載のバーコード文字解読方法。 12.初期設定文字を含むタイプのバーコードで、前記バーコードの各文字が、 バーとスペースを有する一連の要素で表され、このような各要素の幅が単位バー ・モジュール幅または単位スペース・モジュール幅の倍数であるバーコードの文 字を解読するための実行命令を有する計算装置(31)であって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)前記バーコードの初期設定文字を解読するステップと、 (c)前記初期設定文字のバー幅の合計を、前記初期設定文字の中のバー単位モ ジュールの既知数で割って、第1の平均単位バー・モジュール幅を計算するステ ップと、 (d)前記初期設定文字のスペース幅の合計を、前記初期設定文字の中のスペー ス単位モジュールの既知数で割って、第1の平均単位スペース・モジュール幅を 計算するステップと (e)バーコードの第2の文字を解読するために試行するステップと、 (f)前記第2の文字を解読する試行が失敗する場合は、解読不能として前記第 2の文字にマークを付けるステップと、 (g)前記第2の文字を解読する試行が成功する場合は、前記第2の文字の前記 バー幅の合計を、前記第2の文字の中のバー単位モジュールの既知数で割って、 第2の平均単位バー・モジュール幅を計算し、ステップ(h)〜(j)を続行す るステップと、 (h)前記第2の文字の前記スペース幅の合計を、前記第2の文字の中のスペー ス単位モジュールの既知数で割って、第2の平均単位スペース・モジュール 幅を計算するステップと、 (i)前記第1の平均単位バー・モジュール幅に対する前記第2の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記第1の平均単位ス ペース・モジュール幅に対する前記第2の平均単位スペース・モジュール幅の比 率が1:1の所定の許容差内にある場合は、前記第2の文字の解読を受理するス テップと、 (j)前記比率が、前記所定の許容差外にある場合は、解読ミスとして前記第2 の文字にマークを付けるステップと、 に従う計算装置。 13.(k)前記第2の文字の解読が受理される場合は、前記第1と前記第2の 平均単位バー・モジュール幅の移動平均と、前記第1と前記第2の平均単位スペ ース・モジュール幅の移動平均とを計算するステップと、 (l)前記バーコードの第3の文字を解読するために試行するステップと、 (m)前記第3の文字を解読する試行が失敗する場合は、解読不能として前記第 3の文字にマークを付けるステップと、 (n)前記第3の文字を解読する試行が成功する場合は、前記第3の文字のバー 幅の合計を、前記第3の文字の中のバー単位モジュールの既知数で割って、第3 の平均単位バー・モジュール幅を計算し、ステップ(o)〜(r)を続行するス テップと、 (o)前記第3の文字のスペース幅の合計を、前記第3の文字の中のスペース単 位モジュールの既知数で割って、前記第3の平均単位スペース・モジュール幅を 計算するステップと、 (p)前記移動平均単位バー・モジュール幅に対する前記第3の平均単位バー・ モジュール幅の比率が1:1の所定の許容差内にあり、前記移動平均単位スペー ス・モジュール幅に対する前記第3の平均単位スペース・モジュール幅の比率が 1:1の所定の許容差内にある場合は、前記第3の文字の解読を受理するステッ プと、 (q)前記第3の平均と前記移動平均との比率が、前記所定の許容差外にある場 合は、解読ミスとして前記第3の文字にマークを付けるステップと、 (r)前記第3の文字の解読が受理される場合は、前記第3および前記移動平均 の単位バー・モジュール幅の更新移動平均と、前記第3および前記移動平均の単 位スペース・モジュール幅の更新移動平均とを計算するステップと、 に従って文字を解読する実行命令をさらに有する請求の範囲第12項記載の計算 装置(31)。 14.前記バーコードにおける第4および後続する全ての文字に対してステップ (l)〜(r)を繰り返し、受理された文字、解読ミスの文字、解読不能な文字 、および最終移動平均の単位バー・モジュール幅と最終移動平均の単位スペース ・モジュール幅とを得るステップに従って文字を解読する実行命令をさらに有す る請求の範囲第13項記載の計算装置。

Claims (1)

  1. 【特許請求の範囲】 1.スタートコードとストップコードを含むタイプのバーコードで、前記バーコ ードの各文字がバーとスペースを有する一連の要素で表され、このような各要素 の幅が単位バー・モジュール幅または単位スペース・モジュール幅の倍数である バーコード文字解読方法であって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)前記バーコードのスタート文字またはストップ文字を解読するステップと 、 (c)前記スタート文字または前記ストップ文字のバー幅の合計を、前記スター ト文字または前記ストップ文字の中のバー単位モジュールの既知数で割って、第 1の平均単位バー・モジュール幅を計算するステップと、 (d)前記スタート文字または前記ストップ文字のスペース幅の合計を、前記ス タート文字または前記ストップ文字の中のスペース単位モジュールの既知数で割 って、第1の平均単位スペース・モジュール幅を計算するステップと (e)前記バーコードの第2の文字を解読するために試行するステップと、 (f)前記第2の文字を解読するための試行が失敗の場合は、解読不能として、 前記第2の文字にマークを付けるステップと、 (g)前記第2の文字を解読するための試行が成功の場合は、前記第2の文字の 前記バー幅の合計を、前記第2の文字の中のバー単位モジュールの既知数で割っ て、第2の平均単位バー・モジュール幅を計算し、ステップ(h)〜(j)を続 行するステップと、 (h)前記第2の文字の前記スペース幅の合計を、前記第2の文字の中のスペー ス単位モジュールの既知数で割って、第2の平均単位スペース・モジュール幅を 訃算するステップと、 (i)前記第1の平均単位バー・モジュール幅に対する前記第2の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記第1の平均単 位スペース・モジュール幅に対する前記第2の平均単位スペース・モジュール幅 の比率が1:1の所定の許容差内にある場合は、前記第2の文字の解読を受理す るステップと、 (j)前記比率が、前記所定の許容差外にある場合は、解読ミスとして前記第2 の文字にマークを付けるステップと、 を有するバーコード文字解読方法。 2.(k)前記第2の文字の解読が受理される場合は、前記第1および第2の平 均単位バー・モジュール幅の移動平均と、前記第1および第2の平均単位スペー ス・モジュール幅の移動平均とを計算するステップと、 (l)前記バーコードの第3の文字を解読するステップと、 (m)前記第3の文字を解読する試行が失敗である場合は、解読不能として、前 記第3の文字にマークを付けるステップと、 (n)前記第3の文字を解読する試行が成功である場合は、前記第3の文字のバ ー幅の合計を、前記第3の文字の中のバー単位モジュールの既知数で割って、第 3の平均単位バー・モジュール幅を計算し、ステップ(o)〜(r)を続行する ステップと、 (o)前記第3の文字のスペース幅の合計を、前記第3の文字の中のスペース単 位モジュールの既知数で割って、第3の平均単位スペース・モジュール幅を計算 するステップと、 (p)前記移動平均単位バー・モジュール幅に対する前記第3の平均単位バー・ モジュール幅の比率が1:1の所定の許容差内にあり、前記移動平均単位スペー ス・モジュール幅に対する前記第3の平均単位スペース・モジュール幅の比率が 1:1の所定の許容差内にある場合は、前記第3の文字の解読を受理するステッ プと、 (q)前記第3の平均と移動平均の比率が、前記所定の許容差外にある場合は、 解読ミスとして前記第3の文字にマークを付けるステップと、 (r)前記第3の文字の解読が受理される場合は、前記第3および移動平均の 単位バー・モジュール幅の更新移動平均と、前記第3および移動平均の単位スペ ース・モジュール幅の更新移動平均とを計算するステップと、 をさらに含む請求の範囲第1記載のバーコード文字解読方法。 3.前記バーコード内の、第4および全ての後続文字に対して、ステップ(l) 〜(r)を繰り返し、受理された文字、解読ミスの文字、解読不能な文字と、最 終移動平均単位バー・モジュール幅および最終移動平均単位スペース・モジュー ル幅とを結果として得るステップをさらに含む請求の範囲第2記載のバーコード 文字解読方法。 4.(s)各バー要素の幅を前記最終移動平均単位バー・モジュール幅で割ると ともに、各スペース要素の幅を前記最終移動平均単位スペース・モジュール幅で 割ることにより、一連の商を得るステップと、 (t)ステップ(s)で得られた商を、もっとも近い整数に丸めるステップと、 (u)ステップ(t)の一連の整数を解読して、1つの新規文字を得ろステップ と、 (v)前記1文字のバー幅の合計を、前記新規文字中のバー単位モジュールの既 知数で割って新規文字の平均単位バー・モジュール幅を計算するステップと、 (w)前記1文字のスペース幅の合計を、前記新規文字中のスペース単位モジュ ールの既知数で割って新規文字の平均単位スペース・モジュール幅を計算するス テップと、 (x)最終移動平均単位バー・モジュール幅に対する前記新規文字の平均単位バ ー・モジュール幅の比率が1:1の所定の許容差内にあり、最終平均単位スペー ス・モジュール幅に対する前記新規文字の平均単位スペース・モジュール幅の比 率が1:1の所定の許容差内にある場合は、前記新規文字として、前記1文字の 解読を受理するステップと、 により、前記マークの付けられた解読不能または解読ミスの文字の1つを再解読 することをさらに含む請求の範囲第3項記載のバーコード文字解読方法。 5.ステップ(u)における前記一連の整数から解読された前記新規文字が、以 前に解読され受理されなかった文字と同一である場合は、前記文字を受理するこ とをさらに含む請求の範囲第4項記載のバーコード文字解読方法。 6.ステップ(u)における前記新規文字を解読する前に、前記一連の整数の合 計が、前記新規文字におけるモジュールの既知総数に等しいかどうか判定するこ とをさらに含む請求の範囲第4項記載のバーコード文字解読方法。 7.ステップ(b)でスタートコードまたはストップコードの一方を解読し、 前記スタートコードまたは前記ストップコードの他方に遭遇する前に、所定の 基準を満たす不良部位に遭遇するまで、ステップ(l)〜(r)を繰り返し、 前記バーコードの反対の端の前記スタートコードまたは前記ストップコードの 他方を解読し、 前記スタートコードまたは前記ストップコードの他方から前記不良部位に向け て、ステップ(l)〜(r)を繰り返す、 ことを含む請求の範囲第3項記載のバーコード文字解読方法。 8.バーコードが、ある順序のいくつかの文字を含み、それらの各文字が、複数 のタイプの一連の要素で表され、この一連の要素中の各要素の幅が、前記要素の タイプに対応する単位モジュール幅に対して複数の一定比率のうちの1つであり 、前記複数の一定比率が特定種類のバーコードで決定される、特定種類のバーコ ード解読方法であって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)前記幅の値を、前記バーコード中の文字の順序に対応する順序セットに分 類するステップと、 (c)前記ステップ(b)から得られた順序セットの中から初期設定文字を見 つけるステップと、 (d)前記特定種類のバーコードを決定するステップと、 (e)各要素タイプに対応する平均単位モジュール幅を決定するステップと、 (f)次の順番の順序セット中の前記幅の値を、前記特定種類のバーコード用の 標準文字値のテーブルと比較し、 (f)(i)一致が見出されない場合は、解読不能として、前記順序セットに マークを付けるステップと、 (f)(ii)一致が見出される場合は、前記順序セット中の前記幅の値に比率 解析を受けさせ、 前記比率解析が不成功の場合は、解読ミスとして、前記順序セットにマークを 付けるステップと、 前記比率解析が成功の場合は、各要素タイプに対応する前記平均単位モジュー ル幅を更新するステップと、 (g)マークが付された文字の前記要素の前記幅を、適切な前記平均単位モジュ ール幅で割って得られた一連の整数に、標準解読法を適用して、マークが付され た前記文字を再解読するステップと、 を含む特定種類のバーコード解読方法。 9.前記比率解析が、 (h)前記次の順序セットに基づいて、現時の単位モジュール幅を計算するステ ップと、 (i)前記現時の単位モジュール幅を、前記平均単位モジュール幅と比較するス テップと、 (j)前記ステップ(i)の比較結果がほぼ1:1の比率である場合は、比率解 析成功を宣言するステップと、 を含む請求の範囲第8項記載の特定種類のバーコード解読方法。 10.少なくとも1つの順序セットが解読不能または解読ミスとしてマークが 付けられ、このようにマークが付けられた順序セットのすべてがマーク付きセッ トと呼ばれるものであって、 (k)マーク付きセット中の前記要素のそれぞれの前記幅の値を、前記要素タイ プに対応する前記平均単位モジュール幅で割るステップと、 (l)ステップ(k)で得られた商を、もっとも近い整数値に丸めるステップと 、 (m)前記整数値の合計を、前記マーク付きセットで表された1文字中のモジュ ールの前記既知数に等しくするために前記整数値を調整するステップと、 をさらに含む請求の範囲第9項記載の特定種類のバーコード解読方法。 11.前記整数値を調整する前記ステップ(m)が、 (n)前記マーク付きセットに対して、前記ステップ(l)で決定された前記整 数を合計するステップと、 (o)前記ステップ(n)で得られた前記合計が、この種のバーコードに適正な 合計であるかどうか判定するステップと、 (p)もしそうでなければ、信頼度解析により1要素を選択して、前記信頼度解 析の結果に従って、選択要素中の単位モジュールの数を調整するステップと、 を含む請求の範囲第10項記載の特定種類のバーコード解読方法。 12.前記信頼度解析が、 (q)バー用の固有パリティが、ステップ(m)で決定された前記整数値で満た されるかどうか判定し、もし満たされれば、バー要素の数の調整を回避するため の高信頼度値を設定するステップと、 (r)スペース用の固有パリティが、ステップ(m)で決定された前記整数値で 満たされるかどうか判定し、もし満たされれば、スペース要素の数の調整を回避 するための高信頼度値を設定するステップと、 (s)前記バーコードが複数幅のバーコードである場合は、前記バーコードの最 端の要素に対して高信頼度を設定するステップと、 (t)最低信頼度値を有する要素に対して、モジュール数が以前に切り捨てられ た場合はモジュール数を増やし、モジュール数が以前に切り上げられた場合はモ ジュール数を減らすステップと、 (u)ステップ(t)で前記モジュール数が調整されない場合は、前記ステップ (o)が満たされるまで、またはすべての前記要素の前記モジュール数が調整さ れるまで、ステップ(t)の方法をさらに高い信頼度を有する次の要素に適用す るステップと、 を含む請求の範囲第11項記載の特定種類のバーコード解読方法。 13.スタートコードとストップコードを含むタイプのバーコードで、前記バー コードの各文字が、バーとスペースを有する一連の要素で表され、このような各 要素の幅が単位バー・モジュール幅または単位スペース・モジュール幅の倍数で あるバーコードの文字を解読するための実行命令を有する計算装置であって、 (a)バーコードを走査して、走査で遭遇する各要素の幅に、ある値を割り当て るステップと、 (b)バーコードのスタート文字またはストップ文字を解読するステップと、 (c)前記スタート文字または前記ストップ文字のバー幅の合計を、前記スター ト文字または前記ストップ文字の中のバー単位モジュールの既知数で割って、第 1の平均単位バー・モジュール幅を計算するステップと、 (d)前記スタート文字または前記ストップ文字のスペース幅の合計を、前記ス タート文字または前記ストップ文字の中のスペース単位モジュールの既知数で割 って、第1の平均単位スペース・モジュール幅を計算するステップと (e)バーコードの第2の文字を解読するために試行するステップと、 (f)前記第2の文字を解読する試行が失敗する場合は、解読不能として前記第 2の文字にマークを付けるステップと、 (g)前記第2の文字を解読する試行が成功する場合は、前記第2の文字の前記 バー幅の合計を、前記第2の文字の中のバー単位モジュールの既知数で割っ て、第2の平均単位バー・モジュール幅を計算し、ステップ(h)〜(j)を続 行するステップと、 (h)前記第2の文字の前記スペース幅の合計を、前記第2の文字の中のスペー ス単位モジュールの既知数で割って、第2の平均単位スペース・モジュール幅を 計算するステップと、 (i)前記第1の平均単位バー・モジュール幅に対する前記第2の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記第1の平均単位ス ペース・モジュール幅に対する前記第2の平均単位スペース・モジュール幅の比 率が1:1の所定の許容差内にある場合は、前記第2の文字の解読を受理するス テップと、 (j)前記比率が、前記所定の許容差外にある場合は、解読ミスとして前記第2 の文字にマークを付けるステップと、 に従う計算装置。 14.(k)前記第2の文字の解読が受理される場合は、前記第1と前記第2の 平均単位バー・モジュール幅の移動平均と、前記第1と前記第2の平均単位スペ ース・モジュール幅の移動平均とを計算するステップと、 (l)前記バーコードの第3の文字を解読するステップと、 (m)前記第3の文字を解読する試行が失敗する場合は、解読不能として前記第 3の文字にマークを付けるステップと、 (n)前記第3の文字を解読する試行が成功する場合は、前記第3の文字のバー 幅の合計を、前記第3の文字の中のバー単位モジュールの既知数で割って、第3 の平均単位バー・モジュール幅を計算し、ステップ(o)〜(r)を続行するス テップと、 (o)前記第3の文字のスペース幅の合計を、前記第3の文字の中のスペース単 位モジュールの既知数で割って、前記第3の平均単位スペース・モジュール幅を 計算するステップと、 (p)前記移動平均単位バー・モジュール幅に対する前記第3の平均単位バー ・モジュール幅の比率が1:1の所定の許容差内にあり、前記移動平均単位スペ ース・モジュール幅に対する前記第3の平均単位スペース・モジュール幅の比率 が1:1の所定の許容差内にある場合は、前記第3の文字の解読を受理するステ ップと、 (q)前記第3の平均と前記移動平均との比率が、前記所定の許容差外にある場 合は、解読ミスとして前記第3の文字にマークを付けるステップと、 (r)前記第3の文字の解読が受理される場合は、前記第3および前記移動平均 の単位バー・モジュール幅の更新移動平均と、前記第3および前記移動平均の単 位スペース・モジュール幅の更新移動平均とを計算するステップと、 に従って文字を解読する実行命令をさらに有する請求の範囲第13項記載の計算 装置。 15.前記バーコードにおける第4と、後続する全ての文字に対してステップ( l)〜(r)を繰り返し、受理された文字、解読ミスの文字、解読不能な文字、 および最終移動平均の単位バー・モジュール幅と最終移動平均の単位スペース・ モジュール幅とを得るステップに従って文字を解読する実行命令をさらに有する 請求の範囲第14項記載の計算装置。
JP10525558A 1996-12-04 1997-10-01 モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置 Expired - Fee Related JP3115003B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US759,402 1996-12-04
US08/759,402 1996-12-04
US08/759,402 US5767497A (en) 1996-12-04 1996-12-04 Method and apparatus for decoding bar code symbols using ratio analysis of module size
PCT/US1997/017845 WO1998025225A1 (en) 1996-12-04 1997-10-01 Method and apparatus for decoding bar code symbols using ratio analysis of module size

Publications (2)

Publication Number Publication Date
JP2000509537A true JP2000509537A (ja) 2000-07-25
JP3115003B2 JP3115003B2 (ja) 2000-12-04

Family

ID=25055511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10525558A Expired - Fee Related JP3115003B2 (ja) 1996-12-04 1997-10-01 モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置

Country Status (9)

Country Link
US (1) US5767497A (ja)
EP (1) EP0943132B1 (ja)
JP (1) JP3115003B2 (ja)
AT (1) ATE210861T1 (ja)
CA (1) CA2267892C (ja)
DE (1) DE69709165T2 (ja)
DK (1) DK0943132T3 (ja)
ES (1) ES2169875T3 (ja)
WO (1) WO1998025225A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097711A1 (fr) * 2001-05-25 2002-12-05 Optoelectronics Co., Ltd. Appareil de lecture d'informations optique

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513714B1 (en) 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in 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
US6561427B2 (en) * 1998-09-14 2003-05-13 Psc Scanning, Inc. Decoding system and methods in a 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
JP3510496B2 (ja) * 1998-09-28 2004-03-29 富士通株式会社 バー幅補正装置,バー幅補正方法,バーコード読取装置及びそのバーコード復調方法
US6164542A (en) * 1998-11-03 2000-12-26 Intermec Ip Corp. Method and apparatus for decoding unresolved symbol profiles produced from a reduced data set
US6666377B1 (en) 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US6616044B1 (en) * 2002-10-04 2003-09-09 Ncr Corporation Methods and apparatus for obtaining imaging information in bar code scanners
JP4202101B2 (ja) * 2002-10-10 2008-12-24 富士通株式会社 バーコード認識方法、および認識用デコード処理装置
JP4070631B2 (ja) * 2003-02-21 2008-04-02 富士通株式会社 バーコード読取装置およびバーコード読取方法
JP4213490B2 (ja) * 2003-02-21 2009-01-21 富士通株式会社 バーコード読取装置
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
JP4254724B2 (ja) * 2005-02-16 2009-04-15 株式会社デンソーウェーブ バーコード読取り方法及びコンピュータプログラム
US8108176B2 (en) * 2006-06-29 2012-01-31 Cognex Corporation Method and apparatus for verifying two dimensional mark quality
US8169478B2 (en) * 2006-12-14 2012-05-01 Cognex Corporation Method and apparatus for calibrating a mark verifier
US8196836B2 (en) * 2007-06-28 2012-06-12 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method and computer-readable medium
JP4871841B2 (ja) * 2007-11-08 2012-02-08 キヤノン株式会社 印刷制御装置および印刷制御方法ならびにそのプログラムおよび記憶媒体
US9734376B2 (en) 2007-11-13 2017-08-15 Cognex Corporation System and method for reading patterns using multiple image frames
KR20110040108A (ko) * 2009-10-13 2011-04-20 삼성전자주식회사 화상형성장치 및 화상형성장치의 문서 관리방법
US8792748B2 (en) 2010-10-12 2014-07-29 International Business Machines Corporation Deconvolution of digital images
CN114091495B (zh) * 2021-11-29 2022-08-05 深圳市智百威科技发展有限公司 一种条形码识别扫描系统及方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5520585A (en) * 1978-07-31 1980-02-14 Sharp Corp Demodulating system for bar-code signal
US4608489A (en) * 1984-06-04 1986-08-26 International Business Machines Corporation Method and apparatus for dynamically segmenting a bar code
US4578570A (en) * 1984-08-14 1986-03-25 Ncr Canada Ltd.-Ncr Canada Ltee Bar code processing apparatus
US5675137A (en) * 1986-04-18 1997-10-07 Cias, Inc. Bar code decoding using moving averages to break the (n,k) code barrier for UPC, EAN Code 128 and others
US4873426A (en) * 1988-08-03 1989-10-10 Image Business Systems Corporation Technique for reading bar codes
US5635697A (en) * 1989-03-01 1997-06-03 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
US5337361C1 (en) * 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
JP2738098B2 (ja) * 1990-01-08 1998-04-08 株式会社デンソー 光走査装置
EP0449634B1 (en) * 1990-03-28 1997-07-16 Omniplanar, Inc. Omnidirectional bar code reader
JPH0448392A (ja) * 1990-06-18 1992-02-18 Fujitsu Ltd バーコード読み取り装置
US5608200A (en) * 1990-09-28 1997-03-04 Symbol Technologies, Inc. Method of collecting and adjusting bar code data from a laser bar code reader
CA2086830A1 (en) * 1991-05-10 1992-11-11 Fukashi Kaneko Bar code reader and game device using the same
JPH0612516A (ja) * 1992-04-24 1994-01-21 Nippondenso Co Ltd バーコード読取り装置
US5329105A (en) * 1992-08-10 1994-07-12 United Parcel Service Of America, Inc. Method and apparatus for determining the width of elements of bar code symbols
US5343028A (en) * 1992-08-10 1994-08-30 United Parcel Service Of America, Inc. Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
JPH06274674A (ja) * 1993-03-19 1994-09-30 Fujitsu Ltd バーコード読取方法およびバーコード読取装置
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
US5468946A (en) * 1994-04-29 1995-11-21 Eastman Kodak Company Method and apparatus for decoding multi-level bar codes or bi-level bar codes
US5553084A (en) * 1995-01-06 1996-09-03 Intermec Corporation Error correction enhancement for code one and other machine-readable symbologies
US5539191A (en) * 1995-06-22 1996-07-23 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles using edge finding circuitry

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097711A1 (fr) * 2001-05-25 2002-12-05 Optoelectronics Co., Ltd. Appareil de lecture d'informations optique

Also Published As

Publication number Publication date
EP0943132B1 (en) 2001-12-12
JP3115003B2 (ja) 2000-12-04
DK0943132T3 (da) 2002-04-15
WO1998025225A1 (en) 1998-06-11
DE69709165T2 (de) 2002-07-18
EP0943132A1 (en) 1999-09-22
CA2267892C (en) 2002-09-10
ES2169875T3 (es) 2002-07-16
DE69709165D1 (de) 2002-01-24
CA2267892A1 (en) 1998-06-11
US5767497A (en) 1998-06-16
ATE210861T1 (de) 2001-12-15

Similar Documents

Publication Publication Date Title
JP2000509537A (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
EP0431264B1 (en) Method and apparatus for decoding bar codes from multiple scans
CA2282764C (en) System and method for ocr assisted bar code decoding
US6585157B2 (en) Symbology determination to aid decoding in a bar code scanning system
EP1086439B1 (en) Techniques for reading postal codes
EP1016027B1 (en) Distortion resistant double-data correcting color transition barcode and method of generating and using same
US4879456A (en) Method of decoding a binary scan signal
US6454168B1 (en) Correlation and stitching techniques in a bar code scanning system
JPH0612515A (ja) Ccd/cmdカメラを使用して二次元バーコードを復号する方法及び装置
EP0613575A4 (en) Scanning device for reconstructing a complete code from scanned segments.
US7305131B2 (en) Extracting graphical bar codes from an input image
US9070033B2 (en) Stack barcode reader and stack barcode reading method
US6561427B2 (en) Decoding system and methods in a bar code scanning system
US20060043189A1 (en) Method and apparatus for determining the vertices of a character in a two-dimensional barcode symbol
CN103339641B (zh) 一种用于解码二维光学代码的方法
US6330972B1 (en) Error correction enhancement for code 93i and other machine-readable symbologies
US10460142B2 (en) Barcode identification method for improving decoding reliability by correcting image distortion
US6494376B1 (en) Compensation for scan line variations in a bar code scanner system
EP2088533A1 (en) Apparatus and methods for decoding digital codes
EP2275966B1 (en) Method for enhancing the decodability of label information from scans of label data
US6478224B1 (en) Symbology-independent method and apparatus for identifying potential bar code data
JP2971636B2 (ja) バーコードシンボル読取装置
JP2949958B2 (ja) バーコード読取装置
JPH06337954A (ja) バーコードデコーダのデコード方法
JP3002601B2 (ja) バーコード読取装置

Legal Events

Date Code Title Description
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

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

Free format text: PAYMENT UNTIL: 20080929

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080929

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees