JP2008282262A - バーコード読取装置およびバーコード読取方法 - Google Patents

バーコード読取装置およびバーコード読取方法 Download PDF

Info

Publication number
JP2008282262A
JP2008282262A JP2007126906A JP2007126906A JP2008282262A JP 2008282262 A JP2008282262 A JP 2008282262A JP 2007126906 A JP2007126906 A JP 2007126906A JP 2007126906 A JP2007126906 A JP 2007126906A JP 2008282262 A JP2008282262 A JP 2008282262A
Authority
JP
Japan
Prior art keywords
value
extreme value
extreme
barcode
maximum
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.)
Withdrawn
Application number
JP2007126906A
Other languages
English (en)
Inventor
Tomomi Masuko
智巳 益子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2007126906A priority Critical patent/JP2008282262A/ja
Priority to US12/151,448 priority patent/US7775434B2/en
Publication of JP2008282262A publication Critical patent/JP2008282262A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1478Methods for optical code recognition the method including quality enhancement steps adapting the threshold for pixels in a CMOS or CCD pixel sensor for black and white recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Dc Digital Transmission (AREA)

Abstract

【課題】外光が入った場合であってもバーコード記号を正確に読み取ることができるバーコード読取装置およびバーコード読取方法を提供すること。
【解決手段】本発明にかかるバーコード読取装置1は、バーコード記号の反射光強度に対応した電気信号から微分信号を生成する微分処理部13と、微分処理部13によって生成された微分信号の各極値を検出し、少なくとも検出した各極値の電気信号値を含む極値情報を生成する極値検出部14と、極値情報における各極値ごとに、極値の電気信号値と該極値に隣り合う少なくとも一方の極値の電気信号値との電圧差を演算する電圧差演算部16と、電圧差演算部16で演算された電圧差ごとに、電圧差と所定の閾値とを比較して電圧差に対応する極値の有効性を判断する極値検証部18とを有し、極値検証部18によって有効と判断された極値の極値情報を用いてバーコード記号Bに記録された情報をデコードする。
【選択図】 図1

Description

この発明は、バーコードに記録された情報を読み取るバーコード読取装置およびバーコード読取方法に関する。
レーザ光などでバーコード記号を走査しバーコード記号に記録された情報を読み取るバーコード読取装置が広く使用されている。このようなバーコード読取装置においては、バーコード記号からの反射光の光学的特性の変化を検出してバーコード記号を構成する各エレメントの幅を表すバーコード幅データを生成し、このバーコード幅データをもとにデコード処理を行なうことによって、バーコード記号に記録された情報を読み取っている。
このバーコード読取装置において一般的に行なわれているバーコード読取処理について説明する。バーコード読取装置は、図22(1)に例示するバーコード記号からの反射光をセンサで受光し、受光量に対応する電流信号をI−V変換し、図22(2)に例示するI−V変換信号Cを生成する。そして、バーコード読取装置は、I−V変換信号Cを微分処理し、図22(3)に例示する微分信号Eを取得する。次いで、バーコード読取装置は、微分信号Eにおける極値が含まれない信号不変領域の所定位置の電圧値を基準電圧値Vc0として固定し、この基準電圧値Vc0をもとに微分信号Eを処理してピークの電圧値であるピークホールド値およびボトムホールド値を求める。つぎに、バーコード読取装置は、基準電圧値Vc0を基準として求めたピークホールド値およびボトムホールド値を所定比率で分圧して閾値となる閾値信号を設定する。たとえば、図22(3)に例示するように、閾値信号として第1閾値信号L1および第2閾値信号L2が設定される。そして、バーコード読取装置は、微分信号Eの信号の電圧値と閾値信号とを順に比較し、閾値信号以上のレベルを有する信号をピークと判断する。そして、バーコード読取装置は、各ピークのピーク幅をもとに、図22(4),(5)に例示する比較信号A0,B0を生成し、図22(6)に示すように、比較信号A0,B0をもとにバーコード幅データWを再生する(たとえば、特許文献1および特許文献2参照)。
特開昭60−157678号公報 特開2001−28045号公報
しかしながら、外光が入って信号にうねりが生じた場合、微分信号にもうねりが残ってしまう。そして、微分信号にうねりが残ってしまった場合には、微分信号自体が傾いてしまい、固定して設定された基準電圧とうねりが残った領域の信号不変領域の電圧値との間にずれが生じてしまう。従来のバーコード読取装置は、この基準電圧値をもとに閾値信号を設定するため、基準電圧値とうねりが残った領域の信号不変領域の電圧値とがずれる領域において、微分信号における極値が閾値信号のレベルを下回ってしまい、極値を正確に検出できない場合が発生する。この結果、従来のバーコード読取装置においては、外光が入った場合には正確な比較信号を生成することができず、バーコード記号を正確に読み取ることができないという問題があった。
本発明は、上記に鑑みてなされたものであって、外光が入った場合であってもバーコード記号を正確に読み取ることができるバーコード読取装置およびバーコード読取方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、この発明にかかるバーコード読取装置は、バーコード記号からの反射光強度に対応した電気信号から微分信号を生成する微分処理手段と、前記微分処理手段によって生成された微分信号における各極値を検出し、少なくとも検出した各極値の電気信号値を含む極値情報を生成する極値検出手段と、前記極値情報における各極値ごとに、前記極値の電気信号値と該極値に隣り合う少なくとも一方の極値の電気信号値との差分値を演算する演算手段と、前記演算手段によって演算された差分値ごとに、前記差分値と所定の閾値とを比較して前記差分値に対応する極値の有効性を判断する判断手段と、前記判断手段によって有効であると判断された極値の前記極値情報を用いて前記バーコード記号に記録された情報をデコードするデコード処理手段と、を備えたことを特徴とする。
また、この発明にかかるバーコード読取装置は、前記判断手段は、前記差分値が前記所定の閾値以上である場合に該差分値に対応する極値は前記バーコード記号に応じた有効な極値であると判断することを特徴とする。
また、この発明にかかるバーコード読取装置は、前記判断手段は、前記差分値が前記所定の閾値未満である場合、該差分値に対応する極値は前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を前記極値情報から除外することを特徴とする。
また、この発明にかかるバーコード読取装置は、前記極値情報において極大値が連続した場合、前記極大値の電気信号値と該極大値に近接する極小値の電気信号値との差分値を各極大値ごとに演算した後に各差分値のうち最大である差分値に対応する極大値を前記バーコード記号に応じた有効な極大値であると認識し、前記極値情報において極小値が連続した場合、前記極小値の電気信号値と該極小値に近接する極大値の電気信号値との差分値を各極小値ごとに演算した後に各差分値のうち最大である差分値に対応する極小値を前記バーコード記号に応じた有効な極小値であると認識する認識手段をさらに備えたことを特徴とする。
また、この発明にかかるバーコード読取装置は、前記認識手段は、演算した各差分値のうち最大である差分値以外の差分値に対応する極値を前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を除外した前記極値情報を前記演算手段に出力し、前記演算手段は、前記認識手段によって出力された極値情報をもとに各極値ごとに差分値を演算することを特徴とする。
また、この発明にかかるバーコード読取装置は、前記所定の閾値は、前記微分信号の最大振幅をもとに設定されることを特徴とする。
また、この発明にかかるバーコード読取装置は、前記所定の閾値は、前記演算手段によって演算された各差分値における最大値をもとに設定されることを特徴とする。
また、この発明にかかるバーコード読取装置は、前記所定の閾値は、前記極値ごとに、前記極値に近接した極値に対応する前記差分値をもとに設定されることを特徴とする。
また、この発明にかかるバーコード読取装置は、光を発する光源と、前記光源が発した光を前記バーコード記号上に走査させる走査手段と、前記バーコード記号からの反射光を集光する集光手段と、前記集光手段によって集光された光を順次受光して受光強度に対応した電気信号に順次変換し前記微分処理手段に出力する検出手段と、をさらに備えたことを特徴とする。
また、この発明にかかるバーコード読取装置は、前記バーコード記号全体に光を照射する光源と、該バーコード記号全体からの反射光を集光する集光手段と、前記集光手段によって集光された光を受光して受光強度に対応した電気信号に変換し前記微分処理手段に出力する検出手段と、をさらに備えたことを特徴とする。
また、この発明にかかるバーコード読取方法は、バーコード記号に光を照射し、該バーコード記号の反射光強度からバーコード記号を読み取るバーコード読み取り方法において、前記バーコード記号からの反射光強度に対応した電気信号から微分信号を生成する微分ステップと、前記微分信号における各極値を検出し、少なくとも検出した各極値の電気信号値を含む極値情報を生成する極値検出ステップと、前記極値情報における各極値ごとに、前記極値の電気信号値と該極値に隣り合う少なくとも一方の極値の電気信号値との差分値を演算する演算ステップと、前記演算ステップにおいて演算された差分値ごとに、前記差分値と所定の閾値とを比較して前記差分値に対応する極値の有効性を判断する判断ステップと、前記判断ステップにおいて有効であると判断された極値の前記極値情報を用いて前記バーコード記号に記録された情報をデコードするデコードステップと、を含むことを特徴とする。
また、この発明にかかるバーコード読取方法は、前記判断ステップは、前記差分値が前記所定の閾値以上である場合に該差分値に対応する極値は前記バーコード記号に応じた有効な極値であると判断することを特徴とする。
また、この発明にかかるバーコード読取方法は、前記判断ステップは、前記差分値が前記所定の閾値未満である場合、該差分値に対応する極値は前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を前記極値情報から除外することを特徴とする。
また、この発明にかかるバーコード読取方法は、前記極値情報において極大値が連続した場合、前記極大値の電気信号値と該極大値に近接する極小値の電気信号値との差分値を各極大値ごとに演算した後に各差分値のうち最大である差分値に対応する極大値を前記バーコード記号に応じた有効な極大値であると認識し、前記極値情報において極小値が連続した場合、前記極小値の電気信号値と該極小値に近接する極大値の電気信号値との差分値を各極小値ごとに演算した後に各差分値のうち最大である差分値に対応する極小値を前記バーコード記号に応じた有効な極小値であると認識する認識ステップをさらに含むことを特徴とする。
また、この発明にかかるバーコード読取方法は、前記認識ステップは、演算した各差分値のうち最大である差分値以外の差分値に対応する極値を前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を除外した前記極値情報を出力し、前記演算ステップは、前記認識ステップにおいて出力された極値情報をもとに各極値ごとに差分値を演算することを特徴とする。
また、この発明にかかるバーコード読取方法は、前記所定の閾値は、前記微分信号の最大振幅をもとに設定されることを特徴とする。
また、この発明にかかるバーコード読取方法は、前記所定の閾値は、前記演算ステップにおいて演算された各差分値における最大値をもとに設定されることを特徴とする。
また、この発明にかかるバーコード読取方法は、前記所定の閾値は、前記極値ごとに、前記極値に近接した極値に対応する前記差分値をもとに設定されることを特徴とする。
本発明は、固定して設定された基準電圧値ではなく、検証対象である極値に隣り合う極値との電圧差を用いて、この検証対象である極値の有効性を判断するため、外光によって発生した微分信号のうねりに起因して微分信号が傾いた場合であってもバーコード記号を正確に読み取ることができる。
以下、図面を参照して、この発明の実施の形態について説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付している。
まず、実施の形態において説明する。図1は、実施の形態にかかるバーコード読取装置の構成を示す模式図である。図1に示すように、実施の形態にかかるバーコード読取装置1は、記録された情報に応じた幅で各エレメントが表示されたバーコード記号Bに記録された情報を読み取る。
バーコード読取装置1は、光源2、反射ミラー3、走査ミラー4、集光ミラー5、光学フィルタ6、センサ7、シールド8、光源制御部9、駆動制御部10、I−V変換部12、微分処理部13、極値検出部14、ノイズ認識部15、電圧差演算部16、閾値設定部17、極値検証部18、バーコード幅データ生成部19、出力部20を備える。
光源2は、たとえばレーザ光などの光を発する。反射ミラー3は、固定配置され、光源2から発光された光を走査ミラー4方向に偏光する。走査ミラー4は、モータなどによって回動可能であり、反射ミラー3によって偏光された光を図1に示す左右方向にしたがってバーコード記号B上に走査させる。また、走査ミラー4は、バーコード記号Bにおける各領域から順次反射される反射光を集光ミラー5に偏光する。集光ミラー5は、走査ミラー4によって反射されたバーコード記号Bからの反射光をセンサ7に対して集光する。光学フィルタ6は、センサ7の前面に設けられ、バーコード読み取りに要する波長のみを透過させる。
センサ7は、集光ミラー5によって集光され光学フィルタ6を透過した光を順次受光して受光強度に対応した電流信号を生成し、この電流信号をI−V変換部12に出力する。シールド8は、電磁的なノイズの影響をセンサ7から除外する機能を有する。光源制御部9は、バーコード幅データ生成部19におけるバーコード幅データ生成処理と関連づけて、光源2における発光処理を制御する。駆動制御部10は、バーコード幅データ生成部19におけるバーコード幅データ生成処理と関連づけて、走査ミラー4におけるモータを駆動し走査ミラー4の回動動作を制御することによって、走査ミラー4における走査処理を制御する。
I−V変換部12は、センサ7から出力された電流信号を電圧信号に変換して微分処理部13に出力する。この電圧信号は、バーコード記号Bからの反射光強度に対応したものとなる。なお、I−V変換部12は、変換した電圧信号を増幅して出力してもよい。
微分処理部13は、I−V変換部12から出力された電圧信号を1次微分することによって、電圧信号の電圧値の増減のエッジが極値として示される微分信号を生成する。なお、微分処理部13は、生成した微分信号を増幅、フィルタリングしたうえで出力してもよい。
極値検出部14は、微分処理部13によって生成された微分信号から、電圧値の増減の各エッジを示す各極値を検出する。極値検出部14は、検出した各極値を、センサ7における受光時間に対応する時間情報と電気信号値(電圧値)とを対応させた状態で示した極値データをノイズ認識部15に出力する。なお、極値検出部14は、微分信号をA/D変換したデジタルサンプリングデータを生成し、このデジタルサンプリングデータをもとに極値を検出する。また、極値検出部14は、微分信号における最初の極値に対しては、一定の期間において極値が検出されなかった後に初めて検出された極値を微分信号の最初の極値であると識別する。また、極値検出部14は、微分信号における最後の極値に対しては、極値が検出された後に一定の期間において次の極値が検出されなかった場合に、検出した最後の極値を微分信号の最後の極値であると識別する。
ノイズ認識部15は、極値検出部14が検出した各極値のうち、ノイズなどに対応しバーコード記号Bに対応しない極値を認識する。ノイズ認識部15は、極値データにおいて極大値が連続した場合、極大値の電圧値と、この極大値に近接する極小値の電圧値との差分値を各極大値ごとに演算した後に各差分値のうち最大である差分値に対応する極大値をバーコード記号Bに応じた有効な極大値であると認識する。また、ノイズ認識部15は、極値データにおいて極小値が連続した場合、極小値の電圧値と、この極小値に近接する極大値の電圧値との差分値を各極小値ごとに演算した後に各差分値のうち最大である差分値に対応する極小値をバーコード記号Bに応じた有効な極小値であると認識する。ノイズ認識部15は、演算した各差分値のうち最大である差分値以外の差分値に対応する極値をバーコード記号Bに対応しない無効な極値であると判断するとともに、無効であると判断した極値を除外した極値データを電圧差演算部16に出力する。なお、ノイズ認識部15は、少なくとも入力された極値データを一時的に保持できるメモリ15aを有する。
電圧差演算部16は、入力された極値データをもとに、各極値ごとに、極値の電圧値と、この極値に隣り合う少なくとも一方の極値の電圧値との差分値を演算する。電圧差演算部16は、演算した各電圧差データを時間情報と対応づけて極値検証部18に出力する。また、電圧差演算部16は、演算した各電圧差データを閾値設定部17に出力する。なお、電圧差演算部16は、少なくとも入力された極値データおよび演算した電圧差データを一時的に保持できるメモリ16aを有する。
閾値設定部17は、極値検証部18における処理に使用する閾値を設定する。閾値設定部17は、少なくとも電圧差演算部16から入力された電圧差データを一時的に保持できるとともに、閾値設定処理に関する情報を記憶するメモリ17aを有する。
極値検証部18は、電圧差演算部16によって演算された各電圧差ごとに、電圧差と所定の閾値とを比較して、この電圧差に対応する極値の有効性を判断する。極値検証部18は、電圧差の絶対値が所定の閾値以上である場合に、この電圧差に対応する極値はバーコード記号Bに応じた有効な極値であると判断する。また、極値検証部18は、電圧差の絶対値が所定の閾値未満である場合、この電圧差に対応する極値はバーコード記号Bに応じない無効な極値であると判断するとともに、無効であると判断した極値を極値データから除外する。なお、極値検証部18は、少なくとも入力された電圧差データ、極値データ及び閾値設定部17で設定された閾値を一時的に保持できるメモリ18aを有する。
バーコード幅データ生成部19は、極値検証部18によって有効であると判断された極値を用いてバーコード記号Bに記録された情報をデコードする。バーコード幅データ生成部19は、極値検証部18から出力された各極値をもとに、バーコード記号Bにおける各エレメント幅に対応した時間幅をそれぞれ示すバーコード幅データを生成する。そして、バーコード幅データ生成部19は、このバーコード幅データにおける各時間幅をカウントして、各エレメント幅を求め、バーコード記号Bに記録された情報をデコードする。そして、出力部20は、バーコード幅データ生成部19によってデコードされたバーコード記号Bの情報を出力する。
つぎに、図1に示すバーコード読取装置1におけるバーコード読取方法について説明する。図2は、図1に示すバーコード読取装置1におけるバーコード読取処理の処理手順を示すフローチャートである。
図2に示すように、バーコード読取装置1においては、まず、光源2および走査ミラー4が駆動し、バーコード記号Bに対して所定方向に走査光を照射する走査光照射処理が行なわれる(ステップS2)。そして、センサ7は、反射光を順次受光して受光強度に対応した電流信号を生成する反射光受光処理を行なう(ステップS4)。I−V変換部12は、センサ7から出力された電流信号を電圧信号に変換するI−V変換処理を行なう(ステップS6)。微分処理部13は、I−V変換部12から出力された電圧信号を微分し、微分信号を生成する微分処理を行なう(ステップS8)。
そして、極値検出部14は、微分処理部13によって生成された微分信号から各極値を検出し、各極値における電圧値と時間情報を対応付けた極値データを生成し、ノイズ認識部15に出力する極値検出処理を行なう(ステップS10)。
ノイズ認識部15は、入力された極値データをもとに、ノイズなどに対応する極値を認識するノイズ認識処理を行なう(ステップS12)。ノイズ認識部15は、極大値が連続した場合または極小値が連続した場合、連続する極大値または連続する極小値のうち有効な極大値または極小値を判断し、無効であると判断した極大値または極小値を除外した極値データを電圧差演算部16に出力する。電圧差演算部16は、入力された極値データをもとに、各極値ごとに、極値の電圧値と、この極値に隣り合う少なくとも一方の極値の電圧値との電圧差を演算し、電圧差データを生成する電圧差演算処理を行なう(ステップS14)。そして、閾値設定部17は、電圧差演算部16で生成した電圧差データを基に極値検証部18によって使用される閾値を設定する閾値設定処理を行なう(ステップS16)。
極値検証部18は、電圧差演算部16によって演算された各電圧差ごとに、電圧差と所定の閾値とをそれぞれ比較して各電圧差にそれぞれ対応する各極値が有効であるか、または、無効であるかを判断する極値検証処理を行なう(ステップS18)。そして、極値検証部18は、極値検証処理(ステップS18)において無効と判断した極値があるか否かを判断する(ステップS20)。
極値検証部18は、極値検証処理において無効と判断した極値があると判断した場合(ステップS20:Yes)、無効と判断した極値を極値データから除外する(ステップS22)。そして、極値検証部18は、無効と判断した極値を除外した極値データをノイズ認識部15に再度入力する(ステップS24)。そして、ノイズ認識部15は、再度入力された極値データに対して、ノイズ認識処理を行なう(ステップS12)。
一方、極値検証部18は、極値検証処理において無効と判断した極値がないと判断した場合(ステップS20:No)、すなわち、極値データに示された極値は全て有効であると判断した場合、極値データをバーコード幅データ生成部19に出力する(ステップS26)。バーコード幅データ生成部19は、極値検証部18から出力された極値データを用いてバーコード記号Bに対応するバーコード幅データを生成するバーコード幅データ生成処理を行なう(ステップS28)。そして、バーコード幅データ生成部19は、生成したバーコード幅データを用いてバーコード記号Bに記録された情報をデコードするデコード処理を行ない(ステップS30)、出力部20は、バーコード幅データ生成部19がデコードしたバーコード記号Bの情報を出力する(ステップS32)。
つぎに、図3を参照して、図2に示すノイズ認識処理について説明する。図3に示すように、まず、ノイズ認識部15は、入力された極値データを取得する(ステップS42)。そして、ノイズ認識部15は、認識対象の極値の識別番号を示すnの値を初期化されているか否かを判断し、初期化されていない場合にはnの値を初期化する。この場合、ノイズ認識部15は、たとえば先頭の極値がP0である場合には、識別番号nの初期化処理として、n=0とする(ステップS44)。
次いで、ノイズ認識部15は、認識対象である極値Pnと、この極値Pnの次に示された極値Pn+1とを比較し(ステップS46)、極値Pnと極値Pn+1とが極大値同士または極小値同士であるか否かを判断する(ステップS48)。バーコード記号からの反射光のみを適切に受光した場合、微分信号には極大値と極小値が交互に現れることとなる。このため、極大値が連続する場合または極小値が連続する場合、微分信号は、ノイズなどに起因する極値を含んでいるものと考えられる。ノイズ認識部15は、極大値または極小値が連続するか否かを判別して、ノイズなどに起因する極値の有無を検証している。
ノイズ認識部15は、極値Pnと極値Pn+1とが極大値同士または極小値同士でないと判断した場合(ステップS48:No)、極値Pnと極値Pn+1とはともに有効であると判断する(ステップS50)。
これに対し、ノイズ認識部15は、極値Pnと極値Pn+1とが極大値同士または極小値同士であると判断した場合(ステップS48:Yes)、極値Pnと極値Pn+1のいずれがノイズなどに起因する極値であるか否かを判断する。ノイズやごみなどに起因する光信号の変動は、バーコード記号のエレメント境界における光信号の変動と比較し、小さいものとなる。たとえば、図4のデジタルサンプリングデータD4に示すように、バーコード記号のエレメント境界に対応する本来の極大値P23と比較し、ノイズなどに起因して現れた極大値P22は、極値P22の前の極小値である極小値P21からの信号量の変動が小さいものとなる。
したがって、ノイズ認識部15は、極値Pnおよび極値Pn+1における信号値の変動量を取得するために、極値Pnと、認識対象である極値Pnの前に示された極値Pn−1との電圧差Vpnを演算し(ステップS52)、さらに極値Pn+1と極値Pn−1との電圧差Vpn+1を演算する(ステップS54)。次いで、ノイズ認識部15は、電圧差の絶対値が大きいのは電圧差Vpnまたは電圧差Vpn+1のいずれであるか否かを判断する(ステップS56)。
ノイズ認識部15は、電圧差の絶対値が大きいのは電圧差Vpnであると判断した場合(ステップS56:電圧差Vpn)、極値Pnを有効と判断するとともに(ステップS58)、極値Pn+1を無効と判断する(ステップS60)。そして、ノイズ認識部15は、無効と判断した極値Pn+1を極値データから除外する無効処理を行なう(ステップS62)。
これに対し、ノイズ認識部15は、電圧差の絶対値が大きいのは電圧差Vpn+1であると判断した場合(ステップS56:電圧差Vpn+1;1)、極値Pn+1を有効と判断するとともに(ステップS68)、極値Pnを無効と判断する(ステップS70)。そして、ノイズ認識部15は、無効と判断した極値Pnを極値データから除外する無効処理を行なう(ステップS72)。
たとえば、図4に示す場合には、連続する極大値P22,P23において、極大値P22と極小値P21との電圧差であるvd22よりも、極大値P23と極小値P21との電圧差vd23の方が大きい。したがって、ノイズ認識部15は、連続する極大値P22,P23のうち、矢印Y23に示すように、電圧差が大きい極大値P23を有効であると判断し、バーコード記号のエレメント端部に対応する極値として認識する。これに対し、ノイズ認識部15は、連続する極大値P22,P23のうち、矢印Y22に示すように、電圧差が小さい極大値P22を無効であると判断し、バーコード記号に対応しないノイズなどに起因したものであると認識する。
ノイズ認識部15は、ステップS50における有効判断処理、ステップS62またはステップS72における無効処理を行なった後、次に認識対象の極値があるか否かを判断する(ステップS74)。ノイズ認識部15は、次に認識対象の極値があると判断した場合(ステップS74:Yes)、識別番号に対し、n=n+1の処理を行ない(ステップS76)、ステップS46に進み、次に認識対象である極値に対して認識処理を行なう。ノイズ認識部15は、次に認識対象の極値がないと判断した場合(ステップS74:No)、識別番号nをn=0とし(ステップS78)、認識済み極値データを出力する(ステップS80)。この認識済み極値データは、ノイズ認識部15が無効と判断した極値が除外されたものとなる。このように、ノイズ認識部15は、極大値同士または極小値同士が連続した場合において、ノイズなどに起因した極値を取り除いている。
つぎに、図5を参照して、図2に示す閾値設定処理について説明する。図5に示すように、閾値設定部17は、閾値設定対象となる電圧差演算部16が演算した各電圧差を含む電圧差データを取得する(ステップS82)。次いで、閾値設定部17は、この電圧差データにおける最大電圧差の値を取得する(ステップS84)。そして、閾値設定部17は、この最大電圧差の値をもとに閾値を設定する(ステップS86)。たとえば、閾値設定部17は、ノイズと極値を切り分け可能である値として、最大電圧差の値の60%〜70%の値を閾値として設定する。そして、閾値設定部17は、設定した閾値を極値検証部18に出力する(ステップS88)。
そして、図6を参照して、図2に示す極値検証処理について説明する。図6に示すように、極値検証部18は、電圧差演算部16によって生成された電圧差データのうち、検証対象の極値に対応する電圧差vdを取得する(ステップS92)。次いで、極値検証部18は、この極値に対応する閾値Tを取得する(ステップS94)。この場合、極値検証部18は、閾値設定部17によって設定された閾値を取得する。そして、極値検証部18は、検証対象の極致に対応する電圧差vdと、閾値Tとを比較し、vd≧Tであるか否かを判断する(ステップS96)。
極値検証部18は、vd≧Tであると判断した場合(ステップS96:Yes)、この電圧差vdに対応する検証対象の極値はバーコード記号Bに応じた有効なものであると判断する(ステップS98)。一方、極値検証部18は、vd≧Tでないと判断した場合(ステップS96:No)、すなわち、vd<Tであると判断した場合、電圧差vdに対応する検証対象の極値はノイズなどに起因した無効なものであると判断する(ステップS100)。
そして、極値検証部18は、検証対象の極値の有効性判断を終了したため、次に検証対象の極値があるか否かを判断し(ステップS102)、次に検証対象の極値があると判断した場合(ステップS102:Yes)、ステップS92に戻り、次に検証対象である極値に対する検証処理を行なう。また、極値検証部18は、次に検証対象の極値がないと判断した場合(ステップS102:No)、極値データにおける全極値に対する検証結果を終了したと判断し、極値検証処理を終了する。
つぎに、図7を参照して、図6に示す極値検証処理について説明する。図7(1)は、バーコード記号Bのエレメント配置の一例を示し、図7(2)は、バーコード記号Bからの反射光に対応するI−V変換信号C1を示し、図7(3)は、I−V変換信号C1を1次微分した微分信号E1を示し、図7(4)は、微分信号E1をA/D変換したデジタルサンプリングデータD1を示す。
極値検証部18は、図7(4)における極値P1の有効性を検証する場合には、この極値P1の電圧値と極値P0の電圧値との差である電圧差vd1と、閾値Tとを比較し、電圧差vd1が閾値T以上であるか否かを判断する。言い換えると、電圧差vd1が閾値T内に含まれるか否かを判断する。
ここで、この閾値Tは、電圧差演算部16で生成された電圧差データにおける最大電圧差の値の60%の値である。各極値から微分信号の最大振幅の50%程度離れた領域には、微分信号の信号不変領域における基準電圧Vcが含まれるものの、範囲が狭いためノイズに起因する低い電圧値が含まれないおそれがある。また、走査ミラー4の走査角度によって反射光の光量が少ない領域においてはバーコード記号Bに対応する極値が、各極値から微分信号の最大振幅の80%程度離れた領域内に含まれてしまうおそれがある。このため、適正な極値とノイズとを切り分けるため、電圧差データにおける最大電圧差の60〜70%程度の値に閾値を設定することが望ましい。
したがって、検証対象である極値の電圧値とこの検証対象である極値に隣り合う極値の電圧値との電圧差が閾値Tを上回っている場合、すなわち電圧差が閾値T内ではない場合、検証対象である極値は、バーコード記号Bに対応した有効なものであると判断できる。そして、検証対象である極値に対応する電圧差が閾値T以下である場合、すなわち電圧差が閾値Tに含まれる場合、検証対象である極値は、バーコード記号Bに応じないノイズなどに起因した無効なものであると判断できる。
このため、極値検証部18は、図7(4)に示すように、極値P1においては、電圧差vd1が閾値Tを超えているため、矢印Y1に示すように、バーコード記号Bに応じた有効な極値であると判断する。そして、極値検証部18は、極値P2においても、この極値P2の電圧値と極値P1の電圧値との差である電圧差vd2が、閾値Tを超えているため、矢印Y2に示すように、有効な極値であると判断する。そして、極値検証部18は、極値P3においても同様に、電圧差vd3≧閾値Tであるため、矢印Y3に示すように、有効な極値であると判断し、極値P4においても同様に、電圧差vd4≧閾値Tであるため、矢印Y4に示すように有効な極値であると判断する。
このように、極値検証部18は、検証対象である極値と、検証対象である極値に隣り合う極値との電圧差が所定の閾値Tを超えているか否かを判断することによって、検証対象である極値がバーコード記号Bに対応した有効なものであるかを判断している。そして、バーコード幅データ生成部19は、極値検証部18によって有効であると判断された各極値P0〜P4における時間情報(t0、t1、t2、t3、t4)を用いて、図7(5)に示すバーコード幅データW1を生成し、このバーコード幅データW1の各時間幅をカウントしてバーコード記号Bに記録された情報をデコードする。
ところで、従来のバーコード読取装置は、微分信号における信号不変領域の所定位置の電圧値を基準電圧値として固定し、ピークにおける基準電圧値からの電圧差であるピークホールド値およびボトムホールド値を求め、求めたピークホールド値およびボトムホールド値を所定比率で順次分圧して次のピークを検出するための閾値信号を設定する。
この従来のバーコード読取装置においては、図8(1)に示すバーコード記号Bからの反射光に外光が入った場合、たとえば図8(2)に示すように、この反射光に対応するI−V変換信号C2にもうねりが入り、I−V変換信号C2は、たとえば、全体的に右側領域が、電圧値の小さくなる方向に傾いた状態となってしまう。そして、図8(3)に示すように、I−V変換信号C2を微分処理した微分信号E2もうねりによって右側に傾いてしまう。従来のバーコード読取装置は、うねりの有無によらず、微分信号E2の最初の信号不変領域に対応して基準電圧Vcを固定して設定するため、微分信号E2においては、外光によって信号がうねった場合、左側領域における最初の信号不変領域をもとに固定して設定された基準電圧と、右側に傾いた右側領域の信号不変領域の電圧値とにずれが生じてしまう。この結果、基準信号値Vcと大きくずれた右側領域における極大値P13は、信号不変領域との間においては十分に電圧値が大きいものの、極大値P11と基準電圧値とをもとに設定された閾値信号Th1を上回らない。このため、従来のバーコード読取装置は、矢印Y10に示すように極大値P13を極値として検出することができなかった。このように、従来のバーコード読取装置においては、外光が入った場合には正確な比較信号を生成することができず、バーコード記号を正確に読み取ることができないという問題があった。
これに対し、本実施の形態にかかるバーコード読取装置1は、極値自体は外光の有無によらず微分信号に現れることを利用し、検証対象である極値と隣り合う極値との電圧差をもとに検証対象である極値の有効性を判断している。すなわち、バーコード読取装置1は、固定して設定される基準電圧値Vcをもとに極値の有効性を判断しているわけではない。このため、バーコード読取装置1は、図8に示す右側に大きく傾いた微分信号E2においても、極値間の電圧差をもとに有効な極値を取得することができる。
具体的には、バーコード読取装置1は、図9(4)のデジタルサンプリングデータD2に示すように、極値P11に対しては、極値P11および極値P10の電圧差vd11が閾値T以上であるため有効な極値であると判断し、極値P12に対しては、極値P12および極値P11の電圧差vd12が閾値T以上であるため有効な極値であると判断する。そして、バーコード読取装置1は、従来においては基準電圧値Vcよりも下回り極値として検出できなかった極値P13に対しても、矢印Y13に示すように、極値P13および極値P12の電圧差vd13が閾値T以上であるため有効な極値であると判断し、極値として検出することができる。そして、バーコード読取装置1は、極値P13の次の極値である極値P14においても、検出できたP13を用い、極値P14および極値P13の電圧差vd14が閾値T以上であるため有効な極値であると判断できる。
この結果、バーコード読取装置1は、外光が入ったために微分信号E2がうねってしまった場合であっても、極値P11〜P14を正確に取得することができる。したがって、バーコード読取装置1は、図9(5)に示すように、極値P11〜P14の各時間情報t11〜t14を用いてバーコード記号Bの各エレメント幅に正確に対応した時間幅を有するバーコード幅データW2を生成することができ、バーコード記号Bに記録された情報を正確に読み取ることができる。
さらに、本実施の形態にかかるバーコード読取装置1は、ノイズ認識部15および極値検証部18において、ノイズやごみなどに起因しバーコード記号の各エレメント境界に対応しない極値を除去したうえでバーコード幅データを生成するため、さらに正確にバーコード記号を読み取ることができる。
図10および図11を参照して、バーコード読取装置1におけるごみやノイズに関する極値の除去方法について説明する。図10(1)に示すように、バーコード記号B上にごみNdや、白点Nwがあった場合、図10(2)に示すI−V変換信号C3のように、領域SncにごみNdに起因するピークが現れ、領域Swcに白点Nwに起因するピークが現れてしまう。そして、図10(3)に示すように、I−V変換信号C3を微分処理した微分信号E3においても、領域SneにごみNdに起因する極値が現れ、領域Sweに白点Nwに起因する極値が残ったままとなる。この結果、この微分信号E3をもとに生成された図10(4)に示すデジタルサンプリングデータD3においては、バーコード記号Bのエレメント境界に対応する本来の極値P0〜P4とともに、領域SndにごみNdに起因する極値P51,P52が示され、領域Swdに白点Nwに起因する極値P3aが示されてしまう。
まず、白点Nwに起因する極値P3aの除去について説明する。この極値P3aは、ノイズ認識部15におけるノイズ認識処理(ステップS12)において除去される。具体的には、図11(1)に示すように、ノイズ認識部15は、ノイズ認識処理において、入力された極値データのうち、連続した極大値P3a,P3に対し、それぞれ極小値P2との電圧差を演算する。この場合、極大値P3aに対応する電圧差vd3aよりも極大値P3に対応する電圧差vd3の方が大きいため、ノイズ認識部15は、矢印Y32にあるように極大値P3aをノイズなどに起因する無効なものであり、矢印Y31にあるように極大値P3を有効なものであると判断する。そして、ノイズ認識部15は、ノイズ認識処理において、無効と判断した極大値P3aを極値データから除去する。この結果、図11(2)のデジタルサンプリングデータD31に示すように、領域Swdにおける白点Nwに起因した極大値P3aが除去される。このように、極大値が連続する場合および極小値が連続する場合においては、ノイズ認識処理によって無効である極値が除去される。
ここで、領域SndにおけるごみNdに起因する極小値P51および極大値P52は、極大値同士または極小値同士ではないため、ノイズ認識処理においては除去されない。この極小値P51および極大値P52のうち、極大値P52は、極値検証部18による極値検証処理(ステップS18)において除去される。
具体的には、図11(2)に示すように、極値検証部18は、極値検証処理において、入力された電圧差データにもとづき、極小値P51の有効性を検証する。この場合、極小値P51と、極小値P51の一つ前の極大値P1との電圧差vd51は、閾値T以上であるため、極値検証部18は、極小値P51を無効と判断しない。つぎに、極大値P52に対しては、極大値P52と、極大値P52の一つ前の極小値P51との電圧差vd52は、閾値Tよりも小さいため、矢印Y34にあるように、極値検証部18は、極大値P52を無効と判断する。そして、極値検証部18は、無効と判断した極大値P52を極値データから除去する(ステップS22)。したがって、図11(3)のデジタルサンプリングデータD32に示すように、領域SndにおけるごみNdに起因した極値のうち極大値P52が除去される。そして、極値検証部18は、領域Sndに極小値P51が残るデジタルサンプリングデータD31に対応する極値データを、ノイズ認識部15に再入力する(ステップS24)。このように、極小値および極大値が交互に現れる場合、極値検証処理によって、無効である極値のうち少なくとも一方が除去される。
この極値検証処理によって極大値P52が除去された結果、領域Sndに残存する極小値P51は、極値検証処理における極大値P52の除去によって極小値P2と隣り合うことになる。この極小値P51は、ノイズ認識部15によって再度行なわれるノイズ認識処理(ステップS12)において除去される。具体的には、図11(3)に示すように、ノイズ認識部15は、ノイズ認識処理において、連続した極小値P51,P2に対し、それぞれ極大値P1との電圧差を演算する。この場合、極小値P51に対応する電圧差vd51よりも極小値P2に対応する電圧差vd2の方が大きいため、ノイズ認識部15は、矢印Y37にあるように極小値P51をノイズなどに起因する無効なものであり、矢印Y36にあるように極小値P2を有効なものであると判断する。そして、ノイズ認識部15は、ノイズ認識処理において、無効と判断した極小値P51を極値データから除去する。この結果、図11(4)のデジタルサンプリングデータD1に示すように、領域SndにおけるごみNdに起因した極小値P51が除去される。このように、極大値が連続する場合、極小値が連続する場合においては、ノイズ認識処理によって、無効である極値が除去される。
このように、バーコード読取装置1は、ノイズやごみなどに起因した極値が現れてしまった場合であっても、ノイズやごみなどに起因しバーコード記号の各エレメント境界に対応しない極値を除去し、バーコード記号Bの各エレメント境界に正確に対応した極値P1〜P4のみを示すデジタルサンプリングデータD1を取得することができる。したがって、バーコード読取装置1は、極値P1〜P4を用いてバーコード記号Bの各エレメント幅に正確に対応した時間幅を有するバーコード幅データを生成することができ、バーコード記号Bに記録された情報を正確に読み取ることができる。
なお、ノイズ認識処理(ステップS12)において、ノイズ認識部15が連続した二つの極大値または極小値に対して有効性を判断した場合について説明したが、連続した二以上の極大値または連続した二以上の極小値に対して一度に有効性を判断してもよい。この場合、ノイズ認識部15は、連続した二以上の極大値に対して有効性を判断する場合、連続した二以上の各極大値と、これらの二以上の極大値の前に示された極小値との電圧差をそれぞれ求め、この電圧差のうち絶対値が最大である電圧差に対応する極大値をバーコード記号に対応した有効な極値であると認識する。また、ノイズ認識部15は、連続した二以上の極小値に対して有効性を判断する場合、連続した二以上の各極小値と、これらの二以上の極小値の前に示された極大値との電圧差をそれぞれ求め、この電圧差のうち絶対値が最大である電圧差に対応する極小値をバーコード記号に対応した有効な極値であると認識する。
また、ノイズ認識処理においては、ノイズ認識部15が、認識対象である連続した極大値または極小値の前に示された極値との各電圧差をもとにノイズを認識した場合について説明したが、もちろんこれに限らず、認識対象である連続した極大値または極小値の後に示された極値との各電圧差をもとにノイズを認識してもよい。
また、ノイズ認識処理においては、ノイズ認識部15は、連続した極大値または極小値に対して、同一の極値との間で電圧差を求めて有効性を判断するほか、それぞれ異なる極値との間で電圧差を求めて有効性を判断してもよい。たとえば図12に示すデジタルサンプリングデータD4を例に、連続して現れた極大値P42aと極大値P42bに対するノイズ認識処理について説明する。図12に示すように、ノイズ認識部15は、極大値P42aに対しては、極大値P42aに最も近接した極小値であって極大値P42aの前に示される極小値P41と極大値P42aとの電圧差vd42aを演算する。また、ノイズ認識部15は、極大値P42bに対しては、極大値P42bに最も近接した極小値であって極大値P42bの後に示される極小値P43と極大値P42bとの電圧差vd42bを演算する。次いで、ノイズ認識部15は、演算した電圧差vd42aと電圧差vd42bとを比較し、矢印Y42bにあるように電圧差vd42aよりも絶対値が大きい電圧差vd42bに対応する極大値P42bを有効と判断し、矢印Y42aにあるように一方の極小値P42aを無効と判断する。図12に示すように、外光が入ったために信号全体がうねってしまい大きく傾いたとき、連続する極大値または極小値と近接する同一の極値との電圧差をもとに判断する場合と比較し、認識対象である各極大値または各極小値にそれぞれ最も近接する極小値または極大値との間で電圧差をもとに判断した場合は、認識対象である極値と、該極値との間で電圧差を演算する極値との間の時間幅が狭くなるため、ノイズ認識部15は、信号全体の傾きの影響を低減した状態で各極値の有効性を認識することができる。また、ノイズ認識部15において、連続した極大値または極小値が検出され、且つ連続した極大値または極小値と隣り合う極性が反対の2つの極小値または極大値(例えば、図12の極小値P41とP43)の電圧差が所定の値より大きい場合に、上記のようにそれぞれ異なる極値間で電位差を求めて極値の有効性を判断する処理を適用してもよい。
また、実施の形態においては、閾値設定部17は、閾値設定処理として電圧差演算部16が演算した各電圧差を含む電圧差データにおける最大電圧差の値をもとに極値検証処理における閾値を設定した場合について説明したが、もちろんこれに限らず、図示しない入力部から入力された値を閾値として設定してもよく、メモリ17aに予め記憶されている閾値を取り出して閾値として設定してもよい。
また、閾値設定部17は、閾値設定処理として、ノイズ認識部15から出力される極値データをもとに閾値を設定してもよい。この場合、閾値設定部17は、図13に示すように、閾値設定部17は、閾値設定対象となる極値データをノイズ認識部15から取得する(ステップS112)。次いで、閾値設定部17は、この極値データの極値における最大電圧値および最小電圧値をもとに微分信号における最大振幅を取得する(ステップS114)。そして、閾値設定部17は、この最大振幅をもとに閾値を設定する(ステップS116)。たとえば、閾値設定部17は、最大振幅の値の60%の値を閾値として設定する。そして、閾値設定部17は、設定した閾値を極値検証部18に出力する(ステップS118)。
また、閾値設定部17は、閾値設定処理として、極値検証部18における検証対象である各極値ごとに閾値を設定してもよい。この場合、たとえば閾値設定部17は、検証対象である極値の一つ前の極値における電圧差の値をもとに、検証対象である極値に対応する閾値を設定する。具体的には、閾値設定部17は、図14のデジタルサンプリングデータD5の場合、極値P52に対しては、矢印Y52に示すように、極値P52の一つ前の極値P51と、極値P51の一つ前の極値P50との電圧差vd51をもとに閾値T52を設定する。閾値T52は、たとえば、電圧差vd51の60%の値である。極値検証部18は、極値P52と極値P51との電圧差vd52と閾値T52とを比較することによって極値P52の有効性を判断する。さらに、閾値設定部17は、極値P53に対しては、矢印Y53に示すように、極値P52と極値P51との電圧差vd52の60%の値を閾値T53として設定する。極値検証部18は、極値P53と極値P52との電圧差vd53と閾値T53とを比較することによって極値P53の有効性を判断する。
この場合における閾値設定処理として、閾値設定部17は、図15に示すように、電圧差データを取得し(ステップS122)、閾値設定対象となる極値に対応する電圧差の一つ前の電圧差の値を取得する(ステップS124)。次いで、閾値設定部17は、取得した一つ前の電圧差の値をもとに、閾値設定対象となる極値の閾値を設定する(ステップS126)。たとえば、閾値設定部17は、ノイズと極値を切り分け可能である値として、この一つ前の電圧差の値の60%〜70%の値を、閾値設定対象となる極値の閾値として設定する。そして、閾値設定部17は、次に閾値設定対象となる極値があるか否かを判断する(ステップS128)。閾値設定部17は、次に閾値設定対象となる極値があると判断した場合(ステップS128:Yes)、ステップS124に戻り次の極値に対して閾値を設定する処理を行ない、次に閾値設定対象となる極値がないと判断した場合(ステップS128:No)、設定した閾値を各極値に対応づけて極値検証部18に出力し(ステップS130)、閾値設定処理を終了する。
また、実施の形態においては、極値検証部18は、検証対象である極値と、この極値の前に示された極値との電圧差を閾値と比較することで検証対象である極値の有効性について検証した場合を説明したが、もちろんこれに限らず、検証対象である極値と、この極値の後に示された極値との電圧差を閾値と比較することで検証対象である極値の有効性について検証してもよい。
具体的には、図16に示すデジタルサンプリングデータD6を例とした場合、極値検証部18は、極値P61に対して有効性を判断する場合、極値P61の次に示された極値P62と極値P61との電圧差vd61を用い、閾値Tと比較する。この場合、vd61が閾値T以上であるため、矢印Y62に示すように、極値検証部18は、極値P61は有効であると判断する。さらに、極値検証部18は、検証対象である極値に応じて、検証対象の極値の前に示された極値との電圧差、または、検証対象の極値の後に示された極値との電圧差を用いて極値の有効性を判断してもよい。たとえば、極値検証部18は、微分信号の最初の極値の有効性を判断する場合、最初の極値の前に極値が存在しないため、最初の極値の次に示された極値との電圧差を用いて、最初の極値の有効性を判断する。さらに、極値検証部18は、微分信号の最後の極値の有効性を判断する場合、最後の極値の後には極値が存在しないため、最後の極値の前に示された極値との電圧差を用いて、最後の極値の有効性を判断する。これにより、微分信号の最初の極値及び微分信号の最後の極値の有効性についても判断することができる。
また、極値検証部18は、検証対象である極値と隣り合う前後の極値とのそれぞれの電圧差を用いて、前後のそれぞれの極値との電圧差の双方が閾値以上である極値のみを有効と判断し、さらに極値に対する有効性判断の確実性を高めてもよい。
具体的には、図17に示すデジタルサンプリングデータD7を例とした場合、極値検証部18は、極値P71に対して有効性を判断する場合、極値P71の前に示された極値P70と極値P71との電圧差vd71a、および、極値P71の後に示された極値P72と極値P71との電圧差vd71bの双方を閾値Tと比較する。この場合、電圧差vd71a、電圧差vd71bがともに閾値T以上であるため、矢印Y71に示すように、極値P71を有効であると判断する。これに対し、図18に示すデジタルサンプリングデータD8を例とした場合、極値検証部18は、極値P81に対して有効性を判断する場合、極値P81の前に示された極値P80と極値P81との電圧差vd81aが閾値T以上である場合であっても、極値P81の後に示された極値P82と極値P81との電圧差vd81bが閾値T未満であるため、矢印Y81に示すように、極値P81を無効であると判断する。ノイズ端の極値と、このノイズ端の極値の両側の極値との電圧差がともに閾値以上となることはないため、極値検証部18は、前後それぞれの極値との電圧差の双方が閾値以上である極値のみを有効と判断することによって、一度の極値検証処理によってノイズ全体を除去することができる。
この場合における極値検証処理として、極値検証部18は、図19に示すように、検証対象である極値と、この検証対象の極値に隣り合う一方の極値との電圧差を第1の電圧差vdaとして取得し(ステップS132)、この極値に対応する閾値Taを取得した後に(ステップS134)、第1の電圧差vdaと閾値Taとを比較し、vda≧Taであるか否かを判断する(ステップS136)。極値検証部18は、vda≧Taでないと判断した場合(ステップS136:No)、この検証対象である極値は無効であると判断する(ステップS146)。
これに対し、極値検証部18は、vda≧Taであると判断した場合(ステップS136:Yes)、検証対象である極値と、この検証対象の極値に隣り合う他方の極値との電圧差を第2の電圧差vdbとして取得し(ステップS138)、この極値に対応する閾値Tbを取得する(ステップS140)。そして、極値検証部18は、第2の電圧差vdbと閾値Tbとを比較し、vdb≧Tbであるか否かを判断する(ステップS142)。極値検証部18は、vdb≧Tbでないと判断した場合(ステップS142:No)、この検証対象である極値は無効であると判断する(ステップS146)。これに対し、極値検証部18は、vdb≧Tbであると判断した場合(ステップS142:Yes)、この検証対象の極値は有効であると判断し(ステップS144)、次に検証対象の極値があるか否かを判断する(ステップS148)。極値検証部18は、次に検証対象の極値があると判断した場合(ステップS148:Yes)、ステップS132に戻り、次に検証対象である極値に対する検証処理を行なう。また、極値検証部18は、次に検証対象の極値がないと判断した場合(ステップS148:No)、極値データにおける全極値に対する検証結果を終了したと判断し、極値検証処理を終了する。
また、バーコード読取装置1においては、極値検出部14が微分信号に対してA/D変換を行なった場合について説明したが、もちろんこれに限らず、微分処理部13が微分対象である電圧信号をA/D変換した後に、微分処理を行なって微分信号を生成してもよい。また、微分処理部13または極値検出部14は、A/D変換後の信号に対して、増幅、フィルタリングを行なってもよい。
また、実施の形態においては、走査光を照射してバーコード記号Bを読み取るバーコード読取装置1について説明したが、これに限らず、図20に示すように、バーコード記号Bを撮像してバーコード記号Bを読み取るバーコード読取装置201であってもよい。図20に示すように、バーコード読取装置201は、図1に示すバーコード読取装置1における反射ミラー3、走査ミラー4、集光ミラー5、光学フィルタ6、センサ7およびシールド8に代えて、バーコード記号B全体に光を照射する光源202、バーコード記号B全体からの反射光を集光する集光部205、CCD(Charge Coupled Diode)などによって構成され集光部205によって集光された光を受光して受光強度に対応した電気信号に変換する撮像素子207、撮像素子207から出力された電気信号を増幅し微分処理部13に出力するプリアンプ212、光源202の発光処理を制御する光源制御部209を備える。プリアンプ212から出力された電気信号は、バーコード記号Bにおける各エレメント幅情報と、受光強度に応じた電圧値とが対応づけられたものとなる。
バーコード読取装置201においては、図21に示すように、光源202、撮像素子207、光源制御部209が、光を照射しバーコード記号B全体からの反射光を受光してバーコード記号B全体に対応する電気信号を生成する撮像処理を行なう(ステップS202)。そして、プリアンプ212は、撮像素子207から出力された電気信号を増幅する増幅処理を行なう(ステップS204)。そして、バーコード読取装置201においては、図2に示すステップS2〜ステップS32と同様の処理手順を行なうことによって、微分処理(ステップS208)、極値検出処理(ステップS210)、ノイズ認識処理(ステップS212)、電圧差演算処理(ステップS214)、閾値設定処理(ステップS216)、極値検証処理(ステップS218)、無効判断極値の有無に対する判断処理(ステップS220)、無効極値除外処理(ステップS222)、極値データ再入力処理(ステップS224)、極値データ出力処理(ステップS226)、バーコード幅データ生成処理(ステップS228)、デコード処理(ステップS230)、および出力処理(ステップS232)を行なう。このように、バーコード記号Bを撮像してバーコード記号Bを読み取るバーコード読取装置201においても、電圧差をもとに極値の有効性を判断した上でバーコード幅データを生成するため、バーコード記号Bを正確に読み取ることができる。
また、本実施の形態においては、双方向の走査が可能である走査ミラーを備えたバーコード読取装置1について説明したが、これに限らず、走査光の照射領域が操作者によって走査されるペン型のバーコード読取装置についても適用可能である。
実施の形態にかかるバーコード読取装置の構成を示す模式図である。 図1に示すバーコード読取装置におけるバーコード読取処理の処理手順を示すフローチャートである。 図2に示すノイズ認識処理の処理手順を示すフローチャートである。 図3に示すノイズ認識処理を説明する図である。 図2に示す閾値設定処理の処理手順を示すフローチャートである。 図2に示す極値検証処理の処理手順を示すフローチャートである。 図1に示すバーコード読取装置におけるバーコード読取処理を説明する図である。 従来のバーコード読取装置におけるバーコード読取処理を説明する図である。 図6に示す極値検証処理を説明する図である。 図1に示すバーコード読取装置におけるごみやノイズに関する極値の除去方法について説明する図である。 図1に示すバーコード読取装置におけるごみやノイズに関する極値の除去方法について説明する図である。 図1に示すノイズ認識部におけるノイズ認識処理の他の例を説明する図である。 図2に示す閾値設定処理の他の処理手順を示すフローチャートである。 図1に示す閾値設定部における閾値設定処理の他の例を説明する図である。 図2に示す閾値設定処理の他の処理手順を示すフローチャートである。 図1に示す極値検証部における極値検証処理の他の例を説明する図である。 図1に示す極値検証部における極値検証処理の他の例を説明する図である。 図1に示す極値検証部における極値検証処理の他の例を説明する図である。 図2に示す極値検証処理の他の処理手順を示すフローチャートである。 実施の形態にかかるバーコード読取装置の他の構成を示す模式図である。 図20に示すバーコード読取装置におけるバーコード読取処理の処理手順を示すフローチャートである。 従来のバーコード読取装置におけるバーコード読取処理を説明する図である。
符号の説明
1,201 バーコード読取装置
2 光源
3 反射ミラー
4 走査ミラー
5 集光ミラー
6 光学フィルタ
7 センサ
8 シールド
9 光源制御部
10 駆動制御部
12 I−V変換部
13 微分処理部
14 極値検出部
15 ノイズ認識部
15a,16a,17a,18a メモリ
16 電圧差演算部
17 閾値設定部
18 極値検証部
19 バーコード幅データ生成部
20 出力部
202 光源
205 集光部
207 撮像素子
209 光源制御部
212 プリアンプ
B バーコード記号

Claims (18)

  1. バーコード記号からの反射光強度に対応した電気信号から微分信号を生成する微分処理手段と、
    前記微分処理手段によって生成された微分信号における各極値を検出し、少なくとも検出した各極値の電気信号値を含む極値情報を生成する極値検出手段と、
    前記極値情報における各極値ごとに、前記極値の電気信号値と該極値に隣り合う少なくとも一方の極値の電気信号値との差分値を演算する演算手段と、
    前記演算手段によって演算された差分値ごとに、前記差分値と所定の閾値とを比較して前記差分値に対応する極値の有効性を判断する判断手段と、
    前記判断手段によって有効であると判断された極値の前記極値情報を用いて前記バーコード記号に記録された情報をデコードするデコード処理手段と、
    を備えたことを特徴とするバーコード読取装置。
  2. 前記判断手段は、前記差分値が前記所定の閾値以上である場合に該差分値に対応する極値は前記バーコード記号に応じた有効な極値であると判断することを特徴とする請求項1に記載のバーコード読取装置。
  3. 前記判断手段は、前記差分値が前記所定の閾値未満である場合、該差分値に対応する極値は前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を前記極値情報から除外することを特徴とする請求項1または2に記載のバーコード読取装置。
  4. 前記極値情報において極大値が連続した場合、前記極大値の電気信号値と該極大値に近接する極小値の電気信号値との差分値を各極大値ごとに演算した後に各差分値のうち最大である差分値に対応する極大値を前記バーコード記号に応じた有効な極大値であると認識し、前記極値情報において極小値が連続した場合、前記極小値の電気信号値と該極小値に近接する極大値の電気信号値との差分値を各極小値ごとに演算した後に各差分値のうち最大である差分値に対応する極小値を前記バーコード記号に応じた有効な極小値であると認識する認識手段をさらに備えたことを特徴とする請求項1に記載のバーコード読取装置。
  5. 前記認識手段は、演算した各差分値のうち最大である差分値以外の差分値に対応する極値を前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を除外した前記極値情報を前記演算手段に出力し、
    前記演算手段は、前記認識手段によって出力された極値情報をもとに各極値ごとに差分値を演算することを特徴とする請求項4に記載のバーコード読取装置。
  6. 前記所定の閾値は、前記微分信号の最大振幅をもとに設定されることを特徴とする請求項1に記載のバーコード読取装置。
  7. 前記所定の閾値は、前記演算手段によって演算された各差分値における最大値をもとに設定されることを特徴とする請求項1に記載のバーコード読取装置。
  8. 前記所定の閾値は、前記極値ごとに、前記極値に近接した極値に対応する前記差分値をもとに設定されることを特徴とする請求項1に記載のバーコード読取装置。
  9. 光を発する光源と、
    前記光源が発した光を前記バーコード記号上に走査させる走査手段と、
    前記バーコード記号からの反射光を集光する集光手段と、
    前記集光手段によって集光された光を順次受光して受光強度に対応した電気信号に順次変換し前記微分処理手段に出力する検出手段と、
    をさらに備えたことを特徴とする請求項1〜8のいずれか一つに記載のバーコード読取装置。
  10. 前記バーコード記号全体に光を照射する光源と、
    該バーコード記号全体からの反射光を集光する集光手段と、
    前記集光手段によって集光された光を受光して受光強度に対応した電気信号に変換し前記微分処理手段に出力する検出手段と、
    をさらに備えたことを特徴とする請求項1〜8のいずれか一つに記載のバーコード読取装置。
  11. バーコード記号に光を照射し、該バーコード記号の反射光強度からバーコード記号を読み取るバーコード読み取り方法において、
    前記バーコード記号からの反射光強度に対応した電気信号から微分信号を生成する微分ステップと、
    前記微分信号における各極値を検出し、少なくとも検出した各極値の電気信号値を含む極値情報を生成する極値検出ステップと、
    前記極値情報における各極値ごとに、前記極値の電気信号値と該極値に隣り合う少なくとも一方の極値の電気信号値との差分値を演算する演算ステップと、
    前記演算ステップにおいて演算された差分値ごとに、前記差分値と所定の閾値とを比較して前記差分値に対応する極値の有効性を判断する判断ステップと、
    前記判断ステップにおいて有効であると判断された極値の前記極値情報を用いて前記バーコード記号に記録された情報をデコードするデコードステップと、
    を含むことを特徴とするバーコード読取方法。
  12. 前記判断ステップは、前記差分値が前記所定の閾値以上である場合に該差分値に対応する極値は前記バーコード記号に応じた有効な極値であると判断することを特徴とする請求項11に記載のバーコード読取方法。
  13. 前記判断ステップは、前記差分値が前記所定の閾値未満である場合、該差分値に対応する極値は前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を前記極値情報から除外することを特徴とする請求項11または12に記載のバーコード読取方法。
  14. 前記極値情報において極大値が連続した場合、前記極大値の電気信号値と該極大値に近接する極小値の電気信号値との差分値を各極大値ごとに演算した後に各差分値のうち最大である差分値に対応する極大値を前記バーコード記号に応じた有効な極大値であると認識し、前記極値情報において極小値が連続した場合、前記極小値の電気信号値と該極小値に近接する極大値の電気信号値との差分値を各極小値ごとに演算した後に各差分値のうち最大である差分値に対応する極小値を前記バーコード記号に応じた有効な極小値であると認識する認識ステップをさらに含むことを特徴とする請求項11に記載のバーコード読取方法。
  15. 前記認識ステップは、演算した各差分値のうち最大である差分値以外の差分値に対応する極値を前記バーコード記号に応じない無効な極値であると判断するとともに、無効であると判断した極値を除外した前記極値情報を出力し、
    前記演算ステップは、前記認識ステップにおいて出力された極値情報をもとに各極値ごとに差分値を演算することを特徴とする請求項14に記載のバーコード読取方法。
  16. 前記所定の閾値は、前記微分信号の最大振幅をもとに設定されることを特徴とする請求項11に記載のバーコード読取方法。
  17. 前記所定の閾値は、前記演算ステップにおいて演算された各差分値における最大値をもとに設定されることを特徴とする請求項11に記載のバーコード読取方法。
  18. 前記所定の閾値は、前記極値ごとに、前記極値に近接した極値に対応する前記差分値をもとに設定されることを特徴とする請求項11に記載のバーコード読取方法。
JP2007126906A 2007-05-11 2007-05-11 バーコード読取装置およびバーコード読取方法 Withdrawn JP2008282262A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007126906A JP2008282262A (ja) 2007-05-11 2007-05-11 バーコード読取装置およびバーコード読取方法
US12/151,448 US7775434B2 (en) 2007-05-11 2008-05-07 Bar-code reading apparatus and bar-code reading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007126906A JP2008282262A (ja) 2007-05-11 2007-05-11 バーコード読取装置およびバーコード読取方法

Publications (1)

Publication Number Publication Date
JP2008282262A true JP2008282262A (ja) 2008-11-20

Family

ID=39968628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007126906A Withdrawn JP2008282262A (ja) 2007-05-11 2007-05-11 バーコード読取装置およびバーコード読取方法

Country Status (2)

Country Link
US (1) US7775434B2 (ja)
JP (1) JP2008282262A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014119976A (ja) * 2012-12-17 2014-06-30 Casio Comput Co Ltd バーコード読取装置、バーコード読取方法、バーコード読取プログラム及び印字装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4878474B2 (ja) * 2005-11-30 2012-02-15 富士通フロンテック株式会社 読取装置
US7963445B2 (en) * 2008-12-09 2011-06-21 Symbol Technologies, Inc. Arrangement for and method of suppressing electromagnetic radiation interference in an imaging reader
JP4957813B2 (ja) * 2010-01-26 2012-06-20 株式会社デンソー 通信用スレーブ及び通信ネットワークシステム
JP5398653B2 (ja) * 2010-06-30 2014-01-29 株式会社オプトエレクトロニクス デコード方法及びデコード処理装置
CN103559472B (zh) * 2013-10-17 2016-02-03 步步高教育电子有限公司 一种识别卡片身份标识码的装置及方法
CN105654633A (zh) * 2015-12-30 2016-06-08 福建联迪商用设备有限公司 Pos扫码支付方法、系统及装置
CN109558762B (zh) * 2018-11-15 2021-07-09 无锡火眼睛睛科技发展有限公司 一种基于条形码的便携式电子防伪追溯装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60157678A (ja) 1984-01-27 1985-08-17 Usac Electronics Ind Co Ltd バ−コ−ドリ−ダ増幅回路
JP4356144B2 (ja) 1999-07-15 2009-11-04 富士通株式会社 二値化回路及びコード読取装置
US7204422B2 (en) * 2004-06-10 2007-04-17 Psc Scanning, Inc. System, circuit, and method for edge detection in a binary optical code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014119976A (ja) * 2012-12-17 2014-06-30 Casio Comput Co Ltd バーコード読取装置、バーコード読取方法、バーコード読取プログラム及び印字装置

Also Published As

Publication number Publication date
US7775434B2 (en) 2010-08-17
US20080277471A1 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
JP2008282262A (ja) バーコード読取装置およびバーコード読取方法
US7137555B2 (en) Multi-format bar code reader
JP4911340B2 (ja) 二次元コード検出システムおよび二次元コード検出プログラム
EP1114391B1 (en) Fast edge detection system tolerant of high degree of intersymbol interference
US8718370B2 (en) Optical information-reading apparatus and optical information-reading method
US9262665B2 (en) Decoding method and decoding processing device
JP4652201B2 (ja) バーコードシンボル情報読取方法及びバーコードシンボル情報読取装置
JP2008140255A (ja) バーコード読取装置およびバーコード読取方法
JP5533739B2 (ja) 光学情報読み取り装置
JP2011076208A (ja) スタック型バーコード情報読取方法及びスタック型バーコード情報読取装置
JP5219943B2 (ja) 二値化方法および二値化回路
JP4910822B2 (ja) バーコード読取装置及びプログラム
JP4239834B2 (ja) 物体検出装置
US6976630B2 (en) Bar-code reader, method of reading a bar code, and computer product
JP5453594B2 (ja) シンボル情報読取装置及びシンボル情報読取方法
JP4107237B2 (ja) 光学的情報読取装置の境界位置特定方法
JP5349504B2 (ja) 光学的情報読取装置及び光学的情報読取方法
JP2009295113A (ja) バーコード読み取り装置及びその読み取りデータ処理方法
JP3779672B2 (ja) データ読み取り機の集光方法
JP4873312B2 (ja) 光学情報読取装置
JP2006178641A (ja) シンボル情報読取方法及びシンボル情報読取装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803