(57)【要約】【課題】レーザ・バーコード・スキャナによる移動するアイテムの方向を追跡するための方法、コンピュータ読み取り可能媒体および装置を提供する。【解決手段】一対の走査面による移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、一対の走査面の各走査面が感知したビデオ遷移の数をカウントするステップと、一対の走査面の各走査面のビデオ遷移のカウントした数を、第１のサンプルのところの所定の閾値と比較することにより、移動するアイテムが各走査面と交差したかどうかを判定するステップとを含む。時間的に第２のサンプルのところで、上記ステップが反復され、この方法は、第１のサンプルおよび第２のサンプルから観察した変化から移動するアイテムの移動方向を評価する追加ステップを含む。【選択図】図１
2007183946.tif 000002
【特許請求の範囲】
【請求項１】
バーコード・スキャナにより移動するアイテムの方向を判定するための方法であって、
第１のサンプルのところで、一対の走査面内に発生する前記移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、
前記第１のサンプルのところで、前記一対の走査面の各走査面内で感知したビデオ遷移の数をカウントするステップと、
前記一対の走査面の各走査面のビデオ遷移のカウントした数を、前記第１のサンプルのところの所定の閾値と比較することにより、前記移動するアイテムが前記各走査面と交差したかどうかを判定するステップと、
第２のサンプルのところで前記感知、カウントおよび判定ステップを反復するステップと、
前記第１のサンプルおよび前記第２のサンプルから観察した変化から前記移動するアイテムの移動方向を評価するステップとを含む方法。
【請求項２】
各走査面に関連する所定の閾値を使用する、請求項１に記載の方法。
【請求項３】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後で走査面のビデオ遷移のカウントした数にセットされる、請求項１に記載の方法。
【請求項４】
前記所定の閾値およびビデオ遷移のカウントした数が、活動レジスタ・ペア内に格納される、請求項１に記載の方法。
【請求項５】
前記第１のサンプル中に、
一組の走査面ペアから前記一対の走査面を選択するステップをさらに含む、請求項１に記載の方法。
【請求項６】
復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために、前記アイテムと関連する前記バーコードを有する移動インジケータの値を格納するステップと、
同じアイテムを２回以上再走査するのを防止するために前に復号したバーコードを復号した場合に、前記復号したバーコードの移動インジケータの値を、前記移動インジケータの値と比較するステップとをさらに含む、請求項１に記載の方法。
【請求項７】
前記第１および第２のサンプルが、第１および第２のモータの回転である、請求項１に記載の方法。
【請求項８】
第１のサンプルのところで一対の走査面で起こる移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、
前記第１のサンプルのところで前記一対の走査面の各走査面内で感知したビデオ遷移の数をカウントするステップと、
前記一対の走査面の各走査面のビデオ遷移のカウントした数を、前記第１のサンプルのところで所定の閾値と比較することにより、前記移動するアイテムが前記各走査面と交差するかどうかを判定するステップと、
第２のサンプルのところで前記感知、カウントおよび判定ステップを反復するステップと、
前記第１のサンプルおよび前記第２のサンプルから観察した変化から前記移動するアイテムの移動方向を評価するステップと
を実行することにより、その内容がスキャナのマイクロプロセッサに前記移動するアイテムの方向を判定させるコンピュータ読み取り可能媒体。
【請求項９】
各走査面と関連する所定の閾値を使用する、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１０】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後で走査面のビデオ遷移のカウントした数にセットされる、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１１】
前記所定の閾値およびビデオ遷移のカウントした数が、活動レジスタ・ペア内に格納される、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１２】
前記第１のサンプル中、前記方法が、
一組の走査面ペアから前記一対の走査面を選択するステップをさらに含む、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１３】
復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために、前記アイテムと関連する前記バーコードを有する移動インジケータの値を格納するステップと、
同じアイテムを２回以上再走査するのを防止するために前に復号したバーコードを復号した場合に、前記復号したバーコードの移動インジケータの値を前記移動インジケータの値と比較するステップとをさらに含む、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１４】
前記第１および第２のサンプルが、第１および第２のモータの回転である、請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１５】
移動するアイテムの方向を判定するための装置であって、
前記移動するアイテムの包装グラフィックスから反射するビデオ遷移の数を感知するための走査装置と、
対応する走査面と交差するアイテムの存在を表示するビデオ遷移の所定の閾値および一対の走査面の各走査面のところで感知したビデオ遷移の数のカウントを格納するための記憶装置と、
前記一対の走査面の各走査面が感知したビデオ遷移の数をカウントし、前記記憶装置にビデオ遷移の前記カウントした数を格納するためにコードを実行するマイクロプロセッサであって、前記アイテムが前記一対の走査面とどのように交差するのかを判定する目的で、前記一対の走査面の各走査面のビデオ遷移のカウントした数を前記所定の閾値と比較するために、および前記アイテムと前記一対の走査面との交差がどのように変化したのかを判定する目的で、前記一対の走査面の各走査面のビデオ遷移のカウントした数を、後の時点で、前記所定の閾値と比較するためにコードを実行するマイクロプロセッサとを備える装置。
【請求項１６】
移動インジケータをさらに備え、前記マイクロプロセッサが、移動するアイテムと前記一対の走査面との交差の変化に基づいて、前記移動するアイテムの方向を反映するように前記移動インジケータをセットする、請求項１５に記載の装置。
【請求項１７】
前記記憶装置が、各走査面に関連する所定の閾値を格納する、請求項１５に記載の装置。
【請求項１８】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後でビデオ遷移の前記カウントした数にセットされる、請求項１５に記載の装置。
【請求項１９】
前記マイクロプロセッサが、一組の走査面ペアから前記一対の走査面を選択する、請求項１５に記載の装置。
【請求項２０】
前記マイクロプロセッサが、復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために前記アイテムに関連する前記バーコードと一緒に前記移動インジケータの値を格納し、同じアイテムが２回以上再走査されるのを防止するために前に復号したバーコードを復号した場合、前記復号したバーコードの移動インジケータの値を前記移動インジケータの値と比較する、請求項１６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーザ・バーコード・スキャナによるアイテムの方向の追跡の改善に関し、特に、アイテムの包装の暗部から明部へおよび明部から暗部へのビデオ遷移を感知するために、バーコード・スキャナにより移動するアイテムの方向を判定するための方法および装置に関する。
【背景技術】
【０００２】
バーコード・スキャナは、通常、ラベル面を横切って光ビームを走査するためにモータおよびパターン・ミラーを使用し、反射光を測定することにより動作する。光ビームは、通常は、レーザ・ダイオードであるレーザおよび関連する光学系により生成される。反射光は、入射経路に沿って戻り、光検出器上に焦点を結ぶ。光検出器は、収集した光エネルギーを電気信号に変換する。この電気信号は、アナログ電子機器により処理され、デジタル信号に変換され、さらに、通常はプロセッサおよび関連するファームウェアを含むデジタル電子機器により処理される。
【０００３】
プロセッサは、完全なおよび部分的なラベルのデータを含むレーザまたは光ビームの範囲内を通過したすべてのものを含むバーコード・ラベルのデータのストリームを受信する。プロセッサは、通常はファームウェア内に格納しているプログラミングの制御の下でバーコード・ラベルを復号し、同じアイテムの多重読取りを無視し、他のタスクを行うために、部分的なバーコード・ラベルのデータまたはバーコードの断片（「一部」）を一緒に組み合わせようとする。受信した情報は、多くの理由によりはっきりしない場合もあるし、そうでなくても判読が難しい場合がある。例えば、光ビームに対するアイテム上のその位置のために、スキャナがバーコードを読み取りにくい場合がある。通常、ファームウェアは、同じアイテム上のバーコード・ラベルの成功した読取り間に比較的長い遅延を要求することにより、バーコードを複数回読み取るのを避けようとする。これにより、走査スループットが低減し、そのため現在必要ではあるが望ましくない解決方法が使用されている。
【０００４】
重複走査をなくすためのもう１つのアプローチは、走査ゾーンの入口および出口のところに発光ダイオード（ＬＥＤ）および光電池ペアにより構成したアイテム・ゲートを使用するステップを含む。このアプローチを使用するバーコード・スキャナは、入口および出口ＬＥＤからの光がアイテムにより遮断された場合、遮断されなかった場合に、走査ゾーンに出入りするアイテムを検出する。このアプローチは、不正確な読取りを含む多くの欠点を有していた。例えば、あるアイテムは、アイテム・ゲートをトリガするほどＬＥＤからの光を十分遮断しないために、アイテムが走査されず、オペレータがアイテムを再度走査しなければならない場合がでてくる。さらに、この解決方法の場合には、重複走査問題を解決するという特定の目的だけに使用する追加のハードウェアが必要になり、そのためバーコード・スキャナのコストが高くなる。
【０００５】
本発明の譲受人に譲渡され、参照により全体を本明細書に組み込むものとするＢｌａｎｆｏｒｄ他の米国特許第６，３４７，７４１号に記載されている重複走査を避けるためのもう１つの従来のアプローチは、モータ位置情報を使用して任意の所与の時点でバーコードの位置を判定してアイテムが走査ゾーンから出たかどうかを判定するステップを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
いくつかの利点を有しているが、この解決方法の場合には、走査ゾーンを通してバーコード・ラベルを多かれ少なかれ連続的に走査しなければならないが、現在使用しているバーコードの位置または小さいサイズのために、多数回走査してもこのような連続的走査は行われない。
【課題を解決するための手段】
【０００７】
レーザ・バーコード・スキャナによる移動するアイテムの方向を追跡するための方法、コンピュータ読み取り可能媒体、および装置について開示する。ある態様によれば、この方法は、好適には、時間的に第１のサンプルのところでの下記のステップを含むことができる。これらのステップは、一対の走査面により移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、一対の走査面の各走査面が感知したビデオ遷移の数をカウントするステップと、一対の走査面の各走査面のビデオ遷移のカウントした数を第１のサンプルのところの所定の閾値と比較することにより、移動するアイテムが各走査面と交差するかどうかを判定するステップとを含む。時間的に第２のサンプルのところで、上記ステップが反復され、この方法は、移動するアイテムの方向を反映するように移動インジケータをセットするために、時間的に第２の瞬間のところでアイテムと走査面ペアとの交差がどのように変化したかを評価する追加ステップを含む。
【０００８】
いくつかの利点を有しているが、本発明は、異なる時点で一対の走査面のところで感知した移動するアイテムの包装グラフィックスから反射したビデオ遷移をサンプリングし、これらのサンプルは、移動するアイテムの方向を判定するために使用される。本発明の１つの用途は、アイテムの重複走査の問題の改善された解決方法を提供することである。
【０００９】
添付の図面を参照しながら、下記の詳細な説明を読めば、本発明、本発明の他の特徴および利点をよりよく理解することができるだろう。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明によるアイテムの方向を追跡することができる例示としての多重窓スキャナ１００である。スキャナ１００は、水平走査窓１０２および垂直走査窓１０４を有する。スキャナ１００は、オブジェクト１０６のようなオブジェクトから反射した光に基づいて、窓１０２および１０４の一方または両方の視野を通過するスキャナ信号を生成する。この図の例の場合には、アイテム１０６は、両方とも垂直走査窓１０４から放射する第１の走査面１１０およびこれに平行な第２の走査面１１２を通過する。平行な走査面１１０および１１２の間には、約１インチの間隔１１４が存在する。平行な走査面１１０および１１２の間に形成されるスペースの容積が走査ゾーンである。図面を分かり易くするためまた説明上の都合で、２つの平行な走査面しか図示してないが、多くの平行な走査面ペアを垂直走査窓１０２および水平走査窓１０４の両方から放射することができること、また通常放射されることに留意されたい。
【００１１】
各走査面１１０および１１２は、スキャナ１００内のスピナー２３３（図２）の回転により決定される経路に沿って走査ビームをトレースすることにより生成される。アイテム１０６が、スキャナの窓１０２および１０４の視野内を通常の走査の動きで右から左にスキャナ１００を横切って通過すると、アイテム１０６は、最初に走査面１１０と交差し、次に、走査面１１０および１１２の両方と交差し、次に、走査面１１２と交差し、最終的には、走査面１１０および１１２の両方ともはや交差しなくなる。アイテム１０６が走査面１１０、１１２または両方と交差している間、光はアイテム１０６の包装グラフィックスによりスキャナ１００内に反射される。通常、包装グラフィックスはアイテムのすべての側面上に位置していて、スキャナ１００はこのような包装上に位置する明領域または暗領域からの反射の変化を感知し、以下にさらに詳細に説明するように、バーコードを読み取らないで、アイテムの存在および移動方向を認識するために上記変化を評価する。
【００１２】
アイテム１０６の包装グラフィックスによりスキャナ１００内へ反射するビデオ遷移の数、明領域から暗領域および暗領域から明領域への遷移の数に関連する縁部情報は、本発明の開示により決定することができる。図４で説明するように、走査面ペアのビデオ遷移は、アイテムの移動方向を判定するのに使用することができる。アイテム１０６が走査面１１２および１１０を通過すると、ビデオ遷移または活動をこれら走査面のところでスキャナ１００により見ることができる。アイテム１０６が走査ゾーンから出ると、アイテム１０６の後縁部が走査面１１０を越えるために、走査面１１０からのビデオ遷移が少なくなり、一方、走査面１１２からのビデオ遷移は引き続き起こり、アイテムが図１の右から左の方向に走査ゾーンを離れていくことを示す。オブジェクト１０６が図１を右から左に通過すると、この運動は、通常、慣例により前進方向であると見なされることに留意されたい。同様に、オブジェクト１０６が図１を左から右に通過すると、この運動は、慣例により後進方向であると見なされる。
【００１３】
さらに、バーコードがアイテム１０６上の走査面１１０、１１２または任意の他の走査面から検出されると、バーコードが検出された時点での移動方向も記録することができる。図４で説明するように、この情報はスキャナの精度および走査スループットを改善するために使用することができる。
【００１４】
例えば、本発明の教示により、スキャナは、第１のアイテムが、例えば走査面１１０のような入口側から例えば走査面１１２のような出口側に走査ゾーンを通過したと判定し、第１のアイテムが出口側から走査ゾーンに再度入らなかったと判定するために、包装グラフィックスからのビデオ遷移の評価を使用することができる。第２のアイテムが入口側の走査ゾーンに入った場合には、スキャナは、前進と後進とを区別することによりそれが新しいアイテムであり、第１のアイテムと同じアイテムでないと判定することができる。それ故、２つの類似のアイテムが同じバーコード・ラベル情報を含んでいる場合でも、スキャナは、第２のアイテムを新しいアイテムであると判定し、同じアイテムの重複走査を避けるために長い中断をしなくても第２の走査を登録することができる。同様に、第１のアイテムが出口面から走査ゾーンに再度入った場合には、すでに読み込んだバーコードの再度の走査を防止することができる。
【００１５】
図２（図２Ａおよび図２Ｂ全体）は、スキャナ１００の内部構成要素および回路を示す。スキャナ１００は、ＡＳＩＣ２１２を含む。ＡＳＩＣ２１２は、本発明の教示によるコードまたはファームウェア２１５により制御される静止レジスタ２１３と、間隔カウント・レジスタ２１１と、ビデオ回路２１７と、マイクロプロセッサ２１９とを含む。ビデオ回路２１７については、図３のところでさらに詳細に説明する。本発明の教示によるマイクロプロセッサ２１９およびコード２１５の動作については、図４および図５のところでさらに詳細に説明する。
【００１６】
静止レジスタ２１３は、ビデオ遷移の所定の閾値を含む。この所定の閾値を超える遷移のカウントは、第１の走査面１１０と交差しているオブジェクトが存在していることを示す。間隔カウント・レジスタ２１１は、アイテム１０６のようなオブジェクトが第１の走査面１１０と交差した場合、第１の走査面１１０のところで以下に説明するビデオ遷移または間隔のカウントを維持する。好適には、システムの各走査面のための静止レジスタおよびカウント・レジスタを含む、活動レジスタ・ペアと呼ぶレジスタ・ペアを使用することが好ましい。しかし、本発明の開示は、すべての走査面が共有するグローバル静止レジスタも含む。説明を分かり易くするために、図では第１の活動レジスタ・ペア２１１、２１３は、走査面１１０のためのものであり、第２の活動レジスタ・ペア２２１は走査面１１２のためのものである。
【００１７】
図のスキャナ１００は、また農産物を入れるバッグのような質量が変わる製品２２１のようなオブジェクトを重量測定のために置くことができるスケール・アセンブリ２２６も含む。次に、スケール・アセンブリ２２６は、ＡＳＩＣ２１２に重量情報を供給する。
【００１８】
また、スキャナ１００は、好適には、計量表示および通信回路２１８と、第１の周辺通信回路２２０と、第２の周辺通信回路２２２と、ホスト端末回路への計量通信２２４と、ホスト端末回路へのスキャナ／計量通信２２６とを含むことができる。各回路２１８〜２２６はＡＳＩＣ２１２に信号を供給し、各回路２１８〜２２６からの信号は、最初に面調整装置２２８を通過する。
【００１９】
また、ＡＳＩＣ２１２は、レーザ２２９にレーザ制御信号を供給する。ＡＳＩＣ２１２は、また、モータ２３０にモータ制御コマンドを供給する。モータ２３０は、光アセンブリ２３２に取り付けられているモータ・シャフト２３１を含む。アセンブリ２３２は、好適には、スピナー２３３上で回転するように装着されている固定ミラーまたは他の光学部品（詳細に図示せず）を含むことができる。ＡＳＩＣ２１２からの信号によりモータ２３０が駆動されると、スピナー２３３がモータ２３０により移動する。光がレーザ２２９から放射されると、光はアセンブリ２３２により光学的バスケットに反射し、このバスケットは、アイテム１０６が走査面のうちの１つまたは複数を横切った場合、アイテム１０６に入射するように、光を１つまたは複数の組の平行な走査面の方向に向ける。この時点においては、本発明をＮＣＲモデル７８７５二光学系スキャナの改善モデルとして実施することが好ましいが、本発明は、単一走査窓スキャナを含むアイテムの方向を追跡するための種々様々なスキャナに対する改善モデルとして、または新しく開発されたスキャナ製品の一部として有利に使用することができることを理解することができるだろう。
【００２０】
光がアイテム１０６に入射すると、光は光アセンブリ２３２に戻るように反射され、集光され、アナログ・ビデオ前処理回路２５２に送られ、この前処理回路は、ＡＳＩＣ２１２にＶＩＤＥＯ０信号を供給する。また、好適には、スキャナ１００は、音響出力回路２４８およびスピーカ２５０を含む音響発生機能を含むことが好ましい。また、スキャナ１００は、ランダム・アクセス・メモリ（ＲＡＭ）２４４およびコード２１５を格納するための読出し専用メモリ（ＲＯＭ）２４６も含む。
【００２１】
データ・バスが、ＡＳＩＣ２１２、ＲＡＭメモリ２４４、ＲＯＭメモリ２４６および音響出力回路２４８を接続している。アドレスおよび制御バスも、ＡＳＩＣ２１２、ＲＡＭメモリ２４４およびＲＯＭメモリ２４６を接続している。
【００２２】
スキャナ１００は、オペレータと通信するためにまたはオペレータにフィードバックするためにトーンを生成し、音声を生成する。音響出力回路２４８は、ＡＳＩＣ２１２からどんな音響をいつ生成するのかを指示する信号を受信し、ＲＡＭ２４４およびＲＯＭ２４６からの音響を発生するためのデータにアクセスする。音響はスピーカ２５０に送られる。
【００２３】
図３は、好適には、本発明によりビデオ遷移をカウントし、バーコードを読み取るために使用することができる、図２のビデオ回路２１７の実施態様のさらなる詳細図である。ビデオ回路２１７は、間隔幅カウンタ３０２と、エッジ検出器３０４と、プリバッファ３０８とを含む。プリバッファ３０８は、フラグ・プリバッファ３０８ａと、間隔プリバッファ・シフト・レジスタ３０８ｂとを含む。ビデオ回路２１７は、さらに、タイムスタンプ（Ｔｓｔａｍｐ）プリバッファ・シフト・レジスタ３１０と、間隔合計回路３１４と、マルチプレクサ３１８と、ＵＰＣフィルタ３２０と、間隔先入れ先出し（ＦＩＦＯ）回路３２２とを含む。
【００２４】
動作中、ビデオ回路２１７は、エッジ検出器３０４に経路指定されるビデオ入力を受信する。エッジ検出器３０４は、フラグ・プリバッファ・シフト・レジスタ３０８ａおよびＴｓｔａｍｐプリバッファ・シフト・レジスタ３１０に供給されるシフト・クロック出力を生成する。シフト・クロック出力は、また、リセット入力として間隔幅カウンタ３０２に供給される。エッジ検出器３０４は、ビデオ遷移、間隔の値およびビデオ極性を表す１２ビット信号ＩＮＴが発生した場合に、間隔幅カウンタ３０２をスタートさせる。信号ＩＮＴは、ビデオ信号の次の遷移の際に間隔プリバッファ・シフト・レジスタ内にシフトされ、この次の遷移がまた間隔幅カウンタ３０２をリセットし、そのため次のビデオ間隔のタイミングがスタートする。これらのビデオ間隔は、アイテム１０６のようなアイテムの包装グラフィックスの暗部または明部の時間間隔を表す。これらのビデオ間隔は、また、走査中のアイテム１０６上のバーコードを形成しているバーおよび間隔の幅を表す。
【００２５】
同時に、１０ビットのタイムスタンプおよびモータ回転カウンタの４つの最下位ビットを表すタイムスタンプ信号が、タイムスタンプ・プリバッファ・シフト・レジスタ３１０内にシフトされる。それ故、各ビデオ間隔の時間的長さ、モータ位置の極性および時間的関係が各ビデオ遷移に対して捕捉される。各走査面は、モータ２３０の回転および位置に基づいて読み取られるので、走査面は、その関連するタイムスタンプにより表される。例えば、タイムスタンプの値１〜１０は走査面１に対応し、タイムスタンプの値１１〜２０は走査面２に対応し、以下同様である。何故なら、多くの走査面がスキャナ１００で使用されるからである。好適には、タイムスタンプ値と関連する走査面値との間のこの関係を反映している走査面テーブルは、ＲＯＭ２４６内に格納することが好ましい。さらに、走査面が捕捉する各間隔は、関連するタイムスタンプを含む。走査面に関連するタイムスタンプを有する各間隔を別々にカウントすることにより、特定の走査に対して捕捉した間隔の数をマイクロプロセッサ２１９により決定することができる。特定の走査面の各間隔の別々のカウントについては、図４でさらに説明する。
【００２６】
ビデオ間隔は、また、間隔合計回路３１４およびフィルタ回路３２０を通して送られる。フィルタ回路３２０は、ビデオ・データ・ストリームが有効なバーコード・データを表していることを示すために、ビデオ・データ・ストリームが所定のタイミング関係に適合するかどうかを判定する。例えば、ビデオ・データの始まりと終わりとの間の時間間隔が長すぎる場合には、データはバーコードの有効な走査から来ないで、無効なバーコードの時間間隔というマークが付けられる。しかし、ビデオ遷移をカウントするために、有効および無効の間隔が両方とも間隔ＦＩＦＯ３２２に送られる。同様に、バーコードの開始文字と停止文字との時間間隔が短すぎる場合には、走査に無効バーコード時間間隔のマークが付けられる。合法的なバーコード・データの開始と終わりには、以降の復号のために有効なバーコード間隔に境界線を引くために、フラグ・プリバッファ・シフト・レジスタ３０８ａ内にフラグ・ビットをセットすることによりマークが付けられる。次に、フラグ・ビットが、間隔プリバッファ・シフト・レジスタ３０８ｂ内に格納している対応する間隔データ語に追加される。マイクロプロセッサ２１９は、対応するバーコードを復号する目的で、どの間隔がバーコード間隔であるのかを決定するためにフラグを使用する。また、時間間隔に対応するタイムスタンプ値が、各３２ビットの間隔データ語により間隔ＦＩＦＯ回路３３２に書き込まれる。各間隔データ語は、カウントするためにマイクロプロセッサ２１９に転送され、間隔データ語がバーコード間隔を反映している場合には、復号も行われる。
【００２７】
マイクロプロセッサ２１９は、コード２１５を実行している時に、各間隔に基づいての各間隔データ語を処理する。各間隔データ語を受信した場合、マイクロプロセッサ２１９は、間隔データ語が含んでいるタイムスタンプを読み、ＲＯＭ２４６内に格納している走査面テーブルのタイムスタンプから関連する走査面を探し、走査面１１０用の間隔カウント・レジスタ２１１のような走査面に関連する間隔カウント・レジスタを増分増大する。マイクロプロセッサ２１９は、モータ２３０が１回転する間にすべての走査面に対する間隔データ語を処理する。モータの各回転の終わりに、マイクロプロセッサ２１９は、コード２１５の制御下で、対応する走査面上で活動が行われているかどうかを判定するために、各間隔カウント・レジスタの値をその関連する静止レジスタと比較する。間隔カウント・レジスタの値が静止レジスタの値と等しいかまたは大きい場合には、対応する走査面上の活動が行われている場合である。静止レジスタの値が、その関連する間隔カウント・レジスタの値より小さい場合には、走査窓に対するその位置および角度のような個々の走査面のいくつかの特性を考慮に入れるために、その関連する間隔カウント・レジスタの最低の値を反映するように、静止レジスタの値を修正することができる。
【００２８】
図４（図４Ａ、図４Ｂおよび図４Ｃ全体）は、本発明によるオブジェクトの運動の方向を判定するための方法４００を示すフローチャートである。ステップ４０５において、この方法は、モニタ・インジケータがセットされているかどうかをチェックする。このインジケータは、一対の走査面がモータ２３０の前の回転中に活動を感知したことを表示するために使用される。このステップ４０５は、特定の走査面ペア上の少なくとも２つの活動のサンプルを作るために使用される。少なくとも２つの活動のサンプルを比較することにより、この方法は、以下に説明するように、移動するオブジェクトの方向を推定することができる。モニタ・インジケータがセットされていない場合には、第１のサンプルがまだ確立されていない。それ故、この方法４００は、ステップ４１０に進み、ここで各走査面ペアに対する活動が判定される。すでに説明したように、特定の走査面上の活動は、その対応する間隔カウント・レジスタの値をその関連する静止レジスタと比較することにより判定される。ステップ４１５において、ある走査面に対する活動が行われている走査面ペアが存在するのかどうか、その対応する走査面ペアに対する活動が行われていないかどうかの判定が行われる。このような走査面ペアは、オブジェクトが１つの走査面と交差しているが、対応する走査面とはまだ交差していないことを示す。このような走査面ペアが存在する場合には、この方法はステップ４２０に進み、監視する走査面ペアを選択する。ステップ４２５において、モニタ・インジケータが、次のモータの回転中の選択したペアの活動を監視するようにセットされる。
【００２９】
さらに、位置ペア・インジケータが、選択ペアの第１または第２の走査面が活動しているかどうかを表示するようにセットされる。この実施形態の場合には、第１の走査面が、オブジェクトが前進方向に移動している場合に、最初に交差する走査面１１０のような走査面として定義される。ステップ４３０において、この方法４００は、ステップ４０５に戻る前に、次のモータの回転を待機する。さらに、ステップ４３０において、他の走査面ペアが以降のモータの回転中のオブジェクトの方向を感知するように、各走査面に関連する間隔カウント・レジスタをクリアする。ステップ４１５に戻って説明すると、一方の走査面上で活動が行われていない場合に他方の走査面上で活動が行われている走査面ペアが存在しない場合には、この方法４００は、ステップ４３０に進んでステップ４０５に戻る前に、次のモータの回転を待機する。モータの回転により、走査面１１２のような第２の走査面の前で、走査面１１０のような第１の走査面のところでビデオ遷移が収集されるが、本発明の目的のために第１および第２の走査面が、モータの回転の終わりのような同じ時点でサンプリングされることを理解することができるだろう。
【００３０】
ステップ４０５に戻って説明すると、モニタ・インジケータがセットされると、この方法４００は、オブジェクトの方向を判定する目的で、活動の第２のサンプルを採取するために走査面ペアをすでに確立していて、ステップ４３５に進む。ステップ４３５において、選択したペアを構成している両方の走査面上で活動が行われているかどうかの判定が行われる。活動が行われている場合には、方法４００はステップ４４０に進み、位置インジケータが、第１の走査面が前のモータの回転中にも活動を表示したかどうかの判定が行われる。位置インジケータがそのような表示をした場合には、方法４００は、ステップ４４５に進む。ステップ４４５において、前のモータの回転の際に、オブジェクトが第１の走査面と交差し、現在第１および第２の走査面両方と交差しているかどうかの判定が行われる。その結果、ステップ４４５において、オブジェクトが前進方向に移動しているかどうかを表示するように移動インジケータがセットされる。次に、方法４００はステップ４５３に進み、ここでモニタ・インジケータがクリアされる。この場合、以降のモータの回転中に走査面ペアの異なる組との交差によりオブジェクトの方向を知ることができる。次に、方法４００はステップ４３０に進み、次のモータの回転が終了するのを待機する。ステップ４３０において、方法４００は、走査面に対応する間隔カウント・レジスタをクリアし、この方法は、ステップ４０５へ行く前に次のモータの回転が終了するのを待機する。
【００３１】
ステップ４４０に戻って説明すると、位置インジケータが、前のモータの回転中第１の走査面が活動したことを示していない場合には、前のモータの回転中にステップ４２５により第２の走査面が活動していなければならない。この結果は、オブジェクトが、前のモータの回転中第２の走査面と交差し、最近のモータの回転中、第１および第２の走査面両方と交差していることを意味する。ステップ４５０において、オブジェクトは後進方向に移動する。それ故、ステップ４５０において、オブジェクトが後進方向に移動していることを示すように移動インジケータがセットされる。次に、方法４００は、ステップ４５３に進み、ここで他の一対の走査面が、オブジェクトが引き続き移動している場合に、次のモータの回転中のオブジェクトの方向を監視することができるように、モニタ・インジケータがクリアされる。
【００３２】
ステップ４３５に戻って説明すると、選択した走査面ペアを構成している両方の走査面上で現在活動が行われていない場合には、方法４００はステップ４５５に進む。方法４００のこの時点において、オブジェクトは、前のモータの回転中に選択した走査面ペアの一方の走査面と交差し、最近のモータの回転中に、オブジェクトは、第１の走査面または第２の走査面と交差するか、第１および第２の走査面のどちらとも交差しない。これら３つの各シナリオについては残りのステップのところで説明する。ステップ４５５において、選択した走査面ペアのどちらの走査面上でも活動が行われていないかどうかについての判定が行われる。対応する間隔カウント・レジスタとその関連する静止レジスタとの比較が行われるとステップ４５５を終了することができる。どの走査面上でも活動が行われていない場合には、方法４００はステップ４６０に進む。ステップ４６０において、位置インジケータが第１の走査面が前のモータの回転中に活動を行ったことを表示しているかどうかについての判定が行われる。活動を行った場合には、オブジェクトは、前のモータの回転中、第１の走査面と交差し、最近のモータの回転中、オブジェクトは、選択した走査面ペアのどちらの走査面とも交差しない。ステップ４５０において、移動インジケータは、オブジェクトが後進方向に移動中であることを表示するようにセットされる。位置インジケータが、前のモータの回転中第１の走査面が活動したことを示していない場合には、ステップ４６０において、第２の走査面は、前のモータの回転中活動していなければならない。この時点で、オブジェクトは、前のモータの回転中、第２の走査面と交差済みで、最近のモータの回転中、第１または第２の走査面と交差していない。それ故、方法４００は、ステップ４４５に進み、オブジェクトが前進方向に移動していることを表示するように移動インジケータをセットする。
【００３３】
ステップ４５５に戻って説明すると、第１または第２の走査面のうちの一方上で活動が行われている場合には、方法４００はステップ４６５に進み、ペアの走査面の排除に対してどの走査面で活動が行われているのかについての判定が行われる。ステップ４６５において、第１の走査面上において現在活動が行われているのかどうかについての判定が行われる。活動が行われている場合には、方法４００はステップ４７０に進む。ステップ４７０において、位置インジケータが、前のモータの回転から第１の走査面が活動を示していることを示しているかどうかについての判定が行われる。示している場合には、前のモータの回転中、および最近のモータの回転中の両方で、第１の走査面上で活動が行われ、第２の走査面上で活動が行われていない。店員が走査窓上に依然としてオブジェクトを保持しているか、または走査窓上にオブジェクトが位置している場合には、このようなシナリオになる。移動をまだ決定することができないので、方法４００はステップ４３０に進み、活動レジスタ・ペアを分析するために次のモータの回転を待機する。位置インジケータが、第１の走査面が前のモータの回転中に活動したことを示していない場合には、オブジェクトは前のモータの回転中第２の走査面と交差済みであり、現在のモータの回転中、現在第１の走査面と交差している。それ故、方法４００は、ステップ４５０に進み、オブジェクトが後進方向に移動していることを示すように移動インジケータをセットする。
【００３４】
ステップに４６５戻って説明すると、第１の走査面上で活動が行われていない場合、ステップ４５５において、選択した走査面ペアの走査面の一方上で活動が行われていると判定されているので、第２の走査面上に現在活動が行われていて、方法４００はステップ４７５に進む。ステップ４７５において、位置インジケータが、第１の走査面が、前のモータの回転中に活動したことを表示しているかどうかについての判定が行われる。そのように表示している場合には、オブジェクトは前のモータの回転中第１の走査面と交差済みであり、現在のモータの回転中、オブジェクトは第２の走査面と交差しているが、第１の走査面とは交差していない。それ故、方法４００はステップ４４５に進み、オブジェクトが前進方向に移動していることを表示するように移動インジケータをセットする。ステップ４７５に戻って説明すると、位置インジケータが、第１の走査面が、前のモータの回転中活動したことを示していない場合には、前のモータの回転中第２の走査面上で活動が行われ、現在のモータの回転中第２の走査面上で活動が行われている。店員が、選択した走査面ペアの第２の走査面と交差しているオブジェクトを依然として保持している場合には、このようなシナリオになる。この時点では運動を推定することができないので、方法４００はステップ４３０に進み、選択した活動レジスタ・ペアを分析するために次のモータの回転を待機する。
【００３５】
図５は、本発明による重複走査をなくすために図４の方法４００の結果を使用するための方法５００を示すフローチャートである。プロセッサ２１９が、図３のところで説明したように、有効なバーコード間隔であるとのマークが付いている間隔語を処理した場合、プロセッサ２１９は、コード２１５内の命令を実行することにより方法５００のステップを実行する。ステップ５１０において、有効なバーコード間隔とマークされた間隔語が復号され、図４のモニタ・インジケータがサンプリングされ、復号したバーコードと一緒に一時的に格納される。ステップ５１５において、復号したバーコードが最後に復号したバーコードと比較される。これらのバーコードが一致しない場合には、方法５００はステップ５２０に進み、そこで復号したバーコードはさらに、周知の全項目分けプロセスに進む。さらに、ステップ５２０において、ロックアウト・タイマがセットされる。ロックアウト・タイマは、同じバーコードの走査を行うことができる外側の時間の窓を定義する。ロックアウト・タイマは、ステップ・シーケンス４７０〜４３０およびステップ・シーケンス４７５〜４３０のように走査方向を決定することができない場合に、再走査を確実に検出するバックアップ機能であると見なすことができる。ロックアウト・タイマの通常の値は約１．０秒である。同じバーコードを有するアイテムの第１または第２の読取りの走査方向が決定できない場合には、タイマが時間切れにならない限り、ロックアウト・タイマは同じバーコードを有するアイテムの２回目の読出しを拒否する。
【００３６】
ステップ５１５において、復号したバーコードが最後に復号したバーコードと同じものであると判定した場合には、方法５００はステップ５２５に進む。ステップ５２５において、前進方向への移動を示しているかどうかをチェックするために、現在の移動インジケータが読み取られる。前進方向への移動を示している場合には、方法５００はステップ５４０に進む。ステップ５４０において、方法５００は最後に復号したバーコードが同様に前進方向に移動していたかどうかについての判定を行う。そうである場合には、方法５００の場合、最後に復号したバーコードおよび現在の復号したバーコードは同じ前進方向に移動している。通常、再走査は最初の走査とは反対方向に行われるので、方法５００は、現在の復号したバーコードを追加のアイテムとして解釈し、ステップ５２０に進み、復号したバーコードは、タイマが時間切れになるのを待たずに、さらに項目分けプロセスに進むことができる。それ故、走査スループットが増大する。
【００３７】
ステップ５４０に戻って説明すると、最後に復号したバーコードが、現在の復号されたバーコードの反対方向である後進方向に移動していた場合には、方法５００はステップ５３５に進む。ステップ５３５において、方法５００は、ロックアウト・タイマが時間切れになっているかどうかの判定を行う。時間切れになっている場合には、方法５００は、ステップ５２０に進み、現在の復号されたバーコードはさらに項目分けプロセスに進むことができる。例を挙げて説明すると、店員が、片手に１つずつ同じアイテムを２つ有していて、第１のアイテムを前進方向に走査した場合にこのような状況になる場合がある。次に、店員は後方に第２のアイテムを走査する。タイマが時間切れになっていない場合には、方法５００は、ステップ５４５に進み、復号したバーコードがさらに項目分けプロセスに進むのを防止する。
【００３８】
ステップに５２５戻って説明すると、復号したバーコードが後進方向に移動している場合には、方法４００はステップ５３０に進む。方法５００のステップ５３０において、最後に復号したバーコードが前進方向に移動していたかどうかについての判定が行われる。前進方向に移動していなかった場合には、方法５３０はステップ５２０に進み、復号したバーコードはさらに項目分けプロセスに進むことができる。
【００３９】
最後に復号したバーコードが前進方向に移動していた場合には、方法５００はステップ５３５に進む。ステップ５３５において、方法５００は、ロックアウト・タイマが時間切れになっているかどうかについての判定を行う。時間切れになっていない場合には、方法５００はステップ５２０に進み、現在復号したバーコードは、さらに項目分けプロセスに進むことができる。一例を挙げて説明すると、店員は、最初に、バーコードを正しく読む後進方向（ステップ５２５−＞ステップ５３０）にアイテムを移動することができる。店員は、アイテムが後進方向に走査されたことを知った場合、そのアイテムをバッグに入れる。次に、店員は第２のそして類似のアイテムを前進方向に走査する（ステップ５３０−＞ステップ５３５）。店員は第１のアイテムをバッグに入れるのに時間をかけているので、ロックアウト・タイマは時間切れとなり、スキャナ１００は、第２のアイテムが項目分けされた時、第２のアイテムのバーコードを解釈することができる。
【００４０】
ロックアウト・タイマが時間切れになっていない場合には、方法５００はステップ５４５に進み、そこで現在復号したバーコードの項目分けプロセスを続行することができず、ロックアウト・タイマが再スタートする。一例を挙げて説明すると、店員がアイテムを後方に走査し、うっかり同じアイテムを前方に再走査しようとした場合にこのような状況になる。
【００４１】
図４および図５のところで説明したインジケータは、ＡＳＩＣ２１２のＲＡＭ２４４または他のレジスタ内でフラグとして実施することができることに留意されたい。さらに、図５は移動するアイテムの方向を追跡するための現在の技術の用途を示しているが、本発明は、本発明の開示による他の走査用途も視野に入れている。
【００４２】
上記プロセスを下記の例により説明する。店員は同じアイテムを片手に１つずつ２つ保持することができる。店員は、同じ方向に２つのアイテムを順次走査する。第２のアイテムが第１のアイテムと同じ方向に移動しているので、店員が同じ方向にいかに速く自分の手を動かすことができても、これら２つのアイテムに関連する両方のバーコードは項目分けされる。第二に、店員は、例えば、豆の８つの個々の缶を走査しなければならない場合がある。店員は、両方の手を使用して、２つの缶を同じ方向に同時に走査することができる。すべての走査は同じ方向に行われたので、８つすべての缶は適切に項目分される。多くの他の例も本発明により有利に解決することができる。
【００４３】
好ましい実施形態の種々の態様について本発明を説明してきたが、好適には、添付の特許請求の範囲に記載する他の環境にも適用することができることを理解することができるだろう。
【図面の簡単な説明】
【００４４】
【図１】本発明によるアイテムの方向を追跡することができる例示としての多重窓スキャナである。
【図２Ａ】図１のスキャナの内部構成要素および回路の詳細を示す。
【図２Ｂ】図１のスキャナの内部構成要素および回路の詳細を示す。
【図３】本発明によるビデオ遷移情報を運ぶ目的で間隔データ語を収集するために使用する図２のビデオ回路のさらなる詳細図である。
【図４Ａ】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図４Ｂ】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図４Ｃ】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図５】本発明による重複走査をなくすために図４Ａ〜図４Ｃの方法の結果を使用するもう１つの方法を示すフローチャートである。
【図１】
2007183946.tif 000003
【図２Ａ】
2007183946.tif 000004
【図２Ｂ】
2007183946.tif 000005
【図３】
2007183946.tif 000006
【図４Ａ】
2007183946.tif 000007
【図４Ｂ】
2007183946.tif 000008
【図４Ｃ】
2007183946.tif 000009
【図５】
2007183946.tif 000010