(57)【特許請求の範囲】
【請求項１】
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
を含むことを特徴とする秘匿対象情報の隠蔽方法。
【請求項２】
請求項１に記載の秘匿対象情報の隠蔽方法であって、
前記保護符号化用データの適用は、前記第２二次元コードのデータコード語及び訂正コード語と前記保護符号化用データとの排他的論理和が演算されることにより行われることを特徴とする秘匿対象情報の隠蔽方法。
【請求項３】
請求項１または請求項２に記載の秘匿対象情報の隠蔽方法であって、
前記第１二次元コードは、第１公開情報を含み、
前記第１公開情報を含む第１公開データコード語と、前記第１公開データコード語の誤りを訂正しうる第１訂正コード語と、を含むデータブロックの一部を前記第１非公開情報を含む第１非公開データコード語で置換した第１置換後データブロックに基づいて前記第１二次元コードが生成されることを特徴とする秘匿対象情報の隠蔽方法。
【請求項４】
請求項３に記載の秘匿対象情報の隠蔽方法であって、
前記第１非公開データコード語の語数は、前記第１訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の隠蔽方法。
【請求項５】
請求項３または請求項４に記載の秘匿対象情報の隠蔽方法であって、
前記第１公開データコード語は、第１パリティ情報を含み、
前記第２二次元コードは、第２公開情報を含み、
前記第１パリティ情報は、前記第１公開情報と前記第２公開情報とを所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の隠蔽方法。
【請求項６】
請求項５に記載の秘匿対象情報の隠蔽方法であって、
前記第２二次元コードは、前記第２公開情報を含む第２公開データコード語と、前記第２公開データコード語の誤りを訂正しうる第２訂正コード語と、を含むデータブロックの一部を前記第２非公開情報を含む第２非公開データコード語で置換した第２置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の隠蔽方法。
【請求項７】
請求項６に記載の秘匿対象情報の隠蔽方法であって、
前記第２非公開データコード語の語数は前記第２訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の隠蔽方法。
【請求項８】
請求項６または請求項７に記載の秘匿対象情報の隠蔽方法であって、
前記第２公開データコード語は、第２パリティ情報を含み、
前記第２パリティ情報は、前記第１公開情報と前記第２公開情報とを前記所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の隠蔽方法。
【請求項９】
請求項１乃至請求項８のいずれか一項に記載の秘匿対象情報の隠蔽方法であって、
さらに、第１インクを用いて前記第１二次元コードを印刷するとともに、前記第１インクとは異なる光学的特性を有する第２インクを用いて前記保護符号化後第２二次元コードを印刷することを含み、
前記第１二次元コードと前記保護符号化後第２二次元コードは互いに重なるように印刷されることを特徴とする秘匿対象情報の隠蔽方法。
【請求項１０】
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報とを含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成し、前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置。
【請求項１１】
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
保護符号化用データ情報を含む第１非公開情報を少なくとも有する第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
を含むことを特徴とする秘匿対象情報の抽出方法。
【請求項１３】
請求項１２に記載の秘匿対象情報の抽出方法であって、
前記保護符号化コード語の保護復号化は、前記保護符号化後第２二次元コードの前記保護符号化コード語と前記保護符号化用データとの排他的論理和が演算されることにより行われることを特徴とする秘匿対象情報の抽出方法。
【請求項１４】
請求項１２または請求項１３に記載の秘匿対象情報の抽出方法であって、
前記第１二次元コードは、第１パリティ情報を含み、
前記第２二次元コードは、第２パリティ情報を含み、
前記第１パリティ情報と前記第２パリティ情報とが一致することを条件として、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる秘匿対象情報が抽出されることを特徴とする秘匿対象情報の抽出方法。
【請求項１５】
請求項１４に記載の秘匿対象情報の抽出方法であって、
前記第１二次元コードは、第１公開情報を含み、
前記第２二次元コードは、第２公開情報を含み、
前記第１パリティ情報と前記第２パリティ情報は、ともに、前記第１公開情報と前記第２公開情報とを所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の抽出方法。
【請求項１６】
請求項１５に記載の秘匿対象情報の抽出方法であって、
前記第１二次元コードは、前記第１公開情報を含む第１公開データコード語と、前記第１公開データコード語の誤りを検出し訂正しうる第１訂正コード語と、を含むデータブロックの一部を前記第１非公開情報を含む第１非公開データコード語で置換した第１置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の抽出方法。
【請求項１７】
請求項１６に記載の秘匿対象情報の抽出方法であって、
前記第１二次元コードに含まれる第１非公開情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された保護符号化用データを特定することは、前記第１置換後データブロックにおける所定の位置から前記第１非公開データコード語を抽出し、当該第１非公開データコード語に含まれる保護符号化用データ情報に基づいて前記保護符号化用データを特定することを含むことを特徴とする秘匿対象情報の抽出方法。
【請求項１８】
請求項１６または請求項１７に記載の秘匿対象情報の抽出方法であって、
前記第１非公開データコード語の語数は、前記第１訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の抽出方法。
【請求項１９】
請求項１５乃至請求項１８のいずれか一項に記載の秘匿対象情報の抽出方法であって、
前記第２二次元コードは、前記第２公開情報を含む第２公開データコード語と、前記第２公開データコード語の誤りを検出し訂正しうる第２訂正コード語と、を含むデータブロックの一部を前記第２非公開情報を含む第２非公開データコード語で置換した第２置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の抽出方法。
【請求項２０】
請求項１９に記載の秘匿対象情報の抽出方法であって、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる秘匿対象情報を抽出することは、前記第２置換後データブロックにおける所定の位置から前記第２非公開データコード語を抽出し、当該第２非公開データコード語に含まれる秘匿対象情報を抽出することを含むことを特徴とする秘匿対象情報の抽出方法。
【請求項２１】
請求項１９または請求項２０に記載の秘匿対象情報の抽出方法であって、
前記第２非公開データコード語の語数は、前記第２訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の抽出方法。
【請求項２２】
請求項１２乃至請求項２０のいずれか一項に記載の秘匿対象情報の抽出方法であって、
前記第１二次元コードと前記保護符号化後第２二次元コードは互いに重なるように印刷され、前記第１二次元コードは第１インクを用いて印刷されるとともに、前記保護符号化後第２二次元コードは前記第１インクとは異なる光学的特性を有する第２インクを用いて印刷されているときにおいて、
前記第１二次元コードは前記第１インクで印刷された印刷物を読み取るための第１の光源を用いて読み取られ、前記保護符号化後第２二次元コードは前記第２インクで印刷された印刷物を読み取るための第２の光源を用いて読み取られることを特徴とする秘匿対象情報の抽出方法。
【請求項２３】
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取り、前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置。
【請求項２４】
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置
【背景技術】
【０００２】
図形コードを読み取り、そこに含まれる情報を取り出す二次元コードの技術として、たとえば、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−ＱＲコード−」がある。そして、さらにこのような二次元コードに開示対象情報以外の秘匿対象情報を隠蔽する技術が開発されている。そして、このように見た目は標準的な二次元コードに秘匿対象情報を隠蔽することで、暗号鍵情報や個人情報などの取り扱いを必要とする産業応用への途が開かれてきた。
【０００３】
特許文献１には、二次元コードを介して情報を送受信することが開示されている。また、特許文献２には、送り主や受取主の個人情報を保護しうる配送管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１４７００６号公報
【特許文献２】特開２００９−３１９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
秘匿対象情報を隠蔽する手法として情報コード語そのものを暗号化することも考えられる。しかしながら、情報コード語を暗号化したのでは、少なくとも二次元コードを読み取ることまでは可能である。そうすると、複数の二次元コードが読み取られた後、暗号化された情報コード語が取得され、暗号解析が行われることも考え得る。そして、最終的に情報コード語の内容が第三者に抽出され、秘匿対象情報が読み出されてしまうおそれもある。よって、二次元コードを用いて秘匿対象情報をより適切に保護することが望まれる。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、二次元コードを用いて秘匿対象情報を適切に保護することを目的とする。
【課題を解決するための手段】
【０００７】
このような目的を達成するために本発明に係る秘匿対象情報の隠蔽方法は、
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
を含むことを特徴とする秘匿対象情報の隠蔽方法である。
【０００８】
また、このような目的を達成するために本発明に係る秘匿対象情報隠蔽装置は、
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報とを含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成し、前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置である。
【０００９】
また、このような目的を達成するために本発明に係るプログラムは、
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
をコンピュータに実行させることを特徴とするプログラムである。
【００１０】
また、このような目的を達成するために本発明に係る秘匿対象情報の抽出方法は、
保護符号化用データ情報を含む第１非公開情報を少なくとも有する第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
を含むことを特徴とする秘匿対象情報の抽出方法である。
【００１１】
また、このような目的を達成するために本発明に係る秘匿対象情報抽出装置は、
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取り、前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置である。
【００１２】
また、このような目的を達成するために本発明に係るプログラムは、
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
をコンピュータに実行させることを特徴とするプログラムである。
【発明の効果】
【００１３】
本発明によれば、秘匿対象情報が非公開情報である第２非公開情報に含まれるとともに、第２非公開情報を含む第２二次元コードのデータコード語及び訂正コード語が保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第１非公開情報として第１二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【図面の簡単な説明】
【００１４】
【図１】ＱＲコードシンボル１の説明図である。
【図２】拡張エンコーダ１０のブロック図である。
【図３】秘匿対象情報の隠蔽処理の概念図である。
【図４】秘匿対象情報の隠蔽処理のフローチャートである。
【図５】ＲＳブロックの概要図である。
【図６】保護符号化用データ適用の説明図である。
【図７】標準マスクパターン適用の説明図である。
【図８】構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの重ねあわせの説明図である。
【図９】保護符号化構造的連接拡張ＱＲコードが複数の場合の相互関係の説明図である。
【図１０】拡張デコーダ２０のブロック図である。
【図１１】秘匿対象情報抽出のための読み出し処理の概念図である。
【図１２】秘匿対象情報抽出のための読み出し処理のフローチャートである。
【図１３】標準マスクパターン解除の説明図である。
【図１４】保護復号化の説明図である。
【図１５】図１５Ａは、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの関係を説明する図であり、図１５Ｂは、保護符号化構造的連接拡張ＱＲコードが複数の場合のそれぞれの関係を説明する図である。
【図１６】ＲＳブロックの説明図である。
【図１７】非公開情報語の説明図である。
【図１８】ＲＳブロックの一部を置換したときの第１の説明図である。
【図１９】非公開情報語抽出のための読み出し方法の説明図である。
【図２０】情報本体の読み出し方法の説明図である。
【図２１】ＲＳブロックの一部を置換したときの第２の説明図である。
【図２２】ＲＳブロックの一部を置換したときの第３の説明図である。
【図２３】第２実施形態におけるＲＳブロックの概念図である。
【図２４】第２実施形態におけるヘッダおよび非公開情報語の説明図である。
【図２５】第２実施形態による手法でＲＳブロックの一部を置換したときの第１の説明図である。
【図２６】第２実施形態による手法でＲＳブロックの一部を置換したときの第２の説明図である。
【図２７】第２実施形態による手法でＲＳブロックの一部を置換したときの第３の説明図である。
【図２８】第３実施形態による手法でＲＳブロックの一部を置換したときの説明図である。
【図２９】第４実施形態による手法でＲＳブロックの一部を置換したときの説明図である。
【図３０】第５実施形態による手法でＲＳブロックの一部を置換したときの説明図である。
【図３１】第６実施形態による手法でＲＳブロックの一部を置換したときの第１の説明図である。
【図３２】第６実施形態による手法でＲＳブロックの一部を置換したときの第２の説明図である。
【図３３】第６実施形態による手法でＲＳブロックの一部を置換したときの第３の説明図である。
【図３４】一部欠落したＲＳブロックの説明図である。
【図３５】先端欠落ＲＳブロックの補完の説明図である。
【図３６】後端欠落ＲＳブロックの補完の説明図である。
【図３７】両端欠落ＲＳブロックの補完の説明図である。
【図３８】第７実施形態におけるＲＳブロックの概要図である。
【発明を実施するための形態】
【００１５】
本明細書および添付図面の記載により、少なくとも、以下の事項が明らかとなる。
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
を含むことを特徴とする秘匿対象情報の隠蔽方法である。
このようにすることで、秘匿対象情報が非公開情報である第２非公開情報に含まれるとともに、第２非公開情報を含む第２二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第１非公開情報として第１二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００１６】
かかる秘匿対象情報の秘匿方法であって、前記保護符号化用データの適用は、前記第２二次元コードの少なくとも一部と前記保護符号化用データとの排他的論理和が演算されることにより行われることが望ましい。
このようにすることで、第２二次元コードの少なくとも一部を保護符号化用データで保護符号化することができる。
【００１７】
また、前記第１二次元コードは、第１公開情報を含み、前記第１公開情報を含む第１公開データコード語と、前記第１公開データコード語の誤りを訂正しうる第１訂正コード語と、を含むデータブロックの一部を前記第１非公開情報を含む第１非公開データコード語で置換した第１置換後データブロックに基づいて前記第１二次元コードが生成されることが望ましい。
このようにした場合であっても、第１公開データコード語と第１訂正コード語が第１非公開データコード語で置換されているものの、第１公開データコード語については、第１訂正コード語を用いて訂正して復元することができる。そして、適切に第１公開データコード語を読み出すことができる。また、第１非公開データコード語については、第１二次元コードを直接読み込んで得られる誤り訂正処理前の第１置換後データブロックから第１非公開データコード語を抽出することができる。
【００１８】
また、前記第１非公開データコード語の語数は、前記第１訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第１訂正コード語を用いて訂正を行って第１公開データコード語を適切に読み出すことができる。
【００１９】
また、前記第１公開データコード語は、第１パリティ情報を含み、前記第２二次元コードは、第２公開情報を含み、前記第１パリティ情報は、前記第１公開情報と前記第２公開情報とを所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第１二次元コードに含まれる第１公開情報と第２二次元コードに含まれる第２公開情報とを所定の方法で連結した情報のパリティ情報を第１パリティ情報としているので、第１二次元コードと第２二次元コードとの関連性を判定するために第１パリティ情報を利用することができる。
【００２０】
また、前記第２二次元コードは、前記第２公開情報を含む第２公開データコード語と、前記第２公開データコード語の誤りを訂正しうる第２訂正コード語と、を含むデータブロックの一部を前記第２非公開情報を含む第２非公開データコード語で置換した第２置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第２公開データコード語と第２訂正コード語が第２非公開データコード語で置換されているものの、第２公開データコード語については、第２訂正コード語を用いて訂正して復元することができる。そして、適切に第２公開データコード語を読み出すことができる。また、第２非公開データコード語については、第２二次元コードを直接読み取って得られる誤り訂正処理前の第２置換後データブロックから第２非公開データコード語を抽出することができる。
【００２１】
また、前記第２非公開データコード語の語数は前記第２訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第２訂正コード語を用いて訂正を行って第２公開データコード語を適切に読み出すことができる。
【００２２】
また、前記第２公開データコード語は、第２パリティ情報を含み、
前記第２パリティ情報は、前記第１公開情報と前記第２公開情報とを前記所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第１二次元コードに含まれる第１公開情報と第２二次元コードに含まれる第２公開情報とを所定の方法で連結した情報のパリティ情報を第２パリティ情報としているので、第１二次元コードと第２二次元コードとの関連性を判定するために第２パリティ情報を利用することができる。
【００２３】
また、さらに、第１インクを用いて前記第１二次元コードを印刷するとともに、前記第１インクとは異なる光学的特性を有する第２インクを用いて前記保護符号化後第２二次元コードを印刷することを含み、前記第１二次元コードと前記保護符号化後第２二次元コードは互いに重なるように印刷されることが望ましい。
このようにすることで、例えば、第１インクとして無色の赤外線吸収インクを用い、第２インクとしてカーボンを含まない有色のインクを用いることができる。そして、第１二次元コードから保護符号化用データを特定することを困難なものとし、保護符号化後第２二次元コードから秘匿対象情報をより抽出しにくくすることができる。
【００２４】
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報とを含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成し、前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置である。
このようにすることで、秘匿対象情報が非公開情報である第２非公開情報に含まれるとともに、第２非公開情報を含む第２二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第１非公開情報として第１二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００２５】
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
少なくとも第１非公開情報を含む第１二次元コードと、少なくとも第２非公開情報を含む第２二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
前記第２二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第１非公開情報に含めた前記第１二次元コードを生成することと、
前記秘匿対象情報を前記第２非公開情報に含めた前記第２二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第２二次元コードを生成することと、
をコンピュータに実行させることを特徴とするプログラムである。
このようにすることで、秘匿対象情報が非公開情報である第２非公開情報に含まれるとともに、第２非公開情報を含む第２二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第１非公開情報として第１二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００２６】
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第１非公開情報を少なくとも有する第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードに適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
を含むことを特徴とする秘匿対象情報の抽出方法である。
このようにすることで、秘匿対象情報を抽出するために、第１二次元コードにおける第１非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第２二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第２二次元コードから第２非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００２７】
また、前記保護符号化コード語の保護復号化は、前記保護符号化後第２二次元コードの少なくとも一部と前記保護符号化用データとの排他的論理和が演算されることにより行われることが望ましい。
このようにすることで、第２二次元コードの少なくとも一部を保護符号化用データで保護符号化コード語の保護復号化をすることができる。
【００２８】
また、前記第１二次元コードは、第１パリティ情報を含み、前記第２二次元コードは、第２パリティ情報を含み、前記第１パリティ情報と前記第２パリティ情報とが一致することを条件として、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる秘匿対象情報が抽出されることが望ましい。
このようにすることで、第１二次元コードに含まれる第１パリティ情報と第２二次元コードに含まれる第２パリティ情報が一致するか否かに基づいて両者の関連性を判定することができ、これらのパリティ情報が一致し、両者に関連性を有することを確認した後に秘匿対象情報を抽出することができる。
【００２９】
また、前記第１二次元コードは、第１公開情報を含み、前記第２二次元コードは、第２公開情報を含み、前記第１パリティ情報と前記第２パリティ情報は、ともに、前記第１公開情報と前記第２公開情報とを所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第１パリティ情報と第２パリティ情報を、第１公開情報と第２公開情報とを所定の方法で連結した共通の情報に基づいて生成された共通のパリティ情報とすることができる。
【００３０】
また、前記第１二次元コードは、前記第１公開情報を含む第１公開データコード語と、前記第１公開データコード語の誤りを検出し訂正しうる第１訂正コード語と、を含むデータブロックの一部を前記第１非公開情報を含む第１非公開データコード語で置換した第１置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第１公開データコード語と第１訂正コード語が第１非公開データコード語で置換されているものの、第１公開データコード語については、第１訂正コード語を用いて訂正して復元することができる。そして、適切に第１公開データコード語を読み出すことができる。また、第１非公開データコード語については、第１二次元コードを直接読み込んで得られる誤り訂正処理前の第１置換後データブロックから第１非公開データコード語を抽出することができる。
【００３１】
また、前記第１二次元コードに含まれる第１非公開情報に基づいて前記第２二次元コードに適用された保護符号化用データを特定することは、前記第１置換後データブロックにおける所定の位置から前記第１非公開データコード語を抽出し、当該第１非公開データコード語に含まれる保護符号化用データ情報に基づいて前記保護符号化用データを特定することを含むことが望ましい。
このようにすることで、第１二次元コードに含まれる第１非公開情報に基づいて第２二次元コードに適用された保護符号化用データを適切に特定することができる。
【００３２】
また、前記第１非公開データコード語の語数は、前記第１訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第１訂正コード語を用いて訂正を行って第１公開データコード語を適切に読み出すことができる。
【００３３】
また、前記第２二次元コードは、前記第２公開情報を含む第２公開データコード語と、前記第２公開データコード語の誤りを検出し訂正しうる第２訂正コード語と、を含むデータブロックの一部を前記第２非公開情報を含む第２非公開データコード語で置換した第２置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第２公開データコード語と第２訂正コード語が第２非公開データコード語で置換されているものの、第２公開データコード語については、第２訂正コード語を用いて訂正して復元することができる。そして、適切に第２公開データコード語を読み出すことができる。また、第２非公開データコード語については、第２二次元コードを直接読み込んで得られる誤り訂正処理前の第２置換後データブロックから第２非公開データコード語を抽出することができる。
【００３４】
また、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる秘匿対象情報を抽出することは、前記第２置換後データブロックにおける所定の位置から前記第２非公開データコード語を抽出し、当該第２非公開データコード語に含まれる秘匿対象情報を抽出することを含むことが望ましい。
このようにすることで、保護符号化コード語が保護復号化された第２二次元コードから第２非公開情報に含まれる秘匿対象情報を適切に抽出することができる。
【００３５】
また、前記第２非公開データコード語の語数は、前記第２訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第２訂正コード語を用いて訂正を行って第２公開データコード語を適切に読み出すことができる。
【００３６】
また、前記第１二次元コードと前記保護符号化後第２二次元コードは互いに重なるように印刷され、前記第１二次元コードは第１インクを用いて印刷されるとともに、前記保護符号化後第２二次元コードは前記第１インクとは異なる光学的特性を有する第２インクを用いて印刷されているときにおいて、前記第１二次元コードは前記第１インクで印刷された印刷物を読み取るための第１の光源を用いて読み取られ、前記保護符号化後第２二次元コードは前記第２インクで印刷された印刷物を読み取るための第２の光源を用いて読み取られることが望ましい。
このようにすることで、例えば、第１インクとして無色の赤外線吸収インクを用い、第２インクとしてカーボンを含まない有色のインクを用いた場合であっても、第１二次元コードと保護符号化後第２二次元コードをそれぞれ適切に読み取ることができる。そして、保護符号化後第２二次元コードから秘匿対象情報を抽出することができる。
【００３７】
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取り、前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードに適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置である。
このようにすることで、秘匿対象情報を抽出するために、第１二次元コードにおける第１非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第２二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第２二次元コードから第２非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００３８】
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第１非公開情報を少なくとも含む第１二次元コードと、秘匿対象情報を含む第２非公開情報を少なくとも有する第２二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第２二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
前記第１二次元コードと、前記保護符号化後第２二次元コードと、を読み取ることと、
前記第１二次元コードに含まれる第１非公開情報の保護符号化用データ情報に基づいて前記第２二次元コードに適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第２二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第２二次元コードから前記第２非公開情報に含まれる前記秘匿対象情報を抽出することと、
をコンピュータに実行させることを特徴とするプログラムである。
このようにすることで、秘匿対象情報を抽出するために、第１二次元コードにおける第１非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第２二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第２二次元コードから第２非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
【００３９】
＝＝＝第１実施形態＝＝＝
以下に、第１実施形態で用いられる二次元コードについて説明を行う。以下の説明で特段のことわりのない場合には、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−ＱＲコード−」（以下、単に「ＪＩＳ規格」ということがある）に準ずる。また、このＪＩＳ規格に準ずるエンコーダを標準エンコーダといい、ＪＩＳ規格に準ずるデコーダを標準デコーダという。また、第１実施形態における非公開情報を取り扱うことができるエンコーダを拡張エンコーダといい、デコーダを拡張デコーダという。そして、これらを区別する。
【００４０】
また、図形としてのＱＲコード（登録商標）の明暗パターンを取得することを「読み取り」と表現する。また、取得されたＱＲコードからデータコード語（後述する置換後ＲＳブロックのデータコード語、置換前ＲＳブロックのデータコード語を含む）を取得することを「読み出し」と表現する。また、上記データコード語に対して、ＪＩＳ規格の情報処理外の処理を行って所定の情報を取得することを「抽出」と表現する。すなわち後の説明において、拡張ＱＲコードの非公開情報を取得すること、または、非公開情報にさらに情報処理を行って情報を取得することを「抽出」と表現する。例えば、後述する「保護符号化用データＩＤ」を取得することにおいて「抽出」の用語を用いることがある。また、例えば、後述する「保護符号化コード語が保護復号化された秘匿対象情報」を取得することに「抽出」の用語を用いることがある。なお、「保護符号化された秘匿対象情報」については、保護符号化コード語の保護復号化が行われておらず「読み出し」すらできないものであるため、「抽出」の用語を用いないことがある。また、以下に示す説明において、保護符号化コード語を保護復号化して得られる情報を「秘匿対象情報」ということとする。
【００４１】
また、読み取られたＱＲコードが直接表現する情報語列（並べ替えなどの情報処理を受けていないもの）をシンボルコード語として表現することがある。図形としてのＱＲコードは、シンボルコード語に機能パターンを付加して図形化したものであると考えることができるので、ＱＲコードとシンボルコード語は実質的に同義となる。そのため、シンボルコード語を取得することも「読み取り」ということがある。
【００４２】
また、以下の説明において、「保護符号化用データ」は、読み出しを阻止する目的で排他的論理和を用いた保護符号化を行う際に使用されるいわば保護マスクパターンであり、ＪＩＳ規格における標準マスクパターンとは異なるものである。また、ＪＩＳ規格で規定されているマスクパターンについては、この「保護符号化用データ」と区別するために、「標準マスクパターン」と表現するものとする。
【００４３】
また、以下の説明において、「コード語」は、８ビット長として説明するが、システムに応じて、１６ビット長とすることもできるし、１ビット長など他の長さを有するものとすることもできる。
【００４４】
図１は、ＱＲコードシンボル１の説明図である。ＱＲコードシンボル１（以下、単に、「ＱＲコード」ということもある）は、１型から４０型まで様々なサイズが用意されているが、ここでは、一例として型番「２」を例に各機能について説明する。
【００４５】
ＱＲコードシンボル１は、機能パターンと符号化領域を有する。機能パターンは、ＱＲコードのモジュール内での復号化を補助するために必要なＱＲコードシンボル位置の検索や特性の識別に必要なパターンである。符号化領域は、必要となる情報が書き込まれている領域である。
【００４６】
機能パターンは、位置検出パターンＦＰ、分離パターンＳＰ、タイミングパターンＴＰ、位置合わせパターンＡＰ、および、クワイエットゾーンＱＺを有する。
【００４７】
位置検出パターンＦＰは、ＱＲコードの少なくとも３つの隅に配置されるパターンである。読み取り時において、３つの位置検出パターンＦＰを識別することで、ＱＲコードシンボル１の方向や位置を正しく認識可能とする。
【００４８】
分離パターンＳＰは、位置検出パターンＦＰの周りに配置される１モジュール幅の明モジュールである。これにより、位置検出パターンＦＰをＱＲコードシンボル１から区別することができるようになる。
【００４９】
モジュールＭは、ＱＲコードシンボル１を構成する単位セルである。原則として、１ビットが１モジュールに相当する。
【００５０】
タイミングパターンＴＰは、暗モジュールと明モジュールが１モジュールずつ直線状に交互に配置されたパターンである。タイミングパターンＴＰによって、ＱＲコードシンボル１のモジュール数を認識可能となるため、これによりＱＲコードの型番を識別することができる。
【００５１】
位置合わせパターンＡＰは、ＱＲコードの型番によって決められた位置に配置されるパターンである。位置合わせパターンＡＰは、大きなモジュールの場合、ＱＲコードシンボル１の位置の検索を補助する働きをする。
【００５２】
クワイエットゾーンＱＺは、ＱＲコードの周囲に設けられる最低４モジュール幅の明モジュール領域である。
【００５３】
符号化領域は、データおよび誤り訂正コード語（以下、単に「訂正コード語」ということがある）と、形式情報ＦＩを有する。また、型番の大きなものには型番情報ＶＩも付加される。形式情報ＦＩは、誤り訂正レベルと標準マスクパターンの情報を有する。なお、後述する、標準マスクパターンおよび保護符号化用データによる保護符号化は、符号化領域のうち、形式情報ＦＩおよび型番情報ＶＩを除いた領域にのみ適用される。
【００５４】
データおよび誤り訂正コード語は、実際のデータおよびデータが読み出せなかった場合の誤り訂正用の誤り訂正コード語を配置する。形式情報は、ＱＲコードシンボル１に適用する誤り訂正レベルおよび使用する標準マスクパターンに関する情報を有し、符号化領域を復号化するのに必要な符号化パターンである。
【００５５】
図２は、拡張エンコーダ１０のブロック図である。拡張エンコーダ１０は、公開情報のみならず非公開情報を含んだ情報をＱＲコードシンボル１に変換する装置である。また、後述する置換後ＲＳブロックを読み出し保護のために保護符号化用データで保護符号化する機能を有する。拡張エンコーダ１０は、制御部１１と表示装置１３と印刷装置１４と入力装置１５を備える。
【００５６】
制御部１１は、演算部１１ａと記憶部１１ｂを備える。演算部１１ａは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部１１ｂは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部１１ｂには、後述する秘匿対象情報の隠蔽処理を実行するためのプログラムが記憶されている。
【００５７】
表示装置１３は、データの入力等に際し必要な表示機能を担う。また、表示装置１３は、生成されたＱＲコードシンボル１を表示により出力する。印刷装置１４も、生成されたＱＲコードシンボル１を印刷により出力する。また、入力装置１５は、データの入力および拡張エンコーダ１０の操作に使用される。
【００５８】
拡張エンコーダ１０の構成は、一般的なコンピュータ、携帯電話、および、スマートフォン等に、後述する秘匿対象情報の隠蔽処理を実行するためのプログラムをインストールすることによって実現することができる。
【００５９】
図３は、秘匿対象情報の隠蔽処理の概念図である。図４は、秘匿対象情報の隠蔽のフローチャートである。以下、これらの図を参照しつつ、第１実施形態における構造的連接拡張ＱＲコードの生成手法について説明する。なお、後述する標準マスクパターンによるマスク化は、ＪＩＳ規格通りになされるものであるので、図３および図４では図示を省略している。
【００６０】
なお、図３において、置換前ＲＳブロックＡとともに括弧書きで構造的連接ＱＲコードＡが示されているのは、仮に、置換前ＲＳブロックＡがＱＲコードに変換された場合に構造的連接ＱＲコードＡになることを意味している。同様に、置換前ＲＳブロック部とともに括弧書きで構造的連接ＱＲコードＢが示されているのは、仮に、置換前ＲＳブロックＢがＱＲコードに変換された場合に構造的連接ＱＲコードＢになることを意味している。
【００６１】
ここでは、構造的連接関係を有するＱＲコードが利用される。構造的連接関係を有するＱＲコードとは、自身のコード情報が、あるコード情報をもとに互いに関連を持って分割された部分的コードであることが判別可能に組み込まれたコードである。すなわち、これを利用することにより仮想的な大コードを、関連を持った複数の小コードに分割することができる。なお、ＪＩＳ規格においては、大コードを最大で１６個の小コードに分割が可能である。小コードには、構造的連接関係を有することを示す連接ヘッダブロックが含められる。連接ヘッダブロックには、ＪＩＳ規格に従って、モード指示子とシンボル列指示子とパリティデータが含められる。以下、このように構造的連接関係を有するＱＲコードを構造的連接ＱＲコードという。
【００６２】
また、ここで用いられるＱＲコードは、公開情報と非公開情報とを記録することができる二次元コードを前提としている。公開情報は、ＪＩＳ規格のデコーダ（以下、「標準デコーダ」ということがある）で読み出し可能な情報である。一方、非公開情報は、標準でコーダでは読み出すことができず、後述する拡張デコーダ２０によって抽出することが可能な情報である。
【００６３】
このように、機能が拡張されたＱＲコードであるので、以下の説明において、このような非公開情報も記録可能なＱＲコードを「拡張ＱＲコード」（または、「拡張ＱＲコードシンボル」）ということがある。そして、さらに構造的連接関係を有する拡張ＱＲコードの場合には、「構造的連接拡張ＱＲコード」ということがある。
【００６４】
最初に、仮想的な大コードの構成内容から構造的連接ＱＲコードＡと構造的連接ＱＲコードＢを構成する符号化領域のデータコード語が生成される（Ｓ１０２）。構造的連接ＱＲコードＡと構造的連接ＱＲコードＢを構成する符号化領域のデータコード語の生成は、ＪＩＳ規格に従って行われる。これにより、構造的連接ＱＲコードＡの置換前ＲＳブロックＡと構造的連接ＱＲコードＢの置換前ＲＳブロックＢが生成されることになる。このとき、連接ヘッダブロックに包含されるパリティデータも求められる。このパリティデータは、仮想的な大コードの公開情報のパリティが演算されたものである。
【００６５】
ここでは、仮想的な大コードは、公開情報として「TOKYO<cr>MINATO<cr>JPN0009012345678」を含んでいるものとする。なお、「<cr>」は、キャリッジリターンを意味する。
【００６６】
仮想的な大コードの公開情報をどのように分割するかは任意である。ここでは、大コードの公開情報のうち「TOKYO<cr>MINATO<cr>JPN」が構造的連接ＱＲコードＡの公開情報部に含められる。また、大コードの公開情報のうち「0009012345678」が構造的連接ＱＲコードＢの公開情報部に含められる。
【００６７】
次に、後に使用される保護符号化用データが決定される（Ｓ１０４）。保護符号化用データは、前述のように、読み出しを阻止する目的で排他的論理和を用いた保護符号化を行う際に使用されるいわば保護マスクパターンであり、ＪＩＳ規格における標準マスクパターンとは異なるものである。保護符号化用データは任意に選択することができる。また、後述するような手法を用いて保護符号化用データを決定することもできる。
【００６８】
次に、構造的連接ＱＲコードＡに非公開情報として保護符号化用データＩＤが埋め込まれた構造的連接拡張ＱＲコードＡを構成するデータコード語が生成される（Ｓ１０６）。保護符号化用データＩＤは、ステップＳ１０４において決定された保護符号化用データを特定するためのＩＤである。ここでは、保護符号化用データＩＤを「000000000009」とする。「保護符号化用データＩＤ」は、「保護符号化用データ情報」に相当する。なお、「保護符号化用データ情報」は、「保護符号化用データ」を導き出す情報であれば、これに限られない。
【００６９】
図５は、ＲＳブロックの概要図である。図５を参照しつつ、ＱＲコードのデータフォーマットの概要、および、非公開情報（ここでは、保護符号化用データＩＤ）を埋め込む手法について説明する。図５には、誤り訂正処理単位として、ＲＳ（リード・ソロモン）ブロックが示されている。ＱＲコードシンボル１には、１または複数のＲＳブロックが含まれる。そして、ＲＳブロックを１つの誤り訂正処理単位としている。
【００７０】
なお、ここで説明する実施形態においては、リード・ソロモン（ＲＳ）符号による誤り訂正方式を採用しているため、誤り検出訂正演算の処理単位ブロックの一例として、「ＲＳブロック」と記載している。
【００７１】
置換前ＲＳブロック（後に、置換後ＲＳブロックが登場するため、ここでは置換前ＲＳブロックとして置換後ＲＳブロックとは区別する）は、非表示部分である連接ヘッダブロックと、表示対象である情報本体（公開情報に相当する）と、非表示部分である終端符号と、非表示部分であるパディングコード語とを有するデータコード語を含む。また、置換前ＲＳブロックは、訂正コード語としてのＲＳ（リード・ソロモン）符号（非表示部分）を含む。情報本体とは、標準デコーダであってもＱＲコードシンボル１を読み取ったときにデコードおよび表示可能な情報である。終端符号は、情報本体の終端を表す符号である。パディングコード語は、情報本体のコード語の総数がＱＲコードシンボル１の規定する容量に満たない場合、空のコード語部分を充填する目的で使用される仮のコード語である。ＲＳ符号は、ＲＳブロックを単位として誤り訂正するために付加される符号である。
【００７２】
また、ここで用いられるＱＲコードシンボル１は、構造的連接関係を有するＱＲコードであるので、データコード語の先頭にモード指示子が配置され、後続して、シンボル列指示子とパリティデータが配置されている。
【００７３】
シンボル列指示子は、構造的連接関係を有するＱＲコードが、全体で何個中の何番目の構造連接関係を有するＱＲコードであるかを規定する。例えば、後述する構造的連接拡張ＱＲコードＡのシンボル列指示子には、２個中１番目の構造的連接関係を有するＱＲコードであることが規定される。また、保護符号化構造的連接拡張ＱＲコードＢのシンボル列指示子には、２個中２番目の構造的連接関係を有するＱＲコードであることが規定される。
【００７４】
また、パリティデータは、前述の仮想的な大コードの公開情報のパリティデータである。すなわち、構造的連接ＱＲコードＡの公開情報と構造的連接ＱＲコードＢの公開情報が、シンボル列指示子にしたがって正しく連結された情報のパリティデータである。このパリティデータは、仮想的な大コードから分割された構造的連接ＱＲコード間で共通のもの（ここでは、構造的連接ＱＲコードＡと構造的連接ＱＲコードＢとの間で共通）であり、パリティデータが一致するか否かで、構造的連接関係を有するか否かが判断される。すなわち、構造的連接ＱＲコードＡの公開情報と構造的連接ＱＲコードＢの公開情報を所定の方法で再構成した情報語のパリティが、仮想的な大コードの公開情報のパリティデータと一致し、かつ、構造的連接ＱＲコードＡと構造的連接ＱＲコードＢとの間で共通のパリティデータと一致することで、構造的連接関係を有するものと判定するすることができる。
【００７５】
ところで、ＱＲコードでは、「Ｌ」「Ｍ」「Ｑ」「Ｈ」の４段階の誤り訂正レベルが選択可能である。誤り訂正レベル「Ｌ」では、全体の語数に対して約７％の誤り訂正能力を有する。例えば、ＲＳブロックの語数を１００％とした場合、そのうちの約７％の誤り訂正能力を有する。誤り訂正レベル「Ｍ」では、全体の語数に対して約１５％の訂正能力を有する。誤り訂正レベル「Ｑ」では、全体の語数に対して約２５％の訂正能力を有する。誤り訂正レベル「Ｈ」では、全体の語数に対して約３０％の誤り訂正能力を有する。第１実施形態では、例えば、最高クラスの誤り訂正能力である「Ｈ」を利用して、非公開情報をＱＲコードに隠蔽する。ただし、隠蔽される非公開情報語の語数に応じて誤り訂正レベルを変更してもよい。
【００７６】
ＱＲコードに情報を隠蔽する手法の概念は、次の通りである。図５には、非公開情報が示されている。ここでは、この非公開情報でＲＳブロックの一部を置換する（以下、この「置換」を「上書き」ということもある）。このように一部を置換した場合であっても、標準デコーダでは、置換後の情報本体部分をＲＳ符号を用いて訂正できる。そして訂正後の情報本体部分を読み出して表示することができる。一方、非公開情報語は、ＲＳ符号により訂正されて捨てられてしまう情報であるため、標準デコーダでは表示されないことになる。
【００７７】
これに対し、拡張デコーダ２０では、後述するように、置換後ＲＳブロックから非公開情報語を抽出する。そして、その後、ＲＳ符号により訂正を行って情報本体部分を読み出す。以上の原理によりＱＲコードシンボル１に情報を隠蔽することができる。なお、非公開情報語でのＲＳブロックの一部置換方法の詳細については、後述するものとする。
【００７８】
このような原理を利用して、非公開情報として保護符号化用データＩＤが埋め込まれる。すなわち、置換前ＲＳブロックＡの一部を非公開情報である保護符号化用データＩＤで置換して、置換後ＲＳブロックＡを生成する。そして、置換後ＲＳブロックＡ（置換後データブロックに相当）に基づいてＱＲコードを生成することにより、構造的連接拡張ＱＲコードＡを生成する。
【００７９】
次に、非公開情報に秘匿対象情報を含んだ置換後ＲＳブロックＢが生成される（Ｓ１０８）。置換後ＲＳブロックＢは、前述の置換前ＲＳブロックＢの一部が非公開情報で置換されることで行われる。ここで、「秘匿対象情報」は、最終的に最も隠したい情報であり、ここでは、「himitsu@ＯＯＯ.com」としている。
【００８０】
このようにして生成された置換後ＲＳブロックの各ビットをＱＲコードの符号化領域に配置すれば、後述する保護符号化用データによる保護符号化および標準マスクパターンによるマスク化される前のＱＲコードのデータコード語を生成できる。よって、置換後ＲＳブロックＢの生成は、保護符号化用データおよび標準マスクパターンが適用されていない第２二次元コードのデータコード語の生成に相当するものである。
【００８１】
次に、置換後ＲＳブロックＢと保護符号化用データとの排他的論理和が求められ、保護符号化構造的連接拡張コードＢ（保護符号化後第２二次元コードに相当）が求められる（Ｓ１１０）。
【００８２】
図６は、保護符号化用データ適用の説明図である。図には、置換後ＲＳブロックＢと、保護符号化用データと、保護符号化コード語が示されている。図６に示されるように、保護符号化コード語は、ＲＳブロックＢと保護符号化用データとをビット単位で排他的論理和を求めることで得られる。これにより、置換後ＲＳブロックＢ全体が保護符号化用データで保護符号化された保護符号化コード語が得られる。このようにビット単位で変換を行うので、それぞれの変換は局所的なものになる。よって、仮に、保護符号化されているパターンに読み出し誤りが発生したとしても、この保護符号化コード語をビット単位で保護復号化することで解除された後の情報語には読み出し誤りがビット単位で残される。ビット単位で残された読み出し誤りは、誤り訂正を行うことで適切に訂正することができる。このように、ビット単位で排他的論理和を求める処理とすることで、仮に、読み出し誤りが発生した場合であっても、後に、適切に誤り訂正を行うことができるのである。これは、バイト単位などブロック単位で変換処理を行った場合には期待できない効果である。このような保護符号化のより具体的な処理については後述する。
【００８３】
なお、ここでは置換後ＲＳブロックＢと保護符号化用データとをビット単位で排他的論理和を求めるものとして示しているが、これは、置換後ＲＳブロックＢをＱＲコードに変換した後に、ＱＲコードの符号化領域にモジュールの配置を考慮しつつ保護符号化用データを用いてビット単位で排他的論理和を求めることと等価である。すなわち、図６ではＱＲコードを持ち出していないが、ＱＲコードの機能パターン、形式情報（ＦＩ）、および、型番情報（ＶＩ）以外の部分を保護符号化しているのと等価ということになる。
【００８４】
図７は、標準マスクパターン適用の説明図である。ＪＩＳ規格によれば、ＱＲコードはその生成過程において、マスクパターン参照子で特定される標準マスクパターンで排他的論理和が求められ標準マスク化されている。よって、ここでも保護符号化コード語に標準マスクパターンが適用され（排他的論理和が求められ）、標準マスク化された保護符号化コード語が求められる。
【００８５】
このように、先に標準マスクパターンを適用するのではなく、保護符号化コード語を求めた後に標準マスクパターンの排他的論理和を求めることとしているのは、標準マスクパターンはＱＲコードのシンボルにおける構成明暗パターンを適度に分散させる機能を有するからである。そのため、排他的論理和の演算には交換則が成立するために演算処理（すなわち排他的論理和演算）の順は、保護符号化、標準マスク処理のどちらを先に行ってもかまわないものの、標準マスクパターンでの排他的論理和演算は、なるべく後段で行った方がよいことになる。
【００８６】
このようにして生成された標準マスク化された保護符号化コード語でＱＲコードが生成され、標準マスク化された保護符号化構造的連接拡張ＱＲコードＢが生成される（Ｓ１１０）。なお、保護符号化構造的連接拡張ＱＲコードＢは、ＱＲコードのＪＩＳ規格に基づいて標準マスク化されるものであるので、「標準マスク化された」との語を省略し、単に、「保護符号化構造的連接拡張ＱＲコードＢ」ということがある。保護符号化構造的連接拡張ＱＲコードＢは、保護符号化後第２二次元コードに相当する。なお、保護符号化後第２二次元コードは、保護符号化用データのみが適用され、標準マスクパターンが適用されないものであってもよい。
【００８７】
次に、求められた構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢが出力される（Ｓ１１２）。出力手法としては、印刷装置１４で印刷させてもよいし、表示装置１３に表示させることとしてもよい。
【００８８】
このようにして生成された構造的連接ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢは、一見すると、一般的なＱＲコードのようであるが、実際には、秘匿対象情報が隠されている。そして、この秘匿対象情報を抽出するために、保護符号化用データを特定する必要があり、かつ、保護符号化用データを特定するためには、非公開情報を抽出するための後述する拡張デコーダ２０が必要となる。そのため、第三者による秘匿対象情報の抽出を極めて困難なものにすることができる。さらに、保護符号化構造的連接拡張ＱＲコードＢは、保護符号化用データで保護符号化されているため、標準デコーダでは非公開情報を抽出できないばかりか、公開情報すら読み出すことができないのである。
【００８９】
図８は、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの重ねあわせの説明図である。図８に示されるように、前述のようにして生成された構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとを光学的特性の異なるインクで重ね合わせるように印刷することができる。
【００９０】
例えば、構造的連接拡張ＱＲコードＡについて第１インクを用いて印刷し、保護符号化構造的連接拡張ＱＲコードＢについて第２インクを用いて印刷するものとする。このとき、第１インクと第２インクについて、発色、発光（蛍光を含む）、特定波長帯の吸収など、ＱＲコードシンボルの読み取りのために照射される参照光の波長によってそれぞれ挙動の異なるものを採用することができる。
【００９１】
具体的には、保護符号化構造的連接拡張ＱＲコードＢを印刷する際、赤外線を吸収するカーボンを含まない有色のインクを用いることができる。そして、この保護符号化構造的連接ＱＲコードＢ上に、構造的連接拡張ＱＲコードＡを用いて印刷する。構造的連接拡張ＱＲコードＡを印刷する際には、無色または淡色の赤外線吸収インクを用いることができる。
【００９２】
このとき、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢは、ともに同じ型（同じサイズ）のＱＲコードであることが望ましい。
【００９３】
このようにすることで、構造的連接拡張ＱＲコードＡについては視認することができないから、上述のようにして秘匿対象情報が隠蔽されていることを知らない第三者は、そもそも保護符号化用データＩＤが含まれている構造的連接拡張ＱＲコードＡを読み取ることすらできない。よって、保護符号化構造的連接拡張ＱＲコードＢから秘匿対象情報を抽出することはより困難となる。さらに言えば、保護符号化構造的連接拡張ＱＲコードＢは保護符号化用データで保護符号化され、標準デコーダでの読み出しそのものが不可能であるので、公開情報はもとより秘匿対象情報を抽出することは極めて困難なものとなる。
【００９４】
一方、上述のようにして秘匿対象情報が隠蔽されていることを知っている者は、赤外線吸収インクを読み取り可能にする光源を用いて構造的連接拡張ＱＲコードＡを読み取ることができる。また、一般的な光源を用いて保護符号化構造的連接拡張ＱＲコードＢを読み取ることができる。そして、構造的連接拡張ＱＲコードＡに含まれる保護符号化用データＩＤを用いて、保護符号化構造的連接拡張ＱＲコードＢにおける保護符号化コード語を保護復号化することができる。
【００９５】
また、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢを重ねる他の手法として次のような方法を用いることもできる。すなわち、まず、構造的連接拡張ＱＲコードＡをカーボンを含むインクを用いて印刷する。次に、この構造的連接拡張ＱＲコードＡの上にカーボンを含まない白色のインクでべた塗り印刷を行う。さらに、白色のべた塗り印刷上に、保護符号化構造的連接ＱＲコードＢをカーボンを含まない有色のインクで印刷する。
【００９６】
このようにすることで、構造的連接拡張ＱＲコードＡは白色のインクで隠蔽されているため、可視光下において構造的連接拡張ＱＲコードＡを読み取ることが困難となるが、保護符号化構造的連接拡張ＱＲコードＢを読み取ることができる。一方、構造的連接拡張ＱＲコードＡについては、光学フィルタを介して赤外光領域を参照することによって読み取ることができる。
【００９７】
以上の説明では、説明の容易さを考慮し、構造的連接拡張ＱＲコードＡおよび保護符号化構造的連接拡張ＱＲコードＢの２つのＱＲコードを有する場合を例に説明を行った。しかしながら、保護符号化構造的連接拡張ＱＲコードを複数とすることもできる。
【００９８】
図９は、保護符号化構造的連接拡張ＱＲコードが複数の場合の相互関係の説明図である。図９には、複数の保護符号化構造的連接拡張ＱＲコードが示されている。そして、それぞれの保護符号化構造的連接ＱＲコードを生成するための置換後ＲＳブロックと保護符号化用データと保護符号化コード語が示されている。
【００９９】
例えば、秘匿対象情報が非公開情報として置換後ＲＳブロックＰに埋め込まれ、これが保護符号化用データＭPにより保護符号化される。そうすると、保護符号化用データＭPを特定するための保護符号化用データＩＤ＿ＭPが置換後ＲＳブロックＯに非公開情報として埋め込まれる。次に、置換後ＲＳブロックＯが保護符号化用データＭOにより保護符号化され、保護符号化用データＭOを特定するための保護符号化用データＩＤ＿ＭOが置換後ＲＳブロックＮに非公開情報として埋め込まれる。このような動作が繰り返され、置換後ＲＳブロックＢを保護符号化するための保護符号化用データＭBを特定する保護符号化用データＩＤ＿ＭPが置換後ＲＳブロックＡに非公開情報として埋め込まれる。
【０１００】
このようにすることで、多重に保護がなされるので、より強固に秘匿対象情報を保護することができる。
【０１０１】
また、上述のように、複数の保護符号化構造的連接拡張ＱＲコードを用いた場合において、次のようにすることもできる。例えば、上述のように、順番に保護符号化用データを適用する点では同様であるが、次のＱＲコードの保護符号化にはこれまで用いられた全ての保護符号化用データとの排他的論理和を演算して保護符号化を行うこととする。例えば、図９の保護符号化構造的連接拡張ＱＲコードＯについて、保護符号化用データＭPと保護符号化用データＭOと置換後ＲＳブロックＯとの排他的論理和を演算して求められたものとすることができる。
【０１０２】
また、抽出された保護符号化データと排他的論理和を演算して次のＱＲコードの全体の保護符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたＱＲコードの一部分に対して適用（排他的論理和を演算）することとしてもよい。また、抽出された保護符号化データと排他的論理和を演算して次のＱＲコードの所定の一部分の符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたＱＲコードの全体に対して適用（排他的論理和を演算）することとしてもよい。
【０１０３】
このようにすることにより、保護の多重化・累積化を図ることができ、秘匿対象情報をより高い安全性をもって保護することができる。
【０１０４】
図１０は、拡張デコーダ２０のブロック図である。拡張デコーダ２０は、ＱＲコードシンボル１を読み取り、ＱＲコードシンボル１（後述する保護符号化構造的連接ＱＲコードを含む）に含まれる公開情報のみならず非公開情報を抽出する装置である。また、保護符号化構造的連接拡張ＱＲコードの保護符号化コード語を保護復号化する機能も有する。拡張デコーダ２０は、制御部２１と撮像装置２２と表示装置２３と印刷装置２４と入力装置２５を備える。
【０１０５】
制御部２１は、演算部２１ａと記憶部２１ｂを備える。演算部２１ａは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部２１ｂは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部２１ｂには、後述する秘匿対象情報の抽出処理を実行するためのプログラムが記憶されている。
【０１０６】
撮像装置２２は、ＱＲコードシンボル１を撮像するための装置であって、例えば、ＣＣＤカメラなどである。また、撮像装置２２は、波長の異なる第１の光源と第２の光源を備えることもできる。そして、第１の光源を無色の赤外線吸収インクを撮像するための光源とし、第２の光源をカーボンを含まない有色のインクを撮像するための光源とすることができる。これらのような光源を備えることにより、これらを適宜切り替えて、前述の図８に示された構造的連接拡張ＱＲコードＡと保護符号化構造的拡張ＱＲコードＢを読み取ることができる。また、撮像装置２２（または、撮像装置２２に含まれる撮像素子）には、波長の異なる光源に対応するための光学フィルタを備えることもできる。
【０１０７】
表示装置２３は、データの入力等に際し必要な表示機能を担う。また、表示装置２３は、ＱＲコードから展開された情報を表示により出力する。印刷装置２４も、展開された情報を印刷により出力する。また、入力装置２５は、データの入力および拡張デコーダ２０の操作に使用される。
【０１０８】
拡張デコーダ２０の構成は、撮像装置２２を備えていれば、一般的なコンピュータ、携帯電話、および、スマートフォンに、後述する秘匿対象情報の抽出処理を実行するためのプログラムをインストールすることによって実現することができる。また、前述の拡張エンコーダ１０と拡張デコーダ２０とを一体化して実現することも可能である。
【０１０９】
図１１は、秘匿対象情報抽出のための読み出し処理の概念図である。図１２は、秘匿対象情報抽出のための読み出し処理のフローチャートである。以下、これらの図を参照しつつ、秘匿対象情報の抽出処理について説明する。
【０１１０】
まず、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢのシンボルコード語の読み取りが行われる（Ｓ２０２）。そして、構造的連接拡張ＱＲコードＡから非公開情報である保護符号化用データＩＤが抽出される（Ｓ２０４）。
【０１１１】
非公開情報の読み出し方法であるが、構造的連接拡張ＱＲコードＡから読み取られたシンボルコード語から置換後ＲＳブロックＡが展開される。そして、置換後ＲＳブロックＡにおいて置換されている非公開情報語が抽出される。また、非公開情報語の抽出とともに、ＲＳ符号を用いて置換後の情報本体部分を訂正する。これにより、情報本体部分に含められている公開情報を取得することができる。そして、公開情報として「TOKYO<cr>MINATO<cr>JPN」を取得することができ、非公開情報として、保護符号化用データＩＤ（ここでは、「0000000000009」）を取得することができる。
【０１１２】
なお、このような保護符号化用データＩＤの読み出しは、標準デコーダ（一般的なＱＲコードリーダー）では、非公開情報語を読みだそうにも、置換された部分がＲＳ符号によって訂正が行われ失われてしまうため取得できないことになる。
【０１１３】
次に、保護符号化用データＩＤに基づいて保護符号化用データが特定される（Ｓ２０６）。そして、この保護符号化用データを用いて保護符号化構造的連接拡張コードＢのシンボルコード語における保護符号化コード語が保護復号化される（Ｓ２０８）。
【０１１４】
図１３は、標準マスクパターン解除の説明図である。図１３には、保護符号化コード語と標準マスクパターンと、保護符号化コード語が示されている。図１３に示されるように、保護符号化コード語は、保護符号化コード語と標準マスクパターンとをビット単位で排他的論理和を求めることで得ることができる。
【０１１５】
図１４は、保護復号化の説明図である。図１４には、保護符号化コード語と保護符号化用データと、ＲＳブロックＢが示されている。図１４に示されるように、置換後ＲＳブロックＢは、保護符号化コード語と保護符号化用データとをビット単位で排他的論理和を求めることで得ることができる。このような保護復号化のより具体的な処理については後述する。
【０１１６】
次に、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの間に構造的連接関係があるか否かが判定される（Ｓ２１０）。既に説明した通り、構造的連接関係を有する場合には、（１）構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢにおける連接ヘッダブロックにおけるパリティデータが一致し、（２）構造的連接拡張ＱＲコードＡの公開情報と保護符号化構造的連接拡張ＱＲコードＢの公開情報とを所定の方法で再構成して得られる情報語のパリティデータが、連接ヘッダブロックにおけるパリティデータと一致するはずである。構造的連接拡張ＱＲコードＡのパリティデータと保護符号化構造的連接拡張ＱＲコードＢのパリティデータは、ともに、大コードの公開情報に基づいて求められたパリティデータであって、共通のパリティデータとなるからである。なお、パリティデータを求める際に必要な公開情報の取得は、それぞれの構造的連接拡張ＱＲコードにおいて、ＲＳ符号により置換後ＲＳブロックを訂正することにより行うことができる。これにより、上記条件（１）を満たすか否かを判定することができる。また、構造的連接拡張ＱＲコードＡの公開情報と保護符号化構造的連接拡張ＱＲコードＢの公開情報とを所定の方法で再構成して得られる情報語のパリティデータが求められる。これにより、上記条件（２）を満たすか否かを判定することができる。
【０１１７】
ステップＳ２１０において、上記（１）および（２）の条件を満たすと判定された場合には、構造的連接関係を有するものと判定し、置換後ＲＳブロックＢから秘匿対象情報を抽出する（Ｓ２１２）。置換後ＲＳブロックＢから秘匿対象情報を抽出する方法は、前述のように、置換した非公開情報を抽出することにより行われる。また、パリティデータを得るために取得した構造的連接拡張ＱＲコードＡの公開情報と、保護符号化構造的連接拡張ＱＲコードＢの公開情報とを連結し、仮想的な大コードの公開情報を得ることができる。
【０１１８】
次に、上記のようにして得られた秘匿対象情報と仮想的な大コードの公開情報を出力する（Ｓ２１４）。出力方法としては、表示装置２３に表示させたり、印刷装置２４に印刷させたりすることができる。なお、大コードの公開情報は、表示の有用性がある場合にのみ表示または出力することとしてもよい。
【０１１９】
一方、ステップＳ２１０において構造的連接関係を有しないと判定された場合には、処理を終了する。このように構造的連接関係を有しない場合には、処理を終了することとするため、秘匿対象情報を抽出することができない。このようにすることで、構造的連接関係を有する場合にのみ秘匿対象情報を抽出するようにすることができる。
【０１２０】
また、秘匿対象情報として最も重要な情報を埋め込むこととし、公開情報として２番目に重要な情報を埋め込むことができる。構造的連接関係を有さない場合には、保護符号化構造的連接拡張ＱＲコードＢの公開情報すら読み出すことができないことになるため、保護符号化構造的連接拡張ＱＲコードＢの公開情報にもある程度の秘匿性を有する情報を埋め込むことができることになる。
【０１２１】
図１５Ａは、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの関係を説明する図である。図１５Ａに示されるように、構造的連接拡張ＱＲコードＡから保護符号化用データが特定され、この保護符号化用データを保護符号化構造的連接拡張ＱＲコードＢに適用することによって秘匿対象情報が取得できた。
【０１２２】
図１５Ｂは、保護符号化構造的連接拡張ＱＲコードが複数の場合の関係を説明する図である。前述の説明では、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとにより秘匿対象情報を隠すこととしていた。しかしながら、保護符号化構造的連接拡張ＱＲコードを複数有することとしてもよい。前述の図９では、保護符号化手法について説明したが、図１５Ｂは図９に対応する保護符号化構造的連接拡張ＱＲコードをデコードする手法に対応する。
【０１２３】
図１５Ｂに示されるように、構造的連接拡張ＱＲコードＡの非公開情報語から保護符号化用データＩＤ＿ＭBを抽出し、保護符号化用データＩＤ＿ＭBから特定される保護符号化用データＭBによって、保護符号化構造的連接拡張ＱＲコードＢの保護符号化コード語が保護復号化される。これにより、置換後ＲＳブロックＢが得られるが、ここから非公開情報語として、保護符号化用データＩＤ＿ＭCが得られる。そして、保護符号化用データＩＤ＿ＭCから特定される保護符号化用データＭCによって、保護符号化構造的連接拡張ＱＲコードＣの保護符号化コード語が保護復号化される。このような処理を繰り返すことによって、最終的に秘匿対象情報を抽出することができる。よって、より階層深く埋め込まれた秘匿対象情報を抽出することができる。
【０１２４】
また、前述のように、例えば、図９の保護符号化構造的連接拡張ＱＲコードＯについて、保護符号化用データＭPと保護符号化用データＭOと置換後ＲＳブロックＯとの排他的論理和を演算して求めたものとしたようなケースにおいても、やはりこの逆の手順を踏めばよい。すなわち、これらまでに得られた保護符号化用データと保護符号化構造的連接拡張ＱＲコードとの排他的論理和を演算することによって、次の保護符号化構造的連接拡張ＱＲコードを得るようにすることができる。
【０１２５】
また、抽出された保護符号化データと排他的論理和を演算して次のＱＲコードの全体の保護符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたＱＲコードの一部分に対して適用（排他的論理和を演算）することとした場合も、この逆の手順で排他的論理和を求めることで、次の保護符号化構造的連接拡張ＱＲコードを得ることができる。
【０１２６】
また、抽出された保護符号化データと排他的論理和を演算して次のＱＲコードの所定の一部分の符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたＱＲコードの全体に対して適用（排他的論理和を演算）することとした場合も、この逆の手順で排他的論理和を求めることで、次の保護符号化構造的連接拡張ＱＲコードを得ることができる。
【０１２７】
なお、上記実施形態では、保護符号化用データを特定するための保護符号化用データＩＤが非公開情報として埋め込まれることとしたが、保護符号化用データそのものを非公開情報として埋め込むこととしてもよい。
【０１２８】
また、上記実施形態では、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの間に構造的連接関係を有することを条件として秘匿対象情報が抽出されることとしたが、両者の連接ヘッダブロックにおけるパリティデータが一致するか否かを判定しないこととしてもよい。すなわち、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの間に構造的連接関係がない場合であっても、秘匿対象情報が抽出されることとしてもよい。このようにした場合であっても、構造的連接拡張ＱＲコードＡと保護符号化構造的連接拡張ＱＲコードＢとの間に関連性がない場合には、保護符号化用データが一致しない可能性が高いため、秘匿対象情報は適切に抽出されないことになる。
【０１２９】
また、前述の手法によれば、保護符号化構造的連接拡張ＱＲコードＢの生成において、符号化領域における形式情報ＦＩと型番情報ＶＩには保護符号化用データによる保護符号化は行われないこととしていたが、形式情報ＦＩに関しては保護符号化用データによる保護符号化を行うこととしてもよい（ただし、標準マスクパターンによる標準マスク化は形式情報ＦＩに対しては行わない）。このようにした場合、標準マスクパターンの解除に先立って保護符号化コード語の保護復号化を行わなければならないが、これにより標準デコーダでは、形式情報ＦＩすら特定することができない。よって、保護符号化構造的連接拡張ＱＲコードＢを読み取り、形式情報ＦＩを特定しようとした段階でエラーとなるので、より高いセキュリティを確保することができる。
【０１３０】
また、前述の手法によれば、保護符号化構造的連接拡張ＱＲコードＢの生成において、連接ヘッダブロックにも保護符号化を適用することとしていたが、連接ヘッダブロックには保護符号化を適用しないこととすることもできる。前述の手法によれば、図１２のステップＳ２１０のタイミングで、構造的連接関係の有無を判断することつぃていたが、連接ヘッダブロックに保護符号化を適用しない場合には、より早い段階（例えば、図１２のステップＳ２０２の直後）に構造的連接関係の有無を判断することができることになる。よって、構造的連接関係を有しないと判断した場合には、早い段階で処理を打ち切ることができるので、セキュリティをより向上させることができる。
【０１３１】
＜保護符号化用データの選択方法＞
上述の実施形態では、保護符号化用データＩＤとの対応づけがなされてさえすれば保護符号化用データは任意としていたが、以下に説明するように所定の情報に基づいて保護符号化用データが生成されたり選択されたりしてもよい。
【０１３２】
（１）関数による場合
入力値としての保護符号化用データ情報に応じて保護符号化用データを生成可能な関数を決めておくことができる。このような関数としては、例えば、入力パラメータが投入可能な疑似乱数発生関数やハッシュ関数を応用したものがある。これらの関数の出力を、対象となる置換後ＲＳブロックの保護符号化用データとして必要な語長分を適切に切り出したり、繰り返して使用することができる。これらの入力値として、例えば、保護符号化用データＩＤを採用することもできる。
【０１３３】
また、このような関数自体を構造的連接拡張ＱＲコードＡの非公開情報に埋め込んでおくこととしてもよい。このようにすることによっても、適切に一意の保護符号化用データを生成できる。
【０１３４】
（２）保護符号化用データをダウンロードする場合
前述の図４における保護符号化用データ決定（Ｓ１０４）の処理時において、拡張エンコーダが任意に保護符号化用データを生成し、この保護符号化用データとこの保護符号化用データを特定するための保護符号化用データＩＤを登録センターに登録しておくこともできる。そして、保護符号化用データＩＤを前述のように非公開情報として埋め込んでおく。
【０１３５】
秘匿対象情報の抽出処理時においては、拡張デコーダが保護符号化用データＩＤを抽出し、登録センターにアクセスして保護符号化用データＩＤに対応する保護符号化用データをダウンロードする。そして、ダウンロードした保護符号化用データで保護符号化コード語を保護復号化して置換後ＲＳブロックを得ることができる。
【０１３６】
（３）生体認証情報を用いる場合
上記（１）の関数に入力する入力値が、秘匿対象情報を埋め込む者のみが有する生体的特徴に基づいて生成されるものとしてもよい。生体的特徴には、例えば、指紋、声紋、虹彩、静脈パターンなどがある。そして、これらの特徴量を求め、これを入力値とすることができる。
【０１３７】
＜保護符号化処理＞
読み出しを阻止する目的とする保護符号化処理について、上記（１）の関数を用いた場合を一例に説明する。ここで用いられる関数としては、前述の疑似乱数発生関数やハッシュ関数（ＳＨＡ−１、ＭＤ５など）のほか、暗号化関数（ＤＥＳ、ＡＥＳなど）や数理関数（三角関数、対数関数など）を採用することができ、また、これら以外の関数も採用可能である。ここでは、三角関数（ＳＩＮ関数）を用いた例で説明を行う。
【０１３８】
ここで用いられる関数を例えば次のように定義する。
「入力値としてＡＳＣＩＩ表記の数字文字列を、表記する数字が１０進数であるとしてｎとする三角関数ＳＩＮ（ｎ）の値を求め、この絶対値（ＳＩＮ関数は−１から＋１の間の値を出力する）の小数点以下の数字を必要な長さの１６進数の数列として出力する関数」
【０１３９】
そして、例えば、保護符号化される情報文字列、および、入力値（保護符号化用データＩＤ）を以下とする。
保護符号化される情報文字列（ASCII表記）：Hello
保護符号化される情報文字列（１６進数表記）：0x48656C6C6F
入力値（ASCII表記）：7505
このとき、出力値（保護符号化用データ）は、以下となる。
出力値：8191520442・・・(=sin(7505)=-0.8191520442・・・)
【０１４０】
これらを用いた保護符号化処理は次のようになる。情報文字列「Hello」は、１６進数表記すると「0x48656C6C6F」であった。出力値（保護符号化用データ）は、１６進数表記で「0x8191520442」であった。これら両者の論理的排他和(XOR)をとると、「0xC9F43E682D」となる。
【０１４１】
つまり、上記保護符号化処理により、情報文字列「Hello」は、「0xC9F43E682D」という全く意味をなさないデータコード語へと保護符号化される。すなわち、上記保護符号化処理が施された情報文字列は、標準の処理系から見れば情報がスクランブルされ、標準の読み出しが不可能となる。
【０１４２】
＜保護復号化処理＞
次に、保護復号化処理について説明する。ここでは、上記のようにして保護符号化された情報文字列を保護復号化する方法について説明する。よって、用いられる関数の定義は上述のものと同じものである。
【０１４３】
また、保護符号化されたデータコード語と入力値（保護符号化用データＩＤ）は次のようであった。
保護符号化されたデータコード語：0xC9F43E682D
入力値（ASCII表記）：7505
このとき出力値（保護符号化用データ）は、以下である。
出力値：8191520442・・・(=sin(7505)=-0.8191520442・・・)
【０１４４】
そして、これらを用いた保護復号化処理は、保護符号化されたデータコード語「0xC9F43E682D」と、保護符号化用データである出力値「0x8191520442」の論理的排他和(XOR)をとると、１６進数表記で「0x48656C6C6F」となり、ASCII表記では「Hello」となる。
【０１４５】
つまり、上記保護復号化処理により、全く意味をなさなかったデータコード語「0xC9F43E682D」は、情報文字列「Hello」に復号化される。
【０１４６】
＜非公開情報の埋め込み手法＞
ここまで、構造的連接拡張ＱＲコードおよび保護符号化構造的連接拡張ＱＲコードを用いて秘匿対象情報を秘匿する手法について説明したが、これらは、前述のように公開情報と非公開情報とを記録できるＱＲコードを前提としていた。以下、ＱＲコードにおいてどのように非公開情報を埋め込むのかについて詳細に説明する。
【０１４７】
なお、詳細に説明するにあたり、「非公開情報」を「非公開情報語」として説明することがある。これは、前述のようなブロック単位で説明するのではなく、より細かいワード単位で説明を行うためである。
【０１４８】
また、説明の容易化のために、連接ヘッダブロックも登場させず説明する。連接ヘッダブロックは、事実上、情報本体内に含ませたとしても処理上何ら問題が生じないためである。すなわち、ここでは、情報本体のコード語を、「TOKYO<cr>MINATO<cr>JPN」とし、非公開情報語を「0000000000009」として説明する。
【０１４９】
図１６は、ＲＳブロックの説明図である。図１７は、非公開情報語の説明図である。以下の説明において、特段のことわりがない場合、ＱＲコードシンボル１へのエンコード手法は、ＪＩＳ規格による手法が採用される。なお、ＱＲコードシンボル１は、複数のＲＳブロックを有する場合がほとんどであるが、ここでは説明の容易のために、１つのＲＳブロックを例示して説明を行う。また、以下に示される内容は容易な説明を行うための例示であるので、各コード語長は実際のものと異なることがある。また、含められる情報も実際のものと異なることがある。
【０１５０】
また、第１実施形態の前提として、記憶部１１ｂには、後述する非公開情報語で置換される開始位置を表す「オフセット情報」と、非公開情報語の「長さ（語数）情報」が記憶されていることとする。
【０１５１】
ここでは、情報本体のコード語を「TOKYO<cr>MINATO<cr>JPN」とし（図１６）、非公開情報語を「0000000000009」としている（図１７）。情報本体と非公開情報語の取り込みは、入力装置１４を介して行ってもよいし、記憶部１１ｂに予め記憶された情報を用いてもよい。
【０１５２】
ＱＲコードシンボル１は型番に応じてトータルのコード語数が定められている。トータルのコード語数は、情報本体の語数を含むデータコード語数と、訂正コード語数と、の和である。また、ＱＲコードシンボル１の型番に応じて、データコード語と訂正コード語からなるＲＳブロックの大きさと数が定められている。そして、誤り訂正は、ＲＳブロックを単位として行われる。
【０１５３】
例えば、誤り訂正レベルが「Ｈ」であって型番が「４」の場合、トータルのコード語数は「１００」と定められている。そして、４つのＲＳブロックを含むことが定められている。１つのＲＳブロックにおけるデータコード語数は「９」であり、訂正コード語数は「１６」である。
【０１５４】
データコード語数「９」と訂正コード語数「１６」の和は「２５」であり、このようなＲＳブロックが４つあるため、型番が「４」のＱＲコードシンボルは、２５×４＝１００の総コード語数を有することになる。
【０１５５】
また、このときの誤り訂正語数は、ＲＳブロック毎に「８」である。これは、データコード語数「９」のうちの「８」を訂正する能力を有することを表す。ＲＳブロックは４つであったから、４×８＝３２の語数の総訂正能力を有することになる。１００語のうち３２語を訂正可能としているので、全体からすると３２％の訂正能力を有することになる。
【０１５６】
非公開情報語による置換は、ＲＳブロック毎に、ＲＳブロックの誤り訂正数を超えない範囲で行われる。上記の場合であると、ＲＳブロック毎にコード語数「８」の置換が許容されることになり、全体では「３２」のコード語数の置換が許容される（「総置換許容語数）と呼ぶことがある）ことになる。
【０１５７】
情報本体のコード語長が長い場合には、情報本体のコード語は複数のブロックに分割される。そして、各ブロックに対して誤り訂正コード語が生成され、生成された訂正コード語が対応するコード語の後に付加される。そして、ＲＳブロックが生成される。なお、訂正コード語の生成手法については、ＪＩＳ規格に準ずることができる。
【０１５８】
図１６には、情報本体と終端符号とからなるデータコード語（公開データコード語に相当）と訂正コード語の一例が示されている。ここでは、情報本体のコード語としてプレインなテキスト情報が示されている。終端符号は、例えば、「００００」のビット列を採用することができる。そして、情報本体を含むコード語に基づいて生成されたＲＳ符号が付加され、ＲＳブロックが作成されている。
【０１５９】
このようにして生成されたＲＳブロックの一部が非公開情報語（非公開データコード語に相当）で置換される。
【０１６０】
図１８は、ＲＳブロックの一部を置換したときの第１の説明図である。図１８には、前述のＲＳブロックと、非公開情報語が示されている。そして、前述の非公開情報語の長さ情報とオフセット情報に基づき、図１８に示されるように、ＲＳブロックの先頭から非公開情報語で置換される。
【０１６１】
このように、ＲＳブロックの一部が非公開情報語で置換されると、情報本体の一部が消失してしまうことになる。しかしながら、ＲＳブロック単位で訂正を行うことができるため、標準デコーダでは、置換後の情報本体部分をＲＳ符号で訂正して適切に読み出し、表示できるのである。
【０１６２】
そして、非公開情報語で置換された部分は、ＱＲコードシンボル１の汚損等による誤りであるとみなされて捨てられてしまう情報となるので、標準デコーダでは表示することができない。一方、拡張デコーダ２０では、後述するように、置換後ＲＳブロックから非公開情報語を抽出する。そして、その後、ＲＳ符号により訂正を行って情報本体部分を読み出すことができる。
【０１６３】
ＲＳブロックに基づいてＱＲコードシンボル１を生成する手法は、ＪＩＳ規格における標準的なＱＲコード生成手法と同様のものを採用することができる。このようにすることで、ＱＲコードシンボル１を生成することができる。
【０１６４】
なお、上記では説明の容易のために、情報本体はプレインなテキストデータとして表したが、情報本体のデータ語自体をインターリーブしたり、暗号化することとしてもよい。そして、インターリーブ後の情報本体や暗号化後の情報本体に対して訂正コード語を付加して置換前ＲＳブロックを生成することとしてもよい。また、インターリーブや暗号化は、コード語単位でなくビット単位で行われることとしてもよい。
【０１６５】
また、非公開情報語についてもインターリーブしたり、暗号化することとしてもよい。また、非公開情報語について誤り検知または誤り訂正のための符号化（例えば、ＲＳ符号化など）がなされていることとしてもよい。
【０１６６】
次に、このようにして生成されたＱＲコードシンボル１のデコード手法について説明する。前提として、デコーダ２０の記憶部２１ｂには、非公開情報語の「長さ（語数）情報」、および、非公開情報語で置換される開始位置を表す「オフセット情報」が記憶されていることとする。
【０１６７】
図１９は、非公開情報語抽出のための読み出し方法の説明図である。図１９には、置換後ＲＳブロックと非公開情報語が示されている。
【０１６８】
置換後ＲＳブロックは、ＱＲコードシンボルを読み取り、ＪＩＳ規格に準じて展開することにより取得することができる。デコーダ２０は、記憶部２１ｂに記憶されている非公開情報語のオフセット情報と長さ情報とに基づいて、置換後ＲＳブロックにおける非公開情報語の位置を特定する。そして、特定した位置から非公開情報語を抽出する。
【０１６９】
図２０は、情報本体の読み出し方法の説明図である。デコーダ２０は、置換後ＲＳブロックの誤り訂正を行うことにより、置換前ＲＳブロックを取得する。そして、置換前ＲＳブロックの先頭から終端符号までの情報を読み出し、読み出したデータを情報本体とする。
【０１７０】
なお、前述のように、情報本体のデータ語自体がインターリーブされている場合には、その後、元の順序となるように所定の手法でデータの並び替えが行われる。また、暗号化されていた場合には、所定の復号化方法で復号が行われる。
【０１７１】
次に、比較例として、標準デコーダで拡張ＱＲコードシンボル１を読み取ったときの出力結果について説明する。標準デコーダでＱＲコードシンボル１を読み取ると、置換後ＲＳブロックのＲＳ符号に基づいて、ＲＳブロック全体の訂正が行われる。そして、情報本体部分も訂正がなされ、訂正後の情報本体が標準デコーダに表示される。標準デコーダには、前述の拡張デコーダ２０のように、置換後ＲＳブロックから非公開情報語を抽出する機能はないから、情報本体のみが読み出し可能であり、非公開情報語を抽出することはできない。
【０１７２】
また、比較例として、一般的なＱＲコードシンボルを拡張デコーダ２０で読み取ったときの出力結果について説明する。拡張デコーダ２０で一般的なＱＲコードシンボルを読み取ると、これに基づいてＲＳブロックを取得することができる。一般的なＱＲコードシンボルから取得されたＲＳブロックには非公開情報語は含まれていない。しかしながら、ＲＳブロックを取得した時点において、拡張デコーダ２０は、読み取ったシンボル１が拡張ＱＲコードシンボルであるのか一般的なＱＲコードシンボルであるのか判定することができない。
【０１７３】
そのため、拡張デコーダ２０は、第１実施形態における手法同様に、ＲＳブロックの非公開情報語が配置される位置から非公開情報語としてデータコード語を抽出する。その後、ＲＳブロックのＲＳ符号に基づいて、ＲＳブロック全体の訂正を行う。これにより、情報本体部分の訂正が行われ、訂正後の情報本体が拡張デコーダ２０に表示される。
【０１７４】
非公開情報語として読み出したコード語が非公開情報語であるのか否かの判定は、訂正前のＲＳブロックと訂正後のＲＳブロックとの間に所定割合以上の差異があったときには非公開情報語であったと判定（すなわち、ＱＲコードシンボルは拡張ＱＲコードシンボルであると判定）し、所定割合以上の差異がなかったときには非公開情報語ではなかったと判定（すなわち、ＱＲコードシンボルは一般的なＱＲコードシンボルであると判定）して非公開情報語を表示しないこととすることができる。これは、非公開情報語として置換が行われている場合には、置換前ＲＳブロックと置換後ＲＳブロッとの間の所定割合以上の差異が確実に生ずるものであるという理由に起因する。
【０１７５】
図２１は、ＲＳブロックの一部を置換したときの第２の説明図である。前述の手法では、ＲＳブロックの先頭から順に非公開情報語が置換されていた。しかしながら、リード・ソロモン符号による訂正能力を勘案すれば、ＲＳブロックのいずれの位置を非公開情報語で置換してもよい。
【０１７６】
この場合、予めＲＳブロックの先頭からいくつ目の位置から非公開情報語で置換されるかを決めておくことができる。例えば、図２１に示すように、ＲＳブロックの先頭から７語目の位置から１３語分の非公開情報語で置換することとしてもよい。この場合、拡張エンコーダ１０の記憶部１１ｂおよび拡張デコーダ２０の記憶部２１ｂには、オフセット情報として置換後ＲＳブロックの予め決められた７語目の位置から非公開情報語が開始されることが記憶されている。また、非公開情報語の長さ情報として、１３語分の長さであることが記憶されている。このような場合であっても、非公開情報語の語数がＲＳ符号による訂正可能語数よりも少ないことから、訂正を行うことで適切に置換前ＲＳブロックを得ることができる。そして、置換前ＲＳブロックから情報本体を読み出すことができる。
【０１７７】
なお、このとき、非公開情報語の最終語において所定の分離符号を付加することとして、置換される非公開情報語の最終端を規定することとしてもよい。
【０１７８】
図２２は、ＲＳブロックの一部を置換したときの第３の説明図である。ここでは、複数に分離した非公開情報語でＲＳブロックを置換する。
【０１７９】
この場合、予めＲＳブロックのどの位置が非公開情報語で置換されるかを複数箇所決めておくことができる。例えば、図２２に示すように、ＲＳブロックの先頭から３語目の位置から３語分の非公開情報語で置換し、ＲＳブロックの先頭から８語目の位置から２語分の非公開情報語で置換し、ＲＳブロックの先頭から１１語目の位置から１語分の非公開情報語で置換し、ＲＳブロックの先頭から１６語目の位置から４語分の非公開情報語で置換し、ＲＳブロックの先頭から２２語目の位置から３語分の非公開情報語で置換することとしてもよい。
【０１８０】
この場合、拡張エンコーダ１０の記憶部１１ｂと拡張デコーダ２０の記憶部２１ｂには、オフセット情報および長さ情報として上記の情報が記憶されているものとする。このようにすることで、拡張デコーダ２０は、このように予め特定された位置から、それぞれの非公開情報語を抽出することができる。また、この場合も非公開情報語の語数がＲＳ符号による訂正可能語数よりも少ないことから、訂正を行うことで適切に置換前ＲＳブロックを得ることができる。そして、置換前ＲＳブロックから情報本体を読み出すことができる。
【０１８１】
＝＝＝第２実施形態＝＝＝
前述の第１実施形態では、非公開情報語のオフセット情報、および、長さ情報などの配置に関する情報（以下、配置情報ということがある）が、予め拡張エンコーダ１０の記憶部１１ｂ、および、拡張デコーダ２０の記憶部２１ｂに記憶されていることしていた。第２実施形態では、ヘッダデータコード語（図中において「ヘッダ」）にこれら配置情報が記録される。そして、第２実施形態では、さらにこのヘッダデータコード語が置換後ＲＳブロックに含まれているものとしている。
【０１８２】
図２３は、第２実施形態におけるＲＳブロックの概念図である。図２３を前述の第１実施形態における図５と比較すると分かるように、第２実施形態では、拡張エンコーダ１０が、置換前ＲＳブロックの一部をヘッダデータコード語と非公開情報語とで置換し、置換後ＲＳブロックを生成する。
【０１８３】
第２実施形態において、ヘッダデータコード語と非公開情報語による置換は、ＲＳブロックの誤り訂正数を超えない範囲で行われる。すなわち、ヘッダデータコード語の語数と非公開情報語の語数との総語数は、ＲＳブロックの誤り訂正数を超えない。
【０１８４】
図２３に示されるヘッダデータコード語には、前述のように非公開情報語の配置情報が含まれる。よって、このヘッダデータコード語を参照することにより、非公開情報語の開始位置およびその長さ（語数）を特定することができる。なお、ヘッダデータコード語の位置は予め決められているものとする。また、さらにヘッダデータコード語は、非公開情報語のフォーマットに関する情報を含むことができる。非公開情報語のフォーマットに関する情報には、仮に、非公開情報語を暗号化したときにおける暗号鍵の情報や、非公開情報語をインターリーブしたときにおける配置入れ替えに関する情報が含まれる。また、非公開情報語について誤り検知または誤り訂正のための符号化がなされている場合には、誤り検知または誤り訂正の手法に関する情報が含まれる。
【０１８５】
図２４は、第２実施形態におけるヘッダデータコード語および非公開情報語の説明図である。図２４には、ヘッダデータコード語と非公開情報語が示されており、非公開情報語の一部に訂正符号語が含まれることが示されている。
【０１８６】
図２５は、第２実施形態による手法でＲＳブロックの一部を置換したときの第１の説明図である。図２５には、ＲＳブロックと非公開情報語とヘッダデータコード語が示されている。そして、ここでは、図２５に示されるように、ＲＳブロックは、拡張エンコーダ１０により、その先頭から非公開情報語で置換される。また、ＲＳブロックは、その後端がヘッダデータコード語で置換される。そして、このヘッダデータコード語には、非公開情報語の配置情報（この場合、先頭から開始（すなわち、オフセットがゼロである）すること、および、１１語の長さを有すること）が含まれている。
【０１８７】
このように、ＲＳブロックの一部が非公開情報語で置換されると、情報本体および訂正コード語の一部が消失してしまうことになる。しかしながら、ＲＳブロック単位で訂正を行うことができるため、標準デコーダでは、置換後の情報本体部分をＲＳ符号で訂正して適切に読み出し、表示できる。そして、非公開情報語で置換された部分は、ＱＲコードシンボル１の汚損等による誤りであるとみなされて捨てられてしまう情報となるので、標準デコーダでは表示することができない。
【０１８８】
一方、拡張デコーダ２０では、置換後ＲＳブロックから非公開情報語を抽出する。その際、ヘッダデータコード語から非公開情報語の位置を特定するための配置情報を取得する。そして、その配置情報に基づいて非公開情報語を抽出する。なお、非公開情報語には、訂正符号語が付加されているため、仮に、非公開情報語に汚損があったとしても、訂正符号語を用いてこれを訂正することもできる。
【０１８９】
また、非公開情報語についてインターリーブされている場合には、ヘッダデータコード語に含まれるインターリーブ手法についての情報に基づいて、元の順序に並べ替えを行うことができる。また、情報本体についてインターリーブされている場合にも、ヘッダデータコード語に含まれるインターリーブ手法についての情報に基づいて、元の順序に並べ替えを行うこともできる。また、非公開情報語について暗号化が行われている場合には、ヘッダデータコード語に含まれる暗号鍵等に基づいて復号化を行うことができる。また、前述のように、非公開情報語について誤り検知または誤り訂正のための符号化（例えば、ＲＳ符号化など）がなされている場合には、ヘッダデータコード語に含まれる情報に基づいて誤り訂正の手法を特定することができる。
【０１９０】
このようにして非公開情報語を抽出した後、拡張デコーダ２０は、置換後ＲＳブロックの訂正を行って置換前ＲＳブロックを求める。そして、置換前ＲＳブロックに含まれる情報本体部分を読み出す。そして、読み出された非公開情報語と情報本体部分を表示する。
【０１９１】
図２６は、第２実施形態による手法でＲＳブロックの一部を置換したときの第２の説明図である。前述の図２６の手法では、ＲＳブロックの先頭から順に非公開情報語で置換されていた。しかしながら、図２６に示すように、先頭以外の位置から非公開情報語で置換することとしてもよい。
【０１９２】
図２６に示されるような場合、ＲＳブロックの９語目から非公開情報語の置換が開始されることがヘッダデータコード語中のオフセット情報に含まれている。また、非公開情報語が１１語分の長さを有することがヘッダデータコード語中の長さ情報に含まれている。これにより、ヘッダデータコード語を参照することで、第１実施形態のときと同様に非公開情報語を適切に抽出することができる。
【０１９３】
これは、前述の図２２のときのように、非公開情報語が分散して置換される場合にも同様に適用することができる。
【０１９４】
図２７は、第２実施形態による手法でＲＳブロックの一部を置換したときの第３の説明図である。このとき、ヘッダデータコード語の位置はＲＳブロックの１３語目から開始して２語の長さを有することが予め決められているものとする。このように、非公開情報語が分散して置換される場合には、ヘッダデータコード語には複数の非公開情報語の配置情報を含むことになる。このようにすることで、ヘッダデータコード語を参照することで適切に非公開情報語を抽出することができる。
【０１９５】
なお、ヘッダデータコード語の位置は予め決められていたものとして説明を行ったが、ヘッダデータコード語の前後にデリミタを設けることとしてヘッダデータコード語の位置を特定することとしてもよい。
【０１９６】
なお、読み取ったＱＲコードシンボルが一般的なＱＲコードシンボルであるか第２実施形態におけるＱＲコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第２実施形態におけるＱＲコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ２０は、非公開情報語を表示することとすることができる。また、一般的なＱＲコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ２０は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
【０１９７】
＝＝＝第３実施形態＝＝＝
図２８は、第３実施形態による手法でＲＳブロックの一部を置換したときの説明図である。図２８には、置換前ＲＳブロックと非公開情報語と暫定置換後ＲＳブロックとヘッダデータコード語と置換後ＲＳブロックが示されている。
【０１９８】
第３実施形態において、拡張エンコーダ１０は、置換前ＲＳブロックの一部を非公開情報語で置換する。そして、暫定置換後ＲＳブロックを生成する。なお、非公開情報語には、後述するように、ヘッダデータコード語によって置換されてもそれを訂正しうるだけの訂正能力を有する訂正符号語が含まれている。
【０１９９】
次に、拡張エンコーダ１０は、暫定置換後ＲＳブロックにおいて非公開情報語で置換した部分の一部をヘッダデータコード語で置換する。そして、置換後ＲＳブロックを生成する。その後、拡張エンコーダ１０は、生成された置換後ＲＳブロックに基づいてＱＲコードシンボルを生成する。
【０２００】
次に、デコード手法について説明する。第３実施形態における拡張デコーダ２０は、このようにして生成されたＱＲコードシンボルを読み取り、置換後ＲＳブロックを展開する。そして、拡張デコーダ２０は、ヘッダデータコード語を読み出す。ヘッダデータコード語の位置は、第１実施形態および第２実施形態のときと同様に、予め決められた位置としておくこともできるし、ヘッダデータコード語の前後にデリミタを設けることとしてその位置を特定することとしてもよい。
【０２０１】
このようにして読み出されたヘッダデータコード語に含まれる配置情報に基づいて、非公開情報語の位置が特定される。そして、非公開情報語が抽出される。非公開情報語には、前述のように訂正符号語が含まれているため、この訂正符号語に基づいて訂正を行うことにより、ヘッダデータコード語によって置換された部分も適切に訂正される。そして、ヘッダデータコード語によって置換される前の非公開情報語が適切に抽出される。
【０２０２】
このようにすることで、まずは暫定置換後ＲＳブロックを得ることができる。次に、デコーダ２０は、置換前ＲＳブロックに含まれる訂正符号語を用いて訂正を行う。これにより、非公開情報語によって置換された部分も適切に訂正され、置換前ＲＳブロックを得ることができる。そして、拡張デコーダ２０は、置換前ＲＳブロックから情報本体を読み出すことができる。
【０２０３】
第３実施形態において、非公開情報語の語数は、置換前ＲＳブロックに含まれる訂正符号語による訂正可能語数を超えない。また、第３実施形態において、ヘッダデータコード語の語数は、非公開情報語に含まれる訂正符号語による訂正可能語数を超えない。これにより、適切に非公開情報語および情報本体を読み出すことができる。
【０２０４】
第３実施形態において特徴的なのは、このように非公開情報語で置換した部分の一部をヘッダデータコード語で置換する点である。このようにすることで、ヘッダデータコード語と非公開情報語が重なり合うこととなるので、ヘッダデータコード語と非公開情報語との総語長を短くすることができる。これにより、ＱＲコードシンボルの誤り検出・訂正能力の余力をより大きく持たせることができる。
【０２０５】
なお、第３実施形態においても第２実施形態と同様に、読み取ったＱＲコードシンボルが一般的なＱＲコードシンボルであるか第３実施形態におけるＱＲコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第３実施形態におけるＱＲコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ２０は非公開情報語を表示することとすることができる。また、一般的なＱＲコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ２０は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
【０２０６】
＝＝＝第４実施形態＝＝＝
図２９は、第４実施形態による手法でＲＳブロックの一部を置換したときの説明図である。図２９には、置換前ＲＳブロックと非公開情報語と置換後ＲＳブロックが示されている。
【０２０７】
第４実施形態において、置換前ＲＳブロックの情報本体には、ヘッダデータコード語が含まれている。ヘッダデータコード語の前後にはデリミタ（図２９において「デリ」と記載）が配置され、これにより、情報本体における表示情報とヘッダデータコード語との切り分けが行われている。
【０２０８】
このような置換前ＲＳブロックを生成するために、第４実施形態において、拡張エンコーダ１０は、表示情報とヘッダデータコード語とデリミタを含む情報本体を生成する。ヘッダデータコード語には、後述する非公開情報語の配置情報が含まれている。また、拡張エンコーダ１０は、これらの情報本体（存在すればパディングコード語も含め）に基づいて、訂正コード語を生成する。そして、置換前ＲＳブロックを生成する。
【０２０９】
次に、拡張エンコーダ１０は、非公開情報語で置換前ＲＳブロックの一部を置換する。ここで、置換する位置は、ヘッダデータコード語に含まれる配置情報に対応する位置である。そして、置換後ＲＳブロックを生成する。その後、拡張エンコーダ１０は、置換後ＲＳブロックに基づいてＱＲコードシンボルを生成する。
【０２１０】
次に、デコード手法について説明する。第４実施形態における拡張デコーダ２０は、このようにして生成されたＱＲコードシンボルを読み取り、置換後ＲＳブロックを展開する。そして、拡張デコーダ２０は、置換前ＲＳブロックに含まれる訂正符号語に基づいて、置換後ＲＳブロックを訂正することにより置換前ＲＳブロックを得る。置換前ＲＳブロックには、前述のようにデリミタで切り分けされたヘッダデータコード語が含まれる。拡張デコーダ２０は、このヘッダデータコード語に含まれる配置情報に基づいて、置換後ＲＳブロックから非公開情報語の位置を特定し、抽出する。抽出された非公開情報語について、非公開情報語に含まれる訂正符号語を用いて訂正が行われることとしてもよい。
【０２１１】
このように、非公開情報語の配置情報を含むヘッダデータコード語を非公開情報語で置換して置換後ＲＳブロックを生成するので、置換後ＲＳブロックから非公開情報語の位置を特定することが困難となる。そして、第三者にとって、非公開情報語の抽出をより困難なものとすることができる。
【０２１２】
なお、第４実施形態において、読み取ったＱＲコードシンボルが一般的なＱＲコードシンボルであるか第４実施形態におけるＱＲコードシンボルであるかの判定は、読み出した置換前ＲＳブロックにヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第４実施形態における置換前ＲＳブロックには、ヘッダデータコード語が含まれているので、拡張デコーダ２０は非公開情報語を表示することとすることができる。また、一般的なＱＲコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ２０は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
【０２１３】
＝＝＝第５実施形態＝＝＝
図３０は、第５実施形態による手法でＲＳブロックの一部を置換したときの説明図である。図３０には、置換前ＲＳブロックと非公開情報語とヘッダデータコード語と置換後ＲＳブロックが示されている。
【０２１４】
第５実施形態において、置換前ＲＳブロックの情報本体には、ヘッダデータコード語の位置情報を含んだヘッダデータコード語オフセット位置情報語（図３０において「オフセット」と記載。「ヘッダ位置データコード語」に対応する）が含まれている。ヘッダオフセット位置情報語の前後には、デリミタが配置され、これにより、情報本体における表示情報とヘッダオフセット位置情報語との切り分けが行われている。
【０２１５】
このような置換前ＲＳブロックを生成するために、第５実施形態において、拡張エンコーダ１０は、表示情報とヘッダオフセット位置情報語とデリミタを含む情報本体を生成する。そして、拡張エンコーダ１０は、これらの情報本体（存在すればパディングコード語も含め）に基づいて、訂正コード語を生成する。そして、置換前ＲＳブロックを生成する。
【０２１６】
次に、拡張エンコーダ１０は、非公開情報語で置換前ＲＳブロックの一部を置換する。ここで、置換する位置は、ヘッダデータコード語に含まれる非公開情報語の配置情報に対応する位置である。ここでは、非公開情報語の配置情報において、ＲＳブロックの５語目から非公開情報語の置換が開始され、非公開情報語が１１語分の長さを有することの情報が含まれているものとする。そして、暫定置換後ＲＳブロックを生成する。
【０２１７】
次に、拡張エンコーダ１０は、暫定置換後ＲＳブロックにおける非公開情報語の一部をヘッダデータコード語で置換する。ここで、置換する位置は、前述のヘッダオフセット位置情報語に含まれるヘッダデータコード語の位置情報に対応する位置である。ここでは、ＲＳブロックの７語目から置換が行われることの情報がヘッダオフセット位置情報語に含まれるものとする。また、ヘッダデータコード語の長さは予め２語分であることが定められているものとする。そして、これらの情報に基づいて、拡張エンコーダ１０はヘッダデータコード語による置換を行い、置換後ＲＳブロックを生成する。その後、拡張エンコーダ１０は、置換後ＲＳブロックに基づいてＱＲコードシンボルを生成する。
【０２１８】
次に、デコード手法について説明する。第５実施形態における拡張デコーダ２０は、このようにして生成されたＱＲコードシンボルを読み取り、置換後ＲＳブロックを展開する。そして、拡張デコーダ２０は、ＲＳブロックに含まれる訂正符号語に基づいて、置換後ＲＳブロックを訂正することにより、置換前ＲＳブロックを得る。置換前ＲＳブロックには、前述のようにデリミタで切り分けされたヘッダオフセット位置情報語が含まれる。
【０２１９】
拡張デコーダ２０は、このヘッダオフセット位置情報語に基づいて、置換後ＲＳブロックにおけるヘッダデータコード語の位置を特定する。そして、特定した置換後ＲＳブロックの位置からヘッダデータコード語を読み出し、非公開情報語の配置情報を得る。
【０２２０】
拡張デコーダ２０は、非公開情報語の配置情報に基づいて、置換後ＲＳブロックから非公開情報語を抽出する。ただし、この非公開情報語は、ヘッダデータコード語により一部が置換されている。よって、拡張デコーダ２０は、非公開情報語に含まれる訂正符号語に基づいて訂正をし、ヘッダデータコード語によって置換がされる前の非公開情報語を得る。これにより、適切に非公開情報語を取得することができる。
【０２２１】
また、拡張デコーダ２０は、置換前ＲＳブロックの情報本体からヘッダオフセット位置情報語とデリミタを除いた情報語を取得する。
【０２２２】
このようにすることで、ヘッダデータコード語の位置を特定するためのヘッダオフセット位置情報語を情報本体に含めることし、このヘッダオフセット位置情報語をさらに非公開情報語で置換するので、非公開情報語の位置を特定することがより困難となる。そして、第三者にとって、非公開情報語を抽出することをより困難なものとすることができる。
【０２２３】
なお、前述の第２実施形態のように、ヘッダデータコード語に含まれる非公開情報語の配置情報に基づいて、任意の位置から非公開情報語を置換したり、非公開情報語を複数に分離させて置換することとすることもできる。また、ヘッダデータコード語の情報に基づいて、非公開情報語を暗号化したりインターリーブしたりすることもできる。
【０２２４】
また、ヘッダデータコード語の位置を「オフセット」に基づいて特定することとしたが、ヘッダデータコード語の位置を特定できればオフセット量で特定しなくとも、他の手法でその位置を特定してもよい。
【０２２５】
なお、第５実施形態においても第２実施形態と同様に、読み取ったＱＲコードシンボルが一般的なＱＲコードシンボルであるか第５実施形態におけるＱＲコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第５実施形態におけるＱＲコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ２０は非公開情報語を表示することとすることができる。また、一般的なＱＲコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ２０は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
【０２２６】
＝＝＝第６実施形態＝＝＝
図３１は、第６実施形態による手法でＲＳブロックの一部を置換したときの第１の説明図である。図３１には、置換前ＲＳブロックと非公開情報語と置換後ＲＳブロックが示されている。
【０２２７】
第６実施形態において、拡張エンコーダ１０は、情報本体（存在すればパディングコード語も含め）に基づいて、訂正コード語を生成する。そして、置換前ＲＳブロックを生成する。次に、拡張エンコーダ１０は、置換前ＲＳブロックの一部を非公開情報語で置換する。そして、置換後ＲＳブロックを生成する。そして、置換後ＲＳブロックに基づいて、ＱＲコードシンボルを生成する。このように、第６実施形態において、ＱＲコードシンボルの生成方法は、第１実施形態とほぼ同様の手法による。
【０２２８】
次に、デコード手法について説明する。第６実施形態における拡張デコーダ２０は、このようにして生成されたＱＲコードシンボルを読み取り、置換後ＲＳブロックを展開する。そして、そして、拡張デコーダ２０は、ＲＳブロックに含まれる訂正符号語に基づいて、置換後ＲＳブロックを訂正することにより、置換前ＲＳブロックを得る。
【０２２９】
拡張デコーダ２０は、置換前ＲＳブロックと置換後ＲＳブロックとを比較する。そして、置換前ＲＳブロックと異なる部分を置換後ＲＳブロックから読み出す。このようにして読み出された情報語は非公開情報語とされる。また、置換前ＲＳブロックから情報本体を読み出す。置換前ＲＳブロックには、情報本体と訂正符号語の間に終端符号が設けられているため、デコーダ２０は、この終端符号に基づいて情報本体と訂正符号語とを切り分けることができる。
【０２３０】
このようにすることで、非公開情報語と情報本体を読み出すことができる。そして、第６実施形態の手法によれば、単に置換前ＲＳブロックと置換後ＲＳブロックとを比較し、異なる部分を読み出せばよいので、非公開情報語の位置情報が不要となる利点がある。すなわち、仮にヘッダデータコード語を用いる場合には、ヘッダデータコード語の語数を減らすことができる。
【０２３１】
図３２は、第６実施形態における手法でＲＳブロックの一部を置換したときの第２の説明図である。ここでは、複数に分離した非公開情報語でＲＳブロックを置換する。
【０２３２】
例えば、図３２に示すように、非公開情報語を５つに分離してＲＳブロックの一部を置換することができる。このようにした場合であっても、非公開情報語の語数がＲＳ符号による訂正可能語数より少ないことから、訂正を行うことで適切に置換前ＲＳブロックを得ることができる。そして、この場合も置換前ＲＳブロックと置換後ＲＳブロックとの差分をとることによって、非公開情報語を得ることができる。また、置換前ＲＳブロックの予め特定された位置からデータ語を読み出すことにより情報本体を得ることができる。
【０２３３】
このように、差分に基づいて非公開情報語を抽出する手法は、ＱＲコードシンボルに汚損が生じにくく、ＲＳブロックにも汚損が生じにくい場合に特に有効である。例えば、ＱＲコードシンボルの画像データファイルを生成し、これをファイルとして取り込み、非公開情報語等を読み出す場合には、ＱＲコードシンボルが外部に曝される機会がないため、汚損が生ずることがありえない。
【０２３４】
この手法によれば、前述のように、特段ヘッダデータコード語等を設けなくても非公開情報語を特定することができるという利点がある。これは、より多くの非公開情報語で置換をすることができるという利点になる。
【０２３５】
非公開情報語として読み取ったコード語が非公開情報語であるのか否かの判定は、第１実施形態と同様に、訂正前のＲＳブロックと訂正後のＲＳブロックとの間に所定割合以上の差異があったときには非公開情報語であったと判定（すなわち、ＱＲコードシンボルは第６実施形態におけるＱＲコードシンボルであると判定）し、所定割合以上の差異がなかったときには非公開情報語ではなかったと判定（すなわち、ＱＲコードシンボルは一般的なＱＲコードシンボルであると判定）して非公開情報語を表示しないこととすることができる。これは、非公開情報語として置換が行われている場合には、置換前ＲＳブロックと置換後ＲＳブロックとの間の所定割合以上の差異が確実に生ずるものであるという理由に起因する。
【０２３６】
ところで、差分による上記のような手法でデコードを行った場合、置換前データブロックと置換後データブロックの非公開情報語で置換される部分において、きわめて希にではあるが、偶然に同じ語となった部分がある場合には、その部分は差分として読み出されないという問題がある。この場合、ヘッダデータコード語、および、非公開情報語に含まれる各語は必ず連続で置換されることとしておく。
【０２３７】
図３３は、第６実施形態における手法でＲＳブロックの一部を置換したときの第３の説明図である。ここでは、ヘッダデータコード語の各語と非公開情報語の各語が連続して配置されるという規則を適用する。このような規則を適用することで、これらの語は必ず連続して置換されていることになるので、たとえ偶然に同じ語となることで欠落した語があったとしても、偶然一致してしまった語で欠落部分を埋めることで情報を補完することができる。
【０２３８】
ところで、このようにＲＳブロックの端部以外でコード語の欠落が生じた場合には単に対応する位置のデータコード語でその欠落部分を埋めればよい。しかし、ＲＳブロックの端部で欠落が生じた場合には、その欠落が先端部分で生じたのか後端部分で生じたのかを特定すること自体が困難となる。よって、この場合には、次に説明するように、端部についていくつかの補完を行って、検証を行う。
【０２３９】
図３４は、一部欠落したＲＳブロックの説明図である。図３４には、欠落のないＲＳブロックと、データコード語の先端部分が欠落したＲＳブロック（以下、先端欠落ＲＳブロックと呼ぶ）と、訂正コード語の後端部分が欠落したＲＳブロック（以下、後端欠落ＲＳブロックと呼ぶ）と、両端部分が欠落したＲＳブロック（以下、両端欠落ＲＳブロックと呼ぶ）が示されている。なお、説明の便宜上、各セル内に具体的なコード語は示されていない。これらの図において、欠落したコード語の部分は、破線で示されている。このように、ＲＳブロックの端部が欠落するケースとしては、これらの３つのケースがあることになる。
【０２４０】
これらのようなＲＳブロックについては、可能な組み合わせで先端及び後端に補完を行う。そして、全ての組み合わせについて、（１）補完されたＲＳブロックで訂正処理が機能するか、（２）訂正処理が機能したとしてその訂正結果がブロック構成構文として正しいか、の検証を行う。
【０２４１】
図３５は、先端欠落ＲＳブロックの補完の説明図である。図３５には、先端欠落ＲＳブロックに対して誤った補完が行われたＲＳブロックが示されている。先端欠落ＲＳブロックは、本来、先端部分について補完が行われるべきであるが、欠落したＲＳブロックを見ただけでは先端部分が欠落しているのか後端部分か欠落しているのかは分からない。そのため、先端部分の補完を行ったＲＳブロックと、後端部分の補完を行ったＲＳブロックとの両方を生成する。そして、補完を行った両方のＲＳブロックについて、訂正コード語を用いて訂正を行うことになる。
【０２４２】
先端部分の補完を行ったＲＳブロックは、正しいＲＳブロックとなるため、適切に訂正処理が行われ、訂正結果としてもブロック構成構文として正しい結果となる。
【０２４３】
これに対し、後端部分の補完を行ったＲＳブロックは、図３５に示されるように、想定される語長から訂正コード語の位置が推定され、その結果、誤った位置が訂正コード語の位置であるとして特定されてしまう。このように誤って訂正コード語であると認識された領域のコード語に基づいて訂正が行われるため、適切に訂正は行われないことになる。
【０２４４】
なお、ここでは、１語分の欠落が生じたものとして説明を行ったが、欠落した語数が複数語であっても、特定される訂正コード語の位置は誤った位置となることから、やはり適切に訂正は行われないことになる。
【０２４５】
図３６は、後端欠落ＲＳブロックの補完の説明図である。図３６には、後端欠落ＲＳブロックに対して誤った補完が行われたＲＳブロックが示されている。後端欠落ＲＳブロックは、本来、後端部分について補完が行われるべきであるが、やはりこの場合も、欠落したＲＳブロックを見ただけでは先端部分が欠落しているのか後端部分か欠落しているのかは分からない。そのため、この場合も、先端部分の補完を行ったＲＳブロックと、後端部分の補完を行ったＲＳブロックとの両方を生成する。そして、補完を行った両方のＲＳブロックについて訂正コード語を用いて、訂正を行うことになる。
【０２４６】
後端部分の補完を行ったＲＳブロックは、正しいＲＳブロックとなるため、適切に訂正処理が行われ、訂正結果としてもブロック構成構文として正しい結果となる。
【０２４７】
これに対し、先端部分の補完を行ったＲＳブロックは、図３６に示されるように、想定される語長から訂正コード語の位置が推定され、その結果、誤った位置が訂正コード語の位置であるとして特定されてしまう。このように誤って訂正コード語であると認識された領域のコード語に基づいて訂正が行われるため、適切に訂正は行われないことになる。
【０２４８】
なお、ここでも、１語分の欠落が生じたものとして説明を行ったが、欠落した語数が複数語であっても、特定される訂正コード語の位置は誤った位置となることから、やはり適切に訂正は行われないことになる。
【０２４９】
図３７は、両端欠落ＲＳブロックの補完の説明図である。図３７には、両端欠落ＲＳブロックに対して誤った補完が行われた２つのＲＳブロックが示されている。ここでは、１語ずつ各端部で欠落が生じていることを想定している。このような両端欠落ＲＳブロックにおいて、本来、先端部分と後端部分について１語ずつの補完が行われるべきではあるが、やはりこの場合も欠落したＲＳブロックを見ただけでは、どのような形態で欠落が生じているのかが分からない。
【０２５０】
そのため、この場合には、先端部分に２語の補完を行ったＲＳブロックと、後端部分に２語の補完を行ったＲＳブロックと、各端部分に１語ずつの補完を行ったＲＳブロックを生成することになる。そして、それぞれ補完したＲＳブロックについて、訂正ブロックを用いて訂正することになる。その後の検証方法は、先端欠落ＲＳブロックにて補完を行った場合および後端欠落ＲＳブロックにて補完を行った場合と同様であるので、説明を省略する。
【０２５１】
このようにして、考えられる全てのケースの補完を行って検証を行うことで、適切に補完がされたＲＳブロックを得ることができる。
【０２５２】
ここでは、上記の３ケースについて説明を行ったが、欠落したデータコード語の数に応じて検証するべき数が変化する。
【０２５３】
例えば、前述のように、データコード語が１語欠落する場合は、先端部分が１語欠落する場合と、後端部分が１語欠落する場合の２ケースが考えられることになる。
【０２５４】
また、データコード語が２語欠落する場合は、先端部分が２語欠落する場合と、先端部分が２語欠落しかつ後端部分が１語欠落する場合と、後端部分が２語欠落する場合の３ケースが考えられることになる。
【０２５５】
また、データコード語が３語欠落する場合は、先端部分が３語欠落する場合と、先端部分が２語欠落しかつ後端部分が１語欠落する場合と、先端部分が１語欠落しかつ後端部分が２語欠落する場合と、後端部分が３語欠落する場合の４ケースが考えられることになる。
【０２５６】
これらの規則性からすると、端部でＮ語欠落している場合には、（Ｎ＋１）種類の検証を行うことになる。そして、（Ｎ＋１）種類の検証を行った後、適切に訂正を行えたものを採用することができる。
【０２５７】
このように、先端部分や後端部分に欠落が生じた場合であっても、これに対応するケースだけ補完を行ったＲＳブロックを生成し、それぞれを検証することによって、適切に正しい補完を行うことができる。なお、極めて希に、誤った補完を行ったＲＳブロックにおいて訂正機能が成立してしまう場合も有りうるが、この場合、訂正後のブロックが定められたフォーマットにしたがっていない等の不具合を有することになる。そのため、これに基づいて、正常な補完ではないと判定することができる。
【０２５８】
＝＝＝第７実施形態＝＝＝
次のような手法を用いて非公開情報をＲＳブロックに埋め込むこともできる。
【０２５９】
図３８は、第７実施形態におけるＲＳブロックの概要図である。図３８には、前述の図５と同様に、非公開情報、モード指示子、シンボル列指示子、パリティデータ、情報本体、終端符号、パディングコード語、および、ＲＳ符号が示されている。ただし、図３８では、パディングコード語が非公開情報で置き換えられる点、および、訂正コード語としてのＲＳ符号が非公開情報を埋め込んだ後に生成される点で図５と異なっている。
【０２６０】
ＪＩＳ規格に応じて求められたＲＳブロックのデータコード総数が、ＲＳブロックで収容可能な容量に満たない場合に、情報本体のコード列の終端を示す終端符号をこのコード列の最後に配置する。さらに、コード領域の空き部分にデータを表さない埋め草コード（パディングコード語）を配置する（図３８の上側の図）。第７実施形態では、さらに、非公開情報をパディングコードの一部または全部に変えて、終端符号コードの後に配置する（図３８の下側の図）。そして、その後、訂正コード語としてのＲＳ符号が生成される。
【０２６１】
このようにして生成された挿入後ＲＳブロック（ここでは、「置換後ＲＳブロック」との差異を明らかにするために「挿入後ＲＳブロック」と呼ぶ）は、一般的なデコーダでは、終端符号以降のコード語は意味の無いパディングコードとして無視され捨てられてしまう。そして、情報本体のみを読み出すことができる。一方、このようなフォーマットに対応する拡張デコーダでは、終端符号以降のデータを非公開情報として抽出することができる。
【０２６２】
＝＝＝その他の実施形態＝＝＝
上述の実施形態では、標準ＱＲコード、または、拡張ＱＲコードを二次元コードの一例として挙げ説明したが、他の二次元コードを用いることができることは言うまでもない。また、二次元コードの一部を何らかの保護マスク（ＪＩＳ規格で定められている前述の標準マスクパターンのように用途が他に規定されているものを除く）でマスク化すること（マスキング）も上記実施形態における保護符号化の範疇である。同様に、この保護マスクを解除することも上記実施形態における保護復号化の範疇である。また、「保護符号化」における「符号化」は「エンコード」ということもでき、同様に、「保護復号化」における「復号化」は「デコード」ということもできる。
【０２６３】
以上、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
【符号の説明】
【０２６４】
１０  拡張エンコーダ、
１１  制御部、１１ａ  演算部、１１ｂ  記憶部、
１３  表示装置、１４  印刷装置、１５  入力装置、
２０  拡張デコーダ、
２１  制御部、２１ａ  演算部、２１ｂ  記憶部、
２２  撮像装置、２３  表示装置、２４  印刷装置、２５  入力装置
【図２】
0005914579.tif 000002
【図３】
0005914579.tif 000003
【図４】
0005914579.tif 000004
【図５】
0005914579.tif 000005
【図６】
0005914579.tif 000006
【図７】
0005914579.tif 000007
【図８】
0005914579.tif 000008
【図９】
0005914579.tif 000009
【図１０】
0005914579.tif 000010
【図１１】
0005914579.tif 000011
【図１２】
0005914579.tif 000012
【図１３】
0005914579.tif 000013
【図１４】
0005914579.tif 000014
【図１５】
0005914579.tif 000015
【図１６】
0005914579.tif 000016
【図１７】
0005914579.tif 000017
【図１８】
0005914579.tif 000018
【図１９】
0005914579.tif 000019
【図２０】
0005914579.tif 000020
【図２１】
0005914579.tif 000021
【図２２】
0005914579.tif 000022
【図２３】
0005914579.tif 000023
【図２４】
0005914579.tif 000024
【図２５】
0005914579.tif 000025
【図２６】
0005914579.tif 000026
【図２７】
0005914579.tif 000027
【図２８】
0005914579.tif 000028
【図２９】
0005914579.tif 000029
【図３０】
0005914579.tif 000030
【図３１】
0005914579.tif 000031
【図３２】
0005914579.tif 000032
【図３３】
0005914579.tif 000033
【図３４】
0005914579.tif 000034
【図３５】
0005914579.tif 000035
【図３６】
0005914579.tif 000036
【図３７】
0005914579.tif 000037
【図３８】
0005914579.tif 000038
【図１】
0005914579.tif 000039