二次元コード読取装置、二次元コード生成装置、及び二次元コード
【課題】二次元コード内の情報を有効利用できるようにしつつ、作業者により当該二次元コードに新たな記入を行い得るようにし、更に、その新たな記入に対応した付加情報を利用できるようにする。
【解決手段】二次元コード読取装置は、所定の記入領域が設けられた二次元コードを読取対象としている。この二次元コードは、記入領域内に記入がなされた後に誤り検出が行われると、所定の誤り情報が確認されるようになっている。二次元コード読取装置は、このような二次元コードを読み取ると共に、その読み取りの際に、所定の誤り情報が発生しているか否かを確認している。そして、所定の誤り情報が確認された場合には、通常のデコード結果に加え、所定の誤り情報に対応した付加情報を出力する。
【解決手段】二次元コード読取装置は、所定の記入領域が設けられた二次元コードを読取対象としている。この二次元コードは、記入領域内に記入がなされた後に誤り検出が行われると、所定の誤り情報が確認されるようになっている。二次元コード読取装置は、このような二次元コードを読み取ると共に、その読み取りの際に、所定の誤り情報が発生しているか否かを確認している。そして、所定の誤り情報が確認された場合には、通常のデコード結果に加え、所定の誤り情報に対応した付加情報を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元コード読取装置、二次元コード生成装置、及び二次元コードに関するものである。
【背景技術】
【0002】
現在、様々な物品の製造現場において製品管理を好適に行うべく二次元コードが広く用いられている。製造現場などで二次元コードを利用する方法は様々に考えられるが、その一例としては、製品番号などをコード化して製品に貼り付けておき、各種工程で自動読み取りするといった方法が挙げられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】2005−284800公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
製造現場などで二次元コードを利用する具体的方法としては、例えば、製品テスト等においてテスト合格品と不合格品とが生じうる場合に、不合格品に付される二次元コードについてペン等によって印(例えばある程度の部分を塗り潰す等)を付けるようにし、当該二次元コードが正常に読み取られないようにしておく方法が考えられる。このようにしておくと、後に合格品と不合格品とを選別する際に、二次元コードを正常に読み取ることができるものを合格品とし、正常に読み取ることができないものを不合格品として選別できるようになる。
【0005】
しかしながら、上記のように二次元コードを完全に読み取ることができないようにすると、二次元コードに含まれる情報を利用できなくなるという問題がある。例えば、上記のようにペン等で印をつけて合格品と不合格品との選別を行う場合、読取不良が生じたものを不合格品であると認識することはできるが、この場合、二次元コードに含まれる製品番号等のデータは利用できなくなっているため、不合格品と判断されたものと二次元コードに含まれるデータ(製品番号等)との対応付けができなくなってしまう。即ち、二次元コードを読み取っても、不合格品と判断されたものがどの種別の製品であるか等を把握することができず、各種管理を円滑に行いにくくなるという問題がある。
【0006】
このような問題を解消する方法としては、例えば、不合格品については新たな二次元コードを貼り付けるといった方法が考えられるが、この方法を用いると、別途二次元コードを生成し貼り付ける必要があるため工数や装置を増やさなければならないという問題があり、また、製品に別途貼り付けスペースを確保しておかなければならないという問題もある。
【0007】
なお、本発明に関連する技術としては例えば特許文献1のようなものが挙げられる。しかしながら、特許文献1の技術は、誤り検出状態に基づいて二次元コードの読取可否を報知しようとするものであり、二次元コード内の情報を有効利用しつつ二次元コードに別途付加される記載によって新たな情報を発生させようとする上記問題を解決しうるものではない。
【0008】
本発明は、上述した課題を解決するためになされたものであり、二次元コード内の情報を有効利用できるようにしつつ、作業者により当該二次元コードに新たな記入を行い得るようにし、更に、その新たな記入に対応した付加情報を利用できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、請求項1の発明は、誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
本発明の「二次元コード」としては、例えばQRコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有する二次元コードであればこれら以外であってもよい。
「所定の記入領域」としては、予め目印が付された領域であってもよく、目印が付されていない領域(例えば、読取装置などによって記入領域を特定する構成)であってもよい。
【0010】
請求項2の発明は、請求項1に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする。
【0011】
請求項3の発明は、請求項1又は請求項2に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする。
【0012】
請求項4の発明は、請求項1から請求項3のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【0013】
請求項5の発明は、請求項1から請求項3のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【0014】
請求項6の発明は、請求項1から請求項5のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対して照明光を発する照明手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする。
【0015】
請求項7の発明は、請求項1から請求項6のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする。
【0016】
請求項8の発明は、請求項1から請求項7のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【0017】
請求項9の発明は、請求項1から請求項7のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【0018】
請求項10の発明は、請求項1から請求項9のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする。
【0019】
請求項11の発明は、請求項1から請求項10のいずれかに記載の二次元コード読取装置において、更に、前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に前記記入領域に記入された記号を認識する認識手段が設けられている。そして、前記デコード手段は、前記認識手段によって前記記号が認識された場合に、その認識記号に対応する対応情報を前記付加情報として出力している。
【0020】
請求項12の発明は、請求項11に記載の二次元コード読取装置において、
読取対象となる前記二次元コードが、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、前記認識手段が、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識している。
【0021】
請求項13の発明は、請求項12に記載の二次元コード読取装置において、
前記誤り状態検出手段が、前記二次元コードの誤り率が第1の誤り率以上となっている状態を前記所定の誤り状態として検出している。そして、前記認識手段は、前記二次元コードの誤り率が、前記第1の誤り率以上であり、且つ前記第1の誤り率よりも大きい第2の誤り率以下である場合に、前記記号を認識する処理を行い、前記二次元コードの誤り率が、前記第2の誤り率よりも大きい場合には、前記記号を認識する処理を行わないように構成されている。
【0022】
請求項14の発明は、請求項11に記載の二次元コード読取装置において、
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された前記記号を認識している。
【0023】
請求項15の発明は、請求項11から請求項14のいずれか一項に記載の二次元コード読取装置において、
更に、一又は複数の記号によって構成される登録記号が複数記憶される共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、が設けられている。
そして、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力している。
【0024】
請求項16の発明は、請求項15に記載の二次元コード読取装置であって、
前記登録手段において、各登録記号毎に処理工程データが対応付けられて登録されており、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記認識記号に対応した処理工程データを前記付加情報として出力している。
【0025】
請求項17の発明は、請求項15又は請求項16に記載の二次元コード読取装置において、更に、前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。
【0026】
請求項18の発明は、デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、その記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする。
【0027】
請求項19の発明は、デコードすべきデータをコード化したデータコードブロックと、誤り訂正用のデータをコード化した誤り訂正コードブロックと、を備えた二次元コードであって、コード領域内に所定の記入領域が形成されており、前記記入領域は、当該記入領域内に記入がなされた場合に、その記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする。
【0028】
なお、上記構成要件を用いた以下のシステムを構成することもでき、この場合も請求項1と同様の効果を奏することとなる。
当該システムは、誤り訂正機能を有する二次元コードと、当該二次元コードを読み取る二次元コード読取装置とを用いた読取システムであって、前記二次元コード読取手段は、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
このようなシステムを構成した場合、請求項2から請求項9のいずれか1つ又はいずれか複数の構成を付加してもよい。
【発明の効果】
【0029】
請求項1の発明では、所定の記入領域が設けられると共に、当該記入領域内に記入がなされた後の誤り状態検出手段による誤り状態の検出において所定の誤り情報が確認されるように構成された二次元コードを読取対象としており、当該二次元コードを読み取る際に所定の誤り情報が確認された場合、二次元コードのデコード結果に加え、所定の誤り情報に対応する付加情報を出力するようにしている。このようにすると、ユーザによって記入領域に記入処理が施された場合に、誤り状態検出手段によって「所定の誤り情報」が確認され、デコードの際に「所定の誤り情報」に対応する付加情報が出力されることとなり、二次元コードに元々含まれていた情報以外の付加情報を発生させ利用できるようになる。また、上記のように記入領域内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、二次元コード内に元々含まれていた情報についても有効利用できるようになる。
【0030】
請求項2の発明では、「所定の誤り情報」が、二次元コードの所定位置に誤りが発生したことを示す位置情報を含んだものとされている。このように位置情報によって「所定の誤り情報」か否かを判断するようにすれば、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【0031】
請求項3の発明は、「所定の誤り情報」が、誤り率情報(二次元コードが所定の誤り率となっていることを示す情報)を含んだものとされている。このようにすると、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【0032】
請求項4の発明のように、複数の記入態様を想定した二次元コードを読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【0033】
請求項5の発明のように、記入のバリエーションが多い二次元コードを読取対象とし、得られた対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【0034】
請求項6の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、且つ照明手段により目印と同系色の照明光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色の照明光によって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【0035】
請求項7の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、目印と同系色のマーカ光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【0036】
請求項8の発明は、読取対象となる二次元コードの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させやすい構成を実現できる。
【0037】
請求項9の発明では、記入領域に記入がなされた後の二次元コードの誤り状態と、記入前の誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このように記入前の二次元コードを基準とすれば、様々な種類の二次元コードにおいて「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【0038】
請求項10の発明では、マーカ光照射手段により、記入領域を特定する特定図形を表示するようにしている。このようにすると、二次元コード内に特別な目印があるか否かにかかわらず記入領域を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【0039】
請求項11の発明は、誤り状態検出手段によって所定の誤り情報が確認された場合に記入領域に記入された記号を認識する認識手段が設けられている。そして、デコード手段は、この認識手段によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【0040】
請求項12の発明では、読取対象となる二次元コードが、記入領域内において情報表示単位セルが複数配置されてなるものであり、認識手段は、記入領域に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できる。
【0041】
請求項13の発明は、誤り状態検出手段が、二次元コードの誤り率が第1の誤り率以上となっている状態を所定の誤り状態として検出している。そして、認識手段は、二次元コードの誤り率が、第1の誤り率以上であり、且つ第1の誤り率よりも大きい第2の誤り率以下である場合に、記号を認識する処理を行い、二次元コードの誤り率が、第2の誤り率よりも大きい場合には、記号を認識する処理を行わないように構成されている。このようにすると、「第1の誤り率」を適切に調整することにより、記入領域に何らかの記入がなされたか否かを「第1の誤り率」によって区別することができるようになり、「第2の誤り率」を適切に調整することにより、記入領域に記号が記入された場合と記号以外の記入(塗り潰し等)がなされた場合とを「第2の誤り率」によって区別することができるようになる。そして、二次元コードの誤り率が「第2の誤り率」以上の場合に、記号認識を行わないようにすれば、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【0042】
請求項14の発明は、読取対象となる二次元コードにおいて記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された記号を認識している。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景とを区別しやすく、記入された記号をより正確に認識することができる。
【0043】
請求項15の発明は、登録手段において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、確認手段により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、デコード手段により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ(登録記号別データ)を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号(登録記号)であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【0044】
請求項16の発明は、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号が登録手段に登録されていると確認された場合に、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【0045】
請求項17の発明は、認識記号が登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【0046】
請求項18の発明によれば、請求項1と同様の効果を奏する二次元コード生成装置を実現できる。
【0047】
請求項19の発明によれば、請求項1と同様の効果を奏する二次元コードを実現できる。
【図面の簡単な説明】
【0048】
【図1】図1は、本発明の第1実施形態に係る二次元コード読取装置を概略的に例示するブロック図である。
【図2】図2は、図1の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。
【図3】図3は、図2の二次元コードのコード構成を概念的に説明する説明図である。
【図4】図4は、図1の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図5】図5は、二次元コードが付された読取対象物を例示する説明図であり、(a)は記入領域に記入がなされていない二次元コードが付された状態を説明する説明図であり、(b)は記入領域に記入がなされた二次元コードが付された状態を説明する説明図である。
【図6】図6は、読取対象物に対して目印と同色の照明光を照射する様子を説明する説明図である。
【図7】図7は、第2実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図8】図8は、第3実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図9】図9は図8の二次元コード読取装置で用いられる基準コードを例示する説明図である。
【図10】図10は、第4実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図11】図11(a)は、記入前の二次元コードを例示する説明図であり、図11(b)は、記入後の二次元コードを例示する説明図である。
【図12】図12は、第5実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図13】図13は、二次元コードに対して特定図形を表示する例を説明する説明図である。
【図14】図14は、第6実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図15】図15は、図14の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。
【図16】図16は、図14の解読処理の変更例を示すフローチャートである。
【図17】図17は、第7実施形態の二次元コード読取装置で用いられる二次元コードを例示する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。
【図18】図18は、第8実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。
【図19】図19は、第8実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図20】図20は、二次元コードが付された読取対象物を例示する説明図であり、(a)は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、(b)は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。
【図21】図21は、登録記号別データの一例を概念的に説明する説明図である。
【図22】図22は、第9実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図23】図23は、第8実施形態で用いる二次元コードの別例を説明する説明図である。
【発明を実施するための形態】
【0049】
[第1実施形態]
以下、本発明の二次元コード読取装置を具現化した第1実施形態について図面を参照して説明する。図1は、本発明の第1実施形態に係る二次元コードリーダ20を概略的に例示するブロック図である。
【0050】
図1に示すように、二次元コードリーダ20は、主に、照明光源21、受光センサ28、フィルタ(図示略)、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【0051】
光学系は、照明光源21、受光センサ28、フィルタ(図示略)、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ28を挟んだ両側に照明光源21が設けられており、図略のハウジングの読取口を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には二次元コードQが印刷されている。
【0052】
また、本実施形態では、上記光学系に加え、マーカ光照射部51が設けられている。マーカ光照射部51は読取対象物Rに向けてマーカ光を照射する機能を有するものであり、レーザダイオードと、レンズ手段と、駆動回路とによって構成されている(いずれも図示略)。レーザダイオードは、図1に示す制御回路40からの信号に応じて駆動し、レーザ光からなるマーカ光を出射する構成をなしている。駆動回路は、制御回路40からの指令を受けてレーザダイオードを駆動する公知のレーザダイオード駆動回路によって構成されている。また、レンズ手段は、レーザダイオードにて照射されたマーカ光を集光し、読取対象物表面において読取位置の目印となるパターンを表示させるように機能する。なお、マーカ光照射部51は、「マーカ光照射手段」の一例に相当する。
【0053】
受光センサ28は、読取対象物Rや二次元コードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ28の受光面28aは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ28は、結像レンズ27を介して入射する入射光をこの受光面28aで受光可能に図略のプリント配線板に実装されている。
【0054】
フィルタ(図示略)は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ28に入射することを抑制している。
【0055】
結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ28の受光面28aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源21から照射された照明光Lfが二次元コードQに反射して読取口に入射するようになっており、結像レンズ27はこの反射光Lrを集光し受光センサ28の受光面28aに二次元コードQのコード画像を結像している。
【0056】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された二次元コードQの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該二次元コードリーダ20の全体システムに関する制御も行っている。
【0057】
光学系の受光センサ28から出力される画像信号(アナログ信号)は、増幅回路31に入力されて所定ゲインで増幅された後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されて画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ28およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0058】
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ28等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【0059】
制御回路40は、二次元コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続されるものであり、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等と接続されている。なお、通信インタフェース48には、外部装置として例えば当該二次元コードリーダ20の上位システムに相当するホストコンピュータHST等が接続される。
【0060】
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。
【0061】
次に、二次元コードリーダ20によって読み取られる二次元コードについて説明する。
二次元コードリーダ20によって読み取られる二次元コードQは、誤り訂正機能を有するものであり、例えば、図2(a)のような構成のものが用いられる。図2(a)で例示される二次元コードQは、2−M型のQRコード(登録商標)として構成されており、図3のように、3つの位置検出パターンFP1〜FP3を備えると共に、28のデータコードブロック(D1〜D28)と、16の誤り訂正コードブロック(E1〜E16)を配置し得る構成をなしている。
【0062】
データコードブロック(D1〜D28)は、デコードすべきデータをコード化したブロックであり、例えば製品番号等の各種データがデータコード語によって表され、複数のセルによって表現されている。また、誤り訂正コードブロック12は、誤り訂正用のデータをコード化したブロックである。この誤り訂正コードブロック12を構成する誤り訂正コード語は、データコードブロック(D1〜D28)を構成するデータコード語に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば、JISX0510:2004に規定された誤り訂正コード語の生成方法(JISX0510:2004、8.5誤り訂正)を用いることができる。誤り訂正コードブロック12は、このような方法によって生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。
【0063】
また、図2(a)の二次元コードQは、コード領域内に所定の記入領域が設けられている。図2(a)の例では、コード領域内に矩形枠の目印60が形成されており、この目印60の内部領域が記入領域61として構成されている。なお、図2(a)の例では、記入領域の位置を一点鎖線61にて概念的に示している
【0064】
記入領域61は、二次元コードQを使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印60は、コード領域内において記入領域61の位置を特定する機能を有しており、図2(a)の例では、目印60によって記入領域の外縁が特定されている(即ち、目印60の内部領域全体が記入領域61として構成されている)。
【0065】
上記のように二次元コードQに設けられた記入領域61は、当該記入領域61内に記入がなされた場合に、その記入後の当該二次元コードQの誤り検出において「所定の誤り情報」が確認されるように構成されるものである。具体的には、記入領域61内のデータコードブロックに誤りが存在し、かつ記入領域61外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置20による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。従って、記入領域に記入(例えば作業者によるペンなどを用いた塗り潰し等)がなされ、記入領域61内のデータコードブロックが誤った状態となったとき、読み取りの際の誤り検出処理(後述)において「所定の誤り率」が確認されることとなる。なお、特定の1つのデータコードブロックが記入領域61として定められていてもよく、特定の複数のデータコードブロックが記入領域として定められていてもよい。
本実施形態では、「所定の誤り率」が「所定の誤り情報」の一例に相当する。
【0066】
次に、二次元コードの解読処理について説明する。図4は、図1の二次元コードリーダ20で行われる解読処理を例示するフローチャートである。
図4に示す解読処理は、例えば、操作スイッチ42(図1)に対して所定の操作がなされることで開始される。当該解読処理が開始されると、まず二次元コードQを読み取る処理が行われる(S1)。S1の処理では、まず、制御回路40により同期信号を基準に照明光源21に発光信号を出力する動作が行われ、この発光信号に応じて照明光源21により二次元コードQに対して照明光Lfが照射される。二次元コードQに照射された照明光Lfは、二次元コードQが付された読取対象物Rにて反射し、その反射光Lrが読取口およびフィルタ(図示略)を介して結像レンズ27に入射する。そして、結像レンズ27により二次元コードQの像、つまりコード画像が受光センサ28の受光面28aに結像される。これにより、受光センサ28を構成する各受光素子が露光され、受光センサ28から二次元コードQの像(コード画像)に応じた画像信号が出力される。そして、この画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。
【0067】
なお、本実施形態では、制御回路40及び受光センサ28が「取得手段」の一例に相当し、二次元コードQのコード画像を取得するように機能する。また、制御回路40は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【0068】
さらに、S1の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出する処理を行う(S2)。S1の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、S2の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合(誤り率)を算出する。具体的には例えば、全データコードブロックの数Xaに対する誤りが確認されたデータコードブロックの数Xbの割合Xb/Xaを誤り率として算出する。
【0069】
そして、S2で算出された誤り率が、予め定められた「所定の誤り率」であるか否かを判断する(S3)。本実施形態で用いる二次元コードQは、記入領域61内のデータコードブロックに誤りが発生した場合に「所定の誤り率」となるように構成されており、S3の処理では、S2で算出された誤り率が「所定の誤り率」であるか否かを判断することで、記入領域61に記入がなされたか否かを判断している。
【0070】
例えば、特定の1つのデータコードブロックが記入領域として定められており、その特定の1つのデータコードブロックが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「5%」となるように構成されている場合、この「誤り率5%」を「所定の誤り情報」として予めメモリ35に記憶しておくことができ、この場合、S2で算出された誤り率がこれと同じか否か(即ち算出された誤り率が5%か否か)をS3にて判断することとなる。なお、この場合、記入領域61内の少なくともいずれかの明色セルが黒色等で塗り潰されたり或いは記入領域の少なくともいずれかの暗色セルが白色等で塗り潰されると、その特定の1つのデータコードブロックが誤ったブロックとして検出されることとなる。勿論、記入領域全体が塗り潰されてもその特定の1つのデータコードブロックが誤ったブロックとして検出される。
【0071】
或いは、特定の複数のデータコードブロックが記入領域として定められており、その特定の複数のデータコードブロック全てが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「10%」となるように構成されている場合、この「誤り率10%」を「所定の誤り情報」として予めメモリ35に記憶しておくことができ、この場合、S2で算出された誤り率がこれと同じか否か(即ち算出された誤り率が5%か否か)をS3にて判断することとなる。なお、この場合、例えば記入領域全体が塗り潰されたときにその特定の複数のデータコードブロックが誤ったブロックとして検出されることとなる。
【0072】
S2で取得された誤り率が「所定の誤り率」ではない場合(例えば図5(a)のような二次元コードQを読み取る場合)、S3にてNoに進み、S1で得られた解読データ(デコード結果)を出力する。一方、S2で取得された誤り率が「所定の誤り率」である場合(例えば図5(b)のような二次元コードQを読み取る場合)、S3にてYesに進み、S1で読み取った解読データに所定の付加情報を付加する処理を行う。この付加情報は予めメモリ35に記憶されており、S4の処理では、当該付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS1で読み取った解読データに付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S5)。なお、S3にてYesに進む場合、Noに進む場合のいずれの場合でも、S5におけるデータの出力は、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。
【0073】
なお、上述の解析処理(図4)では、S2で取得された誤り率が所定の誤り率である場合に付加情報を付加しているが、S2で取得された誤り率が所定の閾値以上である場合に付加情報を付加するようにしてもよい。例えば、記入領域に記入されていないときの誤り率(図2(a)の二次元コードQを読み取ったときの誤り率)よりも大きく、記入領域が塗り潰されたときの誤り率(図2(b)の二次元コードQを読み取ったときの誤り率)よりも小さい閾値を予め設定しておき、S3の処理に代えて、S2で取得した誤り率がこの閾値以上か否かを判断する処理を行うようにしてもよい。この場合、S2で取得した誤り率が閾値以上のときにはS4にて付加情報を付加した上でデータ出力を行い(S5)、S2で取得した誤り率が閾値未満のときにはS5に進んでデータ出力を行うようにすればよい。
【0074】
このように構成される二次元コード読取装置20の利用方法としては様々に考えられるが、その一例としては、所定の選別工程(例えば、検査合格品と不合格品とを選別する構成など)において、特定種類として選別されるものに付される二次元コードQに記入を施し、特定種類ではないものに付される二次元コードQに対しては記入を施さないといった利用方法が挙げられる。例えば、検査工程後において検査合格品に付される二次元コードQに対しては図5(a)のように記入を施さず、検査不合格品に付される二次元コードQに対しては図5(b)のように記入を施すようにし、さらに付加情報として検査不合格品である旨の情報を出力するようにすれば、二次元コードQ内に元々含まれていた情報(データコードブロックによって表される情報)を利用しつつ付加情報を利用して検査合格品及び検査不合格品のいずれであるかを把握できるようになる。
【0075】
本実施形態では、制御回路40が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果(即ち、S1の読取処理にて確認された誤り位置及び誤り内容)に基づいて二次元コードQのデコード(即ち、データコードブロックにてコード化されているデータの解読)を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報(所定の誤り率)が確認された場合、二次元コードQのデコード結果に加え、所定の誤り情報(所定の誤り率)に対応する付加情報を出力するように機能する。
【0076】
なお、本実施形態の照明光源21は、図6に概略的に示すように、二次元コードQに形成された目印60と同一色又は略同一色の照明光Lfを発するように構成されている。例えば、二次元コードQに付された目印60が赤色である場合、赤色LEDを用いて赤色の照明光を照射する構成とすることができる。
【0077】
また、本実施形態では、二次元コードQに対してマーカ光を発するマーカ光照射部51が設けられているが、このマーカ光照射部51から照射されるマーカ光を目印と同一色又は略同一色としてもよい。例えば、目印60が赤色である場合、レーザダイオードによって赤色のマーカ光を照射する構成とすることができる。
【0078】
次に、二次元コードQの生成処理について説明する。
二次元コードQを生成する装置としては、パーソナルコンピュータ等の情報処理装置が用いられるようになっており、下記の生成処理はこの情報処理装置によって行われるものである。なお、情報処理装置は、CPU、ROMやRAM等の記憶手段、キーボードやマウスなどの入力手段、印刷手段等を備えてなるものである。
【0079】
二次元コードQの生成処理では、まず、コード化すべきデータを取得する処理が行われる。このデータ取得処理は、入力手段によって入力されたデータをコード化すべきデータとして取得したり、或いは外部装置から通信によって送られてきたデータをコード化すべきデータとして取得する。そして、その取得データに基づいてデータコード語(デコードすべきデータ)を生成すると共に、誤り訂正コード語(誤り訂正用のデータ)を生成する処理が行われる。なお、取得データに基づいてデータコード語及び誤り訂正コード語を生成する方法については二次元コードの分野では公知であるので詳細は省略するが、例えば、QRコードの場合にはJISX0510:2004に規定されるような公知方法で生成できる。
【0080】
さらに、データコード語及び誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する処理が行われる。この記入領域の設定としては、例えば特定の1つのデータコードブロックを記入領域として設定してもよく、特定の複数のデータコードブロックを記入領域として設定してもよい。
【0081】
そして、生成されたデータコード語、誤り訂正コード語、及び設定された記入領域に基づいて二次元コードQの印刷データが生成される。この印刷データは、生成されたデータコード語及び誤り訂正コード語に基づいてデータコードブロック、誤り訂正コードブロックを公知の方法(例えば、JISX0510:2004の方法)で所定位置に配置し、かつ記入領域の境界部に沿って目印図形を配置するデータである(即ち、図2(a)のような図形を印刷するための描画データである)。なお、記入領域として特定の1つのデータコードブロックが設定される場合、そのデータコードブロックの境界部に沿って目印図形が設定される。また、特定の複数のデータコードブロックによって記入領域が設定される場合、それら複数のデータコードブロックの境界部に沿って目印図形が設定される。
【0082】
このようにして生成される二次元コードQは、上述したように、記入領域内に記入がなされた場合に、その記入後の二次元コードQの誤り検出において所定の誤り情報が確認されるようになっている。例えば、特定の1つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態で把握されるときには、当該データコードブロック全体が誤ったデータとして検出される。この場合、その記入領域に係るデータコードブロックのみが誤り状態であったときの誤り率が「所定の誤り情報」に相当する。
【0083】
また、特定の複数のデータコードブロックを記入領域として設定した場合、それら複数のデータコードブロック全てに誤りが生じた場合の誤り率を「所定の誤り情報」とすることができる。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、特定の複数のデータコードブロックが誤ったデータとして検出されるため、特定の複数のデータコードブロックに誤りが生じかつ他のデータコードブロックに誤りが生じていないときの誤り率を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【0084】
なお、本実施形態では、上記情報処理装置が「二次元コード生成装置」の一例に相当し、情報処理装置のCPUが「コード化手段」の一例に相当し、デコードすべきデータ及び誤り訂正用のデータを生成するように機能する。また、CPUは、「記入領域設定手段」の一例に相当し、コード領域内において所定の記入領域を設定するように機能する。
【0085】
本実施形態の構成によれば、例えば以下のような効果が得られる。
本実施形態に係る二次元コード読取装置20は、記入領域61を備えた二次元コードQを読取対象としており、この二次元コードQは,記入領域61内に記入がなされた後の誤り検出において「所定の誤り情報」が確認されるように構成されている。このような二次元コードQを読取対象とする二次元コード読取装置20では、当該二次元コードQを読み取る際に「所定の誤り情報」が確認されるか否かを判断し、確認された場合に、二次元コードQのデコード結果に加え、「所定の誤り情報」に対応する付加情報を出力する構成をなしている。このような構成とすると、記入領域61に何らかの記入がなされた場合に二次元コードQに元々含まれていた情報以外の新たな情報(付加情報)を発生させ利用できるようになる。また、上記のように記入領域61内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、付加情報だけでなく二次元コードQ内に元々含まれていた情報についても有効利用できるようになる。
【0086】
また、本実施形態の二次元コード読取装置20では、「誤り率情報」(二次元コードが所定の誤り率となっていることを示す情報)を、「所定の誤り情報」としている。このようにすると、記入領域61に記入されたか否かを簡易な構成で精度高く判別できるようになる。
【0087】
また、本実施形態の二次元コード読取装置20は、コード領域内に目印60(記入領域61を特定する印)が形成された二次元コードQを読取対象とし、且つ照明光源21により目印60と同系色の照明光Lfを発するように構成されている。このようにすると、目印61の周囲が当該目印61と同系色の照明光Lfによって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードQの読み取りの際に目印60の影響を効果的に抑えることができ、目印60に起因する誤りの発生を抑制ないし防止できる。
【0088】
また、マーカ光照射部51により、目印60と同系色のマーカ光を発するように構成されている。このようにすると、目印60の周囲が当該目印60と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードQの読み取りの際に目印60の影響を効果的に抑えることができ、目印60に起因する誤りの発生を抑制ないし防止できる。
【0089】
[第2実施形態]
次に第2実施形態について説明する。図7は、第2実施形態の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図7のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0090】
本実施形態の解読処理も第1実施形態と同様に開始され、まずS1(図4)と同様の読取処理が行われる(S21)。このS21の処理では、S1と同様に二次元コードQの像(コード画像)に応じた画像信号が受光センサ28にて出力され、画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0091】
本実施形態の二次元コードリーダの読取対象も第1実施形態と同様であり、誤り訂正機能を有する二次元コードが用いられる。この二次元コードは、記入領域に記入がなされた後に二次元コード読取装置20によって誤り検出処理が行われたときに「所定の誤り情報」が確認されるものであり、本実施形態では、所定位置に誤りが発生したことを示す位置情報を「所定の誤り情報」としている。
【0092】
例えば、図2(a)のようなQRコードを用いる場合、記入領域61に対する記入(例えば作業者によるペンなどを用いた塗り潰し等)によって当該記入領域61が誤った状態となったとき、読み取りの際の誤り検出処理において当該記入領域61の位置が誤り位置として確認されることとなる。具体的には、例えば、特定の1つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態と把握されるときに当該データコードブロック全体が誤ったデータとして検出されることとなる。このような構成の場合、記入領域に対応するデータコードブロックの位置情報を「所定の誤り情報」とすればよい。また、特定の複数のデータコードブロックを記入領域として設定するような場合、それら複数のデータコードブロック全ての位置情報を「所定の誤り情報」とすればよい。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、その記入領域内に少なくとも一部が含まれる特定の複数のデータコードブロック全てが誤ったデータとして検出されるため、この特定の複数のデータコードブロックの位置を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【0093】
S21の読取処理の後には、誤り位置を確認する処理を行う(S22)。図7の例では、S21の読取処理の一部をなす誤り検出処理においてコード画像の誤り位置及び誤り内容を検出しており、S22の処理では、S21において二次元コードQに誤りが検出されていた場合にその誤り位置(誤りが検出されたデータコードブロックの位置)を確認する。
【0094】
そして、その確認された誤り位置が所定の位置(即ち、記入領域61に対応したデータコードブロックの位置)であるかを確認する(S23)。例えば、特定の1つのデータコードブロックが記入領域として設定される場合には、誤りが検出された位置がその特定の1つのデータコードブロックの位置であるかを確認する。或いは、特定の複数のデータコードブロックが記入領域として設定される場合、誤りが検出された位置がそれら特定の複数のデータコードブロックの位置であるかを確認する。
【0095】
S22で確認された誤り位置が所定の位置でない場合、或いは誤りが検出されなかった場合(例えば図5(a)のような二次元コードQを読み取る場合)、S23にてNoに進み、S21で得られた解読データ(デコード結果)を出力する。一方、S22で確認された誤り位置が所定の位置である場合(例えば図5(b)のような二次元コードQを読み取る場合)、S23にてYesに進み、S21で読み取った解読データに所定の付加情報を付加する処理を行う(S24)。この付加情報は第1実施形態で説明した付加情報と同様のものであり、予めメモリ35に記憶されたものである。S24の処理では、当該付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS21で読み取った解読データに付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S25)。なお、出力処理は第1実施形態のS5(図4)と同様である。
【0096】
本実施形態の構成によれば、第1実施形態と同様の効果を奏することとなる。また、本実施形態では、「二次元コードQの所定位置に誤りが発生したことを示す位置情報」を「所定の誤り情報」として、所定の記入領域に記入がなされたか否かを判断しているため、仮に記入領域以外の領域に誤りが発生したとしても記入領域に記入がなされたか否かを精度高く判別できるようになる。
【0097】
[第3実施形態]
次に第3実施形態について説明する。図8は、第3実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図9は、図8の解読処理で用いられる基準コードを例示する説明図である。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図8のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0098】
本実施形態の二次元コード読取装置では、解読処理に先立ち、或いは解読処理中に、予め基準コードの画像を取得すると共にその取得した基準コードの誤り状態を検出しており、その検出された基準コードの誤り状態と、読取対象となる二次元コードQの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。
なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40は、「誤り状態検出手段」「デコード手段」の一例に相当する。
【0099】
図8の解析処理も第1実施形態の解析処理(図4)と同様に開始され、まず二次元コードQの読取処理が行われる(S31)。なお、S31の読取処理はS1(図4)と同様である。そして、S31の読取処理の一部として行われる誤り検出処理での検出結果に基づいて誤り率の算出処理を行う(S32)。なお、S32の算出処理はS2(図4)と同様であり、S32で算出された誤り率P1はメモリ35に一時的に記憶される。
【0100】
その後、基準コードを読み取る処理を行う(S33)。本実施形態では例えば図9(a)のような所定の基準コードが定められており、S33ではこのように予め定められている基準コードを読み取り処理を行う。なお、図9(a)では、記入領域に記入されていない状態の二次元コードQから目印60を取り除いたコードを基準コードとしており、このような基準コードは、例えば解読処理を行う前にサンプルとして別途用意しておくことができる。
【0101】
基準コードの読取処理は、基本的にS1(図4)と同様であり、実際の読取対象(二次元コードQ)ではなく基準コード(図9(a)参照)を読み取っている点のみがS1と異なっている。S33の処理では、作業者によって当該二次元コード読取装置20が基準コードに向けられ且つ読取動作が行われることにより、受光センサ28から基準コードの像に応じた画像信号が出力され、この画像信号に応じた画像データがメモリ35に記憶される。基準コードの画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。
【0102】
そして、基準コードの読取処理(S33)の際に行われた誤り検出処理での検出結果に基づいて基準コードの誤り率P2を算出する処理を行う(S34)。S33の読取処理では誤り検出処理が行われて基準コードの誤り位置及び誤り内容が検出されているため(或いは誤りが存在しないことが判明しているため)、S34では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、基準コードの全データ量に対する誤りデータ量の割合(誤り率)を算出する。なお、この算出はS32と同様の算出式でなされる。具体的には、基準コードの全データコードブロックの数Yaに対する誤りが確認されたデータコードブロックの数Ybの割合Yb/Yaを基準コードの誤り率P2として算出する。
【0103】
そして、二次元コードQについての誤り率P1と基準コードについての誤り率P2とを比較し、その差P1−P2を算出する(S35)。そして、その差P1−P2が所定閾値以上か否かを判断し(S36)、差P1−P2が所定閾値以上の場合にはS36にてYesに進み、付加情報を追加する処理を行う(S37)。この例では、二次元コードQについての誤り率P1と基準コードについての誤り率P2との差P1−P2が所定閾値以上であることを示す情報(換言すれば、誤り率P2との差が所定閾値以上である誤り率P1の情報)が「所定の誤り情報」に相当する。
【0104】
S37の処理はS4(図4)と同様であり、付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS31でのデコード結果(解読データ)に付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S38)。一方、S36にてNoに進む場合には、付加情報を付加せずにS31でデコードしたデータ(解読データ)のみを出力する(S38)。なお、いずれの場合でも第1実施形態と同様の出力方法(S5:図4)を用いることができる。
【0105】
本実施形態では、読取対象となる二次元コードQの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させることができる。
【0106】
なお、上述の構成では、図9(a)のように二次元コードQの記入前の原型(二次元コードQの記入前の形状であってかつ誤ったセルが発生していない状態の型)から目印60を外した構成を基準コードとしているが、図9(b)のような二次元コードQの原型そのもの(目印60が付された状態のもの)を基準コードとしてもよい。
【0107】
また、上述の構成では、二次元コードQについての誤り率P1と基準コードについての誤り率P2との差P1−P2が所定閾値以上であることを示す情報(誤り率P2との差が所定閾値以上である誤り率P1の情報)を「所定の誤り情報」としていたが、この差P1−P2が所定値であることを示す情報(換言すれば、誤り率P2との差が所定値である誤り率P1の情報)を「所定の誤り情報」としてもよい。この場合、図8のS36の処理に代えて、差P1−P2が所定値であるか否かを判断する処理を行うようにすればよい。
【0108】
また、上述の構成では、図8に示すように、解読処理中において二次元コードQを読み取った後に基準コードの読み取り及び誤り率の算出を行っているが、この処理は二次元コードQの読み取り前に行ってもよく、或いは解読処理に先立って行い、予め誤り率P2をメモリ35に記憶しておいてもよい。
【0109】
[第4実施形態]
次に第4実施形態について説明する。図10は、第4実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図11は、図10の解読処理での解読対象を示すものであり、(a)は記入領域に記入される前の状態を示す説明図であり、(b)は記入後の状態を示す説明図である。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図10のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0110】
本実施形態の二次元コード読取装置では、予め、記入領域60に記入される前の二次元コードQの画像(記入前画像)を取得すると共に当該記入前画像の誤り状態を検出している。そして、この記入前画像の誤り状態と、記入領域60に対する記入がなされた後の二次元コードQの誤り状態とを比較し、所定の差異がある場合に二次元コードQに所定の誤り情報が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。 なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40は、「誤り状態検出手段」「デコード手段」の一例に相当する。
【0111】
図10に示す解読処理では、まず記入前の二次元コードを読み取る処理が行われる(S41)。S41の処理は、例えば図11(a)に示すような記入前の二次元コードQを読み取る処理であり、その処理内容はS1(図4)と同様である。なお、S41の処理は、作業者が二次元コード読取装置20を用いて図11(a)のような記入前の二次元コードQを読み取ろうとする操作を行うことにより実行されるものであり、作業者による当該動作に応じて記入前の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。その後、S41で読み取られた記入前の二次元コードQについての誤り率P3を算出する。なお、S42の誤り率算出処理はS41で行われる誤り検出処理に基づいてS2(図4)と同様の方法で行われる。
【0112】
その後、記入後の二次元コードの読取処理が行われる(S43)。S43の処理は、S1(図4)と同一の処理であり、作業者が図11(b)のような記入後の二次元コードQを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。そして、その記入後の二次元コードQの誤り率P4を算出する処理が行われる(S44)。なお、この算出処理もS2(図4)と同様の方法で行われる。
【0113】
そして、記入前の二次元コードQについての誤り率P3と記入後の二次元コードQについての誤り率P4との差P4−P3を算出する(S45)。そして、この差P4−P3が所定の閾値以上か否かを判断し(S46)、差P4−P3が所定閾値以上であればS46でYesに進み、S47の付加処理を行う(S47)。なお、S47の付加処理はS4(図4)と同様であり、付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS43でのデコード結果(解読データ)に付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S48)。一方、S46にてNoに進む場合には、付加情報を付加せずにS43でデコードしたデータ(解読データ)のみを出力する(S48)。なお、いずれの場合でも第1実施形態と同様の出力方法(S5:図4)を用いることができる。
【0114】
本実施形態のように、記入前の二次元コード(例えば図11(a))を判断の基準とする構成とすれば、様々な種類の二次元コードに対応しやすい構成となる。即ち、様々な種類の二次元コードにおいて記入領域に対する記入に対応した「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【0115】
また、本実施形態の構成を用いると、例えば図11のように記入領域以外に誤りが存在するようなコード状態であっても記入領域に記入がなされたか否かを正確に判断できるため、コード状態の影響をあまり受けることなく付加情報を出力できるようになる。
【0116】
[第5実施形態]
次に第5実施形態について説明する。
本実施形態では、マーカ光照射手段により特定図形を表示するように構成されている点、及び図4の解読処理に代えて図12の処理を用いている点が第1実施形態と異なっている。
【0117】
本実施形態の二次元コード読取装置では、図12のような流れで解読処理が行われる。 当該処理が開始されると、まずマーカ光照射処理が行われる(S51)。本実施形態では第1実施形態と同様のマーカ光照射部51(図1)が設けられており、このマーカ光照射部51によって図13のような図形が表示されるようになっている。マーカ光によって表示される図形は、位置検出パターンFP1、FP2、FP3にそれぞれに対応する位置検出パターン対応図形MK1、MK2、MK3と、記入領域60に対応する記入領域対応図形MK4とを有しており、これら位置検出パターン対応図形MK1、MK2、MK3、記入領域対応図形MK4が「特定図形」の一例に相当している。
なお、本実施形態でもマーカ光照射部51が「マーカ光照射手段」の一例に相当する。
【0118】
この構成では、二次元コードQの読取処理の際に、ユーザにより二次元コード読取装置の位置が操作され、読取対象物Rに表示される位置検出パターン対応図形MK1、MK2、MK3がそれぞれ位置検出パターンFP1、FP2、FP3に合わせられたときに、記入領域対応図形MK4が記入領域60の位置を示すようになっている。図13の例では、位置検出パターン対応図形MK1、MK2、MK3がそれぞれ矩形枠として表示されるようになっており、全ての位置検出パターン対応図形MK1、MK2、MK3の枠内にそれぞれ位置検出パターンFP1、FP2、FP3が配される位置関係となるように二次元コード読取装置及び読取対象物Rが位置決めされたときに記入領域対応図形MK4の枠内全体が記入領域61となるように構成されている。
【0119】
このように記入領域対応図形MK4によって記入領域60の位置が示されると、どの位置に記入すべきかが判明するため、ユーザは必要に応じて記入領域60に対しペン等によって記入を行うことができるようになる。その後、記入後の二次元コードの読取処理が行われる(S53)。S43の処理は、S1(図4)と同一の処理であり、作業者が記入後の二次元コードQを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0120】
そして、その記入後の二次元コードQの誤り率を算出する処理が行われる(S53)。なお、この算出処理もS2(図4)と同様の方法で行われる。そして、S53で算出された誤り率が、所定の誤り率か否かを判断し、所定の誤り率であれば付加処理(S55)を行った上で両データ(解読データに付加情報を加えたデータ)データを出力する。一方、所定の誤り率でない場合にはS54にてNoに進み、付加情報を付加せずにデータを出力する(S56)。なお、S54、S55、S56の処理は、図4のS3、S4、S5と同様である。
【0121】
本実施形態の構成によれば、二次元コード内に特別な目印があるか否かにかかわらず記入領域61を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【0122】
なお、図12のような解読処理は、例えば記入領域を特定する目印が記載されていない二次元コードを用いて製品等の管理を行うシステムにおいて、記入領域に適切に記入されているか否か、或いは記入がなされたときに付加情報が適切に付加されているか否かを検査する場合などにおいて特に有利となる。
【0123】
[第6実施形態]
次に第6実施形態について説明する。
図14は、第6実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図15は、図14の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。なお、本実施形態では、使用する二次元コード及び解読処理の内容のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。即ち、図4の解読処理を図14のようにした点、及び図2のような二次元コードQに代えて図15のような二次元コードQ1を使用している点のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。よって、異なる点について重点的に説明し、第1実施形態と同一の内容(図1〜図3等の内容)については詳細な説明は省略することとする。
【0124】
本実施形態の二次元コード読取装置では、図14のような流れで解読処理が行われる。
当該処理が開始されると、まず二次元コードQ1を読み取る処理が行われる(S61)。S61の処理はS1(図4)と同様であり、S1と同様に二次元コードQの像(コード画像)に応じた画像信号が受光センサ28にて出力され、画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0125】
その後、誤り率を算出する処理を行う(S62)。S62の誤り率算出処理自体はS2(図4)と同様であり、S61の読取処理で行われる誤り状態の検出結果に基づいて誤り率P5が算出される。
【0126】
ところで、本実施形態での読取対象(二次元コードQ1)は、複数の記入領域(図15では2つの記入領域160a、160b)が設けられており、記入の仕方を変えることによって複数の記入態様を発生させることができるようになっている。具体的には、例えば、記入領域160aのみが記入された第1態様、両記入領域160a,160bが記入された第2記入態様を生じさせることができるようになっており、S61の読取処理で行われる誤り状態の検出結果に基づいて、これら第1、第2記入態様に対応した誤り率(対応誤り率)が算出されるようになっている。より詳しく言えば、二次元コードQ1は、正常状態(図15(a)のように、記入領域160a、160b及び目印161a、161b以外に誤りを発生させる要因が無い状態)において記入領域160aのみに記入がなされ、記入領域160aのみに誤りが発生した場合(即ち図15(b)のような第1記入態様の場合)に、検出される誤り率P5が、閾値Z1よりも大きく且つ閾値Z2以下となるように構成されており、両記入領域160a、160bに記入がなされ、両記入領域160a、160bに誤りが発生した場合(即ち図15(c)のような第2記入態様の場合)に、検出される誤り率P5が、閾値Z2よりも大きく且つ閾値Z3以下となるように構成されている。従って、S62で算出された誤り率P5が判明すれば、Z1〜Z3に基づいてどの記入態様が生じたかを把握できることとなる。なお、この例では、「誤り率P5がZ1よりも大きく且つZ2以下であるという情報」「誤り率P5がZ2よりも大きく且つZ3以下であるという情報」がいずれも「対応誤り情報」の一例に相当する。
【0127】
具体的な流れとしては、S63においてS62で算出された誤り率P5が閾値Z1以下か否かを判断し、閾値Z1の場合にはいずれの対応誤り情報も発生していないものとみなし、S61でのデコード結果(解読データ)を出力する(S68)。一方、S62で算出された誤り率P5が閾値Z1よりも大きい場合、S63でNoに進み、誤り率P5が閾値Z2以下か否かを判断する。誤り率P5が閾値Z2以下の場合とは、即ち第1記入態様が発生している場合であるため、S65の付加処理において、第1記入態様に対応した対応付加情報AをS61のデコード結果(解読データ)に付加する。この場合、S61での解読データに付加情報Aを付加した情報が出力される(S68)。
【0128】
また、S64で誤り率P5が閾値Z2よりも大きいと判断される場合、S64にてNoに進み、誤り率P5が閾値Z3以下であるか否かを判断する。誤り率P5が閾値Z2よりも大きく且つ閾値Z3以下の場合とは、即ち第2記入態様が発生している場合であるため、S65の付加処理において、第2記入態様に対応した対応付加情報BをS61のデコード結果(解読データ)に付加する。この場合、S61での解読データに付加情報Bを付加した情報が出力される(S68)。なお、誤り率P5が閾値Z3よりも大きい場合には、いずれの付加情報も付加せずにS61で得られた解読データを出力する(S68)。
【0129】
本実施形態のように、記入のバリエーションが多い二次元コードQ1を読取対象とし、対応誤り情報に応じた対応付加情報を出力する構成とすれば、より多くの種類の付加情報を付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【0130】
本実施形態は、例えば、読取対象物を多種別(種別A、B、C)に選別した後に、いずれの種別であるかを二次元コードに記録しておきたい場合に有効である。例えば、種別Aと選別されたものについては記入を行わず、種別Bと選別されたものについては記入領域160aのみに記入し、種別Cと選別されたものについては両記入領域160a、160bに記入するといった使い方が可能となる。この場合、第1記入態様が確認されたもの(即ち、誤り率P5がZ1よりも大きく且つZ2以下であるという対応誤り情報が確認されたもの)については種別Bである旨の情報を対応付加情報として付加し、第2記入態様が確認されたもの(誤り率P5がZ2よりも大きく且つZ3以下であるという対応誤り情報)については種別Cである旨の情報を対応付加情報として付加するようにすれば、いずれの種別として選別されたものであるかを二次元コードQ1によって把握できるようになる。
【0131】
また、図14の処理を図16のように変更してもよい。図16の解読処理でも、まず二次元コードQ1(図15)を読み取る処理が行われる(S71)。なお、このS71の処理もS1(図4)と同様である。そして、その読取処理(S71)で行われた誤り検出結果に基づいて誤り位置を取得する(S72)。S71で行われる誤り検出処理では誤り位置の検出も行われるため、S72ではこの検出結果に基づいてどの位置に誤りが発生したかを把握しメモリ35に記憶しておく。
【0132】
そして、S72での確認結果に基づいて所定位置1に誤りが発生しているかを確認する。この「所定位置1」は記入領域160a(図15)の位置のことであり、S73では記入領域160aの位置に誤りが発生しているかを確認している。例えば図15(b)のように所定位置1に誤りが発生している場合にはS73にてYesに進み、S71で読み取った解読データに付加情報Aを付加する(S74)。
【0133】
S73でNoに進む場合、或いはS74が終了した場合には所定位置2に誤りが発生しているかを確認する。この「所定位置2」は記入領域160b(図15)の位置のことであり、S75では記入領域160bの位置に誤りが発生しているかを確認している。例えば図15(c)のように所定位置2に誤りが発生している場合にはS75にてYesに進み、S71で読み取った解読データに付加情報Bを付加する(S76)。
【0134】
図16の例では、記入領域160aに記入がなされるという「第1の記入態様」と、記入領域160bに記入がなされるという「第2の記入態様」とを少なくとも想定しており、第1の記入態様が生じる場合には、誤り検出処理において所定位置1に誤りが発生した旨の情報が確認され、第2の記入態様が生じる場合には、所定位置2(記入領域160bの位置)に誤りが発生した旨の情報が確認されるようになっている。なお、この場合、「所定位置1に誤りが発生した旨の情報」「所定位置2に誤りが発生した旨の情報」が「対応誤り情報」の一例に相当する。また、この場合、付加情報Aが、「対応付加情報」の一例に相当し、所定位置1に誤りが発生した旨の情報(対応誤り情報)に応じて出力される。また、付加情報Bも、対応付加情報の一例に相当し、所定位置2に誤りが発生した旨の情報(対応誤り情報)に応じて出力される。
【0135】
[第7実施形態]
次に第7実施形態について説明する。第7実施形態は、図15のような二次元コードQ1に代えて図17のような二次元コードQ2を読取対象としている点が第6実施形態と異なり、それ以外は第6実施形態と同様である。解読処理についても基本的に図14と同様である。
【0136】
本実施形態で用いる二次元コードQ2は、例えば図17(a)のようなものである。なお、図17(a)の二次元コードQ2は、記入領域以外は図2と同様である。この二次元コードQ2は、単一の記入領域を260を備えてなるものであり、この記入領域260に対して複数の記入状態を発生させることができるようになっている。具体的には、図17(b)のように、記入領域260の特定部分(図17(b)の例では左半分)が塗り潰されたときに(第1の記入態様のとき)、検出される誤り率P5が、閾値Z1よりも大きく且つ閾値Z2以下となるように構成されており、図17(c)のように記入領域260の全部が塗り潰されたとき(第2の記入態様のとき)に、検出される誤り率P5が、閾値Z2よりも大きく且つ閾値Z3以下となるように構成されている。
【0137】
本実施形態でも図14のように解読処理が行われるが、図17(b)のように左半分のみが塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率P5は閾値Z1よりも大きく且つ閾値Z2以下となるため、S61でのデコード結果(解読データ)に付加情報Aが付加され(S65)、それらが出力されることとなる(S68)。また、図17(c)のように全部が塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率P5は閾値Z2よりも大きく且つ閾値Z3以下となるため、S61でのデコード結果(解読データ)に付加情報Bが付加され(S67)、それらが出力されることとなる(S68)。
【0138】
本実施形態のように、複数の記入態様を想定した二次元コードQ2を読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、多くの種類の付加情報を付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【0139】
[第8実施形態]
次に第8実施形態について説明する。図18は、第8実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。図19は、第8実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。図20は、二次元コードが付された読取対象物を例示する説明図であり、(a)は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、(b)は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。図21は、登録記号別データの一例を概念的に説明する説明図である。
【0140】
本実施形態に係る二次元コード読取装置は、ハードウェア的には第1実施形態と同一の構成(図1)である。従って、適宜図1を参照することとし、各部の詳細な説明は省略する。
【0141】
本実施形態で用いられる二次元コードQ8は、図18(a)に示すように、第1実施形態で用いられる二次元コードQ(図2)と同様の構成をなしており、目印のみが第1実施形態と若干異なっている。第8実施形態で用いる二次元コードQ8も、コード領域内に矩形枠の目印860が形成されており、この目印860の内部領域が記入領域861として構成されている。
【0142】
記入領域861は、二次元コードQ8を使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印860は、コード領域内において記入領域861の位置を特定する機能を有しており、図18(a)の例では、目印860によって記入領域の外縁が特定されている(即ち、目印860の内部領域全体が記入領域861として構成されている)。
【0143】
上記のように二次元コードQ8に設けられた記入領域861は、当該記入領域861内に記入がなされた場合に、その記入後の二次元コードQ8を読み取る際の誤り検出において「所定の誤り情報」が確認されるように構成されるものである。本実施形態では、特定の複数のデータコードブロックが記入領域861として定められており、例えば、記入領域861内のいずれかのデータコードブロックに誤りが存在し、かつ記入領域861外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置20による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。
【0144】
次に、本実施形態に係る二次元コード読取装置で行われる解読処理について説明する。本実施形態でも、図19に示すように、まず二次元コードを読み取る処理が行われる(S801)。S801の処理は、第1実施形態のS1(図4)と同様の処理であり、図1に示す受光センサ28によって二次元コードQ8を撮像し、この画像信号に応じた画像データをメモリ35に記憶する。そして、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理を行い、デコード処理によって解読されたデータを最終的にメモリ35に記憶する。
【0145】
なお、本実施形態でも、図1に示す制御回路40及び受光センサ28が「取得手段」の一例に相当し、二次元コードQ8のコード画像を取得するように機能する。また、制御回路40は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【0146】
さらに、S801の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出し、誤り率が閾値以上であるか判断する処理を行う(S802)。S801の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、S802の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合(誤り率)を算出する。具体的には例えば、全データコードブロックの数Xaに対する誤りが確認されたデータコードブロックの数Xbの割合Xb/Xaを誤り率として算出する。 そして、その算出された誤り率が、予め定められた閾値以上であるか否かを判断する。
【0147】
本実施形態で用いる二次元コードQ8は、記入領域861内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、所定の誤り率となるように構成されており、S802で用いる閾値は、この所定の誤り率よりも低い値であって、0よりも大きい値に設定されている。なお、本実施形態では、二次元コードQ8の誤り率が所定閾値(S802)以上であることを示す情報が「所定の誤り情報」の一例に相当する。
【0148】
S802において、誤り率が閾値未満であると判断される場合(例えば、図18(a)、図20(a)のような二次元コードQ8を読み取る場合)、S802にてNoに進み、S801で得られた解読データ(デコード結果)を出力する(S810)。
【0149】
一方、S802において、誤り率が閾値以上であると判断される場合(例えば図18(b)、図20(b)のような二次元コードQ8を読み取る場合)、S802にてYesに進み、記号入力枠を特定する処理を行う(S803)。この処理は、後述する記号認識処理を行う領域を特定する処理である。この処理では、予め定められた方法で記号入力枠を特定しており、その特定方法としては、例えば、誤りが生じている全データコードブロックを記号入力枠として特定してもよく、二次元コード読取装置20内にあらかじめ登録されている情報に基づいて記号入力枠を特定してもよい。あらかじめ登録されている情報に基づいて記号入力枠を特定する方法としては、例えば、二次元コードQ8の記入領域の位置情報を二次元コード読取装置20内に記録しておき、S803の処理においてこれを読み出すようにすればよい。
【0150】
S803の後には、記号認識処理を行う(S804)。S804では、画像処理分野において公知とされている文字認識技術を用い、S803で特定された枠内の記号を認識する。なお、文字認識技術としては、公知の様々な方式を用いることができ、例えば、光学式文字読取装置(OCR:optical character reader)で用いられる技術などを好適に利用できる。この技術自体は公知であるので詳細な説明は省略するが、この場合、装置内に記号ごとの標準パターンを登録しておき、この標準パターンと入力パターンのマッチングによって認識を行えばよい。
【0151】
本実施形態では、図18に示すように、読取対象となる二次元コードQ8において記入領域861内に情報表示単位セルが複数配置されており、記入領域861に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を記号として認識している。例えば、図18(a)のように、記入領域861内に白色セルと黒色セルとが配置され、これらセルの色とは異なる色で記号が記入されたときには、そのセル色以外の領域を抽出し、記号を認識する。図18(b)では、「NG」という文字がセル色以外の色(例えば赤色)で記入された例を示しており、このような場合には、その赤色の文字を認識することとなる。なお、本実施形態では、制御回路40が「認識手段」の一例に相当する。
【0152】
そして、S804での記号認識が成功したか否かを判断し(S805)、成功した場合には、S805にてYesに進み、S804で認識された記号(認識記号)と登録記号とを比較する処理を行う(S806)。
【0153】
本実施形態では、メモリ35(図1)において、登録記号が複数記憶され、各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。各登録記号は、一又は複数の記号(例えば複数の文字)によって構成されたものであればよく、登録記号の内容や、登録記号別データの内容は様々に設定することができる。図21にはその一例を示しており、図21の例では、NG1、NG2、修理1、修理2等の登録記号が登録されており、各登録記号と対応付けられて、「不良品として登録、廃棄処理」「不良品として登録、再利用処理」「修理可能品、修理工程1」「修理可能品、修理工程2」といった処理工程データがそれぞれ「登録記号別データ」として登録されている。
【0154】
S806の比較処理では、S804で認識された記号が、メモリ35に登録された複数の登録記号のいずれかと一致するか否かを確認し、その確認処理後、S804で認識された記号(認識記号)がいずれかの登録記号と一致したか否かを判断する処理を行う(S807)。なお、本実施形態では、メモリ35が「登録手段」の一例に相当する。また、制御回路40が「確認手段」の一例に相当する。
【0155】
S807の判断処理において、認識記号がいずれかの登録記号と一致したと判断された場合、S807にてYesに進み、認識記号と一致した登録記号に対応する登録記号別データを「付加情報」として、S801でのデコード結果と共に出力する(S808)。例えば、登録内容が図21のような内容であり、S804にて認識された認識記号が「NG1」である場合には、デコード結果に付加する「付加情報」として、「NG1」に対応付けられた「不良品として登録、廃棄処理」という処理工程データを出力する。なお、このデータ出力は、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。また、S808で出力する内容は、登録記号別データの一部又は全部であってもよく、登録記号別データに対応する内容であってもよい。「登録記号別データに対応する内容を出力する」例としては、登録記号別データに対応付けられたマークを液晶表示器46に表示したり、登録記号別データに対応するランプ表示や音声出力を行うようにしてもよい。
【0156】
一方、S805にてNoに進む場合、或いはS807にてNoに進む場合には、S801でのデコード結果と共に、報知データを出力する。このデータ出力についても、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。また、報知データの出力方法としては、例えば、認識が失敗した旨の情報(S805にてNoの場合)、認識記号が登録されていない旨の情報(S807にてNoの場合)などを液晶表示器46に表示する方法などが挙げられる。或いは、図1に示すLED43を所定態様で点灯させたり、ブザー44を鳴動させるようにしてもよい。この場合、制御回路40が、液晶表示器46、LED43、ブザー44などと協働して「報知手段」として機能する。
【0157】
このように構成される二次元コード読取装置20は、様々な用途に用いることができる。その一例としては、所定の選別工程(例えば、正常品と要対応品を選別する工程、要対応品を更に具体的に選別する構成など)において、二次元コードQ8の記入領域861に、選別内容に応じた記号を記入する利用方法が挙げられる。例えば、製造ラインにおける検査工程において、検査対象物が、不良品として登録し且つ廃棄処理すべきものと判断された場合、この検査対象物(廃棄対象品)に付される二次元コードQ8の記入領域861に、判断された処理工程に対応する記号(図21の例では「NG1」)を記入しておけば、後工程において、この「NG1」に対応する処理工程データ(即ち、当該検査対象物に対して行うべき処理工程のデータ)を読み出すことができ、当該検査対象物がどのように扱うべきものであるかを迅速且つ確実に把握できるようになる。他の判断がなされる場合も同様であり、例えば、製造ラインにおける検査工程において、検査対象物が、修理可能品として登録し且つ修理工程1を行うべきものと判断された場合、この検査対象物(修理対象品)に付される二次元コードQ8の記入領域861に、判断された処理工程に対応する記号(図21の例では「修理1」)を記入しておけば、後工程において、この修理1に対応する処理工程データ(当該検査対象物に対して行うべき処理工程のデータ)を読み出すことができ、どのような判断がなされたかを迅速且つ確実に把握できるようになる。
【0158】
なお、本実施形態でも制御回路40が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果(即ち、S801の読取処理にて確認された誤り位置及び誤り内容)に基づいて二次元コードQ8のデコード(即ち、データコードブロックにてコード化されているデータの解読)を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報(所定閾値以上の誤り率)が確認された場合、二次元コードQ8のデコード結果に加え、所定の誤り情報に対応する付加情報を出力するように機能する。
【0159】
以下、本実施形態の主な効果について説明する。
本実施形態では、「誤り状態検出手段」によって所定の誤り情報が確認された場合に記入領域861に記入された記号を認識する「認識手段」が設けられている。そして、「デコード手段」は、この「認識手段」によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域861に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【0160】
また、本実施形態では、読取対象となる二次元コードQ8の記入領域861において、情報表示単位セルが複数配置されており、「認識手段」は、記入領域861に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できるようになる。従って、記号が記入されていないときには、記入領域内の各セルをデータとして利用でき、記号が記入された場合でも、一部のセルをデータとして利用できる可能性がある。
【0161】
また、本実施形態では、メモリ35(登録手段)において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、「確認手段」により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、「デコード手段」により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ(登録記号別データ)を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号(登録記号)であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【0162】
具体的には、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号がメモリ35(登録手段)に登録されていると確認された場合には、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【0163】
また、本実施形態では、認識記号がメモリ35(登録手段)に登録されていると確認されなかった場合に報知を行う「報知手段」が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【0164】
[第9実施形態]
次に第9実施形態について図22を参照しつつ説明する。なお、図22は、第9実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【0165】
第9実施形態に係る二次元コード読取装置は、解読処理のみが第8実施形態と異なっており、それ以外は第8実施形態と同様である。また、二次元コードについては、第8実施形態と同様の二次元コードQ8(図18)が用いられている。よって、解読処理以外は、第8実施形態で引用した図面を参照して説明する。
【0166】
第9実施形態で行われる解読処理は、図22に示すように、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上であって且つ第2の閾値(第2の誤り率)以下であるときにS904〜S910の処理(図19のS803〜S809と同様の処理)を行う点、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)未満のときにS911の処理(図19のS810と同様の処理)を行う点、二次元コードQ8の誤り率が第2の閾値(第2の誤り率)以上であるときに、S912の処理を行う点が第8実施形態の解読処理(図19)と異なっている。
【0167】
本実施形態で用いる二次元コードQ8(図18)は、記入領域861内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第1の所定誤り率となるように構成されており、S902で用いる第1の閾値は、この第1の所定誤り率よりも低い値であって、0よりも大きい値に設定されている。また、記入領域861内の全データコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第2の所定誤り率となるように構成されており、S903で用いる第2の閾値は、この第2の所定誤り率よりも小さい値であって、第1の閾値よりも大きい値に設定されている。
【0168】
図22の解読処理では、S901の読取処理(図19のS801と同様の読取処理)を行った後、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上であるか否かを判断し(S902)、第1の閾値以上であれば、S902にてYesに進み、二次元コードQ8の誤り率が第2の閾値(第2の誤り率)以下であるか否かを判断している(S903)。なお、本実施形態でも、制御回路40が「誤り状態検出手段」の一例に相当し、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上となっている状態を「所定の誤り状態」として検出している。
【0169】
二次元コードQ8の誤り率が、第1の閾値(第1の誤り率)以上であり、且つ第1の閾値(第1の誤り率)よりも大きい第2の閾値(第2の誤り率)以下である場合(即ち、S902、S903でYesに進む場合)には、S904〜S910において第8実施形態のS803〜S809(図19)と同様の処理が行われ、この場合にのみ記号を認識する処理(S905)が行われる。
【0170】
一方、二次元コードQ8の誤り率が、第2の閾値(第2の誤り率)よりも大きい場合には、S903にてNoに進み、S901でのデコード結果と共に、所定付加情報を出力する。本実施形態では、誤り率が第2の閾値よりも大きい場合に出力すべきデータ(所定付加情報)が予めメモリ35に用意されており、S903でNoに進む場合には、このデータをデコード結果と共に出力する。なお、この場合には、記号を認識する処理(S905)は行われず、省略されることとなる。
【0171】
本実施形態に係る発明では、「第1の誤り率」を適切に調整することにより、記入領域861に何らかの記入がなされたか否かを「第1の誤り率」によって区別することができるようになり、「第2の誤り率」を適切に調整することにより、記入領域861に記号が記入された場合と記号以外の記入(塗り潰し等)がなされた場合とを「第2の誤り率」によって区別することができるようになる。そして、二次元コードQ8の誤り率が「第2の誤り率」以上の場合に、記号認識を行わないようにしているため、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【0172】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
本発明の「二次元コード」としては、例えばQRコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有するコードであればこれら以外であってもよい。
【0173】
上記実施形態ではJISX0510に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
【0174】
上記実施形態では、所定の算出方法で算出される誤り率を例示したが、誤り率の算出方法は上記方法に限られない。即ち、誤りが検出されたデータ量の度合いを求めうる方法であれば上記実施形態以外の方法で誤り率を求めてもよい。例えば誤りが検出されたデータコードブロックの数そのものを誤り率としてもよい。
【0175】
第1実施形態では、照明光源21から出射される照明光Lfが二次元コードQに形成された目印60と同一色である例を示したが、構成としては同一色に限られず、目印60の色と同系色であればよい。例えば、目印60が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色の照明光Lfを照射するように照明光源21を構成してもよい。なお、このように目印と同一色又は同系色の照明光を照射する構成についてはいずれの実施形態についても好適に用いることができる。
【0176】
第1実施形態では、マーカ光照射部51から出射されるマーカ光が二次元コードQに形成される目印60と同一色である例を示したが、この場合も同一色に限られず、目印60と同系色であればよい。例えば、目印60が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色のマーカ光を照射するようにマーカ光照射部51を構成してもよい。なお、このように目印と同一色又は同系色のマーカ光を照射する構成については、第5実施形態を除いたいずれの実施形態についても好適に用いることができる。
【0177】
第8実施形態では、二次元コードQ8の誤り率が所定閾値以上である場合に記号認識を行っていたが、二次元コードQ8において、「所定の誤り位置」で誤りが検出された場合に記号認識を行うようにしてもよい。この「所定の誤り位置」としては、記入領域861内のいずれかのデータコードブロックの位置であってもよく、記入領域861内の特定数(例えば2つ)のデータコードブロックの位置であってもよい。
【0178】
第8実施形態では、記入領域内に複数のセルが配置され、このセルに重ね書きされる形態で記号が記入されたときの例を示したが、図23(a)のように二次元コードQ8の記入領域861が作業者等によって塗り潰されてセルサイズよりも大きい単一色領域として構成され、この単一色領域に記号が記入されたときに、この記入された記号を認識するようにしてもよい。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景(単一色領域)とを区別しやすく、記入された記号をより正確に認識することができる。
【符号の説明】
【0179】
20…二次元コード読取装置
21…照明光源(照明手段)
28…受光センサ(取得手段)
35…メモリ(登録手段)
40…制御回路(取得手段、誤り状態検出手段、デコード手段、認識手段、報知手段、確認手段)
43…LED(報知手段)
44…ブザー(報知手段)
46…液晶表示器(報知手段)
51…マーカ光照射部(マーカ光照射手段)
60,860…目印
61,861…記入領域
Q,Q1,Q2,Q8…二次元コード
D1〜D28…データコードブロック
E1〜E16…誤り訂正コードブロック
【技術分野】
【0001】
本発明は、二次元コード読取装置、二次元コード生成装置、及び二次元コードに関するものである。
【背景技術】
【0002】
現在、様々な物品の製造現場において製品管理を好適に行うべく二次元コードが広く用いられている。製造現場などで二次元コードを利用する方法は様々に考えられるが、その一例としては、製品番号などをコード化して製品に貼り付けておき、各種工程で自動読み取りするといった方法が挙げられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】2005−284800公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
製造現場などで二次元コードを利用する具体的方法としては、例えば、製品テスト等においてテスト合格品と不合格品とが生じうる場合に、不合格品に付される二次元コードについてペン等によって印(例えばある程度の部分を塗り潰す等)を付けるようにし、当該二次元コードが正常に読み取られないようにしておく方法が考えられる。このようにしておくと、後に合格品と不合格品とを選別する際に、二次元コードを正常に読み取ることができるものを合格品とし、正常に読み取ることができないものを不合格品として選別できるようになる。
【0005】
しかしながら、上記のように二次元コードを完全に読み取ることができないようにすると、二次元コードに含まれる情報を利用できなくなるという問題がある。例えば、上記のようにペン等で印をつけて合格品と不合格品との選別を行う場合、読取不良が生じたものを不合格品であると認識することはできるが、この場合、二次元コードに含まれる製品番号等のデータは利用できなくなっているため、不合格品と判断されたものと二次元コードに含まれるデータ(製品番号等)との対応付けができなくなってしまう。即ち、二次元コードを読み取っても、不合格品と判断されたものがどの種別の製品であるか等を把握することができず、各種管理を円滑に行いにくくなるという問題がある。
【0006】
このような問題を解消する方法としては、例えば、不合格品については新たな二次元コードを貼り付けるといった方法が考えられるが、この方法を用いると、別途二次元コードを生成し貼り付ける必要があるため工数や装置を増やさなければならないという問題があり、また、製品に別途貼り付けスペースを確保しておかなければならないという問題もある。
【0007】
なお、本発明に関連する技術としては例えば特許文献1のようなものが挙げられる。しかしながら、特許文献1の技術は、誤り検出状態に基づいて二次元コードの読取可否を報知しようとするものであり、二次元コード内の情報を有効利用しつつ二次元コードに別途付加される記載によって新たな情報を発生させようとする上記問題を解決しうるものではない。
【0008】
本発明は、上述した課題を解決するためになされたものであり、二次元コード内の情報を有効利用できるようにしつつ、作業者により当該二次元コードに新たな記入を行い得るようにし、更に、その新たな記入に対応した付加情報を利用できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、請求項1の発明は、誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
本発明の「二次元コード」としては、例えばQRコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有する二次元コードであればこれら以外であってもよい。
「所定の記入領域」としては、予め目印が付された領域であってもよく、目印が付されていない領域(例えば、読取装置などによって記入領域を特定する構成)であってもよい。
【0010】
請求項2の発明は、請求項1に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする。
【0011】
請求項3の発明は、請求項1又は請求項2に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする。
【0012】
請求項4の発明は、請求項1から請求項3のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【0013】
請求項5の発明は、請求項1から請求項3のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【0014】
請求項6の発明は、請求項1から請求項5のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対して照明光を発する照明手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする。
【0015】
請求項7の発明は、請求項1から請求項6のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする。
【0016】
請求項8の発明は、請求項1から請求項7のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【0017】
請求項9の発明は、請求項1から請求項7のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【0018】
請求項10の発明は、請求項1から請求項9のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする。
【0019】
請求項11の発明は、請求項1から請求項10のいずれかに記載の二次元コード読取装置において、更に、前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に前記記入領域に記入された記号を認識する認識手段が設けられている。そして、前記デコード手段は、前記認識手段によって前記記号が認識された場合に、その認識記号に対応する対応情報を前記付加情報として出力している。
【0020】
請求項12の発明は、請求項11に記載の二次元コード読取装置において、
読取対象となる前記二次元コードが、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、前記認識手段が、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識している。
【0021】
請求項13の発明は、請求項12に記載の二次元コード読取装置において、
前記誤り状態検出手段が、前記二次元コードの誤り率が第1の誤り率以上となっている状態を前記所定の誤り状態として検出している。そして、前記認識手段は、前記二次元コードの誤り率が、前記第1の誤り率以上であり、且つ前記第1の誤り率よりも大きい第2の誤り率以下である場合に、前記記号を認識する処理を行い、前記二次元コードの誤り率が、前記第2の誤り率よりも大きい場合には、前記記号を認識する処理を行わないように構成されている。
【0022】
請求項14の発明は、請求項11に記載の二次元コード読取装置において、
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された前記記号を認識している。
【0023】
請求項15の発明は、請求項11から請求項14のいずれか一項に記載の二次元コード読取装置において、
更に、一又は複数の記号によって構成される登録記号が複数記憶される共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、が設けられている。
そして、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力している。
【0024】
請求項16の発明は、請求項15に記載の二次元コード読取装置であって、
前記登録手段において、各登録記号毎に処理工程データが対応付けられて登録されており、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記認識記号に対応した処理工程データを前記付加情報として出力している。
【0025】
請求項17の発明は、請求項15又は請求項16に記載の二次元コード読取装置において、更に、前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。
【0026】
請求項18の発明は、デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、その記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする。
【0027】
請求項19の発明は、デコードすべきデータをコード化したデータコードブロックと、誤り訂正用のデータをコード化した誤り訂正コードブロックと、を備えた二次元コードであって、コード領域内に所定の記入領域が形成されており、前記記入領域は、当該記入領域内に記入がなされた場合に、その記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする。
【0028】
なお、上記構成要件を用いた以下のシステムを構成することもでき、この場合も請求項1と同様の効果を奏することとなる。
当該システムは、誤り訂正機能を有する二次元コードと、当該二次元コードを読み取る二次元コード読取装置とを用いた読取システムであって、前記二次元コード読取手段は、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
このようなシステムを構成した場合、請求項2から請求項9のいずれか1つ又はいずれか複数の構成を付加してもよい。
【発明の効果】
【0029】
請求項1の発明では、所定の記入領域が設けられると共に、当該記入領域内に記入がなされた後の誤り状態検出手段による誤り状態の検出において所定の誤り情報が確認されるように構成された二次元コードを読取対象としており、当該二次元コードを読み取る際に所定の誤り情報が確認された場合、二次元コードのデコード結果に加え、所定の誤り情報に対応する付加情報を出力するようにしている。このようにすると、ユーザによって記入領域に記入処理が施された場合に、誤り状態検出手段によって「所定の誤り情報」が確認され、デコードの際に「所定の誤り情報」に対応する付加情報が出力されることとなり、二次元コードに元々含まれていた情報以外の付加情報を発生させ利用できるようになる。また、上記のように記入領域内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、二次元コード内に元々含まれていた情報についても有効利用できるようになる。
【0030】
請求項2の発明では、「所定の誤り情報」が、二次元コードの所定位置に誤りが発生したことを示す位置情報を含んだものとされている。このように位置情報によって「所定の誤り情報」か否かを判断するようにすれば、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【0031】
請求項3の発明は、「所定の誤り情報」が、誤り率情報(二次元コードが所定の誤り率となっていることを示す情報)を含んだものとされている。このようにすると、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【0032】
請求項4の発明のように、複数の記入態様を想定した二次元コードを読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【0033】
請求項5の発明のように、記入のバリエーションが多い二次元コードを読取対象とし、得られた対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【0034】
請求項6の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、且つ照明手段により目印と同系色の照明光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色の照明光によって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【0035】
請求項7の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、目印と同系色のマーカ光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【0036】
請求項8の発明は、読取対象となる二次元コードの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させやすい構成を実現できる。
【0037】
請求項9の発明では、記入領域に記入がなされた後の二次元コードの誤り状態と、記入前の誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このように記入前の二次元コードを基準とすれば、様々な種類の二次元コードにおいて「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【0038】
請求項10の発明では、マーカ光照射手段により、記入領域を特定する特定図形を表示するようにしている。このようにすると、二次元コード内に特別な目印があるか否かにかかわらず記入領域を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【0039】
請求項11の発明は、誤り状態検出手段によって所定の誤り情報が確認された場合に記入領域に記入された記号を認識する認識手段が設けられている。そして、デコード手段は、この認識手段によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【0040】
請求項12の発明では、読取対象となる二次元コードが、記入領域内において情報表示単位セルが複数配置されてなるものであり、認識手段は、記入領域に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できる。
【0041】
請求項13の発明は、誤り状態検出手段が、二次元コードの誤り率が第1の誤り率以上となっている状態を所定の誤り状態として検出している。そして、認識手段は、二次元コードの誤り率が、第1の誤り率以上であり、且つ第1の誤り率よりも大きい第2の誤り率以下である場合に、記号を認識する処理を行い、二次元コードの誤り率が、第2の誤り率よりも大きい場合には、記号を認識する処理を行わないように構成されている。このようにすると、「第1の誤り率」を適切に調整することにより、記入領域に何らかの記入がなされたか否かを「第1の誤り率」によって区別することができるようになり、「第2の誤り率」を適切に調整することにより、記入領域に記号が記入された場合と記号以外の記入(塗り潰し等)がなされた場合とを「第2の誤り率」によって区別することができるようになる。そして、二次元コードの誤り率が「第2の誤り率」以上の場合に、記号認識を行わないようにすれば、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【0042】
請求項14の発明は、読取対象となる二次元コードにおいて記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された記号を認識している。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景とを区別しやすく、記入された記号をより正確に認識することができる。
【0043】
請求項15の発明は、登録手段において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、確認手段により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、デコード手段により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ(登録記号別データ)を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号(登録記号)であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【0044】
請求項16の発明は、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号が登録手段に登録されていると確認された場合に、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【0045】
請求項17の発明は、認識記号が登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【0046】
請求項18の発明によれば、請求項1と同様の効果を奏する二次元コード生成装置を実現できる。
【0047】
請求項19の発明によれば、請求項1と同様の効果を奏する二次元コードを実現できる。
【図面の簡単な説明】
【0048】
【図1】図1は、本発明の第1実施形態に係る二次元コード読取装置を概略的に例示するブロック図である。
【図2】図2は、図1の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。
【図3】図3は、図2の二次元コードのコード構成を概念的に説明する説明図である。
【図4】図4は、図1の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図5】図5は、二次元コードが付された読取対象物を例示する説明図であり、(a)は記入領域に記入がなされていない二次元コードが付された状態を説明する説明図であり、(b)は記入領域に記入がなされた二次元コードが付された状態を説明する説明図である。
【図6】図6は、読取対象物に対して目印と同色の照明光を照射する様子を説明する説明図である。
【図7】図7は、第2実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図8】図8は、第3実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図9】図9は図8の二次元コード読取装置で用いられる基準コードを例示する説明図である。
【図10】図10は、第4実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図11】図11(a)は、記入前の二次元コードを例示する説明図であり、図11(b)は、記入後の二次元コードを例示する説明図である。
【図12】図12は、第5実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図13】図13は、二次元コードに対して特定図形を表示する例を説明する説明図である。
【図14】図14は、第6実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図15】図15は、図14の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。
【図16】図16は、図14の解読処理の変更例を示すフローチャートである。
【図17】図17は、第7実施形態の二次元コード読取装置で用いられる二次元コードを例示する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。
【図18】図18は、第8実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。
【図19】図19は、第8実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図20】図20は、二次元コードが付された読取対象物を例示する説明図であり、(a)は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、(b)は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。
【図21】図21は、登録記号別データの一例を概念的に説明する説明図である。
【図22】図22は、第9実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図23】図23は、第8実施形態で用いる二次元コードの別例を説明する説明図である。
【発明を実施するための形態】
【0049】
[第1実施形態]
以下、本発明の二次元コード読取装置を具現化した第1実施形態について図面を参照して説明する。図1は、本発明の第1実施形態に係る二次元コードリーダ20を概略的に例示するブロック図である。
【0050】
図1に示すように、二次元コードリーダ20は、主に、照明光源21、受光センサ28、フィルタ(図示略)、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【0051】
光学系は、照明光源21、受光センサ28、フィルタ(図示略)、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ28を挟んだ両側に照明光源21が設けられており、図略のハウジングの読取口を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には二次元コードQが印刷されている。
【0052】
また、本実施形態では、上記光学系に加え、マーカ光照射部51が設けられている。マーカ光照射部51は読取対象物Rに向けてマーカ光を照射する機能を有するものであり、レーザダイオードと、レンズ手段と、駆動回路とによって構成されている(いずれも図示略)。レーザダイオードは、図1に示す制御回路40からの信号に応じて駆動し、レーザ光からなるマーカ光を出射する構成をなしている。駆動回路は、制御回路40からの指令を受けてレーザダイオードを駆動する公知のレーザダイオード駆動回路によって構成されている。また、レンズ手段は、レーザダイオードにて照射されたマーカ光を集光し、読取対象物表面において読取位置の目印となるパターンを表示させるように機能する。なお、マーカ光照射部51は、「マーカ光照射手段」の一例に相当する。
【0053】
受光センサ28は、読取対象物Rや二次元コードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ28の受光面28aは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ28は、結像レンズ27を介して入射する入射光をこの受光面28aで受光可能に図略のプリント配線板に実装されている。
【0054】
フィルタ(図示略)は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ28に入射することを抑制している。
【0055】
結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ28の受光面28aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源21から照射された照明光Lfが二次元コードQに反射して読取口に入射するようになっており、結像レンズ27はこの反射光Lrを集光し受光センサ28の受光面28aに二次元コードQのコード画像を結像している。
【0056】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された二次元コードQの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該二次元コードリーダ20の全体システムに関する制御も行っている。
【0057】
光学系の受光センサ28から出力される画像信号(アナログ信号)は、増幅回路31に入力されて所定ゲインで増幅された後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されて画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ28およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0058】
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ28等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【0059】
制御回路40は、二次元コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続されるものであり、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等と接続されている。なお、通信インタフェース48には、外部装置として例えば当該二次元コードリーダ20の上位システムに相当するホストコンピュータHST等が接続される。
【0060】
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。
【0061】
次に、二次元コードリーダ20によって読み取られる二次元コードについて説明する。
二次元コードリーダ20によって読み取られる二次元コードQは、誤り訂正機能を有するものであり、例えば、図2(a)のような構成のものが用いられる。図2(a)で例示される二次元コードQは、2−M型のQRコード(登録商標)として構成されており、図3のように、3つの位置検出パターンFP1〜FP3を備えると共に、28のデータコードブロック(D1〜D28)と、16の誤り訂正コードブロック(E1〜E16)を配置し得る構成をなしている。
【0062】
データコードブロック(D1〜D28)は、デコードすべきデータをコード化したブロックであり、例えば製品番号等の各種データがデータコード語によって表され、複数のセルによって表現されている。また、誤り訂正コードブロック12は、誤り訂正用のデータをコード化したブロックである。この誤り訂正コードブロック12を構成する誤り訂正コード語は、データコードブロック(D1〜D28)を構成するデータコード語に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば、JISX0510:2004に規定された誤り訂正コード語の生成方法(JISX0510:2004、8.5誤り訂正)を用いることができる。誤り訂正コードブロック12は、このような方法によって生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。
【0063】
また、図2(a)の二次元コードQは、コード領域内に所定の記入領域が設けられている。図2(a)の例では、コード領域内に矩形枠の目印60が形成されており、この目印60の内部領域が記入領域61として構成されている。なお、図2(a)の例では、記入領域の位置を一点鎖線61にて概念的に示している
【0064】
記入領域61は、二次元コードQを使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印60は、コード領域内において記入領域61の位置を特定する機能を有しており、図2(a)の例では、目印60によって記入領域の外縁が特定されている(即ち、目印60の内部領域全体が記入領域61として構成されている)。
【0065】
上記のように二次元コードQに設けられた記入領域61は、当該記入領域61内に記入がなされた場合に、その記入後の当該二次元コードQの誤り検出において「所定の誤り情報」が確認されるように構成されるものである。具体的には、記入領域61内のデータコードブロックに誤りが存在し、かつ記入領域61外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置20による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。従って、記入領域に記入(例えば作業者によるペンなどを用いた塗り潰し等)がなされ、記入領域61内のデータコードブロックが誤った状態となったとき、読み取りの際の誤り検出処理(後述)において「所定の誤り率」が確認されることとなる。なお、特定の1つのデータコードブロックが記入領域61として定められていてもよく、特定の複数のデータコードブロックが記入領域として定められていてもよい。
本実施形態では、「所定の誤り率」が「所定の誤り情報」の一例に相当する。
【0066】
次に、二次元コードの解読処理について説明する。図4は、図1の二次元コードリーダ20で行われる解読処理を例示するフローチャートである。
図4に示す解読処理は、例えば、操作スイッチ42(図1)に対して所定の操作がなされることで開始される。当該解読処理が開始されると、まず二次元コードQを読み取る処理が行われる(S1)。S1の処理では、まず、制御回路40により同期信号を基準に照明光源21に発光信号を出力する動作が行われ、この発光信号に応じて照明光源21により二次元コードQに対して照明光Lfが照射される。二次元コードQに照射された照明光Lfは、二次元コードQが付された読取対象物Rにて反射し、その反射光Lrが読取口およびフィルタ(図示略)を介して結像レンズ27に入射する。そして、結像レンズ27により二次元コードQの像、つまりコード画像が受光センサ28の受光面28aに結像される。これにより、受光センサ28を構成する各受光素子が露光され、受光センサ28から二次元コードQの像(コード画像)に応じた画像信号が出力される。そして、この画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。
【0067】
なお、本実施形態では、制御回路40及び受光センサ28が「取得手段」の一例に相当し、二次元コードQのコード画像を取得するように機能する。また、制御回路40は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【0068】
さらに、S1の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出する処理を行う(S2)。S1の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、S2の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合(誤り率)を算出する。具体的には例えば、全データコードブロックの数Xaに対する誤りが確認されたデータコードブロックの数Xbの割合Xb/Xaを誤り率として算出する。
【0069】
そして、S2で算出された誤り率が、予め定められた「所定の誤り率」であるか否かを判断する(S3)。本実施形態で用いる二次元コードQは、記入領域61内のデータコードブロックに誤りが発生した場合に「所定の誤り率」となるように構成されており、S3の処理では、S2で算出された誤り率が「所定の誤り率」であるか否かを判断することで、記入領域61に記入がなされたか否かを判断している。
【0070】
例えば、特定の1つのデータコードブロックが記入領域として定められており、その特定の1つのデータコードブロックが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「5%」となるように構成されている場合、この「誤り率5%」を「所定の誤り情報」として予めメモリ35に記憶しておくことができ、この場合、S2で算出された誤り率がこれと同じか否か(即ち算出された誤り率が5%か否か)をS3にて判断することとなる。なお、この場合、記入領域61内の少なくともいずれかの明色セルが黒色等で塗り潰されたり或いは記入領域の少なくともいずれかの暗色セルが白色等で塗り潰されると、その特定の1つのデータコードブロックが誤ったブロックとして検出されることとなる。勿論、記入領域全体が塗り潰されてもその特定の1つのデータコードブロックが誤ったブロックとして検出される。
【0071】
或いは、特定の複数のデータコードブロックが記入領域として定められており、その特定の複数のデータコードブロック全てが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「10%」となるように構成されている場合、この「誤り率10%」を「所定の誤り情報」として予めメモリ35に記憶しておくことができ、この場合、S2で算出された誤り率がこれと同じか否か(即ち算出された誤り率が5%か否か)をS3にて判断することとなる。なお、この場合、例えば記入領域全体が塗り潰されたときにその特定の複数のデータコードブロックが誤ったブロックとして検出されることとなる。
【0072】
S2で取得された誤り率が「所定の誤り率」ではない場合(例えば図5(a)のような二次元コードQを読み取る場合)、S3にてNoに進み、S1で得られた解読データ(デコード結果)を出力する。一方、S2で取得された誤り率が「所定の誤り率」である場合(例えば図5(b)のような二次元コードQを読み取る場合)、S3にてYesに進み、S1で読み取った解読データに所定の付加情報を付加する処理を行う。この付加情報は予めメモリ35に記憶されており、S4の処理では、当該付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS1で読み取った解読データに付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S5)。なお、S3にてYesに進む場合、Noに進む場合のいずれの場合でも、S5におけるデータの出力は、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。
【0073】
なお、上述の解析処理(図4)では、S2で取得された誤り率が所定の誤り率である場合に付加情報を付加しているが、S2で取得された誤り率が所定の閾値以上である場合に付加情報を付加するようにしてもよい。例えば、記入領域に記入されていないときの誤り率(図2(a)の二次元コードQを読み取ったときの誤り率)よりも大きく、記入領域が塗り潰されたときの誤り率(図2(b)の二次元コードQを読み取ったときの誤り率)よりも小さい閾値を予め設定しておき、S3の処理に代えて、S2で取得した誤り率がこの閾値以上か否かを判断する処理を行うようにしてもよい。この場合、S2で取得した誤り率が閾値以上のときにはS4にて付加情報を付加した上でデータ出力を行い(S5)、S2で取得した誤り率が閾値未満のときにはS5に進んでデータ出力を行うようにすればよい。
【0074】
このように構成される二次元コード読取装置20の利用方法としては様々に考えられるが、その一例としては、所定の選別工程(例えば、検査合格品と不合格品とを選別する構成など)において、特定種類として選別されるものに付される二次元コードQに記入を施し、特定種類ではないものに付される二次元コードQに対しては記入を施さないといった利用方法が挙げられる。例えば、検査工程後において検査合格品に付される二次元コードQに対しては図5(a)のように記入を施さず、検査不合格品に付される二次元コードQに対しては図5(b)のように記入を施すようにし、さらに付加情報として検査不合格品である旨の情報を出力するようにすれば、二次元コードQ内に元々含まれていた情報(データコードブロックによって表される情報)を利用しつつ付加情報を利用して検査合格品及び検査不合格品のいずれであるかを把握できるようになる。
【0075】
本実施形態では、制御回路40が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果(即ち、S1の読取処理にて確認された誤り位置及び誤り内容)に基づいて二次元コードQのデコード(即ち、データコードブロックにてコード化されているデータの解読)を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報(所定の誤り率)が確認された場合、二次元コードQのデコード結果に加え、所定の誤り情報(所定の誤り率)に対応する付加情報を出力するように機能する。
【0076】
なお、本実施形態の照明光源21は、図6に概略的に示すように、二次元コードQに形成された目印60と同一色又は略同一色の照明光Lfを発するように構成されている。例えば、二次元コードQに付された目印60が赤色である場合、赤色LEDを用いて赤色の照明光を照射する構成とすることができる。
【0077】
また、本実施形態では、二次元コードQに対してマーカ光を発するマーカ光照射部51が設けられているが、このマーカ光照射部51から照射されるマーカ光を目印と同一色又は略同一色としてもよい。例えば、目印60が赤色である場合、レーザダイオードによって赤色のマーカ光を照射する構成とすることができる。
【0078】
次に、二次元コードQの生成処理について説明する。
二次元コードQを生成する装置としては、パーソナルコンピュータ等の情報処理装置が用いられるようになっており、下記の生成処理はこの情報処理装置によって行われるものである。なお、情報処理装置は、CPU、ROMやRAM等の記憶手段、キーボードやマウスなどの入力手段、印刷手段等を備えてなるものである。
【0079】
二次元コードQの生成処理では、まず、コード化すべきデータを取得する処理が行われる。このデータ取得処理は、入力手段によって入力されたデータをコード化すべきデータとして取得したり、或いは外部装置から通信によって送られてきたデータをコード化すべきデータとして取得する。そして、その取得データに基づいてデータコード語(デコードすべきデータ)を生成すると共に、誤り訂正コード語(誤り訂正用のデータ)を生成する処理が行われる。なお、取得データに基づいてデータコード語及び誤り訂正コード語を生成する方法については二次元コードの分野では公知であるので詳細は省略するが、例えば、QRコードの場合にはJISX0510:2004に規定されるような公知方法で生成できる。
【0080】
さらに、データコード語及び誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する処理が行われる。この記入領域の設定としては、例えば特定の1つのデータコードブロックを記入領域として設定してもよく、特定の複数のデータコードブロックを記入領域として設定してもよい。
【0081】
そして、生成されたデータコード語、誤り訂正コード語、及び設定された記入領域に基づいて二次元コードQの印刷データが生成される。この印刷データは、生成されたデータコード語及び誤り訂正コード語に基づいてデータコードブロック、誤り訂正コードブロックを公知の方法(例えば、JISX0510:2004の方法)で所定位置に配置し、かつ記入領域の境界部に沿って目印図形を配置するデータである(即ち、図2(a)のような図形を印刷するための描画データである)。なお、記入領域として特定の1つのデータコードブロックが設定される場合、そのデータコードブロックの境界部に沿って目印図形が設定される。また、特定の複数のデータコードブロックによって記入領域が設定される場合、それら複数のデータコードブロックの境界部に沿って目印図形が設定される。
【0082】
このようにして生成される二次元コードQは、上述したように、記入領域内に記入がなされた場合に、その記入後の二次元コードQの誤り検出において所定の誤り情報が確認されるようになっている。例えば、特定の1つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態で把握されるときには、当該データコードブロック全体が誤ったデータとして検出される。この場合、その記入領域に係るデータコードブロックのみが誤り状態であったときの誤り率が「所定の誤り情報」に相当する。
【0083】
また、特定の複数のデータコードブロックを記入領域として設定した場合、それら複数のデータコードブロック全てに誤りが生じた場合の誤り率を「所定の誤り情報」とすることができる。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、特定の複数のデータコードブロックが誤ったデータとして検出されるため、特定の複数のデータコードブロックに誤りが生じかつ他のデータコードブロックに誤りが生じていないときの誤り率を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【0084】
なお、本実施形態では、上記情報処理装置が「二次元コード生成装置」の一例に相当し、情報処理装置のCPUが「コード化手段」の一例に相当し、デコードすべきデータ及び誤り訂正用のデータを生成するように機能する。また、CPUは、「記入領域設定手段」の一例に相当し、コード領域内において所定の記入領域を設定するように機能する。
【0085】
本実施形態の構成によれば、例えば以下のような効果が得られる。
本実施形態に係る二次元コード読取装置20は、記入領域61を備えた二次元コードQを読取対象としており、この二次元コードQは,記入領域61内に記入がなされた後の誤り検出において「所定の誤り情報」が確認されるように構成されている。このような二次元コードQを読取対象とする二次元コード読取装置20では、当該二次元コードQを読み取る際に「所定の誤り情報」が確認されるか否かを判断し、確認された場合に、二次元コードQのデコード結果に加え、「所定の誤り情報」に対応する付加情報を出力する構成をなしている。このような構成とすると、記入領域61に何らかの記入がなされた場合に二次元コードQに元々含まれていた情報以外の新たな情報(付加情報)を発生させ利用できるようになる。また、上記のように記入領域61内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、付加情報だけでなく二次元コードQ内に元々含まれていた情報についても有効利用できるようになる。
【0086】
また、本実施形態の二次元コード読取装置20では、「誤り率情報」(二次元コードが所定の誤り率となっていることを示す情報)を、「所定の誤り情報」としている。このようにすると、記入領域61に記入されたか否かを簡易な構成で精度高く判別できるようになる。
【0087】
また、本実施形態の二次元コード読取装置20は、コード領域内に目印60(記入領域61を特定する印)が形成された二次元コードQを読取対象とし、且つ照明光源21により目印60と同系色の照明光Lfを発するように構成されている。このようにすると、目印61の周囲が当該目印61と同系色の照明光Lfによって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードQの読み取りの際に目印60の影響を効果的に抑えることができ、目印60に起因する誤りの発生を抑制ないし防止できる。
【0088】
また、マーカ光照射部51により、目印60と同系色のマーカ光を発するように構成されている。このようにすると、目印60の周囲が当該目印60と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードQの読み取りの際に目印60の影響を効果的に抑えることができ、目印60に起因する誤りの発生を抑制ないし防止できる。
【0089】
[第2実施形態]
次に第2実施形態について説明する。図7は、第2実施形態の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図7のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0090】
本実施形態の解読処理も第1実施形態と同様に開始され、まずS1(図4)と同様の読取処理が行われる(S21)。このS21の処理では、S1と同様に二次元コードQの像(コード画像)に応じた画像信号が受光センサ28にて出力され、画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0091】
本実施形態の二次元コードリーダの読取対象も第1実施形態と同様であり、誤り訂正機能を有する二次元コードが用いられる。この二次元コードは、記入領域に記入がなされた後に二次元コード読取装置20によって誤り検出処理が行われたときに「所定の誤り情報」が確認されるものであり、本実施形態では、所定位置に誤りが発生したことを示す位置情報を「所定の誤り情報」としている。
【0092】
例えば、図2(a)のようなQRコードを用いる場合、記入領域61に対する記入(例えば作業者によるペンなどを用いた塗り潰し等)によって当該記入領域61が誤った状態となったとき、読み取りの際の誤り検出処理において当該記入領域61の位置が誤り位置として確認されることとなる。具体的には、例えば、特定の1つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態と把握されるときに当該データコードブロック全体が誤ったデータとして検出されることとなる。このような構成の場合、記入領域に対応するデータコードブロックの位置情報を「所定の誤り情報」とすればよい。また、特定の複数のデータコードブロックを記入領域として設定するような場合、それら複数のデータコードブロック全ての位置情報を「所定の誤り情報」とすればよい。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、その記入領域内に少なくとも一部が含まれる特定の複数のデータコードブロック全てが誤ったデータとして検出されるため、この特定の複数のデータコードブロックの位置を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【0093】
S21の読取処理の後には、誤り位置を確認する処理を行う(S22)。図7の例では、S21の読取処理の一部をなす誤り検出処理においてコード画像の誤り位置及び誤り内容を検出しており、S22の処理では、S21において二次元コードQに誤りが検出されていた場合にその誤り位置(誤りが検出されたデータコードブロックの位置)を確認する。
【0094】
そして、その確認された誤り位置が所定の位置(即ち、記入領域61に対応したデータコードブロックの位置)であるかを確認する(S23)。例えば、特定の1つのデータコードブロックが記入領域として設定される場合には、誤りが検出された位置がその特定の1つのデータコードブロックの位置であるかを確認する。或いは、特定の複数のデータコードブロックが記入領域として設定される場合、誤りが検出された位置がそれら特定の複数のデータコードブロックの位置であるかを確認する。
【0095】
S22で確認された誤り位置が所定の位置でない場合、或いは誤りが検出されなかった場合(例えば図5(a)のような二次元コードQを読み取る場合)、S23にてNoに進み、S21で得られた解読データ(デコード結果)を出力する。一方、S22で確認された誤り位置が所定の位置である場合(例えば図5(b)のような二次元コードQを読み取る場合)、S23にてYesに進み、S21で読み取った解読データに所定の付加情報を付加する処理を行う(S24)。この付加情報は第1実施形態で説明した付加情報と同様のものであり、予めメモリ35に記憶されたものである。S24の処理では、当該付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS21で読み取った解読データに付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S25)。なお、出力処理は第1実施形態のS5(図4)と同様である。
【0096】
本実施形態の構成によれば、第1実施形態と同様の効果を奏することとなる。また、本実施形態では、「二次元コードQの所定位置に誤りが発生したことを示す位置情報」を「所定の誤り情報」として、所定の記入領域に記入がなされたか否かを判断しているため、仮に記入領域以外の領域に誤りが発生したとしても記入領域に記入がなされたか否かを精度高く判別できるようになる。
【0097】
[第3実施形態]
次に第3実施形態について説明する。図8は、第3実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図9は、図8の解読処理で用いられる基準コードを例示する説明図である。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図8のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0098】
本実施形態の二次元コード読取装置では、解読処理に先立ち、或いは解読処理中に、予め基準コードの画像を取得すると共にその取得した基準コードの誤り状態を検出しており、その検出された基準コードの誤り状態と、読取対象となる二次元コードQの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。
なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40は、「誤り状態検出手段」「デコード手段」の一例に相当する。
【0099】
図8の解析処理も第1実施形態の解析処理(図4)と同様に開始され、まず二次元コードQの読取処理が行われる(S31)。なお、S31の読取処理はS1(図4)と同様である。そして、S31の読取処理の一部として行われる誤り検出処理での検出結果に基づいて誤り率の算出処理を行う(S32)。なお、S32の算出処理はS2(図4)と同様であり、S32で算出された誤り率P1はメモリ35に一時的に記憶される。
【0100】
その後、基準コードを読み取る処理を行う(S33)。本実施形態では例えば図9(a)のような所定の基準コードが定められており、S33ではこのように予め定められている基準コードを読み取り処理を行う。なお、図9(a)では、記入領域に記入されていない状態の二次元コードQから目印60を取り除いたコードを基準コードとしており、このような基準コードは、例えば解読処理を行う前にサンプルとして別途用意しておくことができる。
【0101】
基準コードの読取処理は、基本的にS1(図4)と同様であり、実際の読取対象(二次元コードQ)ではなく基準コード(図9(a)参照)を読み取っている点のみがS1と異なっている。S33の処理では、作業者によって当該二次元コード読取装置20が基準コードに向けられ且つ読取動作が行われることにより、受光センサ28から基準コードの像に応じた画像信号が出力され、この画像信号に応じた画像データがメモリ35に記憶される。基準コードの画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。
【0102】
そして、基準コードの読取処理(S33)の際に行われた誤り検出処理での検出結果に基づいて基準コードの誤り率P2を算出する処理を行う(S34)。S33の読取処理では誤り検出処理が行われて基準コードの誤り位置及び誤り内容が検出されているため(或いは誤りが存在しないことが判明しているため)、S34では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、基準コードの全データ量に対する誤りデータ量の割合(誤り率)を算出する。なお、この算出はS32と同様の算出式でなされる。具体的には、基準コードの全データコードブロックの数Yaに対する誤りが確認されたデータコードブロックの数Ybの割合Yb/Yaを基準コードの誤り率P2として算出する。
【0103】
そして、二次元コードQについての誤り率P1と基準コードについての誤り率P2とを比較し、その差P1−P2を算出する(S35)。そして、その差P1−P2が所定閾値以上か否かを判断し(S36)、差P1−P2が所定閾値以上の場合にはS36にてYesに進み、付加情報を追加する処理を行う(S37)。この例では、二次元コードQについての誤り率P1と基準コードについての誤り率P2との差P1−P2が所定閾値以上であることを示す情報(換言すれば、誤り率P2との差が所定閾値以上である誤り率P1の情報)が「所定の誤り情報」に相当する。
【0104】
S37の処理はS4(図4)と同様であり、付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS31でのデコード結果(解読データ)に付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S38)。一方、S36にてNoに進む場合には、付加情報を付加せずにS31でデコードしたデータ(解読データ)のみを出力する(S38)。なお、いずれの場合でも第1実施形態と同様の出力方法(S5:図4)を用いることができる。
【0105】
本実施形態では、読取対象となる二次元コードQの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させることができる。
【0106】
なお、上述の構成では、図9(a)のように二次元コードQの記入前の原型(二次元コードQの記入前の形状であってかつ誤ったセルが発生していない状態の型)から目印60を外した構成を基準コードとしているが、図9(b)のような二次元コードQの原型そのもの(目印60が付された状態のもの)を基準コードとしてもよい。
【0107】
また、上述の構成では、二次元コードQについての誤り率P1と基準コードについての誤り率P2との差P1−P2が所定閾値以上であることを示す情報(誤り率P2との差が所定閾値以上である誤り率P1の情報)を「所定の誤り情報」としていたが、この差P1−P2が所定値であることを示す情報(換言すれば、誤り率P2との差が所定値である誤り率P1の情報)を「所定の誤り情報」としてもよい。この場合、図8のS36の処理に代えて、差P1−P2が所定値であるか否かを判断する処理を行うようにすればよい。
【0108】
また、上述の構成では、図8に示すように、解読処理中において二次元コードQを読み取った後に基準コードの読み取り及び誤り率の算出を行っているが、この処理は二次元コードQの読み取り前に行ってもよく、或いは解読処理に先立って行い、予め誤り率P2をメモリ35に記憶しておいてもよい。
【0109】
[第4実施形態]
次に第4実施形態について説明する。図10は、第4実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図11は、図10の解読処理での解読対象を示すものであり、(a)は記入領域に記入される前の状態を示す説明図であり、(b)は記入後の状態を示す説明図である。なお、本実施形態では、解読処理の内容のみが第1実施形態と異なりそれ以外の構成は第1実施形態と同様である。即ち、図4の解読処理を図10のようにした点のみが第1実施形態と異なり、それ以外は第1実施形態と同様であるため、その異なる解読処理について重点的に説明し、第1実施形態と同一の内容(図1〜図3、図5、図6等の内容)については詳細な説明は省略することとする。
【0110】
本実施形態の二次元コード読取装置では、予め、記入領域60に記入される前の二次元コードQの画像(記入前画像)を取得すると共に当該記入前画像の誤り状態を検出している。そして、この記入前画像の誤り状態と、記入領域60に対する記入がなされた後の二次元コードQの誤り状態とを比較し、所定の差異がある場合に二次元コードQに所定の誤り情報が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。 なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40は、「誤り状態検出手段」「デコード手段」の一例に相当する。
【0111】
図10に示す解読処理では、まず記入前の二次元コードを読み取る処理が行われる(S41)。S41の処理は、例えば図11(a)に示すような記入前の二次元コードQを読み取る処理であり、その処理内容はS1(図4)と同様である。なお、S41の処理は、作業者が二次元コード読取装置20を用いて図11(a)のような記入前の二次元コードQを読み取ろうとする操作を行うことにより実行されるものであり、作業者による当該動作に応じて記入前の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。その後、S41で読み取られた記入前の二次元コードQについての誤り率P3を算出する。なお、S42の誤り率算出処理はS41で行われる誤り検出処理に基づいてS2(図4)と同様の方法で行われる。
【0112】
その後、記入後の二次元コードの読取処理が行われる(S43)。S43の処理は、S1(図4)と同一の処理であり、作業者が図11(b)のような記入後の二次元コードQを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。そして、その記入後の二次元コードQの誤り率P4を算出する処理が行われる(S44)。なお、この算出処理もS2(図4)と同様の方法で行われる。
【0113】
そして、記入前の二次元コードQについての誤り率P3と記入後の二次元コードQについての誤り率P4との差P4−P3を算出する(S45)。そして、この差P4−P3が所定の閾値以上か否かを判断し(S46)、差P4−P3が所定閾値以上であればS46でYesに進み、S47の付加処理を行う(S47)。なお、S47の付加処理はS4(図4)と同様であり、付加情報をメモリ35から読み出すと共に、その読み出した付加情報をS43でのデコード結果(解読データ)に付加する。そして、それら両データ(解読データに付加情報を加えたデータ)を出力する(S48)。一方、S46にてNoに進む場合には、付加情報を付加せずにS43でデコードしたデータ(解読データ)のみを出力する(S48)。なお、いずれの場合でも第1実施形態と同様の出力方法(S5:図4)を用いることができる。
【0114】
本実施形態のように、記入前の二次元コード(例えば図11(a))を判断の基準とする構成とすれば、様々な種類の二次元コードに対応しやすい構成となる。即ち、様々な種類の二次元コードにおいて記入領域に対する記入に対応した「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【0115】
また、本実施形態の構成を用いると、例えば図11のように記入領域以外に誤りが存在するようなコード状態であっても記入領域に記入がなされたか否かを正確に判断できるため、コード状態の影響をあまり受けることなく付加情報を出力できるようになる。
【0116】
[第5実施形態]
次に第5実施形態について説明する。
本実施形態では、マーカ光照射手段により特定図形を表示するように構成されている点、及び図4の解読処理に代えて図12の処理を用いている点が第1実施形態と異なっている。
【0117】
本実施形態の二次元コード読取装置では、図12のような流れで解読処理が行われる。 当該処理が開始されると、まずマーカ光照射処理が行われる(S51)。本実施形態では第1実施形態と同様のマーカ光照射部51(図1)が設けられており、このマーカ光照射部51によって図13のような図形が表示されるようになっている。マーカ光によって表示される図形は、位置検出パターンFP1、FP2、FP3にそれぞれに対応する位置検出パターン対応図形MK1、MK2、MK3と、記入領域60に対応する記入領域対応図形MK4とを有しており、これら位置検出パターン対応図形MK1、MK2、MK3、記入領域対応図形MK4が「特定図形」の一例に相当している。
なお、本実施形態でもマーカ光照射部51が「マーカ光照射手段」の一例に相当する。
【0118】
この構成では、二次元コードQの読取処理の際に、ユーザにより二次元コード読取装置の位置が操作され、読取対象物Rに表示される位置検出パターン対応図形MK1、MK2、MK3がそれぞれ位置検出パターンFP1、FP2、FP3に合わせられたときに、記入領域対応図形MK4が記入領域60の位置を示すようになっている。図13の例では、位置検出パターン対応図形MK1、MK2、MK3がそれぞれ矩形枠として表示されるようになっており、全ての位置検出パターン対応図形MK1、MK2、MK3の枠内にそれぞれ位置検出パターンFP1、FP2、FP3が配される位置関係となるように二次元コード読取装置及び読取対象物Rが位置決めされたときに記入領域対応図形MK4の枠内全体が記入領域61となるように構成されている。
【0119】
このように記入領域対応図形MK4によって記入領域60の位置が示されると、どの位置に記入すべきかが判明するため、ユーザは必要に応じて記入領域60に対しペン等によって記入を行うことができるようになる。その後、記入後の二次元コードの読取処理が行われる(S53)。S43の処理は、S1(図4)と同一の処理であり、作業者が記入後の二次元コードQを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードQの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0120】
そして、その記入後の二次元コードQの誤り率を算出する処理が行われる(S53)。なお、この算出処理もS2(図4)と同様の方法で行われる。そして、S53で算出された誤り率が、所定の誤り率か否かを判断し、所定の誤り率であれば付加処理(S55)を行った上で両データ(解読データに付加情報を加えたデータ)データを出力する。一方、所定の誤り率でない場合にはS54にてNoに進み、付加情報を付加せずにデータを出力する(S56)。なお、S54、S55、S56の処理は、図4のS3、S4、S5と同様である。
【0121】
本実施形態の構成によれば、二次元コード内に特別な目印があるか否かにかかわらず記入領域61を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【0122】
なお、図12のような解読処理は、例えば記入領域を特定する目印が記載されていない二次元コードを用いて製品等の管理を行うシステムにおいて、記入領域に適切に記入されているか否か、或いは記入がなされたときに付加情報が適切に付加されているか否かを検査する場合などにおいて特に有利となる。
【0123】
[第6実施形態]
次に第6実施形態について説明する。
図14は、第6実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図15は、図14の二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入されていない状態を示す図であり、(b)は記入領域に第1の記入態様で記入された状態を示す図であり、(c)は、記入領域に第2の記入態様で記入された状態を示す図である。なお、本実施形態では、使用する二次元コード及び解読処理の内容のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。即ち、図4の解読処理を図14のようにした点、及び図2のような二次元コードQに代えて図15のような二次元コードQ1を使用している点のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。よって、異なる点について重点的に説明し、第1実施形態と同一の内容(図1〜図3等の内容)については詳細な説明は省略することとする。
【0124】
本実施形態の二次元コード読取装置では、図14のような流れで解読処理が行われる。
当該処理が開始されると、まず二次元コードQ1を読み取る処理が行われる(S61)。S61の処理はS1(図4)と同様であり、S1と同様に二次元コードQの像(コード画像)に応じた画像信号が受光センサ28にて出力され、画像信号に応じた画像データがメモリ35に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ35に記憶される。なお、本実施形態でも、制御回路40及び受光センサ28が「取得手段」の一例に相当する。また、制御回路40が、「誤り検出手段」の一例に相当する。
【0125】
その後、誤り率を算出する処理を行う(S62)。S62の誤り率算出処理自体はS2(図4)と同様であり、S61の読取処理で行われる誤り状態の検出結果に基づいて誤り率P5が算出される。
【0126】
ところで、本実施形態での読取対象(二次元コードQ1)は、複数の記入領域(図15では2つの記入領域160a、160b)が設けられており、記入の仕方を変えることによって複数の記入態様を発生させることができるようになっている。具体的には、例えば、記入領域160aのみが記入された第1態様、両記入領域160a,160bが記入された第2記入態様を生じさせることができるようになっており、S61の読取処理で行われる誤り状態の検出結果に基づいて、これら第1、第2記入態様に対応した誤り率(対応誤り率)が算出されるようになっている。より詳しく言えば、二次元コードQ1は、正常状態(図15(a)のように、記入領域160a、160b及び目印161a、161b以外に誤りを発生させる要因が無い状態)において記入領域160aのみに記入がなされ、記入領域160aのみに誤りが発生した場合(即ち図15(b)のような第1記入態様の場合)に、検出される誤り率P5が、閾値Z1よりも大きく且つ閾値Z2以下となるように構成されており、両記入領域160a、160bに記入がなされ、両記入領域160a、160bに誤りが発生した場合(即ち図15(c)のような第2記入態様の場合)に、検出される誤り率P5が、閾値Z2よりも大きく且つ閾値Z3以下となるように構成されている。従って、S62で算出された誤り率P5が判明すれば、Z1〜Z3に基づいてどの記入態様が生じたかを把握できることとなる。なお、この例では、「誤り率P5がZ1よりも大きく且つZ2以下であるという情報」「誤り率P5がZ2よりも大きく且つZ3以下であるという情報」がいずれも「対応誤り情報」の一例に相当する。
【0127】
具体的な流れとしては、S63においてS62で算出された誤り率P5が閾値Z1以下か否かを判断し、閾値Z1の場合にはいずれの対応誤り情報も発生していないものとみなし、S61でのデコード結果(解読データ)を出力する(S68)。一方、S62で算出された誤り率P5が閾値Z1よりも大きい場合、S63でNoに進み、誤り率P5が閾値Z2以下か否かを判断する。誤り率P5が閾値Z2以下の場合とは、即ち第1記入態様が発生している場合であるため、S65の付加処理において、第1記入態様に対応した対応付加情報AをS61のデコード結果(解読データ)に付加する。この場合、S61での解読データに付加情報Aを付加した情報が出力される(S68)。
【0128】
また、S64で誤り率P5が閾値Z2よりも大きいと判断される場合、S64にてNoに進み、誤り率P5が閾値Z3以下であるか否かを判断する。誤り率P5が閾値Z2よりも大きく且つ閾値Z3以下の場合とは、即ち第2記入態様が発生している場合であるため、S65の付加処理において、第2記入態様に対応した対応付加情報BをS61のデコード結果(解読データ)に付加する。この場合、S61での解読データに付加情報Bを付加した情報が出力される(S68)。なお、誤り率P5が閾値Z3よりも大きい場合には、いずれの付加情報も付加せずにS61で得られた解読データを出力する(S68)。
【0129】
本実施形態のように、記入のバリエーションが多い二次元コードQ1を読取対象とし、対応誤り情報に応じた対応付加情報を出力する構成とすれば、より多くの種類の付加情報を付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【0130】
本実施形態は、例えば、読取対象物を多種別(種別A、B、C)に選別した後に、いずれの種別であるかを二次元コードに記録しておきたい場合に有効である。例えば、種別Aと選別されたものについては記入を行わず、種別Bと選別されたものについては記入領域160aのみに記入し、種別Cと選別されたものについては両記入領域160a、160bに記入するといった使い方が可能となる。この場合、第1記入態様が確認されたもの(即ち、誤り率P5がZ1よりも大きく且つZ2以下であるという対応誤り情報が確認されたもの)については種別Bである旨の情報を対応付加情報として付加し、第2記入態様が確認されたもの(誤り率P5がZ2よりも大きく且つZ3以下であるという対応誤り情報)については種別Cである旨の情報を対応付加情報として付加するようにすれば、いずれの種別として選別されたものであるかを二次元コードQ1によって把握できるようになる。
【0131】
また、図14の処理を図16のように変更してもよい。図16の解読処理でも、まず二次元コードQ1(図15)を読み取る処理が行われる(S71)。なお、このS71の処理もS1(図4)と同様である。そして、その読取処理(S71)で行われた誤り検出結果に基づいて誤り位置を取得する(S72)。S71で行われる誤り検出処理では誤り位置の検出も行われるため、S72ではこの検出結果に基づいてどの位置に誤りが発生したかを把握しメモリ35に記憶しておく。
【0132】
そして、S72での確認結果に基づいて所定位置1に誤りが発生しているかを確認する。この「所定位置1」は記入領域160a(図15)の位置のことであり、S73では記入領域160aの位置に誤りが発生しているかを確認している。例えば図15(b)のように所定位置1に誤りが発生している場合にはS73にてYesに進み、S71で読み取った解読データに付加情報Aを付加する(S74)。
【0133】
S73でNoに進む場合、或いはS74が終了した場合には所定位置2に誤りが発生しているかを確認する。この「所定位置2」は記入領域160b(図15)の位置のことであり、S75では記入領域160bの位置に誤りが発生しているかを確認している。例えば図15(c)のように所定位置2に誤りが発生している場合にはS75にてYesに進み、S71で読み取った解読データに付加情報Bを付加する(S76)。
【0134】
図16の例では、記入領域160aに記入がなされるという「第1の記入態様」と、記入領域160bに記入がなされるという「第2の記入態様」とを少なくとも想定しており、第1の記入態様が生じる場合には、誤り検出処理において所定位置1に誤りが発生した旨の情報が確認され、第2の記入態様が生じる場合には、所定位置2(記入領域160bの位置)に誤りが発生した旨の情報が確認されるようになっている。なお、この場合、「所定位置1に誤りが発生した旨の情報」「所定位置2に誤りが発生した旨の情報」が「対応誤り情報」の一例に相当する。また、この場合、付加情報Aが、「対応付加情報」の一例に相当し、所定位置1に誤りが発生した旨の情報(対応誤り情報)に応じて出力される。また、付加情報Bも、対応付加情報の一例に相当し、所定位置2に誤りが発生した旨の情報(対応誤り情報)に応じて出力される。
【0135】
[第7実施形態]
次に第7実施形態について説明する。第7実施形態は、図15のような二次元コードQ1に代えて図17のような二次元コードQ2を読取対象としている点が第6実施形態と異なり、それ以外は第6実施形態と同様である。解読処理についても基本的に図14と同様である。
【0136】
本実施形態で用いる二次元コードQ2は、例えば図17(a)のようなものである。なお、図17(a)の二次元コードQ2は、記入領域以外は図2と同様である。この二次元コードQ2は、単一の記入領域を260を備えてなるものであり、この記入領域260に対して複数の記入状態を発生させることができるようになっている。具体的には、図17(b)のように、記入領域260の特定部分(図17(b)の例では左半分)が塗り潰されたときに(第1の記入態様のとき)、検出される誤り率P5が、閾値Z1よりも大きく且つ閾値Z2以下となるように構成されており、図17(c)のように記入領域260の全部が塗り潰されたとき(第2の記入態様のとき)に、検出される誤り率P5が、閾値Z2よりも大きく且つ閾値Z3以下となるように構成されている。
【0137】
本実施形態でも図14のように解読処理が行われるが、図17(b)のように左半分のみが塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率P5は閾値Z1よりも大きく且つ閾値Z2以下となるため、S61でのデコード結果(解読データ)に付加情報Aが付加され(S65)、それらが出力されることとなる(S68)。また、図17(c)のように全部が塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率P5は閾値Z2よりも大きく且つ閾値Z3以下となるため、S61でのデコード結果(解読データ)に付加情報Bが付加され(S67)、それらが出力されることとなる(S68)。
【0138】
本実施形態のように、複数の記入態様を想定した二次元コードQ2を読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、多くの種類の付加情報を付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【0139】
[第8実施形態]
次に第8実施形態について説明する。図18は、第8実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、(a)は、記入領域に記入される前の状態を示す図であり、(b)は記入領域に記入された後の状態を示す図である。図19は、第8実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。図20は、二次元コードが付された読取対象物を例示する説明図であり、(a)は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、(b)は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。図21は、登録記号別データの一例を概念的に説明する説明図である。
【0140】
本実施形態に係る二次元コード読取装置は、ハードウェア的には第1実施形態と同一の構成(図1)である。従って、適宜図1を参照することとし、各部の詳細な説明は省略する。
【0141】
本実施形態で用いられる二次元コードQ8は、図18(a)に示すように、第1実施形態で用いられる二次元コードQ(図2)と同様の構成をなしており、目印のみが第1実施形態と若干異なっている。第8実施形態で用いる二次元コードQ8も、コード領域内に矩形枠の目印860が形成されており、この目印860の内部領域が記入領域861として構成されている。
【0142】
記入領域861は、二次元コードQ8を使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印860は、コード領域内において記入領域861の位置を特定する機能を有しており、図18(a)の例では、目印860によって記入領域の外縁が特定されている(即ち、目印860の内部領域全体が記入領域861として構成されている)。
【0143】
上記のように二次元コードQ8に設けられた記入領域861は、当該記入領域861内に記入がなされた場合に、その記入後の二次元コードQ8を読み取る際の誤り検出において「所定の誤り情報」が確認されるように構成されるものである。本実施形態では、特定の複数のデータコードブロックが記入領域861として定められており、例えば、記入領域861内のいずれかのデータコードブロックに誤りが存在し、かつ記入領域861外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置20による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。
【0144】
次に、本実施形態に係る二次元コード読取装置で行われる解読処理について説明する。本実施形態でも、図19に示すように、まず二次元コードを読み取る処理が行われる(S801)。S801の処理は、第1実施形態のS1(図4)と同様の処理であり、図1に示す受光センサ28によって二次元コードQ8を撮像し、この画像信号に応じた画像データをメモリ35に記憶する。そして、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理を行い、デコード処理によって解読されたデータを最終的にメモリ35に記憶する。
【0145】
なお、本実施形態でも、図1に示す制御回路40及び受光センサ28が「取得手段」の一例に相当し、二次元コードQ8のコード画像を取得するように機能する。また、制御回路40は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【0146】
さらに、S801の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出し、誤り率が閾値以上であるか判断する処理を行う(S802)。S801の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、S802の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合(誤り率)を算出する。具体的には例えば、全データコードブロックの数Xaに対する誤りが確認されたデータコードブロックの数Xbの割合Xb/Xaを誤り率として算出する。 そして、その算出された誤り率が、予め定められた閾値以上であるか否かを判断する。
【0147】
本実施形態で用いる二次元コードQ8は、記入領域861内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、所定の誤り率となるように構成されており、S802で用いる閾値は、この所定の誤り率よりも低い値であって、0よりも大きい値に設定されている。なお、本実施形態では、二次元コードQ8の誤り率が所定閾値(S802)以上であることを示す情報が「所定の誤り情報」の一例に相当する。
【0148】
S802において、誤り率が閾値未満であると判断される場合(例えば、図18(a)、図20(a)のような二次元コードQ8を読み取る場合)、S802にてNoに進み、S801で得られた解読データ(デコード結果)を出力する(S810)。
【0149】
一方、S802において、誤り率が閾値以上であると判断される場合(例えば図18(b)、図20(b)のような二次元コードQ8を読み取る場合)、S802にてYesに進み、記号入力枠を特定する処理を行う(S803)。この処理は、後述する記号認識処理を行う領域を特定する処理である。この処理では、予め定められた方法で記号入力枠を特定しており、その特定方法としては、例えば、誤りが生じている全データコードブロックを記号入力枠として特定してもよく、二次元コード読取装置20内にあらかじめ登録されている情報に基づいて記号入力枠を特定してもよい。あらかじめ登録されている情報に基づいて記号入力枠を特定する方法としては、例えば、二次元コードQ8の記入領域の位置情報を二次元コード読取装置20内に記録しておき、S803の処理においてこれを読み出すようにすればよい。
【0150】
S803の後には、記号認識処理を行う(S804)。S804では、画像処理分野において公知とされている文字認識技術を用い、S803で特定された枠内の記号を認識する。なお、文字認識技術としては、公知の様々な方式を用いることができ、例えば、光学式文字読取装置(OCR:optical character reader)で用いられる技術などを好適に利用できる。この技術自体は公知であるので詳細な説明は省略するが、この場合、装置内に記号ごとの標準パターンを登録しておき、この標準パターンと入力パターンのマッチングによって認識を行えばよい。
【0151】
本実施形態では、図18に示すように、読取対象となる二次元コードQ8において記入領域861内に情報表示単位セルが複数配置されており、記入領域861に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を記号として認識している。例えば、図18(a)のように、記入領域861内に白色セルと黒色セルとが配置され、これらセルの色とは異なる色で記号が記入されたときには、そのセル色以外の領域を抽出し、記号を認識する。図18(b)では、「NG」という文字がセル色以外の色(例えば赤色)で記入された例を示しており、このような場合には、その赤色の文字を認識することとなる。なお、本実施形態では、制御回路40が「認識手段」の一例に相当する。
【0152】
そして、S804での記号認識が成功したか否かを判断し(S805)、成功した場合には、S805にてYesに進み、S804で認識された記号(認識記号)と登録記号とを比較する処理を行う(S806)。
【0153】
本実施形態では、メモリ35(図1)において、登録記号が複数記憶され、各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。各登録記号は、一又は複数の記号(例えば複数の文字)によって構成されたものであればよく、登録記号の内容や、登録記号別データの内容は様々に設定することができる。図21にはその一例を示しており、図21の例では、NG1、NG2、修理1、修理2等の登録記号が登録されており、各登録記号と対応付けられて、「不良品として登録、廃棄処理」「不良品として登録、再利用処理」「修理可能品、修理工程1」「修理可能品、修理工程2」といった処理工程データがそれぞれ「登録記号別データ」として登録されている。
【0154】
S806の比較処理では、S804で認識された記号が、メモリ35に登録された複数の登録記号のいずれかと一致するか否かを確認し、その確認処理後、S804で認識された記号(認識記号)がいずれかの登録記号と一致したか否かを判断する処理を行う(S807)。なお、本実施形態では、メモリ35が「登録手段」の一例に相当する。また、制御回路40が「確認手段」の一例に相当する。
【0155】
S807の判断処理において、認識記号がいずれかの登録記号と一致したと判断された場合、S807にてYesに進み、認識記号と一致した登録記号に対応する登録記号別データを「付加情報」として、S801でのデコード結果と共に出力する(S808)。例えば、登録内容が図21のような内容であり、S804にて認識された認識記号が「NG1」である場合には、デコード結果に付加する「付加情報」として、「NG1」に対応付けられた「不良品として登録、廃棄処理」という処理工程データを出力する。なお、このデータ出力は、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。また、S808で出力する内容は、登録記号別データの一部又は全部であってもよく、登録記号別データに対応する内容であってもよい。「登録記号別データに対応する内容を出力する」例としては、登録記号別データに対応付けられたマークを液晶表示器46に表示したり、登録記号別データに対応するランプ表示や音声出力を行うようにしてもよい。
【0156】
一方、S805にてNoに進む場合、或いはS807にてNoに進む場合には、S801でのデコード結果と共に、報知データを出力する。このデータ出力についても、液晶表示器46に表示するように行ってもよく、通信インタフェース48を介して外部装置(コンピュータ等)に出力してもよい。また、報知データの出力方法としては、例えば、認識が失敗した旨の情報(S805にてNoの場合)、認識記号が登録されていない旨の情報(S807にてNoの場合)などを液晶表示器46に表示する方法などが挙げられる。或いは、図1に示すLED43を所定態様で点灯させたり、ブザー44を鳴動させるようにしてもよい。この場合、制御回路40が、液晶表示器46、LED43、ブザー44などと協働して「報知手段」として機能する。
【0157】
このように構成される二次元コード読取装置20は、様々な用途に用いることができる。その一例としては、所定の選別工程(例えば、正常品と要対応品を選別する工程、要対応品を更に具体的に選別する構成など)において、二次元コードQ8の記入領域861に、選別内容に応じた記号を記入する利用方法が挙げられる。例えば、製造ラインにおける検査工程において、検査対象物が、不良品として登録し且つ廃棄処理すべきものと判断された場合、この検査対象物(廃棄対象品)に付される二次元コードQ8の記入領域861に、判断された処理工程に対応する記号(図21の例では「NG1」)を記入しておけば、後工程において、この「NG1」に対応する処理工程データ(即ち、当該検査対象物に対して行うべき処理工程のデータ)を読み出すことができ、当該検査対象物がどのように扱うべきものであるかを迅速且つ確実に把握できるようになる。他の判断がなされる場合も同様であり、例えば、製造ラインにおける検査工程において、検査対象物が、修理可能品として登録し且つ修理工程1を行うべきものと判断された場合、この検査対象物(修理対象品)に付される二次元コードQ8の記入領域861に、判断された処理工程に対応する記号(図21の例では「修理1」)を記入しておけば、後工程において、この修理1に対応する処理工程データ(当該検査対象物に対して行うべき処理工程のデータ)を読み出すことができ、どのような判断がなされたかを迅速且つ確実に把握できるようになる。
【0158】
なお、本実施形態でも制御回路40が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果(即ち、S801の読取処理にて確認された誤り位置及び誤り内容)に基づいて二次元コードQ8のデコード(即ち、データコードブロックにてコード化されているデータの解読)を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報(所定閾値以上の誤り率)が確認された場合、二次元コードQ8のデコード結果に加え、所定の誤り情報に対応する付加情報を出力するように機能する。
【0159】
以下、本実施形態の主な効果について説明する。
本実施形態では、「誤り状態検出手段」によって所定の誤り情報が確認された場合に記入領域861に記入された記号を認識する「認識手段」が設けられている。そして、「デコード手段」は、この「認識手段」によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域861に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【0160】
また、本実施形態では、読取対象となる二次元コードQ8の記入領域861において、情報表示単位セルが複数配置されており、「認識手段」は、記入領域861に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できるようになる。従って、記号が記入されていないときには、記入領域内の各セルをデータとして利用でき、記号が記入された場合でも、一部のセルをデータとして利用できる可能性がある。
【0161】
また、本実施形態では、メモリ35(登録手段)において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、「確認手段」により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、「デコード手段」により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ(登録記号別データ)を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号(登録記号)であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【0162】
具体的には、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号がメモリ35(登録手段)に登録されていると確認された場合には、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【0163】
また、本実施形態では、認識記号がメモリ35(登録手段)に登録されていると確認されなかった場合に報知を行う「報知手段」が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【0164】
[第9実施形態]
次に第9実施形態について図22を参照しつつ説明する。なお、図22は、第9実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【0165】
第9実施形態に係る二次元コード読取装置は、解読処理のみが第8実施形態と異なっており、それ以外は第8実施形態と同様である。また、二次元コードについては、第8実施形態と同様の二次元コードQ8(図18)が用いられている。よって、解読処理以外は、第8実施形態で引用した図面を参照して説明する。
【0166】
第9実施形態で行われる解読処理は、図22に示すように、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上であって且つ第2の閾値(第2の誤り率)以下であるときにS904〜S910の処理(図19のS803〜S809と同様の処理)を行う点、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)未満のときにS911の処理(図19のS810と同様の処理)を行う点、二次元コードQ8の誤り率が第2の閾値(第2の誤り率)以上であるときに、S912の処理を行う点が第8実施形態の解読処理(図19)と異なっている。
【0167】
本実施形態で用いる二次元コードQ8(図18)は、記入領域861内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第1の所定誤り率となるように構成されており、S902で用いる第1の閾値は、この第1の所定誤り率よりも低い値であって、0よりも大きい値に設定されている。また、記入領域861内の全データコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第2の所定誤り率となるように構成されており、S903で用いる第2の閾値は、この第2の所定誤り率よりも小さい値であって、第1の閾値よりも大きい値に設定されている。
【0168】
図22の解読処理では、S901の読取処理(図19のS801と同様の読取処理)を行った後、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上であるか否かを判断し(S902)、第1の閾値以上であれば、S902にてYesに進み、二次元コードQ8の誤り率が第2の閾値(第2の誤り率)以下であるか否かを判断している(S903)。なお、本実施形態でも、制御回路40が「誤り状態検出手段」の一例に相当し、二次元コードQ8の誤り率が第1の閾値(第1の誤り率)以上となっている状態を「所定の誤り状態」として検出している。
【0169】
二次元コードQ8の誤り率が、第1の閾値(第1の誤り率)以上であり、且つ第1の閾値(第1の誤り率)よりも大きい第2の閾値(第2の誤り率)以下である場合(即ち、S902、S903でYesに進む場合)には、S904〜S910において第8実施形態のS803〜S809(図19)と同様の処理が行われ、この場合にのみ記号を認識する処理(S905)が行われる。
【0170】
一方、二次元コードQ8の誤り率が、第2の閾値(第2の誤り率)よりも大きい場合には、S903にてNoに進み、S901でのデコード結果と共に、所定付加情報を出力する。本実施形態では、誤り率が第2の閾値よりも大きい場合に出力すべきデータ(所定付加情報)が予めメモリ35に用意されており、S903でNoに進む場合には、このデータをデコード結果と共に出力する。なお、この場合には、記号を認識する処理(S905)は行われず、省略されることとなる。
【0171】
本実施形態に係る発明では、「第1の誤り率」を適切に調整することにより、記入領域861に何らかの記入がなされたか否かを「第1の誤り率」によって区別することができるようになり、「第2の誤り率」を適切に調整することにより、記入領域861に記号が記入された場合と記号以外の記入(塗り潰し等)がなされた場合とを「第2の誤り率」によって区別することができるようになる。そして、二次元コードQ8の誤り率が「第2の誤り率」以上の場合に、記号認識を行わないようにしているため、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【0172】
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
本発明の「二次元コード」としては、例えばQRコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有するコードであればこれら以外であってもよい。
【0173】
上記実施形態ではJISX0510に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
【0174】
上記実施形態では、所定の算出方法で算出される誤り率を例示したが、誤り率の算出方法は上記方法に限られない。即ち、誤りが検出されたデータ量の度合いを求めうる方法であれば上記実施形態以外の方法で誤り率を求めてもよい。例えば誤りが検出されたデータコードブロックの数そのものを誤り率としてもよい。
【0175】
第1実施形態では、照明光源21から出射される照明光Lfが二次元コードQに形成された目印60と同一色である例を示したが、構成としては同一色に限られず、目印60の色と同系色であればよい。例えば、目印60が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色の照明光Lfを照射するように照明光源21を構成してもよい。なお、このように目印と同一色又は同系色の照明光を照射する構成についてはいずれの実施形態についても好適に用いることができる。
【0176】
第1実施形態では、マーカ光照射部51から出射されるマーカ光が二次元コードQに形成される目印60と同一色である例を示したが、この場合も同一色に限られず、目印60と同系色であればよい。例えば、目印60が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色のマーカ光を照射するようにマーカ光照射部51を構成してもよい。なお、このように目印と同一色又は同系色のマーカ光を照射する構成については、第5実施形態を除いたいずれの実施形態についても好適に用いることができる。
【0177】
第8実施形態では、二次元コードQ8の誤り率が所定閾値以上である場合に記号認識を行っていたが、二次元コードQ8において、「所定の誤り位置」で誤りが検出された場合に記号認識を行うようにしてもよい。この「所定の誤り位置」としては、記入領域861内のいずれかのデータコードブロックの位置であってもよく、記入領域861内の特定数(例えば2つ)のデータコードブロックの位置であってもよい。
【0178】
第8実施形態では、記入領域内に複数のセルが配置され、このセルに重ね書きされる形態で記号が記入されたときの例を示したが、図23(a)のように二次元コードQ8の記入領域861が作業者等によって塗り潰されてセルサイズよりも大きい単一色領域として構成され、この単一色領域に記号が記入されたときに、この記入された記号を認識するようにしてもよい。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景(単一色領域)とを区別しやすく、記入された記号をより正確に認識することができる。
【符号の説明】
【0179】
20…二次元コード読取装置
21…照明光源(照明手段)
28…受光センサ(取得手段)
35…メモリ(登録手段)
40…制御回路(取得手段、誤り状態検出手段、デコード手段、認識手段、報知手段、確認手段)
43…LED(報知手段)
44…ブザー(報知手段)
46…液晶表示器(報知手段)
51…マーカ光照射部(マーカ光照射手段)
60,860…目印
61,861…記入領域
Q,Q1,Q2,Q8…二次元コード
D1〜D28…データコードブロック
E1〜E16…誤り訂正コードブロック
【特許請求の範囲】
【請求項1】
誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、
前記二次元コードのコード画像を取得する取得手段と、
前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、
前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、
を備え、
読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする二次元コード読取装置。
【請求項2】
前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする請求項1に記載の二次元コード読取装置。
【請求項3】
前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする請求項1又は請求項2に記載の二次元コード読取装置。
【請求項4】
前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項1から請求項3のいずれか一項に記載の二次元コード読取装置。
【請求項5】
前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項1から請求項3のいずれか一項に記載の二次元コード読取装置。
【請求項6】
前記二次元コードに対して照明光を発する照明手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする請求項1から請求項5のいずれか一項に記載の二次元コード読取装置。
【請求項7】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする請求項1から請求項6のいずれか一項に記載の二次元コード読取装置。
【請求項8】
予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項1から請求項7のいずれか一項に記載の二次元コード読取装置。
【請求項9】
予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項1から請求項7のいずれか一項に記載の二次元コード読取装置。
【請求項10】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする請求項1から請求項9のいずれか一項に記載の二次元コード読取装置。
【請求項11】
前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に、前記記入領域に記入された記号を認識する認識手段を備え、
前記デコード手段は、前記認識手段によって前記記号が認識された場合、その認識記号に対応する対応情報を前記付加情報として出力することを特徴とする請求項1から請求項10のいずれかに記載の二次元コード読取装置。
【請求項12】
読取対象となる前記二次元コードは、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、
前記認識手段は、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識することを特徴とする請求項11に記載の二次元コード読取装置。
【請求項13】
前記誤り状態検出手段は、前記二次元コードの誤り率が第1の誤り率以上となっている状態を前記所定の誤り状態として検出しており、
前記認識手段は、
前記二次元コードの誤り率が、前記第1の誤り率以上であり、且つ前記第1の誤り率よりも大きい第2の誤り率以下である場合に、前記記号を認識する処理を行い、
前記二次元コードの誤り率が、前記第2の誤り率よりも大きい場合には、前記記号を認識する処理を行わないことを特徴とする請求項12に記載の二次元コード読取装置。
【請求項14】
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されたときに、当該単一色領域に記入された前記記号を認識することを特徴とする請求項11に記載の二次元コード読取装置。
【請求項15】
一又は複数の記号によって構成される登録記号が複数記憶される共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、
前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、
を備え、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力することを特徴とする請求項11から請求項14のいずれか一項に記載の二次元コード読取装置。
【請求項16】
前記登録手段は、各登録記号毎に処理工程データが対応付けられて登録されており、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記認識記号に対応した処理工程データを前記付加情報として出力することを特徴とする請求項15に記載の二次元コード読取装置。
【請求項17】
前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段を有することを特徴とする請求項15又は請求項16に記載の二次元コード読取装置。
【請求項18】
デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、
誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、
前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、 前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、その記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする二次元コード生成装置。
【請求項19】
デコードすべきデータをコード化したデータコードブロックと、
誤り訂正用のデータをコード化した誤り訂正コードブロックと、
を備えた二次元コードであって、
コード領域内に所定の記入領域が形成されており、
前記記入領域は、当該記入領域内に記入がなされた場合に、その記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする二次元コード。
【請求項1】
誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、
前記二次元コードのコード画像を取得する取得手段と、
前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、
前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、
を備え、
読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする二次元コード読取装置。
【請求項2】
前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする請求項1に記載の二次元コード読取装置。
【請求項3】
前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする請求項1又は請求項2に記載の二次元コード読取装置。
【請求項4】
前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項1から請求項3のいずれか一項に記載の二次元コード読取装置。
【請求項5】
前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項1から請求項3のいずれか一項に記載の二次元コード読取装置。
【請求項6】
前記二次元コードに対して照明光を発する照明手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする請求項1から請求項5のいずれか一項に記載の二次元コード読取装置。
【請求項7】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする請求項1から請求項6のいずれか一項に記載の二次元コード読取装置。
【請求項8】
予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項1から請求項7のいずれか一項に記載の二次元コード読取装置。
【請求項9】
予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項1から請求項7のいずれか一項に記載の二次元コード読取装置。
【請求項10】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする請求項1から請求項9のいずれか一項に記載の二次元コード読取装置。
【請求項11】
前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に、前記記入領域に記入された記号を認識する認識手段を備え、
前記デコード手段は、前記認識手段によって前記記号が認識された場合、その認識記号に対応する対応情報を前記付加情報として出力することを特徴とする請求項1から請求項10のいずれかに記載の二次元コード読取装置。
【請求項12】
読取対象となる前記二次元コードは、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、
前記認識手段は、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識することを特徴とする請求項11に記載の二次元コード読取装置。
【請求項13】
前記誤り状態検出手段は、前記二次元コードの誤り率が第1の誤り率以上となっている状態を前記所定の誤り状態として検出しており、
前記認識手段は、
前記二次元コードの誤り率が、前記第1の誤り率以上であり、且つ前記第1の誤り率よりも大きい第2の誤り率以下である場合に、前記記号を認識する処理を行い、
前記二次元コードの誤り率が、前記第2の誤り率よりも大きい場合には、前記記号を認識する処理を行わないことを特徴とする請求項12に記載の二次元コード読取装置。
【請求項14】
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されたときに、当該単一色領域に記入された前記記号を認識することを特徴とする請求項11に記載の二次元コード読取装置。
【請求項15】
一又は複数の記号によって構成される登録記号が複数記憶される共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、
前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、
を備え、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力することを特徴とする請求項11から請求項14のいずれか一項に記載の二次元コード読取装置。
【請求項16】
前記登録手段は、各登録記号毎に処理工程データが対応付けられて登録されており、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記認識記号に対応した処理工程データを前記付加情報として出力することを特徴とする請求項15に記載の二次元コード読取装置。
【請求項17】
前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段を有することを特徴とする請求項15又は請求項16に記載の二次元コード読取装置。
【請求項18】
デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、
誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、
前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、 前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、その記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする二次元コード生成装置。
【請求項19】
デコードすべきデータをコード化したデータコードブロックと、
誤り訂正用のデータをコード化した誤り訂正コードブロックと、
を備えた二次元コードであって、
コード領域内に所定の記入領域が形成されており、
前記記入領域は、当該記入領域内に記入がなされた場合に、その記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする二次元コード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2009−295145(P2009−295145A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2009−106707(P2009−106707)
【出願日】平成21年4月24日(2009.4.24)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願日】平成21年4月24日(2009.4.24)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]