(57)【特許請求の範囲】
【請求項１】
画像データを撮像するための撮像手段と、画像データの白黒を表す多階調の輝度値を画素単位で記憶するための記憶素子と、前記画像データの傾き方向に沿って記憶された輝度値の読み取りを行うために連続した読み取りアドレスの列を生成するアドレス発生手段と、読み取った輝度値から白／黒の境界を検出する白／黒境界検出手段とからなる画像データ読み取り装置において、前記白／黒境界検出手段は、前記記憶素子から読み取った輝度値から隣り合う画素の輝度値の差をとって輝度値変化量を導出する変化量演算手段と、輝度値変化量が極大あるいは極小を呈する画素間を境界基準点として設定する境界基準点設定手段と、輝度値変化量が極大あるいは極小を呈する画素間と隣接する２つの画素間から輝度値変化量の絶対値が大きい方の画素間を境界補正点として設定する境界補正点設定手段と、白／黒の境界の境界基準点からの補正量を導出する境界補正量演算手段と、白／黒境界を時間的に換算してパルス信号を発生する白／黒境界パルス発生手段とを有することを特徴とする画像データ読み取り装置。
【請求項２】
前記境界補正点設定手段は、境界基準点と隣接する２つの画素間の輝度値変化量が等しい場合、又は輝度値変化量が予め設定している閾値に満たない場合に、境界補正点を設定しない補正点省略手段を有することを特徴とする請求項１に係る画像データ読み取り装置。
【請求項３】
前記境界補正量演算手段は、境界基準点の輝度値変化量と境界補正点の輝度値変化量とに応じて境界補正量を導出する重み付け演算手段を有することを特徴とする請求項１に係る画像データ読み取り装置。
【請求項４】
前記重み付け演算手段は、加算減算のみによる近似演算手段を有することを特徴とする請求項３に係る画像データ読み取り装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バーコードなどの特定の認識パターンを有する画像データを、ＣＣＤ等の撮像素子によりメモリに書き込み画像処理を行う画像データ読み取り装置に関し、特に簡単な回路構成で白と黒との境界を高速に設定することの可能な画像データ読み取り装置に関する。
【０００２】
【従来の技術】
一般に画像データの読み取り、例えばバーとスペースの幅値の比によって情報を記録しているバーコードの読み取りにおいては、正確な幅値を計測することが不可欠である。バーコードの小型化、あるいは記録情報の高密度化を実現しようとすると、バーコードのバー及びスペースの幅値は小さくしなければならない。その結果、バー／スペースの幅値計測が難しくなる。これに対して撮像系の解像度を上げて対応することも可能であるが、撮像系に要するコストが向上するため得策ではない。そこでバー／スペースの幅値の計測を、撮像系における画素単位を上回る精度で実現する技術が必要となる。
【０００３】
例えば、米国特許第５３２９１０５号明細書には、輝度値の最大値と最小値を検出し、輝度値の極大と極大の間では各画素の輝度値と最大値との差の総和を、輝度値の極小と極小の間では各画素の輝度値と最小値との差の総和を求めることにより、これらの比をバー／スペースの幅値の比とする手法について開示がなされている。
【０００４】
図９は、スキャンする方向に沿った各画素のバーコードの輝度値をもとにバー／スペースの幅値を求める従来技術を説明するための図である。図９において、横軸はスキャン方向の画素を、縦軸は輝度値を表しており、各画素の輝度値をグラフ化している。101 ，102 ，103 は輝度値の極小点で、104 ，105 は極大点である。白い部分の輝度値は黒い部分の輝度値よりも大きいので、極小点はバーの中ほどに、極大点はスペースの中ほどに位置すると考えられる。また、106 は最小値を表すグラフで、107 は最大値を表している。したがって、バーの幅比は領域108 及び領域109 の面積に相当し、スペースの幅比は領域110 及び領域111 の面積に相当する。そこで、各画素の輝度値曲線と最大値あるいは最小値とに囲まれた領域の面積比を求めることにより、バー／スペースの幅比を導出することができる。
【０００５】
しかし、この手法では輝度値の絶対量を基準としているため、部分的に明るく撮像されている個所ではスペースの幅が長く認識され、部分的に暗く撮像されている個所ではバーの幅が長く認識されてしまうため、画像全体の明るさを一定にして撮像する必要があった。
【０００６】
この問題点を解決する手法として、輝度値の変化量をもとにしたバー／スペース境界設定手法が提案されている。この手法は、スキャンする方向に沿った全ての画素間で輝度値の差を計算し、輝度値変化量が極大となる個所の近傍にバーからスペースへの変化点が、輝度値変化量が極小となる個所の近傍にスペースからバーへの変化点が存在するものと考え、輝度値変化量が極大あるいは極小となる画素間の前後２個所の画素間の輝度値変化量を用いて補正を行うものである。この補正手法では、極大あるいは極小を含む３個所の画素間の輝度値変化量を２次曲線に近似し、この２次曲線の極大あるいは極小となる個所をバー／スペース境界点としている。
【０００７】
図10は、スキャンする方向に沿った画素間の輝度値変化量をもとに２次曲線近似によってバー／スペースの境界を求める従来技術を説明する説明図である。図10において横軸はスキャン方向の画素間を、縦軸は各画素間の輝度値変化量を表しており、曲線201 はこれらの関係をグラフ化したものである。202 は輝度値変化量の極大点で、203 は極小点である。なお、ノイズを除去するため閾値を設定し、閾値に満たない極大及び極小は排除している。また、204 ，205 ，206 ，207 は極大あるいは極小の前後の画素間における輝度値変化量である。２次曲線208 は極大とその前後の画素間の輝度値変化量の３点202 ，204 ，205 を通るように描いた曲線で、この２次曲線208 において極大209 を呈する個所が、バーからスペースへの境界点である。同様に、２次曲線210 は極小とその前後の画素間の輝度値変化量の３点203 ，206 ，207 を通るように描いた曲線で、この２次曲線210 において極大211 を呈する個所が、スペースからバーへの境界点である。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記画素間の輝度値変化量をもとに２次曲線近似によって境界を求める手法では、２次曲線に適合させてその極大／極小を導出する演算に、多数の乗算及び除算が含まれるため、ソフトウエアでは問題がないものの、回路化する際に回路規模の面で適当ではない。このように上記従来提案の画像データ読み取り手法によって、撮像された画像データを２値化すること、すなわち画像データの境界を求めることは可能であるが、その画像データ読み取り装置を小型高速化するには、その演算回路の大きさ及び処理速度の面から、コストの増大及び性能の低下を招くことは必至である。
【０００９】
本発明は、従来提案の画像データ読み取り装置における上記問題点を解消するためになされたもので、演算回路の小型化と演算速度の高速化を図り、コストを低減することの可能な画像データ読み取り装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記問題点を解決するため、請求項１に係る発明は、画像データを撮像するための撮像手段と、画像データの白黒を表す多階調の輝度値を画素単位で記憶するための記憶素子と、前記画像データの傾き方向に沿って記憶された輝度値の読み取りを行うために連続した読み取りアドレスの列を生成するアドレス発生手段と、読み取った輝度値から白／黒の境界を検出する白／黒境界検出手段とからなる画像データ読み取り装置において、前記白／黒境界検出手段は、前記記憶素子から読み取った輝度値から隣り合う画素の輝度値の差をとって輝度値変化量を導出する変化量演算手段と、輝度値変化量が極大あるいは極小を呈する画素間を境界基準点として設定する境界基準点設定手段と、輝度値変化量が極大あるいは極小を呈する画素間と隣接する２つの画素間から輝度値変化量の絶対値が大きい方の画素間を境界補正点として設定する境界補正点設定手段と、白／黒の境界の境界基準点からの補正量を導出する境界補正量演算手段と、白／黒境界を時間的に換算してパルス信号を発生する白／黒境界パルス発生手段とを有することを特徴とするものである。
【００１１】
このように構成した画像データ読み取り装置においては、撮像手段によって撮像された画像データを記憶素子に記憶し、記憶した画像データの輝度値をアドレス発生手段によって発生したアドレスに従って読み取る。そして記憶素子から読み取った輝度値から変化量演算手段によって隣り合う画素の輝度値の差をとって輝度値変化量を導出し、境界基準点設定手段によって輝度値変化量が極大あるいは極小を呈する画素間を境界基準点として設定する。また、境界補正点設定手段によって輝度値変化量が極大あるいは極小を呈する画素間と隣接する２つの画素間から輝度値変化量の絶対値が大きい方の画素間を境界補正点として設定し、境界補正量演算手段によって前記境界基準点の輝度値変化量と境界補正点の輝度値変化量に応じて、白／黒の境界の境界基準点からの補正量を導出し、白／黒境界パルス発生手段によって白／黒境界点の位置情報を時間情報に換算して白／黒境界パルスを発生する。これにより、簡単な回路構成で白／黒境界設定が可能となり、回路規模の縮小及び演算速度の向上を図ることができる。
【００１２】
請求項２に係る発明は、請求項１に係る画像データ読み取り装置において、前記境界補正点設定手段は、境界基準点と隣接する２つの画素間の輝度値変化量が等しい場合、又は輝度値変化量が予め設定している閾値に満たない場合に、境界補正点を設定しない補正点省略手段を有することを特徴とするものである。
【００１３】
このように構成された画像データ読み取り装置においては、補正点省略手段によって、境界基準点と隣接する２つの画素間の輝度値変化量が等しい場合、又は輝度値変化量が予め設定している閾値に満たない場合には、境界補正点を設定せず補正量を０とする。これにより、境界基準点と隣接する２つの画素間の輝度値変化量の値によっては補正量の演算を不要とし、演算速度の向上を実現することができる。
【００１４】
請求項３に係る発明は、請求項１に係る画像データ読み取り装置において、前記境界補正量演算手段は、境界基準点の輝度値変化量と境界補正点の輝度値変化量とに応じて境界補正量を導出する重み付け演算手段を有することを特徴とするものである。
【００１５】
このように構成した画像データ読み取り装置においては、重み付け演算手段によって、境界基準点の輝度値変化量と境界補正点の輝度値変化量をもとに重み付けをして境界補正量を導出し、これにより画素単位を上回る精度で白と黒との境界を設定することが可能となる。
【００１６】
請求項４に係る発明は、請求項３に係る画像データ読み取り装置において、前記重み付け演算手段は、加算減算のみによる近似演算手段を有することを特徴とするものである。
【００１７】
このように構成した画像データ読み取り装置においては、近似演算手段によって、重み付け演算に必要となる除算及び乗算を、加算及び減算のみによる近似演算を用いて処理し、これにより加算及び減算のみの簡単な回路構成で除算及び乗算が可能となり、回路規模の縮小及び演算速度の向上を図ることができる。
【００１８】
【発明の実施の形態】
次に、実施の形態について説明する。図１は、本発明に係る画像データ読み取り装置の第１の実施の形態を示すブロック構成図である。図１において、301 はＣＣＤ等の撮像素子、302 はフレームメモリ、303 はアドレス発生手段を含むフレームメモリ302 のコントロール部、304 はハードウェア、305 はワークメモリ、306 はシステム全体を制御するプロセッサ、307 はプロセッサ306 を補助する周辺回路である。また、308 はＤＭＡ転送部、309 は２値化回路部で本発明における白／黒境界設定手段に対応するものであり、また310 はコード検出部で、これらはハードウェア304 を構成している。なお、313 はプロセッサバスである。
【００１９】
次に、画像データの読み取りとして、バーコードの読み取りを例として挙げて、上記画像データ読み取り装置の実施の形態のシステム全体の動作を、信号の流れを中心にして説明する。まず、ＣＣＤ等の撮像素子301 で取り込まれた画像データ（バーコード）を含む画素情報は、増幅器311 で増幅されＡ／Ｄ変換器312によって所望のビット長に多値変換され、フレームメモリ302 内に輝度値データとして取り込まれる。この際、メモリコントロール部303 から、フレームメモリ302 へ格納するために必要なコントロール信号が発生する。
【００２０】
次に、フレームメモリ302 内の輝度値データをラスタースキャンにより読み出すことで、前記輝度値データから２値化回路部309 によってバー／スペースの幅データを生成していき、逐次コード検出部310 に与え、検出されたコードのアドレス値をプロセッサ（ＣＰＵ）306 に知らせる。該プロセッサ306 は、前記コードのアドレス値にて、バーコードの傾きを演算し、該傾きの値をメモリコントロール部303 にセットする。
【００２１】
前記バーコードの傾きが得られたときから、メモリコントロール部303 はバーコードの傾きに沿ったフレームメモリ302 へのアドレス発生を開始する。逐次、フレームメモリ302 より読み出される輝度値データは、読み取りと同時に２値化回路部309 によってバー／スペースの幅データを生成していき、ＤＭＡ転送部308 を通じて、ワークメモリ305 へ送られる。１フレーム分のデータをワークメモリ305 へ転送し終えたところで、プロセッサ306 はワークメモリ305 中のバーコード情報をもとにデコード処理を実施する。なお１フレーム分のデータをワークメモリ305 へ転送し終えたことを示す信号は、メモリコントロール部303 からプロセッサ306 へ与えられる。
【００２２】
次に、図１に示した実施の形態における２値化回路部（白／黒境界設定手段に対応する）の構成例を、図２に基づいて説明する。図２において、401 は第１のタイミング回路、402 は本発明における変化量演算手段に対応する減算回路、403 は第２のタイミング回路、404 は本発明における境界基準点設定手段と境界補正点設定手段に対応する境界基準点・補正点設定回路、405 は同じく本発明における境界補正量演算手段に対応する補正回路、406 は同じく本発明における白／黒境界パルス発生手段に対応する白／黒境界パルス発生回路である。
【００２３】
次に、このように構成されている２値化回路部の概略動作について説明する。スキャン方向に従ったアドレスをメモリコントロール部303 からフレームメモリ302 に与え、多階調の輝度値データを読み出す。読み出した輝度値データは第１のタイミング回路401 に入力され、該タイミング回路401 にて現在の読み取り輝度値１と読み取り周期分だけ遅れた輝度値２とを発生し、減算回路402 で差をとって輝度値変化量を出力する。輝度値変化量は第２のタイミング回路403 に入力され、該タイミング回路403 にて読み取り周期に合わせた３周期分の輝度値変化量１，２，３を発生し、境界基準点・補正点設定回路404 は前記３つの輝度値変化量１，２，３から極大／極小点を検出する。そして、極大／極小点が検出できた場合には、これを境界基準点とし、境界基準点に隣接し、２番目に大きいあるいは小さい輝度値変化量を呈する点を境界補正点とし、基準点と補正点の輝度値変化量を出力する。次いで、基準点と補正点の輝度値変化量から補正回路405 にて白黒境界の補正量を演算し、境界パルス発生回路406 で補正量を時間に換算して境界パルスを発生する。
【００２４】
次にバーコードの例を用いて、２値化回路部（白／黒境界設定手段）の具体的な動作原理を説明する。図３はバーコードの一部を示した図で、501 は黒いバー、502 は白いスペース、503 は画素の切れ目、下に添えた値504 は各画素の輝度値を表している。
【００２５】
ＣＣＤ等の撮像素子301 によって撮像されたバーコードは、画素単位で多階調の値を有する輝度値データとしてＤＲＡＭ等のフレームメモリ302 に記憶される。図３は画素毎の輝度値と、この輝度値に対応するバー及びスペースを描いたものである。ここで、輝度値は16階調であるものとする。理想的には黒は０，白は15となるはずであるが、実際に撮像された輝度値データはばらついた値をもつ。このように、ノイズの乗ったような輝度値を有していたとしても、黒と白との境界においては、明らかに確認のできる輝度値の変化がある。また、画素内に境界が存在すれば、その画素の輝度値は、各画素に存在している輝度値の最大値と最小値との中間的な値を呈している。
【００２６】
輝度値が上記のような特性を有することを考慮して、白黒の境界を検出する手法をまとめると、以下のようになる。
（１）隣り合う画素間の輝度値変化量が極大あるいは極小で、その絶対値がノイズを除去する目的で設定した閾値よりも大きいところを探し、そこを白黒境界の基準点とする。
（２）境界基準点に設定した画素間の前後の画素間に着目し、輝度値変化量が境界基準点の値に近い方を選択し、その画素間を境界補正点とする。
（３）境界基準点と補正点との間に白黒の境界が存在すると考え、境界基準点における輝度値変化量と補正点における輝度値変化に応じて白黒の境界を設定する。
【００２７】
以上の手法によって、白黒の境界は画素単位を上回る精度で設定ができる。但し、本手法の性質上、白及び黒の幅値が２画素以上の場合に有効であり、１画素未満の場合には無効である。また、１画素以上２画素未満の場合には境界設定ができることもある。
【００２８】
次に、図２に示した２値化回路部（白／黒境界設定手段）309 における境界基準点・補正点設定回路404 の具体的な構成例を、図４に基づいて説明する。図４において、601 ，602 ，603 ，605 は輝度値変化量の条件判定回路、604 は補正点省略手段に対応する補正点省略回路である。
【００２９】
次に、このような構成の境界基準点・補正点設定回路の動作について説明する。輝度値変化量が極大／極小を呈する境界基準点が設定されたら、その前後（１周期前後）の画素間の輝度値変化量を評価する。まず、条件判定回路601 ，602にて、２個所の前後の画素間の輝度値変化量を予め設定した閾値と比較し、共に閾値未満である場合には、補正量に与える影響が小さいものと判断し、ＡＮＤ回路606 及びＯＲ回路607 を介して補正点省略回路604 により補正点の設定を省略し、境界基準点を白黒の境界とする。
【００３０】
また、少なくとも一方の画素間の輝度値変化量が閾値以上であった場合には、条件判定回路603 において２個所の輝度値変化量を比較し、等しい場合には前後の画素間の補正量への影響は等しいため補正は不要と判断し、ＯＲ回路607 を介して補正点省略回路604 により補正点の設定を省略し、境界基準点を白黒の境界とする。
【００３１】
そして、上記のいずれの条件にも該当しない場合には、条件判定回路605 により、２個所の画素間のうち、絶対値の大きい輝度値変化量を呈する個所を境界補正点に設定する。
【００３２】
次に、図２に示した２値化回路部（白／黒境界設定手段）309 における補正回路（境界補正量演算手段）405 の動作原理を、図５に基づいて説明する。境界基準点・補正点設定回路404 において、境界補正点を設定した場合には、境界基準点と境界補正点との間に白黒の境界が存在すると考える。そこで、境界基準点と境界補正点の輝度値変化量を重みに用いて、白黒の境界を設定する。図５において、境界基準点における輝度値変化量をZO，境界補正点における輝度値変化量をZHとすれば、白黒境界は基準点と補正点をZH：ZOに内分する点であると考え、境界基準点から境界補正点の方向に、〔ZH／（ZO＋ZH）〕画素だけ移動した点となる。
【００３３】
図６は、上記補正回路（境界補正量演算手段）405 に設けられている重み付け演算部（本発明の重み付け演算手段に対応する）における近似演算部（本発明の近似演算手段に対応する）の動作を説明するためのフローチャートの一例である。図６において、701 ，702 ，703 ，704 は各条件判定部の判定ステップである。１画素を10クロックの周期に対応させた場合を考え、輝度値は16階調、境界基準点とみなす輝度値変化量の極大／極小の閾値は、絶対値で５以上、境界補正点の輝度値変化量は２以上で有効とする場合を例にして説明する。
【００３４】
１画素を10クロックに換算する場合、境界基準点の輝度値変化量をZO，境界補正点の輝度値変化量をZHとすれば、補正量は前記図５に示した手法に従うと、10×〔ZH／（ZO＋ZH）〕クロックと換算される。10×〔ZH／（ZO＋ZH）〕によって補正クロック数を求める場合、この換算式からも明らかなように除算及び乗算処理が存在する。除算／乗算処理を回路化することは回路規模の増大を招くため、適当ではない。
【００３５】
境界基準点における輝度値変化量ZOと補正点における輝度値変化量ZHは、両者の和は輝度値の階調数を上回ることはなく、またノイズ除去のために設定した閾値を考慮すると、演算すべきパターンは限定される。したがって、入力ZO，ZHに対応した出力10×〔ZH／（ZO＋ZH）〕をテーブルとして設定しておくことも、入出力パターン数が少ない場合に有効な手法である。前記の設定における入出力パターン数は36しかない。
【００３６】
しかし、入出力パターンを解析すると、加算／減算のみで表現できる数種類の特性が必ず存在する。この特性に従うと、出力値の小数点以下を丸める近似が必要となるが、出力値はクロック数という整数であるため妥当な近似である。加減算のみに変換した一例が、図６に示す補正量演算のフローチャートである。入力値であるZO及びZHの値による条件判定ステップ701 ，702 ，703 ，704 に従って場合分けを行うことにより、単純な加減算の近似式に変換できる。
【００３７】
次に、２値化回路部（白／黒境界設定手段）309 の他の構成例を図７に示す。図８は、図７に示した２値化回路部における信号の流れを説明するためのタイミングチャートで、このタイミングチャートは、メモリが例えばＤＲＡＭである場合を想定して描いたもので、このタイミングチャートに示す信号の流れに沿って、図７に示した構成を合わせて説明する。図８において、SYCKはシステムクロック、 lat９は正規化演算を含めた１画素読み取り処理終了信号、RAS ，CAS は記憶素子（メモリ）に読み書きの命令を与えるための信号、ADR(9:0)は記憶素子に伝達するアドレス信号、DDQ(4:1)はRAS ，CAS ，ADR 信号に従って記憶素子から読み取った輝度値データである。 ddq１は lat９信号に従って輝度値データを読み取り周期単位で保持するレジスタ801 の保持データ、 ddq２はレジスタ801 の保持データ ddq１の１周期遅れの輝度値データを読み取り周期単位で保持するレジスタ802 の保持データ、 sdq１は輝度値変化量である減算回路803 の演算結果(ddq１− ddq２）を、 lat９信号に従って読み取り周期単位で保持するレジスタ804 の保持データ、 sdq２はレジスタ804 の保持データ sdq１の１周期遅れの輝度値変化量を、読み取り周期単位で保持するレジスタ805 の保持データ、 sdq３はレジスタ804 の保持データ sdq１の２周期遅れの輝度値変化量を、読み取り周期単位で保持するレジスタ806 の保持データ、beenは輝度値変化量の極大／極小を検出するノイズ除去・極大／極小判定部807 の検出信号、BSCKは白黒境界を補正した上で発生する白黒境界パルスである。bsck１、bsck２は実際には存在しない信号で、bsck１はbeenを検出した直後に lat９に従ってBSCKを発生した場合の時刻を、bsck２は白黒境界の補正量が０である場合にBSCKを発生すると定義している時刻を示している。
【００３８】
ここで、10クロックを１周期としているが、これは幅値の比を導出する正規化演算に要する時間と、BSCKを用いて白黒の境界位置を時間的な値を用いて１／10画素単位で補正するための時間を確保する目的をもつ。なお、図８のタイミングチャートでは、実例を説明する目的で、ADR 及びDDQ に適当な数値を入れて示している。
【００３９】
次に、図７に示した２値化回路部（境界設定手段）の具体的な動作について説明する。メモリコントロール部から指示されるアドレスADR に従って、記憶素子（メモリ）より輝度値データDDQ を得る。この輝度値データDDQ は読み取り周期を基準に処理を進めていくために、１画素読み取り処理終了信号１at９が‘Ｈ’であるときのシステムクロックSYCKの立ち上がりに同期して、レジスタ(ddq１）801 に格納される。 ddq２は ddq１の１周期遅れの輝度値データで、読み取り周期の時間内に減算回路803 にて前記 ddq１から ddq２を引いて輝度値変化量を得る。輝度値変化量は、１画素読み取り処理終了信号１at９が‘Ｈ’であるときのシステムクロックSYCKの立ち上がりに同期して、レジスタ(sdq１）804 に格納される。 sdq２， sdq３は sdq１のそれぞれ１周期遅れ、２周期遅れの輝度値変化量で、 sdq１， sdq２， sdq３の各値を、ノイズ除去・極大／極小判定部807 で読み取り周期の時間内に比較し、 sdq２の絶対値が閾値以上で、且つ sdq１の絶対値と sdq３の絶対値よりも大きい場合に、極大／極小ありと判定し、前記条件を満たしている周期の時間中、beenを‘Ｈ’にする。また、この周期時間内に補正点を決定し、補正演算回路808 で補正量も演算する。白黒境界パルスBSCKは、beenが‘Ｈ’で且つ lat９が‘Ｈ’であるときから、システムクロックSYCKに同期してカントアップするカウンタ809 のカウンタ値に従って、白黒境界パルス発生回路810 において、補正量を合わせた時刻に‘Ｈ’として出力する。但し、カウンタ809 の示す時刻は正方向にしか刻まれないので、負の補正量を表せるように補正量０の時刻を何らかの値に設定し、負の補正量を表現できるようにする必要がある。補正のなされた白黒境界パルスBSCKの間隔が、白あるいは黒の幅を時間換算したものである。なお、上記の例では１画素の読み取り周期が10クロックであるため、補正量１クロックは１／10画素に相当する。以上の処理動作により、１／10画素単位での白及び黒の幅値導出が可能となる。
【００４０】
【発明の効果】
以上実施の形態に基づいて説明したように、請求項１に係る発明によれば、白／黒境界検出手段を輝度値変化量を導出する変化量演算手段と境界基準点設定手段と境界補正点設定手段と境界補正量演算手段と白／黒境界パルス発生手段とで構成しているので、簡単な回路構成で白／黒境界設定が可能となり、回路規模の縮小化及び演算速度の向上を図った画像データ読み取り装置を実現することができる。請求項２に係る発明によれば、補正点省略手段を設けて、境界基準点と隣接する２つの画素間の輝度値変化量の値によっては補正量の演算を不要としているので、演算速度の向上を図ることができる。請求項３に係る発明によれば、重み付け演算手段によって、境界基準点の輝度値変化量と境界補正点の輝度値変化量をもとに重み付けをして境界補正量を導出するようにしているので、画素単位を上回る精度で白と黒との境界を設定することが可能となる。請求項４に係る発明によれば、近似演算手段によって、重み付け演算に必要となる除算及び乗算を、加算及び減算のみによる近似演算を用いて処理するようにしているので、加算及び減算のみの簡単な回路構成で除算及び乗算が可能となり、回路規模の縮小化及び演算速度の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明に係る画像データ読み取り装置の実施の形態を示すブロック構成図である。
【図２】図１に示した実施の形態における２値化回路部の構成例を示すブロック構成図である。
【図３】バーコードとその輝度値を対応させて示す図である。
【図４】図２に示した２値化回路部における境界基準点・補正点設定回路の構成例を示すブロック構成図である。
【図５】図２に示した２値化回路部における補正回路の動作原理を示す説明図である。
【図６】補正回路における近似演算処理動作を説明するためのフローチャートである。
【図７】図２に示した２値化回路部の他の構成例を示すブロック構成図である。
【図８】図７に示した２値化回路部の動作を説明するためのタイミングチャートである。
【図９】従来のバーコードの輝度値を用いた幅値設定手法を示す説明図である。
【図１０】従来の輝度値変化量を用いた２次曲線近似によるバー／スペース境界設定手法を示す説明図である。
【符号の説明】
301   撮像素子
302   フレームメモリ
303   メモリコントロール部
304   ハードウエア
305   ワークメモリ
306   プロセッサ
307   周辺回路
308   ＤＭＡ転送部
309   ２値化回路部
310   コード検出部
311   増幅器
312   Ａ／Ｄ変換器
401   第１のタイミング回路
402   減算回路
403   第２のタイミング回路
404   境界基準点・補正点設定回路
405   補正回路
406   境界パルス発生回路
501   黒いバー
502   白いスペース
503   画素の切れ目
504   画素の輝度値
601,602,603,605   条件判定部
604   補正点省略回路
801,802,804,805,806   レジスタ
803   減算回路
807   ノイズ除去・極大／極小判定部
808   補正演算回路
809   カウンタ
810   白黒境界パルス発生回路
【図１】
0004391657.tif 000002
【図２】
0004391657.tif 000003
【図３】
0004391657.tif 000004
【図４】
0004391657.tif 000005
【図５】
0004391657.tif 000006
【図６】
0004391657.tif 000007
【図７】
0004391657.tif 000008
【図８】
0004391657.tif 000009
【図９】
0004391657.tif 000010
【図１０】
0004391657.tif 000011