(57)【要約】【課題】二次元コードから正しい所定情報を得るまでに要する時間が長くなることを抑制しつつ、二次元コードの誤り訂正機能を強化することのできる二次元コードを提供する。【解決手段】二次元コード１１〜１５は、品番符号が読取り結果として得られる品番情報コードＣｄと、品番符号の誤りを訂正するためのＲＳ符号が読取り結果として得られるＲＳコードＣｅとを、情報コード記録領域１０６内にセルの分布パターンとして配置している。二次元コード１１〜１５は、品番情報コードＣｄ及びＲＳコードＣｅの少なくとも一方を複数含むとともに、各符号を区分する区分符号が読取り結果として得られる区分情報コードＣｂを含む。【選択図】      図１
2011113101.tif 000002
【特許請求の範囲】
【請求項１】
所定情報が読取り結果として得られる所定情報コードと、前記所定情報の誤りを訂正するための訂正用情報が読取り結果として得られる訂正用情報コードとを、予め規定された読取り範囲内にセルの分布パターンとして配置した二次元コードであって、
前記所定情報コード及び前記訂正用情報コードの少なくとも一方を複数含むとともに、前記各情報を区分する区分情報が読取り結果として得られる区分情報コードを含むことを特徴とする二次元コード。
【請求項２】
単独の所定情報コードとそれに対応する単独の訂正用情報コードとのコード対を複数含むとともに、
前記区分情報コードは、複数のコード対から得られる複数の情報対を区分する区分情報が読取り結果として得られるものであることを特徴とする請求項１に記載の二次元コード。
【請求項３】
前記訂正用情報コードを複数含むとともに、
前記区分情報コードは、複数の訂正用情報を区分する区分情報が読取り結果として得られるものであることを特徴とする請求項１に記載の二次元コード。
【請求項４】
前記各訂正用情報コードは、互いに誤り訂正レベルの異なる訂正用情報が読取り結果として得られるものであることを特徴とする請求項２又は３に記載の二次元コード。
【請求項５】
前記各訂正用情報コードは、誤り訂正レベルの低い訂正用情報が読取り結果として得られる訂正用情報コードほど、所定のコード配置規則に基づくデコード順序が早くなる位置に配置されていることを特徴とする請求項４に記載の二次元コード。
【請求項６】
前記所定情報コードを複数含むとともに、
前記区分情報コードは、複数の所定情報を区分する区分情報が読取り結果として得られるものであることを特徴とする請求項１に記載の二次元コード。
【請求項７】
請求項１乃至６のいずれか1項に記載の二次元コードを読取る装置であって、
前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、
前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、単独の所定情報とそれに対応する単独の訂正用情報との情報対をそれぞれ設定する情報対設定手段と、
前記情報対設定手段により設定された各情報対の前記所定情報及び前記訂正用情報に基づいて、各情報対の情報欠損率を算出する欠損率算出手段と、
前記各情報対のうち、前記欠損率算出手段により算出された情報欠損率の最も低い情報対を選択する選択手段と、
前記選択手段により選択された前記情報対を用いて、前記所定情報を前記訂正用情報によって訂正する訂正手段と、
を備えることを特徴とする二次元コードの読取装置。
【請求項８】
請求項１乃至６のいずれか1項に記載の二次元コードを読取る装置であって、
前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、
前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、単独の所定情報とそれに対応する単独の訂正用情報との情報対をそれぞれ設定する情報対設定手段と、
前記情報対設定手段により設定された前記各情報対のうち第１の情報対を用いて、前記所定情報を前記訂正用情報によって訂正する第１訂正手段と、
前記第１訂正手段により前記所定情報を訂正できなかった場合に、前記第１の情報対とは別の第２の情報対を用いて、前記所定情報を前記訂正用情報によって訂正する第２訂正手段と、
を備えることを特徴とする二次元コードの読取装置。
【請求項９】
請求項１乃至６のいずれか１項に記載の二次元コードを読取る装置であって、
前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、
前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、各所定情報及び各訂正用情報の情報欠損率を算出する欠損率算出手段と、
前記所定情報及び前記訂正用情報のうち、前記欠損率算出手段により算出された情報欠損率の最も低い所定情報及び訂正用情報をそれぞれ選択する選択手段と、
前記選択手段によりそれぞれ選択された情報欠損率の最も低い所定情報を、情報欠損率の最も低い訂正用情報によって訂正する訂正手段と、
を備えることを特徴とする二次元コードの読取装置。
【請求項１０】
前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、各所定情報及び各訂正用情報の情報欠損率を算出する欠損率算出手段と、
前記所定情報及び前記訂正用情報のうち、前記欠損率算出手段により算出された情報欠損率の最も低い所定情報及び訂正用情報をそれぞれ選択する選択手段と、
前記情報対設定手段により設定された情報対によって前記所定情報を訂正できなかった場合に、前記選択手段によりそれぞれ選択された情報欠損率の最も低い所定情報を、情報欠損率の最も低い訂正用情報によって訂正する第３訂正手段と、
を備えることを特徴とする請求項７又は８に記載の二次元コードの読取装置。
【請求項１１】
請求項１乃至６いずれか１項に記載の二次元コードを生成する装置であって、
前記所定情報と前記訂正用情報と前記区分情報とに基づいて、全情報を形成する全情報形成手段と、
前記全情報形成手段により形成された前記全情報を所定のコード配置規則に基づいて配置してセルの分布パターンを生成する分布パターン生成手段と、
を備えることを特徴とする二次元コードの生成装置。
【請求項１２】
二次元コードに含ませる前記所定情報コード及び前記訂正用情報コードの少なくとも一方の数を可変設定する情報コード数設定手段を更に備え、
前記全情報形成手段は、前記情報コード数設定手段により設定された数の所定情報コード及び訂正用情報コードに対応する前記所定情報及び前記訂正用情報、並びに前記区分情報によって前記全情報を形成することを特徴とする請求項１１に記載の二次元コードの生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード、二次元コードの読取装置、及び二次元コードの生成装置に関する。
【背景技術】
【０００２】
二次元コードは、同面積で比較した場合にバーコードよりも多くの情報を持つことができるため、様々な分野で使用されている。また、二次元コードの一部に汚れや欠損が生じている場合であっても、読取装置による読取り結果として、本来二次元コードに記録されている正しい所定情報を得ることを可能とする機能、いわゆる誤り訂正機能を備える二次元コードがある（例えば、特許文献１参照）。特に、工場での生産管理や倉庫での入出庫管理といった場面では、二次元コードに汚れや欠損が生じ易いため、こうした誤り訂正機能を備える二次元コードが主に使用されている。具体的には、読取り結果として得られる所定情報に対して、リードソロモン等の誤り訂正用情報が付加されて、生成装置によりこれらの情報が二次元コードにコード化されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９３８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、二次元コードの汚れや欠損の程度によっては、二次元コードの誤り訂正機能をもってしても正しい所定情報を得ることができない場合がある。こうした状況を考慮して、製品のパッケージ等において同一の二次元コードを予め複数箇所に設けておき、１箇所目の二次元コードを読取って正しい所定情報を得ることができない場合に、他の箇所に設けられた二次元コードを読取って正しい所定情報を得ることが考えられる。
【０００５】
しかし、このような方法では、複数の二次元コードに対して読取り動作をそれぞれ実施する必要があるとともに、その動作毎に二次元コードから所定情報を得るための処理時間が必要となる。したがって、二次元コードから正しい所定情報を得るまでに要する時間が長くなるといったことが懸念される。また、製品のパッケージ等によっては、複数箇所に二次元コードを設けるための面積的余裕がない場合もある。
【０００６】
本発明は、こうした実情に鑑みてなされたものであり、二次元コードから正しい所定情報を得るまでに要する時間が長くなることを抑制しつつ、二次元コードの誤り訂正機能を強化することのできる二次元コードを提供することを主たる目的とするものである。また、これに適した二次元コードの読取装置及び生成装置を提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するために、以下の手段を採用した。
【０００８】
第１の発明は、所定情報が読取り結果として得られる所定情報コードと、前記所定情報の誤りを訂正するための訂正用情報が読取り結果として得られる訂正用情報コードとを、予め規定された読取り範囲内にセルの分布パターンとして配置した二次元コードであって、前記所定情報コード及び前記訂正用情報コードの少なくとも一方を複数含むとともに、前記各情報を区分する区分情報が読取り結果として得られる区分情報コードを含むことを特徴とする。
【０００９】
上記構成によれば、セルの分布パターンとして各情報コードを配置した二次元コードに対して、所定情報コード及び訂正用情報コードの読取りが読取装置により行われる。そして、読取装置での処理過程において、所定情報コードの読取り結果として所定情報が得られ、また訂正用情報コードの読取り結果として、前記所定情報の誤りを訂正するための訂正用情報が得られる。
【００１０】
ここで、二次元コードに汚れや欠損が生じている場合には、訂正可能な情報量を有する所定情報が得られなかったり、所定情報の訂正に必要な情報量を有する訂正用情報が得られなかったりすることがある。これに対して、上記二次元コードでは、前記所定情報コード及び前記訂正用情報コードの少なくとも一方が複数含まれている。このため、訂正可能な情報量を有する所定情報が１つの所定情報コードから得られなかったとしても、所定情報コードが複数含まれている場合には、訂正可能な情報量を有する所定情報を他の所定情報コードから得ることができる。また、訂正に必要な情報量を有する訂正用情報が１つの訂正用情報コードから得られなかったとしても、訂正用情報コードが複数含まれている場合には、訂正に必要な情報量を有する訂正用情報を他の訂正用情報コードから得ることができる。したがって、二次元コードの誤り訂正機能を強化することができる。なお、複数の所定情報コードは同一の所定情報が読取り結果として得られるものであるが、複数の訂正用情報コードは、所定情報の誤りを訂正するための訂正用情報が読取り結果として得られるものであればよく、互いに同一の訂正用情報が得られるものである必要はない。
【００１１】
さらに、上記二次元コードには、前記各情報を区分する区分情報が読取り結果として得られる区分情報コードが含まれている。このため、二次元コードに所定情報コードや訂正用情報コードが複数含まれていても、上記区分情報に基づいて各情報を区分し、各情報に対応した処理を行うことにより、読取装置による二次元コードの最終読取り結果として単独の所定情報を得ることができる。すなわち、読取装置において、二次元コードの読取り処理においてエラーが生じることや、二次元コードの最終読取り結果として複数の所定情報が出力されることを避けることができる。
【００１２】
また、複数の所定情報コードや複数の訂正用情報コードは、予め規定された読取り範囲内にセルの分布パターンとして配置されているため、一度の読取り動作でこれらの情報コードを読取ることができる。その結果、複数箇所に設けられた二次元コードに対して読取り動作をそれぞれ実施して正しい所定情報を得るようにする場合と比較して、二次元コードから正しい所定情報を得るまでに要する時間が長くなることを抑制することができる。なお、予め規定された読取り範囲として、二次元コードの位置決め用シンボルに対応して規定された情報コードの配置範囲等を採用することができる。
【００１３】
第２の発明では、第１の発明において、単独の所定情報コードとそれに対応する単独の訂正用情報コードとのコード対を複数含むとともに、前記区分情報コードは、複数のコード対から得られる複数の情報対を区分する区分情報が読取り結果として得られるものであることを特徴とする。
【００１４】
上記構成によれば、単独の所定情報コードとそれに対応する単独の訂正用情報コードとのコード対を複数含むため、各コード対の読取り結果として得られる情報対毎に、所定情報を訂正用情報によって訂正することができる。したがって、所定情報を訂正用情報によって訂正する処理が複雑化することを抑制しつつ、二次元コードの誤り訂正機能を強化することができる。
【００１５】
そして、前記区分情報コードは、複数のコード対から得られる複数の情報対を区分する区分情報が読取り結果として得られるものである。このため、二次元コードにコード対が複数含まれていても、上記区分情報に基づいて複数の情報対を区分し、読取装置による二次元コードの最終読取り結果として単独の所定情報を得ることができる。
【００１６】
第３の発明では、第１の発明において、前記訂正用情報コードを複数含むとともに、前記区分情報コードは、複数の訂正用情報を区分する区分情報が読取り結果として得られるものであることを特徴とする。
【００１７】
上記構成によれば、訂正用情報コードを複数含むため、所定情報の訂正に必要な情報量を有する訂正用情報が１つの訂正用情報コードから得られなかった場合であっても、所定情報の訂正に必要な情報量を有する訂正用情報を他の訂正用情報コードから得て、それによって所定情報を訂正することができる。したがって、二次元コードの誤り訂正機能を強化することができる。
【００１８】
そして、前記区分情報コードは、複数の訂正用情報を区分する区分情報が読取り結果として得られるものである。このため、二次元コードに訂正用情報コードが複数含まれていても、上記区分情報に基づいて複数の訂正用情報を区分し、読取装置による二次元コードの最終読取り結果として単独の所定情報を得ることができる。なお、上記区分情報は、訂正用情報のみを個々に区分するものに限らず、訂正用情報を含む情報単位を個々に区分するものであってもよい。
【００１９】
誤り訂正レベルの低い訂正用情報は、訂正用情報すなわち訂正用情報コードの情報量が少なくなるものの、より欠損の少ない所定情報しか訂正することができない。一方、誤り訂正レベルの高い訂正用情報は、訂正用情報すなわち訂正用情報コードの情報量が多くなるものの、より欠損の多い所定情報を訂正することができる。
【００２０】
この点、第４の発明では、第２又は第３の発明において、前記各訂正用情報コードは、互いに誤り訂正レベルの異なる訂正用情報が読取り結果として得られるものであるため、同一の所定情報を誤り訂正レベルの異なる訂正用情報によって訂正することができる。したがって、訂正用情報コードを複数含む構成において、訂正用情報コードの情報量の合計が増加することを抑制しつつ、正しい所定情報の得られる可能性を上げることができる。
【００２１】
所定情報を訂正用情報によって訂正する場合、一般に訂正用情報の誤り訂正レベルが高いほど訂正に要する処理時間が長くなる。
【００２２】
この点、第５の発明では、第４の発明において、前記各訂正用情報コードは、誤り訂正レベルの低い訂正用情報が読取り結果として得られる訂正用情報コードほど、所定のコード配置規則に基づくデコード順序が早くなる位置に配置されている。このため、所定のコード配置規則に従って二次元コードの各情報をデコードすることにより、最も誤り訂正レベルの低い訂正用情報を最初に得ることができる。したがって、複数の訂正用情報によって所定情報を訂正する際に、最も誤り訂正レベルの低い訂正用情報を最初に用いることが容易となる。そして、所定情報コードの汚れや欠損が少ない場合には、最初に用いられる最も誤り訂正レベルの低い訂正用情報によっても訂正が可能であるため、所定情報の訂正に要する処理時間を短縮することができる。なお、所定のコード配置規則及び読取り規則としては、日本工業規格に制定された規格（JIS X 0510）等を採用することができる。
【００２３】
所定情報の訂正に必要な情報量を有する訂正用情報が複数得られたとしても、訂正可能な情報量を有する所定情報が所定情報コードから得られなかった場合には、訂正用情報によって所定情報を訂正することができない。また、一般に所定情報の誤りを訂正するための訂正用情報は所定情報よりも情報量が多くなるため、訂正用情報コードは所定情報コードよりも情報量が多くなる。
【００２４】
この点、第６の発明では、第１の発明において、前記所定情報コードを複数含むとともに、前記区分情報コードは、複数の所定情報を区分する区分情報が読取り結果として得られるものである。このため、訂正可能な情報量を有する所定情報が１つの所定情報コードから得られなかった場合であっても、他の所定情報コードから正しい所定情報を得たり、訂正可能な情報量を有する所定情報を他の所定情報コードから得て、これを訂正用情報によって訂正したりすることができる。さらに、一般に訂正用情報コードよりも情報量の少ない所定情報コードを複数含むため、情報量を抑えつつ二次元コードの誤り訂正機能を強化することができる。
【００２５】
そして、前記区分情報コードは、複数の所定情報を区分する区分情報が読取り結果として得られるものである。このため、二次元コードに所定情報コードが複数含まれていても、上記区分情報に基づいて複数の所定情報を区分し、読取装置による二次元コードの最終読取り結果として単独の所定情報を得ることができる。なお、上記区分情報は、所定情報のみを個々に区分するものに限らず、所定情報を含む情報単位を個々に区分するものであってもよい。
【００２６】
第７の発明は、第１乃至第６のいずれかの発明の二次元コードを読取る装置であって、前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、単独の所定情報とそれに対応する単独の訂正用情報との情報対をそれぞれ設定する情報対設定手段と、前記情報対設定手段により設定された各情報対の前記所定情報及び前記訂正用情報に基づいて、各情報対の情報欠損率を算出する欠損率算出手段と、前記各情報対のうち、前記欠損率算出手段により算出された情報欠損率の最も低い情報対を選択する選択手段と、前記選択手段により選択された前記情報対を用いて、前記所定情報を前記訂正用情報によって訂正する訂正手段と、を備えることを特徴とする。
【００２７】
また、第８の発明は、第１乃至第６のいずれかの発明の二次元コードを読取る装置であって、前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、単独の所定情報とそれに対応する単独の訂正用情報との情報対をそれぞれ設定する情報対設定手段と、前記情報対設定手段により設定された前記各情報対のうち第１の情報対を用いて、前記所定情報を前記訂正用情報によって訂正する第１訂正手段と、前記第１訂正手段により前記所定情報を訂正できなかった場合に、前記第１の情報対とは別の第２の情報対を用いて、前記所定情報を前記訂正用情報によって訂正する第２訂正手段と、を備えることを特徴とする。
【００２８】
第７及び第８の発明によれば、前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報が取得される。ここで、複数の所定情報や複数の訂正用情報を区分する区分情報が読取り結果として得られるため、この区分情報に基づいて各所定情報及び各訂正用情報を取得することができる。これらの取得された所定情報及び訂正用情報に基づいて、単独の所定情報とそれに対応する単独の訂正用情報との情報対がそれぞれ設定される。なお、情報対を設定する態様として、単独の所定情報とそれに対応する単独の訂正用情報とを結合した情報単位を形成する構成や、単独の所定情報と単独の訂正用情報との対応付けを行う構成等を採用することができる。
【００２９】
そして、第７の発明によれば、各情報対の前記所定情報及び前記訂正用情報に基づいて各情報対の情報欠損率が算出され、各情報対のうち情報欠損率の最も低い情報対が選択される。この情報欠損率の最も低い情報対を用いて、前記所定情報が前記訂正用情報によって訂正されるため、正しい所定情報の得られる可能性を高くすることができる。また、一度の読取り動作で正しい所定情報を得ることができるため、複数箇所に設けられた二次元コードに対して読取り動作をそれぞれ実施する場合と比較して、正しい所定情報を得るまでに要する時間が長くなることを抑制することができる。
【００３０】
また、第８の発明によれば、前記各情報対のうち第１の情報対を用いて、前記所定情報が前記訂正用情報によって訂正される。この第１の情報対を用いて所定情報を訂正できなかった場合には、第１の情報対とは別の第２の情報対が用いられ、前記所定情報が前記訂正用情報によって訂正される。このため、各情報対を順次用いて所定情報を訂正することにより、二次元コードの誤り訂正機能を強化しつつ、正しい所定情報の得られた時点で二次元コードの読取り処理を終了することができる。その結果、二次元コードから正しい所定情報を得るのに要する時間を短縮することができる。
【００３１】
第９の発明は、第１乃至第６のいずれかの発明の二次元コードを読取る装置であって、前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、前記所定情報及び前記訂正用情報を取得する情報取得手段と、前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、各所定情報及び各訂正用情報の情報欠損率を算出する欠損率算出手段と、前記所定情報及び前記訂正用情報のうち、前記欠損率算出手段により算出された情報欠損率の最も低い所定情報及び訂正用情報をそれぞれ選択する選択手段と、前記選択手段によりそれぞれ選択された情報欠損率の最も低い所定情報を、情報欠損率の最も低い訂正用情報によって訂正する訂正手段と、を備えることを特徴とする。
【００３２】
上記構成によれば、第７及び第８の発明と同様にして、前記所定情報コードと前記訂正用情報コードと前記区分情報コードとに基づいて、各所定情報及び各訂正用情報を取得することができる。
【００３３】
そして、これらの所定情報及び訂正用情報に基づいて各所定情報及び各訂正用情報の情報欠損率が算出され、これらの所定情報及び訂正用情報のうち情報欠損率の最も低い所定情報及び訂正用情報がそれぞれ選択される。この情報欠損率の最も低い所定情報が、この情報欠損率の最も低い訂正用情報によって訂正されるため、正しい所定情報の得られる可能性を最も高くすることができる。また、一度の読取り動作で正しい所定情報を得ることができるため、複数箇所に設けられた二次元コードに対して読取り動作をそれぞれ実施する場合と比較して、正しい所定情報を得るまでに要する時間が長くなることを抑制することができる。
【００３４】
第１０の発明では、第７又は第８の発明において、前記情報取得手段により取得された前記所定情報及び前記訂正用情報に基づいて、各所定情報及び各訂正用情報の情報欠損率を算出する欠損率算出手段と、前記所定情報及び前記訂正用情報のうち、前記欠損率算出手段により算出された情報欠損率の最も低い所定情報及び訂正用情報をそれぞれ選択する選択手段と、前記情報対設定手段により設定された情報対によって前記所定情報を訂正できなかった場合に、前記選択手段によりそれぞれ選択された情報欠損率の最も低い所定情報を、情報欠損率の最も低い訂正用情報によって訂正する第３訂正手段と、を備えることを特徴とする。
【００３５】
上記構成によれば、第７又は第８の発明において、設定された情報対によって前記所定情報を訂正できなかった場合に、情報欠損率の最も低い所定情報が、情報欠損率の最も低い訂正用情報によって訂正される。このため、一旦は所定情報を訂正できなかった場合であっても、正しい所定情報の得られる可能性を更に高くして再度訂正を行うことができる。
【００３６】
第１１の発明は、第１乃至第６のいずれかの発明の二次元コードを生成する装置であって、前記所定情報と前記訂正用情報と前記区分情報とに基づいて、全情報を形成する全情報形成手段と、前記全情報形成手段により形成された前記全情報を所定のコード配置規則に基づいて配置してセルの分布パターンを生成する分布パターン生成手段と、を備えることを特徴とする。
【００３７】
上記構成によれば、前記所定情報と前記訂正用情報と前記区分情報とに基づいて全情報が形成され、この全情報が所定のコード配置規則に基づいて配置されてセルの分布パターンが生成される。このように生成された二次元コードによれば、第１の発明と同様にして、二次元コードから正しい所定情報を得るまでに要する時間が長くなることを抑制しつつ、二次元コードの誤り訂正機能を強化することができる。
【００３８】
第１２の発明では、第１１の発明において、二次元コードに含ませる前記所定情報コード及び前記訂正用情報コードの少なくとも一方の数を可変設定する情報コード数設定手段を更に備え、前記全情報形成手段は、前記情報コード数設定手段により設定された数の所定情報コード及び訂正用情報コードに対応する前記所定情報及び前記訂正用情報、並びに前記区分情報によって前記全情報を形成することを特徴とする。
【００３９】
上記構成によれば、二次元コードに含ませる前記所定情報コード及び前記訂正用情報コードの少なくとも一方の数を可変設定する情報コード数設定手段を更に備えるため、二次元コードの使用環境による汚れや欠損の生じ易さに応じて、所定情報や訂正用情報の数を変更することができる。したがって、二次元コードの使用環境に応じて、二次元コードの誤り訂正機能を変更することができる。なお、情報コード数設定手段は、生成装置を操作する作業者による各情報コード数の入力操作を受付けて各情報コード数を可変設定するものの他、作業者により入力された二次元コードの使用環境等に基づいてプログラムが各情報コード数を可変設定するもの等を含むものとする。
【図面の簡単な説明】
【００４０】
【図１】二次元コードの概要を示す模式図。
【図２】二次元コードの生成装置を示すブロック図。
【図３】二次元コードの生成処理の手順を示すフローチャート。
【図４】符号構成を示す模式図。
【図５】二次元コードの読取装置を示すブロック図。
【図６】第１実施形態における二次元コードの読取処理の手順を示すフローチャート。
【図７】同実施形態における品番符号の訂正態様を示す模式図。
【図８】第２実施形態における二次元コードの読取処理の手順を示すフローチャート。
【図９】同実施形態における品番符号の訂正態様を示す模式図。
【図１０】第３実施形態における二次元コードの読取処理の手順を示すフローチャート。
【図１１】同実施形態における品番符号の訂正態様を示す模式図。
【図１２】二次元コードの印刷状態を示す図。
【発明を実施するための形態】
【００４１】
（第１実施形態）
以下、第１実施形態について、図面を参照しつつ説明する。本実施形態は、工場での生産管理や倉庫での入出庫管理などに使用される二次元コードと、その生成装置及び読取装置を具体化している。
【００４２】
図１を参照して、従来の二次元コードと対比しつつ、本実施形態に係る二次元コードについて説明する。なお、図１は、二次元コードの概要を示す模式図である。
【００４３】
図１（ａ）は、従来の二次元コード１００を示している。この二次元コード１００は、いわゆるＱＲコード（登録商標、以下同様）の規格（JIS X 0510）を満たすものであり、白色の台紙の表面に印刷されている。二次元コード１００は、３つの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃ、情報コード記録領域１０６、図示しない頂点検出用セル、タイミングセル及びフォーマットコードなどから構成されている。
【００４４】
情報コード記録領域１０６内の各セル（白黒パターンを省略）は、光学的特性の異なる２種類のセルから選ばれている。３つの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃは、矩形状をなす二次元コード１００の４つの頂点のうち、３つの頂点にそれぞれ配置されている。
【００４５】
頂点検出用セルは、二次元コード１００の４つの頂点のうち、３つの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃが配置されていない残りの頂点に配置されている。タイミングセルは、位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃ間に、白と黒とが交互に組み合わせられた直線状の基準パターンとして配置されている。このタイミングセルは、各データセル位置の指標として用いられる。
【００４６】
フォーマットコードは、位置決め用シンボル１０４Ａの近傍に配置されており、情報コード記録領域１０６内に記録された情報コードのフォーマットについて、予め規定されたバージョン情報を示すものである。二次元コード（ＱＲコード）の規格におけるバージョン情報は、１〜８のバージョンと、各バージョンについて４つの誤り訂正レベルＬ，Ｍ，Ｑ，Ｈ（ＬからＨへと順に高くなる）との組み合わせで構成され、例えば「３−Ｌ」，「５−Ｈ」などと表される。
【００４７】
ここで、バージョン情報に対応して設定されている情報について説明する。まず、バージョン１〜８は、主に総コードワード数の違いに対応する。コードワードは８ビットで構成されており、情報コード記録領域１０６内の矩形状の各升目Ｄｎ（Ｄ１〜Ｄ８）及び各升目Ｅｎ（Ｅ１〜Ｅ１４）が各コードワードに対応したセルパターンである。なお、図１では、一部の升目のみ番号を表示している。各升目は、コードワードの８ビットに対応した８つのセルで構成されている。升目Ｄ１〜Ｄ８に対応するコードワードはデータコードワードであり、升目Ｅ１〜Ｅ１４に対応するコードワードは誤り訂正用コードワードである。本実施形態では、リードソロモン（ＲＳ）符号を用いて誤り訂正を行うため、誤り訂正用コードワードをＲＳコードワードと称す。
【００４８】
升目Ｄ１〜Ｄ８及び升目Ｅ１〜Ｅ１４の各数字は、所定の規則（ここではその一例を示す）に基づいてデコードされる順番に対応しており、升目Ｄ１からデコード（ビット列の取り出し）を開始して升目Ｄ８までデコードすると続いて升目Ｅ１をデコードし、最後の升目Ｅ１４で終了する。従来の二次元コード１００では、図１（ａ）のように二次元コード１００を配置した場合に、下から上へ縦の列を順番にデコードしながら、右から左へデコードする列を変更していく。換言すれば、情報コード記録領域１０６内において、右寄りの縦列ほどデコードされる順番が早い位置となっており、縦列内では下寄りの升目ほどデコードされる順番が早い位置となっている。
【００４９】
そして、データコードワードに対応する升目Ｄ１〜Ｄ８のセルパターン（幅狭のハッチングで表示）によって、品番符号（所定情報）をコード化した品番情報コードＣｄ（所定情報コード）が構成されている。なお、品番符号は、対象物の品番情報を符号化したものである。また、ＲＳコードワードに対応する升目Ｅ１〜Ｅ１４のセルパターン（幅広のハッチングで表示）によって、ＲＳ符号（訂正用情報）をコード化したＲＳコードＣｅ（訂正用情報コード）が構成されている。すなわち、品番情報コードＣｄとそれに対応するＲＳコードＣｅとのコード対が二次元コード１００に含まれている。
【００５０】
デコードされる順番が最後となるＲＳコードＣｅの升目Ｅ１４がデコードされると、情報コード記録領域１０６に含まれている情報コードの終わりを示す所定のビット列が得られる。なお、品番情報コードＣｄ及びＲＳコードＣｅがそれぞれデコードされて得られる各符号では、その始まり部分と終わり部分とに各符号の始まりと終わりとを示す所定のビット列がそれぞれ含まれている。
【００５１】
バージョン１〜８は主に総コードワード数の違いに対応するが、誤り訂正レベル（Ｌ，Ｍ，Ｑ，Ｈ）は、ＲＳコードワード数などを規定する。誤り訂正レベルは、全コードワードのうち読取れないコードワードを許容する割合の高さ、すなわち許容欠損率の高さに対応している。それぞれのレベルの許容欠損率は、誤り訂正レベルＨが約３０％、誤り訂正レベルＱが約２５％、誤り訂正レベルＭが約２０％、誤り訂正レベルＬが約１０％である。このようなバージョン情報とその実質的な内容（総コードワード数、ＲＳコードワード数、誤り訂正レベルなど）との対応関係が、二次元コードの読取装置の制御回路内にテーブル化されて格納されている。
【００５２】
なお、図１は、二次元コードの概要を模式的に表したものであり、コードワードに対応する升目の数や配置等は、同図に示したものに限られず、採用した規格に従って変更される。したがって、各情報コードを構成する各升目が、デコードされる順番に下から上へ縦の列に配置された後に右から左へ列を変更して配置されるコード配置規則に限らず、デコードされる順番に各升目が情報コード記録領域１０６内に分散するように配置されるコード配置規則等を採用することもできる。以下の説明では、便宜上、情報コード記録領域１０６内において、右寄りの縦列ほどデコードされる順番が早い位置となり、縦列内では下寄りの升目ほどデコードされる順番が早い位置となるコード配置規則を採用した場合を例として説明する。
【００５３】
次に、本実施形態に係る二次元コードの概要について説明する。なお、図１（ａ）に示す従来の二次元コード１００と同一の部材については、同一の符号を付すことにより説明を省略する。
【００５４】
図１（ｂ）は、単独の品番情報コードとそれに対応する単独のＲＳコードとのコード対を複数含む二次元コード１１を示している。すなわち、二次元コード１１は、第１品番情報コードＣｄ１及び第１ＲＳコードＣｅ１からなる第１コード対と、第２品番情報コードＣｄ２及び第２ＲＳコードＣｅ２からなる第２コード対とを含んでいる。また、二次元コード１１は、区分情報コードＣｂを含んでいる。なお、ここでは、２つのコード対と１つの区分情報コードとを含む二次元コード１１を例にして説明するが、３つ以上のコード対と、読取り順序がそれらの間になる位置に配置された区分情報コードとを二次元コード１１が含むようにしてもよい。
【００５５】
品番情報コードＣｄ１，Ｃｄ２は、それぞれの読取り結果として互いに同一の品番符号が得られるものである。ＲＳコードＣｅ１，Ｃｅ２は、それぞれの読取り結果として上記品番符号を訂正するためのＲＳ符号が得られるものであり、これらのＲＳ符号は互いに同一である。すなわち、第１コード対の読取り結果として品番符号（所定情報）とＲＳ符号（訂正用情報）との符号対（情報対）が得られ、これと同一の符号対が第２コード対の読取り結果として得られる。区分情報コードＣｂは、これらの符号対を区分する区分符号（区分情報）が読取り結果として得られるものである。なお、工場での生産管理や倉庫での入出庫管理では、品番符号を直接利用したり、品番符号を復号化して得られる品番情報を利用したりすることができる。
【００５６】
第１品番情報コードＣｄ１は、データコードワードに対応する升目Ｄ１１〜Ｄ１４のセルパターン（幅狭のハッチングで表示）によって構成されている。第１ＲＳコードＣｅ１は、ＲＳコードワードに対応する升目Ｅ１１〜Ｅ１６のセルパターン（幅広のハッチングで表示）によって構成されている。また、区分情報コードＣｂは、区分コードワードに対応する升目Ｂのセルパターン（ドット状のハッチングで表示）によって構成されている。そして、第２品番情報コードＣｄ２は、データコードワードに対応する升目Ｄ２１〜Ｄ２４のセルパターン（幅狭のハッチングで表示）によって構成されている。第２ＲＳコードＣｅ２は、ＲＳコードワードに対応する升目Ｅ２１〜Ｅ２６のセルパターン（幅広のハッチングで表示）によって構成されている。
【００５７】
コード配置規則に対応した二次元コード１１の読取処理では、升目Ｄ１１からデコードが開始されて升目Ｄ１４までデコードされると、続いて升目Ｅ１１から升目Ｅ１６までデコードされる。続いて、升目Ｂのデコードがされた後、升目Ｄ２１から升目Ｄ２４までデコードされると、続いて升目Ｅ２１から升目Ｅ２６までデコードされて終了する。すなわち、区分符号が得られる区分情報コードＣｂ（升目Ｂのセルパターン）は、デコードされる順番が第１コード対（前のコード対）と第２コード対（後のコード対）との間になる位置に配置されている。詳しくは、デコードされる順番が、第１コード対の最後のコードワードに対応する升目Ｅ１６と、第２コード対の最初のコードワードに対応する升目Ｄ２１との間になる位置に、区分情報コードＣｂが配置されている。
【００５８】
区分情報コードＣｂは、第１コード対に加えて第２コード対が二次元コード１１に含まれていること、すなわち複数のコード対が二次元コード１１の情報コード記録領域１０６に含まれていることを示すものである。詳しくは、区分情報コードＣｂの升目Ｂがデコードされると、二次元コード１１に第２コード対（次のコード対）が含まれていること、すなわちデコードにより得られた全符号中において、第１コード対から得られた符号対の後に、第２コード対から得られた同一の符号対が含まれていることを示す所定のビット列が得られる。また、第１コード対においてデコードされる順番が最後となる位置に配置された第１ＲＳコードＣｅ１の升目Ｅ１６がデコードされても、情報コード記録領域１０６に含まれている情報コードの終わりを示す所定のビット列は得られない。なお、第２コード対においてデコードされる順番が最後となる第２ＲＳコードＣｅ２の升目Ｅ２６がデコードされると、情報コード記録領域１０６に含まれている情報コードの終わりを示す所定のビット列が得られる。
【００５９】
図１（ｃ）は、単独の品番情報コードとそれに対応する複数のＲＳコードとを含む二次元コード１２を示している。すなわち、二次元コード１２は、品番情報コードＣｄ（升目Ｄ１〜Ｄ４）、第１ＲＳコードＣｅ１（升目Ｅ１１〜Ｅ１８）、区分情報コードＣｂ（升目Ｂ）、及び第２ＲＳコードＣｅ２（升目Ｅ２１〜Ｅ２８）を含んでいる。なお、ここでは、２つのＲＳコードと１つの区分情報コードとを含む二次元コード１２を例にして説明するが、３つ以上のＲＳコードと、読取り順序がそれらの間になる位置に配置された区分情報コードとを二次元コード１２が含むようにしてもよい。以下、図１（ｂ）の二次元コード１１との相違点を中心に説明する。
【００６０】
品番情報コードＣｄは、読取り結果として品番符号が得られるものである。ＲＳコードＣｅ１，Ｃｅ２は、それぞれの読取り結果として上記品番符号を訂正するためのＲＳ符号が得られるものであり、これらのＲＳ符号は互いに同一である。区分情報コードＣｂは、これらのＲＳ符号を区分する区分符号が読取り結果として得られるものである。図１（ｂ）の二次元コード１１と比較して、二次元コード１２は品番情報コードＣｄの数が少ないため、ＲＳコードＣｅ１，Ｃｅ２のコードワード数が増やされており、それらの誤り訂正レベルが上げられている。すなわち、品番情報コードＣｄの数を増やす代わりに、情報コード記録領域１０６をＲＳコードＣｅに多く割り当てることができる。
【００６１】
二次元コード１２の読取処理では、升目Ｄ１からデコードが開始されて升目Ｄ４までデコードされると、続いて升目Ｅ１１から升目Ｅ１８までデコードされる。続いて、升目Ｂデコードされた後、升目Ｅ２１から升目Ｅ２８までデコードされて終了する。すなわち、区分符号が得られる区分情報コードＣｂ（升目Ｂのセルパターン）は、デコードされる順番が第１ＲＳコードＣｅ１（前のＲＳコード）と第２ＲＳコードＣｅ２（後のＲＳコード）との間になる位置に配置されている。詳しくは、デコードされる順番が、第１ＲＳコードＣｅ１の最後のコードワードに対応する升目Ｅ１８と、第２ＲＳコードＣｅ２の最初のコードワードに対応する升目Ｅ２１との間になる位置に、区分情報コードＣｂが配置されている。
【００６２】
区分情報コードＣｂは、第１ＲＳコードＣｅ１に加えて第２ＲＳコードＣｅ２が二次元コード１２に含まれていること、すなわち複数のＲＳコードＣｅが二次元コード１２の情報コード記録領域１０６に含まれていることを示すものである。詳しくは、区分情報コードＣｂの升目Ｂがデコードされると、二次元コード１２に第２ＲＳコードＣｅ２（次のＲＳコード）が含まれていること、すなわちデコードにより得られた全符号中において、第１ＲＳコードＣｅ１から得られたＲＳ符号の後に、第２ＲＳコードＣｅ２から得られた同一のＲＳ符号が含まれていることを示す所定のビット列が得られる。また、品番情報コードＣｄに続く第１ＲＳコードＣｅ１において、デコードされる順番が最後となる位置に配置された升目Ｅ１８がデコードされても、情報コード記録領域１０６に含まれている情報コードの終わりを示す所定のビット列は得られない。なお、第２ＲＳコードＣｅ２においてデコードされる順番が最後となる升目Ｅ２８がデコードされると、情報コード記録領域１０６に含まれている情報コードの終わりを示す所定のビット列が得られる。
【００６３】
図１（ｄ）は、複数の品番情報コードとそれらに対応する単独のＲＳコードとを含む二次元コード１３を示している。すなわち、二次元コード１３は、第１品番情報コードＣｄ１（升目Ｄ１１〜Ｄ１６）、区分情報コードＣｂ（升目Ｂ）、第２品番情報コードＣｄ２（升目Ｄ２１〜Ｄ２６）、及びＲＳコードＣｅ（升目Ｅ１〜Ｅ９）を含んでいる。なお、ここでは、２つの品番情報コードと１つの区分情報コードとを含む二次元コード１３を例にして説明するが、３つ以上の品番情報コードと、読取り順序がそれらの間になる位置に配置された区分情報コードとを二次元コード１３が含むようにしてもよい。以下、図１（ｂ）の二次元コード１１との相違点を中心に説明する。
【００６４】
品番情報コードＣｄ１，Ｃｄ２は、それぞれの読取り結果として互いに同一の品番符号が得られるものである。区分情報コードＣｂは、これらの品番符号を区分する区分符号が読取り結果として得られるものである。ＲＳコードＣｅは、読取り結果として上記品番符号を訂正するためのＲＳ符号が得られるものである。図１（ｂ）の二次元コード１１と比較して、二次元コード１３はＲＳコードＣｅの数が少ないため、品番情報コードＣｄ１，Ｃｄ２のコードワード数が増やされており、より多くの情報量を持つ品番情報コードＣｄ１，Ｃｄ２が含まれている。すなわち、ＲＳコードＣｅの数を増やす代わりに、情報コード記録領域１０６を品番情報コードＣｄに多く割り当てることができる。また、一般にＲＳコードＣｅよりも情報量の少ない品番情報コードＣｄを複数含むため、情報量を抑えつつ二次元コード１３の誤り訂正機能を強化することができる。
【００６５】
二次元コード１３の読取処理では、升目Ｄ１１からデコードが開始されて升目Ｄ１６までデコードされると、次に升目Ｂがデコードされる。続いて升目Ｄ２１から升目Ｄ２６までデコードされた後、升目Ｅ１から升目Ｅ９までデコードされて終了する。すなわち、区分符号が得られる区分情報コードＣｂ（升目Ｂのセルパターン）は、デコードされる順番が第１品番情報コードＣｄ１（前の品番情報コード）と第２品番情報コードＣｄ２（後の品番情報コード）との間になる位置に配置されている。詳しくは、デコードされる順番が、第１品番情報コードＣｄ１の最後のコードワードに対応する升目Ｄ１６と、第２品番情報コードＣｄ２の最初のコードワードに対応する升目Ｄ２１との間になる位置に、区分情報コードＣｂが配置されている。
【００６６】
区分情報コードＣｂは、第１品番情報コードＣｄ１に加えて第２品番情報コードＣｄ２が二次元コード１３に含まれていること、すなわち複数の品番情報コードＣｄが二次元コード１３の情報コード記録領域１０６に含まれていることを示すものである。詳しくは、区分情報コードＣｂの升目Ｂがデコードされると、二次元コード１３に第２品番情報コードＣｄ２（次の品番情報コード）が含まれていること、すなわちデコードにより得られた全符号中において、第１品番情報コードＣｄ１から得られた品番符号の後に、第２品番情報コードＣｄ２から得られた同一の品番符号が含まれていることを示す所定のビット列が得られる。
【００６７】
図１（ｅ）は、単独の品番情報コードとそれに対応する単独のＲＳコードとのコード対を複数含む二次元コード１４を示している。すなわち、二次元コード１４は、第１品番情報コードＣｄ１（升目Ｄ１１〜Ｄ１４）、第１ＲＳコードＣｅ１（升目Ｅ１１〜Ｅ１５）、区分情報コードＣｂ（升目Ｂ）、第２品番情報コードＣｄ２（升目Ｄ２１〜Ｄ２４）、及び第２ＲＳコードＣｅ２（升目Ｅ２１〜Ｅ２８）を含んでいる。二次元コード１４では、第１ＲＳコードＣｅ１と第２ＲＳコードＣｅ２とのコードワード数、すなわち誤り訂正レベルが異なっており、その他の構成は図１（ｂ）の二次元コード１１に準じている。以下、図１（ｂ）の二次元コード１１との相違点を中心に説明する。
【００６８】
品番情報コードＣｄ１，Ｃｄ２は、それぞれの読取り結果として互いに同一の品番符号が得られるものである。ＲＳコードＣｅ１，Ｃｅ２は、それぞれの読取り結果として上記品番符号を訂正するためのＲＳ符号が得られるものであるが、これらのＲＳ符号は互いに誤り訂正レベルの異なるものである。図１（ｂ）の二次元コード１１と比較して、二次元コード１４は第１ＲＳコードＣｅ１のコードワード数が減らされており、代わりに第２ＲＳコードＣｅ２のコードワード数が増やされている。すなわち、一方のＲＳ符号の誤り訂正レベルを下げることにより、他方のＲＳ符号の誤り訂正レベルを上げることができる。
【００６９】
図１（ｂ）に示す二次元コード１１の区分情報コードＣｂと比較して、図１（ｅ）に示す二次元コード１４の区分情報コードＣｂは、略同一の情報が得られるものである。それらの相違点は、二次元コード１４の区分情報コードＣｂでは、第１コード対から得られた符号対と第２コード対から得られた符号対が同一であるとの情報が除かれている点と、第２ＲＳコードＣｅ２の誤り訂正レベルの情報が加えられている点である。例えば、上述したフォーマットコードにより第１ＲＳコードＣｅ１の誤り訂正レベルが「Ｑ」であることが示されている場合に、区分情報コードＣｂのデコード結果として得られる区分符号により、第２ＲＳコードＣｅ２の誤り訂正レベルが「Ｈ」であることが示される。
【００７０】
図１（ｆ）は、単独の品番情報コードとそれに対応する複数のＲＳコードとを含む二次元コード１５を示している。すなわち、二次元コード１５は、品番情報コードＣｄ（升目Ｄ１〜Ｄ５）、第１ＲＳコードＣｅ１（升目Ｅ１１〜Ｅ１６）、区分情報コードＣｂ（升目Ｂ）、及び第２ＲＳコードＣｅ２（升目Ｅ２１〜Ｅ３０）を含んでいる。二次元コード１５では、第１ＲＳコードＣｅ１と第２ＲＳコードＣｅ２とのコードワード数、すなわち誤り訂正レベルが異なっており、その他の構成は図１（ｃ）の二次元コード１２に準じている。以下、図１（ｃ）の二次元コード１１との相違点を中心に説明する。
【００７１】
品番情報コードＣｄは、読取り結果として品番符号が得られるものである。ＲＳコードＣｅ１，Ｃｅ２は、それぞれの読取り結果として上記品番符号を訂正するためのＲＳ符号が得られるものであるが、これらのＲＳ符号は互いに誤り訂正レベルの異なるものである。これらのＲＳ符号の考え方は、図１（ｅ）の二次元コード１４と同様である。また、二次元コード１５の区分情報コードＣｂも、第２ＲＳコードＣｅ２の誤り訂正レベルの情報が得られるものである。
【００７２】
なお、図１では、二次元コード１００,１１〜１５において、情報コード記録領域１０６の範囲が同一である場合を例として説明した。しかしながら、二次元コード１１〜１５のように、品番情報コードＣｄ及びＲＳコードＣｅの少なくとも一方を複数含む場合には、従来の二次元コード１００と比較して情報コード全体の情報量が多くなる。このため、二次元コード１１〜１５のバージョンとして、情報コード記録領域１０６に記録することのできる情報量が二次元コード１００よりも多いものを採用することが望ましい。
【００７３】
例えば、二次元コード１００の品番情報コードＣｄと二次元コード１１の第１品番情報コードＣｄ１との情報量が同一であり、二次元コード１１が品番情報コードＣｄとＲＳコードＣｅとのコード対を３つ含む場合には、二次元コード１００,１１の実際の印刷状態は図１２に示すようになる。この場合に、二次元コード１００と二次元コード１１とで、情報コード記録領域１０６の面積は二次元コード１１の方が大きいが、位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃは互いに同一となっている。このため、二次元コード１００を３箇所に設ける場合と比較して、二次元コード１１の面積を小さくすることができるとともに、二次元コード１１を１箇所に設けるだけでよい。
【００７４】
次に、図２を参照して、上述した二次元コード１１〜１５を生成する生成装置２０について説明する。図２は、二次元コードの生成装置２０の概要を示すブロック図である。
【００７５】
生成装置２０は、情報入力部２１、符号化部２２、誤り検出符号生成部２３、誤り訂正符号生成部２４、重複数入力部２５、全符号形成部２６、及び二次元コード出力部２７を備えている。これらの各部は、コンピュータシステムとその周辺機器によって実現されている。
【００７６】
情報入力部２１及び重複数入力部２５は、ユーザインタフェース処理を介して、キーボードやマウス等の操作部に対する作業者の入力操作を受け付ける。そして、情報入力部２１は、操作部を通じて入力された数字や英文を、二次元コードにコード化するテキスト情報としてメモリ等に記憶する。具体的には、工場での生産管理や倉庫での入出庫管理などで利用される品番情報が作業者により入力される。重複数入力部２５（情報コード数設定手段）では、品番情報コードやＲＳコードを二次元コードに重複させて含ませる数が上記操作部を通じて入力され、この重複数がメモリ等に記憶される。詳しくは、重複数入力部２５では、品番情報コードとＲＳコードとのコード対の重複数、品番情報コードの重複数、及びＲＳコードの重複数をそれぞれ入力可能となっている。
【００７７】
符号化部２２は、採用したＱＲコードの規格（JIS X 0510）に従って、情報入力部２１で入力された品番情報を二値化して品番符号を生成する。
【００７８】
誤り検出符号生成部２３は、符号化部２２で生成された品番符号にＣＲＣ（誤り検出符号）を付加する。
【００７９】
誤り訂正符号生成部２４は、ＣＲＣの付加された品番符号に対してＲＳ符号を生成する。詳しくは、採用した規格に従って、リードソロモン多項式により所定の誤り訂正レベルのＲＳ符号を生成する。
【００８０】
全符号形成部２６（全情報形成手段）は、重複数入力部で入力された重複数の品番情報コードやＲＳコードを二次元コードに含ませるために、複数の品番符号やＲＳ符号の間に区分符号を付加しつつ全符号を形成する。
【００８１】
二次元コード出力部２７（分布パターン生成手段）は、全符号形成部２６で形成された全符号を８ビット（コードワード）毎に区切り、これに対応した各升目のセルパターンを生成する。そして、二次元コード出力部２７は、各升目のセルパターンをコード配置規則に従って配置した状態の画像データを生成する。二次元コード出力部２７は、この画像データをプリンタ等の出力装置に送信することにより、白色の台紙の表面に二次元コードを印刷する。なお、二次元配置した出力データをマスク処理した後に印刷するようにしてもよい。
【００８２】
次に、図３を参照して、上述した二次元コードの生成装置２０により実行される二次元コード１１〜１５の生成処理の手順について説明する。
【００８３】
まず、情報入力部２１を通じて、作業者による品番情報の入力操作を受け付ける（Ｓ１１）。
【００８４】
続いて、重複数入力部２５を通じて、作業者による情報コードの重複数の入力操作を受け付ける（Ｓ１２）。ここで、品番情報コードとＲＳコードとのコード対の重複数の入力操作を受け付けた場合には、図１（ｂ），（ｅ）に示すように、単独の品番情報コードとそれに対応する単独のＲＳコードとのコード対を複数含む二次元コード１１，１４が作成されるようになる。また、品番情報コードの重複数の入力操作を受け付けた場合には、図１（ｄ）に示すように、複数の品番情報コードとそれらに対応する単独のＲＳコードとを含む二次元コード１３が作成されるようになる。また、ＲＳコードの重複数の入力操作を受け付けた場合には、図１（ｃ），（ｆ）に示すように、単独の品番情報コードとそれに対応する複数のＲＳコードとを含む二次元コード１２，１５が作成されるようになる。なお、各情報コードの重複数が「０」である場合には、その情報コードは重複なしで１つのみ生成されるようになり、各情報コードの重複数が「１」である場合には、その情報コードは２つ生成されるようになる。
【００８５】
その後、符号化部２２により品番情報を二値化して品番符号を生成し（Ｓ１３）、誤り検出符号生成部２３により品番符号にＣＲＣを付加する（Ｓ１４）。
【００８６】
このＣＲＣの付加された品番符号に対して、誤り訂正符号生成部２４により所定の誤り訂正レベルのＲＳ符号を生成する（Ｓ１５）。ここで、誤り訂正符号生成部２４は、上記重複数入力部２５で受け付けたＲＳコードの重複数が「１」以上であり、且つ互いに誤り訂正レベルの異なるＲＳコードを二次元コードに含ませることが予めプログラムにより設定されている場合には、それぞれの誤り訂正レベルのＲＳ符号を生成する。これにより、図１（ｅ），（ｆ）に示すように、互いに誤り訂正レベルの異なるＲＳコードを含む二次元コード１４，１５が作成されるようになる。
【００８７】
続いて、重複数入力部２５で受け付けた重複数の品番符号及びＲＳ符号に対して、全符号形成部２６により区分符号を付加して全符号を形成する（Ｓ１６）。ここで、全符号形成部２６は、以下に説明する符号構成を含むように全符号を形成する。
【００８８】
図４を参照して、従来の二次元コードの符号構成と対比しつつ、本実施形態に係る二次元コードの符号構成について説明する。図４の各図では、各段の左端から右端へ符号が続いており、各段の右端とその下段の左端とで符号が連続している。図４（ｂ）〜（ｆ）では、重複する符号をそれぞれ下の段にずらして示している。なお、図４では、各符号の情報量を帯の長さで模式的に表している。
【００８９】
図４（ａ）は、従来の二次元コードの符号構成を示しており、単独の品番符号Ｓｄの後に、単独のＲＳ符号Ｓｅが続くように符号を形成する。また、ＲＳ符号Ｓｅの最後の部分に全符号の終わりを示す所定のビット列を形成する。なお、品番符号ＳｄにはＣＲＣが含まれており、品番符号Ｓｄ及びＲＳ符号Ｓｅには、各符号の始まり部分と終わり部分とにそれら各符号の始まりと終わりとを示す所定のビット列がそれぞれ含まれている。この点は、本実施形態に係る二次元コードの符号構成でも同様である。
【００９０】
図４（ｂ）は、品番情報コードとＲＳコードとのコード対の重複数が「２」である場合の符号構成を示している。この場合には、第１品番符号Ｓｄ１に第１ＲＳ符号Ｓｅ１が付加された第１符号対（前の符号対）の後に、第１区分符号Ｓｂ１を挟んで、第２品番符号Ｓｄ２に第２ＲＳ符号Ｓｅ２が付加された第２符号対（後の符号対）が続くように符号を形成する。ここで、第１符号対と第２符号対とは同一であり、第１区分符号Ｓｂ１は、第１符号対（前の符号対）の後にこれと同一の第２符号対（後の符号対）が続くことを示す所定のビット列である。また、第２符号対の後に、第１区分符号Ｓｂ１と同一の第２区分符号Ｓｂ２、その後に第１符号対と同一の第３符号対（第３品番符号Ｓｄ３及び第３ＲＳ符号Ｓｅ３）が続くように符号を形成する。そして、第３ＲＳ符号Ｓｅ３の最後の部分に全符号の終わりを示す所定のビット列を形成する。
【００９１】
図４（ｃ）は、品番情報コードの重複数が「０」であり、ＲＳコードの重複数が「２」である場合の符号構成を示している。この場合には、第１品番符号Ｓｄ１に付加された第１ＲＳ符号Ｓｅ１（前のＲＳ符号）の後に、第１区分符号Ｓｂ１を挟んで、第２ＲＳ符号Ｓｅ２（後のＲＳ符号）が続くように符号を形成する。ここで、第１ＲＳ符号Ｓｅ１と第２ＲＳ符号Ｓｅ２とは同一であり、第１区分符号Ｓｂ１は、第１ＲＳ符号Ｓｅ１（前のＲＳ符号）の後にこれと同一の第２ＲＳ符号Ｓｅ２（後のＲＳ符号）が続くことを示す所定のビット列である。また、第２ＲＳ符号Ｓｅ２の後に、第１区分符号Ｓｂ１と同一の第２区分符号Ｓｂ２、その後に第１ＲＳ符号Ｓｅ１と同一の第３ＲＳ符号Ｓｅ３が続くように符号を形成する。そして、第３ＲＳ符号Ｓｅ３の最後の部分に全符号の終わりを示す所定のビット列を形成する。
【００９２】
図４（ｄ）は、品番情報コードの重複数が「２」であり、ＲＳコードの重複数が「０」である場合の符号構成を示している。この場合には、第１品番符号Ｓｄ１（前の品番符号）の後に、第１区分符号Ｓｂ１を挟んで、第２品番符号Ｓｄ２（後の品番符号）が続くように符号を形成する。ここで、第１品番符号Ｓｄ１と第２品番符号Ｓｄ２とは同一であり、第１区分符号Ｓｂ１は、第１品番符号Ｓｄ１（前の品番符号）の後にこれと同一の第２品番符号Ｓｄ２（後の品番符号）が続くことを示す所定のビット列である。また、第２品番符号Ｓｄ２の後に、第１区分符号Ｓｂ１と同一の第２区分符号Ｓｂ２、その後に第１品番符号Ｓｄ１と同一の第３品番符号Ｓｄ３、更にＲＳ符号Ｓｅが続くように符号を形成する。そして、ＲＳ符号Ｓｅの最後の部分に全符号の終わりを示す所定のビット列を形成する。
【００９３】
図４（ｅ）は、図４（ｂ）において、互いに誤り訂正レベルの異なるＲＳ符号が含まれる場合の符号構成を示している。ここで、図３のＳ１５のＲＳ符号を生成する処理において、誤り訂正符号生成部２４により、互いに誤り訂正レベルの異なるＲＳ符号が生成されている。この場合には、第２符号対の第２ＲＳ符号Ｓｅ２（後のＲＳ符号）の誤り訂正レベルが、第１符号対の第１ＲＳ符号Ｓｅ１（前のＲＳ符号）の誤り訂正レベルよりも高くなるように符号を形成する。第１区分符号Ｓｂ１は、第１符号対の後に第２符号対が続くことを示す所定のビット列である。さらに、第１区分符号Ｓｂ１は、第２ＲＳ符号Ｓｅ２（後のＲＳ符号）の誤り訂正レベルを示す所定のビット列である。その他の符号構成は、図４（ｂ）の符号構成と同様である。第３ＲＳ符号Ｓｅ３は、第２ＲＳ符号Ｓｅ２よりも誤り訂正レベルが高くなっている。すなわち、前側の符号対ほど、誤り訂正レベルの低いＲＳ符号を含むように符号を形成する。
【００９４】
図４（ｆ）は、図４（ｃ）において、互いに誤り訂正レベルの異なるＲＳ符号が含まれる場合の符号構成を示している。この場合のＲＳ符号の考え方は、図４（ｅ）の符号構成に準じている。すなわち、前側のＲＳ符号ほど、誤り訂正レベルが低くなるように符号を形成する。第１区分符号Ｓｂ１は、第１ＲＳ符号Ｓｅ１の後に第２ＲＳ符号Ｓｅ２が続くことを示す所定のビット列である。ここでは、第１区分符号Ｓｂ１は、第１ＲＳ符号Ｓｅ１（前のＲＳ符号）と第２ＲＳ符号Ｓｅ２（後のＲＳ符号）とが同一であることは示していない。その他の区分符号の考え方は、図４（ｅ）の符号構成に準じている。
【００９５】
図３に戻り、二次元コード出力部２７により、上述したように全符号形成部２６で形成された全符号を各升目のセルパターンに変換し、これをコード配置規則に基づいて配置して二次元コードとして印刷する（Ｓ１７）。
【００９６】
次に、図５を参照して、上述のように生成された二次元コードを読取る読取装置３０について説明する。
【００９７】
読取装置３０は、ＣＣＤ３３、増幅回路３４、二値化回路３５、Ａ／Ｄ変換回路３６、特定比検出回路３８、同期信号発生回路４０、アドレス発生回路４１、メモリ３７、制御回路３９、操作キー４２、液晶表示器４３、及び通信インタフェース４４を備えている。
【００９８】
ＣＣＤ３３は、二次元的に配列された複数の受光素子を有しており、この受光素子により二次元画像（二次元コード１１）を検出する。そして、ＣＣＤ３３は、検出した二次元画像を水平方向の走査線信号として増幅回路３４に出力する。
【００９９】
増幅回路３４は、ＣＣＤ３３から入力した走査線信号を増幅して、二値化回路３５及びＡ／Ｄ変換回路３６にそれぞれ出力する。
【０１００】
二値化回路３５は、増幅回路３４により増幅された走査線信号を閾値と比較することにより二値化して、メモリ３７及び特定比検出回路３８に出力する。
【０１０１】
Ａ／Ｄ変換回路３６は、増幅回路３４により増幅されたアナログの走査線信号をデジタルデータに変換して、メモリ３７に出力する。
【０１０２】
制御回路３９は、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ等を備えており、ＲＯＭに記憶されているプログラムに従って各種制御を実行する。具体的には、制御回路３９は、増幅回路３４の信号増幅率の制御、二値化回路３５の閾値レベルの制御、Ａ／Ｄ変換回路３６及び特定比検出回路３８の実行制御を行う。さらに、制御回路３９は、同期信号発生回路４０に対してクロック信号を出力する。
【０１０３】
同期信号発生回路４０は、制御回路３９から入力されたクロック信号に基づいて、同期パルスを特定比検出回路３８及びアドレス発生回路４１に出力する。この同期パルスのパルス幅は、ＣＣＤ３３により出力される走査線信号のパルス幅よりも十分に狭くなっている。
【０１０４】
アドレス発生回路４１は、同期信号発生回路４０から入力された同期パルスをカウントして、メモリ３７の書き込みアドレスを生成し、これをメモリ３７に出力する。メモリ３７は、アドレス発生回路４１から入力されたアドレスに、二値化回路３５から入力された画像データを８ビット単位で記憶する。
【０１０５】
特定比検出回路３８は、二値化回路３５から入力された信号における「１」から「０」への変化あるいは「０」から「１」への変化を検出する。そして、特定比検出回路３８は、ある変化点から次の変化点までの間に同期信号発生回路４０から入力された同期パルスをカウントすることにより、二次元画像の中の白（１）の連続する長さ及び黒（０）の連続する長さを求める。特定比検出回路３８は、この長さの比に基づいて位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃを検出して、その結果をメモリ３７に出力する。メモリ３７は、この位置決め用シンボルの検出時にアドレス発生回路４１により生成されたアドレスを、所定の記憶領域に記憶する。
【０１０６】
操作キー４２は、作業者による読取処理の開始操作等を受け付けて、作業者による操作を示す信号を制御回路３９に出力する。
【０１０７】
液晶表示器４３は、制御回路３９から入力される表示信号に基づいて、表示部に情報を表示する。
【０１０８】
通信インタフェース４４は、制御回路３９と外部装置との通信を仲介するものであり、メモリ３７に記憶されたデータを外部装置に送信することや、外部装置からの信号を受信することを可能とする。
【０１０９】
特に、本実施形態では、制御回路３９は、品番情報コードやＲＳコードを複数含む二次元コード１１〜１５の読取り処理において、二次元コード１１〜１５のそれぞれの最終読取り結果として、単独の品番符号（又は品番符号が復号化された品番情報）を得るための処理を実行する。また、制御回路３９は、複数の品番符号やＲＳ符号から単独の品番符号を得る過程において、正しい品番符号の得られる可能性を高くするための処理を実行する。
【０１１０】
次に、図６を参照して、上述した二次元コードの読取装置３０の制御回路３９により実行される二次元コード１１〜１５の読取処理の手順について説明する。本実施形態のコード読取処理では、複数の符号対のうち、符号欠損率の最も低い符号対を選択して、品番符号をＲＳ符号によって訂正する。
【０１１１】
まず、ＣＣＤ３３により例えば二次元コード１１の画像を取り込み（Ｓ２１）、この画像信号に基づいて情報コードを符号（ビット列）に変換する（Ｓ２２）。このＳ２２の処理が、上述したデコード処理に相当する。具体的には、ＣＣＤ３３から入力した画像信号を増幅回路３４により増幅し、これを二値化回路３５により二値化して、メモリ３７に生成された二値データのアドレスに記憶する。特定比検出回路３８により位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃを検出して、そのアドレスを所定の記憶領域に記憶する。制御回路３９は、メモリ３７に記憶されたこれらのデータを用いて、上記位置決め用シンボルに基づいて画像中の二次元コード１１の範囲を特定し、この範囲のうち情報コード記録領域１０６を特定する。そして、制御回路３９は、情報コード記録領域１０６内の各データセルの中心位置付近の画素に対応する二値データをメモリ３７から読込み、これらの二値データにより品番符号Ｓｄ等を含む全符号（ビット列）を生成する。これにより、図１（ａ）〜（ｆ）に示す二次元コード１００，１１〜１５から、図４（ａ）〜（ｆ）に示す符号がそれぞれ得られる（各情報コードの重複数は図４で説明した場合のものとする）。
【０１１２】
その後、制御回路３９は、区分符号Ｓｂに基づいて各品番符号Ｓｄ及び各ＲＳ符号Ｓｅを取得する（Ｓ２３）。詳しくは、制御回路３９は、全符号中から区分符号Ｓｂを表すビット列を検索し、検索された区分符号Ｓｂのビット列が示す種類の符号として、区分符号Ｓｂに続く符号を取得する。なお、全符号中から区分符号Ｓｂが検索されなかった場合には、従来の二次元コード１００の読取り処理と同様にして、図４（ａ）に示すように、最初の符号を品番符号Ｓｄとして取得し、続く符号をＲＳ符号Ｓｅとして取得する。上述したように、品番符号Ｓｄ及びＲＳ符号Ｓｅには、各符号の始まり部分と終わり部分とにそれら各符号の始まりと終わりとを示す所定のビット列がそれぞれ含まれている。このため、制御回路３９は、これらのビット列に基づいて、品番符号Ｓｄ及びＲＳ符号Ｓｅのそれぞれの始まりと終わりとを判定する。また、ＲＳ符号Ｓｅの最後の部分に全符号の終わりを示す所定のビット列が形成されているため、このビット列により全符号の終わりを判定する。
【０１１３】
例えば、図４（ｂ）に示す符号が得られた場合には、最初の符号を第１品番符号Ｓｄ１として取得し、続く符号を第１ＲＳ符号Ｓｅ１として取得する。検索された区分符号Ｓｂ１は、第１符号対（前の符号対）の後にこれと同一の第２符号対（後の符号対）が続くことを示すものであるため、区分符号Ｓｂ１に続く符号を第２品番符号Ｓｄ２として取得し、続く符号を第２ＲＳ符号Ｓｅ１として取得する。同様にして、区分符号Ｓｂ２に続く符号を第３品番符号Ｓｄ３として取得し、続く符号を第３ＲＳ符号Ｓｅ１として取得する。制御回路３９は、各符号の種類と対応付けて、取得した各符号をメモリ３７に記憶する。
【０１１４】
図４（ｄ）に示す符号が得られた場合には、最初の符号を第１品番符号Ｓｄ１として取得する。検索された区分符号Ｓｂ１は、第１品番符号Ｓｄ１（前の品番符号）の後にこれと同一の第２品番符号Ｓｄ２（後の品番符号）が続くことを示すものであるため、区分符号Ｓｂ１に続く符号を第２品番符号Ｓｄ２として取得する。同様にして、区分符号Ｓｂ２に続く符号を第３品番符号Ｓｄ３として取得し、続く符号をＲＳ符号Ｓｅとして取得する。
【０１１５】
図４（ｆ）に示す符号が得られた場合には、最初の符号を第１品番符号Ｓｄ１として取得し、続く符号を第１ＲＳ符号Ｓｅ１として取得する。検索された区分符号Ｓｂ１は、第１ＲＳ符号Ｓｅ１（前のＲＳ符号）の後に第２ＲＳ符号Ｓｅ２（後のＲＳ符号）が続くことを示すものであるため、区分符号Ｓｂ１に続く符号を第２ＲＳ符号Ｓｅ２として取得する。さらに、第１区分符号Ｓｂ１は、第２ＲＳ符号Ｓｅ２（後のＲＳ符号）の誤り訂正レベルを示すものである。同様にして、区分符号Ｓｂ２に続く符号を第３ＲＳ符号Ｓｅ３として取得する。
【０１１６】
制御回路３９は、こうして取得された各符号に基づいて、品番符号ＳｄとＲＳ符号Ｓｅとの符号対を形成する（Ｓ２４）。詳しくは、制御回路３９は、品番符号Ｓｄ及びＲＳ符号Ｓｅのうち重複数の多い一方に重複数の少ない他方のいずれかを対応させて、品番符号ＳｄとＲＳ符号Ｓｅとの符号対を形成する。ここでは、品番符号ＳｄとＲＳ符号Ｓｅとを結合した情報単位を形成する。そして、形成された各符号対をメモリ３７に記憶させる。なお、図４（ｂ），（ｅ）に示すように、第１符号対（前の符号対）の後に第２符号対（後の符号対）が続く場合には、それに合わせて各符号を選択して符号対を形成し、各符号対をメモリ３７に記憶させる。この場合には、各符号の順序通りに符号対を形成すればよいため、符号対を形成する処理を簡素化することができる。
【０１１７】
例えば、図４（ｃ），（ｆ）に示す符号が得られた場合には、品番符号ＳｄをＲＳ符号Ｓｅ１〜Ｓｅ３にそれぞれ対応させて、第１符号対（品番符号Ｓｄ及び第１ＲＳ符号Ｓｅ１）、第２符号対（品番符号Ｓｄ及び第２ＲＳ符号Ｓｅ２）、及び第３符号対（品番符号Ｓｄ及び第３ＲＳ符号Ｓｅ３）を形成する。
【０１１８】
図４（ｄ）に示す符号が得られた場合には、品番符号Ｓｄ１〜Ｓｄ３にＲＳ符号Ｓｅをそれぞれ対応させて、第１符号対（第１品番符号Ｓｄ１及びＲＳ符号Ｓｅ）、第２符号対（第２品番符号Ｓｄ２及びＲＳ符号Ｓｅ）、及び第３符号対（第３品番符号Ｓｄ３及びＲＳ符号Ｓｅ）を形成する。
【０１１９】
制御回路３９は、こうして形成された各符号対について、ＲＳ符号による誤り検出を行い（Ｓ２５）、各符号対の符号欠損率を算出する（Ｓ２６）。詳しくは、制御回路３９は、ＲＳ符号による誤り検出において、８ビット単位（コードワード単位）で誤り数とその位置とを検出する。このとき、品番符号とＲＳ符号とについて、それぞれ８ビット単位での誤りの数とその位置とを検出する。そして、制御回路３９は、各符号対について全体の単位数に対する誤りを含む単位数の比率を符号欠損率として算出する。そして、算出された各符号対の符号欠損率をメモリ３７に記憶する。なお、符号対の符号欠損率が許容欠損率を超える場合には、その符号対の符号欠損率は不明となる。この場合には、その符号対の符号欠損率を許容欠損率よりも高いものとして扱う。
【０１２０】
その後、制御回路３９は、符号欠損率の最も低い符号対を選択し（Ｓ２７）、選択された符号対により品番符号Ｓｄを訂正する（Ｓ２８）。そして、制御回路３９は、ＲＳ符号による品番符号の訂正が可能であったか否か、すなわち訂正された品番符号Ｓｄを得ることができたか否かを判定し（Ｓ２９）、訂正が可能でなかったと判定した場合には（Ｓ２９：ＮＯ）、本処理を終了する。すなわち、符号欠損率の最も低い符号対を選択しても品番符号の訂正が可能でなかったため、これ以上の訂正処理を行うことなく本処理を終了する。
【０１２１】
一方、制御回路３９は、ＲＳ符号による品番符号の訂正が可能であったと判定した場合には（Ｓ２９：ＹＥＳ）、ＣＲＣによる誤り検出において誤りが検出されなかったか否か判定する（Ｓ３０）。そして、制御回路３９は、誤りが検出されたと判定した場合には（Ｓ３０：ＮＯ）、本処理を終了する。すなわち、符号欠損率の最も低い符号対を選択して品番符号の訂正を行っても誤りが検出されたため、これ以上の訂正処理を行うことなく本処理を終了する。
【０１２２】
一方、制御回路３９は、ＣＲＣによる誤り検出において誤りが検出されなかったと判定した場合には（Ｓ３０：ＹＥＳ）、品番符号を復号化して品番情報を生成し（Ｓ３１）、液晶表示器４３により品番情報を表示する（Ｓ３２）。なお、品番符号又は品番情報を、通信インタフェース４４を介して外部装置に送信してもよい。制御回路３９は、こうして本処理を終了する。
【０１２３】
なお、Ｓ２１〜Ｓ２３の処理が情報取得手段としての処理に相当し、Ｓ２４の処理が情報対設定手段としての処理に相当し、Ｓ２５〜Ｓ２６の処理が欠損率算出手段としての処理に相当し、Ｓ２７の処理が選択手段としての処理に相当し、Ｓ２８の処理が訂正手段としての処理に相当する。
【０１２４】
次に、図７を参照して、従来のコード読取処理と対比しつつ、上述したコード読取処理による品番符号の訂正態様について説明する。図７（ａ）〜（ｆ）は、図４（ａ）〜（ｆ）にそれぞれ対応しており、コード読取り処理において情報コードを符号に変換して各符号対の符号欠損率を算出した状態を模式的に示している。なお、図７では、ＲＳ符号による誤り検出において誤りが検出された部分、すなわち符号の欠損部分を白抜きで表している。また、符号欠損率が許容欠損率を超えている場合は、ＲＳ符号による誤り検出において誤りを検出することはできないが、その場合における実際の符号の欠損部分も同様に白抜きで表している。各符号対の符号欠損率及び訂正可否を、各符号対の右側に示している。ここでは基本的に、各二次元コードのＲＳ符号の誤り訂正レベルは「Ｈ」であり、その許容欠損率は３０％であるものとする。
【０１２５】
図７（ａ）に示すように、従来の二次元コード１００では、符号対の符号欠損率が４０％（符号欠損率が許容欠損利率を超えているため、算出される符号欠損率は不明。以下同様。）であるため、品番符号ＳｄをＲＳ符号Ｓｅによって訂正することができない。このように、二次元コード１００の汚れや欠損により、符号欠損率が許容欠損率を超えた場合には、品番符号ＳｄをＲＳ符号Ｓｅによって訂正することができない。なお、
図７（ｂ）に示すように、二次元コード１１では、第１符号対（第１品番符号Ｓｄ１及び第１ＲＳ符号Ｓｅ１）の符号欠損率が３０％であり、第２符号対（第２品番符号Ｓｄ２及び第２ＲＳ符号Ｓｅ２）の符号欠損率が４０％であり、第３符号対（第３品番符号Ｓｄ３及び第３ＲＳ符号Ｓｅ３）の符号欠損率が１０％である。このため、符号欠損率の最も低い第３符号対が選択され、第３品番符号Ｓｄ３が第３ＲＳ符号Ｓｅ３によって訂正される。したがって、第２符号対の符号欠損率が許容欠損率を超えた場合であっても、符号欠損率が許容欠損率よりも低い第３符号対を選択して、品番符号Ｓｄ３の訂正を行うことができる。
【０１２６】
図７（ｃ）に示すように、二次元コード１２では、品番符号Ｓｄ、第１ＲＳ符号Ｓｅ１、第１区分符号Ｓｂ１、第２ＲＳ符号Ｓｅ２、第２区分符号Ｓｂ２、及び第３ＲＳ符号Ｓｅ３によって符号が構成されている。そして、図示はしないが、上述したように品番符号Ｓｄ及び第１ＲＳ符号Ｓｅ１により第１符号対が形成され、品番符号Ｓｄ及び第２ＲＳ符号Ｓｅ２により第２符号対が形成され、品番符号Ｓｄ及び第３ＲＳ符号Ｓｅ３により第３符号対が形成されている。すなわち、各符号対において、品番符号Ｓｄは共通となっている。第１符号対，第２符号対，第３符号対の符号欠損率は、それぞれ４０％，２０％，３０％である。このため、符号欠損率の最も低い第２符号対が選択され、品番符号Ｓｄが第２ＲＳ符号Ｓｅ２によって訂正される。したがって、符号欠損率が許容欠損率よりも低い第２符号対を選択して、品番符号Ｓｄの訂正を行うことができる。なお、第１ＲＳ符号Ｓｅ１の符号欠損率が上限を超えた場合には、品番符号Ｓｄの符号欠損率にかかわらず、品番符号Ｓｄを第１ＲＳ符号Ｓｅ１によって訂正することができなくなる。
【０１２７】
図７（ｄ）に示すように、二次元コード１３では、第１品番符号Ｓｄ１、第１区分符号Ｓｂ１、第２品番符号Ｓｄ２、第２区分符号Ｓｂ２、第３品番符号Ｓｄ３、及びＲＳ符号Ｓｅによって符号が構成されている。そして、第１品番符号Ｓｄ１及びＲＳ符号Ｓｅにより第１符号対が形成され、第２品番符号Ｓｄ２及びＲＳ符号Ｓｅにより第２符号対が形成され、第３品番符号Ｓｄ３及びＲＳ符号Ｓｅにより第３符号対が形成されている。すなわち、各符号対において、ＲＳ符号Ｓｅは共通となっている。第１符号対，第２符号対，第３符号対の符号欠損率は、それぞれ４０％，４０％，２０％である。このため、符号欠損率の最も低い第３符号対が選択され、品番符号Ｓｄ３がＲＳ符号Ｓｅによって訂正される。したがって、符号欠損率が許容欠損率よりも低い第３符号対を選択して、品番符号Ｓｄ３の訂正を行うことができる。なお、第１品番符号Ｓｄ１，第２品番符号Ｓｄ２，第３品番符号Ｓｄ３，ＲＳ符号Ｓｅの符号欠損率は、それぞれ７０％，７０％，２０％，２０％である。第１品番符号Ｓｄ１（第２品番符号Ｓｄ２）の符号欠損率が上限を超えた場合には、ＲＳ符号Ｓｅの符号欠損率にかかわらず、第１品番符号Ｓｄ１（第２品番符号Ｓｄ２）をＲＳ符号Ｓｅによって訂正することができなくなる。
【０１２８】
図７（ｅ）に示すように、二次元コード１４では、ＲＳ符号Ｓｅの誤り訂正レベルが互いに異なっており、第１ＲＳ符号Ｓｅ１の誤り訂正レベルは「Ｑ」（許容欠損率２５％）であり、第２ＲＳ符号Ｓｅ２の誤り訂正レベルは「Ｈ」（許容欠損率３０％）であり、第３ＲＳ符号Ｓｅ３の誤り訂正レベルは「Ｈ」よりも高い所定レベル（許容欠損率３５％）である。第１符号対，第２符号対，第３符号対の符号欠損率は、それぞれ２０％，１０％，３０％である。このため、符号欠損率の最も低い第２符号対が選択され、第２品番符号Ｓｄ２が第２ＲＳ符号Ｓｅ２によって訂正される。したがって、符号欠損率が許容欠損率よりも低く、且つ符号欠損率の最も低い第２符号対を選択して、品番符号Ｓｄ２の訂正を行うことができる。
【０１２９】
図７（ｆ）に示すように、二次元コード１５では、図７（ｅ）と同様にして、ＲＳ符号Ｓｅの誤り訂正レベルが互いに異なっている。そして、符号欠損率の最も低い第３符号対が選択され、品番符号Ｓｄが第３ＲＳ符号Ｓｅ３によって訂正される。したがって、符号欠損率が許容欠損率よりも低い第３符号対を選択して、品番符号Ｓｄの訂正を行うことができる。なお、第１ＲＳ符号Ｓｅ１，第２ＲＳ符号Ｓｅ２，第３ＲＳ符号Ｓｅ３では、欠損部分の長さ（誤りを含む単位数）が同一であるが、ＲＳ符号の長さ（ＲＳ符号の単位数）の違いにより、符号対の符号欠損率が互いに異なっている。
【０１３０】
以上詳述した本実施形態は以下の利点を有する。
【０１３１】
・二次元コード１１,１３,１４では、品番情報コードＣｄが複数含まれている。このため、訂正可能な情報量を有する品番符号Ｓｄが１つの品番情報コードＣｄから得られなかったとしても、訂正可能な情報量を有する品番符号Ｓｄを他の品番情報コードＣｄから得ることができる。また、二次元コード１１,１２,１４,１５では、ＲＳコードＣｅが複数含まれている。このため、訂正に必要な情報量を有するＲＳ符号Ｓｅが１つのＲＳコードＣｅから得られなかったとしても、訂正に必要な情報量を有するＲＳ符号Ｓｅを他のＲＳコードＣｅから得ることができる。したがって、二次元コード１１〜１５の誤り訂正機能を強化することができる。
【０１３２】
また、複数の品番情報コードＣｄや複数のＲＳコードＣｅは、二次元コード１１〜１５の位置決め用シンボル１０４Ａ〜１０４Ｃに対応して規定された情報コード記録領域１０６内に、セルの分布パターンとして配置されているため、一度の読取り動作でこれらの情報コードを読取ることができる。その結果、複数箇所に設けられた二次元コードに対して読取り動作をそれぞれ実施して正しい品番符号を得るようにする場合と比較して、二次元コード１１〜１５から正しい品番符号Ｓｄを得るまでに要する時間が長くなることを抑制することができる。
【０１３３】
・二次元コード１１,１４は、単独の品番情報コードＣｄとそれに対応する単独のＲＳコードＣｅとのコード対を複数含むため、各コード対の読取り結果として得られる情報対毎に、品番符号ＳｄをＲＳ符号Ｓｅによって訂正することができる。したがって、品番符号ＳｄをＲＳ符号Ｓｅによって訂正する処理が複雑化することを抑制しつつ、二次元コード１１,１４の誤り訂正機能を強化することができる。
【０１３４】
そして、二次元コード１１,１４の区分情報コードＣｂは、複数のコード対から得られる複数の符号対を区分する区分符号Ｓｂが読取り結果として得られるものである。このため、二次元コード１１,１４にコード対が複数含まれていても、上記区分符号Ｓｂに基づいて複数の符号対を区分し、読取装置３０による二次元コードの最終読取り結果として単独の品番符号Ｓｄ（又は品番符号Ｓｄを復号化した品番情報）を得ることができる。
【０１３５】
・二次元コード１２,１５は、ＲＳコードＣｅを複数含むため、品番符号Ｓｄの訂正に必要な情報量を有するＲＳ符号Ｓｅが１つのＲＳコードＣｅから得られなかった場合であっても、品番符号Ｓｄの訂正に必要な情報量を有するＲＳ符号Ｓｅを他のＲＳコードＣｅから得て、それによって品番符号Ｓｄを訂正することができる。したがって、二次元コード１２,１５の誤り訂正機能を強化することができる。
【０１３６】
そして、二次元コード１２,１５の区分情報コードＣｂは、複数のＲＳ符号Ｓｅを区分する区分符号Ｓｂが読取り結果として得られるものである。このため、二次元コード１２,１５にＲＳコードＣｅが複数含まれていても、上記区分符号Ｓｂに基づいて複数のＲＳ符号Ｓｅを区分し、読取装置３０による二次元コード１２,１５の最終読取り結果として単独の品番符号Ｓｄを得ることができる。
【０１３７】
・二次元コード１４,１５では、各ＲＳコードＣｅは、互いに誤り訂正レベルの異なるＲＳ符号Ｓｅが読取り結果として得られるものであるため、同一の品番符号Ｓｄを誤り訂正レベルの異なるＲＳ符号Ｓｅによって訂正することができる。したがって、ＲＳコードＣｅを複数含む構成において、ＲＳコードＣｅの情報量の合計が増加することを抑制しつつ、正しい品番符号Ｓｄの得られる可能性を上げることができる。
【０１３８】
・さらに、二次元コード１４,１５では、各ＲＳコードＣｅは、誤り訂正レベルの低いＲＳ符号Ｓｅが読取り結果として得られるＲＳコードＣｅほど、所定のコード配置規則（JIS X 0510）に基づくデコード順序が早くなる位置に配置されている。このため、所定のコード配置規則に従って二次元コード１４,１５の各情報をデコードすることにより、最も誤り訂正レベルの低いＲＳ符号Ｓｅを最初に得ることができる。したがって、複数のＲＳ符号Ｓｅによって品番符号Ｓｄを訂正する際に、最も誤り訂正レベルの低い第１ＲＳ符号Ｓｅ１を最初に用いることが容易となる。その結果、品番情報コードＣｄの汚れや欠損が少ない場合には、最初に用いられる最も誤り訂正レベルの低い第１ＲＳ符号Ｓｅ１によって訂正が可能であるため、品番符号Ｓｄの訂正に要する処理時間を短縮することができる。
【０１３９】
・二次元コード１３は、品番情報コードＣｄを複数含んでいる。このため、訂正可能な情報量を有する品番符号Ｓｄが１つの品番情報コードＣｄから得られなかった場合であっても、他の品番情報コードＣｄから正しい品番符号Ｓｄを得たり、訂正可能な情報量を有する品番符号Ｓｄを他の品番情報コードＣｄから得てＲＳ符号Ｓｅによって訂正したりすることができる。さらに、一般にＲＳコードＣｅよりも情報量の少ない品番情報コードＣｄを複数含むため、情報量を抑えつつ二次元コード１３の誤り訂正機能を強化することができる。
【０１４０】
そして、二次元コード１３の区分情報コードＣｂは、複数の品番符号Ｓｄを区分する区分符号Ｓｂが読取り結果として得られるものである。このため、二次元コード１３に品番情報コードＣｄが複数含まれていても、上記区分符号Ｓｂに基づいて複数の品番符号Ｓｄを区分し、読取装置による二次元コード１３の最終読取り結果として単独の品番符号Ｓｄを得ることができる。
【０１４１】
・二次元コードの読取装置３０によれば、品番情報コードＣｄとＲＳコードＣｅと区分情報コードＣｂとに基づいて、品番符号Ｓｄ及びＲＳ符号Ｓｅが取得される。ここで、複数の品番符号Ｓｄや複数のＲＳ符号Ｓｅを区分する区分符号Ｓｂが読取り結果として得られるため、この区分符号Ｓｂに基づいて各品番符号Ｓｄ及び各ＲＳ符号Ｓｅを取得することができる。これらの取得された品番符号Ｓｄ及びＲＳ符号Ｓｅに基づいて、単独の品番符号Ｓｄとそれに対応する単独のＲＳ符号Ｓｅとの符号対がそれぞれ形成される。
【０１４２】
そして、本実施形態のコード読取処理によれば、各符号対の品番符号Ｓｄ及びＲＳ符号Ｓｅに基づいて各符号対の情報欠損率が算出され、各符号対のうち情報欠損率の最も低い符号対が選択される。この情報欠損率の最も低い符号対を用いて、品番符号ＳｄがＲＳ符号Ｓｅによって訂正されるため、正しい品番符号Ｓｄの得られる可能性を高くすることができる。また、一度の読取り動作で正しい品番符号Ｓｄを得ることができるため、複数箇所に設けられた二次元コードに対して読取り動作をそれぞれ実施する場合と比較して、正しい品番符号Ｓｄを得るまでに要する時間が長くなることを抑制することができる。
【０１４３】
・二次元コードの生成装置２０によれば、品番符号ＳｄとＲＳ符号Ｓｅと区分符号Ｓｂとに基づいて全情報が形成され、この全情報が所定のコード配置規則（JIS X 0510）に基づいて配置されてセルの分布パターンが生成される。このように生成された二次元コード１１〜１５によれば、上述したように、二次元コード１１〜１５から正しい品番符号Ｓｄを得るまでに要する時間が長くなることを抑制しつつ、二次元コード１１〜１５の誤り訂正機能を強化することができる。
【０１４４】
・さらに、二次元コードの生成装置２０は、二次元コード１１〜１５に含ませる品番情報コードＣｄ及びＲＳコードＣｅの少なくとも一方の数を可変設定する重複数入力部２５を備えるため、二次元コード１１〜１５の使用環境による汚れや欠損の生じ易さに応じて、品番符号ＳｄやＲＳ符号Ｓｅの数を変更することができる。したがって、二次元コード１１〜１５の使用環境に応じて、二次元コード１１〜１５の誤り訂正機能を変更することができる。
【０１４５】
（第２実施形態）
以下、第２実施形態について、第１実施形態との相違点を中心に説明する。本実施形態のコード読取処理では、第１符号対を用いて品番符号をＲＳ符号によって訂正し、品番符号を訂正できなかった場合に、第１符号対とは別の第２符号対を用いて品番符号をＲＳ符号によって訂正する。その他の点については、第１実施形態と同様である。
【０１４６】
図８を参照して、二次元コードの読取装置３０により実行される二次元コード１１〜１５の読取処理の手順について説明する。本処理では、Ｓ４１〜Ｓ４５の処理が図６のコード読取処理と異なっており、その他の処理については同一のステップ番号を付すことにより、その説明を省略する。
【０１４７】
制御回路３９は、Ｓ２１〜Ｓ２４の処理により形成された各符号対のうち、最初の符号対（第１の情報対）を選択して（Ｓ４１）、ＲＳ符号による誤り検出を行い（Ｓ４２）、誤りが検出されたか否か判定する（Ｓ４３）。そして、ＲＳ符号による誤り検出において誤りが検出されたと判定した場合には（Ｓ４３：ＹＥＳ）、選択された符号対により品番符号を訂正する（Ｓ２８）。その後、制御回路３９は、ＲＳ符号による品番符号の訂正が可能であったか否か判定する（Ｓ２９）。品番符号の訂正が可能であったと判定した場合（Ｓ２９：ＹＥＳ）、又は上記のＲＳ符号による誤り検出において誤りが検出されなかったと判定した場合には（Ｓ４３：ＮＯ）、ＣＲＣによる誤り検出において誤りが検出されなかったか否か判定する（Ｓ３０）。
【０１４８】
そして、制御回路３９は、上記のＲＳ符号による品番符号の訂正が可能でなかったと判定した場合（Ｓ２９：ＮＯ）、又はＣＲＣによる誤り検出において誤りが検出されたと判定した場合には（Ｓ３０：ＮＯ）、選択された符号対の後に次の符号対（第２の情報対）があるか否か判定する（Ｓ４４）。詳しくは、制御回路３９は、形成された符号対の総数と選択された符号対の番号とに基づいて次の符号対があるか否か判定したり、全符号中において、選択された符号対を形成する各符号のいずれかの後に区分符号がある場合に次の符号対があると判定したりする。この判定において、次の符号対がないと判定した場合には（Ｓ４４：ＮＯ）、本処理を終了する。
【０１４９】
一方、制御回路３９は、選択された符号対の後に次の符号対があると判定した場合には（Ｓ４４：ＹＥＳ）、次の符号対を選択した後（Ｓ４５）、上記と同様にしてＳ４２以降の処理を実行する。そして、ＣＲＣによる誤り検出において誤りが検出されなかったと判定した場合には（Ｓ３０：ＹＥＳ）、品番符号を復号化して品番情報を生成し（Ｓ３１）、液晶表示器４３により品番情報を表示する（Ｓ３２）。制御回路３９は、こうして本処理を終了する。
【０１５０】
なお、Ｓ２８の処理が第１訂正手段としての処理に相当し、Ｓ２９,Ｓ４４，Ｓ４５,Ｓ２８の処理が第２訂正手段としての処理に相当する。
【０１５１】
次に、図９を参照して、従来のコード読取処理と対比しつつ、上述したコード読取処理による品番符号の訂正態様について説明する。なお、図９では、図７と同様の符号構成及び符号欠損状態となっている。
【０１５２】
図９（ｂ）に示すように、二次元コード１１では、まず第１符号対（第１品番符号Ｓｄ１及び第１ＲＳ符号Ｓｅ１）が選択され、第１ＲＳ符号Ｓｅ１による誤り検出が行われる。その結果、誤りが検出されたと判定され、第１品番符号Ｓｄ１が第１ＲＳ符号Ｓｅ１によって訂正される。ここで、第１符号対の符号欠損率は許容欠損率以下であるため、第１ＲＳ符号Ｓｅ１による訂正は可能である。なお、第３符号対を用いて第３品番符号Ｓｄ３を第３ＲＳ符号Ｓｅ３によって訂正することも可能であるが、本実施形態によれば正しい品番符号の得られた時点で二次元コード１１の読取り処理を終了することができる。すなわち、第２符号対及び第３符号対についてＲＳ符号により誤り検出を行う処理や、第２符号対及び第３符号対の符号欠損率を算出する処理を省略することができる。したがって、二次元コード１１から正しい品番符号（又は品番情報）を得るまでに要する時間を短縮することができる。
【０１５３】
図９（ｃ）に示すように、二次元コード１２では、まず第１符号対（品番符号Ｓｄ及び第１ＲＳ符号Ｓｅ１）が選択され、第１ＲＳ符号Ｓｅ１による誤り検出が行われる。そして、品番符号Ｓｄが第１ＲＳ符号Ｓｅ１によって訂正されるが、第１符号対の符号欠損率は許容欠損率を超えているため、第１ＲＳ符号Ｓｅ１による訂正は不可能である。続いて、第１符号対の後に次の符号対がある否か判定され、次の第２符号対が選択される。そして、第２ＲＳ符号Ｓｅ２による誤り検出において誤りが検出されたと判定され、品番符号Ｓｄが第２ＲＳ符号Ｓｅ２によって訂正される。ここで、第２符号対の符号欠損率は許容欠損率以下であるため、第２ＲＳ符号Ｓｅ２による訂正は可能である。
【０１５４】
図９（ｄ）〜（ｆ）においても、第１符号対から品番符号の訂正が順次行われ、正しい品番符号の得られた時点で、二次元コードの読取り処理が終了される。
【０１５５】
以上詳述した本実施形態は以下の利点を有する。なお、ここでは第１実施形態と異なる利点について述べる。
【０１５６】
・本実施形態のコード読取処理によれば、各情報対のうち第１の情報対を用いて、品番符号ＳｄがＲＳ符号Ｓｅによって訂正される。この第１の情報対を用いて品番符号Ｓｄを訂正できなかった場合には、第１の情報対とは別の第２の情報対が用いられ、品番符号ＳｄがＲＳ符号Ｓｅによって訂正される。このため、各情報対を順次用いて品番符号Ｓｄを訂正することにより、二次元コード１１〜１５の誤り訂正機能を強化しつつ、正しい品番符号Ｓｄの得られた時点で二次元コード１１〜１５の読取り処理を終了することができる。その結果、二次元コード１１〜１５から正しい品番符号Ｓｄを得るのに要する時間を短縮することができる。
【０１５７】
（第３実施形態）
以下、第３実施形態について、第１実施形態との相違点を中心に説明する。本実施形態のコード読取処理では、複数の品番符号及びＲＳ符号のそれぞれについて符号欠損率を算出し、それらのうち符号欠損率の最も低い品番符号及びＲＳ符号をそれぞれ選択して、品番符号をＲＳ符号によって訂正する。その他の点については、第１実施形態と同様である。
【０１５８】
図１０を参照して、二次元コードの読取装置３０により実行される二次元コード１１〜１５の読取処理の手順について説明する。本処理では、Ｓ５１〜Ｓ５５の処理が図６のコード読取処理と異なっており、その他の処理については同一のステップ番号を付すことにより、その説明を省略する。
【０１５９】
制御回路３９は、Ｓ２１〜Ｓ２４の処理により形成された各符号対について、ＲＳ符号による誤り検出を行い（Ｓ２５）、各品番符号の符号欠損率を算出するとともに（Ｓ５１）、各ＲＳ符号の符号欠損率を算出する（Ｓ５２）。詳しくは、制御回路３９は、各符号対でのＲＳ符号による誤り検出において、品番符号とＲＳ符号とについて、それぞれ８ビット単位での誤りの数とその位置とを検出する。そして、制御回路３９は、各品番符号及び各ＲＳ符号について、全体の単位数に対する誤りを含む単位数の比率を符号欠損率として算出する。そして、算出された各符号の符号欠損率をメモリ３７により記憶する。なお、符号対の符号欠損率が許容欠損率を超える場合には、その符号対の符号欠損率（品番符号及びＲＳ符号の各符号欠損率）は不明となる。この場合には、その品番符号及びＲＳ符号の符号欠損率を許容欠損率よりも高いものとして扱う。
【０１６０】
その後、制御回路３９は、符号欠損率の最も低い品番符号を選択するとともに（Ｓ５３）、符号欠損率の最も低いＲＳ符号を選択し（Ｓ５４）、選択された品番符号を選択されたＲＳ符号によって訂正する（Ｓ５５）。ここで、符号欠損率が許容欠損率以下である品番符号及びＲＳ符号が存在しない場合には、全ての品番符号及びＲＳ符号の組み合わせについて、品番符号をＲＳ符号によって訂正する。すなわち、各品番符号を順に選択するとともに、それに組み合わせる各ＲＳ符号を順に選択して、選択された品番符号を選択されたＲＳ符号によって訂正する。そして、制御回路３９は、ＲＳ符号による品番符号の訂正が可能であったか否か判定し（Ｓ２９）、訂正が可能でなかったと判定した場合には（Ｓ２９：ＮＯ）、本処理を終了する。
【０１６１】
一方、制御回路３９は、ＲＳ符号による品番符号の訂正が可能であったと判定した場合には（Ｓ２９：ＹＥＳ）、ＣＲＣによる誤り検出において誤りが検出されなかったか否か判定する（Ｓ３０）。そして、制御回路３９は、誤りが検出されたと判定した場合には（Ｓ３０：ＮＯ）、本処理を終了する。
【０１６２】
一方、制御回路３９は、ＣＲＣによる誤り検出において誤りが検出されなかったと判定した場合には（Ｓ３０：ＹＥＳ）、品番符号を復号化して品番情報を生成し（Ｓ３１）、液晶表示器４３により品番情報を表示する（Ｓ３２）。制御回路３９は、こうして本処理を終了する。
【０１６３】
なお、Ｓ２５,Ｓ５１,Ｓ５２の処理が欠損率算出手段としての処理に相当し、Ｓ５３,Ｓ５４の処理が選択手段としての処理に相当し、Ｓ５５の処理が訂正手段としての処理に相当する。
【０１６４】
次に、図１１を参照して、従来のコード読取処理と対比しつつ、上述したコード読取処理による品番符号の訂正態様について説明する。なお、図１１では、符号構成は図７と同様であるが、符号欠損状態が図７と異なっている。すなわち、図１１（ｂ），（ｅ）では、図７（ｂ），（ｅ）よりも符号欠損が多い状態となっている。また、図１１では、選択された各符号を破線枠で囲んで示している。
【０１６５】
図１１（ｂ）に示すように、二次元コード１１では、符号欠損率の最も低い第１品番符号Ｓｄ１と、符号欠損率の最も低い第３ＲＳ符号Ｓｅ３とが選択される。そして、第１品番符号Ｓｄ１が第３ＲＳ符号Ｓｅ３によって訂正される。したがって、第１符号対を用いて第１品番符号Ｓｄ１を第１ＲＳ符号Ｓｅ１によって訂正する場合、又は第３符号対を用いて第３品番符号Ｓｄ３を第３ＲＳ符号Ｓｅ３によって訂正する場合よりも、正しい品番符号が得られる可能性を高くすることができる。
【０１６６】
図１１（ｃ），（ｆ）では、各符号対において品番符号Ｓｄが共通であり、図１１（ｄ）では、各符号対においてＲＳ符号Ｓｅが共通である。このため、符号欠損率の最も低い品番符号とＲＳ符号との組み合わせは、符号欠損率の最も低い符号対を選択した場合と同一になる。なお、図１１（ｆ）において、第１ＲＳ符号Ｓｅ１，第２ＲＳ符号Ｓｅ２，第３ＲＳ符号Ｓｅ３の符号欠損率は、それぞれ４１％，３６％，３２％である。
【０１６７】
図１１（ｅ）に示すように、二次元コード１４では、第１符号対，第２符号対，第３符号対の符号欠損率は、それぞれ５０％，４０％，４０％である。このため、各符号対の符号欠損率は許容欠損率を超えており、これらの各符号対における品番符号とＲＳ符号との組み合わせでは、品番符号を訂正することができない。また、第２ＲＳ符号Ｓｅ２の符号欠損率が上限を超えた場合には、第２品番符号Ｓｄ２の符号欠損率にかかわらず、第２品番符号Ｓｄ２を第２ＲＳ符号Ｓｅ２によって訂正することができなくなる。同様にして、第３品番符号Ｓｄ３の符号欠損率が上限を超えた場合には、第３ＲＳ符号Ｓｅ３の符号欠損率にかかわらず、第３品番符号Ｓｄ３を第３ＲＳ符号Ｓｅ３によって訂正することができなくなる。ここで、符号欠損率の最も低い第２品番符号Ｓｄ２の符号欠損率は２３％であり、符号欠損率の最も低い第３ＲＳ符号Ｓｅ３の符号欠損率は１７％である（符号対の符号欠損率が許容欠損利率を超えているため、算出される第２品番符号Ｓｄ２及び第３ＲＳ符号Ｓｅ３の符号欠損率は不明）。そして、各品番符号が順に選択されるとともに、それに組み合わせる各ＲＳ符号が順に選択される際に、これらの第２品番符号Ｓｄ２と第３ＲＳ符号Ｓｅ３とが選択され、第２品番符号Ｓｄ２が第３ＲＳ符号Ｓｅ３によって訂正される。したがって、品番符号Ｓｄ２の訂正を可能とすることができる。
【０１６８】
以上詳述した本実施形態は以下の利点を有する。なお、ここでは第１実施形態と異なる利点について述べる。
【０１６９】
・本実施形態のコード読取処理によれば、複数の品番符号Ｓｄ及びＲＳ符号Ｓｅに基づいて各品番符号Ｓｄ及び各ＲＳ符号Ｓｅの情報欠損率が算出され、これらの品番符号Ｓｄ及びＲＳ符号Ｓｅのうち情報欠損率の最も低い品番符号Ｓｄ及びＲＳ符号Ｓｅがそれぞれ選択される。この情報欠損率の最も低い品番符号Ｓｄが、この情報欠損率の最も低いＲＳ符号Ｓｅによって訂正されるため、正しい品番符号Ｓｄの得られる可能性を最も高くすることができる。
【０１７０】
・本実施形態のコード読取処理によれば、符号欠損率が許容欠損率以下である品番符号Ｓｄ及びＲＳ符号Ｓｅが存在しない場合には、全ての品番符号Ｓｄ及びＲＳ符号Ｓｅの組み合わせについて、品番符号ＳｄがＲＳ符号Ｓｅによって訂正される。すなわち、各品番符号Ｓｄが順に選択されるとともに、それに組み合わせる各ＲＳ符号Ｓｅが順に選択され、選択された品番符号Ｓｄが選択されたＲＳ符号Ｓｅによって訂正される。このため、符号対（品番符号Ｓｄ及びＲＳ符号Ｓｅ）の符号欠損率が不明である場合にも、正しい品番符号Ｓｄの得られる可能性を高くすることができる。
【０１７１】
（他の実施形態）
上記各実施形態に限定されず、例えば次のように実施することもできる。
【０１７２】
・二次元コードの生成装置２０は、二次元コードの使用環境（汚れ易さ等）を指定する作業者による入力操作を受け付け、この指定された使用環境に基づいてプログラムにより各情報コードの重複数を可変設定するようにしてもよい。また、二次元コードの生成装置２０は、予め設定された重複数の品番情報コード及びＲＳコードを、二次元コードに含ませるものであってもよい。
【０１７３】
・二次元コードの生成装置２０は、前側の符号対ほど誤り訂正レベルの低いＲＳ符号を含むように符号を形成したが、この順序を変更してもよい。
【０１７４】
・二次元コードの生成装置２０は、品番情報の情報量や、品番情報コード及びＲＳコードの重複数に応じて、二次元コードのバージョンを変更したり、カラー二次元コードを採用したりしてもよい。例えば、品番情報の情報量や、品番情報コード及びＲＳコードの重複数が多くなるほど、総コードワード数の多いバージョンに変更することが有効である。また、カラー二次元コードは、白黒の二次元コードよりも多くの情報を持つことができるため、二次元コードのサイズが大きくなることを抑制しつつ、品番情報コード及びＲＳコードの重複数を増加させることができる。
【０１７５】
・二次元コードの生成装置２０の出力装置としてディスプレイを採用し、二次元コードをディスプレイに表示（出力）するようにしてよい。
【０１７６】
・上記第２実施形態では、最初の符号対から品番符号を訂正し、訂正できなかった場合に次の符号対を訂正するようにした。しかしながら、ＲＳ符号による誤り検出をした段階で符号欠損率に基づいて訂正が可能であるか否かを判定し、訂正できないと判定した場合にはその符号の訂正を行うことなく、次の符号対を訂正するようにしてもよい。こうした構成によれば、品番符号を訂正することができない場合には、品番符号の訂正処理を実行することを避けることができる。その結果、二次元コードから正しい品番符号を得るまでに要する時間を短縮することができる。
【０１７７】
・上記第１実施形態又は第２実施形態では、ＲＳ符号による品番符号の訂正が可能でなかったと判定した場合、又はＣＲＣによる誤り検出において誤りが検出されたと判定した場合（第２実施形態では、更に次の符号対がないと判定した場合）には、コード読取り処理を終了するようにした。しかしながら、これらの場合に、第３実施形態のコード読取り処理に準じた処理を実行してもよい。すなわち、各品番符号及び各ＲＳ符号の符号欠損率を算出するとともに、符号欠損率の最も低い品番符号及びＲＳ符号をそれぞれ選択する。そして、第１実施形態又は第２実施形態において形成された符号対によって品番符号を訂正できなかった場合に、それぞれ選択された符号欠損率の最も低い品番符号を、符号欠損率の最も低いＲＳ符号によって訂正する。こうした構成によれば、一旦は品番符号を訂正できなかった場合であっても、正しい品番符号の得られる可能性を更に高くして再度訂正を行うことができる。
【０１７８】
・上記第３実施形態では、符号欠損率が許容欠損率以下である品番符号Ｓｄ及びＲＳ符号Ｓｅが存在しない場合には、全ての品番符号Ｓｄ及びＲＳ符号Ｓｅの組み合わせについて、品番符号ＳｄをＲＳ符号Ｓｅによって訂正するようにした。しかしながら、ＲＳ符号による誤り検出において品番符号Ｓｄ及びＲＳ符号Ｓｅの符号欠損率を算出できない場合に、チェックデジット等の他の誤り検出手段によって、品番符号Ｓｄ及びＲＳ符号Ｓｅの符号欠損率を算出するようにしてもよい。そして、符号欠損率の最も低い品番符号Ｓｄを選択するとともに、符号欠損率の最も低いＲＳ符号Ｓｅを選択し、選択された品番符号Ｓｄを選択されたＲＳ符号Ｓｅによって訂正するようにしてもよい。
【０１７９】
・二次元コードが品番情報コード及びＲＳコードをそれぞれ複数含み、それらの重複数が互いに異なるようにしてもよい。この場合であっても、複数の品番符号及びＲＳ符号から適宜選択して、品番符号とＲＳ符号との符号対を形成するようにすればよい。
【０１８０】
・上記各実施形態のコード読取処理では、品番符号とＲＳ符号との符号対を形成して、形成された各符号対をメモリ３７に記憶させるようにした。しかしながら、各品番符号と各ＲＳ符号との対応付けのみを行い、以降の処理においてこの対応付けに従って品番符号とＲＳ符号とを読込んで用いるようにしてもよい。
【０１８１】
・リードソロモン符号に限定されず、ＢＣＨ符号等の他の誤り訂正符号を採用してもよい。
【０１８２】
・二次元コードの予め規定された読取り範囲として、二次元コードの位置決め用シンボル１０４Ａ，１０４Ｂ，１０４Ｃに対応して規定された情報コード記録領域１０６を採用したが、１つの二次元コードを特定するためのその他のシンボルに対応して規定された情報コードの配置範囲を採用してもよい。
【符号の説明】
【０１８３】
１１〜１５…二次元コード、２０…二次元コードの生成装置、３０…二次元コードの読取装置、１０６…情報コード記録領域、Ｃｂ…区分情報コード、Ｃｄ,Ｃｄ１,Ｃｄ２…品番情報コード、Ｃｅ,Ｃｅ１,Ｃｅ２…ＲＳコード、Ｓｂ１,Ｓｂ２…区分符号、Ｓｄ,Ｓｄ１,Ｓｄ２,Ｓｄ３…品番符号、Ｓｅ,Ｓｅ１,Ｓｅ２,Ｓｅ３…ＲＳ符号。
【図１】
2011113101.tif 000003
【図２】
2011113101.tif 000004
【図３】
2011113101.tif 000005
【図４】
2011113101.tif 000006
【図５】
2011113101.tif 000007
【図６】
2011113101.tif 000008
【図７】
2011113101.tif 000009
【図８】
2011113101.tif 000010
【図９】
2011113101.tif 000011
【図１０】
2011113101.tif 000012
【図１１】
2011113101.tif 000013
【図１２】
2011113101.tif 000014