JPH09512936A - ピクセル・イメージのバーコード・シンボルを読取る方法および装置 - Google Patents

ピクセル・イメージのバーコード・シンボルを読取る方法および装置

Info

Publication number
JPH09512936A
JPH09512936A JP8508683A JP50868396A JPH09512936A JP H09512936 A JPH09512936 A JP H09512936A JP 8508683 A JP8508683 A JP 8508683A JP 50868396 A JP50868396 A JP 50868396A JP H09512936 A JPH09512936 A JP H09512936A
Authority
JP
Japan
Prior art keywords
symbol
bar
width
space
bar code
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
JP8508683A
Other languages
English (en)
Other versions
JP2832645B2 (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 JPH09512936A publication Critical patent/JPH09512936A/ja
Application granted granted Critical
Publication of JP2832645B2 publication Critical patent/JP2832645B2/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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • 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/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
    • 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/1465Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 この発明のバーコード・シンボル読取り装置は、各キャラクタのスペースと各キャラクタのバーを互に無関係に分析することによって1度に1キャラクタの割合でバーコード・シンボルをデコードする。この読取り装置は各スペースおよびバーの幅を決定し、次いでスペースの幅に基づいてスペース幅スレッショルドを決定し、バーの幅に基づいてバー幅スレッショルドを決定する。次いで、この読取り装置は、各スペースをスペース幅スレッショルドと比較することにより上記各スペースが狭いか広いかのいずれかに分類し、同様に各バーをバ一幅スレッショルドと比較することにより上記各バーが狭いか広いかのいずれかに分類し、次いでこの狭い/広いの分類に従ってキャラクタをデコードする。

Description

【発明の詳細な説明】 個別のバーおよびスペース分析を使用したバーコード・シンボル をデコードする方法および装置 発明の背景 発明の属する技術分野 本発明は、イメージ処理に関するものであり、特にピクセル・イメージの形式 のバーコード・シンボルの位置を求め(locate)且つデコード(解読)する方法 および装置に関するものである。 関連する技術の説明 一次元レーザー走査システムを使用したバーコード・シンボルの読取りはよく 知られている。二次元ピクセル・イメージの形のバーコード・シンボルの位置を 求め且つデコード(解読)するイメージ処理装置はそれ程知られていない。バー コード・シンボルをデコードするには、端縁部(エッジ)がバーコード・シンボ ル内のバーからスペースへの遷移(transition)あるいはスペースからバーへの 遷移に対応する場合は、端縁部と端縁部との間の距離を正確に測定する必要があ る。 ファクシミリ級の品質のイメージ、すなわちファクシミリ装置やそれに類する 装置によって発生されたバーコード・シンボルのイメージ形式の高密度バーコー ド・シンボルを読み取ることは特に困難である。ファクシミリ装置によって発生 されたイメージ形式のバーコード・シンボルの位置を求め且つデコードすること ができるバーコード読取り装置(バーコード・リーダー)はスキャナやカメラの ような他の任意のイメージ・ソースによって発生されたイメージ形式のバーコー ド・シンボルの読取りにも適応できるものでなければならない。 発明の概要 本発明の好ましい実施例では、本発明はキャラクタ(文字、数字、図形、記号 等)が1あるいはそれ以上のスペースと1あるいはそれ以上のバーとからなる、 バーコード・シンボルの形式のキャラクタをデコードするための方法および装置 である。この実施例では、スペースの幅とバーの幅を決定するためにシンボルが 走査される。スペース幅スレッショルドがバー幅スレッショルドと異なって要る 場合は、スペース幅スレッショルドはスペースの幅に従って決定され、バー幅ス レッショルドはバーの幅に従って決定される。各スペースはスペース幅スレッシ ョルドと比較され、各バーはバー幅スレッショルドと比較される。次いでこれら の比較に従ってキャラクタがデコードされる。 図面の簡単な説明 図1は本発明の好ましい実施例によるバーコード・シンボル読取りシステムの 機能的ブロック図である。 図2はピクセル・イメージ形式のバーコード・シンボルの位置を決定するため に図1のシステムのシンボル・ロケータ(記号の位置を求める装置)によって実 行される処理の流れを示すブロック図である。 図3は2進イメージ形式の候補(candidate)バーコード・シンボルの位置を求 めるために図2のシンボル・ロケータによって実行される処理の流れを示すブロ ック図である。 図4は図2のシンボル・ロケータによって位置が求められたバーコード・シン ボルのイメージを示す図である。 図5は後方部のバーが2つのセグメントに切断されているバーコード・シンボ ルのイメージを示す図である。 図6はバーコード・シンボルのコンポジット信号(複合信号)を発生させるた めの図1のシステムのコンポジット信号発生器の好ましい実施例によって実行さ れる低速法の流れを示すブロック図である。 図7は、サンプルの長方形全体にわたってシンボルが図1のシステムのコンポ ジット信号発生器および傾斜(gradient)信号発生器によって分析される上記サン プルの長方形を示すバーコード・シンボルのイメージを示す図である。 図8は図6の低速法を実行するに当たって図1のシステムのコンポジット信号 発生器によって使用される何本かの走査線を示す図7のバーコード・シンボルの 一部分のイメージを示す図である。 図9はバーコード・シンボルのコンポジット信号を発生するための図1のシス テムのコンポジット信号発生器の好ましい実施例によって実行される高速法の流 れを示すブロック図である。 図10は図9の高速法を実行するに当たって図1のシステムのコンポジット信 号発生器によって使用される走査線を示す図7のバーコード・シンボルのイメー ジを示す図である。 図11はバーコード・シンボルのコンポジット信号をスレッショルド処理する ために図1のシステムのコンポジット信号スレッショルダ(thresholder)によっ て実行される処理の流れを示すブロック図である。 図12はスプリアスなバーをもったバーコード・シンボルの一部の2進表示を 示す図である。 図13はスプリアスなバーあるいはスプリアスなスペースのいずれかをもった バーコード・シンボルの一部の2進表示を示す図である。 図14は、コード39バーコード・シンボルのキャラクタをデコードするため に図1のシステムのコンポジット信号デコーダによって実行される処理の流れを 示すブロック図である。 図15はバーコード・シンボル用の白色化(whitening)および黒色化(black wning)傾斜(gradirnt)信号を発生させるための図1のシステムの傾斜信号発 生器によって実行される処理の流れを示すブロック図である。 図16は白色化および黒色化傾斜信号を処理するための図1のシステムの傾斜 信号プロセッサによって実行される処理の流れを示すブロック図である。 発明の詳細な説明 図1を参照すると、これには本発明の好ましい実施例によるバーコード・シン ボル読取りシステム100の機能的ブロック図が示されている。システム100 は二次元ピクセル・イメージ形式の未知の位置および方向をもったバーコード・ シンボルの位置を求め且つデコード(解読)する。システム100は2進イメー ジあるいはグレースケール・イメージのいずれかの形式のバーコード・シンボル の位置を求め且つデコードするように設計されている。 システム100のデータ入力102はピクセル・イメージ用のデータを受信し 、シンボル・ロケータ104はピクセル・イメージの形で含まれているバーコー ド・シンボルの位置を求める。システム100は2つの並列処理によってピクセ ル・イメージ形式の各位置が求められたバーコード・シンボルをデコードするよ うにされているのが望ましい。 1つの処理によれば、コンポジット信号発生器106はバーコード・シンボル に対応するコンポジット信号を発生する。次に、コンポジット信号スレッショル ダ108はコンポジット信号のスレッショルド(閾値)を決定し、濾波してこの コンポジット信号に対応する2進信号を生成する。次いで、コンポジット信号デ コーダ110は2進信号をデコードすることによりバーコード・シンボルをデコ ード(解読)する。コンポジット信号デコーダ110がバーコード・シンボルを デコードするのに成功すると、該信号デコーダ110はデコードされた信号を出 力セレクタ118に転送する。それ以外の場合は、信号デコーダ110はデコー ドが不成功であったことを表わす信号を出力セレクタ118に転送する。 位置が求められた各バーコード・シンボルをデコードする他の処理に従って、 傾斜信号発生器112は位置が求められたバーコード・シンボルから2個の傾斜 信号を発生する。傾斜信号プロセッサ114は2個の傾斜信号を処理して2進の 再構成された信号を発生する。次いで、傾斜信号デコーダ116は上記再構成さ れた信号をデコードすることによりバーコード・シンボルをデコードする。傾斜 信号デコーダ116がバーコード・シンボルをデコードするのに成功すると、該 デコーダ116はデコードされた信号を出力セレクタ118に転送する。それ以 外の場合は傾斜信号デコーダ116はデコードが不成功であったことを表わす信 号を出力セレクタ116に転送する。 好ましい実施例では、コンポジット信号デコーダ110と傾斜信号デコーダ1 16は、コンポジット信号スレッショルダ108、傾斜信号プロセッサ114か らそれぞれ受信された2進信号に関して同じデコーディング・アルゴリズムを実 行する。 出力セレクタ118は信号デコーダ110および116からデコードされた信 号を受信し、適当な出力を選択してこれをデータ出力120に転送する。信号デ コーダ110と116のいずれか一方あるいは双方がバーコード・シンボルをデ コードするのに成功すると、出力セレクタ118はデコードされた信号をデータ 出力120に転送する。それ以外の場合は、バーコード・シンボルはデコードさ れなかったことになり、出力セレクタ118は適当な信号をデータ出力120に 転送する。 バーコード・シンボルの位置を求める 図2を参照すると、これにはシステム100のシンボル・ロケータ104によ って実行される処理の流れを示すブロック図が示されている。シンボル・ロケー タ104は、シンボルのバーとスペースとの間の最少の遷移(transition)数が 後続するバーコード・シンボルの静止区域(quiet zone)をサーチすることによ ってピクセル・イメージ形式のバーコード・シンボルの位置を求める。ピクセル ・イメージ形式のバーコード・シンボルの各終端部には静止区域と称される明る いピクセルの領域が存在する。シンボル自体は明るいスペースによって分離され た一連の暗いバーによって構成されている。 好ましい実施例によれば、シンボル・ロケータ104の手段202はピクセル ・イメージ中の新しいサーチ・ライン(search line)を選択する。サーチ・ラ インはピクセル・イメージの行あるいは列のいずれかからなる。手段202は、 1992年8月10日付けで「バーコード・シンボルを検出しデコードする方法 および装置(Method and Apparatus for Detecting and Decoding Bar Code Sym bols)」という名称で出願された米国特許出願 No.07/927,910号明細書中に開示 されているような2進サーチを使用してサーチ・ラインを選択する。上記米国特 許出願は本願と同じ譲受人が保有しており、本明細書中でその開示内容全体が参 照されている。2進サーチを使用したサーチ・ラインを選択するのに適当な装置 は、上記米国特許明細書中の「バーコード・シンボルの検出およびデコーディン グ(Detecting and Decoding Bar Code Symbols)」の項で詳細に説明されている 。−般的に云えば、バーコード・シンボルは通常ピクセル・イメージ形式で多数 の行と列に跨がっているので、手段202は処理が進行するにつれて細かくなる 広いパターンを使用した一連の行を選択することが好ましい。 表Iは、例えば2048の列と4096の行とを有するピクセル・イメージ形 式の行を選択(あるいは同等の列を選択)するための好ましいシーケンスを示す 。好ましいシーケンスでは、サーチ・ラインとしての行の選択はステップの大き さが64で行番号64からスタートする。行(64、128、192、・・・・ 4032、4096)を選択したのち、シーケンスは同じ64の行ステップの大 きさで行番号32に戻る。選択は表Iに示すように継続される。行(4、12、 20、・・・4084、4092)を選択したのち、全体のシーケンスはいずれ の行も2回繰り返すことなくイメージ中の選択された4番目毎の行を保有するこ とになる。 代表的に表Iに示すような行をサーチする選択シーケンスによりシステム10 0の速度および効率を向上させることができる。このようなシーケンスは処理さ れるべきピクセル・イメージの特性に依存して変化する可能性のあることは当業 者には明らかである。 好ましい実施例では、ピクセル・イメージが既知の数のバーコード・シンボル を含んでおれば、必要な数のバーコード・シンボルの位置が求められ、デコード されたのちサーチのシーケンスが終了する。さらに、システム100は既に位置 が求められ且つデコードされたバーコード・シンボルを含むイメージの領域のト ラックを保持することが好ましい。シンボル・ロケータ104は既に処理された これらの領域を無視することが望ましい。 手段204はピクセル・イメージの 開始端からの候補(cabdidate あるいは潜在的)バーコード・シンボルに対する 選択されたサーチ・ラインに沿ってサーチを開始する。ピクセル・イメージ中で 発見されることが期待されるバーコード・シンボルが既知の最短の長さをもって 要る場合は、手段204は各選択されたサーチ・ラインの全体の長さをサーチし ないことが望ましい。システム100は“全”バーコード・シンボルのみをデコ ードするので、手段204はサーチ・ラインの停止端に隣接する各選択されたサ ーチ・ラインの部分を無視することが望ましい。無視される各サーチ・ラインの 部分は最短の期待されるにバーコードまでの距離に対応している。 手段204は、候補バーコード・シンボルを、(期待されるバーとスペースと の間の遷移に対応する)“明”と“暗”のピクセル間の一連のN2の遷移が後続 する(期待される静止区域に対応する)連続する一連のN1の“明るい”ピクセ ルとして認識する。ここで、N1およびN2はそれぞれ第1および第2の指定さ れたスレッショルドである。 手段204は2進イメージあるいはグレースケール・イメージのいずれかの形 で候補バーコード・シンボルをサーチする。2進イメージでは明るいピクセルは 値1をもつものとして定義され、暗いピクセルは値0をもつものと定義される。 グレースケールのイメージでは、第3のスレッショルドよりも大きな値をもった ピクセルは明るいピクセルであると定義され、それ以外の場合は暗いピクセルで あると定義される。 手段204は、先ず候補バーコード・シンボルの静止区域をサーチすることに よって機能する。手段204は、選択されたサーチ・ラインに沿って連続する一 連のN1個の明るいピクセルを発見したとき、候補バーコード・シンボルの静止 区域を検出する。一旦候補バーコード・シンボルの静止区域が検出されると、手 段204は次に一連のN2個の明/暗の遷移に対する選択されたサーチ・ライン に沿ってサーチする。ここで、各明/暗の遷移は候補バーコード・シンボル中の バーの端縁部(すなわち、シンボルのバーとスペースとの間の遷移)に対応する 。“明/暗の遷移”の用語は、明から暗への遷移、暗から明への遷移の双方を総 合して表わしている。 候補静止区域に続く最初の暗いピクセルの位置を求めたのち、暗いピクセルが システム100によって既に位置が求められ且つデコードされたバーコード・シ ンボル中に含まれているか否かをチェックする。もし含まれていると、その候補 バーコード・シンボルは既に処理されているから除去される。 さらに、明/暗の遷移数をカウントしている間に、手段204は各候補バーお よびスペースの幅をチェックする。もし、いずれかの候補バー/スペースの幅が 広すぎると(すなわち、指定された最大のバー/スペースのスレッショルドを超 過すると)、そのときは候補シンボルは除去され、候補バーコード・シンボルの 静止区域に対する新しいサーチが開始される。 選択されたサーチ・ラインに沿った候補バーコード・シンボルの位置を求めた のち(すなわち、最少数の候補バーコードおよびスペースが後続する候補静止区 域の位置を求めたのち)、手段204は静止区域のサーチを繰返し、ピクセル・ イメージ中の1あるいはそれ以上の隣接する列/行に沿うバー/スペースの遷移 をカウントを繰り返すことによって候補シンボルを確認(verify:ベリファイ) する。 2進イメージのバイト基準(Byte-Based)サーチ 次に図3を参照する。同図にはピクセル・イメージが2進イメージである場合 の候補バーコード・シンボルの位置を求めるためのシンボル・ロケータ104の 手段204によって実行される処理のフローチャートがブロックの形で示されて いる。2進イメージでは各ピクセルは単一のビットによって表わされる。ここで は、例えば、“1”は明るいピクセルに対応し、“0”は暗いピクセルに対応す る。好ましい実施例では、手段204は静止区域に対するバイト基準(byte-bas ed)サーチを実行し、バー/スペース遷移のバイト基準カウントを実行する。こ こで、ピクセル・イメージ中の8個の連続する2進ピクセルはイメージ・データ の単一バイトとして取り扱われる。 手段302は選択されたサーチ・ラインに沿って1度に1バイトの割合でサー チを行なう。候補静止区域中に位置する8個のピクセルすべてに対応するバイト は、一般にすべてが1に等しい8個のビット(すなわちピクセル)をもっている 。従って、最少の静止区域長が32ピクセルに等しいる場合は、静止区域を通過 するサーチ・ラインは、すべてが1に等しい少なくとも3個の連続するバイトを もっている。手段302が3個の連続する静止区域バイト(すなわち、すべてが 1)を検出すると、そのときは候補静止区域の位置が求められ、手段304は手 段306へ続く処理を指令する。手段302が上記静止区域バイトを検出しない と、処理は手段302へ戻され、候補静止区域に対するバイト基準サーチを継続 する。 手段306は候補バーコード・シンボルにおけるバー/スペース遷移のバイト 基準カウントを実行する。候補バーコード・シンボル中のバーとスペースを表わ す各バイトは、シンボルの一部における明/暗の遷移数に関する特定の情報を与 える。例えば、バイト“01100110”は4回の遷移、すなわち2回の暗か ら明への遷移(すなわち、0から1への遷移)と2回の明から暗への遷移(すな わち、1から0への遷移)を含んでいる。さらに、先のバイトからの最後のビッ トが“1”であると、先のバイトと現在のバイトとの間で明から暗への遷移が存 在する。同様に、次のバイトにおける最初のビットが“1”であれば、現在のバ イトと次のバイトとの間に暗から明への遷移が存在する。 手段306はバー/スペース遷移のバイト基準カウントを実行するために、2 つのルックアップ・テーブルを採用している。1つのテーブルは先のピクセル( すなわち、先のバイトの最後のビット)が“1”のときに使用され、他のテーブ ルは先のピクセルが“0”のときに使用される。各テーブルには256のエント リ(入口)を有し、それぞれ8ビットからなるピクセル中のあらゆる可能な組合 わせ毎に1個のエントリが対応している。 各テーブルの各エントリは次の3つの値を表わしている。 (a)先のピクセルと同じ“色”(すなわち黒か白)である先頭(左端)のピ クセル数。 (b)そのバイト中の最後のピクセルと同じ色である後端(右端)のピクセル (最後のピクセルを含む)の数。 (c)(先行するピクセルからの任意の遷移を含む)8ピクセル・バイト中の 遷移の数。 例えば、(先行ピクセル=1)のテーブルでは、バイト“01100110” は、(a)先行ピクセルと同じ色である先頭ピクセルの数として“0”、(b) 最後のピクセルと同じ色である後端ピクセルの数として“1”、(c)バイト内 の遷移の数として“5”を有している。(先行ピクセル=0)のテーブルでは、 バイト“01100110”は、(a)先行ピクセルと同じ色である先頭ピクセ ルの数として“1”、(b)最後のピクセルと同じ色である後端ピクセルの数と して“1”、(c)バイト内の遷移の数として“4”を有している。 手段306は、遷移数をカウントし、各バーとスペースの大きさを決定するた めにテーブルのエントリから引き出された値を使用する。手段306は、選択さ れたサーチ・ラインに沿う各連続するイメージ・バイトを処理するときの遷移数 の実行中のカウント値を保持する。また、手段306はその時のバー/スペース の大きさの実行中のカウント値を保持することによっていずれのバーあるいはス ペースが特定のスレッショルドを超過したか否かを決定する。手段306は2つ のテーブルから引き出された情報を使用してこれらの計算を実行する。 例えば、選択されたサーチ・ラインに沿う一連のイメージ・バイトが(“00 011011”、“01101101”、“11001100”、“00000 111”)であると仮定する。また、そのシーケンス中の最初のバイトに対する 先行するピクセルが“0”であると仮定する。最初のバイトののち、遷移数の実 行中のカウント値は3である。第2のバイトは実行中のカウント値にさらに6回 の遷移数を加算して合計9になる。第3のバイトはさらに3回の遷移数を加算し て合計12になる。第4のバイトはさらに1加算して合計13になる。 各バイトが処理されると、手段308はそのときのバー/スペースの大きさカ ウンタを連続的に増加し、モニタすることによってどのバーあるいはスペースが 広いか否かを決定する。選択されたサーチ・ラインに沿う任意所定のピクセルに 対して、この大きさカウンタは、所定のピクセルと同じ色を共有し、そのサーチ ・ラインに沿うその所定のピクセル直前の先行する連続するピクセルの数を表わ す。もし、バー/スペースの幅が指定された最大のバー/スペース幅よりも大で あれば(すなわち、大きさカウンタが指定されたスレッショルドを超えると)、 候補シンボルは除去され、手段308は処理を手段302に戻すように命令し、 候補静止区域に対するバイト基準サーチを再開させる。それ以外の場合は、処理 は手段310に続く。 上の2つの節で説明した一連のイメージ・バイトの例を再び参照すると、第1 のバイトの終了りと第2のバイトの開始との間に明から暗への色変化が存在する と、そのときのバー/スペースの大きさカウンタはそのサーチ・ラインに沿うこ の点で0にリセットされる。4番目のバイトが処理されるとき、3番目のバイト からの同じ色の後縁ピクセルの数(2)は先行ピクセルと同じ色の前縁ピクセル の数(5)だけ増加され、7個のピクセルからなるそのときのバー/スペースの 大きさが生成される。 特定の適用例で、指定された最大バー/スペース幅が5ピクセル以上であれば 、上述の説明が適用される。しかしながら、指定された最大バー/スペース幅が 5ピクセルかそれ以下であれば、その場合は特別な処理を必要とする。例えば、 最大バー幅が5ピクセルであれば、バイト“10000001”は6ピクセルの 幅のバーに対応する。この状態はそのバイトに対する2つのテーブルにおけるエ ントリを操作することによって処理できることは当業者には明らかである。例え ば、バイト“10000001”に対する両方のテーブルに蓄積された先行する ピクセルと同じ色の前縁ピクセルの数が6であると記憶されていると、上記の処 理はこの特別な状況を処理する。 各バイトが処理されると、手段310は遷移数の実行時カウントが指定された スレッショルド、例えば30を超過したか否かを決定する。もし、超過すると、 その場合は候補バーコード・シンボルは認識され、処理は手段312へ続き、超 過しない場合は、処理は手段306に戻り、バイトを基準とする遷移のカウント を継続する。 候補バーコード・シンボルが認識されると処理は手段312に達する。手段3 12は、選択された隣接するサーチ・ラインに沿う手段302乃至310のバイ ト基準静止区域のサーチならびに遷移のカウントを繰り返すことにより候補シン ボルを確認(ベリファイ)する。手段312は、元のサーチ・ラインの両側にあ る3つの平行な隣接するサーチ・ラインを選択することが望ましい。 最初のサーチ・ラインがイメージの行であれば、隣接するサーチ・ラインは2 番目、3番目の行であることが望ましい。例えば、行40が最初のサーチ・ライ ンであるとすると、手段312は6つの隣接するサーチ・ラインとして行31、 34、37、43、46および49を選択する。 手段312は、先ず最初に候補シンボルの開始に対応する最初のサーチ・ライ ンに沿うピクセルを識別することによって機能する。このピクセルは候補静止区 域に続く最初の暗ピクセルである。この最初の暗ピクセルに基づいて、手段31 2は各隣接サーチ・ラインに対するピクセル・イメージ中の開始列を選択する。 左から右に向かうサーチ・ラインに沿ってサーチが行われると、開始列は少なく とも2つの最少静止区域の長さに等しい距離だけ最初の暗ピクセルの左に位置決 めされる。例えば、元のサーチ・ラインに沿う最初の暗ピクセルが列1000で あり、また静止区域の最小寸法が32ピクセルであれば、手段312は各隣接サ ーチ・ライン中の列936でサーチを開始する。 同様に手段312は、最初の暗ピクセルから右方向に最大期待バーコード・シ ンボルに2つの最小静止区域を加算した長さに等しい距離だけ移動させることに より各隣接サーチ・ラインに対する最終列を選択する。先の例に続いて、もし最 大シンボル長が300ピクセルであれば、その場合は手段312は、各隣接サー チ・ラインの列(1000+300+64)すなわち列1364でサーチを終了 する。好ましい実施例では、6つの隣接サーチ・ラインの少なくとも3つのサー チ・ラインが同じ候補シンボルを含んでおれば候補バーコード・シンボルがベリ ファイされる。隣接サーチ・ラインが同じ候補シンボルを含むためには、この隣 接サーチ・ライン中の第1の黒ピクセルは、元のサーチ・ラインに沿う最初の黒 ピクセルを含んだ列から最小静止区域の2分の1内の列になければならない。 サーチ・ラインが列である場合も手段312は同様な選択を行うことは当業者 には明らかである。また、隣接サーチ・ラインを選択するこの好ましい処理はラ ンダムな方位のバーコード・シンボルを有するイメージを処理するようにも設計 されていることは理解できよう。バイト基準静止区域サーチおよび遷移のカウン トはバイト当たり8ビット(すなわち、ピクセル)以外のビットを有するシステ ムにおいても実行できることは当業者であれば理解できるところである。 ここで再び図2を参照すると、バーコード・シンボルの位置が求められ、ベリ ファイされると、シンボル・ロケータ104の手段206はをコーナ・ロケータ 208に処理を指令し、それ以外の場合は処理は手段214に続く。 本明細書のこの節で説明されているピクセル・イメージにおけるバーコード・ シンボルのバイト基準サーチの特定の実施例は、2進ピクセル・イメージのみの 処理に関連している。本明細書中で開示されているシステム100の特徴は2進 ピクセル・イメージあるいはグレー・スケール・ピクセル・イメージのいずれの 処理にも適用できることは当業者には明らかである。 バーコード・シンボルのコーナの位置を求める シンボル・ロケータ104のコーナ・ロケータ28は手段204によって位置 が求められたバーコード・シンボルの4隅の位置を求める。コーナ・ロケータ2 08は手段206から元のサーチ・ラインに沿う最初の暗ピクセルの座標を受取 り、コーナ発見アルゴリズムを実行する。好ましい実施例では、ロケータ208 によて実行されるコーナ発見アルゴリズムは、米国特許出願第07/927,910号の「 バーコード・シンボルの4隅の位置を求める(Locating the Four Corners of B ar Code Symbol)」というタイトルの節、およびこの節に後続する3つの節で開 示されているアルゴリズムと同様である。ここではその開示内容全体を参照して いる。 次に図4を参照する。ここには手段204によって位置が求められたバーコー ド・シンボル400のイメージが示されている。ここで、ピクセル402は元の サーチ・ラインに沿う最初の暗ピクセルである。米国特許出願第07/927,910号に 開示されているコーナ発見アルゴリズムを簡単に説明すると、次のステップから なる。 (1) バー410の終端が検出されるまで最初の暗ピクセル402からバーコ ード・シンボル400の先頭バー410の外側端406に沿って時計方向にゆっ くりと進める(crowling)。指定されたスレッショルド以上の進行方向の変化と してバーの終端が検出される。このような変化はラインに沿うよりもむしろコー ナを廻る進行に対応する。このステップによりシンボル400の左上コーナ40 8の位置が求められる。 (2) シンボル400の左下コーナ426の位置を求めるために先頭バー4 10に沿って反時計方向にゆっくりと進める。 (3) コーナ408および426から決定されたシンボル400を横切って先 頭バー410の中心ピクセル404から垂直線412を投影する。 (4) 中心ピクセル404から開始して、シンボル400の最端部における静 止区域418に向けて垂直線412に沿って左から右へサーチを行なう。 (5) シンボル400の最端部における最後の暗ピクセル420に対する静止 区域418より開始して右から左に向けて垂直線412に沿ってサーチを行なう 。 (6) シンボル400の右上コーナ416の位置を求めるために終端バー41 4の外側端422に沿って反時計方向にゆっくりと進める。 (7) シンボル400の右下コーナ424の位置を求めるために終端バー41 4に沿って時計方向にゆっくりと進める。 米国特許出願第07/927,910号に開示されているコーナ発見アルゴリズムの上記 7つのステップに加えて、上記米国特許出願には開示されていない次の追加ステ ップを実行することによって位置が求められたコーナの精度をベリファイするこ とが望ましい。 (8) 最初の暗ピクセル402とコーナ408によって特定されたライン・セ グメントと最初の暗ピクセル402とコーナ426によって特定されたライン・ セグメントが充分に共直線(co-linear)であることをベリファイする。 (9) 最後の暗ピクセル420とコーナ416によって特定されたライン・セ グメントと最後の暗ピクセル420とコーナ424とによって特定されたライン ・セグメントが充分に共直線(co-linear)であることをベリファイする。 (10) コーナ408と426によって特定されたライン・セグメントと、コー ナ416と424によって特定されたライン・セグメントが充分に平行であるこ とをベリファイする。 ステップ(8)、(9)、あるいは(10)における関連するライン・セグメントが充分 に平行でなければ、候補バーコード・シンボルは拒絶される。それぞれの傾斜の 間の差が指定されたスレッショルド内であれば、2本のライン・セグメントは充 分に平行である。ステップ(8)および(9)の関連するライン・セグメントが共通の 点(すなわち、それぞれ最初の暗ピクセル402および最後の暗ピクセル420 )を共有しているので、平行関係の試験は共直線性(co-linearity)に対する試 験と等価である。好ましい実施例では、コーナ・ロケータ208は、バーコード ・シンボル400の4つの位置が求められたコーナ408、426、416、お よび424のピクセル・イメージにおける(行、列の)座標を決定する。 位置が求められたシンボルの“平方化” コーナ・ロケータ208がバーコード・シンボルに対する4隅の位置を求める と、手段210は4隅の少なくとも1つの位置を修正する。コーナ・ロケータ2 08によって選択された4隅は四辺形を特定する。しかしながら、バーコード・ シンボルは理想的には長方形、すなわち特定の形式の四辺形によって特定される 。1あるいはそれ以上の理由で、コーナ・ロケータ208によって識別される4 隅によって特定される四辺形は長方形でない場合がある。 例えば、先頭端あるいは後端のバーがイメージ中で2あるいはそれ以上のセグ メントに分断されておれば、位置が求められた四辺形の一方の側は反対側よりも 短くなることがある。ランレングス・コード化(符号化)ファクシミリ転送にお けるライン・ノイズによりバー中にこのような分断を生じさせる可能性がある。 このようなライン・ノイズによりバーに延長した線を生じさせることもある。い ずれの場合もコーナの位置決定は不正確になる。この他にイメージ化されたバー コード・シンボルを含む実際のラベルは物理的に損傷を受けて、バーが不完全に なることがある。 図5を参照すると、同図には最後のバーが2つの部分に分断されているバーコ ード・シンボルのイメージが示されている。コーナ・ロケータ208は、それぞ れ座標(Xa、Ya)、(Xb、Yb)、(Xc、Yc)、(Xd、Yd)をも ったコーナA、B、C、Dの位置を求める。手段210は、他の4つの位置が求 められたコーナの少なくとも2個のコーナに基づいて“最適の”長方形を構成す ることによって位置が求められたコーナのうちの少なくとも1つの位置を修正す る。 手段210は、4隅の各々について誤差値Eを計算する。例えば、コーナBに ついては誤差値Ebは次の(1)式によって決定される。 Eb=|AC2−(AB2+BC2)| =|〔(Xc−Xa)2+(Yc−Ya)2〕− 〔(Xb−Xa)2+(Yb−Ya)2〕− 〔(Xc−Xb)2+(Yc−Yb)2〕| (1) ここで、ACはコーナAとCとの間の距離であり、ABはコーナAとBとの間の 距離であり、BCはコーナBとCとの間の距離である。コーナBにおける90° (直角)からのずれが大きくなればなるほど誤差値Ebは大きくなる。同じ式を 使うことにより、手段210はコーナA、CおよびDに対するそれぞれの誤差値 Ea、EC、およびEdを計算することもできる。 手段210は修正すべきコーナとして最大の誤差をもったコーナを選択する。 図5のシンボルについて云えば、4つの誤差値のうちで誤差値Ebが最大で、手 段210は修正のためにコーナBを選択する。コーナBに対する修正された位置 は、式(1)の誤差値が0である座標(Xb′、Yb′)によって特定される。 通常式(1)を解くには2つの特別な解法がある。手段210は最初に位置が求 められたコーナに最も近い解を選択する。 手段210は少なくとも2つのコーナの位置を修正するために使用できること は当業者にとっては自明のことである。この場合、先の例と同様に、手段210 はコーナBの位置を修正するためにコーナAおよびCを使用し、また必要があれ ば、式(1)と等価な式を使って、コーナDの位置を修正するためにコーナAお よびCを使用することもできる。一般には、手段210は対角線方向の任意の2 つのコーナを、残る2つのコーナを使用して修正することができる。 1あるいはそれ以上のコーナの位置を修正するための他の方法もこの発明の範 囲内にあることは当業者には明らかである。これらの別の方法は長方形(すなわ ち、理想的なバーコード・シンボルの形状)についての次の1あるいはそれ以上 の特性を拠り所としている。 ◎ 長方形の対辺は平行である。 ◎ 対辺の長さは等しい。 ◎ 2つの対角線の長さは等しい。 ◎ コーナの角度は90°である。 ◎ 対角線と対応する各辺はピタゴラスの定理を満足する。 さらに、手段210は、平方化されたバーコード・シンボルの寸法と形状は指 定されたスレッショルド内にあることをベリファイするために幾何学的試験を実 行することが望ましい。これらの幾何学的試験はシンボルの4隅の相対的位置に 基づくものである。 手段210がシンボルを平方化したのち、手段212は、“修正された”シン ボルの4隅の(行、列)の座標を図1のコンポジット信号発生器106および傾 斜(グレイディエント)基準信号発生器112に転送する。次いで、そのときの サーチ・ラインの終端に到達したか否かが決定するためにシンボル・ロケータ1 04の処理は手段214に引き継がれる。もし、終端に到達したことが決定され ると、処理は手段202に戻り、新しいサーチ・ラインを選択する。終端に達し たことが決定されない場合は、処理は手段204に戻り、そのときのサーチ・ラ インに沿ってサーチが継続される。指定されたサーチ・ラインのシーケンスが枯 渇するか、あるいは何らかの他の停止条件が満足されるまでシンボル・ロケータ 104はバーコード・シンボルの位置を求めることが継続して行われる。 バーコード・シンボルのコンポジット信号を発生させるための低速法 次に図6を参照する。同図にはコンポジット信号発生器600によって実行さ れる低速法のフローチャートがブロックの形で示されている。コンポジット信号 発生器600は図1に示すシステム100のコンポジット信号発生器106の好 ましい実施例である。ここでは、発生器600はバーコード・シンボルのコンポ ジット信号を発生するための低速法を実行するように設計されている。低速法の 好ましい実施例によれば、バーコード・シンボルは多数の走査線に沿って走査さ れる。 走査線はシンボル・ロケータ104によって決定されるシンボルのコーナから 決定される。コンポジット信号を発生させるための低速法に対しては、各走査線 はシンボルのバーおよびスペースに対して平行である。さらに、連続する走査線 は1ピクセル幅以下の距離だけ互に離れている。バーコード・シンボルがピクセ ル・イメージの行および列と整列していないときは、走査線はイメージの行およ び列に対応していない。従って、コンポジット信号を発生させるための低速法の 走査線は一般にはシンボル・ロケータ104によって使用される“走査線”と異 なっており、常にピクセル・イメージ中の行あるいは列のいずれかに対応してい る。 各走査線に対して、発生器600は走査線に沿うピクセルの強度を平均して、 1次元のコンポジット信号中のピクセルを発生する。連続する走査線間の距離を 1ピクセル以下にすることによて、発生器600はコンポジット信号を発生する ときにピクセル・イメージを過サンプリングする。 次に図7を参照する。同図にはコンポジット信号発生器600によって処理さ れるバーコード・シンボル700のイメージが示されている。発生器600はシ ンボル・ロケータ104から供給されるコーナ702、704、706、および 708の座標を受信する。シンボルのバーの端部における共通のサンプリング誤 差を回避するために、発生器600はコーナ712、714、716、および7 18によって特定されるサンプルの長方形710を識別する。サンプルの長方形 710の輪郭は、シンボル700の頂部よりも僅かに低く(例えば、約3%)、 シンボル700の底部よりも僅かに高く(例えば、約3%)、さらにシンボル7 00よりも僅かに長く(例えば、指定された距離だけ静止区域に入り込む)設定 されている。次いで、各走査線の長さはサンプルの長方形710の境界によって 特定され、その結果、各走査線(定義によってシンボル700のバーとスペース に平行である)はシンボル700の底部の上と頂部の下で開始する。 再び図6を参照すると、コンポジット信号発生器600の手段602はサンプ ルの長方形710に基づいて一連の平行な走査線を選択する。手段602はサン プルの長方形710の一端におけるコーナ712および718によって特定され る走査線で開始し、先行する走査線からピクセルの幅よりも短い指定された距離 だけサンプルの長方形710の他端に向けてシフトすることにより各新しい走査 線を選択する。 次に図8を参照する。これにはバーコード・シンボルの一部がその上に重畳さ れた何本かの走査線802と共に示されている。各走査線802に対して、手段 604は現在選択された走査線に沿ってシンボル・イメージを走査し、手段60 6はその走査線に沿って存在するピクセルの平均ピクセル強度値を発生する。手 段608は1次元コンポジット信号中のピクセルとしてその平均値を保存する。 手段610はそのときの走査線が最後の走査線であるか否か、すなわちコーナ7 14および716によって特定されるサンプルの長方形710の反対側の端部に 到達したか否かを決定する。もし最後の走査線でなければ、処理は次の走査線を 選択するために手段602に戻る。最後の走査線であれば、手段612は完全な コンポジット信号をシステム100のコンポジット信号スレッショルダ108に 転送して別の処理を施す。スレッショルダ108の処理については図11を参照 して、本明細書中で後程詳細に説明する。 バーコード・シンボルのコンポジット信号を発生する高速法 次に図9を参照する。これにはコンポジット信号発生器900によって実行さ れる高速法のフローチャートがブロックの形で示されている。コンポジット信号 発生器900は図1に示されたシステム100のコンポジット信号発生器106 の好ましい実施例である。この発生器900はバーコード・シンボルのコンポジ ット信号を発生するための高速法を実行するように設計されている。この高速法 は図6、7、および8を参照して本明細書中で先に説明した低速法に代わるもの である。 高速法の好ましい実施例によれば、発生器900はバーコード・シンボルと交 わるピクセル・イメージ中の行/列から1組の走査線を選択する。この高速法で は、走査線は常にピクセル・イメージの行あるいは列のいずれかに対応している ことに注目する必要がある。図6に関して本明細書中で先に説明したように、低 速法では走査線はピクセル・イメージの行あるいは列と一致している必要はない し、また一般に上記ピクセル・イメージの行あるいは列と一致していない。 各走査線に対して発生器900は走査線データを回転させ、引伸ばす。引伸ば され且つ回転されたデータを使用して、発生器900は1次元コンポジット・ベ クトルならびに1次元カウント・ベクトルを更新する。すべての選択された走査 線が処理されると、発生器900は1次元ベクトルを“規格化”して、バーコー ド・シンボルに対する1次元コンポジット信号を生成する。 次に図10を参照する。図10は、その上に重畳されたコンポジット信号を発 生させるための高速法を実行するためにコンポジット信号発生器900によって 使用される走査線1〜6を有する図7のバーコード・シンボルのイメージが示さ れている。手段902は一連の走査線を選択する。図10に示すように、各走査 線はバーコード・シンボルと交わっており、ピクセル・イメージの行(あるいは 列)の一部となっている。手段902はバーコード・シンボルと交わるすべての 行(あるいは列)を選択する必要はない。従って、連続する走査線は1ピクセル 以上離れていることがある。さらに、走査線は全バーコード・シンボルと交わっ ている必要はない。例えば、図10で走査線3と4のみが全シンボルと交わって いる。 手段904はそのときの各走査線からのデータを回転させ且つ引伸ばす。手段 904が走査線データを回転させる角度は、シンボル・ロケータ104によって 識別されたシンボルの4隅によって示されるバーコード・シンボルの方位によっ て指示される。このような回転はバーコード・シンボルのバーを回転されたイメ ージの列(あるいは行)と実効的に一致させることは当業者には理解できること である。 手段904が走査線データを引伸ばす程度は過サンプリング率、特定されたパ ラメータ値、例えば3によって決定される。高速法でデータを引伸ばすことはピ クセルの分数分に相当する距離だけ離れた低速法における走査線の選択と同様で ある。高速法、低速法共元のピクセル・イメージのデータを過サンプリングする ように設計されている。 表II乃至VIはコンポジット信号発生器900によって実行される処理の一例を 表わしている。これらの表による説明の目的は発生器900によって実行される 処理を表わすものであり、必ずしも実際の状況を表わすことを意図したものでは ない。表III、IV、およびVにおけるリスト(I)、(J)、(K)、および(L)は図15 および傾斜信号発生器112を参照して本明細書中で後程詳細に説明する。 表IIはグレー・スケールのピクセル・イメージの3本の走査線に対する元のピ クセルの強度データを含み、走査線#1はイメージの行0に対応し、走査線#2 は行1に対応し、走査線#3は行4に対応する。この例では、ピクセル強度値が 高くなればなるほどピクセルは明るくなる。表IIの各走査線はピクセル・イメー ジの列0で開始し、列9で終了する。従って、例えば(行=2)で(列=5)に おけるピクセルの強度は3である。この例では、シンボル・ロケータ104によ って位置が求められた4個のコーナに基づいて決定され、バーコード・シンボル はイメージの行に対して反時計方向に45°の角度の方向に位置している。 表IIIは走査線#1(行0)を処理する発生器900により得られた結果を表 わす。表IIIのリスト(A)は走査線#1に沿うピクセル・イメージ中の各ピク セルに対する元の列番号を含んでいる。リスト(B)は元の各ピクセルの強度を 含んでいる。リスト(C)は、手段904が元の各ピクセルをθ°だけ回転させ たのちの回転された列番号を表わす数値(実際の値)を含んでいる。この例では 、θは45°である。回転された列数値Crは次の(2)式によって表わされる 。 Cr=C0cosθ+R0sinθ (2) ここで、C0はピクセル・イメージ中の元の列数値であり、R0は元の行数値で ある。 表IIIのリスト(D)は手段904が各回転されたピクセルを過サンプリング 率だけ引伸ばしたのち、引伸ばされた列番号を表わす数値(実際の数値)を含ん でいる。この例は過サンプリング率3に基づいている。リスト(D)はリスト( C)と過サンプリング率(この例では3)の積を表わしている。リスト(E)は 手段904によって発生された引伸ばされ且つ回転されたデータに対する丸めら れた(四捨五入された)列番号を表わす数値(整数値)を含んでいる。例えば、 リスト(D)からの引伸ばされた列8.49はリスト(E)では丸められて、丸 められた列8になっている。同様に、リスト(D)からの引伸ばされた列10. 61はリスト(E)では丸められて、丸められた列11になっている。リスト( E)にはまた丸められた列相互間に入る列番号が含まれている。従って、列7は 丸められた列6と8との間にあり、列9と10は丸められた列8と11との間に ある。次の説明の都合上、リスト(E)のすべての素子は全体を丸められた列と して表わしている。 リスト(F)はリスト(E)における各丸められた列に対する強度値を含んで いる。リスト(E)の各丸められた列に対して手段904は、それに対応するリ スト(A)の元の列からの強度値を繰り返す。例えば、リスト(E)の丸められ た列6および7はリスト(A)の列3に対応し、従って、これらの丸められた列 に対するリスト(F)の対応する強度は21となる。 別の好ましい実施例では、手段904はリスト(F)における強度値を決定す るために丸められた列相互間を補間する。この実施例では、リスト(E)の丸め られた列7に対応するリスト(F)の強度は21.5で、リスト(E)の丸めら れた列6と8に対応する強度の中間値である。 手段904によって実行される回転および引伸ばしは、マトリックス乗算に基 づく1回の計算で行われる。この場合、回転マトリックスは過サンプリング率を 含むように修正される。 手段904が各走査線に対するデータを回転させ、引伸ばすと、手段906は 1次元コンポジット・ベクトルを更新し、手段908は引伸ばされ、回転された データに基づく1次元カウント・ベクトルを更新する。コンポジット・ベクトル は先に引伸ばされ、回転されたすべての走査線の“合計”を表わす。カウント・ ベクトルは、コンポジット・ベクトルの各素子が何回更新されたかの経過(トラ ック)を保持する。ここで再び表IIIの例を参照すると、リスト(G)はコンポ ジット・ベクトルを示し、リスト(H)は走査線#1が処理されたのちのカウン ト・ベクトルを表わしている。 手段908がカウント・ベクトルを更新したのち、手段910はそのときの走 査線が処理されるべき最後の走査線であるか否かを決定する。それが最後の走査 線であれば、処理は手段912へ続き、そうでない場合は処理は手段902に戻 り、次の走査線を選択する。表IIの例では行0(すなわち、走査線#1)は最後 の走査線でなないので、手段910は新しい走査線として行2を選択するように 処理を手段902に戻すように命令する。 表IVは表IIの走査線#2(行2)を処理する発生器900から得られた結果を 表わしている。表IVのリスト(A)乃至(H)は表IIIのそれと同じである。手 段906は先のコンポジット・ベクトル(表IIIのリスト(G))からのピクセ ル値と表IVのリスト(F)からの対応する強度値とを加え合わせることによって 更新されたコンポジット・ベクトル(表IVのリスト(G))を形成する。手段9 08は、更新されたリスト(G)のコンポジット・ベクトルの素子に対応するこ れらの素子を増加(インクリメント)させることによりリスト(H)のカウント ベクトルを更新する。 走査線#2からの引伸ばされ、回転されたデータのいずれもが丸められた列0 〜3と一致していないが、幾つかのデータは新しい丸められた列21〜24と一 致していることが判る。その結果、コンポジット・ベクトルの幾つかの素子は更 新されない。カウント・ベクトルはコンポジット・ベクトルの各素子が何回更新 されたかの経過(トラック)を保持するために使用される。コンポジット・ベク トルおよびカウント・ベクトルのこの一様でない更新は、すべてのバーコード・ シンボルと交わらない走査線、例えば、図10の走査線1を処理するときにも生 ずる。 走査線#2を処理したのち、手段910は手段902に戻って処理するよう命 令して、、表IIの最後の走査線である走査線#3(行4)を選択する。表Vは発 生器900が表IIの走査線#3(行4)を処理することによって得られた結果を 表わしている。ここでも表Vのリスト(A)乃至(H)は表IIIおよび表IVのそ れと等価である。 走査線#3を処理したのち、手段910は処理を手段912へ続くように命令 する。手段912はコンポジット・ベクトルを“規格化”して、コンポジット・ ベクトル中の各素子をカウント・ベクトル中の対応する素子で割算することによ り1次元コンポジット信号を発生する。手段914はこのコンポジット信号をシ ステム100のコンポジット信号スレッショルダ108に転送する。 表VIは手段912によって発生された1次元コンポジット信号を表わす。リス ト(E)、(G)、および(H)は表Vの対応するリストと同じである。リスト (M)はリスト(G)のコンポジット・ベクトルの素子をリスト(H)のカウン ト・ベクトルの係数ベクトルの対応する素子で割算することにより手段912に よって発生されたコンポジット信号を表わす。手段914はリスト(M)のコン ポジット信号をスレッショルダ108に転送する。 1次元コンポジット信号のスレッショルドおよび濾波 次に図11を参照する。同図には、バーコード・シンボルの1次元コンポジッ ト信号をスレッショルド処理するためのシステム100のコンポジット信号スレ ッショルダ108によって実行される処理のフローチャートがブロックの形で示 されている。コンポジット信号が図6を参照して本明細書中で先に説明した低速 法を使用して発生器600により発生されたものであろうと、図9を参照して本 明細書中で先に説明した高速法を使用して発生器900により発生されたもので あろうと、スレッショルダ108はコンポジット信号を処理する。スレッショル ダ108は、コンポジット信号をバーコード・シンボルのバーとスペースに対応 する2進値黒(“0”)および白(“1”)にスレッショルド処理(閾値分け) する。次いでスレッショルダ108はスレッショルド処理された信号を濾波して スプリアスなバーおよびスペースを除去する。次いでスレッショルダ108は濾 波された信号をコンポジット信号デコーダ110に転送する。コンポジット信号 デコーダ110は濾波された信号をデコーディング(解読)するのに通常のバー コード・シンボル・デコーディング法を使用している。 スレッショルダ108の手段1102は発生器106から供給されるコンポジ ット信号をスレッショルド処理する。手段1102は固定された閾値でスレッシ ョルド処理することを含む任意の通常のスレッショルド・アルゴリズムを使用す ることができるが、コンポジット信号をスレッショルド処理するためにアダプテ ィブ(適応性)スレッショルドを使用することが好ましい。 ここで、再び表VIを参照すると、リスト(N)は固定されたスレッショルド値 12を用いてリスト(M)のコンポジット信号をスレッショルド処理することに よって手段1102で発生された2進信号を表わしている。コンポジット信号の 素子が12より大であれば、対応する2進値は1(白)であり、12以下であれ ば、対応する2進値は0(黒)である。表II乃至VIの例では、コンポジット信号 を発生するための高速法は丸められた列12と13との間の明から暗への遷移、 丸められた列18と19との間の暗から明への遷移、および丸められた列27と 28との間のその他の明から暗への遷移を表わしている。これらの遷移はバーコ ード・シンボル中の端縁部に対応する。 手段1102はコンポジット信号中の遷移の位置を求めるためにアダプティブ (適応性)スレッショルド・アルゴリズムを採用することが好ましい。好ましい アダプティブ・スレッショルド・アルゴリズムでは、手段1102はコンポジッ ト信号中の局部最小強度値と局部最大強度値との間の遷移の位置を求めるために 使用される閾値を決定するために、上記コンポジット信号中の局部最小強度値と 局部最大強度値とを使用する。 再び表VIを参照すると、第1の局部最大強度値は丸められた列2および3に対 応する23.0であり、第1の局部最小強度値は丸められた15および16に対 応する3.7である。この例では、手段1102は、丸められた列2と丸められ た列16との間に供給されるべき閾値として局部最大値と局部最小値の和の2分 の1(0.5×(23.0+3.7))すなわち13.4を選択する。この閾値 を使用して手段1102は丸められた12と13との間の明から暗への遷移の位 置を求める。ある特定の状況のもとでは、コンポジット信号中の2あるいはそれ 以上の連続した素子がスレッショルド値に等しいと、その一連の連続する素子の 中央の素子が明/暗の遷移として選択される。 ノイズの影響を最小にするために、局部最大値および局部最小値は特定された 有効値(significant value)の形で定義される。ある局部最大値と次の局部最 小値との間の差が上記の特定された有効値より大きくなければ、そのときは手段 1102はそれらを捨て、引き続きコンポジット信号中の適正な局部最小ピクセ ルと局部最大ピクセルをサーチする。 例えば、強度値(5、3、6、25、22、26、10、4、7)を有するコ ンポジット信号について考えてみる。有効値が5であると決定されると仮定する と、手段1102は左から右に走査して局部最小値3を見つける。手段1102 は走査を続け、局部最大値25を見つける。局部最大値(25)と局部最小値( 3)との間の差は有効値(5)よりも大であるので、手段1102はこれらの値 を保持する。 次いで手段1102は走査して次の局部最小値(22)を見つける。局部最大 値(25)と局部最小値(22)との間の差は有効値(5)よりも大きくはない ので、手段1102は引き続き適正な局部最小値を探す。手段1102が適正な 局部最小値を探している間に、手段1102は必要があれば局部最大値を更新す る。かくして手段1102が次の局部最小値(4)を見つけるために走査すると きは、手段1102は局部最大値を(26)に更新している。更新された局部最 大値(26)と新しい局部最小値(4)は有効値(5)よりも大であるので、手 段1102はこれらのピクセルを適正な局部最大値、局部最小値として選択する 。次いでこれらの局部最小値および局部最大値は平均化されて、局部最大値と局 部最小値との間の遷移に相当するピクセルを発見するために使用される閾値を計 算する。有効値が5ではなく2であれば、25と26はともに局部最大値と見做 されることに注意する必要がある。 選択された有効値はノイズに対する手段1102の不感性(immunity)を決定 する。有効値が高いとノイズに対する不感性はかなり大きくなるが、コンポジッ ト信号中の真の明/暗の遷移が失われるという結果が生じる。これに反して有効 値が低いと、ノイズの多い領域における遷移を誤って認識する可能性がある。有 効値は高すぎるよりも低すぎる方が好ましい。これは後続する濾波処理によりス プリアスな遷移が取り除かれる可能性があるが、失われた真の遷移は回復不可能 であることによる。好ましい実施例では、有効値はコンポジット信号内の全体の 最小値と最大値とによって特定される上記コンポジット信号のダイナミック・レ ンジの分数(例えば、8分の1)を基準としている。 次に図12および13を参照する。これらの図にはノイズの多いコンポジット 信号をスレッショルド処理するのに比較的低い有効値を使用したことにより生ず る可能性のあるスプリアスな明/暗の遷移の2つの共通した例が示されている。 図12は単一のスペースであるべきところにあるスプリアス・バー1の2進表示 を表わしている。図13は1個のスペースと1個のバーのみが存在すべきところ にあるスプリアス・バー1あるいはスプリアス・スペース2のいずれかの2進表 示を表わしている。 手段1104はスプリアス・バーおよびスペースを除去するためにスレッショ ルド処理されたコンポジット信号を濾波する。スプリアス・バー/スペースはあ まりに狭く、デコードされるバーコード・シンボルの既知の特性によって決定さ れる有効であるとされないものである。閾値は、デコードされる特定のシンボル における最小のバーおよびスペースの幅のある分数値(例えば2分の1)を基準 として設定されている。バーあるいはスペースが指定されたスレッショルドより も狭いと、そのスペース/バーは除かれる。図12で、バー1は狭すぎて有効と されないので、手段1104はスプリアス・バー1を除去して単一のスペースを 生成する。 図13において、バー1およびスペース2は共に適用できるスレッショルド以 下である。この場合は、手段1104は隣接するバー/スペースを合体させるこ とによって2つのうちの狭い方を除去する。バー1がスペース2よりも狭いと、 その場合は、手段1104はバー1を除去して点4で終了する単一のスペースを 生成する。しかしながら、バー1がスペース2よりも狭くなければ、その場合は 手段1104はスペース2を除去して点3で終了する単一のスペースを生成する 。 再び図11を参照すると、手段1104がスレッショルド処理された信号を濾 波したのち、手段1106は濾波された信号をコンポジット信号デコーダ110 に転送し、デコーダ110は通常のバーシンボル・デコード手段を用いて濾波さ れた信号をデコードする。 コンポジット信号のデコーディング(解読) コンポジット信号デコーダ110は、通常のバーコード・シンボル・デコーデ ィング法を用いてスレッショルダ108によって発生された濾波されたコンポジ ット信号をデコードする。デコーダ110は、コード128、コード39、イン タリーブされた2オブ5符号(2 of 5)のような任意所望のシンボルをデコー ドすることができる。 コード128バーコード・シンボルをデコードする場合は、デコーダ110は 、米国特許出願第07/927,910号明細書中の「サブピクセル補間により得られた結 果からのキヤラクタ選択の決定(Determining Character Choices from Subpixe l Interpolation Result)」という節に記載の標準のライクエッジ−ライクエッ ジ(like edge to-kike edge)測定を行なう。上記米国特許出願明細書の開示内 容については本明細書中で参照されている。デコーダ110は標準のt1、t2 、t3およびt4の値を計算し、マッピングテーブル(mapping-table)を走査 し、コード128の3組のキャラクタすべてのデコーディングを維持するために コード128のチェックサム計算を実行する。 次に図14を参照する。これにはコード39バーコード・シンボルをデコード するためにシステム100のコンポジット信号デコーダ110によって実行され る処理のフローチャートがブロック図の形で示されている。コード39シンボル は5個のバーと4個のスペースをもったキャラクタを基準としたものである。コ ード39では、3個のバー/スペースは広くなければならず、他の6個のバー/ スペースは狭くなければならない。さらに、コード39キャラクタは2個の広い バーと1個の広いスペース、あるいは3個の広いスペースのいずれかをもってい なければならない。正確に0、2、あるいは4個の広いスペースをもったキャラ クタは有効なコード39のキャラクタではない。同様に、そのキャラクタが正確 に1個の広いスペースをもっているが、正確に2個の広いバーをもっていなけれ ば、そのキャラクタは有効なコード39のキャラクタではない。コード39バー コード・シンボルをデコードするときに、デコーダ110はバーコード・シンボ ルの5個のバーと4個のスペースを一度に検査し、それらを広い、狭いと分類し 、そのキャラクタをルックアップ・テーブルを参照してデコードする。 コード39のキャラクタをデコードするために、デコーダ110は先ずそのキ ャラクタの4個のスペースを解析する。図14の手段1402はキャラクタに対 するスペース幅スレッショルドを計算する。この場合、スペース幅スレッショル ドはそのキャラクタの最も広いスペースの幅と最も狭いスペースの幅との平均で ある。 手段1404は各スペースの幅をスペース幅スレッショヅドと比較することに よって4個のスペースの各々が広いか狭いかを決定する。手段1404は、その 幅がスペース幅スレッショルドよりも大であれば、スペースは広いと分類し、そ れ以外の場合はそのスペースは狭いと分類する。 手段1404が3個のスペースを広いと分類し、1個のスペースを狭いと分類 すると、手段1406はキャラクタをデコードするために、手段1416に処理 を指示し、それ以外の場合は処理を後続する手段1408に実行させる。デコー ダ110が3個の広いスペースと1個の狭いスペースが存在すると決定すると、 デコーダ110は5個のバーすべてが狭いと仮定し、キャラクタは有効なコード 39キャラクタであると仮定する。 手段1404が1個のスペースが広く、3個のスペースが狭いと分類すると、 手段1408は手段1410に処理を指示し、それ以外の場合はキャラクタはデ コードされない。デコーダ110が、正確に1あるいは3個の広いスペースが存 在しないと決定すると、キャラクタは有効なコード39キャラクタではなく、有 効なコード39キャラクタとしてデコードすることができない。 デコーダ110が、3個の狭いスペースと1個の広いスペースが存在すると決 定すると、デコーダ110はキャラクタの5個のバーを分析する。手段1410 はキャラクタに対するバー幅のスレッショルドを計算する。ここで、バー幅のス レッショルドはそのキャラクタ中の最も広いバーの幅と最も狭いバーの幅の平均 である。 手段1412は各バーの幅をバー幅のスレッショルドと比較することにより5 個のバーの各々を広いバーと狭いバーに分類する。そのバーがバー幅のスレッシ ョルドよりも大であると広いバーと分類し、それ以外の場合は狭いバーと分類す る。 手段1412が2個のバーが広く、3個のバーが狭いと分類すると、手段14 14はキャラクタをデコードするために手段1416に処理を指示し、それ以外 の場合はキャラクタは有効なコード39キャラクタではなく、有効なコード39 キャラクタとしてデコードすることができない。もし、正確に1個の広いスペー スが存在すると決定されたのちデコーダ110が2個の広いバーと3個の狭いバ ーが存在すると決定すると、デコーダ110はそのキャラクタは有効なコード3 9のキャラクタであると仮定する。 コード39キャラクタの3個の広いバー/スペースと6個の狭いバー/スペー スの位置を順次に求めたのち、手段1416は、手段1404と1412によっ て識別された一連の広いバーおよびスペース、一連の狭いバーおよびスペースを 使用して適正な英数字キャラクタ用のコード39ルックアップ・テーブルをサー チすることによりキャラクタをデコードする。好ましい実施例では、デコーダ1 10はコード39のチェックサム解析を実行する。 図14の好ましい実施例では、デコーダ110は、スペース分類用のスレッシ ョルドとバー分類用のスレッショルドの2つの異なる幅スレッショルドをそれぞ れ別々に計算することによってバーとスペースの幅を分析する。デコーダ110 はスペース用およびバー用のこれらの異なる幅スレッショルドを使用してピクセ ル・イメージのにじみ(bkeeding)により生ずる可能性のあるデコーディング・ エラーを減少させる。 通常のイメージング・システムを使用してピクセル・イメージが生成されたと き、しばしばイメージ中の暗い領域が明るい領域ににじみ出る傾向がある。この にじみのために、イメージ化されたバーコード・シンボル中のバーは真のバーコ ード・シンボル中のバーよりも広く見え、スペースは真のバーコード・シンボル 中のスペースよりも狭くみえる可能性がある。ときには真の狭いバー(すなわち 、真のバーコード・シンボル中の狭いバー)はピクセル・イメージ中で真の広い スペースよりも広く見えることさえある。バーおよびスペースの幅に関するこの ような明らかな変化によりバーコード・シンボルのデコードにエラーが導入され ることがある。例えば、コード39シンボルをデコードするときは、ピクセル・ イメージのにじみにより生ずるデコーディング・エラーを減少させるために、デ コーダ110は異なる幅のスレッショルドを個別に使用してバーとスペースを分 類することが望ましい。 にじみの影響を修正するためのバーコード・シンボル中のバーおよびスペース のこの個々の分類はコード39シンボル以外のシンボルをデコードするのにも使 用できることは当業者には明らかである。 例えば、デコーダ110はインターリーブされた12オブ5(12 of 5)バ ーコード・シンボルをデコードするためにバーおよびスペースの個々の分類を使 用するのが望ましい。12オブ5キャラクタでは、5個のバーと5個のスペース が2個の十進数字をエンコード(符号化)する。バーは第1の数字をエンコード し、スペースは第2の数字をエンコードする。各数字は2個の広いバー(あるい はスペース)と3個の狭いバー(あるいはスペース)で表わされる。コード39 シンボルに対してデコーダ110によって実行される個別の分類技法と同様に、 デコーダ110は一度に12オフ5(12 of 5)シンボルの13個のバーとス ペースとを受け入れて、バーおよびスペースを個別に分類することによりそれら を狭いあるいは広いと分類する。その結果、各ビットが対応するバー/スペース の幅を表わす13ビット値が得られる。 次いでデコーダ110は12オブ5(12 of 5)ルックアップ・テーブルを 、バーのサーチに1回、スペースのサーチに1回の合計2回サーチする。デコー ダ110はテーブルのルックアップ期間中、最初の10個のバー/スペース(上 の10ビット)のみを使用する。他の3ビットは12オブ5のストップ・パター ンに対応する。最後の3ビットが有効ストップ・パターン(広いバー、狭いスペ ース、広いバー)であれば、デコーディングは終了する。それ以外の場合は、他 の13個のバーおよびスペースが分析される。この場合、最初の3個のバーとス ペースは先行するリストからの最後の3個のバーとスペースである。デコーダ1 10はまた12オブ5のチェックサム分析を実行することが望ましい。 スレッショルド処理されたコンポジット信号をデコードしたのち、デコーダ1 10はデコードされた信号をシステム100の出力セレクタ118に転送する。 バーコード・シンボル用の傾斜(gradient)信号の発生 次に図15を参照する。同図にはシンボルロケータ104によって位置が求め られたバーコード・シンボルに対する白色化(whitening)傾斜信号および黒色 化(blackening)傾斜信号を発生させるためにシステム100の傾斜信号発生器 112によって実行される処理のフローチャートがブロック図の形で示されてい る。傾斜信号はバーコード・シンボル中のバーとスペースとの間の遷移(すなわ ち、バーの先端部と後端部)を発見するために使用される。 好ましい実施例では、発生器112はバーコード・シンボルと交わるピクセル ・イメージ中の行あるいは列の組からの走査線を選択する。これらの走査線は、 図9を参照して本明細書中で先に説明したコンポジット信号を発生させるための 高速法用に選択された走査線と同じ走査線であることが好ましい。 各走査線に対して発生器112は走査線データを回転させ、引伸ばし、2個の 1次元傾斜ベクトル、すなわち白色化傾斜ベクトルと黒色化傾斜ベクトル、なら びに引伸ばされ且つ回転されたデータに基づく1次元カウント・ベクトルを更新 する。選択されたすべての走査線が処理されると、発生器112は2個の傾斜ベ クトルを規格化して白色化および黒色化傾斜ベクトルを発生し、これらの傾斜信 号を平滑し、平滑された傾斜信号をさらに処理するために傾斜信号プロセッサ1 14に転送する。 手段1502は一連の走査線を選択する。手段1502は、図9のコンポジッ ト信号発生器900の手段902によって選択された走査線と同じ一連の走査線 を選択することが望ましい。手段1504はそのとき選択された走査線からのデ ータを回転し、引伸ばす。手段1504は発生器900の手段904によって実 行される回転および引伸ばし機能と同じ回転および引伸ばし機能を実行すること が望ましい。好ましい実施例では、コンポジット信号発生器900と傾斜信号発 生器112に共通の演算(例えば、走査線の選択、回転、引伸ばし)は重複を避 けるために合体される。 再び表IIの例を参照すると、図9を参照して本明細書中で先に説明したように 、各走査線に対する手段1504の処理は手段904により実行される処理と同 じである。表III、IVおよびVのリスト(A)乃至(F)もまた傾斜信号発生器 112の動作を説明するために使用できる。 手段1504が第1の走査線を回転させ且つ引伸ばしたのち、手段1506は 回転され、引延ばされたデータを使用した白色化および黒色化の傾斜ベクトルを 更新する。好ましい実施例では、白色化傾斜ベクトルはピクセル強度値が増大す る方向のすべてのピクセル−ピクセル変化の大きさを累算する1次元ベクトルで ある。同様に、黒色化傾斜ベクトルはピクセル強度が減少する方向のすべてのピ クセル−ピクセル間の変化の大きさを累算する1次元ベクトルである。各傾斜ベ クトルに対して、隣接するイメージ・ピクセル間の差の大きさは累積され、絶対 ピクセル値そのものではない。別の好ましい実施例では、白色化および黒色化の 傾斜ベクトルはそれらの変化の大きさを累積するのとは対照的に、増加および減 少する各ピクセル−ピクセル間の変化の数を累積する。 白色化および黒色化の傾斜はその走査線データの1次微分の形で特定される。 白色化傾斜は0より大きいこれらの1次微分に対応し、黒色化傾斜は0より小さ いこれらの1次微分の大きさに対応する。 ここで再び表IIIを参照する。リスト(I)は走査線#1に対する白色化傾斜 を表わし、リスト(J)は手段1506が走査線#1を処理したのちの白色化傾 斜 ベクトルを表わしている。一般に、白色化傾斜ベクトルは処理されたすべての走 査線に対する対応する白色化傾斜の合計を表わしている。この例では走査線#1 は処理される最初の走査線であるので、リスト(I)の白色化傾斜はリスト(J )の白色化傾斜ベクトルと同じである。 強度は元のデータにおけるピクセル(0、0)からピクセル(1、1)までに 21から23に増加するので、丸められた列2および3に対するリスト(I)中 の対応する重みの傾斜は2である。元のイメージ中の先行するピクセルからその ときのピクセルへの変化が正でなければ、そのときのピクセルに対する白色化傾 斜は存在しない。例えば、元のデータ中のピクセル(0、1)から(0、2)ま でに強度は23から22に減少するので、丸められた列4および5に対するリス ト(I)中の対応する重み傾斜は0である。 同様に、表III中のリスト(K)は走査線#1に対する黒色化傾斜を表わして いる。例えば、元のデータ中のピクセル(0、4)から(0、5)までに強度が 22から18に減少するので、丸められた列11および12に対する対応する黒 色化傾斜は4である。元のイメージ中の先行するピクセルからそのときのピクセ ルへの変化が正でなければ、そのときのピクセルに対しては黒色化の傾斜は存在 しない。例えば、元のデータ中のピクセル(0、7)から(0、8)までに強度 が4から5に増大するので、丸められた列17および18に対する対応する黒色 化傾斜は0である。表IIIのリスト(L)は手段1506が走査線#1を処理し たのちの黒色化傾斜ベクトル(すなわち、累積された黒色化傾斜)を表わしてい る。 図9を参照して本明細書中で先に説明したように、手段1506はコンポジッ ト信号発生器900の手段908によって発生されたカウント・ベクトルと同様 な1次元カウント・ベクトルを更新する。表III、IV、V中のリスト(H)もま た傾斜信号発生器の説明に適用できる。 手段1506がそのときの走査線に対する傾斜ベクトルおよびカウント・ベク トルの双方を更新したのち、手段1508はそのときの走査線がバーコード・シ ンボルに対する最後の走査線であるか否かを決定する。もし、最後の走査線でな ければ、次の走査線を選択するために処理は手段1510に戻る。最後の走査線 であれば、処理は手段1510へ進む。 表IIの例では、走査線#1が処理されたのち、処理は手段1502に戻って新 しい走査線として走査線#2を選択する。表IVは走査線#2の処理結果を表わし ている。表IVのリスト(I)および(K)はそれぞれ走査線#2に対する白色化 および黒色化の傾斜を表わす。リスト(J)および(L)は更新された傾斜ベク トルを表わす。手段1506は表IIIの傾斜ベクトルに走査線#2に対する傾斜 を“加算”することにより傾斜ベクトルを更新する。同様に、表Vは走査線#3 の処理により得られた結果を表わしている。 最後の走査線が処理されたのち、手段1508は手段1510へ処理を指令す る。手段1510は各傾斜ベクトルの素子をカウント・ベクトルの対応する素子 によって割ることにより白色化および黒色化傾斜ベクトルを規格化する。 表VIIおよびVIIIはそれぞれ白色化および黒色化の処理結果を表わしている。 表VIIの1スト(E)、(H)および(J)、表VIIIのリスト(E)、(H)お よび(L)は表Vの対応するリストと同じである。表VIIのリスト(O)はリス ト(J)の白色化傾斜ベクトルを規格化する手段1510から得られた白色化傾 斜信号を表わしている。手段1510はリスト(J)中の対応する素子をリスト (H)中の対応する素子で割ることによりリスト(O)中の各素子を決定する。 同様に、表VIIIのリスト(T)はリスト(L)の黒色化傾斜ベクトルを規格化す る手段1510から得られた黒色化傾斜信号を表わしている。 手段1510が傾斜ベクトルを規格化したのち、手段1512は得られた白色 化傾斜信号および黒色化傾斜信号を平滑する。手段1512で使用されている平 滑化フィルタは走査線データを引伸ばすために使用される過サンプリング率に基 づくものであることが好ましい。表IXは異なる過サンプリング率に対する好まし いフィルタのパラメータを表わす。 表VIIのリスト(P)は過サンプリング率3に基づくリスト(O)の白色化傾 斜信号を平滑して得られた結果を表わしている。過サンプリング率3に対しては 、リスト(P)の平滑された白色化傾斜信号中の各素子Sは次の(3)式を使っ て計算される。 ここで、Wiは素子Siに対応するリスト(O)の白色化傾斜信号中の素子であ り、Wi-1はリスト(O)中の先行素子であり、Wi+1はリスト(O)中の次の素 子である。同様に、表VIIIのリスト(U)は過サンプリング3に基づくリスト( T)の黒色化傾斜信号を平滑して得られた結果を示している。 手段1512が2つの傾斜信号を平滑したのち、手段1514はシステム10 0の傾斜信号プロセッサ114に平滑化された傾斜信号を転送する。手段151 2による平滑化は必要に応じて自由に選択される処理ステップであることは当業 者には明らかである。 平滑された傾斜信号の処理およびデコーディング 次に図16を参照する。同図には発生器112によって発生された平滑された 白色化傾斜信号および黒色化傾斜信号を処理するためにシステム100の傾斜信 号プロセッサ114によって実行される処理のフローチャートがブロックの形で 示されている。白色化および黒色化傾斜信号は、それぞれバーコード・シンボル 中の暗から明への遷移、明から暗への遷移の位置を表わしている。すなわち、こ れらはそれぞれバーコード・シンボル中のバーの前縁と後縁を表わしている。プ ロセッサ114は傾斜信号中の明/暗の遷移の位置を求め、これらの遷移位置か ら1個の1次元の再構成された信号を発生する。プロセッサ114はこの再構成 された信号を傾斜信号デコーダ116に転送し、デコーダ116は通常のバーコ ード・デコーディング法を使用してこの信号をデコードする。 好ましい実施例では、プロセッサ114は2つの傾斜信号をセグメント化し、 信号セグメントの重心(centroid)を回転させ、その重心位置から単一の2進信 号を再構成する。別の好ましい実施例(図示せず)では、プロセッサ114は再 構成された信号に対する遷移の位置として2個の傾斜信号のそれぞれのピークを 選択する。 図16の手段1602は発生器112から平滑された白色化信号および黒色化 信号を受信し、それらを個々のセグメントにセグメント化する。各セグメントは 傾斜信号中の局部最小値で開始し、次の局部最小値で終了する。従って、各セグ メントは1個の局部最大値を含んでいる。再び表VIIを参照すると、リスト(Q )はリスト(P)の平滑された白色化傾斜信号中のセグメントを識別する。同様 に、表VIIIのリスト(V)はリスト(U)の黒色化傾斜信号中のセグメントを識 別する。 間違ったセグメント化が行われるのを最少にするために、手段1602は傾斜 信号におけるセグメントを特定する局部最小値を決定するための有効値試験を使 用することが好ましい。ここで使用される有効値試験は図11を参照して本明細 書中で先に説明した有効値試験と同様なものである。 手段1602が平滑された傾斜信号をセグメント化したのち、手段1604は 各セグメントのマスを決定する。各セグメントのマスはそのセグメントに対する 平滑された傾斜値の和である。表VIIのリスト(R)はリスト(Q)で特定され た白色化傾斜信号のマスを表わす。同様に、表VIIIのリスト(W)はリスト(V )で特定された黒色化傾斜信号のマスを表わす。従って、例えば表VIIにおける セグメント#3は(0.1+0.2+0.1)=0.6のマスをもっている。 手段1604が各セグメントのマスを決定したのち、手段1606は充分なマ スをもったこれらのセグメントの重み付けられた重心の位置を求める。手段16 06は不充分なマスをもっていることを示す指定されたマスのスレッショルド以 下のマスのセグメントを無視する。このマスのスレッショルドは、過サンプリン グ率と元のピクセル・イメージ中の狭いバーあるいはスペースの期待されるマス との積の分数、例えば8分の1に等しく設定されていることが好ましい。 ピクセル・イメージ中のノイズは傾斜信号中にスプリアスなセグメントを生じ させる可能性がある。イメージのノイズがそれほど大きくなければ、スプリアス なセグメントは真のセグメントのマス(すなわち、ピクセル・イメージ中の真の 明/暗の遷移に相当する)よりも一般的に小さないマスをもつようになる。この 場合、手段1606はスプリアス・セグメントを“濾波”して取り除くために使 用される。 表VIIではセグメント#1、2、3、および5は特定されたマスのスレッショ ルドである20以下のマスをもっているものとして拒絶される。表VIIIのセグメ ント#1および3もまた同様にマスのスレッショルド以下のマスをもつものとし て拒絶される。 小さいマスを有するセグメントを除去したのち、手段1606は残りのセグメ ントの重み付けされた重心(centroid)の位置を求める。重み付けされたセグメ ントの重心はそのセグメントのマスの指定された割合に相当するセグメント内の 位置である。例えば、50%を基準とする重み付けされた重心は各セグメントの マスの中心に対応する。40%を基準とする重み付けされた重心は、マスの40 %が左、60%が右のセグメント内の位置に対応する。 表VIIにおけるリスト(S)の“1”はセグメント#4の重みつけされた重心 の位置を指定し、ここでは50%が選択された重み付けされた重心の割合である 。同様に表VIIIのリスト(X)はセグメント#2および4の重み付けされた重心 の位置を指定している。 別の好ましい実施例(図示せず)では、白色化および黒色化傾斜セグメントに おける重心の位置を求めるために異なる重み付けされた重心の割合が使用される 。黒色のバーはバーコード・シンボルのイメージにおける白のスペース内ににじ みでる可能性があるので、イメージ中でバーは広く見え、スペースは狭く見える 。黒色化重心(blackening-centroid)の割合よりも小さい白色化重心(whitein g-centroid)の割合を使用することにより、このようなにじみ効果を修正するこ とができる。正確な重み付けられた重心の割合は、経験的に既知のバーコード・ シンボルのイメージに対して実行される試験に基づいて選択される。 手段1606が白色化および黒色化セグメントの重心の位置を求めたのち、手 段1068は、2個の傾斜信号から重心の位置をインタリーブすることにより1 個の1次元信号を再構成する。平滑された黒色化傾斜信号からの各セグメントの 重心はバーコード・シンボルのバーの前縁に対応する。同様に、平滑された白色 化傾斜信号からの各セグメントの重心はバーコード・シンボルのバーの後縁に対 応する。 表Xは、表VIIおよびVIIIの白色化および黒色化セグメントの重心をインタリ ーブ する手段1608の結果を表わしている。表Xのリスト(E)、(S)、および (X)は、表VIIおよびVIIIの対応するリストと同じである。表Xのリスト(Y )は手段1608によって発生された1次元の再構成された信号を表わしている 。表Xのリスト(Y)の再構成された信号は表VIのリスト(N)のスレッショル ドされた信号と同じで、システム100の発生器112とプロセッサ114によ る傾斜信号の処理によってシステム100のコンポジット信号処理発生器900 とスレッショルダ108と同じ結果を発生することに注目する必要がある。 再構成された信号が2つの連続するバーの前縁をもっておれば、そのときはバ ーの後縁は見逃されるかあるいは別のバー前縁が挿入される。同様に、再構成さ れた信号が2つの連続するバーの後縁をもっておれば、そのときはバーの前縁は 見逃されるかあるいは別のバー後縁が挿入される。もし、真のバーの縁部が見逃 されると、手段1602によって実行されるセグメント化の処理はさらに小さい 傾斜に対してより高感度に行なわれる必要がある。もし、スプリアスなバーの縁 部が挿入されると、そのときはセグメント化は、そのセグメントを誤って2分割 することなく傾斜信号中のより大きい変化に適応するように低い感度で行われる 必要がある。セグメント化処理の感度は、そのセグメントが充分のマスをもって いるか否か決定するために手段1606で使用される指定されたマス・スレッシ ョルドを変更することによって調整される。 手段1608が再構成された信号を発生したのち.手段1610は再構成され た信号を傾斜信号デコーダ116に転送する。好ましい実施例では、デコーダ1 16の処理は本明細書中の「コンポジット信号のデコーディング」というタイト ルが付された項で先に説明したコンポジット信号デコーダ110の処理と同じで ある。バーコード・シンボルをデコードしたのち、デコーダ116はデコードさ れ信号を出力セレクタ118に転送する。 表IIの例を参照して本明細書中で先に説明したように、本発明の好ましい実施 例では元のピクセル強度値は、元の列を回転させ、引伸ばし、さらに丸めること によって生成された丸められた列相互間の“ギャップを埋める”ために反復され る。別の好ましい実施例(図示せず)では、元のピクセル強度値は過サンプリン グ率に従って反復される。 例えば、過サンプリング率3に対する表IIIを参照する。システム100は、 丸められた列0、1、および2に対応するコンポジット・ベクトルの素子を更新 するためにピクセル(0、0)の強度値が3回使用されるように元のピクセル( 0、0)を回転し、引伸ばす。同様にシステム100は、丸められた列2、3、 および4に対応するコンポジット・ベクトルの素子を更新するためにピクセル( 0、1)の強度値が3回使用されるように元のピクセル(0、1)を回転し、引 伸ばす。 走査線1の元のピクセル(0、0)および(0、1)の双方の強度値が、丸め られた列2に対応するコンポジット・ベクトルの素子を更新するために使用され ることに注意する必要がある。従って、この好ましい実施例では、丸められた列 相互間の“ギャップを埋める”代わりに過サンプリング率に従って元のピクセル が反復され、“オーバーラッピング(overlapping:重複)”が生ずる。この例 では、丸められた列2に対応するカウント・ベクトルの素子はこのオーバーラッ ピング効果を反映するために2回反復される。 システム100はハードウエアあるいはソフトウエアの形で構成することがで き、またハードウエアとソフトウエアの組合わせの形で構成することもできる。 好ましい実施例では、システム100はインテル(Intel)社製の80X86フ ァミリあるいはモトローラ(Motorola)社製の680X0ファミリのような普及 形のマイクロプロセッサでラン(実行)するソフトウエアで構成されている。 システム100の好ましい実施例は2進および/またはグレイスケール・イメ ージの形式のバーコード・シンボルの位置を求め、デコードするように設計する こともできることは当業者には明らかである。 また、システム100はパラメータ駆動されるように設計されていることが望 ましいことは当業者には明らかである。この場合、各種のパラメータに対する値 は特定の適用例に基づいて変更される。さらに、あるパラメータ値は既知のサン プル・イメージの処理から経験的解析に基づいて選択されることは云うまでもな い。 本発明の特徴を説明するに当たって、ここで説明し、図示した各部の細部、材 料、構成については、次に示す請求の範囲に記載された本発明の原理、範囲から 逸脱しない範囲内で種々変更できることは云うまでもない。
【手続補正書】 【提出日】1997年5月7日 【補正内容】 (1)明細書第1頁第2行乃至第3行(発明の名称)の「個別のバーおよびスペ ース分析を使用したバーコード・シンボルをデコードする方法および装置」を「 ピクセル・イメージのバーコード・シンボルを読取る方法および装置」と訂正す る。 (2)請求の範囲を別紙の通りに訂正する。 (3)明細第2頁第4行中の「異なって要る」を「異なっている」と訂正する。 (4)同書第7頁第6行中の「要る場合は、」を「いる場合は、」と訂正する。 (5)同書第8頁第14行乃至第15行中の「遷移をカウント」を「遷移のカウ ント」と訂正する。 (6)同書第9頁第1行中の「等しいる場合は、」を「等しい場合は、」と訂正 する。 (7)同書第11頁第4行中の「終了りと第2」を「終了と第2」と訂正する。 (8)同書第13頁第9行中の「28」を「208」と訂正する。 (9)同書第26頁第5行乃至第6行中の「命令して、、」を「命令して、」と 訂正する。 (10)同書第32頁第25行中の「(like edge to-kike edge)」を「like edg e to like edge)」と訂正する。 (11)同書第35頁第3行中の「(bkeeding)」を「(bleeding)」と訂正する 。 (12)同書第36頁第14行中の「シンボルロケータ」を「シンボル・ロケータ 」と訂正する。 (13)同書第39頁第13行中の「1スト」を「リスト」と訂正する。 (14)同書第45頁第24行中の「1068」を「1608」と訂正する。 請求の範囲 1.(a)バーコード・シンボル中の暗から明への遷移を表わす第1の信号を 発生するステップと、 (b)上記バーコード・シンボル中の明から暗への遷移を表わす第2の信号を 発生するステップと、 (c)上記第1の信号と第2の信号に従って上記シンボルをデコードするステ ップと、 からなるピクセル・イメージのバーコード・シンボルを読取る方法。 2.上記第1の信号は白色化傾斜信号であり、上記第2の信号は黒色化傾斜信 号である、 請求項1記載のピクセル・イメージのバーコード・シンボルを読取る方法。 3.ステップ(c)は、 (1) 上記第1の信号を少なくとも1個の第1のセグメントにセグメント化 するステップと、 (2) 暗から明への遷移に対応する上記第1のセグメントにおける第1の位 置を選択するステップと、 (3) 上記第2の信号を少なくとも1個の第2のセグメントにセグメント化 するステップと、 (4) 明から暗への遷移に対応する上記第2のセグメントにおける第2の位 置を選択するステップと、 (5) 上記第1の位置と第2の位置とに従って上記シンボルをデコードする ステップと、 を含む請求項1記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 4.上記ステップ(c)の(5)は、 (i)上記第1の位置と第2の位置とに従って再構成された信号を発生す るステップと、 (ii)上記再構成された信号をデコードするステップと、 を含む請求項3記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 5.上記第1の位置は上記第1のセグメントのピークに対応する請求項3記載 のピクセル・イメージのバーコード・シンボルを読取る方法。 6.上記第1の位置は上記第1のセグメントの重み付けられた重心に対応する 請求項3記載のピクセル・イメージのバーコード・シンボルを読取る方法。 7.上記第1のセグメントは上記第1の信号中の局部最大値からなる請求項3 記載のピクセル・イメージのバーコード・シンボルを読取る方法。 8.上記ステップ(c)の(1)は、さらに、 (i)上記第1のセグメントのマスを決定するステップと、 (ii)上記マスが第1のマスのスレッショルドよりも大であれば、ステッ プ(c)の(2)に続き、それ以外の場合は上記第1のセグメントを捨てるステッ プと、 を含む請求項3記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 9.ステップ(a)は、さらに上記第1の信号を平滑するステップを含む、請 求項1記載のピクセル・イメージのバーコード・シンボルを読取る方法。 10.上記ステップ(a)は、 (1)上記シンボルの少なくとも第1の部分と交わる第1の走査線を選択 するステップと、 (2)上記第1の部分に従って、白色化傾斜信号である上記第1の信号を 発生するステップと、 を含む請求項1記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 11.上記ステップ(a)は、さらに、 (3)上記シンボルの少なくとも第2の部分と交わる第2の走査線を選択 するステップと、 (4)上記第2の部分に従って上記第1の信号を更新するステップと、 を含む請求項10記載のピクセル・イメージのバーコード・シンボルを読取る方 法。 12.ステップ(a)の(2)は、 (i)上記第1の部分に対して、この第1の部分を上記イメージ中のピク セルの行あるいは列のいずれかに実質的に平行な角度に回転させるステップと上 記第1の部分を引伸ばすステップとを含む変換を施すステップと、 (ii)上記変換された第1の部分に従って上記第1の信号を発生するステ ップと、 を含む請求項10記載のピクセル・イメージのバーコード・シンボルを読取る方 法。 13.上記ステップ(a)は、 (1) 上記シンボルの少なくとも第1の部分と交わる第1の走査線を選択す るステップと、 (2) 上記第1の部分に対して、この第1の部分を上記イメージ中のピクセ ルの行あるいは列のいずれかに実質的に平行な角度に回転させるステップと上記 第1の部分を引伸ばすステップとを含む変換を施すステップと、 (3) 上記変換された第1の部分に従って白色化傾斜ベクトルを発生するス テップと、 (4) 上記変換された第1の部分に従ってカウント・ベクトルを発生するス テップと、 (5) 上記シンボルの少なくとも第2の部分と交わる第2の走査線を選択す るステップと、 (6) 上記第2の部分に対して、この第2の部分を上記イメージ中のピクセ ルの行あるいは列のいずれかに実質的に平行な角度に回転させるステップと上記 第2の部分を引伸ばすステップとを含む変換を施すステップと、 (7) 上記変換された第2の部分に従って白色化傾斜ベクトルを更新するス テップと、 (8) 上記変換された第2の部分に従ってカウント・ベクトルを更新するス テップと、 (9) 上記白色化傾斜べクトルと上記カウント・ベクトルとに従って上記第 1の信号を発生するステップと、 を含む請求項1記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 14.ステップ(a)の(7)は、上記変換された第1の部分に対応する第1の 白色化傾斜値と上記変換された第2の部分に対応する第2の白色化傾斜値とを加 え合わせることによって上記白色化傾斜ベクトルの素子を更新するステップを含 む、請求項13記載のピクセル・イメージのバーコード・シンボルを読取る方法 。 15.ステップ(a)の(9)は、上記白色化傾斜ベクトルの素子を上記カウン ト・ベクトルの対応する素子で割ることにより上記第1の信号の素子を計算する ステップを含む、請求項13記載のピクセル・イメージのバーコード・シンボル を読取る方法。 16.(a)バーコード・シンボルに対して、このシンボルを上記イメージ中 のピクセルの行あるいは列のいずれかに実質的に平行な角度に回転させるステッ プと上記シンボルを引伸ばすステップとを含む変換を施すステップと、 (b)上記変換されたシンボルのバーおよびスペースに実質的に垂直な第 1の走査線を選択するステップと、 (c)上記第1の走査線に従って白色化傾斜信号を発生するステップと、 (d)上記第1の走査線に従って黒色化傾斜信号を発生するステップと、 (e)上記白色化傾斜信号および黒色化傾斜信号に従って上記シンボルを デコードするステップと、 とからなるピクセル・イメージのバーコード・シンボルを読取る方法。 17.ステップ(e)は、 (1) 白色化傾斜信号を少なくとも1個の白色化セグメントにセグメント 化するステップと、 (2) 黒色化傾斜信号を少なくとも1個の黒色化セグメントにセグメント 化するステップと、 (3) 暗から明への遷移に対応する上記白色化セグメントにおける第1の 位置を選択するステップと、 (4) 明から暗への遷移に対応する上記黒色化セグメントにおける第2の 位置を選択するステップと、 (5) 上記第1および第2の位置に従って上記シンボルをデコードするス テップと、 を含む請求項16記載のピクセル・イメージのバーコード・シンボルを読取る方 法。 18.さらに、(f)上記シンボルの少なくとも第2の部分と交わる第2の走 査線を選択するステップと、 (g)上記第2の部分に従って上記白色化傾斜信号を更新するステップと 、 (h)上記第2の部分に従って上記黒色化傾斜信号を更新するステップと 、 を含む請求項16記載のピクセル・イメージのバーコード・シンボルを読取る方 法。 19.(a)バーコード・シンボルに対応する白色化傾斜信号を受信するステ ップと、 (b)上記白色化傾斜信号を少なくとも1個の白色化セグメントにセグメ ント化するステップと、 (c)暗から明への遷移に対応する上記白色化セグメントにおける第1の 位置を選択するステップと、 (d)バーコード・シンボルに対応する黒色化傾斜信号を受信するステッ プと、 (e)上記黒色化傾斜信号を少なくとも1個の黒色化セグメントにセグメ ント化するステップと、 (f)明から暗への遷移に対応する上記黒色化セグメントにおける第2の 位置を選択するステップと、 (g)上記第1および第2の位置に従って上記シンボルをデコードするス テップと、 からなるピクセル・イメージのバーコード・シンボルを読取る方法。 20.(a)バーコード・シンボル中の暗から明への遷移を表わす第1の信号 を発生する手段と、 (b)上記バーコード・シンボル中の明から暗への遷移を表わす第2の信号を 発生する手段と、 (c)上記第1の信号と第2の信号に従って上記シンボルをデコードする手段 と、 からなるピクセル・イメージのバーコード・シンボルを読取る装置。 21.(a)上記シンボルに対して、このシンボルを上記イメージ中のピクセ ルの行あるいは列のいずれかに実質的に平行な角度に回転させる手段と上記シン ボルを引伸ばす手段とを含む変換を施す手段と、 (b)上記変換されたシンボルのバーおよびスペースに実質的に垂直な第 1の走査線を選択する手段と、 (c)上記第1の走査線に従って白色化傾斜信号を発生する手段と、 (d)上記第1の走査線に従って黒色化傾斜信号を発生する手段と、 (e)上記白色化傾斜信号および黒色化傾斜信号に従って上記シンボルを デコードする手段と、 とからなるピクセル・イメージのバーコード・シンボルを読取る装置。 22.(a)バーコード・シンボルに対応する白色化傾斜信号を受信する手段 と、 (b)上記白色化傾斜信号を少なくとも1個の白色化セグメントにセグメ ント化する手段と、 (c)暗から明への遷移に対応する上記白色化セグメントにおける第1の 位置を選択する手段と、 (d)上記バーコード・シンボルに対応する黒色化傾斜信号を受信する手 段と、 (e)上記黒色化傾斜信号を少なくとも1個の黒色化セグメントにセグメ ント化する手段と、 (f)明から暗への遷移に対応する上記黒色化セグメントにおける第2の 位置を選択する手段と、 (g)上記第1および第2の位置に従って上記シンボルをデコードする手 段と、 からなるピクセル・イメージのバーコード・シンボルを読取る装置。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD),AM,AT, AU,BB,BG,BR,BY,CA,CH,CN,C Z,DE,DK,EE,ES,FI,GB,GE,HU ,JP,KE,KG,KP,KR,KZ,LK,LR, LT,LU,LV,MD,MG,MN,MW,NL,N O,NZ,PL,PT,RO,RU,SD,SE,SI ,SK,TJ,TT,UA,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.キャラクタが1あるいはそれ以上のスペースと1あるいはそれ以上のバー とからなるバーコード・シンボルの上記キャラクタをデコードする方法であって 、 (a)上記スペースの幅と上記バーの幅を決定するために上記シンボルを走査 するステップと、 (b)上記スペースの幅に従ってスペース幅スレッショルドを決定するステッ プと (c)上記バーの幅に従って、上記スペース幅スレッショルドと異なるバー幅 スレッショルドを決定するステップと、 (d)上記の各スペースを上記スペース幅スレッショルドと比較するステップ と、 (e)上記の各バーを上記バー幅スレッショルドと比較するステップと、 (f)上記ステップ(d)および(e)における比較に従って上記キャラクタ をデコードするステップと、 からなる上記バーコード・シンボルの上記キャラクタをデコードする方法。 2.上記スペース幅スレッショルドは上記スペースの最も広いスペース幅と最 も狭いスペース幅との平均であり、 上記バー幅スレッショルドは上記バーの最も広いバー幅と最も狭いバー幅との 平均であり、 上記ステップ(d)は上記の各スペースが狭いか広いかを決定するために上記 各スペースを上記スペース幅スレッショルドと比較するステップを含み、 上記ステップ(e)は上記の各バーが狭いか広いかを決定するために上記各バ ーを上記バー幅スレッショルドと比較するステップを含む、 請求項1記載のバーコード・シンボルの上記キャラクタをデコードする方法。 3.上記バーコード・シンボルはコード39シンボルであり、上記キャラクタ は4個のスペースと5個のバーとからなる、請求項1記載のバーコード・シンボ ルの上記キャラクタをデコードする方法。 4.上記バーコード・シンボルはインタリーブされたコード2オブ5(2 of 5)シンボルであり、上記キャラクタは5個のスペースと5個のバーとからなる 、請求項1記載のバーコード・シンボルの上記キャラクタをデコードする方法。 5.上記バーコード・シンボルはピクセル・イメージ形式であり、ステップ( a)は、 (1) 上記シンボルに従ってコンポジット信号を発生するステップと、 (2) 上記コンポジット信号に従って上記スペースの幅と上記バーの幅を決 定するステップと、 からなる、請求項1記載のバーコード・シンボルの上記キャラクタをデコードす る方法。 6.上記バーコード・シンボルはピクセル・イメージ形式であり、ステップ( a)は、 (1) 上記シンボルに従って白色化傾斜信号と黒色化傾斜信号を発生するス テップと、 (2) 上記白色化傾斜信号と黒色化傾斜信号に従って上記スペースの幅と上 記バーの幅を決定するステップと、 からなる、請求項1記載のバーコード・シンボルの上記キャラクタをデコードす る方法。 7.上記バーコード・シンボルは2進ピクセル・イメージ形式であり、さらに 上記シンボルの静止区域に対するバイトに基づくサーチを使用して上記イメージ 中の上記シンボルの位置を求めるステップを含む、請求項1記載のバーコード・ シンボルの上記キャラクタをデコードする方法。 8.上記バーコード・シンボルは2進ピクセル・イメージ形式であり、さらに 上記シンボルの複数の明/暗の遷移に対するバイトに基づくサーチを使用して上 記イメージの上記シンボルの位置を求めるステップを含む、請求項1記載のバー コード・シンボルの上記キャラクタをデコードする方法。 9.キャラクタが1あるいはそれ以上のスペースと1あるいはそれ以上のバー とからなるバーコード・シンボルの上記キャラクタをデコードする装置であって 、 (a)上記スペースの幅と上記バーの幅を決定するために上記シンボルを走査 する手段と、 (b)上記スペースの幅に従ってスペース幅スレッショルドを決定する手段と 、 (c)上記バーの幅に従って、上記スペース幅スレッショルドと異なるバー幅 スレッショルドを決定する手段と、 (d)上記の各スペースを上記スペース幅スレッショルドと比較する手段と、 (e)上記の各バーを上記バー幅スレッショルドと比較する手段と、 (f)上記手段(d)および(e)における比較に従って上記キャラクタをデ コードする手段と、 からなる上記バーコード・シンボルの上記キャラクタをデコードする装置。 10.上記スペース幅スレッショルドは上記スペースの最も広いスペース幅と 最も狭いスペース幅との平均であり、 上記バー幅スレッショルドは上記バーの最も広いバーと最も狭いバーとの平均 であり、 上記手段(d)は上記各スペースが狭いか広いかを決定するために上記各スペ ースを上記スペース幅スレッショルドと比較する手段を含み、 上記手段(e)は上記各バーが狭いか広いかを決定するために上記各バーを上 記バー幅スレッショルドと比較する手段を含む、 請求項1記載のバーコード・シンボルの上記キャラクタをデコードする装置。 11.上記バーコード・シンボルはコード39シンボルであり、上記キャラク タは4個のスペースと5個のバーとからなる、請求項9記載のバーコード・シン ボルの上記キャラクタをデコードする装置。 12.上記バーコード・シンボルはインタリーブされたコード2オブ5(2 o f 5)シンボルであり、上記キャラクタは5個のスペースと5個のバーとからな る、請求項9記載のバーコード・シンボルの上記キャラクタをデコードする装置 。 13.上記バーコード・シンボルはピクセル・イメージの形式であり、手段( a)は、 (1) 上記シンボルに従ってコンポジット信号を発生する手段と、 (2) 上記コンポジット信号に従って上記スペースの幅と上記バーの幅を決 定する手段と、 を含む、請求項9記載のバーコード・シンボルの上記キャラクタをデコードする 装置。 14.上記バーコード・シンボルはピクセル・イメージあり、手段(a)は、 (1) 上記シンボルに従って白色化傾斜信号と黒色化傾斜信号を発生する手 段と、 (2) 上記白色化傾斜信号と黒色化傾斜信号に従って上記スペースの幅と上 記バーの幅を決定する手段と、 を含む、請求項9記載のバーコード・シンボルの上記キャラクタをデコードする 装置。 15.上記バーコード・シンボルは2進ピクセル・イメージの形であり、さら に上記シンボルの静止区域に対するバイトに基づくサーチを使用して上記イメー ジ中の上記シンボルの位置を求める手段を含む、請求項9記載のバーコード・シ ンボルの上記キャラクタをデコードする装置。 16.上記バーコード・シンボルは2進ピクセル・イメージであり、さらに上 記シンボルの複数の明/暗の遷移に対するバイトに基づくサーチを使用して上記 イメージ中の上記シンボルの位置を求める手段を含む、請求項9記載のバーコー ド・シンボルの上記キャラクタをデコードする装置。
JP8508683A 1993-01-29 1994-08-29 ピクセル・イメージのバーコード・シンボルを読取る方法および装置 Expired - Fee Related JP2832645B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/011,458 US5352878A (en) 1993-01-29 1993-01-29 Method and apparatus for decoding bar code symbols using independent bar and space analysis
PCT/US1994/009704 WO1996007155A1 (en) 1993-01-29 1994-08-29 Method and apparatus for decoding bar code symbols using independent bar and space analysis
EP94929112A EP0783739A1 (en) 1993-01-29 1994-08-29 Method and apparatus for decoding bar code symbols using independent bar and space analysis
EP98111652A EP0877334B1 (en) 1993-01-29 1994-08-29 Method and apparatus for decoding bar code symbols using independent bar and space analysis

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP9134378A Division JP2925515B2 (ja) 1997-05-07 1997-05-07 ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP9134379A Division JP2864012B2 (ja) 1997-05-07 1997-05-07 ピクセル・イメージのバーコード・シンボルの読取り方法および装置

Publications (2)

Publication Number Publication Date
JPH09512936A true JPH09512936A (ja) 1997-12-22
JP2832645B2 JP2832645B2 (ja) 1998-12-09

Family

ID=41110784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8508683A Expired - Fee Related JP2832645B2 (ja) 1993-01-29 1994-08-29 ピクセル・イメージのバーコード・シンボルを読取る方法および装置

Country Status (9)

Country Link
US (1) US5352878A (ja)
EP (4) EP0795836B8 (ja)
JP (1) JP2832645B2 (ja)
AT (2) ATE241180T1 (ja)
AU (1) AU7828794A (ja)
CA (1) CA2191433C (ja)
DE (1) DE69433492T2 (ja)
ES (2) ES2214662T3 (ja)
WO (1) WO1996007155A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083835A (ja) * 2010-10-07 2012-04-26 Nidec Sankyo Corp スタック型バーコード読取装置およびスタック型バーコード読取方法
JP2012083836A (ja) * 2010-10-07 2012-04-26 Nidec Sankyo Corp スタック型バーコード読取装置およびスタック型バーコード読取方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6543691B1 (en) * 1995-01-03 2003-04-08 Jerome H. Lemelson Method and apparatus for encoding and decoding bar codes with primary and secondary information and method of using such bar codes
US5777309A (en) * 1995-10-30 1998-07-07 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols
US5804802A (en) * 1996-02-14 1998-09-08 United Parcel Service Of America, Inc. Two-way data communication manager
US5963660A (en) * 1996-09-26 1999-10-05 The Boeing Company Method and apparatus for detecting and measuring laps and gaps in composite materials
US5767497A (en) * 1996-12-04 1998-06-16 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using ratio analysis of module size
US6366696B1 (en) * 1996-12-20 2002-04-02 Ncr Corporation Visual bar code recognition method
DE19724711B4 (de) * 1997-06-11 2004-09-16 Sick Ag Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes
US5984078A (en) 1997-08-04 1999-11-16 United Parcel Service Of America, Inc. Automated shuttle sorter for conveyors
US6758391B1 (en) 1997-11-18 2004-07-06 The Code Corporation Internet access of goods and services using graphical codes
ATE201783T1 (de) 1997-12-24 2001-06-15 Datalogic Spa Verfahren zur erkennung eines strichkodes auf einer abtastzeile und vorrichtung zur erkennung und dekodierung eines strichkodes
US5969326A (en) * 1998-01-14 1999-10-19 Intermec Ip Corp. Method and apparatus of autodiscriminating in symbol reader employing prioritized and updated table of symbologies
US6102295A (en) * 1998-01-14 2000-08-15 Intermec Ip Corp. Method and apparatus for decoding symbols by declaring erasures of element characteristics
US7147161B2 (en) 1998-06-12 2006-12-12 Symbol Technologies, Inc. Digitizing bar code symbol data
US6328213B1 (en) * 1998-06-12 2001-12-11 Symbol Technologies, Inc. Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions
US6513714B1 (en) 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
EP1114390B1 (en) 1998-09-14 2015-08-26 Datalogic ADC, Inc. Bar code label reconstruction system and methodologies
US6454168B1 (en) 1998-09-14 2002-09-24 Psc Scanning, Inc. Correlation and stitching techniques 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
US6494376B1 (en) 1998-09-14 2002-12-17 Psc Scanning, Inc. Compensation for scan line variations in a bar code scanner system
ATE203343T1 (de) * 1998-10-23 2001-08-15 Datalogic Spa Verfahren zur detektion von coden in zweidimensionalen bildern
US6189702B1 (en) 1998-11-25 2001-02-20 United Parcel Service Of America, Inc. Overhead mounted sorter for conveyors
US6082619A (en) * 1998-12-16 2000-07-04 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
US6565003B1 (en) 1998-12-16 2003-05-20 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
US6371373B1 (en) 1999-05-25 2002-04-16 Matsushita Electric Industrial Co., Ltd. Method for reading a two-dimensional barcode
US6359247B1 (en) 1999-07-06 2002-03-19 Quantum Conveyor Systems, Llc Multi-fire and variable fire diverter conveyor system and method
US6666377B1 (en) * 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US6761314B2 (en) * 2000-10-03 2004-07-13 Symbol Technologies, Inc. Bar code symbology for consumer scanning applications
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
US20020143814A1 (en) * 2001-03-27 2002-10-03 The Code Corporation Systems and methods for automatic insertion of machine-readable graphical codes into printable documents
US7072974B2 (en) 2001-03-27 2006-07-04 The Code Corporation Extensible application interface using machine-readable graphical codes
US6978038B2 (en) * 2001-04-13 2005-12-20 The Code Corporation Systems and methods for pixel gain compensation in machine-readable graphical codes
US7185824B2 (en) * 2001-04-13 2007-03-06 The Code Corporation System and method for associating pre-printed machine-readable graphical codes with electronically-accessible data
WO2002084879A2 (en) * 2001-04-13 2002-10-24 The Code Coproration System and method for encoding and decoding data and references to data in machine-readable graphical codes
KR100339691B1 (ko) * 2001-11-03 2002-06-07 한탁돈 코드인식을 위한 장치 및 그 방법
US20030163396A1 (en) * 2002-02-27 2003-08-28 John Blankevoort Systems and methods for tracking products as they move through a supply chain
US20030163800A1 (en) * 2002-02-27 2003-08-28 Weiyang Zhou System and method for generating graphical codes containing a plurality of data fields
US7097099B2 (en) * 2002-07-29 2006-08-29 The Code Corporation Data collection device with integrated data translation
US7392933B2 (en) * 2002-07-29 2008-07-01 The Code Corporation Systems and methods for interfacing multiple types of object identifiers and object identifier readers to multiple types of applications
US7621453B2 (en) * 2002-07-29 2009-11-24 The Code Corporation System and method for controlling the distribution of data translation components to portable data collection devices
US7070091B2 (en) * 2002-07-29 2006-07-04 The Code Corporation Systems and methods for interfacing object identifier readers to multiple types of applications
JP4526482B2 (ja) * 2003-08-04 2010-08-18 トムソン ライセンシング 画像の雑音(ノイズ)を減じる装置と方法
US6942152B1 (en) 2004-01-21 2005-09-13 The Code Corporation Versatile graphical code reader that is configured for efficient decoding
US7519239B2 (en) * 2004-02-11 2009-04-14 The Code Corporation Systems and methods for concurrent image capture and decoding of graphical codes
US7204417B2 (en) * 2004-11-03 2007-04-17 The Code Corporation Graphical code reader that is configured for efficient decoder management
KR101158005B1 (ko) * 2007-03-06 2012-06-25 삼성전자주식회사 인쇄품질 평가지표 산출 방법 및 장치
US8267322B2 (en) * 2010-03-08 2012-09-18 Seiko Epson Corporation Method and apparatus for correcting decoding errors in machine-readable symbols
KR101748877B1 (ko) 2010-12-16 2017-06-19 엘지이노텍 주식회사 바코드 인식 장치 및 방법
JP6330388B2 (ja) * 2014-03-14 2018-05-30 オムロン株式会社 画像処理方法、画像処理装置、並びに、当該方法を実行するプログラム、及び、当該プログラムを記録する記録媒体
US9361503B2 (en) 2014-10-30 2016-06-07 Datalogic IP Tech Srl Systems, methods and articles for reading highly blurred machine-readable symbols

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3688955A (en) * 1969-11-24 1972-09-05 Automatisme Cie Gle Character-reading apparatus incorporating electronic scanning circuitry
US4323772A (en) * 1980-03-06 1982-04-06 R. J. Reynolds Tobacco Company Bar code reader system
US4411016A (en) * 1981-06-01 1983-10-18 Recognition Equipment Incorporated Barcode width measurement system
JPS61101880A (ja) * 1984-10-24 1986-05-20 Sato :Kk バ−コ−ド読取方法および装置
US4680457A (en) * 1985-03-07 1987-07-14 Telesis Controls Corporation Code reader
JPS62197877A (ja) * 1986-02-26 1987-09-01 Hitachi Ltd バ−コ−ド読取方式
US4740675A (en) * 1986-04-10 1988-04-26 Hewlett-Packard Company Digital bar code slot reader with threshold comparison of the differentiated bar code signal
US4958054A (en) * 1986-10-29 1990-09-18 Fritto-Lay Inc. Dielectric drying of hot plastic food extrudate
US4749879A (en) * 1987-06-18 1988-06-07 Spectra-Physics, Inc. Signal transition detection method and system
NO174944C (no) * 1987-09-28 1994-08-03 Sumitomo Electric Industries Fremgangsmåte og anordning for avlesning og kombinasjon av stavkodedata
FR2622992B1 (fr) * 1987-11-06 1990-02-09 Thomson Semiconducteurs Procede de lecture de codes a barres
FR2631476B1 (fr) * 1988-05-10 1992-01-03 Bertin & Cie Procede et dispositif de lecture d'un code barres sur un support sensiblement immobile
JPH07101437B2 (ja) * 1988-06-21 1995-11-01 アルプス電気株式会社 符号読取装置
US4988852A (en) * 1988-07-05 1991-01-29 Teknekron Transportation Systems, Inc. Bar code reader
US4873426A (en) * 1988-08-03 1989-10-10 Image Business Systems Corporation Technique for reading bar codes
US5036183A (en) * 1988-08-25 1991-07-30 Alps Electric Co., Ltd. Code reading device
JPH02141889A (ja) * 1988-11-22 1990-05-31 Eastman Kodatsuku Japan Kk バーコード読取方法
US4958064A (en) * 1989-01-30 1990-09-18 Image Recognition Equipment Corporation Bar code locator for video scanner/reader system
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
US5081689A (en) * 1989-03-27 1992-01-14 Hughes Aircraft Company Apparatus and method for extracting edges and lines
US5155343A (en) * 1990-03-28 1992-10-13 Chandler Donald G Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol
US4992650A (en) * 1990-03-29 1991-02-12 International Business Machines Corporation Method and apparatus for barcode recognition in a digital image
US5120940A (en) * 1990-08-10 1992-06-09 The Boeing Company Detection of barcodes in binary images with arbitrary orientation
CA2048824A1 (en) * 1990-09-28 1992-03-29 William A. Blitz System for decoding bar codes on job programming separators for electronic reprographic/printing machines
US5124537A (en) * 1990-10-29 1992-06-23 Omniplanar, Inc. Omnidirectional bar code reader using virtual scan of video raster scan memory
US5142592A (en) * 1990-12-17 1992-08-25 Moler Keith E Method and apparatus for detection of parallel edges in image processing
CA2053460A1 (en) * 1991-09-13 1993-03-14 Eugene Bernard Joseph Analog waveform decoder
US5276315A (en) * 1992-05-14 1994-01-04 United Parcel Service Of America, Inc. Method and apparatus for processing low resolution images of degraded 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
EP0584559A3 (en) * 1992-08-21 1994-06-22 United Parcel Service Inc Method and apparatus for finding areas of interest in images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083835A (ja) * 2010-10-07 2012-04-26 Nidec Sankyo Corp スタック型バーコード読取装置およびスタック型バーコード読取方法
JP2012083836A (ja) * 2010-10-07 2012-04-26 Nidec Sankyo Corp スタック型バーコード読取装置およびスタック型バーコード読取方法

Also Published As

Publication number Publication date
EP0795836A2 (en) 1997-09-17
EP0877334A2 (en) 1998-11-11
AU7828794A (en) 1996-03-22
WO1996007155A1 (en) 1996-03-07
EP0785521A3 (en) 2001-05-16
US5352878A (en) 1994-10-04
EP0795836A3 (en) 1999-12-08
EP0783739A1 (en) 1997-07-16
ATE241180T1 (de) 2003-06-15
ES2214662T3 (es) 2004-09-16
CA2191433A1 (en) 1996-03-07
DE69433492T2 (de) 2004-10-28
EP0795836B8 (en) 2003-08-13
JP2832645B2 (ja) 1998-12-09
CA2191433C (en) 2000-07-11
EP0785521B1 (en) 2004-01-21
ATE257962T1 (de) 2004-01-15
EP0795836B1 (en) 2003-05-21
DE69433492D1 (de) 2004-02-19
EP0877334A3 (en) 2000-12-06
EP0877334B1 (en) 2004-01-14
EP0785521A2 (en) 1997-07-23
ES2214563T3 (es) 2004-09-16

Similar Documents

Publication Publication Date Title
JPH09512936A (ja) ピクセル・イメージのバーコード・シンボルを読取る方法および装置
US5412197A (en) Method and apparatus for decoding bar code symbols using gradient signals
US5545887A (en) Method and apparatus for decoding bar code symbols using subpixel scan lines
US6366696B1 (en) Visual bar code recognition method
US5404003A (en) Method and apparatus for decoding bar code symbols using byte-based searching
EP1086439B1 (en) Techniques for reading postal codes
EP0543593B1 (en) Method for determining boundaries of words in text
JPH05250515A (ja) テンプレートを使用してバーコード文字を光学的に認識する方法および装置
JPH096884A (ja) 解読されないバー・コード・プロフィールをエッジ検出回路を用いてエンコードする方法および装置
CA2267892C (en) Method and apparatus for decoding bar code symbols using ratio analysis of module size
JP2000507727A (ja) 高速画像捕捉システムおよび方法
JPH07200712A (ja) バーコード読み取りの方法および装置
JPH0737103A (ja) 傾き角度検出装置
JPH0844809A (ja) 多値レベル・バー・コードまたは二値レベル・バー・コードのデコーディング方法及び装置
US7151859B2 (en) Method and system for correcting direction or orientation of document image
JP2864012B2 (ja) ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP2925515B2 (ja) ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP2003346081A (ja) 文字認識装置
JPH0750496B2 (ja) 画信号処理装置
JP2023024994A (ja) 解像度不足のシンボルをデコードするための方法と装置
JPS6379193A (ja) 文字読取装置
JPH0962789A (ja) 光学式文字読取装置のマーク認識方法
JP2001357350A (ja) 一次元バーコードの位置検出方法および一次元バーコードの位置検出装置
JP2002269491A (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: 20081002

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101002

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111002

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees