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