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

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

Info

Publication number
JP2864012B2
JP2864012B2 JP9134379A JP13437997A JP2864012B2 JP 2864012 B2 JP2864012 B2 JP 2864012B2 JP 9134379 A JP9134379 A JP 9134379A JP 13437997 A JP13437997 A JP 13437997A JP 2864012 B2 JP2864012 B2 JP 2864012B2
Authority
JP
Japan
Prior art keywords
symbol
pixel
composite signal
scan line
image
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
JP9134379A
Other languages
English (en)
Other versions
JPH10187876A (ja
Inventor
イー スミス,クリストフアー
クランツニク,ミハエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YUNAITETSUDO PAASERU SAABISU OBU AMERIKA Inc
Original Assignee
YUNAITETSUDO PAASERU SAABISU OBU AMERIKA Inc
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 YUNAITETSUDO PAASERU SAABISU OBU AMERIKA Inc filed Critical YUNAITETSUDO PAASERU SAABISU OBU AMERIKA Inc
Priority to JP9134379A priority Critical patent/JP2864012B2/ja
Publication of JPH10187876A publication Critical patent/JPH10187876A/ja
Application granted granted Critical
Publication of JP2864012B2 publication Critical patent/JP2864012B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イメージ処理に関
するものであり、特にピクセル・イメージの形式のバー
コード・シンボルの位置を求め(locate)且つデコード
(解読)する方法および装置に関するものである。
【0002】
【従来の技術】一次元レーザー走査システムを使用した
バーコード・シンボルの読取りはよく知られている。二
次元ピクセル・イメージの形のバーコード・シンボルの
位置を求め且つデコード(解読)するイメージ処理装置
はそれ程知られていない。バーコード・シンボルをデコ
ードするには、端縁部(エッジ)がバーコード・シンボ
ル内のバーからスペースへの遷移(transition)あるい
はスペースからバーへの遷移に対応する場合は、端縁部
と端縁部との間の距離を正確に測定する必要がある。
【0003】
【発明が解決しようとする課題】従来、ファクシミリ級
の品質のイメージ、すなわちファクシミリ装置やそれに
類する装置によって発生されたバーコード・シンボルの
イメージ形式の高密度バーコード・シンボルを読み取る
ことは特に困難であった。ファクシミリ装置によって発
生されたイメージ形式のバーコード・シンボルの位置を
求め且つデコードすることができるバーコード読取り装
置(バーコード・リーダー)はスキャナやカメラのよう
な他の任意のイメージ・ソースによって発生されたイメ
ージ形式のバーコード・シンボルの読取りにも適応でき
るものでなければならない。
【0004】
【課題を解決するための手段】本発明は、ピクセル・イ
メージのバーコード・シンボルを読取る方法および装置
に関するものである。本発明の好ましい実施例では、バ
ーコード・シンボルは多数の走査線沿って走査される
が、先ずバーコード・シンボルのバーとスペースに実質
的に平行な第1の走査線を選択し、この第1の走査線に
沿って上記シンボルを走査して第1の値を発生する。次
いで、上記バーコード・シンボルのバーとスペースに実
質的に平行で、且つ上記第1の走査線との距離がイメー
ジのピクセルの幅よりも小さい第2の走査線を選択し、
この第2の走査線に沿って上記シンボルを走査して第2
の値を発生する。デコーダは上記第1の値と第2の値に
従ってシンボルをデコードすることにより上記バーコー
ド・シンボルを読取る。
【0005】
【発明の実施の形態】図1を参照すると、これには本発
明の好ましい実施例によるバーコード・シンボル読取り
システム100の機能的ブロック図が示されている。シ
ステム100は二次元ピクセル・イメージ形式の未知の
位置および方向をもったバーコード・シンボルの位置を
求め且つデコード(解読)する。システム100は2進
イメージあるいはグレースケール・イメージのいずれか
の形式のバーコード・シンボルの位置を求め且つデコー
ドするように設計されている。
【0006】システム100のデータ入力102はピク
セル・イメージ用のデータを受信し、シンボル・ロケー
タ104はピクセル・イメージの形で含まれているバー
コード・シンボルの位置を求める。システム100は2
つの並列処理によってピクセル・イメージ形式の各位置
が求められたバーコード・シンボルをデコードするよう
にされているのが望ましい。
【0007】1つの処理によれば、コンポジット信号発
生器106はバーコード・シンボルに対応するコンポジ
ット信号を発生する。次に、コンポジット信号スレッシ
ョルダ108はコンポジット信号のスレッショルド(閾
値)を決定し、濾波してこのコンポジット信号に対応す
る2進信号を生成する。次いで、コンポジット信号デコ
ーダ110は2進信号をデコードすることによりバーコ
ード・シンボルをデコード(解読)する。コンポジット
信号デコーダ110がバーコード・シンボルをデコード
するのに成功すると、該信号デコーダ110はデコード
された信号を出力セレクタ118に転送する。それ以外
の場合は、信号デコーダ110はデコードが不成功であ
ったことを表わす信号を出力セレクタ118に転送す
る。
【0008】位置が求められた各バーコード・シンボル
をデコードする他の処理に従って、傾斜信号(gradient
signal )発生器112は位置が求められたバーコード
・シンボルから2個の傾斜信号を発生する。傾斜信号プ
ロセッサ114は2個の傾斜信号を処理して2進の再構
成された信号を発生する。次いで、傾斜信号デコーダ1
16は上記再構成された信号をデコードすることにより
バーコード・シンボルをデコードする。傾斜信号デコー
ダ116がバーコード・シンボルをデコードするのに成
功すると、該デコーダ116はデコードされた信号を出
力セレクタ118に転送する。それ以外の場合は傾斜信
号デコーダ116はデコードが不成功であったことを表
わす信号を出力セレクタ116に転送する。
【0009】好ましい実施例では、コンポジット信号デ
コーダ110と傾斜信号デコーダ116は、コンポジッ
ト信号スレッショルダ108、傾斜信号プロセッサ11
4からそれぞれ受信された2進信号に関して同じデコー
ディング・アルゴリズムを実行する。
【0010】出力セレクタ118は信号デコーダ110
および116からデコードされた信号を受信し、適当な
出力を選択してこれをデータ出力120に転送する。信
号デコーダ110と116のいずれか一方あるいは双方
がバーコード・シンボルをデコードするのに成功する
と、出力セレクタ118はデコードされた信号をデータ
出力120に転送する。それ以外の場合は、バーコード
・シンボルはデコードされなかったことになり、出力セ
レクタ118は適当な信号をデータ出力120に転送す
る。
【0011】(バーコード・シンボルの位置を求める)
図2を参照すると、これにはシステム100のシンボル
・ロケータ104によって実行される処理の流れを示す
ブロック図が示されている。シンボル・ロケータ104
は、シンボルのバーとスペースとの間の最少の遷移(tr
ansition)数が後続するバーコード・シンボルの静止区
域(quiet zone)をサーチすることによってピクセル・
イメージ形式のバーコード・シンボルの位置を求める。
ピクセル・イメージ形式のバーコード・シンボルの各終
端部には静止区域と称される明るいピクセルの領域が存
在する。シンボル自体は明るいスペースによって分離さ
れた一連の暗いバーによって構成されている。
【0012】好ましい実施例によれば、シンボル・ロケ
ータ104の手段202はピクセル・イメージ中の新し
いサーチ・ライン(search line )を選択する。サーチ
・ラインはピクセル・イメージの行あるいは列のいずれ
かからなる。手段202は、1992年8月10日付け
で「バーコード・シンボルを検出しデコードする方法お
よび装置 (Method and Apparatus for Detecting and D
ecoding Bar Code Symbols) 」という名称で出願された
米国特許出願 No.07/927,910号明細書中に開示されてい
るような2進サーチを使用してサーチ・ラインを選択す
る。
【0013】上記米国特許出願は本願と同じ譲受人が保
有しており、本明細書中でその開示内容全体が参照され
ている。2進サーチを使用したサーチ・ラインを選択す
るのに適当な装置は、上記米国特許明細書中の「バーコ
ード・シンボルの検出およびデコーディング (Detectin
g and Decoding Bar Code Symbols)」の項で詳細に説明
されている。一般的に云えば、バーコード・シンボルは
通常ピクセル・イメージ形式で多数の行と列に跨がって
いるので、手段202は処理が進行するにつれて細かく
なる広いパターンを使用した一連の行を選択することが
好ましい。
【0014】表1は、例えば2048の列と4096の
行とを有するピクセル・イメージ形式の行を選択(ある
いは同等の列を選択)するための好ましいシーケンスを
示す。好ましいシーケンスでは、サーチ・ラインとして
の行の選択はステップの大きさが64で行番号64から
スタートする。行(64、128、192、・・・・4
032、4096)を選択したのち、シーケンスは同じ
64の行ステップの大きさで行番号32に戻る。選択は
表1に示すように継続される。行(4、12、20、・
・・4084、4092)を選択したのち、全体のシー
ケンスはいずれの行も2回繰り返すことなくイメージ中
の選択された4番目毎の行を保有することになる。
【0015】
【表1】
【0016】代表的に表1に示すような行をサーチする
選択シーケンスによりシステム100の速度および効率
を向上させることができる。このようなシーケンスは処
理されるべきピクセル・イメージの特性に依存して変化
する可能性のあることは当業者には明らかである。
【0017】好ましい実施例では、ピクセル・イメージ
が既知の数のバーコード・シンボルを含んでおれば、必
要な数のバーコード・シンボルの位置が求められ、デコ
ードされたのちサーチのシーケンスが終了する。さら
に、システム100は既に位置が求められ且つデコード
されたバーコード・シンボルを含むイメージの領域のト
ラックを保持することが好ましい。シンボル・ロケータ
104は既に処理されたこれらの領域を無視することが
望ましい。
【0018】手段204はピクセル・イメージの開始端
からの候補(candidateあるいは潜在的)バー
コード・シンボルに対する選択されたサーチ・ラインに
沿ってサーチを開始する。ピクセル・イメージ中で発見
されることが期待されるバーコード・シンボルが既知の
最短の長さをもっている場合は、手段204は各選択さ
れたサーチ・ラインの全体の長さをサーチしないことが
望ましい。システム100は“全”バーコード・シンボ
ルのみをデコードするので、手段204はサーチ・ライ
ンの停止端に隣接する各選択されたサーチ・ラインの部
分を無視することが望ましい。無視される各サーチ・ラ
インの部分は最短の期待されるにバーコードまでの距離
に対応している。
【0019】手段204は、候補バーコード・シンボル
を、(期待されるバーとスペースとの間の遷移に対応す
る)“明”と“暗”のピクセル間の一連のN2の遷移が
後続する(期待される静止区域に対応する)連続する一
連のN1の“明るい”ピクセルとして認識する。ここ
で、N1およびN2はそれぞれ第1および第2の指定さ
れたスレッショルドである。
【0020】手段204は2進イメージあるいはグレー
スケール・イメージのいずれかの形で候補バーコード・
シンボルをサーチする。2進イメージでは明るいピクセ
ルは値1をもつものとして定義され、暗いピクセルは値
0をもつものと定義される。グレースケールのイメージ
では、第3のスレッショルドよりも大きな値をもったピ
クセルは明るいピクセルであると定義され、それ以外の
場合は暗いピクセルであると定義される。
【0021】手段204は、先ず候補バーコード・シン
ボルの静止区域をサーチすることによって機能する。手
段204は、選択されたサーチ・ラインに沿って連続す
る一連のN1個の明るいピクセルを発見したとき、候補
バーコード・シンボルの静止区域を検出する。一旦候補
バーコード・シンボルの静止区域が検出されると、手段
204は次に一連のN2個の明/暗の遷移に対する選択
されたサーチ・ラインに沿ってサーチする。ここで、各
明/暗の遷移は候補バーコード・シンボル中のバーの端
縁部(すなわち、シンボルのバーとスペースとの間の遷
移)に対応する。“明/暗の遷移”の用語は、明から暗
への遷移、暗から明への遷移の双方を総合して表わして
いる。
【0022】候補静止区域に続く最初の暗いピクセルの
位置を求めたのち、暗いピクセルがシステム100によ
って既に位置が求められ且つデコードされたバーコード
・シンボル中に含まれているか否かをチェックする。も
し含まれていると、その候補バーコード・シンボルは既
に処理されているから除去される。
【0023】さらに、明/暗の遷移数をカウントしてい
る間に、手段204は各候補バーおよびスペースの幅を
チェックする。もし、いずれかの候補バー/スペースの
幅が広すぎると(すなわち、指定された最大のバー/ス
ペースのスレッショルドを超過すると)、そのときは候
補シンボルは除去され、候補バーコード・シンボルの静
止区域に対する新しいサーチが開始される。
【0024】選択されたサーチ・ラインに沿った候補バ
ーコード・シンボルの位置を求めたのち(すなわち、最
少数の候補バーコードおよびスペースが後続する候補静
止区域の位置を求めたのち)、手段204は静止区域の
サーチを繰返し、ピクセル・イメージ中の1あるいはそ
れ以上の隣接する列/行に沿うバー/スペースの遷移の
カウントを繰り返すことによって候補シンボルを確認
(verify:ベリファイ)する。
【0025】(2進イメージのバイト基準(Byte-Base
d)サーチ)次に図3を参照する。同図にはピクセル・
イメージが2進イメージである場合の候補バーコード・
シンボルの位置を求めるためのシンボル・ロケータ10
4の手段204によって実行される処理のフローチャー
トがブロックの形で示されている。2進イメージでは各
ピクセルは単一のビットによって表わされる。ここで
は、例えば、“1”は明るいピクセルに対応し、“0”
は暗いピクセルに対応する。好ましい実施例では、手段
204は静止区域に対するバイト基準(byte-based)サ
ーチを実行し、バー/スペース遷移のバイト基準カウン
トを実行する。ここで、ピクセル・イメージ中の8個の
連続する2進ピクセルはイメージ・データの単一バイト
として取り扱われる。
【0026】手段302は選択されたサーチ・ラインに
沿って1度に1バイトの割合でサーチを行なう。候補静
止区域中に位置する8個のピクセルすべてに対応するバ
イトは、一般にすべてが1に等しい8個のビット(すな
わちピクセル)をもっている。従って、最少の静止区域
長が32ピクセルに等しい場合は、静止区域を通過する
サーチ・ラインは、すべてが1に等しい少なくとも3個
の連続するバイトをもっている。手段302が3個の連
続する静止区域バイト(すなわち、すべてが1)を検出
すると、そのときは候補静止区域の位置が求められ、手
段304は手段306へ続く処理を指令する。手段30
2が上記静止区域バイトを検出しないと、処理は手段3
02へ戻され、候補静止区域に対するバイト基準サーチ
を継続する。
【0027】手段306は候補バーコード・シンボルに
おけるバー/スペース遷移のバイト基準カウントを実行
する。候補バーコード・シンボル中のバーとスペースを
表わす各バイトは、シンボルの一部における明/暗の遷
移数に関する特定の情報を与える。例えば、バイト“0
1100110”は4回の遷移、すなわち2回の暗から
明への遷移(すなわち、0から1への遷移)と2回の明
から暗への遷移(すなわち、1から0への遷移)を含ん
でいる。さらに、先のバイトからの最後のビットが
“1”であると、先のバイトと現在のバイトとの間で明
から暗への遷移が存在する。同様に、次のバイトにおけ
る最初のビットが“1”であれば、現在のバイトと次の
バイトとの間に暗から明への遷移が存在する。
【0028】手段306はバー/スペース遷移のバイト
基準カウントを実行するために、2つのルックアップ・
テーブルを採用している。1つのテーブルは先のピクセ
ル(すなわち、先のバイトの最後のビット)が“1”の
ときに使用され、他のテーブルは先のピクセルが“0”
のときに使用される。各テーブルには256のエントリ
(入口)を有し、それぞれ8ビットからなるピクセル中
のあらゆる可能な組合わせ毎に1個のエントリが対応し
ている。
【0029】各テーブルの各エントリは次の3つの値を
表わしている。 (a)先のピクセルと同じ“色”(すなわち黒か白)で
ある先頭(左端)のピクセル数。 (b)そのバイト中の最後のピクセルと同じ色である後
端(右端)のピクセル(最後のピクセルを含む)の数。 (c)(先行するピクセルからの任意の遷移を含む)8
ピクセル・バイト中の遷移の数。
【0030】例えば、(先行ピクセル=1)のテーブル
では、バイト“01100110”は、(a)先行ピク
セルと同じ色である先頭ピクセルの数として“0”、
(b)最後のピクセルと同じ色である後端ピクセルの数
として“1”、(c)バイト内の遷移の数として“5”
を有している。(先行ピクセル=0)のテーブルでは、
バイト“01100110”は、(a)先行ピクセルと
同じ色である先頭ピクセルの数として“1”、(b)最
後のピクセルと同じ色である後端ピクセルの数として
“1”、(c)バイト内の遷移の数として“4”を有し
ている。
【0031】手段306は、遷移数をカウントし、各バ
ーとスペースの大きさを決定するためにテーブルのエン
トリから引き出された値を使用する。手段306は、選
択されたサーチ・ラインに沿う各連続するイメージ・バ
イトを処理するときの遷移数の実行中のカウント値を保
持する。また、手段306はその時のバー/スペースの
大きさの実行中のカウント値を保持することによってい
ずれのバーあるいはスペースが特定のスレッショルドを
超過したか否かを決定する。手段306は2つのテーブ
ルから引き出された情報を使用してこれらの計算を実行
する。
【0032】例えば、選択されたサーチ・ラインに沿う
一連のイメージ・バイトが(“00011011”、
“01101101”、“11001100”、“00
000111”)であると仮定する。また、そのシーケ
ンス中の最初のバイトに対する先行するピクセルが
“0”であると仮定する。最初のバイトののち、遷移数
の実行中のカウント値は3である。第2のバイトは実行
中のカウント値にさらに6回の遷移数を加算して合計9
になる。第3のバイトはさらに3回の遷移数を加算して
合計12になる。第4のバイトはさらに1加算して合計
13になる。
【0033】各バイトが処理されると、手段308はそ
のときのバー/スペースの大きさカウンタを連続的に増
加し、モニタすることによってどのバーあるいはスペー
スが広いか否かを決定する。選択されたサーチ・ライン
に沿う任意所定のピクセルに対して、この大きさカウン
タは、所定のピクセルと同じ色を共有し、そのサーチ・
ラインに沿うその所定のピクセル直前の先行する連続す
るピクセルの数を表わす。もし、バー/スペースの幅が
指定された最大のバー/スペース幅よりも大であれば
(すなわち、大きさカウンタが指定されたスレッショル
ドを超えると)、候補シンボルは除去され、手段308
は処理を手段302に戻すように命令し、候補静止区域
に対するバイト基準サーチを再開させる。それ以外の場
合は、処理は手段310に続く。
【0034】上の2つの節で説明した一連のイメージ・
バイトの例を再び参照すると、第1のバイトの終了と第
2のバイトの開始との間に明から暗への色変化が存在す
ると、そのときのバー/スペースの大きさカウンタはそ
のサーチ・ラインに沿うこの点で0にリセットされる。
4番目のバイトが処理されるとき、3番目のバイトから
の同じ色の後縁ピクセルの数(2)は先行ピクセルと同
じ色の前縁ピクセルの数(5)だけ増加され、7個のピ
クセルからなるそのときのバー/スペースの大きさが生
成される。
【0035】特定の適用例で、指定された最大バー/ス
ペース幅が5ピクセル以上であれば、上述の説明が適用
される。しかしながら、指定された最大バー/スペース
幅が5ピクセルかそれ以下であれば、その場合は特別な
処理を必要とする。例えば、最大バー幅が5ピクセルで
あれば、バイト“10000001”は6ピクセルの幅
のバーに対応する。この状態はそのバイトに対する2つ
のテーブルにおけるエントリを操作することによって処
理できることは当業者には明らかである。例えば、バイ
ト“10000001”に対する両方のテーブルに蓄積
された先行するピクセルと同じ色の前縁ピクセルの数が
6であると記憶されていると、上記の処理はこの特別な
状況を処理する。
【0036】各バイトが処理されると、手段310は遷
移数の実行時カウントが指定されたスレッショルド、例
えば30を超過したか否かを決定する。もし、超過する
と、その場合は候補バーコード・シンボルは認識され、
処理は手段312へ続き、超過しない場合は、処理は手
段306に戻り、バイトを基準とする遷移のカウントを
継続する。
【0037】候補バーコード・シンボルが認識されると
処理は手段312に達する。手段312は、選択された
隣接するサーチ・ラインに沿う手段302乃至310の
バイト基準静止区域のサーチならびに遷移のカウントを
繰り返すことにより候補シンボルを確認(ベリファイ)
する。手段312は、元のサーチ・ラインの両側にある
3つの平行な隣接するサーチ・ラインを選択することが
望ましい。
【0038】最初のサーチ・ラインがイメージの行であ
れば、隣接するサーチ・ラインは2番目、3番目の行で
あることが望ましい。例えば、行40が最初のサーチ・
ラインであるとすると、手段312は6つの隣接するサ
ーチ・ラインとして行31、34、37、43、46お
よび49を選択する。
【0039】手段312は、先ず最初に候補シンボルの
開始に対応する最初のサーチ・ラインに沿うピクセルを
識別することによって機能する。このピクセルは候補静
止区域に続く最初の暗ピクセルである。この最初の暗ピ
クセルに基づいて、手段312は各隣接サーチ・ライン
に対するピクセル・イメージ中の開始列を選択する。左
から右に向かうサーチ・ラインに沿ってサーチが行われ
ると、開始列は少なくとも2つの最少静止区域の長さに
等しい距離だけ最初の暗ピクセルの左に位置決めされ
る。例えば、元のサーチ・ラインに沿う最初の暗ピクセ
ルが列1000であり、また静止区域の最小寸法が32
ピクセルであれば、手段312は各隣接サーチ・ライン
中の列936でサーチを開始する。
【0040】同様に手段312は、最初の暗ピクセルか
ら右方向に最大期待バーコード・シンボルに2つの最小
静止区域を加算した長さに等しい距離だけ移動させるこ
とにより各隣接サーチ・ラインに対する最終列を選択す
る。先の例に続いて、もし最大シンボル長が300ピク
セルであれば、その場合は手段312は、各隣接サーチ
・ラインの列(1000+300+64)すなわち列1
364でサーチを終了する。好ましい実施例では、6つ
の隣接サーチ・ラインの少なくとも3つのサーチ・ライ
ンが同じ候補シンボルを含んでおれば候補バーコード・
シンボルがベリファイされる。隣接サーチ・ラインが同
じ候補シンボルを含むためには、この隣接サーチ・ライ
ン中の第1の黒ピクセルは、元のサーチ・ラインに沿う
最初の黒ピクセルを含んだ列から最小静止区域の2分の
1内の列になければならない。
【0041】サーチ・ラインが列である場合も手段31
2は同様な選択を行うことは当業者には明らかである。
また、隣接サーチ・ラインを選択するこの好ましい処理
はランダムな方位のバーコード・シンボルを有するイメ
ージを処理するようにも設計されていることは理解でき
よう。バイト基準静止区域サーチおよび遷移のカウント
はバイト当たり8ビット(すなわち、ピクセル)以外の
ビットを有するシステムにおいても実行できることは当
業者であれば理解できるところである。
【0042】ここで再び図2を参照すると、バーコード
・シンボルの位置が求められ、ベリファイされると、シ
ンボル・ロケータ104の手段206はをコーナ・ロケ
ータ208に処理を指令し、それ以外の場合は処理は手
段214に続く。
【0043】本明細書のこの節で説明されているピクセ
ル・イメージにおけるバーコード・シンボルのバイト基
準サーチの特定の実施例は、2進ピクセル・イメージの
みの処理に関連している。本明細書中で開示されている
システム100の特徴は2進ピクセル・イメージあるい
はグレー・スケール・ピクセル・イメージのいずれの処
理にも適用できることは当業者には明らかである。
【0044】(バーコード・シンボルのコーナの位置を
求める)シンボル・ロケータ104のコーナ・ロケータ
208は手段204によって位置が求められたバーコー
ド・シンボルの4隅の位置を求める。コーナ・ロケータ
208は手段206から元のサーチ・ラインに沿う最初
の暗ピクセルの座標を受取り、コーナ発見アルゴリズム
を実行する。好ましい実施例では、ロケータ208によ
て実行されるコーナ発見アルゴリズムは、米国特許出願
第07/927,910号の「バーコード・シンボルの4隅の位置
を求める(Locating the Four Corners ofBar Code Sym
bol)」というタイトルの節、およびこの節に後続する
3つの節で開示されているアルゴリズムと同様である。
ここではその開示内容全体を参照している。
【0045】次に図4を参照する。ここには手段204
によって位置が求められたバーコード・シンボル400
のイメージが示されている。ここで、ピクセル402は
元のサーチ・ラインに沿う最初の暗ピクセルである。米
国特許出願第07/927,910号に開示されている
コーナ発見アルゴリズムを簡単に説明すると、次のステ
ップからなる。 (1)バー410の終端が検出されるまで最初の暗ピク
セル402からバーコード・シンボル400の先頭バー
410の外側端406に沿って時計方向にゆっくりと進
める(crawling)。指定されたスレッショルド
以上の進行方向の変化としてバーの終端が検出される。
このような変化はラインに沿うよりもむしろコーナを廻
る進行に対応する。このステップによりシンボル400
の左上コーナ408の位置が求められる。 (2)シンボル400の左下コーナ426の位置を求め
るために先頭バー410に沿って反時計方向にゆっくり
と進める。 (3)コーナ408および426から決定されたシンボ
ル400を横切って先頭バー410の中心ピクセル40
4から垂直線412を投影する。 (4)中心ピクセル404から開始して、シンボル40
0の最端部における静止区域418に向けて垂直線41
2に沿って左から右へサーチを行なう。 (5)シンボル400の最端部における最後の暗ピクセ
ル420に対する静止区域418より開始して右から左
に向けて垂直線412に沿ってサーチを行なう。 (6)シンボル400の右上コーナ416の位置を求め
るために終端バー414の外側端422に沿って反時計
方向にゆっくりと進める。 (7)シンボル400の右下コーナ424の位置を求め
るために終端バー414に沿って時計方向にゆっくりと
進める。
【0046】米国特許出願第07/927,910号に開示されて
いるコーナ発見アルゴリズムの上記7つのステップに加
えて、上記米国特許出願には開示されていない次の追加
ステップを実行することによって位置が求められたコー
ナの精度をベリファイすることが望ましい。 (8) 最初の暗ピクセル402とコーナ408によって
特定されたライン・セグメントと最初の暗ピクセル40
2とコーナ426によって特定されたライン・セグメン
トが充分に共直線(co-linear )であることをベリファ
イする。 (9) 最後の暗ピクセル420とコーナ416によって
特定されたライン・セグメントと最後の暗ピクセル42
0とコーナ424とによって特定されたライン・セグメ
ントが充分に共直線(co-linear )であることをベリフ
ァイする。 (10) コーナ408と426によって特定されたライン
・セグメントと、コーナ416と424によって特定さ
れたライン・セグメントが充分に平行であることをベリ
ファイする。
【0047】ステップ(8) 、(9) 、あるいは(10)におけ
る関連するライン・セグメントが充分に平行でなけれ
ば、候補バーコード・シンボルは拒絶される。それぞれ
の傾斜の間の差が指定されたスレッショルド内であれ
ば、2本のライン・セグメントは充分に平行である。ス
テップ(8) および(9) の関連するライン・セグメントが
共通の点(すなわち、それぞれ最初の暗ピクセル402
および最後の暗ピクセル420)を共有しているので、
平行関係の試験は共直線性(co-linearity)に対する試
験と等価である。好ましい実施例では、コーナ・ロケー
タ208は、バーコード・シンボル400の4つの位置
が求められたコーナ408、426、416、および4
24のピクセル・イメージにおける(行、列の)座標を
決定する。
【0048】(位置が求められたシンボルの“平方
化”)コーナ・ロケータ208がバーコード・シンボル
に対する4隅の位置を求めると、手段210は4隅の少
なくとも1つの位置を修正する。コーナ・ロケータ20
8によって選択された4隅は四辺形を特定する。しかし
ながら、バーコード・シンボルは理想的には長方形、す
なわち特定の形式の四辺形によって特定される。1ある
いはそれ以上の理由で、コーナ・ロケータ208によっ
て識別される4隅によって特定される四辺形は長方形で
ない場合がある。
【0049】例えば、先頭端あるいは後端のバーがイメ
ージ中で2あるいはそれ以上のセグメントに分断されて
おれば、位置が求められた四辺形の一方の側は反対側よ
りも短くなることがある。ランレングス・コード化(符
号化)ファクシミリ転送におけるライン・ノイズにより
バー中にこのような分断を生じさせる可能性がある。こ
のようなライン・ノイズによりバーに延長した線を生じ
させることもある。いずれの場合もコーナの位置決定は
不正確になる。この他にイメージ化されたバーコード・
シンボルを含む実際のラベルは物理的に損傷を受けて、
バーが不完全になることがある。
【0050】図5を参照すると、同図には最後のバーが
2つの部分に分断されているバーコード・シンボルのイ
メージが示されている。コーナ・ロケータ208は、そ
れぞれ座標(Xa、Ya)、(Xb、Yb)、(Xc、
Yc)、(Xd、Yd)をもったコーナA、B、C、D
の位置を求める。手段210は、他の4つの位置が求め
られたコーナの少なくとも2個のコーナに基づいて“最
適の”長方形を構成することによって位置が求められた
コーナのうちの少なくとも1つの位置を修正する。
【0051】手段210は、4隅の各々について誤差値
Eを計算する。例えば、コーナBについては誤差値Eb
は次の(1)式によって決定される。
【数1】 ここで、ACはコーナAとCとの間の距離であり、AB
はコーナAとBとの間の距離であり、BCはコーナBと
Cとの間の距離である。コーナBにおける90°(直
角)からのずれが大きくなればなるほど誤差値Ebは大
きくなる。同じ式を使うことにより、手段210はコー
ナA、CおよびDに対するそれぞれの誤差値Ea、E
c、およびEdを計算することもできる。
【0052】手段210は修正すべきコーナとして最大
の誤差をもったコーナを選択する。図5のシンボルにつ
いて云えば、4つの誤差値のうちで誤差値Ebが最大
で、手段210は修正のためにコーナBを選択する。コ
ーナBに対する修正された位置は、式(1)の誤差値が
0である座標(Xb′、Yb′)によって特定される。
通常式(1)を解くには2つの特別な解法がある。手段
210は最初に位置が求められたコーナに最も近い解を
選択する。
【0053】手段210は少なくとも2つのコーナの位
置を修正するために使用できることは当業者にとっては
自明のことである。この場合、先の例と同様に、手段2
10はコーナBの位置を修正するためにコーナAおよび
Cを使用し、また必要があれば、式(1)と等価な式を
使って、コーナDの位置を修正するためにコーナAおよ
びCを使用することもできる。一般には、手段210は
対角線方向の任意の2つのコーナを、残る2つのコーナ
を使用して修正することができる。
【0054】1あるいはそれ以上のコーナの位置を修正
するための他の方法もこの発明の範囲内にあることは当
業者には明らかである。これらの別の方法は長方形(す
なわち、理想的なバーコード・シンボルの形状)につい
ての次の1あるいはそれ以上の特性を拠り所としてい
る。 ◎ 長方形の対辺は平行である。 ◎ 対辺の長さは等しい。 ◎ 2つの対角線の長さは等しい。 ◎ コーナの角度は90°である。 ◎ 対角線と対応する各辺はピタゴラスの定理を満足す
る。
【0055】さらに、手段210は、平方化されたバー
コード・シンボルの寸法と形状は指定されたスレッショ
ルド内にあることをベリファイするために幾何学的試験
を実行することが望ましい。これらの幾何学的試験はシ
ンボルの4隅の相対的位置に基づくものである。
【0056】手段210がシンボルを平方化したのち、
手段212は、“修正された”シンボルの4隅の(行、
列)の座標を図1のコンポジット信号発生器106およ
び傾斜(グレイディエント)基準信号発生器112に転
送する。次いで、そのときのサーチ・ラインの終端に到
達したか否かを決定するためにシンボル・ロケータ10
4の処理は手段214に引き継がれる。もし、終端に到
達したことが決定されると、処理は手段202に戻り、
新しいサーチ・ラインを選択する。終端に達したことが
決定されない場合は、処理は手段204に戻り、そのと
きのサーチ・ラインに沿ってサーチが継続される。指定
されたサーチ・ラインのシーケンスが枯渇するか、ある
いは何らかの他の停止条件が満足されるまでシンボル・
ロケータ104はバーコード・シンボルの位置を求める
ことが継続して行われる。
【0057】(バーコード・シンボルのコンポジット信
号を発生させるための低速法)次に図6を参照する。同
図にはコンポジット信号発生器600によって実行され
る低速法のフローチャートがブロックの形で示されてい
る。コンポジット信号発生器600は図1に示すシステ
ム100のコンポジット信号発生器106の好ましい実
施例である。ここでは、発生器600はバーコード・シ
ンボルのコンポジット信号を発生するための低速法を実
行するように設計されている。低速法の好ましい実施例
によれば、バーコード・シンボルは多数の走査線に沿っ
て走査される。
【0058】走査線はシンボル・ロケータ104によっ
て決定されるシンボルのコーナから決定される。コンポ
ジット信号を発生させるための低速法に対しては、各走
査線はシンボルのバーおよびスペースに対して平行であ
る。さらに、連続する走査線は1ピクセル幅以下の距離
だけ互に離れている。バーコード・シンボルがピクセル
・イメージの行および列と整列していないときは、走査
線はイメージの行および列に対応していない。従って、
コンポジット信号を発生させるための低速法の走査線は
一般にはシンボル・ロケータ104によって使用される
“走査線”と異なっており、常にピクセル・イメージ中
の行あるいは列のいずれかに対応している。
【0059】各走査線に対して、発生器600は走査線
に沿うピクセルの強度を平均して、1次元のコンポジッ
ト信号中のピクセルを発生する。連続する走査線間の距
離を1ピクセル以下にすることによて、発生器600は
コンポジット信号を発生するときにピクセル・イメージ
を過サンプリングする。
【0060】次に図7を参照する。同図にはコンポジッ
ト信号発生器600によって処理されるバーコード・シ
ンボル700のイメージが示されている。発生器600
はシンボル・ロケータ104から供給されるコーナ70
2、704、706、および708の座標を受信する。
シンボルのバーの端部における共通のサンプリング誤差
を回避するために、発生器600はコーナ712、71
4、716、および718によって特定されるサンプル
の長方形710を識別する。サンプルの長方形710の
輪郭は、シンボル700の頂部よりも僅かに低く(例え
ば、約3%)、シンボル700の底部よりも僅かに高く
(例えば、約3%)、さらにシンボル700よりも僅か
に長く(例えば、指定された距離だけ静止区域に入り込
む)設定されている。次いで、各走査線の長さはサンプ
ルの長方形710の境界によって特定され、その結果、
各走査線(定義によってシンボル700のバーとスペー
スに平行である)はシンボル700の底部の上と頂部の
下で開始する。
【0061】再び図6を参照すると、コンポジット信号
発生器600の手段602はサンプルの長方形710に
基づいて一連の平行な走査線を選択する。手段602は
サンプルの長方形710の一端におけるコーナ712お
よび718によって特定される走査線で開始し、先行す
る走査線からピクセルの幅よりも短い指定された距離だ
けサンプルの長方形710の他端に向けてシフトするこ
とにより各新しい走査線を選択する。
【0062】次に図8を参照する。これにはバーコード
・シンボルの一部がその上に重畳された何本かの走査線
802と共に示されている。各走査線802に対して、
手段604は現在選択された走査線に沿ってシンボル・
イメージを走査し、手段606はその走査線に沿って存
在するピクセルの平均ピクセル強度値を発生する。手段
608は1次元コンポジット信号中のピクセルとしてそ
の平均値を保存する。手段610はそのときの走査線が
最後の走査線であるか否か、すなわちコーナ714およ
び716によって特定されるサンプルの長方形710の
反対側の端部に到達したか否かを決定する。もし最後の
走査線でなければ、処理は次の走査線を選択するために
手段602に戻る。最後の走査線であれば、手段612
は完全なコンポジット信号をシステム100のコンポジ
ット信号スレッショルダ108に転送して別の処理を施
す。スレッショルダ108の処理については図11を参
照して、本明細書中で後程詳細に説明する。
【0063】(バーコード・シンボルのコンポジット信
号を発生する高速法)次に図9を参照する。これにはコ
ンポジット信号発生器900によって実行される高速法
のフローチャートがブロックの形で示されている。コン
ポジット信号発生器900は図1に示されたシステム1
00のコンポジット信号発生器106の好ましい実施例
である。この発生器900はバーコード・シンボルのコ
ンポジット信号を発生するための高速法を実行するよう
に設計されている。この高速法は図6、7、および8を
参照して本明細書中で先に説明した低速法に代わるもの
である。
【0064】高速法の好ましい実施例によれば、発生器
900はバーコード・シンボルと交わるピクセル・イメ
ージ中の行/列から1組の走査線を選択する。この高速
法では、走査線は常にピクセル・イメージの行あるいは
列のいずれかに対応していることに注目する必要があ
る。図6に関して本明細書中で先に説明したように、低
速法では走査線はピクセル・イメージの行あるいは列と
一致している必要はないし、また一般に上記ピクセル・
イメージの行あるいは列と一致していない。
【0065】各走査線に対して発生器900は走査線デ
ータを回転させ、引伸ばす。引伸ばされ且つ回転された
データを使用して、発生器900は1次元コンポジット
・ベクトルならびに1次元カウント・ベクトルを更新す
る。すべての選択された走査線が処理されると、発生器
900は1次元ベクトルを“規格化”して、バーコード
・シンボルに対する1次元コンポジット信号を生成す
る。
【0066】次に図10を参照する。図10は、その上
に重畳されたコンポジット信号を発生させるための高速
法を実行するためにコンポジット信号発生器900によ
って使用される走査線1〜6を有する図7のバーコード
・シンボルのイメージが示されている。手段902は一
連の走査線を選択する。図10に示すように、各走査線
はバーコード・シンボルと交わっており、ピクセル・イ
メージの行(あるいは列)の一部となっている。手段9
02はバーコード・シンボルと交わるすべての行(ある
いは列)を選択する必要はない。従って、連続する走査
線は1ピクセル以上離れていることがある。さらに、走
査線は全バーコード・シンボルと交わっている必要はな
い。例えば、図10で走査線3と4のみが全シンボルと
交わっている。
【0067】手段904はそのときの各走査線からのデ
ータを回転させ且つ引伸ばす。手段904が走査線デー
タを回転させる角度は、シンボル・ロケータ104によ
って識別されたシンボルの4隅によって示されるバーコ
ード・シンボルの方位によって指示される。このような
回転はバーコード・シンボルのバーを回転されたイメー
ジの列(あるいは行)と実効的に一致させることは当業
者には理解できることである。
【0068】手段904が走査線データを引伸ばす程度
は過サンプリング率、特定されたパラメータ値、例えば
3によって決定される。高速法でデータを引伸ばすこと
はピクセルの分数分に相当する距離だけ離れた低速法に
おける走査線の選択と同様である。高速法、低速法共元
のピクセル・イメージのデータを過サンプリングするよ
うに設計されている。
【0069】表2乃至6はコンポジット信号発生器90
0によって実行される処理の一例を表わしている。これ
らの表による説明の目的は発生器900によって実行さ
れる処理を表わすものであり、必ずしも実際の状況を表
わすことを意図したものではない。表3、4、および5
におけるリスト(I) 、(J) 、(K) 、および(L) は図15
および傾斜信号発生器112を参照して本明細書中で後
程詳細に説明する。
【0070】表2はグレー・スケールのピクセル・イメ
ージの3本の走査線に対する元のピクセルの強度データ
を含み、走査線#1はイメージの行0に対応し、走査線
#2は行1に対応し、走査線#3は行4に対応する。こ
の例では、ピクセル強度値が高くなればなるほどピクセ
ルは明るくなる。表2の各走査線はピクセル・イメージ
の列0で開始し、列9で終了する。従って、例えば(行
=2)で(列=5)におけるピクセルの強度は3であ
る。この例では、シンボル・ロケータ104によって位
置が求められた4個のコーナに基づいて決定され、バー
コード・シンボルはイメージの行に対して反時計方向に
45°の角度の方向に位置している。
【0071】
【表2】
【0072】表3は走査線#1(行0)を処理する発生
器900により得られた結果を表わす。表3のリスト
(A)は走査線#1に沿うピクセル・イメージ中の各ピ
クセルに対する元の列番号を含んでいる。リスト(B)
は元の各ピクセルの強度を含んでいる。リスト(C)
は、手段904が元の各ピクセルをθ°だけ回転させた
のちの回転された列番号を表わす数値(実際の値)を含
んでいる。この例では、θは45°である。回転された
列数値Cr は次の(2)式によって表わされる。
【0073】
【数2】 Cr =C0cosθ+R0sinθ (2) ここで、C0 はピクセル・イメージ中の元の列数値であ
り、R0 は元の行数値である。
【0074】
【表3】
【0075】表3のリスト(D)は手段904が各回転
されたピクセルを過サンプリング率だけ引伸ばしたの
ち、引伸ばされた列番号を表わす数値(実際の数値)を
含んでいる。この例は過サンプリング率3に基づいてい
る。リスト(D)はリスト(C)と過サンプリング率
(この例では3)の積を表わしている。リスト(E)は
手段904によって発生された引伸ばされ且つ回転され
たデータに対する丸められた(四捨五入された)列番号
を表わす数値(整数値)を含んでいる。例えば、リスト
(D)からの引伸ばされた列8.49はリスト(E)で
は丸められて、丸められた列8になっている。同様に、
リスト(D)からの引伸ばされた列10.61はリスト
(E)では丸められて、丸められた列11になってい
る。リスト(E)にはまた丸められた列相互間に入る列
番号が含まれている。従って、列7は丸められた列6と
8との間にあり、列9と10は丸められた列8と11と
の間にある。次の説明の都合上、リスト(E)のすべて
要素は全体を丸められた列として表わしている。
【0076】リスト(F)はリスト(E)における各丸
められた列に対する強度値を含んでいる。リスト(E)
の各丸められた列に対して手段904は、それに対応す
るリスト(A)の元の列からの強度値を繰り返す。例え
ば、リスト(E)の丸められた列6および7はリスト
(A)の列3に対応し、従って、これらの丸められた列
に対するリスト(F)の対応する強度は21となる。
【0077】別の好ましい実施例では、手段904はリ
スト(F)における強度値を決定するために丸められた
列相互間を補間する。この実施例では、リスト(E)の
丸められた列7に対応するリスト(F)の強度は21.
5で、リスト(E)の丸められた列6と8に対応する強
度の中間値である。
【0078】手段904によって実行される回転および
引伸ばしは、マトリックス乗算に基づく1回の計算で行
われる。この場合、回転マトリックスは過サンプリング
率を含むように修正される。
【0079】手段904が各走査線に対するデータを回
転させ、引伸ばすと、手段906は1次元コンポジット
・ベクトルを更新し、手段908は引伸ばされ、回転さ
れたデータに基づく1次元カウント・ベクトルを更新す
る。コンポジット・ベクトルは先に引伸ばされ、回転さ
れたすべての走査線の“合計”を表わす。カウント・ベ
クトルは、コンポジット・ベクトルの各要素が何回更新
されたかの経過(トラック)を保持する。ここで再び表
3の例を参照すると、リスト(G)はコンポジット・ベ
クトルを示し、リスト(H)は走査線#1が処理された
のちのカウント・ベクトルを表わしている。
【0080】手段908がカウント・ベクトルを更新し
たのち、手段910はそのときの走査線が処理されるべ
き最後の走査線であるか否かを決定する。それが最後の
走査線であれば、処理は手段912へ続き、そうでない
場合は処理は手段902に戻り、次の走査線を選択す
る。表2の例では行0(すなわち、走査線#1)は最後
の走査線でなないので、手段910は新しい走査線とし
て行2を選択するように処理を手段902に戻すように
命令する。
【0081】表4は表2の走査線#2(行2)を処理す
る発生器900から得られた結果を表わしている。表4
のリスト(A)乃至(H)は表3のそれと同じである。
手段906は先のコンポジット・ベクトル(表3のリス
ト(G))からのピクセル値と表4のリスト(F)から
の対応する強度値とを加え合わせることによって更新さ
れたコンポジット・ベクトル(表4のリスト(G))を
形成する。手段908は、更新されたリスト(G)のコ
ンポジット・ベクトルの要素に対応するこれらの要素
増加(インクリメント)させることによりリスト(H)
のカウントベクトルを更新する。
【0082】
【表4】
【0083】走査線#2からの引伸ばされ、回転された
データのいずれもが丸められた列0〜3と一致していな
いが、幾つかのデータは新しい丸められた列21〜24
と一致していることが判る。その結果、コンポジット・
ベクトルの幾つかの要素は更新されない。カウント・ベ
クトルはコンポジット・ベクトルの各要素が何回更新さ
れたかの経過(トラック)を保持するために使用され
る。コンポジット・ベクトルおよびカウント・ベクトル
のこの一様でない更新は、すべてのバーコード・シンボ
ルと交わらない走査線、例えば、図10の走査線1を処
理するときにも生ずる。
【0084】走査線#2を処理したのち、手段910は
手段902に戻って処理するよう命令して、表2の最後
の走査線である走査線#3(行4)を選択する。表5は
発生器900が表2の走査線#3(行4)を処理するこ
とによって得られた結果を表わしている。ここでも表5
のリスト(A)乃至(H)は表3および表4のそれと等
価である。
【0085】
【表5】
【0086】走査線#3を処理したのち、手段910は
処理を手段912へ続くように命令する。手段912は
コンポジット・ベクトルを“規格化”して、コンポジッ
ト・ベクトル中の各要素をカウント・ベクトル中の対応
する要素で割算することにより1次元コンポジット信号
を発生する。手段914はこのコンポジット信号をシス
テム100のコンポジット信号スレッショルダ108に
転送する。
【0087】表6は手段912によって発生された1次
元コンポジット信号を表わす。リスト(E)、(G)、
および(H)は表5の対応するリストと同じである。リ
スト(M)はリスト(G)のコンポジット・ベクトルの
要素をリスト(H)のカウント・ベクトルの係数ベクト
ルの対応する要素で割算することにより手段912によ
って発生されたコンポジット信号を表わす。手段914
はリスト(M)のコンポジット信号をスレッショルダ1
08に転送する。
【0088】
【表6】
【0089】(1次元コンポジット信号のスレッショル
ドおよび濾波)次に図11を参照する。同図には、バー
コード・シンボルの1次元コンポジット信号をスレッシ
ョルド処理するためのシステム100のコンポジット信
号スレッショルダ108によって実行される処理のフロ
ーチャートがブロックの形で示されている。コンポジッ
ト信号が図6を参照して本明細書中で先に説明した低速
法を使用して発生器600により発生されたものであろ
うと、図9を参照して本明細書中で先に説明した高速法
を使用して発生器900により発生されたものであろう
と、スレッショルダ108はコンポジット信号を処理す
る。
【0090】スレッショルダ108は、コンポジット信
号をバーコード・シンボルのバーとスペースに対応する
2進値黒(“0”)および白(“1”)にスレッショル
ド処理(閾値分け)する。次いでスレッショルダ108
はスレッショルド処理された信号を濾波してスプリアス
なバーおよびスペースを除去する。次いでスレッショル
ダ108は濾波された信号をコンポジット信号デコーダ
110に転送する。コンポジット信号デコーダ110は
濾波された信号をデコーディング(解読)するのに通常
のバーコード・シンボル・デコーディング法を使用して
いる。
【0091】スレッショルダ108の手段1102は発
生器106から供給されるコンポジット信号をスレッシ
ョルド処理する。手段1102は固定された閾値でスレ
ッショルド処理することを含む任意の通常のスレッショ
ルド・アルゴリズムを使用することができるが、コンポ
ジット信号をスレッショルド処理するためにアダプティ
ブ(適応性)スレッショルドを使用することが好まし
い。
【0092】ここで、再び表6を参照すると、リスト
(N)は固定されたスレッショルド値12を用いてリス
ト(M)のコンポジット信号をスレッショルド処理する
ことによって手段1102で発生された2進信号を表わ
している。コンポジット信号の要素が12より大であれ
ば、対応する2進値は1(白)であり、12以下であれ
ば、対応する2進値は0(黒)である。表2乃至6の例
では、コンポジット信号を発生するための高速法は丸め
られた列12と13との間の明から暗への遷移、丸めら
れた列18と19との間の暗から明への遷移、および丸
められた列27と28との間のその他の明から暗への遷
移を表わしている。これらの遷移はバーコード・シンボ
ル中の端縁部に対応する。
【0093】手段1102はコンポジット信号中の遷移
の位置を求めるためにアダプティブ(適応性)スレッシ
ョルド・アルゴリズムを採用することが好ましい。好ま
しいアダプティブ・スレッショルド・アルゴリズムで
は、手段1102はコンポジット信号中の局部最小強度
値と局部最大強度値との間の遷移の位置を求めるために
使用される閾値を決定するために、上記コンポジット信
号中の局部最小強度値と局部最大強度値とを使用する。
【0094】再び表6を参照すると、第1の局部最大強
度値は丸められた列2および3に対応する23.0であ
り、第1の局部最小強度値は丸められた15および16
に対応する3.7である。この例では、手段1102
は、丸められた列2と丸められた列16との間に供給さ
れるべき閾値として局部最大値と局部最小値の和の2分
の1(0.5×(23.0+3.7))すなわち13.
4を選択する。この閾値を使用して手段1102は丸め
られた12と13との間の明から暗への遷移の位置を求
める。ある特定の状況のもとでは、コンポジット信号中
の2あるいはそれ以上の連続した要素がスレッショルド
値に等しいと、その一連の連続する要素の中央の要素
明/暗の遷移として選択される。
【0095】ノイズの影響を最小にするために、局部最
大値および局部最小値は特定された有効値(significan
t value )の形で定義される。ある局部最大値と次の局
部最小値との間の差が上記の特定された有効値より大き
くなければ、そのときは手段1102はそれらを捨て、
引き続きコンポジット信号中の適正な局部最小ピクセル
と局部最大ピクセルをサーチする。
【0096】例えば、強度値(5、3、6、25、2
2、26、10、4、7)を有するコンポジット信号に
ついて考えてみる。有効値が5であると決定されると仮
定すると、手段1102は左から右に走査して局部最小
値3を見つける。手段1102は走査を続け、局部最大
値25を見つける。局部最大値(25)と局部最小値
(3)との間の差は有効値(5)よりも大であるので、
手段1102はこれらの値を保持する。
【0097】次いで手段1102は走査して次の局部最
小値(22)を見つける。局部最大値(25)と局部最
小値(22)との間の差は有効値(5)よりも大きくは
ないので、手段1102は引き続き適正な局部最小値を
探す。手段1102が適正な局部最小値を探している間
に、手段1102は必要があれば局部最大値を更新す
る。かくして手段1102が次の局部最小値(4)を見
つけるために走査するときは、手段1102は局部最大
値を(26)に更新している。更新された局部最大値
(26)と新しい局部最小値(4)は有効値(5)より
も大であるので、手段1102はこれらのピクセルを適
正な局部最大値、局部最小値として選択する。次いでこ
れらの局部最小値および局部最大値は平均化されて、局
部最大値と局部最小値との間の遷移に相当するピクセル
を発見するために使用される閾値を計算する。有効値が
5ではなく2であれば、25と26はともに局部最大値
と見做されることに注意する必要がある。
【0098】選択された有効値はノイズに対する手段1
102の不感性(immunity)を決定する。有効値が高い
とノイズに対する不感性はかなり大きくなるが、コンポ
ジット信号中の真の明/暗の遷移が失われるという結果
が生じる。これに反して有効値が低いと、ノイズの多い
領域における遷移を誤って認識する可能性がある。有効
値は高すぎるよりも低すぎる方が好ましい。これは後続
する濾波処理によりスプリアスな遷移が取り除かれる可
能性があるが、失われた真の遷移は回復不可能であるこ
とによる。好ましい実施例では、有効値はコンポジット
信号内の全体の最小値と最大値とによって特定される上
記コンポジット信号のダイナミック・レンジの分数(例
えば、8分の1)を基準としている。
【0099】次に図12および13を参照する。これら
の図にはノイズの多いコンポジット信号をスレッショル
ド処理するのに比較的低い有効値を使用したことにより
生ずる可能性のあるスプリアスな明/暗の遷移の2つの
共通した例が示されている。図12は単一のスペースで
あるべきところにあるスプリアス・バー1の2進表示を
表わしている。図13は1個のスペースと1個のバーの
みが存在すべきところにあるスプリアス・バー1あるい
はスプリアス・スペース2のいずれかの2進表示を表わ
している。
【0100】手段1104はスプリアス・バーおよびス
ペースを除去するためにスレッショルド処理されたコン
ポジット信号を濾波する。スプリアス・バー/スペース
はあまりに狭く、デコードされるバーコード・シンボル
の既知の特性によって決定される有効であるとされない
ものである。閾値は、デコードされる特定のシンボルに
おける最小のバーおよびスペースの幅のある分数値(例
えば2分の1)を基準として設定されている。バーある
いはスペースが指定されたスレッショルドよりも狭い
と、そのスペース/バーは除かれる。図12で、バー1
は狭すぎて有効とされないので、手段1104はスプリ
アス・バー1を除去して単一のスペースを生成する。
【0101】図13において、バー1およびスペース2
は共に適用できるスレッショルド以下である。この場合
は、手段1104は隣接するバー/スペースを合体させ
ることによって2つのうちの狭い方を除去する。バー1
がスペース2よりも狭いと、その場合は、手段1104
はバー1を除去して点4で終了する単一のスペースを生
成する。しかしながら、バー1がスペース2よりも狭く
なければ、その場合は手段1104はスペース2を除去
して点3で終了する単一のスペースを生成する。
【0102】再び図11を参照すると、手段1104が
スレッショルド処理された信号を濾波したのち、手段1
106は濾波された信号をコンポジット信号デコーダ1
10に転送し、デコーダ110は通常のバーシンボル・
デコード手段を用いて濾波された信号をデコードする。
【0103】 (コンポジット信号のデコーディング(解読)) コンポジット信号デコーダ110は、通常のバーコード
・シンボル・デコーディング法を用いてスレッショルダ
108によって発生された濾波されたコンポジット信号
をデコードする。デコーダ110は、コード128、コ
ード39、インタリーブされた2オブ5コード(2of
5)(即ちITF)のような任意所望のシンボルをデコ
ードすることができる。
【0104】コード128バーコード・シンボルをデコ
ードする場合は、デコーダ110は、米国特許出願第07
/927,910号明細書中の「サブピクセル補間により得られ
た結果からのキャラクタ選択の決定(Determining Char
acter Choices from Subpixel Interpolation Resul
t)」という節に記載の標準のライクエッジ−ライクエ
ッジ(like edge to like edge)測定を行なう。上記米
国特許出願明細書の開示内容については本明細書中で参
照されている。デコーダ110は標準のt1、t2、t
3およびt4の値を計算し、マッピングテーブル(mapp
ing-table )を走査し、コード128の3組のキャラク
タすべてのデコーディングを維持するためにコード12
8のチェックサム計算を実行する。
【0105】次に図14を参照する。これにはコード3
9バーコード・シンボルをデコードするためにシステム
100のコンポジット信号デコーダ110によって実行
される処理のフローチャートがブロック図の形で示され
ている。コード39シンボルは5個のバーと4個のスペ
ースをもったキャラクタを基準としたものである。コー
ド39では、3個のバー/スペースは広くなければなら
ず、他の6個のバー/スペースは狭くなければならな
い。さらに、コード39キャラクタは2個の広いバーと
1個の広いスペース、あるいは3個の広いスペースのい
ずれかをもっていなければならない。正確に0、2、あ
るいは4個の広いスペースをもったキャラクタは有効な
コード39のキャラクタではない。
【0106】同様に、そのキャラクタが正確に1個の広
いスペースをもっているが、正確に2個の広いバーをも
っていなければ、そのキャラクタは有効なコード39の
キャラクタではない。コード39バーコード・シンボル
をデコードするときに、デコーダ110はバーコード・
シンボルの5個のバーと4個のスペースを一度に検査
し、それらを広い、狭いと分類し、そのキャラクタをル
ックアップ・テーブルを参照してデコードする。
【0107】コード39のキャラクタをデコードするた
めに、デコーダ110は先ずそのキャラクタの4個のス
ペースを解析する。図14の手段1402はキャラクタ
に対するスペース幅スレッショルドを計算する。この場
合、スペース幅スレッショルドはそのキャラクタの最も
広いスペースの幅と最も狭いスペースの幅との平均であ
る。
【0108】手段1404は各スペースの幅をスペース
スレッショルドと比較することによって4個のスペー
スの各々が広いか狭いかを決定する。手段1404は、
その幅がスペース幅スレッショルドよりも大であれば、
スペースは広いと分類し、それ以外の場合はそのスペー
スは狭いと分類する。
【0109】手段1404が3個のスペースを広いと分
類し、1個のスペースを狭いと分類すると、手段140
6はキャラクタをデコードするために、手段1416に
処理を指示し、それ以外の場合は処理を後続する手段1
408に実行させる。デコーダ110が3個の広いスペ
ースと1個の狭いスペースが存在すると決定すると、デ
コーダ110は5個のバーすべてが狭いと仮定し、キャ
ラクタは有効なコード39キャラクタであると仮定す
る。
【0110】手段1404が1個のスペースが広く、3
個のスペースが狭いと分類すると、手段1408は手段
1410に処理を指示し、それ以外の場合はキャラクタ
はデコードされない。デコーダ110が、正確に1ある
いは3個の広いスペースが存在しないと決定すると、キ
ャラクタは有効なコード39キャラクタではなく、有効
なコード39キャラクタとしてデコードすることができ
ない。
【0111】デコーダ110が、3個の狭いスペースと
1個の広いスペースが存在すると決定すると、デコーダ
110はキャラクタの5個のバーを分析する。手段14
10はキャラクタに対するバー幅のスレッショルドを計
算する。ここで、バー幅のスレッショルドはそのキャラ
クタ中の最も広いバーの幅と最も狭いバーの幅の平均で
ある。
【0112】手段1412は各バーの幅をバー幅のスレ
ッショルドと比較することにより5個のバーの各々を広
いバーと狭いバーに分類する。そのバーがバー幅のスレ
ッショルドよりも大であると広いバーと分類し、それ以
外の場合は狭いバーと分類する。
【0113】手段1412が2個のバーが広く、3個の
バーが狭いと分類すると、手段1414はキャラクタを
デコードするために手段1416に処理を指示し、それ
以外の場合はキャラクタは有効なコード39キャラクタ
ではなく、有効なコード39キャラクタとしてデコード
することができない。もし、正確に1個の広いスペース
が存在すると決定されたのちデコーダ110が2個の広
いバーと3個の狭いバーが存在すると決定すると、デコ
ーダ110はそのキャラクタは有効なコード39のキャ
ラクタであると仮定する。
【0114】コード39キャラクタの3個の広いバー/
スペースと6個の狭いバー/スペースの位置を順次に求
めたのち、手段1416は、手段1404と1412に
よって識別された一連の広いバーおよびスペース、一連
の狭いバーおよびスペースを使用して適正な英数字キャ
ラクタ用のコード39ルックアップ・テーブルをサーチ
することによりキャラクタをデコードする。好ましい実
施例では、デコーダ110はコード39のチェックサム
解析を実行する。
【0115】図14の好ましい実施例では、デコーダ1
10は、スペース分類用のスレッショルドとバー分類用
のスレッショルドの2つの異なる幅スレッショルドをそ
れぞれ別々に計算することによってバーとスペースの幅
を分析する。デコーダ110はスペース用およびバー用
のこれらの異なる幅スレッショルドを使用してピクセル
・イメージのにじみ(bleeding)により生ずる可能性の
あるデコーディング・エラーを減少させる。
【0116】通常のイメージング・システムを使用して
ピクセル・イメージが生成されたとき、しばしばイメー
ジ中の暗い領域が明るい領域ににじみ出る傾向がある。
このにじみのために、イメージ化されたバーコード・シ
ンボル中のバーは真のバーコード・シンボル中のバーよ
りも広く見え、スペースは真のバーコード・シンボル中
のスペースよりも狭く見える可能性がある。ときには真
の狭いバー(すなわち、真のバーコード・シンボル中の
狭いバー)はピクセル・イメージ中で真の広いスペース
よりも広く見えることさえある。バーおよびスペースの
幅に関するこのような明らかな変化によりバーコード・
シンボルのデコードにエラーが導入されることがある。
例えば、コード39シンボルをデコードするときは、ピ
クセル・イメージのにじみにより生ずるデコーディング
・エラーを減少させるために、デコーダ110は異なる
幅のスレッショルドを個別に使用してバーとスペースを
分類することが望ましい。
【0117】にじみの影響を修正するためのバーコード
・シンボル中のバーおよびスペースのこの個々の分類は
コード39シンボル以外のシンボルをデコードするのに
も使用できることは当業者には明らかである。
【0118】例えば、デコーダ110はインターリーブ
されたI2オブ5(I2 of 5)バーコード・シン
ボルをデコードするためにバーおよびスペースの個々の
分類を使用するのが望ましい。I2オブ5キャラクタで
は、5個のバーと5個のスペースが2個の十進数字をエ
ンコード(符号化)する。バーは第1の数字をエンコー
ドし、スペースは第2の数字をエンコードする。各数字
は2個の広いバー(あるいはスペース)と3個の狭いバ
ー(あるいはスペース)で表わされる。コード39シン
ボルに対してデコーダ110によって実行される個別の
分類技法と同様に、デコーダ110は一度にI2オブ5
(I2 of 5)シンボルの13個のバーとスペース
とを受け入れて、バーおよびスペースを個別に分類する
ことによりそれらを狭いあるいは広いと分類する。その
結果、各ビットが対応するバー/スペースの幅を表わす
13ビット値が得られる。
【0119】次いでデコーダ110はI2オブ5(I2
of 5)ルックアップ・テーブルを、バーのサーチ
に1回、スペースのサーチに1回の合計2回サーチす
る。デコーダ110はテーブルのルックアップ期間中、
最初の10個のバー/スペース(上の10ビット)のみ
を使用する。他の3ビットはI2オブ5のストップ・パ
ターンに対応する。最後の3ビットが有効ストップ・パ
ターン(広いバー、狭いスペース、広いバー)であれ
ば、デコーディングは終了する。それ以外の場合は、他
の13個のバーおよびスペースが分析される。この場
合、最初の3個のバーとスペースは先行するリストから
の最後の3個のバーとスペースである。デコーダ110
はまたI2オブ5のチェックサム分析を実行することが
望ましい。
【0120】スレッショルド処理されたコンポジット信
号をデコードしたのち、デコーダ110はデコードされ
た信号をシステム100の出力セレクタ118に転送す
る。
【0121】(バーコード・シンボル用の傾斜(gradie
nt)信号の発生)次に図15を参照する。同図にはシン
ボル・ロケータ104によって位置が求められたバーコ
ード・シンボルに対する白色化(whitening )傾斜信号
および黒色化(blackening)傾斜信号を発生させるため
にシステム100の傾斜信号発生器112によって実行
される処理のフローチャートがブロック図の形で示され
ている。傾斜信号はバーコード・シンボル中のバーとス
ペースとの間の遷移(すなわち、バーの先端部と後端
部)を発見するために使用される。
【0122】好ましい実施例では、発生器112はバー
コード・シンボルと交わるピクセル・イメージ中の行あ
るいは列の組からの走査線を選択する。これらの走査線
は、図9を参照して本明細書中で先に説明したコンポジ
ット信号を発生させるための高速法用に選択された走査
線と同じ走査線であることが好ましい。
【0123】各走査線に対して発生器112は走査線デ
ータを回転させ、引伸ばし、2個の1次元傾斜ベクト
ル、すなわち白色化傾斜ベクトルと黒色化傾斜ベクト
ル、ならびに引伸ばされ且つ回転されたデータに基づく
1次元カウント・ベクトルを更新する。選択されたすべ
ての走査線が処理されると、発生器112は2個の傾斜
ベクトルを規格化して白色化および黒色化傾斜ベクトル
を発生し、これらの傾斜信号を平滑し、平滑された傾斜
信号をさらに処理するために傾斜信号プロセッサ114
に転送する。
【0124】手段1502は一連の走査線を選択する。
手段1502は、図9のコンポジット信号発生器900
の手段902によって選択された走査線と同じ一連の走
査線を選択することが望ましい。手段1504はそのと
き選択された走査線からのデータを回転し、引伸ばす。
手段1504は発生器900の手段904によって実行
される回転および引伸ばし機能と同じ回転および引伸ば
し機能を実行することが望ましい。好ましい実施例で
は、コンポジット信号発生器900と傾斜信号発生器1
12に共通の演算(例えば、走査線の選択、回転、引伸
ばし)は重複を避けるために合体される。
【0125】再び表2の例を参照すると、図9を参照し
て本明細書中で先に説明したように、各走査線に対する
手段1504の処理は手段904により実行される処理
と同じである。表3、4および5のリスト(A)乃至
(F)もまた傾斜信号発生器112の動作を説明するた
めに使用できる。
【0126】手段1504が第1の走査線を回転させ且
つ引伸ばしたのち、手段1506は回転され、引延ばさ
れたデータを使用した白色化および黒色化の傾斜ベクト
ルを更新する。好ましい実施例では、白色化傾斜ベクト
ルはピクセル強度値が増大する方向のすべてのピクセル
−ピクセル変化の大きさを累算する1次元ベクトルであ
る。同様に、黒色化傾斜ベクトルはピクセル強度が減少
する方向のすべてのピクセル−ピクセル間の変化の大き
さを累算する1次元ベクトルである。各傾斜ベクトルに
対して、隣接するイメージ・ピクセル間の差の大きさは
累積され、絶対ピクセル値そのものではない。別の好ま
しい実施例では、白色化および黒色化の傾斜ベクトルは
それらの変化の大きさを累積するのとは対照的に、増加
および減少する各ピクセル−ピクセル間の変化の数を累
積する。
【0127】白色化および黒色化の傾斜はその走査線デ
ータの1次微分の形で特定される。白色化傾斜は0より
大きいこれらの1次微分に対応し、黒色化傾斜は0より
小さいこれらの1次微分の大きさに対応する。
【0128】ここで再び表3を参照する。リスト(I)
は走査線#1に対する白色化傾斜を表わし、リスト
(J)は手段1506が走査線#1を処理したのちの白
色化傾斜ベクトルを表わしている。一般に、白色化傾斜
ベクトルは処理されたすべての走査線に対する対応する
白色化傾斜の合計を表わしている。この例では走査線#
1は処理される最初の走査線であるので、リスト(I)
の白色化傾斜はリスト(J)の白色化傾斜ベクトルと同
じである。
【0129】強度は元のデータにおけるピクセル(0、
0)からピクセル(1、1)までに21から23に増加
するので、丸められた列2および3に対するリスト
(I)中の対応する重みの傾斜は2である。元のイメー
ジ中の先行するピクセルからそのときのピクセルへの変
化が正でなければ、そのときのピクセルに対する白色化
傾斜は存在しない。例えば、元のデータ中のピクセル
(0、1)から(0、2)までに強度は23から22に
減少するので、丸められた列4および5に対するリスト
(I)中の対応する重み傾斜は0である。
【0130】同様に、表3中のリスト(K)は走査線#
1に対する黒色化傾斜を表わしている。例えば、元のデ
ータ中のピクセル(0、4)から(0、5)までに強度
が22から18に減少するので、丸められた列11およ
び12に対する対応する黒色化傾斜は4である。元のイ
メージ中の先行するピクセルからそのときのピクセルへ
の変化が正でなければ、そのときのピクセルに対しては
黒色化の傾斜は存在しない。例えば、元のデータ中のピ
クセル(0、7)から(0、8)までに強度が4から5
に増大するので、丸められた列17および18に対する
対応する黒色化傾斜は0である。表3のリスト(L)は
手段1506が走査線#1を処理したのちの黒色化傾斜
ベクトル(すなわち、累積された黒色化傾斜)を表わし
ている。
【0131】図9を参照して本明細書中で先に説明した
ように、手段1506はコンポジット信号発生器900
の手段908によって発生されたカウント・ベクトルと
同様な1次元カウント・ベクトルを更新する。表3、
4、5中のリスト(H)もまた傾斜信号発生器の説明に
適用できる。
【0132】手段1506がそのときの走査線に対する
傾斜ベクトルおよびカウント・ベクトルの双方を更新し
たのち、手段1508はそのときの走査線がバーコード
・シンボルに対する最後の走査線であるか否かを決定す
る。もし、最後の走査線でなければ、次の走査線を選択
するために処理は手段1510に戻る。最後の走査線で
あれば、処理は手段1510へ進む。
【0133】表2の例では、走査線#1が処理されたの
ち、処理は手段1502に戻って新しい走査線として走
査線#2を選択する。表4は走査線#2の処理結果を表
わしている。表4のリスト(I)および(K)はそれぞ
れ走査線#2に対する白色化および黒色化の傾斜を表わ
す。リスト(J)および(L)は更新された傾斜ベクト
ルを表わす。手段1506は表3の傾斜ベクトルに走査
線#2に対する傾斜を“加算”することにより傾斜ベク
トルを更新する。同様に、表5は走査線#3の処理によ
り得られた結果を表わしている。
【0134】最後の走査線が処理されたのち、手段15
08は手段1510へ処理を指令する。手段1510は
各傾斜ベクトルの要素をカウント・ベクトルの対応する
要素によって割ることにより白色化および黒色化傾斜ベ
クトルを規格化する。
【0135】表7および8はそれぞれ白色化および黒色
化の処理結果を表わしている。表7のリスト(E)、
(H)および(J)、表8のリスト(E)、(H)およ
び(L)は表5の対応するリストと同じである。表7の
リスト(O)はリスト(J)の白色化傾斜ベクトルを規
格化する手段1510から得られた白色化傾斜信号を表
わしている。手段1510はリスト(J)中の対応する
要素をリスト(H)中の対応する要素で割ることにより
リスト(O)中の各要素を決定する。同様に、表8のリ
スト(T)はリスト(L)の黒色化傾斜ベクトルを規格
化する手段1510から得られた黒色化傾斜信号を表わ
している。
【0136】
【表7】
【0137】
【表8】
【0138】手段1510が傾斜ベクトルを規格化した
のち、手段1512は得られた白色化傾斜信号および黒
色化傾斜信号を平滑する。手段1512で使用されてい
る平滑化フィルタは走査線データを引伸ばすために使用
される過サンプリング率に基づくものであることが好ま
しい。表9は異なる過サンプリング率に対する好ましい
フィルタのパラメータを表わす。
【0139】
【表9】
【0140】表7のリスト(P)は過サンプリング率3
に基づくリスト(O)の白色化傾斜信号を平滑して得ら
れた結果を表わしている。過サンプリング率3に対して
は、リスト(P)の平滑された白色化傾斜信号中の各
Sは次の(3)式を使って計算される。
【0141】
【数3】 ここで、W要素に対応するリスト(O)の白色
化傾斜信号中の要素であり、Wi−1はリスト(O)中
の先行要素であり、Wi+1はリスト(O)中の次の
である。同様に、表8のリスト(U)は過サンプリン
グ3に基づくリスト(T)の黒色化傾斜信号を平滑して
得られた結果を示している。
【0142】手段1512が2つの傾斜信号を平滑した
のち、手段1514はシステム100の傾斜信号プロセ
ッサ114に平滑化された傾斜信号を転送する。手段1
512による平滑化は必要に応じて自由に選択される処
理ステップであることは当業者には明らかである。
【0143】(平滑された傾斜信号の処理およびデコー
ディング)次に図16を参照する。同図には発生器11
2によって発生された平滑された白色化傾斜信号および
黒色化傾斜信号を処理するためにシステム100の傾斜
信号プロセッサ114によって実行される処理のフロー
チャートがブロックの形で示されている。白色化および
黒色化傾斜信号は、それぞれバーコード・シンボル中の
暗から明への遷移、明から暗への遷移の位置を表わして
いる。すなわち、これらはそれぞれバーコード・シンボ
ル中のバーの前縁と後縁を表わしている。プロセッサ1
14は傾斜信号中の明/暗の遷移の位置を求め、これら
の遷移位置から1個の1次元の再構成された信号を発生
する。プロセッサ114はこの再構成された信号を傾斜
信号デコーダ116に転送し、デコーダ116は通常の
バーコード・デコーディング法を使用してこの信号をデ
コードする。
【0144】好ましい実施例では、プロセッサ114は
2つの傾斜信号をセグメント化し、信号セグメントの重
心(centroid)を回転させ、その重心位置から単一の2
進信号を再構成する。別の好ましい実施例(図示せず)
では、プロセッサ114は再構成された信号に対する遷
移の位置として2個の傾斜信号のそれぞれのピークを選
択する。
【0145】図16の手段1602は発生器112から
平滑された白色化信号および黒色化信号を受信し、それ
らを個々のセグメントにセグメント化する。各セグメン
トは傾斜信号中の局部最小値で開始し、次の局部最小値
で終了する。従って、各セグメントは1個の局部最大値
を含んでいる。再び表7を参照すると、リスト(Q)は
リスト(P)の平滑された白色化傾斜信号中のセグメン
トを識別する。同様に、表8のリスト(V)はリスト
(U)の黒色化傾斜信号中のセグメントを識別する。
【0146】間違ったセグメント化が行われるのを最少
にするために、手段1602は傾斜信号におけるセグメ
ントを特定する局部最小値を決定するための有効値試験
を使用することが好ましい。ここで使用される有効値試
験は図11を参照して本明細書中で先に説明した有効値
試験と同様なものである。
【0147】手段1602が平滑された傾斜信号をセグ
メント化したのち、手段1604は各セグメントのマス
を決定する。各セグメントのマスはそのセグメントに対
する平滑された傾斜値の和である。表7のリスト(R)
はリスト(Q)で特定された白色化傾斜信号のマスを表
わす。同様に、表8のリスト(W)はリスト(V)で特
定された黒色化傾斜信号のマスを表わす。従って、例え
ば表7におけるセグメント#3は(0.1+0.2+
0.2+0.1)=0.6のマスをもっている。
【0148】手段1604が各セグメントのマスを決定
したのち、手段1606は充分なマスをもったこれらの
セグメントの重み付けられた重心の位置を求める。手段
1606は不充分なマスをもっていることを示す指定さ
れたマスのスレッショルド以下のマスのセグメントを無
視する。このマスのスレッショルドは、過サンプリング
率と元のピクセル・イメージ中の狭いバーあるいはスペ
ースの期待されるマスとの積の分数、例えば8分の1に
等しく設定されていることが好ましい。
【0149】ピクセル・イメージ中のノイズは傾斜信号
中にスプリアスなセグメントを生じさせる可能性があ
る。イメージのノイズがそれほど大きくなければ、スプ
リアスなセグメントは真のセグメントのマス(すなわ
ち、ピクセル・イメージ中の真の明/暗の遷移に相当す
る)よりも一般的に小さないマスをもつようになる。こ
の場合、手段1606はスプリアス・セグメントを“濾
波”して取り除くために使用される。
【0150】表7ではセグメント#1、2、3、および
5は特定されたマスのスレッショルドである20以下の
マスをもっているものとして拒絶される。表8のセグメ
ント#1および3もまた同様にマスのスレッショルド以
下のマスをもつものとして拒絶される。
【0151】小さいマスを有するセグメントを除去した
のち、手段1606は残りのセグメントの重み付けされ
た重心(centroid)の位置を求める。重み付けされたセ
グメントの重心はそのセグメントのマスの指定された割
合に相当するセグメント内の位置である。例えば、50
%を基準とする重み付けされた重心は各セグメントのマ
スの中心に対応する。40%を基準とする重み付けされ
た重心は、マスの40%が左、60%が右のセグメント
内の位置に対応する。
【0152】表7におけるリスト(S)の“1”はセグ
メント#4の重みつけされた重心の位置を指定し、ここ
では50%が選択された重み付けされた重心の割合であ
る。同様に表8のリスト(X)はセグメント#2および
4の重み付けされた重心の位置を指定している。
【0153】別の好ましい実施例(図示せず)では、白
色化および黒色化傾斜セグメントにおける重心の位置を
求めるために異なる重み付けされた重心の割合が使用さ
れる。黒色のバーはバーコード・シンボルのイメージに
おける白のスペース内ににじみでる可能性があるので、
イメージ中でバーは広く見え、スペースは狭く見える。
黒色化重心(blackening-centroid )の割合よりも小さ
い白色化重心(whiteing-centroid )の割合を使用する
ことにより、このようなにじみ効果を修正することがで
きる。正確な重み付けられた重心の割合は、経験的に既
知のバーコード・シンボルのイメージに対して実行され
る試験に基づいて選択される。
【0154】手段1606が白色化および黒色化セグメ
ントの重心の位置を求めたのち、手段1608は、2個
の傾斜信号から重心の位置をインタリーブすることによ
り1個の1次元信号を再構成する。平滑された黒色化傾
斜信号からの各セグメントの重心はバーコード・シンボ
ルのバーの前縁に対応する。同様に、平滑された白色化
傾斜信号からの各セグメントの重心はバーコード・シン
ボルのバーの後縁に対応する。
【0155】表10は、表7および8の白色化および黒
色化セグメントの重心をインタリーブする手段1608
の結果を表わしている。表10のリスト(E)、
(S)、および(X)は、表7および8の対応するリス
トと同じである。表10のリスト(Y)は手段1608
によって発生された1次元の再構成された信号を表わし
ている。表10のリスト(Y)の再構成された信号は表
6のリスト(N)のスレッショルドされた信号と同じ
で、システム100の発生器112とプロセッサ114
による傾斜信号の処理によってシステム100のコンポ
ジット信号処理発生器900とスレッショルダ108と
同じ結果を発生することに注目する必要がある。
【0156】
【表10】
【0157】再構成された信号が2つの連続するバーの
前縁をもっておれば、そのときはバーの後縁は見逃され
るかあるいは別のバー前縁が挿入される。同様に、再構
成された信号が2つの連続するバーの後縁をもっておれ
ば、そのときはバーの前縁は見逃されるかあるいは別の
バー後縁が挿入される。もし、真のバーの縁部が見逃さ
れると、手段1602によって実行されるセグメント化
の処理はさらに小さい傾斜に対してより高感度に行なわ
れる必要がある。もし、スプリアスなバーの縁部が挿入
されると、そのときはセグメント化は、そのセグメント
を誤って2分割することなく傾斜信号中のより大きい変
化に適応するように低い感度で行われる必要がある。セ
グメント化処理の感度は、そのセグメントが充分のマス
をもっているか否か決定するために手段1606で使用
される指定されたマス・スレッショルドを変更すること
によって調整される。
【0158】手段1608が再構成された信号を発生し
たのち手段1610は再構成された信号を傾斜信号デ
コーダ116に転送する。好ましい実施例では、デコー
ダ116の処理は本明細書中の「コンポジット信号のデ
コーディング」というタイトルが付された項で先に説明
したコンポジット信号デコーダ110の処理と同じであ
る。バーコード・シンボルをデコードしたのち、デコー
ダ116はデコードされ信号を出力セレクタ118に転
送する。
【0159】表2の例を参照して本明細書中で先に説明
したように、本発明の好ましい実施例では元のピクセル
強度値は、元の列を回転させ、引伸ばし、さらに丸める
ことによって生成された丸められた列相互間の“ギャッ
プを埋める”ために反復される。別の好ましい実施例
(図示せず)では、元のピクセル強度値は過サンプリン
グ率に従って反復される。
【0160】例えば、過サンプリング率3に対する表3
を参照する。システム100は、丸められた列0、1、
および2に対応するコンポジット・ベクトルの要素を更
新するためにピクセル(0、0)の強度値が3回使用さ
れるように元のピクセル(0、0)を回転し、引伸ば
す。同様にシステム100は、丸められた列2、3、お
よび4に対応するコンポジット・ベクトルの要素を更新
するためにピクセル(0、1)の強度値が3回使用され
るように元のピクセル(0、1)を回転し、引伸ばす。
【0161】走査線1の元のピクセル(0、0)および
(0、1)の双方の強度値が、丸められた列2に対応す
るコンポジット・ベクトルの要素を更新するために使用
されることに注意する必要がある。従って、この好まし
い実施例では、丸められた列相互間の“ギャップを埋め
る”代わりに過サンプリング率に従って元のピクセルが
反復され、“オーバーラッピング(overlappi
ng:重複)”が生ずる。この例では、丸められた列2
に対応するカウント・ベクトルの要素はこのオーバーラ
ッピング効果を反映するために2回反復される。
【0162】システム100はハードウエアあるいはソ
フトウエアの形で構成することができ、またハードウエ
アとソフトウエアの組合わせの形で構成することもでき
る。好ましい実施例では、システム100はインテル
(Intel )社製の80X86ファミリあるいはモトロー
ラ(Motorola)社製の680X0ファミリのような普及
形のマイクロプロセッサでラン(実行)するソフトウエ
アで構成されている。
【0163】システム100の好ましい実施例は2進お
よび/またはグレイスケール・イメージの形式のバーコ
ード・シンボルの位置を求め、デコードするように設計
することもできることは当業者には明らかである。
【0164】また、システム100はパラメータ駆動さ
れるように設計されていることが望ましいことは当業者
には明らかである。この場合、各種のパラメータに対す
る値は特定の適用例に基づいて変更される。さらに、あ
るパラメータ値は既知のサンプル・イメージの処理から
経験的解析に基づいて選択されることは云うまでもな
い。
【0165】本発明の特徴を説明するに当たって、ここ
で説明し、図示した各部の細部、材料、構成について
は、次に示す請求の範囲に記載された本発明の原理、範
囲から逸脱しない範囲内で種々変更できることは云うま
でもない。
【0166】
【発明の効果】以上のように、本発明によれば、従来は
困難であったファクシミリ装置やそれに類する装置によ
って発生されたバーコード・シンボルのイメージ形式の
特に高密度バーコード・シンボルはもとより、スキャナ
やカメラのような他の任意のイメージ・ソースによって
発生されたイメージ形式のバーコード・シンボルも正確
且つ迅速に読取り、コンポジット信号を発生させること
ができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるバーコード・シ
ンボル読取りシステムの機能的ブロック図である。
【図2】ピクセル・イメージ形式のバーコード・シンボ
ルの位置を決定するために図1のシステムのシンボル・
ロケータ(記号の位置を求める装置)によって実行され
る処理の流れを示すブロック図である。
【図3】2進イメージ形式の候補(candidate) バーコー
ド・シンボルの位置を求めるために図2のシンボル・ロ
ケータによって実行される処理の流れを示すブロック図
である。
【図4】図2のシンボル・ロケータによって位置が求め
られたバーコード・シンボルのイメージを示す図であ
る。
【図5】後方部のバーが2つのセグメントに切断されて
いるバーコード・シンボルのイメージを示す図である。
【図6】バーコード・シンボルのコンポジット信号(複
合信号)を発生させるための図1のシステムのコンポジ
ット信号発生器の好ましい実施例によって実行される低
速法の流れを示すブロック図である。
【図7】サンプルの長方形全体にわたってシンボルが図
1のシステムのコンポジット信号発生器および傾斜(gra
dient)信号発生器によって分析される上記サンプルの長
方形を示すバーコード・シンボルのイメージを示す図で
ある。
【図8】図6の低速法を実行するに当たって図1のシス
テムのコンポジット信号発生器によって使用される何本
かの走査線を示す図7のバーコード・シンボルの一部分
のイメージを示す図である。
【図9】バーコード・シンボルのコンポジット信号を発
生するための図1のシステムのコンポジット信号発生器
の好ましい実施例によって実行される高速法の流れを示
すブロック図である。
【図10】図9の高速法を実行するに当たって図1のシ
ステムのコンポジット信号発生器によって使用される走
査線を示す図7のバーコード・シンボルのイメージを示
す図である。
【図11】バーコード・シンボルのコンポジット信号を
スレッショルド処理するために図1のシステムのコンポ
ジット信号スレッショルダ(thresholder) によって実行
される処理の流れを示すブロック図である。
【図12】スプリアスなバーをもったバーコード・シン
ボルの一部の2進表示を示す図である。
【図13】スプリアスなバーあるいはスプリアスなスペ
ースのいずれかをもったバーコード・シンボルの一部の
2進表示を示す図である。
【図14】コード39バーコード・シンボルのキャラク
タをデコードするために図1のシステムのコンポジット
信号デコーダによって実行される処理の流れを示すブロ
ック図である。
【図15】バーコード・シンボル用の白色化(whitenin
g )および黒色化(blackwning)傾斜(gradirnt)信号
を発生させるための図1のシステムの傾斜信号発生器に
よって実行される処理の流れを示すブロック図である。
【図16】白色化および黒色化傾斜信号を処理するため
の図1のシステムの傾斜信号プロセッサによって実行さ
れる処理の流れを示すブロック図である。
【符号の説明】
104 シンボル・ロケータ 106 コンポジット信号発生器 108 コンポジット信号スレッショルダ 110 コンポジット信号デコーダ 112 傾斜(グレイディエント)信号発生器 114 傾斜(グレイディエント)信号プロセッサ 116 傾斜(グレイディエント)信号デコーダ 118 出力セレクタ 202 新しいサーチ・ラインを選択する 204 サーチ・ラインに沿うバーコード・シンボルを
サーチする 206 バーコード・シンボルの位置は求められたか否
かを決定 208 シンボルの4隅の位置を求める 210 シンボルを平方化する 212 シンボルの位置のデータを転送する 214 サーチ・ラインの終了か否かを決定 302 静止区域に対するバイト基準サーチを行なう 304 静止区域の位置は求められたか否かを決定する 306 遷移のバイト基準カウントを更新する 308 いずれかのバー/スペースは広すぎるか否かを
決定する 310 遷移数がスレッショルドを超過したか否かを決
定する 312 選択された隣接サーチ・ラインに対する処理を
反復する
フロントページの続き (73)特許権者 593135480 55 Glenlake Parkwa y,N.E,.Atlanta,Geo rgia 30328,United St atesb of America (72)発明者 クランツニク,ミハエル スロベニア国 62390 コロスケム ナ ー ラブネ ドブヤ・バス 98 (58)調査した分野(Int.Cl.6,DB名) G06K 7/10 G06K 7/00

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】 (a)バーコード・シンボルのバーとス
    ペースに実質的に平行な第1の走査線を選択するステッ
    プと、 (b)上記第1の走査線に沿って上記シンボルを走査し
    て第1の値を発生するステップと、 (c)バーコード・シンボルのバーとスペースに実質的
    に平行で、且つ上記第1の走査線との距離がイメージの
    ピクセルの幅よりも小さい第2の走査線を選択するステ
    ップと、 (d)上記第2の走査線に沿って上記シンボルを走査し
    て第2の値を発生するステップと、 (e)上記第1の値と第2の値に従って上記シンボルを
    デコードするステップと、からなるピクセル・イメージ
    のバーコード・シンボルを読取る方法。
  2. 【請求項2】 上記上記第1の値は、上記第1の走査線
    に沿って存在する2あるいはそれ以上のピクセルの平均
    からなる、請求項1記載のピクセル・イメージのバーコ
    ード・シンボルを読取る方法。
  3. 【請求項3】 上記ステップ(a)は、さらに上記シン
    ボルの4隅の位置を求めるステップを含み、上記第1お
    よび第2の走査線は上記4隅に従って選択される、請求
    項1記載のピクセル・イメージのバーコード・シンボル
    を読取る方法。
  4. 【請求項4】 上記ステップ(e)は、 (1) 上記第1および第2の値に従ってコンポジット信号
    を発生するステップと、 (2) 上記コンポジット信号をスレッショルド処理するス
    テップと、 (3) 上記スレッショルド処理されたコンポジット信号に
    従って上記シンボルをデコードするステップと、を含む
    請求項1記載のピクセル・イメージのバーコード・シン
    ボルを読取る方法。
  5. 【請求項5】 (a)バーコード・シンボルの少なくと
    も第1の部分と交わる第1の走査線を選択するステップ
    と、 (b)上記第1の部分に対して、この第1の部分をイメ
    ージ中のピクセルの行あるいは列のいずれかに実質的に
    平行な角度に回転させるステップと、上記第1の部分を
    引伸ばすステップとを含む変換処理を施すステップと、 (c)上記変換された第1の部分に従ってコンポジット
    信号を発生するステップと、 (d)上記バーコード・シンボルの少なくとも第2の部
    分と交わる第2の走査線を選択するステップと、 (e)上記第2の部分に対して、この第2の部分をイメ
    ージ中のピクセルの行あるいは列のいずれかに実質的に
    平行な角度に回転させるステップと、上記第2の部分を
    引伸ばすステップとを含む変換処理を施すステップと、 (f)上記変換された第2の部分に従って上記コンポジ
    ット信号を更新するステップと、 (g)上記コンポジット信号に従って上記シンボルをデ
    コードするステップと、からなるピクセル・イメージの
    バーコード・シンボルを読取る方法。
  6. 【請求項6】 ステップ(f)はさらに上記回転され且
    つ引延ばされた第1の部分からの第1のピクセルと上記
    回転され且つ引延ばされた第2の部分からの第2のピク
    セルとを平均するステップを含む、請求項5記載のピク
    セル・イメージのバーコード・シンボルを読取る方法。
  7. 【請求項7】 ステップ(a)はさらに、 (1) 上記シンボルの4隅の位置を求めるステップと、 (2) 上記4隅に従って上記第1の走査線を選択するステ
    ップと、を含む請求項5記載のピクセル・イメージのバ
    ーコード・シンボルを読取る方法。
  8. 【請求項8】 ステップ(a)はさらに上記シンボルの
    4隅の位置を求めるステップを含み、 ステップ(b)はさらに上記4隅に従って上記第1の部
    分を変換するステップを含む請求項5記載のピクセル・
    イメージのバーコード・シンボルを読取る方法。
  9. 【請求項9】 ステップ(g)はさらに、 (1) 上記コンポジット信号をスレッショルド処理するス
    テップと、 (2) 上記スレッショルド処理されたコンポジット信号に
    従って上記シンボルをデコードするステップと、を含む
    請求項5記載のピクセル・イメージのバーコード・シン
    ボルを読取る方法。
  10. 【請求項10】 ステップ(c)はさらに上記変換され
    た第1の部分に従ってカウント・ベクトルを発生するス
    テップを含み、 ステップ(f)はさらに上記変換された第2の部分に従
    って上記カウント・ベクトルを更新するステップを含
    み、 ステップ(g)はさらに、 (1) 上記カウント・ベクトルに従って上記コンポジット
    信号を規格化するステップと、 (2) 上記規格化されたコンポジット信号に従って上記シ
    ンボルをデコードするステップと、を含む請求項5記載
    のピクセル・イメージのバーコード・シンボルを読取る
    方法。
  11. 【請求項11】 ステップ(f)はさらに、上記変換さ
    れた第2の部分のピクセルに従って上記カウント・ベク
    トルの素子を増加させるステップを含む請求項10記載
    のピクセル・イメージのバーコード・シンボルを読取る
    方法。
  12. 【請求項12】 ステップ(g)の(1)はさらに上記
    コンポジット信号の要素を上記カウント・ベクトルの
    で割って上記規格化されたコンポジット信号の要素
    発生するステップを含む請求項10記載のピクセル・イ
    メージのバーコード・シンボルを読取る方法。
  13. 【請求項13】 (a)バーコード・シンボルに対し
    て、このバーコード・シンボルをイメージ中のピクセル
    の行あるいは列のいずれかに実質的に平行な角度に回転
    させるステップと、上記バーコード・シンボルを引伸ば
    すステップとを含む変換処理を施すステップと、 (b)上記変換されたシンボルのバーとスペースに実質
    的に直交する第1の走査線を選択するステップと、 (c)上記変換されたシンボルのバーとスペースに実質
    的に直交する第2の走査線を選択するステップと、 (d)上記第1の走査線と第2の走査線に応じたコンポ
    ジット信号を発生するステップと、 (e)上記コンポジット信号に従って上記バーコード・
    シンボルをデコードするステップと、 からなるピクセル・イメージのバーコード・シンボルを
    読取る方法。
  14. 【請求項14】 ステップ(d)はさらに、上記第1の
    走査線からの第1のピクセルと上記第2の走査線からの
    第2のピクセルとの平均を計算して上記コンポジット信
    号の要素を生成するステップを含む請求項13記載のピ
    クセル・イメージのバーコード・シンボルを読取る方
    法。
  15. 【請求項15】 ステップ(e)はさらに、 (1)上記コンポジット信号をスレッショルド処理するス
    テップと、 (2)上記スレッショルド処理されたコンポジット信号に
    従って上記シンボルをデコードするステップと、を含む
    請求項13記載のピクセル・イメージのバーコード・シ
    ンボルを読取る方法。
  16. 【請求項16】 (a)バーコード・シンボルのバーと
    スペースに実質的に平行な第1の走査線を選択する手段
    と、 (b)上記第1の走査線に沿って上記シンボルを走査し
    て第1の値を発生する手段と、 (c)バーコード・シンボルのバーとスペースに実質的
    に平行で、且つ上記第1の走査線との距離がイメージの
    ピクセルの幅よりも小さい第2の走査線を選択する手段
    と、 (d)上記第2の走査線に沿って上記シンボルを走査し
    て第2の値を発生する手段と、 (e)上記第1の値と第2の値に従って上記シンボルを
    デコードする手段と、からなるピクセル・イメージのバ
    ーコード・シンボルを読取る装置。
  17. 【請求項17】 (a)バーコード・シンボルの少なく
    とも第1の部分と交わる第1の走査線を選択する手段
    と、 (b)上記第1の部分に対して、この第1の部分をイメ
    ージ中のピクセルの行あるいは列のいずれかに実質的に
    平行な角度に回転させる手段と、上記第1の部分を引伸
    ばす手段とを含む変換処理を施す手段と、 (c)上記変換された第1の部分に従ってコンポジット
    信号を発生する手段と、 (d)バーコード・シンボルの少なくとも第2の部分と
    交わる第2の走査線を選択する手段と、 (e)上記第2の部分に対して、この第2の部分をイメ
    ージ中のピクセルの行あるいは列のいずれかに実質的に
    平行な角度に回転させる手段と、上記第2の部分を引伸
    ばす手段とを含む変換処理を施す手段と、 (f)上記変換された第2の部分に従ってコンポジット
    信号を更新する手段と、 (g)上記コンポジット信号に従って上記シンボルをデ
    コードする手段と、からなるピクセル・イメージのバー
    コード・シンボルを読取る装置。
  18. 【請求項18】 (a)バーコード・シンボルに対し
    て、このバーコード・シンボルをイメージ中のピクセル
    の行あるいは列のいずれかに実質的に平行な角度に回転
    させる手段と、上記バーコード・シンボルを引伸ばす手
    段とを含む変換処理を施す手段と、 (b)上記変換されたシンボルのバーとスペースに実質
    的に直交する第1の走査線を選択する手段と、 (c)上記変換されたシンボルのバーとスペースに実質
    的に直交する第2の走査線を選択する手段と、 (d)上記第1の走査線と第2の走査線に応じたコンポ
    ジット信号を発生する手段と、 (e)上記コンポジット信号に従って上記バーコード・
    シンボルをデコードする手段と、 からなるピクセル・イメージのバーコード・シンボルを
    読取る装置。
JP9134379A 1997-05-07 1997-05-07 ピクセル・イメージのバーコード・シンボルの読取り方法および装置 Expired - Fee Related JP2864012B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JPH10187876A JPH10187876A (ja) 1998-07-21
JP2864012B2 true JP2864012B2 (ja) 1999-03-03

Family

ID=15127024

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2864012B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580457B (zh) * 2022-05-09 2022-11-01 深圳市华汉伟业科技有限公司 一种低分辨率条件下的条形码解码方法、存储介质

Also Published As

Publication number Publication date
JPH10187876A (ja) 1998-07-21

Similar Documents

Publication Publication Date Title
JP2832645B2 (ja) ピクセル・イメージのバーコード・シンボルを読取る方法および装置
US5384451A (en) Method and apparatus for decoding bar code symbols using composite signals
US5412197A (en) Method and apparatus for decoding bar code symbols using gradient signals
US5404003A (en) Method and apparatus for decoding bar code symbols using byte-based searching
US6366696B1 (en) Visual bar code recognition method
JPH0612515A (ja) Ccd/cmdカメラを使用して二次元バーコードを復号する方法及び装置
EP0784827B1 (en) Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional ccd images
EP1086439B1 (en) Techniques for reading postal codes
US7337970B2 (en) Barcode scanner decoding
JP3115003B2 (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
JPH05250515A (ja) テンプレートを使用してバーコード文字を光学的に認識する方法および装置
EP1836646B1 (en) Bar code scanner decoding
US5468946A (en) Method and apparatus for decoding multi-level bar codes or bi-level bar codes
JPH07200712A (ja) バーコード読み取りの方法および装置
JPH096884A (ja) 解読されないバー・コード・プロフィールをエッジ検出回路を用いてエンコードする方法および装置
JP2000507727A (ja) 高速画像捕捉システムおよび方法
JP2864012B2 (ja) ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP2925515B2 (ja) ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP2003115031A (ja) 画像処理装置および方法
JP2001357350A (ja) 一次元バーコードの位置検出方法および一次元バーコードの位置検出装置
JPH02125384A (ja) 画像信号処理装置
WO1996018158A1 (en) Method and apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities
JPH07107690B2 (ja) 画像信号処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981020

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: 20071218

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081218

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091218

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091218

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101218

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111218

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees