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

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

Info

Publication number
JP2925515B2
JP2925515B2 JP9134378A JP13437897A JP2925515B2 JP 2925515 B2 JP2925515 B2 JP 2925515B2 JP 9134378 A JP9134378 A JP 9134378A JP 13437897 A JP13437897 A JP 13437897A JP 2925515 B2 JP2925515 B2 JP 2925515B2
Authority
JP
Japan
Prior art keywords
byte
pixel
symbol
image
candidate
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
JP9134378A
Other languages
English (en)
Other versions
JPH10187875A (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 JP9134378A priority Critical patent/JP2925515B2/ja
Publication of JPH10187875A publication Critical patent/JPH10187875A/ja
Application granted granted Critical
Publication of JP2925515B2 publication Critical patent/JP2925515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イメージ処理に関
するものであり、特にピクセル・イメージの形式のバー
コード・シンボルの位置を求め(locate)且つデコード
(解読)する方法および装置に関するものである。
【0002】
【従来の技術】一次元レーザー走査システムを使用した
バーコード・シンボルの読取りはよく知られている。二
次元ピクセル・イメージの形のバーコード・シンボルの
位置を求め且つデコード(解読)するイメージ処理装置
はそれ程知られていない。バーコード・シンボルをデコ
ードするには、端縁部(エッジ)がバーコード・シンボ
ル内のバーからスペースへの遷移(transition)あるい
はスペースからバーへの遷移に対応する場合は、端縁部
と端縁部との間の距離を正確に測定する必要がある。
【0003】
【発明が解決しようとする課題】従来、ファクシミリ級
の品質のイメージ、すなわちファクシミリ装置やそれに
類する装置によって発生されたバーコード・シンボルの
イメージ形式の高密度バーコード・シンボルを読み取る
ことは特に困難であった。ファクシミリ装置によって発
生されたイメージ形式のバーコード・シンボルの位置を
求め且つデコードすることができるバーコード読取り装
置(バーコード・リーダー)はスキャナやカメラのよう
な他の任意のイメージ・ソースによって発生されたイメ
ージ形式のバーコード・シンボルの読取りにも適応でき
るものでなければならない。
【0004】
【課題を解決するための手段】本発明は主として2進ピ
クセル・イメージのバーコード・シンボルを読み取るた
めの方法および装置である。本発明の好ましい実施例で
は、イメージの第1のサーチ・ライン(search lone )
を選択し、候補静止区域(candidate quiet zone)を識
別するために上記第1のサーチ・ラインをに沿って静止
区域のサーチ・ラインを行なう。また、複数の候補バー
(candidate bar )および候補スペース(candidate sp
ace )を識別するために上記第1のサーチ・ラインに沿
って遷移(transition)のサーチを行なう。さらに、上
記候補静止区域を候補バーおよび候補スペースが読取る
べきバーコード・シンボルに対応するか否かを決定し、
この決定に従って上記バーコード・シンボルをデコード
することにより、該バーコード・シンボルを読取る。
【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 Dec
oding 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/92
7,910号の「バーコード・シンボルの4隅の位置を求め
る(Locating the Four Corners ofBar Code Symbo
l)」というタイトルの節、およびこの節に後続する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コード(2 of
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個のバーとスペースとを
受け入れて、バーおよびスペースを個別に分類すること
によりそれらを狭いあるいは広いと分類する。その結
果、各ビットが対応するバー/スペースの幅を表わす1
3ビット値が得られる。
【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】 ここで、Wi 要素i に対応するリスト(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に対応す
るコンポジット・ベクトルの要素を更新するために使用
されることに注意する必要がある。従って、この好まし
い実施例では、丸められた列相互間の“ギャップを埋め
る”代わりに過サンプリング率に従って元のピクセルが
反復され、“オーバーラッピング(overlapping :重
複)”が生ずる。この例では、丸められた列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 (56)参考文献 特開 平3−144787(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06K 7/10 G06K 7/00

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 (a)ピクセル・イメージの第1のサー
    チ・ラインを選択するステップと、 (b)候補静止区域を識別するために上記第1のサーチ
    ・ラインに沿って静止区域のサーチを行なうステップ
    と、 (c)複数の候補バーおよびスペースを識別するために
    上記第1のサーチ・ラインに沿って遷移のサーチを行な
    うステップと、 (d)上記候補静止区域と上記候補バーおよびスペース
    バーコード・シンボルに対応するか否かを決定するス
    テップと、 (e)上記ステップ(d)における決定に従って上記シ
    ンボルをデコードするステップと、を含む、 ピクセル・イメージのバーコード・シンボルを
    読取る方法。
  2. 【請求項2】 上記イメージは2進ピクセル・イメージ
    であり、上記 ステップ(b)は、 (1) 上記第1のサーチ・ラインに沿う2個またはそれ以
    上のピクセルからなる、上記イメージのバイトを選択す
    るステップと、 (2) 上記バイトが上記候補静止区域に対応するか否かを
    決定するステップと、を含むものである、 請求項1記載のピクセル・イメー
    ジのバーコード・シンボルを読取る方法。
  3. 【請求項3】 上記イメージは2進ピクセル・イメージ
    であり、上記 ステップ(c)は、 (1) 上記第1のサーチ・ラインに沿う2個またはそれ以
    上のピクセルからなる、上記イメージのバイトを選択す
    るステップと、 (2) 幾つの明/暗の遷移が上記バイトに対応するかを決
    定するステップと、 (3) 上記明/暗の遷移が上記複数の候補バーおよびスペ
    ースに対応するか否かを決定するステップと、を含むものである、 請求項1記載のピクセル・イメージのバーコード・シ
    ンボルを読取る方法。
  4. 【請求項4】 上記イメージは2進ピクセル・イメージ
    であり、上記 ステップ(c) は、 (1) 上記第1のサーチ・ラインに沿う8個の連続するピ
    クセルからなる、上記イメージの第1のバイトを選択す
    るステップと、 (2) 上記第1のバイトに後続する上記第1のサーチ・ラ
    インに沿う8個の連続するピクセルからなる、上記イメ
    ージの第2のバイトを選択するステップと、 (3) 上記第1のバイトの最後のピクセルが暗ピクセルに
    対応する場合は、第1のルックアップ・テーブルを参照
    して幾つの明/暗の遷移が上記第2のバイトに対応する
    かを決定するステップと、 (4) 上記第1のバイトの最後のピクセルが明ピクセルに
    対応する場合は、第2のルックアップ・テーブルを参照
    して幾つの明/暗の遷移が上記第2のバイトに対応する
    かを決定するステップと、 (5) 上記明/暗遷移が上記複数の候補バーおよびスペ
    ースに対応しているか否かを決定するステップと、を含むものである、 請求項1記載のピクセル・イメージのバーコード・シ
    ンボルを読取る方法。
  5. 【請求項5】 上記ステップ(d)は上記候補バーの
    幅が指定されたスレッショルドより小さいことを確認す
    るステップを含むものである、請求項1記載のピクセ
    ル・イメージのバーコード・シンボルを読取る方法。
  6. 【請求項6】 上記イメージは2進ピクセル・イメージ
    であり、さらに、 (f)上記第1のサーチ・ラインに沿う8個の連続する
    ピクセルからなる、上記イメージの第1のバイトを選択
    するステップと、 (g)上記第1のバイトに後続する上記第1のサーチ・
    ラインに沿う8個の連続するピクセルからなる、上記イ
    メージの第2のバイトを選択するステップと、 (h)上記第1のバイトの最後のピクセルが暗ピクセル
    に対応する場合は、第1のルックアップ・テーブルを参
    照して上記候補バーのうちの1つのバーの少なくとも一
    部分の幅を決定するステップと、 (i)上記第1のバイトの最後のピクセルが明ピクセル
    に対応する場合は、第2のルックアップ・テーブルを参
    照して上記候補バーのうちの上記1つのバーの少なくと
    も一部分の幅を決定するステップと、 (j)上記1つのバーの幅が指定されたスレッショルド
    より小さいことを確認するステップと、を含む、 請求項1記載のピクセル・イメージのバーコ
    ード・シンボルを読取る方法。
  7. 【請求項7】 さらに、 (f)上記第1のサーチ・ラインに実質的に平行な第2
    のサーチ・ラインを選択するステップと、 (g) 上記シンボルを確認するために上記第2のサーチ
    ・ラインに沿上記(b)、(c)および(d)のステ
    ップを反復するステップと、を含む、 請求項1記載のピクセル・イメージのバーコ
    ード・シンボルを読取る方法。
  8. 【請求項8】 (a)2進ピクセル・イメージの第1の
    サーチ・ラインを選択するステップと、 (b)上記第1のサーチ・ラインに沿う2個またはそれ
    以上のピクセルからなる、上記イメージのバイトを選択
    するステップと、 (c)上記バイトがバーコード・シンボルに対応するか
    否かを決定するステップと、 (d)上記ステップ(c)における決定に従って上記シ
    ンボルをデコードするステップと、を含み、 上記ステップ(c)は、 (1) 上記バイトをインデックスとして用いてルックアッ
    プ・テーブルにアクセスして、幾つの明/暗の遷移が上
    記バイトに対応するかを決定するステップと、 (2) 上記明/暗の遷移が複数の候補バーおよびスペース
    に対応するか否かを決定するステップと、 を含むものである、 2進 ピクセル・イメージのバーコード・シンボルを読取
    る方法。
  9. 【請求項9】 上記ステップ(c)は、さらに、(3) 上記バイトが候補静止区域に対応するか否かを決定
    するステップと、(4) 上記候補静止区域が上記シンボルに対応するか否か
    を決定するステップと、を含むものである、 請求項8記載の2進ピクセル・イメージのバーコード
    ・シンボルを読取る方法。
  10. 【請求項10】 さらに、上記複数の候補バーおよびス
    ペースを識別するために上記第1のサーチ・ラインに沿
    って遷移のサーチを行なうステップを含み上記ステッ
    プ(c)の(4) はさらに上記候補バーおよびスペースが
    上記シンボルに対応するか否かを決定するステップを含
    ものである、 請求項9記載の2進ピクセル・イメージのバーコード
    ・シンボルを読取る方法。
  11. 【請求項11】 上記遷移のサーチはバイトに基づく遷
    移のサーチである、請求項10記載の2進ピクセル・
    イメージのバーコード・シンボルを読取る方法。
  12. 【請求項12】 上記ステップ(c)は、さらに、 (3)
    上記候補バーおよびスペースが上記シンボルに対応する
    か否かを決定するステップを含むものである、請求項8
    記載の2進ピクセル・イメージのバーコード・シンボ
    ルを読取る方法。
  13. 【請求項13】 さらに、候補静止区域を識別するため
    に上記第1のサーチ・ラインに沿って静止区域のサーチ
    を行なうステップを含み、上記 ステップ(c)の(3) は上記候補静止区域が上記
    シンボルに対応するか否かを決定するステップを含む
    のである、 請求項12記載の2進ピクセル・イメージのバーコー
    ド・シンボルを読取る方法。
  14. 【請求項14】 上記静止区域のサーチはバイトに基づ
    く静止区域のサーチである、請求項13記載の2進
    クセル・イメージのバーコード・シンボルを読取る方
    法。
  15. 【請求項15】 上記ステップ(b)、 (1) 上記第1のサーチ・ラインに沿う8個の連続するピ
    クセルからなる、上記イメージの第1のバイトを選択す
    るステップと、 (2) 上記第1のバイトに後続する上記第1のサーチ・ラ
    インに沿う8個の連続するピクセルからなる、上記イメ
    ージの第2のバイトを選択するステップと、を含み、上記 ステップ(c)の(1) は、 (1) 上記第1のバイトの最後のピクセルが暗ピクセルに
    対応する場合は、第1のルックアップ・テーブルを参照
    して幾つの明/暗の遷移が上記第2のバイトに対応する
    かを決定するステップと、 (2) 上記第1のバイトの最後のピクセルが明ピクセルに
    対応する場合は、第2のルックアップ・テーブルを参照
    して幾つの明/暗の遷移が上記第2のバイトに対応する
    かを決定するステップと、 を含むものである、 請求項12記載の2進ピクセル・イメージのバーコー
    ド・シンボルを読取る方法。
  16. 【請求項16】 上記ステップ(c)の(3) は上記候
    補バーの幅が指定されたスレッショルドより小さいこと
    を確認するステップを含むものである、請求項12
    載の2進ピクセル・イメージのバーコード・シンボルを
    読取る方法。
  17. 【請求項17】 上記ステップ(b)、 (1) 上記第1のサーチ・ラインに沿う8個の連続するピ
    クセルからなる、上記イメージの第1のバイトを選択す
    るステップと、 (2) 上記第1のバイトに後続する上記第1のサーチ・ラ
    インに沿う8個の連続するピクセルからなる、上記イメ
    ージの第2のバイトを選択するステップと、を含み、上記 ステップ(c)の(3) は、 (1) 上記第1のバイトの最後のピクセルが暗ピクセルに
    対応する場合は、第1のルックアップ・テーブルを参照
    して上記候補バーのうちの1つのバーの少な くとも一部
    の幅を決定するステップと、 (2) 上記第1のバイトの最後のピクセルが明ピクセルに
    対応する場合は、第2のルックアップ・テーブルを参照
    して上記候補バーのうちの上記1つのバーの少なくとも
    一部分の幅を決定するステップと、(3) 上記1つのバーの幅が指定されたスレッショルドよ
    り小さいことを確認するステップと、 を含むものである、 請求項12記載の2進ピクセル・イメージのバーコー
    ド・シンボルを読取る方法。
  18. 【請求項18】 さらに、 (e)上記第1のサーチ・ラインと実質的に平行な第2
    のサーチ・ラインを選択するステップと、 (f)上記シンボルを確認するために上記第2のサーチ
    ・ラインに沿う上記ステップ(b)および(c)を反復
    するステップと、 を含む請求項8記載の2進ピクセル・イメージのバ
    ーコード・シンボルを読取る方法。
  19. 【請求項19】 (a)ピクセル・イメージの第1のサ
    ーチ・ラインを選択する手段と、 (b)候補静止区域を識別するために上記第1のサーチ
    ・ラインに沿って静止区域のサーチを行なう手段と、 (c)複数の候補バーおよびスペースを識別するために
    上記第1のサーチ・ラインに沿って遷移のサーチを行な
    う手段と、 (d)上記候補静止区域と上記候補バーおよびスペース
    バーコード・シンボルに対応するか否かを決定する手
    段と、 (e)上記手段(d)決定に従って上記シンボルをデ
    コードする手段と、を具える 、ピクセル・イメージのバーコード・シンボル
    を読取る装置。
  20. 【請求項20】 (a)2進ピクセル・イメージの第1
    のサーチ・ラインを選択する手段と、 (b)上記第1のサーチ・ラインに沿う2個またはそれ
    以上のピクセルからなる、上記イメージのバイトを選択
    する手段と、 (c)上記バイトがバーコード・シンボルに対応するか
    否かを決定する手段と、 (d)上記手段(c)の決定に従って上記シンボルをデ
    コードするステップと、を具え、 上記手段(c)は、 (1) 上記バイトをインデックスとして用いてルックアッ
    プ・テーブルにアクセスして、幾つの明/暗の遷移が上
    記バイトに対応するかを決定する手段と、 (2) 上記明/暗の遷移が複数の候補バーおよびスペース
    に対応するか否かを決定する手段と、 を含むものである、 2進 ピクセル・イメージのバーコード・シンボルを読取
    る装置。
JP9134378A 1997-05-07 1997-05-07 ピクセル・イメージのバーコード・シンボルの読取り方法および装置 Expired - Fee Related JP2925515B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9134378A JP2925515B2 (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
JPH10187875A JPH10187875A (ja) 1998-07-21
JP2925515B2 true JP2925515B2 (ja) 1999-07-28

Family

ID=15127000

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2925515B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8322617B2 (en) 2009-02-04 2012-12-04 Datalogic ADC, Inc. Systems and methods for selectively masking a scan volume of a data reader

Also Published As

Publication number Publication date
JPH10187875A (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カメラを使用して二次元バーコードを復号する方法及び装置
US7337970B2 (en) Barcode scanner decoding
EP1086439B1 (en) Techniques for reading postal codes
US5936224A (en) Method and apparatus for reading machine-readable symbols by employing a combination of multiple operators and/or processors
EP1836646B1 (en) Bar code scanner decoding
JP3115003B2 (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
EP0685809A2 (en) Method and apparatus for decoding two-dimensional bar code
US5468946A (en) Method and apparatus for decoding multi-level bar codes or bi-level bar codes
JP2000507727A (ja) 高速画像捕捉システムおよび方法
JPH07200712A (ja) バーコード読み取りの方法および装置
JPH096884A (ja) 解読されないバー・コード・プロフィールをエッジ検出回路を用いてエンコードする方法および装置
EP0797810B1 (en) Barcode decoding
JP2925515B2 (ja) ピクセル・イメージのバーコード・シンボルの読取り方法および装置
JP2864012B2 (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

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

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

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

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees