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

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

Info

Publication number
JP3150707B2
JP3150707B2 JP53723997A JP53723997A JP3150707B2 JP 3150707 B2 JP3150707 B2 JP 3150707B2 JP 53723997 A JP53723997 A JP 53723997A JP 53723997 A JP53723997 A JP 53723997A JP 3150707 B2 JP3150707 B2 JP 3150707B2
Authority
JP
Japan
Prior art keywords
pixels
pixel
column
row
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.)
Expired - Fee Related
Application number
JP53723997A
Other languages
English (en)
Other versions
JP2000501533A (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)
  • Polishing Bodies And Polishing Tools (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Image Analysis (AREA)
  • Supply And Installment Of Electrical Components (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、画像処理に関し、より詳細には、ベルト上
の光学的読み取り装置に関する。特に、本発明は、コン
ベアに沿って動く小包上のバーコードの位置およびおお
よその向きを判定する方法および装置に関する。
発明の背景 何年もの間、コンベアに沿って動く小包の走査が機械
を用いて行われてきた。小包がコンベアに沿って動く間
に小包の表面の画像を捕獲し、次にその画像の表示を作
り出し処理することができる、ベルト上の光学的読み取
り装置システムは、最近開発されたものである。ベルト
上の光学的読み取り装置システムの基本的な物理的構成
要素は、センサ、アナログ−デジタル(A/D)変換器、
および、中央演算処理装置(CPU)とメモリを具備する
コンピュータ、である。ベルト上の光学的読み取り装置
システムの個々の物理的構成要素はすべて当業者には公
知であり、個々の物理的構成要素のそれぞれの多くの他
の実施例が市販されており、コストや性能の特性がそれ
ぞれ異なっている。ある用途に対して最も効率的な構成
要素の組み合わせを見つけ、こういったよく知られてい
る物理的構成要素が作り出す画像を処理するコンピュー
タのソフトウェアプログラムを開発することに、多くの
労力が注がれている。
ベルト上の光学的読み取り装置システムには、電荷結
合素子(CCD)センサのアレイが用いられることが多
い。CCDカメラは、それぞれが画素にぶつかる光の量に
応じて蓄積電荷を蓄える電子「画素」のアレイからなっ
ている。CCDカメラを用いて、小包がコンベアに沿って
動く際に小包の表面の画像が捕獲される。画像はデジタ
ル形式に変換され、変換された画像はコンピュータのメ
モリ内にビット・マップとして記憶することができる。
その後それぞれの画素内の電荷が読み取られるにつれ、
CCDのアレイはクリアされ、アレイは別の小包または小
包の一部分の画像を捕獲する準備ができる。このように
して、単一のCCDカメラを用いて、非常に多くの小包が
走査される。
CCDカメラが捕獲した画像を処理するのに用いること
ができるコンピュータは、計算速度その他のパラメータ
が様々である。一般的に、高速のコンピュータは低速の
コンピュータよりも高価であり、メモリ容量の大きいコ
ンピュータはメモリ容量の小さいコンピュータよりも高
価であり、専用コンピュータは汎用コンピュータよりも
高価である。したがって、安価な計算装置がある目的に
適している場合には、そういったものを用いる金銭上の
誘因がある。
United Parcel Service(UPS)等の小包配達会社は、
ベルト上の光学的読み取り装置システムを幅広く用いて
いる。UPSは、毎日数百万個の小包を輸送している。そ
れぞれの小包には、通常、小包が配達プロセスを通って
動くときにその小包を識別するのに用いられる一意的な
追跡番号が割り当てられている。追跡番号は、機械が読
み取ることができるバーコードの形で、小包の表面上に
表示されている。ベルト上の光学的読み取り装置システ
ムは、配達システムの様々な点においてこういったバー
コードを読み取るのに用いられて、小包の追跡を容易に
する。バーコードを読み取るためには、バーコードの画
像をまず捕獲せねばならない。したがって、CCDカメラ
等のビデオデータ源が通常用いられて、コンベアが小包
を運搬するときのコンベアの連続画像が作成される。
連続的に作動するCCDカメラは、膨大な量のコンピュ
ータ・データを生成する。このデータの大部分は、コン
ベアおよびコンベアに沿って動く小包のバーコードのつ
いていない領域という無用の画像である。データのほん
のわずかな割合が、バーコードを含む。連続的に作動す
るCCDカメラによって作成されるデータのすべてを保存
しようとすれば、膨大な量のコンピュータメモリが必要
となろう。したがって、小包がコンベアに沿って動くと
きに、その小包上のバーコードの位置をリアルタイムで
正確に識別することができる、安価な計算装置が必要で
ある。そうすれば、バーコード位置情報を用いて、バー
コード読み取り装置が用いるために保存する必要がある
CCDカメラのデータの量を、バーコードが検出される比
較的小さな領域に限定することができる。
Chandler他の米国特許番号第5,296,690号および5,15
5,343号は、バーコードの位置および向きを判定する全
方向性バーコード読み取り装置を説明している。バーコ
ードを含む二次元のラスタ走査の画像は、捕獲され、汎
用コンピュータのメモリ内に保存される。次に、2つの
平行な走査線の組が処理されて、バーコードの位置およ
び向きが判定される。Chandler他の説明する、バーコー
ドを探知する方法では、2つの平行な走査線のそれぞれ
の導関数(derivatives)の積を点ごとに計算すること
が必要である。バーコードの位置およびおおよその向き
は、水平、上向きの斜線、垂直、および下向きの斜線、
という4つの方向のそれぞれに画像を走査することによ
って判定される。バーコードの精密な向きは、2つ1組
の平行な走査線を相互相関させることによって判定され
る。Chandler他の説明するシステムでは、特定用途向け
集積回路(ASIC)を用いて、バーコードの位置およびお
およその向きを判定し、次にデジタル信号プロセッサの
プログラムを用いて、おおよそ探知したバーコードの位
置を精密に確定し、フィルタをかけ、走査する。
Chandler他の説明するシステムは、コンベアに沿って
動く小包上のバーコードを読み取るシステムに適用する
場合には、重大な欠点を有する。すなわち、CCDカメラ
に捕獲されたデータすべてが、次にデジタル信号プロセ
ッサによって処理されるように保存されねばならない、
というのも、Chandler他の説明するシステムは、コンベ
アに沿って動く小包上のバーコードの位置および向きを
リアルタイムで判定するようには動作できないからであ
る。上述のように、動くコンベアを連続的に操作するの
に用いられるCCDカメラが捕獲するデータの大部分は、
コンベアおよびコンベアに沿って動く小包のバーコード
を含まない領域という無用の画像である。データのほん
のわずかな割合が、バーコードを含む。したがって、Ch
andler他の後も、改良した高速で低コストの全方向性バ
ーコード探知器が依然として必要とされている。また、
改良した計算が効率的な全方向性バーコード探知器も、
依然として必要とされている。具体的には、コンベアに
沿って動く小包上のバーコードの位置およびおおよその
向きをリアルタイムで判定するのに用いることができ、
次にバーコード読み取り装置によって処理されるように
保存されねばならない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が作成した信号を受け取り、小包がCC
Dカメラ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またはそ
の他の装置によって、通常非リアルタイムベースで、読
み取ったり解釈されてもよい。したがって、全方向性バ
ーコード探知器20によって、バーコードデータが8ビッ
トのグレースケールのビデオ信号26から抽出され、大容
量記憶メモリ24内に保存されて、次いで処理することが
できる。全方向性バーコード探知器20によってまた、小
包14aないし14n上のバーコードのおおよその向きを示す
値も決定され、次に処理されるように、大容量記憶メモ
リ24内に保存されることができる。
コンベア12は、好ましくは幅が約42インチ(107cm)
であり、1秒当たり100インチすなわち1分当たり500フ
ィート(1秒当たり254cmすなわち1分当たり152メート
ル)またはそれ以上までの直線速度で動く。CCDカメラ1
6は、コンベア12への光路が約154インチ(391cm)にな
り、コンベア12における視界が42インチ(107cm)にな
るように搭載される。これらのパラメータは、本発明の
好適な実施例の性能に甚だしく影響を及ぼさない程度に
いくぶん変えてもよい。スペースを節約するために、CC
Dカメラ16は、コンベア12の中央の60インチ(152cm)上
に配置され、鏡の複合体(図示せず)に向けられてい
る。この鏡の複合体によって、CCDカメラ22からコンベ
ア12までの光路は約154インチ(391cm)に増大する。例
えば、参照としてここに組み込まれるSmith他の米国特
許番号第5,308,960号を参照されたい。また、その参照
によって本明細書に組み込まれる、本発明と所有者が同
じの、「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インチ(107cm)であるの
で、CCDカメラ16が作り出す画像の解像度は、コンベア1
2を横切る方向にインチ当たり約100画素または「ドッ
ト」(DPI)(cm当たり39ドット)である。ベルトエン
コーダ15は、コンベア12の直線移動を示す信号を供給す
る。CCDカメラ16は、ベルトエンコーダ15からの信号に
応答してサイクル動作し、一連のアナログ線画像を生成
して、それらはデジタイザ18に送られる。ベルトエンコ
ーダ15は、好ましくはインチ(2.5cm)当たり約100サイ
クルの割合でCCDカメラ16をトリガし、CCDカメラ16の作
り出す画像の解像度が、コンベア12が動く方向にインチ
当たり約100画素または「ドット」(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は、好ましくは
「インテル」i860のマイクロプロセッサを含む画像処理
コンピュータである。デジタイザ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等の小包出荷会社によって、裏に接着剤が
ついたバーコードのラベルのシートまたはロールが通常
提供されている。または、宛先ラベルが印字されるとき
に、小包出荷会社からの指示に従って、出荷当事者がバ
ーコードを生成してもよい。UPS等の小包出荷会社は通
常、出荷されるそれぞれの小包の、追跡コード、出荷当
事者、および宛先住所を含む小包情報のデータベースを
保持している。追跡コードを含むバーコードは通常、小
包出荷プロセスにおける様々な点において(例えば、小
包が最初に受け取られて小包追跡システムにログインさ
れたとき、仕分けハブに受け取られたとき、飛行機に積
み込まれたとき、宛先ハブに受け取られたとき、配達ト
ラックに積み込まれたとき、等)、ベルト上、ハンドヘ
ルド、その他同等のバーコード読み取り装置システムに
よって読み取られる。小包追跡システムは、小包出荷プ
ロセスのそれぞれの段階において更新され、追跡コード
を用いて小包追跡システムを査定して、小包出荷プロセ
スのどの点においても小包の位置を決定することができ
るようになっている。
好適な方法の説明 図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)の固定フレームが設けられる。
具体的には、セル35で表す固定セルによって、その中で
バーコード33を表すバーコードまたはバーコードの一部
が全方向性バーコード探知器20によって検出されるかも
しれない、画像30の規格化ユニットが設けられる。
全方向性バーコード探知器20が実施する好適な方法
は、画像30のそれぞれの画素について、水平バーコード
検出値RH、垂直バーコード検出値RV、水平バーコード向
き値SH、および垂直バーコード向き値SVを計算すること
を含む。RH、RV、SH、およびSVの値を計算する好適な方
法の説明を容易にするために、画像30の個々の画素に関
連する取り決めを規定することが必要であろう。その取
り決めそれ自体は、便宜のためのみに設けられるもので
あり、本発明の範囲を限定するよう意図するものではな
い、ということが理解されよう。画素化したまたはラス
タの画像における個々の画素に言及する手段を提供する
いかなる他の取り決めも、同等に用いられて、全方向性
バーコード探知器20が行う方法の各ステップを説明して
もよい。
図3は、図3Aおよび図3Bを含み、デジタル画像30内の
画素位置を規定する取り決めを示す。それぞれの画素を
i,jと呼ぶ、ただし「i」は行番号であり、「j」は
列番号である。個々の行は、代表的な走査線34等の、単
一のサイクルについてのCCDカメラ16の画素すべての出
力に対応する。個々の列は、一連のサイクルにわたるCC
Dカメラ16のある特定の画素の出力に対応する。デジタ
ル画像30は、「m」個の列および「n」個の行の画素を
含む。各行は、行0で始まって上から下へと連続して番
号がついており、行0はCCDカメラ16の第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画素のセルを
示す。全方向性バーコード探知器20は、垂直ウインドウ
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
に読み込まれた最も最近の画素である場合には、現在の
画素は、ウインドウ36および37の交点を表す正方形の右
下の隅にある画素、画素Pi−15,j−15である。
ウインドウ36および37の概念化された移動によって、
デジタルビデオ信号19を全方向性バーコード探知器20に
通す効果が表される。全方向性バーコード探知器20は、
一度の処理に34個の走査線のデータを保存する。新しい
走査線が全方向性バーコード探知器20に読み込まれるご
とに、ウインドウ36および37は効果的に1行下に「スラ
イド」し、それによって、34サイクル前に全方向性バー
コード探知器20に読み込まれた走査線が抹消される。さ
らに、新しい走査線が全方向性バーコード探知器20に読
み込まれる際に、ウインドウ36および37は効果的に画像
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を含み、135゜、0゜、45
゜、および90゜の向きのバーコード33を示す。具体的に
は、135゜の向きのバーコードを図5Aのバーコード33で
示し、この図において、バーコードの平行な棒は、主に
左から右へ上向きになっている。0゜の向きのバーコー
ドを図5Bのバーコード33′で示し、この図において、バ
ーコードの平行な棒は、主に垂直である。45゜の向きの
バーコードを図5Cのバーコード33″で示し、この図にお
いて、バーコードの平行な棒は、主に左から右へ下向き
になっている。90゜の向きのバーコードを図5Dのバーコ
ード33で示し、この図において、バーコードの平行な
棒は、主に水平である。
水平バーコード検出値RHは、3つの水平比較値H135
H0、およびH45を計算することによって決定される。そ
れぞれの水平比較値は、水平ウインドウ37内にある現在
の行38のそれぞれの画素の値を前の行40の画素と比較す
ることによって計算される。比較値は、その比較につい
て起こっている画素の強さの適合(すなわち、黒対黒ま
たは白対白)の数に等しい。具体的には、図4A−4Cは、
現在の画素Pi−15,j−15についての3つの水平比較値
H135、H0、およびH45の計算を示す。図4A−4Cに示すよ
うに、水平ウインドウ37は、現在の行38の画素P
i−15,j−1ないし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と比較される。現在の画素P
i−15,j−15についてのH0は、図4Bに示す比較において
起こっている画素の強さの適合の数に等しい。図4Bに示
す方向に比較的多数の画素の強さの適合が起こっている
ということは、図5Bに示すように、0゜の向きのバーコ
ードが存在するということを示す。
第3の水平比較値H45は、水平ウインドウ37内の現在
の行38の画素の強さを前の行40の画素の強さと比較する
ことによって計算され、図4Cに示すように、それぞれの
比較について、現在の行38の画素の列は、前の行40の画
素の列の右にある。例えば、画素Pi−15,j−1は、画
素Pi−16,j−2と比較される。現在の画素P
i−15,j−15についてのH45は、図4Cに示す比較におい
て起こっている画素の強さの適合の数に等しい。図4Cに
示す方向に比較的多数の画素の強さの適合が起こってい
るということは、図5Cに示すように、45゜の向きのバー
コードが存在するということを示す。
水平バーコード検出値RHは、3つの水平比較値H135
H0、およびH45のうちの最大のものから、3つの水平比
較値H135、H0、およびH45のうちの最小のものを引いた
ものに等しい。水平バーコード向き値SHは、3つの水平
比較値H135、H0、およびH45のうちの最大のものに対応
する向きに等しい。黒の画素に値0を割り当て、白の画
素に値1を割り当てることによって、以下の数式が、現
在の画素Pi−15,j−15について値H135、H0、H45
RH、およびSHの値を規定することができる。
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−4Fに示すように、垂直ウインドウ36は、現在
の列42の画素Pi−1,j−15ないしPi−32,j−15をカ
バーし、前の列44の画素Pi−1,j−16ないしP
i−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と比較される。現在の画素P
i−15,j−15についてのV90は、図4Eに示す比較におい
て起こっている画素の強さの適合の数に等しい。図4Eに
示す方向に比較的多数の画素の強さの適合が起こってい
るということは、図5Dに示すように、90゜の向きのバー
コードが存在するということを示す。
第3の垂直比較値V45は、垂直ウインドウ36内の現在
の列42の画素の強さを前の列44の画素の強さと比較する
ことによって計算され、図4Fに示すように、それぞれの
比較について、現在の列42の画素の行は、前の列44の画
素の行の下にある。例えば、画素Pi−1,j−15は、画
素Pi−2,j−16と比較される。現在の画素P
i−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の値を規定することができる。
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画素×32画素のセルのマトリクスに分割され
る。デジタルビデオ信号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,135が正の値であるというこ
とは、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 それぞれのセルについて、 |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゜、または4
5゜のうちの1つを示す。垂直バーコード向き値SVも同
様に、3つの相対的向き135゜、90゜、または45゜のう
ちの1つを示す。前述のように、向きが135゜、0゜、4
5゜、および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=13
5゜である画素の数を合計することによって、セル35に
ついての合計候補値T45,135が計算される。T0,90およ
びT45,135の計算において、候補値C=1である画素の
みが考慮され、候補値C=0である画素は無視される。
セルバーコード向き値Dは、DCの主な向きにセットされ
る。
セルバーコード向き値Dは4つの可能性のある値のう
ちの1つ(45゜、135゜、90゜、または0゜)を有する
ので、バーコード向き信号22を表すのに必要なのは2ビ
ットである。ホストコンピュータ23は、全方向性バーコ
ード探知器20からの「M=真」のバーコード検出信号21
に、画像30のセル35内の部分と共にセルバーコード向き
値Dの表示を大容量記憶メモリ24内に保存することによ
って、応答する。上述の処理は、画像30のそれぞれのセ
ルについてリアルタイムで行われ、したがって、ホスト
コンピュータ23は、バーコード検出に対応する、すなわ
ち、バーコード表示値M=真を示す場合すべての、画像
30のそれぞれのセルについてのセルバーコード向き値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%として
引き出される)されている場合に、満足に動作する。H
45およびH135については、現在の行38の画素と前の行40
の画素の間のオフセットは1画素であり、V45およびV
135については、現在の列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用の入力データ源を提
供する。デジタルビデオ信号19は、バッファメモリ60に
よって受け取られる。バッファメモリ60は、34個のデー
タ線LiないしLi-33を含み、それぞれのデータ線は、CCD
カメラ16のそれぞれの画素に対応する4,096ビット−−
1ビットを含むシフトレジスタにアクセスする。したが
って、それぞれのレジスタは、CCDカメラ16の1サイク
ルで作成された画像30の1走査線をビットマップで表示
したものを含んでもよい。バッファメモリ60の線Liない
しLi-33は、図4D−4F上に示すように、垂直ウインドウ3
7の32画素の高さに、垂直ウインドウ37より1画素上お
よび1画素下を加えたものに対応する。図6に示すよう
に、それぞれのデータ線LiないしLi-33は、次のデータ
線に接続されており、新しい走査線がバッファメモリ60
に読み込まれるごとに、先立つ33個の走査線がそれぞれ
次のレジスタにシフトするようになっている。バッファ
メモリ60は、IDT社が製造する4k×18ビットのモデルIDT
−72245のFIFOチップ2個等の、市販のチップから構成
された従来技術の先入れ先出し(FIFO)バッファであっ
てもよい。または、バッファメモリ60は、制御装置およ
びスタティックRAMメモリ資源によって実施してもよ
い。
バッファメモリ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およびL
i-31ないしLi-33は、それぞれ回路板の導線61−63およ
び66−68を経由して、垂直検出器72に接続されている。
垂直検出器72は、回路板の導線74を経由して、RAM73に
接続されている。RAM73は、垂直検出器72の動作に関し
て用いるメモリ資源を提供する。垂直検出器72は、垂直
検出器72に導入されたそれぞれの画素について、上述の
ように、垂直バーコード検出値RVおよび垂直バーコード
向き値SVを決定する。線LiないしLi-2からのデータによ
って、垂直検出器72が、垂直ウインドウ37に入ってくる
画素について常に知っていることができ、線Li-31ない
しLi-33からのデータによって、垂直検出器72が、垂直
ウインドウ37から出ていく画素について常に知っている
ことができる。垂直検出器72の動作は、以下に図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、11
2、および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,j−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に関する画素データを機能ブロック1
00に供給する。シフトレジスタ132はまた、通信チャネ
ル136を経由して、画素Pi−2,j−15に関する画素情報
を機能ブロック100に供給する。
シフトレジスタ142は、通信チャネル144を経由して、
画素Pi−1,j−16に関する画素データを機能ブロック1
00に供給する。シフトレジスタ142はまた、通信チャネ
ル146を経由して、画素Pi−1,j−15に関する画素情報
を機能ブロック100に供給する。
シフトレジスタ152は、通信チャネル154を経由して、
画素Pi,j−16に関する画素データを機能ブロック100に
供給する。シフトレジスタ152はまた、通信チャネル156
を経由して、画素情報を機能ブロック100に供給する。
機能ブロック100は、シフトレジスタ102、112、122、
132、142、および152が提供する画素情報を用いて、垂
直バーコード検出値RVおよび垂直バーコード向き値SV
計算し、これらは、図6に示すように、それぞれ回路板
の導線77および78を経由して、トリガ検出器80に提供さ
れる。機能ブロック100は、図4D−F上に示す比較を効
果的に計算する。
機能ブロック100は、機能ブロック98とは異なり、垂
直ウインドウ36内のそれぞれの画素について同時に提供
される画素データを有するわけではない、ということが
理解されるべきである。したがって、機能ブロック100
は、図4D−F上に示す比較を直接計算することはできな
い。したがって、機能ブロック100は、垂直ウインドウ3
6に入ってくるおよびそこから出ていく画素データにつ
いて常に知っており、中間の画素に関するデータをRAM7
3内に保存する。現在の画素Pi−15,j−15についての
垂直比較値V135、V90、およびV45は、画素P
i−14,j−15について(現在の画素であったときに)計
算された垂直比較値を取り、垂直ウインドウ36が効果的
に1行上にシフトするときに垂直ウインドウ36に入って
くるおよびそこから出ていく画素を考慮することによっ
て、計算される。水平ウインドウ37および垂直ウインド
ウ36は、4,096画素からなる走査線全体に沿って効果的
に水平にスライドし、次に1行上にシフトして次の走査
線に沿ってスライドする。したがって、機能ブロック10
0は、走査線に沿ったそれぞれの画素についての結果
を、次の走査線の処理の間に用いられるように、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用のコンピュ
ータが実施する処理の論理フロー図である。ステップ90
2において、水平比較値H135、H0、およびH45に対応する
カウンタが0にリセットされる。ステップ904におい
て、機能ブロック98が次の走査線を待つ。ステップ906
において、本明細書でpixel_NUMと呼ばれる画素番号カ
ウンタが0にセットされる。ステップ908において、機
能ブロック98が、現在の走査線の次の画素を待つ。次の
画素を受け取ると、ステップ910において、画素カウン
タのpixel_NUMが1インクリメントされる。決定ステッ
プ912において、画素カウンタのpixel_NUMが32よりも小
さいかどうかが判定される。pixel_NUMが32よりも小さ
くない場合には、「NO」のブランチをたどってルーチン
914に行く。pixel_NUMが32よりも小さい場合には、「YE
S」のブランチをたどってルーチン916に行く。
2つの異なるルーチン914および916を用いて、画素を
比較する、というのも、pixel_NUMが32よりも小さい場
合には、水平ウインドウ37を出ていく画素がないからで
ある。したがって、pixel_NUMが32よりも小さい場合に
適用されるルーチン916においては、カウンタH135
H0、およびH45は、画素カウンタのpixel_NUMがインクリ
メントされるごとに、インクリメントのみをすることが
できる。他方で、pixel_NUMが32よりも小さくない場合
に適用されるルーチン914においては、カウンタH135、H
0、およびH45は、画素カウンタのpixel_NUMがインクリ
メントされるごとに、インクリメントまたはデクリメン
トすることができる。ルーチン914および916は、それぞ
れ図10および11に関してより詳細に説明する。
ルーチン914および916は共にステップ918に戻り、ス
テップ918において、水平バーコード検出器値RHが、H
135、H0、およびH45のうちの最大のものから、H135
H0、およびH45のうちの最小のものを引いたものに等し
くセットされる。決定ステップ920において、H135が3
つの水平比較値H135、H0、およびH45のうちの最大のも
のであるかどうかが判定される。H135が最大である場合
には、「YES」のブランチをたどってステップ922に行
き、ステップ922において、水平バーコード向き値SHが1
35゜にセットされる。H135が最大ではない場合には、
「NO」のブランチをたどってステップ924に行き、ステ
ップ924において、H0が水平比較値H135、H0、およびH45
のうちの最大のものであるかどうかが判定される。H0
最大である場合には、「YES」のブランチをたどってス
テップ926に行き、ステップ926において、水平バーコー
ド向き値SHが0゜にセットされる。H0が最大ではない場
合には、「NO」のブランチをたどってステップ928に行
き、ステップ928において、水平バーコード向き値SHが4
5゜にセットされる。
ステップ922、926、および928はそれぞれ次がステッ
プ930であり、ステップ930において、現在の画素が現在
の走査線における最後の画素であるかどうかが判定され
る。現在の画素が現在の走査線における最後の画素では
ない場合には、「NO」のブランチをたどってステップ90
8に戻り、ステップ908において、機能ブロック98が次の
画素を待つ。現在の画素がその走査線における最後の画
素である場合には、「YES」のブランチをたどってステ
ップ902に戻り、ステップ902において、水平比較値
H135、H0、およびH45のカウンタが0にリセットされ
る。図9に示すコンピュータが実施する処理によって、
画素化した画像30のそれぞれの画素について水平バーコ
ード検出値RHおよび水平バーコード向き値SHが作成され
る、ということが理解されよう。
図10は、画素カウンタのpixel_NUMが32よりも小さく
ない場合に適用される、コンピュータが実施するルーチ
ン914の論理フロー図である。ステップ1002において、
画素Pi−15,j−1がPi−16,jに等しいかどうかが判
定される。言い換えれば、ステップ1002は、画素Pi,j
を全方向性バーコード探知器20に読み込むことによって
引き起こされた機能ブロック98の画素のシフトが、図4A
の右手側に示すように、135゜の画素の適合を引き起こ
して水平ウインドウ37に入ってきたかどうか、を判定す
る。ステップ1002の照会に対する答えがノーの場合に
は、ステップ1002から「NO」のブランチをたどってステ
ップ1004に行き、ステップ1004において、画素P
i−15,j−32がPi−15,j−31に等しいかどうかが判定
される。言い換えれば、画素Pi,jを全方向性バーコー
ド探知器20に読み込むことによって引き起こされた機能
ブロック98の画素のシフトが、図4Aの左手側に示すよう
に、135゜の画素の適合を引き起こして水平ウインドウ3
7から出ていったかどうか、が判定される。ステップ100
4の照会に対する答えがイエスの場合には、「YES」のブ
ランチをたどってステップ1006に行き、ステップ1006に
おいて、水平バーコード比較値H135のカウンタがデクリ
メントされる。画素Pi,jを全方向性バーコード探知器2
0に読み込むことによって引き起こされた機能ブロック9
8の画素のシフトが、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において、画素
i−15,j−32がPi−15,j−31に等しいかどうかが判
定される。画素Pi−15,j−32がPi−15,j−31に等し
いということは、画素Pi,jを全方向性バーコード探知
器20に読み込むことによって引き起こされた機能ブロッ
ク98の画素のシフトが、図4Aの左手側に示すように、13
5゜の画素の適合を引き起こして水平ウインドウ37から
出ていった、ということを示す。
ステップ1008の照会に対する答えがイエスの場合に
は、画素Pi,jを全方向性バーコード探知器20に読み込
むことによって引き起こされた機能ブロック98の画素の
シフトが、135゜の画素の適合を引き起こして、水平ウ
インドウ37から出ていくこともそこに入ってくることも
あったので、水平比較器H135のカウンタはインクリメン
トもデクリメントもされない。ステップ1008の照会に対
する答えがノーの場合には、「NO」のブランチをたどっ
てステップ1010に行き、ステップ1010において、画素P
i,jを全方向性バーコード探知器20に読み込むことによ
って引き起こされた機能ブロック98の画素のシフトが、
135゜の画素の適合を引き起こして水平ウインドウ37か
ら入ってきたが、135゜の画素の適合を引き起こして水
平ウインドウ37に出ていってはいないので、比較値H135
のカウンタがインクリメントされる。
ステップ1002ないし1010は、画素Pi,jを全方向性バ
ーコード探知器20に読み込むことによって引き起こされ
た機能ブロック98の画素のシフトが、図4Aに示すような
現在の行38の水平ウインドウ37内にある部分において起
こている135゜の画素の適合の数の「正味の増加または
減少」を引き起こしたかどうかを判定する方法を示す、
ということが理解されよう。便宜上、以下では本方法
を、図4Aに示すような水平比較値H135を計算する「正味
の増加/減少方法」と呼ぶ。同じ「正味の増加/減少方
法」を用いて、他の比較値H0、H46、V135、V90、および
V45を計算するが、ただしこれらの画素比較はそれぞれ
図4B−Fに示すという点のみが異なる。したがって、
「正味の増加/減少方法」は、他の比較値H0、H45、V
135、V90、およびV45に関しては説明しない。
ステップ1012ないし1020において、「正味の増加/減
少方法」を用いて水平比較値H0のカウンタをインクリメ
ントまたはデクリメントするべきかどうかが判定され
る。同様に、ステップ1022ないし1030において、「正味
の増加/減少方法」を用いて水平比較値H45のカウンタ
をインクリメントまたはデクリメントするべきかどうか
が判定される。したがって、図10は、水平比較値H135
H0、およびH45のカウンタをインクリメントまたはデク
リメントして、それぞれ135゜、0゜、および45゜の向
きの水平ウインドウ37内での画素の適合の正味の増加を
反映する方法を示す、ということが理解されよう。
図11は、図9のコンピュータが実施するルーチン916
を示す。ルーチン916は、画素カウンタのpixel_NUMが32
よりも小さい場合に適用される。ステップ1102におい
て、画素Pi−15,j−1がPi−16,jに等しいかどうか
が判定される。言い換えれば、画素Pi,jを全方向性バ
ーコード探知器20に読み込むことによって引き起こされ
た機能ブロック98の画素のシフトが、135゜の画素の適
合を引き起こして水平ウインドウ37に入ってきたかどう
か、である。ステップ1102の照会に対する答えがイエス
の場合には、「YES」のブランチをたどってステップ110
4に行き、ステップ1104において、水平比較値H135のカ
ウンタがインクリメントされる。画素カウンタのpixel_
NUMが32よりも小さいので、水平比較値H135のカウンタ
は、ルーチン196においてインクリメントのみをするこ
とができる。
ステップ1104、およびステップ1102の「NO」のブラン
チは、ステップ1106に続かれ、ステップ1106において、
画素Pi−15,j−1がPi−16,j−1に等しいかどうか
が判定される。言い換えれば、画素Pi,jを全方向性バ
ーコード探知器20に読み込むことによって引き起こされ
た機能ブロック98の画素のシフトが、0゜の画素の適合
を引き起こして水平ウインドウ37に入ってきたかどう
か、である。ステップ1106の照会に対する答えがイエス
の場合には、「YES」のブランチをたどってステップ110
8に行き、ステップ1108において、水平比較値H0のカウ
ンタがインクリメントされる。画素カウンタのpixel_NU
Mが32よりも小さいので、水平比較値H0のカウンタは、
ルーチン916においてインクリメントのみをすることが
できる。
ステップ1108、およびステップ1106の「NO」のブラン
チは、ステップ1110に続かれ、ステップ1110において、
画素Pi−15,j−1がPi−16,j−2に等しいかどうか
が判定される。言い換えれば、画素Pi,jを全方向性バ
ーコード探知器20に読み込むことによって引き起こされ
た機能ブロック98の画素のシフトが、45゜の画素の適合
を引き起こして水平ウインドウ37に入ってきたかどう
か、である。ステップ1110の照会に対する答えがイエス
の場合には、「YES」のブランチをたどってステップ111
2に行き、ステップ1112において、水平比較値H45のカウ
ンタがインクリメントされる。画素カウンタのpixel_NU
Mが32よりも小さいので、水平比較値H45のカウンタは、
ルーチン916においてインクリメントのみをすることが
できる。ステップ1112,およびステップ1110の「NO」の
ブランチは、次が継続ステップであり、この継続ステッ
プにおいて、図9によって示すコンピュータが実施する
処理がステップ918において継続する。
図12は、垂直検出器72の機能ブロック100用のコンピ
ュータが実施するルーチンを示す。ステップ1202におい
て、垂直比較値V135、V90、およびV45のカウンタが0に
セットされる。ステップ1204において、機能ブロック10
0が次の走査線を待つ。ステップ1206において、画素カ
ウンタのpixel_NUMが0に等しくセットされる。ステッ
プ1208において、前の列44の垂直比較値V135、V90、お
よびV45のカウンタ値がRAM73内に保存される。ステップ
1210において、機能ブロック100が、次の画素を待つ。
ステップ1214において、機能ブロック100が、現在の列4
2の垂直比較値V135、V90、およびV45のカウンタ値をRAM
73から検索する。ステップ1216において、画素カウンタ
のpixel_NUMがインクリメントされる。ステップ1218に
おいて、画素カウンタのpixel_NUMが32よりも小さいか
どうかが判定される。画素カウンタのpixel_NUMが32よ
りも小さい場合には、「YES」のブランチをたどってル
ーチン1222に行く。画素カウンタのpixel_NUMが32より
も小さくない場合には、「NO」のブランチをたどってル
ーチン1220に行く。ルーチン1220および1222は、図13お
よび14に関してより詳細に説明する。
ルーチン122および1222は共に、次がステップ1224で
あり、ステップ1224において、垂直バーコード検出値RV
が、V136、V90、およびV45のうちの最大のものから、V
135、V90、およびV45のうちの最小のものを引いたもの
にセットされる。ステップ1224は、次がステップ1226で
あり、ステップ1226において、垂直比較値V135が3つの
垂直比較値V135、V90、およびV45のうちの最大のもので
あるかどうかが判定される。垂直比較値V135が最大であ
る場合には、「YES」のブランチをたどってステップ122
8に行き、ステップ1228において、垂直バーコード向き
値SVが135゜にセットされる。V135が最大ではない場合
には、ステップ1226から「NO」のブランチをたどってス
テップ1230に行き、ステップ1230において、垂直比較値
V90が垂直比較値V135、V90、およびV45のうちの最大の
ものであるかどうかが判定される。垂直比較値V90が最
大である場合には、ステップ1233において、垂直バーコ
ード向き値SVが90゜に等しくセットされる。垂直比較値
V90が最大ではない場合には、ステップ1232は「NO」の
ブランチをたどってステップ1234に行き、ステップ1234
において、垂直バーコード向き値が45゜にセットされ
る。
ステップ1228、1232、および1234は次がステップ1236
であり、ステップ1236において、現在の画素が現在の走
査線における最後の画素であるかどうかが判定される。
現在の画素が現在の走査線における最後の画素ではない
場合には、「NO」のブランチをたどってステップ1208に
戻り、ステップ1208において、現在の列の垂直比較値の
カウンタ値がRAM73内に保存される。現在の画素が走査
線における最後の画素である場合には、ステップ1236か
ら「YES」のブランチをたどってステップ1204に行き、
ステップ1204において、機能ブロック100が、次の画素
を待つ。機能ブロック100について上述したルーチンの
結果として、ビデオ画像30のそれぞれの画素についての
垂直バーコード検出値RVおよび垂直バーコード向き値SV
が作成される、ということが理解されよう。
図13は、図12のルーチン1220の論理フロー図である。
図13の示すルーチンは、図10のルーチンとほぼ等しい
が、図13のルーチンは垂直ウインドウ36に対応するのに
対して図10のルーチンは水平ウインドウ37に対応する、
という点のみが異なる。より具体的には、ステップ1302
ないし1310は、図10に関して前述した「正味の増加/減
少方法」を用いて垂直比較値V135のカウンタをインクリ
メントまたはデクリメントするべきかどうかを判定す
る。同様に、ステップ1312ないし1320は、「正味の増加
/減少方法」を用いて垂直比較値V0のカウンタをインク
リメントまたはデクリメントするべきかどうかを判定
し、ステップ1322ないし1330は、「正味の増加/減少方
法」を用いて垂直比較値V45をインクリメントまたはデ
クリメントするべきかどうかを判定する。図13上に示す
ルーチン1220は、継続ステップで終わり、この継続ステ
ップにおいて、図12上に示すコンピュータが実施する処
理がステップ1224において継続する。
図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、V
90、V45のうちの少なくとも1つにおいて、現在の画素
i−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」のブランチをたどってステップ1510に行き、ス
テップ1510において、候補値Cが1に等しくセットさ
れ、候補向き値DCが、垂直バーコード向き値SVの値に等
しくセットされる。図6を参照して、候補値Cおよび候
補向き値DCは、合計器84に供給される。図15の示すコン
ピュータが実施するルーチンの結果として、0または1
である候補値C、および候補向き値DCが、ビデオ画像30
のそれぞれの画素について計算される、ということが理
解されよう。
図16は、合計器84用のコンピュータが実施する処理を
示す。合計器は、図2Bに示すように、代表的なセル35等
のそれぞれのセル内でバーコードが検出されるかどうか
を判定する。ステップ1602において、カウンタAおよび
Bが0に等しくセットされる。ステップ1604において、
合計器84は次の走査線を待つ。ステップ1606において、
走査線カウンタのscanline_NUMが1インクリメントされ
る。合計器84の走査線カウンタのscanline_NUMは、1か
ら36までカウントし、次に、代表的なセル35等のセル内
の部分的な走査線の数に対応してロールオーバーする。
ステップ1608において、合計器84は次の画素を待つ。ス
テップ1610において、画素カウンタのpixel_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」のブランチをたどってルーチン1616に行き、ル
ーチン1616において、セル内でバーコードを検出するこ
とができる。ルーチン1616は、図17に関してより詳細に
説明する。
ステップ1612の照会に対する答えが偽の場合には、ス
テップ1612から「NO」のブランチをたどってステップ16
20に行き、ステップ1620において、現在の画素について
バーコード候補が検出されているかどうか(すなわち、
候補値C=1かどうか)が判定される。バーコード候補
が検出されている場合には、「YES」のブランチをたど
ってステップ1622に行き、ステップ1622において、現在
の画素についての候補向き値DCが0゜に等しいかどうか
が判定される。ステップ1622の照会に対する答えがイエ
スの場合には、「YES」のブランチをたどってステップ1
624に行き、ステップ1624において、カウンタAがデク
リメントされる。ステップ1622の照会に対する答えがノ
ーの場合には、「NO」のブランチをたどってステップ16
26に行き、ステップ1626において、候補向き値が90゜に
等しいかどうかが判定される。ステップ1626の照会に対
する答えがイエスの場合には、「YES」のブランチをた
どってステップ1628に行き、ステップ1628において、カ
ウンタAがインクリメントされる。ステップ1626の照会
がノーの場合には、「NO」のブランチをたどってステッ
プ1630の行き、ステップ1630において、候補向き値が45
゜に等しいかどうかが判定される。ステップ1630の照会
がイエスの場合には、「YES」のブランチをたどってス
テップ1632に行き、ステップ1632において、カウンタB
がインクリメントされる。ステップ1630の照会に対する
答えがノーの場合には、「NO」のブランチをたどってス
テップ1634に行き、ステップ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において、合計器84
が次の走査線を待つ。
図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に行き、ステップ17
12において、バーコード表示値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にリセットされる。ステップ17
19、およびステップ1702からの「NO」のブランチは、次
がステップ1720であり、ステップ1720において、現在の
セルのカウンタ値がRAM87内に保存される。ステップ172
2において、合計器84は次のセルのカウンタ値をRAM87か
ら得る。ステップ1722は、次が継続ステップであり、こ
の継続ステップにおいて、合計器用のコンピュータが実
施する処理が図16上に示すステップ1620で継続する。図
16および図17により示されるコンピュータ実行処理は、
ビデオ画像30の各セルについてのセルバーコード表示値
Mおよびバーコード向き値Dに帰着することが理解され
よう。
上述の方法で、全方位性バーコード探知器20は、リア
ルタイムで、ビデオ画像30のそれぞれのセルについての
バーコード検出信号21およびバーコード向き信号22を作
成する。本発明は、高速で低コストの全方向性バーコー
ド探知器用の改良した方法および装置を提供する、とい
うことが理解されよう。本発明はまた、計算が効率的な
全方向性バーコード探知器を提供する。より具体的に
は、本発明は、コンベアに沿って動く小包上のバーコー
ドの位置およびおおよその向きをリアルタイムで判定す
るのに用いることができ、次にバーコード読み取り装置
によって処理されるように保存されねばならないカメラ
のデータの量を低減することができる、全方向性バーコ
ード探知器を提供する。前述の事柄は本発明の特定の実
施例にのみ関係することであり、添付の請求の範囲に規
定する本発明の精神および範囲から逸脱することなく本
発明に多くの変更を行うことができる、ということが理
解されるべきである。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06K 7/10

Claims (20)

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

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
JP2000501533A JP2000501533A (ja) 2000-02-08
JP3150707B2 true 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)

Families Citing this family (46)

* 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
EP1005035B1 (en) 1995-10-09 2000-11-02 Matsushita Electric Industrial Co., Ltd. An optical disk and an optical disk reproduction apparatus
ATE239266T1 (de) * 1996-12-30 2003-05-15 Datalogic Spa Verfahren zum lesen eines auf einem objekt aufgebrachten barkodes
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
US6674875B1 (en) * 1997-09-30 2004-01-06 Durand Limited Anti-counterfeiting and diffusive screens
JP2001526430A (ja) * 1997-12-08 2001-12-18 エール.ルースタエ アレキサンダー スマートセンサを備えた単一チップ構造の記号読取装置
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
US7203367B2 (en) 2000-08-29 2007-04-10 Imageid Ltd. Indexing, storage and retrieval of digital images
AUPR053100A0 (en) * 2000-10-05 2000-10-26 Exago Pty Limited Supply chain management system
DE60135377D1 (de) 2000-12-14 2008-09-25 Edc Systems Inc Verfahren zur Authentifizierung eines optischen Aufzeichnungsmediums und ein optisches Aufzeichnungsmedium
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
ATE505032T1 (de) 2003-09-03 2011-04-15 Visible Tech Knowledgy Inc Elektronisch aktualisierbares label und display
JP4180497B2 (ja) 2003-12-05 2008-11-12 富士通株式会社 コード種類判別方法、およびコード境界検出方法
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
JP6075850B2 (ja) * 2012-12-17 2017-02-08 Kddi株式会社 情報端末装置及びプログラム並びに認識システム
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 半導体ウエハの識別表示方法
US5134272A (en) * 1988-07-13 1992-07-28 Matsushita Electric Industrial Co., Ltd. Image signal processing apparatus for bar code image signal
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3150707B2 (ja) 全方向性バーコード探知器
JP2832646B2 (ja) 2次元cddイメージ中のバーコード・シンボルの精細な方位角を求める方法および装置
EP1234273B1 (en) Multi-resolution label locator
US8727223B2 (en) Indicia reading apparatus having image sensor array
EP0980537B1 (en) Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field
US5446271A (en) Omnidirectional scanning method and apparatus
US5524068A (en) Method and apparatus for finding areas of interest in images
US5504319A (en) Method and system for bar code acquisition
US20060022051A1 (en) Point-of-transaction workstation for electro-optically reading one-dimensional and two-dimensional indicia by image capture
US6296187B1 (en) CCD-based bar code scanner
US20100177363A1 (en) Prioritized virtual scan line processing
EP0961218A1 (en) Method of binarization in an optical character recognition system
CN102982300A (zh) 具有彩色帧处理的标记读取终端
JP2008518353A (ja) ダイナミック信号処理のための方法と装置
US20060283953A1 (en) System and method for locating a predetermined pattern within an image
US9600700B1 (en) Portable electronic device and operation method thereof
EP1993060A1 (en) Device for object detection in an image, and method thereof
US8584951B2 (en) Apparatus, method and system for extracting pixel data from an image capture device
EP1178665A2 (en) Optical scanner and image reader including one and two dimensional symbologies at variable depth of field
US20090152359A1 (en) Methods and Apparatus for Signals Exhibiting Improved Signal to Noise Ratio in Image Bar Code Scanning
Li et al. Window-based bar code acquisition system
JPS5914782B2 (ja) 2値パタ−ンの数値化処理方式
CN113792677A (zh) 一种表格识别方法、装置、计算机设备和存储介质
CN115526814A (zh) 图像预测的方法以及装置
JPH08221548A (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