本発明は、目標の鋭い歪んでいない像を獲得するためのイメージリーダー、および対応する方法を特徴づける。1つの実施形態において、該イメージリーダーは、すべて互いに電気的に通信する、2次元CMOSベースイメージセンサアレイ、タイミングモジュール、照明モジュール、および制御モジュールよりなる。該照明モジュールは、反射された光が、該イメージセンサアレイにより集められて処理されるように、1次元、または2次元バーコードのようなシンボロジーのような目標上に、光を照射する。その間に目標が照明される時間は、照明期間といわれる。イメージセンサアレイによるイメージの捕獲は、1つの実施形態においては、アレイ内のすべての、または実質的すべてのピクセルを同時に露出させることのできるタイミングモジュールにより駆動される。センサアレイでのピクセルの同時の露出は、イメージリーダーをしてひずみのない像を獲得することを可能とする。ピクセルが集合的に活性化されて、入射光を電荷に光変換する時間は、センサアレイのための露出期間を定義する。該露出期間の終わりに、集められた電荷は、データが読み出されるまで、シールドされたストレージ領域に転送される。1つの実施形態において、露出期間、および照明期間は、制御モジュールの制御の下にある。1つのそのような実施形態において、該制御モジュールは、少なくとも露出期間の一部を、照明期間内に起こらせる。照明期間、あるいは低い雰囲気照明の環境における露出期間、あるいは高い雰囲気照明の環境における露出期間を十分に短くすることにより、本発明のイメージリーダーは、実質的にかすみのない像を、獲得することが可能である。
図1Aを参照して、本発明に従って構成された一般イメージリーダー100のブロック図が、示される。該一般イメージリーダーは、以下のものの1つ、またはそれ以上を含む:照明モジュール104、イメージ収集モジュール108、制御モジュール112、メモリモジュール116、I/Oモジュール120、 作動モジュール124、ユーザフィードバックモジュール128、ディスプレイモジュール132、ユーザインタフェースモジュール134、無線周波数識別(RFID)モジュール136、スマートカードモジュール140、磁気ストライプカードモジュール144、デコーダモジュール150、自動識別モジュール152、および/または、1またはそれ以上のパワーモジュール168、およびレンズドライバモジュール165。種々の実施形態において、該モジュールのおのおのは、他のモジュールの1つ、またはそれ以上と通信する。1つの実施形態において、イメージリーダー100は、イメージセンサ内の実質的にすべてのピクセルを露出させることのできるフルフレームの電子グローバルシャッターベースのイメージセンサをもつ、バーコードイメージリーダーよりなる。1つのそのような実施形態において、イメージセンサはCMOSベースのイメージセンサである。もう1つのそのような実施形態において、イメージセンサは、CCDベースのイメージセンサである。
制御モジュール112によって転送されたイメージデータを受けるとき、データフォームデコードモジュール150(バーコードシンボルデータフォームデコードモジュールであり得る)は、1次元、または2次元バーコードのようなデータフォームの存在を示す、静穏ゾーンのようなマーカーについて、イメージデータをサーチする。もし、可能性のあるデータフォームデコードモジュールが見つかれば、該データフォームデコードモジュール150は、1つ、またはそれ以上のデータフォームデコードアルゴリズムを、イメージデータに適用する。もし、デコードの試みが成功すれば、該イメージリーダーは、デコードされたデータフォームデータをI/Oモジュール120を通して出力し、成功的な読み出しを、ユーザインタフェースモジュール134を通してビープ音のような警告でシグナリングする。
イメージリーダー100はまた、自動識別モジュール152を含むことができる。図1Bを参照して、自動識別モジュール152は、相互に通信する、データフォームデコードモジュール150、およびイメージ処理および分析モジュール1208を組み入れることができる。
本実施形態において示されるように、イメージ処理および分析モジュール1208は、相互に通信する、特徴抽出モジュール1212、一般化された分類モジュール1216、署名データ処理モジュール1218、OCRデコードモジュール1222、およびグラフィックス分析モジュール1224を含む。さらに、図1Bに見られるように、特徴抽出モジュール1212は、相互に通信する、2値化モジュール1226、ライン間引きモジュール1228、および畳み込みモジュールを、有する。
図1Cは、図1Bに示される自動識別モジュールを利用して、本発明の1実施形態を用いるプロセス1300を示す。該プロセス1300は、イメージリーダーが、作動モジュール124によって感じられるようなトリガープルのような、作動イベントを記録し(ステップ1302)、かつ、応答して、イメージリーダー100により目標からイメージデータを集める(ステップ1304)ことよりなる。イメージデータ収集ステップは、例えば、プロセス300、プロセス400(このプロセスは、2度、行われる、図13と、図23および24参照)、プロセス600、またはプロセス800に従って行われる。収集後、イメージデータはデータフォームデコードモジュール150に転送される(ステップ1308)。データフォームデコードモジュールは、1次元、または2次元バーコードのような、データフォームの存在を示す、静穏ゾーンのようなマーカーについて、イメージデータを検索する(ステップ1310)。もし、可能性のあるデータフォームが見つかれば、データフォームデコードモジュール150は、次のイメージデータに対して1またはそれ以上のデータフォームデコードアルゴリズムを適用する(ステップ1314)。もし、デコードの試みが成功すれば、イメージリーダー100は、デコードされたデータフォームデータを出力し(ステップ1318)、成功した読み出しを、ビープ音のような警告音でシグナリングする(ステップ1322)。
1つの実施形態において、もしデコードの試みが成功しなければ、イメージデータはイメージ処理および分析モジュール1208に転送される(ステップ1326)。もう1つの実施形態において、イメージデータはデータフォームデータを解読する試みと並列に処理される。1つのそのような実施形態において、最初に完了する(すなわち、データフォームデコードの試み、またはイメージ処理)プロセスは、そのデータ(例えば、解読されたバーコード、または取り込まれた署名)を出力し、他の平行したプロセスは終了せられる。さらなる実施形態において、イメージデータは データフォームの解読に応じて処理される。1つのそのような実施形態において、バーコードは、出荷ラベルナンバーのような項目情報、および署名が獲得されたことを示す情報をコード化する。
イメージ処理および分析モジュール1208内で、イメージデータは特徴抽出モジュール1212によって処理される。一般に、特徴抽出モジュールは、イメージデータのテクスチャを示す数的な出力を生成する。上記に示されるように、イメージデータのテクスチャは、イメージデータに含まれるデータのタイプの特徴に関係する。共通のタイプのテクスチャは、1次元または2次元バーコードテクスチャ、署名テクスチャ、グラフィックステクスチャ、タイプされたテキストテクスチャ、手書きテキストテクスチャ、図面またはイメージテクスチャ、写真テクスチャ、等を含む。テクスチャの任意のカテゴリーの中で、テクスチャのサブカテゴリーを、ときどき識別することができる。
特徴抽出モジュール1212によるイメージデータの処理の一部として、イメージデータは2値化モジュール1226により処理される(ステップ1328)。2値化モジュール1226は、グレーレベルイメージを、局所的閾値化および目標イメージサイズ正規化により2値イメージに2値化する。イメージデータが2値化されると、イメージデータは、ライン間引きモジュール1228により処理された(ステップ1332)、多ピクセル厚ラインセグメントを、単一ピクセル厚ラインに減少させる。2値化されたライン間引きデータをもって、イメージデータは、畳み込みモジュール1230により処理される(ステップ1336)。
一般に、畳み込みモジュール1230は、処理されたイメージデータに、本発明によって設計された1以上の検出器マップを畳み込み、イメージデータ内の種々のテクスチャ特徴を識別する。1つの実施形態において、畳み込みモジュール1230は、各畳み込まれた検出器マップについて、一対の数、平均および変分(または標準偏差)を、生成する。図17Aは、イメージデータ内に存在するカーブした要素を検出するのに使われる、12個の 2×3 2進カーブレット探知器マップのセットを示す。カーブレット探知器マップのそれぞれは、イメージデータ内に畳み込まれているので、生成される平均値および変分は、カーブレット探知器に類似の形を持っている、2値化されたラインを間引かれたイメージデータ内の要素の存在または密度を示すものを与える。それぞれのピクセルは、1対の数を生成するので、12個のカーブレット探知器マップ1250は合計24個の数を生成する。1つの実施形態によれば、これらの24個の数は、処理されたイメージデータの曲がっている、あるいは署名のテクスチャを表すものである。
イメージデータのさらなる処理は、特徴抽出モジュール1212(ステップ1340)からの出力が、一般化された分類化モジュール1216に供給されることを含む。一般化された分類化モジュール1216は、特徴抽出モジュールによって生成された数を、ニューラルネットワーク、平均自乗エラー分類器等への入力として使用する。これらのツールは、イメージデータを一般的なカテゴリーに分類するのに使われる。 ニューラルネットワークを用いた実施形態においては、異なるニューラルネットワーク構成が、異なる動作最適化および特徴を達成するために、本発明にしたがって熟考される。 ニューラルネットワークを用いる1つの実施形態においては、一般化された分類化モジュール1212は、24+12+6+1=43ノードの、フィードフォワード、後方伝播多層ニューラルネットワークを含む。 入力層24は、12個のカーブレット探知器マップ1250を用いている畳み込みモジュール1230により生成される12ペアの平均および変分出力のための、24個のノードを持つ。本実施形態のニューラルネットワークにおいては、それぞれ12ノード、および6ノードの隠れた2つの層がある。また、署名の肯定的、あるいは否定的な存在を報告するための1つの出力ノードがある。
ニューラルネットワークを用いるもう1つの実施形態においては、図17Bに示される20個のカーブレット探知器マップ1260は、畳み込みモジュール1230によって使われる。示されるように、20枚のカーブレット探知器マップ1260は、図17Aのオリジナルの12枚のカーブレット探知器マップ1250を含む。追加の8枚のマップは、署名に関する方向情報を与えるのに使われる。20個のカーブレット探知器マップ1260を用いる1つの実施形態において、一般化された分類器モジュール216は、40+40+20+9=109ノードの、フィードフォワード、後方伝播多層ニューラルネットワークである。入力層は、20個のカーブレット探知器マップ1260を使っている畳み込みモジュール1230により生成された20対の平均、および変分出力のための40個のノードを持つ。この実施形態のニューラルネットワークにおいて、それぞれ40ノードと、20ノードの2つの隠された層があり、1つの出力ノードは、署名の肯定的な、または否定的な存在を報告するものであり、8つの出力ノードは、署名の方向の度合を、報告するためのものである。8つの出力ノードは、28=256、の可能な方向状態を与える。そのゆえ、方向の角度は、1.4度の増分で、0と360の間の角度で与えられる。
いくつかの実施形態において、一般化された分類化モジュール1216は、カテゴリーの拡張された集合の中に、データを分類することができる。例えばいくつかの実施形態において、一般化された分類化モジュール1216は、イメージデータが、署名;データフォーム;手書きのテキスト;タイプされたテキスト;機械可読テキスト;OCRデータ;グラフィックス;画像;イメージ;出荷積荷目録、船積み、IDカード、などの請求書のようなフォーム;指紋、指紋のようなバイオメトリクス、顔のイメージ、網膜のスキャン、および/または他のタイプの認証標識、などのデータタイプを含むかどうかを特定する。さらなる付加的な実施形態において、一般的な分類化モジュール1216は、イメージデータがこれらのデータタイプの種々の結合を含むかどうかを明示する。いくつか実施形態において、一般的な分類化モジュール1216は、イメージデータが特定のデータタイプを含むかどうかを明示する。1つのそのような実施形態において、イメージ処理および分析モジュール1208は、イメージデータにおける、署名、またはバイオメトリックのような、特定されたデータの存在、または不存在に依存する肯定的な、または否定的な回答を出力する識別モジュール内に含まれている。
1つの実施形態において、一度、署名の存在が肯定され、その一般的な方向が決定されれば、イメージデータは、署名データ処理モジュール1218に転送される(ステップ1344)。1つの実施形態において、署名データ処理モジュール1218は、イメージデータにおける署名の境界を発見するために使われる。1つの実施形態において、署名の境界は、ヒストグラム分析を用いて検出される。図18に示されるように、ヒストグラム分析は、署名の方向に対して定義される水平、および垂直の方向に沿っての一連の1次元スライスよりなる。1つの実施形態において、各1次元スライスについての値は、該ピクセルスライスに沿っての黒(すなわち、値ゼロの)ピクセルの数に対応する。いくつかの実施形態において、もしバーコードが解読されなければ、そのときは、フルフレームのイメージデータのいくつかの特定された領域、例えば中央領域が、署名の分析のために獲得される。いったん完成されると、ヒストグラム分析は、イメージデータ内のデータ要素ピクセルの密度の2次元プロットを与える。署名の境界は、ある数の順次的なスライスについて達成されなければならない最小密度に関して決定される。1つの実施形態において、ヒストグラム分析は、ピクセル密度が前もって決定されたカットオフ閾値を上回るまで、水平、および垂直方向に沿って内方にサーチする。署名データが、不用意的に切り取られないように、低いカットオフ閾値を使うことが普通である。
1つの実施形態において、署名の境界が一度決定されると、署名データ処理モジュール1218は、イメージデータを切り取って、署名イメージデータを抽出する。1つのそのような実施形態において、切り取りは、イメージデータの署名を含まない部分が削除された修正されたイメージデータを生成するイメージ修正モジュールによってなされる。他の実施形態において、種々の圧縮技術が、署名イメージデータのためのメモリ容量を低減するために使われる。1つのそのような技術は、ランレングス符号化によるイメージデータの符号化を含む。この技術によれば、各走査ラインについての、類似した2値化された値の各ランの長さ(すなわち、1または0の各ランの長さ)は、ビットマップを再構築するための手段として記録される。もう1つの符号化技術は、署名のイメージデータを、データ構造の要素がベクトルから成っているデータ構造として取り扱う。符号化技術によれば、署名は、ベクトルの集合に分解される。各ベクトルの長さと方向と結合した各ベクトルの位置は、もともとの署名を再構築するために使われる。1つのそのような実施形態において、符号化プロセスは、連続的なピクセルランについてのカーブが、特定の値を超えるときはいつでも、新しいベクトルを生成する。さらなる圧縮技術は、Bスプラインカーブフィッティングを用いる。この技術は、カーブ、および大きさの問題を、安定に収容することのできる容量を持つ。
さまざまな実施形態において、署名のイメージデータ、または圧縮された、あるいは符号化されたバージョンの署名のイメージデータは、専用の記憶装置上に局所的にストアされる。1つのそのような実施形態において、局所的な記憶装置は、以下により詳細に記述されるコンパクトフラッシュ(登録商標)メモリカード、あるいは同種のもの等のような、着脱可能な記憶装置であり得る。もう1つの実施形態において、署名のイメージデータは、汎用メモリの揮発性、あるいは不揮発性の部分にストアされ、将来において、ダウンロードされる。さらなる実施形態において、署名のイメージデータは、有線の、または無線の手段により、データ収集セッションが完了した時のような、取り込みの時点、あるいはさらに後の時点で、転送することができる。
もう1つの実施形態において、署名データ処理モジュール218は、ヒストグラム分析を行なわないが、しかし、署名の存在が一度決定された、全イメージあるいは圧縮されたバージョンをメモリに単にストアする。処理時間を節約するさらなる実施形態において、最初のイメージ分析は、より低い解像度イメージで行なわれる。この実施形態で、一度、署名の存在が決定されると、イメージは、より高い分解能に撮像される。1つの実施形態において、署名抽出ヒストグラム分析は、このイメージに対して行われる。次に、イメージは、圧縮された、あるいはもともとのフォーマットでメモリにストアされる。いくつかの実施形態において、イメージデータは、パッケージあるいは出荷封筒のような特定のアイテムについての記録を形成するよう、他のデータと組み合わせられる。上記のように、イメージリーダー100によって集めることができ、署名データとともに、あるいはこれと離れてストアされることのできる付加的なデータのいくつかは、データフォームデータ、手書きのテキストデータ、タイプされたテキストデータ、グラフィックスデータ、イメージあるいは写真データ、等を含むが、これらに限定されない。
その動作の一部として、イメージ処理および分析モジュール1208は、異なるデータタイプのために専門化されたタスクを行なうよう設計することができる。例えば、もし一般化された分類化モジュール1216が、イメージデータがタイプされた、あるいは機械読み取り可能なテキストを含むと決定すれば、イメージデータは集められ、おそらくヒストグラム分析され、かつストアされるか、あるいは、イメージデータは、OCR解読モジュール1222に転送することができる。同様に、もし一般化された分類化モジュール1216がイメージデータが図的な要素を含むと決定すれば、イメージデータは、処理のためにグラフィックス分析モジュール1224に転送することができる。1つの実施形態において、グラフィックス分析モジュール1224は、あらかじめ定義されたグラフィックスを認識し、デコードするように設定される。1つのそのような実施形態において、グラフィックス分析は、もしあるのであれば、どのボックスが、出荷ラベル上の請求および出荷指令において選択されたかを、決定することを含むことができる。さらなる実施形態において、グラフィックス分析は、出荷ラベル上の郵便番号ボックス内に含まれるタイプされた、あるいは手書きのテキストを見つけ、解読することを含むことができる。1つの代替的な実施形態において、イメージリーダー 100は、特徴抽出モジュール1212の活性化の前に、データフォームデコードに加えて、OCR解読あるいはグラフィックス解読のような解読動作を自動的に行うように構成することができる。
もう1つの実施形態おいて、イメージ処理および分析モジュール1208はイメージデータを領域に分割して、各領域に対し、特徴抽出、および一般分類分析を行なう。図19Aに示される1つの実施形態において、標準的な矩形イメージデータウインドウは4つの同じサイズのサブ矩形に分割される。図19Bに示されたもう1つの実施形態において、該分割は、セグメントされた領域の全体のエリアが、イメージデータの完全なフィールドのエリアより大きいような、重なる領域よりなる。図8Bにおいては、各特定する数が、その領域の真ん中に示された7つの重なる領域がある。図19Cおよび19Dに示されたさらなる実施形態においては、分割は、イメージデータの完全なフィールド内の、(クロスハッチングされた)サンプル領域よりなる。もう1つの実施形態において、サンプル領域は、例えば、出荷ラベルにおける、署名領域および/またはバーコード領域のような、例えば問題の領域を識別する、事前ロードされたユーザテンプレートに基づくことができる。
1つの実施形態において、分割プロセスは、バーコードデータフォーム 、テキスト、グラフィックス、イメージ、などを含む データフォーム のような追加の要素を含む、イメージデータにおける署名の位置を識別するために使われる。1つのそのような実施形態において、一般化された分類化モジュール1216は、セグメントされたイメージデータの各領域の内容を分類する。署名を含む領域は、そののち、署名データ処理モジュール1218によって抽出される。1つの実施形態において、もし多数の領域が、署名データを含むものと示されれば、署名データ処理モジュール1218は、これらの領域の配列を、イメージデータを最も含んでいる可能性のある領域を識別するよう分析する。さらなる実施形態において、多数の領域が、署名データを含むものと示されれば、イメージ処理および分析モジュールは、署名データを含んでいる一つのセグメントされた地域が見つかるまで、追加のセグメントされた領域が生成され、解析されるフィードバックループを打ち立てる。
イメージリーダー100によって実行され得る追加的なイメージ処理動作は、米国特許出願第10/958,779号、2004年10月5日出願、名称"System And Method To Automatically Discriminate Between A Signature And A Barcode"、に記述されており、その全体が、参照によってここに組み入れられる。
図1Aと図5Aに示されたイメージリーダー100の追加的要素を参照して、照明モジュール104は、光源160、照明制御モジュール164、照明電力モジュール168a、およびインタフェースモジュール172を含むことができる。さまざまな実施形態において、光源160は、660ナノメートルの照明LED、赤外線LED、紫外線LED、のような白の、またはカラーLED、レーザー、ハロゲンライト、アークランプ、または、蛍光灯であって、イメージリーダーの電力制限、およびイメージセンサの露出/感度要件を与えられて、十分な強度の光を生成することのできるものを含むことができる。多くの実施形態において、LEDが、それらの効率的な動作は比較的低い電力消費を可能にするので、光源として選ばれる。照明制御モジュール164は、照明モジュール104の動作を制御し、タイミングおよび光源活性化および非活性化回路網を含むことができる。照明電力モジュール168aは、光源160を駆動するのに必要なエネルギーを供給し、バッテリー、コンデンサー、インダクター、変圧器、半導体、集積回路などを含むことができる。代わりの実施形態において、照明電力モジュール168aの要素のいくつか、あるいはすべては、照明モジュールの外側に置かれている。単一共通電源を持つイメージリーダー100は、1つのそのような実施形態である。インタフェースモジュール172は、動作を同期させる必要のあるもののような、イメージリーダーの他のモジュールと通信するよう用いられる。これは、例えば、上記した照明、および露出期間との調整を含むことができる。
図33-36の物理的な形式ビューを参照して、本発明の1実施形態による照明モジュール104、およびイメージ収集モジュール108の種々の要素が示され、記述される。図15A-15Cの実施形態に示されるように、本発明のイメージリーダー100は、撮像モジュール1802のような撮像モジュールを含み得る。図33-35に示されるような撮像モジュール1802は、ここで参照されたIT4000撮像モジュールのある特徴および追加的な特徴を含む。撮像モジュール1802は、光源160a、160bを載せている第1の回路基板1804を含み、一方、第2の回路基板1806は、光源160c、160d、160e、160f、160g、160h、160i、160j、160k、160l、160m、160n、160o、160p、160q、160r、160s、および160t(以下、160cから160tと称す)を載せている。第1の回路基板1804はまた、イメージセンサアレイ182を載せている。撮像モジュール1802はまた、レンズホルダー1814を含むサポートアセンブリ1810を含み、該レンズホルダー2は、撮像レンズ212を載せているサポートアセンプリ1810を含む。光源160a、160bは照準照明光源であり、光源160c~160tは照明光源である。図36を参照して、照明光源160c~160tは、バーコードシンボル1835のような解読可能な指標を運ぶ2次元照明パターン1830を其板s上に投射し、一方、照準照明光源160a、160bは、照準パターン1838を投射する。図33-36に関連して記述された実施形態において、照準照明光源160a、160bからの光は、スリット1840を、基板s上に撮像し、図33-36の実施形態ではラインパターン1838である照準パターン1838を形成するレンズ1842と結合して、スリット開口1840により整形される。照明パターン1830は、ボックス1850により指定されるイメージリーダーのフルフレームのビューに実質的に対応する。照準パターン1838は、イメージリーダー100の視野の中心を横切って水平に伸びるラインの形をしている。照明パターン1830は、照明光源160c~160tのすべてが同時に動作したとき、投射することができる。照明パターン1830はまた、光源160c~160tのサブセットが同時にエネルギー供給されるとき、投射することができる。照明パターン1830はまた、LED 160s あるいはLED160tのように、光源160c~160tの1つのみがエネルギー供給されるとき、投射することができる。撮像モジュール1802のLED160sおよび160tは、LED160c~160tより、より広い投射角度をもつ。
図5Bに示されるように、1つの実施形態におけるイメージ収集モジュール108は、すべてお互いと電気的に通信する、光学モジュール178、センサアレイモジュール182、およびセンサアレイ制御モジュール186を含む。光学モジュール178は、反射された放射を指向させ、焦点合わせをする撮像レンズ、または、他の光学要素を含む。いくつかの実施形態においては、光学モジュール178は、例えば、目標が撮像されるための適切な焦点を自動的に決定する部分として、関連する回路網、および処理容量を含む。
センサアレイ制御モジュール186は、グローバル電子シャッター制御モジュール190、行および列アドレスおよびデコードモジュール198、および、読み出しモジュール194を含み、その各モジュールは、センサアレイ制御モジュール186における1つまたはそれ以上の他のモジュールと、電気的に通信する。1つの実施形態において、センサアレイモジュール182は、2次元CMOSベースイメージセンサアレイ182において、図4Aに示されるようなICチップ1082の要素を含む。さまざまな実施形態において、アナログデジタルコンバータ、などのような関連する回路網は、イメージセンサアレイから別れており、あるいはイメージセンサアレイと同じチップの上に集積されている。代わりの実施形態において、センサアレイモジュール182は、同時の露出、およびフルフレームのイメージデータの蓄積が可能なCCDセンサアレイを含むことができる。1つの実施形態において上に示されたように、グローバル電子シャッター制御モジュール190は、イメージセンサアレイにおけるすべての、あるいは実質的にすべてのピクセルを、グローバルに、かつ同時に露出させることができる。1つの実施形態において、グローバル電子シャッター制御モジュール190は、タイミングモジュールを含む。行、および列のアドレスおよびデコードモジュールは、収集起動、電子シャッターデータ蓄積およびデータ読み出しのような種々の動作のために、特定のピクセルを選択するのに用いる。読み出しモジュール198は、センサアレイからのデータの読み出しを組織化し処理する。いくつか実施形態において、センサアレイ制御モジュール186はさらに、イメージセンサアレイにおけるラインのピクセル順に露出させ、読み出すことのできる回転式シャッター制御モジュール202を含む。
イメージリーダー100の特定の実施形態は、図4Aを参照して記述される。図4Aの実施形態において、ピクセル250の2次元アレイを持つイメージセンサアレイ182、182aは、CMOS集積回路(IC)チップ1082、1082a上に組み込まれている。図8Aを参照して後に記述されるように、イメージセンサアレイ182aは、グローバルシャッター動作モードで動作するよう適合されたCMOS イメージセンサアレイである。CMOSイメージセンサアレイ182aの各ピクセル250は、オンチップピクセルアンプ254(図8Aに示される)、およびオンチップの光学的にシールドされた蓄積領域286(図8Bおよび図8Cに示される)を持つ。イメージセンサアレイ182aはまた、ピクセル250と電気的に通信する、図8Aに示される電気的相互接続体262の2次元グリッドを持つ。イメージセンサアレイ182aはまた、オンチップ行回路網296、および列回路網270を持ち得る。行回路網296、および列回路網270は、ピクセルのアドレシング、信号のデコード、信号の増幅、アナログ-デジタル変換、タイミングの印加、信号の読み出しおよびリセット等、の1つまたはそれ以上の種々の処理、および動作タスクを可能とする。CMOSイメージセンサICチップ182aのさらなる側面に言及して、CMOSイメージセンサICチップ182aは、ピクセル250と同じチップ上に、行電気回路網296、列電気回路網270、ピクセルアンプ255を含む処理および制御回路網254、光学的にシールドされた蓄積領域258、相互接続262、ゲイン回路1084、アナログデジタル変換回路1086、およびラインドライブ回路1090を含み、これは、アレイの各ピクセル上に入射する光を示す多数ビット(例えば、8ビット~10ビット)信号を生成し、その出力はチップ1082aの1セットの出力ピン上に現れる。イメージセンサ IC チップ1082aの追加的なオンチップ要素に言及して、CMOSイメージセンサICチップ1082aは、バイアス回路、クロック/タイミング生成回路、および発振器のような回路を含み得るタイミング/制御回路1092を含む。
図4Aのイメージリーダー100のさらなる側面に言及して、イメージリーダー100は、メインプロセッサICチップ548、メモリモジュール116、照明モジュール104、および作動モジュール124を含む。メインプロセッサICチップ548は、集積化されたフレーム取込み回路549、および中央処理装置(CPU)552を持つ多機能ICチップであり得る。集積化されたフレーム取込み器を持つプロセッサICチップ548は、例えば、インテルから入手可能な「クイックキャプチャカメラインタフェース」を持つ、 XSCALE PXA27XプロセッサICチップであり得る。イメージリーダー100はさらに、バーコードでコードプロセスを開始するトリガー信号を生成する作動モジュール124を含む。作動モジュール124は、マニュアルで駆動されるトリガー216を含み得る。イメージリーダー100はさらに、撮像レンズ212、および、RAM、EPROM、フラッシュメモリのような記憶装置を含むメモリモジュール116を含む。メモリモジュール116は、システムバス584を介してプロセッサICチップ548と通信する。プロセッサICチップ548は、図1Aを参照して述べたモジュール104、108、112、120、124、128、132、134、136、140、144、150、152、168、165について、要求される種々の機能を実行するようプログラムされ、そうでなければ、そのように構成することができる。図4Aの実施形態において、データフォームデコードモジュール150、および自動識別モジュール152の機能は、メモリモジュール116にストアされた特定のソフトウェアにしたがって動作するプロセッサICチップ548により実行することができる。プロセッサICチップ548と、メモリモジュール116との組み合わせは、それゆえ、図4Aの実施形態では、150、152とラベルされている。
図4Bを参照して、CCDイメージセンサチップ1082、1082bを持つイメージリーダー100の実施形態が示されている。CCDイメージセンサICチップ1082bは、チップ1082b上に組み込まれたピクセルの領域アレイ250、レジスタ1094、および出力増幅器1096を含む。出力レジスタ1094、および関連づけられた回路網は、順次、各ピクセルに関連する電荷を電圧に変換し、ピクセルイメージ信号を、チップ1082bの外にある要素に送る。イメージデータを読み出すよう活性化されるとき、行のピクセル250上にある電荷は順に出力レジスタ1094に転送される。出力レジスタ1094は、ピクセル電荷を電圧に変換し、信号をイメージ処理回路網1070に供給する増幅器1096に順に電荷を供給する。電荷がピクセルの第1行から出力レジスタ1094に転送されたとき、次の行からの電荷は1行下に移動し、第1行の電荷が電圧に変換されたときに、出力レジスタ1094が第2の行のピクセルからの電荷を受けるようにする。プロセスは、イメージセンサアレイ182bのすべての行からのピクセルに対応するイメージデータが読み出されるまで継続する。イメージリーダー100はさらに、チップ1082bの外にあるイメージ信号処理回路1070を含む。イメージ信号処理回路1107は、ゲイン回路1072、アナログデジタルコンバータ1074、および、ラインドライバ1076のような要素を含む。回路1070のタイミングおよび制御回路1078は、バイアス生成器、発振器、クロックおよびタイミングジェネレーターのような要素を含み得る。ゲイン回路1072はまた、相関関係のあるダブルサンプリングのような付加的な機能性を含めて、ピクセルオフセット、およびノイズの効果を低減するようにすることができる。イメージリーダー100の追加の要素は、図4Aに示される。 イメージ信号処理回路1070は、イメージセンサICチップ1082bの外にある集積回路チップ(IC チップ)に含められることができる。
1つの実施形態において、イメージ収集モジュール108、および照明モジュール104の要素は、本発明にしたがって構成された、700 Visions Drive, P.O. Box 208, Skaneateles Falls, NY の、ハンドヘルドプロダクトインコーポレーティッドより入手可能な、4000 OEM 2D Image Engineのような、IMAGETEAM(商標)エリア(2D)イメージングエンジンの任意の1つにより与えられる。
図6を参照して、本発明の1実施形態によるハンドヘルドリーダー100aが示される。ハンドヘルドイメージリーダー100aは、ハウジング208、複数の光源160、レンズ212、トリガー216、およびインタフェースケーブル200を含む。種々の実施形態において、イメージリーダー100aの機能性は、ハンドヘルドプロダクトインコーポレーティッドより入手可能であり、本発明にしたがって構成された、モデル4410、4600、あるいは4800のようなエリア(2D)IMAGETEAM(商標)イメージリーダーの任意の1つによって提供することができる。図1Aに関連して記述されたすべてのモジュール104、108、112、116、120、124、128、132、134、136、140、144、150、152、165、および168は、ハンドヘルドハウジング208、または図15Aに示された代わりのハウジング506により、ハウジング208、またはハウジング506が種々のモジュールを収容し支持するように、支持されることができる。同様に、図4A、4B、および図16で示されたすべての要素は、ハウジング208またはハウジング506が種々のモジュールを収容し支持するように、ハウジング208またはハウジング506により、組み入れられ支持されることができる。レンズ212は、ガラスおよび/またはポリカーボネートよりなり得る。レンズ212は、レンズ単体であってもよく、あるいは、複数のレンズ要素からなってもよい、すなわち、レンズ212は、2重レンズであってもよく、レンズトリプレットであってもよい。
図7を参照して、イメージリーダー100のための模式図と結合した図表的断面図が示される。イメージリーダー100は、すべてお互いとの電気的に通信する、光源160、照明制御モジュール164、電力モジュール168b、およびインタフェースモジュール172を含む。光源160は、光エネルギー162を、シンボロジー170を含む目標166に向かわせる。目標166からの反射された放射174は、センサアレイ制御モジュール186、および電力モジュール168bと電気的に通信するイメージセンサアレイ182上にレンズ212により焦点合わせされる。1つの実施形態において、イメージセンサアレイ182は、CMOSベースイメージセンサアレイである。もう1つの実施形態において、イメージセンサアレイ182は、CCDベースイメージセンサアレイである。センサアレイ制御モジュール186は、さらに、電力モジュール168bおよびインタフェースモジュール172と電気的に通信する、メモリモジュール116および制御モジュール112と電気的に通信する。しばしば光学窓(図示されず)は、ユニットへの損害の可能性を減らすためにスキャナーの正面上に置かれる。
図8Aを参照して、CMOSベースイメージセンサアレイ182aの一部の図がより詳細に示される。イメージセンサアレイ182aは、2次元アレイのピクセル250を含む。各ピクセルは、光感受性領域252、アンプ255を含む処理および制御回路網254、およびシールドされた貯蔵エリア258(表示の明確性のために、参考数字252、254、255、および258が、単一ピクセルについてのみ与えられる)を含む。アンプ255の存在は、CMOSイメージアレイ182aがアクティブなピクセルアレイであると考慮されることを意味する;すなわち、CMOSイメージアレイ182aの各ピクセルは、入射光エネルギーの光変換から生成される信号を増幅することができる。電荷-電圧変換回路網は、CMOSイメージアレイ182aをして、集められた電荷を出力信号に変換することを許す。シールドされた貯蔵エリア258は、集められたピクセル値を、CMOSイメージアレイ182aに、射突する付加的な入射放射が、定義された露出期間の間に読み出された値を壊さないよう、読み出しまで蓄える。ピクセルアンプ255に加えて、各ピクセル250用の処理および制御回路網254は、他の要素のなかでも、リセットおよび選択トランジスタを含む。
1つの実施形態において、CMOSベースイメージセンサアレイ182aのダイナミックレンジは、処理および制御回路網254において追加的な知性を提供することにより拡張することができる。特に、処理回路網は、入射する放射入力強度と、出力電圧との間の変換要因をダイナミックに変更する能力を含むよう構成することができる。すなわち、処理回路網は多数のスロープを持つ転送カーブを用いる。その多数のスロープを持つ転送カーブの特定の形態は、ひざ位置で結合された一連の線形関係、より高い強度での対数変換カーブに接続されたより低い強度での線形セクション、あるいは、低い強度のためのより急なスロープ、およびより大きい強度でのより高いスロープを持つ任意の形状の完全に連続的なカーブを含む種々の形態をとることができる。
多数スロープの実施形態において、CMOSベースイメージセンサ182aのダイナミックレンジは、各個々のピクセルが、それに入射する放射の強度に依存して、変換カーブの異なる部分を用いて独立に制御することができるので、実質的に拡張することができる。動作において、より少ない入射する放射を受けているCMOSベースイメージセンサ182aの領域は、より大きい感度に対応するより急なスロープを用いるのに対し、より多くの入射する放射を受けている領域は、より小さい感度に対応するより緩やかなスロープを用いる。多数スロープ変換関数をもって、CMOSベースイメージセンサ182aは、65-120デシベルのダイナミックレンジを達成することができる。さらに多くのスロープをもつイメージセンサの動作は、FillFactory NV、Schalienhoevedreef 20B、B-2800 Mechelen、ベルギー、からの、タイトル“Dual Slope Dynamic Range Expansion”の技術文書において、より詳細に記述されている。この文書は、例えば、http://www.fillfactory.com/htm/technology/htm/dual-slope.htmで、FillFactory(www.fillfactory.com)から入手可能であり、これは、その全体がここに組み入れられる。さらに、対数のスロープを持つ変換カーブを持つイメージセンサの動作は、Photonfocus AG、Bahnhofplatz 10、CH-8853 Lachen、スイス、からの、タイトル“LinLog Technology”の技術文書において、さらに詳細に記述されている。この文書は、例えば、http://www.photonfocus.com/html/eng/cmos/linlog.phpで、Photonfocus(www.photonfocus.com)から利用可能であり、その全体がここに組み入れられる。
図8Aにおいて、ピクセル250上に置かれているのは、ピクセル250、行回路網296(図4Aをも参照)、および列回路網270と電気的に通信する2次元グリッド電気的相互接続体262である。行回路網296、および列回路網270は、ピクセルをアドレスする、信号を解読する、信号を増幅する、アナログ-デジタル変換、および、タイミング、読み出し、リセット信号を印加する等、の1つ以上の処理、および動作タスクを可能にする。オンチップの行回路網296および列回路網270をもって、CMOSベースイメージセンサアレイ182aは、XY座標システムにおける個々のピクセルから、選択的にアドレスを行い、データを読み出すよう動作することができる。CMOSベースイメージセンサアレイ182aはまた、イメージリーダー100の適切なプログラミングの方法によって、フルフレームのピクセルの一部を選択的にアドレスし読み出すよう動作することができる。例えば、これらの実施形態において、読み出されたピクセルの部分は、所望のピクセル領域の外側の望まれないピクセルを除外することができる。読み出されたピクセルの部分は、問題の領域における個別のピクセル、行のピクセル、あるいは列のピクセルが、読み出されないように、ある領域におけるサンプリングを表すことができる。リーダー100がイメージセンサアレイ182のすべてのピクセルより少ないピクセルから、選択的にイメージデータをアドレスし、読み出すウインドウ表示のフレームの動作モードで動作するイメージリーダー100のさらなる詳細は、図28A、28B、および28Cと関連して記述される。一般に、イメージリーダー100は、CMOSベースイメージセンサアレイ182aから、アレイ内の第1の複数のピクセルからイメージデータを選択的にアドレスし、読み出すことを、アレイ内の第2の複数のピクセルをアドレスし読み出すこととは独立に行うようプログラムされ、あるいは構成することができる。
1つの実施形態において、ピクセルアーキテクチャは、イーストマンコダック社に譲渡された、“Color Active Pixel Sensor with Electronic Shuttering, Anti-blooming and Low Cross-talk”という名称の、米国特許第5,986,297号で記述されるようなものでよい。特に、カラム3、35-55行、かつカラム5、25-55行で、該特許は、該特許の図1Aおよび2A(ここで、図8Bおよび8Cとして再現している)に示された、ピクセルアーキテクチャの適切な領域の断面を記述している。該開示は、図8Bのピクセルが、垂直オーバーフロードレイン274、転送ゲート276、浮遊拡散280、リセットゲート282、リセットドレイン284、および光シールド286を持つことを述べている。光シールド開口288、カラーフィルタ290、およびマイクロレンズ292は、光がカラーフィルタ290を通過した後にマイクロレンズ292を通って光シールド開口288内に焦点合せされるよう光検出器上に置かれる。それゆえ、光が入力する光検出器270は、カラーフィルタ290によって決定される所定のバンド幅内の波長をもつ。該特許は、図8Cを、2つの転送ゲート294、296、および蓄積領域298があることを除いて、図8Bに示された実施形態と多くの点で類似している第2のピクセルアーキテクチャを示すものとして記述している。両ケースにおいて、光シールドは、光検出器(この場合、フォトダイオード270)を除くすべての領域を、入力光がフォトダイオード領域上のみに落ちるように、不透明層、またはオーバーラップ層で有効にカバーするように構成されている。光電子の生成を光検出器領域のみに限定する開口を、光シールド内に設けることは、ピクセル間のクロストークを抑圧する。図8Cにおいて、浮遊拡散は281とラベルされており、リセットゲートは283とラベルされており、リセットドレインは285とラベルされている。米国特許第5,986,297号において記述されたピクセルアーキテクチャを用いるいくつかの実施形態において、カラーフィルタ290は省略することができ、他の実施形態において、マイクロレンズ292は省略することができる。
イメージリーダー100で目標からのイメージデータを集めるプロセス300が、図9、10A、10B、10C、および10Dに関して提示される。さまざまな実施形態において、目標は、1次元または2次元バーコードのようなシンボロジーを含むことができる。ステップ302で、作動モジュール124は、トリガー216が押下されるのに応答して、あるいはイメージリーダー100の視野内での目標の存在を検知したのに応答して、プロセス300を開始する。1つの実施形態において、プロセス300にしたがって、制御モジュール112は、トリガー216が押下される、あるいは目標が検知されるのを受け、これに応答して、種々のモジュール、例えば、照明モジュール104、およびイメージ収集モジュール108に、一連の制御信号を与えることができる。該プロセス300は、目標を照明光162で照らすよう、照明源を活性化する(ステップ304)ことを含む。1つの実施形態において、照明源の活性化は照明制御タイミングパルス350に応答して起こる。活性化された照明源による目標の照明は、照明制御タイミングパルス350の期間の間起こる。1つの実施形態において、照明源は、光源160であり、照明制御タイミングパルス350は、照明モジュール104内の照明制御モジュール164によって生成される。プロセス300はまた、グローバル電子シャッターを作動させて、イメージセンサアレイにおける複数の行の複数のピクセルを、(ステップ312で)同時に露出させ、入射する放射を電気エネルギーに変換することを含む。複数のピクセルの同時の起動は、露出制御タイミングパルス354に応答して起こる。1つの実施形態において、複数のピクセルの同時の起動は、露出制御タイミングパルス354のスタート位置360に応答して起こる。さらなる実施形態において、露出制御タイミングパルス354は、センサアレイ制御モジュール186のグローバル電子シャッター制御モジュール190(図5B)によって生成される。
変換イメージひずみを最小にする、目標のイメージを収集する1つの実施形態において、目標は、LED等の光源を過度に駆動し、標準動作より何倍も明るい照明を生成することにより、照明される。図33-35に示されるように、イメージリーダー100が撮像モジュール1802を含む本発明の実施形態を参照して、LED160c~160t(すなわち、 160c、160d、160e、160f、160g、160h、160i、160j、160k、160l、160m、160n、160o、160p、160q、160r、160s、および160t)は、おのおの40mA(100%LED電流)の推薦最大DC動作電流引き出しレートを持つが、しかし、照明タイミングパルス350、または、ここで述べたパルス350',350'',350'''の任意の1つの期間の間にわたって、例えば、60mA(150%電流)または80mA(200%電流)より多くの電流を引き出すよう過度に駆動することができる。40mAの標準推薦最大DC動作電流引き出しレートを持つLED160cから160tは、例えば、タイミングパルス350、または、ここで述べたパルス350',350'',350'''の任意のものの持続期間の間を通して、例えば、120mA(300% 電流)、160mA(400% 電流)、200mA(500%電流)、または500mA(1,250% 電流)より多い電流を引き出すことができる。照明タイミングパルス350,350',350'',350'''は、DC駆動電流パルスとして示される。しかしながら、図10E示されるような本発明によれば、パルス350,350',350'',350'''はまた、LED160を駆動するための、一連の短い持続期間の個々のパルスよりなるよう、パルス変調された、あるいは「ストローブされた」パルスであってもよい。DC駆動電流の代わりに、パルス化された駆動信号を用いることは、LEDのデューティ期間を、従ってこれによりLEDで消費される電力を減少させる。多くの場合に、LED動作寿命は、LEDダイの最大接合温度により決定されるため、低減された電力消費は接合温度を低減する。総合の効果は、LEDダイの最大動作接合温度限界を超えないで、より高いピーク電流に耐えられることである。一般に、LED160のデューティサイクルを低減することは、LEDを通して安全に駆動することのできる電流量を増大させる。ストローブ化された、あるいはパルス化された照明制御パルスのストローブするレートは、ここで記述されるように、例えば1,000Hzから10,000Hzであろう。この実施形態によれば、電子的グローバルシャッターと結合した、過度に駆動される照明源は、短い露出期間を可能にする。すなわち、明るい照明は、各ピクセルのための短い積分時間を可能とし、グローバル電子シャッターは、イメージセンサ内のすべてのピクセルが同時に感受性のあるものとすることを可能にする。明るく照明された目標のための短い露出期間により、本発明のイメージリーダーは、目標がイメージリーダーに対して移動しているときでさえ、鋭いひずみのないイメージを集めることを可能とする。1つの実施形態において、露出期間は3.7ミリ秒以下である。光源が過度に駆動される1つの実施形態において、異なる色を持つ光源が用いられる。例えば、そのような1つの実施形態において、イメージリーダーは、白および赤LED、赤および緑LED、白、赤、および緑LED、またはイメージリーダーによって最も共通に撮像されるシンボルの色に応答して選択される何らかの他の結合を含む。この実施形態において、異なる色のLEDは、全体の電力予算にしたがったレベルで、各々交互にパルス駆動される。もう1つのそのような実施形態において、2つの色のついたLEDは、各時間にパルス駆動されるが、しかし、各々はより低い電力レベルでパルス駆動され、全体的な電力予算は再び維持される。さらなる実施形態において、赤、緑、および青のLEDは、白色光を放射するようインタリーブされる。
イメージリーダー100の撮像モジュール1802の種々の実施形態は、図37を参照して記述される。撮像モジュール1802のLED160は、図37のチャートに示されるように、バンクに分割されている。イメージリーダー100は、各バンクのLEDがある放射波長バンドの光を放射するように構成することができる。図37のチャートに描かれた実施形態において、イメージリーダー100は、照準LED160a、160bが緑の光を出射し、すべての照明LED160c~160tが赤の光を出射するよう構成することができる。追加的な実施形態が、図37のチャートで記述される。イメージリーダー100は、種々のバンクのための光源が、照明タイミング制御パルス350、350'、350''、350'''により同時に(例えば、バンク1、バンク2、バンク3、バンク4が、同時に)エネルギー供給される、あるいは順に(例えば、バンク1、そののちバンク2、そののちバンク3、そののちバンク4が)エネルギー供給されるよう構成することができる。
再び図9、10A、10B、10C、および10Dを参照して、プロセス300はまた、(ステップ316で)光電変換で生成された電荷を処理し、イメージデータを生成することを含む。上で議論されたように、該処理は、入力する放射から生成されたデータを増幅することを含むことができる。該処理はさらに、生成されたイメージデータ値を、複数のピクセルの各々のシールドされた部分内にストアすることを含む。該プロセス300はさらに、複数のピクセルからストアされたイメージデータを、読み出し、処理する(ステップ320)ことを含む。上で議論されたように、該処理は、入射する放射から生成されたデータを増幅し、生成されたデータを、デジタル信号に変換することを含むことができる。該処理(ステップ320)はまた、イメージデータのフレームとしてのイメージセンサアレイモジュール182の複数のピクセル上に入射する光に対応する1セットのデジタル信号値を、フレームのイメージデータとして含むことができる。イメージリーダー100は、ステップ320で、各ピクセル値が複数のピクセルの1つに入射する光を表す、複数のNビット(グレースケール)ピクセル値を含むフレームのイメージデータを、メモリモジュール116内にストアすることができる。1つの実施形態において、複数のピクセルの読み出しは、センサアレイ制御モジュール186の読み出しモジュール198により生成される読み出しタイミング制御パルス368により制御される。1つの実施形態において、読み出しタイミング制御パルス368は、複数のピクセルの各々に送信される複数のパルスを含む。1つの実施形態において、照明制御タイミングパルス350の少なくとも一部は、露出制御タイミングパルス354の間に起こる。1つのそのような実施形態において、グローバル電子シャッター制御モジュール190をもつセンサアレイ制御モジュール186を含むイメージ収集モジュール104の動作は、制御モジュール164により、照明制御モジュール164を含む照明モジュール104の動作と調整されて、照明350、および露出354制御タイミング信号におけるオーバーラップを達成する。
図10Aに示される1つの実施形態において、露出制御タイミングパルス354は、照明制御タイミングパルス350の後に始まり、その前に終わる。制御タイミングパルス368は、照明制御タイミングパルス350の終わりに始まる。図10Bに示されるもう1つの実施形態において、照明制御タイミングパルス350'は、露出制御タイミング354'の後に始まり、その前に終わる。この実施形態において、読み出し制御タイミングパルス368'は、露出制御タイミングパルス354'の終わりに始まる。さらなる実施形態において、露出制御タイミングパルス、および照明制御タイミングパルスは、連続的に起こるが、お互いに重なる。図10Cに示される1つのそのような実施形態において、この連続的な動作は、照明制御タイミングパルス350''が始まり、露出制御タイミングパルス354''が始まり、照明制御タイミングパルス350''が終わり、次に露出制御タイミングパルス354''が終わるのを含むことができる。この実施形態において、読み出し制御タイミングパルス368''は、露出制御タイミング354''の終わりに始まる。図10Dに示されるさらなるそのような実施形態において、連続的な動作は、露出制御タイミングパルス354'''が始まり、照明制御タイミングパルス350'''が始まり、露出制御タイミングパルス354'''が終わり、次に照明制御タイミング350'''が終わるのを含むことができる。この実施形態において、読み出し制御タイミングパルス368'''は、照明制御タイミング信号パルス350'''の終わりに始まる。図10Eに関連して議論したように、ここで述べた各照明制御タイミングパルス350,350',350'',350'''は、複数の短い持続期間の個々のパルスよりなり得る。
再び撮像モジュール1802を参照して、撮像モジュール1802を持つイメージリーダー100は、照準LED 160a、160b が、露出制御タイミングパルス354,354',354'',354'''の間にオフ、またはエネルギー供給をされない状態になり、LED160a、160bからの光が、集められて、デコードモジュール150または自己識別モジュール152に転送されたイメージに影響を与えないような動作モードを持つことができる。もう1つの実施形態において、照明LED160c~160tに加えて、照準照明LED160a、160bは、露出制御タイミングパルス354,354',354'',354'''の間に、エネルギー供給させるよう制御される。照準照明LED160c~160tを、露出制御タイミングパルス354,354',354'',354'''の間にエネルギー供給されるよう制御することは、その上に、照準パターン1838が投射される基板sの領域に対応するイメージ信号の信号強度を増大させる。
プロセス300(図9)を参照して、イメージリーダー100は、照明制御パルス350,350',350'',350'''が、ステップ304で、照準LED160aまたは160bの少なくとも1つ、および照明LED160c~160tの少なくとも1つを、同時にエネルギー供給し、基板s上の、特に基板s上の照明パターン1830および照準パターン1838が同時に投射される領域上の照明の強度を増大させるように構成することができる。デコードモジュール150または自動識別モジュール152により実行される、照準160a、160bおよび照明LED160c~160tが同時にエネルギー供給される露
出期間にしたがってイメージが集められるデコードプロセスは、パターン1838に対応するイメージデータ(すなわち、パターン1838がそれの上に撮像されるピクセルアレイに対応するイメージデータ)が、選択的にファインダパターン位置決めプロセス、線形バーコードシンボルデコード試み、または静穏ゾーン検出プロセスのようなデコードプロセスを受けるような、プロセスを含むことができる。例えば、視野に交差して水平に伸びる照準パターン1838をもって、集められたフルイメージを処理するデコードモジュール150は、イメージセンサ182の中央行に対応するイメージデータ(すなわち、図28a に示される行2802に対応するイメージデータ)を、ファインダパターンの位置を見つける、線形バーコードシンボルをデコードする、または、イメージが少なくとも1つの照準LED160a、160b、および少なくとも1つの照明LED160c~160tが、同時にエネルギー供給されるフレーム露出期間にしたがって集められる静穏ゾーンを見つけるという目的のために、選択的に解析することができる。照明制御パルス350,350',350'',350'''が、少なくとも1つの照準照明LED、例えば160a、および少なくとも1つの照明LED、例えば160tに同時にエネルギー供給するプロセス300のステップ320では、イメージリーダー100は、図28A-28Cに関連してより詳細に記述されるように、フルフレームの、あるいは「ウインドウ表示のフレーム」のイメージデータを、集めることができる。イメージリーダー100は、イメージリーダー100がステップ320でウインドウ表示のフレームのイメージデータを集め、ステップ304で少なくとも1つの照準LED、および少なくとも1つの照明LEDを同時に照明する場合は、ウインドウ表示のフレームは照明パターン1838の大きさと形に対応するよう構成することができる。例えば、イメージリーダー100が水平ラインの照準パターン1838を投射する場合は、ステップ320でのウインドウ表示のフレームのイメージデータの読み出しは、図28Aに示される行2802に対応するウインドウ表示のフレームのイメージデータであり、それの上にパターン1838が撮像され、それはそののち、以下で述べるように処理される(すなわち、静穏ゾーンを見つけることにより、またはファインダパターンを見つけることにより、線形バーコードシンボルをデコードするよう試みることにより)ものであることができる。照準照明LED および照明LED が、照明制御パルス350,350',350'',350'''により同時に駆動される本発明の実施形態においては、照準LED160a、160bおよび照明LED160c~160tは、以下で述べられたように、パルス350,350',350'',350'''の持続時間の全体を通して過度に駆動することができる。
1つの実施形態において、CMOSイメージアレイ182aは、イーストマンコダック社から入手可能な、KAC-0311 640x480 VGA CMOSイメージセンサにより実行することができる。このKAC-0311は、“KAC-0311 640x480 VGA CMOS IMAGE SENSOR Fully Integrated Timing, Analog Signl Processing & 10 bit ADC”という名称の技術的記述において、より充分に記述されている。http://www.kodak.com/global/plugins/acrobai/erj/digital/ccd/products/cmos/KAC-0311LongSpec.pdf、で入手できる、2002年8月5日の改訂1は、ここに参照によりその全体が組み入れられる。 以下は、上記“フル仕様書”から取られたKAC-0311の動作の、編集されたサマリーである。この専門的な記述で要約されているように、KAC-0311は、アナログイメージ獲得、デジタル化、およびデジタル信号処理を、単一チップ上に集積しているソリッドステートアクティブCMOS撮像素子である。該イメージセンサは、640×480の活性要素を持つVGAフォーマットピクセルアレイよりなる。イメージサイズは、問題のウインドウを定義するようユーザにより定義可能である。特に、行および列の開始および停止動作をプログラムすることにより、ユーザは、問題のウインドウを、1×1のピクセルの解像度にまで下げて定義することができる。KAC-0311イメージセンサの1つの実施形態において、該ウインドウは、カメラをぐるっと回して撮影する視野ポートのデジタルズーム動作を可能にするよう使われることができる。KAC-0311イメージセンサのもう1つの実施形態においては、一定の視野は、サブサンプリングが集められたイメージの解像度を減らすために使われる一方、維持されることができる。
KAC-0311イメージセンサのピクセルは、7.8μmピッチ上にある。ピクセルアーキテクチャは、コダックのピン止めされたフォトダイオードアーキテクチャである。KAC-0311イメージセンサは、マイクロレンズなしの単色バージョンで利用可能であるか、あるいは、マイクロレンズなしのベイヤー(CMY)パターン化カラーフィルタアレイで、利用可能である。KAC-0311イメージセンサの1つの実施形態において、統合化されたタイミングおよびプログラミング制御は、ビデオまたは静止画像取り込み動作におけるプログレッシブスキャンモードを可能とするように用いられる。KAC-0311イメージセンサのさらなる実施形態において、ユーザは一定マスタークロックレートを維持しながらフレームレートをプログラムすることができる。
KAC-0311イメージセンサにおいて、ピクセルアレイのアナログビデオ出力は、オンチップアナログ信号パイプラインによって処理される。KAC-0311イメージセンサの1つの実施形態において、相関性のある二重サンプリングは、ピクセルリセットの一時的、および固定パターン雑音を排除するために使われる。KAC-0311イメージセンサのさらなる実施形態において、フレームレートの固定は、同時に起こる光学的黒レベル校正およびオフセット訂正を可能とするために、用いられる。さらにもう1つの実施形態において、KAC-0311イメージセンサのプログラム可能なアナログゲインは、信号スウィングをアナログ-デジタル変換器入力範囲にマップするためのグローバル露出ゲインを含む。プログラム可能なアナログゲインはさらに、カラーバランスをアナログドメインにて実行するための白バランスゲインを含む。追加的な実施形態において、KAC-0311メージセンサのアナログ信号処理チェインは、カラムオペアンプ処理、カラムデジタルオフセット電圧調整、白バランシング、プログラマブルゲイン増幅、グローバルプログラムマブルゲイン増幅、およびグローバルデジタルオフセット電圧調整よりなる。1つの実施形態において、デジタルプログラマブル増幅器は、同時に起こる自動白バランス調整のためばかりでなく、露出ゲイン調整のための、カラーゲイン訂正を与えるために使用される。種々の実施形態におけるオフセット校正は、カラムごとのベースで、かつ、グローバルになされる。さらに、カラム毎オフセット訂正は、オンチップレジスタ内にストアされた値を用いることにより適用でき、10ビットの冗長サイン付きデジットアナログ-デジタルコンバータは、アナログデータを、10ビットデジタルワードストリームに変換する。KAC-0311イメージセンサの種々の実施形態において、差動アナログ信号処理パイプラインは、ノイズ免疫、信号対雑音比、およびシステムダイナミックレンジを改善するために使用される。1つの実施形態において、KAC-0311のシリアルインタフェースは、産業標準2線 I2Cコンパチブルシリアルインタフェースである。もう1つの実施形態において、KAC-0311イメージセンサのための電力は、単一3.3V電源によって与えられる。種々の実施形態において、KAC-0311イメージセンサは、単一のマスタークロックをもち、20MHzまでの速度で動作する。
本発明で使用することができるイメージセンサの動作的、および物理的詳細は、イーストマンコダック社に譲渡されている米国特許第6,714,239号、名称“Active Pixel Sensor with Programable Color Balance”、および米国特許第6,552,323号、名称“Image Sensor with Shared Output Signal Line”、に記述されており、そのおのおのは、その全体が参照によりここに組み入れられる。以下は、米国特許第6,522,323号からの内容の短い要約を与える。特に、米国特許第6,552,323号は、複数の行および列に配列された複数のピクセルよりなるイメージセンサを開示する。該イメージセンサはさらに、グローバル電子シャッターを含むよう開示されている。開示されたイメージセンサの同じ行のピクセルは、ピクセル出力ノード、および出力信号線をシェアする。さらに該開示は、行内のイメージ信号の分離が、行毎に2つの分離した行選択信号、行内の1つおきのピクセルについて1つ、を持ち、かつ、各対のカラムについての、1:2カラム出力信号線デマルチプレックススキームを持つことにより、達成される。ここで図11に再生されるような模式図は、2つの隣接するピクセル5を示している。該模式図において使用される識別子は、以下のものを含む:リセットゲート(RG)をもつリセットトランジスタ、転送ゲート(TG)、信号トランジスタ(SIG)、行選択ゲートをもつ行選択トランジスタ(RSEL)、光検出器(PD)、および浮遊拡散(FD)。グローバルシャッターの動作は、図11に示される実施形態、およびここで図12として再生されるタイミング図に関して、米国特許No.6,552,323のカラム3、25-45行に記述されている。その開示は、読み出しが、センサの各ピクセルにおける、集められた信号電荷の光検出器30a、30bから浮遊拡散10a、10bへの転送が同時になされることにより始まることを示している。次に、行選択1(15)は、オンされ、浮遊拡散1(10a)の信号レベルは、SS1にパルスを与えることにより、列回路20aによりサンプルされ、保持される。行選択1(15)は、そののちオフされ、行選択2(25)がオンされ、浮遊拡散2(10b)の信号レベルは、SS2にパルスを与えることにより、カラム回路20bによりサンプルされ、保持される。読み出しされている行における浮遊拡散10a、10bは、そののち、RGにパルスを与えることにより、リセットされる。次の行選択2(25)はオフされ、行選択1(15)はオンされ、浮遊拡散1(10a)のリセットレベルは、SRlにパルスを与えることにより、列回路20aによりサンプルされ、保持される。行選択1(15)は、そののちオフされ、行選択2(25)は、オンされ、浮遊拡散2(10b)のリセットレベルは、SR2にパルスを与えることにより、サンプルされ、保持される。列回路20a、20bによりサンプルされ、保持された信号の読み出しは、そののち、イメージセンサの次の行において始まるサンプルピクセル読み出しに先立ってなされる。
もう1つの実施形態において、CMOSイメージアレイ182aは、KAC-9630の、128(H)x98(V) CMOSイメージセンサで実施することができる。KAC-9630は、名称“Device Performance Specification-Kodak KAC-9630 CMOS Image Sensor”、2004年9月、改訂1.1、の技術的仕様書において、より充分に記述されている。この文書は、その全体がここに参照により組み入れられる。この書類は 例えば、http://www.kodak.com/global/plugins/acrobat/en/digital/ccd/products/cmos/KAC-9630LongSpec.pdfで、イーストマンコダック社(www.kodak.com)より入手可能である。この技術的仕様書は、KAC-9630イメージセンサを、単色イメージを、毎秒580フレームで獲得することのできる低電力のCMOSアクティブピクセルイメージセンサとして記述している。さらに、KAC-9630イメージセンサは、オンチップ8ビットアナログ-デジタルコンバータ、固定パターンノイズ除去回路、およびビデオゲイン増幅器を含むものとして記述されている。KAC-9630はさらに、積分時間およびフレームレートの調整を可能にする、集積されたプログラム可能なタイミングおよび制御回路網を持つものとして記述されている。KAC-9630イメージセンサにおける読み出し回路は、2ミリ秒以下の単一8ビットデジタルデータバス上のフルフレーム読み出しをサポートすることができるものとして記述されている。上に示されたように、KAC-9630イメージセンサは、集積化された電子シャッターを含むものとして記述されている。
もう1つの実施形態において、CMOSイメージアレイ182aは、マイクロンテクノロジー社、8000 South Federal Way, Post Office Box 6, Boise, ID 83707-0006、からの、Wide VGA MT9V022イメージセンサ、のようなマイクロンイメージセンサで実行することができる。MT9V022イメージセンサは、例えば、http://download.micron.com/pdf7flyers/mt9v022_(mi-0350)_flyer.pdfにて、マイクロンテクノロジー社(www.micron.com)から入手可能な、製品MT9V099プロダクトフライヤーにおいて、より詳細に記述されている。この書類は、その全体が参照によりここに組み入れられる。
いくつかの実施形態において、イメージリーダー100は、回転シャッターモード、またはグローバル電子シャッターモードで動作することができる。1つのそのような実施形態において、回転シャッターモードは、自動焦点合わせ動作の一部として使用され、グローバル電子シャッターモードは、一度適切なフォーカスが決定されたときに、イメージデータを集めるように使用される。適切なフォーカスを決定し、かつ、次のイメージを集めるプロセスは、図13に示されるプロセス400により記述される。作動モジュール124は、例えば、オペレータによるトリガー216の押し下げに応じて、あるいは目標がイメージリーダー100の視野の中に動くことに応じて、トリガー信号を生成することができる。新しいイメージがイメージリーダー100により集められるときの動作において、イメージリーダー100は、(ステップ404で)バーコードのような対象を含む目標を照明し、(ステップ408で)イメージリーダーのイメージセンサ内の複数の行が、順次露出される回転シャッター動作モードに入る。この動作の一部として、フレーム露出期間は、複数の行の最初の行の露出の始まりから複数の行の最後の行の露出の終わりまでの時間として定義することができる。1つの実施形態において、イメージリーダー100の撮像レンズ212は、フレーム露出期間の少なくとも一部の間に、連続する動きの1つ内に、あるいは、階段状の動きの1つ内にあるよう、制御される(ステップ414)。図20の実施形態において示されるように、イメージリーダー100は、撮像レンズ212を、イメージリーダー100の焦点設定を変更するよう移動させるために、制御モジュール112、またはもう1つのモジュールにより制御されるレンズ駆動モジュール165を、持つことができる。1つのそのような実施形態において、光学式システムは複数の別個の設定を持つことができる。各別個の設定において、レンズ212は、イメージリーダー100から所定の距離にある対象のための別個のイメージを、イメージセンサ上に形成する。1つの実施形態において、光学的システムの焦点範囲の一方の限界は、無限遠にある対象からの入射放射を、焦点合わせすることに対応する。対象は、もしその入射光線が、本質的に平行であれば、“無限遠”にあると考えられる。1つの実施形態において、光学的システムの焦点範囲のもう1つの限界は近傍点である。光学的システムの近傍点は、対象を、光学的システムがまだ該対象の別個のイメージを作ることができる位置に、光学的システムに関してもたらすことのできるもっとも近い距離である。もう1つの実施形態においては、光学的システムの焦点における変動は、光学的システムの全体の範囲をカバーしない。例えばこのような1つの実施形態において、イメージリーダー100の焦点設定は、数ミリメートル離れた焦点設定の間で変更される。もう1つの実施形態において、イメージリーダー100の焦点設定は、数センチメートル離れた焦点設定の間で変更される。リーダー100がレンズドライバモジュール165を含むよう構成することは、スキャナーが拡張されたフィールド深さにわたって動作することを可能にする。
レンズドライバモジュール165をさらに参照して、種々のレンズ駆動技術、および方法が、実行される。米国特許No.4,350,418は、その全体がここに参照により組み入れられるが、レンズの位置調整が調整リングの回転によって達成される、距離調整リングを含むレンズ焦点調整システムを開示している。米国特許第4,793,689号は、これもまた、その全体がここに参照により組み入れられるが、中空固定シリンダーの中空内に配置され、光学軸の周りに回転可能な中空回転リングであって、それらの間にベアリングが介挿された、中空の回転リングを持つレンズバレル、該回転リングの回転に応答して移動可能な可動シリンダー、および、固定シリンダーと回転リングとの直径方向間に配置された振動波モーターを開示している。米国特許第5,541,774号は、これもまた、その全体がここに参照により組み入れられるが、内側ヨークおよび外側ヨークを含む固定メンバーを持つ、電磁レンズドライバ、動作可能に配置された磁石、本体を駆動されるように保持する移動可能なメンバー、外側ヨークと内側ヨークの間に軸方向に巻かれたコイル、および動作可能に配置された磁石の磁界を検出し位置指示信号を生成する位置検出器を開示している。
プロセス400はまた、複数の露出した行からイメージデータを(ステップ420で)読み出すことを含む。このイメージデータは、コントラスト検出方法、または位相検出方法のような自動焦点アルゴリズムによって(ステップ424で)分析される。行焦点イメージ情報を用いて、イメージリーダー100は、レンズ212の適切な焦点設定を、例えば、集められたデータに基づき適切な焦点設定を決定し、そののち、レンズ212をその設定にまで移動させることにより、あるいは現在の行のイメージを評価して、現在の焦点設定にイメージリーダーが受け入れ可能に焦点合わせされているかを決定することにより、(ステップ428で)確立することができる。種々の実施形態において、イメージデータの解析は、イメージ収集モジュール108、光学モジュール、制御モジュール112、または専用の自動焦点合わせモジュール(例えば、フォーカス計算を行なう目的専用とされたASICあるいはFPGA)によって行なうことができる。レンズ212の位置が適切に設定されて、イメージリーダー100は、(ステップ432で)グローバル電子シャッター動作モードに入る。プロセス400によるある時点で、イメージリーダー100は、イメージセンサアレイモジュール182の各ピクセルからイメージデータを読み出す前に、回転式シャッター動作を終わらせ、グローバル電子シャッター動作モードの動作を始めることができる。グローバル電子シャッター動作モードにおいては、イメージリーダー100は、(ステップ436で)メモリモジュール116にストアされており順次デコードモジュール150150または自動識別モジュール152に転送されるフルフレームのイメージデータを集める。行のイメージ情報が、リーダー撮像レンズ112が動き中であるよう制御されている時間内に読み出され、解析されるこの実施形態によれば、イメージリーダーを自動的にその目標を撮像するよう焦点合わせすることは、1フレームのデータ内で達成される。種々の実施形態において、自動焦点合わせ動作は、専用の自動焦点合わせモジュールによって扱われることができ、あるいは、該焦点合わせモジュールは、イメージ収集モジュール108、および/または制御モジュール112のような他のモジュール内に組み入れられる。
プロセス400のステップをさらに参照して、行イメージデータを、焦点合わせ特性を決定するよう、解析するステップ424は、図21のフロー図、および図22Aおよび図22Bのヒストグラムプロットを参照して、さらに記述される。ステップ2102でイメージリーダー100は、ステップ420で読み出された現在の行のイメージデータのピクセル値のヒストグラムプロットを構築する。図22Aは、受け入れ可能に焦点合わせされた(単色の基板上のバーコードシンボルにおけるような)白黒調のイメージに対応する行のデータのピクセル値のヒストグラムプロットである。ヒストグラムプロット2108は、高いコントラストイメージを表しており、かつ、グレースケールの高い側での多くのピクセル値、グレースケールの低い側での多くのピクセル値、および中央のグレースケール範囲でのより少ないピクセル値を含む。図22Bは、焦点合わせがよくできていない白黒調イメージに対応する行のデータのピクセル値の、ヒストグラムプロットである。ヒストグラム2110により要約されるイメージデータは、「よりフラットな」コントラストがより低いイメージデータであり、それは、グレースケールの両極端でのほとんどピクセル値を持たず、グレースケールの中央で、より多くの数のピクセル値を持つことを意味している。したがって、イメージの焦点レベルは、イメージコントラスト情報を用いて容易に決定することができることを見ることができる。
ステップ2104で、イメージリーダー100は、集められたヒストグラムデータを評価する。ステップ2104で、イメージリーダー100は、レンズ212のための適切なイン焦点設定を決定するか、あるいは、現在の行のイメージデータから抽出されたヒストグラムデータが、イメージリーダーが現在のレンズ設定または位置で受け入れ可能に焦点合わせされていることを示すかを決定することができる。ステップ2104でイメージリーダーが、集められたヒストグラムデータに基づいて、レンズ212のための適切な設定を決定する場合は、該ヒストグラムデータは、現在の行からのものであるか、あるいは現在の行のデータと先行する行のデータの結合に基づくものであってよい。さらなる側面において、レンズ212の位置または設定値は、読み出される各行のイメージデータのヒストグラム情報が、行情報が集められたときのレンズ212の位置を示すレンズ位置データと関連しているように記録される。ステップ2104で、イン焦点レンズ設定を決定するための遷移関数は、ヒストグラムプロットにおいて要約された行コントラスト情報ばかりでなく、各セットの行データと関連したレンズ212の位置を示すレンズ位置データを利用することができる。
プロセス400のさらなるステップを参照して、イメージリーダー100はステップ414で、レンズ212を、連続的な動きをするか、あるいは階段状の連続的な動きをするよう、制御することができる。連続的な動きをするよう制御されるとき、レンズ212は、メージセンサアレイモジュール182の、順次的な行のピクセルが露出され、読み出される時間を通して、連続的に動く。階段状の連続的動きをするよう制御されるとき、レンズ212は、センサモジュール182の行のピクセルが露出され、読み出される時間を通して、繰り返し、動き、停止する。レンズ212を階段状の動きをするよう制御するイメージリーダーの1つの実施形態において、イメージリーダー100は、レンズを、2つの極点、第1は遠いフィールド位置と、第2はより近いフィールド位置の間で、連続的に移動させる。レンズ212を階段状の動きをするよう制御するイメージリーダーのもう1つの実施形態において、イメージリーダー100は、レンズ212を、2つの極点の間で連続的に移動させ、かつ、2つの極点の間の1、またはそれ以上の位置で、中間的にレンズ212を、停止させる。階段状の連続的な動きをするよう制御されるレンズ212は、動き期間、すなわち、レンズが移動する期間と、停止期間、すなわち、レンズが一時的にアイドルである時間とを持つと考えることができる。本発明の1つの実施形態において、レンズ212の動きと、行のピクセルからのイメージデータの読み出しとは、調整せられる。例えば、イメージセンサアレイモジュール182のレンズの動きと制御は、イメージセンサアレイモジュール182の1つ、またはそれ以上の行の露出期間が、レンズ212の停止期間の間に起こり、レンズ212が、全行露出期間の間、アイドルであるように、調整することができる。さらに、レンズ212の動きの位相の間に露出されピクセルに対応するイメージデータの処理は、ある実施形態において有用であるが、イメージリーダー100は、レンズ212の動き期間の間に露出されたピクセルに対応するイメージデータが、例えば、行解析ステップ424の間に破棄されるように構成することができる。
図13を参照して一般的に記述されたプロセス400の特定の実施形態は、図23および図24のフロー図を参照して記述される。図23の実施形態において、イメージリーダー100はステップ424で、その時点までに集められた、集められた行イメージデータに基づき、イン焦点レンズ設定を決定するよう試みる。もし、ステップ428aで、イメージリーダー100が、レンズ212のイン焦点位置を決定するのに十分な情報が集められたと決定するなら、イメージリーダー100は、レンズ212のためのイン焦点設定を決定し、かつ、ステップ428bに進んでレンズ212を決定されたイン焦点位置に移動させる。もし十分な情報が集められていなければ、イメージリーダー100はステップ420に戻り、追加的な行情報を集める。イメージリーダー100はステップ428bで、レンズ212を、例えば、決定したイン焦点位置が正しいことを確認することを目的として移動させながら、行イメージデータを読み出し、処理することを続けることができる。レンズ212が決定したイン焦点位置にまで移動したとき、イメージリーダー100はステップ432に進み、グローバル電子シャッター動作モードに入る。イメージリーダー100がグローバルシャッター動作モードに(ステップ432で)入るとき、イメージリーダー100は、レンズ212の動きを止めることができる。イメージリーダーはそののちステップ436に進んでフルフレームのイメージデータを集め、かつそののちステップ438に進んでイメージデータを、データフォームデコードモジュール150または自動識別モジュール152の1つに転送する。
図24を参照して記述されるプロセス400の実施形態において、イメージリーダー100は、ステップ424で、現在の行データ(もっとも最近に集められた行データ)を評価することにより、レンズ212のイン焦点設定を確立し、現在の行データが、イメージリーダー100が現在、イン焦点にあることを示しているかを、決定する。もし、ステップ428dでイメージリーダー100が、イメージリーダー100が現在フォーカスではないことを決定すれば、イメージリーダー100は、ステップ420に戻り、追加的な行情報を集める。もし、ステップ420でイメージリーダー100が、該リーダーは現在イン焦点位置にあることを決定すれば、イメージリーダー100はステップ432に進み、グローバル電子シャッターモード動作に入る。イメージリーダー100が、(ステップ432で)グローバルシャッター動作モードに入る時点では、イメージリーダー100は、レンズ212の動きを停止させる。イメージリーダー100は、そののちステップ436に進み、フルフレームのイメージデータを集め、かつそののちステップ438に進んで、イメージデータを、データフォームデコード150または自動識別モジュール152の1つに転送する。
プロセス400、またはプロセス800を参照して、イメージリーダー100は、“イン焦点”位置を確立するにおいて、レンズ212の予想される、または現在の位置を、他の利用可能なレンズ焦点位置より良い焦点に指標をもたらすような、予想される、または現在の位置に基づいて、“イン焦点”にあるよう指定することが理解されるであろう。これにより、レンズ焦点位置が、一般的な意味で、高度に焦点合わせされていない場合は、リーダー100は、それでもやはり、もしそれが他の利用可能なレンズ位置より指標をよりイン焦点にするのであれば、該位置を“イン焦点”にあると指定するであろう。1つの特定の実施形態において、レンズ100は、それが階段状の連続的動きをするよう制御されるときは、限定された数の分離した位置(例えば、2つの位置)の間で、“トグルされる”よう制御される。このような1つの実施形態において、リーダー100は、もしレンズ位置が、指標を、残りの可能な位置より、よりイン焦点にあるようにするのであれば、限定された数の可能な分離した位置のうちの1つを、“イン焦点”であるとして指定する。特に、レンズ212が限定された数の分離した位置の間で“トグルされる”構成では、焦点決定プロセスは省略し、イメージデータは、デコードモジュール150または自動識別モジュール152に直接転送するようにすることができる。特に、限定された数の代わりの焦点位置があるとき、イン焦点位置は、結果が成功的なデコードにおいてどの位置にあるかに依存して容易に識別することができる。デコードの試みによりイン焦点位置を識別することは、平均デコード時間を削減することができる。
本発明の変形例において、イメージリーダー100は、ステップ420で所定数の行のイメージデータを読み出し、ステップ424で所定数の行を解析する。所定数の行は、例えば、2行、3行、10行、または、イメージセンサアレイ182のすべての行(100+)であってもよい。イメージリーダー100は、ステップ424で、複数の行から、もっとも焦点があった(例えば、最も高いコントラスト)の行を選択し、最も焦点の合った行と関連する記録された焦点設定が、イメージリーダー100の“イン焦点”設定であると決定する。あるいは、イメージリーダー100は、数行に渡って集められたデータイメージを利用して、“イン焦点”設定データを、計算することができる。上記の変形のうちのいずれにおいても、焦点設定が決定されたとき、イメージリーダー100は最初にステップ432でグローバル電子シャッター動作モードに入り、そののち、レンズ212を決定された焦点位置設定にまで移動させるか、あるいは、イメージリーダー100は、代わりに、ステップ432でグローバル電子シャッター動作モードに入る前に、レンズ212を決定されたレンズ設定に移動させることができ、あるいはこれらの2つの動作は同時に起きることができる。
もう1つの自動焦点動作の実施形態において、図25-30Bと関連して後に述べるように、グローバル電子シャッター動作モードは、焦点合わせ期間と、データ収集期間の両方の間に、使用することができる。ここで記述されたプロセス800によれば、自動焦点合わせ期間の間に、限定された“ウインドウ表示”のフレームのイメージデータが、焦点設定または位置の各変形例について、集められることができる。例えば、イメージセンサの、中央領域、または走査線の中央の10走査線のような、走査線の中央グループのみが、焦点決定アルゴリズムにより読み出され解析される。この実施形態によれば、限定されたフレームデータは、イメージリーダーを焦点合わせするために必要とされる時間を実質的に減少させながら焦点決定アルゴリズムのための充分な情報を与える。
代替的な実施形態において、プロセス400、またはプロセス800におけるステップの特定の順序は、そこに含まれる発明的概念から離れることなく、変更することができる。種々の他の実施形態において、回転シャッター動作を含む回路網、およびグローバル電子シャッター動作を実施する回路網は、同じCMOSチップ上に実行することができ、あるいは、1つ、または両回路網要素は、別の専用のチップ上に実行することができる。追加的な実施形態において、回転するシャッター機能性、およびグローバル電子シャッター動作は、ハードウェア、ソフトウェア、および/またはファームウェアを含む単一のモジュールにおいて結合することができる。
回転シャッターモード、またはグローバル電子シャッターモードで動作するイメージリーダー100のもう1つの実施形態において、イメージリーダー100は、グローバル電子シャッター動作モードと、回転シャッター動作モードとの間で、ダイナミックにシフトすることができる。1つのそのような実施形態において、イメージリーダー100は、積分時間が与えられた閾値より短いとき、デフォルトグローバル電子シャッター動作モードから回転シャッター動作モードにシフトする。多くの商業的に利用可能なイメージャーが、いくらかの量の光の蓄積要素への漏れを許す光シールドを持って実行されており、あるいは、蓄積要素を、光感受性要素から完全には分離しないスイッチを備えて、実行される。これの結果として、蓄積要素の内容は、電荷が、蓄積要素に転送された後に、イメージャー上に入射する雰囲気照明により悪く影響され得ることとなる。以下は、このような動作の数値例を与える。
一般に、グローバル電子シャッター能力をもつCMOSイメージセンサのシャッター効率は、イメージセンサ上の蓄積領域が、ストアされたイメージデータをシールドすることのできる程度を特定する。例えば、もしシャッターが99.9%の効率を持っているなら、そのときは、イメージセンサの シールドされていない部分におけると同じ、シールドされた部分における電荷量を生成するよう、1000倍、より長い積分時間(露出時間としても知られる)を要する。それゆえ、イメージ取り込みサイクルにおいては、以下の方程式は、イメージがシフトし蓄積領域内に入り込んだ後の時間期間内に認容されうる、雰囲気光からのイメージャーへの光放射の示しであって、イメージがシフトし蓄積領域内に入る前の時間期間の間の、雰囲気照明および光源160により照明された対象からのイメージャー上への光放射と比較される、該光放射の示しを、所望の劣化パーセンテージを超えることなく、与える。方程式はまた、イメージャーに入射する光が、全撮像サイクルの間に、同じである場合をアドレスすることができる。両者の場合において、最大劣化の導入なしに使用することのできる最小積分を、知る必要がある。(Amb. Irrad)*Tframe*(100%-%eff)=(Amb. Irrad+Light SourceIrrad)*Texposure*(%deg)
多くの場合に、イメージャー上への光は、露出期間の間およびフレームの残りの間に、変化しない。この状況において、イメージャーへの光の放射は一定であり、かつ所望のイメージを過度に乱す光漏れなしに使用することのできる最小積分時間を、解決することができる。この場合に方程式を解くことは、特定の劣化のための最小積分時間の計算を許すことである。以下の一定の放射の数的な例は、99.9%のシャッター効率、20msのフレームレート、5%の最大認容劣化のためのものである。20ms*(100%-99.9%)=(Texposure*5%)あるいは、5%以上の劣化を生じないで使用することのできる最小露出時間を解決するも
のは、Texposure=0.4msこのように、もしイメージ取り込みの間の積分時間が0.4msより短いなら、劣化リーク(ともに、光学的、または電気的な)は、5%、あるいはより大きいエラーを、導入することとなるであろう。
過度の雰囲気光によって導入されるイメージ劣化をアドレスする実施形態において、イメージリーダー100は、積分時間が、イメージリーダーのフレームレート、最大許容劣化、およびシャッター効率に関して決定されたレベルより短くなるとき、回転シャッター動作に移行する。短い積分時間に応答して動作モードをシフトするプロセス600は、図14に示される。作動モジュール124は、例えば、オペレータによるトリガー216の押下に応じて、あるいは目標がイメージリーダー100の視野に入ったことに応答して、プロセス600を始めるようトリガー信号を生成することができる。プロセス600は、計算された最小積分時間を(ステップ604で)ストアすることを含む。1つの実施形態において、この閾値は、上に提示された方程式に従って決定される。これらの方程式への、シャッター効率、最大許容イメージ劣化リーク、フレームレートのようないくつかの入力は、イメージリーダー100において、その初期設定の一部として、あるいは後の時間に、構成することができる。プロセス600はまた、(ステップ608で)イメージデータを集めることを含む。イメージデータの収集の一部として、現在の環境条件のための露出時間は、センサアレイ制御モジュール186によって(ステップ612で)確立される。種々の実施形態において、この露出時間は、イメージリーダー100において、グローバル電子シャッター制御モジュール190、光学モジュール178、あるいはもう1つの適切なモジュールによって確立される。イメージリーダー100の動作モードが、グローバルシャッターモードから回転シャッターにシフトするかどうかを決定するために、確立された露出時間が、(ステップ616で)最小積分時間閾値と比較される。もし、確立された積分時間が、計算された最小積分時間閾値より短いなら、そのとき、イメージリーダー100の動作モードは、グローバル電子シャッターから回転シャッターに(ステップ620で)シフトする。もし確立された積分時間が、計算された最小積分時間閾値よい大きい、またはそれに等しいのであれば、そのとき、グローバル電子シャッター動作モードは、(ステップ628で)維持される。
本発明のさらなる実施形態は、図15A、および図31および32のフロー図を参照して記述される。図15Aに示されるように、イメージリーダー100は、ユーザ選択可能な構成設定をもつように構成される。例えば、図15Aに示されるように、イメージリーダー100は、ディスプレイ504上に、オペレータに、回転シャッター動作モードとグローバルシャッター動作モードのユーザ選択可能な構成オプションを提示するグラフィカルユーザインタフェース(GUI)メニューオプションディスプレイスクリーン3170を提示する。GUIディスプレイスクリーンは、イメージリーダー100上にインストールされ得るWindows(登録商標)CEのような、ある利用可能なオペレーティングシステムと関連したツールキットを備えて構成される。リーダー100がブラウザを含むように構成されるとき、あるいはそうでなければ、適当な構文解析ツールおよび解釈器をもって構成されるとき、GUI3170は、種々のオープンスタンダード言語(例えば、HTML/JAVA(登録商標)、XML/JAVA(登録商標))を使って作成することができる。 図15Aの実施形態において、GUIアイコン3152は回転シャッター選択ボタンであり、GUIアイコン3154は、グローバル電子シャッターメニューオプションである。アイコン3152が選択されるとき、イメージリーダー100は、イメージリーダー100が、ここに記述されるように次のトリガー信号を受信してデコードの試みを始めるとき、イメージリーダー100は、グローバル電子動作モードを利用するのではなく、回転シャッター動作モードを利用してイメージデータを集めるよう構成することができる。アイコン3154が選択されるとき、イメージリーダー100は、イメージリーダー100が、次のトリガー信号を受信してデコードの試みを始めるとき、イメージリーダー100は、回転シャッター動作モードを利用することなく、グローバル電子動作モードを利用してイメージデータを集めるよう構成することができる。GUI3170は、追加的なユーザ選択可能な構成オプションを許すよう構成することができる。図15Aの実施形態において、ボタン3156(テキスト、あるいはアイコンの形にある)の選択は、プロセス300が、トリガー信号が受信された次の時間に実行されるように、イメージリーダー100の構成設定をする。ボタン3158の選択は、トリガー信号が受信される次の時間にプロセス400が実行されるように、イメージリーダー100の構成設定をする。ボタン3160の選択は、トリガー信号が受信される次の時間にプロセス600が実行されるように、イメージリーダー100の構成設定をする。ボタン3162の選択は、トリガー信号が受信される次の時間にプロセス800が実行されるように、イメージリーダー100の構成設定をする。ボタン3164の選択は、トリガー信号が受信される次の時間にイメージリーダーが2Dフルフレームのイメージデータのようなイメージデータを集め、集めたイメージデータを、モジュール150またはモジュール152に転送することなく、(例えば、ディスプレイ504、または間隔をあけて配置した装置に)出力するように、イメージリーダー100が「イメージ取り込み」動作モードにあるよう、イメージリーダー100の構成設定をする。輸出する応用において、移動目標(例えば、移動する配達車、アセンブリーライン上のパッケージ)に対応するイメージを、「イメージ取り込み」モードにおいて獲得することは有益であるであろう。したがって、グローバルシャッター動作モードの動作を利用してイメージ取り込みモードを実行することは、イメージひずみが、グローバルシャッター動作モードを利用して減少せられるという点で、重要な利点をもたらすことが見られるであろう。回転するシャッター構成と、グローバル電子シャッター構成、あるいはボタン3156、3158、3160、3162、および3164の間の選択もまた、ソフトウェア開発キット(SDK)のコマンドの使用によりなされることができる。システムは、イメージリーダー100が、回転シャッター構成およびグローバル電子シャッター構成のうちの1つであるよう、SDK によって作られたコマンド(例えば、「ローリングシャッター」および「グローバルシャッター」コマンド)が、イメージリーダー100と離れて位置するホストターミナルで選択され、イメージリーダー100にリーダー100を再構成するよう転送されるように作成することができる。
図31のフロー図を参照して、オペレータは、ステップ3102で、回転するシャッター形態と、グローバル電子シャッター形態の間で選択をする。もしオペレータが、回転するシャッター形態を選択すれば、イメージリーダー100は、ステップ3104に進む。ステップ3104で、イメージリーダー100は、アイドル状態から活性読み出し状態に駆動され(例えば、トリガー216のマニュアル活性化、あるいは他の方法により)、そののち自動的にステップ3106と3108を実行する。ステップ3106でリーダー100は、回転シャッター動作モードを利用してイメージデータを集め、ステップ3108で、集められたイメージデータは、データフォームデコードモジュール150または自動識別モジュール152にイメージデータをデコードするか、あるいは処理するために転送される。もしステップ3102で、グローバル電子シャッターモードが選択されれば、イメージリーダー100は、ステップ3118に進む。ステップ3118で、イメージリーダー100は、トリガー信号の生成により(例えば、トリガー216のマニュアル活性化、あるいは他の方法により)、アイドル状態から活性読み出し状態に駆動され、そののち自動的にステップ3118と3120を実行する。ステップ3118で、リーダー100は、グローバル電子シャッター動作モードを利用してイメージデータを集め、ステップ3118で、集められたイメージデータは、データフォームデコードモジュール150または自動識別モジュール152にイメージデータをデコードするか、あるいは処理するために転送される。
本発明のもう1つの実施形態は、図32のフロー図を参照して記述される。図32のフロー図を参照して記述された実施形態において、イメージリーダー100は、回転シャッターモードとグローバルシャッターモードを利用してイメージデータを集め、イメージデータを解読することを試みるように構成される。ステップ3202でトリガー信号が生成され(例えば、トリガー216のマニュアル活性化、あるいは他の方法により)、イメージリーダー100を、アイドル状態から活性読み出し状態に駆動し、かつステップ3204、3206のすべては、その後自動的に実行される。ステップ3204でイメージリーダー100は、回転シャッター動作モードに入る。ステップ3206でイメージリーダー100は、回転シャッター動作モードを利用してフルフレームのイメージデータ、あるいはウインドウ表示のフレームのイメージデータのようなイメージデータを集める。ステップ3208でイメージリーダー100は、ステップ3206で集められたイメージデータを、データフォームデコードモジュール150および/または自動識別モジュール152に転送する。データフォームデコードモジュール150、または自動識別モジュール152は、集められたイメージデータを、デコードし、そうでなければ処理し、結果を出力する(例えば、デコードされたバーコードメッセージをディスプレイ504、または離れて配置された装置に出力する)。ステップ3118でイメージリーダー100は、グローバル電子シャッター動作モードに入る。 ステップ3212でイメージリーダー100は、グローバル電子シャッター動作モードを利用してイメージデータを集める。 ステップ3212で集められたイメージデータは、フルフレームあるいはウインドウ表示のフレームのイメージデータである。 ステップ3214でメージリーダー100は、ステップ3212において集められたイメージデータを、データフォームデコードモジュール150または自動識別モジュール152に転送する。データフォームデコードモジュール150、または自動識別モジュール152は、集められたイメージデータをデコードし、そうでなければ処理し、結果を出力する(例えば、デコードされたバーコードメッセージをディスプレイ504、または離れて配置された装置に出力する)。制御ループ矢3216により示されたように、イメージリーダー100は、停止条件が満たされるまで、ステップ3204、3206、3208、3210、3212、および3214を自動的に繰り返す。停止条件は、例えばトリガー信号の生成(例えば、トリガー216の開放により生成されるような)、または所定の数のバーコードシンボルの成功的なデコードであり得る。
本発明によるもう1つのプロセスは、図25のフロー図を参照して記述される。プロセス800は、レンズ212が動きにあるように制御されている時間の間に集められる限定された量のイメージデータを処理する点においてプロセス400に似ている。プロセス400で、およびプロセス800で、レンズ212のイン焦点位置は速く確立される。プロセス400は、イメージセンサアレイモジュール182が、該プロセスのコースの異なる時間に、第1の回転シャッター動作モード、および第2の続いて実行されるグローバル電子シャッター動作モードで動作することを利用することを含むが、プロセス800は、該プロセスの全体を通して、回転シャッターモード動作とグローバル電子シャッター作モード動作のいずれかで動作する、これまでに述べた選択的にアドレス可能なイメージセンサアレイモジュールの1つの使用により実行される。
プロセス800をさらに参照して、作動モジュール124はステップ802で、トリガー216の押し下げ、目標がイメージリーダーの視野内にあることの検出、または間隔をおいて配置されたデバイスからのコマンドの受信に応答して、トリガー信号を生成することによりプロセス800を開始する。ステップ814でイメージリーダー100は、レンズ212を動きの中にセットする。ステップ814でイメージリーダー100は、レンズ212を、連続的な動き、あるいは階段状の連続的な動きにあるよう制御することができる。
ステップ820でイメージリーダー100は、イメージセンサアレイモジュール182から「ウインドウ表示のフレーム」のイメージデータを読み出す。CMOSイメージセンサは、ウインドウ表示のフレームの動作モードで動作することができる。ウインドウ表示のフレームの動作モードにおいて、イメージセンサアレイの選択的にアドレスされたサブセットのすべてのピクセルのみに対応するイメージデータが読み出される。ウインドウ表示のフレームの動作モードにおいて動作するイメージリーダー100の例が、図28A、 28B、および28Cを参照して記述され、そこでは、イメージセンサアレイは、10×10 ピクセルブロックを表すグリッドの各矩形で表され、かつそこでは、影をつけられた領域2802、2804は、選択的にアドレスされ、選択的に読み出しを受けるピクセルを表す。図28Aの実施形態において、ウインドウ表示のフレームの動作モードが図示されており、そこでは、ウインドウ表示のイメージデータは、イメージセンサアレイモジュール182の中心にある1セットの行のピクセルよりなる中央線パターンのピクセルを、選択的にアドレスし、読み出すことにより、イメージセンサアレイ182より読み出される。あるいは、ウインドウ表示のフレームの動作モードにおいて、イメージリーダー100は、イメージセンサアレイモジュール182の単一行のピクセルからのイメージデータを、選択的にアドレスし、選択的に読み出すことができる。さらに、ウインドウ表示のフレームの動作モードにおいて、イメージリーダー100は、行2802aと2802bからのイメージデータを、選択的にアドレスし、読み出すことができる。図28Bの実施形態において、ウインドウ表示のフレームの動作モードが、図示され、そこでは、ウインドウ表示のイメージデータは、イメージセンサアレイモジュール182の中心にある、位置的に連続するピクセルの集まり(例えば、お互いに隣接するピクセルの集まり)のみを、選択的にアドレスし、読み出すことにより、イメージセンサアレイモジュール182から読み出される。図28Cの実施形態において、ウインドウ表示のフレームの動作モードが図示され、そこでは、ウインドウ表示のイメージデータは、位置的に連続するピクセルの10×10ブロックの、離れて配置されたクラスターを、選択的に読み出すことにより、イメージセンサアレイモジュール182から読み出される。図28A、28B、または28Cを参照して記述されたすべてのウインドウ表示のフレームの動作モードにおいて、イメージセンサのピクセルの半分より少ないものに対応するイメージデータが、選択的に、アドレスされ、読み出される。ウインドウ表示のフレームの動作モードで動作するとき、イメージリーダー100は、図28A、28Bあるいは28Cで図示されるパターンの1つ、またはそれ以上のピクセルに対応する入射光に対応するイメージデータを集めることができる。このようなイメージデータの集まりは、グレースケール値の集まりを含んでもよく、かつ、ウインドウ表示のフレームのイメージデータと呼ばれてもよい。
ここで記述されたウインドウ表示のフレームの動作モードは、フルフレームのイメージデータが、メモリモジュール116の中にストアされ、そののち、そのフルフレームのイメージの部分が、さらなる処理を受ける問題の領域(すなわち、“サンプル”領域)として指定される代わりの動作モードと対比される、ウインドウ表示のフレームの動作モードにおいて、1フレームのイメージデータは、古フレームのイメージデータを集めるのに必要とされる時間の一部内において集めることができる。
プロセス800をさらに参照して、イメージリーダー100はステップ824で、ウインドウ表示のフレームのイメージデータを分析し、イメージリーダー100の焦点合わせ特徴を決定する。ウインドウ表示のフレームのイメージデータを分析して焦点合わせ特徴を決定するステップは、さらに、図29のフロー図、図30Aと図30Bのヒストグラムプロットを参照して記述される。ステップ4102でイメージリーダー100は、ステップ820で読み出された現在のウインドウ表示のフレームのイメージデータのピクセル値のヒストグラムプロットを構築する。図30Aは、受け入れ可能に焦点合わせされている、バイトーンイメージ(単色基板上のバーコードシンボルにおけるような)に対応する行のデータのピクセル値のヒストグラムプロットである。ヒストグラムプロット4108は、高コントラストイメージを表し、グレースケールの高い側での多くのピクセル値、グレースケールの低い側での数多くのピクセル値、およびグレースケールレンジの中央でのほとんどないピクセル値を含むものである。図30Bは、焦点がよく合っていないバイトーンイメージに対応するウインドウ表示のフレームのイメージデータのピクセル値のヒストグラムプロットである。ヒストグラム4110により要約されるイメージデータは、「よりフラットな」、よりコントラストのないイメージであり、これは、グレースケールの両端においてより少ないピクセル値を持ち、グレースケールの中心においてより多くのピクセルを持つことを意味している。したがって、イメージの焦点レベルはイメージコントラスト情報を用いて容易に決定することができることが見られる。
ステップ4104において、イメージリーダー100が集められたヒストグラムデータを評価する。ブロック4104でイメージリーダー100は、レンズ212のための適切なイン焦点設定を決定するか、あるいは、現在の行のイメージデータから抽出されたヒストグラムが、イメージリーダー100が、現在のレンズ位置に受け入れ可能に焦点合わせされていることを示すかどうかを決定する。イメージリーダー100がステップ4104でレンズ212のための適切な設定を決定するとき、ヒストグラムデータは、現在のウインドウ表示のフレームのイメージデータからであってもよく、あるいは現在のウインドウ表示のフレームのイメージデータと、以前に集められた1あるいはそれ以上のフレームのウインドウ表示のイメージデータのとの結合に基づくものであってもよい。さらなる側面において、レンズ212の位置または設定値は、読み出され、解析された各行のイメージデータのヒストグラム情報が、レンズ212の、ウインドウ表示のフレームのイメージデータ情報が集められた時点での位置を示すレンズ位置データと関連したものであるよう記録される。ステップ4104において、イン焦点レンズ設定を決定するための遷移関数は、ヒストグラムプロットにおいて要約されたウインドウ表示のフレームコントラスト情報ばかりでなく、各集められたウインドウ表示のフレームのイメージデータと関連するレンズ212の位置を示すレンズ位置データを利用することができる。
プロセス800のさらなるステップを参照して、イメージリーダー100はステップ814で、レンズ212が、連続的な動きにあるか、階段状の連続的な動きにあるかを制御することができる。連続的な動きにあると制御されるとき、レンズ212は、ウインドウ表示のフレームのイメージデータに対応するピクセルが露出され、かつ読み出される時間を通して、連続的に移動する。階段状の連続的な動きにあると制御されるとき、レンズ212は、ウインドウ表示のフレームのイメージデータに対応しているピクセルが露出され、読み出される時間を通して、移動し、停止する。レンズ212が階段状の連続的な動きにあるよう制御するイメージリーダー100の1つの実施形態において、イメージリーダー100は、レンズを2つの極ポイント、第1の遠フィールド位置と、第2の近フィールド位置との間で、連続的に移動させる。レンズ212が階段状の連続的な動きにあるよう制御するイメージリーダー100のもう1つの実施形態において、イメージリーダー100は、レンズ212を、2つの極点の間で移動させ、かつ該2つの極点間の、1つまたはそれ以上の点で、レンズ212を簡欠的にストップさせる。階段状の連続的な動きにあるよう制御されるレンズ212は、動き期間、すなわち、その間にレンズが移動する時間と、レンズが一時的にアイドルである時間に対応する停止期間とを持つと、考えることができる。本発明の1つの実施形態において、レンズ212の動きと、行のピクセルからのイメージデータの読み出しとは、調整されている。さらに、レンズ212の動き期間の間に露出されるピクセルに対応するイメージデータの処理は、ある実施形態において有用であるが、イメージリーダー100は、レンズ212の動き期間の間に露出されたピクセルに対応するイメージデータが、例えば分析ステップ824の間に破棄されるように構成することができる。
一般に図25を参照して記述されるプロセスの特定の実施形態は、図26および27のフロー図を参照して記述される。図26の実施形態において、イメージリーダー100は、ステップ824で、その時点までに集められたウインドウ表示のフレームのイメージデータに基づき、イン焦点設定を決定するよう試みる。もし、イメージリーダー100が、ブロック828aで、イメージリーダー100のイン焦点位置を決定するのに十分な情報が集められたと決定すれば、イメージリーダー100はステップ828bに進み、レンズを決定されたイン焦点位置にまで動かす。もし十分な情報が集められなかったなら、イメージリーダー100はステップ820に戻り、追加的なウインドウ表示のフレームの情報を集める。イメージリーダー100はステップ828bで、例えば、決定されたイン焦点位置が正しいことを確認する目的でレンズ212を動かしながら、ウインドウ表示のフレームのイメージデータを読み出し、処理することを続けることができる。レンズ212が決定されたイン焦点位置に動かされたとき、イメージリーダー100はステップ836に進み、フルフレームのイメージデータ(例えば、プロセス300にしたがって)を集め、そののち、ステップ838に進み、集められたイメージデータをデータフォームデコードモジュール150または自動識別モジュール152のうちの1つに転送する。
図27を参照して記述されたプロセス800の実施形態において、イメージリーダー100はステップ824で、現在のウインドウ表示のフレームのイメージデータ(もっとも最近に集められたウインドウ表示のフレームデータ)を評価し、現在のウインドウ表示のフレームのイメージデータが、イメージリーダー100が現在のところイン焦点にあるかを決定することにより、レンズ212のイン焦点設定を確立することができる。もしイメージリーダー100がステップ828cでイメージリーダー100は現在のところイン焦点ではないと決定するなら、イメージリーダー100はステップ820に戻り、追加的なウインドウ表示のフレームの情報を集める。もしイメージにリーダー100がステップ828でリーダーは現在イン焦点位置にあると決定するなら、イメージリーダー100は(例えば、プロセス300にしたがって)ステップ836に進んで、フルフレームのイメージデータを集め、そののち、ステップ838に進み、集められたイメージデータをデータフォームデコードモジュール150あるいは自動識別モジュール152に転送する。
本発明の変形例において、イメージリーダー100は、ステップ820で所定の数のウインドウ表示のフレームのイメージデータを読み出し、ステップ824で所定の数のウインドウ表示のフレームのイメージデータを解析する。ウインドウ表示のフレームのイメージデータは、同じパターン(例えば、常に図28Aのパターン)を持っていたり、あるいは入れ替わるパターン(例えば、最初は図28A のパターン、次は図28Bのパターン、そして次は図28Cのパターン)を持っていたりする。もう1つの変形例において、イメージリーダー100は、各集められたウインドウ表示のフレームのイメージデータを、集めたのに続いて、データフォームデコードモジュール150および/または自動識別モジュール152に転送する。ステップ824においてイメージリーダー100は、イメージリーダー100のイン焦点設定を決定するために、所定の数のフレームのイメージデータを解析する。イン焦点設定を決定するにおいて、イメージリーダー100は、複数のウインドウ表示のフレームのイメージデータからのもっともよく焦点の合った(高いコントラストの)ウインドウ表示のフレームのイメージデータと関連したイン焦点設定を選択することができる、あるいはそうでなければ、イメージリーダー100は、集められた複数のウインドウ表示のフレームからのイメージデータを利用して焦点設定を計算することができる。プロセス800の変形の任意のものにおいて、イメージリーダー100はステップ836で、イメージリーダー100のイン焦点設定を、レンズ212を決定された設定位置までイン焦点設定を確立するために移動させる前あるいは後に、決定した後に、フルフレームのイメージデータを集めることができる。
プロセス400およびプロセス800を参照して、イメージリーダー100は、“イン焦点”位置を確立するにおいて、レンズ212の予想されるまたは現在の位置を、他の利用可能なレンズ焦点位置より良い焦点に対象指標をもたらすような、予想されるまたは現在のレンズ位置に基づいて、“イン焦点”にあるよう指定することが理解されるであろう。これにより、レンズ焦点位置が、一般的な意味で高度に焦点合わせされていない場合は、リーダー100はそれでもやはり、もしそれが他の利用可能なレンズ位置より目標をよりイン焦点にするのであれば、該位置を“イン焦点”にあると指定するであろう。1つの特定の実施形態において、レンズ212は、それが階段状の連続的動きをするよう制御されるときは、限定された数の分離した位置(例えば、2つの位置)の間で、“トグルされる”よう制御される。このような1つの実施形態において、イメージリーダー100は、もしレンズ位置が指標を残りの可能な位置よりよりイン焦点にあるようにするのであれば、限定された数の可能な分離した位置のうちの1つを“イン焦点”であるとして指定する。特に、レンズ212が限定された数の分離した位置の間で“トグルされる”構成では、焦点決定プロセスは、省略され、イメージデータはデコードモジュール150または自動識別モジュール152に直接転送され得る。特に、限定された数の代わりの焦点位置があるとき、イン焦点位置は、結果が成功的なデコードにおいてどの位置にあるかに依存して容易に識別することができる。デコードの試みによりイン焦点位置を識別することは、平均デコード時間を削減することができる。
いくつかの利用可能なイメージセンサアレイは、限定された数のエッジ列および/または行が、パッケージングの問題(すなわち、エッジピクセルは、チップのパッケージング材料によりカバーされる)、または特定のアスペクト比への形状のために、読み出されない構成、または動作モードをもつことが理解されるであろう。イメージセンサからのイメージデータが、イメージセンサのピクセルのすべてから、あるいは限定された数の行および/または列エッジピクセルを除く実質的にすべてのピクセルから読み出される場合は、このようなイメージデータ収集は、フルフレームのイメージデータの収集であると、ここでは考慮される。
プロセス400、およびプロセス800を参照して、レンズ212は、連続的な動きと、階段状の連続的な動きのうちの1つにあるよう、制御され得ることが述べられてきた。レンズ212が連続的な動きにあるよう制御されるとき、イメージリーダー100の焦点設定は、時間にわたって変化するよう制御されることが、見られるであろう。レンズ212が階段状の連続的な動きにあるよう制御されるとき、レンズ212、およびそれゆえ、イメージリーダー100の焦点設定は、時間にわたってステップ状に変化するよう制御される。さらに、プロセス400、またはプロセス800にしたがったレンズ212が、階段状の連続的な動きにあるよう制御される動き期間内にあるとき、レンズ212の焦点設定は、変化する状態にある。レンズ212が階段状の連続的な動きにあるよう制御される、レンズ212の停止期間の間に、イメージリーダー100の焦点設定は、一時的にアイドル状態にある。
再び 図1Aを参照して、以下の記述は、上記で提示されたイメージリーダー100におけるモジュールについての追加的な詳細を与える。種々の実施形態において、制御モジュール112は、オンチップの早いアクセスの可能なメモリを含む中央処理装置、応用特定集積回路(ASICs)ばかりでなく、ソフトウェア、ファームウェア、およびデジタル的に符号化された論理を含むことができる。メモリモジュール116は、データ貯蔵のために、リードオンリー(ROM)、ランダムアクセス(RAM)、および不揮発性プログラマブルメモリの任意の1つ、またはそれ以上よりなることができる。ROMベースのメモリは、セキ
ュリティーデータ、イメージリーダーOSオペレーティング指令、および他のモジュール用のコードを収容するのに使用することができる。RAMベースのメモリは、イメージリーダー動作の間の一時的なデータ貯蔵を促進するために使用することができる。不揮発性メモリは、種々の形を取ることができ、代表的には、消去可能なプログラマブルROM (EPROM)、および電気的に消去可能なプログラマブルROM(EEPROM)がある。いくつかの実施形態においては、不揮発性メモリは、イメージリーダー100が、その無活動な、あるいは電力節減“スリープ”状態にあるとき、データが維持されることを保証するのに使用される。
I/Oモジュール120は、イメージリーダー100と、他の電子装置との間に可能な双方向通信を確立するために使われる。I/Oモジュールの一部を構成することのできる要素の例は、ワイヤレス、あるいは有線のイーサネット(登録商標)インタフェース、ダイアルアップまたはケーブルモデムインタフェース、USBインタフェース、PCMCIAインタフェース、RS232インタフェース、IBMテールゲートインタフェースRS485インタフェース、PS/2キーボード/マウスポート、専門的なオーディオおよび/またはビデオインタフェース、コンパクトフラッシュ(登録商標)インタフェース、PCカードスタンダードインタフェース、メモリ用セキュアデジタルスタンダード、入出力装置用セキュアデジタルインプットアウトプット、および/または、任意の他の標準または専用のデバイスインタフェースを含む。コンパクトフラッシュ(登録商標)インタフェースは、ウェブサイトhttp://www.compactflash.org において維持された コンパクトフラッシュ(登録商標)仕様バージョン2.0で記述される、コンパクトフラッシュ(登録商標)スタンダードに従って設計されたインタフェースである。コンパクトフラッシュ(登録商標)仕様バージョン2.0のドキュメントは、その全体がここに参照により組み入れられる。PCカードスタンダードインタフェースは、例えば、パーソナルコンピュータ・メモリカード国際協会(PCMCIA)によって維持され、http://www.pcmcia.org でのウェブサイトを通して利用可能である、PCカードスタンダード8.0リリース‐2001年4月 により記述されたような、PCカードスタンダードに従って設計されたインタフェースである。PCカードスタンダード8.0リリース‐2001年4月 仕様書バージョン2.0ドキュメントは、その全体がここに参照により組み入れられる。
作動モジュール124は、今まで述べてきたプロセス300、プロセス400、プロセス600、プロセス800に従ったデータ収集、および処理のようなイメージリーダー100の種々の側面の動作を始めるのに使用される。プロセス300、プロセス400、プロセス600、およびプロセス800のステップのすべては、作動モジュール124による各プロセスの開始に応答して自動的に実行される。イメージリーダー100は、プロセス300、プロセス400、プロセス600、プロセス800のステップが開始されたときは、停止条件が満たされるまで自動的に継続するよう構成することができる。停止条件は、例えば、トリガー信号の生成(例えば、トリガー216の開放により生成されるような)、または所定の数のバーコードシンボルの成功的なデコードであり得る。上記で議論されたハンドヘルドイメージリーダー100aでは、作動モジュールは、押下されたとき、制御モジュール112により受信されるトリガー信号を生成し、制御モジュール112は、順に、制御信号をイメージリーダー100の適切な他のモジュールに送るトリガー216よりなる。イメージリーダー100の固定取り付けされた1つの実施形態において、作動モジュール124は、撮像されるべき目標の存在が検出されたとき、イメージリーダー100の動作を開始するトリガー信号を生成する目標感知モジュールよりなる。トリガー信号が生成されたとき、イメージリーダー100は、アイドル状態から活性読み取り状態に駆動される。作動モジュール124はまた、ローカルの、あるいは遠隔に配置された装置からのコマンドに応答してトリガー信号を生成することができる。
ユーザフィードバックモジュール128は、オペレータに感受的フィードバックを与えるために使用される。種々の実施形態において、フィードバックは、イメージリーダー100における、ビープ音等の音響信号、LEDフラッシュ指示器のようなビジュアルディスプレイ、振動のような機械的感受、あるいはイメージリーダー100の成功的イメージ獲得のような動作の状態をオペレータに示すことができる他の任意の感受的フィードバックを含むことができる。
ディスプレイモジュール132は、例えば、残っているバッテリーおよび/またはメモリ容量、動作モード、および/または他の動作的または機能的詳細を含むイメージリーダー100の動作状態のようなビジュアル情報をオペレータに与えるのに使用される。種々の実施形態において、ディスプレイモジュール132は、ディスプレイと調和したオペレータの触覚入力を受けるオプションのタッチパッドスクリーンオーバーレイを持つLEDフラットパネルディスプレイにより与えられることができる。
ユーザインタフェースモジュール134は、オペレータとイメージリーダー100の間の通信のためのインタフェース機構を与えるために使われる。種々の実施形態において、ユーザインタフェースモジュール134は、キーパッド、機能特定的な、またはプログラマブルなボタン、ジョイスティック、またはトグルスイッチ、などよりなる。もし、ディスプレイモジュール132が、上記したようなタッチパッドスクリーンオーバーレイを含むなら、ディスプレイモジュールは、ユーザインタフェースモジュール134における要素により代替的に与えられる入力機能性のいくつかを取り入れることができる。
いくつかの実施形態において、RFIDモジュール136は、ISO/TEC14443に従っている、RFIDコンタクトレス装置を尋問することのできるRPID尋問器、およびRFIDタグが発する回答をリカバーすることのできるリーダーである。国際標準化機構(ISO)と国際電気標準会議(IEC)は、世界的な標準化のための専門化されたシステムを定義する団体である。他の実施形態において、RFIDモジュール136は、ISO/IEC10536、またはISO/IEC15963にしたがって動作する。ISO/IECによって広められたコンタクトレスカードスタンダードは、ISO/IEC10536(近接結合カード)、ISO/IEC14443(近傍カード)、およびISO/IEC15693(近隣カード)で実施されたような種々のタイプをカバーする。これらは、関連する結合デバイスから、非常に近い、近くである、および長い距離にあるときに、それぞれ動作するように意図されている。いくつかの実施形態において、RFIDモジュール136は、電子製品コード(EPC)、MITのオートIDセンターによって提案されたコードフォーマットにしたがって記録された情報よりなるタグを読むために構成されている。いくつかの実施形態において、RFIDモジュール136は、専有のプロトコルに従って動作する。いくつかの実施形態において、RFIDモジュール136は、尋問されたRFIDタグから受信した情報のすくなくとも一部を、コンピュータプロセッサーに送り、これは、該情報を、インターネットを介してアクセス可能なサーバー上にストアされたデータにアクセスする、または検索するために使用する。いくつかの実施形態において、その情報は、RFIDタグ、あるいはRFIDタグと結合した目標のシリアルナンバーである。
いくつかの実施形態において、スマートカードモジュール140は、ISO/IEC7816に従っているスマートカードリーダーであって、適切に設計されたチップベースのスマートカードとの通信を打ち立てるため電気的コンタクトを持つものである。スマートカードモジュール140は、取り付けられたスマートカードに対して、データを読み、あるいはいくらかの場合にはデータを書くことが可能である。
いくつかの実施形態において、例えば、クレジットカード上で使われるトラックのような、1またはそれ以上のトラック上の、磁気の形で符号化された情報を運ぶカードのような目標を読み出すことのできる磁気ストライプリーダーである。他の実施形態において、磁気ストライプカードモジュール144は、銀行小切手上に、アメリカ銀行協会ルーティング番号、アカウント番号、小切手連続番号、およびドラフト量を、示すように見られる磁気インクを用いて印刷された文字を読み出すための、磁気文字読み取り装置である。いくつかの実施形態において、両タイプの磁気読み取り装置が設けられる。
イメージリーダー100のいくつかの実施形態において、RFIDモジュール136の機能性、スマートカードモジュール140、および磁気ストライプカードモジュール144の機能性は、松下電器産業株式会社から入手可能なパナソニック集積スマートカードリーダーモデル番号 ZU-9A36CF4のような単一つのトリブリッドリーダーモジュール内に結合されている。ZU-9A36CF4は、2004年3月の日付の、「手動挿入タイプの集積スマートリーダー」という名称の、パナソニック仕様書番号MIS-DG60C194(改訂版1.00)において詳細に記述されている。この文書は、その全体が参照によりここに組み入れられる。
デコーダモジュール150は、UPC/EAN、コード11、コード39、 コード128、 Codabar、Interleaved 2of5、MSI、PDF417、MicroPDF417、コード16K、コード49、 MaxiCode、アズテック、アズテックメサ、データマトリックス、Qcode、QR コード(登録商標)、UCC複合物、Snowflake、 Vericode、Dataglyphs、RSS、BC412、コード93、Codablock、Postnet(US)、BPO4ステート、カナダ4ステート、日本郵便、KIX (オランダ郵便)、 Planetコード、OCRA、OCR B、等のような、1次元および2次元バーコードのような目標データをデコードするために使われる。いくつかの実施形態において、該デコーダモジュールはまた、それをして、上記リストされた複数のバーコードの間で自動的に識別をすることを許す自動識別機能性を含む。該デコーダ150の、デコード可能な指標の特徴の測定のような機能性は、2004年11月5日に出願された、関連する米国出願第10/982,393号において記述されている。この出願は、その全体が参照によりここに組み入れられる。
本発明の原則にしたがって構成されたイメージリーダー100のもう1つの例は、図15A、15B、および15Cにおける異なる斜視図に示される形態データ端末100bである。図15Aが上面斜視図を示し、図15Bが正面斜視図を示し、図15Cが後方斜視図を示す。示されるように、1つの実施形態における携帯データ端末100bは、ディスプレイ504、キーボード508、例えばカーソルを位置付けるためのインタフェースボタン512、(図示されない)ステイラスホルダー524を持つスタイラス520を含むインタフェース要素を含む。該携帯データターミナル100bはさらに、レンズ212b、および光源160bを含む。さらなる実施形態において、携帯データ端末は、多数の取り外し可能なコンピュータ周辺機器の付加により、その機能性を拡張することができた。種々の実施形態において、コンピュータ周辺機器は、磁気ストライプリーダー、指紋スキャナーのようなバイオメトリックリーダー、レシートプリンターのようなプリンター、RFIDタグまたはRF支払いリーダー、スマートカードリーダー等のうちの、1つまたはそれ以上を含むことができる。種々の実施形態において、携帯データ端末100bは、700 Visions Drive, P.O. Box 208, Skaneateles Falls, NYの、ハンドヘルドプロダクトインコーポレーティッドから入手可能な、Dolphin 7200、7300、7400、7900、または、9500シリーズモバイルコンピュータであり、本発明にしたがって構成することができる。ハンドヘルドコンピュータデバイスの、特に、該デバイスのハウジングの種々の詳細は、2004年9月10日に出願された、名称“Hand Held Computer Device”の、関連する米国出願第10/938,416号において詳細に記述されている。この出願は、その全体がここに参照により組み入れられる。
携帯データ端末100bはさらに、ダイアルアップまたはケーブルモデムインタフェース、USBインタフェース、PCMCIAインタフェース、イーサネット(登録商標)インタフェース、RS232インタフェース、IBMテールゲートインタフェースRS485インタフェース、 コンパクトフラッシュ(登録商標)インタフェース、PCカードスタンダードインタフェース、メモリ用セキュアデジタルスタンダードインタフェース、入出力装置用セキュアデジタルインプットアウトインタフェース、および/または、任意の他の標準または専用デバイスインタフェース、のような電気-機械インタフェース532を含む。種々の実施形態において、電気-機械インタフェース532は、取り付けられるコンピュータ周辺機器の一部として使用することができる。
携帯データターミナル100bの1つの実施形態の電気ブロック図が、図16に示される。図16の実施形態において、イメージ収集モジュール108bは、536がイメージセンサチップ546上に設けられ、撮像光学素子544を関連づけた2次元イメージセンサを含む。関連づけられた撮像光学素子544は、(図示されない)レンズ212bを含む。イメージセンサチップ546は、Skaneateles Falls,NYの、ハンドヘルドプロダクトインコーポレーティッドから入手可能であり、本発明にしたがって構成されるタイプの、IT4000あるいはIT4200イメージエンジン内において設けられることができ、上記で記述された、KAC-0311またはMicron MT9V022イメージセンサアレイのような適切な商業的に利用可能なチップであることができる。携帯データターミナル100bはまた、光源160bおよび照明制御モジュール164bを含む照明モジュール104bを含む。これらの照明モジュールはまた、上記で述べたIT4000およびIT4200の集積部分でもある。携帯データターミナル100bはさらに、例えば、インテルストロングアームRISCプロセッサ、またはインテルPXA255プロセッサ、によって与えられるようなプロセッサICチップ548であることができる。プロセッサICチップ548は、中央処理装置(CPU)552を含む。イメージを取り込むために、プロセッサICチップ548は、適切な制御およびタイミング信号を、上記したように、イメージセンサチップ546に送る。プロセッサICチップ548はさらに、チップ546によって生成されたイメージデータのRAM576への転送を、管理する。プロセッサICチップ548は、図1Aに関連して記述されたように、1つ、またはそれ以上のモジュール、例えば、モジュール104、108、112、116、120、124、128、132、134、136、140、144、150、152、165、168の機能を、部分的に、あるいは全体的に実行するよう構成することができる。
上記で示されたように、ポータブルデータターミナル100bは、液晶ディスプレイのようなディスプレイ504、キーボード508、802.11無線通信リンク556のような、複数の通信またはラジオトランシーバー、グローバルシステムフォーモバイル通信/汎用パケットラジオサービス(GSM(登録商標)/GPRS)無線通信リンク560、および/または、ブルートゥース無線通信リンク564を含む。追加的な実施形態において、ポータブルデータターミナル100bはまた、音声またはデータ通信のような情報を、符号分割多元接続(CDMA)、セルラーデジタルパケットデータ(CDPD)、Mobitexセルラーフォンおよびデータネットワークおよびネットワーク要素を介して送信する能力を有することができる。他の実施形態において、ポータブルデータターミナル100bは、DataTAC(登録商標)ネットワークまたは無線ダイアルアップ接続を用いて情報を送信することができる。
ポータブルデータターミナル100bはさらに、赤外線の(IR)通信リンク568を含むことができる。キーボード508は、マイクロコントローラチップ572を介してICチップ548と通信することができる。ポータブルデータターミナル110bはさらに、上記で記述されたように、データをRFIDタグに読み出す、あるいは書き込むRFID回路網578、および回路網可能化クレジットカードのようなスマートカードとの電気的通信を確立する電気的コンタクト590を含むスマートカード回路網586を、含むことができる。ポータブルデータターミナル100bはさらに、揮発性メモリおよび不揮発性メモリを含むメモリ574を含む。1つの実施形態における揮発性メモリは、一部、RAM576によって与えられる。不揮発性メモリは、一部、ROM580によって与えられ得る。プロセッサICチップ548は、システムバス584を介してRAM576およびROM580と通信する。プロセッサICチップ548、およびマイクロコントローラチップ572はまた、揮発性および不揮発性メモリの領域を含む。制御モジュール112における要素のような、上記で議論したモジュールの少なくともいくつかは、すくなくとも一部ソフトウェアで実装されるような場合は、ソフトウェア要素は、ROM580のような不揮発性メモリ内にストアすることができる。1つの実施形態において、プロセッサICチップ548は、それ自身がCPU552およびメモリ574を使用する制御回路を含む。メモリ574の不揮発性領域はプログラム動作指令をストアするために使用することができる。
種々の実施形態において、プロセッサICチップ548は、いくつかの直列インタフェース(例えば、汎用の、イーサネット(登録商標)の、ブルートゥースの)、および並列インタフェース(例えば、PCMCIA 、コンパクトフラッシュ(登録商標))を含む、(すべては、図16に図示されない)多くのI/Oインタフェースを含むことができる。
1つの実施形態において、プロセッサICチップ548は、フレームのイメージデータを、例えば、1次元、または2次元バーコードを、またはOCR文字のセットを、デコードするよう、フレームのイメージデータを処理することができる。種々のバーコード、および/または、OCRデコードアルゴリズムは、ハンドヘルドプロダクトインコーポレーティッドから入手可能な、デコーダーボードを持つIT4250イメージエンジンの組み込み等により、商業的に利用可能である。1つの実施形態において、デコーダーボードは、UPC/EAN、コード11、コード39、 コード128、 Codabar、Interleaved 2of5、MSI、PDF417、MicroPDF417、コード16K、コード49、 MaxiCode、アズテック、アズテックメサ、データマトリックス、Qcode、QR コード(登録商標)、UCC複合物、Snowflake、 Vericode、Dataglyphs、RSS、BC412、コード93、Codablock、Postnet (US)、BPO4ステート、カナダ4ステート、日本郵便、KIX (オランダ郵便)、Planetコード、OCR A、OCR B、等のようなシンボロジーを解読する。
他の動作の間で、赤外線トランシーバー568は、放送モードでのポータブルデータターミナル100bからのデータを、受信モードでのポータブルデータターミナル100bに、赤外線コピーすることを促進する。データコピーセッションの間の赤外線トランシーバー568の利用は、単一の放送装置からのデータ放送が、いくつかの受信装置により、該受信装置のいずれもが放送装置に物理的に接続されていなくても、同時に受信されることを可能とする。
追加的なさらなる実施形態において、イメージリーダー100は、700 Visions Drive,P.O. Box 208, Skaneateles Falls, NYのハンドヘルドプロダクトインコーポレーティッド から入手可能である、かつ本発明に従って構成された、トランザクションターミナルイメージKiosk 8870のようなトランザクションターミナル内に収容することができる。さらなる実施形態において、イメージリーダー100は、700 Visions Drive, P.O. Box 208, Skaneateles Falls, NYのハンドヘルドプロダクトインコーポレーティッドからの、IMAGETEAM 3800E線形イメージエンジン、またはIMAGETEAM 4710 2次元リーダーのような固定されたマウントシステム内に収容することができる。
種々の実施形態において、照明モジュール104、像収集モジュール108、制御モジュール112、メモリモジュール116、I/Oモジュール120、作動モジュール124、ユーザフィードバックモジュール128、ディスプレイモジュール132、ユーザインタフェースモジュール134、RFIDモジュール136、スマートカードモジュール140、磁気ストライプカードモジュール144、デコーダモジュール150、照明制御モジュール164、電力モジュール168、インタフェースモジュール172、光学部品モジュール178、センサアレイモジュール182、センサアレイ制御モジュール186、グローバル電子シャッター制御モジュール190、行および列アドレスおよびデコードモジュール194、および読み出しモジュール198、回転シャッター制御モジュール202、および自動焦点モジュールを含む、上記したモジュールは、ソフトウェア、ファームウェア、および/またはハードウェアの異なる結合において実行することができる。
本発明で使用することのできる機械可読蓄積媒体は、磁気フロッピー(登録商標)ディスクおよびハードディスク、DVDドライブ、CDドライブであって、いくつかの実施形態においては、DVDディスク、およびCD-ROMディスク(すなわち、リードオンリー光学蓄積ディスク)CD-Rディスク(すなわち、一回書き込み、多数回読み出し光学蓄積ディスク)、およびCD-RWディスク(すなわち、再書き込み可能な光学蓄積ディスク)のような電子、機械、磁気および/光学蓄積媒体を含む;および、RAM、ROM、EPROM、コンパクトフラッシュ(登録商標)カード、PCMCIA カード、あるいは、SD またはSDIOメモリのような電子記録媒体を含む;および、蓄積媒体を収容し、読み出しおよび/書き込みを行う電子要素(例えば、フロッピー(登録商標)ディスクドライブ、DVDドライブ、CD/CD-R/CD-RWドライブ、またはコンパクトフラッシュ(登録商標)/PCMCIA/SDアダプタ)を含む。機械可読記憶媒体の技術において当業者によく知られているように、データ貯蔵のための新しい媒体およびフォーマットは絶えず工夫されてきており、任意の簡便な、商業的に利用可能な蓄積媒体、および将来利用可能であろう対応する読み出し/書き込みデバイスが、特にもしそれがより大きい蓄積容量、より高いアクセススピード、より小さいサイズ、およびより低い蓄積情報のビットあたりコストを与えるものであれば、使用されるのに適切であるであろう。よく知られたより古い機械読み取り可能な媒体、例えば、パンチされたペーパーテープまたはカード、テープまたはワイヤ上の磁気記録、印刷された文字(例えば、OCRおよび磁気的に符号化されたシンボル)の光学的、または機械的読み取り、および1次元または2次元バーコードのような機械可読シンボルはまた、ある条件の下で使用に利用可能であろう。
当業者であれば、電気、および電子装置の多くの機能は、ハードウェア(例えば、ハードワイヤード論理)で、ソフトウェア(例えば、汎用プロセッサ上で動作するプログラム内に符号化された論理)で、および、ファームウェア(例えば、必要とされるプロセッサ上での動作のために含まれる不揮発性メモリ内で符号化された論理)で、実装することができることを認識するであろう。本発明は、ハードウェア、ファームウェア、およびソフトウェアの1つの実行を、ハードウェア、ファームウェア、およびソフトウェアの異なるものを用いて実行するものに変えて、置き換えることを考慮に入れている。実行が遷移関数により数学的に表現される、すなわち、遷移関数を表現する“ブラックボックス”の入力端子に印加される特定の励起に対して特定の応答が出力端子にて生成される、限りにおいて、遷移関数の部分またはセグメントのハードウェア、ファームウェア、ソフトウェアの実行の任意の結合を含む遷移関数の任意の実行は、ここに考慮される。
本発明はここで開示された構造を参照して説明されたが、ここであげられた細部には限定されるものではなく、本発明は、請求項の範囲および精神の中に入る任意の修正および変更をカバーすることが意図される。