(57)【要約】【課題】バーコード記号を読み取って生成された情報信号にノイズ情報も含まれるため有効性を確認する必要あり、情報信号が飽和すると正確なバーコード信号を生成できず、固定ゲインとの組み合わせたＡＧＣを用いると、読み取り性能に影響を与えている。【解決手段】読み取り対象物からの光を光電変換により電気信号を生成して微分処理を施した微分信号を生成する。微分信号における飽和状態を検出して、飽和前の微分信号からデータを選択して第１の傾きを求め、及び飽和後の微分信号からデータを選択して第２の傾きを求めて、第１の傾きと第２の傾きにおける交点を求めて、交点を飽和部分に存在する極値とみなして、極値をもとにバーコード幅データ生成部においてバーコード信号を生成し、デコード処理を行う情報読み取り装置である。【選択図】図１
2010182262.tif 000002
【特許請求の範囲】
【請求項１】
読み取り対象物に光を照射する光源と、
前記光源から照射されて前記読み取り対象物で反射した戻り光を集光する集光部と、
前記戻り光を受光して電気信号を生成するセンサ部と、
前記センサ部により生成された電気信号を微分して微分信号を生成する微分処理部と、
前記微分処理部によって、生成された微分信号の極値を検出する極値検出部と、
前記微分信号における飽和状態を検出する飽和検出部と、
飽和の前及び飽和の後の前記微分信号から、それぞれに所定数のデータを選択して読み取るデータ選択手段と、
前記飽和前の所定数のデータから第１の傾きと、前記飽和後の所定数のデータから第２の傾きを求める傾き検出部と、
前記第１の傾きと前記第２の傾きの交点を求める交点検出部と、
を備え、
前記交点検出部により求められた交点を飽和している部分の極値とみなすことを特徴とする情報読み取り装置。
【請求項２】
前記飽和検出部に検出された飽和状態の微分信号に対して、複数回の極値検出を行い、得られた複数の極値の平均を極値とみなすことを特徴とする請求項１に記載の情報読み取り装置。
【請求項３】
前記データ選択部において、飽和の前及び飽和の後の前記微分信号から検出した複数のデータの中から、第１及び第２データを選択すると共に、該第１及び第２データのうち、飽和の直前から前記第１データ及び飽和直後から前記第２データまでのそれぞれの時間が同じであることを特徴とする請求項１に記載の情報読み取り装置。
【請求項４】
前記データ選択手段において、飽和の前の前記微分信号から所定の期間の第１のデータを選択し、飽和の後の前記微分信号から前記所定区間と同一の期間の第２のデータを選択することを特徴とする請求項１に記載の情報読み取り装置。
【請求項５】
前記交点検出手段において、前記第１の傾き及び前記第２傾きの積を取り、該積が負の場合に、前記第１の傾き及び前記第２傾きによる交点の検出を行うことを特徴とする請求項１乃至４のうちのいずれか１つに記載の情報読み取り装置。
【請求項６】
前記微分処理手段によって生成された微分信号の極値を検出する極値検出手段と、
読み取り対象物に光を照射する光源と、
前記光源から照射されて前記読み取り対象物で反射した戻り光を集光する集光部と、
前記戻り光を受光して電気信号を生成するセンサ部と、
前記センサ部により生成された電気信号を微分して微分信号を生成する微分処理部と、
前記微分処理部によって、生成された微分信号の極値を検出する極値検出部と、
前記微分信号における飽和状態を検出する飽和検出部と、
飽和の前及び飽和の後の前記微分信号から、少なくとも３つのデータを選択して読み取るデータ選択部と、
前記データ選択部によって選択されたデータに、２次曲線近似処理及び微分処理を施して、仮極値を求める仮極値検出部と、
を備え、
前記仮極値検出部により求めた仮極値を、飽和している部分の極値をとみなすことを特徴とする情報読み取り装置。
【請求項７】
前記飽和検出部に検出された飽和状態の微分信号に対して、複数回の極値検出を行い、得られた複数の仮極値の平均を極値とみなすことを特徴とする請求項６に記載の情報読み取り装置。
【請求項８】
前記データ選択手段において、選択するデータは、前記微分信号の飽和状態の期間の近傍から選択することを特徴とする請求項１，２，３，４及び６のうちの何れか１つに記載の情報読み取り装置。
【請求項９】
飽和状態の微分信号から検出された電圧信号に、範囲を設けることを特徴とする請求項１，２，３，４及び６のうちの何れか１つに記載の情報読み取り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード等のシンボルからの情報を含んだ光を受光して、そのシンボルから情報を読み取る情報読み取り装置に関する。
【背景技術】
【０００２】
従来から情報読み取り装置を用いた管理手法として、マークやシンボル例えば、バーコード記号を用いて、商品販売、物流、生産工程等における物品の情報管理が知られている。適正な管理を行うためには、バーコード記号を正確に読み取ることが最も重要である。
【０００３】
このバーコード読み取り装置としては、走査するレーザ光を照射し、その反射光に含まれるバーコード情報を読み取る装置がある。その構成は、光源から出射したレーザ光を、回転する又は揺動するミラーに導き、読み取り対象のバーコード記号を横切る方向に走査する走査光を照射する。バーコード記号で反射した反射光（戻り光）を受光センサで受光し、光電変換により情報信号（電流信号）を生成する。この情報信号には、バーコード記号の情報が含まれている。また、走査光を利用したものだけではなく、ＣＣＤ等の撮像素子を用いて、バーコード記号を撮像して、画像処理によりバーコード情報が含まれる画像信号（情報信号）として読み取る読み取り装置もある。
【０００４】
情報信号からバーコード記号の情報を得る周知な読み取り方法について説明する。  
受光センサにより生成されたバーコード情報を含む信号は、変換回路により電流信号から電圧信号に変換される。さらに、電圧信号は、微分処理部により微分信号に変換されて、ＡＧＣ部に入力される。ＡＧＣ部は、微分信号値の大きさに基づき、増幅部の出力信号が予め決められた電圧範囲内になるようにゲインを調整する。
【０００５】
増幅部の出力信号(以下、アナログ信号)は、比較部に入力するとともにピークホールド／ボトムホールド検出部、遅延部及び微分信号比較部に入力される。ピークホールド／ボトムホールド検出部では、入力されたアナログ信号のピーク値及びボトム値を検出する。そして、ピークホールド／ボトムホールド検出部から出力されたピーク値及びボトム値は、閾値設定部に入力される。
【０００６】
閾値設定部では、そのピーク値及びボトム値を所定の比率により分圧して、アナログ信号のノイズと信号とに切り分けるための判定基準となる閾値信号を出力する。例えば、この分圧による閾値は、例えば、ピーク値又はボトム値の３０％程度に設定されている。
【０００７】
その後、比較部によって、アナログ信号と閾値設定部から出力される閾値信号とを比較し、閾値信号以上のレベルを持つ有効性確認信号を生成する。アナログ信号は、比較部及びピークホールド／ボトムホールド検出部による処理と並行して、遅延部に入力し、遅延させたアナログ信号を生成する。
【０００８】
そして、アナログ信号と共に微分信号比較部に入力する。微分信号比較部では、アナログ信号と遅延したアナログ信号を比較することによってバーコード同期信号を生成する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０−１４３６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前述したバーコード同期信号は、バーコードのエッジをあらわしているが、この中にはエッジだけではなくノイズ情報も含まれているため、バーコード同期信号の有効性を確認する必要がある。この有効性の確認は、同期信号有効性確認部にてバーコード同期信号と有効性確認信号を用いて行われる。バーコード幅データ生成部は、確認で有効となったバーコード同期信号を用いてバーコード信号を生成する。しかし、アナログ信号が飽和してしまうとバーコード同期信号のパルス幅が変化してしまい、正確なバーコード信号を生成することができず、読み取りエラーなどが発生する（後述する図３（ａ）を参照）。
【００１１】
一般的に、ＡＧＣ（Auto Gain Control）部を用いる理由は、読み取り対象のバーコード記号が読み取り装置から、どのような位置（距離）に置かれても、生成されたアナログ信号を飽和させないようにするために用いられるが、ＡＧＣが機能してアナログ信号が安定するまでの間に飽和し、読み取られる可能性があった。特許文献１では、この課題を解決するために、固定ゲインと組み合わせてアナログ信号の立ち上がりを緩和させる技術を提案しているが、切り替えを行うには、固定ゲインを小さく設定する必要があり、遠方のバーコードの読み取り性能が悪くなることがあった。
【００１２】
そこで本発明は、光電変換により生成されたバーコード情報を含むアナログ信号のゲインを小さくすることなく且つＡＧＣを不要とし、飽和したアナログ信号からでも正確なデータを生成し、読み取り性能の向上及び原価低減することができる情報読み取り装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は上記課題を解決するために、読み取り対象物に光を照射する光源と、前記光源から照射されて前記読み取り対象物で反射した戻り光を集光する集光部と、前記戻り光を受光して電気信号を生成するセンサ部と、前記センサ部により生成された電気信号を微分して微分信号を生成する微分処理部と、前記微分処理部によって、生成された微分信号の極値を検出する極値検出部と、前記微分信号における飽和状態を検出する飽和検出部と、飽和の前及び飽和の後の前記微分信号から、それぞれに所定数のデータを選択して読み取るデータ選択手段と、前記飽和前の所定数のデータから第１の傾きと、前記飽和後の所定数のデータから第２の傾きを求める傾き検出部と、前記第１の傾きと前記第２の傾きの交点を求める交点検出部と、を備え、前記交点検出部により求められた交点を飽和している部分の極値とみなす情報読み取り装置を提供する。
【発明の効果】
【００１４】
本発明によれば、光電変換により生成されたバーコード情報を含むアナログ信号のゲインを小さくすることなく且つＡＧＣを備えずに、飽和したアナログ信号からでも正確なデータを生成し、読み取り性能の向上及び原価低減することができる情報読み取り装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、第１の実施形態に係るバーコード読み取り装置の一構成例を示す模式図である。
【図２】図２は、第１の実施形態におけるバーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明するためのフローチャートである。
【図３】図３（ａ）は、比較のために示した従来の微分信号とバーコード信号を示す図であり、図３（ｂ）は、第１の実施形態における極値による微分信号とバーコード信号を示す図であり、図３（ｃ）は、第１の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図４】図４は、第２の実施形態に係るバーコード読み取り装置の一構成例を示す模式図である。
【図５】図５は、第２の実施形態におけるバーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明するためのフローチャートである。
【図６】図６は、第２の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図７】図７は、第３の実施形態におけるバーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明するためのフローチャートである。
【図８】図８（ａ）は、比較のために示した従来の微分信号とバーコード信号を示す図であり、図８（ｂ）は、第３の実施形態における極値による微分信号とバーコード信号を示す図であり、図８（ｃ）は、第３の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図９】図９は、第４の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図１０】図１０は、第５の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図１１】図１１は、第６の実施形態におけるバーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明するためのフローチャートである。
【図１２】図１２は、第７の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【図１３】図１３は、第８の実施形態における微分信号で選択されたサンプルデータを示す拡大図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について詳細に説明する。  
図１は、本発明に係る第１の実施形態の情報読み取り装置の構成例を示す模式図である。本実施形態の情報読み取り装置は、読み取り対象となるシンボル、例えばバーコード記号が示す情報を光学的に読み取る装置であり、以下の説明においては、走査光を用いたバーコード読み取り装置を一例とする。このバーコード読み取り装置は、情報信号の処理回路における微分処理部以降の構成に特徴を有している。以下の説明において、光電変換により生成されたバーコード記号の情報を含む信号を情報信号と称し、さらに、情報信号を微分処理及びＡ／Ｄ変換した信号を微分信号とし、その微分信号をあるタイミングでサンプリングした信号をサンプルデータと称している。
【００１７】
このバーコード読み取り装置１は、大別すると、例えばレーザ光からなる光束を出射する光源部２と、レーザ光を走査させてバーコード記号３に向かって照射する走査ミラー部４と、バーコード記号３で反射した反射光（戻り光）を受光して光電変換により電流信号（情報信号）を生成する受光部５と、この情報信号に対して微分処理を施しＡ／Ｄ変換処理を行う信号検出部６と、微分信号された情報信号が飽和している状態か否かを検出する飽和検出部７と、非飽和状態の情報信号に対して極値を検出し、閾値信号を生成して情報信号の有効性を判断する有効データ判断部８と、飽和状態の情報信号に対してピーク値（交点）を検出するピーク値検出部９と、微分信号又はサンプルデータからバーコード幅データを生成し、デコード処理を行うバーコード幅データ生成部１０と、バーコード幅データから生成したバーコード情報（物品の管理情報等）を出力するデータ出力部１１と、少なくとも検出された極値及び閾値、情報信号のピーク値（交点）を時系列的に記憶するメモリ１２と、装置全体を制御する制御部１３と、で構成される。
【００１８】
光源部２は、レーザダイオードからなる光源２１と、光源２１を駆動制御する光源制御部２２と、走査ミラー部４にレーザ光を導く反射ミラー２３とで構成される。
【００１９】
走査ミラー部４は、電磁力を利用して軸２４ａを中心として走査ミラー２４ｂを反復するように揺動し、反射ミラー２４ｂから入射されたレーザ光を走査するように出射する走査ミラー本体２４と、走査ミラー本体２４に設けられた永久磁石２４ｃに近接して配置された電磁コイル２５に交番磁界を発生させて走査ミラー本体２４の揺動の制御を行う駆動制御部２６と、で構成される。
【００２０】
受光部５は、走査ミラー本体２４からの反射光（戻り光）を凹面鏡で集光する集光ミラー２７と、集光ミラー２７からの戻り光を受光して、光電変換による電流信号を生成する受光センサ２８と、受光センサ２８の受光面の前方に配置される受光絞り部（図示せず）及びバンドパスフィルタ２９と、電流信号を電圧信号に変換する信号変換部３０と、で構成される。
【００２１】
また、信号検出部６は、信号変換部３０から出力された情報信号を微分する微分処理部３１と、その微分された情報信号にアナログ／デジタル変換処理を施し、微分信号として出力するＡ／Ｄ変換部３２とで構成される。
【００２２】
有効データ判断部８は、非飽和状態の微分信号から極値（極大値及び極小値）を検出する極値検出部３３と、極値に基づき、閾値を設定する閾値設定部３４と、検出された極値が有効なデータか否かを閾値と比較することによって判断する比較部３５とで構成される。
【００２３】
ピーク値検出部９は、飽和状態を有する微分信号から飽和期間の前後からそれぞれ２点のデータを選択するデータ選択部３６と、後述するように、このデータからそれぞれの傾きを求める傾き計測部３７と、傾きから微分信号のピーク値（交点）を検出する交点検出部３８とで構成される。
【００２４】
次に、バーコード読み取り装置１の各構成部位における作用について説明する。  
このバーコード読み取り装置１は、光源２１から発生させた光を反射ミラー２３によって、走査ミラー２４ｂへ偏向し、揺動する走査ミラー２４ｂによって、バーコード記号３に対して左右両方向に光を走査させる。走査光１２がバーコード記号を走査することによって反射される反射光（戻り光）１３は集光されて受光センサ２８に入射する。受光センサ２８は、反射光１３を電流信号に変換し、さらに信号変換部３０において電流信号から電圧信号に変換される。電圧信号に変換された情報信号は、微分処理部３１に入力され、微分信号に変換される。さらに、微分信号はＡ／Ｄ変換部３２によりＡ／Ｄ変換される。変換した微分信号は、メモリ１２に保存し、この微分信号に基づき、以後の処理を実行する。
【００２５】
まず、微分信号が飽和しているか否か、飽和検出部７で判断する。飽和していない場合（非飽和状態）には、極値検出部３３にてバーコード記号のエッジ、即ち微分信号の極値を検出する。極値検出部３３によって検出された極値を基に、閾値設定部３４において極値の有効性を判断する閾値を設定する。その後、比較部３５では、検出された極値が有効なデータか否かを閾値設定部３４において設定された閾値と比較することによって判断する。
【００２６】
前述した閾値は、従来技術と同様に、検出を開始してから比較対象となる極値までの間で、最大（ピークホールド値）又は最小（ボトムホールド値）となる値を基に設定する。有効と判断された極値は、メモリ１２に保存される。しかし、微分信号が飽和している場合（飽和状態）には、どの部分が極値になるのか判定できない。従って、以下の処理を実行する。飽和している信号の前後の傾きを求めるため、データ選択部３６において、飽和している期間の前後（傾きを有している期間）から、少なくとも２組の２点のサンプルデータを選択する。
【００２７】
これらのサンプルデータに基づき、傾き計測部３７により、それぞれの傾きを求め、その傾きを延長した線の交点を検出する。この交点の基づき、飽和状態の期間に存在するバーコードエッジである極値を求める。そして、全てのサンプルデータに対して、有効な極値の検出が終了した後に、検出した極値からバーコード幅データ生成部１０においてバーコード信号を生成し、デコード処理を行う。データ出力部１１は、デコード処理されたバーコード信号から生成したバーコード情報（物品の管理情報等）を出力する。
【００２８】
次に、図２に示すフローチャートを参照して、バーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明する。  
まず、レーザからなる走査光をバーコード記号３に照射して、その反射光を受光部５で受光して（ステップＳ１）、光電変換により電流信号を生成する（ステップＳ２）。この電流信号は電圧信号に変換された後、微分処理部３１において増幅、フィルタリング処理が施されて微分信号に変換される（ステップＳ３）。この時、初期設定として、フラグＫ＝０、変数Ｍ＝０及び、判断数Ｊに設定する（ステップＳ４）。ここで、Ｋとは飽和を検出してから飽和期間に存在する極値の検出が終了しているかどうかを表すフラグである。変数Ｍは、既に読み出しているサンプル数を示す。また、サンプル数Ｊは、予め設定されたサンプル数である。サンプル数Ｊは、固定値であるがプログラム等を書き換えることにより変更することも可能である。さらに、微分信号は、ＡＤ変換部３２によりデジタル化され、メモリ１２に保存される（ステップＳ５）。  
次に、メモリ１２に保存された微分信号を制御部１３に読み出し（ステップＳ６）、飽和しているか否かを判断する（ステップＳ７）。飽和の判断は、微分信号の電圧値が、０又は最大値（例えば８ｂｉｔであれば２５５）であるか否かで判断することができる。
【００２９】
ステップＳ７の判断において、微分信号に飽和が起きていない場合（Ｎｏ）には、フラグＫを確認して（ステップＳ８）、Ｋ＝Ｏの場合には（Ｙｅｓ）、サンプルデータからバーコードのエッジに相当する極値（極大値もしくは極小値）を検出し（ステップＳ９）、閾値を設定し（ステップＳ１０）、メモリ１２に保存する。
【００３０】
次に、検出された極値をメモリ１２から読み出し、閾値と比較することで極値の有効性判断を行う（ステップＳ１１）。この判断で、極値が有効と判断された場合には（Ｙｅｓ）、有効な極値として保存する（ステップＳ１２）。一方、極値が有効と判断されなかった場合には（Ｎｏ）、次の微分信号における極値の判断に進む。ここで閾値は、極大値及び極小値に対して、基準電圧を基にして、プラス方向、マイナス方向に同じ電圧値となる値を適用する。また、閾値の設定方法は、有効と判断された極値の中で最小値（または最大値）を順次求めて、その値を基に設定する。
【００３１】
このような有効な極値の算出処理を１回のスキャンで検出された全ての微分信号のデータに対して実施されたか否か判断する（ステップＳ１３）。最終データまで実施されたならば（Ｙｅｓ）、バーコード幅データ生成部１０により検出された有効な極値に基づき、バーコード幅データを生成し（ステップＳ１４）、デコード処理を実行する（ステップＳ１５）。デコード処理が成功か否かを判断し（ステップＳ１６）、この判断でデコード処理が成功した場合には（Ｙｅｓ）、読み取り終了となる。一方、デコード処理が不成功であった場合には（Ｎｏ）、ステップＳ１に戻り、再度、反射光を受光するところから処理を実行する。
【００３２】
次に、前述したステップＳ７の飽和検出の判断で、微分信号に飽和が起きていた場合（Ｙｅｓ）について説明する。前述したように、微分信号に飽和状態である場合には、極値を正確に検出することができない。そのため、飽和が起きている期間の微分信号を次々に読み出すとともに、フラグＫ＝１とし及び変数Ｍ＝０を維持し（ステップＳ１７）、且つ飽和している期間を検出して（ステップＳ１８）、ステップＳ６に戻る。そして、飽和状態（飽和期間）が終了した場合には、飽和検出部における判断でＫ＝１であるため（Ｎｏ）、飽和していない場合の処理とは異なるルーチンに移行する。
【００３３】
次に、変数Ｍとサンプル数Ｊを比較する（ステップＳ１９）。この比較において、変数Ｍがサンプル数Ｊよりも小さい場合には（Ｎｏ）、変数Ｍをインクリメントして（ステップＳ２６）、メモリ１２から微分信号の読み出しを継続する。これは、飽和終了後の微分信号における傾きを求めるため、飽和終了後の所定の期間、サンプルデータを読み取るために行う。また、一度、飽和が終了し、サンプル数Ｊ＋１個のサンプルデータの読み取り中に再度飽和を検出した場合は、変数Ｍをリセットし、微分信号の飽和が終了してから再度、サンプルデータの読み取りを行う。そのため、ノイズの影響を少なくするために、サンプル数Ｊはある程度、多く読み取ることが望ましい。
【００３４】
一方、ステップＳ１９において、変数Ｍがサンプル数Ｊよりも大きくなった場合は（Ｙｅｓ）、傾きを求める処理に進む。まず、微分信号が飽和する前の傾き１を求めるため、飽和する前のサンプルデータから２点のデータを選択し（ステップＳ２０）、傾き１を求める（ステップＳ２１）。
【００３５】
次に、飽和した後の傾き２を求めるため、微分信号の飽和終了後に読み取ったＪ＋１個のサンプルデータの中から２点のデータを選択し（ステップＳ２２）、傾き２を求める（ステップＳ２３）。そして、傾き１、傾き２による交点を求め、この交点を極値とし、メモリ１２に保存する（ステップＳ２４）。ここで飽和期間の極値検出が終了したため、フラグＫ＝０及び変数Ｍ＝０とし、初期状態に戻す（ステップＳ２５）。以降の処理は、飽和しない場合と同じ処理となる。  
図３（ａ），（ｂ），（ｃ）を参照して、微分信号が飽和状態のときの処理について説明する。ここで、図３（ａ）は、比較のために示した従来の微分信号とバーコード信号を示す図であり、図３（ｂ）は、第１の実施形態において作成された極値による微分信号とバーコード信号を示す図であり、図３（ｃ）は、第１の実施形態における微分信号から選択され、即ち読み取られたサンプルデータを示す拡大図である。
【００３６】
まず、微分信号の飽和を検出し、点Ｂ４からＡ４までのサンプルデータの読み取りを行う。ここでは、サンプル数Ｊ＝３とする。飽和する前の点Ｂ２，Ｂ３を選択し、傾き１を求める。次に、飽和終了後の点Ａ２，Ａ３を選択し、傾き２を求める。傾き１、傾き２の交点を求め、この交点を極値Ｄ１（時間データ）とする。
【００３７】
図３（ｃ）から、微分信号が飽和しなかったと仮定した場合における想定される極値Ｄｒと、本実施形態で算出した極値Ｄ１は、ほぼ同じ時間となっている。従って、想定される極値Ｄｒに対して、本実施形態を用いることで飽和している期間の同じ時間の極値（交点）Ｄ１を検出することができることがわかる。
【００３８】
以上説明したように本実施形態は、ＡＧＣを構成部位には用いていないため、ＡＧＣによって発生したレスポンスの劣化もなく、アナログ信号が飽和しても正確なバーコードエッジ検出が可能であるためＡ／Ｄ変換前のゲインを高く設定することができ、性能の劣化もない。
【００３９】
また、極値の有効性を判定する閾値は、可変であることで説明したが勿論、予め設定した固定であってもよいし、さらに、基準電圧に対してプラス側、マイナス側をそれぞれに違う値をとってもよい。また、本実施形態では、サンプルデータにおける全ての極値を検出しているが、極値ではなく、予め設定した基準電圧（中点電位）を超えた場合は、超えている期間内の最大値、基準電圧を下回ったら、下回っている期間内の最小値を極値として交互に検出していってもよい。
【００４０】
次に、第２の実施形態について説明する。  
図４は、第２の実施形態に係るバーコード読み取り装置の一構成例を示す模式図である。  このバーコード読み取り装置は、前述した第１の実施形態とは、微分信号が飽和した状態における極値の検出方法が異なっている。第１の実施形態では、傾きによる交点検出により極値を決定したが、本実施形態では、２次曲線近似を用いて極値を求めている。従って、本実施形態は、第１の実施形態の傾き計測部３７及び交点検出部３８に替わって、２次曲線近似部４１を用いた構成である。本実施形態の構成部位において、前述した第１の実施形態と同等の構成部位には同じ参照符号を付して、その詳細な説明は省略する。
【００４１】
２次曲線近似部４１は、２次曲線近似として、ｙ＝ａｘ＾２＋ｂｘ＋ｃにデータ選択部３６で選択した３点のｘ，ｙを代入し、係数ａ，ｂ，ｃを求めることである。この演算処理は、２次曲線近似部４１を独自に設けてもよいし、制御部１３において演算処理を行ってもよい。
【００４２】
微分信号が飽和している場合、どの部分が極値になるのか判定できないため、以下の処理を実施する。データ選択部３６において、飽和の前後の微分信号の中からサンプルデータとして、３点のデータを選択して読み取る。この時、３点のデータ中には、飽和前と飽和終了後のデータが必ず含まれていなければならない。
【００４３】
次に、２次曲線近似部４１において、選択した３点のデータを用いて、近似した２次曲線を求める。図６に示すように、この２次曲線における微分を求めることで極値Ｄ１を算出する。このような方法により、微分信号が飽和した場合であっても、バーコードエッジに対応する部分を極値として検出する。さらに、全ての微分信号の振幅による極値に対して、有効な極値の検出を終了した後に、検出した極値に基づき、バーコード幅データ生成部１０によりバーコード信号を生成し、デコード処理を行い、正確なバーコード情報を生成する。
【００４４】
図５に示すフローチャートを参照して、バーコード記号からの反射光を受光してから、バーコード信号の生成までの流れについて説明する。本実施形態の作用において、前述した第１の実施形態と同等の作用には同じ符号を付して簡略して説明する。
【００４５】
本実施形態においては、反射光を受光して非飽和状態の微分信号に対する極値の検出（ステップＳ１乃至Ｓ１８）は前述した第１の実施形態のおけるシーケンスと同等である。即ち、バーコード記号３に照射された走査光の反射光を受光して生成された微分信号がメモリ１２に保存される（ステップＳ１−Ｓ５）。メモリ１２から読み出された微分信号が飽和状態か非飽和状態かを判断して、非飽和状態であれば、微分信号からバーコードのエッジに相当する極値（極大値もしくは極小値）を検出して閾値を設定し、メモリ１２に保存する。検出された極値はこの閾値と比較して、有効な極値であれば（Ｙｅｓ）、メモリ１２に保存される（ステップＳＳ６−Ｓ１２）。また飽和状態であれば、その飽和期間を検出する（ステップＳ７，Ｓ８）。一方、閾値との比較で有効な極値でなければ（Ｎｏ）、次の微分信号の振幅における極値の判断に進む。そして、メモリ１２に保存した後、最後の微分信号の振幅と判断されたならば、バーコード幅データ生成部１０によりバーコード幅データを生成し、デコード処理を実行する。デコード処理が成功した場合には、読み取り終了となる（ステップＳ１３−Ｓ１６）。
【００４６】
上記ステップＳ７の判断において、微分信号が非飽和状態で、ステップＳ８でフラグＫ＝Ｏでなければ（Ｎｏ）、変数Ｍとサンプル数Ｊを比較する（ステップＳ１９）。この比較において、変数Ｍがサンプル数Ｊよりも小さい場合には（Ｎｏ）、変数Ｍをインクリメントして（ステップＳ２６）、サンプルデータの読み取りを継続する。一方、変数Ｍがサンプル数Ｊよりも大きくなった場合は（Ｙｅｓ）、２次曲線近似を行うために、微分信号が飽和している期間の前後から、図６に示すサンプリングの拡大図に示すように、３点のデータ（例えば、Ｂ１，Ａ２，Ａ３）を選択する（ステップＳ３１）。選択した３点のデータを用いて、２次曲線近似を行う（ステップＳ３２）。作成された２次曲線の微分によって、図６に示す交点である極値Ｄ１を求めて、メモリ１２に保存する（ステップＳ３３）。
【００４７】
前述したように、２次曲線近似は、ｙ＝ａｘ＾２＋ｂｘ＋ｃにデータ選択部３６で選択した３点のｘ，ｙを代入し、係数ａ，ｂ，ｃを求めることである。ここで飽和期間の極値検出が終了した後、フラグＫ＝０及び変数Ｍ＝０とし初期状態に戻す（ステップＳ２５）。以降の処理は、ステップＳ１３に移行して、飽和しない場合と同じ処理を実施する（ステップＳ１３−Ｓ１６）。
【００４８】
以上説明したように本実施形態は、２次曲線近似を用いることにより、極値検出を行うため、ＡＧＣを用いず、ＡＧＣによって発生したレスポンスの劣化もなく、微分信号が飽和しても正確なバーコードエッジ検出が可能であるためＡ／Ｄ変換前のゲインを高く設定することができ、性能の劣化もない。さらに、前述した第１の実施形態と同等の効果を奏する。
【００４９】
次に、第３の実施形態について説明する。  
第３の実施形態に係るバーコード読み取り装置は、前述した第１の実施形態とは、同等の構成であり、微分信号が飽和した状態における極値の検出方法が異なっている。第１の実施形態では、１回の傾きによる交点検出により極値を決定したが、本実施形態では、微分信号から交点の検出を複数回行い、その極値の平均を取ることによって誤差を小さくしている。従って、本実施形態は、第１の実施形態の構成と同等であり、同じ構成部位には同じ参照符号を付して、その説明を省略する。
【００５０】
微分信号が飽和している状態では、どの部分が極値になるのか判定できないため、まず、飽和している微分信号の前後の傾きを求めるため、データ選択部３６において飽和している期間の前後からそれぞれ２点のデータを読み取る。
【００５１】
これらのデータに基づき、傾き計測部３７において、それぞれに傾きを求めて、その傾きによる交点を検出する。この交点から飽和している期間に存在するバーコードエッジである極値を求める。しかし、図８（ｃ）に示すように、データ選択部３６により選択されたデータにノイズが含まれていた場合には、データ例えば、点Ｂ４，Ｂ５と点Ｂ１，Ｂ２とでは求められた傾きが異なってしまう。つまり、求められた極値にズレが発生し、バーコードエッジに誤差が発生してしまう。尚、図８（ａ）は、比較のために示した従来の微分信号とバーコード信号を示し、図８（ｂ）は、本実施形態による求めた極値による微分信号とバーコード信号を示す図である。
【００５２】
そこで本実施形態では、データの選択から交点の検出までを複数回行い、求められた複数の交点の平均を取り、有効な極値を得ることにより、ノイズによって生じる誤差を小さくしている。ここで、平均を取るデータは、時間データ（図８（ｃ）における点Ａ１−４，Ｂ１−４）となる。
【００５３】
図８（ａ）乃至（ｃ）を参照して、サンプルデータがノイズを含んでいた場合について説明する。ここでは、データの点Ｂ４にノイズが発生している例である。そのため、点Ｂ１，Ｂ４及び点Ａ１，Ａ４の交点による極値Ｄ３は、飽和しなかった場合に想定されるボトムの極値Ｄｒの時点に対して、大きくズレが生じる。また、点Ｂ１，Ｂ２及び点Ａ１，Ａ２による交点Ｄ２、さらに、点Ｂ２，Ｂ３及び点Ａ２，Ａ３による交点Ｄ１を求めて、Ｄ１，Ｄ２，Ｄ３の平均を取ることによって、求められた極値Ｄａと極値Ｄｒとの誤差を小さくすることができる。全てのサンプルデータに対して、有効な極値の検出が終了した後に、検出した極値をもとにバーコード幅データ生成部１０においてバーコード信号を生成し、デコード処理を行う。
【００５４】
図７に示すフローチャートを参照して、バーコードからの反射光を受光してから、バーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明する。本実施形態の作用において、前述した第１の実施形態と同等の作用には同じ符号を付して簡略して説明する。  
本実施形態においては、反射光を受光して非飽和状態の微分信号に対する極値の検出（ステップＳ１乃至Ｓ１８）は、前述した第１の実施形態のおけるシーケンスと同等である。即ち、バーコード記号３に照射された走査光の反射光を受光して生成された信号に微分処理を施して、デジタル化された微分信号としてメモリ１２に保存される（ステップＳ１−Ｓ５）。メモリ１２から読み出された微分信号が非飽和状態であれば、微分信号から読み取ったサンプルデータからバーコードのエッジに相当する極値（極大値もしくは極小値）を検出して閾値を設定し、メモリ１２に保存する。検出された極値は閾値と比較して、有効な極値であれば（Ｙｅｓ）、メモリ１２に保存される（ステップＳＳ６−Ｓ１２）。また飽和状態であれば、その飽和期間を検出する（ステップＳ７，Ｓ８）。一方、閾値との比較で有効な極値でなければ（Ｎｏ）、次の微分信号の振幅における極値の判断に進む。メモリ１２に保存した後、最後の微分信号の振幅と判断されたならば、バーコード幅データ生成部１０によりバーコード幅データを生成し、デコード処理を実行する。デコード処理が成功した場合には、読み取り終了となる。しかし、デコードが不成功となった場合には、再度、反射光を受光するところから、処理を行う（ステップＳ１３−Ｓ１６）。
【００５５】
上記ステップＳ７の判断において、微分信号が非飽和状態で、ステップＳ８でフラグＫ＝Ｏでなければ（Ｎｏ）、変数Ｍとサンプル数Ｊを比較する（ステップＳ１９）。この比較結果において、変数Ｍがサンプル数Ｊよりも小さい場合には（Ｎｏ）、変数Ｍをインクリメントして（ステップＳ２６）、ステップＳ６に戻り、メモリ１２から微分信号を読み出して継続する。
【００５６】
ステップＳ１９において、変数Ｍがサンプル数Ｊよりも大きくなった場合は（Ｙｅｓ）、傾きを求める処理に移行する。  
まず、求める交点Ｄの数の変数Ｎ＝０として初期化し（ステップＳ５１）、飽和する前の傾き１を求めるため飽和する前に読み取ったサンプルデータから２点のデータを選択し（ステップＳ２０）、傾き１を求める（ステップＳ２１）。
【００５７】
次に、同様に飽和した後の傾き２を求めるために飽和終了後に読み出したサンプル数Ｊ＋１個のデータの中から２点のデータを選択し（ステップＳ２２）、傾き２を求める（ステップＳ２３）。そして、傾き１及び傾き２による交点を求め、この交点を仮極値とし、メモリ１２に保存する（ステップＳ５２）。
【００５８】
次に、変数Ｎをインクリメントして（ステップＳ５３）、予め設定した検出回数Ｌ回に達したか確認した後（ステップＳ５４）、達していなければ（Ｎｏ）、ステップＳ２０に戻り、再度、仮の極値を検出する。このような仮極値を求める処理をＬ回繰り返し（ステップＳ５４：Ｙｅｓ）、Ｌ回の仮極値の平均（時間データ）を求めることで有効な極値とし、これをメモリ１２に保存する（ステップＳ５５）。ここで、飽和期間の極値検出が終了したため、フラグＫ＝０，変数Ｍ＝０として初期状態に戻し（ステップＳ２５）、次のステップＳ１３に移行する。以降の処理は、飽和しない場合と同じ処理となる。
【００５９】
以上説明した本実施形態によれば、データの選択から交点の検出までを複数回行い、仮に求めた複数の極値の平均値を有効な極値として設定することにより、データ選択部３６により選択されたデータにノイズが含まれた場合であっても、ノイズによって生じる誤差を小さくすることができる。
【００６０】
次に、第４の実施形態について説明する。  
本実施形態のバーコード読み取り装置は、前述した第１の実施形態におけるデータ選択部によるデータ選択の手法が異なっている。本実施形態のバーコード読み取り装置は、第１の実施形態の装置構成と同じであるため、同じ構成部位には同じ参照符号を付して、その説明を省略する。前述した第１の実施形態では、所定の範囲の中からデータを選択していたが、本実施形態では、バーコードエッジとの誤差をより小さくするため、以下のような手法を用いてデータを選択する。
【００６１】
図９は、サンプルデータにおける選択されたデータ（点Ａ１−４，点Ｂ１−４）を示す拡大図である。  
図９には、それぞれ点Ｂ２，Ｂ４−Ａ１，Ａ２及びＢ１，Ｂ３−Ａ１，Ａ２による交点Ｄ１，Ｄ２を示す。微分信号が飽和した直後の、データＨ１及び飽和終了直前のデータＨ３からの時間がほぼ同じとなる点Ｂ１，Ｂ３−点Ａ１，Ａ２から求めた交点Ｄ２の方が飽和しなかった場合のボトムである交点Ｄｒとの差が少ない。つまり、飽和直後及び飽和終了直前のデータから同じ間隔のデータを少なくとも１個ずつ、ここでは点Ｂ１，Ａ１を選択することを特徴としている。
【００６２】
以上説明した本実施形態によれば、飽和直後の時間と飽和終了直前の時間が同じデータを用いて交点を検出して、その交点に基づき有効な極値を求めることにより、より誤差を小さくすることができる。
【００６３】
次に、第５の実施形態について説明する。  
本実施形態のバーコード読み取り装置は、前述した第１の実施形態におけるデータ選択部によるデータ選択の手法が異なっている。本実施形態のバーコード読み取り装置は、第１の実施形態の装置構成と同じであるため、同じ構成部位には同じ参照符号を付して、その説明を省略する。前述した第１の実施形態では、所定の範囲の中からデータを選択していたが、本実施形態では、バーコードエッジとの誤差をより小さくするため、以下のような手法を用いてデータを選択する。
【００６４】
図１０は、サンプルデータにおける選択されたデータ（点Ａ１−４，点Ｂ１−４）を示す拡大図である。  
図１０には、それぞれＢ２，Ｂ４−Ａ１，Ａ２及びＢ１，Ｂ２−Ａ１，Ａ２による交点Ｄ１，Ｄ２を示している。選択したデータの間隔Ｂ１，Ｂ２間、と間隔Ａ１，Ａ２間が同じ時間のデータとして、求めた交点Ｄ２の方が、飽和しなかった場合のボトムである交点Ｄｒとの差が少ない。つまり、飽和前の微分信号から選択した２点間（例えば、点Ｂ１−Ｂ２）のデータの期間（又は区間）が、飽和後の微分信号から選択した２点間（例えば、Ａ１−Ａ２）のデータの期間で同じ時間間隔になるようにする。つまり、点Ｂ１−Ｂ２の期間と点Ａ１−Ａ２の期間とが、同じ時間間隔を有している。
【００６５】
以上説明した本実施形態によれば、飽和直後及び飽和終了直前の期間で、それぞれに同じ時間間隔のデータによる交点を用いて、有効な極値を求めることにより、より誤差を小さくすることができる。
【００６６】
次に、第６の実施形態について説明する。  
本実施形態のバーコード読み取り装置は、前述した第１の実施形態における交点検出部における交点検出の手法が異なっている。本実施形態のバーコード読み取り装置は、第１の実施形態の装置構成と同じであるため、同じ構成部位には同じ参照符号を付して、その説明を省略する。
【００６７】
図１１に示すフローチャートを参照して、バーコードからの反射光を受光してから、バーコード記号からの反射光を受光してからバーコー信号の生成までの流れについて説明する。本実施形態の作用において、前述した第１の実施形態と同等の作用には同じ符号を付して簡略して説明する。
【００６８】
本実施形態においては、反射光を受光して非飽和状態の微分信号に対する極値の検出（ステップＳ１乃至Ｓ１８）は、前述した第１の実施形態のおけるシーケンスと同等である。即ち、バーコード記号３に照射された走査光の反射光を受光して生成された微分信号をメモリ１２に保存する（ステップＳ１−Ｓ５）。メモリ１２から読み出された微分信号が非飽和状態であれば、微分信号からバーコードのエッジに相当する極値（極大値もしくは極小値）を検出して閾値を設定し、メモリに保存する。検出された極値は閾値と比較して、有効な極値であれば（Ｙｅｓ）、メモリ１２に保存される（ステップＳＳ６−Ｓ１２）。一方、微分信号が飽和状態であれば、極値を正確に検出することができない。このため、飽和状態のデータは、次々に読み出すとともに、Ｋ＝１とし且つ飽和している期間を検出する（ステップＳ１７，Ｓ１８）。また、ステップＳ１１において、有効な極値でなければ（Ｎｏ）、次のデータにおける極値の判断に進む。メモリ１２に保存した後、最後の微分信号の振幅と判断されたならば、バーコード幅データ生成部１０によりバーコード幅データを生成し、デコード処理を実行する。デコード処理が成功した場合には、読み取り終了となる。しかし、デコードが不成功となった場合には、再度、反射光を受光するところから、処理を行う（ステップＳ１３−Ｓ１６）。
【００６９】
ステップＳ７の判断において、微分信号が非飽和状態で、ステップＳ８でフラグＫ＝Ｏでなければ（Ｎｏ）、変数Ｍとサンプル数Ｊを比較する（ステップＳ１９）。この比較結果において、変数Ｍがサンプル数Ｊよりも小さい場合には（Ｎｏ）、変数Ｍをインクリメントして（ステップＳ２６）、ステップＳ６に戻り、メモリ１２からデータの読み取りを継続する。
【００７０】
ステップＳ１９において、変数Ｍがサンプル数Ｊよりも大きくなった場合は（Ｙｅｓ）、傾きを求める処理に移行する。まず、飽和する前の傾き１を求めるため、飽和する前のデータから２点を選択し（ステップＳ２０）、傾き１を求める（ステップＳ２１）。
【００７１】
次に、飽和した後の傾き２を求めるために、飽和終了後に読み取ったサンプル数Ｊ＋１個のデータの中から２点のデータを選択し（ステップＳ２２）、傾き２を求める（ステップＳ２３）。その後、傾き１と傾き２の積を求めて、その積の正負を判断する（ステップＳ６１）。この判断において、積が負の値であれば（Ｙｅｓ）、それぞれの傾きの極性が異なるため、飽和が極値で発生していると判断できる。従って、傾き１と傾き２の交点を仮の極値として、メモリ１２に保存する（ステップＳ６２）。しかし、傾き１と傾き２の積が正の値であれば（Ｎｏ）、傾き１、傾き２の積が正の値であった場合は、極値検出のための交点を求める処理をスキップし、次のステップＳ２５に移行する。傾き１と傾き２の積が正の値であれば傾き１，傾き２の極性は同じであり、飽和が極値以外で発生していると判断できる。
【００７２】
次に、飽和期間の極値検出が終了したため、フラグＫ＝０，変数Ｍ＝０として初期状態に戻し（ステップＳ２５）、次のステップＳ１３に移行する。
【００７３】
図１２は、微分信号から選択されたデータ（点Ａ１−５，点Ｂ１−５）を示す拡大図である。この例では、点Ｂ３において、ノイズによる飽和状態が発生している。ここでは、飽和する前の傾き１を求める点をＢ４，Ｂ５とし、飽和終了後の傾き２を求める点をＢ１，Ｂ２とする。このように、点Ｂ３を排除して求めた傾き１、傾き２は、同じ極性（傾き方向）であり、積を取ると、正の値となる。そのため、この飽和状態は、極値以外で発生したと判断できる。
【００７４】
以上説明したように本実施形態によれば、ノイズによる飽和状態が検出された場合であっても、その飽和状態におけるデータを排除することにより、極値検出において、ノイズの影響をなくすことができる。
【００７５】
次に、第７の実施形態について説明する。  
本実施形態のバーコード読み取り装置は、前述した第１の実施形態におけるデータ選択部におけるデータ選択の手法が異なっている。本実施形態のバーコード読み取り装置は、第１の実施形態の装置構成と同じであるため、同じ構成部位には同じ参照符号を付して、その説明を省略する。
【００７６】
図１３に示すように、バーコード信号にはノイズが重畳されるが、一般的に、基準電圧付近のノイズが多くなる。これは、バーコード記号のバー間の白部分に多く存在するスペックルノイズである。
【００７７】
本実施形態は、データを選択する際は、基準電圧付近ではなく、ノイズが少ない飽和している部分近傍から選択する。このようなデータ選択により、有効な極値にノイズの影響を減らすことができる。
【００７８】
次に、第８の実施形態について説明する。  
本実施形態のバーコード読み取り装置は、前述した第１の実施形態における飽和検出部における飽和検出の手法が異なっている。本実施形態のバーコード読み取り装置は、第１の実施形態の装置構成と同じであるため、同じ構成部位には同じ参照符号を付して、その説明を省略する。
【００７９】
本実施形態による飽和検出は、微分信号の電圧値が０又は最大（８ｂｉｔであれば２５５）か否かにより判断する。しかし、ノイズの影響を考慮して、飽和検出電圧値にマージンを持たせている。即ち、電圧値のデータが０＋Ｖａ以下又は、２５５−Ｖｂ以上の場合は、飽和しているとみなす。ここで、Ｖａ及びＶｂは、同じ値であっても良い。また、Ｖａ，Ｖｂはノイズと判断できるだけの小さな値とする。
【００８０】
本実施形態によれば、飽和対策のために用いるＡＧＣが不要となり、且つゲインを小さくしなくともよいため、読み取り性能能向上及び原価低減の効果を奏する。
【００８１】
尚、本発明の情報読み取り装置は、前述した第１乃至第６の実施形態において、レーザ光による走査光を用いて、バーコードに照射し、そのバーコードからの反射光（戻り光）を用いたバーコード読み取り装置を一例として説明したが、勿論、この構成に限定されるものではなく、撮像素子（例えば、ＣＣＤ又はＣＭＯＳイメージセンサ）を用いて撮像してバーコード記号を含む画像からバーコード情報を生成する情報読み取り装置であってもよい。また、シンボルは、バーコード記号に限定されるものではなく、他の形態のシンボルであってもよく、光学的に読み取り、生成されたアナログ信号であれば、本発明を適用することは容易であり、前述したと同等の作用効果を得ることができる。
【００８２】
本実施形態の情報読み取り装置は、例えば、バーコードリーダ、距離センサ、プリンタ、車間センサ、防犯センサ、走査型レーザ顕微鏡、携帯情報端末、レーザ走査装置等に搭載される光学式読み取り装置に対する適用に好適する。
【符号の説明】
【００８３】
１…バーコード読み取り装置、２…光源部、３…バーコード記号、４…走査ミラー部、５…受光部、６…信号検出部、７…飽和検出部、８…有効データ判断部、９…ピーク値検出部、１０…バーコード幅データ生成部、１１…データ出力部、１２…メモリ、１３…制御部、２１…光源、２２…光源制御部、２３…反射ミラー、２４…走査ミラー本体、２４ａ…軸、２４ｂ…走査ミラー、２４ｃ…永久磁石、２５…電磁コイル、２６…駆動制御部、２７…集光ミラー、２８…受光センサ、２９…バンドパスフィルタ、３０…信号変換部、３１…微分処理部、３２…Ａ／Ｄ変換部、３３…極値検出部、３４…閾値設定部、３５…比較部、３６…データ選択部、３７…傾き計測部、３８…交点検出部。
【図１】
2010182262.tif 000003
【図２】
2010182262.tif 000004
【図３】
2010182262.tif 000005
【図４】
2010182262.tif 000006
【図５】
2010182262.tif 000007
【図６】
2010182262.tif 000008
【図７】
2010182262.tif 000009
【図８】
2010182262.tif 000010
【図９】
2010182262.tif 000011
【図１０】
2010182262.tif 000012
【図１１】
2010182262.tif 000013
【図１２】
2010182262.tif 000014
【図１３】
2010182262.tif 000015