説明

バーコード・スキャナによる移動するアイテムの方向を追跡するための方法および装置

【課題】レーザ・バーコード・スキャナによる移動するアイテムの方向を追跡するための方法、コンピュータ読み取り可能媒体および装置を提供する。
【解決手段】一対の走査面による移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、一対の走査面の各走査面が感知したビデオ遷移の数をカウントするステップと、一対の走査面の各走査面のビデオ遷移のカウントした数を、第1のサンプルのところの所定の閾値と比較することにより、移動するアイテムが各走査面と交差したかどうかを判定するステップとを含む。時間的に第2のサンプルのところで、上記ステップが反復され、この方法は、第1のサンプルおよび第2のサンプルから観察した変化から移動するアイテムの移動方向を評価する追加ステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レーザ・バーコード・スキャナによるアイテムの方向の追跡の改善に関し、特に、アイテムの包装の暗部から明部へおよび明部から暗部へのビデオ遷移を感知するために、バーコード・スキャナにより移動するアイテムの方向を判定するための方法および装置に関する。
【背景技術】
【0002】
バーコード・スキャナは、通常、ラベル面を横切って光ビームを走査するためにモータおよびパターン・ミラーを使用し、反射光を測定することにより動作する。光ビームは、通常は、レーザ・ダイオードであるレーザおよび関連する光学系により生成される。反射光は、入射経路に沿って戻り、光検出器上に焦点を結ぶ。光検出器は、収集した光エネルギーを電気信号に変換する。この電気信号は、アナログ電子機器により処理され、デジタル信号に変換され、さらに、通常はプロセッサおよび関連するファームウェアを含むデジタル電子機器により処理される。
【0003】
プロセッサは、完全なおよび部分的なラベルのデータを含むレーザまたは光ビームの範囲内を通過したすべてのものを含むバーコード・ラベルのデータのストリームを受信する。プロセッサは、通常はファームウェア内に格納しているプログラミングの制御の下でバーコード・ラベルを復号し、同じアイテムの多重読取りを無視し、他のタスクを行うために、部分的なバーコード・ラベルのデータまたはバーコードの断片(「一部」)を一緒に組み合わせようとする。受信した情報は、多くの理由によりはっきりしない場合もあるし、そうでなくても判読が難しい場合がある。例えば、光ビームに対するアイテム上のその位置のために、スキャナがバーコードを読み取りにくい場合がある。通常、ファームウェアは、同じアイテム上のバーコード・ラベルの成功した読取り間に比較的長い遅延を要求することにより、バーコードを複数回読み取るのを避けようとする。これにより、走査スループットが低減し、そのため現在必要ではあるが望ましくない解決方法が使用されている。
【0004】
重複走査をなくすためのもう1つのアプローチは、走査ゾーンの入口および出口のところに発光ダイオード(LED)および光電池ペアにより構成したアイテム・ゲートを使用するステップを含む。このアプローチを使用するバーコード・スキャナは、入口および出口LEDからの光がアイテムにより遮断された場合、遮断されなかった場合に、走査ゾーンに出入りするアイテムを検出する。このアプローチは、不正確な読取りを含む多くの欠点を有していた。例えば、あるアイテムは、アイテム・ゲートをトリガするほどLEDからの光を十分遮断しないために、アイテムが走査されず、オペレータがアイテムを再度走査しなければならない場合がでてくる。さらに、この解決方法の場合には、重複走査問題を解決するという特定の目的だけに使用する追加のハードウェアが必要になり、そのためバーコード・スキャナのコストが高くなる。
【0005】
本発明の譲受人に譲渡され、参照により全体を本明細書に組み込むものとするBlanford他の米国特許第6,347,741号に記載されている重複走査を避けるためのもう1つの従来のアプローチは、モータ位置情報を使用して任意の所与の時点でバーコードの位置を判定してアイテムが走査ゾーンから出たかどうかを判定するステップを含む。
【発明の開示】
【発明が解決しようとする課題】
【0006】
いくつかの利点を有しているが、この解決方法の場合には、走査ゾーンを通してバーコード・ラベルを多かれ少なかれ連続的に走査しなければならないが、現在使用しているバーコードの位置または小さいサイズのために、多数回走査してもこのような連続的走査は行われない。
【課題を解決するための手段】
【0007】
レーザ・バーコード・スキャナによる移動するアイテムの方向を追跡するための方法、コンピュータ読み取り可能媒体、および装置について開示する。ある態様によれば、この方法は、好適には、時間的に第1のサンプルのところでの下記のステップを含むことができる。これらのステップは、一対の走査面により移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、一対の走査面の各走査面が感知したビデオ遷移の数をカウントするステップと、一対の走査面の各走査面のビデオ遷移のカウントした数を第1のサンプルのところの所定の閾値と比較することにより、移動するアイテムが各走査面と交差するかどうかを判定するステップとを含む。時間的に第2のサンプルのところで、上記ステップが反復され、この方法は、移動するアイテムの方向を反映するように移動インジケータをセットするために、時間的に第2の瞬間のところでアイテムと走査面ペアとの交差がどのように変化したかを評価する追加ステップを含む。
【0008】
いくつかの利点を有しているが、本発明は、異なる時点で一対の走査面のところで感知した移動するアイテムの包装グラフィックスから反射したビデオ遷移をサンプリングし、これらのサンプルは、移動するアイテムの方向を判定するために使用される。本発明の1つの用途は、アイテムの重複走査の問題の改善された解決方法を提供することである。
【0009】
添付の図面を参照しながら、下記の詳細な説明を読めば、本発明、本発明の他の特徴および利点をよりよく理解することができるだろう。
【発明を実施するための最良の形態】
【0010】
図1は、本発明によるアイテムの方向を追跡することができる例示としての多重窓スキャナ100である。スキャナ100は、水平走査窓102および垂直走査窓104を有する。スキャナ100は、オブジェクト106のようなオブジェクトから反射した光に基づいて、窓102および104の一方または両方の視野を通過するスキャナ信号を生成する。この図の例の場合には、アイテム106は、両方とも垂直走査窓104から放射する第1の走査面110およびこれに平行な第2の走査面112を通過する。平行な走査面110および112の間には、約1インチの間隔114が存在する。平行な走査面110および112の間に形成されるスペースの容積が走査ゾーンである。図面を分かり易くするためまた説明上の都合で、2つの平行な走査面しか図示してないが、多くの平行な走査面ペアを垂直走査窓102および水平走査窓104の両方から放射することができること、また通常放射されることに留意されたい。
【0011】
各走査面110および112は、スキャナ100内のスピナー233(図2)の回転により決定される経路に沿って走査ビームをトレースすることにより生成される。アイテム106が、スキャナの窓102および104の視野内を通常の走査の動きで右から左にスキャナ100を横切って通過すると、アイテム106は、最初に走査面110と交差し、次に、走査面110および112の両方と交差し、次に、走査面112と交差し、最終的には、走査面110および112の両方ともはや交差しなくなる。アイテム106が走査面110、112または両方と交差している間、光はアイテム106の包装グラフィックスによりスキャナ100内に反射される。通常、包装グラフィックスはアイテムのすべての側面上に位置していて、スキャナ100はこのような包装上に位置する明領域または暗領域からの反射の変化を感知し、以下にさらに詳細に説明するように、バーコードを読み取らないで、アイテムの存在および移動方向を認識するために上記変化を評価する。
【0012】
アイテム106の包装グラフィックスによりスキャナ100内へ反射するビデオ遷移の数、明領域から暗領域および暗領域から明領域への遷移の数に関連する縁部情報は、本発明の開示により決定することができる。図4で説明するように、走査面ペアのビデオ遷移は、アイテムの移動方向を判定するのに使用することができる。アイテム106が走査面112および110を通過すると、ビデオ遷移または活動をこれら走査面のところでスキャナ100により見ることができる。アイテム106が走査ゾーンから出ると、アイテム106の後縁部が走査面110を越えるために、走査面110からのビデオ遷移が少なくなり、一方、走査面112からのビデオ遷移は引き続き起こり、アイテムが図1の右から左の方向に走査ゾーンを離れていくことを示す。オブジェクト106が図1を右から左に通過すると、この運動は、通常、慣例により前進方向であると見なされることに留意されたい。同様に、オブジェクト106が図1を左から右に通過すると、この運動は、慣例により後進方向であると見なされる。
【0013】
さらに、バーコードがアイテム106上の走査面110、112または任意の他の走査面から検出されると、バーコードが検出された時点での移動方向も記録することができる。図4で説明するように、この情報はスキャナの精度および走査スループットを改善するために使用することができる。
【0014】
例えば、本発明の教示により、スキャナは、第1のアイテムが、例えば走査面110のような入口側から例えば走査面112のような出口側に走査ゾーンを通過したと判定し、第1のアイテムが出口側から走査ゾーンに再度入らなかったと判定するために、包装グラフィックスからのビデオ遷移の評価を使用することができる。第2のアイテムが入口側の走査ゾーンに入った場合には、スキャナは、前進と後進とを区別することによりそれが新しいアイテムであり、第1のアイテムと同じアイテムでないと判定することができる。それ故、2つの類似のアイテムが同じバーコード・ラベル情報を含んでいる場合でも、スキャナは、第2のアイテムを新しいアイテムであると判定し、同じアイテムの重複走査を避けるために長い中断をしなくても第2の走査を登録することができる。同様に、第1のアイテムが出口面から走査ゾーンに再度入った場合には、すでに読み込んだバーコードの再度の走査を防止することができる。
【0015】
図2(図2Aおよび図2B全体)は、スキャナ100の内部構成要素および回路を示す。スキャナ100は、ASIC212を含む。ASIC212は、本発明の教示によるコードまたはファームウェア215により制御される静止レジスタ213と、間隔カウント・レジスタ211と、ビデオ回路217と、マイクロプロセッサ219とを含む。ビデオ回路217については、図3のところでさらに詳細に説明する。本発明の教示によるマイクロプロセッサ219およびコード215の動作については、図4および図5のところでさらに詳細に説明する。
【0016】
静止レジスタ213は、ビデオ遷移の所定の閾値を含む。この所定の閾値を超える遷移のカウントは、第1の走査面110と交差しているオブジェクトが存在していることを示す。間隔カウント・レジスタ211は、アイテム106のようなオブジェクトが第1の走査面110と交差した場合、第1の走査面110のところで以下に説明するビデオ遷移または間隔のカウントを維持する。好適には、システムの各走査面のための静止レジスタおよびカウント・レジスタを含む、活動レジスタ・ペアと呼ぶレジスタ・ペアを使用することが好ましい。しかし、本発明の開示は、すべての走査面が共有するグローバル静止レジスタも含む。説明を分かり易くするために、図では第1の活動レジスタ・ペア211、213は、走査面110のためのものであり、第2の活動レジスタ・ペア221は走査面112のためのものである。
【0017】
図のスキャナ100は、また農産物を入れるバッグのような質量が変わる製品221のようなオブジェクトを重量測定のために置くことができるスケール・アセンブリ226も含む。次に、スケール・アセンブリ226は、ASIC212に重量情報を供給する。
【0018】
また、スキャナ100は、好適には、計量表示および通信回路218と、第1の周辺通信回路220と、第2の周辺通信回路222と、ホスト端末回路への計量通信224と、ホスト端末回路へのスキャナ/計量通信226とを含むことができる。各回路218〜226はASIC212に信号を供給し、各回路218〜226からの信号は、最初に面調整装置228を通過する。
【0019】
また、ASIC212は、レーザ229にレーザ制御信号を供給する。ASIC212は、また、モータ230にモータ制御コマンドを供給する。モータ230は、光アセンブリ232に取り付けられているモータ・シャフト231を含む。アセンブリ232は、好適には、スピナー233上で回転するように装着されている固定ミラーまたは他の光学部品(詳細に図示せず)を含むことができる。ASIC212からの信号によりモータ230が駆動されると、スピナー233がモータ230により移動する。光がレーザ229から放射されると、光はアセンブリ232により光学的バスケットに反射し、このバスケットは、アイテム106が走査面のうちの1つまたは複数を横切った場合、アイテム106に入射するように、光を1つまたは複数の組の平行な走査面の方向に向ける。この時点においては、本発明をNCRモデル7875二光学系スキャナの改善モデルとして実施することが好ましいが、本発明は、単一走査窓スキャナを含むアイテムの方向を追跡するための種々様々なスキャナに対する改善モデルとして、または新しく開発されたスキャナ製品の一部として有利に使用することができることを理解することができるだろう。
【0020】
光がアイテム106に入射すると、光は光アセンブリ232に戻るように反射され、集光され、アナログ・ビデオ前処理回路252に送られ、この前処理回路は、ASIC212にVIDEO0信号を供給する。また、好適には、スキャナ100は、音響出力回路248およびスピーカ250を含む音響発生機能を含むことが好ましい。また、スキャナ100は、ランダム・アクセス・メモリ(RAM)244およびコード215を格納するための読出し専用メモリ(ROM)246も含む。
【0021】
データ・バスが、ASIC212、RAMメモリ244、ROMメモリ246および音響出力回路248を接続している。アドレスおよび制御バスも、ASIC212、RAMメモリ244およびROMメモリ246を接続している。
【0022】
スキャナ100は、オペレータと通信するためにまたはオペレータにフィードバックするためにトーンを生成し、音声を生成する。音響出力回路248は、ASIC212からどんな音響をいつ生成するのかを指示する信号を受信し、RAM244およびROM246からの音響を発生するためのデータにアクセスする。音響はスピーカ250に送られる。
【0023】
図3は、好適には、本発明によりビデオ遷移をカウントし、バーコードを読み取るために使用することができる、図2のビデオ回路217の実施態様のさらなる詳細図である。ビデオ回路217は、間隔幅カウンタ302と、エッジ検出器304と、プリバッファ308とを含む。プリバッファ308は、フラグ・プリバッファ308aと、間隔プリバッファ・シフト・レジスタ308bとを含む。ビデオ回路217は、さらに、タイムスタンプ(Tstamp)プリバッファ・シフト・レジスタ310と、間隔合計回路314と、マルチプレクサ318と、UPCフィルタ320と、間隔先入れ先出し(FIFO)回路322とを含む。
【0024】
動作中、ビデオ回路217は、エッジ検出器304に経路指定されるビデオ入力を受信する。エッジ検出器304は、フラグ・プリバッファ・シフト・レジスタ308aおよびTstampプリバッファ・シフト・レジスタ310に供給されるシフト・クロック出力を生成する。シフト・クロック出力は、また、リセット入力として間隔幅カウンタ302に供給される。エッジ検出器304は、ビデオ遷移、間隔の値およびビデオ極性を表す12ビット信号INTが発生した場合に、間隔幅カウンタ302をスタートさせる。信号INTは、ビデオ信号の次の遷移の際に間隔プリバッファ・シフト・レジスタ内にシフトされ、この次の遷移がまた間隔幅カウンタ302をリセットし、そのため次のビデオ間隔のタイミングがスタートする。これらのビデオ間隔は、アイテム106のようなアイテムの包装グラフィックスの暗部または明部の時間間隔を表す。これらのビデオ間隔は、また、走査中のアイテム106上のバーコードを形成しているバーおよび間隔の幅を表す。
【0025】
同時に、10ビットのタイムスタンプおよびモータ回転カウンタの4つの最下位ビットを表すタイムスタンプ信号が、タイムスタンプ・プリバッファ・シフト・レジスタ310内にシフトされる。それ故、各ビデオ間隔の時間的長さ、モータ位置の極性および時間的関係が各ビデオ遷移に対して捕捉される。各走査面は、モータ230の回転および位置に基づいて読み取られるので、走査面は、その関連するタイムスタンプにより表される。例えば、タイムスタンプの値1〜10は走査面1に対応し、タイムスタンプの値11〜20は走査面2に対応し、以下同様である。何故なら、多くの走査面がスキャナ100で使用されるからである。好適には、タイムスタンプ値と関連する走査面値との間のこの関係を反映している走査面テーブルは、ROM246内に格納することが好ましい。さらに、走査面が捕捉する各間隔は、関連するタイムスタンプを含む。走査面に関連するタイムスタンプを有する各間隔を別々にカウントすることにより、特定の走査に対して捕捉した間隔の数をマイクロプロセッサ219により決定することができる。特定の走査面の各間隔の別々のカウントについては、図4でさらに説明する。
【0026】
ビデオ間隔は、また、間隔合計回路314およびフィルタ回路320を通して送られる。フィルタ回路320は、ビデオ・データ・ストリームが有効なバーコード・データを表していることを示すために、ビデオ・データ・ストリームが所定のタイミング関係に適合するかどうかを判定する。例えば、ビデオ・データの始まりと終わりとの間の時間間隔が長すぎる場合には、データはバーコードの有効な走査から来ないで、無効なバーコードの時間間隔というマークが付けられる。しかし、ビデオ遷移をカウントするために、有効および無効の間隔が両方とも間隔FIFO322に送られる。同様に、バーコードの開始文字と停止文字との時間間隔が短すぎる場合には、走査に無効バーコード時間間隔のマークが付けられる。合法的なバーコード・データの開始と終わりには、以降の復号のために有効なバーコード間隔に境界線を引くために、フラグ・プリバッファ・シフト・レジスタ308a内にフラグ・ビットをセットすることによりマークが付けられる。次に、フラグ・ビットが、間隔プリバッファ・シフト・レジスタ308b内に格納している対応する間隔データ語に追加される。マイクロプロセッサ219は、対応するバーコードを復号する目的で、どの間隔がバーコード間隔であるのかを決定するためにフラグを使用する。また、時間間隔に対応するタイムスタンプ値が、各32ビットの間隔データ語により間隔FIFO回路332に書き込まれる。各間隔データ語は、カウントするためにマイクロプロセッサ219に転送され、間隔データ語がバーコード間隔を反映している場合には、復号も行われる。
【0027】
マイクロプロセッサ219は、コード215を実行している時に、各間隔に基づいての各間隔データ語を処理する。各間隔データ語を受信した場合、マイクロプロセッサ219は、間隔データ語が含んでいるタイムスタンプを読み、ROM246内に格納している走査面テーブルのタイムスタンプから関連する走査面を探し、走査面110用の間隔カウント・レジスタ211のような走査面に関連する間隔カウント・レジスタを増分増大する。マイクロプロセッサ219は、モータ230が1回転する間にすべての走査面に対する間隔データ語を処理する。モータの各回転の終わりに、マイクロプロセッサ219は、コード215の制御下で、対応する走査面上で活動が行われているかどうかを判定するために、各間隔カウント・レジスタの値をその関連する静止レジスタと比較する。間隔カウント・レジスタの値が静止レジスタの値と等しいかまたは大きい場合には、対応する走査面上の活動が行われている場合である。静止レジスタの値が、その関連する間隔カウント・レジスタの値より小さい場合には、走査窓に対するその位置および角度のような個々の走査面のいくつかの特性を考慮に入れるために、その関連する間隔カウント・レジスタの最低の値を反映するように、静止レジスタの値を修正することができる。
【0028】
図4(図4A、図4Bおよび図4C全体)は、本発明によるオブジェクトの運動の方向を判定するための方法400を示すフローチャートである。ステップ405において、この方法は、モニタ・インジケータがセットされているかどうかをチェックする。このインジケータは、一対の走査面がモータ230の前の回転中に活動を感知したことを表示するために使用される。このステップ405は、特定の走査面ペア上の少なくとも2つの活動のサンプルを作るために使用される。少なくとも2つの活動のサンプルを比較することにより、この方法は、以下に説明するように、移動するオブジェクトの方向を推定することができる。モニタ・インジケータがセットされていない場合には、第1のサンプルがまだ確立されていない。それ故、この方法400は、ステップ410に進み、ここで各走査面ペアに対する活動が判定される。すでに説明したように、特定の走査面上の活動は、その対応する間隔カウント・レジスタの値をその関連する静止レジスタと比較することにより判定される。ステップ415において、ある走査面に対する活動が行われている走査面ペアが存在するのかどうか、その対応する走査面ペアに対する活動が行われていないかどうかの判定が行われる。このような走査面ペアは、オブジェクトが1つの走査面と交差しているが、対応する走査面とはまだ交差していないことを示す。このような走査面ペアが存在する場合には、この方法はステップ420に進み、監視する走査面ペアを選択する。ステップ425において、モニタ・インジケータが、次のモータの回転中の選択したペアの活動を監視するようにセットされる。
【0029】
さらに、位置ペア・インジケータが、選択ペアの第1または第2の走査面が活動しているかどうかを表示するようにセットされる。この実施形態の場合には、第1の走査面が、オブジェクトが前進方向に移動している場合に、最初に交差する走査面110のような走査面として定義される。ステップ430において、この方法400は、ステップ405に戻る前に、次のモータの回転を待機する。さらに、ステップ430において、他の走査面ペアが以降のモータの回転中のオブジェクトの方向を感知するように、各走査面に関連する間隔カウント・レジスタをクリアする。ステップ415に戻って説明すると、一方の走査面上で活動が行われていない場合に他方の走査面上で活動が行われている走査面ペアが存在しない場合には、この方法400は、ステップ430に進んでステップ405に戻る前に、次のモータの回転を待機する。モータの回転により、走査面112のような第2の走査面の前で、走査面110のような第1の走査面のところでビデオ遷移が収集されるが、本発明の目的のために第1および第2の走査面が、モータの回転の終わりのような同じ時点でサンプリングされることを理解することができるだろう。
【0030】
ステップ405に戻って説明すると、モニタ・インジケータがセットされると、この方法400は、オブジェクトの方向を判定する目的で、活動の第2のサンプルを採取するために走査面ペアをすでに確立していて、ステップ435に進む。ステップ435において、選択したペアを構成している両方の走査面上で活動が行われているかどうかの判定が行われる。活動が行われている場合には、方法400はステップ440に進み、位置インジケータが、第1の走査面が前のモータの回転中にも活動を表示したかどうかの判定が行われる。位置インジケータがそのような表示をした場合には、方法400は、ステップ445に進む。ステップ445において、前のモータの回転の際に、オブジェクトが第1の走査面と交差し、現在第1および第2の走査面両方と交差しているかどうかの判定が行われる。その結果、ステップ445において、オブジェクトが前進方向に移動しているかどうかを表示するように移動インジケータがセットされる。次に、方法400はステップ453に進み、ここでモニタ・インジケータがクリアされる。この場合、以降のモータの回転中に走査面ペアの異なる組との交差によりオブジェクトの方向を知ることができる。次に、方法400はステップ430に進み、次のモータの回転が終了するのを待機する。ステップ430において、方法400は、走査面に対応する間隔カウント・レジスタをクリアし、この方法は、ステップ405へ行く前に次のモータの回転が終了するのを待機する。
【0031】
ステップ440に戻って説明すると、位置インジケータが、前のモータの回転中第1の走査面が活動したことを示していない場合には、前のモータの回転中にステップ425により第2の走査面が活動していなければならない。この結果は、オブジェクトが、前のモータの回転中第2の走査面と交差し、最近のモータの回転中、第1および第2の走査面両方と交差していることを意味する。ステップ450において、オブジェクトは後進方向に移動する。それ故、ステップ450において、オブジェクトが後進方向に移動していることを示すように移動インジケータがセットされる。次に、方法400は、ステップ453に進み、ここで他の一対の走査面が、オブジェクトが引き続き移動している場合に、次のモータの回転中のオブジェクトの方向を監視することができるように、モニタ・インジケータがクリアされる。
【0032】
ステップ435に戻って説明すると、選択した走査面ペアを構成している両方の走査面上で現在活動が行われていない場合には、方法400はステップ455に進む。方法400のこの時点において、オブジェクトは、前のモータの回転中に選択した走査面ペアの一方の走査面と交差し、最近のモータの回転中に、オブジェクトは、第1の走査面または第2の走査面と交差するか、第1および第2の走査面のどちらとも交差しない。これら3つの各シナリオについては残りのステップのところで説明する。ステップ455において、選択した走査面ペアのどちらの走査面上でも活動が行われていないかどうかについての判定が行われる。対応する間隔カウント・レジスタとその関連する静止レジスタとの比較が行われるとステップ455を終了することができる。どの走査面上でも活動が行われていない場合には、方法400はステップ460に進む。ステップ460において、位置インジケータが第1の走査面が前のモータの回転中に活動を行ったことを表示しているかどうかについての判定が行われる。活動を行った場合には、オブジェクトは、前のモータの回転中、第1の走査面と交差し、最近のモータの回転中、オブジェクトは、選択した走査面ペアのどちらの走査面とも交差しない。ステップ450において、移動インジケータは、オブジェクトが後進方向に移動中であることを表示するようにセットされる。位置インジケータが、前のモータの回転中第1の走査面が活動したことを示していない場合には、ステップ460において、第2の走査面は、前のモータの回転中活動していなければならない。この時点で、オブジェクトは、前のモータの回転中、第2の走査面と交差済みで、最近のモータの回転中、第1または第2の走査面と交差していない。それ故、方法400は、ステップ445に進み、オブジェクトが前進方向に移動していることを表示するように移動インジケータをセットする。
【0033】
ステップ455に戻って説明すると、第1または第2の走査面のうちの一方上で活動が行われている場合には、方法400はステップ465に進み、ペアの走査面の排除に対してどの走査面で活動が行われているのかについての判定が行われる。ステップ465において、第1の走査面上において現在活動が行われているのかどうかについての判定が行われる。活動が行われている場合には、方法400はステップ470に進む。ステップ470において、位置インジケータが、前のモータの回転から第1の走査面が活動を示していることを示しているかどうかについての判定が行われる。示している場合には、前のモータの回転中、および最近のモータの回転中の両方で、第1の走査面上で活動が行われ、第2の走査面上で活動が行われていない。店員が走査窓上に依然としてオブジェクトを保持しているか、または走査窓上にオブジェクトが位置している場合には、このようなシナリオになる。移動をまだ決定することができないので、方法400はステップ430に進み、活動レジスタ・ペアを分析するために次のモータの回転を待機する。位置インジケータが、第1の走査面が前のモータの回転中に活動したことを示していない場合には、オブジェクトは前のモータの回転中第2の走査面と交差済みであり、現在のモータの回転中、現在第1の走査面と交差している。それ故、方法400は、ステップ450に進み、オブジェクトが後進方向に移動していることを示すように移動インジケータをセットする。
【0034】
ステップに465戻って説明すると、第1の走査面上で活動が行われていない場合、ステップ455において、選択した走査面ペアの走査面の一方上で活動が行われていると判定されているので、第2の走査面上に現在活動が行われていて、方法400はステップ475に進む。ステップ475において、位置インジケータが、第1の走査面が、前のモータの回転中に活動したことを表示しているかどうかについての判定が行われる。そのように表示している場合には、オブジェクトは前のモータの回転中第1の走査面と交差済みであり、現在のモータの回転中、オブジェクトは第2の走査面と交差しているが、第1の走査面とは交差していない。それ故、方法400はステップ445に進み、オブジェクトが前進方向に移動していることを表示するように移動インジケータをセットする。ステップ475に戻って説明すると、位置インジケータが、第1の走査面が、前のモータの回転中活動したことを示していない場合には、前のモータの回転中第2の走査面上で活動が行われ、現在のモータの回転中第2の走査面上で活動が行われている。店員が、選択した走査面ペアの第2の走査面と交差しているオブジェクトを依然として保持している場合には、このようなシナリオになる。この時点では運動を推定することができないので、方法400はステップ430に進み、選択した活動レジスタ・ペアを分析するために次のモータの回転を待機する。
【0035】
図5は、本発明による重複走査をなくすために図4の方法400の結果を使用するための方法500を示すフローチャートである。プロセッサ219が、図3のところで説明したように、有効なバーコード間隔であるとのマークが付いている間隔語を処理した場合、プロセッサ219は、コード215内の命令を実行することにより方法500のステップを実行する。ステップ510において、有効なバーコード間隔とマークされた間隔語が復号され、図4のモニタ・インジケータがサンプリングされ、復号したバーコードと一緒に一時的に格納される。ステップ515において、復号したバーコードが最後に復号したバーコードと比較される。これらのバーコードが一致しない場合には、方法500はステップ520に進み、そこで復号したバーコードはさらに、周知の全項目分けプロセスに進む。さらに、ステップ520において、ロックアウト・タイマがセットされる。ロックアウト・タイマは、同じバーコードの走査を行うことができる外側の時間の窓を定義する。ロックアウト・タイマは、ステップ・シーケンス470〜430およびステップ・シーケンス475〜430のように走査方向を決定することができない場合に、再走査を確実に検出するバックアップ機能であると見なすことができる。ロックアウト・タイマの通常の値は約1.0秒である。同じバーコードを有するアイテムの第1または第2の読取りの走査方向が決定できない場合には、タイマが時間切れにならない限り、ロックアウト・タイマは同じバーコードを有するアイテムの2回目の読出しを拒否する。
【0036】
ステップ515において、復号したバーコードが最後に復号したバーコードと同じものであると判定した場合には、方法500はステップ525に進む。ステップ525において、前進方向への移動を示しているかどうかをチェックするために、現在の移動インジケータが読み取られる。前進方向への移動を示している場合には、方法500はステップ540に進む。ステップ540において、方法500は最後に復号したバーコードが同様に前進方向に移動していたかどうかについての判定を行う。そうである場合には、方法500の場合、最後に復号したバーコードおよび現在の復号したバーコードは同じ前進方向に移動している。通常、再走査は最初の走査とは反対方向に行われるので、方法500は、現在の復号したバーコードを追加のアイテムとして解釈し、ステップ520に進み、復号したバーコードは、タイマが時間切れになるのを待たずに、さらに項目分けプロセスに進むことができる。それ故、走査スループットが増大する。
【0037】
ステップ540に戻って説明すると、最後に復号したバーコードが、現在の復号されたバーコードの反対方向である後進方向に移動していた場合には、方法500はステップ535に進む。ステップ535において、方法500は、ロックアウト・タイマが時間切れになっているかどうかの判定を行う。時間切れになっている場合には、方法500は、ステップ520に進み、現在の復号されたバーコードはさらに項目分けプロセスに進むことができる。例を挙げて説明すると、店員が、片手に1つずつ同じアイテムを2つ有していて、第1のアイテムを前進方向に走査した場合にこのような状況になる場合がある。次に、店員は後方に第2のアイテムを走査する。タイマが時間切れになっていない場合には、方法500は、ステップ545に進み、復号したバーコードがさらに項目分けプロセスに進むのを防止する。
【0038】
ステップに525戻って説明すると、復号したバーコードが後進方向に移動している場合には、方法400はステップ530に進む。方法500のステップ530において、最後に復号したバーコードが前進方向に移動していたかどうかについての判定が行われる。前進方向に移動していなかった場合には、方法530はステップ520に進み、復号したバーコードはさらに項目分けプロセスに進むことができる。
【0039】
最後に復号したバーコードが前進方向に移動していた場合には、方法500はステップ535に進む。ステップ535において、方法500は、ロックアウト・タイマが時間切れになっているかどうかについての判定を行う。時間切れになっていない場合には、方法500はステップ520に進み、現在復号したバーコードは、さらに項目分けプロセスに進むことができる。一例を挙げて説明すると、店員は、最初に、バーコードを正しく読む後進方向(ステップ525−>ステップ530)にアイテムを移動することができる。店員は、アイテムが後進方向に走査されたことを知った場合、そのアイテムをバッグに入れる。次に、店員は第2のそして類似のアイテムを前進方向に走査する(ステップ530−>ステップ535)。店員は第1のアイテムをバッグに入れるのに時間をかけているので、ロックアウト・タイマは時間切れとなり、スキャナ100は、第2のアイテムが項目分けされた時、第2のアイテムのバーコードを解釈することができる。
【0040】
ロックアウト・タイマが時間切れになっていない場合には、方法500はステップ545に進み、そこで現在復号したバーコードの項目分けプロセスを続行することができず、ロックアウト・タイマが再スタートする。一例を挙げて説明すると、店員がアイテムを後方に走査し、うっかり同じアイテムを前方に再走査しようとした場合にこのような状況になる。
【0041】
図4および図5のところで説明したインジケータは、ASIC212のRAM244または他のレジスタ内でフラグとして実施することができることに留意されたい。さらに、図5は移動するアイテムの方向を追跡するための現在の技術の用途を示しているが、本発明は、本発明の開示による他の走査用途も視野に入れている。
【0042】
上記プロセスを下記の例により説明する。店員は同じアイテムを片手に1つずつ2つ保持することができる。店員は、同じ方向に2つのアイテムを順次走査する。第2のアイテムが第1のアイテムと同じ方向に移動しているので、店員が同じ方向にいかに速く自分の手を動かすことができても、これら2つのアイテムに関連する両方のバーコードは項目分けされる。第二に、店員は、例えば、豆の8つの個々の缶を走査しなければならない場合がある。店員は、両方の手を使用して、2つの缶を同じ方向に同時に走査することができる。すべての走査は同じ方向に行われたので、8つすべての缶は適切に項目分される。多くの他の例も本発明により有利に解決することができる。
【0043】
好ましい実施形態の種々の態様について本発明を説明してきたが、好適には、添付の特許請求の範囲に記載する他の環境にも適用することができることを理解することができるだろう。
【図面の簡単な説明】
【0044】
【図1】本発明によるアイテムの方向を追跡することができる例示としての多重窓スキャナである。
【図2A】図1のスキャナの内部構成要素および回路の詳細を示す。
【図2B】図1のスキャナの内部構成要素および回路の詳細を示す。
【図3】本発明によるビデオ遷移情報を運ぶ目的で間隔データ語を収集するために使用する図2のビデオ回路のさらなる詳細図である。
【図4A】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図4B】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図4C】本発明による走査空間を通過する際の、オブジェクトの移動方向を判定するための方法を示すフローチャートである。
【図5】本発明による重複走査をなくすために図4A〜図4Cの方法の結果を使用するもう1つの方法を示すフローチャートである。

【特許請求の範囲】
【請求項1】
バーコード・スキャナにより移動するアイテムの方向を判定するための方法であって、
第1のサンプルのところで、一対の走査面内に発生する前記移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、
前記第1のサンプルのところで、前記一対の走査面の各走査面内で感知したビデオ遷移の数をカウントするステップと、
前記一対の走査面の各走査面のビデオ遷移のカウントした数を、前記第1のサンプルのところの所定の閾値と比較することにより、前記移動するアイテムが前記各走査面と交差したかどうかを判定するステップと、
第2のサンプルのところで前記感知、カウントおよび判定ステップを反復するステップと、
前記第1のサンプルおよび前記第2のサンプルから観察した変化から前記移動するアイテムの移動方向を評価するステップとを含む方法。
【請求項2】
各走査面に関連する所定の閾値を使用する、請求項1に記載の方法。
【請求項3】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後で走査面のビデオ遷移のカウントした数にセットされる、請求項1に記載の方法。
【請求項4】
前記所定の閾値およびビデオ遷移のカウントした数が、活動レジスタ・ペア内に格納される、請求項1に記載の方法。
【請求項5】
前記第1のサンプル中に、
一組の走査面ペアから前記一対の走査面を選択するステップをさらに含む、請求項1に記載の方法。
【請求項6】
復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために、前記アイテムと関連する前記バーコードを有する移動インジケータの値を格納するステップと、
同じアイテムを2回以上再走査するのを防止するために前に復号したバーコードを復号した場合に、前記復号したバーコードの移動インジケータの値を、前記移動インジケータの値と比較するステップとをさらに含む、請求項1に記載の方法。
【請求項7】
前記第1および第2のサンプルが、第1および第2のモータの回転である、請求項1に記載の方法。
【請求項8】
第1のサンプルのところで一対の走査面で起こる移動するアイテムの包装グラフィックスから反射するビデオ遷移を感知するステップと、
前記第1のサンプルのところで前記一対の走査面の各走査面内で感知したビデオ遷移の数をカウントするステップと、
前記一対の走査面の各走査面のビデオ遷移のカウントした数を、前記第1のサンプルのところで所定の閾値と比較することにより、前記移動するアイテムが前記各走査面と交差するかどうかを判定するステップと、
第2のサンプルのところで前記感知、カウントおよび判定ステップを反復するステップと、
前記第1のサンプルおよび前記第2のサンプルから観察した変化から前記移動するアイテムの移動方向を評価するステップと
を実行することにより、その内容がスキャナのマイクロプロセッサに前記移動するアイテムの方向を判定させるコンピュータ読み取り可能媒体。
【請求項9】
各走査面と関連する所定の閾値を使用する、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項10】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後で走査面のビデオ遷移のカウントした数にセットされる、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項11】
前記所定の閾値およびビデオ遷移のカウントした数が、活動レジスタ・ペア内に格納される、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項12】
前記第1のサンプル中、前記方法が、
一組の走査面ペアから前記一対の走査面を選択するステップをさらに含む、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項13】
復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために、前記アイテムと関連する前記バーコードを有する移動インジケータの値を格納するステップと、
同じアイテムを2回以上再走査するのを防止するために前に復号したバーコードを復号した場合に、前記復号したバーコードの移動インジケータの値を前記移動インジケータの値と比較するステップとをさらに含む、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項14】
前記第1および第2のサンプルが、第1および第2のモータの回転である、請求項8に記載のコンピュータ読み取り可能媒体。
【請求項15】
移動するアイテムの方向を判定するための装置であって、
前記移動するアイテムの包装グラフィックスから反射するビデオ遷移の数を感知するための走査装置と、
対応する走査面と交差するアイテムの存在を表示するビデオ遷移の所定の閾値および一対の走査面の各走査面のところで感知したビデオ遷移の数のカウントを格納するための記憶装置と、
前記一対の走査面の各走査面が感知したビデオ遷移の数をカウントし、前記記憶装置にビデオ遷移の前記カウントした数を格納するためにコードを実行するマイクロプロセッサであって、前記アイテムが前記一対の走査面とどのように交差するのかを判定する目的で、前記一対の走査面の各走査面のビデオ遷移のカウントした数を前記所定の閾値と比較するために、および前記アイテムと前記一対の走査面との交差がどのように変化したのかを判定する目的で、前記一対の走査面の各走査面のビデオ遷移のカウントした数を、後の時点で、前記所定の閾値と比較するためにコードを実行するマイクロプロセッサとを備える装置。
【請求項16】
移動インジケータをさらに備え、前記マイクロプロセッサが、移動するアイテムと前記一対の走査面との交差の変化に基づいて、前記移動するアイテムの方向を反映するように前記移動インジケータをセットする、請求項15に記載の装置。
【請求項17】
前記記憶装置が、各走査面に関連する所定の閾値を格納する、請求項15に記載の装置。
【請求項18】
ビデオ遷移のカウントした数が前記所定の閾値より小さい場合、前記所定の閾値が、後でビデオ遷移の前記カウントした数にセットされる、請求項15に記載の装置。
【請求項19】
前記マイクロプロセッサが、一組の走査面ペアから前記一対の走査面を選択する、請求項15に記載の装置。
【請求項20】
前記マイクロプロセッサが、復号したバーコードが読み取られた場合、前記アイテムの移動を表示するために前記アイテムに関連する前記バーコードと一緒に前記移動インジケータの値を格納し、同じアイテムが2回以上再走査されるのを防止するために前に復号したバーコードを復号した場合、前記復号したバーコードの移動インジケータの値を前記移動インジケータの値と比較する、請求項16に記載の装置。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図5】
image rotate


【公開番号】特開2007−183946(P2007−183946A)
【公開日】平成19年7月19日(2007.7.19)
【国際特許分類】
【出願番号】特願2006−348972(P2006−348972)
【出願日】平成18年12月26日(2006.12.26)
【出願人】(592089054)エヌシーアール インターナショナル インコーポレイテッド (21)
【氏名又は名称原語表記】NCR International,Inc.
【Fターム(参考)】