JP2839836B2 - バーコード読取装置 - Google Patents

バーコード読取装置

Info

Publication number
JP2839836B2
JP2839836B2 JP6109908A JP10990894A JP2839836B2 JP 2839836 B2 JP2839836 B2 JP 2839836B2 JP 6109908 A JP6109908 A JP 6109908A JP 10990894 A JP10990894 A JP 10990894A JP 2839836 B2 JP2839836 B2 JP 2839836B2
Authority
JP
Japan
Prior art keywords
data
scan
address
bar
bar code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6109908A
Other languages
English (en)
Other versions
JPH07319992A (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.)
Denso Corp
Toyota Central R&D Labs Inc
Original Assignee
Denso Corp
Toyota Central R&D Labs 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 Denso Corp, Toyota Central R&D Labs Inc filed Critical Denso Corp
Priority to JP6109908A priority Critical patent/JP2839836B2/ja
Publication of JPH07319992A publication Critical patent/JPH07319992A/ja
Application granted granted Critical
Publication of JP2839836B2 publication Critical patent/JP2839836B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はバーコード読取装置に係
り、特に、バーコードとセンサとを相対移動させて所定
周期でバーコードを走査し、各走査ラインの走査データ
の一致度を考慮して走査データを逐次結合させることに
よりバーコード情報を合成して読取るバーコード読取装
置に関する。
【0002】
【従来の技術及び発明が解消しようとする課題】1本の
走査ラインでバーコードを読取るバーコードリーダー
(1ラインスキャン方式リーダー)は、1つのセンサを
用いるため光学系が単純になり、スキャナを小型、安価
にできる利点がある。しかしながら、この1ラインスキ
ャン方式リーダーでは、走査ラインとバーコードの傾き
が大きい場合には、1回の走査ではバーコードの断片的
なデータしか得ることができないので、複数回走査し、
それらの走査データを合成して全体のコードを得る必要
がある。このため、バーコードとセンサとを相対移動さ
せ所定周期でバーコードを走査して、各走査データの一
致度を考慮して合成することにより、バーコードを読取
る次のようなバーコード読取装置が知られている。
【0003】特開平1−86284号公報で示される従
来の1ラインスキャン方式リーダーは、バーコードの読
取を行なう時に、スキャナとバーコードとの相対移動速
度を一定に保持することで走査データ同士が対応するよ
うにしている。このため、スキャナとバーコードとの相
対移動速度が変化した場合にはバーコードを読取ること
ができない、という問題点がある。
【0004】また、特開平3−204790号公報で示
される技術では、データの信頼性を確保するため、走査
データを復号化した後に合成を行っている。このため、
復号化できる部分のみが有効なデータとなり、走査ライ
ンに対する傾きが大きいバーコードは有効なデータが少
ないため、読取が困難になる、という問題点がある。
【0005】本発明は上記問題点を解消するために成さ
れたもので、バーコードの合成を行う1ラインスキャン
方式のバーコード読取装置において、スキャナのセンサ
とバーコードとの相対的な移動速度が変化してもバーコ
ードの読取が行えると共に、走査ラインに対するバーコ
ードの傾きが大きい場合においてもバーコードの読取を
可能とし、かつ走査データから信頼性の高いデータを読
取ることができるバーコード読取装置を提供することを
目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
に本発明は、バーコードとセンサとを相対移動させて所
定周期でバーコードを走査し、各走査ラインの走査デー
タの一致度を考慮して走査データを逐次結合させること
によりバーコード情報を合成して読取るバーコード読取
装置において、前後の走査ラインの走査データを比較し
て各走査データからデータの同一部分を抽出すると共
に、該同一部分の対応するバー又はスペースの座標の差
に基づいて前記相対移動速度に応じた移動量を算出する
データ抽出手段と、後の走査ラインにおける前の走査ラ
インの座標に前記移動量を加算して求めた基準位置を含
む所定範囲内の領域を検索して前の走査ラインのバー又
はスペースに対応する後の走査ラインのバー又はスペー
スを抽出することにより前記同一部分の位置合わせを行
うと共に、合成データに前記同一部分を結合して新たな
合成データとするコード結合手段と、を設けたことを特
徴とする。
【0007】
【作用】本発明では、バーコードとセンサとを相対移動
させて所定周期でバーコードを走査し、各走査ラインの
走査データの一致度を考慮して走査データを逐次結合さ
せることによりバーコード情報を合成してバーコード読
取る。データ抽出手段は、前後の走査ラインの走査デー
タを比較して各走査データからデータの同一部分を抽出
すると共に、抽出した同一部分の対応するバー又はスペ
ースの座標の差に基づいて相対移動速度に応じた移動量
を算出する。コード抽出手段は、後の走査ラインにおけ
る前の走査ラインの座標に移動量を加算して求めた基準
位置を含む所定範囲内の領域を検索することにより、前
の走査ラインのバー又はスペースに対応する後の走査ラ
インのバー又はスペースを抽出し、同一部分の位置合わ
せを行う。このように本発明では、前の走査ラインの走
査データと後の走査ラインの走査データとの位置合わせ
を行っているため、バーコードとセンサとの相対移動速
度が変化した場合においてもバーコードの読取が行え
る。また、コード結合手段は、合成データに抽出した同
一部分を結合して新たな合成データとする。
【0008】コード結合手段では、同一部分として抽出
した抽出データと合成データとの同一部分を抽出し、合
成データの抽出データと同一部分に抽出データの合成デ
ータと非同一部分を結合することで新たな合成データと
することができる。
【0009】なお、抽出データと合成データとの同一部
分の抽出においても、上記移動量を用いた位置あわせを
行うこともできる。
【0010】また、上記前後の走査ラインとは、連続す
る2つの走査ラインであっても、所定の数隔たった2つ
の走査ラインであってもよい。
【0011】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図1に本実施例のバーコード読取装置の全
体的な構成を示す。バーコード読取装置は、スキャナ1
0、マイクロコンピュータ等で構成された復号器12及
びインタフェース14を備えている。
【0012】光学的なセンサとしてのスキャナ10は、
半導体レーザ及びレーザビームを走査するポリゴンミラ
ーまたはガルバノミラー等の走査装置で構成されたレー
ザビーム走査装置と、レーザビームが走査された部位か
らの反射レーザビームを検出する光電変換素子とを含ん
で構成されたスキャナヘッド10Aを備えている。な
お、スキャナヘッド10Aとしてはバーコード面上を照
射する光源と、その光源によって生じた反射光を集光す
るレンズ系と、このレンズ系により集光された反射光を
検出する光電変換素子を1列に複数個配列して構成した
ラインセンサとを含んで構成したものを用いてもよい。
この場合、ラインセンサは1走査ライン分のデータを一
度に検出することができる。また、上記光源として、シ
リンドリカルレンズ等を用いたスリット光源を用いて
も、さらには、そのスリット光源をパルス発光させて用
いてもよい。
【0013】スキャナヘッド10Aは、増幅器10Bを
介して、増幅器10Bで増幅されたアナログ信号を2値
信号であるデジタル信号に変換するA/D変換器10C
に接続されている。A/D変換器10Cは、デジタル信
号の立ち上がりから立ち下がりまで、及びデジタル信号
の立ち下がりから立ち上がりまでをカウントして黒色の
バーや白色のスペースの幅を表すカウント値、すなわち
ランレングスに相当するカウント値を走査データとして
出力するカウンタ10Dに接続されている。
【0014】復号器12には、カウンタ10Dからの走
査データが図示しない入出力装置を介して入力されると
共に、スキャナ10に入出力装置を介してスキャナ制御
信号を出力するCPU12A、以下で説明するバーコー
ド読取ルーチンのプログラム等を記憶したROM12
B、1走査前の走査データを記憶するプリビアスデータ
メモリエリア(以下、PDM)、現在の走査データを一
時的に記憶するカレントデータメモリエリア(以下、C
DM)、合成したデータを記憶する合成データメモリエ
リア(以下、SDM)、抽出データを記憶する抽出デー
タメモリエリア(以下、EDM)を備えたRAM12
C、及びこれらを接続するデータバス等のバスを含んで
構成されている。
【0015】このバーコード読取装置によれば、レーザ
ビームによってバーコードシンボルが表示されている表
示物を走査すると、スキャナヘッド10Aの光電変換素
子によって表示物の反射率に応じたアナログ信号が得ら
れる。このアナログ信号は、A/D変換器10Cにより
順次デジタル信号に変換されて走査ラインの走査データ
として出力され、カウンタ10Dによってバーやスペー
スの幅を表すカウント値に変換され、復号器12で復号
され、コードが得られた場合には復号したデータがイン
ターフェイス14に出力される。
【0016】次に、図2を参照して復号器12の処理内
容を詳細に説明する。ステップ100ではフラグFをリ
セットし、ステップ102において1走査前の走査デー
タを記憶するPDMに最初の走査ラインの走査データを
記憶すると共に、ステップ104において、この最初の
走査ラインの走査データを、現在の走査データを一時的
に記憶するCDMに記憶する。
【0017】なお、本実施例は、バーコードとスキャナ
との相対移動速度の変化に追従できるので、後述の処理
において走査データが類似している、すなわち、走査間
隔が密であると判断された場合には、このステップ10
4において走査データを破棄して次の走査まで待機し、
必要な走査データが入力された場合にのみCDMに記憶
することも可能である。これにより、移動速度が小さい
場合、後述のデータ合成において合成のために必要最小
限の走査データのみを用いることができ、処理の効率化
を図ることができる。
【0018】カウンタ10Dから出力される走査データ
は、バーのランレングスに相当するカウント値、スペー
スのランレングスに相当するカウント値、バーのランレ
ングスに相当するカウント値、・・・の順になるため、
これらのランレングスに相当するカウント値が1つのア
ドレスに対応して記憶される。
【0019】次のステップ106ではフラグFがセット
されているか否かを判断し、リセットされている場合は
ステップ108において後述する合成開始判定処理を行
い、合成開始判定処理が成功した場合にはステップ11
0でフラグFをセットし、一方合成開始判定処理が失敗
した場合にはステップ112でフラグFをリセットした
後、ステップ114においてCDMに記憶されている走
査データをPDMに記憶する。そして、ステップ104
において次の走査ラインの走査データをCDMに記憶す
る。
【0020】一方、ステップ106でフラグFがセット
されていると判断されたとき、すなわち合成開始判定処
理が成功した場合には、ステップ116で後述するデー
タ抽出処理を実行し、データ抽出処理が成功した場合に
はステップ118で後述するコード結合処理を実行し、
コード結合処理が成功した場合にはステップ120で後
述するコード判定処理を実行する。データ抽出処理及び
コード結合処理が失敗した場合にはステップ122でフ
ラグFをリセットし、ステップ124においてCDMに
記憶されている走査データをPDMに記憶する。また、
コード判定処理が失敗した場合には、すなわち1つのバ
ーコードの最後まで復号化できない場合には、ステップ
124においてCDMに記憶されている走査データをP
DMに記憶する。なお、1つのバーコードの全体が復号
化された場合には、成功としてこのルーチンを終了す
る。また、上記のステップ104〜120の処理はレー
ザービームによる走査に同期して実行される。
【0021】以上の結果,CDMには後の走査ラインに
おける走査データである現在の走査データが記憶され、
PDMには前の走査ラインにおける走査データである1
走査前の走査データが記憶されることになる。
【0022】次に、ステップ108の合成開始判定処理
について図3を参照して詳細に説明する。この合成開始
判定処理は、フラグFがリセットされている場合、すな
わち走査開始時やバーコードのデータが検出されていな
い場合に実行される。この合成開始判定処理は、バーコ
ードの合成処理の効率化を図るため、判定対象の走査デ
ータがバーコードのデータを含んでいるか否かを判定
し、かつ走査データの中からバーコードのデータを含ん
でいる部分を選択するものである。
【0023】バーコードシンボルが最初の走査ラインを
通過し始める場合は、バーコードシンボルの右上角、左
上角、右下角、左下角のいずれかから走査が開始される
ため、走査ラインは必ずバーコードシンボルの右端又は
左端を横切ることになる。以下では、左から右へ走査し
た場合であって、バーコードシンボルの左下角から走査
が開始された場合について説明する。
【0024】図3のステップ130ではPDMに記憶さ
れている走査データからバーコードシンボルの右端又は
左端に存在するパターンを開始パターンとして検索する
ことによりバーコードのデータ部分を選択すると共に、
ステップ132において選択した開始パターンの位置座
標を示すオフセットを演算する。また、ステップ134
において上記と同様にCDMに記憶されている走査デー
タから開始パターンを検索し、ステップ136において
検索した開始パターンのオフセットを演算する。
【0025】この開始パターンは、ガードバーとキャラ
クタ、スタートキャラクタ、ストップキャラクタ等のバ
ーコードの端であることを示すパターンであり、この開
始パターンを検索することでバーコードシンボルの走査
ライン通過開始に相当する部位を検出することができ、
この開始パターン以降のデータにバーコードのデータが
含まれることになる。例えば、コード種別がJANコー
ドの場合、最初の3つの要素は、バー、スペース、バー
からなりバーとスペースの幅の比は1:1:1になり、
この3つの要素に続く4つの要素は、例えば4を表すた
めバーとスペースの幅の比が1:1:3:2になる。こ
のため、1:1:1の部分に続いて1:1:3:2の部
分が連続しているか否かを判断することによって、開始
パターンを検出することができる。また、ガードバーが
3モジュールで表され、1キャラクタが7モジュールで
表されているため、3:7の部分が存在するか否かを判
断することで開始パターンを検出してもよい。そして、
このように検出された開始パターンの全てを候補とす
る。このため、検出された開始パターンの中には、実際
の開始パターンの他、文字等を開始パターンとして誤検
出したパターンも含まれることになる。
【0026】また、アドレスPiにおける開始パターン
のオフセットFpiは、次の(1)式で与えられる。
【0027】
【数1】 ただし、MpK はPDMのアドレスkに記憶されている
データである。
【0028】図4に、開始パターンとして検出された例
を示す。PDMでは、先頭アドレスがP0、Pi等のデ
ータが開始パターンとして検出され、CDMでは先頭ア
ドレスがC0、Cj等のデータが開始パターンとして検
出されている。
【0029】次のステップ138では、PDMの走査デ
ータから検出された開始パターンとCDMの走査データ
から検出された開始パターンとを比較して、コード種別
及びキャラクタが同じでかつオフセットの関係が正しい
組を検索する。このオフセットの関係が正しいかどうか
は、以下の2つの条件を満たすか否かで判断できる。
【0030】 ただし、CjはCDMの開始パターンの先頭アドレス、
NはCDMのCjの開始パターンのデータ数、McK
CDMのアドレスkに記憶されているデータ、Fcj
CDMの先頭アドレスCjの開始パターンのオフセッ
ト、Fpi はPDMの先頭アドレスPiの開始パターン
のオフセットである。
【0031】上記(2)、(3)式を満たすのは、PD
Mの開始パターンのオフセットすなわち先頭要素の座標
が、CDMの開始パターンの先頭要素の座標から終了要
素の座標までの間に存在する場合である。上記2式を満
たさない場合は、バーコードシンボル以外の部分を開始
パターンとして誤検出した場合、走査方向をバーコード
の向きとの関係が不適切(すなわち、走査方向に対しバ
ーコードの各シンボルが右上がり方向に配列された向
き)である場合、または、バーコードシンボルの走査ラ
インに対する傾きが読み取り不可となる程大きい場合の
いずれかである。
【0032】図4では、PDMのアドレスPiの開始パ
ターンとCDMのアドレスCjの開始パターンとが、コ
ード種別及びキャラクタが同一でかつオフセットの関係
が正しい対応する組として検出される。
【0033】ステップ140において対応する開始パタ
ーンの組が検出されたと判断されると、ステップ142
においてCDMに記憶されている開始パターンを合成デ
ータの最初の部分として合成データを記憶するSDMに
転送して記憶する。図5にCDMのデータをSDMに転
送した状態を示す。
【0034】また、ステップ144〜ステップ150に
おいて最少のバー幅を単位モジュールとして記憶し、使
用したCDMのアドレスCjを比較開始アドレスSpと
して記憶し、CDMの開始パターンのオフセットFcj
を合成移動量Tsの初期値として記憶し、CDMの開始
パターンのオフセットFcjとPDMの開始パターンの
オフセットFpiとの差を移動量SHの初期値として記
憶し、開始パターンのデータ数(例えば、6)をコード
化できた部分の最終アドレスDpの初期値として記憶
し、この開始パターンのデータ数を同一部分として検出
された部分の長さLdとして記憶する。そして、ステッ
プ152で合成開始判定処理成功として次のステップに
進む。一方、ステップ140で対応する組が存在しない
と判断された場合にはステップ154で合成開始判定処
理失敗として次のステップに進む。
【0035】次にステップ116のデータ抽出処理につ
いて図6を参照して説明する。このデータ抽出処理は、
連続した走査でバーコードシンボルの部分は略同じパタ
ーンが得られることに着目し、SDMの走査データとC
DMの走査データとを比較し、同一部分、すなわちバー
のランレングスとスペースのランレングスが同一部分を
抽出することで、復号化することなくバーコード部分の
データを抽出するものである。走査データの比較は、処
理時間短縮のため必要な範囲内のみに限定している。
【0036】ステップ160ではオフセットと移動量S
Hとを使用してCDMの初期アドレスCsを計算する。
なおこの移動量SHは、同一部分に対応するバーの座標
であるオフセットの差に基づいて後述するステップ18
6で算出される。また、移動量SHの初期値は前述のよ
うに同一部分である開始パターンのオフセットの差から
算出されている。図7に示すように、バーコードとスキ
ャナヘッドとの相対速度が定速の時は、プリビアスデー
タのオフセットと相対速度に応じた移動量とを加算して
求めたカレントデータの基準位置に、プリビアスデータ
のデータaに対応するデータbが存在する。一方、加速
時の移動量は定速時の移動量よりも大きくなり、減速時
の移動量は定速時の移動量よりも小さくなるため、加減
速時には対応するデータbは定速時の移動量から求めた
基準位置の前後に位置することになる。
【0037】このため、本実施例ではバーコードシンボ
ルとスキャナヘッドとが相対的に等速で移動しない場合
をも想定して、プリビアスデータのオフセットに前回求
めた移動量を加算して求めた基準位置を含む所定範囲
内、例えば基準位置を中心とする所定範囲内を検索範囲
とし、この検索範囲内に存在するバーのデータのアドレ
スをCDMの初期アドレスCsとする。この場合、検索
範囲内にバーのデータが複数個存在する場合には、最も
小さいアドレスを初期アドレスCsとする。この検索範
囲は、バーコードの1キャラクタを表すモジュールの数
をMとすると基準位置を中心として±M/2とするのが
好ましく、例えば、JANコードの場合1キャラクタが
7モジュールで表されているため、基準位置を中心とし
て±3.5モジュール幅とするのが好ましい。この場
合、対応できる移動速度の変化範囲は、その時のスキャ
ナとバーコードとの相対移動速度とバーコードシンボル
の走査ラインに対する傾き角との関係に依存する。すな
わち、相対移動速度が同じでも、傾き角が小さい場合の
方が、対応できる移動速度の変化の範囲は広くなる。な
お、この基準位置は検索範囲の中心に必ずしも位置させ
る必要はなく、加速時は検索範囲の右端、減速時は検索
範囲の左端に位置させるようにしてもよい。
【0038】ステップ162では、前回の同一部分とし
て検出された部分の長さLdに正の任意の数で表された
増加分kを加算して比較する比較範囲Lの初期値L0を
算出する。この比較範囲Lは、アドレス数で表され、最
小値は3(バー、スペース、バーに相当する)に定めら
れている。ステップ164では、初期値L0を比較範囲
Lとする。
【0039】1走査前のデータであるプリビアスデータ
は、前回のカレントデータをPDMに記憶したものであ
るので、このデータ抽出処理では、PDMのアドレス
は、前回合成に使用した開始アドレスSpを用い、ステ
ップ166では、この開始アドレスSp(初期値は開始
パターンのアドレスCj)をプリビアスデータのアドレ
スPとする(図8参照)。
【0040】次のステップ168ではアドレスPと比較
範囲Lとの和P+LがPDMに記憶した走査データの最
終アドレスPn以下か否かを判断することにより、比較
範囲Lの端部がプリビアスデータの終端に位置している
かを判断し、以下の場合にはステップ170において下
記の条件を判断する。
【0041】
【数2】P≦Dp≦P+L−1 ・・・・・・ (4) この条件は、コード化できた最終アドレスDpを含む範
囲、すなわち、ごみ等のノイズによりコード化できなか
った領域を含む領域を検索するための条件であり、過去
の走査でバーコード以外のノイズを走査データとして検
出した場合に、ノイズを含まない新たなデータでノイズ
部分のデータを更新するために必要である。すなわち、
ノイズはバーコードの一部分に存在し、バー又はスペー
スの一部分が欠如することになり1本のバー又はスペー
スの全体が欠如することは殆どまれであるため、複数回
の走査によって得られたノイズ周辺のノイズを含まない
走査データを用いることにより、ノイズを除去すること
ができる。
【0042】ステップ172では、プリビアスデータの
アドレスPのオフセットFpを計算し、ステップ174
で初期値CsをカレントデータのアドレスCに設定し、
ステップ176でカレントデータのアドレスCのオフセ
ットFcを計算する。これらのオフセットFp、Fcは
それぞれ以下の(5)、(6)式で与えられる。
【0043】
【数3】 ただし、Mpi はアドレスiのPDMのデータである。
【0044】
【数4】 ただし、MpK はアドレスjのCDMのデータである。
【0045】次のステップ178では次の(7)式で与
えられる条件を判断する。
【0046】
【数5】 |Fp−Fc+SH|≦N ・・・・・・ (7) なお、Nは所定範囲を示す。Nの値はCDMの初期アド
レスCsを求めた場合と同様に、バーコードの1キャラ
クタを表すモジュールの数に基づいて決定することがで
き、例えばJANコードでは±3.5モジュールの幅で
与えられる。この条件は、同一部分の位置関係が正しい
か否かを判定するための条件であり(なお、相対移動速
度が定速の場合はFp−Fc+SH=0になる)、ステ
ップ178の判断が否定の場合には比較する部分の位置
関係が不適当であると判断して、ステップ180の比較
を行うことなくステップ188に進んで位置関係が正し
くなるように比較部分をシフトする。
【0047】ステップ180ではPDMのアドレスP〜
P+LのデータとCDMのアドレスC〜C+Lのデータ
とを比較する。ステップ182でこれらのデータが同一
であると判断された場合、すなわち対応するバー同士及
びスペース同士のカウント値(ランレングス)が等しい
場合には、ステップ184においてCDMのアドレスC
〜C+Lのデータを同一部分として抽出し、EDMに転
送して記憶する(図9参照)。また、ステップ186で
はCDMとPDMのオフセットの差Fc−Fpを次の移
動量SHとし、アドレスCを次の比較開始アドレスSp
とし、比較範囲Lを同一部分の長さLdとして記憶し、
ステップ190でデータ抽出成功として次のステップに
進む。
【0048】一方、ステップ178及びステップ182
の判断が否定のときは、カレントデータの比較部分を単
位量ずつシフトし、シフトしたカレントデータとプレビ
アスデータとを比較するために、ステップ188でCD
MのアドレスCを2ずつインクルメントする。ここで、
アドレスCを2ずつインクルメントするのは、バーとス
ペースとの組を1単位として、すなわちデータ数2を1
単位としてシフトさせることにより、シフトしてもカレ
ントデータの比較範囲の先頭のデータを常にバーのデー
タにするためである。
【0049】ステップ190でCDMのアドレスCを最
終アドレスCnまでシフトを繰り返して比較しても同一
部分が検出されない場合は、ステップ192でPDMの
アドレスPを2ずつインクルメントしてプレビアスデー
タの比較部分を単位量ずつシフトし、シフトしたプレビ
アスデータとカレントデータとを上記で説明したように
比較する。この場合、カレントデータのアドレスCはス
テップ174で初期値Csに戻しておく。
【0050】PDMのアドレスPを最終アドレスPnま
でシフトを繰り返して比較しても同一部分が検出されな
い場合は、ステップ196で比較範囲Lを2デクリメン
トして比較部分を単位量ずつ狭めて上記で説明した同一
部分の検索を行う。この場合、プレビアスデータのアド
レスP及びカレントデータのアドレスCは、各々ステッ
プ166及びステップ174で初期値に戻しておく。比
較範囲Lが最小範囲である3に到達しても同一部分が検
索できないときにはデータ抽出失敗(ステップ199)
としてこのルーチンを終了する。そして、次の走査に移
行する。
【0051】また、ステップ168の判断が否定の時、
すなわちプレビアスデータの比較部分の後端が最終アド
レスに到達したときは、ステップ196で比較範囲Lを
狭めて上記の処理を繰り返す。また、ステップ170の
判断が否定のとき、すなわちプレビアスデータの比較部
分内にアドレスDpが含まれていない場合には、ステッ
プ192でアドレスPを変更して、比較部分内にアドレ
スDpが含まれるように比較部分をシフトする。
【0052】次に、ステップ118のコード結合処理の
詳細を説明する。この結合処理は、データ抽出処理で得
られた抽出データと、既に合成された合成パターンとを
比較・結合して、同一部分に非同一部分を結合して新た
な合成パターンとすることにより、合成パターンの更新
を行うものである。
【0053】図10のステップ200において合成パタ
ーンの合成移動量Tsにコード結合処理で得られた移動
量SHを加算して新たな合成移動量Tsを求める。この
合成移動量TsはSDMのアドレス0のデータのオフセ
ットを表すもので、この合成移動量Tsから合成データ
のオフセットを求めることにより、抽出データとの位置
を比較することが可能となる。比較範囲Lの初期値はE
DMに記憶されている抽出データのデータ数Leとし、
EDMのアドレスEの初期値は0とし、SDMのアドレ
スSは前回検索した同一部分の先頭アドレスBp(初期
値は開始パターンの先頭アドレス)に設定する(ステッ
プ202、204、208)(図11参照)。
【0054】ステップ206、210では、以下の
(8)、(9)式に従って抽出データのアドレスEのオ
フセットFe及び合成データのアドレスSのオフセット
Fsを演算する。
【0055】
【数6】 ただし、Mei はアドレスiのEDMのデータである。
【0056】
【数7】 ただし、Msj はアドレスjのSDMのデータである。
【0057】ステップ212でオフセットFsとオフセ
ットFeとが等しいと判断された時には、すなわち抽出
データと合成データとの位置関係が正しい場合には、ス
テップ214でEDMのアドレスE〜E+Lのデータと
SDMのアドレスS〜S+Lとのデータを比較し、ステ
ップ216でこれらのデータが同一であると判断された
時には、すなわち抽出データと合成データとの位置関係
が正しくかつ比較範囲L内の内容が等しい場合には同一
部分であると判断し、各比較範囲Lの先頭アドレスが
E、Sであるので、ステップ218においてSDMのア
ドレスS+L以降のデータをEDMのアドレスE+L〜
Enのデータで更新する。すなわち、合成データの抽出
データと同一部分に抽出データの合成データと非同一部
分を結合することで新たな合成データとする(図12参
照)。また、ステップ220でSDMの先頭アドレスS
を同一部分の先頭アドレスBpとして記憶する。
【0058】なお、ステップ224〜ステップ234で
は上記で説明したステップ188〜ステップ198と同
様に、抽出データと合成データとの比較部分、比較範囲
を単位量ずつシフトして同一部分が検出されるまで上記
の処理を繰り返す。アドレスS及びアドレスEが最終ア
ドレスになり、比較範囲が最小範囲になっても同一部分
が検出されない場合には、コード結合処理を失敗とする
のはコードデータ抽出処理の場合と同様である。
【0059】図11にコード結合の検索範囲を示し、図
12に合成データの更新状態を示す。
【0060】次に、ステップ120のコード判定処理に
ついて説明する。このコード判定処理は更新されかつ合
成されたデータメモリに記憶された合成データを復号
し、全データが揃ったか否かを判断するものである。全
データが揃った場合にはインターフェイス14を介して
コードを出力し、コード合成処理を終了する。
【0061】一方、全データが揃わなかった場合には、
SDMの復号化できたデータの最後のアドレスからこの
復号化できたデータのもとになっているカレントメモリ
データのアドレスDpを求め、このアドレスDpを記憶
する。このアドレスDpは図13からも理解されるよう
に以下の(10)式によって与えられる。
【0062】
【数8】 Dp=m−S+E+C ・・・・・・ (10) ただし、m:復号化できた最後のSDMのアドレス S:コード結合処理時の同一部分のSDMの先頭アドレ
ス E:コード結合処理時の同一部分のEDMの先頭アドレ
ス C:データ抽出処理時の同一部分のCDMの先頭アドレ
ス) である。
【0063】このデコード可能なアドレスDpが求めら
れることによってコード合成処理を継続する。
【0064】上記実施例では、バーのデータのオフセッ
ト、すなわち座標に基づいて移動量を求め位置合わせを
する例について説明したが、スペースのオフセットすな
わち座標に基づいて移動量を求め位置合わせを行っても
よい。
【0065】上記実施例では、一定の方向に走査した場
合について説明したが、その逆の方向に走査した場合で
も、または、走査データのランレングスを逆順にデータ
メモリエリアに記憶させる場合でも、図2に示すフロー
で処理できる。
【0066】また、上記実施例ではランレングスの比較
および結合をバーから始まりバーで終わるランレングス
の例で説明したが、スペースで始まるランレングスで比
較・結合を行っても、またはスペースで終わるランレン
グスで比較・結合を行ってもよい。
【0067】
【発明の効果】以上説明したように、本発明によれば、
後の走査ラインの座標に移動量を加算して求めた基準位
置を含む所定範囲内の領域を検索することにより、前の
走査ラインのバー又はスペースと対応するバー又はスペ
ースを抽出して同一部分の位置合わせを行って同一部分
に非同一部分を結合して合成パターンを求めているの
で、センサとバーコードとの相対的な移動速度が変化し
てもバーコードの読取が行えると共に、走査ラインに対
するバーコードの傾きが大きい場合においてもバーコー
ドの読取が可能となり、かつ走査データから信頼性の高
いデータを読取ることができる、という効果が得られ
る。
【図面の簡単な説明】
【図1】本実施例の概略を示すブロック図である。
【図2】バーコード読取ルーチンを示す流れ図である。
【図3】合成開始判定処理ルーチンを示す流れ図であ
る。
【図4】開始パターンの検索状態を示す説明図である。
【図5】開始パターンが検出されたときのSDMへの転
送状態を示す説明図である。
【図6】データ抽出処理ルーチンを示す流れ図である。
【図7】移動速度の変化と対応するバーとの位置関係を
示す線図である。
【図8】データ抽出処理の検索範囲を示す線図である。
【図9】同一部分の抽出状態を説明するための線図であ
る。
【図10】コード結合処理ルーチンを示す流れ図であ
る。
【図11】コード結合の検索範囲を示す線図である。
【図12】合成データの更新状態を示す線図である。
【図13】各データとアドレスDpとの関係を示す線図
である。
【符号の説明】 10 スキャナ 12 復号器 14 インターフェース
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06K 7/10

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 バーコードとセンサとを相対移動させて
    所定周期でバーコードを走査し、各走査ラインの走査デ
    ータの一致度を考慮して走査データを逐次結合させるこ
    とによりバーコード情報を合成して読取るバーコード読
    取装置において、 前後の走査ラインの走査データを比較して各走査データ
    からデータの同一部分を抽出すると共に、該同一部分の
    対応するバー又はスペースの座標の差に基づいて前記相
    対移動速度に応じた移動量を算出するデータ抽出手段
    と、 後の走査ラインにおける前の走査ラインの座標に前記移
    動量を加算して求めた基準位置を含む所定範囲内の領域
    を検索して前の走査ラインのバー又はスペースに対応す
    る後の走査ラインのバー又はスペースを抽出することに
    より前記同一部分の位置合わせを行うと共に、合成デー
    タに前記同一部分を結合して新たな合成データとするコ
    ード結合手段と、 を設けたことを特徴とするバーコード読取装置。
JP6109908A 1994-05-24 1994-05-24 バーコード読取装置 Expired - Fee Related JP2839836B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6109908A JP2839836B2 (ja) 1994-05-24 1994-05-24 バーコード読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6109908A JP2839836B2 (ja) 1994-05-24 1994-05-24 バーコード読取装置

Publications (2)

Publication Number Publication Date
JPH07319992A JPH07319992A (ja) 1995-12-08
JP2839836B2 true JP2839836B2 (ja) 1998-12-16

Family

ID=14522206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6109908A Expired - Fee Related JP2839836B2 (ja) 1994-05-24 1994-05-24 バーコード読取装置

Country Status (1)

Country Link
JP (1) JP2839836B2 (ja)

Also Published As

Publication number Publication date
JPH07319992A (ja) 1995-12-08

Similar Documents

Publication Publication Date Title
AU601100B2 (en) Technique for reading bar codes
US4973829A (en) Bar code reading method
JP3115003B2 (ja) モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置
JPH07105304A (ja) バーコード走査接合方法
JPS60262284A (ja) イメ−ジ処理方法
JPH10134130A (ja) バーコード読取方法およびバーコード読取装置
US5471041A (en) Bar-code reader device
JPH09161001A (ja) バーコード読取装置
JP2839836B2 (ja) バーコード読取装置
JP3202402B2 (ja) イメージ入力されたバーコードの認識処理方法
JPH08263585A (ja) コード読取装置
JP3234405B2 (ja) バーコード読取装置及びその方法
JPH06195497A (ja) バーコードデコーダ
JP4221960B2 (ja) 帳票識別装置及びその識別方法
JP3018702B2 (ja) バーコード復調装置
JP2751641B2 (ja) バーコード読取装置
JP2734781B2 (ja) バーコード読取装置
JP2826229B2 (ja) バーコードラベルの走査位置検出方法
JP2849000B2 (ja) バーコードラベルの走査間隔決定方法
JPH08329185A (ja) シンボル情報読取装置
JP2864777B2 (ja) 線画像照合装置
JP2773438B2 (ja) バーコード読取装置
JPH0581477A (ja) 文字切出し方法
JP4096458B2 (ja) 画像読取システム
JPH0562005A (ja) バーコード読取装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees