(57)【要約】【課題】  スタートマージンに汚れなどのあるバーコードシンボルを読みとることのできるバーコードリーダおよびそのスタートマージン検出方法を提供する。【解決手段】  バーコードシンボル２００の光学的に読み取られた内容を電気信号に変換して出力する受光部１０１と、受光部１０１の電気信号の出力内容に基づいてスタートマージンの検出およびバーコードの解読を行ってバーコードが示す信号を出力し、スタートマージンを検出できなかった場合もしくはバーコードの解読ができなかった場合には解読不可信号を出力するデコード部１１１と、スタートマージンの検出とバーコードの解読が行われる領域を部分的にキャンセルするキャンセル信号を解読不可信号が入力される毎にキャンセルする領域が長くなるように出力するキャンセル信号発生部１１２とを備えるバーコードリーダおよびそのスタートマージン検出方法である。【選択図】      図１
2007079959.tif 000002
【特許請求の範囲】
【請求項１】
スタートマージンおよび該スタートマージン部分に続き何組かのバーで形成されたバーコードからなるバーコードシンボルを光学的に読み取って、前記バーコードが示すデータを出力するバーコードリーダであって、
前記バーコードシンボルの光学的に読み取られた内容を電気信号に変換して出力する受光部と、
周期的に入力される前記受光部の前記電気信号の出力内容に基づいて前記スタートマージンの検出および前記バーコードの解読を行って、前記スタートマージンを検出できなかった場合もしくは前記バーコードの解読ができなかった場合にはその旨を示す解読不可信号を出力するデコード部と、
前記電気信号のうちの、前記デコード部において前記スタートマージンの検出と前記バーコードの解読が行われる領域を部分的にキャンセルするキャンセル信号を、前記解読不可信号が入力される毎にキャンセルする領域が長くなるように出力するキャンセル信号発生部と、
を備えることを特徴とするバーコードリーダ。
【請求項２】
請求項１に記載のバーコードリーダにおいて、
前記受光部が、前記受光部の光学的な読み取りを開始させるスタートパルスと、前記光学的な読み取りを終了させるストップパルスとからなる駆動信号に基づいて前記読み取りを実施するバーコードリーダ。
【請求項３】
請求項１に記載のバーコードリーダにおいて、
前記キャンセル信号は、前記スタートパルスをトリガとして、前記キャンセルする領域が形成されるバーコードリーダ。
【請求項４】
請求項１または３に記載のバーコードリーダにおいて、
前記キャンセル信号発生部は、前記キャンセル部分が所定パルス幅を有するパルス信号で形成される前記キャンセル信号を出力するバーコードリーダ。
【請求項５】
スタートマージンおよび該スタートマージン部分に続き何組かのバーで形成されたバーコードからなるバーコードシンボルを光学的に読み取って、前記バーコードが示すデータを出力するバーコードリーダのスタートマージン検出方法であって、
前記バーコードシンボルの光学的に読み取られた内容を電気信号に変換して出力するステップと、
前記電気信号の出力内容に基づいて前記スタートマージンの検出および前記バーコードの解読を行って、前記スタートマージンを検出できなかった場合もしくは前記バーコードの解読ができなかった場合にはその旨を示す解読不可信号を出力するステップと、
前記電気信号のうちの、前記スタートマージンの検出と前記バーコードの解読が行われる領域を部分的にキャンセルするキャンセル信号を、前記解読不可信号が入力される毎にキャンセルする領域が長くなるように出力するステップと、
を備えることを特徴とするバーコードリーダのスタートマージン検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードリーダに係り、特にバーコードリーダのスタートマージン検出方法に関する。
【背景技術】
【０００２】
従来のバーコードリーダは、図５に示すような構成となっている。
【０００３】
図５を参照すると、バーコードリーダ５００は、読み取ろうとするバーコードからの反射光を受光して受光した光の強さに対応した電気信号を出力する受光部５０１と、受光部５０１から出力された電気信号を増幅する増幅部５０２と、増幅部５０２で増幅された電気信号を変換してバーコードに対応する二値信号に変換する二値化部５０３と、二値化された信号を解読して解読結果を出力するデコード部５１１とで構成される。
【０００４】
通常ノイズなどを無視できるときは、受光部５０１から出力された電気信号は図６（ａ）に示すようなアナログ小信号であり、データ部分に対応したバーコードＢＤ部分の左右にマージンＭＧＮがあり、このマージンＭＧＮは一般的にバーコードＢＤの最も幅の狭いバーの約１０倍程度の幅を有している。
【０００５】
この左右のマージンＭＧＮのうち、バーコード部分の左方にあるマージンＭＧＮを一般的にバーコードのスタートマージンと呼び、バーコード部分の右方にあるマージンＭＧＮを一般的にバーコードのエンドマージンと呼んでいる。
【０００６】
この受光部５０１から出力されたアナログの電気信号は、増幅部５０２で電力増幅されて、図６（ｂ）に示すようなアナログの電気信号となる。この増幅部５０２で増幅されたアナログの電気信号を二値化部５０３で二値化すると図６（ｃ）に示すような二値化信号が得られ、デコード部５１１で、二値化信号からスタートマージンＳＭＧＮ、バーコードＢＤを解読し、バーコードを読み取ることができる。
【０００７】
このような読み取りを行う際に、読み取らせるバーコードラベルのバーの大きさおよび読み取り位置に応じて調整するマージン検出信号の発生タイミング設定を逐一計算で求めなくても設定できるようにしたバーコード読取装置がある（特許文献１参照）。
【特許文献１】特開平５−３５９０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、バーコードから得られるバーコードシンボル信号は、バーコードリーダ５００の各構成部において図６（ａ）〜図６（ｃ）に示すようなノイズのない信号であることばかりではなく、バーコードシンボル信号のスタートマージンＳＭＧＮ部分に図７（ａ）〜（ｃ）に示すような不要信号ＳＰＲＳが含まれる場合がある。
【０００９】
これはバーコードシンボルラベルが印刷されている紙のキズ、汚れ、表面処理の不備などの要因でスタートマージンＳＭＧＮ部分にキズ、汚れＳＴＮが生じており、図８に示すようなバーコードになっているもので、バーコードリーダ５００でこのキズ、汚れＳＴＮが検出されて不要信号ＳＰＲＳとなる。
【００１０】
このようにスタートマージンＳＭＧＮ部分にキズ、汚れＳＴＮがある場合に、受光部５０１から出力された電気信号は、図７（ａ）に示すようなスタートマージンＳＭＧＮ部分に不要信号ＳＰＲＳが含まれたアナログ小信号である。
【００１１】
この受光部５０１から出力された電気信号は、増幅部５０２で電力増幅されて、図７（ｂ）に示すように不要信号ＳＰＲＳも増幅されたアナログの電気信号となる。この増幅部５０２で増幅された不要信号ＳＰＲＳを含む電気信号を二値化部５０３で二値化すると図７（ｃ）に示すような二値化信号が得られ、デコード部５１１でこの二値化信号のスタートマージンＳＭＧＮを検出しようとしても、スタートマージンＳＭＧＮ部分にある不要信号ＳＰＲＳのためスタートマージンＳＭＧＮが検出できず、かつ不要信号ＳＰＲＳをバーコードと認識してしまい本来のバーパターンとは一致しなくなり、バーコードの１組目のコードを解読できずデコードエラーと判断され、バーコードを読み取ることができない。
【００１２】
このように、スタートマージンＳＭＧＮ部分にキズ、汚れＳＴＮなどがあることによりスタートマージン不足およびバーと誤認識し、デコードエラーと判断され読み取りすることができないという問題があった。
【００１３】
そこで本発明の目的は、バーコードのスタートマージンに汚れがある場合でも読み取ることのできるバーコードリーダを提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のバーコードリーダの第１の発明は、スタートマージンおよび該スタートマージン部分に続き何組かのバーで形成されたバーコードからなるバーコードシンボルを光学的に読み取って、前記バーコードが示すデータを出力するバーコードリーダであって、
前記バーコードシンボルの光学的に読み取られた内容を電気信号に変換して出力する受光部と、
周期的に入力される前記受光部の前記電気信号の出力内容に基づいて前記スタートマージンの検出および前記バーコードの解読を行って、前記スタートマージンを検出できなかった場合もしくは前記バーコードの解読ができなかった場合にはその旨を示す解読不可信号を出力するデコード部と、
前記電気信号のうちの、前記デコード部において前記スタートマージンの検出と前記バーコードの解読が行われる領域を部分的にキャンセルするキャンセル信号を、前記解読不可信号が入力される毎にキャンセルする領域が長くなるように出力するキャンセル信号発生部と、
を備えるバーコードリーダである。
【００１５】
第２の発明は、第１の発明に記載のバーコードリーダにおいて、
前記受光部が、前記受光部の光学的な読み取りを開始させるスタートパルスと、前記光学的な読み取りを終了させるストップパルスとからなる駆動信号に基づいて読み取りを実施するものである。
【００１６】
第３の発明は、第１の発明に記載のバーコードリーダにおいて、
前記キャンセル信号は、前記スタートパルスをトリガとして、前記キャンセルする領域が形成されるものである。
【００１７】
第４の発明は、第１または３の発明に記載のバーコードリーダにおいて、
前記キャンセル信号発生部は、前記キャンセル部分が所定パルス幅を有するパルス信号で形成される前記キャンセル信号を出力するものである。
【００１８】
第５の発明は、スタートマージンおよび該スタートマージン部分に続き何組かのバーで形成されたバーコードからなるバーコードシンボルを光学的に読み取って、前記バーコードが示すデータを出力するバーコードリーダのスタートマージン検出方法であって、
前記バーコードシンボルの光学的に読み取られた内容を電気信号に変換して出力するステップと、
前記電気信号の出力内容に基づいて前記スタートマージンの検出および前記バーコードの解読を行って、前記スタートマージンを検出できなかった場合もしくは前記バーコードの解読ができなかった場合にはその旨を示す解読不可信号を出力するステップと、
前記電気信号のうちの、前記スタートマージンの検出と前記バーコードの解読が行われる領域を部分的にキャンセルするキャンセル信号を、前記解読不可信号が入力される毎にキャンセルする領域が長くなるように出力するステップと、
を備えるバーコードリーダのスタートマージン検出方法である。
【００１９】
市場ではスタートマージン部分に汚れがあるようなバーコードシンボルラベルでも読み取りできるようなバーコードリーダが要求されている。
【００２０】
このような、スタートマージンに汚れのあるバーコードシンボルの読み取りに際しては、この汚れのため生じる不要信号がスタートマージンの検出の障害となってバーコードリーダがスタートマージンを検出できないことが生じ、このためバーコードを解読できない。
【００２１】
本発明は、バーコードシンボルのスタートマージン部分の汚れによる不要信号をキャンセルして除去する機能をバーコードリーダに組み込むことにより、バーコードシンボルを解読できなかった場合に、受光部で読み取った電気信号に、不要信号をキャンセルするキャンセル信号を重畳して、強制的に不要信号をキャンセルし電気信号のバーコード部分を解読し、かつスタートマージンを検出する機能を有している。
【００２２】
このキャンセル信号のキャンセル部分は、スタートマージンの幅がバーコードシンボルの種類およびバーの幅によって異なることと、スタートマージンに付着する汚れがスタートマージンのどの位置になるのかはあらかじめ予想できないため、解読できなかった場合にこのキャンセル部分を徐々に拡げてゆくとよい。
【００２３】
このキャンセル信号によってバーコードシンボルのスタートマージンに当たる部分にある不要信号が除去され、スタートマージン部分の幅が確保できたときに、スタートマージンに汚れがない場合と同様の読み取りができることになり、デコード部でこのスタートマージンを検出した後、バーコードの解読が可能となる。
【発明の効果】
【００２４】
本発明によれば、バーコードのスタートマージンに汚れがある場合でも読み取ることのできるバーコードリーダを得られる。
【発明を実施するための最良の形態】
【００２５】
本発明を実施するための形態について図面を参照して詳細に説明する。
【００２６】
図１は、本実施形態のバーコードリーダの構成例を示すブロック図である。
【００２７】
図１を参照すると、バーコードリーダ１００は、読み取ろうとするバーコードシンボル２００に光を照射する投光部１１０と、照射された光をバーコードシンボル２００が反射してこの反射した光を走査して受光した後、受光した光の強さに対応した電気信号を出力する受光部１０１と、受光部１０１から出力された電気信号を増幅する増幅部１０２と、増幅部１０２で増幅された電気信号を整形してバーコードシンボル２００に対応する２進数デジタル信号に変換し、２進数デジタル信号に受光駆動用パルス信号を重畳して、重畳二値化信号として出力する二値化部１０３と、２進数デジタル信号より形成された重畳二値化信号のスタートマージンに当たる部分を後述するキャンセル信号によりバーコードシンボル２００に付与されたスタートマージンをキャンセルするスタートマージンキャンセル部１０６と、バーコードリーダ１００の各構成部位を制御する制御部１０４とを備えて構成されており、バーコードシンボル２００を光学的に読み取って、バーコードが示す信号を出力し、バーコードシンボル２００に表示されたバーコードを解読する機能を有する。
【００２８】
バーコードシンボル２００は、例えば、白色の空白部分で形成されたスタートマージン部分と、スタートマージン部分に続き何組かのバーで形成されたバーコード部分と、バーコード部分が終了した部分から白色の空白部分で形成されたエンドマージン部分とからなる。
【００２９】
この例では、何組かのバーで形成されたバーコード部分は、それぞれある幅を有した白色部分および黒色部分からなりこの白色部分と黒色分の組み合わせで、二値化された２進数に対応するコードとなっている。
【００３０】
一般的には、設けられるスタートマージン部分およびエンドマージン部分は、それぞれバーコードシンボル２００のバーコード部分の最も細いバー幅の１０倍程度の幅の白色の空白部分により形成される。
【００３１】
当然、バーコードシンボル２００は、黒色、白色の部分で形成されるものに限定されるものではなく、濃淡が識別でき、上述したバーコードシンボルと同様のものであれば、その使用される色などは限定されない。
【００３２】
受光部１０１から出力されるアナログの電気信号は、バーコードシンボル２００の光学的に読み取られた内容を電気信号に変換して得られたものであり、バーコードシンボル２００のスタートマージンの部分に対応したスタートマージン信号と、バーコードシンボル２００のバーコードの部分に対応したバーコード信号と、バーコードシンボル２００のエンドマージンの部分に対応したエンドマージン信号とからなっている。
【００３３】
増幅部１０２から出力される電気信号もしくは、二値化部１０３から出力される重畳二値化信号においても、おのおの受光部１０１から出力されるアナログの電気信号と同様に、バーコードシンボル２００のスタートマージンの部分に対応したスタートマージン信号の部分とバーコードシンボル２００のバーコードの部分に対応したバーコード信号と、バーコードシンボル２００のエンドマージンの部分に対応したエンドマージン信号の部分とからなっている。以下、増幅部１０２における増幅処理、二値化部１０３における二値化などの処理を行った信号においても、スタートマージンの部分に対応した信号をスタートマージン信号、バーコードの部分に対応した信号をバーコード信号と称する。
【００３４】
増幅部１０２は、周期的に入力される受光部１０１からの電気信号の出力内容、すなわちスタートマージン信号およびバーコード信号ならびにエンドマージン信号とからなっているアナログの電気小信号を電力増幅して、出力する。
【００３５】
制御部１０４は、投光部１１０を駆動させる投光駆動信号としての投光駆動用パルス信号を発生する投光駆動信号発生部１１４と、受光部１０１を駆動して走査させる受光駆動信号としての受光駆動用パルス信号を発生する受光駆動信号発生部１１３と、バーコードシンボル２００に付与されたスタートマージンをキャンセルするために２進数デジタル信号のスタートマージン信号（これは、受光部１０１から出力されたアナログの電気信号のスタートマージン信号の部分に相当する）をキャンセルする部分を所定のパルス幅で形成したキャンセル信号を発生するキャンセル信号発生部１１２と、重畳二値化信号のスタートマージンに当たる部分を検出した後、キャンセル信号でキャンセルされた重畳二値化信号を解読するデコード部１１１とを備えて構成される。
【００３６】
デコード部１１１は、周期的に入力される受光部１０１の電気信号の出力内容に基づいて二値化部１０３で得られた重畳二値化信号によって、バーコードシンボル２００のスタートマージンの検出およびバーコードの解読を行い、スタートマージンを検出できなかった場合もしくはバーコードの解読ができなかった場合にはその旨を示す解読不可信号を出力する機能を有する。
【００３７】
キャンセル信号発生部１１２は、デコード部１１１から解読不可信号が入力される毎に、電気信号（ここでは、電気信号が処理された後の重畳二値化信号に相当する）のうちのデコード部１１１においてスタートマージンの検出が行われる領域に対応したスタートマージン信号と、デコード部１１１においてバーコードの解読が行われる領域に対応したバーコード信号とからなる信号に対して、部分的にキャンセルするキャンセル信号をキャンセルする領域が長くなるように出力する機能を有する。
【００３８】
本実施形態のキャンセル信号発生部１１２は、バーコードシンボル２００のスタートマージンＳＭＧＮの領域に当たるスタートマージン信号を部分的にキャンセルするために所定のパルス幅を有したキャンセル信号を発生し、このキャンセル信号のパルス幅を走査ごと（すなわち、解読不可信号が入力される毎）に徐々に拡げることでスタートマージンＳＭＧＮのキャンセルする領域が長くなるようにしている。
【００３９】
受光部１０１は増幅部１０２に接続されており、増幅部１０２は二値化部１０３に接続されており、二値化部１０３はスタートマージンキャンセル部１０６に接続されており、スタートマージンキャンセル部１０６はデコード部１１１に接続されている。
【００４０】
デコード部１１１はキャンセル信号発生部１１２に接続されており、キャンセル信号発生部１１２は受光駆動信号発生部１１３に接続されており、受光駆動信号発生部１１３は受光部１０１に接続されており、投光駆動信号発生部１１４は投光部１１０に接続されており、受光駆動信号発生部１１３は二値化部１０３に接続されており、キャンセル信号発生部１１２はスタートマージンキャンセル部１０６に接続されている。
【００４１】
次にバーコードリーダ１００の動作について図１〜図３を用いて詳細に説明する。
【００４２】
バーコードリーダ１００は、バーコードシンボル２００を読み取るために、バーコードリーダ１００の投光部１１０および受光部１０１がバーコードシンボル２００に臨んで配置される。
【００４３】
バーコードリーダ１００からは、投光駆動信号発生部１１４においてスタートパルスおよびストップパルスで構成される投光駆動信号である投光駆動用パルス信号が出力される。
【００４４】
このスタートパルスからストップパルスまでの時間は、バーコードリーダ１００がバーコードシンボル２００を光学的に読み取るために１回走査するスキャンの時間に当たり、この時間に相当する読み取るバーコードシンボル２００のコード全体の幅を規定している。
【００４５】
この投光駆動信号発生部１１４から出力された投光駆動用パルス信号は、投光部１１０に入力される。
【００４６】
この投光部１１０に入力された投光駆動用パルス信号により、スタートパルスが入力されたときから投光部１１０はバーコードシンボル２００に対して光の照射を始め、ストップパルスが入力されたときに投光部１１０はバーコードシンボル２００に対して光の照射を終了する。但し、ストップパルスに同期し光の照射が終了しなくとも構わない。この投光部１１０による光の照射の間に、バーコードシンボル２００に対して１回の走査が行われる。
【００４７】
投光部１１０からの光に照射されたバーコードシンボル２００は、この照射された光を反射して、このバーコードシンボル２００で反射された光はバーコードリーダ１００の受光部１０１に向かう。
【００４８】
受光部１０１には、受光駆動信号発生部１１３から出力された受光駆動用パルス信号が周期的に入力される。図２（ａ）は、受光駆動信号発生部１１３から出力されたこの受光駆動用パルス信号を示す。図示したように受光駆動用パルス信号は、既に説明した投光駆動用パルス信号と同様にスタートパルス７０３およびストップパルス７０８で構成される。
【００４９】
このスタートパルス７０３からストップパルス７０８までの時間は、バーコードリーダ１００がバーコードシンボル２００を１回走査するスキャンの時間Ｔ１に当たり、この時間に相当する読み取るバーコードシンボル２００のコード全体の幅を規定している。
【００５０】
すなわち、バーコードリーダ１００で得られたバーコードシンボル信号は、必ずこの受光駆動用パルス信号内に入ることで、周期的なバーコードの読み取りを可能としている。
【００５１】
この受光部１０１に入力された受光駆動用パルス信号により、受光部１０１はバーコードシンボル２００を光学的に読み取るための走査を行う。この受光部１０１の走査は、受光駆動用パルス信号のスタートパルス７０３をトリガとしてこのスタートパルス７０３の時刻から始まり、受光駆動用パルス信号のストップパルス７０８の時刻で１走査（スキャン）が終了する。
【００５２】
この受光部１０１の走査により、受光部１０１にバーコードシンボル２００からの反射光が周期的に入力される。
【００５３】
受光部１０１は、入力された反射光によりバーコードシンボルの光学的に読み取られた内容を反射光の強度に応じたアナログの電気信号に変換して、出力する。
【００５４】
このスタートマージン信号およびバーコード信号からなるアナログの電気信号は、増幅部１０２に入力され、増幅部１０２において電力増幅され、増幅部１０２から出力される。増幅部１０２から出力されたアナログの電気信号は、二値化部１０３に入力される。
【００５５】
二値化部１０３では、増幅部１０２から入力されたアナログの電気信号を、論理「０」（論理「低」）、「１」（論理「高」）の二値化された信号にアナログ／デジタル変換するように整形して、バーコードシンボル２００に対応する電気信号である２進数デジタル信号に変換する。この二値化された２進数デジタル信号を、図２（ｂ）に示す。
【００５６】
図２（ｂ）に示した二値化された２進数デジタル信号では、例えばバーコードの黒色部分が論理「０」（論理「低」）に対応しており、バーコードの白色部分が論理「１」（論理「高」）に対応している。
【００５７】
二値化部１０３においては、さらにこの二値化された２進数デジタル信号に受光駆動信号発生部１１３から二値化部１０３に入力される受光駆動用パルス信号（図２（ａ）参照）を重畳させる。この２進数デジタル信号と受光駆動用パルス信号とを重畳される具体的な回路としては、例えば論理積回路（ＡＮＤ回路）を用いるとよい。
【００５８】
このようにして受光駆動用パルス信号が重畳させた二値化信号が、二値化部１０３より出力される。図２（ｃ）は、受光駆動用パルス信号（スタートパルス７０３およびストップパルス７０８）が重畳された二値化信号を示し、以後この信号を重畳二値化信号と称する。
【００５９】
この重畳二値化信号においては、図２（ｄ）に示すようにスタートパルス７０３の後方のエッジから二値化信号のバーコードの１組目の最初のパルスの前方のエッジまでの間ＳＭＧＮがほぼバーコードシンボル２００のスタートマージンに相当し、この部分が電気信号のスタートマージン信号に相当する。
【００６０】
このスタートパルス７０３の後方のエッジから二値化信号の最初のパルスの前方のエッジまでの間ＳＭＧＮを、説明の簡単のため以後バーコードシンボル２００のスタートマージンＳＭＧＮと称する。
【００６１】
図示したようなスタートマージンＳＭＧＮ部分に充分なマージン幅がある二値化信号であれば、スタートマージンＳＭＧＮの検出が可能であるため、問題なくバーコードの解読ができるが、スタートマージンＳＭＧＮに不要な信号がある場合はデコードエラーとなる。
【００６２】
このスタートマージンＳＭＧＮに不要な信号が重畳している場合の重畳二値化信号を図２（ｅ）に示す。
【００６３】
図示した重畳二値化信号は、バーコードシンボルラベルが印刷されている紙のキズまたは汚れがある場合もしくはラベルの表面処理の不備などがある場合で、これらによりスタートマージン部分が規定の光を反射できず、このため、バーコードシンボル２００から反射した光を受光した受光部１０１が検出した光に不要な信号が含まれ、この不要な信号が電気信号にも変換されて、スタートマージンＳＭＧＮに不要信号ＳＰＲＳが含まれた状態を示している。
【００６４】
従来技術では、このようにバーコードシンボルのスタートマージン部分に汚れなどがある場合には、バーと誤認識したり、スタートマージン幅の不足となり、バーコードリーダ５００（図５参照）は、デコードエラーと判断し、バーコードシンボルの解読ができなかった。
【００６５】
これに対して、本実施形態のバーコードリーダ１００では、引き続き次の処理を実施する。
【００６６】
受光駆動信号発生部１１３は、出力した受光駆動用パルス信号をキャンセル信号発生部１１２にも供給する。この受光駆動用パルス信号が入力されたキャンセル信号発生部１１２では、受光駆動用パルス信号に基づいてスタートパルス７０３の後方のエッジをトリガとして、必要な場合に所定パルス幅のパルスを有したキャンセル領域が形成されたキャンセル信号を発生する。このキャンセル信号を、図２（ｆ）に示す。
【００６７】
このキャンセル信号に所定のパルス幅のパルスが必要な場合は、受光部１０１で最初に走査して得られたバーコードシンボル２００の重畳二値化信号をデコード部１１１でスタートマージン検出できなかった場合もしくは解読しようとして解読できなかった場合であり、２回目以降の走査を行う場合を指す。
【００６８】
このように一回目の投光部１１０および受光部１０１の走査でデコード部１１１がバーコードシンボル２００を解読できなかった場合には、デコード部１１１は解読のためのスタートマージン検出ができなかった旨もしくはバーコードが解読できなかった旨を示す解読不可信号を出力して、キャンセル信号発生部１１２に通知する。
【００６９】
デコード部１１１がバーコードシンボル２００を解読できなかった原因として既に背景技術で説明したように、バーコードシンボル２００のスタートマージンに汚れなどがあり、このためスタートマージンを検出できずに、バーコードシンボル２００のバーコードの解読ができないことがある。
【００７０】
このような場合にデコード部１１１は、スタートマージンが検出できなかったこともしくはバーコードシンボル２００の解読ができなかったことをキャンセル信号発生部１１２に通知する。
【００７１】
このデコード部１１１からの解読不可信号により通知を受けたキャンセル信号発生部１１２は、バーコードリーダ１００の投光部１１０および受光部１０１が２回目の走査を行う際に、受光駆動信号発生部１１３からの受光駆動用パルス信号を受けて、図２（ｆ）に示したキャンセル信号を出力し、スタートマージンキャンセル部１０６に供給する。
【００７２】
二値化部１０３から出力された重畳二値化信号は、スタートマージンキャンセル部１０６に入力され、スタートマージンキャンセル部１０６は、重畳二値化信号のスタートマージンＳＭＧＮ部分にある不要信号をキャンセル信号発生部１１２から供給されたキャンセル信号で強制的にハイレベル（Ｈ）にすることによりキャンセルする。スタートマージンＳＭＧＮ部分がキャンセルされた重畳二値化信号を図２（ｇ）に示す。
【００７３】
このようにしてキャンセル信号によりスタートマージンＳＭＧＮ部分にある不要信号ＳＰＲＳが除去された重畳二値化信号は、バーコードシンボル２００のスタートマージンに当たる部分に汚れのないバーコードシンボル２００から読み取った信号と同様であり、この重畳二値化信号はスタートマージンキャンセル部１０６から出力され、制御部１０４のデコーダ部１１１に入力される。
【００７４】
デコーダ部１１１に入力された重畳二値化信号は、キャンセル信号によりスタートマージンＳＭＧＮの不要信号ＳＰＲＳが除去されているため、バーコードシンボル２００のスタートマージンＳＭＧＮが確保されており、デコード部１１１は、この不要信号ＳＰＲＳのない重畳二値化信号からスタートマージンＳＭＧＮを検出して、従来の不要信号の無いときと同様にバーコードの解読を行う。
【００７５】
デコード部１１１は、バーコードの解読を行ってバーコードが示す信号を出力し、例えばバーコードリーダ１００の図示しない表示部などに表示したり、解読したバーコードに対応した情報を表示、印字したりする。
【００７６】
ここで、スタートマージンＳＭＧＮをキャンセルして図２（ｇ）に示す重畳二値化信号をなす際のキャンセル信号の発生状態について図３を参照してさらに詳細に説明する。
【００７７】
図３（ａ）は、受光駆動信号発生部１１３から出力される受光駆動用パルス信号を示し、図３（ｂ）は、スタートマージンＳＭＧＮに不要な信号が重畳している場合の重畳二値化信号を示す。
【００７８】
図３（ａ）の受光駆動用パルス信号は、図２（ａ）で示した受光駆動用パルス信号であり、図３（ｂ）の重畳二値化信号は、図２（ｅ）で示したスタートマージンＳＭＧＮに不要信号ＳＰＲＳが重畳している場合の重畳二値化信号である。
【００７９】
図３（ｃ）は、投光部１１０および受光部１０１が１回目の走査を行って、この走査の結果バーコードシンボル２００からの反射光によって、図３（ｂ）に示す重畳二値化信号が得られ、このときにキャンセル信号発生部１１２からスタートマージンキャンセル部１０６に供給されたキャンセル信号を示している。
【００８０】
このキャンセル信号は、投光部１１０および受光部１０１の１回目の走査時にキャンセル信号発生部１１２から発生した信号であり、図２（ｆ）に示したキャンセル信号と異なり所定のパルス幅のパルスを有さないキャンセル信号である。
【００８１】
このキャンセル信号は、所定のパルス幅を有していないため、スタートマージンキャンセル部１０６において重畳二値化信号のスタートマージンＳＭＧＮにある不要信号ＳＰＲＳを除去することはできない。
【００８２】
この場合には、二値化部１０３から出力された重畳二値化信号がスタートマージンキャンセル部１０６に入力され、キャンセル信号発生部１１２からはキャンセル信号がスタートマージンキャンセル部１０６に入力されるが、キャンセル信号は所定パルス幅を有さないため、重畳二値化信号はスタートマージンキャンセル部１０６をスルー同然で通過してデコード部１１１に入力される。
【００８３】
すなわち、重畳二値化信号のスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳは、スタートマージンキャンセル部１０６を出力する際もそのままであり、この重畳二値化信号がデコード部１１１に入力されてもこのスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳのため、デコード部１１１はスタートマージンＳＭＧＮの検出が行えずに、バーコードシンボル２００のバーコードの解読はできない。
【００８４】
このスタートマージンを検出できずにバーコードの解読ができなかったことは、デコード部１１１からキャンセル信号発生部１１２に解読不可信号によって通知される。
【００８５】
このデコード部１１１からの通知を受けたキャンセル信号発生部１１２は、投光部１１０および受光部１０１の２回目の走査がなされた際には、所定のパルス幅を有するキャンセル信号を発生する。
【００８６】
このキャンセル信号を図３（ｄ）に示す。
【００８７】
図３（ｄ）は、投光部１１０および受光部１０１が２回目の走査を行って、この走査の結果バーコードシンボル２００からの反射光によって、図３（ｂ）に示す重畳二値化信号が得られ、このときにキャンセル信号発生部１１２から供給されたキャンセル信号を示しており、このキャンセル信号はキャンセルする部分が所定のパルス幅Ｔ２だけある信号である。
【００８８】
このキャンセル信号は、所定のパルス幅Ｔ２を有しているが、スタートマージンキャンセル部１０６において重畳二値化信号のスタートマージンＳＭＧＮにある不要信号を除去することはできない。
【００８９】
これは、図３（ｂ）に示した重畳二値化信号のスタートマージンＳＭＧＮの一部はキャンセルされているが、パルス幅Ｔ２のため、不要信号ＳＰＲＳのある部分はキャンセルされておらず、不要信号ＳＰＲＳの除去ができないものである。
【００９０】
この場合には、二値化部１０３から出力された重畳二値化信号がスタートマージンキャンセル部１０６に入力され、キャンセル信号発生部１１２からはキャンセル信号がスタートマージンキャンセル部１０６に入力されるが、キャンセル信号のパルス幅Ｔ２が不要信号ＳＰＲＳを除去できるパルス幅でないため、不要信号ＳＰＲＳの除去されていない重畳二値化信号がスタートマージンキャンセル部１０６から出力され、デコード部１１１に入力される。
【００９１】
すなわち、重畳二値化信号のスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳは、スタートマージンキャンセル部１０６を出力する際もそのままであり、この重畳二値化信号がデコード部１１１に入力されてもこのスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳのため、デコード部１１１はスタートマージンＳＭＧＮの検出が行えずに、バーコードの解読はできない。
【００９２】
バーコードが解読できなかったときには、このバーコードが解読できなかったこともしくはスタートマージンＳＭＧＮが検出できなかったことが、デコード部１１１からキャンセル信号発生部１１２に解読不可信号によって通知される。
【００９３】
このデコード部１１１からの通知を受けたキャンセル信号発生部１１２は、投光部１１０および受光部１０１の３回目の走査がなされた際には、２回目の走査時の所定のパルス幅Ｔ２よりもパルス幅を拡げたキャンセル信号を３回目の走査時に発生する。
【００９４】
このパルス幅を拡げたキャンセル信号を、図３（ｅ）に示す。
【００９５】
図３（ｅ）は、投光部１１０および受光部１０１が３回目の走査を行って、この走査の結果バーコードシンボル２００からの反射光によって、図３（ｂ）に示す重畳二値化信号が得られ、このときにキャンセル信号発生部１１２から供給されたキャンセル信号を示しており、このキャンセル信号はキャンセルする部分が図３（ｄ）に示したパルス幅Ｔ２よりも広い所定のパルス幅Ｔ３だけある信号である。
【００９６】
このキャンセル信号は、所定のパルス幅Ｔ３を有しているが、スタートマージンキャンセル部１０６において重畳二値化信号のスタートマージンＳＭＧＮにある不要信号ＳＰＲＳを除去することはできない。
【００９７】
これは、図３（ｂ）に示した重畳二値化信号のスタートマージンＳＭＧＮの一部はキャンセルされているが、パルス幅Ｔ３のため、不要信号ＳＰＲＳのある部分はキャンセルされておらず、不要信号ＳＰＲＳの除去ができないものである。
【００９８】
この場合には、二値化部１０３から出力された重畳二値化信号がスタートマージンキャンセル部１０６に入力され、キャンセル信号発生部１１２からはキャンセル信号がスタートマージンキャンセル部１０６に入力されるが、キャンセル信号のパルス幅Ｔ３が不要信号ＳＰＲＳを除去できるパルス幅でないため、不要信号ＳＰＲＳの除去されていない重畳二値化信号がスタートマージンキャンセル部１０６から出力され、デコード部１１１に入力される。
【００９９】
すなわち、重畳二値化信号のスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳは、スタートマージンキャンセル部１０６を出力する際もそのままであり、この重畳二値化信号がデコード部１１１に入力されてもこのスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳのため、デコード部１１１はスタートマージンＳＭＧＮの検出が行えずに、バーコードの解読はできない。
【０１００】
バーコードが解読できなかったときには、このバーコードが解読できなかったこともしくはスタートマージンＳＭＧＮが検出できなかったことが、デコード部１１１からキャンセル信号発生部１１２に解読不可信号によって通知される。
【０１０１】
このデコード部１１１からの通知を受けたキャンセル信号発生部１１２は、投光部１１０および受光部１０１の４回目の走査がなされた際には、３回目の走査時の所定のパルス幅Ｔ３よりもパルス幅を拡げたキャンセル信号を発生する。
【０１０２】
このパルス幅を拡げたキャンセル信号を、図３（ｆ）に示す。
【０１０３】
図３（ｆ）は、投光部１１０および受光部１０１が４回目の走査を行って、この走査の結果バーコードシンボル２００からの反射光によって、図３（ｂ）に示す重畳二値化信号が得られ、このときにキャンセル信号発生部１１２から供給されたキャンセル信号を示しており、このキャンセル信号はキャンセルする部分が図３（ｅ）に示したパルス幅Ｔ３よりも広い所定のパルス幅Ｔ４だけある信号である。
【０１０４】
このキャンセル信号は、所定のパルス幅Ｔ４を有しており、スタートマージンキャンセル部１０６において重畳二値化信号のスタートマージンＳＭＧＮにある不要信号ＳＰＲＳを除去することができる。
【０１０５】
これは、図３（ｂ）に示した重畳二値化信号のスタートマージンＳＭＧＮがキャンセル信号のキャンセル部分によりキャンセルされており、すなわちパルス幅Ｔ４のため、不要信号ＳＰＲＳのある部分がキャンセルされて、不要信号ＳＰＲＳの除去ができるものである。
【０１０６】
この場合には、二値化部１０３から出力された重畳二値化信号がスタートマージンキャンセル部１０６に入力され、キャンセル信号発生部１１２からはキャンセル信号がスタートマージンキャンセル部１０６に入力されるが、スタートマージンキャンセル部１０６においてキャンセル信号のパルス幅Ｔ４が不要信号ＳＰＲＳを除去できるパルス幅であるため、不要信号ＳＰＲＳの除去された重畳二値化信号がスタートマージンキャンセル部１０６から出力され、デコード部１１１に入力される。
【０１０７】
すなわち、重畳二値化信号のスタートマージンＳＭＧＮ部分の不要信号ＳＰＲＳはキャンセル部分（領域）にあるため、スタートマージンキャンセル部１０６を出力される際には除去されており、この重畳二値化信号がデコード部１１１に入力されると、デコード部１１１はこのスタートマージンＳＭＧＮ部分のスタートマージン信号の検出を行ない、スタートマージンＳＭＧＮの検出がされたことにより、デコード部１１１は何組かのバーで形成されたバーコードに相当するバーコード信号を左から順次処理して、バーコード信号の解読が行われる。
【０１０８】
以上説明したように、キャンセル信号の所定のパルス幅は、走査ごとに徐々にパルス幅を拡げて行くが、このパルス幅の拡大はバーコードの最も幅の狭いバーの幅程度の単位で拡げて行くとよく、このキャンセル信号の所定のパルス幅の拡大は、スタートマージンＳＭＧＮに含まれた不要信号ＳＰＲＳがキャンセルされ、このキャンセル信号によってスタートマージンＳＭＧＮの不要信号ＳＰＲＳがスタートマージンキャンセル部１０６で除去されるまで所定のパルス幅の拡大が走査ごとに繰り返し行われる。
【０１０９】
このキャンセル信号によって不要信号ＳＰＲＳが除去され、スタートマージンＳＭＧＮ部分の幅が確保できたときに、デコード部１１１で重畳二値化信号のこのスタートマージンＳＭＧＮを検出した後、バーコード信号の解読によりバーコードの解読が可能となる。
【０１１０】
キャンセル信号による不要信号ＳＰＲＳの除去は、この処理によって電気信号を読み取るタイミングをずらすことで、不要信号ＳＰＲＳ部分を回避してバーコードの読み取り解読を行うことが可能となっている。
【０１１１】
このキャンセル信号のパルス幅の増分量はスタートマージンキャンセル部１０６もしくはこれを制御するソフトウェアにより任意に設定が可能であり、この増量分の設定によりあらゆるバー幅を有するバーコードシンボル２００に対応することが可能となる。
【０１１２】
また、キャンセル信号のパルス幅の増分量はスタートマージンキャンセル部１０６もしくはこれを制御するソフトウェアにより任意に設定が可能であり、この増量分の設定によりあらゆるスタートマージン幅を有するバーコードシンボル２００に対応することが可能となる。
【０１１３】
このようにして、スタートマージンＳＭＧＮに不要信号ＳＰＲＳのある重畳二値化信号の場合にも、従来のバーコードリーダでスタートマージンを検出することに代えて、バーコードのスタートマージンＳＭＧＮの不要信号を含む部分を強制的にキャンセルして擬似的にスタートマージンＳＭＧＮを形成することで、スタートマージンＳＭＧＮを検出したことと同様の効果が得られ、従来は読み取り不可能であったバーコードシンボルラベルのスタートマージン部にキズ、汚れがあっても、解読が可能となり、バーコードの読み取り率が向上するという優れた効果を得られる。
【０１１４】
また、本実施形態のバーコードリーダ１００は、このようなスタートマージンＳＭＧＮ部分に不要信号の重畳したバーコードシンボル２００のみならず、次のような場合にも読み取りが可能である。
【０１１５】
バーコードリーダ１００が、バーコードシンボル２００を読み取る際に、スタートマージンＳＭＧＮに不要信号ＳＰＲＳがない場合で、デコード部１１１でスタートマージンＳＭＧＮが検出できるにもかかわらず解読したときにデコードエラーとなることがある。
【０１１６】
このデコードエラーの原因は、図４（ａ）に示した重畳二値化信号のようにバーコードシンボル２００のバーコードの１本目のコードに印刷の滲み、コード幅の広がりなどがあり、この滲み、コード幅の広がりなどのためバーコードの１本目４０１が読み取れないことによっている。
【０１１７】
このような場合にも、既に説明したように１回目の投光部１１０および受光部１０１の走査でバーコードをデコード部１１１で解読できなかったときには、デコード部１１１は解読できなかったことをキャンセル信号発生部１１２に解読不可信号により通知する。
【０１１８】
このデコード部１１１からの通知を受けたキャンセル信号発生部１１２は、バーコードリーダ１００の投光部１１０および受光部１０１が２回目以降の走査を行う際に、受光駆動信号発生部１１３からの受光駆動用パルス信号を受けて、図３（ｄ）〜図３（ｆ）に示したように所定のパルス幅を徐々に拡げたキャンセル信号を出力し、スタートマージンキャンセル部１０６に供給する。
【０１１９】
このバーコードの１本目のコードに印刷の滲み、コード幅の広がりなどがある場合には、このキャンセル信号の所定のパルス幅を徐々に拡げた結果、図４（ｂ）に示すようにバーコードのちょうど１組目の最初のパルスのエッジがこのキャンセル信号の後方のエッジに掛かり、１組目の最初のパルスのエッジのにじみ部分がこのキャンセル信号により除去されたときに、デコード部１１１により最初のパルス４０２が検出できるようになる。
【０１２０】
このため、バーコードの解読が可能になり、スタートマージンＳＭＧＮが検出された後バーコードの解読が行われる。
【０１２１】
このように、バーコードシンボル２００の最初の１本目を二値化できない場合にも、同様の動作でキャンセル信号の所定のパルス幅を徐々に拡げて行き、バーコードの１本目のコードの滲みが除去されたときに１本目のコードパルスを検出でき、バーコードの解読が可能となる。
【０１２２】
なお、本実施形態のバーコードリーダ１００においては、図１に示したような構成でスタートマージンキャンセル部１０６を設けることにより重畳二値化信号に擬似的にスタートマージンＳＭＧＮを形成してバーコードの解読が可能なようにしたが、これに限定されるものではない。
【０１２３】
ハードウェアとしてのスタートマージンキャンセル部１０６を設ける代わりに、スタートマージンキャンセル部１０６の機能を有するソフトウェアを例えば制御部１０４の内部に組み込み、このソフトウェアにてスタートマージンキャンセル部１０６と同様の処理をすることによって強制的にスタートマージンＳＭＧＮを形成して、解読を行ってもよい。
【０１２４】
また、キャンセル信号によって重畳二値化信号のスタートマージンＳＭＧＮ部分にキャンセルする実施形態を説明したが、本発明はこれに限定されず、二値化部１０３において二値化された信号にキャンセルする代わりに、例えば二値化する前のアナログ電気信号のスタートマージンに相当する部分をキャンセルする処理を行うことでも同様であり、この処理によって電気信号を読み取るタイミングをずらすことで、不要信号部分を回避してバーコードの読み取り解読を行うことが可能である。
【０１２５】
また、キャンセル信号は、スタートパルスをトリガとして、このスタートパルスの後方のエッジから所定のパルス幅でキャンセルする領域を形成する実施形態を説明したが、これに限定されるものではなく、例えば受光部１０１から出力された電気信号のスタートマージン信号から不要信号の一部を検出して、この不要信号を検出した部分を中心にキャンセルする領域を形成したキャンセル信号により、スタートマージン信号に重畳した不要信号をキャンセルするようにしてもよい。
【０１２６】
また、説明では解読できなかった場合には次の回の走査を行った際にキャンセル部分（所定のパルス幅）を拡げたキャンセル信号をスタートマージンキャンセル部１０６に入力しているが、この２回目以降の走査を行う代わりに、例えばスタートマージンキャンセル部１０６に重畳二値化信号を記憶しておいて、この記憶された重畳二値化信号にキャンセル領域を長くして拡げたキャンセル信号を重ねることで同様の処理を行ってもよい。
【０１２７】
また、本実施形態ではエンドマージンの検出については説明していないが、従来同様にエンドマージン検出を行ってよいことは当然であり、またエンドマージンの検出においても必要に応じて本実施形態のスタートマージンのキャンセル、検出と同様の処理をハードウェアもしくはソフトウェアによって行ってもよい。
【図面の簡単な説明】
【０１２８】
【図１】本実施形態のバーコードリーダの構成例を示すブロック図である。
【図２】図２（ａ）〜（ｇ）は、バーコードリーダの各構成部位から出力される信号を示す図である。
【図３】図３（ａ）〜（ｆ）は、受光駆動信号発生部からの受光駆動用パルス信号に基づいてキャンセル信号発生部から出力されるキャンセル信号のパルス幅の広がる状態を示す図である。
【図４】図４（ａ）は、バーコードの１組目のコードに印刷の滲み、コード幅の広がりなどがあり解読不能な重畳二値化信号を示す図である。図４（ｂ）は、キャンセル信号により印刷の滲み、コード幅の広がりなどが除去され、解読可能になった重畳二値化信号を示す図である。
【図５】従来技術のバーコードリーダの構成例を示すブロック図である。
【図６】図６（ａ）〜（ｃ）は、スタートマージン部分に不要信号が重畳していない電気信号を示す説明図である。
【図７】図７（ａ）〜（ｃ）は、スタートマージン部分に不要信号が重畳した電気信号を示す説明図である。
【図８】スタートマージン部分にキズ、汚れのあるバーコードシンボルを示す概観図である。
【符号の説明】
【０１２９】
１００    バーコードリーダ
１０１    受光部
１０２    増幅部
１０３    二値化部
１０４    制御部
１０６    スタートマージンキャンセル部
１１０    投光部
１１１    デコード部
１１２    キャンセル信号発生部
１１３    受光駆動信号発生部
１１４    投光駆動信号発生部
２００    バーコードシンボル
４０１    バーコードの１本目
４０２    最初のパルス
５００    バーコードリーダ
５０１    受光部
５０２    増幅部
５０３    二値化部
５１１    デコード部
７０３    スタートパルス
７０８    ストップパルス
ＢＤ    バーコード
ＭＧＮ    マージン
ＳＭＧＮ    スタートマージン
ＳＰＲＳ    不要信号
ＳＴＮ    汚れ
【図１】
2007079959.tif 000003
【図２】
2007079959.tif 000004
【図３】
2007079959.tif 000005
【図４】
2007079959.tif 000006
【図５】
2007079959.tif 000007
【図６】
2007079959.tif 000008
【図７】
2007079959.tif 000009
【図８】
2007079959.tif 000010