JP4416980B2 - バーコード読取装置およびバーコード読取方法 - Google Patents
バーコード読取装置およびバーコード読取方法 Download PDFInfo
- Publication number
- JP4416980B2 JP4416980B2 JP2001534068A JP2001534068A JP4416980B2 JP 4416980 B2 JP4416980 B2 JP 4416980B2 JP 2001534068 A JP2001534068 A JP 2001534068A JP 2001534068 A JP2001534068 A JP 2001534068A JP 4416980 B2 JP4416980 B2 JP 4416980B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- barcode
- modules
- demodulation result
- questionable
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Printers Characterized By Their Purpose (AREA)
Description
本発明は、キャラクタをバー幅により表したバーコードにレーザ光を走査することにより、バーコードを光学的に読み取るバーコード読取装置およびバーコード読取方法に関する。
背景技術
近時、小売業においては、商品の売上内容の把握の迅速化、省力化等を目的として、特に、コンビニエンスストア、百貨店、スーパマーケット等では、POS(Point Of Sales)システムが急速に普及している。このPOSシステムにおいては、キャラクタを表すバーコードを光学的に読み取り、この読み取り結果に基づいて、キャラクタを復調するバーコード読取装置が組み込まれている。
また、商品に付されたバーコードは、その印刷精度により、バー幅にばらつきが生じることがあるため、バーコード読取装置においては、上記ばらつきの影響を受けることなく、高精度でキャラクタの復調を行うことが要請されている。
第8図は、従来のバーコード読取装置の構成を示すブロック図である。この図において、バーコード10は、図示しない商品に付されており、複数の黒バーと白バーとが交互に組み合わされてなり、後述するE(EVEN)0〜E9、O(ODD)0〜O9という都合20種類のキャラクタを表現するものである。このバーコード10としては、たとえば、世界各国で用いられているEAN(European Article Number)、アメリカで用いられているUPC(Universal Product Code)がある。
第9図は、上記バーコード10を示す平面図である。この図に示したバーコード10は、一例として、交互に配設された黒バーBB1、白バーWB1、黒バーBB2および白バーWB2を有している。また、バーコード10は、同図左側から右側へ向かって、レフトマージンLMと、黒バーLGB1および白バーLGB2を含むレフトガードバーLGBと、6キャラクタ(たとえば、「000000」)からなる左データキャラクタ10Lと、センターバーCBと、5キャラクタ(たとえば、「28963」)からなる右データキャラクタ10Rと、1キャラクタ(たとえば、「2」)からなるチェックデジットコードCDと、白バーRGB1および黒バーRGB2を含むライトガードバーRGBと、ライトマージンRMとから構成されている。
同図においては、国コードC1が「20」、商品メーカコードC2が「00000」、商品アイテムコードC3が「28963」、チェックデジットコードCDが「2」とされている。このチェックデジットコードCDは、バーコードデータの信頼性(精度)を高めるための算術チェック(たとえば、モジュラス10チェック)に用いられるコードである。
また、バーコード10における一つのキャラクタは、第10図(a)〜(d)に示したように同図右側から左側へ向かって、1番目の黒バー、2番目の白バー、3番目の黒バーおよび4番目の白バーという4本のバー(エレメント)から構成されているとともに、そのキャラクタ長C(1番目の黒バーから4番目の白バーまでのエッジ間距離)は、7モジュール(単位の長さを「モジュール」と称する)とされている。
また、バーコード10は、1番目の黒バーの黒バー幅B1、2番目の白バーの白バー幅B2、3番目の黒バーの黒バー幅B3および4番目の白バーの白バー幅B4の組み合わせにより、“0”から“9”までの10種類の数字(キャラクタ)を表現している。また、バーコード10では、第11図に示したように同じ数字でも黒バーのモジュール数を奇数および偶数とする2種類の組み合わせを導入することにより、20種類のキャラクタの表現が可能となる。
ここで、黒バーのモジュール数が奇数となるものをODD(以下、Oと略称)と称し、一方、黒バーのモジュール数が偶数となるものをEVEN(以下、Eと略称)と称する。第11図に示した例では、キャラクタO0〜キャラクタO9という黒バーのモジュール数が奇数となる10種類のキャラクタと、キャラクタE0〜キャラクタE9という黒バーのモジュール数が偶数となる10種類のキャラクタという都合20種類のキャラクタが図示されている。
たとえば、同図に示したキャラクタO0およびキャラクタE0を例にして説明すれば、キャラクタO0は同図右側から左側へ向かって1番目の黒バー(モジュール数1)と、2番目の白バー(モジュール数1)と、3番目の黒バー(モジュール数2)と、4番目の白バー(モジュール数3)とから構成されている。また、キャラクタO0は、1番目の黒バーのモジュール数(=1)と3番目の黒バーのモジュール数(=2)との和が3モジュール、すなわち奇数とされている。
一方、キャラクタE0は、同図右側から左側へ向かって1番目の黒バー(モジュール数3)と、2番目の白バー(モジュール数2)と、3番目の黒バー(モジュール数1)と、4番目の白バー(モジュール数1)とから構成されている。また、キャラクタE0は1番目の黒バーのモジュール数(=3)と3番目の黒バーのモジュール数(=1)との和が4モジュール、すなわち偶数とされている。
第10図(a)に示したキャラクタE4は、同図右側から左側へ向かって、黒バー幅B1が1モジュールの黒バーと、該黒バーに隣接し白バー幅B2が1モジュールの白バーと、該白バーに隣接し黒バー幅B3が3モジュールの黒バーと、該黒バーに隣接し白バー幅B4が2モジュールの白バーから構成されている。
ここで、黒バー幅B1と白バー幅B2との和、すなわち1番目の黒バーと2番目の白バーとのエッジ間距離はデルタディスタンスT1と称されており、同図に示した例では、このデルタディスタンスT1は、2モジュールである。さらに、白バー幅B2と黒バー幅B3との和、すなわち2番目の白バーと3番目の黒バーとのエッジ間距離はデルタディスタンスT2と称されており、同図に示した例では、このデルタディスタンスT2は、4モジュールである。
また、上記デルタディスタンスT1、デルタディスタンスT2、黒バー幅B1および黒バー幅B3は、当該キャラクタが第11図に示したキャラクタO0〜キャラクタO9およびキャラクタE0〜キャラクタE9のうちいずれのキャラクタに該当するかの判定に用いられる重要なパラメータである。
すなわち、第11図においては、キャラクタO0〜キャラクタO9およびキャラクタE0〜キャラクタE9の各デルタディスタンスT1およびデルタディスタンスT2が異なるため、デルタディスタンスT1およびデルタディスタンスT2から当該キャラクタが判定される。この判定には、第13図に示したデルタディスタンスT1とデルタディスタンスT2の組み合わせパターンと、当該キャラクタとの関係を示した第1の復調テーブル100が用いられる。
ただし、第13図に示したように、キャラクタE2とキャラクタE8、キャラクタO2とキャラクタO8、キャラクタO1とキャラクタO7およびキャラクタE1とキャラクタE7においては、それぞれの組み合わせのデルタディスタンスT1およびデルタディスタンスT2が同値であることから、デルタディスタンスT1およびデルタディスタンスT2に基づいて当該キャラクタを判定することができない。
具体的には、キャラクタE2とキャラクタE8を例にとれば、いずれもデルタディスタンスT1が3モジュール、デルタディスタンスT2が3モジュールという具合に同値とされており、デルタディスタンスT1およびデルタディスタンスT2だけからでは、当該キャラクタがキャラクタE2であるのかキャラクタE8であるのかを判定することができない。
そこで、上記キャラクタE2とキャラクタE8、キャラクタO2とキャラクタO8、キャラクタO1とキャラクタO7およびキャラクタE1とキャラクタE7においては、1番目の黒バーの黒バー幅と3番目の黒バーの黒バー幅とが異なることを利用することにより、両黒バー幅の相違から当該キャラクタを判定することができる。
具体的には、第11図に示したキャラクタE2とキャラクタE8を例にとれば、キャラクタE2においては、1番目の黒バーの黒バー幅が2モジュール、3番目の黒バーの黒バー幅が2モジュールである。一方、キャラクタE8においては、1番目の黒バーの黒バー幅が1モジュール、3番目の黒バーの黒バー幅が1モジュールであり、キャラクタE2の場合と相違する。従って、キャラクタE2とキャラクタE8とは、1番目の黒バーの黒バー幅と3番目の黒バーの黒バー幅とから判別可能となる。
また、第1の復調テーブル100(第13図参照)を用いても判定することができない、上述したキャラクタO1およびキャラクタE1、キャラクタO2およびキャラクタE2、キャラクタO7およびキャラクタE7、キャラクタO8およびキャラクタE8の判定には、第14図に示した1番目の黒バーの黒バー幅B1と3番目の黒バーの黒バー幅B3との組み合わせパターンと、当該キャラクタとの関係を示した第2の復調テーブル200が用いられる。
第8図に戻り、スキャナ1における光電変換部2は、バーコード10を光学的に読み取り、読み取り結果を読取信号Sbとして出力するものであり、レーザ光Lをバーコード10に対して照射するレーザ発振器(図示略)と、バーコード10により反射されたレーザ光Lを受光した後、第2図(b)に示した読取信号Sbを生成する受光部(図示略)とから概略構成されている。
ここで、読取信号Sbのレベルは、第2図(a)に示した黒バーBB1、白バーWB1、黒バーBB2、白バーWB2等に対応している。すなわち、黒バーLGB1、黒バーBB1、黒バーBB2等の光反射率が低いためこれらに対応する読取信号Sbのレベルが低くなっており、一方、白バーWB1、白バーWB2、白バーLGB2等の光反射率が高いためこれらに対応する読取信号Sbのレベルが高くなっている。
A/D(Analog/Digital)変換部3は、光電変換部2からの読取信号Sbとしきい値とを比較することにより、読取信号Sbを二値化(ディジタル化)する処理を行う。クロック信号発生部4は、所定周期のクロック信号Scを発生する。バー幅カウンタ5は、クロック信号発生部4より供給されるクロック信号Scの周期に同期してカウントアップ動作を行い、A/D変換部3によりディジタル化された読取信号Sbのうち、第2図(c)に示したように黒バー幅B1、白バー幅B2、白バー幅B3、黒バー幅B4、白バー幅B5、黒バー幅B6等をカウント値として測定する。
第2図(c)に示した例では、黒バー幅B1が25カウント、白バー幅B2が25カウント、白バー幅B3が200カウント、黒バー幅B4が100カウント、白バー幅B5が50カウント、黒バー幅B6が50カウントとされている。第8図に戻り、記憶部7は、上記バー幅カウンタ5のカウント値のデータを第2図(d)に示したように黒バー幅B1、白バー幅B2、・・・に対応させて記憶している。
また、記憶部7は、第1の復調テーブル100(第13図参照)、第2の復調テーブル200(第14図参照)、スキャナ制御部6において実行されるプログラムを記憶する。
スキャナ制御部6は、バー幅カウンタ5からの各カウント値のデータ、上述した第1の復調テーブル100(第13図参照)および第2の復調テーブル200(第14図参照)に基づいて、バーコード10におけるキャラクタを復調して、復調結果を復調データDmとして出力する。このスキャナ制御部6の動作の詳細については、後述する。
通信部8は、スキャナ制御部6からの復調データDmをPOS装置9へ送信する。POS装置9は、復調データDmに基づいて、バーコード10が付された商品(図示略)の価格、商品名等を表示したり、売上管理情報を生成する。
つぎに、上述した従来のバーコード読取装置の動作を第12図に示したフローチャートを参照して説明する。
ここで、バーコード10の印刷精度が悪化した場合には、正規の黒バー幅に比して黒バー幅が狭くなる黒細りしたものと、これとは逆に正規の黒バー幅に比して黒バー幅が広くなる黒太りしたものとが存在する。
具体的には、第15図(b)には、正規の黒バー幅B1および黒バー幅B3(第15図(a)参照)に比して狭い黒バー幅B1’および黒バー幅B3’とされた黒細りの様子が図示されており、第15図(c)には、正規の黒バー幅B1および黒バー幅B3(第15図(a)参照)に比して広い黒バー幅B1’’および黒バー幅B3’’とされた黒太りの様子が図示されている。
このように、バーコード10が黒細りまたは黒太りした場合には、デルタディスタンスT1、デルタディスタンスT2、黒バー幅B1および黒バー幅B3が正規のバーコード10に比して変化するため、キャラクタの復調時に誤った復調結果を得てしまう可能性がある。以下に説明する従来のバーコード読取装置は、上述したバーコード10の黒細りおよび黒太りによる弊害の影響を受けるものである。
第8図において、バーコード読み取りを行うべく、光電変換部2のレーザ発振器(図示略)からレーザ光Lがバーコード10に照射されると、該レーザ光Lは、バーコード10における黒バーと白バーの分布に対応した反射率で反射された後、光電変換部2の受光部(図示略)により受光される。これにより、光電変換部2の受光部においては、反射光が第2図(b)に示したような波形の読取信号Sbに変換された後、該読取信号Sbは、A/D変換部3へ出力される。A/D変換部3では、入力された読取信号Sbとしきい値とが比較されることにより、読取信号Sbが二値化され、この二値化された読取信号Sbは、バー幅カウンタ5によりカウントされる。このカウント結果はスキャナ制御部6へ渡される。
また、スキャナ制御部6は、第12図に示したステップSA1へ進み、上記カウント結果に基づいて、スタートコードまたはストップコードを検出したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。ここでいうスタートコードとは、第9図に示したレフトガードバーLGB(またはライトガードバーRGB)に対応するコードをいい、ストップコードとは、ライトガードバーRGB(またはレフトガードバーLGB)に対応するコードをいう。
ここで、レフトガードバーLGBに対応するスタートコードが検出されると、スキャナ制御部6は、判断結果を「Yes」として、ステップSA2へ進む。ステップSA2では、スキャナ制御部6は、第2図(a)および(c)に示した黒バーLGB1の黒バー幅B1(=25カウント)を基本モジュール幅として、記憶部7に記憶させた後、ステップSA3へ進む。
ステップSA3では、スキャナ制御部6は、1キャラクタ分の黒バー、白バーがスキャニングされたか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。ここでいう1キャラクタ分の黒バー、白バーとは、たとえば、第10図(a)に示したキャラクタE4を表す黒バー、白バーをいう。そして、ステップSA3の判断結果が「Yes」になると、スキャナ制御部6は、ステップSA4へ進む。
ステップSA4では、スキャナ制御部6は、ステップSA3でスキャニングされた1キャラクタ分の白バー、黒バーを合計したモジュール数(黒細り、黒太りがない場合、7モジュール)が、基本モジュール数の整数倍であるか否かを判断し、この判断結果が「Yes」である場合、ステップSA5へ進む。ここで、第15図(b)または第15図(c)に示したように、キャラクタが黒細りまたは黒太りしている場合には、1キャラクタ分のモジュール数が基本モジュール幅の整数倍とならないため、スキャナ制御部6は、ステップSA4の判断結果を「No」として、ステップSA12へ進む。
ステップSA12では、スキャナ制御部6は、1キャラクタ分のモジュール数と基本モジュール数との比における小数点部分の値(誤差)が許容値(たとえば、±0.3)以下であるか否かを判断する。この判断結果が「No」である場合、スキャナ制御部6は、ステップSA13へ進む。ステップSA13では、スキャナ制御部6は、復調データDmを無効としてステップSA1へ戻り、つぎのキャラクタに関する上述した動作を繰り返す。
一方、ステップSA12の判断結果が「Yes」である場合、スキャナ制御部6は、ステップSA5へ進み、第1の復調テーブル100(第13図参照)、第2の復調テーブル200(第14図参照)を用いて、キャラクタ復調を行った後、ステップSA6へ進む。ステップSA6では、スキャナ制御部6は、ストップコードまたはスタートコードを検出したか否かを判断し、この判断結果が「No」である場合、ステップSA3へ戻り、つぎのキャラクタに関する上述した動作を繰り返す。
そして、ステップSA6の判断結果が「Yes」になった場合、すなわち、バーコード10におけるすべてのキャラクタの復調が終了した場合、スキャナ制御部6は、ステップSA7へ進む。ステップSA7では、スキャナ制御部6は、周知のモジュラス10によりチェックデジットを算出した後、ステップSA8へ進む。
具体的には、スキャナ制御部6は、ステップSA7で算出されたチェックデジットと、実際にキャラクタ復調されたチェックデジットコードCD(第9図参照)とが一致するか否かにより、チェック結果が正常であったか否かを判断する。一致である場合には、チェック結果が正常となり、不一致である場合には、チェック結果が異常となる。ここで、ステップSA8の判断結果が「No」である場合、スキャナ制御部6は、ステップSA13へ進み、復調データDmを破棄した後、ステップSA1へ戻る。一方、ステップSA8の判断結果が「Yes」である場合、スキャナ制御部6は、ステップSA9へ進む。ステップSA9では、スキャナ制御部6は、読取正常を報知するための読取正常音を鳴らした後、ステップSA10へ進む。
ステップSA10では、スキャナ制御部6は、復調データDmを編集した後、ステップSA11へ進む。ステップSA11では、スキャナ制御部6は、通信部8を経由して、編集された復調データDmをPOS装置9へ送信した後、ステップSA1へ戻る。これにより、POS装置9においては、復調データDmに基づいて、バーコード10に対応するキャラクタが認識される。
ところで、前述したように従来のバーコード読取装置においては、ステップSA12(第12図参照)で説明したように、誤差が許容値を超えると、一律に復調データDmを無効、すなわち、バーコード10における読み取り結果をエラーとしている。この誤差が発生する主な要因は、バーコード10の印刷精度が許容値を満たしていないことである。この場合、オペレータは、バーコード10に記載されているコード(2000000289632:第9図参照)を目視で確認した後、このすべてのコードを手入力しなければならない。
しかしながら、すべてのコードを手入力することは、非常に面倒であり、時間がかかる。従って、このようなバーコード読取装置は、オペレータにとって非常に使い勝手が悪いため、敬遠される傾向にある。最悪の場合には、バーコード読取装置の読み取り精度が基準値を満たしていたとしても、バーコード読取装置のメーカに対して、バーコード読取装置の機種変更や、製造メーカの変更等をユーザに迫られるという事態が発生する。
従って、本発明は、バーコードの印刷精度が許容値を満たしていない場合であっても、オペレータにできるだけ負担をかけることなく、バーコードを読み取ることができるバーコード読取装置およびバーコード読取方法を提供することを目的としている。
発明の開示
上記目的を達成するために、本発明にかかるバーコード読取装置は、キャラクタを複数のバー幅により表したバーコードを読み取ることにより得られるモジュール数に基づいて前記キャラクタを復調するバーコード読取装置において、前記キャラクタにおけるモジュール数と基本モジュール幅との比率を求める比率算出手段(後述する一実施の形態のスキャナ制御部25に相当)と、前記比率における誤差量が許容値を超えている場合、誤差成分を含む前記モジュール数を補正する補正手段(後述する一実施の形態のスキャナ制御部25に相当)と、前記キャラクタにおけるモジュール数、前記補正手段により補正されたモジュール数に基づいて、キャラクタを復調する復調手段(後述する一実施の形態のスキャナ制御部25に相当)と、前記復調手段の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングを施したものを表示する表示手段(後述する一実施の形態のオペレータ用ディスプレイ34に相当)と、前記表示手段の表示に基づいて正しいキャラクタを入力するための入力手段(後述する一実施の形態のキーボード36に相当)とを備えることを特徴とする。
この発明によれば、印刷精度が低いバーコードにおいては、基準値に比して黒バー幅が太くなったり、または細くなったりする。このようなバーコードが読み取られると、キャラクタにおけるモジュール数と基本モジュール幅との比率が整数とならない。従って、比率における誤差量が許容値を超えていると、補正手段により誤差成分を含むモジュール数が補正される。この場合、表示手段には、復調手段の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングを施したものが表示される。この表示に基づいて、入力手段から正しいキャラクタが入力される。
このように、本発明によれば、誤差成分を含むモジュール数に補正をかけ、本来、読み取りエラーとされるキャラクタを、マーキングが施された疑問キャラクタとして表示手段に表示させ、この疑問キャラクタに対応する正しいキャラクタを入力するようにしたので、バーコードにおけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができる。
また、本発明にかかるバーコード読取装置は、上記のバーコード読取装置において、前記復調手段の復調結果における前記疑問キャラクタが、前記入力手段より入力された前記正しいキャラクタに置換された正しい復調結果と、前記疑問キャラクタを含む復調結果との対応関係を表すテーブルを記憶する記憶手段(後述する一実施の形態の記憶部26に相当)と、前記テーブルにおける前記疑問キャラクタを含む復調結果が得られた回数をカウントするカウント手段(後述する一実施の形態のスキャナ制御部25に相当)と、前記復調手段により前記疑問キャラクタを含む復調結果が得られかつ前記テーブルに当該復調結果が存在する場合に、前記カウント手段におけるカウント結果がしきい値以上であるとき、前記テーブルにおける前記正しい復調結果を前記表示手段に表示させる制御手段(後述する一実施の形態のスキャナ制御部25およびPOS制御部31に相当)とを備えることを特徴とする。
この発明によれば、復調手段により疑問キャラクタを含む復調結果が得られかつ前記テーブルに当該復調結果が存在する場合、カウント手段におけるカウント結果がしきい値以上であるとき、入力手段による正しいキャラクタの入力を伴うことなく、テーブルにおける正しい復調結果が表示手段に表示される。
このように、本発明によれば、テーブルおよびカウント手段を設けて、カウント手段のカウント結果がしきい値以上である場合に、当該疑問キャラクタを正しいキャラクタとみなして、テーブルにおける正しい復調結果を表示手段に表示させるようにしたので、オペレータによる面倒な入力操作が不要であるため、オペレータに負担をかけることなく、バーコードを読み取ることができる。
また、本発明にかかるバーコード読取装置は、上記のバーコード読取装置において、前記表示手段は、他のキャラクタとは別の表示方法で前記疑問キャラクタを表示することを特徴とする。
この発明によれば、表示手段において疑問キャラクタと他のキャラクタとが表示方法の相違により一目瞭然で判別可能であるため、入力手段からの正しいキャラクタの入力を楽に行うことができる。
また、本発明にかかるバーコード読取装置は、上記のバーコード読取装置において、前記表示手段は、前記疑問キャラクタを前記入力手段より入力された前記正しいキャラクタに置換するとともに、同一の表示方法ですべてのキャラクタを表示することを特徴とする。
この発明によれば、入力手段より正しいキャラクタが入力されると、疑問キャラクタが正しいキャラクタに置換されるとともに、すべてのキャラクタが同一の表示方法で表示されるようにしたので、疑問キャラクタが置換されたことをオペレータが瞬時に認識することができる。
また、本発明にかかるバーコード読取装置は、複数のキャラクタから構成されるバーコードを読み取り、前記バーコードを復調するバーコード読取装置において、前記バーコードに含まれるキャラクタのうち、誤読の可能性がある疑問キャラクタの有無を判別する判別手段(後述する一実施の形態のスキャナ制御部25に相当)と、前記バーコードの復調結果を表示する表示手段(後述する一実施の形態のオペレータ用ディスプレイ34に相当)と、前記判別手段により前記疑問キャラクタがあると判別された場合、前記表示手段に表示された前記復調結果に含まれる疑問キャラクタを、他のキャラクタと判別可能に表示させる制御手段(後述する一実施の形態のスキャナ制御部25に相当)とを備えることを特徴とする。
この発明によれば、印刷精度が低いバーコードにおいては、基準値に比して黒バー幅が太くなったり、または細くなったりする。このようなバーコードが読み取られると、判別手段により、誤読の可能性がある疑問キャラクタの有無が判定される。そして、疑問キャラクタがあると判別されると、制御手段は、表示手段に表示された復調結果に含まれる疑問キャラクタを、他のキャラクタと判別可能に表示させる。
このように、本発明によれば、表示手段に表示された疑問キャラクタと他のキャラクタとを表示方法の相違により一目瞭然で判別することができる。
また、本発明にかかるバーコード読取装置は、上記のバーコード読取装置において、前記疑問キャラクタに対応する正しいキャラクタを入力する入力手段(後述する一実施の形態のキーボード36に相当)を備え、前記制御手段は、前記疑問キャラクタを前記正しいキャラクタに置換し、当該正しいキャラクタを含む復調結果を修正済復調結果として出力することを特徴とする。
この発明によれば、入力手段からの入力により、疑問キャラクタを正しいキャラクタに置換することでキャラクタ修正を行うようにしたので、バーコードにおけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができる。
また、本発明にかかるバーコード読取装置は、上記のバーコード読取装置において、前記疑問キャラクタを含む前記復調結果と前記修正済復調結果とを対応付けて記憶する記憶手段(後述する一実施の形態の記憶部26に相当)と、前記バーコードの復調結果と前記記憶手段に記憶されている前記疑問キャラクタを含む復調結果とを比較する比較手段(後述する一実施の形態のスキャナ制御部25に相当)とを備え、前記制御手段は、前記比較手段の比較結果が一致である場合、前記バーコードの復調結果に代えて、前記記憶手段に記憶されている修正済復調結果を出力することを特徴とする。
この発明によれば、疑問キャラクタを含む復調結果が得られかつ記憶手段に当該復調結果と同一の復調結果が存在する場合、制御手段により、バーコードの復調結果に代えて、修正済復調結果が出力されるようにしたので、オペレータによる面倒な入力操作が不要であるため、オペレータに負担をかけることなく、バーコードを読み取ることができる。
また、本発明にかかるバーコード読取方法は、キャラクタを複数のバー幅により表したバーコードを読み取ることにより得られるモジュール数に基づいて前記キャラクタを復調するバーコード読取方法において、前記キャラクタにおけるモジュール数と基本モジュール幅との比率を求める比率算出工程(後述する一実施の形態のステップSB2に相当)と、前記比率における誤差量が許容値を超えている場合、誤差成分を含む前記モジュール数を補正する補正工程(後述する一実施の形態のステップSB15に相当)と、前記キャラクタにおけるモジュール数、前記補正工程により補正されたモジュール数に基づいて、キャラクタを復調する復調工程(後述する一実施の形態のステップSB16に相当)と、前記復調工程の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングを施したものを表示手段に表示させる表示工程(後述する一実施の形態のステップSC3に相当)と、前記表示手段の表示に基づいて正しいキャラクタを入力するための入力工程(後述する一実施の形態のステップSC4に相当)とを含むことを特徴とする。
この発明によれば、印刷精度が低いバーコードにおいては、基準値に比して黒バー幅が太くなったり、または細くなったりする。このようなバーコードが読み取られると、キャラクタにおけるモジュール数と基本モジュール幅との比率が整数とならない。従って、比率における誤差量が許容値を超えていると、補正工程においては、誤差成分を含むモジュール数が補正される。この場合、表示手段には、復調工程の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングが施されたものが表示される。この表示に基づいて、入力工程では、正しいキャラクタが入力される。
このように、本発明によれば、誤差成分を含むモジュール数に補正をかけ、本来、読み取りエラーとされるキャラクタを、マーキングが施された疑問キャラクタとして表示手段に表示させ、この疑問キャラクタに対応する正しいキャラクタを入力するようにしたので、バーコードにおけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができる。
発明を実施するための最良の形態
本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
第1図は、一実施の形態の構成を示すブロック図である。この図において、第8図の各部に対応する部分には、同一の符号を付ける。スキャナ20における光電変換部21は、前述した光電変換部2(第8図参照)と同様にして、バーコード10を光学的に読み取り、読み取り結果を読取信号Sbとして出力するものであり、レーザ光Lをバーコード10に対して照射するレーザ発振器(図示略)と、バーコード10により反射されたレーザ光Lを受光した後、第2図(b)に示した読取信号Sbを生成する受光部(図示略)とから概略構成されている。
A/D変換部22は、前述したA/D変換部3(第8図参照)と同様にして、光電変換部21からの読取信号Sbとしきい値とを比較することにより、読取信号Sbを二値化(ディジタル化)する処理を行う。クロック信号発生部23は、前述したクロック信号発生部4(第8図参照)と同様にして、所定周期のクロック信号Scを発生する。バー幅カウンタ24は、前述したバー幅カウンタ5(第8図参照)と同様にして、クロック信号発生部23より供給されるクロック信号Scの周期に同期してカウントアップ動作を行い、A/D変換部22によりディジタル化された読取信号Sbのうち、第2図(c)に示したように黒バー幅B1、白バー幅B2、白バー幅B3、黒バー幅B4、白バー幅B5、黒バー幅B6等をカウント値として測定する。
記憶部26は、第1の復調テーブル100(第13図参照)、第2の復調テーブル200(第14図参照)、およびスキャナ制御部25において実行されるプログラムを記憶する。また記憶部26は、第3図に示した疑問キャラクタテーブルTを記憶する。この疑問キャラクタテーブルTの詳細については後述する。
スキャナ制御部25は、前述したスキャナ制御部6(第8図参照)と同様にして、バー幅カウンタ24からのカウント値のデータ、上述した第1の復調テーブル100(第13図参照)および第2の復調テーブル200(第14図参照)に基づいて、バーコード10におけるキャラクタを復調して、復調結果を復調データDmとして出力する。このスキャナ制御部25の動作の詳細については、後述する。通信部27は、POS装置30における通信部32との間で所定の通信プロトコルに従って通信を行う。
POS装置30は、復調データDmに基づいて、バーコード10が付された商品(図示略)の価格、商品名等を表示したり、売上管理情報を生成する。このPOS装置30において、POS制御部31は、装置各部を制御する。このPOS制御部31の動作の詳細については、後述する。記憶部33は、各種データを記憶する。
オペレータ用ディスプレイ34は、オペレータに対する各種表示を行うものであり、CRT(Cathode −Ray Tube)、LCD(Liquid Crystal Display)等である。顧客用ディスプレイ35は、顧客に対して商品名、小計金額、合計金額等を表示するものであり、CRT、LCD等である。キーボード36は、キー「0」〜キー「9」までのテンキー、ファンクションキーとして機能を有するキーFからなる。
スピーカ37は、POS制御部31の制御により、警告音等を発する。プリンタ38は、レシート等を印刷する。キャッシュドロア39は、現金を保管・管理する。ホスト通信部40は、売り上げや、商品の在庫情報等に関するPOSデータをネットワーク50を介してホスト60へ送信する。
つぎに、一実施の形態の動作を第4図〜第6図に示したフローチャートを参照して説明する。第4図および第5図は、第1図に示したスキャナ20側の動作を説明するフローチャートであり、第6図は、第1図に示したPOS装置30側の動作を説明するフローチャートである。
第1図において、バーコード読み取りを行うべく、光電変換部21のレーザ発振器(図示略)からレーザ光Lがバーコード10に照射されると、該レーザ光Lは、バーコード10における黒バーと白バーの分布に対応した反射率で反射された後、光電変換部21の受光部(図示略)により受光される。これにより、光電変換部21の受光部においては、反射光が第2図(b)に示したような波形の読取信号Sbに変換された後、該読取信号Sbは、A/D変換部22へ出力される。A/D変換部22では、入力された読取信号Sbとしきい値とが比較されることにより、読取信号Sbが二値化され、この二値化された読取信号Sbは、バー幅カウンタ24によりカウントされる。このカウント結果は、スキャナ制御部25へ渡される。
また、スキャナ制御部25は、第4図に示したステップSB1へ進み、ステップSA1(第12図参照)と同様にして、上記カウント結果に基づいて、スタートコードまたはストップコードを検出したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。ここで、レフトガードバーLGBに対応するスタートコードが検出されると、スキャナ制御部25は、判断結果を「Yes」として、ステップSB2へ進む。ステップSB2では、スキャナ制御部25は、ステップSA2(第12図参照)と同様にして、第2図(a)および(c)に示した黒バーLGB1の黒バー幅B1(=25カウント)を基本モジュール幅として、記憶部26に記憶させた後、ステップSB3へ進む。
ステップSB3では、スキャナ制御部25は、ステップSA3(第12図参照)と同様にして、1キャラクタ分の黒バー、白バーがスキャニングされたか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。そして、ステップSB3の判断結果が「Yes」になると、スキャナ制御部25は、ステップSB4へ進む。
ステップSB4では、スキャナ制御部25は、ステップSA4(第12図参照)と同様にして、ステップSB3でスキャニングされた1キャラクタ分の白バー、黒バーを合計したモジュール数(黒細り、黒太りがない場合、7モジュール)が、基本モジュール数の整数倍であるか否かを判断し、この判断結果が「Yes」である場合、ステップSB5へ進む。
ステップSB5では、スキャナ制御部25は、ステップSA5(第12図参照)と同様にして、第1の復調テーブル100(第13図参照)、第2の復調テーブル200(第14図参照)を用いて、キャラクタ復調を行った後、ステップSB6へ進む。ステップSB6では、スキャナ制御部25は、復調されたキャラクタデータを記憶部26に記憶させた後、ステップSB7へ進む。
ステップSB7では、スキャナ制御部25は、ストップコードまたはスタートコードを検出したか否かを判断し、この判断結果が「No」である場合、ステップSB3へ戻り、つぎのキャラクタに関する上述した動作を繰り返す。
ここで、第15図(b)または第15図(c)に示したように、キャラクタが黒細りまたは黒太りしている場合には、1キャラクタ分のモジュール数が基本モジュール幅の整数倍とならないため、スキャナ制御部25は、ステップSB4の判断結果を「No」として、ステップSB14へ進む。ステップSB14では、スキャナ制御部25は、ステップSA12(第12図参照)と同様にして、1キャラクタ分のモジュール数と基本モジュール数との比における小数点部分の値(誤差)が許容値(たとえば、±0.3)以下であるか否かを判断し、この判断結果が「Yes」である場合、ステップSB5へ進む。
この場合、ステップSB14の判断結果が「No」であるものとすると、スキャナ制御部25は、ステップSB15へ進む。ステップSB15では、スキャナ制御部25は、ステップSB4で得られた1キャラクタ分のモジュール数を基本モジュール数で除算した結果を四捨五入した後、ステップSB16へ進む。ステップSB16では、スキャナ制御部25は、ステップSA5(第12図参照)と同様にして、ステップSB15で四捨五入された結果、第1の復調テーブル100(第13図参照)および第2の復調テーブル200(第14図参照)を用いてキャラクタ復調を行った後、ステップSB17へ進む。
ステップSB17では、スキャナ制御部25は、ステップSB16で復調されたキャラクタを疑問キャラクタとし、該疑問キャラクタに対応する疑問キャラクタデータを記憶部26に記憶させた後、ステップSB18へ進む。ここでいう疑問キャラクタとは、誤差が許容値を超えていること、および四捨五入をしたことに起因して、復調された結果が誤りである可能性があるキャラクタをいう。
ステップSB18では、スキャナ制御部25は、ストップコードまたはスタートコードを検出したか否かを判断し、この場合、判断結果を「No」として、ステップSB3へ戻り、つぎのキャラクタに関する上述した動作を繰り返す。
そして、バーコード10(第9図参照)に関するすべてのキャラクタの復調が終了し、ステップSB18の判断結果が「Yes」になると、スキャナ制御部25は、第5図に示したステップSB20へ進む。この場合、第9図に示した正規の復調データ「2000000289632」に対して、疑問キャラクタを含む復調データ「2000000*88963*8」がキャラクタ復調の結果として得られたものとする。ここで、疑問キャラクタには、「*」印が付されている。従って、疑問キャラクタを含む復調データ「2000000*88963*8」においては、「*8」および「*8」が疑問キャラクタである。
ステップSB20では、スキャナ制御部25は、上記疑問キャラクタを含む復調データ「2000000*88963*8」をキーとして、第3図に示した疑問キャラクタテーブルTを検索した後、ステップSB21へ進む。この疑問キャラクタテーブルTは、正しい復調データ(同図では、「2000000289632」)に対応する疑問キャラクタを含む復調データと、復調された回数との関係を示すテーブルである。同図において、疑問キャラクタには、「*」印が付されている。
ステップSB21では、スキャナ制御部25は、疑問キャラクタテーブルTにおいて、疑問キャラクタを含む復調データ「2000000*88963*8」と一致する復調データが存在するか否かを判断し、この場合、判断結果を「Yes」として、ステップSB22へ進む。ステップSB22では、スキャナ制御部25は、疑問キャラクタテーブルTにおける、疑問キャラクタを含む復調データ「2000000*88963*8」に対応する回数(=12)を1インクリメント(=13)した後、ステップSB23へ進む。
ステップSB23では、スキャナ制御部25は、1インクリメント後の回数がしきい値N(たとえば、15)以上であるか否かを判断する。このしきい値Nは、疑問キャラクタを含む復調データを正しいデータとしてみなすか否かの判断に用いられる。この場合、疑問キャラクタを含む復調データ「2000000*88963*8」に対応する回数(=13)がしきい値N(=15)未満であるため、スキャナ制御部25は、ステップSB23の判断結果を「No」として、ステップSB29へ進む。
ステップSB29では、スキャナ制御部25は、警告音を鳴らした後、ステップSB30へ進む。ステップSB30では、スキャナ制御部25は、疑問キャラクタを含む復調データに「*」印を付与したもの(「2000000*88963*8」:第3図参照)、すなわち、復調データDmを編集した後、ステップSB31へ進む。ステップSB31では、スキャナ制御部25は、第1図に示したPOS装置30へ復調データDmを送信した後、ステップSB32へ進む。ステップSB32では、POS装置30からの応答があるか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
一方、第6図に示したステップSC1では、第1図に示したPOS装置30のPOS制御部31は、スキャナ20からの復調データDmを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。そして、ステップSB31(第5図参照)で送信された疑問キャラクタを含む復調データDm(「2000000*88963*8」)が通信部32に受信されると、POS制御部31は、ステップSC1の判断結果を「Yes」として、ステップSC2へ進む。
ステップSC2では、POS制御部31は、ステップSC1で受信された復調データDm(「2000000*88963*8」)に疑問キャラクタがあるか否かを判断する。この場合、POS制御部31は、疑問キャラクタ「*8」および「*8」があるため、ステップSC2の判断結果を「Yes」として、ステップSC3へ進む。なお、ステップSC2の判断結果が「No」である場合、POS制御部31は、ステップSC7へ進む。
この場合、ステップSC3では、POS制御部31は、第7図(a)に示したように、疑問キャラクタを含む復調データ「2000000*88963*8」をオペレータ用ディスプレイ34(第1図参照)に表示させる。このとき、POS制御部31は、第7図(a)に示したように、疑問キャラクタ「*8」および「*8」を点滅表示させる。
ステップSC4では、オペレータは、オペレータ用ディスプレイ34の表示画面(第7図(a)参照)から疑問キャラクタを確認した後、疑問キャラクタに対応する、第9図に示した実際のバーコード10に記載されているキャラクタを確認する。この場合、疑問キャラクタ「*8」および「*8」は、第9図に示したキャラクタ「2]および「2」に対応している。つぎに、オペレータは、上記キャラクタ「2」および「2」をキーボード36のテンキーより入力した後、入力完了を意味するキーFを押下する。
これにより、ステップSC5では、POS制御部31は、キー入力を受けて、オペレータ用ディスプレイ34における表示方法を、第7図(a)に示した表示から第7図(b)に示した表示に変更した後、ステップSC6へ進む。この場合、第7図(b)に示したように、疑問キャラクタ「*8」および「*8」が正規のキャラクタ「2」および「2」に変更されるとともに、点滅表示から連続表示に変更される。
ステップSC6では、POS制御部31は、ステップSC4で入力された「2」、「2」および「F」に対応するキーデータDkを、通信部32を経由してスキャナ20へ送信した後、ステップSC7へ進む。ステップSC7では、POS制御部31は、第7図(b)に示した正しい復調データDmを記憶部33に登録した後、ステップSC1へ戻り、上述した動作を繰り返す。
そして、POS装置30からの応答があると、スキャナ制御部25は、第5図に示したステップSB32の判断結果を「Yes」として、ステップSB33へ進む。ステップSB33では、スキャナ制御部25は、ステップSC6(第6図参照)で送信されたキーデータDkを受信した後、ステップSB34へ進む。ステップSB34では、スキャナ制御部25は、キーデータDkに含まれるキーFのデータを受信したか否かを判断し、この場合、判断結果を「Yes」として、ステップSB35へ進む。なお、ステップSB34の判断結果が「No」である場合、スキャナ制御部25は、ステップSB33へ戻り、上述した動作を繰り返す。
この場合、ステップSB35では、キーデータDkに含まれる「2」および「2」に基づいて、第3図に示した疑問キャラクタテーブルTに、正しい復調データDm(「2000000289632」)を追加した後、ステップSB36へ進む。なお、スキャナ制御部25は、すでに正しい復調データDmが疑問キャラクタテーブルTに存在する場合には、ステップSB35をスキップする。ステップSB36では、スキャナ制御部25は、警告音の鳴動を停止した後、第4図に示したステップSB1へ戻り、前述した動作を繰り返す。
なお、第5図に示したステップSB21の判断結果が「No」である場合、スキャナ制御部25は、ステップSB27へ進む。ステップSB27では、スキャナ制御部25は、疑問キャラクタを含む復調データを疑問キャラクタテーブルT(第3図参照)に追加した後、ステップSB28へ進む。ステップSB28では、スキャナ制御部25は、疑問キャラクタテーブルTにおいて、追加された疑問キャラクタを含む復調データに対応する回数を1とした後、ステップSB29へ進む。以後、ステップSB30以降においては、前述した動作と同様の動作が行われる。
なお、ステップSB23の判断結果が「Yes」である場合、スキャナ制御部25はステップSB24へ進む。ステップSB24では、スキャナ制御部25は読み取りが正常に行われたことを意味する読取正常音を鳴らした後、ステップSB25へ進む。ステップSB25では、スキャナ制御部25は疑問キャラクタテーブルTから正しい復調データDm(=「2000000289632」)を取得した後、ステップSB26へ進む。ステップSB26では、スキャナ制御部25は、通信部27を経由してPOS装置30へ上記正しい復調データDmを送信した後、第4図に示したステップSB1へ戻り、前述した動作を繰り返す。
なお、第4図に示したステップSB7の判断結果が「Yes」である場合、スキャナ制御部25は、ステップSB8へ進む。ステップSB8では、スキャナ制御部25は、キャラクタの復調結果において疑問キャラクタがあるか否かを判断し、判断結果が「Yes」である場合、第5図に示したステップSB20へ進み、前述した動作と同様の動作を行う。
一方、第4図に示したステップSB8の判断結果が「No」である場合、すなわち正常にキャラクタ復調が行われた場合、スキャナ制御部25は、ステップSB9へ進む。ステップSB9では、スキャナ制御部25は、ステップSA7(第12図参照)と同様にして、周知のモジュラス10によりチェックデジットを算出した後、ステップSB10へ進む。
ステップSB10では、スキャナ制御部25は、ステップSB9で算出されたチェックデジットと、実際にキャラクタ復調されたチェックデジットコードCD(第9図参照)とが一致するか否かにより、チェック結果が正常であったか否かを判断し、この判断結果が「No」である場合、ステップSB19へ進み、復調データDmを破棄した後、ステップSB1へ戻る。
一方、ステップSB10の判断結果が「Yes」である場合、スキャナ制御部25は、ステップSB11へ進む。ステップSB11では、スキャナ制御部25は、読取正常を報知するための読取正常音を鳴らした後、ステップSB12へ進む。ステップSB12では、スキャナ制御部25は、復調データDmを編集した後、ステップSB13へ進む。ステップSB13では、スキャナ制御部25は、通信部27を経由して、編集された復調データDmをPOS装置30へ送信した後、ステップSB1へ戻る。これにより、POS制御部31は、第6図に示したステップSC1の判断結果を「Yes」として、ステップSC2以降の処理を実行する。
なお、一実施の形態においては、疑問キャラクタテーブルTに基づいて、印刷精度が低いバーコードを統計的に割り出し、この結果をPOS装置30からネットワーク50を介してホスト60へ送信するようにしてもよい。この場合には、ホスト60で印刷精度が低いバーコードを集計し、この集計結果に基づいて当該バーコードを印刷しているメーカに対して、印刷精度の向上を促すことが可能である。
以上説明したように、一実施の形態によれば、誤差成分を含むモジュール数を四捨五入し、本来、読み取りエラーとされるキャラクタを、第7図(a)に示したように「*」印が付与された疑問キャラクタとしてオペレータ用ディスプレイ34に表示させ、この疑問キャラクタに対応する正しいキャラクタを入力するようにしたので、バーコード10におけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができる。
また、一実施の形態によれば、疑問キャラクタテーブルT(第3図参照)を設けて、ステップSB23(第5図参照)におけるカウント結果(回数)がしきい値N以上である場合に、当該疑問キャラクタを正しいキャラクタとみなして、疑問キャラクタテーブルTにおける正しい復調データDmをオペレータ用ディスプレイ34に表示させるようにしたので、オペレータによる面倒な入力操作が不要であるため、オペレータに負担をかけることなく、バーコードを読み取ることができる。
さらに、本発明にかかる一実施の形態によれば、オペレータ用ディスプレイ34において疑問キャラクタと他のキャラクタとが表示方法の相違により一目瞭然で判別可能であるため、キーボード36からの正しいキャラクタの入力を楽に行うことができる。
加えて、一実施の形態によれば、キーボード36より正しいキャラクタが入力されると、疑問キャラクタが正しいキャラクタに置換されるとともに、すべてのキャラクタが同一の表示方法で表示されるようにしたので、疑問キャラクタが置換されたことをオペレータが瞬時に認識することができる。
以上説明したように、本発明にかかるバーコード読取装置およびバーコード読取方法によれば、誤差成分を含むモジュール数に補正をかけ、本来、読み取りエラーとされるキャラクタを、マーキングが施された疑問キャラクタとして表示手段に表示させ、この疑問キャラクタに対応する正しいキャラクタを入力するようにしたので、バーコードにおけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、テーブルおよびカウント手段を設けて、カウント手段のカウント結果がしきい値以上である場合に、当該疑問キャラクタを正しいキャラクタとみなして、テーブルにおける正しい復調結果を表示手段に表示させるようにしたので、オペレータによる面倒な入力操作が不要であるため、オペレータに負担をかけることなく、バーコードを読み取ることができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、表示手段において疑問キャラクタと他のキャラクタとが表示方法の相違により一目瞭然で判別可能であるため、入力手段からの正しいキャラクタの入力を楽に行うことができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、入力手段より正しいキャラクタが入力されると、疑問キャラクタが正しいキャラクタに置換されるとともに、すべてのキャラクタが同一の表示方法で表示されるようにしたので、疑問キャラクタが置換されたことをオペレータが瞬時に認識することができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、表示手段に表示された疑問キャラクタと他のキャラクタとを表示方法の相違により一目瞭然で判別することができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、入力手段からの入力により、疑問キャラクタを正しいキャラクタに置換することでキャラクタ修正を行うようにしたので、バーコードにおけるすべてのキャラクタを入力する必要がないためオペレータの負担を軽減することができるという効果を奏する。
また、本発明にかかるバーコード読取装置によれば、疑問キャラクタを含む復調結果が得られかつ記憶手段に当該復調結果と同一の復調結果が存在する場合、制御手段により、バーコードの復調結果に代えて、修正済復調結果が出力されるようにしたので、オペレータによる面倒な入力操作が不要であるため、オペレータに負担をかけることなく、バーコードを読み取ることができるという効果を奏する。
産業上の利用可能性
以上のように、本発明にかかるバーコード読取装置およびバーコード読取方法は、印刷精度が低いバーコードを読み取る際に有用である。
【図面の簡単な説明】
第1図は、本発明にかかる一実施の形態の構成を示すブロック図であり、第2図は、第1図に示したスキャナ20および第8図に示したスキャナ1の動作を説明する図であり、第3図は、同一実施の形態における疑問キャラクタテーブルTの一例を示す図であり、第4図は、第1図に示したスキャナ20の動作を説明するフローチャートであり、第5図は、第1図に示したスキャナ20の動作を説明するフローチャートであり、第6図は、第1図に示したPOS装置30の動作を説明するフローチャートであり、第7図は、第1図に示したオペレータ用ディスプレイ35の表示例を示す図であり、第8図は、従来のバーコード読取装置の構成を示すブロック図であり、第9図は、バーコード10の構成を示すブロック図であり、第10図は、キャラクタE4、E6、E2およびE8を示す図であり、第11図は、キャラクタO0〜O9およびE0〜E9を示す図であり、第12図は、従来のバーコード読取装置の動作を説明するフローチャートであり、第13図は、第1の復調テーブル100を示す図であり、第14図は、第2の復調テーブル200を示す図であり、第15図は、キャラクタが全体的に黒細りおよび黒太りした場合の様子を説明する図である。
Claims (8)
- キャラクタを複数のバー幅により表したバーコードを読み取ることにより得られるモジュール数に基づいて前記キャラクタを復調するバーコード読取装置において、
前記キャラクタにおけるモジュール数と基本モジュール幅との比率を求める比率算出手段と、
前記比率における誤差量が許容値を超えている場合、誤差成分を含む前記モジュール数を補正する補正手段と、
前記キャラクタにおけるモジュール数、前記補正手段により補正されたモジュール数に基づいて、キャラクタを復調する復調手段と、
前記復調手段の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングを施したものを表示する表示手段と、
前記表示手段の表示に基づいて正しいキャラクタを入力するための入力手段と、
を備えることを特徴とするバーコード読取装置。 - 前記復調手段の復調結果における前記疑問キャラクタが、前記入力手段より入力された前記正しいキャラクタに置換された正しい復調結果と、前記疑問キャラクタを含む復調結果との対応関係を表すテーブルを記憶する記憶手段と、
前記テーブルにおける前記疑問キャラクタを含む復調結果が得られた回数をカウントするカウント手段と、
前記復調手段により前記疑問キャラクタを含む復調結果が得られかつ前記テーブルに当該復調結果が存在する場合に、前記カウント手段におけるカウント結果がしきい値以上であるとき、前記テーブルにおける前記正しい復調結果を前記表示手段に表示させる制御手段と、
を備えることを特徴とする請求の範囲第1項記載のバーコード読取装置。 - 前記表示手段は、他のキャラクタとは別の表示方法で前記疑問キャラクタを表示することを特徴とする請求の範囲第2項記載のバーコード読取装置。
- 前記表示手段は、前記疑問キャラクタを前記入力手段より入力された前記正しいキャラクタに置換するとともに、同一の表示方法ですべてのキャラクタを表示することを特徴とする請求の範囲第3項記載のバーコード読取装置。
- 複数のキャラクタから構成されるバーコードを読み取り、前記バーコードを復調するバーコード読取装置において、
前記バーコードに含まれるキャラクタのうち、誤読の可能性がある疑問キャラクタの有無を判別する判別手段と、
前記バーコードの復調結果を表示する表示手段と、
前記判別手段により前記疑問キャラクタがあると判別された場合、前記表示手段に表示された前記復調結果に含まれる疑問キャラクタを、他のキャラクタと判別可能に表示させる制御手段と、
を備えることを特徴とするバーコード読取装置。 - 前記疑問キャラクタに対応する正しいキャラクタを入力する入力手段を備え、前記制御手段は、前記疑問キャラクタを前記正しいキャラクタに置換し、当該正しいキャラクタを含む復調結果を修正済復調結果として出力することを特徴とする請求の範囲第5項記載のバーコード読取装置。
- 前記疑問キャラクタを含む前記復調結果と前記修正済復調結果とを対応付けて記憶する記憶手段と、前記バーコードの復調結果と前記記憶手段に記憶されている前記疑問キャラクタを含む復調結果とを比較する比較手段とを備え、前記制御手段は、前記比較手段の比較結果が一致である場合、前記バーコードの復調結果に代えて、前記記憶手段に記憶されている修正済復調結果を出力することを特徴とする請求の範囲第6項記載のバーコード読取装置。
- キャラクタを複数のバー幅により表したバーコードを読み取ることにより得られるモジュール数に基づいて前記キャラクタを復調するバーコード読取方法において、
キャラクタにおけるモジュール数と基本モジュール幅との比率を求める比率算出工程と、
前記比率における誤差量が許容値を超えている場合、誤差成分を含む前記モジュール数を補正する補正工程と、
前記キャラクタにおけるモジュール数、前記補正工程により補正されたモジュール数に基づいて、キャラクタを復調する復調工程と、
前記復調工程の復調結果において、補正されたモジュール数に対応する疑問キャラクタにマーキングを施したものを表示手段に表示させる表示工程と、
前記表示手段の表示に基づいて正しいキャラクタを入力するための入力工程と、
を含むことを特徴とするバーコード読取方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP1999/005880 WO2001031560A1 (fr) | 1999-10-25 | 1999-10-25 | Dispositif et procede de lecture de codes a barres |
Publications (1)
Publication Number | Publication Date |
---|---|
JP4416980B2 true JP4416980B2 (ja) | 2010-02-17 |
Family
ID=14237087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001534068A Expired - Fee Related JP4416980B2 (ja) | 1999-10-25 | 1999-10-25 | バーコード読取装置およびバーコード読取方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6547143B2 (ja) |
JP (1) | JP4416980B2 (ja) |
WO (1) | WO2001031560A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1489540A4 (en) * | 2002-03-08 | 2008-05-14 | Dainippon Printing Co Ltd | INFORMATION PROVIDING SYSTEM AND PAPER FORMING PRESENTATION MEDIUM |
US7044382B2 (en) * | 2002-06-28 | 2006-05-16 | Fujitsu Limited | Bar-code reader and computer product |
JP4170111B2 (ja) * | 2003-02-21 | 2008-10-22 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
KR100667778B1 (ko) * | 2004-11-20 | 2007-01-11 | 삼성전자주식회사 | 바코드 판독 방법 및 장치 |
US8668149B2 (en) * | 2009-09-16 | 2014-03-11 | Metrologic Instruments, Inc. | Bar code reader terminal and methods for operating the same having misread detection apparatus |
WO2013048459A1 (en) | 2011-09-30 | 2013-04-04 | Hewlett-Packard Development Company, L. P. | Decision device and method thereof |
US9170874B2 (en) | 2012-07-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Providing a potential solution |
US9022288B2 (en) * | 2012-09-05 | 2015-05-05 | Metrologic Instruments, Inc. | Symbol reading system having predictive diagnostics |
CN103942520A (zh) * | 2014-03-04 | 2014-07-23 | 北京林业大学 | 一种森林固定样地调查条码尺及其使用方法 |
US10460141B2 (en) * | 2016-05-31 | 2019-10-29 | University Of Rochester | Per-channel color barcodes for displays |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4205780A (en) * | 1977-03-21 | 1980-06-03 | Teknekron, Inc. | Document processing system and method |
JPS57148243A (en) | 1981-03-09 | 1982-09-13 | Satake Eng Co Ltd | Detector for measuring device for moisture of cereals |
JPS6220027Y2 (ja) * | 1981-03-12 | 1987-05-22 | ||
US4414468A (en) * | 1981-05-18 | 1983-11-08 | International Business Machines Corporation | Systematic error correction in bar code scanner |
US4421978A (en) * | 1981-08-20 | 1983-12-20 | International Business Machines Corporation | Decoding method for multicharacter labels |
JPH0727543B2 (ja) * | 1988-04-28 | 1995-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーション | 文字認識装置 |
JPH01302481A (ja) * | 1988-05-31 | 1989-12-06 | Oki Electric Ind Co Ltd | 光学文字読取装置 |
JPH02128289A (ja) * | 1988-11-08 | 1990-05-16 | Nec Off Syst Ltd | バーコードリーダ |
US4914709A (en) * | 1989-06-02 | 1990-04-03 | Eastman Kodak Company | Method for identifying unrecognizable characters in optical character recognition machines |
JPH04283888A (ja) * | 1991-03-13 | 1992-10-08 | Fuji Electric Co Ltd | バーコードリーダ |
JPH05114041A (ja) | 1991-10-22 | 1993-05-07 | Casio Comput Co Ltd | バーコード入力装置 |
JP2740418B2 (ja) * | 1992-07-14 | 1998-04-15 | 富士通株式会社 | バーコード読取復調方法 |
JP2793453B2 (ja) | 1992-10-26 | 1998-09-03 | 日本電気精器株式会社 | ニューラル・ネットワークを用いたバーコード・シンボルの認識方法 |
JPH06348886A (ja) | 1993-06-02 | 1994-12-22 | Nec Eng Ltd | 光学的データ読取装置 |
JPH0743710A (ja) | 1993-07-29 | 1995-02-14 | Toshiba Lighting & Technol Corp | 照明装置及び液晶表示装置 |
JP2977431B2 (ja) * | 1993-12-27 | 1999-11-15 | 株式会社東芝 | ビデオコーディング装置 |
JP2692572B2 (ja) | 1994-01-28 | 1997-12-17 | 日本電気株式会社 | Pos端末装置 |
JP3576617B2 (ja) * | 1994-12-20 | 2004-10-13 | キヤノン株式会社 | 電子ファイル装置および電子ファイリング方法 |
NL9500597A (nl) * | 1995-03-28 | 1996-11-01 | Scantech Bv | Werkwijze en inrichting voor het decoderen van barcodes. |
JPH08287181A (ja) | 1995-04-13 | 1996-11-01 | Keyence Corp | バーコード読取装置 |
JP3550807B2 (ja) * | 1995-06-16 | 2004-08-04 | 株式会社デンソー | バーコード復号方式 |
US5773807A (en) * | 1995-07-28 | 1998-06-30 | Symbol Technologies, Inc. | Arrangement for and method of minimizing reading errors in bar code symbol readers |
US5767498A (en) | 1996-09-17 | 1998-06-16 | Ncr Corporation | Bar code error scanner |
JPH1091715A (ja) * | 1996-09-19 | 1998-04-10 | Nec Eng Ltd | バーコード読取装置 |
JP3510496B2 (ja) * | 1998-09-28 | 2004-03-29 | 富士通株式会社 | バー幅補正装置,バー幅補正方法,バーコード読取装置及びそのバーコード復調方法 |
JP3548025B2 (ja) * | 1998-12-17 | 2004-07-28 | 富士通株式会社 | バーコード読取装置および方法 |
-
1999
- 1999-10-25 JP JP2001534068A patent/JP4416980B2/ja not_active Expired - Fee Related
- 1999-10-25 WO PCT/JP1999/005880 patent/WO2001031560A1/ja active Application Filing
-
2002
- 2002-02-21 US US10/078,472 patent/US6547143B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2001031560A1 (fr) | 2001-05-03 |
US20020074407A1 (en) | 2002-06-20 |
US6547143B2 (en) | 2003-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4416980B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
US5889270A (en) | Bar code decoding using moving averages to break the (N.K.) code barrier for UPC, EAN, code 128 and others | |
JP3115003B2 (ja) | モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置 | |
JP2002042049A (ja) | 物品識別装置および物品識別方法 | |
JPS61101880A (ja) | バ−コ−ド読取方法および装置 | |
EP0502440B1 (en) | Bar-code reading apparatus and method | |
JP3548025B2 (ja) | バーコード読取装置および方法 | |
JP5526819B2 (ja) | Posレジスタ及びposシステム | |
JPH0636065A (ja) | バーコード読取復調方法 | |
JP2718442B2 (ja) | バーコード復調方法及び装置 | |
JP5341951B2 (ja) | コード読取装置及びプログラム | |
US5519199A (en) | Method and apparatus for detecting and storing bar bode data and re-detecting undetected data | |
JP5463248B2 (ja) | 商品情報処理装置及びプログラム | |
JP2019153167A (ja) | コード読取装置およびプログラム | |
JP4170111B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
JP2953143B2 (ja) | バーコード読取装置およびバーコード読取方法 | |
JP2742920B2 (ja) | バーコード読取装置 | |
JPS60186972A (ja) | バ−コ−ド読取装置 | |
JPH07129701A (ja) | データ読み取り装置 | |
JP2741404B2 (ja) | バーコード読取装置 | |
JPH036790A (ja) | 二段バーコード読取装置 | |
JP2021099717A (ja) | 発行装置 | |
JPH06259591A (ja) | データ処理システム | |
JPH0449477A (ja) | バーコード読取装置およびバーコード読取方法 | |
JPS633398A (ja) | レジスタ端末における売上げ金額表示方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060728 |
|
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: 20091117 |
|
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: 20091125 |
|
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: 20121204 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |