(57)【特許請求の範囲】
【請求項１】
複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、
バーコードからの反射光を前記受光センサで結像させる結像レンズと、
前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、
前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、
前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、
を備え、
前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、
前記波形合成手段は、
合成元の波形データの全ての位置の前記反射レベルデータについて、合成しようとする前記波形データの全ての位置の前記反射レベルデータとの差分の絶対値を求め、
それら差分の絶対値に基づいて、前記合成元の波形データの各位置に対応する位置を、合成しようとする前記波形データの中から検出し、
且つ前記合成元の波形データの各位置の前記反射レベルデータと、合成しようとする前記波形データにおける当該各位置に対応する前記反射レベルデータと、の平均値をそれぞれ算出し、それら平均値を、新たな合成元の波形データの各位置における新たな前記反射レベルデータとする処理方法を用い、
当該処理方法により、前記合成元の波形データに対して残余の前記波形データを順次合成することで前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする光学的情報読取装置。
【請求項２】
前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、
前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記波形データが、いずれか１又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、
前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする請求項１又は請求項２に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【０００２】
バーコードリーダの分野では、利便性などの理由から、より遠方のバーコードを読み取り得る構成が望まれており、特許文献１では、遠方に配されたバーコードを読み取る際の問題を解決し、遠方のバーコードを良好に読み取ろうとする技術が開示されている。
【特許文献１】特開平８−３２０９０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
バーコードが遠方となるにつれ受光センサ（例えばＣＣＤセンサ）上で結像されるバーコード像は小さくなるため、各バーに対する受光素子の割り当て数（即ち画素の割り当てすうが）が少なくなってしまう。このように各バーに対する受光素子の割り当て数が少なくなると、バーコード像を正確に反映した画像データを得にくくなり、結果として読み取りの精度が低下してしまうという問題がある。このような問題の対処策としては、センサの画素数を増やす方法が考えられるが、受光信号の取り込みが長時間化したり、装置コストが増大することが懸念する。
【０００４】
特許文献１では、このような問題を解決すべく、反射光の経路上に凹面鏡を配置しており、当該凹面鏡により、バーコードからの反射光の画角を狭くして受光センサにおける結像倍率を大きくし、各バーに対して画素の多く割り当てるようにしている。しかしながら、特許文献１の構成では、読取視野が狭くなりやすく、幅広なバーコードや、大型サイズのバーコードを読み取りにくいという問題がある。また、凹面鏡の影響により、バーコードの像に歪みが生じてしまうという問題がある。
【０００５】
本発明は、上述した課題を解決するためになされたものであり、受光センサにて結像されるバーコードの像が小さくなる状況下であっても精度高く良好に読み取りを行うことのできる構成を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１の発明は、複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、バーコードからの反射光を前記受光センサで結像させる結像レンズと、前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、を備え、前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、前記波形合成手段は、合成元の波形データの全ての位置の前記反射レベルデータについて、合成しようとする前記波形データの全ての位置の前記反射レベルデータとの差分の絶対値を求め、それら差分の絶対値に基づいて、前記合成元の波形データの各位置に対応する位置を、合成しようとする前記波形データの中から検出し、且つ前記合成元の波形データの各位置の前記反射レベルデータと、合成しようとする前記波形データにおける当該各位置に対応する前記反射レベルデータと、の平均値をそれぞれ算出し、それら平均値を、新たな合成元の波形データの各位置における新たな前記反射レベルデータとする処理方法を用い、当該処理方法により、前記合成元の波形データに対して残余の前記波形データを順次合成することで前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする。
【０００７】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする。
【００１０】
請求項３の発明は、請求項１又は請求項２に記載の光学的情報読取装置において、前記波形データが、いずれか１又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする。
【発明の効果】
【００１１】
請求項１の発明では、バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
また、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置（反射レベルデータ取得位置）からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【００１２】
請求項２の発明では、受光センサの素子列が、当該素子列の列方向（所定方向）と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【００１５】
請求項３の発明では、合成しようとする波形データが、いずれか１又は複数の他の波形データと所定の類似状態であるか否かを判断し、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ（例えば汚れなどに起因して非類似となる波形データ等）を除くことができる。
【発明を実施するための最良の形態】
【００１６】
[第１実施形態]
以下、本発明の光学的情報読取装置を具現化した第１実施形態について、図面を参照して説明する。図１は、本発明の第１実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【００１７】
図１に示すバーコードリーダ１０は本発明の光学的情報読取装置の一例に相当しており、物品に付されたバーコード（図１では物品Ｒに付されたバーコードＢを例示）を読み取る装置として構成されている。このバーコードリーダ１０は、図示しないケースの内部に回路部２０が収容されてなるものであり、回路部２０は、主に、照明光源２１、受光センサ２８、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、トリガースイッチ４２等のマイクロコンピュータ（以下「マイコン」という）系と、から構成されている。
【００１８】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられるレンズとから構成されている。なお、図１では、バーコードＢが付された読取対象物Ｒに向けて照明光Ｌｆを照射する例を概念的に示している。
【００１９】
受光光学系は、受光センサ２８、結像レンズ２７、反射鏡（図示略）などによって構成されている。受光センサ２８は、ＣＣＤエリアセンサとして構成されるものであり、読取対象物ＲやバーコードＢに照射されて反射した反射光Ｌｒを受光可能に構成されている。この受光センサ２８は、結像レンズ２７を介して入射する入射光を受光可能にプリント配線板（図示略）に実装されている。
【００２０】
結像レンズ２７は、外部から読取口（図示略）を介して入射する入射光を集光して受光センサ２８の受光面２８ａに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源２１から照射された照明光ＬｆがバーコードＢにて反射してなる反射光Ｌｒを結像レンズ２７で集光し、受光センサ２８の受光面２８ａにコード像を結像させている。
【００２１】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、トリガースイッチ４２、ブザー４４、表示ＬＥＤ（以下、単にＬＥＤとも称する）４５、液晶表示器４６、通信インタフェース４８等から構成されている。
【００２２】
光学系の受光センサ２８から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、所定のコード像画像情報格納領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２８およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２３】
制御回路４０は、バーコードリーダ１０全体を制御可能なマイコンによって構成されており、ＣＰＵ、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ３５とともに情報処理装置を構成している。本実施形態では、制御回路４０に対し、トリガースイッチ４２、ブザー４４、ＬＥＤ４５、液晶表示器４６、通信インタフェース４８等が接続されており、例えば、トリガースイッチ４２の監視や管理、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、ＬＥＤ４５の点灯、非点灯、液晶表示器４６の表示制御、通信インターフェース４８の制御等が制御回路４０によって行われるようになっている。なお、制御回路４０は、「生成手段」、「波形合成手段」、「デコード手段」、「類似判断手段」の一例に相当する。
【００２４】
次に、バーコードリーダ１０での読取処理について説明する。図２は、読取処理の流れを例示するフローチャートである。図３は、波形データ合成処理の流れを例示するフローチャートである。図４（ａ）は、受光センサ２８における素子構成と、受光センサ２８に結像されるバーコード像との関係を説明する説明図であり、図４（ｂ）は、図４（ａ）のバーコード像に基づいて得られる画像データを示す説明図である。
【００２５】
図２の読取処理の開始に伴い、まず範囲特定処理（ラベリング処理）が行われる（Ｓ１）。この範囲特定処理では、受光センサ２８の受光結果に基づいて図４（ｂ）のようなバーコードＢの画像データを生成した上で、その画像データにおいてバーコード領域Ａ１を特定する。本実施形態の受光センサ２８は、図４（ａ）に示すように複数の受光素子が所定方向（本実施形態ではバーコードリーダ１０の幅方向、図４（ａ）では紙面横方向）に並んでなる素子列を複数備えている。これらの素子列は、その所定方向（素子列の並び方向）と直交する方向（図４（ａ）では縦方向）に複数並んでおり、全体としてエリアセンサとして構成されている。バーコードＢを読み取る際には、このような受光センサ２８上に結像レンズ２７によってバーコードＢの像Ｂ'が結像するようになっている。受光センサ２８の各受光素子は、このようなバーコード像Ｂ'を反映した受光信号をそれぞれ出力するようになっており、Ｓ１の処理では、このような受光センサ２８での受光結果に基づいて図４（ｂ）のような画像データが生成されることとなる。さらに、図４（ｂ）のように、その生成された画像データにおいて、黒バー及び白バーの配置領域の周囲に所定の余裕領域を設けた形でバーコード領域Ａ１が特定される。
【００２６】
Ｓ１にてバーコード領域Ａ１を特定した後、Ｓ２にて波形データを生成する処理が行われる。この波形データ生成処理は、Ｓ１の範囲特定処理によって特定されたバーコード領域Ａ１の複数位置を選択し、これら複数位置についての波形データを生成する処理である。具体的には、受光センサ２８におけるバーコード像Ｂ'の結像領域に配される複数の素子列を選択し、これら複数の素子列からの受光信号に基づき、各素子列毎の波形データをそれぞれ生成する。このように、バーコードＢのバー配列方向における複数位置の反射レベルデータによって波形データが構成されることとなる。
なお、本実施形態では制御回路４０及び図２に示すプログラムが「生成手段」の一例に相当する。
【００２７】
本実施形態では、図４（ｂ）に示すように、画像データのバーコード領域Ａ１における中心位置を含んだ５位置Ｌ１〜Ｌ５について波形データを生成するようにしている。この５位置Ｌ１〜Ｌ５は、受光センサ２８におけるバーコード像Ｂ'の結像領域Ａ１'（バーコード領域Ａ１の画像を生成するための素子領域）に配される５つの素子列Ｌ１'〜Ｌ５'（図４（ａ）参照）に対応しており、Ｓ２の処理では、この５つの素子列Ｌ１'〜Ｌ５'のそれぞれにおいて受光素子毎の受光量を求め、各受光素子毎の位置データと受光量とを対応付けた状態で波形データとしてメモリ３５に記憶している。図５（ａ）では、バーコード像の結像領域に配される１つの素子列の波形データを例示しており、横軸を受光位置（図５（ａ）では各受光素子の位置に相当）とし、縦軸に受光量として、受光センサ２８における受光位置と受光量との関係を波形データとして示している。なお、本実施形態では、素子列を構成する各受光素子の位置データが、バーコードＢにおけるバー配列方向の複数位置に対応しており、素子列を構成する各受光素子の受光量は、当該複数位置の各反射レベルデータに相当している。
【００２８】
Ｓ２にて波形データを生成した後、各波形データについて補間処理を行う（Ｓ３）。
この補間処理は、バーコードＢの複数位置の反射レベルデータ（即ち、バーコードＢにおけるバー配列方向の複数位置に対応した各受光素子毎の受光量）に基づき、複数位置からずれた中間位置を補う補間データを生成すると共に、上記複数位置の反射レベルデータと、その生成された中間位置の補間データと、によって波形データを再生成する処理である。具体的には、図５（ｂ）のように、隣接する２つの受光素子位置の間の中間位置についての新たな受光量データを生成することで、受光センサ２８における受光位置のデータをより細分化し、データ数を２倍に増大させる。
【００２９】
例えば、図４（ａ）（ｂ）において、バーコード領域Ａ１に対応する結像領域Ａ１'における横方向の素子数が１００個の場合、Ｓ２の処理では、この１００個の素子についての位置データ（受光センサ２８における受光位置）と受光量とが対応付けられて図５（ａ）のような波形データを構成するようになっている。図５（ａ）では、各素子列における一端側からの素子の配置順に受光位置の値が定められており、各素子列の一番端に配置される素子に対応する受光位置の値を「１」とし、２番目に配置される素子に対応する受光位置の値を「２」とするように各受光位置の値がそれぞれ定められる。Ｓ３の処理では、上記１００個の受光素子によって特定される各受光位置からずれた中間位置についての受光量データを推測して生成し、図５（ｂ）のように、各受光素子毎の受光量データと、各中間位置毎の受光量推測データとによって２倍のデータ数を備えた波形データを再生成している。図５（ｂ）では、「素子列を構成する各受光素子に対応する位置」（即ち、図５（ａ）で示す各受光位置）と、「各受光素子に対応する位置からずれた中間位置」（即ち、図５（ａ）に加えて新たに定められる受光位置）とによって「受光位置」を再構成している。図５（ａ）で１、２、３、４、５・・・とされていた各受光位置（即ち、素子列を構成する各受光素子に対応する位置）が、図５（ｂ）では、１、３、５、７、９といった奇数番に相当しており、図５（ｂ）の偶数の受光位置がこれに加えられた中間位置に相当している。
【００３０】
図６は、Ｓ２にて生成された波形データの一部領域（詳しくは左端領域）を拡大して示すものであり、受光センサにおける受光位置と受光量との対応関係をグラフ化して示している。また、図６（ｂ）は、図６（ａ）の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。本実施形態では、図６（ａ）のように各受光素子毎の受光量を求めた後、隣接する２つの受光素子毎に補間データを求めている。具体的には、素子列の列方向における隣接する２つの受光素子の中心位置を「中間位置」とし、かつそれら隣接する２つの受光素子の各受光量の平均値をその「中間位置」の受光量推測値として、各中間位置の位置データと、各中間位置での受光量推測値とによって補間データを構成している。例えば、１番目の受光素子（図６（ａ）では受光位置の値は「１」）の受光量が１１０で、２番目の受光素子（図６（ａ）では受光位置の値は「２」）の受光量が１０５であった場合、それら隣接する２つの受光素子の中心位置（即ち、１．５の位置）が「中間位置」となり、それら隣接する２つの受光素子の受光量平均値（即ち、１０７．５の値）がその「中間位置」の受光量推測値となる。このようにして各中間位置の受光量推測値を順次求めていく。なお、図６（ｂ）の例では、上述のように補間データを生成した後、１番目の受光位置より後の受光位置の値を２倍にし、各受光位置の値を整数によって表している。Ｓ３では、このような補間処理をＳ２にて得られた波形データ全てに対して行う。
【００３１】
次に、波形データの合成処理を行う（Ｓ４）。この波形データ合成処理は、Ｓ２、Ｓ３
の処理によって生成された複数の波形データ（即ち、補間データを含んでなる補間処理後の波形データ）を位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成する処理である。なお、本実施形態では、制御回路４０及び図３に示すプログラムが「波形合成手段」の一例に相当する。
【００３２】
本実施形態で例示される波形データ合成処理は、Ｓ２、Ｓ３によって得られた複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎（即ち各受光量データ毎）に位置合わせして合成するものである。図３に示すように、当該処理の開始に伴い、まず、補間処理後の複数の波形データの中から基準波形データを決定する処理が行われる（Ｓ４１）。ここでは、バーコード像Ｂ'の結像領域Ａ１'の中心に最も近い素子列Ｌ１'によって得られる波形データを基準波形データとしている。
【００３３】
その後、基準波形データに合成すべき一の波形データを選択する（Ｓ４２）。本実施形態では、基準波形データが決定された後、縦方向一方側の素子列による波形データから順に合成するようにしており、Ｓ４１の処理直後においては素子列Ｌ２'によって得られる波形データが選択される。
【００３４】
例えば、図５（ｂ）に示す波形データが基準波形データであり、図７（ａ）に示す波形データがＳ４２にて選択された合成すべき１番目の波形データである場合、これらを単純に重ね合わせると図７（ｂ）のようになる。Ｓ４３の処理では、このように相違する２つの波形データを位置合わせしつつ合成し、両波形データを反映した１つの波形データを生成することとなる。
【００３５】
具体的には、まず、合成元となる波形データ（以下、元波形データともいう。なお、初回の処理では基準波形データ）の全ての位置の受光量データについて、合成しようとする波形データ（初回の処理では一番目の波形データ）の全ての位置の受光量データとの差分の絶対値を求める。図８の例では、元波形データの受光量データを横方向に順番に並べ、合成すべき波形データを縦方向に順番に並べており、元波形データの受光位置の値をｉとし、ｉ＝１の場合を左から一列目、ｉ＝２の場合を左から二列目といった具合に示している。また、合成すべき波形データの受光位置の値をｊとし、ｊ＝１の場合を下から一列目、ｊ＝２の場合を下から二列目といった具合に示しており、元波形データのｉ番目の受光位置の受光量と、合成すべき波形データのｊ番目の受光位置の受光量と、の差分の絶対値をｄ（ｉ，ｊ）として各セルに記載している。なお、図８、図９の説明では、受光位置が１４個の場合を例示しているが、これはあくまで例示であり、Ｓ３の補間処理で得られた各波形データの受光位置の数だけ並べられることとなる。
【００３６】
例えば、元波形データの１番目の受光位置の受光量は「０」であり、合成すべき波形データの１番目の受光位置の受光量は「０」であるため、ｄ（１，１）は「０」となる。従って、図８のｉ＝１、ｊ＝１のセルでは「０」と記録されている。同様に、元波形データの２番目の受光位置の受光量は「５５」であり、合成すべき波形データの１番目の受光位置の受光量は「０」であるため、ｄ（２，１）は「５５」となり、元波形データの３番目の受光位置の受光量は「８０」であり、合成すべき波形データの１番目の受光位置の受光量は「０」であるため、ｄ（３，１）は「８０」となる。このようにして、図８のように、元波形データの全ての受光位置の受光量データについて、合成すべき波形データの全ての受光位置の受光量データとの差分の絶対値を求める。
【００３７】
さらに、元波形データの全ての受光位置と、合成すべき波形データの全ての受光位置とを対応付け、各対応位置での累積値を求める。図９（ａ）は、元波形データの各受光位置と、合成すべき波形データの各受光位置と、対応付け、各対応位置での累積値を示すものであり、元波形データのｉ番目の受光位置と、合成すべき波形データのｊ番目の受光位置と、を対応付けた対応位置についての累積値をｇ（ｉ，ｊ）として示している。この対応位置の累積値ｇ（ｉ，ｊ）は、数１の式にて算出されるものである。
【００３８】
【数１】
0005119853.tif 000002
【００３９】
数１では、右辺括弧内における上段式、中段式、下段式のうちの最小値を累積値ｇ（ｉ，ｊ）としている。なお、ｄ（ｉ，ｊ）は、元波形データのｉ番目の受光位置の受光量と、合成すべき波形データのｊ番目の受光位置の受光量との差分の絶対値を示すものであり、上述の算出にて得られるものである（図８参照）。図９（ａ）は、各対応位置での累積値（ｉ，ｊ）について示しており、元波形データの受光位置については、ｉ＝１の場合を左から一列目、ｉ＝２の場合を左から二列目といった具合に示している。また、合成すべき波形データについては、ｊ＝１の場合を下から一列目、ｊ＝２の場合を下から二列目といった具合に示している。
【００４０】
上記のように各対応位置（ｉ，ｊ）について累積値ｇ（ｉ，ｊ）を求めた後、図９（ｂ）のテーブルの右上から左下に向かって最小累積経路を求める。まず、右上のセル（図９では、ｉ＝１４、ｊ＝１４のセル）をスタートセルとして着目する。そして、当該着目セルの隣接するセル（着目セルの上下、左右、斜めのいずれかに配されるセル）から最も累積値の小さいセルを検出し、このセルを新たな着目セルして決定する。その後、同様に、新たな着目セルの上下、左右、斜めのセルから最も累積値の小さいセルを検出し、このセルを新たな着目セルとして決定する。このように着目セルを順次決定することで図９（ｂ）のような経路が得られる。
【００４１】
このように得られる最小累積経路に基づいて合成データを生成する。具体的には、最小累積経路に基づき、元波形データの各受光位置と対応する受光位置（１又は複数位置）を合成すべき波形データの中から検出する。そして、互いに対応するこれらの受光位置での受光量の平均値（即ち、元波形データの各受光位置の受光量と、当該各受光位置に対応する合成すべき波形データの１又は複数の受光位置の受光量と、の平均値）を算出し、この平均値を、元波形データの各受光位置の新たな受光量とする。
【００４２】
例えば、最小累積経路を参照すると、元波形データの１番目の受光位置と、合成すべき波形データの１番目及び２番目の受光位置が対応しているため、元波形データの１番目の受光位置の受光量「０」と、合成すべき波形データの１番目の受光位置の受光量「０」及び２番目の受光位置の受光量「２０」と、を平均化した平均値「２０／３」を算出し、これを元波形データの１番目の受光位置の新たな受光量とする。同様に、最小累積経路を参照すると、元波形データの２番目の受光位置と、合成すべき波形データの３番目の受光位置とが対応しているため、元波形データの２番目の受光位置の受光量「５５」と、合成すべき波形データの３番目の受光位置の受光量「４３」と、を平均化した平均値「９８／２」（即ち４９）を算出し、これを元波形データの２番目の受光位置の新たな受光量とする。このように、元波形データの全ての受光位置について、最小累積経路を参照して元波形データと合成すべき波形データとを合成し、新たな元波形データを生成する。
【００４３】
このように合成処理が行われ、新たな元波形データが生成された後、Ｓ４４において合成すべき波形データが残っているか否かを判断する処理を行う。本実施形態では、最初に決定された基準波形データに対して他の波形データを順次合成しており、合成すべき他の波形データが残存している場合にはＳ４４にてＹｅｓに進み、再びＳ４２に戻って残存しているいずれかの波形データを合成すべき波形データとして選択する。そして、その波形データを、前回のＳ４３にて生成された新たな元波形データに対して合成する処理を行う（Ｓ４３）。一方、すべての他の波形データの合成が終了した場合にはＳ４４にてＮｏに進む。全ての波形データを合成した合成データ（最終的に得られた元波形データ）は、図５（ａ）の基準波形データや、図７（ａ）の一本目の波形データと比較してなだらかな形状となり、かつバーコードＢのバー幅を精度高く反映した形状となる。
【００４４】
図２に示すように、Ｓ４の処理の後、Ｓ４にて生成された合成波形データに基づいてデコード処理が行われる（Ｓ５）。なお、波形データに基づいてデコード処理を行う点についてはバーコードリーダの分野において公知であるので詳細は省略する。
なお、本実施形態では、制御回路４０及び図２のプログラムが「デコード手段」の一例に相当する。
【００４５】
以上のように、本実施形態ではバーコードのバー配列方向における複数位置の反射レベルデータ（受光量データ）を含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
【００４６】
また、受光センサ２８において、素子列が、当該素子列の列方向（所定方向）と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【００４７】
また、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置（反射レベルデータ取得位置）からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【００４８】
また、複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成している。このようにすれば、合成処理を迅速かつ好適に行うことができる。
【００４９】
［第２実施形態]
次に第２実施形態について説明する。図１１は、第２実施形態における波形データ合成処理を例示するフローチャートである。なお、本実施形態では、波形データ合成処理の一部のみが第１実施形態と異なっており、それ以外については第１実施形態と同一であるので、同一の部分については詳細な説明は省略する。
【００５０】
図１１に示す波形データ合成処理は、Ｓ１４１〜Ｓ１４３については図３のＳ４１〜Ｓ４３と同一である。Ｓ１４３にてＳ４３と同様の合成処理が行われた後、Ｓ１４４において最終累積値が閾値以上か否かを判断する。最終累積値は、図９（ｂ）に示す最小累積経路の終端（右上端）の累積値であり、図９（ｂ）では「５２５」となっている。この最終累積値は、元波形データと合成すべき波形データとの類似性が高い場合に小さく、類似性が低い場合に大きくなる値であり、当該最終累積値が予め定められた閾値を超える場合には、Ｓ１４４にてＮｏに進み、直前のＳ１４３にて合成しようとした波形データ（即ち、その直前のＳ１４２で選択された合成すべき波形データ）を合成対象から除外する。即ち、この場合にはＳ１４３にて合成処理が行われる前の元波形データを再度新たな元波形データとする。一方、最終累積値が予め定められた閾値以上の場合にはＳ１４４にてＮｏに進む。この場合には、第１実施形態と同様にＳ１４３における合成処理後の波形データが新たな元波形データとなる。
【００５１】
このように、本実施形態では、合成しようとする波形データが、いずれか１又は複数の他の波形データと所定の類似状態であるか否か（具体的には元波形データと所定の類似状態であるか否か）を、最終累積値が閾値を超えるか否かを判断することで判断しており、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ（例えば汚れなどに起因して非類似となる波形データ等）を除くことができる。
なお、制御回路４０は、「類似判断手段」の一例に相当する。
【００５２】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００５３】
上記実施形態では、受光センサとしてエリアセンサを用いたが、ラインセンサによって受光センサを構成してもよい。この場合、ラインセンサによって複数回受光処理を行うことでバーコードについての画像データを複数生成し、それに基づいて複数の波形データを生成するようにすればよい。
【００５４】
上記実施形態では、生成された複数の波形データを位置合わせしつつ合成し、複数の波形データを反映した単一の合成波形データを生成する方法として、第１実施形態のような方法を例示したが、別の方法を用いてもよい。例えば、Ｓ３にて補間処理がなされた後の全ての波形データについて、受光位置毎に平均値を求め、これら各受光位置毎の平均値の集合を合成波形データとしてもよい。
【００５５】
上記実施形態では、合成すべき波形データが、いずれか１又は複数の他の波形データ（具体的には元波形データ）と、「所定の類似状態」であるか否かを判断する一例を示したがこれに限られない。例えば、図１１のＳ１４４の処理に代えて類似状態を判断する別の方法を用いてもよい。具体的には、図１１のＳ１４４の判断処理において、各受光位置毎に、元波形データの受光量と合成すべき波形データの受光量との差分の絶対値を求め、この差分の絶対値の総和が予め決められた閾値未満の場合を「所定の類似状態」とするようにしてもよい。例えば、元波形データの１番目の受光位置での受光量と、合成すべき波形データの１番目の受光位置での受光量との差分の絶対値Ｚ１を求め、同様に元波形データの２番目の受光位置での受光量と、合成すべき波形データの２番目の受光位置での受光量との差分の絶対値Ｚ２を求め、このようにして最後のｎ番目の受光位置での差分の絶対値Ｚｎまで求める。そしてこれらの総和、即ちＺ１＋Ｚ２＋・・・＋Ｚｎを求め、Ｓ１４４の処理においてこの総和が予め定められた閾値以上か否かを判断するようにしてもよい。総和が予め定められた閾値以上となるような大きい場合には、各受光位置における受光量の差が総合的に大きく、類似性が低いと判断できるため、このような場合にはＳ１４４にてＹｅｓに進み、上述したＳ１４５の処理と同様に合成すべき波形データを合成対象から除外する（即ち、直近のＳ１４３の合成処理前の元波形データを新たな元波形データとして使用する）。一方、総和が閾値未満である場合にはＳ１４４にてＮｏに進み、直近のＳ１４３の合成処理後の元波形データを新たな元波形データとして使用する。
【図面の簡単な説明】
【００５６】
【図１】図１は、本発明の第１実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【図２】図２は、読取処理の流れを例示するフローチャートである。
【図３】図３は、波形データ合成処理の流れを例示するフローチャートである。
【図４】図４（ａ）は、受光センサ２８における素子構成と、受光センサ２８に結像されるバーコード像との関係を説明する説明図であり、図４（ｂ）は、図４（ａ）のバーコード像に基づいて得られる画像データを示す説明図である。
【図５】図５（ａ）は、波形データの一例を示すグラフであり、図５（ｂ）は、図５（ａ）の波形データに対して補間処理を行った後の再生成後の波形データを示すグラフである。
【図６】図６（ａ）は、図５（ａ）の波形データの一部領域を拡大して示すものであり、図６（ｂ）は、図６（ａ）の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。
【図７】図７（ａ）は、元波形データに合成すべき他の波形データを例示するグラフであり、図７（ｂ）は、図５（ａ）の波形データと図７（ａ）の波形データとを位置合わせして重ねたグラフである。
【図８】図８は、元波形データの各受光位置での受光量と、合成すべき波形データの各受光位置での受光量との差分の絶対値をそれぞれ示す表である。
【図９】図９（ａ）は、元波形データの各受光位置と、合成すべき波形データの各受光位置とを対応付け、各対応位置での累積値を示す表であり、図９（ｂ）は、図９（ａ）の累積値に基づく最小累積経路を示すものである。
【図１０】図１０は、全ての波形データを合成した合成波形データを例示するグラフである。
【図１１】図１１は、第２実施形態における波形データ合成処理を例示するフローチャートである。
【符号の説明】
【００５７】
１…バーコードリーダ（光学的情報読取装置）
２７…結像レンズ
２８…受光センサ（エリアセンサ）
４０…制御回路（生成手段、波形合成手段、デコード手段、類似判断手段）
Ｂ…バーコード
【図１】
0005119853.tif 000003
【図２】
0005119853.tif 000004
【図３】
0005119853.tif 000005
【図４】
0005119853.tif 000006
【図５】
0005119853.tif 000007
【図６】
0005119853.tif 000008
【図７】
0005119853.tif 000009
【図８】
0005119853.tif 000010
【図９】
0005119853.tif 000011
【図１０】
0005119853.tif 000012
【図１１】
0005119853.tif 000013