(57)【要約】ダイナミック信号処理に、一例示的実施形態において、高速のスワイプイメージスキャナを備えつけるための方法および装置。ダイナミック信号処理は、スキャナのデータ収集モジュールの前を通過する、たとえば、バーコードなどのデータフォームの移動速度を決定することを備える。次に、移動速度に基づき、信号処理方法をデータフォームに適用する。データフォームをデコードするために使用される、選択された信号処理方法の複雑性は、データフォームの検出された移動速度に基づき、選ばれ得る。代わりの実施形態において、二つ以上のアルゴリズムは、同時に、処理される。
2008518353.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミック信号処理の方法であって、該方法は、
データ収集装置の視野内のイメージをキャプチャするステップと、
該データ収集装置の該視野を通過するデータフォームの移動速度を決定するステップと、
該決定された移動速度に基づき信号処理アルゴリズムを適用するステップと
を包含する、方法。
【請求項２】
前記データフォームの前記移動速度が所定の移動速度を超えている場合、第１信号処理方法が選択され、該データフォームの該移動速度が該所定の移動速度以下の場合、第２信号処理が選択される、請求項１に記載の方法。
【請求項３】
前記第１信号処理方法は、前記第２信号処理方法より時間がかからない、請求項２に記載の方法。
【請求項４】
前記データフォームはバーコードである、請求項１に記載の方法。
【請求項５】
前記データ収集装置は、高速スワイプイメージスキャナであり、該スキャンモジュールは、照明モジュール、センサモジュールおよび光学モジュールを備えるカメラである、請求項１に記載の方法。
【請求項６】
連続キャプチャイメージは、前記データフォームの前記移動速度を決定するために使用される、請求項１に記載の方法。
【請求項７】
複数の信号処理アルゴリズムは、前記決定された移動速度に基づき信号処理方法を選択するステップのために利用可能である、請求項１に記載の方法。
【請求項８】
前記複数の信号処理アルゴリズムの各々は、移動速度の範囲に関連し、該信号処理アルゴリズムは、前記データフォームの該移動速度に基づき選ばれる、請求項７に記載の方法。
【請求項９】
データフォームの移動速度を決定する前記ステップの前に、第１信号処理アルゴリズムを前記イメージの少なくともある部分に適用するステップをさらに包含する、請求項１に記載の方法。
【請求項１０】
前記決定された移動速度に基づき信号処理アルゴリズムを適用するステップは、前記データフォームの該移動速度が、０と「Ｘ」との間を含む所定の移動範囲内にあり、「Ｘ」が閾移動速度を表し、前記スワイプスキャナが第２信号処理アルゴリズムを使用する時間を有する場合、該第２アルゴリズムを適用するステップを包含する、請求項９に記載の方法。
【請求項１１】
データフォームの移動速度を決定する前記ステップと同時に、第１信号処理アルゴリズムを前記イメージの少なくともある部分に適用するステップをさらに包含する、請求項１に記載の方法。
【請求項１２】
前記決定された移動速度に基づき信号処理アルゴリズムを適用するステップは、前記データフォームの該移動速度が、０と「Ｘ」との間を含む所定の移動範囲内にあり、「Ｘ」が閾移動速度を表し、前記スワイプスキャナが第２信号処理アルゴリズムを使用する時間を有する場合、該第２アルゴリズムを適用することを包含する、請求項１１に記載の方法。
【請求項１３】
前記データフォームをデコードしないステップと、
ユーザーに対して該データフォームをより遅い速度でスキャンするように命令するステップと
をさらに包含する、請求項１に記載の方法。
【請求項１４】
高速スワイプイメージスキャナを使用する監視の方法であって、該方法は、
該スキャナを監視モードにするステップと、
該高速スワイプイメージスキャナの視野内のイメージをキャプチャするステップと、
該イメージの少なくともある部分に描かれた対象物の移動速度を決定するステップと、
該決定された移動速度に基づき動作を開始するステップと
を包含する、方法。
【請求項１５】
前記高速スワイプスキャナは、複数の動作から一つの動作を選択する、請求項１４に記載の方法。
【請求項１６】
前記複数の動作は、前記検出された動きの前記イメージをセーブし、該イメージを所定の場所に送信するステップを包含する、請求項１５に記載の方法。
【請求項１７】
前記複数の動作の各々は、動作速度の範囲に関連し、該動作は、該移動速度または前記対象物の場所に基づき選ばれる、請求項１５に記載の方法。
【請求項１８】
前記高速スワイプスキャナは、ある対象物からの動きを予期するようにプログラムされる、請求項１４に記載の方法。
【請求項１９】
データ収集装置であって、
処理ユニットと、
スキャンモジュールと、
該データ収集装置において動作する少なくとも一つの処理を記憶するメモリと
を備え、該データ収集装置は、
該データ収集装置の視野内のイメージをキャプチャすることと、
該データ収集装置の該視野を通過するデータフォームの移動速度を決定することと、
該決定された移動速度に基づき信号処理アルゴリズムを適用することと
を行なう、データ収集装置。
【請求項２０】
前記データフォームの前記移動速度が所定の移動速度を超えている場合、第１信号処理方法が選択され、該データフォームの該移動速度が該所定の移動速度以下の場合、第２信号処理が選択される、請求項１９に記載のデータ収集装置。
【請求項２１】
前記第１信号処理方法は、前記第２信号処理方法より時間がかからない、請求項２０に記載のデータ収集装置。
【請求項２２】
前記データフォームはバーコードである、請求項１９に記載のデータ収集装置。
【請求項２３】
前記データ収集装置は、高速スワイプイメージスキャナであり、該スキャンモジュールは、照明モジュール、センサモジュールおよび光学モジュールを備えるカメラである、請求項１９に記載のデータ収集装置。
【請求項２４】
連続キャプチャイメージは、前記データフォームの前記移動速度を決定するために使用される、請求項１９に記載のデータ収集装置。
【請求項２５】
複数の信号処理アルゴリズムは、前記決定された移動速度に基づき信号処理方法を選択するステップのために利用可能である、請求項１９記載のデータ収集装置。
【請求項２６】
前記複数の信号処理アルゴリズムの各々は、移動速度の範囲に関連し、該信号処理アルゴリズムは、前記データフォームの該移動速度に基づき選ばれる、請求項２５に記載のデータ収集装置。
【請求項２７】
前記処理は、データフォームの移動速度を決定する前記ステップの前に、第１信号処理アルゴリズムを前記イメージの少なくともある部分に適用するステップをさらに包含する、請求項１９に記載のデータ収集装置。
【請求項２８】
前記決定された移動速度に基づき信号処理アルゴリズムを適用するステップは、前記データフォームの該移動速度が、０と「Ｘ」との間を含む所定の移動範囲内にあり、「Ｘ」が閾移動速度を表し、前記スワイプスキャナが第２信号処理アルゴリズムを使用する時間を有する場合、該第２アルゴリズムを適用するステップである、請求項２７に記載のデータ処理装置。
【請求項２９】
前記処理は、データフォームの移動速度を決定する前記ステップと同時に、第１信号処理アルゴリズムを前記イメージの少なくともある部分に適用するステップをさらに包含する、請求項１９に記載のデータ収集装置。
【請求項３０】
前記決定された移動速度に基づき信号処理アルゴリズムを適用するステップは、該データフォームの該移動速度が、０と「Ｘ」との間を含む所定の移動範囲内にあり、「Ｘ」が閾移動速度を表し、前記スワイプスキャナが第２信号処理アルゴリズムを使用する時間を有する場合、該第２アルゴリズムを適用することを包含する、請求項２９に記載のデータ収集装置。
【請求項３１】
前記処理は、
前記データフォームをデコードしないステップと、
該データフォームをより遅い速度でスキャンするようにユーザーに対して命令するステップと
をさらに含む、請求項１９に記載のデータ収集装置。
【請求項３２】
データ収集装置であって、
処理ユニットと、
カメラと、
該データ収集装置において動作する少なくとも一つの監視処理を記憶するメモリとを備え、該データ収集装置は、
該データ収集装置の視野内のイメージをキャプチャすることと、
該イメージの少なくともある部分に描かれる対象物の移動速度を決定することと、
該決定された移動速度に基づき動作を開始すること
を行なう、データ収集装置。
【請求項３３】
前記データ収集装置は、複数の動作から一つの動作を選択する、請求項３２に記載のデータ収集装置。
【請求項３４】
前記複数の動作は、前記検出された動きの前記イメージをセーブし、該イメージを所定の場所に送信することを包含する、請求項３３に記載のデータ収集装置。
【請求項３５】
前記複数の動作の各々は、動作速度の範囲に関連し、該動作は、該移動速度または前記対象物の場所に基づき選ばれる、請求項３３に記載のデータ収集装置。
【請求項３６】
前記データ収集装置は、ある対象物からの動きを予期するようにプログラムされた、請求項３２に記載の方法。
【請求項３７】
ダイナミック信号処理の方法であって、該方法は、
データ収集装置の視野内のイメージをキャプチャするステップと、
第１信号処理アルゴリズムを該キャプチャされたイメージに適用し、同時に第２信号処理アルゴリズムを該キャプチャされたイメージに適用するステップと
を包含する、ダイナミック信号処理の方法。
【請求項３８】
前記データ収集装置は、前記第１信号処理アルゴリズムおよび前記第２信号処理アルゴリズムと同時に、少なくとも第３信号処理アルゴリズムを適用する、請求項３７に記載の方法。
【請求項３９】
前記データフォームはバーコードである、請求項３７に記載の方法。
【請求項４０】
前記データ収集装置は、高速スワイプイメージスキャナであり、該スキャンモジュールは、照明モジュール、センサモジュールおよび光学モジュールを備えるカメラである、請求項３７に記載の方法。
【請求項４１】
前記データフォームをデコードしないステップと、
該データフォームをより遅い速度でスキャンするようにユーザーに対して命令するステップと
をさらに包含する、請求項３７に記載の方法。
【請求項４２】
前記第１信号処理アルゴリズムおよび前記第２信号処理アルゴリズムの同時適用は、割込み形多重タスキングを包含する、請求項３７に記載の方法。
【請求項４３】
前記第１信号処理アルゴリズムは、前記第２信号処理アルゴリズムよりも、イメージ系列内のより多くのイメージに適用される、請求項４２に記載の方法。
【請求項４４】
前記第１信号処理アルゴリズムは、前記データキャプチャ装置によってキャプチャされた実質的にすべてのイメージに適用される、請求項４３に記載の方法。
【請求項４５】
データ収集装置であって、
カメラと、
メモリと、
プロセッサと
を備え、該データ収集装置を制御するためのプロセッサであって、該データ収集装置は少なくとも、該データ収集装置の視野内のイメージをキャプチャすることと、第１信号処理アルゴリズムを該キャプチャされたイメージに適用し、同時に第２信号処理アルゴリズムを該キャプチャされたイメージに適用することを行なう、データ収集装置。
【請求項４６】
前記プロセッサは、少なくとも二つの信号処理アルゴリズムを切換える、請求項４５に記載のデータ収集装置。
【請求項４７】
前記プロセッサは、前記切換えをオペレーティングシステムによって実行する、請求項４６に記載のデータ収集装置。
【請求項４８】
前記第１信号処理アルゴリズムは、前記第２信号処理アルゴリズムよりも、イメージ系列内のより多くのイメージに適用される、請求項４７に記載のデータ収集装置。
【請求項４９】
前記第１信号処理アルゴリズムは、前記データキャプチャ装置によってキャプチャされた実質的にすべてのイメージに適用される、請求項４７に記載のデータ収集装置。
【請求項５０】
前記プロセッサは、前記切換えを割込みシステムを利用することによって実行する、請求項４６に記載のデータ収集装置。
【請求項５１】
前記第１信号処理アルゴリズムは、前記第２信号処理アルゴリズムよりも、イメージ系列内のより多くのイメージに適用される、請求項５０に記載のデータ収集装置。
【請求項５２】
前記第１信号処理アルゴリズムは、前記データキャプチャ装置によってキャプチャされた実質的にすべてのイメージに適用される、請求項５０に記載のデータ収集装置。
【請求項５３】
前記プロセッサは、前記切換えを前記第１信号処理アルゴリズムと第２信号処理アルゴリズムとの間の連携手段によって実行する、請求項４６に記載のデータ収集装置。
【請求項５４】
前記第１信号処理アルゴリズムは、前記第２信号処理アルゴリズムよりも、イメージ系列内の多くのイメージに適用される、請求項５３に記載のデータ収集装置。
【請求項５５】
前記第１信号処理アルゴリズムは、前記データキャプチャ装置によってキャプチャされた実質的にすべてのイメージに適用される、請求項５３に記載のデータ収集装置。
【請求項５６】
同時にとは、前記第１アルゴリズムおよび第２アルゴリズムの少なくともいくつかが、前記キャプチャされたイメージ系列内のイメージをキャプチャする時間内に完了することを意味する、請求項５３に記載のデータ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイナミック信号処理、およびより詳細には、高速スワイプイメージスキャナのためのダイナミック信号処理に関する。
【背景技術】
【０００２】
（本発明の背景）
世界中で販売されている製品を識別するための多くの規格がある。たとえば、製品は、統一商品コード（ＵＰＣ）および／または欧州統一商品番号（ＥＡＮ）に委託される。これらの多くのコードによって、企業は、製品およびメーカーを識別し、膨大な在庫を維持し、同様なシステムの下における広範囲の種々の製品およびその他の多くの機能を管理する。製品のＵＰＣまたはＥＡＮは、プリントされ、ラベル付けされ、エッチングされ、または他の場合には、データフォームとして製品に添付される。
【０００３】
データフォームは、製品を識別するために使用され得る任意の印であり、たとえば、データフォームは、バーコード、二次元コード、製品上のマーク、ラベル、署名、符号などであり得る。たとえば、バーコードなどのデータフォームは、一連の異なる幅の明るいおよび暗い長方形領域から構成される。明るいおよび暗い領域は、ＵＰＣの数を表すために配置され得る。さらに、データフォームは、製品に限定されない。それらは、人、場所などを識別するために使用され得る。
【０００４】
いくつかのデータフォ−ムは、他のものよりデコードするのがより困難である。データフォームは、輸送時に損傷され得、データフォ−ムは、ごみのためノイズがあり得る。その他の困難なコードは、スーパー切断バーコード（ｓｕｐｅｒ  ｔｒｕｎｃａｔｅｄ  ｂａｒｃｏｄｅｓ）を含み、それらのバーコードは、縦方向が非常に短いバーコードである。切断コードは、長くて平らな対象物、たとえば、鉛筆上で使用される。さらに、情報を二次元でコード化するデータフォームがある。困難なデータフォームは、また、署名またはイメージを備える。
【０００５】
たとえば、バーコードスキャナなどのデータフォームをデコードし得るスキャナは、非常に一般的になってきた。スキャナの一つのカテゴリは、高速スワイプスキャナである。これらのスキャナは、毎秒５０インチの速度で、それらのリーダーを通過してスワイプされるバーコードなどのデータフォームをデコードし得る。高速スワイプスキャナは、従来レーザー技術に焦点を当てたが、イメージスキャナもまた、高速スワイプ構成において使用され得る。
【０００６】
公知の高速スワイプイメージスキャナは、毎秒５０インチでそのリーダーを通過するデータフォ−ムを処理し得るが、コードを迅速に処理するために、単純な信号処理アルゴリズムが使用される。単純な信号処理アルゴリズムは、一次元バーコードを効果的にクリアにデコードし得るが、それらは、ノイズコード、損傷コード、切断コード、二次元コード、署名、イメージなどの困難なデータフォ−ムを読み取り得ない。従って、高速処理アルゴリズムが装備された従来の高速スワイプイメージスキャナは、困難なコードを読み取るために使用され得ない。困難なコードを処理し得る、より高度なアルゴリズムがあるが、それらは、完了するために、より多くの時間または非常に強力なコンピュータを必要とする。データフォ−ムは、スワイプスキャナを高速に通過し移動するので、高度なアルゴリズムを使用するための十分な時間がない。
【０００７】
時には、データフォームは、より遅い速度でスワイプスキャナを通過し移動する。これらの状況において、困難なデータフォームをデコードするための高度なアルゴリズムを使用する十分な時間がある。残念ながら、単純な信号処理アルゴリズムを装備した公知の高速スワイプイメージスキャナは、付加的な時間の利点を利用し得なく、困難なデータフォームをデコードしない。従って、データフォームをダイナミックに処理することによって広範囲のデータフォームをデコードし得るスワイプスキャナのニーズが存在する。
【発明の開示】
【課題を解決するための手段】
【０００８】
（本発明の概要）
本明細書に記述され、特許請求の範囲を主張される本発明は、このニーズおよびその他のニーズを満足し、このことは、本明細書の教示から明らかである。本発明の実施形態は、たとえば、高速スワイプイメージスキャナにおけるダイナミックな信号処理のための方法および装置を含む。
【０００９】
高速スワイプイメージスキャナは、その視野内の映像を連続的に取り込む。本発明の例示的実施形態において、データフォームは、スキャナの視野内を通過するとき、スキャナは、データフォームを検出し、たとえば、速度などのデータフォームの移動速度を決定する。次に、スキャナは、データフォームの移動速度に基づき、データフォームをデコードするために信号処理アルゴリズムを選択する。
【００１０】
いくつかの実施形態において、データフォームが高速で移動し、所定の移動速度以上である場合、第１のたとえば速い信号処理アルゴリズムが、データフォームをデコードするために使用され得る。あるいは、データフォームが低速で移動または静止し、所定の移動速度またはそれ以下である場合、第２、たとえば、より時間集約的なアルゴリズムがデータフォームをデコードするために使用され得る。
【００１１】
代わりの実施形態において、第１の信号処理アルゴリズムは、データフォームの移動速度を決定する前にキャプチャしたイメージの少なくともある部分に適用される。第１信号処理アルゴリズムがフェイルした場合、スワイプスキャナは、データフォームの移動速度を決定し、データフォームが０と「Ｘ」との間またはそれらを含む所定の移動範囲内で移動する場合、（ここで、「Ｘ」は閾移動速度を表し、スワイプスキャナは第２アルゴリズムを使用する十分な時間を有する）、次に第２アルゴリズムがデータフォ−ムに適用される。
【００１２】
さらに、本発明のいくつかの実施形態は、二つのアルゴリズムに限定されない。完了までに異なる時間を要するいくつかの信号処理に関連して、いくつかの所定の移動範囲があり得る。データフォームの動作速度によって、アルゴリズムの一つがデータフォームをデコードするために使用される。
【００１３】
本発明の代わりの実施形態は、ダイナミック信号処理の方法を提供する。ダイナミック信号処理において、たとえば、スキャナなどのデータ収集デバイスは、第１および第２処理アルゴリズムを同時に適用する。第１アルゴリズムは、次のイメージをキャプチャする前に完了するように設計され、一方、第２アルゴリズムは、所定のイメージを分析するのにより多くの時間を使う。
【００１４】
別の実施形態において、速いスワイプイメージスキャナの動作は、監視デバイスとして機能するために「逆」にされ得る。たとえば、夜通しすなわち店が閉鎖されているとき、イメージスキャナは、動きを検出するために配置され得る。スキャナは、視野内のイメージを連続してキャプチャし、イメージに描かれる対象物の移動速度を決定する。次に、スキャナは、対象物の移動速度に基づき、動作を開始する。
【００１５】
動作は、たとえば、可聴ノイズ、当局へのコールおよび／またはオーナーへの警報であり得るが、これらに限定されない。警報は、いくつかの実施形態において、電話、移動対象物のサンプルイメージから成るページおよび／またはｅメールであり得る。
【００１６】
スキャナによってなされる動作のタイプは、種々にわたり得、いくつかの例示的実施形態においては、検出された動作速度に基づく。たとえば、動きがわずかの場合、イメージスキャナは、後の検査のために単にイメージをセーブし得る。動きがより大きい場合、イメージスキャナは、イメージをセーブし、当局に警報するように構成され得る。さらに、スキャナは、たとえば、アニメ化のウィンドウディスプレイなどの移動対象物がスキャナからの動作を開始しないように予想される動きを無視するようにプログラムされ得る。
【００１７】
本発明のその他の目的および特徴は、添付図面と共に考慮して、以下の詳細な説明から明らかとなる。しかしながら、図面は、例示的目的のみであり本発明の範囲を限定する意図がないことが理解される。
【発明を実施するための最良の形態】
【００１８】
（例示的実施形態の詳細な説明）
ダイナミック信号処理のための方法と装置のいくつかの例示的実施形態は、添付の図面に関連し、ここで示され、記述される。
【００１９】
本発明に従ってインプリメントされる例示的な高速スワイプイメージスキャナは、データフォ−ムの移動速度に基づき、データフォームデーコーディングのために、信号処理アルゴリズムをダイナミックに選ぶ。一実施形態において、データフォームが多数の動きを示す場合、スキャナは、データフォ−ムをデコードするために高速で単純なアルゴリズムを使用するが、データフォームが、ほとんどまたは全く動きを示さない場合、スキャナは、より高度なアルゴリズムを使用する。ほとんどまたは全く動きを有しないデータフォームは、速く動くデータフォ−ムより長い時間、スキャナの視界内に留まる。スキャナは、困難なデータフォームをキャプチャし、デコードするために、データフォームが視界から消える前、利用可能な付加的な時間を使用する。従って、長時間および短時間とは、データフォームがスキャナの視界から消える前に利用可能な時間を言い得る。
【００２０】
別の実施形態において、スキャナは、通過するデータフォームを試し、デコードするために、単純なアルゴリズムを最初に使用する。単純なアルゴリズムがフェイルした場合、スキャナは、より高度なアルゴリズムを使用する十分な時間を有するかどうかを判定するために、データフォームの移動速度を決定する。データフォームの動きが、動きの所定の範囲内である場合、スキャナは、高度なアルゴリズムを使用してデータフォームをデコードすることを試みる。この実施形態において、スキャナは、単純なアルゴリズムがフェイルした後、または同時に、データフォーム移動速度を決定する。
【００２１】
本発明の追加の実施形態において、スキャナは、同時にデータフォームをデコードするために、二つ以上のアルゴリズムを使用する。第１アルゴリズムは、単純で高速なアルゴリズムで、一方、第２アルゴリズムは、より高度で、時間集約的アルゴリズムである。第１アルゴリズムは、どのイメージも少なくとも第１アルゴリズムによってデコードされるように、スキャナが次のイメージをキャプチャする前に完了するように設計され、一方、第２アルゴリズムは、より少ないイメージを完了し、分析するためにより長い時間をかける。従って、スキャナは、速く動く単純なデータフォームを第１アルゴリズムを使用してデコードし、また、より遅い速度で動く、より困難なデータフォームを第２アルゴリズムを使用してデコードし得る。
【００２２】
代わりの実施形態において、スキャナは、監視モードにおいて動作し得る。スキャナは、動きを検出するようにセットされ、予期しない対象物の移動速度に基づき、移動対象物のイメージをセーブすること、オーナーとコンタクトすること、および／または当局にコールすることなどのある動作を実施するようにプログラムされ得る。
【００２３】
従って、本発明の例示的高速スワイプイメージスキャナは、スキャナの高速スワイプの機能性を犠牲にすることなく、困難なコードのデコーディングおよび監視モードを含むように、高速スワイプイメージスキャナの機能性を拡張する。
【００２４】
図１を参照すると、データ収集モジュール１００を備えるデバイス１０１の例示的ブロック図が示される。デバイス１０１は、例示的実施形態において、チェックアウトカウンター、ハンドヘルドスキャナ、モバイルコンピュータなどであり得る。データ収集モジュール１００は、非限定例示的実施形態において、スワイプスキャナモジュール１００であり得る。スワイプスキャナ１００は、デバイス１０１に統合され得る。さらに、データ収集モジュール１００は、デバイス１０１内にあるように例示されているが、代わりの実施形態において、データ収集モジュール１００は、有線または無線でデバイス１０１に連結された別のモジュールであり得る。たとえば、一実施形態において、データ収集モジュール１００は、キャッシュレジスタに連結されたコンバーティブルなハンドヘルド／固定式スキャンガンであり得る。
【００２５】
スワイプスキャナ１００は、バス１２５によって互いに連結された、処理ユニット１０５、スキャンモジュール１１５、メモリ１２０および通信インタフェース１１０を備える。データ収集モジュール１００のモジュールは、ソフトウェア、ハードウェア、ハードウェアエミュレートソフトウェア、および再プログラミングハードウェアの任意の組み合わせとしてインプリメントされ得る。バス１２５は、本発明の異なるモジュールのインタオペラビリティを示す例示的バスである。設計選択の問題として、二つ以上のバスでが存在し得、いくつかの実施形態において、あるモジュールは、バス１２５への連結の代わりに直接に連結され得る。
【００２６】
処理ユニット１０５は、例示的実施形態において、一つ以上の中央処理装置（ＣＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）など、としてインプリメントされ得る。実施形態において、処理ユニット１０５は、ソフトウェアおよびメモリ１２０に記憶された生（ｒａｗ）のイメージデータを処理する汎用ＣＰＵを備え得る。別の実施形態において、処理ユニット１０５のモジュールは、たとえば、信号処理、インタフェ−スエミュレーション、などの機能を実行するためにプレプログラムされ得る。代わりの実施形態において、処理ユニット１０５の一つ以上のモジュールは、メモリ１２０からの異なる処理でロードされ得るＦＰＧＡとしてインプリメントされ得、複数の機能を実行し得る。処理ユニット１０５は、上記のプロセッサの任意の組み合わせを備え得る。
【００２７】
スキャンモジュール１１５は、一例示的実施形態において、光学モジュール１３０、およびセンサモジュール１３５および照明モジュール１３０を備えるカメラ１１５としてインプリメントされ得る。光学モジュール１３０は、たとえば、カメラ１１５のレンズ１３０であり得る。いくつかの実施形態において、光学モジュール１３０は、二つ以上のレンズおよび／または二つ以上の焦点が付いたレンズから構成され得る。さらに、光学モジュール１３０は、レンズに限定されず、任意のプリズムおよび／またはイメージキャプチャに適したその他の光学媒体が、光学モジュール１３０をインプリメントするために使用され得る。
【００２８】
センサモジュール１３５は、一例示的実施形態において、電荷結合素子（ＣＣＤ）としてインプリメントされ得る。ＣＣＤ１３５は、処理のためディジタルフォーマットでイメージを記録する。代わりの実施形態において、イメージをキャプチャする任意のセンサは、たとえば、ＣＭＯＳ半導体などのセンサモジュール１３５をインプリメントするために使用され得る。照明モジュール１４５は、一つの非限定の例示的実施形態において、一つ以上の発光ダイオード（ＬＥＤ）１４５としてインプリメントされ得る。他の照明媒体は、代わりの実施形態において使用し得る。
【００２９】
メモリ１２０は、揮発性メモリ、不揮発性メモリおよび、たとえば、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）および／またはフラッシュメモリなどの再書き込み可能メモリとしてインプリメントされ得る。メモリ１２０は、信号処理方法１５０、電力管理方法１５５、インタフェース方法１６０および監視方法１７０などのスワイプスキャナ１００を動作するために使用される方法および処理を記憶する。メモリ１２０は、また、生のイメージデータおよび／または処理されたイメージデータを記憶するために使用され得る。
【００３０】
スキャンモジュール１１５は、スキャナ１００の視野内のイメージを連続的にキャプチャする。イメージは、信号処理方法１５０によって分析され、イメージ統計は、イメージから引き出される。スワイプスキャナ１００は、たとえば、ターゲットのデータフォームがキャプチャされたイメージであるときなどの情報を決定するためにイメージ統計を使用する。ターゲットのデータフォームが検出されたとき、本発明の例示的イメージスワイプスキャナ１００は、データフォームをデコードするためにダイナミック信号処理方法１６５を使用する。例示的ダイナミック信号処理方法のステップは、図２〜図４を参照して以下に記述される。
【００３１】
イメージスワイプスキャナオペレータは、毎秒５０インチの速さでスキャナ１００を通過する対象物をスワイプし得る。従って、イメージスワイプスキャナ１００は、毎秒多くの画像を取り込み、スワイプされたデータフォームを検出およびデコードするために、これらの画像をすばやく分析しなければならない。従って、高速で単純なアルゴリズムは、イメージスワイプスキャナ用に有利である。残念ながら、単純なアルゴリズムは、損傷したコードまたは署名などの困難なデータフォームをデコードし得ないため、スキャナの機能性を制限する。
【００３２】
スワイプスキャナがデータフォームの読取りをフェイルした場合、対象を再びスワイプし、および／またはより遅い速度でスワイプし、または対象をスキャナまで持っていくことが自然の傾向である。これらの場合、イメージスキャナは、データフォームをデコードするための追加の時間を有し、より高度で、時間集約的なアルゴリズムが、データフォームを試み、デコードするために使用され得る。従って、データフォームの移動速度は、最適な信号処理アルゴリズムをダイナミックに選ぶために使用され得る。たとえば、より高度で時間のかかるアルゴリズムが、ゆっくりと動くデータフォームをデコードするために使用される。
【００３３】
一例示的実施形態において、データフォームの移動速度は、一連のイメージからイメージ統計における差を使用するダイナミック信号処理方法１６５によって決定される。移動速度は、データフォームの速度であり得、データフォームの速度は、データフォームが二つの連続したイメージ間で動く距離、または二つの連続したイメージ間の差の統計的決定、またはデータフォームの移動速度を決定するための任意のその他方法から決定され得る。いくつかの実施形態において、外部の速度検出器は、スキャナ１００がデータフォームを読取る前にデータフォームの速度を決定するために使用され得る。代わりの実施形態において、移動速度分析のために使用されるイメージは、時間的に隣接よりはむしろ時間的に近くあり得る。
【００３４】
データフォームが速く動いている場合、第１信号処理方法１６６は、データフォームをデコードするために使用される。この実施形態において、第１信号処理アルゴリズムは、速く完了され得る単純アルゴリズムである。データフォームがゆっくりと動いている場合、スワイプスキャナ１００は、第２信号処理アルゴリズム１６７を使用する。このアルゴリズム１６７は、第１アルゴリズム１６６より時間がかかるが、データフォームがゆっくりと動くので、スワイプスキャナ１００は、データフォームがスキャナ１００の視野を出る前に、データフォームをキャプチャおよびデコードするためのより多くの時間を有する。第２アルゴリズム１６７は、ノイズコード、切断コード、損傷コードなどのより困難なデータフォームをデコードする能力がある。
【００３５】
代わりの実施形態において、ダイナミック信号処理方法１６５は、第１信号処理アルゴリズム１６６および第２信号処理アルゴリズム１６７の両方を使用してキャプチャされたイメージを同時に処理する。この実施形態において、第１信号処理アルゴリズム１６６は、スキャナによって取込まれたあらゆる画像をデコードし、より悪いケースのシナリオにおいて、次の画像がキャプチャされる前に完了するように設計される。第２信号処理アルゴリズム１６７は、より少ないイメージをデコードし、各イメージにより多くの時間をかける。アルゴリズム間の処理は、分割および単一の処理ユニットによって同時に処理され得、他の実施形態において、スキャナは、二つの独立した処理ユニットを有し得る。
【００３６】
データ収集モジュール１００は、種々の言語で通信する異なるデバイス１０１のためのモジュールとしてインプリメントされ得る。従って、データ収集モジュール１００は、デコードされたデータフォームをデータ収集モジュール１００とインタフェ−スするデバイス１０１の言語に翻訳するインタフェース方法１６０を備える。異なるインタフェースは、ユニバーサルシリアルバス（ＵＳＢ）、スキャナエミュレーション、ＩＢＭキーボードウェッジ、ＳＳＩインタフェースなどを含む。
【００３７】
電力管理方法１５５は、スワイプスキャナ１００によって使用される電力を管理する。いくつかの実施形態において、スワイプスキャナ１００は、パワーセーブモードに切換え得、このとき所定の時間の間どの活動も検出されない。パワーセーブモードは、スキャナ１００を完全に停止し得、あるいは、パワーセーブモードは、イメージキャプチャ速度を落とすかまたは他のパワーセーブ技術を開始し得る。
【００３８】
スワイプスキャナ１００は、また、イメージスワイプスキャナを監視デバイスとして動作させる監視方法１７０を備える。たとえば、店におけるスワイプスキャナ１００は、夜間または店が閉まっているときはいつでも、セキュリティモードに切換え得る。動きが検出されたとき、スワイプスキャナ１００は、動作を実行するようにプログラムされる。スキャナ１００は、動きが検出されたレベルに基づき異なる動作を実行するようにプログラムされ得る。たとえば、動きがわずかな場合、スキャナ１００は、後の検査のためにイメージをセーブするようにプログラムされ得る。検出された動きが中位レベルの場合、スキャナは、携帯電話またｅメールでオーナーにコンタクトし、オプションで検出された動きの画像を送る。動きが大きい場合、スキャナ１０１は、当局にコールしオーナーにコンタクトするようにプログラムされ得る。
【００３９】
図１の例示的実施形態は、信号処理方法１５０の一部としてダイナミック信号処理方法１６５を例示し、別のコンポーネントとして、電力管理方法１５５、インタフェース方法１６０および監視方法１７０を例示するが、これらの方法は、この構成に限定されない。本明細書に記述された各方法の全体または部分は、別のコンポーネントであり得、コンポーネントをインタオペレートおよびシェアし得る。さらに、方法は、メモリ１２０に描かれているが、代わりの実施形態において、方法は、処理ユニット１０５に、常時または不定に組込まれ得る。いくつかの実施形態において、スキャンモジュール１１５は、データ収集モジュール１００から分離され得、データ収集モジュールは、汎用コンピュータおよびソフトウェアを使用してインプリメントされ得る。
【００４０】
メモリ１２０は、図１に単一のモジュールとして例示されているが、いくつかの実施形態において、スワイプスキャナ１００は、二つ以上のメモリモジュールを備え得る。たとえば、上記の方法は、別のメモリモジュールに記憶され得る。
【００４１】
いくつかの実施形態において、イメージの処理速度を増加させるために、信号処理方法１５０は、全体または部分的にＦＰＧＡに転送され得る。ＦＰＧＡは、スキャンモジュール１１５から生のイメージデータを入手し、イメージ統計を生成する。イメージ統計は、たとえば、データフォームがイメージに存在するかどうかを決定するなど、さらなる処理のために、メモリに生のイメージデータと共に記憶される。イメージ処理のいくつかをＦＰＧＡに転送することによって、スワイプスキャナ１００が、イメージ内のデータフォームの場所を約１ミリ秒で決定できるようにする。ハードウェア支援の信号処理に関するさらなる情報は、２００４年７月２９日に出願され、Ｓｙｍｂｏｌ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  Ｉｎｃ．に譲渡された、発明の名称「Ｐｏｉｎｔ−ｏｆ−Ｔｒａｎｓａｃｔｉｏｎ  Ｗｏｒｋｓｔａｔｉｏｎ  ｆｏｒ  Ｅｌｅｃｔｒｏ−Ｏｐｔｉｃａｌｌｙ  Ｒｅａｄｉｎｇ  Ｏｎｅ−Ｄｉｍｅｎｓｉｏｎａｌ  ａｎｄ  Ｔｗｏ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｉｎｄｉｃｉａ  ｂｙ  Ｉｍａｇｅ  Ｃａｐｔｕｒｅ」の米国特許出願第１０／９０１，５１５号に見つけられ得、その全内容は、参考のため、本明細書に援用される。
【００４２】
図２は、本発明に従って、ダイナミック信号処理をインプリメントするための方法２００の例示的実施形態を示す。スワイプスキャナ１００の参照は、方法２００の記述においてなされる。ダイナミック信号処理方法２００は、開始ステップ２０５から始まる。例示的実施形態において、方法２００は、スワイプスキャナ１００および／またはデバイス１０１の電源が入れられたとき、開始する。デバイス１０１および／またはスワイプスキャナ１００は、また、動作の前に、診断を実行し得る。
【００４３】
処理は、ステップ２１０に進み、そこでは、スワイプスキャナ１００は、イメージを連続的にキャプチャおよび分析する。一例示的実施形態において、生のイメージデータは、メモリ１２０に記憶され、信号処理方法１５０は、処理ユニット１０５の制御の下で、生のイメージデータからイメージ統計を引き出す。イメージ統計は、スワイプスキャナ１００に対して、データフォームまたは対象がイメージに存在するかどうかを示す。
【００４４】
代わりの実施形態において、キャプチャされたイメージは、ＦＰＧＡに転送され、イメージ統計を決定するルーチンを用いてＦＰＧＡにロードされる。イメージ統計の生のイメージは、次に、メモリ１２０に記憶され、信号処理方法１５０は、処理ユニット１０５の制御の下で、データフォームまたは他のターゲットの対象物がイメージ統計からのイメージに存在するかどうかを決定し得る。
【００４５】
ステップ２１５に進むと、データフォームがキャプチャされたイメージ処理において検出されない場合、ステップ２１０に戻り、そこで、スワイプスキャナは、イメージを取込みし続ける。ステップ２１５に戻ると、データフォームが検出された場合、処理は、ステップ２２０に進む。ステップ２２０において、第１信号処理アルゴリズムは、検出したデータフォームに適用される。例示的実施形態において、第１信号処理アルゴリズムは、速く完了され得る単純なアルゴリズムである。第１アルゴリズムは、従来のバーコードなどのデータフォームを処理し得るが、ノイズコード、損傷コード、切断コード、二次元コード、署名またはイメージなどのより困難なデータフォ−ムを処理するほど十分に高度ではない。代わりの実施形態において、処理はステップ２１０から２２０に直接に進み、そこでは、第１アルゴリズムはキャプチャされたイメージに適用される。
【００４６】
処理は、ステップ２２５に進み、そこでは、スワイプスキャナ１００は、第１アルゴリズム１６６が成功したかどうかが判定される。第１アルゴリズム１６６が成功した場合、処理はステップ２５５に進み、そこで、デコードされたデータはさらに処理される。たとえば、データは、デバイス１０１が解釈し得る言語に翻訳され得る。たとえば、スワイプスキャナ１００が、ＵＳＢ接続を介してキャッシュレジスタに付加される場合、デコードされたデータフォ−ムは、ステップ２５５において、シリアル形式に翻訳され、通信インタフェース１１０を介してデバイスに通信される。ステップ２５５に続いて、方法２００の処理は、ステップ２６０に進み、そこで、方法は、ステップ２１０に戻り、スワイプスキャナ１００は、次のデータフォームを処理する用意ができている。
【００４７】
ステップ２２５に戻ると、第１アルゴリズムが成功しなかった場合、処理は、ステップ２２５からステップ２３０に進み、そこで、スワイプスキャナ１００は、たとえばデータフォームのような速度の移動速度を決定する。上記のとおり、データフォームの速度は、連続したイメージ間のデータフォームの移動から決定され得る。あるいは、連続したイメージ間の統計的変化は、データフォームの移動速度のための測定規準として使用され得る。データフォームの移動速度が決定された後に、処理は、ステップ２３０からステップ２３５に進む。代わりの実施形態において、移動速度決定ステップ２３０は、第１アルゴリズムと同時に実行され得る。その実施形態において、第１アルゴリズムが成功した場合、データフォームの速度は、無視または別の目的に使用されるが、第１アルゴリズムがフェイルした場合、データフォームの速度は、ステップ２３５への用意ができている。
【００４８】
ステップ２３５において、スワイプスキャナ１００は、データフォームの速度が所定の移動範囲内にあるかどうかを判定する。より詳細には、データフォームが、０と「Ｘ」を含むその間の速度で移動する場合、処理は、ステップ２４０に進むが、データフォームの速度が、「Ｘ」を超える場合、処理は、ステップ２５０に進む。「Ｘ」は、第２アルゴリズム１６７が完了するに要する時間に基づき選ばれた所定値であり得る。換言すると、データフォームが、「Ｘ」より速く移動する場合、スワイプスキャナ１００は、より時間集約的アルゴリズム１６７を実行するに十分な時間を有しない。
【００４９】
データフォ−ムの速度が、０と「Ｘ」との間にない場合、処理は、ステップ２５０に進み、そこで、スワイプスキャナ１００は、データフォームをデコードしない。いくつかの実施形態において、スワイプスキャナ１００は、なにもしないで、ステップ２６０においてステップ２１０に戻るが、他の実施形態において、スワイプスキャナ１００は、フェイル信号を通信インタフェース１１０に送信、もしくは、可聴フェイルインディケータをスワイプスキャナ１００のオペレータに発し得る。デバイス１０１は、オペレータにフェイルを可聴音または画面上のメッセージで警報を発するようにプログラムされ得る。さらに、スキャナ１００および／またはデバイス１０１は、オペレータに対して、より遅い速度で再度試みるように、もしくはデータフォ−ムをスキャナ１００までもっていくように命令し得る。
【００５０】
ステップ２３５に戻ると、データフォームの速度が０および「Ｘ」またはその間にある場合、処理は、ステップ２４０に進み、そこで、第２信号処理アルゴリズム１６７は、データフォームに適用される。第２アルゴリズム１６７は、より時間がかかるが、困難なコードをデコードするほど十分に高度である。ステップ２４０からステップ２４５に進むと、第２アルゴリズムの処理が不成功である場合、処理は、フェイルステップ２５０に進み、ステップ２６０においてステップ２１０に戻る。いくつかの実施形態において、スキャナ１００および／またはデバイス１０１は、異なるフェイルトーンまたはメッセージを使用し得る。ステップ２４５に戻ると、第２アルゴリズムが成功する場合、処理はステップ２４５から処理ステップ２５５へ進み、次に、ステップ２６０においてステップ２１０に戻る。
【００５１】
方法２００および本明細書に記述された他の方法は、例示的であり、ステップの順序は、設計選択の問題として再配置され得る。
【００５２】
方法２００は、二つの信号処理アルゴリズムを備えるが、本発明は、二つの信号処理アルゴリズムに限定されない。図３は、複数の使用可能な処理方法から選ぶために、スワイプスキャナ１００によって使用され得る表３００を例示する。列３０５は、データフォームがその中に入る速度範囲を備え、列３１０は、その範囲に対応するアルゴリズムを備える。一般に、データフォームの動きがゆっくりであればあるほど、対応するアルゴリズムは、より高度で、時間のかかるものであり得る。
【００５３】
方法２００の実施形態において、イメージスキャナは、データフォームがその中に入る速度範囲を決定し、対応するアルゴリズムを適用する。行３２０に示されるようにより詳細には、データフォームの速度が、０および「Ａ」またはその間にある場合スワイプスキャナ１００は、データフォームをデコードするためにアルゴリズム２を使用する。データフォームの速度が、「Ａ」を超え、「Ｂ」以下である場合、スワイプスキャナ１００は、データフォームをデコードするためにアルゴリズム３を使用する。データフォームの速度が、「Ｂ」を超える場合、スワイプスキャナ１００は、第１信号処理アルゴリズムを適用する。代わりの実施形態において、スキャナは、デコードフェイルを登録し、オペレータに対して、より遅い速度で再び試みるように求め得る。表３００は、必要に応じて多くの範囲およびアルゴリズムを含むように拡張され得る。文字「Ａ」および「Ｂ」は、表３００の範囲を規定する所定の速度を表す。代わりの実施形態において、それらの文字は、連続したイメージ間の差を測定する統計的測定規準を表し得る。
【００５４】
図４は、本発明に従ってインプリメントされた、代わりのダイナミック信号処理方法４００を例示する。方法４００は、ステップ４０５において開始し、ステップ４１０に進む。ステップ４１０において、スワイプスキャナ１００は、イメージを捕捉および分析する。ステップ４１５に進むと、データフォームがイメージにおいて検出されない場合、処理は、ステップ４１０に戻るが、データフォームが検出された場合、処理は、ステップ４２０に進む。
【００５５】
ダイナミック信号処理方法２００と対照的に、ステップ４２０における方法４００は、信号処理アルゴリズムを検出されたデータフォームに適用する前に、データフォームの移動速度を決定する。スワイプスキャナ１００が、データフォームの移動速度を決定した後、処理は、ステップ４２５に進み、そこで、スワイプスキャナ１００は、データフォームの速度が、たとえば、０〜「Ｘ」の所定の移動範囲内にあるかどうかを判定する。前述のように、代わりの実施形態において、データフォームの移動速度は、データ収集モジュール１００がデータフォ−ムをスキャンする前に、外部の速度測定デバイスによって決定され得る。この測定は、データフォームの速度が所定の移動範囲内にあるかどうかを判定するために、ステップ４２５において使用され得る。
【００５６】
データフォームが所定の移動範囲内にない場合、スワイプスキャナ１００は、高度なアルゴリズムを使用する時間を有し得ないので、処理は、ステップ４３０に進み、そこで、第１のたとえば高速で単純な信号処理アルゴリズム１６６が、検出されたデータフォームに適用される。ステップ４３０に続いて、処理はステップ４４０に進む。
【００５７】
ステップ４２５に戻ると、データフォームが所定の移動範囲内にある場合、スワイプスキャナ１００は、高度なアルゴリズムを使用する時間を有するので、処理は、ステップ４３５に進み、そこで、第２のたとえばより高度な信号処理アルゴリズム１６７が、検出されたデータフォームに適用される。ステップ４３０に続いて、処理はステップ４４０に進む。
【００５８】
ダイナミック信号処理方法２００と同様に、方法４００は、二つの信号処理アルゴリズムに限定されない。表３００は、二つ以上の移動範囲および対応する信号処理アルゴリズムを提供するため、改変され、方法４００と共に使用され得る。
【００５９】
ステップ４４０において、スワイプスキャナ１００は、適用されたアルゴリズムが成功したかどうかを判定する。アルゴリズムが成功しない場合、処理は、フェイルステップ４４５に進み、ステップ４５５においてステップ４１０に戻る。アルゴリズムが成功した場合、処理はプロセスデータステップ４５０に進み、ステップ４５５においてステップ４１０に戻る。
【００６０】
図７は、本発明に従ってインプリメントされたダイナミック信号処理方法７００の代わりの実施形態を例示し、該実施形態において、データ収集モジュール１００、たとえば、スワイプスキャナ１００は、二つのアルゴリズムを同時に使用してデータフォームをデコードする。方法７００は、たとえば、データ収集モジュールの電源が入れられたとき、ステップ７０５において、開始する。処理は、ステップ７１０に進み、そこで、スキャナ１００は、イメージを取込み始める。ステップ７１０に続いて、処理は、並行してステップ７１５および７２０に進む。
【００６１】
一つのデバイスの中で二つの処理をマルチタスクする多くの方法がある。一つの例示的方法は、連携マルチタスキングを使用することである。連携マルチタスキングにおいて、第１タスクは、処理における論理ブレークポイントに達するまで、処理ユニットたとえば、ＣＰＵを使用し、ＣＰＵを第２タスクに引渡す。第２タスクは、処理における論理ブレークポイントに達するまで、ＣＰＵを使用し、ＣＰＵを第１タスクに戻す。ＣＰＵは、両方のタスクが完了するまで、タスク間で受け渡しされる。
【００６２】
別のマルチタスク方法は、割込み形多重タスキングであり、この場合、各タスクは、ＣＰＵに対して所定の時間が与えられる。第１タスクの時間が終了したとき、第１タスクが論理ブレークポイントにない場合であっても、ＣＰＵは、第２のタスクに切換えられる。この方法は、より多くの予測可能な処理時間をもたらす。スキャナ１００は、二つの信号処理アルゴリズムを同時に処理するために、オペレーティングシステム（ＯＳ）および／または、ある他のスケジューリングプログラムを使用する。
【００６３】
方法８００に戻ると、ステップ７１５および７２０においてスキャナは、第１信号処理アルゴリズムと第２信号処理アルゴリズムを同時に処理する。第１信号処理アルゴリズムは、一つの実施形態において、高速で単純なアルゴリズムであり、一方、第２信号処理アルゴリズムは、完了までにより多くの時間がかかるが、より困難なデータフォームをデコードし得るより高度なアルゴリズムである。第１アルゴリズムは、完了までに第２アルゴリズムより少ない時間がかかるので、スキャナ１００は、ステップ７２０〜７４０を一度実行する時間で、ステップ７１５〜７４０を複数回実行し得る。ＯＳは、アルゴリズムの各々の処理を切換える。
【００６４】
図８は、例示的処理のタイムラインを示す表８００を例示する。表８００は、３行から成る。第１行８４５は、スキャナ１００があるフレームを例示する。スキャナ１００は、たとえば、毎秒３０フレームの速度で、すべてのフレームに画像を取込む。表８００は、８フレーム８０５〜８４０の処理を例示する。第２行目８５０は、第１アルゴリズムを完了するために使用される時間を例示する。図８に示されるように、第１アルゴリズムは、スキャナによって取込まれるあらゆるイメージが少なくとも第１アルゴリズムによって処理されるように、各フレーム内で完了するように設計される。第３行目８５５は、第２アルゴリズムを完了するために使用される時間を例示する。第２アルゴリズムは、第１アルゴリズムより時間集約的である。従って、第２アルゴリズムは、完了するまでに４フレームかかる。第２アルゴリズムは、この例示的実施形態において、フレーム１の８０５、フレーム５の８２５、などからのイメージを処理する。
【００６５】
任意のフレーム間にあるスキャナの前でスワイプされる単純なデータフォームは、第１アルゴリズムによってデコードされ得るが、困難なデータフォームは、データフォームが例示的表８００に例示されるように、４フレームごとの間でスワイプされるとき、デコードされる。データフォームがより遅い速度で動いているかもしくは動いていない場合、データフォームは、より長い時間スキャナ１００の視野内に留まり、スキャナ１００に対してデータフォームのイメージをキャプチャおよびデコードするためのより多くの時間を与える。従って、スキャナ１００は、単純なコードのための高速スワイプ構成において使用され、また、より困難なデータフォームをデコードするために使用され得る。第２アルゴリズムがデコードすべきイメージを得るとき、たとえば、フレーム５の８２５などのフレーム時にデータフォームがスキャナ１００を通過する場合、スキャナ１００は、また、困難なデータフォームのための限定された高速スワイプデコーディングを提供し得る。
【００６６】
同じデータフォームが、アルゴリズムの一つまたは両方によって数回デコードされ得るので、スキャナは、複数の読取りからの一つのデータフォームを認識するための公知の方法を使用し得る。
【００６７】
方法７００の記述に戻ると、第１または第２アルゴリズムのいずれかが完了するとき、処理は、ステップ７２５に進む。完了したアルゴリズムが成功しない場合、処理は、フェイルステップ７３０に進み、次に、ステップ７４０において、ステップ７１０に戻る。アルゴリズムが成功した場合、処理は、処理データステップ７３５に進み、ステップ７４０においてステップ７１０に戻る。方法７００の処理は、二つの信号処理アルゴリズムに限定されない。
【００６８】
スワイプスキャナ１００を有する店が業務の閉鎖のとき、スキャナ１００は、監視モードにおいて動作し得る。図５は、本発明の実施形態に従ってインプリメントされる例示的監視方法５００を例示する。監視方法５００は、たとえば、スイッチをスワイプスキャナモードから監視モードに切換えることによって、ステップ５０５において開始する。スワイプスキャナは、その視野を増加、および／または夜間視覚モードを使用し得る。
【００６９】
ステップ５１０において、スワイプスキャナ１００は、連続的にイメージをキャプチャする。ステップ５１０に続いて、処理はステップ５１５に進み、そこで、キャプチャされたイメージは動きに関して分析される。いくつかの実施形態において、スワイプスキャナ１００は、動きを検出したとき、動作するようにプログラムされ得るが、他の実施形態において、スワイプスキャナ１００は、予期された動きを無視するようにプログラムされ得る。たとえば、アニメーションのウィンドウディスプレイの動きは、キャプチャされたイメージの分析に組込まれ得、次に、動きが予期されているので無視され得る。予期された動きを組込んだ一つの例示的方法は、動き分析を全く動きが予期されない視野のサブフィールドに限定することによる。たとえば、ダイナミックディスプレイを含む領域の視野の動きのある領域は、動き分析外に置かれる。予期されない動きが検出されたとき、処理は、ステップ５１５からステップ５２０へ進む。スキャナの視野のサブフィールドを分析することは、予期された動きを組込むことに限定されず、代わりの実施形態において、動き検出は、性能を向上させ、記憶されたイメージサイズを減少させるなどのためにサブフィールドに限定され得る。
【００７０】
ステップ５２０において、スワイプスキャナ１００は、予期されない動きが、動きの第１所定範囲内にあるかどうかを判定する。たとえば、０〜「Ｇ」である。動きが第１範囲内である場合、処理は、ステップ５２０からステップ５３５に進み、そこで、スワイプスキャナは第１動作を実行する。たとえば、変数「Ｇ」は、この範囲において検出された動きがわずかであるように、比較的低い値に設定され得る。わずかな動きに関して、スワイプスキャナ１００は、後の分析のためにイメージおよび／または映像をセーブするようにプログラムされ得る。ステップ５３５においてイメージをセーブした後に、方法５００は、さらなる監視のために、ステップ５４０においてステップ５１０に戻る。
【００７１】
ステップ５２０に戻ると、動きが動きの第１範囲内でない場合、処理はステップ５２５に進み、そこで、スワイプスキャナ１００は、検出された動きが第２移動範囲、たとえば、「Ｇ」を超え、「Ｈ」以下の範囲内かどうかを判定する。動きが第２範囲内である場合、処理は、ステップ５３０に進み、そこで、スワイプスキャナ１００は第２動作を開始する。この範囲における動きはより大きいので、スワイプスキャナ１００は、さらなる動作をとるようにプログラムされ得る。たとえば、スワイプスキャナ１００は、検出された動きのイメージをセーブし、次に、イメージをたとえば、ｅメールで店のオーナーへ送信するようにプログラムされ得る。ステップ５３０に続いて、方法５００は、さらなる監視のために、ステップ５４０においてステップ５１０に戻る。
【００７２】
ステップ５２５に戻ると、検出された動きが、第１または第２の移動範囲内にない場合、すなわち「Ｇ」を超える場合、動きは、たとえば、強盗であり、潜在的に重大である。この状況において、処理は、ステップ５２５からステップ５３７に進み、そこで、スワイプスキャナ１００は、たとえば、地元の警察または警備会社などの当局にコンタクトし、動きのイメージを店オーナーにｅメールし、可聴アラームを発するようにプログラムされ得る。ステップ５３７に続いて、方法５００は、さらなる監視のために、ステップ５４０においてステップ５１０に戻る。
【００７３】
前述の実施形態における範囲および動作の数は、例示である。代わりの実施形態においてスワイプスキャナ１００は、多くの異なる組合せにおける複数の動作に対応したより多くの移動範囲を有し得る。
【００７４】
図６は、例示的システム６００を例示し、発明が使用され得る。システム６００は、インターネットクラウド６０５、イメージスキャナ６１５を備えた店６１０、警察署６３０、およびモバイルコンピュータ６２５を保持する店オーナー６２０を備える。スワイプスキャナ６１５は、ある範囲内の動きを検出した場合、スワイプスキャナは、警察６３０および／または店オーナー６２０とコンタクトするために、インターネット６０５およびその他の手段を使用し得る。店オーナー６２０が、たとえば、ラップトップまたはパーソナルディジタルアシスタント（ＰＤＡ）などのモバイルコンピュータ６２５を有する場合、店オーナー６２０は、そのオーナーの店におけるあらゆる異常な活動が通知される。オーナーは、動きの画像を見て、警報を無視するかまたは当局にコールするべきか決定する。
【００７５】
本発明の好適な実施形態に適用されるように、本発明の基本的な新規の特徴が示され、記述され、指摘されているが、開示された発明の形式および詳細における種々の省略および代用および変更が、本発明の精神を逸脱することなく、当業者によってなされ得ることは理解される。従って、本明細書に添付された特許請求の範囲の範囲によって指示されるようにのみ、限定されることが意図されである。
【図面の簡単な説明】
【００７６】
図面は、一定の縮尺ではなく、単に例示的であり、同じ参照番号は、いくつかの図全体にわたり、同じエレメントを示す。
【図１】図１は、本発明の実施形態に従ってインプリメントされる例示的データ収集モジュールを例示する。
【図２】図２は、本発明の実施形態に従ってインプリメントされる例示的ダイナミック信号処理方法を例示する。
【図３】図３は、本発明の実施形態に従って使用される例示的表を例示する。
【図４】図４は、本発明の第２の実施形態に従ってインプリメントされる第２の例示的ダイナミック信号処理方法を例示する。
【図５】図５は、本発明の実施形態に従ってインプリメントされる例示的監視方法を例示する。
【図６】図６は、本発明の監視実施形態が動作し得る例示的システムを例示する。
【図７】図７は、本発明の第２の実施形態に従ってインプリメントされる代わりの例示的ダイナミック信号処理方法を例示する。
【図８】図８は、本発明の実施形態に従っていくつかの信号処理アルゴリズムによって使用される相対時間量を示す例示的表を例示する。
【図１】
2008518353.tif 000003
【図２】
2008518353.tif 000004
【図３】
2008518353.tif 000005
【図４】
2008518353.tif 000006
【図５】
2008518353.tif 000007
【図６】
2008518353.tif 000008
【図７】
2008518353.tif 000009
【図８】
2008518353.tif 000010
【国際調査報告】
2008518353.tif 000011
2008518353.tif 000012