二次元コード読取装置
【課題】カラーコードとして構成される二次元コードにおいて、各セルの色判定を精度高く適切に行う。
【解決手段】二次元コード読取装置は、色参照パターンを含んだ二次元コードを撮像する撮像手段と、各セル画像の表示色を、各セル画像から得られる色情報と色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段とを備えている。更に、各セル画像の表示色を判別する際の各色参照パターンの各々の「寄与度合」を、各セル画像毎に設定する設定手段が設けられており、色判別手段は、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される「寄与度合」とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報と、各セル画像に対応するセル別基準データとに基づいて判別している。
【解決手段】二次元コード読取装置は、色参照パターンを含んだ二次元コードを撮像する撮像手段と、各セル画像の表示色を、各セル画像から得られる色情報と色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段とを備えている。更に、各セル画像の表示色を判別する際の各色参照パターンの各々の「寄与度合」を、各セル画像毎に設定する設定手段が設けられており、色判別手段は、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される「寄与度合」とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報と、各セル画像に対応するセル別基準データとに基づいて判別している。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元コード読取装置に関するものである。
【背景技術】
【0002】
従来より提供されている二次元コードは、白色セル及び黒色セルをマトリックス状に配置した構成が一般的であるが、このような二次元コードは記録する情報量を増大させにくいという事情があった。そこで、現在では、セル表示をカラー表現するカラー二次元コードが各種提案され、記録する情報の高密度化を実現している。なお、このようなカラー二次元コードに関する技術としては例えば特許文献1のようなものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3923796号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなカラー二次元コードでは、セルに表示される各色を正確に判定することが求められる。しかしながら、各色の読み取り結果は印刷環境や読み取り環境によってばらつきやすく、何ら措置を講じないとばらつきに起因する誤判定を招いてしまう。このような誤判定を防ぐためには、特定領域に色判定の基準となるべき色参照パターンを配置しておき、その色参照パターンの参照結果を基準として各色の判定をすることが望ましい。
【0005】
より適切な色判定をするためには、上記色参照パターンをカラー二次元コード内に複数設けることが望ましいが、各セルの色判定において色参照パターンをどのように参照すべきかが問題となる。例えば、全セルの色判定を一律の基準値(例えば全部の色参照パターンに基づいて生成された平均値等)に基づいて行うようにすると、各セルの状態や各色参照パターンの状態を考慮した適切な色判定を行いにくく、その結果、色判定の精度低下を招く虞がある。
【0006】
本発明は、上述した課題を解決するためになされたものであり、各セルの色判定を精度高く適切に行い得る二次元コード読取装置及び二次元コード読取方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1の発明は、複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読取可能な二次元コード読取装置であって、前記二次元コードを撮像する撮像手段と、前記撮像手段によって撮像された前記二次元コードのコード画像において、各セル画像の表示色を、前記各セル画像から得られる色情報と前記色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段と、前記各セル画像の前記表示色を判別する際の各色参照パターンの各々の寄与度合を、前記各セル画像毎に設定する設定手段と、を備え、前記色判別手段が、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、前記各セル画像の前記表示色を、前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて判別することを特徴としている。
【0008】
請求項2の発明は、請求項1に記載の二次元コード読取装置であって、前記設定手段が、前記各セル画像毎の設定において、前記セル画像から複数の前記色参照パターンそれぞれまでの距離を算出し、前記各色参照パターン毎に、前記セル画像からの前記距離に応じた重み付けをして前記寄与度合をそれぞれ設定することを特徴としている。
【0009】
請求項3の発明は、請求項1又は請求項2に記載の二次元コード読取装置において、前記設定手段が、前記各セル画像毎に、複数の前記色参照パターンの中から色判別に寄与させる基準パターンを選択する選択手段を備え、前記色判別手段が、前記各セル画像の色判別に用いる前記セル別基準データを、前記選択手段によって前記各セル画像毎に選択された前記基準パターンに基づいてそれぞれ生成することを特徴としている。
【0010】
請求項4の発明は、請求項2に記載の二次元コード読取装置において、前記選択手段が、前記各セル画像毎に、前記各セル画像の色判別に寄与させる前記基準パターンを、複数の前記色参照パターンの中から前記各セル画像からの距離に基づいて選択することを特徴としている。
【0011】
請求項5の発明は、請求項3又は請求項4に記載の二次元コード読取装置において、前記選択手段が、前記色参照パターンに汚れが生じているか否かを判断する判断手段を備えており、複数の前記色参照パターンの内の前記判断手段によって汚れが生じていないと判断されたパターンを前記基準パターンとして選択することを特徴としている。
【0012】
請求項6の発明は、請求項3又は請求項4に記載の二次元コード読取装置において、更に、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断する判断手段が設けられており、前記色判別手段が、前記選択手段によって選択された前記基準パターンにおいて、いずれかのセルに汚れが生じている場合、前記基準パターンにおけるその汚損セルを除いた部分の色情報に基づいて前記セル別基準データを生成することを特徴としている。
【0013】
請求項7の発明は、請求項5又は請求項6に記載の二次元コード読取装置において、前記汚れを判断するための固定値が予め記憶手段に記憶されており、前記判断手段が、各色参照パターンの画像から得られる色情報を前記固定値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴としている。
【0014】
請求項8の発明は、請求項5又は請求項6に記載の二次元コード読取装置において、前記判断手段が、前記二次元コード内に存在する一部又は全部の前記色参照パターンの色情報に基づいて前記汚れを判断するための基準値を生成し、各色参照パターンの画像から得られる色情報を前記基準値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴としている。
【0015】
請求項9の発明は、複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読み取る読取方法であって、撮像手段によって前記二次元コードを撮像し、前記撮像手段によって撮像された前記二次元コードのコード画像を記憶手段に記憶し、前記コード画像を構成する各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、設定手段によって前記各セル画像毎に設定し、更に、色判別手段により、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、且つ前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて前記各セル画像の前記表示色を判別することを特徴としている。
【発明の効果】
【0016】
請求項1の発明は、各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、各セル画像毎に設定しており、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報と各セル画像に対応するセル別基準データとに基づいて判別している。このようにすると、各セル画像毎に色判別に用いる基準データ(セル別基準データ)を定めることができ、各セルの色判定を精度高く適切に行いやすくなる。
【0017】
請求項2の発明は、各セル画像毎の設定において、セル画像から複数の色参照パターンそれぞれまでの距離を算出し、各色参照パターン毎に、セル画像からの距離に応じた重み付けをして寄与度合をそれぞれ設定している。このようにすると、各セル画像の基準データ(セル別基準データ)を設定する際に、各色参照パターンまでの距離を適切に考慮して、各色参照パターンの寄与度合を定めることができ、より近い距離の色参照パターンを重視した適切な基準設定が可能となる。
【0018】
請求項3の発明は、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択しており、その選択された基準パターンに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。このようにすると、各セル画像の判別に用いるセル別基準データを、それぞれ、寄与させるべき色参照パターンによって生成することができ、寄与させるべきでない色参照パターンを排除した適切な基準設定が可能となる。
【0019】
請求項4の発明は、各セル画像の色判別に寄与させる基準パターンを、複数の色参照パターンの中から各セル画像からの距離に基づいて選択している。このようにすると、寄与させるべきでない遠い距離にある色参照パターンを排除して、各セル画像の判別に用いる基準データ(セル別基準データ)を生成することができ、一層適切な基準設定が可能となる。
【0020】
請求項5の発明は、複数の色参照パターンの内、汚れが生じていないと判断されたパターンを基準パターンとして選択している。このようにすると、汚れが生じている色参照パターンを除いてセル別基準データを生成することができるため、汚れの影響を排除した精度の高い色判別が可能となる。
【0021】
請求項6の発明は、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断可能とされており、選択手段によって選択された基準パターンにおいて、いずれかのセルに汚れが生じている場合、基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成している。このようにすると、寄与させるべき基準パターンを反映させつつ汚損セルの影響を排除してセル別基準データを生成することができる。従って、各セル画像の基準設定に際し、適切な色参照パターン(基準パターン)の適切な部分のみを選択的に取り入れ、より望ましいセル別基準データを生成することができる。
【0022】
請求項7の発明は、汚れを判断するための固定値が予め記憶手段に記憶されており、各色参照パターンの画像から得られる色情報を固定値と比較することで、各色参照パターンに汚れが生じているか否かを判断している。このようにすると、各色参照パターンに汚れが生じているか否かを簡易な構成で適切に判断できる。
【0023】
請求項8の発明は、二次元コード内に存在する一部又は全部の色参照パターンの色情報に基づいて汚れを判断するための基準値を生成し、各色参照パターンの画像から得られる色情報を基準値と比較することで、各色参照パターンに汚れが生じているか否かを判断している。このようにすると、二次元コード内の色参照パターンの色情報に基づいて、各色参照パターンの汚れを相対的に判断することができ、読取環境が多様に変化しても汚れを適切に判断できる。
【0024】
請求項9の発明によれば、請求項1と同様の効果を奏する読取方法を実現できる。
【図面の簡単な説明】
【0025】
【図1】図1は、本発明の第1実施形態に係る二次元コード読取装置の電気的構成を概略的に例示するブロック図である。
【図2】図2は、図1の二次元コード読取装置によって読み取られる二次元コードを概略的に例示する概略図である。
【図3】図3は、色参照パターンの一例を概念的に示す概略図である。
【図4】図4は、図1の二次元コード読取装置で行われる読取処理を例示するフローチャートである。
【図5】図5は、図4の読取処理におけるデコード処理を例示するフローチャートである。
【図6】図6は、図5のデコード処理で行われるセル色認識処理を例示するフローチャートである。
【図7】図7は、図6のセル色認識処理で行われる基準作成処理を例示するフローチャートである。
【図8】図8(a)は、S21で選択されたいずれかの色参照パターンについての各色の各成分値を概念的に示す説明図であり、図8(b)は、図8(a)とは異なる色参照パターンについての各色の各成分値を概念的に示す説明図である。
【図9】図9は、各色の各成分についての基準範囲が固定値(固定範囲)として定められる例を概念的に説明する説明図である。
【図10】図10(a)は、二次元コード内の複数の色参照パターンに基づいて、各色の各成分についての平均値をそれぞれ算出した例を示す説明図であり、図10(b)は、図10(a)の各平均値に基づいて各色の各成分についての基準範囲を設定した例を示す説明図である。
【図11】図11は、着目セル(色認識を行おうとするセル)に近い複数の色参照パターンを選択した例を示す説明図である。
【図12】図12(a)は、色参照パターンの別例1を示す説明図であり、図12(b)は、色参照パターンの別例2を示す説明図である。
【図13】図13は、3つの色参照パターンが選択され、これら3つの色参照パターンに基づいてセル別基準データを生成する例を説明する説明図である。
【発明を実施するための形態】
【0026】
[第1実施形態]
以下、本発明を具現化した第1実施形態について、図面を参照して説明する。
(全体構成)
まず、第1実施形態に係る二次元コード読取装置の全体構成を概説する。
本実施形態に係る二次元コード読取装置1は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。
【0027】
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、ハウジングの読取口(図1では図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、この読取対象物Rには読取対象となる二次元コード100が印刷等によって形成されている。
【0028】
受光センサ23は、{読取対象物Rや二次元コード100に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aにて受光し得る構成でプリント配線板(図示略)に実装されている。本実施形態では、受光センサ23が「撮像手段」の一例に相当する。
【0029】
また、フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【0030】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40及びメモリ35を中心に構成されるもので、前述した光学系によって撮像された二次元コード100の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該二次元コード読取装置1の全体システムに関する制御も行っている。
【0031】
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0032】
メモリ35は、半導体メモリ装置として構成されており、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【0033】
制御回路40は、二次元コード読取装置1全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が制御回路40に接続されている。なお、通信インタフェース48には、当該二次元コード読取装置1の上位システムに相当するホストコンピュータHST等が接続可能とされている。また、電源系は、電源スイッチ41、電池49等によって構成されており、制御回路40による電源スイッチ41のオンオフ制御により、電池49から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
【0034】
(二次元コード)
次に、二次元コード読取装置1の読取対象となる二次元コードを説明する。
図2は、二次元コード読取装置1によって読み取られる二次元コード100を概略的に例示するものである。図2に示す二次元コード100は、複数のセルCがマトリックス状に配列されてなるものであり、複数のコードブロック(データコードブロック107、誤り訂正コードブロック108)と、第1の特定パターン102と、第2の特定パターン103、104と、色参照パターン110、120、130、140、150、160、170、180、190(以下、これら色参照パターンを色参照パターン110〜190とも称する)を備えた構成をなしている。この二次元コード100は、外形が正方形状のセルCが集合してマトリックス状に配置されたセル集合体として構成されており、図2の例では、セル数が縦横同数(35セル×35セル)となる配列で構成されている。また、二次元コード100を構成するコード領域(セルCが配置される領域)は、外形が矩形状の矩形領域(図2の例では、外形が正方形状の正方形領域)とされている。
【0035】
なお、図2では、一部のセルのみについて符号Cを付しており、他のセルの符号は省略している。また、図2では、一部の誤り訂正コードブロック108の位置を一点鎖線にて概念的に示しており、他の誤り訂正コードブロックについては図示を省略している。また、一部のデータコードブロック107の位置について二点鎖線にて概念的に示しており、他のデータコードブロック107については図示を省略している。また、図2では、データが記録される領域(データ記録領域)を破線AR1にて概念的に示しており、このデータ記録領域AR1内の具体的セル構成(各コードブロックの具体的セル構成等)は省略して示している。
【0036】
本実施形態の二次元コード100は、色彩又は濃度又は輝度の異なる3種類以上のセルを用いたいわゆるカラーコードとして構成されるものであり、図2では、その一例として、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の8色のセルを用いた構成を示している。なお、本実施形態及び他の実施形態を通し、黒色セルをCb、白色セルをCwで示すとともに、緑色セルを符号Cg、赤色セルをCr、青色セルをCu、黄色セルをCy、シアン色セルをCn、マゼンダ色セルをCmとそれぞれ示すこととする。
【0037】
二次元コード100の一部を構成するコードブロックは、図2の二次元コード100では、データコードブロック107と、誤り訂正コードブロック108とに分けられており、いずれも複数のセルCが集合した構成をなしている。
【0038】
データコードブロック107は、デコードの対象となるデータを符号化した符号化データ(データコード語)を複数のセルによって表現したブロックであり、データコードブロック107を構成する各セルは、予め定められた複数種類のセル(図2の例では上述の8色のセル)の中からいずれかの種類のセルが選択されて用いられている。なお、図2では、8つのセルが4行2列のマトリックス状に配列されたデータコードブロック107を二点鎖線にて概念的に例示しているが、データコードブロック107のセル数やブロック構成はこれ以外であってもよい。
【0039】
各データコードブロック107は、デコードすべき符号化データ(データコード語)に対応したセルの配列で構成されている。具体的には、セル表示色が、数値に対応付けられており、例えば、データ値「0」に対して第1の色「白」、データ値「1」に対して第2の色「赤」、データ値「2」に対して第3の色「緑」、データ値「3」に対して第4の色「青」、データ値「4」、に対して第5の色「マゼンタ」、データ値「5」に対して第6の色「黄」、データ値「6」に対して第7の色「シアン」、データ値「7」、に対して第8の色「黒」、がそれぞれ対応付けられている。
【0040】
誤り訂正コードブロック108は、データコードブロック107の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック108を構成する誤り訂正コード語は、データコードブロック107を構成する符号化データ(データコード語)に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
【0041】
第1の特定パターン102は、二次元コード100の矩形領域において4つ設けられた角部(矩形領域における角を構成する部分)105a〜105dのうち、規定の角部105aに配置されるものである。図2の例では第1の特定パターン102の外形が矩形状(詳しくは正方形状)に構成されており、第1の特定パターン102の外縁を構成する2辺によって矩形領域における規定の角部105aの角位置が定められている。具体的には、中心に第1の色のセル(黒色セル)が1つ配置され、その第1の色のセル(黒色セル)の周りを複数種類のセルが矩形状に囲んでいる。さらに、その環状のセル群(複数色のセル群)の周りを第1の色のセル(黒色セル102a)が環状かつ矩形状に囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が矩形状(正方形状)に構成され、第1の特定パターン102全体として外形が矩形状(正方形状)となっている。
【0042】
この第1の特定パターン102は、矩形領域における各セルCの位置の特定するための要素として機能するものであり、具体的には、二次元コード100を光学的情報読取装置で読み取ったときに得られる画像データにおいて規定の角部105aの位置を特定するために用いられると共に、その画像データにおいて二次元コード100の向きを特定するために用いられる。なお、本明細書全体を通し、第1の特定パターン102、第2の特定パターン103、104、及び後述する色参照パターン110〜190は、二次元コードに含まれるデータ(デコードすべきデータ)に関係なく一定のパターンとして構成されている。
【0043】
第2の特定パターン103、104は、コード領域(矩形領域)の境界をなす4つの辺(4つの境界辺)のうち、第1の特定パターン102が接する境界辺に隣接して配置されるものであり、一方のパターン(第2の特定パターン103)が一方の境界辺に沿って配置され、他方のパターン(第2の特定パターン104)が他方の境界辺に沿って配置されている。これら第2の特定パターン103、104は、二次元コード100のコード領域(矩形領域)を背景から分離するために利用され、後述する読み取りの際にこれら第2の特定パターン103,104を認識することで境界辺の位置を特定できるようになっている。なお、図2の例では、第2の特定パターン103、104のいずれもが、白色セルと黒色セルとを交互に配置してなる白黒交互パターンによって構成されているが、他のパターンによって構成されていてもよい。
【0044】
次に、色参照パターン110〜190について説明する。色参照パターン110〜190は、矩形領域内の各セルに使用するセル表示色の基準となるパターンであり、いずれも、複数のセルがマトリックス状(図2の例では3行3列のマトリックス状)に配置された構成をなしている。図2の例では、全部の色参照パターン110〜190が同一の構成となっており、いずれも、二次元コード100で用いられる全セル表示色(黒色、白色、赤色、緑色、青色、マゼンタ色、シアン色、黄色)を表示するように構成されている。
【0045】
図3は、色参照パターン110を拡大して示しており、この例では、中心に黒色セル110iが配置され、その黒色セル110iの周囲を、複数色のセルが囲んでいる。これら複数色のセルを、角部に配置される白色セル110aから時計回りに説明すると、白色セル110a、シアン色セル110b、赤色セル110c、緑色セル110g、白色セル110e、マゼンタ色セル110f、青色セル110g、黄色セル110hの順に配置されている。なお、図3では、色参照パターン110のみを示しているが、これ以外の色参照パターン120〜190は色参照パターン110と同一の構成であるため、これら当該色参照パターン120〜190についての拡大図及び詳細な説明は省略する。また、図2の例では、各色参照パターン110〜190が矩形領域の4つの角部105a、105b、105c、105d等にそれぞれ配置されているが、色参照パターンの配置場所や色参照パターンの数は図2の構成に限定されるものではない。
【0046】
(読取処置)
次に、二次元コード読取装置1で行われる読取処理について説明する。
図4は、二次元コード読取装置1で行われる読取処理の流れを例示するフローチャートである。図4に示す読取処理は、例えば作業者が所定操作(例えば、操作スイッチ42のオン操作)を行うことで開始され、まず、画像取得処理が行われる(S1)。この処理では、二次元コード100が付された読取対象物R(図1)が受光センサ23によって撮像され、二次元コード100の画像データがメモリ35に記憶される。
【0047】
その後、S1にて取得された画像データにおいて二次元コード100のコード領域(矩形領域)を特定する処理を行う(S2)。この特定処理では、例えば外縁が特定図形(例えば四角形)となっている領域を抽出したり、或いは、外縁の明暗変化、色変化が激しい領域を抽出することで行うことができる。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、これら公知の方法を用いて領域を特定してもよい。
【0048】
S2の特定処理の後には、S2の処理においてコード領域(矩形領域)が特定できたか否かを判断し(S3)、特定できた場合にはS3にてYesに進み、デコード処理を行う(S4)。一方、特定できなかった場合には、S3にてNoに進み、当該読取処理を終了する。
【0049】
次に、S4のデコード処理について説明する。S4のデコード処理は、例えば図5のような流れで行われ、まず、コード領域(矩形領域)をセル単位に分割し、セル位置を特定する処理を行う(S11)。このS11の処理により、コード領域内において各セル位置が特定されることになる。
【0050】
S11の処理の後には、S11で特定された全セルの内の未選択となっているいずれかのセルを選択する処理を行う。本実施形態では、コード領域を構成する各セルに対してS13、S14の処理が行われるようになっており、このS12の処理では、S13、S14の処理が未だ行われていないいずれかのセルを選択することになる。
【0051】
S12でいずれかのセルが選択された後には、その選択されたセルの色を認識する処理を行う(S13)。S13のセル色認識処理は、例えば図6のような流れで行われ、まず、S12で選択されたセル(現在の着目セル)に近いK個のパターンを選択する処理を行う(S21)。このKの値は、様々とすることができ、二次元コード内に存在する色参照パターンの数(図2の例では「9」)としても良く、二次元コード内に存在する色参照パターンの数よりも小さい値としてもよい。例えば、図2のような二次元コード100を読み取る場合、Kの値が「4」であれば、全色参照パターン110〜190の内、S12で選択されたセルに近いものから順に4つ選択することになる。
【0052】
S21において、現在着目しているセル(S12で選択されたセル)に近いK個の色参照パターンが選択された後には、そのK個の中から未処理のいずれかの色参照パターンを選択する(S22)。本実施形態では、S21で選択された各色参照パターンに対してS23、S24の処理が行われるようになっており、S22では、未だS23、S24の処理が行われていない色参照パターンを選択することになる。
【0053】
S22においていずれかの色参照パターンが選択された後には、その選択された色参照パターンまでの距離を算出すると共にメモリ35に記憶し(S23)、更に、その色参照パターンの各セルの色成分を取得する処理を行う(S24)。
【0054】
例えば、現在着目しているセル(S12で選択されたセル)が図2に示すセルC1であり、S22で選択された色参照パターンが、色参照パターン110である場合には、まず、S23においてセルC1から色参照パターン110までの距離を算出すると共にメモリ35に記憶する。この距離の算出については、ユークリッド距離やマンハッタン距離等の公知の様々な方法を採用できる。更に、S24において、色参照パターン110の各セル110a〜110iの色成分を取得する。具体的には、各色のセル110a〜110iについて、それぞれR成分値、G成分値、B成分値を求め、メモリ35に記憶する。なお、図3のようにいずれかの色(図3では白色)のセルが複数ある場合、その色については、それら複数の内のいずれかのセルのみによって各成分値を取得してもよく、複数のセルにおける各成分の平均値を求めてもよい。このような処理を行うことにより、現在着目している色参照パターンについて図8(a)のようなデータが得られる。
【0055】
図24の処理の後には、K個目の色参照パターンについてのS23、S24の処理が終了したか否か(即ち、S21で選択されたK個全ての色参照パターンについてS23、S24の処理が終了したか否か)を判断し(S25)、終了した場合にはS25にてYesに進み、基準作成処理を行う(S26)。一方、K番目の色参照パターンまで終わっていない場合には、S25にてNoに進み、残っているいずれかの色参照パターンについてS22以降の処理を繰り返し、その色参照パターンに基づいて図8(b)のようなデータを取得する。このような処理をK個全ての色参照パターンについて繰り返し、K個全ての色参照パターンについて処理が終わると、図8(a)(b)のようなデータがK個の色参照パターン全てについて得られることになる。
【0056】
次に、S26の基準作成処理について説明する。S26の基準作成処理は、例えば図7のような流れで行われる。この処理では、まず、S21で選択されたK個の色参照パターンの中から、未選択の色参照パターンをいずれか一つ選択する(S31)。本実施形態では、S21で選択されたK個の色参照パターン全てに対してS32〜S36の処理が行われるようになっており、S31の処理では、S21で選択されたK個の中から未だS33〜S36の処理が行われていないいずれかの色参照パターンを選択することになる。
【0057】
S31の処理の後には、S31で選択された色参照パターンにおいて、未選択のいずれかの色を一つ選択する(S32)。本実施形態では、S31で選択された色参照パターンの全ての色に対してS33〜S36の処理が行われるようになっており、S32の処理では、S31で選択された色参照パターンにおける全ての色の中から未だS33〜S36の処理が行われていないいずれかの色を選択することになる。
【0058】
そして、S31で選択された色参照パターンにおけるS32で選択された色についてのデータ(図6のS21〜S25の処理で生成された各成分値)を参照し、当該データにおけるR成分値、G成分値、B成分値が基準内に収まっているか否かを判断する(S33)。
【0059】
S33の判断処理を行うための基準範囲は、予め固定値として定められていてもよく、S33よりも前の所定時期に算出、設定処理を行うようにしもよい。予め固定値として定めておく場合、想定される各色毎に、R成分値、G成分値、B成分値の各基準範囲を図9のように固定範囲として定めておけばよい。図9の例では、例えば黒色セルについては、R成分の基準範囲をRbmin以上、Rbmax未満と定め、G成分の基準範囲をGbmin以上、Gbmax未満と定め、B成分の基準範囲をBbmin以上、Bbmax未満と定めており、他の色のセルについても、R成分、G成分、B成分のそれぞれの基準範囲が定められている。
【0060】
また、S3よりも前の所定時期に基準範囲を算出、設定する場合、二次元コード100に設けられた9つの色参照パターン110〜190の一部又は全部の色参照パターンの色情報に基づいて基準範囲を定めるようにすればよい。具体的には、例えば、図6のS25において、Yesに進んだ後、S26の基準作成処理を行う前に、S21〜S25の処理で得られたデータに基づいて、各色の各成分値についての基準範囲を設定する基準範囲設定処理を行うようにすればよい。
【0061】
この例としては、まず、S21で選択されたK個の色参照パターンのデータに基づき各色の各成分値の平均値を求める。例えば、S21〜S25の処理により、K個の色参照パターンの各黒色セルに基づいて、K個のR成分値、K個のG成分値、K個のB成分値が得られているため、これらK個のR成分値、K個のG成分値、K個のB成分値のそれぞれの平均値Rbave、Rgave、Bbaveを求める。同様に、S21〜S25の処理により、K個の色参照パターンの各白色セルに基づいて、K個のR成分値、K個のG成分値、K個のB成分値が得られているため、これらK個のR成分値、K個のG成分値、K個のB成分値のそれぞれの平均値Rwave、Rwave、Bwaveを求める。他の色についても、同様であり、図10(a)のように、K個の色参照パターンの各色毎に、R成分値の平均値、G成分値の平均値、B成分値の平均値を求める。
【0062】
そして、図10(a)のように得られた各色の各成分平均値に基づいて、各色の各成分についての基準範囲(基準値)を設定する。基準範囲の設定方法は様々に考えられるが、図10(b)の例では、各色の各成分平均値のプラスマイナス一定範囲を、各色の各成分についての基準範囲として設定している。例えば、黒色セルのR成分については、K個の黒色セルのR成分平均値Rbaveを中央値として、「Rbave−α以上、Rbave+α未満」の範囲を基準範囲(基準値)としている。また、黒色セルのG成分、B成分についても同様に基準範囲が設定され、他の色のR成分、G成分、B成分についても同様に準範囲が設定される。なお、この例では、図10(b)に示す各色の各成分についての基準範囲が「汚れを判断するための基準値」の一例に相当する。
【0063】
図7のS33では、図9或いは10(b)のように設定された基準範囲に基づいて、着目している色参照パターン(S31で選択された色参照パターン)の着目色(S32で選択された色)の各成分値が基準内に収まっているか否かを判断する。
【0064】
例えば、図10(b)のような基準範囲が定められており、S31において、図8(a)のような色参照パターンK1が選択され、S32において、黒色が選択された場合には、当該色参照パターンK1の黒色セルのR成分値Rb1がRbave−α以上Rbave+α未満の範囲に収まっているか否か、G成分値Gb1がGbave−α以上Gbave+α未満の範囲に収まっているか否か、B成分値Bb1がBbave−α以上Bbave+α未満の範囲に収まっているか否かを判断する。いずれの成分値Rb1、Gb1、Bb1も基準範囲に収まっていれば、当該色参照パターンK1の黒色セルについては基準内に収まっていると判断し、S33にてYesに進むことになる。一方、成分値Rb1、Gb1、Bb1のいずれか一つでも基準範囲内に収まっていない場合には、当該色参照パターンK1の黒色セルについては基準内に収まっていないと判断し、S33にてNoに進むことになる。
【0065】
S33にてYesに進む場合、重み付け値を算出する処理を行う(S34)。
本実施形態では、図6のS23の処理において、色認識(色判別)を行おうとする着目セル画像(即ち、S12で選択されたセル)から複数の色参照パターン(S21で選択されたK個の色参照パターン)それぞれまでの距離を算出しており、図7のS34では、色参照パターン毎に、セル画像からの距離に応じた重み付けを算出している。重み付けは例えば以下の数1によって算出される。
【0066】
【数1】
【0067】
数1において、Wnは、着目しているn番目の色参照パターンの重みを示す値である。また、Lnは、色認識を行おうとするセル(図5のS12で選択されたセル)から着目しているn番目の色参照パターンまでの距離である。また、Lmaxは、S21で選択されたK個の色参照パターンの内の、色認識を行おうとするセル(図5のS12で選択されたセル)から最も遠い色参照パターンまでの距離である。
【0068】
例えば、図11のように、セルC1が色認識を行うセルであり、図6のS21においてこのセルC1の近くの4つの色参照パターン110、120、180、190が選択された場合、S31で色参照パターン110が選択されたときにS34で算出される重み付け値は、L4/L1となる。同様に、S31で色参照パターン120が選択されたときにS34で算出される重み付け値は、L4/L2となり、S31で色参照パターン180が選択されたときにS34で算出される重み付け値は、L4/L3となり、S31で色参照パターン190が選択されたときにS34で算出される重み付け値は、L4/L4となる。このように、着目セルC1に近い色参照パターンほど重み付け値が大きくなるように重み付けされる。
【0069】
一方、S33にてNoに進む場合には、着目している色参照パターンの着目色についての重み付けを「0」に設定する。この場合、S31で選択された色参照パターンにおけるS32で選択された色の各成分値は、基準作成に反映されない。
【0070】
S34の処理の後又はS35の処理の後には、S32で選択された着目色の各成分値に
対して、S34又はS35で設定された重み付け値を掛け合わせた値を算出する(S36)。例えば、図11に示すようなケースにおいて、S31にて色参照パターン110が選択され、S32で黒色セルが選択されたとき、色参照パターン110の各色の各成分値が図8(a)のような場合には、S33にてYesに進むときには(即ち、黒色セルの各成分値が基準内に収まっているときには)、黒色セルの各成分値Rb1,Gb1,Bb1に対してS34で算出された重みL4/L1をそれぞれ掛け合わせ、それら乗算値「Rb1×L4/L1」、「Gb1×L4/L1」「Bb1×L4/L1」を取得する。なお、S33にてNoに進む場合には、黒色セルの各成分値Rb1,Gb1,Bb1に対し「0」を掛け合わせるため、各成分の乗算値は全て0となる。
【0071】
S36にて上記乗算値を取得した後には、着目している色参照パターン(S31で選択された色参照パターン)のすべての色についてS33〜S36の処理を行った否かを判断し(S37)、S33〜S36の処理を行っていない色が残っている場合にはS37にてNoに進み、その残っている色の中からいずれかの色を選択し(S32)、S33以降の処理を繰り返す。着目している色参照パターン(S31で選択された色参照パターン)のすべての色についてS33〜S36の処理を行った場合には、S37にてYesに進み、S21で選択されたK個全ての色参照パターンについてS32〜S37の処理を行ったか否かを判断する(S38)。S21で選択されたK個の色参照パターンの中で、S32〜S37の処理を行っていない色参照パターンが残っている場合には、S38にてNoに進み、その残っている色参照パターンの中からいずれかの色参照パターンを選択し(S31)、S32〜S37の処理を繰り返す。
【0072】
S21で選択されたK個の色参照パターン全てについてS32〜S37の処理を行った場合には、S38にてYesに進み、各色について成分毎の基準データ(セル別基準データ)を算出する処理を行う。この処理では、各色の各成分毎に、S36で算出された乗算値の総和とS34、S35で算出された重み付けの総和とを求めると共に乗算値の総和を重み付けの総和で割った値を求め、これを各色の各成分についての基準データとする。例えば、黒色セルについての各成分毎の基準データを生成する場合、まず、各色参照パターンの各黒色セルに対して行われたS34又はS35の算出結果をすべて加算することで、黒色セルについての重み付け値の総和を求める。また、各色参照パターンの各黒色セルに対して行われたS36の処理の算出結果を、R成分毎、G成分毎、B成分毎に、それぞれすべて加算することで、黒色セルのR成分についての乗算値の総和、黒色セルのG成分についての乗算値の総和、黒色セルのB成分についての乗算値の総和をそれぞれ求める。そして、黒色セルのR成分について得られた乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのR成分の基準データを得ることができる。同様に、黒色セルのG成分についての乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのG成分の基準データを得ることができ、黒色セルのB成分についての乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのB成分の基準データを得ることができる。なお、他の色についても同様の方法で各成分の基準データを取得することができる。
【0073】
次に、図11を参照し、基準データの具体的算出例を説明する。なお、以下では、赤色セルについてのR成分基準データ、G成分基準データ、B成分基準データを算出する方法を代表例として説明する。なお、図11では、セルC1についてのセル色認識処理(S13)に際し、S21において4つの色参照パターン110、120、180、190が選択された例を示しており、これら各色参照パターン110、120、180、190の各赤色セルから検出されたR成分値、B成分値、B成分値を、それぞれの色参照パターン近傍に例示している。また、以下の説明では、色認識を行おうとする着目セルC1から各色参照パターン110、120、180、190までの距離L1、L2、L3,L4を、それぞれL1=30、L2=60、L3=80、L4=120としている。また、以下では、赤色セルについての、R成分基準範囲、G成分基準範囲、B成分基準範囲がそれぞれ、「150以上」「130未満」「130未満」と設定されたものとして説明する。
【0074】
図11の例では、図7のS31で色参照パターン110が選択され、S32で赤色セルが選択されたとき、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L1=120/30=4として算出される。また、S31で色参照パターン120が選択され、S32で赤色セルが選択されたときにも、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L2=120/60=2として算出される。一方、S31で色参照パターン180が選択され、S32で赤色セルが選択されたときには、当該赤色セルのB成分値が基準範囲内に収まっていないため、S33にてNoに進むことになる。この場合には、重み付け値は0となる。一方、S31で色参照パターン190が選択され、S32で赤色セルが選択されたときには、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L4=120/120=1として算出される。この場合、赤色セルについての重み付け値の総和は4+2+0+1=7となる。
【0075】
また、図7のS31で色参照パターン110が選択され、S32で赤色セルが選択される場合には、上述したように、S34において重み付け値「4」が得られるため、S36では、色参照パターン110のR成分値「200」、G成分値「100」、B成分値「80」にそれぞれ「4」が掛け合わされ、R成分乗算値「200×4」、G成分乗算値「100×4」、B成分乗算値「80×4」が得られる。同様に、図7のS31で色参照パターン120が選択され、S32で赤色セルが選択される場合には、色参照パターン120についてのR成分乗算値「210×2」、G成分乗算値「60×2」、B成分乗算値「70×2」が得られる。また、図7のS31で色参照パターン190が選択され、S32で赤色セルが選択される場合には、色参照パターン190についてのR成分乗算値「220×1」、G成分乗算値「80×1」、B成分乗算値「80×1」が得られる。なお、図7のS31で色参照パターン180が選択され、S32で赤色セルが選択される場合には、S33にてNoに進むため、色参照パターン180についてのR成分乗算値、G成分乗算値、B成分乗算値はいずれも「0」となる。
【0076】
赤色セルのR成分基準データは、色参照パターン110、120、180、190のR成分乗算値の総和(200×4+210×2+220×1=1440)を、上記重み付け値の総和「7」で割った値であり、この場合「206」と定められる。同様に、赤色セルのG成分基準データは、色参照パターン110、120、180、190のG成分乗算値の総和(100×4+60×2+80×1=600)を、上記重み付け値の総和「7」で割った値であり、この場合「86」と定められる。また、赤色セルのB成分基準データは、色参照パターン110、120、180、190のR成分乗算値の総和(80×4+70×2+80×1=540)を、上記重み付け値の総和「7」で割った値であり、この場合「77」と定められる。
【0077】
上記のように各色の各成分についての基準データ(セル別基準データ)が算出された後には、図6のS27においてセル色を特定する処理を行う。この処理では、例えば、色認識を行おうとするセル(即ち、図5のS12で選択されたセル)のR成分値、G成分値、B成分値を、図7のS39で生成された各色の基準データ(R成分基準データ、G成分基準データ、B成分基準データ)と比較し、基準データの各成分値が着目セルのR成分値、G成分値、B成分値と最も近い色を当該着目セルの色とすることができる。この「最も近い」点についての判断方法は様々に考えられるが、例えば、各色毎に、R成分基準データ、G成分基準データ、B成分基準データのそれぞれと、着目セルのR成分値、G成分値、B成分値それぞれとの差を求めると共にそれら差の絶対値の総和を求めるようにすればよい。この場合、差の絶対値の総和が小さい色を着目セルの色とすることができる。
【0078】
図6のセル色認識処理が終わった後には、その着目セルの色(S27で特定された色)を当該色に対応付けられたデータに変換する(S14)。そして、全てのセルについてS13、S14の処理が行われたか否かを判断し、S11で特定された全セルにおいて、S13、S14の処理が行われていないセルが残っている場合には、S15に進み、S12においてその残っているセルのいずれかを選択してS13、S14の処理を繰り返す。このS13の処理では、S12にて新たに着目されたセルに対応する色参照パターン選択処理(S21)、基準作成処理(S26)等が行われることになる。なお、S11で特定された全てのセルについてS13、S14の処理が行われた場合には、S15にてYesに進み、公知の誤り訂正処理(S16)を行った後、デコード処理を終了する。
【0079】
なお、本実施形態では、図4〜図7の処理を実行する制御回路40が、「色判別手段」の一例に相当し、受光センサ23(撮像手段)によって撮像された二次元コード100のコード画像において、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別するように機能する。
【0080】
また、S26の処理を行い得る制御回路40は、「設定手段」の一例に相当し、各セル画像の表示色を判別する際の、各色参照パターンの各々の「寄与度合」を、各セル画像毎に設定するように機能する。
【0081】
また、S21、S33の処理を行い得る制御回路40は、「選択手段」の一例に相当し、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択するように機能する。
【0082】
また、S33の処理を行い得る制御回路40は、「判断手段」の一例に相当し、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断するように機能する。
【0083】
また、「色判別手段」に相当する制御回路40は、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成し(S39:図7)、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と各セル画像に対応するセル別基準データ(S39で生成された基準データ)とに基づいて判別するように機能している。具体的には、各セル画像の色判別に用いる「セル別基準データ」を、上記「選択手段」によって各セル画像毎に選択された基準パターンに基づいてそれぞれ生成するように機能している。また、上記「選択手段」によって選択された基準パターンにおいて、いずれかのセルに汚れが生じている場合、その汚れが生じている基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成するように機能している。
【0084】
(本実施形態の主な効果)
本実施形態に係る二次元コード読取装置1では、各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、各セル画像毎に設定しており、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と各セル画像に対応するセル別基準データとに基づいて判別している。このようにすると、各セル画像毎に色判別に用いる基準データ(セル別基準データ)を定めることができ、各セルの色判定を精度高く適切に行いやすくなる。
【0085】
また、各セル画像毎の設定において、セル画像から複数の色参照パターンそれぞれまでの距離を算出し、各色参照パターン毎に、セル画像からの距離に応じた重み付けをして寄与度合をそれぞれ設定している。このようにすると、各セル画像の基準データ(セル別基準データ)を設定する際に、各色参照パターンまでの距離を適切に考慮して、各色参照パターンの寄与度合を定めることができ、より近い距離の色参照パターンを重視した適切な基準設定が可能となる。
【0086】
また、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択しており、その選択された基準パターンに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。このようにすると、各セル画像の判別に用いるセル別基準データを、それぞれ、寄与させるべき色参照パターンによって生成することができ、寄与させるべきでない色参照パターンを排除した適切な基準設定が可能となる。
【0087】
具体的には図6のS21に示すように、各セル画像の色判別に寄与させる基準パターンを、複数の色参照パターンの中から各セル画像からの距離に基づいて選択している。このようにすると、寄与させるべきでない遠い距離にある色参照パターンを排除して、各セル画像の判別に用いる基準データ(セル別基準データ)を生成することができ、一層適切な基準設定が可能となる。
【0088】
また、上記実施形態では、S21で選択された色参照パターン(基準パターン)において、いずれかのセルに汚れが生じている場合、その汚れが生じている基準バターンについては、汚損セルを除いた部分の色情報をセル別基準データに反映させている。このようにすると、寄与させるべき基準パターンを反映させつつ汚損セルの影響を排除してセル別基準データを生成することができる。従って、各セル画像の基準設定に際し、適切な色参照パターン(基準パターン)の適切な部分のみを選択的に取り入れ、より望ましいセル別基準データを生成することができる。
【0089】
また、汚れを判断するための固定値(図9のような各基準範囲)を予めメモリ35(記憶手段)に記憶する方式を用いる場合、各色参照パターンの画像から得られる色情報(各色の各成分値)を固定値と比較することで、各色参照パターンに汚れが生じているか否かを判断することができる。このようにすると、各色参照パターンに汚れが生じているか否かを簡易な構成で適切に判断できるようになる。
【0090】
また、二次元コード内に存在する一部の色参照パターンの色情報に基づいて汚れを判断するための基準値を生成する方式を用いる場合、各色参照パターンの画像から得られる色情報(各色の各成分値)を基準値と比較(例えば、図10(a)のような平均値に基づいて定められる基準範囲(図10(b))と比較)することで、各色参照パターンに汚れが生じているか否かを判断することができる。このようにすると、二次元コード内の色参照パターンの色情報に基づいて、各色参照パターンの汚れを相対的に判断することができ、読取環境が多様に変化しても汚れを適切に判断できる。
【0091】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0092】
上記実施形態では、読取対象となる二次元コード100において、3行3列で構成され8色のセルを有する色参照パターンが設けられた例を示したが、色参照パターンの構成はこれに限定されず、他の色参照パターンであっても本発明を同様に適用できる。例えば、図12(a)のような2行2列の3色の色参照パターンが用いられていてもよく、図12(b)のように、4行4列の16色の色参照パターンが用いられていてもよい。
【0093】
上記実施形態では、基準作成に際し、着目するセル近傍の4つの色参照パターンを用いる例を示したが、この方法に限定されない。例えば、図13のように着目するセル近傍の3つの色参照パターンを基準作成に用いるようにしてもよく、各セルの基準作成に際し、二次元コード内の全ての色参照パターンを用いるようにしてもよい。
【0094】
上記実施形態では、S21で選択された色参照パターン(基準パターン)において、いずれかのセルに汚れが生じている場合、基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成していたが、いずれかのセルに汚れが生じている場合、その色参照パターン全体を排除するようにしてもよい。この場合、図7の処理において、S35を省略し、S33にてNoに進む場合には、着目している色参照パターンを選択対象(基準パターン)から除外する処理を行い、S31の処理に戻るように基準作成処理を変更すればよい。このようにすると、汚れが生じている色参照パターンを除いてセル別基準データを生成することができるため、汚れの影響を排除した精度の高い色判別が可能となる。
【0095】
上記実施形態では、二次元コード内の一部の色参照パターン(S21で選択される色参照パターン)に基づいて、図10(a)のような平均値を求め、図10(b)のような基準範囲を設定する例を説明したが、二次元コード内の全部の色参照パターンに基づいて図10(a)のような平均値を求め、図10(b)のような基準範囲を設定するようにしてもよい。
【符号の説明】
【0096】
1…二次元コード読取装置
23…受光センサ(撮像手段)
35…メモリ(記憶手段)
40…制御回路(色判別手段,設定手段,選択手段,判断手段)
100…二次元コード
110,120,130,140,150,160,170,180,190…色参照パターン
C…セル
【技術分野】
【0001】
本発明は、二次元コード読取装置に関するものである。
【背景技術】
【0002】
従来より提供されている二次元コードは、白色セル及び黒色セルをマトリックス状に配置した構成が一般的であるが、このような二次元コードは記録する情報量を増大させにくいという事情があった。そこで、現在では、セル表示をカラー表現するカラー二次元コードが各種提案され、記録する情報の高密度化を実現している。なお、このようなカラー二次元コードに関する技術としては例えば特許文献1のようなものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3923796号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなカラー二次元コードでは、セルに表示される各色を正確に判定することが求められる。しかしながら、各色の読み取り結果は印刷環境や読み取り環境によってばらつきやすく、何ら措置を講じないとばらつきに起因する誤判定を招いてしまう。このような誤判定を防ぐためには、特定領域に色判定の基準となるべき色参照パターンを配置しておき、その色参照パターンの参照結果を基準として各色の判定をすることが望ましい。
【0005】
より適切な色判定をするためには、上記色参照パターンをカラー二次元コード内に複数設けることが望ましいが、各セルの色判定において色参照パターンをどのように参照すべきかが問題となる。例えば、全セルの色判定を一律の基準値(例えば全部の色参照パターンに基づいて生成された平均値等)に基づいて行うようにすると、各セルの状態や各色参照パターンの状態を考慮した適切な色判定を行いにくく、その結果、色判定の精度低下を招く虞がある。
【0006】
本発明は、上述した課題を解決するためになされたものであり、各セルの色判定を精度高く適切に行い得る二次元コード読取装置及び二次元コード読取方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1の発明は、複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読取可能な二次元コード読取装置であって、前記二次元コードを撮像する撮像手段と、前記撮像手段によって撮像された前記二次元コードのコード画像において、各セル画像の表示色を、前記各セル画像から得られる色情報と前記色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段と、前記各セル画像の前記表示色を判別する際の各色参照パターンの各々の寄与度合を、前記各セル画像毎に設定する設定手段と、を備え、前記色判別手段が、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、前記各セル画像の前記表示色を、前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて判別することを特徴としている。
【0008】
請求項2の発明は、請求項1に記載の二次元コード読取装置であって、前記設定手段が、前記各セル画像毎の設定において、前記セル画像から複数の前記色参照パターンそれぞれまでの距離を算出し、前記各色参照パターン毎に、前記セル画像からの前記距離に応じた重み付けをして前記寄与度合をそれぞれ設定することを特徴としている。
【0009】
請求項3の発明は、請求項1又は請求項2に記載の二次元コード読取装置において、前記設定手段が、前記各セル画像毎に、複数の前記色参照パターンの中から色判別に寄与させる基準パターンを選択する選択手段を備え、前記色判別手段が、前記各セル画像の色判別に用いる前記セル別基準データを、前記選択手段によって前記各セル画像毎に選択された前記基準パターンに基づいてそれぞれ生成することを特徴としている。
【0010】
請求項4の発明は、請求項2に記載の二次元コード読取装置において、前記選択手段が、前記各セル画像毎に、前記各セル画像の色判別に寄与させる前記基準パターンを、複数の前記色参照パターンの中から前記各セル画像からの距離に基づいて選択することを特徴としている。
【0011】
請求項5の発明は、請求項3又は請求項4に記載の二次元コード読取装置において、前記選択手段が、前記色参照パターンに汚れが生じているか否かを判断する判断手段を備えており、複数の前記色参照パターンの内の前記判断手段によって汚れが生じていないと判断されたパターンを前記基準パターンとして選択することを特徴としている。
【0012】
請求項6の発明は、請求項3又は請求項4に記載の二次元コード読取装置において、更に、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断する判断手段が設けられており、前記色判別手段が、前記選択手段によって選択された前記基準パターンにおいて、いずれかのセルに汚れが生じている場合、前記基準パターンにおけるその汚損セルを除いた部分の色情報に基づいて前記セル別基準データを生成することを特徴としている。
【0013】
請求項7の発明は、請求項5又は請求項6に記載の二次元コード読取装置において、前記汚れを判断するための固定値が予め記憶手段に記憶されており、前記判断手段が、各色参照パターンの画像から得られる色情報を前記固定値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴としている。
【0014】
請求項8の発明は、請求項5又は請求項6に記載の二次元コード読取装置において、前記判断手段が、前記二次元コード内に存在する一部又は全部の前記色参照パターンの色情報に基づいて前記汚れを判断するための基準値を生成し、各色参照パターンの画像から得られる色情報を前記基準値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴としている。
【0015】
請求項9の発明は、複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読み取る読取方法であって、撮像手段によって前記二次元コードを撮像し、前記撮像手段によって撮像された前記二次元コードのコード画像を記憶手段に記憶し、前記コード画像を構成する各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、設定手段によって前記各セル画像毎に設定し、更に、色判別手段により、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、且つ前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて前記各セル画像の前記表示色を判別することを特徴としている。
【発明の効果】
【0016】
請求項1の発明は、各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、各セル画像毎に設定しており、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報と各セル画像に対応するセル別基準データとに基づいて判別している。このようにすると、各セル画像毎に色判別に用いる基準データ(セル別基準データ)を定めることができ、各セルの色判定を精度高く適切に行いやすくなる。
【0017】
請求項2の発明は、各セル画像毎の設定において、セル画像から複数の色参照パターンそれぞれまでの距離を算出し、各色参照パターン毎に、セル画像からの距離に応じた重み付けをして寄与度合をそれぞれ設定している。このようにすると、各セル画像の基準データ(セル別基準データ)を設定する際に、各色参照パターンまでの距離を適切に考慮して、各色参照パターンの寄与度合を定めることができ、より近い距離の色参照パターンを重視した適切な基準設定が可能となる。
【0018】
請求項3の発明は、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択しており、その選択された基準パターンに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。このようにすると、各セル画像の判別に用いるセル別基準データを、それぞれ、寄与させるべき色参照パターンによって生成することができ、寄与させるべきでない色参照パターンを排除した適切な基準設定が可能となる。
【0019】
請求項4の発明は、各セル画像の色判別に寄与させる基準パターンを、複数の色参照パターンの中から各セル画像からの距離に基づいて選択している。このようにすると、寄与させるべきでない遠い距離にある色参照パターンを排除して、各セル画像の判別に用いる基準データ(セル別基準データ)を生成することができ、一層適切な基準設定が可能となる。
【0020】
請求項5の発明は、複数の色参照パターンの内、汚れが生じていないと判断されたパターンを基準パターンとして選択している。このようにすると、汚れが生じている色参照パターンを除いてセル別基準データを生成することができるため、汚れの影響を排除した精度の高い色判別が可能となる。
【0021】
請求項6の発明は、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断可能とされており、選択手段によって選択された基準パターンにおいて、いずれかのセルに汚れが生じている場合、基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成している。このようにすると、寄与させるべき基準パターンを反映させつつ汚損セルの影響を排除してセル別基準データを生成することができる。従って、各セル画像の基準設定に際し、適切な色参照パターン(基準パターン)の適切な部分のみを選択的に取り入れ、より望ましいセル別基準データを生成することができる。
【0022】
請求項7の発明は、汚れを判断するための固定値が予め記憶手段に記憶されており、各色参照パターンの画像から得られる色情報を固定値と比較することで、各色参照パターンに汚れが生じているか否かを判断している。このようにすると、各色参照パターンに汚れが生じているか否かを簡易な構成で適切に判断できる。
【0023】
請求項8の発明は、二次元コード内に存在する一部又は全部の色参照パターンの色情報に基づいて汚れを判断するための基準値を生成し、各色参照パターンの画像から得られる色情報を基準値と比較することで、各色参照パターンに汚れが生じているか否かを判断している。このようにすると、二次元コード内の色参照パターンの色情報に基づいて、各色参照パターンの汚れを相対的に判断することができ、読取環境が多様に変化しても汚れを適切に判断できる。
【0024】
請求項9の発明によれば、請求項1と同様の効果を奏する読取方法を実現できる。
【図面の簡単な説明】
【0025】
【図1】図1は、本発明の第1実施形態に係る二次元コード読取装置の電気的構成を概略的に例示するブロック図である。
【図2】図2は、図1の二次元コード読取装置によって読み取られる二次元コードを概略的に例示する概略図である。
【図3】図3は、色参照パターンの一例を概念的に示す概略図である。
【図4】図4は、図1の二次元コード読取装置で行われる読取処理を例示するフローチャートである。
【図5】図5は、図4の読取処理におけるデコード処理を例示するフローチャートである。
【図6】図6は、図5のデコード処理で行われるセル色認識処理を例示するフローチャートである。
【図7】図7は、図6のセル色認識処理で行われる基準作成処理を例示するフローチャートである。
【図8】図8(a)は、S21で選択されたいずれかの色参照パターンについての各色の各成分値を概念的に示す説明図であり、図8(b)は、図8(a)とは異なる色参照パターンについての各色の各成分値を概念的に示す説明図である。
【図9】図9は、各色の各成分についての基準範囲が固定値(固定範囲)として定められる例を概念的に説明する説明図である。
【図10】図10(a)は、二次元コード内の複数の色参照パターンに基づいて、各色の各成分についての平均値をそれぞれ算出した例を示す説明図であり、図10(b)は、図10(a)の各平均値に基づいて各色の各成分についての基準範囲を設定した例を示す説明図である。
【図11】図11は、着目セル(色認識を行おうとするセル)に近い複数の色参照パターンを選択した例を示す説明図である。
【図12】図12(a)は、色参照パターンの別例1を示す説明図であり、図12(b)は、色参照パターンの別例2を示す説明図である。
【図13】図13は、3つの色参照パターンが選択され、これら3つの色参照パターンに基づいてセル別基準データを生成する例を説明する説明図である。
【発明を実施するための形態】
【0026】
[第1実施形態]
以下、本発明を具現化した第1実施形態について、図面を参照して説明する。
(全体構成)
まず、第1実施形態に係る二次元コード読取装置の全体構成を概説する。
本実施形態に係る二次元コード読取装置1は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。
【0027】
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、ハウジングの読取口(図1では図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、この読取対象物Rには読取対象となる二次元コード100が印刷等によって形成されている。
【0028】
受光センサ23は、{読取対象物Rや二次元コード100に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aにて受光し得る構成でプリント配線板(図示略)に実装されている。本実施形態では、受光センサ23が「撮像手段」の一例に相当する。
【0029】
また、フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【0030】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40及びメモリ35を中心に構成されるもので、前述した光学系によって撮像された二次元コード100の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該二次元コード読取装置1の全体システムに関する制御も行っている。
【0031】
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0032】
メモリ35は、半導体メモリ装置として構成されており、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【0033】
制御回路40は、二次元コード読取装置1全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が制御回路40に接続されている。なお、通信インタフェース48には、当該二次元コード読取装置1の上位システムに相当するホストコンピュータHST等が接続可能とされている。また、電源系は、電源スイッチ41、電池49等によって構成されており、制御回路40による電源スイッチ41のオンオフ制御により、電池49から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
【0034】
(二次元コード)
次に、二次元コード読取装置1の読取対象となる二次元コードを説明する。
図2は、二次元コード読取装置1によって読み取られる二次元コード100を概略的に例示するものである。図2に示す二次元コード100は、複数のセルCがマトリックス状に配列されてなるものであり、複数のコードブロック(データコードブロック107、誤り訂正コードブロック108)と、第1の特定パターン102と、第2の特定パターン103、104と、色参照パターン110、120、130、140、150、160、170、180、190(以下、これら色参照パターンを色参照パターン110〜190とも称する)を備えた構成をなしている。この二次元コード100は、外形が正方形状のセルCが集合してマトリックス状に配置されたセル集合体として構成されており、図2の例では、セル数が縦横同数(35セル×35セル)となる配列で構成されている。また、二次元コード100を構成するコード領域(セルCが配置される領域)は、外形が矩形状の矩形領域(図2の例では、外形が正方形状の正方形領域)とされている。
【0035】
なお、図2では、一部のセルのみについて符号Cを付しており、他のセルの符号は省略している。また、図2では、一部の誤り訂正コードブロック108の位置を一点鎖線にて概念的に示しており、他の誤り訂正コードブロックについては図示を省略している。また、一部のデータコードブロック107の位置について二点鎖線にて概念的に示しており、他のデータコードブロック107については図示を省略している。また、図2では、データが記録される領域(データ記録領域)を破線AR1にて概念的に示しており、このデータ記録領域AR1内の具体的セル構成(各コードブロックの具体的セル構成等)は省略して示している。
【0036】
本実施形態の二次元コード100は、色彩又は濃度又は輝度の異なる3種類以上のセルを用いたいわゆるカラーコードとして構成されるものであり、図2では、その一例として、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の8色のセルを用いた構成を示している。なお、本実施形態及び他の実施形態を通し、黒色セルをCb、白色セルをCwで示すとともに、緑色セルを符号Cg、赤色セルをCr、青色セルをCu、黄色セルをCy、シアン色セルをCn、マゼンダ色セルをCmとそれぞれ示すこととする。
【0037】
二次元コード100の一部を構成するコードブロックは、図2の二次元コード100では、データコードブロック107と、誤り訂正コードブロック108とに分けられており、いずれも複数のセルCが集合した構成をなしている。
【0038】
データコードブロック107は、デコードの対象となるデータを符号化した符号化データ(データコード語)を複数のセルによって表現したブロックであり、データコードブロック107を構成する各セルは、予め定められた複数種類のセル(図2の例では上述の8色のセル)の中からいずれかの種類のセルが選択されて用いられている。なお、図2では、8つのセルが4行2列のマトリックス状に配列されたデータコードブロック107を二点鎖線にて概念的に例示しているが、データコードブロック107のセル数やブロック構成はこれ以外であってもよい。
【0039】
各データコードブロック107は、デコードすべき符号化データ(データコード語)に対応したセルの配列で構成されている。具体的には、セル表示色が、数値に対応付けられており、例えば、データ値「0」に対して第1の色「白」、データ値「1」に対して第2の色「赤」、データ値「2」に対して第3の色「緑」、データ値「3」に対して第4の色「青」、データ値「4」、に対して第5の色「マゼンタ」、データ値「5」に対して第6の色「黄」、データ値「6」に対して第7の色「シアン」、データ値「7」、に対して第8の色「黒」、がそれぞれ対応付けられている。
【0040】
誤り訂正コードブロック108は、データコードブロック107の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック108を構成する誤り訂正コード語は、データコードブロック107を構成する符号化データ(データコード語)に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
【0041】
第1の特定パターン102は、二次元コード100の矩形領域において4つ設けられた角部(矩形領域における角を構成する部分)105a〜105dのうち、規定の角部105aに配置されるものである。図2の例では第1の特定パターン102の外形が矩形状(詳しくは正方形状)に構成されており、第1の特定パターン102の外縁を構成する2辺によって矩形領域における規定の角部105aの角位置が定められている。具体的には、中心に第1の色のセル(黒色セル)が1つ配置され、その第1の色のセル(黒色セル)の周りを複数種類のセルが矩形状に囲んでいる。さらに、その環状のセル群(複数色のセル群)の周りを第1の色のセル(黒色セル102a)が環状かつ矩形状に囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が矩形状(正方形状)に構成され、第1の特定パターン102全体として外形が矩形状(正方形状)となっている。
【0042】
この第1の特定パターン102は、矩形領域における各セルCの位置の特定するための要素として機能するものであり、具体的には、二次元コード100を光学的情報読取装置で読み取ったときに得られる画像データにおいて規定の角部105aの位置を特定するために用いられると共に、その画像データにおいて二次元コード100の向きを特定するために用いられる。なお、本明細書全体を通し、第1の特定パターン102、第2の特定パターン103、104、及び後述する色参照パターン110〜190は、二次元コードに含まれるデータ(デコードすべきデータ)に関係なく一定のパターンとして構成されている。
【0043】
第2の特定パターン103、104は、コード領域(矩形領域)の境界をなす4つの辺(4つの境界辺)のうち、第1の特定パターン102が接する境界辺に隣接して配置されるものであり、一方のパターン(第2の特定パターン103)が一方の境界辺に沿って配置され、他方のパターン(第2の特定パターン104)が他方の境界辺に沿って配置されている。これら第2の特定パターン103、104は、二次元コード100のコード領域(矩形領域)を背景から分離するために利用され、後述する読み取りの際にこれら第2の特定パターン103,104を認識することで境界辺の位置を特定できるようになっている。なお、図2の例では、第2の特定パターン103、104のいずれもが、白色セルと黒色セルとを交互に配置してなる白黒交互パターンによって構成されているが、他のパターンによって構成されていてもよい。
【0044】
次に、色参照パターン110〜190について説明する。色参照パターン110〜190は、矩形領域内の各セルに使用するセル表示色の基準となるパターンであり、いずれも、複数のセルがマトリックス状(図2の例では3行3列のマトリックス状)に配置された構成をなしている。図2の例では、全部の色参照パターン110〜190が同一の構成となっており、いずれも、二次元コード100で用いられる全セル表示色(黒色、白色、赤色、緑色、青色、マゼンタ色、シアン色、黄色)を表示するように構成されている。
【0045】
図3は、色参照パターン110を拡大して示しており、この例では、中心に黒色セル110iが配置され、その黒色セル110iの周囲を、複数色のセルが囲んでいる。これら複数色のセルを、角部に配置される白色セル110aから時計回りに説明すると、白色セル110a、シアン色セル110b、赤色セル110c、緑色セル110g、白色セル110e、マゼンタ色セル110f、青色セル110g、黄色セル110hの順に配置されている。なお、図3では、色参照パターン110のみを示しているが、これ以外の色参照パターン120〜190は色参照パターン110と同一の構成であるため、これら当該色参照パターン120〜190についての拡大図及び詳細な説明は省略する。また、図2の例では、各色参照パターン110〜190が矩形領域の4つの角部105a、105b、105c、105d等にそれぞれ配置されているが、色参照パターンの配置場所や色参照パターンの数は図2の構成に限定されるものではない。
【0046】
(読取処置)
次に、二次元コード読取装置1で行われる読取処理について説明する。
図4は、二次元コード読取装置1で行われる読取処理の流れを例示するフローチャートである。図4に示す読取処理は、例えば作業者が所定操作(例えば、操作スイッチ42のオン操作)を行うことで開始され、まず、画像取得処理が行われる(S1)。この処理では、二次元コード100が付された読取対象物R(図1)が受光センサ23によって撮像され、二次元コード100の画像データがメモリ35に記憶される。
【0047】
その後、S1にて取得された画像データにおいて二次元コード100のコード領域(矩形領域)を特定する処理を行う(S2)。この特定処理では、例えば外縁が特定図形(例えば四角形)となっている領域を抽出したり、或いは、外縁の明暗変化、色変化が激しい領域を抽出することで行うことができる。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、これら公知の方法を用いて領域を特定してもよい。
【0048】
S2の特定処理の後には、S2の処理においてコード領域(矩形領域)が特定できたか否かを判断し(S3)、特定できた場合にはS3にてYesに進み、デコード処理を行う(S4)。一方、特定できなかった場合には、S3にてNoに進み、当該読取処理を終了する。
【0049】
次に、S4のデコード処理について説明する。S4のデコード処理は、例えば図5のような流れで行われ、まず、コード領域(矩形領域)をセル単位に分割し、セル位置を特定する処理を行う(S11)。このS11の処理により、コード領域内において各セル位置が特定されることになる。
【0050】
S11の処理の後には、S11で特定された全セルの内の未選択となっているいずれかのセルを選択する処理を行う。本実施形態では、コード領域を構成する各セルに対してS13、S14の処理が行われるようになっており、このS12の処理では、S13、S14の処理が未だ行われていないいずれかのセルを選択することになる。
【0051】
S12でいずれかのセルが選択された後には、その選択されたセルの色を認識する処理を行う(S13)。S13のセル色認識処理は、例えば図6のような流れで行われ、まず、S12で選択されたセル(現在の着目セル)に近いK個のパターンを選択する処理を行う(S21)。このKの値は、様々とすることができ、二次元コード内に存在する色参照パターンの数(図2の例では「9」)としても良く、二次元コード内に存在する色参照パターンの数よりも小さい値としてもよい。例えば、図2のような二次元コード100を読み取る場合、Kの値が「4」であれば、全色参照パターン110〜190の内、S12で選択されたセルに近いものから順に4つ選択することになる。
【0052】
S21において、現在着目しているセル(S12で選択されたセル)に近いK個の色参照パターンが選択された後には、そのK個の中から未処理のいずれかの色参照パターンを選択する(S22)。本実施形態では、S21で選択された各色参照パターンに対してS23、S24の処理が行われるようになっており、S22では、未だS23、S24の処理が行われていない色参照パターンを選択することになる。
【0053】
S22においていずれかの色参照パターンが選択された後には、その選択された色参照パターンまでの距離を算出すると共にメモリ35に記憶し(S23)、更に、その色参照パターンの各セルの色成分を取得する処理を行う(S24)。
【0054】
例えば、現在着目しているセル(S12で選択されたセル)が図2に示すセルC1であり、S22で選択された色参照パターンが、色参照パターン110である場合には、まず、S23においてセルC1から色参照パターン110までの距離を算出すると共にメモリ35に記憶する。この距離の算出については、ユークリッド距離やマンハッタン距離等の公知の様々な方法を採用できる。更に、S24において、色参照パターン110の各セル110a〜110iの色成分を取得する。具体的には、各色のセル110a〜110iについて、それぞれR成分値、G成分値、B成分値を求め、メモリ35に記憶する。なお、図3のようにいずれかの色(図3では白色)のセルが複数ある場合、その色については、それら複数の内のいずれかのセルのみによって各成分値を取得してもよく、複数のセルにおける各成分の平均値を求めてもよい。このような処理を行うことにより、現在着目している色参照パターンについて図8(a)のようなデータが得られる。
【0055】
図24の処理の後には、K個目の色参照パターンについてのS23、S24の処理が終了したか否か(即ち、S21で選択されたK個全ての色参照パターンについてS23、S24の処理が終了したか否か)を判断し(S25)、終了した場合にはS25にてYesに進み、基準作成処理を行う(S26)。一方、K番目の色参照パターンまで終わっていない場合には、S25にてNoに進み、残っているいずれかの色参照パターンについてS22以降の処理を繰り返し、その色参照パターンに基づいて図8(b)のようなデータを取得する。このような処理をK個全ての色参照パターンについて繰り返し、K個全ての色参照パターンについて処理が終わると、図8(a)(b)のようなデータがK個の色参照パターン全てについて得られることになる。
【0056】
次に、S26の基準作成処理について説明する。S26の基準作成処理は、例えば図7のような流れで行われる。この処理では、まず、S21で選択されたK個の色参照パターンの中から、未選択の色参照パターンをいずれか一つ選択する(S31)。本実施形態では、S21で選択されたK個の色参照パターン全てに対してS32〜S36の処理が行われるようになっており、S31の処理では、S21で選択されたK個の中から未だS33〜S36の処理が行われていないいずれかの色参照パターンを選択することになる。
【0057】
S31の処理の後には、S31で選択された色参照パターンにおいて、未選択のいずれかの色を一つ選択する(S32)。本実施形態では、S31で選択された色参照パターンの全ての色に対してS33〜S36の処理が行われるようになっており、S32の処理では、S31で選択された色参照パターンにおける全ての色の中から未だS33〜S36の処理が行われていないいずれかの色を選択することになる。
【0058】
そして、S31で選択された色参照パターンにおけるS32で選択された色についてのデータ(図6のS21〜S25の処理で生成された各成分値)を参照し、当該データにおけるR成分値、G成分値、B成分値が基準内に収まっているか否かを判断する(S33)。
【0059】
S33の判断処理を行うための基準範囲は、予め固定値として定められていてもよく、S33よりも前の所定時期に算出、設定処理を行うようにしもよい。予め固定値として定めておく場合、想定される各色毎に、R成分値、G成分値、B成分値の各基準範囲を図9のように固定範囲として定めておけばよい。図9の例では、例えば黒色セルについては、R成分の基準範囲をRbmin以上、Rbmax未満と定め、G成分の基準範囲をGbmin以上、Gbmax未満と定め、B成分の基準範囲をBbmin以上、Bbmax未満と定めており、他の色のセルについても、R成分、G成分、B成分のそれぞれの基準範囲が定められている。
【0060】
また、S3よりも前の所定時期に基準範囲を算出、設定する場合、二次元コード100に設けられた9つの色参照パターン110〜190の一部又は全部の色参照パターンの色情報に基づいて基準範囲を定めるようにすればよい。具体的には、例えば、図6のS25において、Yesに進んだ後、S26の基準作成処理を行う前に、S21〜S25の処理で得られたデータに基づいて、各色の各成分値についての基準範囲を設定する基準範囲設定処理を行うようにすればよい。
【0061】
この例としては、まず、S21で選択されたK個の色参照パターンのデータに基づき各色の各成分値の平均値を求める。例えば、S21〜S25の処理により、K個の色参照パターンの各黒色セルに基づいて、K個のR成分値、K個のG成分値、K個のB成分値が得られているため、これらK個のR成分値、K個のG成分値、K個のB成分値のそれぞれの平均値Rbave、Rgave、Bbaveを求める。同様に、S21〜S25の処理により、K個の色参照パターンの各白色セルに基づいて、K個のR成分値、K個のG成分値、K個のB成分値が得られているため、これらK個のR成分値、K個のG成分値、K個のB成分値のそれぞれの平均値Rwave、Rwave、Bwaveを求める。他の色についても、同様であり、図10(a)のように、K個の色参照パターンの各色毎に、R成分値の平均値、G成分値の平均値、B成分値の平均値を求める。
【0062】
そして、図10(a)のように得られた各色の各成分平均値に基づいて、各色の各成分についての基準範囲(基準値)を設定する。基準範囲の設定方法は様々に考えられるが、図10(b)の例では、各色の各成分平均値のプラスマイナス一定範囲を、各色の各成分についての基準範囲として設定している。例えば、黒色セルのR成分については、K個の黒色セルのR成分平均値Rbaveを中央値として、「Rbave−α以上、Rbave+α未満」の範囲を基準範囲(基準値)としている。また、黒色セルのG成分、B成分についても同様に基準範囲が設定され、他の色のR成分、G成分、B成分についても同様に準範囲が設定される。なお、この例では、図10(b)に示す各色の各成分についての基準範囲が「汚れを判断するための基準値」の一例に相当する。
【0063】
図7のS33では、図9或いは10(b)のように設定された基準範囲に基づいて、着目している色参照パターン(S31で選択された色参照パターン)の着目色(S32で選択された色)の各成分値が基準内に収まっているか否かを判断する。
【0064】
例えば、図10(b)のような基準範囲が定められており、S31において、図8(a)のような色参照パターンK1が選択され、S32において、黒色が選択された場合には、当該色参照パターンK1の黒色セルのR成分値Rb1がRbave−α以上Rbave+α未満の範囲に収まっているか否か、G成分値Gb1がGbave−α以上Gbave+α未満の範囲に収まっているか否か、B成分値Bb1がBbave−α以上Bbave+α未満の範囲に収まっているか否かを判断する。いずれの成分値Rb1、Gb1、Bb1も基準範囲に収まっていれば、当該色参照パターンK1の黒色セルについては基準内に収まっていると判断し、S33にてYesに進むことになる。一方、成分値Rb1、Gb1、Bb1のいずれか一つでも基準範囲内に収まっていない場合には、当該色参照パターンK1の黒色セルについては基準内に収まっていないと判断し、S33にてNoに進むことになる。
【0065】
S33にてYesに進む場合、重み付け値を算出する処理を行う(S34)。
本実施形態では、図6のS23の処理において、色認識(色判別)を行おうとする着目セル画像(即ち、S12で選択されたセル)から複数の色参照パターン(S21で選択されたK個の色参照パターン)それぞれまでの距離を算出しており、図7のS34では、色参照パターン毎に、セル画像からの距離に応じた重み付けを算出している。重み付けは例えば以下の数1によって算出される。
【0066】
【数1】
【0067】
数1において、Wnは、着目しているn番目の色参照パターンの重みを示す値である。また、Lnは、色認識を行おうとするセル(図5のS12で選択されたセル)から着目しているn番目の色参照パターンまでの距離である。また、Lmaxは、S21で選択されたK個の色参照パターンの内の、色認識を行おうとするセル(図5のS12で選択されたセル)から最も遠い色参照パターンまでの距離である。
【0068】
例えば、図11のように、セルC1が色認識を行うセルであり、図6のS21においてこのセルC1の近くの4つの色参照パターン110、120、180、190が選択された場合、S31で色参照パターン110が選択されたときにS34で算出される重み付け値は、L4/L1となる。同様に、S31で色参照パターン120が選択されたときにS34で算出される重み付け値は、L4/L2となり、S31で色参照パターン180が選択されたときにS34で算出される重み付け値は、L4/L3となり、S31で色参照パターン190が選択されたときにS34で算出される重み付け値は、L4/L4となる。このように、着目セルC1に近い色参照パターンほど重み付け値が大きくなるように重み付けされる。
【0069】
一方、S33にてNoに進む場合には、着目している色参照パターンの着目色についての重み付けを「0」に設定する。この場合、S31で選択された色参照パターンにおけるS32で選択された色の各成分値は、基準作成に反映されない。
【0070】
S34の処理の後又はS35の処理の後には、S32で選択された着目色の各成分値に
対して、S34又はS35で設定された重み付け値を掛け合わせた値を算出する(S36)。例えば、図11に示すようなケースにおいて、S31にて色参照パターン110が選択され、S32で黒色セルが選択されたとき、色参照パターン110の各色の各成分値が図8(a)のような場合には、S33にてYesに進むときには(即ち、黒色セルの各成分値が基準内に収まっているときには)、黒色セルの各成分値Rb1,Gb1,Bb1に対してS34で算出された重みL4/L1をそれぞれ掛け合わせ、それら乗算値「Rb1×L4/L1」、「Gb1×L4/L1」「Bb1×L4/L1」を取得する。なお、S33にてNoに進む場合には、黒色セルの各成分値Rb1,Gb1,Bb1に対し「0」を掛け合わせるため、各成分の乗算値は全て0となる。
【0071】
S36にて上記乗算値を取得した後には、着目している色参照パターン(S31で選択された色参照パターン)のすべての色についてS33〜S36の処理を行った否かを判断し(S37)、S33〜S36の処理を行っていない色が残っている場合にはS37にてNoに進み、その残っている色の中からいずれかの色を選択し(S32)、S33以降の処理を繰り返す。着目している色参照パターン(S31で選択された色参照パターン)のすべての色についてS33〜S36の処理を行った場合には、S37にてYesに進み、S21で選択されたK個全ての色参照パターンについてS32〜S37の処理を行ったか否かを判断する(S38)。S21で選択されたK個の色参照パターンの中で、S32〜S37の処理を行っていない色参照パターンが残っている場合には、S38にてNoに進み、その残っている色参照パターンの中からいずれかの色参照パターンを選択し(S31)、S32〜S37の処理を繰り返す。
【0072】
S21で選択されたK個の色参照パターン全てについてS32〜S37の処理を行った場合には、S38にてYesに進み、各色について成分毎の基準データ(セル別基準データ)を算出する処理を行う。この処理では、各色の各成分毎に、S36で算出された乗算値の総和とS34、S35で算出された重み付けの総和とを求めると共に乗算値の総和を重み付けの総和で割った値を求め、これを各色の各成分についての基準データとする。例えば、黒色セルについての各成分毎の基準データを生成する場合、まず、各色参照パターンの各黒色セルに対して行われたS34又はS35の算出結果をすべて加算することで、黒色セルについての重み付け値の総和を求める。また、各色参照パターンの各黒色セルに対して行われたS36の処理の算出結果を、R成分毎、G成分毎、B成分毎に、それぞれすべて加算することで、黒色セルのR成分についての乗算値の総和、黒色セルのG成分についての乗算値の総和、黒色セルのB成分についての乗算値の総和をそれぞれ求める。そして、黒色セルのR成分について得られた乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのR成分の基準データを得ることができる。同様に、黒色セルのG成分についての乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのG成分の基準データを得ることができ、黒色セルのB成分についての乗算値の総和を、黒色セルについての重み付け値の総和で割ることで、黒色セルのB成分の基準データを得ることができる。なお、他の色についても同様の方法で各成分の基準データを取得することができる。
【0073】
次に、図11を参照し、基準データの具体的算出例を説明する。なお、以下では、赤色セルについてのR成分基準データ、G成分基準データ、B成分基準データを算出する方法を代表例として説明する。なお、図11では、セルC1についてのセル色認識処理(S13)に際し、S21において4つの色参照パターン110、120、180、190が選択された例を示しており、これら各色参照パターン110、120、180、190の各赤色セルから検出されたR成分値、B成分値、B成分値を、それぞれの色参照パターン近傍に例示している。また、以下の説明では、色認識を行おうとする着目セルC1から各色参照パターン110、120、180、190までの距離L1、L2、L3,L4を、それぞれL1=30、L2=60、L3=80、L4=120としている。また、以下では、赤色セルについての、R成分基準範囲、G成分基準範囲、B成分基準範囲がそれぞれ、「150以上」「130未満」「130未満」と設定されたものとして説明する。
【0074】
図11の例では、図7のS31で色参照パターン110が選択され、S32で赤色セルが選択されたとき、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L1=120/30=4として算出される。また、S31で色参照パターン120が選択され、S32で赤色セルが選択されたときにも、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L2=120/60=2として算出される。一方、S31で色参照パターン180が選択され、S32で赤色セルが選択されたときには、当該赤色セルのB成分値が基準範囲内に収まっていないため、S33にてNoに進むことになる。この場合には、重み付け値は0となる。一方、S31で色参照パターン190が選択され、S32で赤色セルが選択されたときには、当該赤色セルの各成分値が全て基準範囲内に収まっているため、S33にてYesに進むことになる。そして、S34では、重み付け値がL4/L4=120/120=1として算出される。この場合、赤色セルについての重み付け値の総和は4+2+0+1=7となる。
【0075】
また、図7のS31で色参照パターン110が選択され、S32で赤色セルが選択される場合には、上述したように、S34において重み付け値「4」が得られるため、S36では、色参照パターン110のR成分値「200」、G成分値「100」、B成分値「80」にそれぞれ「4」が掛け合わされ、R成分乗算値「200×4」、G成分乗算値「100×4」、B成分乗算値「80×4」が得られる。同様に、図7のS31で色参照パターン120が選択され、S32で赤色セルが選択される場合には、色参照パターン120についてのR成分乗算値「210×2」、G成分乗算値「60×2」、B成分乗算値「70×2」が得られる。また、図7のS31で色参照パターン190が選択され、S32で赤色セルが選択される場合には、色参照パターン190についてのR成分乗算値「220×1」、G成分乗算値「80×1」、B成分乗算値「80×1」が得られる。なお、図7のS31で色参照パターン180が選択され、S32で赤色セルが選択される場合には、S33にてNoに進むため、色参照パターン180についてのR成分乗算値、G成分乗算値、B成分乗算値はいずれも「0」となる。
【0076】
赤色セルのR成分基準データは、色参照パターン110、120、180、190のR成分乗算値の総和(200×4+210×2+220×1=1440)を、上記重み付け値の総和「7」で割った値であり、この場合「206」と定められる。同様に、赤色セルのG成分基準データは、色参照パターン110、120、180、190のG成分乗算値の総和(100×4+60×2+80×1=600)を、上記重み付け値の総和「7」で割った値であり、この場合「86」と定められる。また、赤色セルのB成分基準データは、色参照パターン110、120、180、190のR成分乗算値の総和(80×4+70×2+80×1=540)を、上記重み付け値の総和「7」で割った値であり、この場合「77」と定められる。
【0077】
上記のように各色の各成分についての基準データ(セル別基準データ)が算出された後には、図6のS27においてセル色を特定する処理を行う。この処理では、例えば、色認識を行おうとするセル(即ち、図5のS12で選択されたセル)のR成分値、G成分値、B成分値を、図7のS39で生成された各色の基準データ(R成分基準データ、G成分基準データ、B成分基準データ)と比較し、基準データの各成分値が着目セルのR成分値、G成分値、B成分値と最も近い色を当該着目セルの色とすることができる。この「最も近い」点についての判断方法は様々に考えられるが、例えば、各色毎に、R成分基準データ、G成分基準データ、B成分基準データのそれぞれと、着目セルのR成分値、G成分値、B成分値それぞれとの差を求めると共にそれら差の絶対値の総和を求めるようにすればよい。この場合、差の絶対値の総和が小さい色を着目セルの色とすることができる。
【0078】
図6のセル色認識処理が終わった後には、その着目セルの色(S27で特定された色)を当該色に対応付けられたデータに変換する(S14)。そして、全てのセルについてS13、S14の処理が行われたか否かを判断し、S11で特定された全セルにおいて、S13、S14の処理が行われていないセルが残っている場合には、S15に進み、S12においてその残っているセルのいずれかを選択してS13、S14の処理を繰り返す。このS13の処理では、S12にて新たに着目されたセルに対応する色参照パターン選択処理(S21)、基準作成処理(S26)等が行われることになる。なお、S11で特定された全てのセルについてS13、S14の処理が行われた場合には、S15にてYesに進み、公知の誤り訂正処理(S16)を行った後、デコード処理を終了する。
【0079】
なお、本実施形態では、図4〜図7の処理を実行する制御回路40が、「色判別手段」の一例に相当し、受光センサ23(撮像手段)によって撮像された二次元コード100のコード画像において、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別するように機能する。
【0080】
また、S26の処理を行い得る制御回路40は、「設定手段」の一例に相当し、各セル画像の表示色を判別する際の、各色参照パターンの各々の「寄与度合」を、各セル画像毎に設定するように機能する。
【0081】
また、S21、S33の処理を行い得る制御回路40は、「選択手段」の一例に相当し、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択するように機能する。
【0082】
また、S33の処理を行い得る制御回路40は、「判断手段」の一例に相当し、各色参照パターンのいずれかのセルに汚れが生じているか否かを判断するように機能する。
【0083】
また、「色判別手段」に相当する制御回路40は、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成し(S39:図7)、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と各セル画像に対応するセル別基準データ(S39で生成された基準データ)とに基づいて判別するように機能している。具体的には、各セル画像の色判別に用いる「セル別基準データ」を、上記「選択手段」によって各セル画像毎に選択された基準パターンに基づいてそれぞれ生成するように機能している。また、上記「選択手段」によって選択された基準パターンにおいて、いずれかのセルに汚れが生じている場合、その汚れが生じている基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成するように機能している。
【0084】
(本実施形態の主な効果)
本実施形態に係る二次元コード読取装置1では、各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、各セル画像毎に設定しており、複数の色参照パターンの各画像からそれぞれ得られる色情報と、各セル画像毎に設定される寄与度合とに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。そして、各セル画像の表示色を、各セル画像から得られる色情報(各成分値)と各セル画像に対応するセル別基準データとに基づいて判別している。このようにすると、各セル画像毎に色判別に用いる基準データ(セル別基準データ)を定めることができ、各セルの色判定を精度高く適切に行いやすくなる。
【0085】
また、各セル画像毎の設定において、セル画像から複数の色参照パターンそれぞれまでの距離を算出し、各色参照パターン毎に、セル画像からの距離に応じた重み付けをして寄与度合をそれぞれ設定している。このようにすると、各セル画像の基準データ(セル別基準データ)を設定する際に、各色参照パターンまでの距離を適切に考慮して、各色参照パターンの寄与度合を定めることができ、より近い距離の色参照パターンを重視した適切な基準設定が可能となる。
【0086】
また、各セル画像毎に、複数の色参照パターンの中から色判別に寄与させる基準パターンを選択しており、その選択された基準パターンに基づいて、各セル画像の色判別に用いるセル別基準データを生成している。このようにすると、各セル画像の判別に用いるセル別基準データを、それぞれ、寄与させるべき色参照パターンによって生成することができ、寄与させるべきでない色参照パターンを排除した適切な基準設定が可能となる。
【0087】
具体的には図6のS21に示すように、各セル画像の色判別に寄与させる基準パターンを、複数の色参照パターンの中から各セル画像からの距離に基づいて選択している。このようにすると、寄与させるべきでない遠い距離にある色参照パターンを排除して、各セル画像の判別に用いる基準データ(セル別基準データ)を生成することができ、一層適切な基準設定が可能となる。
【0088】
また、上記実施形態では、S21で選択された色参照パターン(基準パターン)において、いずれかのセルに汚れが生じている場合、その汚れが生じている基準バターンについては、汚損セルを除いた部分の色情報をセル別基準データに反映させている。このようにすると、寄与させるべき基準パターンを反映させつつ汚損セルの影響を排除してセル別基準データを生成することができる。従って、各セル画像の基準設定に際し、適切な色参照パターン(基準パターン)の適切な部分のみを選択的に取り入れ、より望ましいセル別基準データを生成することができる。
【0089】
また、汚れを判断するための固定値(図9のような各基準範囲)を予めメモリ35(記憶手段)に記憶する方式を用いる場合、各色参照パターンの画像から得られる色情報(各色の各成分値)を固定値と比較することで、各色参照パターンに汚れが生じているか否かを判断することができる。このようにすると、各色参照パターンに汚れが生じているか否かを簡易な構成で適切に判断できるようになる。
【0090】
また、二次元コード内に存在する一部の色参照パターンの色情報に基づいて汚れを判断するための基準値を生成する方式を用いる場合、各色参照パターンの画像から得られる色情報(各色の各成分値)を基準値と比較(例えば、図10(a)のような平均値に基づいて定められる基準範囲(図10(b))と比較)することで、各色参照パターンに汚れが生じているか否かを判断することができる。このようにすると、二次元コード内の色参照パターンの色情報に基づいて、各色参照パターンの汚れを相対的に判断することができ、読取環境が多様に変化しても汚れを適切に判断できる。
【0091】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0092】
上記実施形態では、読取対象となる二次元コード100において、3行3列で構成され8色のセルを有する色参照パターンが設けられた例を示したが、色参照パターンの構成はこれに限定されず、他の色参照パターンであっても本発明を同様に適用できる。例えば、図12(a)のような2行2列の3色の色参照パターンが用いられていてもよく、図12(b)のように、4行4列の16色の色参照パターンが用いられていてもよい。
【0093】
上記実施形態では、基準作成に際し、着目するセル近傍の4つの色参照パターンを用いる例を示したが、この方法に限定されない。例えば、図13のように着目するセル近傍の3つの色参照パターンを基準作成に用いるようにしてもよく、各セルの基準作成に際し、二次元コード内の全ての色参照パターンを用いるようにしてもよい。
【0094】
上記実施形態では、S21で選択された色参照パターン(基準パターン)において、いずれかのセルに汚れが生じている場合、基準パターンにおけるその汚損セルを除いた部分の色情報に基づいてセル別基準データを生成していたが、いずれかのセルに汚れが生じている場合、その色参照パターン全体を排除するようにしてもよい。この場合、図7の処理において、S35を省略し、S33にてNoに進む場合には、着目している色参照パターンを選択対象(基準パターン)から除外する処理を行い、S31の処理に戻るように基準作成処理を変更すればよい。このようにすると、汚れが生じている色参照パターンを除いてセル別基準データを生成することができるため、汚れの影響を排除した精度の高い色判別が可能となる。
【0095】
上記実施形態では、二次元コード内の一部の色参照パターン(S21で選択される色参照パターン)に基づいて、図10(a)のような平均値を求め、図10(b)のような基準範囲を設定する例を説明したが、二次元コード内の全部の色参照パターンに基づいて図10(a)のような平均値を求め、図10(b)のような基準範囲を設定するようにしてもよい。
【符号の説明】
【0096】
1…二次元コード読取装置
23…受光センサ(撮像手段)
35…メモリ(記憶手段)
40…制御回路(色判別手段,設定手段,選択手段,判断手段)
100…二次元コード
110,120,130,140,150,160,170,180,190…色参照パターン
C…セル
【特許請求の範囲】
【請求項1】
複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読取可能な二次元コード読取装置であって、
前記二次元コードを撮像する撮像手段と、
前記撮像手段によって撮像された前記二次元コードのコード画像において、各セル画像の表示色を、前記各セル画像から得られる色情報と前記色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段と、
前記各セル画像の前記表示色を判別する際の各色参照パターンの各々の寄与度合を、前記各セル画像毎に設定する設定手段と、
を備え、
前記色判別手段は、
複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、
前記各セル画像の前記表示色を、前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて判別することを特徴とする二次元コード読取装置。
【請求項2】
前記設定手段は、
前記各セル画像毎の設定において、
前記セル画像から複数の前記色参照パターンそれぞれまでの距離を算出し、
前記各色参照パターン毎に、前記セル画像からの前記距離に応じた重み付けをして前記寄与度合をそれぞれ設定することを特徴とする請求項1に記載の二次元コード読取装置。
【請求項3】
前記設定手段は、前記各セル画像毎に、複数の前記色参照パターンの中から色判別に寄与させる基準パターンを選択する選択手段を備え、
前記色判別手段は、前記各セル画像の色判別に用いる前記セル別基準データを、前記選択手段によって前記各セル画像毎に選択された前記基準パターンに基づいてそれぞれ生成することを特徴とする請求項1又は請求項2に記載の二次元コード読取装置。
【請求項4】
前記選択手段は、前記各セル画像毎に、前記各セル画像の色判別に寄与させる前記基準パターンを、複数の前記色参照パターンの中から前記各セル画像からの距離に基づいて選択することを特徴とする請求項2に記載の二次元コード読取装置。
【請求項5】
前記選択手段は、
前記色参照パターンに汚れが生じているか否かを判断する判断手段を備え、
複数の前記色参照パターンの内の前記判断手段によって汚れが生じていないと判断されたパターンを前記基準パターンとして選択することを特徴とする請求項3又は請求項4に記載の二次元コード読取装置。
【請求項6】
各色参照パターンのいずれかのセルに汚れが生じているか否かを判断する判断手段を備え、
前記色判別手段は、前記選択手段によって選択された前記基準パターンにおいて、いずれかのセルに汚れが生じている場合、前記基準パターンにおけるその汚損セルを除いた部分の色情報に基づいて前記セル別基準データを生成することを特徴とする請求項3又は請求項4に記載の二次元コード読取装置。
【請求項7】
前記汚れを判断するための固定値が予め記憶手段に記憶されており、
前記判断手段は、各色参照パターンの画像から得られる色情報を前記固定値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴とする請求項5又は請求項6に記載の二次元コード読取装置。
【請求項8】
前記判断手段は、
前記二次元コード内に存在する一部又は全部の前記色参照パターンの色情報に基づいて前記汚れを判断するための基準値を生成し、
各色参照パターンの画像から得られる色情報を前記基準値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴とする請求項5又は請求項6に記載の二次元コード読取装置。
【請求項9】
複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読み取る読取方法であって、
撮像手段によって前記二次元コードを撮像し、
前記撮像手段によって撮像された前記二次元コードのコード画像を記憶手段に記憶し、 前記コード画像を構成する各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、設定手段によって前記各セル画像毎に設定し、
更に、色判別手段により、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、且つ前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて前記各セル画像の前記表示色を判別することを特徴とする二次元コードの読取方法。
【請求項1】
複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読取可能な二次元コード読取装置であって、
前記二次元コードを撮像する撮像手段と、
前記撮像手段によって撮像された前記二次元コードのコード画像において、各セル画像の表示色を、前記各セル画像から得られる色情報と前記色参照パターンの画像から得られる色情報とに基づいてそれぞれ判別する色判別手段と、
前記各セル画像の前記表示色を判別する際の各色参照パターンの各々の寄与度合を、前記各セル画像毎に設定する設定手段と、
を備え、
前記色判別手段は、
複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、
前記各セル画像の前記表示色を、前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて判別することを特徴とする二次元コード読取装置。
【請求項2】
前記設定手段は、
前記各セル画像毎の設定において、
前記セル画像から複数の前記色参照パターンそれぞれまでの距離を算出し、
前記各色参照パターン毎に、前記セル画像からの前記距離に応じた重み付けをして前記寄与度合をそれぞれ設定することを特徴とする請求項1に記載の二次元コード読取装置。
【請求項3】
前記設定手段は、前記各セル画像毎に、複数の前記色参照パターンの中から色判別に寄与させる基準パターンを選択する選択手段を備え、
前記色判別手段は、前記各セル画像の色判別に用いる前記セル別基準データを、前記選択手段によって前記各セル画像毎に選択された前記基準パターンに基づいてそれぞれ生成することを特徴とする請求項1又は請求項2に記載の二次元コード読取装置。
【請求項4】
前記選択手段は、前記各セル画像毎に、前記各セル画像の色判別に寄与させる前記基準パターンを、複数の前記色参照パターンの中から前記各セル画像からの距離に基づいて選択することを特徴とする請求項2に記載の二次元コード読取装置。
【請求項5】
前記選択手段は、
前記色参照パターンに汚れが生じているか否かを判断する判断手段を備え、
複数の前記色参照パターンの内の前記判断手段によって汚れが生じていないと判断されたパターンを前記基準パターンとして選択することを特徴とする請求項3又は請求項4に記載の二次元コード読取装置。
【請求項6】
各色参照パターンのいずれかのセルに汚れが生じているか否かを判断する判断手段を備え、
前記色判別手段は、前記選択手段によって選択された前記基準パターンにおいて、いずれかのセルに汚れが生じている場合、前記基準パターンにおけるその汚損セルを除いた部分の色情報に基づいて前記セル別基準データを生成することを特徴とする請求項3又は請求項4に記載の二次元コード読取装置。
【請求項7】
前記汚れを判断するための固定値が予め記憶手段に記憶されており、
前記判断手段は、各色参照パターンの画像から得られる色情報を前記固定値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴とする請求項5又は請求項6に記載の二次元コード読取装置。
【請求項8】
前記判断手段は、
前記二次元コード内に存在する一部又は全部の前記色参照パターンの色情報に基づいて前記汚れを判断するための基準値を生成し、
各色参照パターンの画像から得られる色情報を前記基準値と比較することで、前記各色参照パターンに前記汚れが生じているか否かを判断することを特徴とする請求項5又は請求項6に記載の二次元コード読取装置。
【請求項9】
複数のセルが矩形領域内に二次元的に配置されると共に、各々のセルの色彩又は濃度又は輝度により符号化された情報がカラー表現され、且つ前記矩形領域内に各セルに使用するセル表示色の基準となる色参照パターンが複数設けられた二次元コードを読み取る読取方法であって、
撮像手段によって前記二次元コードを撮像し、
前記撮像手段によって撮像された前記二次元コードのコード画像を記憶手段に記憶し、 前記コード画像を構成する各セル画像の表示色を判別する際の各色参照パターンの各々の寄与度合を、設定手段によって前記各セル画像毎に設定し、
更に、色判別手段により、複数の前記色参照パターンの各画像からそれぞれ得られる色情報と、前記各セル画像毎に設定される前記寄与度合とに基づいて、前記各セル画像の色判別に用いるセル別基準データを生成し、且つ前記各セル画像から得られる色情報と前記各セル画像に対応する前記セル別基準データとに基づいて前記各セル画像の前記表示色を判別することを特徴とする二次元コードの読取方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−271812(P2010−271812A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2009−121672(P2009−121672)
【出願日】平成21年5月20日(2009.5.20)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願日】平成21年5月20日(2009.5.20)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]