(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に示す技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。
【0010】
(特徴1)第1の閾値は、情報コードに予め記録されている最大許容誤り訂正率のうちの特定割合を示す値であってもよい。
【0011】
この構成によると、第1の閾値は、読取対象の情報コードの最大許容誤り訂正率に応じて相対的に定められる。そのため、読取対象の情報コードごとに適切な第1の閾値を設定し得る。従って、情報コード読取装置は、プレートに汚れ等が付着している可能性があるか否かを適切に判定し得る。
【0012】
(特徴2)読み取りの開始から終了までの時間は、情報コードに含まれる特徴パターンの認識から情報コードに記録されたデータのデコードの完了までの時間を含んでもよい。
【0013】
この構成によると、情報コード読取装置は、読み取りの開始から終了までの時間が第2の閾値を越える場合に、それがプレートに汚れ等が付着したことに起因するものである可能性があると適切に判定し得る。上記の構成における「特徴パターン」は、情報コードの上下左右方向を特定するための所定のパターン(例えばファインダパターン)を含む。
【0014】
(特徴3)特定範囲の画像は、第1領域と、第1領域とは異なる第2領域とを有していてもよい。制御部は、判断処理において、(A)メモリに記憶されている特定範囲の画像のうちの第1領域と、読取処理の実行後の時点の特定範囲の画像のうちの第1領域とを比較し、両者の差異が第3の閾値を越えるか否かを判断するとともに、(B)メモリに記憶されている特定範囲の画像のうちの第2領域と、読取処理の実行後の時点の特定範囲の画像のうちの第2領域とを比較し、両者の差異が第3の閾値とは異なる第4の閾値を越えるか否かを判断し、(A)(B)のうちの少なくとも一方で肯定的に判断される場合に、報知部に報知動作を実行させるようにしてもよい。
【0015】
この構成によると、制御部は、判断処理において、特定範囲の画像のうちの第1領域と、特定範囲の画像のうちの第2領域との間で、異なる閾値を用いることができる。そのため、例えば、第1領域が第2領域に比べて情報コードの読み取りの成否に与える影響が大きい領域である場合に、第3の閾値を第4の閾値より小さくする等、第3の閾値と第4の閾値とを適切に設定しておくことによって、情報コードの読取処理の実情に合わせて、プレートに汚れ等が付着している可能性が高いことを適切に判定することができる。
【0016】
(実施例)
(情報コード読取装置2の構成;
図1、
図2)
図1に示すように、本実施例の情報コード読取装置2は、例えば、携帯端末Tの表示部に表示されている情報コード(例えば二次元コード等)を読み取ってデータを取得するための据置式の装置である。
図1は、情報コード読取装置2の外観を示す。情報コード読取装置2は、読取口6が開口されたケース4と、プレート8と、表示部16と、スピーカ18と、を備えている。
【0017】
ケース4は、情報コード読取装置2の本体を構成する筐体であり、各種構成要素(
図2の撮像部12等)を収容している。読取口6は、ケース4の上面に開口されている。プレート8は、光透過性の部材で構成された板材であり、読取口6を閉塞している。プレート8は、ケース4内の各種構成要素を塵芥等から保護する保護プレートとして機能する。表示部16及びスピーカ18は、一部がケース4の表面に露出するように設けられている。表示部16は、各種情報を表示可能である。スピーカ18は、所定の報知音等を発生させる。
【0018】
図2を参照して、ケース4内の構成要素について説明する。ケース4内には、撮像部12と、照明部14と、表示部16と、スピーカ18と、通信インターフェース20と、制御部22と、メモリ24と、が備えられている。以下では、インターフェースを「I/F」と表記する。
【0019】
撮像部12は、プレート8によって閉塞された読取口6から、プレート8を介して、ケース4の外側の特定範囲を撮像可能な撮像装置である。照明部14は、読取口6から、ケース4の外側の特定範囲に照明光を照射するための照明装置である。表示部16及びスピーカ18は、上記の通りであり、一部がケース4の表面に露出するように設けられている。通信I/F20は、図示しない外部端末(例えばPOS端末等)と通信を実行するためのI/Fである。
【0020】
制御部22は、メモリ24のプログラムに従って様々な処理を実行する。メモリ24は、様々なプログラムを記憶している。また、メモリ24は、様々な情報(例えば、電源オン時点の特定範囲の画像、確認フラグ、等)を記憶するための領域を有している。
【0021】
(制御部22が実行するメイン処理;
図3)
続いて、
図3を参照して、情報コード読取装置2の制御部22が実行するメイン処理について説明する。情報コード読取装置2の電源がオンされると、制御部22は、
図3の処理を開始する。まず、S10では、制御部22は、撮像部12に、情報コード読取装置2の電源がオンされた時点の特定範囲の画像(以下では、「第1の特定範囲の画像」と呼ぶ)を撮影させる。これにより、制御部22は、第1の特定範囲の画像を取得する。第1の特定範囲の画像は、撮像部12が、プレート8を介してケース4の外側の特定範囲を撮影した画像である。第1の特定範囲の画像は、情報コード読取装置2の電源がオンされた時点のプレート8の状況を撮影した画像であると言うことができる。そして、制御部22は、取得された第1の特定範囲の画像を、メモリ24に記憶させる。
【0022】
続くS12では、制御部22は、外部端末から、通信I/F20を介して読取開始指示を取得することを監視する。ユーザが、外部端末の操作部(図示省略)において、情報コード読取装置2に情報コードの読取処理を開始させるための特定の操作を入力すると、外部端末は、情報コード読取装置2に対して、読取開始指示を供給する。この場合、制御部22は、外部端末から、通信I/F20を介して読取開始指示を取得する。制御部22は、読取開始指示を取得すると、S12でYESと判断し、S14に進む。
【0023】
S14では、制御部22は、情報コードを読み取るための読取処理を実行する。具体的に言うと、まず、制御部22は、照明部14によって特定範囲に照明光を照射するとともに、撮像部12によって、特定範囲の画像の撮影を開始する。また、制御部22は、表示部16に、情報コード読取装置2の利用者に対して、読取対象の情報コード(以下では「対象コード」と呼ぶ場合がある)をプレート8に向けるように促すためのメッセージを表示する。利用者は、例えば、携帯端末T(
図1参照)の表示部に対象コードを表示させ、プレート8に向けて近づける(かざす)ことができる。撮像部12は、特定範囲内に配置された対象コードの画像を撮影する。制御部22は、撮像部12によって撮影された対象コードの画像を取得すると、その対象コードの画像に基づいて、当該画像に含まれる対象コードに記録されたデータのデコード(即ち読み取り)を開始する。
【0024】
制御部22が行うデコードの内容について説明する前に、
図4を参照して、情報コード読取装置2が読み取る対象である情報コードの一般的な構成について説明しておく。
【0025】
図4には、情報コード40の一例が示されている。この情報コード40は、2次元コードである。情報コード40は、暗色(黒色)のセルと、明色(白色)のセルとの組合せによって構成されている。情報コード40は、3箇所の角部に配置されたファインダパターン42と、それらのファインダパターン42の中央に配置されたデータセル領域44と、を含む。ファインダパターン42は、情報コード40の読取の際に最初に認識される部分であり、情報コード40の上下左右位置を特定するためのパターンである。ファインダパターン42の位置、大きさ、形状等は予め定められている。読取装置(例えば情報コード読取装置2)は、ファインダパターン42を認識することで、情報コード40の向きに関わらず、どの方向からでも情報コード40に記録されたデータを読み取ることができるようになる。データセル領域44は、情報コード40に記録されるデータを表現するための各種セルが含まれる領域である。データセル領域44には、データキャラクタ、誤り訂正符号等が含まれる。データキャラクタは、情報コード40に記録されるデータが含まれる。データキャラクタによって表現されるデータには、デコード対象のデータ自身のほかに、最大誤り訂正許容率を示すデータも含まれる。最大誤り訂正許容率とは、情報コード40が汚損等している場合においても、データをデコードし得る許容率の最大値を示す。例えば最大誤り訂正許容率が20%である情報コードの場合、情報コード40のデータセル領域44に含まれるセルのうちの20%が損傷している場合であっても、読取装置は当該情報コード40からデータをデコード可能であることを意味する。誤り訂正符号は、情報コード40を読み取った読取装置が、読み取ったデータの誤りを検出し、訂正することを可能にするための情報である。読取装置は、読み取ったデータと誤り訂正符号とを比較して、データに誤り(即ち、欠け等)があるか否かを判定することができるとともに、誤りがある場合に、誤り訂正符号に基づいて誤り部分を補完することができる。この機能は誤り訂正機能と呼ばれ、一般に知られている。
【0026】
上記の通り、
図2のS14において、制御部22は、撮像部12によって撮影された対象コードの画像に基づいて、当該画像に含まれる対象コードに記録されたデータのデコード(即ち読み取り)を実行する。制御部22は、まず、画像に含まれる対象コードのファインダパターン(
図4の符号42参照)を認識し、対象コードの上下左右位置を特定する。この際、制御部22は、読取時間を測定するためのタイマのカウントを開始させる。次いで、制御部22は、対象コード中のデータセル領域から、対象コードに記録されている各種データ(デコード対象のデータ自身、対象コードの最大誤り訂正許容率等)を読み出す。この際、制御部22は、データの読み出しの際に行った誤り訂正の割合(即ち、誤り訂正率)を併せて算出する。
【0027】
続くS16では、制御部22は、対象コードの読み取りが成功したか否かを判断する。上記タイマのカウントが開始されてから所定のタイムアウト期間(例えば15秒間)が経過する前に、対象コードに記録されている各種データの読み取り(デコード)及び誤り訂正率の算出が完了した場合には、制御部22は、S16でYES(即ち対象コードの読み取りが成功した)と判断する。この場合、制御部22は、タイマのカウントを停止し、読取時間(即ち、対象コードのファインダパターンの認識からデコードの完了までの時間)を特定する。その後、S18に進む。
【0028】
一方、対象コードに記録されている各種データの読み取り(デコード)及び誤り訂正率の算出が完了する前に、上記のタイムアウト期間が経過した場合には、制御部22は、S16でNO(即ち対象コードの読み取りが失敗した)と判断し、S40に進む。S40では、制御部22は、対象コードの読み取りが失敗したことを報知するためのエラー報知動作を実行する。具体的には、制御部22は、表示部16に所定のエラーメッセージを表示させるとともに、スピーカ18から所定のエラー報知音声を発生させる。これにより、情報コード読取装置2の利用者及び管理者等は、対象コードの読み取りが失敗したことを把握することができる。S40を終えると、S12に戻る。
【0029】
S18では、制御部22は、対象コードの読み取りの際に算出された誤り訂正率が、所定の閾値Th1を超えるか否かを判断する。本実施例では、閾値Th1は、対象コードに記録されている最大誤り訂正許容率ごとに定められる相対値である。即ち、閾値Th1は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合(例えば50%)を示す値である。例えば、対象コードに記録されている最大誤り訂正許容率が20%である場合において、特定割合が50%である場合には、閾値Th1は10%に定められる。この例の場合、対象コードの読み取りの際に算出された誤り訂正率が10%を超える場合(例えば12%であった場合)、制御部22は、S18でYESと判断し、S22に進む。一方、誤り訂正率が10%以下である場合(例えば7%であった場合)、制御部22は、S18でNOと判断し、S20に進む。誤り訂正率が閾値Th1を超える場合(S18でYESの場合)には、情報コードの読み取りの際に何らかの問題が発生していた可能性がある。そして、それがプレート8に汚れ等が付着したことに起因するものである可能性もある。
【0030】
S20では、制御部22は、対象コードの読み取りの際の読取時間が、所定の閾値Th2を超えるか否かを判断する。閾値Th2は、上記のタイムアウト期間よりも短い期間であり、予め定められている期間(例えば7秒間)を示す。読取時間が閾値Th2を超える場合、制御部22は、S20でYESと判断し、S22に進む。一方、読取時間が閾値Th2以下である場合、制御部22は、S20でNOと判断し、S24に進む。読取時間が閾値Th2を超える場合(S20でYESの場合)には、情報コードの読み取りの際に何らかの問題が発生していた可能性がある。そして、それがプレート8に汚れ等が付着したことに起因するものである可能性もある。
【0031】
S22では、制御部22は、メモリ24に確認フラグを記憶させる。確認フラグは、制御部22に後述のS28〜S36の各処理を実行させるためのフラグである。変形例では、メモリ24には予め確認フラグが記憶されていてもよい。その場合、S22では、制御部22は、メモリ24内の確認フラグに「ON」を示す情報を対応付けて記憶させるようにしてもよい。
【0032】
S24では、制御部22は、対象コードの読み取り結果を出力する。具体的には、例えば、制御部22は、対象コードから読み出されたデータを、通信I/F20を介して外部端末に送信する。さらに、制御部22は、対象コードから読み出されたデータのうちの少なくとも一部を、メモリ24に記憶させるとともに、表示部16に表示させる。
【0033】
続くS26では、制御部22は、メモリ24に確認フラグが記憶されているか否かを判断する。この時点でメモリ24に確認フラグが記憶されている場合(即ち、上記S22の処理を実行済みの場合)には、制御部22は、S26でYESと判断し、S28に進む。一方、この時点でメモリ24に確認フラグが記憶されていない場合(即ち、上記S22の処理がスキップされている場合)には、制御部22は、S26でNOと判断し、S12に戻る。
【0034】
S28では、制御部22は、撮像部12に、この時点における特定範囲の画像(以下では、「第2の特定範囲の画像」と呼ぶ)を撮影させる。これにより、制御部22は、第2の特定範囲の画像を取得する。上記の第1の特定範囲の画像(S10)と同様に、第2の特定範囲の画像も、撮像部12が、プレート8を介してケース4の外側の特定範囲を撮影した画像である。そのため、第2の特定範囲の画像は、この時点のプレート8の状況を撮影した画像であると言うことができる。
【0035】
続くS30では、制御部22は、メモリ24に記憶されている第1の特定範囲の画像(S10)の中心領域と、S28で取得された第2の特定範囲の画像の中心領域とを比較し、両者の差異の割合が所定の閾値Th3を超えるか否かを判断する。
図5(a)(b)は、それぞれ、第1の特定範囲の画像50Aと、第2の特定範囲の画像50Bの一例とを示す。
図5(a)(b)において破線で示された範囲の内側の領域が、それぞれ、第1の特定範囲の画像50Aの中心領域52A、及び、第2の特定範囲の画像50Bの中心領域52Bに相当する。
図5の例では、中心領域52Aには汚れは付着していない。一方、中心領域52Bには汚れD1が付着している。閾値Th3は、0%より大きく100%より小さい割合であって、予め定められている割合(例えば1%)を示す。S30では、まず、制御部22は、第1の特定範囲の画像の中心領域(
図5(a)の52A参照)と、第2の特定範囲の画像の中心領域(
図5(b)の52B参照)とを比較し、両者の差異の割合を特定する。
図5(a)(b)の例のように、第2の特定範囲の画像の中心領域に、第1の特定範囲の画像の中心領域には存在しない汚れ等が存在する場合、両者の差異の割合は0%より大きい値になる。第2の特定範囲の画像の中心領域にのみ存在する汚れ等の数が多く、大きさが大きいほど、両者の差異の割合は大きい値になる。そして、制御部22は、特定された差異の割合が閾値Th3を超える場合には、S30でYESと判断し、S34に進む。一方、制御部22は、特定された差異の割合が閾値Th3以下である場合には、S30でNOと判断し、S32に進む。
【0036】
S32では、制御部22は、第1の特定範囲の画像の周辺領域と、第2の特定範囲の画像の周辺領域とを比較し、両者の差異の割合が所定の閾値Th4を超えるか否かを判断する。
図5(a)(b)の例では、破線で示された範囲の外側の領域が、それぞれ、第1の特定範囲の画像50Aの周辺領域54A、及び、第2の特定範囲の画像50Bの周辺領域54Bに相当する。
図5の例では、周辺領域54Aには汚れは付着していない。一方、周辺領域54Bには汚れD2、D3が付着している。閾値Th4は、0%より大きく100%より小さい割合であって、予め定められている割合(例えば3%)を示す。一般的に、周辺領域は、汚れ等が情報コードの読み取りに与える影響が中心領域に比べて小さい。そのため、本実施例では、閾値Th4が示す割合は閾値Th3より大きい値に設定されている。S32では、まず、制御部22は、第1の特定範囲の画像の周辺領域(
図5(a)の54A参照)と、第2の特定範囲の画像の周辺領域(
図5(b)の54B参照)とを比較し、両者の差異の割合を特定する。
図5(a)(b)の例のように、第2の特定範囲の画像の周辺領域に、第1の特定範囲の画像の周辺領域には存在しない汚れが存在する場合、両者の差異の割合は0%より大きい値になる。第2の特定範囲の画像の周辺領域にのみ存在する汚れ等の数が多く、大きさが大きいほど、両者の差異の割合は大きい値になる。そして、制御部22は、特定された差異の割合が閾値Th4を超える場合には、S32でYESと判断し、S34に進む。一方、制御部22は、特定された差異の割合が閾値Th3以下である場合には、S32でNOと判断し、S34をスキップしてS36に進む。
【0037】
S34では、制御部22は、報知動作を実行する。具体的には、制御部22は、表示部16に、プレート8が汚損している旨のメッセージを表示させるとともに、スピーカ18から、プレート8が汚損している旨の報知音声を発生させる。さらに、制御部22は、照明部14に特定範囲を照明させる。この報知動作が行われることにより、プレート8に汚れ等が付着している可能性が高いことを把握することができる。
【0038】
続くS36では、制御部22は、メモリ24に記憶されている確認フラグをメモリ24から消去する。即ち、制御部22は、確認フラグをリセットする。S36を終えると、再びS12に戻る。
【0039】
(制御部22が実行するテスト処理)
続いて、制御部22が実行するテスト処理について説明する。テスト処理は、メイン処理とは別個に実行される処理であり、情報コード読取装置2が情報コードを適切に読み取り可能か否かをテストするための処理である。情報コード読取装置2の管理者等が、外部端末等を介して、情報コード読取装置2に所定のテスト処理開始指示を入力すると、制御部22は、テスト処理を開始する。まず、制御部22は、照明部14によって特定範囲を照明するとともに、撮像部12によって、特定範囲の画像の撮影を開始する。そして、制御部22は、表示部16に、テストを開始する旨のメッセージとともに、管理者等に対して所定のテストシートをプレート8に向けるように促すためのメッセージを表示する。ここで、テストシートは、プレート8のサイズに適合する大きさのシートであり、プレート8を9分割した場合の9個の各区分に対応する位置のそれぞれに、テスト用の情報コード(以下「テストコード」と呼ぶ)が印刷されたシートである。テストシートは、ベンダによって予め準備されており、情報コード読取装置2の出荷時に、情報コード読取装置2とともに梱包されている。
【0040】
管理者等は、テストシートをプレートに向けて近づける(かざす)ことができる。この場合、撮像部12は、特定範囲内に配置されたテストシートに印刷されている9個のテストコードの画像を撮影する。制御部22は、9個のテストコードのそれぞれに記録されたデータのデコード(即ち読み取り)を開始する。
【0041】
9個のテストコードに記録されたデータのデコードがすべて成功した場合には、制御部22は、表示部16に、テストが正常終了した旨のメッセージを表示させる。一方、9個のテストコードのうちの1個以上に記録されたデータのデコードが失敗した場合には、制御部22は、表示部16に、テストが異常終了した旨のメッセージとともに、管理者等に対してプレート8の清掃及び点検を促すためのメッセージを表示させる。
【0042】
以上、本実施例の情報コード読取装置2の構成及び動作について説明した。上記の通り、本実施例では、制御部22は、
図3のS18、S20のうちの一方でYESと判断する場合に、確認フラグをメモリ24に記憶させる。そして、制御部22は、S30、S32の判断を実行する。上記のS18、S20のうちの一方でYESと判断される場合は、情報コード読取処理の際に何らかの問題が発生していた可能性がある。そして、それがプレート8の汚損等に起因するものである可能性もある。即ち、制御部22は、プレート8が汚損している可能性がある場合に、S30、S32の処理を実行する。そして、S30、S32のうちの一方でYESと判断される場合は、プレート8が汚損している可能性が高いと言える。そして、制御部22は、S30、S32のうちの一方でYESと判断する場合には、報知動作を実行させる(S34)。情報コード読取装置2の管理者等は、情報コード読取装置2が実行する報知動作によって、プレート8が汚損している可能性が高いことを把握することができる。そして、情報コード読取装置2の管理者等は、次回以降の読取処理時に、プレート8の汚れ等が原因で情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態が発生する前に、プレート8を清掃したり修理したりすることができる。従って、本実施例の情報コード読取装置2によると、プレート8に汚れ等が付着していることを適切に判定するとともにその旨を適切に報知することによって、情報コードの読み取りに失敗したり、情報コードが誤読されたりする事態の発生を適切に抑制することができる。
【0043】
また、上記の通り、本実施例では、閾値Th1は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合を示す値である。即ち、閾値Th1は、対象コードの最大許容誤り訂正率に応じて相対的に定められる。そのため、読取対象の情報コードごとに適切な閾値Th1を設定し得る。従って、本実施例では、情報コード読取装置2は、プレート8に汚れ等が付着している可能性があるか否かを適切に判定し得る。
【0044】
また、本実施例では、対象コードの読み取りの際の読取時間は、対象コードのファインダパターンの認識からデコードの完了までの時間に相当する。そして、制御部22は、読取時間が閾値Th2を超える場合に、
図3のS20でYESと判断し、確認フラグをメモリ24に記憶させる(S22)。そのため、本実施例では、情報コード読取装置2は、読み取りの開始から終了までの時間が閾値Th2を越える場合に、それがプレート8に汚れ等が付着したことに起因するものである可能性があると適切に判定し得る。
【0045】
また、本実施例では、閾値Th4(S32)が示す割合は閾値Th3(S30)が示す割合より大きい。一般的に、特定範囲の画像のうちの周辺領域は中心領域に比べて情報コードの読み取りの成否に与える影響が小さい。このように、本実施例では、特定範囲の画像中の場所に応じて、閾値Th3と閾値Th4とを適切に設定しておくことによって、読取処理の実情に合わせて、プレート8に汚れ等が付着している可能性が高いことを適切に判定することができる。
【0046】
本実施例と請求項の記載の対応関係を説明しておく。
図4のファインダパターン42が「特徴パターン」の一例である。特定範囲の画像のうちの中心領域(
図5の52A、52B参照)が「第1領域」の一例であり、特定範囲の画像のうちの周辺領域(
図5の54A、54B参照)が「第2領域」の一例である。
【0047】
以上、本発明の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【0048】
(変形例1)上記の実施例では、制御部22は、
図3のS18の処理(即ち、誤り訂正率が閾値Th1を超えるか否かを判断する処理)と、S20の処理(即ち、読取時間が閾値Th2を超えるか否かを判断する処理)とをこの順で実行している。これに限られず、制御部22は、S20の処理をS18の処理よりも先に実行するようにしてもよい。また、制御部22は、S18の処理とS20の処理とのうち一方のみを実行するようにしてもよい。
【0049】
(変形例2)上記の実施例では、制御部22は、情報コード読取装置2の電源がオンされた場合に、撮像部12に、情報コード読取装置2の電源がオンされた時点の特定範囲の画像(即ち第1の特定範囲の画像)を撮影させ、メモリ24に記憶させる。これに限られず、制御部22は、情報コード読取装置2の電源がオンされた後、特定の期間(例えば1時間)ごとに、特定範囲の画像を撮影し、メモリ24に記憶させるようにしてもよい。その場合、制御部22は、メモリ24に最新の特定範囲の画像のみを記憶させるようにしてもよい(即ち、メモリ24内の特定範囲の画像を更新するようにしてもよい)。
【0050】
(変形例3)
図3のS34で実行される報知動作は、上記のものには限られない。従って、例えば、制御部22は、通信I/F20を介して外部端末に所定の報知信号を供給するようにしてもよい。この場合、外部端末は、報知信号を取得すると、外部端末の表示部にプレート8が汚損している旨のメッセージを表示させるようにしてもよい。
【0051】
(変形例4)上記の実施例では、制御部22は、S30の処理とS32の処理とをこの順で実行している。これに限られず、制御部22は、S30、S32の処理に代えて、第1の特定範囲の画像の全体と第2の特定範囲の画像の全体とを比較し、両者の差異の割合が所定の閾値Th3´を越えるか否かを判断する処理を実行してもよい。この場合、制御部22は、差異の割合が所定の閾値Th3´を越える場合に、S34で報知動作を実行させるようにしてもよい。この場合、閾値Th3´が「第3の閾値」の一例である。
【0052】
(変形例5)上記の実施例では、閾値Th1(S18)は、対象コードに記録されている最大誤り訂正許容率のうちの予め定められた特定割合(例えば50%)を示す値(即ち対象コードの最大誤り訂正許容率ごとに定められる相対値)である。これに限られず、閾値Th1は、対象コードの最大誤り訂正許容率に関わらず、予め定められた一定の値(即ち絶対値)であってもよい。
【0053】
(変形例6)制御部22は、上記のメイン処理及びテスト処理とは別に、外部端末との間で定期通信(例えば、デコード実績の報告のための通信等)を実行してもよい。その際に、制御部22は、プレート8の清掃を促すメッセージを含む報告信号を外部端末に供給するようにしてもよい。その場合、外部端末は、報告信号に基づいて、外部端末の表示部にプレート8の清掃を促すメッセージを表示させるようにしてもよい。
【0054】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。