(57)【特許請求の範囲】
【請求項１】
誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、
前記二次元コードのコード画像を取得する取得手段と、
前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、
前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、
を備え、
読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、誤り訂正を行った上での前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする二次元コード読取装置。
【請求項２】
前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする請求項１に記載の二次元コード読取装置。
【請求項３】
前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする請求項１又は請求項２に記載の二次元コード読取装置。
【請求項４】
前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項１から請求項３のいずれか一項に記載の二次元コード読取装置。
【請求項５】
前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、
前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする請求項１から請求項３のいずれか一項に記載の二次元コード読取装置。
【請求項６】
前記二次元コードに対して照明光を発する照明手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする請求項１から請求項５のいずれか一項に記載の二次元コード読取装置。
【請求項７】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、
前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする請求項１から請求項６のいずれか一項に記載の二次元コード読取装置。
【請求項８】
予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項１から請求項７のいずれか一項に記載の二次元コード読取装置。
【請求項９】
予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、
前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする請求項１から請求項７のいずれか一項に記載の二次元コード読取装置。
【請求項１０】
前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、
前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする請求項１から請求項９のいずれか一項に記載の二次元コード読取装置。
【請求項１１】
前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に、前記記入領域に記入された記号を認識する認識手段を備え、
前記デコード手段は、前記認識手段によって前記記号が認識された場合、その認識記号に対応する対応情報を前記付加情報として出力することを特徴とする請求項１から請求項１０のいずれかに記載の二次元コード読取装置。
【請求項１２】
読取対象となる前記二次元コードは、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、
前記認識手段は、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識することを特徴とする請求項１１に記載の二次元コード読取装置。
【請求項１３】
前記誤り状態検出手段は、前記二次元コードの誤り率が第１の誤り率以上であることを前記所定の誤り情報として検出しており、
前記認識手段は、
前記二次元コードの誤り率が、前記第１の誤り率以上であり、且つ前記第１の誤り率よりも大きい第２の誤り率以下である場合に、前記記号を認識する処理を行い、
前記二次元コードの誤り率が、前記第２の誤り率よりも大きい場合には、前記記号を認識する処理を行わないことを特徴とする請求項１２に記載の二次元コード読取装置。
【請求項１４】
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されたときに、当該単一色領域に記入された前記記号を認識することを特徴とする請求項１１に記載の二次元コード読取装置。
【請求項１５】
一又は複数の記号によって構成される登録記号が複数記憶されると共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、
前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、
を備え、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力することを特徴とする請求項１１から請求項１４のいずれか一項に記載の二次元コード読取装置。
【請求項１６】
前記登録手段は、各登録記号毎に処理工程データが対応付けられて登録されており、
前記デコード手段は、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記認識記号に対応した処理工程データを前記付加情報として出力することを特徴とする請求項１５に記載の二次元コード読取装置。
【請求項１７】
前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段を有することを特徴とする請求項１５又は請求項１６に記載の二次元コード読取装置。
【請求項１８】
デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、
誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、
前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、
前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、前記誤り訂正用のデータを用いた誤り訂正が可能であり且つその記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする二次元コード生成装置。
【請求項１９】
デコードすべきデータをコード化したデータコードブロックと、
誤り訂正用のデータをコード化した誤り訂正コードブロックと、
を備えた二次元コードであって、
コード領域内に所定の記入領域が形成されており、
前記記入領域は、当該記入領域内に記入がなされた場合に、前記誤り訂正コードブロックを用いた誤り訂正が可能であり、且つその記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする二次元コード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード読取装置、二次元コード生成装置、及び二次元コードに関するものである。
【背景技術】
【０００２】
現在、様々な物品の製造現場において製品管理を好適に行うべく二次元コードが広く用いられている。製造現場などで二次元コードを利用する方法は様々に考えられるが、その一例としては、製品番号などをコード化して製品に貼り付けておき、各種工程で自動読み取りするといった方法が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】２００５−２８４８００公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
製造現場などで二次元コードを利用する具体的方法としては、例えば、製品テスト等においてテスト合格品と不合格品とが生じうる場合に、不合格品に付される二次元コードについてペン等によって印（例えばある程度の部分を塗り潰す等）を付けるようにし、当該二次元コードが正常に読み取られないようにしておく方法が考えられる。このようにしておくと、後に合格品と不合格品とを選別する際に、二次元コードを正常に読み取ることができるものを合格品とし、正常に読み取ることができないものを不合格品として選別できるようになる。
【０００５】
しかしながら、上記のように二次元コードを完全に読み取ることができないようにすると、二次元コードに含まれる情報を利用できなくなるという問題がある。例えば、上記のようにペン等で印をつけて合格品と不合格品との選別を行う場合、読取不良が生じたものを不合格品であると認識することはできるが、この場合、二次元コードに含まれる製品番号等のデータは利用できなくなっているため、不合格品と判断されたものと二次元コードに含まれるデータ（製品番号等）との対応付けができなくなってしまう。即ち、二次元コードを読み取っても、不合格品と判断されたものがどの種別の製品であるか等を把握することができず、各種管理を円滑に行いにくくなるという問題がある。
【０００６】
このような問題を解消する方法としては、例えば、不合格品については新たな二次元コードを貼り付けるといった方法が考えられるが、この方法を用いると、別途二次元コードを生成し貼り付ける必要があるため工数や装置を増やさなければならないという問題があり、また、製品に別途貼り付けスペースを確保しておかなければならないという問題もある。
【０００７】
なお、本発明に関連する技術としては例えば特許文献１のようなものが挙げられる。しかしながら、特許文献１の技術は、誤り検出状態に基づいて二次元コードの読取可否を報知しようとするものであり、二次元コード内の情報を有効利用しつつ二次元コードに別途付加される記載によって新たな情報を発生させようとする上記問題を解決しうるものではない。
【０００８】
本発明は、上述した課題を解決するためになされたものであり、二次元コード内の情報を有効利用できるようにしつつ、作業者により当該二次元コードに新たな記入を行い得るようにし、更に、その新たな記入に対応した付加情報を利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１の発明は、誤り訂正機能を有する二次元コードを読み取る二次元コード読取装置であって、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、読取対象となる前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、誤り訂正を行った上での前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
本発明の「二次元コード」としては、例えばＱＲコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有する二次元コードであればこれら以外であってもよい。
「所定の記入領域」としては、予め目印が付された領域であってもよく、目印が付されていない領域（例えば、読取装置などによって記入領域を特定する構成）であってもよい。
【００１０】
請求項２の発明は、請求項１に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードの所定位置に誤りが発生したことを示す位置情報を含むことを特徴とする。
【００１１】
請求項３の発明は、請求項１又は請求項２に記載の二次元コード読取装置において、前記所定の誤り情報は、前記二次元コードが所定の誤り率となっていることを示す誤り率情報を含むことを特徴とする。
【００１２】
請求項４の発明は、請求項１から請求項３のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記誤り状態検出手段による前記誤り状態の検出において、前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【００１３】
請求項５の発明は、請求項１から請求項３のいずれか一項に記載の二次元コード読取装置において、前記二次元コードは、前記記入領域が複数設けられると共に、前記誤り状態検出手段による前記誤り状態の検出において、複数の前記記入領域に対する記入態様に対応した対応誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段によりいずれかの前記対応誤り情報が確認された場合、前記二次元コードのデコード結果に加え、その確認された前記対応誤り情報に応じた対応付加情報を出力することを特徴とする。
【００１４】
請求項６の発明は、請求項１から請求項５のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対して照明光を発する照明手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記照明手段は、前記目印と同系色の前記照明光を発することを特徴とする。
【００１５】
請求項７の発明は、請求項１から請求項６のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、読取対象となる前記二次元コードは、コード領域内に前記記入領域を特定する目印が形成されるものであり、前記マーカー光照射手段は、前記目印と同系色の前記マーカ光を発することを特徴とする。
【００１６】
請求項８の発明は、請求項１から請求項７のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により基準コードの画像を取得すると共に、前記誤り状態検出手段により前記基準コードの誤り状態を検出する構成をなしており、前記誤り状態検出手段は、読取対象となる前記二次元コードの誤り状態と、前記基準コードの誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【００１７】
請求項９の発明は、請求項１から請求項７のいずれか一項に記載の二次元コード読取装置において、予め、前記取得手段により、前記記入領域に対する記入がなされる前の前記二次元コードについての記入前画像を取得すると共に、前記誤り状態検出手段により前記記入前画像の誤り状態を検出する構成をなしており、前記誤り状態検出手段は、前記記入領域に対する記入がなされた後の前記二次元コードの誤り状態と、前記記入前画像の誤り状態とを比較し、所定の差異がある場合に前記二次元コードに前記所定の誤り情報が発生したと判断することを特徴とする。
【００１８】
請求項１０の発明は、請求項１から請求項９のいずれか一項に記載の二次元コード読取装置において、前記二次元コードに対してマーカ光を発するマーカー光照射手段を備え、前記マーカ光照射手段は、前記二次元コードに対し、当該二次元コードの前記記入領域を特定する特定図形を表示することを特徴とする。
【００１９】
請求項１１の発明は、請求項１から請求項１０のいずれかに記載の二次元コード読取装置において、更に、前記誤り状態検出手段によって前記所定の誤り情報が確認された場合に前記記入領域に記入された記号を認識する認識手段が設けられている。そして、前記デコード手段は、前記認識手段によって前記記号が認識された場合に、その認識記号に対応する対応情報を前記付加情報として出力している。
【００２０】
請求項１２の発明は、請求項１１に記載の二次元コード読取装置において、
読取対象となる前記二次元コードが、前記記入領域内において情報表示単位セルが複数配置されてなるものであり、前記認識手段が、前記記入領域に配置された複数の前記情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、前記記号として認識している。
【００２１】
請求項１３の発明は、請求項１２に記載の二次元コード読取装置において、
前記誤り状態検出手段が、前記二次元コードの誤り率が第１の誤り率以上となっている状態を前記所定の誤り状態として検出している。そして、前記認識手段は、前記二次元コードの誤り率が、前記第１の誤り率以上であり、且つ前記第１の誤り率よりも大きい第２の誤り率以下である場合に、前記記号を認識する処理を行い、前記二次元コードの誤り率が、前記第２の誤り率よりも大きい場合には、前記記号を認識する処理を行わないように構成されている。
【００２２】
請求項１４の発明は、請求項１１に記載の二次元コード読取装置において、
前記認識手段は、読取対象となる前記二次元コードにおいて前記記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された前記記号を認識している。
【００２３】
請求項１５の発明は、請求項１１から請求項１４のいずれか一項に記載の二次元コード読取装置において、
更に、一又は複数の記号によって構成される登録記号が複数記憶される共に、各登録記号に対応した登録記号別データがそれぞれ登録された登録手段と、前記認識手段によって認識された前記認識記号が前記登録手段において前記登録記号として登録されているか否かを確認する確認手段と、が設けられている。
そして、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記登録記号別データの内容、又は前記登録記号別データに対応する内容を、前記付加情報として出力している。
【００２４】
請求項１６の発明は、請求項１５に記載の二次元コード読取装置であって、
前記登録手段において、各登録記号毎に処理工程データが対応付けられて登録されており、前記確認手段によって前記認識記号が前記登録手段に登録されていると確認された場合に、前記デコード手段が、前記認識記号に対応した処理工程データを前記付加情報として出力している。
【００２５】
請求項１７の発明は、請求項１５又は請求項１６に記載の二次元コード読取装置において、更に、前記確認手段により前記認識記号が前記登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。
【００２６】
請求項１８の発明は、デコードすべきデータ及び誤り訂正用のデータをコード化するコード化手段を備え、誤り訂正機能を有する二次元コードを生成する二次元コード生成装置であって、前記コード化手段により前記デコードすべきデータ及び前記誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する記入領域設定手段を備え、前記記入領域設定手段は、前記記入領域内に記入がなされた場合に、前記誤り訂正用のデータを用いた誤り訂正が可能であり且つその記入後の前記二次元コードの誤り検出において所定の誤り情報が確認されるように前記記入領域を設定することを特徴とする。
【００２７】
請求項１９の発明は、デコードすべきデータをコード化したデータコードブロックと、誤り訂正用のデータをコード化した誤り訂正コードブロックと、を備えた二次元コードであって、コード領域内に所定の記入領域が形成されており、前記記入領域は、当該記入領域内に記入がなされた場合に、前記誤り訂正コードブロックを用いた誤り訂正が可能であり、且つその記入後の当該二次元コードの誤り検出において所定の誤り情報が確認されるように構成されていることを特徴とする。
【００２８】
なお、上記構成要件を用いた以下のシステムを構成することもでき、この場合も請求項１と同様の効果を奏することとなる。
当該システムは、誤り訂正機能を有する二次元コードと、当該二次元コードを読み取る二次元コード読取装置とを用いた読取システムであって、前記二次元コード読取手段は、前記二次元コードのコード画像を取得する取得手段と、前記取得手段により取得された前記コード画像について誤り状態を検出する誤り状態検出手段と、前記コード画像についての誤り状態の検出結果に基づいて前記二次元コードのデコードを行うデコード手段と、を備え、前記二次元コードは、所定の記入領域が設けられると共に、前記記入領域内に記入がなされた後の前記誤り状態検出手段による前記誤り状態の検出において所定の誤り情報が確認されるように構成されたものであり、前記デコード手段は、前記誤り状態検出手段により前記所定の誤り情報が確認された場合、前記二次元コードのデコード結果に加え、前記所定の誤り情報に対応する付加情報を出力することを特徴とする。
このようなシステムを構成した場合、請求項２から請求項９のいずれか１つ又はいずれか複数の構成を付加してもよい。
【発明の効果】
【００２９】
請求項１の発明では、所定の記入領域が設けられると共に、当該記入領域内に記入がなされた後の誤り状態検出手段による誤り状態の検出において所定の誤り情報が確認されるように構成された二次元コードを読取対象としており、当該二次元コードを読み取る際に所定の誤り情報が確認された場合、二次元コードのデコード結果に加え、所定の誤り情報に対応する付加情報を出力するようにしている。このようにすると、ユーザによって記入領域に記入処理が施された場合に、誤り状態検出手段によって「所定の誤り情報」が確認され、デコードの際に「所定の誤り情報」に対応する付加情報が出力されることとなり、二次元コードに元々含まれていた情報以外の付加情報を発生させ利用できるようになる。また、上記のように記入領域内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、二次元コード内に元々含まれていた情報についても有効利用できるようになる。
【００３０】
請求項２の発明では、「所定の誤り情報」が、二次元コードの所定位置に誤りが発生したことを示す位置情報を含んだものとされている。このように位置情報によって「所定の誤り情報」か否かを判断するようにすれば、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【００３１】
請求項３の発明は、「所定の誤り情報」が、誤り率情報（二次元コードが所定の誤り率となっていることを示す情報）を含んだものとされている。このようにすると、所定の記入領域に記入されたか否かを精度高く判別できるようになる。
【００３２】
請求項４の発明のように、複数の記入態様を想定した二次元コードを読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【００３３】
請求項５の発明のように、記入のバリエーションが多い二次元コードを読取対象とし、得られた対応誤り情報に応じた対応付加情報を出力するようにすれば、より多くの種類の付加情報を適切に付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【００３４】
請求項６の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、且つ照明手段により目印と同系色の照明光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色の照明光によって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【００３５】
請求項７の発明は、コード領域内に記入領域を特定する目印が形成された二次元コードを読取対象とし、目印と同系色のマーカ光を発するように構成されている。このようにすると、目印の周囲が当該目印と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、目印の影響を効果的に抑えることができ、目印に起因する誤りの発生を抑制ないし防止できる。
【００３６】
請求項８の発明は、読取対象となる二次元コードの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させやすい構成を実現できる。
【００３７】
請求項９の発明では、記入領域に記入がなされた後の二次元コードの誤り状態と、記入前の誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このように記入前の二次元コードを基準とすれば、様々な種類の二次元コードにおいて「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【００３８】
請求項１０の発明では、マーカ光照射手段により、記入領域を特定する特定図形を表示するようにしている。このようにすると、二次元コード内に特別な目印があるか否かにかかわらず記入領域を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【００３９】
請求項１１の発明は、誤り状態検出手段によって所定の誤り情報が確認された場合に記入領域に記入された記号を認識する認識手段が設けられている。そして、デコード手段は、この認識手段によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【００４０】
請求項１２の発明では、読取対象となる二次元コードが、記入領域内において情報表示単位セルが複数配置されてなるものであり、認識手段は、記入領域に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できる。
【００４１】
請求項１３の発明は、誤り状態検出手段が、二次元コードの誤り率が第１の誤り率以上となっている状態を所定の誤り状態として検出している。そして、認識手段は、二次元コードの誤り率が、第１の誤り率以上であり、且つ第１の誤り率よりも大きい第２の誤り率以下である場合に、記号を認識する処理を行い、二次元コードの誤り率が、第２の誤り率よりも大きい場合には、記号を認識する処理を行わないように構成されている。このようにすると、「第１の誤り率」を適切に調整することにより、記入領域に何らかの記入がなされたか否かを「第１の誤り率」によって区別することができるようになり、「第２の誤り率」を適切に調整することにより、記入領域に記号が記入された場合と記号以外の記入（塗り潰し等）がなされた場合とを「第２の誤り率」によって区別することができるようになる。そして、二次元コードの誤り率が「第２の誤り率」以上の場合に、記号認識を行わないようにすれば、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【００４２】
請求項１４の発明は、読取対象となる二次元コードにおいて記入領域の全体又は一部がセルサイズよりも大きい単一色領域として構成されているときに、当該単一色領域に記入された記号を認識している。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景とを区別しやすく、記入された記号をより正確に認識することができる。
【００４３】
請求項１５の発明は、登録手段において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、確認手段により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、デコード手段により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ（登録記号別データ）を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号（登録記号）であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【００４４】
請求項１６の発明は、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号が登録手段に登録されていると確認された場合に、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【００４５】
請求項１７の発明は、認識記号が登録手段に登録されていると確認されなかった場合に報知を行う報知手段が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【００４６】
請求項１８の発明によれば、請求項１と同様の効果を奏する二次元コード生成装置を実現できる。
【００４７】
請求項１９の発明によれば、請求項１と同様の効果を奏する二次元コードを実現できる。
【図面の簡単な説明】
【００４８】
【図１】図１は、本発明の第１実施形態に係る二次元コード読取装置を概略的に例示するブロック図である。
【図２】図２は、図１の二次元コード読取装置の読取対象を説明する説明図であり、（ａ）は、記入領域に記入される前の状態を示す図であり、（ｂ）は記入領域に記入された後の状態を示す図である。
【図３】図３は、図２の二次元コードのコード構成を概念的に説明する説明図である。
【図４】図４は、図１の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図５】図５は、二次元コードが付された読取対象物を例示する説明図であり、（ａ）は記入領域に記入がなされていない二次元コードが付された状態を説明する説明図であり、（ｂ）は記入領域に記入がなされた二次元コードが付された状態を説明する説明図である。
【図６】図６は、読取対象物に対して目印と同色の照明光を照射する様子を説明する説明図である。
【図７】図７は、第２実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図８】図８は、第３実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図９】図９は図８の二次元コード読取装置で用いられる基準コードを例示する説明図である。
【図１０】図１０は、第４実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図１１】図１１（ａ）は、記入前の二次元コードを例示する説明図であり、図１１（ｂ）は、記入後の二次元コードを例示する説明図である。
【図１２】図１２は、第５実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図１３】図１３は、二次元コードに対して特定図形を表示する例を説明する説明図である。
【図１４】図１４は、第６実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。
【図１５】図１５は、図１４の二次元コード読取装置の読取対象を説明する説明図であり、（ａ）は、記入領域に記入されていない状態を示す図であり、（ｂ）は記入領域に第１の記入態様で記入された状態を示す図であり、（ｃ）は、記入領域に第２の記入態様で記入された状態を示す図である。
【図１６】図１６は、図１４の解読処理の変更例を示すフローチャートである。
【図１７】図１７は、第７実施形態の二次元コード読取装置で用いられる二次元コードを例示する説明図であり、（ａ）は、記入領域に記入されていない状態を示す図であり、（ｂ）は記入領域に第１の記入態様で記入された状態を示す図であり、（ｃ）は、記入領域に第２の記入態様で記入された状態を示す図である。
【図１８】図１８は、第８実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、（ａ）は、記入領域に記入される前の状態を示す図であり、（ｂ）は記入領域に記入された後の状態を示す図である。
【図１９】図１９は、第８実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図２０】図２０は、二次元コードが付された読取対象物を例示する説明図であり、（ａ）は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、（ｂ）は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。
【図２１】図２１は、登録記号別データの一例を概念的に説明する説明図である。
【図２２】図２２は、第９実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【図２３】図２３は、第８実施形態で用いる二次元コードの別例を説明する説明図である。
【発明を実施するための形態】
【００４９】
[第１実施形態]
以下、本発明の二次元コード読取装置を具現化した第１実施形態について図面を参照して説明する。図１は、本発明の第１実施形態に係る二次元コードリーダ２０を概略的に例示するブロック図である。
【００５０】
図１に示すように、二次元コードリーダ２０は、主に、照明光源２１、受光センサ２８、フィルタ（図示略）、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系と、電源スイッチ４１、電池４９等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
【００５１】
光学系は、照明光源２１、受光センサ２８、フィルタ（図示略）、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、ＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２８を挟んだ両側に照明光源２１が設けられており、図略のハウジングの読取口を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。この読取対象物Ｒは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には二次元コードＱが印刷されている。
【００５２】
また、本実施形態では、上記光学系に加え、マーカ光照射部５１が設けられている。マーカ光照射部５１は読取対象物Ｒに向けてマーカ光を照射する機能を有するものであり、レーザダイオードと、レンズ手段と、駆動回路とによって構成されている（いずれも図示略）。レーザダイオードは、図１に示す制御回路４０からの信号に応じて駆動し、レーザ光からなるマーカ光を出射する構成をなしている。駆動回路は、制御回路４０からの指令を受けてレーザダイオードを駆動する公知のレーザダイオード駆動回路によって構成されている。また、レンズ手段は、レーザダイオードにて照射されたマーカ光を集光し、読取対象物表面において読取位置の目印となるパターンを表示させるように機能する。なお、マーカ光照射部５１は、「マーカ光照射手段」の一例に相当する。
【００５３】
受光センサ２８は、読取対象物Ｒや二次元コードＱに照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２８の受光面２８ａは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ２８は、結像レンズ２７を介して入射する入射光をこの受光面２８ａで受光可能に図略のプリント配線板に実装されている。
【００５４】
フィルタ（図示略）は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ２７との間に設けられている。これにより、反射光Ｌｒの波長相当を超える不要な光が受光センサ２８に入射することを抑制している。
【００５５】
結像レンズ２７は、外部から読取口を介して入射する入射光を集光して受光センサ２８の受光面２８ａに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。本実施形態では、照明光源２１から照射された照明光Ｌｆが二次元コードＱに反射して読取口に入射するようになっており、結像レンズ２７はこの反射光Ｌｒを集光し受光センサ２８の受光面２８ａに二次元コードＱのコード画像を結像している。
【００５６】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、その名の通り、マイコン（情報処理装置）として機能し得る制御回路４０およびメモリ３５と中心に構成されるもので、前述した光学系によって撮像された二次元コードＱの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路４０は、当該二次元コードリーダ２０の全体システムに関する制御も行っている。
【００５７】
光学系の受光センサ２８から出力される画像信号（アナログ信号）は、増幅回路３１に入力されて所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力されて画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２８およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００５８】
メモリ３５は、半導体メモリ装置で、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）がこれに相当する。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２８等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００５９】
制御回路４０は、二次元コードリーダ２０全体を制御可能なマイコンで、ＣＰＵ、システムバス、入出力インタフェース等からなるもので、メモリ３５とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路４０は、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）と接続されるものであり、本実施形態の場合、電源スイッチ４１、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等と接続されている。なお、通信インタフェース４８には、外部装置として例えば当該二次元コードリーダ２０の上位システムに相当するホストコンピュータＨＳＴ等が接続される。
【００６０】
電源系は、電源スイッチ４１、電池４９等により構成されており、制御回路４０により管理される電源スイッチ４１のオンオフによって、上述した各装置や各回路に、電池４９から供給される駆動電圧の導通や遮断が制御されている。なお、電池４９は、所定の直流電圧を発生可能な２次電池で、例えば、リチウムイオン電池等がこれに相当する。
【００６１】
次に、二次元コードリーダ２０によって読み取られる二次元コードについて説明する。
二次元コードリーダ２０によって読み取られる二次元コードＱは、誤り訂正機能を有するものであり、例えば、図２（ａ）のような構成のものが用いられる。図２（ａ）で例示される二次元コードＱは、２−Ｍ型のＱＲコード（登録商標）として構成されており、図３のように、３つの位置検出パターンＦＰ１〜ＦＰ３を備えると共に、２８のデータコードブロック（Ｄ１〜Ｄ２８）と、１６の誤り訂正コードブロック（Ｅ１〜Ｅ１６）を配置し得る構成をなしている。
【００６２】
データコードブロック（Ｄ１〜Ｄ２８）は、デコードすべきデータをコード化したブロックであり、例えば製品番号等の各種データがデータコード語によって表され、複数のセルによって表現されている。また、誤り訂正コードブロック１２は、誤り訂正用のデータをコード化したブロックである。この誤り訂正コードブロック１２を構成する誤り訂正コード語は、データコードブロック（Ｄ１〜Ｄ２８）を構成するデータコード語に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば、ＪＩＳＸ０５１０：２００４に規定された誤り訂正コード語の生成方法（ＪＩＳＸ０５１０：２００４、８．５誤り訂正）を用いることができる。誤り訂正コードブロック１２は、このような方法によって生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。
【００６３】
また、図２（ａ）の二次元コードＱは、コード領域内に所定の記入領域が設けられている。図２（ａ）の例では、コード領域内に矩形枠の目印６０が形成されており、この目印６０の内部領域が記入領域６１として構成されている。なお、図２（ａ）の例では、記入領域の位置を一点鎖線６１にて概念的に示している
【００６４】
記入領域６１は、二次元コードＱを使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印６０は、コード領域内において記入領域６１の位置を特定する機能を有しており、図２（ａ）の例では、目印６０によって記入領域の外縁が特定されている（即ち、目印６０の内部領域全体が記入領域６１として構成されている）。
【００６５】
上記のように二次元コードＱに設けられた記入領域６１は、当該記入領域６１内に記入がなされた場合に、その記入後の当該二次元コードＱの誤り検出において「所定の誤り情報」が確認されるように構成されるものである。具体的には、記入領域６１内のデータコードブロックに誤りが存在し、かつ記入領域６１外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置２０による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。従って、記入領域に記入（例えば作業者によるペンなどを用いた塗り潰し等）がなされ、記入領域６１内のデータコードブロックが誤った状態となったとき、読み取りの際の誤り検出処理（後述）において「所定の誤り率」が確認されることとなる。なお、特定の１つのデータコードブロックが記入領域６１として定められていてもよく、特定の複数のデータコードブロックが記入領域として定められていてもよい。
本実施形態では、「所定の誤り率」が「所定の誤り情報」の一例に相当する。
【００６６】
次に、二次元コードの解読処理について説明する。図４は、図１の二次元コードリーダ２０で行われる解読処理を例示するフローチャートである。
図４に示す解読処理は、例えば、操作スイッチ４２（図１）に対して所定の操作がなされることで開始される。当該解読処理が開始されると、まず二次元コードＱを読み取る処理が行われる（Ｓ１）。Ｓ１の処理では、まず、制御回路４０により同期信号を基準に照明光源２１に発光信号を出力する動作が行われ、この発光信号に応じて照明光源２１により二次元コードＱに対して照明光Ｌｆが照射される。二次元コードＱに照射された照明光Ｌｆは、二次元コードＱが付された読取対象物Ｒにて反射し、その反射光Ｌｒが読取口およびフィルタ（図示略）を介して結像レンズ２７に入射する。そして、結像レンズ２７により二次元コードＱの像、つまりコード画像が受光センサ２８の受光面２８ａに結像される。これにより、受光センサ２８を構成する各受光素子が露光され、受光センサ２８から二次元コードＱの像（コード画像）に応じた画像信号が出力される。そして、この画像信号に応じた画像データがメモリ３５に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ３５に記憶される。
【００６７】
なお、本実施形態では、制御回路４０及び受光センサ２８が「取得手段」の一例に相当し、二次元コードＱのコード画像を取得するように機能する。また、制御回路４０は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【００６８】
さらに、Ｓ１の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出する処理を行う（Ｓ２）。Ｓ１の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、Ｓ２の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合（誤り率）を算出する。具体的には例えば、全データコードブロックの数Ｘａに対する誤りが確認されたデータコードブロックの数Ｘｂの割合Ｘｂ／Ｘａを誤り率として算出する。
【００６９】
そして、Ｓ２で算出された誤り率が、予め定められた「所定の誤り率」であるか否かを判断する（Ｓ３）。本実施形態で用いる二次元コードＱは、記入領域６１内のデータコードブロックに誤りが発生した場合に「所定の誤り率」となるように構成されており、Ｓ３の処理では、Ｓ２で算出された誤り率が「所定の誤り率」であるか否かを判断することで、記入領域６１に記入がなされたか否かを判断している。
【００７０】
例えば、特定の１つのデータコードブロックが記入領域として定められており、その特定の１つのデータコードブロックが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「５％」となるように構成されている場合、この「誤り率５％」を「所定の誤り情報」として予めメモリ３５に記憶しておくことができ、この場合、Ｓ２で算出された誤り率がこれと同じか否か（即ち算出された誤り率が５％か否か）をＳ３にて判断することとなる。なお、この場合、記入領域６１内の少なくともいずれかの明色セルが黒色等で塗り潰されたり或いは記入領域の少なくともいずれかの暗色セルが白色等で塗り潰されると、その特定の１つのデータコードブロックが誤ったブロックとして検出されることとなる。勿論、記入領域全体が塗り潰されてもその特定の１つのデータコードブロックが誤ったブロックとして検出される。
【００７１】
或いは、特定の複数のデータコードブロックが記入領域として定められており、その特定の複数のデータコードブロック全てが誤ったブロックとして検出され、かつ目印より外側の他のデータコードブロックに誤りが生じていない場合に誤り率が「１０％」となるように構成されている場合、この「誤り率１０％」を「所定の誤り情報」として予めメモリ３５に記憶しておくことができ、この場合、Ｓ２で算出された誤り率がこれと同じか否か（即ち算出された誤り率が５％か否か）をＳ３にて判断することとなる。なお、この場合、例えば記入領域全体が塗り潰されたときにその特定の複数のデータコードブロックが誤ったブロックとして検出されることとなる。
【００７２】
Ｓ２で取得された誤り率が「所定の誤り率」ではない場合（例えば図５（ａ）のような二次元コードＱを読み取る場合）、Ｓ３にてＮｏに進み、Ｓ１で得られた解読データ（デコード結果）を出力する。一方、Ｓ２で取得された誤り率が「所定の誤り率」である場合（例えば図５（ｂ）のような二次元コードＱを読み取る場合）、Ｓ３にてＹｅｓに進み、Ｓ１で読み取った解読データに所定の付加情報を付加する処理を行う。この付加情報は予めメモリ３５に記憶されており、Ｓ４の処理では、当該付加情報をメモリ３５から読み出すと共に、その読み出した付加情報をＳ１で読み取った解読データに付加する。そして、それら両データ（解読データに付加情報を加えたデータ）を出力する（Ｓ５）。なお、Ｓ３にてＹｅｓに進む場合、Ｎｏに進む場合のいずれの場合でも、Ｓ５におけるデータの出力は、液晶表示器４６に表示するように行ってもよく、通信インタフェース４８を介して外部装置（コンピュータ等）に出力してもよい。
【００７３】
なお、上述の解析処理（図４）では、Ｓ２で取得された誤り率が所定の誤り率である場合に付加情報を付加しているが、Ｓ２で取得された誤り率が所定の閾値以上である場合に付加情報を付加するようにしてもよい。例えば、記入領域に記入されていないときの誤り率（図２（ａ）の二次元コードＱを読み取ったときの誤り率）よりも大きく、記入領域が塗り潰されたときの誤り率（図２（ｂ）の二次元コードＱを読み取ったときの誤り率）よりも小さい閾値を予め設定しておき、Ｓ３の処理に代えて、Ｓ２で取得した誤り率がこの閾値以上か否かを判断する処理を行うようにしてもよい。この場合、Ｓ２で取得した誤り率が閾値以上のときにはＳ４にて付加情報を付加した上でデータ出力を行い（Ｓ５）、Ｓ２で取得した誤り率が閾値未満のときにはＳ５に進んでデータ出力を行うようにすればよい。
【００７４】
このように構成される二次元コード読取装置２０の利用方法としては様々に考えられるが、その一例としては、所定の選別工程（例えば、検査合格品と不合格品とを選別する構成など）において、特定種類として選別されるものに付される二次元コードＱに記入を施し、特定種類ではないものに付される二次元コードＱに対しては記入を施さないといった利用方法が挙げられる。例えば、検査工程後において検査合格品に付される二次元コードＱに対しては図５（ａ）のように記入を施さず、検査不合格品に付される二次元コードＱに対しては図５（ｂ）のように記入を施すようにし、さらに付加情報として検査不合格品である旨の情報を出力するようにすれば、二次元コードＱ内に元々含まれていた情報（データコードブロックによって表される情報）を利用しつつ付加情報を利用して検査合格品及び検査不合格品のいずれであるかを把握できるようになる。
【００７５】
本実施形態では、制御回路４０が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果（即ち、Ｓ１の読取処理にて確認された誤り位置及び誤り内容）に基づいて二次元コードＱのデコード（即ち、データコードブロックにてコード化されているデータの解読）を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報（所定の誤り率）が確認された場合、二次元コードＱのデコード結果に加え、所定の誤り情報（所定の誤り率）に対応する付加情報を出力するように機能する。
【００７６】
なお、本実施形態の照明光源２１は、図６に概略的に示すように、二次元コードＱに形成された目印６０と同一色又は略同一色の照明光Ｌｆを発するように構成されている。例えば、二次元コードＱに付された目印６０が赤色である場合、赤色ＬＥＤを用いて赤色の照明光を照射する構成とすることができる。
【００７７】
また、本実施形態では、二次元コードＱに対してマーカ光を発するマーカ光照射部５１が設けられているが、このマーカ光照射部５１から照射されるマーカ光を目印と同一色又は略同一色としてもよい。例えば、目印６０が赤色である場合、レーザダイオードによって赤色のマーカ光を照射する構成とすることができる。
【００７８】
次に、二次元コードＱの生成処理について説明する。
二次元コードＱを生成する装置としては、パーソナルコンピュータ等の情報処理装置が用いられるようになっており、下記の生成処理はこの情報処理装置によって行われるものである。なお、情報処理装置は、ＣＰＵ、ＲＯＭやＲＡＭ等の記憶手段、キーボードやマウスなどの入力手段、印刷手段等を備えてなるものである。
【００７９】
二次元コードＱの生成処理では、まず、コード化すべきデータを取得する処理が行われる。このデータ取得処理は、入力手段によって入力されたデータをコード化すべきデータとして取得したり、或いは外部装置から通信によって送られてきたデータをコード化すべきデータとして取得する。そして、その取得データに基づいてデータコード語（デコードすべきデータ）を生成すると共に、誤り訂正コード語（誤り訂正用のデータ）を生成する処理が行われる。なお、取得データに基づいてデータコード語及び誤り訂正コード語を生成する方法については二次元コードの分野では公知であるので詳細は省略するが、例えば、ＱＲコードの場合にはＪＩＳＸ０５１０：２００４に規定されるような公知方法で生成できる。
【００８０】
さらに、データコード語及び誤り訂正用のデータがコード化されるコード領域内において、所定の記入領域を設定する処理が行われる。この記入領域の設定としては、例えば特定の１つのデータコードブロックを記入領域として設定してもよく、特定の複数のデータコードブロックを記入領域として設定してもよい。
【００８１】
そして、生成されたデータコード語、誤り訂正コード語、及び設定された記入領域に基づいて二次元コードＱの印刷データが生成される。この印刷データは、生成されたデータコード語及び誤り訂正コード語に基づいてデータコードブロック、誤り訂正コードブロックを公知の方法（例えば、ＪＩＳＸ０５１０：２００４の方法）で所定位置に配置し、かつ記入領域の境界部に沿って目印図形を配置するデータである（即ち、図２（ａ）のような図形を印刷するための描画データである）。なお、記入領域として特定の１つのデータコードブロックが設定される場合、そのデータコードブロックの境界部に沿って目印図形が設定される。また、特定の複数のデータコードブロックによって記入領域が設定される場合、それら複数のデータコードブロックの境界部に沿って目印図形が設定される。
【００８２】
このようにして生成される二次元コードＱは、上述したように、記入領域内に記入がなされた場合に、その記入後の二次元コードＱの誤り検出において所定の誤り情報が確認されるようになっている。例えば、特定の１つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態で把握されるときには、当該データコードブロック全体が誤ったデータとして検出される。この場合、その記入領域に係るデータコードブロックのみが誤り状態であったときの誤り率が「所定の誤り情報」に相当する。
【００８３】
また、特定の複数のデータコードブロックを記入領域として設定した場合、それら複数のデータコードブロック全てに誤りが生じた場合の誤り率を「所定の誤り情報」とすることができる。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、特定の複数のデータコードブロックが誤ったデータとして検出されるため、特定の複数のデータコードブロックに誤りが生じかつ他のデータコードブロックに誤りが生じていないときの誤り率を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【００８４】
なお、本実施形態では、上記情報処理装置が「二次元コード生成装置」の一例に相当し、情報処理装置のＣＰＵが「コード化手段」の一例に相当し、デコードすべきデータ及び誤り訂正用のデータを生成するように機能する。また、ＣＰＵは、「記入領域設定手段」の一例に相当し、コード領域内において所定の記入領域を設定するように機能する。
【００８５】
本実施形態の構成によれば、例えば以下のような効果が得られる。
本実施形態に係る二次元コード読取装置２０は、記入領域６１を備えた二次元コードＱを読取対象としており、この二次元コードＱは，記入領域６１内に記入がなされた後の誤り検出において「所定の誤り情報」が確認されるように構成されている。このような二次元コードＱを読取対象とする二次元コード読取装置２０では、当該二次元コードＱを読み取る際に「所定の誤り情報」が確認されるか否かを判断し、確認された場合に、二次元コードＱのデコード結果に加え、「所定の誤り情報」に対応する付加情報を出力する構成をなしている。このような構成とすると、記入領域６１に何らかの記入がなされた場合に二次元コードＱに元々含まれていた情報以外の新たな情報（付加情報）を発生させ利用できるようになる。また、上記のように記入領域６１内に記入がなされたとしても、「所定の誤り情報」を検出し、誤り訂正を行った上でデコードできるため、付加情報だけでなく二次元コードＱ内に元々含まれていた情報についても有効利用できるようになる。
【００８６】
また、本実施形態の二次元コード読取装置２０では、「誤り率情報」（二次元コードが所定の誤り率となっていることを示す情報）を、「所定の誤り情報」としている。このようにすると、記入領域６１に記入されたか否かを簡易な構成で精度高く判別できるようになる。
【００８７】
また、本実施形態の二次元コード読取装置２０は、コード領域内に目印６０（記入領域６１を特定する印）が形成された二次元コードＱを読取対象とし、且つ照明光源２１により目印６０と同系色の照明光Ｌｆを発するように構成されている。このようにすると、目印６１の周囲が当該目印６１と同系色の照明光Ｌｆによって照らされ、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードＱの読み取りの際に目印６０の影響を効果的に抑えることができ、目印６０に起因する誤りの発生を抑制ないし防止できる。
【００８８】
また、マーカ光照射部５１により、目印６０と同系色のマーカ光を発するように構成されている。このようにすると、目印６０の周囲が当該目印６０と同系色のマーカ光の影響を受け、読取画像において目印部分の色彩とその周囲の色彩とがより近似するようになる。従って、二次元コードＱの読み取りの際に目印６０の影響を効果的に抑えることができ、目印６０に起因する誤りの発生を抑制ないし防止できる。
【００８９】
［第２実施形態]
次に第２実施形態について説明する。図７は、第２実施形態の二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。なお、本実施形態では、解読処理の内容のみが第１実施形態と異なりそれ以外の構成は第１実施形態と同様である。即ち、図４の解読処理を図７のようにした点のみが第１実施形態と異なり、それ以外は第１実施形態と同様であるため、その異なる解読処理について重点的に説明し、第１実施形態と同一の内容（図１〜図３、図５、図６等の内容）については詳細な説明は省略することとする。
【００９０】
本実施形態の解読処理も第１実施形態と同様に開始され、まずＳ１（図４）と同様の読取処理が行われる（Ｓ２１）。このＳ２１の処理では、Ｓ１と同様に二次元コードＱの像（コード画像）に応じた画像信号が受光センサ２８にて出力され、画像信号に応じた画像データがメモリ３５に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ３５に記憶される。なお、本実施形態でも、制御回路４０及び受光センサ２８が「取得手段」の一例に相当する。また、制御回路４０が、「誤り検出手段」の一例に相当する。
【００９１】
本実施形態の二次元コードリーダの読取対象も第１実施形態と同様であり、誤り訂正機能を有する二次元コードが用いられる。この二次元コードは、記入領域に記入がなされた後に二次元コード読取装置２０によって誤り検出処理が行われたときに「所定の誤り情報」が確認されるものであり、本実施形態では、所定位置に誤りが発生したことを示す位置情報を「所定の誤り情報」としている。
【００９２】
例えば、図２（ａ）のようなＱＲコードを用いる場合、記入領域６１に対する記入（例えば作業者によるペンなどを用いた塗り潰し等）によって当該記入領域６１が誤った状態となったとき、読み取りの際の誤り検出処理において当該記入領域６１の位置が誤り位置として確認されることとなる。具体的には、例えば、特定の１つのデータコードブロックが記入領域として設定される場合、記入により当該データコードブロック内のいずれかのセルが誤った状態と把握されるときに当該データコードブロック全体が誤ったデータとして検出されることとなる。このような構成の場合、記入領域に対応するデータコードブロックの位置情報を「所定の誤り情報」とすればよい。また、特定の複数のデータコードブロックを記入領域として設定するような場合、それら複数のデータコードブロック全ての位置情報を「所定の誤り情報」とすればよい。この場合の記入領域の使い方としては、必要に応じて記入領域全体を塗り潰すようにすればよい。即ち、記入領域全体が塗り潰された場合、その記入領域内に少なくとも一部が含まれる特定の複数のデータコードブロック全てが誤ったデータとして検出されるため、この特定の複数のデータコードブロックの位置を「所定の誤り情報」として予め記憶しておくようにすれば、記入領域全体が塗り潰されたか否かを適切に判断できるようになる。
【００９３】
Ｓ２１の読取処理の後には、誤り位置を確認する処理を行う（Ｓ２２）。図７の例では、Ｓ２１の読取処理の一部をなす誤り検出処理においてコード画像の誤り位置及び誤り内容を検出しており、Ｓ２２の処理では、Ｓ２１において二次元コードＱに誤りが検出されていた場合にその誤り位置（誤りが検出されたデータコードブロックの位置）を確認する。
【００９４】
そして、その確認された誤り位置が所定の位置（即ち、記入領域６１に対応したデータコードブロックの位置）であるかを確認する（Ｓ２３）。例えば、特定の１つのデータコードブロックが記入領域として設定される場合には、誤りが検出された位置がその特定の１つのデータコードブロックの位置であるかを確認する。或いは、特定の複数のデータコードブロックが記入領域として設定される場合、誤りが検出された位置がそれら特定の複数のデータコードブロックの位置であるかを確認する。
【００９５】
Ｓ２２で確認された誤り位置が所定の位置でない場合、或いは誤りが検出されなかった場合（例えば図５（ａ）のような二次元コードＱを読み取る場合）、Ｓ２３にてＮｏに進み、Ｓ２１で得られた解読データ（デコード結果）を出力する。一方、Ｓ２２で確認された誤り位置が所定の位置である場合（例えば図５（ｂ）のような二次元コードＱを読み取る場合）、Ｓ２３にてＹｅｓに進み、Ｓ２１で読み取った解読データに所定の付加情報を付加する処理を行う（Ｓ２４）。この付加情報は第１実施形態で説明した付加情報と同様のものであり、予めメモリ３５に記憶されたものである。Ｓ２４の処理では、当該付加情報をメモリ３５から読み出すと共に、その読み出した付加情報をＳ２１で読み取った解読データに付加する。そして、それら両データ（解読データに付加情報を加えたデータ）を出力する（Ｓ２５）。なお、出力処理は第１実施形態のＳ５（図４）と同様である。
【００９６】
本実施形態の構成によれば、第１実施形態と同様の効果を奏することとなる。また、本実施形態では、「二次元コードＱの所定位置に誤りが発生したことを示す位置情報」を「所定の誤り情報」として、所定の記入領域に記入がなされたか否かを判断しているため、仮に記入領域以外の領域に誤りが発生したとしても記入領域に記入がなされたか否かを精度高く判別できるようになる。
【００９７】
［第３実施形態]
次に第３実施形態について説明する。図８は、第３実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図９は、図８の解読処理で用いられる基準コードを例示する説明図である。なお、本実施形態では、解読処理の内容のみが第１実施形態と異なりそれ以外の構成は第１実施形態と同様である。即ち、図４の解読処理を図８のようにした点のみが第１実施形態と異なり、それ以外は第１実施形態と同様であるため、その異なる解読処理について重点的に説明し、第１実施形態と同一の内容（図１〜図３、図５、図６等の内容）については詳細な説明は省略することとする。
【００９８】
本実施形態の二次元コード読取装置では、解読処理に先立ち、或いは解読処理中に、予め基準コードの画像を取得すると共にその取得した基準コードの誤り状態を検出しており、その検出された基準コードの誤り状態と、読取対象となる二次元コードＱの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。
なお、本実施形態でも、制御回路４０及び受光センサ２８が「取得手段」の一例に相当する。また、制御回路４０は、「誤り状態検出手段」「デコード手段」の一例に相当する。
【００９９】
図８の解析処理も第１実施形態の解析処理（図４）と同様に開始され、まず二次元コードＱの読取処理が行われる（Ｓ３１）。なお、Ｓ３１の読取処理はＳ１（図４）と同様である。そして、Ｓ３１の読取処理の一部として行われる誤り検出処理での検出結果に基づいて誤り率の算出処理を行う（Ｓ３２）。なお、Ｓ３２の算出処理はＳ２（図４）と同様であり、Ｓ３２で算出された誤り率Ｐ１はメモリ３５に一時的に記憶される。
【０１００】
その後、基準コードを読み取る処理を行う（Ｓ３３）。本実施形態では例えば図９（ａ）のような所定の基準コードが定められており、Ｓ３３ではこのように予め定められている基準コードを読み取り処理を行う。なお、図９（ａ）では、記入領域に記入されていない状態の二次元コードＱから目印６０を取り除いたコードを基準コードとしており、このような基準コードは、例えば解読処理を行う前にサンプルとして別途用意しておくことができる。
【０１０１】
基準コードの読取処理は、基本的にＳ１（図４）と同様であり、実際の読取対象（二次元コードＱ）ではなく基準コード（図９（ａ）参照）を読み取っている点のみがＳ１と異なっている。Ｓ３３の処理では、作業者によって当該二次元コード読取装置２０が基準コードに向けられ且つ読取動作が行われることにより、受光センサ２８から基準コードの像に応じた画像信号が出力され、この画像信号に応じた画像データがメモリ３５に記憶される。基準コードの画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。
【０１０２】
そして、基準コードの読取処理（Ｓ３３）の際に行われた誤り検出処理での検出結果に基づいて基準コードの誤り率Ｐ２を算出する処理を行う（Ｓ３４）。Ｓ３３の読取処理では誤り検出処理が行われて基準コードの誤り位置及び誤り内容が検出されているため（或いは誤りが存在しないことが判明しているため）、Ｓ３４では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、基準コードの全データ量に対する誤りデータ量の割合（誤り率）を算出する。なお、この算出はＳ３２と同様の算出式でなされる。具体的には、基準コードの全データコードブロックの数Ｙａに対する誤りが確認されたデータコードブロックの数Ｙｂの割合Ｙｂ／Ｙａを基準コードの誤り率Ｐ２として算出する。
【０１０３】
そして、二次元コードＱについての誤り率Ｐ１と基準コードについての誤り率Ｐ２とを比較し、その差Ｐ１−Ｐ２を算出する（Ｓ３５）。そして、その差Ｐ１−Ｐ２が所定閾値以上か否かを判断し（Ｓ３６）、差Ｐ１−Ｐ２が所定閾値以上の場合にはＳ３６にてＹｅｓに進み、付加情報を追加する処理を行う（Ｓ３７）。この例では、二次元コードＱについての誤り率Ｐ１と基準コードについての誤り率Ｐ２との差Ｐ１−Ｐ２が所定閾値以上であることを示す情報（換言すれば、誤り率Ｐ２との差が所定閾値以上である誤り率Ｐ１の情報）が「所定の誤り情報」に相当する。
【０１０４】
Ｓ３７の処理はＳ４（図４）と同様であり、付加情報をメモリ３５から読み出すと共に、その読み出した付加情報をＳ３１でのデコード結果（解読データ）に付加する。そして、それら両データ（解読データに付加情報を加えたデータ）を出力する（Ｓ３８）。一方、Ｓ３６にてＮｏに進む場合には、付加情報を付加せずにＳ３１でデコードしたデータ（解読データ）のみを出力する（Ｓ３８）。なお、いずれの場合でも第１実施形態と同様の出力方法（Ｓ５：図４）を用いることができる。
【０１０５】
本実施形態では、読取対象となる二次元コードＱの誤り状態と、予め取得される基準コードの誤り状態とを比較し、所定の差異がある場合に二次元コードに「所定の誤り情報」が発生したと判断している。このようにすると、様々な種類の二次元コードにおいて「所定の誤り情報」を精度高く発生させることができる。
【０１０６】
なお、上述の構成では、図９（ａ）のように二次元コードＱの記入前の原型（二次元コードＱの記入前の形状であってかつ誤ったセルが発生していない状態の型）から目印６０を外した構成を基準コードとしているが、図９（ｂ）のような二次元コードＱの原型そのもの（目印６０が付された状態のもの）を基準コードとしてもよい。
【０１０７】
また、上述の構成では、二次元コードＱについての誤り率Ｐ１と基準コードについての誤り率Ｐ２との差Ｐ１−Ｐ２が所定閾値以上であることを示す情報（誤り率Ｐ２との差が所定閾値以上である誤り率Ｐ１の情報）を「所定の誤り情報」としていたが、この差Ｐ１−Ｐ２が所定値であることを示す情報（換言すれば、誤り率Ｐ２との差が所定値である誤り率Ｐ１の情報）を「所定の誤り情報」としてもよい。この場合、図８のＳ３６の処理に代えて、差Ｐ１−Ｐ２が所定値であるか否かを判断する処理を行うようにすればよい。
【０１０８】
また、上述の構成では、図８に示すように、解読処理中において二次元コードＱを読み取った後に基準コードの読み取り及び誤り率の算出を行っているが、この処理は二次元コードＱの読み取り前に行ってもよく、或いは解読処理に先立って行い、予め誤り率Ｐ２をメモリ３５に記憶しておいてもよい。
【０１０９】
［第４実施形態]
次に第４実施形態について説明する。図１０は、第４実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図１１は、図１０の解読処理での解読対象を示すものであり、（ａ）は記入領域に記入される前の状態を示す説明図であり、（ｂ）は記入後の状態を示す説明図である。なお、本実施形態では、解読処理の内容のみが第１実施形態と異なりそれ以外の構成は第１実施形態と同様である。即ち、図４の解読処理を図１０のようにした点のみが第１実施形態と異なり、それ以外は第１実施形態と同様であるため、その異なる解読処理について重点的に説明し、第１実施形態と同一の内容（図１〜図３、図５、図６等の内容）については詳細な説明は省略することとする。
【０１１０】
本実施形態の二次元コード読取装置では、予め、記入領域６０に記入される前の二次元コードＱの画像（記入前画像）を取得すると共に当該記入前画像の誤り状態を検出している。そして、この記入前画像の誤り状態と、記入領域６０に対する記入がなされた後の二次元コードＱの誤り状態とを比較し、所定の差異がある場合に二次元コードＱに所定の誤り情報が発生したと判断している。以下、当該解読処理の具体的な流れについて説明する。  なお、本実施形態でも、制御回路４０及び受光センサ２８が「取得手段」の一例に相当する。また、制御回路４０は、「誤り状態検出手段」「デコード手段」の一例に相当する。  
【０１１１】
図１０に示す解読処理では、まず記入前の二次元コードを読み取る処理が行われる（Ｓ４１）。Ｓ４１の処理は、例えば図１１（ａ）に示すような記入前の二次元コードＱを読み取る処理であり、その処理内容はＳ１（図４）と同様である。なお、Ｓ４１の処理は、作業者が二次元コード読取装置２０を用いて図１１（ａ）のような記入前の二次元コードＱを読み取ろうとする操作を行うことにより実行されるものであり、作業者による当該動作に応じて記入前の二次元コードＱの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。その後、Ｓ４１で読み取られた記入前の二次元コードＱについての誤り率Ｐ３を算出する。なお、Ｓ４２の誤り率算出処理はＳ４１で行われる誤り検出処理に基づいてＳ２（図４）と同様の方法で行われる。
【０１１２】
その後、記入後の二次元コードの読取処理が行われる（Ｓ４３）。Ｓ４３の処理は、Ｓ１（図４）と同一の処理であり、作業者が図１１（ｂ）のような記入後の二次元コードＱを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードＱの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。そして、その記入後の二次元コードＱの誤り率Ｐ４を算出する処理が行われる（Ｓ４４）。なお、この算出処理もＳ２（図４）と同様の方法で行われる。
【０１１３】
そして、記入前の二次元コードＱについての誤り率Ｐ３と記入後の二次元コードＱについての誤り率Ｐ４との差Ｐ４−Ｐ３を算出する（Ｓ４５）。そして、この差Ｐ４−Ｐ３が所定の閾値以上か否かを判断し（Ｓ４６）、差Ｐ４−Ｐ３が所定閾値以上であればＳ４６でＹｅｓに進み、Ｓ４７の付加処理を行う（Ｓ４７）。なお、Ｓ４７の付加処理はＳ４（図４）と同様であり、付加情報をメモリ３５から読み出すと共に、その読み出した付加情報をＳ４３でのデコード結果（解読データ）に付加する。そして、それら両データ（解読データに付加情報を加えたデータ）を出力する（Ｓ４８）。一方、Ｓ４６にてＮｏに進む場合には、付加情報を付加せずにＳ４３でデコードしたデータ（解読データ）のみを出力する（Ｓ４８）。なお、いずれの場合でも第１実施形態と同様の出力方法（Ｓ５：図４）を用いることができる。
【０１１４】
本実施形態のように、記入前の二次元コード（例えば図１１（ａ））を判断の基準とする構成とすれば、様々な種類の二次元コードに対応しやすい構成となる。即ち、様々な種類の二次元コードにおいて記入領域に対する記入に対応した「所定の誤り情報」をより正確に発生させることができ、ひいては、記入作業に対応させて付加情報を精度高く出力できるようになる。
【０１１５】
また、本実施形態の構成を用いると、例えば図１１のように記入領域以外に誤りが存在するようなコード状態であっても記入領域に記入がなされたか否かを正確に判断できるため、コード状態の影響をあまり受けることなく付加情報を出力できるようになる。
【０１１６】
［第５実施形態]
次に第５実施形態について説明する。
本実施形態では、マーカ光照射手段により特定図形を表示するように構成されている点、及び図４の解読処理に代えて図１２の処理を用いている点が第１実施形態と異なっている。  
【０１１７】
本実施形態の二次元コード読取装置では、図１２のような流れで解読処理が行われる。  当該処理が開始されると、まずマーカ光照射処理が行われる（Ｓ５１）。本実施形態では第１実施形態と同様のマーカ光照射部５１（図１）が設けられており、このマーカ光照射部５１によって図１３のような図形が表示されるようになっている。マーカ光によって表示される図形は、位置検出パターンＦＰ１、ＦＰ２、ＦＰ３にそれぞれに対応する位置検出パターン対応図形ＭＫ１、ＭＫ２、ＭＫ３と、記入領域６０に対応する記入領域対応図形ＭＫ４とを有しており、これら位置検出パターン対応図形ＭＫ１、ＭＫ２、ＭＫ３、記入領域対応図形ＭＫ４が「特定図形」の一例に相当している。
なお、本実施形態でもマーカ光照射部５１が「マーカ光照射手段」の一例に相当する。
【０１１８】
この構成では、二次元コードＱの読取処理の際に、ユーザにより二次元コード読取装置の位置が操作され、読取対象物Ｒに表示される位置検出パターン対応図形ＭＫ１、ＭＫ２、ＭＫ３がそれぞれ位置検出パターンＦＰ１、ＦＰ２、ＦＰ３に合わせられたときに、記入領域対応図形ＭＫ４が記入領域６０の位置を示すようになっている。図１３の例では、位置検出パターン対応図形ＭＫ１、ＭＫ２、ＭＫ３がそれぞれ矩形枠として表示されるようになっており、全ての位置検出パターン対応図形ＭＫ１、ＭＫ２、ＭＫ３の枠内にそれぞれ位置検出パターンＦＰ１、ＦＰ２、ＦＰ３が配される位置関係となるように二次元コード読取装置及び読取対象物Ｒが位置決めされたときに記入領域対応図形ＭＫ４の枠内全体が記入領域６１となるように構成されている。
【０１１９】
このように記入領域対応図形ＭＫ４によって記入領域６０の位置が示されると、どの位置に記入すべきかが判明するため、ユーザは必要に応じて記入領域６０に対しペン等によって記入を行うことができるようになる。その後、記入後の二次元コードの読取処理が行われる（Ｓ５３）。Ｓ４３の処理は、Ｓ１（図４）と同一の処理であり、作業者が記入後の二次元コードＱを読み取ろうとする操作を行うことにより実行されるものである。この処理では、記入後の二次元コードＱの画像データが取得され、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われる。なお、本実施形態でも、制御回路４０及び受光センサ２８が「取得手段」の一例に相当する。また、制御回路４０が、「誤り検出手段」の一例に相当する。
【０１２０】
そして、その記入後の二次元コードＱの誤り率を算出する処理が行われる（Ｓ５３）。なお、この算出処理もＳ２（図４）と同様の方法で行われる。そして、Ｓ５３で算出された誤り率が、所定の誤り率か否かを判断し、所定の誤り率であれば付加処理（Ｓ５５）を行った上で両データ（解読データに付加情報を加えたデータ）データを出力する。一方、所定の誤り率でない場合にはＳ５４にてＮｏに進み、付加情報を付加せずにデータを出力する（Ｓ５６）。なお、Ｓ５４、Ｓ５５、Ｓ５６の処理は、図４のＳ３、Ｓ４、Ｓ５と同様である。
【０１２１】
本実施形態の構成によれば、二次元コード内に特別な目印があるか否かにかかわらず記入領域６１を作業者に示すことができ、作業者は特定図形を目印として記入作業を精度高く良好に行うことができるようになる。
【０１２２】
なお、図１２のような解読処理は、例えば記入領域を特定する目印が記載されていない二次元コードを用いて製品等の管理を行うシステムにおいて、記入領域に適切に記入されているか否か、或いは記入がなされたときに付加情報が適切に付加されているか否かを検査する場合などにおいて特に有利となる。
【０１２３】
［第６実施形態］
次に第６実施形態について説明する。
図１４は、第６実施形態の二次元コード読取装置で行われる解読処理を例示するフローチャートである。また、図１５は、図１４の二次元コード読取装置の読取対象を説明する説明図であり、（ａ）は、記入領域に記入されていない状態を示す図であり、（ｂ）は記入領域に第１の記入態様で記入された状態を示す図であり、（ｃ）は、記入領域に第２の記入態様で記入された状態を示す図である。なお、本実施形態では、使用する二次元コード及び解読処理の内容のみが第１実施形態と異なり、それ以外は第１実施形態と同様である。即ち、図４の解読処理を図１４のようにした点、及び図２のような二次元コードＱに代えて図１５のような二次元コードＱ１を使用している点のみが第１実施形態と異なり、それ以外は第１実施形態と同様である。よって、異なる点について重点的に説明し、第１実施形態と同一の内容（図１〜図３等の内容）については詳細な説明は省略することとする。
【０１２４】
本実施形態の二次元コード読取装置では、図１４のような流れで解読処理が行われる。
当該処理が開始されると、まず二次元コードＱ１を読み取る処理が行われる（Ｓ６１）。Ｓ６１の処理はＳ１（図４）と同様であり、Ｓ１と同様に二次元コードＱの像（コード画像）に応じた画像信号が受光センサ２８にて出力され、画像信号に応じた画像データがメモリ３５に記憶される。画像データが取得された後には、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理が行われ、デコード処理によって解読されたデータが最終的にメモリ３５に記憶される。なお、本実施形態でも、制御回路４０及び受光センサ２８が「取得手段」の一例に相当する。また、制御回路４０が、「誤り検出手段」の一例に相当する。
【０１２５】
その後、誤り率を算出する処理を行う（Ｓ６２）。Ｓ６２の誤り率算出処理自体はＳ２（図４）と同様であり、Ｓ６１の読取処理で行われる誤り状態の検出結果に基づいて誤り率Ｐ５が算出される。
【０１２６】
ところで、本実施形態での読取対象（二次元コードＱ１）は、複数の記入領域（図１５では２つの記入領域１６０ａ、１６０ｂ）が設けられており、記入の仕方を変えることによって複数の記入態様を発生させることができるようになっている。具体的には、例えば、記入領域１６０ａのみが記入された第１態様、両記入領域１６０ａ，１６０ｂが記入された第２記入態様を生じさせることができるようになっており、Ｓ６１の読取処理で行われる誤り状態の検出結果に基づいて、これら第１、第２記入態様に対応した誤り率（対応誤り率）が算出されるようになっている。より詳しく言えば、二次元コードＱ１は、正常状態（図１５（ａ）のように、記入領域１６０ａ、１６０ｂ及び目印１６１ａ、１６１ｂ以外に誤りを発生させる要因が無い状態）において記入領域１６０ａのみに記入がなされ、記入領域１６０ａのみに誤りが発生した場合（即ち図１５（ｂ）のような第１記入態様の場合）に、検出される誤り率Ｐ５が、閾値Ｚ１よりも大きく且つ閾値Ｚ２以下となるように構成されており、両記入領域１６０ａ、１６０ｂに記入がなされ、両記入領域１６０ａ、１６０ｂに誤りが発生した場合（即ち図１５（ｃ）のような第２記入態様の場合）に、検出される誤り率Ｐ５が、閾値Ｚ２よりも大きく且つ閾値Ｚ３以下となるように構成されている。従って、Ｓ６２で算出された誤り率Ｐ５が判明すれば、Ｚ１〜Ｚ３に基づいてどの記入態様が生じたかを把握できることとなる。なお、この例では、「誤り率Ｐ５がＺ１よりも大きく且つＺ２以下であるという情報」「誤り率Ｐ５がＺ２よりも大きく且つＺ３以下であるという情報」がいずれも「対応誤り情報」の一例に相当する。
【０１２７】
具体的な流れとしては、Ｓ６３においてＳ６２で算出された誤り率Ｐ５が閾値Ｚ１以下か否かを判断し、閾値Ｚ１の場合にはいずれの対応誤り情報も発生していないものとみなし、Ｓ６１でのデコード結果（解読データ）を出力する（Ｓ６８）。一方、Ｓ６２で算出された誤り率Ｐ５が閾値Ｚ１よりも大きい場合、Ｓ６３でＮｏに進み、誤り率Ｐ５が閾値Ｚ２以下か否かを判断する。誤り率Ｐ５が閾値Ｚ２以下の場合とは、即ち第１記入態様が発生している場合であるため、Ｓ６５の付加処理において、第１記入態様に対応した対応付加情報ＡをＳ６１のデコード結果（解読データ）に付加する。この場合、Ｓ６１での解読データに付加情報Ａを付加した情報が出力される（Ｓ６８）。
【０１２８】
また、Ｓ６４で誤り率Ｐ５が閾値Ｚ２よりも大きいと判断される場合、Ｓ６４にてＮｏに進み、誤り率Ｐ５が閾値Ｚ３以下であるか否かを判断する。誤り率Ｐ５が閾値Ｚ２よりも大きく且つ閾値Ｚ３以下の場合とは、即ち第２記入態様が発生している場合であるため、Ｓ６５の付加処理において、第２記入態様に対応した対応付加情報ＢをＳ６１のデコード結果（解読データ）に付加する。この場合、Ｓ６１での解読データに付加情報Ｂを付加した情報が出力される（Ｓ６８）。なお、誤り率Ｐ５が閾値Ｚ３よりも大きい場合には、いずれの付加情報も付加せずにＳ６１で得られた解読データを出力する（Ｓ６８）。
【０１２９】
本実施形態のように、記入のバリエーションが多い二次元コードＱ１を読取対象とし、対応誤り情報に応じた対応付加情報を出力する構成とすれば、より多くの種類の付加情報を付加できる構成となり、ひいては当該装置をより多くの用途に利用できるようになる。
【０１３０】
本実施形態は、例えば、読取対象物を多種別（種別Ａ、Ｂ、Ｃ）に選別した後に、いずれの種別であるかを二次元コードに記録しておきたい場合に有効である。例えば、種別Ａと選別されたものについては記入を行わず、種別Ｂと選別されたものについては記入領域１６０ａのみに記入し、種別Ｃと選別されたものについては両記入領域１６０ａ、１６０ｂに記入するといった使い方が可能となる。この場合、第１記入態様が確認されたもの（即ち、誤り率Ｐ５がＺ１よりも大きく且つＺ２以下であるという対応誤り情報が確認されたもの）については種別Ｂである旨の情報を対応付加情報として付加し、第２記入態様が確認されたもの（誤り率Ｐ５がＺ２よりも大きく且つＺ３以下であるという対応誤り情報）については種別Ｃである旨の情報を対応付加情報として付加するようにすれば、いずれの種別として選別されたものであるかを二次元コードＱ１によって把握できるようになる。
【０１３１】
また、図１４の処理を図１６のように変更してもよい。図１６の解読処理でも、まず二次元コードＱ１（図１５）を読み取る処理が行われる（Ｓ７１）。なお、このＳ７１の処理もＳ１（図４）と同様である。そして、その読取処理（Ｓ７１）で行われた誤り検出結果に基づいて誤り位置を取得する（Ｓ７２）。Ｓ７１で行われる誤り検出処理では誤り位置の検出も行われるため、Ｓ７２ではこの検出結果に基づいてどの位置に誤りが発生したかを把握しメモリ３５に記憶しておく。
【０１３２】
そして、Ｓ７２での確認結果に基づいて所定位置１に誤りが発生しているかを確認する。この「所定位置１」は記入領域１６０ａ（図１５）の位置のことであり、Ｓ７３では記入領域１６０ａの位置に誤りが発生しているかを確認している。例えば図１５（ｂ）のように所定位置１に誤りが発生している場合にはＳ７３にてＹｅｓに進み、Ｓ７１で読み取った解読データに付加情報Ａを付加する（Ｓ７４）。
【０１３３】
Ｓ７３でＮｏに進む場合、或いはＳ７４が終了した場合には所定位置２に誤りが発生しているかを確認する。この「所定位置２」は記入領域１６０ｂ（図１５）の位置のことであり、Ｓ７５では記入領域１６０ｂの位置に誤りが発生しているかを確認している。例えば図１５（ｃ）のように所定位置２に誤りが発生している場合にはＳ７５にてＹｅｓに進み、Ｓ７１で読み取った解読データに付加情報Ｂを付加する（Ｓ７６）。
【０１３４】
図１６の例では、記入領域１６０ａに記入がなされるという「第１の記入態様」と、記入領域１６０ｂに記入がなされるという「第２の記入態様」とを少なくとも想定しており、第１の記入態様が生じる場合には、誤り検出処理において所定位置１に誤りが発生した旨の情報が確認され、第２の記入態様が生じる場合には、所定位置２（記入領域１６０ｂの位置）に誤りが発生した旨の情報が確認されるようになっている。なお、この場合、「所定位置１に誤りが発生した旨の情報」「所定位置２に誤りが発生した旨の情報」が「対応誤り情報」の一例に相当する。また、この場合、付加情報Ａが、「対応付加情報」の一例に相当し、所定位置１に誤りが発生した旨の情報（対応誤り情報）に応じて出力される。また、付加情報Ｂも、対応付加情報の一例に相当し、所定位置２に誤りが発生した旨の情報（対応誤り情報）に応じて出力される。
【０１３５】
［第７実施形態］
次に第７実施形態について説明する。第７実施形態は、図１５のような二次元コードＱ１に代えて図１７のような二次元コードＱ２を読取対象としている点が第６実施形態と異なり、それ以外は第６実施形態と同様である。解読処理についても基本的に図１４と同様である。
【０１３６】
本実施形態で用いる二次元コードＱ２は、例えば図１７（ａ）のようなものである。なお、図１７（ａ）の二次元コードＱ２は、記入領域以外は図２と同様である。この二次元コードＱ２は、単一の記入領域を２６０を備えてなるものであり、この記入領域２６０に対して複数の記入状態を発生させることができるようになっている。具体的には、図１７（ｂ）のように、記入領域２６０の特定部分（図１７（ｂ）の例では左半分）が塗り潰されたときに（第１の記入態様のとき）、検出される誤り率Ｐ５が、閾値Ｚ１よりも大きく且つ閾値Ｚ２以下となるように構成されており、図１７（ｃ）のように記入領域２６０の全部が塗り潰されたとき（第２の記入態様のとき）に、検出される誤り率Ｐ５が、閾値Ｚ２よりも大きく且つ閾値Ｚ３以下となるように構成されている。
【０１３７】
本実施形態でも図１４のように解読処理が行われるが、図１７（ｂ）のように左半分のみが塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率Ｐ５は閾値Ｚ１よりも大きく且つ閾値Ｚ２以下となるため、Ｓ６１でのデコード結果（解読データ）に付加情報Ａが付加され（Ｓ６５）、それらが出力されることとなる（Ｓ６８）。また、図１７（ｃ）のように全部が塗り潰されたときには、それ以外の新たな誤りが無ければ、算出される誤り率Ｐ５は閾値Ｚ２よりも大きく且つ閾値Ｚ３以下となるため、Ｓ６１でのデコード結果（解読データ）に付加情報Ｂが付加され（Ｓ６７）、それらが出力されることとなる（Ｓ６８）。
【０１３８】
本実施形態のように、複数の記入態様を想定した二次元コードＱ２を読取対象とし、確認された対応誤り情報に応じた対応付加情報を出力するようにすれば、多くの種類の付加情報を付加できるようになり、ひいては当該装置をより多くの用途に利用できるようになる。
【０１３９】
［第８実施形態］
次に第８実施形態について説明する。図１８は、第８実施形態に係る二次元コード読取装置の読取対象を説明する説明図であり、（ａ）は、記入領域に記入される前の状態を示す図であり、（ｂ）は記入領域に記入された後の状態を示す図である。図１９は、第８実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。図２０は、二次元コードが付された読取対象物を例示する説明図であり、（ａ）は読取対象物に付された二次元コードに記入がなされていない状態を説明する説明図であり、（ｂ）は読取対象物に付された二次元コードに文字が記入された状態を説明する説明図である。図２１は、登録記号別データの一例を概念的に説明する説明図である。
【０１４０】
本実施形態に係る二次元コード読取装置は、ハードウェア的には第１実施形態と同一の構成（図１）である。従って、適宜図１を参照することとし、各部の詳細な説明は省略する。
【０１４１】
本実施形態で用いられる二次元コードＱ８は、図１８（ａ）に示すように、第１実施形態で用いられる二次元コードＱ（図２）と同様の構成をなしており、目印のみが第１実施形態と若干異なっている。第８実施形態で用いる二次元コードＱ８も、コード領域内に矩形枠の目印８６０が形成されており、この目印８６０の内部領域が記入領域８６１として構成されている。
【０１４２】
記入領域８６１は、二次元コードＱ８を使用するユーザの手作業により、或いは特別な記入装置などにより、既に形成された明色セル或いは暗色セルの上から所定の記入がなされうる領域として構成されるものである。目印８６０は、コード領域内において記入領域８６１の位置を特定する機能を有しており、図１８（ａ）の例では、目印８６０によって記入領域の外縁が特定されている（即ち、目印８６０の内部領域全体が記入領域８６１として構成されている）。
【０１４３】
上記のように二次元コードＱ８に設けられた記入領域８６１は、当該記入領域８６１内に記入がなされた場合に、その記入後の二次元コードＱ８を読み取る際の誤り検出において「所定の誤り情報」が確認されるように構成されるものである。本実施形態では、特定の複数のデータコードブロックが記入領域８６１として定められており、例えば、記入領域８６１内のいずれかのデータコードブロックに誤りが存在し、かつ記入領域８６１外のデータコードブロックに誤りが存在しない場合に、二次元コード読取装置２０による誤り検出処理において所定の誤り率で誤りが検出されるようになっている。
【０１４４】
次に、本実施形態に係る二次元コード読取装置で行われる解読処理について説明する。本実施形態でも、図１９に示すように、まず二次元コードを読み取る処理が行われる（Ｓ８０１）。Ｓ８０１の処理は、第１実施形態のＳ１（図４）と同様の処理であり、図１に示す受光センサ２８によって二次元コードＱ８を撮像し、この画像信号に応じた画像データをメモリ３５に記憶する。そして、当該画像データに対して公知の二値化処理、誤り検出処理、デコード処理を行い、デコード処理によって解読されたデータを最終的にメモリ３５に記憶する。
【０１４５】
なお、本実施形態でも、図１に示す制御回路４０及び受光センサ２８が「取得手段」の一例に相当し、二次元コードＱ８のコード画像を取得するように機能する。また、制御回路４０は、「誤り検出手段」の一例に相当し、取得されたコード画像について誤り状態を検出するように機能する。
【０１４６】
さらに、Ｓ８０１の読取処理の際に行われた誤り検出処理での検出結果に基づいて誤り率を算出し、誤り率が閾値以上であるか判断する処理を行う（Ｓ８０２）。Ｓ８０１の読取処理では当該読取処理の一部をなす誤り検出処理にてコード画像の誤り位置及び誤り内容を検出しているため、Ｓ８０２の処理では、既に誤り検出処理で得られた誤り位置及び誤り内容に基づいて誤りデータ量を確認し、全データ量に対する誤りデータ量の割合（誤り率）を算出する。具体的には例えば、全データコードブロックの数Ｘａに対する誤りが確認されたデータコードブロックの数Ｘｂの割合Ｘｂ／Ｘａを誤り率として算出する。  そして、その算出された誤り率が、予め定められた閾値以上であるか否かを判断する。
【０１４７】
本実施形態で用いる二次元コードＱ８は、記入領域８６１内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、所定の誤り率となるように構成されており、Ｓ８０２で用いる閾値は、この所定の誤り率よりも低い値であって、０よりも大きい値に設定されている。なお、本実施形態では、二次元コードＱ８の誤り率が所定閾値（Ｓ８０２）以上であることを示す情報が「所定の誤り情報」の一例に相当する。
【０１４８】
Ｓ８０２において、誤り率が閾値未満であると判断される場合（例えば、図１８（ａ）、図２０（ａ）のような二次元コードＱ８を読み取る場合）、Ｓ８０２にてＮｏに進み、Ｓ８０１で得られた解読データ（デコード結果）を出力する（Ｓ８１０）。
【０１４９】
一方、Ｓ８０２において、誤り率が閾値以上であると判断される場合（例えば図１８（ｂ）、図２０（ｂ）のような二次元コードＱ８を読み取る場合）、Ｓ８０２にてＹｅｓに進み、記号入力枠を特定する処理を行う（Ｓ８０３）。この処理は、後述する記号認識処理を行う領域を特定する処理である。この処理では、予め定められた方法で記号入力枠を特定しており、その特定方法としては、例えば、誤りが生じている全データコードブロックを記号入力枠として特定してもよく、二次元コード読取装置２０内にあらかじめ登録されている情報に基づいて記号入力枠を特定してもよい。あらかじめ登録されている情報に基づいて記号入力枠を特定する方法としては、例えば、二次元コードＱ８の記入領域の位置情報を二次元コード読取装置２０内に記録しておき、Ｓ８０３の処理においてこれを読み出すようにすればよい。
【０１５０】
Ｓ８０３の後には、記号認識処理を行う（Ｓ８０４）。Ｓ８０４では、画像処理分野において公知とされている文字認識技術を用い、Ｓ８０３で特定された枠内の記号を認識する。なお、文字認識技術としては、公知の様々な方式を用いることができ、例えば、光学式文字読取装置（ＯＣＲ：optical character reader）で用いられる技術などを好適に利用できる。この技術自体は公知であるので詳細な説明は省略するが、この場合、装置内に記号ごとの標準パターンを登録しておき、この標準パターンと入力パターンのマッチングによって認識を行えばよい。
【０１５１】
本実施形態では、図１８に示すように、読取対象となる二次元コードＱ８において記入領域８６１内に情報表示単位セルが複数配置されており、記入領域８６１に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を記号として認識している。例えば、図１８（ａ）のように、記入領域８６１内に白色セルと黒色セルとが配置され、これらセルの色とは異なる色で記号が記入されたときには、そのセル色以外の領域を抽出し、記号を認識する。図１８（ｂ）では、「ＮＧ」という文字がセル色以外の色（例えば赤色）で記入された例を示しており、このような場合には、その赤色の文字を認識することとなる。なお、本実施形態では、制御回路４０が「認識手段」の一例に相当する。
【０１５２】
そして、Ｓ８０４での記号認識が成功したか否かを判断し（Ｓ８０５）、成功した場合には、Ｓ８０５にてＹｅｓに進み、Ｓ８０４で認識された記号（認識記号）と登録記号とを比較する処理を行う（Ｓ８０６）。
【０１５３】
本実施形態では、メモリ３５（図１）において、登録記号が複数記憶され、各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。各登録記号は、一又は複数の記号（例えば複数の文字）によって構成されたものであればよく、登録記号の内容や、登録記号別データの内容は様々に設定することができる。図２１にはその一例を示しており、図２１の例では、ＮＧ１、ＮＧ２、修理１、修理２等の登録記号が登録されており、各登録記号と対応付けられて、「不良品として登録、廃棄処理」「不良品として登録、再利用処理」「修理可能品、修理工程１」「修理可能品、修理工程２」といった処理工程データがそれぞれ「登録記号別データ」として登録されている。
【０１５４】
Ｓ８０６の比較処理では、Ｓ８０４で認識された記号が、メモリ３５に登録された複数の登録記号のいずれかと一致するか否かを確認し、その確認処理後、Ｓ８０４で認識された記号（認識記号）がいずれかの登録記号と一致したか否かを判断する処理を行う（Ｓ８０７）。なお、本実施形態では、メモリ３５が「登録手段」の一例に相当する。また、制御回路４０が「確認手段」の一例に相当する。
【０１５５】
Ｓ８０７の判断処理において、認識記号がいずれかの登録記号と一致したと判断された場合、Ｓ８０７にてＹｅｓに進み、認識記号と一致した登録記号に対応する登録記号別データを「付加情報」として、Ｓ８０１でのデコード結果と共に出力する（Ｓ８０８）。例えば、登録内容が図２１のような内容であり、Ｓ８０４にて認識された認識記号が「ＮＧ１」である場合には、デコード結果に付加する「付加情報」として、「ＮＧ１」に対応付けられた「不良品として登録、廃棄処理」という処理工程データを出力する。なお、このデータ出力は、液晶表示器４６に表示するように行ってもよく、通信インタフェース４８を介して外部装置（コンピュータ等）に出力してもよい。また、Ｓ８０８で出力する内容は、登録記号別データの一部又は全部であってもよく、登録記号別データに対応する内容であってもよい。「登録記号別データに対応する内容を出力する」例としては、登録記号別データに対応付けられたマークを液晶表示器４６に表示したり、登録記号別データに対応するランプ表示や音声出力を行うようにしてもよい。
【０１５６】
一方、Ｓ８０５にてＮｏに進む場合、或いはＳ８０７にてＮｏに進む場合には、Ｓ８０１でのデコード結果と共に、報知データを出力する。このデータ出力についても、液晶表示器４６に表示するように行ってもよく、通信インタフェース４８を介して外部装置（コンピュータ等）に出力してもよい。また、報知データの出力方法としては、例えば、認識が失敗した旨の情報（Ｓ８０５にてＮｏの場合）、認識記号が登録されていない旨の情報（Ｓ８０７にてＮｏの場合）などを液晶表示器４６に表示する方法などが挙げられる。或いは、図１に示すＬＥＤ４３を所定態様で点灯させたり、ブザー４４を鳴動させるようにしてもよい。この場合、制御回路４０が、液晶表示器４６、ＬＥＤ４３、ブザー４４などと協働して「報知手段」として機能する。
【０１５７】
このように構成される二次元コード読取装置２０は、様々な用途に用いることができる。その一例としては、所定の選別工程（例えば、正常品と要対応品を選別する工程、要対応品を更に具体的に選別する構成など）において、二次元コードＱ８の記入領域８６１に、選別内容に応じた記号を記入する利用方法が挙げられる。例えば、製造ラインにおける検査工程において、検査対象物が、不良品として登録し且つ廃棄処理すべきものと判断された場合、この検査対象物（廃棄対象品）に付される二次元コードＱ８の記入領域８６１に、判断された処理工程に対応する記号（図２１の例では「ＮＧ１」）を記入しておけば、後工程において、この「ＮＧ１」に対応する処理工程データ（即ち、当該検査対象物に対して行うべき処理工程のデータ）を読み出すことができ、当該検査対象物がどのように扱うべきものであるかを迅速且つ確実に把握できるようになる。他の判断がなされる場合も同様であり、例えば、製造ラインにおける検査工程において、検査対象物が、修理可能品として登録し且つ修理工程１を行うべきものと判断された場合、この検査対象物（修理対象品）に付される二次元コードＱ８の記入領域８６１に、判断された処理工程に対応する記号（図２１の例では「修理１」）を記入しておけば、後工程において、この修理１に対応する処理工程データ（当該検査対象物に対して行うべき処理工程のデータ）を読み出すことができ、どのような判断がなされたかを迅速且つ確実に把握できるようになる。  
【０１５８】
なお、本実施形態でも制御回路４０が「デコード手段」の一例に相当し、コード画像についての誤り状態の検出結果（即ち、Ｓ８０１の読取処理にて確認された誤り位置及び誤り内容）に基づいて二次元コードＱ８のデコード（即ち、データコードブロックにてコード化されているデータの解読）を行うように機能する。また、誤り状態の検出において上述の所定の誤り情報（所定閾値以上の誤り率）が確認された場合、二次元コードＱ８のデコード結果に加え、所定の誤り情報に対応する付加情報を出力するように機能する。
【０１５９】
以下、本実施形態の主な効果について説明する。
本実施形態では、「誤り状態検出手段」によって所定の誤り情報が確認された場合に記入領域８６１に記入された記号を認識する「認識手段」が設けられている。そして、「デコード手段」は、この「認識手段」によって記号が認識された場合に、その認識記号に対応する対応情報を付加情報として出力している。このようにすると、ユーザが記入領域８６１に様々な記号を記入することができるようになるため、記入の自由度が高められ、より適切な情報をコード内に付加することができる。更に、デコードの際に、ユーザの記入内容に応じた付加情報を出力することができるため、後工程において、目視等による記入内容についての直接的な情報取得に加え、記入内容に応じた付加情報をデータとして利用できるようになり、ひいては、二次元コードを利用する上での利便性を効果的に高めることができる。
【０１６０】
また、本実施形態では、読取対象となる二次元コードＱ８の記入領域８６１において、情報表示単位セルが複数配置されており、「認識手段」は、記入領域８６１に配置された複数の情報表示単位セルとは色彩、濃度、輝度の少なくともいずれかが異なる部分を、記号として認識している。このようにすると、情報表示単位セルが配置された領域を記入領域として利用でき、情報表示単位セルとは異なる態様で記入される部分を記号として正確に認識できるようになる。従って、記号が記入されていないときには、記入領域内の各セルをデータとして利用でき、記号が記入された場合でも、一部のセルをデータとして利用できる可能性がある。
【０１６１】
また、本実施形態では、メモリ３５（登録手段）において複数の登録記号が記憶され、且つ各登録記号に対応付けられて登録記号別データがそれぞれ登録されている。更に、「確認手段」により、認識記号が登録記号として登録されているか否かを確認しており、登録されている場合には、「デコード手段」により、登録記号別データの内容、又は登録記号別データに対応する内容を付加情報として出力している。このようにすると、記入が予想される記号を予め登録しておくことができ、各記号に対応した適切なデータ（登録記号別データ）を準備しておくことができる。読み取りの際には、記入された記号が予め想定された記号（登録記号）であるか否かを的確に確認することができ、登録記号である場合には、その記号に応じた適切なデータを出力することができる。
【０１６２】
具体的には、各登録記号毎に処理工程データが対応付けられて登録されており、認識記号がメモリ３５（登録手段）に登録されていると確認された場合には、認識記号に対応した処理工程データを付加情報として出力している。このようにすると、記入が予想される記号をそれぞれ処理工程データと対応付けて準備しておくことができる。この構成では、ユーザが後工程において何らかの処理工程データを利用したい場合、その処理工程データに対応する記号を記入すればよく、簡単な作業で様々な処理工程データを利用できるようになり、ひいては、ユーザの利便性を効果的に高めることができる。
【０１６３】
また、本実施形態では、認識記号がメモリ３５（登録手段）に登録されていると確認されなかった場合に報知を行う「報知手段」が設けられている。このようにすると、記入された記号が登録されていないことをユーザに知らしめることができ、ユーザが適切な対応をとりやすくなる。
【０１６４】
［第９実施形態］
次に第９実施形態について図２２を参照しつつ説明する。なお、図２２は、第９実施形態に係る二次元コード読取装置で行われる解読処理の流れを例示するフローチャートである。
【０１６５】
第９実施形態に係る二次元コード読取装置は、解読処理のみが第８実施形態と異なっており、それ以外は第８実施形態と同様である。また、二次元コードについては、第８実施形態と同様の二次元コードＱ８（図１８）が用いられている。よって、解読処理以外は、第８実施形態で引用した図面を参照して説明する。
【０１６６】
第９実施形態で行われる解読処理は、図２２に示すように、二次元コードＱ８の誤り率が第１の閾値（第１の誤り率）以上であって且つ第２の閾値（第２の誤り率）以下であるときにＳ９０４〜Ｓ９１０の処理（図１９のＳ８０３〜Ｓ８０９と同様の処理）を行う点、二次元コードＱ８の誤り率が第１の閾値（第１の誤り率）未満のときにＳ９１１の処理（図１９のＳ８１０と同様の処理）を行う点、二次元コードＱ８の誤り率が第２の閾値（第２の誤り率）以上であるときに、Ｓ９１２の処理を行う点が第８実施形態の解読処理（図１９）と異なっている。
【０１６７】
本実施形態で用いる二次元コードＱ８（図１８）は、記入領域８６１内のいずれかのデータコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第１の所定誤り率となるように構成されており、Ｓ９０２で用いる第１の閾値は、この第１の所定誤り率よりも低い値であって、０よりも大きい値に設定されている。また、記入領域８６１内の全データコードブロックに誤りが発生し、他のデータコードブロックに誤りが発生していない場合に、第２の所定誤り率となるように構成されており、Ｓ９０３で用いる第２の閾値は、この第２の所定誤り率よりも小さい値であって、第１の閾値よりも大きい値に設定されている。
【０１６８】
図２２の解読処理では、Ｓ９０１の読取処理（図１９のＳ８０１と同様の読取処理）を行った後、二次元コードＱ８の誤り率が第１の閾値（第１の誤り率）以上であるか否かを判断し（Ｓ９０２）、第１の閾値以上であれば、Ｓ９０２にてＹｅｓに進み、二次元コードＱ８の誤り率が第２の閾値（第２の誤り率）以下であるか否かを判断している（Ｓ９０３）。なお、本実施形態でも、制御回路４０が「誤り状態検出手段」の一例に相当し、二次元コードＱ８の誤り率が第１の閾値（第１の誤り率）以上となっている状態を「所定の誤り状態」として検出している。
【０１６９】
二次元コードＱ８の誤り率が、第１の閾値（第１の誤り率）以上であり、且つ第１の閾値（第１の誤り率）よりも大きい第２の閾値（第２の誤り率）以下である場合（即ち、Ｓ９０２、Ｓ９０３でＹｅｓに進む場合）には、Ｓ９０４〜Ｓ９１０において第８実施形態のＳ８０３〜Ｓ８０９（図１９）と同様の処理が行われ、この場合にのみ記号を認識する処理（Ｓ９０５）が行われる。
【０１７０】
一方、二次元コードＱ８の誤り率が、第２の閾値（第２の誤り率）よりも大きい場合には、Ｓ９０３にてＮｏに進み、Ｓ９０１でのデコード結果と共に、所定付加情報を出力する。本実施形態では、誤り率が第２の閾値よりも大きい場合に出力すべきデータ（所定付加情報）が予めメモリ３５に用意されており、Ｓ９０３でＮｏに進む場合には、このデータをデコード結果と共に出力する。なお、この場合には、記号を認識する処理（Ｓ９０５）は行われず、省略されることとなる。
【０１７１】
本実施形態に係る発明では、「第１の誤り率」を適切に調整することにより、記入領域８６１に何らかの記入がなされたか否かを「第１の誤り率」によって区別することができるようになり、「第２の誤り率」を適切に調整することにより、記入領域８６１に記号が記入された場合と記号以外の記入（塗り潰し等）がなされた場合とを「第２の誤り率」によって区別することができるようになる。そして、二次元コードＱ８の誤り率が「第２の誤り率」以上の場合に、記号認識を行わないようにしているため、記号以外の記入がなされた可能性が高い場合に認識処理を省略することができ、処理の迅速化を図ることができる。
【０１７２】
［他の実施形態］
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
本発明の「二次元コード」としては、例えばＱＲコード、データマトリックスコード、マキシコードなどが挙げられるが、誤り訂正機能を有するコードであればこれら以外であってもよい。
【０１７３】
上記実施形態ではＪＩＳＸ０５１０に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
【０１７４】
上記実施形態では、所定の算出方法で算出される誤り率を例示したが、誤り率の算出方法は上記方法に限られない。即ち、誤りが検出されたデータ量の度合いを求めうる方法であれば上記実施形態以外の方法で誤り率を求めてもよい。例えば誤りが検出されたデータコードブロックの数そのものを誤り率としてもよい。
【０１７５】
第１実施形態では、照明光源２１から出射される照明光Ｌｆが二次元コードＱに形成された目印６０と同一色である例を示したが、構成としては同一色に限られず、目印６０の色と同系色であればよい。例えば、目印６０が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色の照明光Ｌｆを照射するように照明光源２１を構成してもよい。なお、このように目印と同一色又は同系色の照明光を照射する構成についてはいずれの実施形態についても好適に用いることができる。
【０１７６】
第１実施形態では、マーカ光照射部５１から出射されるマーカ光が二次元コードＱに形成される目印６０と同一色である例を示したが、この場合も同一色に限られず、目印６０と同系色であればよい。例えば、目印６０が赤 、オレンジ 、黄等の赤系の暖色で構成される場合、このような暖色のマーカ光を照射するようにマーカ光照射部５１を構成してもよい。なお、このように目印と同一色又は同系色のマーカ光を照射する構成については、第５実施形態を除いたいずれの実施形態についても好適に用いることができる。
【０１７７】
第８実施形態では、二次元コードＱ８の誤り率が所定閾値以上である場合に記号認識を行っていたが、二次元コードＱ８において、「所定の誤り位置」で誤りが検出された場合に記号認識を行うようにしてもよい。この「所定の誤り位置」としては、記入領域８６１内のいずれかのデータコードブロックの位置であってもよく、記入領域８６１内の特定数（例えば２つ）のデータコードブロックの位置であってもよい。
【０１７８】
第８実施形態では、記入領域内に複数のセルが配置され、このセルに重ね書きされる形態で記号が記入されたときの例を示したが、図２３（ａ）のように二次元コードＱ８の記入領域８６１が作業者等によって塗り潰されてセルサイズよりも大きい単一色領域として構成され、この単一色領域に記号が記入されたときに、この記入された記号を認識するようにしてもよい。このようにすると、記入領域に記号が記入されたときに、記入された記号と背景（単一色領域）とを区別しやすく、記入された記号をより正確に認識することができる。
【符号の説明】
【０１７９】
２０…二次元コード読取装置
２１…照明光源（照明手段）
２８…受光センサ（取得手段）
３５…メモリ（登録手段）
４０…制御回路（取得手段、誤り状態検出手段、デコード手段、認識手段、報知手段、確認手段）
４３…ＬＥＤ（報知手段）
４４…ブザー（報知手段）
４６…液晶表示器（報知手段）
５１…マーカ光照射部（マーカ光照射手段）
６０，８６０…目印
６１，８６１…記入領域
Ｑ，Ｑ１，Ｑ２，Ｑ８…二次元コード
Ｄ１〜Ｄ２８…データコードブロック
Ｅ１〜Ｅ１６…誤り訂正コードブロック
【図１】
0005287473.tif 000002
【図２】
0005287473.tif 000003
【図３】
0005287473.tif 000004
【図４】
0005287473.tif 000005
【図５】
0005287473.tif 000006
【図６】
0005287473.tif 000007
【図７】
0005287473.tif 000008
【図８】
0005287473.tif 000009
【図９】
0005287473.tif 000010
【図１０】
0005287473.tif 000011
【図１１】
0005287473.tif 000012
【図１２】
0005287473.tif 000013
【図１３】
0005287473.tif 000014
【図１４】
0005287473.tif 000015
【図１５】
0005287473.tif 000016
【図１６】
0005287473.tif 000017
【図１７】
0005287473.tif 000018
【図１８】
0005287473.tif 000019
【図１９】
0005287473.tif 000020
【図２０】
0005287473.tif 000021
【図２１】
0005287473.tif 000022
【図２２】
0005287473.tif 000023
【図２３】
0005287473.tif 000024