JPH06119480A - バーコード読取装置 - Google Patents
バーコード読取装置Info
- Publication number
- JPH06119480A JPH06119480A JP4272443A JP27244392A JPH06119480A JP H06119480 A JPH06119480 A JP H06119480A JP 4272443 A JP4272443 A JP 4272443A JP 27244392 A JP27244392 A JP 27244392A JP H06119480 A JPH06119480 A JP H06119480A
- Authority
- JP
- Japan
- Prior art keywords
- bar
- bar code
- digit
- width
- space
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 abstract description 17
- 238000006243 chemical reaction Methods 0.000 abstract description 16
- 230000006835 compression Effects 0.000 abstract 1
- 238000007906 compression Methods 0.000 abstract 1
- 238000013500 data storage Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Abstract
(57)【要約】
【目的】 バーコード印刷が規格からずれたり、歪んだ
り、またバーコードから多少離した状態でも読み取れる
バーコード読取装置を提供する。 【構成】 バーコード読取信号の各バー及びスペース幅
を各ディジット毎に基準値と比較しその歪みの比率に応
じて各バー及びスペース幅を各ディジット毎に圧縮また
は拡大補正する補正手段5を設ける。各バー等は大きさ
に応じてバー幅比較部61により区分され、テーブル比
較によりデコードされる。大きさが基準バーの境界領域
に属するときには、デコード値確定手段65により隣接
する両区分のそれぞれについて変換テーブル64による
比較を行ない、ただ一つの値が定まる時のみその値をデ
コード値として確定する。また、パルス幅の大きさをメ
ンバーシップ関数の入力データとし、パルス幅の模様の
組合せをファジィ・ルールとしてファジィ推論を行ない
デコード処理するようにした。
り、またバーコードから多少離した状態でも読み取れる
バーコード読取装置を提供する。 【構成】 バーコード読取信号の各バー及びスペース幅
を各ディジット毎に基準値と比較しその歪みの比率に応
じて各バー及びスペース幅を各ディジット毎に圧縮また
は拡大補正する補正手段5を設ける。各バー等は大きさ
に応じてバー幅比較部61により区分され、テーブル比
較によりデコードされる。大きさが基準バーの境界領域
に属するときには、デコード値確定手段65により隣接
する両区分のそれぞれについて変換テーブル64による
比較を行ない、ただ一つの値が定まる時のみその値をデ
コード値として確定する。また、パルス幅の大きさをメ
ンバーシップ関数の入力データとし、パルス幅の模様の
組合せをファジィ・ルールとしてファジィ推論を行ない
デコード処理するようにした。
Description
【0001】
【産業上の利用分野】本発明は、データを幅の異なるバ
ー及びスペースの組合せによりコード化したバーコード
を読み取るバーコード読取装置に関し、特に変換テーブ
ルを用いて、またはファジィ推論によりデコード処理を
行いバーコードの読み取り率を向上させたバーコード読
取装置に関する。
ー及びスペースの組合せによりコード化したバーコード
を読み取るバーコード読取装置に関し、特に変換テーブ
ルを用いて、またはファジィ推論によりデコード処理を
行いバーコードの読み取り率を向上させたバーコード読
取装置に関する。
【0002】
【従来の技術】従来のバーコード読取装置では、バーコ
ードのスタート・バーのパルス幅を基準にして後続する
バーまたはスペースのパルス幅を測定し、読み取ったバ
ーコードをディジット単位で逐次デコードしていた。ま
た、バーコード・ラベル貼付媒体の凹凸によるバー読み
取りパルス幅の変動等を考慮して、基準となるバーのパ
ルス幅を直前に読み取ったディジット幅を基準にして逐
次補正するようにしていた。さらに、従来のバーコード
読取装置では、バーコードの幅が所定の範囲内にあるか
否かで画一的にバーの種類を確定してデコードしてい
た。
ードのスタート・バーのパルス幅を基準にして後続する
バーまたはスペースのパルス幅を測定し、読み取ったバ
ーコードをディジット単位で逐次デコードしていた。ま
た、バーコード・ラベル貼付媒体の凹凸によるバー読み
取りパルス幅の変動等を考慮して、基準となるバーのパ
ルス幅を直前に読み取ったディジット幅を基準にして逐
次補正するようにしていた。さらに、従来のバーコード
読取装置では、バーコードの幅が所定の範囲内にあるか
否かで画一的にバーの種類を確定してデコードしてい
た。
【0003】
【発明が解決しようとする課題】しかしながら、従来技
術では、まずスタート・バーの幅を基準として第1ディ
ジットを読み取り、その後その第1ディジットを基に基
準バー幅を補正するため、スタート・バーが所定幅以下
のときには、誤読防止のために読み取り不良としてい
た。そのため、スタート・バーの幅が所定値以下であれ
ば読み取ることができなかった。また、バーの幅が所定
領域内にあるか否かで画一的にバーの種類を確定したの
では、バーコード印刷が規格をはずれている場合、バー
コード・ラベルが曲面形状の商品に貼付されている場合
等においては、バーコードの読み取り率が極端に低下
し、場合によっては読み取り不能となることもあった。
特に手持ち型スキャナでは、スキャナの読み取り部分を
バーコードにかなり接近させなければ読み取り不能とな
る確率が高くなる。この発明は、スタート・バーのバー
幅とは無関係にバーコードを補正するようにしたバーコ
ード読み取り装置を提供することを目的とする。さらに
本発明は、バーコード印刷が規格から多少ずれていた
り、また、バーコードラベルが瓶、缶、袋、ラップで包
んだ生鮮食料品等の曲面形状の商品に貼られてバーコー
ドが大きく歪んでいたとしても、読み取りが可能な高性
能のバーコード読取装置を提供することを目的とする。
またバーコード・スキャナの読み取り部をバーコードか
ら従来よりかなり離した状態でも、読み取り精度を落と
す事なくバーコードの読み取りが可能なバーコード読取
装置を提供することを目的とする。
術では、まずスタート・バーの幅を基準として第1ディ
ジットを読み取り、その後その第1ディジットを基に基
準バー幅を補正するため、スタート・バーが所定幅以下
のときには、誤読防止のために読み取り不良としてい
た。そのため、スタート・バーの幅が所定値以下であれ
ば読み取ることができなかった。また、バーの幅が所定
領域内にあるか否かで画一的にバーの種類を確定したの
では、バーコード印刷が規格をはずれている場合、バー
コード・ラベルが曲面形状の商品に貼付されている場合
等においては、バーコードの読み取り率が極端に低下
し、場合によっては読み取り不能となることもあった。
特に手持ち型スキャナでは、スキャナの読み取り部分を
バーコードにかなり接近させなければ読み取り不能とな
る確率が高くなる。この発明は、スタート・バーのバー
幅とは無関係にバーコードを補正するようにしたバーコ
ード読み取り装置を提供することを目的とする。さらに
本発明は、バーコード印刷が規格から多少ずれていた
り、また、バーコードラベルが瓶、缶、袋、ラップで包
んだ生鮮食料品等の曲面形状の商品に貼られてバーコー
ドが大きく歪んでいたとしても、読み取りが可能な高性
能のバーコード読取装置を提供することを目的とする。
またバーコード・スキャナの読み取り部をバーコードか
ら従来よりかなり離した状態でも、読み取り精度を落と
す事なくバーコードの読み取りが可能なバーコード読取
装置を提供することを目的とする。
【0004】
【問題点を解決するための手段】本発明では読み取った
バー又はスペースの幅(長さ)を、読み取ったスタート
・バーのバー幅を基準にすることなく、予め規定したデ
ィジットの基準値との比率で各ディジット毎に圧縮また
は拡大することにより補正し、その補正信号をデコード
処理するようにした。また、本発明では読み取ったバー
またはスペースの幅(長さ)を所定の基準に従い区分
し、区分した各バーの組合せを変換テーブルによりデコ
ードする。その際、バーまたはスペースの幅の大きさが
区分の定義域の境界近くにあるときは、その境界に隣接
する両区分のそれぞれについてそのバーまたはスペース
を区分した場合についてデコード処理を試み、両区分に
ついてただ1つのデコード値が定まる場合のみ正しいデ
コードが行われたものとして処理する境界データ処理手
段を設けた。さらに、本発明では補正したバーまたはス
ペースの幅(長さ)をメンバーシップ関数の入力データ
とし、バーコードの各ディジット毎のバーまたはスペー
スの幅(長さ)の組合せをファジィ・ルールとしてファ
ジィ推論を行ないデコード処理するようにした。
バー又はスペースの幅(長さ)を、読み取ったスタート
・バーのバー幅を基準にすることなく、予め規定したデ
ィジットの基準値との比率で各ディジット毎に圧縮また
は拡大することにより補正し、その補正信号をデコード
処理するようにした。また、本発明では読み取ったバー
またはスペースの幅(長さ)を所定の基準に従い区分
し、区分した各バーの組合せを変換テーブルによりデコ
ードする。その際、バーまたはスペースの幅の大きさが
区分の定義域の境界近くにあるときは、その境界に隣接
する両区分のそれぞれについてそのバーまたはスペース
を区分した場合についてデコード処理を試み、両区分に
ついてただ1つのデコード値が定まる場合のみ正しいデ
コードが行われたものとして処理する境界データ処理手
段を設けた。さらに、本発明では補正したバーまたはス
ペースの幅(長さ)をメンバーシップ関数の入力データ
とし、バーコードの各ディジット毎のバーまたはスペー
スの幅(長さ)の組合せをファジィ・ルールとしてファ
ジィ推論を行ないデコード処理するようにした。
【0005】
【実施例】次に、図面を用いて本発明の実施例を説明す
る。図1は本発明のバーコード読取装置の全体の構成の
概略を示すブロック図である。光源(図示せず)からバ
ーコード1に光が照射され、バーコード1からの反射光
がデータ入力部2に入力される。データ入力部2には光
感知手段(図示せず)が設けられ、受光した反射光を電
気信号に変換する。データ入力部2からの出力は信号処
理手段3に送られ、そこで増幅されデジタル信号データ
に変換される。以上の反射光からデジタル信号データへ
の変換までの処理は従来技術であり、当業者が容易に実
施しうるものであるのでこの点に関してはこれ以上の説
明はしない。デジタル信号データは次に、計測手段によ
って各パルス毎にそのパルス幅が測定される。測定され
た各パルスの幅は、次に補正手段5で各ディジット毎に
補正され、その後、デコード手段6によりデコードされ
る。以下パルス幅の計測、補正、及びデコードについて
詳細に説明する。尚、以下の説明においては、バーコー
ドはJANコードを用いるものとして説明する。また、
JANコード規格によると、バーコードは左半分が奇数
パリティ・コードと偶数パリティー・コードの組合せで
構成され、右半分が偶数パリティ・コードで構成され
る。そのためJANコードでは、同じキャラクタを表わ
す場合でも第1ディジット、第2ディジット、第3ディ
ジットではそれぞれバーコードのパターンが異なるはず
である。しかし本実施例では説明の便宜のために、本来
のJANコード規格とは異なり、第1ディジットから第
3ディジットまで同じコード(奇数パリティー・コー
ド)を使用しているものとして説明することとする。
る。図1は本発明のバーコード読取装置の全体の構成の
概略を示すブロック図である。光源(図示せず)からバ
ーコード1に光が照射され、バーコード1からの反射光
がデータ入力部2に入力される。データ入力部2には光
感知手段(図示せず)が設けられ、受光した反射光を電
気信号に変換する。データ入力部2からの出力は信号処
理手段3に送られ、そこで増幅されデジタル信号データ
に変換される。以上の反射光からデジタル信号データへ
の変換までの処理は従来技術であり、当業者が容易に実
施しうるものであるのでこの点に関してはこれ以上の説
明はしない。デジタル信号データは次に、計測手段によ
って各パルス毎にそのパルス幅が測定される。測定され
た各パルスの幅は、次に補正手段5で各ディジット毎に
補正され、その後、デコード手段6によりデコードされ
る。以下パルス幅の計測、補正、及びデコードについて
詳細に説明する。尚、以下の説明においては、バーコー
ドはJANコードを用いるものとして説明する。また、
JANコード規格によると、バーコードは左半分が奇数
パリティ・コードと偶数パリティー・コードの組合せで
構成され、右半分が偶数パリティ・コードで構成され
る。そのためJANコードでは、同じキャラクタを表わ
す場合でも第1ディジット、第2ディジット、第3ディ
ジットではそれぞれバーコードのパターンが異なるはず
である。しかし本実施例では説明の便宜のために、本来
のJANコード規格とは異なり、第1ディジットから第
3ディジットまで同じコード(奇数パリティー・コー
ド)を使用しているものとして説明することとする。
【0006】(1)パルス幅の計測 デジタル信号に変換された読取信号は、図1の測定部4
により各パルス毎にそのパルス幅が計測され、各ディジ
ット単位でデータ記憶部55に記憶される。計測にはタ
イマーを用いても、カウンタを用いても良いが、本実施
例の測定部4では、所定速度で動作するカウンタにより
パルス幅及びディジットの長さを測定するものとする。
従って、計測値はカウント数で表わされる。図2はバー
コードの一部(第1ディジット)を読み取りデジタル変
換した波形及びその長さを測定部4により測定したカウ
ント値の状態を示す。図2のバーコードはJANコード
であり、同一幅の黒白黒のパターンからなるスタート・
バー部、第1ディジット部等が示されている。さらにバ
ーコードの各ディジットは白黒白黒の4つのバーから構
成されており、各バーの幅はモジュール(基本単位幅)
1個分の幅から4個分の幅までの何れかの大きさであ
る。このような白黒白黒の各バーをそれぞれ順番にブロ
ック〜と呼ぶ。図2のバーコードの第1ディジット
は3モジュール幅の白バー(ブロック)、それぞれ1
モジュール幅の黒バーと白バー(ブロックと)及び
2モジュール幅の黒バー(ブロック)とから構成され
ている。これは、JANコード規格の奇数パリティ表示
による数字”9”を表わす。図2のバーコードの下には
そのバーコードに対応するデジタル波形が示されてお
り、その下には第1ディジットのデジタル・パルスの幅
に対応する各ブロックのカウント値がそれぞれ示されて
いる。このようにして測定された各パルス幅を表わすカ
ウント値は、図3に例示するように、各バーの幅を表わ
すデータとしてデータ記憶部55に、各ディジット単位
で記憶される。
により各パルス毎にそのパルス幅が計測され、各ディジ
ット単位でデータ記憶部55に記憶される。計測にはタ
イマーを用いても、カウンタを用いても良いが、本実施
例の測定部4では、所定速度で動作するカウンタにより
パルス幅及びディジットの長さを測定するものとする。
従って、計測値はカウント数で表わされる。図2はバー
コードの一部(第1ディジット)を読み取りデジタル変
換した波形及びその長さを測定部4により測定したカウ
ント値の状態を示す。図2のバーコードはJANコード
であり、同一幅の黒白黒のパターンからなるスタート・
バー部、第1ディジット部等が示されている。さらにバ
ーコードの各ディジットは白黒白黒の4つのバーから構
成されており、各バーの幅はモジュール(基本単位幅)
1個分の幅から4個分の幅までの何れかの大きさであ
る。このような白黒白黒の各バーをそれぞれ順番にブロ
ック〜と呼ぶ。図2のバーコードの第1ディジット
は3モジュール幅の白バー(ブロック)、それぞれ1
モジュール幅の黒バーと白バー(ブロックと)及び
2モジュール幅の黒バー(ブロック)とから構成され
ている。これは、JANコード規格の奇数パリティ表示
による数字”9”を表わす。図2のバーコードの下には
そのバーコードに対応するデジタル波形が示されてお
り、その下には第1ディジットのデジタル・パルスの幅
に対応する各ブロックのカウント値がそれぞれ示されて
いる。このようにして測定された各パルス幅を表わすカ
ウント値は、図3に例示するように、各バーの幅を表わ
すデータとしてデータ記憶部55に、各ディジット単位
で記憶される。
【0007】(2)補正 補正手段5は、図1に示すように、基準データ記憶部5
2、比較部53、補正部54、データ記憶部55及び補
正データ記憶部56とからなる。基準データ記憶部52
にはJANコード規格により定められた基準のディジッ
トの長さ(基準長さ)が記憶されている。比較部53
は、記憶している基準長さと読み取ったデジタル信号の
ディジットの長さとの比率を算出する。補正部54は、
算出された比率の逆数と読み取ったディジット長とを掛
け合わせることにより、読み取ったディジットの長さを
基準長さに近づけるように補正し、補正データ記憶部5
6に記憶する。
2、比較部53、補正部54、データ記憶部55及び補
正データ記憶部56とからなる。基準データ記憶部52
にはJANコード規格により定められた基準のディジッ
トの長さ(基準長さ)が記憶されている。比較部53
は、記憶している基準長さと読み取ったデジタル信号の
ディジットの長さとの比率を算出する。補正部54は、
算出された比率の逆数と読み取ったディジット長とを掛
け合わせることにより、読み取ったディジットの長さを
基準長さに近づけるように補正し、補正データ記憶部5
6に記憶する。
【0008】図4乃至図6を用いて、補正処理動作をよ
り具体的に説明する。図4は補正処理動作の処理手順を
示す流れ図であり、ディジット単位でこの補正処理動作
が行われる。図5はバーコードの一部とそれを読み取っ
た補正前後のデータとを示し、図6は補正後のデータを
補正データ記憶部56に記憶した状態を示している。図
5及び図6においてはバーコードの第1ディジットから
第3ディジットがすべて数字”9”であるものとして示
している。尚、以下の説明において、括弧中の英字S及
び数字は図4のステップ番号を示し、カウント値(N
n)のNはカウント数を表わし、nはブロック番号をあら
わしている。
り具体的に説明する。図4は補正処理動作の処理手順を
示す流れ図であり、ディジット単位でこの補正処理動作
が行われる。図5はバーコードの一部とそれを読み取っ
た補正前後のデータとを示し、図6は補正後のデータを
補正データ記憶部56に記憶した状態を示している。図
5及び図6においてはバーコードの第1ディジットから
第3ディジットがすべて数字”9”であるものとして示
している。尚、以下の説明において、括弧中の英字S及
び数字は図4のステップ番号を示し、カウント値(N
n)のNはカウント数を表わし、nはブロック番号をあら
わしている。
【0009】デジタル信号データの計測及び記憶が終わ
ると、比較部53は基準データ記憶部52から標準バー
コードの基準ディジット長(L)を読み出す(S1)。
次に、ブロック〜のカウント値を総計したディジッ
ト長(TN =N1+N2+N3+N4 )を求め、基準ディジ
ット長(L)に対する測定したディジット長の比率p
(=TN/L)を算出する(S2)。その後、測定した各
ブロックのカウント値に前記比率pの逆数すなわち補正
比率k(=L/TN )を掛け合わせて、読み出したデジ
タル信号のディジットの長さを基準ディジットの長さに
近づけるようにブロック〜のカウント値(Nn )を
補正し、標準化されたカウント値(Xn )を得る(S
3)。ここで、Xは補正後のカウント数を表わす。補正
処理後の標準化されたカウント値は補正データ記憶部5
6に記憶される。同様にして、読み取ったバーコードの
ディジットの全てをディジット毎に補正し記憶する(S
4)。
ると、比較部53は基準データ記憶部52から標準バー
コードの基準ディジット長(L)を読み出す(S1)。
次に、ブロック〜のカウント値を総計したディジッ
ト長(TN =N1+N2+N3+N4 )を求め、基準ディジ
ット長(L)に対する測定したディジット長の比率p
(=TN/L)を算出する(S2)。その後、測定した各
ブロックのカウント値に前記比率pの逆数すなわち補正
比率k(=L/TN )を掛け合わせて、読み出したデジ
タル信号のディジットの長さを基準ディジットの長さに
近づけるようにブロック〜のカウント値(Nn )を
補正し、標準化されたカウント値(Xn )を得る(S
3)。ここで、Xは補正後のカウント数を表わす。補正
処理後の標準化されたカウント値は補正データ記憶部5
6に記憶される。同様にして、読み取ったバーコードの
ディジットの全てをディジット毎に補正し記憶する(S
4)。
【0010】図5に補正の具体例を示す。図5は、基準
ディジット長L=70とした場合における補正処理の例
を示している。第1ディジットの例では、測定ディジッ
トのカウント値TN が基準ディジット長と同じカウント
値”70”であり、補正比率kは1となり、補正されな
い。第2ディジットの例では、測定ディジットのカウン
ト値TN が”66”であるので、補正比率kは1.06
1となる。従って、測定ディジットの各ブロック〜
のカウント値がそれぞれ1.061倍されて、標準化さ
れた補正データとなる。第3ディジットの例では、測定
ディジットのカウント値TN は第2ディジットの例と同
じ値であり、従って補正比率kは第2ディジットの例と
同じ1.061であるが、ブロック〜のカウント値
が異なる。各ブロック〜のカウント値に補正比率k
が乗ぜられ各ブロックのカウント値が補正される。図6
は補正データ記憶部56に各ディジットの各ブロック毎
に記憶された図5の第1から第3ディジットの補正デー
タの記憶状態を示している。
ディジット長L=70とした場合における補正処理の例
を示している。第1ディジットの例では、測定ディジッ
トのカウント値TN が基準ディジット長と同じカウント
値”70”であり、補正比率kは1となり、補正されな
い。第2ディジットの例では、測定ディジットのカウン
ト値TN が”66”であるので、補正比率kは1.06
1となる。従って、測定ディジットの各ブロック〜
のカウント値がそれぞれ1.061倍されて、標準化さ
れた補正データとなる。第3ディジットの例では、測定
ディジットのカウント値TN は第2ディジットの例と同
じ値であり、従って補正比率kは第2ディジットの例と
同じ1.061であるが、ブロック〜のカウント値
が異なる。各ブロック〜のカウント値に補正比率k
が乗ぜられ各ブロックのカウント値が補正される。図6
は補正データ記憶部56に各ディジットの各ブロック毎
に記憶された図5の第1から第3ディジットの補正デー
タの記憶状態を示している。
【0011】このようにディジット単位で補正するの
は、以下の理由による。すなわち、バーコード・ラベル
が凹凸の多い不均一面に貼られたときにはバーコードの
各部の歪みも不均一となる。そのため、バーコード全体
として補正すると各バー相互間の比率を正確に再現する
ことができない。しかし、1ディジットはバー4本で構
成されておりその長さが短いので(2〜4ミリ)、バー
コードがかなり不均一に変形した面に貼られても、ディ
ジット単位で見るとバー各部の歪みは均一とみることが
できる。従って、ディジット単位で補正することによ
り、光学検知したバーコードを各バー相互間の幅の比率
を変えることなくかなり正確に基準バーコードの大きさ
に補正することができる。一方、各バー単位で補正する
となると、補正処理が複雑になる。そこでディジット単
位で補正することとした。
は、以下の理由による。すなわち、バーコード・ラベル
が凹凸の多い不均一面に貼られたときにはバーコードの
各部の歪みも不均一となる。そのため、バーコード全体
として補正すると各バー相互間の比率を正確に再現する
ことができない。しかし、1ディジットはバー4本で構
成されておりその長さが短いので(2〜4ミリ)、バー
コードがかなり不均一に変形した面に貼られても、ディ
ジット単位で見るとバー各部の歪みは均一とみることが
できる。従って、ディジット単位で補正することによ
り、光学検知したバーコードを各バー相互間の幅の比率
を変えることなくかなり正確に基準バーコードの大きさ
に補正することができる。一方、各バー単位で補正する
となると、補正処理が複雑になる。そこでディジット単
位で補正することとした。
【0012】(3)デコード処理 補正データは、デコード手段6により読み出されてデコ
ード処理される。デコード手段6は補正データと基準バ
ー幅を比較するバー幅比較部61、基準バー幅を記憶す
る基準バー幅記憶部62、境界バー処理部63、テーブ
ル64とデコード値確定部65から構成される。デコー
ド手段6は、前述した補正により、補正データはかなり
正確に基準バーコードサイズに変換されている。しか
し、バーコードの印字不良または、光学読み取り上の問
題で、補正後のデータによる各バーの幅がなお規格から
はずれている場合がある。このような場合に、読み取り
不能として処理するとそれだけ読み取り率が低下する。
そこで、本発明ではこのような場合でも、以下のデコー
ド手段により、所定の基準内のものは読み取るようにし
ている。
ード処理される。デコード手段6は補正データと基準バ
ー幅を比較するバー幅比較部61、基準バー幅を記憶す
る基準バー幅記憶部62、境界バー処理部63、テーブ
ル64とデコード値確定部65から構成される。デコー
ド手段6は、前述した補正により、補正データはかなり
正確に基準バーコードサイズに変換されている。しか
し、バーコードの印字不良または、光学読み取り上の問
題で、補正後のデータによる各バーの幅がなお規格から
はずれている場合がある。このような場合に、読み取り
不能として処理するとそれだけ読み取り率が低下する。
そこで、本発明ではこのような場合でも、以下のデコー
ド手段により、所定の基準内のものは読み取るようにし
ている。
【0013】実施例1 まず本発明のデコード手段の第1の実施例について説明
する。まず、バー幅比較部61により、補正データ記憶
部56から各ブロック毎に補正後のバーの幅が読み出さ
れ、規準バー幅記憶部62に記憶されている基準バー幅
と比較される。JANコードでは、バーの幅に1モジュ
ール幅から4モジュール幅までの大きさの4種類があ
り、基準バーはこの4種類ついて定められ基準バー幅記
憶部62に記憶されている。以下この4種類の基準バー
をM1〜M4で表わす。基準バーM1〜M4の幅は、規格上
の許容範囲、各バーの印字上のばらつき及び光学読み取
り上のばらつき等を考慮して一定の幅を有している。加
えて本発明では、各基準バーM1〜M4の境界領域に境界
領域E1 〜E3 を設けている。基準バー及び境界領域の
定義域は、図7に例示してある(以下、境界領域に該当
するバーを境界バーE1〜E3という)。補正データ記憶
部56から読み出されたバー幅は基準バー幅と比較さ
れ、各読み出したバーがどの種類のバーM1〜M4である
かが各ブロック〜毎に決定される。補正データが基
準バーの境界領域に属する境界バーE1 からE3 の何れ
かであるときには、該当するE1〜E3として境界バー処
理部63により割当られる。図8に、図6で示した例に
ついての比較の結果を示す。このように、補正データは
バー幅比較部61により、基準バー及び境界バーの組合
せとして表わされる。
する。まず、バー幅比較部61により、補正データ記憶
部56から各ブロック毎に補正後のバーの幅が読み出さ
れ、規準バー幅記憶部62に記憶されている基準バー幅
と比較される。JANコードでは、バーの幅に1モジュ
ール幅から4モジュール幅までの大きさの4種類があ
り、基準バーはこの4種類ついて定められ基準バー幅記
憶部62に記憶されている。以下この4種類の基準バー
をM1〜M4で表わす。基準バーM1〜M4の幅は、規格上
の許容範囲、各バーの印字上のばらつき及び光学読み取
り上のばらつき等を考慮して一定の幅を有している。加
えて本発明では、各基準バーM1〜M4の境界領域に境界
領域E1 〜E3 を設けている。基準バー及び境界領域の
定義域は、図7に例示してある(以下、境界領域に該当
するバーを境界バーE1〜E3という)。補正データ記憶
部56から読み出されたバー幅は基準バー幅と比較さ
れ、各読み出したバーがどの種類のバーM1〜M4である
かが各ブロック〜毎に決定される。補正データが基
準バーの境界領域に属する境界バーE1 からE3 の何れ
かであるときには、該当するE1〜E3として境界バー処
理部63により割当られる。図8に、図6で示した例に
ついての比較の結果を示す。このように、補正データは
バー幅比較部61により、基準バー及び境界バーの組合
せとして表わされる。
【0014】次に、デコード確定部65におけるデコー
ド確定処理について説明する。バー幅比較部61からの
基準バー及び境界バーの組合せは、デコード値確定部6
5により所定のテーブル64と比較される。比較の結
果、テーブルの何れかに該当する場合には、そのテーブ
ル64に従いデコードされる。変換テーブル64は、所
定の規格(本実施例ではJANコード)の数字によるバ
ーの組合せに対応するように作成される。図9に変換テ
ーブルの例を示す。前述したようにJANコード規格で
は、バーコードの左半分は奇数パリティ・コードと偶数
パリティー・コードの組合せであり、右半分は偶数パリ
ティ・コードであるので、そのそれぞれのコードに対応
する変換テーブルが必要になるが、本実施例では奇数パ
リティ・コードの変換テーブル64だけを示す。さらに
本実施例では、説明の便宜のために本来のJANコード
規格とは異なり、第1ディジットから第3ディジットま
で奇数パリティー・コードを使用しているものとして説
明する。
ド確定処理について説明する。バー幅比較部61からの
基準バー及び境界バーの組合せは、デコード値確定部6
5により所定のテーブル64と比較される。比較の結
果、テーブルの何れかに該当する場合には、そのテーブ
ル64に従いデコードされる。変換テーブル64は、所
定の規格(本実施例ではJANコード)の数字によるバ
ーの組合せに対応するように作成される。図9に変換テ
ーブルの例を示す。前述したようにJANコード規格で
は、バーコードの左半分は奇数パリティ・コードと偶数
パリティー・コードの組合せであり、右半分は偶数パリ
ティ・コードであるので、そのそれぞれのコードに対応
する変換テーブルが必要になるが、本実施例では奇数パ
リティ・コードの変換テーブル64だけを示す。さらに
本実施例では、説明の便宜のために本来のJANコード
規格とは異なり、第1ディジットから第3ディジットま
で奇数パリティー・コードを使用しているものとして説
明する。
【0015】いま、第1ディジットは基準バーM3M1M
1M2から構成されているので、変換テーブルから数字”
9”にデコードされる。第2ディジットにはブロック
とに境界バーE2 がある。境界バーがある場合、当該
ブロックをその境界バーに隣接する基準バーのそれぞれ
に置き換えて、変換テーブル64のいずれかに該当する
かどうかを判定する。本件の例ではブロックとがそ
れぞれ境界バーE2 であるので、ブロックとをE2
に隣接する基準バーであるM2またはM3とに置き換えて
変換テーブル64との比較を行う。この場合には、境界
バーE2 が2つあるので4通りの組合せが有り、4回の
比較が必要となる。比較の結果、ブロックをM3に、
ブロックをM2に置き換えた場合のみ、変換テーブル
64上に該当する組合せが存在する。この場合には、そ
の組合せに相当する数字”9”にデコードされる。第3
ディジットには、ブロックに境界バーE2 がブロック
に境界バーE1 がある。境界バーE1 は基準バーM1
とM2に隣接するので、ブロックはM1またはM2に置
き換えられて、テーブルに該当する組合せがあるかどう
かが確認される。この場合、ブロックがM2 に置き換
えられ同時にブロックがM2に置き換えられたときに
数字”2”に該当し、またブロックがM3に置き換え
られ、ブロックがM1 に置き換えられたときに数字”
9”に該当することになる。このように、境界バーを隣
接基準バーに置き換えてテーブル比較した結果、該当す
る数字が2つ以上存在するときは何れにデコードすべき
かわからないので変換不能として処理する。しかし、こ
のように境界バーが1つのディジット中に2つ存在する
ことは希である上、比較結果が2つ以上のコードに該当
する確率はさらに低くなるので、読み取り精度は大幅に
向上する。
1M2から構成されているので、変換テーブルから数字”
9”にデコードされる。第2ディジットにはブロック
とに境界バーE2 がある。境界バーがある場合、当該
ブロックをその境界バーに隣接する基準バーのそれぞれ
に置き換えて、変換テーブル64のいずれかに該当する
かどうかを判定する。本件の例ではブロックとがそ
れぞれ境界バーE2 であるので、ブロックとをE2
に隣接する基準バーであるM2またはM3とに置き換えて
変換テーブル64との比較を行う。この場合には、境界
バーE2 が2つあるので4通りの組合せが有り、4回の
比較が必要となる。比較の結果、ブロックをM3に、
ブロックをM2に置き換えた場合のみ、変換テーブル
64上に該当する組合せが存在する。この場合には、そ
の組合せに相当する数字”9”にデコードされる。第3
ディジットには、ブロックに境界バーE2 がブロック
に境界バーE1 がある。境界バーE1 は基準バーM1
とM2に隣接するので、ブロックはM1またはM2に置
き換えられて、テーブルに該当する組合せがあるかどう
かが確認される。この場合、ブロックがM2 に置き換
えられ同時にブロックがM2に置き換えられたときに
数字”2”に該当し、またブロックがM3に置き換え
られ、ブロックがM1 に置き換えられたときに数字”
9”に該当することになる。このように、境界バーを隣
接基準バーに置き換えてテーブル比較した結果、該当す
る数字が2つ以上存在するときは何れにデコードすべき
かわからないので変換不能として処理する。しかし、こ
のように境界バーが1つのディジット中に2つ存在する
ことは希である上、比較結果が2つ以上のコードに該当
する確率はさらに低くなるので、読み取り精度は大幅に
向上する。
【0016】実施例2 次に、デコード処理をファジィ推論を用いて行う第2の
実施例について説明する。説明の便宜のために、基準バ
ーの種類及び変換すべきパリティー・コードの種類、そ
の他の条件は実施例1と同様とする。また、本実施例の
ファジィ推論では、ファジィ・チップとして、富士通
(株)製のファジィ・コントローラMB94140を用
いている。
実施例について説明する。説明の便宜のために、基準バ
ーの種類及び変換すべきパリティー・コードの種類、そ
の他の条件は実施例1と同様とする。また、本実施例の
ファジィ推論では、ファジィ・チップとして、富士通
(株)製のファジィ・コントローラMB94140を用
いている。
【0017】図10はファジィ推論を適用したデコード
手段7の構成を示す構成図である。デコード手段7はフ
ァジィ推論処理部71、メンバーシップ関数記憶部7
2、ファジィ・ルール記憶部73と推論により得られた
結果からデコード値を確定し記憶するデコード値確定部
74とから構成される。本デコード手段により、補正後
のデータが各ディジット単位でデコードされる。図11
に入力のメンバーシップ関数を示す。図11には1つの
メンバーシップ関数しか示していないが、同様のメンバ
ーシップ関数が各ブロック毎に4個設定される。図11
の横軸は入力値を表わし、縦軸は入力変数に属する度合
(重み)を示す。入力値は補正されたバー幅のカウント
値である。入力変数として各基準バーに相当するM1〜
M4が選ばれる。入力設定値は、基準バーM1からM4の
大きさに準じて定められる。ファジィ推論によるデコー
ドでは、通常想定される基準バーの幅を入力設定値とす
るのではなく、バー幅の読み取り誤差等の発生可能性に
応じて各々の入力変数M1〜M4に属する度合(重み)が
変化しながら、隣接する入力変数相互間で重なりあうよ
うに設定される(例えばM1とM2では、カウント値13
〜17までが相互に重なっている)。これにより、それ
ぞれの入力変数の重みに応じた出力がされる。図12
に、出力のメンバーシップ関数を示す。図12の横軸は
出力値を、縦軸は出力変数C0〜C9の重みをそれぞれ
示している。これら入力用メンバーシップ関数及び出力
用メンバーシップ関数はメンバーシップ関数記憶部72
に記憶される。ファジィ・ルール記憶部73には、入力
のメンバーシップ関数M1〜M4の組合せから出力値(デ
コード値)を推論するためのファジィ・ルール(以下ル
ールと言う)が記憶されている。ファジィ・ルールの例
を図13に示す。例えば図13のルール1から、ブロッ
ク〜がそれぞれM3M2M1M1であるときには、出力
がC0となることがわかる。このルールは、バーコード
の規格及び種類に応じて定められる。図13は、JAN
コードの奇数パリティ・コードのためのルールである。
手段7の構成を示す構成図である。デコード手段7はフ
ァジィ推論処理部71、メンバーシップ関数記憶部7
2、ファジィ・ルール記憶部73と推論により得られた
結果からデコード値を確定し記憶するデコード値確定部
74とから構成される。本デコード手段により、補正後
のデータが各ディジット単位でデコードされる。図11
に入力のメンバーシップ関数を示す。図11には1つの
メンバーシップ関数しか示していないが、同様のメンバ
ーシップ関数が各ブロック毎に4個設定される。図11
の横軸は入力値を表わし、縦軸は入力変数に属する度合
(重み)を示す。入力値は補正されたバー幅のカウント
値である。入力変数として各基準バーに相当するM1〜
M4が選ばれる。入力設定値は、基準バーM1からM4の
大きさに準じて定められる。ファジィ推論によるデコー
ドでは、通常想定される基準バーの幅を入力設定値とす
るのではなく、バー幅の読み取り誤差等の発生可能性に
応じて各々の入力変数M1〜M4に属する度合(重み)が
変化しながら、隣接する入力変数相互間で重なりあうよ
うに設定される(例えばM1とM2では、カウント値13
〜17までが相互に重なっている)。これにより、それ
ぞれの入力変数の重みに応じた出力がされる。図12
に、出力のメンバーシップ関数を示す。図12の横軸は
出力値を、縦軸は出力変数C0〜C9の重みをそれぞれ
示している。これら入力用メンバーシップ関数及び出力
用メンバーシップ関数はメンバーシップ関数記憶部72
に記憶される。ファジィ・ルール記憶部73には、入力
のメンバーシップ関数M1〜M4の組合せから出力値(デ
コード値)を推論するためのファジィ・ルール(以下ル
ールと言う)が記憶されている。ファジィ・ルールの例
を図13に示す。例えば図13のルール1から、ブロッ
ク〜がそれぞれM3M2M1M1であるときには、出力
がC0となることがわかる。このルールは、バーコード
の規格及び種類に応じて定められる。図13は、JAN
コードの奇数パリティ・コードのためのルールである。
【0018】推論処理のさらに詳しい具体例を図6、図
13乃至図18を用いて説明する。なお、図14乃至図
15の各メンバーシップ関数の上に示す矢印付きの数字
は、ファジィ推論の入力値として用いられる補正された
各ブロックのカウント値を表わしている。補正データが
ファジィ推論処理部71に入力されると該処理部71
は、メンバーシップ関数記憶部72及びファジィ・ルー
ル記憶部73から該当するメンバーシップ関数及びファ
ジィ・ルールを呼出し、ルール毎に推論処理を行なう。
まず、図6の第1ディジットの各ブロック毎の入力値
(30、10、10、20)が入力された場合について
説明する。この場合の入力とメンバーシップ関数の関係
を図14に示す。図14から分かるように、入力変数M
1〜M4のうちの2つの領域に重なるブロックはなく、全
ての入力変数該当性の重みは1である。すなわちこの場
合、第1ディジットはそれぞれM3M1M1M2の組合せに
該当する。この組合せが図13の各ルールに基づいて推
論処理される。この例では、入力値はルール10だけに
該当し他のルールには該当しない。ルールに該当しない
場合、その出力の重みは0となる。図18の最上段に第
1のディジットの出力状態を示す。図18から明かなよ
うに、この場合第1ディジットは”C9”に該当する。
また、各ブロックの入力変数該当性の重みがすべて1で
あるので、出力の重みは1.0となる。次に、図6の第
2ディジットのカウント値(25、9、12、24)が
入力された場合について説明する。この場合も第1ディ
ジットと同様に推論処理されるが、図15からわかるよ
うに、この場合ブロックとブロックの入力値がそれ
ぞれM2とM3の領域にまたがっており、それぞれM2及
びM3の重みが異なっている。この場合、重みの異なる
4つの組合せ、M2M1M1M2,M2M1M1M3,M3M1M
1M2,M3M1M1M3が存在する。しかしこの場合、4つ
の組合せの内、M3M1M1M2 だけがルール10に該当
し、他の組合せはいづれのルールにも該当しない。従っ
て、このディジットも”C9”に該当することになる。
図18の2段目にこの出力状態を示す。この場合ブロッ
クとの入力変数M2とM3の重みが1.0未満である
ので出力変数の重みは、1.0未満(図18では0.5
3)となる。引続き、図6の第3ディジットのカウント
値(24、10、15、21)が入力された場合につい
て説明する。この場合図16に示すように、ブロック
がM2とM3にまたがっており、ブロックがM1とM2に
またがっている。この場合2つのルールに該当するの
で、図17を用いて少し詳しく説明する。図17の縦の
4本の実線は第3ディジットの入力値(24、10、1
5、21)を示し、実線で示す台形はルールの要求する
入力変数を示す。従って、縦の4本の直線全てが、実線
の台形と交差する場合に、ルール該当性があることにな
る。上記説明及び図17からわかるように、この第3デ
ィジットは、ルール3及びルール10の2つのルールに
該当することになり、重みの異なる出力変数”C2”
と”C9”が得られる。この出力状況を図18の最下段
に示す。この2つの各ルール該当性の重み(C2:0.
53、C9:0.27)は、入力変数の重みに応じて異
なってくる。入力変数の重みは、縦実線と台形との交差
点で表わされる。台形の上辺で交差する場合には重み
1、斜辺で交差する場合には重みは1より小となる。
13乃至図18を用いて説明する。なお、図14乃至図
15の各メンバーシップ関数の上に示す矢印付きの数字
は、ファジィ推論の入力値として用いられる補正された
各ブロックのカウント値を表わしている。補正データが
ファジィ推論処理部71に入力されると該処理部71
は、メンバーシップ関数記憶部72及びファジィ・ルー
ル記憶部73から該当するメンバーシップ関数及びファ
ジィ・ルールを呼出し、ルール毎に推論処理を行なう。
まず、図6の第1ディジットの各ブロック毎の入力値
(30、10、10、20)が入力された場合について
説明する。この場合の入力とメンバーシップ関数の関係
を図14に示す。図14から分かるように、入力変数M
1〜M4のうちの2つの領域に重なるブロックはなく、全
ての入力変数該当性の重みは1である。すなわちこの場
合、第1ディジットはそれぞれM3M1M1M2の組合せに
該当する。この組合せが図13の各ルールに基づいて推
論処理される。この例では、入力値はルール10だけに
該当し他のルールには該当しない。ルールに該当しない
場合、その出力の重みは0となる。図18の最上段に第
1のディジットの出力状態を示す。図18から明かなよ
うに、この場合第1ディジットは”C9”に該当する。
また、各ブロックの入力変数該当性の重みがすべて1で
あるので、出力の重みは1.0となる。次に、図6の第
2ディジットのカウント値(25、9、12、24)が
入力された場合について説明する。この場合も第1ディ
ジットと同様に推論処理されるが、図15からわかるよ
うに、この場合ブロックとブロックの入力値がそれ
ぞれM2とM3の領域にまたがっており、それぞれM2及
びM3の重みが異なっている。この場合、重みの異なる
4つの組合せ、M2M1M1M2,M2M1M1M3,M3M1M
1M2,M3M1M1M3が存在する。しかしこの場合、4つ
の組合せの内、M3M1M1M2 だけがルール10に該当
し、他の組合せはいづれのルールにも該当しない。従っ
て、このディジットも”C9”に該当することになる。
図18の2段目にこの出力状態を示す。この場合ブロッ
クとの入力変数M2とM3の重みが1.0未満である
ので出力変数の重みは、1.0未満(図18では0.5
3)となる。引続き、図6の第3ディジットのカウント
値(24、10、15、21)が入力された場合につい
て説明する。この場合図16に示すように、ブロック
がM2とM3にまたがっており、ブロックがM1とM2に
またがっている。この場合2つのルールに該当するの
で、図17を用いて少し詳しく説明する。図17の縦の
4本の実線は第3ディジットの入力値(24、10、1
5、21)を示し、実線で示す台形はルールの要求する
入力変数を示す。従って、縦の4本の直線全てが、実線
の台形と交差する場合に、ルール該当性があることにな
る。上記説明及び図17からわかるように、この第3デ
ィジットは、ルール3及びルール10の2つのルールに
該当することになり、重みの異なる出力変数”C2”
と”C9”が得られる。この出力状況を図18の最下段
に示す。この2つの各ルール該当性の重み(C2:0.
53、C9:0.27)は、入力変数の重みに応じて異
なってくる。入力変数の重みは、縦実線と台形との交差
点で表わされる。台形の上辺で交差する場合には重み
1、斜辺で交差する場合には重みは1より小となる。
【0019】ファジィ推論処理部より出力される出力値
は、デコード値確定部74によりデコード値(数字)が
確定される。デコード値確定部74は、ファジィ推論処
理部71から入力された各ディジットの出力変数が1つ
の場合は、図19に示す数字変換テーブルから該当する
数字を確定する。第3ディジットのように出力変数が2
つ以上ある場合は、重みの高い方にデコードするように
しても良いし、デコード不能として処理しても良い。し
かし、重みで判断する場合は誤ってデコードする確率も
高いので、重みの差がかなり大きい場合以外はデコード
不能として処理するのが安全である。本実施例では、第
1及び第2ディジットは数字”9”と確定されるが、第
3ディジットの数字は確定されない。以上本説明ではJ
ANコードの左側のディジット部分にファジィ推論を用
いたデコード処理を説明したが、スタート・バー、セン
ター・バー、ストップ・バー及び右側のディジット部分
等についても同様にファジィ推論を用いたデコード処理
が行なわれる。以上のようにしてバーコード全体のデコ
ード処理が終了すると、デコードされたデータは図示し
ない出力部を介して端末機等に送出される。
は、デコード値確定部74によりデコード値(数字)が
確定される。デコード値確定部74は、ファジィ推論処
理部71から入力された各ディジットの出力変数が1つ
の場合は、図19に示す数字変換テーブルから該当する
数字を確定する。第3ディジットのように出力変数が2
つ以上ある場合は、重みの高い方にデコードするように
しても良いし、デコード不能として処理しても良い。し
かし、重みで判断する場合は誤ってデコードする確率も
高いので、重みの差がかなり大きい場合以外はデコード
不能として処理するのが安全である。本実施例では、第
1及び第2ディジットは数字”9”と確定されるが、第
3ディジットの数字は確定されない。以上本説明ではJ
ANコードの左側のディジット部分にファジィ推論を用
いたデコード処理を説明したが、スタート・バー、セン
ター・バー、ストップ・バー及び右側のディジット部分
等についても同様にファジィ推論を用いたデコード処理
が行なわれる。以上のようにしてバーコード全体のデコ
ード処理が終了すると、デコードされたデータは図示し
ない出力部を介して端末機等に送出される。
【0020】第1及び第2の実施例ではデコード処理を
行なう場合、1ディジット内の4つのブロック〜の
全てのカウント値を用いた。しかし、図9のテーブルま
たは図13のファジィ・ルールから明らかなように、仮
にブロックの何れかを削除して任意の3つのブロックだ
けの組合せとしたとしても、同じ組合せまたはルールと
はならない。従って、1ディジット内の3つのブロック
のカウント値を用いたテーブルまたはルールによりデコ
ード処理を行なうことも可能である。このようにディジ
ットを構成する要素全てを使わなくても特定のキャラク
タを特定できる場合には、そのバーコードに応じた必要
最小限の要素だけで、変換テーブルまたはルールを定め
れば良い。このように最小限の要素を用いたテーブルま
たはルールによりデコード処理する事により、比較時間
または推論時間が短くなり、デコード処理が速くなる。
行なう場合、1ディジット内の4つのブロック〜の
全てのカウント値を用いた。しかし、図9のテーブルま
たは図13のファジィ・ルールから明らかなように、仮
にブロックの何れかを削除して任意の3つのブロックだ
けの組合せとしたとしても、同じ組合せまたはルールと
はならない。従って、1ディジット内の3つのブロック
のカウント値を用いたテーブルまたはルールによりデコ
ード処理を行なうことも可能である。このようにディジ
ットを構成する要素全てを使わなくても特定のキャラク
タを特定できる場合には、そのバーコードに応じた必要
最小限の要素だけで、変換テーブルまたはルールを定め
れば良い。このように最小限の要素を用いたテーブルま
たはルールによりデコード処理する事により、比較時間
または推論時間が短くなり、デコード処理が速くなる。
【0021】
【発明の効果】以上説明したように本発明によるバーコ
ード読取装置においては、バーコードをディジット単位
で基準の大きさに補正するとともに、バーの種類をディ
ジット全体のバーの組合せから確定するようにして、バ
ーコード印刷が規格から多少ずれていたり、また汚れて
いたり、さらにラップで包んだ生鮮食料品等の曲面形状
の商品に印刷されまたは貼られてバーコードが歪んでい
た場合でも、読み取り可能範囲を広げて、読み取り率を
大幅に向上させた。例えば、従来技術では曲率半径30
mm歪んだ状態までしか読めなかったが、本発明では曲
率半径13mm歪んだ状態まで読めるようになった。ま
た、基準バーコードの1モジュール分のバー幅を0.33mm
とすると、従来の読み取り装置では、バー幅が0.17〜0.
47mmまでしか読み取ることができなかったが、本発明に
よれば0.09〜0.55mmまで読み取ることができるようにな
り、読み取り可能範囲が大幅に拡大された。また、手持
ち形バーコード読取装置の場合、従来は読み取り部をバ
ーコード表面から約20mm離した位置が読み取りの限
界位置であったが、本発明では約30mm離しても読み
取り可能となった。
ード読取装置においては、バーコードをディジット単位
で基準の大きさに補正するとともに、バーの種類をディ
ジット全体のバーの組合せから確定するようにして、バ
ーコード印刷が規格から多少ずれていたり、また汚れて
いたり、さらにラップで包んだ生鮮食料品等の曲面形状
の商品に印刷されまたは貼られてバーコードが歪んでい
た場合でも、読み取り可能範囲を広げて、読み取り率を
大幅に向上させた。例えば、従来技術では曲率半径30
mm歪んだ状態までしか読めなかったが、本発明では曲
率半径13mm歪んだ状態まで読めるようになった。ま
た、基準バーコードの1モジュール分のバー幅を0.33mm
とすると、従来の読み取り装置では、バー幅が0.17〜0.
47mmまでしか読み取ることができなかったが、本発明に
よれば0.09〜0.55mmまで読み取ることができるようにな
り、読み取り可能範囲が大幅に拡大された。また、手持
ち形バーコード読取装置の場合、従来は読み取り部をバ
ーコード表面から約20mm離した位置が読み取りの限
界位置であったが、本発明では約30mm離しても読み
取り可能となった。
【図1】本発明のバーコード読取装置の全体の構成の概
略を示すブロック図である。
略を示すブロック図である。
【図2】バーコードのデジタル変換した波形及び測定し
たカウント値を示す。
たカウント値を示す。
【図3】測定したカウント値を記憶した状態を示す。
【図4】測定したカウント値の補正処理動作の処理手順
を示す流れ図である。
を示す流れ図である。
【図5】基準ディジット長L=70に補正する場合の補
正処理の具体例を示す。
正処理の具体例を示す。
【図6】補正後のデータを記憶した状態を示す。
【図7】各基準バー及び境界バーの定義域を示す。
【図8】各ディジット毎のバーの組合せを示すテーブル
を示す。
を示す。
【図9】バーの組合せと数字との対応関係を示す変換テ
ーブルである。
ーブルである。
【図10】ファジィ推論を適用したデコード手段7の構
成を示す。
成を示す。
【図11】ブロックの入力用メンバーシップ関数を示
す。
す。
【図12】出力用メンバーシップ関数を示す。
【図13】ブロック毎の組合せと出力変数の関係を示す
ファジィ・ルールである。
ファジィ・ルールである。
【図14】第1ディジットの補正データの入力のメンバ
ーシップ関数の状態を示す。
ーシップ関数の状態を示す。
【図15】第2ディジットの補正データの入力のメンバ
ーシップ関数の状態を示す。
ーシップ関数の状態を示す。
【図16】第3ディジットの補正データの入力のメンバ
ーシップ関数の状態を示す。
ーシップ関数の状態を示す。
【図17】第3ディジットの各ファジィ・ルールの入出
力用メンバーシップ関数の状態を示す。
力用メンバーシップ関数の状態を示す。
【図18】第1乃至第3ディジットの出力用メンバーシ
ップ関数の状態を示す。
ップ関数の状態を示す。
【図19】出力変数C0〜C9とJANコードの数字と
の関係を示す変換テーブルである。
の関係を示す変換テーブルである。
3 信号処理手段 5 信号補正手段 6 デコード手段 7 デコード手段
Claims (5)
- 【請求項1】バーコードのバー及びスペースの幅に応じ
たバーコード読取信号を出力する信号発生手段と、 前記バーコード読取信号から各バー及びスペースの幅、
並びに複数のバー及びスペースで構成される各ディジッ
トの長さを計測し記憶する測定手段と、 予め記憶している正規のディジット長と前記計測したデ
ィジットの長さとの比率に応じて、前記読取信号のバー
及びスペース幅をディジット単位で拡大または縮小する
ことにより、前記読取信号を補正する補正手段と、 前記補正手段により補正した読取信号を、ディジット単
位でデコードするデコード手段と、からなるバーコード
読取装置。 - 【請求項2】バーコードのバー及びスペースの幅に応じ
たバーコード読取信号を出力する信号発生手段と、 前記バーコード読取信号から各バー及びスペースの幅を
計測し記憶する測定手段と、 前記測定手段で測定されたバー及びスペースの幅の大き
さに応じて各バー及びスペースの種類を区分し、該区分
された各バー及びスペースの組合せを、所定のテーブル
と比較する事により前記読取信号をデコードするデコー
ド手段とからなり、 前記デコード手段はさらに、前記測定したバーまたはス
ペースの幅の大きさが区分域の境界近くにあるときは、
その境界に隣接する両区分のそれぞれについてそのバー
またはスペースを区分した場合についてデコード処理を
試み、両区分についてただ1つのデコード値が定まる場
合のみ正しいデコードが行なわれたものとして処理する
境界データ処理手段を含むバーコード読取装置。 - 【請求項3】請求項1記載の測定手段と、請求項1記載
の補正手段とを有し、 デコード手段は、前記補正手段による補正後の読取信号
によりデコードする請求項2記載のデコード手段である
ことを特徴とする請求項2に記載のバーコード読取装
置。 - 【請求項4】バーコードのバー及びスペースの幅に応じ
たバーコード読取信号を出力する信号発生手段と、 前記バーコード読取信号から各バー及びスペースの幅を
計測し記憶する測定手段と、 前記測定手段からのバー及びスペースの幅を入力情報と
し、バー及びスペースの種類の組合せをルールとするフ
ァジィ推論により、前記読取信号をデコードするデコー
ド手段と、からなるバーコード読取装置。 - 【請求項5】請求項1記載の測定手段と、請求項1記載
の補正手段とを有し、デコード手段は、前記補正手段に
よる補正後の読取信号によりデコードする請求項4記載
のデコード手段であることを特徴とする請求項4に記載
のバーコード読取装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4272443A JPH06119480A (ja) | 1992-09-17 | 1992-09-17 | バーコード読取装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4272443A JPH06119480A (ja) | 1992-09-17 | 1992-09-17 | バーコード読取装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06119480A true JPH06119480A (ja) | 1994-04-28 |
Family
ID=17513989
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4272443A Pending JPH06119480A (ja) | 1992-09-17 | 1992-09-17 | バーコード読取装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06119480A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015011478A (ja) * | 2013-06-27 | 2015-01-19 | ウシオ電機株式会社 | バーコードシンボル、バーコードシンボル作成方法、バーコードシンボル作成プログラム、バーコードシンボル読み取り方法及びバーコードシンボル読み取りプログラム |
| JP2016151800A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社ウェルキャット | コード読取学習システム |
| JP2019049967A (ja) * | 2017-07-12 | 2019-03-28 | ジック アーゲー | 光電式コードリーダ及び光学コードの読み取り方法 |
-
1992
- 1992-09-17 JP JP4272443A patent/JPH06119480A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015011478A (ja) * | 2013-06-27 | 2015-01-19 | ウシオ電機株式会社 | バーコードシンボル、バーコードシンボル作成方法、バーコードシンボル作成プログラム、バーコードシンボル読み取り方法及びバーコードシンボル読み取りプログラム |
| JP2016151800A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社ウェルキャット | コード読取学習システム |
| JP2019049967A (ja) * | 2017-07-12 | 2019-03-28 | ジック アーゲー | 光電式コードリーダ及び光学コードの読み取り方法 |
| US11176454B2 (en) | 2017-07-12 | 2021-11-16 | Sick Ag | Optoelectronic code reader and method for reading optical codes |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5414252A (en) | High speed scan bar code reader which can read more than one type of bar code | |
| EP0785521B1 (en) | Method and apparatus for decoding bar code symbols using independent bar and space analysis | |
| US5128527A (en) | Apparatus for reading a bar code | |
| US5153928A (en) | Method and apparatus for recording/reproducing mesh pattern data | |
| JPH07200712A (ja) | バーコード読み取りの方法および装置 | |
| US6070805A (en) | Distortion resistant double-data correcting color transition barcode and method of generating and using same | |
| JPS63133282A (ja) | バ−コ−ドラベル | |
| JPS6156552B2 (ja) | ||
| JPH03189787A (ja) | 複数の走査からバーコード記号を復号する方法および装置 | |
| JPH0157394B2 (ja) | ||
| CA2186951A1 (en) | Method and Apparatus for Decoding Bar Code Images Using Information From Previous Scan Lines | |
| JP3115003B2 (ja) | モジュール・サイズの比率解析を用いてバーコード記号を解読する方法および装置 | |
| US5686715A (en) | Add-on bar-code reading apparatus in a bar-code reader | |
| US5468946A (en) | Method and apparatus for decoding multi-level bar codes or bi-level bar codes | |
| EP0180152A2 (en) | Bar code reading method and apparatus | |
| US20070119944A1 (en) | Decoding with data from multiple scans | |
| JPH06119480A (ja) | バーコード読取装置 | |
| EP0818019B1 (en) | Method and device for decoding bar codes | |
| US6547143B2 (en) | Bar-code reader and bar-code reading method providing display and correction of questionable characters | |
| JPH01290091A (ja) | 符号読取装置 | |
| US8313029B2 (en) | Apparatus and methods for decoding images | |
| JPH08263585A (ja) | コード読取装置 | |
| JP2001307013A (ja) | バーコード読取装置 | |
| JPH0652343A (ja) | バーコードリーダ装置 | |
| JP2736729B2 (ja) | バーコード判定方法 |