(57)【要約】【課題】走査光学系の信号生成回路に用いられる微分処理方式は、高周波数のノイズに弱いという傾向があり、ノイズの処理方法としては十分な対応ではない。【解決手段】対象物からの戻り光により生成された信号に対して微分処理を行い、生成された微分信号の中から、基準電圧を負側から正側に越えて再び正側から負側に越えるまでの間毎に最大のピーク値をそれぞれ検出して、基準電圧値を挟んで反復する毎にピーク値及びバレー値を取得し、隣り合うピーク値とバレー値との変動量と、閾値とを比較することで、真のピーク値及び真のバレー値を取得し、取得された真のピーク値の総数及び真のバレー値の総数を計数し、それらの総数の比較により閾値を設定する信号生成回路である。【選択図】図４
2010160574.tif 000002
【特許請求の範囲】
【請求項１】
光信号を受光する光検出器と、
前記光検出器から出力されるアナログ信号に対して微分処理を行う微分回路と、
前記微分回路から出力される微分信号の信号成分を取得し、その信号成分のレベルに基づき第１のレベル値を設定する第１レベル設定手段と、
前記第１のレベル値よりも低い第２のレベル値を設定する第２レベル設定手段と、
前記第１のレベル値と、前記第２のレベル値との間の内分比に基づき、閾値を設定すると共に、当該内分比を可変とする閾値設定手段と、
前記信号成分と前記閾値に基づいて、光信号から情報を生成する情報生成手段と、
を有することを特徴とする信号生成回路。
【請求項２】
前記閾値設定手段は、前記情報生成手段から生成される情報を記憶するメモリをさらに有し、
前記メモリに先に記憶されている情報と、前記信号生成回路から新たに生成される情報との変動量に基づいて、内分比を更新し設定することを特徴とする請求項１記載の信号生成回路。
【請求項３】
前記閾値設定手段は、前記情報生成手段から生成される情報の特徴を取得し、該情報の特徴を前記メモリに記憶すると共に、該メモリに先に記憶されている情報の特徴と、前記信号生成回路から新たに生成される情報の特徴とを比較し、その比較結果により求められる両情報の特徴の差に基づいて、内分比を更新し設定することを特徴とする請求項２記載の信号生成回路。
【請求項４】
前記閾値設定手段は、前記両情報の特徴の差が相対的に小さい場合には、内分比を小さくすることで閾値の絶対値を下げ、該両情報の特徴の差が相対的に大きい場合には、内分比を大きくすることで閾値の絶対値を上げるように変更することを特徴とする請求項３記載の信号生成回路。
【請求項５】
前記情報の特徴は、前記信号成分のピーク値またはバレー値、あるいはそれらの合計の個数であることを特徴とする請求項４記載の信号生成回路。
【請求項６】
前記情報の特徴は、前記信号成分の信号パターンであることを特徴とする請求項４記載の信号生成回路。
【請求項７】
前記第２レベル設定手段は、前記微分回路から出力される微分信号のノイズ成分を取得し、第２のレベル値としてそのノイズ成分のレベルを設定することを特徴とする請求項１記載の信号生成回路。
【請求項８】
Ｎ回目の光ビームの走査によって読み取り対象物から反射される反射光を受光し、アナログ信号を出力する受光ステップと、
前記アナログ信号に対して微分処理を行い、微分信号を取得する微分処理ステップと、
前記微分信号の中から、基準電圧を負側から正側に越えて再び正側から負側に越えるまでの間毎に最大のピーク値をそれぞれ検出すると共に、前記基準電圧値を正側から負側に越えて再び負側から正側に越えるまでの間毎に最小のバレー値をそれぞれ検出するピーク値及びバレー値取得ステップと、
隣り合うピーク値とバレー値との変動量と、予め定めた閾値とを比較することで、真のピーク値及び真のバレー値を取得し、取得された真のピーク値の総数及び真のバレー値の総数を計数する計数ステップと、
今回計数された真のピーク値の総数及び真のバレー値の総数と、以前の光ビームの走査によって計数された真のピーク値の総数及び真のバレー値の総数とを比較し、両総数の差に基づいて前記閾値を変更する閾値設定ステップと、
を有することを特徴とする信号生成方法。
【請求項９】
前記微分信号からノイズレベルを取得するノイズレベル取得ステップをさらに有し、
前記閾値設定ステップは、ピーク値及びバレー値の信号レベルと、ノイズレベルを内分する点に前記閾値を設定すると共に、該閾値は前記両総数の差に基づいて変更することを特徴とする請求項８記載の信号生成方法。
【請求項１０】
前記閾値設定ステップは、前記両総数の差が所定の値より小さい場合には前記閾値の絶対値を下げるようにそれ以外の場合には前記閾値の絶対値を上げるように前記内分点を変更することを特徴とする請求項９記載の信号作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走査光学系に用いられる信号生成回路及びその信号生成方法に関する。
【背景技術】
【０００２】
従来、キャラクタ等の情報を読み取るための装置として、光源にレーザーダイオードを用いて、レーザー光（光束）を走査させて走査対象物の輝度値情報を取得する情報読み取り装置が普及している。前述する情報としては、光学的情報認識のために規定されたバーコードが一例であるが、他の情報として、自動車や人物等の陰影情報や、レーザー走査型顕微鏡により観測される試料等であってもよい。
【０００３】
このようなバーコード読み取り装置としては、例えば、特許文献１に記載されている。この読み取り装置では、レーザー光を走査して得られた反射散乱光を光検出器で取り込み、増幅等の信号処理後に、二値化処理を行なって、走査対象物の光学的な情報を取得している。この二値化処理の一例として、微分処理方式が知られている。即ち、光検出器からの信号について微分処理後にピークを検出し、その位置情報から二値化を行なうものである。
【０００４】
例えば、特許文献２には、このような微分処理の一例が提案されている。特許文献２では、まず、検出器からの信号について一次微分処理を行う。そして、一次微分信号の基準電圧に対し正負のスライスレベルを固定値として設定し、ゲート信号を生成する。
【０００５】
さらに、一次微分信号から二次微分信号を生成して、二次微分信号の符号の反転を検出する。そして、ゲート信号内であって、なおかつ、符号が反転する位置をエッジ点として出力させると、走査対象物の反射率に相当する二値のパターン信号を生成・取得することができる。
【０００６】
このような微分処理を行うことで、エッジの位置を比較的に正確に取得できる。これにより、バーコード等の走査対象物の距離が大きく変動した場合であっても良好に復号できる。即ち、微分処理方式とすれば、信号の変動が小さくなった場合であっても比較的に反射率の変動（エッジ）を検出しやすくなって、読み取り距離範囲を改善することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許番号ＵＳ６，３６０，９４９
【特許文献２】特許番号第２７１６２９８号
【特許文献３】米国特許番号ＵＳ７，００４，３９１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら一般に、微分処理方式は、高周波数のノイズに弱いという傾向があり、ノイズの処理方法としては十分な対応ではない。即ち、微分回路のカットオフ周波数に対し比較的低周波数のノイズは排除できるものの、高周波数のノイズは排除されていないため、その結果、高周波数のノイズが強調されることとなる。この特徴は、微分回路を走査光学系等に組み込む構成において、後述するように顕著に現れる。これは、走査光学系等で生じる光学ノイズには、高周波数で変動するノイズが存在するためである。即ち、高周波数の光学ノイズが変動して生じるような環境下では、従来技術では性能の劣化が大きくなるという課題がある。
【０００９】
この課題を改善するため、電気回路にスライスレベル等の閾値を設けることが一般的である。特許文献２では、電気回路に固定的なスライスレベルを設けている。即ち、ノイズレベルの最大値をあらかじめ想定し、そのノイズ量を上回る程度にスライスレベルを設定する。そして、そのスライスレベルを上回る場合には、二値化処理等の信号処理を施し、一方、スライスレベルに満たない信号は破棄することにより、ノイズの影響を低減している。
【００１０】
しかし、この手法においては、スライスレベルを設けたことによって、あらたな弊害が生じる。即ち、バーコード読み取り装置のように、読み取り対象が任意であるような走査光学系においては、信号振幅が低下する状況が多々存在している。例えば、走査対象物の印刷濃度はユーザーの任意である。また、ドット密度やデフォーカス等によっても信号振幅が低減する。従って、微分信号の信号レベルは可変する。
【００１１】
従来の技術によれば、このような信号については、信号振幅が全体的に低く、前述したスライスレベル以下程度に低減した場合、たとえ、信号雑音比が良好でノイズ成分が皆無であったとしても、入力信号とは見なされないため、装置は機能しなくなる。即ち、スライスレベルを設けたという回路設計が起因して、距離が離れたバーコードに対しては読み取りができなくなってしまう。これは、バーコード等の読み取りの性能が回路設計によって支配されることを意味する。
【００１２】
この対策として、スライスレベルの代わりに、カットオフ周波数を規定して積分回路を用いる手法が知られている。即ち、微分回路に積分回路を加えることで、バンドパスフィルタを回路上で構成して、上下限を排除して、所望する帯域の信号のみを取得する。
【００１３】
しかし、この手法においても類似の結果となる。例えば、前述した微分回路に積分回路を加えた構成を用いて、ローパスフィルタ処理を行なうことにする。すると、確かに微分回路を通過した高周波数ノイズを低減できる。しかしながら、ノイズの低減にともなって信号成分であるピーク信号も劣化してしまう。走査対象が任意であるようなシステムにおいては、走査対象物の信号周波数も可変している。
【００１４】
従って、信号周波数とノイズの周波数が同じ帯域で重なって区別ができないような場合には、積分回路を用いて高周波数のノイズを遮蔽しようとすればするほど、高密度の情報から順に走査対象物から得られた情報も失われていくこととなる。従って、読み取りができる可能性を犠牲にすることでノイズを低減するという観点からすれば、前述したスライスレベルと同等の結果となっていた。
【００１５】
換言すれば、スライスレベルは、信号成分の振幅に注目してノイズを除去しようとするものである。積分回路は信号成分の周波数に注目して高周波数ノイズを除去しようとするものである。しかしながら、走査光学系のように入力が任意であるようなシステムにおいては、走査対象物から得られる信号の振幅や周波数は可変となり得る。従って、振幅や周波数の絶対的な値で評価を行なうと、信号とノイズの区別ができるとはいえず、その弊害が生じている。
【００１６】
前述したように、走査対象が任意である走査光学系においては、信号振幅は大きく増減する。例えば、印刷コントラスト、印刷密度、デフォーカス等によって信号振幅が大きく変動する。さらに、詳細は後述するが、ノイズ成分も大きく増減する。走査対象が任意である走査光学系においては、信号成分とノイズ成分の相関が弱く、ともにほぼ独立して変動することに特徴がある。
【００１７】
従って、従来技術におけるスライスレベルや積分回路のカットオフ周波数ように固定的なパラメータを設定すると、信号とノイズの可変的な変化に追従できず、ある限られた環境においては好適であるが、条件を少し変えると機能しなくなったり、不安定な動きになっていた。例えば、より高密度のバーコードや低コントラストのバーコードを走査させたり、又は距離を遠近させるなど、バーコードの距離や角度、印刷コントラスト、印刷密度などの条件を少し変えると、信号振幅は同等であるが、ノイズ量が増加した／減少したという状況を実際に作り出すことができる。あるいは、ノイズ量は同等であるが、信号振幅が増加した／減少したという状況を実際に作り出すことができる。
【００１８】
従って、最適な条件は常時変動することになって、その最適な条件を積極的に知ることは困難であった。また、スライスレベルを数とおり準備しておき、順次、切り替えて総当り方式で走査を試みるという方法も考えられる。
【００１９】
しかしながら、バーコードの距離を変動させた場合のダイナミックレンジは、数１０００倍以上程度、バーコードの規格から印刷コントラストの変動量は５倍程度、印刷密度（信号周波数）の変動量は１０倍程度となっており、変動範囲が広すぎる。そのそれぞれにおいて、最適となる閾値や調整精度が違っている。例えば、低コントラストバーコードの場合はノイズ量と信号振幅が近接していることがあるので、閾値を切り替える変動量を小さくして出力を安定させる必要がある。
【００２０】
従って、総当り方式ですべてのダイナミックレンジの領域等をカバーしようとすると、走査回数が膨大となって実用性や応答性が失われる。他方、総当り方式の設定パラメータを限定すると、結果、前述したスライスレベルと同等となり、微調整されないため、読み取り可能な範囲が改善されないという結果となっている。
【００２１】
またさらに、総当り方式を採用すると、スライスレベル等の設定値は、大半が適切でないものとなる。従って、二値化信号の出力は、ノイズの影響を大きく受けた出力が増大することになる。従って、装置が誤動作・誤読する可能性が増えることになっている。
【００２２】
またさらに、前述の二値化信号に高周波数ノイズが乗ると、後段の復号処理の効率が劣化するという問題もあった。即ち、二値化信号に高周波数のノイズが乗ると、多数の細かなパターンが生じる。すると、復号処理回路は細かなノイズのパターンの中にバーコード等の規定のパターンを探す動きとなる。多数のパターンの中から、ある特定のパターンを探し出すときの順列・組み合わせの数は、パターンの数に線形というよりは、べき乗や階乗に依存するように増大する。従って、ノイズが増加すると復号回路の処理速度が著しく劣化することになる。
【００２３】
またさらに、前述した二値化信号にノイズが重畳すると、二値化処理後の復号回路において誤動作する可能性もあった。即ち、本来の二値化信号に加えて偽信号が重畳して、異なるバーコードとして誤認識される可能性も生じ得る。
【００２４】
以上の理由から、従来技術においては、処理速度や誤動作等の問題を避けるためにノイズがほぼ最大となる場合を想定し、スライスレベルを通常の使用環境に対して大きな値に調整して二値化処理を行なうことになっていた。これにより、理想的な限られた環境下での読み取りについては良好とすることができる。また、スライスレベルを高くする等によって、ノイズの影響も低減でき、処理速度の劣化を改善することができる。しかしながらこの調整は、前述したように、読み取りの性能やピーク検出の精度を犠牲にしていることを意味する。例えば、バーコードを大きく遠近させた場合のように信号レベルを増減させると、たとえノイズが少ない環境下であっても読み取りができなくなっていた。
【００２５】
そこで本発明は、入力信号の信号成分が大きく変動するシステムにおいても、適切な二値化処理ができる信号生成回路及び信号生成方法を提供することを目的とする。
【課題を解決するための手段】
【００２６】
上記目的を達成するために、本発明の従う実施形態は、光信号を受光する光検出器と、光検出器から出力されるアナログ信号に対して微分処理を行う微分回路と、微分回路から出力される微分信号の信号成分を取得し、その信号成分レベルに基づき第１のレベル値を設定する第１レベル設定手段と、前記第１のレベル値よりも低い第２のレベル値を設定する第２レベル設定手段と、前記第１のレベル値と、前記第２のレベル値との間の内分比に基づき、閾値を設定すると共に、当該内分比を可変とする閾値設定手段と、信号成分と前記閾値に基づいて光信号から情報を生成する情報生成手段と、を有する信号生成回路を提供する。
【００２７】
また、本発明の従う実施形態は、Ｎ回目の光ビームの走査によって読み取り対象物から反射される反射光を受光し、アナログ信号を出力する受光ステップと、アナログ信号に対して微分処理を行い、微分信号を取得する微分処理ステップと、微分信号の中から、基準電圧を負側から正側に越えて再び正側から負側に越えるまでの間毎に最大のピーク値をそれぞれ検出すると共に、基準電圧値を正側から負側に越えて再び負側から正側に越えるまでの間毎に最小のバレー値をそれぞれ検出するピーク値及びバレー値取得ステップと、 隣り合うピーク値とバレー値との変動量と、閾値とを比較することで、真のピーク値及び真のバレー値を取得し、取得された真のピーク値の総数及び真のバレー値の総数を計数する計数ステップと、今回計数された真のピーク値の総数及び真のバレー値の総数と、以前の光ビームの走査によって計数された真のピーク値の総数及び真のバレー値の総数とを比較し、両総数の差に基づいて前記閾値を変更する閾値設定ステップと、を有する信号生成方法を提供する。
【発明の効果】
【００２８】
本発明によれば、入力信号の信号成分が大きく変動するシステムにおいても、適切な二値化処理ができる信号生成回路および信号生成方法を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】図１は、第１の実施形態に係る光走査モジュールの外観構成を示す斜視図である。
【図２】図２は、上蓋を取り外した状態の光走査モジュールの構成を示す図である。
【図３】図３は、光走査モジュールにおける光学系を取り出して概念的に示す図である。
【図４】図４は、図１に示した基板ユニットに実装される構成部位と信号の流れを示す図である。
【図５】図５は、本実施形態に用いられる微分回路の一例を示す図である。
【図６】図６は、図５に示した微分回路から出力された微分信号を概念的に示す図である。
【図７】図７は、電源投入時の挙動について説明するためのフローチャートである。
【図８】図８は、本実施形態に用いられる主要なコマンドの例を示す図である。
【図９】図９は、図８における読み取り開始のコマンドを受信した場合の挙動について説明するためのフローチャートである。
【図１０】図１０は、ＤＳＰにおける二値化処理について説明するためのフローチャートである。
【図１１】図１１は、ノイズ量の評価処理について説明するためのフローチャートである。
【図１２】図１２は、ピークとバレーの検出・取得処理について説明するためのフローチャートである。
【図１３】図１３は、ピークの判定処理について説明するためのフローチャートである。
【図１４】図１４は、バレーの判定処理について説明するためのフローチャートである。
【図１５】図１５は、第２の実施形態として、信号生成回路を搭載した走査光学顕微鏡の外観構成例を示す図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施形態について詳細に説明する。  
まず、図１及び図３を参照して、本発明に係る信号生成回路を搭載する第１の実施形態としての光走査モジュールについて説明する。ここで、図１は、第１の実施形態に係る光走査モジュールの外観構成を示す斜視図である。図２は、上蓋を取り外した状態の光走査モジュールの構成を示す図である。図３は、光走査モジュールにおける光学系を取り出して概念的に示す図である。
【００３１】
まず、光走査モジュールの概要及び外観について説明する。  
光走査モジュール１は、バーコードを読み取ることのできる装置であって、本発明にかかる信号生成回路は上部の基板ユニット２ｂに搭載されている。光走査モジュール１において実現された外形寸法は、２０ｍｍ×１５ｍｍ×１０ｍｍに収まる程度となっている。勿論、これらの外形寸法の数値は、一例であり、これら以下の数値で実現することも可能である。また、ある程度の範囲であれば、電子機器の搭載スペースに応じて外形寸法を変更することもできる。
【００３２】
図１に示す光走査モジュール１は、落下等の衝撃に耐え得る強度を有する外装となるハウジング２を有する。ハウジング２は、各構成部位を実装するためのベース部材２ａと、上蓋となる基板ユニット２ｂとで構成される。基板ユニット２ｂは、ベース部材２ａに植立された複数の支持部材２ｃにビス２ｄにより固定されている。他にも固定方法としては、フックとストッパをそれぞれに形成して嵌め合わせによる固定や接着剤のよる固定等を用いてもよい。
【００３３】
光走査モジュール１は、光学読み取り機能の１ユニットとして、種々の電子機器に搭載できるように、例えば、ベース部材２ａ下面に固定用ねじ穴等が形成されている。
【００３４】
基板ユニット２ｂ上には、コネクタ３１及び制御部３２が設けられている。制御部３２は、後述する各ユニット及び構成部位の駆動及び信号処理を行うための制御回路や信号処理回路等が形成された回路基板からなる。
【００３５】
また、コネクタ３１は、ケーブルを介して、外部の機器例えば、コンピュータ（図示せず）に接続する。このコンピュータは、例えば、光走査モジュールに電源電圧を供給し、光走査モジュール１を駆動制御する。例えば、搭載された電子機器のコンピュータの指示（バーコードの読み取り開始のコマンド）に従って、バーコードの読み取りを開始し、走査ミラーを揺動させて、走査されたレーザー光（走査光）を照射する。ユーザーがこの走査光の領域にバーコードを翳すと、そのバーコードを読み取る。読み取られたバーコードは、データに復号されてケーブルを経由して外部のコンピュータ４９に送信される。外部のコンピュータ４９では、復号されたバーコードのデータに基づいて、会計処理や納品処理などが自動で行なわれる。尚、以降の説明でハウジング２における、レーザー光を照射し、そのレーザー光の反射光を受光する方向を向く面を走査開口面とする。
【００３６】
図２及び図３を参照して、光走査モジュール１の構成について説明する。  
ベース部材２ａ上には、主たる構成部位として、光源ユニット３と、折り返しミラー５と、光学走査装置４と、光検出器６とが実装される。
【００３７】
光源ユニット３は、例えば、波長が６５５ｎｍであるレーザー光を出射するレーザーダイオード（ＬＤ）１１と、コリメータレンズ１２と、出射アパーチャ１３とで構成される。ここで、コリメータレンズ１２は、レーザーダイオード１１から照射されたレーザー光を平行光化し、出射アパーチャ１３は平行光化されたレーザー光の光束断面を絞り、所望の形状及びスポットサイズに生成する。これらのＬＤ１１とコリメータレンズ１２と出射アパーチャ１３は、読み取りの仕様（設計）に応じて、適宜、配置やその距離が調整され、収容部（図示せず）に１ユニットとして収容される。例えば、コリメータレンズ１２は、図１に示す走査開口面から走査方向のビームウェストまでの距離が例えば、１６０ｍｍとなるように、その位置が予め微調整されている。光源ユニット３から出射されたレーザー光は、折り返しミラー５で反射により偏向されて、後述する走査ミラー２１の中央部に設けられた揺動している出射ミラー２１ｂに入射される。揺動する出射ミラー２１ｂで反射したレーザー光は、走査されて走査開口面からハウジングの外部に出射される。
【００３８】
光学走査装置４は、走査ミラー２１と、軸受部２３と、駆動部２２とが接合され、ベース部材２ａに植立された回転軸２４を中心に回動自在となっている。走査ミラー２１の前面は、非球面で且つ凹面状に湾曲した面の集光ミラー２１ａが形成され、その略中央に平面で矩形形状の面の出射ミラー２１ｂが設けられている。出射ミラー２１ｂと集光ミラー２１ａは、樹脂成型により一体的に形成されており、走査の角度（走査角）が変動しても、取り込まれた光が光検出器に向かうよう、予め形状や向きが適正に設計されている。走査ミラー２１の出射ミラー２１ｂと集光ミラー２１ａは、表面が真空蒸着により金の薄膜が蒸着された鏡面に形成される。この鏡面は、レーザー光の波長についての垂直反射率が９０％程度となるように製作されている。
【００３９】
走査ミラー２１は、軸受部２３における回動により、後述する走査方向に揺動される。
【００４０】
また、駆動部２２は、駆動コイル２５と、板ばね２６と、支持ばね保持部材２７、ヨーク２８上に配置された磁石２９とにより構成される。この走査ミラー２１の揺動に対応して、走査開口面から出射されたレーザー光は、往復走査するように動き、走査光を生成する。例えば、レーザー光の走査角が４５度程度、走査周波数が５０Ｈｚとなるように電気回路や駆動機構が設定されている。即ち、１秒間に１００回という高速でバーコード面を走査するように設定されている。これらの数値は、仕様により適切に設計されている。
【００４１】
本実施形態では、走査ミラー２１側に駆動コイル２５を、ベース部材２ａ側に磁石２９をそれぞれ固定し、駆動コイル２５に制御部３２より所定の駆動パルスを印加することで電磁力を発生させて走査ミラー２１を揺動させる、いわゆるムービングコイル方式の駆動モータである。一方、磁石２９と駆動コイル２５とが反対に配置された、いわゆるムービングマグネット方式であってもよい。
【００４２】
光検出器６は、ベース部材２ａ上に実装されており、バンドパスフィルタ１５と受光開口部１６と、光検出器１７により構成される。これらのうち、バンドパスフィルタ１５は、取り込まれた反射散乱光に対して、光源の波長近傍の光は通過させるが、他の光は遮断する。光検出器１７に入射した反射散乱光の強弱は、走査における対象物の反射率の変化に対応しており、走査面領域における外部の情報に対応している。
【００４３】
ユーザーは、出射開口面から出射された走査光における読み取り可能領域内で走査対象となるバーコードを翳すと、バーコード面上に走査光、即ち反復移動するレーザー光のスポットが形成される。バーコードの反射率の増減に対応した光強度でレーザー光の反射散乱光が生じる。反射散乱光は、出射時と同一の経路を逆向きに広がりつつ進み、走査開口面から入射し、集光ミラー２１ａで集光するように反射される。
【００４４】
集光ミラー２１ａは、焦点距離が約１０ｍｍの凹面形状をしており、前述した出射ミラー２１ｂに対して、所定の傾きをもって固定されている。その結果、集光ミラー２１ａで反射した反射散乱光は、図３に示す光検出器６の方向に集光しつつ進む。
【００４５】
この経路の途中にはバンドパスフィルタが配置されており、反射散乱光は、バンドパスフィルタを経由して光検出器に入射する。バンドパスフィルタは、ガラス基板の表面に蒸着により多層膜が形成された構造となっており、６５５ｎｍ近傍の波長の光のみを通すよう膜厚が設定されている。その結果、前述したレーザー光の反射散乱光は、取り込まれるが、照明光や太陽光等の外光ノイズは、その大半が遮断される。つまり、バンドパスフィルタは、外光ノイズや迷光ノイズ等の光学ノイズを低減する。
【００４６】
光検出器６は、光電変換面を有しており、集光ミラーを経由して取り込まれた反射散乱光の強度に対応して増減する光電流を生成する。基板ユニット２ｂは、光検出器６に電気的に接続されており、入力した光電流からなる信号に対して、後述する二値化処理や復号処理等の信号処理を施し、情報を生成する。
【００４７】
次に図３及び図４を参照して、本実施形態における信号生成回路について説明する。  
図４は、図１に示した基板ユニット２ｂに実装される信号生成回路の構成と、それらの間の信号の流れを示している。信号生成回路は、駆動回路２０、光検出器６、電流／電圧変換回路４２、増幅回路４３、微分回路４４、アナログ／デジタル（Ａ／Ｄ）変換回路４５、デジタル・シグナル・プロセッサ（ＤＳＰ）４６、復号回路４７及び出力回路４８等で構成される。尚、出射光学系４０は、レーザーダイオード１１を含む光源ユニット３及び折り返しミラー５とで構成される。
【００４８】
まず、外部のコンピュータ４９からの指示を受けた制御部３２は、駆動回路２０から駆動コイル２５に所定の駆動パルスを印加して走査ミラー２１を定期的に往復するように揺動させる。それと共に、レーザーダイオード１１に駆動電圧を供給し、レーザー光を発生させて、出射光学系４０と走査ミラー２１の出射ミラー２１ｂを経由して走査光として走査開口面からバーコード等の走査対象物４１に照射する。
【００４９】
走査対象物４１で反射散乱した光（戻り光）は、走査開口面から走査ミラー２１に入光して集光ミラー面２１ａで集光されて、前述したバンドパスフィルタ１５を通過したのち、光検出器６で光電変換され、電流信号（光信号）として生成される。電流信号は、走査対象物の反射率や形状などの外部の情報を含む走査に対応した信号（電圧値の時間的な変化）である。
【００５０】
この電流信号は、電流／電圧変換回路４２及び増幅回路４３を経由して、適正なレベルの電圧に変換され、微分回路４４に入力される。微分回路４４の出力信号は、Ａ／Ｄ変換回路４５を経由して、１０ビットのデジタル信号に変換されたのち、デジタル・シグナル・プロセッサ（ＤＳＰ）４６に取り込まれる。
【００５１】
ＤＳＰ４６では、入力信号に対して、二値化する処理を行っている。二値化された信号は、走査された対象物の反射率や陰影情報に対応している。二値化された信号は、さらに復号回路４７に送出される。
【００５２】
復号回路４７は、二値化された信号を蓄積して、予め決められたバーコードの仕様等に基づいて、蓄積されたパターンとバーコードのパターンの比較を行ってバーコードの情報を復号する。復号されたバーコードの情報は、出力回路４８からコンピュータ４９等の外部機器に出力される。
【００５３】
次に、図５に示した微分回路４４の要部について説明する。  
微分回路４４は、一般的なキャパシタ要素Ｃ及び抵抗要素Ｒにより構成される。機能が同等なものであれば、周知な回路構成でよい。光電流に基づく信号は、微分回路４４を経由することで、微分信号として出力される。
【００５４】
図６は、図５に示した微分回路から出力された微分信号を概念的に示している。  
図示するように、バーコード等の入力信号に応じたアナログ信号であって、０Ｖを中心とした正負のピークとバレーが交互に生じる。また、信号成分のピークとバレーに加えて、高周波数のノイズが重畳している。
【００５５】
この高周波数のノイズは、外部の環境によって大きく変動する。さらに、この微分信号は、Ａ／Ｄ変換回路４５を経由して、微分信号が０以上の整数値例えば、１０ビット（０〜１０２３）の階調値信号に変換されて出力される。
【００５６】
また、アナログの微分回路４４の０Ｖに対応する階調値は、詳細は後述する基準電圧mid_ref1としてソフトウェア的に規定されている。具体的には、１０ビットの中央値５１１に一致している。換言すると、基準電圧が階調値信号の中央値となるように、微分回路４４のオフセット値等が調整されている。即ち、階調値の基準電圧mid_ref1は、信号の入力が何もないとした場合の微分回路の出力電圧（０Ｖ：基準電圧）に対応している。
【００５７】
従って、光信号の入力があると、この基準電圧を中心として、ピークとバレーがそれぞれ基準電圧の上下に生じることになる。さらに、この階調値信号は、ＤＳＰ４６に取り込まれる。ＤＳＰ４６は、詳細は後述するが、ソフトウェア的に実現された二値化回路を有している。Ａ／Ｄ変換回路４５からの階調値に基づいて、二値化処理を行い、その二値化信号を１ビットの信号として復号回路４７に出力する。この二値化信号は、バーコードの白黒の幅値のパターンに対応するものである。復号回路４７は、受け取った二値化信号を一旦、内部のメモリ（図示せず）に取り込む。
【００５８】
次に、バーコードの仕様に基づき、メモリ内部に蓄積されたパターンの復号処理を行なう。即ち、メモリ内部の二値化パターンが、各バーコードの規格と一致するかどうかを順次、比較して英数字等の文字情報に変換していく。末尾まで問題なく復号できた場合には、チェックデジット等の確認など必要な処理を行なって復号データを出力する。
【００５９】
復号データは、前述したコネクタ３１を経由して外部のコンピュータ４９に送られ、この後、一連の信号処理は終了する。
【００６０】
次に、図７に示すフローチャートを参照して、第１の実施形態の信号生成回路を搭載する光走査モジュールの電源投入時の動作について説明する。図８は、本実施形態に用いられる動作を指示するコマンドについて、主要なものを示している。  
まず、メインスイッチがオンされて主電源が投入されると、各構成部位が起動し、光走査モジュールは、パラメータや内部のバッファ（輝度値バッファ、二値化バッファ）の値を初期化した後（ステップＳ１）、入力ポートを監視する（ステップＳ２）。
【００６１】
この入力ポートは、コネクタの一部のピンと接続されており、外部のコンピュータ４９から送信されるコマンドを受信する。コンピュータ４９からコマンドを受信したか否かを判断し（ステップＳ３）、コマンドを受信していない場合には（ＮＯ）、入力ポートの監視を維持し、コマンドの受信待ちの状態になっている。一方、コンピュータ４９からコマンドを受信した場合には（ＹＥＳ）、そのコマンドに指示された動作を実行し（ステップＳ４）、再度、ステップＳ２に戻る。
【００６２】
次に、図８に示すコマンドについて説明する。  
本実施形態では、外部のコンピュータ４９から操作コードと設定値等を所定の手順にて送信すると、光走査モジュール１を任意に制御することができる。例えば、読み取り開始のコマンドを送信すると、バーコードの読み取りを行なう。
【００６３】
また、バーコードタイプの設定のコマンドを送信すると、読み取りを許可／拒絶するバーコードの種類を任意に設定することができる。例えば、ＪＡＮバーコードは、読み取りができるように設定し、Ｃｏｄｅ３９バーコードは読み取らないように設定することができる。これにより、ユーザーの使用環境に応じて、バーコードの読み取り時の操作ミス等を未然に防止できる。詳細は省略したが、コマンドは、数百種類程度あり、あらゆるバーコードについての複雑な設定が自由にできるようになっている。
【００６４】
次に図９に示すフローチャートを参照して、図８における読み取り開始のコマンド（操作コード０１）を受信した場合の挙動について説明する。
【００６５】
前述した光走査モジュール１が読み取り開始のコマンド（操作コード０１）を受信すると読み取り開始の動作が実行される。まず、タイマーの初期化等、パラメータの初期設定等を行なう（ステップＳ１１）。
【００６６】
次に、走査開始処理を実行する（ステップＳ１２）。走査ミラー２１が連続的に揺動し、レーザーダイオード１１から出射されたレーザー光が走査光として、走査開口面から走査対象物に照射される。走査対象物で反射した戻り光は、光検出器６に入射されて、光電流が生成されて信号生成回路に取り込まれる。
【００６７】
走査ミラー２１を揺動させるための駆動パルスのタイミングに同期させて、光検出器６から得られた輝度値信号に対してサンプリングを行ない、そのサンプリング結果を図示しない輝度値バッファに格納する（ステップＳ１３）。即ち、１周期の駆動パルスは、１回（１往復）の走査に対応しており、１回の走査に対応した光信号が階調値信号として格納される。
【００６８】
この時、走査の動きと輝度値の取得については、取り込みのタイミングがずれないように予めそのずれ量が微調整されている。即ち、前述した走査ミラー等は、慣性モーメントを持っているため、駆動パルスのタイミングに対して走査に遅れが生じる。この遅れの分が予め適正に補正されている。輝度値信号のサンプリングは、１Msps（mega samples/s）の周波数で行なわれる。前述した光検出器６から出力された光信号等は、時間的に連続して変化しているが、そのうちの１回の走査に対応する時間領域を設定して、その１回の走査１０ｍｓに対応してサンプリングを行なう。従って、サンプリング回数は１０，０００回となっている。この輝度値データは、ＤＳＰ４６の内部の揮発性のバッファに格納される。
【００６９】
この格納された輝度値データについて、二値化処理が行なわれる（ステップＳ１４）。さらに、復号処理が行なわれる（ステップＳ１５）。この復号処理の結果から復号ができたか否かを判定する（ステップＳ１６）。この判定で、バーコードの復号ができた場合には（ＹＥＳ）、出力処理を行った後（ステップＳ１７）、走査の終了処理を行う（ステップＳ１１０）。その後、一連の読み取りの処理を終了してリターンする。一方、バーコードの復号ができなかった場合には（ＮＯ）、輝度値データ等を破棄して、タイマーの更新（Ｔ１＝Ｔ１＋１）等を行なう（ステップ１８）。その後、タイマーが所定の期間を過ぎたか否かを判定する（ステップＳ１９）。タイマーが所定の期間内である場合には（ＮＯ）、ステップＳ１３の輝度値信号の取り込み処理に戻って、１回の走査ごとに同等の手順を繰り返す。一方、所定の期間を過ぎた場合には（ＹＥＳ）、走査の終了処理を行い（ステップＳ２０）、リターンする。
【００７０】
また、ステップＳ１６の判定において、バーコードが復号できた場合には（ＹＥＳ）、コネクタ３１を通じて、復号データを外部のコンピュータ４９に出力する（ステップＳ１７）。そして、ステップＳ２０における走査の終了処理後、一連の読み取りの処理を終了して、制御を上位にリターンする。この後、光走査モジュール１は、図７で示したように、次のコマンドの受信待ちの状態（ステップＳ２，Ｓ３）となる。
【００７１】
ここで、後述する走査対象が任意である光学系に特徴的な信号成分とノイズ成分の挙動について説明する。  
まず、信号成分について説明する。走査対象が任意である走査光学系等においては、走査対象物の距離が変動することがある。出射光学系４０にレーザー光を使っている場合は、距離が変動することでビーム径は変化するものの、走査対象物上におけるスポットの光強度はほとんど変化しない。一方、受光光学系は、走査対象物上で反射散乱して広がる光の一部を取り込むことになる。
【００７２】
従って、光検出器６に入射する戻り光の光強度は、走査対象物４１までの距離に依存する。即ち、走査対象物４１が遠方にあるほど光信号は、距離の逆自乗に比例するように弱くなる。従って、走査対象物４１の距離の変動にともなって、光信号の強度は大きく増減する。さらに、変調度という特性がある。
【００７３】
前述したように、第１の実施形態においては、例えば、走査開口面からビームウェストまでの距離が約１６０ｍｍとなるようにコリメータレンズの位置が微調整（フォーカス調整）されている。この１６０ｍｍ近辺においては、ビーム径が最も小さくなる。従って、走査対象物４１（バーコード）上を走査して得られる光信号は、ビームウェスト近辺で変化が急になる。この距離から離れると、ビーム径が広がってなだらかになる。すると、光信号の変化もなだらかになる。これは、カメラでいえばピンボケに相当するものであって、一般に、ＭＴＦ(Modulation Transfer Function)として記述されるものである。これに加え、走査対象物の印刷コントラストという特性がある。即ち、バーコードの印刷はユーザーの任意である。
【００７４】
よって、バーコードの印刷に用いられるインクの反射率・濃度変化に対応して信号振幅も増減する。従って、光検出器から得られる信号成分は、光量と変調度（ＭＴＦ）と印刷コントラスト等の影響を受けて大きく変動することになる。つまり、光検出器からの電気信号の微分信号も、これらの影響を受けて大きく変動する。光量と変調度と印刷コントラスト等は、それぞれ独立した事象であって絶対的な相関がない。従って、信号振幅の値やその挙動は固定的ではない。
【００７５】
次に、本実施形態における信号生成回路のノイズについて説明する。  
ノイズは、試験環境を設定し、オシロスコープ等を用いて、光検出器以降の信号や、アナログ／デジタル変換後の信号波形を取得することで実際に観測できる。さらに、定量的に評価できる。主要なノイズを発生源によって大別すると、回路ノイズと光学ノイズにわけられる。回路ノイズには、例えば、電気部品の温度に起因する熱雑音や、アナログ／デジタル変換での情報の損失に起因する量子化ノイズ等がある。
【００７６】
他方、光学ノイズには、例えば、出射光学系にアパーチャ等を配置したことに起因する回折ノイズ、走査対象物の表面でレーザー光のスポットを反射させたとき表面の微細な凹凸により生じる干渉に起因するスペックルノイズ、光検出器に入射するフォトンの不連続性に起因して生じる光ショットノイズ、さらに、装置の内部に入反射して光検出器に入射する不要光に起因する迷光ノイズがある。 また、太陽光等の外光が機器に入り込むことで生じる外光ノイズ等がある。
【００７７】
回路ノイズは、温度変動等の影響は受けるものの装置自体に起因するものであるため、バーコード等の読み取り時には比較的安定している。即ち、バーコードの距離等を変動させても回路ノイズは比較的安定しており、ノイズ量やその挙動を予測しやすいという特徴がある。  
他方、光学ノイズは、前述したように、外部環境に依存して大きく変動する傾向がある。例えば、光ショットノイズは受光量の平方根に略比例するように変動するので走査対象物の距離が変わると、ノイズ量も大きく変動する。
【００７８】
また、スペックルノイズは、走査対象物上の照射面積（スポットの面積）に依存することから、ビームウェストからの距離の絶対値と受光光学系の受光面積に依存するようにノイズ量が変動する。実際に観測されるノイズは、前述の回路ノイズと光学ノイズが加わったものとなるので、ノイズの挙動はさらに複雑となる。
【００７９】
以上のように、信号成分を与える各要因と、ノイズ成分を与える各要因がそれぞれ異なっており、挙動が多様である。走査対象が任意である光学系等においては、信号成分とノイズ成分に強い相関がないというところに特徴がある。例えば、バーコードの印刷濃度や反射率はユーザーの任意であるが、上記の光ショットノイズは受光量の平方根で効く。
【００８０】
従って、信号成分と光ショットノイズには絶対的な相関がない。さらに、バーコードの位置を変えると信号成分とノイズ成分のそれぞれが別々に変動して異なる振る舞いをする。このように、信号成分とノイズ成分は、どちらも固定値でもなければ、互いに比例の関係にもない。増減が逆になることも頻繁に生じる。このような観点から、スライスレベル等の従来技術を見ると、信号成分の増減や光学ノイズの挙動には追従しきれないということが直感的に理解できる。従って、入力が任意であるようなシステムに最適な信号処理系があったとすると、以上の特性を踏まえたものであって、前述した従来技術とは異なるものであろうと予想される。本発明は、このような観点によるものである。
【００８１】
次に、第１の実施形態に係るデジタル・シグナル・プロセッサ（ＤＳＰ）４６が実行する二値化処理について説明をする。  
ＤＳＰ４６は、連続的に入力する信号について特定の処理を高速・連続的に処理することに特化して開発されたマイクロプロセッサである。前述した走査光学系のように情報を繰り返して処理する用途に使用することができる。具体例としては、マイクロチップ社製のＤＳＰＩＣ３３シリーズ等を使用することができる。以下のフローチャート等で示す処理内容は、Ｃ言語等のプログラミング言語を用いて記述でき、コンパイル後、ＤＳＰ４６内部の不揮発ＲＯＭに書き込むことで、記述したように動作する。ＤＳＰ４６の入力ポートは、Ａ／Ｄ変換回路４５の出力端に接続され、Ａ／Ｄ変換回路４５から出力された微分信号が、１０ビットの輝度値信号として入力される。
【００８２】
次に、図１０に示すフローチャートを参照して、ＤＳＰ４６における二値化処理について、さらに詳細に説明する。  
図９のステップＳ１３に示したように、二値化処理の前にはすでに、１回の走査に対応する輝度値データが輝度値バッファ（第１のバッファ）に蓄えられている。即ち、１０ビットでアナログ／デジタル変換された微分信号が階調値としてＤＳＰ４６内部のメモリ領域に格納されている。よって、バッファサイズは、（１０ビット）×（サンプリング回数）となっている。  
図１０に示したように、二値化処理では、まず、パラメータの初期設定等を行なう（ステップＳ２１）。即ち、内部のパラメータや出力ポート等の初期化が行なわれる。
【００８３】
次に、輝度値バッファに輝度値データが残っているか否かを判定する（ステップＳ２２）。この判定で、輝度値データが残っていれば（ＹＥＳ）、その輝度値データ（サンプリング値）Val1をサンプリングされた順（時系列順）に取得する。前述したとおり、サンプリング値は、１０ビットの階調値で表現されている。即ち、Ｏ〜１０２３までの整数値を取る。
【００８４】
次に、最大値maxP2、最小値maxV2の評価・取得を行なう（ステップＳ２４）。ここで、最大値maxP2、最小値maxV1とは、１回の走査における微分信号の最大値、最小値に対応しており、サンプリング値の変動領域を意味している。
【００８５】
これらの値は、次回以後の走査で用いる最大値maxP1，最小値maxV1を生成するために用いられる。具体的には、最大値maxP2，最小値maxV2はすでに、図１０に示したように、走査前の初期化の段階でそれぞれ０および１０２３の値が設定されている（Ｓ２１）。そして、取得したサンプリング値Val1と最大値maxP2を比較して、もし、Val1＞maxP2となっていれば、maxP2＝Val1として、最大値を更新する。もし、Val1＜maxV2となっていれば、maxV2＝Val1として、最小値を更新する。これを繰り返すことで、１回の走査における輝度値の最大値maxP2、最小値maxV2を取得できる。従って、（maxP2−maxV2）／２は、基準電圧に対する電圧の変動量に相当し、微分回路のピークの最大電圧に相当する。
【００８６】
次に、取得した輝度値データVal1から、ノイズ量Noi1の評価を行なう（ステップＳ２５）。即ち、詳細は後述するが、その走査における高周波ノイズ等のノイズレベルを取得する。
【００８７】
次に、ピーク・バレーの検出処理を行なう（ステップＳ２６）。詳細は後述するが、候補となるピーク・バレーの位置を探して、そのピークとバレーの変動量を内分比Rat1から求めた可変的な閾値Thr1を用いて評価して、閾値を超えるような変動量であれば有意であるとみなして、ピークおよびバレーを交互に順次確定していく。
【００８８】
図６で概念的に示したが、ピーク・バレーは微分信号の山谷にそれぞれ対応するものであって、バーコードや走査対象物のエッジの位置に相当するものである。このピーク・バレーの検出処理で検出された位置の情報は、第２のバッファ（二値化バッファ）に保存される。また、ピークまたはバレーが検出された場合は、ピーク・バレー数peaknum2に１を加えて、総数をカウントする。輝度値バッファのすべての輝度値データ（サンプリング値）について、以上のピーク・バレーの検出をすべて行う。その結果、二値化バッファには二値化パターンが保存される。
【００８９】
このようなピーク・バレーの検出処理を行なった後、前述したステップＳ２２に戻る。即ち、１回の走査で得られたすべてのサンプリング値について、以上の操作を繰り返して行なわれる。  
前記ステップＳ２２の判定で、輝度値バッファに輝度値データが残っていない場合には（ＮＯ）、次回の走査のため、ピーク・バレーの評価に用いるパラメータを更新する（ステップＳ２７、Ｓ２８）。
【００９０】
ステップＳ２７において、最大値maxP1と最小値maxV1を更新する。具体的には、maxP1＝（maxP1＋maxP2）／２、maxV1＝（maxV1＋maxV2）／２というように更新する。従って、最大値maxP2，最小値maxV2（Ｓ２４）は、１回の走査における階調値の最大・最小値であったが、最大値maxP1，最小値maxV1（Ｓ２７）は、過去と最新の値を反映（平均）した、最大・最小値である。
【００９１】
さらにステップＳ２８において、見つかったピーク数peaknum2と、過去の走査で見つかったピーク数peaknum1を比較して、その変動量に応じて、内分比Rat1を更新する（Ｓ２８）。即ち、ＡＢＳ（peaknum1−peaknum2）＜Thr1_peaknumを評価して、真であれば、内分比Rat1＝(Rat1+0)／２とする。偽であれば、Rat1＝(Rat1+1)／２とする。ここで、ＡＢＳ（）は、カッコ内の絶対値を取ることを意味する。
【００９２】
従って、内分比Rat1は、常に０から１の間の値を取り、走査ごとに検出されるピーク・バレーの本数の変動量ＡＢＳ（peaknum1−peaknum2）が大きければ、内分比は１に近づく。変動量が小さければ内分比は０に近づく。ここでは、Thr1_peaknum＝１０としてある。即ち、検出されたピーク・バレー数の変動量が例えば、１０本以内であれば、システムが比較的安定していると判断して、内分比を下げる動きになる。１０本を超えていれば、システムが不安定になっていると判断して、内分比を上げる動きになる。尚、ピーク・バレー数の変動量の１０本は、一例であって、限定されるものではない。
【００９３】
Thr1_peaknumの値は、光学系や駆動系、微分回路などハードウェアを確定した後、そのハードウェアの信号出力が安定するよう予め微調整されている。この後、peaknum1＝（peaknum1＋peaknum2）／２と更新する。即ち、ピーク・バレー数peaknum2は、１回の走査におけるピーク・バレーの総数であるが、ピーク・バレー数peaknum1は、過去と最新の値を反映したピーク・バレーの総数である。
【００９４】
従って、検出されたピーク・バレーの数が安定していると、ＡＢＳ（peaknum1−peaknum2）は小さな値を取る。また、ノイズが増加して出力の変動が大きくなると、ＡＢＳ（peaknum1−peaknum2）は、大きな値を取る。あるいは、バーコードの読み取り中にユーザーがバーコードを大きく動かすと安全をみて、即ちノイズを除去しようとして、内分比Rat1を大きくする動きとなる。また逆に、ノイズが皆無であれば、ＡＢＳ（peaknum1−peaknum2）の値は、走査を繰り返すにつれ、限りなく０に近づく。
【００９５】
以上を繰り返すことにより、内分比Rat1は、システムの出力が安定しており、なおかつ、極力閾値が小さくなるところに収束する動きとなる。  
さらに、以上で見つかっている最大値・最小値maxP1，maxV1および、ノイズ量Noi1の値に基づいて、閾値Thr1を更新する。即ち、Thr1＝（１−Rat1）＊Noi1＋Rat1＊（maxP1−maxV1）／２とする。
【００９６】
ここで、（maxP1−maxV1）／２は、基準電圧から最大となるピークまたはバレーの電圧値を平均化したものに相当する。即ち、信号レベルの最大値に相当する。従って、閾値は、信号レベルの最大値と、ノイズレベルの内分比として設定される。これらの値（Ｓ２７、Ｓ２８）はグローバル変数として、光走査モジュール１の起動の間、保持されており、次回以降の走査におけるピーク・バレーの検出（Ｓ２２〜Ｓ２６）に用いられる。
【００９７】
その後、二値化データの出力処理が行なわれる（ステップＳ２９）。即ち、走査に対応して得られた二値化パターンは、復号回路４７に出力される。具体的には、ピークの座標、バレーの座標を順次、取得して幅値を計算する。その幅値をタイマーの時間に置き換えて、ピークからバレーに至る期間は出力ポートをＨＩＧＨレベルにする。バレーからピークに至る期間は出力ポートをＬＯＷレベルにする。これにより、二値化パターンは１ビットの出力信号の時間変化として出力される。
【００９８】
復号回路４７でも同様にタイマーと、二値化パターンを保持する揮発性のメモリを有しており、二値化パターンの転送ごとに二値化回路からの入力ポートの時間変化から、そのパターンを取得して保持するようになっている。以上の処理の後、シーケンスを上位にリターンする。
【００９９】
次に、図１１に示すフローチャートを参照して、図１０のステップＳ２５におけるノイズ量の評価処理について説明をする。  
まず、図１１に示すパラメータVal5，Val4，Val3，Val2等の初期値は、図１０のステップＳ２１に示したパラメータの初期設定と同様に、上位のシーケンスにおいて、すでに設定されている。具体的には、階調値で基準電圧に相当するmid_ref1（＝５１１）の値が入力されている。即ち、前述したように、信号の入力がないときは、微分回路４４の出力はＯＶとなっているので、その基準電圧に対応したアナログ／デジタル変換後の階調値mid_ref1が初期値として設定されている。
【０１００】
次に、すでに取得されているサンプリング値Val1を図１１に示したように連続する過去の値が保存されるように保持する（ステップＳ３１）。即ち、連続して取得された過去Ｎ１回（この場合、Ｎ１＝４）のサンプリング値が順次、Val2，Val3，Val4，Val5に保存される。このサンプリング値の変化が、順に、小大小大の並びになっているか否か（ステップＳ３２）、又は、大小大小の並びになっているか否かの並びになっているかどうかを判定する（ステップＳ３３）。
【０１０１】
この並びになっている場合は、過去に取得されているノイズ量を退避して、Noi2＝ＡＢＳ（Val4−Val3）となるように更新する（ステップＳ３４）。  
そして、過去Ｎ２回（この場合はＮ２＝４回）のこのノイズ量について、平均値を求めて、ノイズ量Noi1を更新する。並びが条件を満たさない場合は、ノイズ量Noi1は更新されず、制御を上位に返す。即ち、ここでいうノイズ量Noi1とは、隣接したサンプリング値に増減があった場合にその変動量を取得する動きになる。
【０１０２】
前述したように本実施形態では、微分回路４４を用いて、低周波数のノイズはすでに遮断されている。従って、最も周波数の高い隣り合うサンプリング値の変動量を評価すれば十分である。この高周波数ノイズには、前述したスペックルノイズや光ショットノイズのような光学ノイズも含まれている。このため、高周波数の光学ノイズが増大すると、このノイズ量Noi1はノイズ成分に比例して増大する。従って、ノイズ量を定量的に評価することが可能となる。
【０１０３】
光学ノイズは、振幅は大きく変化するが、その周波数は電気回路の熱雑音のように、周波数に強く依存せず均一となる傾向がある。このため、最も周波数の高い領域を代表として、ノイズ量を評価すれば光学ノイズを定量的に把握するには十分である。
【０１０４】
さらに、ノイズがほとんど無い環境下では、前述したようにノイズ量Noi1は、更新されないか、非常に小さな値が設定される。つまり、ノイズがほとんど生じていないような状況もノイズ量Noi1で定量的に把握できることになる。従って、トータルでのノイズは、ノイズ量Noi1の値によってその特徴を定量的に把握できる。
【０１０５】
また、並びが条件（ステップＳ３２及びＳ３３）を満たさず、例えば、Val5＞Val4＞Val3＞Val2のように単純な減少または増加となっているときは、これはランダムノイズというよりは、信号成分に対応していると考えられる。例えば、ノイズ量に対して、非常に強い信号が入力すると、信号ピークは大きく変化する。このように、信号成分による変動が比較的大きい場合には、ノイズ量としては評価しない。これにより、ノイズ量Noi1の値はより正確に評価される。
【０１０６】
次に図１２に示すフローチャートを参照して、ピークとバレーの検出・取得処理（図１０のステップＳ２６）について説明をする。  
ここで、サンプリング値Val1は、ステップＳ２３において、すでに輝度値バッファから階調値として取得されている。また、ピークの候補値PossiblePeak1とバレーの候補値PossibleValley1は、図１０のステップＳ２１で示したように、走査する毎に行なわれる二値化処理の最初の段階ですでに初期化されている。具体的には、ともに、基準電圧レベルmid_ref1に設定されている。以降、走査にともなって、サンプリング値Val1の値の変動を評価して、ピークとバレーを順次、確定する。
【０１０７】
図１２に示したように、ピークとバレーの検出・取得処理は、まず、Val1≧PossiblePeak1の条件１を満たしているか否かを判定する（ステップＳ４１）。上記条件１を満たしている場合は（ＹＥＳ）、ピークの判定処理に移行して後述するピーク判定を行い（ステップＳ４３）、シーケンスを上位にリターンする。一方、上記条件１を満たしていない場合には（ＮＯ）、次に、Val1≦PossibleValley1の条件２を満たしているか否かを判定する（ステップＳ４２）。この判定で条件２を満たしている場合には（ＹＥＳ）、バレーの判定処理に移行して後述するバレー判定を行い（ステップＳ４４）、シーケンスを上位にリターンする。一方、上記条件２を満たしていない場合には（ＮＯ）、そのままシーケンスを上位にリターンする。
【０１０８】
次に図１３に示すフローチャートを参照して、ピークの判定処理（図１２のステップＳ４３）について説明をする。  
図１２のステップＳ４１の条件１において、サンプリング値Val1がピークの候補値PossiblePeak1を超えた場合には、このピークの判定処理が実行される。
【０１０９】
まず、ピークの候補値PossiblePeak1をサンプリング値Val1で更新し、そのサンプリング値Val1の座標ｉ１をposiPeak1に保存する（ステップＳ５１）。この時、座標ｉ１は、時系列でみたサンプリングの順番であって、走査領域の座標に対応している。従って、posiPeak1は、バーコードのエッジの候補となる座標を示している。
【０１１０】
次に、ピーク検出モードか否かを判定する（ステップＳ５２）。つまり、ピーク・バレーの検出モードには、ピークを探しているモード（pv_state＝０に相当）と、バレーを探しているモード（pv_state＝１に相当）との２つモードがある。  
ここで、前述したステップＳ２１におけるパラメータの初期設定の項で説明したように、１回の走査を行なった後、二値化処理を開始する時点では、pv_state＝０に初期設定されている。
【０１１１】
次に、ピーク検出モードが否かを判定する（ステップＳ５２）。この判定は、ステップＳ５１において、ピークの候補値を更新した時点で、ピーク検出モードであった場合には（ＹＥＳ）、バレーの候補値を現在のサンプリング値でクリアして（ステップＳ５３）、シーケンスを上位にリターンする。この判定により、ピーク検出モードでは、より高いピーク値を更新し続ける動きになる。即ち、微分回路４４から出力された信号が入力するため、より高いピークが見つかった場合は、信頼性がより高いと判定して候補値を更新する。この時に、すでに見出されているバレーの候補値には、現在のサンプリング値Val1を入れて破棄する（ステップＳ５３）。つまり、ピークを検索して、より高いピークに更新されている期間は、先に検出されたバレーは、偽であると判断してもよいため、これまでに見出されたバレーの候補値は破棄する。
【０１１２】
一方、ステップＳ５２の判定において、ピーク検出モードではない場合には（ＮＯ）、即ち、バレー検出モードである場合は、バレーの候補値を確定してよいか否かを判定する（ステップＳ５４）。この判定は、ピークの候補値が基準電圧レベルmid_ref1を超え、且つ先に見出されたピークの候補値とバレーの候補値との変化量が閾値Thr1を超えているか否かを判定する。即ち、微分回路４４から出力された信号が入力するため、真のピークと真のバレーは、値の正負が反転する。
【０１１３】
従って、基準電圧を横切ったことを確認し、且つ先に見出されたピークとバレーの候補の変動量の有意さを閾値Thr1で判定する。このステップＳ５４の判定結果が真であれば、先に見出されているバレーの候補値PossibleValley1を確定して、二値化バッファにその座標posiValley1を保存する。
【０１１４】
その後、ピーク・バレー検出の状態pv_stateをピーク検出モードに切り替える（ステップＳ５５）。即ち、これまでバレー検出モードでバレーを探していたのだが、微分信号の正負が反転して有意な変動が検出された場合は、バレーの候補値を確定してピーク検出モードに移行する。さらに、バレーが１つ確定しているため、ピーク・バレーのカウント数を１つ増加させて、シーケンスを上位にリターンする。  
一方、ステップＳ５４の判定において、バレーの候補値を確定しない場合には（ＮＯ）、即ち、偽の判定であれば、そのままシーケンスを上位にリターンする。
【０１１５】
次に図１４に示すフローチャートを参照して、バレーの判定処理について説明する。  
バレーの判定処理においては、ピークの判定処理と類似の処理が行われる。即ち、図１２のステップ４２において、サンプリング値Val1がバレーの候補値を下回った場合には、このバレーの判定処理が実行される。
【０１１６】
まず、バレーの候補値PossibleValley1をサンプリング値Val1で更新する。また、そのサンプリング値Val1の座標ｉ１をposiValley1に保存する（ステップＳ６１）。このposiValley1は、バーコードのエッジの候補となる座標を示す。
【０１１７】
次に、バレー検出モードか否かを判定する（ステップＳ６２）。この判定において、バレーの候補値を更新した時点で、バレー検出モードである場合には（ＹＥＳ）、ピークの候補値を現在のサンプリング値でクリアーして（ステップＳ６３）、シーケンスを上位にリターンする。この処理により、バレー検出モードでは、より低いバレーを更新し続ける動きになる。また、バレーが更新されている間は、先に見出されているピークの候補値は、偽であると判断してもよいため、それらのピークの候補値は破棄する。
【０１１８】
一方、ステップＳ６２の判定において、判定結果がバレー検出モードではない場合（ＮＯ）、即ちピーク検出モードであれば、次にピークの候補値を確定してよいか否かを判定する（ステップＳ６４）。この判定は、バレーの候補値が基準電圧レベルmid_ref1を下回り、且つ、先に見出されているピークの候補値とバレーの候補値の変化量が閾値Thr1を超えているか否かを判定するものである。即ち、微分回路４４から出力された信号が入力するため、真のピークと真のバレーは、値の正負が反転する。従って、基準電圧を横切ったことを確認し、且つ先に見出されたピークとバレーの各候補の変動量の有意さを閾値Thr1で判定する。
【０１１９】
このステップＳ６４の判定結果がピークの候補値を確定してよい（ＹＥＳ）、即ち真であれば、先に見出されているピークの候補値PossiblePeak1を候補として確定して、二値化バッファに、その座標posiPeak1を保存する。さらに、ピーク・バレー検出の状態pv_stateをバレー検出モードに切り替える（ステップＳ６５）。この判定においては、それまでピーク検出モードでピークを探していたが、微分信号の正負が反転して有意な変動が検出された場合には、ピークの候補値を確定して、バレー検出モードに移行する。さらに、ピークが１つ確定したのであるから、ピーク・バレーのカウント数を１つ増加させる。その後、シーケンスを上位にリターンする。一方、ステップＳ６４の判定結果がピークの候補値を確定しない（ＮＯ）、即ち、偽であれば、そのままシーケンスを上位にリターンする。
【０１２０】
以上説明した第１の実施形態における各フローチャートによる一連のシーケンスについて説明する。  
図１０に示すステップ２６において、ピークの判定処理とバレーの判定処理を繰り返して実行すると、より高いピーク値PossiblePeak1と、より低いバレー値PossibleValley1が次々に更新されて、ピークの候補値とバレーの候補値の差が次第に大きくなっていく。そして、変動量がある有意な量を超えて、基準電圧を越えると、ピークまたはバレーが順次確定する動作となって、以降、その動作を繰り返し行うことになる。
【０１２１】
そして、１回の走査で見つかったピーク・バレーの総数がpeaknum2の値として得られることになる（図１３に示すステップＳ５５、図１４に示すステップＳ６５）。
【０１２２】
さらに、図１０に示すフローチャートにおいて、ピーク・バレーの本数peaknum1は、過去を反映させた値としてpeaknum1に保存されていて（ステップＳ２８）、この変動量に応じて、内分比Rat1が更新される動きになる。即ち、出力パターンが走査ごとに大きく変動すると、内分比が１に近づく。
【０１２３】
また、出力パターンが走査ごとに変動しないと、内分比が０に近づく。これに伴って、上で用いた閾値Thr1が更新される（ステップＳ２８）。即ち、閾値Thr1は、走査で評価したノイズ量Noi1と輝度値の変動量の中間に存在することになる。閾値は、ノイズと信号を内分する点に位置しており、その内分比が定義されている。
【０１２４】
従って、前述したように、スペックルノイズ等及び、光学ノイズ等が増大すると、ノイズ量Noi1が上昇する（ステップＳ３４）。これに伴って、ノイズレベルと信号レベルの間に存在する閾値Thr1も上昇する（ステップＳ２８）ことになるので、ノイズ量の増減に追従して、閾値が増減することになる。また、同様に、輝度値の増減（最大値、最小値の増減）があった場合（ステップＳ２４、Ｓ２７）でも、増減に追従して、閾値Thr1が増減する（ステップＳ２８）。
【０１２５】
従って、信号レベルとノイズレベルが大きく変動した場合であっても、即座に閾値は妥当な内分比となる位置に追従して動く（ステップＳ２８）。これにより、ランダムノイズが二値化の判定に入り込む要因が改善されて、バーコード等の読み取りの安定性は格段に改善する。例えば、１０ｍｓの走査期間に比較して急激にノイズレベルや信号レベルが変動した場合であっても、即時にパラメータ調整が追従して安定となる値に収束し、二値化判定は即座に最適化される。さらに、内分比は、出力パターンが大きく変動すると高くなって、変動が小さいと小さくなる（ステップＳ２８）。
【０１２６】
従って、出力パターンが安定するところに収束する動きになる。前述した誤読・誤動作は、ランダムノイズに起因するものであったが、以上によれば、繰り返し再現性のあるところに二値化判定のパラメータが収束して、走査毎のランダムさが除去されて安定的な挙動となる。これにより、複数回の走査で同じようなパターンが出力されるようにパラメータの微調整が収束するような動きとなり、誤読・誤動作が生じる確率は著しく低減する。即ち、例えば複数回走査してまったく同一の結果が得られるのであれば、その信号のランダムさは皆無であるといえるのであるから、ランダムなノイズは除去されていることになって、誤動作・誤読の確率が非常に小さくなる。
【０１２７】
従来の技術においては、復号処理の結果を確認した後に、チェックデジット等を確認することで初めて、ノイズか否かの判定を行っていた。この場合、復号処理の前段である二値化処理の出力にはすでにノイズが入り込んでいることになる。従って、誤動作・誤読をする可能性が否定できなかった。
【０１２８】
これに対して、本実施形態によれば、復号処理の前段である二値化処理において、繰り返し再現性のあるパターンを出力する動きになるので、誤動作・誤読が格段に改善される。さらに、光学ノイズが非常に小さいような環境では、ノイズ量Noi1は非常に小さな値を取り得る（ステップＳ３４）。
【０１２９】
またさらに、ノイズが小さいと、内分比は０に近づき（ステップＳ２８）、閾値Thr1は小さな値を取る。すると、高密度バーコードをデフォーカスさせたような場合のように、信号振幅は高いものの変調度が極端に劣化するような場合であっても、読み取ることが可能となる。なぜなら、再現性のある出力が得られる範囲においては、閾値は小さく微調整される動きになるからである。
【０１３０】
従って、スライスレベルを設けた従来技術等と比較すると、二値化判定の精度は著しく向上し、格段に読み取りの性能が改善する。低コントラストのバーコードの読み取りをする場合も、同様に、再現性のある出力が得られる範囲において閾値調整が収束・最適化される動きとなる。即ち、走査対象のコントラストや印刷密度に応じて、最適なパラメータの組み合わせに収束するため、読み取りが格段に向上する。
【０１３１】
復号回路側からみた場合の利点として、さらに、復号回路が受け取る二値化信号は、再現性のあるランダムさのない信号となる。  
従って、復号回路では、ノイズの中にバーコードを探しにいくというような無駄な処理が解消する。これにより、システム全体の処理効率は、さらに、著しく改善する。即ち、読み取り速度が格段に改善する。また、前述したように、復号回路の誤読・誤動作は、ランダムさに起因するものであるが、この誤動作等も解消・低減する。
【０１３２】
尚、本実施形態においては、ピーク・バレーの総数を評価することで、出力の安定性を評価する例について説明した。しかしながら、必ずしもこの例に限定されるものではない。例えば、ピーク・バレーの総数に加えて、ピーク・バレーの位置の変動を評価してもよい。
【０１３３】
次に、本発明の第２の実施形態について説明する。  
前述した第１の実施形態では、バーコードの読み取り装置に信号生成回路を搭載した構成例について説明した。第１の実施形態の図８においては、操作コード０６、０７で示したように、階調値のパターンや二値化のパターンが画像データとして直接出力できるようになっている。第２の実施形態は、復号回路等の結果を利用しなくても、ノイズ量を適正に取得・調整でき、画像処理に利用する例である。本実施形態では、階調値データや二値化データを画像データとして直接出力させれば、バーコードの読み取りに限らず、あらゆる測定器・検出器を構成できる。
【０１３４】
図１５は、本発明に係る第２の実施形態として、信号生成回路を搭載した走査光学顕微鏡の外観構成例を示す。本実施形態は、第１の実施形態における走査光学系をガルバノミラー等に変えて２次元的な走査ができるようにしたものである。
【０１３５】
走査光学顕微鏡５１は、顕微鏡ベース部５２と、３次元（ＸＹＺ方向）に移動可能な試料テーブル５３と、倍率の異なる複数の対物レンズ５４と、走査対象５５に走査する観察光を照射し観察する走査光学系を含む鏡筒本体５４と、鏡筒本体５６内に配置される信号生成回路５７とで構成される。
【０１３６】
本実施形態の信号生成回路５７は、第１の実施形態で説明したように、光学ノイズの除去に適しており、光学系を変更しても、同等の作用効果が得られる。従って、ノイズの除去に優れた高精度の測定器にも好適する。また、顕微鏡にバーコードの読み取り機能を追加して、測定サンプルに応じて画像データの自動処理の機能等を追加してもよい。
【０１３７】
以上のように、本発明の信号生成回路は、あらゆる光学的に情報を読み取る機器に搭載できる。例えば、バーコードリーダ、レーザープリンタ、レーザー走査型顕微鏡、レーザープロジェクタ、情報入力装置、情報出力装置、画像形成装置、精密医療機器、携帯情報端末、車間センサ、防犯センサ、三次元スキャナ、無線装置、ハンドヘルド機器、自動車、船舶、航空機、半導体製造装置、カード認識装置、自動販売機等である。（走査対象）また、本発明の信号生成回路は、あらゆるバーコードの読み取りに好適する。バーコードについては、例えば、JAN、EAN、UPC、Code 39、ITF(Inter leaved 2 of 5)、Codabar、Code 128、UCC / EAN 128、Bookland EAN、MSIPlessey、Code 93、Reduced Spaced Symbology (RSS)、PDF 417等の読み取りに好適する。
【０１３８】
また、線画、ドット、線分等の組み合わせや記号、刻印された凹凸形状等の特殊なパターンを読み取る用途であっても好適する。  
また、本発明の信号生成回路は、復号回路に搭載されたソフトウェアを書き換えることで、容易に物体検出等に応用することができる。例えば、自動車や人物の認識に用いることができる。移動物体やその有無についても検出することができることから、走査光を赤外光として防犯装置を構成してもよい。
【０１３９】
また、本発明の信号生成回路を用いて、三次元形状を読み取るための三次元スキャナを構成して、人体等を走査対象としてもよい。  
また、本発明によれば、広い距離範囲において読み取りが改善されることから、広範囲の移動物体等の高精度な検出に好適である。また、高精細のレーザープロジェクタとして、スクリーンや壁面を走査するという例であってもよい。
【０１４０】
次に、第１及び第２の実施形態における変形例について説明する。  
前述したように、第１及び第２の実施形態による信号生成回路及び信号生成方法によれば、読み取りの性能や誤動作等は格段に改善される。しかしながら、その他のノイズや光学系の改善を併用してよいことはいうまでもない。例えば、前述したバンドパスフィルタとして、特許文献３に記載された光学的ゲイン補正フィルタを搭載してもよい。この光学的ゲイン補正フィルタは、入射角が変わると光量が増減するという多層膜部品であるが、この部品を搭載することで、走査等にともなう周辺光量落ちを低減するなど、さらに性能を改善できる。
【０１４１】
また、前述した実施形態において、レーザー光は６５５ｎｍの波長として説明したが、かならずしもこの限りでない。即ち、４００ｎｍ近辺の光源としてもよいし、８００ｎｍ以上の赤外光を用いてもよい。この場合、前述したバンドパスフィルタの透過波長を変更すればよい。  
以上のように、前述した各実施形態及び変形例によれば、入力信号が大きく変動するシステムにおいても、適切な二値化処理ができる信号生成回路及び信号生成方法を提供することができる。
【０１４２】
尚、前述した各実施形態及び変形例によれば、さらに、目的として以下の信号生成回路及び信号生成方法を提供する。
【０１４３】
（１）入力信号のノイズ成分が大きく変動するシステムにおいても、適切な二値化処理ができる信号生成回路および信号生成方法を提供することができる。
【０１４４】
（２）入力信号の信号成分やノイズ成分が大きく変動するシステムにおいても、誤動作の生じにくい信号生成回路および信号生成方法を提供することができる。
【０１４５】
（３）入力信号の信号成分やノイズ成分が独立して大きく変動するシステムにおいても高速かつ安定して動作する信号生成回路および信号生成方法を提供することができる。
【０１４６】
（４）復号処理の前段である二値化処理において、ノイズの低減や誤読の改善・高速化を実現できる信号生成回路および信号生成方法を提供することができる。
【０１４７】
（５）入力信号のノイズ成分が大きく変動するシステムにおいても、適切な二値化処理ができる信号生成回路および信号生成方法を提供することができる。
【０１４８】
（６）入力信号の信号成分やノイズ成分が大きく変動するシステムにおいても、誤動作の生じにくい信号生成回路および信号生成方法を提供することができる。
【０１４９】
（７）入力信号の信号成分やノイズ成分が独立して大きく変動するシステムにおいても高速かつ安定して動作する信号生成回路および信号生成方法を提供することができる。
【０１５０】
（８）復号処理の前段である二値化処理において、ノイズの低減や誤読の改善・高速化を実現できる信号生成回路および信号生成方法を提供することができる。
【０１５１】
さらに、前述した各実施形態及び変形例によれば、以下の発明を含んでいる。
【０１５２】
（１）検出器と、
前記検出器の微分信号を生成するための微分回路と、
前記微分信号における信号レベルを取得するための信号レベル検出手段と、
前記微分信号におけるノイズレベルを取得するためのノイズレベル検出手段と、
閾値レベル設定手段と、
前記信号レベルと前記閾値レベルに基づいて出力信号を生成する信号出力手段と、を有する信号生成回路において、
前記信号レベルと前記ノイズレベルについて所定の内分比に可変的に設定することによって前記閾値レベルを決定することを特徴とする信号生成回路。
【０１５３】
（２）前記（１）項における信号生成回路において、
前記信号生成回路から出力された過去の出力信号と、
前記信号生成回路からあらたに出力される出力信号との変動量に基づいて、
前記内分比を更新することを特徴とする信号生成回路
（３）前記（１）項における信号生成回路において、
前記信号生成回路からの閾値レベルを超えて出力された信号の特徴量（本数、パターン）を取得して、過去の信号生成における前記特徴量からの変動に応じて、前記内分比を反復的に更新することを特徴とする信号生成回路。
【０１５４】
（４）前記（１）項における信号生成回路において、
前記信号生成回路からの閾値レベルを超えて出力された信号の特徴量（本数、パターン）を取得して、過去の信号生成における前記特徴量からの変動が相対的に小さな場合は、前記内分比を前記ノイズレベルに近い側に、過去の信号生成における前記特徴量からの変動が相対的に大きな場合は、前記内分比を前記信号レベルに近い側に、反復的に更新することを特徴とする信号生成回路。
【０１５５】
（５）前記信号生成回路の検出器が、走査されるレーザー光の反射光を受光するものであって、前記レーザー光により走査される走査対象物の距離、反射率、印刷濃度、印刷密度、角度に対応して、前記信号レベルが追従することを特徴とする信号生成回路。
【０１５６】
（６）前記信号生成回路が、走査されるレーザー光の反射散乱光の光信号を処理するものであって、前記レーザー光の走査に伴う外光ノイズ、迷光ノイズ、スペックルノイズ、光ショットノイズ、回路ノイズ、量子化ノイズに対応して、前記ノイズレベルが追従することを特徴とする信号生成回路。
【０１５７】
（７）検出器と、
前記検出器からの信号を微分処理するための微分回路と、
微分回路からの出力信号に基づき二値化信号を出力するための二値化回路と、を有する信号生成回路において、
前記微分回路の出力信号における信号レベルとノイズレベルについて、前記ノイズレベルが増加して前記二値化信号の変動が大きくなったとき、前記二値化信号の本数を減少させるステップと、前記ノイズレベルが減少して前記二値化信号の変動が小さくなったとき、前記二値化信号の本数を増加させるステップと、を有し、
前記２つのステップを反復的に繰り返すことを特徴とする信号生成方法。
【０１５８】
（８）検出器と、
前記検出器からの信号を微分処理するための微分回路と、
微分回路からの出力信号に基づき二値化信号を出力するための二値化回路と、を有する信号生成回路において、
同一信号を反復的に前記信号生成回路に入力させると信号本数が増加するステップと、異なる信号を繰り返し前記信号生成回路に入力させると信号本数が減少するステップと、を有することを特徴とする信号生成方法。
【符号の説明】
【０１５９】
１…光走査モジュール、２…ハウジング、２ａ…ベース部材、２ｂ…基板ユニット、３…光源ユニット、４…光学走査装置、５…折り返しミラー、６…光検出器、１１…レーザーダイオード（ＬＤ）、１２…コリメータレンズ、１３…出射アパーチャ、１５…バンドパスフィルタ、１６…受光開口部、１７…光検出器、２０…駆動回路、２１…走査ミラー、２１ａ…集光ミラー、２１ｂ…出射ミラー、２２…駆動部、２３…軸受部、２５…駆動コイル、２６…板ばね、２７…支持ばね保持部材、２８…ヨーク、２９…磁石、３１…コネクタ、３２…制御部。
【図１】
2010160574.tif 000003
【図２】
2010160574.tif 000004
【図３】
2010160574.tif 000005
【図４】
2010160574.tif 000006
【図５】
2010160574.tif 000007
【図６】
2010160574.tif 000008
【図７】
2010160574.tif 000009
【図８】
2010160574.tif 000010
【図９】
2010160574.tif 000011
【図１０】
2010160574.tif 000012
【図１１】
2010160574.tif 000013
【図１２】
2010160574.tif 000014
【図１３】
2010160574.tif 000015
【図１４】
2010160574.tif 000016
【図１５】
2010160574.tif 000017