(57)【特許請求の範囲】
【請求項１】
明色部と暗色部とが所定方向に並ぶコード要素が複数段に配列されてなる多段コードを読み取る情報コード読取装置であって、
受光素子が所定の長手方向にライン状に配列されてなるラインセンサと、
各コード要素が前記ラインセンサにて撮像されたときに、当該ラインセンサで得られた各コード要素の撮像結果に基づいて各コード要素を解読する解読手段と、
いずれか一のコード要素が撮像されたときの前記解読手段による当該一のコード要素の解読結果と、前記一のコード要素の後に撮像された他のコード要素の撮像内容とに基づき、前記一のコード要素の後に続くコード要素の読み飛ばしが発生したか否かを判断する判断手段と、
前記判断手段によって前記読み飛ばしが発生したと判断された場合に報知を行う報知手段と、
を有し、
前記判断手段は、
前記一のコード要素を構成する前記明色部及び前記暗色部に基づいて単位モジュール幅を検出する単位モジュール幅検出手段を備え、
前記一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた前記他のコード要素の撮像画像において、前記単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断し、前記所定種類のモジュール画像が存在する場合に前記読み飛ばしが発生したと判断することを特徴とする情報コード読取装置。
【請求項２】
前記多段コードは、複数段設けられる各コード要素のそれぞれに予め定められた特徴パターンが含まれたものであり、
前記判断手段は、前記一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた前記他のコード要素の撮像画像において、前記特徴パターンが存在するか否かを判断し、前記特徴パターンが存在する場合に前記読み飛ばしが発生したと判断することを特徴とする請求項１に記載の情報コード読取装置。
【請求項３】
前記多段コードは、複数段設けられる各コード要素のそれぞれに予め定められた特徴パターンが含まれ、且つ、各段と前記特徴パターンの構成とが予め対応付けられたものであり、
前記判断手段は、前記一のコード要素を構成する前記明色部及び前記暗色部に基づいて当該一のコード要素に含まれる前記特徴パターンを抽出し、且つ前記他のコード要素を構成する前記明色部及び前記暗色部に基づいて、前記他のコード要素に含まれる前記特徴パターンを抽出し、前記一のコード要素の前記特徴パターンと前記他のコード要素の前記特徴パターンとが規定の組み合わせでない場合に前記読み飛ばしが発生したと判断することを特徴とする請求項１又は２に記載の情報コード読取装置。
【請求項４】
前記ラインセンサによって前記コード要素が撮像されたときに、その撮像された当該コード要素の解読が既に成功しているか否かを判断する解読成功判断手段と、
前記ラインセンサによって撮像された前記コード要素が前記解読成功判断手段によって解読成功済みと判断される間、所定の通知処理を行う通知手段と、
を備えたことを特徴とする請求項１から請求項３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記ラインセンサによる撮像画像が、前記解読成功判断手段によって解読成功済みと判断された前記コード要素から変化したか否かを判断する画像変化判断手段を備え、
前記通知手段は、前記画像変化判断手段によって前記解読成功済みの前記コード要素から変化したと判断された場合に、前記所定の通知処理での通知態様とは異なる他の通知態様で通知を行うことを特徴とする請求項４に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報コード読取装置に関するものである。
【背景技術】
【０００２】
現在、情報コードの種類は極めて多様化しており、ＧＳ１データバーなどの特定種類の情報コードでは、バーコードが複数段に重ねられて一体的に表示されるスタック型のタイプなども提供されている。この種の多段コードを読取装置によって読み取る場合、各段を構成する各要素（コード要素）を、段毎に解読すると共に解読結果を統合することで最終的に多段コード全体の記録内容を取得することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１８５７９公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、多段コードに関するものではないが、関連技術として特許文献１のようなものが提供されている。この技術では、複数個の部分情報コードを含む画像データを取り込み、取り込まれた画像データに含まれる部分情報コードを一括して撮像し、一括して解読しており、読取、解読時間の短縮化を図っている。しかしながら、このような方式（複数のコードを一括して読み取る方式）を実現しようとした場合、受光領域が広い受光センサを用いなければならず、センサ構造の大型化が避けられなくなる。
【０００５】
一方、センサ構造の大型化を避け、簡素なセンサによって上記多段コードを読み取る方法としては、例えば受光センサをラインセンサによって構成し、各段を構成する各要素（コード要素）をラインセンサによって順番に撮像し、段毎に順番に解読すればよい。この方式によれば、センサを大型化せずとも各コード要素の記録内容を取得することができ、多段コード全体としてのデコード結果を得ることができる。
【０００６】
しかしながら、上記のように各コード要素をラインセンサによって撮像し、段毎に解読を行う場合、各コード要素が確実に解読できればそれほど問題はないが、例えば読み取り作業に際し使用者による読取装置の操作速度（移動速度）が速すぎる場合や、いずれかのコード要素の撮像環境が悪い場合には、一部のコード要素が撮像されなかったり不鮮明に撮像されてしまうことがあり、この場合、途中のコード要素が解読できずに読み飛ばされてしまうことになる。このようにコード要素の読み飛ばしが生じると最終的にはデコード失敗となってしまうが、使用者はどの段の読み取りが失敗しているかを把握できないため、結局のところ最初の段から再度読み取り操作を行わなければならなくなり、解読処理の大幅な遅延を招いてしまう。
【０００７】
本発明は、上述した課題を解決するためになされたものであり、明色部及び暗色部が所定方向に配列されてなるコード要素が複数段に重ねられてなる多段コードを読み取り可能な情報コード読取装置において、読み飛ばしに起因する解読遅延を効果的に抑制しうる構成をより簡易に提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、明色部と暗色部とが所定方向に並ぶコード要素が複数段に配列されてなる多段コードを読み取る情報コード読取装置であって、
受光素子が所定の長手方向にライン状に配列されてなるラインセンサと、
各コード要素が前記ラインセンサにて撮像されたときに、当該ラインセンサで得られた各コード要素の撮像結果に基づいて各コード要素を解読する解読手段と、
いずれか一のコード要素が撮像されたときの前記解読手段による当該一のコード要素の解読結果と、前記一のコード要素の後に撮像された他のコード要素の撮像内容とに基づき、前記一のコード要素の後に続くコード要素の読み飛ばしが発生したか否かを判断する判断手段と、
前記判断手段によって前記読み飛ばしが発生したと判断された場合に報知を行う報知手段と、
を有し、
前記判断手段は、
前記一のコード要素を構成する前記明色部及び前記暗色部に基づいて単位モジュール幅を検出する単位モジュール幅検出手段を備え、
前記一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた前記他のコード要素の撮像画像において、前記単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断し、前記所定種類のモジュール画像が存在する場合に前記読み飛ばしが発生したと判断することを特徴とする。
【発明の効果】
【００１０】
請求項１の発明は、多段コードのいずれか一のコード要素が撮像されたときの解読手段による当該一のコード要素の解読結果と、一のコード要素の後に撮像された他のコード要素の撮像内容とに基づき、一のコード要素の後に続くコード要素の読み飛ばしが発生したか否かを判断する。そして、読み飛ばしが発生したと判断された場合に報知を行う。この構成では、スタック型の多段コードにおいて、ある段（一のコード要素）が解読された後、その後に撮像された段（他のコード要素）の撮像内容を解析して読み飛ばしを判断することができ、読み飛ばしの発生時にその旨をユーザに知らしめることができる。従って、ユーザは、読み飛ばしが発生していることを早期に把握することができ、迅速に適切な対応をとることができる。従来のようにユーザが全部の段を読み取ったと感じてから初めて読み飛ばしが発生したことを把握するような方式では、それまでの時間が無駄になってしまい、読み飛ばしを把握した上での対応（例えば再度の読取動作など）をとるまでに大きく時間がかかってしまうが、本発明によれば、読み飛ばしを早期に発見して再読み取り等を迅速に行うことができ、ひいては最終的な読み取り結果をより迅速に出力できるようになる。
【００１１】
特に、前記判断手段が、前記一のコード要素を構成する前記明色部及び前記暗色部に基づいて単位モジュール幅を検出する単位モジュール幅検出手段を備えており、前記一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた前記他のコード要素の撮像画像において、前記単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断し、前記所定種類のモジュール画像が存在する場合に前記読み飛ばしが発生したと判断する。
この構成では、一のコード要素の解読結果から単位モジュール幅を検出することができ、所定時間以上読み取りが成功しない場合にはその際の撮像画像（他のコード要素の撮像画像）においてその単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断することができる。そして、所定種類のモジュール画像が存在する場合には、想定する種類の画像が得られているにもかかわらず解読できていないといえるため、このような場合に読み飛ばしが発生したと判定することができる。
【００１２】
請求項２の発明では、前記多段コードは、複数段設けられる各コード要素のそれぞれに予め定められた特徴パターンが含まれたものであり、前記判断手段は、前記一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた前記他のコード要素の撮像画像において、前記特徴パターンが存在するか否かを判断し、前記特徴パターンが存在する場合に前記読み飛ばしが発生したと判断する。
所定時間以上読み取りが成功しない場合の読取不成功時又は読取不成功後の撮像画像（他のコード要素の撮像画像）において特徴パターンが確認できた場合、想定する種類の画像が得られているにもかかわらず解読できていないといえるため、このような場合に読み飛ばしが発生したと判定することができる。
【００１３】
請求項３の発明では、前記多段コードは、複数段設けられる各コード要素のそれぞれに予め定められた特徴パターンが含まれ、且つ、各段と前記特徴パターンの構成とが予め対応付けられたものである。そして、前記判断手段は、前記一のコード要素を構成する前記明色部及び前記暗色部に基づいて当該一のコード要素に含まれる前記特徴パターンを抽出し、且つ前記他のコード要素を構成する前記明色部及び前記暗色部に基づいて、前記他のコード要素に含まれる前記特徴パターンを抽出し、前記一のコード要素の前記特徴パターンと前記他のコード要素の前記特徴パターンとが規定の組み合わせでない場合に前記読み飛ばしが発生したと判断する。
この構成では、一のコード要素から得られた特徴パターンと次のコード要素（他のコード要素）から得られた特徴パターンが正規の順番になっていない場合に読み飛ばしを正確に検出できる。
【００１４】
請求項４の発明は、前記ラインセンサによって前記コード要素が撮像されたときに、その撮像された当該コード要素の解読が既に成功しているか否かを判断する解読成功判断手段と、前記ラインセンサによって撮像された前記コード要素が前記解読成功判断手段によって解読成功済みと判断される間、所定の通知処理を行う通知手段とを備えている。
この構成によれば、使用者は、現在読み取っている段が解読成功済みか否かを確実に認識できるため、解読済みでないコード要素を読み取る際の操作位置及び操作加減をより正確に把握することができ、その結果、読み飛ばしを生じさせないような位置及び速度で操作しやすくなる。
【００１５】
請求項５の発明は、前記ラインセンサによる撮像画像が、前記解読成功判断手段によって解読成功済みと判断された前記コード要素から変化したか否かを判断する画像変化判断手段を備えており、前記通知手段が、前記画像変化判断手段によって前記解読成功済みの前記コード要素から変化したと判断された場合に、前記所定の通知処理での通知態様とは異なる他の通知態様で通知を行う。
解読済みの段から他の段に移った場合に他の態様（例えば、消灯から点灯）に変えることで、ユーザは操作中に解読済の段に向けられているかそうでないかを把握しながら操作を行うことができ、より正確かつ効率的に読み取り操作を行うことができる。例えば、解読済みの段に向け続けるといった無駄な操作を減らすことができ、読取処理時間の短縮化を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の第１実施形態に係る情報コード読取装置の電気的構成を概略的に例示するブロック図である。
【図２】図２は、図１の情報コード読取装置での読取処理の流れを例示するフローチャートである。
【図３】図３は、図２の読取処理における模様判定の流れを例示するフローチャートである。
【図４】図４は、図１の読取装置で読み取られる多段コードを例示する説明図である。
【図５】図５は、図４の多段コードにおける各段のファインダパターンの内容を概念的に説明する説明図である。
【図６】図６は、ＧＳ１データバー（スタック型）で規定されるセグメント数とファインダパターンとの関係を説明する説明図である。
【発明を実施するための形態】
【００１７】
[第１実施形態]
以下、本発明を具現化した第１実施形態について、図面を参照して説明する。
（全体構成）
まず、図１等を参照して本実施形態に係る情報コード読取装置の全体構成について説明する。図１に示すように、本実施形態に係る情報コード読取装置１は、明色部（明色バー（スペース）ともいう）と暗色部（暗色バー）とが所定方向に並ぶコード要素が複数段に配列されてなる多段コードＣ（図４参照）を読み取り得るコードリーダとして構成されるものであり、図示しないケースによって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
【００１８】
この情報コード読取装置１は、主に、照明光源２１、ラインセンサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示器４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース（図示略）内に内装されている。
【００１９】
光学系は、照明光源２１、ラインセンサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、ラインセンサ２３を挟んだ両側に照明光源２１が設けられており、ケースに形成された読取口（図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、このような読取対象物Ｒに多段コードＣが印刷、ダイレクトマーキングなどによって形成されている。なお、以下の説明では、多段コードＣとしてＧＳ１データバー（スタック型）を例示するが、明色バーと暗色バーが所定方向に並んだコード要素が複数段設けられた構成ならばＣＯＤＥ４９等の他のコード種に適用してもよい。
【００２０】
ラインセンサ２３は、読取対象物Ｒや多段コードＣに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を所定の長手方向に１列に配列したセンサが、これに相当する。このラインセンサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光可能に図略のプリント配線板に実装されている。
【００２１】
フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口（図示略）と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光がラインセンサ２３に入射することを抑制している。また、結像レンズ２７は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口（図示略）に入射する反射光Ｌｒを集光し、ラインセンサ２３の受光面２３ａに多段コードＣを構成するコード要素の画像を結像可能に構成されている。
【００２２】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心として構成され、前述した光学系によって撮像された各コード要素の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
【００２３】
光学系のラインセンサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力され、当該メモリ３５の画像データ蓄積領域に蓄積される。同期信号発生回路３８は、ラインセンサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２４】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、ラインセンサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００２５】
制御回路４０は、情報コード読取装置１全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）が接続されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示器４６、通信インタフェース４８等が接続されている。また、通信インタフェース４８には、情報コード読取装置１の上位システムに相当するホストコンピュータＨＳＴなどを接続できるようになっている。
【００２６】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。
【００２７】
（読取処理）
次に、図１の情報コード読取装置で行われる読取処理について説明する。
図２に示す読み取り処理は、例えばユーザによる所定操作（例えば操作スイッチ４２の押圧操作等）や電源投入などをトリガとして実行されるものであり、処理開始に伴い画像変化の監視中か否かの判断を行う（Ｓ１）。本実施形態では、図２の読取処理中、ラインセンサ２３によって継続的に画像が撮像されており、いずれかのコード要素が２回以上解読された場合（後述するＳ１１Ｙｅｓの場合）に、そのコード要素の画像（Ｓ１６で保存される前回保存画像）から変化があるまで、画像変化を監視するようになっている。なお、いずれかのコード要素が解読されるまでは、画像変化の監視処理がなされないためＳ１ではＮｏに進むことになる。
【００２８】
Ｓ１でＮｏに進む場合、受光センサ２３による撮像画像を取り込み（Ｓ５）、多段コードＣを構成するコード要素（図２の代表例ではＧＳ１データバーの１段分のコード要素）の解読を試みる（Ｓ６）。多段コードＣ１を構成するコード要素は、明色バーと暗色バーの配列であり、公知のバーコードと同様の方法で解読できる。そして、Ｓ６で解読が成功（解析成功）した場合には、Ｓ７にてＹｅｓに進み、既に蓄積された段（コード要素）の読取結果と同一であるか否かを判断する（Ｓ１１）。
【００２９】
Ｓ７で解読が成功したと判断された段（コード要素）の解読結果のデータが未だ蓄積されていない場合にはＳ１１にてＮｏに進み、その段（コード要素）の解読データをメモリ３５に蓄積すると共に、監視タイマＡを起動し、当該Ｓ１２の処理からの経過時間の測定を始める。そして、Ｓ１２で蓄積された解読結果のデータと前回の解読結果のデータとを比較し、これら比較結果に含まれるファインダパターンが規定された順番であるか否かを判断する（Ｓ１３）。
【００３０】
ここで、Ｓ１３での判断処理の原理を説明する前に、図４のようなＧＳ１データバー（スタック型）の多段コードＣを例に挙げて説明する。ＧＳ１データバー（スタック型）の多段コードＣは、各段における中央の領域Ｘ１にファインダパターン（特徴パターン）が配されることが規定されており、このファインダパターンの順番が、種類毎（セグメント数で定まるサイズ毎）に図６のような規定内容で予め規定されている。例えば、図４の多段コードは、データ領域Ｘ２、Ｘ３に記録されるセグメントが７つ（１〜３段には左右２つ、４段目は左側の１つ）となっており、セグメントが７つのパターンでは、ファインダパターンが各段毎１つづつ計４つ含まれている。なお、Ｘ４、Ｘ５の領域はガードバーの領域である。
【００３１】
そして、このファインダパターンは、１段目から順にＡ１、Ｃ２、Ｂ１、Ｄ２となるように配される（図５も参照）。従って、直近のＳ１２での蓄積データよりも１つ前の回の蓄積データ（前回のＳ１２での蓄積）が１段目のコード要素のものである場合、ファインダパターンとしてはＡ１が含まれており、その場合、今回（直近）のＳ１２での蓄積データは２段目のコード要素のデータとなるべきなのでファインダパターンとしてＣ２が含まれるべきである。同様に、直近のＳ１２での蓄積データよりも１つ前の回の蓄積データ（前回のＳ１２での蓄積）が２段目のコード要素のものである場合、ファインダパターンとしてはＣ２が含まれており、その場合、今回（直近）のＳ１２での蓄積データは３段目のコード要素のデータとなるべきなのでファインダパターンとしてＢ１が含まれるべきである。このように前回のＳ１２で蓄積された蓄積データからファインダパターンが特定できれば今回のＳ１２で蓄積された蓄積データに含まれるべきファインダパターンが特定できるため、Ｓ１３では、今回のＳ１２で蓄積されたデータがこのように構成順通りのデータであるか（即ち、ファインダパターンが規定された順序となっているか）否かを判断する。
【００３２】
例えば、前回のＳ１２で蓄積されたファインダパターンがＡ１であり今回のＳ１２で蓄積されたファインダパターンがＣ２の場合、前回のＳ１２で蓄積されたファインダパターンがＣ２であり今回のＳ１２で蓄積されたファインダパターンがＢ１の場合、前回のＳ１２で蓄積されたファインダパターンがＢ１であり今回のＳ１２で蓄積されたファインダパターンがＤ２の場合には構成順通りの順序なので、Ｓ１３でＹｅｓに進む。また、Ｓ１１でＮｏと判断された段（コード要素）が図４に示すような一段目のコード要素Ｃ１であり、前回の解読結果が蓄積されていない場合にもＳ１３でＹｅｓに進む。逆に、前回のＳ１２で蓄積されたファインダパターンと今回のＳ１２で蓄積されたファインダパターンが構成順でない場合（例えば、前回のＳ１２で蓄積されたファインダパターンがＡ１であり今回のＳ１２で蓄積されたファインダパターンがＢ２のような場合）、Ｓ１３でＮｏに進み、読み飛ばしが発生したものとしてブザーで所定音を出したり、ＬＥＤ４３を点灯するなどして報知する。これにより、ユーザは、読み飛ばされた段に戻るように操作を行うことができ、読み飛ばされた段を早期に解読しやすくなる。
【００３３】
本実施形態では、制御回路４０が解読手段の一例に相当し、各コード要素がラインセンサ２３にて撮像されたときに、当該ラインセンサ２３で得られた各コード要素の撮像結果に基づいて各コード要素を解読するように機能する。
【００３４】
また、制御回路４０が判断手段の一例に相当し、いずれか一のコード要素（いずれかの段）が撮像されたときの解読手段による当該一のコード要素の解読結果と、一のコード要素の後に撮像された他のコード要素（他の段）の撮像内容とに基づき、一のコード要素の後に続くコード要素の読み飛ばしが発生したか否かを判断するように機能する。具体的には、読取対象となる多段コードＣにおいて、複数段設けられる各コード要素のそれぞれに予め定められた特徴パターン（ファインダパターン）が含まれ、且つ、各段と特徴パターンの構成とが予め対応付けられており、判断手段としての制御回路４０は、一のコード要素を構成する明色部及び暗色部に基づいて当該一のコード要素に含まれる特徴パターン（ファインダパターン）を抽出し、且つ他のコード要素を構成する明色部及び暗色部に基づいて、他のコード要素に含まれる特徴パターン（ファインダパターン）を抽出し、一のコード要素の特徴パターンと他のコード要素の特徴パターンとが規定の組み合わせでない場合に読み飛ばしが発生したと判断するように機能する。
【００３５】
また、制御回路４０とＬＥＤ４３（或いはブザー４４）は、報知手段の一例に相当し、判断手段によって読み飛ばしが発生したと判断された場合に報知を行うように機能する。
【００３６】
次に、Ｓ１１でＹｅｓに進む場合について説明する。
Ｓ５で読み取った段（コード要素）の解読（解析）が成功し（Ｓ７Ｙｅｓ）、その解読が成功した段（コード要素）の解読結果が既にメモリ３５に蓄積されている場合にはＳ１１でＹｅｓに進み、その段（コード要素）が読取済みである旨の通知を行う。なお、図２の例では、制御回路４０の制御により照明光源２１を消灯することで通知する。これにより、ユーザは向けられている段が解読済みであることを把握することができ、向ける位置をずらすように対応することができる。そして、Ｓ１５の後には、直近のＳ５で読み取った段（コード要素）の画像（即ち、Ｓ１１でデータ蓄積済みと判断された画像）を保存し、画像変化の監視を開始する（Ｓ１６）。
【００３７】
Ｓ１６で画像変化の監視が開始されると、Ｓ１７で全段の読み取りが成功したと判断されない限りＳ１に戻ることになり、画像変化の監視中であるため、Ｓ１でＹｅｓに進むことになる。そして、Ｓ１でＹｅｓに進む場合には、Ｓ２の処理時点で受光センサ２３で撮像されている画像を読み込み、前回のＳ１６で保存された画像（即ち、Ｓ１１でデータ蓄積済みと判断された段（コード要素）の画像）から画像内容が変化しているか否かを判断する。画像が変化しているか否かの判断は様々な方法を用いることができ、例えばＳ１６で保存された画像の波形と、図３で保存された画像の波形が略一致していることを条件として変化していないと判断し、略一致状態でない場合に変化していると判断してもよい。或いは、それら波形の変化度合いが一定値未満であること（例えば、Ｓ１６での保存画像とＳ２での取得画像を画素毎に差分をとったときのその差分の総和が所定値未満である場合など）を条件として変化していないと判断し、変化度合いが一定値以上の場合に変化していると判断してもよい。若しくは、Ｓ２での画像の解読結果がＳ１６の保存画像の解読結果と一致していない場合に変化していると判断してもよい。そして、Ｓ２で読み込まれた画像内容がＳ１６で保存された画像から変化していない場合にはＳ３でＮｏに進み、Ｓ３でＮｏに進む場合には再びＳ１でＹｅｓとなってＳ２で画像が読み込まれることになる。このようなループを画像が変化するまで行う。一方、Ｓ２で読み込まれた画像がＳ１６で保存された画像から変化している場合には、Ｓ３でＹｅｓに進み、照明光源２１を点灯する。これにより、ユーザは解読済みの段から移ったことを知ることができる。
【００３８】
本実施形態では、制御回路４０が解読成功判断手段の一例に相当し、ラインセンサ２３によってコード要素が撮像されたときに、その撮像された当該コード要素の解読が既に成功しているか否かを判断するように機能する。
【００３９】
また、制御回路４０が画像変化判断手段の一例に相当し、ラインセンサ２３による撮像画像が、解読成功判断手段によって解読成功済みと判断されたコード要素から変化したか否かを判断するように機能する。
【００４０】
更に、制御回路４０及び照明光源２１は通知手段の一例に相当し、ラインセンサ２３によって撮像されたコード要素が解読成功判断手段によって解読成功済みと判断される間、所定の通知処理（例えば照明光源２１の消灯）を行い、画像変化判断手段によって解読成功済みのコード要素から変化したと判断された場合に、所定の通知処理での通知態様（例えば照明光源２１が消灯した状態）とは異なる他の通知態様（例えば照明光源２１が点灯した状態）で通知を行うように機能する。なお、「所定の通知処理での通知態様」は、照明光源２１の消灯に限られず、例えば、液晶表示器に所定情報（例えば、「解読済み」等のメッセージ等）を表示するような通知態様であってもよく、ブザーやスピーカなどによって所定音を発するような通知態様であってもよい。この場合、「他の通知態様」は、照明光源２１の点灯に限られず、例えば、液晶表示器に所定第２情報（例えば、「未解読」等のメッセージ等）を表示するような通知態様であってもよく、ブザーやスピーカなどによって第２所定音を発するような通知態様であってもよい。
【００４１】
次に、Ｓ７でＮｏに進む場合について説明する。
Ｓ５で読み取った段（コード要素）の解読（解析）が成功しない場合にはＳ７にてＮｏに進み、前回のＳ１２の監視タイマの起動から一定時間経過しているか否かを判断する。一定時間経過していない場合、即ち、前回のＳ１２でのデータ蓄積から一定時間経過していない場合にはＳ８にてＮｏに進み、Ｓ１以降の処理を繰り返す。この場合、Ｓ１にてＮｏに進み、再度Ｓ５にて画像が取得されることになる。つまり、監視タイマの起動から一定時間経過するまでは、Ｓ５での画像の取得及びＳ６での解読が繰り返されることになる。一方、Ｓ７で解読失敗と判断された場合において監視タイマの起動から一定時間経過している場合（即ち、前回のＳ１２でのデータ蓄積から一定時間経過している場合）には、Ｓ８にてＹｅｓに進み、読取対象の多段コード（図２の例ではＧＳ１データバー）と推定される模様が存在するか否かを判定する。この模様判定処理は、例えば図３のような流れで行うことができる。
【００４２】
図３の模様判定処理では、まず１モジュールの値の登録があるか否かを判断する。例えば、いずれかの段（コード要素）についてＳ６で解読が成功し、Ｓ７でＹｅｓ、Ｓ１１でＮｏに進んで当該段（コード要素）のデータが蓄積される場合、このＳ１２の処理では、その解読が成功した段（コード要素）の画像から特定できる１モジュールの値（幅）をメモリ３５に登録するようになっている。従って、Ｓ２１では、このような１モジュールの値（幅）の登録がなされているか否かを判断する。登録されていない場合には、Ｓ２１にてＮｏに進み、当該模様判定処理を終了する。この場合、Ｓ９では、読取対象の多段コード（図２の例ではＧＳ１データバー）と推定される模様が存在しないと判断し、Ｎｏに進むことになる。
【００４３】
Ｓ２１において、１モジュールの値が登録されていると判断される場合、Ｓ２１にてＹｅｓに進み、その１モジュールの値を基準として、直近のＳ５で読み取られた画像において１値（１モジュールの幅値）から８値（１モジュールの幅値の８倍の値）までの模様が存在するか（具体的には例えば５値以上の模様が存在するか）否かを判断する。一般的なバーコードの場合、４値までの幅であり、ＧＳ１データバーは５値以上が存在するため、５値以上の模様が存在する場合にはＧＳ１データバーであると推定することができる。このような場合、Ｓ２２にてＹｅｓに進み、ＧＳ１データバーらしい模様があると判断し（Ｓ２４）、Ｓ９ではＹｅｓに進むことになる。
【００４４】
また、Ｓ２２にて５値以上の模様が存在しないと判断された場合にはＮｏに進み、直近のＳ５で読み取られた画像においてＧＳ１データバーで規定されるいずれかのファインダパターン（特徴パターン：図６参照）が存在するか否かを判断する。ファインダパターンが検出できない場合にはＳ２３にてＮｏに進み、この場合、Ｓ９ではＮｏに進むことになる。一方、図６に示すいずれかのファインダパターンが検出できた場合にはＳ２３にてＹｅｓに進み、ＧＳ１データバーらしい模様があると判断し（Ｓ２４）、Ｓ９ではＹｅｓに進むことになる。
【００４５】
そして、Ｓ９でＹｅｓに進む場合には、読み飛ばしが発生したものとしてブザーで所定音を出したり、ＬＥＤ４３を点灯するなどして報知する（Ｓ１０）。これにより、ユーザは、向けられている段（コード要素）が読取対象ではあるが解読しきれていないこと（即ち、読み飛ばしの発生中であること）を把握することができ、当該位置を確実に読み取るように操作を行いやすくなる。
【００４６】
制御回路４０は、単位モジュール幅検出手段の一例に相当し、一のコード要素（一の段）を構成する明色部及び暗色部に基づいて単位モジュール幅を検出するように機能する。そして、判断手段に相当する制御回路４０は、一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた他のコード要素の撮像画像において、単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断し、所定種類のモジュール画像が存在する場合に読み飛ばしが発生したと判断するように機能する。
【００４７】
また、判断手段に相当する制御回路４０は、一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた他のコード要素の撮像画像において、ファインダパターン（特徴パターン）が存在するか否かを判断し、特徴パターンが存在する場合に読み飛ばしが発生したと判断するように機能する。
【００４８】
（第１実施形態の主な効果）
第１実施形態では、多段コードＣを構成するいずれか一のコード要素が撮像されたときの解読手段による当該一のコード要素の解読結果と、一のコード要素の後に撮像された他のコード要素の撮像内容とに基づき、一のコード要素の後に続くコード要素の読み飛ばしが発生したか否かを判断している。そして、読み飛ばしが発生したと判断された場合に報知を行っている。この構成では、スタック型の多段コードＣにおいて、ある段（一のコード要素）が解読された後、その後に撮像された段（他のコード要素）の撮像内容を解析して読み飛ばしを判断することができ、読み飛ばしの発生時にその旨をユーザに知らしめることができる。従って、ユーザは、読み飛ばしが発生していることを早期に把握することができ、迅速に適切な対応をとることができる。従来のようにユーザが全部の段を読み取ったと感じてから初めて読み飛ばしが発生したことを把握するような方式では、それまでの時間が無駄になってしまい、読み飛ばしを把握した上での対応（例えば再度の読取動作など）をとるまでに大きく時間がかかってしまうが、本発明によれば、読み飛ばしを早期に発見して再読み取り等を迅速に行うことができ、ひいては最終的な読み取り結果をより迅速に出力できるようになる。
【００４９】
また、一のコード要素を構成する明色部及び暗色部に基づいて単位モジュール幅を検出する単位モジュール幅検出手段を備えており、一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた他のコード要素の撮像画像において、単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断し、所定種類のモジュール画像が存在する場合に読み飛ばしが発生したと判断している。
この構成では、一のコード要素の解読結果から単位モジュール幅を検出することができ、所定時間以上読み取りが成功しない場合にはその際の撮像画像（他のコード要素の撮像画像）においてその単位モジュール幅を一単位とする所定種類のモジュール画像が存在するか否かを判断することができる。そして、所定種類のモジュール画像が存在する場合には、想定する種類の画像が得られているにもかかわらず解読できていないといえるため、このような場合に読み飛ばしが発生したと判定することができる。
【００５０】
また、多段コードＣは、複数段設けられる各コード要素Ｃ１〜Ｃ４のそれぞれに予め定められた特徴パターンが含まれたものであり、判断手段は、一のコード要素の読み取りが成功した後、所定時間以上読み取りが成功しない場合に、その読取不成功時又は読取不成功後に得られた他のコード要素の撮像画像において、特徴パターンが存在するか否かを判断し、特徴パターンが存在する場合に読み飛ばしが発生したと判断している。
所定時間以上読み取りが成功しない場合の読取不成功時又は読取不成功後の撮像画像（他のコード要素の撮像画像）において特徴パターンが確認できた場合、想定する種類の画像が得られているにもかかわらず解読できていないといえるため、このような場合に読み飛ばしが発生したと判定することができる。
【００５１】
本実施形態で読取対象となる多段コードＣは、複数段設けられる各コード要素Ｃ１〜Ｃ４のそれぞれに予め定められた特徴パターンが含まれ、且つ、各段と特徴パターンの構成とが予め対応付けられたものとなっている。そして、判断手段は、一のコード要素を構成する明色部及び暗色部に基づいて当該一のコード要素に含まれる特徴パターンを抽出し、且つ他のコード要素を構成する明色部及び暗色部に基づいて、他のコード要素に含まれる特徴パターンを抽出し、一のコード要素の特徴パターンと他のコード要素の特徴パターンとが規定の組み合わせでない場合に読み飛ばしが発生したと判断している。
この構成では、一のコード要素から得られた特徴パターンと次のコード要素（他のコード要素）から得られた特徴パターンが正規の順番になっていない場合に読み飛ばしを正確に検出できる。
【００５２】
更に、本実施形態では、ラインセンサ２３によってコード要素Ｃ１〜Ｃ４のいずれかが撮像されたときに、その撮像された当該コード要素の解読が既に成功しているか否かを判断する解読成功判断手段と、ラインセンサ２３によって撮像された当該コード要素が解読成功判断手段によって解読成功済みと判断される間、所定の通知処理を行う通知手段とを備えている。
この構成によれば、使用者は、現在読み取っている段が解読成功済みか否かを確実に認識できるため、解読済みでないコード要素を読み取る際の操作位置及び操作加減をより正確に把握することができ、その結果、読み飛ばしを生じさせないような位置及び速度で操作しやすくなる。
【００５３】
また、本実施形態では、ラインセンサ２３による撮像画像が、解読成功判断手段によって解読成功済みと判断されたコード要素から変化したか否かを判断する画像変化判断手段を備えており、画像変化判断手段によって解読成功済みのコード要素から変化したと判断された場合に、通知手段は、所定の通知処理での通知態様とは異なる他の通知態様で通知を行っている。
解読済みの段から他の段に移った場合に他の態様（例えば、消灯から点灯）に変えることで、ユーザは操作中に解読済の段に向けられているかそうでないかを把握しながら操作を行うことができ、より正確かつ効率的に読み取り操作を行うことができる。例えば、解読済みの段に向け続けるといった無駄な操作を減らすことができ、読取処理時間の短縮化を図ることができる。
【００５４】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００５５】
上記実施形態では、ラインセンサ２３として受光素子を一列に並べたものを例示したが、受光素子がライン状に配列されていれば１列でなくてもよい。例えば複数列で長手状に構成されていてもよい。
【符号の説明】
【００５６】
１…情報コード読取装置
２１…照明光源（通知手段）
２３…ラインセンサ
４０…制御回路（解読手段、判断手段、報知手段、単位モジュール幅検出手段、解読成功判断手段、通知手段、画像変化判断手段）
４３…ＬＥＤ（報知手段）
Ｃ…多段コード
【図１】
0005786783.tif 000002
【図２】
0005786783.tif 000003
【図３】
0005786783.tif 000004
【図４】
0005786783.tif 000005
【図５】
0005786783.tif 000006
【図６】
0005786783.tif 000007