上記のような情報コードは、例えば紙等の印刷媒体にプリンタ等によって印刷する方法や、或いは金属材料や樹脂材料の製品等にダイレクトマーキング処理を行う方法等によって形成される。このように情報コードを形成する方法としては様々な方法が考えられており、形成される情報コードの印字品質は、形成方法や対象物などの影響を受けて大きくばらつく場合がありうる。
情報コードの印字品質は情報コードの読取処理に大きな影響を与えるものであり、例えば情報コードの印字品質が極端に悪い場合には読み取り処理を正常に行うことが難しくなる。従って、上記光学的情報読取装置の分野では、必要に応じて情報コードの印字品質を評価できる構成が望まれており、このような構成として例えば特許文献1のような技術が提供されている。この特許文献1の技術によれば、コントラストを1つの評価項目として印刷状態の総合評価を行うことができるが、評価処理が長時間化、複雑化する懸念があり、またコントラストが具体的にどの程度であるか判断し難いという問題もある。
本発明は、上述した課題を解決するためになされたものであり、物品に付された情報コードの印字品質を迅速に把握でき、かつその印字品質情報を迅速かつ良好に有効利用できる構成を提供することを目的とする。
上記課題を解決するため、請求項1の発明は、複数の明色セル及び複数の暗色セルからなる情報コードからの反射光を受光する受光手段と、前記受光手段による受光結果に基づいて前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記受光手段による受光結果に基づき前記情報コードの一部を構成する特定部分を検出する特定部分検出手段と、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び暗色セルの少なくともいずれかに基づき、前記特定部分の画像状態を示す評価値を、所定の評価方法に従って算出する算出手段と、前記算出手段によって得られた前記評価値に基づき、当該評価値を反映して得られる前記情報コードの印字品質情報を、ユーザに通知又は記録手段に記録する算出結果利用手段と、を備え、前記算出手段は、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び前記暗色セルの輝度を求める輝度検出手段と、前記輝度検出手段による検出結果に基づき、前記特定部分の前記評価値として当該特定部分のコントラストを算出するコントラスト算出手段と、からなり、前記算出結果利用手段は、前記コントラスト算出手段にて算出された前記特定部分のコントラストと、当該コントラストを評価する上での基準となるコントラスト基準値と、を反映して得られる前記情報コードの前記印字品質情報を、ユーザに通知又は前記記録手段に記録し、前記情報コードは、QRコード(登録商標)であり、前記特定部分検出手段は、前記QRコードの位置検出パターンを前記特定部分として検出するとともに、前記QRコードにおける全ての前記位置検出パターンの検出を試みる構成をなし、前記コントラスト算出手段は、前記特定部分検出手段にて検出された前記位置検出パターン毎にコントラストを算出し、前記算出結果利用手段は、前記コントラスト算出手段にて算出された前記位置検出パターン毎のコントラストに基づいて前記印字品質情報を生成し、当該印字品質情報の通知又は記録を行うことを特徴とする。
請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記コントラスト基準値は、予め定められた閾値であり、前記算出結果利用手段は、前記コントラスト算出手段によって算出された前記特定部分のコントラストを前記閾値と比較し、前記特定部分のコントラストと前記閾値との差を前記印字品質情報として通知することを特徴とする。
請求項3の発明は、請求項1又は請求項2に記載の光学的情報読取装置において、前記コントラスト算出手段は、前記特定部分における前記明色セルの輝度をXとし、前記特定部分における前記暗色セルの輝度をYとした場合に、以下の式、(X−Y)/Xにて得られる値を前記特定部分のコントラストとして算出することを特徴とする。
請求項4の発明は、請求項1から請求項3のいずれか一項に記載の光学的情報読取装置において、前記輝度検出手段は、前記特定部分に配される前記明色セルの少なくとも一位置の輝度を抽出し、かつ前記特定部分に配される前記暗色セルの少なくとも一位置の輝度を抽出することで、前記特定部分の前記明色セル及び前記暗色セルの輝度をそれぞれ検出することを特徴とする。
請求項5の発明は、請求項1から請求項4のいずれかに記載の光学的情報読取装置において、前記輝度検出手段は、前記特定部分に配される、いずれかの前記明色セル及びいずれかの前記暗色セルの各々のセル内において、所定の中心位置及び当該中心位置を挟んだ両側位置の輝度をそれぞれ抽出し、前記特定部分の前記明色セルの輝度を、単一明色セル内の前記中心位置及び前記両側位置での輝度抽出結果に基づいて検出し、前記特定部分の前記暗色セルの輝度を、単一暗色セル内の前記中心位置及び前記両側位置での輝度抽出結果に基づいて検出することを特徴とする。
請求項6の発明は、請求項1から請求項5のいずれか一項に記載の光学的情報読取装置において、前記特定部分検出手段により全ての位置検出パターンが検出されない場合に、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記コントラスト算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎にコントラストを算出し、前記算出結果利用手段は、各処理設定と、各処理設定に対応する各画像処理済データでの前記位置検出パターンの検出結果及び前記コントラストの算出結果と、を対応付けて通知又は記録することを特徴とする。
請求項7の発明は、請求項1から請求項5のいずれか一項に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記コントラスト算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎にコントラストを算出し、前記デコード手段は、複数の前記画像処理済データのうち、前記位置検出パターンが最も多く検出される前記画像処理済データと、前記位置検出パターンのコントラストが最も大きくなる前記画像処理済データと、複数の前記位置検出パターンにおけるコントラストのばらつきが最も小さくなる前記画像処理済データと、についてそれぞれデコード処理を行い、前記算出結果利用手段は、前記デコード処理が行われた複数の前記画像処理済データの中から最も誤り訂正数が少ない前記画像処理済データを選択し、その画像処理済データを得るための前記処理設定を通知又は記録することを特徴とする。
請求項8の発明は、請求項1から請求項5のいずれか一項に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記画像処理手段は、前記特定部分検出手段により前記位置検出パターンが検出された場合、その検出された前記位置検出パターンに対して、又はその検出された前記位置検出パターンとクワイエットゾーンに対して前記画像処理を行い、前記コントラスト算出手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンのコントラストを算出し、前記算出結果利用手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンのコントラストに基づいて前記印字品質情報を生成し、当該印字品質情報を通知又は記録することを特徴とする。
請求項9の発明は、複数の明色セル及び複数の暗色セルからなる情報コードからの反射光を受光する受光手段と、前記受光手段による受光結果に基づいて前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記受光手段による受光結果に基づき前記情報コードの一部を構成する特定部分を検出する特定部分検出手段と、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び暗色セルの少なくともいずれかに基づき、前記特定部分の画像状態を示す評価値を、所定の評価方法に従って算出する算出手段と、前記算出手段によって得られた前記評価値に基づき、当該評価値を反映して得られる前記情報コードの印字品質情報を、ユーザに通知又は記録手段に記録する算出結果利用手段と、を備え、前記算出手段は、前記特定部分の前記評価値として、当該特定部分における前記明色セル及び前記暗色セルの少なくともいずれかの太さ状態を定量化した値である太さ状態値を、所定の太さ状態値算出方法に従って算出する太さ状態値算出手段からなり、前記算出結果利用手段は、前記太さ状態値算出手段にて算出された前記特定部分の前記太さ状態値に基づいて、前記太さ状態値を反映した前記印字品質情報を生成し、当該印字品質情報をユーザに通知又は前記記録手段に記録し、前記情報コードは、QRコードであり、前記特定部分検出手段は、前記QRコードの位置検出パターンを前記特定部分として検出するとともに、前記QRコードにおける全ての前記位置検出パターンの検出を試みる構成をなし、前記太さ状態値算出手段は、前記特定部分検出手段にて検出された前記位置検出パターン毎に前記太さ状態値を算出し、前記算出結果利用手段は、前記太さ状態値算出手段にて算出された前記位置検出パターン毎の前記太さ状態値に基づいて前記印字品質情報を生成し、当該印字品質情報の通知又は記録を行うことを特徴とする。
請求項10の発明は、請求項9に記載の光学的情報読取装置において、前記算出結果利用手段は、前記太さ状態値を評価する上での基準となる太さ基準値が予め定められており、前記太さ状態値算出手段によって算出された前記特定部分の前記太さ状態値と前記太さ基準値との差を示す値、又は前記太さ基準値に対する前記太さ状態値の割合を示す値を前記印字品質情報として通知することを特徴とする。
請求項11の発明は、請求項9又は請求項10に記載の光学的情報読取装置において、前記太さ状態値算出手段は、前記特定部分における前記明色セル及び前記暗色セルのいずれか一方の幅値をW1とし、他方の幅値をW2としたときの、W1とW2との加算値に対する一方の幅値W1の割合を示す値を、前記特定部分の前記太さ状態値として算出することを特徴とする。
請求項12の発明は、請求項9から請求項11のいずれか一項に記載の光学的情報読取装置において、前記太さ状態値算出手段は、前記特定部分に配される前記明色セルの1セル分の幅値と、前記特定部分に配される前記暗色セルの1セル分の幅値とを抽出し、前記明色セルの1セル分の幅値及び前記暗色セルの1セル分の幅値に基づいて前記太さ状態値を算出することを特徴とする。
請求項13の発明は、請求項9から請求項12のいずれか一項に記載の光学的情報読取装置において、前記特定部分検出手段により全ての位置検出パターンが検出されない場合に、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記太さ状態値算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎に前記太さ状態値を算出し、前記算出結果利用手段は、各処理設定と、各処理設定に対応する各画像処理済データでの前記位置検出パターンの検出結果及び前記太さ状態値の算出結果と、を対応付けて通知又は記録することを特徴とする。
請求項14の発明は、請求項13に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記太さ状態値算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎に前記太さ状態値を算出し、前記デコード手段は、複数の前記画像処理済データのうち、前記位置検出パターンが最も多く検出される前記画像処理済データと、前記位置検出パターンの前記太さ状態値が最も適切値に近づく前記画像処理済データと、複数の前記位置検出パターンにおける前記太さ状態値のばらつきが最も小さくなる前記画像処理済データと、についてそれぞれデコード処理を行い、前記算出結果利用手段は、前記デコード処理が行われた複数の前記画像処理済データの中から最も誤り訂正数が少ない前記画像処理済データを選択し、その画像処理済データを得るための前記処理設定を通知又は記録することを特徴とする。
請求項15の発明は、請求項9から請求項12のいずれか一項に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記画像処理手段は、前記特定部分検出手段により前記位置検出パターンが検出された場合、その検出された前記位置検出パターンに対して、又はその検出された前記位置検出パターンとクワイエットゾーンに対して前記画像処理を行い、前記太さ状態値算出手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンの前記太さ状態値を算出し、前記算出結果利用手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンの前記太さ状態値に基づいて前記印字品質情報を生成し、当該印字品質情報を通知又は記録することを特徴とする。
請求項16の発明は、複数の明色セル及び複数の暗色セルからなる情報コードからの反射光を受光する受光手段と、前記受光手段による受光結果に基づいて前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記受光手段による受光結果に基づき前記情報コードの一部を構成する特定部分を検出する特定部分検出手段と、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び暗色セルの少なくともいずれかに基づき、前記特定部分の画像状態を示す評価値を、所定の評価方法に従って算出する算出手段と、前記算出手段によって得られた前記評価値に基づき、当該評価値を反映して得られる前記情報コードの印字品質情報を、ユーザに通知又は記録手段に記録する算出結果利用手段と、を備え、前記算出手段は、前記特定部分の前記評価値として、当該特定部分のかすれ状態を定量化した値であるかすれ状態値を、所定のかすれ状態値算出方法に従って算出するかすれ状態値算出手段からなり、前記算出結果利用手段は、前記かすれ状態値算出手段にて算出された前記特定部分の前記かすれ状態値に基づいて、当該かすれ状態値を反映した前記印字品質情報を生成し、当該印字品質情報をユーザに通知又は前記記録手段に記録し、前記情報コードは、QRコードであり、前記特定部分検出手段は、前記QRコードの位置検出パターンを前記特定部分として検出するとともに、前記QRコードにおける全ての前記位置検出パターンの検出を試みる構成をなし、前記かすれ状態値算出手段は、前記特定部分検出手段にて検出された前記位置検出パターン毎に前記かすれ状態値を算出し、前記算出結果利用手段は、前記かすれ状態値算出手段にて算出された前記位置検出パターン毎の前記かすれ状態値に基づいて前記印字品質情報を生成し、当該印字品質情報の通知又は記録を行うことを特徴とする。
請求項17の発明は、請求項16に記載の光学的情報読取装置において、前記算出結果利用手段は、前記かすれ状態値を評価する上での基準となるかすれ基準値が予め定められており、前記かすれ状態値算出手段によって算出された前記特定部分の前記かすれ状態値と前記かすれ基準値との差を示す値、又は前記かすれ基準値に対する前記かすれ状態値の割合を示す値を前記印字品質情報として通知することを特徴とする。
請求項18の発明は、請求項16又は請求項17に記載の光学的情報読取装置において、前記かすれ状態値算出手段は、前記特定部分における前記暗色セル又は前記明色セルが連続して並ぶべき領域において暗色部と明色部とを抽出し、前記暗色部と前記明色部との配置割合を示す値を、前記特定部分の前記かすれ状態値として算出することを特徴とする。
請求項19の発明は、請求項18に記載の光学的情報読取装置において、前記かすれ状態値算出手段は、前記暗色セル又は前記明色セルが連続して並ぶべき領域において、前記暗色部又は前記明色部が配される配置間隔と、前記暗色部又は前記明色部の幅値とを抽出し、前記配置間隔に対する前記暗色部又は前記明色部の幅値の割合を示す値を、前記特定部分の前記かすれ状態値として算出することを特徴とする。
請求項20の発明は、請求項16から請求項19のいずれか一項に記載の光学的情報読取装置において、前記特定部分検出手段により全ての位置検出パターンが検出されない場合に、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記かすれ状態値算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎に前記かすれ状態値を算出し、前記算出結果利用手段は、各処理設定と、各処理設定に対応する各画像処理済データでの前記位置検出パターンの検出結果及び前記かすれ状態値の算出結果と、を対応付けて通知又は記録することを特徴とする。
請求項21の発明は、請求項20に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行う画像処理手段を備え、前記特定部分検出手段は、各処理設定に従って前記画像処理がなされた後の各画像処理済データに対して前記位置検出パターンの検出を再度試み、前記かすれ状態値算出手段は、各処理設定に対応した各画像処理済データにおいて前記位置検出パターン毎に前記かすれ状態値を算出し、前記デコード手段は、複数の前記画像処理済データのうち、前記位置検出パターンが最も多く検出される前記画像処理済データと、前記位置検出パターンの前記かすれ状態値が最も適切値に近づく前記画像処理済データと、複数の前記位置検出パターンにおける前記かすれ状態値のばらつきが最も小さくなる前記画像処理済データと、についてそれぞれデコード処理を行い、前記算出結果利用手段は、前記デコード処理が行われた複数の前記画像処理済データの中から最も誤り訂正数が少ない前記画像処理済データを選択し、その画像処理済データを得るための前記処理設定を通知又は記録することを特徴とする。
請求項22の発明は、請求項16から請求項19のいずれか一項に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記画像処理手段は、前記特定部分検出手段により前記位置検出パターンが検出された場合、その検出された前記位置検出パターンに対して、又はその検出された前記位置検出パターンとクワイエットゾーンに対して前記画像処理を行い、前記かすれ状態値算出手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンの前記かすれ状態値を算出し、前記算出結果利用手段は、前記画像処理手段により前記画像処理がなされた後の前記位置検出パターンの前記かすれ状態値に基づいて前記印字品質情報を生成し、当該印字品質情報を通知又は記録することを特徴とする。
請求項23の発明は、請求項6から請求項8、請求項13から請求項15、請求項20から請求項22のいずれか一項に記載の光学的情報読取装置において、前記QRコードの前記画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う画像処理手段を備え、前記算出結果利用手段は、前記処理設定に従って前記画像処理がなされた後の画像処理済データに対して前記位置検出パターンの検出又は前記デコード処理が行われたときに、「画像処理前よりも前記位置検出パターンの検出数が増加」、「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果をユーザに通知することを特徴とする。
請求項24の発明は、請求項6から請求項8、請求項13から請求項15、請求項20から請求項23のいずれか一項に記載の光学的情報読取装置において、前記画像処理手段は、前記画像データのダイナミックレンジを変更する変更手段を有することを特徴とする。
請求項25の発明は、請求項1から請求項24のいずれか一項に記載の光学的情報読取装置において、前記情報コードに向けて照明光を照射する照明手段と、前記照明手段を制御する照明制御手段と、前記照明手段の点灯パターンを設定する点灯パターン設定手段と、を備え、前記照明制御手段は、前記点灯パターン設定手段により設定された前記点灯パターンで点灯を行うように前記照明手段を制御することを特徴とする。
請求項26の発明は、請求項25に記載の光学的情報読取装置において、前記生成手段は、前記点灯パターン設定手段により設定変更される各点灯パターンごとの前記受光結果に基づき、前記情報コードの前記画像データを各点灯パターンごとに生成し、前記デコード手段は、各点灯パターンごとの前記画像データについてそれぞれ前記デコード処理を行う構成をなしており、前記算出手段は、各点灯パターンごとの前記画像データのうち、前記デコード手段による前記デコード処理が正常に行われた前記画像データについて前記評価値を算出し、前記算出結果利用手段は、その正常に行われた前記画像データについての前記評価値に基づいて得られる前記印字品質情報をユーザに通知又は前記記録手段に記録することを特徴とする。
請求項27の発明は、請求項25又は請求項26に記載の光学的情報読取装置において、前記照明手段は、複数の照明光源を有してなり、前記点灯パターン設定手段は、少なくともそれら複数の照明光源における点灯位置を設定し、前記照明制御手段は、前記点灯パターン設定手段によって設定された前記点灯位置で点灯を行うように前記照明手段を制御することを特徴とする。
請求項28の発明は、請求項25から請求項27のいずれか一項に記載の光学的情報読取装置において、前記照明手段は、複数色の発光部を有してなり、前記点灯パターン設定手段は、少なくともそれら複数色の発光部における点灯色を設定し、前記照明制御手段は、前記点灯パターン設定手段によって設定された前記点灯色で点灯を行うように前記照明手段を制御することを特徴とする。
請求項29の発明は、複数の明色セル及び複数の暗色セルからなる情報コードからの反射光を受光する受光手段と、前記受光手段による受光結果に基づいて前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記受光手段による受光結果に基づき前記情報コードの一部を構成する特定部分を検出する特定部分検出手段と、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び暗色セルの少なくともいずれかに基づき、前記特定部分の画像状態を示す評価値を、所定の評価方法に従って算出する算出手段と、前記算出手段によって得られた前記評価値に基づき、当該評価値を反映して得られる前記情報コードの印字品質情報を、ユーザに通知又は記録手段に記録する算出結果利用手段と、前記情報コードに向けて照明光を照射する照明手段と、前記照明手段を制御する照明制御手段と、前記照明手段の点灯パターンを設定する点灯パターン設定手段と、を備え、前記照明制御手段は、前記点灯パターン設定手段により設定された前記点灯パターンで点灯を行うように前記照明手段を制御し、前記照明手段は、複数の照明光源を有してなり、前記点灯パターン設定手段は、それら複数の照明光源の各々の点灯時間を設定し、前記照明制御手段は、前記点灯パターン設定手段によって設定された複数の前記照明光源の各々の点灯時間に対応した点灯を行うように前記照明手段を制御することを特徴とする。
請求項30の発明は、請求項29に記載の光学的情報読取装置において、前記照明制御手段は、前記受光手段の露光中に前記照明手段の前記点灯パターンの切り替えを行うことを特徴とする。
請求項31の発明は、複数の明色セル及び複数の暗色セルからなる情報コードからの反射光を受光する受光手段と、前記受光手段による受光結果に基づいて前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに基づいてデコード処理を行うデコード手段と、を備えた光学的情報読取装置であって、前記受光手段による受光結果に基づき前記情報コードの一部を構成する特定部分を検出する特定部分検出手段と、前記特定部分検出手段にて検出された前記特定部分における前記明色セル及び暗色セルの少なくともいずれかに基づき、前記特定部分の画像状態を示す評価値を、所定の評価方法に従って算出する算出手段と、前記算出手段によって得られた前記評価値に基づき、当該評価値を反映して得られる前記情報コードの印字品質情報を、ユーザに通知又は記録手段に記録する算出結果利用手段と、前記情報コードに向けて照明光を照射する照明手段と、前記照明手段を制御する照明制御手段と、前記照明手段の点灯パターンを設定する点灯パターン設定手段と、を備え、前記照明制御手段は、前記点灯パターン設定手段により設定された前記点灯パターンで点灯を行うように前記照明手段を制御し、前記照明制御手段は、前記受光手段の露光中に前記照明手段の前記点灯パターンの切り替えを行うことを特徴とする。
請求項32の発明は、請求項25から請求項31のいずれか一項に記載の光学的情報読取装置において、前記算出結果利用手段は、過去得られた複数の前記印字品質情報を、各々の前記印字品質情報の取得の際に用いられた前記点灯パターンとそれぞれ対応付けて前記記憶手段に蓄積する構成をなしており、前記点灯パターン設定手段は、前記記憶手段に蓄積される過去の前記印字品質情報に対応付けられた過去の前記点灯パターンを、前記照明手段に用いる新たな前記点灯パターンとして設定することを特徴とする。
請求項33の発明は、請求項32に記載の光学的情報読取装置において、前記点灯パターン設定手段は、前記記憶手段に蓄積される複数の過去の前記印字品質情報に対応付けられたそれぞれの前記点灯パターンを、それら複数の過去の前記印字品質情報の印字品質の良い順に順序化し、前記照明制御手段は、前記点灯パターン設定手段によって順序化された前記点灯パターンの順序で点灯を行うように前記照明手段を制御し、前記デコード手段は、それら順序化された各点灯パターンごとの前記画像データについて前記デコード処理を行うことを特徴とする。
請求項34の発明は、請求項33に記載の光学的情報読取装置において、前記点灯パターン設定手段は、当該点灯パターン設定手段により順序化された各点灯パターンごとの前記画像データについてそれぞれ前記デコード手段により前記デコード処理を行ったときに、それら各点灯パターンごとの前記画像データ全てについて読取不良が生じた場合、それら順序化された複数の前記点灯パターン以外の前記点灯パターンを新規点灯パターンとして設定し、前記デコード手段は、前記照明手段を前記新規点灯パターンで点灯させて得られた前記画像データについて前記デコード処理を行い、前記算出手段は、前記新規点灯パターンで点灯させて得られた前記画像データについての前記デコード処理が正常に行われた場合、当該画像データについて前記評価値を算出し、前記算出結果利用手段は、その正常に行われた前記画像データについての前記評価値に基づいて得られる前記印字品質情報をユーザに通知又は前記記録手段に記録することを特徴とする。
請求項1の発明では、情報コードの一部を構成する特定部分に着目し、当該特定部分の画像状態を示す評価値を算出している。このようにすれば、情報コードの全領域に基づいて画像評価する構成と比較して処理の迅速化を実現できる。また、特定部分の評価値を反映して印字品質情報を生成し、それをユーザに通知又は記録手段に記録している。このようにすれば、対象となる情報コードがどのような印字品質であるかを迅速に把握でき、かつ迅速に有効利用できるようになる。
また、情報コードの一部を構成する特定部分に着目し、当該特定部分のコントラストを算出している。このようにすれば、情報コードの全領域に基づいてコントラストを取得する構成と比較して処理の迅速化を実現できる。また、特定部分のコントラストと、当該コントラストを評価する上での基準となるコントラスト基準値とを反映して印字品質情報を生成し、それをユーザに通知又は記録手段に記録している。このようにすれば、対象となる情報コードがどのような印字品質であるかを迅速に把握でき、かつ迅速に有効利用できるようになる。
さらに、QRコードを読取対象とし、当該QRコードの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンをコントラスト算出を行う対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定できコントラストを迅速かつ良好に算出できる。特に、QRコードの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、コントラスト算出処理の一層の迅速化を図ることができる。
そして、QRコードにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎にコントラストを算出し、それら算出された位置検出パターン毎のコントラストに基づいて印字品質情報を生成している。このように、複数の位置検出パターンのコントラストを算出できる構成とし、それらコントラストに基づいて印字品質情報を生成する構成とすれば、印字品質の迅速な把握を実現しつつ、単一の位置検出パターンのコントラストのみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
請求項2の発明では、コントラスト算出手段によって算出された特定部分のコントラストを予め定められた閾値と比較し、特定部分のコントラストと閾値との差を印字品質情報として通知している。このようにすれば、コントラストがどのような状態であるかをユーザにわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。
請求項3の発明では、特定部分における明色セルの輝度をXとし、特定部分における暗色セルの輝度をYとした場合に、以下の式、(X−Y)/Xにて得られる値を特定部分のコントラストとして算出している。このようにすれば、特定部分の暗色セル及び明色セルを良好に反映した数値が得られる。
請求項4の発明では、特定部分に配される明色セルの少なくとも一位置の輝度を抽出し、かつ特定部分に配される暗色セルの少なくとも一位置の輝度を抽出することで、特定部分の明色セル及び暗色セルの輝度をそれぞれ検出している。このように少なくとも一位置の輝度を代表値として抽出すればコントラスト算出処理の迅速化を図ることができる。
請求項5の発明では、特定部分の明色セルの輝度を、単一明色セル内の中心位置及び両側位置での輝度抽出結果に基づいて検出し、特定部分の暗色セルの輝度を、単一暗色セル内の中心位置及び両側位置での輝度抽出結果に基づいて検出している。このようにすれば、特定位置にノイズが集中するような場合にノイズの影響を効果的に抑えることができる。
請求項6の発明は、全ての位置検出パターンが検出されない場合に、QRコードの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎にコントラストを算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及びコントラストの算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及びコントラストの算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
請求項7の発明では、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのコントラストが最も大きくなる画像処理済データと、複数の位置検出パターンにおけるコントラストのばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行い、最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このように、画像処理が効果的になされたと考えられる複数の画像処理済データについてそれぞれデコード処理を行い、さらにその中から最も誤り訂正数が少ない画像処理済データを選択するようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。
請求項8の発明では、位置検出パターンが検出された場合に、その検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行い、その画像処理がなされた後の位置検出パターンのコントラストを算出している。そして、画像処理がなされた後の位置検出パターンのコントラストに基づいて印字品質情報を生成し、当該印字品質情報を通知又は記録するようにしている。このように情報コード全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して行い、その位置検出パターンのコントラストを算出するようにすれば、画像処理の迅速化を図りつつ、画像処理後の位置検出パターンのコントラスト算出結果を利用できるようになる。
請求項9の発明では、情報コードの一部を構成する特定部分に着目し、この特定部分の画像状態を示す評価値として、当該特定部分における明色セル及び暗色セルの少なくともいずれかの太さ状態を定量化した値である太さ状態値を、所定の太さ状態値算出方法に従って算出している。このようにすれば、情報コードの全領域について太さ状態を算出する構成と比較して処理の迅速化を実現でき、またどのような太さ状態であるかを定量的に把握できる。さらに、特定部分の太さ状態値を反映して印字品質情報を生成し、それをユーザに通知又は記録手段に記録している。このようにすれば、対象となる情報コードがどのような印字品質であるか(具体的には、セルがどのような太さ状態であるか)を迅速に把握でき、かつ迅速に有効利用できるようになる。
また、QRコードを読取対象とし、当該QRコードの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンを、太さ状態値を算出する対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定でき、太さ状態値を迅速かつ良好に算出できる。特に、QRコードの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、太さ状態値算出処理の一層の迅速化を図ることができる。
さらに、QRコードにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎に太さ状態値を算出し、それら算出された位置検出パターン毎の太さ状態値に基づいて印字品質情報を生成している。このように、複数の位置検出パターンの太さ状態値を算出する構成とすれば、QRコードにおける互いに距離を隔てた複数位置において複雑な処理を用いることなく太さ状態値を迅速に算出でき、更に、それら太さ状態値に基づいて印字品質情報を生成する構成とすれば、単一の位置検出パターンの太さ状態値のみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
請求項10の発明では、太さ状態値算出手段によって算出された特定部分の太さ状態値を予め定められた太さ基準値と比較し、特定部分の太さ状態値と太さ基準値との差を示す値、或いは、太さ基準値に対する太さ状態値の割合を示す値を印字品質情報として通知している。このようにすれば、セルがどのような太さ状態であるか(換言すれば、セルの太り細りがどのような程度であるか)をユーザによりわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。
請求項11の発明では、特定部分における明色セル及び暗色セルのいずれか一方の幅値をW1とし、他方の幅値をW2としたときの、W1とW2との加算値に対する一方の幅値W1の割合を示す値を、特定部分の太さ状態値として算出している。このようにすれば、明色セルと暗色セルのそれぞれの幅がどのような比率であるかを適切に定量化でき、暗色セル或いは明色セルの太さ状態を良好に反映した数値が得られる。
請求項12の発明では、特定部分に配される明色セルの1セル分の幅値と、特定部分に配される暗色セルの1セル分の幅値とを抽出し、明色セルの1セル分の幅値及び暗色セルの1セル分の幅値に基づいて太さ状態値を算出している。このようにすると、より迅速かつ効果的に太さ状態値を算出できる。
請求項13の発明は、全ての位置検出パターンが検出されない場合に、QRコードの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎に太さ状態値を算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及び太さ状態値の算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及び太さ状態値の算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
請求項14の発明では、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンの太さ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおける太さ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行っている。このようにすれば、画像処理が効果的になされたと考えられる複数の画像処理済データに対し選択的にデコード処理を行うことができる。更に、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。
請求項15の発明では、位置検出パターンが検出された場合に、その検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行っている。このように情報コード全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して選択的に行うようにすれば、太さ状態値を得るために必要な領域に対して効率的に画像処理を行うことができ、画像処理を適切かつ迅速に行うことができる。更に、その画像処理がなされた後の位置検出パターンの太さ状態値に基づいて印字品質情報を生成し、当該印字品質情報を通知又は記録しているため、画像処理後の位置検出パターンの太さ状態値を有効利用できるようになる。
請求項16の発明は、情報コードの一部を構成する特定部分に着目し、この特定部分の画像状態を示す評価値として、当該特定部分のかすれ状態を定量化した値であるかすれ状態値を、所定のかすれ状態値算出方法に従って算出している。このようにすれば、情報コードの全領域についてかすれ状態を算出する構成と比較して処理の迅速化を実現でき、またどのようなかすれ状態であるかを定量的に把握できる。さらに、特定部分のかすれ状態値を反映して印字品質情報を生成し、それをユーザに通知又は記録手段に記録しており、このようにすれば、対象となる情報コードがどのような印字品質であるか(具体的には、セルがどのようなかすれ状態であるか)を迅速に把握でき、かつ迅速に有効利用できるようになる。
また、QRコードを読取対象とし、当該QRコードの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンを、かすれ状態値を算出する対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定でき、かすれ状態値を迅速かつ良好に算出できる。特に、QRコードの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、かすれ状態値算出処理の一層の迅速化を図ることができる。
さらに、QRコードにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎にかすれ状態値を算出し、それら算出された位置検出パターン毎のかすれ状態値に基づいて印字品質情報を生成している。このように、複数の位置検出パターンのかすれ状態値を算出する構成とすれば、QRコードにおける互いに距離を隔てた複数位置において複雑な処理を用いることなくかすれ状態値を迅速に算出でき、更に、それらかすれ状態値に基づいて印字品質情報を生成する構成とすれば、単一の位置検出パターンのかすれ状態値のみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
請求項17の発明は、かすれ状態値算出手段によって算出された特定部分のかすれ状態値を予め定められたかすれ基準値と比較し、特定部分のかすれ状態値とかすれ基準値との差を示す値、又はかすれ基準値に対するかすれ状態値の割合を示す値を印字品質情報として通知している。このようにすれば、セルがどのようなかすれ状態であるかをユーザによりわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。
請求項18の発明では、特定部分における暗色セル又は明色セルが連続して並ぶべき領域において暗色部と明色部とを抽出し、暗色部と明色部との配置割合を示す値を、特定部分のかすれ状態値として算出している。このようにすれば、本来配置されるべき暗色領域又は明色領域に対する実際の暗色部又は明色部の割合を適切に定量化でき、セルのかすれ状態を精度高く反映した数値が得られる。
請求項19の発明では、暗色セル又は明色セルが連続して並ぶべき領域において、暗色部又は明色部が配される配置間隔と、暗色部又は明色部の幅値とを抽出し、配置間隔に対する暗色部又は明色部の幅値の割合を示す値を、特定部分のかすれ状態値として算出している。このようにすれば、明色部と暗色部の配置割合を、より迅速に、且つ良好に定量化できる。
請求項20の発明は、全ての位置検出パターンが検出されない場合に、QRコードの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎にかすれ状態値を算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及びかすれ状態値の算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及びかすれ状態値の算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
請求項21の発明は、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのかすれ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおけるかすれ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行っている。このようにすれば、画像処理が効果的になされたと考えられる複数の画像処理済データに対し選択的にデコード処理を行うことができる。更に、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。
請求項22の発明は、位置検出パターンが検出された場合に、その検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行っている。このように情報コード全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して選択的に行うようにすれば、かすれ状態値を得るために必要な領域に対して効率的に画像処理を行うことができ、画像処理を適切かつ迅速に行うことができる。更に、その画像処理がなされた後の位置検出パターンのかすれ状態値に基づいて印字品質情報を生成し、当該印字品質情報を通知又は記録しているため画像処理後の位置検出パターンのかすれ状態値を有効利用できるようになる。
請求項23の発明は、QRコードの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う構成をなしており、各処理設定に従って画像処理がなされた後の画像処理済データに対して位置検出パターンの検出又はデコード処理が行われたときに、「画像処理前よりも位置検出パターンの検出数が増加」、「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果をユーザに通知する構成とされている。このようにすれば、画像処理が効果的になされたときにその旨をユーザに伝達でき、ユーザは当該結果を有効利用できるようになる。
請求項24の発明では、画像処理手段が、画像データのダイナミックレンジを変更する変更手段を有しているため、画像処理の自由度がより大きくなる。
請求項25の発明では、点灯パターン設定手段により設定された点灯パターンで照明手段の点灯が行われるように制御がなされる構成となっている。このようにすれば、照明手段の点灯パターンを切り替えて使用でき、点灯パターンに応じた印字品質情報を取得、利用できる。
請求項26の発明では、各点灯パターンごとの画像データのうち、デコード処理が正常に行われた画像データについて評価値を算出し、その評価値に基づいて得られる印字品質情報をユーザに通知又は記録手段に記録している。このようにすると、ある点灯パターンでデコード処理が正常に行われない場合であっても点灯パターンを変更してデコード処理成功の確率を高めることができる。更に、ある点灯パターンでは印字品質情報が得られなくても、点灯パターンを変更して印字品質情報を取得できる可能性を高めることができ、印字品質情報を取得及び利用する上でより一層有利となる。
請求項27の発明では、点灯パターン設定手段により、複数の照明光源における点灯位置を設定し、その設定された点灯位置で点灯を行うように照明手段を制御している。このようにすると、点灯位置の変更によって画像状態が変わりやすい場合(例えばダイレクトマーキングによって得られた情報コードを読み取る場合等)にデコード成功の可能性を効果的に高めることができ、このような場合により有利となる。
請求項28の発明では、点灯パターン設定手段により、複数色の発光部における点灯色を設定し、その設定された点灯色で点灯を行うように照明手段を制御している。このようにすると、点灯色の変更によって画像状態が変わりやすい場合にデコード成功の可能性を効果的に高めることができ、このような読み取りの場合により有利となる。
請求項29の発明は、点灯パターン設定手段により、複数の照明光源の各々の点灯時間を設定し、その設定された複数の照明光源の各々の点灯時間に対応した点灯を行うように照明手段を制御している。このようにすると、点灯パターンを簡易且つ良好に切り替えることができる。
請求項30の発明は、受光手段の露光中に照明手段の点灯パターンの切り替えを行う構成をなしている。このようにすると、短時間でより多くの点灯パターンを用いることができるようになる。
請求項32の発明では、過去得られた複数の印字品質情報を、各々の印字品質情報の取得の際に用いられた点灯パターンとそれぞれ対応付けて記憶手段に蓄積しておき、その蓄積される過去の点灯パターンを、新たな点灯パターンとして設定するようにしている。このようにすると、どの点灯パターンで過去どのような印字品質情報が得られたかを把握した上で点灯パターンを設定できるため、期待する印字品質を得られやすい点灯パターンを設定しやすくなる。
請求項33の発明では、複数の過去の印字品質情報に対応付けられたそれぞれの点灯パターンを、それら複数の過去の印字品質情報の印字品質の良い順に順序化し、その順序で点灯を行うように照明手段を制御している。このようにすると、より良好な印字品質が得られやすい点灯パターンを優先的に点灯を行うことができ、デコードが正常に行われる可能性の高い画像データをより迅速に取得できる。更に、このように順序化された各点灯パターンごとの画像データについてそれぞれデコード処理を行うようにしているため、情報コードについての正常な解読がより迅速に行われ、更には、正常に解読された画像データについての印字品質情報をより迅速に取得、利用できるようになる。
請求項34の発明では、順序化された各点灯パターンごとの画像データ全てについて読取不良が生じた場合、それら順序化された複数の点灯パターン以外の新規点灯パターンを設定している。このようにすると、過去蓄積された点灯パターンによって望ましい結果が得られなくても、それら以外の点灯パターンを新たに試すことができる。更に、その新規点灯パターンで点灯させて得られた画像データについてデコード処理が正常に行われた場合、その画像データについての印字品質情報をユーザに通知又は記録手段に記録するようにしている。このようにすると、次善策として新規点灯パターンを試行した上で、その新規点灯パターンについての結果をより有効に利用できるようになる。
[第1実施形態]
以下、本発明の光学的情報読取装置を具現化した第1実施形態について、図面を参照して説明する。図1は本発明の光学情報読取装置の第1実施形態に係る情報コードリーダ20を概略的に例示するブロック図である。
図1に示すように、情報コードリーダ20は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、複数の照明光源21が設けられており、図略のハウジングの読取口を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には情報コードQとして例えば二次元コードが印刷されている。なお、図1では、2つの照明光源21を図示しているが、これ以外の照明光源が別の位置に配されていてもよい。
受光センサ23は、読取対象物Rや情報コードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ23の受光面23aは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ23は、結像レンズ27を介して入射する入射光をこの受光面23aで受光可能に図略のプリント配線板に実装されている。なお、本実施形態では、受光センサ23が「受光手段」の一例に相当する。
フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。
結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源21から照射された照明光Lfが情報コードQに反射して読取口に入射する反射光Lrを集光することにより、受光センサ23の受光面23aに情報コードQのコード画像を結像可能にしている。
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された情報コードQの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該情報コードリーダ20の全体システムに関する制御も行っている。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理、評価処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
制御回路40は、情報コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等を接続されている。
これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取った情報コードQによるコード内容を画面表示可能な液晶表示装置46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該情報コードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。また、電池49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該電池49は不要となる。
このように情報コードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、情報コードQの読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、作業者がトリガースイッチを押圧しオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。
すると、情報コードQに照射された照明光Lfが反射しその反射光Lrが読取口およびフィルタ25を介して結像レンズ27に入射するため、受光センサ23の受光面23aには、結像レンズ27により情報コードQの像、つまりコード画像が結像される。これにより、受光面23aを構成する各受光素子が露光され、各受光素子から受光量に応じた信号がそれぞれ出力される。各受光素子から出力される信号は、情報コードの画像データを構成するものであり、この画像データを2値化した後、所定のデコード処理を施すことによって、情報コードQとして符号化された文字データ等が解読されることとなる。解読された内容は液晶表示器46に表示したり、通信インターフェース48を介してホストコンピュータHSTに出力したりすることができる。なお、本実施形態では、制御回路40が「デコード手段」の一例に相当する。
次に、情報コードリーダ20を用いた評価処理について説明する。
図2は評価処理の流れを例示するフローチャートである。この評価処理はメモリ35に記憶されるプログラムに従って制御回路40によって実行されるものであり、所定の操作をトリガとして開始されたり、或いは読取処理のサブルーチンとして実施されたりするものである。当該評価処理が開始されると、まず、画像取得処理が行われる(S1)。画像取得処理は、当該処理実施時における受光センサ23による受光結果に基づいて情報コードの画像データを生成し、メモリ35に記憶する処理である。なお、情報コードの画像データを生成し、メモリ35に記憶する流れは上述した通りであり、本実施形態では、制御回路40が「生成手段」の一例に相当する。
次いで、Nの値を初期状態に設定する処理を行う(S2)。このNは画像処理を行う際の処理設定のカウンタとして機能するものであり、N=1のときには後述する画像処理において1番目の処理設定が用いられ、N=2のときには後述する画像処理において2番目の処理設定が用いられるようになっている。
次に、位置検出パターン(以下FPパターンとも称する)の検出処理が行われる(S3)。本実施形態では情報コードの例としてQRコードを挙げており、S3では、QRコードにおける全ての位置検出パターンの検出を試みるように処理が行われる。QRコードの位置検出パターンの検出処理は公知であるので詳細は省略するが、概要としては明色セル、暗色セルの並びが特定の比率(1:1:3:1:1)となる部位を検出するように処理が行われる。
なお、位置検出パターンは「特定部分」の一例に相当する。また、制御回路40は、「特定部分検出手段」の一例に相当し、受光センサ23による受光結果に基づき(即ち、S1の画像取得処理により得られた画像データに基づき)QRコードの一部を構成する位置検出パターンを検出するように機能する。
次に、上記位置検出パターン検出処理によって検出された位置検出パターンの数が「3」であるか否かを判断する(S4)。QRコードはその規格上3つの位置検出パターンが配置されるため、位置検出パターンが3つ検出されたということは、全ての位置検出パターンが検出されたことを意味する。この場合にはS4にてYesに進み、S5にてコントラスト算出・デコード処理を実施する。
S5のコントラスト算出・デコード処理では、まずS3にて検出された位置検出パターンについて、各位置検出パターン毎にコントラストの算出が行われる。コントラストの算出は、S3にて検出されたそれぞれの位置検出パターンにおいて、明色セル及び暗色セルの輝度を検出し、その検出結果を所定の演算式に当てはめるようになされる。
図3は、画像データ内の1つの位置検出パターンFP1(図6(a)も参照)を拡大して説明する説明図である。本実施形態では、位置検出パターンFP1に配される複数の明色セルの輝度、及び複数の暗色セルの輝度をそれぞれ算出しており、具体的には、図3のように、明色セル、暗色セルの並びが特定の比率(1:1:3:1:1)となるライン上に配される複数の明色セルA1、A2、A3、A4及び複数の暗色セルB1、B2、B3に着目し、各々のセルA1〜A4、B1〜B3の輝度をそれぞれ算出している。
各セルにおける輝度の算出は、各々のセル内において、所定の中心位置及び当該中心位置を挟んだ両側位置の輝度をそれぞれ抽出するようになされる。図4は、代表例として明色セルA1における輝度の検出を説明しており、図4に示すように、セル内の中心位置P1の輝度X1を抽出すると共に、中心位置P1を挟んだ左右両側位置P2,P3の輝度X2、X3、及び中心位置P1を挟んだ上下両側位置P4,P5の輝度X4、X5をそれぞれ抽出している。図4の例では、左右方向(受光センサ23における画像素子の行方向に対応する方向)において、一端側の端部Paと中心位置P1との中間位置を左側位置P2とし、一端側の端部Pbと中心位置P1との中間位置を右側位置P3としている。また、上下方向(受光センサ23における画像素子の列方向に対応する方向)において、一端側の端部Pcと中心位置P1との中間位置を上側位置P4とし、一端側の端部Pdと中心位置P1との中間位置を下側位置P5としている。
そして、このように抽出される単一明色セル内の各位置(即ち、中心位置P1、左右両側位置P2、P3、上下両側位置P4,P5)での輝度抽出結果に基づいて、位置検出パターンFP1の明色セルA1の輝度Xが算出される。これら各位置P1〜P5の輝度値に基づいて明色セルA1の輝度Xを算出する方法としては様々な例が考えられるが、本実施形態では、各位置P1〜P5での輝度X1〜X5の平均値(即ち(X1+X2+X3+X4+X5)/5)を明色セルA1の輝度Xaとしている。他の明色セルA2、A3、A4の輝度Xb、Xc、Xdも同様に算出される。そして、これら明色セルA1、A2、A3、A4の輝度Xa、Xb、Xc、Xdの平均値(即ち、(Xa+Xb+Xc+Xd)/4)を明色セルの輝度Xとしている。
また、暗色セルの輝度Yも同様であり、例えば暗色セルB1の場合、単一暗色セル内の中心位置の輝度Y1、左右両側位置の輝度Y2、Y3、上下両側位置での輝度Y4、Y5に基づき、その平均値(即ち、Y1+Y2+Y3+Y4+Y5)/5)を暗色セルB1の輝度Yaとしている。他の暗色セルB2、B3の輝度Yb、Ycも同様に算出される。そして、これら暗色セルB1、B2、B3の輝度Ya、Yb、Ycの平均値(即ち、(Ya+Yb+Yc)/3)を暗色セルの輝度Yとしている。
そして、このように得られた明色セルの輝度X及び暗色セルの輝度Yをパラメータとして予め定められたコントラスト算出式に基づいて位置検出パターンFP1のコントラストC1を算出する。本実施形態では、(X−Y)/Xにて得られる値を位置検出パターンFP1のコントラストC1としている。なお、上記説明では位置検出パターンFP1のコントラストC1を検出する方法を説明したが、他の位置検出パターンFP2、FP3のコントラストC2、C3も同様の方法で検出される。
そして、上記のようにして得られた3つの位置検出パターンFP1、FP2、FP3のコントラストC1,C2,C3の平均値Ca(Ca=(C1+C2+C3)/3)を算出し、この平均値CaをQRコードQのコントラストとして扱う。
なお、本実施形態では制御回路40が、「輝度検出手段」「コントラスト算出手段」の一例に相当する。
また、S5のコントラスト算出、デコード処理では、QRコードQのコントラストCaのみならず、余裕度の算出をも行っている。本実施形態では、予め定められた閾値Cs(閾値Csはコントラストを評価する上での基準情報に相当する)と得られたコントラストCaとを比較し、閾値CsとコントラストCaとの差Cs−Caを余裕度Cdとしている。なお、この余裕度Cdは「印字品質情報」の一例に相当するものである。
また、S5では、併せてデコード処理が行われる。具体的には現在の画像データ(S1にて取得した画像データ、なおS10又はS11にて画像処理が行われた後の画像処理済データが存在する場合にはその画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、得られた余裕度Cdや誤り訂正数をメモリ35に記憶する記憶処理が行われる(S6)。図5(a)は、このときにメモリ35に記憶される記憶内容を例示するものであり、本実施形態では、S5の処理対象のデータについて、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各コントラストC1、C2、C3、位置検出パターンのコントラストの平均値Ca、余裕度Cd、S5のデコード処理の可否、誤り訂正数がそれぞれ記憶される。
このS6の記憶処理は、後述する画像処理(S10又はS11)が行われない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かは現在のNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」としてN−1番目の画像処理設定の情報を対応付けて記憶する。
なお、図2の例ではS5にて得られた余裕度Cd等についての記憶を行っているが、このような余裕度Cdや他の情報(画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各コントラストC1、C2、C3、位置検出パターンのコントラストの平均値Ca、S5のデコード処理の可否、誤り訂正数のいずれか1又は複数)を液晶表示器46に出力し、ユーザに通知するようにしてもよい。
本実施形態では、余裕度Cdが「印字品質情報」の一例に相当し、算出された位置検出パターン毎のコントラストに基づいて余裕度Cdが算出されるようになっている。
また、本実施形態では、制御回路40及びメモリ35が「算出結果利用手段」の一例に相当し、位置検出パターンのコントラスト(上記例ではCa)と、当該コントラストCaを評価する上での基準となる閾値Csと、を反映して得られるQRコードQの余裕度Cdをメモリ35に記憶するように機能する。
また、制御回路40及び液晶表示器46は「算出結果利用手段」として機能し、QRコードQの余裕度Cdをユーザに通知するように機能する。
一方、S4にて位置検出パターンの検出数が3でないと判断された場合にはS4にてNoに進み、S7において検出数が0であるか否かを判断する。0でない場合には、S7にてNoに進み、S8においてS5と同様のコントラスト算出・デコード処理処理を行う。S5では3つの位置検出パターンFP1〜FP3のそれぞれのコントラストC1〜C3を算出し平均値Caを求めていたが、S8では、S2にて検出された位置検出パターンの分だけコントラストを算出する。各位置検出パターンのコントラストを算出する方法はS5と同様であり、また、S5と同様に、各位置検出パターンのコントラストの平均値Cbも算出する。
また、S8のコントラスト算出、デコード処理でも、QRコードQのコントラスト(即ち、各位置検出パターンのコントラストの平均値Cb)のみならず、余裕度の算出をも行っている。具体的にはS5と同様に、閾値Csと得られたコントラスト(即ち、平均値Cb)との差Cs−Cbを余裕度Cdとしている。
また、S8でも、デコード処理が行われる。具体的には現在の画像データ(S1にて取得した画像データ、既にS10又はS11にて画像処理が行われている場合には直前の画像処理後の画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、S6と同様に、得られた余裕度Cdや誤り訂正数をメモリ35に記憶する記憶処理が行われる(S9)。図5(b)はこのときの記憶例を示すものであり、S8の処理対象のデータについて、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各コントラスト、位置検出パターンのコントラストの平均値Cb、余裕度Cd、S8のデコード処理の可否、誤り訂正数がそれぞれ記憶される。
このS9の記憶処理は、後述する画像処理(S10又はS11)が行われない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かはNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として、「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」として、N−1番目の画像処理設定の情報を対応付けて記憶する。
その後、画像処理が行われる(S10)。S10では、、予め登録されている複数の処理設定の中からいずれかの処理設定が用いられ、S1にて取得された画像データに対して画像処理が行われる。S10で用いられる処理設定は、N番目の処理設定であり、現在のNの値が1であれば1番目の処理設定が用いられ、現在のNの値が2であれば2番目の処理設定が用いられることとなる。処理設定としては画像処理に用いる様々な設定を採用でき、本実施形態では、例えば3×3平滑処理、5×5平滑処理、5×5膨張処理などを例示している。また、「画像データのダイナミックレンジを変更する処理」も処理設定として採用されている。例えば現在のNの値が1であり、1番目の処理設定が3×3平滑処理であれば、S10においては、S1にて得られた画像データに対して3×3平滑処理による画像処理が行われる。また、現在のNの値が3であり、3番目の処理設定が5×5膨張処理であればS10では、S1にて得られた画像データに対して5×5膨張処理による画像処理が行われることとなる。
一方、S7にて位置検出パターンの検出数が0と判断された場合には、S7にてYesに進み、S10と同様の画像処理を行う。この画像処理もS10と同様であり、S1にて取得した画像データに対してN番目の処理設定を用いて画像処理を行うこととなる。
S10又はS11の画像処理が終了すると、S12にてNの値がインクリメントされ、S13にて全ての処理設定について画像処理が終了したか判断される。予め登録されている処理設定全てについて画像処理が完了した場合にはS13にてYesに進み、当該評価処理を終了する。一方、登録された処理設定の全てについて画像処理が完了していない場合にはS13にてNoに進み、S3以降の処理を繰り返すこととなる。
本実施形態では、S3において全ての位置検出パターンが検出されない場合(即ち、S4にてNoとなる場合)に、S10又はS11においてQRコードQの画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行うことができるようになっており、S3において、画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるようになっている。そして、S5又はS8において、各処理設定に対応した各画像処理済データに対し位置検出パターン毎にコントラストを算出し、その後のS6又はS9において、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果と、コントラストの算出結果と、を対応付けて通知又は記録するようになっている。例えば、S1の処理において図6(a)に示す画像データが取得され、初回のS3の処理では領域Mに配置される1つの位置検出パターンFP1のみしか検出できなかった場合、S10においてNの値に基づく画像処理が行われ、図6(b)のような画像処理済データが得られることとなる。そして、このような画像処理済データに対してS3において位置検出パターンの検出が再度なされ、かつS5又はS8においてコントラスト算出・デコード処理が行われる。このとき、画像処理前よりもコントラストが増大したり、誤り訂正数が減少したり、或いは画像処理前にデコードできなかったものがデコードできるようになった場合、画像処理が有効であったといえる。本実施形態では、このような事情を考慮し、画像処理に用いる処理設定と、その処理設定に基づいて画像処理がなされた後の評価結果と、を対応付けて記憶或いは通知しているため、当該評価処理以降において同様の読み取りを行う際に当該情報を役立てることができる。
なお、図2の評価処理において、S13の後に更にデコード処理を行うようにしてもよい。具体的には、S1〜S13の処理にて得られた複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのコントラストが最も大きくなる画像処理済データと、複数の位置検出パターンにおけるコントラストのばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行い、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしてもよい。
また、S10又はS11において画像処理がなされた後の画像処理済データに対しその後のS3において位置検出パターンの検出が行われたときに、画像処理前よりも位置検出パターンの検出数が増加した場合には、その結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。また、S10又はS11において画像処理がなされた後の画像処理済データに対しその後のS5又はS8においてデコード処理が行われたときに「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。
本実施形態では、QRコードQの一部を構成する位置検出パターンに着目し、当該位置検出パターンのコントラストを算出している。このようにすれば、QRコードQの全領域に基づいてコントラストを取得する構成と比較して処理の迅速化を実現できる。また、位置検出パターンのコントラストと、当該コントラストを評価する上での基準情報(閾値)を反映して印字品質情報(余裕度)を生成し、それをユーザに通知又は記録手段に記録している。このようにすれば、対象となるQRコードQがどのような印字品質であるかを迅速に把握でき、かつ迅速に有効利用できるようになる。
また、位置検出パターンのコントラストと閾値との差を表した余裕度を印字品質情報として通知している。このようにすれば、コントラストがどのような状態であるかをユーザにわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。
また、位置検出パターンにおける明色セルの輝度をXとし、位置検出パターンにおける暗色セルの輝度をYとした場合に、以下の式、(X−Y)/Xにて得られる値を位置検出パターンのコントラストとして算出している。このようにすれば、位置検出パターンの暗色セル及び明色セルを良好に反映した数値が得られる。
また、位置検出パターンに配される明色セルの少なくとも一位置の輝度を抽出し、かつ位置検出パターンに配される暗色セルの少なくとも一位置の輝度を抽出することで、位置検出パターンの明色セル及び暗色セルの輝度をそれぞれ検出している。このように少なくとも一位置の輝度を代表値として抽出すればコントラスト算出処理の迅速化を図ることができる。
また、位置検出パターンの明色セルの輝度を、単一明色セル内の中心位置及び両側位置での輝度抽出結果に基づいて検出し、位置検出パターンの暗色セルの輝度を、単一暗色セル内の中心位置及び両側位置での輝度抽出結果に基づいて検出している。このようにすれば、特定位置にノイズが集中するような場合にノイズの影響を効果的に抑えることができる。
また、QRコードQを読取対象とし、当該QRコードQの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンをコントラスト算出を行う対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定できコントラストを迅速かつ良好に算出できる。特に、QRコードQの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、コントラスト算出処理の一層の迅速化を図ることができる。
また、QRコードQにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎にコントラストを算出し、それら算出された位置検出パターン毎のコントラストに基づいて印字品質情報(余裕度)を生成している。このように、複数の位置検出パターンのコントラストを算出できる構成とし、それらコントラストに基づいて印字品質情報(余裕度)を生成する構成とすれば、印字品質の迅速な把握を実現しつつ、単一の位置検出パターンのコントラストのみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
また、全ての位置検出パターンが検出されない場合に、QRコードQの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎にコントラストを算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及びコントラストの算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及びコントラストの算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
また、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのコントラストが最も大きくなる画像処理済データと、複数の位置検出パターンにおけるコントラストのばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行い、最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このように、画像処理が効果的になされたと考えられる複数の画像処理済データについてそれぞれデコード処理を行い、さらにその中から最も誤り訂正数が少ない画像処理済データを選択するようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。
また、QRコードQの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行う構成をなしており、各処理設定に従って画像処理がなされた後の画像処理済データに対して位置検出パターンの検出又はデコード処理が行われたときに、「画像処理前よりも位置検出パターンの検出数が増加」、「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果をユーザに通知する構成とされている。このようにすれば、画像処理が効果的になされたときにその旨をユーザに伝達でき、ユーザは当該結果を有効利用できるようになる。
また、画像処理手段が、画像データのダイナミックレンジを変更する変更手段を有しているため、画像処理の自由度がより大きくなる。
[第2実施形態]
次に、第2実施形態について説明する。第2実施形態は、評価処理の内容のみが第1実施形態と異なり、電気的構成については第1実施形態と同一である。よって、電気的構成については第1実施形態と同一であるとして詳細な説明は省略し、適宜図1を参照して説明することとする。
なお、本実施形態でも、図1の受光センサ23が、「受光手段」の一例に相当し、制御回路40が「デコード手段」の一例に相当する。
以下、図7等を参照し、第2実施形態で行われる評価処理について説明する。図7は、第2実施形態の評価処理の流れを例示するフローチャートである。また、図8は、位置検出パターンにおける太さ状態値の算出を説明する説明図である。また、図9(a)は、S206においてメモリに記憶されるデータ構成例を示す説明図であり、図9(b)は、S206及びS209においてメモリに記憶されるデータ構成例を示す説明図である。
本実施形態で行われる評価処理もメモリ35に記憶されるプログラムに従って制御回路40によって実行されるものであり、所定の操作をトリガとして開始されたり、或いは読取処理のサブルーチンとして実施されたりするものである。当該評価処理が開始されると、まず、画像取得処理が行われ、(S201)、次いで、Nの値を初期状態に設定する処理が行われる(S202)。なお、S201の処理は、図2のS1と同一の処理であり、S202の処理は、図2のS2と同一の処理である。また、本実施形態でも、制御回路40(図1)が「生成手段」の一例に相当する。
次に、位置検出パターン(以下FPパターンとも称する)の検出処理が行われる(S203)。本実施形態でも情報コードの例としてQRコードを用いており、S203の処理は、図2のS3と同様に、QRコードにおける全ての位置検出パターンの検出を試みるように行われる。
なお、本実施形態でも、位置検出パターンが「特定部分」の一例に相当する。また、図1の制御回路40が、「特定部分検出手段」の一例に相当し、受光センサ23による受光結果に基づき(即ち、S201の画像取得処理により得られた画像データに基づき)QRコードの一部を構成する位置検出パターンを検出するように機能する。
次に、上記位置検出パターン検出処理によって検出された位置検出パターンの数が「3」であるか否かを判断する(S204)。位置検出パターンが3つ検出された場合(即ち、全ての位置検出パターンが検出された場合)、S204にてYesに進み、S205にて太さ状態値算出・デコード処理を実施する。
S205の太さ状態値算出・デコード処理では、まず、位置検出パターン(特定部分)の画像状態を示す評価値を算出する。なお、本実施形態では、制御回路40が、「算出手段」「太さ状態値算出手段」の一例に相当し、S203で検出された位置検出パターンにおける明色セル及び暗色セルの少なくともいずれかに基づき、当該位置検出パターンの画像状態を示す評価値を、所定の評価方法に従って算出するように機能する。より具体的には、S205又はS208で算出される「太さ状態値」が、「特定部分の画像状態を示す評価値」の一例に相当し、後述する太さ状態値算出方法が「所定の評価方法」の一例に相当している。
S205の太さ状態値算出・デコード処理では、S203にて検出された位置検出パターンについて、各位置検出パターン毎に太さ状態値の算出が行われる。なお、「太さ状態値」は、特定部分(本実施形態では位置検出パターン)における明色セル及び暗色セルの少なくともいずれかの太さ状態を定量化した値であればよく、本実施形態の例では、後述する太さ状態値算出方法によって得られる値を太さ状態値としている。
各位置検出パターン毎に太さ状態値を算出するに際しては、まず、S203にて検出されたいずれかの位置検出パターンにおいて、明色セル及び暗色セルの幅値を算出する。具体的には、図8(a)のように、S203で特定されたいずれかの位置検出パターンにおいて明色セル1セル分の幅値Wa1及び暗色セル1セル分の幅値Wb1をそれぞれ抽出する。そして、それら幅値Wa1とWb1との加算値(Wa1+Wb1)に対する暗色セルの幅値Wb1の割合を示す値であるWb1/(Wa1+Wb1)を算出し、この値Wb1/(Wa1+Wb1)を当該位置検出パターンの太さ状態値D1とする。そして、同様に残り2つの位置検出パターンについての太さ状態値D2、D3も算出し、更に、それら3つの位置検出パターンの太さ状態値D1、D2、D3の平均値Da(Da=(D1+D2+D3)/3)を算出する。本実施形態ではこのように得られた平均値DaをQRコードQの太さ状態値としている。
なお、上記の例では、各位置検出パターン(特定部分)の太さ状態値を算出するに際し、各位置検出パターンにおいて、明色セルの1セル分の幅値及び暗色セルの1セル分の幅値を抽出し、これら1セル分の幅値及びに基づいて当該位置検出パターンの太さ状態値を算出しているが、各位置検出パターンの太さ状態値を算出する際に用いられる「明色セルの幅値」を複数の明色セルに基づいて算出し、同様に「暗色セルの幅値」を複数の暗色セルに基づいて算出してもよい。例えば、図8(a)のように所定の2位置の明色セルの幅値Wa1、Wa2を抽出し、これらの平均値Wa(Wa=(Wa1+Wa2)/2)を明色セルの幅値としてもよい。同様に、所定の2位置の暗色セルの幅値Wb1、Wb2を抽出し、これらの平均値Wb(Wb=(Wb1+Wb2)/2)を暗色セルの幅値としてもよい。この場合、それら平均値Wa及びWbの加算値(Wa+Wb)に対する暗色セルの平均値Wbの割合を示す値であるWb/(Wa+Wb)を当該位置検出パターンの太さ状態値D1として扱うことができる。そして、同様の方法で残り2つの位置検出パターンの太さ状態値D2、D3を算出し、それらD1、D2、D3の平均値DaをQRコードQの太さ状態値として扱うことができる。
また、上記幅値Wa1、Wb1の抽出は例えば画素数の検出によって行うことができる。例えば、図8(a)の例において幅値Wa1が10画素分の幅値に相当し、幅値Wb1が10画素分の幅値に相当する場合、太さ状態値D1を10/(10+10)(即ち0.5)と定量化できる。図8(b)のような場合も同様であり、幅値Wa1が5画素分の幅値に相当し、Wb2が15画素分の幅値に相当する場合、太さ状態値D1を15/(15+5)(即ち0.75)と定量化できる。
本実施形態では、S205で算出された太さ状態値Daそのものを印字品質情報とすると共に、この太さ状態値Daと、当該太さ状態値Daを評価する上での基準となる太さ基準値と、に基づいて、これら太さ状態値Da及び太さ基準値を反映した印字品質情報を生成している。具体的には、「太さ基準値」として太さ状態値Daの度合を判断するための標準値Dbが定められており、太さ状態値Daと標準値Dbとをパラメータとする値(具体的には標準値Dbに対する太さ状態値Daの割合Da/Db)を判定値として算出し、この判定値も印字品質情報として扱っている。
また、S205では、併せてデコード処理が行われる。具体的には現在の画像データ(S201にて取得した画像データ、なおS210又はS211にて画像処理が行われた後の画像処理済データが存在する場合にはその画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、太さ状態値Da、判定値Da/Db、誤り訂正数などをメモリ35に記憶する記憶処理が行われる(S206)。図9(a)は、このときにメモリ35に記憶される記憶内容を例示するものであり、本実施形態では、S205の処理対象のデータについての、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各太さ状態値D1、D2、D3、位置検出パターンの太さ状態値の平均値Da、判定値Dd(=Da/Db)、S205のデコード処理の可否、誤り訂正数などがそれぞれ記憶される。
なお、本実施形態では、制御回路40及びメモリ35が「算出結果利用手段」の一例に相当し、位置検出パターンの太さ状態値を反映して得られる情報コードの印字品質情報を、ユーザに通知又は記録手段に記録するように機能する。
また、制御回路40及び液晶表示器46は「算出結果利用手段」として機能し、印字品質情報をユーザに通知するように機能する。
ところで、S206の記憶処理は、後述する画像処理(S210又はS211)が行われていない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かは現在のNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」としてN−1番目の画像処理設定の情報を対応付けて記憶する。
なお、図7の例ではS205にて得られた太さ状態値等についてメモリ35に記憶し、その後に利用できるようにしているが、これらの情報(画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各太さ状態値D1、D2、D3、位置検出パターンの太さ状態値の平均値Da、判定値Dd(=Da/Db)、S205のデコード処理の可否、誤り訂正数、のいずれか1又は複数)を液晶表示器46に出力し、ユーザに通知するようにしてもよい。或いは、所定の条件が成立した場合に警告を行うようにしてもよい。例えば、得られた判定値Dd(=Da/Db)と適切値(例えば1)との差、、或いは適切値(例えば1)に対する判定値Ddの割合が所定閾値以上となったときに、液晶表示器46等によって警告を発するようにしてもよい。
一方、S204にて位置検出パターンの検出数が3でないと判断された場合にはS204にてNoに進み、S207において検出数が0であるか否かを判断する。0でない場合には、S207にてNoに進み、S208においてS205と同様の太さ状態値算出・デコード処理処理を行う。なお、S205では3つの位置検出パターンのそれぞれの太さ状態値D1〜D3を算出し平均値Daを求めていたが、S208では、S202にて検出された位置検出パターンの分だけ太さ状態値を算出する。各位置検出パターンの太さ状態値を算出する方法はS205と同様であり、また、S205と同様に、検出された位置検出パターンの太さ状態値の平均値Daを算出する。
S208の太さ状態値算出、デコード処理でも、QRコードQの太さ状態値(即ち、各位置検出パターンの太さ状態値の平均値Da)のみならず、判定値の算出をも行っている。具体的にはS205と同様に、標準値Dbに対する太さ状態値Daの割合Da/Dbを判定値として算出する。また、S208でも、デコード処理が行われる。具体的には現在の画像データ(S201にて取得した画像データ、既にS210又はS211にて画像処理が行われている場合には直前の画像処理後の画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、S206と同様に、得られた太さ状態値、判定値、誤り訂正数などをメモリ35に記憶する記憶処理が行われる(S209)。図9(b)はこのときの記憶例を示すものであり、S208の処理対象のデータについて、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各太さ状態値、位置検出パターンの太さ状態値の平均値Da、判定値Da/Db、S208のデコード処理の可否、誤り訂正数がそれぞれ記憶される。
このS209の記憶処理は、後述する画像処理(S210又はS211)が行われない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かはNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として、「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」として、N−1番目の画像処理設定の情報を対応付けて記憶する。
その後、画像処理が行われる(S210)。S210では、予め登録されている複数の処理設定の中からいずれかの処理設定が用いられ、S201にて取得された画像データに対して画像処理が行われる。S210で用いられる処理設定は、N番目の処理設定であり、現在のNの値が1であれば1番目の処理設定が用いられ、現在のNの値が2であれば2番目の処理設定が用いられることとなる。処理設定としては画像処理に用いる様々な設定を採用でき、本実施形態では、例えば3×3平滑処理、5×5平滑処理、5×5膨張処理などを例示している。また、「画像データのダイナミックレンジを変更する処理」も処理設定として採用されている。例えば現在のNの値が1であり、1番目の処理設定が3×3平滑処理であれば、S210においては、S201にて得られた画像データに対して3×3平滑処理による画像処理が行われる。また、現在のNの値が3であり、3番目の処理設定が5×5膨張処理であればS210では、S201にて得られた画像データに対して5×5膨張処理による画像処理が行われることとなる。
一方、S207にて位置検出パターンの検出数が0と判断された場合には、S207にてYesに進み、S210と同様の画像処理を行う(S211)。この画像処理もS210と同様であり、S201にて取得した画像データに対してN番目の処理設定を用いて画像処理を行うこととなる。
S210又はS211の画像処理が終了すると、S212にてNの値がインクリメントされ、S213にて全ての処理設定について画像処理が終了したか判断される。予め登録されている処理設定全てについて画像処理が完了した場合にはS213にてYesに進み、当該評価処理を終了する。一方、登録された処理設定の全てについて画像処理が完了していない場合にはS213にてNoに進み、S203以降の処理を繰り返すこととなる。
本実施形態では、S203において全ての位置検出パターンが検出されない場合(即ち、S204にてNoとなる場合)に、S210又はS211においてQRコードQの画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行うことができるようになっており、S203において、画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるようになっている。そして、S205又はS208において、各処理設定に対応した各画像処理済データに対し位置検出パターン毎に太さ状態値を算出し、その後のS206又はS209において、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果と、太さ状態値の算出結果と、を対応付けて通知又は記録するようになっている。例えば、初回のS203の処理では1つの位置検出パターンのみしか検出できなかった場合、S210においてNの値に基づく画像処理が行われ、このような画像処理後のデータに対してS203において位置検出パターンの検出が再度なされ、かつS205又はS208において太さ状態値算出・デコード処理が行われる。このとき、画像処理前よりも太さ状態値が適切値に近づいたり、誤り訂正数が減少したり、或いは画像処理前にデコードできなかったものがデコードできるようになった場合、画像処理が有効であったといえる。本実施形態では、このような事情を考慮し、画像処理に用いる処理設定と、その処理設定に基づいて画像処理がなされた後の評価結果と、を対応付けて記憶或いは通知しているため、当該評価処理以降において同様の読み取りを行う際に当該情報を役立てることができる。
なお、図7の評価処理において、S213の後に更にデコード処理を行うようにしてもよい。具体的には、S201〜S213の処理にて得られた複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンの太さ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおける太さ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行い、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしてもよい。なお、本実施形態では、上述の標準値Dbが太さ状態値の「適切値」に相当しているため、判定値Da/Dbが最も1に近くなる画像処理済データが「位置検出パターンの太さ状態値が最も適切値に近づく画像処理済データ」に相当する。
また、S210又はS211において画像処理がなされた後の画像処理済データに対しその後のS203において位置検出パターンの検出が行われたときに、画像処理前よりも位置検出パターンの検出数が増加した場合には、その結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。また、S210又はS211において画像処理がなされた後の画像処理済データに対しその後のS205又はS208においてデコード処理が行われたときに「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。
本実施形態では、情報コード(QRコードQ)の一部を構成する特定部分(位置検出パターン)に着目し、この特定部分の画像状態を示す評価値として、当該特定部分における明色セル及び暗色セルの少なくともいずれかの太さ状態を定量化した値である太さ状態値Daを、所定の太さ状態値算出方法に従って算出している。このようにすれば、情報コードの全領域について太さ状態を算出する構成と比較して処理の迅速化を実現でき、またどのような太さ状態であるかを定量的に把握できる。さらに、特定部分の太さ状態値Daを反映して印字品質情報を生成し、それをユーザに通知又はメモリ35に記録している。このようにすれば、対象となる情報コードがどのような印字品質であるか(具体的には、セルがどのような太さ状態であるか)を迅速に把握でき、かつ迅速に有効利用できるようになる。
また、算出された特定部分の太さ状態値Daを予め定められた太さ基準値(標準値Db)と比較し、太さ基準値(標準値Db)に対する太さ状態値Daの割合を示す値Da/Dbを印字品質情報として通知している。このようにすれば、セルがどのような太さ状態であるか(換言すれば、セルの太り細りがどのような程度であるか)をユーザによりわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。なお、上記例では、太さ基準値(標準値Db)に対する太さ状態値Daの割合を示す値Da/Dbを印字品質情報として通知しているが、太さ状態値Daと太さ基準値(標準値Db)との差を示す値(例えばDb−Da)を印字品質情報として通知するようにしても、同様の効果が得られる。
また、特定部分(位置検出パターン)における明色セル及び暗色セルのいずれか一方の幅値をW1とし、他方の幅値をW2としたときの、W1とW2との加算値に対する一方の幅値W1の割合を示す値を、特定部分の太さ状態値として算出している。このようにすれば、明色セルと暗色セルのそれぞれの幅がどのような比率であるかを適切に定量化でき、暗色セル或いは明色セルの太さ状態を良好に反映した数値が得られる。
また、本実施形態では、特定部分に配される明色セルの1セル分の幅値と、特定部分に配される暗色セルの1セル分の幅値とを抽出し、明色セルの1セル分の幅値及び暗色セルの1セル分の幅値に基づいて太さ状態値を算出している。このようにすると、より迅速かつ効果的に太さ状態値を算出できる。
また、本実施形態では、QRコードを読取対象とし、当該QRコードの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンを、太さ状態値を算出する対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定でき、太さ状態値を迅速かつ良好に算出できる。特に、QRコードの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、太さ状態値算出処理の一層の迅速化を図ることができる。
また、QRコードにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎に太さ状態値を算出し、それら算出された位置検出パターン毎の太さ状態値に基づいて印字品質情報を生成している。このように、複数の位置検出パターンの太さ状態値を算出する構成とすれば、QRコードにおける互いに距離を隔てた複数位置において複雑な処理を用いることなく太さ状態値を迅速に算出でき、更に、それら太さ状態値に基づいて印字品質情報を生成する構成とすれば、単一の位置検出パターンの太さ状態値のみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
また、全ての位置検出パターンが検出されない場合に、QRコードの画像データに対し、予め定められた1又は複数の処理設定に基づいて1又は複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎に太さ状態値を算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及び太さ状態値の算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及び太さ状態値の算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
また、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンの太さ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおける太さ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行っている。このようにすれば、画像処理が効果的になされたと考えられる複数の画像処理済データに対し選択的にデコード処理を行うことができる。更に、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。 [第3実施形態]
次に、第3実施形態について説明する。第3実施形態は、評価処理の内容のみが第1実施形態と異なり、電気的構成については第1実施形態と同一である。よって、電気的構成については第1実施形態と同一であるとして詳細な説明は省略し、適宜図1を参照して説明することとする。
なお、本実施形態でも、図1の受光センサ23が、「受光手段」の一例に相当し、制御回路40が「デコード手段」の一例に相当する。
以下、図10等を参照し、第3実施形態で行われる評価処理について説明する。図10は、第3実施形態の評価処理の流れを例示するフローチャートである。また、図11は、位置検出パターンにおけるかすれ状態値の算出を説明する説明図である。また、図12(a)は、S306においてメモリに記憶されるデータ構成例を示す説明図であり、図12(b)は、S306及びS309においてメモリに記憶されるデータ構成例を示す説明図である。
本実施形態で行われる評価処理もメモリ35に記憶されるプログラムに従って制御回路40によって実行されるものであり、所定の操作をトリガとして開始されたり、或いは読取処理のサブルーチンとして実施されたりするものである。当該評価処理が開始されると、まず、画像取得処理が行われ、(S301)、次いで、Nの値を初期状態に設定する処理が行われる(S302)。なお、S301の処理は、図2のS1と同一の処理であり、S302の処理は、図2のS2と同一の処理である。また、本実施形態でも、制御回路40(図1)が「生成手段」の一例に相当する。
次に、位置検出パターン(以下FPパターンとも称する)の検出処理が行われる(S303)。本実施形態でも情報コードの例としてQRコードを用いており、S303の処理は、図2のS3と同様に、QRコードにおける全ての位置検出パターンの検出を試みるように行われる。
なお、本実施形態でも、位置検出パターンが「特定部分」の一例に相当する。また、図1の制御回路40が、「特定部分検出手段」の一例に相当し、受光センサ23による受光結果に基づき(即ち、S301の画像取得処理により得られた画像データに基づき)QRコードの一部を構成する位置検出パターンを検出するように機能する。
次に、上記位置検出パターン検出処理によって検出された位置検出パターンの数が「3」であるか否かを判断する(S304)。位置検出パターンが3つ検出された場合(即ち、全ての位置検出パターンが検出された場合)、S304にてYesに進み、S305にてかすれ状態値算出・デコード処理を実施する。
S305のかすれ状態値算出・デコード処理では、まず、位置検出パターン(特定部分)の画像状態を示す評価値を算出する。なお、本実施形態では、制御回路40が、「算出手段」「かすれ状態値算出手段」の一例に相当し、S303で検出された位置検出パターンにおける明色セル及び暗色セルの少なくともいずれかに基づき、当該位置検出パターンの画像状態を示す評価値を、所定の評価方法に従って算出するように機能する。具体的には、S305又はS308の処理により、位置検出パターンのかすれ状態を示す「かすれ状態値」を算出しており、この「かすれ状態値」が、「特定部分の画像状態を示す評価値」の一例に相当し、後述するかすれ状態値算出方法が「所定の評価方法」の一例に相当している。
S305のかすれ状態値算出・デコード処理では、S303にて検出された位置検出パターンについて、各位置検出パターン毎にかすれ状態値の算出が行われる。なお、「かすれ状態値」は、特定部分(本実施形態では位置検出パターン)における明色セル及び暗色セルの少なくともいずれかのかすれ状態を定量化した値であればよく、本実施形態では、後述するかすれ状態値算出方法によって得られる値をかすれ状態値としている。
各位置検出パターン毎にかすれ状態値を算出するに際しては、まず、S303で検出されたいずれかの位置検出パターンにおいて、暗色セル又は明色セルが連続して並ぶべき領域を特定し、この領域の暗色部と明色部とを抽出する。図11の例では、S303で検出されたいずれかの位置検出パターンにおいて、暗色セルが連続して並ぶべき中央領域AR1を特定し、その中央領域AR1における暗色部と明色部の幅を抽出している。より具体的には、例えば中央領域AR1(暗色部が連続して並ぶべき領域)を貫通する画素のラインL1を設定し、その画素ラインL1において一の暗色部領域B2と、その隣の暗色部領域B2とを抽出する。さらに、その一の暗色部領域B1の幅値Z1を検出すると共に、当該一の暗色部領域B1と、その隣の暗色部領域B2との配置間隔Z2を検出する。ここでは、一の暗色部領域B1の先端部P1から次の暗色部領域B2の先端部P2までの距離を配置間隔Z2としている。そして、この距離Z2に対する幅値Z1の割合Z1/Z2を、当該位置検出パターンのかすれ状態値E1として取得する。そして、同様の方法で残り2つの位置検出パターンのかすれ状態値E2、E3を算出し、それらE1、E2、E3の平均値EaをQRコードQのかすれ状態値として扱う。
なお、上記の例では、位置検出パターン内の暗色セル又は明色セルが連続して並ぶべき領域における暗色部と明色部との配置割合を示す値としてZ1/Z2を取得しているが、かすれ状態値算出方法はこれに限られない。例えば、図11(a)のように、位置検出パターンの一辺の幅Z4に対する当該一辺側に配される暗色領域の幅値Z31〜Z37の総計Z3の割合(即ちZ3/Z4)をかすれ状態値とするような算出方法であってもよく、かすれ状態値を定量的に特定し得る算出方法であれば他の例でもよい。
本実施形態では、S305で算出されたかすれ状態値Eaそのものを印字品質情報とすると共に、このかすれ状態値Eaと、当該かすれ状態値Eaを評価する上での基準となるかすれ基準値と、に基づいて、これらかすれ状態値Ea及びかすれ基準値を反映した印字品質情報を生成している。具体的には、「かすれ基準値」としてかすれ状態値Eaの度合を判断するための標準値Ebが定められており、かすれ状態値Eaと標準値Ebとをパラメータとする値(具体的には標準値Ebに対するかすれ状態値Eaの割合Ea/Eb)を判定値として算出し、この判定値も印字品質情報として扱っている。なお、標準値Ebとしては、例えば、かすれが生じていないときに得られるべき値(本実施形態では「1」)を用いることができる。
また、S305では、併せてデコード処理が行われる。具体的には現在の画像データ(S301にて取得した画像データ、なおS310又はS311にて画像処理が行われた後の画像処理済データが存在する場合にはその画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、かすれ状態値Ea、判定値Ea/Eb、誤り訂正数などをメモリ35に記憶する記憶処理が行われる(S306)。図12(a)は、このときにメモリ35に記憶される記憶内容を例示するものであり、本実施形態では、S305の処理対象のデータについての、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、各位置検出パターンの各かすれ状態値E1、E2、E3、各位置検出パターンのかすれ状態値の平均値Ea、判定値Ed(=Ea/Eb)、S305のデコード処理の可否、誤り訂正数などがそれぞれ記憶される。
なお、本実施形態では、制御回路40及びメモリ35が「算出結果利用手段」の一例に相当し、位置検出パターンのかすれ状態値を反映して得られる情報コードの印字品質情報を、ユーザに通知又は記録手段に記録するように機能する。
また、制御回路40及び液晶表示器46も「算出結果利用手段」として機能し、印字品質情報をユーザに通知するように機能する。
ところで、S306の記憶処理は、後述する画像処理(S310又はS311)が行われていない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かは現在のNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」としてN−1番目の画像処理設定の情報を対応付けて記憶する。
なお、図10の例ではS305にて得られたかすれ状態値等についてメモリ35に記憶し、その後に利用できるようにしているが、これらの情報(画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各かすれ状態値E1、E2、E3、位置検出パターンのかすれ状態値の平均値Ea、判定値Ed(=Ea/Eb)、S305のデコード処理の可否、誤り訂正数、のいずれか1又は複数)を液晶表示器46に出力し、ユーザに通知するようにしてもよい。或いは、所定の条件が成立した場合に警告を行うようにしてもよい。例えば、得られた判定値Ed(=Ea/Eb)と適切値(例えば1)との差、或いは適切値(例えば1)に対する判定値Edの割合が所定閾値以上となったときに、液晶表示器46等によって警告を発するようにしてもよい。
一方、S304にて位置検出パターンの検出数が3でないと判断された場合にはS304にてNoに進み、S307において検出数が0であるか否かを判断する。0でない場合には、S307にてNoに進み、S308においてS305と同様のかすれ状態値算出・デコード処理を行う。なお、S305では3つの位置検出パターンのそれぞれのかすれ状態値E1〜E3を算出し平均値Eaを求めていたが、S308では、S302にて検出された位置検出パターンの分だけかすれ状態値を算出する。各位置検出パターンのかすれ状態値を算出する方法はS305と同様であり、また、S305と同様に、検出された位置検出パターンのかすれ状態値の平均値Eaを算出する。
S308のかすれ状態値算出、デコード処理でも、QRコードQのかすれ状態値(即ち、各位置検出パターンのかすれ状態値の平均値Ea)のみならず、判定値の算出をも行っている。具体的にはS305と同様に、標準値Eb(例えば1)に対するかすれ状態値Eaの割合Ea/Ebを判定値として算出する。また、S308でも、デコード処理が行われる。具体的には現在の画像データ(S301にて取得した画像データ、既にS310又はS311にて画像処理が行われている場合には直前の画像処理後の画像処理済データ)に基づいてデコード処理が行われ、デコードの可否と誤り訂正の数が検証される。
その後、S306と同様に、得られたかすれ状態値、判定値、誤り訂正数などをメモリ35に記憶する記憶処理が行われる(S309)。図11(b)はこのときの記憶例を示すものであり、S308の処理対象のデータについての、画像処理設定、位置検出パターンの検出数、位置検出パターンの座標、位置検出パターンの各かすれ状態値、位置検出パターンのかすれ状態値の平均値Ea、判定値Ed(=Ea/Eb)、S308のデコード処理の可否、誤り訂正数がそれぞれ記憶される。
このS309の記憶処理は、後述する画像処理(S310又はS311)が行われない状態でなされる場合もあれば、後述の画像処理後に行われる場合もある。画像処理後であるか否かはNの値で判断することができ、N=1は画像処理が行われていない状態を意味する。よって、N=1のときには、「画像処理設定」として、「画像処理設定なし」の情報を併せて記憶する。一方、Nが2以上であるときは画像処理が既に行われていることを意味し、そのときのN−1の値は直前の画像処理において用いられた処理設定の番号を意味するものである。よって、この場合には、「画像処理設定」として、N−1番目の画像処理設定の情報を対応付けて記憶する。
S309の記憶処理の後には画像処理が行われる(S310)。S310では、予め登録されている複数の処理設定の中からいずれかの処理設定が用いられ、S301にて取得された画像データに対して画像処理が行われる。S310で用いられる処理設定は、N番目の処理設定であり、現在のNの値が1であれば1番目の処理設定が用いられ、現在のNの値が2であれば2番目の処理設定が用いられることとなる。処理設定としては画像処理に用いる様々な設定を採用でき、本実施形態では、例えば3×3平滑処理、5×5平滑処理、5×5膨張処理などを例示している。また、「画像データのダイナミックレンジを変更する処理」も処理設定として採用されている。例えば現在のNの値が1であり、1番目の処理設定が3×3平滑処理であれば、S310においては、S301にて得られた画像データに対して3×3平滑処理による画像処理が行われる。また、現在のNの値が3であり、3番目の処理設定が5×5膨張処理であれば、S310では、S301にて得られた画像データに対して5×5膨張処理による画像処理が行われることとなる。
一方、S307にて位置検出パターンの検出数が0と判断された場合には、S307にてYesに進み、S310と同様の画像処理を行う(S311)。この画像処理もS310と同様であり、S301にて取得した画像データに対してN番目の処理設定を用いて画像処理を行うこととなる。
S310又はS311の画像処理が終了すると、S312にてNの値がインクリメントされ、S313にて全ての処理設定について画像処理が終了したか判断される。予め登録されている処理設定全てについて画像処理が完了した場合にはS313にてYesに進み、当該評価処理を終了する。一方、登録された処理設定の全てについて画像処理が完了していない場合にはS313にてNoに進み、S303以降の処理を繰り返すこととなる。
本実施形態では、S303において全ての位置検出パターンが検出されない場合(即ち、S304にてNoとなる場合)に、S310又はS311において、QRコードQの画像データに対し、予め定められた複数の処理設定に従って複数の画像処理を行うことができるようになっており、その後再び行われるS303の処理において、画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるようになっている。そして、S305又はS308において、各処理設定に対応した各画像処理済データに対し位置検出パターン毎にかすれ状態値を算出し、その後のS306又はS309において、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果と、かすれ状態値の算出結果と、を対応付けて通知又は記録するようになっている。例えば、初回のS303の処理では1つの位置検出パターンのみしか検出できなかった場合、S310においてNの値に基づく画像処理が行われ、このような画像処理後のデータに対してS303において位置検出パターンの検出が再度なされ、かつS305又はS308においてかすれ状態値算出・デコード処理が行われる。このとき、画像処理前よりもかすれ状態値が適切値に近づいたり、誤り訂正数が減少したり、或いは画像処理前にデコードできなかったものがデコードできるようになった場合、画像処理が有効であったといえる。本実施形態では、このような事情を考慮し、画像処理に用いる処理設定と、その処理設定に基づいて画像処理がなされた後の評価結果と、を対応付けて記憶或いは通知しているため、当該評価処理以降において同様の読み取りを行う際に当該情報を役立てることができる。
なお、図10の評価処理において、S313の後に更にデコード処理を行うようにしてもよい。具体的には、S301〜S313の処理にて得られた複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのかすれ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおけるかすれ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行い、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしてもよい。なお、本実施形態では、上述の標準値Ebがかすれ状態値の「適切値」に相当しているため、判定値Ea/Ebが最も1に近くなる画像処理済データが「位置検出パターンのかすれ状態値が最も適切値に近づく画像処理済データ」に相当する。
また、S310又はS311において画像処理がなされた後の画像処理済データに対しその後のS303において位置検出パターンの検出が行われたときに、画像処理前よりも位置検出パターンの検出数が増加した場合には、その結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。また、S310又はS311において画像処理がなされた後の画像処理済データに対しその後のS305又はS308においてデコード処理が行われたときに「画像処理前よりも誤り訂正数が減少」、「デコード処理が成功」、のいずれかに該当する場合にはその結果を液晶表示器46等を用いてユーザに通知するようにしてもよい。
本実施形態の構成によれば例えば以下のような効果が得られる。
本実施形態では、情報コード(QRコードQ)の一部を構成する特定部分(位置検出パターン)に着目し、この特定部分の画像状態を示す評価値として、当該特定部分のかすれ状態を定量化した値であるかすれ状態値Eaを、所定のかすれ状態値算出方法に従って算出している。このようにすれば、情報コードの全領域についてかすれ状態を算出する構成と比較して処理の迅速化を実現でき、またどのようなかすれ状態であるかを定量的に把握できる。さらに、特定部分のかすれ状態値を反映して印字品質情報を生成し、それをユーザに通知又は記録手段に記録しており、このようにすれば、対象となる情報コードがどのような印字品質であるか(具体的には、セルがどのようなかすれ状態であるか)を迅速に把握でき、かつ迅速に有効利用できるようになる。
また、算出された特定部分のかすれ状態値Eaを予め定められたかすれ基準値(標準値Eb)と比較し、かすれ基準値Ebに対するかすれ状態値Eaの割合を示す値Ea/Ebを印字品質情報として通知している。このようにすれば、セルがどのようなかすれ状態であるかをユーザによりわかりやすく伝達でき、ユーザは定量的な基準に基づいて印字品質を精度高く把握できる。なお、特定部分のかすれ状態値Eaとかすれ基準値(標準値Eb)との差を示す値(例えばEb−Ea)を印字品質情報としてユーザに通知するようにしても、同様の効果が得られる。
また、特定部分における暗色セルが連続して並ぶべき領域(図11の例では位置検出パターンの中央領域AR1)において暗色部と明色部とを抽出し、暗色部と明色部との配置割合を示す値を、特定部分のかすれ状態値として算出している。このようにすれば、本来配置されるべき暗色領域に対する実際の暗色部又は明色部の割合を適切に定量化でき、セルのかすれ状態を精度高く反映した数値が得られる。具体的には、暗色セルが連続して並ぶべき中央領域AR1において、暗色部が配される配置間隔Z2と、暗色部の幅値Z1とを抽出し、配置間隔Z2に対する暗色部の幅値Z1の割合を示す値Z1/Z2を、特定部分のかすれ状態値として算出している。このようにすれば、明色部と暗色部の配置割合を、より迅速に、且つ良好に定量化できる。
また、QRコードを読取対象とし、当該QRコードの位置検出パターンを「特定部分」として検出している。このように規定形状とされた位置検出パターンを、かすれ状態値を算出する対象部位とすれば、複雑な検出手法を用いずとも明色セル及び暗色セルを精度高く特定でき、かすれ状態値を迅速かつ良好に算出できる。特に、QRコードの読取処理においては、位置検出パターンの特定を初期段階で行うことができるため、かすれ状態値算出処理の一層の迅速化を図ることができる。
また、QRコードにおける全ての位置検出パターンの検出を試みると共に、検出された位置検出パターン毎にかすれ状態値を算出し、それら算出された位置検出パターン毎のかすれ状態値に基づいて印字品質情報を生成している。このように、複数の位置検出パターンのかすれ状態値を算出する構成とすれば、QRコードにおける互いに距離を隔てた複数位置において複雑な処理を用いることなくかすれ状態値を迅速に算出でき、更に、それらかすれ状態値に基づいて印字品質情報を生成する構成とすれば、単一の位置検出パターンのかすれ状態値のみを算出する構成と比較してコード全体の印字品質をより適切に反映した印字品質情報が得られることとなる。
また、全ての位置検出パターンが検出されない場合に、QRコードの画像データに対し、予め定められた複数の処理設定に基づいて複数の画像処理を行い、各処理設定に従って画像処理がなされた後の各画像処理済データに対して位置検出パターンの検出を再度試みるように構成されている。このようにすれば、位置検出パターンが検出できないような場合であっても画像処理に基づいて位置検出パターンの状態を把握できるようになる。また、各処理設定に対応した各画像処理済データにおいて位置検出パターン毎にかすれ状態値を算出し、各処理設定と、各処理設定に対応する各画像処理済データでの位置検出パターンの検出結果及びかすれ状態値の算出結果と、を対応付けて通知又は記録する構成をなしている。このようにすれば、各処理設定ごとの位置検出パターンの検出結果及びかすれ状態値の算出結果を把握でき、適切な処理設定を有効利用しやすくなる。
また、複数の画像処理済データのうち、位置検出パターンが最も多く検出される画像処理済データと、位置検出パターンのかすれ状態値が最も適切値に近づく画像処理済データと、複数の位置検出パターンにおけるかすれ状態値のばらつきが最も小さくなる画像処理済データと、についてそれぞれデコード処理を行っている。このようにすれば、画像処理が効果的になされたと考えられる複数の画像処理済データに対し選択的にデコード処理を行うことができる。更に、それらデコード処理が行われた複数の画像処理済データの中から最も誤り訂正数が少ない画像処理済データを選択し、その画像処理済データを得るための処理設定を通知又は記録するようにしている。このようにすれば、より信頼性の高い画像処理済みデータを取得でき、そのデータを得るための処理設定を有効利用できるようになる。
[第4実施形態]
次に、第4実施形態について説明する。第4実施形態は、評価処理の内容のみが第1実施形態と異なり、電気的構成については第1実施形態と同一である。よって、電気的構成については第1実施形態と同一であるとして詳細な説明は省略し、適宜図1を参照することとする。なお、本実施形態でも、図1の受光センサ23が、「受光手段」の一例に相当し、制御回路40が「デコード手段」の一例に相当する。
図14は、本実施形態の情報コードリーダ20の内部を読取口側から見た図である。情報コードリーダ20は、図示しない読取口寄りの位置に、レンズ27が配置されており、読取口を基準とするレンズ27と同程度に奥まった位置、若しくはレンズ27よりも若干前寄りの位置に、レンズ27を取り囲むように複数(図14の例では4つ)の照明光源21が環状に配されている。なお、以下の説明では、4つの照明光源21をそれぞれ、第1の照明光源21a、第2の照明光源21b、第3の照明光源21c、第4の照明光源21dとしている。
各照明光源21はいずれも複数色のLED(ここでは赤色LEDと青色LED)を備えた構成をなしており、各照明光源21のいずれのLEDも制御回路40からの指令に応じて点灯する構成となっている。なお、これら4つの照明光源21は「照明手段」の一例に相当し、QRコード(情報コード)に向けて照明光を照射するように機能する。また、制御回路40は、照明光源21の点灯タイミングや点灯時間を制御するものであり、「照明制御手段」の一例に相当し、後述する「点灯パターン設定手段」により設定された点灯パターンで点灯を行うように照明光源21を制御する。
本実施形態では、4つの照明光源21の点灯パターンを設定変更しうる構成となっている。具体的には、図16のように、複数種類の点灯パターンのデータがメモリ35に登録されており、この登録された点灯パターンの中からいずれかを選択して実際に用いる点灯パターンを設定できるようになっている。メモリ35に登録される点灯パターンデータは少なくとも4つの照明光源21における点灯位置を設定するものであり、制御回路40は、その設定された点灯位置で点灯を行うように4つの照明光源21を制御している。なお、図15(a)〜(d)は、4つの照明光源21の点灯位置の変更態様を例示している。
また、各照明光源21は上述のように複数色の発光部(赤色LED,青色LED)を有しており、各照明光源21ごとに点灯色を切り替えることができるようになっている。即ち、図16の点灯パターンのデータは、各照明光源21毎に、いずれの色の発光部を使用するかを定めており、制御回路40は、その設定された点灯色で点灯を行うように照明光源21を制御している。例えば、図15(a)〜(d)のように点灯位置が設定される場合、その点灯される各照明光源21の点灯色を、赤色LEDとしたり、青色LEDとしたり、或いは両LEDとしたりすることができる。なお、メモリ35及び制御回路40が「点灯パターン設定手段」の一例に相当する。
次に、図13等を参照し、第4実施形態で行われる評価処理について説明する。なお、図13は、第4実施形態の評価処理の流れを例示するフローチャートである。
本実施形態で行われる評価処理もメモリ35に記憶されるプログラムに従って制御回路40によって実行されるものであり、所定の操作をトリガとして開始されたり、或いは読取処理のサブルーチンとして実施されたりするものである。当該評価処理が開始されると、まず、点灯パターンの初期設定が行われる(S401)。この初期設定では、例えば、図16のように順序化された点灯パターンの1番目の点灯パターンを使用パターンとして設定する。
次いで、解読処理が行われる(S402)。この解読処理では、まず、S401で設定された点灯パターンとなるように4つの照明光源21の点灯制御を行い、その点灯状態でQRコードQの画像データを取得する。そして、得られた画像データに対して公知のデコード処理を行う。例えば、当該評価処理の開始直後の解読処理では、S401の初期設定で設定される点灯パターン(第1の照明光源21aの赤色LEDをオンし、他の照明光源21b〜21dをオフにする点灯パターン)で点灯を行うと共に、その点灯状態で取得された画像データに対してデコード処理を行う。
このように、本実施形態では、設定変更される各点灯パターンごとの受光結果に基づき、QRコードQの画像データを各点灯パターンごとに生成しており、点灯パターンごとの画像データについてそれぞれデコード処理を行っている。なお、本実施形態でも、制御回路40(図1)が「生成手段」の一例に相当する。
S402の解読処理後には、解読処理が成功したか否かを判断する処理が行われる(S403)。S402にて適切なデコード結果が得られた場合には、解読が成功したと判断してS403にてYesに進み、S404にて印字判定処理が行われる。この印字判定処理は、図2のS5、図7のS205、及び図10のS305の少なくともいずれかと同様の評価値算出処理が行われ、QRコードQの位置検出パターンの画像状態を示す評価値が取得される。例えば、S404において図2のS5のようにコントラストを算出する場合には、第1実施形態と同様の方法でQRコードQについてのコントラストCaを算出し、かつ第1実施形態と同様の方法で余裕度を算出する。また、S404において図7のS205のように太さ状態値を算出する場合には、第2実施形態と同様の方法でQRコードQについての太さ状態値Daを算出し、かつ第2実施形態と同様の方法で判定値Ddを算出する。或いはS404において図10のS305のようにかすれ状態値を算出する場合には、第3実施形態と同様の方法でQRコードQについてのかすれ状態値Eaを算出し、かつ第3実施形態と同様の方法で判定値Edを算出する。なお、これらの印字品質情報は、S402で用いられた点灯パターンの情報と対応付けられてメモリ35に記憶される。即ち、どの点灯パターンでどのような印字品質情報が得られたかを特定できるデータ状態でメモリ35に蓄積される。
このように、本実施形態では、各点灯パターンごとの画像データのうち、デコード処理が正常に行われた画像データについて評価値(例えば、コントラスト、太さ状態値、かすれ状態値)を算出し、その正常に行われた画像データについての評価値に基づいて得られる印字品質情報をメモリ35(記録手段)に記録している。なお、S404においてこのような印字品質情報を液晶表示器46などで表示してユーザに通知してもよい。
本実施形態でも、制御回路40が、特定部分検出手段、輝度検出手段、コントラスト算出手段、太さ状態値算出手段、かすれ状態値算出手段、の一例に相当しうることとなる。
さらに、S405において印字判定処理(S404)の判定結果が判定基準を超えたか否かを判断する。ここでは、得られた画像データの印字状態が判定基準を超える良好状態であるか否かを判断しており、例えば、S404においてコントラスト及び余裕度を算出する方法を用いる場合には、例えば余裕度が所定の閾値(余裕度閾値)を超える場合に印字判定基準を超えたと判断する。また、S404において太さ状態値Daおよび判定値Ddを算出する方法を用いる場合には、例えば判定値Ddが所定の第1閾値以上で、所定の第2閾値未満である場合に印字判定基準を超えたと判断する。また、S404においてかすれ状態値Ea及び判定値Edを算出する方法を用いる場合には、例えば判定値Edが所定の閾値(判定値閾値)を超える場合に印字判定基準を超えたと判断する。
S404で得られた印字品質情報が判定基準を超えたと判断される場合にはS405にてYesに進む。S405にてYesに進む場合には、他の情報コードについての読み取り操作を待って他の情報コードについてのS401以降の処理を行い得るようにしてもよく、そのまま当該評価処理を終了してもよい。
S405にて判定基準を超えていないと判断される場合、S405にてNoに進み、S406にて点灯パターンの設定変更を行う。例えば、前回の点灯パターンが図16に示す第1番目の点灯パターンであった場合、その次の第2番目の点灯パターンを使用パターンとして新たに設定する。
一方、S403にて解読が成功でないと判断される場合、S403にてNoに進み、S406と同様に点灯パターンの設定変更を行う(S407)。
S406、S407の後には、登録されている全パターンを実施したかを判断する(S408)。即ち、S406、S407の設定変更前に既に全パターンが完了し、S406、S407で新たな設定パターンができない場合にはS408にてYesに進み当該評価処理を終了する。一方、全パターンが完了していない場合にはS408にてNoに進み、新たに設定された使用パターンを用いてS402以降の処理を繰り返す。
ところで、本実施形態では上述したように、S404において得られた印字品質情報を点灯パターンと対応付けてメモリ35に記憶しており、この印字品質情報と点灯パターンとを対応付けた対応データは、消去処理を行わない限り、S404の処理を行う度に蓄積されてゆくこととなる。このようにして得られる過去の対応データ(過去得られた複数の印字品質情報と、各々の印字品質情報の取得の際に用いられた点灯パターンとをそれぞれ対応付けたデータ)は、後に用いられる新たな点灯パターンの設定に利用してもよく、それら過去の対応データにおける過去の印字品質情報は、点灯パターンの順序設定に利用してもよい。以下では、このような過去の対応データを有効利用する方法について説明する。
過去の対応データを有効利用する方法としては、例えば、メモリ35に蓄積される複数の過去の印字品質情報に対応付けられたそれぞれの点灯パターンを、それら複数の過去の印字品質情報の印字品質の良い順に順序化し、S402において、その順序化された点灯パターンの順序で点灯を行うように照明光源21を制御する。この場合、S402では、それら順序化された各点灯パターンごとの画像データについてデコード処理が行われることとなる。
図17(a)は、過去の対応データの蓄積例を示しており、過去得られたコントラストの余裕度(印字品質情報)を、その余裕度を取得したときの点灯パターンと対応付けて記憶したものを示している。なお、点灯パターンAについての余裕度が複数取得されている場合には、それら余裕度の平均値を点灯パターンAについての過去の余裕度として記憶してもよく、点灯パターンAについて過去複数得られた余裕度のうちの最も印字品質の良い値、或いは最も印字品質の悪い値を過去の余裕度として記憶してもよい。このような記憶方法は他の点灯パターンB〜E等についても同様である。
このような過去の対応データが得られている場合には、図17(b)のように、余裕度の値の良い順に点灯パターンを順序化し、その順序に従ってS402の解読処理を行うことができる。この場合、メモリ35に蓄積される過去の点灯パターン(即ち、過去の印字品質情報に対応付けられている過去用いられた点灯パターン)が照明光源21に用いる新たな点灯パターンとして設定されることとなる。なお、上記のような順序化処理は、図13の評価処理とは別途に行うこともでき、図13の評価処理の一部として行うこともできる。
また、S402において、上記のように順序化された各点灯パターンごとの画像データについてそれぞれデコード処理を行ったときに、それら各点灯パターンごとの画像データ全てについて読取不良が生じた場合、それら順序化された複数の点灯パターン以外の点灯パターンを新規点灯パターンとして設定することができる。即ち、図17(b)のように過去の点灯パターンが蓄積されている場合には、これら過去の点灯パターンについて優先的に解読処理を行い、過去の点灯パターン全てについて解読が成功しなかった場合には、過去の点灯パターンのデータとは別途に記憶されている点灯パターンのデータ(例えば図16のようなデータ)を用い、既に解読処理が行われた過去の点灯パターン以外の点灯パターンを新規点灯パターンとして設定する方法を用いることができる。この場合、S402では、照明光源21を新規点灯パターンで点灯させて得られた画像データについてデコード処理を行い、S404では、新規点灯パターンで点灯させて得られた画像データについてのデコード処理が正常に行われた場合、当該画像データについて評価値(コントラスト、太さ状態値、かすれ状態値等)を算出し、その正常に行われた画像データについての評価値に基づいて得られる印字品質情報をユーザに通知又はメモリ35に記録することとなる。
以上説明した本実施形態の構成によれば、例えば以下のような効果を奏する。
本実施形態では、「点灯パターン設定手段」により設定された点灯パターンで照明光源21の点灯が行われるように制御がなされる構成となっている。このようにすれば、照明光源21の点灯パターンを切り替えて使用でき、点灯パターンに応じた印字品質情報を取得、利用できる。
また、各点灯パターンごとの画像データのうち、デコード処理が正常に行われた画像データについて評価値を算出し、その評価値に基づいて得られる印字品質情報をユーザに通知又は記録手段に記録している。このようにすると、ある点灯パターンでデコード処理が正常に行われない場合であっても点灯パターンを変更してデコード処理成功の確率を高めることができる。更に、ある点灯パターンでは印字品質情報が得られなくても、点灯パターンを変更して印字品質情報を取得できる可能性を高めることができ、印字品質情報を取得及び利用する上でより一層有利となる。
また、「点灯パターン設定手段」により、複数の照明光源における点灯位置を設定し、その設定された点灯位置で点灯を行うように照明光源21を制御している。このようにすると、点灯位置の変更によって画像状態が変わりやすい場合(例えばダイレクトマーキングによって得られた情報コードを読み取る場合等)にデコード成功の可能性を効果的に高めることができ、このような場合により有利となる。
また、「点灯パターン設定手段」により、複数色の照明光源21における点灯色を設定し、その設定された点灯色で点灯を行うように照明光源21を制御している。このようにすると、点灯色の変更によって画像状態が変わりやすい場合にデコード成功の可能性を効果的に高めることができ、このような読み取りの場合により有利となる。
また、過去得られた複数の印字品質情報を、各々の印字品質情報の取得の際に用いられた点灯パターンとそれぞれ対応付けてメモリ35に蓄積しておき、その蓄積される過去の点灯パターンを、新たな点灯パターンとして設定するようにしている。このようにすると、どの点灯パターンで過去どのような印字品質情報が得られたかを把握した上で点灯パターンを設定できるため、期待する印字品質を得られやすい点灯パターンを設定しやすくなる。
また、複数の過去の印字品質情報に対応付けられたそれぞれの点灯パターンを、それら複数の過去の印字品質情報の印字品質の良い順に順序化し、その順序で点灯を行うように照明光源21を制御している。このようにすると、より良好な印字品質が得られやすい点灯パターンを優先的に点灯を行うことができ、デコードが正常に行われる可能性の高い画像データをより迅速に取得できる。更に、このように順序化された各点灯パターンごとの画像データについてそれぞれデコード処理を行うようにしているため、情報コードについての正常な解読がより迅速に行われ、更には、正常に解読された画像データについての印字品質情報をより迅速に取得、利用できるようになる。
また、順序化された各点灯パターンごとの画像データ全てについて読取不良が生じた場合、それら順序化された複数の点灯パターン以外の新規点灯パターンを設定している。このようにすると、過去蓄積された点灯パターンによって望ましい結果が得られなくても、それら以外の点灯パターンを新たに試すことができる。更に、その新規点灯パターンで点灯させて得られた画像データについてデコード処理が正常に行われた場合、その画像データについての印字品質情報をユーザに通知又は記録手段に記録するようにしている。このようにすると、次善策として新規点灯パターンを試行した上で、その新規点灯パターンについての結果をより有効に利用できるようになる。
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
上記第1〜第4実施形態では情報コードの例としてQRコードQを例示したが、複数の明色セル及び複数の暗色セルからなる情報コードであればこれに限られない。例えばバーコード等の一次元コードであってもよい。この場合、情報コードリーダ20を単一種類のコード(即ちバーコードのみ)を読み取るリーダとして機能させてもよく、複数種類のコード(即ち、バーコードと他種の情報コード)を共に読み取りうるリーダとして機能させてもよい。この場合には、例えばスタートキャラクタを構成する部分やストップキャラクタを構成する部分を「特定部分」とすることができる。
また、情報コードはデータマトリックス等の他の二次元コードであってもよい。この場合も同様であり、単一種類の情報コードのみを読み取る構成であってもよく、複数種類の情報コードを読み取りうる構成であってもよい。データマトリックス等を読み取る場合には例えばアライメントパターンを「特定部分」とすることができる。
上記第1〜第4実施形態では、QRコードの「特定部分」として位置検出パターンを例示したが、これに限定されず、例えばタイミングパターンや位置合わせパターンを「特定部分」としてもよい。
第1実施形態では、各位置検出パターンに配される明色セルの複数位置の輝度を抽出し、かつ各位置検出パターンに配される暗色セルの複数位置の輝度を抽出することで、各位置検出パターンの明色セル及び暗色セルの輝度をそれぞれ検出していたが、この方法に限られない。例えば、各位置検出パターンに配される明色セルの一位置(例えば中心位置)の輝度を抽出し、かつ各位置検出パターンに配される暗色セルの一位置(例えば中心位置)の輝度を抽出することで、各位置検出パターンの明色セル及び暗色セルの輝度をそれぞれ検出するようにしてもよい。
第1実施形態では、「印字品質情報」として、閾値と、算出したコントラストと、の差からなる「余裕度」を例示したが、コントラストと基準情報とを反映して得られる情報であればこれに限定されない。例えば、3つの位置検出パターンのコントラストのばらつき度合いを示す値と、閾値と、に基づく印字品質情報を生成し、記憶又は通知するようにしてもよい。具体的には、S3にて検出される複数の位置検出パターンの各コントラスト(例えば上記C1,C2,C3)について最大値と最小値との差Cnを求め、予め定められた閾値Cm(基準情報)と、この差Cnとの差(Cm−Cn)を印字品質情報として記憶又は通知するようにしてもよい。この場合、コントラストのばらつきの程度を把握して有効利用できるようになる。
第2実施形態では、太さ状態値の一例を示したが、特定部分の太さ状態を示す値であれば、他の算出方法で算出されたものを太さ状態値としてもよい。一例としては、例えば、抽出された特定部分の全領域の面積に占める暗色部領域の割合、或いは、抽出された特定部分の全領域の面積に占める明色部領域の割合を太さ状態値を示す値としてもよい。即ち、QRコードの位置検出パターンなどに代表される特定部分は、正規の形状である場合、特定部分の全領域の面積に占める暗色部領域の割合が一定値となり、例えば暗色部が太りが生じていると、この割合が増加する傾向がある。そこで、このような割合を太さ状態値とすれば、特定部分の暗色部の太りの程度を定量的に示すことができる。
第3実施形態では、かすれ状態値の一例を示したが、特定部分のかすれ状態を示す値であれば、他の算出方法で算出されたものをかすれ状態値としてもよい。一例としては、例えば、抽出された特定部分の全領域の面積に占める暗色部領域の割合をかすれ状態値としてもよい。即ち、QRコードの位置検出パターンなどに代表される特定部分は、正規の形状である場合、特定部分の全領域の面積に占める暗色部領域の割合が一定値となり、暗色部がかすれているとこの割合が低下する傾向がある。そこで、このような割合をかすれ状態値とすれば、特定部分のかすれの程度を定量的に示すことができる。
第1実施形態では、S3において位置検出パターンが検出され、検出数が3未満だった場合には、QRコードQの画像全体に対して画像処理を行っていたが、これに限られない。例えば、S7においてNoと判断されるような場合に、S10の画像処理において、検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行うようにしてもよい。そして、その後のS5又はS8においては、その画像処理がなされた後のデータ(画像処理済データ)について位置検出パターンのコントラストを算出し、このコントラスト(即ち、画像処理がなされた後の位置検出パターンのコントラスト)に基づいて余裕度(印字品質情報)を生成し、メモリ35に記憶したり、液晶表示器46等を用いてユーザに通知するように構成できる。
このように、このようにQRコードQ全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して行い、その画像処理後の位置検出パターンのコントラストを算出するようにすれば、画像処理の迅速化を図りつつ、画像処理後の位置検出パターンのコントラスト算出結果を利用できるようになる。
第2実施形態では、S203における位置検出パターンの検出数が3未満だった場合には、QRコードQの画像全体に対して画像処理を行っていたが、これに限られない。例えば、S207においてNoと判断されるような場合に、S210の画像処理において、検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行うようにしてもよい。そして、その後のS205又はS208においては、その画像処理がなされた後のデータ(画像処理済データ)について、位置検出パターンの太さ状態値や、この太さ状態値(即ち、画像処理がなされた後の位置検出パターンの太さ状態値)に基づく判定値などを印字品質情報として生成し、メモリ35に記憶したり、液晶表示器46等を用いてユーザに通知するように構成できる。このようにQRコードQ全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して選択的に行うようにすれば、太さ状態値を得るために必要な領域に対して効率的に画像処理を行うことができ、画像処理を適切かつ迅速に行うことができる。更に、その画像処理がなされた後の位置検出パターンの太さ状態値に基づいて印字品質情報を生成し、当該印字品質情報を通知又は記録しているため、画像処理後の位置検出パターンの太さ状態値を有効利用できるようになる。
第3実施形態では、S303における位置検出パターンの検出数が3未満だった場合に、QRコードQの画像全体に対して画像処理を行っていたが、これに限られない。例えば、S307においてNoと判断されるような場合に、S310の画像処理において、検出された位置検出パターンに対して、又はその検出された位置検出パターンとクワイエットゾーンに対して画像処理を行うようにしてもよい。そして、その後のS305又はS308においては、その画像処理がなされた後のデータ(画像処理済データ)について、位置検出パターンのかすれ状態値や、このかすれ状態値(即ち、画像処理がなされた後の位置検出パターンのかすれ状態値)に基づく判定値などを印字品質情報として生成し、メモリ35に記憶したり、液晶表示器46等を用いてユーザに通知するように構成できる。このようにQRコードQ全体に画像処理を行うのではなく、位置検出パターン、又は位置検出パターンとクワイエットゾーンに対して選択的に行うようにすれば、かすれ状態値を得るために必要な領域に対して効率的に画像処理を行うことができ、画像処理を適切かつ迅速に行うことができる。更に、その画像処理がなされた後の位置検出パターンのかすれ状態値に基づいて印字品質情報を生成し、当該印字品質情報を通知又は記録しているため、画像処理後の位置検出パターンのかすれ状態値を有効利用できるようになる。
第4実施形態では、1回の解読処理において1つの点灯パターンを用いているが(即ち、1回の画像データの取得において1つの点灯パターンを用いているが)、1回の解読処理において複数の点灯パターンを切り替えて使用してもよい。なお、図18の中段の例は第4実施形態で説明した例についてのものであり、1回の解読処理において1つの点灯パターを用いた場合を示している。一方、図18の下段の例は、1回の解読処理において複数の点灯パターンを使用する例を示すものであり、受光センサ23の露光中に照明光源21の点灯パターンの切り替えている。この例では、「点灯パターン設定手段」として機能するメモリ35及び制御回路40によって複数の照明光源21a〜21dの各々の点灯時間を設定しており、制御回路40は、その設定された各々の点灯時間に対応した点灯を行うように照明光源21a〜21dを制御している。
具体的には、露光期間の前半に点灯パターンA(第1の照明光源21aのみを点灯させる点灯パターン)を用いて照明光源21による照射を行い、露光期間の後半に点灯パターンB(第2の照明光源21bのみを点灯させる点灯パターン)を用いて照明光源21による照射を行っている。なお、露光期間中に複数の点灯パターンを切り替えて使用する方法はこの方法に限られることはなく、例えば3以上の点灯パターンを切り替えて使用してもよい。
また、このような方法でも、図16のようなデータを用いて点灯の順序を設定でき、例えば、1回目のS402の解読処理では順序1,2の点灯パターンを用いて解読処理を行い、次に到来する2回目の解読処理では順序3、4の点灯パターンを用いて解読処理を行うといった方法が挙げられる。
このようにすると、点灯パターンを簡易且つ良好に切り替えることができると共に、短時間でより多くの点灯パターンを用いることができるようになる。また、単一の露光期間において複数の点灯パターンを複合的に使用でき、点灯のバリエーションを一層増加させることができる。