JP3785527B2 - バーコード読取装置、及び記憶媒体 - Google Patents
バーコード読取装置、及び記憶媒体 Download PDFInfo
- Publication number
- JP3785527B2 JP3785527B2 JP17737099A JP17737099A JP3785527B2 JP 3785527 B2 JP3785527 B2 JP 3785527B2 JP 17737099 A JP17737099 A JP 17737099A JP 17737099 A JP17737099 A JP 17737099A JP 3785527 B2 JP3785527 B2 JP 3785527B2
- Authority
- JP
- Japan
- Prior art keywords
- reference value
- bar
- bar width
- decoding
- barcode
- 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
Description
【発明の属する技術分野】
本発明は、バーコードを読み取ってデコードするバーコード読取装置、及び記憶媒体に関する。
【0002】
【従来の技術】
一般に、コンピュータ等にデータを入力する手段として、例えば光学的に読み取りさせる手段では、パンチカードやマークシート等のOMRから、文字をそのまま読み取るOCRまで様々な手段がある。その中で、シンボルコードの一種として広く普及しているのがバーコードであり、このバーコードをリニアセンサー等で読み取ることにより、販売管理、物流管理、生産管理等におけるデータの入力を行なうバーコード読取装置が知られている。
【0003】
バーコードのキャラクタ構成の方法には、細いバーと太いバーで構成する2値レベルバーコードと、基本モジュールを定数倍した数種類の太さのバーで構成するマルチレベルバーコードとの2つの体系があり、2値レベルバーコードは、細いバーと、太いバーとの2種類のバーによって構成されているので、バーコードを構成しているバー幅の細い、太いを判定することによってデコードすることができる。
【0004】
このような2値レベルバーコードをデコードする際に、従来のバーコード読取装置では、通常、バーコードを読み取ってバーイメージを取得すると、太バー幅と細バー幅との比率等がバーコードの規格内に収まっているか否かを判定し、規格外であった場合には、エラー表示等を行なって再度バーイメージを取得し直す等のエラー処理を行ない、規格内であった場合には、白バー幅及び黒バー幅についてそれぞれの最細バー幅、最太バー幅を検出し、その検出したそれぞれの最細バー幅、最太バー幅によって白バーのバー幅判定基準値と黒バーのバー幅判定基準値とを算出し、その算出したバー幅判定基準値と取得したバーイメージの各バー幅とを比較することによってバー幅判定基準値より細い、太いを判定し、白バー及び黒バーの細、太パターンに応じて文字、数字等のキャラクタに変換してバーコードをデコードしていた。また、デコード方式によっては、バーイメージを構成する各キャラクタ単位毎にバー幅判定基準値を算出し、その算出したバー幅判定基準値に基づいて白バー幅及び黒バー幅の細い、太いを判定し、バーコードをデコードするものもあった。
【0005】
【発明が解決しようとする課題】
しかしながら、一般的に、印刷状態の粗悪なバーコード、規格の範囲外のバーコードは少なく、ほとんどは正常で、規格内に収まったバーコードであり、また、実際に所定のフィールド内でバーコードを読み取る場合には、そのフィールド内のバーコードは、印刷状態やバーイメージの傾向について、特徴を持っていることが多く、同一のバー幅判定基準値を用いてバーコードをデコードできることが多い。このような場合にも、従来のバーコード読取装置では、バーコードを読み取る度に、バーイメージが規格内に収まっているか否かを判定し、バー幅判定基準値を算出し直しているため、デコードに時間がかかるという問題があった。また、バーイメージを構成する各キャラクタ単位毎にバー幅判定基準値を算出して、デコードを行なう場合には、一つのバーコードをデコードする際に、バー幅判定基準値の算出を何度も繰り返さなければならないため、さらにデコードに時間がかかるという問題があった。
【0006】
本発明の課題は、デコードが成功した場合におけるバー幅判定基準値を保存して利用することによって、不要なバー幅判定基準値算出処理等を減らし、バーコードの高速デコードができるようにすることである。
【0007】
【課題を解決するための手段】
請求項1記載の発明は、バーコードを読み取ってバーイメージを取得する読取手段と、この読取手段により取得されたバーイメージに基づいて前記バーコードにおける各バー幅が細バーであるか太バーであるかを判定するためのバー幅基準値を算出する基準値算出手段と、この基準値算出手段により算出されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードするデコード手段と、を備えたバーコード読取装置において、前記デコード手段による前記バーコードのデコードが成功した際に用いられた前記バー幅基準値を記憶する基準値記憶手段を更に備え、前記デコード手段は、前記基準値記憶手段に記憶されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードし、当該デコードが成功した場合は、当該バー幅基準値を継続使用し、当該デコードが失敗した場合は、当該デコードの際に前記読取手段により取得されたバーイメージに基づいて前記基準値算出手段により新たにバー幅基準値を算出して、前記基準値記憶手段に記憶することを特徴としている。
【0008】
この請求項1記載の発明によれば、バーコードを読み取ってバーイメージを取得する読取手段と、この読取手段により取得されたバーイメージに基づいて前記バーコードにおける各バー幅が細バーであるか太バーであるかを判定するためのバー幅基準値を算出する基準値算出手段と、この基準値算出手段により算出されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードするデコード手段と、を備えたバーコード読取装置において、基準値記憶手段は、前記デコード手段による前記バーコードのデコードが成功した際に用いられた前記バー幅基準値を記憶し、前記デコード手段は、前記基準値記憶手段に記憶されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードし、当該デコードが成功した場合は当該バー幅基準値を継続使用し、当該デコードが失敗した場合は、当該デコードの際に前記読取手段により取得されたバーイメージに基づいて前記基準値算出手段により新たにバー幅基準値を算出して、前記基準値記憶手段に記憶する。
【0009】
したがって、バーコードを読み取る度に、バー幅基準値を算出しなくても、デコードすることができるため、デコードの高速化を実現することが可能となる。また、デコードに失敗した場合には、取得したバーイメージに基づくバー幅基準値を新たに算出して、デコードするため、常に正確なバー幅基準値を用いてデコードすることができ、誤読回避が可能となる。
【0010】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を詳細に説明する。図1〜図5は、本発明を適用した一実施の形態におけるコンピュータシステムを示す図である。まず構成を説明する。
【0011】
図1は、本実施の形態におけるコンピュータシステム1の内部構成を示したブロック図である。この図1において、コンピュータシステム1は、CPU2、入力装置3、RAM4、バーコード読み取り部5、表示装置6、記憶装置7、及び記憶媒体8によって構成されており、記憶媒体8を除く各部はバス9によって接続されている。
【0012】
CPU(Central Processing Unit)2は、記憶装置7内に格納されているシステムプログラム及び当該システムに対応する各種アプリケーションプログラムの中から指定されたアプリケーションプログラムをRAM4内の図示しないプログラム格納領域に展開し、入力装置3から入力される各種指示あるいはデータをRAM4内に一時的に格納し、この入力指示及び入力データに応じて記憶装置7内に格納されたアプリケーションプログラムに従って各種処理を実行し、その処理結果をRAM4内に格納するとともに、表示装置6に表示する。そして、RAM4に格納した処理結果を入力装置3から入力指示される記憶装置7内の保存先に保存する。
【0013】
またCPU2は、バーコード読み取り部5から入力される電気信号をバーイメージとして認識し、RAM4上に展開される判定フラグ4aの状態に従って基準値格納ワークメモリ4bに格納されているバー幅判定基準値を使用するか否かを判別し、この判別結果、及び更新条件ワークメモリ4dに設定されている更新条件等に従って、デコード処理、バー幅判定基準値算出処理、傾向データ更新処理等を実行する。
【0014】
入力装置3は、カーソルキー、数字入力キー及び各種機能キー等を備えたキーボード及びマウス等のポインティングデバイスを含み、キーボードにおいて押下されたキーの押下信号やマウスの位置信号をCPU2に出力する。表示装置6は液晶表示装置、CRT(Cathode Ray Tube)表示装置等により構成され、CPU2から入力される表示データを表示する。
【0015】
RAM(Random Access Memory)4は、CPU2が前記各種アプリケーションプログラムを実行する際に各種データを展開するプログラム格納領域を形成するとともに、バーコード読み取り部5から入力された電気信号を展開するとともに、バーコードのデコード処理、バー幅判定基準値算出処理、傾向データ更新処理等に係るデータを展開するメモリ領域を形成する。
【0016】
バーコード読み取り部5は、例えばレーザースキャナーのように、レーザー光線を走査する走査部と、反射光の強度を測定し、強度に応じた電気信号を出力する受光部と、この受光部から出力された電気信号を数値化するA/D変換回路等から構成され、光信号を電気信号に変換し、この電気信号をCPU2に出力する。
【0017】
記憶装置7は、プログラムやデータ等が予め記憶されている記憶媒体8を有しており、この記憶媒体8は磁気的、光学的記憶媒体、若しくは半導体メモリで構成されている。この記憶媒体8は記憶装置7に固定的に設けたもの、若しくは着脱自在に装着するものであり、この記憶媒体8には前記システムプログラム及び当該システムに対応する各種アプリケーションプログラム、バー幅判定基準値算出処理プログラム、デコード処理プログラム、傾向データ更新処理プログラム及び各種処理プログラムで処理されたデータ等を記憶する。
【0018】
また、この記憶媒体8に記憶するプログラム、データ等は、通信回線等を介して接続された他の機器から受信して記憶する構成にしてもよく、更に、通信回線等を介して接続された他の機器側に前記記憶媒体を備えた記憶装置を設け、この記憶媒体8に記憶されているプログラム、データを通信回線を介して使用する構成にしてもよい。
【0019】
また、図2は、RAM4内の各種データを格納している各種メモリを示す図である。この図2において、RAM4は、判定フラグ4a、基準値格納ワークメモリ4b、基準値バッファ4c、更新条件ワークメモリ4d、基準値テンポラリーメモリ4e、黒細バーレジスタ4f、黒太バー幅レジスタ4g、白細バー幅レジスタ4h、白太バー幅レジスタ4i、黒バー基準値レジスタ4j、及び白バー基準値レジスタ4kを形成する。
【0020】
判定フラグ4aは、基準値格納ワークメモリ4bに格納されているバー幅判定基準値を使用してデコード処理を行なうか否かの判定をするためのフラグが格納されており、基準値格納ワークメモリ4bに格納される基準値を使用する場合には、フラグが「ON」に設定され、使用しない場合には、フラグが「OFF」に設定される。
【0021】
基準値格納ワークメモリ4bは、設定された所定の回数連続してデコードに成功したバー幅判定基準値を格納しており、図3(a)に示すように「識別子」、「基準値1」、「基準値2」に属するデータから構成され、2値レベル、マルチレベル以外のバーコードの拡張用として可変領域が定義されており、終端に情報域の終了を示す識別子が設定される。「識別子」には、「2値レベル」、「マルチレベル」のいずれかが設定され、「識別子」が「2値レベル」である場合には、「基準値1」には、黒バー幅判定基準値が格納され、「基準値2」には、白バー幅判定基準値が格納される。「識別子」が「マルチレベル」である場合には、バー幅判定基準値が「基準値1」、「基準値2」のいずれか一方または両方に格納される。
【0022】
基準値バッファ4cは、これまでに読み取ったバーコードの内、デコード処理が成功した場合において、そのデコード処理に使用したバー幅判定基準値を履歴として格納するリングバッファであり、図3(b)に示すように「識別子」、「基準値1」、「基準値2」、「回数」に属するデータから構成されており、「識別子」には、「2値レベル」、「マルチレベル」のいずれかが設定される。「2値レベル」の場合には、「基準値1」には、黒バー幅判定基準値が格納され、「基準値2」には、白バー幅判定基準値が格納される。「マルチレベル」の場合には、バー幅判定基準値が「基準値1」、「基準値2」のいずれか一方または両方に格納される。「回数」には、このバー幅判定基準値に基づいてデコードが連続して成功した回数が格納される。また、基準値バッファ4cには、2値レベル、マルチレベル以外のバーコードの拡張用の可変領域が定義されており、終端に情報域の終了を示す識別子が設定される。この図3に示すような構成のデータがリング状に連なっており、前回デコードに成功したバー幅判定基準値に対するデータにポインタが設定される。
【0023】
更新条件ワークメモリ4dは、図3(c)に示すように、「設定回数」、「解除回数」、「変化率」、及び「動作モード」等の各種設定状態を格納する。「設定回数」には、所定の回数が設定され、その設定された回数分連続して同一バー幅判定基準値によるデコードが成功した場合には、CPU2は、そのバー幅判定基準値を基準値格納ワークメモリ4bに格納し、判定フラグ4aを「ON」に設定し、次回デコードの際には、そのバー幅判定基準値を使用してデコード処理を実行する。「解除回数」には、所定の回数が設定され、その設定された回数異なるバー幅基準値によってデコード処理が実行された場合には、CPU2は、基準値格納ワーク4bに格納されたバー幅判定基準値を解除する。
【0024】
「変化率」には、所定の範囲内の誤差であれば同一データとみなすための変化率が格納され、「動作モード」には、基準値格納ワーク4bに格納されたバー幅判定基準値を解除する際に、前回使用していたバー幅判定基準値に戻すか、基準値格納ワーク4bにバー幅判定基準値が格納されていない状態に戻すかの2つのモードのいずれかが設定される。これらの更新条件ワークメモリ4dに格納されている各種データの設定状態は、ユーザーが適宜変更することが可能である。
【0025】
基準値テンポラリーメモリ4eは、デコードに成功したバー幅判定基準値を一時的に格納するワークメモリである。
【0026】
黒細バー幅レジスタ4f、黒太バー幅レジスタ4g、白細バー幅レジスタ4h、白太バー幅レジスタ4i、黒バー基準値レジスタ4j、及び白バー基準値レジスタ4kは、バー幅判定基準値を算出する際に、読み取ったバーイメージの最細黒バー幅、最太黒バー幅、最細白バー幅、最太白バー幅、黒バー幅判定基準値、及び白バー幅判定基準値をそれぞれ格納するレジスタである。
【0027】
図4は、バー幅判定基準値の算出方法の具体例を示す図である。図4(A)は、黒と白との太いバーと細いバーとで構成される2値レベルバーコードのバー幅判定基準値の算出方法を示している。この図4(A)は、例えば、最も細い黒バーである黒細バー幅が1.25mm、最も太い黒バーである黒太バー幅が2.875mm、最も細い白バーである白細バー幅が1.12mm、最も太い白バーである白太バー幅が2.464mmである場合の2値レベルバーコードのバー幅判定基準値の算出例を示している。
【0028】
まず、基準値Aに示すように、黒バー幅判定基準値Aは、(黒細バー幅+黒太バー幅)/2=(1.25+2.875)/2=2.0625mmのように算出し、白バー幅判定基準値Aは、(白細バー幅+白太バー幅)/2=(1.12+2.464)/2=1.792mmのように算出しする。一般に、バーコードを読み取ってデコードする際には、読み取ったバーイメージに基づいて、この基準値Aに示すようなバー幅判定基準値を算出していたが、本実施の形態においては、次に読み取られるバーコードの幅が不明であるため、この基準値Aに示すような絶対値を用いたバー幅判定基準値を使用することができないため、この基準値Aに示すバー幅判定基準値とバーコードの最細バー幅との比率をバー幅判定基準値として算出する。そのため、基準値Bに示すように、黒バー幅判定基準値Bは、((黒細バー幅+黒太バー幅)/2)/黒細バー幅、で算出され、白バー幅判定基準値Bは、((白細バー幅+白太バー幅)/2)/白細バー幅、で算出され、図4(A)に示す例では、黒バー幅判定基準値B=((1.25+2.875)/2)/1.25=1.65、白バー幅判定基準値B=((1.12+2.464)/2)/1.12=1.6となる。
【0029】
このように、最細バーに対する比率で基準値を算出しておくと、次にバーコードを読み取ってデコードする際に、最細白バー幅に対して白バー幅判定基準値Bを掛け、最細黒バーに対して黒バー幅判定基準値Bを掛けることによってバー幅が細いか太いかを判定するための値を白バー、黒バーに対してそれぞれ得ることができ、その値に基づいて細い、太いを判定し、デコード処理を実行することができる。
【0030】
また、図4(B)は、基本モジュール幅の1、2、3倍の太さのバーから構成されるマルチレベルバーコードのバー幅判定基準値の算出方法を示す図である。この図4(B)は、例えば、9つのモジュールからなるマルチレベルバーコードのバー幅判定基準値の算出方法を示している。まず、基準値Aに示すように、バー幅判定基準値A=(黒1+白1+黒2+白2+黒3)/9を算出する。ここで黒1は、黒1バーの幅であり、白1、黒2、白2、黒3も同様に、それぞれのバーの幅である。このバー幅判定基準値Aは、基本となる一つのモジュール幅の絶対値を表しており、次に読み取るバーの太さが不明である場合には、このような絶対値のバー幅判定基準値は使用できないため、読み取ったバーイメージの最細バーに対する比率としてのバー幅判定基準値を算出しなければならない。そこで、基準値Bに示すようにバー幅判定基準値B=((黒1+白1+黒2+白2+黒3)/9)/最細バー幅、として算出する。このバー幅判定基準値Bであれば、次にバーコードを読み取ってデコードする際に、そのバーコードの最細バー幅にバー幅判定基準値Bを掛けることによりそのバーコードを構成する基本モジュール幅がすぐに算出され、それをもとにデコードすることができる。
【0031】
図4(B)に示すようなマルチレベルバーコードをデコードする際には、記憶装置7内の記憶媒体8に、黒1バー幅レジスタ、黒2バー幅レジスタ、黒3バー幅レジスタ、白1バー幅レジスタ、白2バー幅レジスタ、及び白3バー幅レジスタ等を備える構成とする。
【0032】
次に動作を説明する。本実施の形態におけるコンピュータシステム1内のCPU2により実行されるバーコードデコード処理について、図5に示すフローチャートを基に説明する。
【0033】
CPU2は、バーコード読み取り部5から読み取ったバーコードの電気信号が入力され、その電気信号をバーイメージとして認識すると、判定フラグ4aの設定が、「ON」であるか、「OFF」であるかを判別し、(ステップS1)、判定フラグ4aの設定が「ON」であった場合には、基準値格納ワークメモリ4bに格納してあるバー幅判定基準値を読み込み、そのバー幅判定基準値に基づいて、デコード処理を試みる(ステップS2)。そして、デコード処理が成功したか否かを判別し(ステップS3)、デコード処理が成功した場合には、その処理結果を表示装置6に表示させて処理を終了する。デコード処理が成功しなかった場合、及び判定フラグ4aの設定が「OFF」であった場合には、ステップS4に移行する。
【0034】
ステップS4では、読み取ったバーイメージが規格内に収まっているか否かを判別し、読み取ったバーイメージが、規格の範囲外であった場合には、表示装置6にエラー表示等の表示データを出力して表示させる等のエラー処理を実行して(ステップS10)、処理を終了する。読み取ったバーイメージが規格の範囲内であった場合には、例えば、読み取ったバーコードが2値レベルバーコードである場合には、黒バー幅判定基準値と白バー幅判定基準値とを図4(A)に示す基準値Bの算出方法に従って算出し、算出した黒バー幅判定基準値と白バー幅判定基準値とを、それぞれ黒バー基準値レジスタ4j、白バー基準値レジスタ4kに格納し、例えば、読み取ったバーコードがマルチレベルバーコードである場合には、バー幅判定基準値を図4(B)に示す基準値Bの算出方法に従って算出し、算出したバー幅判定基準値を黒バー基準値レジスタ4j、白バー基準値レジスタ4kのいずれか一方または両方に格納する(ステップS5)。
【0035】
そして、CPU2は、黒バー基準値レジスタ4jに格納された黒バー幅判定基準値と、白バー基準値レジスタ4kに格納された白バー幅判定基準値とに基づいてデコード処理を実行し(ステップS6)、デコード処理が成功したか否かを判別し(ステップS7)、デコード処理が成功した場合には、処理結果を表示装置6に表示させるとともに、そのデコード処理に用いたバー幅判定基準値を基準値テンポラリーメモリ4eに格納して(ステップS8)、傾向データ更新処理(図6)を実行して(ステップS9)、処理を終了し、デコード処理が成功しなかった場合には、エラー処理を実行して(ステップS10)、処理を終了する。
【0036】
次いで、CPU2により実行される傾向データ更新処理(ステップS9)を図6に示すフローチャートを基に説明する。
【0037】
CPU2は、基準値テンポラリーメモリ4eに格納されている、今回算出したバー幅判定基準値を読み込み(ステップS21)、基準値バッファ4cから、前回デコード処理に成功し、ポインタがおかれているバー幅判定基準値を読み込む(ステップS22)。次いで、CPU2は、更新条件ワークメモリ4dに格納されている変化率を読み込んで、今回算出したバー幅判定基準値と、基準値バッファ4cから読み込んだ前回デコード処理に成功したバー幅判定基準値とを比較して、その誤差が更新条件ワークメモリ4dに設定されている変化率の範囲内か否かを判別する(ステップS23)。
【0038】
変化率の範囲内であった場合には、前回デコード処理に成功したバー幅判定基準値に設定されている「回数」を+1回更新して(ステップS24)、ステップS25に移行する。変化率の範囲外であった場合には、基準値バッファ4cに格納されているバー幅判定基準値の内、今回算出したバー幅判定基準値と比較して、誤差が更新条件ワークメモリ4dに設定されている変化率の範囲内になるものがある場合には、そのバー幅判定基準値の「回数」を1に更新してポインタをそのバー幅判定基準値に更新し、変化率の範囲内になるものがない場合には、基準値テンポラリーメモリ4eに格納されている今回算出したバー幅判定基準値を基準値バッファ4cに格納して「回数」を1に更新し、ポインタをそのバー幅判定基準値に更新して(ステップS27)、ステップS28に移行する。
【0039】
ステップS25では、CPU2は、ステップS24の処理で更新された連続成功回数が、更新条件ワークメモリ4dに設定されている設定回数以上か否かを判別し、設定回数以上であった場合には、基準値格納ワークメモリ4bにそのバー幅判定基準値を格納し、基準値判定フラグ4aをONに設定して(ステップS26)、処理を終了する。設定回数未満であった場合には、そのまま処理を終了する。
【0040】
ステップS28では、基準値格納ワークメモリ4bに格納されているバー幅判定基準値と異なるバー幅判定基準値を用いてデコードを行なった回数が、更新条件ワークメモリ4dに設定されている解除回数以上か否かを判別する。解除回数以上であった場合には、更新条件ワークメモリ4dに設定されている動作モードが基準値格納ワークメモリ4bにバー幅判定基準値が格納されていない状態に戻すモードになっているか否かを判別し(ステップS29)、バー幅判定基準値が格納されていない状態に戻すモードである場合には、基準値格納ワークメモリ4bに基準値が格納されていない状態に戻し、基準値判定フラグ4aを「OFF」に設定し(ステップS30)、動作モードがバー幅判定基準値が格納されていない状態に戻すモードでない場合には、基準値格納ワークメモリ4bに格納されているバー幅判定基準値を前回格納されていたバー幅判定基準値に戻して(ステップS31)、処理を終了する。そして、更新条件ワークメモリ4dに設定されている解除回数未満であった場合には、そのまま処理を終了する。
【0041】
以上のように、CPU2は、更新条件ワークメモリ4dに設定された所定の回数以上連続して同一のバー幅判定基準値を用いてデコード処理に成功した場合には、そのバー幅判定基準値を基準値格納ワークメモリ4bに格納し、判定フラグ4aをONに設定し、次回バーコードを読み取ってデコードする際に、基準値格納ワークメモリ4bに格納されたバー幅判定基準値を用いてバーコードのデコード処理を実行し、そのバー幅判定基準値を用いたデコード処理に失敗した場合には、バー幅判定基準値をあらためて算出し、その算出したバー幅判定基準値に基づいてデコード処理を実行する。そして、更新条件ワークメモリ4dに設定されている更新条件に従って、基準値格納ワークメモリ4bに格納されたバー幅判定基準値の解除及び更新を実行する。
【0042】
したがって、読み取るバーコードの特徴がある傾向を持っており、同一バー幅判定基準値を用いてバーコードのデコード処理ができるような場合には、基準値格納ワークメモリ4bに格納されているバー幅判定基準値を用いてデコード処理を行なうことができるので、バーコードを読み取る度にバー幅判定基準値を算出する必要がなく、デコード処理の高速化が可能となる。また、基準値格納ワークメモリ4bに格納されているバー幅判定基準値を用いてデコード処理に失敗した場合には、バー幅判定基準値をあらためて算出し、その算出したバー幅判定基準値に基づいてデコード処理を行なうので、正確なバー幅判定基準値を用いたデコードが可能であり、デコード処理時の誤読も回避することができる。
【0043】
また、傾向を求めるための連続成功回数や、同一傾向とみなすための誤差範囲等をユーザーによって設定可能としたことにより、運用、用途に合わせて傾向を決めて、バーコードを読み取り、デコード処理を行なうことができ、さらに、解除回数や動作モードを設定可能としたことにより、運用、用途の変更によって、バーコードの傾向が変化した場合にも対応することができる。
【0044】
なお、上記実施の形態においては、バー幅判定基準値を算出する際に、2値レベルバーコードの場合には、最細バー幅と最太バー幅との平均値の最細バー幅に対する比率を算出し、マルチレベルバーコードの場合には、平均化した1モジュール幅の最細バー幅に対する比率を算出したが、これに限定されるものではなく、コンピュータシステム1が予め持っている算出方法によって算出したバー幅判定基準値の最細バーに対する比率を算出しても良く、その他細部の構成についても本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0045】
また、各キャラクタ単位毎にバー幅判定基準値を算出してデコード処理を実行するようなデコード方式の場合には、基準値格納ワークメモリ4b及び、基準値バッファ4cを各キャラクタに対応するバー幅判定基準値をそれぞれ格納することが可能な構成としても良い。
【0046】
【発明の効果】
請求項1及び請求項2記載の発明によれば、バーコードを読み取る度に、バー幅基準値を算出しなくても、デコードすることができるため、デコードの高速化を実現することが可能となる。また、デコードに失敗した場合には、取得したバーイメージに基づくバー幅基準値を新たに算出して、デコードするため、常に正確なバー幅基準値を用いてデコードすることができ、誤読回避が可能となる。
【図面の簡単な説明】
【図1】本発明を適用した一実施の形態としてのコンピュータシステム1の内部構成を示すブロック図である。
【図2】図1のRAM4内の各種データを格納している各種メモリを示す図である。
【図3】図2の各種メモリの構成を示す図である。
【図4】バー幅判定基準値の算出方法の具体例を示す図である。
【図5】図1のコンピュータシステム1において実行されるデコード処理を示すフローチャートである。
【図6】図1のコンピュータシステム1において実行される傾向データ更新処理を示すフローチャートである。
【符号の説明】
1 コンピュータシステム
2 CPU
3 入力装置
4 RAM
4a 判定フラグ
4b 基準値格納ワーク
4c 基準値バッファ
4d 更新条件ワークメモリ
4e 基準値テンポラリーメモリ
4f 黒細バー幅レジスタ
4g 白細バー幅レジスタ
4h 白細バー幅レジスタ
4i 白太バー幅レジスタ
4j 黒バー基準値レジスタ
4k 白バー基準値レジスタ
5 バーコード読み取り部
6 表示装置
7 記憶装置
8 記憶媒体
9 バス
Claims (2)
- バーコードを読み取ってバーイメージを取得する読取手段と、
この読取手段により取得されたバーイメージに基づいて前記バーコードにおける各バー幅が細バーであるか太バーであるかを判定するためのバー幅基準値を算出する基準値算出手段と、
この基準値算出手段により算出されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードするデコード手段と、
を備えたバーコード読取装置において、
前記デコード手段による前記バーコードのデコードが成功した際に用いられた前記バー幅基準値を記憶する基準値記憶手段を更に備え、
前記デコード手段は、前記基準値記憶手段に記憶されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードし、当該デコードが成功した場合は、当該バー幅基準値を継続使用し、当該デコードが失敗した場合は、当該デコードの際に前記読取手段により取得されたバーイメージに基づいて前記基準値算出手段により新たにバー幅基準値を算出して、前記基準値記憶手段に記憶することを特徴とするバーコード読取装置。 - 読取手段により読み取られたバーコードから取得されたバーイメージに基づいて当該バーコードにおける各バー幅が細バーであるか太バーであるかを判定するためのバー幅基準値を算出させるためのコンピュータが実行可能なプログラムコードと、
前記算出されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードさせるためのコンピュータが実行可能なプログラムコードと、
前記バーコードのデコードが成功した際に用いられた前記バー幅基準値を基準値記憶手段に記憶させるためのコンピュータが実行可能なプログラムコードと、
前記基準値記憶手段に記憶されたバー幅基準値を用いて前記読取手段により読み取られたバーコードをデコードさせ、当該デコードが成功した場合は、当該バー幅基準値を継続使用させ、当該デコードが失敗した場合は、当該デコードの際に前記読取手段により取得されたバーイメージに基づいて新たにバー幅基準値を前記基準値算出手段に算出させて、前記基準値記憶手段に記憶させるためのコンピュータが実行可能なプログラムコードと、
を含むプログラムを格納したことを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17737099A JP3785527B2 (ja) | 1999-06-23 | 1999-06-23 | バーコード読取装置、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17737099A JP3785527B2 (ja) | 1999-06-23 | 1999-06-23 | バーコード読取装置、及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001005907A JP2001005907A (ja) | 2001-01-12 |
JP3785527B2 true JP3785527B2 (ja) | 2006-06-14 |
Family
ID=16029778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17737099A Expired - Fee Related JP3785527B2 (ja) | 1999-06-23 | 1999-06-23 | バーコード読取装置、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3785527B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5250001B2 (ja) * | 2010-09-01 | 2013-07-31 | 東芝テック株式会社 | コード読取装置およびプログラム |
JP5341951B2 (ja) * | 2011-05-30 | 2013-11-13 | 東芝テック株式会社 | コード読取装置及びプログラム |
JP6372396B2 (ja) * | 2015-03-04 | 2018-08-15 | 株式会社デンソーウェーブ | 情報伝達システム |
-
1999
- 1999-06-23 JP JP17737099A patent/JP3785527B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001005907A (ja) | 2001-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5414252A (en) | High speed scan bar code reader which can read more than one type of bar code | |
KR100769836B1 (ko) | 2차원 코드 인식 처리 방법, 2차원 코드 인식 처리 장치, 및 저장 매체 | |
US5489769A (en) | Symbol information reading apparatus | |
US6575367B1 (en) | Image data binarization methods enabling optical reader to read fine print indicia | |
US5128527A (en) | Apparatus for reading a bar code | |
US4414468A (en) | Systematic error correction in bar code scanner | |
US20040046024A1 (en) | Two-dimensional code reader setting method, two-dimensional code reader, two dimensional code reader setting program and computer readable recording medium | |
JPH06309485A (ja) | 光学的情報読取装置 | |
JP2001043308A (ja) | バーコード読取り方法及びバーコード読取りシステム | |
JP3785527B2 (ja) | バーコード読取装置、及び記憶媒体 | |
JPH06274674A (ja) | バーコード読取方法およびバーコード読取装置 | |
EP1703446A1 (en) | Apparatus and method for generating bar code, and apparatus and method for reading out bar code | |
JP4039262B2 (ja) | 表示端末、シンボル生成装置及びシンボル表示システム | |
JP2718442B2 (ja) | バーコード復調方法及び装置 | |
JP2729168B2 (ja) | バーコードおよびバーコード読取装置およびその読取方法 | |
JP7471865B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JPH11316795A (ja) | 二次元コードデコード装置、及び記憶媒体 | |
JP5115124B2 (ja) | バーコード読取装置及びプログラム | |
KR100385740B1 (ko) | 확장형 바코드 시스템 및 이를 인쇄하고 판독하는 방법 | |
JP5115123B2 (ja) | バーコード読取装置及びプログラム | |
JP2002216088A (ja) | 情報コード | |
JP2677805B2 (ja) | 符号読取装置 | |
JPH08235300A (ja) | バーコード読取装置 | |
JP2677806B2 (ja) | 符号読取装置 | |
KR100193710B1 (ko) | Pos 시스템의 문자 폰트 교환방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060213 |
|
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: 20060221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060306 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3785527 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090331 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100331 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110331 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110331 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120331 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130331 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130331 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140331 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |