JP2742144B2 - 光学読取装置 - Google Patents
光学読取装置Info
- Publication number
- JP2742144B2 JP2742144B2 JP3050277A JP5027791A JP2742144B2 JP 2742144 B2 JP2742144 B2 JP 2742144B2 JP 3050277 A JP3050277 A JP 3050277A JP 5027791 A JP5027791 A JP 5027791A JP 2742144 B2 JP2742144 B2 JP 2742144B2
- Authority
- JP
- Japan
- Prior art keywords
- count value
- line sensor
- bar code
- reading
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】
【産業上の利用分野】本発明は、紙などのメデイア上に
印刷されたバーコードを読み取る光学読取装置に係り、
特に、バーコードの読取りエラー検出に関する。
印刷されたバーコードを読み取る光学読取装置に係り、
特に、バーコードの読取りエラー検出に関する。
【0002】
【従来の技術】バーコードは、文字や数字などのキヤラ
クタを幅が異なる複数個のバーでもつてコード化するこ
とにより、商品の値段や商品名などのキヤラクタ列をバ
ーの配列でもつて表わすようにしたものである。キヤラ
クタを表わすコードを、以下、キヤラクタコードという
が、1キヤラクタコードを表わすバーの個数や太バー、
細バーの組合せパターンはバーコードの形式によつて異
なつているものの、いずれの形式も、全てのキヤラクタ
コードを表わすバーの列の前後に夫々マージン(空白
部)とスタートコード、ストツプコードを表わすバー列
が設けられている。
クタを幅が異なる複数個のバーでもつてコード化するこ
とにより、商品の値段や商品名などのキヤラクタ列をバ
ーの配列でもつて表わすようにしたものである。キヤラ
クタを表わすコードを、以下、キヤラクタコードという
が、1キヤラクタコードを表わすバーの個数や太バー、
細バーの組合せパターンはバーコードの形式によつて異
なつているものの、いずれの形式も、全てのキヤラクタ
コードを表わすバーの列の前後に夫々マージン(空白
部)とスタートコード、ストツプコードを表わすバー列
が設けられている。
【0003】以下では、説明を明確にするために、バー
コードの形式をInterleaved 2of5とす
る。これは、5本の黒バーで1キヤラクタを表わし、ま
た、黒バーの間隔をなす白バー5本でも1キヤラクタを
表わすようにしたものである。1つのバーコードは複数
個のキヤラクタコードを表わしているが、各キヤラクタ
コードを1桁として複数桁のキヤラクタコードを表わし
ている。
コードの形式をInterleaved 2of5とす
る。これは、5本の黒バーで1キヤラクタを表わし、ま
た、黒バーの間隔をなす白バー5本でも1キヤラクタを
表わすようにしたものである。1つのバーコードは複数
個のキヤラクタコードを表わしているが、各キヤラクタ
コードを1桁として複数桁のキヤラクタコードを表わし
ている。
【0004】この種のバーコード表示では、このバーコ
ード表示の左側での所定幅の媒体の地色の部分をスター
トマージン、右側での所定幅の媒体の地色の部分をスト
ップマージンとし、これらマージンをバーコード表示が
なされていることを判定するために使用する。バーコー
ド表示の左端の細バーとこれに続く細バーとはスタート
コードを表わし、右端の細バーとこれより1つ左側の太
バーとがストップコードを表わしている。そして、これ
らスタートコード、ストップコードとの間に、所定本数
の細バーや太バー(黒バー)と細スペースや太スペース
(白バー)との組合わせでもって夫々の表示内容を判別
するキャラクタコードが表示されている。ここで、キャ
ラクタコードの配列方向(すなわち、スタートコードか
らストップコードへの方向)を順方向とすると、バーコ
ードは上記の順方向に読み取られるようにするのが一般
的であるが、逆方向に読み取られる場合もあり得、この
ような場合には、ストップコードがスタートコードであ
るかのように、また、スタートコードがストップコード
であるかのように読み取られるから、読取り方向によつ
てスタートコード、ストツプコードのパターンが違うこ
とになり、これによってバーコードの読み取り方向を判
別できるようにしている。
ード表示の左側での所定幅の媒体の地色の部分をスター
トマージン、右側での所定幅の媒体の地色の部分をスト
ップマージンとし、これらマージンをバーコード表示が
なされていることを判定するために使用する。バーコー
ド表示の左端の細バーとこれに続く細バーとはスタート
コードを表わし、右端の細バーとこれより1つ左側の太
バーとがストップコードを表わしている。そして、これ
らスタートコード、ストップコードとの間に、所定本数
の細バーや太バー(黒バー)と細スペースや太スペース
(白バー)との組合わせでもって夫々の表示内容を判別
するキャラクタコードが表示されている。ここで、キャ
ラクタコードの配列方向(すなわち、スタートコードか
らストップコードへの方向)を順方向とすると、バーコ
ードは上記の順方向に読み取られるようにするのが一般
的であるが、逆方向に読み取られる場合もあり得、この
ような場合には、ストップコードがスタートコードであ
るかのように、また、スタートコードがストップコード
であるかのように読み取られるから、読取り方向によつ
てスタートコード、ストツプコードのパターンが違うこ
とになり、これによってバーコードの読み取り方向を判
別できるようにしている。
【0005】かかるバーコードを読み取る光学読取装置
はバーコードスキヤナと呼ばれるが、以下、ラインセン
サを用いた従来のバーコードスキヤナの一例を図5、図
6により説明する。但し、同図において、1は読取中信
号ラツチ回路、2は照光部、3は光学結像部、4は1走
査カウンタ、5はメデイア、6はバーコード、7はスタ
ートパルス発生回路、8はパルス幅設定回路、9はレベ
ル検出回路、10は光電変換部、11,12は分周回
路、13は発振回路、14は二値化回路、15は走査回
数定数メモリ、16は走査回数カウンタ、17は走査回
数比較器、18はエツジ検出回路、19はタイマカウン
タ、20はカウント値メモリ、21はカウント値メモリ
制御部、211はマージン判定部、212はフアースト
スロー判定部、213はアドレスカウンタ、214はア
ドレスデコーダ、215はリセツト回路、22はビツト
イメージ変換器、23はキヤラクタコードビツトイメー
ジメモリ、24はストツプコードビツトイメージメモ
リ、25はビツトイメージメモリ制御部、26はスター
トストツプ判定部、27はキヤラクタ変換部、28はキ
ヤラクタコード一致比較器、29はエラー処理回路、3
0は定数メモリ、31はデータ一致回数カウンタ、32
はデータ一致回数比較器、33は出力データ変換部であ
る。
はバーコードスキヤナと呼ばれるが、以下、ラインセン
サを用いた従来のバーコードスキヤナの一例を図5、図
6により説明する。但し、同図において、1は読取中信
号ラツチ回路、2は照光部、3は光学結像部、4は1走
査カウンタ、5はメデイア、6はバーコード、7はスタ
ートパルス発生回路、8はパルス幅設定回路、9はレベ
ル検出回路、10は光電変換部、11,12は分周回
路、13は発振回路、14は二値化回路、15は走査回
数定数メモリ、16は走査回数カウンタ、17は走査回
数比較器、18はエツジ検出回路、19はタイマカウン
タ、20はカウント値メモリ、21はカウント値メモリ
制御部、211はマージン判定部、212はフアースト
スロー判定部、213はアドレスカウンタ、214はア
ドレスデコーダ、215はリセツト回路、22はビツト
イメージ変換器、23はキヤラクタコードビツトイメー
ジメモリ、24はストツプコードビツトイメージメモ
リ、25はビツトイメージメモリ制御部、26はスター
トストツプ判定部、27はキヤラクタ変換部、28はキ
ヤラクタコード一致比較器、29はエラー処理回路、3
0は定数メモリ、31はデータ一致回数カウンタ、32
はデータ一致回数比較器、33は出力データ変換部であ
る。
【0006】図5において、発振回路13は常時動作し
ており、その出力信号が分周回路11で分周されてクロ
ツクφ1が、また、分周回路12で分周されてクロツク
φ2が夫々形成される。クロツクφ1はラインセンサか
らなる光電変換部10と1走査カウンタ4とに供給さ
れ、クロツクφ2はタイマカウンタ19に供給される。
ており、その出力信号が分周回路11で分周されてクロ
ツクφ1が、また、分周回路12で分周されてクロツク
φ2が夫々形成される。クロツクφ1はラインセンサか
らなる光電変換部10と1走査カウンタ4とに供給さ
れ、クロツクφ2はタイマカウンタ19に供給される。
【0007】図示しないホスト機器から読取開始信号S
が供給されると、読取中信号ラツチ回路1はセツトされ
て読取中信号READを出力し、照光部2とスタートパ
ルス発生回路7とに供給する。照光部2は発光素子とし
てLEDを有し、読取中信号READによつてLEDを
点灯させてメデイア5上のバーコード6の印刷領域を照
光する。この印刷領域から反射された光は光学結像部3
を介して光電変換部10であるラインセンサの受光面に
照射され、この光学結像部3によつてラインセンサの受
光面にバーコード6の像が結像される。以下、光電変換
部10をラインセンサとして説明する。
が供給されると、読取中信号ラツチ回路1はセツトされ
て読取中信号READを出力し、照光部2とスタートパ
ルス発生回路7とに供給する。照光部2は発光素子とし
てLEDを有し、読取中信号READによつてLEDを
点灯させてメデイア5上のバーコード6の印刷領域を照
光する。この印刷領域から反射された光は光学結像部3
を介して光電変換部10であるラインセンサの受光面に
照射され、この光学結像部3によつてラインセンサの受
光面にバーコード6の像が結像される。以下、光電変換
部10をラインセンサとして説明する。
【0008】スタートパルス発生回路7は、次の4条
件、すなわち、 (1)1走査カウンタ4から走査終了信号SEDが供給
されている (2)読取中信号ラツチ回路1から読取中信号READ
が供給されている (3)パルス幅設定回路8でパルス幅設定が完了し、そ
の設定値が送られてきている (4)キヤラクタ変換部27からキヤラクタ変換終了信
号CEDが供給されている の条件を全て同時に満足しているとき、スタートパルス
STを発生する。かかる条件を、以下、パルス発生条件
という。
件、すなわち、 (1)1走査カウンタ4から走査終了信号SEDが供給
されている (2)読取中信号ラツチ回路1から読取中信号READ
が供給されている (3)パルス幅設定回路8でパルス幅設定が完了し、そ
の設定値が送られてきている (4)キヤラクタ変換部27からキヤラクタ変換終了信
号CEDが供給されている の条件を全て同時に満足しているとき、スタートパルス
STを発生する。かかる条件を、以下、パルス発生条件
という。
【0009】初期状態では、1走査カウンタ4は走査終
了信号SEDを、パルス幅設定回路8は初期値が設定さ
れていてこれを、キヤラクタ変換部27(図6)はキヤ
ラクタ変換終了信号CEDを夫々出力しており、読取中
信号ラツチ回路1から読取中信号READが供給開始さ
れると、スタートパルス発生回路7はパルス発生条件を
満足し、パルス幅設定回路8の初期値で決まるパルス幅
のスタートパルスSTを発生する。このスタートパルス
STは1走査カウンタ4とラインセンサ10とに供給さ
れる。 ラインセンサ10は、スタートパルスSTによ
り、受光面の像をクロツクφ1が供給される毎に1画素
ずつ読み取り、バーコード6を走査して読み取る。これ
により、ラインセンサ10からは、バーコード6の黒バ
ーと白バーとでレベルが異なる電気信号が出力される。
また、1走査カウンタ4はスタートパルスSTによつて
クロツクφ1のカウントを開始して走査終了信号SED
を出力しなくなり、ラインセンサ10の1走査分のクロ
ツクφ1をカウントすると、再び走査終了信号SEDを
出力する。この走査終了信号SEDはスタートパルス発
生回路7、走査回数カウンタ16、カウント値メモリ2
0、マージン判定回路211およびアドレスカウンタ2
13に供給される。
了信号SEDを、パルス幅設定回路8は初期値が設定さ
れていてこれを、キヤラクタ変換部27(図6)はキヤ
ラクタ変換終了信号CEDを夫々出力しており、読取中
信号ラツチ回路1から読取中信号READが供給開始さ
れると、スタートパルス発生回路7はパルス発生条件を
満足し、パルス幅設定回路8の初期値で決まるパルス幅
のスタートパルスSTを発生する。このスタートパルス
STは1走査カウンタ4とラインセンサ10とに供給さ
れる。 ラインセンサ10は、スタートパルスSTによ
り、受光面の像をクロツクφ1が供給される毎に1画素
ずつ読み取り、バーコード6を走査して読み取る。これ
により、ラインセンサ10からは、バーコード6の黒バ
ーと白バーとでレベルが異なる電気信号が出力される。
また、1走査カウンタ4はスタートパルスSTによつて
クロツクφ1のカウントを開始して走査終了信号SED
を出力しなくなり、ラインセンサ10の1走査分のクロ
ツクφ1をカウントすると、再び走査終了信号SEDを
出力する。この走査終了信号SEDはスタートパルス発
生回路7、走査回数カウンタ16、カウント値メモリ2
0、マージン判定回路211およびアドレスカウンタ2
13に供給される。
【0010】スタートパルスSTのパルス幅はラインセ
ンサ10での画素をなす各コンデンサの充電時間を決め
るものであり、この充電時間に応じてラインセンサ10
の出力信号のレベルの大きさが決まる。この出力信号は
レベル検出回路9に供給されてレベルの大きさが検出さ
れ、この検出結果に応じてパルス幅設定回路8で最適レ
ベルとなるようなパルス幅が設定される。スタートパル
ス発生回路7は、1走査カウンタ4から再び走査終了信
号SEDが供給されてパルス発生条件を満足すると、再
びパルス幅設定回路8の設定値に応じたパルス幅のスタ
ートパルスSTを発生し、ラインセンサ10を走査開始
させ、1走査カウンタ4をカウント開始させる。
ンサ10での画素をなす各コンデンサの充電時間を決め
るものであり、この充電時間に応じてラインセンサ10
の出力信号のレベルの大きさが決まる。この出力信号は
レベル検出回路9に供給されてレベルの大きさが検出さ
れ、この検出結果に応じてパルス幅設定回路8で最適レ
ベルとなるようなパルス幅が設定される。スタートパル
ス発生回路7は、1走査カウンタ4から再び走査終了信
号SEDが供給されてパルス発生条件を満足すると、再
びパルス幅設定回路8の設定値に応じたパルス幅のスタ
ートパルスSTを発生し、ラインセンサ10を走査開始
させ、1走査カウンタ4をカウント開始させる。
【0011】このようにして、ラインセンサ10はバー
コード6を繰り返し走査する。
コード6を繰り返し走査する。
【0012】ラインセンサ10の出力信号は、二値化回
路14でレベルが2値化された後、エツジ検出回路18
でその立上り、立下りエツジが検出される。エツジ検出
回路18から出力されるエツジパルスEGはタイマカウ
ンタ19とアドレスカウンタ213とに供給される。
路14でレベルが2値化された後、エツジ検出回路18
でその立上り、立下りエツジが検出される。エツジ検出
回路18から出力されるエツジパルスEGはタイマカウ
ンタ19とアドレスカウンタ213とに供給される。
【0013】タイマカウンタ19はエツジパルスEGを
リセツト信号として分周回路12からのクロツクφ2を
カウントする。したがつて、タイマカウンタ19から
は、バーコード6の各バーの幅を表わすカウント値Nを
出力する。このカウント値Nはカウント値メモリ制御部
21によつて制御されるカウント値メモリ20に書き込
まれる。
リセツト信号として分周回路12からのクロツクφ2を
カウントする。したがつて、タイマカウンタ19から
は、バーコード6の各バーの幅を表わすカウント値Nを
出力する。このカウント値Nはカウント値メモリ制御部
21によつて制御されるカウント値メモリ20に書き込
まれる。
【0014】カウント値メモリ制御部21はマージン判
定部211、フアーストスロー判定部212、アドレス
カウンタ213、アドレスデコーダ214およびリセツ
ト回路215によつて構成されている。マージン判定部
211はバーコード6の先頭バーの前と最後のバーの後
に設けられた空白部(スタートマージン、ストツプマー
ジン)に対するタイマカウンタ19のカウント値Nと、
空白部分とバーコード部分のカウント値との比により、
バーコードの開始と終了とを検出し、開始信号MSTと
終了信号MEDとを発生する。また、スタートマージ
ン、ストツプマージンが不足のときには、マージンエラ
ー信号MERを出力してリセツト回路215に供給す
る。1走査カウンタ4から走査終了信号SEDが供給さ
れるときには、このマージン判定回路211は動作しな
い。フアーストスロー判定部212はタイマカウンタ1
9から出力されるカウント値Nの大きさを検出し、エツ
ジ検出回路18からのエツジパルスEGの間隔が狭すぎ
たり、広すぎたりしたときにフアーストスローエラー信
号を出力してリセツト回路215に供給する。メデイア
5でのバーコード6の印刷ににじみや傷、ほこりの付着
によつてバーが狭くなつたり、広がつたりして読み取ら
れると、フアーストスロー判定部212はフアーストス
ローエラー信号を出力する。リセツト回路215は、マ
ージン判定部211からマージンエラー信号MERが供
給されると、あるいはフアーストスロー判定部212か
らフアーストスローエラー信号が供給されると、リセツ
ト信号を発生してアドレスカウンタ213とカウント値
メモリ20とに送る。
定部211、フアーストスロー判定部212、アドレス
カウンタ213、アドレスデコーダ214およびリセツ
ト回路215によつて構成されている。マージン判定部
211はバーコード6の先頭バーの前と最後のバーの後
に設けられた空白部(スタートマージン、ストツプマー
ジン)に対するタイマカウンタ19のカウント値Nと、
空白部分とバーコード部分のカウント値との比により、
バーコードの開始と終了とを検出し、開始信号MSTと
終了信号MEDとを発生する。また、スタートマージ
ン、ストツプマージンが不足のときには、マージンエラ
ー信号MERを出力してリセツト回路215に供給す
る。1走査カウンタ4から走査終了信号SEDが供給さ
れるときには、このマージン判定回路211は動作しな
い。フアーストスロー判定部212はタイマカウンタ1
9から出力されるカウント値Nの大きさを検出し、エツ
ジ検出回路18からのエツジパルスEGの間隔が狭すぎ
たり、広すぎたりしたときにフアーストスローエラー信
号を出力してリセツト回路215に供給する。メデイア
5でのバーコード6の印刷ににじみや傷、ほこりの付着
によつてバーが狭くなつたり、広がつたりして読み取ら
れると、フアーストスロー判定部212はフアーストス
ローエラー信号を出力する。リセツト回路215は、マ
ージン判定部211からマージンエラー信号MERが供
給されると、あるいはフアーストスロー判定部212か
らフアーストスローエラー信号が供給されると、リセツ
ト信号を発生してアドレスカウンタ213とカウント値
メモリ20とに送る。
【0015】アドレスカウンタ213は、1走査カウン
タ4から走査終了信号SEDが供給されなくなつてライ
ンセンサ10が走査を開始すると、マージン判定部21
1から開始信号MSTが供給されるとともに、エツジ検
出回路18からのエツジ信号EGを初期値からカウント
し始める。アドレスカウンタ213から出力されるカウ
ント値はアドレスデコーダ214でデコードされ、アド
レス信号ADRとしてカウント値メモリ20に供給され
る。カウント値メモリ20は1走査カウンタ4から走査
終了信号SEDが供給されなくなると書込みモードとな
り、タイマカウンタ19から出力されるカウント値Nは
カウント値メモリ20のアドレス信号ADRによつて指
定されるアドレスに順次書き込まれる。
タ4から走査終了信号SEDが供給されなくなつてライ
ンセンサ10が走査を開始すると、マージン判定部21
1から開始信号MSTが供給されるとともに、エツジ検
出回路18からのエツジ信号EGを初期値からカウント
し始める。アドレスカウンタ213から出力されるカウ
ント値はアドレスデコーダ214でデコードされ、アド
レス信号ADRとしてカウント値メモリ20に供給され
る。カウント値メモリ20は1走査カウンタ4から走査
終了信号SEDが供給されなくなると書込みモードとな
り、タイマカウンタ19から出力されるカウント値Nは
カウント値メモリ20のアドレス信号ADRによつて指
定されるアドレスに順次書き込まれる。
【0016】カウント値メモリ20にバーコード6の全
てのバーに対するカウント値Nが書き込まれ、マージン
判定部211から終了信号MEDが出力されると、アド
レスカウンタ213はカウントを停止して初期値がセツ
トされる。次に、ラインセンサ10の1走査が終つて1
走査カウンタ4が走査終了信号SEDを出力すると、カ
ウント値メモリ20は読出しモードとなり、アドレスカ
ウンタ213は、内部クロツクにより、初期値から順次
1ずつインクリメントされたカウント値を出力する。こ
のカウント値はアドレスデコーダ214でカウント値メ
モリ20のアドレス信号ADRとなる。したがつて、カ
ウント値メモリ20からは、書き込まれたカウント値N
がその書き込まれた順に読み出される。
てのバーに対するカウント値Nが書き込まれ、マージン
判定部211から終了信号MEDが出力されると、アド
レスカウンタ213はカウントを停止して初期値がセツ
トされる。次に、ラインセンサ10の1走査が終つて1
走査カウンタ4が走査終了信号SEDを出力すると、カ
ウント値メモリ20は読出しモードとなり、アドレスカ
ウンタ213は、内部クロツクにより、初期値から順次
1ずつインクリメントされたカウント値を出力する。こ
のカウント値はアドレスデコーダ214でカウント値メ
モリ20のアドレス信号ADRとなる。したがつて、カ
ウント値メモリ20からは、書き込まれたカウント値N
がその書き込まれた順に読み出される。
【0017】なお、リセツト回路215がリセツト信号
を出力すると、これによつてアドレスカウンタ213は
初期値にリセツトされ、カウント値メモリ20はクリア
される。マージン判定部211は次のマージン判定まで
マージンエラー信号MERを出力し続け、フアーストス
ロー判定部212は1走査カウンタ4から次の走査終了
信号SEDが供給されるまでフアーストスローエラー信
号を出力し続ける。
を出力すると、これによつてアドレスカウンタ213は
初期値にリセツトされ、カウント値メモリ20はクリア
される。マージン判定部211は次のマージン判定まで
マージンエラー信号MERを出力し続け、フアーストス
ロー判定部212は1走査カウンタ4から次の走査終了
信号SEDが供給されるまでフアーストスローエラー信
号を出力し続ける。
【0018】カウント値メモリ20から出力されるカウ
ント値Nはビツトイメージ変換部22に供給され、予め
設定されている閾値と比較されてバーの種類を表わすビ
ツトイメージBIに変換される。
ント値Nはビツトイメージ変換部22に供給され、予め
設定されている閾値と比較されてバーの種類を表わすビ
ツトイメージBIに変換される。
【0019】次に、図6について説明する。ビツトイメ
ージ変換部22からのビツトイメージBIはキヤラクタ
コードビツトイメージメモリ23、ストツプコードビツ
トイメージメモリ24およびビツトイメージメモリ制御
部25に供給される。ビツトイメージメモリ制御部25
は、ビツトイメージBIの出力順序を判定するなどし
て、ビツトイメージBIがキヤラクタコードをなすビツ
トイメージ(キヤラクタコードビツトイメージ)か、あ
るいはストツプコードをなすビツトイメージ(ストツプ
コードビツトイメージ)かを識別し、ビツトイメージB
Iがキヤラクタコードビツトイメージであるときには、
ビツトイメージBIを5個ずつ区分して夫々1バイトの
データとし、これらデータを順次キヤラクタコードビツ
トイメージメモリ23に書き込み、ビツトイメージBI
がストツプコードビツトイメージであるときにはこれを
ストツプコードビツトイメージメモリ24に書き込む。
Interleaved 2of5の場合、黒バーと白
バーとに対するビツトイメージが区分され、夫々につい
て1バイトのデータが形成されてキヤラクタコードビツ
トイメージメモリ23に書き込まれる。キヤラクタコー
ドビツトイメージメモリ23、ストツプコードビツトイ
メージメモリ24での書込みが終ると、ビツトイメージ
メモリ制御部25は、キヤラクタコードビツトイメージ
メモリ23から上記の1バイトのデータCCDを順次読
み出してキヤラクタ変換部27に送り、また、ストツプ
コードビツトイメージメモリ24からストツプコードビ
ツトイメージSCDを読み出し、スタートストツプ判定
部26に送る。
ージ変換部22からのビツトイメージBIはキヤラクタ
コードビツトイメージメモリ23、ストツプコードビツ
トイメージメモリ24およびビツトイメージメモリ制御
部25に供給される。ビツトイメージメモリ制御部25
は、ビツトイメージBIの出力順序を判定するなどし
て、ビツトイメージBIがキヤラクタコードをなすビツ
トイメージ(キヤラクタコードビツトイメージ)か、あ
るいはストツプコードをなすビツトイメージ(ストツプ
コードビツトイメージ)かを識別し、ビツトイメージB
Iがキヤラクタコードビツトイメージであるときには、
ビツトイメージBIを5個ずつ区分して夫々1バイトの
データとし、これらデータを順次キヤラクタコードビツ
トイメージメモリ23に書き込み、ビツトイメージBI
がストツプコードビツトイメージであるときにはこれを
ストツプコードビツトイメージメモリ24に書き込む。
Interleaved 2of5の場合、黒バーと白
バーとに対するビツトイメージが区分され、夫々につい
て1バイトのデータが形成されてキヤラクタコードビツ
トイメージメモリ23に書き込まれる。キヤラクタコー
ドビツトイメージメモリ23、ストツプコードビツトイ
メージメモリ24での書込みが終ると、ビツトイメージ
メモリ制御部25は、キヤラクタコードビツトイメージ
メモリ23から上記の1バイトのデータCCDを順次読
み出してキヤラクタ変換部27に送り、また、ストツプ
コードビツトイメージメモリ24からストツプコードビ
ツトイメージSCDを読み出し、スタートストツプ判定
部26に送る。
【0020】スタートストツプ判定部26においては、
バーコードに使用される正しいストツプコードに対し、
正しく正、逆方向に読み取つたときに得られる2種類の
ビツトイメージによるビツトパターン(以下、登録スト
ツプコードパターンという)がROMに登録されてお
り、ストツプコードビツトイメージメモリ24からの2
つのビツトイメージによるデータSCDのビツトパター
ン(以下、検出ストツプコードパターンという)が登録
ストツプコードパターンと比較され、いずれの登録スト
ツプコードパターンと一致するか判定される。この検出
ストツプコードパターンと一致する登録ストツプコード
パターンがあるときには、これによつてバーコード6の
読取り方向も判断でき、この一致した登録ストツプコー
ドパターンに対応したデータ(ストツプコードデータ)
SSCを出力データ変換部33に供給するとともに、変
換方向指示信号CDDをキヤラクタ変換部27に送る。
バーコードに使用される正しいストツプコードに対し、
正しく正、逆方向に読み取つたときに得られる2種類の
ビツトイメージによるビツトパターン(以下、登録スト
ツプコードパターンという)がROMに登録されてお
り、ストツプコードビツトイメージメモリ24からの2
つのビツトイメージによるデータSCDのビツトパター
ン(以下、検出ストツプコードパターンという)が登録
ストツプコードパターンと比較され、いずれの登録スト
ツプコードパターンと一致するか判定される。この検出
ストツプコードパターンと一致する登録ストツプコード
パターンがあるときには、これによつてバーコード6の
読取り方向も判断でき、この一致した登録ストツプコー
ドパターンに対応したデータ(ストツプコードデータ)
SSCを出力データ変換部33に供給するとともに、変
換方向指示信号CDDをキヤラクタ変換部27に送る。
【0021】検出ストツプコードパターンSCDに一致
する登録ストツプコードパターンがないときには、スタ
ートストツプ判定部26はエラー信号ERR1を出力
し、エラー処理回路29に供給する。
する登録ストツプコードパターンがないときには、スタ
ートストツプ判定部26はエラー信号ERR1を出力
し、エラー処理回路29に供給する。
【0022】キヤラクタ変換部27においては、バーコ
ードに使用される全てのキヤラクタコードに対し、正方
向に正しく読み取つたときに得られるビツトイメージを
含んだ1バイトのデータによるビツトパターン(以下、
登録キヤラクタコードパターンという)がROMに登録
されており、キヤラクタコードビツトイメージメモリ2
3からの1バイトのデータCCDのビツトパターン(以
下、検出キヤラクタコードパターンという)が登録キヤ
ラクタコードパターンと比較され、いずれの登録キヤラ
クタコードパターンと一致するか判定される。この場
合、バーコード6が逆方向に読み取られているときに
は、スタートストツプ判定部26からの変換方向指示信
号CDDにより、検出キヤラクタコードパターンCCD
が前後反転されて登録キヤラクタコードパターンと比較
される。
ードに使用される全てのキヤラクタコードに対し、正方
向に正しく読み取つたときに得られるビツトイメージを
含んだ1バイトのデータによるビツトパターン(以下、
登録キヤラクタコードパターンという)がROMに登録
されており、キヤラクタコードビツトイメージメモリ2
3からの1バイトのデータCCDのビツトパターン(以
下、検出キヤラクタコードパターンという)が登録キヤ
ラクタコードパターンと比較され、いずれの登録キヤラ
クタコードパターンと一致するか判定される。この場
合、バーコード6が逆方向に読み取られているときに
は、スタートストツプ判定部26からの変換方向指示信
号CDDにより、検出キヤラクタコードパターンCCD
が前後反転されて登録キヤラクタコードパターンと比較
される。
【0023】検出キヤラクタコードパターンCCDが登
録キヤラクタコードパターンのいずれかと一致すると、
キヤラクタ変換部27は一致した登録キヤラクタコード
パターンに対するキヤラクタデータCDを出力し、キヤ
ラクタコード一致比較器28と出力データ変換部33と
に送る。検出キヤラクタコードパターンCCDがいずれ
の登録キヤラクタコードパターンと一致しないときに
は、キヤラクタ変換部27はエラー信号ERR2を発生
してエラー処理回路29に送る。また、バーコード6の
1走査分の検出キヤラクタコードパターンCCDが全て
キヤラクタデータCDに変換されると、キヤラクタ変換
部27はキヤラクタ変換終了信号CEDを発生して図5
のスタートパルス発生回路7に供給する。これにより、
このスタートパルス発生回路7はスタートパルスSTを
発生し、ラインセンサ10(図5)はバーコード6の次
の読取り走査を行なう。
録キヤラクタコードパターンのいずれかと一致すると、
キヤラクタ変換部27は一致した登録キヤラクタコード
パターンに対するキヤラクタデータCDを出力し、キヤ
ラクタコード一致比較器28と出力データ変換部33と
に送る。検出キヤラクタコードパターンCCDがいずれ
の登録キヤラクタコードパターンと一致しないときに
は、キヤラクタ変換部27はエラー信号ERR2を発生
してエラー処理回路29に送る。また、バーコード6の
1走査分の検出キヤラクタコードパターンCCDが全て
キヤラクタデータCDに変換されると、キヤラクタ変換
部27はキヤラクタ変換終了信号CEDを発生して図5
のスタートパルス発生回路7に供給する。これにより、
このスタートパルス発生回路7はスタートパルスSTを
発生し、ラインセンサ10(図5)はバーコード6の次
の読取り走査を行なう。
【0024】キヤラクタコード一致比較器28はキヤラ
クタ変換部27からの1走査分のキヤラクタデータCD
を保持し、これと次回の走査によつてキヤラクタ変換部
27から供給されるキヤラクタデータCDとを比較し、
全てのキヤラクタデータが一致したとき、一致パルスを
出力してデータ一致回数カウンタ31に供給する。デー
タ一致回数カウンタ31はこの一致パルスをカウント
し、このカウント値がデータ一致回数比較器32で定数
メモリ30に記憶されている一致回数設定値と比較され
る。データ一致回数カウンタ31のカウント値が一致回
数設定値以上となると、データ一致回数比較器32は読
取完了信号REND1を発生して出力データ変換部33
に送る。前回走査と今回走査とのキヤラクタ変換部27
からのキヤラクタデータCDが1つでも一致しないと、
キヤラクタコード一致比較器28はエラー信号ERR3
を出力してエラー処理回路29に送るとともに、データ
一致回路カウンタ31をクリアする。
クタ変換部27からの1走査分のキヤラクタデータCD
を保持し、これと次回の走査によつてキヤラクタ変換部
27から供給されるキヤラクタデータCDとを比較し、
全てのキヤラクタデータが一致したとき、一致パルスを
出力してデータ一致回数カウンタ31に供給する。デー
タ一致回数カウンタ31はこの一致パルスをカウント
し、このカウント値がデータ一致回数比較器32で定数
メモリ30に記憶されている一致回数設定値と比較され
る。データ一致回数カウンタ31のカウント値が一致回
数設定値以上となると、データ一致回数比較器32は読
取完了信号REND1を発生して出力データ変換部33
に送る。前回走査と今回走査とのキヤラクタ変換部27
からのキヤラクタデータCDが1つでも一致しないと、
キヤラクタコード一致比較器28はエラー信号ERR3
を出力してエラー処理回路29に送るとともに、データ
一致回路カウンタ31をクリアする。
【0025】出力データ変換部33は、キヤラクタ変換
部27からのキヤラクタデータCDとスタートストツプ
判定部26からのストツプコードデータSSCをバーコ
ード6の走査毎に取り込んで最新のものを保持し、デー
タ一致回数比較器32から読取完了信号REND1が供
給されると、保持しているキヤラクタデータCDとスト
ツプコードデータSSCとを所定の形式に変換してホス
ト機器(図示せず)に送る。これとともに、読取終了を
表示するための表示指示信号DISをランプやブザーな
どの表示装置(図示せず)に送り、また、リセツト信号
RSTを発生して自身を初期化する。このリセツト信号
RSTは読取中信号ラツチ回路1(図5)などに供給さ
れ、これらをリセツトする。この読取中信号ラツチ回路
1は、リセツト信号RSTでリセツトされると、読取中
信号READを出力しなくなり、バーコード6の読取り
は停止する。照光部2も消灯する。
部27からのキヤラクタデータCDとスタートストツプ
判定部26からのストツプコードデータSSCをバーコ
ード6の走査毎に取り込んで最新のものを保持し、デー
タ一致回数比較器32から読取完了信号REND1が供
給されると、保持しているキヤラクタデータCDとスト
ツプコードデータSSCとを所定の形式に変換してホス
ト機器(図示せず)に送る。これとともに、読取終了を
表示するための表示指示信号DISをランプやブザーな
どの表示装置(図示せず)に送り、また、リセツト信号
RSTを発生して自身を初期化する。このリセツト信号
RSTは読取中信号ラツチ回路1(図5)などに供給さ
れ、これらをリセツトする。この読取中信号ラツチ回路
1は、リセツト信号RSTでリセツトされると、読取中
信号READを出力しなくなり、バーコード6の読取り
は停止する。照光部2も消灯する。
【0026】このようにして、前後の走査によるキヤラ
クタデータが定数メモリ30での一定回数設定値による
回数(たとえば2回)連続して一致すると、バーコード
6が正しく読み取られたとして読取りが終るが、この回
数連続して一致しなければ、バーコード6の読取りが繰
り返されるのであるが、ある回数読取りが繰り返されて
もデータ一致回数比較器32から読取完了信号REND
1が出力されなければ、それ以上のバーコード6の読取
りは禁止される。
クタデータが定数メモリ30での一定回数設定値による
回数(たとえば2回)連続して一致すると、バーコード
6が正しく読み取られたとして読取りが終るが、この回
数連続して一致しなければ、バーコード6の読取りが繰
り返されるのであるが、ある回数読取りが繰り返されて
もデータ一致回数比較器32から読取完了信号REND
1が出力されなければ、それ以上のバーコード6の読取
りは禁止される。
【0027】すなわち、図5において、走査回数カウン
タ16は1走査カウンタ4が走査終了信号SEDを出力
する毎に1ずつカウントアツプする。この走査回数カウ
ンタ16のカウント値はラインセンサ10の走査回数を
表わし、走査回数比較器17で走査回数定数メモリ15
に設定されている定数と比較される。走査回数カウンタ
16のカウント値がこの定数以上となると、走査回数比
較器17は読取終了信号REND2を出力し、図6の出
力データ変換部33に供給する。
タ16は1走査カウンタ4が走査終了信号SEDを出力
する毎に1ずつカウントアツプする。この走査回数カウ
ンタ16のカウント値はラインセンサ10の走査回数を
表わし、走査回数比較器17で走査回数定数メモリ15
に設定されている定数と比較される。走査回数カウンタ
16のカウント値がこの定数以上となると、走査回数比
較器17は読取終了信号REND2を出力し、図6の出
力データ変換部33に供給する。
【0028】そこで、この出力データ変換部33は、キ
ヤラクタデータやストツプコードデータをホスト機器に
送ることなく、リセツト信号RSTを出力して自身を初
期化する。これにより、バーコード6の読取りは失敗し
たものとしてバーコード6の読取りを中止する。また、
読取り不能を示す表示指示信号DISを表示装置に送
る。
ヤラクタデータやストツプコードデータをホスト機器に
送ることなく、リセツト信号RSTを出力して自身を初
期化する。これにより、バーコード6の読取りは失敗し
たものとしてバーコード6の読取りを中止する。また、
読取り不能を示す表示指示信号DISを表示装置に送
る。
【0029】エラー処理回路29は、エラー信号ERR
1,ERR2,ERR3のいずれが供給されても、キヤ
ラクタ変換リセツト信号CERTを出力し、図5のカウ
ント値メモリ制御部21、ビツトイメージ変換部22や
図6のキヤラクタコードビツトイメージメモリ23、ス
トツプコードビツトイメージメモリ24、ビツトイメー
ジメモリ制御部25、スタートストツプ判定部26、キ
ヤラクタ変換部27などを初期化する。これにより、キ
ヤラクタ変換部27はキヤラクタ変換終了信号CEDを
出力する。
1,ERR2,ERR3のいずれが供給されても、キヤ
ラクタ変換リセツト信号CERTを出力し、図5のカウ
ント値メモリ制御部21、ビツトイメージ変換部22や
図6のキヤラクタコードビツトイメージメモリ23、ス
トツプコードビツトイメージメモリ24、ビツトイメー
ジメモリ制御部25、スタートストツプ判定部26、キ
ヤラクタ変換部27などを初期化する。これにより、キ
ヤラクタ変換部27はキヤラクタ変換終了信号CEDを
出力する。
【0030】以上のように、ラインセンサ10はバーコ
ード6を複数回読取り走査し、定数メモリ30の一致回
数設定値に等しい回数連続してキヤラクタコードが一致
すると、バーコード6の読取りが正しく行なわれたもの
とし、ホスト機器にこのキヤラクタコードを送つて読取
り動作を完了する。
ード6を複数回読取り走査し、定数メモリ30の一致回
数設定値に等しい回数連続してキヤラクタコードが一致
すると、バーコード6の読取りが正しく行なわれたもの
とし、ホスト機器にこのキヤラクタコードを送つて読取
り動作を完了する。
【0031】
【発明が解決しようとする課題】ところで、以上のよう
なラインセンサを用いたバーコードスキヤナは、キヤラ
クタ変換部27における登録キヤラクタコードパターン
を代えるなどして、種々のものに使用されるバーコード
に対して適用できる。バーコードスキヤナをメデイアに
タツチさせたときのラインセンサのメデイア上での走査
範囲の大きさが一定であるから、この走査範囲に入るバ
ーコードの読取りは可能であるが、バーコードの大きさ
は一定ではなく、その使われ方によつて大きさが異な
る。そして、上記のような同じ形式のバーコードスキヤ
ナを色々な使われ方をするバーコードの読取りに使用す
る場合、ラインセンサの走査範囲に1個しかバーコード
が入り込まない場合には問題がないが、たとえばテレビ
番組表のように、小さいバーコードが多数羅列され、こ
の表から所望のバーコードを読み取る場合には、ライン
センサの走査範囲に2以上のバーコードが入り込んだ
り、2以上のバーコードにまたがつてラインセンサの走
査範囲が設定されたりすることがあり、このような場合
には、次のような問題が生ずる。但し、以下の説明で
は、図5において、ラインセンサ10の走査範囲はバー
コード2個分の大きさとする。
なラインセンサを用いたバーコードスキヤナは、キヤラ
クタ変換部27における登録キヤラクタコードパターン
を代えるなどして、種々のものに使用されるバーコード
に対して適用できる。バーコードスキヤナをメデイアに
タツチさせたときのラインセンサのメデイア上での走査
範囲の大きさが一定であるから、この走査範囲に入るバ
ーコードの読取りは可能であるが、バーコードの大きさ
は一定ではなく、その使われ方によつて大きさが異な
る。そして、上記のような同じ形式のバーコードスキヤ
ナを色々な使われ方をするバーコードの読取りに使用す
る場合、ラインセンサの走査範囲に1個しかバーコード
が入り込まない場合には問題がないが、たとえばテレビ
番組表のように、小さいバーコードが多数羅列され、こ
の表から所望のバーコードを読み取る場合には、ライン
センサの走査範囲に2以上のバーコードが入り込んだ
り、2以上のバーコードにまたがつてラインセンサの走
査範囲が設定されたりすることがあり、このような場合
には、次のような問題が生ずる。但し、以下の説明で
は、図5において、ラインセンサ10の走査範囲はバー
コード2個分の大きさとする。
【0032】(1) 羅列されている多数のバーコード
のうちの所望の1つを読み取りたい場合、この所望のバ
ーコードがラインセンサの走査範囲に入るように、バー
コードスキヤナをメデイアにタツチさせる。
のうちの所望の1つを読み取りたい場合、この所望のバ
ーコードがラインセンサの走査範囲に入るように、バー
コードスキヤナをメデイアにタツチさせる。
【0033】そこで、読み取りたいバーコードをバーコ
ードAとすると、図7に示すように、この所望バーコー
ドAは全体としてラインセンサ10の走査範囲内にある
が、隣りのバーコードBが一部この走査範囲からはみ出
してしまうような場合がある。このような場合には、図
5において、ラインセンサ10がバーコードAを読み取
るとともにマージン判定部211は開始信号MSTを発
生し、アドレスカウンタ213がカウントを開始してカ
ウント値メモリ20にこのバーコードAに対するタイマ
カウンタ19のカウント値Nを記憶する。しかし、次に
ラインセンサ10がバーコードBを読取り開始すると、
マージン判定部211は開始信号MSTを再び発生し、
アドレスカウンタ213がカウントを開始してカウント
値メモリ20では、このバーコードBに対するタイマカ
ウンタ19のカウント値Nと書き換えられる。しかし、
バーコードBは一部がラインセンサ10の走査範囲から
はみ出しているので、この部分についてはカウント値メ
モリ20で書き換えは行なわれない。したがつて、カウ
ント値メモリ20には、バーコードBに対するカウント
値とバーコードAに対するカウント値Nが混在すること
になる。
ードAとすると、図7に示すように、この所望バーコー
ドAは全体としてラインセンサ10の走査範囲内にある
が、隣りのバーコードBが一部この走査範囲からはみ出
してしまうような場合がある。このような場合には、図
5において、ラインセンサ10がバーコードAを読み取
るとともにマージン判定部211は開始信号MSTを発
生し、アドレスカウンタ213がカウントを開始してカ
ウント値メモリ20にこのバーコードAに対するタイマ
カウンタ19のカウント値Nを記憶する。しかし、次に
ラインセンサ10がバーコードBを読取り開始すると、
マージン判定部211は開始信号MSTを再び発生し、
アドレスカウンタ213がカウントを開始してカウント
値メモリ20では、このバーコードBに対するタイマカ
ウンタ19のカウント値Nと書き換えられる。しかし、
バーコードBは一部がラインセンサ10の走査範囲から
はみ出しているので、この部分についてはカウント値メ
モリ20で書き換えは行なわれない。したがつて、カウ
ント値メモリ20には、バーコードBに対するカウント
値とバーコードAに対するカウント値Nが混在すること
になる。
【0034】かかるカウント値メモリ20のカウント値
Nを上記のようにビツトイメージ変換やキヤラクタ変換
などデコードすると、エラーが生ずるのが一般的であ
り、したがつて、ラインセンサ10で所望のバーコード
Aが正しくデコードできるように読み取られたにもかか
わらず、デコードエラーとなつてしまう。
Nを上記のようにビツトイメージ変換やキヤラクタ変換
などデコードすると、エラーが生ずるのが一般的であ
り、したがつて、ラインセンサ10で所望のバーコード
Aが正しくデコードできるように読み取られたにもかか
わらず、デコードエラーとなつてしまう。
【0035】(2) また、図8に示すように、バーコ
ードA,Bがともに全体としてラインセンサ10の走査
範囲内にあるときには、カウント値メモリ20に希望し
ないバーコードBに対するタイマカウンタ19のカウン
ト値Nのみが記憶されてデコードされることになり、誤
つたバーコードの読取りが行なわれたことになる。
ードA,Bがともに全体としてラインセンサ10の走査
範囲内にあるときには、カウント値メモリ20に希望し
ないバーコードBに対するタイマカウンタ19のカウン
ト値Nのみが記憶されてデコードされることになり、誤
つたバーコードの読取りが行なわれたことになる。
【0036】(3) これを防止するために、アドレス
カウンタ213は、マージン判定部211からの開始信
号MSTで動作した後にマージン判定部211からの終
了信号MEDによつて停止すると、1走査カウンタ4か
らの走査終了信号SEDによつてクリアされた後でなけ
ればマージン判定部211からの開始信号MSTに応答
しないようにすることが考えられる。これによると、図
7、図8の場合には、バーコードBに対してはタイマカ
ウンタ19のカウント値Nのカウントメモリ20への書
込みは行なわれず、バーコードAのデコードが行なわれ
る。
カウンタ213は、マージン判定部211からの開始信
号MSTで動作した後にマージン判定部211からの終
了信号MEDによつて停止すると、1走査カウンタ4か
らの走査終了信号SEDによつてクリアされた後でなけ
ればマージン判定部211からの開始信号MSTに応答
しないようにすることが考えられる。これによると、図
7、図8の場合には、バーコードBに対してはタイマカ
ウンタ19のカウント値Nのカウントメモリ20への書
込みは行なわれず、バーコードAのデコードが行なわれ
る。
【0037】ところが、つぶりやカケ、ボイドあるいは
コントラストが小さいなどによつてバーコードAの品質
が悪く、ラインセンサ10がバーコードAを読み取つて
もマージン判定部211が開始信号MSTを発生しない
場合があり、このような場合には、アドレスカウンタ2
13はカウントせず、カウント値メモリ20にはバーコ
ードAに対するカウント値Nは書き込まれない。そし
て、次にラインセンサ10がバーコードBを読み取つた
ときマージン判定部211が開始信号MSTを発生する
と、アドレスカウンタ213はカウントを開始し、カウ
ント値メモリ20にバーコードBに対するタイマカウン
タ19のカウント値Nが書き込まれることになり、上記
(1),(2)で述べたような問題が生ずる。
コントラストが小さいなどによつてバーコードAの品質
が悪く、ラインセンサ10がバーコードAを読み取つて
もマージン判定部211が開始信号MSTを発生しない
場合があり、このような場合には、アドレスカウンタ2
13はカウントせず、カウント値メモリ20にはバーコ
ードAに対するカウント値Nは書き込まれない。そし
て、次にラインセンサ10がバーコードBを読み取つた
ときマージン判定部211が開始信号MSTを発生する
と、アドレスカウンタ213はカウントを開始し、カウ
ント値メモリ20にバーコードBに対するタイマカウン
タ19のカウント値Nが書き込まれることになり、上記
(1),(2)で述べたような問題が生ずる。
【0038】図8に対する上記(2),(3)の説明の
ように、誤つて読み取られたバーコードBのデコードが
行なわれると、図6の出力データ変換部33からホスト
機器に誤つたキヤラクタデータが送られることになり、
ホスト機器はユーザが望まない誤つた処理を行なうこと
になる。たとえば、上記のようなバーコードによるテレ
ビジヨン番組表からバーコードを読み取つて番組予約な
どをする場合が考えられるが、このような場合、チヤン
ネル番号、日時などのデータのバーコードを決められた
順序で読み取らなければならないのに、上記のようなバ
ーコードの読取りがあると、その順序が狂うことがあ
る。この場合、ホスト機器はこれらのキヤラクタデータ
を読み取つて処理し、その結果をそのまま表示する。そ
こで、ユーザはこの表示を確認し、誤りがあれば修正し
なければならず、入力効率が劣化するし、ユーザに大き
な負担を強いることになる。
ように、誤つて読み取られたバーコードBのデコードが
行なわれると、図6の出力データ変換部33からホスト
機器に誤つたキヤラクタデータが送られることになり、
ホスト機器はユーザが望まない誤つた処理を行なうこと
になる。たとえば、上記のようなバーコードによるテレ
ビジヨン番組表からバーコードを読み取つて番組予約な
どをする場合が考えられるが、このような場合、チヤン
ネル番号、日時などのデータのバーコードを決められた
順序で読み取らなければならないのに、上記のようなバ
ーコードの読取りがあると、その順序が狂うことがあ
る。この場合、ホスト機器はこれらのキヤラクタデータ
を読み取つて処理し、その結果をそのまま表示する。そ
こで、ユーザはこの表示を確認し、誤りがあれば修正し
なければならず、入力効率が劣化するし、ユーザに大き
な負担を強いることになる。
【0039】(4) この不都合を除くため、従来で
は、ホスト機器側で誤り防止の処理が行なわれていた。
たとえば、図7、図8のように隣り合うバーコードA,
Bは夫々チヤンネル番号、日にちなど異なるデータのも
のであつて、これらのキヤラクタの桁数や使用する文
字、数字などが異なるようにし、ホスト機器で決められ
た順序で各データのキヤラクタデータが送られてきたか
否かを判別、表示するものである。
は、ホスト機器側で誤り防止の処理が行なわれていた。
たとえば、図7、図8のように隣り合うバーコードA,
Bは夫々チヤンネル番号、日にちなど異なるデータのも
のであつて、これらのキヤラクタの桁数や使用する文
字、数字などが異なるようにし、ホスト機器で決められ
た順序で各データのキヤラクタデータが送られてきたか
否かを判別、表示するものである。
【0040】しかしながら、これによると、ホスト機器
での誤入力、誤動作は防げるものの、バーコードスキヤ
ナのデコーダでの図6の出力データを変換部33から出
力される表示信号DISによる表示は正常とするのに対
し、ホスト機器側では不良と表示され、ユーザに対しこ
れら表示の違いによつて混乱をまねくことになる。
での誤入力、誤動作は防げるものの、バーコードスキヤ
ナのデコーダでの図6の出力データを変換部33から出
力される表示信号DISによる表示は正常とするのに対
し、ホスト機器側では不良と表示され、ユーザに対しこ
れら表示の違いによつて混乱をまねくことになる。
【0041】(5) しかも、バーコードの読取りが行
なわれてホスト機器が上記の表示をするまでには、(バ
ーコードスキヤナでのバーコード読取りからデコードま
での時間)+(キヤラクタデータのホスト機器への転送
時間)+(ホスト機器での上記判定処理時間)と長時間
を要することになり、上記(3)の事態と相まつて、バ
ーコード読取り作業のリズムを乱し、ユーザに疲労感を
増長させるなど、ユーザに無駄な手間と心理的な負担を
かけることになる。
なわれてホスト機器が上記の表示をするまでには、(バ
ーコードスキヤナでのバーコード読取りからデコードま
での時間)+(キヤラクタデータのホスト機器への転送
時間)+(ホスト機器での上記判定処理時間)と長時間
を要することになり、上記(3)の事態と相まつて、バ
ーコード読取り作業のリズムを乱し、ユーザに疲労感を
増長させるなど、ユーザに無駄な手間と心理的な負担を
かけることになる。
【0042】本発明の目的は、かかる問題点を解消し、
誤つたバーコードの読取りを迅速に検知し、ユーザの作
業負担を軽減することができるようにした光学読取装置
を提供することにある。
誤つたバーコードの読取りを迅速に検知し、ユーザの作
業負担を軽減することができるようにした光学読取装置
を提供することにある。
【0043】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、バーコード複数個分の大きさのラインセ
ンサの走査範囲のうちバーコード1個分の大きさの特定
範囲を読取範囲とし、該ラインセンサの走査位置が読取
範囲内にあるか否かを判定する第1の手段と、該第1の
手段の判別結果をもとに該読取範囲内から始まるバーコ
ードに対するタイマカウンタのカウント値をカウント値
メモリに書き込ませる手段とを設ける。
に、本発明は、バーコード複数個分の大きさのラインセ
ンサの走査範囲のうちバーコード1個分の大きさの特定
範囲を読取範囲とし、該ラインセンサの走査位置が読取
範囲内にあるか否かを判定する第1の手段と、該第1の
手段の判別結果をもとに該読取範囲内から始まるバーコ
ードに対するタイマカウンタのカウント値をカウント値
メモリに書き込ませる手段とを設ける。
【0044】
【作用】ラインセンサは走査範囲全体にわたつて読取走
査を行なうが、上記第1、第2の手段により、上記読取
範囲内に開始点があるバーコードに対する上記カウント
値のみが上記カウント値メモリに書き込まれてデコード
される。したがつて、所望バーコードの少なくとも開始
点が上記読取範囲に位置づけられるようにすれば、この
所望バーコードは、読取エラーがない限り、確実にデコ
ードされ、他の不所望なバーコードが代りにデコードさ
れることはない。
査を行なうが、上記第1、第2の手段により、上記読取
範囲内に開始点があるバーコードに対する上記カウント
値のみが上記カウント値メモリに書き込まれてデコード
される。したがつて、所望バーコードの少なくとも開始
点が上記読取範囲に位置づけられるようにすれば、この
所望バーコードは、読取エラーがない限り、確実にデコ
ードされ、他の不所望なバーコードが代りにデコードさ
れることはない。
【0045】
【実施例】以下、本発明の実施例を図面によつて説明す
る。図1、図2は本発明による光学読取装置の一実施例
を示すブロツク図であつて、6A,6Bはバーコード、
34は定数メモリ、35は読取範囲比較器、216はス
イツチであり、図5,6に対応する部分には同一符号を
つけて重複する説明を省略する。
る。図1、図2は本発明による光学読取装置の一実施例
を示すブロツク図であつて、6A,6Bはバーコード、
34は定数メモリ、35は読取範囲比較器、216はス
イツチであり、図5,6に対応する部分には同一符号を
つけて重複する説明を省略する。
【0046】図1において、ラインセンサ10の走査範
囲はメデイア5上のn個(但し、nは2以上の整数であ
つて、以下ではn=2とする)分のバーコードを含む大
きさである。この走査範囲のうちバーコード1個分の大
きさの範囲を読取範囲とし、ラインセンサ10がこの読
取範囲を走査するときの1走査カウンタ4のカウント範
囲の上、下限値が読取範囲設定値として定数メモリ34
に格納されている。
囲はメデイア5上のn個(但し、nは2以上の整数であ
つて、以下ではn=2とする)分のバーコードを含む大
きさである。この走査範囲のうちバーコード1個分の大
きさの範囲を読取範囲とし、ラインセンサ10がこの読
取範囲を走査するときの1走査カウンタ4のカウント範
囲の上、下限値が読取範囲設定値として定数メモリ34
に格納されている。
【0047】ラインセンサ10の読取走査開始とともに
1走査カウンタ4が分周回路11からのクロツクφ1を
カウントするが、この1走査カウンタ4のカウント値と
定数メモリ34の読取範囲設定値とが読取範囲比較器3
5で比較される。この読取範囲比較器35は、1走査カ
ウンタ4のカウント値が読取範囲設定値の下限と上限の
間にあるとき(ラインセンサ10の走査位置が読取範囲
内にあるとき)高レベルとなり、このカウント値が読取
範囲設定値の上、下限間にないとき(ラインセンサ10
の走査位置が読取範囲外にあるとき)低レベルとなる検
出信号RRCを出力する。カウント値メモリ制御部21
においては、マージン判定部211から出力される開始
信号MSTがスイツチ216を介してアドレスカウンタ
213に供給されるが、スイツチ216は、読取範囲比
較器35からの検出信号RRCによつて制御され、この
検出信号RRCが高レベルのときオン、低レベルのとき
オフする。
1走査カウンタ4が分周回路11からのクロツクφ1を
カウントするが、この1走査カウンタ4のカウント値と
定数メモリ34の読取範囲設定値とが読取範囲比較器3
5で比較される。この読取範囲比較器35は、1走査カ
ウンタ4のカウント値が読取範囲設定値の下限と上限の
間にあるとき(ラインセンサ10の走査位置が読取範囲
内にあるとき)高レベルとなり、このカウント値が読取
範囲設定値の上、下限間にないとき(ラインセンサ10
の走査位置が読取範囲外にあるとき)低レベルとなる検
出信号RRCを出力する。カウント値メモリ制御部21
においては、マージン判定部211から出力される開始
信号MSTがスイツチ216を介してアドレスカウンタ
213に供給されるが、スイツチ216は、読取範囲比
較器35からの検出信号RRCによつて制御され、この
検出信号RRCが高レベルのときオン、低レベルのとき
オフする。
【0048】そこで、いま、ラインセンサ10の走査範
囲の前半バーコード1個分を読取範囲とすると、メデイ
ア5上の一方のバーコード6Aの少なくとも前部がこの
読取範囲内にある場合、このバーコード6Aの読取りと
ともにマージン判定部211から出力される開始信号M
STのタイミングはスイツチ216がオンしている期間
内にあり、この開始信号MSTはスイツチ216を介し
てアドレスカウンタ213に供給される。したがつて、
アドレスカウンタ213はエツジ信号EGをカウント
し、カウント値メモリ20にバーコード6A全体に対す
るタイマカウンタ19のカウント値Nが書き込まれる。
囲の前半バーコード1個分を読取範囲とすると、メデイ
ア5上の一方のバーコード6Aの少なくとも前部がこの
読取範囲内にある場合、このバーコード6Aの読取りと
ともにマージン判定部211から出力される開始信号M
STのタイミングはスイツチ216がオンしている期間
内にあり、この開始信号MSTはスイツチ216を介し
てアドレスカウンタ213に供給される。したがつて、
アドレスカウンタ213はエツジ信号EGをカウント
し、カウント値メモリ20にバーコード6A全体に対す
るタイマカウンタ19のカウント値Nが書き込まれる。
【0049】この場合、必ず次のバーコード6Bは読取
範囲の外にあり、ラインセンサ10がこのバーコード6
Bを走査するときにはスイツチ216はオフしており、
このバーコード6Bに対してマージン判定部211が開
始信号MSTを発生しても、この開始信号MSTはアド
レスカウンタ213に供給されない。
範囲の外にあり、ラインセンサ10がこのバーコード6
Bを走査するときにはスイツチ216はオフしており、
このバーコード6Bに対してマージン判定部211が開
始信号MSTを発生しても、この開始信号MSTはアド
レスカウンタ213に供給されない。
【0050】したがつて、図3、図4に示すように、バ
ーコード6Aの前部が読取範囲内にあつてこのバーコー
ド6Aの読取りによるマージン判定部211からの開始
信号MSTがスイツチ216のオン期間にあれば、必ず
このバーコード6Aに対するタイマカウンタ19のカウ
ント値Nがカウント値メモリ20に書き込まれ、デコー
ド処理が施こされる。そして、このバーコード6A以外
のバーコード6Bは、バーコード6Aの読取りいかんに
かかわらず、デコードされることはない。
ーコード6Aの前部が読取範囲内にあつてこのバーコー
ド6Aの読取りによるマージン判定部211からの開始
信号MSTがスイツチ216のオン期間にあれば、必ず
このバーコード6Aに対するタイマカウンタ19のカウ
ント値Nがカウント値メモリ20に書き込まれ、デコー
ド処理が施こされる。そして、このバーコード6A以外
のバーコード6Bは、バーコード6Aの読取りいかんに
かかわらず、デコードされることはない。
【0051】このようにして、読み取りたい所望のバー
コードの少なくとも上記前部が設定された読取期間内に
あるようにすることにより、確実にこの所望バーコード
のみの読取、デコード処理が行なわれ、ラインセンサ1
0が複数個のバーコードを読取り走査しても、あるいは
また、所望バーコードの読取りにエラーがあつても、誤
つたバーコードを読み取つてデコードすることはない。
したがつて、常にバーコードの正しい読取、デコード処
理が行なわれる。
コードの少なくとも上記前部が設定された読取期間内に
あるようにすることにより、確実にこの所望バーコード
のみの読取、デコード処理が行なわれ、ラインセンサ1
0が複数個のバーコードを読取り走査しても、あるいは
また、所望バーコードの読取りにエラーがあつても、誤
つたバーコードを読み取つてデコードすることはない。
したがつて、常にバーコードの正しい読取、デコード処
理が行なわれる。
【0052】
【発明の効果】以上説明したように、本発明によれば、
ラインセンサが複数のバーコードを読取走査しても、常
に所望とするバーコードのみの読取、デコード処理が行
なわれ、誤つて他のバーコードを読み取つてデコードす
る誤動作を防止することができる。
ラインセンサが複数のバーコードを読取走査しても、常
に所望とするバーコードのみの読取、デコード処理が行
なわれ、誤つて他のバーコードを読み取つてデコードす
る誤動作を防止することができる。
【図1】本発明による光学読取装置の一実施例の一部を
示すブロツク図である。
示すブロツク図である。
【図2】本発明による光学読取装置の一実施例の図1に
示した部分に続く部分を示すブロツク図である。
示した部分に続く部分を示すブロツク図である。
【図3】図1、図2に示した実施例でのバーコード読取
りの一動作を示す図である。
りの一動作を示す図である。
【図4】図1、図2に示した実施例でのバーコード読取
りの他の動作を示す図である。
りの他の動作を示す図である。
【図5】従来の光学読取装置の一例の一部を示すブロツ
ク図である。
ク図である。
【図6】従来の光学読取装置の一例の図5に示した部分
に続く部分を示すブロツク図である。
に続く部分を示すブロツク図である。
【図7】図5、図6に示した従来技術でのバーコード読
取りの一動作を示す図である。
取りの一動作を示す図である。
【図8】図5、図6に示した従来技術でのバーコード読
取りの他の動作を示す図である。
取りの他の動作を示す図である。
【符号の説明】 4 1走査カウンタ 5 メデイア 6A,6B バーコード 10 ラインセンサ 19 タイマカウンタ 20 カウント値メモリ 211 マージン判定部 213 アドレスカウンタ 216 スイツチ 34 定数メモリ 35 読取範囲比較器
Claims (1)
- 【請求項1】 メディア上に印刷されているバーコード
の複数個分の走査範囲を有し該走査範囲を走査して該バ
ーコードを読み取るラインセンサと、該ラインセンサの
出力信号を2値化して得られる2値化信号のエッジを検
出してエッジ信号を発生するエッジ検出回路と、該エッ
ジ信号毎にクロックをカウントし該バーコードのバー幅
に応じたカウント値を生成するタイマカウンタと、該カ
ウント値を記憶するカウント値メモリとを備え、該カウ
ント値メモリに記憶されたカウント値をデコードして読
み取られた該バーコードのキャラクタデータを生成する
ようにした光学読取装置において、 該ラインセンサの該走査範囲のうちの1バーコード分の
特定範囲を読取範囲として、該ラインセンサの走査位置
が該読取範囲内にあるか否かを判別する第1の手段と、該ラインセンサによって読み取られる該バーコードの始
まり部を該タイマカウンタで生成される該カウント値に
基づいて検出し、開始信号を発生する第2の手段と、 該第1の手段による判別結果が該ラインセンサの走査位
置が該読取範囲内にあるとする期間内に該第2の手段か
ら発生される該開始信号に応答して、該タイマカウンタ
で生成される1バーコード分の該カウント値を該カウン
ト値メモリに書き込ませる第3の手段と を設け、 該ラインセンサの該走査範囲に含まれる複数個のバーコ
ードのうちの該読取範囲内で先頭部もしくは終了部から
読取り開始される1個のバーコードのみをデコード可能
としたことを特徴とする光学読取装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3050277A JP2742144B2 (ja) | 1991-02-25 | 1991-02-25 | 光学読取装置 |
US07/839,463 US5336874A (en) | 1991-02-22 | 1992-02-20 | Bar code reader with error detection and decode control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3050277A JP2742144B2 (ja) | 1991-02-25 | 1991-02-25 | 光学読取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04268982A JPH04268982A (ja) | 1992-09-24 |
JP2742144B2 true JP2742144B2 (ja) | 1998-04-22 |
Family
ID=12854445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3050277A Expired - Fee Related JP2742144B2 (ja) | 1991-02-22 | 1991-02-25 | 光学読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2742144B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504320A (en) * | 1993-03-19 | 1996-04-02 | Olympus Optical Co., Ltd. | Bar-code information reading apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2754915B2 (ja) * | 1990-12-20 | 1998-05-20 | 住友電気工業株式会社 | 光学読取装置 |
-
1991
- 1991-02-25 JP JP3050277A patent/JP2742144B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04268982A (ja) | 1992-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5336874A (en) | Bar code reader with error detection and decode control | |
US5128527A (en) | Apparatus for reading a bar code | |
US4746789A (en) | Reading device for bar codes | |
EP0720113B1 (en) | Two-dimensional code reading apparatus | |
US5473148A (en) | Barcode symbol reading system capable of shortening time for reading and decoding | |
US4021777A (en) | Character reading techniques | |
US4684998A (en) | Image reader suitable for manual scanning | |
EP0498678A2 (en) | High speed scan bar code reader which can read more than one type of bar code | |
EP0176933A2 (en) | Bar code reading apparatus | |
JPH01319884A (ja) | 符号読取装置 | |
USRE29104E (en) | Method of scanning documents to read characters thereon without interference from visible marks on the document which are not to be read by the scanner | |
US5471041A (en) | Bar-code reader device | |
US4528443A (en) | Bar code reading system and method | |
US5302814A (en) | Bar code reading apparatus | |
JP2742144B2 (ja) | 光学読取装置 | |
US5326961A (en) | Bar code reader with comparison of bar widths and signal transitions | |
US5686716A (en) | Bar code void and spot discrimination | |
EP0069574A2 (en) | Apparatus for reading bar code | |
JPH04268985A (ja) | 光学読取装置 | |
JPH0120795B2 (ja) | ||
US5504320A (en) | Bar-code information reading apparatus | |
JPH04268984A (ja) | 光学読取装置 | |
JPH04268681A (ja) | 光学読取装置 | |
JPH04268983A (ja) | 光学読取装置 | |
JPS6315869Y2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980113 |
|
LAPS | Cancellation because of no payment of annual fees |