(57)【特許請求の範囲】
【請求項１】
発光手段からの照射光を読み取り対象に照射する照射手段と、
前記読み取り対象からの反射光を受光し、その受光量に応じた電気信号を出力する受光手段と、
該受光手段から入力した電気信号を明暗のいずれかに対応する２値化信号に変換して出力する２値化手段と、
該２値化手段から所定の取込期間内に取り込んだ２値化信号における明暗パターン列に対してデコード処理を実行することによって、前記読み取り対象の画像を読み取るデコード手段と、
を備える光学情報読取装置であって、
前記所定期間内に取り込んだ２値化信号における明暗パターン列を構成している明暗両方のパターンの総数を、連続する２以上の所定期間同士で比較するパターン総数比較手段と、
そのパターン総数比較手段による比較結果が所定の安定条件を満たしている場合に初めて、前記デコード手段を制御し、前記連続する２以上の所定期間中のいずれか一つの期間中に取り込んだ２値化信号における明暗パターン列に対してデコード処理を実行させる読取制御手段と、
を備え、
前記パターン総数比較手段は、明暗両方のパターンの総数が３つ以上の場合は、連続する２つ以上の所定期間同士の比較を、順番に繰り下げながら実行していく
ことを特徴とする光学情報読取装置。
【請求項２】
前記読取制御手段は、前記連続する２以上の所定期間毎における前記受光手段での露光時間を調整した上で前記比較手段に比較を実行させること、を特徴とする請求項１に記載の光学情報読取装置。
【請求項３】
前記読取制御手段は、前記連続する２以上の所定期間毎における前記照射手段からの照射光量を調整した上で前記比較を実行すること、を特徴とする請求項１または２に記載の光学情報読取装置。
【請求項４】
さらに、前記受光手段の出力波形の増幅率を高める増幅手段を備え、
前記読取制御手段は、前記連続する２以上の所定期間毎における前記増幅手段での増幅率を調整した上で前記比較を実行すること、を特徴とする請求項１〜３のいずれかに記載の光学情報読取装置。
【請求項５】
前記読み取り対象は、バーコードであることを特徴とする請求項１〜４のいずれか記載の光学情報読取装置。
【請求項６】
前記読み取り対象が、２次元コードであることを特徴とする請求項１〜４のいずれかに記載の光学情報読取装置。
【請求項７】
前記デコード手段は、読み取り対象である２次元コードを縦横いずれかに複数ラインに分割した場合の各ライン毎にデコード処理を実行し、前記比較手段は、前記明暗パターンの総数あるいは明暗パターン毎の幅を連続する２以上の所定期間同士で比較する場合、前記複数ラインの内の一部のラインのみについて比較すること、を特徴とする請求項６に記載の光学情報読取装置。
【請求項８】
前記照射手段は、前記照射光として光ビームによる走査光を照射する走査タイプに構成されていること、を特徴とする請求項１〜７のいずれかに記載の光学情報読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばバーコードなどの読み取り対象に光を照射し、その反射光から読取対象の画像を読み取るものであり、特に適切な画像読取までの時間を短縮可能な光学情報読取装置に関する。
【０００２】
【従来の技術】
例えば、発光ダイオード等の発光手段から商品などに付着されているバーコードに照射した光の反射光を、受光素子が配列された受光手段に結像し、該受光手段にて光電変換して得た電気信号を明暗のいずれかに対応する２値化信号に変換し、その２値化信号における明暗パターンに対してデコード処理を実行することによってバーコードの画像を読み取る光学情報読取装置が知られている。
【０００３】
このような光学情報読取装置としては以下に示すように種々のタイプがある。そして、いずれのタイプにおいても、１回デコードしたデータをそのままバーコードの画像に対応するデータとするのが不適切な場合がある。各タイプにおいて、不適切なバーコードデータとなる原因について、簡単に説明する。
【０００４】
例えば光学情報読取装置のケースに設けられた読取口をバーコードにほぼ接触させた状態で読み取るタイプの場合には、バーコードが付着されている商品のところまで持って行く必要があるので、その近づけている最中に取り込んだ２値化信号に基づいては適切にデコードできない。また、読取口をバーコードにほぼ接触させた状態であっても、その接触の仕方や外乱光などの影響によって、適切にデコードできない場合も生じる。したがって、この場合には、外乱光の影響がなくなる状態になるのを待ったり、あるいは受光手段の露光時間や照射手段の光量などを調整する必要がある。
【０００５】
一方、光学情報読取装置の読取口の近傍に存在するバーコードのみでなく、読取口近傍から数１０ｃｍ（例えば、３０〜５０ｃｍ）離れたバーコードまでを、受光手段に結像して読み取らせることにより、読み取り毎に光学情報読取装置を商品に近づける動作を行うことなく、効率的にバーコードを読み取らせるいわゆる大深度光学情報読取装置が考えられている。このタイプの場合には、バーコードから離して読み取るため、特に外乱光など周囲環境の影響が大きく、また、例えば照射光の照射方向がずれてバーコードの一部からの反射光しか受光しない場合にも、不適切なバーコードデータとなってしまう。したがって、やはりこの場合にも、外乱光の影響がなくなる状態になるのを待ったり、あるいは受光手段の露光時間や照射手段の光量などを調整したり、照射光の方向を調整する必要がある。
【０００６】
さらに、照射光として光ビームによる走査光を照射する走査タイプの場合には、メカニカルに走査動作をさせるため、例えば走査範囲や走査速度が過渡状態にあれば、当然ながら不適切なバーコードデータとなってしまう。したがって、この場合には、安定した走査状態となるのを待つ必要がある。
【０００７】
このように、いずれのタイプにおいても１回デコードしたデータをそのままバーコードの画像に対応するデータとするのが不適切な場合があるため、バーコードデータの信頼性向上を目的として、同じバーコードに対するデコードデータが複数回一致した場合に正規データとして採用することが考えられている。
【０００８】
【発明が解決しようとする課題】
しかしながら、この従来の手法では、正規のデコードデータとして採用が決定するまでの時間が長くなってしまう状況が想定される。その点を、図６を参照して説明する。
【０００９】
図６（ａ）に示すように、バーコードデータを取り込む場合は、時間ｔ１だけ受光手段を駆動させて受光信号を出力させ、その後、時間ｔ２だけ受光手段における露光時間の調整などを行ってから、再度時間ｔ１だけ受光手段を駆動させるといった動作を行う。この時間ｔ１，ｔ２は一定であり、周期的に受光手段の駆動と露光時間の調整が繰り返される。
【００１０】
一方、受光手段から出力された受光信号は、例えばフィルタ処理や信号増幅などがされ、さらに２値化されてから、図６（ｂ）に示すようにデコード処理がなされる。このデコード処理に要する時間ｔ３は一定ではなく、例えばバーコードの桁数などによって異なる。特にバーコードの種類の違いなどから数桁から数十桁の範囲のものがあり、当然ながら、桁数が多ければデコード時間ｔ３も長くなる。そのため、例えば矢印▲１▼で示すタイミングで取り込んだバーコードデータをデコードするための時間ｔ３が上述した露光調整時間ｔ２よりも長くなると、次の矢印▲２▼で示すタイミングで取り込んだバーコードデータをデコードすることができなくなる。その場合には、さらに次の矢印▲３▼で示すタイミングで取り込んだバーコードデータをデコードする。そして、例えば２回一致の場合に正規データとするのであれば、図６（ｃ）に示すように、これら２つのデコードデータを比較して、一致度合を判断する。一致していれば、図６（ｄ）に示すようにデコードデータを外部へ送信したり、内部へ格納したりすることとなる。
【００１１】
したがって、この場合には、矢印▲１▼で示すタイミングで取り込んだバーコードデータを時間ｔ３中にデコードした後、矢印▲３▼で示すタイミングでバーコードデータを取り込むまで時間ｔ４中は、デコード対象のバーコードデータの取り込みもなされず、デコード処理もなされないため、無駄時間となる。なお、ここでは２つのデコードデータだけで両者が一致したため正規データとした場合を説明したが、２つのデコードデータが一致しなければ、さらにもう１つのデコードデータを得て、一致するかどうかを判断する必要がある。このようにデコードデータを生成する度に上述した無駄時間が発生することとなり、適切な画像読取までの時間が全体として長くなってしまうのである。
【００１２】
本発明は、こうした問題に鑑みなされたもので、適切な画像読取は実現しながら、そのために要する時間を短縮し、高速読取が可能な光学情報読取装置の提供を目的とするものである。
【００１３】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１に記載の光学情報読取装置によれば、照射光が読み取り対象に照射され、受光手段は、その読み取り対象からの反射光を受光し、受光量に応じた電気信号を出力する。そして、２値化手段が、その受光手段から入力した電気信号を明暗のいずれかに対応する２値化信号に変換する。デコード手段は、この２値化手段から所定の取込期間内に取り込んだ２値化信号における明暗パターン列に対してデコード処理を実行し、読み取り対象の画像を読み取ることとなるのであるが、本発明の場合には、適切な画像読取のために、安定した状態で取り込んだ２値化信号における明暗パターン列に対してのみデコード処理を実行することで、適切な画像読取に要する時間の短縮を図っている。
【００１４】
詳しくは、パターン総数比較手段が、所定期間内に取り込んだ２値化信号における明暗パターン列を構成している明暗両方のパターンの総数を、連続する２以上の所定期間同士で比較し、その比較結果に基づいて読取制御手段が次のような制御を実行する。すなわち、パターン総数比較手段による比較結果が所定の安定条件を満たしている場合に初めて、デコード手段を制御し、連続する２以上の所定期間中のいずれか一つの期間中に取り込んだ２値化信号における明暗パターン列に対してデコード処理を実行させるのである。
【００１５】
所定の安定条件とは、例えば連続する２つの所定期間同士で比較するのであれば、後の所定期間内で得たパターン総数Ｓ２が、前の所定期間内で得たパターン総数Ｓ１に対してプラスマイナス８％程度の増減であれば許容する、といったことが考えられる。
そして本発明の光学情報読取装置におけるパターン総数比較手段は、明暗両方のパターンの総数が３つ以上の場合は、連続する２つ以上の所定期間同士の比較を、順番に繰り下げながら実行していく。つまり、３つ以上の所定期間同士で比較するのであれば、上述した連続する２つについての比較を、順番に繰り下げながら実行していき、比較結果が許容範囲内にある状態が２回以上続いた場合に、安定していると判断するのである。
【００１６】
また、明暗パターンの総数とは、例えば読み取り対象がバーコードであれば黒バー及び白バー（スペースともいう）の総数である。つまり、上述の安定条件とは、この総数があまり変化しない状態であるため、この安定条件を満たしている場合になって初めてデコード処理を実行させれば安定した画像読取ができる。さらに、適切な画像読取のために行うデコード処理自体は１回でよく、従来のように複数回デコードし、そのデコードデータ同士を比較する方法に比べて高速読取が可能となる。その点を図６を用いて説明する。
【００１７】
本発明の場合は、従来のように矢印▲１▼で示すタイミングでバーコードを取り込んだ直後にはデコードせず、次の矢印▲２▼で示すタイミングでバーコードを取り込んだ後、図６（ｅ）に示すように、それら両バーコードデータのバー総数を比較して一致度合いを判断する。そして、比較結果が所定の安定条件を満たしていれば、その後、図６（ｆ）に示すように、▲１▼あるいは▲２▼で示すタイミングで取り込んだバーコードデータのいずれか一方をデコードし、図６（ｇ）に示すようにデコードデータを外部へ送信したり、内部へ格納したりする。
【００１８】
つまり、デコードデータ同士を比較するのではないため、デコードに要する時間が１回分でよくなる。また、上述したように、従来手法においては、図６（ｂ）に示すようにバーコードの桁数の違いなどによってデコード時間が長くなると矢印▲２▼で示すタイミングでバーコードデータが取り込めなくなる可能性もあったが、本発明の場合には、確実に矢印▲２▼で示すタイミングでバーコードデータを取り込めるので、その分の遅延も生じない。したがって、適切な画像読取は実現しながら、そのために要する時間を短縮し、高速読取が可能となるのである。
【００１９】
なお、図６（ｆ）におけるデコード処理においては、▲１▼あるいは▲２▼で示すタイミングで取り込んだバーコードデータのいずれか一方をデコードすると説明したが、一般的には後のデータの方が安定した状態のものと考えられる。したがって、この例でいけば▲２▼で示すタイミングで取り込んだバーコードデータをデコードする方が好ましい場合が多いと思われる。
【００２３】
ところで、読取対象からの反射光が不適切になる原因として、周囲の明るさや外乱光などの影響が考えられる点は上述した。その場合、装置側において積極的に不具合を解消させる努力をすることが好ましい。つまり、複数回の信号取込を行うのであれば、毎回同じ状況で取り込んでも不具合が解消しない可能性があるので、例えば、連続する２以上の所定期間毎における受光手段での露光時間を調整した上で比較手段に比較を実行させるのである。このようにすれば、徐々に適切な露光状態での信号取込となり、最終的には適切な状態で取り込んだ信号についてデコードすることができるようになる。
【００２４】
もちろん、露光時間の調整だけでなく、照射手段からの照射光量を調整してもよいし、さらには、受光手段の出力波形の増幅率を高める増幅手段を備えているのであれば、増幅手段での増幅率を調整してもよい。
なお、読み取り対象としては、バーコードであってもよいし、２次元コードであってもよい。そして、読み取り対象が２次元コードである場合には、読み取り対象である２次元コードを縦横いずれかに複数ラインに分割した場合の各ライン毎にデコード処理を実行し、比較手段が明暗パターンの総数あるいは明暗パターン毎の幅を連続する２以上の所定期間同士で比較する場合、複数ラインの内の一部のラインのみについて比較することが考えられる。
【００２５】
また、照射手段としては、ＬＥＤなどを用いることが考えられるが、例えばレーザダイオードを用い、照射光として光ビームによる走査光を照射する走査タイプであってもよい。この走査タイプの場合には、メカニカルに走査動作をさせるため、例えば走査範囲や走査速度が過渡状態にあれば、当然ながら取り込んだ信号をデコードした場合に不適切なデータとなってしまう可能性が高い。したがって、この場合には、安定した走査状態となるのを待つ必要があるため、本発明の適用は非常に有効であると考えられる。
【００２６】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【００２７】
［第１実施例］
図１は、第１実施例としての光学情報読取装置４の概略構成図である。本実施例において、光学情報読取装置４は、いわゆるバーコードリーダハンディターミナルとして構成されているものである。図１は光学情報読取装置４の概略断面図であり、図２はその制御系統のブロック図である。
【００２８】
光学情報読取装置４は、ケース１２、読取部１４、データ処理出力部１６、および電源部１８を備えている。
ケース１２の前方部の内部には読取部１４が配置され、また、ケース１２の後方部は操作者が手で握るための把持部２０を形成している。ケース１２の前方部の下部には、左右（図１では紙面に垂直方向）に長い、すなわち幅方向に長い読取口２２が設けられ、読取口２２の奥には、防塵プレート２４が配置されて、読取口２２を閉塞している。このことにより、塵が読取口２２からケース１２内部に侵入するのを防止している。また、防塵プレート２４は、少なくとも下に述べる読み取り光としての赤色の光は通過可能である。
【００２９】
読取部１４は、照明用赤色発光ダイオード２６（照射手段に該当）、発光駆動回路２８、バーコード照射用レンズ３０、反射鏡３２、結像レンズ部３４および光学的センサ３６（受光手段に該当）を備えている。発光駆動回路２８により照明用赤色発光ダイオード２６が発光すると、その赤色光は防塵プレート２４を通過して、ケース１２外部のバーコード８を照射する。図１では、バーコード８のバー配列方向と読取口２２の幅方向とを合わせ、バーコード８を読取口２２にほぼ接触した状態にて、赤色光でバーコード８を照射している場合を示している。
【００３０】
バーコード８により反射された赤色光は、再度、防塵プレート２４からケース１２内に入り、反射鏡３２で反射されて、縦長絞り（図示せず）を内蔵する結像レンズ部３４に入射し、縦長絞り、複数枚で構成される結像レンズを介して、受光素子がリニアに一列配列された光学的センサ３６にバーコード８の像を、その各バーの配列方向と光学的センサ３６の受光素子の配列方向とが同じ方向で結像させる。このバーコード８の像を光電変換して読み取った光学的センサ３６は、像のパターンを表す電気信号としてデータ処理出力部１６側に出力する。
【００３１】
なお、結像レンズ部３４に内蔵されている縦長絞りは、結像レンズよりも読取口２２側に配置されて、その長手方向がバーコード８のバーの長手方向と一致した状態でバーコード８を読み取るように設定してある。また、光学的センサ３６は、受光素子が一列に配列されその各受光素子のアスペクト比がほぼ「１」であるファクシミリ装置の原稿読み取り用撮像素子を用いている。
【００３２】
ケース１２内部のデータ処理出力部１６には、基板３８上に、波形整形部４０（２値化手段に該当）、メモリ４２、マイクロコンピュータ４４（デコード手段、パターン総数比較手段、読取制御手段に該当）およびレジスタやホストコンピュータ等の本体装置への出力回路４６が備えられている。データ処理出力部１６は、読取部１４からバーコード８の読み取りデータを、波形整形部４０を介して入力すると、マイクロコンピュータ４４の処理によりそのデータをデコード（解読）して、バーコード８が表している情報を得、その情報をメモリ４２に一旦記憶する。次に、このメモリ４２内に記憶された情報を出力回路４６により、シリアル信号として本体装置へ送信する。なお、本実施例では有線通信としているが、光や電波による無線通信としてもよい。
【００３３】
また読取部１４が収納されている部分の、光路に影響しない位置に、ブザー装置４８が設けられ、マイクロコンピュータ４４にてバーコード８のデコードに成功した場合に、ブザー装置４８を鳴動させるようにしている。
また、電源部１８は、電池１８ａが電源として収納されている。
【００３４】
前記マイクロコンピュータ４４は、周知のＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ等を備えて、上述したデータ処理出力部１６として必要な処理を実行している。
前記照明用赤色発光ダイオード２６は、実際には複数個（例えば４個）のＬＥＤから構成されており、これらからの照射光は集光レンズ３０を介して読取口２２から、ケース１２の外部に存在するバーコード８を照射する。そして、この照明用赤色発光ダイオード２６の発光タイミングや光量は、マイクロコンピュータ４４から発光駆動回路２８を介して制御できるように構成してある。
【００３５】
また、前記波形整形部４０は、光学的センサ３６から出力された受光信号に対して所定のフィルタ処理を施したり増幅したりすることができ、さらに２値化信号に変換してからマイクロコンピュータ４４へ出力する。受光信号は反射光の強弱に応じたアナログ信号であるため、Ａ／Ｄ変換によって２値化信号とされた場合、その２値化信号は明暗いずれかに対応するパターンを形成することとなる。本発明では、暗パターンがバーコード８の黒バーとなり、明パターンがバーコード８の白バーとなるようにされている。なお、黒バー／白バーをそれぞれバー／スペースと呼ぶこともあるが、ここでは黒白いずれかのバーと称す。
【００３６】
次に、本実施例のマイクロコンピュータ４４が実行するバーコード読取に係る処理について説明する。
図３はバーコード読取許可がなされた場合に行われるスタート処理を示すフローチャートであり、処理が開始されると、まず初期設定を行う（Ｓ１０１）。この初期設定では、モードフラグをセンサ駆動モードにセットし、また取込許可フラグをセットするなど、所定の初期設定処理を実行する。続いて、最初のスキャン割込のタイミングを設定し（Ｓ１０３）、スキャン割込みを待ち続ける（Ｓ１０５）。
【００３７】
図４はスキャン割込処理を示すフローチャートである。
最初に、モードフラグを見て、センサ駆動モードになっているのか露光調整モードになっているのかを判別する（Ｓ２０１）。Ｓ２０１でのモード判別の結果、現在のモードフラグがセンサ駆動モードになっている場合には、Ｓ２０３へ移行して、モードフラグを露光調整モードに変更する。そして、続くＳ２０５において次回の割込時間（ｔ１）を設定し、さらにＳ２０７にて光学的センサ３６を駆動する。そして、取込許可フラグを見て、取込が許可されているかどうかを判定し（Ｓ２０９）、取込許可がされていなければ（Ｓ２０９：ＮＯ）、そのまま本スキャン割込処理を終了するが、取込許可がされていれば（Ｓ２０９：ＹＥＳ）、Ｓ２１１へ移行する。Ｓ２１１では、波形整形部４０から取り込んだバーコードデータ（２値化信号となっている）を、ＲＡＭ内の所定の記憶領域に随時書き込む。
【００３８】
一方、現在のモードフラグが露光調整モードになっている場合には、Ｓ２１３へ移行して、モードフラグをセンサ駆動モードに変更し、続くＳ２１５においてデータ取込を停止する。そして、続くＳ２１７において次回の割込時間（ｔ２）を設定し、さらにＳ２１９にて、取込許可フラグを見て、取込が許可されているかどうかを判定する（Ｓ２１９）。取込許可がされていなければ（Ｓ２１９：ＮＯ）、そのまま本スキャン割込処理を終了するが、取込許可がされていれば（Ｓ２１９：ＹＥＳ）、Ｓ２２１へ移行する。
【００３９】
Ｓ２２１では、波形整形部４０から取り込んでＲＡＭ内の所定の記憶領域に記憶したバーコードデータに基づき、黒バー及び白バーを合わせた総本数（明暗パターン総数に相当する）を確認する。そして、続くＳ２２３では、Ｓ２２１にて確認した今回のバー総本数の、前回取り込んだバーコードデータのバー総本数に対する変化度合いが許容範囲内であるかどうかを判断する。ここでは、前回のバー総本数の±８％以内の増減であれば前回と今回のデータが「ほぼ一致している」と判定する。つまり、前回のバー総本数をＳ１、今回のバー総本数をＳ２とすると、「０．９２×Ｓ１≦Ｓ２≦１．０８×Ｓ１」であるかどうかを判断する。
【００４０】
そして、バー総本数の変化度合いが許容範囲外であれば（Ｓ２２３：ＮＯ）、そのまま本スキャン割込処理を終了し、許容範囲内であれば（Ｓ２２３：ＹＥＳ）、Ｓ２２５へ移行する。Ｓ２２５では取込許可フラグをクリアし、その後、本スキャン割込処理を終了してメイン処理（図５）へ移行する。
【００４１】
このメイン処理について、図５のフローチャートを参照して説明する。
最初に、デコード処理を行う（Ｓ３０１）。ここでは、最後に取り込んでＲＡＭに記憶されているバーコードデータをＡＳＣＩＩコード化する。そして、デコード処理が良好に行われたかどうかを判定し（Ｓ３０３）、良好なデコード処理であった場合には（Ｓ３０３：ＹＥＳ）、Ｓ３０７へ移行する。Ｓ３０７では、今回Ｓ３０１にてＡＳＣＩＩコード化されたデコードが、前回本体装置側へ転送されたデータと同じであるかどうかを判定する。前回転送されたデータと同じでなければ（Ｓ３０７：ＮＯ）、データ転送を行い（Ｓ３０９）、転送フラグをセットする（Ｓ３１１）。その後、取込許可フラグをセットして（Ｓ３１３）、次の割込を待ち続ける。
【００４２】
一方、Ｓ３０３での判定の結果、良好なデコード処理ではなかった場合（Ｓ３０３：ＮＯ）、あるいはＳ３０７での判定の結果、前回転送されたデータと同じであった場合（Ｓ３０７：ＹＥＳ）は、そのままＳ３１３へ移行する。したがって、データ転送（Ｓ３０９）は実行されない。
【００４３】
このように、本実施例の光学情報読取装置４によれば、デコード処理する前に、前回取り込んだバーコードデータのバー総本数に対する今回取り込んだバー総本数の変化度合いが許容範囲内である場合にのみ（図４のＳ２２３でＹＥＳ）、メイン処理（図５）に移行して、Ｓ３０１のデコード処理を実行する。したがって、適切な画像読取のために行うデコード処理自体は１回でよく、従来のように複数回デコードし、そのデコードデータ同士を比較する方法に比べて高速読取が可能となる。この点を図６（ａ），（ｅ）〜（ｇ）を参照してさらに説明する。図６（ａ）中に▲１▼で示すタイミングでバーコードを取り込んだ直後にはデコードせず（図６（ｆ）参照）、次の▲２▼で示すタイミングでバーコードを取り込んだ後、図６（ｅ）に示すように、それら両バーコードデータのバー総数を比較して一致度合いを判断する。そして、比較結果が所定の安定条件を満たしていれば、その後、図６（ｆ）に示すように、即座にデコード処理を実行する。
【００４４】
つまり、デコードデータ同士を比較するのではないため、デコードに要する時間が１回分でよくなる。また、上述したように、従来手法においては、図６（ｂ）に示すようにバーコードの桁数の違いなどによってデコード時間が長くなると矢印▲２▼で示すタイミングでバーコードデータが取り込めなくなる可能性もあったが、本発明の場合には、確実に矢印▲２▼で示すタイミングでバーコードデータを取り込めるので、その分の遅延も生じない。したがって、適切な画像読取は実現しながら、そのために要する時間を短縮し、高速読取が可能となるのである。
【００４５】
なお、上記Ｓ３０１でのデコード処理では、最後に取り込んでＲＡＭに記憶されているバーコードデータをＡＳＣＩＩコード化すると説明した。つまり、図６（ｆ）におけるデコード処理においては、図６（ａ）の▲２▼で示すタイミングで取り込んだバーコードデータをデコードすることとなる。もちろん、図６（ａ）の▲１▼で示すタイミングで取り込んだバーコードデータをデコードしてもよい。ただし、一般的には後のデータの方が安定した状態のものと考えられるため、図６の場合言えば▲２▼で示すタイミングで取り込んだバーコードデータをデコードする方が好ましい場合が多いと思われる。
【００４６】
［第２実施例］
上述した第１実施例においては、デコード処理を実行させるための安定条件の成否をバーコードデータのバー総本数に基づいて実行した（図４のＳ２２１，Ｓ２２３参照）。しかし、安定条件の判断に用いるものとしては、バー総本数には限られない。例えば各バーの幅（明暗パターン毎の幅に相当する）を用いてもよい。
【００４７】
この場合には、図４のＳ２２１に相当する処理として、バーコードデータの各バーの幅を確認する。そして、図４のＳ２２３に相当する処理としては、次のような判定を行う。つまり、前回取り込んだバーコードの各バーの幅と、今回取り込んだバーコードの各バーの幅とをそれぞれ比較し、バー幅の誤差（変化度合い）が全て許容範囲内であれば、デコード処理に移行するのである。この許容範囲としては、例えば上述したバー総本数の場合と同じように±８％程度としてもよいが、一律に設定すると不都合が生じる場合がある。つまり、バーコードの種類などによってはバー幅が比較的小さく、読取のために特に不安定とはいえばい状態でも±８％程度の誤差が簡単に生じてしまうような場合がある。したがって、そのような場合には例えば±２０％程度の値を設定するなどの使い分けを考慮することも好ましい。
【００４８】
なお、バー幅の算出に当たっては、例えば、波形整形部４０から入力された２値化信号をマイクロコンピュータ４４における動作クロックを単位として計数することが考えられる。具体的には、黒バーを構成する暗パターン部分を「０」、白バーを構成する明パターン部分を「１」とすると、動作クロック単位で見た場合、２値化信号に対し「００００００１１１１１１１１００００００１１……」というようなデータ列となる。したがって、この０あるいは１が連続する数をカウントしていくと、この場合には６・８・６…となる。このカウント数がすなわちバー幅に相当する。
【００４９】
図７を参照して具体例でさらに説明する。図７（ａ）に示すように、前回のバー幅のカウント数が「６，８，６，１４，１５，１２…」であり、今回のバー幅のカウント数が「６，８，６，１３，１４，１２…」であったとする。最初から３つ目まではカウント数が同じである。そして、４つ目は前回が１４であるのに対して今回は１３であるが、その変化度合いは、７％程度であるので、許容範囲である。また、５つ目は前回が１５であるのに対して今回は１４であるが、その変化度合いは、６．７％程度なのでやはり許容範囲である。このようにして、順番に対応するバー幅のカウント数同士を比較していく。
【００５０】
なお、以上説明した以外の部分は、基本的に第１実施例の場合と同様であるので、繰り返して説明はしないが、この場合は、マイクロコンピュータ４４がパターン幅比較手段にも該当する。
［第３実施例］
上記第１実施例では、読み取り対象としてバーコード８を想定し、そのため、光学的センサ３６としてリニアセンサ（１次元センサ）を用いたが、２次元コードを読み取る２次元コードリーダとしても適用できる。この場合には、光学的センサ３６としてエリアセンサ（２次元センサ）を用いることとなる。そして、読取状態の安定性を判断する場合には、エリアセンサから全てのデータに基づく必要はない。つまり、エリアセンサが縦横いずれか複数ラインで構成され、マイクロコンピュータ４４は、それら各ライン毎のデータを取り込んで順次デコード処理を実行していくような構成であれば、その複数ラインの内の一部のラインのみのデータについて比較すれば十分である。比較の方法は、上述した第１あるいは第２実施例と同様に、バーに相当するデータの総数やバーに相当するデータの幅を用いればよい。
【００５１】
この場合には、図４に示すスキャン割込処理に代えて図８，９の処理を実行する。ここでは、図４の処理とは違う処理内容の部分を中心に説明する。
図８に示す処理の内、Ｓ２０１０，Ｓ２０３０，Ｓ２０５０は、図４のＳ２０１，Ｓ２０３，Ｓ２０５と同じ処理内容なので繰り返し説明はしない。
【００５２】
そして、図４ではＳ２０７にて一律にセンサ駆動処理を行っているが、図８に示すように、これに対応する処理として、Ｓ２０７１，Ｓ２０７２，Ｓ２０７５の処理を実行する。すなわち、まずＳ２０７１にてセンサモードを判別する。そして、エリアセンサの複数ラインの全てを駆動させる全ライン駆動モードであれば、Ｓ２０７３へ移行してエリアセンサの全ラインを駆動させる。一方、エリアセンサの複数ラインの内の一部のラインのみを駆動させる部分駆動モードであれば、Ｓ２０７５へ移行してエリアセンサの一部のラインのみを駆動させる。
【００５３】
Ｓ２０７３あるいはＳ２０７５にてセンサを駆動させた後は、取込許可フラグを見て、取込が許可されているかどうかを判定し（Ｓ２０９０）、取込許可がされていなければ（Ｓ２０９０：ＮＯ）、そのまま本スキャン割込処理を終了するが、取込許可がされていれば（Ｓ２０９０：ＹＥＳ）、Ｓ２１１０へ移行する。Ｓ２１１０では、取り込んだコードデータ（２値化信号となっている）を、ＲＡＭ内の所定の記憶領域に随時書き込む。
【００５４】
図９には、図８のＳ２０１０にて露光調整モードであると判別された場合に移行して実行する処理を示しているが、Ｓ２１３０，Ｓ２１５０，Ｓ２１７０，Ｓ２１９０は、図４のＳ２１３，Ｓ２１５，Ｓ２１７，Ｓ２１９と同じ処理内容なので繰り返し説明はしない。Ｓ２１９０にて肯定判断、つまり取込許可がされている場合に実行するＳ２２１０以降の処理が図４に示した場合とは違うので、この部分を説明する。
【００５５】
Ｓ２２１０ではセンサモードを判別し、部分駆動モードであれば、Ｓ２２２０へ移行する。このＳ２２２０では、上記図８のＳ２１１０にて取り込み所定の記憶領域に記憶したコードデータに基づき、バー本数を確認する。なお、読み取り対象が２次元コードでありバーコードではないため、厳密には「バー」と呼ぶことが不適切な場合もあるが、１ライン単位で取り込んだ場合には、バーとして捉えることもでき、そのバー本数はやはり明暗パターンの総数となるので、ここではバー総本数と呼ぶこととする。続くＳ２２３０では、図４のＳ２２３と同様の処理を実行する。つまり、Ｓ２２１０にて確認した今回のバー総本数の、前回取り込んだバーコードデータのバー総本数に対する変化度合いが許容範囲内であるかどうかを判断する。
【００５６】
そして、バー総本数の変化度合いが許容範囲内であれば（Ｓ２２３０：ＹＥＳ）、次回はデコード用のデータを取り込めばよいので、全ライン駆動モードにセットして（Ｓ２２４０）、本スキャン割込処理を終了する。一方、許容範囲外であれば（Ｓ２２３０：ＮＯ）、次回も再度バー本数をチェックするためのデータを取り込む必要があるので、継続して部分駆動モードにセットして（Ｓ２２５０）、本スキャン割込処理を終了する。
【００５７】
また、Ｓ２２１０のモード判定にて全ライン駆動モードであると判定された場合には、Ｓ２２６０へ移行し、取込許可フラグをクリアした後、本スキャン割込処理を終了してメイン処理（図５）へ移行する。
なお、以上説明した以外の部分は、基本的に第１実施例の場合と同様であるので、繰り返して説明はしない。
【００５８】
このように、２次元コードを読み取る場合には、エリアセンサの複数ラインの内の一部のラインのみのデータについて比較し、前回取り込んだデータのバー総本数に対する今回取り込んだデータのバー総本数の変化度合いが許容範囲内である場合にのみ（図９のＳ２２３０でＹＥＳ）、全ライン駆動モードにセットされる（Ｓ２２４０）。図８のＳ２０１０にて露光調整モードと判別された場合、全ライン駆動モードにされていると、Ｓ２２１０のセンサモード判定の結果、Ｓ２２６０へ移行し、さらにメイン処理（図５）に移行するため、その時点で初めてデコード処理が実行される。したがって、やはりこの場合においても適切な画像読取のために行うデコード処理自体は１回でよく、複数回デコードしたデータ同士を比較する方法に比べて高速読取が可能となる。
［その他］
（１）上記実施例においては、露光調整モードにおいて光学的センサ３６の露光時間を調整しているが、露光時間調整だけでなく、例えばマイクロコンピュータ４４から発光駆動回路２８を制御して照明用赤色発光ダイオード２６の光量を調整してもよい。さらには、波形整形部４０での増幅率を調整してもよい。
【００５９】
（２）また、上記実施例の光学情報読取装置４は、読取口２２の近傍に存在するバーコードを読み取ることを前提としたものであったが、例えば読取口２２近傍から数１０ｃｍ（例えば、３０〜５０ｃｍ）離れたバーコード８までを、光学的センサ３６に結像して読み取らせることにより、読み取り動作の度に光学情報読取装置４を商品に近づける動作を行うことなく、効率的にバーコードを読み取らせるいわゆる大深度光学情報読取装置の場合であっても同様に適用できる。このタイプの場合には、離れて読み取るため、特に外乱光など周囲環境の影響が大きく、また、例えば照射光の照射方向がずれてバーコードの一部からの反射光しか受光しない場合にも、不適切なバーコードデータとなってしまう。したがって、やはりこの場合にも、デコード前のデータに基づいて安定状態を判定し、安定してから初めてデコードすることが好ましい。
（３）さらに、上記実施例においては、照射手段として照明用赤色発光ダイオード２６を用いた場合を示したが、例えばレーザダイオードを用い、照射光として光ビームによる走査光を照射する走査タイプであってもよい。なお、この場合には光学的センサの変わりにフォトダーオードを用いる。この走査タイプでは、メカニカルに走査動作をさせるため、例えば走査範囲や走査速度が過渡状態にあれば、当然ながら取り込んだ信号をデコードした場合に不適切なデータとなってしまう可能性が高い。つまり、走査動作が開始した直後は走査範囲や走査速度が小さく、時間と共に徐々に大きくなっていき、その後、安定した走査状態となるのであれば、その安定した走査状態となるのを待つ必要がある。したがって、本光学的読取装置の適用は非常に有効であると考えられる。
【図面の簡単な説明】
【図１】  第１実施例の光学情報読取装置の概略断面図である。
【図２】  その光学情報読取装置の制御系統のブロック図である。
【図３】  その光学情報読取装置のマイクロコンピュータが実行するスタート処理を示すフローチャートである。
【図４】  その光学情報読取装置のマイクロコンピュータが実行するスキャン割込処理を示すフローチャートである。
【図５】  その光学情報読取装置のマイクロコンピュータが実行するメイン処理を示すフローチャートである。
【図６】  光学的センサからの信号取込あるいはデコードタイミングなどについて、従来の場合と本発明の場合とを比較して説明したタイムチャートである。
【図７】  バー幅で比較する第２実施例の場合のバー幅に対応するカウント数の具体例を示す説明図である。
【図８】  第３実施例の場合のスキャン割込処理の一部を示すフローチャートである。
【図９】  第３実施例の場合のスキャン割込処理の一部を示すフローチャートである。
【符号の説明】
４…光学情報読取装置              ８…バーコード
１２…ケース                      １４…読取部
１６…データ処理出力部            １８…電源部
１８ａ…電池                        ２０…把持部
２２…読取口                      ２４…防塵プレート
２６…照明用赤色発光ダイオード    ２８…発光駆動回路
３０…バーコード照射用レンズ      ３２…反射鏡
３４…結像レンズ                  ３６…光学的センサ
３８…基板                        ４０…波形整形部
４２…メモリ                      ４４…マイクロコンピュータ
４６…出力回路                    ４８…ブザー装置
【図１】
0003944997.tif 000002
【図２】
0003944997.tif 000003
【図３】
0003944997.tif 000004
【図４】
0003944997.tif 000005
【図５】
0003944997.tif 000006
【図６】
0003944997.tif 000007
【図７】
0003944997.tif 000008
【図８】
0003944997.tif 000009
【図９】
0003944997.tif 000010