(57)【特許請求の範囲】
【請求項１】
バーコードを読み取る読み取り部と、前記読み取り部でｎ回目に読み取ったバーコードデータを記憶する記憶部と、前記読み取り部でｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する桁数算出部と、前記桁数算出部で算出した前記バーコードの桁数を所定の値と比較する比較部とを備え、前記比較部での比較結果を受けて前記バーコードの桁数が前記所定の値よりも小なるときはさらに複数回の読み取りを行い、この複数回分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行うことを特徴とするバーコード読み取り装置。
【請求項２】
読み取られたバーコードの桁数が所定の値以上であるときは、前記バーコードの桁数が前記所定の値よりも小なるときに行う読み取り回数より小なる回数の読み取りを行い、この読み取りで得られたバーコードデータと前記ｎ回目に読み取ったバーコードデータを照合して前記バーコードの解読を行う請求項１記載のバーコード読み取り装置。
【請求項３】
バーコードを読み取る読み取り部と、前記読み取り部でｎ回目に読み取ったバーコードデータを記憶する記憶部と、前記読み取り部でｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する桁数算出部と、前記桁数算出部で算出した前記バーコードの桁数が小であるほどさらなる読み取り回数を多くすることを特徴とするバーコード読み取り装置。
【請求項４】
バーコードの桁数が大であるほどさらなる読み取り回数を少なく設定し、この設定された回数の読み取りを行い、この回数分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行う請求項３記載のバーコード読み取り装置。
【請求項５】
バーコードの種類に応じて、所定の値を変化させるもしくはバーコードの桁数に応じたさらなる読み取り回数を変化させる請求項１、２、３または４記載のバーコード読み取り装置。
【請求項６】
バーコードの種類が変化した際に、所定の値を大なる値に変化させるもしくはバーコードの桁数に応じたさらなる読み取り回数を大なる回数に変化させる請求項１、２、３または４記載のバーコード読み取り装置。
【請求項７】
新たなバーコードを読み取る際で、かつ、桁数算出部が算出した前記新たなバーコードの桁数が前回のバーコードの桁数と異なる際に、所定の値を大なる値に変化させるもしくはバーコードの桁数に応じたさらなる読み取り回数を大なる回数に変化させる請求項１、２、３または４記載のバーコード読み取り装置。
【請求項８】
解読において、ｎ回目に読み取ったバーコードデータとさらに読み取ったバーコードデータとを照合し、すべてのバーコードデータが一致したときに前記バーコードの解読を行う請求項１から５のいずれかに記載のバーコード読み取り装置。
【請求項９】
バーコードを読み取る第１のステップと、ｎ回目に読み取ったバーコードデータを記憶する第２のステップと、前記ｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する第３のステップと、算出した前記バーコードの桁数を所定の値と比較する第４のステップと、前記比較結果を受けて前記バーコードの桁数が前記所定の値よりも小なるときはさらに複数回の読み取りを行い、この複数回分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行うとともに、前記バーコードの桁数が前記所定の値以上であるときは、前記バーコードの桁数が前記所定の値よりも小なるときに行う読み取り回数より小なる回数の読み取りを行い、この読み取りで得られたバーコードデータと前記ｎ回目に読み取ったバーコードデータを照合して前記バーコードの解読を行う第５のステップとからなるバーコード読み取り方法。
【請求項１０】
バーコードを読み取る第１のステップと、ｎ回目に読み取ったバーコードデータを記憶する第２のステップと、前記ｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する第３のステップと、算出した前記バーコードの桁数が小であるほどさらなる読み取り回数を多く、前記バーコードの桁数が大であるほどさらなる読み取り回数を少なく設定する第４のステップと、前記設定部で設定された回数の読み取りを行い、この回数分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行う第５のステップとを備えたバーコード読み取り方法。
【請求項１１】
バーコードを読み取る第１のステップと、ｎ回目に読み取ったバーコードデータを記憶する第２のステップと、前記ｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する第３のステップと、算出した前記バーコードの桁数を所定の値と比較する第４のステップと、前記比較結果を受けて前記バーコードの桁数が前記所定の値よりも小なるときはさらに複数回の読み取りを行い、この複数回分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行うとともに、前記バーコードの桁数が前記所定の値以上であるときは、前記バーコードの桁数が前記所定の値よりも小なるときに行う読み取り回数より小なる回数の読み取りを行い、この読み取りで得られたバーコードデータと前記ｎ回目に読み取ったバーコードデータを照合して前記バーコードの解読を行う第５のステップとからなるプログラムを記憶した記憶媒体。
【請求項１２】
バーコードを読み取る第１のステップと、ｎ回目に読み取ったバーコードデータを記憶する第２のステップと、前記ｎ回目に読み取ったバーコードデータから少なくとも前記バーコードの桁数を算出する第３のステップと、算出した前記バーコードの桁数が小であるほどさらなる読み取り回数を多く、前記バーコードの桁数が大であるほどさらなる読み取り回数を少なく設定する第４のステップと、前記設定部で設定された回数の読み取りを行い、この回数分のバーコードデータと前記ｎ回目に読み取ったバーコードデータとを照合して前記バーコードの解読を行う第５のステップとからなるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イメージセンサなどを用いバーコード上を電気的に走査し、ＪＡＮ（Ｊａｐａｎ  Ａｒｔｉｃｌｅ  Ｎｕｍｂｅｒｉｎｇ）、ＥＡＮ（ＥｕｒｏｐｅＡｒｔｉｃｌｅ  Ｎｕｍｂｅｒｉｎｇ）、ＵＰＣ（Ｕｎｉｖｅｒｓａｌ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅ）とＮＷ−７、ＣＯＤＥ３９、ＩＴＦ（Ｉｎｔｅｒｌｅａｖｅｄ  ２  ｏｆ  ５）、ＳＴＦ（Ｓｔａｎｄａｒｄ  ２  ｏｆ  ５）、ＣＯＤＥ９３、ＣＯＤＥ１２８などの様々な種類、桁数のバーコードを読み取るバーコードリーダ及びバーコード読み取り方法および記録媒体に関するものである。
【０００２】
【従来の技術】
バーコードラベルには様々な桁数または種類が存在し、例えばバーコード種類ＪＡＮ−１３などは１３桁である。１３桁ラベルを読み取る際、外的要因により３桁、４桁などのバーコード種類がＮＷ−７として誤って読み取る（誤読する）という問題点がある。
【０００３】
また同様に、ＪＡＮ−１３の１３桁のラベルを誤って、ＮＷ−７の１３桁ラベルと誤って読み取る（誤読する）という問題点がある。
【０００４】
このような問題点を防止する為に、予め設定された、照合回数（ｎ）だけ読み取って、そのいずれもが同一であるときにデータが有効であるとして、上位装置（例えばＰＯＳ）に送信するのが一般的である。
【０００５】
照合回数（ｎ）は不揮発性メモリ（例えばＥＥＰＲＯＭ）に書き込まれた値である。また、使用するバーコードの印刷品質が悪いときなどは、誤読対策を強化する為に照合回数（ｎ）を増加させることもできる。
【０００６】
図２は従来のバーコード読み取り方法を示したものである。
センサより入力されたバー幅データを解析してバーコードデータを得る（Ｓｔｅｐ．１）。
【０００７】
読み取りデータ格納バッファ（記憶部）が空であることを確認する（Ｓｔｅｐ．２）。  Ｓｔｅｐ．２の結果バッファが空であれば読み取ったバーコードデータをバッファにセットする（Ｓｔｅｐ．８）。
【０００８】
照合回数を変数ｎにセットする（Ｓｔｅｐ．９）。
Ｓｔｅｐ．９終了後Ｓｔｅｐ．１へ処理を移行する。
【０００９】
Ｓｔｅｐ．２の結果バッファが空でない時は、バッファ内のデータと今回の読み取りデータの照合処理を実行する（Ｓｔｅｐ．３）。
【００１０】
バッファ内のデータと同じ時は照合ＯＫとして照合回数（ｎ）を１減じる（Ｓｔｅｐ．４）。
【００１１】
Ｓｔｅｐ．４の結果  ｎ＝０となれば、照合処理を終了として、上位機器へデータを送信する（Ｓｔｅｐ．６）。
【００１２】
バッファ内のデータと今回のデータが異なる場合は、バッファをクリアする（Ｓｔｅｐ．７）。
【００１３】
Ｓｔｅｐ．７終了後Ｓｔｅｐ．１へ処理を移行する。これにより照合処理のやり直しが行われる。
【００１４】
【発明が解決しようとする課題】
このような、従来のバーコード読み取り方法では、誤読対策を強化するときにはＳｔｅｐ．９にてセットする照合回数（ｎ）を増加させる必要がある。しかし、これにより、バーコード読み取り速度が全体として低下する問題がある。
【００１５】
バーコードの高速読み取りを実現しようとした場合、この問題は顕著に現れる。よって、本発明の目的は、誤読の発生確率の低減を実現する読み取り方法および装置を提供することにある。
【００１６】
【課題を解決するための手段】
本発明は上記目的を達成する為に、まず基準桁数（ｋ）を設定する。読み取りデータの桁数がｋより少ない場合は、誤読データである可能性が高い為、照合回数（ｎ）を多く設定する。
【００１７】
基準桁数よりも桁数が多いバーコードを読み取った時は正常データであるとして照合回数（ｎ）を少なく設定する。
【００１８】
また前回読み取ったバーコード種類と、今回読み取ったバーコード種類が異なる場合も誤読発生の確率が高い為、照合回数（ｎ）を多く設定する。
【００１９】
【発明の実施の形態】
上記に示すように、本発明の読み取り方法では、読み取りバーコードデータの桁数または、種類の変化により、照合回数（ｎ）を増減させることにより、誤読発生確率を低減する。また、桁数の少ないバーコードのデコード（解析）時間は桁数の長いバーコードに比較して短いため、照合回数を増やしても、読み取り速度はさほど低下しない。
【００２０】
図３は発明したバーコード読み取り方法を示したものである。
センサより入力されたバーコードイメージを解析してバーコードデータを得る（Ｓｔｅｐ．１０）。  読み取りデータ格納バッファが空であることを確認する（Ｓｔｅｐ．１１）。  Ｓｔｅｐ．１１の結果バッファが空であれば読み取ったバーコードデータをバッファにセットする（Ｓｔｅｐ．１７）。  読み取りデータ桁数と基準桁数を比較する（Ｓｔｅｐ．１８）。
【００２１】
Ｓｔｅｐ．１８の結果、データ桁数が基準桁数より小さい場合（図中  ＹＥＳ分岐）照合回数（大）を変数ｎにセットする（Ｓｔｅｐ．１９）。  データ桁数が基準桁数より大きい場合（図中  ＮＯ分岐）前回のバーコード種類と、今回読み取ったバーコード種類を比較する（Ｓｔｅｐ．２０）。
【００２２】
種類が異なれば照合回数（大）を変数（ｎ）にセットする（Ｓｔｅｐ．２１）。  種類が同じであれば照合回数（小）を変数（ｎ）にセットする（Ｓｔｅｐ．２２）。
【００２３】
Ｓｔｅｐ．１１の結果バッファが空でない時（図中  ＮＯ分岐）は、バッファ内のデータと今回の読み取りデータの照合処理を行う（Ｓｔｅｐ．１２）。
【００２４】
Ｓｔｅｐ．１２の結果バッファ内のデータと同じ時は照合ＯＫとして照合回数（ｎ）を１減じる（Ｓｔｅｐ．１３）。
【００２５】
Ｓｔｅｐ．１３の結果  ｎ＝０となれば、照合処理を終了として、上位機器へデータを送信する（Ｓｔｅｐ．１４  Ｓｔｅｐ．１５）。
【００２６】
Ｓｔｅｐ．１３の結果  ｎ≠０となれば、照合処理が未完であるので  Ｓｔｅｐ．１０に戻る（Ｓｔｅｐ．１４）。
【００２７】
Ｓｔｅｐ．１２の結果バッファ内のデータと今回のデータが異なる場合は、バッファをクリアする（Ｓｔｅｐ．１６）。
【００２８】
Ｓｔｅｐ．１６終了後Ｓｔｅｐ．１へ処理を移行する。これにより照合処理のやり直しが行われる。
【００２９】
ここで示した基準桁数（ｋ）は、不揮発性メモリ（例えばＥＥＰＲＯＭ）に記憶されており、必要に応じて変更することが可能である。
【００３０】
桁数が誤る誤読例を以下に示す。
データ”４９１２３４５６７８９０４”の１３桁データを読み取り時に、”スキャナ読み取り口がラベル上に正常に当たらない”、”ラベルの印刷状態が悪い”、”使用者の手ブレ”等の外的要因にて３桁のデータ”ａｌａ”が誤って認識された時を例として考える。バーコードリーダへの入力データ（８回のデータ取込みを実施後）は図４のような場合を想定する。また各方法での条件を以下のように定める。
【００３１】
比較例：照合回数  ２回
本実施の形態：照合回数（小）２回、照合回数（大）５回、基準桁数５桁
比較例では照合回数が１律２回に設定されている為、１、２回目の入力データは、３回目の入力データによって破棄される。３、４、５回目のデータ「ａｌａ」により２回の照合処理が完了し、上位機器に誤読データ「ａｌａ」が送信されてしまう。またその後の６，７，８回目のデータ「４９１２３４５６７８９０４」により２回の照合処理が完了し、上位機器に正常データ「４９１２３４５６７８９０４」が送信される。
【００３２】
これより、比較例の方法にて上記並びでのデータ入力で誤読データ「ａｌａ」を排除しようとした場合、照合回数を「３回」以上に設定しなければならない。例えば照合回数（ｎ）を５回に設定すると、正常データ入力時も５回の照合を行う為、読み取り速度が低下してしまう。
【００３３】
本実施形態の方法では、１回目のデータ読み取り時にバッファにデータがセットされると共に、照合回数（小）２回がセットされる。２回目のデータ「４９１２３４５６７８９０４」は照合処理をパスするが、３回目のデータ「ａｌａ」により無効となる。また３回目のデータ「ａｌａ」をバッファにセットすると共に照合回数（大）５回がセットされる。４、５回目の読み取りデータは照合処理をパスするが、６回目の入力データにより無効となる。６回目のデータをバッファにセットすると共に照合回数（小）２回がセットする。７、８回目のデータが照合処理をパスするので、バーコードリーダは上位機器に「４９１２３４５６７８９０４」を読み取りデータとして送信する。誤読データ「ａｌａ」は誤読データとしてバーコードリーダに認識され上位機器には送信されない。このように正常である可能性の高いデータの照合回数を小さく、誤りである可能性の高いデータの照合回数を大きく設定することで、読み取り速度を低下させることなく、誤読を排除することが可能となる。
【００３４】
バーコードの種類が誤る誤読例を以下に示す。
バーコード種類  ＪＡＮ−１３  データ“４９１２３４５６７８９０４”の１３桁データを読み取り時に、”スキャナ読み取り口がラベル上に正常に当たらない”、”ラベルの印刷状態が悪い”、”使用者の手ブレ”等の外的要因にて１３桁のデータ”ａ９１２３４５６７８９０ａ”が誤って認識された時を例として考える。バーコードリーダへの入力データ（１１回のデータ取り込みを実施後）は図５のような場合を想定する。また各方法での条件を以下のように定める。
【００３５】
比較例の方法：照合回数  ２回
本実施形態の方法：照合回数（小）２回、照合回数（大）５回、基準桁数５桁比較例の方法では１、２回目の入力データは、３回目の入力データによって破棄される。３、４、５回目のデータ「ａ９１２３４５６７８９９０ａ」により２回の照合処理が完了し、上位機器に誤読データ「ａ９１２３４５６７８９０ａ」が送信される。またその後の６、７、８回目のデータ「４９１２３４５６７８９０４」により２回の照合処理が完了し、上位機器に正常データ「４９１２２３４５６７８９０４」が送信される。これより、比較例の方法にて上記並びでのデータ入力で誤読データ「ａ９１２３４５６７８９０ａ」を排除しようとした場合、照合回数を「３回」以上に設定しなければならない。例えば照合回数（ｎ）を５回に設定すると、正常データ入力時も常に５回の照合を行うため、読み取り速度が低下してしまう。
【００３６】
本実施形態の方法では、１回目のデータ読み取り時にバッファにデータがセットされると共に、照合回数（小）２回がセットされる。２回目のデータ「４９１２３４５６７８９０４」は照合処理をパスするが、３回目のデータ「ａ９１２３４５６７８９０ａ」により、無効となる。また３回目のデータ「ａ９１２３４５６７８９０ａ」をバッファにセットすると共にバーコード種類が異なるため照合回数（大）５回がセットされる。４、５回目の読み取りデータは照合処理をパスするが、６回目の入力データにより無効となる。６回目のデータをバッファにセットすると共に照合回数（大）５回をセットする。７、８、９、１０、１１回目のデータが照合処理をパスするので、バーコードリーダは上位機器に「４９１２３４５６７８９０４」を読み取りデータとして送信する。誤読データ「ａ９１２３４５６７８９０ａ」は誤読データとしてバーコードリーダに認識される。このように読み取られたバーコード種類が変更されたときに照合回数を大きく設定する。実際にバーコードリーダが使用される店舗などでは、同じ種類のバーコードを速読して読み取ることが多い。本実施形態の方式では、誤読発生直後の読み取りには時間がかかるが、その後の読み取りは照合回数２回で行われるため、読み取り速度が低下することはない。また誤読が発生した直後のセンサからの波形は信頼性が低いものとして照合回数を多く設定することで、読み取りデータの信頼性を高めている。
【００３７】
一般的に誤読発生時のデータ入力は上記の例に示したものが多い。よって本実施形態の読み取りアルゴリズムを採用することにより、誤読発生確率の低減することができる。
【００３８】
また本実施の形態ではプログラムによって実現し、これをフロッピーディスク等の記録媒体に記録して移送することにより、独立した他のコンピュータシステムで容易に実施することができる。図６は、これをフロッピーディスクで実施する場合を説明する図である。
【００３９】
図６（ａ）は、記録媒体であるフロッピーディスクの物理フォーマットの例を示す図である。同心円状に外周から内周に向かってトラックを作成し、角度方向に１６のセクタに分割している。このように割り当てられた領域に従って、プログラムを記録する。
【００４０】
図６（ｂ）は、このフロッピーディスクを収納するケースを説明する図である。左からフロッピーディスクケースの正面図、およびこの断面図、そしてフロッピーディスクをそれぞれ示す。このようにフロッピーディスクをフロッピーディスクケースに収納することにより、フロッピーディスクを埃や外部からの衝撃から守り、安全に移送することができる。
【００４１】
図６（ｃ）は、フロッピーディスクにプログラムの記録再生を行うことを説明する図である。図示のようにコンピュータシステムにフロッピーディスクドライブを接続することにより、フロッピーディスクに対してプログラムを記録再生することが可能となる。フロッピーディスクはフロッピーディスクドライブにフロッピー挿入口を介して組み込み、および取り出しがなされる。記録する場合は、コンピュータシステムからプログラムをフロッピーディスクドライブによってフロッピーディスクに記録する。再生する場合は、フロッピーディスクドライブがプログラムをフロッピーディスクから読み出し、コンピュータシステムに転送する。
【００４２】
なお、この実施の形態においては、記録媒体としてフロッピーディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また記録媒体はこれらに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば、同様に実施することができる。
【００４３】
【発明の効果】
本発明によれば読み取りデータの桁数、種類の変化により照合回数を増減させることで誤読率を飛躍的に低減することが可能である。また、桁数の少ないラベルは読み取り時間が短い為に、照合回数を増やしても、読み取り速度は低下しない。この為、誤読率の低減と、読み取り速度の向上が可能となる。
【図面の簡単な説明】
【図１】本発明の一態様の原理を示すブロック図
【図２】発明したバーコード読み取り方法のフローチャート
【図３】桁数が誤るデータ例を示した図
【図４】バーコード種類が誤るデータ例を示した図
【図５】（ａ）記録媒体本体であるフロッピーディスクの物理フォーマットの例を示す図
（ｂ）フロッピーディスクを収納するケースを説明する図
（ｃ）フロッピーディスクにプログラムの記録再生を行うことを説明する図
【図６】従来のバーコード読み取り方法のフローチャート
【符号の説明】
１ａ  読み取り部
１ｂ  桁数算出部
１ｃ  バーコード種類判定部
１ｄ  記憶部
１ｅ  比較部
１ｆ  設定部
１ｇ  データ送信部
【図１】
0003658972.tif 000002
【図２】
0003658972.tif 000003
【図３】
0003658972.tif 000004
【図４】
0003658972.tif 000005
【図５】
0003658972.tif 000006
【図６】
0003658972.tif 000007