JP4188104B2 - バーコード読取装置 - Google Patents
バーコード読取装置 Download PDFInfo
- Publication number
- JP4188104B2 JP4188104B2 JP2003044986A JP2003044986A JP4188104B2 JP 4188104 B2 JP4188104 B2 JP 4188104B2 JP 2003044986 A JP2003044986 A JP 2003044986A JP 2003044986 A JP2003044986 A JP 2003044986A JP 4188104 B2 JP4188104 B2 JP 4188104B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- path
- module
- bar
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10554—Moving beam scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Optical Recording Or Reproduction (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
この発明は、バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取装置に関し、特に、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかを効率的かつ正確に判定することができるバーコード読取装置に関する。
【0002】
【従来の技術】
従来から商品の流通分野においては、あらかじめ商品にバーコードを付しておき、この商品がバーコード読取装置(バーコードスキャナ)にかざされた際に商品のバーコードを読み取ることにより、この商品の値段や商品名などの商品に関する情報をレジスタ等に登録するバーコードシステムが知られている。
【0003】
具体的には、かかるバーコード読取装置では、(1)黒バーと白バーの幅情報の配列からなるバーコードに対してビーム光を照射するとともに、このバーコードから反射された反射光を受光してその光強度に応じた振幅の電気信号を発生し、(2)この電気信号の振幅変化からバーコードをなす白バーから黒バーへの境界および黒バーから白バーへの境界信号(エッジ信号)を抽出し、(3)抽出したエッジ信号間を、バー幅の数十倍〜数百倍の分解能を持つクロックを用いて、エッジ信号間隔をバー幅カウント値として計測し、(4)計測したカウント値から、バーコードをなす各バーの幅を計測し、白黒バーの幅比を計算するという一連の処理をおこなうことになる。
【0004】
したがって、従来のバーコード読取装置によれば、バーコードからの反射光の光強度が十分あり、反射光の振幅が大きい場合には、バーコードの白黒バーの幅比を正確に把握し、もってバーコードが付された商品の商品に関する情報をレジスタ等に正確に登録することができる。
【0005】
【特許文献1】
特開平10−261043号公報
【0006】
【発明が解決しようとする課題】
しかしながら、バーコード読取装置の実運用環境を考慮すると、必ずしもバーコードからの反射光が十分ある場合だけではないので、バーコードの白黒バーの読み取り誤りが生ずるという問題がある。
【0007】
特に、モジュール点の振幅値を一つ一つ個別に見た場合には、実運用環境によってはたまたま振幅値が低下することが多いため、黒バーから白バーへ変化するエッジ「1」であるか、白バーから黒バーへ変化するエッジ「−1」であるか、エッジでない部分「0」であるかを正確に判定することは難しい。
【0008】
これらのことから、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかをいかに効率的かつ正確に判定するかが重要な課題となっている。なお、上記特許文献1のものは、最尤推定法と限界距離復号法を組み合わせてバーコードのような符号化された文字列を復号するものであるが、ここでは単に復号化のために最尤推定法を使っているだけであり、各モジュール点の振幅値を3値化するために用いているわけではないので、かかる課題を解決するものではない。
【0009】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかを効率的かつ正確に判定することができるバーコード読取装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明に係るバーコード読取装置は、バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取装置であって、前記エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得する振幅値取得手段と、前記振幅値取得手段により取得された各モジュール点の振幅値を3値化する際に、3値化対象のモジュール点とその後連続する複数のモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、隣接するモジュール点の各状態間を連結するパスに連結先のモジュール点の増幅幅とリファレンスとの最小2乗誤差をそれぞれパスメトリックとして与え、3値化対象のモジュール点から後続の各モジュール点の各状態へ達するパスの連なりのうち、パスメトリックの和が最小となるパスの連なりを生き残りパスとし、所定数のパスを経た後における該生き残りパスのうちパスメトリックの和が最小のものと連結された前記3値化対象のモジュール点の状態を該モジュール点の値として3値化処理する3値化処理手段とを備え、前記3値化処理手段は、状態1から状態1へのパスおよび状態−1から状態−1へのパスを含むパスの連なりを前記生き残りパスから除外するとともに、状態1または状態−1から状態0への生き残りパスがある場合には、前記3値化対象のモジュール点を起点とし、かつ、それらのモジュール点間のパスとして状態0から状態0へのパスを含むパスの連なりのうち、パスメトリックの和が最小のものも生き残りパスの1つとすることを特徴とする。
【0011】
この発明によれば、エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得し、取得した各モジュール点の振幅値を3値化する際に、該モジュール点とその後連続する複数のモジュール点の振幅値を用いて最尤推定により当該モジュール点の振幅値を3値化処理することとしたので、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかを効率的かつ正確に判定することができる。
【0012】
また、この発明によれば、状態1から状態1へのパスおよび状態−1から状態−1へのパスを禁止することとしたので、微分特性に基づいて対象となるパスを減らし、処理の効率化を図ることができる。
【0013】
また、この発明によれば、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すこととしたので、パスの誤りに伴う精度の低下を防ぐことができる。
【0014】
また、この発明に係るバーコード読取装置は、上記発明において、前記3値化処理手段は、前記黒バーの黒太りまたは白バーの白太りが所在する場合には、該黒太りまたは白太りの太り量に応じて前記状態1または状態−1のリファレンスを変更することを特徴とする。
【0015】
この発明によれば、黒太りまたは白太りの量に応じてリファレンスの値を変更することとしたので、黒バーの黒太りまたは白バーの白太りの影響によって各モジュール点における振幅が変動した場合でも、復号精度の低下を防ぐことができる。
【0020】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るバーコード読取装置の好適な実施の形態を詳細に説明する。
【0021】
まず、本実施の形態に係るバーコード読取装置の構成について説明する。図1は、本実施の形態に係るバーコード読取装置の構成を示す機能ブロック図である。同図に示すように、このバーコード読取装置は、光走査部2と、アナログ処理部3と、ADコンバータ4と、読取処理部5とを有する。
【0022】
光走査部2は、ビーム光を発光するLD(Laser Diode)2aと、このLD2aからのビーム光を反射させる鏡面体により形成されたポリゴンミラー2bとを有する。このポリゴンミラー2bは、図示しないモータから与えられる回転作動力によって回転し、ビーム光の反射方向を変化させることにより、複数の走査パターンを与える役割を持つ。この光走査部2を用いることにより、LD2aから発光されたビーム光が、ポリゴンミラー2bの回転によって読取面にかざされたバーコード1に出射され、図中aからbに向かう方向に照射されることになる。
【0023】
アナログ処理部3は、バーコード1に照射されたビーム光の反射光を含む光を受光部により受光し、その強弱に応じた振幅値の電気信号に光電変換するとともに、光電変換された信号に必要な増幅をおこなうものである。ADコンバータ4は、アナログ処理部3から出力されたアナログの光電変換信号をデジタルサンプリングしてデジタル信号として出力するものである。
【0024】
読取処理部5は、ADコンバータ4から受け取ったデジタルの光電変換信号に基づいてバーコードキャラクタを特定して出力する処理部であり、切り出し部5a、狭帯域微分処理部5b、モジュール周波数抽出部5c、モジュール点抽出部5d、モジュールタイミング抽出部5e、最尤判定処理部5fおよびバーコード復調部5gを有する。
【0025】
切り出し部5aは、後段の処理の負荷を軽減するために、光電変換信号からバーコードらしい信号のみを抽出する処理部であり、具体的には、光電変換信号が、縦軸を時間とし縦軸を振幅値とした波形となるので、図2(a)に示すような波形の一部を切り出すことになる。
【0026】
モジュール周波数抽出部5cは、バーコード信号の基本モジュールに相当する周波数を抽出する処理部であり、狭帯域微分処理部5bは、モジュール周波数抽出部5cにより抽出された基本モジュールに相当する周波数に基づいて光電変換信号に狭帯域微分をおこなって、図2(b)に示すようなエッジの波形を抽出する処理部である。具体的には、バーコード1の黒バーが白バーに変化する場合にはプラスのエッジが生じ、白バーから黒バーに移行する場合にはマイナスのエッジが生ずることになる。
【0027】
モジュールタイミング抽出部5eは、モジュール周波数抽出部5cにより抽出された基本モジュールに相当する周波数に基づいてモジュール点を抽出するためのタイミングを抽出する処理部であり、モジュール点抽出部5dは、モジュールタイミング抽出部5eが抽出したタイミングにしたがって、図2(c)に示すようにモジュール点を抽出する処理部である。
【0028】
最尤判定処理部5fは、本発明の特徴をなす部分であり、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理する。
【0029】
かかる最尤判定をおこなう理由は、モジュール点の振幅値を一つ一つ個別に見た場合には、実運用環境によってはたまたま振幅値が低下することが多く、黒バーから白バーへ変化するエッジ「1」であるか、白バーから黒バーへ変化するエッジ「−1」であるか、エッジでない部分「0」であるかを正確に判定することが難しいからである。すなわち、この最尤判定処理部5fでは、モジュール点をローカルに見るのではなく、複数のモジュール点間の遷移状態を考慮して各モジュール点の3値判定をおこなうこととしている。
【0030】
ここで、この最尤判定処理部5fは、微分特性を考慮してパスに制限をつけている点にも特徴がある。具体的には、状態1から状態1へのパス、状態−1から状態−1へのパス、状態1から任意の数の状態0を経由した状態1へのパスおよび状態−1から任意の数の状態0を経由した状態−1へのパスを禁止している。なぜなら、状態1から状態1へ状態遷移は、黒バーから黒バーへのエッジが存在することを意味するが、バーコードの場合には黒バーが多値ではないので、この状態遷移が生じないからである。つまり、状態1からは状態0または状態−1に移行する他ないのである。なお、同様の理由で、状態−1から状態−1へのパス、状態1から任意の数の状態0を経由した状態1へのパスおよび状態−1から任意の数の状態0を経由した状態−1へのパスも禁止することができる。
【0031】
また、この最尤判定処理部5fは、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すこととしている。その理由は、たとえば上記説明で禁止されている状態−1から状態0を経て状態−1へ遷移するパスのみが存在するような場合には、明らかにパスメトリックの値が妥当でなかったわけであるので、状態0から状態0への遷移を候補として残すべきだからである。
【0032】
さらに、この最尤判定処理部5fは、連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックとするわけであるが、黒バーの黒太りや白バーの白太りが存在する場合には、リファレンスの値を変化させることとしている。かかる処理をおこなう理由は、黒バーの黒太りや白バーの白太りに起因してモジュール点の振幅値が低下し、その結果として生き残りパスに誤りが生ずる可能性があるからである。この点についての詳細な説明は後述する。
【0033】
バーコード復調部5gは、最尤判定処理部5fの判定結果(エッジの変化)に基づいて、バーコード1がいかなる黒バーと白バーの組み合わせにより形成されるかを特定し、特定したデータに対応するバーコードキャラクターを出力する処理部である。
【0034】
次に、図1に示した読取処理部5の処理手順について説明する。図3は、図1に示した読取処理部5の処理手順を示すフローチャートである。同図に示すように、この読取処理部5では、まず切り出し部5aが光電変換信号からバーコード信号らしき部分を切り出す(ステップS101)。
【0035】
その後、モジュール周波数抽出部5cが抽出したモジュール周波数を用いて狭帯域微分処理部5bが微分処理をおこなって、上記バーコード信号らしき部分の波形からエッジの波形を抽出する(ステップS102)。また、モジュールタイミング抽出部5eがモジュール周波数を使って抽出したモジュールタイミングを利用して、モジュール点抽出部5dがエッジの波形からモジュール点を抽出する(ステップS103)。
【0036】
このようにして、エッジの波形からモジュール点を抽出できたならば、最尤判定処理部5fが、最尤法を用いた3値判定をおこなう(ステップS104)。具体的には、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理する。
【0037】
その後、バーコード復調部5iが、最尤判定処理部5fによる3値化処理結果を用いて、バーコード1の黒バーおよび白バーが意味するバーコードキャラクタを復調する(ステップS105)。
【0038】
次に、図1に示した最尤判定処理部5fの処理について図4〜図6を用いてさらに具体的に説明する。図4(a)に示すように、あるモジュール点を時間tに対応付け、このモジュール点に引き続く次のモジュール点を時間t+1に対応づけ、それぞれ3つの状態「1」、「0」、「−1」を与える。そして、時間tから時間t+1の各状態へのパスを考える。ここで、すでに説明したように、状態「1」から状態「1」への遷移や、状態「−1」から状態「−1」への遷移は認めていないので、これらに対応するパスは生じない。
【0039】
その後、各パスに対してパスメトリックを付与することになるが、その際には、時間t+1のモジュール点の振幅値と各状態(に割り当てられたリファレンス)との間の2乗誤差をパスメトリックとする。ここでは、状態1、0、−1のリファレンスをそれぞれ「1」、「0」、「−1」とし、時間t+1のモジュール点の振幅値を0.2としているので、状態0から状態1へのパスのパスメトリックは(1-0.02)2=0.64となる。同様にして、各状態間のパスにパスメトリックが付与される。
【0040】
次に、図4(b)に示すように、時間t+1から時間t+2への状態遷移を考えることになるが、この段階で時間tから時間t+1へ至る不要なパスを削除する。具体的には、状態0から状態1へ至るパスは残すが、状態−1から状態1へ至るパスは削除する。つまり、同じ状態1へ至るパスのうちパスメトリックが小さくなるものだけを残し、それ以外を削除するのである。パスメトリックが小さくなるものを残す理由は、パスメトリックが小さいということは、該当する状態への2乗誤差が少なく該状態に至る可能性が大きいからである。
【0041】
その後、時間tから時間t+1への状態遷移と同様に、時間t+1から時間t+2への状態遷移を考えてパスとパスメトリックを算定する。なお、状態t+1から状態t+2へのパスについては、前状態へ移行するパスのパスメトリックを加算する。なぜなら、最終的には、パスメトリックの最も小さい生き残りパスを利用して時間tの状態を決めるからである。
【0042】
次に、図5(a)に示すように時間t+2から時間t+3へのパスとパスメトリックを算定した後、図5(b)に示すように時間t+3から時間t+4へのパスとパスメトリックを算定する。ここで、時間t+3から時間t+4へのパスのうち、状態0から状態1へのパスは設ける必要はない。なぜなら、時間t+3の状態0へは、時間t+2の状態1からのパスが生き残っており、禁則条件である状態1から状態0を経て状態1に移行するパスになってしまうからである。
【0043】
そして、図6に示すように時間t+4の時点での各パスのパスメトリックを計算すると、状態1へ至るパスのパスメトリックが0.18、状態0へ至るパスのパスメトリックが0.58、状態−1へ至るパスのパスメトリックが3.78となるので、ここからパスメトリックの最小値を求めると、状態1へ至るパスのパスメトリックが0.18が最小値となる。
【0044】
ここで、あらかじめ定めたさかのぼる時間が4であるとすると、この状態1から4つのパスをさかのぼることになるので、時間t+3の状態1、時間t+2の状態−1、時間t+1の状態0、時間tの状態0(1→−1→1→0→0)とさかのぼることができるので、時間tでの状態が「0」であると判定されることになる。また、ここでは図示省略したが、時間t+5の場合も同様にして各状態に至るパスの最小のパスメトリックを求め、この状態から4つのパスをさかのぼることにより、時間t+1の状態が判定されることになる。
【0045】
なお、ここではさかのぼるパス(時間)を4としたが、この時間は処理速度や誤り訂正能力を考慮して任意に設定することができる。さかのぼる時間を大きくすればするほど、過去の状態を保持するメモリ量や処理時間が増える反面で誤り訂正能力が大きくなる。
【0046】
次に、図1に示した最尤判定処理部5fによる最尤判定時における状態遷移の制約条件について図7〜図9を用いてまとめる。図7(a)に示すように、ある時間から次の時間への状態遷移を考えた場合には、状態1から状態1への状態遷移と状態−1から状態−1への状態遷移は微分特性から見てあり得ないので、図7(b)に示すパスのみが存在する。
【0047】
また、3つの時間における状態遷移を考えると、図8(a)に示す1→0→−1のパスと、同図(b)に示す−1→0→−1のパスは存在しない。さらに、図9に示す1→0→0→1のパスや、−1→0→0→−1のパスについても存在しない。微分特性から見て、これらの状態遷移はあり得ないからである。
【0048】
次に、図1に示した最尤判定処理部5fが制約条件を満たさない場合におこなうパス変更について説明する。図10は、図1に示した最尤判定処理部5fが制約条件を満たさない場合におこなうパス変更を説明するための説明図である。同図に示すように、時間t−1の状態−1を見ると時間tの状態0へのパスしか存在しない。また、この時間tの状態0からは時間t+1の状態−1へのパスが考えられるが、すでに説明したように−1→0→−1のパスを形成してしまうので、原則としてかかるパスは削除される。
【0049】
しかしながら、この時刻t−1で状態−1のみを残したこと自体が誤っている可能性も否定できない。なぜなら、時間tのモジュール点の振幅値が本来の振幅値である0よりも−1に近くなってしまったようなケースも考えられるからである。このため、かかる場合に備えて、時間t−1の状態0から時間tの状態0へのパスも残すこともできる。
【0050】
次に、図1に示した最尤判定処理部5fによる3値化処理結果の一例について説明する。図11は、図1に示した最尤判定処理部5fによる3値化処理結果の一例を示す図である。
【0051】
同図(a)に示すエッジ波形のモジュール点が入力した場合に、単に0.5をしきい値として3値化スライスすると、同図(b)のようになる。これに対して、本発明に係る最尤判定処理部5fによる3値化処理をおこなうと、同図(c)に示す結果が得られる。
【0052】
図中に丸印で示したモジュール点を比較すると、大局的に見た最尤判定をおこなうことにより、局所的な3値化スライスでは誤判定していた部分を適正化することができる。
【0053】
上述してきたように、本実施の形態では、切り出し部5aが光電変換信号からバーコード信号らしき部分を切り出した後に、モジュール周波数を用いて狭帯域微分処理部5bが微分処理をおこなってエッジの波形を作り、モジュール点抽出部5dがここからモジュール点を抽出した後に、最尤判定処理部5fが、大局的な情報を利用する最尤法に基づいて3値化処理をおこなうよう構成したので、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかを効率的かつ正確に判定することができる。
【0054】
なお、本実施の形態では、状態1のリファレンスを「1」、状態0のリファレンスを「0」、状態−1のリファレンスを「−1」として2乗誤差を設けることとしたが、かかるリファレンスの値はこれに限定されるものではなく、また黒バーの黒太りに応じて変更することもできる。この点についてさらに説明すると、バーコード1をコピーして黒バーが黒太りした場合や白バーが白太りしたような場合には、ビーム径の影響により振幅値が小さくなってしまう。したがって、モジュール周波数やモジュール点の位置ずれなどから黒太りや白太りを判定した場合には、たとえば状態1のリファレンスを「0.75」にするなど適応的に変化させることができる。
【0055】
また、本実施の形態では、バーコードに対してビーム光を照射してその反射光を取得する光学系を用いた場合を説明したが、本発明はこれに限定されるものではなく、CCD(Charge Coupled Device)等の外来光を利用する光学系を用いた場合にも同様に適用することができる。
【0056】
また、本発明に係るバーコード読取装置をプログラムで実現する場合には、図1に示した読取処置部5の各部をプログラムとしてROMなどに格納し、CPUで各プログラムを実行すれば良い。
【0057】
(付記1)バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取装置であって、
前記エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得する振幅値取得手段と、
前記振幅値取得手段により取得された各モジュール点の振幅値を3値化する際に、該モジュール点とその後連続する複数のモジュール点の振幅値を用いて最尤推定により当該モジュール点の振幅値を3値化処理する3値化処理手段と、
を備えたことを特徴とするバーコード読取装置。
【0058】
(付記2)前記3値化処理手段は、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理することを特徴とする付記1に記載のバーコード読取装置。
【0059】
(付記3)前記3値化処理手段は、状態1から状態1へのパスおよび状態−1から状態−1へのパスを禁止することを特徴とする付記2に記載のバーコード読取装置。
【0060】
(付記4)前記3値化処理手段は、状態1から任意の数の状態0を経由した状態1へのパスおよび状態−1から任意の数の状態0を経由した状態−1へのパスを禁止することを特徴とする付記2または3に記載のバーコード読取装置。
【0061】
(付記5)前記3値化処理手段は、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すことを特徴とする付記2、3または4に記載のバーコード読取装置。
【0062】
(付記6)前記3値化処理手段は、前記黒バーの黒太りまたは白バーの白太りが所在する場合には、該黒太りまたは白太りの太り量に応じて前記状態1または状態−1のリファレンスを変更することを特徴とする付記2から5のいずれか一つに記載のバーコード読取装置。
【0063】
(付記7)バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取方法であって、
前記エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得する振幅値取得工程と、
前記振幅値取得工程により取得された各モジュール点の振幅値を3値化する際に、該モジュール点とその後連続する複数のモジュール点の振幅値を用いて最尤推定により当該モジュール点の振幅値を3値化処理する3値化処理工程と、
を含んだことを特徴とするバーコード読取方法。
【0064】
(付記8)前記3値化処理工程は、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理することを特徴とする付記7に記載のバーコード読取方法。
【0065】
(付記9)前記3値化処理工程は、状態1から状態1へのパスおよび状態−1から状態−1へのパスを禁止することを特徴とする付記8に記載のバーコード読取方法。
【0066】
(付記10)前記3値化処理工程は、状態1から任意の数の状態0を経由した状態1へのパスおよび状態−1から任意の数の状態0を経由した状態−1へのパスを禁止することを特徴とする付記8または9に記載のバーコード読取方法。
【0067】
(付記11)前記3値化処理工程は、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すことを特徴とする付記8、9または10に記載のバーコード読取方法。
【0068】
(付記12)前記3値化処理工程は、前記黒バーの黒太りまたは白バーの白太りが所在する場合には、該黒太りまたは白太りの太り量に応じて前記状態1または状態−1のリファレンスを変更することを特徴とする付記8から11のいずれか一つに記載のバーコード読取方法。
【0069】
(付記13)バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取プログラムであって、
前記エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得する振幅値取得手順と、
前記振幅値取得手順により取得された各モジュール点の振幅値を3値化する際に、該モジュール点とその後連続する複数のモジュール点の振幅値を用いて最尤推定により当該モジュール点の振幅値を3値化処理する3値化処理手順と、
をコンピュータに実行させることを特徴とするバーコード読取プログラム。
【0070】
(付記14)前記3値化処理手順は、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理することを特徴とする付記13に記載のバーコード読取プログラム。
【0071】
(付記15)前記3値化処理手順は、状態1から状態1へのパスおよび状態−1から状態−1へのパスを禁止することを特徴とする付記14に記載のバーコード読取プログラム。
【0072】
(付記16)前記3値化処理手順は、状態1から任意の数の状態0を経由した状態1へのパスおよび状態−1から任意の数の状態0を経由した状態−1へのパスを禁止することを特徴とする付記14または15に記載のバーコード読取プログラム。
【0073】
(付記17)前記3値化処理手順は、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すことを特徴とする付記14、15または16に記載のバーコード読取プログラム。
【0074】
(付記18)前記3値化処理手順は、前記黒バーの黒太りまたは白バーの白太りが所在する場合には、該黒太りまたは白太りの太り量に応じて前記状態1または状態−1のリファレンスを変更することを特徴とする付記14から17のいずれか一つに記載のバーコード読取プログラム。
【0075】
【発明の効果】
以上説明したように、この発明によれば、エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得し、取得した各モジュール点の振幅値を3値化する際に、該モジュール点とその後連続する複数のモジュール点の振幅値を用いて最尤推定により当該モジュール点の振幅値を3値化処理するよう構成したので、各モジュール点が、黒バーから白バーへ変化するエッジであるか、白バーから黒バーへ変化するエッジであるか、エッジでない部分であるかを効率的かつ正確に判定することができる。
【0076】
また、この発明によれば、複数の連続するモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、各モジュール点を連結するパスに連結先モジュールの振幅値とリファレンスとの最小2乗誤差をそれぞれパスメトリックを与え、所定数のパスを経た後のパスメトリックの和が最小となるパスを生き残りパスとし、該生き残りパスの連結元のモジュール点の状態を該モジュール点の値として3値化処理するよう構成したので、最尤推定を効率良くおこなうことができる。
【0077】
また、この発明によれば、状態1から状態1へのパスおよび状態−1から状態−1へのパスを禁止するよう構成したので、微分特性に基づいて対象となるパスを減らし、処理の効率化を図ることができる。
【0078】
また、この発明によれば、状態1または状態−1から状態0へのパスがある場合には、状態0から状態0へのパスを残すこととしたので、パスの誤りに伴う精度の低下を防ぐことができる。
【0079】
この発明によれば、黒太りまたは白太りの量に応じてリファレンスの値を変更することとしたので、黒バーの黒太りまたは白バーの白太りの影響によって各モジュール点における振幅が変動した場合でも、復号精度の低下を防ぐことができる。
【図面の簡単な説明】
【図1】本実施の形態に係るバーコード読取装置の構成を示すブロック図である。
【図2】図1に示した各部の出力データの一例を示す図である。
【図3】図1に示した読取処理部の処理手順を示すフローチャートである。
【図4】図1に示した最尤判定処理部による最尤判定の説明図(1)である。
【図5】図1に示した最尤判定処理部による最尤判定の説明図(2)である。
【図6】図1に示した最尤判定処理部による最尤判定の説明図(3)である。
【図7】状態遷移の制約条件を説明するための説明図(1)である。
【図8】状態遷移の制約条件を説明するための説明図(2)である。
【図9】状態遷移の制約条件を説明するための説明図(3)である。
【図10】制約条件を満たさない場合におこなうパス変更の説明図である。
【図11】最尤判定結果の一例を説明するための説明図である。
【符号の説明】
1 バーコード
2 光走査部
2a LD
2b ポリゴンミラー
3 アナログ処理部
4 ADコンバータ
5 読取処理部
5a 切り出し部
5b 狭帯域微分処理部
5c モジュール周波数抽出部
5d モジュール点抽出部
5e モジュールタイミング抽出部
5f 最尤判定処理部
5g バーコード復調部
Claims (2)
- バーコードを形成する黒バーおよび白バーからの反射光の信号強度を取得して、該信号強度を黒バーから白バーまたはその逆に変化するエッジデータを抽出し、抽出したエッジデータを3値化処理し、該3値化処理結果を用いてバーコードキャラクタを復号するバーコード読取装置であって、
前記エッジデータのモジュール周波数に基づいて、該エッジデータの各モジュール点における振幅値を取得する振幅値取得手段と、
前記振幅値取得手段により取得された各モジュール点の振幅値を3値化する際に、3値化対象のモジュール点とその後連続する複数のモジュール点にそれぞれ所定のリファレンスの値を持つ状態1、0、−1を割り当てるとともに、隣接するモジュール点の各状態間を連結するパスに連結先のモジュール点の増幅幅とリファレンスとの最小2乗誤差をそれぞれパスメトリックとして与え、3値化対象のモジュール点から後続の各モジュール点の各状態へ達するパスの連なりのうち、パスメトリックの和が最小となるパスの連なりを生き残りパスとし、所定数のパスを経た後における該生き残りパスのうちパスメトリックの和が最小のものと連結された前記3値化対象のモジュール点の状態を該モジュール点の値として3値化処理する3値化処理手段と
を備え、
前記3値化処理手段は、状態1から状態1へのパスおよび状態−1から状態−1へのパスを含むパスの連なりを前記生き残りパスから除外するとともに、状態1または状態−1から状態0への生き残りパスがある場合には、前記3値化対象のモジュール点を起点とし、かつ、それらのモジュール点間のパスとして状態0から状態0へのパスを含むパスの連なりのうち、パスメトリックの和が最小のものも生き残りパスの1つとすることを特徴とするバーコード読取装置。 - 前記3値化処理手段は、前記黒バーの黒太りまたは白バーの白太りが所在する場合には、該黒太りまたは白太りの太り量に応じて前記状態1または状態−1のリファレンスを変更することを特徴とする請求項1に記載のバーコード読取装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003044986A JP4188104B2 (ja) | 2003-02-21 | 2003-02-21 | バーコード読取装置 |
US10/748,238 US7077322B2 (en) | 2003-02-21 | 2003-12-31 | Bar-code reader |
DE602004020412T DE602004020412D1 (de) | 2003-02-21 | 2004-01-28 | Strichcode-Leser, welcher eine Maximalwahrscheinlichkeitsmethode nutzt |
EP04250462A EP1450291B1 (en) | 2003-02-21 | 2004-01-28 | Bar code reader using a maximum likelihood method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003044986A JP4188104B2 (ja) | 2003-02-21 | 2003-02-21 | バーコード読取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004252895A JP2004252895A (ja) | 2004-09-09 |
JP4188104B2 true JP4188104B2 (ja) | 2008-11-26 |
Family
ID=32733004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003044986A Expired - Fee Related JP4188104B2 (ja) | 2003-02-21 | 2003-02-21 | バーコード読取装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7077322B2 (ja) |
EP (1) | EP1450291B1 (ja) |
JP (1) | JP4188104B2 (ja) |
DE (1) | DE602004020412D1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002059825A1 (fr) * | 2001-01-26 | 2002-08-01 | Fujitsu Limited | Procede et dispositif de lecture d'informations, procede de capture de signaux pour dispositif de lecture d'informations, procede de limitation de bande destine a cet effet, procede d'extraction d'amplitude du point de chronometrage et procede de traitement de signaux destines a cet effet, unite de traitement de signaux de |
JP4213490B2 (ja) * | 2003-02-21 | 2009-01-21 | 富士通株式会社 | バーコード読取装置 |
US8196836B2 (en) * | 2007-06-28 | 2012-06-12 | Fuji Xerox Co., Ltd. | Image processing apparatus, image processing method and computer-readable medium |
US8570393B2 (en) * | 2007-11-30 | 2013-10-29 | Cognex Corporation | System and method for processing image data relative to a focus of attention within the overall image |
US9189670B2 (en) * | 2009-02-11 | 2015-11-17 | Cognex Corporation | System and method for capturing and detecting symbology features and parameters |
US8305691B2 (en) * | 2009-04-29 | 2012-11-06 | Hand Held Products, Inc. | Fluid lens element for use in changing thermal operating environment |
US8282004B2 (en) * | 2009-04-29 | 2012-10-09 | Hand Held Products, Inc. | Focusing apparatus and terminal comprising variable focus lens assembly |
US8226009B2 (en) * | 2009-04-29 | 2012-07-24 | Hand Held Products, Inc. | Laser scanner with improved decoding |
US8038066B2 (en) * | 2009-04-29 | 2011-10-18 | Hand Held Products, Inc. | Laser scanner with deformable lens |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5081342A (en) * | 1986-12-12 | 1992-01-14 | Knowles C Harry | Universal digital code processor |
US6655597B1 (en) * | 2000-06-27 | 2003-12-02 | Symbol Technologies, Inc. | Portable instrument for electro-optically reading indicia and for projecting a bit-mapped color image |
US5463211A (en) * | 1993-05-07 | 1995-10-31 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for detecting transitions in a time sampled input signal |
DE4323293C2 (de) * | 1993-07-12 | 1996-07-25 | Sick Optik Elektronik Erwin | Verfahren und Abtastanordnung zur Identifizierung eines aus aufeinanderfolgenden hellen und dunklen Feldern bestehenden Codes |
US6543691B1 (en) * | 1995-01-03 | 2003-04-08 | Jerome H. Lemelson | Method and apparatus for encoding and decoding bar codes with primary and secondary information and method of using such bar codes |
US5608201A (en) * | 1995-01-04 | 1997-03-04 | Psc Inc. | Method and apparatus for detecting edges in a signal obtained from a bar code scanned in the Fresnel zone |
JP2729168B2 (ja) * | 1995-12-21 | 1998-03-18 | 日本電気アイシーマイコンシステム株式会社 | バーコードおよびバーコード読取装置およびその読取方法 |
US5780830A (en) | 1996-07-24 | 1998-07-14 | Lucent Technologies Inc. | Method and system for decoding distorted image and symbology data |
JPH10162095A (ja) * | 1996-11-29 | 1998-06-19 | Fujitsu Ltd | スライスレシオ制御回路 |
JPH10261043A (ja) | 1997-03-19 | 1998-09-29 | Toshiba Corp | 復合方法および復号装置およびバーコード処理システム |
US6000616A (en) * | 1997-05-12 | 1999-12-14 | Webscan, Inc. | Methods to determine and selectively sample positive and negative peak values occurring within a scan reflectance profile signal |
US6328213B1 (en) * | 1998-06-12 | 2001-12-11 | Symbol Technologies, Inc. | Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions |
US6499662B1 (en) * | 1998-09-14 | 2002-12-31 | Psc Scanning, Inc. | Fast edge detection system tolerant of high degree of intersymbol interference |
JP2001052104A (ja) | 1999-08-05 | 2001-02-23 | Olympus Optical Co Ltd | データ記録方法及びデータ再生方法、並びにデータ記録媒体 |
US6296187B1 (en) * | 1999-11-12 | 2001-10-02 | Psc Inc. | CCD-based bar code scanner |
US6502751B1 (en) | 2000-04-26 | 2003-01-07 | Ncr Corporation | Methods and apparatus for dual thresholding in processing of barcode signals |
US6729603B1 (en) * | 2001-06-08 | 2004-05-04 | Psc Scanning, Inc. | Add-on capture rate in a barcode scanning system |
-
2003
- 2003-02-21 JP JP2003044986A patent/JP4188104B2/ja not_active Expired - Fee Related
- 2003-12-31 US US10/748,238 patent/US7077322B2/en not_active Expired - Fee Related
-
2004
- 2004-01-28 DE DE602004020412T patent/DE602004020412D1/de not_active Expired - Lifetime
- 2004-01-28 EP EP04250462A patent/EP1450291B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7077322B2 (en) | 2006-07-18 |
EP1450291B1 (en) | 2009-04-08 |
JP2004252895A (ja) | 2004-09-09 |
DE602004020412D1 (de) | 2009-05-20 |
US20040164158A1 (en) | 2004-08-26 |
EP1450291A1 (en) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0754328B1 (en) | Method and apparatus for decoding bar code images using information from previous scan lines | |
US6547142B1 (en) | Method of scanning indicia using selective sampling | |
EP0754327B1 (en) | Method and apparatus for decoding bar code images using multi-order feature vectors | |
JPH096884A (ja) | 解読されないバー・コード・プロフィールをエッジ検出回路を用いてエンコードする方法および装置 | |
JP4188104B2 (ja) | バーコード読取装置 | |
US7083101B2 (en) | Bar-code reader and method of reading bar-code | |
US5811782A (en) | Binary device for bar code reader | |
JP2004185058A (ja) | バーコード認識方法、および認識用デコード処理装置 | |
JP4473335B1 (ja) | 光学的情報読取装置及び光学的情報読取方法 | |
US5393968A (en) | Method and device for reading bar code | |
JP2500859B2 (ja) | バ−コ−ド読取装置 | |
US5979765A (en) | Bar-code reader and bar-code reading method for detecting various possible reproducible bar code combinations and synthesizing information therefrom | |
JP4257131B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
US5637853A (en) | Reading indicia by analysis of different light reflecting portions based on signal-to-noise ratios | |
JP4213490B2 (ja) | バーコード読取装置 | |
JP5896488B2 (ja) | バーコード読取装置、バーコード読取方法及びバーコード読取プログラム | |
JPH10111904A (ja) | バーコード読み取り装置および記録媒体 | |
JP2011191957A (ja) | バーコード情報読取方法及びバーコード情報読取装置 | |
US7364080B2 (en) | System and method for bar code detection | |
JP5424369B1 (ja) | バーコードリーダ、バーコード読取り方法及びバーコード読取り用プログラム | |
JP6083829B2 (ja) | バーコード読取装置、バーコード読取方法及びバーコード読取プログラム | |
JP4107237B2 (ja) | 光学的情報読取装置の境界位置特定方法 | |
JP2576370B2 (ja) | Idマーク読み取り装置 | |
JPS63178376A (ja) | バ−コ−ドパタ−ン認識装置 | |
JPH05108886A (ja) | 光学文字読取装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080909 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080910 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |