(57)【特許請求の範囲】
【請求項１】
読取口が形成されたケースと、
前記読取口を閉塞する光透過性のプレートと、
前記ケース内に設けられ、前記プレートによって閉塞された前記読取口から前記ケースの外側の特定範囲を撮像可能な撮像部と、
前記特定範囲に情報コードが配置される場合に前記撮像部によって撮像される前記情報コードの画像に基づいて、前記情報コードに記録されたデータを読み取る読取処理を実行する制御部と、
メモリと、
報知動作を実行可能な報知部と、
を備えており、
前記制御部は、
特定の期間ごとに、前記撮像部によって撮像される前記特定範囲の画像を前記メモリに記憶させ、
前記読取処理が実行された場合において、さらに、
（ａ）読み取りの際の前記情報コードの誤り訂正率が第１の閾値を越えること、
（ｂ）読み取りの開始から終了までの時間が第２の閾値を越えること、
のうちの少なくとも一方が成立する場合に、
前記メモリに記憶されている前記特定範囲の画像と、前記読取処理の実行後の時点の前記特定範囲の画像とを比較し、両者の差異が第３の閾値を越えるか否かを判断する判断処理を実行し、
前記判断処理において肯定的に判断される場合に、前記報知部に前記報知動作を実行させる、
情報コード読取装置。
【請求項２】
前記第１の閾値は、前記情報コードに予め記録されている最大許容誤り訂正率のうちの特定割合を示す値である、
請求項１に記載の情報コード読取装置。
【請求項３】
前記読み取りの開始から終了までの時間は、前記情報コードに含まれる特徴パターンの認識から前記情報コードに記録されたデータのデコードの完了までの時間を含む、
請求項１又は２に記載の情報コード読取装置。
【請求項４】
前記特定範囲の画像は、第１領域と、前記第１領域とは異なる第２領域とを有しており、
前記制御部は、前記判断処理において、
（Ａ）前記メモリに記憶されている前記特定範囲の画像のうちの前記第１領域と、前記読取処理の実行後の時点の前記特定範囲の画像のうちの前記第１領域とを比較し、両者の差異が前記第３の閾値を越えるか否かを判断するとともに、
（Ｂ）前記メモリに記憶されている前記特定範囲の画像のうちの前記第２領域と、前記読取処理の実行後の時点の前記特定範囲の画像のうちの前記第２領域とを比較し、両者の差異が前記第３の閾値とは異なる第４の閾値を越えるか否かを判断し、
前記（Ａ）（Ｂ）のうちの少なくとも一方で肯定的に判断される場合に、前記報知部に前記報知動作を実行させる、
請求項１から３のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する技術は、情報コード読取装置に関する。
【背景技術】
【０００２】
特許文献１には、バーコードや二次元コード等の情報コードを読み取るための据置型の情報コード読取装置が開示されている。この情報コード読取装置は、読取口が形成されたケースと、読取口を閉塞する光透過性のプレートと、ケース内に設けられ、プレートで閉塞された読取口を介してケース外の情報コードを撮像する撮像部と、撮像部が撮像した撮像画像に基づいて情報コードを解読する解読部とを備える。この情報コード読取装置では、プレートは、ケース内の撮像部を塵芥等から保護する保護プレートとして機能する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６７１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の情報コード読取装置の使用中に、読取口を閉塞するプレートに汚れや異物が付着する場合がある。そのような場合、情報コードの読み取りに失敗したり、撮像された汚れ等を暗色系領域と誤判断することによって情報コードが誤読されたりする事態が発生する可能性もある。
【０００５】
本明細書では、プレートに汚れ等が付着していることを適切に判定するとともにその旨を適切に報知することにより、情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態の発生を抑制し得る技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書は、以下の情報コード読取装置を開示する。情報コード読取装置は、読取口が形成されたケースと、読取口を閉塞する光透過性のプレートと、ケース内に設けられ、プレートによって閉塞された読取口からケースの外側の特定範囲を撮像可能な撮像部と、特定範囲に情報コードが配置される場合に撮像部によって撮像される情報コードの画像に基づいて、情報コードに記録されたデータを読み取る読取処理を実行する制御部と、メモリと、報知動作を実行可能な報知部と、を備えている。制御部は、特定の期間ごとに、撮像部によって撮像される特定範囲の画像をメモリに記憶させ、読取処理が実行された場合において、さらに、（ａ）読み取りの際の情報コードの誤り訂正率が第１の閾値を越えること、（ｂ）読み取りの開始から終了までの時間が第２の閾値を越えること、のうちの少なくとも一方が成立する場合に、メモリに記憶されている特定範囲の画像と、読取処理の実行後の時点の特定範囲の画像とを比較し、両者の差異が第３の閾値を越えるか否かを判断する判断処理を実行し、判断処理において肯定的に判断される場合に、報知部に報知動作を実行させる。
【０００７】
上記の構成によると、制御部は、上記の（ａ）（ｂ）のうちの少なくとも一方が成立する場合に、上記の判断処理を実行する。上記の（ａ）（ｂ）のうちの少なくとも一方が成立する場合は、情報コードの読取処理の際に何らかの問題が発生していた可能性がある。そして、それがプレートに汚れ等が付着したことに起因するものである可能性もある。即ち、制御部は、プレートに汚れ等が付着している可能性がある場合に、判断処理を実行する。そして、上記の構成によると、制御部は、判断処理において、メモリに記憶されている特定範囲の画像と、読取処理の実行後の時点の特定範囲の画像とを比較し、両者の差異が第３の閾値を越えるか否かを判断する。判断処理において肯定的に判断される場合には、プレートに汚れ等が付着している可能性が高いと言える。上記の構成によると、制御部は、その場合に報知動作を実行させることができる。情報コード読取装置の管理者等は、情報コード読取装置が実行する報知動作によって、プレートに汚れ等が付着している可能性が高いことを把握することができる。そして、情報コード読取装置の管理者等は、次回以降の読取処理時に、プレートの汚れ等が原因で情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態が発生する前に、プレートを清掃したり修理したりすることができる。そのため、上記の情報コード読取装置によると、プレートに汚れ等が付着していることを適切に判定するとともにその旨を適切に報知することによって、情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態の発生を抑制し得る。
【図面の簡単な説明】
【０００８】
【図１】情報コード読取装置の外観を概略的に示す斜視図。
【図２】情報コード読取装置の内部構成を模式的に示すブロック図。
【図３】情報コード読取装置の制御部が実行するメイン処理を示すフローチャート。
【図４】読取対象の情報コードの一例を示す説明図。
【図５】特定範囲の画像の一例を示す説明図。
【発明を実施するための形態】
【０００９】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に示す技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。
【００１０】
（特徴１）第１の閾値は、情報コードに予め記録されている最大許容誤り訂正率のうちの特定割合を示す値であってもよい。
【００１１】
この構成によると、第１の閾値は、読取対象の情報コードの最大許容誤り訂正率に応じて相対的に定められる。そのため、読取対象の情報コードごとに適切な第１の閾値を設定し得る。従って、情報コード読取装置は、プレートに汚れ等が付着している可能性があるか否かを適切に判定し得る。
【００１２】
（特徴２）読み取りの開始から終了までの時間は、情報コードに含まれる特徴パターンの認識から情報コードに記録されたデータのデコードの完了までの時間を含んでもよい。
【００１３】
この構成によると、情報コード読取装置は、読み取りの開始から終了までの時間が第２の閾値を越える場合に、それがプレートに汚れ等が付着したことに起因するものである可能性があると適切に判定し得る。上記の構成における「特徴パターン」は、情報コードの上下左右方向を特定するための所定のパターン（例えばファインダパターン）を含む。
【００１４】
（特徴３）特定範囲の画像は、第１領域と、第１領域とは異なる第２領域とを有していてもよい。制御部は、判断処理において、（Ａ）メモリに記憶されている特定範囲の画像のうちの第１領域と、読取処理の実行後の時点の特定範囲の画像のうちの第１領域とを比較し、両者の差異が第３の閾値を越えるか否かを判断するとともに、（Ｂ）メモリに記憶されている特定範囲の画像のうちの第２領域と、読取処理の実行後の時点の特定範囲の画像のうちの第２領域とを比較し、両者の差異が第３の閾値とは異なる第４の閾値を越えるか否かを判断し、（Ａ）（Ｂ）のうちの少なくとも一方で肯定的に判断される場合に、報知部に報知動作を実行させるようにしてもよい。
【００１５】
この構成によると、制御部は、判断処理において、特定範囲の画像のうちの第１領域と、特定範囲の画像のうちの第２領域との間で、異なる閾値を用いることができる。そのため、例えば、第１領域が第２領域に比べて情報コードの読み取りの成否に与える影響が大きい領域である場合に、第３の閾値を第４の閾値より小さくする等、第３の閾値と第４の閾値とを適切に設定しておくことによって、情報コードの読取処理の実情に合わせて、プレートに汚れ等が付着している可能性が高いことを適切に判定することができる。
【００１６】
（実施例）
（情報コード読取装置２の構成；図１、図２）
図１に示すように、本実施例の情報コード読取装置２は、例えば、携帯端末Ｔの表示部に表示されている情報コード（例えば二次元コード等）を読み取ってデータを取得するための据置式の装置である。図１は、情報コード読取装置２の外観を示す。情報コード読取装置２は、読取口６が開口されたケース４と、プレート８と、表示部１６と、スピーカ１８と、を備えている。
【００１７】
ケース４は、情報コード読取装置２の本体を構成する筐体であり、各種構成要素（図２の撮像部１２等）を収容している。読取口６は、ケース４の上面に開口されている。プレート８は、光透過性の部材で構成された板材であり、読取口６を閉塞している。プレート８は、ケース４内の各種構成要素を塵芥等から保護する保護プレートとして機能する。表示部１６及びスピーカ１８は、一部がケース４の表面に露出するように設けられている。表示部１６は、各種情報を表示可能である。スピーカ１８は、所定の報知音等を発生させる。
【００１８】
図２を参照して、ケース４内の構成要素について説明する。ケース４内には、撮像部１２と、照明部１４と、表示部１６と、スピーカ１８と、通信インターフェース２０と、制御部２２と、メモリ２４と、が備えられている。以下では、インターフェースを「Ｉ／Ｆ」と表記する。
【００１９】
撮像部１２は、プレート８によって閉塞された読取口６から、プレート８を介して、ケース４の外側の特定範囲を撮像可能な撮像装置である。照明部１４は、読取口６から、ケース４の外側の特定範囲に照明光を照射するための照明装置である。表示部１６及びスピーカ１８は、上記の通りであり、一部がケース４の表面に露出するように設けられている。通信Ｉ／Ｆ２０は、図示しない外部端末（例えばＰＯＳ端末等）と通信を実行するためのＩ／Ｆである。
【００２０】
制御部２２は、メモリ２４のプログラムに従って様々な処理を実行する。メモリ２４は、様々なプログラムを記憶している。また、メモリ２４は、様々な情報（例えば、電源オン時点の特定範囲の画像、確認フラグ、等）を記憶するための領域を有している。
【００２１】
（制御部２２が実行するメイン処理；図３）
続いて、図３を参照して、情報コード読取装置２の制御部２２が実行するメイン処理について説明する。情報コード読取装置２の電源がオンされると、制御部２２は、図３の処理を開始する。まず、Ｓ１０では、制御部２２は、撮像部１２に、情報コード読取装置２の電源がオンされた時点の特定範囲の画像（以下では、「第１の特定範囲の画像」と呼ぶ）を撮影させる。これにより、制御部２２は、第１の特定範囲の画像を取得する。第１の特定範囲の画像は、撮像部１２が、プレート８を介してケース４の外側の特定範囲を撮影した画像である。第１の特定範囲の画像は、情報コード読取装置２の電源がオンされた時点のプレート８の状況を撮影した画像であると言うことができる。そして、制御部２２は、取得された第１の特定範囲の画像を、メモリ２４に記憶させる。
【００２２】
続くＳ１２では、制御部２２は、外部端末から、通信Ｉ／Ｆ２０を介して読取開始指示を取得することを監視する。ユーザが、外部端末の操作部（図示省略）において、情報コード読取装置２に情報コードの読取処理を開始させるための特定の操作を入力すると、外部端末は、情報コード読取装置２に対して、読取開始指示を供給する。この場合、制御部２２は、外部端末から、通信Ｉ／Ｆ２０を介して読取開始指示を取得する。制御部２２は、読取開始指示を取得すると、Ｓ１２でＹＥＳと判断し、Ｓ１４に進む。
【００２３】
Ｓ１４では、制御部２２は、情報コードを読み取るための読取処理を実行する。具体的に言うと、まず、制御部２２は、照明部１４によって特定範囲に照明光を照射するとともに、撮像部１２によって、特定範囲の画像の撮影を開始する。また、制御部２２は、表示部１６に、情報コード読取装置２の利用者に対して、読取対象の情報コード（以下では「対象コード」と呼ぶ場合がある）をプレート８に向けるように促すためのメッセージを表示する。利用者は、例えば、携帯端末Ｔ（図１参照）の表示部に対象コードを表示させ、プレート８に向けて近づける（かざす）ことができる。撮像部１２は、特定範囲内に配置された対象コードの画像を撮影する。制御部２２は、撮像部１２によって撮影された対象コードの画像を取得すると、その対象コードの画像に基づいて、当該画像に含まれる対象コードに記録されたデータのデコード（即ち読み取り）を開始する。
【００２４】
制御部２２が行うデコードの内容について説明する前に、図４を参照して、情報コード読取装置２が読み取る対象である情報コードの一般的な構成について説明しておく。
【００２５】
図４には、情報コード４０の一例が示されている。この情報コード４０は、２次元コードである。情報コード４０は、暗色（黒色）のセルと、明色（白色）のセルとの組合せによって構成されている。情報コード４０は、３箇所の角部に配置されたファインダパターン４２と、それらのファインダパターン４２の中央に配置されたデータセル領域４４と、を含む。ファインダパターン４２は、情報コード４０の読取の際に最初に認識される部分であり、情報コード４０の上下左右位置を特定するためのパターンである。ファインダパターン４２の位置、大きさ、形状等は予め定められている。読取装置（例えば情報コード読取装置２）は、ファインダパターン４２を認識することで、情報コード４０の向きに関わらず、どの方向からでも情報コード４０に記録されたデータを読み取ることができるようになる。データセル領域４４は、情報コード４０に記録されるデータを表現するための各種セルが含まれる領域である。データセル領域４４には、データキャラクタ、誤り訂正符号等が含まれる。データキャラクタは、情報コード４０に記録されるデータが含まれる。データキャラクタによって表現されるデータには、デコード対象のデータ自身のほかに、最大誤り訂正許容率を示すデータも含まれる。最大誤り訂正許容率とは、情報コード４０が汚損等している場合においても、データをデコードし得る許容率の最大値を示す。例えば最大誤り訂正許容率が２０％である情報コードの場合、情報コード４０のデータセル領域４４に含まれるセルのうちの２０％が損傷している場合であっても、読取装置は当該情報コード４０からデータをデコード可能であることを意味する。誤り訂正符号は、情報コード４０を読み取った読取装置が、読み取ったデータの誤りを検出し、訂正することを可能にするための情報である。読取装置は、読み取ったデータと誤り訂正符号とを比較して、データに誤り（即ち、欠け等）があるか否かを判定することができるとともに、誤りがある場合に、誤り訂正符号に基づいて誤り部分を補完することができる。この機能は誤り訂正機能と呼ばれ、一般に知られている。
【００２６】
上記の通り、図２のＳ１４において、制御部２２は、撮像部１２によって撮影された対象コードの画像に基づいて、当該画像に含まれる対象コードに記録されたデータのデコード（即ち読み取り）を実行する。制御部２２は、まず、画像に含まれる対象コードのファインダパターン（図４の符号４２参照）を認識し、対象コードの上下左右位置を特定する。この際、制御部２２は、読取時間を測定するためのタイマのカウントを開始させる。次いで、制御部２２は、対象コード中のデータセル領域から、対象コードに記録されている各種データ（デコード対象のデータ自身、対象コードの最大誤り訂正許容率等）を読み出す。この際、制御部２２は、データの読み出しの際に行った誤り訂正の割合（即ち、誤り訂正率）を併せて算出する。
【００２７】
続くＳ１６では、制御部２２は、対象コードの読み取りが成功したか否かを判断する。上記タイマのカウントが開始されてから所定のタイムアウト期間（例えば１５秒間）が経過する前に、対象コードに記録されている各種データの読み取り（デコード）及び誤り訂正率の算出が完了した場合には、制御部２２は、Ｓ１６でＹＥＳ（即ち対象コードの読み取りが成功した）と判断する。この場合、制御部２２は、タイマのカウントを停止し、読取時間（即ち、対象コードのファインダパターンの認識からデコードの完了までの時間）を特定する。その後、Ｓ１８に進む。
【００２８】
一方、対象コードに記録されている各種データの読み取り（デコード）及び誤り訂正率の算出が完了する前に、上記のタイムアウト期間が経過した場合には、制御部２２は、Ｓ１６でＮＯ（即ち対象コードの読み取りが失敗した）と判断し、Ｓ４０に進む。Ｓ４０では、制御部２２は、対象コードの読み取りが失敗したことを報知するためのエラー報知動作を実行する。具体的には、制御部２２は、表示部１６に所定のエラーメッセージを表示させるとともに、スピーカ１８から所定のエラー報知音声を発生させる。これにより、情報コード読取装置２の利用者及び管理者等は、対象コードの読み取りが失敗したことを把握することができる。Ｓ４０を終えると、Ｓ１２に戻る。
【００２９】
Ｓ１８では、制御部２２は、対象コードの読み取りの際に算出された誤り訂正率が、所定の閾値Ｔｈ１を超えるか否かを判断する。本実施例では、閾値Ｔｈ１は、対象コードに記録されている最大誤り訂正許容率ごとに定められる相対値である。即ち、閾値Ｔｈ１は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合（例えば５０％）を示す値である。例えば、対象コードに記録されている最大誤り訂正許容率が２０％である場合において、特定割合が５０％である場合には、閾値Ｔｈ１は１０％に定められる。この例の場合、対象コードの読み取りの際に算出された誤り訂正率が１０％を超える場合（例えば１２％であった場合）、制御部２２は、Ｓ１８でＹＥＳと判断し、Ｓ２２に進む。一方、誤り訂正率が１０％以下である場合（例えば７％であった場合）、制御部２２は、Ｓ１８でＮＯと判断し、Ｓ２０に進む。誤り訂正率が閾値Ｔｈ１を超える場合（Ｓ１８でＹＥＳの場合）には、情報コードの読み取りの際に何らかの問題が発生していた可能性がある。そして、それがプレート８に汚れ等が付着したことに起因するものである可能性もある。
【００３０】
Ｓ２０では、制御部２２は、対象コードの読み取りの際の読取時間が、所定の閾値Ｔｈ２を超えるか否かを判断する。閾値Ｔｈ２は、上記のタイムアウト期間よりも短い期間であり、予め定められている期間（例えば７秒間）を示す。読取時間が閾値Ｔｈ２を超える場合、制御部２２は、Ｓ２０でＹＥＳと判断し、Ｓ２２に進む。一方、読取時間が閾値Ｔｈ２以下である場合、制御部２２は、Ｓ２０でＮＯと判断し、Ｓ２４に進む。読取時間が閾値Ｔｈ２を超える場合（Ｓ２０でＹＥＳの場合）には、情報コードの読み取りの際に何らかの問題が発生していた可能性がある。そして、それがプレート８に汚れ等が付着したことに起因するものである可能性もある。
【００３１】
Ｓ２２では、制御部２２は、メモリ２４に確認フラグを記憶させる。確認フラグは、制御部２２に後述のＳ２８〜Ｓ３６の各処理を実行させるためのフラグである。変形例では、メモリ２４には予め確認フラグが記憶されていてもよい。その場合、Ｓ２２では、制御部２２は、メモリ２４内の確認フラグに「ＯＮ」を示す情報を対応付けて記憶させるようにしてもよい。
【００３２】
Ｓ２４では、制御部２２は、対象コードの読み取り結果を出力する。具体的には、例えば、制御部２２は、対象コードから読み出されたデータを、通信Ｉ／Ｆ２０を介して外部端末に送信する。さらに、制御部２２は、対象コードから読み出されたデータのうちの少なくとも一部を、メモリ２４に記憶させるとともに、表示部１６に表示させる。
【００３３】
続くＳ２６では、制御部２２は、メモリ２４に確認フラグが記憶されているか否かを判断する。この時点でメモリ２４に確認フラグが記憶されている場合（即ち、上記Ｓ２２の処理を実行済みの場合）には、制御部２２は、Ｓ２６でＹＥＳと判断し、Ｓ２８に進む。一方、この時点でメモリ２４に確認フラグが記憶されていない場合（即ち、上記Ｓ２２の処理がスキップされている場合）には、制御部２２は、Ｓ２６でＮＯと判断し、Ｓ１２に戻る。
【００３４】
Ｓ２８では、制御部２２は、撮像部１２に、この時点における特定範囲の画像（以下では、「第２の特定範囲の画像」と呼ぶ）を撮影させる。これにより、制御部２２は、第２の特定範囲の画像を取得する。上記の第１の特定範囲の画像（Ｓ１０）と同様に、第２の特定範囲の画像も、撮像部１２が、プレート８を介してケース４の外側の特定範囲を撮影した画像である。そのため、第２の特定範囲の画像は、この時点のプレート８の状況を撮影した画像であると言うことができる。
【００３５】
続くＳ３０では、制御部２２は、メモリ２４に記憶されている第１の特定範囲の画像（Ｓ１０）の中心領域と、Ｓ２８で取得された第２の特定範囲の画像の中心領域とを比較し、両者の差異の割合が所定の閾値Ｔｈ３を超えるか否かを判断する。図５（ａ）（ｂ）は、それぞれ、第１の特定範囲の画像５０Ａと、第２の特定範囲の画像５０Ｂの一例とを示す。図５（ａ）（ｂ）において破線で示された範囲の内側の領域が、それぞれ、第１の特定範囲の画像５０Ａの中心領域５２Ａ、及び、第２の特定範囲の画像５０Ｂの中心領域５２Ｂに相当する。図５の例では、中心領域５２Ａには汚れは付着していない。一方、中心領域５２Ｂには汚れＤ１が付着している。閾値Ｔｈ３は、０％より大きく１００％より小さい割合であって、予め定められている割合（例えば１％）を示す。Ｓ３０では、まず、制御部２２は、第１の特定範囲の画像の中心領域（図５（ａ）の５２Ａ参照）と、第２の特定範囲の画像の中心領域（図５（ｂ）の５２Ｂ参照）とを比較し、両者の差異の割合を特定する。図５（ａ）（ｂ）の例のように、第２の特定範囲の画像の中心領域に、第１の特定範囲の画像の中心領域には存在しない汚れ等が存在する場合、両者の差異の割合は０％より大きい値になる。第２の特定範囲の画像の中心領域にのみ存在する汚れ等の数が多く、大きさが大きいほど、両者の差異の割合は大きい値になる。そして、制御部２２は、特定された差異の割合が閾値Ｔｈ３を超える場合には、Ｓ３０でＹＥＳと判断し、Ｓ３４に進む。一方、制御部２２は、特定された差異の割合が閾値Ｔｈ３以下である場合には、Ｓ３０でＮＯと判断し、Ｓ３２に進む。
【００３６】
Ｓ３２では、制御部２２は、第１の特定範囲の画像の周辺領域と、第２の特定範囲の画像の周辺領域とを比較し、両者の差異の割合が所定の閾値Ｔｈ４を超えるか否かを判断する。図５（ａ）（ｂ）の例では、破線で示された範囲の外側の領域が、それぞれ、第１の特定範囲の画像５０Ａの周辺領域５４Ａ、及び、第２の特定範囲の画像５０Ｂの周辺領域５４Ｂに相当する。図５の例では、周辺領域５４Ａには汚れは付着していない。一方、周辺領域５４Ｂには汚れＤ２、Ｄ３が付着している。閾値Ｔｈ４は、０％より大きく１００％より小さい割合であって、予め定められている割合（例えば３％）を示す。一般的に、周辺領域は、汚れ等が情報コードの読み取りに与える影響が中心領域に比べて小さい。そのため、本実施例では、閾値Ｔｈ４が示す割合は閾値Ｔｈ３より大きい値に設定されている。Ｓ３２では、まず、制御部２２は、第１の特定範囲の画像の周辺領域（図５（ａ）の５４Ａ参照）と、第２の特定範囲の画像の周辺領域（図５（ｂ）の５４Ｂ参照）とを比較し、両者の差異の割合を特定する。図５（ａ）（ｂ）の例のように、第２の特定範囲の画像の周辺領域に、第１の特定範囲の画像の周辺領域には存在しない汚れが存在する場合、両者の差異の割合は０％より大きい値になる。第２の特定範囲の画像の周辺領域にのみ存在する汚れ等の数が多く、大きさが大きいほど、両者の差異の割合は大きい値になる。そして、制御部２２は、特定された差異の割合が閾値Ｔｈ４を超える場合には、Ｓ３２でＹＥＳと判断し、Ｓ３４に進む。一方、制御部２２は、特定された差異の割合が閾値Ｔｈ３以下である場合には、Ｓ３２でＮＯと判断し、Ｓ３４をスキップしてＳ３６に進む。
【００３７】
Ｓ３４では、制御部２２は、報知動作を実行する。具体的には、制御部２２は、表示部１６に、プレート８が汚損している旨のメッセージを表示させるとともに、スピーカ１８から、プレート８が汚損している旨の報知音声を発生させる。さらに、制御部２２は、照明部１４に特定範囲を照明させる。この報知動作が行われることにより、プレート８に汚れ等が付着している可能性が高いことを把握することができる。
【００３８】
続くＳ３６では、制御部２２は、メモリ２４に記憶されている確認フラグをメモリ２４から消去する。即ち、制御部２２は、確認フラグをリセットする。Ｓ３６を終えると、再びＳ１２に戻る。
【００３９】
（制御部２２が実行するテスト処理）
続いて、制御部２２が実行するテスト処理について説明する。テスト処理は、メイン処理とは別個に実行される処理であり、情報コード読取装置２が情報コードを適切に読み取り可能か否かをテストするための処理である。情報コード読取装置２の管理者等が、外部端末等を介して、情報コード読取装置２に所定のテスト処理開始指示を入力すると、制御部２２は、テスト処理を開始する。まず、制御部２２は、照明部１４によって特定範囲を照明するとともに、撮像部１２によって、特定範囲の画像の撮影を開始する。そして、制御部２２は、表示部１６に、テストを開始する旨のメッセージとともに、管理者等に対して所定のテストシートをプレート８に向けるように促すためのメッセージを表示する。ここで、テストシートは、プレート８のサイズに適合する大きさのシートであり、プレート８を９分割した場合の９個の各区分に対応する位置のそれぞれに、テスト用の情報コード（以下「テストコード」と呼ぶ）が印刷されたシートである。テストシートは、ベンダによって予め準備されており、情報コード読取装置２の出荷時に、情報コード読取装置２とともに梱包されている。
【００４０】
管理者等は、テストシートをプレートに向けて近づける（かざす）ことができる。この場合、撮像部１２は、特定範囲内に配置されたテストシートに印刷されている９個のテストコードの画像を撮影する。制御部２２は、９個のテストコードのそれぞれに記録されたデータのデコード（即ち読み取り）を開始する。
【００４１】
９個のテストコードに記録されたデータのデコードがすべて成功した場合には、制御部２２は、表示部１６に、テストが正常終了した旨のメッセージを表示させる。一方、９個のテストコードのうちの１個以上に記録されたデータのデコードが失敗した場合には、制御部２２は、表示部１６に、テストが異常終了した旨のメッセージとともに、管理者等に対してプレート８の清掃及び点検を促すためのメッセージを表示させる。
【００４２】
以上、本実施例の情報コード読取装置２の構成及び動作について説明した。上記の通り、本実施例では、制御部２２は、図３のＳ１８、Ｓ２０のうちの一方でＹＥＳと判断する場合に、確認フラグをメモリ２４に記憶させる。そして、制御部２２は、Ｓ３０、Ｓ３２の判断を実行する。上記のＳ１８、Ｓ２０のうちの一方でＹＥＳと判断される場合は、情報コード読取処理の際に何らかの問題が発生していた可能性がある。そして、それがプレート８の汚損等に起因するものである可能性もある。即ち、制御部２２は、プレート８が汚損している可能性がある場合に、Ｓ３０、Ｓ３２の処理を実行する。そして、Ｓ３０、Ｓ３２のうちの一方でＹＥＳと判断される場合は、プレート８が汚損している可能性が高いと言える。そして、制御部２２は、Ｓ３０、Ｓ３２のうちの一方でＹＥＳと判断する場合には、報知動作を実行させる（Ｓ３４）。情報コード読取装置２の管理者等は、情報コード読取装置２が実行する報知動作によって、プレート８が汚損している可能性が高いことを把握することができる。そして、情報コード読取装置２の管理者等は、次回以降の読取処理時に、プレート８の汚れ等が原因で情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態が発生する前に、プレート８を清掃したり修理したりすることができる。従って、本実施例の情報コード読取装置２によると、プレート８に汚れ等が付着していることを適切に判定するとともにその旨を適切に報知することによって、情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態の発生を適切に抑制することができる。
【００４３】
また、上記の通り、本実施例では、閾値Ｔｈ１は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合を示す値である。即ち、閾値Ｔｈ１は、対象コードの最大許容誤り訂正率に応じて相対的に定められる。そのため、読取対象の情報コードごとに適切な閾値Ｔｈ１を設定し得る。従って、本実施例では、情報コード読取装置２は、プレート８に汚れ等が付着している可能性があるか否かを適切に判定し得る。
【００４４】
また、本実施例では、対象コードの読み取りの際の読取時間は、対象コードのファインダパターンの認識からデコードの完了までの時間に相当する。そして、制御部２２は、読取時間が閾値Ｔｈ２を超える場合に、図３のＳ２０でＹＥＳと判断し、確認フラグをメモリ２４に記憶させる（Ｓ２２）。そのため、本実施例では、情報コード読取装置２は、読み取りの開始から終了までの時間が閾値Ｔｈ２を越える場合に、それがプレート８に汚れ等が付着したことに起因するものである可能性があると適切に判定し得る。
【００４５】
また、本実施例では、閾値Ｔｈ４（Ｓ３２）が示す割合は閾値Ｔｈ３（Ｓ３０）が示す割合より大きい。一般的に、特定範囲の画像のうちの周辺領域は中心領域に比べて情報コードの読み取りの成否に与える影響が小さい。このように、本実施例では、特定範囲の画像中の場所に応じて、閾値Ｔｈ３と閾値Ｔｈ４とを適切に設定しておくことによって、読取処理の実情に合わせて、プレート８に汚れ等が付着している可能性が高いことを適切に判定することができる。
【００４６】
本実施例と請求項の記載の対応関係を説明しておく。図４のファインダパターン４２が「特徴パターン」の一例である。特定範囲の画像のうちの中心領域（図５の５２Ａ、５２Ｂ参照）が「第１領域」の一例であり、特定範囲の画像のうちの周辺領域（図５の５４Ａ、５４Ｂ参照）が「第２領域」の一例である。
【００４７】
以上、本発明の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【００４８】
（変形例１）上記の実施例では、制御部２２は、図３のＳ１８の処理（即ち、誤り訂正率が閾値Ｔｈ１を超えるか否かを判断する処理）と、Ｓ２０の処理（即ち、読取時間が閾値Ｔｈ２を超えるか否かを判断する処理）とをこの順で実行している。これに限られず、制御部２２は、Ｓ２０の処理をＳ１８の処理よりも先に実行するようにしてもよい。また、制御部２２は、Ｓ１８の処理とＳ２０の処理とのうち一方のみを実行するようにしてもよい。
【００４９】
（変形例２）上記の実施例では、制御部２２は、情報コード読取装置２の電源がオンされた場合に、撮像部１２に、情報コード読取装置２の電源がオンされた時点の特定範囲の画像（即ち第１の特定範囲の画像）を撮影させ、メモリ２４に記憶させる。これに限られず、制御部２２は、情報コード読取装置２の電源がオンされた後、特定の期間（例えば１時間）ごとに、特定範囲の画像を撮影し、メモリ２４に記憶させるようにしてもよい。その場合、制御部２２は、メモリ２４に最新の特定範囲の画像のみを記憶させるようにしてもよい（即ち、メモリ２４内の特定範囲の画像を更新するようにしてもよい）。
【００５０】
（変形例３）図３のＳ３４で実行される報知動作は、上記のものには限られない。従って、例えば、制御部２２は、通信Ｉ／Ｆ２０を介して外部端末に所定の報知信号を供給するようにしてもよい。この場合、外部端末は、報知信号を取得すると、外部端末の表示部にプレート８が汚損している旨のメッセージを表示させるようにしてもよい。
【００５１】
（変形例４）上記の実施例では、制御部２２は、Ｓ３０の処理とＳ３２の処理とをこの順で実行している。これに限られず、制御部２２は、Ｓ３０、Ｓ３２の処理に代えて、第１の特定範囲の画像の全体と第２の特定範囲の画像の全体とを比較し、両者の差異の割合が所定の閾値Ｔｈ３´を越えるか否かを判断する処理を実行してもよい。この場合、制御部２２は、差異の割合が所定の閾値Ｔｈ３´を越える場合に、Ｓ３４で報知動作を実行させるようにしてもよい。この場合、閾値Ｔｈ３´が「第３の閾値」の一例である。
【００５２】
（変形例５）上記の実施例では、閾値Ｔｈ１（Ｓ１８）は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合（例えば５０％）を示す値（即ち対象コードの最大誤り訂正許容率ごとに定められる相対値）である。これに限られず、閾値Ｔｈ１は、対象コードの最大誤り訂正許容率に関わらず、予め定められた一定の値（即ち絶対値）であってもよい。
【００５３】
（変形例６）制御部２２は、上記のメイン処理及びテスト処理とは別に、外部端末との間で定期通信（例えば、デコード実績の報告のための通信等）を実行してもよい。その際に、制御部２２は、プレート８の清掃を促すメッセージを含む報告信号を外部端末に供給するようにしてもよい。その場合、外部端末は、報告信号に基づいて、外部端末の表示部にプレート８の清掃を促すメッセージを表示させるようにしてもよい。
【００５４】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００５５】
２：情報コード読取装置
４：ケース
６：読取口
８：プレート
１２：撮像部
１４：照明部
１６：表示部
１８：スピーカ
２０：通信Ｉ／Ｆ
２２：制御部
２４：メモリ
４０：情報コード
４２：ファインダパターン
４４：データセル領域
５０Ａ：第１の特定範囲の画像
５０Ｂ：第２の特定範囲の画像
５２Ａ：（第１の特定範囲の画像の）中心領域
５２Ｂ：（第２の特定範囲の画像の）中心領域
５４Ａ：（第１の特定範囲の画像の）周辺領域
５４Ｂ：（第２の特定範囲の画像の）周辺領域
Ｔ：携帯端末
【図１】
0006583060.tif 000002
【図２】
0006583060.tif 000003
【図３】
0006583060.tif 000004
【図４】
0006583060.tif 000005
【図５】
0006583060.tif 000006