説明

多重シンボルデコーディングのための方法及び装置

画像ベースのシンボルリーダーのマルチスレッドオペレーションのための方法と装置を提供する。本発明の方法においては、マルチスレッドプロセス環境下で、コード化されたシンボルの取得した画像に対し、複数のデコーディングエンジンを用いて非同期的に、また実質的に同時にデコードが試みられる。各デコーディングエンジンは、特定のシンボルタイプに対応して、多重シンボルを読み取る際に、高速応答を達成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハンドヘルド型シンボルリーダーを用いたバーコードやシンボルの多重デコーディングのための方法と装置に関する。
【背景技術】
【0002】
バーコードは文字列やデータをコード化した一次元のシンボルであって、部品等の識別のために工業的用途で用いられる。バーコードシンボルを用いた実施例において、装置がバーコードを読んで、コード化されたデータを解読するために用いられる。倉庫業務等において、バーコードを読み取る行動は、高速で一貫して確実にデータを入力する手段である。
【0003】
二次元シンボルは、一次元バーコードを拡張するものとして開発され、より多くの情報をコード化できるだけの容量を有する高密度シンボルである。例えば、データマトリックスシンボルは、一般に知られた二次元シンボルであるが、二次元グリッドを占有するマトリックスセル内にデータをコード化する。二次元コードは、積層コード又はマトリックスコードとも称される。
【0004】
読み取り装置は、極めて高速の応答時間に最適化された一次元バーコードを読み取るように開発されてきた。これらの読み取り装置は、一般的にレーザー走査システムであって、レーザー光を目標とするバーコードに照射して、その反射波形を読み取り装置が検出して迅速に分析するものであった。しかし、これらのシステムは、一次元より大きな次元でコード化されたデータを有するシンボルを読み取ることには容易に適用できなかった。
【0005】
画像ベースの読み取り装置が二次元シンボルに対して開発されている。これらの画像ベースのシステムにおいて、読み取られた画像は機械視覚アルゴリズムを用いて処理され分析されて、画像内でシンボルを検出し、シンボルデコーディングアルゴリズムを実行してシンボルがデコードされる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
レーザー走査型一次元バーコードリーダーが二次元コードの読み取りに適していないのに対して、画像ベースの二次元リーダーは一次元バーコードと二次元シンボルの両方をデコードするのに完全に適合している。一次元バーコードを読み取るように作られた画像ベースのリーダーは、実質的にレーザー走査型リーダーと同程度の応答時間でバーコードを見つけてデコードする。しかし、画像ベースリーダーが全種読み取り(自動的に一次元シンボルか二次元シンボルであるかを決定する)を実行するように作られている場合、実効的な応答時間は大幅にかつ受け入れ難いほど増加する。
【課題を解決するための手段】
【0007】
本発明は、多重処理環境において複数のデコーディングプロセスを用いてエンコードされたシンボルをデコードすることを試みる、即ち、非同期かつ実質的に同時に実行される複数のデコーディングプロセスを用いてデコードを試みる多重シンボルデコーディングのための方法と装置に関する。この方法において、一次元シンボルと二次元シンボルの両方に対するデコードが、それぞれのデコーディングエンジンを用いてシーケンシャルに処理するものより平均して高速な十分なデコーディング結果を得られる。
【0008】
1つの実施例において、本発明の方法は第一デコーディングスレッドを用いてエンコードされたシンボルのデコードを試みる一方で、第二デコーディングスレッドを用いてエンコードされたシンボルのデコードを非同期にかつ実質的に同時に試みる。デコーディングスレッドのいずれかによってデコードされると、本方法は結果即ちデコードされた文字列をレポートする。
【0009】
別の実施例において、本発明の方法は連続的にエンコードされたシンボルの画像を得る一方で、複数のデコーディングスレッドを用いて非同期的にかつ同時にデコーディングを試みる。複数のデコーディングスレッドのどれか1つが所定の時間制限を超えた場合、連続的に獲得した画像の最新画像を用いてデコーディング処理を繰り返す。
【0010】
本発明に係る装置は、視野に画像を提供するためのイメージセンサとレンズとを備えた画像モジュールを有する。この装置は、画像モジュールと結合したデータバスと、データバスと結合したメモリモジュールとプロセッサとを有する。このプロセッサは、画像モジュールとメモリモジュールとを制御してデータバスを通してメモリモジュールから画像を転送する収集プロセスと、画像からシンボルをデコードする複数のデコーディングスレッドプロセスとを有する。複数のデコーディングプロセスは、実質的に同時にまた非同期的に動作して、本発明の方法を実行する。
【0011】
上記内容に加えて本発明の別のアスペクトは、以下の発明の説明から、当業者には明らかであろう。本明細書においては、発明を例示した図面が参照される。
【図面の簡単な説明】
【0012】
【図1】本発明に係るハンドヘルド型画像ベースリーダーである。
【図2】本発明に係る固定型画像ベースリーダーである。
【図3】本発明の実施例に係る機能部品の概略図である。
【図4A】本発明の方法のフローチャートである。
【図4B】本発明の方法のフローチャートである。
【発明を実施するための形態】
【0013】
本発明に係るハンドヘルド型画像ベースリーダーの実施例を図1に示す。このハンドヘルド型リーダー100は、グリップ部102とユーザーの指で動作して画像収集とデコーディングを開始するトリガー104とを備えたハウジング122を有する。係留コード110が電力をリーダー100に供給すると共に、エンコードされた情報のデコードされた文字列のための情報伝達パスを提供する。ポータブル性を向上させるために、リーダー100はバッテリー電力とワイヤレス通信手段を備えることもできる。リーダー100によって制御されたLEDによって照明がライトパイプ106を通して提供される。
【0014】
本発明に係る固定型画像ベースリーダーの実施例を図2に示す。固定型リーダー120は、電力を供給する電力コード124と、エンコードされた情報のデコードされた文字列のための情報伝達パスや、信号をホストコントローラや付属機器に供給する通信コード126とを備えたハウジング122を有する。リーダーによって制御されたLED照明128が照明源を供給する。
【0015】
図3にハンドヘルド型リーダー100と固定型リーダー120の両方で共通な本発明に係る機能部品の概略図を示す。照明モジュール202は、バーコード又はシンボルが印された対象物を照明する。照明モジュール202内の複数の照明部材の1つを選択的に作動させることで、種々のモードの照明が提供できるようになっている。オプションで、周囲照明を用いてリーダーの外部から照明を提供することもできる。
【0016】
撮像モジュール208は、例えばCMOS又はCCD センサといったイメージセンサと、例えばレンズセットのような撮像装置の視野に焦点の合った画像を投射する光学部材とを備える。撮像モジュール208は、バーコード又はシンボルが印されたコンポーネント又はラベルを含んだ視野のデジタル表現である画像を提供する。ハンドヘルド型リーダー100又は固定型リーダー120の実施例において、イメージセンサとして画素アレイ752×480を有するワイドVGAのグローバルシャッターCMOSが採用されている。
【0017】
プロセッサモジュール206は、マイクロプロセッサと関連するコンポーネントと種々のアスペクトのリーダーを制御するための電気回路を備える。プロセッサモジュール206は、例えばテキサスインスツルメンツ社のDM642といったデジタルシグナルプロセッサを備えることができる。プロセッサモジュール206は、マルチコアプロセッサ又は協働する複数のプロセッサを備えることができる。
【0018】
メモリモジュール204は、画像データを保存するためのRAM(ランダムアクセスメモリ)と、アップデート可能な制御プログラムを保存するためのフラッシュメモリとを備える。ハンドヘルド型リーダー100又は固定型リーダー120の実施例において、32MBのダイナミックRAMが用いられ、4MBのフラッシュメモリが用いられている。メモリモジュール204は、プロセッサモジュール206と協働して、プロセッサが保存された制御プログラムを実行してここに記載された動作が実施できるようにしている。
【0019】
通信モジュール210は、リーダーにアクセスして情報を交換するために必要なインターフェース機能を提供する。1つの実施例において、通信モジュール210はUSBインターフェースを備え、ハンドヘルド型リーダー100又は固定型リーダー120は、プロセッサモジュール206の上で走っている実行プログラムと協働するアプリケーションが走っているホストコンピュータと直接インターフェースを取ることができる。他の実施例としては、イーサネット(登録商標)インターフェースやRS232Cインターフェース、又はブルートゥースやIEEE802.11を用いた無線インターフェースを採用することができる。加えて、デコーディングの試みが成功(又は失敗)した際に、ビープ音を鳴らしたり、LEDインジケータを点灯させる等の視覚的及び/又は聴覚的フィードバックを通信モジュール210からリーダーのユーザーに提供することができる。また、通信モジュール210はデコーディングを開始させるためのリーダーに対して内部的又は外部的なトリガーを備えたI/Oを有することができる。
【0020】
読み取りプロセスを実行するために、プロセッサモジュール206とメモリモジュール204と撮像モジュール208と通信モジュール210とオプションで照明モジュール202とを相互に連結するインターフェースバス200が設けられている。バス200を通して、撮像モジュール208で取得した視野の画像が、メモリモジュール204に転送される。プロセッサモジュール206は、画像内のバーコード又はシンボルを特定するために種々の分析を実行し、特定されたバーコード又はシンボルをデコードするためにデコーディングアルゴリズムを実行する。デコードが成功した際に、通信モジュール210がバス200を通してプロセッサモジュール206によって制御されて、デコード結果が報告され送信される。オプションで、照明モジュール202はバス200を通してプロセッサモジュール206で制御可能であり、読み取りプロセスの開始時に照明モジュール202を点灯し、読み取りプロセスの完了又は終了時に照明モジュール202を消灯することができる。
【0021】
従来技術によれば、リーダーは1つ又は複数のバーコード又はシンボルを読み取りデコードするように構成されている。ハンドヘルド型リーダーは、バーコード又はシンボルを対象にしており、トリガーが押されると、読み取りプロセスが開始される。固定型リーダーも同様に、例えばコンベア上の、又はユーザーが取り付けたバーコード又はシンボルを貼り付けた対象物の全体的方向に対して設けられている。固定型リーダーの読み取りプロセスは、外部トリガーによって開始されるか、又は読み取りプロセスが連続的に実行される。携帯型リーダーと固定型リーダーのどちらにおいても、バーコード又はシンボルのデコードが成功した場合、バーコード又はシンボルにエンコードされていた文字がデコードされて転送される。
【0022】
本発明の方法と装置は、種々のタイプのバーコード又はシンボルを読み取る際に、より高速の読み取り応答時間を可能にする。二つ以上のバーコード又はシンボルを同時にデコードする際に、平均読み取り率は、幾つかのデコーディング法のシーケンシャルなアプリケーションによって向上できる。本発明の長所は、特に直接対象物の表面に例えばダイレクトパートマーキング(DPM)法によってマークされたバーコード又はシンボルに適用する際に、当業者によって正しく評価される。DPMシンボルは、一般的にラベルやパッケージングに印刷されたシンボルと比較して、読み取ることが困難である。DPM法は、強固なデコーディングアルゴリズムを要求し、これらのマークをデコードするための経過時間は、一般的にラベルに印刷されたバーコードより長い時間を要する。これらがミックスされて用いられる環境下において、本発明のリーダーはDPMシンボルに対して実質的に同じ応答時間を提供し、容易にデコードできるバーコードやシンボルに対して、迅速な応答時間を提供できる。
【0023】
以下で述べるものは、意図した動作を実行するための1つの位置又は種々の位置において協働するメカニズム、装置、コンポーネント、ソフトウエア、又はファームウエア又はこれらの組み合わせを備えるが、これらに限定されるものではない適切な装置によって実行される、幾つかの目的を対象とする動作の組織的なセットを参照するプロセスである。
【0024】
実施例において、コンピュータソフトウエア命令はここに述べる動作、例えばシンボルを読み取る、画像をキャプチャする、画像を分析する、マルチスレッドオペレーション、メモリバッファ管理、シンボルデコーディング、信号出力といった動作を実行するためのものを含む。
【0025】
さらに、上述の内容は例示したもののリストに過ぎないことが当業者には理解されるであろう。それは完全なものではなく、適切なコンピュータソフトウエア命令が実施例において適切なプロセスを実行するために用いられる。
【0026】
図4を参照して、本発明に係る方法のフローチャートを示す。ステップ300において、読み取りプロセスが開始される。ハンドヘルド型リーダー100の実施例では、ユーザーによってトリガー104を作動することに応じて、このステップ300を実行できる。この実施例において、照明モジュール202が点灯してユーザーがリーダーで読み取ろうとする対象物を照明する。固定型リーダー120の実施例では、ホストコンピュータからの命令又は外部トリガーによって、通信コード126を通してリーダー120に適切な信号が転送されることで、このステップ300が実行される。
【0027】
ステップ310は画像収集プロセスを実行する。ここで、撮像モジュール208はプロセッサモジュール206の適切な制御の下で、視野からの反射照明にセンサを露出する。ステップ320で、撮像モジュール208のイメージセンサは、画像バッファとしてのメモリモジュール204に画像データを転送する。ステップ320の画像バッファは、n+2の画像フレーム又はスロットを保持するように構成されており、ここでnはマルチスレッド処理環境において実行されるデコーディングスレッドの数である。1つの画像スロットが次の画像収集のために用意され、もう1つのスロットが最近に取得した画像(最新画像)のために用意され、残りのn個のスロットが、もし必要であれば、n個のデコーディングスレッドがn個の画像に対して独立に動作できるように用いられる。実施例において、収集のフレームレートは1秒当たり約30フレームである。
【0028】
ステップ330において、ステップ310で収集プロセスを制御したプロセッサモジュール206は、収集を続けるかどうかのテストをする。ハンドヘルド型リーダー100の実施例において、もし以下に述べるようにデコードに成功した場合、又はトリガー104が解放された場合、ステップ330でのテストはステップ340でプロセスを終了させる。固定型リーダー120の実施例の場合、もしホストコンピュータ又は付属機器からの適切な信号を受信した場合に、ステップ330でのテストはステップ340でプロセスを終了させる。どちらの実施例においても、上記条件以外の場合は、ステップ330でのテストはステップ310に処理を戻して別な画像を収集させ、ステップ320で画像を画像バッファに転送させる。
【0029】
ステップ350で、プロセッサモジュール206によって実行される第一デコーディングスレッドが開始される。ステップ360で、最新画像がステップ320の画像バッファから得られる。ステップ370で、ステップ360で得られた画像に対してリーダーの構成セッションで特定されたパラメータ380を用いて第一デコーディングエンジンが動作する。パラメータ380の値には、第一デコーディングエンジン370の元であるプロセッサモジュール206のマイクロプロセッサの処理資源の一部と、デコーディングエンジンを終了させるタイムアウト時間とが含まれる。従って、ステップ370で動作する第一デコーディングエンジンは、他のアクティブなスレッドとプロセッサモジュールのプロセッサ資源をシェアしている。このシェアリングは、例えば実施例としてテキサスインスツルメント社のDM642デジタルシグナルプロセッサを用いた場合などの、そのプロッセサ上で走るオペレーティングシステムのマルチスレッディング能力を用いることによって達成される。
【0030】
マルチスレッディングは、以下のように動作する。プロセッサ資源は、プロセッサ時間を小さな時間ユニットに分割することによって、資源を奪い合う種々のスレッド間でシェアされる。実施例においては、5ミリ秒の時間スライスが用いられている。毎5ミリ秒後に、最新スレッドが一時的に停止して、制御がタスクスケジューラ機能に移る。タスクスケジューラ機能は、各アクティブなスレッドが実行するタイムスライスの数の経過を追い、各スレッドに割り当てられたCPU時間のパーセンテージに基づいて、ユーザーの要求するCPU時間の比率を維持するために、どのスレッドを次に実行するようにスケジュールするかを決定する。
【0031】
ステップ370での第一デコーディングエンジンが終了すると、処理はステップ390へ続く。もしデコーディングが成功せず第一デコーディングエンジンが終了した場合は、処理はステップ360に戻り、そこで最新画像が画像バッファから取り出される。もし収集期間がタイムアウトパラメータより大きい場合、この画像は前回解析した画像とは異なる。もしデコーディングを成功させて第一デコーディングエンジンが終了した場合は、処理はステップ400に進み、そこで第一デコーディングエンジンの動作結果が報告される。
【0032】
ステップ450で、プロセッサモジュール206によって実行される第二デコーディングスレッドを開始する。ステップ460で、ステップ320の画像バッファから最新画像が取り出される。ステップ470で、第二デコーディングエンジンがリーダーの構成セッションで特定されたパラメータ480を用いてステップ460で得られた画像に対して動作する。パラメータ480の値には、第ニデコーディングエンジン470の元であるプロセッサモジュール206のマイクロプロセッサの処理資源の一部と、デコーディングエンジンを終了させるタイムアウト時間とが含まれる。従って、ステップ470で動作する第二デコーディングエンジンは、ステップ370の第一デコーディングエンジンとプロセッサモジュールのプロセッサ資源をシェアしている。
【0033】
引き続き図4を参照して、n番目のデコーディングスレッドがステップ550で開始され、これは実行可能な同時に追加されるデコーディングスレッドの数を表わしている。ステップ560で、ステップ320の画像バッファから最新画像が取り出される。ステップ570で、n番目のデコーディングエンジンがリーダーの構成セッションで特定されたパラメータ580を用いてステップ560で得られた画像に対して動作する。パラメータ580の値には、n番目のデコーディングエンジン570の元であるプロセッサモジュール206のマイクロプロセッサの処理資源の一部と、デコーディングエンジンを終了させるタイムアウト時間とが含まれる。
【0034】
本発明に係る実施例において、リーダーは2種類のエンコードされたシンボルをデコーディングするように構成されている。第一デコーディングエンジンは一次元バーコード、例えば「Code128」シンボルをデコードするように構成されている。このバーコードシンボルはASCIIキャラクタをエンコードしたアルファベチックバーコードであり、画像ベースリーダーによって相対的に容易に位置が特定され、デコードされる。第二デコーディングエンジンは、二次元データマトリックスシンボルをデコードするように構成されている。この二次元シンボルは、画像ベースリーダーを必要とする高密度データエンコーディング法が用いられており、相対的に位置特定とデコードをすることが困難である。
【0035】
引き続き図4を参照して、ステップ300で読み取りプロセスが開始されると、一次元バーコードデコーディングスレッドがステップ350で開始されるのと実質的に同時に二次元データマトリックスデコーディングスレッドがステップ450で開始される。説明を簡単にするために、本実施例においてはn番目のデコーディングスレッドは用いない。それぞれのスレッドは、ステップ360と460で画像バッファから最新画像を取り出すが、画像収集レートに依存するので、二つのスレッドが同じ画像を取り扱うとは限らない。
【0036】
第一デコーディングスレッドは、一次元バーコードをデコードするという比較的容易なタスクを実行するように構成されているので、本実施例のステップ380でのパラメータは、プロセッサ資源の17.6%で、タイムアウト時間が85ミリ秒となるように設定されている。比較的複雑な二次元シンボルをデコーディングするように構成された第二デコーディングスレッドに対しては、ステップ480のパラメータは82.4%のプロセッサ資源と、タイムアウト時間850ミリ秒に設定されている。従って、実行中、プロセッサモジュール206は、そのプロセッサ資源の17.6%を第一デコーディングスレッドに割り当て、82.5%を第二デコーディングスレッドに割り当ててマルチタスクモードで動作する。
【0037】
実施例において、第一デコーディングエンジンは、デコードが成功するか、85ミリ秒のタイムアウト時間が経過するまで、ステップ360でメモリに転送される画像バッファから最新画像を取り出してデコードすることを試みる。もしデコードが失敗だった場合、第一スレッドの処理はステップ360に戻って、最新画像を画像バッファから取り出して
引き続きデコードを行う。同時に、第二デコーディングスレッドの処理が実行される。第二デコーディングスレッドにおいて、第二デコーディングエンジンは、デコードが成功するか、850ミリ秒のタイムアウト時間が経過するまで、ステップ460でメモリへ転送される画像バッファから最新画像を取り出してデコードし、処理はステップ490に進む。もしデコードが失敗だった場合、第二スレッドはステップ460まで戻って、画像バッファから最新画像を取り出して引き続きデコードを行う。第一と第二デコーディングスレッドは、非同期で平行して、どちらかのスレッドが結果を報告するか、又は処理が別の理由で終了する(例えばトリガーが解放される)まで、処理を続ける。
【0038】
最終結果は、このマルチタスクモードにおいて第一又は第二デコーディングスレッドのいずれかがデコードした総時間が、タスクに貢献したすべてのプロセッサ資源を有する同じスレッドより大きいのに対し、認識された応答時間は両方のデコーディングエンジンの順次的アプリケーションにわたって改善される。
【0039】
代替的な実施例において、リーダーは、例えばデータマトリックスからなる二次元シンボルを第一デコーディングスレッドでデコードし、例えばPDF417のような二次元シンボルを第二デコーディングスレッドでデコードするように構成されている。また別の代替的な実施例においては、リーダーは、第一と第二デコーディングスレッドで同じシンボルタイプをデコードするように構成されており、ここで二つのデコーディングスレッドのうち1つは、より複雑な読み取りアプリケーション、例えばDPMアプリケーションに対応している。この実施例において、ロバストなデコーディングアルゴリズムは、デコーディングの際により多くのプロセッサ資源を必要とし、よりロバストでないアルゴリズムは、もし収集した画像が十分なコントラストがあれば、迅速にデコーディングを成功に導くことについては、当業者が評価するであろう。
【0040】
本発明の精神及び範囲から逸脱することなく、主題発明の様々な変更や修正が可能であることは当業者には明らかであろう。従って、特許請求の範囲に示された内容を除き、上記内容は発明を限定することを意図したものではない。

【特許請求の範囲】
【請求項1】
イメージセンサと、協働して視野に画像を提供するレンズと、を有する撮像モジュールと、
前記撮像モジュールと接続されたデータバスと、
前記データバスと接続されたメモリモジュールと、
前記データバスと接続されたプロセッサと、
を備えているシンボルリーダーであって、
前記プロセッサが、
前記撮像モジュールに画像を撮像させ、撮像させた画像を前記データバスを通して前記撮像モジュールへ転送させる収集プロセスと、
前記画像に印された第一シンボルタイプがデコードされる第一デコーディングスレッドプロセスと、
前記画像に印された第二シンボルタイプがデコードされる第二デコーディングスレッドプロセスと、を有し、そして、
前記第一デコーディングスレッドプロセスと前記第二デコーディングスレッドプロセスとが、実質的に同時に実行されることを特徴とするシンボルリーダー。
【請求項2】
前記撮像モジュールと前記データバスと前記メモリモジュールと前記プロセッサとが、ハンドヘルド型リーダーとして用いられるのに適したハウジング内に収容されていることを特徴とする請求項1に記載のシンボルリーダー。
【請求項3】
前記プロセッサと協働して、前記収集プロセスと前記第一デコーディングスレッドプロセスと前記第二デコーディングスレッドプロセスとを開始させるトリガーが更に備えられていることを特徴とする請求項2に記載のシンボルリーダー。
【請求項4】
前記撮像モジュールと前記データバスと前記メモリモジュールと前記プロセッサとが、固定型リーダーとして用いられるのに適したハウジング内に収容されていることを特徴とする請求項1に記載のシンボルリーダー。
【請求項5】
前記プロセッサが少なくとも1つの前記画像に印された追加的シンボルタイプがデコードされる少なくとも1つの追加的デコーディングスレッドプロセスが更に備えられ、そして、
前記第一デコーディングプロセスと前記第二デコーディングプロセスと前記少なくとも1つの追加的デコーディングスレッドプロセスとが、実質的に同時に実行される
ことを特徴とする請求項1に記載のシンボルリーダー。
【請求項6】
前記第一デコーディングスレッドプロセスと前記第二デコーディングスレッドプロセスのいずれかの結果をホストコンピュータに転送するための通信モジュールが更に備えられることを特徴とする請求項1に記載のシンボルリーダー。
【請求項7】
前記通信モジュールには、USBかRS−232かブルートゥースか802.11ワイヤレスの中から選択されたプロトコルが用いられることを特徴とする請求項6に記載のシンボルリーダー。
【請求項8】
エンコードされたシンボルの画像を収集するステップと、
画像に印されたエンコードされたシンボルを第一デコーディングスレッドを用いてデコードする一方で、非同期かつ実質的に同時に、同じエンコードされたシンボルを第二デコーディングスレッドを用いてデコードするステップと、
前記第一デコーディングスレッドと前記第二デコーディングスレッドのいずれかがデコードに成功した場合に、結果を報告するステップと、
を有していることを特徴とするエンコードされたシンボルを読み取るための方法。
【請求項9】
前記第一デコーディングスレッドと前記第二レコーディングスレッドのそれぞれにプロセッサ資源を分配するステップが更に備えられたことを特徴とする請求項8に記載の方法。
【請求項10】
前記エンコードされたシンボルの画像を収集するステップが、複数の画像を連続的に収集するステップであり、そして、
エンコードされたシンボルの印された画像が、前記複数の画像の中の一枚であることを特徴とする請求項8に記載の方法。
【請求項11】
前記第一デコーディングスレッドと前記第二デコーディングスレッドのそれぞれが、デコーディング経過時間がタイムアウト時間を超えた場合に、各デコーディングスレッドのデコードが不成功であったとするタイムアウト変数を有していることを特徴とする請求項10に記載の方法。
【請求項12】
前記第一デコーディングスレッドと前記第二デコーディングスレッドのいずれかがタイムアウト時間を超えて不成功となった場合に、他方のデコーディングスレッドと非同期で実質的に同時に、前記画像収集ステップと前記デコードするステップとを繰り返すことを特徴とする請求項11に記載の方法。
【請求項13】
前記第一デコーディングスレッドが一次元バーコードシンボルを対象とし、そして、前記第二デコーディングスレッドが二次元シンボルを対象としていることを特徴とする請求項8に記載の方法。
【請求項14】
前記第一デコーディングスレッドが第一のタイプの二次元コードを対象とし、そして、前記第二デコーディングスレッドが第二のタイプの二次元コードを対象としていることを特徴とする請求項8に記載の方法。
【請求項15】
前記第一デコーディングスレッドと前記第二デコーディングスレッドが、類似のシンボルタイプを対象としていることを特徴とする請求項8に記載の方法。
【請求項16】
エンコードされたシンボルの複数の画像を収集するステップと、
複数の画像の中の1枚に印されたエンコードされたシンボルを、複数のデコーディングスレッドを用いて非同期かつ同時にデコードするステップと、
前記複数のデコーディングスレッドの1つがデコードに成功した場合に、結果を報告するステップと、を有するエンコードされたシンボルを読み取るための方法であって、
前記複数のデコーディングスレッドのそれぞれが、プロセス資源の割り当てと、デコーディング経過時間がタイムアウト時間を超えた場合にデコードが不成功であったとするタイムアウト変数とを有していることを特徴とするエンコードされたシンボルを読み取るための方法。
【請求項17】
前記エンコードされたシンボルをデコードするステップが、前記複数のデコーディングスレッドのいずれか1つによって、複数の画像のうち他の画像を用いた他の複数のデコーディングスレッドのうちの1つと非同期かつ同時に繰り返されることを特徴とする請求項16に記載の方法。
【請求項18】
前記複数のデコーディングスレッドのうちの1つが一次元バーコードシンボルを対象とし、そして、前記複数のデコーディングスレッドのうちの別の1つが二次元シンボルを対象としていることを特徴とする請求項17に記載の方法。
【請求項19】
前記複数のデコーディングスレッドのうちの1つが第一のタイプの二次元コードを対象とし、そして、前記複数のデコーディングスレッドのうちの別の1つが第二のタイプの二次元コードを対象としていることを特徴とする請求項17に記載の方法。
【請求項20】
前記複数のデコーディングスレッドのうちの二つが類似のシンボルタイプを対象としていることを特徴とする請求項17に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公表番号】特表2009−544105(P2009−544105A)
【公表日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2009−520940(P2009−520940)
【出願日】平成19年7月16日(2007.7.16)
【国際出願番号】PCT/US2007/073575
【国際公開番号】WO2008/011360
【国際公開日】平成20年1月24日(2008.1.24)
【出願人】(500576452)コグネックス・テクノロジー・アンド・インベストメント・コーポレーション (14)
【Fターム(参考)】