(57)【特許請求の範囲】
【請求項１】
バーコード検出装置であって、バーコードを照明する発光素子と、前記バーコードからの反射光を受光し、光・電気量変換する受光素子と、該受光素子の出力を入力とする離散的等比級数的可変増幅度の増幅器と、該増幅器の出力を入力するＡ／Ｄコンバータと、該Ａ／Ｄコンバータの出力を入力し、前記バーコードの２値化イメージ出力するマイクロプロセッサとから成り、前記増幅器は、前記マイクロプロセッサの制御によりＯＮ／ＯＦＦする複数個のスイッチにより増幅度を可変し、前記マイクロプロセッサが、シーケンス制御によるデジタル信号処理を行うことにより、２値化バーコードイメージ出力するバーコードイメージ検出装置であり、且つ、前記マイクロプロセッサによる前記増幅度の制御として、前記バーコードの最初の黒バーの直前の白地部において、前記増幅度を前記Ａ／Ｄコンバータの出力がオーバフローしない最大の増幅度に設定し、更に、前記２値化のための判別シーケンスは、前記Ａ／Ｄコンバータの出力の変化の内、小振幅の変化を重点的に参照して閾値を変更していくシーケンスであることを特徴とするバーコードイメージ検出装置。
【請求項２】
前記増幅器は、前記プロセッサの制御によりＯＮ／ＯＦＦする複数個のスイッチにより増幅度が１０倍以上可変することを特徴とする請求項１記載のバーコードイメージ検出装置。
【請求項３】
２個またはそれ以上のスイッチを同時にＯＮする組み合わせを含めることにより、前記増幅器の増幅度の可変段数よりも２またはそれ以下のスイッチ個数とすることを特徴とする請求項１記載のバーコードイメージ検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バーコードを光／電気量変換して検出するバーコードイメージ検出装置に関する。
【０００２】
【従来の技術】
従来のバーコードイメージ検出装置は、発光素子、受光素子及び光学経路等の夫々のバラツキを補正するために半固定の調整部を備えているか、またはアナログ方式のＡＧＣ（オートゲインコントロール）回路を備えていた。また白黒判別はハードウエア回路で行っていた。
【０００３】
【発明が解決しようとする課題】
半固定の調整部を備えているものは、装置固有のバラツキは補正できても、使用状態（例えばバーコード面に対する装置の傾き具合）により、信号レベルは大きく変動してしまう。また、アナログ方式のＡＧＣ回路によるものは、非帰還型でも帰還型でも、または対数圧縮を含む信号圧縮型でも入力信号の１０倍以上の信号変化をほぼ一定レベルに揃えることは大変困難であった。さらにバーコード面が光学的焦点面から少し離れて解像度が低下した場合の白黒判別も困難であった。
【０００４】
【課題を解決するための手段】
本発明は如上の従来の問題点に鑑みなされたもので、バーコード検出装置であって、バーコードを照明する発光素子と、前記バーコードからの反射光を受光し光・電気量変換する受光素子と、該受光素子の出力を入力とする離散的等比級数的可変増幅度の増幅器と、該増幅器の出力を入力するＡ／Ｄコンバータと、該Ａ／Ｄコンバータの出力を入力し前記バーコードの２値化イメージ出力するマイクロプロセッサとから成り、前記増幅器は、前記マイクロプロセッサの制御によりＯＮ／ＯＦＦする複数個のスイッチにより増幅度が１０倍以上可変し、前記マイクロプロセッサが、シーケンス制御によるデジタル信号処理を行うことにより２値化バーコードイメージ出力するバーコードイメージ検出装置を提案するものである。
【０００５】
【作用】
本発明では、演算増幅器の数種のフィードバック抵抗値を、その出力信号レベルに応じてマイクロプロセッサがスイッチ切り替えすることにより、離散的に等比級数的に増幅度を１０倍以上容易に変化させ得ることを利用している。また白黒判別がハードウエアでなく、マイクロプロセッサのソフトウエア処理により各信号変動要因に柔軟に対応させ得る作用を利用している。
【０００６】
【発明の実施の形態】
本装置は、信号レベルに応じてマイクロプロセッサがスイッチを切り替えすることにより、バーコードの白地部分に応じた電気信号の増幅度を離散的に等比級数的に変化させ、白黒判別段階での信号変化幅をほぼ一定にするものであり、またマイクロプロセッサのソフトウエア処理により白黒判別するバーコードイメージ検出装置である。
【０００７】
【実施例】
以下本発明を添付図を参照して説明する。図１は本装置の電気的構成概要図である。バーコード１の明暗情報を電気信号に変換し、バーコード１の白と黒に対応したイメージ状２値電気出力をするのであるが、その動作を説明する。電源電圧（＋Ｖ）９からの電源供給により、定電流源２が発光素子３（発光ダイオード、レーザーダイオード等）へ一定電流を供給し、発光素子３から光を放射させ、バーコード１を照明する。発光素子３とバーコード１の間には通常レンズ、導光体等の光学部材があり、発光素子３の放射光が効率よくバーコード１を照明する。
【０００８】
バーコード１からの反射光の一部は受光素子４（フォト・トランジスタ、ＣＣＤラインセンサ等）へ入射し光・電気量変換される。バーコード１と受光素子４の間にはレンズ、導光体などの光学部材があり、光のロスを少なくすると同時にバーコード１を読みとる解像度を良くしている。受光素子４の出力電圧または電流（本実施例では電流出力）は、バーコード１の白／黒の変化に応じて変化する。バーコード１に面する部分がペン型の場合はそのペン先端をバーコード１面に沿って移動（スキャン）させてバーコード１の白／黒パターンを検出する。またバーコード１に面する部分がライン型（ＣＣＤラインセンサ使用時または振動ミラー使用時）の場合は電気的または機械光学的にスキャンして、バーコード１の白／黒パターンを検出する。
【０００９】
【課題を解決するための手段】
本発明は従来の問題点に鑑みなされたもので、バーコード検出装置であって、バーコードを照明する発光素子と、前記バーコードからの反射光を受光し、光・電気量変換する受光素子と、該受光素子の出力を入力とする離散的等比級数的可変増幅度の増幅器と、該増幅器の出力を入力するＡ／Ｄコンバータと、該Ａ／Ｄコンバータの出力を入力し、前記バーコードの２値化イメージ出力するマイクロプロセッサとから成り、前記増幅器は、前記マイクロプロセッサの制御によりＯＮ／ＯＦＦする複数個のスイッチにより増幅度を可変し、前記マイクロプロセッサが、シーケンス制御によるデジタル信号処理を行うことにより、２値化バーコードイメージ出力するバーコードイメージ検出装置であり、且つ、前記マイクロプロセッサによる前記増幅度の制御として、前記バーコードの最初の黒バーの直前の白地部において、前記増幅度を前記Ａ／Ｄコンバータの出力がオーバフローしない最大の増幅度に設定し、更に、前記２値化のための判別シーケンスは、前記Ａ／Ｄコンバータの出力の変化の内、小振幅の変化を重点的に参照して閾値を変更していくシーケンスであることを特徴とするバーコードイメージ検出装置。
【００１０】
演算増幅器６と、抵抗１０〜１５、及びスイッチ２１〜２５で構成する回路が信号増幅部であり、可変増幅度のトランスインピーダンスアンプとして動作する（詳細は後述する）。演算増幅器６の出力はＡ／Ｄコンバータ７に印加され、数値化されてマイクロプロセッサ（ＭＰＵ）８に入力する。Ａ／Ｄコンバータ７はその入力電圧を、マイクロプロセッサ（ＭＰＵ）８の指示によりほぼ常時高速サンプリングする。またマイクロプロセッサ８は、Ａ／Ｄコンバータ７の出力データを参照して必要に応じ、スイッチ２１〜２５をＯＮ／ＯＦＦして上記信号増幅部の増幅度（トランスインピーダンス値）を選定する。参照符号５は基準電圧源であり、抵抗分圧回路で代用できる。
【００１１】
上記信号増幅部は本実施例においては、５個のスイッチ２１〜２５により、８通りの等比級数増幅度（トランスインピーダンス値）を得て４１倍の離散的な可変幅を得ている。表１にスイッチ２１〜２５のＯＮ／ＯＦＦの組み合わせとそのときのトランスインピーダンス値を示す。
【表１】
0003774797.tif 000002
各増幅度の比はすべて１．７である。これで誤差は±５％以内である。
【００１２】
増幅度（トランスインピーダンス値）の設定は、基本的にはバーコード１の最初の黒バーの直前の白地部に対するＡ／Ｄコンバータ７の数値データを参照してリアルタイムに決定している。従って上記の総合３０倍程度のバーコード信号の変動幅に対して自動的に、発光素子３及び受光素子４の各バラツキのみならずバーコード１の光反射率及び使用状態による信号レベルの変動をも含めて、一括調整し１．７倍程度以下の最終変動幅に押さえている。また、マイクロプロセッサ（ＭＰＵ）８はバーコード１の白黒変化に応じた信号変化から白／黒の判別をもしているが、ここでマイクロプロセッサ８の動作シーケンス及びタイミングを含めて詳細に説明する。
【００１３】
ここではペン型のバーコードイメージ検出装置を例にとって説明する。この検出装置は、ペンをバーコードが印刷されている面に押し当ててペンスイッチ（ペン先端がバーコード面に押圧された時ＯＮするスイッチで図示せず）がＯＮすると発光素子３を点灯し、バーコード信号の増幅度を設定し（以下ゲイン調整と記す）、ペンでバーコード１をなぞるに従ってバーコードの白黒のイメージを読み取り、マイクロプロセッサ（ＭＰＵ）８によるソフトウエア処理（シーケンス制御）で０／１のデジタル信号に変換して出力するものである。その例を図２に示す。本装置はバーコードパターン２６を読み取り、ゲイン調整を行ってバーコード読み取り信号２７を得、これを信号処理してバーコードイメージ出力２８を出力する。
【００１４】
バーコードイメージ検出シーケンスはペンスイッチを押下することによって開始し、図３に示すように、ゲイン調整プロセスＳ１と白黒判別プロセスＳ２との繰り返しで構成される。ゲイン調整プロセスＳ１もしくは白黒判別プロセスＳ２においてペンスイッチがＯＦＦされると、バーコードイメージ検出シーケンスは終了する。当該シーケンスはバーコードのパターンの外側にある程度の幅の白い領域が存在することを前提としている。ペンがバーコードパターンの外側の白い領域にあるときにゲイン調整プロセスＳ１を行い、ペンがバーコードパターンの領域に入ると白黒判別プロセスＳ２を行う。白黒判別中はゲイン調整を行わない。
【００１５】
ゲイン調整プロセスＳ１を、図４を用いて説明する。プロセスは大きく２つのブロックＢ１およびＢ２に分かれている。ブロックＢ１はゲインを上げながら調整する動作であり、一方ブロックＢ２はゲインを下げながら調整する動作であって、ゲイン調整プロセスＳ１は、ペンがバーコードパターンの最初の黒い領域にかかると終了する。ゲイン調整プロセスＳ１を開始すると、まずステップＳ３においてマイクロプロセッサ（ＭＰＵ）８はスイッチ２１から２５までを表１の組み合わせに従ってＯＮもしくはＯＦＦに設定し、ゲインを既定値（例えば８通り設定できるうちの低い方から２番目）に設定する。そしてブロックＢ１に入る。
【００１６】
ブロックＢ１に入ると、最初にステップＳ４において、マイクロプロセッサ（ＭＰＵ）８はＡ／Ｄコンバータ７を操作し、設定したゲインにおけるペンの読み取り信号のＡ／Ｄ変換値を得る。読み取り信号２７は図２に示したように、黒い領域で小さく、また白い領域で大きくなる。そしてステップＳ５において信号の大小をマイクロプロセッサ（ＭＰＵ）８により下記の条件で判定する。
【式１】
ｌ＋（ｓ−ｌ）＊１．７＜ｕ
ただしｓは信号、ｌは信号の最小限界値（図２の２９）、ｕは信号の最大限界値（図２の３０）である。最小限界値２９はゲイン調整の原点となるレベルであり、また最大限界値３０は回路構成から読み取り信号がオーバフローしてしまうレベルである。従って上記の条件は、現在得られている信号に対し、ゲインを１段階上げても得られる信号の大きさが最大限界値を超えないことを表している。信号の大きさが（式１）の条件を満たさない場合は、ブロックＢ１を終了し、ブロックＢ２に移る。一方条件を満たす場合はステップＳ６へ移り、すでにゲインが最大に設定されているのでなければ、ステップＳ７においてマイクロプロセッサ（ＭＰＵ）８がスイッチ２１から２５までのＯＮおよびＯＦＦの組み合わせを設定することによってゲインを現在より１段階上げる。ゲインを上げることが可能でない場合は、ブロックＢ１を終了し、ブロックＢ２に移る。ゲインを上げた場合は、次にマイクロプロセッサ（ＭＰＵ）８はステップＳ８においてペンスイッチの状態を取得し、ペンスイッチが押下されたままであればステップＳ４へと戻ってブロックＢ１を繰り返す。一方ペンスイッチが押下されていなければゲイン調整プロセス自体を終了し、図３に従ってバーコードイメージ検出シーケンスを終了する。
【００１７】
ブロックＢ１における動作によって、ペンがバーコードの印刷されている面に対して垂直よりも傾いた角度で押し当てられた場合には得られる信号が小さくなってしまうので、ゲインを上げることによってレンジの広い読み取り信号を得ることができる。また発光素子３および受光素子４のバラツキもカバーすることができる。ブロックＢ２に入ると、まずステップＳ９において、マイクロプロセッサ（ＭＰＵ）８はＡ／Ｄコンバータ７を操作し、設定したゲインにおけるペンの読み取り信号のＡ／Ｄ変換値を得る。そしてステップＳ１０においてペンの読み取り信号の大小をマイクロプロセッサ（ＭＰＵ）８により下記の条件で判定する。
【式２】
ｓ＞ｕ
ただし（式１）同様、ｓは信号、またｕは信号の最大限界値である。信号の大きさが当該条件を満たさない場合は、ステップＳ１４へ移る。一方条件を満たす場合はステップＳ１１へ移り、すでにゲインが最小に設定されているのでなければ、ステップＳ１２においてマイクロプロセッサ（ＭＰＵ）８がスイッチ２１から２５までのＯＮおよびＯＦＦの組み合わせを設定することによってゲインを現在よりも１段階下げる。ゲインを下げることが可能でない場合はステップＳ１４へと移る。ゲインを下げた場合はマイクロプロセッサ（ＭＰＵ）８はステップＳ１３においてペンスイッチの状態を取得し、ペンスイッチが押下されたままであればステップＳ９へと戻ってブロックＢ２を繰り返す。一方ペンスイッチが押下されていなければゲイン調整プロセス自体を終了し、図３に従ってバーコードイメージ検出シーケンスを終了する。
【００１８】
ステップＳ１４においてはペンが白い領域からバーコードパターンの最初の黒いパターンにかかったことをマイクロプロセッサ（ＭＰＵ）８により判断し、もしそうであればブロックＢ２を終了し、図３における白黒判別プロセスステップＳ２へと移る。一方依然白い領域であると判断すれば、ステップＳ１３へと移る。黒いパターンにかかったかどうかの判断は、例えば、信号の最大値をマイクロプロセッサ（ＭＰＵ）８内に保持しておき（ただしゲインを変更するたびにその最大値をリセットする）、信号が最大値よりもある既定値だけ下がったら白から黒へ変化したとすることで判断することができる。ブロックＢ２における動作によって、バーコードパターンの外側の白い領域の更に外側に罫線やユーザ向けのスタートマークなどが印刷されており、ペンが当初その上に置かれて先端スイッチが押下された場合には読み取り信号が小さいためにゲインが上げられてしまい、その後ペンが白い領域に入ったときに読み取り信号が大きくなりすぎるのを防ぐことができる。
【００１９】
次に白黒判別プロセスＳ２を、図５を用いて説明する。基本的には、ある閾値（図２の３１）を設定し、読み取り信号がその閾値よりも大きければ白と判断し、小さければ黒と判断する方法である。ただし閾値３１は条件によって更新していく。白黒判別プロセスＳ２は、黒と判断してデジタル出力０を出力しているブロックＢ３と、白と判断してデジタル出力１を出力しているブロックＢ４とに分かれている。白黒判別プロセスステップＳ２は、読み取り信号の白と判断した個々の領域の最大値のうちの最小値（図２の３２）および黒と判断した個々の領域の最小値のうちの最大値（図２の３３）をマイクロプロセッサ（ＭＰＵ）８内に保持する。
【００２０】
白黒判別プロセスＳ２を開始すると、まずマイクロプロセッサ（ＭＰＵ）８はステップＳ１５において閾値３１を既定値に設定する。次にブロックＢ３に入り、ステップＳ１６でバーコードイメージ出力を０に設定する。次にステップＳ１７においてマイクロプロセッサ（ＭＰＵ）８が有する内部タイマをリセットする。これは、白もしくは黒がある一定時間以上連続したならば、ペンがバーコードのパターンから外れたものとみなし、白黒判別プロセスＳ２を終了してゲイン設定プロセスステップＳ１に戻るようにするためである。タイマリセット後マイクロプロセッサ（ＭＰＵ）８はステップＳ１８においてＡ／Ｄコンバータ７を操作し、ゲイン設定プロセスＳ１において設定したゲインにおけるペンの読み取り信号のＡ／Ｄ変換値を得る。ステップＳ１９において読み取り信号を閾値３１と比較し、信号の方が小さければステップＳ２０に移る。ステップＳ２０ではマイクロプロセッサ（ＭＰＵ）８の内部タイマが設定値を超えてタイムアウトが発生しているかどうか調べ、タイムアウトが発生していれば白黒判別プロセスを終了し、図３に従ってゲイン調整プロセスＳ１へと戻る。一方タイムアウトが発生していなければ、次にマイクロプロセッサ（ＭＰＵ）８はステップＳ２１においてペンスイッチの状態を取得し、ペンスイッチが押下されたままであればステップＳ１８へと戻って動作を繰り返す。一方すでにペンスイッチが押下されていなければ白黒判別プロセスを終了し、図３に従ってバーコードイメージ検出シーケンスを終了する。
【００２１】
ステップＳ１９における読み取り信号と閾値３１との比較で、信号が閾値３１よりも大きかった場合には、ステップＳ２２において最小値３３と閾値３１との更新を行う。白黒判別プロセスは、ブロックＢ３を実行するたびに、そのブロックＢ３内での読み取り信号の最小値を求める。また白黒判別プロセスは、その最小値と前回ブロックＢ３を実行したときまでの最小値のうちの最大値とを比較し、そのうち大きい方を最小値３３としてマイクロプロセッサ（ＭＰＵ）８内に保持する。そして、閾値３１を次のように更新する。
【式３】
ｔ＝（ｍａｘ＋ｍｉｎ）／２
ただしｔは閾値３１、ｍａｘは最大値３２、ｍｉｎは最小値３３である。
【００２２】
次にブロックＢ４に入る。ステップＳ２３でバーコードイメージ出力を１に設定し、ステップＳ２４においてマイクロプロセッサ（ＭＰＵ）８の内部タイマをリセットする。次にマイクロプロセッサ（ＭＰＵ）８はステップＳ２５においてＡ／Ｄコンバータ７を操作し、ゲイン設定プロセスＳ１において設定したゲインにおけるペンの読み取り信号のＡ／Ｄ変換値を得る。ステップＳ２６において読み取り信号を閾値３１と比較し、信号の方が大きければステップＳ２７に移り、マイクロプロセッサ（ＭＰＵ）８の内部タイマのタイムアウトが発生しているかどうか調べ、タイムアウトが発生していれば白黒判別プロセスを終了して図３に従いゲイン調整プロセスＳ１へと戻る。一方タイムアウトが発生していなければ、次にマイクロプロセッサ（ＭＰＵ）８はステップＳ２８においてペンスイッチの状態を取得し、ペンスイッチが押下されたままであればステップＳ２５に戻って動作を繰り返す。一方すでにペンスイッチが押下されていなければ白黒判別プロセスを終了し、図３に依ってバーコードイメージ検出シーケンスを終了する。
【００２３】
ステップＳ２６における読み取り信号と閾値３１との比較で、信号が閾値３１よりも小さかった場合には、ステップＳ２９において最大値３２と閾値３１との更新を行う。白黒判別プロセスは、ブロックＢ４を実行するたびにそのブロックＢ３内での読み取り信号の最大値を求める。また白黒判別プロセスは、その最大値と前回ブロックＢ４を実行したときまでの最大値のうちの最小値とを比較し、そのうち小さい方を最大値３２としてマイクロプロセッサ（ＭＰＵ）８内に保持する。そして、閾値３１を（式３）に従って更新する。以上を終了すると、ブロックＢ３へと戻って白黒判別を続行する。
【００２４】
以上の回路構成及び信号処理シーケンスは、ペン型バーコード検出装置のみならずＣＣＤラインセンサを使用したものまたは振動ミラー型バーコードイメージ検出装置にも容易に使用可能である。
【００２５】
【発明の効果】
装置製造時に無調整であり、発光素子の経年劣化をも自動調整作用でその影響を除去しており、装置の信頼性が向上した。更にバーコード面に対して本装置を傾けて使用しても、また光学的焦点からバーコードが少し離れても、マイクロプロセッサのシーケンス制御によりきめ細かい信号処理が出来たため、従来に比しバーコードの正常読み取り率が向上した。
【図面の簡単な説明】
【図１】  電気的構成概要図
【図２】  バーコードパターンと読み取り信号図
【図３】  全体のフローチャート
【図４】  ゲイン調整部フローチャート
【図５】  白／黒判別部フローチャート
【符号の説明】
１  バーコード
２  定電流源
３  発光素子
４  受光素子
５  基準電圧源
６  演算増幅器
７  Ａ／Ｄコンバータ
８  マイクロプロセッサ
９  電源電圧
１０  抵抗
１１  抵抗
１２  抵抗
１３  抵抗
１４  抵抗
１５  抵抗
２１  スイッチ
２２  スイッチ
２３  スイッチ
２４  スイッチ
２５  スイッチ
２６  バーコードパターン
２７  バーコード読み取り信号
２８  バーコードイメージ出力
２９  最小限界値
３０  最大限界値
３１  閾値
【図１】
0003774797.tif 000003
【図２】
0003774797.tif 000004
【図３】
0003774797.tif 000005
【図４】
0003774797.tif 000006
【図５】
0003774797.tif 000007