JPH0589278A - バーコードシンボル読取装置 - Google Patents

バーコードシンボル読取装置

Info

Publication number
JPH0589278A
JPH0589278A JP3245945A JP24594591A JPH0589278A JP H0589278 A JPH0589278 A JP H0589278A JP 3245945 A JP3245945 A JP 3245945A JP 24594591 A JP24594591 A JP 24594591A JP H0589278 A JPH0589278 A JP H0589278A
Authority
JP
Japan
Prior art keywords
value
read data
bar code
code symbol
read
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
JP3245945A
Other languages
English (en)
Other versions
JP2971636B2 (ja
Inventor
Hisakatsu Tanaka
久勝 田中
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.)
Olympus Corp
Original Assignee
Olympus Optical 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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP3245945A priority Critical patent/JP2971636B2/ja
Publication of JPH0589278A publication Critical patent/JPH0589278A/ja
Application granted granted Critical
Publication of JP2971636B2 publication Critical patent/JP2971636B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】正確にバーコードシンボル情報を判断し、読み
取り条件が良い場合には読み取り回数を少なくするこ
と。 【構成】受光回路2からの電気信号は2値化部“A”3
及び2値化部“B”4に入力され、各々異なる閾値にて
2値化され、これら2値化された2つの信号は、比較回
路5にて比較され、その比較結果に応じて重み付け回路
6によって各信号が重み付けされる。この重み付けされ
た各信号はメモリ7に順次格納され、その後、判断回路
8によって、この重み付けに基づいて、例えば重みの多
数決により正しい信号が判断される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バーコードシンボルを
読み取るためのバーコードシンボル読取装置に係り、特
に、そのようなバーコードシンボル読取装置に於けるデ
ータ処理方法に関する。
【0002】
【従来の技術】現在、バーコードシンボルは、多くの国
で採用されており、その種類も非常に多い。代表的なバ
ーコードシンボルとしては、JAN/UPC/EANコ
ード,ITF(Interleaved 2 of 5)コード,CODE
39,NW−7コード,CODE128,等がある。ま
た最近では、より多くの情報を表現したい、より狭いと
ころに貼りたい、等の要求から、情報量の多い、記録密
度の高い2次元バーコードシンボルも提案され始めてい
る。このような2次元バーコードシンボルとしては、C
ODE16K,CODE49,PDF417,DATA
CODE,等がある。
【0003】一方、JAN/UPC/EANコード,I
TF(Interleaved 2 of 5)コード,CODE39,N
W−7コード,CODE128,等を読み取るための装
置も種類が多く、代表的なタイプとしては、ペンタイ
プ,タッチタイプ,レーザータイプがある。しかし、バ
ーコードシンボルの読み取り方法は、ほとんど同じであ
る。すなわち、光源よりバーコードシンボルに照射され
た光は、バーコードシンボルで反射され、読み取り装置
内部の受光素子に集光される。この集光された信号が、
マイクロコンピュータ等によって構成される電気回路に
よってデコード処理される。
【0004】ところが、このデコード方法としては、各
読み取り装置にて様々な工夫がなされており、特公昭5
3−22015号公報や特公昭54−15648号公報
に紹介されているデコード方法もその一つである。
【0005】特公昭53−22015号公報に開示され
た発明は、デコード処理する際に、バーコードシンボル
上の汚れやシミ等により正しいバーコードシンボル情報
以外のデータが読み取れる可能性を考慮し、読み取りデ
ータの各ビット毎に「1」或いは「0」のいずれが多い
かを調べ、バーコードシンボル情報を複数回読み込ん
で、その多い方を正しいデータと判断する多数決の原理
を導入したものであり、特にこの発明では、正しいデー
タと判断する際の方法について述べられている。
【0006】また、特公昭54−15648号公報に開
示された発明は、バーコードシンボル上に於けるバー記
号に直交する方向の走査にてバーコードシンボルを読み
取るとともに、バー記号の線方向にずらせた位置にてそ
の読み取りを繰り返し、その繰り返し動作が終わるまで
の各走査に対応した読み取り可の回数を計数し、その計
数値が予め設定した値以下の時にバーコードシンボル不
良と判断するものである。
【0007】
【発明が解決しようとする課題】ところで、読み取りデ
ータは、各ビット毎に「1」或いは「0」のいずれかと
なるわけであるが、「1」(又は「0」)と判断された
ときの状況は様々であろうと思われる。すなわち、
「1」(又は「0」)と判断できるという場合には、確
実に「1」(又は「0」)と判断できる場合と、どちら
かと言えば「1」(又は「0」)だろうと判断できる場
合等がある。ここで、確実に「1」(又は「0」)と判
断できる場合には、シンボルラベルの黒バー,白バーの
境界がはっきりしている時、照明光が十分な明るさを有
している時、等の読み取り条件が良い場合が考えられ
る。また、どちらかと言えば「1」(又は「0」)だろ
うと判断できる場合には、シンボルラベルの黒バー,白
バーの境界がはっきりしていない時、照明光が十分な明
るさを有していない時、等の読み取り条件が悪い場合が
考えられる。従って、上記特公昭53−22015号公
報に開示されているように多数決をとる場合、確実に
「1」(又は「0」)と判断できる場合も1票、どちら
かと言えば「1」(又は「0」)だろうと判断できる場
合も1票として多数決をとることになってしまう。よっ
て、単純に多数決にてバーコードシンボル情報を判断し
ている時には、「1」(又は「0」)の判断を間違えて
しまう場合も有り得る。
【0008】また、上記特公昭54−15648号公報
に開示されている発明にあっては、確実に「1」(又は
「0」)と判断できる場合も、どちらかと言えば「1」
(又は「0」)だろうと判断できる場合も、同じ読み取
り回数だけ繰り返さなくてはならず、読み取り条件が良
い場合には、非常に無駄な時間を費やすことになる。
【0009】本発明は、上記の点に鑑みてなされたもの
で、正確にバーコードシンボル情報を判断できるバーコ
ードシンボル読取装置を提供することを目的とする。ま
た、読み取り条件が良い場合には読み取り回数を少なく
することができるバーコードシンボル読取装置を提供す
ることを目的とする。
【0010】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明のバーコードシンボル読取装置は、バーコ
ードシンボルを読み取って読み取り信号を出力する読み
取り手段と、前記バーコードシンボルの読み取り信号を
2値化する時の閾値を2種類以上設定する閾値設定手段
と、前記設定された2種類以上の閾値にて前記バーコー
ドシンボルの読み取り信号を2値化し、2値化された2
種類以上の読み取りデータを出力する2値化手段と、前
記2種類以上の読み取りデータ同士が一致するかどうか
を比較し、その結果に基づいて前記2種類以上の読み取
りデータのひとつを選択する比較手段と、前記比較手段
の比較結果に応じて大きさの異なる数値を、前記比較手
段で選択された読み取りデータの重みの値として設定す
る重み付け手段と、前記バーコードシンボルの複数回の
読み取りにより得られた複数の選択された読み取りデー
タと重みの値とから正しい読み取りデータを判断する判
断手段とを備えることを特徴としている。
【0011】ここで、前記判断手段は、前記重みの値の
多数決をとり、最も多い重みの値の選択されている読み
取りデータを正しい読み取りデータとする多数決手段を
有しても良いし、前記重みの値に順次算術的演算を施す
手段と、前記算術的演算を施された値が予め決められた
値に到達したかどうかを判断し、予め決められた値に到
達したときの読み取りデータを正しい読み取りデータと
する手段とから構成することもできる。また、前記重み
付け手段は、前記比較手段の比較結果が前記2種類以上
の読み取りデータが全て同じデータであることを示す場
合には、前記2種類以上の閾値の内の最も高い閾値に相
当する数値を前記重みの値として設定し、前記比較結果
が前記2種類以上の前記読み取りデータが異なるという
ことを示す場合には、前記最も高い閾値よりも低い閾値
に相当する数値を前記重みの値として設定する手段を有
している。さらに、前記比較手段は、前記2種類以上の
読み取りデータ同士が一致するかどうかを比較し、全て
が同じデータである場合はその読み取りデータを選択
し、全てが同じデータでない場合は最も低い閾値にて2
値化された読み取りデータを選択するものである。
【0012】
【作用】即ち、本発明のバーコードシンボル読取装置で
は、バーコードシンボルの読み取り信号を2値化する時
の閾値を2種類以上設定し、設定された2種類以上の閾
値にてバーコードシンボルの読み取り信号を2値化し、
その2値化した時の読み取りデータを比較し、比較され
た読み取りデータ毎にある重み付けを行ない、読み取り
データに付加された重み付けにて正しいデータを判断す
るようにしている。
【0013】
【実施例】以下、図面を参照して、本発明の実施例を説
明する。
【0014】図1は本発明の第1の実施例のブロック構
成図である。本実施例のバーコードシンボル読取装置で
は、図示しない照明装置によりバーコードシンボル1が
照明され、その反射光が受光回路2に入射される。受光
回路2では光信号を微弱な電気信号に変換し、更に微弱
な電気信号を増幅する。増幅された電気信号は2つの2
値化部つまり2値化部“A”3及び2値化部“B”4に
入力され、各々異なる閾値にて2値化される。2値化さ
れた2つの信号は、比較回路5に入力されてそれら2つ
の信号が比較され、比較された結果に応じて重み付け回
路6によって各信号が重み付けされる。重み付けされた
各信号はメモリ7に順次格納され、その後、判断回路8
によって正しい信号が判断される。ここで、CPU9は
各回路を制御するものであり、例えば2値化部“A”
3、2値化部“B”4へは閾値を設定したり、重み付け
回路6へは重み付け量を設定したり、判断回路8から結
果を受け取りバーコードシンボルに記録された情報を取
り出したりする。
【0015】上記2値化部“A”3及び2値化部“B”
4は同一の構成であり、よって代表して2値化部“A”
3のみを図2に示す。即ち、この2値化部“A”3は、
上記受光回路2からの増幅された電気信号を2値化する
2値化回路31と、CPU9から受信した閾値を格納す
るスライスレベルレジスタ32と、2値化された信号の
「H」レベル,「L」レベルの時間を図示しない基準ク
ロック生成回路からの基準クロックにて計数するパルス
幅計数回路33と、計数されたパルス幅から「1」であ
るか「0」であるかを判断する「1」及び「0」判定回
路34とで構成されている。
【0016】次に、図3野(A)乃至(F)を参照し
て、この2値化部“A”3の動作を更に詳しく説明す
る。図3の(A)に示すように、バーコードシンボル1
は、黒,白,黒,白の4本のバーにて7ビット分(7ビ
ットが1つのキャラクタに対応している)表現される。
図3の(B)は、このようなバーコードシンボル1に対
応する受光回路2の出力信号、つまり2値化回路31へ
の入力信号を示している。スライスレベルレジスタ32
には、同図中に矢印Iで示される閾値が格納されてい
る。2値化回路31がこのスライスレベルレジスタ32
の内容(閾値I)にて2値化した結果は、図3の(C)
に示すようになる。パルス幅計数回路33は、図3の
(D)に示すような基準クロックにて2値化信号(図3
の(C))の「H」レベル幅,「L」レベル幅をそれぞ
れ計数する。その計数結果は、図3の(E)に示すよう
になる(但し、この計数結果は、図示している基準クロ
ック(図3の(D))よりも高い周波数を持つクロック
にて計数したものである)。ここで、黒,白,黒,白の
4本のバーにて7ビット分であるので、図3の(E)に
て42クロック,19クロック,21クロック,61ク
ロックを合計したもの、すなわち143クロックが7ビ
ット分となる。従って、以下のようにすれば、「1」及
び「0」判定回路34は、各計数された黒バー,白バー
が何ビット分の「1」か「0」かが判断できる。
【0017】すなわち、 N=パルス幅合計クロック数(この場合は143)/7
ビット としたときに、 N*1/2≦パルス幅計数結果<N*3/2なら1ビッ
ト分の「1」又は「0」 N*3/2≦パルス幅計数結果<N*5/2なら2ビッ
ト分の「1」又は「0」 N*5/2≦パルス幅計数結果<N*7/2なら3ビッ
ト分の「1」又は「0」 N*7/2≦パルス幅計数結果<N*9/2なら4ビッ
ト分の「1」又は「0」 とする。ここで、上の式に当てはまらないパルス幅計数
結果については、読み取りエラーと判断する。
【0018】このようにすると、図3の(F)に示すよ
うに、42クロックは「11」,19クロックは
「0」,21クロックは「1」,61クロックは「00
0」と判断され、図3の(A)に示したようなバーコー
ドシンボルに於ける7ビットは、「1101000」と
なる。次に図4の(A)乃至(L)及び図5を参照して
上記2値化部“A”3及び2値化部“B”4の関係を詳
しく説明する。
【0019】今、図3の(A)と同様に、黒,白,黒,
白の4本のバーにて7ビット(1キャラクタ)分表現さ
れるバーコードシンボルの異なる5箇所をスキャンする
場合を考える(図4の(A)の矢印A,B,C,D,
E)。なお、このスキャン箇所の間隔は、当該読取装置
の仕様により決定され、このようなスキャンが秒当り数
百回行なわれる。
【0020】また、バーコードシンボル1として、図4
の(A)に示すように、スポット(汚れや印刷にじみ)
Sが存在しているものを考える。このスポットSは、黒
バー程黒くはない汚れである。
【0021】先ず、スキャンA(又はスキャンB)を考
える。図1のCPU9により、図4の(B)中の矢印I
で示される閾値が2値化部“A”3に格納され、また矢
印Mで示される閾値が2値化部“B”4に格納されてい
る。図3の(A)乃至(F)に関して説明したように、
2値化部“A”3に於いて、入力信号(図4の(B))
を閾値Iにて2値化(図4の(C))し、それを基準ク
ロックにてパルス幅計数(図4の(D))し、それを前
述したアルゴリズムにて「1」,「0」を判定する(図
4の(E))。ところで2値化部“B”4に於いて入力
信号2を閾値Mにて2値化するが、パルス幅計数結果
(図4の(D))が若干異なるだけで、図4の(E)に
示すように結果は同じになる。
【0022】このように、異なる閾値にて同じ結果と判
断される(図1の比較回路5による)と、図1の重み付
け回路6にて各ビットに最高の重みが設定される。すな
わち、図5に示すように、スキャンA(又はスキャン
B)では、どのビット(ビット1〜ビット7)も重み
は、「225」となっている。この「225」という値
は、例えば、白レベルを「0」、黒レベルを「255」
と設定したときの、閾値Mの値そのものである。
【0023】次に、スキャンC(又はスキャンD,E)
を考える。この場合も同様に、上記CPU9により、図
4の(F)中の矢印Iで示される閾値が2値化部“A”
3に格納され、矢印Mで示される閾値が2値化部“B”
4に格納されているものとする。
【0024】ここで、図3の(A)乃至(F)に関して
説明したように、2値化部“A”3に於いて、入力信号
(図4の(F))を閾値Iにて2値化(図4の(G))
し、それを基準クロックにてパルス幅計数(図4の
(H))し、それを前述したアルゴリズムにて「1」,
「0」を判定する(図4の(I))。この場合には、ス
キャンC(又はスキャンD,E)では、スポットSをス
キャンしているので、ビット5(左から5ビット目)が
スキャンA(又はスキャンB)と異なっている。
【0025】ところが、2値化部“B”4に於いて入力
信号(図4の(F))を閾値Mにて2値化(図4の
(J))し、それを基準クロックにてパルス幅計数(図
4の(K))し、それを前述したアルゴリズムにて
「1」,「0」を判定(図4の(L))した結果は、閾
値Iにて2値化した結果(図4の(E))とは異なって
いる(ビット5)。
【0026】このように、異なる閾値にて結果が異なる
と判断される(比較回路5による)と、重み付け回路6
にて、このビット5には低い重みが設定される。すなわ
ち、図5に示すように、スキャンC(又はスキャンD,
E)では、ビット5以外(ビット1〜ビット4,ビット
6,ビット7)の重みは「225」となるが、ビット5
の重みはこれよりも軽い「100」となる。この「10
0」という値は、前述したように白レベルを「0」とし
黒レベルを「255」と設定したときの閾値Iの値その
ものである。また、このように異なる閾値にて結果が異
なると判断された時は、同図に示すように、低い閾値I
にて判定された「1」という値が採用される。このよう
な図5の内容は、図1のメモリ7に格納される。次に、
これらの各値とそれに対応する重み値が、図1の判断回
路8に入力される。
【0027】この判断回路8は、重みを多数決すること
により、各ビットの値を決定する。すなわち、ビット
1,2,4に関しては、値「0」は「0」、値「1」は
「225」+「225」+「225」+「225」+
「225」=「1125」となり、値「1」がそれらの
ビットの値として採用される。また、ビット3,6,7
に関しては、値「0」は「225」+「225」+「2
25」+「225」+「225」=「1125」とな
り、値「1」は「0」となるので、値「0」がそれらの
ビットの値として採用される。これに対して、異なる閾
値にて結果が異なると判断されたビット5に関しては、
値「0」は「225」+「225」=「450」、値
「1」は「100」+「100」+「100」=「30
0」となり、重みを多数決することにより、値「0」が
ビット5の値として採用される。
【0028】以上のようにすることで、単純に各スキャ
ンでの結果を多数決すると値「1」が3回、値「0」が
2回であるので値「1」がビット5の値として採用され
るというおかしい結果となってしまう場合であっても、
本実施例では、ビット5の値として正しい値「0」とし
て採用できるようになり、正確な値判断が可能となる。
【0029】すなわち、バーコードシンボルの読み取り
信号を2値化する時の閾値を2種類以上設定し、設定さ
れた2種類以上の閾値にてバーコードシンボルの読み取
り信号を2値化し、その2値化した時の読み取りデータ
を比較し、比較された読み取りデータ毎にある重み付け
を行ない、読み取りデータに付加された重み付けにて正
しいデータを判断するようにしたので、読み取りデータ
の各ビットが、シンボルラベルの黒バー、白バーの境界
がはっきりしていない、照明光が十分な明るさを有して
いない等により、どちらかと言えば「1」(又は
「0」)だろうと判断できる場合には、読み取り回数を
多くして確実に正しいバーコードシンボルを読み取るこ
とができるし、「1」(又は「0」)の判断を間違えて
しまうことも妨げる。
【0030】なお、本実施例では、重み値として閾値そ
のものの値を採用したが、本発明はこれに限定されるも
のではなく、それ以外の値でも、高いレベルの閾値に関
しては重い重み値をまた低いレベルの閾値に関しては軽
い重み値を採用することにより、同様にして正しいビッ
トの値を判定することができる。また、上記実施例で
は、スポットSについてのみ説明したが、黒バーの中の
インクの欠け等のボイドがある場合についても、同様に
正しいビットの値を判定することができる。また、図1
の判断回路8を以下のように構成することもできる。
【0031】すなわち、あるビットの値に対応した重み
を順次加算し、その重み合計がある規定値に達したとき
に、そのビットの値を固定する。但し、現在のビットの
値(判定値)と異なるビットの値が入力されたときは、
対応する重みを重み合計から減算し、もしその結果、重
み合計がマイナスとなった場合には、重み合計の絶対値
を取りプラスとし、その時入力されたビットの値を判定
値とする。
【0032】以下、図6及び図7を参照して、これを詳
しく説明する。ここで、スキャンA,B,C,D,Eは
図4の(A)に示したスキャンA〜Eと同じである。但
し、ここでは、ビット5(図4の(A)参照)のみ考慮
する。また、ビットの値を固定する規定値を「500」
と設定する。
【0033】図6の(A)は、スキャンAから順にスキ
ャンされた場合である。1回目のスキャンAでは、値
「0」と重み「225」(図5参照)が図1の判断回路
8に入力される。その結果、判定値は「0」、重み合計
は「225」となる。2回目のスキャンBでも値「0」
と重み「225」が入力されるので判定値は変化せず、
重み合計は「225」+「225」=「450」とな
る。次のスキャンCでは、値「1」と重み「100」
(図5参照)が入力される。従って、重み合計は「45
0」−「100」=「350」となるが判定値は変化し
ない。以下同様にスキャンD,Eが実行されるが、重み
合計は「150」であり、規定値「500」には達して
いない。ここでは更に、スキャンAから繰り返される
(実際には、同じ箇所を読み込むとは限らないため、ス
キャンA’となる)。その結果、7回目のスキャンに
て、重み合計が「600」となり、規定値「500」を
越えたので、その時の値「0」が固定される。実際に
は、ビット5以外の各ビットも同時に重みの合計が計算
されているが、他のビットは図4の(A)の例ではもっ
と早く(3回目のスキャンにて)固定されることは言う
までもない。
【0034】なお、こ実施例では、規定値「500」を
越えるまでスキャンAから繰り返しているが、図6の
(B)に示すように、メモリ7に記憶された値を繰り返
し用いることで、実際のスキャンに代えても良いことは
勿論である。
【0035】また、図3の(A)に示したようにスポッ
トやボイド等のないバーコードシンボルの場合つまり読
み取り条件の良い場合には、図6の(C)に示すよう
に、このビット5も他のビット同様3回目のスキャンで
値「0」が固定され、従来のように読み取り条件の悪い
場合と同じ読み取り回数だけ繰り返すことなく、短時間
でバーコードシンボルの情報を読み取ることができるよ
うになる。
【0036】さらには、規定値を更に低い値、例えば
「400」に設定すれば、読み取り条件が良い場合に
は、スキャンA,スキャンBの2回にてビットの値を固
定することができるのでバーコードシンボル情報を非常
に短時間で読み取ることができる。
【0037】図7は、スキャンEから逆にスキャンされ
た場合である。1回目のスキャンEでは値「1」と重み
「100」(図5参照)が図1の判断回路8に入力され
る。その結果、判定値は「1」、重み合計は「100」
となる。2回目のスキャンDでも値「1」と重み「10
0」が入力されるので、判定値は変化せず重み合計は
「100」+「100」=「200」となる。3回目の
スキャンCでも値「1」と重み「100」が入力される
ので、判定値は変化せず重み合計は「200」+「10
0」=「300」となる。次のスキャンBでは、値
「0」と重み「225」(図5参照)が入力される。従
って、重み合計は「300」−「225」=「75」と
なるが判定値は変化しない。次のスキャンAでは、値
「0」と重み「225」が入力される。従って、重み合
計は「75」−「225」=「−150」となるので、
重み合計は絶対値が取られ「150」となり、更に判定
値は「0」と変化する。以下同様にスキャンE(実際に
は、スキャンE’)から繰り返され、20回目のスキャ
ンにて重み合計が「600」となり、規定値「500」
を越えたので、その時の値「0」が固定される。実際に
は、ビット5以外の各ビットも同時に重みの合計が計算
されているが、他のビットは図4の(A)の例ではもっ
と早く(3回目のスキャンにて)固定されることは言う
までもない。
【0038】このように、スキャンEから逆にスキャン
された場合は、スキャン回数が20回と多くなるが、読
み取り条件が悪い場合にも間違った値が固定されてしま
うことは妨げるのでその効果は大きい。また、このスキ
ャン回数20回という回数は、秒当り数百回もスキャン
されることを考えれば、それほど大きな回数ではない。
勿論、このようにスキャンEから逆にスキャンする場合
も、スキャンを繰り返すのではなく、メモリ7に格納さ
れた値を用いることができる。
【0039】このように図6及び図7に示したような実
施例では、バーコードシンボルの読み取り信号を2値化
する時の閾値を2種類以上設定し、設定された2種類以
上の閾値にてバーコードシンボルの読み取り信号を2値
化し、その2値化した時の読み取りデータを比較し、比
較された読み取りデータ毎にある重み付けを行ない、読
み取りデータに付加された重み付けにて正しいデータを
判断するようにしたので、読み取りデータの各ビット
が、シンボルラベルの黒バー、白バーの境界がはっきり
していない、照明光が十分な明るさを有していない等に
より、どちらかと言えば「1」(又は「0」)だろうと
判断できる場合には、読み取り回数を多くして確実に正
しいバーコードシンボルを読み取ることができるし、
「1」(又は「0」)の判断を間違えてしまうことも妨
げる。また、読み取りデータの各ビッドが、シンボルラ
ベルの黒バー、白バーの境界がはっきりしている、照明
光が十分な明るさを有している、等により、確実に
「1」(又は「0」)と判断できる場合には、読み取り
回数が少なくても正しいバーコードシンボル情報を読み
取ることができる。
【0040】なお、これら図6及び図7の実施例は、う
まく値が固定できた場合であるが、何回繰り返しても規
定値(例えば「500」)を越えない場合が考えられ
る。そのため、所定回数、例えば100回繰り返しても
規定値を越えない場合には、逆方向のスキャンによる重
み合計を計算したり、両方向からの重み合計を所定回数
繰り返しても規定値を越えない場合にはエラー出力をす
る等のなんらかの手段を採用しておく必要がある。ま
た、このように方向を変えてスキャンしなおしてみると
いう場合には、たとえ値が固定できたとしても、実際に
は間違った値に固定されてしまうようなことも起こり得
るが、バーコードシンボルのチェックサム等のチェック
により、その間違いを発見することは可能である。
【0041】また、これらの図6及び図7の実施例で
も、重み値として上記第1の実施例と同様に閾値そのも
のの値を採用したが、それ以外の値でも同様にして正し
いビットの値を判定することができる。
【0042】ここまでは、各ビットの値を固定すること
を述べてきたが、本発明は、キャラクタ単位にまで議論
を拡張することができる。すなわち、各キャラクタを構
成する7ビットの各値が異なる閾値にて全て同じ結果と
判断されたときには、7ビットのビット列「11010
00」に対応するキャラクタ(ここでは仮に値「9」と
する)の重みが「225」であると判断(図4の(E)
参照)し、また各キャラクタを構成する7ビットの値の
内どれか1ビットが異なる閾値にて異なる結果と判断さ
れたときには、7ビットのビット列「1101100」
に対応するキャラクタ(ここでは仮に値「2」とする)
の重みが「100」であると判断(図4の(L)参照)
するようにする。このように考えれば、前述したのと同
じ議論によって図4の(A)に示すようなバーコードシ
ンボルの1キャラクタ目を値「9」と判断することがで
きる。
【0043】なお、各キャラクタを構成する7ビットの
値の内どれか2以上ビットが異なる閾値にて異なる結果
と判断されたときには、その7ビットのビット列に対応
するキャラクタの重みを、1ビット異なるときと同様に
「100」としても良いし、あるいはその異なるビット
の数によって重みを順次減らすように設定するようにし
ても良い。
【0044】また、ここまでの実施例では、2値化回路
が2個あり、各回路に対応した2個の閾値が設けられて
いる。しかし、この例に限ることなく、2値化回路及び
閾値の数は3個以上であっても良い。この場合、より精
度の高い判断が可能である。なお、各2値化回路で得ら
れたビットの値が一致しない場合は、最も低い閾値で2
値化された値を選ぶようにし、重み値も入力信号がどの
レベルの閾値まで越えているかにより決定すれば良い。
【0045】以上、JAN/UPC/EANコードのよ
うにバーコードシンボルの各黒バー,白バーが1から4
の長さを有するいわゆるマルチレベルバーコードシンボ
ルに関して述べてきたが、ITF(Interleaved 2 of
5)コードのようにバーコードシンボルの太い黒バー/
太い白バーが「1」、細い黒バー/細い白バーが「0」
を表すいわゆる2値レベルバーコードシンボルに関して
も同様に考えられるし、また情報量の多い、記録密度の
高い2次元バーコードシンボルである、CODE16
K,CODE49,PDF417,等に関しても本発明
を適用することにより、確実にバーコードシンボルを読
み取ることができるバーコードシンボル読取装置を構成
することができるのは言うまでもない。
【0046】
【発明の効果】以上詳述したように、本発明によれば、
正確にバーコードシンボル情報を判断でき、また読み取
り条件が良い場合には読み取り回数を少なくすることが
できるバーコードシンボル読取装置を提供することがで
きる。
【図面の簡単な説明】
【図1】第1の実施例のブロック構成図である。
【図2】図1中の2値化部のブロック構成図である。
【図3】(A)乃至(F)はそれぞれ図2の2値化部の
動作を説明するための図で、(A)はバーコードシンボ
ル、(B)は2値化回路への入力信号と閾値、(C)は
2値化結果、(D)は基準クロック、(E)はパルス幅
計数回路での計数結果、(F)は「1」及び「0」判定
回路の判定結果を示している。
【図4】(A)はスポットがある場合のバーコードシン
ボルを示す図であり、(B)乃至(E)はそれぞれ
(A)中のスキャンA及びBに於ける図2の2値化部の
動作を説明するための図、(F)乃至(L)はそれぞれ
(A)中のスキャンC乃至Eに於ける図2の2値化部の
動作を説明するための図であって、(B)は2値化部
“A”及び“B”のそれぞれの2値化回路への入力信号
と閾値、(C)は2値化結果、(D)はパルス幅計数回
路での計数結果、(E)は「1」及び「0」判定回路の
判定結果、(F)は2値化部“A”及び“B”のそれぞ
れの2値化回路への入力信号と閾値、(G)は2値化部
“A”の2値化回路の2値化結果、(H)はパルス幅計
数回路での計数結果、(I)は「1」及び「0」判定回
路の判定結果、(J)は2値化部“B”の2値化回路の
2値化結果、(K)はパルス幅計数回路での計数結果、
(L)は「1」及び「0」判定回路の判定結果を示して
いる。
【図5】図1中のメモリに格納される重み付け回路の出
力を示すテーブルである。
【図6】(A)乃至(C)はそれぞれ本発明の他の実施
例に於ける判断回路の動作を説明するためのテーブルで
ある。
【図7】図6の(A)とは逆方向からスキャンした場合
に於ける判断回路の動作を説明するための図である。
【符号の説明】
1…バーコードシンボル、2…受光回路、3…2値化部
“A”、4…2値化部“B”、5…比較回路、6…重み
付け回路、7…メモリ、8…判断回路、9…CPU、3
1…2値回路、32…スライスレベルレジスタ、33…
パルス幅係数回路、34…「1」及び「0」判定回路。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 バーコードシンボルを読み取って読み取
    り信号を出力する読み取り手段と、 前記バーコードシンボルの読み取り信号を2値化する時
    の閾値を2種類以上設定する閾値設定手段と、 前記設定された2種類以上の閾値にて前記バーコードシ
    ンボルの読み取り信号を2値化し、2値化された2種類
    以上の読み取りデータを出力する2値化手段と、 前記2種類以上の読み取りデータ同士が一致するかどう
    かを比較し、その結果に基づいて前記2種類以上の読み
    取りデータのひとつを選択する比較手段と、 前記比較手段の比較結果に応じて大きさの異なる数値
    を、前記比較手段で選択された読み取りデータの重みの
    値として設定する重み付け手段と、 前記バーコードシンボルの複数回の読み取りにより得ら
    れた複数の選択された読み取りデータと重みの値とから
    正しい読み取りデータを判断する判断手段と、 を具備することを特徴とするバーコードシンボル読取装
    置。
  2. 【請求項2】 前記判断手段は、前記重みの値の多数決
    をとり、最も多い重みの値の選択されている読み取りデ
    ータを正しい読み取りデータとする多数決手段を有する
    ことを特徴とする請求項1に記載のバーコードシンボル
    読取装置。
  3. 【請求項3】 前記判断手段は、前記重みの値に順次算
    術的演算を施す手段と、前記算術的演算を施された値が
    予め決められた値に到達したかどうかを判断し、予め決
    められた値に到達したときの読み取りデータを正しい読
    み取りデータとする手段とから構成されることを特徴と
    する請求項1に記載のバーコードシンボル読取装置。
  4. 【請求項4】 前記重み付け手段は、前記比較手段の比
    較結果が前記2種類以上の読み取りデータが全て同じデ
    ータであることを示す場合には、前記2種類以上の閾値
    の内の最も高い閾値に相当する数値を前記重みの値とし
    て設定し、前記比較結果が前記2種類以上の前記読み取
    りデータが異なるということを示す場合には、前記最も
    高い閾値よりも低い閾値に相当する数値を前記重みの値
    として設定する手段を有することを特徴とする請求項1
    に記載のバーコードシンボル読取装置。
  5. 【請求項5】 前記比較手段は、前記2種類以上の読み
    取りデータ同士が一致するかどうかを比較し、全てが同
    じデータである場合はその読み取りデータを選択し、全
    てが同じデータでない場合は最も低い閾値にて2値化さ
    れた読み取りデータを選択することを特徴とする請求項
    1に記載のバーコードシンボル読取装置。
JP3245945A 1991-09-25 1991-09-25 バーコードシンボル読取装置 Expired - Fee Related JP2971636B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3245945A JP2971636B2 (ja) 1991-09-25 1991-09-25 バーコードシンボル読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3245945A JP2971636B2 (ja) 1991-09-25 1991-09-25 バーコードシンボル読取装置

Publications (2)

Publication Number Publication Date
JPH0589278A true JPH0589278A (ja) 1993-04-09
JP2971636B2 JP2971636B2 (ja) 1999-11-08

Family

ID=17141196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3245945A Expired - Fee Related JP2971636B2 (ja) 1991-09-25 1991-09-25 バーコードシンボル読取装置

Country Status (1)

Country Link
JP (1) JP2971636B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541236A (ja) * 2005-05-05 2008-11-20 株式会社オプトエレクトロニクス バーコード検知方法及び装置
US9536125B2 (en) 2014-10-06 2017-01-03 Fujitsu Limited Data determination device, library device, and data determination method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541236A (ja) * 2005-05-05 2008-11-20 株式会社オプトエレクトロニクス バーコード検知方法及び装置
US9536125B2 (en) 2014-10-06 2017-01-03 Fujitsu Limited Data determination device, library device, and data determination method

Also Published As

Publication number Publication date
JP2971636B2 (ja) 1999-11-08

Similar Documents

Publication Publication Date Title
EP0754328B1 (en) Method and apparatus for decoding bar code images using information from previous scan lines
CA2255576C (en) High speed image acquisition system and method
EP0498678B1 (en) High speed scan bar code reader which can read more than one type of bar code
EP0754327B1 (en) Method and apparatus for decoding bar code images using multi-order feature vectors
US6547142B1 (en) Method of scanning indicia using selective sampling
US10509933B2 (en) Method and apparatus for optically reading out information stored in a barcode
EP0390162A2 (en) An apparatus for reading a bar code
CA2267892C (en) Method and apparatus for decoding bar code symbols using ratio analysis of module size
US5942740A (en) Method and apparatus for reading bar codes
JP2000357205A (ja) バーコード読取装置及びバーコード読取方法
US5189289A (en) Distinguishing bar code types by comparing bar block sizes
JP2500859B2 (ja) バ−コ−ド読取装置
EP1450291B1 (en) Bar code reader using a maximum likelihood method
JP2971636B2 (ja) バーコードシンボル読取装置
US5637853A (en) Reading indicia by analysis of different light reflecting portions based on signal-to-noise ratios
US5196685A (en) Bar code reader
EP0895175B1 (en) Process for scanning a bar-code
JPH05165994A (ja) バーコードシンボル読取装置
JP4641315B2 (ja) 複数の走査ラインを用いてバーコードシンボル等を復号する方法
JPH0981660A (ja) バーコード読取装置及びバーコード読取方法
JP2949958B2 (ja) バーコード読取装置
JPH08235300A (ja) バーコード読取装置
GB2292241A (en) Reading bar-codes
JPH0785202A (ja) 通帳類バーコード読取装置
JPH05324879A (ja) バーコードのコード種判別方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990727

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees