JP2001005907A - バーコード読取装置、及び記憶媒体 - Google Patents

バーコード読取装置、及び記憶媒体

Info

Publication number
JP2001005907A
JP2001005907A JP11177370A JP17737099A JP2001005907A JP 2001005907 A JP2001005907 A JP 2001005907A JP 11177370 A JP11177370 A JP 11177370A JP 17737099 A JP17737099 A JP 17737099A JP 2001005907 A JP2001005907 A JP 2001005907A
Authority
JP
Japan
Prior art keywords
reference value
bar
bar width
decoding
bar code
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.)
Granted
Application number
JP11177370A
Other languages
English (en)
Other versions
JP3785527B2 (ja
Inventor
Takao Sato
隆雄 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP17737099A priority Critical patent/JP3785527B2/ja
Publication of JP2001005907A publication Critical patent/JP2001005907A/ja
Application granted granted Critical
Publication of JP3785527B2 publication Critical patent/JP3785527B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 デコードが成功した場合におけるバー幅判定
基準値を保存して利用することによって、不要なバー幅
判定基準値算出処理等を減らし、バーコードの高速デコ
ードができるようにすることである。 【解決手段】 CPU2は、所定の回数以上連続して同
一のバー幅判定基準値を用いてデコード処理に成功した
場合には、そのバー幅判定基準値を基準値格納ワークメ
モリ4bに格納し、次回バーコードを読み取ってデコー
ドする際に、基準値格納ワークメモリ4bに格納された
バー幅判定基準値を用いてバーコードのデコード処理を
実行し、そのバー幅判定基準値を用いたデコード処理に
失敗した場合には、バー幅判定基準値をあらためて算出
し、その算出したバー幅判定基準値に基づいてデコード
処理を実行し、バー幅判定基準値の解除及び更新を実行
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バーコードを読み
取ってデコードするバーコード読取装置、及び記憶媒体
に関する。
【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は、CPU
2、入力装置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は、カーソルキー、数字入力キ
ー及び各種機能キー等を備えたキーボード及びマウス等
のポインティングデバイスを含み、キーボードにおいて
押下されたキーの押下信号やマウスの位置信号をCPU
2に出力する。表示装置6は液晶表示装置、CRT(Ca
thode Ray Tube)表示装置等により構成され、CPU2
から入力される表示データを表示する。
【0015】RAM(Random Access Memory)4は、C
PU2が前記各種アプリケーションプログラムを実行す
る際に各種データを展開するプログラム格納領域を形成
するとともに、バーコード読み取り部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.1
2mm、最も太い白バーである白太バー幅が2.464
mmである場合の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.87
5)/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の設定が「O
N」であった場合には、基準値格納ワークメモリ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は、基準値テンポラリーメモリ4
eに格納されている、今回算出したバー幅判定基準値を
読み込み(ステップS21)、基準値バッファ4cか
ら、前回デコード処理に成功し、ポインタがおかれてい
るバー幅判定基準値を読み込む(ステップS22)。次
いで、CPU2は、更新条件ワークメモリ4dに格納さ
れている変化率を読み込んで、今回算出したバー幅判定
基準値と、基準値バッファ4cから読み込んだ前回デコ
ード処理に成功したバー幅判定基準値とを比較して、そ
の誤差が更新条件ワークメモリ4dに設定されている変
化率の範囲内か否かを判別する(ステップS23)。
【0038】変化率の範囲内であった場合には、前回デ
コード処理に成功したバー幅判定基準値に設定されてい
る「回数」を+1回更新して(ステップS24)、ステ
ップS25に移行する。変化率の範囲外であった場合に
は、基準値バッファ4cに格納されているバー幅判定基
準値の内、今回算出したバー幅判定基準値と比較して、
誤差が更新条件ワークメモリ4dに設定されている変化
率の範囲内になるものがある場合には、そのバー幅判定
基準値の「回数」を1に更新してポインタをそのバー幅
判定基準値に更新し、変化率の範囲内になるものがない
場合には、基準値テンポラリーメモリ4eに格納されて
いる今回算出したバー幅判定基準値を基準値バッファ4
cに格納して「回数」を1に更新し、ポインタをそのバ
ー幅判定基準値に更新して(ステップS27)、ステッ
プS28に移行する。
【0039】ステップS25では、CPU2は、ステッ
プS24の処理で更新された連続成功回数が、更新条件
ワークメモリ4dに設定されている設定回数以上か否か
を判別し、設定回数以上であった場合には、基準値格納
ワークメモリ4bにそのバー幅判定基準値を格納し、基
準値判定フラグ4aをONに設定して(ステップS2
6)、処理を終了する。設定回数未満であった場合に
は、そのまま処理を終了する。
【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)

    【特許請求の範囲】
  1. 【請求項1】バーコードを読み取ってバーイメージを取
    得する読取手段と、 この読取手段により取得されたバーイメージに基づいて
    前記バーコードにおける各バー幅が細バーであるか太バ
    ーであるかを判定するためのバー幅基準値を算出する基
    準値算出手段と、 この基準値算出手段により算出されたバー幅基準値を用
    いて前記読取手段により読み取られたバーコードをデコ
    ードするデコード手段と、 を備えたバーコード読取装置において、 前記デコード手段による前記バーコードのデコードが成
    功した際に用いられた前記バー幅基準値を記憶する基準
    値記憶手段を更に備え、 前記デコード手段は、前記基準値記憶手段に記憶された
    バー幅基準値を用いて前記読取手段により読み取られた
    バーコードをデコードし、当該デコードが成功した場合
    は、当該バー幅基準値を継続使用し、当該デコードが失
    敗した場合は、当該デコードの際に前記読取手段により
    取得されたバーイメージに基づいて前記基準値算出手段
    により新たにバー幅基準値を算出して、前記基準値記憶
    手段に記憶することを特徴とするバーコード読取装置。
  2. 【請求項2】読取手段により読み取られたバーコードか
    ら取得されたバーイメージに基づいて当該バーコードに
    おける各バー幅が細バーであるか太バーであるかを判定
    するためのバー幅基準値を算出させるためのコンピュー
    タが実行可能なプログラムコードと、 前記算出されたバー幅基準値を用いて前記読取手段によ
    り読み取られたバーコードをデコードさせるためのコン
    ピュータが実行可能なプログラムコードと、 前記バーコードのデコードが成功した際に用いられた前
    記バー幅基準値を基準値記憶手段に記憶させるためのコ
    ンピュータが実行可能なプログラムコードと、 前記基準値記憶手段に記憶されたバー幅基準値を用いて
    前記読取手段により読み取られたバーコードをデコード
    させ、当該デコードが成功した場合は、当該バー幅基準
    値を継続使用させ、当該デコードが失敗した場合は、当
    該デコードの際に前記読取手段により取得されたバーイ
    メージに基づいて新たにバー幅基準値を前記基準値算出
    手段に算出させて、前記基準値記憶手段に記憶させるた
    めのコンピュータが実行可能なプログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
    体。
JP17737099A 1999-06-23 1999-06-23 バーコード読取装置、及び記憶媒体 Expired - Fee Related JP3785527B2 (ja)

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 true JP2001005907A (ja) 2001-01-12
JP3785527B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053693A (ja) * 2010-09-01 2012-03-15 Toshiba Tec Corp コード読取装置およびプログラム
JP2012248089A (ja) * 2011-05-30 2012-12-13 Toshiba Tec Corp コード読取装置及びプログラム
JP2016162351A (ja) * 2015-03-04 2016-09-05 株式会社デンソーウェーブ 情報伝達システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053693A (ja) * 2010-09-01 2012-03-15 Toshiba Tec Corp コード読取装置およびプログラム
JP2012248089A (ja) * 2011-05-30 2012-12-13 Toshiba Tec Corp コード読取装置及びプログラム
JP2016162351A (ja) * 2015-03-04 2016-09-05 株式会社デンソーウェーブ 情報伝達システム

Also Published As

Publication number Publication date
JP3785527B2 (ja) 2006-06-14

Similar Documents

Publication Publication Date Title
US5414252A (en) High speed scan bar code reader which can read more than one type of bar code
US4414468A (en) Systematic error correction in bar code scanner
EP0390162A2 (en) An apparatus for reading a bar code
KR20000006573A (ko) 2차원코드인식처리방법및장치,저장매체
JPH0212579A (ja) 機械が光学的に読取り可能な2進コード並びにその測定および形成方法
JP2004054529A (ja) 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置
US20140084061A1 (en) Optical information reading device, optical information reading method, computer-readable program and recording medium
US6299064B2 (en) Apparatus and method for correcting bar width, bar code reader, and method for decoding bar code
JPS6116119B2 (ja)
JP3785527B2 (ja) バーコード読取装置、及び記憶媒体
JP4337597B2 (ja) コードシンボル読取装置、および、プログラム
JPH0612516A (ja) バーコード読取り装置
JP2718442B2 (ja) バーコード復調方法及び装置
JP2004240922A (ja) 表示端末、シンボル生成装置及びシンボル表示システム
JP2729168B2 (ja) バーコードおよびバーコード読取装置およびその読取方法
JPH08263585A (ja) コード読取装置
JPH11316795A (ja) 二次元コードデコード装置、及び記憶媒体
JP5115124B2 (ja) バーコード読取装置及びプログラム
KR20080000399A (ko) 패턴 기울기 계산 기능을 갖는 2차원 바코드 판독 장치 및방법
JP2003281483A (ja) バーコードおよびこれを用いたバーコードシステム、バーコード発生装置、バーコード読取装置
KR100385740B1 (ko) 확장형 바코드 시스템 및 이를 인쇄하고 판독하는 방법
JPH11312215A (ja) 二次元コードデコード装置、及び記憶媒体
JP2587918Y2 (ja) 携帯端末装置
JP2776035B2 (ja) バーコード読取装置
JPH01156886A (ja) バーコード読取装置

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