JP2000501533A - 全方向性バーコード探知器 - Google Patents

全方向性バーコード探知器

Info

Publication number
JP2000501533A
JP2000501533A JP9537239A JP53723997A JP2000501533A JP 2000501533 A JP2000501533 A JP 2000501533A JP 9537239 A JP9537239 A JP 9537239A JP 53723997 A JP53723997 A JP 53723997A JP 2000501533 A JP2000501533 A JP 2000501533A
Authority
JP
Japan
Prior art keywords
pixels
row
pixel
column
value
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
JP9537239A
Other languages
English (en)
Other versions
JP3150707B2 (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 JP2000501533A publication Critical patent/JP2000501533A/ja
Application granted granted Critical
Publication of JP3150707B2 publication Critical patent/JP3150707B2/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/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/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • General Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Error Detection And Correction (AREA)
  • Polymers With Sulfur, Phosphorus Or Metals In The Main Chain (AREA)
  • Image Analysis (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • Polishing Bodies And Polishing Tools (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)

Abstract

(57)【要約】 基板(14)上のバーコード(33)の位置およびおおよその向きを判定する効率的な方法および装置(20)。発明の方法は、好ましくは、1つまたはそれよりも多い現場でプログラム可能なゲートアレイ(FPGA)を含む特定用途向け集積回路を含む全方向性バーコード探知器によって実施される。デジタル画像は、CCDカメラ(16)が作成する標準の8ビットのグレースケールのビデオ画像を1ビット(すなわち、黒/白)で表示したものである。1ビットのデジタルビデオ信号を用いることによって、バーコードの画像を保存するのに必要な大容量記憶メモリの量が低減し、特定用途向け集積回路によるビデオ信号の操作が容易になる。全方向性バーコード探知器(20)は、リアルタイムで、CCDカメラ(16)の視界を通る小包(14a−14n)を運搬するコンベア(12)の画素化した画像(30)を規定するデジタルビデオ信号(19)を処理する。全方向性バーコード探知器(20)は、ビデオ画像(30)を複数のセルに分割し、それぞれのセルについて、セルバーコード検出信号(21)およびセルバーコード向き信号(22)という2つの出力信号を作成する。ホストコンピュータ(23)は、あるセルについての「真」のセルバーコード検出信号(21)に、ビデオ画像(30)のそのセルに対応する部分を大容量記憶メモリ(24)内に保存することによって、応答する。ホストコンピュータ(30)はまた、セルバーコード表示信号(21)か「真」であるそれぞれのセルについて、セルバーコード向き信号(22)の表示も保存する。したがって、全方向性バーコード探知器(20)によって、ホストコンピュータ(30)はバーコードデータを含むビデオ画像(30)のセルのみを保存することができる。バーコードデータは、さらに処理されるように、次にバーコード読み取り装置(23)に供給されてもよい。

Description

【発明の詳細な説明】 全方向性バーコード探知器 技術分野 本発明は、画像処理に関し、より詳細には、ベルト上の光学的読み取り装置に 関する。特に、本発明は、コンベアに沿って動く小包上のバーコードの位置およ びおおよその向きを判定する方法および装置に関する。 発明の背景 何年もの間、コンベアに沿って動く小包の走査が機械を用いて行われてきた。 小包がコンベアに沿って動く間に小包の表面の画像を捕獲し、次にその画像の表 示を作り出し処理することができる、ベルト上の光学的読み取り装置システムは 、最近開発されたものである。ベルト上の光学的読み取り装置システムの基本的 な物理的構成要素は、センサ、アナログ−デジタル(A/D)変換器、および、 中央演算処理装置(CPU)とメモリを具備するコンピュータ、である。ベルト 上の光学的読み取り装置システムの個々の物理的構成要素はすべて当業者には公 知であり、個々の物理的構成要素のそれぞれの多くの他の実施例が市販されてお り、コストや性能の特性がそれぞれ異なっている。ある用途に対して最も効率的 な構成要素の組み合わせを見つけ、こういったよく知られている物理的構成要素 が作り出す画像を処理するコンピュータのソフトウェアプログラムを開発するこ とに、多くの労力が注がれている。 ベルト上の光学的読み取り装置システムには、電荷結合素子(CCD)センサ のアレイが用いられることが多い。CCDカメラは、それぞれが画素にぶつかる 光の量に応じて蓄積電荷を蓄える電子「画素」のアレイからなっている。CCD カメラを用いて、小包がコンベアに沿って動く際に小包の表面の画像が捕獲され る。画像はデジタル形式に変換され、変換された画像はコンピュータのメモリ内 にビット・マップとして記憶することができる。その後それぞれの画素内の電荷 が読み取られるにつれ、CCDのアレイはクリアされ、アレイは別の小包または 小包の一部分の画像を捕獲する準備ができる。このようにして、単一のCCDカ メラを用いて、非常に多くの小包が走査される。 CCDカメラが捕獲した画像を処理するのに用いることができるコンピュータ は、計算速度その他のパラメータが様々である。一般的に、高速のコンピュータ は低速のコンピュータよりも高価であり、メモリ容量の大きいコンピュータはメ モリ容量の小さいコンピュータよりも高価であり、専用コンピュータは汎用コン ピュータよりも高価である。したがって、安価な計算装置がある目的に適してい る場合には、そういったものを用いる金銭上の誘因がある。 United Parce1 Service(UPS)等の小包配達会社は、ベルト上の光学的読 み取り装置システムを幅広く用いている。UPSは、毎日数百万個の小包を輸送 している。それぞれの小包には、通常、小包が配達プロセスを通って動くときに その小包を識別するのに用いられる一意的な追跡番号が割り当てられている。追 跡番号は、機械が読み取ることができるバーコードの形で、小包の表面上に表示 されている。ベルト上の光学的読み取り装置システムは、配達システムの様々な 点においてこういったバーコードを読み取るのに用いられて、小包の追跡を容易 にする。バーコードを読み取るためには、バーコードの画像をまず捕獲せねばな らない。したがって、CCDカメラ等のビデオデータ源が通常用いられて、コン ベアが小包を運搬するときのコンベアの連続画像が作成される。 連続的に作動するCCDカメラは、膨大な量のコンピュータ・データを生成す る。このデータの大部分は、コンベアおよびコンベアに沿って動く小包のバーコ ードのついていない領域という無用の画像である。データのほんのわずか割合が 、バーコードを含む。連続的に作動するCCDカメラによって作成されるデータ のすべてを保存しようとすれば、膨大な量のコンピュータメモリが必要となろう 。したがって、小包がコンベアに沿って動くときに、その小包上のバーコードの 位置をリアルタイムで正確に識別することができる、安価な計算装置が必要であ る。そうすれば、バーコード位置情報を用いて、バーコード読み取り装置が用い るために保存する必要があるCCDカメラのデータの量を、バーコードが検出さ れる比較的小さな領域に限定することができる。 Chandler他の米国特許番号第5,296,690号および5,155,343 号は、バーコードの位置および向きを判定する全方向性バーコード読み取り装置 を説明している。バーコードを含む二次元のラスタ走査の画像は、捕獲され、汎 用コンピュータのメモリ内に保存される。次に、2つの平行な走査線の組が処理 されて、バーコードの位置および向きが判定される。Chandler他の説明する、バ ーコードを探知する方法では、2つの平行な走査線のそれぞれの導関数(deriva tives)の積を点ごとに計算することが必要である。バーコードの位置およびお およその向きは、水平、上向きの斜線、垂直、および下向きの斜線、という4つ の方向のそれぞれに画像を走査することによって判定される。バーコードの精密 な向きは、2つ1組の平行な走査線を相互相関させることによって判定される。 Chandler他の説明するシステムでは、特定用途向け集積回路(ASIC)を用い て、バーコードの位置およびおおよその向きを判定し、次にデジタル信号プロセ ッサのプログラムを用いて、おおよそ探知したバーコードの位置を精密に確定し 、フィルタをかけ、走査する。 Chandler他の説明するシステムは、コンベアに沿って動く小包上のバーコード を読み取るシステムに適用する場合には、重大な欠点を有する。すなわち、CC Dカメラに捕獲されたデータすべてが、次にデジタル信号プロセッサによって処 理されるように保存されねばならない、というのも、Chandler他の説明するシス テムは、コンベアに沿って動く小包上のバーコードの位置および向きをリアルタ イムで判定するようには動作できないからである。上述のように、動くコンベア を連続的に操作するのに用いられるCCDカメラが捕獲するデータの大部分は、 コンベアおよびコンベアに沿って動く小包のバーコードを含まない領域という無 用の画像である。データのほんのわずかな割合が、バーコードを含む。 したが って、Chandler他の後も、改良した高速で低コストの全方向性バーコード探知器 が依然として必要とされている。また、改良した計算が効率的な全方向性バーコ ード探知器も、依然として必要とされている。具体的には、コンベアに沿って動 く小包上のバーコードの位置およびおおよその向きをリアルタイムで判定するの に用いることができ、次にバーコード読み取り装置によって処理されるように保 存されねばならないCCDカメラのデータの量を低減することができる、全方向 性バーコード探知器が、依然として必要とされている。 発明の要約 本発明の目的は、改良した高速で低コストの、計算が効率的な全方向性バーコ ード探知器を提供することである。具体的には、本発明の目的は、コンベアに沿 って動く小包上のバーコードの位置およびおおよその向きをリアルタイムで判定 するのに用いることができ、次にバーコード読み取り装置によって処理されるよ うに保存されねばならないCCDカメラのデータの量を低減することができる、 全方向性バーコード探知器を提供することである。 本発明は、基板上のバーコードの位置およびおおよその向きを判定する効率的 な方法を提供することによって、これらの目的を達成する。発明の方法は、好ま しくは、1つ以上の現場でプログラム可能なゲートアレイ(FPGA)を含む特 定用途向け集積回路を含む全方向性バーコード探知器によって実施される。全方 向性バーコード探知器は、リアルタイムで、CCDカメラの視界を通る小包を運 搬するコンベアの画素化した画像を規定するデジタルビデオ信号を処理する。デ ジィット画像は、CCDカメラが作成する標準の8ビットのグレースケールのビ デオ画像を1ビット(すなわち、黒/白)で表示したものである。1ビットのデ ジタルビデオ信号を用いることによって、バーコードの画像を保存するのに必要 な大容量記憶メモリの量が低減し、特定用途向け集積回路によるビデオ信号の操 作が容易になる。全方向性バーコード探知器は、ビデオ画像を複数のセルに分割 し、それぞれのセルについて、セルバーコード表示(indication)信号およびセル バーコード向き信号という2つの出力信号を作成する。ホストコンピュータは、 あるセルについての「真」のセルバーコード表示信号に、ビデオ画像のそのセル に対応する部分を大容量記憶メモリ内に保存することによって、応答する。ホス トコンピュータはまた、セルバーコード表示信号が「真」であるそれぞれのセル について、セルバーコード向き信号の表示も保存する。したがって、全方向性バ ーコード探知器によって、ホストコンピュータはバーコードデータを含むビデオ 画像のセルのみを保存することができる。バーコードデータは、さらに処理され るように、次にバーコード読み取り装置に供給されてもよい。 一般的に言って、本発明は、基板上のバーコードの画像を検出し保存する方法 を提供する。基板の画素化した画像を規定する画素の連続が得られる。画素の連 続は、バッファメモリを通って運ばれ、画素は複数のセルに割り当てられる。そ れぞれのセルについて、セルバーコード表示値が決定され、セルバーコード表示 値が所定のしきい値よりも大きい場合には、セル内の画素は大容量記憶コンピュ ータメモリ内に保存される。さらに、それぞれのセルについて、セルバーコード 向き値が決定され、セルバーコード表示値がその所定のしきい値よりも大きい場 合には、セルバーコード向き値の表示が大容量記憶コンピュータメモリ内に保存 される。 セルバーコード表示値は、セル内のそれぞれの画素について計算される。水平 ウインドウ内の現在の行の画素を前の行の画素と3方向において比較することに よって、現在の画素についてのバーコードの存在が検出される。水平の比較につ いて、1方向に比較的多数の適合する画素が見いだされ、別の方向に比較的少数 しか適合するものが見いだされない場合には、現在の画素は、バーコード候補画 素として識別される。同様に、垂直ウインドウ内の現在の列の画素を前の列の画 素と3方向において比較することによってもまた、現在の画素についてのバーコ ードの存在が検出される。垂直の比較について、一方向に比較的多数の適合する 画素が見いだされ、別の方向に比較的少数しか適合するものが見いだされない場 合には、現在の画素は、バーコード候補画素として識別される。セルバーコード 表示値は、セル内のバーコード候補画素の数を合計することによって計算される 。 基板上のバーコードの存在を検出する発明の方法を、一般的に以下に説明する 。基板の画素化した画像が得られる。画素化した画像は、斜めの下から上への画 素の列を形成する連続した平行な左から右への画素の行を含む。第1の水平比較 値が、現在の行の画素の強さを前の行の画素の強さと比較することによって計算 され、それぞれの比較について、現在の行の画素の列は、前の行の画素の列の左 にある。第2の水平比較値が、現在の行の画素の強さを前の行の画素の強さと比 較することによって計算され、それぞれの比較について、現在の行の画素の列は 、前の行の画素の列と同じである。第3の水平比較値が、現在の行の画素の強さ を前の行の画素の強さと比較することによって計算され、それぞれの比較につい て、現在の行の画素の列は、前の行の画素の列の右にある。水平バーコード検出 値が、第1、第2、および第3の比較値のうちの1つまたはそれよりも多くを基 にして 計算される。次に水平バーコード検出値が、水平バーコード検出しきい値と比較 される。水平バーコード向き値もまた、第1、第2、および第3の水平比較値の うちの1つまたはそれよりも多くを基にして計算されてもよい。 基板上のバーコードの存在を検出する発明の方法を、以下により詳細に説明す る。基板の画素化した画像が得られる。画素化した画像は、斜めの下から上への 画素の列を形成する連続した平行な左から右への画素の行を含む。複数の画素を 含むセルが規定される。セル内の複数の画素のそれぞれについて、画素の現在の 行に沿った複数の隣接する画素を含む、水平ウインドウが規定される。第1の水 平比較値が、現在の行の画素の強さを前の行の画素の強さと比較することによっ て計算され、それぞれの比較について、現在の行の画素の列は、前の行の画素の 列の左にある。第2の水平比較値が、現在の行の画素の強さを前の行の画素の強 さと比較することによって計算され、それぞれの比較について、現在の行の画素 の列は、前の行の画素の列と同じである。第3の水平比較値が、現在の行の画素 の強さを前の行の画素の強さと比較することによって計算され、それぞれの比較 について、現在の行の画素の列は、前の行の画素の列の右にある。次に、現在の 画素について、第1、第2、および第3の水平比較値のうちの1つまたはそれよ りも多くを基にして、水平バーコード検出値が計算される。 画素の現在の列に沿って複数の隣接する画素を含む垂直ウインドウもまた規定 される。第1の垂直比較値が、現在の列の画素の強さを前の列の画素の強さと比 較することによって計算され、それぞれの比較について、現在の行の画素の行は 、前の列の画素の行の上である。第2の垂直水平比較値が、現在の列の画素の強 さを前の列の画素の強さと比較することによって計算され、それぞれの比較につ いて、現在の列の画素の行は、前の列の画素の行と同じである。第3の垂直比較 値が、現在の列の画素の強さを前の列の画素の強さと比較することによって計算 され、それぞれの比較について、現在の列の画素の行は、前の列の画素の行の下 である。次に、現在の画素について、第1、第2、および第3の垂直比較値のう ちの1つまたはそれよりも多くを基にして、垂直バーコード検出値が計算される 。 それぞれの画素について、水平バーコード検出値が水平バーコード検出しきい 値と比較され、垂直バーコード検出値が垂直バーコード検出しきい値と比較され る。セル内の画素についての水平および垂直バーコード検出値を基にしてセルバ ーコード表示値が計算され、このセルバーコード表示値がセルしきい値と比較さ れる。さらに、第1、第2、および第3の水平比較値のうちの1つまたはそれよ りも多くを基にして、それぞれの画素について水平バーコード向き値を計算して もよい。同様に、第1、第2、および第3の垂直比較値のうちの1つまたはそれ よりも多くを基にして、それぞれの画素について垂直バーコード向き値を計算し てもよい。そして、セル内の画素について、水平および垂直バーコード向き値を 基にして、セルバーコード向き値を計算してもよい。 本発明の他の態様によれば、前の行は現在の行の直前に(precede)あってもよ く、前の列は現在の列の直前にあってもよい。さらに、第1の水平比較値を計算 する段階は、現在の行の画素の強さを前の行の画素の強さと比較することを含み 、それぞれの比較について、現在の行の画素の列は、前の行の画素の列の1列左 であってもよい。第3の水平比較値を計算する段階は、現在の行の画素の強さを 前の行の画素の強さと比較することを含み、それぞれの比較について、現在の行 の画素の列は、前の行の画素の列の1列右であってもよい。第1の垂直比較値を 計算する段階は、現在の列の画素の強さを前の列の画素の強さと比較することを 含み、それぞれの比較について、現在の列の画素の行は、前の列の画素の行の1 行上であってもよい。第3の垂直比較値を計算する段階は、現在の列の画素の強 さを前の列の画素の強さと比較することを含み、それぞれの比較について、現在 の列の画素の行は、前の列の画素の行の1行下であってもよい。 本発明の他の態様によれば、セルバーコード表示値がセルしきい値よりも大き い場合には、そのセル内にある画素化した画像の部分は、大容量記憶コンピュー タメモリ内に保存される。さらに、セルバーコード表示値がセルしきい値よりも 大きい場合には、セルバーコード向き値の表示が大容量記憶コンピュータメモリ 内に保存される。 本発明の他の態様によれば、セル内の画素のそれぞれの行について行われる各 段階は、セル内の画素のそれぞれの列について行われる各段階と同時に行われる 。さらに、水平バーコード向き値が水平バーコード検出値と同時に計算され、垂 直バーコード向き値が垂直バーコード検出値と同時に計算される。 本発明はまた、基板上のバーコードの存在およびおおよその向きを検出するよ うに動作可能な装置も提供する。装置は、基板の画素化した画像を含むデジタル ビデオ信号を受け取るように動作可能なバッファメモリを含み、画素化した画像 は、上向きの斜線の画素の列を形成する、連続した平行の左から右への画素の行 を含む。装置はまた、バッファメモリから画素の連続を受け取り、複数の画素に ついて、画素の現在の行に沿って隣接する複数の画素を含む水平ウインドウを規 定し、現在の行の画素の前の行の画素との比較を基にして水平バーコード検出値 を計算するように動作可能な、水平検出器も含む。装置はまた、バッファメモリ から画素の連続を受け取り、複数の画素について、画素の現在の列に沿って隣接 する複数の画素を含む垂直ウインドウを規定し、現在の列の画素の前の列の画素 との比較を基にして垂直バーコード検出値を計算するように動作可能な、垂直検 出器も含む。装置はまた、水平検出器から水平バーコード検出値を受け取り、垂 直検出器から垂直バーコード検出値を受け取り、水平バーコード検出値および垂 直バーコード検出値を基にして複数の画素について候補値を決定するように動作 可能な、トリガ検出器も含む。装置はまた、トリガ検出器から候補値を受け取り 、複数の画素を含むセルを規定し、セル内の画素に対応する候補値を基にしてセ ルバーコード表示値を決定するように動作可能な、合計器も含む。 本発明の他の態様によれば、水平検出器はさらに、複数の画素について、現在 の行の画素の前の行の画素との比較を基にして水平バーコード向き値を計算する ように動作可能である。垂直検出器はさらに、複数の画素について、現在の列の 画素の前の列の画素との比較を基にして垂直バーコード向き値を計算するように 動作可能である。トリガ検出器はさらに、複数の画素について、水平および垂直 バーコード向き値を基にして候補向き値を決定するように動作可能である。合計 器はさらに、セル内の画素に対応する候補向き値を基にしてセルバーコード向き 値を決定するように動作可能である。 本発明の他の態様によれば、1つまたはそれよりも多い水平検出器、垂直検出 器、トリガ検出器、および合計器は、現場でプログラム可能なゲートアレイを含 む。 本発明が、従来技術の欠点を改良し本発明の目的を達成する、ということは、 以下の好適な実施例の詳細な説明、および添付の図面および請求の範囲から明白 となろう。 図面の簡単な説明 図1は、本発明の好適な実施例の動作環境を提供する、ベルト上の光学的バー コード読み取り装置システムの図である。 図2は、図2Aおよび2Bを含み、ベルト上の光学的バーコード読み取り装置 システムにおけるCCDカメラによるデジタルビデオ信号の作成を示す。 図3は、図3Aおよび3Bを含み、デジタル画像内の画素位置を規定する取り 決め(convention)を示す。 図4は、図4A−4Fを含み、全方向性バーコード探知器における比較値の計 算を示す。 図5は、図5A−5Dを含み、135°、0゜、45゜、および90゜の向き のバーコードを示す。 図6は、全方向性バーコード探知器用の好適な特定用途向け集積回路を示す機 能ブロック図である。 図7は、全方向性バーコード探知器用の好適な特定用途向け集積回路に組み込 まれる水平検出器の機能ブロック図である。 図8は、全方向性バーコード探知器用の好適な特定用途向け集積回路に組み込 まれる垂直検出器の機能ブロック図である。 図9は、水平検出器用のコンピュータが実施する処理の論理フロー図である。 図10は、水平比較値を計算するコンピュータが実施するルーチンの論理フロ ー図である。 図11は、水平比較値を計算するコンピュータが実施するルーチンの他の論理 フロー図である。 図12は、垂直検出器用のコンピュータが実施する処理の論理フロー図である 。 図13は、垂直比較値を計算するコンピュータが実施するルーチンの論理フロ ー図である。 図14は、垂直比較値を計算するコンピュータが実施するルーチンの他の論理 フロー図である。 図15は、トリガ検出器用のコンピュータが実施する処理の論理フロー図であ る。 図16は、合計器用のコンピュータが実施する処理の論理フロー図である。 図17は、バーコードの検出を決定するルーチンの論理フロー図である。 詳細な説明 以下の詳細な説明は、主として、処理ユニットが操作し1つまたはそれよりも 多いメモリ記憶装置によって供給されるデータ構造内に保持されるデータビット の動作の処理および記号表示に関して行っている。このようなデータ構造は、コ ンピュータのメモリ内に保存されたデータビットの収集に物理的機構を課し、あ る特定の電気または磁気要素を表示せねばならない。こういった算法記述および 記号表示は、コンピュータプログラミングおよびコンピュータ構成の分野におけ る当業者が用いる、他の同業者に最も効果的に教示および発見を伝えるために用 いる手段である。 この説明のために、ある方法または処理は、一般的に、所望の結果を導く、コ ンピュータが実行する一連のステップと考えられる。こういった機械が実行する ステップは、実行可能なプログラムのモジュール(すなわちソフトウェア)また は特定用途向け集積回路(すなわちハードウェア)の形で維持されることも可能 だが、通常、物理量の物理的操作を必要とする。必ずというわけではないが、通 常、こういった量は、記憶、転送、組み合わせ、比較、その他の操作をすること ができる、電気的、磁気的、または光学的信号の形をとる。当業者はこれまで、 こういった信号を、ビット、値、要素、記号、文字、用語、数、記録、ファイル 、等と呼んできた。しかし、こういった、および同様の用語は、コンピュータの 動作の適当な物理量と関連するべきであり、こういった用語はコンピュータ内に 存在する物理量にこれまで張られてきたラベルに過ぎない、ということを頭に置 いておくべきである。 さらに、本明細書で説明するプログラム、処理、方法、等は、いかなる特定の コンピュータ、プロセッサ、または装置にも関係するまたは制限されるものでは ない、ということが理解されるべきである。むしろ、様々なタイプの計算装置を 用いて本明細書で説明する方法の各段階を行ってもよい。特に、本明細書で説明 する好適な実施例は、1つまたはそれよりも多い現場でプログラム可能なゲート アレイ(FPGA)を含む特定用途向け集積回路に依存して、本明細書で説明す るコンピュータが実施する処理を行う。しかし、従来技術のノイマン型プロセッ サその他のタイプの専用ハードウェアシステムを同等に用いても、本明細書で説 明する方法の各段階を行うことができる、ということが理解されよう。 本発明の好適な実施例の動作環境の説明 次に図面を参照して、これらの図面において同じ数字は同じ要素をさすが、図 1は、本発明の好適な実施例の動作環境を提供する、ベルト上の光学的バーコー ド読み取り装置システム10の図である。バーコード読み取り装置システム10 は、その上を小包14aないし14nが運ばれるコンベア12を含む。ベルトエ ンコーダ15は、コンベア12の水平移動を示す信号を作成する。CCDカメラ 16は、ベルトエンコーダ15が作成した信号を受け取り、小包がCCDカメラ 16の下を通るときの反射光から、コンベア12および小包14aないし14n の表面の標準の8ビットのグレースケールのビデオ画像を作成する。CCDカメ ラ16は、ビデオ画像および関連する制御信号17を、デジタイザ18に送る。 デジタイザ18は、CCDカメラが作成したアナログのビデオ画像を8ビットの グレースケールのビデオ信号26に変換し、それを、大容量記憶メモリ24を含 むホストコンピュータ23に送る。また、1ビット(すなわち、黒/白)のデジ タルビデオ信号19に変換し、それを、全方向性バーコード探知器20に送る。 全方向性バーコード探知器20は、バーコード検出信号21およびバーコード向 き信号22を生成し、それらはホストコンピュータ23に送られる。デジタイザ 18はまた、走査線有効信号および画素クロック信号を含む制御信号25を、全 方向性バーコード探知器20およびホストコンピュータ23に送る。これらの構 成要素の詳細な説明および全方向性バーコード探知器20の動作の詳細な説明は 、以下で行う。 要するに、全方向性バーコード探知器20は、リアルタイムで1ビットのビデ オ信号19を処理して、小包14aないし14nがCCDカメラ16の下を通る ときのバーコード検出信号21およびバーコード向き信号22を決定する。ホス トコンピュータ23は、8ビットのグレースケールのビデオ信号26のバーコー ドデータを含む部分を大容量記憶メモリ24内に保存することによって、バーコ ード検出信号21に応答する。ホストコンピュータ23はまた、大容量記憶メモ リ24内に、バーコード向き信号22の表示も保存する。バーコードは次に、ホ ストコンピュータ23またはその他の装置によって、通常非リアルタイムベース で、読み取ったり解釈されてもよい。したがって、全方向性バーコード探知器2 0によって、バーコードデータが8ビットのグレースケールのビデオ信号26か ら抽出され、大容量コンピュータメモリ24内に保存されて、次いで処理するこ とができる。全方向性バーコード探知器20によってまた、小包14aないし1 4n上のバーコードのおおよその向きを示す値も決定され、次に処理されるよう に、大容量コンピュータメモリ24内に保存されることができる。 コンベア12は、好ましくは幅が約42インチ(107cm)であり、1秒当 たり100インチすなわち1分当たり500フィート(1秒当たり254cmす なわち1分当たり152メートル)またはそれ以上までの直線速度で動く。CC Dカメラ16は、コンベア12への光路が約154インチ(391cm)になり 、コンベア12における視界が42インチ(107cm)になるように搭載され る。これらのパラメータは、本発明の好適な実施例の性能に甚だしく影響を及ぼ さない程度にいくぶん変えてもよい。スペースを節約するために、CCDカメラ 16は、コンベア12の中央の60インチ(152cm)上に配置され、鏡の複 合体(図示せず)に向けられている。この鏡の複合体によって、CCDカメラ2 2からコンベア12までの光路は約154インチ(391cm)に増大する。例 えば、参照としてここに組み込まれるSmith他の米国特許番号第5,308,9 60号を参照されたい。また、その参照によって本明細書に組み込まれる、本発 明と所有者が同じの、「Optical Path Equalizer」という名称の、1994年8 月18日出願の、発明者がJohannnes A.S.BjornerおよびSteven L.Smithであ る、係属中の米国特許出願番号第08/292,400号も参照されたい。 CCDカメラ16は、好ましくは、Thompson TH7833AのCCDチップ を用いたもの等の、モノクロの、4,096画素の線ライン走査タイプのカメラ である。CCDカメラ16の視界は、コンベア12において約42インチ(10 7cm)であるので、CCDカメラ16が作り出す画像の解像度は、コンベア1 2を横切る方向にインチ当たり約100画素または「ドット」(DPI)(cm 当たり39ドット)である。ベルトエンコーダ15は、コンベア12の直線移動 を示す信号を供給する。CCDカメラ16は、ベルトエンコーダ15からの信号 に応答してサイクル動作し、一連のアナログ線画像を生成して、それらはデジタ イザ18に送られる。ベルトエンコーダ15は、好ましくはインチ(2.5cm )当たり約100サイクルの割合でCCDカメラ16をトリガし、CCDカメラ 16の作り出す画像の解像度が、コンベア12が動く方向にインチ当たり約10 0画素または「ドット」(DPI)(cm当たり39ドット)となるようにする 。全方向性バーコード探知器20がバーコードの存在を示す場合には、8ビット のデジタルビデオ信号26が、通常ビットマップまたはラン長さの符号化された 画像等のビットマップの同等物の形で、ホストコンピュータ23の大容量記憶メ モリ24内に保存される。アスペクト比(すなわち、画像の長さと幅の割合)が 正しいビットマップ等のデジタル画像は、CCDカメラ16のサイクル速度をコ ンベア12の速度と同期させることによって、作り出してコンピュータ23の大 容量記憶メモリ24内に保存してもよい、ということが理解されよう。例えば、 参照として組み込まれる、Shah他の米国特許番号第5,291,564号を参照 されたい。 デジタイザ18は、標準のしきい値化その他同様の処理を用いて、CCDカメ ラ16が作成したアナログ信号を8ビットのデジタルビデオ信号26および1ビ ット(すなわち、黒/白)のデジタルビデオ信号19に変換する。以下に詳細に 説明するように、1ビットのデジタルビデオ信号19を用いることによって、全 方向性バーコード探知器20の特定用途向け集積回路がビデオ信号19を操作す るのが容易になる。ホストコンピュータ23は、好ましくは「インテル」i86 0のマイクロプロセッサを含む画像処理コンピュータである。デジタイザ18、 ホストコンピュータ23、および大容量記憶メモリ24の動作は、当業者には公 知であり、本明細書においては更なる説明は行わない。 図2は、図2Aおよび図2Bを含み、ベルト上の光学的バーコード読み取り装 置システム10におけるCCDカメラ16によるデジタルのビデオ画像30の作 成を示す。図2Aに示すように、小包14は、小包の宛先住所および差し出し住 所を含む住所ラベル31を含む。小包14にはまた、おおよそ高さが1インチ( 2.5cm)で幅が2.5から3インチ(1.3から7.6cm)であるバーコ ード33もついている。バーコード33は通常、出荷当事者に対応するコード、 および小包出荷会社がその小包に割り当てた一意的な追跡コードを含む。UPS 等の小包出荷会社によって、裏に接着剤がついたバーコードのラベルのシートま たはロールが通常提供されている。または、宛先ラベルが印字されるときに、小 包出荷会社からの指示に従って、出荷当事者がバーコードを生成してもよい。U PS等の小包出荷会社は通常、出荷されるそれぞれの小包の、追跡コード、出荷 当事者、および宛先住所を含む小包情報のデータベースを保持している。追跡コ ードを含むバーコードは通常、小包出荷プロセスにおける様々な点において(例 えば、小包が最初に受け取られて小包追跡システムにログインされたとき、仕分 けハブに受け取られたとき、飛行機に積み込まれたとき、宛先ハブに受け取られ たとき、配達トラックに積み込まれたとき、等)、ベルト上、ハンドヘルド、そ の他同等のバーコード読み取り装置システムによって読み取られる。小包追跡シ ステムは、小包出荷プロセスのそれぞれの段階において更新され、追跡コードを 用いて小包追跡システムを査定して、小包出荷プロセスのどの点においても小包 の位置を決定することができるようになっている。 好適な方法の説明 図2Bは、小包14がCCDカメラ16の下を通るときのバーコード33のデ ジタル画像の生成を示す。4,096画素を含む走査線34が、コンベア12の CCDカメラ16の真下の部分の42インチ(107cm)いっぱいの画像を捕 獲する。CCDカメラ16は、ベルトエンコーダ15からの信号に応答してサイ クル動作し、コンベア12が直線で1インチ(2.5cm)動くごとに約100 走査線を作成するようになっている。このようにして作成された二次元の画素化 された画像30は、セル35で表す複数のセルに分割される。本発明の好適な実 施例において、各セルは好ましくは32本の連続した走査線の32個の画素(す なわち、32列および32行の画素)を含む。各セルは、一辺が約1/3インチ (.85cm)の正方形である。したがって、32本の走査線は、コンベア12 を横切る方向に横に並んだ128個のセルを含む、ということが理解されよう。 これらのセルによって、その中で全方向性バーコード探知器20がバーコードを 識別する、参照(reference)の固定フレームが設けられる。具体的には、セル3 5で表す固定セルによって、その中でバーコード33で表すバーコードまたはバ ーコードの一部が全方向性バーコード探知器20によって検出されるかもしれな い、画像30の規格化ユニットが設けられる。 全方向性バーコード探知器20が実施する好適な方法は、画像30のそれぞれ の画素について、水平バーコード検出値RH、垂直バーコード検出値RV、水平バ ーコード向き値SH、および垂直バーコード向き値SVを計算することを含む。RH 、RV、SH、およびSVの値を計算する好適な方法の説明を容易にするために、 画像30の個々の画素に関連する取り決めを規定することが必要であろう。その 取り決めそれ自体は、便宜のためのみに設けられるものであり、本発明の範囲を 限定するよう意図するものではない、ということが理解されよう。画素化したま たはラスタの画像における個々の画素に言及する手段を提供するいかなる他の取 り決めも、同等に用いられて、全方向性バーコード探知器20が行う方法の各ス テップを説明してもよい。 図3は、図3Aおよび図3Bを含み、デジタル画像30内の画素位置を規定す る取り決めを示す。それぞれの画素をPi,jと呼ぶ、ただし「i」は行番号であ り、「j」は列番号である。個々の行は、代表的な走査線34等の、単一のサイ クルについてのCCDカメラ16の画素すべての出力に対応する。個々の列は、 一連のサイクルにわたるCCDカメラ16のある特定の画素の出力に対応する。 デジタル画像30は、「m」個の列および「n」個の行の画素を含む。各行は、 行0で始まって上から下へと連続して番号がついており、行0はCCDカメラ1 6の第1のサイクルによって作成され、行1は次のサイクルによって作成される 、等である。各列は、列0で始まって左から右へと連続して番号がついており、 列0はCCDカメラ16の複数のサイクルの間のCCDカメラの第1の画素によ っ て作成され、列1はCCDカメラ16の複数のサイクルの間のCCDカメラの第 2の画素によって作成される、などである。好適な実施例において、「m」は4 ,096(CCDカメラ16の画素数)であり、32本の走査線(セルの高さ) ごとに「n」回ロールオーバーする。 以下の説明の便宜のために、画像30のある特定の画素を「現在の画素」と呼 んで、その特定の画素について全方向性バーコード探知器20が水平および垂直 バーコード検出値RHおよびRV、および水平および垂直バーコード向き値SHお よびSVを計算している、ということを示す。画像30のそれぞれの画素(それ ぞれの走査線の最後の15画素は除く)は、デジタルビデオ信号19が全方向性 バーコード探知器20を通る間のある時点において、「現在の画素」となる。本 発明の好適な実施例において、値RH、RV、SH、およびSVは同時に計算される 。しかし、本発明は、値RH、RV、SH、およびSVを決定するのに必要な計算を している間に何らかの特定の時間的関係を必要とするものではない。例えば、こ れらの値は、従来技術のノイマン型プロセッサによって順次計算してもよい。 図3Bは、デジタル画像30の一部をより詳細に示す。図3Bは、セル35で 表される4個の32画素×32画素のセルを示す。全方向性バーコード探知器2 0は、垂直ウインドウ36および水平ウインドウ37を規定する。以下の全方向 性バーコード探知器20の動作の説明において、ウインドウ36および37を、 同時に移動してデジタル画像30の異なる領域をカバーすることができる1対の 「スライド」するウインドウとして概念化することが有用であろう。水平ウイン ドウ37は、現在の行38の32画素および前の行40の32画素をカバーする 。垂直ウインドウ36は、現在の列42の32画素および前の列44の32画素 をカバーする。垂直ウインドウ36および水平ウインドウ37は、それぞれの中 央において、「+」の形に交差する。このように、垂直ウインドウ36および水 平ウインドウ37は、全方向性バーコード探知器20が現在の画素が候補バーコ ード画素であるかどうかを判定するのに用いる画素の範囲を規定する。現在の画 素は、垂直ウインドウ36および水平ウインドウ37の中にある現在の行および 現在の列の画素である。言い換えれば、画素Pi,Jが全方向性バーコード読み取 り装置20に読み込まれた最も最近の画素である場合には、現在の画素は、窓3 6 および37の交点を表す正方形の右下の隅にある画素、画素Pi-15,j-15である。 窓36および37の概念化された移動によって、デジタルビデオ信号19を全 方向性バーコード探知器20に通す効果が表される。全方向性バーコード探知器 20は、一度の処理に34個の走査線のデータを保存する。新しい走査線が全方 向性バーコード探知器20に読み込まれるごとに、ウインドウ36および37は 効果的に1行下に「スライド」し、それによって、34サイクル前に全方向性バ ーコード探知器20に読み込まれた走査線が抹消される。さらに、新しい走査線 が全方向性バーコード探知器20に読み込まれる際に、ウインドウ36および3 7は効果的に画像30を横切って左から右へと「スライド」し、新しい走査線は 垂直ウインドウ36の1行下に配置される。現在の行は、前述のように、垂直ウ インドウ36の中央の行である。新しい走査線が全方向性バーコード探知器20 に読み込まれるときには、現在の行38(すなわち、16サイクル前に全方向性 バーコード探知器20に読み込まれた行)の画素がそれぞれ、順次現在の画素と なる。以下の説明および関連する図において、あたかも画素Pi,jが全方向性バ ーコード探知器20に読み込まれた最も最近の画素であり、現在の画素がPi-15, j-15 であるかのように、画像30の画素を全方向性バーコード探知器20の動作 に対応するよう一般的に説明および図示する。後述のように、現在の画素が画像 30の左縁の32画素の中にある場合には、すなわち、CCDカメラ16の最初 の32画素には、特別の手続きが適用される。 図4および図5を参照して、図4は、図4A−4Fを含み、全方向性バーコー ド探知器20における比較値の計算を示す。図5は、図5A−5Dを含み、13 5°、0゜、45°、および90゜の向きのバーコード33を示す。具体的には 、135°の向きのバーコードを図5Aのバーコード33で示し、この図におい て、バーコードの平行な棒は、主に左から右へ上向きになっている。0゜の向き のバーコードを図5Bのバーコード33’で示し、この図において、バーコード の平行な棒は、主に垂直である。45°の向きのバーコードを図5Cのバーコー ド33’’で示し、この図において、バーコードの平行な棒は、主に左から右へ 下向きになっている。90゜の向きのバーコードを図5Cのバーコード33’’ ’で示し、この図において、バーコードの平行な棒は、主に水平である。 水平バーコード検出値RHは、3つの水平比較値H135、H0、およびH45を計 算することによって決定される。それぞれの水平比較値は、水平ウインドウ37 内にある現在の行38のそれぞれの画素の値を前の行40の画素と比較すること によって計算される。比較値は、その比較について起こっている画素の強さの適 合(すなわち、黒対黒または白対白)の数に等しい。具体的には、図4A−4C は、現在の画素Pi-15,j-15についての3つの水平比較値H135、H0、およびH4 5 の計算を示す。図4A−4Cに示すように、水平ウインドウ37は、現在の行 38の画素Pi-15,j-15ないしPi-15,j-32をカバーし、前の行40の画素Pi-16 ,j-1 ないしPi-16,j-32をカバーする。 第1の水平比較値H135は、水平ウインドウ37内の現在の行38の画素の強 さを前の行40の画素の強さと比較することによって計算され、図4Aに示すよ うに、それぞれの比較について、現在の行38の画素の列は、前の行40の画素 の列の左にある。例えば、画素Pi-15,j-1は、画素Pi-16,jと比較される。現在 の画素Pi-15,j-15についてのH135は、図4Aに示す比較において起こっている 画素の強さの適合の数に等しい。図4Aに示す方向に比較的多数の画素の強さの 適合が起こっているということは、図5Aに示すように、135°の向きのバー コードが存在するということを示す。 第2の水平比較値H0は、水平ウインドウ37内の現在の行38の画素の強さ を前の行40の画素の強さと比較することによって計算され、図4Bに示すよう に、それぞれの比較について、現在の行38の画素の列は、前の行40の画素の 列と同じである。例えば、画素Pi-15,j-1は、画素Pi-16,j-1と比較される。現 在の画素Pi-15,j-15についてのH0は、図4Bに示す比較において起こっている 画素の強さの適合の数に等しい。図4Bに示す方向に比較的多数の画素の強さの 適合が起こっているということは、図5Bに示すように、0゜の向きのバーコー ドが存在するということを示す。 第3の水平比較値H45は、水平ウインドウ37内の現在の行38の画素の強さ を前の行40の画素の強さと比較することによって計算され、図4Cに示すよう に、それぞれの比較について、現在の行38の画素の列は、前の行40の画素の 列の右にある。例えば、画素Pi-15,j-1は、画素Pi-16,j-2と比較される。現在 の画素Pi-15,j-15についてのH45は、図4Cに示す比較において起こっている 画素の強さの適合の数に等しい。図4Cに示す方向に比較的多数の画素の強さの 適合が起こっているということは、図5Cに示すように、45゜の向きのバーコ ードが存在するということを示す。 水平バーコード検出値RHは、3つの水平比較値H135、H0、およびH45のう ちの最大のものから、3つの水平比較値H135、H0、およびH45のうちの最小の ものを引いたものに等しい。水平バーコード向き値SHは、3つの水平比較値H1 35 、H0、およびH45のうちの最大のものに対応する向きに等しい。黒の画素に 値0を割り当て、白の画素に値1を割り当てることによって、以下の数式が、現 在の画素Pi-15,j-15について値H135、H0、H45、RH、およびSHの値を規定 することができる。 32 H135=Σ|Pi-15,j-kXNOR Pi-16,j-k| k=1 32 H0=Σ|Pi-15,j-kXNOR Pi-16,j-k| k=1 32 H45=Σ|Pi-15,j-kXNOR Pi-16,j-k+1| k=1 RH=Max[H135,H0,H45]−Min[H135,H0,H45] Max[H135,H0,H45]=H135ならばSH=135゜ Max[H135, H0,H45]=H0ならばSH=0゜ Max[H135,H0,H45]=H45ならばSH=45゜ 垂直バーコード検出値Rvは、3つの垂直比較値V135、V90、およびV45を計 算することによって決定される。それぞれの垂直比較値は、垂直ウインドウ36 内にある現在の列42のそれぞれの画素の値を前の列44の画素と比較すること によって計算される。比較値は、その比較について起こっている画素の強さの適 合の数に等しい。より具体的には、図4D−4Fは、現在の画素Pi-15,j-15に ついての3つの垂直比較値V135、V90、およびV45の計算を示す。図4D−4 Fに示すように、垂直ウインドウ36は、現在の列42の画素Pi-1,j-15ないし Pi-32,j-15をカバーし、前の列44の画素Pi-1,j-16ないしPi-32,j-16をカバ ーする。 第1の垂直比較値V135は、垂直ウインドウ36内の現在の列42の画素の強 さを前の列44の画素の強さと比較することによって計算され、図4Dに示すよ うに、それぞれの比較について、現在の列42の画素の行は、前の列44の画素 の行の上にある。例えば、画素Pi-1,j-15は、画素Pi,j-16と比較される。現在 の画素Pi-15,j-15についてのV135は、図4Dに示す比較において起こっている 画素の強さの適合の数に等しい。図4Dに示す方向に比較的多数の画素の強さの 適合が起こっているということは、図5Aに示すように、135°の向きのバー コードが存在するということを示す。 第2の垂直比較値V90は、垂直ウインドウ36内の現在の列42の画素の強さ を前の列44の画素の強さと比較することによって計算され、図4Eに示すよう に、それぞれの比較について、現在の列42の画素の行は、前の列44の画素の 行と同じである。例えば、画素Pi-1,j-15は、画素Pi-1,j-16と比較される。現 在の画素Pi-15,j-15についてのV90は、図4Eに示す比較において起こってい る画素の強さの適合の数に等しい。図4Eに示す方向に比較的多数の画素の強さ の適合が起こっているということは、図5Dに示すように、90゜の向きのバー コードが存在するということを示す。 第3の垂直比較値V45は、垂直ウインドウ36内の現在の列42の画素の強さ を前の列44の画素の強さと比較することによって計算され、図4Fに示すよう に、それぞれの比較について、現在の列42の画素の行は、前の列44の画素の 行の下にある。例えば、画素Pi-1,j-15は、画素Pi-2,j-16と比較される。現在 の画素Pi-15,j-15についてのV45は、図4Fに示す比較において起こっている 画素の強さの適合の数に等しい。図4Fに示す方向に比較的多数の画素の強さの 適合が起こっているということは、図5Cに示すように、45゜の向きのバーコ ードが存在するということを示す。 垂直バーコード検出値RVは、3つの垂直比較値V135、V90、およびV45のう ちの最大のものから、3つの垂直比較値V135、V90、およびV45のうちの最小 のものを引いたものに等しい。垂直バーコード向き値SVは、3つの垂直比較値 V135、V90、およびV45のうちの最大のものに対応する向きに等しい。黒の画 素に値1を割り当て、白の画素に値0を割り当てることによって、以下の数式が 、現在の画素Pi-15,j-15について値V135、V90、V45、RV、およびSVの値を 規定することができる。 32 V135=Σ|Pi-k,j-15XNOR Pi-k+1,j-16| k=1 32 V90=Σ|Pi-k,j-15XNOR Pi-k,j-16| k=1 32 V45=Σ|Pi-k,j-15XNOR Pi-k-1,j-16| k=1 RV=Max[V135,V90,V45]−Min[V135,V90,V45] Max[V135,V90,V45]=V135ならばSV=135゜ Max[V135,V90,V45]=V90ならばSV=90゜ Max[V135,V90,V45]=V45ならばSV=45゜ 再び図2を参照して、デジタル画像30は、セル35で表される32画素×3 2再素のセルのマトリクスに分割される。デジタルビデオデータ信号19が全方 向性バーコード探知器20を通るときに、セル35内のそれぞれの画素について 、水平バーコード検出値RHおよび垂直バーコード検出値RVが計算される。それ ぞ れの画素について、水平バーコード検出値RHが水平バーコード検出しきい値T (RH)と比較され、垂直バーコード検出値RVが垂直バーコード検出しきい値T (Rv)と比較される。水平バーコード検出値RHが水平バーコード検出しきい 値T(RH)よりも大きい、または、垂直バーコード検出値RVが垂直バーコード 検出しきい値T(RV)よりも大きいそれぞれの画素について、候補値Cが「1 」にセットされる。 次に、セル内の画素について、対応するDCが0゜または90゜の候補値Cを 合計することによって、セル35についての合計候補値T0,90が計算される。対 応するDCが0゜または90゜の候補値Cは、相互に独立的であると考えられる ので、対応するDCが90゜の候補値Cは値T0,90に加えられ、対応するDCが0 ゜の候補値は値T0,90から引かれる。したがって、T0,90が正の値であるという ことは、90゜の向きのバーコードが存在するということを示し、T0,90が負の 値であるということは、0゜の向きのバーコードが存在するということを示す。 同様に、セル内の画素について、対応するDCが45°または135°の候補値 Cを合計することによって、セル35についての合計候補値T45,135が計算され る。対応するDCが45°または135°の候補値Cは、相互に独立的であると 考えられるので、対応するDCが45°の候補値Cは値T45,135に加えられ、対 応するDCが135°の候補値は値T45,135から引かれる。したがって、T45,13 5 が正の値であるということは、45°の向きのバーコードが存在するというこ とを示し、T45,135が負の値であるということは、135°の向きのバーコード が存在するということを示す。 次に、合計候補値T0,90およびT45,135の大きさが、セルしきい値T(M)と 比較されて、バーコードの存在が検出されるかどうかが判定される。合計候補値 T0,90とT45,135のどちらかの大きさがセルしきい値T(M)よりも大きい場合 には、セル35について、セルバーコード表示値Mが「真」にセットされる。セ ルバーコード表示値が「真」の場合には、バーコード検出信号21が、セル35 内のバーコードの検出を示す。セルバーコード表示値Mは2つの値のうちの1つ (真または偽)を有するので、バーコード検出信号21を表すのに必要なのは1 ビットである。ホストコンピュータ23は、全方向性バーコード探知器20から のM=真のバーコード検出信号21に、画像30のセル35内またはその近傍の 部分を大容量記憶メモリ24内に保存することによって、応答する。上述の処理 は、画像30のそれぞれのセルについてリアルタイムで行われ、したがって、ホ ストコンピュータ23は、バーコード検出に対応する、すなわち、バーコード検 出信号21がセルバーコード表示値M=真を示す場合の、画像30のセルのみを 保存することができる。 以下の数式は、値C、T0,90、T45,135、D、およびMを規定する。 それぞれの画素について、RV>T(RV)またはRH>T(RH)ならばC=1 、その他の場合はC=0 それぞれのセルについて、 32 32 T0,90= Σ Σ{CK,W if DC=90;-CK,W if DC=0;O otherwise k=1 w=1 32 32 T45,135= Σ Σ{CK,W if DC=45;-CK,W if DC=135;0 otherwise k=1 w=1 |T0,90|>|T45,135|かつT0.90<0ならばD=0 |T0,90|>T45,135|かつT0,90>0ならばD=90 |T0,90|<|T45,135|かつT0,90<0ならばD=45 |T0,90|<|T45,135|かつT0,90>0ならばD=135 |T0,90|または|T45,135|>T(M)ならばM=「真」、その他の場合は M=「偽」 セル35についてセルバーコード表示値Mが決定されるときに、全方向性バー コード探知器20は同時に、セル35内で検出されるバーコードのおおよその向 きも判定する。デジタルビデオデータ信号19が全方向性バーコード探知器20 を通るときに、セル35内のそれぞれの画素について、水平バーコード向き値SH および垂直バーコード向き値SVが計算される。それぞれの画素について、水平 バーコード向き値SHは、3つの相対的向き135°、0゜、または45°のう ちの1つを示す。垂直バーコード向き値SVも同様に、3つの相対的向き135 ゜、90゜、または45°のうちの1つを示す。前述のように、向きが135° 、0゜、45°、および135°であるバーコードをそれぞれ、図5A、5B、 5Cおよび5Dのバーコード33,33’、33’’、および33’’’で表す 。 セル35のそれぞれの画素について、候補向き値DCが計算される。具体的に は、RH>RVならば、DCはSHの値にセットされ、さもなければ、DCはSVの値 にセットされる。セル内のDC=0゜およびDC=90゜である画素の数を合計す ることによって、セル35についての合計候補値T0,90が計算される。同様に、 セル内のDC=45°およびDC=135°である画素の数を合計することによっ て、セル35についての合計候補値T45,135が計算される。T0,90およびT45,1 35 の計算において、候補値C=1である画素のみが考慮され、候補値C=0であ る画素は無視される。セルバーコード向き値Dは、DCの主な向きにセットされ る。 セルバーコード向き値Dは4つの可能性のある値のうちの1つ(45°、13 5°、90゜、または0゜)を有するので、バーコード向き信号22を表すのに 必要なのは2ビットである。ホストコンピュータ23は、全方向性バーコード探 知器20からの「M=真」のバーコード検出信号21に、画像30のセル35内 の部分と共にセルバーコード向き値Dの表示を大容量記憶メモリ24内に保存す ることによって、応答する。上述の処理は、画像30のそれぞれのセルについて リアルタイムで行われ、したがって、ホストコンピュータ23は、バーコード検 出に対応する、すなわち、バーコード表示値M=真を示す場合すべての、画像3 0のそれぞれのセルについてのセルバーコード向き値Dの表示を保存することが できる。 本発明の好適な実施例は、画像30の密度が約100DPI(cm当たり39 ドット)、セル35の大きさか32画素×32画素(セル当たり1,024画素 )、 垂直ウインドウ36の大きさが2画素×32画素、水平ウインドウ37の大きさ が32画素×2画素であり、水平および垂直バーコード検出しきい値T(RH) およびT(RV)が8にセット(32個のうちの25%として引き出される)さ れ、および、セルしきい値T(M)が512にセット(32×32のうちの50 %として引き出される)されている場合に、満足に動作する。H45およびH135 については、現在の行38の画素と前の行40の画素の間のオフセットは1画素 であり、V45およびV135については、現在の列42の画素と前の列44の画素 の間のオフセットは1画素である。さらに、現在の行38は、好ましくは前の行 40のすぐ後であり、現在の列42は、好ましくは前の列44のすぐ後である。 上述のパラメータはすべて、本発明の好適な実施例の性能に甚だしく影響を及ぼ さない程度にいくぶん変更されてもよい。また、値T(RH)とT(RV)は同じ である必要はなく、窓36と37の寸法はいかなる特定の方法で互いにまたはセ ル35の寸法に対応する必要もない、ということも理解されるべきである。 好適な装置の説明 前述のように、本発明の好適な実施例の1態様は、バーコードの位置およびお およその向きを判定する効率的な方法を提供することである。図1を再び参照し て、本発明の好適な実施例のさらなる態様は、コンベア12上を動く小包上のバ ーコードの位置およびおおよその向きをリアルタイムで判定することができる全 方向性バーコード探知器20を提供することである。ホストコンピュータ23は 、全方向性バーコード探知器20が作成したバーコード表示信号21に応答して 、デジタルビデオ信号26を大容量記憶メモリ24内に保存する。したがって、 全方向性バーコード探知器20によって、ホストコンピュータ23は、デジタル ビデオ信号26のバーコードデータを含むセルのみを保存することができる。ホ ストコンピュータ23はまた、全方向性バーコード探知器20か作成したバーコ ード向き信号22に応答して、それぞれの検出されたバーコードの向きの表示も 大容量記憶メモリ24内に保存する。 デジタルビデオ信号26のデータフロー速度は、秒当たり約4,000万画素 である。順次処理のノイマン型計算装置によって実施されるものなどの従来技術 のバーコードの位置および向きを判定するシステムでは、十分素早くデータを処 理して秒当たり約4,000万画素というデータフロー速度に応答してリアルタ イムにバーコードの表示および向き信号を作成する、ということはない。したが って、本発明の好適な実施例のさらなる態様は、デジタルビデオ信号26等のデ ジタルビデオデータを十分素早く処理して、本発明の好適な実施例の動作環境を 提供するベルト上の光学的バーコード読み取り装置システム10において効果的 に性能を発揮する計算装置を提供することである。 図6は、全方向性バーコード探知器20用の好適な特定用途向け集積回路を示 す機能ブロック図である。デジタルビデオ信号19、これはCCDカメラ16が 作成する8ビットのビデオ信号26を1ビットで表示したものである、は、全方 向性バーコード探知器20用の入力データ源を提供する。デジタルビデオ信号1 9は、バッファメモリ60によって受け取られる。バッファメモリ60は、34 個のデータ線L,ないしLi-33を含み、それぞれのデータ線は、CCDカメラ1 6のそれぞれの画素に対応する4,096ビット−−1ビットを含むシフトレジ スタにアクセスする。したがって、それぞれのレジスタは、CCDカメラ16の 1サイクルで作成された画像30の1走査線をビットマップで表示したものを含 んでもよい。バッファメモリ60の線LiないしLi-33は、図4D−4F上に示 すように、垂直ウインドウ37の32画素の高さに、垂直ウインドウ37より1 画素上および1画素下を加えたものに対応する。図6に示すように、それぞれの データ線LiないしLi-33は、次のデータ線に接続されており、新しい走査線が バッファメモリ60に読み込まれるごとに、先立つ33個の走査線かそれぞれ次 のレジスタにシフトするようになっている。バッファメモリ60は、IDT社が製 造する4k×18ビットのモデルIDT−72245のFIFOチップ2個等の 、市販のチップから構成された従来技術の先入れ先出し(FIFO)バッファで あってもよい。または、バッファメモリ60は、制御装置およびスタティックR AMメモリ資源によって実施してもよい。 バッファメモリ60のデータ線Li-15およびLi-16は、それぞれ回路板の導線 64および65を経由して、水平検出器70に接続されている。水平検出器70 は、バッファメモリ60のLi-15から水平検出器70に導入されたそれぞれの画 素について、上述のように、水平バーコード検出値RHおよび水平バーコード向 き値SHを決定する。より具体的には、図4A−4C上に示すように、Li-15が 現在の行38の画素を提供し、Li-16が前の行40の画素を提供する。水平検出 器70の動作は、以下に図7および9−11に関してより詳細に説明する。水平 検出器70に接続するデータ線としてLi-15およびLi-16を選択することによっ て、図3Bに示すように、垂直ウインドウ37の中心に水平ウインドウ36が配 置される。水平検出器70は、Altera社が製造するEPM7160EのFPGA チップ上で実施されてもよい。 バッファメモリ60のデータ線LiないしLi-2およびLi-31ないしLi-33は、 それぞれ回路板の導線61−63および66−68を経由して、垂直検出器72 に接続されている。垂直検出器72は、回路板の導線74を経由して、RAM7 3に接続されている。RAM73は、垂直検出器72の動作に関して用いるメモ リ資源を提供する。垂直検出器72は、垂直検出器72に導入されたそれぞれの 画素について、上述のように、垂直バーコード検出値RVおよび垂直バーコード 向き値SVを決定する。線LiないしLi-2からのデータによって、垂直検出器7 2が、垂直ウインドウ37に入ってくる画素について常に知っていることができ 、線Li-31ないしLi-33からのデータによって、垂直検出器72が、垂直ウイン ドウ37から出ていく画素について常に知っていることができる。垂直検出器7 2の動作は、以下に図7および9−11に関してより詳細に説明する。垂直検出 器72は、Altera社が製造するEPM7160EのFPGAチップ上で実施され てもよい。 垂直検出器72の出力値RVおよびSV、および水平検出器70の出力値RHお よびSHは、それぞれ回路板の導線75−78を経由して、トリガ検出器80に 供給される。トリガ検出器80はまた、汎用マイクロプロセッサ等の外部プログ ラミングソースから、回路板の導線81を経由して、バーコード検出しきい値T (RH)およびT(RV)を受け取る。トリガ検出器80は、値RVおよびRHをそ れぞれバーコード検出しきい値T(RH)およびT(RV)と比較し、画像30の それぞれの画素について候補値Cを決定する。トリガ検出器80はまた、前述の ように、値SVおよびSHを用いて、画像30のそれぞれの画素について候補向き 値DCを計算する。値RVおよびSVに関するトリガ検出器80の動作は15クロ ックサイクル遅延し、図3Bに示すように、水平ウインドウ36の中心に垂直ウ インドウ37が配置される。トリガ検出器80の動作は、以下に図15に関して より詳細に説明する。 画像30のそれぞれの画素についての候補値Cおよび候補向き値DCは、それ ぞれ通信リンク82および83を経由して、合計器84に送られる。合計器84 は、回路板の導線88を経由して、RAM87に接続されている。RAM87は 、合計器84の動作に関して用いるメモリ資源を提供する。合計器84は、外部 プログラミングソースから、回路板の導線89を経由して、セルしきい値T(M )を受け取る。合計器84は、前述のように、画像30のそれぞれの画素につい て合計候補値TCおよび合計候補向き値TDを計算する。合計器84はさらに、合 計候補値TCがセルしきい値T(M)よりも大きい場合には、バーコード検出信 号21上にバーコード表示値M=真をセットし、バーコード向き信号22上にセ ルバーコード向き値D=TDをセットする。さもなければ、セルバーコード表示 値Mは「偽」にセットされる。合計器84の動作は、以下に図16−17に関し てより詳細に説明する。トリガ検出器80および合計器84は、図6の79に示 す、Altera社が製造するEPM7160EのFPGAチップ上で実施してもよい 。、このため、通信リンク82および83は、プログラム可能なスイッチで制御 されるFPGAチップの内部接続である。 図7および8は、図3および4に示すように、ある特定の画素Pi,jが全方向 性バーコード探知器20に読み込まれ、したがって画素Pi-15,j-15が現在の画 素である場合の、ちょうどよい時の好適な装置における画素データの位置を示す 。図7は、全方向性バーコード探知器20用の好適な特定用途向け集積回路に組 み込まれる水平検出器70の機能ブロック図である。水平検出器70は、2個の シフトレジスタ94および96、および機能ブロック98を含む。シフトレジス タ94は、水平検出器70をバッファメモリ60の線Li-16と接続する回路板の 導線66を経由して、一連の画素を規定するデータを受け取る。シフトレジスタ 94は34個のレジスタを含み、それによって、図3Bおよび4A−Cに示すよ うに、それぞれのレジスタは、水平ウインドウ37内にある前の行40の1画素 に、水平ウインドウ37より1画素前および1画素後を加えたものを含む。それ ぞれ のクロックサイクルごとに新しい画素がシフトレジスタ94に読み込まれ、1画 素右にシフトするごとに画素がシフトレジスタ94内に読み込まれる。 同様に、シフトレジスタ96は、バッファメモリ60の線Li-15と接続された 回路板の導線を経由して、一連の画素を規定するデータを受け取る。シフトレジ スタ96は、図3Bおよび4A−Cに示すように、水平ウインドウ37内にある 現在の行38の画素に、水平ウインドウ37より1画素前および1画素後を加え たものを含む。シフトレジスタ96はそれぞれのクロックサイクルごとに新しい 画素を受け取り、1レジスタ右にシフトするごとに画素がシフトレジスタ内に読 み込まれる。 シフトレジスタ94および96はそれぞれ、機能ブロック98に画素データを 供給する。具体的には、それぞれの画素は1ビットの値によって表される、すな わち、0は黒に等しく、1は白に等しい。機能ブロック98はまた、回路板の導 線99を経由して、走査線有効および画素クロック信号25を受け取る。シフト レジスタ94および96は、図4A−C上に表された画素データを機能ブロック 98に効果的に供給し、機能ブロック98は、図4A−C上に示す比較を行う。 機能ブロック98は、出力値として、前述した水平バーコード検出値RHおよび 水平バーコード向き値SHを作成する。これらの値は、図6に示すように、回路 板の導線75および76を経由してトリガ検出器80に供給される。 図8は、全方向性バーコード探知器20用の好適な特定用途向け集積回路に組 み込まれる垂直検出器72の機能ブロック図である。垂直検出器72は、6個の シフトレジスタ102、112、122、132、142、および152、およ び機能ブロック100を含む。上の3個のシフトレジスタ102、112、およ び122は、それぞれ回路の導線68、67、および66を経由して接続され、 それぞれバッファメモリ60の線Li-33、Li-32、およびLi-31からのデータを 受け取る。下の3個のシフトレジスタ132、142、および152は、それぞ れ回路板の導線63、62、および61を経由して接続され、それぞれバッファ メモリ60の線Li-2、Li-1、およびLiからのデータを受け取る。機能ブロッ ク100はまた、回路板の導線99を経由して、走査線有効および画素クロック 信号25を受け取る。 シフトレジスタ102は、通信チャネル104を経由して、画素Pi-33,i-16 に関する画素データを機能ブロック100に供給する。シフトレジスタ102は また、通信チャネル106を経由して、画素Pi-33,j-15に関する画素情報を機 能ブロック100に供給する。 シフトレジスタ112は、通信チャネル114を経由して、画素Pi-32,j-16 に関する画素データを機能ブロック100に供給する。シフトレジスタ112は また、通信チャネル116を経由して、画素Pi-32,j-15に関する画素情報を機 能ブロック100に供給する。 シフトレジスタ122は、通信チャネル124を経由して、画素Pi-31,j-16 に関する画素データを機能ブロック100に供給する。シフトレジスタ122は また、通信チャネル126を経由して、画素Pi-31,j-15に関する画素情報を機 能ブロック100に供給する。 シフトレジスタ132は、通信チャネル134を経由して、画素Pi-2,j-16に 関する画素データを機能ブロック100に供給する。シフトレジスタ132はま た、通信チャネル136を経由して、画素Pi-2,j-15に関する画素情報を機能ブ ロック100に供給する。 シフトレジスタ142は、通信チャネル144を経由して、画素Pi-1,j-16に 関する画素データを機能ブロック100に供給する。シフトレジスタ142はま た、通信チャネル146を経由して、画素Pi-1,j-15に関する画素情報を機能ブ ロック100に供給する。 シフトレジスタ152は、通信チャネル154を経由して、画素Pi,j-16に関 する画素データを機能ブロック100に供給する。シフトレジスタ152はまた 、通信チャネル156を経由して、画素情報を機能ブロック100に供給する。 機能ブロック100は、シフトレジスタ102、112、122、132、1 42、および152が提供する画素情報を用いて、垂直バーコード検出値RVお よび垂直バーコード向き値SVを計算し、これらは、図6に示すように、それぞ れ回路板の導線77および78を経由して、トリガ検出器80に提供される。機 能ブロック100は、図4D−F上に示す比較を効果的に計算する。 機能ブロック100は、機能ブロック98とは異なり、垂直ウインドウ36内 のそれぞれの画素について同時に提供される画素データを有するわけではない、 ということが理解されるべきである。したがって、機能ブロック100は、図4 D−F上に示す比較を直接計算することはできない。したがって、機能ブロック 100は、垂直ウインドウ36に入ってくるおよびそこから出ていく画素データ について常に知っており、中間の画素に関するデータをRAM73内に保存する 。現在の画素Pi-15,j-15についての垂直比較値V135、V90、およびV45は、画 素Pi-14,j-15について(現在の画素であったときに)計算された垂直比較値を 取り、垂直ウインドウ36が効果的に1行上にシフトするときに垂直ウインドウ 36に入ってくるおよびそこから出ていく画素を考慮することによって、計算さ れる。水平ウインドウ37および垂直ウインドウ36は、4,096画素からな る走査線全体に沿って効果的に水平にスライドし、次に1行上にシフトして次の 走査線に沿ってスライドする。したがって、機能ブロック100は、走査線に沿 ったそれぞれの画素についての結果を、次の走査線の処理の間に用いられるよう に、RAM73内に保存する。 前の説明においては、3個のFPGAチップを含む全方向性バーコード探知器 20を実行する装置を説明している。または、全方向性バーコード探知器20全 体を、AlteraのEPF10K50のFPGAチップ等の、十分な計算能力を有す る単一のFPGAチップ上で実施してもよい。 論理フロー図を参照した好適な装置の動作の説明 以下に説明する論理フロー図は、水平検出器70の機能ブロック98、垂直検 出器72の機能ブロック100、トリガ検出器80、および合計器84の手順を より詳細に示す。図9−14の論理フロー図は、図3および4に示すように、あ る特定の画素Pi,jが全方向性バーコード探知器20に読み込まれ、したがって 画素Pi-15,j-15が現在の画素である場合の、ちょうどよい時の好適な装置にお ける画素の位置を示す、という点において、図7および8に対応している。画像 30のそれぞれの画素(それぞれの走査線の最後の15画素は除く)は、デジタ ルビデオ信号19か全方向性バーコード探知器20によって処理されている間の ある時点において、現在の画素となる。 これらの論理フロー図は、本発明を実施する好適な1方法を示したものであり 、 本発明の範囲および精神内で、例示した方法に多くの変更および変形を行うこと ができる、ということが理解されよう。また、これらの論理フロー図は、図6を 参照して上述した好適な装置の3個のFPGAチップの間でのプログラミングの タスクの割り当てを規定している、ということも理解されよう。本発明の範囲お よび精神内で、これらの様々なチップ間でのプログラミングのタスクの多くの異 なる割り当て、および、異なるFPGAチップの構成間でのプログラミングのタ スクの多くの異なる割り当てを、同様に規定することができる、 図9は、水平検出器70の機能ブロック98用のコンピュータが実施する処理 の論理フロー図である。ステップ902において、水平比較値H135、H0、およ びH45に対応するカウンタが0にリセットされる。ステップ904において、機 能ブロック98が次の走査線を待つ。ステップ906において、本明細書でpi xel NUMと呼ばれる画素番号カウンタが0にセットされる。ステップ90 8において、機能ブロック98が、現在の走査線の次の画素を待つ。次の画素を 受け取ると、ステップ910において、画素カウンタのpixel_NUMが1 インクリメントされる。決定ステップ912において、画素カウンタのpixe l_NUMが32よりも小さいかどうかが判定される。pixel_NUMが3 2よりも小さくない場合には、「NO」のブランチをたどってルーチン914に 行く。pixel_NUMが32よりも小さい場合には、「YES」のブランチ をたどってルーチン916に行く。 2つの異なるルーチン914および916を用いて、画素を比較する、という のも、pixel_NUMが32よりも小さい場合には、水平ウインドウ37を 出ていく画素がないからである。したがって、pixel_NUMか32よりも 小さい場合に適用されるルーチン916においては、カウンタH135、H0、およ びH45は、画素カウンタのpixel_NUMがインクリメントされるごとに、 インクリメントのみをすることができる。他方で、pixel_NUMが32よ りも小さくない場合に適用されるルーチン914においては、カウンタH135、 H0、およびH45は、画素カウンタのpixel_NUMがインクリメントされ るごとに、インクリメントまたはデクリメントすることができる。ルーチン91 4および916は、それぞれ図10および11に関してより詳細に説明する。 ルーチン914および916は共にステップ918に戻り、ステップ918に おいて、水平バーコード検出器値RHが、H135、H0、およびH45のうちの最大 のものから、H135、H0、およびH45のうちの最小のものを引いたものに等しく セットされる。決定ステップ920において、H135が3つの水平比較値H135、 H0、およびH145のうちの最大のものであるかどうかが判定される。H135が最 大である場合には、「YES」のブランチをたどってステップ922に行き、ス テップ922において、水平バーコード向き値SHが135°にセットされる。 H135が最大ではない場合には、「NO」のブランチをたどってステップ924 に行き、ステップ924において、H0が水平比較値H135、H0、およびH45の うちの最大のものであるかどうかが判定される。H0が最大である場合には、「 YES」のブランチをたどってステップ926に行き、ステップ926において 、水平バーコード向き値SHが0゜にセットされる。H0か最大ではない場合には 、「NO」のブランチをたどってステップ928に行き、ステップ928におい て、水平バーコード向き値SHが45°にセットされる。 ステップ922、926、および928はそれぞれ次がステップ930であり 、ステップ930において、現在の画素が現在の走査線における最後の画素であ るかどうかが判定される。現在の画素が現在の走査線における最後の画素ではな い場合には、「NO」のブランチをたどってステップ908に戻り、ステップ9 08において、機能ブロック98が次の画素を待つ。現在の画素がその走査線に おける最後の画素である場合には、「YES」のブランチをたどってステップ9 02に戻り、ステップ902において、水平比較値H135、H0、およびH45のカ ウンタが0にリセットされる。図9に示すコンピュータが実施する処理によって 、画素化した画像30のそれぞれの画素について水平バーコード検出値RHおよ び水平バーコード向き値SHが作成される、ということが理解されよう。 図10は、画素カウンタのpixel NUMが32よりも小さくない場合に 適用される、コンピュータが実施するルーチン914の論理フロー図である。ス テップ100において、画素Pi-15,j-1がPi-16,jに等しいかどうかが判定され る。言い換えれば、ステップ1002は、画素Pi,jを全方向性バーコード探知 器20に読み込むことによって引き起こされた機能ブロック98の画素のシフト が、図4Aの右手側に示すように、135°の画素の適合を引き起こして水平ウ インドウ37に入ってきたかどうか、を判定する。ステップ1002の照会に対 する答えがノーの場合には、ステップ1002から「NO」のブランチをたどっ てステップ1004に行き、ステップ1004において、画素Pi-15,j-32がPi -15,j-31 に等しいかどうかが判定される。言い換えれば、画素Pi-jを全方向性 バーコード探知器20に読み込むことによって引き起こされた機能ブロック98 の画素のシフトが、図4Aの左手側に示すように、135°の画素の適合を引き 起こして水平ウインドウ37から出ていったかどうか、が判定される。ステップ 1004の照会に対する答えがイエスの場合には、「YES」のブランチをたど ってステップ1006に行き、ステップ1006において、水平バーコード比較 値H135のカウンタがデクリメントされる。画素Pi,jを全方向性バーコード探知 器20に読み込むことによって引き起こされた機能ブロック98の画素のシフト が、135°の画素の適合を引き起こして水平ウインドウ37から出ていったが 、135°の画素の適合を引き起こして水平ウインドウ37に入ってきてはいな いので、比較値H135のカウンタがデクリメントされる、ということが理解され るべきである。ステップ1004の照会に対する答えがノーの場合には、画素Pi,j を全方向性バーコード探知器20に読み込むことによって引き起こされた機 能ブロック98の画素のシフトが、135°の画素の適合を引き起こし水平ウイ ンドウ37から出ていくこともそこに入ってくることもしなかったので、水平比 較値H135のカウンタはインクリメントもデクリメントもされない。 決定ステップ1002に戻って、ステップ1002の照会に対する答えがイエ スの場合には、画素Pi,jを全方向性バーコード探知器20に読み込むことによ って引き起こされた機能ブロック98の画素のシフトか、図4Aの右手側に示す ように、135°の画素の適合を引き起こして水平ウインドウ37に入ってきて いる。ステップ1002の照会に対する答えがイエスの場合には、「YES」の ブランチをたどってステップ1008に行き、ステップ1008において、画素 Pi-15,j-32がPi-15,j-3に等しいかどうかが判定される。画素Pi-15,j-32がPi-15,j-31 に等しいということは、画素Pi,jを全方向性バーコード探知器20に 読み込むことによって引き起こされた機能ブロック98の画素のシフトが、図 4Aの左手側に示すように、135°の画素の適合を引き起こして水平ウインド ウ37から出ていった、ということを示す。 ステップ1008の照会に対する答えがイエスの場合には、画素Pi,jを全方 向性バーコード探知器20に読み込むことによって引き起こされた機能ブロック 98の画素のシフトが、135°の画素の適合を引き起こして、水平ウインドウ 37から出ていくこともそこに入ってくることもあったので、水平比較値H135 のカウンタはインクリメントもデクリメントもされない。ステップ1008の照 会に対する答えがノーの場合には、「NO」のブランチをたどってステップ10 10に行き、ステップ1010において、画素Pi.jを全方向性バーコード探知 器20に読み込むことによって引き起こされた機能ブロック98の画素のシフト が、135°の画素の適合を引き起こして水平ウインドウ37から入ってきたが 、135°の画素の適合を引き起こして水平ウインドウ37に出ていってはいな いので、比較値H135のカウンタがインクリメントされる。 ステップ1002ないし1010は、画素Pi,jを全方向性バーコード探知器 20に読み込むことによって引き起こされた機能ブロック98の画素のシフトが 、図4Aに示すような現在の行38の水平ウインドウ37内にある部分において 起こっている135°の画素の適合の数の「正味の増加または減少」を引き起こ したかどうかを判定する方法を示す、ということが理解されよう。便宜上、以下 では本方法を、図4Aに示すような水平比較値H135を計算する「正味の増加/ 減少方法」と呼ぶ。同じ「正味の増加/減少方法」を用いて、他の比較値H0、 H45、V135、V90、およびV45を計算するが、ただしこれらの画素比較はそれ ぞれ図4B−Fに示すという点のみが異なる。したがって、「正味の増加/減少 方法」は、他の比較値H0、H45、V135、V90、およびV45に関しては説明しな い。 ステップ1012ないし1020において、「正味の増加/減少方法」を用い て水平比較値H0のカウンタをインクリメントまたはデクリメントするべきかど うかが判定される。同様に、ステップ1022ないし1030において、「正味 の増加/減少方法」を用いて水平比較値H45のカウンタをインクリメントまたは デクリメントするべきかどうかが判定される。したかって、図10は、水平比較 値H135、H0、およびH45のカウンタをインクリメントまたはデクリメントして 、 それぞれ135°、0゜、および45°の向きの水平ウインドウ37内での画素 の適合の正味の増加を反映する方法を示す、ということが理解されよう。 図11は、図9のコンピュータが実施するルーチン916を示す。ルーチン9 16は、画素カウンタのpixel_NUMが32よりも小さい場合に適用され る。ステップ1102において、画素Pi-15,j-1がPi-16,jに等しいかどうかが 判定される。言い換えれば、画素Pi,jを全方向性バーコード探知器20に読み 込むことによって引き起こされた機能ブロック98の画素のシフトが、135° の画素の適合を引き起こして水平ウインドウ37に入ってきたかどうか、である 。ステップ1102の照会に対する答えがイエスの場合には、「YES」のブラ ンチをたどってステップ1104に行き、ステップ1104において、水平比較 値H135のカウンタがインクリメントされる。画素カウンタのpixel NU Mが32よりも小さいので、水平比較値H135のカウンタは、ルーチン196に おいてインクリメントのみをすることができる。 ステップ1104、およびステップ1102の「NO」のブランチは、ステッ プ1106に続かれ、ステップ1106において、画素Pi-16,j-1がPi-16,j-1 に等しいかどうかが判定される。言い換えれば、画素Pi,jを全方向性バーコー ド探知器20に読み込むことによって引き起こされた機能ブロック98の画素の シフトが、0゜の画素の適合を引き起こして水平ウインドウ37に入ってきたか どうか、である。ステップ1106の照会に対する答えがイエスの場合には、「 YES」のブランチをたどってステップ1108に行き、ステップ1108にお いて、水平比較値H0のカウンタがインクリメントされる。画素カウンタのpi xel_NUMが32よりも小さいので、水平比較値H。のカウンタは、ルーチ ン916においてインクリメントのみをすることができる。 ステップ1108、およびステップ1106の「NO」のブランチは、ステッ プ1110に続かれ、ステップ1110において、画素Pi-15,j-1がPi-16,j-2 に等しいかどうかが判定される。言い換えれば、画素Pi,jを全方向性バーコー ド探知器20に読み込むことによって引き起こされた機能ブロック98の画素の シフトが、45°の画素の適合を引き起こして水平ウインドウ37に入ってきた かどうか、である。ステップ1110の照会に対する答えがイエスの場合には、 「YES」のブランチをたどってステップ1112に行き、ステップ1112に おいて、水平比較値H45カウンタがインクリメントされる。画素カウンタのpi xel NUMが32よりも小さいので、水平比較値H45のカウンタは、ルーチ ン916においてインクリメントのみをすることができる。ステップ1112, およびステップ1110の「NO」のブランチは、次が継続ステップであり、こ の継続ステップにおいて、図9によって示すコンピュータが実施する処理がステ ップ918において継続する。 図12は、垂直検出器72の機能ブロック100用のコンピュータが実施する ルーチンを示す。ステップ1202において、垂直比較値V135、V90、および V45のカウンタが0にセットされる。ステップ1204において、機能ブロック 100が次の走査線を待つ。ステップ1206において、画素カウンタのpix el NUMが0に等しくセットされる。ステップ1208において、前の列4 4の垂直比較値V135、V90、およびV45のカウンタ値がRAM73内に保存さ れる。ステップ1210において、機能ブロック100が、次の画素を待つ。ス テップ1214において、機能ブロック100が、現在の列42の垂直比較値V135 、V90、およびV45のカウンタ値をRAM73から検索する。ステップ12 16において、画素カウンタのpixel_NUMがインクリメントされる。ス テップ1218において、画素カウンタのpixel_NUMが32よりも小さ いかどうかが判定される。画素カウンタのpixel_NUMが32よりも小さ い場合には、「YES」のブランチをたどってルーチン1222に行く。画素カ ウンタのpixel_NUMが32よりも小さくない場合には、「NO」のブラ ンチをたどってルーチン1220に行く。ルーチン1220および1222は、 図13および14に関してより詳細に説明する。 ルーチン1220および1222は共に、次がステップ1224であり、ステ ップ1224において、垂直バーコード検出値RVが、V135、V90、およびV45 のうちの最大のものから、V135、V90、およびV45のうちの最小のものを引い たものにセットされる。ステップ1224は、次がステップ1226であり、ス テップ1226において、垂直比較値V135が3つの垂直比較値V135、V9O、お よびV45のうちの最大のものであるかどうかが判定される。垂直比較値V135が 最大である場合には、「YES」のブランチをたどってステップ1228に行き 、ステップ1228において、垂直バーコード向き値SVが135°にセットさ れる。V135が最大ではない場合には、ステップ1226から「NO」のブラン チをたどってステップ1230に行き、ステップ1230において、垂直比較値 V90が垂直比較値V135、V90、およびV45のうちの最大のものであるかどうか が判定される。垂直比較値V90が最大である場合には、ステップ1233におい て、垂直バーコード向き値SVが90゜に等しくセットされる。垂直比較値V90 が最大ではない場合には、ステップ1232は「NO」のブランチをたどってス テップ1234に行き、ステップ1234において、垂直バーコード向き値が4 5°にセットされる。 ステップ1228、1232、および1234は次がステップ1236であり 、ステップ1236において、現在の画素が現在の走査線における最後の画素で あるかどうかが判定される。現在の画素が現在の走査線における最後の画素では ない場合には、「NO」のブランチをたどってステップ1208に戻り、ステッ プ1208において、現在の列の垂直比較値のカウンタ値がRAM73内に保存 される。現在の画素が走査線における最後の画素である場合には、ステップ12 36から「YES」のブランチをたどってステップ1204に行き、ステップ1 204において、機能ブロック100が、次の画素を待つ。機能ブロック100 について上述したルーチンの結果として、ビデオ画像30のそれぞれの画素につ いての垂直バーコード検出値RVおよび垂直バーコード向き値SVが作成される、 ということが理解されよう。 図13は、図12のルーチン1220の論理フロー図である。図13の示すル ーチンは、図10のルーチンとほぼ等しいか、図13のルーチンは垂直ウインド ウ36に対応するのに対して図10のルーチンは水平ウインドウ37に対応する 、という点のみが異なる。より具体的には、ステップ1302ないし1310は 、図10に関して前述した「正味の増加/減少方法」を用いて垂直比較値V135 のカウンタをインクリメントまたはデクリメントするべきかどうかを判定する。 同様に、ステップ1312ないし1320は、「正味の増加/減少方法」を用い て垂直比較値V。のカウンタをインクリメントまたはデクリメントするべきかど う かを判定し、ステップ1322ないし1330は、「正味の増加/減少方法」を 用いて垂直比較値V45をインクリメントまたはデクリメントするべきかどうかを 判定する。図13上に示すルーチン1220は、継続ステップで終わり、この継 続ステップにおいて、図12上に示すコンピュータが実施する処理がステップ1 224において継続する。 図14は、図12のルーチン1222の論理フロー図を示す。図14により示 される処理は、図11により示される処理とほぼ等しいが、図11の処理は水平 ウインドウ37に対応するのに対して図14の示す処理は垂直ウインドウ36に 対応する、という点のみが異なる。 図15は、トリガ検出器80用のコンピュータが実施する処理を示す。ステッ プ1501において、垂直バーコード検出値RVの計算は15クロックサイクル 遅延される。この15クロックサイクルの遅延によって、垂直ウインドウ36は 効果的に15画素右へシフトし、図3Bに示すように、水平ウインドウ37の中 心に配置される。ステップ1502において、垂直バーコード検出値RVが垂直 バーコード検出しきい値T(RV)よりも大きいかどうか、または、水平バーコ ード検出値RHが水平バーコード検出しきい値T(RH)よりも大きいかどうか、 が判定される。言い換えれば、ステップ1502において、比較値H135、H0、 H45、V135、V90、V45のうちの少なくとも1つにおいて、現在の画素Pi-15, j-15 の位置においてバーコードが検出されたと判定するのに十分な数の適合が見 いだされたかどうか、が判定される。ステップ1502の照会に対する答えがノ ーの場合には、「NO」のブランチをたどってステップ1504に行き、ステッ プ1504において、候補値Cが、現在の画素Pi-15,j-15についてバーコード が検出されなかったということを示す0(すなわち偽)にセットされる。 ステップ1502の照会に対する答えがイエスの場合には、ステップ102か ら「YES」のブランチをたどってステップ1506に行き、ステップ1506 において、垂直バーコード検出値RVが水平バーコード検出値RHよりも大きいか どうかが判定される。ステップ1506の照会に対する答えがノーの場合には、 「NO」のブランチをたどってステップ1508に行き、ステップ1508にお いて、候補値Cが、1(すなわち真)に等しくセットされ、候補向き値DCが、 水平バーコード向き値SHの値に等しくセットされる。ステップ1506の照会 に対する結果がイエスの場合には、「YES」のブランチをたどってステップ1 510に行き、ステップ1510において、候補値Cが1に等しくセットされ、 候補向き値DCが、垂直バーコード向き値SVの値に等しくセットされる。図6を 参照して、候補値Cおよび候補向き値DCは、合計器84に供給される。、図1 5の示すコンピュータが実施するルーチンの結果として、0または1である候補 値C、および候補向き値DCが、ビデオ画像30のそれぞれの画素について計算 される、ということが理解されよう。 図16は、合計器84用のコンピュータが実施する処理を示す。合計器は、図 2Bに示すように、代表的なセル35等のそれぞれのセル内でバーコードが検出 されるかどうかを判定する。ステップ1602において、カウンタAおよびBが 0に等しくセットされる。ステップ1604において、合計器84は次の走査線 を待つ。ステップ1606において、走査線カウンタのscanline_NU Mが1インクリメントされる。合計器84の走査線カウンタのscanline NUMは、1から36までカウントし、次に、代表的なセル35等のセル内の 部分的な走査線の数に対応してロールオーバーする。ステップ1608において 、合計器84は次の画素を待つ。ステップ1610において、画素カウンタのp ixel NUMがインクリメントされる。ステップ1610は、次が決定ステ ップ1612であり、ステップ1612において、以下の条件が満たされている かどうかが判定される。 pixel_NUM MOD 32 = 0 当業者であれば、論理式pixel_NUM MOD 32 = 0は、32 の倍数ごと、すなわち32、64、96、128、等において、偽から真へと交 互に変化する、ということを理解しよう。この演算は、代表的な走査線34等の 1個の走査線の4,096画素を、図2Bに示すようにそれぞれの幅が32画素 の部分的な走査線に分割する、ということに対応する。ステップ1612の照会 に対する答えが真の場合には、「YES」のブランチをたどってルーチン161 6に行き、ルーチン1616において、セル内でバーコードを検出することがで きる。ルーチン1616は、図17に関してより詳細に説明する。 ステップ1612の照会に対する答えが偽の場合には、ステップ1612から 「NO」のブランチをたどってステップ1620に行き、ステップ1620にお いて、現在の画素についてバーコード候補が検出されているかどうか(すなわち 、候補値C=1かどうか)が判定される。バーコード候補が検出されている場合 には、「YES」のブランチをたどってステップ1622に行き、ステップ16 22において、現在の画素についての候補向き値DCが0゜に等しいかどうかが 判定される。ステップ1622の照会に対する答えがイエスの場合には、「YE S」のブランチをたどってステップ1624に行き、ステップ1624において 、カウンタAがデクリメントされる。ステップ1622の照会に対する答えがノ ーの場合には、「NO」のブランチをたどってステップ1626に行き、ステッ プ1626において、候補向き値が90゜に等しいかどうかが判定される。ステ ップ1626の照会に対する答えがイエスの場合には、「YES」のブランチを たどってステップ1628に行き、ステップ1628において、カウンタAかイ ンクリメントされる。ステップ1627の照会がノーの場合には、「NO」のブ ランチをたどってステップ1630に行き、ステップ1630において、候補向 き値が45°に等しいかどうかが判定される。ステップ1630の照会がイエス の場合には、「YES」のブランチをたどってステップ1632に行き、ステッ プ1632において、カウンタBがインクリメントされる。ステップ1630の 照会に対する答えがノーの場合には、「NO」のブランチをたどってステップ1 634に行き、ステップ1634において、カウンタBがデクリメントされる。 ステップ1624、1628、1632、および1634はすべて、次がステッ プ1636である。図16の示すコンピュータが実施する処理は、2つのカウン タ、カウンタAおよびB、のみを用いて、セル内で検出されたバーコードについ て、4つの可能性のある向き、0゜、90゜、45°、および135°のうちか ら選択する、という点において、全方向性バーコード探知器20の設計が効率的 であるということを示している、ということが理解されよう。 ステップ1636において、現在の画素が走査線における最後の画素であるか どうかが判定される。現在の画素が走査線における最後の画素ではない場合には 、ステップ1636から「NO」のブランチをたどってステップ1608に行き 、ステップ1608において、合計器84が次の画素を待つ。現在の画素が走査 線における最後の画素である場合には、ステップ1636から「YES」のブラ ンチをたどってステップ1604に行き、ステップ1604において、合計器8 4が次の走査線を待つ。 図17は、図16のコンピュータが実施するルーチン1616用の論理フロー 図を示す。ステップ1702において、以下の条件が満たされているかどうかが 判定される。 scanline NUM MOD 32 = 0 当業者であれば、論理演算scanline_NUM MOD 32 = 0 は、scanline NUMの値が32の倍数に等しくなる時ごとに、効果的 に偽から真へと交互に変化する、ということを理解しよう。この演算は、効果的 に、画像30を、図2B上に示すように高さが32画素のセルに分割する。ステ ップ1702の照会に対する答えがイエスの場合には、代表的なセル35等のセ ル全体が全方位性バーコード探知器20によって処理され、ステップ1702か ら「YES」のブランチをたどってステップ1703に行く。ステップ1703 において、カウンタAの絶対値またはカウンタBの絶対値かセルしきい値T(M )よりも大きいかどうかが判定される。ステップ1703の照会に対する答えが ノーの場合には、「NO」のブランチをたどってステップ1704に行き、ステ ップ1704において、バーコード表示値Mが「偽」にセットされ、図1および 6に示すバーコード検出信号21が、セル内にバーコードが検出されなかったと いうことを反映する。ステップ1704は、次がステップ1719であり、ステ ップ1719において、カウンタAおよびBが0にリセットされる。 ステップ1703の照会が真の場合には、現在のセル内でバーコードが検出さ れており、「YES」のブランチをたどってステップ1706に行く。ステップ 1706において、カウンタAの絶対値がカウンタBの絶対値よりも大きいかど うかが判定される。ステップ1706の照会に対する答えがイエスの場合には、 「YES」のブランチをたどってステップ1708に行き、ステップ1708に おいて、カウンタAの絶対値か0よりも大きいかどうかが判定される。カウンタ Aの絶対値が0よりも大きい場合には、「イエス」のブランチをたどってステッ プ1712に行き、ステップ1712において、バーコード表示値Mが「真」に セットされ、バーコード向き値Dが90゜にセットされる。バーコード検出信号 21は、対応して、セル内にバーコードが検出されているということを反映し、 バーコード向き信号22は、90゜の向きを反映する。カウンタAが0よりも大 きくない場合には、ステップ1708は「NO」のブランチをたどってステップ 1710に行き、ステップ1710において、バーコード表示値Mが「真」にセ ットされ、バーコード向き値Dが0゜にセットされる。バーコード検出信号21 は、対応して、セル内にバーコードが検出されているということを反映し、バー コード向き信号22は、0゜の向きを反映する。 ステップ1706の照会に対する答えがノーの場合には、「NO」のブランチ をたどってステップ1714に行き、ステップ1714において、カウンタBの 絶対値が0よりも大きいかどうかが判定される。カウンタBの絶対値が0よりも 大きい場合には、ステップ1714から「イエス」のブランチをたどってステッ プ1718に行き、ステップ1718において、バーコード表示値Mが「真」に セットされ、バーコード向き値Dが45°にセットされる。バーコード検出信号 21は、対応して、セル内にバーコードが検出されているということを反映し、 バーコード向き信号22は、45°の向きを反映する。カウンタBの値が0より も大きくない場合には、ステップ1714から「NO」のブランチをたどってス テップ1716に行き、ステップ1716において、バーコード表示値Mが「真 」にセットされ、バーコード向き値Dが135°にセットされる。バーコード検 出信号21は、対応して、セル内にバーコードが検出されているということを反 映し、バーコード向き信号22は、135°の向きを反映する。 ステップ1704、1710、1712、1716、および1718はすべて 、次がステップ1719であり、ステップ1719において、カウンタAおよび Bが0にリセットされる。ステップ1719、およびステップ1702からの「 N O」のブランチは、次がステップ1720であり、ステップ1720において、 現在のセルのカウンタ値がRAM87内に保存される。ステップ1722におい て、合計器84は次のセルのカウンタ値をRAM87から得る。ステップ172 2は、次が継続ステップであり、この継続ステップにおいて、合計器用のコンピ ュータが実施する処理が図16上に示すステップ1620で継続する。図16お よび図17により示されるコンピュータ実行処理は、ビデオ画像30の各セルに ついてのセルバーコード表示値Mおよびバーコード向き値Dに帰着することが理 解されよう。 上述の方法で、全方位性バーコード探知器20は、リアルタイムで、ビデオ画 像30のそれぞれのセルについてのバーコード検出信号21およびバーコード向 き信号22を作成する。本発明は、高速で低コストの全方向性バーコード探知器 用の改良した方法および装置を提供する、ということが理解されよう。本発明は また、計算が効率的な全方向性バーコード探知器を提供する。より具体的には、 本発明は、コンベアに沿って動く小包上のバーコードの位置およびおおよその向 きをリアルタイムで判定するのに用いることができ、次にバーコード読み取り装 置によって処理されるように保存されねばならないカメラのデータの量を低減す ることができる、全方向性バーコード探知器を提供する。前述の事柄は本発明の 特定の実施例にのみ関係することであり、添付の請求の範囲に規定する本発明の 精神および範囲から逸脱することなく本発明に多くの変更を行うことができる、 ということが理解されるべきである。
【手続補正書】特許法第184条の8第1項 【提出日】1998年6月10日(1998.6.10) 【補正内容】 請求の範囲 (補正後の請求の範囲) 1.基板の、斜めの下から上への画素の列を形成する連続した平行な左から右へ の画素の行を含む、画素化した画像30を規定する画素の連続19を得るステッ プを含む、基板14上のバーコード33を検出する方法において、 現在の画素の両側の現在の行38の画素の強さを前の行40の画素の強さと比 較し、強さが適合する場合にはその数をカウントすることによって、それぞれの 画素についての第1の水平比較値を計算するステップであって、それぞれの比較 について、該現在の行38の画素の列は、該前の行40の画素の列の左にあるス テップと、 該現在の画素の両側の該現在の行38の画素の強さを該前の行40の画素の強 さと比較し、強さが適合する場合にはその数をカウントすることによって、それ ぞれの画素についての第2の水平比較値を計算するステップであって、それぞれ の比較について、該現在の行38の画素の列は、該前の行40の画素の列と同じ であるステップと、 該現在の画素の両側の該現在の行38の画素の強さを該前の行40の画素の強 さと比較し、強さが適合する場合にはその数をカウントすることによって、それ ぞれの画素についての第3の水平比較値を計算するステップであって、それぞれ の比較について、該現在の行38の画素の列は、該前の行40の画素の列の右に あるステップと、 該第1、第2、および第3の水平比較値のうちの最小のものを該第1、第2、 および第3の水平比較値のうちの最大のものから引くことによって、該第1、第 2、および第3の比較値のうちの1つまたはそれよりも多くを基にして、それぞ れの画素についての水平バーコード検出値を計算するステップと、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステップ とを含む方法。 2.前記画素の連続からの画素を、複数のセル35に割り当てるステップと、お よび 複数の該セルのそれぞれについて、 該セル内の、前記水平バーコード検出値が前記水平バーコード検出しきい 値よりも大きい画素の数を合計することによって、セルバーコード表示値を決定 するステップと、および 該セルバーコード表示値が所定のしきい値よりも大きい場合には、該セル 内の画素をコンピュータメモリ24内に保存するステップと をさらに含む、請求の範囲第1項に記載の方法。 3.複数の前記セルのそれぞれの複数の画素のそれぞれについて、 前記第1、第2、および第3の水平比較値のうちの最大のものに対応する ようにセルバーコード向き値を決定するステップと、および 該セルバーコード表示値が前記所定のしきい値よりも大きい場合には、該 セルバーコード向き値の表示を前記コンピュータメモリ24内に保存するステッ プと をさらに含む、請求の範囲第1項または第2項に記載の方法。 4.前記前の行40が、前記現在の行38の直前にあり、 第1の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列左にあり、および 第3の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列右にある請求の範 囲第1項ないし第3項のいずれかに記載の方法。 5.前記第1、第2、および第3の水平比較値を計算する前記ステップが、 複数の前記セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインドウ3 7を規定するステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを前の行40の画素 の強さと比較することによって、第1の水平比較値を計算するステップであって 、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画素 の 列の左にあるステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該前の行40の画 素の強さと比較することによって、第2の水平比較値を計算するステップであっ て、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画 素の列と同じであるステップと、および 該水平ウインドウ37内の該現在の行38の画素の強さを該前の行40の画 素の強さと比較することによって、第3の水平比較値を計算するステップであっ て、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画 素の列の右にあるステップと、 を含む、請求の範囲第2項ないし第4項のいずれかに記載の方法。 6.前記水平バーコード検出値が前記水平バーコード検出しきい値よりも大きい 場合には、 前記画素化した画像30の一部を前記コンピュータメモリ24内に保存するス テップと、 前記第1、第2、および第3の水平比較値のうちの最大のものに対応するよう に水平バーコード向き値を決定するステップと、および 該水平バーコード向き値の表示を該コンピュータメモリ24内に保存するステッ プと をさらに含む、請求の範囲第1項に記載の方法。 7.前記画素化した画像30が、斜めの下から上への画素の列を形成する連続し た平行な左から右への画素の行を含み、セルバーコード表示値を決定する前記ス テップがさらに、 前記画素の連続からの画素を、複数のセルに割り当てるステップと、 複数の該セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインドウ3 7を規定するステップと、 該現在の行38の画素の強さを前の行40の画素の強さと比較することによ って、第1の水平比較値を計算するステップであって、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の左にあるステップと 、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第2の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列と同じであるステッ プと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第3の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列の右にあるステップ と、 該第1、第2、および第3の水平比較値のうちの最小のものを該第1、第2、 および第3の水平比較値のうちの最大のものから引くことによって、該第1、第 2、および第3の比較値のうちの1つまたはそれよりも多くを基にして、それぞ れの画素についてセルバーコード表示値を計算するステップと、および 該セルバーコード表示値をセルしきい値と比較するステップとを含む、請求の 範囲第1項ないし第6項のいずれかに記載の方法。 8.複数の前記セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の列42に沿った複数の隣接する画素を含む、垂直ウインドウ 36を規定するステップと、 該現在の列42の画素の強さを前の列44の画素の強さと比較することに よって、第1の垂直比較値を計算するステップであって、それぞれの比較につい て、該現在の列42の画素の行は、該前の列44の画素の行の上であるステップ と、 該現在の列42の画素の強さを該前の列44の画素の強さと比較すること によって、第2の垂直比較値を計算するステップであって、それぞれの比較につ いて、該現在の列42の画素の行は、該前の列44の画素の行と同じであるステ ップと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較すること によって、第3の垂直比較値を計算するステップであって、それぞれの比較につ いて、該現在の列42の画素の行は、該前の列44の画素の行の下であるステッ プと、 該第1、第2、および第3の垂直比較値のうちの最小のものを該第1、第 2、および第3の垂直比較値のうちの最大のものから引くことによって、該第1 、第2、および第3の垂直比較値のうちの1つまたはそれよりも多くを基にして 、垂直バーコード検出値を計算するステップと、および 該垂直バーコード検出値を、垂直バーコード検出しきい値と比較するステ ップとをさらに含む、請求の範囲第1項ないし第7項に記載の方法。 9.前記前の行40が、前記現在の行38の直前にあり、 前記前の列44が、前記現在の列42の直前にあり、 第1の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列左にあり、 第3の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列右にあり、 第1の垂直比較値を計算する前記ステップが、該現在の列42の画素の強さ を該前の列44の画素の強さと比較することを含み、それぞれの比較について、 該現在の列42の画素の行は、該前の列44の画素の行の1行上であり、および 第3の垂直比較値を計算する前記ステップが、該現在の列42の画素の強さ を該前の列44の画素の強さと比較することを含み、それぞれの比較について、 該現在の列42の画素の行は、該前の列44の画素の行の1行下である請求の範 囲第8項に記載の方法。 10.前記複数のセルのそれぞれについて、 前記セル内の複数の画素のそれぞれについて、 前記第1、第2、および第3の水平比較値のうちの最大のものに対応するよ うに水平バーコード向き値を計算するステップと、 前記第1、第2、および第3の垂直比較値のうちの最大のものに対応するよ うに垂直バーコード向き値を計算するステップと、 該水平および垂直バーコード向き値のうちの最大のものに対応するようにセ ルバーコード向き値を計算するステップと、および 該セルバーコード表示値が前記セルしきい値よりも大きい場合には、該セルバ ーコード向き値の表示を前記コンピュータメモリ24内に保存するステップとを さらに含む、請求の範囲第8項ないし第9項のいずれかに記載の方法。 11.現在の画素を含む前記現在の行38について行われる前記各ステップが、 これもまた該現在の画素を含む前記現在の列42について行われる前記各ステッ プと同時に行われる、請求の範囲第8項ないし第10項のいずれかに記載の方法 。 12.前記画素の連続からの画素を、複数のセルに割り当てるステップと、 前記セル内の複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインド ウ37を規定するステップと、 画素の現在の列42に沿った複数の隣接する画素を含む、垂直ウインド ウ36を規定するステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該水平ウイン ドウ37内の前の行40の画素の強さと比較することによって、第1の水平比較 値を計算するステップであって、それぞれの比較について、該現在の行38の画 素の列は、該前の行40の画素の列の左にあるステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該水平ウイン ドウ37内の該前の行40の画素の強さと比較することによって、第2の水平比 較値を計算するステップであって、それぞれの比較について、該現在の行38の 画素の列は、該前の行40の画素の列と同じであるステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該水平ウイン ドウ37内の該前の行40の画素の強さと比較することによって、第3の水平比 較値を計算するステップであって、それぞれの比較について、該現在の行38の 画素の列は、該前の行40の画素の列の右にあるステップと、 該垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の前の列44の画素の強さと比較することによって、第1の垂直比較 値を計算するステップであって、それぞれの比較について、該現在の列42の画 素の行は、該前の列44の画素の行の上であるステップと、 該垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の該前の列44の画素の強さと比較することによって、第2の垂直比 較値を計算するステップであって、それぞれの比較について、該現在の列42の 画素の行は、該前の列44の画素の行と同じであるステップと、 該垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の該前の列44の画素の強さと比較することによって、第3の垂直比 較値を計算するステップであって、それぞれの比較について、該現在の列42の 画素の行は、該前の列44の画素の行の下であるステップと、 該第1、第2、および第3の垂直比較値のうちの最小のものを該第1、 第2、および第3の垂直比較値のうちの最大のものから引くことによって、該第 1、第2、および第3の垂直比較値のうちの1つまたはそれよりも多くを基にし て、垂直バーコード検出値を計算するステップと、および 該垂直バーコード検出値を、垂直バーコード検出しきい値と比較するス テップとを含み、さらに 該セル内の、前記水平バーコード検出値が前記水平バーコード検出しきい 値よりも大きい画素の数、および、該セル内の、該垂直バーコード検出値が該垂 直バーコード検出しきい値よりも大きい画素の数を合計することによって、該水 平および垂直バーコード検出値を基にして、セルバーコード表示値を計算するス テップと、 該セルバーコード表示値をセルしきい値と比較するステップと、および 該セルバーコード表示値が該セルしきい値よりも大きい場合には、該セル 内にある該画素化した画像30の部分を、前記コンピュータメモリ24内に保存 するステップと をさらに含む、請求の範囲第1項に記載の方法。 13.前記複数のセルのそれぞれについて、 前記セル内の複数の画素のそれぞれについて、 前記第1、第2、および第3の水平比較値のうちの最大のものに対応するよ うに水平バーコード向き値を計算するステップと、 前記第1、第2、および第3の垂直比較値のうちの最大のものに対応するよ うに垂直バーコード向き値を計算するステップと、 該水平および垂直バーコード向き値のうちの最大のものに対応するようにセ ルバーコード向き値を計算するステップと、および 前記セルバーコード表示値が前記セルしきい値よりも大きい場合には、該セル バーコード向き値の表示を、前記コンピュータメモリ24内に保存するステップ と をさらに含む、請求の範囲第12項に記載の方法。 14.第1の水平比較値を計算する前記ステップ、第2の水平比較値を計算する 前記ステップ、第3の水平比較値を計算する前記ステップ、水平バーコード検出 値を計算する前記ステップ、および該水平バーコード検出値を水平バーコード検 出しきい値と比較する前記ステップが、複数の前記画素のそれぞれについて行わ れ、 複数の該画素を含むセルを規定するステップと、 該セル内の複数の該画素について候補値を決定するステップであって、該候補 値のそれぞれは、該セル内の画素についての該水平バーコード検出値および垂直 バーコード検出値を基にしているステップと、 該セル内の該画素に対応する該候補値を基にしてセルバーコード表示値を決 定するステップと、 該セルバーコード表示値をセルしきい値と比較するステップと、および 該セルバーコード表示値が該セルしきい値よりも大きい場合には、該セル内に ある前記画素化した画像30の部分を、前記コンピュータメモリ24内に保存す るステップと をさらに含む、請求の範囲第1項に記載の方法。 15.複数の前記画素のそれぞれについて、 現在の列42の画素の強さを前の列44の画素の強さと比較することに よって、第1の垂直比較値を計算するステップであって、それぞれの比較につい て、該現在の列42の画素の行は、該前の列44の画素の行の上であるステップ と、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第2の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行と同じであるス テップと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第3の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行の下であるステ ップと、 前記第1、第2、および第3の水平比較値のうちの1つまたはそれより も多くを基にして、水平バーコード向き値を計算するステップと、および 該第1、第2、および第3の垂直比較値のうちの1つまたはそれよりも 多くを基にして、垂直バーコード向き値を計算するステップとを含み、さらに 該水平および垂直バーコード向き値を基にして、セルバーコード向き値を 計算するステップと、および 前記セルバーコード表示値が前記セルしきい値よりも大きい場合には、該 セルバーコード向き値の表示を、前記コンピュータメモリ24内に保存するステ ップと をさらに含む、請求の範囲第14項に記載の方法。 16.基板の、上向きの斜線の画素の列を形成する、連続的な平行の左から右へ の画素の行を含む、画素化した画像30、を含むデジタルビデオ信号19を受け 取るように動作可能なバッファメモリ60を含む、基板14上のバーコード33 の存在およびおおよその向きを検出するように動作可能な装置において、 該バッファメモリ60から画素の連続を受け取り、 画素の現在の行38に沿って現在の画素の両側の複数の隣接する画素を含む 水平ウインドウ37を規定し、 前記水平ウインドウ37内の該現在の行38の画素の強さを該水平ウインドウ 37内の前の行40の画素の強さと比較することによって、それぞれの画素につ いての第1の水平比較値を計算し、それぞれの比較について、該現在の行38の 画素の列は、該前の行40の画素の列の左にあり、 該水平ウインドウ37内の該現在の行38の画素の強さを該水平ウインドウ 37内の該前の行40の画素の強さと比較することによって、それぞれの画素に ついての第2の水平比較値を計算し、それぞれの比較について、該現在の行38 の画素の列は、該前の行40の画素の列と同じであり、 該水平ウインドウ37内の該現在の行38の画素の強さを該水平ウインドウ 37内の該前の行40の画素の強さと比較することによって、それぞれの画素に ついての第3の水平比較値を計算し、それぞれの比較について、該現在の行38 の画素の列は、該前の行40の画素の列の右にあり、 該第1、第2、および第3の比較値のうちの最小のものを該第1、第2、お よび第3の比較値のうちの最大のものから引くことによって、該第1、第2、お よび第3の水平比較値のうちの1つまたはそれよりも多くを基にして、それぞれ の画素についての水平バーコード検出値を計算し、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較する ように動作可能な、水平検出器70 を含む装置。 17.前記バッファメモリ60から画素の連続を受け取り、 画素の現在の列42に沿って現在の画素の両側の複数の隣接する画素を含 む垂直ウインドウ36を規定し、 前記垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の前の列42の画素の強さと比較することによって、それぞれの画素 についての第1の水平比較値を計算し、強さが適合する場合にはその数をカウン トし、それぞれの比較について、該現在の列42の画素の行は、該前の列44の 画素の行の上であり、 前記垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の前の列42の画素の強さと比較することによって、それぞれの画素 についての第2の水平比較値を計算し、強さが適合する場合にはその数をカウン トし、それぞれの比較について、該現在の列42の画素の行は、該前の列44の 画素の行と同じであり、 前記垂直ウインドウ36内の該現在の列42の画素の強さを該垂直ウイン ドウ36内の前の列42の画素の強さと比較することによって、それぞれの画素 についての第3の水平比較値を計算し、強さが適合する場合にはその数をカウン トし、それぞれの比較について、該現在の列42の画素の行は、該前の列44の 画素の行の下であり、 該第1、第2、および第3の比較値のうちの最小のものを該第1、第2、 および第3の比較値のうちの最大のものから引くことによって、該第1、第2、 および第3の垂直比較値のうちの1つまたはそれよりも多くを基にして、それぞ れの画素についての垂直バーコード検出値を計算し、および 該垂直バーコード検出値を、垂直バーコード検出しきい値と比較する ように動作可能な、垂直検出器72をさらに含む、請求の範囲第16項に記 載の装置。 18.前記水平検出器70から前記水平バーコード検出値を受け取り、前記垂直 検出器72から前記垂直バーコード検出値を受け取り、および 複数の該画素について候補値を決定し、該候補値のそれぞれは、前記第1 、第2、および第3の水平比較値のうちの最大のものに対応する水平バーコード 検出値および前記第1、第2、および第3の垂直比較値のうちの最大のものに対 応する垂直バーコード検出値を基にしている ように動作可能な、トリガ検出器80、および 該トリガ検出器80から該候補値を受け取り、 複数の該画素を含むセルを規定し、および 前記セル内の画素に対応する該候補値を基にしてセルバーコード表示値を 決定する ように動作可能な、合計器84 をさらに含む、請求の範囲第16項ないし第17項のいずれかに記載の装置。 19.前記水平検出器70かさらに、複数の前記画素について、前記現在の行3 8の画素の前の行40の画素との比較を基にして水平バーコード向き値を計算す るように動作可能であり、 前記垂直検出器72がさらに、複数の該画素について、前記現在の列42 の画素の前の列44の画素との比較を基にして垂直バーコード向き値を計算する ように動作可能であり、 前記トリガ検出器80がさらに、複数の該画素について、該水平および垂 直バーコード向き値を基にして候補向き値を決定するように動作可能であり、 前記合計器84がさらに、前記セル内の画素に対応する該候補向き値を基 にしてセルバーコード向き値を決定するように動作可能である請求の範囲第16 項ないし第18項のいずれかに記載の装置。 20.前記水平検出器70、前記垂直検出器72、前記トリガ検出器80、およ び前記合計器84のうちの1つまたはそれよりも多くが、現場でプログラム可能 なゲートアレイを含む、請求の範囲第16項ないし第19項のいずれかに記載の 装置。 【手続補正書】 【提出日】1999年3月10日(1999.3.10) 【補正内容】 (1)第2頁20行の記載「ほんのわずか」を「ほんのわずかな」に補正する。 (2)第4頁13行〜14行の記載「デジィット画像」を「デジタル画像」に補 正する。 (3)第4頁22行の記載「大容量記憶メモリ」を「大容量記憶コンピュータメ モリ (以下、この明細書においては、大容量記憶メモリと記載することもある 」に補正する。 (4)第6頁21行の記載「第2の垂直水平比較値」を「第2の垂直比較値」に 補正する。 (5)第12頁10行及び13行の記載「大容量コンピュータメモリ」を「大容 量記憶メモリ 」にそれぞれ補正する。 (6)第14頁3行〜4行の記載「差し出し住所」を「送り元住所」に補正する 。 (7)第16頁28行〜29行の記載「読み取り装置」を「探知器」に補正する 。 (8)第16頁29行及び第17頁2行の記載「窓」を「ウインドウ」にそれぞ れ補正する。 (9)第17頁1行及び同頁15行〜16行の記載「画素Pi-15,j-15」を「画素 i-15,j-15 」 にそれぞれ補正する。 (10)第17頁28行の記載「図5C」を「図5D」に補正する。 (11)第21頁18行及び第24頁1行の記載「デジタルビデオデータ信号」 を「デジタルビデオ信号」にそれぞれ補正する。 (12)第23頁12行記載の式を次のように補正する。 32 32 「T45,135=Σ Σ{Ck,wifDc=45;−Ck,wifDc=135;0 k=1w=1 otherwise」 (13)第25頁12行の記載「窓」を「ウインドウ」に補正する。 (14)第25頁20行の記載「バーコード表示信号」を「バーコード検出信号 」に補正する。 (15)第28頁1行の記載「水平ウインドウ」を「垂直ウインドウ」に補正す る。 (16)第28頁1行〜2行の記載「垂直ウインドウ」を「水平ウインドウ」に 補正する。 (17)第28頁16行の記載「実施してもよい。、」を「実施してもよい。」 に補正する。 (18)第33頁5行の記載「H145」を「45 」に補正する。 (19)第33頁26行〜27行の記載「ステップ100」を「ステップ100 」に補正する。 (20)第40頁5行の記載「供給される。」を「供給される。」に補正する。 (21)第41頁16行の記載「ステップ1627」を「ステップ1626」に 補正する。
───────────────────────────────────────────────────── 【要約の続き】 信号(22)という2つの出力信号を作成する。ホスト コンピュータ(23)は、あるセルについての「真」の セルバーコード検出信号(21)に、ビデオ画像(3 0)のそのセルに対応する部分を大容量記憶メモリ(2 4)内に保存することによって、応答する。ホストコン ピュータ(30)はまた、セルバーコード表示信号(2 1)か「真」であるそれぞれのセルについて、セルバー コード向き信号(22)の表示も保存する。したがっ て、全方向性バーコード探知器(20)によって、ホス トコンピュータ(30)はバーコードデータを含むビデ オ画像(30)のセルのみを保存することができる。バ ーコードデータは、さらに処理されるように、次にバー コード読み取り装置(23)に供給されてもよい。

Claims (1)

  1. 【特許請求の範囲】 1.基板の画素化した画像30を規定する画素の連続19を得るステップを含む 、基板14上のバーコード33の画像を検出し保存する方法において、 該画素の連続からの画素を、複数のセルに割り当てるステップ、および 複数の該セルのそれぞれについて、 セルバーコード表示値を決定するステップ、および 該セルバーコード表示値が所定のしきい値よりも大きい場合には、該セル内 の画素をコンピュータメモリ24内に保存するステップ を特徴とする方法。 2.複数の前記セルのそれぞれの複数の画素のそれぞれについて、 セルバーコード向き値を決定するステップ、および 前記セルバーコード表示値が前記所定のしきい値よりも大きい場合には、 該セルバーコード向き値の表示を前記大容量記憶コンピュータメモリ24内に保 存するステップ をさらに含む、請求の範囲第1項に記載の方法。 3.前記画素化した画像30が、斜めの下から上への画素の列を形成する連続し た平行な左から右への画素の行を含み、セルバーコード表示値を決定する前記ス テップがさらに、 現在の行38の画素の強さを前の行40の画素の強さと比較することによって 、第1の水平比較値を計算するステップであって、それぞれの比較について、該 現在の行38の画素の列は、該前の行40の画素の列の左にあるステップと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することによ って、第2の水平比較値を計算するステップであって、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列と同じであるステップ と、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することによ って、第3の水平比較値を計算するステップであって、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の右にあるステップと 、 該第1、第2、および第3の比較値のうちの1つまたはそれよりも多くを基に して、水平バーコード検出値を計算するステップ、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステップ を含む、請求の範囲第2項に記載の方法。 4.前記前の行40が、前記現在の行38の直前にある、 第1の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列左にあり、および 第3の水平比較値を計算する前記ステップが、該現在の行38の画素の強さ を該前の行40の画素の強さと比較することを含み、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の1列右にある請求の範 囲第3項に記載の方法。 5.複数の前記セルのそれぞれについて、前記水平バーコード検出値が前記水平 バーコード検出しきい値よりも大きい場合には、該セルの前記画素化した画像を 前記大容量記憶コンピュータメモリ24内に保存するステップ をさらに含む、請求の範囲第3項に記載の方法。 6.前記第1、第2、および第3の水平比較値を計算する前記ステップが、 複数の前記セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインドウ3 7を規定するステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを前の行40の画素 の強さと比較することによって、第1の水平比較値を計算するステップであって 、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画素 の列の左にあるステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該前の行40の画 素の強さと比較することによって、第2の水平比較値を計算するステップであっ て、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画 素の列と同じであるステップと、 該水平ウインドウ37内の該現在の行38の画素の強さを該前の行40の画 素の強さと比較することによって、第3の水平比較値を計算するステップであっ て、それぞれの比較について、該現在の行38の画素の列は、該前の行40の画 素の列の右にあるステップと、 該第1、第2、および第3の水平比較値のうちの1つまたはそれよりも多く を基にして、水平バーコード検出値を計算するステップと、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステッ プと を含む、請求の範囲第3項に記載の方法。 7.前記第1、第2、および第3の水平比較値のうちの1つまたはそれよりも多 くを基にして水平バーコード向き値を計算するステップをさらに含む、請求の範 囲第3項に記載の方法。 8.前記水平バーコード検出値が前記水平バーコード検出しきい値よりも大きい 場合には、 複数の前記セルのそれぞれについて、 前記画素化した画像30の一部を前記大容量記憶コンピュータメモリ24内 に保存するステップと、および 前記水平バーコード向き値の表示を該大容量記憶コンピュータメモリ24内 に保存するステップと をさらに含む、請求の範囲第7項に記載の方法。 9.前記画素化した画像30が、斜めの下から上への画素の列を形成する連続し た平行な左から右への画素の行を含み、セルバーコード表示値を決定する前記ス テップがさらに、 複数の前記セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインドウ3 7を規定するステップと、 該現在の行38の画素の強さを前の行40の画素の強さと比較することによ って、第1の水平比較値を計算するステップであって、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の左にあるステップと 、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第2の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列と同じであるステッ プと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第3の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列の右にあるステップ と、 該第1、第2、および第3の水平比較値のうちの1つまたはそれよりも多く を基にして、水平バーコード検出値を計算するステップと、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステッ プとを含み、さらに 該水平バーコード検出値を基にして、セルバーコード表示値を計算するステッ プと、および 該セルバーコード表示値をセルしきい値と比較するステップと を含む、請求の範囲第2項に記載の方法。 10.前記セル内の複数の画素のそれぞれについて、前記第1、第2、および第 3の水平比較値のうちの1つまたはそれよりも多くを基にして、水平バーコード 向き値を計算するステップ、および 該水平バーコード向き値を基にして、セルバーコード向き値を計算するス テップ をさらに含む、請求の範囲第9項に記載の方法。 11.前記セルバーコード表示値が前記セルしきい値よりも大きい場合には、 前記セル内にある前記画素化した画像の部分を、前記大容量記憶コンピュータ メモリ24内に保存するステップ、および 前記セルバーコード向き値の表示を、前記大容量記憶コンピュータメモリ24 内に保存するステップ をさらに含む、請求の範囲第10項に記載の方法。 12.複数の前記セルのそれぞれの複数の画素のそれぞれについて、 画素の現在の列42に沿った複数の隣接する画素を含む、垂直ウインド ウ36を規定するステップと、 該現在の列42の画素の強さを前の列44の画素の強さと比較すること によって、第1の垂直比較値を計算するステップであって、それぞれの比較につ いて、該現在の列42の画素の行は、該前の列44の画素の行の上であるステッ プと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第2の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行と同じであるス テップと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第3の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行の下であるステ ップと、 該第1、第2、および第3の垂直比較値のうちの1つまたはそれよりも 多くを基にして、垂直バーコード検出値を計算するステップと、および 該垂直バーコード検出値を、垂直バーコード検出しきい値と比較するス テップと、 をさらに含む、請求の範囲第9項に記載の方法。 13.前記前の行40が、前記現在の行38の直前にあり、 前記前の列44が、前記現在の列42の直前にあり、 第1の水平比較値を計算する前記ステップが、該現在の行38の画素の強 さを該前の行40の画素の強さと比較することを含み、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の1列左にあり、 第3の水平比較値を計算する前記ステップが、該現在の行38の画素の強 さを該前の行40の画素の強さと比較することを含み、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の1列右にあり、 第1の垂直比較値を計算する前記ステップが、該現在の列42の画素の強 さを該前の列44の画素の強さと比較することを含み、それぞれの比較について 、該現在の列42の画素の行は、該前の列44の画素の行の1行上であり、およ び 第3の垂直比較値を計算する前記ステップが、該現在の列42の画素の強 さを該前の列44の画素の強さと比較することを含み、それぞれの比較について 、該現在の列42の画素の行は、該前の列44の画素の行の1行下である請求の 範囲第12項に記載の方法。 14.前記セルバーコード表示値が前記セルしきい値よりも大きい場合には、 前記セル内にある前記画素化した画像30の部分を、前記大容量記憶コンピュ ータメモリ24内に保存するステップと、および 前記セルバーコード向き値の表示を、前記大容量記憶コンピュータメモリ24 内に保存するステップとをさらに含む、請求の範囲第12項に記載の方法。 15.現在の画素を含む前記現在の行38について行われる前記各ステップが、 これもまた該現在の画素を含む前記現在の列42について行われる前記各ステッ プと同時に行われる、請求の範囲第12項に記載の方法。 16.前記セル内の複数の画素のそれぞれについて、 前記第1、第2、および第3の水平比較値のうちの1つまたはそれより も多くを基にして、水平バーコード向き値を計算するステップと、 前記第1、第2、および第3の垂直比較値のうちの1つまたはそれより も多くを基にして、垂直バーコード向き値を計算するステップと、および 該水平および垂直バーコード向き値を基にして、セルバーコード向き値を 計算するステップと をさらに含む、請求の範囲第12項に記載の方法。 17.現在の画素を含む前記現在の行38について行われる前記各ステップが、 これもまた該現在の画素を含む前記現在の列42について行われる前記各ステッ プと同時に行われ、 前記水平バーコード向き値を計算する前記ステップが、前記水平バーコ ード検出値を計算する前記ステップと同時に行われ、 前記垂直バーコード向き値を計算する前記ステップが、前記垂直バーコー ド検出値を計算する前記ステップと同時に行われる請求の範囲第16項に記載の 方法。 18.前記画素化した画像が、斜めの下から上への画素の列を形成する連続した 平行な左から右への画素の行を含み、セルバーコード表示値を決定する前記ステ ップが、 前記セル内の複数の画素のそれぞれについて、 画素の現在の行38に沿った複数の隣接する画素を含む、水平ウインドウ3 7を規定するステップと、 画素の現在の列42に沿った複数の隣接する画素を含む、垂直ウインドウ3 6を規定するステップと、 該現在の行38の画素の強さを前の行40の画素の強さと比較することによ って、第1の水平比較値を計算するステップであって、それぞれの比較について 、該現在の行38の画素の列は、該前の行40の画素の列の左にあるステップと 、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第2の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列と同じであるステッ プと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第3の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列の右にあるステップ と、 該第1、第2、および第3の水平比較値のうちの1つまたはそれよりも多く を基にして、水平バーコード検出値を計算するステップと、 該現在の列42の画素の強さを前の列44の画素の強さと比較することによ って、第1の垂直比較値を計算するステップであって、それぞれの比較について 、該現在の列42の画素の行は、該前の列44の画素の行の上であるステップと 、 該現在の列42の画素の強さを該前の列44の画素の強さと比較することに よって、第2の垂直比較値を計算するステップであって、それぞれの比較につい て、該現在の列42の画素の行は、該前の列44の画素の行と同じであるステッ プと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較することに よって、第3の垂直比較値を計算するステップであって、それぞれの比較につい て、該現在の列42の画素の行は、該前の列44の画素の行の下であるステップ と、 該第1、第2、および第3の垂直比較値のうちの1つまたはそれよりも多く を基にして、垂直バーコード検出値を計算するステップと、 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステッ プと、および 該垂直バーコード検出値を、垂直バーコード検出しきい値と比較するステッ プとを含み、さらに 該水平および垂直バーコード検出値を基にして、セルバーコード表示値を計 算するステップと、 該セルバーコード表示値をセルしきい値と比較するステップと、および 該セルバーコード表示値が該セルしきい値よりも大きい場合には、該セル内 にある該画素化した画像30の部分を、前記大容量記憶コンピュータメモリ24 内に保存するステップを含む、請求の範囲第2項に記載の方法。 19.前記複数のセルのそれぞれについて、 前記セル内の複数の画素のそれぞれについて、 前記第1、第2、および第3の水平比較値のうちの1つまたはそれよりも多 くを基にして、水平バーコード向き値を計算するステップと、 前記第1、第2、および第3の垂直比較値のうちの1つまたはそれよりも多 くを基にして、垂直バーコード向き値を計算するステップと、 該水平および垂直バーコード向き値を基にして、セルバーコード向き値を計 算するステップと、および 前記セルバーコード表示値が前記セルしきい値よりも大きい場合には、該セル バーコード向き値の表示を、前記大容量記憶コンピュータメモリ24内に保存す るステップとをさらに含む、請求の範囲第18項に記載の方法。 20.基板の、上向きの斜線の画素の列を形成する、連続的な平行の左から右へ の画素の行を含む、画素化した画像30、を含むデジタルビデオ信号19を受け 取るように動作可能なバッファメモリ60を含む、基板14上のバーコード33 の存在およびおおよその向きを検出するように動作可能な装置において、 該バッファメモリ60から画素の連続を受け取り、および 複数の該画素について、 画素の現在の行38に沿って複数の隣接する画素を含む水平ウインドウ3 7を規定し、および 該現在の行38の画素の前の行40の画素との比較を基にして水平バーコ ード検出値を計算する ように動作可能な、水平検出器70、 該バッファメモリ60から画素の連続を受け取り、および 複数の該画素について、 画素の現在の列42に沿って複数の隣接する画素を含む垂直ウインドウ3 6を規定し、および 該現在の列42の画素の前の列44の画素との比較を基にして垂直バーコ ード検出値を計算する ように動作可能な、垂直検出器72、 該水平検出器70から該水平バーコード検出値を受け取り、該垂直検出器7 2から該垂直バーコード検出値を受け取り、および 複数の該画素について候補値を決定し、該候補値のそれぞれは、水平バーコ ード検出値および垂直バーコード検出値を基にしている ように動作可能な、トリガ検出器80、および 該トリガ検出器80から該候補値を受け取り、 複数の該画素を含むセルを規定し、および 該セル内の画素に対応する該候補値を基にしてセルバーコード表示値を決定 する ように動作可能な、合計器84 を特徴とする装置。 21.前記水平検出器70がさらに、複数の前記画素について、前記現在の行3 8の画素の前の行40の画素との比較を基にして水平バーコード向き値を計算す るように動作可能であり、 前記垂直検出器72がさらに、複数の該画素について、前記現在の列42 の画素の前の列44の画素との比較を基にして垂直バーコード向き値を計算する ように動作可能であり、 前記トリガ検出器80がさらに、複数の該画素について、該水平および垂 直バーコード向き値を基にして候補向き値を決定するように動作可能であり、 前記合計器84がさらに、前記セル内の画素に対応する該候補向き値を基 にしてセルバーコード向き値を決定するように動作可能である請求の範囲第20 項に記載の装置。 22.1つまたはそれよりも多い前記水平検出器70、前記垂直検出器72、前 記トリガ検出器80、および前記合計器84が、現場でプログラム可能なゲート アレイを含む、請求の範囲第21項に記載の装置。 23.基板14の、上向きの斜線の画素の列を形成する、連続的な平行の左から 右への画素の行を含む画素化した画像30を得るステップを含み、該基板14上 のバーコード33の存在を検出する方法を提供するコンピュータプログラムを含 む、コンピュータプログラム用記憶媒体において、 複数の該画素のそれぞれについて、 現在の行38の画素の強さを前の行40の画素の強さと比較することによっ て、第1の水平比較値を計算するステップであって、それぞれの比較について、 該現在の行38の画素の列は、該前の行40の画素の列の左にあるステップと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第2の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列と同じであるステッ プと、 該現在の行38の画素の強さを該前の行40の画素の強さと比較することに よって、第3の水平比較値を計算するステップであって、それぞれの比較につい て、該現在の行38の画素の列は、該前の行40の画素の列の右にあるステップ と、 該第1、第2、および第3の比較値のうちの1つまたはそれよりも多くを基 にして、水平バーコード検出値を計算するステップと、および 該水平バーコード検出値を、水平バーコード検出しきい値と比較するステッ プとを含み、さらに 複数の前記画素を含むセルを規定するステップと、 該セル内の複数の該画素について候補値を決定するステップであって、該候補 値のそれぞれは、該セル内の画素についての該水平バーコード検出値および該垂 直バーコード検出値を基にしているステップと、 該セル内の画素に対応する該候補値を基にしてセルバーコード表示値を決定 するステップと、 該セルバーコード表示値をセルしきい値と比較するステップと、および 該セルバーコード表示値が該セルしきい値よりも大きい場合には、該セル内に ある該画素化した画像30の部分を、大容量記憶コンピュータメモリ24内に保 存するステップと を含む記憶媒体。 24.複数の前記画素のそれぞれについて、 現在の列42の画素の強さを前の列44の画素の強さと比較することに よって、第1の垂直比較値を計算するステップであって、それぞれの比較につい て、該現在の列42の画素の行は、該前の列44の画素の行の上であるステップ と、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第2の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行と同じであるス テップと、 該現在の列42の画素の強さを該前の列44の画素の強さと比較するこ とによって、第3の垂直比較値を計算するステップであって、それぞれの比較に ついて、該現在の列42の画素の行は、該前の列44の画素の行の下であるステ ップと、 前記第1、第2、および第3の水平比較値のうちの1つまたはそれより も多くを基にして、水平バーコード向き値を計算するステップと、および 該第1、第2、および第3の垂直比較値のうちの1つまたはそれよりも 多くを基にして、垂直バーコード向き値を計算するステップとを含み、さらに 該水平および垂直バーコード向き値を基にして、セルバーコード向き値を 計算するステップと、および 該セルバーコード向き値が該セルしきい値よりも大きい場合には、該セル バーコード向き値の表示を、前記大容量記憶コンピュータメモリ24内に保存す るステップと を含む、請求の範囲第23項に記載の記憶媒体。
JP53723997A 1996-04-15 1997-04-11 全方向性バーコード探知器 Expired - Fee Related JP3150707B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US632,089 1984-07-18
US08/632,089 1996-04-15
US08/632,089 US5698833A (en) 1996-04-15 1996-04-15 Omnidirectional barcode locator
PCT/US1997/006056 WO1997039419A1 (en) 1996-04-15 1997-04-11 Omnidirectional barcode locator

Publications (2)

Publication Number Publication Date
JP2000501533A true JP2000501533A (ja) 2000-02-08
JP3150707B2 JP3150707B2 (ja) 2001-03-26

Family

ID=24534028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53723997A Expired - Fee Related JP3150707B2 (ja) 1996-04-15 1997-04-11 全方向性バーコード探知器

Country Status (9)

Country Link
US (1) US5698833A (ja)
EP (1) EP0894311B1 (ja)
JP (1) JP3150707B2 (ja)
AT (1) ATE185436T1 (ja)
CA (1) CA2247956C (ja)
DE (1) DE69700603T2 (ja)
ES (1) ES2140231T3 (ja)
GR (1) GR3032280T3 (ja)
WO (1) WO1997039419A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001526430A (ja) * 1997-12-08 2001-12-18 エール.ルースタエ アレキサンダー スマートセンサを備えた単一チップ構造の記号読取装置
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
JP2014119965A (ja) * 2012-12-17 2014-06-30 Kddi Corp 情報端末装置及びプログラム並びに認識システム

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
DE69618633T2 (de) * 1995-10-09 2002-05-08 Matsushita Electric Ind Co Ltd Optische Platte und Gerät zur Wiedergabe optischer Platten
EP0851375B1 (en) * 1996-12-30 2003-05-02 DATALOGIC S.p.A. Method of reading an object-applied bar code
US7304670B1 (en) 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
US6173893B1 (en) * 1997-04-16 2001-01-16 Intermec Corporation Fast finding algorithm for two-dimensional symbologies
AU9180098A (en) * 1997-09-30 1999-04-23 Durand Limited Anti-counterfeiting and diffusive screens
US6924781B1 (en) 1998-09-11 2005-08-02 Visible Tech-Knowledgy, Inc. Smart electronic label employing electronic ink
JP3607131B2 (ja) 1999-05-26 2005-01-05 株式会社デンソー 情報コード画像取込装置、光学情報読取装置及び画像取込タイミング設定システム
US6244764B1 (en) 2000-01-21 2001-06-12 Robotic Vision Systems, Inc. Method for data matrix print quality verification
US6700997B1 (en) 2000-06-05 2004-03-02 Glenn Steven Spitz Method of evaluating the print quality of 2-dimensional data carrying graphical symbols
AU2001282483A1 (en) 2000-08-29 2002-03-13 Imageid Ltd. Indexing, storage and retrieval of digital images
AUPR053100A0 (en) * 2000-10-05 2000-10-26 Exago Pty Limited Supply chain management system
EP1344212B1 (en) 2000-12-14 2008-08-13 ECD Systems, Inc. Method for determining authenticity of an optical recording medium and optical recording medium
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US6837431B2 (en) * 2002-04-09 2005-01-04 Symbol Technologies, Inc. Semiconductor device adapted for imaging bar code symbols
US6631012B2 (en) * 2001-12-11 2003-10-07 Pitney Bowes Inc. Apparatus and method for printing two-dimensional barcode and articles incorporating such barcode
KR100456628B1 (ko) * 2001-12-28 2004-11-10 한국전자통신연구원 물류 정보 자동식별 처리시스템 및 그 방법
US6801245B2 (en) * 2002-01-18 2004-10-05 Imageid Ltd. Method for automatic identification and data capture
US7716485B2 (en) 2002-02-01 2010-05-11 Sca Ipla Holdings Inc. Systems and methods for media authentication
JP4374822B2 (ja) * 2002-03-07 2009-12-02 富士ゼロックス株式会社 印刷制御装置、印刷制御方法、印刷装置および印刷制御プログラム
US7181066B1 (en) * 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US7248754B2 (en) * 2003-05-05 2007-07-24 International Business Machines Corporation Apparatus and method for determining whether machine readable information on an item matches the item
CA2438951A1 (en) * 2003-08-29 2005-02-28 Bob Richards Feeder system and method
US20050134461A1 (en) 2003-09-03 2005-06-23 Alexander Gelbman Electronically updateable label and display
US7428336B2 (en) * 2006-03-06 2008-09-23 Marvell International Ltd. Efficient detection of constant regions of an image
US7775431B2 (en) 2007-01-17 2010-08-17 Metrologic Instruments, Inc. Method of and apparatus for shipping, tracking and delivering a shipment of packages employing the capture of shipping document images and recognition-processing thereof initiated from the point of shipment pickup and completed while the shipment is being transported to its first scanning point to facilitate early customs clearance processing and shorten the delivery time of packages to point of destination
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8172144B2 (en) * 2007-05-14 2012-05-08 Konica Minolta Business Technologies, Inc. Media storing code detecting program, code detecting method, and image forming apparatus
US8570393B2 (en) * 2007-11-30 2013-10-29 Cognex Corporation System and method for processing image data relative to a focus of attention within the overall image
US8596541B2 (en) * 2008-02-22 2013-12-03 Qualcomm Incorporated Image capture device with integrated barcode scanning
US8366004B2 (en) * 2008-02-22 2013-02-05 Qualcomm Incorporated Barcode detection based on morphological operations
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8457013B2 (en) 2009-01-13 2013-06-04 Metrologic Instruments, Inc. Wireless dual-function network device dynamically switching and reconfiguring from a wireless network router state of operation into a wireless network coordinator state of operation in a wireless communication network
US8234507B2 (en) 2009-01-13 2012-07-31 Metrologic Instruments, Inc. Electronic-ink display device employing a power switching mechanism automatically responsive to predefined states of device configuration
US9189670B2 (en) * 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US9104935B1 (en) 2010-12-30 2015-08-11 Cognex Corporation Mark reader configured to prioritize images
US8967456B2 (en) 2011-05-26 2015-03-03 International Business Machines Corporation Method for tagging elements in a user interface
US8740081B2 (en) * 2011-11-03 2014-06-03 Cognex Corporation Method and apparatus for ordering code candidates in image for decoding attempts
US9818197B2 (en) * 2015-05-29 2017-11-14 Datalogic Ip Tech S.R.L. System and method for reading machine readable codes in transportation and logistic applications
EP3109823A1 (en) 2015-06-22 2016-12-28 Sick IVP AB Method and arrangements for estimating one or more dominating orientations in a digital image

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3067771D1 (en) * 1979-10-23 1984-06-14 Scantron Gmbh Method and device for the identification of objects
US4411016A (en) * 1981-06-01 1983-10-18 Recognition Equipment Incorporated Barcode width measurement system
JPS594009A (ja) * 1982-06-30 1984-01-10 Toshiba Corp 半導体基板
NL8301054A (nl) * 1983-03-25 1984-10-16 Stork Screens Bv Werkwijze voor de controle van patronen en inrichting daarvoor.
JPS60217624A (ja) * 1984-04-13 1985-10-31 Toshiba Corp 半導体ウエ−ハ製造方法
JPS6135508A (ja) * 1984-07-27 1986-02-20 Toshiba Corp 半導体ウエハの識別表示方法
DE68914528T2 (de) * 1988-07-13 1994-11-10 Matsushita Electric Ind Co Ltd Bildsignalverarbeitungsvorrichtung für Strichkodebildsignale.
CA1329263C (en) * 1989-03-01 1994-05-03 Mark Krichever Bar code scanner
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
JP2800023B2 (ja) * 1989-05-08 1998-09-21 株式会社日立製作所 半導体基板の製造方法
JPH03208326A (ja) * 1990-01-10 1991-09-11 Matsushita Electron Corp 半導体装置の製造方法
JPH03248523A (ja) * 1990-02-27 1991-11-06 Sony Corp ウェハー
DE69126231T2 (de) * 1990-03-28 1997-09-11 Omniplanar Inc Leser für Strichkodierungen
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
US5124537A (en) * 1990-10-29 1992-06-23 Omniplanar, Inc. Omnidirectional bar code reader using virtual scan of video raster scan memory
CA2049866C (en) * 1990-12-28 1998-06-30 Raymond L. Higgins System and method for optical recognition of bar-coded characters
US5296690A (en) * 1991-03-28 1994-03-22 Omniplanar, Inc. System for locating and determining the orientation of bar codes in a two-dimensional image
US5367578A (en) * 1991-09-18 1994-11-22 Ncr Corporation System and method for optical recognition of bar-coded characters using template matching
JPH05114534A (ja) * 1991-10-22 1993-05-07 Nippon Steel Corp ウエハ及びその処理レシピ認識装置
JP3188514B2 (ja) * 1992-04-16 2001-07-16 株式会社ユポ・コーポレーション 引裂性の改良された合成紙及びそれを用いた航空タッグ
JPH05291104A (ja) * 1992-04-14 1993-11-05 Nippon Steel Corp 露光装置
JP3233981B2 (ja) * 1992-05-26 2001-12-04 オリンパス光学工業株式会社 シンボル情報読取装置
JP2567787B2 (ja) * 1992-08-04 1996-12-25 株式会社巴川製紙所 磁気記録媒体の製造方法
JP2984149B2 (ja) * 1992-08-21 1999-11-29 日本電子株式会社 生化学自動分析装置の試料管ホルダ回収装置
US5422470A (en) * 1992-08-31 1995-06-06 Olympus Optical Co., Ltd. Symbol information reading apparatus
US5268580A (en) * 1992-09-02 1993-12-07 Ncr Corporation Bar code enhancement system and method for vision scanners
JP2599078B2 (ja) * 1992-09-14 1997-04-09 株式会社巴川製紙所 磁気記録媒体の製造方法
JPH0687270B2 (ja) * 1992-09-16 1994-11-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 線分の方向検出装置及びその方法
US5412197A (en) * 1993-01-29 1995-05-02 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using gradient signals
US5304787A (en) * 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
US5446271A (en) * 1993-08-06 1995-08-29 Spectra-Physics Scanning Systems, Inc. Omnidirectional scanning method and apparatus
GB9325439D0 (en) * 1993-12-13 1994-02-16 Ncr Int Inc Barcode reading method and apparatus
US5438188A (en) * 1994-04-01 1995-08-01 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using information from previous scan lines
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
US5428211A (en) * 1994-05-02 1995-06-27 United Parcel Service Of America Inc. Postnet bar code decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001526430A (ja) * 1997-12-08 2001-12-18 エール.ルースタエ アレキサンダー スマートセンサを備えた単一チップ構造の記号読取装置
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
JP2014119965A (ja) * 2012-12-17 2014-06-30 Kddi Corp 情報端末装置及びプログラム並びに認識システム

Also Published As

Publication number Publication date
JP3150707B2 (ja) 2001-03-26
US5698833A (en) 1997-12-16
WO1997039419A1 (en) 1997-10-23
DE69700603T2 (de) 2000-05-31
GR3032280T3 (en) 2000-04-27
ES2140231T3 (es) 2000-02-16
EP0894311A1 (en) 1999-02-03
CA2247956C (en) 2002-01-15
ATE185436T1 (de) 1999-10-15
EP0894311B1 (en) 1999-10-06
DE69700603D1 (de) 1999-11-11
CA2247956A1 (en) 1997-10-23

Similar Documents

Publication Publication Date Title
JP2000501533A (ja) 全方向性バーコード探知器
EP1234273B1 (en) Multi-resolution label locator
US10185857B2 (en) Devices, systems, and methods for reading barcodes
US9147095B2 (en) Optical code scanner optimized for reading 2D optical codes
US11831833B2 (en) Methods and arrangements for triggering detection, image correction or fingerprinting
KR20130027963A (ko) 문자 및 바코드를 동시에 인식하는 문자 및 바코드 인식 장치 및 그 제어 방법
US10169629B2 (en) Decoding visual codes
US7455231B2 (en) System and method for locating a predetermined pattern within an image
US20210097517A1 (en) Object of interest selection for neural network systems at point of sale
CN110516494A (zh) 一种二维码识别方法、装置、设备及系统
CN111428743B (zh) 商品识别方法、商品处理方法、装置及电子设备
CN112183148A (zh) 一种批量条码定位方法及识别系统
US20220414375A1 (en) Image cropping using depth information
US20220414899A1 (en) Item location detection using homographies
US20220414379A1 (en) Hand detection trigger for item identification
US20220414374A1 (en) Reducing a search space for item identification using machine learning
US8584951B2 (en) Apparatus, method and system for extracting pixel data from an image capture device
US12008795B1 (en) Methods and arrangements for configuring object localizers
US20240020857A1 (en) System and method for identifying a second item based on an association with a first item
CN112749591B (zh) 仓储物流机器人及其物品识别方法和芯片
JP2514660B2 (ja) 光学文字読取装置
US8186596B2 (en) Apparatus, method and system for selective reading of pixels from an image capture device
JPS63177284A (ja) 光学文字読取装置
JPH0668294A (ja) バーコードラベルの走査方向検出方法
JPH1185902A (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: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees