説明

画像取込装置、画像取込方法及び光学コード画像走査システム

【課題】画像取込装置から画素の行を選択的に出力する画像取込方法及び画像取込装置を提供する。
【解決手段】画像取込装置の画素アレイから画素の行を選択的に読み取るためのコマンドを受信するステップであって、前記コマンドが行スキップ値および行アウト値を含むステップと、前記行アウト値に等しい画素のいくつかの一連の行を選択し、前記画素アレイから前記選択した行に対する画素データを読み取り、前記画素データを外部に転送するステップと、前記行スキップ値に等しい画素のいくつかの一連の行をスキップするステップと、前記画素アレイの最後の行に達するまで前記選択およびスキップするステップを繰り返すステップと、の各ステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バーコード等の対象画像を半導体ベースの画像読取部に取り込むための画像取込装置及び画像取込方法に関し、特に、画像取込装置から画素データを抽出する技術に関する。
【背景技術】
【0002】
画像読取装置の一つであるバーコード・スキャナは、バーコード内に格納している情報に依存する種々様々な用途に使用される。小売業界、航空業界、セルフサービス業界、自動車業界、小荷物配達業界、製薬業界、医療業界およびその他の業界のような産業は、在庫管理、顧客識別、アイテムの追跡、セキュリティおよび多くの他の機能を行うためにバーコードを使用している。典型的なバーコードは、スペースにより分離されている多数のバーより構成されている。情報は、バーおよびスペースの幅を変化させることによりバーコード上で符号化される。バーコードがバーコード・スキャナの視野内に置かれると、スキャナは、その内部で符号化されている情報を検索するために、バーコードを含むバーおよびスペースを検出し、分析し、復号する。この動作は、バーコードの走査または読み取りとも呼ばれる。バーコード上で符号化されている情報は、通常、一連の英数字記号(例えば、万国製品コード(UPC:Universal Product Code)またはEAN(European Article Number)コード)である。
【0003】
バーコード・スキャナ(画像スキャナとも呼ばれる)は、バーコードのデジタル画像を取り込み、次に、バーコードを検出し、復号するために画像を処理することによりバーコードを読み取る。スキャナにより各バーコードを1回走査するだけで、スキャナに提示されたすべてのバーコードを読み取ることができれば、バーコード・スキャナにとって有利である。これは1回の走査による読み取りの成功と呼ばれる。1回の走査でバーコードを読み取ることに成功すれば、チェックアウト・ステーションのところでの作業の流れを良好に維持するのが楽になり、全チェックアウト・プロセスがスピードアップする。1回の走査での読み取りの成功率が高くなれば、スキャナを操作しているスタッフにかかる負担が少なくなることも分かっている。このことは、オペレータが、チェックアウト端末を操作する顧客である場合に特に当てはまる。
【0004】
画像取込技術及び画像処理技術をベースとする高性能のパスバイ・バーコード・スキャナは、今までパスバイ走査環境で容易に受け入れられなかった。小売環境においては、画像スキャナは、30〜50インチ/秒(76.2〜127cm/秒)の読取対象通過速度を達成しなければならない。現在市販されている画像スキャナは、このような速度を達成することができず、それがレーザ・ベースのバーコード・スキャナがパスバイ走査環境を支配している1つの理由である。
【0005】
画像スキャナが今まで高速の通過速度を実現できなかった1つの大きな障害は、取り込んだ画像に含まれている光学コードを識別し、復号するために、画像取込装置から十分な画素データを抽出するのに長い時間かかったからである。通常、取り込んだ画像の小さな部分だけが光学コードを含んでいるので、復号のために画像取込装置からその部分の画素データだけを抽出しさえすればよい。
【発明の概要】
【発明が解決しようとする課題】
【0006】
このような従来の画像取込方法では、光学コードは取り込んだ画像内の任意の場所に位置することができるので、光学コードを表す画素データよりも多くのものを画像取込装置から抽出し、分析しなければならない。画像取込装置からすべての画素データを抽出するには、非常に長い時間がかかり、画素データのブロックを抽出するには、抽出した各ブロックに対して画像取込装置にコマンドを発行しなければならず、これにも同様に時間がかかる。
【課題を解決するための手段】
【0007】
このため、本発明は、画像取込装置の画素アレイから画素の行を選択的に読み取るためのコマンドを受信するステップであって、前記コマンドが行スキップ値および行アウト値を含むステップと、前記行アウト値に等しい画素のいくつかの一連の行を選択し、前記画素アレイから前記選択した行に対する画素データを読み取り、前記画素データを外部に転送するステップと、前記行スキップ値に等しい画素のいくつかの一連の行をスキップするステップと、前記画素アレイの最後の行に達するまで前記選択およびスキップするステップを繰り返すステップと、の各ステップを含むことを特徴とする画像取込方法を提供する者である。
【0008】
本発明においては、その他の目的および利点とともに好ましい実施形態および例示としての実施形態を含むものであり、以下、本発明の詳細について添付図面を参照しつつ説明する。
【図面の簡単な説明】
【0009】
【図1】画像スキャン・システムのある実施形態を示す高レベル・ブロック図である。
【図2】画像取込装置のある実施形態を示す高レベル・ブロック図である。
【図3】Skip“N”,Out“M”コマンドを実施するために使用するロジックの一部を示す高レベル・アーキテクチャの図である。
【図4】Skip“N”,Out“M”コマンドを実行するために使用するステップを示す高レベル・フローチャートである。
【図5】画素アレイ205の一部の図面であり、またSkip“N”,Out“M”コマンドにより選択した行の一例を示す。
【発明を実施するための形態】
【0010】
図1を参照すると、この図は、バーコード145を走査するために使用する画像スキャン・システム100のある実施形態のブロック図の形での高レベル図を示す。画像スキャン・システム100は、画像スキャナ115と、店舗サーバ155と、ラベル150上に印刷されているバーコード145とを含む。画像スキャナ115は、コンピュータ・データ・ネットワーク160を通して店舗サーバ155と通信する。ネットワーク160は、有線ネットワーク(例えば、イーサネット(登録商標)・ネットワーク)であってもよいし、無線ネットワーク(例えば、IEEE802.11Gベースのネットワーク)であってもよいし、またはこれらの組合せであってもよい。ある実施形態においては、店舗サーバ155は、画像スキャナが位置する店舗から物理的に分離されていて、インターネットまたはワイド・エリア・ネットワークまたはこれらの組合せまたは異なるタイプのネットワークを通して画像スキャナ115と通信する。ある実施形態においては、複数の画像スキャナ115は、店舗サーバ155へデータ・ネットワーク160を通して通信する。
【0011】
画像スキャナ115は、画像を受信し、画像取込装置120上に画像の焦点を結ぶ画像焦点合わせ装置125を含む。画像スキャナ115は、さらに、処理モジュール130と、ユーザ・インタフェース・ハードウェア140と、通信ハードウェア135とを含む。処理モジュール130は、画像スキャナ115の他のデバイスおよびモジュールを制御するために、少なくとも1つのプロセッサと、メモリと、格納している命令と、制御装置およびインタフェース・ハードウェアとを備える。処理モジュール130は、格納している命令を実行することにより、画像スキャナ115を含んでいるか、または画像スキャナ115に接続しているハードウェア・デバイスおよびモジュールを制御する。さらに、格納している命令は、プロセッサに、画像取込装置120が取り込む画像のようなデータを処理させ、データ・ネットワーク160上で使用するプロトコルを実施するために通信ハードウェア135を制御させ、画像スキャナ115の他のソフトウェア特徴および機能を実施させる。ある実施形態においては、店舗サーバ155は、画像スキャナ115の更新を、画像スキャナ115の格納している命令または動作パラメータに送信する。これらの更新した格納している命令は、画像スキャナ115内に格納され、次に、必要に応じて実行される。
【0012】
画像取込装置120は、バーコード145から反射した光を電気信号に変換する。反射光のソースは、周囲の光であってもよいし、または十分な周囲の光が得られない場合には、照明装置からの光であってもよい。画像取込装置120は、光回路および集積回路の両方を備えるシリコン系デバイスであり、相補型金属酸化膜半導体(CMOS)集積回路として製造することができる。画像取込装置120は、電荷結合素子(CCD)またはCMOSデバイスを含むことができる。
【0013】
画像取込装置120は、光学像を、行および列に組織されている画素情報を含む電子デジタル画像に変換することにより、その表面上に焦点を結んでいる光学像を取り込む。画像取込装置120からすべての生の画素データを読み取るのにかかる時間は、画像取込装置120内のデジタル画像を単に取り込むのにかかる時間と比較すると比較的長い。
【0014】
ここで図2を参照すると、この図は、画像取込装置120の高レベル・ブロック図を示す。この実施形態においては、画像取込装置120は、CMOSデバイスとして実施される。画素アレイ205は、画像取込装置120の光学的にアクティブな領域を形成し、光または光子エネルギーが電気エネルギーに変換され、個々の画素データとして格納される領域を形成する。個々の画素セル(本願では、適宜、単に「画素」という)はデータを含んでいて、データの大きさは、ある時間の間に集積した画素アレイ205の所与の領域に衝突する光子エネルギー全体の量に比例する。画素は、物理的に複数の行および複数の列に編成される。タイミングおよび制御ロジック265は、画像の取り込みおよび取り込んだ画像を示す画素アレイ205からの画素データの読み取りを含む画像取込装置120の動作を制御する。外部インタフェース260は、外部デバイス(すなわち、プロセッサ130または画像取込装置120からのデータを処理するように設計されているかまたはプログラミングされている特殊なハードウェア)へのタイミングおよび制御ロジック265へのアクセスおよび制御を可能にする。外部インタフェース260は、また、外部デバイスからのコマンドを受信し、画素データを含むデータを送受信するためにも使用される。画像取込装置120により取り込んだ画素データは、画素アレイ205から画素バッファ255に転送され、次に、外部デバイスがデータを除外する準備ができたことを知らせた場合に、外部インタフェース260を通して外部に転送される。タイミングおよび制御ロジック265は、画素バッファの動作を制御し、内部インタフェース270を通して画素データの動きを制御する。外部インタフェース260は、画像取込装置120の外部に位置するデータ/制御バス(図示せず)に対してインタフェースとして機能する。タイミングおよび制御ロジック265は、データ/制御バスおよび1つまたは複数の外部デバイスとの相互作用を管理する。さらに、タイミングおよび制御ロジック265は、画像取込装置120の動作を制御するために使用するコマンドおよびパラメータを受信する。いくつかのコマンドは、バスの動作を制御する低レベル・バス・コマンドである。他の高レベル・コマンドは画像取込装置の動作を制御する。
【0015】
高レベル・コマンドの一例としては、画像取込装置120から「すべての画素データを読み取る」ためのコマンドがある。このコマンドは、原子コマンド(atomic command)であり、タイミングおよび制御ロジック265に画素アレイ205からすべての画素データを読み取らせ、そのデータを1つの連続的な動作により外部デバイスに送る。タイミングおよび制御ロジック265は、行ラッチ215に画素アレイ205の第1の行番号をロードし、および列ラッチ235に画素アレイ205の第1の列番号をロードすることにより処理を開始する。行ラッチ215は、画素アレイの各行を自分の番が来た場合に、または必要に応じて選択することができるようにするために、タイミングおよび制御ロジック265からのコマンド上の行番号をインクリメントする行カウンタ220を駆動する。行カウンタ220の出力は、画素アレイ205内の1つの行に対応する選択行信号を生成する行デコーダ225を駆動する。行デコーダ225の出力は、行ドライバ230に接続され、この行ドライバは、画素データの1つの行を選択するために、行選択信号をバッファし、画素アレイ205に送信する。列ラッチ235は、行内の各列が自分の番が来た場合に、または必要に応じて選択することができるようにするために、タイミングおよび制御ロジック265からのコマンド上の列番号をインクリメントする列カウンタ240を駆動する。列カウンタ240の出力は、画素アレイ205内の1つの列に対応する1つの列選択信号を生成する列デコーダ245を駆動する。列デコーダ245の出力は、列ドライバ250に接続され、この列ドライバは、列選択信号をバッファし、画素アレイ205に送信する。行および列選択信号は、画素アレイ205から1つの画素を選択するために結合する。選択した画素に対する画素データは、画素バッファ255に送られ、そこに格納され、後で画像取込装置120の外部に位置するプロセッサ・モジュール130またはコンピュータ・ロジックにより読み取られる。タイミングおよび制御ロジック265は、画素アレイ205内の各画素を引き続き読み取り、このデータを外部デバイスに転送する。
【0016】
外部デバイスは、外部インタフェース260に低レベル・バス・コマンドを発行することにより画像取込装置120から画素データを読み取る。次に、タイミングおよび制御ロジック265は、データに対する要求を満たすために、データを画素バッファ255から外部インタフェース260に送る。個々の低レベル・バス読取コマンドは、画像取込装置120から複数の画素を読み取るための高レベル原子コマンドと同一のものであってはならない。低レベル・バス読取コマンドは、画像取込装置120から画素データを読み取るための高レベル原子コマンドの結果として使用できるようになっているデータだけを読み取ることができる。
【0017】
ある実施形態の場合には、画素バッファ255は、複数の画素からのデータをバッファするので、画像取込装置120への1回の外部バス・アクセスにより複数の画素が読み取られる。これにより画素アレイ205を読み取るために必要なバス時間が短縮する。何故なら、バス読取サイクルの数が少なくてすむからである。ある実施形態の場合には、画素バッファ255は、画素データをアナログ形式からデジタル形式に調整したり、または変換する。
【0018】
タイミングおよび制御ロジック265も、“Skip N,Out M”コマンド275をサポートする。このコマンドは、画素アレイ205から画素行の繰り返しパターンを選択し、読み取る原子コマンドである。繰り返しパターンは、画素の「M」個の行を選択し、次に画素の「N」個の行をスキップし、画素アレイ205のすべての行の処理が終了するまでこの処理を繰り返すことにより生成される。選択した行からの画素データが読み取られ、画像取込装置120外部に転送される。
【0019】
図3は、Skip“N”,Out“M”コマンドを実施するために使用するロジックの一部を示す高レベル・アーキテクチャの図である。この図は、2つのレジスタおよび2つのカウンタを示す。2つのレジスタは、コマンドに含まれているパラメータを格納するために使用される。各サイクル中にスキップされる行の数は「N」と呼ばれ、その値は「Skip N」レジスタ310内に格納される。各サイクル中に読み取られる行の数は「M」と呼ばれ、その値は「Out M」レジスタ320内に格納される。タイミングおよび制御ロジック265が、Skip“N”,Out“M”コマンドを受信すると、コマンドに含まれている「N」および「M」の値が、適切なレジスタ内に格納される。「M」個の行の読み取り、および「N」個の行のスキップが、1回のスキップ/アウト・サイクルである。スキップ/アウト・サイクルは、画素アレイ205の第1の行から開始して、繰り返し行われ、画素アレイ205の最後の行に達するまで継続して行われる。各スキップ/アウト・サイクルの開始のところで、「N」の値が、「Skip N」レジスタ310から「N」カウンタ315に移動し、そこで何行スキップしたのかを知るために値がデクリメントされる。同様に、「M」の値が、「Out M」レジスタ320から「M」カウンタ325に移動し、そこで何行読み取ったのかを知るために値がデクリメントされる。タイミングおよび制御ロジック265は、コマンドを実施するために、図2のロジックと一緒にこのロジックを使用する。これについては図4のところでさらに詳細に説明する。
【0020】
ここで図4を参照すると、この図は、Skip“N”,Out“M”コマンドを実行するために、画像取込装置120が使用するステップを示す高レベル・フローチャートである。外部インタフェース260を使用して、タイミングおよび制御ロジック265は、原子コマンドを受信し、画素アレイ205の「N」個の行をスキップし、「M」個の行を取り出す(ステップ400)。タイミングおよび制御ロジック265は、コマンドから「N」値および「M」値を取り出し、「N」値を「Skip N」レジスタ310に格納し、「M」値を「Out M」レジスタ320に格納する。さらに、行ラッチ215および列ラッチ235に、画素アレイ205内の第1の行および第1の列へのその各ポインタがロードされる(ステップ405)。行ラッチ215、列ラッチ235、「Skip N」レジスタ310および「Out M」レジスタ320内の値は、行カウンタ220、列カウンタ240、「N」カウンタ315および「M」カウンタ325内にそれぞれロードされる(ステップ415)。現在の行(行カウンタ220によりポイントされている行)内のすべての画素は、行内の各列にポイントするために列カウンタ240がインクリメントされると、順次読み取られる。データは画素バッファ255に転送され、次に画像取込装置120から転送される(ステップ420)。行カウンタ220は1だけインクリメントされ、「M」カウンタ325は1だけデクリメントされ、列カウンタ240には、列ラッチ235内の値がリロードされる(ステップ425)。「M」カウンタがゼロになっていない場合には、制御はステップ420に移り、そのため画素アレイ205から画素の他の行を読み取ることができる。「M」カウンタがゼロになっている場合には、制御はステップ435に移る(ステップ430)。この時点で、このサイクルに対する行の数はすでに読み取られていて、サイクルが最初から開始される前に1つまたは複数の行をスキップすることになる。行カウンタ220はインクリメントされ、「N」カウンタ315はデクリメントされる(ステップ435)。「N」カウンタがゼロでない場合には、制御はステップ435に移り、少なくとももう1つの行がスキップされる。「N」カウンタがゼロである場合には、制御はステップ445に移る(ステップ440)。この時点で、「M」個の行がすでに読み取られていて、「N」個の行がスキップされているので、サイクルは最初から開始される。「N」カウンタ315および「M」カウンタ325には、「Skip N」レジスタ310および「Out M」レジスタ320内の値がそれぞれリロードされ、制御はステップ420に移り、画素の次の行を読み取ることにより、次のサイクルが開始される(ステップ445)。
【0021】
図5を参照すると、この図は画素アレイ205の一部の図面である。この図においては、黒丸の行505、515、525は、Skip“N”,Out“M”コマンドにより選択した画素の行を表す。この場合、「N」は3にセットされ、Mは2にセットされる。白丸の行は、スキップされる画素の行を表す。この例の場合には、2つの行が選択され、3つの行がスキップされる。2つの行を選択し、3つの行をスキップするサイクルは、画素アレイ205の第1の行から開始し、画素アレイ205の最後の行に達するまで繰り返し行われる。
【0022】
Skip“N”,Out“M”コマンドにより出力される画素データの行は、取り込んだ画像内のバーコードのような光学コードの位置を知り、識別するためにコンピュータまたは処理モジュール130により処理される。画像取込装置120からの読み取る画素の行の数を少なくすれば、取り込んだ画像内の光学コードを読み取り、位置を知り、識別するのに必要な時間が短縮される。デクリメントされた数の画素の行を読み取るためにSkip“N”,Out“M”コマンドのような1つのコマンドを使用すれば、取り込んだ画像内の光学コードを読み取り、位置を知り、識別するのに必要な時間がさらに短縮される。
【0023】
ある実施形態の場合には、Skip“N”,Out“M”コマンドにより選択した画素の第1の行は、画素アレイ205内の画素の第1の行である。他の実施形態の場合には、画素の第1の選択した行を、画素アレイ205内の画素の第1の行以外の行にするコマンド内にオフセットを含むことができる。さらに他の実施形態の場合には、Skip“N”,Out“M”コマンドを受信すると、画像取込装置120は、出力のための画素の行を選択する前に画像を取り込む。いくつかの実施形態は、連続的な動作モードを有する。この場合、画像を取り込み、取り込んだ画像から出力のための画素の行を選択し、スキップする処理が、連続的に繰り返し行われる。
【0024】
光学コードを読み取るために使用する画像取込装置を参照しながら本発明を説明してきたが、当業者であれば上記説明および添付の特許請求の範囲を読めば、種々様々な実施態様を使用することができることを理解することができるだろう。さらに、画像取込装置120は、バーコード認識とは無関係な他の機能で使用することもできる。
【産業上の利用可能性】
【0025】
本発明は、バーコード等の対象画像を半導体ベースの画像読取部に取り込むための画像取込装置及び画像取込方法に関し、特に、画像取込装置から画素データを抽出する技術に関するものであり、産業上の利用可能性を有する。

【特許請求の範囲】
【請求項1】
画像取込装置から画素の行を選択的に出力して画像を取り込むための画像取込方法であって、
前記画像取込装置の画素アレイから画素の行を選択的に読み取るためのコマンドを受信するステップであって、前記コマンドが行スキップ値および行アウト値を含むステップと、
前記行アウト値に等しい画素のいくつかの一連の行を選択し、前記画素アレイから前記選択した行に対する画素データを読み取り、前記画素データを外部に転送するステップと、
前記行スキップ値に等しい画素のいくつかの一連の行をスキップするステップと、
前記画素アレイの最後の行に達するまで前記選択およびスキップするステップを繰り返すステップと、
の各ステップを含むことを特徴とする画像取込方法。
【請求項2】
選択した画素の第1の一連の行が、前記画素アレイの画素の第1の行である、請求項1に記載の画像取込方法。
【請求項3】
選択した画素の第1の一連の行が、前記画素アレイの画素の第1の行ではない、請求項1に記載の画像取込方法。
【請求項4】
画素の行を選択的に読み取るための前記コマンドを受信すると、同様に画像が取り込まれる、請求項1に記載の画像取込方法。
【請求項5】
画素の選択的行を読み取るための前記コマンドを受信すると、複数の画像が取り込まれ、前記選択、スキップおよび繰り返しステップが、各画像が取り込まれた後で繰り返し行われる、請求項1に記載の画像取込方法。
【請求項6】
前記画像取込装置が、CMOS画像センサである、請求項1に記載の画像取込方法。
【請求項7】
前記画像取込装置が、電荷結合素子(CCD)画像センサである、請求項1に記載の画像取込方法。
【請求項8】
画素の行と列の形に構成されている画素アレイと、
コマンドおよびデータを送受信するために使用される外部インタフェースと、
前記外部インタフェースを通して受信したコマンドおよびデータを使用して前記画像取込装置の動作を制御するタイミングおよび制御ロジックと、
を備え、
前記タイミングおよび制御ロジックが、Skip“N”,Out“M”コマンドを受信した場合に、画素の「N」個の一連の行をスキップし、読取画素データを出力している画素の次の「M」個の一連の行を読み取り、前記画素アレイの最後の行に達するまで前記スキップおよび読み取りを繰り返し行う画像取込装置。
【請求項9】
前記画像取込装置が、CMOS画像センサである、請求項8に記載の画像取込装置。
【請求項10】
前記画像取込装置が、電荷結合素子(CCD)画像センサである、請求項8に記載の画像取込装置。
【請求項11】
光学コード画像スキャナを備え、
前記光学コード画像スキャナが、
処理モジュールと、
画像取込装置と、
を備え、前記画像取込装置が、
画素の行および列の形に構成されている画素アレイと、
コマンドおよびデータを送受信するために使用する外部インタフェースと、
前記外部インタフェースを通して受信したコマンドおよびデータを使用して前記画像取込装置の動作を制御するタイミングおよび制御ロジックと、
を備え、
前記タイミングおよび制御ロジックが、前記処理モジュールからSkip“N”,Out“M”コマンドを受信した場合に、画素の「N」個の一連の行をスキップし、読取画素データを出力している画素の次の「M」個の一連の行を読み取り、前記画素アレイの最後の行に達するまで前記スキップおよび読み取りを繰り返し行う光学コード画像走査システム。
【請求項12】
前記光学コード画像スキャナと通信している販売時点情報管理コンピュータをさらに備える、請求項11に記載の光学コード画像走査システム。
【請求項13】
ネットワークを通して前記販売時点情報管理コンピュータに接続している店舗コンピュータをさらに備える、請求項11に記載の光学コード画像走査システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−146558(P2010−146558A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2009−281406(P2009−281406)
【出願日】平成21年12月11日(2009.12.11)
【出願人】(391007161)エヌ・シー・アール・コーポレイション (85)
【氏名又は名称原語表記】NCR CORPORATION
【Fターム(参考)】