JPH087771B2 - バ−コ−ド用デコ−ダ - Google Patents

バ−コ−ド用デコ−ダ

Info

Publication number
JPH087771B2
JPH087771B2 JP61271629A JP27162986A JPH087771B2 JP H087771 B2 JPH087771 B2 JP H087771B2 JP 61271629 A JP61271629 A JP 61271629A JP 27162986 A JP27162986 A JP 27162986A JP H087771 B2 JPH087771 B2 JP H087771B2
Authority
JP
Japan
Prior art keywords
bar code
time interval
value
data
interval data
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 - Lifetime
Application number
JP61271629A
Other languages
English (en)
Other versions
JPS62117086A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS62117086A publication Critical patent/JPS62117086A/ja
Publication of JPH087771B2 publication Critical patent/JPH087771B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/01Details
    • G06K7/016Synchronisation of sensing process

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はバーコード用デコーダに関し、特にバーコー
ド読取装置を読取対象のバーコード上において手動で移
動させることによって当該バーコードのスキャンを手動
で行う手動スキャン方式バーコード読取装置(例えばワ
ンド(wand)・スキャナ)と、読取対象のバーコードの
スキャンをバーコード読取装置自体が自動的に行う自動
スキャン方式バーコード読取装置(例えば移動ビーム
(moving beam)・レーザ・スキャナ)の何れからの出
力データでも処理可能なバーコード用デコーダに関す
る。なお以下では、手動スキャン方式バーコード読取装
置、自動スキャン方式バーコード読取装置を、その具体
的な製品の主要なもので代表させるという意味で、夫々
ワンド・スキャナ、レーザ・スキャナと称する。
〔従来技術およびその問題点〕
バーコードとは情報を示すパターンを印刷したもの
で、機械によって読取れるものである。バーコードはバ
ーと空白との反復から成り、この幅の変化によって文字
や数字等の文字セットが符号化される。バーコードはキ
ーボードからの入力より高速かつ高精度であるので、デ
ータ収集端末、POS(Point of sales)端末、キーボー
ド装置、重量測定装置、および他のデータ収集および材
料取扱い装置(material handling equipment)等の製
造業者は、製品にバーコード読取能力を設けたいという
要求が高まっていることを悟っている。バーコード・ラ
ベル付けは医療研究所、食品処理および販売業、および
自動車製造業等の産業において製品認識および追跡のた
めに使用されている。
バーコード・ラベルの各文字は個々のバーと空白の順
序付けられた並びによって示される。バーと空白は要素
と呼ばれ、離散的な幅範囲を有する。つまり、各要素の
幅はモジュールと呼ばれる標準寸法の倍数でなければな
らない。殆んどのバーコードでは要素は1〜3モジュー
ルにより構成される。モジュールには、各バーコード表
現(bar code symbology)に対して絶対的な幅と許容度
が指定されている。バーコードによって表現可能な文字
セットおよび各文字当りの要素数は各表現方式によって
異なる。例えば、ユニバーサル・プロダクト・コード表
現方式では文字0は3モジュール幅のバー、2モジュー
ル幅の空白、1モジュール幅のバー、1モジュール幅の
空白のシーケンスによって表示され得る。
バーコードは2段階の読取り処理で読み取られる。即
ち、走査とデコードの2段階である。走査ステップは走
査中のバーコード中のバーと空白の幅を表わす電気信号
を生成する。デコード・ステップではスキャナからの信
号を測定および解釈してバーコードに符号化されていた
文字を形成する。
スキャナ装置を大きく2種類に分けると、操作者が走
査動作を行う必要があるものと不要なものとがある。前
者のうちで最も普通の装置は手持ち式のバーコード走査
ワンドであり、後者は手持ち式の移動ビーム・レーザ・
スキャナである。いずれの種類のスキャナも目標バーコ
ード・タグの領域を照射するため、スキャナ内部からの
光を放射する光源を使用する。光検出器は照射領域に合
わせられ、走査運動経路にそって光を検出する。これは
ワンド・スキャナでは手動で実行され、移動ビーム・ス
キャナでは自動移動部によって行われる。光検出器がバ
ーおよび空白からの反射光のある/なしに反応すると、
スキャナはアナログまたはディジタル出力信号を生成す
る。この信号はバーの検出時にはあるレベルをとり、空
白の検出時には別のレベルとなる。バーコード走査中
に、交互出力状態がデコーダによって時間間隔として測
定される。これは印刷された要素の相対幅員に対応す
る。
時間間隔の絶対値は走査動作速度に反比例する。走査
動作が高速になると時間間隔は短縮される。更に速度変
化、すなわち加速度、が少ない程、時間間隔の平均長の
変化も少ない。従って、手動式のワンド・スキャナから
の時間間隔を、レーザ・ビームを高速移動させるために
回転鏡を用いるレーザ・スキャナの時間間隔と比較する
と、次の主要相違点は明らかである。
1)ワンド・スキャナについての時間間隔の有効な範囲
は300msから100msであるのに対し、レーザ・スキャナで
はこの範囲は約10μsから400μsである。
2)スキャナに加わる加速度と、これに対応する時間間
隔の値変化はレーザ・スキャナよりもワンド・スキャナ
の方がずっと大きい。
デコーダは走査信号の処理とデコード・データ作成と
のためのハードウェアおよびソフトウェアから成る。第
2図は代表的なバーコード用デコーダの構成の概略を示
す。バーコード用デコーダ11はスキャナ出力からのパル
スの時間間隔を測定するための1個あるいは複数のタイ
マ12と、マイクロプロセッサ18と、デコード・ソフトウ
ェアを含むROM20と、変数の配列およびバッファ用のRAM
22と、入出力回路24を含む。ソフトウェアは時間間隔デ
ータを収集して記憶し、時間間隔値をデコードして元の
文字に変換し、またアプリケーションに依存する各種入
出力機能を実行する。
従来、手持式のレーザ・スキャナおよび手持式のワン
ド・スキャナのデコーダは別の装置であるか、または、
少なくとも2つの型のスキャナからのバーコードを読取
るために夫々個別のハードウェア構成要素を使用してい
る。デコード・ソフトウェアは使用されるスキャナの種
類毎に特定のものが用いられる。ワンド・スキャナまた
はレーザ・スキャナのいずれについても動作する一組の
ハードウェア構成要素とひとつのデコード・プログラム
から成る単一のデコーダがあれば好都合であろう。バー
コードを使用するシステムの設計者は、デコーダがスキ
ャナを簡単にとりかえることができるようになっている
ならば、ワンドとレーザの両方式のスキャナを組込むた
めの二重の苦労をする必要がない。
現在使用されている装置でどちらの種類のスキャナか
らも入力を受けることのできるシステムがある。しか
し、これは一部のハードウェアおよびソフトウェアの重
複が必要であり、それでもなお単一デコーダと同じよう
には効果的に作動しない。第3図に示すようにこのシス
テムはワンド・デコーダ26とレーザ・スキャナ用のアダ
プタ28を含む。アダプタ28には、タイマ、マイクロプロ
セッサ、ROM、およびレーザ出力信号のデコードに必要
なRAMが含まれている。アダプタ28自身はレーザ出力を
デコードし、丁度ワンド・スキャナが走査に使用された
かのようにシミュレートされたワンド出力信号を生成す
る。この新しい信号はワンド・デコーダ26に供給され、
このワンド・デコーダ26はこれを再びデコードすること
により、アプリケーションの入出力機能を実行する。こ
のシステムの欠点は、殆んどのデコード用のハードウェ
アおよびソフトウェアが重複し、更に、各バーコードの
読取りに対して2回のデコードを順次実行しなければな
らないことである。
〔発明の目的〕
本発明は上述した従来技術の問題点を解消し、構成が
簡単でかついずれの型のスキャナからの入力についても
良好な特性を有するバーコード用デコーダを提供するこ
とを目的とする。
〔発明の概要〕
本発明の一実施例によれば、ワンド・スキャナとレー
ザ・スキャナの両出力をデコードするためのより優れた
バーコード用デコーダが与えられる。即ち、単一のデコ
ーダ内で効率的ソフトウェアを使用することによって余
分なハードウェア無しでワンド・スキャナとレーザ・ス
キャナの両方式のためのデコード機能を実行する。これ
らのデコード機能の組合せは、ワンド・スキャナからの
出力データを変換して、レーザ・スキャナの出力と同じ
特性を持たせることによって実現される。いったんこの
変換が実行されると、必要とされるデコード処理および
ハードウェアは両種類のスキャナの入力に関して同一と
なるので、一個のバーコード用デコーダで十分となる。
デコーダのためのハードウェア量を増加させずワンド
・スキャナ用とレーザ・スキャナ用のデコード・ソフト
ウェアを組合せるためには、プログラム・メモリ空間、
データ・メモリ空間、およびデコード実行時間を減少さ
せる必要がある。これは本発明の実施例で実現される。
即ち、ワンド・スキャナに関する時間間隔がデコード・
ハードウェアによって得られた時に、この間隔をスケー
リングおよび補償処理し、得られる時間間隔の範囲がレ
ーザ・スキャナからのものと同様になるようにする。ま
た時間間隔データに対する加速度の見かけ上の影響を大
きく減少または除去する。これにより、ワンド・スキャ
ナからのデータはレーザー・スキャナからのデータをデ
コードするために使用されるルーチンを用いてデコード
され得る。ワンド・データ・デコード・ルーチンはもは
や必要でなくプログラム・メモリ空間が節約される。時
間間隔値の範囲が制限されるので、この値を表現するた
めに必要なビット数は減少する。これによってデータ・
メモリ空間が節約される。最後に、より少ないビットで
表現される数を処理するデコード・ルーチンはより高速
であるのでデコード実行時間は短縮され、加速度補償ル
ーチンはバーコードの種類毎々の個別のデコード・アル
ゴリズム内に分散して設けられる必要はない。メモリ空
間と実行時間の節約はレーザ・スキャナ出力の処理能力
を持たないワンド・スキャナのためのバーコード用デコ
ーダにおいてさえ有益である。その理由は、ハードウェ
アの増加なしにより多くの能力とデコード機能をシステ
ムに付加できるからである。
スケーリングと補償処理はワンド・スキャナからの時
間間隔が得られた時に実行されるので、スケーリングさ
れ補償されたデータのみがデコード用に記憶される。割
込駆動の時間間隔獲得ルーチンはワンド・スキャナから
のデータをスケーリングされていない補償前の形式で循
環式キューにストアする。他のルーチンがスケーリング
と補償を実行することによりこのキューから繰り返えし
データを取り去っていく。スケーリングと補償処理は、
実際の時間間隔の各々を動的スケーリング係数で除算し
商を保持する処理から成る。この商がデコード・ルーチ
ンで使用される新しい時間間隔測定値となる。スケーリ
ング係数はディジタル・フィルタの出力であって、この
フィルタの入力は現時点での商と、直前の実際の時間間
隔のウインドウと、直前にスケーリングされ補償された
時間間隔のウインドウである。ディジタル・フィルタの
機能はスケーリング係数を更新し、これにより次回の商
が所望範囲内に入るようにすることである。これも見か
け上の加速度を除去する効果をもたらす。
〔発明の実施例〕
本発明の一実施例のバーコード用デコーダのデータ・
フローを第1図に示す。ワンド・スキャナまたはレーザ
・スキャナであるスキャナ32から出力されるディジタル
・データは、時間間隔を測定し整数データの流れを生成
するタイマ34に接続される。レーザ・スキャナ出力にお
ける時間間隔データであるレーザ・データはデータ・メ
モリ40に直接送出され、ここでデコードのためにストア
される。一方、ワンド・スキャナの出力から得られた時
間間隔データであるワンド・データはバッファ・メモリ
36内の小規模の循環式キューに直接送られる。ディジタ
ル式のスケーリング/補償フィルタ38はこのキューから
現実の時間間隔のデータを次々に取去ることによって、
キューを継続的に空にしていく。このデータをレーザ・
データの特性を持つデータに変換するのに必要なスケー
リングおよび補償処理を実行し、その結果をデータ・メ
モリ40にストアする。スケーリングと補償はワンド・デ
ータの獲得時に実行されるので、スケーリングされない
補償前のデータは循環式キューにのみストアされ、スケ
ーリング後の補償されたデータはデコードのためにデー
タ・メモリ40にストアされる。スケーリング/補償フィ
ルタ38で処理されデータ・メモリ40に入れられたワンド
・データはレーザ・データと同一の特性を有するので、
入力データがレーザ・スキャナからかそれともワンド・
スキャナからかによらずに、同じデコード・ルーチンが
使用される。このデータはデコード部42でデコードさ
れ、入出力処理は入出力部44で行われる。これによりデ
コードされたバーコード情報がホスト・プロセッサ(図
示せず)に転送可能となる。
時間間隔のスケーリングにあたって、スケーリング/
補償フィルタ38はたとえば16ビット範囲の2進入力値を
8ビット範囲の2進出力値に変換する必要がある。スケ
ーリング/補償フィルタ38はまた、ワンド・スキャナの
加速による入力データ値の平均値の大きな変化も補償せ
ねばならない。入力時間間隔値は走査速度の変化に従っ
て16ビット範囲内で極めて広く変化し得るが、スケーリ
ング/補償フィルタ38の出力は0から255の範囲でなけ
ればならない。しかし、また入力された時間間隔値にお
ける相対的比例関係を保存しなければならない。
時間間隔値E(i)の系列は垂直軸にE(i)の値を
とり、また水平軸にインデクスiを取ることによって便
宜的にグラフとして表示され得る。このようなグラフを
第4図に示す。この表現法を用いることにより、スケー
リングおよび補償の例を第5図に示す。ここで、スケー
リングおよび補償を行うことにより、出力データC
(i)の系列が生成される。時間間隔値E(i)の範囲
は縮小され、C(i)は0から255の範囲内に収められ
る。第5図の(A)でE(i)の包絡線が減少していく
ことで示されている加速度の影響は同図(B)に示すよ
うに除去される。しかし、C(i)内の相対的比例関係
は対応するE(i)の値と局所的に同一である。
ディジタル式のスケーリング/補償フィルタ38の一般
形式を第6図に示す。スケーリング/補償フィルタは、
動的スケーリング係数d(i)でその入力であるE
(i)を除算することにより、スケーリングと補償を行
って対応する出力値c(i)を生成する。一般形式では
d(i)は次の関数によって決定される。
d(i)=f(E(o),…E(i−2),E(i−
1),E(i), E(i+1),……,c(o),…c(i
−2), c(i−1),c(i),d(o),…d
(i−2), d(i−1)) ……(1) このスケーリング/補償フィルタはd(i)の項が入力
に帰還されるので再帰的である。更にこのスケーリング
/補償フィルタはインデクスとして、iに対する正オフ
セットを有する項(つまり、今スケーリングおよび補償
しようとしているE(i)よりも時間的に後に発生する
値)が関数f内に存在するので非因果的である。しかし
このスケーリング/補償フィルタは、E(i)をこのフ
ィルタに供給する前にバッファ・メモリ36中のキューに
バッファすることができるので実現可能である。
以下にディジタル式のスケーリング/補償フィルタ38
の単純な実現例の動作を記述する式を示す。
c(i)=E(i)/d(i−1) ……(2) 上式で表現されるスケーリング/補償フィルタは因果的
かつ再帰的であって、d(i)は一般関数 d(i)=f(d(i−1),E(i−2),E(i−
1)) ……(4) によって決定される。
2つの式がフィルタ動作を制御する。第1の式(2)
は実際の時間間隔E(i)をd(i−1)で割ることに
より、既に説明したスケール後の時間間隔c(i)を生
成する除算を示す。第2の式(3)は次回のd(i)の
値を決定する。なおd(i)等の初期値はE(i)の特
性やその他の条件によって適宜定めることができる。
これらの式を参照すると、式(2)において、入力値
E(i)は直前の反復処理からのスケーリング係数d
(i−1)によって除算され、スケーリング後の時間間
隔として出力c(i)を生成する。次の除数、すなわち
スケーリング係数d(i)は式(3)で計算される。
次のスケーリング係数d(i)は、式(3)からわか
るように2個の直前のE(i)入力値に依存して、今回
のスケーリング係数に対して高々1または2を加減した
だけにすぎない。E(i)値が急速に増加し、2つ以前
のE(i)(つまりE(i−2))の値が1つ以前のE
(i)(つまりE(i−1))の値の2倍より大きけれ
ば、d(i−1)に2を加えたものをd(i)とするこ
とにより急速に補償を行う。E(i)の値が中程度の増
加速度であればd(i−1)に1を加えたものをd
(i)とする。E(i)の値が減少した際d(i−1)
を逓減する処理も同様に行われる。E(i)の値が一定
ならばd(i)は一定である。除数であるスケーリング
係数d(i)がE(i)と共に増加および減少するの
で、得られる出力値c(i)は同一値に留まる傾向とな
り、走査速度変化を反映するE(i)の値の変化を補償
するためになめらかに変化する。しかしd(i)はE
(i)の単独の瞬時的な変化には急激には追従できない
ので、時間間隔、つまりバーと空白の幅の相対的長さは
保持される。
第7図はこの簡単なフィルタの動作を示すフローチャ
ートである。その動作にあたってはこのフィルタは、第
7図のステップ208から始動する。新入力値E(i)を
受信すると制御はステップ210に渡り、ここでE(i)
をd(i)で割って対応するc(i)の値が計算され
る。
制御は次にテスト・ステップ212に渡り、E(i−
1)が2E(i−2)より大きいかが判定される。テスト
結果が真であるとステップ214に進みd(i)をd(i
−1)+2にセットする。逆にテスト・ステップ212の
結果が偽であるとテスト・ステップ216に進む。
テスト・ステップ216はE(i−1)がE(i−2)
より大きいかを判定する。テスト結果が真であればステ
ップ218に進みd(i)はd(i−1)+1に設定され
る。結果が偽であればテスト・ステップ220に進む。テ
スト・ステップ220はE(i−1)がE(i−2)に等
しいかを判定する。テスト結果が真であるとステップ22
2へ進みd(i)はd(i−1)と同じ値に設定され
る。結果が偽であればテスト・ステップ224に進む。
テスト・ステップ224はE(i−1)が(1/2)E(i
−2)以上であるかを判定する。テスト結果が真である
とステップ226に進みd(i)はd(i−1)−1にセ
ットされる。結果が偽であればステップ228に進みd
(i)はd(i−1)−2にセットされる。
ステップ214,218,222,226,または228でd(i)の値
が記憶され、ステップ230に進みインデクス変数iは次
の反復処理のために逓増される。ステップ230から制御
はフィルタ・ルーチン・プログラムの開始点に戻り、ス
テップ208で次の入力値を持つ。
以下に、ディジタル式のスケーリング/補償フィルタ
38の望ましい実施例の動作の一例を記述する式を示す。
c(i)=E(i)/d(i−1) ……(5) ここでフィルタは因果的かつ再帰的であって、d(i)
は次の一般関数で決定される。
d(i)=f(d(i−1),c(0),…,c(i−
3),c(i−2), c(i−1),c(i)) ……(9) このスケーリング/補償フィルタの基本関数は前述の
単純なフィルタのものと同一である。d(i)の値はE
(i)の値に比例して変化し、その商であるc(i)を
範囲内の中央値の近傍に保持する。これに加えて、これ
らの式を使用することによって、c(i)の値の歪みを
防ぐためにどの時点でどの程度d(i)を変化させるか
ということに関して、このフィルタは前掲のものより更
に良好に決定できる。
フィルタ動作は上述の4本の式で制御される。第1の
式(5)は現実の時間間隔E(i)を除数であるスケー
リング係数d(i−1)で割って、スケーリングされた
時間間隔c(i)を生成する除算を示す。他の3本の式
(6)〜(8)は中間計算を記述し、中間値a(i),b
(i)によってスケーリング係数d(i)の次の値を決
定する。フィルタ動作は式(5)〜(8)を参照して各
式の意味を順次分析することで理解され得る。
動的なスケーリング係数d(i)は現実の時間間隔E
(i)からスケーリングされた時間間隔c(i)を生成
するための除数である。式(5)において、直前の反復
処理により得られたスケーリング係数d(i−1)は現
時点の入力E(i)からの現時点の結果c(i)を形成
するために使用される。現時点のスケーリング係数d
(i)は式(8)で計算される。
式(6)から決定される中間値a(i)は最近得られ
たc(i)の平均値の予測値である。この表示には他の
中間値b(i−1)が使用される。この中間値b(i−
1)は式(7)で示されるようにa(i−1)を単にク
リッピングしたものである。中間値b(i)を用いるこ
とによって導入されるクリッピングを除いて、a(i)
の式はc(i)に対する再帰的スムージング・フィルタ
であり、b(i−1)に関する重みc(i)に依存する
可変周波数応答を有している。異なる重みづけとクリッ
ピングをする理由については後刻説明する。
式(7)で決定される中間値b(i)は110以下かつ6
0以上である。b(i)の値は、a(i)が区間60〜110
の範囲外になければa(i)の値にセットされる。ま
た、区間60〜110の範囲外になった場合、b(i)は80
または100にクリップされる。
式(8)においてd(i)の現在値が決定される。各
d(i)の値は直前の値より大きくなってc(i)の値
を小さくするか、または直前のものと同じ値に留るか、
または小さくされることによってc(i)の値を増加さ
せるかのいずれかになる。この選択はc(i)自身によ
らないでa(i)の値に依存する。a(i)の値は式
(6)からわかるように最近のc(i)の平均値の予測
値である。a(i)≧110であればd(i)は増加し、
a(i)<60であればd(i)は減少する。
これら4本の式を概観し終ったところで、もっと詳し
く検討すれば式(6)〜(8)の関数の選択が明確にな
る。式(6)では、a(i)はc(i)が大きければb
(i−1)に対する重みよりも大きい重みをc(i)に
与えることにより計算される。c(i)の値が表現可能
な範囲内の中間または低い部分に入っていれば、式
(6)中のc(i)の重みづけは小さくなる。可変重み
づけを用いることによって大幅でかつ突然の変化をE
(i)に、従ってc(i)に与えることが可能である。
これによりa(i)に対してより直接の影響を与えるこ
とができる。式(8)で示されるようにa(i)はd
(i)の変化を決定するのでフィルタはE(i)の減少
に対するよりも増加に対する補償に関してより高い応答
を示す。これは、約60〜110であるc(i)出力の所望
の静的範囲(quiescent range)が表現可能範囲0〜255
の最大値近くに対数的に近づくので好都合である。例え
ばE(i)を2倍にしたときd(i)がこれに直ちに応
答して2倍にならない場合は、これによってc(i)は
2倍にされて範囲0〜255を出てしまう。
一方、E(i)を半分にしたとき直ちには補償されない
としても、c(i)は30〜55の範囲で生成されるが、こ
れも表現可能である。c(i)の静的範囲はc(i)が
より高分解能でE(i)を表示するように大きな値に選
択される。
式(7)においてb(i)の計算時に余分なクリッピ
ングが行われている。これはa(i)値をd(i)変化
閾値60および100から遠ざけるようにすることによって
d(i)の複数回の連続変化を防止しているのである
(式(8)参照)。平均化によって緩やかに変化するa
(i)の値の系列からもしb(i)の値を求める際にク
リッピングを行わないとしたならば、b(i)の値は閾
値60を下回るか、100を上回った領域からすぐに戻るこ
とができず、上式のような計算の結果得られるc(i)
の変化によりa(i)の値が区間60〜110内に戻される
まで、d(i)の変化が繰返されてしまう。このような
ことになれば、E(i)の系列のスケーリングの過補償
およびc(i)の局所的比率の歪みが発生する。
式(8)においてd(i)の増減はd(i)の値に比
例せねばならない。さもなければスケーリング変化量は
d(i)が小さい時にはd(i)の逓増変化に対して不
釣合いに大きくなる。従って、固定値で逓増または逓減
するかわりに、増加時は17/16および減少時は15/16の係
数による乗算が実行される。上記係数による演算は、16
による除算についてはスワップ・ニブル命令を用い、分
子については8×8乗算命令を用いることで効率良く実
行される。
第8図はスケーリング/補償フィルタ38の動作を示す
フローチャートである。ステップ108でフィルタがE
(i)の現在値を受けると制御はステップ110に渡り、
直前の反復処理からの除数d(i−1)で除算すること
によって対応するc(i)値が計算される。出力値c
(i)はメモリに記憶され更に次ステップでa(i)を
決定するために使用される。
ステップ111〜115では中間値a(i)がc(i)とb
(i−1)の値を基礎に計算される。テスト・ステップ
111においてc(i)が200以上であればステップ112に
進みa(i)は(1/2)〔b(i−1)〕+(1/2)〔c
(i)〕にセットされる。また、テスト・ステップ111
の結果が偽であれば、テスト・ステップ113に進みc
(i)が160以上かが判定される。テスト結果が真であ
ればステップ114に進みa(i)は(3/4)〔b(i−
1)〕+(1/4)〔c(i)〕にセットされる。テスト
・ステップ113の結果が偽であればa(i)は160未満で
あって、プログラムの流れはステップ115に進みa
(i)は(7/8)〔b(i−1)〕+(1/8)〔c
(i)〕にセットされる。
ステップ112,114,または115でa(i)が記憶される
と次はテスト・ステップ116に進む。ステップ116〜125
で第2の中間変数b(i)と新しい除数d(i)がa
(i)の値を基に決定される。テスト・ステップ116に
おいて、a(i)が110以上であるかを判定すするため
にテストを行う。この結果が真であるとステップ117に
進みb(i)は100にセットされ次のステップ122でd
(i)は(17/16)d(i−1)にセットされる。結果
が偽であればテスト・ステップ118に進み、a(i)が6
0以上であるかが判定される。この判定結果が真である
とステップ119に進み、b(i)はa(i)の値にセッ
トされ、次のステップ124でd(i)はd(i−1)の
値にセットされる。テスト・ステップ118の結果が偽で
あれば、a(i)は60未満であり、ステップ120に進み
b(i)は80にセットされ、次ステップ125でd(i)
は(15/16)d(i−1)にセットされる。
ステップ122,124,または125においてd(i)の値が
記憶され、ステップ126に進みインデクスiが逓増さ
れ、制御はルーチンのスタートに戻され、ステップ108
で次入力値を待つ。
〔発明の効果〕
以上説明したように、本発明によればワンド・スキャ
ナのデータ・レートをスケーリングし、またワンド・ス
キャナの走査速度の変動を補償することにより、ワンド
・スキャナとレーザ・スキャナの出力を同じデコーダで
デコードすることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のバーコード用デコーダ内の
データの流れを示す図、第2図はバーコード用デコーダ
の代表的な構成を示すブロック図、第3図は従来技術に
かかるバーコード用デコーダのブロック図、第4図はデ
コードされるべき時間間隔データの系列の一例を示す
図、第5図は本発明の一実施例におけるスケーリングと
補償を説明するための図、第6図はスケーリング/補償
フィルタの概略説明図、第7図および第8図は夫々スケ
ーリング/補償フィルタの構成例の動作を説明するため
のフローチャートである。 32:スキャナ,34:タイマ,36:バッファ・メモリ,38:スケ
ーリング/補償フィルタ,40:データ・メモリ,42:デコー
ド部,44:入出力部。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】第1及び第2のバーコード読取装置からの
    信号の状態変化の間のパルス幅時間間隔を測定するタイ
    マ手段と、 前記タイマ手段に接続され前記第1のバーコード読取装
    置からの時間間隔データを、読み取られたバーコードの
    バー及びスペースの時間間隔値の間の比率が特定の値に
    維持されるような、前記第2のバーコード読取装置から
    の時間間隔データの特徴を有する時間間隔データに変換
    する適応型ディジタルフィルタを設けたフィルタ手段
    と、 前記タイマ手段から前記第2のバーコード読取装置から
    の時間間隔データを受け取り、また前記変換された前記
    第1のバーコード読取装置からの時間間隔データを前記
    フィルタ手段から受け取り、前記受け取った時間間隔デ
    ータをキャラクタデータに変換するデコーダ手段と を有する、前記第1及び第2のバーコード読取装置から
    の信号のいずれもデコード可能であるバーコード用デコ
    ーダ。
  2. 【請求項2】前記第1のバーコード読取装置は、バーコ
    ード読取装置を読取対象のバーコード上において手動で
    移動させることによって当該バーコードスキャンを手動
    で行う形式であり、 前記第2のバーコード読取り装置は読取対象のバーコー
    ドのスキャンをバーコード読取装置自体が自動的に行う
    形式である ことを特徴とする特許請求の範囲第1項記載のバーコー
    ド用デコーダ。
  3. 【請求項3】前記ディジタル・フィルタは各時間間隔デ
    ータを動的変換係数で除算する事によって前記第1のバ
    ーコード読取装置からの時間間隔データをスケーリング
    しまた補正し、前記動的変換係数は以前の時間間隔デー
    タ及び以前のスケーリングされ補正された時間間隔デー
    タの関数として定められる事を特徴とする特許請求の範
    囲第1項または第2項記載のバーコード用デコーダ。
JP61271629A 1985-11-15 1986-11-14 バ−コ−ド用デコ−ダ Expired - Lifetime JPH087771B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/798,765 US4761544A (en) 1985-11-15 1985-11-15 Means and method of scaling time interval measurements from an optical bar code scanner to improve decoder efficiency
US798765 1985-11-15

Publications (2)

Publication Number Publication Date
JPS62117086A JPS62117086A (ja) 1987-05-28
JPH087771B2 true JPH087771B2 (ja) 1996-01-29

Family

ID=25174206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61271629A Expired - Lifetime JPH087771B2 (ja) 1985-11-15 1986-11-14 バ−コ−ド用デコ−ダ

Country Status (4)

Country Link
US (1) US4761544A (ja)
EP (1) EP0223131B1 (ja)
JP (1) JPH087771B2 (ja)
DE (1) DE3688904T2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988004456A1 (en) * 1986-12-12 1988-06-16 Metrologic Instruments, Inc. Bar code reader with digitizer and sequencer
US4894522A (en) * 1987-11-19 1990-01-16 Spectra-Physics, Inc. Interface apparatus
CA1334218C (en) * 1989-03-01 1995-01-31 Jerome Swartz Hand-held laser scanning for reading two dimensional bar codes
CA1329263C (en) * 1989-03-01 1994-05-03 Mark Krichever Bar code scanner
US5828049A (en) * 1989-06-06 1998-10-27 Metrologic Instruments Inc. Code symbol reading system with multi-port digital signal decoder
US4963756A (en) * 1989-10-13 1990-10-16 Hewlett-Packard Company Focused line identifier for a bar code reader
US5034598A (en) * 1989-12-29 1991-07-23 Hewlett-Packard Company Keyboard emulation system providing audible feedback without a built-in transducer
US5313642A (en) * 1990-10-03 1994-05-17 Seagull Scientific Systems, Inc. Power interface for peripheral devices
US5196684A (en) * 1991-03-25 1993-03-23 Opticon, Inc. Method and apparatus for improving the throughput of a CCD bar code scanner/decoder
US6299065B1 (en) 1992-01-13 2001-10-09 Metrologic Instruments, Inc. Bar code processing system with multiport signal decoder
US5369260A (en) * 1993-04-08 1994-11-29 Symbol Technologies, Inc. Bar code scanning with correction for spot speed variation
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
DE4411023C2 (de) * 1994-03-30 1996-04-04 Leuze Electronic Gmbh & Co Optoelektronische Vorrichtung zum Erkennen von Kontrastmarken und Verfahren zur Reduktion von Signalverzerrungen für eine optoelektronische Vorrichtung zum Erkennen von Kontrastmarken
DE4414449C2 (de) * 1994-04-26 1996-03-14 Leuze Electronic Gmbh & Co Optoelektronische Vorrichtung zum Erkennen von Kontrastmarken
JP3629581B2 (ja) * 1995-04-13 2005-03-16 株式会社キーエンス バーコード読取装置
US6705526B1 (en) * 1995-12-18 2004-03-16 Metrologic Instruments, Inc. Automated method of and system for dimensioning objects transported through a work environment using contour tracing, vertice detection, corner point detection, and corner point reduction methods on two-dimensional range data maps captured by an amplitude modulated laser scanning beam
GB9918657D0 (en) 1999-08-06 1999-10-13 Flying Null Ltd Coded label information extraction method
US7344082B2 (en) * 2002-01-02 2008-03-18 Metrologic Instruments, Inc. Automated method of and system for dimensioning objects over a conveyor belt structure by applying contouring tracing, vertice detection, corner point detection, and corner point reduction methods to two-dimensional range data maps of the space above the conveyor belt captured by an amplitude modulated laser scanning beam
US7607571B2 (en) * 2003-05-30 2009-10-27 Intellidot Corporation Medical work flow system
US7337317B2 (en) * 2003-07-03 2008-02-26 Hand Held Products, Inc. Memory data copying system for devices
US7233504B2 (en) * 2005-08-26 2007-06-19 Power Integration, Inc. Method and apparatus for digital control of a switching regulator
US7934660B2 (en) 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US8635309B2 (en) 2007-08-09 2014-01-21 Hand Held Products, Inc. Methods and apparatus to change a feature set on data collection devices
US20090295541A1 (en) * 2008-05-27 2009-12-03 Intellidot Corporation Directional rfid reader
US8517269B2 (en) 2010-11-09 2013-08-27 Hand Held Products, Inc. Using a user'S application to configure user scanner
US8608053B2 (en) 2012-04-30 2013-12-17 Honeywell International Inc. Mobile communication terminal configured to display multi-symbol decodable indicia
US11289195B2 (en) * 2020-08-09 2022-03-29 Kevin Patel System for remote medical care

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864548A (en) * 1973-03-27 1975-02-04 Rca Corp Machine for reading article carrying coded indicia
US3848251A (en) * 1973-07-02 1974-11-12 Ibm Logical circuitry for recovering rpm decoded prm recorded data
JPS58223876A (ja) * 1982-06-23 1983-12-26 Casio Comput Co Ltd バ−コ−ド認識装置
FR2561802B1 (fr) * 1984-03-20 1987-07-17 Loire Electro Region Pays Lecteur optique fonctionnant en lecteur d'ecran television et en lecteur de code a barres
US4578570A (en) * 1984-08-14 1986-03-25 Ncr Canada Ltd.-Ncr Canada Ltee Bar code processing apparatus

Also Published As

Publication number Publication date
DE3688904D1 (de) 1993-09-23
EP0223131A3 (en) 1989-03-01
EP0223131B1 (en) 1993-08-18
DE3688904T2 (de) 1994-01-27
JPS62117086A (ja) 1987-05-28
EP0223131A2 (en) 1987-05-27
US4761544A (en) 1988-08-02

Similar Documents

Publication Publication Date Title
JPH087771B2 (ja) バ−コ−ド用デコ−ダ
US6575367B1 (en) Image data binarization methods enabling optical reader to read fine print indicia
US4091379A (en) Analog to digital wave shaping system
JP3150707B2 (ja) 全方向性バーコード探知器
US5481098A (en) Method and apparatus for reading multiple bar code formats
US5569901A (en) Symbol scanning system and method having adaptive pattern generation
US5524068A (en) Method and apparatus for finding areas of interest in images
JPH07200712A (ja) バーコード読み取りの方法および装置
JPH05205085A (ja) アナログ波形復号器
US7389923B2 (en) Methods and apparatus for tracking the direction of a moving item by a bar code scanner
US5537431A (en) Method and apparatus for bar code reading and decoding
US5237163A (en) Method for scanning a plurality of bar code labels
JPS6224836B2 (ja)
US5404004A (en) Bar code reader having N counters and N-1 composers
US4533825A (en) Bar code recognition apparatus
US4109143A (en) Optical reader
JP2000357205A (ja) バーコード読取装置及びバーコード読取方法
US5302814A (en) Bar code reading apparatus
US5059773A (en) Bar code reader signal processing method and device
WO2000019355A1 (fr) Dispositif et procede de correction de la largeur de barre, lecteur de code a barres et procede de decodage de code a barres
US5548108A (en) Method and apparatus for scanning symbols
EP1883893B1 (en) Method, system and scanner for decoding a barcode
JPH081553B2 (ja) 画像データの圧縮方式
US5988507A (en) Bar code reader
JP3785527B2 (ja) バーコード読取装置、及び記憶媒体