(57)【要約】【課題】  光学的な焦点位置が基準に対してずれが生じたとしても、境界位置を略正確に検出することができるようにする。【解決手段】  制御回路は、輝度レベルについて、ある極大値Ｐａ１および極小値Ｐｂ１を算出して境界位置想定範囲Ｈを設定する。そして、この境界位置想定範囲Ｈの前後について極値Ｐａ２，Ｐｂ２を算出した後、この極値Ｐａ２およびＰｂ２と極大値Ｐａ１および極小値Ｐｂ１のそれぞれの差を算出することで境界位置想定範囲Ｈの前後についてそれぞれ局部振幅ａ１，ｂ１を算出する。そして前方および後方の局部振幅ａ１，ｂ１の比によって分割した位置を境界位置Ｃとして特定する。【選択図】  図１
2005202760.tif 000002
【特許請求の範囲】
【請求項１】
明パターンおよび暗パターンを複数組合わせた明暗パターンからなる情報コードを読取るために、前記明パターンから暗パターンもしくは前記暗パターンから明パターンへの境界位置を特定する光学的情報読取装置の境界位置特定方法において、
前記情報コードを介して光を受光し光電変換して時間的に変化する輝度レベルにする受光過程と、
前記輝度レベルについて連続する一の極大値および一の極小値を検出し、その間を境界位置想定範囲として設定する境界位置想定範囲設定過程と、
前記境界位置想定範囲の前後方における輝度レベルについて境界位置特定用の対象範囲を設定する対象範囲設定過程と、
この輝度レベルの対象範囲内における境界位置想定範囲の前後方の少なくともそれぞれ一つ以上の前方極値および後方極値を境界位置特定用に設定する極値設定過程と、
この極値設定過程で設定された前方極値および後方極値，並びに前記一の極大値および一の極小値について、連続する極値間の差を前記境界位置想定範囲の前後でそれぞれ局部振幅として算出する算出過程と、
前記算出過程で算出された境界位置想定範囲の前後の局部振幅の比によって当該境界位置想定範囲を分割した位置を境界位置として特定する境界位置特定過程とを備えたことを特徴とする光学的情報読取装置の境界位置特定方法。
【請求項２】
前記算出過程では、
前記境界位置想定範囲の前後において当該境界位置想定範囲に近接した側から局部振幅を算出することを特徴とする請求項１記載の光学的情報読取装置の境界位置特定方法。
【請求項３】
前記算出過程では、
前記境界位置想定範囲の前後において当該境界位置想定範囲に近接した側からそれぞれ複数の局部振幅を算出し、
前記境界位置特定過程では、
前記算出過程で算出された前および後における複数の局部振幅のそれぞれの平均値の比によって当該境界位置想定範囲を分割した位置を境界位置として特定することを特徴とする請求項１または２記載の光学的情報読取装置の境界位置特定方法。
【請求項４】
焦点位置ずれの有無を判定する焦点位置ずれ有無判定過程を備え、
この過程により焦点位置ずれ有りと判定されたことを条件として請求項１ないし３の何れかに記載の境界位置特定方法を行うことを特徴とする光学的情報読取装置の境界位置特定方法。
【請求項５】
前記受光過程の輝度レベルについて１次微分値を算出する１次微分算出過程を備え、
前記焦点位置ずれ有無判定過程では、
前記１次微分算出過程で算出された１次微分値の最大値が第１の所定値以下、または１次微分値の最小値が第２の所定値以上であることを条件として焦点位置ずれ有りと判定することを特徴とする請求項４記載の光学的情報読取装置の境界位置特定方法。
【請求項６】
前記受光過程の輝度レベルについて２次微分値を算出する２次微分算出過程を備え、
前記焦点位置ずれ有無判定過程では、
前記２次微分算出過程で算出された２次微分値がゼロクロスする個数が所定個数以上あることを条件として焦点位置ずれ有りと判定することを特徴とする請求項４または５記載の光学的情報読取装置の境界位置特定方法。
【請求項７】
前記受光過程の輝度レベルに基づいて焦点位置ずれの程度を判定する焦点ずれ程度判定過程と、
前記焦点ずれ程度判定過程で判定された焦点位置ずれの程度に応じて、前記境界位置想定範囲の前後方における輝度レベルについて境界位置特定用の対象範囲を設定する第２の輝度レベル対象範囲設定過程とを備えたことを特徴とする請求項１ないし６の何れかに記載の光学的情報読取装置の境界位置特定方法。
【請求項８】
前記第２の輝度レベル対象範囲設定過程では、
前記焦点ずれ程度判定過程において焦点位置ずれの程度が大きいと判定された場合には、前記輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なくし、
前記焦点ずれ程度判定過程において焦点位置ずれの程度が小さいと判定された場合には、前記輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多くするようにしたことを特徴とする請求項７記載の光学的情報読取装置の境界位置特定方法。
【請求項９】
前記第２の輝度レベル対象範囲設定過程では、
前記境界位置想定範囲の境界位置特定用の対象範囲について前後それぞれ局部振幅の平均値を算出し、
これら前側および後側の局部振幅の平均値の差が第３の所定値以上である場合には、前記輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なく設定し、当該前後の平均値の差が第３の所定値未満である場合には、前記輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多く設定することを特徴とする請求項７または８記載の光学的情報読取装置の境界位置特定方法。
【請求項１０】
前記第２の輝度レベル対象範囲設定過程では、
前記境界位置想定範囲の前後について局部振幅の最大値および最小値を算出し、この局部振幅の最大値および最小値の差が第４の所定値以上である場合には、前記輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なく設定し、局部振幅の最大値および最小値の差が第４の所定値未満である場合には、前記輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多くするようにしたことを特徴とする請求項７ないし９の何れかに光学的情報読取装置の境界位置特定方法。
【請求項１１】
前記受光過程では、情報コードを介して光学的センサにより受光し光電変換することにより得られるアナログ信号をアナログデジタル変換して輝度レベルとすることを特徴とする請求項１ないし１０の何れかに記載の光学的情報読取装置の境界位置特定方法。
【請求項１２】
前記情報コードは、１次元コードもしくは２次元コードであることを特徴とする請求項１ないし１１の何れかに記載の光学的情報読取装置の境界位置特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる幅の明パターンおよび暗パターンを複数組み合わせた明暗パターンからなる光学的情報を読取るために明パターンおよび暗パターン間の境界位置を特定する光学的情報読取装置の境界位置特定方法に関する。
【背景技術】
【０００２】
この種の光学的情報読取装置においては、１次元コードもしくは２次元コード等の情報コードに含まれる情報を読取るため、情報コードを構成する明パターンおよび暗パターンの幅を検出している。これら明パターンや暗パターンの幅を検出することにより略正確に情報コードを読取，解読することができる。このように境界位置を特定するための方法として、例えば特許文献１に示す方法がある。この方法によれば、アナログバーコード信号の１次微分値、２次微分値を算出することによりバーコードの明パターンおよび暗パターン間の境界位置を特定することができる。他にも本発明には直接関連しないが、特許文献２に示す文献も公知である。
【特許文献１】特開２００１−３５７３４７号公報
【特許文献２】特開２０００−１８９２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
光学的な焦点位置ずれが所定の基準範囲であれば、１次微分値や２次微分値を検出することにより境界位置を略正確に特定することができるが（図９（ａ）参照）、光学的な焦点位置が基準よりずれてしまうと所謂ピンボケを生じ、図９（ｂ）に示すように、センサ画素間の１次微分値の最大値および最小値間の差がほとんどない状態になり、２次微分値にゼロクロス点が実際の明暗パターンよりも多数検出され、境界位置を特定することができない。
【０００４】
さらに、このような光学的情報読取装置において、特に、読取対象との距離が焦点位置より近い位置に調整された場合には、例えばバーコードを構成するスペース（明パターン）もしくはバー（暗パターン）に割り当てられる光学的センサの画素数が多くなり、これに伴い１次微分値の変化量の差がなくなる。したがって、ゼロクロス点を正確に検出できなくなり、境界位置を特定することができない。しかも、ノイズ等の影響によりゼロクロス点の位置が大きく変化してしまうこともある。
【０００５】
本発明は、上記事情に鑑みてなされたもので、その目的は、光学的な焦点位置が基準に対してずれが生じたとしても、境界位置を略正確に検出することができるようにした光学的情報読取装置の境界位置特定方法を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の発明によれば、境界位置想定範囲設定過程において輝度レベルについて連続する一の極大値および一の極小値を検出し、その間を境界位置想定範囲として設定し、対象範囲設定過程において境界位置想定範囲の前後方における輝度レベルについて境界位置特定用の対象範囲を設定し、極値設定過程において輝度レベルの対象範囲内における境界位置想定範囲の前後方の少なくともそれぞれ一つ以上の前方極値および後方極値を境界位置特定用に設定し、算出過程において極値設定過程で設定された前方極値および後方極値，並びに一の極大値および一の極小値について、連続する極値間の差を境界位置想定範囲の前後でそれぞれ局部振幅として算出し、境界位置特定過程において算出過程で算出された境界位置想定範囲の前後の局部振幅の比によって境界位置想定範囲を分割した位置を境界位置として特定するため、境界位置を特定する際に光学的な焦点位置が基準に対してずれが生じたとしても、境界位置を略正確に検出することができる。
【０００７】
請求項２記載の発明によれば、算出過程では、境界位置想定範囲の前後において境界位置想定範囲に近接した側から局部振幅を算出するため、境界位置に関連の深い局部振幅を算出してこの局部振幅に基づいて境界位置を特定するため、より高精度に境界位置を検出することができる。
請求項３記載の発明によれば、算出過程では、境界位置想定範囲の前後において当該境界位置想定範囲に近接した側からそれぞれ複数の局部振幅を算出し、境界位置特定過程では、算出過程で算出された前および後における複数の局部振幅のそれぞれの平均値の比によって当該境界位置想定範囲を分割した位置を境界位置として特定するため、境界位置の特定に関連の深い広範囲の局部振幅を用いて境界位置を特定することができ、さらに高精度に境界位置を検出することができる。
【０００８】
請求項４記載の発明によれば、焦点位置ずれ有無判定過程では焦点位置ずれの有無を判定し、この焦点位置ずれ有りと判定されたことを条件として前述発明を行うようにするため、境界位置を効率的に特定できるようになる。
請求項５記載の発明によれば、１次微分算出過程において受光過程の輝度レベルについて１次微分値を算出し、焦点位置ずれ有無判定過程において１次微分算出過程で算出された１次微分値の最大値が第１の所定値以下、または１次微分値の最小値が第２の所定値以上であることを条件として焦点位置ずれ有りと判定するため、焦点位置ずれが有るか否かの判定を容易に行うことができる。
【０００９】
請求項６記載の発明によれば、２次微分算出過程において受光過程の輝度レベルについて２次微分値を算出し、焦点位置ずれ有無判定過程では、２次微分算出過程で算出された２次微分値がゼロクロスする個数が所定個数以上あることを条件として焦点位置ずれ有りと判定するため、焦点位置ずれの有無の判定を容易に行うことができる。
請求項７記載の発明によれば、焦点ずれ程度判定過程において受光過程の輝度レベルに基づいて焦点位置ずれの程度を判定し、第２の輝度レベル対象範囲設定過程では、焦点ずれ程度判定過程で判定された焦点位置ずれの程度に応じて、境界位置想定範囲の前後方における輝度レベルについて境界位置特定用の対象範囲を設定するため、焦点位置ずれに応じて境界位置特定用の局部振幅の輝度レベルの対象範囲を設定できるようになる。
【００１０】
請求項８記載の発明によれば、第２の輝度レベル対象範囲設定過程では、焦点ずれ程度判定過程において焦点位置ずれの程度が大きいと判定された場合には、輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なくし、焦点ずれ程度判定過程において焦点位置ずれの程度が小さいと判定された場合には、輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多くするようにしているため、焦点位置ずれの大小に応じて境界位置特定用の局部振幅の輝度レベルの対象範囲を設定できるようになる。
【００１１】
請求項９記載の発明によれば、第２の輝度レベル対象範囲設定過程では、境界位置想定範囲の境界位置特定用の対象範囲について前後それぞれ局部振幅の平均値を算出し、これら前側および後側の局部振幅の平均値の差が第３の所定値以上である場合には、輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なく設定し、当該前後の平均値の差が第３の所定値未満である場合には、輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多く設定するため、前側および後側の局部振幅の平均値の差に応じて境界位置特定対象となる局部振幅の数を設定できるようになる。
【００１２】
請求項１０記載の発明によれば、第２の輝度レベル対象範囲設定過程では、境界位置想定範囲の前後について局部振幅の最大値および最小値を算出し、この局部振幅の最大値および最小値の差が第４の所定値以上である場合には、輝度レベルの対象範囲を狭く設定することで境界位置特定対象として求められる局部振幅の数を少なく設定し、局部振幅の最大値および最小値の差が第４の所定値未満である場合には、輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多くするようにしたため、境界位置想定範囲の前後における局部振幅の最大値および最小値の差が第４の所定値未満である場合には、輝度レベルの対象範囲を広く設定することで境界位置特定対象として求められる局部振幅の数を多くするようにしたため、境界位置想定範囲の前後の局部振幅の最大値および最小値の差に応じて境界位置特定対象となる局部振幅の数を設定できるようになる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下、本発明の第１の実施形態について図１ないし図７を参照しながら説明する。
図２（ａ）には、光学的情報読取装置１の概略的な電気的構成ブロック図を示している。この光学的情報読取装置１は、スーパーのレジ等のＰＯＳシステムに使用されているものはハンディターミナルとも称されており、バーコード等の１次元コードやＱＲコード等の２次元コードを光学的に読取るように構成されている。図２（ｂ）および図２（ｃ）には、１次元コードや２次元コードの一例を示している。図２（ｂ）には、バーコードＢ、図２（ｃ）にはＱＲコードを示しており、これらは情報コードＢとも称される。例えば図２（ｂ）に示すバーコードの場合には、白色の比較的明るい矩形状のスペースＢ１（明パターンに相当）や、黒色の比較的暗い矩形状のバーＢ２（暗パターンに相当）が、直線状に組み合わされることにより情報コードＢとして構成される。尚、図２（ｃ）に示すＱＲコード等の２次元コードの場合には矩形状の白セルＢ１（明パターンに相当）および黒セルＢ２（暗パターンに相当）がマトリクス状に組み合わされる。
【００１４】
このような情報コードＢを光学的に読み取るための光学的情報読取装置１の電気的構成を概略的に示す図２（ａ）において、光学的情報読取装置１は、制御回路２を主体として構成されている。この制御回路２には、メモリ３、操作部４、表示部５、外部インタフェイス部６が接続されている。この光学的情報読取装置１は、内蔵された電源回路７から電源供給されることにより動作するようになっている。例えばハンディタイプの光学的情報読取装置１の場合には、電池が内蔵されており当該電源回路７を通じて電源電圧が全体に供給される。
【００１５】
また、制御回路２には、照明駆動回路８を介して赤色発光ダイオードからなる照射部９が接続されている。制御回路２は、操作部４に設けられたトリガスイッチが操作されると、照明駆動回路８を介して照射部９から読取対象Ａに向けて照射制御する。この読取対象Ａに１次元コードや２次元コード等の情報コードＢが印刷されている場合には、読取対象Ａに照射された光は、この情報コードＢの明暗パターンに反射し、光が結像手段１０を介して光学的センサ１１により受光される。
【００１６】
結像手段１０は、例えばレンズにより構成されており、照射部９から読取対象Ａに照射され反射した光を光学的センサ１１に結像させる。光学的センサ１１は、例えばエリアセンサとも称され、例えばＣＣＤ等の受光素子が二次元平面状に配列されて構成されており、センサ駆動回路１３を介して制御回路２が行う制御に基づいて読取対象Ａに反射した反射光を受光素子の画素毎に光電変換し、そのシリアル画素信号を波形整形部１２に与えるようになっている。この波形整形部１２は、光学的センサ１１により光電変換されたアナログ信号を増幅しアナログデジタル変換することで輝度レベルとし、必要に応じてローパスフィルタ処理がなされ、制御回路２が行うメモリ制御によりメモリ３に記憶される。
【００１７】
外部インタフェイス部６は、制御回路２と外部装置（図示せず）との間でデータを入出力するようになっている。制御回路２は、例えばマイクロコンピュータにより構成されており、制御用プログラムに基づいてこのような構成を有する読取装置本体１の全体を制御するようになっている。
【００１８】
上記構成の作用について、図１ないし図７を参照しながら説明する。本作用説明においては、情報コードＢとしてバーコードに適用した実施形態を示す。
上記構成における光学的情報読取装置１においては、スペースＢ１およびバーＢ２を複数組み合わせたバーコードＢを読取る場合、制御回路２は、読取対象Ａを一次元的に走査して光学的センサ１１による受光信号を取込み、前述したように波形整形部１２によりＡ／Ｄ変換された輝度レベルをメモリ３に順次記憶させる。
図１は、メモリに記憶された輝度レベルの一例を、読取対象Ａに印刷されたバーコードＢに対応するように示している。異なる幅のスペースＢ１およびバーＢ２が組み合わされたバーコードＢにおいては、スペースＢ１部分では比較的輝度レベルが高くバーＢ２部分では比較的輝度レベルが低い。
【００１９】
さて、前記従来構成において実験が行われた結果、光学的に焦点位置ずれの程度が小さく光学的なピンボケが生じていない場合には２次微分値のゼロクロス点はスペースＢ１およびバーＢ２間の境界位置に略一致するが、逆に、焦点位置ずれの程度が大きく光学的なピンボケが生じている場合には、波形が直線的に緩やかになり、特に輝度レベルの２次微分値が、輝度レベルを検出する際に必然的に生じるノイズに埋もれてしまうことがあるためゼロクロス点が多く生じてしまい、ゼロクロス点を検出したとしても境界位置を定めることができないことが判っている（図９（ｂ）参照）。
【００２０】
そこで、制御回路２では、図３ないし図５のフローチャートに示す処理を行うことにより境界位置を特定する。すなわち、制御回路２は、メモリ３に記憶された輝度レベルを読み出し、まずこの輝度レベルについて１次微分値を算出する処理を行い（ステップＳ１）、続いて２次微分値を算出する処理を行う（ステップＳ２）。そして、制御回路２は、１走査毎に１次微分値を使用して極値（極大値および極小値）を検出する（ステップＳ３）。この後、制御回路２は、この検出された極値のうち連続する一の極大値および一の極小値を順次前方から選択し、この一の極大値および一の極小値間を境界位置想定範囲Ｈとして設定する（ステップＳ４）。
【００２１】
本実施形態では本発明の要点を示すため、図１において、連続した一の極大値および一の極小値として、極大値Ｐａ１および極小値Ｐｂ１を選択設定したときの実施形態について説明を行う。このとき、一の極大値Ｐａ１から一の極小値Ｐｂ１に至る間には、スペースＢ１からバーＢ２への境界位置が必ず存在する（境界位置想定範囲Ｈ参照）。この後制御回路２は、焦点位置ずれの有無の判定処理を行う（ステップＳ５）。
【００２２】
図４は、制御回路が行う焦点位置ずれの有無の判定処理動作をフローチャートで示している。この図４において、制御回路２は、境界位置想定範囲Ｈ内における各輝度レベルの１次微分値の最大値が第１の所定値以下であるか、もしくは、１次微分値の最小値が第２の所定値以上であるかを判定する（ステップＴ１）。尚、第１の所定値は、第２の所定値と異なる値で設定されており、第２の所定値よりも大きく設定されている。このとき、このステップＴ１の条件を満たしていれば焦点位置ずれ有りと判定する。これは、画素信号の輝度レベルがバーＢ２（暗パターン）からスペースＢ１（明パターン）に遷移する際には輝度レベルの上昇度が最大となるが、焦点位置ずれが有る場合には、この境界位置付近でピンボケの影響により上昇度が少なくなり、１次微分値の最大値が第１の所定値を超える値とはならないためである。また、スペースＢ１からバーＢ２に遷移する際にも輝度レベルの下降度が最小値となるが、前述同様に、１次微分値の最小値が第２の所定値を下回る値にならない。すなわち、必要に応じてステップＴ１の条件を焦点位置ずれ有無の判定条件に加えることにより、焦点ずれの有無を効率良く判定することができる。
【００２３】
さらに、制御回路２は、境界位置想定範囲Ｈ内における各輝度レベルの２次微分値のゼロクロス点の個数が所定個数以上であるか否かを判定する（ステップＴ２）。すなわち、輝度レベルがノイズに埋もれた場合や、ピンボケにより画素信号波形が直線的となりＡ／Ｄ変換時の分解能やノイズ等により２次微分値のゼロクロス点が多数存在する場合を考慮し、境界位置を２次微分値により判定することが困難であることが想定される場合には、２次微分値のゼロクロス点が所定個数以上検出されたか否かをステップＴ２の判定条件を加えるようにしても良い。このステップＴ２を判定条件に加えることにより、焦点位置ずれの有無を効率良く判定することができる。
【００２４】
制御回路２は、これらのステップＴ１〜Ｔ２の判定条件の何れかを満たした場合に、焦点位置ずれが有りと判定し（ステップＴ３）、共に満たさなければ焦点位置ずれ無しと判定する（ステップＴ４）。このとき図３に戻って、制御回路２は、焦点位置ずれ無しと判定した場合には（ステップＳ５：ＮＯ）、背景技術に示されるように例えば１次微分値および２次微分値を使用して２値化処理を行う（ステップＳ６）が、焦点位置ずれ有りと判定した場合には、図５（ａ）に示す焦点位置ずれ程度判定処理を行う。尚、本実施形態では図５（ａ）に示す制御を行うようにするが、これに代えて制御回路２が焦点位置ずれ無しと判定した場合にも、必要に応じて以下に示す処理を行うようにしても良い。
【００２５】
まず、初期の輝度レベルの境界位置特定用の対象範囲Ｈ１，Ｈ２を設定する（ステップＵ１：対象範囲設定過程）。輝度レベルの境界位置特定用の対象範囲Ｈ１，Ｈ２を設定する理由は、特に境界位置想定範囲Ｈの前方および後方に近接した輝度レベルが境界位置の特定条件に影響しているためである。すなわち制御回路２は、境界位置想定範囲Ｈの前後方における予め定められた位置特定用の初期対象範囲Ｈ１，Ｈ２を設定する。
【００２６】
この後、制御回路２は、この輝度レベルの初期対象範囲Ｈ１，Ｈ２内における境界位置想定範囲Ｈの前後の前方極値Ｐａ２，Ｐａ３および後方極値Ｐｂ２，Ｐｂ３を算出し（ステップＵ２）、境界位置特定用に設定する（極値設定過程）。このとき、図１において、前方極値Ｐａ２〜Ｐａ３，後方極値Ｐｂ２〜Ｐｂ３が算出されたとして以下説明を行う。
その後、制御回路２は、初期対象範囲Ｈ１，Ｈ２内における局部振幅ａ１〜ａ２，ｂ１〜ｂ２を算出する。この局部振幅ａ１〜ａ２，ｂ１〜ｂ２は、一の極大値Ｐａ１および一の極小値Ｐｂ１と共に前方極値Ｐａ２〜Ｐａ３，後方極値Ｐｂ２〜Ｐｂ３について、連続する極値間の差の絶対値を振幅として表すものであり、図１では、境界位置想定範囲Ｈの前側の局部振幅ａ１＝｜Ｐａ１−Ｐａ２｜，ａ２＝｜Ｐａ２−Ｐａ３｜を示しており、境界位置想定範囲Ｈの後側の局部振幅ｂ１＝｜Ｐｂ１−Ｐｂ２｜，ｂ２＝｜Ｐｂ２−Ｐｂ３｜を示しており、制御回路２は、この局部振幅ａ１〜ａ２，ｂ１〜ｂ２を算出する。尚「｜」は絶対値の記号を示す。
【００２７】
この後、制御回路２は、図５（ｂ）に示す輝度レベルの初期対象範囲Ｈ１，Ｈ２の局部振幅ａ１〜ａ２，ｂ１〜ｂ２のばらつき判定処理を行う。尚、この判定処理は必要に応じて設ければよい。この局部振幅のばらつき判定として前方と後方の局部振幅の差による判定方法や、後述する実施形態に記載する最大値および最小値の差による判定方法があるが、後者についての説明は後述説明し、ここでは前者について説明を行う。
＜前方および後方の局部振幅の差による判定方法＞
以下、前方および後方の局部振幅の差によるばらつき判定方法を説明する。境界位置想定範囲Ｈの前側の複数の局部振幅ａ１〜ａ２，および後側の複数の局部振幅ｂ１〜ｂ２について、それぞれ平均値を算出する（ステップＶ１）。すなわち、（ａ１＋ａ２）÷２，（ｂ１＋ｂ２）÷２を算出する。尚、この複数の局部振幅の平均値については必要に応じて重み付けを行っても良いし、初期の輝度レベル対象範囲が前後それぞれ１つの値しか得られない場合には、平均処理を省略するようにしても良い。
【００２８】
そして、この境界位置想定範囲Ｈの前後における局部振幅の平均値の差が第３の所定値以上となる（図５（ｂ）のステップＶ２でＹＥＳ）ことを条件として、ばらつきが大きいと判定し（ステップＶ３）、境界位置特定用の輝度レベルの対象範囲を狭く設定する（図５（ａ）のステップＵ５〜Ｕ６）ことで、境界位置特定対象とされる局部振幅の数を少なくする。すなわち、図１において、極値Ｐａ３，Ｐｂ３を除くように輝度レベルの対象範囲Ｈ１，Ｈ２を狭く設定する。このようにすることで、焦点位置ずれの程度判定処理終了後に後述する図３のステップＳ８〜Ｓ９で境界位置特定する際に対象とされる局部振幅を例えばａ１＝｜Ｐａ１−Ｐａ２｜、ｂ１＝｜Ｐｂ１−Ｐｂ２｜のみとして、対象とされる局部振幅の数をそれぞれ例えば１とする。
【００２９】
逆に、境界位置想定範囲Ｈ前後における局部振幅の平均値の差が第３の所定値以上となる（図５（ｂ）のステップＶ２でＮＯ）ことを条件としてばらつきが小さいと判定し（ステップＶ４）、境界位置特定用の輝度レベルの対象範囲Ｈ１，Ｈ２を広く設定する（図５（ａ）のステップＵ７）ことで、境界位置特定対象とされる局部振幅の数を多く設定する。すなわち、図１において、輝度レベルの対象範囲Ｈ１，Ｈ２を広く設定することで極値Ｐａ４，Ｐｂ４を加えるようにする。このようにすることで、焦点位置ずれの程度判定処理後に後述する図３のステップＳ８〜Ｓ９で境界位置特定する際に対象とされる局部振幅を、例えばａ１〜ａ２，ｂ１〜ｂ２と共に、ａ３＝｜Ｐａ３−Ｐａ４｜，ｂ３＝｜Ｐｂ３−Ｐｂ４｜を加えて、対象とされる境界位置想定範囲Ｈ前後の局部振幅の数をそれぞれ複数（例えば３）とする。
【００３０】
この後、図３に示すように、制御回路２は、境界位置想定範囲Ｈ前後の対象とされた局部振幅を算出する（ステップＳ８）。この場合、制御回路２は、境界位置想定範囲Ｈの前後方の局部振幅として、境界位置想定範囲Ｈに近接したそれぞれ１つの局部振幅ａ１，ｂ１が設定された場合には、この前方および後方の局部振幅の比によって境界位置想定範囲Ｈを分割した位置を境界位置として特定する（ステップＳ９）。すなわち、制御回路２は、｜Ｐａ１−Ｃｐ｜：｜Ｃｐ−Ｐｂ１｜＝ａ１：ｂ１の関係を満たすＣｐの値を算出すると共に、境界位置想定範囲Ｈ内でＣｐに近い値を得るような輝度レベルを探索し、このＣｐに近い値をとりえる輝度レベルの位置を境界位置Ｃとして特定する。この原理を図６に示している。境界位置Ｃは、境涯位置想定範囲Ｈの前方および後方の局部振幅をａ１：ｂ１に配分した輝度レベルの位置であることを示している。尚、この図６は、原理説明するための図であり、図１とは振幅の向きが異なることに注意する必要がある。
【００３１】
図３のステップＳ８において、制御回路２が境界位置想定範囲Ｈの前後方の局部振幅として、境界位置想定範囲Ｈに近接したそれぞれ複数の局部振幅ａ１〜ａ３，ｂ１〜ｂ３が設定された場合には、境界位置想定範囲Ｈに近接したこれらの局部振幅ａ１〜ａ３の平均値および局部振幅ｂ１〜ｂ３の平均値の比によって境界位置想定範囲Ｈを分割した位置を境界位置として特定する（ステップＳ９）。
【００３２】
すなわち、制御回路２は、図３のステップＳ８〜Ｓ９において、｜Ｐａ１−Ｃｐ｜：｜Ｃｐ−Ｐｂ１｜＝（ａ１＋ａ２＋ａ３）÷３：（ｂ１＋ｂ２＋ｂ３）÷３の関係を満たすＣｐの値を算出すると共に、境界位置想定範囲Ｈ内でＣｐに近い値を得るような輝度レベルを探索し、このＣｐに近い値をとりえる輝度レベルの位置を境界位置Ｃとして特定する。
【００３３】
このようにして、境界位置Ｃを特定した後、この境界位置Ｃを基準として前方側および後方側についてバーＢ２およびスペースＢ１であることを割り当てるように２値化処理を行い（ステップＳ１０）、この結果をメモリ３に記憶させる。そして、制御回路２は、全体の２値化が終了するまで、ステップＳ４に戻り、バーコードＢの２値化処理を全ての境界位置想定範囲Ｈについて行い、この２値化処理を全ての境界位置想定範囲Ｈで終了すれば（ステップＳ１１：ＹＥＳ）、この２値化処理された信号に基づいて解読処理を行い（ステップＳ１２）、解読処理を終了する。
【００３４】
このとき２値化処理して得られた実験結果を図７に示している。従来技術等を用いて、２次微分値や１次微分値を使用して得られた２値化結果（従来方式による２値化結果参照）に比較して、対応する情報コードＢの明暗パターンに略一致するように良好な結果（本実施形態による２値化結果参照）を得ることができる。尚、図７に示す本実施形態による２値化結果は、境界位置想定範囲Ｈの前後それぞれ１つの局部振幅Ｐａ２，Ｐｂ２を算出し、｜Ｐａ１−Ｃｐ｜：｜Ｃｐ−Ｐｂ１｜＝ａ１：ｂ１の関係を満たすＣｐの値を算出し境界位置Ｃの位置を特定した実験結果を示している。
【００３５】
このような実施形態によれば、バーコードＢに反射した反射光を光学的センサ１１で光電変換し、このシリアル信号をＡ／Ｄ変換することで輝度レベルとし、この輝度レベルについてある極大値Ｐａ１および極小値Ｐｂ１を算出して境界位置想定範囲Ｈを設定し、この境界位置想定範囲Ｈの前後についてそれぞれ１つ以上の極値Ｐａ２〜Ｐａｎ，Ｐｂ２〜Ｐｂｎ（ｎは正の整数）を境界位置算出用に設定し、境界位置想定範囲Ｈの前後についてそれぞれ局部振幅ａ１〜ａｍ，ｂ１〜ｂｍ（ｍは正の整数）として算出し、前方および後方の局部振幅の平均値の比によって分割した位置を境界位置として特定するため、たとえ取り込まれた画像の焦点位置がずれていたとしても、境界位置を略正確に検出することができ、バーコードの読取精度を向上できるようになる。
【００３６】
（第２の実施形態）
図８は、第２の実施形態の説明を示すもので、第１の実施形態と異なるところは、局部振幅のばらつき判定処理にあると共に、境界位置特定対象となる輝度レベルの対象範囲すなわち境界位置特定対象となる局部振幅の数の設定方法にある。以下、第１の実施形態と異なる部分について説明し、その他の説明については説明を省略する。
【００３７】
すなわち、図８において、制御回路２は、前側および後側について算出された初期対象範囲Ｈ１，Ｈ２の局部振幅の最大値と最小値を算出する（ステップＷ１）。すなわち、図１において、初期対象範囲Ｈ１，Ｈ２の中のｂ２＝｜Ｐｂ２−Ｐｂ３｜とａ２＝｜Ｐａ２−Ｐａ３｜をそれぞれ最大値と最小値として算出する。
制御回路２は、この最大値と最小値の差が第４の所定値以上である場合に（ステップＷ２：ＹＥＳ）、ばらつきが大きいと判定し（ステップＷ３）、境界位置特定対象となる輝度レベルの対象範囲を狭く設定する（図５（ａ）のステップＵ６）ことで、境界位置特定対象の局部振幅の数を少なく設定する。逆に、ステップＷ２の条件を満たさない場合には、ばらつきが小さいと判定し（ステップＷ４）、境界位置特定対象となる輝度レベルの対象範囲を広く設定する（図５（ａ）のステップＵ７）ことで、境界位置特定対象の局部振幅の数を多くする。したがって、第１の実施形態と略同様の作用効果を得ることができる。
【００３８】
（他の実施形態）
本発明は、上記実施形態に限定されるものではなく、例えば、以下のような変形もしくは拡張が可能である。バーコードを１次元的に走査して読み取る実施形態を示したが、ＱＲコードを読み取るようにしても良い。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１の実施形態を示す明暗パターンおよび輝度レベルの対応図
【図２】（ａ）は電気的構成を示すブロック図、（ｂ）は一次元コードの一例を示す図、（ｃ）は二次元コードの一例を示す図
【図３】情報コードの解読処理を示すフローチャート（その１）
【図４】情報コードの解読処理を示すフローチャート（その２）
【図５】（ａ）（ｂ）は情報コードの解読処理を示すフローチャート（その３，その４）
【図６】境界位置の特定原理を示す説明図
【図７】実験結果を比較する図
【図８】本発明の第２の実施形態を示す図５（ｂ）相当図
【図９】（ａ）（ｂ）は従来例の説明図
【符号の説明】
【００４０】
図面中、１は光学的情報読取装置、２は制御回路を示す。
【図１】
2005202760.tif 000003
【図２】
2005202760.tif 000004
【図３】
2005202760.tif 000005
【図４】
2005202760.tif 000006
【図５】
2005202760.tif 000007
【図６】
2005202760.tif 000008
【図７】
2005202760.tif 000009
【図８】
2005202760.tif 000010
【図９】
2005202760.tif 000011