光学的情報読取装置
【課題】受光センサにて結像されるバーコードの像が小さくなる状況下であっても精度高く良好に読み取りを行うことのできる構成を提供する。
【解決手段】本発明のバーコードリーダは、複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、バーコードからの反射光を受光センサで結像させる結像レンズと、素子列を構成する複数の受光素子からの各受光信号に基づき、バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、を備えている。さらに、その生成された複数の波形データを位置合わせしつつ合成し、複数の波形データを反映した単一の合成波形データを生成する波形合成手段を備えており、この波形合成手段によって生成された合成波形データについてデコード処理を行うように構成されている。
【解決手段】本発明のバーコードリーダは、複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、バーコードからの反射光を受光センサで結像させる結像レンズと、素子列を構成する複数の受光素子からの各受光信号に基づき、バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、を備えている。さらに、その生成された複数の波形データを位置合わせしつつ合成し、複数の波形データを反映した単一の合成波形データを生成する波形合成手段を備えており、この波形合成手段によって生成された合成波形データについてデコード処理を行うように構成されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【0002】
バーコードリーダの分野では、利便性などの理由から、より遠方のバーコードを読み取り得る構成が望まれており、特許文献1では、遠方に配されたバーコードを読み取る際の問題を解決し、遠方のバーコードを良好に読み取ろうとする技術が開示されている。
【特許文献1】特開平8−320908号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
バーコードが遠方となるにつれ受光センサ(例えばCCDセンサ)上で結像されるバーコード像は小さくなるため、各バーに対する受光素子の割り当て数(即ち画素の割り当てすうが)が少なくなってしまう。このように各バーに対する受光素子の割り当て数が少なくなると、バーコード像を正確に反映した画像データを得にくくなり、結果として読み取りの精度が低下してしまうという問題がある。このような問題の対処策としては、センサの画素数を増やす方法が考えられるが、受光信号の取り込みが長時間化したり、装置コストが増大することが懸念する。
【0004】
特許文献1では、このような問題を解決すべく、反射光の経路上に凹面鏡を配置しており、当該凹面鏡により、バーコードからの反射光の画角を狭くして受光センサにおける結像倍率を大きくし、各バーに対して画素の多く割り当てるようにしている。しかしながら、特許文献1の構成では、読取視野が狭くなりやすく、幅広なバーコードや、大型サイズのバーコードを読み取りにくいという問題がある。また、凹面鏡の影響により、バーコードの像に歪みが生じてしまうという問題がある。
【0005】
本発明は、上述した課題を解決するためになされたものであり、受光センサにて結像されるバーコードの像が小さくなる状況下であっても精度高く良好に読み取りを行うことのできる構成を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の発明は、複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、バーコードからの反射光を前記受光センサで結像させる結像レンズと、前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、を備えたことを特徴とする。
【0007】
請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする。
【0008】
請求項3の発明は、請求項1又は請求項2に記載の光学的情報読取装置において、前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、前記波形合成手段は、前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする。
【0009】
請求項4の発明は、請求項1ないし請求項3のいずれか一項に記載の光学的情報読取装置において、前記波形合成手段は、複数の前記波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成することを特徴とする。
【0010】
請求項5の発明は、請求項1から請求項4のいずれか一項に記載の光学的情報読取装置において、前記波形データが、いずれか1又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする。
【発明の効果】
【0011】
請求項1の発明では、バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
【0012】
請求項2の発明では、受光センサの素子列が、当該素子列の列方向(所定方向)と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【0013】
請求項3の発明では、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置(反射レベルデータ取得位置)からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【0014】
請求項4の発明では、複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成している。このようにすれば、合成処理を迅速かつ好適に行うことができる。
【0015】
請求項5の発明では、合成しようとする波形データが、いずれか1又は複数の他の波形データと所定の類似状態であるか否かを判断し、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ(例えば汚れなどに起因して非類似となる波形データ等)を除くことができる。
【発明を実施するための最良の形態】
【0016】
[第1実施形態]
以下、本発明の光学的情報読取装置を具現化した第1実施形態について、図面を参照して説明する。図1は、本発明の第1実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【0017】
図1に示すバーコードリーダ10は本発明の光学的情報読取装置の一例に相当しており、物品に付されたバーコード(図1では物品Rに付されたバーコードBを例示)を読み取る装置として構成されている。このバーコードリーダ10は、図示しないケースの内部に回路部20が収容されてなるものであり、回路部20は、主に、照明光源21、受光センサ28、結像レンズ27等の光学系と、メモリ35、制御回路40、トリガースイッチ42等のマイクロコンピュータ(以下「マイコン」という)系と、から構成されている。
【0018】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられるレンズとから構成されている。なお、図1では、バーコードBが付された読取対象物Rに向けて照明光Lfを照射する例を概念的に示している。
【0019】
受光光学系は、受光センサ28、結像レンズ27、反射鏡(図示略)などによって構成されている。受光センサ28は、CCDエリアセンサとして構成されるものであり、読取対象物RやバーコードBに照射されて反射した反射光Lrを受光可能に構成されている。この受光センサ28は、結像レンズ27を介して入射する入射光を受光可能にプリント配線板(図示略)に実装されている。
【0020】
結像レンズ27は、外部から読取口(図示略)を介して入射する入射光を集光して受光センサ28の受光面28aに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源21から照射された照明光LfがバーコードBにて反射してなる反射光Lrを結像レンズ27で集光し、受光センサ28の受光面28aにコード像を結像させている。
【0021】
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、トリガースイッチ42、ブザー44、表示LED(以下、単にLEDとも称する)45、液晶表示器46、通信インタフェース48等から構成されている。
【0022】
光学系の受光センサ28から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、所定のコード像画像情報格納領域に蓄積される。なお、同期信号発生回路38は、受光センサ28およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0023】
制御回路40は、バーコードリーダ10全体を制御可能なマイコンによって構成されており、CPU、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ35とともに情報処理装置を構成している。本実施形態では、制御回路40に対し、トリガースイッチ42、ブザー44、LED45、液晶表示器46、通信インタフェース48等が接続されており、例えば、トリガースイッチ42の監視や管理、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、LED45の点灯、非点灯、液晶表示器46の表示制御、通信インターフェース48の制御等が制御回路40によって行われるようになっている。なお、制御回路40は、「生成手段」、「波形合成手段」、「デコード手段」、「類似判断手段」の一例に相当する。
【0024】
次に、バーコードリーダ10での読取処理について説明する。図2は、読取処理の流れを例示するフローチャートである。図3は、波形データ合成処理の流れを例示するフローチャートである。図4(a)は、受光センサ28における素子構成と、受光センサ28に結像されるバーコード像との関係を説明する説明図であり、図4(b)は、図4(a)のバーコード像に基づいて得られる画像データを示す説明図である。
【0025】
図2の読取処理の開始に伴い、まず範囲特定処理(ラベリング処理)が行われる(S1)。この範囲特定処理では、受光センサ28の受光結果に基づいて図4(b)のようなバーコードBの画像データを生成した上で、その画像データにおいてバーコード領域A1を特定する。本実施形態の受光センサ28は、図4(a)に示すように複数の受光素子が所定方向(本実施形態ではバーコードリーダ10の幅方向、図4(a)では紙面横方向)に並んでなる素子列を複数備えている。これらの素子列は、その所定方向(素子列の並び方向)と直交する方向(図4(a)では縦方向)に複数並んでおり、全体としてエリアセンサとして構成されている。バーコードBを読み取る際には、このような受光センサ28上に結像レンズ27によってバーコードBの像B'が結像するようになっている。受光センサ28の各受光素子は、このようなバーコード像B'を反映した受光信号をそれぞれ出力するようになっており、S1の処理では、このような受光センサ28での受光結果に基づいて図4(b)のような画像データが生成されることとなる。さらに、図4(b)のように、その生成された画像データにおいて、黒バー及び白バーの配置領域の周囲に所定の余裕領域を設けた形でバーコード領域A1が特定される。
【0026】
S1にてバーコード領域A1を特定した後、S2にて波形データを生成する処理が行われる。この波形データ生成処理は、S1の範囲特定処理によって特定されたバーコード領域A1の複数位置を選択し、これら複数位置についての波形データを生成する処理である。具体的には、受光センサ28におけるバーコード像B'の結像領域に配される複数の素子列を選択し、これら複数の素子列からの受光信号に基づき、各素子列毎の波形データをそれぞれ生成する。このように、バーコードBのバー配列方向における複数位置の反射レベルデータによって波形データが構成されることとなる。
なお、本実施形態では制御回路40及び図2に示すプログラムが「生成手段」の一例に相当する。
【0027】
本実施形態では、図4(b)に示すように、画像データのバーコード領域A1における中心位置を含んだ5位置L1〜L5について波形データを生成するようにしている。この5位置L1〜L5は、受光センサ28におけるバーコード像B'の結像領域A1'(バーコード領域A1の画像を生成するための素子領域)に配される5つの素子列L1'〜L5'(図4(a)参照)に対応しており、S2の処理では、この5つの素子列L1'〜L5'のそれぞれにおいて受光素子毎の受光量を求め、各受光素子毎の位置データと受光量とを対応付けた状態で波形データとしてメモリ35に記憶している。図5(a)では、バーコード像の結像領域に配される1つの素子列の波形データを例示しており、横軸を受光位置(図5(a)では各受光素子の位置に相当)とし、縦軸に受光量として、受光センサ28における受光位置と受光量との関係を波形データとして示している。なお、本実施形態では、素子列を構成する各受光素子の位置データが、バーコードBにおけるバー配列方向の複数位置に対応しており、素子列を構成する各受光素子の受光量は、当該複数位置の各反射レベルデータに相当している。
【0028】
S2にて波形データを生成した後、各波形データについて補間処理を行う(S3)。
この補間処理は、バーコードBの複数位置の反射レベルデータ(即ち、バーコードBにおけるバー配列方向の複数位置に対応した各受光素子毎の受光量)に基づき、複数位置からずれた中間位置を補う補間データを生成すると共に、上記複数位置の反射レベルデータと、その生成された中間位置の補間データと、によって波形データを再生成する処理である。具体的には、図5(b)のように、隣接する2つの受光素子位置の間の中間位置についての新たな受光量データを生成することで、受光センサ28における受光位置のデータをより細分化し、データ数を2倍に増大させる。
【0029】
例えば、図4(a)(b)において、バーコード領域A1に対応する結像領域A1'における横方向の素子数が100個の場合、S2の処理では、この100個の素子についての位置データ(受光センサ28における受光位置)と受光量とが対応付けられて図5(a)のような波形データを構成するようになっている。図5(a)では、各素子列における一端側からの素子の配置順に受光位置の値が定められており、各素子列の一番端に配置される素子に対応する受光位置の値を「1」とし、2番目に配置される素子に対応する受光位置の値を「2」とするように各受光位置の値がそれぞれ定められる。S3の処理では、上記100個の受光素子によって特定される各受光位置からずれた中間位置についての受光量データを推測して生成し、図5(b)のように、各受光素子毎の受光量データと、各中間位置毎の受光量推測データとによって2倍のデータ数を備えた波形データを再生成している。図5(b)では、「素子列を構成する各受光素子に対応する位置」(即ち、図5(a)で示す各受光位置)と、「各受光素子に対応する位置からずれた中間位置」(即ち、図5(a)に加えて新たに定められる受光位置)とによって「受光位置」を再構成している。図5(a)で1、2、3、4、5・・・とされていた各受光位置(即ち、素子列を構成する各受光素子に対応する位置)が、図5(b)では、1、3、5、7、9といった奇数番に相当しており、図5(b)の偶数の受光位置がこれに加えられた中間位置に相当している。
【0030】
図6は、S2にて生成された波形データの一部領域(詳しくは左端領域)を拡大して示すものであり、受光センサにおける受光位置と受光量との対応関係をグラフ化して示している。また、図6(b)は、図6(a)の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。本実施形態では、図6(a)のように各受光素子毎の受光量を求めた後、隣接する2つの受光素子毎に補間データを求めている。具体的には、素子列の列方向における隣接する2つの受光素子の中心位置を「中間位置」とし、かつそれら隣接する2つの受光素子の各受光量の平均値をその「中間位置」の受光量推測値として、各中間位置の位置データと、各中間位置での受光量推測値とによって補間データを構成している。例えば、1番目の受光素子(図6(a)では受光位置の値は「1」)の受光量が110で、2番目の受光素子(図6(a)では受光位置の値は「2」)の受光量が105であった場合、それら隣接する2つの受光素子の中心位置(即ち、1.5の位置)が「中間位置」となり、それら隣接する2つの受光素子の受光量平均値(即ち、107.5の値)がその「中間位置」の受光量推測値となる。このようにして各中間位置の受光量推測値を順次求めていく。なお、図6(b)の例では、上述のように補間データを生成した後、1番目の受光位置より後の受光位置の値を2倍にし、各受光位置の値を整数によって表している。S3では、このような補間処理をS2にて得られた波形データ全てに対して行う。
【0031】
次に、波形データの合成処理を行う(S4)。この波形データ合成処理は、S2、S3
の処理によって生成された複数の波形データ(即ち、補間データを含んでなる補間処理後の波形データ)を位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成する処理である。なお、本実施形態では、制御回路40及び図3に示すプログラムが「波形合成手段」の一例に相当する。
【0032】
本実施形態で例示される波形データ合成処理は、S2、S3によって得られた複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎(即ち各受光量データ毎)に位置合わせして合成するものである。図3に示すように、当該処理の開始に伴い、まず、補間処理後の複数の波形データの中から基準波形データを決定する処理が行われる(S41)。ここでは、バーコード像B'の結像領域A1'の中心に最も近い素子列L1'によって得られる波形データを基準波形データとしている。
【0033】
その後、基準波形データに合成すべき一の波形データを選択する(S42)。本実施形態では、基準波形データが決定された後、縦方向一方側の素子列による波形データから順に合成するようにしており、S41の処理直後においては素子列L2'によって得られる波形データが選択される。
【0034】
例えば、図5(b)に示す波形データが基準波形データであり、図7(a)に示す波形データがS42にて選択された合成すべき1番目の波形データである場合、これらを単純に重ね合わせると図7(b)のようになる。S43の処理では、このように相違する2つの波形データを位置合わせしつつ合成し、両波形データを反映した1つの波形データを生成することとなる。
【0035】
具体的には、まず、合成元となる波形データ(以下、元波形データともいう。なお、初回の処理では基準波形データ)の全ての位置の受光量データについて、合成しようとする波形データ(初回の処理では一番目の波形データ)の全ての位置の受光量データとの差分の絶対値を求める。図8の例では、元波形データの受光量データを横方向に順番に並べ、合成すべき波形データを縦方向に順番に並べており、元波形データの受光位置の値をiとし、i=1の場合を左から一列目、i=2の場合を左から二列目といった具合に示している。また、合成すべき波形データの受光位置の値をjとし、j=1の場合を下から一列目、j=2の場合を下から二列目といった具合に示しており、元波形データのi番目の受光位置の受光量と、合成すべき波形データのj番目の受光位置の受光量と、の差分の絶対値をd(i,j)として各セルに記載している。なお、図8、図9の説明では、受光位置が14個の場合を例示しているが、これはあくまで例示であり、S3の補間処理で得られた各波形データの受光位置の数だけ並べられることとなる。
【0036】
例えば、元波形データの1番目の受光位置の受光量は「0」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(1,1)は「0」となる。従って、図8のi=1、j=1のセルでは「0」と記録されている。同様に、元波形データの2番目の受光位置の受光量は「55」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(2,1)は「55」となり、元波形データの3番目の受光位置の受光量は「80」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(3,1)は「80」となる。このようにして、図8のように、元波形データの全ての受光位置の受光量データについて、合成すべき波形データの全ての受光位置の受光量データとの差分の絶対値を求める。
【0037】
さらに、元波形データの全ての受光位置と、合成すべき波形データの全ての受光位置とを対応付け、各対応位置での累積値を求める。図9(a)は、元波形データの各受光位置と、合成すべき波形データの各受光位置と、対応付け、各対応位置での累積値を示すものであり、元波形データのi番目の受光位置と、合成すべき波形データのj番目の受光位置と、を対応付けた対応位置についての累積値をg(i,j)として示している。この対応位置の累積値g(i,j)は、数1の式にて算出されるものである。
【0038】
【数1】
【0039】
数1では、右辺括弧内における上段式、中段式、下段式のうちの最小値を累積値g(i,j)としている。なお、d(i,j)は、元波形データのi番目の受光位置の受光量と、合成すべき波形データのj番目の受光位置の受光量との差分の絶対値を示すものであり、上述の算出にて得られるものである(図8参照)。図9(a)は、各対応位置での累積値(i,j)について示しており、元波形データの受光位置については、i=1の場合を左から一列目、i=2の場合を左から二列目といった具合に示している。また、合成すべき波形データについては、j=1の場合を下から一列目、j=2の場合を下から二列目といった具合に示している。
【0040】
上記のように各対応位置(i,j)について累積値g(i,j)を求めた後、図9(b)のテーブルの右上から左下に向かって最小累積経路を求める。まず、右上のセル(図9では、i=14、j=14のセル)をスタートセルとして着目する。そして、当該着目セルの隣接するセル(着目セルの上下、左右、斜めのいずれかに配されるセル)から最も累積値の小さいセルを検出し、このセルを新たな着目セルして決定する。その後、同様に、新たな着目セルの上下、左右、斜めのセルから最も累積値の小さいセルを検出し、このセルを新たな着目セルとして決定する。このように着目セルを順次決定することで図9(b)のような経路が得られる。
【0041】
このように得られる最小累積経路に基づいて合成データを生成する。具体的には、最小累積経路に基づき、元波形データの各受光位置と対応する受光位置(1又は複数位置)を合成すべき波形データの中から検出する。そして、互いに対応するこれらの受光位置での受光量の平均値(即ち、元波形データの各受光位置の受光量と、当該各受光位置に対応する合成すべき波形データの1又は複数の受光位置の受光量と、の平均値)を算出し、この平均値を、元波形データの各受光位置の新たな受光量とする。
【0042】
例えば、最小累積経路を参照すると、元波形データの1番目の受光位置と、合成すべき波形データの1番目及び2番目の受光位置が対応しているため、元波形データの1番目の受光位置の受光量「0」と、合成すべき波形データの1番目の受光位置の受光量「0」及び2番目の受光位置の受光量「20」と、を平均化した平均値「20/3」を算出し、これを元波形データの1番目の受光位置の新たな受光量とする。同様に、最小累積経路を参照すると、元波形データの2番目の受光位置と、合成すべき波形データの3番目の受光位置とが対応しているため、元波形データの2番目の受光位置の受光量「55」と、合成すべき波形データの3番目の受光位置の受光量「43」と、を平均化した平均値「98/2」(即ち49)を算出し、これを元波形データの2番目の受光位置の新たな受光量とする。このように、元波形データの全ての受光位置について、最小累積経路を参照して元波形データと合成すべき波形データとを合成し、新たな元波形データを生成する。
【0043】
このように合成処理が行われ、新たな元波形データが生成された後、S44において合成すべき波形データが残っているか否かを判断する処理を行う。本実施形態では、最初に決定された基準波形データに対して他の波形データを順次合成しており、合成すべき他の波形データが残存している場合にはS44にてYesに進み、再びS42に戻って残存しているいずれかの波形データを合成すべき波形データとして選択する。そして、その波形データを、前回のS43にて生成された新たな元波形データに対して合成する処理を行う(S43)。一方、すべての他の波形データの合成が終了した場合にはS44にてNoに進む。全ての波形データを合成した合成データ(最終的に得られた元波形データ)は、図5(a)の基準波形データや、図7(a)の一本目の波形データと比較してなだらかな形状となり、かつバーコードBのバー幅を精度高く反映した形状となる。
【0044】
図2に示すように、S4の処理の後、S4にて生成された合成波形データに基づいてデコード処理が行われる(S5)。なお、波形データに基づいてデコード処理を行う点についてはバーコードリーダの分野において公知であるので詳細は省略する。
なお、本実施形態では、制御回路40及び図2のプログラムが「デコード手段」の一例に相当する。
【0045】
以上のように、本実施形態ではバーコードのバー配列方向における複数位置の反射レベルデータ(受光量データ)を含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
【0046】
また、受光センサ28において、素子列が、当該素子列の列方向(所定方向)と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【0047】
また、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置(反射レベルデータ取得位置)からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【0048】
また、複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成している。このようにすれば、合成処理を迅速かつ好適に行うことができる。
【0049】
[第2実施形態]
次に第2実施形態について説明する。図11は、第2実施形態における波形データ合成処理を例示するフローチャートである。なお、本実施形態では、波形データ合成処理の一部のみが第1実施形態と異なっており、それ以外については第1実施形態と同一であるので、同一の部分については詳細な説明は省略する。
【0050】
図11に示す波形データ合成処理は、S141〜S143については図3のS41〜S43と同一である。S143にてS43と同様の合成処理が行われた後、S144において最終累積値が閾値以上か否かを判断する。最終累積値は、図9(b)に示す最小累積経路の終端(右上端)の累積値であり、図9(b)では「525」となっている。この最終累積値は、元波形データと合成すべき波形データとの類似性が高い場合に小さく、類似性が低い場合に大きくなる値であり、当該最終累積値が予め定められた閾値を超える場合には、S144にてNoに進み、直前のS143にて合成しようとした波形データ(即ち、その直前のS142で選択された合成すべき波形データ)を合成対象から除外する。即ち、この場合にはS143にて合成処理が行われる前の元波形データを再度新たな元波形データとする。一方、最終累積値が予め定められた閾値以上の場合にはS144にてNoに進む。この場合には、第1実施形態と同様にS143における合成処理後の波形データが新たな元波形データとなる。
【0051】
このように、本実施形態では、合成しようとする波形データが、いずれか1又は複数の他の波形データと所定の類似状態であるか否か(具体的には元波形データと所定の類似状態であるか否か)を、最終累積値が閾値を超えるか否かを判断することで判断しており、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ(例えば汚れなどに起因して非類似となる波形データ等)を除くことができる。
なお、制御回路40は、「類似判断手段」の一例に相当する。
【0052】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0053】
上記実施形態では、受光センサとしてエリアセンサを用いたが、ラインセンサによって受光センサを構成してもよい。この場合、ラインセンサによって複数回受光処理を行うことでバーコードについての画像データを複数生成し、それに基づいて複数の波形データを生成するようにすればよい。
【0054】
上記実施形態では、生成された複数の波形データを位置合わせしつつ合成し、複数の波形データを反映した単一の合成波形データを生成する方法として、第1実施形態のような方法を例示したが、別の方法を用いてもよい。例えば、S3にて補間処理がなされた後の全ての波形データについて、受光位置毎に平均値を求め、これら各受光位置毎の平均値の集合を合成波形データとしてもよい。
【0055】
上記実施形態では、合成すべき波形データが、いずれか1又は複数の他の波形データ(具体的には元波形データ)と、「所定の類似状態」であるか否かを判断する一例を示したがこれに限られない。例えば、図11のS144の処理に代えて類似状態を判断する別の方法を用いてもよい。具体的には、図11のS144の判断処理において、各受光位置毎に、元波形データの受光量と合成すべき波形データの受光量との差分の絶対値を求め、この差分の絶対値の総和が予め決められた閾値未満の場合を「所定の類似状態」とするようにしてもよい。例えば、元波形データの1番目の受光位置での受光量と、合成すべき波形データの1番目の受光位置での受光量との差分の絶対値Z1を求め、同様に元波形データの2番目の受光位置での受光量と、合成すべき波形データの2番目の受光位置での受光量との差分の絶対値Z2を求め、このようにして最後のn番目の受光位置での差分の絶対値Znまで求める。そしてこれらの総和、即ちZ1+Z2+・・・+Znを求め、S144の処理においてこの総和が予め定められた閾値以上か否かを判断するようにしてもよい。総和が予め定められた閾値以上となるような大きい場合には、各受光位置における受光量の差が総合的に大きく、類似性が低いと判断できるため、このような場合にはS144にてYesに進み、上述したS145の処理と同様に合成すべき波形データを合成対象から除外する(即ち、直近のS143の合成処理前の元波形データを新たな元波形データとして使用する)。一方、総和が閾値未満である場合にはS144にてNoに進み、直近のS143の合成処理後の元波形データを新たな元波形データとして使用する。
【図面の簡単な説明】
【0056】
【図1】図1は、本発明の第1実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【図2】図2は、読取処理の流れを例示するフローチャートである。
【図3】図3は、波形データ合成処理の流れを例示するフローチャートである。
【図4】図4(a)は、受光センサ28における素子構成と、受光センサ28に結像されるバーコード像との関係を説明する説明図であり、図4(b)は、図4(a)のバーコード像に基づいて得られる画像データを示す説明図である。
【図5】図5(a)は、波形データの一例を示すグラフであり、図5(b)は、図5(a)の波形データに対して補間処理を行った後の再生成後の波形データを示すグラフである。
【図6】図6(a)は、図5(a)の波形データの一部領域を拡大して示すものであり、図6(b)は、図6(a)の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。
【図7】図7(a)は、元波形データに合成すべき他の波形データを例示するグラフであり、図7(b)は、図5(a)の波形データと図7(a)の波形データとを位置合わせして重ねたグラフである。
【図8】図8は、元波形データの各受光位置での受光量と、合成すべき波形データの各受光位置での受光量との差分の絶対値をそれぞれ示す表である。
【図9】図9(a)は、元波形データの各受光位置と、合成すべき波形データの各受光位置とを対応付け、各対応位置での累積値を示す表であり、図9(b)は、図9(a)の累積値に基づく最小累積経路を示すものである。
【図10】図10は、全ての波形データを合成した合成波形データを例示するグラフである。
【図11】図11は、第2実施形態における波形データ合成処理を例示するフローチャートである。
【符号の説明】
【0057】
1…バーコードリーダ(光学的情報読取装置)
27…結像レンズ
28…受光センサ(エリアセンサ)
40…制御回路(生成手段、波形合成手段、デコード手段、類似判断手段)
B…バーコード
【技術分野】
【0001】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【0002】
バーコードリーダの分野では、利便性などの理由から、より遠方のバーコードを読み取り得る構成が望まれており、特許文献1では、遠方に配されたバーコードを読み取る際の問題を解決し、遠方のバーコードを良好に読み取ろうとする技術が開示されている。
【特許文献1】特開平8−320908号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
バーコードが遠方となるにつれ受光センサ(例えばCCDセンサ)上で結像されるバーコード像は小さくなるため、各バーに対する受光素子の割り当て数(即ち画素の割り当てすうが)が少なくなってしまう。このように各バーに対する受光素子の割り当て数が少なくなると、バーコード像を正確に反映した画像データを得にくくなり、結果として読み取りの精度が低下してしまうという問題がある。このような問題の対処策としては、センサの画素数を増やす方法が考えられるが、受光信号の取り込みが長時間化したり、装置コストが増大することが懸念する。
【0004】
特許文献1では、このような問題を解決すべく、反射光の経路上に凹面鏡を配置しており、当該凹面鏡により、バーコードからの反射光の画角を狭くして受光センサにおける結像倍率を大きくし、各バーに対して画素の多く割り当てるようにしている。しかしながら、特許文献1の構成では、読取視野が狭くなりやすく、幅広なバーコードや、大型サイズのバーコードを読み取りにくいという問題がある。また、凹面鏡の影響により、バーコードの像に歪みが生じてしまうという問題がある。
【0005】
本発明は、上述した課題を解決するためになされたものであり、受光センサにて結像されるバーコードの像が小さくなる状況下であっても精度高く良好に読み取りを行うことのできる構成を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の発明は、複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、バーコードからの反射光を前記受光センサで結像させる結像レンズと、前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、を備えたことを特徴とする。
【0007】
請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする。
【0008】
請求項3の発明は、請求項1又は請求項2に記載の光学的情報読取装置において、前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、前記波形合成手段は、前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする。
【0009】
請求項4の発明は、請求項1ないし請求項3のいずれか一項に記載の光学的情報読取装置において、前記波形合成手段は、複数の前記波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成することを特徴とする。
【0010】
請求項5の発明は、請求項1から請求項4のいずれか一項に記載の光学的情報読取装置において、前記波形データが、いずれか1又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする。
【発明の効果】
【0011】
請求項1の発明では、バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
【0012】
請求項2の発明では、受光センサの素子列が、当該素子列の列方向(所定方向)と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【0013】
請求項3の発明では、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置(反射レベルデータ取得位置)からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【0014】
請求項4の発明では、複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成している。このようにすれば、合成処理を迅速かつ好適に行うことができる。
【0015】
請求項5の発明では、合成しようとする波形データが、いずれか1又は複数の他の波形データと所定の類似状態であるか否かを判断し、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ(例えば汚れなどに起因して非類似となる波形データ等)を除くことができる。
【発明を実施するための最良の形態】
【0016】
[第1実施形態]
以下、本発明の光学的情報読取装置を具現化した第1実施形態について、図面を参照して説明する。図1は、本発明の第1実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【0017】
図1に示すバーコードリーダ10は本発明の光学的情報読取装置の一例に相当しており、物品に付されたバーコード(図1では物品Rに付されたバーコードBを例示)を読み取る装置として構成されている。このバーコードリーダ10は、図示しないケースの内部に回路部20が収容されてなるものであり、回路部20は、主に、照明光源21、受光センサ28、結像レンズ27等の光学系と、メモリ35、制御回路40、トリガースイッチ42等のマイクロコンピュータ(以下「マイコン」という)系と、から構成されている。
【0018】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられるレンズとから構成されている。なお、図1では、バーコードBが付された読取対象物Rに向けて照明光Lfを照射する例を概念的に示している。
【0019】
受光光学系は、受光センサ28、結像レンズ27、反射鏡(図示略)などによって構成されている。受光センサ28は、CCDエリアセンサとして構成されるものであり、読取対象物RやバーコードBに照射されて反射した反射光Lrを受光可能に構成されている。この受光センサ28は、結像レンズ27を介して入射する入射光を受光可能にプリント配線板(図示略)に実装されている。
【0020】
結像レンズ27は、外部から読取口(図示略)を介して入射する入射光を集光して受光センサ28の受光面28aに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源21から照射された照明光LfがバーコードBにて反射してなる反射光Lrを結像レンズ27で集光し、受光センサ28の受光面28aにコード像を結像させている。
【0021】
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、トリガースイッチ42、ブザー44、表示LED(以下、単にLEDとも称する)45、液晶表示器46、通信インタフェース48等から構成されている。
【0022】
光学系の受光センサ28から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、所定のコード像画像情報格納領域に蓄積される。なお、同期信号発生回路38は、受光センサ28およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0023】
制御回路40は、バーコードリーダ10全体を制御可能なマイコンによって構成されており、CPU、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ35とともに情報処理装置を構成している。本実施形態では、制御回路40に対し、トリガースイッチ42、ブザー44、LED45、液晶表示器46、通信インタフェース48等が接続されており、例えば、トリガースイッチ42の監視や管理、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、LED45の点灯、非点灯、液晶表示器46の表示制御、通信インターフェース48の制御等が制御回路40によって行われるようになっている。なお、制御回路40は、「生成手段」、「波形合成手段」、「デコード手段」、「類似判断手段」の一例に相当する。
【0024】
次に、バーコードリーダ10での読取処理について説明する。図2は、読取処理の流れを例示するフローチャートである。図3は、波形データ合成処理の流れを例示するフローチャートである。図4(a)は、受光センサ28における素子構成と、受光センサ28に結像されるバーコード像との関係を説明する説明図であり、図4(b)は、図4(a)のバーコード像に基づいて得られる画像データを示す説明図である。
【0025】
図2の読取処理の開始に伴い、まず範囲特定処理(ラベリング処理)が行われる(S1)。この範囲特定処理では、受光センサ28の受光結果に基づいて図4(b)のようなバーコードBの画像データを生成した上で、その画像データにおいてバーコード領域A1を特定する。本実施形態の受光センサ28は、図4(a)に示すように複数の受光素子が所定方向(本実施形態ではバーコードリーダ10の幅方向、図4(a)では紙面横方向)に並んでなる素子列を複数備えている。これらの素子列は、その所定方向(素子列の並び方向)と直交する方向(図4(a)では縦方向)に複数並んでおり、全体としてエリアセンサとして構成されている。バーコードBを読み取る際には、このような受光センサ28上に結像レンズ27によってバーコードBの像B'が結像するようになっている。受光センサ28の各受光素子は、このようなバーコード像B'を反映した受光信号をそれぞれ出力するようになっており、S1の処理では、このような受光センサ28での受光結果に基づいて図4(b)のような画像データが生成されることとなる。さらに、図4(b)のように、その生成された画像データにおいて、黒バー及び白バーの配置領域の周囲に所定の余裕領域を設けた形でバーコード領域A1が特定される。
【0026】
S1にてバーコード領域A1を特定した後、S2にて波形データを生成する処理が行われる。この波形データ生成処理は、S1の範囲特定処理によって特定されたバーコード領域A1の複数位置を選択し、これら複数位置についての波形データを生成する処理である。具体的には、受光センサ28におけるバーコード像B'の結像領域に配される複数の素子列を選択し、これら複数の素子列からの受光信号に基づき、各素子列毎の波形データをそれぞれ生成する。このように、バーコードBのバー配列方向における複数位置の反射レベルデータによって波形データが構成されることとなる。
なお、本実施形態では制御回路40及び図2に示すプログラムが「生成手段」の一例に相当する。
【0027】
本実施形態では、図4(b)に示すように、画像データのバーコード領域A1における中心位置を含んだ5位置L1〜L5について波形データを生成するようにしている。この5位置L1〜L5は、受光センサ28におけるバーコード像B'の結像領域A1'(バーコード領域A1の画像を生成するための素子領域)に配される5つの素子列L1'〜L5'(図4(a)参照)に対応しており、S2の処理では、この5つの素子列L1'〜L5'のそれぞれにおいて受光素子毎の受光量を求め、各受光素子毎の位置データと受光量とを対応付けた状態で波形データとしてメモリ35に記憶している。図5(a)では、バーコード像の結像領域に配される1つの素子列の波形データを例示しており、横軸を受光位置(図5(a)では各受光素子の位置に相当)とし、縦軸に受光量として、受光センサ28における受光位置と受光量との関係を波形データとして示している。なお、本実施形態では、素子列を構成する各受光素子の位置データが、バーコードBにおけるバー配列方向の複数位置に対応しており、素子列を構成する各受光素子の受光量は、当該複数位置の各反射レベルデータに相当している。
【0028】
S2にて波形データを生成した後、各波形データについて補間処理を行う(S3)。
この補間処理は、バーコードBの複数位置の反射レベルデータ(即ち、バーコードBにおけるバー配列方向の複数位置に対応した各受光素子毎の受光量)に基づき、複数位置からずれた中間位置を補う補間データを生成すると共に、上記複数位置の反射レベルデータと、その生成された中間位置の補間データと、によって波形データを再生成する処理である。具体的には、図5(b)のように、隣接する2つの受光素子位置の間の中間位置についての新たな受光量データを生成することで、受光センサ28における受光位置のデータをより細分化し、データ数を2倍に増大させる。
【0029】
例えば、図4(a)(b)において、バーコード領域A1に対応する結像領域A1'における横方向の素子数が100個の場合、S2の処理では、この100個の素子についての位置データ(受光センサ28における受光位置)と受光量とが対応付けられて図5(a)のような波形データを構成するようになっている。図5(a)では、各素子列における一端側からの素子の配置順に受光位置の値が定められており、各素子列の一番端に配置される素子に対応する受光位置の値を「1」とし、2番目に配置される素子に対応する受光位置の値を「2」とするように各受光位置の値がそれぞれ定められる。S3の処理では、上記100個の受光素子によって特定される各受光位置からずれた中間位置についての受光量データを推測して生成し、図5(b)のように、各受光素子毎の受光量データと、各中間位置毎の受光量推測データとによって2倍のデータ数を備えた波形データを再生成している。図5(b)では、「素子列を構成する各受光素子に対応する位置」(即ち、図5(a)で示す各受光位置)と、「各受光素子に対応する位置からずれた中間位置」(即ち、図5(a)に加えて新たに定められる受光位置)とによって「受光位置」を再構成している。図5(a)で1、2、3、4、5・・・とされていた各受光位置(即ち、素子列を構成する各受光素子に対応する位置)が、図5(b)では、1、3、5、7、9といった奇数番に相当しており、図5(b)の偶数の受光位置がこれに加えられた中間位置に相当している。
【0030】
図6は、S2にて生成された波形データの一部領域(詳しくは左端領域)を拡大して示すものであり、受光センサにおける受光位置と受光量との対応関係をグラフ化して示している。また、図6(b)は、図6(a)の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。本実施形態では、図6(a)のように各受光素子毎の受光量を求めた後、隣接する2つの受光素子毎に補間データを求めている。具体的には、素子列の列方向における隣接する2つの受光素子の中心位置を「中間位置」とし、かつそれら隣接する2つの受光素子の各受光量の平均値をその「中間位置」の受光量推測値として、各中間位置の位置データと、各中間位置での受光量推測値とによって補間データを構成している。例えば、1番目の受光素子(図6(a)では受光位置の値は「1」)の受光量が110で、2番目の受光素子(図6(a)では受光位置の値は「2」)の受光量が105であった場合、それら隣接する2つの受光素子の中心位置(即ち、1.5の位置)が「中間位置」となり、それら隣接する2つの受光素子の受光量平均値(即ち、107.5の値)がその「中間位置」の受光量推測値となる。このようにして各中間位置の受光量推測値を順次求めていく。なお、図6(b)の例では、上述のように補間データを生成した後、1番目の受光位置より後の受光位置の値を2倍にし、各受光位置の値を整数によって表している。S3では、このような補間処理をS2にて得られた波形データ全てに対して行う。
【0031】
次に、波形データの合成処理を行う(S4)。この波形データ合成処理は、S2、S3
の処理によって生成された複数の波形データ(即ち、補間データを含んでなる補間処理後の波形データ)を位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成する処理である。なお、本実施形態では、制御回路40及び図3に示すプログラムが「波形合成手段」の一例に相当する。
【0032】
本実施形態で例示される波形データ合成処理は、S2、S3によって得られた複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎(即ち各受光量データ毎)に位置合わせして合成するものである。図3に示すように、当該処理の開始に伴い、まず、補間処理後の複数の波形データの中から基準波形データを決定する処理が行われる(S41)。ここでは、バーコード像B'の結像領域A1'の中心に最も近い素子列L1'によって得られる波形データを基準波形データとしている。
【0033】
その後、基準波形データに合成すべき一の波形データを選択する(S42)。本実施形態では、基準波形データが決定された後、縦方向一方側の素子列による波形データから順に合成するようにしており、S41の処理直後においては素子列L2'によって得られる波形データが選択される。
【0034】
例えば、図5(b)に示す波形データが基準波形データであり、図7(a)に示す波形データがS42にて選択された合成すべき1番目の波形データである場合、これらを単純に重ね合わせると図7(b)のようになる。S43の処理では、このように相違する2つの波形データを位置合わせしつつ合成し、両波形データを反映した1つの波形データを生成することとなる。
【0035】
具体的には、まず、合成元となる波形データ(以下、元波形データともいう。なお、初回の処理では基準波形データ)の全ての位置の受光量データについて、合成しようとする波形データ(初回の処理では一番目の波形データ)の全ての位置の受光量データとの差分の絶対値を求める。図8の例では、元波形データの受光量データを横方向に順番に並べ、合成すべき波形データを縦方向に順番に並べており、元波形データの受光位置の値をiとし、i=1の場合を左から一列目、i=2の場合を左から二列目といった具合に示している。また、合成すべき波形データの受光位置の値をjとし、j=1の場合を下から一列目、j=2の場合を下から二列目といった具合に示しており、元波形データのi番目の受光位置の受光量と、合成すべき波形データのj番目の受光位置の受光量と、の差分の絶対値をd(i,j)として各セルに記載している。なお、図8、図9の説明では、受光位置が14個の場合を例示しているが、これはあくまで例示であり、S3の補間処理で得られた各波形データの受光位置の数だけ並べられることとなる。
【0036】
例えば、元波形データの1番目の受光位置の受光量は「0」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(1,1)は「0」となる。従って、図8のi=1、j=1のセルでは「0」と記録されている。同様に、元波形データの2番目の受光位置の受光量は「55」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(2,1)は「55」となり、元波形データの3番目の受光位置の受光量は「80」であり、合成すべき波形データの1番目の受光位置の受光量は「0」であるため、d(3,1)は「80」となる。このようにして、図8のように、元波形データの全ての受光位置の受光量データについて、合成すべき波形データの全ての受光位置の受光量データとの差分の絶対値を求める。
【0037】
さらに、元波形データの全ての受光位置と、合成すべき波形データの全ての受光位置とを対応付け、各対応位置での累積値を求める。図9(a)は、元波形データの各受光位置と、合成すべき波形データの各受光位置と、対応付け、各対応位置での累積値を示すものであり、元波形データのi番目の受光位置と、合成すべき波形データのj番目の受光位置と、を対応付けた対応位置についての累積値をg(i,j)として示している。この対応位置の累積値g(i,j)は、数1の式にて算出されるものである。
【0038】
【数1】
【0039】
数1では、右辺括弧内における上段式、中段式、下段式のうちの最小値を累積値g(i,j)としている。なお、d(i,j)は、元波形データのi番目の受光位置の受光量と、合成すべき波形データのj番目の受光位置の受光量との差分の絶対値を示すものであり、上述の算出にて得られるものである(図8参照)。図9(a)は、各対応位置での累積値(i,j)について示しており、元波形データの受光位置については、i=1の場合を左から一列目、i=2の場合を左から二列目といった具合に示している。また、合成すべき波形データについては、j=1の場合を下から一列目、j=2の場合を下から二列目といった具合に示している。
【0040】
上記のように各対応位置(i,j)について累積値g(i,j)を求めた後、図9(b)のテーブルの右上から左下に向かって最小累積経路を求める。まず、右上のセル(図9では、i=14、j=14のセル)をスタートセルとして着目する。そして、当該着目セルの隣接するセル(着目セルの上下、左右、斜めのいずれかに配されるセル)から最も累積値の小さいセルを検出し、このセルを新たな着目セルして決定する。その後、同様に、新たな着目セルの上下、左右、斜めのセルから最も累積値の小さいセルを検出し、このセルを新たな着目セルとして決定する。このように着目セルを順次決定することで図9(b)のような経路が得られる。
【0041】
このように得られる最小累積経路に基づいて合成データを生成する。具体的には、最小累積経路に基づき、元波形データの各受光位置と対応する受光位置(1又は複数位置)を合成すべき波形データの中から検出する。そして、互いに対応するこれらの受光位置での受光量の平均値(即ち、元波形データの各受光位置の受光量と、当該各受光位置に対応する合成すべき波形データの1又は複数の受光位置の受光量と、の平均値)を算出し、この平均値を、元波形データの各受光位置の新たな受光量とする。
【0042】
例えば、最小累積経路を参照すると、元波形データの1番目の受光位置と、合成すべき波形データの1番目及び2番目の受光位置が対応しているため、元波形データの1番目の受光位置の受光量「0」と、合成すべき波形データの1番目の受光位置の受光量「0」及び2番目の受光位置の受光量「20」と、を平均化した平均値「20/3」を算出し、これを元波形データの1番目の受光位置の新たな受光量とする。同様に、最小累積経路を参照すると、元波形データの2番目の受光位置と、合成すべき波形データの3番目の受光位置とが対応しているため、元波形データの2番目の受光位置の受光量「55」と、合成すべき波形データの3番目の受光位置の受光量「43」と、を平均化した平均値「98/2」(即ち49)を算出し、これを元波形データの2番目の受光位置の新たな受光量とする。このように、元波形データの全ての受光位置について、最小累積経路を参照して元波形データと合成すべき波形データとを合成し、新たな元波形データを生成する。
【0043】
このように合成処理が行われ、新たな元波形データが生成された後、S44において合成すべき波形データが残っているか否かを判断する処理を行う。本実施形態では、最初に決定された基準波形データに対して他の波形データを順次合成しており、合成すべき他の波形データが残存している場合にはS44にてYesに進み、再びS42に戻って残存しているいずれかの波形データを合成すべき波形データとして選択する。そして、その波形データを、前回のS43にて生成された新たな元波形データに対して合成する処理を行う(S43)。一方、すべての他の波形データの合成が終了した場合にはS44にてNoに進む。全ての波形データを合成した合成データ(最終的に得られた元波形データ)は、図5(a)の基準波形データや、図7(a)の一本目の波形データと比較してなだらかな形状となり、かつバーコードBのバー幅を精度高く反映した形状となる。
【0044】
図2に示すように、S4の処理の後、S4にて生成された合成波形データに基づいてデコード処理が行われる(S5)。なお、波形データに基づいてデコード処理を行う点についてはバーコードリーダの分野において公知であるので詳細は省略する。
なお、本実施形態では、制御回路40及び図2のプログラムが「デコード手段」の一例に相当する。
【0045】
以上のように、本実施形態ではバーコードのバー配列方向における複数位置の反射レベルデータ(受光量データ)を含んだ波形データを複数生成すると共に、その複数の波形データを位置合わせしつつ合成し、これら複数の波形データを反映した単一の合成波形データを生成している。このようにすれば、バーコードのバー配列をより精度高く反映した波形データを得ることができ、そのような波形データに基づいて良好にデコード処理を行うことができる。
【0046】
また、受光センサ28において、素子列が、当該素子列の列方向(所定方向)と直交する方向に複数並んでおり、複数の素子列からの受光信号に基づいて、波形データを複数生成している。このようにすれば、複数の波形データを迅速に生成でき、かつ、それぞれの波形取得位置が異なっているため、ノイズの影響等を軽減した合成波形データを生成できる。また、受光素子列が、素子列の列方向と直交する方向に並んでいるため、波形データの位置合わせを迅速かつ良好に行うことができる。
【0047】
また、波形データを生成する際に、複数位置の反射レベルデータに基づき、その複数位置(反射レベルデータ取得位置)からずれた中間位置を補う補間データを生成しており、複数位置の反射レベルデータと、中間位置の補間データとによって波形データを構成している。このように中間位置を補間データによって補間した波形データを構成した上で合成波形データを生成するようにすれば、反射レベルデータ取得位置以外の中間位置を適切に考慮した上での合成が可能となり、バーコードをより一層精度高く反映した合成波形データを生成できる。
【0048】
また、複数の波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成している。このようにすれば、合成処理を迅速かつ好適に行うことができる。
【0049】
[第2実施形態]
次に第2実施形態について説明する。図11は、第2実施形態における波形データ合成処理を例示するフローチャートである。なお、本実施形態では、波形データ合成処理の一部のみが第1実施形態と異なっており、それ以外については第1実施形態と同一であるので、同一の部分については詳細な説明は省略する。
【0050】
図11に示す波形データ合成処理は、S141〜S143については図3のS41〜S43と同一である。S143にてS43と同様の合成処理が行われた後、S144において最終累積値が閾値以上か否かを判断する。最終累積値は、図9(b)に示す最小累積経路の終端(右上端)の累積値であり、図9(b)では「525」となっている。この最終累積値は、元波形データと合成すべき波形データとの類似性が高い場合に小さく、類似性が低い場合に大きくなる値であり、当該最終累積値が予め定められた閾値を超える場合には、S144にてNoに進み、直前のS143にて合成しようとした波形データ(即ち、その直前のS142で選択された合成すべき波形データ)を合成対象から除外する。即ち、この場合にはS143にて合成処理が行われる前の元波形データを再度新たな元波形データとする。一方、最終累積値が予め定められた閾値以上の場合にはS144にてNoに進む。この場合には、第1実施形態と同様にS143における合成処理後の波形データが新たな元波形データとなる。
【0051】
このように、本実施形態では、合成しようとする波形データが、いずれか1又は複数の他の波形データと所定の類似状態であるか否か(具体的には元波形データと所定の類似状態であるか否か)を、最終累積値が閾値を超えるか否かを判断することで判断しており、所定の類似状態でないと判断された波形データを合成対象から除外している。このようにすれば、合成すべきでない非類似の波形データ(例えば汚れなどに起因して非類似となる波形データ等)を除くことができる。
なお、制御回路40は、「類似判断手段」の一例に相当する。
【0052】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0053】
上記実施形態では、受光センサとしてエリアセンサを用いたが、ラインセンサによって受光センサを構成してもよい。この場合、ラインセンサによって複数回受光処理を行うことでバーコードについての画像データを複数生成し、それに基づいて複数の波形データを生成するようにすればよい。
【0054】
上記実施形態では、生成された複数の波形データを位置合わせしつつ合成し、複数の波形データを反映した単一の合成波形データを生成する方法として、第1実施形態のような方法を例示したが、別の方法を用いてもよい。例えば、S3にて補間処理がなされた後の全ての波形データについて、受光位置毎に平均値を求め、これら各受光位置毎の平均値の集合を合成波形データとしてもよい。
【0055】
上記実施形態では、合成すべき波形データが、いずれか1又は複数の他の波形データ(具体的には元波形データ)と、「所定の類似状態」であるか否かを判断する一例を示したがこれに限られない。例えば、図11のS144の処理に代えて類似状態を判断する別の方法を用いてもよい。具体的には、図11のS144の判断処理において、各受光位置毎に、元波形データの受光量と合成すべき波形データの受光量との差分の絶対値を求め、この差分の絶対値の総和が予め決められた閾値未満の場合を「所定の類似状態」とするようにしてもよい。例えば、元波形データの1番目の受光位置での受光量と、合成すべき波形データの1番目の受光位置での受光量との差分の絶対値Z1を求め、同様に元波形データの2番目の受光位置での受光量と、合成すべき波形データの2番目の受光位置での受光量との差分の絶対値Z2を求め、このようにして最後のn番目の受光位置での差分の絶対値Znまで求める。そしてこれらの総和、即ちZ1+Z2+・・・+Znを求め、S144の処理においてこの総和が予め定められた閾値以上か否かを判断するようにしてもよい。総和が予め定められた閾値以上となるような大きい場合には、各受光位置における受光量の差が総合的に大きく、類似性が低いと判断できるため、このような場合にはS144にてYesに進み、上述したS145の処理と同様に合成すべき波形データを合成対象から除外する(即ち、直近のS143の合成処理前の元波形データを新たな元波形データとして使用する)。一方、総和が閾値未満である場合にはS144にてNoに進み、直近のS143の合成処理後の元波形データを新たな元波形データとして使用する。
【図面の簡単な説明】
【0056】
【図1】図1は、本発明の第1実施形態に係るバーコードリーダの電気的構成を概略的に例示するブロック図である。
【図2】図2は、読取処理の流れを例示するフローチャートである。
【図3】図3は、波形データ合成処理の流れを例示するフローチャートである。
【図4】図4(a)は、受光センサ28における素子構成と、受光センサ28に結像されるバーコード像との関係を説明する説明図であり、図4(b)は、図4(a)のバーコード像に基づいて得られる画像データを示す説明図である。
【図5】図5(a)は、波形データの一例を示すグラフであり、図5(b)は、図5(a)の波形データに対して補間処理を行った後の再生成後の波形データを示すグラフである。
【図6】図6(a)は、図5(a)の波形データの一部領域を拡大して示すものであり、図6(b)は、図6(a)の波形データについて補間処理を行い、補間データを含んだ波形データを再生成した例を示すものである。
【図7】図7(a)は、元波形データに合成すべき他の波形データを例示するグラフであり、図7(b)は、図5(a)の波形データと図7(a)の波形データとを位置合わせして重ねたグラフである。
【図8】図8は、元波形データの各受光位置での受光量と、合成すべき波形データの各受光位置での受光量との差分の絶対値をそれぞれ示す表である。
【図9】図9(a)は、元波形データの各受光位置と、合成すべき波形データの各受光位置とを対応付け、各対応位置での累積値を示す表であり、図9(b)は、図9(a)の累積値に基づく最小累積経路を示すものである。
【図10】図10は、全ての波形データを合成した合成波形データを例示するグラフである。
【図11】図11は、第2実施形態における波形データ合成処理を例示するフローチャートである。
【符号の説明】
【0057】
1…バーコードリーダ(光学的情報読取装置)
27…結像レンズ
28…受光センサ(エリアセンサ)
40…制御回路(生成手段、波形合成手段、デコード手段、類似判断手段)
B…バーコード
【特許請求の範囲】
【請求項1】
複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、
バーコードからの反射光を前記受光センサで結像させる結像レンズと、
前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、
前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、
前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、
を備えたことを特徴とする光学的情報読取装置。
【請求項2】
前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、
前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする請求項1に記載の光学的情報読取装置。
【請求項3】
前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、
前記波形合成手段は、前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする請求項1又は請求項2に記載の光学的情報読取装置。
【請求項4】
前記波形合成手段は、複数の前記波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成することを特徴とする請求項1から請求項3のいずれか一項に記載の光学的情報読取装置。
【請求項5】
前記波形データが、いずれか1又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、
前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする請求項1から請求項4のいずれか一項に記載の光学的情報読取装置。
【請求項1】
複数の受光素子が所定方向に並んだ素子列を備えた受光センサと、
バーコードからの反射光を前記受光センサで結像させる結像レンズと、
前記素子列を構成する前記複数の受光素子からの各受光信号に基づき、前記バーコードのバー配列方向における複数位置の反射レベルデータを含んだ波形データを複数生成する生成手段と、
前記生成手段にて生成された複数の前記波形データを位置合わせしつつ合成し、複数の前記波形データを反映した単一の合成波形データを生成する波形合成手段と、
前記波形合成手段によって生成された前記合成波形データに基づいてデコード処理を行うデコード手段と、
を備えたことを特徴とする光学的情報読取装置。
【請求項2】
前記受光センサは、前記素子列が前記所定方向と直交する方向に複数並んでなるエリアセンサであり、
前記生成手段は、前記エリアセンサにおける複数の前記素子列からの前記受光信号に基づいて、前記波形データを複数生成することを特徴とする請求項1に記載の光学的情報読取装置。
【請求項3】
前記生成手段は、前記複数位置の前記反射レベルデータに基づき、前記複数位置からずれた中間位置を補う補間データを生成すると共に、前記複数位置の前記反射レベルデータと、前記中間位置の前記補間データとによって前記波形データを構成し、
前記波形合成手段は、前記補間データを含んでなる前記波形データを複数合成して前記合成波形データを生成することを特徴とする請求項1又は請求項2に記載の光学的情報読取装置。
【請求項4】
前記波形合成手段は、複数の前記波形データのいずれかを基準波形データとし、当該基準波形データに対し、他の各波形データを、各反射レベルデータ毎に位置合わせして合成することを特徴とする請求項1から請求項3のいずれか一項に記載の光学的情報読取装置。
【請求項5】
前記波形データが、いずれか1又は複数の他の波形データと、所定の類似状態であるか否かを判断する類似判断手段を備え、
前記波形合成手段は、前記類似判断手段によって前記所定の類似状態でないと判断された前記波形データを合成対象から除外することを特徴とする請求項1から請求項4のいずれか一項に記載の光学的情報読取装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−99099(P2009−99099A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−272572(P2007−272572)
【出願日】平成19年10月19日(2007.10.19)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願日】平成19年10月19日(2007.10.19)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]