(57)【要約】【課題】二次元コードのデータを読み取る読取システムにおいて、二次元コードの読み取りが失敗した場合であっても、二次元コード内の特定データを別経路で取得し得る構成を提供する。【解決手段】二次元コード読み取りシステム１で読み取られる二次元コード７０は、規定の角部に配置された特定パターン寄りの第１データ領域に、当該二次元コードのＩＤを含んだ第１データが記録され、第１データ領域よりも特定パターンから離れた領域に第２データが記録されている。読取システム２は、第２データ領域の読み取りが失敗したか否かを判断し、失敗した場合、サーバ６０にアクセスし、第１データ領域に記録されるＩＤを送信している。サーバ６０は、読取システム２からのＩＤの送信に応じ、当該ＩＤに対応するデータ（第２データ）をデータベースから読み出し、読取システム２に送信している。【選択図】図１
2010257225.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルが矩形領域内にマトリックス状に配置された二次元コードのデータを読み取る二次元コード読み取りシステムであって、
前記二次元コードを読み取る光学的情報読取手段と、通信手段と、を有する読取システムと、
データベースを有すると共に、前記通信手段と通信可能に構成された情報処理装置と、  を備え、
前記二次元コードは、前記矩形領域内の規定の角部に特定パターンが配置され、前記特定パターン寄りの第１データ領域に、当該二次元コードのＩＤを含んだ第１データが記録され、前記第１データ領域よりも前記特定パターンから離れた領域に、第２データが記録されており、
前記データベースは、前記二次元コードの前記第２データが、当該二次元コードの前記ＩＤと対応付けて記憶されており、
前記読取システムは、
前記光学的情報読取手段による前記第２データ領域の読み取りが失敗したか否かを判断する判断手段を備え、
前記判断手段により前記第２データ領域の読み取りが失敗したと判断された場合、前記通信手段により前記情報処理装置にアクセスし且つ前記情報処理装置に対し前記第１データ領域に記録される前記ＩＤを送信し、
前記情報処理装置は、前記通信手段によるアクセス及び前記ＩＤの送信に応じ、当該ＩＤに対応する前記第２データを前記データベースから読み出すと共に、その読み出した前記第２データを、前記ＩＤの送信元の前記読取システムに送信することを特徴とする二次元コード読み取りシステム。
【請求項２】
前記二次元コードは、前記第２データ領域の誤り訂正能力よりも、前記第１データ領域の誤り訂正能力のほうが高く設定されていることを特徴とする請求項１に記載の二次元コード読み取りシステム。
【請求項３】
前記光学的情報読取手段は、コンピュータに接続される読取端末内に設けられ、
前記通信手段は、前記コンピュータ内に設けられており、
前記読取端末は、
前記二次元コードの読取データを生成する生成手段と、
前記生成手段によって生成された前記読取データを前記コンピュータに出力する出力手段と、
を有し、
前記生成手段は、前記第１データ領域の読取結果及び前記第２データ領域の読取結果を特定する読取結果特定データと、前記第１データと前記第２データとを区別するセパレータとを、前記読取データに付加することを特徴とする請求項１又は請求項２に記載の二次元コード読み取りシステム。
【請求項４】
複数のセルが矩形領域内にマトリックス状に配置された二次元コードのデータを読み取る二次元コード読み取りシステムであって、
前記二次元コードを読み取る光学的情報読取手段と、通信手段と、を有する読取システムと、
データベースを有すると共に、前記通信手段と通信可能に構成された情報処理装置と、  を備え、
前記二次元コードは、当該二次元コードのＩＤを含んでなる第１データが、複数の第１データ領域にそれぞれ記録され、それら複数の前記第１データ領域とは異なる第２データ領域に、第２データが記録されており、
前記データベースは、前記二次元コードの前記第２データが、当該二次元コードの前記ＩＤと対応付けて記憶されており、
前記読取システムは、
前記光学的情報読取手段による前記第２データ領域の読み取りが失敗したか否かを判断する判断手段を備え、
前記判断手段によって前記第２データ領域の読み取りが失敗したと判断された場合に、前記通信手段が、前記情報処理装置にアクセスし且つ前記情報処理装置に対し前記第１データ領域に記録される前記ＩＤを送信する構成をなしており
前記情報処理装置は、前記通信手段によるアクセス及び前記ＩＤの送信に応じ、当該ＩＤに対応する前記第２データを前記データベースから読み出すと共に、その読み出した前記第２データを、前記ＩＤの送信元の前記読取システムに送信することを特徴とする二次元コード読み取りシステム。
【請求項５】
前記二次元コードは、３以上の前記第１データ領域が設けられ、
各第１データ領域には、前記ＩＤのビット列が記録されており、
前記読取システムは、
複数の前記第１データ領域にそれぞれ記録される複数の前記ＩＤのビット列を、各ビット位置ごとに比較し、値が一致していないビット位置を検出するビット位置検出手段と、
前記ビット位置検出手段により値が一致していないビット位置が検出された場合、その値が一致していないビット位置において用いるべきビット値を、複数の前記ＩＤのビット列において当該ビット位置に用いられている各値の多数決をとることによって決定するビット値多数決手段と、
を有することを特徴とする請求項４に記載の二次元コード読み取りシステム。
【請求項６】
各第１データ領域は、前記ＩＤが複数のコードワードに亘って記録されており、
前記読取システムは、
複数の前記第１データ領域にそれぞれ記録される複数の前記ＩＤについて、各対応位置毎にコードワード同士を比較し、コードワードが一致していない前記対応位置を検出する不一致位置検出手段と、
前記不一致位置検出手段によりコードワードが一致していない前記対応位置が検出された場合に、当該対応位置を誤り発生位置として前記第１データ領域に対し消失訂正を行う消失訂正手段と、
を有することを特徴とする請求項４に記載の二次元コード読み取りシステム。
【請求項７】
前記不一致位置検出手段により、複数の前記ＩＤにおいてコードワードが一致していない前記対応位置が検出された場合に、当該対応位置において用いるべきコードワード値を、それら複数の前記ＩＤにおいて当該対応位置に用いられている各値の多数決をとることによって決定するコードワード値多数決手段を備え、
前記消失訂正手段は、コードワードが一致していない前記対応位置のうち、前記コードワード値多数決手段によって多数決をとることができない前記対応位置を誤り発生位置として前記消失訂正を行うことを特徴とする請求項６に記載の二次元コード読み取りシステム。
【請求項８】
前記第２データ領域に記録される前記第２データは、複数のデータブロックを含み、且つ各データブロック毎に固有情報が付されており、
前記データベースには、前記ＩＤに対応する前記第２データが、各データブロック毎に読み出し可能な状態で記憶されており、
前記読取システムは、
前記判断手段により前記第２データ領域の読み取りが失敗したと判断される場合に、当該第２データ領域における読み取りが成功した前記データブロックの前記固有情報に基づき、読み取りが失敗した前記データブロックを特定する特定情報を生成する特定情報生成手段を備え、
前記判断手段によって前記第２データ領域の読み取りが失敗したと判断された場合に、前記通信手段が、前記情報処理装置に対し前記ＩＤと共に前記特定情報を送信する構成をなしており、
前記情報処理装置は、前記読取システムの前記通信手段からのアクセスに応じ、前記ＩＤ及び前記特定情報に対応する前記データブロックを前記データベースから読み出すと共に、その読み出した前記データブロックを前記読取システムに送信することを特徴とする請求項１から請求項７のいずれか一項に記載の二次元コード読み取りシステム。
【請求項９】
前記光学的情報読取手段は、前記第２データ領域におけるいずれかの前記データブロックの読み取りが失敗し、他の前記データブロックの読み取りが成功した場合、その読み取りが成功した他の前記データブロックのデータを出力することを特徴とする請求項８に記載の二次元コード読み取りシステム。
【請求項１０】
前記光学的情報読取手段は、読み取りが成功した前記データブロックが複数存在する場合、それら複数の前記データブロックのデータを出力する際に、データブロック間に識別子を付して出力することを特徴とする請求項９に記載の二次元コード読み取りシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード読み取りシステムに関するものである。
【背景技術】
【０００２】
現在、ＱＲコード等の二次元コードが様々な用途で用いられている。この二次元コードは、一次元コードと比較すると、一般的に大量のデータを扱うことができ、この特質を利用した二次元コード特有の運用もなされている。その一例としては、データベース全体を二次元コード内に格納するといった運用が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９０２３１公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように二次元コード内に大量のデータ（例えばデータベース等）を格納する場合、正常に読み取りができないときのバックアップをどのようにするかが問題となる。例えば、図１８のように、二次元コードに隣接させてデータを併記する方法も考えられるが、データ量が大きい場合には印字スペースを広く確保しなければならない。また、図１８のように併記されたデータをバックアップデータとして扱う場合、このようなバックアップデータを電子データとして扱うための入力作業が必要となり、作業負荷や誤入力といった問題がある。
【０００５】
本発明は、上述した課題を解決するためになされたものであり、二次元コードのデータを読み取る読取システムにおいて、二次元コードの読み取りが失敗した場合であっても、二次元コード内の特定データを別経路で取得し得る構成を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明は、複数のセルが矩形領域内にマトリックス状に配置された二次元コードのデータを読み取る二次元コード読み取りシステムに関するものである。
本発明に係る二次元コード読み取りシステムには、前記二次元コードを読み取る光学的情報読取手段と、通信手段と、を有する読取システムと、データベースを有すると共に、前記通信手段と通信可能に構成された情報処理装置と、が設けられている。
また、前記二次元コードは、前記矩形領域内の規定の角部に特定パターンが配置され、前記特定パターン寄りの第１データ領域に、当該二次元コードのＩＤを含んだ第１データが記録され、前記第１データ領域よりも前記特定パターンから離れた領域に、第２データが記録されており、前記データベースは、前記二次元コードの前記第２データが、当該二次元コードの前記ＩＤと対応付けて記憶されている。
更に、前記読取システムは、前記光学的情報読取手段による前記第２データ領域の読み取りが失敗したか否かを判断する判断手段を備えており、前記判断手段により前記第２データ領域の読み取りが失敗したと判断された場合、前記通信手段により前記情報処理装置にアクセスし且つ前記情報処理装置に対し前記第１データ領域に記録される前記ＩＤを送信するように構成されている。
また、前記情報処理装置は、前記通信手段によるアクセス及び前記ＩＤの送信に応じ、当該ＩＤに対応する前記第２データを前記データベースから読み出すと共に、その読み出した前記第２データを、前記ＩＤの送信元の前記読取システムに送信するように構成されている。
【０００７】
請求項２の発明は、請求項１に記載の二次元コードの読取システムにおいて、前記二次元コードは、前記第２データ領域の誤り訂正能力よりも、前記第１データ領域の誤り訂正能力のほうが高く設定されている。
【０００８】
請求項３の発明は、請求項１又は請求項２に記載の二次元コードの読取システムにおいて、前記光学的情報読取手段が、コンピュータに接続される読取端末内に設けられ、前記通信手段が、前記コンピュータ内に設けられている。
また、前記読取端末は、前記二次元コードの読取データを生成する生成手段と、前記生成手段によって生成された前記読取データを前記コンピュータに出力する出力手段と、を有しており、前記生成手段は、前記第１データ領域の読取結果及び前記第２データ領域の読取結果を特定する読取結果特定データと、前記第１データと前記第２データとを区別するセパレータとを、前記読取データに付加するように構成されている。
【０００９】
請求項４の発明は、複数のセルが矩形領域内にマトリックス状に配置された二次元コードのデータを読み取る二次元コード読み取りシステムに関するものである。
本発明に係る二次下コード読取システムには、前記二次元コードを読み取る光学的情報読取手段と、通信手段と、を有する読取システムと、データベースを有すると共に、前記通信手段と通信可能に構成された情報処理装置と、が設けられている。
また、前記二次元コードは、当該二次元コードのＩＤを含んでなる第１データが、複数の第１データ領域にそれぞれ記録され、それら複数の前記第１データ領域とは異なる第２データ領域に、第２データが記録されており、前記データベースは、前記二次元コードの前記第２データが、当該二次元コードの前記ＩＤと対応付けて記憶されている。
更に、前記読取システムは、前記光学的情報読取手段による前記第２データ領域の読み取りが失敗したか否かを判断する判断手段を備えており、前記判断手段によって前記第２データ領域の読み取りが失敗したと判断された場合に、前記通信手段が、前記情報処理装置にアクセスし且つ前記情報処理装置に対し前記第１データ領域に記録される前記ＩＤを送信する構成をなしている。
また、前記情報処理装置は、前記通信手段によるアクセス及び前記ＩＤの送信に応じ、当該ＩＤに対応する前記第２データを前記データベースから読み出すと共に、その読み出した前記第２データを、前記ＩＤの送信元の前記読取システムに送信するように構成されている。
【００１０】
請求項５の発明は、請求項４に記載の二次元コード読み取りシステムにおいて、前記二次元コードに３以上の前記第１データ領域が設けられ、各第１データ領域に、前記ＩＤのビット列が記録されている。
また、前記読取システムは、複数の前記第１データ領域にそれぞれ記録される複数の前記ＩＤのビット列を、各ビット位置ごとに比較し、値が一致していないビット位置を検出するビット位置検出手段と、前記ビット位置検出手段により値が一致していないビット位置が検出された場合、その値が一致していないビット位置において用いるべきビット値を、複数の前記ＩＤのビット列において当該ビット位置に用いられている各値の多数決をとることによって決定するビット値多数決手段と、を有している。
【００１１】
請求項６の発明は、請求項４に記載の二次元コード読み取りシステムであって、各第１データ領域は、前記ＩＤが複数のコードワードに亘って記録されており、
前記読取システムは、
複数の前記第１データ領域にそれぞれ記録される複数の前記ＩＤについて、各対応位置毎にコードワード同士を比較し、コードワードが一致していない前記対応位置を検出する不一致位置検出手段と、
前記不一致位置検出手段によりコードワードが一致していない前記対応位置が検出された場合に、当該対応位置を誤り発生位置として前記第１データ領域に対し消失訂正を行う消失訂正手段と、
を有することを特徴とする。
【００１２】
請求項７の発明は、請求項６に記載の二次元コード読み取りシステムであって、前記不一致位置検出手段により、複数の前記ＩＤにおいてコードワードが一致していない前記対応位置が検出された場合に、当該対応位置において用いるべきコードワード値を、それら複数の前記ＩＤにおいて当該対応位置に用いられている各値の多数決をとることによって決定するコードワード値多数決手段を備え、前記消失訂正手段は、コードワードが一致していない前記対応位置のうち、前記コードワード値多数決手段によって多数決をとることができない前記対応位置を誤り発生位置として前記消失訂正を行っている。
【００１３】
請求項８の発明は、請求項１から請求項７のいずれか一項に記載の二次元コード読み取りシステムにおいて、前記第２データ領域に記録される前記第２データは、複数のデータブロックを含み、且つ各データブロック毎に固有情報が付されており、前記データベースには、前記ＩＤに対応する前記第２データが、各データブロック毎に読み出し可能な状態で記憶されている。
更に、前記読取システムは、前記判断手段により前記第２データ領域の読み取りが失敗したと判断される場合に、当該第２データ領域における読み取りが成功した前記データブロックの前記固有情報に基づき、読み取りが失敗した前記データブロックを特定する特定情報を生成する特定情報生成手段を備え、前記判断手段によって前記第２データ領域の読み取りが失敗したと判断された場合に、前記通信手段が、前記情報処理装置に対し前記ＩＤと共に前記特定情報を送信する構成をなしている。
また、前記情報処理装置は、前記読取システムの前記通信手段からのアクセスに応じ、前記ＩＤ及び前記特定情報に対応する前記データブロックを前記データベースから読み出すと共に、その読み出した前記データブロックを前記読取システムに送信している。
【００１４】
請求項９の発明は、請求項８に記載の二次元コード読み取りシステムにおいて、前記光学的情報読取手段は、前記第２データ領域におけるいずれかの前記データブロックの読み取りが失敗し、他の前記データブロックの読み取りが成功した場合、その読み取りが成功した他の前記データブロックのデータを出力することを特徴とする。
【００１５】
請求項１０の発明は、請求項９に記載の二次元コード読み取りシステムにおいて、前記光学的情報読取手段は、読み取りが成功した前記データブロックが複数存在する場合、それら複数の前記データブロックのデータを出力する際に、データブロック間に識別子を付して出力することを特徴とする。
【発明の効果】
【００１６】
請求項１の発明は、読取対象となる二次元コードにおいて、矩形領域内の規定の角部に特定パターンが配置されている。そして、特定パターン寄りの第１データ領域に、当該二次元コードのＩＤを含んだ第１データが記録され、第１データ領域よりも特定パターンから離れた領域に第２データが記録されている。このように規定の角部に特定パターンを配置することで、当該特定パターンを、各セルを検出する基準として用いることができ、このような特定パターンの近くに第１データ領域を配置することで、第１データの読み取りの精度を高め、第１データの読み取りを成功しやすくすることができる。そして、この第１データには二次元コードのＩＤが含まれているため、第２データの読み取りが失敗するような状況下でも、最低限ＩＤを取得するといったことが行いやすくなる。
また、光学的情報読取手段を備えた読取システム側には、第２データ領域の読み取りが失敗したか否かを判断する判断手段が設けられ、この判断手段により第２データ領域の読み取りが失敗したと判断された場合、通信手段により情報処理装置にアクセスし且つ情報処理装置に対し第１データ領域に記録されるＩＤを送信している。
一方、情報処理装置のデータベースには、二次元コードの第２データがＩＤと対応付けて記憶されており、情報処理装置は、前記通信手段によるアクセス及びＩＤの送信に応じ、当該ＩＤに対応する第２データをデータベースから読み出し、ＩＤの送信元の読取システムに送信している。。
このように構成されているため、第２データ領域の読み取りが失敗するような場合であっても、読み取りが比較的成功しやすい第１データ領域のデータ（ＩＤ）を利用して情報処理装置からバックアップデータ（第２データ）を取得することができ、ひいては、デコード不良を効果的に解消することができる。
【００１７】
請求項２の発明は、二次元コードにおいて、第２データ領域の誤り訂正能力よりも、第１データ領域の誤り訂正能力のほうが高く設定されている。このようにすると、読取システムが二次元コードを読み取る際に、第１データの読み取りがより一層失敗しにくくなり、バックアップデータを取得する際に必要となるデータ（ＩＤ）がより取得されやすくなる。
【００１８】
請求項３の発明は、光学的情報読取手段が読取端末内に設けられ、通信手段がコンピュータ内に設けられている。そして、読取端末には、二次元コードの読取データを生成する生成手段と、その生成された読取データをコンピュータに出力する出力手段とが設けられている。このように通信手段等をコンピュータ側に設けることで、読取端末の軽量化、小型化を図ることができ、コンピュータ側では、読取端末の読取結果に応じて適切な情報処理、通信処理を行うことができるようになる。
更に、読取端末に設けられた生成手段が、第１データ領域の読取結果及び第２データ領域の読取結果を特定するデータ（読取結果特定データ）を読取データに付加するように構成されているため、コンピュータ側で、第１データ及び第２データの読取結果を迅速に把握することができ、第２データが読取不良であるときには即座にバックアップ処理に移行できる。また、読取データには、第１データと第２データとを区別するセパレータが付加されるため、コンピュータ側で第１データと第２データとを迅速且つ確実に区別することができ、バックアップデータの取得に必要となる処理（ＩＤの取得、ＩＤの送信処理等）をスムーズに行うことができる。
【００１９】
請求項４の発明は、読取対象となる二次元コードにおいて、複数の第１データ領域が設けられ、各第１データ領域に第１データがそれぞれ記録されている。また、それら複数の第１データ領域とは異なる第２データ領域に第２データが記録されている。このように第１データ領域を複数設けることで、第１データの読み取りが成功する確率を高めることができる。この第１データには二次元コードのＩＤが含まれているため、第２データの読み取りが失敗するような状況下でも、最低限ＩＤを取得するといったことが行いやすくなる。  また、光学的情報読取手段を備えた読取システム側には、第２データ領域の読み取りが失敗したか否かを判断する判断手段が設けられ、この判断手段により第２データ領域の読み取りが失敗したと判断された場合、通信手段により情報処理装置にアクセスし且つ情報処理装置に対し第１データ領域に記録されるＩＤを送信している。
一方、情報処理装置のデータベースには、二次元コードの第２データがＩＤと対応付けて記憶されており、情報処理装置は、前記通信手段によるアクセス及びＩＤの送信に応じ、当該ＩＤに対応する第２データをデータベースから読み出し、ＩＤの送信元の読取システムに送信している。
このように構成されているため、第２データ領域の読み取りが失敗するような場合であっても、読み取りが比較的成功しやすい第１データ領域のデータ（ＩＤ）を利用して情報処理装置からバックアップデータ（第２データ）を取得することができ、ひいては、デコード不良を効果的に解消することができる。
【００２０】
請求項５の発明は、二次元コードに３以上の第１データ領域が設けられ、各第１データ領域に、ＩＤのビット列が記録されている。また、読取システム側にはビット位置検出手段が設けられており、複数の第１データ領域にそれぞれ記録される複数のＩＤのビット列を、各ビット位置ごとに比較し、値が一致していないビット位置を検出している。このようにすると、誤りの原因となっているビット位置を正確に特定できるようになる。
更に、値が一致していないビット位置が検出された場合、その値が一致していないビット位置において用いるべきビット値を、複数のＩＤのビット列において当該ビット位置に用いられている各値の多数決をとることによって決定している。このようにすると、誤りが生じているビット位置の値を適切に推定でき、正確な第１データが得られやすくなる。
【００２１】
請求項６の発明では、各第１データ領域において、ＩＤが複数のコードワードに亘って記録され、読取システム側には不一致位置検出手段が設けられており、複数の第１データ領域にそれぞれ記録される複数のＩＤについて、各対応位置毎にコードワード同士を比較し、コードワードが一致していない対応位置を検出している。このようにすると、誤りの原因となっているコードワード位置を正確に特定できるようになる。更に、消失訂正手段が設けられ、コードワードが一致していない対応位置が検出された場合に、当該対応位置を誤り発生位置として第１データ領域に対し消失訂正を行っている。このように、誤りが生じているコードワード位置を特定した上で消失訂正を行うようにすれば、誤り訂正能力が高められ、ＩＤを復元できる可能性がより高くなる。
【００２２】
請求項７の発明では、コードワード値多数決手段が設けられ、複数のＩＤにおいてコードワードが一致していない対応位置が検出された場合に、当該対応位置において用いるべきコードワード値を、それら複数のＩＤにおいて当該対応位置に用いられている各値の多数決をとることによって決定している。そして、コードワードが一致していない対応位置のうち、多数決をとることができない対応位置を誤り発生位置として消失訂正を行っている。このようにすると、多数決による推定により誤り発生位置を減らした上で消失訂正を行うことができるため、誤り訂正能力を一層高めることができ、ＩＤの復元可能性がより一層高まる。
【００２３】
請求項８の発明は、第２データ領域の読み取りが失敗したと判断される場合に、当該第２データ領域における読み取りが成功したデータブロックの固有情報に基づき、読み取りが失敗したデータブロックを特定する情報（特定情報）を生成している。そして、情報処理装置に対し、ＩＤと共に当該特定情報を送信している。一方、情報処理装置は、読取システムからのアクセスに応じ、ＩＤ及び特定情報に対応するデータブロックをデータベースから読み出し、その読み出したデータブロックを読取システムに送信している。このようにすると、読み取りが成功したデータブロックをダウンロードせず、失敗したデータブロックのみを選択的にダウンロードすることができるため、ダウンロード時間を大幅に削減できる。
【００２４】
請求項９の発明では、第２データ領域のいずれかのデータブロックの読み取りが失敗し、他のデータブロックの読み取りが成功した場合に、その読み取りが成功した他のデータブロックのデータを光学的情報読取手段から出力している。このようにすると、当該出力データを受ける側において、読み取りが成功したデータブロックの種類や内容を確実に把握でき、読み取りが失敗したデータブロックを迅速且つ正確に特定しでダウンロードできるようになる。
【００２５】
請求項１０の発明では、読み取りが成功したデータブロックが複数存在する場合、それら複数のデータブロックのデータを出力する際に、データブロック間に識別子を付して出力している。このようにすると、当該出力データを受ける側において、読み取りが成功した複数のデータブロックの各種類や各内容をそれぞれ確実に把握でき、データブロックが多数存在するようなコード構成であっても、読み取りが失敗したデータブロックを迅速且つ正確に特定してダウンロードできるようになる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の第１実施形態に係る二次元コード読み取りシステムの構成を概略的に例示するブロック図である。
【図２】図２は、図１の二次元コード読み取りシステムの一部をなす読取端末の構成を概略的に例示するブロック図である。
【図３】図３は、図１のシステムによって読み取られる二次元コードの一例について概略的に説明する説明図である。
【図４】図４は、図３の二次元コードの第１データ領域及び第２データ領域の構成を概念的に説明する説明図である。
【図５】図５は、読取端末での読取処理の流れを例示するフローチャートである。
【図６】図６は、読取端末からコンピュータに出力される送信データのフォーマットを説明する説明図である。
【図７】図７は、コンピュータでの解析処理の流れを例示するフローチャートである。
【図８】図８は、第２実施形態に係る二次元コード読み取りシステムで読み取られる二次元コードを説明する説明図である。
【図９】図９は、第２実施形態において読取端末で行われる読取処理を例示するフローチャートである。
【図１０】図１０は、多数決処理を説明する説明図である。
【図１１】図１１は、図１０とは異なる多数決処理を説明する説明図である。
【図１２】図１２は、第３実施形態に係る二次元コード読み取りシステムで読み取られる二次元コードを説明する説明図である。
【図１３】図１３は、図１２の二次元コードに記録されるデータの一例を示す説明図である。
【図１４】図１４は、第３実施形態における読取端末での読取処理を例示するフローチャートである。
【図１５】図１５（ａ）は、読取端末からコンピュータに送信される送信データの一例を示す説明図であり、図１５（ｂ）は、コンピュータからサーバに送信するデータの一例を示す説明図である。
【図１６】図１６は、第３実施形態におけるコンピュータでの解析処理を例示するフローチャートである。
【図１７】図１７は、読取対象となる二次元コードの別例を示す説明図である。
【図１８】図１８は、従来におけるデータのバックアップ方法を説明する説明図である。
【発明を実施するための形態】
【００２７】
[第１実施形態]
以下、本発明の二次元コード読み取りシステムを具現化した第１実施形態について、図面を参照して説明する。
（全体構成）
まず、図１を参照して本実施形態に係る二次元コード読み取りシステム１の全体構成を説明する。
図１に示すように、本実施形態に係る二次元コード読み取りシステム１（以下、単にシステム１とも称する）は、複数のセルからなる二次元コード７０（図３等参照）を読み取るシステムとして構成されており、図１に示すように読取端末１０と、コンピュータ５０と、サーバ６０とを備えている。
【００２８】
読取端末１０は、例えば図２のような構成をなしており、二次元コードを読み取り可能な二次元コードリーダとして機能している。この読取端末１０は、図２に示すように、主に、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、操作スイッチ４２、液晶表示装置４６等のマイクロコンピュータ（以下「マイコン」という）系などから構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース（図示略）内に内装されている。
【００２９】
光学系は、照明光源２１、受光センサ２３、フィルタ２５、結像レンズ２７等から構成されている。照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ２３を挟んだ両側に照明光源２１が設けられており、ケースに形成された読取口（図示略）を介して読取対象物Ｒに向けて照明光Ｌｆを照射可能に構成されている。読取対象物Ｒとしては、例えば、樹脂材料、金属材料等の様々な対象が考えられ、図２では、読取対象物Ｒに二次元コード７０が印刷、ダイレクトマーキングなどによって形成された例を示している。
【００３０】
受光センサ２３は、読取対象物Ｒや二次元コード７０に照射されて反射した反射光Ｌｒを受光可能に構成されるもので、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を２次元に配列したエリアセンサが、これに相当する。この受光センサ２３は、結像レンズ２７を介して入射する入射光を受光面２３ａで受光し得るように、図略のプリント配線板に実装されている。また、フィルタ２５は、反射光Ｌｒの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口（図示略）と結像レンズ２７との間に設けられている。また、結像レンズ２７は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本実施形態では、ケースに形成された読取口（図示略）に入射する反射光Ｌｒを集光し、受光センサ２３の受光面２３ａに二次元コード７０のコード画像を結像するように構成されている。
【００３１】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等から構成されている。このマイコン系は、マイコン（情報処理装置）として機能し得る制御回路４０及びメモリ３５を中心として構成され、前述した光学系によって撮像された二次元コード７０の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
【００３２】
光学系の受光センサ２３から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、メモリ３５に入力され、当該メモリ３５の画像データ蓄積領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２３およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００３３】
メモリ３５は、複数の半導体メモリ装置からなるものであり、例えばＲＡＭ（ＤＲＡＭ、ＳＲＡＭ等）やＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等）などによって構成されている。このメモリ３５のうちのＲＡＭには、前述した画像データ蓄積領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またＲＯＭには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【００３４】
制御回路４０は、読取端末１０全体を制御可能なマイコンであり、ＣＰＵ、システムバス、入出力インタフェース等を備え、情報処理機能を有している。この制御回路４０には、内蔵された入出力インタフェースを介して種々の入出力装置（周辺装置）が接続されており、本実施形態では、操作スイッチ４２、ＬＥＤ４３、ブザー４４、液晶表示装置４６、通信インタフェース４８等が接続されている。また、通信インタフェース４８には、読取端末１０の上位システムに相当するコンピュータ５０を接続できるようになっている。
なお、本実施形態では、読取端末１０内に収容される収容部品が「光学的情報読取手段」として機能している。
【００３５】
コンピュータ５０は、例えば公知のパーソナルコンピュータ等として構成されており、図１に示すように、ＣＰＵ５１と、記憶部５２と、通信部５３とを有している。ＣＰＵ５１は、コンピュータ５０の全体的な制御や、読取端末１０からのデータに対する各種演算処理等を行うものである。また、記憶部５２は、ＲＯＭ、ＲＡＭ、ハードディスクドライブなどの記憶手段によって構成されており、少なくとも、読取端末１０から取得したデータやサーバ６０から取得したデータを一時的に記憶し得る構成をなしている。また、通信部５３は、サーバ６０と通信を行う際のインタフェースとして構成されており、本実施形態では、インターネット等の通信網を介してサーバ６０と通信を行うように構成されている。
【００３６】
サーバ６０も、公知のパーソナルコンピュータ等として構成されており、図１に示すように、ＣＰＵ６１と、記憶部６２と、通信部６３とを有している。ＣＰＵ６１は、サーバ６０の全体的な制御や、コンピュータ５０から取得したデータに対する各種演算処理などを行うものである。また、記憶部６２は、ＲＯＭ、ＲＡＭ、ハードディスクドライブなどの記憶手段によって構成されており、いずれかのメディア（例えばハードディスクドライブ）には、後述するデータベースが格納されている。また、通信部６３は、コンピュータ５０と通信を行う際のインタフェースとして構成されており、上述のようにインターネット等の通信網を介してコンピュータ５０と通信を行うように構成されている。
【００３７】
（二次元コード）
次に、上記システム１によって読み取られる二次元コードについて説明する。
図３に示すように、システム１によって読み取られる二次元コード７０は、複数の情報表示単位セル（以下、単にセルとも称する）が集合したセル集合体として構成されている。図３では、各セルが２種類のセル（明色セル及び暗色セル）の内のいずれかとされており、各セル領域が正方形領域として構成されている。そして、このようなセルがマトリックス状に配置されることで、コード領域（セルが配置される領域）全体が矩形領域として構成されている。なお、図３では、一部のセルのみについて符号Ｃを付しており、他のセルの符号は省略している。また、特定パターン７１、第２パターン７３、７４以外の各セルについては、外縁のみ実線で示しており、具体的構成は省略している。
【００３８】
図３の二次元コード７０は、コード領域（矩形領域）における４つ角部７０ａ〜７０ｄの内、規定の角部７０ａに、外形が矩形状（詳しくは正方形状）に構成された特定パターン７１が配置されている。この特定パターン７１は、外縁を構成する２辺によって規定の角部７０ａの角位置（角部分の境界位置）を定めている。また、特定パターン７１は、コード領域における各セルＣの位置の特定するための要素として機能するものであり、具体的には、当該二次元コード７０を撮像したときの画像データにおいて、規定の角部７０ａの位置を特定するために用いられると共に、その画像データにおいて二次元コード７０の向きを特定するために用いられ、更にはコード領域内における各セルの位置を特定するために用いられるようになっている。なお、本明細書全体を通し、「特定パターン」とは、二次元コードに含まれるデータ（デコードすべきデータ）に関係なく一定形状で構成されるパターンを意味している。
【００３９】
図３に示す特定パターン７１は、中心に第１の色のセル（黒色セル７１ａ）が１つ配置され、その第１の色のセル（黒色セル７１ａ）の周りを第２の色のセル（白色セル７１ｂ）が矩形状に囲んでいる。さらに、その環状のセル群（白色セル７１ｂのセル群）の周りを第１の色のセル（黒色セル７１ｃ）が囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が正方形状に構成され、特定パターン７１全体として外形が矩形状となっている。
【００４０】
また、図３の二次元コード７０には、特定パターン７１に隣接して第２パターン７２、７３が設けられている。これら第２パターン７２、７３は、データに関係なく一定形状（図３の例では、明色セルと暗色セルとが交互に配置される形状）とされるものであり、コード領域（矩形領域）の境界をなす４つの辺のうち、特定パターン７１が接する境界部に隣接して配置されている。この第２パターン７２、７３は、二次元コード７０のコード領域（矩形領域）を背景から分離するために利用されるものであり、後述する読み取りの際には、この第２パターン７２、７３を基準としてコード領域全体が背景から分離されるようになっている。
【００４１】
また、図３の二次元コード７０は、特定パターン７１寄りに、第１データが記録された第１データ領域７５が設けられ、この第１データ領域７５よりも特定パターン７１から離れた側に、第２データが記録された第２データ領域７６が設けられている。第１データ領域７５に記録される第１データは、少なくとも二次元コード７０のＩＤを含んでいる。なお、第１データは、ＩＤ以外のデータ（例えば、二次元コード７０のフォーマットデータ（二次元コード７０の種別やサイズなどを示すデータ）等）を含んでいてもよく、第１データがＩＤのみによって構成されていてもよい。また、図４上段に示すように、第１データ領域には、第１データに対応する誤り訂正符号も記録されている。第１データ領域７５において、第１データは複数のデータコードブロックによって表現されており、各データコードブロックを構成する各セルは、予め定められた複数種類（図３の例では白黒の二種類）のセルの中からいずれかの種類のセルが選択されて用いられる。
【００４２】
第２データ領域に記録される第２データは、読取後に出力する対象となるデータ（デコード対象データ）であり、様々な種類のデータを含めることができる。また、図４下段に示すように、第２データ領域には、第２データに対応する誤り訂正符号も記録されている。
【００４３】
第１データ領域７５の第１データ、及び第２データ領域７６の第２データを表現する各データコードブロックは、デコードすべき符号化データ（データコード語）に対応したセルの配列で構成されている。本実施形態では、セルの色が、数値に対応付けられており、例えば、データ値「０」に対して白色セル、データ値「１」に対して黒色セルがそれぞれ対応付けられている。
【００４４】
第１データ領域７５に記録される誤り訂正符号は、第１データの誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コード語は、第１データを構成する符号化データ（データコード語）に基づいて生成されたものである。また、第２データ領域７６の誤り訂正符号も、第２データの誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コード語は、第２データを構成する符号化データ（データコード語）に基づいて生成されたものである。
【００４５】
なお、第１データ領域及び第２データ領域のいずれについても、データコード語に基づいて誤り訂正コード語を生成する方法として、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。例えば、データコード語に基づいて誤り訂正コード語を生成する方法として、ＪＩＳＸ０５１０：２００４に規定された誤り訂正コード語の生成方法（ＪＩＳＸ０５１０：２００４、８．５誤り訂正）と同様の方法を用いた場合、誤り訂正コード語は、データコードブロックについてのデータコード語を二進数で表した後、誤り訂正検出及び訂正（ＪＩＳＸ０５１０：２００４付属書Ａ）で使用される多項式ｇ（ｘ）によって当該データコード語を除算して得られた剰余とされる。第１データ領域の誤り訂正符号は、第１データを構成する符号化データ（データコード語）に基づいて上記のように生成された誤り訂正コード語によって構成され、第１データ領域では、この誤り訂正符号を、複数のセルからなるブロック（誤り訂正コードブロック）を複数配置することで表している。また、第２データ領域の誤り訂正符号も同様であり、第２データを構成する符号化データ（データコード語）に基づいて上記のように生成された誤り訂正コード語によって構成され、第２データ領域では、この誤り訂正符号を、複数のセルからなるブロック（誤り訂正コードブロック）を複数配置することで表している。なお、ここでは、ＪＩＳＸ０５１０に規定される方法と同様の方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
【００４６】
上述したように、本実施形態では、第１データが記録された第１データ領域７５よりも、第２データが記録された第２データ領域７６のほうが、位置的に特定パターン７１に近づけられており、更に、第１データ領域７５に記録される誤り訂正符号（第１データの誤りを訂正するための誤り訂正符号）のほうが、第２データ領域７６に記録される誤り訂正符号（第２データの誤りを訂正するための誤り訂正符号）よりも誤り訂正能力が高められている。例えば、第１データのデータコード語数がＮ１であり、第１データの誤り訂正能力（誤り訂正レベル）を、「Ｑ」（ＪＩＳＸ０５１０）に相当するレベルに設定する場合には、ＪＩＳＸ０５１０においてデータコード語数Ｎ１且つ誤り訂正レベル「Ｑ］の場合になされる方式で誤り訂正コード語を生成する。また、第２データのデータコード語数がＮ２であり、第２データの誤り訂正能力（誤り訂正レベル）を、「Ｌ」（ＪＩＳＸ０５１０）に相当するレベルに設定する場合には、ＪＩＳＸ０５１０においてデータコード語数Ｎ２且つ誤り訂正レベル「Ｌ］の場合になされる方式で誤り訂正コード語を生成する。
【００４７】
（二次元コード読み取り処理）
次に、システム１による二次元コード読み取り処理について説明する。
まず、図５を参照しつつ読取端末１０で行われる読取処理について説明する。図５では、二次元コード７０が撮像された後の処理を示しており（撮像処理については省略）、まず、撮像画像において、特定パターン７１（切出しシンボル）を検出し、コード領域の外形を検出している（Ｓ１）。特定パターン７１は、予め定められた所定形状であるため、Ｓ１ではまずこの所定形状を検出し、更に、コード領域の外形を検出している。その後、特定パターン７１（切出しシンボル）を基準として、各セルＣの中心座標を求める（Ｓ２）。
【００４８】
上記のように各セルの中心座標が特定された後には、第１データ領域のデータの読み取りを行う（Ｓ３）。Ｓ３の処理では、第１データ領域の各セルＣの中心座標の各輝度値に基づいて、各セルＣが明色セル及び暗色セルのいずれであるかを判別し、第１データ領域７５に記録された第１データを読み取る。この第１データの読み取りは、ＱＲコード等の公知の二次元コードにおけるデータの読み取りと基本的に同様であり、第１データを記録した各データコードブロックを解読すると共に、いずれかのデータコードブロックに誤りが生じた場合には、第１データに対応して生成された誤り訂正符号に基づいて誤り訂正を行う。
【００４９】
その後、Ｓ３において第１データ領域７５の読み取りが成功したか否かを判断し（Ｓ４）、成功した場合にはＳ４にてＹｅｓに進み、Ｓ３で読み取った第１データをバッファに格納する（Ｓ５）。一方、第１データ領域７５の読み取りが失敗した場合にはＳ４にてＮｏに進む。
【００５０】
Ｓ５の処理後、或いはＳ４にてＮｏに進む場合には、第２データ領域の読取処理を行う（Ｓ６）。この処理では、第２データ領域の各セルＣの中心座標の各輝度値に基づいて各セルＣが明色セル及び暗色セルのいずれであるかを判別し、第２データ領域７６に記録された第２データを読み取る。この読み取りは、第１データ領域７５の読み取り（Ｓ３）と同様であり、第２データを記録した各データコードブロックを解読すると共に、いずれかのデータコードブロックに誤りが生じた場合には、第２データに対応して生成された誤り訂正符号に基づいて誤り訂正を行う。
【００５１】
その後、Ｓ６において第２データ領域７６の読み取りが成功したか否かを判断し（Ｓ７）、成功した場合にはＳ７にてＹｅｓに進み、Ｓ６で読み取った第２データをバッファに格納する（Ｓ８）。一方、第２データ領域７６の読み取りが失敗した場合にはＳ７にてＮｏに進む。
【００５２】
Ｓ８の処理後、或いはＳ７にてＮｏに進む場合には、バッファにデータが存在するか否かを判断する。即ち、Ｓ５の格納処理或いはＳ８の格納処理によって第１データ及び第２データの少なくともいずれかがバッファに格納されているか否かを判断し、いずれかが格納されている場合には、Ｓ９にてＹｅｓに進み、Ｓ１０の送信処理を行う。Ｓ１０では、バッファの内容に応じた送信データを生成し、この送信データをコンピュータ５０に対して送信する。
【００５３】
Ｓ１０で生成されるデータは、例えば図６のような構成をなしている。図６の例では、データの先頭において、いずれのデータ領域の読み取りが成功したかを示す識別子が配されている。この識別子は、第１データ領域の読取結果及び第２データ領域の読取結果を特定する「読取結果特定データ」の一例に相当するものであり、第１データ領域及び第２データ領域のいずれもが読み取り成功となった場合には、「Ａ」という識別子が付され、第１データ領域の読み取りのみが成功し、第２データ領域の読み取りが失敗した場合には「Ｂ」という識別子が付されるようになっている。逆に、第２データ領域の読み取りのみが成功し、第１データ領域の読み取りが失敗した場合には「Ｃ」という識別子が付されるようになっている。
【００５４】
また、読取り領域識別子の後には、第１データ領域の読取データ（第１データ）が配されている。また、第１データの後には、セパレータを挟んで第２データ領域の読取データ（第２データ）が配されている。なお、第１データ領域の読み取りが成功しなかった場合（識別子として「Ｃ」が付される場合）には、第１データが含まれず、第２データ領域の読み取りが成功しなかった場合（識別子として「Ｂ」が付される場合）には、第２データが含まれないことになる。セパレータは、予め定められた特定データ（図６では、文字「ＧＳ」）で構成されており、このセパレータを挟んだ前後にそれぞれ第１データ及び第２データが配置されることで、第１データと第２データとが明確に区別されている。
【００５５】
なお、本実施形態では、制御回路４０が「生成手段」の一例に相当し、二次元コード７０の読取データ（図６）を生成する機能を有する。また、制御回路４０及び通信インタフェース４８は「出力手段」の一例に相当し、その生成された読取データをコンピュータ５０に出力する機能を有している。
【００５６】
次に、コンピュータ５０側での解析処理について説明する。図７に示す解析処理は、読取端末１０での読取結果を解析し、必要に応じてサーバからデータをダウンロードする処理である。
【００５７】
図７に示すように、当該解析処理では、まず読取端末１０からデータが送信されてきたか否かを判断する（Ｓ２０）。この判断処理では、読取端末１０から図６に示す送信データが送られるまではＮｏに進んで待機状態を維持する。一方、読取端末１０からの送信データを受信したときにはＳ２０にてＹｅｓに進み、Ｓ２１の評価処理を行う。
【００５８】
Ｓ２１の処理では、読取端末１０からの送信データ（図６）の先頭部分の識別子（読取り領域識別子）を切出し、その識別子の内容を確認する。そして、識別子が第２データ領域の読取成功を示すものであるか否か（即ち、識別子が「Ａ」又は「Ｃ」であるか否か）を判断し（Ｓ２２）、第２データ領域の読取成功を示すものである場合（即ち、識別子が「Ａ」又は「Ｃ」である場合）には、Ｓ２２にてＹｅｓに進み、第２データ領域の読取データ（第２データ）を切出す処理を行う。Ｓ２３では、送信データ（図６）から当該送信データに含まれている第２データ（第２データ領域の読取データ）を取得しており、その後、その取得した第２データについてのデータ処理（出力処理等）を行う（Ｓ２６）。
【００５９】
一方、Ｓ２２において、第２データ領域の読み取りが失敗と判断される場合（即ち、識別子が「Ｂ」である場合）、Ｓ２２にてＮｏに進み、第１データ領域の読取データ（第１データ）を切出し、これをサーバ６０に送信する処理を行う（Ｓ２４）。第１データには、二次元コード７０のＩＤが含まれているため、Ｓ２４の処理により、このＩＤがサーバ６０に送信されることとなる。
【００６０】
サーバ６０は、コンピュータ５０からのデータ送信を常時監視しており、コンピュータ５０からＩＤが送られてきたときには、そのＩＤに対応するデータ（第２データ）を検索し読み出している。サーバ６０内のデータベースには、例えば複数の二次元コードの各デコード対象データ（第２データ）が、それぞれ各二次元コードのＩＤと対応付けて記憶されている。従って、ＩＤが判明すれば、そのＩＤで特定される二次元コードのデコード対象データ（第２データ）を読み出すことができるようになっている。
【００６１】
サーバ６０は、コンピュータ５０から送信されたＩＤに基づいてデータベースから読み出したデータ（ＩＤに対応する第２データ）を、コンピュータ５０に送信している。コンピュータ５０は、ＩＤの送信に応じてサーバか６０から返信されたデータ（第２データ）を受信し、記憶部５２に一時的に記憶する（Ｓ２５）。そして、この受信データ（第２データ）についてのデータ処理（出力処理等）を行う（Ｓ２６）。
【００６２】
なお、本実施形態では、ＣＰＵ５１が「判断手段」の一例に相当し、光学的情報読取手段による第２データ領域の読み取りが失敗したか否かを判断する機能を有する。また、ＣＰＵ５１及び通信部５３は、「通信手段」の一例に相当し、サーバ６０と通信する機能を有し、更に、第２データ領域７６の読み取りが失敗したと判断された場合、サーバ６０（情報処理装置）にアクセスし且つサーバ６０に対し第１データ領域７５に記録されるＩＤを送信するように機能している。
【００６３】
（本実施形態の主な効果）
本実施形態では、読取対象となる二次元コード７０において、矩形領域内の規定位置にセルの位置を特定する特定パターン７１が配置されている。そして、特定パターン７１寄りの第１データ領域７５に、当該二次元コード７０のＩＤを含んだ第１データが記録され、第１データ領域７５よりも特定パターン７１から離れた領域に第２データが記録されている。このように第１データ領域７５を特定パターン７１の近くに配置することで、第１データの読み取りの精度を高めることができ、第１データの読み取りが失敗し難くなる。この第１データには二次元コード７０のＩＤが含まれているため、第２データの読み取りが失敗するような状況下でも、最低限ＩＤを取得するといったことが行いやすくなる。
【００６４】
また、読取システム２は、第２データ領域７６の読み取りが失敗したか否かを判断しており、第２データ領域７６の読み取りが失敗した場合には、サーバ６０（情報処理装置）に対して第１データ領域７５に記録されるＩＤを送信している。一方、サーバ６０のデータベースには、二次元コードの第２データがＩＤと対応付けて記憶されており、サーバ６０は、読取システム２からのアクセス及びＩＤの送信に応じ、当該ＩＤに対応する第２データをデータベースから読み出している。そして、それをＩＤ送信元の読取システム２に返信している。このように構成されているため、第２データ領域７６の読み取りが失敗するような場合であっても、読み取りが比較的成功しやすい第１データ領域７５のデータ（ＩＤ）を利用してサーバ６０からバックアップデータ（第２データ）を取得することができ、ひいては、デコード不良を効果的に解消できるようになる。
【００６５】
また、読取対象となる二次元コード７０において、第２データ領域７６の誤り訂正能力よりも、第１データ領域７５の誤り訂正能力のほうが高く設定されている。このようにすると、読取システム２が二次元コード７０を読み取る際に、第１データの読み取りがより一層失敗しにくくなり、バックアップデータを取得する際に必要となるデータ（ＩＤ）がより取得されやすくなる。
【００６６】
また、読取システム２では、「光学的情報読取手段」が読取端末１０の内部に設けられ、「通信手段」がコンピュータ５０の内部に設けられている。そして、読取端末１０には、二次元コード７０の読取データを生成する「生成手段」と、その生成された読取データをコンピュータ５０に出力する「出力手段」とが設けられている。このように通信手段等をコンピュータ５０側に設けることで、読取端末１０の軽量化、小型化を図ることができ、コンピュータ５０側では、読取端末１０の読取結果に応じて適切な情報処理、通信処理を行うことができるようになる。
【００６７】
更に、読取端末１０に設けられた「生成手段」が、第１データ領域７５の読取結果及び第２データ領域７６の読取結果を特定するデータ（読取結果特定データ）を読取データに付加しているため、コンピュータ５０において、第１データ及び第２データの読取結果を迅速に把握することができ、第２データが読取不良であるときには即座にバックアップ処理に移行できるようになる。また、読取データには、第１データと第２データとを区別するセパレータが付加されるため、コンピュータ５０において第１データと第２データとを迅速且つ確実に区別することができ、バックアップデータの取得に必要となる処理（ＩＤの取得、ＩＤの送信処理等）をスムーズに行うことができる。
【００６８】
［第２実施形態］
次に第２実施形態について説明する。図８は、第２実施形態に係る二次元コード読み取りシステムで読み取られる二次元コードを説明する説明図である。図９は、第２実施形態において読取端末で行われる読取処理を例示するフローチャートである。図１０は、ビット列の多数決処理を説明する説明図である。
【００６９】
第２実施形態に係る二次元コード読み取りシステムは、第１実施形態と同様のハードウェア構成となっている。従って、読取端末１０、コンピュータ５０、サーバ６０等については、適宜図１、図２を参照することとし、詳細な説明は省略する。
【００７０】
第２実施形態では、読取対象となる二次元コードの構成が第１実施形態とは異なっている。図８に示すように、第２実施形態で用いられる二次元コード２７０は、当該二次元コード２７０のＩＤ（第１データ）が、複数の第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ記録されている。各第１データ領域２７５ａ、２７５ｂ、２７５ｃに記録される各ＩＤ（第１データ）はビット列で表されるものであり、各第１データ領域２７５ａ、２７５ｂ、２７５ｃでは、このビット列が複数のセルによって表現されている。また、各第１データ領域２７５ａ、２７５ｂ、２７５ｃのいずれか又は全てに、ＩＤ（第１データ）に対応した誤り訂正符号が記録されている。
【００７１】
また、第２データ領域２７６の構成は、第１実施形態の第２データ領域７６と同様であり、第１実施形態と同様の出力対象データ（第２データ）が記録されている。また、この第２データに基づいて生成された誤り訂正符号も記録されている。
【００７２】
また、二次元コード２７０には、第１実施形態で用いられる二次元コード７０（図３）と同様の特定パターン７１、第２パターン７２、７３が設けられている。なお、これら構成、機能は、第１実施形態の二次元コード７０と同一であるため、詳細な説明は省略する。
【００７３】
次に、本実施形態に係る二次元コード読取システムによって行われる二次元コード読取処理について説明する。まず、読取端末１０において図９に示すような読取処理が行われる。この読取処理では、始めに図５のＳ１、Ｓ２と同様の処理（Ｓ２０１、Ｓ２０２）を行い、特定パターン７１（切出しシンボル）、コード外形、各セルの中心座標などを検出する。
【００７４】
その後、第１データ領域を読み取る処理を行う（Ｓ２０３）。本実施形態では、二次元コード２７０において複数の第１データ領域２７５ａ、２７５ｂ、２７５ｃが設けられているため、Ｓ２０３では、各第１データ領域２７５ａ、２７５ｂ、２７５ｃに記録される各第１データの読み取りを試みる。各第１データ領域２７５ａ、２７５ｂ、２７５ｃの読み取りは、ＱＲコード等の公知の二次元コードにおけるデータの読み取りと基本的に同様であり、各第１データ領域２７５ａ、２７５ｂ、２７５ｃそれぞれにおいて、第１データを記録した各データコードブロックの解読を試みる。
【００７５】
その後、第１データ領域２７５ａ、２７５ｂ、２７５ｃのいずれかの読み取りが成功したか否かを判断する（Ｓ２０４）。Ｓ２０３においていずれかの第１データ領域の読み取りが成功した場合にはＳ２０４にてＹｅｓに進み、Ｓ２０３で読み取った第１データをバッファに格納する（Ｓ２０６）。一方、全ての第１データ領域２７５ａ、２７５ｂ、２７５ｃの読み取りが失敗した場合にはＳ２０４にてＮｏに進み、多数決処理を行う（Ｓ２０５）。
【００７６】
この多数決処理では、まず、各第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ記録される各第１データ（ＩＤデータ）のビット列を、ビット位置ごとに比較し、値が一致していないビット位置を検出する。なお、各第１データ領域２７５ａ、２７５ｂ、２７５ｃには、同一のデータ（第１データ）が記録されているため、各第１データ領域２７５ａ、２７５ｂ、２７５ｃが正確に読み取られたときには、同一のビット列（正規のビット列）が３つ得られることとなる。しかしながら、第１データ領域２７５ａ、２７５ｂ、２７５ｃのいずれかに誤りが生じている場合、図１０のように、１又は複数のビット位置において、値が一致しないこととなる。
【００７７】
図１０の例では、第１データ領域２７５ａのブロック（データブロック１）に記録されるＩＤが「１００１１１０１００００１・・・０１１０」と読み取られ、第１データ領域２７５ｂのブロック（データブロック２）に記録されるＩＤが「１００１０００１０００１１・・・１１１０」と読み取られている。更に、第１データ領域２７５ｃのブロック（データブロック３）に記録されるＩＤが「１００１０１０１０１０１１・・・０１１０」と読み取られている。この例では、５番目、６番目、１０番目、１２番目・・・ｎ−３番目の位置において、３つのブロックの値が一致していないため、これら位置が「不一致ビット位置」として検出されることになる。
【００７８】
上記のように不一致ビット位置（値が一致していないビット位置）が検出されたときには、その不一致ビット位置において用いるべきビット値を、当該不一致ビット位置における３つのブロックの各値の多数決をとることによって決定する。図１０の例では、５番目のビット位置において、１つのデータブロック（データブロック１）の値が「１」とされ、２つのデータブロック（データブロック２、３）の値が「０」とされているため、多数決により５番目のビット位置の値を「０」に決定している。同様に、６番目のビット位置では、１つのデータブロック（データブロック２）の値が「０」とされ、２つのデータブロック（データブロック１、３）の値が「１」とされているため、多数決により６番目のビット位置の値を「１」に決定している。このようにして各不一致ビット位置の値を多数決により順次決定し、図１０最下段のようなデータ（第１データと推定されるデータ）を生成する。なお、このような推定データに対して更に誤り訂正を行うようにしてもよい。
本実施形態では、ＣＰＵ５１が「ビット位置検出手段」「ビット値多数決手段」の一例に相当している。
【００７９】
Ｓ２０５（図９）の多数決処理の後には、この多数決処理によって得られた値（図１０の例では、「１００１０１０１０００１１・・・０１１０」）を、第１データ領域の読取データとしてバッファに格納する（Ｓ２０６）。なお、その後の処理（Ｓ２０７〜Ｓ２１１の処理）は、図５のＳ６〜Ｓ１０と同様の処理であるため詳細な説明は省略する。
【００８０】
図９に示すように、本実施形態でも、読取端末１０からコンピュータ５０に対して送信データ（図６）が送信されるようになっており（Ｓ２１１）、コンピュータ５０は、このデータの受信に応じて第１実施形態と同様の解析処理を行っている（図７）。なお、コンピュータ５０で行われる解析処理は図７と同一であるので詳細な説明は省略する。
【００８１】
また、本実施形態でも、サーバ６０には、第１実施形態と同様のデータベースが設けられ、第１実施形態と同様の検索、返信処理がなされている。即ち、サーバ６０のデータベースにおいて、各二次元コードのＩＤと対応付けて各二次元コードのデコード対象データ（第２データ）が記憶されており、図７の解析処理において、第２データの読み取りが失敗したと判断され（即ち、Ｓ２２でＮｏ）、Ｓ２４においてコンピュータ５０からサーバ６０に対しＩＤが送信されたときには、サーバ６０において、このＩＤに対応するデータ（第２データ）が読み出され、ＩＤ送信元の読取システム２に対して送信されるようになっている。なお、本実施形態では、図９のＳ２０３にていずれかの第１データ領域の読み取りが成功している場合には、Ｓ２４の処理において、この成功した領域の読取データ（ＩＤデータ）がサーバ６０に送信され、Ｓ２０３にて読み取りが失敗し、Ｓ２０５の多数決処理によるＩＤ推定データが得られた場合には、Ｓ２４の処理において、このＩＤ推定データがサーバ６０に送信されるようになっている。
【００８２】
本実施形態に係る二次元コード読取システムでは、読取対象となる二次元コード２７０において、複数の第１データ領域２７５ａ、２７５ｂ、２７５ｃが設けられ、各第１データ領域に第１データがそれぞれ記録されている。また、それら複数の第１データ領域とは異なる第２データ領域２７６に第２データが記録されている。このように第１データ領域を複数設けることで、第１データの読み取りの成功確率を高めることができる。この第１データには二次元コード２７０のＩＤが含まれているため、出力対象データ（第２データ）の読み取りが失敗するような状況下でも、最低限ＩＤを取得できる可能性が高くなる。また、本実施形態でも、第２データ領域２７６の読み取りが失敗した場合に、読み取りが比較的成功しやすい第１データ領域のデータ（ＩＤ）を利用してサーバ６０からバックアップデータ（第２データ）を取得することができ、ひいては、デコード不良を効果的に解消することができる。
【００８３】
また、二次元コード２７０には、３つの第１データ領域２７５ａ、２７５ｂ、２７５ｃが設けられ、各第１データ領域に、ＩＤのビット列が記録されている。そして、読取システム２には「ビット位置検出手段」が設けられており、３つの第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ記録される３つのＩＤビット列を、各ビット位置ごとに比較し、値が一致していないビット位置を検出している。このようにすると、誤りの原因となっているビット位置を正確に特定できるようになる。更に、値が一致していないビット位置が検出された場合、その値が一致していないビット位置において用いるべきビット値を、３つのＩＤビット列において当該ビット位置に用いられている各値の多数決をとることによって決定している。このようにすると、誤りが生じているビット位置の値を適切に推定でき、正確な第１データが得られやすくなる。
【００８４】
次に、本実施形態の一部処理を変更した別例を説明する。なお、この別例は、第２実施形態に係る上記例とほぼ同様であり、Ｓ２０５（図９）の多数決処理のみが異なっている。よって多数決処理以外の説明は省略する。
【００８５】
上記の例では、Ｓ２０５の多数決処理において、各第１データ領域２７５ａ、２７５ｂ、２７５ｃのビット列の各値を比較して多数決をとっていたが、各第１データ領域２７５ａ、２７５ｂ、２７５ｃにおいて複数のコードワードによってＩＤを表現する場合、これら３つの第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ記録される３つのＩＤの読取データについて、各対応位置毎にコードワード同士を比較し、コードワードが一致していない対応位置を検出するようにしてもよい。
【００８６】
図１１は、このような多数決処理の一例を示しており、ＩＤがｍ個のコードワードによって表現される場合を説明している。この場合、まず、各第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ記録される各第１データ（ＩＤデータ）のコードワード列を、コードワード位置ごとに比較し、値が一致していないコードワード位置を検出する。なお、各第１データ領域２７５ａ、２７５ｂ、２７５ｃには、同一のデータ（第１データ）が記録されているため、各第１データ領域２７５ａ、２７５ｂ、２７５ｃが正確に読み取られたときには、同一のコードワード列（正規のコードワード列）が３つ得られることとなる。しかしながら、第１データ領域２７５ａ、２７５ｂ、２７５ｃのいずれかに誤りが生じている場合、図１１のように、１又は複数のビット位置において、値が一致しないこととなる。
【００８７】
図１１の例では、第１データ領域２７５ａのブロック（データブロック１）に記録されるＩＤが「１２，Ａ６，ＣＢ，８Ｅ・・・Ｄ４，ＢＤ，０３，７３」と読み取られ、第１データ領域２７５ｂのブロック（データブロック２）に記録されるＩＤが「１２，Ａ６，ＥＢ，８Ｅ・・・Ｄ４，ＢＤ，０２，７３」と読み取られている。更に、第１データ領域２７５ｃのブロック（データブロック３）に記録されるＩＤが「１２，Ａ６，ＥＢ，８Ｅ・・・Ｄ４，ＢＤ，０４，７３」と読み取られている。この例では、３番目、１０番目、・・・ｍ−１番目の位置において、３つのブロックの値が一致していないため、これら位置が「不一致コードワード位置」として検出されることになる。
【００８８】
このように、３つのＩＤ読取データにおいてコードワードが一致していない対応位置（不一致コードワード位置）が検出された場合には、当該対応位置（不一致コードワード位置）において用いるべきコードワード値を、それら３つのＩＤ読取データにおいて当該対応位置に用いられている各値の多数決をとることによって決定する。図１１の例では、３番目のコードワード位置において、１つのデータブロック（データブロック１）の値が「ＣＢ」とされ、２つのデータブロック（データブロック２、３）の値が「ＥＢ」とされているため、多数決により３番目のコードワード位置の値を「ＥＢ」に決定している。同様に、１０番目のコードワード位置において、１つのデータブロック（データブロック２）の値が「０１」とされ、２つのデータブロック（データブロック１、３）の値が「００」とされているため、多数決により１０番目のコードワード位置の値を「００」に決定している。
【００８９】
一方、不一致コードワード位置の内、ｍ−１番目のコードワード位置については、３つのデータブロック全ての値が異なっており、多数決をとることができなくなっている。このように多数決をとることができない対応位置が発生した場合には、当該対応位置を誤り発生位置として消失訂正を行う。なお、本実施形態では、各第１データ領域のいずれか或いはそれぞれに、ＩＤデータ（第１データ）に対応する誤り訂正符号が設けられており、この誤り訂正符号を用い、多数決をとることができないコードワード位置（図１１では、ｍ−１番目）のみを誤り訂正位置として消失訂正を行うことなる。
【００９０】
なお、Ｓ２０５において、全ての不一致コードワード位置が多数決によって復元された場合、或いは、多数決と消失訂正によって全ての不一致コードワード位置が復元された場合には、その復元データ（各不一致コードワード位置が復元されてなるＩＤ推定データ）をバッファに格納する。この場合、図７のＳ２４においては、その復元データがサーバ６０に送信されることになる。
なお、この例では、ＣＰＵ５１が、「不一致位置検出手段」「コードワード値多数決手段」「消失訂正手段」の一例に相当する。
【００９１】
上記別例によれば、誤りの原因となっているコードワード位置を正確に特定できるようになる。更に、上記別例では、「消失訂正手段」が設けられ、コードワードが一致していない対応位置（不一致コードワード位置）が検出された場合に、当該対応位置を誤り発生位置として第１データ領域に対し消失訂正を行っている。このように、誤りが生じているコードワード位置を特定した上で消失訂正を行うようにすれば、誤り訂正能力が高められ、ＩＤを復元できる可能性がより高くなる。
【００９２】
また、「コードワード値多数決手段」が設けられ、３つのＩＤ読取データにおいてコードワードが一致していない対応位置が検出された場合に、当該対応位置（不一致コードワード位置）において用いるべきコードワード値を、それら３つのＩＤ読取データにおいて当該対応位置に用いられている各値の多数決をとることによって決定している。そして、コードワードが一致していない対応位置（不一致コードワード位置）のうち、多数決をとることができない位置（多数決不能位置）を誤り発生位置として消失訂正を行っている。このようにすると、多数決による推定により誤り発生位置を減らした上で消失訂正を行うことができるため、誤り訂正能力を一層高めることができ、ＩＤの復元可能性がより一層高まる。
【００９３】
［第３実施形態］
次に第３実施形態について説明する。図１２は、第３実施形態に係る二次元コード読み取りシステムで読み取られる二次元コードを説明する説明図である。図１３は、図１２の二次元コードに記録されるデータの一例を示す説明図である。図１４は、第３実施形態における読取端末での読取処理を例示するフローチャートである。図１５（ａ）は、読取端末からコンピュータに送信される送信データの一例を概念的に示す説明図であり、図１５（ｂ）は、コンピュータからサーバに送信するデータの一例を概念的に示す説明図である。図１６は、第３実施形態におけるコンピュータでの解析処理を例示するフローチャートである。
【００９４】
第３実施形態に係る読取システムは、読取端末１０、コンピュータ５０、サーバ６０については、第１実施形態と同様のハードウェア構成となっている。従って、これらについては、適宜図１、図２を参照することとし、詳細な説明は省略する。
【００９５】
また、第３実施形態では、第２実施形態と同様の二次元コードを読取対象としており、本実施形態では第２データ領域をより具体化している。よって、第２実施形態で用いる二次元コード２７０と同一の部分については図８と同一の符号を付し、詳細な説明を省略する。
【００９６】
本実施形態で用いられる二次元コード３７０は、第２データ領域に記録される第２データが、複数のデータブロック（データブロックＡ、Ｂ、Ｃ）を含んでいる。なお、データブロックＡが記録される領域については、一点鎖線３７６ａにて概念的に例示し、データブロックＢが記録される領域については一点鎖線３７６ｂにて概念的に例示している。また、データブロックＣが記録される領域については一点鎖線３７６ｃにて概念的に例示している。本実施形態では、これら領域３７６ａ、３７６ｂ、３７６ｃ全体が第２データ領域に相当している。
【００９７】
二次元コード３７０には、図１３のようなデータが記録されている。この内、ＩＤの記録方法は第２実施形態と同様であり、各第１データ領域２７５ａ、２７５ｂ、２７５ｃにそれぞれ同一のＩＤデータ（図１３の例では「１２３４５６７８」というデータ）が記録されている。
【００９８】
また、第２データとして、３種類のデータ（工程Ａで扱うデータ、工程Ｂで扱うデータ、工程Ｃで扱うデータ）が記録されている。工程Ａで扱うデータ（第１種類のデータ）としては、「機械強度＝252kg/mm,1232kg/mm,345N」というデータが例示されており、このデータブロックには「Ａ」という固有情報が付されている。また、工程Ｂで扱うデータ（第２種類のデータ）としては、「電気的入力特性=75Ω,100pF,180mA」というデータが例示されており、このデータブロックには「Ｂ」という固有情報が付されている。更に、工程Ｃで扱うデータ（第３種類のデータ）としては、「試験 =高温試験,60℃,RH80%,48h」というデータが例示されており、このデータブロックには「Ｃ」という固有情報が付されている。本実施形態に係る二次元コード読み取りシステムでは、このように構成される二次元コード３７０を読み取りうる構成をなしており、更に、第２データ領域のいずれかのデータブロックが読取不良である場合に当該データブロックを選択的にバックアップできるようになっている。以下、その内容を具体的に説明する。
【００９９】
まず、図１４を参照し、読取端末１０で行われる読取処理を説明する。
この読取処理では、始めに、始めに図５のＳ１、Ｓ２と同様の処理（Ｓ３０１、Ｓ３０２）を行い、特定パターン７１（切出しシンボル）、コード外形、各セルの中心座標などを検出する。
【０１００】
その後、データブロック数（Ｎ）を取得する（Ｓ３０３）。このデータブロック数（Ｎ）は、例えば、二次元コード内の所定領域に形式情報として設けられており、この領域を読み取ることで、二次元コード３７０にいくつのデータブロックが存在するかを把握する。そして、ｎの値を初期化し（Ｓ３０４）、ｎ番目（初回であれば１番目）のデータブロックが読み取り可能か否かを確認する（Ｓ３０５）。ｎ番目のデータブロックが読取可能であれば、Ｓ３０５にてＹｅｓに進み、ｎ番目のデータブロックの読取データをバッファに格納する（Ｓ３０６）。一方、ｎ番目のデータブロックが読取不能である場合には、Ｓ３０５にてＮｏに進む。この場合、ｎ番目のデータブロックのデータがバッファに格納されないことになる。
【０１０１】
その後、ｎがデータブロック数（Ｎ）に達しているか否かを判断する（Ｓ３０７）。ｎがデータブロック数（Ｎ）に達していない場合には、ｎをインクリメントし（Ｓ３０８）、そのインクリメント後のｎ番目のデータブロックについてＳ３０５以降の処理を繰り返す。Ｓ３０７にてｎがデータブロック数（Ｎ）に達したと判断される場合には、Ｓ３０７にてＹｅｓに進み、二次元コード３７０内のＮ個のデータブロックの読み取りが全て失敗したか否かを判断する（Ｓ３０９）。全て失敗した場合にはＳ３０９にてＹｅｓに進み、当該読取処理を終了する。一方、いずれかのデータブロックの読み取りが成功した場合（バッファにいずれかのデータブロックのデータが格納されている場合）には、Ｓ３０９にてＮｏに進み、読み取ることができた全てのデータブロックのデータをコンピュータ５０に送信する（Ｓ３１０）。
【０１０２】
このように、本実施形態では、第２データ領域におけるいずれかのデータブロックの読み取りが失敗し、他のデータブロックの読み取りが成功した場合、その読み取りが成功したデータブロックのデータを出力している。また、図１５（ａ）に示すように、読み取りが成功したデータブロックが複数存在する場合には、それら複数のデータブロックのデータを出力する際に、データブロック間に識別子（図１５（ａ）では、「０ｘ１Ｄ」という特定データからなるセパレータ）を付して出力している。
【０１０３】
次に、図１６を参照してコンピュータ５０での解析処理について説明する。
図１６に示すように、当該解析処理では、まず読取端末１０からデータが送信されてきたか否かを判断する（Ｓ３２０）。この判断処理では、読取端末１０から図１５（ａ）に示す送信データが送られるまではＮｏに進んで待機状態を維持する。一方、読取端末１０からの送信データを受信したときにはＳ３２０にてＹｅｓに進み、Ｓ３２１の評価処理を行う。
【０１０４】
Ｓ３２１の処理では、読取端末１０からの送信データ（図１５（ａ））において各データブロックのデータにそれぞれ含まれる識別子（グループ識別子）を切出し、その識別子の内容を確認する。本実施形態で用いられる二次元コード３７０では、図１３に示すように各データブロックに識別子が付されており、ＩＤデータが記録される第１データ領域２７５ａ、２７５ｂ、２７５ｃの各データブロック（データブロック１〜３）には、それぞれ「ＩＤ」という識別子（グループ識別子）が付されている。また、領域２７６ａ、２７６ｂ、２７６ｃの各データブロック（データブロック４〜６）には、それぞれの固有情報として「Ａ」「Ｂ」「Ｃ］という識別子（グループ識別子）が付されている。Ｓ３２１では、これら識別子を切り出して確認し、どのデータブロックのデータが取得できなかったかを把握している。
【０１０５】
Ｓ３２１において全てのデータブロックの識別子が確認された場合には、Ｓ３２２にてＹｅｓに進み、現在起動しているアプリケーション（例えばコンピュータ５０で起動しているアプリケーション）に応じたデータ処理（データ出力処理等）を行う（Ｓ３２７）。一方、いずれかのデータブロックの識別子が確認されていない場合には、Ｓ３２２にてＮｏに進み、現在起動しているアプリケーションで必要とされるデータブロックが全て読み取られているか否かを確認する（Ｓ３２３）。現在起動しているアプリケーションで必要とされるデータブロックの識別子が全て確認されている場合には、Ｓ３２３にてＹｅｓに進み、この場合にも、現在起動しているアプリケーションに応じたデータ処理（データ出力処理等）を行う。
【０１０６】
Ｓ３２３にてＮｏに進む場合には、ＩＤを記録したデータブロック（データブロック１〜３）のいずれかが読み取られたか否かを確認する。Ｓ３２１において「ＩＤ」という識別子（グループ識別子）が１つも確認できなかった場合には、Ｓ３２４にてＮｏに進み、読取端末１０に対して再読み取りを指示する（Ｓ３２８）。
【０１０７】
Ｓ３２１において「ＩＤ］という識別子（グループ識別子）が１つでも確認できた場合には、その識別子に対応付けられたＩＤデータと、第２データ領域における読み取りができなかったデータコードブロックの識別子とを、サーバ６０に送信する（Ｓ３２５）。なお、Ｓ３２５の処理で送信されるデータは、例えば図１５（ｂ）のような構成となっており、この例では、読み取りができなかったデータブロックの識別子（グループ識別子）と、データ（ＩＤデータ）とが含まれ、これらの間に特定データからなるセパレータが介在している。
【０１０８】
本実施形態では、サーバ６０のデータベースにおいて、各ＩＤ毎にデータ（第２データ）が記録されており、さらに、各ＩＤ毎のデータにおいて、各データブロック毎に読み出し可能な状態で記憶されている。例えば、サーバ６０のデータベース内に、「１２３４５６７８」というＩＤと対応付けて、図１３に示すような、工程Ａで扱うデータ「機械強度＝252kg/mm,1232kg/mm,345N」、工程Ｂで扱うデータ「電気的入力特性=75Ω,100pF,180mA」、工程Ｃで扱うデータ「試験 =高温試験,60℃,RH80%,48h」が記録されており、各データにそれぞれ「Ａ」「Ｂ」「Ｃ」というインデックスが付されている。従って、例えばＳ３２１において、「Ａ」「Ｃ」という識別子のみが確認され「Ｂ」という識別子が確認されなかった場合には、「１２３４５６７８」というＩＤと、確認できなかった識別子「Ｂ」とをサーバ６０に与えることで、「１２３４５６７８」で特定される二次元コード３７０における識別子「Ｂ」に係るデータを選択的にサーバ６０から読み出すことができる。
【０１０９】
なお、本実施形態では、Ｓ３２５にて生成される、「読取不良となったデータブロックの識別子のデータ」が、読み取りが失敗したデータブロックを特定する「特定情報」の一例に相当する。また、ＣＰＵ５１が「特定情報生成手段」の一例に相当し、第２データ領域の読み取りが失敗したと判断される場合に、当該第２データ領域における読み取りが成功したデータブロックの固有情報に基づき、読み取りが失敗したデータブロックを特定する「特定情報」を生成するように機能している。
【０１１０】
なお、二次元コード３７０の第２データ領域にいくつのデータブロックが存在するか、及び各データブロックの識別子（グループ識別子）が何であるかは、予めコンピュータ５０において情報として備えさせておいてもよく、二次元コード３７０の所定領域において形式情報として記録しておいてもよい。
【０１１１】
また、図１６の例では、現在起動しているアプリケーションで必要となるいずれかのデータブロックが読み取れなかった場合にＳ３２５の送信処理を行っているが、Ｓ３２３の処理を省略し、第２データ領域のいずれかのデータブロックが読み取り不良である場合にＳ３２５の処理を行うようにしてもよい。
【０１１２】
本実施形態の構成によれば、読み取りが成功したデータブロックをダウンロードせず、失敗したデータブロックのみを選択的にダウンロードすることができるため、ダウンロード時間を大幅に削減できる。
【０１１３】
また、本実施形態では、第２データ領域のいずれかのデータブロックの読み取りが失敗し、他のデータブロックの読み取りが成功した場合に、その読み取りが成功した他のデータブロックのデータを読取端末１０（光学的情報読取手段）から出力している。このようにすると、当該出力データを受ける側（即ちコンピュータ５０）において、読み取りが成功したデータブロックの種類や内容を確実に把握でき、読み取りが失敗したデータブロックを迅速且つ正確に特定しでダウンロードできるようになる。
【０１１４】
また、読み取りが成功したデータブロックが複数存在する場合、それら複数のデータブロックのデータを読取端末１０から出力する際に、データブロック間に識別子を付して出力している。このようにすると、当該出力データを受ける側（即ちコンピュータ５０）において、読み取りが成功した複数のデータブロックの各種類や各内容をそれぞれ確実に把握でき、データブロックが多数存在するようなコード構成であっても、読み取りが失敗したデータブロックを迅速且つ正確に特定してダウンロードできるようになる。
【０１１５】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【０１１６】
上記実施形態では、明色セルと暗色セルによって構成される二次元コードを例示したが、３種類以上の色のセルによって構成される二次元コード（いわゆるカラーコード）であってもよい。
【０１１７】
上記実施形態では、読取端末１０の外部（コンピュータ５０）に通信手段を設けたが、読取端末１０の内部に通信手段を設け、読取端末１０をサーバ６０と通信できるようにしてもよい。この場合、制御回路４０を「通信手段、判断手段、ビット位置検出手段、ビット値多数決手段、不一致位置検出手段、消失訂正手段、特定情報生成手段」として機能させることができ、読取端末１０がサーバ６０からバックアップデータを直接ダウンロードできるようになる。
【０１１８】
第２、第３実施形態では、第１データ領域が３つ設けられた例を示したが、第１データ領域が３以上であってもよい。また、第３実施形態では、第１データ領域が１つ又は２つであってもよく、１つの場合には、第１実施形態の二次元コード７０（図３）と同様の配置で第１データ領域を構成してもよい。
【０１１９】
上記実施形態では、図３、図８のような二次元コードを読取対象として例示したが、読取対象となる二次元コードの構成、種類はこれに限定されない。例えば、図１８のようなＱＲコードに３以上の第１データ領域と第２データ領域とを設け、これを第２、第３実施形態に係るシステムの読取対象としてもよい。或いは、図１８のようなＱＲコードにおいて、３つのファインダパターン側に第１データ領域を設け、ファインダパターンが設けられない角部側に第２データ領域を設けたものを第１実施形態に係るシステムの読取対象としてもよい。
【符号の説明】
【０１２０】
１…二次元コード読み取りシステム
２…読取システム
１０…読取端末
４０…制御回路（生成手段、出力手段）
４８…通信インタフェース（出力手段）
５０…コンピュータ
５１…ＣＰＵ（通信手段、判断手段、ビット位置検出手段、ビット値多数決手段、不一致位置検出手段、消失訂正手段、特定情報生成手段）
５２…記憶部
５３…通信部（通信手段）
６０…サーバ（情報処理装置）
７０，２７０，３７０…二次元コード
７１…特定パターン
７５，２７５ａ，２７５ｂ，２７５ｃ…第１データ領域
７６，２７６，３７６ａ，３７６ｂ，３７６ｃ…第２データ領域
Ｃ…セル
【図１】
2010257225.tif 000003
【図２】
2010257225.tif 000004
【図３】
2010257225.tif 000005
【図４】
2010257225.tif 000006
【図５】
2010257225.tif 000007
【図６】
2010257225.tif 000008
【図７】
2010257225.tif 000009
【図８】
2010257225.tif 000010
【図９】
2010257225.tif 000011
【図１０】
2010257225.tif 000012
【図１１】
2010257225.tif 000013
【図１２】
2010257225.tif 000014
【図１３】
2010257225.tif 000015
【図１４】
2010257225.tif 000016
【図１５】
2010257225.tif 000017
【図１６】
2010257225.tif 000018
【図１７】
2010257225.tif 000019
【図１８】
2010257225.tif 000020