(57)【特許請求の範囲】
【請求項１】
レーザー光とミラーを利用してバーコードを捕捉した時刻と当該時刻における光学組立体の回転部の回転角とを検知することによって、バーコードを読み取るバーコードスキャナであって、
前記光学組立体に接続されたモーターが基準位置にあるときにモーター基準位置信号を発生するモーター基準位置センサと、
前記モーターが前記基準位置にあった時点からの経過時間を測定するタイマーと、
前記レーザーの反射光であるビデオ信号を記憶するビデオシステムと、
前記モーターが前記基準位置にある時点を示す基準パルスを発生し、前記モーターの回転に連動してパスルを発生するパルス発生器と、
前記パルス発生器により発生されたパルスを検出するためのパルス検出器と、
前記パルス検出器により検出されたパルスを計数するパルスカウンタと、
前記タイマーにより測定された経過時間を格納するデータ格納装置と、
を含み、
前記プロセッサーは、前記タイマーによって測定された経過時間毎のビデオ信号と、前記モーター基準位置信号の発生時刻及び当該発生時刻からの前記経過時間と、前記基準パルスの検知及び前記モーター基準位置からのパルス数と、から、前記光学組立体の回転角の検知を行うことによりバーコードの捕捉とその読み取りを行うことを特徴とするバーコードスキャナ。
【請求項２】
前記パルス検出器が、前記パルスカウンタから前記パルスを受信し、前記パルスの計数を前記モーターの回転数を表す回転計数に変換するモーター回転カウンタを含むことを特徴とする請求項１に記載のバーコードスキャナ。
【請求項３】
前記パルスの計数が前記経過時間と関連付けられた時間情報と回転情報を含む時間スタンプを発生することを特徴とする請求項１に記載のバーコードスキャナ。
【請求項４】
前記ビデオシステムが、バーコードに属するセグメントの開始点と終了点と間の間隔を測定する間隔測定回路を含むことを特徴とする請求項１乃至３の何れかに記載のバーコードスキャナ。
【請求項５】
前記ビデオシステムは、ビデオ信号の受信中に記録された隣接するバーコードスキャンを受容又は拒絶するように設定されているフィルタを含むことを特徴とする請求項４に記載のバーコードスキャナ。
【請求項６】
前記プロセッサーにより計算された位置データに基づき前記フィルタが調節されることを特徴とする請求項５に記載のバーコードスキャナ。
【請求項７】
前記ビデオシステムは、同時に平行して動作する第一ビデオシステムと第二ビデオシステムとから構成されていることを特徴とする請求項６に記載のバーコードスキャナ。
【請求項８】
前記第二ビデオシステムは、前記第一ビデオシステムとは異なる設定のフィルタを有するフィルタことを特徴とする請求項７に記載のバーコードスキャナ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バーコードスキャナに関する。本発明は特に、バーコードのスキャン中の時間情報およびミラー位置情報を収集・記録するための方法および装置に関する。
【０００２】
【従来の技術】
バーコードスキャナは現在、多数の用途に使用されており、これを使用することよって効率および精度を増大させることができる。販売取引においてバーコードスキャナを使用することによって取引情報を入力するに必要な時間を節約すると共に人的なデータ入力でエラーの生じる機会を低減することができる。
【０００３】
バーコードスキャナはこれを適切に使用すれば、労力利用の効率増大、待ち時間の減少による顧客の満足度の増大、および価格評価のエラーを低減することによる経営活動の品質改善を図ることができる。さらに、バーコードのスキャン（走査）は入力事項の瞬時的かつ正確な更新を可能とし、その結果経営活動の効率を著しく増大させる。
【０００４】
今日のバーコードスキャナはかなり頻繁にスキャンに失敗する。このような失敗は物品の再スキャンを必要とし、あるいは当該物品コードを手操作で入力することを必要とする。これはスキャンオペレーションを遅くし、その効率の妨げとなる。スキャン効率を改善すると共にスキャンの失敗回数を減少させるため、最近の高性能のバーコードスキャナはバーコード全体のスキャンと同様にバーコードの部分的スキャンも収集する。
【０００５】
部分的スキャンのみ、すなわちバーコード片のみ、が利用可能であるときは、それらのバーコード片から有効なバーコードを構築する試みが行われる。現在のバーコードスキャナ技術ではバーコード自体からは数値情報しか収集されない。言い換えると、今日のスキャナはバーコードの位置あるいはスキャンの速度もしくはタイミングについての情報を収集することができない。それゆえ、部分的スキャンの再構築に利用できる情報は限られており、それが部分的スキャンからバーコードを再構築する成功率を低くしている。
【０００６】
バーコードスキャナは、通常、ミラーおよび／またはレンズにより指向されるレーザービームを含んでいる。このビームはスキャンする領域もしくは体積に照準される。レーザーから出た光はこの領域もしくは体積に集められ、ミラー等の類似の手段を用いて光検出器に指向される。光検出器から出される信号は計算装置により解析される。
【０００７】
この計算装置は、到来する信号から有効なバーコードを生成することを試みる。例を挙げると、スーパーマーケットの会計ステーションでは検査係が各購入物品を、米国オハイオ州デイトンのＮＣＲコーポレーションから販売されているＮＣＲ７８７５型スキャナのようなスキャナの前を通過させる。
【０００８】
スキャナがバーコード片を捕捉した時刻と共に当該データを収集した時刻における回転ミラー組立体の角度とを捕捉することができれば、スキャン片から情報を捕捉して情報を再構築するバーコードスキャナの能力を著しく強化することができよう。それができれば完全なバーコードの再構築に利用できる情報量を大きく増すことができよう。
【０００９】
例えば、ラベルが存在した蓋然性の高いラベル位置と共にラベルの速度および移動方向が回復できるので、スキャンの処理効率を大きく改善することができよう。さらに、バーコードをスキャンする際には読取りの不明瞭や混乱が生じる可能性がいろいろと存在する。例えば、二つの物品が同時にスキャナの視界に到来してもそれら両方をスキャンすることはできない。言い換えると、スキャナは二つのコードの情報を識別することはできなので、スキャンは失敗するであろう。位置情報およびタイミング情報を追加することにより二つの対象物が共に識別でき、したがって成功裏に判別できる蓋然性が増大する。
【００１０】
【発明が解決しようとする課題】
それゆえ本技術分野では、高いスキャン成功率を収めることができるよう、スキャン中のタイミングおよびミラー角度もしくは位置に関する情報を収集・格納するバーコードスキャナが求められている。本発明は以下にさらに詳細に説明するように、上記の需要およびその他の需要にを認識するとともにそれらに応えるものである。
【００１１】
【課題を解決するための手段】
本発明の一実施形態であるバーコードスキャナは、スキャン中、バーコードから反射される光を発生するためのレーザーを含む。この光は、モーターで駆動される回転部すなわちスピナーを含む光学組立体を通して送られる。
【００１２】
入射光の方向および位置はスピナーの角位置に依存する。上記モーターに連動させて、スピナーが回転する際にパルスを生成するためのホール効果デバイスその他の装置がある。モーターの各回転ごとにある所定数のパルスが生じる。
【００１３】
各パルスはモーターの角位置に相関して発生する。例えば、各回転ごとに二つのパルスを生じさせることができる。したがってその場合は一つおきのパルスごとにモーターは既知の基準位置に戻る。
【００１４】
精確なクロックカウント（クロック計数）はその基準位置へ戻ったときのパルスに同期させることができる。この時間カウントおよび既知回転速度から、通常はバーコードのスキャンもしくは部分的スキャンであるスキャン事象が発生した時刻におけるモーターの角位置をプロセッサーが直ちに決定する。
【００１５】
スキャンした時刻におけるバーコードラベル（すなわちスキャンした時刻に存在した蓋然性のあるバーコードラベル）の時間的および空間的ロケーションを再構築することにより、多数の利点を獲得することができる。例えば、二つ以上のラベルを、それらが同一物品上にあるか二つの異なる物品上にあるかに拘わらず、また両ラベルが同じバーコードデータをもっていたとしても、同時に読み取ることができる。時間的および空間的データを使えば、急速かつ連続してスキャンした、あるいは実質上同時にスキャンした、同種の二物品の判別が可能となり、また急速な読取りで生じる同一物品の二重読取りの判別が可能となる。
【００１６】
バーコードラベルの空間的および時間的ロケーションを再構築することにより、ラベルがスキャナを通過する際の速度（速さ）および方向を決定することが可能となる。この再構築によって、会計係がスキャナの利用効率を改善するための自己学習を助けるよう、会計係にフィードバックを与えるようにスキャナをプログラムすることが可能となる。
【００１７】
また、上記の時間的および空間的データから、優れた初回パス読取度を得ることが可能となる。これによって店舗マネージャはいずれの会計係が最も効率的であるか、並びにいずれの会計係にさらなる訓練が必要であるかを決定することができる。加えて、チェックアウト（勘定清算）に対するいっそう優れた安全保障および精度が与えられる。
【００１８】
二つの異なるラベルの部分的読取りから誤ったコードが再構築される可能性を著しく低減できる。スキャン領域を去ってからスキャン領域に戻されるラベルを認識することができるので無視することができる。例えば、もしも良好な読取りを行うためにある物品を右から左へスキャナを通過させ、次に左から右へスキャン領域中に移動させ、さらに左へ移動させてスキャン領域外へ出すと、安全確保のため、そのラベルの二回目のスキャンは無視することができる。
【００１９】
したがって、本方法はこのような状況のみならずその他の状況の下で行われる二重読取りを防止するのに使用することができる。さらに、いくつかの物品の読取り間の遅延を低減しもしくは除去することができる。さらに、有利なことに多重フィルタ回路を通して受信したデータを収集し相関づけることができる。
【００２０】
ベルトの読取りなどの誤った読取りを防止するため、ある角度範囲のスキャン領域から受信したデータは、それと対応するデータがスキャン領域の他の部分で検出されないときは、無視することができる。スキャン領域の所定量域のフィルタリングモードは選択的に変えることができる。このようにして時間データおよび位置データを記録することにより、実質的な改良の大部分を達成することができる。
【００２１】
【実施例】
添付の図面を参照して以下に本発明の一実施例を説明する。
【００２２】
図１は、本発明の教示に基づいて、捕捉した時間データおよびミラー角データを使用するバーコードスキャナ１０の線図である。バーコードスキャナ１０は好適には一つのアプリケーションに特化した集積回路（Application specific integrated circuit, 以下「ＡＳＩＣ」という）１２を含む。
【００２３】
ＡＳＩＣ１２はマスター制御回路１５、第一ビデオ回路１７、および第二ビデオ回路１９を含む。これらについては図２及び図３に関連して、後でさらに詳細に論ずる。図示したバーコードスキャナ１０はいろいろの質量の物品（可変重量物品）２１等を載せて重量を計量できる計量器組立体１６を含むことが好ましい。
【００２４】
可変重量物品２１は、例えば食料品店でキログラム単位で販売される一袋のリンゴその他の生産物などである。計量器組立体１６はＡＳＩＣ１２に重量情報を与える。
【００２５】
バーコードスキャナ１０は、また、計量表示兼通信回路１８、第一周辺通信回路２０、第二周辺通信回路２２、計量器-ホスト端末器間通信回路２４、およびスキャナ／計量器-ホスト端末器回路２６を含むことが望ましい。
【００２６】
これらの各回路１８-２６は、各回路１８-２６から出る信号を初めラインコンディショナ２８を通過させてからＡＳＩＣ１２へ与える。ＡＳＩＣ１２はまたレーザー２９にレーザー制御信号を与えると共にモーター３０に命令を与える。
【００２７】
モーター３０は、モーター軸３０ａを含み、この軸にはその回転に伴って回転する固定ミラーを含んだ光学組立体３２が装着される。必要な数および方向のスキャンラインを生成するため、公知の方法により固定レンズおよび固定ミラーを適当に追加採用することができる。例えば、好適な一実施例として本発明をＮＣＲ７８７５型スキャナの改良に使用することができる。とはいえ本発明は多数の既存のスキャナおよび将来設計されるスキャナに適宜採用することができる。
【００２８】
ＡＳＩＣ１２から受信する信号に応答してモーター３０を駆動すると、光学組立体３２がモーター３０により運動される。レーザー２９から光が発射される。この光はバーコードラベル３４がスキャナの視界内にあるときは光学組立体３２を通してバーコードラベル３４に当たる。光はバーコードラベル３４に当たると光学組立体３２に反射し戻され、光学組立体３２により集められる。
【００２９】
集められた光信号から電気信号が発生され、アナログビデオ予備処理回路５２へ送られる。この回路５２はＡＳＩＣ１２にデジタル信号ＶＩＤＥＯ０およびＶＩＤＥＯ１を与える。また、バーコードスキャナ１０はマイクロプロセッサー４２を含む。中断信号、処理信号、ユニバーサル非同期受信／送信（Universal asynchronous reseive/transmitter, 以下「ＵＡＲＴ」という）信号その他の入出力（Ｉ／Ｏ）信号がＡＳＩＣ１２およびマイクロプロセッサー４２間で交信される。
【００３０】
バーコードスキャナ１０は、さらに入力／出力パッケージ４０を含む。このパッケージは正面スイッチ、光検出器および発光ダイオード（ＬＥＤ）を含む。
【００３１】
マイクロプロセッサー４２は、入力／出力パッケージ４０からスイッチ位置信号を受信することにより、正面パネルスイッチで設定できる。このマイクロプロセッサー４２は入力／出力パッケージ４０に発光ダイオード状態信号を送信することにより入力／出力パッケージ４０上の発光ダイオードの状態を設定する。
【００３２】
また、バーコードスキャナ１０は音声発生機能を含むことが望ましく、音声出力回路４８およびスピーカー５０を含む。例えばビープ音を使ってバーコード読取りが良好であったことを示すことができる。時間データおよび位置データに基づく訓練フィードバックなどの他のフィードバックを与えることできる。
【００３３】
バーコードスキャナ１０は、ＲＡＭおよびＲＯＭメモリ４４、４６を含み、バーコードスキャナ１０は、オペレーターと通信するための音および人工音声を発生しうることが望ましい。
【００３４】
音声出力回路４８は、何の音声を発生するか、またその音声をいつ発生するかを指示する信号を、ＡＳＩＣ１２およびマイクロプロセッサー４２から受信する。音声信号は、スピーカー５０に送られる。上述したように、時間データおよび位置データに基づいていろいろの新しいオペレーターフィードバックを与えることができる。データバスが、ＡＳＩＣ１２、マイクロプロセッサー４２，ＲＡＭメモリ４４、ＲＯＭメモリ４６、および音声出力回路４８を繋ぐ。
【００３５】
ＡＳＩＣ１２、マイクロプロセッサー４２、ＲＡＭメモリ４４、およびＲＯＭメモリ４６の間にはアドレスバス兼制御バスもつながれる。モーター３０は光学組立体３２の回転部を駆動する。このモーターは、ホール効果デバイスを含むことが望ましい。このデバイスはモーターが一回転するごとに所定数のパルスを発生する。モーター位置を精確に感知する任意のセンサを使用することができることを認識されたい。これらのパルスはモーターパルス信号の形でＡＳＩＣ１２およびマイクロプロセッサー４２に送信される。ＡＳＩＣ１２およびマイクロプロセッサー４２はこのモーターパルス信号をモーター基準位置に相関させることができる。
【００３６】
モーター３０が既知の所定速度で回転するに伴い、高速クロックパルス源から計測時間信号が発生されるのでモーター位置を計算することができ、その位置をバーコードスキャンあるいはバーコード間隔のような事象に相関づけることができる。このように、プロセッサー４２に内蔵されたタイマーを同期するのにこのモーターパルス信号を使用する。
【００３７】
このモーターパルス信号は、ある特定時点におけるモーター３０の角度を表す。バーコードスキャナ１０のオペレーションを開始する前の適当な時刻に、モーターの一回転あたりのパルス数とスキャンのための回転開始の基準として使用するパルスとに関する情報を用いてプロセッサー４２をプログラムする。
【００３８】
ＡＳＩＣ１２は、この情報を使用して、集めた事象の発生時刻をモーターの回転に同期させる。これについては以下にさらに詳細に説明する。
【００３９】
図２は、ＡＳＩＣ１２に含まれるマスター制御回路１５をさらに詳細に示す。マスター制御回路１５は復号兼選択制御回路１０２、先頭縁検出回路１０４、および後部縁検出回路１０６を含む。
【００４０】
マスター制御回路１５は、また、予備計量レジスタ１０８、モーターコンフィギュレーションレジスタ１１０、マルチプレクサ１１２、モーター速度レジスタ１１４、レーザーオフレジスタ１１６、およびレーザー制御回路１１８を含む。
【００４１】
制御回路１１８は復号兼選択制御回路１０２およびデータバス４３に接続される。ＡＳＩＣ１２の通常のオペレーションではマスタ制御回路１５が、入力されたアドレス、制御信号およびデータをマイクロプロセッサー４２から受信する。
【００４２】
復号兼選択制御回路１０２はマイクロプロセッサー４２から受信したアドレス信号および制御信号に呼応して、予備計量レジスタ１０８、モーターコンフィギュレーションレジスタ１１０、モーター速度レジスタ１１４、レーザーオフレジスタ１１６およびレーザー制御回路１１８の一つを選択する。
【００４３】
マイクロプロセッサー４２により、データはデータバス４３上に同時的に載せられ、そのデータは上記選択されたデバイスに負荷される。モーター制御回路１５はまた、長さ１４ビットまでの時間スタンプ値（time stamp value）を発生する時間スタンプクロック（time stamp clock）１３０を含む。
【００４４】
時間スタンプクロック１３０はクロックプレ・スケーラ（clock prescaler）１２０により制御される。このクロックプレ・スケーラは一定のクロック入力を受信する。
【００４５】
クロックプレ・スケーラが出力を発生する速度は、プレ・スケーラレジスタ１０８内に格納されている値（予備スケール値）によって制御される。予備スケール値は、モーター３０が予定の最小速度で回転するときの完全な一回転分の時間よりもビット０-９に対する最大値が僅かに大きくなるように、設定される。これについては以下にさらに詳細に説明する。
【００４６】
クロックプレ・スケーラは時間スタンプカウンタ１３０にクロック入力を与え、その結果、クロックプレ・スケーラが増数するごとに時間スタンプカウンタ１３０のクロックが作動される。時間スタンプカウンタ１３０はオーバーフロービット１０-１３の信号ＴＳを発生する。この信号はモーター速度比較器１２６のＡ入力に与えられる。モーター速度比較器１２６はＡ＞Ｂ比較器であり、そのＢ入力としてモーター速度レジスタ１１４から、モーター３０の第一予定最小可能速度を示すデータを受信する。
【００４７】
モーターが上記最小許容速度未満の速度で回転すると、ＴＳ値がモーター速度レジスタに格納されている値を超える。それゆえ比較器１２６のＡ入力がＢ入力を超える。このとき比較器１２６は、この状況に応答できるマイクロプロセッサー４２に対し中断信号を発生する。これを受けたマイクロプロセッサー４２は、モーター速度が特定の読取り条件に合うよう、例えば通常の回転速度よりも遅い速度で容易に読み取り可能であるバーコードに合うよう、モーター速度を所望の速度に調節する。
【００４８】
信号ＴＳは、またＡ＜Ｂ比較器であるレーザー比較器１２８のＡ入力としても与えられる。この比較器はそのＢ入力としてレーザーオフレジスタ１１６から、モーター３０に対する第二予定最小許容速度を表すデータを受信する。この予定最小速度はレーザー２９が動作しうる速度である。
【００４９】
レーザー比較器１２８の出力は、アンドゲート１３４に与えられる。このアンドゲート１３４はレーザー制御回路１１８の出力を入力される。アンドゲート１３４はレーザー２９をオンまたはオフに制御するレーザーオン信号を与える。したがってレーザー２９は、レーザー制御回路１１８がレーザー２９をオン状態にする命令を出しているときのみ、かつモーター３０の速度が許容範囲内にあることをＴＳ値が示しているときのみ、動作することができる。
【００５０】
モーター３０の速度が最小許容速度未満であるときは、レーザー比較器１２８のＡ入力がＢ入力を超え、レーザー比較器１２８の出力が「低」となり、アンドゲート１３４が「低」となり、LASER ON信号が同様に「低」となり、レーザー２９が作動停止される。
【００５１】
モーターコンフィギュレーションレジスタ１１０は一回転あたりのパルス数と同期をオンにする信号縁（同期オン縁）の極性を表すデータとを格納する。同期オン縁情報はマルチプレクサ１１２に与えられる。このマルチプレクサは検出器１０４または１０６から出される正しい縁検出信号を時間スタンプカウンタ１３０に多重する（加える）。
【００５２】
パルス比較器１２２は、一回転あたりのパルス数を受信して、クロックモーターパルスカウンタ１２４および時間スタンプカウンタ１３０にリセット入力を与え、さらにモーター回転カウンタ１３２にクロック入力を与える。モーター３０が回転しているときは、ＡＳＩＣ１２にモーターパルス信号が送られる。
【００５３】
ＡＳＩＣ１２はそれを先頭縁検出器１０４および後部縁検出器１０６により受信する。先頭縁検出器１０４および後部縁検出器１０６の出力はマルチプレクサ１１２に印加される。次いでマルチプレクサ１１２はその出力をクロックモーターパルスカウンタ１２４に与える。クロックモーターパルスカウンタ１２４はマルチプレクサ１１２から入力された信号を計数し、その計数値をパルス比較器１２２に与える。上述したようにパルス比較器１２２はまた完全な一回転あたりのパルス数を表す入力信号をモーターコンフィギュレーションレジスタ１１０から受ける。
【００５４】
モーターパルスカウンタ１２４により発生された計数値がモーターコンフィギュレーションレジスタ１１０内に格納されている値に等しいときは、パルス比較器１２２はパルスを発生する。このパルスは時間スタンプカウンタ１３０およびモーターパルスカウンタ１２４をリセットし、モーター回転カウンタ１３２のクロックを増数する。モーター回転カウンタ１３２は計数値ＭＲを与える。
【００５５】
この計数値は、時間スタンプカウンタから来る信号ＴＳと結合して時間スタンプ計数を生じる。この時間スタンプ計数は、後で図３に関連して述べるように使用される。図３は第一ビデオ回路１７のさらに詳細な線図である。第一ビデオ回路１７は第二ビデオ回路１９と同一で、これと平行して動作する。説明の重複を避けるため、第二ビデオ回路１９については説明しない。
【００５６】
第一ビデオ回路１７は、間隔カウンタ３０２、縁検出器３０４、オープンフィルタリミットレジスタ回路（open filter limit register circuit）３０６およびプレバッファ３０８を含む。
【００５７】
プレバッファ３０８はさらにフラッグプレバッファ（flag prebuffer）３０８ａおよび間隔プレバッファシフトレジスタ（intervals prebuffer shift register）３０８ｂを含む。さらに、第一ビデオ回路１７は時間スタンププレバッファシフトレジスタ（time stamp prebaffer shift register）３１０、比較器３１２、間隔和（interval sum）回路３１４、ＦＩＦＯ制御回路３１６、マルチプレクサ３１８、ＵＰＣフィルタ３２０、および間隔ＦＩＦＯ回路３２２を含む。
【００５８】
第一ビデオ回路１７は、縁検出器３０４に与えるビデオ入力信号を受信する。縁検出器３０４はフラッグプレバッファシフトレジスタ３０８ａと時間スタンププレバッファシフトレジスタ３１０とに与えられるシフトクロック出力を発生する。このシフトクロック出力はリセット入力として間隔カウンタ３０２にも与えられる。
【００５９】
信号縁検出器は、間隔カウンタ３０２をビデオ遷移信号受信時に開始させる。この遷移信号は当該間隔の大きさとビデオ極性とを表す１２ビットの信号ＩＮＴである。信号ＩＮＴはビデオ信号の次の遷移時に間隔プレバッファシフトレジスタにシフト入力される。この信号は間隔カウンタ３０２もリセットし、次の間隔のタイミングを開始させる。
【００６０】
これらの間隔は、スキャンしたバーコードを構成するバーおよび空隙の時間間隔すなわち実効幅を表す。同時に、１０ビット時間スタンプを表す時間スタンプ信号およびモーター回転カウンタ１３２の４桁下位有効ビットが時間スタンププレバッファシフトレジスタ３１０中にシフト入力される。
【００６１】
このようにして各ビデオ間隔の継続時間、極性、およびモーター位置に対する時間関係が各ビデオ遷移ごとに捕捉される。上記のビデオ間隔はまた間隔和回路３１４およびフィルタ回路３２０にも送られる。これらの回路は当該ビデオデータの流れが有効なバーコードデータであることを表す所定のタイミング関係に合致するか否かを決定する。
【００６２】
本実施例のビデオ処理のさらに詳細な説明は、米国特許第５, ２６２, ６２５号に与えられている。例えば、ビデオデータの開始および終了時の間の時間間隔が長すぎるときは、データはバーコードの有効なスキャンにより発生したものではないので拒絶される。正当なバーコードデータの開始および終了は、フラッグプレバッファシフトレジスタ３０８ａ内にフラッグビットを設定することによりマークする。
【００６３】
次いでこれらのフラッグビットは、プレバッファシフトレジスタ３０８ｂに格納されている、対応する間隔データワードに追加される。これらのフラッグはＦＩＦＯ制御回路３１６が間隔ＦＩＦＯ３２２中にいずれの間隔を書込むべきかを決定するのに使用する。
【００６４】
ＦＩＦＯ３２２は、マイクロプロセッサー４２に与える間隔データを緩衝する。ブロック間隔の開始が間隔ＦＩＦＯ３２２中に書き込まれるとき、それに対応する時間スタンプ値もまた、間隔データワードに先立って間隔ＦＩＦＯ３２２中に書き込まれる。これは時間スタンププレバッファシフトレジスタ３１０から送られる時間スタンプ信号およびプレバッファ３０８の出力をマルチプレクサ３１８に送ることにより行われる。
【００６５】
マルチプレクサ３１８は、ＦＩＦＯ制御回路３１６の制御の下に動作し、
時間スタンプもしくは間隔データのいずれを選択的に比較器３１２中に書き込むか制御する。
時間スタンプ値は比較器回路３１２にも送られ、そこでこの信号はオープンフィルタリミットレジスタ回路３０６の諸レジスタの内容と比較される。
【００６６】
オープンフィルタリミットレジスタ回路３０６は、時間スタンププレバッファから受信した時間スタンプ値と比較すべくマイクロプロセッサー４２が時間値を負荷できるオープンフィルタリミットレジスタを四組含む。この処理により、当座のスキャン状況に適合させたフィルタレジスタを有効に実時間制御することが可能になる。
【００６７】
マイクロプロセッサー４２は、間隔ＦＩＦＯ３２２から読み込んだ間隔データを解析し、バーコードデータを適切に復号するには、デジタルフィルタセット３２０により許容されるよりも多くの間隔が必要であるか否かを決定する。
【００６８】
次いで、マイクロプロセッサー４２は隣接するレーザースキャンビームについて時間値を計算し、これらの限界値をオープンフィルタリミットレジスタ回路３０６の一つ以上のオープンフィルタリミットレジスタに負荷する。オープンフィルタリミットレジスタ３０６内のこれらレジスタの内容は、時間スタンプ信号との比較を行うため、比較器回路３１２に与えられる。この時間スタンプ信号がオープンフィルタリミットレジスタ回路３０６から受信した時間限界値内にあるときは、比較器３１２はオープンフィルタ信号をＦＩＦＯ制御回路３１６に送り、ＦＩＦＯ制御回路３１６はこのオープンフィルタ信号が与えられている間中、ＦＩＦＯ制御回路３１６の内部ＦＩＦＯ３２２中にそれ以降のすべての間隔を書き込む。
【００６９】
この信号は、フラッグプレバッファ３０８ａから送られる開始もしくは終了フラッグ条件信号を無効にする。図１に示すようにＡＳＩＣ１２は第二のビデオブロック１９を含む。この回路は第一ビデオブロック１７と平行して動作する。
【００７０】
ビデオブロック１７および１９は、アナログビデオプレプロセッサー５２で別異のフィルタ処理および閾処理を受けた信号ＶＩＤＥＯ０およびＶＩＤＥＯ１をもらうことができると言う利点を有する。
【００７１】
受信されるこれらビデオ信号は、したがって異なる構成をもつアナログ回路網を使って捕捉される。第一ビデオブロック１７および第二ビデオブロック１９で使用されるフィルタリングおよび採用される処理を適切に選択することにより、バーコード３４から反射されるレーザー信号に対して広範に対処することができる。
【００７２】
図４は、本発明の原理に基づくバーコードスキャナに使用する光学組立体の時間位置および角位置を検出する方法４００を示す流れ図である。ステップ４０２で、バーコードスキャナが始動する。このバーコードスキャナは回転部を有する光学組立体を含むことが望ましい。光学組立体のこの回転部は関連のパルス生成デバイスを有するモーターによって駆動することが望ましい。
【００７３】
ステップ４０４でモーターが始動する。このモーターと連動するパルス発生デバイスにより、パルスが発生される。適当な位置センサを使用することができることを認識されたい。ステップ４０６でクロックおよび時間のモニターが開始される。ステップ４０８でクロックパルスが計数され、時間スタンプが発生される。ステップ４０８は処理続行方式で行われる。
【００７４】
すなわち、バーコードスキャナが動作している限り、あるいは時間スタンプがゼロにリセットされるまで、クロックパルスを計数し続け、時間スタンプを発生する。ステップ４１０でバーコードのスキャンが行われる。ステップ４１２でスキャンがその有効性を検査される。
【００７５】
当該スキャンが無効であると、制御はステップ４１４に進み、スキャンが拒絶される。スキャンが有効であるなら、制御はステップ４１６に進み、当該スキャンの時間を決定するため、時間スタンプが検査される。次にこの時間データが格納される。ステップ４０８でパルス計数がパルスカウンタから取り出され、格納される。
【００７６】
ステップ４２０で、同期パルスに対応する開始点から始まって時間スタンプにより測定された時間にわたるモーターの全回転角が計算される。ステップ４２２で、一つの事象に対する時刻およびそれに関連した間隔データが連合されて連合情報ブロックを生成する。
【００７７】
ステップ４２４でこの結合情報ブロックがマイクロプロセッサーに与えられ、マイクロプロセッサーがこの情報ブロックを使ってスキャンの精度を改善する。この精度の改善は、同一のバーコードから発生したものであることを示すタイミングデータおよび位置データを使って適当なバーコード片を再構築することにより、あるいは正常な許容間隔よりも短い期間に読み取られた二つのバーコードを判別することにより、行われる。
【００７８】
この代わりとして、タイミングデータおよび位置データはオペレーターへのフィードバックを与えるために利用することができ、あるいは前述した他の利点を得るために利用することができる。
【００７９】
【発明の効果】
以上に説明したように、本発明は、バーコードスキャン期間中のタイミングおよびミラー角に関する情報を収集・格納することができ、その情報からスキャナを通過するときのバーコードラベルの時間的・空間的ロケーションを再構築することができるので、非常に多数の利点が得られる。例えば、二つ以上のバーコードラベルが同一物品上にあるか否かに拘わらず、それらのバーコードラベルを読み取ることができる。またそれらのバーコードラベルが同じバーコードデータをもっていても読み取ることができる。
【００８０】
上記の時間的および空間的ロケーションから、急速にスキャンした同種の物品や、実質上同時にスキャンされた二重読取りをも判別することができる。また、スキャナを通過するときのバーコードラベルの速度および方向を再構築することができるので、会計係にその情報をフィードバックして会計係のスキャン修得に役立てることができる。さらに、時間的および空間的ロケーションに基づいて誤った読取りの起きる可能性が著しく減少できるのでスキャンの精度を顕著に高めることができる。なお、本発明は好ましい実施例について説明したが、本発明はバーコードスキャナ一般に適用性があること、また現在利用できないオペレーションでも広範囲に改良することができることを認識されたい。
【図面の簡単な説明】
【図１】本発明により捕捉された時間データおよびミラー角データを使用するバーコードスキャナの線図である。
【図２】本発明の一局面に基づきバーコードスキャナを制御するとともにタイミングデータおよびミラー角データを得るための、制御兼データ位置取得回路を示す図である。
【図３】本発明に基づくバーコードスキャナに設ける、ミラー角データを得るためのビデオ回路の図である。
【図４】本発明に基づきタイミングデータおよびミラー角データ取得方法を示す流れ図である。
【符号の説明】
１０  バーコードスキャナ
１２  アプリケーションに特化した集積回路（ＡＳＩＣ）
２８  ラインコンディショナ
３４  バーコードラベル
４０  入力／出力パッケージ
４２  マイクロプロセッサー
４８  音声出力回路
５０  スピーカー
１１２  マルチプレクサ
１３４  アンドゲート
３１６  ＦＩＦＯ制御回路
３１８  マルチプレクサ
３２０  ＵＰＣ・フィルタ
３２２  間隔ＦＩＦＯ回路
【図１】
0004491082.tif 000002
【図２】
0004491082.tif 000003
【図３】
0004491082.tif 000004
【図４】
0004491082.tif 000005