JP4168731B2 - 情報読取装置およびプログラム - Google Patents
情報読取装置およびプログラム Download PDFInfo
- Publication number
- JP4168731B2 JP4168731B2 JP2002323534A JP2002323534A JP4168731B2 JP 4168731 B2 JP4168731 B2 JP 4168731B2 JP 2002323534 A JP2002323534 A JP 2002323534A JP 2002323534 A JP2002323534 A JP 2002323534A JP 4168731 B2 JP4168731 B2 JP 4168731B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- image data
- read
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、電荷蓄積型のイメージセンサによって読み取られたイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、読取動作を再開させることによってデコード対象となるイメージデータを取得する情報読取装置およびプログラムに関する。
【0002】
【従来の技術】
従来、印刷媒体上に印刷された2次元コードをイメージとして読取り、この読取った2次元コードイメージを解析して、2次元コードデータを出力する2次元コードリーダにおいて、イメージセンサとしてCCD型等の固体撮像素子を使用し、このイメージセンサによって読取られた2次元コードを評価するようにしたハンディ型の2次元コードリーダおよび2次元コードシステムが知られている(特許文献1参照)。
【0003】
【特許文献1】
特開平10−334173号公報
【0004】
【発明が解決しようとする課題】
すなわち、上述のコードリーダは、イメージセンサによって読取られた2次元コード内のエラービット数を確認することによって2次元コードの印刷品質を数量的に評価するものであるが、2次元コードを数量的に評価する技術を発展させるものとして、次のものが考えられる。
すなわち、電荷蓄積型のイメージセンサ(CMOSセンサ)を使用してバーコード、2次元コード等のコード情報を読み取るコード情報読取装置において、ラベル等に記録されているコード情報を光学的に取り込み(以下、キャプチャと称する)、この1面分のイメージデータを2値化したり、歪補正等の加工を施したり、必要部分の切り出しを行った後に、それをデコードする場合に、CMOSセンサのシャッター時間、つまり、露光時間を現時点の環境に応じて最適化する為に、最初のキャプチャ(以下、プリキャプチャと称する)時に得られたイメージデータに基づいてシャッター時間の最適値を算出し、この最適値をパラメータとして設定した後に、読取動作を再開させることによってイメージデータをキャプチャ(以下、本キャプチャと称する)し、これによってデコード対象のイメージデータを得るようにしたものが考えられる。
【0005】
以下、図11〜図14を参照して、このコード情報読取装置の構成およびその動作について詳述する。
図11は、このコード情報読取装置の全体構成を示したブロック図である。
このコード情報読取装置は、その基本構成要素として、汎用CMOSセンサ部10、照明用LED20、照射用LED30、コントローラ40、CPU50、メモリ60を有する構成となっている。
【0006】
汎用CMOSセンサ部10は、読取対象のコード情報が記録されているラベル等を照明用LED20、照射用LED30によって光走査することによって、その反射光を受光する受光素子アレイ(イメージセンサ)11と、このイメージセンサ11を駆動するドライバ12と、読取対象エリアを指定するエリア指定用のアドレスバッファ13と、汎用CMOSセンサ部10の全体を制御するコントロール&ロジック部14と、受信量(電荷量)をアナログ/デジタル変換するADコンバータ15とを有する。
また、コントローラ40は、CPU50の制御下で汎用CMOSセンサ部10を制御するコントローラ部41と、ADコンバータ15からの出力データを取り込むデータバッファ42を有する。
【0007】
図12は、コード情報を読取ってデコードするまでのデコードシーケンスを示したフローチャートである。図13は、このデコードシーケンスフローの過程で得られたイメージデータを示した図であり、図14は、データ出力タイミングを示した図である。なお、図10中に付した丸付き数字と、図13および図14中に付した丸付き数字とは、処理の流れを示したシーケンス番号であり、この丸付き数字にしたがって各処理が順次実行される(以下、他の図面においても同様)。
先ず、CPU50は、コントローラ40を介して汎用CMOSセンサ部10に対して初期化を要求した後(ステップS1)、更に、1面分のプリキャプチャ命令を行う(ステップS2)。
【0008】
ここで、各コマンドデータは、図14(A)に示すようにコントローラ40からCMOSセンサ部10へ出力されるシステムクCLK(クロック)信号に同期して出力される(図14(B)参照)。これによって、汎用CMOSセンサ部10から得られたイメージデータをキャプチャし(ステップS3)、このプリキャプチャ後のイメージデータは、コントローラ40内のデータバッファ42へ転送されると共に(ステップS4)、このコントローラ40内のデータバッファ42からメモリ60へDMA(ダイレクト・メモリ・アクセス)転送される(ステップS5)。
【0009】
図13(A)は、プリキャプチャ後のイメージデータを示したもので、図14(C)に示すDATA(データ)CLK信号に同期して1画素毎にADコンバータ15から出力されるデータは、図14(D)に示す如くとなり、コントローラ40内のデータバッファ42を介してメモリ60へDMA転送されるデータは、図14(E)となる。この場合、図13(A)に示すように、露光調整が合っておらず、濃淡が不鮮明となっている為、これをデコード対象とすることはできない。
【0010】
この場合、プリキャプチャ時に得られたイメージデータ(ADコンバータ15からの出力データ)に基づいてセンサ1面分のデータ(黒データ)積算値を求めることによってシャッター時間の最適値(パラメータ値)を決定すると(ステップS6)、コントローラ40は、汎用CMOSセンサ部10へこの最適値(適正露光時間)をパラメータ設定する(ステップS7)。
【0011】
この状態において、CPU50は、コントローラ40を介して汎用CMOSセンサ部10に対して1面分の本キャプチャ命令を行う(ステップS8)。これによって、汎用CMOSセンサ部10から再度得られたイメージデータをキャプチャし(ステップS9)、この本キャプチャ後のデータは、図14(D)、(E)に示すように、コントローラ40内のデータバッファ42へ転送されると共に(ステップS10)、このコントローラ40内のデータバッファ42からメモリ60へDMA(ダイレクト・メモリ・アクセス)転送される(ステップS11)。図13(B)は、本キャプチャ後のイメージデータを示し、この場合、図13(A)で示したプリキャプチャ後のイメージデータよりも、シャッター時間の調整量に応じてその濃度が高まっている。
【0012】
次に、本キャプチャ後のイメージデータを加工するデータ加工処理を行う(ステップS12)。すなわち、イメージデータを2値化すると共に、歪補正等を行った後に、更に、コード情報の切り出しを行う。図13(C)は、データ加工後のイメージデータを示し、このイメージデータがデコード処理される。
そして、正常デコードが完了したか否かをチェックするが(ステップS13)、この場合、本キャプチャ後においても、露光調整が合わず、デコード不可能なデータであれば、ステップS6に戻り、以下、上述の動作を繰り返す。この結果、正常デコードが完了したことを条件として、このデコード結果を出力する(ステップS14)。
【0013】
このようなコード情報読取装置においては、CMOSセンサのシャッター時間を現時点の環境に応じて調整することが可能となるが、1面分のイメージデータの中にはコード情報以外の不要データが多数含まれており、このような不要データまでもメモリ60へ転送することは転送効率が悪くなり、それだけデコードを開始するまでの処理時間が長くなる等の問題が残る。
特に、1面分のイメージデータの一部のみにコード情報が含まれているような場合でも、1面分のイメージデータをデコード対象としてメモリへ転送することは、それだけ転送時間がかかり、転送効率が悪くなる。
【0014】
第1の発明の課題は、情報を読取る読取範囲を任意に変更可能な電荷蓄積型のイメージセンサによって読み取られたイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この露光時間に応じて読取動作を再開する場合、この再開後の読み取りで得られるイメージデータのデータ量を効果的に削減できるようにすることである。
第2の発明の課題は、電荷蓄積型のイメージセンサによって読み取られたイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この露光時間に応じて読取動作を再開する場合、イメージセンサ側にその読取範囲を任意に変更可能な機能が備わっていなくても、再開後の読み取りで得られるイメージデータのデータ量を効果的に削減できるようにすることである。
【0015】
【課題を解決するための手段】
請求項1記載の発明(第1の発明)は、情報を読取る読取範囲を任意に変更可能な電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にてデコード対象となる第二のイメージデータを取得する情報読取装置であって、イメージセンサによって読み取られる前記第一のイメージデータを複数のエリアに分割する分割手段と、この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段と、この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段と、この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として特定する特定手段と、この特定手段によって特定されたセンサ読取範囲を指定して、前記第一のイメージデータよりデータ容量が少ない前記第二のイメージデータを前記設定された露光時間により取得するように制御する読取制御手段と、を具備したことを特徴とする。
更に、コンピュータに対して、上述した請求項1記載の発明に示した主要機能を実現させるためのプログラムを提供する(請求項5記載の発明)。
【0017】
なお、請求項1記載の発明は次のようなものであってもよい。
前記分割手段は、イメージセンサによって読み取られるイメージデータをマトリックス状に複数の矩形エリアに分割する(請求項2記載の発明)。
【0018】
前記1面分のイメージデータを分割する分割数を任意に設定する設定手段を設けた(請求項3記載の発明)。
【0019】
請求項4記載の発明(第2の発明)は、電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にて取得した第二のイメージデータをデコード対象のデータとして転送する情報読取装置であって、イメージセンサによって読み取られる第一のイメージデータを複数のエリアに分割する分割手段と、この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段と、この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段と、この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをデータ転送範囲として指定する指定手段と、前記設定された露光時間にて読取られた前記第二のイメージデータのうち、前記指定手段によって指定され、前記第一のイメージデータよりデータ容量が少ないデータ転送範囲内のデータのみをデコード対象のデータとして転送する転送制御手段と、を具備したことを特徴とする。
更に、コンピュータに対して、上述した請求項4記載の発明に示した主要機能を実現させるためのプログラムを提供する(請求項6記載の発明)
【0021】
【発明の実施の形態】
(第1実施形態)
以下、図1〜図7を参照してこの発明の第1実施形態を説明する。
図1は、この実施形態におけるコード情報読取装置の全体構成を示したブロック図である。
このコード情報読取装置は、電荷蓄積型のイメージセンサ(CMOSセンサ)のシャッター時間(露光時間)を環境に応じて最適化する為に、プリキャプチャ時に得られたイメージデータに基づいてシャッター時間の最適値を算出し、この最適値(適正露光時間)をパラメータとして設定した後に、読取動作を再開させることによってイメージデータを本キャプチャし、この本キャプチャ後のイメージデータを2値化したり、歪補正等の加工を施した後にデーコードするようにしたもので、基本的には、上述した図11のコード情報読取装置と同様の構成となっている。なお、この第1実施形態において、図11で示したコード情報読取装置で示した構成要素のうち、基本機能および名称的に同一のものは、同一符号を付して示す。また、第1実施形態および他の実施形態において、図中、丸付き数字は、処理の流れを示したシーケンス番号であり、この丸付き数字にしたがって各処理が順次実行されることも、上述した図11、図14と場合と同様である。
【0022】
この第1実施形態のコード情報読取装置は、図11で示したコード情報読取装置と同様に、汎用CMOSセンサ部10、照明用LED20、照射用(ビームスポット用)のLED30、コントローラ40、CPU50、メモリ60を有する構成となっている。
汎用CMOSセンサ部10は、読取対象の2次元コードを照明用LED20、照射用LED30によって光走査することによって、その反射光を受光するイメージセンサ11と、このイメージセンサ11を駆動するドライバ12と、読取対象エリアを指定するエリア指定用アドレスバッファ13と、汎用CMOSセンサ部10の全体を制御するコントロール&ロジック部14と、アナログ/デジタル変換するADコンバータ15とを有し、また、コントローラ40は、コントローラ部41、データバッファ42を有している。
【0023】
図2(A)は、プリキャプチャ時の1面分のイメージデータを複数のエリアに分割した場合の状態を示した図である。
ここで、イメージセンサ11からADコンバータ15を介して1ライン(1行)毎にシリアルデータとして出力され、データバッファ42内に保持される1面分のイメージデータは、n行m列の構成となっており、この1面分のイメージデータは、予め決められている複数の矩形エリアに分割される。なお、図示の例では、5×5の25個の矩形エリアに分割した場合を示している。すなわち、図中、A1〜A5、B1〜B5、C1〜C5、D1〜D5、E1〜E5は、各分割エリアを示し、その分割数はユーザ設定によって任意に変更可能となっている。
また、図2(B)は、プリキャプチャ時に5×5のエリアに分割されたセンサ1面分のイメージデータを示した図であり、この場合、2次元コードは、エリアC3、D3等に集中している場合を例示している。
【0024】
CPU50は、上述のようにプリキャプチャ時の1面分のイメージデータを複数のエリアに分割すると共に、この各分割エリア毎に、そのデータの階調分布を測定するようにしている。すなわち、図3(A)は、プリキャプチャ時に測定された1エリア分の階調分布の状態をグラフ化した図であり、その横軸は、階調、縦軸は、画素数を示している。
このエリア別の階調分布は、1画素毎にデータを256階調に分類すると共に、各階調毎に画素数をカウントすることによって得られたもので、この階調分布に基づいて本キャプチャ時の露光時間を決定すると共に、センサ読取範囲を決定するようにしている。ここで、露光調整後の階調分布の状態をグラフ化すると、図3(B)に示すようになり、“白”と“黒”の山が明確となり、その境を2値化の基準ラインとして2値化を行うようにしている。
【0025】
図4(A)〜(D)は、プリキャプチャ時において、エリアA2、A3、C3、C4に対応して測定されたイメージデータの階調分布を示した図である。
ここで、上述した図2(B)で示したセンサ1面分のイメージデータにおいて、エリアA2には、2次元コードが含まれておらず、そのエリアの階調分布は、“白”と“黒”の山の高さにおける比率が悪くなっており、また、エリアA3は、白の背景部分の為に、分布が“白”に偏っている。
これに対してエリアC3は、その全体に2次元コードが含まれ、“白”と“黒”の山が明確となり、その比率も許容範囲である6:4となっている。このエリアC3に隣接するエリアC4には、2次元コードが含まれているが、その量はエリアの半分以下の為に、“黒”の山の高さは少なくなっている。
【0026】
このようにエリア毎にその階調分布を解析し、2次元コードが存在するか否か判別し、2次元コードが存在する場合には、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として指定した後に本キャプチャ命令を与え、2次元コードの読み取りを再開させるようにしている。この場合、エリアC3をセンサ読取範囲として指定する他、それに隣接するエリアC4も2次元コードが存在する可能性が高い為に、センサ読取範囲として指定するようにしている。このようにしてセンサ読取範囲を指定した後、本キャプチャ命令を与え、2次元コードの読み取りを再開させるようにしている。
【0027】
一方、上述のメモリ60は、RAM(例えば、スタティックRAM)等であり、プログラム実行領域と作業領域とを有し、この作業領域には、エリア分割数メモリ61、エリア別階調分布データ格納レジスタ62、データ加工用ワークメモリ63等がそれぞれ設けられている。
エリア分割数メモリ61は、プリキャプチャ時の1面分のイメージデータを複数のエリアに分割する為の分割数を記憶するメモリであり、ユーザ操作によって任意に設定されたもので、プリキャプチャ時の1面分のイメージデータは、エリア分割数メモリ61内の分割数に基づいて分割される。
【0028】
エリア別階調分布データ格納レジスタ62は、上述の分割エリアA1〜A5、B1〜B5、C1〜C5、D1〜D4、E1〜E5に対応してエリア毎に測定された階調分布データが格納される作業領域であり、CPU50は、このエリア別階調分布データ格納レジスタ62の内容を解析し、2次元コードが存在するか否か判別し、2次元コードが存在する場合には、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として指定する。
データ加工用ワークメモリ63は、本キャプチャ時に得られたイメージデータを加工する際に使用される作業用の領域である。
【0029】
次に、この第1実施形態におけるコード情報読取装置の動作アルゴリズムを図5に示すフローチャートを参照して説明する。ここで、このフローチャートに記述されている各機能は、読み取り可能なプログラムコードの形態で格納されており、このプログラムコードにしたがった動作を逐次実行する。また、伝送媒体を介して伝送されてきた上述のプログラムコードにしたがった動作を逐次実行することもできる。すなわち、記録媒体の他、伝送媒体を介して外部供給されたプログラム/データを利用してこの実施形態特有の動作を実行することもできる。
【0030】
図5は、コード情報を読取ってデコードするまでのデコードシーケンスを示したフローチャートである。
先ず、CPU50は、エリア分割数メモリ61をアクセスして設定分割数を読み出し、メモリ60内に分割数分のエリア別階調分布データ格納レジスタ62を確保すると共に(ステップA1)、コントローラ40を介して汎用CMOSセンサ部10に対して初期化を要求した後(ステップA2)、1面分のプリキャプチャ命令を行う(ステップA3)。これによって、汎用CMOSセンサ部10から得られたイメージデータをキャプチャし(ステップA4)、コントローラ40内のデータバッファ42へ転送する動作を開始すると共に(ステップA5)、これに同期してDMA転送を繰り返し、1面分のイメージデータをデータバッファ42からメモリ60へ転送する動作を行う(ステップA6)。
【0031】
そして、1面分のデータ転送が終了すると、分割エリア別にデータの階調分布を測定し、その測定内容を対応するエリア別階調分布データ格納レジスタ62に格納する(ステップA7)。この階調分布は、1画素毎にデータを256階調に分類すると共に、各階調毎に画素数をカウントすることによって得られたもので、例えば、プリキャプチャ時に取得したセンサ1面分のイメージデータ(図2(B)参照)において、エリアA2、A3、C3、C4に対応して測定されたイメージデータの階調分布は、図4(A)〜(D)で示した如くとなる。
そして、CPU50は、このエリア別階調分布データ格納レジスタ62を順次アクセスすることによって、エリア毎の階調分布を解析し、ピークの山が2つに分布しているエリア、つまり、2次元コードが多く含まれていることによって“白”と“黒”の山が明確となっているエリアを選択指定する(ステップA8)。この場合、エリアA2、A3、C3、C4の中から該当エリアとして「C3」が選択される。
【0032】
更に、選択指定した各エリアの中から、“白”と“黒”の山の比率が「4:6」から「5:5」に該当するエリアを選択する(ステップA9)。この場合、エリアC3は、2次元コードが集中している為に、この比率にも該当するエリアとして選択される。このように2次元コードが集中していることによって選択指定されたエリアを以下、コード集中エリアXと称する。これによって選択指定されたコード集中エリアX毎に、その周囲に隣接するエリアを選択指定する(ステップA10)。この場合、エリアA2、A3、C3、C4のうち、エリアC4については、2次元コードが含まれている量がエリアの半分以下であるが、コード集中エリアXであるエリアC3に隣接するエリアである為に、当該エリアが選択指定される。このようにコード集中エリアXに隣接するエリアを以下、隣接エリアYと称する。
【0033】
そして、コード集中エリアXの階調分布を参照して、そのデータ(黒データ)積算値を求めることによって、次の本キャプチャ時における露光時間の最適値(パラメータ値)を算出する(ステップA11)。この場合、コントローラ40は、汎用CMOSセンサ部10に対してこの最適値(適正露光時間)をパラメータとして設定する(ステップA12)。
この状態において、CPU50は、各コード集中エリアXと、それに隣接する各隣接エリアYをセンサ読取範囲として決定し、コントローラ40を介して汎用CMOSセンサ部10内のエリア指定用アドレスバッファ13に対し、このセンサ読取範囲に対応したエリアをアドレス指定した後に(ステップA13)、1面分の本キャプチャ命令を行う(ステップA14)。
これによって汎用CMOSセンサ部10から再度得られたイメージデータをキャプチャし(ステップA15)、コントローラ40内のデータバッファ42へ転送する動作を開始すと共に(ステップA16)、これに同期してDMA転送を繰り返し、1面分のイメージデータをデータバッファ42からメモリ60へ転送する動作を行う(ステップA17)。
【0034】
図6(A)は、本キャプチャ後におけるイメージデータを示したもので、この場合、センサ読取範囲の絞り込みによって、図2(B)で示したプリキャプチャ時のイメージデータに比べ、そのデータ量は大幅に削減されたものとなっている。この本キャプチャ後におけるイメージデータを加工する処理を行うが、この場合、イメージデータを2値化すると共に、歪補正等を行った後に、更に、コード情報の切り出しが行われる(ステップA18)。
図6(B)は、データ加工後のイメージデータを示し、このイメージデータに基づいてデーコード処理が行われ、その結果、正常デコードが完了したか否かをチェックする(ステップA19)。この場合、本キャプチャ後においても、露光調整が合わず、デコード不可能なデータであれば、ステップA11に戻り、以下、上述の動作を繰り返す。この結果、正常デコードが完了したことを条件として、このデコード結果を出力する(ステップA20)。
【0035】
図7は、この第1実施形態における出力タイミングを示した図である。
この場合、各コマンドデータは、図7(A)に示すシステムクCLK信号に同期して出力され(図7(B)参照)、これによって、汎用CMOSセンサ部10から得られたイメージデータをキャプチャし、コントローラ40内のデータバッファ42を介してメモリ60へ転送されるが、本キャプチャ時には、アドレス指定によって読取範囲のエリアのみに絞り込まれる為、図7(C)に示すDATACLK信号に同期してADコンバータ15から出力されるデータは、図7(D)に示す如くとなり、本キャプチャ時において、メモリ60へ転送されるデータは、図7(E)に示すように、図14(E)で示した場合における本キャプチャ時の転送データに比べ、読取範囲(コードエリア)の判別時間を考慮しても、全体的に図中、“T”で示した時間分だけ処理時間が短縮されることになる。
【0036】
以上のように、この第1実施形態においては、コード情報を読取る読取範囲を任意に変更可能な汎用CMOSセンサ部10によって読み取られたイメージデータの階調分布状態に基づいてセンサの最適な露光時間を設定した後に、読取動作を再開させる場合に、プリキャプチャ時にセンサ11によって読み取られた1面分のイメージデータを複数のエリアに分割し、この各分割エリア毎に測定された階調分布に基づいて2次元コードが存在するか否かエリア毎に判別すると共に、2次元コードが存在するエリアおよびその周囲に存在する隣接エリアをセンサ読取範囲として指定して読取動作を再開するようにしたから、再開後の読み取りで得られるイメージデータのデータ量を効果的に削減することができ、データ量の削減によってデータ転送を効率良く行うことができ、デコードを開始するまでの処理時間を大幅に短縮することが可能となる。
【0037】
この場合、1面分のイメージデータをマトリックス状に複数の矩形エリア(5×5の25個の矩形エリア)に分割するようにしたから、読取範囲の特定を矩形エリア毎に細かく行うことができる。
また、1面分のイメージデータを分割する分割数を任意に設定するようにしたから、分割数を固定とせずに、ユーザ設定によって任意に変えることができ、実情に即したものとなる。
【0038】
なお、上述した第1実施形態は、1面分のイメージデータを5×5の矩形エリアに分割するようにしたが、どのように分割するかは任意であり、例えば、1面分のイメージデータを所定ライン数毎に分割するようにしてもよい。また、1面分のイメージデータを所定のライン毎に分割すると共に、分割されたラインを複数のブロック毎に分割するようにしてもよい。このように細かく分割することによってセンサ読取範囲を更に精度良く指定することが可能となる。
【0039】
一方、コンピュータに対して、上述した各手段を実行させるためのプログラムコードをそれぞれ記録した記録媒体(例えば、CD−ROM、フロッピィデスク、RAMカード等)を提供するようにしてもよい。
すなわち、コンピュータが読み取り可能なプログラムコードを有する記録媒体であって、情報を読取る読取範囲を任意に変更可能な電荷蓄積型のイメージセンサによって読み取られた1面分のイメージデータを複数のエリアに分割する機能と、分割された各エリア毎に、そのデータの階調分布を測定する機能と、エリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する機能と、読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として特定する機能と、特定されたセンサ読取範囲を指定して読取動作を再開する機能とを実現させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体を提供するようにしてもよい。
【0040】
(第2実施形態)
以下、この発明の第2実施形態について図8〜図10を参照して説明する。なお、上述した第1実施形態は、コード情報を読取る読取範囲を任意に変更可能な汎用CMOSセンサ部10を採用し、このCMOSセンサ部10を構成するエリア指定用アドレスバッファ13に対して読取範囲に対応するエリアをアドレス指定するようにしたが、この第2実施形態においては、読取範囲を任意に変更可能な機能を持たないCMOSセンサ部10を採用した場合でも、上述した第1実施形態と同様、データ量の削減によってデータ転送を効率良く行うことができるようにしたものである。
ここで、両実施形態において基本的に同一のものは、同一符号を付して示し、その説明を省略する他、以下、第2実施形態の特徴部分を中心に説明するものとする。
【0041】
図8は、この第2実施形態におけるコード情報読取装置の全体構成を示したブロック図である。
この第2実施形態における汎用CMOSセンサ部10は、上述した第1実施形態と同様に、照明用LED20、照射用LED30、イメージセンサ11、ドライバ12、コントロール&ロジック部14、ADコンバータ15を有しているが、上述のエリア指定用アドレスバッファ13を有しない構成となっている。また、コントローラ40は、コントローラ部41、データバッファ42の他、この第2実施形態においては、後述する転送データセレクタ43を有する構成となっている。なお、メモリ60には、上述した第1実施形態と同様に、エリア分割数メモリ61、エリア別階調分布データ格納レジスタ62、データ加工用ワークメモリ63を有している。
【0042】
この第2実施形態においても、汎用CMOSセンサ部10によって読み取られたイメージデータの階調分布状態に基づいてセンサの最適な露光時間を設定した後に読取動作を再開させる場合に、プリキャプチャ時にセンサ11によって読み取られた1面分のイメージデータを複数のエリア(5×5)に分割し、この各分割エリア毎に測定された階調分布に基づいて2次元コードが存在するか否か判別するようにしているが、この場合、2次元コードが存在するエリアおよびその周囲に存在する隣接エリアをコントローラ40内のデータバッファ42へ転送する為のデータ転送範囲として指定するようにしている。
【0043】
この場合、コントローラ40内に設けられている転送データセレクタ43は、本キャプチャ時において、汎用CMOSセンサ部10から得られた1面分のイメージデータをコントローラ40内のデータバッファ42へ転送する際に、この1面分のイメージデータのうち、上述のようにして指定されたデータ転送範囲に該当するエリア内のデータのみを抽出(他のデータをマスク)して、コントローラ40内のデータバッファ42へ転送するものである。
【0044】
図9は、転送データセレクタ43の動作を示したタイミングチャートである。ここで、図9(A)に示すDATACLK信号に同期してADコンバータ15から出力されるデータは、図9(B)に示す如くとなるが、この場合、汎用CMOSセンサ部10から出力される1面分のイメージデータのアドレスは、図9(C)に示すフレーム同期信号VSYNC、図9(D)に示すライン同期信号HSYNC、DATACLK信号に同期してカウントされ、上述の指定データ転送範囲に該当するエリア内のデータがそのアドレスカウント値に該当するか否かに応じて出力される転送データイネーブル信号(データマスク信号)は、図9(E)に示す如くとなる。
これによって転送データセレクタ43からデータバッファ42へ転送されるデータは、図9(F)に示す如くとなり、また、このデータバッファ42からメモリ60へDMA転送されるデータは、図9(G)に示す如くとなる。
【0045】
図10は、この第2実施形態における出力タイミングを示した図である。
この場合、各コマンドデータは、図10(A)に示すシステムクCLK信号に同期して出力され(図10(B)参照)、これによって、汎用CMOSセンサ部10から得られたイメージデータをキャプチャし、コントローラ40内のデータバッファ42を介してメモリ60へ転送される。この場合、本キャプチャ時には、図10(C)に示すDATACLK信号に同期してADコンバータ15から出力されるデータは、図10(D)に示すように1面分のイメージデータであるが、転送データセレクタ43によってデータ転送範囲内のデータのみに絞り込まれる為、メモリ60へDMA転送されるデータは、図10(E)に示す如くとなり、読取範囲(コードエリア)の判別時間を考慮しても、メモリ60へDMA転送されるデータの占有率が大幅に減少することになる。
【0046】
以上のように、この第2実施形態においては、汎用CMOSセンサ部10によって読み取られたイメージデータの階調分布状態に基づいてセンサ11の最適な露光時間を設定した後に、読取動作を再開させることによってデーコード対象となるイメージデータを転送する場合に、プリキャプチャ時にセンサ11によって読み取られた1面分のイメージデータを複数のエリアに分割し、この各分割エリア毎に測定された階調分布に基づいて読取対象のデータが存在するか否か判別すると共に、読取対象データが存在するエリアおよびその周囲に存在するエリアをデータ転送範囲として指定し、次の本キャプチャ時に得られた1面分のイメージデータのうち、コントローラ40内に転送データセレクタ43によって、このデータ転送範囲内のデータのみをメモリ60へ転送するようにしたから、センサ側にその読取範囲を任意に変更可能な機能が備わっていなくても、再開後においては、指定されたデータ転送範囲内のデータのみの転送が行われる為、データ量を効果的に削減することができ、データ量の削減によってデータ転送を効率良く行うことができ、デコードを開始するまでの処理時間を大幅に短縮することが可能となる。
【0047】
なお、上述第2実施形態においては、コントローラ40内に転送データセレクタ43を設け、本キャプチャ時に得られたイメージデータのうち、このデータ転送範囲内のデータのみをメモリ60へ転送するようにしたが、CPU50側の転送制御処理によってデータ転送範囲内のデータのみをメモリ60へ転送するようにしてもよい。
【0048】
一方、コンピュータに対して、上述した各手段を実行させるためのプログラムコードをそれぞれ記録した記録媒体(例えば、CD−ROM、フロッピィデスク、RAMカード等)を提供するようにしてもよい。
すなわち、コンピュータが読み取り可能なプログラムコードを有する記録媒体であって、電荷蓄積型のイメージセンサによって読み取られた1面分のイメージデータを複数のエリアに分割する機能と、分割された各エリア毎に、そのデータの階調分布を測定する機能と、エリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する機能と、読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをデータ転送範囲として指定する機能と、読取動作を再開させることによって得られたイメージデータのうち、前記指定されたデータ転送範囲内のデータのみをデーコード対象のデータとして転送する機能とを実現させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体を提供するようにしてもよい。
【0049】
なお、上述した各実施形態のコード情報読取装置においては、2次元コードを読取るようにしたが、バーコード(1次元コード)等のコード情報あるいはコード情報以外の文字列、図形、記号等の情報を読取る場合であっても同様に適用可能であり、読取対象となる情報は問わない。
また、イメージセンサ11は、撮像素子を1次元配列してライン走査する走査型のリニアセンサに限らず、撮像素子をマトリック状に2次元配列して面読取を行う面読取型のエリアセンサであってもよい。
【0050】
また、各実施形態のコード情報読取装置は、スタンド・アローン・タイプに限らず、その各構成要素が2以上の筐体に物理的に分離され、通信回線やケーブル等の有線伝送路あるいは電波、マイクロウエーブ、赤外線等の無線伝送路を介してデータを送受信する分散型のコンピュータシステムを構成するものであってもよい。
【0051】
【発明の効果】
第1の発明(請求項1記載の発明)によれば、読み取られた第一のイメージデータの階調分布状態に基づいて露光時間を設定した後に、この設定された露光時間にてデコード対象となる第二のイメージデータを取得する情報読取装置において、読取対象の情報が存在するエリアをセンサ読取範囲として指定して、第一のイメージデータよりデータ容量が少ない第二のイメージデータを前記設定された露光時間により取得するようにしたので、第一のイメージデータは第二のイメージデータを読取る露光時間を設定するためだけでなく、第二のイメージデータの読取範囲を特定するためも用いられる。
そのため第二のイメージデータのデータ量を効果的に削減することができ、データ量の削減によってデータ転送を効率良く行うことができ、デコードを開始するまでの処理時間を大幅に短縮することが可能となる。
第2の発明(請求項4記載の発明)によれば、読み取られた第一のイメージデータに基づいて露光時間を設定した後に、この設定された露光時間にて取得した第二のイメージデータをデコード対象のデータとして転送する情報読取装置において、読取対象の情報が存在することが判別されたエリアをデータ転送範囲として指定し、前記設定された露光時間にて読取られた前記第二のイメージデータのうち、前記指定手段によって指定され、前記第一のイメージデータよりデータ容量が少ないデータ転送範囲内のデータのみをデコード対象のデータとして転送するようにしたので、第一のイメージデータは第二のイメージデータを読取る露光時間を設定するためだけでなく、データ転送範囲を特定するためも用いられる。
そのためイメージセンサ側にその読取範囲を任意に変更可能な機能が備わっていなくても、指定されたデータ転送範囲内のデータのみの転送が行われる為、デコードを開始するまでの処理時間を大幅に短縮することが可能となる。
【図面の簡単な説明】
【図1】第1実施形態におけるコード情報読取装置の全体構成を示したブロック図。
【図2】(A)は、プリキャプチャ時の1面分のイメージデータを複数のエリアに分割した場合の分割状態を示した図、(B)は、プリキャプチャ時において、複数のエリアに分割された1面分のイメージデータを示した図。
【図3】(A)は、プリキャプチャ時に測定された1エリア分の階調分布の状態をグラフ化した図、(B)は、露光調整後の階調分布の状態をグラフ化した図。
【図4】(A)〜(D)は、プリキャプチャ時において、エリアA2、A3、C3、C4に対応して測定されたイメージデータの階調分布を示した図。
【図5】コード情報を読取ってデコードするまでのデコードシーケンスを示したフローチャート。
【図6】(A)は、本キャプチャ後におけるイメージデータを示した図、(B)は、データ加工後のイメージデータを示した図。
【図7】出力タイミングを示した図。
【図8】第2実施形態におけるコード情報読取装置の全体構成を示したブロック図。
【図9】転送データセレクタ43の動作を示したタイミングチャート。
【図10】第2実施形態における出力タイミングを示した図。
【図11】この発明の前提となる基本的な概念を説明する為のコード情報読取装置の全体構成を示したブロック図。
【図12】図11で示したコード情報読取装置において、コード情報を読取ってデコードするまでのデコードシーケンスを示したフローチャート。
【図13】(A)〜(C)は、図12で示したデコードシーケンスフローの過程で得られた各イメージデータを示した図。
【図14】図12で示したデコードシーケンスフローの過程でのデータ出力タイミングを示した図。
【符号の説明】
10 汎用CMOSセンサ部
11 イメージセンサ
12 ドライバ
13 エリア指定用アドレスバッファ
14 コントロール&ロジック部
15 ADコンバータ
40 コントローラ
41 コントローラ部
42 データバッファ
43 転送データセレクタ
50 CPU50
60 メモリ
61 エリア分割数メモリ
62 エリア別階調分布データ格納レジスタ
Claims (6)
- 情報を読取る読取範囲を任意に変更可能な電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にてデコード対象となる第二のイメージデータを取得する情報読取装置であって、
イメージセンサによって読み取られる前記第一のイメージデータを複数のエリアに分割する分割手段と、
この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段と、
この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段と、
この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として特定する特定手段と、
この特定手段によって特定されたセンサ読取範囲を指定して、前記第一のイメージデータよりデータ容量が少ない前記第二のイメージデータを前記設定された露光時間により取得するように制御する読取制御手段と、
を具備したことを特徴とする情報読取装置。 - 前記分割手段は、
イメージセンサによって読み取られるイメージデータをマトリックス状に複数の矩形エリアに分割する、
ようにしたことを特徴とする請求項1記載の情報読取装置。 - 前記イメージデータを分割する分割数を任意に設定する設定手段を設けた、
ことを特徴とする請求項1あるいは2記載の情報読取装置。 - 電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にて取得した第二のイメージデータをデコード対象のデータとして転送する情報読取装置であって、
イメージセンサによって読み取られる第一のイメージデータを複数のエリアに分割する分割手段と、
この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段と、
この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段と、
この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをデータ転送範囲として指定する指定手段と、
前記設定された露光時間にて読取られた前記第二のイメージデータのうち、前記指定手段によって指定され、前記第一のイメージデータよりデータ容量が少ないデータ転送範囲内のデータのみをデコード対象のデータとして転送する転送制御手段と、
を具備したことを特徴とする情報読取装置。 - 情報を読取る読取範囲を任意に変更可能な電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にてデコード対象となる第二のイメージデータを取得する情報読取装置のコンピュータを、
イメージセンサによって読み取られる前記第一のイメージデータを複数のエリアに分 割する分割手段、
この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段、
この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段、
この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをセンサ読取範囲として特定する特定手段、
この特定手段によって特定されたセンサ読取範囲を指定して、前記第一のイメージデータよりデータ容量が少ない前記第二のイメージデータを前記設定された露光時間により取得するように制御する読取制御手段、
として機能させるプログラム。 - 電荷蓄積型のイメージセンサによって読み取られた第一のイメージデータの階調分布状態に基づいて当該センサの最適な露光時間を設定した後に、この設定された露光時間にて取得した第二のイメージデータをデコード対象のデータとして転送する情報読取装置のコンピュータを、
イメージセンサによって読み取られる第一のイメージデータを複数のエリアに分割する分割手段、
この分割手段によって分割された各エリア毎に、そのデータの階調分布を測定する測定手段、
この測定手段によってエリア毎に測定された階調分布に基づいて読取対象の情報が存在するか否かをエリア毎に判別する判別手段、
この判別手段によって読取対象の情報が存在することが判別された場合に、当該エリアおよびその周囲に存在するエリアをデータ転送範囲として指定する指定手段、
前記設定された露光時間にて読取られた前記第二のイメージデータのうち、前記指定手段によって指定され、前記第一のイメージデータよりデータ容量が少ないデータ転送範囲内のデータのみをデコード対象のデータとして転送する転送制御手段、
として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002323534A JP4168731B2 (ja) | 2002-11-07 | 2002-11-07 | 情報読取装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002323534A JP4168731B2 (ja) | 2002-11-07 | 2002-11-07 | 情報読取装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004157812A JP2004157812A (ja) | 2004-06-03 |
JP4168731B2 true JP4168731B2 (ja) | 2008-10-22 |
Family
ID=32803376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002323534A Expired - Fee Related JP4168731B2 (ja) | 2002-11-07 | 2002-11-07 | 情報読取装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4168731B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134875A (ja) * | 2006-11-29 | 2008-06-12 | Juki Corp | コイン選別機 |
EP2775364B1 (en) | 2011-11-02 | 2019-10-30 | Nippon Steel Corporation | Steel tube production control method |
JP7367314B2 (ja) * | 2019-03-25 | 2023-10-24 | カシオ計算機株式会社 | コード読取装置、コード読取方法及びプログラム |
-
2002
- 2002-11-07 JP JP2002323534A patent/JP4168731B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004157812A (ja) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7143948B2 (en) | Reading method of the two-dimensional bar code | |
US8537407B2 (en) | Image reading device, correction method, and image processing method using an image reading device | |
KR101767090B1 (ko) | 정보 코드, 정보 코드 생성 방법, 정보 코드 판독 장치 및 정보 코드 이용 시스템 | |
US7259876B2 (en) | Image processing apparatus, and, control method and control device therefor | |
EP2309420B1 (en) | Method for improving the barcode recognition efficiency using continuous sampling, computer readable medium, and barcode recognition apparatus | |
US8477383B2 (en) | Processing based on command and register | |
CN103685877A (zh) | 打印对象数据处理装置及打印对象数据处理方法 | |
US20050117017A1 (en) | System and method for imaging regions of interest | |
JP4594042B2 (ja) | 画像処理方法、画像処理装置、及びコンピュータプログラム | |
JP4168731B2 (ja) | 情報読取装置およびプログラム | |
JP4449791B2 (ja) | コード読み取り装置、コード読み取り方法及びプログラム | |
JP2010278560A (ja) | 撮像システムおよび電子情報機器 | |
US6028966A (en) | Image reading apparatus and method including pre-scanning | |
US6963420B1 (en) | Image processing apparatus | |
JP4127187B2 (ja) | コード情報読取装置およびプログラム | |
US20070189638A1 (en) | Image processing apparatus, image forming apparatus and image processing method | |
JP3711725B2 (ja) | 画像認識装置 | |
JP4930172B2 (ja) | 光学情報読取装置 | |
JP2011076518A (ja) | 光学的情報読取装置及び画像データ取込方法 | |
JP2004102762A (ja) | 情報読取装置およびプログラム | |
JPH07254981A (ja) | 画像変倍処理装置におけるデータ管理装置 | |
US7688355B2 (en) | System and method for storing images of a workpiece | |
JP4004312B2 (ja) | 画像データ処理装置 | |
JP3014257B2 (ja) | 文書読み取り装置 | |
JP2000151899A (ja) | 画像読み取り装置及び画像読み取り制御用集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040906 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060208 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071122 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080519 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080715 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080728 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4168731 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |