JPH09179927A - バーコード読取装置 - Google Patents
バーコード読取装置Info
- Publication number
- JPH09179927A JPH09179927A JP7339478A JP33947895A JPH09179927A JP H09179927 A JPH09179927 A JP H09179927A JP 7339478 A JP7339478 A JP 7339478A JP 33947895 A JP33947895 A JP 33947895A JP H09179927 A JPH09179927 A JP H09179927A
- Authority
- JP
- Japan
- Prior art keywords
- code
- bar
- demodulation
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
(57)【要約】
【課題】コード体系の異なる複数種類のバーコードを並
べてなるクーポンコードを読み取る際に、全体としての
復調時間を短くすることができるバーコード読取装置を
提供する。 【解決手段】復調データ格納バッファ7には、走査光学
系14によってクーポンコードを走査して得られたバー
幅データ群が格納される。CPU1は、これらバー幅デ
ータ群に対して、最初に、WPCコード体系による復調
アルゴリズムに従った復調処理を実行する。この復調処
理によって復調された復調データにWPCコードのエン
ドガードバー(RGB)が含まれていた場合には、同じ
バー幅データ群に対して、CODE128コード体系に
よる復調アルゴリズムに従った復調処理を実行する。
べてなるクーポンコードを読み取る際に、全体としての
復調時間を短くすることができるバーコード読取装置を
提供する。 【解決手段】復調データ格納バッファ7には、走査光学
系14によってクーポンコードを走査して得られたバー
幅データ群が格納される。CPU1は、これらバー幅デ
ータ群に対して、最初に、WPCコード体系による復調
アルゴリズムに従った復調処理を実行する。この復調処
理によって復調された復調データにWPCコードのエン
ドガードバー(RGB)が含まれていた場合には、同じ
バー幅データ群に対して、CODE128コード体系に
よる復調アルゴリズムに従った復調処理を実行する。
Description
【0001】
【発明の属する技術分野】本発明は、両端が固定パター
ンの識別バーによって囲まれたデータキャラクタのブロ
ックからなるバーコードの読取装置に関し、特に、コー
ド体系の異なった二組のバーコードの組み合わせから構
成されるクーポンコードを読み取るためのバーコード読
取装置に関する。
ンの識別バーによって囲まれたデータキャラクタのブロ
ックからなるバーコードの読取装置に関し、特に、コー
ド体系の異なった二組のバーコードの組み合わせから構
成されるクーポンコードを読み取るためのバーコード読
取装置に関する。
【0002】
【従来の技術】近年、流通業等におけるPOSシステム
に代表されるように、商品等の管理をバーコードによっ
て行うことが一般化している。例えば、商店のPOSシ
ステムでは、商品の種類や販売価格等の情報をバーコー
ドのフォーマットにコード化して商品に印刷しておく。
そして、レジにてこのバーコードを読み取ることによっ
て、精算を行うとともに、商品の売り上げ数をリアルタ
イムで集計し、在庫管理や仕入れ管理に役立てるように
している。
に代表されるように、商品等の管理をバーコードによっ
て行うことが一般化している。例えば、商店のPOSシ
ステムでは、商品の種類や販売価格等の情報をバーコー
ドのフォーマットにコード化して商品に印刷しておく。
そして、レジにてこのバーコードを読み取ることによっ
て、精算を行うとともに、商品の売り上げ数をリアルタ
イムで集計し、在庫管理や仕入れ管理に役立てるように
している。
【0003】ところで、このようなバーコードは、WP
Cコード,JANコード,UPCコード,EANコード
等の固定長コードと、ITF(Interleaved Two of Fiv
e)コード,CODE39,NW7,CODE128等
の可変長コードに大別される。固定長コードとしてのW
PCコードの構造及び可変長コードとしてのCODE1
28の構造を、図21に示す。この図21に示されるよ
うに、WPCコードは、左端に付加されるスタートガー
ドバー(LGB),中間部に挿入されるセンターバー
(CB),及び、右端に付加されるエンドガードバー
(RGB)を有し、スタートガードバーとセンターバー
との間に6キャラクタのデータキャラクタからなる左ブ
ロックを格納し、センターバーとエンドガードバーとの
間に6キャラクタのデータキャラクタからなる右ブロッ
クを格納している。これら各ガードバー及びセンターバ
ーは、予めWPCコード体系によってそのパターンが固
定的に定められている。従って、バーコード読取装置
は、これらガードバー及びセンターバーを識別し、この
バーコードがWPCコードであると認識することができ
る。また、CODE128バーコードは、左端に付加さ
れるスタートコード,及び、右端に付加されるストップ
コードを有し、スタートコードとストップコードとの間
に可変長のデータキャラクタを格納している。これらス
タートコード及びストップコードは、予めCODE12
8コード体系によってそのパターンが固定的に定められ
ている。従って、バーコード読取装置は、これらスター
トコード及びストップコードを識別し、このバーコード
がCODE128バーコードであると認識することがで
きる。
Cコード,JANコード,UPCコード,EANコード
等の固定長コードと、ITF(Interleaved Two of Fiv
e)コード,CODE39,NW7,CODE128等
の可変長コードに大別される。固定長コードとしてのW
PCコードの構造及び可変長コードとしてのCODE1
28の構造を、図21に示す。この図21に示されるよ
うに、WPCコードは、左端に付加されるスタートガー
ドバー(LGB),中間部に挿入されるセンターバー
(CB),及び、右端に付加されるエンドガードバー
(RGB)を有し、スタートガードバーとセンターバー
との間に6キャラクタのデータキャラクタからなる左ブ
ロックを格納し、センターバーとエンドガードバーとの
間に6キャラクタのデータキャラクタからなる右ブロッ
クを格納している。これら各ガードバー及びセンターバ
ーは、予めWPCコード体系によってそのパターンが固
定的に定められている。従って、バーコード読取装置
は、これらガードバー及びセンターバーを識別し、この
バーコードがWPCコードであると認識することができ
る。また、CODE128バーコードは、左端に付加さ
れるスタートコード,及び、右端に付加されるストップ
コードを有し、スタートコードとストップコードとの間
に可変長のデータキャラクタを格納している。これらス
タートコード及びストップコードは、予めCODE12
8コード体系によってそのパターンが固定的に定められ
ている。従って、バーコード読取装置は、これらスター
トコード及びストップコードを識別し、このバーコード
がCODE128バーコードであると認識することがで
きる。
【0004】上記したように、固定長コードのデータキ
ャラクタの数には制限があるので、コード化できる情報
量に限りがある。そのため、固定長コードに補足コード
としての可変長コードを付加することによりコード化す
る情報量を増加させたクーポンコードが用いられてい
る。図21は、WPCコードをファーストコード(左側
のバーコード)とするとともにCODE128バーコー
ドをセカンドコード(右側のバーコード)としたクーポ
ンコードの例を示している。以下、このような構成のク
ーポンコードを例に用いて、説明を行う。
ャラクタの数には制限があるので、コード化できる情報
量に限りがある。そのため、固定長コードに補足コード
としての可変長コードを付加することによりコード化す
る情報量を増加させたクーポンコードが用いられてい
る。図21は、WPCコードをファーストコード(左側
のバーコード)とするとともにCODE128バーコー
ドをセカンドコード(右側のバーコード)としたクーポ
ンコードの例を示している。以下、このような構成のク
ーポンコードを例に用いて、説明を行う。
【0005】従来のバーコード読取装置は、このような
クーポンコードを読み取る際には、図21に示すよう
に、少なくとも2回のバーコード走査を必要としてい
た。即ち、最初のバーコード走査()によって得られ
たバー幅データ(バーコードの明暗を光電的に読み取っ
て得られた電気情報)を、WPCコード体系に従った復
調アルゴリズムにより復調し、次のバーコード走査
()によって得られたバー幅データを、CODE12
8コード体系に従った復調アルゴリズムにより復調する
ようにしていたからである。そして、このようなWPC
コード体系による復調を行うためのバーコード走査とC
ODE128コード体系による復調を行うためのバーコ
ード走査とを繰り返し行い、WPCコード全体の復調が
完了するとともにCODE128バーコード全体の復調
が完了した後で、両バーコードの復調データを結合し、
クーポンコードに対応した復調データを再現していた。
クーポンコードを読み取る際には、図21に示すよう
に、少なくとも2回のバーコード走査を必要としてい
た。即ち、最初のバーコード走査()によって得られ
たバー幅データ(バーコードの明暗を光電的に読み取っ
て得られた電気情報)を、WPCコード体系に従った復
調アルゴリズムにより復調し、次のバーコード走査
()によって得られたバー幅データを、CODE12
8コード体系に従った復調アルゴリズムにより復調する
ようにしていたからである。そして、このようなWPC
コード体系による復調を行うためのバーコード走査とC
ODE128コード体系による復調を行うためのバーコ
ード走査とを繰り返し行い、WPCコード全体の復調が
完了するとともにCODE128バーコード全体の復調
が完了した後で、両バーコードの復調データを結合し、
クーポンコードに対応した復調データを再現していた。
【0006】
【発明が解決しようとする課題】しかしながら、上記し
た従来のクーポンコードの読み取り方式においては、一
回のバーコード走査毎に、バーコード復調のアルゴリズ
ムをシリアルに切り替えるようにしていたので、全体と
しての処理時間が掛かりすぎるという問題があった。
た従来のクーポンコードの読み取り方式においては、一
回のバーコード走査毎に、バーコード復調のアルゴリズ
ムをシリアルに切り替えるようにしていたので、全体と
しての処理時間が掛かりすぎるという問題があった。
【0007】即ち、WPCコード体系による復調アルゴ
リズムが実行される場合には、その回のバーコード走査
によって得られたバー幅データに対しては、WPCコー
ド体系による復調アルゴリズムのみが実行される。従っ
て、仮令、その回のバーコード走査の走査軌跡がセカン
ドコード上を通ったため、読み取られたバー幅データに
セカンドコードの読み取りデータが含まれていたとして
も、セカンドコードが復調されることはなく、単に、ノ
イズとしてのみ認識される。同様に、CODE128コ
ード体系による復調アルゴリズムが実行される場合に
は、その回のバーコード走査によって得られたバー幅デ
ータに対しては、CODE128コード体系による復調
アルゴリズムのみが実行される。従って、仮令、その回
のバーコード走査の走査軌跡がWPCコード上を通った
ため、読み取られたバー幅データにWPCコードの読み
取りデータが含まれていたとしても、WPCコードが復
調されることはなく、単に、ノイズとしてのみ認識され
る。
リズムが実行される場合には、その回のバーコード走査
によって得られたバー幅データに対しては、WPCコー
ド体系による復調アルゴリズムのみが実行される。従っ
て、仮令、その回のバーコード走査の走査軌跡がセカン
ドコード上を通ったため、読み取られたバー幅データに
セカンドコードの読み取りデータが含まれていたとして
も、セカンドコードが復調されることはなく、単に、ノ
イズとしてのみ認識される。同様に、CODE128コ
ード体系による復調アルゴリズムが実行される場合に
は、その回のバーコード走査によって得られたバー幅デ
ータに対しては、CODE128コード体系による復調
アルゴリズムのみが実行される。従って、仮令、その回
のバーコード走査の走査軌跡がWPCコード上を通った
ため、読み取られたバー幅データにWPCコードの読み
取りデータが含まれていたとしても、WPCコードが復
調されることはなく、単に、ノイズとしてのみ認識され
る。
【0008】このように、折角何れかのバーコードが走
査されてバー幅データ群が得られたとしても、そのバー
コードのコード体系とその回に実行される復調アルゴリ
ズムのコード体系とが合致していなければ、そのバー幅
データ群は復調されることなく廃棄されてしまう。ま
た、この回に実行された復調処理は、全く無駄になって
しまう。このように復調処理が無駄になる期間が理論上
全復調処理期間の半分を占めてしまうので、従来のバー
コード読み取り方式は、全体としての処理時間が長くな
っていたのである。
査されてバー幅データ群が得られたとしても、そのバー
コードのコード体系とその回に実行される復調アルゴリ
ズムのコード体系とが合致していなければ、そのバー幅
データ群は復調されることなく廃棄されてしまう。ま
た、この回に実行された復調処理は、全く無駄になって
しまう。このように復調処理が無駄になる期間が理論上
全復調処理期間の半分を占めてしまうので、従来のバー
コード読み取り方式は、全体としての処理時間が長くな
っていたのである。
【0009】特に、セカンドコードは、一般的に、その
幅が狭いトランケートラベルである。従って、例えば固
定式の走査装置によってバーコード上を種々の方向に走
査して得られるバー幅データ群の中でも、スタートコー
ド及びストップコードを共に含むバー幅データ群は極端
に少ない。従って、元々得られる確率が低いセカンドコ
ード全体に対応したバー幅データ群が無駄になってしま
うと、全体としての処理時間が更に長くなってしまうの
である。
幅が狭いトランケートラベルである。従って、例えば固
定式の走査装置によってバーコード上を種々の方向に走
査して得られるバー幅データ群の中でも、スタートコー
ド及びストップコードを共に含むバー幅データ群は極端
に少ない。従って、元々得られる確率が低いセカンドコ
ード全体に対応したバー幅データ群が無駄になってしま
うと、全体としての処理時間が更に長くなってしまうの
である。
【0010】本発明は、従来における以上の問題点に鑑
みてなされたものであり、コード体系の異なる複数種類
のバーコードを並べてなるクーポンコードを読み取る際
に、復調処理を効率良く行い、全体としての復調時間を
短くすることができるバーコード読取装置を提供するこ
とを、課題とする。
みてなされたものであり、コード体系の異なる複数種類
のバーコードを並べてなるクーポンコードを読み取る際
に、復調処理を効率良く行い、全体としての復調時間を
短くすることができるバーコード読取装置を提供するこ
とを、課題とする。
【0011】
【課題を解決するための手段】本発明によるバーコード
読取装置は、クーポンコードを構成する一方のバーコー
ドの端部に付された固定パターンの識別バーを検出した
場合にはこの識別バーに隣接する他方のバーコードを検
出できる可能性が高いことに、着目してなされたもので
ある。
読取装置は、クーポンコードを構成する一方のバーコー
ドの端部に付された固定パターンの識別バーを検出した
場合にはこの識別バーに隣接する他方のバーコードを検
出できる可能性が高いことに、着目してなされたもので
ある。
【0012】そのため、請求項1によるバーコード読取
装置は、図1(a)の原理図に示した通り、第1のコー
ド体系によるデータを固定パターンの識別バーによって
囲んでなる第1のバーコード(103)と第2のコード
体系によるデータを固定パターンの識別バーによって囲
んでなる第2のバーコード(104)とを一方向に並べ
て構成したコードを読み取るバーコード読取装置であっ
て、被走査面上の走査軌跡における明暗パターンを検出
する走査手段(100)と、前記第2のバーコードに隣
接する側に配設された前記第1のバーコードの識別バー
(103a)に対応するパターンを、前記走査手段(1
00)によって検出された明暗パターンから検出する第
1バーコード識別バー検出手段(101)と、前記走査
手段(100)によって検出された明暗パターンを前記
第1のコード体系に従って復調するとともに、前記第1
バーコード識別バー検出手段(101)によって前記識
別バーに対応するパターンが検出された場合には、この
明暗パターンを前記第2のコード体系に従って復調する
復調手段(102)とを備えたことを特徴とする。
装置は、図1(a)の原理図に示した通り、第1のコー
ド体系によるデータを固定パターンの識別バーによって
囲んでなる第1のバーコード(103)と第2のコード
体系によるデータを固定パターンの識別バーによって囲
んでなる第2のバーコード(104)とを一方向に並べ
て構成したコードを読み取るバーコード読取装置であっ
て、被走査面上の走査軌跡における明暗パターンを検出
する走査手段(100)と、前記第2のバーコードに隣
接する側に配設された前記第1のバーコードの識別バー
(103a)に対応するパターンを、前記走査手段(1
00)によって検出された明暗パターンから検出する第
1バーコード識別バー検出手段(101)と、前記走査
手段(100)によって検出された明暗パターンを前記
第1のコード体系に従って復調するとともに、前記第1
バーコード識別バー検出手段(101)によって前記識
別バーに対応するパターンが検出された場合には、この
明暗パターンを前記第2のコード体系に従って復調する
復調手段(102)とを備えたことを特徴とする。
【0013】請求項1によるバーコード読取装置による
と、走査手段(100)は、被走査面上の走査軌跡にお
ける明暗パターンを検出する。第1バーコード識別バー
検出手段(101)は、この走査手段(100)によっ
て検出された明暗パターンの中から、前記第2のバーコ
ードに隣接する側に配設された前記第1のバーコードの
識別バー(103a)に対応するパターンを検出する。
復調手段(102)は、前記走査手段(100)によっ
て検出された明暗パターンを前記第1のコード体系に従
って復調する。この復調の結果、第1のバーコード(1
03)にコード化されいたデータが得られる。また、前
記第1バーコード識別バー検出手段(101)によって
前記識別バーに対応するパターンが検出された場合に
は、復調手段(102)は、復調アルゴリズムを第2の
コード体系に切り替えて、明暗パターンを復調する。こ
の結果、同じ明暗パターンに基づいて、第2のバーコー
ド(104)にコード化されていたデータが得られる。
と、走査手段(100)は、被走査面上の走査軌跡にお
ける明暗パターンを検出する。第1バーコード識別バー
検出手段(101)は、この走査手段(100)によっ
て検出された明暗パターンの中から、前記第2のバーコ
ードに隣接する側に配設された前記第1のバーコードの
識別バー(103a)に対応するパターンを検出する。
復調手段(102)は、前記走査手段(100)によっ
て検出された明暗パターンを前記第1のコード体系に従
って復調する。この復調の結果、第1のバーコード(1
03)にコード化されいたデータが得られる。また、前
記第1バーコード識別バー検出手段(101)によって
前記識別バーに対応するパターンが検出された場合に
は、復調手段(102)は、復調アルゴリズムを第2の
コード体系に切り替えて、明暗パターンを復調する。こ
の結果、同じ明暗パターンに基づいて、第2のバーコー
ド(104)にコード化されていたデータが得られる。
【0014】また、請求項7によるバーコード読取装置
は、図1(b)の原理図に示した通り、第1のコード体
系によるデータを固定パターンの識別バーによって囲ん
でなる第1のバーコード(113)と第2のコード体系
によるデータを固定パターンの識別バーによって囲んで
なる第2のバーコード(114)とを一方向に並べて構
成したコードを読み取るバーコード読取装置であって、
被走査面上の走査軌跡における明暗パターンを検出する
走査手段(110)と、前記コードの外端に位置する前
記第1のバーコードの識別バー(113a)に対応する
パターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンを、前記走査手段(110)に
よって検出された明暗パターンから夫々検出する識別バ
ー検出手段(111)と、前記識別バー検出手段(11
1)によって前記第1のバーコードの識別バー(113
a)に対応するパターン及び前記第2のバーコードの識
別バー(114a)に対応するパターンが検出された場
合には、前記走査手段(110)によって検出された明
暗パターンを前記第1のコード体系に従って復調した後
に前記第2のコード体系に従って復調する復調手段(1
12)とを備えたことを特徴とする。
は、図1(b)の原理図に示した通り、第1のコード体
系によるデータを固定パターンの識別バーによって囲ん
でなる第1のバーコード(113)と第2のコード体系
によるデータを固定パターンの識別バーによって囲んで
なる第2のバーコード(114)とを一方向に並べて構
成したコードを読み取るバーコード読取装置であって、
被走査面上の走査軌跡における明暗パターンを検出する
走査手段(110)と、前記コードの外端に位置する前
記第1のバーコードの識別バー(113a)に対応する
パターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンを、前記走査手段(110)に
よって検出された明暗パターンから夫々検出する識別バ
ー検出手段(111)と、前記識別バー検出手段(11
1)によって前記第1のバーコードの識別バー(113
a)に対応するパターン及び前記第2のバーコードの識
別バー(114a)に対応するパターンが検出された場
合には、前記走査手段(110)によって検出された明
暗パターンを前記第1のコード体系に従って復調した後
に前記第2のコード体系に従って復調する復調手段(1
12)とを備えたことを特徴とする。
【0015】請求項7によるバーコード読取装置による
と、走査手段(110)は、被走査面上の走査軌跡にお
ける明暗パターンを検出する。識別バー検出手段(11
1)は、前記走査手段(110)によって検出された明
暗パターンの中から、前記コードの外端に位置する前記
第1のバーコードの識別バー(113a)に対応するパ
ターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンを読み出す。復調手段(11
2)は、前記識別バー検出手段(111)によって前記
第1のバーコードの識別バー(113a)に対応するパ
ターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンが検出された場合には、前記走
査手段(110)によって検出された明暗パターンを前
記第1のコード体系に従って復調し、この復調後、直ち
に復調アルゴリズムを第2のコード体系に切り替え、同
じ明暗パターンを前記第2のコード体系に従って復調す
る。この結果、第1のバーコード(113)にコード化
されていたデータ及び第2のバーコード(114)にコ
ード化されていたデータが、同じ明暗パターンに基づい
て一度に得られる。
と、走査手段(110)は、被走査面上の走査軌跡にお
ける明暗パターンを検出する。識別バー検出手段(11
1)は、前記走査手段(110)によって検出された明
暗パターンの中から、前記コードの外端に位置する前記
第1のバーコードの識別バー(113a)に対応するパ
ターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンを読み出す。復調手段(11
2)は、前記識別バー検出手段(111)によって前記
第1のバーコードの識別バー(113a)に対応するパ
ターン及び前記第2のバーコードの識別バー(114
a)に対応するパターンが検出された場合には、前記走
査手段(110)によって検出された明暗パターンを前
記第1のコード体系に従って復調し、この復調後、直ち
に復調アルゴリズムを第2のコード体系に切り替え、同
じ明暗パターンを前記第2のコード体系に従って復調す
る。この結果、第1のバーコード(113)にコード化
されていたデータ及び第2のバーコード(114)にコ
ード化されていたデータが、同じ明暗パターンに基づい
て一度に得られる。
【0016】以下、本発明の構成要件を説明する。 (バーコード)各バーコードに含まれる識別バーは2本
のみであっても良いし、識別バーが3本であるとともに
各識別バーの間に夫々データキャラクタを挟んでいても
良い。前者の例としては、例えば、ITFコード,NW
−7,CODE39,CODE128,等の可変長コー
ドが挙げられる。また、後者の例としては、例えば、W
PCコード,JANコード,EANコード,等の固定長
コードが挙げられる。これらを組み合わせてなるコード
としては、これら複数種類のうちの任意のものの組み合
わせとすることができる。例えば、第1のバーコードを
WPCコードとするとともに、第2のバーコードをCO
DE128バーコードとすることができる。 (走査手段)走査手段は、繰り返し走査を行うが、この
走査は、走査光学系を用いた光学的走査とすることがで
きる。また、この走査手段は、各回の走査が夫々異なっ
た方向に向けて行われるように構成されていることが望
ましい。なお、走査手段による走査の方向は任意であ
り、第1のバーコード側から走査を開始しても良いし、
第2のバーコード側から走査を開始しても良い。 (復調手段)復調手段は、第1のバーコード又は第2の
バーコードを一挙に復調しても良いし、夫々のバーコー
ドを部分的に走査して得られた明暗パターンを各々復調
した後で、これら復調されたデータを一つのデータとし
て合成しても良い。復調手段は、この合成のためには、
各バーコードの識別コードに所定幅のマージンが付随し
ていることを条件としても良い。但し、クーポンコード
の両側に位置する識別コードに付随するマージンが共に
所定幅よりも狭い場合には、光学的ノイズが生じている
ことに依るものと考えられるので、この場合にも合成を
行うように構成しても良い。
のみであっても良いし、識別バーが3本であるとともに
各識別バーの間に夫々データキャラクタを挟んでいても
良い。前者の例としては、例えば、ITFコード,NW
−7,CODE39,CODE128,等の可変長コー
ドが挙げられる。また、後者の例としては、例えば、W
PCコード,JANコード,EANコード,等の固定長
コードが挙げられる。これらを組み合わせてなるコード
としては、これら複数種類のうちの任意のものの組み合
わせとすることができる。例えば、第1のバーコードを
WPCコードとするとともに、第2のバーコードをCO
DE128バーコードとすることができる。 (走査手段)走査手段は、繰り返し走査を行うが、この
走査は、走査光学系を用いた光学的走査とすることがで
きる。また、この走査手段は、各回の走査が夫々異なっ
た方向に向けて行われるように構成されていることが望
ましい。なお、走査手段による走査の方向は任意であ
り、第1のバーコード側から走査を開始しても良いし、
第2のバーコード側から走査を開始しても良い。 (復調手段)復調手段は、第1のバーコード又は第2の
バーコードを一挙に復調しても良いし、夫々のバーコー
ドを部分的に走査して得られた明暗パターンを各々復調
した後で、これら復調されたデータを一つのデータとし
て合成しても良い。復調手段は、この合成のためには、
各バーコードの識別コードに所定幅のマージンが付随し
ていることを条件としても良い。但し、クーポンコード
の両側に位置する識別コードに付随するマージンが共に
所定幅よりも狭い場合には、光学的ノイズが生じている
ことに依るものと考えられるので、この場合にも合成を
行うように構成しても良い。
【0017】各従属項によるバーコード読取装置は以下
の手段を採用した。請求項2記載のバーコード読取装置
は、請求項1において、第2のバーコードの識別バーを
検出する第2バーコード識別バー検出手段を更に備える
とともに、前記復調手段が、前記第2バーコード識別バ
ー検出手段によって前記第2のバーコードの識別バーが
検出された場合にも、前記走査手段によって検出された
明暗パターンを前記第2のコード体系に従って復調する
ことで、特定したものである。このようにすれば、第2
のバーコードのみを走査して明暗パターンが得られた場
合であっても、これを廃棄することなく復調することが
できる。
の手段を採用した。請求項2記載のバーコード読取装置
は、請求項1において、第2のバーコードの識別バーを
検出する第2バーコード識別バー検出手段を更に備える
とともに、前記復調手段が、前記第2バーコード識別バ
ー検出手段によって前記第2のバーコードの識別バーが
検出された場合にも、前記走査手段によって検出された
明暗パターンを前記第2のコード体系に従って復調する
ことで、特定したものである。このようにすれば、第2
のバーコードのみを走査して明暗パターンが得られた場
合であっても、これを廃棄することなく復調することが
できる。
【0018】請求項3記載のバーコード読取装置は、請
求項1の復調手段によって一方の識別バーを含む前記第
1のバーコードのデータと他方の識別バーを含む前記第
1のバーコードのデータとが夫々復調された場合に、こ
れらのデータを合成して前記第1のバーコード全体に対
応するデータを再現する第1バーコード合成手段を更に
備えたことで、特定したものである。
求項1の復調手段によって一方の識別バーを含む前記第
1のバーコードのデータと他方の識別バーを含む前記第
1のバーコードのデータとが夫々復調された場合に、こ
れらのデータを合成して前記第1のバーコード全体に対
応するデータを再現する第1バーコード合成手段を更に
備えたことで、特定したものである。
【0019】請求項4記載のバーコード読取装置は、請
求項3の復調手段によって一方の識別バーを含む前記第
2のバーコードのデータと他方の識別バーを含む前記第
2のバーコードのデータとが夫々復調された場合に、こ
れらのデータを合成して前記第2のバーコード全体に対
応するデータを再現する第2バーコード合成手段を更に
備えたことで、特定したものである。
求項3の復調手段によって一方の識別バーを含む前記第
2のバーコードのデータと他方の識別バーを含む前記第
2のバーコードのデータとが夫々復調された場合に、こ
れらのデータを合成して前記第2のバーコード全体に対
応するデータを再現する第2バーコード合成手段を更に
備えたことで、特定したものである。
【0020】請求項5記載のバーコード読取装置は、請
求項4の第1バーコード合成手段及び第2バーコード合
成手段が、前記各識別バーの外側に所定幅以上のマージ
ンが付随していることを前記合成の条件とすることで、
特定したものである。
求項4の第1バーコード合成手段及び第2バーコード合
成手段が、前記各識別バーの外側に所定幅以上のマージ
ンが付随していることを前記合成の条件とすることで、
特定したものである。
【0021】請求項6記載のバーコード読取装置は、請
求項5の第1バーコード合成手段及び第2バーコード合
成手段が、前記第1バーコードの前記第2バーコードと
は反対側に位置する識別バー,及び前記第2バーコード
の前記第1バーコードとは反対側に位置する識別バーの
両方に所定幅以上のマージンが付随していない場合に
は、前記合成の条件に拘わらず、前記合成を行うこと
で、特定したものである。このようにすれば、光学的ノ
イズがマージン中に発生したためにこのマージンの幅が
所定幅以上と識別されなかった場合に、合成することな
く復調データを廃棄することが防止される。
求項5の第1バーコード合成手段及び第2バーコード合
成手段が、前記第1バーコードの前記第2バーコードと
は反対側に位置する識別バー,及び前記第2バーコード
の前記第1バーコードとは反対側に位置する識別バーの
両方に所定幅以上のマージンが付随していない場合に
は、前記合成の条件に拘わらず、前記合成を行うこと
で、特定したものである。このようにすれば、光学的ノ
イズがマージン中に発生したためにこのマージンの幅が
所定幅以上と識別されなかった場合に、合成することな
く復調データを廃棄することが防止される。
【0022】
【発明の実施の形態】以下、図面に基づいて、本発明の
実施の態様の説明を行う。
実施の態様の説明を行う。
【0023】
【実施形態1】図2は本発明の第1実施形態によるバー
コード読取装置の概略構成を示すブロック図である。本
第1実施形態によるバーコード読取装置は、WPCコー
ドのフォーマットに従ってデータをコード化した商品2
0上のバーコード21を読み取る装置である。 (全体構成)図2において、CPU1は、バー幅データ
群格納バッファ2,制御部回路3,インタフェース回路
4,ROM5,復調データ一時退避バッファ6,及び復
調データ格納バッファ7に対して、バス接続されてい
る。このCPU1は、バーコード読取装置全体の制御を
行うとともに、商品20の表面に印刷されたバーコード
21を読み取って得られたバー幅データ群を復調するデ
ータ復調処理を実行する。
コード読取装置の概略構成を示すブロック図である。本
第1実施形態によるバーコード読取装置は、WPCコー
ドのフォーマットに従ってデータをコード化した商品2
0上のバーコード21を読み取る装置である。 (全体構成)図2において、CPU1は、バー幅データ
群格納バッファ2,制御部回路3,インタフェース回路
4,ROM5,復調データ一時退避バッファ6,及び復
調データ格納バッファ7に対して、バス接続されてい
る。このCPU1は、バーコード読取装置全体の制御を
行うとともに、商品20の表面に印刷されたバーコード
21を読み取って得られたバー幅データ群を復調するデ
ータ復調処理を実行する。
【0024】ROM5は、CPU1において実行される
バーコード認識/復調処理プログラムを格納している読
み出し専用メモリである。インタフェース回路4は、C
PU1と他の回路とを接続しているバスBのステータス
を制御したり、外部装置へのデータ送信等を制御する回
路である。
バーコード認識/復調処理プログラムを格納している読
み出し専用メモリである。インタフェース回路4は、C
PU1と他の回路とを接続しているバスBのステータス
を制御したり、外部装置へのデータ送信等を制御する回
路である。
【0025】制御部回路3は、モータ駆動回路8,レー
ザ駆動回路9,スピーカ10,発光ダイオード(LE
D)11,及びレーザビームの開始・終了検出回路17
を制御する回路である。このモータ駆動回路8は、モー
タ12を駆動して、走査光学系14を構成する図示せぬ
ポリゴンミラーを回転させる。また、レーザ駆動回路9
は、半導体レーザ13を駆動して、レーザビームLを出
射させる。また、スピーカ10は、バーコードの読取
(復調)完了を示す音声を発する。また、発光ダイオー
ド11は、バーコードの復調の結果得られた商品20の
販売価格等の情報を表示する表示素子である。
ザ駆動回路9,スピーカ10,発光ダイオード(LE
D)11,及びレーザビームの開始・終了検出回路17
を制御する回路である。このモータ駆動回路8は、モー
タ12を駆動して、走査光学系14を構成する図示せぬ
ポリゴンミラーを回転させる。また、レーザ駆動回路9
は、半導体レーザ13を駆動して、レーザビームLを出
射させる。また、スピーカ10は、バーコードの読取
(復調)完了を示す音声を発する。また、発光ダイオー
ド11は、バーコードの復調の結果得られた商品20の
販売価格等の情報を表示する表示素子である。
【0026】半導体レーザ13から出射されたレーザビ
ームLは、走査光学系14に入射されて、この走査光学
系14によって偏向される。即ち、この走査光学系14
は、モータ12によって回転される図示せぬポリゴンミ
ラーによってレーザビームLを一方向に偏向する。この
ポリゴンミラーの反射側には、複数の固定ミラーが固定
されている。従って、ポリゴンミラーによって偏向され
たレーザビームLは、各固定ミラーによって再度反射さ
れ、様々な方向にその偏向方向(走査方向)が変えられ
る。即ち、図示せぬポリゴンミラーの回転角度が角度θ
0〜θ1の期間は、第1の固定ミラーによって第1の方向
への走査がなされ、角度θ1〜θ2の期間は第2の固定ミ
ラーによって第2の方向への走査がなされ、角度θ
(n-1)〜θnの期間は第nの固定ミラーによって第nの方
向への走査がなされる。ポリゴンミラーが更に回転する
と、レーザビームLを偏向させる反射面が隣の反射面に
移り、再度、第1〜第nの方向への走査がなされる。こ
れら各方向への走査を、以下、「一走査」という。な
お、走査開始検出手段及び走査終了検出手段としてのレ
ーザビームの開始・終了検出回路17は、このように回
転する図示せぬポリゴンミラーの回転角を常時モニター
し、この回転角度がθ0,θ1…,θnになる毎に、一走
査が終了して次の走査が開始したことを検出する。
ームLは、走査光学系14に入射されて、この走査光学
系14によって偏向される。即ち、この走査光学系14
は、モータ12によって回転される図示せぬポリゴンミ
ラーによってレーザビームLを一方向に偏向する。この
ポリゴンミラーの反射側には、複数の固定ミラーが固定
されている。従って、ポリゴンミラーによって偏向され
たレーザビームLは、各固定ミラーによって再度反射さ
れ、様々な方向にその偏向方向(走査方向)が変えられ
る。即ち、図示せぬポリゴンミラーの回転角度が角度θ
0〜θ1の期間は、第1の固定ミラーによって第1の方向
への走査がなされ、角度θ1〜θ2の期間は第2の固定ミ
ラーによって第2の方向への走査がなされ、角度θ
(n-1)〜θnの期間は第nの固定ミラーによって第nの方
向への走査がなされる。ポリゴンミラーが更に回転する
と、レーザビームLを偏向させる反射面が隣の反射面に
移り、再度、第1〜第nの方向への走査がなされる。こ
れら各方向への走査を、以下、「一走査」という。な
お、走査開始検出手段及び走査終了検出手段としてのレ
ーザビームの開始・終了検出回路17は、このように回
転する図示せぬポリゴンミラーの回転角を常時モニター
し、この回転角度がθ0,θ1…,θnになる毎に、一走
査が終了して次の走査が開始したことを検出する。
【0027】このようにして走査されたレーザビームL
が商品20の表面(被走査面,バーコード21を含む)
に当たると、この表面においてレーザビームLが乱反射
され、その反射光Rの一部が受光素子(ホトダイオー
ド)18に受光される。A/D変換器15は、この受光
素子18によって受光された反射光Rの明暗を示す電流
値を、所定のしきい値と比較して、二値化信号に変換す
る。この二値化信号は、反射光Rの強度がバーコード2
1中の黒バーの反射率に対応する場合には“H”を示
し、反射光Rの強度がバーコード21中の白バーの反射
率に対応する場合には“L”を示す。
が商品20の表面(被走査面,バーコード21を含む)
に当たると、この表面においてレーザビームLが乱反射
され、その反射光Rの一部が受光素子(ホトダイオー
ド)18に受光される。A/D変換器15は、この受光
素子18によって受光された反射光Rの明暗を示す電流
値を、所定のしきい値と比較して、二値化信号に変換す
る。この二値化信号は、反射光Rの強度がバーコード2
1中の黒バーの反射率に対応する場合には“H”を示
し、反射光Rの強度がバーコード21中の白バーの反射
率に対応する場合には“L”を示す。
【0028】バー幅カウンタ16は、A/D変換器15
から入力された二値化信号に基づいて、二値化信号の立
ち上がりタイミングから立ち下がりタイミングまでの時
間(バーコード21中の黒バーの幅に対応するものと期
待される),及び、二値化信号の立ち下がりタイミング
から立ち上がりタイミングまでの時間(バーコード21
中の白バーの幅に対応するものと期待される)を測定す
る。なお、バー幅カウンタ16は、これらバー幅に対応
する時間を計測するためにクロック19からのクロック
数をカウントする。バー幅カウンタ16から出力される
各バーの読取データは、このカウント値と白又は黒を示
す色識別信号とを組み合わせた形態であり、レーザービ
ームの一走査毎に、このような読取データが連続的に出
力される。このように連続的に出力される一走査毎の読
取データを「バー幅データ群(明暗パターンに相当)」
という。以上の半導体レーザ13,走査光学系14,受
光素子18,A/D変換器15,及びバー幅カウンタ1
6が、走査手段に相当する。
から入力された二値化信号に基づいて、二値化信号の立
ち上がりタイミングから立ち下がりタイミングまでの時
間(バーコード21中の黒バーの幅に対応するものと期
待される),及び、二値化信号の立ち下がりタイミング
から立ち上がりタイミングまでの時間(バーコード21
中の白バーの幅に対応するものと期待される)を測定す
る。なお、バー幅カウンタ16は、これらバー幅に対応
する時間を計測するためにクロック19からのクロック
数をカウントする。バー幅カウンタ16から出力される
各バーの読取データは、このカウント値と白又は黒を示
す色識別信号とを組み合わせた形態であり、レーザービ
ームの一走査毎に、このような読取データが連続的に出
力される。このように連続的に出力される一走査毎の読
取データを「バー幅データ群(明暗パターンに相当)」
という。以上の半導体レーザ13,走査光学系14,受
光素子18,A/D変換器15,及びバー幅カウンタ1
6が、走査手段に相当する。
【0029】バー幅データ群は、バー幅データ群格納バ
ッファ2に一時格納される。このバー幅データ群格納バ
ッファ2は、バー幅カウンタ16から入力されたバー幅
データ群を順次格納するとともに、CPU1からの求め
に応じて、格納した順に一個づつこのバー幅データ群を
CPU1に渡す。
ッファ2に一時格納される。このバー幅データ群格納バ
ッファ2は、バー幅カウンタ16から入力されたバー幅
データ群を順次格納するとともに、CPU1からの求め
に応じて、格納した順に一個づつこのバー幅データ群を
CPU1に渡す。
【0030】復調データ一時退避バッファ6は、復調が
行われた各バー幅データ群を格納しておくメモリであ
る。また、復調データ格納バッファ7は、合成の完了し
たバーコードに対応する読み出しデータを格納するメモ
リである。 (復調アルゴリズム)次に、WPCコード(第1のコー
ド体系によるデータを固定パターンの識別バーによって
囲んでなる第1のバーコード)を復調するための一般的
アルゴリズムの概略を説明する。WPCコードの各キャ
ラクタは、図9に示すように、7個のモジュール(各モ
ジュールは単位長を有する)の夫々を適宜白又は黒に割
り振って2本の白バーと2本の黒バーの組み合わせとし
て構成したものである。CPU1の復調部は、各キャラ
クタの末尾の黒バー(B1)とその直前の白バー(B
2)とを合わせた長さ(T1モジュール)と、この白バ
ー(B2)とその直前の黒バー(B3)とを合わせた長
さ(T2モジュール)とを、算出する。これらT1モジ
ュール及びT2モジュールのことを、「δディスタン
ス」という。そして、CPU1の復調部は、これらT1
モジュールびT2モジュールの各々のモジュール数に基
づいて、図10に示す距離復調テーブルを参照し、対応
するデータを読み出すのである。なお、図10に示す各
データの「E−」は偶数パリティの値であることを示
し、「O−」は奇数パリティの値であることを示す。
行われた各バー幅データ群を格納しておくメモリであ
る。また、復調データ格納バッファ7は、合成の完了し
たバーコードに対応する読み出しデータを格納するメモ
リである。 (復調アルゴリズム)次に、WPCコード(第1のコー
ド体系によるデータを固定パターンの識別バーによって
囲んでなる第1のバーコード)を復調するための一般的
アルゴリズムの概略を説明する。WPCコードの各キャ
ラクタは、図9に示すように、7個のモジュール(各モ
ジュールは単位長を有する)の夫々を適宜白又は黒に割
り振って2本の白バーと2本の黒バーの組み合わせとし
て構成したものである。CPU1の復調部は、各キャラ
クタの末尾の黒バー(B1)とその直前の白バー(B
2)とを合わせた長さ(T1モジュール)と、この白バ
ー(B2)とその直前の黒バー(B3)とを合わせた長
さ(T2モジュール)とを、算出する。これらT1モジ
ュール及びT2モジュールのことを、「δディスタン
ス」という。そして、CPU1の復調部は、これらT1
モジュールびT2モジュールの各々のモジュール数に基
づいて、図10に示す距離復調テーブルを参照し、対応
するデータを読み出すのである。なお、図10に示す各
データの「E−」は偶数パリティの値であることを示
し、「O−」は奇数パリティの値であることを示す。
【0031】なお、図10に示す距離復調テーブルで
は、T1モジュール及びT2モジュールのモジュール数
が3又は4である場合には、対応するデータが2種類づ
つあり、これらのうちの何れであるかを特定することが
できない。その場合には、黒バー(B1)と黒バー(B
3)のモジュール数に基づいて図11に示すバー幅復調
テーブルを参照して、何れのデータであるかを特定する
のである。例えば、図9に示すキャラクタA及びキャラ
クタBは、図10に示す距離復調テーブルを参照するこ
とによって、何れも“O2”又は“O8”であると復調
される。さらに、図11に示すバー幅復調テーブルを参
照することによって、キャラクタAは“O2”でありキ
ャラクタBは“O8”であると特定される。 (マージンチェック)次に、本実施形態において実行さ
れるマージンチェックの方式を、説明する。
は、T1モジュール及びT2モジュールのモジュール数
が3又は4である場合には、対応するデータが2種類づ
つあり、これらのうちの何れであるかを特定することが
できない。その場合には、黒バー(B1)と黒バー(B
3)のモジュール数に基づいて図11に示すバー幅復調
テーブルを参照して、何れのデータであるかを特定する
のである。例えば、図9に示すキャラクタA及びキャラ
クタBは、図10に示す距離復調テーブルを参照するこ
とによって、何れも“O2”又は“O8”であると復調
される。さらに、図11に示すバー幅復調テーブルを参
照することによって、キャラクタAは“O2”でありキ
ャラクタBは“O8”であると特定される。 (マージンチェック)次に、本実施形態において実行さ
れるマージンチェックの方式を、説明する。
【0032】先ず、WPCコードの場合には、スタート
ガードバーの外側に付されるスタートマージン及びエン
ドガードバーの外側に付されるエンドマージンの幅(B
n)は、各ガードバーにおけるT1モジュールの幅(T
1)及びT2モジュールの幅(T2)に基づき、以下の
ように定められている。
ガードバーの外側に付されるスタートマージン及びエン
ドガードバーの外側に付されるエンドマージンの幅(B
n)は、各ガードバーにおけるT1モジュールの幅(T
1)及びT2モジュールの幅(T2)に基づき、以下の
ように定められている。
【0033】Bn > 3・T1 且つ Bn > 3・T2 従って、各バーの外側に検出された白い部分の幅が、各
バー内のT1モジュールの幅の3倍以上であり、且つ、
各バー内のT2モジュールの幅の3倍以上であれば、マ
ージンが有効であると判断される。
バー内のT1モジュールの幅の3倍以上であり、且つ、
各バー内のT2モジュールの幅の3倍以上であれば、マ
ージンが有効であると判断される。
【0034】次に、CODE128(第2のコード体系
によるデータを固定パターンの識別バーによって囲んで
なる第2のバーコード)では、δディスタンスなる概念
は用いられないので、スタートコード又はストップコー
ドの幅に基づいてマージンチェックを行う。即ち、スタ
ートコードの外側に付されるスタートマージン及びスト
ップコードの外側に付されるエンドマージン(図12参
照)の幅がスタートコード又はストップコードの幅の一
定倍数以上であれば、マージンが有効であると判断され
る。
によるデータを固定パターンの識別バーによって囲んで
なる第2のバーコード)では、δディスタンスなる概念
は用いられないので、スタートコード又はストップコー
ドの幅に基づいてマージンチェックを行う。即ち、スタ
ートコードの外側に付されるスタートマージン及びスト
ップコードの外側に付されるエンドマージン(図12参
照)の幅がスタートコード又はストップコードの幅の一
定倍数以上であれば、マージンが有効であると判断され
る。
【0035】以上のように行われるマージンチェックの
結果は、各バーコードを読み取って得られた復調コード
の断片を合成してそのバーコードの全体に対応した復調
コードを再現できたか否かを判定するチェック(モジュ
ラス10チェック)に利用される。 (バーコード認識/復調処理)次に、CPU1(第1バ
ーコード識別バー検出手段,復調手段,第2バーコード
識別バー検出手段,第1バーコード合成手段,第2バー
コード合成手段)において実際に実行されるバーコード
認識/復調処理プログラムの具体的内容を、図3乃至図
8のフローチャートに基づいて説明する。
結果は、各バーコードを読み取って得られた復調コード
の断片を合成してそのバーコードの全体に対応した復調
コードを再現できたか否かを判定するチェック(モジュ
ラス10チェック)に利用される。 (バーコード認識/復調処理)次に、CPU1(第1バ
ーコード識別バー検出手段,復調手段,第2バーコード
識別バー検出手段,第1バーコード合成手段,第2バー
コード合成手段)において実際に実行されるバーコード
認識/復調処理プログラムの具体的内容を、図3乃至図
8のフローチャートに基づいて説明する。
【0036】このバーコード認識/復調処理のメインル
ーチンである図3及び図4のフローチャートは、バーコ
ード読取装置に主電源が投入された後においてバー幅デ
ータ群格納バッファ2にバー幅データ群が格納された時
に、スタートする。そして最初のS001において、バ
ー幅データ群格納バッファ2内から、最も古いバー幅デ
ータ群を一つ取り出す。
ーチンである図3及び図4のフローチャートは、バーコ
ード読取装置に主電源が投入された後においてバー幅デ
ータ群格納バッファ2にバー幅データ群が格納された時
に、スタートする。そして最初のS001において、バ
ー幅データ群格納バッファ2内から、最も古いバー幅デ
ータ群を一つ取り出す。
【0037】次のS002では、取り出したバー幅デー
タ群に対して、WPCコード体系(第1のコード体系)
による復調アルゴリズムに従ったデータ復調処理(デー
タ復調処理1)を実行する(復調手段に相当)。図5乃
至図7は、このデータ復調処理1のサブルーチンを示す
フローチャートである。このサブルーチンに入って最初
のS100では、取り出したバー幅データ群がスタート
ガードバー(LGB)を含んでいるかどうかのチェック
(スタートガードバーチェック),及び、このスタート
ガードバー(LGB)に有効なスタートマージンが付随
しているかどうかのチェック(スタートマージンチェッ
ク)を、行う。
タ群に対して、WPCコード体系(第1のコード体系)
による復調アルゴリズムに従ったデータ復調処理(デー
タ復調処理1)を実行する(復調手段に相当)。図5乃
至図7は、このデータ復調処理1のサブルーチンを示す
フローチャートである。このサブルーチンに入って最初
のS100では、取り出したバー幅データ群がスタート
ガードバー(LGB)を含んでいるかどうかのチェック
(スタートガードバーチェック),及び、このスタート
ガードバー(LGB)に有効なスタートマージンが付随
しているかどうかのチェック(スタートマージンチェッ
ク)を、行う。
【0038】次のS101では、S100でのスタート
ガードバーチェックの結果を調べ、スタートガードバー
を含んでいる場合には、処理をS102に進める。S1
02乃至S134の処理は、スタートガードバーを起点
に、復調できる箇所までキャラクタを復調するための処
理である。
ガードバーチェックの結果を調べ、スタートガードバー
を含んでいる場合には、処理をS102に進める。S1
02乃至S134の処理は、スタートガードバーを起点
に、復調できる箇所までキャラクタを復調するための処
理である。
【0039】S102では、第1キャラクタ(スタート
ガードバーのセンターバー側に隣接するキャラクタ)の
長さをチェックする。即ち、第1キャラクタを構成する
4個のバーのバー幅カウント値の総計が一定値近傍内に
あるかどうかをチェックする。そして、第1キャラクタ
長が一定値近傍内にない場合には(S103)、バーコ
ード以外の模様に基づくデータ群であるとみなして、S
136において「1STコード復調完了フラグ」をリセ
ットし、このサブルーチンを終了する。これに対して、
第1キャラクタ長が一定値近傍内にある場合には(S1
03)、処理をS104に進める。
ガードバーのセンターバー側に隣接するキャラクタ)の
長さをチェックする。即ち、第1キャラクタを構成する
4個のバーのバー幅カウント値の総計が一定値近傍内に
あるかどうかをチェックする。そして、第1キャラクタ
長が一定値近傍内にない場合には(S103)、バーコ
ード以外の模様に基づくデータ群であるとみなして、S
136において「1STコード復調完了フラグ」をリセ
ットし、このサブルーチンを終了する。これに対して、
第1キャラクタ長が一定値近傍内にある場合には(S1
03)、処理をS104に進める。
【0040】S104では、隣接キャラクタ(初期にお
いては第1キャラクタに隣接する第2キャラクタ)の長
さをチェックする。そして、このキャラクタの長さが一
定値近傍内にない場合には(S105)、これまでにキ
ャラクタ長が一定値近傍内であったとチェックされた第
1ブロックのキャラクタに対する復調を行うべく、処理
をS109に進める。これに対して、このキャラクタの
長さが一定値近傍内にある場合には(S105)、S1
06において、このキャラクタの歪み量が大か否かをチ
ェックする。そして、歪み量が小である場合には処理を
そのままS108に進めるが、歪み量が大である場合
(即ち、各キャラクタに対応するバー幅データ[明暗デ
ータ]相互の比が一定範囲を超えた場合,及び、各モジ
ュールに対応するバー幅データ[明暗データ]相互の比
が一定範囲を超えた場合)には、S107において「歪
み有りフラグ」をセットしてから処理をS108に進め
る。
いては第1キャラクタに隣接する第2キャラクタ)の長
さをチェックする。そして、このキャラクタの長さが一
定値近傍内にない場合には(S105)、これまでにキ
ャラクタ長が一定値近傍内であったとチェックされた第
1ブロックのキャラクタに対する復調を行うべく、処理
をS109に進める。これに対して、このキャラクタの
長さが一定値近傍内にある場合には(S105)、S1
06において、このキャラクタの歪み量が大か否かをチ
ェックする。そして、歪み量が小である場合には処理を
そのままS108に進めるが、歪み量が大である場合
(即ち、各キャラクタに対応するバー幅データ[明暗デ
ータ]相互の比が一定範囲を超えた場合,及び、各モジ
ュールに対応するバー幅データ[明暗データ]相互の比
が一定範囲を超えた場合)には、S107において「歪
み有りフラグ」をセットしてから処理をS108に進め
る。
【0041】S108では、第6キャラクタ(センター
バーのスタートガードバー側に隣接するキャラクタ)ま
でキャラクタ長のチェックを終了したかどうかをチェッ
クする。そして、第6キャラクタまでキャラクタ長のチ
ェックを終了した場合には、第1ブロックをなす6個の
キャラクタの復調をすべく、処理をS109に進める。
これに対して、未だ第6キャラクタまでのキャラクタ長
のチェックを終了していない場合には、隣接する次のキ
ャラクタのキャラクタ長をチェックすべく、処理をS1
04に戻す。
バーのスタートガードバー側に隣接するキャラクタ)ま
でキャラクタ長のチェックを終了したかどうかをチェッ
クする。そして、第6キャラクタまでキャラクタ長のチ
ェックを終了した場合には、第1ブロックをなす6個の
キャラクタの復調をすべく、処理をS109に進める。
これに対して、未だ第6キャラクタまでのキャラクタ長
のチェックを終了していない場合には、隣接する次のキ
ャラクタのキャラクタ長をチェックすべく、処理をS1
04に戻す。
【0042】S109では、S103及びS105にお
いて一定値近傍内にあると判定されたキャラクタのうち
から最もスタートガードバーに近いものを取り出して、
このキャラクタに対する復調処理を実行する(WPCコ
ード体系において対応するデータに置き換える)。次の
S110では、S109での復調処理が成功したかどう
かをチェックする。そして、復調処理が成功しなかった
場合には、このサブルーチンを終了すべく処理をS13
4に進め、復調処理が成功した場合には処理をS111
に進める。S111では、歪み量が大か否かをチェック
する。そして、歪み量が小である場合には処理をそのま
まS113に進めるが、歪み量が大である場合には、S
112において「歪み有りフラグ」をセットしてから処
理をS113に進める。S113では、S103及びS
105のキャラクタ長チェックにおいて一定値近傍内に
あると判定された全キャラクタの個数分の復調処理が完
了したか否かをチェックする。そして、未だ全個数分の
復調処理が完了していない場合には、隣接する次のキャ
ラクタに対する復調処理を実行すべく、処理をS109
に戻す。これに対して、全個数分の復調処理が完了して
いる場合には、処理をS114に進める。
いて一定値近傍内にあると判定されたキャラクタのうち
から最もスタートガードバーに近いものを取り出して、
このキャラクタに対する復調処理を実行する(WPCコ
ード体系において対応するデータに置き換える)。次の
S110では、S109での復調処理が成功したかどう
かをチェックする。そして、復調処理が成功しなかった
場合には、このサブルーチンを終了すべく処理をS13
4に進め、復調処理が成功した場合には処理をS111
に進める。S111では、歪み量が大か否かをチェック
する。そして、歪み量が小である場合には処理をそのま
まS113に進めるが、歪み量が大である場合には、S
112において「歪み有りフラグ」をセットしてから処
理をS113に進める。S113では、S103及びS
105のキャラクタ長チェックにおいて一定値近傍内に
あると判定された全キャラクタの個数分の復調処理が完
了したか否かをチェックする。そして、未だ全個数分の
復調処理が完了していない場合には、隣接する次のキャ
ラクタに対する復調処理を実行すべく、処理をS109
に戻す。これに対して、全個数分の復調処理が完了して
いる場合には、処理をS114に進める。
【0043】S114では、S109での復調処理によ
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタ未満である
場合には、WPCコードのブロックの一部のみを分割し
て読み取ったバー幅データ群(以下、「分割読みのバー
幅データ群」という)でしかありえないので、このサブ
ルーチンを終了すべく、処理をS134に進める。これ
に対して、復調できたキャラクタ数が6キャラクタであ
る場合には、処理をS115に進める。
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタ未満である
場合には、WPCコードのブロックの一部のみを分割し
て読み取ったバー幅データ群(以下、「分割読みのバー
幅データ群」という)でしかありえないので、このサブ
ルーチンを終了すべく、処理をS134に進める。これ
に対して、復調できたキャラクタ数が6キャラクタであ
る場合には、処理をS115に進める。
【0044】S115では、第6キャラクタの長さを改
めてチェックする。そして、この第6キャラクタの長さ
が一定値近傍内にない場合には(S116)、処理をS
134に進め、このキャラクタの長さが一定値近傍内に
ある場合には(S116)、S117においてセンター
バーのチェックを行う。このセンターバーのチェックと
は、第6キャラクタの次に隣接するキャラクタがセンタ
ーバーとして定められている所定のパターンと一致して
いるか否かのチェックである。そして、センターバーの
チェック結果が良好である場合には(S118)、処理
をS119に進める。これに対して、チェック結果が良
好でない場合には(S118)、分割読みのデータ群で
あるとして、このサブルーチンを終了すべく処理をS1
34に進める。
めてチェックする。そして、この第6キャラクタの長さ
が一定値近傍内にない場合には(S116)、処理をS
134に進め、このキャラクタの長さが一定値近傍内に
ある場合には(S116)、S117においてセンター
バーのチェックを行う。このセンターバーのチェックと
は、第6キャラクタの次に隣接するキャラクタがセンタ
ーバーとして定められている所定のパターンと一致して
いるか否かのチェックである。そして、センターバーの
チェック結果が良好である場合には(S118)、処理
をS119に進める。これに対して、チェック結果が良
好でない場合には(S118)、分割読みのデータ群で
あるとして、このサブルーチンを終了すべく処理をS1
34に進める。
【0045】S119では、第7キャラクタ(センター
バーのエンドガードバー側に隣接するキャラクタ)の長
さをチェックする。そして、第7キャラクタの長さが一
定値近傍内にない場合には(S120)、WPCコード
全体を連続して読み取ったバー幅データ群(以下、「連
続読みのバー幅データ群」という)ではないため、この
サブルーチンを終了すべく処理をS134に進める。こ
れに対して、第7キャラクタの長さが一定値近傍内にあ
る場合には(S120)、処理をS121に進める。
バーのエンドガードバー側に隣接するキャラクタ)の長
さをチェックする。そして、第7キャラクタの長さが一
定値近傍内にない場合には(S120)、WPCコード
全体を連続して読み取ったバー幅データ群(以下、「連
続読みのバー幅データ群」という)ではないため、この
サブルーチンを終了すべく処理をS134に進める。こ
れに対して、第7キャラクタの長さが一定値近傍内にあ
る場合には(S120)、処理をS121に進める。
【0046】S121では、隣接キャラクタ(初期にお
いては第7キャラクタに隣接する第8キャラクタ)の長
さをチェックする。そして、このキャラクタの長さが一
定値近傍内にない場合には(S122)、連続読みのバ
ー幅データ群ではないため、このサブルーチンを終了す
べく処理をS134に進める。これに対して、このキャ
ラクタの長さが一定値近傍内にある場合には(S12
2)、S123において、歪み量が大か否かをチェック
する。そして、歪み量が小である場合には処理をそのま
まS125に進めるが、歪み量が大である場合には、S
124において「歪み有りフラグ」をセットしてから処
理をS125に進める。S125では、第12キャラク
タ(エンドガードバーのセンターバー側に隣接するキャ
ラクタ)までキャラクタ長のチェックを終了したかどう
かをチェックする。そして、第12キャラクタまでキャ
ラクタ長のチェックを終了した場合には、第2ブロック
をなす6個のキャラクタの復調をすべく、処理をS12
6に進める。これに対して、未だ第12キャラクタまで
のキャラクタ長のチェックを終了していない場合には、
隣接する次のキャラクタのキャラクタ長をチェックすべ
く、処理をS121に戻す。
いては第7キャラクタに隣接する第8キャラクタ)の長
さをチェックする。そして、このキャラクタの長さが一
定値近傍内にない場合には(S122)、連続読みのバ
ー幅データ群ではないため、このサブルーチンを終了す
べく処理をS134に進める。これに対して、このキャ
ラクタの長さが一定値近傍内にある場合には(S12
2)、S123において、歪み量が大か否かをチェック
する。そして、歪み量が小である場合には処理をそのま
まS125に進めるが、歪み量が大である場合には、S
124において「歪み有りフラグ」をセットしてから処
理をS125に進める。S125では、第12キャラク
タ(エンドガードバーのセンターバー側に隣接するキャ
ラクタ)までキャラクタ長のチェックを終了したかどう
かをチェックする。そして、第12キャラクタまでキャ
ラクタ長のチェックを終了した場合には、第2ブロック
をなす6個のキャラクタの復調をすべく、処理をS12
6に進める。これに対して、未だ第12キャラクタまで
のキャラクタ長のチェックを終了していない場合には、
隣接する次のキャラクタのキャラクタ長をチェックすべ
く、処理をS121に戻す。
【0047】S126では、S120及びS122にお
いて一定値近傍内にあると判定されたキャラクタのうち
から最もセンターバーに近いものを取り出して、このキ
ャラクタに対する復調処理を実行する(WPCコード体
系において対応するデータに置き換える)。次のS12
7では、S126での復調処理が成功したかどうかをチ
ェックする。そして、復調処理が成功しなかった場合に
は、このサブルーチンを終了すべく処理をS134に進
め、復調処理が成功した場合には処理をS128に進め
る。S128では、歪み量が大か否かをチェックする。
そして、歪み量が小である場合には処理をそのままS1
30に進めるが、歪み量が大である場合には、S129
において「歪み有りフラグ」をセットしてから処理をS
130に進める。S130では、S120及びS122
のキャラクタ長チェックにおいてその長さが一定値近傍
内にあると判定されたキャラクタの個数分の復調処理が
完了したか否かをチェックする。そして、未だ全個数分
の復調処理が完了していない場合には、次の隣接するキ
ャラクタに対する復調処理を実行すべく、処理をS12
6に戻す。これに対して、全個数分の復調処理が完了し
ている場合には、処理をS131に進める。
いて一定値近傍内にあると判定されたキャラクタのうち
から最もセンターバーに近いものを取り出して、このキ
ャラクタに対する復調処理を実行する(WPCコード体
系において対応するデータに置き換える)。次のS12
7では、S126での復調処理が成功したかどうかをチ
ェックする。そして、復調処理が成功しなかった場合に
は、このサブルーチンを終了すべく処理をS134に進
め、復調処理が成功した場合には処理をS128に進め
る。S128では、歪み量が大か否かをチェックする。
そして、歪み量が小である場合には処理をそのままS1
30に進めるが、歪み量が大である場合には、S129
において「歪み有りフラグ」をセットしてから処理をS
130に進める。S130では、S120及びS122
のキャラクタ長チェックにおいてその長さが一定値近傍
内にあると判定されたキャラクタの個数分の復調処理が
完了したか否かをチェックする。そして、未だ全個数分
の復調処理が完了していない場合には、次の隣接するキ
ャラクタに対する復調処理を実行すべく、処理をS12
6に戻す。これに対して、全個数分の復調処理が完了し
ている場合には、処理をS131に進める。
【0048】S131では、第12キャラクタの長さを
改めてチェックする。そして、この第12キャラクタの
長さが一定値近傍内にない場合には(S132)、処理
をそのままS134に進める。これに対して、このキャ
ラクタの長さが一定値近傍内にある場合には(S13
2)、S133において、エンドガードバー(RGB)
のチェック,及び、エンドマージンチェックを行う。こ
のエンドガードバーのチェックとは、第12キャラクタ
の次の隣接するキャラクタがエンドガードバーとして定
められている所定のパターンと一致しているか否かのチ
ェックである。また、エンドマージンチェックとは、こ
のエンドガードバー(RGB)に有効なエンドマージン
が付随しているかどうかのチェックである。これらのチ
ェックを行った後に、処理をS134に進める。S13
4では、S109及びS126にて復調完了したデータ
がスタートガードバー及び3個以上のキャラクタを含ん
でいるか否かを、チェックする。そして、スタートガー
ドバー及び3個以上のキャラクタを含んでいる場合に
は、少なくとも分割読みのバー幅データ群であると認め
られるので、S135にて「1STコード復調完了フラ
グ」をセットして、このサブルーチンを終了する。これ
に対して、スタートガードバー及び3個以上のキャラク
タを含んでいない場合には、データの信頼性が低いの
で、S136にて「1STコード復調完了フラグ」をリ
セットして、このサブルーチンを終了する。
改めてチェックする。そして、この第12キャラクタの
長さが一定値近傍内にない場合には(S132)、処理
をそのままS134に進める。これに対して、このキャ
ラクタの長さが一定値近傍内にある場合には(S13
2)、S133において、エンドガードバー(RGB)
のチェック,及び、エンドマージンチェックを行う。こ
のエンドガードバーのチェックとは、第12キャラクタ
の次の隣接するキャラクタがエンドガードバーとして定
められている所定のパターンと一致しているか否かのチ
ェックである。また、エンドマージンチェックとは、こ
のエンドガードバー(RGB)に有効なエンドマージン
が付随しているかどうかのチェックである。これらのチ
ェックを行った後に、処理をS134に進める。S13
4では、S109及びS126にて復調完了したデータ
がスタートガードバー及び3個以上のキャラクタを含ん
でいるか否かを、チェックする。そして、スタートガー
ドバー及び3個以上のキャラクタを含んでいる場合に
は、少なくとも分割読みのバー幅データ群であると認め
られるので、S135にて「1STコード復調完了フラ
グ」をセットして、このサブルーチンを終了する。これ
に対して、スタートガードバー及び3個以上のキャラク
タを含んでいない場合には、データの信頼性が低いの
で、S136にて「1STコード復調完了フラグ」をリ
セットして、このサブルーチンを終了する。
【0049】一方、S101にて処理対象のバー幅デー
タ群がスタートガードバーを含んでいないと判定した場
合には、連続読みのバー幅データ群ではありえないの
で、処理をS137に進める。このS137では、この
バー幅データ群がセンターバーを含んでいるかどうかを
チェックする。そして、センターバーを含んでいる場合
には(S138)、処理をS139に進める。S139
乃至S168の処理は、センターバーを中心として両側
方向に、復調できる箇所までキャラクタを復調するため
の処理である。
タ群がスタートガードバーを含んでいないと判定した場
合には、連続読みのバー幅データ群ではありえないの
で、処理をS137に進める。このS137では、この
バー幅データ群がセンターバーを含んでいるかどうかを
チェックする。そして、センターバーを含んでいる場合
には(S138)、処理をS139に進める。S139
乃至S168の処理は、センターバーを中心として両側
方向に、復調できる箇所までキャラクタを復調するため
の処理である。
【0050】S139では、第6キャラクタ及び第7キ
ャラクタの長さをチェックする。そして、第6キャラク
タの長さ及び第7キャラクタの長さの何れもが一定値近
傍内にない場合には(S140)、バーコード以外の模
様に基づくデータ群であるとみなして、S136におい
て「1STフラグ復調完了フラグ」をリセットし、この
サブルーチンを終了する。これに対して、第6キャラク
タの長さ及び第7キャラクタの長さの何れかが一定値近
傍内にある場合には(S140)、処理をS141に進
める。
ャラクタの長さをチェックする。そして、第6キャラク
タの長さ及び第7キャラクタの長さの何れもが一定値近
傍内にない場合には(S140)、バーコード以外の模
様に基づくデータ群であるとみなして、S136におい
て「1STフラグ復調完了フラグ」をリセットし、この
サブルーチンを終了する。これに対して、第6キャラク
タの長さ及び第7キャラクタの長さの何れかが一定値近
傍内にある場合には(S140)、処理をS141に進
める。
【0051】S141では、エンドガードバー側の隣接
キャラクタ(初期においては第7キャラクタ)の長さを
チェックする。そして、このキャラクタの長さが一定値
近傍内にない場合には(S142)、これまでにキャラ
クタ長が一定値近傍内であったとチェックされた右ブロ
ックのキャラクタに対する復調を行うべく、処理をS1
46に進める。これに対して、このキャラクタの長さが
一定値近傍内にある場合には(S142)、S143に
おいて、歪み量が大か否かをチェックする。そして、歪
み量が小である場合には処理をそのままS145に進め
るが、歪み量が大である場合には、S144において
「歪み有りフラグ」をセットしてから処理をS145に
進める。S145では、右ブロックをなす6キャラクタ
分のキャラクタ長のチェックを終了したかどうかをチェ
ックする。そして、6キャラクタ分のキャラクタ長のチ
ェックを終了した場合には、これら6個のキャラクタの
復調をすべく、処理をS146に進める。これに対し
て、未だ6キャラクタ分のキャラクタ長のチェックを終
了していない場合には、隣接する次のキャラクタのキャ
ラクタ長をチェックすべく、処理をS141に戻す。
キャラクタ(初期においては第7キャラクタ)の長さを
チェックする。そして、このキャラクタの長さが一定値
近傍内にない場合には(S142)、これまでにキャラ
クタ長が一定値近傍内であったとチェックされた右ブロ
ックのキャラクタに対する復調を行うべく、処理をS1
46に進める。これに対して、このキャラクタの長さが
一定値近傍内にある場合には(S142)、S143に
おいて、歪み量が大か否かをチェックする。そして、歪
み量が小である場合には処理をそのままS145に進め
るが、歪み量が大である場合には、S144において
「歪み有りフラグ」をセットしてから処理をS145に
進める。S145では、右ブロックをなす6キャラクタ
分のキャラクタ長のチェックを終了したかどうかをチェ
ックする。そして、6キャラクタ分のキャラクタ長のチ
ェックを終了した場合には、これら6個のキャラクタの
復調をすべく、処理をS146に進める。これに対し
て、未だ6キャラクタ分のキャラクタ長のチェックを終
了していない場合には、隣接する次のキャラクタのキャ
ラクタ長をチェックすべく、処理をS141に戻す。
【0052】S146では、S142において一定値近
傍内にあると判定されたキャラクタのうちから最もセン
ターバーに近いものを取り出して、このキャラクタに対
する復調処理を実行する(WPCコード体系において対
応するデータに置き換える)。次のS147では、S1
46での復調処理が成功したかどうかをチェックする。
そして、復調処理が成功しなかった場合には、そのまま
処理をS151に進め、復調処理が成功した場合には処
理をS148に進める。S148では、歪み量が大か否
かをチェックする。そして、歪み量が小である場合には
処理をそのままS150に進めるが、歪み量が大である
場合には、S149において「歪み有りフラグ」をセッ
トしてから処理をS150に進める。S150では、S
142のキャラクタ長チェックにおいて一定値近傍内に
あると判定されたキャラクタの個数分の復調処理が完了
したか否かをチェックする。そして、未だ全個数分の復
調処理が完了していない場合には、隣接する次のキャラ
クタに対する復調処理を実行すべく、処理をS146に
戻す。これに対して、全個数分の復調処理が完了してい
る場合には、処理をS151に進める。
傍内にあると判定されたキャラクタのうちから最もセン
ターバーに近いものを取り出して、このキャラクタに対
する復調処理を実行する(WPCコード体系において対
応するデータに置き換える)。次のS147では、S1
46での復調処理が成功したかどうかをチェックする。
そして、復調処理が成功しなかった場合には、そのまま
処理をS151に進め、復調処理が成功した場合には処
理をS148に進める。S148では、歪み量が大か否
かをチェックする。そして、歪み量が小である場合には
処理をそのままS150に進めるが、歪み量が大である
場合には、S149において「歪み有りフラグ」をセッ
トしてから処理をS150に進める。S150では、S
142のキャラクタ長チェックにおいて一定値近傍内に
あると判定されたキャラクタの個数分の復調処理が完了
したか否かをチェックする。そして、未だ全個数分の復
調処理が完了していない場合には、隣接する次のキャラ
クタに対する復調処理を実行すべく、処理をS146に
戻す。これに対して、全個数分の復調処理が完了してい
る場合には、処理をS151に進める。
【0053】S151では、S146での復調処理によ
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタ未満である
場合には、左ブロックに含まれるキャラクタの復調をす
べく、処理をS153に進める。これに対して、復調で
きたキャラクタ数が6キャラクタである場合には、処理
をS152に進める。S152では、エンドガードバー
(RGB)のチェック,及び、エンドマージンチェック
を行う。そして、左ブロックに含まれるキャラクタを復
調すべく、処理をS153に進める。
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタ未満である
場合には、左ブロックに含まれるキャラクタの復調をす
べく、処理をS153に進める。これに対して、復調で
きたキャラクタ数が6キャラクタである場合には、処理
をS152に進める。S152では、エンドガードバー
(RGB)のチェック,及び、エンドマージンチェック
を行う。そして、左ブロックに含まれるキャラクタを復
調すべく、処理をS153に進める。
【0054】S153では、スタートガードバー側の隣
接キャラクタ(初期においては第6キャラクタ)の長さ
をチェックする。そして、このキャラクタの長さが一定
値近傍内にない場合には(S154)、これまでにキャ
ラクタ長が一定値近傍内であったとチェックされた左ブ
ロックのキャラクタに対する復調を行うべく、処理をS
158に進める。これに対して、このキャラクタの長さ
が一定値近傍内にある場合には(S154)、S155
において、歪み量が大か否かをチェックする。そして、
歪み量が小である場合には処理をそのままS157に進
めるが、歪み量が大である場合には、S156において
「歪み有りフラグ」をセットしてから処理をS157に
進める。S157では、左ブロックをなす6キャラクタ
分のキャラクタ長のチェックを終了したかどうかをチェ
ックする。そして、6キャラクタ分のキャラクタ長のチ
ェックを終了した場合には、これら6個のキャラクタの
復調をすべく、処理をS158に進める。これに対し
て、未だ6キャラクタ分のキャラクタ長のチェックを終
了していない場合には、隣接する次のキャラクタのキャ
ラクタ長をチェックすべく、処理をS153に戻す。
接キャラクタ(初期においては第6キャラクタ)の長さ
をチェックする。そして、このキャラクタの長さが一定
値近傍内にない場合には(S154)、これまでにキャ
ラクタ長が一定値近傍内であったとチェックされた左ブ
ロックのキャラクタに対する復調を行うべく、処理をS
158に進める。これに対して、このキャラクタの長さ
が一定値近傍内にある場合には(S154)、S155
において、歪み量が大か否かをチェックする。そして、
歪み量が小である場合には処理をそのままS157に進
めるが、歪み量が大である場合には、S156において
「歪み有りフラグ」をセットしてから処理をS157に
進める。S157では、左ブロックをなす6キャラクタ
分のキャラクタ長のチェックを終了したかどうかをチェ
ックする。そして、6キャラクタ分のキャラクタ長のチ
ェックを終了した場合には、これら6個のキャラクタの
復調をすべく、処理をS158に進める。これに対し
て、未だ6キャラクタ分のキャラクタ長のチェックを終
了していない場合には、隣接する次のキャラクタのキャ
ラクタ長をチェックすべく、処理をS153に戻す。
【0055】S158では、S154において一定値近
傍内にあると判定されたキャラクタのうちから最もセン
ターバーに近いものを取り出して、このキャラクタに対
する復調処理を実行する(WPCコード体系において対
応するデータに置き換える)。次のS159では、S1
58での復調処理が成功したかどうかをチェックする。
そして、復調処理が成功しなかった場合には、そのまま
処理をS163に進め、復調処理が成功した場合には処
理をS160に進める。S160では、歪み量が大か否
かをチェックする。そして、歪み量が小である場合には
処理をそのままS162に進めるが、歪み量が大である
場合には、S161において「歪み有りフラグ」をセッ
トしてから処理をS162に進める。S162では、S
154のキャラクタ長チェックにおいて一定値近傍内に
あると判定されたキャラクタの個数分の復調処理が完了
したか否かをチェックする。そして、未だ全個数分の復
調処理が完了していない場合には、次のキャラクタに対
する復調処理を実行すべく、処理をS158に戻す。こ
れに対して、全個数分の復調処理が完了している場合に
は、処理をS163に進める。
傍内にあると判定されたキャラクタのうちから最もセン
ターバーに近いものを取り出して、このキャラクタに対
する復調処理を実行する(WPCコード体系において対
応するデータに置き換える)。次のS159では、S1
58での復調処理が成功したかどうかをチェックする。
そして、復調処理が成功しなかった場合には、そのまま
処理をS163に進め、復調処理が成功した場合には処
理をS160に進める。S160では、歪み量が大か否
かをチェックする。そして、歪み量が小である場合には
処理をそのままS162に進めるが、歪み量が大である
場合には、S161において「歪み有りフラグ」をセッ
トしてから処理をS162に進める。S162では、S
154のキャラクタ長チェックにおいて一定値近傍内に
あると判定されたキャラクタの個数分の復調処理が完了
したか否かをチェックする。そして、未だ全個数分の復
調処理が完了していない場合には、次のキャラクタに対
する復調処理を実行すべく、処理をS158に戻す。こ
れに対して、全個数分の復調処理が完了している場合に
は、処理をS163に進める。
【0056】S163では、S158での復調処理によ
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタである場合
には、処理をS168に進め、6キャラクタ未満である
場合には、処理をS164に進める。
って復調できたキャラクタ数が6キャラクタであるかど
うかをチェックする。そして、6キャラクタである場合
には、処理をS168に進め、6キャラクタ未満である
場合には、処理をS164に進める。
【0057】S164では、第1キャラクタの長さをチ
ェックする。そして、この第1キャラクタの長さが一定
値近傍内にない場合(第1キャラクタが欠落している場
合を含む)には(S165)、処理をS168に進め
る。これに対して、この第1キャラクタの長さが一定値
近傍内にある場合には(S165)、S166におい
て、スタートガードバーのチェック,及びスタートマー
ジンチェックを行う。そして、スタートガードバーを検
出した場合には(S167)、S101の判定と矛盾す
るとして、S136において「1STコード復調完了フ
ラグ」をリセットして、このサブルーチンを終了する。
これに対して、スタートガードバーを検出できなかった
場合には(S167)、処理をS168に進める。
ェックする。そして、この第1キャラクタの長さが一定
値近傍内にない場合(第1キャラクタが欠落している場
合を含む)には(S165)、処理をS168に進め
る。これに対して、この第1キャラクタの長さが一定値
近傍内にある場合には(S165)、S166におい
て、スタートガードバーのチェック,及びスタートマー
ジンチェックを行う。そして、スタートガードバーを検
出した場合には(S167)、S101の判定と矛盾す
るとして、S136において「1STコード復調完了フ
ラグ」をリセットして、このサブルーチンを終了する。
これに対して、スタートガードバーを検出できなかった
場合には(S167)、処理をS168に進める。
【0058】S168では、復調完了したデータ群がセ
ンターバーを挟んで両側に連続するデータ群であるかを
チェックする。そして、センターバーを挟んで両側に連
続している場合には、S135において「1STコード
復調完了フラグ」をセットして、このサブルーチンを終
了する。これに対してセンターバーを挟んで両側に連続
していない場合には、ほとんどあり得ない状況であって
データの信頼性が低いので、S136において「1ST
コード復調完了フラグ」をリセットして、このサブルー
チンを終了する。
ンターバーを挟んで両側に連続するデータ群であるかを
チェックする。そして、センターバーを挟んで両側に連
続している場合には、S135において「1STコード
復調完了フラグ」をセットして、このサブルーチンを終
了する。これに対してセンターバーを挟んで両側に連続
していない場合には、ほとんどあり得ない状況であって
データの信頼性が低いので、S136において「1ST
コード復調完了フラグ」をリセットして、このサブルー
チンを終了する。
【0059】一方、S138にて処理対象のバー幅デー
タ群がセンターバーを含んでいないと判定した場合に
は、片側のブロックのみを読み取ったバー幅データ群
(以下、「ブロック読みのバー幅データ群」という)で
もありえないので、処理をS169に進める。このS1
69では、このバー幅データ群がエンドガードバーを含
んでいるかどうかのエンドガードバーチェック,及びエ
ンドマージンチェックを行う。そして、エンドガードバ
ーを含んでいない場合には(S170)、バーコード以
外の模様に基づくデータ群であるとみなして、S136
において「1STコード復調完了フラグ」をリセット
し、このサブルーチンを終了する。これに対して、エン
ドガードバーを含んでいる場合は(S170)、処理を
S171に進める。S171乃至S187の処理は、エ
ンドガードバーを起点としてセンターバー側に、復調で
きる箇所までキャラクタを復調するための処理である。
タ群がセンターバーを含んでいないと判定した場合に
は、片側のブロックのみを読み取ったバー幅データ群
(以下、「ブロック読みのバー幅データ群」という)で
もありえないので、処理をS169に進める。このS1
69では、このバー幅データ群がエンドガードバーを含
んでいるかどうかのエンドガードバーチェック,及びエ
ンドマージンチェックを行う。そして、エンドガードバ
ーを含んでいない場合には(S170)、バーコード以
外の模様に基づくデータ群であるとみなして、S136
において「1STコード復調完了フラグ」をリセット
し、このサブルーチンを終了する。これに対して、エン
ドガードバーを含んでいる場合は(S170)、処理を
S171に進める。S171乃至S187の処理は、エ
ンドガードバーを起点としてセンターバー側に、復調で
きる箇所までキャラクタを復調するための処理である。
【0060】S171では、第12キャラクタの長さを
チェックする。そして、第12キャラクタの長さが一定
値近傍内にない場合には(S172)、バーコード以外
の模様に基づくデータ群であるとみなして、S136に
おいて「1STコード復調完了フラグ」をリセットし、
このサブルーチンを終了する。これに対して、第12キ
ャラクタの長さが一定値近傍内にある場合には(S17
2)、処理をS173に進める。
チェックする。そして、第12キャラクタの長さが一定
値近傍内にない場合には(S172)、バーコード以外
の模様に基づくデータ群であるとみなして、S136に
おいて「1STコード復調完了フラグ」をリセットし、
このサブルーチンを終了する。これに対して、第12キ
ャラクタの長さが一定値近傍内にある場合には(S17
2)、処理をS173に進める。
【0061】S173では、センターバー側の隣接キャ
ラクタ(初期においては第11キャラクタ)の長さをチ
ェックする。そして、このキャラクタの長さが一定値近
傍内にない場合には(S174)、これまでにキャラク
タ長が一定値近傍内であったとチェックされた右ブロッ
クのキャラクタに対する復調を行うべく、処理をS17
8に進める。これに対して、このキャラクタの長さが一
定値近傍内にある場合には(S174)、S175にお
いて、歪み量が大か否かをチェックする。そして、歪み
量が小である場合には処理をそのままS177に進める
が、歪み量が大である場合には、S176において「歪
み有りフラグ」をセットしてから処理をS177に進め
る。S177では、右ブロックをなす6キャラクタ分の
キャラクタ長のチェックを終了したかどうかをチェック
する。そして、6キャラクタ分のキャラクタ長のチェッ
クを終了した場合には、これら6個のキャラクタの復調
をすべく、処理をS178に進める。これに対して、未
だ6キャラクタ分のキャラクタ長のチェックを終了して
いない場合には、隣接する次のキャラクタのキャラクタ
長をチェックすべく、処理をS173に戻す。
ラクタ(初期においては第11キャラクタ)の長さをチ
ェックする。そして、このキャラクタの長さが一定値近
傍内にない場合には(S174)、これまでにキャラク
タ長が一定値近傍内であったとチェックされた右ブロッ
クのキャラクタに対する復調を行うべく、処理をS17
8に進める。これに対して、このキャラクタの長さが一
定値近傍内にある場合には(S174)、S175にお
いて、歪み量が大か否かをチェックする。そして、歪み
量が小である場合には処理をそのままS177に進める
が、歪み量が大である場合には、S176において「歪
み有りフラグ」をセットしてから処理をS177に進め
る。S177では、右ブロックをなす6キャラクタ分の
キャラクタ長のチェックを終了したかどうかをチェック
する。そして、6キャラクタ分のキャラクタ長のチェッ
クを終了した場合には、これら6個のキャラクタの復調
をすべく、処理をS178に進める。これに対して、未
だ6キャラクタ分のキャラクタ長のチェックを終了して
いない場合には、隣接する次のキャラクタのキャラクタ
長をチェックすべく、処理をS173に戻す。
【0062】S178では、S172又はS174にお
いて一定値近傍内にあると判定されたキャラクタのうち
から最もエンドガードバーに近いものを取り出して、こ
のキャラクタに対する復調処理を実行する(WPCコー
ド体系において対応するデータに置き換える)。次のS
179では、S178での復調処理が成功したかどうか
をチェックする。そして、復調処理が成功しなかった場
合には、そのまま処理をS183に進め、復調処理が成
功した場合には処理をS180に進める。S180で
は、歪み量が大か否かをチェックする。そして、歪み量
が小である場合には処理をそのままS182に進める
が、歪み量が大である場合には、S181において「歪
み有りフラグ」をセットしてから処理をS182に進め
る。S182では、S172又はS174のキャラクタ
長チェックにおいてその長さが一定値近傍内にあると判
定されたキャラクタの個数分の復調処理が完了したか否
かをチェックする。そして、未だ全個数分の復調処理が
完了していない場合には、隣接する次のキャラクタに対
する復調処理を実行すべく、処理をS178に戻す。こ
れに対して、全個数分の復調処理が完了している場合に
は、処理をS183に進める。
いて一定値近傍内にあると判定されたキャラクタのうち
から最もエンドガードバーに近いものを取り出して、こ
のキャラクタに対する復調処理を実行する(WPCコー
ド体系において対応するデータに置き換える)。次のS
179では、S178での復調処理が成功したかどうか
をチェックする。そして、復調処理が成功しなかった場
合には、そのまま処理をS183に進め、復調処理が成
功した場合には処理をS180に進める。S180で
は、歪み量が大か否かをチェックする。そして、歪み量
が小である場合には処理をそのままS182に進める
が、歪み量が大である場合には、S181において「歪
み有りフラグ」をセットしてから処理をS182に進め
る。S182では、S172又はS174のキャラクタ
長チェックにおいてその長さが一定値近傍内にあると判
定されたキャラクタの個数分の復調処理が完了したか否
かをチェックする。そして、未だ全個数分の復調処理が
完了していない場合には、隣接する次のキャラクタに対
する復調処理を実行すべく、処理をS178に戻す。こ
れに対して、全個数分の復調処理が完了している場合に
は、処理をS183に進める。
【0063】S183では、第7キャラクタの長さをチ
ェックする。そして、この第7キャラクタの長さが一定
値近傍内にない場合(第7キャラクタが欠落している場
合を含む)には(S184)、処理をS187に進め、
この第7キャラクタの長さが一定値近傍内にある場合に
は(S184)、S185においてセンターバー及び第
6キャラクタの長さのチェックを行う。そして、センタ
ーバーを検出した場合又は第6キャラクタの長さが一定
値近傍内に入っている場合には(S186)、S138
の判定に矛盾するとして、S136において「1STコ
ード復調完了フラグ」をリセットしてこのサブルーチン
を終了する。これに対して、センターバーを検出できな
かった場合には(S186)、処理をS187に進め
る。
ェックする。そして、この第7キャラクタの長さが一定
値近傍内にない場合(第7キャラクタが欠落している場
合を含む)には(S184)、処理をS187に進め、
この第7キャラクタの長さが一定値近傍内にある場合に
は(S184)、S185においてセンターバー及び第
6キャラクタの長さのチェックを行う。そして、センタ
ーバーを検出した場合又は第6キャラクタの長さが一定
値近傍内に入っている場合には(S186)、S138
の判定に矛盾するとして、S136において「1STコ
ード復調完了フラグ」をリセットしてこのサブルーチン
を終了する。これに対して、センターバーを検出できな
かった場合には(S186)、処理をS187に進め
る。
【0064】S187では、S178にて復調完了した
データがエンドガードバー及び3個以上のキャラクタを
含んでいるか否かを、チェックする。そして、エンドガ
ードバー及び3個以上のキャラクタを含んでいる場合に
は、少なくとも分割読みのデータ群であると認められる
ので、S135にて「1STコード復調完了フラグ」を
セットしてこのサブルーチンを終了する。これに対し
て、エンドガードバー及び3個以上のキャラクタを含ん
でいない場合には、データの信頼性が低いので、S13
6にて「1STコード復調完了フラグ」をリセットして
このサブルーチンを終了する。
データがエンドガードバー及び3個以上のキャラクタを
含んでいるか否かを、チェックする。そして、エンドガ
ードバー及び3個以上のキャラクタを含んでいる場合に
は、少なくとも分割読みのデータ群であると認められる
ので、S135にて「1STコード復調完了フラグ」を
セットしてこのサブルーチンを終了する。これに対し
て、エンドガードバー及び3個以上のキャラクタを含ん
でいない場合には、データの信頼性が低いので、S13
6にて「1STコード復調完了フラグ」をリセットして
このサブルーチンを終了する。
【0065】このバーコード復調処理1のサブルーチン
から処理が戻された図3のメインルーチンでは、次のS
003において、CPU1内のRAM領域内に「1ST
コード復調完了フラグ」がセットされているかどうかが
チェックされる。この「1STコード復調完了フラグ」
は、S002のデータ復調処理1中のS135(図5)
においてセットされるフラグであり、WPCコード内に
おける少なくとも何れかのガードバー又はセンターバー
とこれに続く3キャラクタ以上のデータキャラクタが復
調されたことを示すフラグである。この「1STコード
復調完了フラグ」がセットされていない場合には、今回
復調処理対象としたバー幅データ群を破棄するととも
に、バー幅データ群格納バッファ2から新たにバー幅デ
ータ群を取り込んで復調処理を実行すべく、処理をS0
01に戻す。
から処理が戻された図3のメインルーチンでは、次のS
003において、CPU1内のRAM領域内に「1ST
コード復調完了フラグ」がセットされているかどうかが
チェックされる。この「1STコード復調完了フラグ」
は、S002のデータ復調処理1中のS135(図5)
においてセットされるフラグであり、WPCコード内に
おける少なくとも何れかのガードバー又はセンターバー
とこれに続く3キャラクタ以上のデータキャラクタが復
調されたことを示すフラグである。この「1STコード
復調完了フラグ」がセットされていない場合には、今回
復調処理対象としたバー幅データ群を破棄するととも
に、バー幅データ群格納バッファ2から新たにバー幅デ
ータ群を取り込んで復調処理を実行すべく、処理をS0
01に戻す。
【0066】これに対して、「1STコード復調完了フ
ラグ」がセットされている場合には、S004におい
て、復調された復調データを復調データ一時退避バッフ
ァ6に格納して、データ合成処理を行う(第1バーコー
ド合成手段に相当)。この合成処理は、復調データに含
まれるガードバー又は/及びセンターバー(CB)を手
掛かりに、固定形式であるWPCフォーマットに各復調
データを当て嵌めることによって、なされる。合成処理
を行った後には、処理をS005に進める。
ラグ」がセットされている場合には、S004におい
て、復調された復調データを復調データ一時退避バッフ
ァ6に格納して、データ合成処理を行う(第1バーコー
ド合成手段に相当)。この合成処理は、復調データに含
まれるガードバー又は/及びセンターバー(CB)を手
掛かりに、固定形式であるWPCフォーマットに各復調
データを当て嵌めることによって、なされる。合成処理
を行った後には、処理をS005に進める。
【0067】S005乃至S009の処理は、モジュラ
ス10チェックのための一連の処理である。S005で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。そして、スタートマージンが有効であると判
定されていない場合(スタートマージンチェックが行わ
れなかった場合を含む)には、処理をそのままS010
に進める。
ス10チェックのための一連の処理である。S005で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。そして、スタートマージンが有効であると判
定されていない場合(スタートマージンチェックが行わ
れなかった場合を含む)には、処理をそのままS010
に進める。
【0068】これに対して、スタートマージンが有効で
あると判定されていた場合には、S006において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S133,S152,S169)において、エ
ンドマージンが有効であると判定されたか否かがチェッ
クされる。そして、エンドマージンが有効であると判定
されていない場合(エンドマージンチェックが行われな
かった場合を含む)には、処理をそのままS010に進
める。
あると判定されていた場合には、S006において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S133,S152,S169)において、エ
ンドマージンが有効であると判定されたか否かがチェッ
クされる。そして、エンドマージンが有効であると判定
されていない場合(エンドマージンチェックが行われな
かった場合を含む)には、処理をそのままS010に進
める。
【0069】これに対して、エンドマージンが有効であ
ると判定されていた場合には、S007において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データ(一方の識別バーを
含む第1のバーコードのデータ)とエンドガードバーを
有する復調データ(他方の識別バーを含む第1のバーコ
ードのデータ)とが復調データ一時退避バッファ6内に
格納されているとともに所定の複数桁以上のデータキャ
ラクタが両復調データに含まれているか否かのチェック
である。そして、重複部チェックの結果がNGだった場
合(即ち、スタートガードバーを有する復調データ,又
はエンドガードバーを有する復調データが無かった場
合,若しくは、所定の複数桁以上のデータキャラクタが
両復調データに含まれていなかった場合)には、処理を
そのままS010に進める。
ると判定されていた場合には、S007において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データ(一方の識別バーを
含む第1のバーコードのデータ)とエンドガードバーを
有する復調データ(他方の識別バーを含む第1のバーコ
ードのデータ)とが復調データ一時退避バッファ6内に
格納されているとともに所定の複数桁以上のデータキャ
ラクタが両復調データに含まれているか否かのチェック
である。そして、重複部チェックの結果がNGだった場
合(即ち、スタートガードバーを有する復調データ,又
はエンドガードバーを有する復調データが無かった場
合,若しくは、所定の複数桁以上のデータキャラクタが
両復調データに含まれていなかった場合)には、処理を
そのままS010に進める。
【0070】これに対して、重複部チェックの結果がO
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S008において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。このモジュラス10チェック
とは、S004の合成処理によってWPCコード全体に
対応する復調データの獲得が成功したかどうかを判定す
るチェックである。そして、このモジュラス10チェッ
クの結果がNG(復調データ獲得不成功)である場合に
は、処理をそのままS010に進める。
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S008において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。このモジュラス10チェック
とは、S004の合成処理によってWPCコード全体に
対応する復調データの獲得が成功したかどうかを判定す
るチェックである。そして、このモジュラス10チェッ
クの結果がNG(復調データ獲得不成功)である場合に
は、処理をそのままS010に進める。
【0071】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
009において、1STコードM10−OKフラグをセ
ットする。この1STコードM10−OKフラグは、W
PCコードに対するモジュラス10チェックの結果がO
Kであった事,即ち、WPCコード全体に対応する復調
データが得られた事を、示す。以上のように、本実施形
態においては、WPCコードのスタートマージン及びエ
ンドマージンが共に有効であることが、WPCコードの
モジュラス10チェック結果がOKとなる条件となって
いる。フラグセット後、処理がS010に進められる。
結果がOK(復調データ獲得成功)である場合には、S
009において、1STコードM10−OKフラグをセ
ットする。この1STコードM10−OKフラグは、W
PCコードに対するモジュラス10チェックの結果がO
Kであった事,即ち、WPCコード全体に対応する復調
データが得られた事を、示す。以上のように、本実施形
態においては、WPCコードのスタートマージン及びエ
ンドマージンが共に有効であることが、WPCコードの
モジュラス10チェック結果がOKとなる条件となって
いる。フラグセット後、処理がS010に進められる。
【0072】S010では、今回処理対象のバー幅デー
タ群に対するデータ復調処理(S002)の結果得られ
た復調データがエンドガードバー(RGB,第2のバー
コードに隣接する側に配置された第1のバーコードの識
別バー)に対応するパターンを有するか否かをチェック
する(第1バーコード識別バー検出手段に相当)。そし
て、その復調データがエンドガードバー(RGB)を有
さない場合には、処理をそのままS019に進める。
タ群に対するデータ復調処理(S002)の結果得られ
た復調データがエンドガードバー(RGB,第2のバー
コードに隣接する側に配置された第1のバーコードの識
別バー)に対応するパターンを有するか否かをチェック
する(第1バーコード識別バー検出手段に相当)。そし
て、その復調データがエンドガードバー(RGB)を有
さない場合には、処理をそのままS019に進める。
【0073】これに対して、復調データがエンドガード
バー(RGB)を有している場合には、S011におい
て、今回処理対象のバー幅データ群(S001での処理
により取り込まれたバー幅データ群)に対して、COD
E128コード体系(第2のコード体系)による復調ア
ルゴリズムに従ったデータ復調処理(データ復調処理
2)を実行する(復調手段に相当)。図8は、このデー
タ復調処理2のサブルーチンを示すフローチャートであ
る。このサブルーチンに入って最初のS201では、処
理対象のバー幅データ群がスタートコードを含んでいる
かどうかのチェック(スタートコードチェック),及
び、このスタートコードに有効なスタートマージンが付
随しているかどうかのチェック(スタートマージンチェ
ック)を、行う。
バー(RGB)を有している場合には、S011におい
て、今回処理対象のバー幅データ群(S001での処理
により取り込まれたバー幅データ群)に対して、COD
E128コード体系(第2のコード体系)による復調ア
ルゴリズムに従ったデータ復調処理(データ復調処理
2)を実行する(復調手段に相当)。図8は、このデー
タ復調処理2のサブルーチンを示すフローチャートであ
る。このサブルーチンに入って最初のS201では、処
理対象のバー幅データ群がスタートコードを含んでいる
かどうかのチェック(スタートコードチェック),及
び、このスタートコードに有効なスタートマージンが付
随しているかどうかのチェック(スタートマージンチェ
ック)を、行う。
【0074】次のS202では、S201でのスタート
コードチェックの結果スタートコードが検出されたか否
かをチェックする。そして、スタートコードが検出され
た時には、処理対象のバー幅データ群にCODE128
バーコードが含まれているとみなし、処理をS205に
進める。
コードチェックの結果スタートコードが検出されたか否
かをチェックする。そして、スタートコードが検出され
た時には、処理対象のバー幅データ群にCODE128
バーコードが含まれているとみなし、処理をS205に
進める。
【0075】これに対してスタートコードが検出されな
かった場合には、S203において、処理対象のバー幅
データ群がストップコードを含んでいるかどうかのチェ
ック(ストップコードチェック),及び、このストップ
コードに有効なエンドマージンが付随しているかどうか
のチェック(エンドマージンチェック)を、行う。
かった場合には、S203において、処理対象のバー幅
データ群がストップコードを含んでいるかどうかのチェ
ック(ストップコードチェック),及び、このストップ
コードに有効なエンドマージンが付随しているかどうか
のチェック(エンドマージンチェック)を、行う。
【0076】次のS204では、S203でのストップ
コードチェックの結果ストップコードが検出されたか否
かをチェックする。そして、ストップコードが検出され
た場合には、処理対象のバー幅データ群にCODE12
8バーコードが含まれているとみなし、処理をS205
に進める。これに対して、ストップコードが検出されな
かった場合には、処理対象のバー幅データ群にCODE
128バーコードが含まれていないとみなし、このバー
幅データ群を破棄して処理をS213に進める。
コードチェックの結果ストップコードが検出されたか否
かをチェックする。そして、ストップコードが検出され
た場合には、処理対象のバー幅データ群にCODE12
8バーコードが含まれているとみなし、処理をS205
に進める。これに対して、ストップコードが検出されな
かった場合には、処理対象のバー幅データ群にCODE
128バーコードが含まれていないとみなし、このバー
幅データ群を破棄して処理をS213に進める。
【0077】S205では、スタートコード又はストッ
プコード(S202から処理が直接入ってきた場合には
スタートコード,S204から処理が入ってきた場合に
はストップコード)に隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、CODE1
28バーコード以外の箇所からの反射光に基づく読み取
りデータが偶然スタートコード又はストップコードと同
じ形状になったものであるとみなし、このバー幅データ
群を破棄して処理をS213に進める。
プコード(S202から処理が直接入ってきた場合には
スタートコード,S204から処理が入ってきた場合に
はストップコード)に隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、CODE1
28バーコード以外の箇所からの反射光に基づく読み取
りデータが偶然スタートコード又はストップコードと同
じ形状になったものであるとみなし、このバー幅データ
群を破棄して処理をS213に進める。
【0078】これに対して、キャラクタの長さがCOD
E128の規格条件を満たしている場合には、S206
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)。
E128の規格条件を満たしている場合には、S206
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)。
【0079】次のS207では、S206にてデータに
変換したキャラクタに隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、処理をS2
11に進める。
変換したキャラクタに隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、処理をS2
11に進める。
【0080】これに対して、キャラクタの長さがCOD
E128の規格条件を満たしている場合には、S208
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)。
E128の規格条件を満たしている場合には、S208
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)。
【0081】次のS209では、S206又はS208
のデータ復調が良好に行われたかどうかをチェックす
る。そして、復調が不調であった場合には、処理をS2
11に進め、復調が良好であった場合には、処理をS2
10に進める。
のデータ復調が良好に行われたかどうかをチェックす
る。そして、復調が不調であった場合には、処理をS2
11に進め、復調が良好であった場合には、処理をS2
10に進める。
【0082】S210では、更に隣接するキャラクタが
ストップコード(処理がS202から直接入ってきた場
合)又はスタートコード(処理がS204から入ってき
た場合)であるかどうかをチェックする。そして、隣接
するキャラクタがストップコード又はスタートコードの
構成を満たしていない場合には、処理をS207に戻
す。これに対してストップコード又はスタートコードの
構成を満たしている場合には、CODE128バーコー
ド全体が一度に読み取れたものとして、処理をS212
に進める。
ストップコード(処理がS202から直接入ってきた場
合)又はスタートコード(処理がS204から入ってき
た場合)であるかどうかをチェックする。そして、隣接
するキャラクタがストップコード又はスタートコードの
構成を満たしていない場合には、処理をS207に戻
す。これに対してストップコード又はスタートコードの
構成を満たしている場合には、CODE128バーコー
ド全体が一度に読み取れたものとして、処理をS212
に進める。
【0083】一方、S211では、それまでに復調され
た復調データの桁数がX桁以上であるかどうかをチェッ
クする。この「X桁」とは、セカンドコードの種類によ
って定まる桁数であり、セカンドコード全体の桁数の半
分よりも大きい桁数である。そして、復調データの桁数
がX桁以上である場合には処理をS212に進め、X桁
未満である場合には処理をS213に進める。
た復調データの桁数がX桁以上であるかどうかをチェッ
クする。この「X桁」とは、セカンドコードの種類によ
って定まる桁数であり、セカンドコード全体の桁数の半
分よりも大きい桁数である。そして、復調データの桁数
がX桁以上である場合には処理をS212に進め、X桁
未満である場合には処理をS213に進める。
【0084】S212では、「2NDコード復調完了フ
ラグ」をセットしてこのサブルーチンを終了する。これ
に対して、S213では、「2NDコード復調完了フラ
グ」をリセットしてこのサブルーチンを終了する。
ラグ」をセットしてこのサブルーチンを終了する。これ
に対して、S213では、「2NDコード復調完了フラ
グ」をリセットしてこのサブルーチンを終了する。
【0085】このデータ復調処理2のサブルーチンから
処理が戻された図4のメインルーチンでは、次のS01
2において、CPU1内のRAM領域内に「2NDコー
ド復調完了フラグ」がセットされているかどうかがチェ
ックされる。この「2NDコード復調完了フラグ」は、
S011のデータ復調処理2中のS212(図8)にお
いてセットされるフラグであり、CODE128バーコ
ード内における少なくともスタートコード又はストップ
コードとこれに続くX桁以上のデータキャラクタが復調
されたことを示すフラグである。この「2NDコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS001に
戻す。
処理が戻された図4のメインルーチンでは、次のS01
2において、CPU1内のRAM領域内に「2NDコー
ド復調完了フラグ」がセットされているかどうかがチェ
ックされる。この「2NDコード復調完了フラグ」は、
S011のデータ復調処理2中のS212(図8)にお
いてセットされるフラグであり、CODE128バーコ
ード内における少なくともスタートコード又はストップ
コードとこれに続くX桁以上のデータキャラクタが復調
されたことを示すフラグである。この「2NDコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS001に
戻す。
【0086】これに対して、「2NDコード復調完了フ
ラグ」がセットされている場合には、S013におい
て、復調された復調データを復調データ一時退避バッフ
ァ6に格納して、データ合成処理を行う(第2バーコー
ド合成手段に相当)。この合成処理は、復調データに含
まれるスタートコード又はストップコード,並びに各復
調データに含まれる共通部分を手掛かりに、CODE1
28フォーマットに各復調データを当て填めることによ
って、なされる。合成処理を行った後には、処理をS0
14に進める。
ラグ」がセットされている場合には、S013におい
て、復調された復調データを復調データ一時退避バッフ
ァ6に格納して、データ合成処理を行う(第2バーコー
ド合成手段に相当)。この合成処理は、復調データに含
まれるスタートコード又はストップコード,並びに各復
調データに含まれる共通部分を手掛かりに、CODE1
28フォーマットに各復調データを当て填めることによ
って、なされる。合成処理を行った後には、処理をS0
14に進める。
【0087】S014乃至S018の処理は、モジュラ
ス10チェックのための一連の処理である。S014で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S201)において、スタートマージ
ンが有効であると判定されたか否かがチェックされる。
そして、スタートマージンが有効であると判定されてい
ない場合(スタートマージンチェックが行われなかった
場合を含む)には、処理をそのままS019に進める。
ス10チェックのための一連の処理である。S014で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S201)において、スタートマージ
ンが有効であると判定されたか否かがチェックされる。
そして、スタートマージンが有効であると判定されてい
ない場合(スタートマージンチェックが行われなかった
場合を含む)には、処理をそのままS019に進める。
【0088】これに対して、スタートマージンが有効で
あると判定されていた場合には、S015において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S203)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。そして、エ
ンドマージンが有効であると判定されていない場合(エ
ンドマージンチェックが行われなかった場合を含む)に
は、処理をそのままS019に進める。
あると判定されていた場合には、S015において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S203)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。そして、エ
ンドマージンが有効であると判定されていない場合(エ
ンドマージンチェックが行われなかった場合を含む)に
は、処理をそのままS019に進める。
【0089】これに対して、エンドマージンが有効であ
ると判定されていた場合には、S016において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートコードを有する復調データ(一方の識別バーを含む
第2のバーコードのデータ)とストップコードを有する
復調データ(他方の識別バーを含む第2のバーコードの
データ)とが復調データ一時退避バッファ6内に格納さ
れているとともに所定の複数桁以上のデータキャラクタ
が両復調データに含まれているか否かのチェックであ
る。そして、重複部チェックの結果がNGだった場合
(即ち、スタートコードを有する復調データ,又はスト
ップコードを有する復調データが無かった場合,若しく
は、所定の複数桁以上のデータキャラクタが両復調デー
タに含まれていなかった場合)には、処理をそのままS
019に進める。
ると判定されていた場合には、S016において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートコードを有する復調データ(一方の識別バーを含む
第2のバーコードのデータ)とストップコードを有する
復調データ(他方の識別バーを含む第2のバーコードの
データ)とが復調データ一時退避バッファ6内に格納さ
れているとともに所定の複数桁以上のデータキャラクタ
が両復調データに含まれているか否かのチェックであ
る。そして、重複部チェックの結果がNGだった場合
(即ち、スタートコードを有する復調データ,又はスト
ップコードを有する復調データが無かった場合,若しく
は、所定の複数桁以上のデータキャラクタが両復調デー
タに含まれていなかった場合)には、処理をそのままS
019に進める。
【0090】これに対して、重複部チェックの結果がO
Kだった場合(即ち、スタートコードを有する復調デー
タとストップコードを有する復調データとが復調データ
一時退避バッファ6内に格納されているとともに所定の
複数桁以上のデータキャラクタが両復調データに含まれ
ていた場合)には、S017において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックとは、S013の合成処理によってCODE12
8バーコード全体に対応する復調データの獲得が成功し
たかどうかを判定するチェックである。このモジュラス
10チェックの結果がNG(復調データ獲得不成功)で
ある場合には、処理をそのままS019に進める。
Kだった場合(即ち、スタートコードを有する復調デー
タとストップコードを有する復調データとが復調データ
一時退避バッファ6内に格納されているとともに所定の
複数桁以上のデータキャラクタが両復調データに含まれ
ていた場合)には、S017において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックとは、S013の合成処理によってCODE12
8バーコード全体に対応する復調データの獲得が成功し
たかどうかを判定するチェックである。このモジュラス
10チェックの結果がNG(復調データ獲得不成功)で
ある場合には、処理をそのままS019に進める。
【0091】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
018において、2NDコードM10−OKフラグをセ
ットする。この2NDコードM10−OKフラグは、C
ODE128バーコードに対するモジュラス10チェッ
クの結果がOKであった事,即ち、CODE128バー
コード全体に対応する復調データが得られた事を、示
す。以上のように、本実施形態においては、CODE1
28バーコードのスタートマージン及びエンドマージン
が共に有効であることが、CODE128バーコードの
モジュラス10チェック結果がOKとなる条件となって
いる。フラグセット後、処理がS019に進められる。
結果がOK(復調データ獲得成功)である場合には、S
018において、2NDコードM10−OKフラグをセ
ットする。この2NDコードM10−OKフラグは、C
ODE128バーコードに対するモジュラス10チェッ
クの結果がOKであった事,即ち、CODE128バー
コード全体に対応する復調データが得られた事を、示
す。以上のように、本実施形態においては、CODE1
28バーコードのスタートマージン及びエンドマージン
が共に有効であることが、CODE128バーコードの
モジュラス10チェック結果がOKとなる条件となって
いる。フラグセット後、処理がS019に進められる。
【0092】S019では、復調データ一時退避バッフ
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S009にてセット)及び2NDコードM10−OK
フラグ(S018にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS001に戻す。
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S009にてセット)及び2NDコードM10−OK
フラグ(S018にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS001に戻す。
【0093】これに対して、WPCコードの復調データ
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグが共にセットされている場合)に
は、S020において、「読み取りOK」の処理が実行
される。この「読み取りOK」の処理では、バーコード
の読取(復調)完了を示す音声をスピーカ10から出
し、バーコードの復調の結果得られた商品20の販売価
格等の情報を発光ダイオード11によって表示する。こ
の後で、この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図13
に基づいて、説明する。いま、図13に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)を通過しているが、WPCコード(1st)のエ
ンドガードバー(RGB)の手前でクーポンコード上か
ら逸れてしまっている。
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグが共にセットされている場合)に
は、S020において、「読み取りOK」の処理が実行
される。この「読み取りOK」の処理では、バーコード
の読取(復調)完了を示す音声をスピーカ10から出
し、バーコードの復調の結果得られた商品20の販売価
格等の情報を発光ダイオード11によって表示する。こ
の後で、この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図13
に基づいて、説明する。いま、図13に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)を通過しているが、WPCコード(1st)のエ
ンドガードバー(RGB)の手前でクーポンコード上か
ら逸れてしまっている。
【0094】従って、この走査軌跡に沿ったバー幅デ
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中までの復調がなされる。但
し、1STコードM10−OKフラグはセットされない
(S009)。しかも、エンドガードバー(RGB)は
検出されないので(S010)、CODE128コード
体系に従った復調が行われることなく、このバー幅デー
タ群に対する復調処理が終了する。この場合、このバー
幅データ群には、実際にもCODE128バーコードに
よるデータが含まれていないので、CODE128コー
ド体系に従った復調処理を省くことにより、処理時間が
短縮される。
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中までの復調がなされる。但
し、1STコードM10−OKフラグはセットされない
(S009)。しかも、エンドガードバー(RGB)は
検出されないので(S010)、CODE128コード
体系に従った復調が行われることなく、このバー幅デー
タ群に対する復調処理が終了する。この場合、このバー
幅データ群には、実際にもCODE128バーコードに
よるデータが含まれていないので、CODE128コー
ド体系に従った復調処理を省くことにより、処理時間が
短縮される。
【0095】次に、走査軌跡に沿って、クーポンコー
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がWPCコード(1st)から逸れ
た位置よりもスタートガードバー(LGB)寄りの位置
からWPCコード(1st)上を走査し始めて、COD
E128バーコード(2nd)のストップコード(S
P)までを一気に走査している。
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がWPCコード(1st)から逸れ
た位置よりもスタートガードバー(LGB)寄りの位置
からWPCコード(1st)上を走査し始めて、COD
E128バーコード(2nd)のストップコード(S
P)までを一気に走査している。
【0096】従って、この走査軌跡に沿ったバー幅デ
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中から復調がなされる。その結
果、1STコードM10−OKフラグがセットされるこ
とになる(S009)。しかも、エンドガードバー(R
GB)が検出されるので(S010)、CODE128
コード体系に従った復調に切り替わる。そして、COD
E128コード体系に従って復調すると、CODE12
8全体が復調され、2NDコードM10−OKフラグが
セットされる(S018)。その結果、1STコードM
10−OKフラグと2NDコードM10−OKフラグが
共にセットされたことになるので、読み取りOK処理
(S020)がなされる。
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中から復調がなされる。その結
果、1STコードM10−OKフラグがセットされるこ
とになる(S009)。しかも、エンドガードバー(R
GB)が検出されるので(S010)、CODE128
コード体系に従った復調に切り替わる。そして、COD
E128コード体系に従って復調すると、CODE12
8全体が復調され、2NDコードM10−OKフラグが
セットされる(S018)。その結果、1STコードM
10−OKフラグと2NDコードM10−OKフラグが
共にセットされたことになるので、読み取りOK処理
(S020)がなされる。
【0097】このように、本実施形態では、WPCコー
ド体系に従った復調を行った結果エンドガードバー(R
GB)が検出された場合には、そのバー幅データ群にC
ODE128バーコードによるデータが含まれている蓋
然性が高いものとして、新たにレーザビーム走査を行う
ことなくCODE128コード体系に従った復調処理を
行う。従って、全体の処理時間を短くすることができ
る。
ド体系に従った復調を行った結果エンドガードバー(R
GB)が検出された場合には、そのバー幅データ群にC
ODE128バーコードによるデータが含まれている蓋
然性が高いものとして、新たにレーザビーム走査を行う
ことなくCODE128コード体系に従った復調処理を
行う。従って、全体の処理時間を短くすることができ
る。
【0098】
【実施形態2】上述の第1実施形態によるバーコード認
識/復調処理プログラムでは、1STコード復調完了フ
ラグがセットされていることが、CODE128コード
体系に従った復調処理実行の前提条件であった。即ち、
処理対象のバー幅データ群を予めWPCコード体系に従
って復調処理して、その結果として1STコード復調完
了フラグがセットされなければ(S003)、CODE
128コード体系に従ったデータ復調処理2(S01
1)に進むことができなかった。従って、走査軌跡がW
PCコードを全く通過しなかった場合(若しくは、デー
タキャラクタ3桁未満しか通過しなかった場合)には、
走査軌跡がCODE128バーコード全体を通過した場
合であっても、CODE128コード体系に従ったデー
タ復調はなされない。
識/復調処理プログラムでは、1STコード復調完了フ
ラグがセットされていることが、CODE128コード
体系に従った復調処理実行の前提条件であった。即ち、
処理対象のバー幅データ群を予めWPCコード体系に従
って復調処理して、その結果として1STコード復調完
了フラグがセットされなければ(S003)、CODE
128コード体系に従ったデータ復調処理2(S01
1)に進むことができなかった。従って、走査軌跡がW
PCコードを全く通過しなかった場合(若しくは、デー
タキャラクタ3桁未満しか通過しなかった場合)には、
走査軌跡がCODE128バーコード全体を通過した場
合であっても、CODE128コード体系に従ったデー
タ復調はなされない。
【0099】本第2実施形態は、第1実施形態における
その点についての不都合を解決したものであり、1ST
コード復調完了フラグがセットされていなくても、CO
DE128バーコードのストップコードが検出された場
合にはCODE128コード体系に従った復調を行うと
したものである。 (バーコード認識/復調処理)図14及び図15は、本
発明の第2実施形態によるバーコード読取装置のCPU
1にて実行されるバーコード認識/復調処理プログラム
の具体的内容を示す。
その点についての不都合を解決したものであり、1ST
コード復調完了フラグがセットされていなくても、CO
DE128バーコードのストップコードが検出された場
合にはCODE128コード体系に従った復調を行うと
したものである。 (バーコード認識/復調処理)図14及び図15は、本
発明の第2実施形態によるバーコード読取装置のCPU
1にて実行されるバーコード認識/復調処理プログラム
の具体的内容を示す。
【0100】図14のフローチャートは、バーコード読
取装置に主電源が投入された後においてバー幅データ群
格納バッファ2にバー幅データ群が格納された時に、ス
タートする。そして最初のS301において、バー幅デ
ータ群格納バッファ2内から、最も古いバー幅データ群
を一つ取り出す。
取装置に主電源が投入された後においてバー幅データ群
格納バッファ2にバー幅データ群が格納された時に、ス
タートする。そして最初のS301において、バー幅デ
ータ群格納バッファ2内から、最も古いバー幅データ群
を一つ取り出す。
【0101】次のS302では、取り出したバー幅デー
タ群に対して、WPCコード体系による復調アルゴリズ
ムに従ったデータ復調処理(データ復調処理1)を実行
する(復調手段に相当)。このデータ復調処理1は、図
5乃至図7のサブルーチンに従ってなされる。
タ群に対して、WPCコード体系による復調アルゴリズ
ムに従ったデータ復調処理(データ復調処理1)を実行
する(復調手段に相当)。このデータ復調処理1は、図
5乃至図7のサブルーチンに従ってなされる。
【0102】次のS303では、CPU1内のRAM領
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、S30
4において、今回処理対象のバー幅データ群からCOD
E128バーコードのストップコードが検出されたか否
かをチェックする(第2バーコード識別バー検出手段に
相当)。そして、ストップコードが検出されなかった場
合には、当該バー幅データ群にはCODE128バーコ
ードによるデータも含まれていないものとみなし、今回
復調処理対象としたバー幅データ群を破棄するととも
に、処理をS301に戻す。これに対して、ストップコ
ードが検出された場合には、CODE128コード体系
に従った復調処理を行うべく、処理をS315に進め
る。
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、S30
4において、今回処理対象のバー幅データ群からCOD
E128バーコードのストップコードが検出されたか否
かをチェックする(第2バーコード識別バー検出手段に
相当)。そして、ストップコードが検出されなかった場
合には、当該バー幅データ群にはCODE128バーコ
ードによるデータも含まれていないものとみなし、今回
復調処理対象としたバー幅データ群を破棄するととも
に、処理をS301に戻す。これに対して、ストップコ
ードが検出された場合には、CODE128コード体系
に従った復調処理を行うべく、処理をS315に進め
る。
【0103】一方、S303にて「1STコード復調完
了フラグ」がセットされているとした場合には、S30
5において、復調された復調データを復調データ一時退
避バッファ6に格納して、データ合成処理を行う(第1
バーコード合成手段に相当)。合成処理を行った後に
は、処理をS306に進める。
了フラグ」がセットされているとした場合には、S30
5において、復調された復調データを復調データ一時退
避バッファ6に格納して、データ合成処理を行う(第1
バーコード合成手段に相当)。合成処理を行った後に
は、処理をS306に進める。
【0104】S306乃至S310の処理は、モジュラ
ス10チェックのための一連の処理である。S306で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。そして、スタートマージンが有効であると判
定されていない場合(スタートマージンチェックが行わ
れなかった場合を含む)には、処理をそのままS311
に進める。
ス10チェックのための一連の処理である。S306で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。そして、スタートマージンが有効であると判
定されていない場合(スタートマージンチェックが行わ
れなかった場合を含む)には、処理をそのままS311
に進める。
【0105】これに対して、スタートマージンが有効で
あると判定されていた場合には、S307において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S133,S152,S169)において、エ
ンドマージンが有効であると判定されたか否かがチェッ
クされる。そして、エンドマージンが有効であると判定
されていない場合(エンドマージンチェックが行われな
かった場合を含む)には、処理をそのままS311に進
める。
あると判定されていた場合には、S307において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S133,S152,S169)において、エ
ンドマージンが有効であると判定されたか否かがチェッ
クされる。そして、エンドマージンが有効であると判定
されていない場合(エンドマージンチェックが行われな
かった場合を含む)には、処理をそのままS311に進
める。
【0106】これに対して、エンドマージンが有効であ
ると判定されていた場合には、S308において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データとエンドガードバー
を有する復調データとが復調データ一時退避バッファ6
内に格納されているとともに所定の複数桁以上のデータ
キャラクタが両復調データに含まれているか否かのチェ
ックである。そして、重複部チェックの結果がNGだっ
た場合(即ち、スタートガードバーを有する復調デー
タ,又はエンドガードバーを有する復調データが無かっ
た場合,若しくは、所定の複数桁以上のデータキャラク
タが両復調データに含まれていなかった場合)には、処
理をそのままS311に進める。
ると判定されていた場合には、S308において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データとエンドガードバー
を有する復調データとが復調データ一時退避バッファ6
内に格納されているとともに所定の複数桁以上のデータ
キャラクタが両復調データに含まれているか否かのチェ
ックである。そして、重複部チェックの結果がNGだっ
た場合(即ち、スタートガードバーを有する復調デー
タ,又はエンドガードバーを有する復調データが無かっ
た場合,若しくは、所定の複数桁以上のデータキャラク
タが両復調データに含まれていなかった場合)には、処
理をそのままS311に進める。
【0107】これに対して、重複部チェックの結果がO
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S309において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。そして、このモジュラス10
チェックの結果がNG(復調データ獲得不成功)である
場合には、処理をそのままS311に進める。
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S309において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。そして、このモジュラス10
チェックの結果がNG(復調データ獲得不成功)である
場合には、処理をそのままS311に進める。
【0108】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
310において、1STコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、WP
Cコードのスタートマージン及びエンドマージンが共に
有効であることが、WPCコードのモジュラス10チェ
ック結果がOKとなる条件となっている。フラグセット
後、処理がS311に進められる。
結果がOK(復調データ獲得成功)である場合には、S
310において、1STコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、WP
Cコードのスタートマージン及びエンドマージンが共に
有効であることが、WPCコードのモジュラス10チェ
ック結果がOKとなる条件となっている。フラグセット
後、処理がS311に進められる。
【0109】S311では、今回処理対象のバー幅デー
タ群に対するデータ復調処理(S302)の結果得られ
た復調データがエンドガードバー(RGB)を有するか
否かをチェックする(第1バーコード識別バー検出手段
に相当)。そして、その復調データがエンドガードバー
(RGB)を有さない場合には、処理をそのままS31
2に進める。
タ群に対するデータ復調処理(S302)の結果得られ
た復調データがエンドガードバー(RGB)を有するか
否かをチェックする(第1バーコード識別バー検出手段
に相当)。そして、その復調データがエンドガードバー
(RGB)を有さない場合には、処理をそのままS31
2に進める。
【0110】これに対して、復調データがエンドガード
バー(RGB)を有している場合には、S314におい
て、今回処理対象のバー幅データ群からCODE128
バーコードのスタートコードが検出されたか否かをチェ
ックする。そして、スタートコードが検出されなかった
場合には、当該バー幅データ群にはCODE128バー
コードによるデータも含まれていないものとみなし、今
回復調処理対象としたバー幅データ群を破棄するととも
に、処理をS301に戻す。これに対して、スタートコ
ードが検出された場合には、CODE128コード体系
に従った復調処理を行うべく、処理をS315に進め
る。S315以降は、CODE128コード体系による
復調アルゴリズムに従った復調処理である。このS31
5では、マージンチェックを実行する。即ち、S304
から処理が入ってきた場合には、S304にて検出した
ストップコードに有効なエンドマージンが付随している
かどうかをチェックし、S314から処理が入ってきた
場合には、S314にて検出したスタートコードに有効
なスタートマージンが付随しているかどうかをチェック
する。
バー(RGB)を有している場合には、S314におい
て、今回処理対象のバー幅データ群からCODE128
バーコードのスタートコードが検出されたか否かをチェ
ックする。そして、スタートコードが検出されなかった
場合には、当該バー幅データ群にはCODE128バー
コードによるデータも含まれていないものとみなし、今
回復調処理対象としたバー幅データ群を破棄するととも
に、処理をS301に戻す。これに対して、スタートコ
ードが検出された場合には、CODE128コード体系
に従った復調処理を行うべく、処理をS315に進め
る。S315以降は、CODE128コード体系による
復調アルゴリズムに従った復調処理である。このS31
5では、マージンチェックを実行する。即ち、S304
から処理が入ってきた場合には、S304にて検出した
ストップコードに有効なエンドマージンが付随している
かどうかをチェックし、S314から処理が入ってきた
場合には、S314にて検出したスタートコードに有効
なスタートマージンが付随しているかどうかをチェック
する。
【0111】次のS316では、スタートコード又はス
トップコード(S314から処理が入ってきた場合には
スタートコード,S304から処理が入ってきた場合に
はストップコード)に隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、CODE1
28バーコード以外の箇所からの反射光に基づく読み取
りデータが偶然スタートコード又はストップコードと同
じ形状になったものであるとみなし、このバー幅データ
群を破棄して処理をS301に戻す。
トップコード(S314から処理が入ってきた場合には
スタートコード,S304から処理が入ってきた場合に
はストップコード)に隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、CODE1
28バーコード以外の箇所からの反射光に基づく読み取
りデータが偶然スタートコード又はストップコードと同
じ形状になったものであるとみなし、このバー幅データ
群を破棄して処理をS301に戻す。
【0112】これに対して、キャラクタの長さがCOD
E128の規格条件を満たしている場合には、S317
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)(復調手段に相当)。
E128の規格条件を満たしている場合には、S317
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)(復調手段に相当)。
【0113】次のS318では、S317にてデータに
変換したキャラクタに隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、処理をS3
22に進める。
変換したキャラクタに隣接するキャラクタの長さが、C
ODE128の規格条件を満たしているかどうかをチェ
ックする。そして、このキャラクタの長さがCODE1
28の規格条件を満たしていない場合には、処理をS3
22に進める。
【0114】これに対して、キャラクタの長さがCOD
E128の規格条件を満たしている場合には、S319
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)(復調手段に相当)。
E128の規格条件を満たしている場合には、S319
において、このキャラクタをデータに変換する(COD
E128コード体系において対応するデータに置き換え
る)(復調手段に相当)。
【0115】次のS320では、S317又はS319
のデータ復調が良好に行われたかどうかをチェックす
る。そして、復調が不調であった場合には、処理をS3
22に進め、復調が良好であった場合には、処理をS3
21に進める。
のデータ復調が良好に行われたかどうかをチェックす
る。そして、復調が不調であった場合には、処理をS3
22に進め、復調が良好であった場合には、処理をS3
21に進める。
【0116】S321では、更に隣接するキャラクタが
ストップコード(処理がS314から入ってきた場合)
又はスタートコード(処理がS304から入ってきた場
合)であるかどうかをチェックする。そして、隣接する
キャラクタがストップコード又はスタートコードの構成
を満たしていない場合には、処理をS318に戻す。こ
れに対してストップコード又はスタートコードの構成を
満たしている場合には、CODE128バーコード全体
が一度に読み取れたものとして、処理をS323に進め
る。このS323では、S321にて検出したストップ
コード又はスタートコードに有効なマージンが付随して
いるかどうかをチェックする。
ストップコード(処理がS314から入ってきた場合)
又はスタートコード(処理がS304から入ってきた場
合)であるかどうかをチェックする。そして、隣接する
キャラクタがストップコード又はスタートコードの構成
を満たしていない場合には、処理をS318に戻す。こ
れに対してストップコード又はスタートコードの構成を
満たしている場合には、CODE128バーコード全体
が一度に読み取れたものとして、処理をS323に進め
る。このS323では、S321にて検出したストップ
コード又はスタートコードに有効なマージンが付随して
いるかどうかをチェックする。
【0117】一方、S322では、それまでに復調され
た復調データの桁数がX桁以上であるかどうかをチェッ
クする。この「X桁」とは、セカンドコードの種類によ
って定まる桁数であり、セカンドコード全体の桁数の半
分よりも大きい桁数である。そして、復調データの桁数
がX桁以上である場合には処理をS324に進める。こ
れに対して、X桁未満である場合には、復調データの信
頼度が低いとして、処理をS301に戻す。
た復調データの桁数がX桁以上であるかどうかをチェッ
クする。この「X桁」とは、セカンドコードの種類によ
って定まる桁数であり、セカンドコード全体の桁数の半
分よりも大きい桁数である。そして、復調データの桁数
がX桁以上である場合には処理をS324に進める。こ
れに対して、X桁未満である場合には、復調データの信
頼度が低いとして、処理をS301に戻す。
【0118】S324では、復調された復調データを復
調データ一時退避バッファ6に格納して、データ合成処
理を行う(第2バーコード合成手段に相当)。合成処理
を行った後には、処理をS325に進める。
調データ一時退避バッファ6に格納して、データ合成処
理を行う(第2バーコード合成手段に相当)。合成処理
を行った後には、処理をS325に進める。
【0119】S325乃至S328の処理は、モジュラ
ス10チェックのための一連の処理である。S325で
は、今回処理対象のバー幅データ群に対するマージンチ
ェック(S315又はS323)において、スタートマ
ージンが有効であると判定されたか否かがチェックされ
る。そして、スタートマージンが有効であると判定され
ていない場合(スタートマージンチェックが行われなか
った場合を含む)には、処理をS301に戻す。
ス10チェックのための一連の処理である。S325で
は、今回処理対象のバー幅データ群に対するマージンチ
ェック(S315又はS323)において、スタートマ
ージンが有効であると判定されたか否かがチェックされ
る。そして、スタートマージンが有効であると判定され
ていない場合(スタートマージンチェックが行われなか
った場合を含む)には、処理をS301に戻す。
【0120】これに対して、スタートマージンが有効で
あると判定されていた場合には、S326において、今
回処理対象のバー幅データ群に対するマージンチェック
(S315又はS323)において、エンドマージンが
有効であると判定されたか否かがチェックされる。そし
て、エンドマージンが有効であると判定されていない場
合(エンドマージンチェックが行われなかった場合を含
む)には、処理をS301に戻す。
あると判定されていた場合には、S326において、今
回処理対象のバー幅データ群に対するマージンチェック
(S315又はS323)において、エンドマージンが
有効であると判定されたか否かがチェックされる。そし
て、エンドマージンが有効であると判定されていない場
合(エンドマージンチェックが行われなかった場合を含
む)には、処理をS301に戻す。
【0121】これに対して、エンドマージンが有効であ
ると判定されていた場合には、S327において、重複
部のチェックを行う。そして、重複部チェックの結果が
NGだった場合には、処理をそのままS301に戻す。
ると判定されていた場合には、S327において、重複
部のチェックを行う。そして、重複部チェックの結果が
NGだった場合には、処理をそのままS301に戻す。
【0122】これに対して、重複部チェックの結果がO
Kだった場合には、S328において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックの結果がNG(復調データ獲得不成功)である場
合には、処理をS301に戻す。
Kだった場合には、S328において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックの結果がNG(復調データ獲得不成功)である場
合には、処理をS301に戻す。
【0123】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
329において、2NDコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、CO
DE128バーコードのスタートマージン及びエンドマ
ージンが共に有効であることが、CODE128バーコ
ードのモジュラス10チェック結果がOKとなる条件と
なっている。フラグセット後、処理がS312に進めら
れる。
結果がOK(復調データ獲得成功)である場合には、S
329において、2NDコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、CO
DE128バーコードのスタートマージン及びエンドマ
ージンが共に有効であることが、CODE128バーコ
ードのモジュラス10チェック結果がOKとなる条件と
なっている。フラグセット後、処理がS312に進めら
れる。
【0124】S312では、復調データ一時退避バッフ
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S310にてセット)及び2NDコードM10−OK
フラグ(S329にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS301に戻す。
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S310にてセット)及び2NDコードM10−OK
フラグ(S329にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS301に戻す。
【0125】これに対して、WPCコードの復調データ
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグがセットされている場合)には、S
313において、「読み取りOK」の処理が実行され
る。この後で、この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図16
に基づいて、説明する。いま、図16に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)を通過しているが、WPCコード(1st)のエ
ンドガードバー(RGB)の手前でクーポンコード上か
ら逸れてしまっている。
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグがセットされている場合)には、S
313において、「読み取りOK」の処理が実行され
る。この後で、この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図16
に基づいて、説明する。いま、図16に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)を通過しているが、WPCコード(1st)のエ
ンドガードバー(RGB)の手前でクーポンコード上か
ら逸れてしまっている。
【0126】従って、この走査軌跡に沿ったバー幅デ
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中までの復調がなされる。但
し、1STコードM10−OKフラグはセットされない
(S310)。しかも、エンドガードバー(RGB)は
検出されないので(S311)、CODE128コード
体系に従った復調が行われることなく、このバー幅デー
タ群に対する復調処理が終了する。この場合、このバー
幅データ群には、実際にもCODE128バーコードに
よるデータが含まれていないので、CODE128コー
ド体系に従った復調処理を省くことにより、処理時間が
短縮される。
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中までの復調がなされる。但
し、1STコードM10−OKフラグはセットされない
(S310)。しかも、エンドガードバー(RGB)は
検出されないので(S311)、CODE128コード
体系に従った復調が行われることなく、このバー幅デー
タ群に対する復調処理が終了する。この場合、このバー
幅データ群には、実際にもCODE128バーコードに
よるデータが含まれていないので、CODE128コー
ド体系に従った復調処理を省くことにより、処理時間が
短縮される。
【0127】次に、走査軌跡に沿って、クーポンコー
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がWPCコード(1st)から逸れ
た位置よりもスタートガードバー(LGB)寄りの位置
からWPCコード(1st)上を走査し始めて、COD
E128バーコード(2nd)の途中でクーポンコード
上から逸れる。
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がWPCコード(1st)から逸れ
た位置よりもスタートガードバー(LGB)寄りの位置
からWPCコード(1st)上を走査し始めて、COD
E128バーコード(2nd)の途中でクーポンコード
上から逸れる。
【0128】従って、この走査軌跡に沿ったバー幅デ
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中から復調がなされる。その結
果、1STコードM10−OKフラグがセットされるこ
とになる(S310)。しかも、エンドガードバー(R
GB)が検出され(S311)、且つ、CODE128
バーコード(2nd)のスタートコード(ST)が検出
されるので(S314)、CODE128コード体系に
従った復調に切り替わる。そして、CODE128コー
ド体系に従って復調すると、CODE128の途中まで
が復調される。この場合、エンドガードバー(RGB)
の検出により、そのバー幅データ群にCODE128バ
ーコードによるデータが含まれている蓋然性が高いと判
断できるので、そのままCODE128コード体系に従
った復調処理を行う事により、全体の処理時間を短くす
ることができる。
ータ群を、WPCコード体系に従って復調すると、WP
Cコード(1st)の途中から復調がなされる。その結
果、1STコードM10−OKフラグがセットされるこ
とになる(S310)。しかも、エンドガードバー(R
GB)が検出され(S311)、且つ、CODE128
バーコード(2nd)のスタートコード(ST)が検出
されるので(S314)、CODE128コード体系に
従った復調に切り替わる。そして、CODE128コー
ド体系に従って復調すると、CODE128の途中まで
が復調される。この場合、エンドガードバー(RGB)
の検出により、そのバー幅データ群にCODE128バ
ーコードによるデータが含まれている蓋然性が高いと判
断できるので、そのままCODE128コード体系に従
った復調処理を行う事により、全体の処理時間を短くす
ることができる。
【0129】次に、走査軌跡に沿って、クーポンコー
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がCODE128バーコード(2n
d)から逸れた位置よりもスタートコード(ST)寄り
の位置からCODE128バーコード(2nd)上を走
査し始めて、ストップコード(SP)までを走査してい
る。
ド上のレーザビーム走査がなされたとする。この走査軌
跡は、走査軌跡がCODE128バーコード(2n
d)から逸れた位置よりもスタートコード(ST)寄り
の位置からCODE128バーコード(2nd)上を走
査し始めて、ストップコード(SP)までを走査してい
る。
【0130】従って、この走査軌跡に沿ったバー幅デ
ータ群を、WPCコード体系に従って復調すると、1S
Tコード復調完了フラグがONされることはないが(S
303)、CODE128バーコード(2nd)のスト
ップコード(SP)が検出されるので、CODE128
コード体系に従った復調に切り替わる。そして、COD
E128コード体系に従って復調すると、CODE12
8バーコード(2nd)の途中から復調がなされる。そ
の結果、2NDコードM10−OKフラグがセットされ
ることになる(S329)。
ータ群を、WPCコード体系に従って復調すると、1S
Tコード復調完了フラグがONされることはないが(S
303)、CODE128バーコード(2nd)のスト
ップコード(SP)が検出されるので、CODE128
コード体系に従った復調に切り替わる。そして、COD
E128コード体系に従って復調すると、CODE12
8バーコード(2nd)の途中から復調がなされる。そ
の結果、2NDコードM10−OKフラグがセットされ
ることになる(S329)。
【0131】このように、本実施形態では、WPCコー
ド体系に従った復調を行った結果WPCコードの復調デ
ータが全く得られなくても、CODE128バーコード
のストップコードが検出される限り、CODE128コ
ード体系に従った復調が可能になる。よって、全体の処
理時間を短くすることができる。
ド体系に従った復調を行った結果WPCコードの復調デ
ータが全く得られなくても、CODE128バーコード
のストップコードが検出される限り、CODE128コ
ード体系に従った復調が可能になる。よって、全体の処
理時間を短くすることができる。
【0132】本第2実施形態におけるその他の構成及び
作用は、第1実施形態のものと同じなので、その説明を
省略する。
作用は、第1実施形態のものと同じなので、その説明を
省略する。
【0133】
【実施形態3】上述の第1実施形態によるバーコード認
識/復調処理プログラムによると、クーポンコードを構
成する各バーコードについてのモジュラス10チェック
は、有効なマージンを伴っている復調データに基づいて
なされていた。
識/復調処理プログラムによると、クーポンコードを構
成する各バーコードについてのモジュラス10チェック
は、有効なマージンを伴っている復調データに基づいて
なされていた。
【0134】しかしながら、レーザビーム走査の開始位
置及び終了位置は、光学的に、ノイズが出やすくなって
いる。従って、クーポンコードにおけるWPCコードの
スタートマージン及びCODE128バーコードのエン
ドマージンが、このノイズの侵入によって十分な幅を有
するものとは測定されず、有効なマージンとして認識さ
れない可能性があった。
置及び終了位置は、光学的に、ノイズが出やすくなって
いる。従って、クーポンコードにおけるWPCコードの
スタートマージン及びCODE128バーコードのエン
ドマージンが、このノイズの侵入によって十分な幅を有
するものとは測定されず、有効なマージンとして認識さ
れない可能性があった。
【0135】本第3実施形態は、第1実施形態における
その点についての不都合を解決したものであり、WPC
コードのスタートマージンチェック及びCODE128
バーコードのエンドマージンチェックの結果がともにN
Gである場合には、光学的なノイズが発生しているもの
とみなし、クーポンコードを構成する各バーコードにつ
いてのモジュラス10チェックに際してこれらマージン
チェックの結果をマスクするとしたものである。 (バーコード認識/復調処理)図17及び図18は、本
発明の第3実施形態によるバーコード読取装置のCPU
1にて実行されるバーコード認識/復調処理プログラム
の具体的内容を示す。
その点についての不都合を解決したものであり、WPC
コードのスタートマージンチェック及びCODE128
バーコードのエンドマージンチェックの結果がともにN
Gである場合には、光学的なノイズが発生しているもの
とみなし、クーポンコードを構成する各バーコードにつ
いてのモジュラス10チェックに際してこれらマージン
チェックの結果をマスクするとしたものである。 (バーコード認識/復調処理)図17及び図18は、本
発明の第3実施形態によるバーコード読取装置のCPU
1にて実行されるバーコード認識/復調処理プログラム
の具体的内容を示す。
【0136】図17のフローは、バーコード読取装置に
主電源が投入された後においてバー幅データ群格納バッ
ファ2にバー幅データ群が格納された時に、スタートす
る。そして最初のS401において、バー幅データ群格
納バッファ2内から、最も古いバー幅データ群を一つ取
り出す。
主電源が投入された後においてバー幅データ群格納バッ
ファ2にバー幅データ群が格納された時に、スタートす
る。そして最初のS401において、バー幅データ群格
納バッファ2内から、最も古いバー幅データ群を一つ取
り出す。
【0137】次のS402では、取り出したバー幅デー
タ群に対して、WPCコード体系による復調アルゴリズ
ムに従ったデータ復調処理(データ復調処理1)を実行
する(復調手段に相当)。このデータ復調処理1は、図
5乃至図7のサブルーチンに従ってなされる。
タ群に対して、WPCコード体系による復調アルゴリズ
ムに従ったデータ復調処理(データ復調処理1)を実行
する(復調手段に相当)。このデータ復調処理1は、図
5乃至図7のサブルーチンに従ってなされる。
【0138】次のS403では、CPU1内のRAM領
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS401に
戻す。
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS401に
戻す。
【0139】これに対して、S403にて「1STコー
ド復調完了フラグ」がセットされているとした場合に
は、S404において、復調された復調データを復調デ
ータ一時退避バッファ6に格納して、データ合成処理を
行う(第1バーコード合成手段に相当)。合成処理を行
った後には、処理をS405に進める。
ド復調完了フラグ」がセットされているとした場合に
は、S404において、復調された復調データを復調デ
ータ一時退避バッファ6に格納して、データ合成処理を
行う(第1バーコード合成手段に相当)。合成処理を行
った後には、処理をS405に進める。
【0140】S405乃至S409の処理は、モジュラ
ス10チェックのための一連の処理である。S405で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。このとき、後述の「マスクフラグ」が設定さ
れている場合には、S100又はS166におけるチェ
ック結果如何に拘わらず、スタートマージンが有効であ
るとみなされる。そして、スタートマージンが有効であ
ると判定されていない場合(スタートマージンチェック
が行われなかった場合を含む)には、処理をそのままS
410に進める。
ス10チェックのための一連の処理である。S405で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S100,S166)において、スタ
ートマージンが有効であると判定されたか否かがチェッ
クされる。このとき、後述の「マスクフラグ」が設定さ
れている場合には、S100又はS166におけるチェ
ック結果如何に拘わらず、スタートマージンが有効であ
るとみなされる。そして、スタートマージンが有効であ
ると判定されていない場合(スタートマージンチェック
が行われなかった場合を含む)には、処理をそのままS
410に進める。
【0141】これに対して、スタートマージンが有効で
あると判定されていた場合(有効であるとみなされた場
合)には、S406において、今回処理対象のバー幅デ
ータ群に対するエンドマージンチェック(S133,S
152,S169)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。そして、エ
ンドマージンが有効であると判定されていない場合(エ
ンドマージンチェックが行われなかった場合を含む)に
は、処理をそのままS410に進める。
あると判定されていた場合(有効であるとみなされた場
合)には、S406において、今回処理対象のバー幅デ
ータ群に対するエンドマージンチェック(S133,S
152,S169)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。そして、エ
ンドマージンが有効であると判定されていない場合(エ
ンドマージンチェックが行われなかった場合を含む)に
は、処理をそのままS410に進める。
【0142】これに対して、エンドマージンが有効であ
ると判定されていた場合には、S407において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データとエンドガードバー
を有する復調データとが復調データ一時退避バッファ6
内に格納されているとともに所定の複数桁以上のデータ
キャラクタが両復調データに含まれているか否かのチェ
ックである。そして、重複部チェックの結果がNGだっ
た場合(即ち、スタートガードバーを有する復調デー
タ,又はエンドガードバーを有する復調データが無かっ
た場合,若しくは、所定の複数桁以上のデータキャラク
タが両復調データに含まれていなかった場合)には、処
理をそのままS410に進める。
ると判定されていた場合には、S407において、重複
部のチェックを行う。この重複部のチェックとは、スタ
ートガードバーを有する復調データとエンドガードバー
を有する復調データとが復調データ一時退避バッファ6
内に格納されているとともに所定の複数桁以上のデータ
キャラクタが両復調データに含まれているか否かのチェ
ックである。そして、重複部チェックの結果がNGだっ
た場合(即ち、スタートガードバーを有する復調デー
タ,又はエンドガードバーを有する復調データが無かっ
た場合,若しくは、所定の複数桁以上のデータキャラク
タが両復調データに含まれていなかった場合)には、処
理をそのままS410に進める。
【0143】これに対して、重複部チェックの結果がO
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S408において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。そして、このモジュラス10
チェックの結果がNG(復調データ獲得不成功)である
場合には、処理をそのままS410に進める。
Kだった場合(即ち、スタートガードバーを有する復調
データとエンドガードバーを有する復調データとが復調
データ一時退避バッファ6内に格納されているとともに
所定の複数桁以上のデータキャラクタが両復調データに
含まれていた場合)には、S408において、WPCコ
ードに対するモジュラス10チェックの結果がOKであ
るか否かをチェックする。そして、このモジュラス10
チェックの結果がNG(復調データ獲得不成功)である
場合には、処理をそのままS410に進める。
【0144】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
409において、1STコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、WP
Cコードのスタートマージン及びエンドマージンが共に
有効である(有効とみなされる)ことが、WPCコード
のモジュラス10チェック結果がOKとなる条件となっ
ている。フラグセット後、処理がS410に進められ
る。
結果がOK(復調データ獲得成功)である場合には、S
409において、1STコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、WP
Cコードのスタートマージン及びエンドマージンが共に
有効である(有効とみなされる)ことが、WPCコード
のモジュラス10チェック結果がOKとなる条件となっ
ている。フラグセット後、処理がS410に進められ
る。
【0145】S410では、今回処理対象のバー幅デー
タ群に対するデータ復調処理(S402)の結果得られ
た復調データがエンドガードバー(RGB)を有するか
否かをチェックする(第1バーコード識別バー検出手段
に相当)。そして、その復調データがエンドガードバー
(RGB)を有さない場合には、処理をそのままS42
2に進める。
タ群に対するデータ復調処理(S402)の結果得られ
た復調データがエンドガードバー(RGB)を有するか
否かをチェックする(第1バーコード識別バー検出手段
に相当)。そして、その復調データがエンドガードバー
(RGB)を有さない場合には、処理をそのままS42
2に進める。
【0146】これに対して、復調データがエンドガード
バー(RGB)を有している場合には、S411におい
て、今回処理対象のバー幅データ群(S401での処理
により取り込まれたバー幅データ群)に対して、COD
E128コード体系による復調アルゴリズムに従ったデ
ータ復調処理(データ復調処理2)を実行する(復調手
段に相当)。このデータ復調処理2は、図8のフローチ
ャートに従ってなされる。
バー(RGB)を有している場合には、S411におい
て、今回処理対象のバー幅データ群(S401での処理
により取り込まれたバー幅データ群)に対して、COD
E128コード体系による復調アルゴリズムに従ったデ
ータ復調処理(データ復調処理2)を実行する(復調手
段に相当)。このデータ復調処理2は、図8のフローチ
ャートに従ってなされる。
【0147】次のS412では、CPU1内のRAM領
域内に「2NDコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「2NDコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS401に
戻す。
域内に「2NDコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「2NDコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS401に
戻す。
【0148】これに対して、「2NDコード復調完了フ
ラグ」がセットされている場合には、S413におい
て、CODE128バーコードのエンドマージンチェッ
ク(S203)において、エンドマージンが有効である
と判定されたか否かがチェックされる。そして、エンド
マージンが有効であると判定されていた場合には、光学
的なノイズは発生していないとして、処理をそのままS
416に進める。
ラグ」がセットされている場合には、S413におい
て、CODE128バーコードのエンドマージンチェッ
ク(S203)において、エンドマージンが有効である
と判定されたか否かがチェックされる。そして、エンド
マージンが有効であると判定されていた場合には、光学
的なノイズは発生していないとして、処理をそのままS
416に進める。
【0149】これに対して、エンドマージンが有効であ
ると判定されていなかった場合には、S414におい
て、WPCコードのスタートマージンチェック(S10
0,S166)において、スタートマージンが有効であ
ると判定されたか否かがチェックされる。そして、スタ
ートマージンが有効であると判定されていた場合には、
光学的なノイズは発生していないとして、処理をそのま
まS416に進める。
ると判定されていなかった場合には、S414におい
て、WPCコードのスタートマージンチェック(S10
0,S166)において、スタートマージンが有効であ
ると判定されたか否かがチェックされる。そして、スタ
ートマージンが有効であると判定されていた場合には、
光学的なノイズは発生していないとして、処理をそのま
まS416に進める。
【0150】これに対して、スタートマージンが有効で
あると判定されていなかった場合には、光学的なノイズ
が発生しているものとして、S415において、WPC
コードの復調データ,及びCODE128バーコードの
復調データに対して、マスクフラグをセットする。
あると判定されていなかった場合には、光学的なノイズ
が発生しているものとして、S415において、WPC
コードの復調データ,及びCODE128バーコードの
復調データに対して、マスクフラグをセットする。
【0151】次のS416では、復調された復調データ
を復調データ一時退避バッファ6に格納して、データ合
成処理を行う(第2バーコード合成手段に相当)。この
合成処理は、復調データに含まれるスタートコード又は
ストップコード,並びに各復調データに含まれる共通部
分を手掛かりに、CODE128フォーマットに各復調
データを当て填めることによって、なされる。合成処理
を行った後には、処理をS417に進める。
を復調データ一時退避バッファ6に格納して、データ合
成処理を行う(第2バーコード合成手段に相当)。この
合成処理は、復調データに含まれるスタートコード又は
ストップコード,並びに各復調データに含まれる共通部
分を手掛かりに、CODE128フォーマットに各復調
データを当て填めることによって、なされる。合成処理
を行った後には、処理をS417に進める。
【0152】S417乃至S421の処理は、モジュラ
ス10チェックのための一連の処理である。S417で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S201)において、スタートマージ
ンが有効であると判定されたか否かがチェックされる。
そして、スタートマージンが有効であると判定されてい
ない場合(スタートマージンチェックが行われなかった
場合を含む)には、処理をそのままS422に進める。
ス10チェックのための一連の処理である。S417で
は、今回処理対象のバー幅データ群に対するスタートマ
ージンチェック(S201)において、スタートマージ
ンが有効であると判定されたか否かがチェックされる。
そして、スタートマージンが有効であると判定されてい
ない場合(スタートマージンチェックが行われなかった
場合を含む)には、処理をそのままS422に進める。
【0153】これに対して、スタートマージンが有効で
あると判定されていた場合には、S418において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S203)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。このとき、
上述の「マスクフラグ」が設定されている場合には、S
203におけるチェック結果如何に拘わらず、エンドマ
ージンが有効であるとみなされる。そして、エンドマー
ジンが有効であると判定されていない場合(エンドマー
ジンチェックが行われなかった場合を含む)には、処理
をそのままS422に進める。
あると判定されていた場合には、S418において、今
回処理対象のバー幅データ群に対するエンドマージンチ
ェック(S203)において、エンドマージンが有効で
あると判定されたか否かがチェックされる。このとき、
上述の「マスクフラグ」が設定されている場合には、S
203におけるチェック結果如何に拘わらず、エンドマ
ージンが有効であるとみなされる。そして、エンドマー
ジンが有効であると判定されていない場合(エンドマー
ジンチェックが行われなかった場合を含む)には、処理
をそのままS422に進める。
【0154】これに対して、エンドマージンが有効であ
ると判定されていた場合(有効であるとみなされた場
合)には、S419において、重複部のチェックを行
う。この重複部のチェックとは、スタートコードを有す
る復調データとストップコードを有する復調データとが
復調データ一時退避バッファ6内に格納されているとと
もに所定の複数桁以上のデータキャラクタが両復調デー
タに含まれているか否かのチェックである。そして、重
複部チェックの結果がNGだった場合(即ち、スタート
コードを有する復調データ,又はストップコードを有す
る復調データが無かった場合,若しくは、所定の複数桁
以上のデータキャラクタが両復調データに含まれていな
かった場合)には、処理をそのままS422に進める。
ると判定されていた場合(有効であるとみなされた場
合)には、S419において、重複部のチェックを行
う。この重複部のチェックとは、スタートコードを有す
る復調データとストップコードを有する復調データとが
復調データ一時退避バッファ6内に格納されているとと
もに所定の複数桁以上のデータキャラクタが両復調デー
タに含まれているか否かのチェックである。そして、重
複部チェックの結果がNGだった場合(即ち、スタート
コードを有する復調データ,又はストップコードを有す
る復調データが無かった場合,若しくは、所定の複数桁
以上のデータキャラクタが両復調データに含まれていな
かった場合)には、処理をそのままS422に進める。
【0155】これに対して、重複部チェックの結果がO
Kだった場合(即ち、スタートコードを有する復調デー
タとストップコードを有する復調データとが復調データ
一時退避バッファ6内に格納されているとともに所定の
複数桁以上のデータキャラクタが両復調データに含まれ
ていた場合)には、S420において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックとは、S416の合成処理によってCODE12
8バーコード全体に対応する復調データの獲得が成功し
たかどうかを判定するチェックである。このモジュラス
10チェックの結果がNG(復調データ獲得不成功)で
ある場合には、処理をそのままS422に進める。
Kだった場合(即ち、スタートコードを有する復調デー
タとストップコードを有する復調データとが復調データ
一時退避バッファ6内に格納されているとともに所定の
複数桁以上のデータキャラクタが両復調データに含まれ
ていた場合)には、S420において、CODE128
バーコードに対するモジュラス10チェックの結果がO
Kであるか否かをチェックする。このモジュラス10チ
ェックとは、S416の合成処理によってCODE12
8バーコード全体に対応する復調データの獲得が成功し
たかどうかを判定するチェックである。このモジュラス
10チェックの結果がNG(復調データ獲得不成功)で
ある場合には、処理をそのままS422に進める。
【0156】これに対して、モジュラス10チェックの
結果がOK(復調データ獲得成功)である場合には、S
421において、2NDコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、CO
DE128バーコードのスタートマージン及びエンドマ
ージンが共に有効である(有効とみなされる)ことが、
CODE128バーコードのモジュラス10チェック結
果がOKとなる条件となっている。フラグセット後、処
理がS422に進められる。
結果がOK(復調データ獲得成功)である場合には、S
421において、2NDコードM10−OKフラグをセ
ットする。以上のように、本実施形態においては、CO
DE128バーコードのスタートマージン及びエンドマ
ージンが共に有効である(有効とみなされる)ことが、
CODE128バーコードのモジュラス10チェック結
果がOKとなる条件となっている。フラグセット後、処
理がS422に進められる。
【0157】S422では、復調データ一時退避バッフ
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S409にてセット)及び2NDコードM10−OK
フラグ(S421にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS401に戻す。
ァ6内にWPCコードの復調データ及びCODE128
バーコードの復調データが揃ったか否かをチェックす
る。このチェックは、1STコードM10−OKフラグ
(S409にてセット)及び2NDコードM10−OK
フラグ(S421にてセット)が共にセットされている
かどうかによって行われる。そして、WPCコードの復
調データ及びCODE128バーコードの復調データが
揃っていない場合(1STコードM10−OKフラグ又
は2NDコードM10−OKフラグがセットされていな
い場合)には、足りないバーコードの復調データを獲得
すべく、処理をS401に戻す。
【0158】これに対して、WPCコードの復調データ
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグが共にセットされている場合)に
は、S423において、「読み取りOK」の処理が実行
される。この後で、この処理を終了する。 (実施形態による作用)本第3実施形態によると、レー
ザビームの光学的ノイズが発生していない状態において
は、クーポンコードを構成する全てのバーコードについ
てのモジュラス10チェックに際して、有効なマージン
が付随している復調データのみを用いる。従って、復調
データに有効なマージンが付随していない場合には、モ
ジュラス10チェックの結果はNGとなる。これに対し
て、レーザビームの光学的ノイズが発生している場合に
は、WPCコードのスタートマージン及びCODE12
8バーコードのエンドマージンがともに有効でないもの
として検出される。この場合には、WPCコードのスタ
ートマージン及びCODE128バーコードのエンドマ
ージンについては、マージンチェックの結果如何を問わ
ず有効なものとして扱われる。従って、モジュラス10
チェックの結果,従って、クーポンコードの再現が、レ
ーザビームの光学的ノイズに影響を受けなくなる。
及びCODE128バーコードの復調データが揃った場
合(1STコードM10−OKフラグ及び2NDコード
M10−OKフラグが共にセットされている場合)に
は、S423において、「読み取りOK」の処理が実行
される。この後で、この処理を終了する。 (実施形態による作用)本第3実施形態によると、レー
ザビームの光学的ノイズが発生していない状態において
は、クーポンコードを構成する全てのバーコードについ
てのモジュラス10チェックに際して、有効なマージン
が付随している復調データのみを用いる。従って、復調
データに有効なマージンが付随していない場合には、モ
ジュラス10チェックの結果はNGとなる。これに対し
て、レーザビームの光学的ノイズが発生している場合に
は、WPCコードのスタートマージン及びCODE12
8バーコードのエンドマージンがともに有効でないもの
として検出される。この場合には、WPCコードのスタ
ートマージン及びCODE128バーコードのエンドマ
ージンについては、マージンチェックの結果如何を問わ
ず有効なものとして扱われる。従って、モジュラス10
チェックの結果,従って、クーポンコードの再現が、レ
ーザビームの光学的ノイズに影響を受けなくなる。
【0159】本第3実施形態におけるその他の構成及び
作用は、第1実施形態のものと同じなので、その説明を
省略する。
作用は、第1実施形態のものと同じなので、その説明を
省略する。
【0160】
【実施形態4】本第4実施形態によるバーコード読取装
置は、セカンドコードとしてのCODE128バーコー
ドの桁数を固定長とするとともに、一度のレーザビーム
走査でクーポンコード全体を読み取ることができた場合
に限って復調処理を実行可能とすることで、バーコード
認識/復調処理プログラムを簡略化したものである。 (バーコード認識/復調処理)図19は、本発明の第4
実施形態によるバーコード読取装置のCPU1にて実行
されるバーコード認識/復調処理プログラムの具体的内
容を示す。
置は、セカンドコードとしてのCODE128バーコー
ドの桁数を固定長とするとともに、一度のレーザビーム
走査でクーポンコード全体を読み取ることができた場合
に限って復調処理を実行可能とすることで、バーコード
認識/復調処理プログラムを簡略化したものである。 (バーコード認識/復調処理)図19は、本発明の第4
実施形態によるバーコード読取装置のCPU1にて実行
されるバーコード認識/復調処理プログラムの具体的内
容を示す。
【0161】図19のフローチャートは、バーコード読
取装置に主電源が投入された後においてバー幅データ群
格納バッファ2にバー幅データ群が格納された時に、ス
タートする。そして最初のS501において、バー幅デ
ータ群格納バッファ2内から、最も古いバー幅データ群
を一つ取り出す。
取装置に主電源が投入された後においてバー幅データ群
格納バッファ2にバー幅データ群が格納された時に、ス
タートする。そして最初のS501において、バー幅デ
ータ群格納バッファ2内から、最も古いバー幅データ群
を一つ取り出す。
【0162】次のS502では、取り出したバー幅デー
タ群からWPCコードのスタートガードバー(LGB)
が検出されたか否かをチェックする(識別バー検出手段
に相当)。そして、WPCコードのスタートガードバー
(LGB)が検出できなかった場合には、一回のレーザ
ビーム走査でクーポンコード全体を読み取れたのではな
いとして、処理をS501に戻す。
タ群からWPCコードのスタートガードバー(LGB)
が検出されたか否かをチェックする(識別バー検出手段
に相当)。そして、WPCコードのスタートガードバー
(LGB)が検出できなかった場合には、一回のレーザ
ビーム走査でクーポンコード全体を読み取れたのではな
いとして、処理をS501に戻す。
【0163】これに対して、WPCコードのスタートガ
ードバー(LGB)が検出できた場合には、S503に
おいて、S501にて取り出したバー幅データ群からC
ODE128バーコードのストップコードが検出された
か否かをチェックする(識別バー検出手段に相当)。そ
して、CODE128バーコードのストップコードが検
出できなかった場合には、一回のレーザビーム走査でク
ーポンコード全体を読み取れたのではないとして、処理
をS501に戻す。
ードバー(LGB)が検出できた場合には、S503に
おいて、S501にて取り出したバー幅データ群からC
ODE128バーコードのストップコードが検出された
か否かをチェックする(識別バー検出手段に相当)。そ
して、CODE128バーコードのストップコードが検
出できなかった場合には、一回のレーザビーム走査でク
ーポンコード全体を読み取れたのではないとして、処理
をS501に戻す。
【0164】これに対して、CODE128バーコード
のストップコードが検出できた場合には、一回のレーザ
ビーム走査でクーポンコード全体を読み取れたものとみ
なして、処理をS504に進める。
のストップコードが検出できた場合には、一回のレーザ
ビーム走査でクーポンコード全体を読み取れたものとみ
なして、処理をS504に進める。
【0165】S504では、今回処理対象のバー幅デー
タ群(S501での処理により取り込まれたバー幅デー
タ群)に対して、WPCコード体系による復調アルゴリ
ズムに従ったデータ復調処理(データ復調処理1)を実
行する(復調手段に相当)。このデータ復調処理1は、
図5乃至図7のサブルーチンに従ってなされる。
タ群(S501での処理により取り込まれたバー幅デー
タ群)に対して、WPCコード体系による復調アルゴリ
ズムに従ったデータ復調処理(データ復調処理1)を実
行する(復調手段に相当)。このデータ復調処理1は、
図5乃至図7のサブルーチンに従ってなされる。
【0166】次のS505では、CPU1内のRAM領
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS501に
戻す。
域内に「1STコード復調完了フラグ」がセットされて
いるかどうかがチェックされる。この「1STコード復
調完了フラグ」がセットされていない場合には、今回復
調処理対象としたバー幅データ群を破棄するとともに、
バー幅データ群格納バッファ2から新たにバー幅データ
を取り込んで復調処理を実行すべく、処理をS501に
戻す。
【0167】これに対して、S505にて「1STコー
ド復調完了フラグ」がセットされているとした場合に
は、S506において、今回処理対象のバー幅データ群
(S501での処理により取り込まれたバー幅データ
群)に対して、CODE128コード体系による復調ア
ルゴリズムに従ったデータ復調処理(データ復調処理
2)を実行する(復調手段に相当)。このデータ復調処
理2は、図8のフローチャートに従ってなされる。
ド復調完了フラグ」がセットされているとした場合に
は、S506において、今回処理対象のバー幅データ群
(S501での処理により取り込まれたバー幅データ
群)に対して、CODE128コード体系による復調ア
ルゴリズムに従ったデータ復調処理(データ復調処理
2)を実行する(復調手段に相当)。このデータ復調処
理2は、図8のフローチャートに従ってなされる。
【0168】次のS507では、全ての復調データを復
調データ一時退避バッファ6に格納し、次のS508で
は、「読み取りOK」の処理が実行される。この後で、
この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図20
に基づいて、説明する。いま、図20に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)及びCODE128バーコードのストップコード
(SP)を通過している。従って、それらの中間におい
てクーポンコード上を通過しているとみなすことができ
る。
調データ一時退避バッファ6に格納し、次のS508で
は、「読み取りOK」の処理が実行される。この後で、
この処理を終了する。 (実施形態による作用)次に、以上のように構成される
本実施形態によるバーコード読取装置の作用を、図20
に基づいて、説明する。いま、図20に示すような走査
軌跡に沿って、WPCコード(1st)及びCODE
128バーコード(2nd)からなるクーポンコード上
のレーザビーム走査がなされたとする。この走査軌跡
は、WPCコード(1st)のスタートガードバー(L
GB)及びCODE128バーコードのストップコード
(SP)を通過している。従って、それらの中間におい
てクーポンコード上を通過しているとみなすことができ
る。
【0169】この場合、この走査軌跡によって得られ
たバー幅データ群に対して、最初にWPCコード体系に
従った復調処理が実行され、次に、CODE128コー
ド体系に従った復調処理が実行される。従って、クーポ
ンコード全体に対応した復調データが一回のレーザビー
ム走査のみによって得られる。しかも、クーポンコード
を構成する各バーコード毎に合成処理やモジュラス10
チェックをする必要がない。従って、全体としての処理
時間を大幅に短縮することができる。
たバー幅データ群に対して、最初にWPCコード体系に
従った復調処理が実行され、次に、CODE128コー
ド体系に従った復調処理が実行される。従って、クーポ
ンコード全体に対応した復調データが一回のレーザビー
ム走査のみによって得られる。しかも、クーポンコード
を構成する各バーコード毎に合成処理やモジュラス10
チェックをする必要がない。従って、全体としての処理
時間を大幅に短縮することができる。
【0170】本第4実施形態におけるその他の構成及び
作用は、第1実施形態のものと同じなので、その説明を
省略する。
作用は、第1実施形態のものと同じなので、その説明を
省略する。
【0171】
【発明の効果】以上のように構成された本発明のバーコ
ード読取装置によると、コード体系の異なる複数種類の
バーコードを並べてなるコードを読み取る際に、一回の
バーコード走査において得られたバー幅データ群に対す
る復調アルゴリズムを復調処理の途中で切り替えるよう
に構成した。従って、復調処理を効率良く行い、全体と
しての復調時間を短くすることができる。
ード読取装置によると、コード体系の異なる複数種類の
バーコードを並べてなるコードを読み取る際に、一回の
バーコード走査において得られたバー幅データ群に対す
る復調アルゴリズムを復調処理の途中で切り替えるよう
に構成した。従って、復調処理を効率良く行い、全体と
しての復調時間を短くすることができる。
【図1】 本発明の原理を示す原理図
【図2】 本発明の第1の実施形態によるバーコード読
取装置のブロック図
取装置のブロック図
【図3】 図2のCPUで実行されるバーコード認識/
復調処理プログラムの内容を示すフローチャート
復調処理プログラムの内容を示すフローチャート
【図4】 図2のCPUで実行されるバーコード認識/
復調処理プログラムの内容を示すフローチャート
復調処理プログラムの内容を示すフローチャート
【図5】 図3のS002で実行されるデータ復調処理
1の内容を示すフローチャート
1の内容を示すフローチャート
【図6】 図3のS002で実行されるデータ復調処理
1の内容を示すフローチャート
1の内容を示すフローチャート
【図7】 図3のS002で実行されるデータ復調処理
1の内容を示すフローチャート
1の内容を示すフローチャート
【図8】 図3のS011で実行されるデータ復調処理
2の内容を示すフローチャート
2の内容を示すフローチャート
【図9】 WPCコードのキャラクタの構成図
【図10】 距離復調テーブル
【図11】 バー幅復調テーブル
【図12】 CODE128の構成図
【図13】 バーコード上の走査軌跡例を示す図
【図14】 本発明の第2の実施形態において図2のC
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
【図15】 本発明の第2の実施形態において図2のC
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
【図16】 バーコード上の走査軌跡例を示す図
【図17】 本発明の第3の実施形態において図2のC
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
【図18】 本発明の第3の実施形態において図2のC
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
【図19】 本発明の第4の実施形態において図2のC
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
PUで実行されるバーコード認識/復調処理プログラム
の内容を示すフローチャート
【図20】 バーコード上の走査軌跡例を示す図
【図21】 従来のバーコード復調を示す説明図
1 CPU 2 バー幅データ群格納バッファ 6 復調データ一時退避バッファ 13 半導体レーザー 14 走査光学系 15 A/D変換器 16 バー幅カウンタ 17 レーザビームの開始・終了検出回路 18 受光素子 21 バーコード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩口 功 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 篠田 一郎 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内
Claims (7)
- 【請求項1】第1のコード体系によるデータを固定パタ
ーンの識別バーによって囲んでなる第1のバーコードと
第2のコード体系によるデータを固定パターンの識別バ
ーによって囲んでなる第2のバーコードとを一方向に並
べて構成したコードを読み取るバーコード読取装置であ
って、 被走査面上の走査軌跡における明暗パターンを検出する
走査手段と、 前記第2のバーコードに隣接する側に配設された前記第
1のバーコードの識別バーに対応するパターンを、前記
走査手段によって検出された明暗パターンから検出する
第1バーコード識別バー検出手段と、 前記走査手段によって検出された明暗パターンを前記第
1のコード体系に従って復調するとともに、前記第1バ
ーコード識別バー検出手段によって前記識別バーに対応
するパターンが検出された場合には、この明暗パターン
を前記第2のコード体系に従って復調する復調手段とを
備えたことを特徴とするバーコード読取装置。 - 【請求項2】前記第2のバーコードの識別バーを検出す
る第2バーコード識別バー検出手段を更に備えるととも
に、 前記復調手段は、前記第2バーコード識別バー検出手段
によって前記第2のバーコードの識別バーが検出された
場合にも、前記走査手段によって検出された明暗パター
ンを前記第2のコード体系に従って復調することを特徴
とする請求項1記載のバーコード読取装置。 - 【請求項3】前記復調手段によって一方の識別バーを含
む前記第1のバーコードのデータと他方の識別バーを含
む前記第1のバーコードのデータとが夫々復調された場
合に、これらのデータを合成して前記第1のバーコード
全体に対応するデータを再現する第1バーコード合成手
段を更に備えたことを特徴とする請求項1記載のバーコ
ード読取装置。 - 【請求項4】前記復調手段によって一方の識別バーを含
む前記第2のバーコードのデータと他方の識別バーを含
む前記第2のバーコードのデータとが夫々復調された場
合に、これらのデータを合成して前記第2のバーコード
全体に対応するデータを再現する第2バーコード合成手
段を更に備えたことを特徴とする請求項3記載のバーコ
ード読取装置。 - 【請求項5】前記第1バーコード合成手段及び前記第2
バーコード合成手段は、前記各識別バーの外側に所定幅
以上のマージンが付随していることを前記合成の条件と
することを特徴とする請求項4記載のバーコード読取装
置。 - 【請求項6】前記第1バーコード合成手段及び前記第2
バーコード合成手段は、前記第1バーコードの前記第2
バーコードとは反対側に位置する識別バー,及び前記第
2バーコードの前記第1バーコードとは反対側に位置す
る識別バーの両方に所定幅以上のマージンが付随してい
ない場合には、前記合成の条件に拘わらず、前記合成を
行うことを特徴とする請求項5記載のバーコード読取装
置。 - 【請求項7】第1のコード体系によるデータを固定パタ
ーンの識別バーによって囲んでなる第1のバーコードと
第2のコード体系によるデータを固定パターンの識別バ
ーによって囲んでなる第2のバーコードとを一方向に並
べて構成したコードを読み取るバーコード読取装置であ
って、 被走査面上の走査軌跡における明暗パターンを検出する
走査手段と、 前記コードの外端に位置する前記第1のバーコードの識
別バーに対応するパターン及び前記第2のバーコードの
識別バーに対応するパターンを、前記走査手段によって
検出された明暗パターンから夫々検出する識別バー検出
手段と、 前記識別バー検出手段によって前記第1のバーコードの
識別バーに対応するパターン及び前記第2のバーコード
の識別バーに対応するパターンが検出された場合には、
前記走査手段によって検出された明暗パターンを前記第
1のコード体系に従って復調した後に前記第2のコード
体系に従って復調する復調手段とを備えたことを特徴と
するバーコード読取装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7339478A JPH09179927A (ja) | 1995-12-26 | 1995-12-26 | バーコード読取装置 |
| US08/715,975 US6095419A (en) | 1995-12-26 | 1996-09-19 | Bar code reading apparatus for reading plural code systems |
| US09/534,155 US6321987B1 (en) | 1995-12-26 | 2000-03-24 | Bar code reading apparatus for reading plural code systems |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7339478A JPH09179927A (ja) | 1995-12-26 | 1995-12-26 | バーコード読取装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09179927A true JPH09179927A (ja) | 1997-07-11 |
Family
ID=18327855
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7339478A Pending JPH09179927A (ja) | 1995-12-26 | 1995-12-26 | バーコード読取装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US6095419A (ja) |
| JP (1) | JPH09179927A (ja) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09179927A (ja) * | 1995-12-26 | 1997-07-11 | Fujitsu Ltd | バーコード読取装置 |
| JP3560477B2 (ja) * | 1998-08-24 | 2004-09-02 | 富士通株式会社 | バーコード読取装置及びバーコード読取方法 |
| US6843417B1 (en) * | 1998-09-11 | 2005-01-18 | L. V. Partners, L.P. | Aiming indicia for a bar code and method of use |
| US6513714B1 (en) | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
| US6585157B2 (en) * | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
| US6454168B1 (en) | 1998-09-14 | 2002-09-24 | Psc Scanning, Inc. | Correlation and stitching techniques in a bar code scanning system |
| US6533175B1 (en) * | 1999-05-28 | 2003-03-18 | Barcode Graphic Inc. | Automatic compliance-testing system for desktop designed consumer packaging |
| US7613653B2 (en) | 1999-12-30 | 2009-11-03 | First Data Corporation | Money order debit from stored value fund |
| US7376587B1 (en) | 2000-07-11 | 2008-05-20 | Western Union Financial Services, Inc. | Method for enabling transfer of funds through a computer network |
| US7606734B2 (en) | 2000-07-11 | 2009-10-20 | The Western Union Company | Wide area network person-to-person payment |
| US7130817B2 (en) | 2000-12-15 | 2006-10-31 | First Data Corporation | Electronic gift linking |
| US7266533B2 (en) | 2000-12-15 | 2007-09-04 | The Western Union Company | Electronic gift greeting |
| US7117183B2 (en) | 2001-03-31 | 2006-10-03 | First Data Coroporation | Airline ticket payment and reservation system and methods |
| US7165052B2 (en) | 2001-03-31 | 2007-01-16 | First Data Corporation | Payment service method and system |
| US7184989B2 (en) | 2001-03-31 | 2007-02-27 | First Data Corporation | Staged transactions systems and methods |
| US9853759B1 (en) | 2001-03-31 | 2017-12-26 | First Data Corporation | Staged transaction system for mobile commerce |
| CA2443220A1 (en) | 2001-03-31 | 2002-10-10 | First Data Corporation | Electronic identifier payment system and methods |
| US8150763B2 (en) | 2001-03-31 | 2012-04-03 | The Western Union Company | Systems and methods for staging transactions, payments and collections |
| US7103577B2 (en) | 2001-03-31 | 2006-09-05 | First Data Corporation | Systems and methods for staging transactions, payments and collections |
| US8244632B2 (en) | 2001-10-26 | 2012-08-14 | First Data Corporation | Automated transfer with stored value |
| US8374962B2 (en) | 2001-10-26 | 2013-02-12 | First Data Corporation | Stored value payouts |
| US7070108B1 (en) * | 2002-12-16 | 2006-07-04 | Ncr Corporation | Bar code scanner |
| US7460252B2 (en) * | 2003-01-13 | 2008-12-02 | Axiohm Transaction Solutions, Inc. | Graphical printing system and method using text triggers |
| JP4170111B2 (ja) * | 2003-02-21 | 2008-10-22 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
| US7219832B2 (en) | 2004-06-17 | 2007-05-22 | First Data Corporation | ATM machine and methods with currency conversion capabilities |
| US7641109B2 (en) | 2005-05-18 | 2010-01-05 | The Western Union Company | Money transfer cards, systems and methods |
| US8152054B2 (en) | 2004-10-19 | 2012-04-10 | The Western Union Company | Money transfer systems and methods |
| JP4254724B2 (ja) * | 2005-02-16 | 2009-04-15 | 株式会社デンソーウェーブ | バーコード読取り方法及びコンピュータプログラム |
| US8672220B2 (en) | 2005-09-30 | 2014-03-18 | The Western Union Company | Money transfer system and method |
| US7392940B2 (en) | 2005-05-18 | 2008-07-01 | The Western Union Company | In-lane money transfer systems and methods |
| US7933835B2 (en) | 2007-01-17 | 2011-04-26 | The Western Union Company | Secure money transfer systems and methods using biometric keys associated therewith |
| US8504473B2 (en) | 2007-03-28 | 2013-08-06 | The Western Union Company | Money transfer system and messaging system |
| JP5515012B2 (ja) * | 2010-03-13 | 2014-06-11 | 日本電産サンキョー株式会社 | バーコード情報読取方法及びバーコード情報読取装置 |
| US9412087B2 (en) | 2014-03-03 | 2016-08-09 | Aesynt Incorporated | System, method, and apparatus for mapping product identification to medication identification |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4782220A (en) * | 1986-09-29 | 1988-11-01 | Mars, Incorporated | Method and apparatus for bar code data autodiscrimination |
| JPH07101427B2 (ja) * | 1989-03-29 | 1995-11-01 | 富士通株式会社 | バーコード読取り方法及びその装置 |
| US5198649A (en) * | 1989-07-31 | 1993-03-30 | Spectra-Physics, Inc. | Bar code scanner and method of scanning bar codes labels with or without an Add-On code |
| JP2732909B2 (ja) | 1989-10-05 | 1998-03-30 | 富士通株式会社 | バーコード読取装置 |
| EP0498678B1 (en) * | 1991-02-08 | 2000-05-10 | Fujitsu Limited | High speed scan bar code reader which can read more than one type of bar code |
| EP0502440B1 (en) * | 1991-03-04 | 2003-12-10 | Fujitsu Limited | Bar-code reading apparatus and method |
| US5262623A (en) * | 1991-09-04 | 1993-11-16 | Omniplanar, Inc. | Method and apparatus for distinguishing a preferred bar code or the like |
| US5262625A (en) * | 1991-11-15 | 1993-11-16 | Ncr Corporation | Multiple bar code decoding system and method |
| US5311000A (en) * | 1992-07-31 | 1994-05-10 | Spectra-Physics Scanning Systems, Inc. | Bar code scanner and method of scanning |
| US5388049A (en) * | 1993-08-11 | 1995-02-07 | Pitney Bowes Inc. | Value mail monitoring system and method |
| JP3122782B2 (ja) | 1993-09-09 | 2001-01-09 | 原子燃料工業株式会社 | 原子炉用燃料被覆管及びその製造方法 |
| US5481098A (en) * | 1993-11-09 | 1996-01-02 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for reading multiple bar code formats |
| US5468945A (en) * | 1994-02-25 | 1995-11-21 | Intermec Corporation | Method and apparatus for locating and decoding a postnet forwarding bar code in a field of postnet bar codes |
| JPH09179927A (ja) * | 1995-12-26 | 1997-07-11 | Fujitsu Ltd | バーコード読取装置 |
| US6176428B1 (en) * | 1999-04-07 | 2001-01-23 | Symbol Technologies, Inc. | Techniques for reading postal code |
-
1995
- 1995-12-26 JP JP7339478A patent/JPH09179927A/ja active Pending
-
1996
- 1996-09-19 US US08/715,975 patent/US6095419A/en not_active Expired - Lifetime
-
2000
- 2000-03-24 US US09/534,155 patent/US6321987B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US6321987B1 (en) | 2001-11-27 |
| US6095419A (en) | 2000-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09179927A (ja) | バーコード読取装置 | |
| JPH07200719A (ja) | バーコード走査のステッチ | |
| JPH03204790A (ja) | 部分走査からバーコード記号を復号する方法 | |
| US7422153B2 (en) | Decoding with data from multiple scans | |
| CA2044935C (en) | Bar-code reading apparatus | |
| JPH09161001A (ja) | バーコード読取装置 | |
| EP0576220B1 (en) | Bar-code reader device | |
| KR100308415B1 (ko) | 바코드판독장치,바코드판독방법및컴퓨터판독가능매체 | |
| US20020079370A1 (en) | Illumination source for optical reading apparatus | |
| JP3448404B2 (ja) | バーコード読取装置及びバーコード読取方法 | |
| US6070801A (en) | Bar code reader, bar code reading method and computer readable medium | |
| JPH0981663A (ja) | バーコード読取装置及びバーコード読取方法 | |
| JPH08263585A (ja) | コード読取装置 | |
| JP3472691B2 (ja) | バーコード読取装置及びバーコード読取方法 | |
| JP5195264B2 (ja) | バーコード読取方法およびバーコード読取装置 | |
| US5952643A (en) | Bar code decoder for a lightpen | |
| EP1117059A1 (en) | Bar code reader and bar code reading method | |
| JP2006134160A (ja) | 光学式情報読取装置 | |
| JPH07334607A (ja) | バーコード読取装置 | |
| JP2003036416A (ja) | バーコード読取装置 | |
| JPS6229837B2 (ja) | ||
| JPH073669B2 (ja) | バーコード読み取り方法および装置 | |
| JPH11134427A (ja) | バーコード読取り装置 | |
| JPH04268984A (ja) | 光学読取装置 | |
| JPH0997304A (ja) | 光学式情報読取装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010123 |