(57)【特許請求の範囲】
【請求項１】
色彩又は濃度又は輝度の異なる複数種類のセルがコード領域内に配列されると共に、各セルの情報が各セル色によって表わされ、且つ１又は複数の基準色で表現される基準パターンが前記コード領域内に設けられてなるカラーコードを読み取る光学的情報読取装置であって、
前記カラーコードを撮像する撮像手段と、
前記撮像手段によって撮像された前記カラーコードのコード画像において、セル毎に色の度合いを示す検出値を取得するセル色情報取得手段と、
前記コード画像に含まれる前記基準パターンを検出し、当該基準パターンに基づいて前記カラーコードで用いられる各セル色の基準値を設定する基準値設定手段と、
前記基準値設定手段にて設定された各セル色の前記基準値に基づき、セル色毎に、色彩又は濃度又は輝度に関する数値的な仮範囲を設定する仮範囲設定手段と、
前記仮範囲設定手段によって設定された各セル色の前記仮範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、各セルをいずれかのセル色の前記仮範囲に分類する分類手段と、
前記分類手段によって各セル色の前記仮範囲に分類されたそれぞれのセルの前記検出値に基づいて、セル色毎に、色彩又は濃度又は輝度に関する数値的な範囲を定めたクラスタを設定するクラスタ設定手段と、
前記クラスタ設定手段によって設定されたセル色毎のクラスタの範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、汚れと推定されるセルを検出する汚れ検出手段と、
を備えたことを特徴とする光学的情報読取装置。
【請求項２】
前記仮範囲設定手段は、前記基準値設定手段によって設定された各セル色の基準値を中心とすると共に、予め定められた仮範囲サイズに基づいて各セル色の前記仮範囲を設定し、
前記クラスタ設定手段は、それら各セル色の前記仮範囲に分類されたそれぞれのセルの前記検出値に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定することを特徴とする請求項１に記載の光学的情報読取装置。
【請求項３】
前記クラスタ設定手段は、
既に設定された各セル色のクラスタの範囲と、それら既設定の各セル色のクラスタにそれぞれ属する各セルの前記検出値に基づいて、各セル色のクラスタの中心値を設定する中心値再設定手段と、
前記中心値再設定手段によって再設定された各セル色のクラスタの中心値と、予め規定されたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定する範囲再設定手段と、
を有し、
前記汚れ検出手段は、前記範囲再設定手段によって設定された各セル色のクラスタの範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、汚れと推定されるセルを検出することを特徴とする請求項２に記載の光学的情報読取装置。
【請求項４】
前記中心値再設定手段は、前記範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、前記範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、前記範囲再設定手段による各セル色のクラスタ範囲の設定回数が前記所定回数に達した場合に中心値の再設定を終了することを特徴とする請求項３に記載の光学的情報読取装置。
【請求項５】
前記中心値再設定手段は、前記範囲再設定手段によって設定された各セル色のクラスタそれぞれへの各セルの割り当てが、その再設定前の前回の設定における各セル色のクラスタそれぞれへの割り当てから変化しなくなるまでの間、前記範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、割り当てが変化しなくなった場合に中心値の再設定を終了することを特徴とする請求項３に記載の光学的情報読取装置。
【請求項６】
前記汚れ検出手段は、前記仮範囲設定手段による前記仮範囲の設定時及び前記範囲再設定手段による前記クラスタ範囲の設定時に、前記セル色情報取得手段によって取得された各セルの前記検出値に基づいて汚れと推定されるセルを検出し、
前記中心値再設定手段は、前記汚れ検出手段によって汚れと推定されたセルを除外した残りの各セルの前記検出値を参照し、既設定の各セル色のクラスタに属するそれら残りの各セルの前記検出値に基づいて、各セル色のクラスタの中心値を設定することを特徴とする請求項３から請求項５のいずれか一項に記載の光学的情報読取装置。
【請求項７】
前記セル色情報取得手段は、前記撮像手段によって撮像された前記カラーコードのコード画像において、セル毎にＲＧＢ成分の各成分値、又はＣＭＹ成分の各成分値、若しくはＨＳＶ成分の各成分値を前記検出値として取得し、
前記基準値設定手段は、前記コード画像に含まれる前記基準パターンに基づき、前記カラーコードで用いられる各セル色について、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分基準値を設定し、
前記仮範囲設定手段は、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分をパラメータとする仮想的な座標において、セル色毎に、前記基準値設定手段によって設定された各成分基準値を中心値とし且つ予め定められた所定長さを半径とした仮範囲を設定し、
前記分類手段は、前記仮範囲設定手段によって設定された各セル色の前記仮範囲と、前記セル色情報取得手段によって取得された各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値とに基づいて、各セルを、前記仮想的な座標においていずれかのセル色の前記仮範囲に分類し、
前記クラスタ設定手段は、前記分類手段によって各セル色の前記仮範囲にそれぞれ分類される各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、前記仮想的な座標において、セル色毎に、予め定められた前記所定長さを半径としたクラスタ範囲を設定することを特徴とする請求項１から請求項６のいずれか一項に記載の光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的情報読取装置に関するものである。
【背景技術】
【０００２】
従来から提供されている二次元コードは、白色セル及び黒色セルをマトリックス状に配置した構成が一般的であるが、このような二次元コードは記録する情報量を増大させにくいという事情があった。そこで、現在では、様々な色のセルを配列したカラーコードが各種提案され、記録する情報の高密度化を実現している。なお、このようなカラーコードに関する技術としては例えば特許文献１、２のようなものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−５５４２０公報
【特許文献２】特開２００３−１７８２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記のようなカラーコードでは、セルに表示される各色を正確に判定することが求められている。しかしながら、各色の読み取り結果は印刷環境や読み取り環境によってばらつきやすく、何ら措置を講じないとばらつきに起因する誤判定を招くという問題がある。このような誤判定を防ぐためには、カラーコード内の特定領域に色判定の基準となるべき基準パターン（リファレンスパターン）を配置しておき、このカラーコードを読み取るときに、基準パターンの参照結果に基づいて各セルの色の判別をすることが有効である。しかしながら、単に上記のような判別方法のみで各セルの色を判別すると、基準パターンに汚れがある場合や、カラーコード内に色むらがある場合に各セルの色を正確に判別し難いという問題がある。
【０００５】
一方、このような問題に関連する技術としては、特許文献２のようなものが提案されている。この技術では、基準パターン（リファレンスパターン）で検出された色と、予め設定された基準色とのズレを補正量として利用しており、これにより、印刷環境や読取環境の変化に起因するばらつきを吸収し、各々のセルの色をより正確に認識しようとしている。しかしながら、特許文献２で用いられる補正方法は、例えば基準パターン（リファレンスパターン）の領域とデータ記録領域とで条件（印刷、照明、レンズなどの条件）が異なる場合など、補正が有効とならない虞があり、各セルの色をより正確に認識するためには、一層の工夫が要求される。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、カラーコードを読取可能な光学的情報読取装置において、各セルの色をより正確に判別し得る構成を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１の発明は、色彩又は濃度又は輝度の異なる複数種類のセルがコード領域内に配列されると共に、各セルの情報が各セル色によって表わされ、且つ１又は複数の基準色で表現される基準パターンが前記コード領域内に設けられてなるカラーコードを読み取る光学的情報読取装置に係るものである。
更に、前記カラーコードを撮像する撮像手段と、前記撮像手段によって撮像された前記カラーコードのコード画像において、セル毎に色の度合いを示す検出値を取得するセル色情報取得手段と、前記コード画像に含まれる前記基準パターンを検出し、当該基準パターンに基づいて前記カラーコードで用いられる各セル色の基準値を設定する基準値設定手段と、前記基準値設定手段にて設定された各セル色の前記基準値に基づき、セル色毎に、色彩又は濃度又は輝度に関する数値的な仮範囲を設定する仮範囲設定手段と、前記仮範囲設定手段によって設定された各セル色の前記仮範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、各セルをいずれかのセル色の前記仮範囲に分類する分類手段と、前記分類手段によって各セル色の前記仮範囲に分類されたそれぞれのセルの前記検出値に基づいて、セル色毎に、色彩又は濃度又は輝度に関する数値的な範囲を定めたクラスタを設定するクラスタ設定手段と、前記クラスタ設定手段によって設定されたセル色毎のクラスタの範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、汚れと推定されるセルを検出する汚れ検出手段と、を備えたことを特徴としている。
【０００８】
請求項２の発明は、請求項１に記載の光学的情報読取装置において、前記仮範囲設定手段が、前記基準値設定手段によって設定された各セル色の基準値を中心とすると共に、予め定められた仮範囲サイズに基づいて各セル色の前記仮範囲を設定し、前記クラスタ設定手段が、それら各セル色の前記仮範囲に分類されたそれぞれのセルの前記検出値に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定することを特徴としている。
【０００９】
請求項３の発明は、請求項２に記載の光学的情報読取装置において、前記クラスタ設定手段が、既に設定された各セル色のクラスタの範囲と、それら既設定の各セル色のクラスタにそれぞれ属する各セルの前記検出値に基づいて、各セル色のクラスタの中心値を設定する中心値再設定手段と、前記中心値再設定手段によって再設定された各セル色のクラスタの中心値と、予め規定されたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定する範囲再設定手段と、を有している。
そして、前記汚れ検出手段は、前記範囲再設定手段によって設定された各セル色のクラスタの範囲と、前記セル色情報取得手段によって取得された各セルの前記検出値とに基づいて、汚れと推定されるセルを検出している。
【００１０】
請求項４の発明は、請求項３に記載の光学的情報読取装置において、前記中心値再設定手段が、前記範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、前記範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、前記範囲再設定手段による各セル色のクラスタ範囲の設定回数が前記所定回数に達した場合に中心値の再設定を終了している。
【００１１】
請求項５の発明は、請求項３に記載の光学的情報読取装置において、前記中心値再設定手段は、前記範囲再設定手段によって設定された各セル色のクラスタそれぞれへの各セルの割り当てが、その再設定前の前回の設定における各セル色のクラスタそれぞれへの割り当てから変化しなくなるまでの間、前記範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、割り当てが変化しなくなった場合に中心値の再設定を終了している。
【００１２】
請求項６の発明は、請求項３から請求項５のいずれか一項に記載の光学的情報読取装置において、前記汚れ検出手段が、前記仮範囲設定手段による前記仮範囲の設定時及び前記範囲再設定手段による前記クラスタ範囲の設定時に、前記セル色情報取得手段によって取得された各セルの前記検出値に基づいて汚れと推定されるセルを検出している。
そして、前記中心値再設定手段は、前記汚れ検出手段によって汚れと推定されたセルを除外した残りの各セルの前記検出値を参照し、既設定の各セル色のクラスタに属するそれら残りの各セルの前記検出値に基づいて、各セル色のクラスタの中心値を設定している。
【００１３】
請求項７の発明は、請求項１から請求項６のいずれか一項に記載の光学的情報読取装置において、前記セル色情報取得手段が、前記撮像手段によって撮像された前記カラーコードのコード画像において、セル毎にＲＧＢ成分の各成分値、又はＣＭＹ成分の各成分値、若しくはＨＳＶ成分の各成分値を前記検出値として取得している。
そして、前記基準値設定手段は、前記コード画像に含まれる前記基準パターンに基づき、前記カラーコードで用いられる各セル色について、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分基準値を設定し、前記仮範囲設定手段は、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分をパラメータとする仮想的な座標において、セル色毎に、前記基準値設定手段によって設定された各成分基準値を中心値とし且つ予め定められた所定長さを半径とした仮範囲を設定している。
更に、前記分類手段は、前記仮範囲設定手段によって設定された各セル色の前記仮範囲と、前記セル色情報取得手段によって取得された各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値とに基づいて、各セルを、前記仮想的な座標においていずれかのセル色の前記仮範囲に分類し、前記クラスタ設定手段は、前記分類手段によって各セル色の前記仮範囲にそれぞれ分類される各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、前記仮想的な座標において、セル色毎に、予め定められた前記所定長さを半径としたクラスタ範囲を設定している。
【発明の効果】
【００１４】
請求項１の発明では、撮像手段によって撮像されたカラーコードのコード画像において基準パターンを検出し、その基準パターンに基づいてセル色毎に仮範囲を設定した上で、各セルをいずれかのセル色の仮範囲に分類することができる。仮範囲は基準パターンに基づいてセル色毎に設定されたものであるため、各セルは、コード内の設けらた客観的な基準に基づいて適切に分類されることとなる。
更に、各セル色の仮範囲に分類されたそれぞれのセルの検出値に基づいて、セル色毎にクラスタを設定している。そして、設定されたセル色毎のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れ検出手段により汚れと推定されるセルを検出している。この構成によれば、実際に得られた各セルの検出値に基づき、セル色毎に、実際の状態を反映したより適切な範囲（クラスタ範囲）を設定し直すことができ、この範囲（クラスタ範囲）に基づいて各セルがいずれの色に属するかをより正確に判別することができる。更に、セル色毎に適切に定められた範囲（クラスタ範囲）に基づいて汚れと推定されるセルをより正確に判別することができる。
【００１５】
請求項２の発明では、仮範囲設定手段が、基準値設定手段によって設定された各セル色の基準値を中心とすると共に、予め定められた仮範囲サイズに基づいて各セル色の仮範囲を設定している。このようにすることで、基準パターンに基づいて得られた各セル色の基準値を中心とし、検出値が各基準値から一定値以上離れていないセル同士をグループとする適切な仮範囲を設定することができる。
そして、クラスタ設定手段は、それら各セル色の仮範囲に分類されたそれぞれのセルの検出値に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定している。このようにすると、各セル色の仮範囲の中心値を、各仮範囲に分類されたそれぞれのセルの検出値を反映した値に修正することができる。そして、このように実状態を加味して修正された各修正値を「各クラスタの中心値」とするように、各セル色のクラスタの範囲を適切に定めることができる。
【００１６】
請求項３の発明では、クラスタ設定手段が、既に設定された各セル色のクラスタの範囲と、それら既設定の各セル色のクラスタにそれぞれ属する各セルの検出値に基づいて、各セル色のクラスタの中心値を設定する中心値再設定手段と、中心値再設定手段によって再設定された各セル色のクラスタの中心値と、予め規定されたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定する範囲再設定手段とを有している。
このようにすると、一旦設定された各セル色のクラスタの中心値を、各クラスタに分類されたそれぞれのセルの検出値を反映した値に再度修正することができる。従って、１回目のクラスタ範囲の設定で実状態の反映が不十分であったとしても、再度の設定で各セル色のクラスタの範囲がより適切に修正されやすくなる。
そして、このように範囲再設定手段によって設定された各セル色のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れと推定されるセルを検出すれば、より正確な汚れ検出が可能となる。
【００１７】
請求項４の発明では、中心値再設定手段が、範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達した場合に中心値の再設定を終了している。
このようにすると、一旦設定された各セル色のクラスタの中心値を、各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定することができる。従って、１回目のクラスタ範囲の設定で実状態の反映が不十分であったとしても、所定回数の再設定により各セル色のクラスタの範囲をより一層適切に修正することができる。
【００１８】
請求項５の発明では、範囲再設定手段によって設定された各セル色のクラスタそれぞれへの各セルの割り当てが、その再設定前の前回の設定における各セル色のクラスタそれぞれへの割り当てから変化しなくなるまでの間、範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、割り当てが変化しなくなった場合に中心値の再設定を終了している。
このようにすると、再設定前後でクラスタ範囲内の割り当てに変化が生じなくなるまでクラスタ範囲を修正することができ、最終的に、実際の検出値をより適切に反映したクラスタ範囲を定めることができる。
【００１９】
請求項６の発明では、仮範囲設定手段による仮範囲の設定時及び範囲再設定手段によるクラスタ範囲の設定時に、セル色情報取得手段によって取得された各セルの検出値に基づいて汚れと推定されるセルを検出している。そして、中心値再設定手段は、汚れ検出手段によって汚れと推定されたセルを除外した残りの各セルの検出値を参照し、既設定の各セル色のクラスタに属するそれら残りの各セルの検出値に基づいて、各セル色のクラスタの中心値を設定している。
このようにすると、汚れと推定されるセルの検出値がクラスタ範囲の設定に反映されなくなるため、汚れと推定されるセルの検出値がクラスタ範囲の設定に悪影響を及ぼすことを防止することができる。
【００２０】
請求項７の発明では、基準値設定手段は、コード画像に含まれる基準パターンに基づき、カラーコードで用いられる各セル色について、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分基準値を設定し、仮範囲設定手段は、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分をパラメータとする仮想的な座標において、セル色毎に、基準値設定手段によって設定された各成分基準値を中心値とし且つ予め定められた所定長さを半径とした仮範囲を設定している。このようにすると、セル毎にＲＧＢ成分の各成分値、又はＣＭＹ成分の各成分値、若しくはＨＳＶ成分の各成分値を検出値する構成において、コード内の設けらた客観的な基準に基づいて各セルを適切に分類することができる。
更に、分類手段は、仮範囲設定手段によって設定された各セル色の仮範囲と、セル色情報取得手段によって取得された各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値とに基づいて、各セルを、仮想的な座標においていずれかのセル色の仮範囲に分類し、クラスタ設定手段は、分類手段によって各セル色の仮範囲にそれぞれ分類される各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、仮想的な座標において、セル色毎に、予め定められた所定長さを半径としたクラスタ範囲を設定している。この構成によれば、実際に得られた各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、セル色毎に、実際の状態を反映したより適切な範囲（クラスタ範囲）を設定し直すことができ、この範囲（クラスタ範囲）に基づいて各セルがいずれの色に属するかをより正確に判別することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の第１実施形態に係る光学的情報読取装置の電気的構成を概略的に例示するブロック図である。
【図２】図２は、図１の光学的情報読取装置によって読み取られるカラーコードを概略的に例示する概略図である。
【図３】図３は、カラーコードに用いられる基準パターン（色参照パターン）の一例を概念的に示す概略図である。
【図４】図４は、図１の光学的情報読取装置で行われる読取処理を例示するフローチャートである。
【図５】図５は、図４の読取処理におけるデコード処理を例示するフローチャートである。
【図６】図６は、図５のデコード処理で行われるセル色認識処理を例示するフローチャートである。
【図７】図７（Ａ）は、各色毎の基準値の算出例として、各色毎に基準パターンの平均値を算出する方法について説明する説明図である。図７（Ｂ）は、所定セル色（黒色）の基準値を算出する方法について具体的に説明する説明図である。図７（Ｃ）は、各セル色の検出値（Ｒ成分値、Ｇ成分値、Ｂ成分値）を概念的に説明する説明図である。
【図８】図８は、各色毎の基準値の座標を基に仮範囲を設定した様子を概念的に説明する説明図である。
【図９】図９は、いずれかの色についての仮範囲と、仮範囲に基づいて設定されたクラスタ範囲と、そのクラスタ範囲に基づいて再設定されたクラスタ範囲とを概念的に説明する説明図である。
【発明を実施するための形態】
【００２２】
[第１実施形態]
以下、本発明を具現化した第１実施形態について、図面を参照して説明する。
（全体構成）
まず、第１実施形態に係る光学的情報読取装置の全体構成を概説する。なお、図１は、本発明の第１実施形態に係る光学的情報読取装置の電気的構成を概略的に例示するブロック図である。
本実施形態に係る光学的情報読取装置１は、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。
【００２３】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、ＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、ハウジングの読取口（図１では図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、この読取対象物Ｒには読取対象となるカラーコード１００が印刷等によって形成されている。
【００２４】
受光センサ２３は、読取対象物Ｒやカラーコード１００に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａにて受光し得る構成でプリント配線板（図示略）に実装されている。本実施形態では、受光センサ２３が「撮像手段」の一例に相当する。
【００２５】
また、フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Ｌｒの波長相当を超える不要な光が受光センサ２３に入射することを抑制している。また、結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２３の受光面２３ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【００２６】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心に構成されるもので、前述した光学系によって撮像されたカラーコード１００の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該光学的情報読取装置１の全体システムに関する制御も行っている。
【００２７】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２８】
メモリ３５は、半導体メモリ装置として構成されており、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００２９】
制御回路４０は、光学的情報読取装置１全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続可能に構成されており、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が制御回路４０に接続されている。なお、通信インタフェース４８には、当該光学的情報読取装置１の上位システムに相当するホストコンピュータＨＳＴ等が接続可能とされている。また、電源系は、電源スイッチ４１、電池４９等によって構成されており、制御回路４０による電源スイッチ４１のオンオフ制御により、電池４９から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
【００３０】
（カラーコード）
次に、図２、図３等を参照し、光学的情報読取装置１の読取対象となるカラーコードを説明する。なお、図２は、光学的情報読取装置１によって読み取られるカラーコード１００を概略的に例示する概略図である。また、図３は、カラーコードに用いられる基準パターン（色参照パターン）の一例を概念的に示す概略図である。
【００３１】
図２に示すカラーコード１００は、複数のセルＣがマトリックス状に配列されてなるものであり、複数のコードブロック（データコードブロック１０７、誤り訂正コードブロック１０８）と、第１の特定パターン１０２と、第２の特定パターン１０３、１０４と、色参照パターン１１０、１２０、１３０、１４０、１５０、１６０、１７０、１８０、１９０（以下、これら色参照パターンを色参照パターン１１０〜１９０とも称する）とを備えた構成をなしている。このカラーコード１００は、外形が正方形状のセルＣが集合してマトリックス状に配置されたセル集合体として構成されており、図２の例では、セル数が縦横同数（３５セル×３５セル）となる配列で構成されている。また、カラーコード１００を構成するコード領域（セルＣが配置される領域）は、外形が矩形状の矩形領域（図２の例では、外形が正方形状の正方形領域）とされている。
【００３２】
なお、図２では、一部のセルのみについて符号Ｃを付しており、他のセルの符号は省略している。また、図２では、一部の誤り訂正コードブロック１０８の位置を一点鎖線にて概念的に示しており、他の誤り訂正コードブロックについては図示を省略している。また、一部のデータコードブロック１０７の位置について二点鎖線にて概念的に示しており、他のデータコードブロック１０７については図示を省略している。また、図２では、データが記録される領域（データ記録領域）を破線ＡＲ１にて概念的に示しており、このデータ記録領域ＡＲ１内の具体的セル構成（各コードブロックの具体的セル構成等）は省略して示している。
【００３３】
本実施形態のカラーコード１００は、色彩又は濃度又は輝度の異なる３種類以上のセルを用いたいわゆるカラーコードとして構成されるものであり、図２では、その一例として、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の８色のセルを用いた構成を示している。なお、本実施形態及び他の実施形態を通し、黒色セルをＣｂ、白色セルをＣｗで示すとともに、緑色セルを符号Ｃｇ、赤色セルをＣｒ、青色セルをＣｕ、黄色セルをＣｙ、シアン色セルをＣｎ、マゼンダ色セルをＣｍとそれぞれ示すこととする。
【００３４】
カラーコード１００の一部を構成するコードブロックは、図２のカラーコード１００では、データコードブロック１０７と、誤り訂正コードブロック１０８とに分けられており、いずれも複数のセルＣが集合した構成をなしている。
【００３５】
データコードブロック１０７は、デコードの対象となるデータを符号化した符号化データ（データコード語）を複数のセルによって表現したブロックであり、データコードブロック１０７を構成する各セルは、予め定められた複数種類のセル（図２の例では上述の８色のセル）の中からいずれかの種類のセルが選択されて用いられている。なお、図２では、８つのセルが４行２列のマトリックス状に配列されたデータコードブロック１０７を二点鎖線にて概念的に例示しているが、データコードブロック１０７のセル数やブロック構成はこれ以外であってもよい。
【００３６】
各データコードブロック１０７は、デコードすべき符号化データ（データコード語）に対応したセルの配列で構成されている。具体的には、セル表示色が、数値に対応付けられており、例えば、データ値「０」に対して第１の色「白」、データ値「１」に対して第２の色「赤」、データ値「２」に対して第３の色「緑」、データ値「３」に対して第４の色「青」、データ値「４」、に対して第５の色「マゼンタ」、データ値「５」に対して第６の色「黄」、データ値「６」に対して第７の色「シアン」、データ値「７」、に対して第８の色「黒」、がそれぞれ対応付けられている。
【００３７】
誤り訂正コードブロック１０８は、データコードブロック１０７の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック１０８を構成する誤り訂正コード語は、データコードブロック１０７を構成する符号化データ（データコード語）に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
【００３８】
第１の特定パターン１０２は、カラーコード１００の矩形領域において４つ設けられた角部（矩形領域における角を構成する部分）１０５ａ〜１０５ｄのうち、規定の角部１０５ａに配置されるものである。図２の例では第１の特定パターン１０２の外形が矩形状（詳しくは正方形状）に構成されており、第１の特定パターン１０２の外縁を構成する２辺によって矩形領域における規定の角部１０５ａの角位置が定められている。具体的には、中心に第１の色のセル（黒色セル）が１つ配置され、その第１の色のセル（黒色セル）の周りを複数種類のセルが矩形状に囲んでいる。さらに、その環状のセル群（複数色のセル群）の周りを第１の色のセル（黒色セル１０２ａ）が環状かつ矩形状に囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が矩形状（正方形状）に構成され、第１の特定パターン１０２全体として外形が矩形状（正方形状）となっている。
【００３９】
この第１の特定パターン１０２は、矩形領域における各セルＣの位置の特定するための要素として機能するものであり、具体的には、カラーコード１００を光学的情報読取装置１で読み取ったときに得られる画像データにおいて規定の角部１０５ａの位置を特定するために用いられると共に、その画像データにおいてカラーコード１００の向きを特定するために用いられる。なお、本明細書全体を通し、第１の特定パターン１０２、第２の特定パターン１０３、１０４、及び後述する色参照パターン１１０〜１９０は、カラーコードに含まれるデータ（デコードすべきデータ）に関係なく一定のパターンとして構成されたものとする。
【００４０】
第２の特定パターン１０３、１０４は、コード領域（矩形領域）の境界をなす４つの辺（４つの境界辺）のうち、第１の特定パターン１０２が接する境界辺に隣接して配置されるものであり、一方のパターン（第２の特定パターン１０３）が一方の境界辺に沿って配置され、他方のパターン（第２の特定パターン１０４）が他方の境界辺に沿って配置されている。これら第２の特定パターン１０３、１０４は、カラーコード１００のコード領域（矩形領域）を背景から分離するために利用され、後述する読み取りの際にこれら第２の特定パターン１０３，１０４を認識することで境界辺の位置を特定できるようになっている。なお、図２の例では、第２の特定パターン１０３、１０４のいずれもが、白色セルと黒色セルとを交互に配置してなる白黒交互パターンによって構成されているが、他のパターンによって構成されていてもよい。
【００４１】
次に、色参照パターン１１０〜１９０について説明する。色参照パターン１１０〜１９０は、矩形領域内の各セルに使用するセル表示色の基準となるパターンであり、いずれも、複数のセルがマトリックス状（図２の例では３行３列のマトリックス状）に配置された構成をなしている。図２の例では、全部の色参照パターン１１０〜１９０が同一の構成となっており、いずれも、カラーコード１００で用いられる全セル表示色（黒色、白色、赤色、緑色、青色、マゼンタ色、シアン色、黄色）を表示するように構成されている。なお、色参照パターン１１０〜１９０は、「基準パターン」の一例に相当する。
【００４２】
図３は、色参照パターン１１０を拡大して示しており、この例では、中心に黒色セル１１０ｉが配置され、その黒色セル１１０ｉの周囲を、複数色のセルが囲んでいる。これら複数色のセルを、角部に配置される白色セル１１０ａから時計回りに説明すると、白色セル１１０ａ、シアン色セル１１０ｂ、赤色セル１１０ｃ、緑色セル１１０ｄ、白色セル１１０ｅ、マゼンタ色セル１１０ｆ、青色セル１１０ｇ、黄色セル１１０ｈの順に配置されている。なお、図３では、色参照パターン１１０のみを示しているが、これ以外の色参照パターン１２０〜１９０は色参照パターン１１０と同一の構成であるため、これら当該色参照パターン１２０〜１９０についての拡大図及び詳細な説明は省略する。また、図２の例では、各色参照パターン１１０〜１９０が矩形領域の４つの角部１０５ａ、１０５ｂ、１０５ｃ、１０５ｄ等にそれぞれ配置されているが、色参照パターンの配置場所や色参照パターンの数は図２の構成に限定されるものではない。
【００４３】
（読取処置）
次に、光学的情報読取装置１で行われる読取処理について説明する。
図４は、光学的情報読取装置１で行われる読取処理の流れを例示するフローチャートである。図４に示す読取処理は、例えば作業者が所定操作（例えば、操作スイッチ４２のオン操作）を行うことで開始され、まず、画像取得処理が行われる（Ｓ１）。この処理では、カラーコード１００が付された読取対象物Ｒ（図１）が受光センサ２３によって撮像され、カラーコード１００の画像データがメモリ３５に記憶される。
【００４４】
その後、Ｓ１にて取得された画像データにおいてカラーコード１００のコード領域（矩形領域）を特定する処理を行う（Ｓ２）。この特定処理では、例えば外縁が特定図形（例えば四角形）となっている領域を抽出したり、或いは、外縁の明暗変化、色変化が激しい領域を抽出することで行うことができる。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、これら公知の方法を用いて領域を特定してもよい。
【００４５】
Ｓ２の特定処理の後には、Ｓ２の処理においてコード領域（矩形領域）が特定できたか否かを判断し（Ｓ３）、特定できた場合にはＳ３にてＹｅｓに進み、デコード処理を行う（Ｓ４）。一方、特定できなかった場合には、Ｓ３にてＮｏに進み、当該読取処理を終了する。
【００４６】
次に、Ｓ４のデコード処理について説明する。Ｓ４のデコード処理は、例えば図５のような流れで行われ、まず、コード領域（矩形領域）をセル単位に分割し、セル位置を特定する処理を行う（Ｓ１１）。このＳ１１の処理により、コード領域内において各セル位置が特定されることになる。
【００４７】
Ｓ１１の処理の後には、Ｓ１１で特定された全セルの内の未選択となっているいずれかのセルを選択する処理を行う。本実施形態では、コード領域を構成する各セルに対してＳ１３、Ｓ１４の処理が行われるようになっており、このＳ１２の処理では、Ｓ１３、Ｓ１４の処理が未だ行われていないいずれかのセルを選択することになる。
【００４８】
Ｓ１２でいずれかのセルが選択された後には、その選択されたセルの色を認識する処理を行う（Ｓ１３）。なお、Ｓ１３のセル色認識処理については後に詳述する。Ｓ１２で選択されたセル（着目セル）に対してＳ１３のセル色認識処理が終わった後には、その着目セルの色（Ｓ１３で認識された色）を当該色に対応付けられたデータに変換する（Ｓ１４）。そして、全てのセルについてＳ１３、Ｓ１４の処理が行われたか否かを判断し、Ｓ１１で特定された全セルにおいて、Ｓ１３、Ｓ１４の処理が行われていないセルが残っている場合には、Ｓ１５にてＮｏ進む。この場合、Ｓ１２に戻り、その残っているセルのいずれかを選択してＳ１３、Ｓ１４の処理を繰り返す。この場合、Ｓ１２にて新たに着目されたセルに対してＳ１３のセル色認識処理が行われ、認識された色に対応付けられたデータに変換する（Ｓ１４）。一方、Ｓ１１で特定された全てのセルについてＳ１３、Ｓ１４の処理が行われた場合には、Ｓ１５にてＹｅｓに進み、公知の誤り訂正処理（Ｓ１６）を行った後、デコード処理を終了する。
【００４９】
次に、Ｓ１３のセル色認識処理について詳述する。
図６は、図５のデコード処理で行われるセル色認識処理を例示するフローチャートである。図７（Ａ）は、各色毎の基準値の算出例として、各色毎に基準パターンの平均値を算出する方法について説明する説明図である。図７（Ｂ）は、所定セル色（黒色）の基準値を算出する方法について具体的に説明する説明図である。図７（Ｃ）は、各セル色の検出値（Ｒ成分値、Ｇ成分値、Ｂ成分値）を概念的に説明する説明図である。図８は、各色毎の基準値の座標を基に仮範囲を設定した様子を概念的に説明する説明図である。図９は、いずれかの色についての仮範囲と、仮範囲に基づいて設定されたクラスタ範囲と、そのクラスタ範囲に基づいて再設定されたクラスタ範囲とを概念的に説明する説明図である。
【００５０】
まず、Ｓ１１で特定された各セルの位置情報に基づき、色参照パターン１１０〜１９０の各セルを特定する。本実施形態では、例えば読取対象となるカラーコード１００において色参照パターンがどの位置に存在するかを示す位置情報が予め光学的情報読取装置１の内部に記憶されており、この位置情報に基づいて色参照パターン１１０〜１９０の各セルを特定する。そして、これら色参照パターン１１０〜１９０の各セルについてＲ成分、Ｇ成分、Ｂ成分の値を求める。そして、全ての色参照パターン１１０〜１９０におけるセル色毎の平均値を算出する。
【００５１】
例えば、全ての色参照パターン１１０〜１９０に含まれるセル色毎に、Ｒ成分の平均値、Ｂ成分の平均値、Ｇ成分の平均値を求め、これら成分値を各セル色の仮範囲の中心値（基準値）とする。例えば、全ての色参照パターン１１０〜１９０に含まれる全黒色セルから得られた全Ｒ成分値に基づいてＲ成分の平均値Ｂｒａｖｅを求め、同様に、全黒色セルから得られた全Ｇ成分値に基づいてＧ成分の平均値Ｂｇａｖｅ、全黒色セルから得られた全Ｂ成分値に基づいてＢ成分の平均値Ｂｂａｖｅを求める。そして、これら成分値Ｂａｖｅ（Ｂｒａｖｅ，Ｂｇａｖｅ，Ｂｂａｖｅ）を当該セル色（黒色）の仮範囲の中心値（黒色の基準値）とする（図７（Ｂ）参照）。
【００５２】
他の色も同様であり、赤色の場合には、全ての色参照パターン１１０〜１９０に含まれる全赤色セルから得られた全Ｒ成分値に基づいてＲ成分の平均値Ｒｒａｖｅを求め、同様に、全赤色セルから得られた全Ｇ成分値に基づいてＧ成分の平均値Ｒｇａｖｅ、全赤色セルから得られた全Ｂ成分値に基づいてＢ成分の平均値Ｒｂａｖｅを求める。そして、これら成分値Ｒａｖｅ（Ｒｒａｖｅ，Ｒｇａｖｅ，Ｒｂａｖｅ）を当該セル色（赤色）の仮範囲の中心値（赤色の基準値）とする。なお、ここでは、黒色の仮範囲の中心値（黒色の基準値）と赤色の仮範囲の中心値（赤色の基準値）の例を具体的に説明したが、その他の色（白、緑、青、黄、シアン、マゼンタ）の仮範囲の中心値（基準値）も同様に求める（図７（Ａ）参照）。
【００５３】
なお、本実施形態では、Ｓ２１の処理を実行する制御回路４０が「基準値設定手段」の一例に相当し、コード画像に含まれる色参照パターン１１０〜１９０を検出し、当該色参照パターン１１０〜１９０に基づいてカラーコード１００で用いられる各セル色の基準値を設定するように機能し、より具体的には、コード画像に含まれる色参照パターン１１０〜１９０に基づき、カラーコード１００で用いられる各セル色について、ＲＧＢ成分の各成分基準値を設定している。
【００５４】
Ｓ２１の後には、Ｓ１１で位置が特定された各セルについて各色成分（Ｒ成分、Ｇ成分、Ｂ成分）の値（検出値）を求め、各セルの検出値を仮想的な識別空間上にマッピングする。本実施形態では、例えば、図８のように、Ｒ成分をＸ座標（Ｒ座標）、Ｇ成分をＹ座標（Ｇ座標）、Ｂ成分をＺ座標（Ｂ座標）とするように、３次元の仮想的な識別空間を用いることができ、Ｓ２２では、このような仮想的な３次元座標において、各セルの色成分（Ｒ成分、Ｇ成分、Ｂ成分）を特定する位置をマッピングする。なお、図７（Ｃ）では、カラーコードに存在する各セルの色成分（Ｒ成分、Ｇ成分、Ｂ成分）の検出値を概念的に例示しており、図８では、このように検出された各セルの色成分（Ｒ成分、Ｇ成分、Ｂ成分）によって特定される座標を×印で概念的に示している。
【００５５】
なお、本実施形態では、制御回路４０が「セル色情報取得手段」の一例に相当し、受光センサ２３（撮像手段）によって撮像されたカラーコード１００のコード画像において、セル毎に色の度合いを示す検出値を取得するように機能する。
【００５６】
そして、Ｓ２１で求められた各セル色（黒、白、赤、緑、青、黄、シアン、マゼンタ）のそれぞれの中心値（基準値）から所定距離ｒを超えない範囲の球状の領域（仮範囲）を設定し、このようにセル色毎に設定された仮範囲のいずれにも含まれない色成分（Ｒ成分、Ｇ成分、Ｂ成分）のセルを抽出する（Ｓ２３）。
【００５７】
例えば、全セル色（黒、白、赤、緑、青、黄、シアン、マゼンタ）の内のいずれかのセル色を第１セル色とした場合、この第１セル色の中心値（基準値）の座標Ｐａが（Ｘａ．Ｙａ，Ｚａ）で表わされる場合、この第１セル色については、図８のようなＸＹＺの座標系において、座標Ｐａ（Ｘａ．Ｙａ，Ｚａ）を中心とする半径ｒの球状の仮範囲ＡＲａが設定されることとなる。この仮範囲は、検出値（Ｒ成分値、Ｇ成分値、Ｂ成分値）によって特定される座標（色成分の座標）が中心座標Ｐａから距離ｒ以内にあるセルを範囲内に含め、検出値によって特定される座標（色成分の座標）が中心座標Ｐａから距離ｒを超えるセルを範囲外とするものである。同様にして、第１セル色とは異なる第２セル色についても仮範囲ＡＲｂが設定され、第１、第２セル色とは異なる第３セル色についても仮範囲ＡＲｃが設定される。なお、図８は、３つのセル色の仮範囲ＡＲａ〜ＡＲｃのみを示し、他のセル色の仮範囲は省略しているが、第１〜第３セル色以外のセル色の仮範囲も同様に設定されている。
【００５８】
このように各セル色の仮範囲を設定した上で、Ｓ２３では、検出値（各色成分）によって特定される座標が全てのセル色の仮範囲から外れるセルを抽出する（Ｓ２３）。なお、図８では、全てのセル色の仮範囲から外れる座標（検出値）を符号Ｃａ、Ｃｂで概念的に例示しており、Ｓ２３では、検出値（各色成分）によって特定される座標がこのような座標となるセルが抽出されることとなる。
【００５９】
なお、本実施形態では、Ｓ２３の処理を実行する制御回路４０が「仮範囲設定手段」の一例に相当し、基準値設定手段にて設定された各セル色の基準値に基づき、セル色毎に、色彩又は濃度又は輝度に関する数値的な仮範囲を設定するように機能する。具体的には、基準値設定手段によって設定された各セル色の基準値を中心とすると共に、予め定められた仮範囲サイズに基づいて各セル色の仮範囲を設定しており、より詳しくは、ＲＧＢ成分をパラメータとする仮想的な座標（即ち、図８のように、Ｒ成分をＸ軸のパラメータ、Ｇ成分をＹ軸のパラメータ、Ｂ成分をＺ軸のパラメータとする仮想的な座標）において、セル色毎に、基準値設定手段によって設定された各成分基準値（Ｒ成分平均値、Ｇ成分平均値、Ｂ成分平均値）によって特定される座標を中心値とし且つ予め定められた所定長さｒを半径とした球状の仮範囲を設定している。
【００６０】
また、Ｓ２３では、図７（Ｃ）のように検出された各セルの検出値（成分値）に基づき、各セルをいずれのセル色の仮範囲に属するかを分類している。例えば、検出値（各成分値）によって特定される座標が第１セル色の仮範囲ＡＲａ内にあるセルについては、当該第１セル色の仮範囲に属するものと分類し、検出値（各成分値）によって特定される座標が第２セル色の仮範囲ＡＲｂ内にあるセルについては、当該第２セル色の仮範囲に属するものと分類する。具体的には、検出値（各成分値）によって特定される座標が赤色の仮範囲内にあるセルについては、当該赤色の仮範囲に属するものと分類し、検出値（各成分値）によって特定される座標が緑色の仮範囲内にあるセルについては、当該緑色の仮範囲に属するものと分類し、検出値（各成分値）によって特定される座標が青色の仮範囲内にあるセルについては、当該青色の仮範囲に属するものと分類する。なお、他のセル色の仮範囲への分類も同様である。
【００６１】
本実施形態では、Ｓ２３の処理を実行する制御回路４０が「分類手段」の一例に相当し、仮範囲設定手段によって設定された各セル色の仮範囲（図８参照）と、セル色情報取得手段によって取得された各セルの検出値（図７（Ｃ）参照）とに基づいて、各セルをいずれかのセル色の仮範囲に分類するように機能し、具体的には、仮範囲設定手段によって設定された各セル色の仮範囲と、セル色情報取得手段によって取得された各セルの各ＲＧＢ成分値とに基づいて、各セルを、仮想的なＸＹＺ座標系においていずれかのセル色の仮範囲に分類している。
【００６２】
Ｓ２３で、各セル色の仮範囲を設定した後には、各セル色の仮範囲に分類されたそれぞれのセルの検出値に基づいて、セル色毎に、クラスタを設定する。具体的には、各セル色の仮範囲に分類されたそれぞれのセルの検出値（各成分値）に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定する。
【００６３】
例えば、図９に示すように、あるセル色の仮範囲ＡＲｎの中心値がＰｎ（Ｘｎ，Ｙｎ，Ｚｎ）であり、この仮範囲ＡＲｎにｍ個のセルの座標（検出値）が含まれる場合、新たに設定するクラスタの中心値Ｐｎ１を特定する座標（Ｘｎ１，Ｙｎ１，Ｚｎ１）を以下の式で求める。
【００６４】
【数１】
0005381944.tif 000002
【００６５】
【数２】
0005381944.tif 000003
【００６６】
【数３】
0005381944.tif 000004
【００６７】
数１〜数３では、当該セル色の仮範囲ＡＲｎの中心値（色参照パターンに基づいて定まる基準値）の座標を（Ｘｎ，Ｙｎ，Ｚｎ）としている。また、仮範囲ＡＲｎに含まれるｍ個のセルの座標（各セルの各成分値によって定まる座標）を順に（Ｘ１，Ｙ１，Ｚ１）（Ｘ２，Ｙ２，Ｚ２）（Ｘ３，Ｙ３，Ｚ３）・・・（Ｘｍ，Ｙｍ，Ｚｍ）としている。そして、各セル色の各成分値に対して、仮範囲ＡＲｎの中心値を定める各成分値に対してＡ倍の重み付けをした上で、成分毎に重み付け平均値を算出している。
【００６８】
そして、上記数１〜数３によって算出されたＸｎ１，Ｙｎ１，Ｚｎ１によってクラスタ範囲の中心値の座標Ｐｎ１（Ｘｎ１，Ｙｎ１，Ｚｎ１）を定め、この中心値の座標Ｐｎ１から所定距離ｒを超えない範囲の球状の領域を当該セル色（仮範囲ＡＲｎのセル色）のクラスタ範囲として設定する。
【００６９】
なお、本実施形態では、Ｓ２４の処理を実行する制御回路４０が「クラスタ設定手段」の一例に相当し、分類手段によって各セル色の仮範囲に分類されたそれぞれのセルの検出値（具体的にはＲＧＢ成分の各成分値）に基づいて、セル色毎に、色彩又は濃度又は輝度に関する数値的な範囲を定めたクラスタを設定するように機能し、具体的には、各セル色の仮範囲に分類されたそれぞれのセルの検出値（ＲＧＢ成分の各成分値）に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズ（半径をｒとする球状のサイズ）とに基づき、仮想的なＸＹＺ座標系において、セル色毎に、予め定められた所定長さｒを半径としたクラスタ範囲を設定している。
【００７０】
Ｓ２４でクラスタ範囲を設定した後には、前回の範囲設定から内容に変更があったか否かを判断する。Ｓ２４でのクラスタ範囲の設定が初回の場合には、Ｓ２５では、Ｓ２３で仮範囲を設定した場合と、Ｓ２４でクラスタ範囲を設定した場合とで、各範囲に属するセルに変更があったか否かを判断する。即ち、Ｓ２３で各セル色の仮範囲をしたときに各セル色の仮範囲に属するセルと、その直後にＳ２４で各セル色のクラスタ範囲を設定したときに各セル色のクラスタ範囲に属するセルとを比較し、各セルの分類に変更がなければＳ２５にてＮｏに進む。
【００７１】
一方、Ｓ２５において各セルの分類に変更があると判断される場合には、Ｓ２５にてＹｅｓに進み、Ｓ２４でのクラスタ範囲の設定が所定回数（例えば５回）行われたか否かを判断する。所定回数行われた場合にはＳ２６にてＹｅｓに進み、行われていない場合にはＳ２６にてＮｏに進む。
【００７２】
Ｓ２６にてＹｅｓに進む場合には、いずれのクラスタ範囲にも属さないセルを抽出する。即ち、前回のＳ２４で求められた各セル色のクラスタ範囲の中心値の座標から所定距離ｒを超えない範囲の球状の領域（仮範囲）を設定した上で、このようにセル色毎に設定されたクラスタ範囲のいずれにも含まれない色成分（Ｒ成分、Ｇ成分、Ｂ成分）のセルを抽出する（Ｓ２３）。この処理では、検出値（各成分値）によって特定される座標が、全セル色のクラスタ範囲の中心値座標から所定距離ｒより離れているセルが抽出されることとなる。
【００７３】
そして、そのＳ２３の処理の後には、クラスタ範囲を再設定する（Ｓ２４）。このクラスタ範囲に設定では、前回のＳ２４で設定された各セル色のクラスタ毎に、属するセルの検出値（各成分値）の平均値を求め、その平均値を新たな中心値とするように今回のクラスタ範囲を再設定する。
【００７４】
前回のＳ２４の処理が一回目のクラスタ範囲の設定であり、例えば、仮範囲ＡＲｎによって設定された一回目のクラスタ範囲ＡＲｎ１に含まれるｔ個のセルの座標（各セルの各成分値によって定まる座標）を順に（Ｘ１１，Ｙ１１，Ｚ１１）（Ｘ１２，Ｙ１２，Ｚ１２）（Ｘ１３，Ｙ１３，Ｚ１３）・・・（Ｘ１ｔ，Ｙ１ｔ，Ｚ１ｔ）とした場合、Ｘ成分（Ｒ成分）の平均値Ｘｎ２（Ｘｎ２＝（Ｘ１１＋Ｘ１２＋Ｘ１３・・・Ｘ１ｔ）／ｔ）、Ｙ成分（Ｇ成分）の平均値Ｙｎ２（Ｙｎ２＝（Ｙ１１＋Ｙ１２＋Ｙ１３・・・Ｙ１ｔ）／ｔ）、Ｚ成分（Ｂ成分）の平均値Ｚｎ２（Ｚｎ２＝（Ｚ１１＋Ｚ１２＋Ｚ１３・・・Ｚ１ｔ）／ｔ）をそれぞれ求め、これらによって定まる座標Ｐｎ２（Ｘｎ２，Ｙｎ２，Ｚｎ２）を新たなクラスタ範囲とする。
【００７５】
そして、Ｓ２４でクラスタ範囲を再設定した場合には、再びＳ２５以降の処理を行う。なお、Ｓ２５でＹｅｓとなる場合、及びＳ２６でＮｏとなる場合は、上述の通りである。一方、Ｓ２５でＮｏ又はＳ２６でＹｅｓとなる場合には、各クラスタ範囲（最終的なクラスタ範囲）に含まれないセルを汚れと判断する。そして、最終的なクラスタ範囲に基づいて各セルの色を判別する（Ｓ２８）。即ち、各セルは、自身が属する最終的なクラスタ範囲の色と認識される。
【００７６】
本実施形態では、Ｓ２４〜Ｓ２６の処理を実行する制御回路４０が「中心値再設定手段」の一例に相当し、既に設定された各セル色のクラスタの範囲と、それら既設定の各セル色のクラスタにそれぞれ属する各セルの検出値（各成分値）に基づいて、各セル色のクラスタの中心値を設定するように機能する。
【００７７】
また、Ｓ２４〜Ｓ２６の処理を実行する制御回路４０が「範囲再設定手段」の一例に相当し、中心値再設定手段によって再設定された各セル色のクラスタの中心値と、予め規定されたクラスタサイズ（半径ｒとする球状のサイズ）とに基づいて各セル色のクラスタの範囲を再設定するように機能する。
【００７８】
また、「中心値再設定手段」は、範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、範囲再設定手段による各セル色のクラスタ範囲の設定回数が所定回数に達した場合に中心値の再設定を終了している。更に、Ｓ２５で示されるように、範囲再設定手段によって設定された各セル色のクラスタそれぞれへの各セルの割り当てが、その再設定前の前回の設定における各セル色のクラスタそれぞれへの割り当てから変化しなくなるまでの間、範囲再設定手段によって各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、割り当てが変化しなくなった場合に中心値の再設定を終了している。また、中心値再設定手段は、Ｓ２６の後に行われるＳ２３、Ｓ２４のように、汚れ検出手段によって汚れと推定されたセルを除外した残りの各セルの検出値を参照し、既設定の各セル色のクラスタに属するそれら残りの各セルの検出値に基づいて、各セル色のクラスタの中心値を再設定している。
【００７９】
また、本実施形態では、Ｓ２３、Ｓ２７の処理を行う制御回路４０は、「汚れ検出手段」の一例に相当し、クラスタ設定手段によって設定されたセル色毎のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れと推定されるセルを検出するように機能しており、具体的には、仮範囲設定手段による仮範囲の設定時及び範囲再設定手段によるクラスタ範囲の設定時に、セル色情報取得手段によって取得された各セルの検出値に基づいて汚れと推定されるセルを検出している。また、範囲再設定手段によってクラスタ範囲が再設定される場合、範囲再設定手段によって設定された各セル色のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れと推定されるセルを検出している。
【００８０】
（本実施形態の主な効果）
本実施形態に係る光学的情報読取装置１では、撮像手段によって撮像されたカラーコード１００のコード画像において色参照パターン１１０〜１９０を検出し、その色参照パターン１１０〜１９０に基づいてセル色毎に仮範囲を設定した上で、各セルをいずれかのセル色の仮範囲に分類することができる。仮範囲は色参照パターン１１０〜１９０に基づいてセル色毎に設定されたものであるため、各セルは、コード内の設けらた客観的な基準に基づいて適切に分類されることとなる。
【００８１】
更に、各セル色の仮範囲に分類されたそれぞれのセルの検出値に基づいて、セル色毎にクラスタを設定している。そして、設定されたセル色毎のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れ検出手段により汚れと推定されるセルを検出している。この構成によれば、実際に得られた各セルの検出値に基づき、セル色毎に、実際の状態を反映したより適切な範囲（クラスタ範囲）を設定し直すことができ、この範囲（クラスタ範囲）に基づいて各セルがいずれの色に属するかをより正確に判別することができる。更に、セル色毎に適切に定められた範囲（クラスタ範囲）に基づいて汚れと推定されるセルをより正確に判別することができる。
【００８２】
また、本実施形態では、Ｓ２３のように、基準値設定手段によって設定された各セル色の基準値を中心とすると共に、予め定められた仮範囲サイズに基づいて各セル色の仮範囲を設定している。このようにすることで、色参照パターン１１０〜１９０に基づいて得られた各セル色の基準値を中心とし、検出値が各基準値から一定値以上離れていないセル同士をグループとする適切な仮範囲を設定することができる。
そして、Ｓ２４のように、それら各セル色の仮範囲に分類されたそれぞれのセルの検出値に基づいて、各セル色のクラスタの中心値を算出し、且つその算出された各セル色のクラスタの中心値と、予め定められたクラスタサイズとに基づいて各セル色のクラスタの範囲を設定している。このようにすると、各セル色の仮範囲の中心値を、各仮範囲に分類されたそれぞれのセルの検出値を反映した値に修正することができる。そして、このように実状態を加味して修正された各修正値を「各クラスタの中心値」とするように、各セル色のクラスタの範囲を適切に定めることができる。
【００８３】
また、本実施形態では、Ｓ２４について説明したように、既に設定された各セル色のクラスタの範囲と、それら既設定の各セル色のクラスタにそれぞれ属する各セルの検出値に基づいて、各セル色のクラスタの中心値を設定し、Ｓ２６でＮｏとなったときのＳ２３、Ｓ２４のように、再設定された各セル色のクラスタの中心値と、予め規定されたクラスタサイズとに基づいて各セル色のクラスタの範囲を再設定している。
このようにすると、一旦設定された各セル色のクラスタの中心値を、各クラスタに分類されたそれぞれのセルの検出値を反映した値に再度修正することができる。従って、１回目のクラスタ範囲の設定で実状態の反映が不十分であったとしても、再度の設定で各セル色のクラスタの範囲がより適切に修正されやすくなる。
そして、このように範囲再設定手段によって設定された各セル色のクラスタの範囲と、セル色情報取得手段によって取得された各セルの検出値とに基づいて、汚れと推定されるセルを検出すれば、より正確な汚れ検出が可能となる。
【００８４】
また、本実施形態では、Ｓ２６、Ｓ２３、Ｓ２４のように、各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定し、各セル色のクラスタ範囲の設定回数が所定回数に達した場合に中心値の再設定を終了している。
このようにすると、一旦設定された各セル色のクラスタの中心値を、各セル色のクラスタ範囲の設定回数が所定回数に達するまでの間、各セル色のクラスタの範囲が設定される毎に各セル色のクラスタの中心値を再設定することができる。従って、１回目のクラスタ範囲の設定で実状態の反映が不十分であったとしても、所定回数の再設定により各セル色のクラスタの範囲をより一層適切に修正することができる。
【００８５】
また、本実施形態では、Ｓ２５、Ｓ２３、Ｓ２４のように、再設定された各セル色のクラスタそれぞれへの各セルの割り当てが、その再設定前の前回の設定における各セル色のクラスタそれぞれへの割り当てから変化しなくなるまでの間、各セル色のクラスタの範囲が再設定される毎に各セル色のクラスタの中心値を再設定し、割り当てが変化しなくなった場合に中心値の再設定を終了している。
このようにすると、再設定前後でクラスタ範囲内の割り当てに変化が生じなくなるまでクラスタ範囲を修正することができ、最終的に、実際の検出値をより適切に反映したクラスタ範囲を定めることができる。
【００８６】
また、本実施形態では、Ｓ２３のように、仮範囲の設定時及び範囲再設定手段によるクラスタ範囲の設定時に、セル色情報取得手段によって取得された各セルの検出値に基づいて汚れと推定されるセルを検出している。そして、Ｓ２４のように、汚れと推定されたセルを除外した残りの各セルの検出値を参照し、既設定の各セル色のクラスタに属するそれら残りの各セルの検出値に基づいて、各セル色のクラスタの中心値を設定している。
このようにすると、汚れと推定されるセルの検出値がクラスタ範囲の設定に反映されなくなるため、汚れと推定されるセルの検出値がクラスタ範囲の設定に悪影響を及ぼすことを防止することができる。
【００８７】
また、本実施形態では、コード画像に含まれる色参照パターン１１０〜１９０に基づき、カラーコード１００で用いられる各セル色について、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分基準値を設定し、仮範囲設定手段は、ＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分をパラメータとする仮想的な座標において、セル色毎に、基準値設定手段によって設定された各成分基準値を中心値とし且つ予め定められた所定長さを半径とした仮範囲を設定している。このようにすると、セル毎にＲＧＢ成分の各成分値、又はＣＭＹ成分の各成分値、若しくはＨＳＶ成分の各成分値を検出値する構成において、コード内の設けらた客観的な基準に基づいて各セルを適切に分類することができる。
更に、分類手段は、仮範囲設定手段によって設定された各セル色の仮範囲と、セル色情報取得手段によって取得された各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値とに基づいて、各セルを、仮想的な座標においていずれかのセル色の仮範囲に分類し、クラスタ設定手段は、分類手段によって各セル色の仮範囲にそれぞれ分類される各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、仮想的な座標において、セル色毎に、予め定められた所定長さを半径としたクラスタ範囲を設定している。この構成によれば、実際に得られた各セルのＲＧＢ成分又はＣＭＹ成分若しくはＨＳＶ成分の各成分値に基づき、セル色毎に、実際の状態を反映したより適切な範囲（クラスタ範囲）を設定し直すことができ、この範囲（クラスタ範囲）に基づいて各セルがいずれの色に属するかをより正確に判別することができる。
【００８８】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００８９】
上記実施形態では、セル色として、黒、白、赤、緑、青、黄、シアン、マゼンタの８つのセル色が用いられるカラーコード（図２）を例示したが、カラーコードに用いられるセル色の数や内容は図２の構成に限定されない。また、カラーコードの構成も図２に限らず、公知の様々な構成を採用することができる。
【００９０】
色参照パターンの構成は、図３の構成に限定されず、例えば、セル色数よりも少ない色数で構成されていてもよい。また、図３では、各色参照パターンに複数種類のセルが設けられていたが、各色参照パターンが単一種類のセルによって構成され、それぞれの色参照パターンが別々の色によって構成されていてもよい。
【００９１】
上記実施形態では、色の表現法としてＲＧＢを用いたがＣＭＹ或いはＨＳＶで表現してもよい。例えば、ＣＭＹで表現する場合には、上記実施形態のＲ成分、Ｇ成分、Ｂ成分を、全てＣ成分、Ｍ成分、Ｙ成分に置き換えて適用すればよい。
【００９２】
上記実施形態では、複数の色参照パターン１１０〜１９０を参照し、色参照パターン１１０〜１９０の各セルの検出値について、セル色毎にＲ成分の平均値、Ｇ成分の平均値、Ｂ成分の平均値を求め、各セル色のＲ成分の平均値、Ｇ成分の平均値、Ｂ成分の平均値（ＲＧＢ成分の各成分基準値）によって定まる座標を各セル色の仮範囲の中心値としていたが、コード内に設けられる複数の色参照パターンのいずれかのみを参照し、この色参照パターンから得られるセル色毎の検出値（Ｒ成分値、Ｇ成分値、Ｂ成分値）によって定まる座標を各セル色の仮範囲の中心値としてもよい。
【符号の説明】
【００９３】
１…光学的情報読取装置
２３…受光センサ（撮像手段）
４０…制御回路（セル色情報取得手段、基準値設定手段、仮範囲設定手段、分類手段、クラスタ設定手段、汚れ検出手段、中心値再設定手段、範囲再設定手段）
１００…カラーコード
１１０〜１９０…色参照パターン（基準パターン）
Ｃ…セル
【図１】
0005381944.tif 000005
【図２】
0005381944.tif 000006
【図３】
0005381944.tif 000007
【図４】
0005381944.tif 000008
【図５】
0005381944.tif 000009
【図６】
0005381944.tif 000010
【図７】
0005381944.tif 000011
【図８】
0005381944.tif 000012
【図９】
0005381944.tif 000013