JP2008547115A - 画像内に所定のパターンを配置するためのシステムおよび方法 - Google Patents
画像内に所定のパターンを配置するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2008547115A JP2008547115A JP2008518182A JP2008518182A JP2008547115A JP 2008547115 A JP2008547115 A JP 2008547115A JP 2008518182 A JP2008518182 A JP 2008518182A JP 2008518182 A JP2008518182 A JP 2008518182A JP 2008547115 A JP2008547115 A JP 2008547115A
- Authority
- JP
- Japan
- Prior art keywords
- image
- area
- analyzed
- predetermined pattern
- processor
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1465—Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
所定のパターンを配置するための方法が記載されている。画像は、所定数のエリアに分割される。所定のパターンに対し、解析されるべきエリアの順序を示すサーチシーケンスが、決定される。サーチシーケンスにおけるエリアは、所定の時間が満了するまで、または所定のパターンが検出されるまで、解析される。所定のパターンが検出される前に、所定の時間が満了したとき、さらなる画像が取得される。そして、上記シーケンスに残っているエリアは、さらなる画像において、所定の時間が満了するまで、または所定のパターンが残っているエリアの1つにおいて検出されるまで、画像の最後に解析あれたエリアの直後に解析されるべきエリアから開始して、解析される。
Description
(背景)
従来のスキャナは、一般に、インディシア(例えば、バーコード)からのデータをキャプチャするために用いられている。スキャナの例は、スワイプスキャナ(swipe scanner)およびプレゼンテーションスキャナ(presentation scanner)を含む。スワイプスキャナは、アイテムがスキャナの視野を動的に通過させられる際に、アイテムのバーコードをスキャンするために用いられる。例えば食料雑貨店において、アイテムは、バーコードをスキャンする際に、視野を通過させられる。プレゼンテーションスキャナは、アイテムが視野に提示される(例えば、瞬間的に保持される)際に、アイテムのバーコードをスキャンするために用いられる。従来のスキャナは、レーザスキャナであった。すなわち、それらは、移動レーザビームを用いることにより、バーコードをスキャンする。
従来のスキャナは、一般に、インディシア(例えば、バーコード)からのデータをキャプチャするために用いられている。スキャナの例は、スワイプスキャナ(swipe scanner)およびプレゼンテーションスキャナ(presentation scanner)を含む。スワイプスキャナは、アイテムがスキャナの視野を動的に通過させられる際に、アイテムのバーコードをスキャンするために用いられる。例えば食料雑貨店において、アイテムは、バーコードをスキャンする際に、視野を通過させられる。プレゼンテーションスキャナは、アイテムが視野に提示される(例えば、瞬間的に保持される)際に、アイテムのバーコードをスキャンするために用いられる。従来のスキャナは、レーザスキャナであった。すなわち、それらは、移動レーザビームを用いることにより、バーコードをスキャンする。
レーザスキャナに関連する1つの制限は、バーコードがレーザのスキャンラインと実質的に整列されないときに、レーザスキャナが、バーコードを正しくスキャンすることができないという点である。この制限は、バーコードの大部分が欠けているとき、例えば小さなアイテム(例えば、ガムのパック、ペン等)に印刷されているときに、さらに顕著になる。従来では、この制限は、スキャナに別の移動要素を組み込み、スキャンラインを周辺にシフトさせることによって、最小化されていた。レーザスキャナの別の制限は、徐々に使用されてきている2次元(「2D」)バーコードをスキャンすることができないという点である。2Dバーコードは、追加的なデータ(例えば、製品ID、期限等)をエンコードし得る。運転免許証に印刷された2Dバーコードは、年齢認証のためにスキャンされ得る。レーザスキャナは、一部のタイプの2Dバーコードのみをスキャンし得る。
異なるタイプのスキャナ、すなわちイメージングスキャナ(imaging scanner)は、インディシア(例えば、バーコード)の画像をキャプチャするために、撮像技術(例えば、小型ビデオ/写真カメラ)を使用する。イメージングスキャナは、アイテムの画像を取得し、サーチパターン(例えば、螺旋)を用いて、バーコードを画像内に配置する。螺旋サーチパターンは、画像の中心点から始まり、バーコードが識別されるまで、螺旋パターン内を延びる。バーコードが識別されない場合、スキャナはさらなる画像を取得し、再度、さらなる画像の中心点から始まる螺旋サーチパターンを開始する。このプロセスは、1つの画像内でバーコードが識別されるまで、反復される。イメージングスキャナは、スキャンラインを有しておらず、それ自体が、プレゼンテーションスキャナの中に構成され得る。すなわち、イメージングスキャナは、バーコードがどのようなものであっても、その視野にバーコードを配置し得る。しかしながら、一般にイメージングスキャナは、スワイプスキャナに対しては、少しの選択肢しか有していない。なぜならば、各画像に対する処理時間が、長すぎるからである。処理時間が長いことが原因で、イメージングスキャナは、さらなる画像を取得する前に、中間の画像をスキップすることがあり得、バーコードを含む画像が解析されることなく、バーコードが視野を通過させられることがあり得る。
(発明の概要)
本発明は、所定のパターンを配置するための方法に関する。画像は、所定数のエリアに分割される。所定のパターンに対し、解析されるエリアの順序を示すサーチシーケンスが、決定される。サーチシーケンスにおけるエリアは、所定の時間が満了するまで、または所定のパターンが検出されるまで、解析される。所定のパターンが検出される前に、所定の時間が満了したとき、さらなる画像が取得される。そして、上記シーケンスに残っているエリアは、さらなる画像において、所定の時間が満了するまで、または所定のパターンが残っているエリアの1つにおいて検出されるまで、画像の最後に解析されたエリアの直後に解析されるべきエリアから開始して、解析される。
本発明は、所定のパターンを配置するための方法に関する。画像は、所定数のエリアに分割される。所定のパターンに対し、解析されるエリアの順序を示すサーチシーケンスが、決定される。サーチシーケンスにおけるエリアは、所定の時間が満了するまで、または所定のパターンが検出されるまで、解析される。所定のパターンが検出される前に、所定の時間が満了したとき、さらなる画像が取得される。そして、上記シーケンスに残っているエリアは、さらなる画像において、所定の時間が満了するまで、または所定のパターンが残っているエリアの1つにおいて検出されるまで、画像の最後に解析されたエリアの直後に解析されるべきエリアから開始して、解析される。
(詳細な説明)
本発明は、以下の説明および添付の図面を参照することにより、さらに理解され得、ここで同じ要素は、同じ参照番号を用いて参照されている。本発明の例示的な実施形態は、所定のサーチシーケンスを提供し、このサーチシーケンスは、撮像デバイスが、それによって画像内に生成された所定のパターンを識別することを可能にする。
本発明は、以下の説明および添付の図面を参照することにより、さらに理解され得、ここで同じ要素は、同じ参照番号を用いて参照されている。本発明の例示的な実施形態は、所定のサーチシーケンスを提供し、このサーチシーケンスは、撮像デバイスが、それによって画像内に生成された所定のパターンを識別することを可能にする。
図1は、本発明にしたがう、システム5の例示的な実施形態を示している。システム5は、撮像デバイス(例えば、スキャナ10)を含んでおり、これは、有線接続または無線接続を介して、コンピューティングデバイス12に接続され得る。以下に説明されるように、スキャナ10は、1つ以上の画像をキャプチャし、その中の所定のパターンを識別する。コンピューティングデバイス12は、例えば、PC、ラップトップ、サーバ、ハンドヘルドコンピュータ等であり得る。
一実施形態において、スキャナ10は、画像キャプチャ装置(「ICA」)35(例えば、カメラ)を含んでおり、この画像キャプチャ装置は、レンズ15、プロセッサ40、メモリ45、およびタイマー50を有している(図2参照)。レンズ15およびその1つ以上の特性(例えば、倍率、凹凸等)は、スキャナ10によって生成される撮像エリア20を規定し得る。当業者は、撮像エリア20のサイズ、形状、および方向が、上記の(単数または複数の)特性を調整することによってマニュピレートされ得るということを、理解し得る。スキャナ10によって生成される画像は、撮像エリア20の寸法に実質的に類似した寸法を有し得る。
動作中、スキャンされるべきアイテム25は、スキャナ10の撮像エリア20内に提示され得る。上述のように、アイテム25は、撮像エリア20を動的に通過させられ得るか(例えば、スワイプスキャン)、あるいは撮像エリア20において、またはその近くで、静止状態を保つように保持され得る(例えば、プレゼンテーションスキャン)。いずれの実施形態においても、スキャナ10は、アイテム25の一部の少なくとも1つの画像を生成し得る。当業者は、アイテム25は、典型的には、特に撮像エリア20内で、その上の所定のパターン(例えば、バーコード30)が、スキャナ10と面するように、配置され得るということを理解し得る。このようにして、アイテム25は、スキャニングのために、システム5のユーザ(例えば、食品雑貨店の店員、倉庫の作業員)によって配置されたり、あるいはアイテム25は、アイテム25に撮像エリア20を通過させるプラットフォーム(例えば、コンベアベルト、アセンブリライン)に配置されたりし得る。
当業者は、バーコード30は、1次元または2次元であり得、任意の形状および任意のサイズであり得るということを、理解し得る。さらに本発明は、バーコード30が、任意の態様で方向付けられ得るということを、考慮に入れる。例えば図1は、バーコード30を、撮像エリア20内に水平に方向付けられるものとして示しているが、当業者は、バーコード30は、所定の角度で、および/または上下逆に方向付けられ得るということを、理解し得る。撮像エリア20内のバーコード30の方向は、視野30を通るアイテム25の動きに依存し得るが、この方向はさらに、スキャナ10のマニュピレーションにも依存し得る。例えば、ユーザがスキャナ10を上下逆に保持する場合、画像においてバーコード30は、上下逆転し得る。
スキャナ10が(単数または複数の)画像を取得する間、スキャナ10におけるプロセッサ40は、デジタル画像処理技術を用いることにより、画像をデコードし、画像に含まれる任意のデータを抽出し得る。一実施形態において、プロセッサ40は、メモリ45にデータを格納し、かつ/またはコンピューティングデバイス12に、そのデータを伝送する。当業者は、メモリ45は、揮発性メモリおよび/または不揮発性メモリ、あるいはそれらの任意の組み合わせであり得るということを、理解し得る。さらに、メモリ45は、プロセッサ40によって実行可能なアプリケーション、および画像のデコーディングから取得されたデータを格納し得る。以下に記載されるように、(単数または複数の)画像をデコードするとき、スキャナ10は、タイマー50を利用し得る。
本発明にしたがう方法200の例示的な実施形態が、図3に示されている。ステップ205において、プロセッサ40は、フレームを所定数の位置(例えば、ブロック305)に分割する。ブロック305を生成するために、プロセッサ40は、フレームの第1のサイズ(例えば、640×480ピクセル)を取得し、それを各ブロック305の第2のサイズ(例えば、8×8ピクセル)によって分割する。例えば、第1のサイズが640×480ピクセルであり、第2のサイズが8×8ピクセルである場合、所定数のブロック305は、80×60個(すなわち、(640×480)/8×8個)であり得る。このようにして、フレームは、4800個の8×8ピクセルのブロック305の配置(例えば、格子)に分割され得る。この方法では、フレームは重複しないブロックに分割され得るが、当業者は、例えば第2のサイズおよび/または所定数を変更することにより、部分的に重複するブロックが利用され得るということを、理解し得る。
別の実施形態において、プロセッサ40は、フレームの第1のサイズを認識し、配置をフレームにマッピングし得る。例えば、この実施形態において、スキャナ10がフレームを生成するときに、プロセッサ40は、第1のサイズが640×480ピクセルであるということを、認識する。そしてプロセッサ40は、メモリ45に格納された、対応する配置(例えば、4800個の8×8ピクセルのブロック305)を取得し、その配置をフレームにマッピングし得る。この実施形態において、メモリ45は、例えば、フレームの複数のサイズおよび/またはブロック305の複数のサイズに対応する、複数の配置を格納し得る。
ステップ210において、プロセッサ40は、バーコード30を識別するために、ブロック305が検査および/または解析され得る所定の順序を示す、サーチシーケンスを決定する。所定の実施形態において、サーチシーケンスは、メモリ45に格納されたアルゴリズムによって決定され得、スキャナ10のプロセッサ40によって実行され得る。このシーケンスは、等式の組によって表され得、この等式の組は、解析されるべきブロック305の所定の順序を決定する。例示的な実施形態において、等式の組は、一般に以下のように示される:
xi=(i*m) mod M
yi=(i*n) mod N
i≧0、但しm、n、M、Nは整数の定数。
1つの例示的な実施形態において、等式の組は:
xi=(i*19) mod 78
yi=(i*35) mod 58である。
この等式の組は、第1の点(例えば、(0,0))および第2の点(例えば、(77,57))によって定義される境界内の点からなる長方形の範囲における対(x,y)を与える。この実施形態において、この点の範囲がx座標およびy座標のうちの1つによってバイアスされるとき、この範囲は、上述の80×60個のブロックの内部にフィットし得る。すなわち、この範囲は、80×60個のブロックの構成のどの境界にも到達しないように、78×58個のブロックのエリアに拡張し得る。当業者は、上記の等式の組を用いることにより、シーケンスが反復される前に、座標の和が偶数になる、座標(1,1)から(78,58)までの範囲の全てのブロックを、カバーし得ることを理解し得る。
xi=(i*m) mod M
yi=(i*n) mod N
i≧0、但しm、n、M、Nは整数の定数。
1つの例示的な実施形態において、等式の組は:
xi=(i*19) mod 78
yi=(i*35) mod 58である。
この等式の組は、第1の点(例えば、(0,0))および第2の点(例えば、(77,57))によって定義される境界内の点からなる長方形の範囲における対(x,y)を与える。この実施形態において、この点の範囲がx座標およびy座標のうちの1つによってバイアスされるとき、この範囲は、上述の80×60個のブロックの内部にフィットし得る。すなわち、この範囲は、80×60個のブロックの構成のどの境界にも到達しないように、78×58個のブロックのエリアに拡張し得る。当業者は、上記の等式の組を用いることにより、シーケンスが反復される前に、座標の和が偶数になる、座標(1,1)から(78,58)までの範囲の全てのブロックを、カバーし得ることを理解し得る。
当業者は、フレームの第1のサイズ、ブロック305の第2のサイズ、および配置は、互いに依存して変動し得ること、または互いに独立であり得るということを理解し得る。例えば、第2のサイズを大きくすることは、処理時間を低減させ得るが、その一方で、第2のサイズを小さくすることは、フレームのより精細なカバーを提供し得る。より精細なカバーは、小さなバーコードおよび/またはスキャナ10から離れた距離にあるバーコードの識別に有用であり得る。例えば、等式の組の別の例示的な実施形態においては、第1のサイズのフレームにおいて、さらなる第2のサイズ(例えば、16×16ピクセル)のブロック305を利用し得る。したがって、第2のサイズの40×30個のブロックを含む、さらなる配置が生成され得る。このその他の実施形態において、等式の組は:
xi=(i*5) mod 38
yi=(i*23) mod 28である。
この等式の組にしたがうと、解析される第1の37のブロックは、図6に示されている。このように、等式の組は、画像の実質的に全ての部分を解析するように、生成され得る。
xi=(i*5) mod 38
yi=(i*23) mod 28である。
この等式の組にしたがうと、解析される第1の37のブロックは、図6に示されている。このように、等式の組は、画像の実質的に全ての部分を解析するように、生成され得る。
別の実施形態において、サーチシーケンスは、擬乱数生成器によって導出され得る。すなわち、処理のためのブロックは、配置からランダムに選択される。そのブロックは、サーチシーケンス内の全てのブロックが解析されるまで、再度解析されることはない。
好適な実施形態において、図4cに示されているように、シーケンスは、フレームの原点(すなわち、(0,0))に配置されている、第1のブロック310で始まり得る。そして、所定の順序で、次のブロック(例えば、第2のブロック320)が、先のブロックの関数として(例えば、等式の組にしたがって)解析され得る。例えば、第1のブロック310の後の第2のブロック320は、座標(19、35)を有し得、これは、以下の第1の等式の組を利用することによって、計算される:
x1=19=(19) mod 78
y1=35=(35) mod 58
したがって、このシーケンスは、例えば、このシーケンスに含まれる全てのブロック305が解析されるまで、反復され得ない。当業者は、別の実施形態において、以下のような反復的なアプローチ:
xi+1=xi+m;
(xi+1≧M)の場合
xi+1=xi−M;
が用いられ得るということを、理解し得る。
この実施形態は、モジュロ演算を利用する上記の実施形態と数学的に均等であるが、この実施形態は、掛け算/割り算を含んでおらず、一部のプロセッサ上では、より高速に実行され得る。
x1=19=(19) mod 78
y1=35=(35) mod 58
したがって、このシーケンスは、例えば、このシーケンスに含まれる全てのブロック305が解析されるまで、反復され得ない。当業者は、別の実施形態において、以下のような反復的なアプローチ:
xi+1=xi+m;
(xi+1≧M)の場合
xi+1=xi−M;
が用いられ得るということを、理解し得る。
この実施形態は、モジュロ演算を利用する上記の実施形態と数学的に均等であるが、この実施形態は、掛け算/割り算を含んでおらず、一部のプロセッサ上では、より高速に実行され得る。
ステップ215において、スキャナ10は、アイテム25のスキャニングの間に生成された一連の画像から、図4aに示されている第1の画像300を取得する。例えばスキャナ10は、1秒あたり約30の画像を生成および解析し得る。上述のように、スキャナ10は、一連の画像を生成し、この一連の画像内の各画像を所定の順序で処理し得る。あるいは以下に記載されるように、スキャナ10は、第1の画像300を生成し、第1の画像300の処理が失敗した場合にのみ、さらなる画像を取得し得る。方法200は、スキャナ10によって実行されるものとして記載されているが、当業者は、方法200は、一連の画像に対するアクセスを有する任意のデバイス(例えば、コンピューティングデバイス12)によって、実行され得るということを理解し得る。第1の画像300が取得されると、プロセッサ40は、図4bに示されているように、そこに配置をマッピングする。
図4aに示されているように、第1の画像300は、この画像の領域に配置されたバーコード30を含んでいる。しかしながら、例えば、撮像エリア20を通るアイテム25の動き、スキャナ10に対するアイテム25の方向、またはその他の様々な要因に起因して、バーコード30は、図5における一連の画像500に示されているように、第1の画像300の中心に存在しないことがあり得る。画像500は、例えば、アイテム25が撮像エリア20を通過するときに、スワイプスキャンの間に生成され得る。したがって、当業者は、バーコード30またはその一部のみが、第1の画像300内の任意の領域に配置され得ること、またはバーコード30は、第1の画像300に配置されないことがあり得るということを、理解し得る。これらのシナリオは、以下で扱われ得る。
ステップ220において、プロセッサ40は、タイマー50を始動させ、このタイマーは、第1の値に設定され、第2の値(例えば、ゼロ)に到達したときに満了する。第1の値と第2の値との間の差は、プロセッサ40が第1の画像300上のシーケンスにおけるブロック305を解析し得る時間を表す。別の実施形態において、プロセッサ40が第1の画像300上のシーケンスにおけるブロック305を解析する時間は、所定のフレームレート(例えば、30フレーム/秒)にしたがって、連続画像が出現する間の時間である。タイマー50が満了すると、プロセッサ40は、スキャナ10によって生成された一連の画像における次の画像に移行する。この実施形態において、次の画像は、シーケンスにおける第2の画像315であり得る。しかしながら、当業者は、次の画像および先の画像は、n個(1個または複数)の画像によって(例えば、第3の画像ごとに)分離され得るということを理解し得る。さらに、当業者は、タイマー50は、プロセッサ40によって実行される、ハードウェアまたはソフトウェア機能に実装され得るということを理解し得る。
ステップ225において、プロセッサ40は、シーケンスにおけるブロック305を解析する。方法200の第1の反復において、ステップ225では、プロセッサ40は、第1のブロック310を解析する。動作中、プロセッサ40は、第2のサイズのブロック305によって規定された境界内の画像を解析する。例えば、8×8ピクセルのブロック305において、プロセッサ40は、64ピクセルのエリアを解析し、バーコード30の少なくとも一部が、そこに配置されているかどうかを決定する。あるいは、プロセッサ40は、ブロック305およびそれに隣接するブロックを解析し、バーコード30の少なくとも一部が、そこに配置されているかどうかを決定する。
ステップ230において、プロセッサ40は、第1のブロック310が、バーコード30の少なくとも一部を含んでいるかどうかを決定する。すなわち、全体のバーコード30は、第1のブロック305内にフィットしないことがあり得る。したがって、バーコード30の一部は、バーコード30のこの一部が識別されたことをプロセッサ40に示す、任意のインディシアを含み得る。例えば、バーコード30の一部は、任意の太さの(そして、オプションとして、その間に所定の間隔を有している)1つ以上の平行なバーであり得る。したがって、プロセッサ40は、任意の1次元および/または2次元のバーコードの一部を識別するように、プログラムされ得る。
ステップ235において、第1のブロック310は、バーコード30の一部を含んではいないので、プロセッサ40は、タイマー50が満了したかどうかを決定する。タイマー50が満了していない場合、プロセッサ40は、ステップ237に示されているように、同じ画像(例えば、第1の画像300)において、ブロックを検査/解析することを継続する。このようにして、プロセッサ40は、シーケンスにおける次のブロック(例えば、第2のブロック320)を解析する(ステップ225)。このようにして、プロセッサ40は、タイマー50が満了するまで、またはバーコード30の位置が識別されるまで、シーケンスにおけるブロックを解析することを継続し得る。
ステップ240において、タイマー50は満了しているので、プロセッサ40は、一連の画像における以後の画像(例えば、次の画像)を取得する。上述のように、次の画像は、第2の画像315、または第1の画像300からn個目の画像であり得る。この実施形態において、第2の画像315が取得されると、プロセッサ40は、第2の画像315に配置をマッピングし、タイマー50を始動させる(ステップ220)。タイマー50が始動されると、プロセッサ40は、第4のブロック325を解析する。この第4のブロックは、第1の画像300上のシーケンスにおいて解析された最後のブロック(例えば、第3のブロック322)の直後のブロックである。このことは、図4cおよび図4dを参照して、記載される。
図4cは、所定数のブロック305に分割された、第1の画像300を示している。このように、第1の反復において、プロセッサ40は、第1のブロック310から始まり、タイマー50が満了するまで、またはバーコード30の一部が識別されるまで、シーケンスにおける各ブロックを解析する。第1の反復におけるシーケンスは、X0〜Xn(ここでnは、タイマー50が満了する前に解析されるブロックの個数を表す)によってマークされたブロックによって示されている。Xnによってマークされたブロックは、第1の画像305上の解析されたシーケンスにおける最後のブロックを表している。ブロックX0〜Xnのシーケンスは、各々の解析の後に、第1の画像300の事実上全体のエリアが解析されるように、生成される。タイマー50が満了すると、プロセッサ40は、バーコード30の一部を識別することなしに、第3のブロック322に到達する。このようにして、プロセッサ40は、図4dに示されている第2の画像315を取得する。
図4dにおいて、第2の画像315は、第1の画像3cと同じものであり得る。すなわち、バーコード30は、第1の画像300および第2の画像315において、実質的に同じ位置に配置され得る。しかしながら、バーコード30は、例えば、スキャニングの間のアイテム25の動きに起因して、第2の画像内の新しい位置に移動されることもまた、可能である。本発明にしたがうと、ユーザは、アイテムの実質的な静止状態を維持するか(例えば、プレゼンテーションスキャニング)、あるいは連続的にアイテムを動かし得る(例えば、スワイプスキャニング)。
第2の画像315において、プロセッサ40は、サーチシーケンスを処理することを継続し、第4のブロック325から始める。この第4のブロックは、第3のブロック322(例えば、第1の画像300において解析された最後のブロック)の後のシーケンスにおける次のブロックである。すなわち、プロセッサ40は、第2の画像315における第1のブロック310からは始めない。第2の反復におけるシーケンスは、Y0〜Ym(ここでmは、タイマー50が満了する前に解析されるブロックの個数を表す)によってマークされたブロックによって示されている。Ymによってマークされたブロックは、第2の画像315上の解析されたシーケンスにおける最後のブロックを表している。この最適化は、画像の個数を大幅に低減させ得、その結果、スキャナがプレゼンテーションスキャンモードで動作するときに、プロセッサ40がバーコード30を識別するために利用する時間を大幅に低減させ得る。スワイプスキャンモードにおいて、サーチシーケンスは、十分にランダムであり得、各画像において処理される多数のブロック305を与え(例えば、1つの画像につき、約100個以上のブロックが処理される)、画像の全エリアは、実質的に均等にカバーされる。
図3を再び参照すると、ステップ245において、プロセッサ40は、第4のブロック325において、バーコード30の一部を識別しているので、プロセッサ40は、ブロック325において見つけられたバーに垂直な仮想スキャンラインを生成し、バーコード30のスキャンを開始し得る。別の実施形態において、プロセッサ40は、隣接しているブロックを解析し、バーコード30の全体を識別することを試み得る。隣接しているブロックは、第4のブロック325内のバーコード30の位置の関数として、決定され得る。例えば、図4dに示されている実施形態において、プロセッサ40は、バーコード30の一部の方向(orientation)は、バーまたはバーの一部であるということを、決定し得る。このようにして、プロセッサ40は、所定のエリア内にブロックを含むように、シーケンスを改変し得る。一実施形態において、所定のエリアは、バーを垂直に通過するラインを描くことによって、決定され得る。このようにして、ラインから(例えば、上または下に)離れた所定の距離内の任意のブロックは、改変されたシーケンスに含まれ得る。ラインの長さは、バーコード30の長さの関数として決定され得る。改変されたシーケンスは、図4dにおける第4のブロック325にしたがう第2の一連のラインとして示されている。
一実施形態において、プロセッサ40は、それがバーコード30の一部を識別した後に、タイマー50を一時停止させる。このようにして、隣接しているブロックを解析する間に、プロセッサ40は、1つの画像(例えば、第2の画像315)に留まる。しかしながら、当業者は、上述のように、別の実施形態において、プロセッサ40は、タイマー50が満了したときに、次の画像を取得し得、最後のブロックがスキャンされた後に、このブロックにおいて解析を始め得るということを、理解し得る。しかしながら、次の画像(例えば、第3の画像)において、プロセッサ40は、改変されたシーケンスにしたがって、ブロックを解析することを始め得る。
さらに、改変されたシーケンスの使用の間に、プロセッサ40は、空のブロックのトレランス(tolerancce)を利用し得る。このようにして、改変されたシーケンスにおけるブロック305のうちの1つが、バーコード30のさらなる部分を含んでいない場合、プロセッサ40は、改変されたシーケンスにしたがって、ブロック305の解析を継続し得る。上記トレランスは、例えば、連続的に解析される空のブロックの任意の所定の数(例えば、3)であり得る。さらに、この許容値は、プロセッサ40が、所定数の空のブロック内で、バーコード30のさらなる部分を識別した場合に、リセットされ得る。例えば、改変されたシーケンスにおいて空のブロックが存在する場合、プロセッサ40は、許容値まで、ブロック305の解析を継続し得る。次の3個のブロック305のいずれも、バーコード30のさらなる部分を含んでいない場合、プロセッサ40は、元のシーケンスに戻るか(ステップ225)、または第4のブロック325に周辺の広いエリアが含まれるように、改変されたシーケンスを改変する。
ステップ250において、プロセッサ40は、所定のパターン(例えば、バーコード30)の全体が、識別されたかどうかを決定する。バーコード30の識別されるべき部分が残っている場合、プロセッサ40は、タイマー50が満了しているかどうかを決定し、満了していない場合、改変されたシーケンスにしたがって、ブロックの解析を継続する。別の実施形態において、プロセッサ40は、元のシーケンスに戻り、そこに残っているブロックの解析を開始し得る。バーコード30の全体が識別された場合、ブロック255に示されているように、プロセッサ40は、バーコード30の画像をデジタル化する。デジタル化された画像は、メモリ45に格納され得、かつ/またはコンピューティングデバイス12に伝送され得る。オプションとして、プロセッサ40は、ステップ255の後に、画像のデコーディングが正しく行なわれたかどうかを、決定し得る。デコーディングが正しく行われなかった場合、プロセッサ40は、タイマー50が満了したかどうか、およびそれに応じて、ブロック/画像のスキャニング解析を継続するかどうかを決定し得る。
当業者は、本発明の趣旨および範囲から逸れることなしに、様々な改変が、本発明になされ得ることを理解し得る。したがって、本発明は、添付の請求項およびそれらの均等物の範囲内で提供される、本発明の改変およびバリエーションをカバーすることが意図されている。
Claims (22)
- 所定のパターンを配置するための方法であって、
所定数のエリアに画像を分割することと、
該所定のパターンに対して解析されるべきエリアの順序を示すサーチシーケンスを決定することと、
(i)所定の時間が満了する、および(ii)該所定のパターンが検出される、のいずれか一方までに、該サーチシーケンスにおける該エリアを解析することと、
該所定のパターンが検出される前に、該所定の時間が満了したときに、さらなる画像を取得し、その後、該さらなる画像において、該シーケンスに残っているエリアを、(i)該所定の時間が満了する、および(ii)該所定のパターンが該残っているエリアのうちの1つにおいて検出される、のいずれか一方までに、該画像の最後に解析されたエリアの直後に解析されるべきエリアから開始して、解析する、ことと
を包含する、方法。 - 前記所定のパターンは、1次元のバーコードおよび2次元のバーコードのうちの1つの少なくとも一部である、請求項1に記載の方法。
- 前記エリアは、所定のサイズおよび形状を有している、請求項1に記載の方法。
- 前記決定するステップは、
前記シーケンスが反復される前に、該シーケンスにおける全エリアが解析されるように、前記順序を生成すること
をさらに含んでいる、請求項1に記載の方法。 - 前記所定のパターンが、前記解析されたエリアにおいて検出されたときに、該エリアに隣接しているエリアを決定することと、
該隣接しているエリアを解析して、サブイメージを取得することであって、該サブイメージは、該所定のパターンを含んでいる、ことと
該サブイメージをデコードして、データを抽出することと
をさらに含んでいる、請求項1に記載の方法。 - 前記サブイメージは、バーコードデータである、請求項5に記載の方法。
- 前記隣接しているエリアは、以下のサブステップ:
前記解析されたエリア内の前記所定のパターンの位置および方向を決定することと、
(i)該位置、および(ii)該方向、の少なくとも1つの関数として、該隣接しているエリアを決定することと
にしたがって決定される、請求項5に記載の方法。 - 前記分割するステップの前に、前記方法は、
(i)スワイプスキャン、および(ii)プレゼンテーションスキャン、のうちの1つの間に、前記画像を取得すること
をさらに含んでいる、請求項1に記載の方法。 - 前記決定するステップは、
(i)xi=(i*m) mod M
yi=(i*n) mod N
i≧0、但しm、n、M、Nは整数の定数、および
(ii)擬似乱数生成器から導出されたシーケンス
のうちの1つにしたがって、前記順序を生成すること
をさらに含んでいる、請求項1に記載の方法。 - 前記所定の時間は、前記画像の出現と前記さらなる画像の出現との間の時間である、請求項1に記載の方法。
- 少なくとも1つの画像をキャプチャする画像キャプチャ装置と、
該画像を所定数のエリアに分割するプロセッサであって、該プロセッサは、所定のパターンに対して解析されるべきエリアの順序を示すサーチシーケンスを決定し、該プロセッサは、(i)所定の時間が満了する、および(ii)該所定のパターンが検出される、のいずれか一方までに、該サーチシーケンスにおける該エリアを解析する、プロセッサと
を備えており、
該所定のパターンが検出される前に、該所定の時間が満了したときに、該プロセッサは、さらなる画像を取得し、その後、該さらなる画像において、該シーケンスに残っているエリアを、(i)該所定の時間が満了する、および(ii)該所定のパターンが該解析されたエリアの1つにおいて検出される、のいずれか一方までに、該画像の最後に解析されたエリアの直後に解析されるべきエリアから開始して、解析する、デバイス。 - 前記所定のパターンは、1次元のバーコードおよび2次元のバーコードのうちの1つの少なくとも一部である、請求項11に記載のデバイス。
- 前記エリアは、所定のサイズおよび形状を有している、請求項11に記載のデバイス。
- 前記プロセッサは、前記シーケンスが反復される前に、該シーケンスにおける全エリアが解析されるように、前記順序を生成する、請求項11に記載のデバイス。
- 前記所定のパターンが、前記解析されたエリアにおいて検出されたときに、前記プロセッサは、該解析されたエリアに隣接しているエリアを決定し、該プロセッサは、該隣接しているエリアを解析して、サブイメージを取得し、該サブイメージは、該所定のパターンを含んでおり、該プロセッサは、該サブ画像をデコードして、データを抽出する、請求項11に記載のデバイス。
- 前記サブイメージは、バーコードである、請求項15に記載のデバイス。
- 前記プロセッサが、前記隣接しているエリアを決定するときに、該プロセッサは、前記解析されたエリア内の前記所定のパターンの位置および方向を決定し、該プロセッサは、(i)該位置、および(ii)方向、のうちの少なくとも1つの関数として、該隣接しているエリアを決定する、請求項15に記載のデバイス。
- 前記プロセッサは、(i)スワイプスキャン、および(ii)プレゼンテーションスキャン、のうちの1つの間に、前記画像を取得する、請求項11に記載のデバイス。
- 前記プロセッサは、
(i)xi=(i*m) mod M
yi=(i*n) mod N
i≧0、但しm、n、M、Nは整数の定数、および
(ii)擬似乱数生成器から導出されたシーケンス
のうちの1つにしたがって、前記順序を生成する、請求項11に記載のデバイス。 - 前記デバイスは、イメージスキャナである、請求項11に記載のデバイス。
- 前記所定の時間は、前記画像の出現と前記さらなる画像の出現との間の時間である、請求項11に記載のデバイス。
- 一連の命令を格納するコンピュータ読取り可能な格納媒体であって、該一連の命令は、プロセッサによって実行可能であり、該一連の命令は、
所定数のエリアに画像を分割するステップと、
該所定のパターンに対して解析されるべきエリアの順序を示すサーチシーケンスを決定するステップと、
(i)所定の時間が満了する、および(ii)該所定のパターンが検出される、のいずれか一方までに、該サーチシーケンスにおける該エリアを解析するステップと、
該所定のパターンが検出される前に、該所定の時間が満了したときに、さらなる画像を取得し、その後、該さらなる画像において、該シーケンスに残っているエリアを、(i)該所定の時間が満了する、および(ii)該所定のパターンが該解析されたエリアの1つにおいて検出される、のうちのいずれか一方までに、該画像の最後に解析されたエリアの直後に解析されるべきエリアから開始して、解析するステップと
を実行する、媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/157,735 US7455231B2 (en) | 2005-06-21 | 2005-06-21 | System and method for locating a predetermined pattern within an image |
PCT/US2006/020543 WO2007001710A2 (en) | 2005-06-21 | 2006-05-25 | System and method for locating a predetermined pattern within an image |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008547115A true JP2008547115A (ja) | 2008-12-25 |
Family
ID=37401094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008518182A Withdrawn JP2008547115A (ja) | 2005-06-21 | 2006-05-25 | 画像内に所定のパターンを配置するためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7455231B2 (ja) |
EP (1) | EP1894141B1 (ja) |
JP (1) | JP2008547115A (ja) |
CN (1) | CN101208708A (ja) |
DE (1) | DE602006012314D1 (ja) |
WO (1) | WO2007001710A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487916B2 (en) * | 2005-09-15 | 2009-02-10 | Symbol Technologies, Inc. | Imaging-based bar code reader with enhanced decoding capability |
US8570393B2 (en) * | 2007-11-30 | 2013-10-29 | Cognex Corporation | System and method for processing image data relative to a focus of attention within the overall image |
US9189670B2 (en) * | 2009-02-11 | 2015-11-17 | Cognex Corporation | System and method for capturing and detecting symbology features and parameters |
US20110231232A1 (en) * | 2010-03-17 | 2011-09-22 | Chun-Mi Chu | Electronic advertising system |
US8740081B2 (en) * | 2011-11-03 | 2014-06-03 | Cognex Corporation | Method and apparatus for ordering code candidates in image for decoding attempts |
US9122952B2 (en) | 2011-12-23 | 2015-09-01 | Cognex Corporation | Methods and apparatus for one-dimensional signal extraction |
US20150145887A1 (en) * | 2013-11-25 | 2015-05-28 | Qualcomm Incorporated | Persistent head-mounted content display |
CN105654019B (zh) * | 2016-02-23 | 2018-09-04 | 海信集团有限公司 | 二维码快速解码方法和装置 |
US10909341B2 (en) | 2016-10-26 | 2021-02-02 | Datalogic Automation, Inc. | Data processing reduction in barcode reading systems with overlapping frames |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319181A (en) | 1992-03-16 | 1994-06-07 | Symbol Technologies, Inc. | Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera |
JP3448404B2 (ja) * | 1995-09-08 | 2003-09-22 | 富士通株式会社 | バーコード読取装置及びバーコード読取方法 |
US5936224A (en) * | 1996-12-11 | 1999-08-10 | Intermec Ip Corporation | Method and apparatus for reading machine-readable symbols by employing a combination of multiple operators and/or processors |
US6298176B2 (en) | 1997-10-17 | 2001-10-02 | Welch Allyn Data Collection, Inc. | Symbol-controlled image data reading system |
JP3514982B2 (ja) * | 1998-09-28 | 2004-04-05 | 富士通株式会社 | バーコード読取装置及びバーコード読取方法 |
-
2005
- 2005-06-21 US US11/157,735 patent/US7455231B2/en active Active
-
2006
- 2006-05-25 JP JP2008518182A patent/JP2008547115A/ja not_active Withdrawn
- 2006-05-25 DE DE602006012314T patent/DE602006012314D1/de active Active
- 2006-05-25 WO PCT/US2006/020543 patent/WO2007001710A2/en active Application Filing
- 2006-05-25 EP EP06760451A patent/EP1894141B1/en active Active
- 2006-05-25 CN CNA2006800215539A patent/CN101208708A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN101208708A (zh) | 2008-06-25 |
US7455231B2 (en) | 2008-11-25 |
WO2007001710A3 (en) | 2007-02-08 |
US20060283953A1 (en) | 2006-12-21 |
WO2007001710A2 (en) | 2007-01-04 |
EP1894141A2 (en) | 2008-03-05 |
DE602006012314D1 (de) | 2010-04-01 |
EP1894141B1 (en) | 2010-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008547115A (ja) | 画像内に所定のパターンを配置するためのシステムおよび方法 | |
US7383994B2 (en) | Methods and systems for forming images of moving optical codes | |
EP1933253B1 (en) | Method, system, and apparatus for an electronic freeze frame shutter for a high pass-by image scanner | |
US9305197B2 (en) | Optimizing focus plane position of imaging scanner | |
BRPI1100823B1 (pt) | Sistema e método automático para rastreamento e decodificação de código de barras por meio de dispositivos portáteis equipados com câmeras digitais | |
US10169629B2 (en) | Decoding visual codes | |
JP6457971B2 (ja) | 複数の撮影画像を用いてパターンのステッチおよびデコードするシステムおよび方法 | |
US9734375B2 (en) | Method of controlling exposure on barcode imaging scanner with rolling shutter sensor | |
US20160210492A1 (en) | Imaging barcode scanner for enhanced document capture | |
US7857219B2 (en) | Imaging reader target object finder system | |
JP2015191531A (ja) | 2次元コードの空間位置の決定方法及びそのための装置 | |
US20130094695A1 (en) | Method and apparatus for auto-detecting orientation of free-form document using barcode | |
JP4337597B2 (ja) | コードシンボル読取装置、および、プログラム | |
JP5413006B2 (ja) | 携帯端末装置及びプログラム | |
CN107609448B (zh) | 条码解码方法以及条码解码装置 | |
US20210281742A1 (en) | Document detections from video images | |
US20120104099A1 (en) | Method and apparatus for capturing form document with imaging scanner | |
JP2001167225A (ja) | Ccdカメラを用いたバーコード認識装置 | |
US9213880B2 (en) | Method of optimizing focus plane position of imaging scanner | |
JP2008242829A (ja) | バーコード読取装置及びプログラム | |
TWM488690U (zh) | 交互式投光二維條碼掃描裝置 | |
CN116457848A (zh) | 结算处理系统、显示装置以及显示方法 | |
JP2004078411A (ja) | スケッチ画自動作成方法およびその装置 | |
WO2016164022A1 (en) | Routing image frames to element detectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |