(57)【要約】【課題】同一の情報コードが連続して読み取られるべき状況においても、従来に比べて、ユーザが情報コードのデコード結果が再出力されるのか否かを容易に把握可能な技術を提供する。【解決手段】情報コード読取装置は、ケースと、撮像部と、制御部と、を備える。制御部は、第１の情報コードに基づいてデコードが実行され、第１のデコード結果が出力された後で、第２の情報コードが撮影される状況において、第２の情報コードが第１の情報コードと一致し、かつ、対象深度が一度も特定深度以上になっていない場合には第２のデコード結果を出力せず、第２の情報コードが第１の情報コードと一致し、かつ、第１のデコード結果が出力された後において対象深度が少なくとも一度特定深度以上になった場合には、第２のデコード結果を出力し、第２の情報コードと第１の情報コードとが一致しない場合には、対象深度に関わらず第２のデコード結果を出力する。【選択図】図６
2019067344.tif 000002
【特許請求の範囲】
【請求項１】
情報コード読取装置であって、
読取口部が開口したケースと、
前記ケース内に設けられ、前記読取口部の外側に存在する情報コードを表わす画像を撮像する撮像部と、
前記撮像部によって撮像された前記画像に基づいて前記情報コードのデコードを実行し、デコード結果を出力する制御部と、を備え、
前記制御部は、
前記撮像部によって撮像された第１の情報コードを表わす第１の画像に基づいてデコードが実行され、第１のデコード結果が出力された後で、前記撮像部によって第２の情報コードを表わす第２の画像が撮影される状況において、
（ａ）前記第２の情報コードが前記第１の情報コードと一致し、かつ、前記第１のデコード結果が出力された後において前記読取口部と前記第２の情報コードとの間の距離を表す対象深度が一度も特定深度以上になっていない第１の場合には、前記第２の情報コードの第２のデコード結果であって、前記第１のデコード結果と同じ情報を含む前記第２のデコード結果を出力せず、
（ｂ）前記第２の情報コードが前記第１の情報コードと一致し、かつ、前記第１のデコード結果が出力された後において前記対象深度が少なくとも一度前記特定深度以上になった第２の場合には、前記第２のデコード結果を出力し、
（ｃ）前記第２の情報コードと前記第１の情報コードとが一致しない第３の場合には、前記第１のデコード結果が出力された後において前記対象深度が前記特定深度以上になったか否かに関わらず、前記第２のデコード結果を出力する、
情報コード読取装置。
【請求項２】
前記特定深度は、前記第１のデコード結果が出力された時点における前記読取口部と前記第１の情報コードとの間の距離を表わす基準深度に特定閾値深度を加えた距離を表わす、
請求項１に記載の情報コード読取装置。
【請求項３】
前記基準深度は、前記読取口部が前記第１の情報コードを有する媒体に接触している状態における前記読取口部と前記第１の情報コードとの間の距離を表わす、
請求項２に記載の情報コード読取装置。
【請求項４】
前記制御部は、さらに、
前記第１のデコード結果が出力された時点における前記第１の画像内における前記第１の情報コードを表わす領域のサイズを示す第１のサイズ情報と、前記第１の画像内に表わされた前記第１の情報コードに記録された情報に関係する特徴を示す第１の特徴情報と、を特定し、
前記第２の画像が撮像される状況において、前記第２の画像内における前記第２の情報コードを表わす領域のサイズを示す第２のサイズ情報と、前記第２の画像内に表わされた前記第２の情報コードに記録された情報に関係する特徴を示す第２の特徴情報と、を特定し、
前記第１の特徴情報と前記第２の特徴情報とを利用して前記第２の情報コードが前記第１の情報コードと一致するか否かを判断するとともに、前記第１のサイズ情報及び前記第２のサイズ情報を利用して前記対象深度を特定する、
請求項１から３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記第１の特徴情報は、前記第１の画像内に表わされた前記第１の情報コードに対してデコードが実行されることに伴って取得される第１の波形を含み、前記第１の波形は、前記第１の情報コードに光を照射して得られる反射光の明度の分布を表わし、
前記第２の特徴情報は、前記第２の画像内に表わされた前記第２の情報コードに対してデコードが実行されることに伴って取得される第２の波形を含み、前記第２の波形は、前記第２の情報コードに光を照射して得られる反射光の明度の分布を表わし、
前記制御部は、前記第１の波形と前記第２の波形とが相似である場合に、前記第２の情報コードが前記第１の情報コードと一致すると判断する、
請求項４に記載の情報コード読取装置。
【請求項６】
前記制御部は、さらに、
前記第１のサイズ情報と前記第２のサイズ情報との比率を算出し、
前記第１のデコード結果が出力された時点における前記撮像部と前記第１の情報コードとの間の距離を表す撮像深度と前記比率とを用いて前記対象深度を特定する、
請求項４又は５に記載の情報コード読取装置。
【請求項７】
前記制御部は、
前記第１の情報コードが第１種のコードである場合には、前記特定深度として第１の特定深度を利用し、
前記第２の情報コードが前記第１種のコードとは異なる種類の第２種のコードである場合には、前記特定深度として前記第１の特定深度とは異なる第２の特定深度を利用する、
請求項１から６のいずれか一項に記載の情報コード読取装置。
【請求項８】
前記制御部は、さらに、
前記デコード結果が出力される場合にユーザが前記読取口部を前記情報コードから離間させる動作を行う際における前記情報コードと前記読取口部との間の離間距離を表わす離間深度を特定し、
前記離間深度を用いて、前記特定深度を特定する、
請求項１から７のいずれか一項に記載の情報コード読取装置。
【請求項９】
報知部をさらに備え、
前記制御部は、さらに、
前記第２の場合及び前記第３の場合に、前記第２のデコード結果を出力可能であることを表わす報知動作を前記報知部に行わせる、
請求項１から８のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する技術は、情報コード読取装置に関する。
【背景技術】
【０００２】
特許文献１には、情報コードを表わす画像を撮像する撮像部と、撮像された画像に基づいて情報コードのデコードを実行し、デコード結果を出力する制御部と、を備える光学的情報読取装置が開示されている。制御部は、特定の情報コードのデコード結果が出力される場合に、その後に、同じ特定の情報コードのデコード結果が得られたとしても、当該デコード結果を出力することを禁止する（いわゆる二度読みを禁止する）。そして、制御部は、撮像部の撮像領域内において、特定の情報コードが撮像領域の外縁に向かう方向に移動した後に、外縁に向かう方向とは異なる方向に移動する場合に、特定の情報コードのデコード結果を出力、即ち再出力する。これにより、同じ特定の情報コードを連続して読み取り可能とすることを図っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１９０１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の光学的情報読取装置では、制御部は、撮像領域内の情報コードの位置を利用して、特定の情報コードのデコード結果の再出力を許可している。しかしながら、光学的情報読取装置のユーザは、特定の情報コードのデコード結果が一度出力された後で、同じ特定の情報コードが撮像部によってどのように撮像されているのかを知ることができない。即ち、ユーザは、特定の情報コードが、撮像領域内のどの位置に撮像されているのかを知ることができない。この場合、特許文献１の光学的情報読取装置のように、撮像部の撮像領域内における特定の情報コードの移動量に基づいて、特定の情報コードのデコード結果の再出力の可否を判断する従来の構成を採用する場合、ユーザは、特定の情報コードのデコード結果が再出力されるのか否かを認識しにくい場合がある。
【０００５】
そこで本明細書は、同一の情報コードが連続して読み取られるべき状況においても、従来に比べて、ユーザが情報コードのデコード結果が再出力されるのか否かを容易に把握することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書が開示する情報コード読取装置は、読取口部が開口したケースと、前記ケース内に設けられ、前記読取口部の外側に存在する情報コードを表わす画像を撮像する撮像部と、前記撮像部によって撮像された前記画像に基づいて前記情報コードのデコードを実行し、デコード結果を出力する制御部と、を備える。前記制御部は、前記撮像部によって撮像された第１の情報コードを表わす第１の画像に基づいてデコードが実行され、第１のデコード結果が出力された後で、前記撮像部によって第２の情報コードを表わす第２の画像が撮影される状況において、（ａ）前記第２の情報コードが前記第１の情報コードと一致し、かつ、前記第１のデコード結果が出力された後において前記読取口部と前記第２の情報コードとの間の距離を表す対象深度が一度も特定深度以上になっていない第１の場合には、前記第２の情報コードの第２のデコード結果であって、前記第１のデコード結果と同じ情報を含む前記第２のデコード結果を出力せず、（ｂ）前記第２の情報コードが前記第１の情報コードと一致し、かつ、前記第１のデコード結果が出力された後において前記対象深度が少なくとも一度前記特定深度以上になった第２の場合には、前記第２のデコード結果を出力し、（ｃ）前記第２の情報コードと前記第１の情報コードとが一致しない第３の場合には、前記第１のデコード結果が出力された後において前記対象深度が前記特定深度以上になったか否かに関わらず、前記第２のデコード結果を出力する。
【０００７】
上記の構成によると、制御部は、第１のデコード結果が出力された後において読取口部と第２の情報コードとの間の距離を表す対象深度が一度も特定深度以上になっていない第１の場合には、第２のデコード結果を出力せず、第２の情報コードが第１の情報コードと一致し、かつ、第１のデコード結果が出力された後において対象深度が少なくとも一度特定深度以上になった第２の場合には、第２のデコード結果を出力する。即ち、制御部は、第２の情報コードと第１の情報コードが一致する場合、第１のデコード結果が出力された後で、対象深度が特定深度以上になった実績がある場合に、第２のデコード結果を出力する。対象深度は、情報コード読取装置のユーザが視覚的に確認できる情報である。このため、ユーザは、対象深度が特定深度以上になった実績があるのか否かを直感的に認識することができる。従って、ユーザは、第１のデコード結果が出力された後で、第１の情報コードと一致する第２の情報コードが連続して撮影されている状況において、第１のデコード結果と同じ情報を含む第２のデコード結果が出力（即ち再出力）されるのか否かを容易に把握することができる。
【０００８】
特定深度は、前記第１のデコード結果が出力された時点における前記読取口部と前記第１の情報コードとの間の距離を表わす基準深度に特定閾値深度を加えた距離を表してもよい。
【０００９】
一般的に、情報コード読取装置が情報コードのデコード結果を出力する時点における読取口部と情報コードとの間の距離は略一定である。このため、制御部は、基準深度を利用することで、特定深度を一定に設定することができる。このため、ユーザは、第１のデコード結果が出力された後で、撮像部によって第２の画像が撮影される状況において、対象深度が特定深度以上になることをより容易に認識することができる。
【００１０】
基準深度は、読取口部が第１の情報コードを有する媒体に接触している状態における読取口部と第１の情報コードとの間の距離を表わしてもよい。
【００１１】
ユーザは、読取口部が第１の情報コードを有する媒体に接触していることを直感的に認識することができる。このため、ユーザは、基準深度を容易に認識することができる。従って、ユーザは、第１のデコード結果が出力された後で、撮像部によって第２の画像が撮影される状況において、対象深度が特定深度以上になることをより容易に認識することができる。
【００１２】
制御部は、さらに、第１のデコード結果が出力された時点における第１の画像内における第１の情報コードを表わす領域のサイズを示す第１のサイズ情報と、第１の画像内に表わされた第１の情報コードに記録された情報に関係する特徴を示す第１の特徴情報と、を特定し、第２の画像が撮像される状況において、第２の画像内における第２の情報コードを表わす領域のサイズを示す第２のサイズ情報と、第２の画像内に表わされた第２の情報コードに記録された情報に関係する特徴を示す第２の特徴情報と、を特定し、第１の特徴情報と第２の特徴情報とを利用して第２の情報コードが第１の情報コードと一致するか否かを判断するとともに、第１のサイズ情報及び第２のサイズ情報を利用して対象深度を特定してもよい。
【００１３】
第１の情報コードと第２の情報コードとが一致する場合、第１の特徴情報と第２の特徴情報は類似の情報であり、第１の情報コードと第２の情報コードが一致していない場合、第１の特徴情報と第２の特徴情報は非類似の情報である。従って、制御部は、第１の特徴情報と第２の特徴情報とを利用することで、第２の情報コードが第１の情報コードと一致するか否かを適切に判断することができる。
【００１４】
また、第１の情報コードと第２の情報コードとが一致する場合、２個の情報コードの実際のサイズ（以下では、「実サイズ」と呼ぶ）は一致する。ただし、撮像部によって撮像される画像内の第１の情報コードの第１のサイズ情報は、対象深度に応じて異なる。例えば、対象深度が大きいほど、第１のサイズ情報は小さくなる。第２の情報コードの第２のサイズ情報についても同様である。従って、情報コード読取装置は、第１のサイズ情報及び第２のサイズ情報を利用することで、対象深度を適切に特定することができる。
【００１５】
第１の特徴情報は、第１の画像内に表わされた第１の情報コードに対してデコードが実行されることに伴って取得される第１の波形を含み、第１の波形は、第１の情報コードに光を照射して得られる反射光の明度の分布を表わし、第２の特徴情報は、第２の画像内に表わされた第２の情報コードに対してデコードが実行されることに伴って取得される第２の波形を含み、第２の波形は、第２の情報コードに光を照射して得られる反射光の明度の分布を表わし、制御部は、第１の波形と第２の波形とが相似である場合に、第２の情報コードが第１の情報コードと一致すると判断してもよい。
【００１６】
第１の情報コードと第２の情報コードとが一致する場合、第１の波形と第２の波形とは相似形となる。一方、第１の情報コードと第２の情報コードとが異なる情報コードである場合、第１の波形と第２の波形とは異なる形状の波形となる。従って、制御部は、第１の波形と第２の波形とを利用することで、第２の情報コードが第１の情報コードと一致するか否かを適切に判断することができる。
【００１７】
制御部は、さらに、第１のサイズ情報と第２のサイズ情報との比率を算出し、第１のデコード結果が出力された時点における撮像部と第１の情報コードとの間の距離を表す撮像深度と比率とを用いて対象深度を特定してもよい。
【００１８】
第１の情報コードと第２の情報コードとが一致する場合において、第２の情報コードのサイズ情報はその時点における対象深度に応じて変化する。従って、情報コード読取装置は、撮像深度と第１のサイズ情報と第２のサイズ情報との比率とを利用することで、対象深度を適切に特定することができる。
【００１９】
制御部は、第１の情報コードが第１種のコードである場合には、特定深度として第１の特定深度を利用し、第１の情報コードが第１種のコードとは異なる種類の第２種のコードである場合には、特定深度として第１の特定深度とは異なる第２の特定深度を利用してもよい。
【００２０】
ＥＡＮ、ＣＯＤＥ１２８等、規格の異なる複数種類の情報コードが存在することが知られている。情報コードが第１種のコードである場合と情報コードが第２種のコードである場合とで、利用されるべき特定深度は異なり得る。上記の構成によると、制御部は、第１の情報コードが第１種のコードである場合には、特定深度として第１の特定深度を利用し、第１の情報コードが第２種のコードである場合には、特定深度として第２の特定深度を利用する。従って、制御部は、情報コードの種類に適した特定深度を利用して、第２のデコード結果の出力を制御することができる。
【００２１】
制御部は、さらに、デコード結果が出力される場合にユーザが読取口部を情報コードから離間させる動作を行う際における情報コードと読取口部との間の離間距離を表わす離間深度を特定し、離間深度を用いて、特定深度を特定してもよい。
【００２２】
第１のデコード結果が出力された後において、ユーザが読取口部を情報コードから離間させる動作を行う際の離間距離は、ユーザによって異なり得る。上記の構成によると、制御部は、離間深度を用いて、特定深度を特定する。これにより、特定深度を、個々のユーザの使用特性に合わせることができる。従って、ユーザの利便性を向上させることができる。
【００２３】
情報コード読取装置は、報知部をさらに備えてもよい。制御部は、さらに、第２の場合及び第３の場合に、第２のデコード結果を出力可能であることを表わす報知動作を報知部に行わせてもよい。
【００２４】
上記の構成によると、制御部は、第２の場合及び第３の場合に、報知動作を報知部に行わせる。従って、ユーザは、第２の情報コードの第２のデコード結果の出力が可能であることを知ることができる。
【図面の簡単な説明】
【００２５】
【図１】第１実施例の情報コード読取装置１０の側面図。
【図２】情報コード読取装置１０の構成を模式的に示す図。
【図３】第１出力処理のフローチャート。
【図４】ユーザによる情報コード読取装置１０の操作手順の一例を示す図。
【図５】図４（ｂ）において取得される波形の一例を示す図。
【図６】第２出力処理のフローチャート。
【図７】ユーザによる情報コード読取装置１０の操作手順の一例を示す図。
【図８】図７（ｂ）、（ｃ）において取得される波形の一例を示す図。
【図９】現在の対象深度の算出方法を示す図。
【図１０】第２変形例において、メモリ３２に記憶される前回コード情報３８の一例を示す図。
【図１１】第３変形例において、バーコードの種類毎の基準深度の一例を示す図。
【図１２】第５変形例において、対象深度毎のマーカの表示形式の一例を示す図。
【発明を実施するための形態】
【００２６】
（第１実施例）
（情報コード読取装置１０の構成）
図１及び図２に示す情報コード読取装置１０は、規格化された複数種類のバーコードを光学的に読取可能な装置である。情報コード読取装置１０は、ケース２０と、読取口部２２と、ケーブル５０と、配線６０と、を備えている。
【００２７】
ケース２０は、硬質の樹脂部材によって構成されている筐体である。ケース２０は、第１ケース体２０ａと第２ケース体２０ｂとを組み合わせて形成されている。第１ケース体２０ａがケース２０の前側部分（図１の左側部分）をなし、第２ケース体２０ｂがケース２０の後側部分（図１の右側部分）をなしている。
【００２８】
読取口部２２は、ケース２０の前方（図１中の左側）端部に設けられている開口部である。後述の発光部２６から照射される光は、読取口部２２を通過して、ケース２０の外部に向けて照射される。ケース２０の外部に存在するバーコードに光が照射されると、バーコードは、パターンに応じて光を部分的に反射する。バーコードからの反射光は、読取口部２２を通過して、後述する受光部２８によって受光される。
【００２９】
ケーブル５０の前端部分は、ケース２０の下端（図１の下側）に接続されている。ケーブル５０には、配線６０が内挿されている。配線６０は、ケーブル５０の後端部分から延伸している。配線６０の延伸部分は、バーコードのデコード結果が出力される管理装置（図示省略）に接続されている。
【００３０】
図２に示すように、ケース２０の内部には、スピーカ２４と、発光部２６と、受光部２８と、制御部３０と、メモリ３２と、が設けられている。
【００３１】
スピーカ２４は、制御部３０からの指令に従って、ブザー音などを出力する。例えば、スピーカ２４は、バーコードのデコード結果が出力された場合にブザー音を出力する。
【００３２】
発光部２６は、読取口部２２を介して、読取対象のバーコードに光を照射する。受光部２８は、読取口部２２を通過するバーコードからの反射光を受光する。
【００３３】
制御部３０は、メモリ３２内のプログラム３４に従って様々な処理（図３、図６参照）を実行する。
【００３４】
メモリ３２には、プログラム３４と、再出力禁止フラグ３６と、が記憶されている。再出力禁止フラグ３６は、バーコードのデコード結果（即ちバーコードに記録されている情報。以下では「コード情報」と呼ぶ場合がある）が出力された後において、前回のデコード結果と同じ情報を含むバーコードが撮像されても、当該バーコードのデコード結果の出力を禁止するためのフラグである。再出力禁止フラグ３６には、前回、デコード結果が出力されたバーコード（以下では、「前回バーコード」と呼ぶ）のデコード結果と同じ情報を含むデコード結果の出力が禁止される「ＯＮ」と、前回バーコードのデコード結果と同じ情報を含むデコード結果の出力が禁止されていない「ＯＦＦ」と、のうちのいずれかの値が設定される。また、メモリ３２には、前回コード情報３８が記憶され得る。前回コード情報３８には、前回バーコードのデコード結果と、前回バーコードのデコード結果が出力された時点における前回バーコードのサイズ情報Ｗｂ（図５（ａ）参照）と、前回バーコードのデコード結果が出力された時点におけるアナログ波形データ（図５（ｂ）、（ｃ）参照）と、が含まれる。なお、図５（ｃ）は、図５（ｂ）のアナログ波形データの一部を拡大した図である。また、メモリ３２は、制御部３０が処理を実行する際に生成される様々な情報を一時的に記憶するための領域（図示省略）も備えている。
【００３５】
（制御部３０が実行する処理；図３〜図８）
続いて、図３〜図８を参照して、制御部３０によって実行される処理について説明する。
【００３６】
（第１出力処理；図３〜図５）
図３〜図５を参照して、情報コード読取装置１０の制御部３０によって実行される第１出力処理について説明する。制御部３０は、情報コード読取装置１０の電源がＯＮされる場合に第１出力処理を実行する。即ち、第１出力処理が開始される時点において、メモリ３２には、前回コード情報３８が記憶されていない。また、再出力禁止フラグ３６は、「ＯＦＦ」に設定されている。
【００３７】
Ｓ１０において、制御部３０は、発光部２６と受光部２８とを利用して、撮像処理を実行する。具体的には、図４（ａ）に示すように、制御部３０は、発光部２６を駆動させ、バーコード４を有する媒体２に向かって光を照射する。媒体２に付されたバーコード４は、そのパターンに応じて、照射された光の一部を反射する。バーコード４からの反射光において、バーコード４の明色部分からの反射光は強く、バーコード４の暗色部分からの反射光は弱い。制御部３０は、バーコード４からの反射光を、受光部２８で受光し、反射光に基づくアナログ波形データを取得する（図５（ｂ）参照）。
【００３８】
Ｓ１２において、制御部３０は、Ｓ１０で取得したアナログ波形データを利用して、デコード処理を実行する。制御部３０は、アナログ波形データをデジタル波形データに変換し、当該デジタル波形データに基づいて、バーコード４に記録されているコード情報を取得する。図４（ａ）に示すように、発光部２６からバーコード４に光が十分に照射され、反射光が十分に受光部２８によって受光されており、かつ、読取口部２２とバーコード４との間の距離が適切である場合には、Ｓ１０で取得されるアナログ波形データは、バーコード４からの反射光を表わす波形を適切に示す。この場合、Ｓ１２では、制御部３０は、デコード処理を実行することにより、バーコード４に記録されているコード情報を取得することができる。一方、アナログ波形データがバーコード４からの反射光を表わす波形を適切に示さない場合（例えば、情報コード読取装置１０とバーコード４との距離が過度に大きい場合、発光部２６からバーコード４に光が照射される際の角度が不適切で、受光部２８が反射光を受光できない場合、バーコード４自身が汚損又は欠損している場合、及び、そもそも発光部２６から照射された光がバーコード４に当たっていない場合（例えば全く異なる方向に向けて光が照射される場合）等）には、Ｓ１２では、制御部３０は、デコード処理を実行しても、バーコード４に記録されているコード情報を取得することはできない。
【００３９】
Ｓ１４において、制御部３０は、バーコード４のデコードが成功したか否かを判断する。制御部３０は、Ｓ１２において、バーコード４に記録されているコード情報を取得できたのか否かを判断する。バーコード４のコード情報が取得できている場合に、制御部３０は、Ｓ１４でＹＥＳと判断し、Ｓ１６に進む。一方、バーコード４のコード情報が取得できていない場合に、制御部３０は、Ｓ１４でＮＯと判断し、Ｓ１０に戻る。制御部３０は、Ｓ１６でＹＥＳと判断されるまでの間、所定周期毎に、Ｓ１０〜Ｓ１６の処理を繰り返し実行する。所定周期は、比較的に短い周期であり、本実施例では１０［ｍｓｅｃ］である。
【００４０】
Ｓ１６において、制御部３０は、情報コード読取装置１０が媒体２に接触しているか否かを判断する。制御部３０は、情報コード読取装置１０を媒体２に接近させる操作がユーザによって実行された後に、ユーザによる情報コード読取装置１０の移動が停止している状態（以下では、「停止状態」と呼ぶ）が所定時間（例えば５００［ｍｓｅｃ］）以上継続する場合に、情報コード読取装置１０が媒体２に接触している（即ち、読取口部２２が媒体２の表面に近づけられ、その後媒体２の表面に突き当てられている）と判断する。ユーザによる情報コード読取装置１０の移動が停止している状態か否かの判断方法について説明する。上述のように、制御部３０は、Ｓ１６でＹＥＳと判断されるまでの間、所定周期毎に、Ｓ１０〜Ｓ１６の処理を実行する。即ち、制御部３０は、情報コード読取装置１０と媒体２の関係が、図４（ａ）から図４（ｂ）になるまでの間、比較的に短い所定周期毎に、Ｓ１０の撮像処理を実行する。このため、制御部３０は、今回の撮像処理（Ｓ１０）で撮像されたバーコード４のサイズ（以下では、「今回サイズ」と呼ぶ）と所定周期前の撮像処理（Ｓ１０）で撮像されたバーコード４のサイズ（以下では、「前回サイズ」と呼ぶ）とを利用することで、情報コード読取装置１０が停止状態か否かを判断することができる。制御部３０は、今回サイズが前回サイズよりも大きい場合に、ユーザによって情報コード読取装置１０をバーコード４に近づける接近操作が実行されていると判断する（図４（ａ））。また、制御部３０は、今回サイズと前回サイズが一致する場合に、情報コード読取装置１０が停止状態であると判断する（図４（ｂ））。停止状態が所定時間以上継続する場合に、制御部３０はＳ１６でＹＥＳと判断し、Ｓ１８に進む。一方、今回サイズと前回サイズが一致しない場合、又は、停止状態が所定時間以上継続していない場合、制御部３０はＳ１６でＮＯと判断し、Ｓ１０に戻る。なお、変形例では、読取口部２２に圧電センサが設けられていてもよい。そして、制御部３０は、圧電センサから入力される信号を利用して、情報コード読取装置１０が媒体２に接触することを監視してもよい。
【００４１】
Ｓ１８において、制御部３０は、Ｓ１２のデコード処理によって特定されたバーコード４のデコード結果（即ちコード情報）を管理装置に出力する。なお、バーコード４のデコード結果が管理装置に出力された時点の読取口部２２とバーコード４（詳細には媒体２）との間の距離（本実施例ではゼロ）を、以下では基準深度Ｐｂと呼ぶ。また、基準深度Ｐｂは、後述する特定深度Ｄｐ（図７参照）を算出するためにも利用される。本実施例では、基準深度Ｐｂ（本実施例ではゼロ）は、情報コード読取装置１０のベンダによって予め設定されている。即ち、本実施例では、情報コード読取装置１０は、読取口部２２とバーコード４との間の距離がゼロになる場合に、バーコード４のデコード結果を出力するように構成されている。また、Ｓ１８では、制御部３０は、バーコード４のデコード結果と、デコード結果が出力された時点のバーコード４のサイズ情報Ｗｂ（図５の（ａ））と、デコード結果が出力された時点のバーコード４のアナログ波形データ（図５（ｂ））と、を、前回コード情報３８としてメモリ３２に記憶させる。また、制御部３０は、Ｓ１８において、さらに、スピーカ２４に報知動作を実行させる。これにより、ユーザは、バーコード４のデコード結果が出力されたことを知ることができる。
【００４２】
Ｓ２０において、制御部３０は、再出力禁止フラグ３６を、「ＯＦＦ」から「ＯＮ」に変更する。これにより、Ｓ１８で出力されたデコード結果と同じデコード結果が連続的に出力されることが禁止される。
【００４３】
（第２出力処理；図６〜図９）
続いて、図６〜図９を参照して、情報コード読取装置１０のユーザによって実行される第２出力処理（図６）について説明する。制御部３０は、図３の第１出力処理が終了する場合、即ち、バーコード４のデコード結果が初めて管理装置に出力された後で、第２の出力処理を開始する。このため、第２出力処理が開始する時点において、メモリ３２には、前回コード情報３８が記憶されている。また、再出力禁止フラグ３６は、「ＯＮ」に設定されている。なお、図７（ａ）は、図４（ｂ）と同じ状況を示している。
【００４４】
図６のＳ３０において、制御部３０は、発光部２６と受光部２８とを利用して、撮像処理を実行する。撮像処理の内容は、図３のＳ１０と同様である。
【００４５】
Ｓ３２において、制御部３０は、Ｓ３０で取得したアナログ波形データを利用して、デコード処理を実行する。デコード処理の内容は、図３のＳ１２と同様である。Ｓ３２において、制御部３０は、デコードに成功した場合、現在撮像されているバーコード４（以下では、「今回バーコード」と呼ぶ）のデコード結果であるコード情報と、今回バーコードのサイズ情報Ｗｃ（図８（ａ）参照）と、今回バーコードのアナログ波形データ（図８（ｂ）、（ｃ）参照）と、をメモリ３２に一時的に記憶させる。なお、今回バーコードのデコードに失敗した場合、今回バーコードのデコード結果は、メモリ３２に記憶されない。なお、図８（ｃ）は、図８（ｂ）のアナログ波形データの一部を拡大した図である。
【００４６】
Ｓ３４において、制御部３０は、メモリ３２を参照し、今回バーコードのデコードが成功したか否かを判断する。具体的には、制御部３０は、今回バーコードのコード情報がメモリ３２の一時記憶領域に記憶されているか否かを判断する。メモリ３２の一時記憶領域に今回バーコードのコード情報が記憶されている場合に、制御部３０はＳ３４でＹＥＳと判断し、Ｓ３６に進む。一方、メモリ３２の一時記憶領域に今回バーコードのコード情報が記憶されていない場合に、制御部３０はＳ３４でＮＯと判断し、Ｓ７０に進む。
【００４７】
Ｓ３６において、制御部３０は、メモリ３２に記憶されている前回コード情報３８のデコード結果（以下では、「前回デコード結果」と呼ぶ）とＳ３２のデコード結果（以下では、「今回デコード結果」と呼ぶ）が一致するか否かを判断する。即ち、前回のコード情報と今回のコード情報が一致するか否かを判断する。前回デコード結果と今回デコード結果とが一致する場合に、制御部３０はＳ３６でＹＥＳと判断し、Ｓ３８に進む。一方、前回デコード結果と今回デコード結果とが異なる場合に、制御部３０はＳ３６でＮＯと判断し、Ｓ５０に進む。
【００４８】
Ｓ３８において、制御部３０は、メモリ３２に記憶されている再出力禁止フラグ３６が「ＯＮ」に設定されているか否かを判断する。再出力禁止フラグ３６が「ＯＮ」に設定されている場合、制御部３０はＳ３８でＹＥＳと判断し、Ｓ４０に進む。一方、再出力禁止フラグ３６が「ＯＦＦ」に設定されている場合、制御部３０はＳ３８でＮＯと判断し、Ｓ５０に進む。
【００４９】
Ｓ４０において、制御部３０は、対象深度Ｄｃ（図７参照）が特定深度Ｄｐ（図７参照）以上であるか否かを判断する。図７（ｂ）に示すように、対象深度Ｄｃは、バーコード４（詳細には媒体２）と読取口部２２との間の現在の距離を表わす。特定深度Ｄｐは、バーコード４のデコード結果が出力された後に、媒体２の表面から読取口部２２が当該特定深度Ｄｐ以上離間したか否かに応じて、次のバーコード４のデコード結果の出力可否を切り替えるための基準として用いられる深度である。本実施例の特定深度Ｄｐは、基準深度Ｐｂに特定閾値深度（例えば、５０ｍｍ）を加算した距離である。本実施例では、基準深度Ｐｂがゼロのため、特定閾値深度と特定深度Ｄｐは同じである。ここで、対象深度Ｄｃの算出方法について説明する。上述のように、Ｓ３６でＹＥＳと判断されているため、前回バーコードと今回バーコードとは同じバーコード４である。この場合、対象深度Ｄｃが大きくなると、今回バーコードのサイズ情報Ｗｃ（図８（ａ））は小さくなる。また、図９に示すように、メモリ３２には、受光部２８から読取口部２２の開口部（図９中下端）までの距離（即ちケース２０内における距離）を表わす撮像深度Ｄｂ（図９参照）が記憶されている。読取口部２２の開口部は、バーコード４を有する媒体２と接触する部分である。即ち、撮像深度Ｄｂは、デコード結果の出力時点におけるバーコード４と受光部２８との間の距離と等しい。従って、制御部３０は、撮像深度Ｄｂと、メモリ３２に記憶されている前回コード情報３８の前回バーコードのサイズ情報Ｗｂ（図５（ａ））と、今回バーコードのサイズ情報Ｗｃと、を利用して、対象深度Ｄｃを算出することができる。具体的に言うと、制御部３０は、撮像深度Ｄｂを（Ｗｃ／Ｗｂ）で除算することで、受光部２８と今回バーコードまでの距離を表す深度Ｄｓを算出することができる。そして、制御部３０は、深度Ｄｓから撮像深度Ｄｂを減算することで、対象深度Ｄｃを算出することができる。対象深度Ｄｃが特定深度Ｄｐ以上である場合（図７（ｃ）参照）、制御部３０はＳ４０でＹＥＳと判断し、Ｓ４２に進む。一方、対象深度Ｄｃが特定深度Ｄｐ未満である場合（図７（ｂ）参照）、制御部３０はＳ４０でＮＯと判断し、Ｓ３０に戻る。これにより、制御部３０は、前回バーコードのデコード結果が出力された後に、前回バーコードと同じバーコード４である今回バーコードが撮像されている状況において、次のバーコード４のデコード結果を情報コード読取装置１０に出力させるための離間操作がユーザによって実行されたのか否かを判断することができる。
【００５０】
Ｓ４２において、制御部３０は、再出力禁止フラグ３６を「ＯＮ」から「ＯＦＦ」に変更する。また、制御部３０は、Ｓ４２において、さらに、スピーカ２４に報知動作を実行させる。これにより、ユーザは、前回バーコードと同じバーコード４のデコード結果を情報コード読取装置１０に出力させることが可能になったことを知ることができる。Ｓ４２が終了すると、Ｓ３０に戻る。
【００５１】
Ｓ５０において、制御部３０は、情報コード読取装置１０が媒体２に接触しているか否かを判断する。情報コード読取装置１０が媒体２に接触しているか否かの判断方法は、図３のＳ１６と同様である。情報コード読取装置１０が媒体２に接触している場合、制御部３０はＳ５０でＹＥＳと判断し、Ｓ５２に進む。一方、この時点で情報コード読取装置１０が媒体２に接触していない場合、制御部３０はＳ５０でＮＯと判断し、Ｓ３０に戻る。
【００５２】
Ｓ５２において、制御部３０は、Ｓ３２のデコード処理によって特定されたバーコード４のコード情報を管理装置に出力する。また、制御部３０は、Ｓ５２において、メモリ３２に記憶されている前回コード情報３８を消去する。そして、制御部３０は、今回バーコードのデコード結果と、デコード結果の出力時点における今回バーコードのアナログ波形データと、デコード結果の出力時点における今回バーコードのサイズ情報と、を前回コード情報３８としてメモリ３２に新たに記憶させる（即ち前回コード情報３８を更新する）。また、制御部３０は、Ｓ５２において、さらに、スピーカ２４に報知動作を実行させる。これにより、ユーザは、今回バーコードのデコード結果が出力されたことを知ることができる。
【００５３】
Ｓ５４において、制御部３０は、再出力禁止フラグ３６を、「ＯＦＦ」から「ＯＮ」に変更する。これにより、Ｓ５２で出力されたデコード結果と同じデコード結果が連続的に出力されることが禁止される。Ｓ５４が終了すると、Ｓ３０に戻る。
【００５４】
Ｓ７０において、制御部３０は、メモリ３２に記憶されている再出力禁止フラグ３６が「ＯＮ」に設定されているか否かを判断する。再出力禁止フラグ３６が「ＯＮ」に設定されている場合、制御部３０はＳ７０でＹＥＳと判断し、Ｓ７２に進む。一方、再出力禁止フラグ３６が「ＯＦＦ」に設定されている場合、制御部３０はＳ７０でＮＯと判断し、Ｓ３０に戻る。
【００５５】
Ｓ７２において、制御部３０は、メモリ３２に記憶されている前回コード情報３８のアナログ波形データとＳ３０で取得された今回バーコードのアナログ波形データとを利用して、前回バーコードの形状と今回バーコードの形状とが一致するのか否かを判断する。具体的には、制御部３０は、前回バーコードのアナログ波形データと今回バーコードのアナログ波形データとが相似形であるのか否かを判断する。前回バーコードと今回バーコードとが同じバーコード４である場合、２個のアナログ波形データは相似形となる。具体的には、２個のアナログ波形データの山と谷の間隔、振幅の大きさは異なるが、２個のアナログ波形データの山と谷の間隔の大きさの比率が一致する。例えば、前回バーコードと今回バーコードとが同じバーコード４である場合、Ａ：Ｂ：Ｃ：Ｄ（図５（ｃ））＝ａ：ｂ：ｃ：ｄ（図８（ｃ））の関係となる。制御部３０は、前回バーコードのアナログ波形データの山と谷の間隔の大きさの比率と今回バーコードの山と谷の間隔の大きさの比率とが一致する場合に、前回バーコードの形状と今回バーコードの形状とが一致すると判断する。前回バーコードの形状と今回バーコードの形状とが一致する場合に、制御部３０はＳ７２でＹＥＳと判断し、Ｓ７４に進む。Ｓ７２でＹＥＳと判断される場合は、具体的には、前回バーコードと今回バーコードが同じバーコードである場合である。一方、前回バーコードの形状と今回バーコードの形状とが一致しない場合に、制御部３０はＳ７２でＮＯと判断し、Ｓ７４を省略して、Ｓ７６に進む。Ｓ７２でＮＯと判断される場合は、具体的には、前回バーコードと今回バーコードが異なるバーコードである場合である。
【００５６】
Ｓ７４において、制御部３０は、対象深度Ｄｃが特定深度Ｄｐ以上であるか否かを判断する。対象深度Ｄｃが特定深度Ｄｐ以上であるか否かを判断する方法は、Ｓ４０と同様である。対象深度Ｄｃが特定深度Ｄｐ以上である場合（図７（ｃ））、制御部３０はＳ７４でＹＥＳと判断し、Ｓ７６に進む。一方、対象深度Ｄｃが特定深度Ｄｐ未満である場合（図７（ｂ））、制御部３０はＳ７４でＮＯと判断し、Ｓ３０に戻る。
【００５７】
Ｓ７６において、制御部３０は、メモリ３２内の再出力禁止フラグ３６を「ＯＮ」から「ＯＦＦ」に変更する。また、制御部３０は、Ｓ７６において、さらに、スピーカ２４に報知動作を実行させる。これにより、ユーザは、前回バーコードと同じバーコード４のデコード結果を情報コード読取装置１０に出力させることが可能になったことを知ることができる。Ｓ７６が終了すると、Ｓ３０に戻る。
【００５８】
例えば検品業務を実行する場合のように、同一のバーコードを連続して読み取ることをユーザが所望する場合がある。そのような場合、ユーザは、同一のバーコードを連続して読み取って、同一のバーコードのデコード結果を連続して出力することを所望する。一方で、小売店のレジ業務等において、特定のバーコードが読み取られた後で、偶発的な要因によって情報コード読取装置１０の位置が変更されなかった場合のように、同一のバーコードのデコード結果が連続して出力されるべきではない状況（いわゆる二度読みが実行されるべきでない状況）もある。このような場合、ユーザが、同一のバーコードのデコード結果の出力（即ち再出力）が可能となったことを容易に認識できることが望ましい。そこで、本実施例では、情報コード読取装置１０の制御部３０は、前回バーコードと今回バーコードが一致し（図６のＳ３６でＹＥＳ）、かつ、前回バーコードのデコード結果が出力された後において対象深度Ｄｃが一度も特定深度Ｄｐ以上になっていない場合（即ち再出力禁止フラグ３６が「ＯＮ」である場合）（図６のＳ３８でＹＥＳ）に、今回バーコードのデコード結果を出力しない。また、制御部３０は、前回バーコードと今回バーコードが一致し（図６のＳ３６でＹＥＳ）、かつ、前回バーコードのデコード結果が出力された後において対象深度Ｄｃが少なくとも一度特定深度Ｄｐ以上になった場合（即ち再出力禁止フラグ３６が「ＯＦＦ」である場合）（図６のＳ３８でＮＯ）に、今回バーコードのデコード結果を出力する（図６のＳ５２）。即ち、制御部３０は、前回バーコードと今回バーコードが一致する場合（図６のＳ３６でＹＥＳ）、前回バーコードのデコード結果が出力された後で、対象深度Ｄｃが特定深度Ｄｐ以上になった実績がある場合（即ち、今回バーコードと読取口部２２とが特定深度Ｄｐ以上になるまで情報コード読取装置１０が離間された実績がある場合）に、今回バーコードのデコード結果を出力する。対象深度Ｄｃは、情報コード読取装置１０のユーザが視覚的に確認できる情報である。このため、ユーザは、対象深度Ｄｃが特定深度Ｄｐ以上になった実績があるのか否かを直感的に認識することができる。従って、ユーザは、前回デコード結果が出力された後で、前回バーコードと一致する今回バーコードが撮像されている状況において、今回デコード結果が出力（即ち再出力）されるのか否かを容易に把握することができる。そのため、ユーザは、情報コード読取装置１０とバーコードとを近接させる操作と、対象深度が特定深度以上になるまで離間させる操作と、を繰り返し行うことで、同一のバーコードのデコード結果を意図的に連続出力させることができる。
【００５９】
また、制御部３０は、情報コード読取装置１０がバーコード４（詳細には媒体２）に接触している時点、即ちバーコード４のデコード結果が出力される時点における基準深度Ｐｂに特定閾値深度を加えた距離を特定深度Ｄｐとして算出する。ユーザは、読取口部２２が媒体２に接触していることを直感的に認識することができる。このため、ユーザは、基準深度Ｐｂをより容易に認識することができる。従って、ユーザは、前回バーコードのデコード結果が出力された後で、今回バーコードが撮像される状況において、対象深度Ｄｃが特定深度Ｄｐ以上になることをより容易に認識することができる。
【００６０】
また、前回バーコードと今回バーコードが同一のバーコード４である場合、２個のアナログ波形データは相似形となる。一方、前回バーコードと今回バーコードが異なるバーコード４である場合、２個のアナログ波形データは異なる形状の波形となる。従って、制御部３０は、メモリ３２に記憶されている前回コード情報３８のアナログ波形データと今回バーコードのアナログ波形データとを利用することで、今回バーコードと前回バーコードとが同一のバーコードであるか否かを適切に判断することができる（図６のＳ７２）。
【００６１】
前回バーコードと今回バーコードとが同一のバーコード４である場合、各バーコードの出力時点におけるサイズ情報は一致する。そして、各バーコードのサイズ情報は、対象深度Ｄｃに応じて、変化する。従って、情報コード読取装置１０は、デコード結果が出力された時点における受光部２８とバーコード４との間の距離を表す撮像深度Ｄｂと、前回バーコードのデコード結果の出力時点におけるサイズ情報Ｗｂと対象深度Ｄｃにおけるサイズ情報Ｗｃの比率と、を利用することで、対象深度Ｄｃを正確に特定することができる。
【００６２】
また、制御部３０は、再出力禁止フラグ３６が、「ＯＮ」から「ＯＦＦ」に変更される場合に、スピーカ２４に報知動作を実行させる。これにより、ユーザは、前回バーコードと同一のバーコード４のデコード結果の出力が可能であることを知ることができる。
【００６３】
（対応関係）
発光部２６及び受光部２８、スピーカ２４が、それぞれ、「撮像部」、「報知部」の一例である。前回バーコード、今回バーコードが、それぞれ、「第１の情報コード」、「第２の情報コード」の一例である。再出力禁止フラグ３６＝ＯＮ、再出力禁止フラグ３６＝ＯＦＦが、それぞれ、「前記第１のデコード結果が出力された後において前記読取口部と前記第２の情報コードとの間の距離を表す対象深度が一度も特定深度以上になっていない」、「前記第１のデコード結果が出力された後において前記対象深度が少なくとも一度前記特定深度以上になった」の一例である。前回バーコードのアナログ波形データ、前回バーコードのサイズ情報Ｗｂ、今回バーコードのアナログ波形データが、今回バーコードのサイズ情報Ｗｃが、それぞれ、「第１の特徴情報」、「第１のサイズ情報」、「第２の特徴情報」、「第２のサイズ情報」の一例である。前回バーコードのアナログ波形データ、今回バーコードのアナログ波形データが、「第１の波形」、「第２の波形」の一例である。
【００６４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６５】
（第１変形例）情報コード読取装置１０は、発光部２６、受光部２８に代えて、ＣＣＤカメラを備えてもよい。この場合、制御部３０は、ＣＣＤカメラによって撮像される画像データを解析することで、バーコード４のコード情報を取得することができる。また、制御部３０は、画像データを利用して、バーコード４のサイズ情報と、バーコード４の波形データを取得することができる。本変形例では、ＣＣＤカメラが「撮像部」一例である。
【００６６】
（第２変形例）情報コード読取装置１０が、２次元コードを読取可能であってもよい。この場合、情報コード読取装置１０は、発光部２６、受光部２８に代えて、ＣＣＤカメラを備える。図３、図６を参照して、本変形例において、制御部３０によって実行される処理について説明する。制御部３０は、ＣＣＤカメラを利用して、２次元コードの画像データ（以下では、単に「画像データ」と呼ぶ）を撮像し（図３のＳ１０）、当該画像データに対して、デコード処理を実行する（Ｓ１２）。制御部３０は、画像データに対するデコードが成功する場合（Ｓ１４でＹＥＳ）に、デコード結果を管理装置に送信する（Ｓ１８）。そして、図１０に示すように、制御部３０は、２次元コードのデコード結果と複数の画像データ（デコード結果を出力した時点における画像データ、２次元コードがぼやけた場合の画像データ、２次元コード画像が小さくなった場合の画像データ等）とを前回コード情報３８としてメモリ３２に記憶させる。そして、制御部３０は、前回コード情報３８内の複数の画像データと、次回以降に撮像される画像データとを利用して、第２出力処理（図６）を実行する。例えば、制御部３０は、図６のＳ３０で撮像される画像データ（以下では、「現在画像データ」と呼ぶ）と一致する画像データが前回コード情報３８内の複数の画像データの中に存在するか否かを判断することで、前回の２次元コードと今回の２次元コードとが一致するか否かを判断する（Ｓ７２）。また、制御部３０は、現在画像データと一致する画像データが前回コード情報３８内の複数の画像データの中に存在する場合に、現在画像データと一致する画像のサイズに基づいて、対象深度Ｄｃを特定する（Ｓ４０、Ｓ７４）。
【００６７】
（第３変形例）特定深度Ｄｐは、バーコード４の種類毎に設定されていてもよい。図１１に示すように、制御部３０は、バーコード４がＥＡＮであると特定される場合（例えば図１１（ａ））、特定深度Ｄｐとして第１の特定深度Ｄｐ１を利用し、バーコード４がＣＯＤＥ１２８であると特定される場合（例えば図１１（ｂ））、特定深度Ｄｐとして第２の特定深度Ｄｐ２を利用する。この場合、制御部３０は、デコード結果を出力する際（図３のＳ１８、図６のＳ５２）に、デコード処理によって特定されたバーコード４の種類に応じて、特定深度Ｄｐを決定すればよい。本変形例では、ＥＡＮ、ＣＯＤＥ１２８が、それぞれ、「第１種のコード」、「第２種のコード」に対応する。
【００６８】
（第４変形例）特定深度Ｄｐは、情報コード読取装置１０のユーザの使用特性に合わせて決定されてもよい。バーコード４のデコード結果が出力されると、ユーザによって読取口部２２を媒体２から離間させる離間操作が行われる（図７（ｂ）、（ｃ））。この動作が実行される毎に、制御部３０は、離間操作が停止される時点の読取口部２２と媒体２との間の距離を表す離間深度（即ち対象深度）を特定する。制御部３０は、デコード結果が出力される毎に、各回の離間深度をメモリ３２に記憶させる。メモリ３２には、各回の離間深度が蓄積されて記憶される。そして、制御部３０は、メモリ３２に蓄積されている離間深度を利用して、特定深度Ｄｐを特定する。特定深度Ｄｐの特定方法としては、メモリ３２に蓄積されている離間深度（例えば離間深度の平均値）を特定深度Ｄｐと特定してもよいし、特定深度Ｄｐと離間深度の差分に係数（１未満）を乗算した結果を特定深度Ｄｐに加算してもよい。この変形例によると、情報コード読取装置１０は、ユーザの離間操作時の離間深度（即ち、ユーザの離間操作時の離間深度の学習結果）に基づいて、特定深度Ｄｐを適切に特定し得る。
【００６９】
（第５変形例）情報コード読取装置１０は、読取口部２２とバーコード４との間の距離がゼロよりも大きい第１の特定距離になる場合に、バーコード４のデコード結果を出力してもよい。この場合の基準深度Ｐｂは、第１の特定距離である。また、基準深度Ｐｂは、バーコード４のデコード結果が出力される時点における読取口部２２とバーコード４との間の距離でなくてもよい。例えば、基準深度Ｐｂが読取口部２２とバーコード４との間の距離が第２の特定距離（例えば３０［ｍｍ］）である場合の深度であってもよい。この場合、制御部３０は、読取口部２２とバーコード４との間の距離が第２の特定距離になった時点におけるバーコード４のサイズ情報Ｗ、バーコード４のアナログ波形データを、前回コード情報３８としてメモリ３２に記憶すればよい。図１２を参照して、基準深度が第２の特定距離（例えば３０ｍｍ）である場合の基準深度Ｐｂの特定方法の一例を説明する。情報コード読取装置１０は、２個のレーザ光照射部を備え、読取口部２２とバーコード４との間の距離が第２の特定距離（例えば３０［ｍｍ］）である場合に、２個のレーザ光照射部から照射されるレーザ光によって表される２個のマーカ１００ａ、１００ｂが重なるように構成されている。この場合、図１２（ａ）に示すように制御部３０は、１個のマーカ１００しか撮像されない場合（即ち２個のマーカ１００ａ、１００ｂが重なる場合）に、読取口部２２とバーコード４との間の距離が第２の特定距離であり、２個のマーカ１００ａ、１００ｂが撮像される場合に、読取口部２２とバーコード４との間の距離が第２の特定距離ではないと判断することができる。
【００７０】
（第６変形例）情報コード読取装置１０は、読取口部２２とバーコード４との間の距離を測定可能な距離センサを有してもよい。この場合、制御部３０は、距離センサから入力される信号を利用して対象深度を特定すればよい。
【００７１】
（第７変形例）「所定の報知動作」は、表示部による報知動作（即ちメッセージの表示）、振動モータによる報知動作（即ち振動）でもよい。
【００７２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７３】
２      ：媒体
４      ：バーコード
１０    ：情報コード読取装置
２０    ：ケース
２０ａ  ：第１ケース体
２０ｂ  ：第２ケース体
２２    ：読取口部
２４    ：スピーカ
２６    ：発光部
２８    ：受光部
３０    ：制御部
３２    ：メモリ
３４    ：プログラム
３６    ：再出力禁止フラグ
３８    ：前回コード情報
５０    ：ケーブル
６０    ：配線
【図１】
2019067344.tif 000003
【図２】
2019067344.tif 000004
【図３】
2019067344.tif 000005
【図４】
2019067344.tif 000006
【図５】
2019067344.tif 000007
【図６】
2019067344.tif 000008
【図７】
2019067344.tif 000009
【図８】
2019067344.tif 000010
【図９】
2019067344.tif 000011
【図１０】
2019067344.tif 000012
【図１１】
2019067344.tif 000013
【図１２】
2019067344.tif 000014