(57)【要約】【課題】画素の論理行が、画像取込装置の物理画素構造と整合していない画素の論理行の読取速度を向上させる。【解決手段】複数の画素セルを有し、画像の一部を表示する複数の行および列に形成された画素アレイと、コマンドおよびデータを送受信するための外部インタフェースと、前記外部インタフェースから前記コマンドを受信し、前記画像取込装置を制御するためのタイミングおよび制御ロジックと、を備え、論理画素行を読み出すための１つのコマンドが、前記タイミングおよび制御ロジックに、前記論理画素行を有する複数の画素を識別させ、前記外部インタフェースへ転送させ、前記複数の画素が、前記画素アレイ内の複数の行および列から読み出され、前記複数の行の上を少なくとも１つの異なる列を読み出す。【選択図】図２
2010140481.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素セルを有し、画像の一部を表示する複数の行および列に形成された画素アレイと、
コマンドおよびデータを送受信するための外部インタフェースと、
前記外部インタフェースから前記コマンドを受信し、前記画像取込装置を制御するためのタイミングおよび制御ロジックと、
を備え、
論理画素行を読み出すための１つのコマンドが、前記タイミングおよび制御ロジックに、前記論理画素行を有する複数の画素を識別させ、前記外部インタフェースへ転送させ、前記複数の画素が、前記画素アレイ内の複数の行および列から読み出され、前記複数の行の上を少なくとも１つの異なる列を読み出す、ことを特徴とする画像取込装置。
【請求項２】
論理画素行を読み出すための前記コマンドが、前記論理画素行を含む前記画素アレイ内の前記画素を定義する情報を含む、請求項１に記載の画像取込装置。
【請求項３】
前記情報が、読み出すための前記第１の画素の位置を含む、請求項２に記載の画像取込装置。
【請求項４】
前記情報が、前記論理画素行を含む前記残りの画素を定義する点と傾きの情報をさらに含む、請求項３に記載の画像取込装置。
【請求項５】
識別され、前記外部インタフェースに転送された前記複数の画素が、前記論理画素行を含むすべての画素を含む、請求項１に記載の画像取込装置。
【請求項６】
全論理画素行を読み出す画像取込装置による画像取込方法であって、
前記画像取込装置内の画素アレイから全論理画素行を読み出すためのコマンドを受信するステップであって、前記画素アレイの前記画素が、行および列の形に組織され、前記論理画素行を含む画素が、複数の行および列内に常駐し、前記複数の行の上を少なくとも１つの異なる列が読み出されるステップと、
画素アレイ内で、前記論理画素行を含む第１の画素を識別するステップと、
前記第１の画素のデータを、外部インタフェースに転送するステップと、
前記画素アレイ内で、前記論理画素行を含む以降の画素を識別し、前記以降の画素のデータを前記外部インタフェースに転送し、前記論理画素行を含むすべての画素が、識別され、前記外部インタフェースに転送されるまでこのステップを繰り返すステップと、
の各ステップを含む画像取込方法。
【請求項７】
前記コマンドが、前記論理画素行を含む前記画素アレイからすべての画素を識別する情報を含む、請求項６に記載の画像取込方法。
【請求項８】
前記情報が、前記画素アレイから、前記論理画素行を含むすべての画素を識別するための点と傾きの方法を使用する、請求項７に記載の画像取込方法。
【請求項９】
光学コードを読み出すための画像取込装置であって、
店舗サーバ・コンピュータと、
前記店舗サーバ・コンピュータに接続しているネットワークと、
前記ネットワークに接続している光学コード画像スキャナであって、前記光学コード画像スキャナが、
前記光学コードの画像を取り込むための画像取込装置を備え、前記画像取込装置が、
各画素が取り込んだ画像の一部を表している複数の行および列の形に組織されている画素アレイと、
前記画像取込装置にコマンドおよびデータを送受信するための外部インタフェースと、
前記外部インタフェースからコマンドを受信し、前記画像取込装置を制御するためのタイミングおよび制御ロジックと、
を備え、
論理画素行を読み出すための１つのコマンドが、前記タイミングおよび制御ロジックに、前記論理画素行を含む複数の画素を識別させ、前記外部インタフェースへ転送させ、前記複数の画素が、画素アレイ内の複数の行および列から読み出され、前記複数の行の上を少なくとも１つの異なる列が読み出される光学コード画像スキャナと、
を備える画像取込装置。
【請求項１０】
論理画素行を読み出すための前記コマンドが、前記論理画素行を含む前記画素アレイ内の前記画素を定義する情報を含む、請求項９に記載の画像取込装置。
【請求項１１】
前記情報が、読み出すための前記第１の画素の位置を含む、請求項１０に記載の画像取込装置。
【請求項１２】
前記情報が、前記論理画素行を含む前記残りの画素を定義する点と傾きの情報をさらに含む、請求項１１に記載の画像取込装置。
【請求項１３】
識別され、前記外部インタフェースに転送された前記複数の画素が、前記論理画素行を含むすべての画素を含む、請求項９に記載の画像取込装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードの画像取込装置に関し、特に、画素の論理行が、画像取込装置の物理画素構造と整合していない画素の論理行を読み出すための速度を向上させた画像読取技術に関する。
【背景技術】
【０００２】
画像読取装置の一つであるバーコード・スキャナは、情報を格納するためのバーコードに依存する種々様々な用途に使用される。小売業界、航空業界、セルフサービス業界、自動車業界、小荷物配達業界、製薬業界、医療業界およびその他の業界のような産業は、在庫管理、顧客識別、アイテムの追跡、セキュリティおよび多くの他の機能を行うためにバーコードを使用している。典型的なバーコードは、スペースにより分離されている多数のバーより構成されている。情報は、バーおよびスペースの幅を変化させることによりバーコード上で符号化される。バーコードがバーコード・スキャナの視野内に置かれると、スキャナは、その内部で符号化されている情報を検索するために、バーコードを含むバーおよびスペースを検出し、分析し、復号する。この動作は、バーコードの走査または読み取りとも呼ばれる。バーコード上で符号化されている情報は、通常、一連の英数字記号（例えば、万国製品コード（ＵＰＣ：Ｕｎｉｖｅｒｓａｌ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅ）またはＥＡＮ（Ｅｕｒｏｐｅａｎ  Ａｒｔｉｃｌｅ  Ｎｕｍｂｅｒ）コード）である。
【０００３】
バーコード・スキャナ（画像スキャナとも呼ばれる）は、バーコードのデジタル画像を取り込み、次に、バーコードを検出し、復号するために画像を処理することによりバーコードを読み取る。スキャナにより各バーコードを１回走査するだけで、スキャナに提示されたすべてのバーコードを読み取ることができれば、バーコード・スキャナにとって有利である。これは１回の走査による読み取りの成功と呼ばれる。１回の走査でバーコードを読み取ることに成功すれば、チェックアウト・ステーションのところでの作業の流れを良好に維持するのが楽になり、全チェックアウト・プロセスがスピードアップする。１回の走査での読み取りの成功率が高くなれば、スキャナを操作しているスタッフにかかる負担が少なくなることも分かっている。このことは、オペレータが、チェックアウト端末を操作する顧客である場合に特に当てはまる。
【０００４】
画像取込技術及び画像処理技術をベースとする高性能のパスバイ・バーコード・スキャナは、今までパスバイ走査環境で容易に受け入れられなかった。小売環境においては、画像スキャナは、３０〜５０インチ／秒（７６．２〜１２７ｃｍ／秒）の読取通過速度を達成しなければならない。現在市販されている画像スキャナは、このような速度を達成することができず、それがレーザ・ベースのバーコード・スキャナがパスバイ走査環境を支配しているのである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像スキャナが、このような速い通過速度を達成することができない１つの重大な障害は、それぞれの画像の画素情報が大容量であるため、画像取込装置で取り込んだ画素情報を転送、加工、解読するのに多大な時間を要することである。現在の画像取込装置における画像データの読み取り方法は限られている。結果として、より多くの画像データを画像取込装置で読み取る必要がある。
【課題を解決するための手段】
【０００６】
このため、本発明は、複数の画素セルを有し、画像の一部を表示する複数の行および列に形成された画素アレイと、コマンドおよびデータを送受信するための外部インタフェースと、前記外部インタフェースから前記コマンドを受信し、前記画像取込装置を制御するためのタイミングおよび制御ロジックと、を備え、論理画素行を読み出すための１つのコマンドが、前記タイミングおよび制御ロジックに、前記論理画素行を有する複数の画素を識別させ、前記外部インタフェースへ転送させ、前記複数の画素が、前記画素アレイ内の複数の行および列から読み出され、前記複数の行の上を少なくとも１つの異なる列が読み出される画像取込装置を提供するものである。ここで、前記論理画素行を読み出すための前記コマンドは、前記論理画素行を含む前記画素アレイ内の前記画素を定義する情報を含むことを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】画像スキャン・システムのある実施形態を示す高レベル・ブロック図である。
【図２】画像取込装置のある実施形態を示す高レベル・ブロック図である。
【図３】インクリメント・レジスタおよび関連ロジックを示す高レベル・ブロック図である。
【図４】本発明のある実施形態の高レベル・フローチャートである。
【図５】論理画素行の一例を含む画素アレイの部分図である。
【発明を実施するための形態】
【０００８】
図１は、バーコード１４５を走査するために使用する画像スキャン・システム１００のある実施形態のブロック図の形での高レベル図を示す。画像スキャン・システム１００は、画像スキャナ１１５と、店舗サーバ１５５と、ラベル１５０上に印刷されているバーコード１４５とを含む。画像スキャナ１１５は、コンピュータ・データ・ネットワーク１６０を通して店舗サーバ１５５と通信する。ネットワーク１６０は、有線ネットワーク（例えば、イーサネット（登録商標）・ネットワーク）であってもよいし、無線ネットワーク（例えば、ＩＥＥＥ８０２．１１Ｇベースのネットワーク）であってもよいし、またはこれらの組合せであってもよい。ある実施形態においては、店舗サーバ１５５は、画像スキャナが位置する店舗から物理的に分離されていて、インターネットまたはワイド・エリア・ネットワークまたはこれらの組合せまたは異なるタイプのネットワークを通して画像スキャナ１１５と通信する。ある実施形態においては、複数の画像スキャナ１１５は、店舗サーバ１５５へデータ・ネットワーク１６０を通して通信する。
【０００９】
画像スキャナ１１５は、画像を受信し、画像取込装置１２０上に画像の焦点を結ぶ画像焦点合わせ装置１２５を含む。画像スキャナ１１５は、さらに、処理モジュール１３０と、ユーザ・インタフェース・ハードウェア１４０と、通信ハードウェア１３５とを含む。処理モジュール１３０は、画像スキャナ１１５の他のデバイスおよびモジュールを制御するために、少なくとも１つのプロセッサと、メモリと、格納している命令と、制御装置およびインタフェース・ハードウェアとを備える。処理モジュール１３０は、格納している命令を実行することにより、画像スキャナ１１５を含んでいるか、または画像スキャナ１１５に接続しているハードウェア・デバイスおよびモジュールを制御する。さらに、格納している命令は、プロセッサに、画像取込装置１２０が取り込む画像のようなデータを処理させ、データ・ネットワーク１６０上で使用するプロトコルを実施するために通信ハードウェア１３５を制御させ、画像スキャナ１１５の他のソフトウェア特徴および機能を実施させる。ある実施形態においては、店舗サーバ１５５は、画像スキャナ１１５の更新を、画像スキャナ１１５の格納している命令または動作パラメータに送信する。これらの更新した格納している命令は、画像スキャナ１１５内に格納され、次に、必要に応じて実行される。
【００１０】
画像取込装置１２０は、バーコード１４５から反射した光を電気信号に変換する。反射光のソースは、周囲の光であってもよいし、または十分な周囲の光が得られない場合には、照明装置からの光であってもよい。画像取込装置１２０は、光回路および集積回路の両方を備えるシリコン系デバイスであり、相補型金属酸化膜半導体（ＣＭＯＳ）集積回路として製造することができる。画像取込装置１２０は、電荷結合素子（ＣＣＤ）またはＣＭＯＳデバイスを含むことができる。
【００１１】
画像取込装置１２０は、光学像を、行および列に組織されている画素情報を含む電子デジタル画像に変換することにより、その表面上に焦点を結んでいる光学像を取り込む。画像取込装置１２０からすべての生の画素データを読み取るのにかかる時間は、画像取込装置１２０内のデジタル画像を単に取り込むのにかかる時間と比較すると比較的長い。
【００１２】
ここで図２を参照すると、この図は、画像取込装置１２０の高レベル・ブロック図を示す。この実施形態においては、画像取込装置１２０は、ＣＭＯＳデバイスとして実施される。画素アレイ２０５は、画像取込装置１２０の光学的にアクティブな領域を形成し、光または光子エネルギーが電気エネルギーに変換され、個々の画素データとして格納される領域を形成する。個々の画素セル（本願では、適宜、単に「画素」という）はデータを含んでいて、データの大きさは、ある時間の間に集積した画素アレイ２０５の所与の領域に衝突する光子エネルギー全体の量に比例する。画素は、物理的に複数の行および複数の列に編成される。タイミングおよび制御ロジック２６５は、画像の取り込みおよび取り込んだ画像を示す画素アレイ２０５からの画素データの読み取りを含む画像取込装置１２０の動作を制御する。外部インタフェース２６０は、外部デバイス（すなわち、プロセッサまたは画像取込装置１２０からのデータを処理するように設計されているかまたはプログラミングされている特殊なハードウェア）へのタイミングおよび制御ロジック２６５へのアクセスおよび制御を可能にする。外部インタフェース２６０は、また、外部デバイスからのコマンドを受信し、画素データを含むデータを送受信するためにも使用される。画像取込装置１２０により取り込んだ画素データは、画素アレイ２０５から画素バッファ２５５に転送され、次に、外部デバイスがデータを除外する準備ができたことを知らせた場合に、外部インタフェース２６０を通して外部に転送される。外部インタフェース２６０は、画像取込装置１２０の外部に位置するデータ／制御バス（図示せず）に対してインタフェースとして機能する。タイミングおよび制御ロジック２６５は、データ／制御バスおよび１つまたは複数の外部デバイスとの相互作用を管理する。
【００１３】
画素アレイ２０５から全画素データを読み出すコマンドにより、タイミングおよび制御ロジック２６５は、画素アレイ２０５の第１の行番号で行ラッチ２１５をロードし、画素アレイ２０５の第１の列番号で列ラッチ２３５をロードする。行ラッチ２１５は、画素アレイの各行を必要に応じて順次選択することができるようにするために、タイミングおよび制御ロジック２６５からのコマンド上の行番号をインクリメントする行カウンタ２２０を駆動する。行カウンタ２２０の出力は、画素アレイ２０５内の１つの行に対応する選択行信号を生成する行デコーダ２２５を駆動する。行デコーダ２２５の出力は、画素データの１つの行を選択するために、画素アレイ２０５に行選択信号をバッファし、送信する行ドライバ２３０に接続される。列ラッチ２３５は、行内の各列をその順番が来た場合、または必要に応じて選択することができるようにするために、タイミングおよび制御ロジック２６５からのコマンド上の列番号をインクリメントする列カウンタ２４０を駆動する。列カウンタ２４０の出力は、画素アレイ２０５内の１つの列に対応する１つの列選択信号を生成する列デコーダ２４５を駆動する。列デコーダ２４５の出力は、列ドライバ２５０に接続し、この列ドライバ２５０は、列選択信号をバッファし、それを画素アレイ２０５に送信する。行および列選択信号は、画素アレイ２０５から１つの画素を選択するために結合する。選択した画素に対する画素データは、画素バッファ２５５に移動し、そこで画像取込装置１２０の外部に位置するコンピュータまたはコンピュータ・ロジックにより読み取られる前に格納される。ある実施形態においては、画素バッファ２５５は、複数の画素からのデータをバッファするので、複数の画素は、画像取込装置に外部からアクセスが行われる度に読み取られる。これにより、全画素アレイ２０５を読み取るために必要なバス時間が低減する。ある実施形態においては、画素バッファ２５５は、画素データを調整したりアナログ形式からデジタル形式に変換する。
【００１４】
読み出すための行および列の適切な開始および終了位置を指示することにより、全部の画素データより少ない画素データを読み出すことができる。例えば、タイミングおよび制御ロジック２６５へのコマンドは、必要な最初の２つの行だけを要求することができる。この例の場合には、開始行の位置は０であり、終了行の位置は１である。全部の列を読み出す必要がある場合には、開始列の位置は０であり、終了列の位置は最終列の番号になる。最終行および列の番号は、画像取込装置１２０の解像度により異なる。装置が大きければ大きいほど、行および列の数も多くなる。パラメータを設定すると、タイミングおよび制御ロジック２６５は、画素アレイ２０５から適切な画素が読み出されるように、行ラッチ２１５および列ラッチ２３５をロードし、カウンタを作動する。このようにして、１つのコマンドは、画像取込装置１２０の１つまたは複数の物理行から、同じ列が読み出される画素データのブロックを読み出すことができる。複数の行を読み出すことができたとしても、読み出される画素の列は一定である（各行の読み出しのために同じ列が読み出される）。
【００１５】
画素データの物理行を読み出す他に、１つのコマンドは、タイミングおよび制御ロジック２６５に、画素アレイ２０５から画素の論理行を読み出させることができる。論理画素行は、画素の１つの物理行上にすべての画素データが順次常駐していないで、異なる列を各行から読み出すことができる画素データの組合せである。他の言い方をすれば、論理画素行を形成している画素は、画素の２つ以上の物理行からおよび異なる列から取り出される。例えば、画素アレイ２０５のある隅から対向する隅に対角線方向に延びる論理画素行を生成することができ、画素アレイ２０５上に対角線方向に置いたラインにより表示することができる。論理画素行は、論理画素行を表す対角線方向のラインの下に完全にまたはほぼ完全に位置する画素アレイ２０５内の各物理行からの画素を含む。タイミングおよび制御ロジック２６５には、論理画素行に対応する画素データを読み出すための１つのコマンドが送られる。このコマンドは、論理画素行の一部である画素を識別する情報を含んでいるので、これらの画素を画素アレイ２０５から検索することができる。次に、検索した画素データはバッファされるので、この画素データを外部デバイスにより画像取込装置１２０から読み出すことができる。画素データを読み出すためにこの方法を使用すれば、画素の物理行と整合していない画素の論理行を読み出すために必要な時間が大幅に低減し、画素アレイ２０５の物理行とほとんどあらゆる角度で整合している論理画素行を生成することができる。それぞれが物理画素行に対して異なる角度を有する複数の論理画素行を読み出すことができるので、特に、バーコードの縦軸が画素アレイ２０５の物理画素行に平行でない場合に、画像スキャナ１１５は、取り込んだ画像内のバーコードの存在を迅速に識別することができる。
【００１６】
対角線方向の論理画素行を読み出す上記例の場合には、いくつかの従来技術のデバイスは、各行から要求された１つの画素にアクセスするためだけに、各物理行上のすべての画素データを読み出さなければならない。他の従来技術のデバイスの場合には、画素の１つの行から１つまたは複数の画素を読み出すようにデバイスをプログラムすることができるが、読み出さなければならない画素アレイ２０５内の各行に対してコマンドを発行しなければならない。両方の方法とも時間がかかり、リソースを無駄に使用する。論理画素行に属する画素データだけを転送すれば、転送しなければならないデータの量および転送に関連する時間およびリソースが大幅に低減する。複数のコマンドの代わりに、画像取込装置１２０に１つの読み出しコマンドだけを使用して論理画素行を転送しても、論理画素行を読み出すのに必要な時間が低減する。
【００１７】
論理画素行は、「点と傾き」の方程式により数学的に定義することができる。点と傾きの方程式は、ラインが通過する二次元の点（ｘ１，ｙ１）およびそのラインを定義するラインの傾き（ｍ）を使用する。点と傾きの方程式の一般的な形は、ｙ−ｙ１＝ｍ（ｘ−ｘ１）である。２つの座標（ｘ１，ｙ１）およびラインの傾きにより定義される１つの既知の位置を使用することにより、どの物理画素が論理画素行を含んでいるのかを判定するために、論理画素行の位置を表すラインを定義し、画素アレイ２０５を横切って重畳することができる。次に、これらの物理画素は画素アレイ２０５から読み出される。ある実施形態の場合には、タイミングおよび制御ロジック２６５は、論理画素行を含む物理画素を識別するために必要な数学的計算を行うことができる演算ロジックおよびソフトウェアを含む。論理画素行を読み出すためのコマンドは、座標（ｘ１，ｙ１）および傾き（ｍ）を含む。この情報を使用して、タイミングおよび制御ロジック２６５は、論理画素行を含む物理画素を計算する。しかし、ある実施形態の場合には、タイミングおよび制御ロジック２６５がより少ないハードウェアおよび計算時間しか必要としない簡単なアプローチを使用している。このアプローチについては、以下にさらに詳細に説明し、図３、図４および図５に示す。
【００１８】
図３を参照すると、この図は、論理画素行を含む物理画素の位置を識別するために使用するインクリメント・レジスタ３００の高レベル・ブロック図を示す。タイミングおよび制御ロジック２６５は、画素アレイ２０５を通る近似線を定義し、それにより論理画素行を含む物理画素を識別するために、インクリメント・レジスタ３００内の情報を使用する。インクリメント・レジスタ３００は、４つの領域、すなわち、傾き方向フラグ３０５、インクリメント方向フラグ３１０、第１のサイクルおよび第２のサイクルに分割される。各フィールドは、そのフィールド内に格納している情報を表すための１つまたは複数のデータ・ビットを含む。インクリメント・レジスタ３００の第１のフィールドは、傾き方向フラグ３０５である。傾き方向は、「０」であっても「１」であってもよい。「０」の傾き方向は、傾きが点の右に位置していて、正の傾き値を有することを示す。「１」の傾き方向は、傾きが点の左に位置していて、負の傾き値を有することを示す。インクリメント・レジスタ３００の第２のフィールドは、定義した方向の動きが、２サイクル・フィールド内に含まれている値により決まる画素アレイ２０５の方向を定義するインクリメント方向フラグ３１０である。インクリメント方向「０」は、水平方向（列を横切って移動する）を示し、インクリメント方向「１」は、垂直方向（行を横切って移動する）を示す。インクリメント方向フラグ３１０が選択しなかった方向は、いつでも、選択した方向の各インクリメント／デクリメント・サイクルの後に１つだけ変化する。
【００１９】
引き続き図３を参照すると、最後の２つのフィールドは、第１のサイクル・フィールド３１５および第２のサイクル・フィールド３２０と呼ばれる。これらのフィールドは、近いラインの一部として選択される画素の数を含む。第１のサイクル・フィールド３１５の値は、カウンタ３２５に転送され、第２のサイクル・フィールド３２０の値は、カウンタ３３０に転送される。タイミングおよび制御ロジック２６５は、選択する画素数を判定するために両方のカウンタ３２５および３３０を使用する。タイミングおよび制御ロジック２６５は、また、インクリメント方向フラグ３１０の値により行カウンタ２２０または列カウンタ２４０を制御するために、両方のカウンタ３２５、３３０を使用する。行カウンタ２２０または列カウンタ２４０の値をインクリメントすると、画素アレイ２０５内の所望の画素を選択し、読み出すことができる。
【００２０】
インクリメント・レジスタ３００の他の実施形態は、異なるサイズのフィールドを有していて、異なるタイプのデータを含む１つのまたは複数の追加のフィールドを有することができる。これらすべてのフィールドは、論理画素行を定義するために使用される。
【００２１】
図４を参照すると、この図は、論理画素行を含む物理画素を読み出すための方法を示す高レベル・フローチャートを示す。ステップ４００において、画像取込装置１２０は、論理画素行を読み出すためのコマンドを受信する。タイミングおよび制御ロジック２６５は、このコマンドを外部ソースから受信する。このコマンドは、画素アレイ２０５からのどの物理画素が、論理画素行を含んでいるのかを判定するために必要な情報を含む。
【００２２】
ステップ４１０において、タイミングおよび制御ロジック２６５は、行ラッチ２１５、列ラッチ２３５およびインクリメント・レジスタ３００を、コマンド内に含まれている値またはコマンドが含んでいる情報から計算した値でロードする。インクリメント・レジスタ３００がロードされた後で、第１のサイクル・フィールド３１５内の値がカウンタ３２５に送られ、第２のサイクル・フィールド３２０内の値がカウンタ３３０に送られる。
【００２３】
ステップ４２０において、第１の物理画素が、行ラッチ２１５および列ラッチ２３５にロードされている値により画素アレイ２０５から読み出される。この画素データは、一時的に格納するために画素バッファ２５５に転送される。
【００２４】
ステップ４３０において、行カウンタ２２０および列カウンタ２４０内に格納している値が、インクリメント・レジスタ３００内に格納している値に基づいて修正されるので、論理画素行内の次の画素が、画素アレイ２０５から選択される。行カウンタ２２０および列カウンタ２４０内に格納している値を修正する動作は、値をインクリメントし、値をデクリメントし、または値をそのままに維持するステップを含むことができる。インクリメント・レジスタ３００のフィールド内に格納している値は、各カウンタに対して取るべき適切な動作を判定する。インクリメント・レジスタ３００のサイクル・フィールドの動作については、画素選択プロセスのところでさらに詳細に説明する。
【００２５】
ステップ４４０において、行カウンタ２２０または列カウンタ２４０の値が画素アレイ２０５の物理境界を超えたか否かを判定するためのチェックが行われる。どちらかのカウンタの値が境界を超えた場合には、論理画素行を含むすべての画素が読み出され、コマンドが終了する（ステップ４６０）。両方のカウンタの値が境界を超えていない場合には、カウンタにより現在ポイントされている画素データが、一時的に格納するために画素バッファ２５５に転送される。画素バッファ２５５は、１回で複数の画素からのデータを格納することができる。このようにして、外部デバイスは、１回のバス読み出し動作で、複数の画素のためのデータを読み出すことができる。
【００２６】
画素アレイ２０５からすべての画素をアドレス指定または読み出すプロセスは、画素選択プロセスと呼ばれ、タイミングおよび制御ロジック２６５により制御される。画素選択プロセスを開始する前に、行ラッチ２１５および列ラッチ２３５が、論理画素行の一部として読み出される第１の物理画素の開始位置でロードされる。このプロセスは、第１のサイクル・フィールド３１５の値をカウンタ３２５に転送することにより開始する。行ラッチ２１５および列ラッチ２３５によりポイントされている物理画素が読み出される。カウンタ３２５の値がデクリメントされる。カウンタ３２５の値が０でない場合には、タイミングおよび制御ロジック２６５は、傾き方向フラグ３０５およびインクリメント方向フラグ３１０の値に基づいて、行カウンタ２２０または列カウンタ２４０の値を増大または低減させる。カウンタ（行カウンタ２２０または列カウンタ２４０）のうちの一方は、インクリメント方向フラグ３１０の値に基づいてカウントしない。行カウンタ２２０および列カウンタ２４０の新しい値により、新しい物理画素が、画素アレイ２０５から選択され、読み出される。このプロセスは、カウンタ３２５の値がゼロになるまで継続して行われる。行カウンタ２２０および列カウンタ２４０は、傾き方向フラグ３０５に基づいて別々にインクリメントされるか、またはデクリメントされる。次に、タイミングおよび制御ロジック２６５は、第２のサイクル・フィールド３２０内の値をカウンタ３３０に転送する。物理画素を選択するためのプロセスは、第１のサイクル・フィールドおよびカウンタ３２５の代わりに、第２のサイクル・フィールドおよびカウンタ３３０を使用して引き続き行われる。カウンタ３３０がゼロになると、このプロセスは、論理画素行を含むすべての物理画素が、画素アレイ２０５から読み出されるまで、再度第１のサイクル・フィールドを使用して繰り返される。
【００２７】
他の実施形態の場合には、論理画素行を含む物理画素を識別するための他の方法が実施される。しかし、それぞれの方法の場合、１つのコマンドにより、画像取込装置１２０は、画素アレイ２０５から論理画素行を含むすべての物理画素を読み出す。ある場合には、開始値およびパラメータを設定するために追加のコマンドが使用されるが、画像取込装置１２０が読み出しを行い、論理画素行を含むすべての画素を使用可能にするのに１つのコマンドだけですむ。また、外部デバイスが、バッファしている画素データを画像取込装置１２０から外部の位置に転送する複数のデータ・バス読み出しコマンドを発行することができることにも留意されたい。データ・バス読み出しコマンドは、論理画素行内のすべての画素の読み出しを要求している画像取込装置に送られた高レベル・コマンドとは異なるものである。データ・バス読み出しコマンドは、単に、論理画素行を含むすべての画素を読み出すための高レベル・コマンドに由来するバッファされている画素データを転送するだけである。
【００２８】
図５を参照すると、この図は、画素アレイ２０５の一部内で選択した論理画素行の一例である。影を付けた画素は、論理画素行から選択した、または画素アレイ２０５から読み出した画素を示す。この論理画素行を選択するために使用したインクリメント・レジスタ３００の値は「０１０１００１１」である。傾き方向フラグ（レジスタの一番左のビット）は、「０」であり、これは傾きが右に傾いていることを意味する。インクリメント方向フラグ（左から２番目のビット）は「１」であり、これはサイクル・フィールドの値を使用して、垂直方向に画素を選択することを意味する。第１のサイクル・フィールドは、「０１０」または十進法の「２」である。第２のサイクル・フィールドは、「０１１」または十進法の「３」である。この例の場合、開始画素点５１０は、行０、列０である。傾き方向フラグ３０５は、ラインが右に傾いていることを示していて、インクリメント方向フラグ３１０は、選択した画素が垂直方向を向いていることを示している。第１のサイクル・フィールド３１５は、２つの画素が選択され、これらの第１の２つの画素５１５に影が付けられていることを示している。インクリメント方向が垂直であるので、第１の２つの画素が選択された後で、水平方向に１つだけインクリメントする。次に、第２のサイクル・フィールド３２０は、３つの画素を選択すべきことを示す。３つの画素５２０が選択される。再度水平方向に１つだけインクリメントし、第１のサイクル・フィールド値３１５を使用して、シーケンスが再度繰り返される。画素アレイの縁部２０５に到着するまで、物理画素を選択するこのシーケンスは続行する。
【００２９】
図５の論理画素行は、画素アレイ２０５の物理行から６８．２度の角度を有するラインを表す。「０１００１００１」というインクリメント・レジスタ３００の値を使用して生成した第２の論理画素行（図示せず）は、画素アレイ２０５の行に対して４５度の角度を有する。インクリメント・レジスタ３００の値を変更することにより、画素アレイ２０５の行に対してほぼすべての角度を形成している複数の論理画素行を定義することができる。論理画素行を含む物理画素が識別されると、物理画素データが画素アレイ２０５から読み出され、バッファされ、外部に転送される。
【００３０】
論理画素行を定義するために点と傾きの方法により画像取込装置を参照しながら本発明を説明してきたが、当業者であれば上記説明および添付の特許請求の範囲により、種々様々な実施態様を使用することができることを理解することができるだろう。さらに、この画像取込装置１２０は、バーコード認識に関連していない他の機能でも使用することができる。
【産業上の利用可能性】
【００３１】
本発明は、バーコードの画像取込装置に関し、特に、画素の論理行が、画像取込装置の物理画素構造と整合していない画素の論理行を読み出すための速度を向上させた画像読取技術に関するものであり、産業上の利用可能性を有する。
【図１】
2010140481.tif 000003
【図２】
2010140481.tif 000004
【図３】
2010140481.tif 000005
【図４】
2010140481.tif 000006
【図５】
2010140481.tif 000007