JP5914579B2 - 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置 - Google Patents

秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置 Download PDF

Info

Publication number
JP5914579B2
JP5914579B2 JP2014123332A JP2014123332A JP5914579B2 JP 5914579 B2 JP5914579 B2 JP 5914579B2 JP 2014123332 A JP2014123332 A JP 2014123332A JP 2014123332 A JP2014123332 A JP 2014123332A JP 5914579 B2 JP5914579 B2 JP 5914579B2
Authority
JP
Japan
Prior art keywords
information
data
code
dimensional code
protection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014123332A
Other languages
English (en)
Other versions
JP2016004357A (ja
Inventor
傳生 西▲崎▼
傳生 西▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan TDK Label Co Ltd
Original Assignee
Toppan TDK Label Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan TDK Label Co Ltd filed Critical Toppan TDK Label Co Ltd
Priority to JP2014123332A priority Critical patent/JP5914579B2/ja
Priority to EP15809578.6A priority patent/EP3156946B1/en
Priority to US15/319,200 priority patent/US10062023B2/en
Priority to PCT/JP2015/064335 priority patent/WO2015194298A1/ja
Publication of JP2016004357A publication Critical patent/JP2016004357A/ja
Application granted granted Critical
Publication of JP5914579B2 publication Critical patent/JP5914579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Description

本発明は、秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置
図形コードを読み取り、そこに含まれる情報を取り出す二次元コードの技術として、たとえば、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−QRコード−」がある。そして、さらにこのような二次元コードに開示対象情報以外の秘匿対象情報を隠蔽する技術が開発されている。そして、このように見た目は標準的な二次元コードに秘匿対象情報を隠蔽することで、暗号鍵情報や個人情報などの取り扱いを必要とする産業応用への途が開かれてきた。
特許文献1には、二次元コードを介して情報を送受信することが開示されている。また、特許文献2には、送り主や受取主の個人情報を保護しうる配送管理システムが開示されている。
特開2004−147006号公報 特開2009−31969号公報
秘匿対象情報を隠蔽する手法として情報コード語そのものを暗号化することも考えられる。しかしながら、情報コード語を暗号化したのでは、少なくとも二次元コードを読み取ることまでは可能である。そうすると、複数の二次元コードが読み取られた後、暗号化された情報コード語が取得され、暗号解析が行われることも考え得る。そして、最終的に情報コード語の内容が第三者に抽出され、秘匿対象情報が読み出されてしまうおそれもある。よって、二次元コードを用いて秘匿対象情報をより適切に保護することが望まれる。
本発明は、このような事情に鑑みてなされたものであり、二次元コードを用いて秘匿対象情報を適切に保護することを目的とする。
このような目的を達成するために本発明に係る秘匿対象情報の隠蔽方法は、
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
を含むことを特徴とする秘匿対象情報の隠蔽方法である。
また、このような目的を達成するために本発明に係る秘匿対象情報隠蔽装置は、
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報とを含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成し、前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置である。
また、このような目的を達成するために本発明に係るプログラムは、
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
をコンピュータに実行させることを特徴とするプログラムである。
また、このような目的を達成するために本発明に係る秘匿対象情報の抽出方法は、
保護符号化用データ情報を含む第1非公開情報を少なくとも有する第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
を含むことを特徴とする秘匿対象情報の抽出方法である。
また、このような目的を達成するために本発明に係る秘匿対象情報抽出装置は、
保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取り、前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置である。
また、このような目的を達成するために本発明に係るプログラムは、
保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
をコンピュータに実行させることを特徴とするプログラムである。
本発明によれば、秘匿対象情報が非公開情報である第2非公開情報に含まれるとともに、第2非公開情報を含む第2二次元コードのデータコード語及び訂正コード語が保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第1非公開情報として第1二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
QRコードシンボル1の説明図である。 拡張エンコーダ10のブロック図である。 秘匿対象情報の隠蔽処理の概念図である。 秘匿対象情報の隠蔽処理のフローチャートである。 RSブロックの概要図である。 保護符号化用データ適用の説明図である。 標準マスクパターン適用の説明図である。 構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの重ねあわせの説明図である。 保護符号化構造的連接拡張QRコードが複数の場合の相互関係の説明図である。 拡張デコーダ20のブロック図である。 秘匿対象情報抽出のための読み出し処理の概念図である。 秘匿対象情報抽出のための読み出し処理のフローチャートである。 標準マスクパターン解除の説明図である。 保護復号化の説明図である。 図15Aは、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの関係を説明する図であり、図15Bは、保護符号化構造的連接拡張QRコードが複数の場合のそれぞれの関係を説明する図である。 RSブロックの説明図である。 非公開情報語の説明図である。 RSブロックの一部を置換したときの第1の説明図である。 非公開情報語抽出のための読み出し方法の説明図である。 情報本体の読み出し方法の説明図である。 RSブロックの一部を置換したときの第2の説明図である。 RSブロックの一部を置換したときの第3の説明図である。 第2実施形態におけるRSブロックの概念図である。 第2実施形態におけるヘッダおよび非公開情報語の説明図である。 第2実施形態による手法でRSブロックの一部を置換したときの第1の説明図である。 第2実施形態による手法でRSブロックの一部を置換したときの第2の説明図である。 第2実施形態による手法でRSブロックの一部を置換したときの第3の説明図である。 第3実施形態による手法でRSブロックの一部を置換したときの説明図である。 第4実施形態による手法でRSブロックの一部を置換したときの説明図である。 第5実施形態による手法でRSブロックの一部を置換したときの説明図である。 第6実施形態による手法でRSブロックの一部を置換したときの第1の説明図である。 第6実施形態による手法でRSブロックの一部を置換したときの第2の説明図である。 第6実施形態による手法でRSブロックの一部を置換したときの第3の説明図である。 一部欠落したRSブロックの説明図である。 先端欠落RSブロックの補完の説明図である。 後端欠落RSブロックの補完の説明図である。 両端欠落RSブロックの補完の説明図である。 第7実施形態におけるRSブロックの概要図である。
本明細書および添付図面の記載により、少なくとも、以下の事項が明らかとなる。
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
を含むことを特徴とする秘匿対象情報の隠蔽方法である。
このようにすることで、秘匿対象情報が非公開情報である第2非公開情報に含まれるとともに、第2非公開情報を含む第2二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第1非公開情報として第1二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
かかる秘匿対象情報の秘匿方法であって、前記保護符号化用データの適用は、前記第2二次元コードの少なくとも一部と前記保護符号化用データとの排他的論理和が演算されることにより行われることが望ましい。
このようにすることで、第2二次元コードの少なくとも一部を保護符号化用データで保護符号化することができる。
また、前記第1二次元コードは、第1公開情報を含み、前記第1公開情報を含む第1公開データコード語と、前記第1公開データコード語の誤りを訂正しうる第1訂正コード語と、を含むデータブロックの一部を前記第1非公開情報を含む第1非公開データコード語で置換した第1置換後データブロックに基づいて前記第1二次元コードが生成されることが望ましい。
このようにした場合であっても、第1公開データコード語と第1訂正コード語が第1非公開データコード語で置換されているものの、第1公開データコード語については、第1訂正コード語を用いて訂正して復元することができる。そして、適切に第1公開データコード語を読み出すことができる。また、第1非公開データコード語については、第1二次元コードを直接読み込んで得られる誤り訂正処理前の第1置換後データブロックから第1非公開データコード語を抽出することができる。
また、前記第1非公開データコード語の語数は、前記第1訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第1訂正コード語を用いて訂正を行って第1公開データコード語を適切に読み出すことができる。
また、前記第1公開データコード語は、第1パリティ情報を含み、前記第2二次元コードは、第2公開情報を含み、前記第1パリティ情報は、前記第1公開情報と前記第2公開情報とを所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第1二次元コードに含まれる第1公開情報と第2二次元コードに含まれる第2公開情報とを所定の方法で連結した情報のパリティ情報を第1パリティ情報としているので、第1二次元コードと第2二次元コードとの関連性を判定するために第1パリティ情報を利用することができる。
また、前記第2二次元コードは、前記第2公開情報を含む第2公開データコード語と、前記第2公開データコード語の誤りを訂正しうる第2訂正コード語と、を含むデータブロックの一部を前記第2非公開情報を含む第2非公開データコード語で置換した第2置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第2公開データコード語と第2訂正コード語が第2非公開データコード語で置換されているものの、第2公開データコード語については、第2訂正コード語を用いて訂正して復元することができる。そして、適切に第2公開データコード語を読み出すことができる。また、第2非公開データコード語については、第2二次元コードを直接読み取って得られる誤り訂正処理前の第2置換後データブロックから第2非公開データコード語を抽出することができる。
また、前記第2非公開データコード語の語数は前記第2訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第2訂正コード語を用いて訂正を行って第2公開データコード語を適切に読み出すことができる。
また、前記第2公開データコード語は、第2パリティ情報を含み、
前記第2パリティ情報は、前記第1公開情報と前記第2公開情報とを前記所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第1二次元コードに含まれる第1公開情報と第2二次元コードに含まれる第2公開情報とを所定の方法で連結した情報のパリティ情報を第2パリティ情報としているので、第1二次元コードと第2二次元コードとの関連性を判定するために第2パリティ情報を利用することができる。
また、さらに、第1インクを用いて前記第1二次元コードを印刷するとともに、前記第1インクとは異なる光学的特性を有する第2インクを用いて前記保護符号化後第2二次元コードを印刷することを含み、前記第1二次元コードと前記保護符号化後第2二次元コードは互いに重なるように印刷されることが望ましい。
このようにすることで、例えば、第1インクとして無色の赤外線吸収インクを用い、第2インクとしてカーボンを含まない有色のインクを用いることができる。そして、第1二次元コードから保護符号化用データを特定することを困難なものとし、保護符号化後第2二次元コードから秘匿対象情報をより抽出しにくくすることができる。
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報とを含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成し、前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置である。
このようにすることで、秘匿対象情報が非公開情報である第2非公開情報に含まれるとともに、第2非公開情報を含む第2二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第1非公開情報として第1二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードの少なくとも一部に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
をコンピュータに実行させることを特徴とするプログラムである。
このようにすることで、秘匿対象情報が非公開情報である第2非公開情報に含まれるとともに、第2非公開情報を含む第2二次元コードが保護符号化用データで保護符号化される。そして、この保護符号化用データを特定する保護符号化用データ情報すら非公開情報である第1非公開情報として第1二次元コードに含まれることとしているので、二次元コードを用いて秘匿対象情報を適切に保護することができる。
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第1非公開情報を少なくとも有する第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードに適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
を含むことを特徴とする秘匿対象情報の抽出方法である。
このようにすることで、秘匿対象情報を抽出するために、第1二次元コードにおける第1非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第2二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第2二次元コードから第2非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
また、前記保護符号化コード語の保護復号化は、前記保護符号化後第2二次元コードの少なくとも一部と前記保護符号化用データとの排他的論理和が演算されることにより行われることが望ましい。
このようにすることで、第2二次元コードの少なくとも一部を保護符号化用データで保護符号化コード語の保護復号化をすることができる。
また、前記第1二次元コードは、第1パリティ情報を含み、前記第2二次元コードは、第2パリティ情報を含み、前記第1パリティ情報と前記第2パリティ情報とが一致することを条件として、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる秘匿対象情報が抽出されることが望ましい。
このようにすることで、第1二次元コードに含まれる第1パリティ情報と第2二次元コードに含まれる第2パリティ情報が一致するか否かに基づいて両者の関連性を判定することができ、これらのパリティ情報が一致し、両者に関連性を有することを確認した後に秘匿対象情報を抽出することができる。
また、前記第1二次元コードは、第1公開情報を含み、前記第2二次元コードは、第2公開情報を含み、前記第1パリティ情報と前記第2パリティ情報は、ともに、前記第1公開情報と前記第2公開情報とを所定の方法で連結した情報のパリティ情報であることが望ましい。
このようにすることで、第1パリティ情報と第2パリティ情報を、第1公開情報と第2公開情報とを所定の方法で連結した共通の情報に基づいて生成された共通のパリティ情報とすることができる。
また、前記第1二次元コードは、前記第1公開情報を含む第1公開データコード語と、前記第1公開データコード語の誤りを検出し訂正しうる第1訂正コード語と、を含むデータブロックの一部を前記第1非公開情報を含む第1非公開データコード語で置換した第1置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第1公開データコード語と第1訂正コード語が第1非公開データコード語で置換されているものの、第1公開データコード語については、第1訂正コード語を用いて訂正して復元することができる。そして、適切に第1公開データコード語を読み出すことができる。また、第1非公開データコード語については、第1二次元コードを直接読み込んで得られる誤り訂正処理前の第1置換後データブロックから第1非公開データコード語を抽出することができる。
また、前記第1二次元コードに含まれる第1非公開情報に基づいて前記第2二次元コードに適用された保護符号化用データを特定することは、前記第1置換後データブロックにおける所定の位置から前記第1非公開データコード語を抽出し、当該第1非公開データコード語に含まれる保護符号化用データ情報に基づいて前記保護符号化用データを特定することを含むことが望ましい。
このようにすることで、第1二次元コードに含まれる第1非公開情報に基づいて第2二次元コードに適用された保護符号化用データを適切に特定することができる。
また、前記第1非公開データコード語の語数は、前記第1訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第1訂正コード語を用いて訂正を行って第1公開データコード語を適切に読み出すことができる。
また、前記第2二次元コードは、前記第2公開情報を含む第2公開データコード語と、前記第2公開データコード語の誤りを検出し訂正しうる第2訂正コード語と、を含むデータブロックの一部を前記第2非公開情報を含む第2非公開データコード語で置換した第2置換後データブロックに基づいて生成されることが望ましい。
このようにした場合であっても、第2公開データコード語と第2訂正コード語が第2非公開データコード語で置換されているものの、第2公開データコード語については、第2訂正コード語を用いて訂正して復元することができる。そして、適切に第2公開データコード語を読み出すことができる。また、第2非公開データコード語については、第2二次元コードを直接読み込んで得られる誤り訂正処理前の第2置換後データブロックから第2非公開データコード語を抽出することができる。
また、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる秘匿対象情報を抽出することは、前記第2置換後データブロックにおける所定の位置から前記第2非公開データコード語を抽出し、当該第2非公開データコード語に含まれる秘匿対象情報を抽出することを含むことが望ましい。
このようにすることで、保護符号化コード語が保護復号化された第2二次元コードから第2非公開情報に含まれる秘匿対象情報を適切に抽出することができる。
また、前記第2非公開データコード語の語数は、前記第2訂正コード語による誤り訂正語数を超えないことが望ましい。
このようにすることで、第2訂正コード語を用いて訂正を行って第2公開データコード語を適切に読み出すことができる。
また、前記第1二次元コードと前記保護符号化後第2二次元コードは互いに重なるように印刷され、前記第1二次元コードは第1インクを用いて印刷されるとともに、前記保護符号化後第2二次元コードは前記第1インクとは異なる光学的特性を有する第2インクを用いて印刷されているときにおいて、前記第1二次元コードは前記第1インクで印刷された印刷物を読み取るための第1の光源を用いて読み取られ、前記保護符号化後第2二次元コードは前記第2インクで印刷された印刷物を読み取るための第2の光源を用いて読み取られることが望ましい。
このようにすることで、例えば、第1インクとして無色の赤外線吸収インクを用い、第2インクとしてカーボンを含まない有色のインクを用いた場合であっても、第1二次元コードと保護符号化後第2二次元コードをそれぞれ適切に読み取ることができる。そして、保護符号化後第2二次元コードから秘匿対象情報を抽出することができる。
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取り、前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードに適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置である。
このようにすることで、秘匿対象情報を抽出するために、第1二次元コードにおける第1非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第2二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第2二次元コードから第2非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
また、本明細書および添付図面の記載により、少なくとも、以下の事項も明らかとなる。
保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードに前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードに適用された前記保護符号化用データを特定することと、
前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
をコンピュータに実行させることを特徴とするプログラムである。
このようにすることで、秘匿対象情報を抽出するために、第1二次元コードにおける第1非公開情報から保護符号化用データ情報を抽出し、保護符号化用データ情報で特定される保護符号化用データで保護符号化後の第2二次元コードの保護符号化コード語を保護復号化し、保護符号化コード語が保護復号化された第2二次元コードから第2非公開情報に含まれる秘匿対象情報を抽出しなければならないという手順が必要になるため、二次元コードを用いて秘匿対象情報を適切に保護することができる。
===第1実施形態===
以下に、第1実施形態で用いられる二次元コードについて説明を行う。以下の説明で特段のことわりのない場合には、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−QRコード−」(以下、単に「JIS規格」ということがある)に準ずる。また、このJIS規格に準ずるエンコーダを標準エンコーダといい、JIS規格に準ずるデコーダを標準デコーダという。また、第1実施形態における非公開情報を取り扱うことができるエンコーダを拡張エンコーダといい、デコーダを拡張デコーダという。そして、これらを区別する。
また、図形としてのQRコード(登録商標)の明暗パターンを取得することを「読み取り」と表現する。また、取得されたQRコードからデータコード語(後述する置換後RSブロックのデータコード語、置換前RSブロックのデータコード語を含む)を取得することを「読み出し」と表現する。また、上記データコード語に対して、JIS規格の情報処理外の処理を行って所定の情報を取得することを「抽出」と表現する。すなわち後の説明において、拡張QRコードの非公開情報を取得すること、または、非公開情報にさらに情報処理を行って情報を取得することを「抽出」と表現する。例えば、後述する「保護符号化用データID」を取得することにおいて「抽出」の用語を用いることがある。また、例えば、後述する「保護符号化コード語が保護復号化された秘匿対象情報」を取得することに「抽出」の用語を用いることがある。なお、「保護符号化された秘匿対象情報」については、保護符号化コード語の保護復号化が行われておらず「読み出し」すらできないものであるため、「抽出」の用語を用いないことがある。また、以下に示す説明において、保護符号化コード語を保護復号化して得られる情報を「秘匿対象情報」ということとする。
また、読み取られたQRコードが直接表現する情報語列(並べ替えなどの情報処理を受けていないもの)をシンボルコード語として表現することがある。図形としてのQRコードは、シンボルコード語に機能パターンを付加して図形化したものであると考えることができるので、QRコードとシンボルコード語は実質的に同義となる。そのため、シンボルコード語を取得することも「読み取り」ということがある。
また、以下の説明において、「保護符号化用データ」は、読み出しを阻止する目的で排他的論理和を用いた保護符号化を行う際に使用されるいわば保護マスクパターンであり、JIS規格における標準マスクパターンとは異なるものである。また、JIS規格で規定されているマスクパターンについては、この「保護符号化用データ」と区別するために、「標準マスクパターン」と表現するものとする。
また、以下の説明において、「コード語」は、8ビット長として説明するが、システムに応じて、16ビット長とすることもできるし、1ビット長など他の長さを有するものとすることもできる。
図1は、QRコードシンボル1の説明図である。QRコードシンボル1(以下、単に、「QRコード」ということもある)は、1型から40型まで様々なサイズが用意されているが、ここでは、一例として型番「2」を例に各機能について説明する。
QRコードシンボル1は、機能パターンと符号化領域を有する。機能パターンは、QRコードのモジュール内での復号化を補助するために必要なQRコードシンボル位置の検索や特性の識別に必要なパターンである。符号化領域は、必要となる情報が書き込まれている領域である。
機能パターンは、位置検出パターンFP、分離パターンSP、タイミングパターンTP、位置合わせパターンAP、および、クワイエットゾーンQZを有する。
位置検出パターンFPは、QRコードの少なくとも3つの隅に配置されるパターンである。読み取り時において、3つの位置検出パターンFPを識別することで、QRコードシンボル1の方向や位置を正しく認識可能とする。
分離パターンSPは、位置検出パターンFPの周りに配置される1モジュール幅の明モジュールである。これにより、位置検出パターンFPをQRコードシンボル1から区別することができるようになる。
モジュールMは、QRコードシンボル1を構成する単位セルである。原則として、1ビットが1モジュールに相当する。
タイミングパターンTPは、暗モジュールと明モジュールが1モジュールずつ直線状に交互に配置されたパターンである。タイミングパターンTPによって、QRコードシンボル1のモジュール数を認識可能となるため、これによりQRコードの型番を識別することができる。
位置合わせパターンAPは、QRコードの型番によって決められた位置に配置されるパターンである。位置合わせパターンAPは、大きなモジュールの場合、QRコードシンボル1の位置の検索を補助する働きをする。
クワイエットゾーンQZは、QRコードの周囲に設けられる最低4モジュール幅の明モジュール領域である。
符号化領域は、データおよび誤り訂正コード語(以下、単に「訂正コード語」ということがある)と、形式情報FIを有する。また、型番の大きなものには型番情報VIも付加される。形式情報FIは、誤り訂正レベルと標準マスクパターンの情報を有する。なお、後述する、標準マスクパターンおよび保護符号化用データによる保護符号化は、符号化領域のうち、形式情報FIおよび型番情報VIを除いた領域にのみ適用される。
データおよび誤り訂正コード語は、実際のデータおよびデータが読み出せなかった場合の誤り訂正用の誤り訂正コード語を配置する。形式情報は、QRコードシンボル1に適用する誤り訂正レベルおよび使用する標準マスクパターンに関する情報を有し、符号化領域を復号化するのに必要な符号化パターンである。
図2は、拡張エンコーダ10のブロック図である。拡張エンコーダ10は、公開情報のみならず非公開情報を含んだ情報をQRコードシンボル1に変換する装置である。また、後述する置換後RSブロックを読み出し保護のために保護符号化用データで保護符号化する機能を有する。拡張エンコーダ10は、制御部11と表示装置13と印刷装置14と入力装置15を備える。
制御部11は、演算部11aと記憶部11bを備える。演算部11aは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部11bは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部11bには、後述する秘匿対象情報の隠蔽処理を実行するためのプログラムが記憶されている。
表示装置13は、データの入力等に際し必要な表示機能を担う。また、表示装置13は、生成されたQRコードシンボル1を表示により出力する。印刷装置14も、生成されたQRコードシンボル1を印刷により出力する。また、入力装置15は、データの入力および拡張エンコーダ10の操作に使用される。
拡張エンコーダ10の構成は、一般的なコンピュータ、携帯電話、および、スマートフォン等に、後述する秘匿対象情報の隠蔽処理を実行するためのプログラムをインストールすることによって実現することができる。
図3は、秘匿対象情報の隠蔽処理の概念図である。図4は、秘匿対象情報の隠蔽のフローチャートである。以下、これらの図を参照しつつ、第1実施形態における構造的連接拡張QRコードの生成手法について説明する。なお、後述する標準マスクパターンによるマスク化は、JIS規格通りになされるものであるので、図3および図4では図示を省略している。
なお、図3において、置換前RSブロックAとともに括弧書きで構造的連接QRコードAが示されているのは、仮に、置換前RSブロックAがQRコードに変換された場合に構造的連接QRコードAになることを意味している。同様に、置換前RSブロック部とともに括弧書きで構造的連接QRコードBが示されているのは、仮に、置換前RSブロックBがQRコードに変換された場合に構造的連接QRコードBになることを意味している。
ここでは、構造的連接関係を有するQRコードが利用される。構造的連接関係を有するQRコードとは、自身のコード情報が、あるコード情報をもとに互いに関連を持って分割された部分的コードであることが判別可能に組み込まれたコードである。すなわち、これを利用することにより仮想的な大コードを、関連を持った複数の小コードに分割することができる。なお、JIS規格においては、大コードを最大で16個の小コードに分割が可能である。小コードには、構造的連接関係を有することを示す連接ヘッダブロックが含められる。連接ヘッダブロックには、JIS規格に従って、モード指示子とシンボル列指示子とパリティデータが含められる。以下、このように構造的連接関係を有するQRコードを構造的連接QRコードという。
また、ここで用いられるQRコードは、公開情報と非公開情報とを記録することができる二次元コードを前提としている。公開情報は、JIS規格のデコーダ(以下、「標準デコーダ」ということがある)で読み出し可能な情報である。一方、非公開情報は、標準でコーダでは読み出すことができず、後述する拡張デコーダ20によって抽出することが可能な情報である。
このように、機能が拡張されたQRコードであるので、以下の説明において、このような非公開情報も記録可能なQRコードを「拡張QRコード」(または、「拡張QRコードシンボル」)ということがある。そして、さらに構造的連接関係を有する拡張QRコードの場合には、「構造的連接拡張QRコード」ということがある。
最初に、仮想的な大コードの構成内容から構造的連接QRコードAと構造的連接QRコードBを構成する符号化領域のデータコード語が生成される(S102)。構造的連接QRコードAと構造的連接QRコードBを構成する符号化領域のデータコード語の生成は、JIS規格に従って行われる。これにより、構造的連接QRコードAの置換前RSブロックAと構造的連接QRコードBの置換前RSブロックBが生成されることになる。このとき、連接ヘッダブロックに包含されるパリティデータも求められる。このパリティデータは、仮想的な大コードの公開情報のパリティが演算されたものである。
ここでは、仮想的な大コードは、公開情報として「TOKYO<cr>MINATO<cr>JPN0009012345678」を含んでいるものとする。なお、「<cr>」は、キャリッジリターンを意味する。
仮想的な大コードの公開情報をどのように分割するかは任意である。ここでは、大コードの公開情報のうち「TOKYO<cr>MINATO<cr>JPN」が構造的連接QRコードAの公開情報部に含められる。また、大コードの公開情報のうち「0009012345678」が構造的連接QRコードBの公開情報部に含められる。
次に、後に使用される保護符号化用データが決定される(S104)。保護符号化用データは、前述のように、読み出しを阻止する目的で排他的論理和を用いた保護符号化を行う際に使用されるいわば保護マスクパターンであり、JIS規格における標準マスクパターンとは異なるものである。保護符号化用データは任意に選択することができる。また、後述するような手法を用いて保護符号化用データを決定することもできる。
次に、構造的連接QRコードAに非公開情報として保護符号化用データIDが埋め込まれた構造的連接拡張QRコードAを構成するデータコード語が生成される(S106)。保護符号化用データIDは、ステップS104において決定された保護符号化用データを特定するためのIDである。ここでは、保護符号化用データIDを「000000000009」とする。「保護符号化用データID」は、「保護符号化用データ情報」に相当する。なお、「保護符号化用データ情報」は、「保護符号化用データ」を導き出す情報であれば、これに限られない。
図5は、RSブロックの概要図である。図5を参照しつつ、QRコードのデータフォーマットの概要、および、非公開情報(ここでは、保護符号化用データID)を埋め込む手法について説明する。図5には、誤り訂正処理単位として、RS(リード・ソロモン)ブロックが示されている。QRコードシンボル1には、1または複数のRSブロックが含まれる。そして、RSブロックを1つの誤り訂正処理単位としている。
なお、ここで説明する実施形態においては、リード・ソロモン(RS)符号による誤り訂正方式を採用しているため、誤り検出訂正演算の処理単位ブロックの一例として、「RSブロック」と記載している。
置換前RSブロック(後に、置換後RSブロックが登場するため、ここでは置換前RSブロックとして置換後RSブロックとは区別する)は、非表示部分である連接ヘッダブロックと、表示対象である情報本体(公開情報に相当する)と、非表示部分である終端符号と、非表示部分であるパディングコード語とを有するデータコード語を含む。また、置換前RSブロックは、訂正コード語としてのRS(リード・ソロモン)符号(非表示部分)を含む。情報本体とは、標準デコーダであってもQRコードシンボル1を読み取ったときにデコードおよび表示可能な情報である。終端符号は、情報本体の終端を表す符号である。パディングコード語は、情報本体のコード語の総数がQRコードシンボル1の規定する容量に満たない場合、空のコード語部分を充填する目的で使用される仮のコード語である。RS符号は、RSブロックを単位として誤り訂正するために付加される符号である。
また、ここで用いられるQRコードシンボル1は、構造的連接関係を有するQRコードであるので、データコード語の先頭にモード指示子が配置され、後続して、シンボル列指示子とパリティデータが配置されている。
シンボル列指示子は、構造的連接関係を有するQRコードが、全体で何個中の何番目の構造連接関係を有するQRコードであるかを規定する。例えば、後述する構造的連接拡張QRコードAのシンボル列指示子には、2個中1番目の構造的連接関係を有するQRコードであることが規定される。また、保護符号化構造的連接拡張QRコードBのシンボル列指示子には、2個中2番目の構造的連接関係を有するQRコードであることが規定される。
また、パリティデータは、前述の仮想的な大コードの公開情報のパリティデータである。すなわち、構造的連接QRコードAの公開情報と構造的連接QRコードBの公開情報が、シンボル列指示子にしたがって正しく連結された情報のパリティデータである。このパリティデータは、仮想的な大コードから分割された構造的連接QRコード間で共通のもの(ここでは、構造的連接QRコードAと構造的連接QRコードBとの間で共通)であり、パリティデータが一致するか否かで、構造的連接関係を有するか否かが判断される。すなわち、構造的連接QRコードAの公開情報と構造的連接QRコードBの公開情報を所定の方法で再構成した情報語のパリティが、仮想的な大コードの公開情報のパリティデータと一致し、かつ、構造的連接QRコードAと構造的連接QRコードBとの間で共通のパリティデータと一致することで、構造的連接関係を有するものと判定するすることができる。
ところで、QRコードでは、「L」「M」「Q」「H」の4段階の誤り訂正レベルが選択可能である。誤り訂正レベル「L」では、全体の語数に対して約7%の誤り訂正能力を有する。例えば、RSブロックの語数を100%とした場合、そのうちの約7%の誤り訂正能力を有する。誤り訂正レベル「M」では、全体の語数に対して約15%の訂正能力を有する。誤り訂正レベル「Q」では、全体の語数に対して約25%の訂正能力を有する。誤り訂正レベル「H」では、全体の語数に対して約30%の誤り訂正能力を有する。第1実施形態では、例えば、最高クラスの誤り訂正能力である「H」を利用して、非公開情報をQRコードに隠蔽する。ただし、隠蔽される非公開情報語の語数に応じて誤り訂正レベルを変更してもよい。
QRコードに情報を隠蔽する手法の概念は、次の通りである。図5には、非公開情報が示されている。ここでは、この非公開情報でRSブロックの一部を置換する(以下、この「置換」を「上書き」ということもある)。このように一部を置換した場合であっても、標準デコーダでは、置換後の情報本体部分をRS符号を用いて訂正できる。そして訂正後の情報本体部分を読み出して表示することができる。一方、非公開情報語は、RS符号により訂正されて捨てられてしまう情報であるため、標準デコーダでは表示されないことになる。
これに対し、拡張デコーダ20では、後述するように、置換後RSブロックから非公開情報語を抽出する。そして、その後、RS符号により訂正を行って情報本体部分を読み出す。以上の原理によりQRコードシンボル1に情報を隠蔽することができる。なお、非公開情報語でのRSブロックの一部置換方法の詳細については、後述するものとする。
このような原理を利用して、非公開情報として保護符号化用データIDが埋め込まれる。すなわち、置換前RSブロックAの一部を非公開情報である保護符号化用データIDで置換して、置換後RSブロックAを生成する。そして、置換後RSブロックA(置換後データブロックに相当)に基づいてQRコードを生成することにより、構造的連接拡張QRコードAを生成する。
次に、非公開情報に秘匿対象情報を含んだ置換後RSブロックBが生成される(S108)。置換後RSブロックBは、前述の置換前RSブロックBの一部が非公開情報で置換されることで行われる。ここで、「秘匿対象情報」は、最終的に最も隠したい情報であり、ここでは、「himitsu@OOO.com」としている。
このようにして生成された置換後RSブロックの各ビットをQRコードの符号化領域に配置すれば、後述する保護符号化用データによる保護符号化および標準マスクパターンによるマスク化される前のQRコードのデータコード語を生成できる。よって、置換後RSブロックBの生成は、保護符号化用データおよび標準マスクパターンが適用されていない第2二次元コードのデータコード語の生成に相当するものである。
次に、置換後RSブロックBと保護符号化用データとの排他的論理和が求められ、保護符号化構造的連接拡張コードB(保護符号化後第2二次元コードに相当)が求められる(S110)。
図6は、保護符号化用データ適用の説明図である。図には、置換後RSブロックBと、保護符号化用データと、保護符号化コード語が示されている。図6に示されるように、保護符号化コード語は、RSブロックBと保護符号化用データとをビット単位で排他的論理和を求めることで得られる。これにより、置換後RSブロックB全体が保護符号化用データで保護符号化された保護符号化コード語が得られる。このようにビット単位で変換を行うので、それぞれの変換は局所的なものになる。よって、仮に、保護符号化されているパターンに読み出し誤りが発生したとしても、この保護符号化コード語をビット単位で保護復号化することで解除された後の情報語には読み出し誤りがビット単位で残される。ビット単位で残された読み出し誤りは、誤り訂正を行うことで適切に訂正することができる。このように、ビット単位で排他的論理和を求める処理とすることで、仮に、読み出し誤りが発生した場合であっても、後に、適切に誤り訂正を行うことができるのである。これは、バイト単位などブロック単位で変換処理を行った場合には期待できない効果である。このような保護符号化のより具体的な処理については後述する。
なお、ここでは置換後RSブロックBと保護符号化用データとをビット単位で排他的論理和を求めるものとして示しているが、これは、置換後RSブロックBをQRコードに変換した後に、QRコードの符号化領域にモジュールの配置を考慮しつつ保護符号化用データを用いてビット単位で排他的論理和を求めることと等価である。すなわち、図6ではQRコードを持ち出していないが、QRコードの機能パターン、形式情報(FI)、および、型番情報(VI)以外の部分を保護符号化しているのと等価ということになる。
図7は、標準マスクパターン適用の説明図である。JIS規格によれば、QRコードはその生成過程において、マスクパターン参照子で特定される標準マスクパターンで排他的論理和が求められ標準マスク化されている。よって、ここでも保護符号化コード語に標準マスクパターンが適用され(排他的論理和が求められ)、標準マスク化された保護符号化コード語が求められる。
このように、先に標準マスクパターンを適用するのではなく、保護符号化コード語を求めた後に標準マスクパターンの排他的論理和を求めることとしているのは、標準マスクパターンはQRコードのシンボルにおける構成明暗パターンを適度に分散させる機能を有するからである。そのため、排他的論理和の演算には交換則が成立するために演算処理(すなわち排他的論理和演算)の順は、保護符号化、標準マスク処理のどちらを先に行ってもかまわないものの、標準マスクパターンでの排他的論理和演算は、なるべく後段で行った方がよいことになる。
このようにして生成された標準マスク化された保護符号化コード語でQRコードが生成され、標準マスク化された保護符号化構造的連接拡張QRコードBが生成される(S110)。なお、保護符号化構造的連接拡張QRコードBは、QRコードのJIS規格に基づいて標準マスク化されるものであるので、「標準マスク化された」との語を省略し、単に、「保護符号化構造的連接拡張QRコードB」ということがある。保護符号化構造的連接拡張QRコードBは、保護符号化後第2二次元コードに相当する。なお、保護符号化後第2二次元コードは、保護符号化用データのみが適用され、標準マスクパターンが適用されないものであってもよい。
次に、求められた構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBが出力される(S112)。出力手法としては、印刷装置14で印刷させてもよいし、表示装置13に表示させることとしてもよい。
このようにして生成された構造的連接QRコードAと保護符号化構造的連接拡張QRコードBは、一見すると、一般的なQRコードのようであるが、実際には、秘匿対象情報が隠されている。そして、この秘匿対象情報を抽出するために、保護符号化用データを特定する必要があり、かつ、保護符号化用データを特定するためには、非公開情報を抽出するための後述する拡張デコーダ20が必要となる。そのため、第三者による秘匿対象情報の抽出を極めて困難なものにすることができる。さらに、保護符号化構造的連接拡張QRコードBは、保護符号化用データで保護符号化されているため、標準デコーダでは非公開情報を抽出できないばかりか、公開情報すら読み出すことができないのである。
図8は、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの重ねあわせの説明図である。図8に示されるように、前述のようにして生成された構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとを光学的特性の異なるインクで重ね合わせるように印刷することができる。
例えば、構造的連接拡張QRコードAについて第1インクを用いて印刷し、保護符号化構造的連接拡張QRコードBについて第2インクを用いて印刷するものとする。このとき、第1インクと第2インクについて、発色、発光(蛍光を含む)、特定波長帯の吸収など、QRコードシンボルの読み取りのために照射される参照光の波長によってそれぞれ挙動の異なるものを採用することができる。
具体的には、保護符号化構造的連接拡張QRコードBを印刷する際、赤外線を吸収するカーボンを含まない有色のインクを用いることができる。そして、この保護符号化構造的連接QRコードB上に、構造的連接拡張QRコードAを用いて印刷する。構造的連接拡張QRコードAを印刷する際には、無色または淡色の赤外線吸収インクを用いることができる。
このとき、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBは、ともに同じ型(同じサイズ)のQRコードであることが望ましい。
このようにすることで、構造的連接拡張QRコードAについては視認することができないから、上述のようにして秘匿対象情報が隠蔽されていることを知らない第三者は、そもそも保護符号化用データIDが含まれている構造的連接拡張QRコードAを読み取ることすらできない。よって、保護符号化構造的連接拡張QRコードBから秘匿対象情報を抽出することはより困難となる。さらに言えば、保護符号化構造的連接拡張QRコードBは保護符号化用データで保護符号化され、標準デコーダでの読み出しそのものが不可能であるので、公開情報はもとより秘匿対象情報を抽出することは極めて困難なものとなる。
一方、上述のようにして秘匿対象情報が隠蔽されていることを知っている者は、赤外線吸収インクを読み取り可能にする光源を用いて構造的連接拡張QRコードAを読み取ることができる。また、一般的な光源を用いて保護符号化構造的連接拡張QRコードBを読み取ることができる。そして、構造的連接拡張QRコードAに含まれる保護符号化用データIDを用いて、保護符号化構造的連接拡張QRコードBにおける保護符号化コード語を保護復号化することができる。
また、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBを重ねる他の手法として次のような方法を用いることもできる。すなわち、まず、構造的連接拡張QRコードAをカーボンを含むインクを用いて印刷する。次に、この構造的連接拡張QRコードAの上にカーボンを含まない白色のインクでべた塗り印刷を行う。さらに、白色のべた塗り印刷上に、保護符号化構造的連接QRコードBをカーボンを含まない有色のインクで印刷する。
このようにすることで、構造的連接拡張QRコードAは白色のインクで隠蔽されているため、可視光下において構造的連接拡張QRコードAを読み取ることが困難となるが、保護符号化構造的連接拡張QRコードBを読み取ることができる。一方、構造的連接拡張QRコードAについては、光学フィルタを介して赤外光領域を参照することによって読み取ることができる。
以上の説明では、説明の容易さを考慮し、構造的連接拡張QRコードAおよび保護符号化構造的連接拡張QRコードBの2つのQRコードを有する場合を例に説明を行った。しかしながら、保護符号化構造的連接拡張QRコードを複数とすることもできる。
図9は、保護符号化構造的連接拡張QRコードが複数の場合の相互関係の説明図である。図9には、複数の保護符号化構造的連接拡張QRコードが示されている。そして、それぞれの保護符号化構造的連接QRコードを生成するための置換後RSブロックと保護符号化用データと保護符号化コード語が示されている。
例えば、秘匿対象情報が非公開情報として置換後RSブロックPに埋め込まれ、これが保護符号化用データMPにより保護符号化される。そうすると、保護符号化用データMPを特定するための保護符号化用データID_MPが置換後RSブロックOに非公開情報として埋め込まれる。次に、置換後RSブロックOが保護符号化用データMOにより保護符号化され、保護符号化用データMOを特定するための保護符号化用データID_MOが置換後RSブロックNに非公開情報として埋め込まれる。このような動作が繰り返され、置換後RSブロックBを保護符号化するための保護符号化用データMBを特定する保護符号化用データID_MPが置換後RSブロックAに非公開情報として埋め込まれる。
このようにすることで、多重に保護がなされるので、より強固に秘匿対象情報を保護することができる。
また、上述のように、複数の保護符号化構造的連接拡張QRコードを用いた場合において、次のようにすることもできる。例えば、上述のように、順番に保護符号化用データを適用する点では同様であるが、次のQRコードの保護符号化にはこれまで用いられた全ての保護符号化用データとの排他的論理和を演算して保護符号化を行うこととする。例えば、図9の保護符号化構造的連接拡張QRコードOについて、保護符号化用データMPと保護符号化用データMOと置換後RSブロックOとの排他的論理和を演算して求められたものとすることができる。
また、抽出された保護符号化データと排他的論理和を演算して次のQRコードの全体の保護符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたQRコードの一部分に対して適用(排他的論理和を演算)することとしてもよい。また、抽出された保護符号化データと排他的論理和を演算して次のQRコードの所定の一部分の符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたQRコードの全体に対して適用(排他的論理和を演算)することとしてもよい。
このようにすることにより、保護の多重化・累積化を図ることができ、秘匿対象情報をより高い安全性をもって保護することができる。
図10は、拡張デコーダ20のブロック図である。拡張デコーダ20は、QRコードシンボル1を読み取り、QRコードシンボル1(後述する保護符号化構造的連接QRコードを含む)に含まれる公開情報のみならず非公開情報を抽出する装置である。また、保護符号化構造的連接拡張QRコードの保護符号化コード語を保護復号化する機能も有する。拡張デコーダ20は、制御部21と撮像装置22と表示装置23と印刷装置24と入力装置25を備える。
制御部21は、演算部21aと記憶部21bを備える。演算部21aは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部21bは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部21bには、後述する秘匿対象情報の抽出処理を実行するためのプログラムが記憶されている。
撮像装置22は、QRコードシンボル1を撮像するための装置であって、例えば、CCDカメラなどである。また、撮像装置22は、波長の異なる第1の光源と第2の光源を備えることもできる。そして、第1の光源を無色の赤外線吸収インクを撮像するための光源とし、第2の光源をカーボンを含まない有色のインクを撮像するための光源とすることができる。これらのような光源を備えることにより、これらを適宜切り替えて、前述の図8に示された構造的連接拡張QRコードAと保護符号化構造的拡張QRコードBを読み取ることができる。また、撮像装置22(または、撮像装置22に含まれる撮像素子)には、波長の異なる光源に対応するための光学フィルタを備えることもできる。
表示装置23は、データの入力等に際し必要な表示機能を担う。また、表示装置23は、QRコードから展開された情報を表示により出力する。印刷装置24も、展開された情報を印刷により出力する。また、入力装置25は、データの入力および拡張デコーダ20の操作に使用される。
拡張デコーダ20の構成は、撮像装置22を備えていれば、一般的なコンピュータ、携帯電話、および、スマートフォンに、後述する秘匿対象情報の抽出処理を実行するためのプログラムをインストールすることによって実現することができる。また、前述の拡張エンコーダ10と拡張デコーダ20とを一体化して実現することも可能である。
図11は、秘匿対象情報抽出のための読み出し処理の概念図である。図12は、秘匿対象情報抽出のための読み出し処理のフローチャートである。以下、これらの図を参照しつつ、秘匿対象情報の抽出処理について説明する。
まず、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBのシンボルコード語の読み取りが行われる(S202)。そして、構造的連接拡張QRコードAから非公開情報である保護符号化用データIDが抽出される(S204)。
非公開情報の読み出し方法であるが、構造的連接拡張QRコードAから読み取られたシンボルコード語から置換後RSブロックAが展開される。そして、置換後RSブロックAにおいて置換されている非公開情報語が抽出される。また、非公開情報語の抽出とともに、RS符号を用いて置換後の情報本体部分を訂正する。これにより、情報本体部分に含められている公開情報を取得することができる。そして、公開情報として「TOKYO<cr>MINATO<cr>JPN」を取得することができ、非公開情報として、保護符号化用データID(ここでは、「0000000000009」)を取得することができる。
なお、このような保護符号化用データIDの読み出しは、標準デコーダ(一般的なQRコードリーダー)では、非公開情報語を読みだそうにも、置換された部分がRS符号によって訂正が行われ失われてしまうため取得できないことになる。
次に、保護符号化用データIDに基づいて保護符号化用データが特定される(S206)。そして、この保護符号化用データを用いて保護符号化構造的連接拡張コードBのシンボルコード語における保護符号化コード語が保護復号化される(S208)。
図13は、標準マスクパターン解除の説明図である。図13には、保護符号化コード語と標準マスクパターンと、保護符号化コード語が示されている。図13に示されるように、保護符号化コード語は、保護符号化コード語と標準マスクパターンとをビット単位で排他的論理和を求めることで得ることができる。
図14は、保護復号化の説明図である。図14には、保護符号化コード語と保護符号化用データと、RSブロックBが示されている。図14に示されるように、置換後RSブロックBは、保護符号化コード語と保護符号化用データとをビット単位で排他的論理和を求めることで得ることができる。このような保護復号化のより具体的な処理については後述する。
次に、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの間に構造的連接関係があるか否かが判定される(S210)。既に説明した通り、構造的連接関係を有する場合には、(1)構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBにおける連接ヘッダブロックにおけるパリティデータが一致し、(2)構造的連接拡張QRコードAの公開情報と保護符号化構造的連接拡張QRコードBの公開情報とを所定の方法で再構成して得られる情報語のパリティデータが、連接ヘッダブロックにおけるパリティデータと一致するはずである。構造的連接拡張QRコードAのパリティデータと保護符号化構造的連接拡張QRコードBのパリティデータは、ともに、大コードの公開情報に基づいて求められたパリティデータであって、共通のパリティデータとなるからである。なお、パリティデータを求める際に必要な公開情報の取得は、それぞれの構造的連接拡張QRコードにおいて、RS符号により置換後RSブロックを訂正することにより行うことができる。これにより、上記条件(1)を満たすか否かを判定することができる。また、構造的連接拡張QRコードAの公開情報と保護符号化構造的連接拡張QRコードBの公開情報とを所定の方法で再構成して得られる情報語のパリティデータが求められる。これにより、上記条件(2)を満たすか否かを判定することができる。
ステップS210において、上記(1)および(2)の条件を満たすと判定された場合には、構造的連接関係を有するものと判定し、置換後RSブロックBから秘匿対象情報を抽出する(S212)。置換後RSブロックBから秘匿対象情報を抽出する方法は、前述のように、置換した非公開情報を抽出することにより行われる。また、パリティデータを得るために取得した構造的連接拡張QRコードAの公開情報と、保護符号化構造的連接拡張QRコードBの公開情報とを連結し、仮想的な大コードの公開情報を得ることができる。
次に、上記のようにして得られた秘匿対象情報と仮想的な大コードの公開情報を出力する(S214)。出力方法としては、表示装置23に表示させたり、印刷装置24に印刷させたりすることができる。なお、大コードの公開情報は、表示の有用性がある場合にのみ表示または出力することとしてもよい。
一方、ステップS210において構造的連接関係を有しないと判定された場合には、処理を終了する。このように構造的連接関係を有しない場合には、処理を終了することとするため、秘匿対象情報を抽出することができない。このようにすることで、構造的連接関係を有する場合にのみ秘匿対象情報を抽出するようにすることができる。
また、秘匿対象情報として最も重要な情報を埋め込むこととし、公開情報として2番目に重要な情報を埋め込むことができる。構造的連接関係を有さない場合には、保護符号化構造的連接拡張QRコードBの公開情報すら読み出すことができないことになるため、保護符号化構造的連接拡張QRコードBの公開情報にもある程度の秘匿性を有する情報を埋め込むことができることになる。
図15Aは、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの関係を説明する図である。図15Aに示されるように、構造的連接拡張QRコードAから保護符号化用データが特定され、この保護符号化用データを保護符号化構造的連接拡張QRコードBに適用することによって秘匿対象情報が取得できた。
図15Bは、保護符号化構造的連接拡張QRコードが複数の場合の関係を説明する図である。前述の説明では、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとにより秘匿対象情報を隠すこととしていた。しかしながら、保護符号化構造的連接拡張QRコードを複数有することとしてもよい。前述の図9では、保護符号化手法について説明したが、図15Bは図9に対応する保護符号化構造的連接拡張QRコードをデコードする手法に対応する。
図15Bに示されるように、構造的連接拡張QRコードAの非公開情報語から保護符号化用データID_MBを抽出し、保護符号化用データID_MBから特定される保護符号化用データMBによって、保護符号化構造的連接拡張QRコードBの保護符号化コード語が保護復号化される。これにより、置換後RSブロックBが得られるが、ここから非公開情報語として、保護符号化用データID_MCが得られる。そして、保護符号化用データID_MCから特定される保護符号化用データMCによって、保護符号化構造的連接拡張QRコードCの保護符号化コード語が保護復号化される。このような処理を繰り返すことによって、最終的に秘匿対象情報を抽出することができる。よって、より階層深く埋め込まれた秘匿対象情報を抽出することができる。
また、前述のように、例えば、図9の保護符号化構造的連接拡張QRコードOについて、保護符号化用データMPと保護符号化用データMOと置換後RSブロックOとの排他的論理和を演算して求めたものとしたようなケースにおいても、やはりこの逆の手順を踏めばよい。すなわち、これらまでに得られた保護符号化用データと保護符号化構造的連接拡張QRコードとの排他的論理和を演算することによって、次の保護符号化構造的連接拡張QRコードを得るようにすることができる。
また、抽出された保護符号化データと排他的論理和を演算して次のQRコードの全体の保護符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたQRコードの一部分に対して適用(排他的論理和を演算)することとした場合も、この逆の手順で排他的論理和を求めることで、次の保護符号化構造的連接拡張QRコードを得ることができる。
また、抽出された保護符号化データと排他的論理和を演算して次のQRコードの所定の一部分の符号化を行い、これまでに得られた全ての保護符号化データを、その保護符号化されたQRコードの全体に対して適用(排他的論理和を演算)することとした場合も、この逆の手順で排他的論理和を求めることで、次の保護符号化構造的連接拡張QRコードを得ることができる。
なお、上記実施形態では、保護符号化用データを特定するための保護符号化用データIDが非公開情報として埋め込まれることとしたが、保護符号化用データそのものを非公開情報として埋め込むこととしてもよい。
また、上記実施形態では、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの間に構造的連接関係を有することを条件として秘匿対象情報が抽出されることとしたが、両者の連接ヘッダブロックにおけるパリティデータが一致するか否かを判定しないこととしてもよい。すなわち、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの間に構造的連接関係がない場合であっても、秘匿対象情報が抽出されることとしてもよい。このようにした場合であっても、構造的連接拡張QRコードAと保護符号化構造的連接拡張QRコードBとの間に関連性がない場合には、保護符号化用データが一致しない可能性が高いため、秘匿対象情報は適切に抽出されないことになる。
また、前述の手法によれば、保護符号化構造的連接拡張QRコードBの生成において、符号化領域における形式情報FIと型番情報VIには保護符号化用データによる保護符号化は行われないこととしていたが、形式情報FIに関しては保護符号化用データによる保護符号化を行うこととしてもよい(ただし、標準マスクパターンによる標準マスク化は形式情報FIに対しては行わない)。このようにした場合、標準マスクパターンの解除に先立って保護符号化コード語の保護復号化を行わなければならないが、これにより標準デコーダでは、形式情報FIすら特定することができない。よって、保護符号化構造的連接拡張QRコードBを読み取り、形式情報FIを特定しようとした段階でエラーとなるので、より高いセキュリティを確保することができる。
また、前述の手法によれば、保護符号化構造的連接拡張QRコードBの生成において、連接ヘッダブロックにも保護符号化を適用することとしていたが、連接ヘッダブロックには保護符号化を適用しないこととすることもできる。前述の手法によれば、図12のステップS210のタイミングで、構造的連接関係の有無を判断することつぃていたが、連接ヘッダブロックに保護符号化を適用しない場合には、より早い段階(例えば、図12のステップS202の直後)に構造的連接関係の有無を判断することができることになる。よって、構造的連接関係を有しないと判断した場合には、早い段階で処理を打ち切ることができるので、セキュリティをより向上させることができる。
<保護符号化用データの選択方法>
上述の実施形態では、保護符号化用データIDとの対応づけがなされてさえすれば保護符号化用データは任意としていたが、以下に説明するように所定の情報に基づいて保護符号化用データが生成されたり選択されたりしてもよい。
(1)関数による場合
入力値としての保護符号化用データ情報に応じて保護符号化用データを生成可能な関数を決めておくことができる。このような関数としては、例えば、入力パラメータが投入可能な疑似乱数発生関数やハッシュ関数を応用したものがある。これらの関数の出力を、対象となる置換後RSブロックの保護符号化用データとして必要な語長分を適切に切り出したり、繰り返して使用することができる。これらの入力値として、例えば、保護符号化用データIDを採用することもできる。
また、このような関数自体を構造的連接拡張QRコードAの非公開情報に埋め込んでおくこととしてもよい。このようにすることによっても、適切に一意の保護符号化用データを生成できる。
(2)保護符号化用データをダウンロードする場合
前述の図4における保護符号化用データ決定(S104)の処理時において、拡張エンコーダが任意に保護符号化用データを生成し、この保護符号化用データとこの保護符号化用データを特定するための保護符号化用データIDを登録センターに登録しておくこともできる。そして、保護符号化用データIDを前述のように非公開情報として埋め込んでおく。
秘匿対象情報の抽出処理時においては、拡張デコーダが保護符号化用データIDを抽出し、登録センターにアクセスして保護符号化用データIDに対応する保護符号化用データをダウンロードする。そして、ダウンロードした保護符号化用データで保護符号化コード語を保護復号化して置換後RSブロックを得ることができる。
(3)生体認証情報を用いる場合
上記(1)の関数に入力する入力値が、秘匿対象情報を埋め込む者のみが有する生体的特徴に基づいて生成されるものとしてもよい。生体的特徴には、例えば、指紋、声紋、虹彩、静脈パターンなどがある。そして、これらの特徴量を求め、これを入力値とすることができる。
<保護符号化処理>
読み出しを阻止する目的とする保護符号化処理について、上記(1)の関数を用いた場合を一例に説明する。ここで用いられる関数としては、前述の疑似乱数発生関数やハッシュ関数(SHA−1、MD5など)のほか、暗号化関数(DES、AESなど)や数理関数(三角関数、対数関数など)を採用することができ、また、これら以外の関数も採用可能である。ここでは、三角関数(SIN関数)を用いた例で説明を行う。
ここで用いられる関数を例えば次のように定義する。
「入力値としてASCII表記の数字文字列を、表記する数字が10進数であるとしてnとする三角関数SIN(n)の値を求め、この絶対値(SIN関数は−1から+1の間の値を出力する)の小数点以下の数字を必要な長さの16進数の数列として出力する関数」
そして、例えば、保護符号化される情報文字列、および、入力値(保護符号化用データID)を以下とする。

保護符号化される情報文字列(ASCII表記):Hello
保護符号化される情報文字列(16進数表記):0x48656C6C6F
入力値(ASCII表記):7505

このとき、出力値(保護符号化用データ)は、以下となる。

出力値:8191520442・・・(=sin(7505)=-0.8191520442・・・)
これらを用いた保護符号化処理は次のようになる。情報文字列「Hello」は、16進数表記すると「0x48656C6C6F」であった。出力値(保護符号化用データ)は、16進数表記で「0x8191520442」であった。これら両者の論理的排他和(XOR)をとると、「0xC9F43E682D」となる。
つまり、上記保護符号化処理により、情報文字列「Hello」は、「0xC9F43E682D」という全く意味をなさないデータコード語へと保護符号化される。すなわち、上記保護符号化処理が施された情報文字列は、標準の処理系から見れば情報がスクランブルされ、標準の読み出しが不可能となる。
<保護復号化処理>
次に、保護復号化処理について説明する。ここでは、上記のようにして保護符号化された情報文字列を保護復号化する方法について説明する。よって、用いられる関数の定義は上述のものと同じものである。
また、保護符号化されたデータコード語と入力値(保護符号化用データID)は次のようであった。

保護符号化されたデータコード語:0xC9F43E682D
入力値(ASCII表記):7505

このとき出力値(保護符号化用データ)は、以下である。
出力値:8191520442・・・(=sin(7505)=-0.8191520442・・・)
そして、これらを用いた保護復号化処理は、保護符号化されたデータコード語「0xC9F43E682D」と、保護符号化用データである出力値「0x8191520442」の論理的排他和(XOR)をとると、16進数表記で「0x48656C6C6F」となり、ASCII表記では「Hello」となる。
つまり、上記保護復号化処理により、全く意味をなさなかったデータコード語「0xC9F43E682D」は、情報文字列「Hello」に復号化される。
<非公開情報の埋め込み手法>
ここまで、構造的連接拡張QRコードおよび保護符号化構造的連接拡張QRコードを用いて秘匿対象情報を秘匿する手法について説明したが、これらは、前述のように公開情報と非公開情報とを記録できるQRコードを前提としていた。以下、QRコードにおいてどのように非公開情報を埋め込むのかについて詳細に説明する。
なお、詳細に説明するにあたり、「非公開情報」を「非公開情報語」として説明することがある。これは、前述のようなブロック単位で説明するのではなく、より細かいワード単位で説明を行うためである。
また、説明の容易化のために、連接ヘッダブロックも登場させず説明する。連接ヘッダブロックは、事実上、情報本体内に含ませたとしても処理上何ら問題が生じないためである。すなわち、ここでは、情報本体のコード語を、「TOKYO<cr>MINATO<cr>JPN」とし、非公開情報語を「0000000000009」として説明する。
図16は、RSブロックの説明図である。図17は、非公開情報語の説明図である。以下の説明において、特段のことわりがない場合、QRコードシンボル1へのエンコード手法は、JIS規格による手法が採用される。なお、QRコードシンボル1は、複数のRSブロックを有する場合がほとんどであるが、ここでは説明の容易のために、1つのRSブロックを例示して説明を行う。また、以下に示される内容は容易な説明を行うための例示であるので、各コード語長は実際のものと異なることがある。また、含められる情報も実際のものと異なることがある。
また、第1実施形態の前提として、記憶部11bには、後述する非公開情報語で置換される開始位置を表す「オフセット情報」と、非公開情報語の「長さ(語数)情報」が記憶されていることとする。
ここでは、情報本体のコード語を「TOKYO<cr>MINATO<cr>JPN」とし(図16)、非公開情報語を「0000000000009」としている(図17)。情報本体と非公開情報語の取り込みは、入力装置14を介して行ってもよいし、記憶部11bに予め記憶された情報を用いてもよい。
QRコードシンボル1は型番に応じてトータルのコード語数が定められている。トータルのコード語数は、情報本体の語数を含むデータコード語数と、訂正コード語数と、の和である。また、QRコードシンボル1の型番に応じて、データコード語と訂正コード語からなるRSブロックの大きさと数が定められている。そして、誤り訂正は、RSブロックを単位として行われる。
例えば、誤り訂正レベルが「H」であって型番が「4」の場合、トータルのコード語数は「100」と定められている。そして、4つのRSブロックを含むことが定められている。1つのRSブロックにおけるデータコード語数は「9」であり、訂正コード語数は「16」である。
データコード語数「9」と訂正コード語数「16」の和は「25」であり、このようなRSブロックが4つあるため、型番が「4」のQRコードシンボルは、25×4=100の総コード語数を有することになる。
また、このときの誤り訂正語数は、RSブロック毎に「8」である。これは、データコード語数「9」のうちの「8」を訂正する能力を有することを表す。RSブロックは4つであったから、4×8=32の語数の総訂正能力を有することになる。100語のうち32語を訂正可能としているので、全体からすると32%の訂正能力を有することになる。
非公開情報語による置換は、RSブロック毎に、RSブロックの誤り訂正数を超えない範囲で行われる。上記の場合であると、RSブロック毎にコード語数「8」の置換が許容されることになり、全体では「32」のコード語数の置換が許容される(「総置換許容語数)と呼ぶことがある)ことになる。
情報本体のコード語長が長い場合には、情報本体のコード語は複数のブロックに分割される。そして、各ブロックに対して誤り訂正コード語が生成され、生成された訂正コード語が対応するコード語の後に付加される。そして、RSブロックが生成される。なお、訂正コード語の生成手法については、JIS規格に準ずることができる。
図16には、情報本体と終端符号とからなるデータコード語(公開データコード語に相当)と訂正コード語の一例が示されている。ここでは、情報本体のコード語としてプレインなテキスト情報が示されている。終端符号は、例えば、「0000」のビット列を採用することができる。そして、情報本体を含むコード語に基づいて生成されたRS符号が付加され、RSブロックが作成されている。
このようにして生成されたRSブロックの一部が非公開情報語(非公開データコード語に相当)で置換される。
図18は、RSブロックの一部を置換したときの第1の説明図である。図18には、前述のRSブロックと、非公開情報語が示されている。そして、前述の非公開情報語の長さ情報とオフセット情報に基づき、図18に示されるように、RSブロックの先頭から非公開情報語で置換される。
このように、RSブロックの一部が非公開情報語で置換されると、情報本体の一部が消失してしまうことになる。しかしながら、RSブロック単位で訂正を行うことができるため、標準デコーダでは、置換後の情報本体部分をRS符号で訂正して適切に読み出し、表示できるのである。
そして、非公開情報語で置換された部分は、QRコードシンボル1の汚損等による誤りであるとみなされて捨てられてしまう情報となるので、標準デコーダでは表示することができない。一方、拡張デコーダ20では、後述するように、置換後RSブロックから非公開情報語を抽出する。そして、その後、RS符号により訂正を行って情報本体部分を読み出すことができる。
RSブロックに基づいてQRコードシンボル1を生成する手法は、JIS規格における標準的なQRコード生成手法と同様のものを採用することができる。このようにすることで、QRコードシンボル1を生成することができる。
なお、上記では説明の容易のために、情報本体はプレインなテキストデータとして表したが、情報本体のデータ語自体をインターリーブしたり、暗号化することとしてもよい。そして、インターリーブ後の情報本体や暗号化後の情報本体に対して訂正コード語を付加して置換前RSブロックを生成することとしてもよい。また、インターリーブや暗号化は、コード語単位でなくビット単位で行われることとしてもよい。
また、非公開情報語についてもインターリーブしたり、暗号化することとしてもよい。また、非公開情報語について誤り検知または誤り訂正のための符号化(例えば、RS符号化など)がなされていることとしてもよい。
次に、このようにして生成されたQRコードシンボル1のデコード手法について説明する。前提として、デコーダ20の記憶部21bには、非公開情報語の「長さ(語数)情報」、および、非公開情報語で置換される開始位置を表す「オフセット情報」が記憶されていることとする。
図19は、非公開情報語抽出のための読み出し方法の説明図である。図19には、置換後RSブロックと非公開情報語が示されている。
置換後RSブロックは、QRコードシンボルを読み取り、JIS規格に準じて展開することにより取得することができる。デコーダ20は、記憶部21bに記憶されている非公開情報語のオフセット情報と長さ情報とに基づいて、置換後RSブロックにおける非公開情報語の位置を特定する。そして、特定した位置から非公開情報語を抽出する。
図20は、情報本体の読み出し方法の説明図である。デコーダ20は、置換後RSブロックの誤り訂正を行うことにより、置換前RSブロックを取得する。そして、置換前RSブロックの先頭から終端符号までの情報を読み出し、読み出したデータを情報本体とする。
なお、前述のように、情報本体のデータ語自体がインターリーブされている場合には、その後、元の順序となるように所定の手法でデータの並び替えが行われる。また、暗号化されていた場合には、所定の復号化方法で復号が行われる。
次に、比較例として、標準デコーダで拡張QRコードシンボル1を読み取ったときの出力結果について説明する。標準デコーダでQRコードシンボル1を読み取ると、置換後RSブロックのRS符号に基づいて、RSブロック全体の訂正が行われる。そして、情報本体部分も訂正がなされ、訂正後の情報本体が標準デコーダに表示される。標準デコーダには、前述の拡張デコーダ20のように、置換後RSブロックから非公開情報語を抽出する機能はないから、情報本体のみが読み出し可能であり、非公開情報語を抽出することはできない。
また、比較例として、一般的なQRコードシンボルを拡張デコーダ20で読み取ったときの出力結果について説明する。拡張デコーダ20で一般的なQRコードシンボルを読み取ると、これに基づいてRSブロックを取得することができる。一般的なQRコードシンボルから取得されたRSブロックには非公開情報語は含まれていない。しかしながら、RSブロックを取得した時点において、拡張デコーダ20は、読み取ったシンボル1が拡張QRコードシンボルであるのか一般的なQRコードシンボルであるのか判定することができない。
そのため、拡張デコーダ20は、第1実施形態における手法同様に、RSブロックの非公開情報語が配置される位置から非公開情報語としてデータコード語を抽出する。その後、RSブロックのRS符号に基づいて、RSブロック全体の訂正を行う。これにより、情報本体部分の訂正が行われ、訂正後の情報本体が拡張デコーダ20に表示される。
非公開情報語として読み出したコード語が非公開情報語であるのか否かの判定は、訂正前のRSブロックと訂正後のRSブロックとの間に所定割合以上の差異があったときには非公開情報語であったと判定(すなわち、QRコードシンボルは拡張QRコードシンボルであると判定)し、所定割合以上の差異がなかったときには非公開情報語ではなかったと判定(すなわち、QRコードシンボルは一般的なQRコードシンボルであると判定)して非公開情報語を表示しないこととすることができる。これは、非公開情報語として置換が行われている場合には、置換前RSブロックと置換後RSブロッとの間の所定割合以上の差異が確実に生ずるものであるという理由に起因する。
図21は、RSブロックの一部を置換したときの第2の説明図である。前述の手法では、RSブロックの先頭から順に非公開情報語が置換されていた。しかしながら、リード・ソロモン符号による訂正能力を勘案すれば、RSブロックのいずれの位置を非公開情報語で置換してもよい。
この場合、予めRSブロックの先頭からいくつ目の位置から非公開情報語で置換されるかを決めておくことができる。例えば、図21に示すように、RSブロックの先頭から7語目の位置から13語分の非公開情報語で置換することとしてもよい。この場合、拡張エンコーダ10の記憶部11bおよび拡張デコーダ20の記憶部21bには、オフセット情報として置換後RSブロックの予め決められた7語目の位置から非公開情報語が開始されることが記憶されている。また、非公開情報語の長さ情報として、13語分の長さであることが記憶されている。このような場合であっても、非公開情報語の語数がRS符号による訂正可能語数よりも少ないことから、訂正を行うことで適切に置換前RSブロックを得ることができる。そして、置換前RSブロックから情報本体を読み出すことができる。
なお、このとき、非公開情報語の最終語において所定の分離符号を付加することとして、置換される非公開情報語の最終端を規定することとしてもよい。
図22は、RSブロックの一部を置換したときの第3の説明図である。ここでは、複数に分離した非公開情報語でRSブロックを置換する。
この場合、予めRSブロックのどの位置が非公開情報語で置換されるかを複数箇所決めておくことができる。例えば、図22に示すように、RSブロックの先頭から3語目の位置から3語分の非公開情報語で置換し、RSブロックの先頭から8語目の位置から2語分の非公開情報語で置換し、RSブロックの先頭から11語目の位置から1語分の非公開情報語で置換し、RSブロックの先頭から16語目の位置から4語分の非公開情報語で置換し、RSブロックの先頭から22語目の位置から3語分の非公開情報語で置換することとしてもよい。
この場合、拡張エンコーダ10の記憶部11bと拡張デコーダ20の記憶部21bには、オフセット情報および長さ情報として上記の情報が記憶されているものとする。このようにすることで、拡張デコーダ20は、このように予め特定された位置から、それぞれの非公開情報語を抽出することができる。また、この場合も非公開情報語の語数がRS符号による訂正可能語数よりも少ないことから、訂正を行うことで適切に置換前RSブロックを得ることができる。そして、置換前RSブロックから情報本体を読み出すことができる。
===第2実施形態===
前述の第1実施形態では、非公開情報語のオフセット情報、および、長さ情報などの配置に関する情報(以下、配置情報ということがある)が、予め拡張エンコーダ10の記憶部11b、および、拡張デコーダ20の記憶部21bに記憶されていることしていた。第2実施形態では、ヘッダデータコード語(図中において「ヘッダ」)にこれら配置情報が記録される。そして、第2実施形態では、さらにこのヘッダデータコード語が置換後RSブロックに含まれているものとしている。
図23は、第2実施形態におけるRSブロックの概念図である。図23を前述の第1実施形態における図5と比較すると分かるように、第2実施形態では、拡張エンコーダ10が、置換前RSブロックの一部をヘッダデータコード語と非公開情報語とで置換し、置換後RSブロックを生成する。
第2実施形態において、ヘッダデータコード語と非公開情報語による置換は、RSブロックの誤り訂正数を超えない範囲で行われる。すなわち、ヘッダデータコード語の語数と非公開情報語の語数との総語数は、RSブロックの誤り訂正数を超えない。
図23に示されるヘッダデータコード語には、前述のように非公開情報語の配置情報が含まれる。よって、このヘッダデータコード語を参照することにより、非公開情報語の開始位置およびその長さ(語数)を特定することができる。なお、ヘッダデータコード語の位置は予め決められているものとする。また、さらにヘッダデータコード語は、非公開情報語のフォーマットに関する情報を含むことができる。非公開情報語のフォーマットに関する情報には、仮に、非公開情報語を暗号化したときにおける暗号鍵の情報や、非公開情報語をインターリーブしたときにおける配置入れ替えに関する情報が含まれる。また、非公開情報語について誤り検知または誤り訂正のための符号化がなされている場合には、誤り検知または誤り訂正の手法に関する情報が含まれる。
図24は、第2実施形態におけるヘッダデータコード語および非公開情報語の説明図である。図24には、ヘッダデータコード語と非公開情報語が示されており、非公開情報語の一部に訂正符号語が含まれることが示されている。
図25は、第2実施形態による手法でRSブロックの一部を置換したときの第1の説明図である。図25には、RSブロックと非公開情報語とヘッダデータコード語が示されている。そして、ここでは、図25に示されるように、RSブロックは、拡張エンコーダ10により、その先頭から非公開情報語で置換される。また、RSブロックは、その後端がヘッダデータコード語で置換される。そして、このヘッダデータコード語には、非公開情報語の配置情報(この場合、先頭から開始(すなわち、オフセットがゼロである)すること、および、11語の長さを有すること)が含まれている。
このように、RSブロックの一部が非公開情報語で置換されると、情報本体および訂正コード語の一部が消失してしまうことになる。しかしながら、RSブロック単位で訂正を行うことができるため、標準デコーダでは、置換後の情報本体部分をRS符号で訂正して適切に読み出し、表示できる。そして、非公開情報語で置換された部分は、QRコードシンボル1の汚損等による誤りであるとみなされて捨てられてしまう情報となるので、標準デコーダでは表示することができない。
一方、拡張デコーダ20では、置換後RSブロックから非公開情報語を抽出する。その際、ヘッダデータコード語から非公開情報語の位置を特定するための配置情報を取得する。そして、その配置情報に基づいて非公開情報語を抽出する。なお、非公開情報語には、訂正符号語が付加されているため、仮に、非公開情報語に汚損があったとしても、訂正符号語を用いてこれを訂正することもできる。
また、非公開情報語についてインターリーブされている場合には、ヘッダデータコード語に含まれるインターリーブ手法についての情報に基づいて、元の順序に並べ替えを行うことができる。また、情報本体についてインターリーブされている場合にも、ヘッダデータコード語に含まれるインターリーブ手法についての情報に基づいて、元の順序に並べ替えを行うこともできる。また、非公開情報語について暗号化が行われている場合には、ヘッダデータコード語に含まれる暗号鍵等に基づいて復号化を行うことができる。また、前述のように、非公開情報語について誤り検知または誤り訂正のための符号化(例えば、RS符号化など)がなされている場合には、ヘッダデータコード語に含まれる情報に基づいて誤り訂正の手法を特定することができる。
このようにして非公開情報語を抽出した後、拡張デコーダ20は、置換後RSブロックの訂正を行って置換前RSブロックを求める。そして、置換前RSブロックに含まれる情報本体部分を読み出す。そして、読み出された非公開情報語と情報本体部分を表示する。
図26は、第2実施形態による手法でRSブロックの一部を置換したときの第2の説明図である。前述の図26の手法では、RSブロックの先頭から順に非公開情報語で置換されていた。しかしながら、図26に示すように、先頭以外の位置から非公開情報語で置換することとしてもよい。
図26に示されるような場合、RSブロックの9語目から非公開情報語の置換が開始されることがヘッダデータコード語中のオフセット情報に含まれている。また、非公開情報語が11語分の長さを有することがヘッダデータコード語中の長さ情報に含まれている。これにより、ヘッダデータコード語を参照することで、第1実施形態のときと同様に非公開情報語を適切に抽出することができる。
これは、前述の図22のときのように、非公開情報語が分散して置換される場合にも同様に適用することができる。
図27は、第2実施形態による手法でRSブロックの一部を置換したときの第3の説明図である。このとき、ヘッダデータコード語の位置はRSブロックの13語目から開始して2語の長さを有することが予め決められているものとする。このように、非公開情報語が分散して置換される場合には、ヘッダデータコード語には複数の非公開情報語の配置情報を含むことになる。このようにすることで、ヘッダデータコード語を参照することで適切に非公開情報語を抽出することができる。
なお、ヘッダデータコード語の位置は予め決められていたものとして説明を行ったが、ヘッダデータコード語の前後にデリミタを設けることとしてヘッダデータコード語の位置を特定することとしてもよい。
なお、読み取ったQRコードシンボルが一般的なQRコードシンボルであるか第2実施形態におけるQRコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第2実施形態におけるQRコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ20は、非公開情報語を表示することとすることができる。また、一般的なQRコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ20は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
===第3実施形態===
図28は、第3実施形態による手法でRSブロックの一部を置換したときの説明図である。図28には、置換前RSブロックと非公開情報語と暫定置換後RSブロックとヘッダデータコード語と置換後RSブロックが示されている。
第3実施形態において、拡張エンコーダ10は、置換前RSブロックの一部を非公開情報語で置換する。そして、暫定置換後RSブロックを生成する。なお、非公開情報語には、後述するように、ヘッダデータコード語によって置換されてもそれを訂正しうるだけの訂正能力を有する訂正符号語が含まれている。
次に、拡張エンコーダ10は、暫定置換後RSブロックにおいて非公開情報語で置換した部分の一部をヘッダデータコード語で置換する。そして、置換後RSブロックを生成する。その後、拡張エンコーダ10は、生成された置換後RSブロックに基づいてQRコードシンボルを生成する。
次に、デコード手法について説明する。第3実施形態における拡張デコーダ20は、このようにして生成されたQRコードシンボルを読み取り、置換後RSブロックを展開する。そして、拡張デコーダ20は、ヘッダデータコード語を読み出す。ヘッダデータコード語の位置は、第1実施形態および第2実施形態のときと同様に、予め決められた位置としておくこともできるし、ヘッダデータコード語の前後にデリミタを設けることとしてその位置を特定することとしてもよい。
このようにして読み出されたヘッダデータコード語に含まれる配置情報に基づいて、非公開情報語の位置が特定される。そして、非公開情報語が抽出される。非公開情報語には、前述のように訂正符号語が含まれているため、この訂正符号語に基づいて訂正を行うことにより、ヘッダデータコード語によって置換された部分も適切に訂正される。そして、ヘッダデータコード語によって置換される前の非公開情報語が適切に抽出される。
このようにすることで、まずは暫定置換後RSブロックを得ることができる。次に、デコーダ20は、置換前RSブロックに含まれる訂正符号語を用いて訂正を行う。これにより、非公開情報語によって置換された部分も適切に訂正され、置換前RSブロックを得ることができる。そして、拡張デコーダ20は、置換前RSブロックから情報本体を読み出すことができる。
第3実施形態において、非公開情報語の語数は、置換前RSブロックに含まれる訂正符号語による訂正可能語数を超えない。また、第3実施形態において、ヘッダデータコード語の語数は、非公開情報語に含まれる訂正符号語による訂正可能語数を超えない。これにより、適切に非公開情報語および情報本体を読み出すことができる。
第3実施形態において特徴的なのは、このように非公開情報語で置換した部分の一部をヘッダデータコード語で置換する点である。このようにすることで、ヘッダデータコード語と非公開情報語が重なり合うこととなるので、ヘッダデータコード語と非公開情報語との総語長を短くすることができる。これにより、QRコードシンボルの誤り検出・訂正能力の余力をより大きく持たせることができる。
なお、第3実施形態においても第2実施形態と同様に、読み取ったQRコードシンボルが一般的なQRコードシンボルであるか第3実施形態におけるQRコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第3実施形態におけるQRコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ20は非公開情報語を表示することとすることができる。また、一般的なQRコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ20は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
===第4実施形態===
図29は、第4実施形態による手法でRSブロックの一部を置換したときの説明図である。図29には、置換前RSブロックと非公開情報語と置換後RSブロックが示されている。
第4実施形態において、置換前RSブロックの情報本体には、ヘッダデータコード語が含まれている。ヘッダデータコード語の前後にはデリミタ(図29において「デリ」と記載)が配置され、これにより、情報本体における表示情報とヘッダデータコード語との切り分けが行われている。
このような置換前RSブロックを生成するために、第4実施形態において、拡張エンコーダ10は、表示情報とヘッダデータコード語とデリミタを含む情報本体を生成する。ヘッダデータコード語には、後述する非公開情報語の配置情報が含まれている。また、拡張エンコーダ10は、これらの情報本体(存在すればパディングコード語も含め)に基づいて、訂正コード語を生成する。そして、置換前RSブロックを生成する。
次に、拡張エンコーダ10は、非公開情報語で置換前RSブロックの一部を置換する。ここで、置換する位置は、ヘッダデータコード語に含まれる配置情報に対応する位置である。そして、置換後RSブロックを生成する。その後、拡張エンコーダ10は、置換後RSブロックに基づいてQRコードシンボルを生成する。
次に、デコード手法について説明する。第4実施形態における拡張デコーダ20は、このようにして生成されたQRコードシンボルを読み取り、置換後RSブロックを展開する。そして、拡張デコーダ20は、置換前RSブロックに含まれる訂正符号語に基づいて、置換後RSブロックを訂正することにより置換前RSブロックを得る。置換前RSブロックには、前述のようにデリミタで切り分けされたヘッダデータコード語が含まれる。拡張デコーダ20は、このヘッダデータコード語に含まれる配置情報に基づいて、置換後RSブロックから非公開情報語の位置を特定し、抽出する。抽出された非公開情報語について、非公開情報語に含まれる訂正符号語を用いて訂正が行われることとしてもよい。
このように、非公開情報語の配置情報を含むヘッダデータコード語を非公開情報語で置換して置換後RSブロックを生成するので、置換後RSブロックから非公開情報語の位置を特定することが困難となる。そして、第三者にとって、非公開情報語の抽出をより困難なものとすることができる。
なお、第4実施形態において、読み取ったQRコードシンボルが一般的なQRコードシンボルであるか第4実施形態におけるQRコードシンボルであるかの判定は、読み出した置換前RSブロックにヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第4実施形態における置換前RSブロックには、ヘッダデータコード語が含まれているので、拡張デコーダ20は非公開情報語を表示することとすることができる。また、一般的なQRコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ20は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
===第5実施形態===
図30は、第5実施形態による手法でRSブロックの一部を置換したときの説明図である。図30には、置換前RSブロックと非公開情報語とヘッダデータコード語と置換後RSブロックが示されている。
第5実施形態において、置換前RSブロックの情報本体には、ヘッダデータコード語の位置情報を含んだヘッダデータコード語オフセット位置情報語(図30において「オフセット」と記載。「ヘッダ位置データコード語」に対応する)が含まれている。ヘッダオフセット位置情報語の前後には、デリミタが配置され、これにより、情報本体における表示情報とヘッダオフセット位置情報語との切り分けが行われている。
このような置換前RSブロックを生成するために、第5実施形態において、拡張エンコーダ10は、表示情報とヘッダオフセット位置情報語とデリミタを含む情報本体を生成する。そして、拡張エンコーダ10は、これらの情報本体(存在すればパディングコード語も含め)に基づいて、訂正コード語を生成する。そして、置換前RSブロックを生成する。
次に、拡張エンコーダ10は、非公開情報語で置換前RSブロックの一部を置換する。ここで、置換する位置は、ヘッダデータコード語に含まれる非公開情報語の配置情報に対応する位置である。ここでは、非公開情報語の配置情報において、RSブロックの5語目から非公開情報語の置換が開始され、非公開情報語が11語分の長さを有することの情報が含まれているものとする。そして、暫定置換後RSブロックを生成する。
次に、拡張エンコーダ10は、暫定置換後RSブロックにおける非公開情報語の一部をヘッダデータコード語で置換する。ここで、置換する位置は、前述のヘッダオフセット位置情報語に含まれるヘッダデータコード語の位置情報に対応する位置である。ここでは、RSブロックの7語目から置換が行われることの情報がヘッダオフセット位置情報語に含まれるものとする。また、ヘッダデータコード語の長さは予め2語分であることが定められているものとする。そして、これらの情報に基づいて、拡張エンコーダ10はヘッダデータコード語による置換を行い、置換後RSブロックを生成する。その後、拡張エンコーダ10は、置換後RSブロックに基づいてQRコードシンボルを生成する。
次に、デコード手法について説明する。第5実施形態における拡張デコーダ20は、このようにして生成されたQRコードシンボルを読み取り、置換後RSブロックを展開する。そして、拡張デコーダ20は、RSブロックに含まれる訂正符号語に基づいて、置換後RSブロックを訂正することにより、置換前RSブロックを得る。置換前RSブロックには、前述のようにデリミタで切り分けされたヘッダオフセット位置情報語が含まれる。
拡張デコーダ20は、このヘッダオフセット位置情報語に基づいて、置換後RSブロックにおけるヘッダデータコード語の位置を特定する。そして、特定した置換後RSブロックの位置からヘッダデータコード語を読み出し、非公開情報語の配置情報を得る。
拡張デコーダ20は、非公開情報語の配置情報に基づいて、置換後RSブロックから非公開情報語を抽出する。ただし、この非公開情報語は、ヘッダデータコード語により一部が置換されている。よって、拡張デコーダ20は、非公開情報語に含まれる訂正符号語に基づいて訂正をし、ヘッダデータコード語によって置換がされる前の非公開情報語を得る。これにより、適切に非公開情報語を取得することができる。
また、拡張デコーダ20は、置換前RSブロックの情報本体からヘッダオフセット位置情報語とデリミタを除いた情報語を取得する。
このようにすることで、ヘッダデータコード語の位置を特定するためのヘッダオフセット位置情報語を情報本体に含めることし、このヘッダオフセット位置情報語をさらに非公開情報語で置換するので、非公開情報語の位置を特定することがより困難となる。そして、第三者にとって、非公開情報語を抽出することをより困難なものとすることができる。
なお、前述の第2実施形態のように、ヘッダデータコード語に含まれる非公開情報語の配置情報に基づいて、任意の位置から非公開情報語を置換したり、非公開情報語を複数に分離させて置換することとすることもできる。また、ヘッダデータコード語の情報に基づいて、非公開情報語を暗号化したりインターリーブしたりすることもできる。
また、ヘッダデータコード語の位置を「オフセット」に基づいて特定することとしたが、ヘッダデータコード語の位置を特定できればオフセット量で特定しなくとも、他の手法でその位置を特定してもよい。
なお、第5実施形態においても第2実施形態と同様に、読み取ったQRコードシンボルが一般的なQRコードシンボルであるか第5実施形態におけるQRコードシンボルであるかの判定は、抽出した非公開情報語にヘッダデータコード語が含まれているか否かに基づいて判定することができる。すなわち、第5実施形態におけるQRコードシンボルには、ヘッダデータコード語が含まれているので、拡張デコーダ20は非公開情報語を表示することとすることができる。また、一般的なQRコードシンボルには、ヘッダデータコード語が含まれていないので、拡張デコーダ20は、非公開情報語を表示せず、表示対象の情報のみを表示することができる。
===第6実施形態===
図31は、第6実施形態による手法でRSブロックの一部を置換したときの第1の説明図である。図31には、置換前RSブロックと非公開情報語と置換後RSブロックが示されている。
第6実施形態において、拡張エンコーダ10は、情報本体(存在すればパディングコード語も含め)に基づいて、訂正コード語を生成する。そして、置換前RSブロックを生成する。次に、拡張エンコーダ10は、置換前RSブロックの一部を非公開情報語で置換する。そして、置換後RSブロックを生成する。そして、置換後RSブロックに基づいて、QRコードシンボルを生成する。このように、第6実施形態において、QRコードシンボルの生成方法は、第1実施形態とほぼ同様の手法による。
次に、デコード手法について説明する。第6実施形態における拡張デコーダ20は、このようにして生成されたQRコードシンボルを読み取り、置換後RSブロックを展開する。そして、そして、拡張デコーダ20は、RSブロックに含まれる訂正符号語に基づいて、置換後RSブロックを訂正することにより、置換前RSブロックを得る。
拡張デコーダ20は、置換前RSブロックと置換後RSブロックとを比較する。そして、置換前RSブロックと異なる部分を置換後RSブロックから読み出す。このようにして読み出された情報語は非公開情報語とされる。また、置換前RSブロックから情報本体を読み出す。置換前RSブロックには、情報本体と訂正符号語の間に終端符号が設けられているため、デコーダ20は、この終端符号に基づいて情報本体と訂正符号語とを切り分けることができる。
このようにすることで、非公開情報語と情報本体を読み出すことができる。そして、第6実施形態の手法によれば、単に置換前RSブロックと置換後RSブロックとを比較し、異なる部分を読み出せばよいので、非公開情報語の位置情報が不要となる利点がある。すなわち、仮にヘッダデータコード語を用いる場合には、ヘッダデータコード語の語数を減らすことができる。
図32は、第6実施形態における手法でRSブロックの一部を置換したときの第2の説明図である。ここでは、複数に分離した非公開情報語でRSブロックを置換する。
例えば、図32に示すように、非公開情報語を5つに分離してRSブロックの一部を置換することができる。このようにした場合であっても、非公開情報語の語数がRS符号による訂正可能語数より少ないことから、訂正を行うことで適切に置換前RSブロックを得ることができる。そして、この場合も置換前RSブロックと置換後RSブロックとの差分をとることによって、非公開情報語を得ることができる。また、置換前RSブロックの予め特定された位置からデータ語を読み出すことにより情報本体を得ることができる。
このように、差分に基づいて非公開情報語を抽出する手法は、QRコードシンボルに汚損が生じにくく、RSブロックにも汚損が生じにくい場合に特に有効である。例えば、QRコードシンボルの画像データファイルを生成し、これをファイルとして取り込み、非公開情報語等を読み出す場合には、QRコードシンボルが外部に曝される機会がないため、汚損が生ずることがありえない。
この手法によれば、前述のように、特段ヘッダデータコード語等を設けなくても非公開情報語を特定することができるという利点がある。これは、より多くの非公開情報語で置換をすることができるという利点になる。
非公開情報語として読み取ったコード語が非公開情報語であるのか否かの判定は、第1実施形態と同様に、訂正前のRSブロックと訂正後のRSブロックとの間に所定割合以上の差異があったときには非公開情報語であったと判定(すなわち、QRコードシンボルは第6実施形態におけるQRコードシンボルであると判定)し、所定割合以上の差異がなかったときには非公開情報語ではなかったと判定(すなわち、QRコードシンボルは一般的なQRコードシンボルであると判定)して非公開情報語を表示しないこととすることができる。これは、非公開情報語として置換が行われている場合には、置換前RSブロックと置換後RSブロックとの間の所定割合以上の差異が確実に生ずるものであるという理由に起因する。
ところで、差分による上記のような手法でデコードを行った場合、置換前データブロックと置換後データブロックの非公開情報語で置換される部分において、きわめて希にではあるが、偶然に同じ語となった部分がある場合には、その部分は差分として読み出されないという問題がある。この場合、ヘッダデータコード語、および、非公開情報語に含まれる各語は必ず連続で置換されることとしておく。
図33は、第6実施形態における手法でRSブロックの一部を置換したときの第3の説明図である。ここでは、ヘッダデータコード語の各語と非公開情報語の各語が連続して配置されるという規則を適用する。このような規則を適用することで、これらの語は必ず連続して置換されていることになるので、たとえ偶然に同じ語となることで欠落した語があったとしても、偶然一致してしまった語で欠落部分を埋めることで情報を補完することができる。
ところで、このようにRSブロックの端部以外でコード語の欠落が生じた場合には単に対応する位置のデータコード語でその欠落部分を埋めればよい。しかし、RSブロックの端部で欠落が生じた場合には、その欠落が先端部分で生じたのか後端部分で生じたのかを特定すること自体が困難となる。よって、この場合には、次に説明するように、端部についていくつかの補完を行って、検証を行う。
図34は、一部欠落したRSブロックの説明図である。図34には、欠落のないRSブロックと、データコード語の先端部分が欠落したRSブロック(以下、先端欠落RSブロックと呼ぶ)と、訂正コード語の後端部分が欠落したRSブロック(以下、後端欠落RSブロックと呼ぶ)と、両端部分が欠落したRSブロック(以下、両端欠落RSブロックと呼ぶ)が示されている。なお、説明の便宜上、各セル内に具体的なコード語は示されていない。これらの図において、欠落したコード語の部分は、破線で示されている。このように、RSブロックの端部が欠落するケースとしては、これらの3つのケースがあることになる。
これらのようなRSブロックについては、可能な組み合わせで先端及び後端に補完を行う。そして、全ての組み合わせについて、(1)補完されたRSブロックで訂正処理が機能するか、(2)訂正処理が機能したとしてその訂正結果がブロック構成構文として正しいか、の検証を行う。
図35は、先端欠落RSブロックの補完の説明図である。図35には、先端欠落RSブロックに対して誤った補完が行われたRSブロックが示されている。先端欠落RSブロックは、本来、先端部分について補完が行われるべきであるが、欠落したRSブロックを見ただけでは先端部分が欠落しているのか後端部分か欠落しているのかは分からない。そのため、先端部分の補完を行ったRSブロックと、後端部分の補完を行ったRSブロックとの両方を生成する。そして、補完を行った両方のRSブロックについて、訂正コード語を用いて訂正を行うことになる。
先端部分の補完を行ったRSブロックは、正しいRSブロックとなるため、適切に訂正処理が行われ、訂正結果としてもブロック構成構文として正しい結果となる。
これに対し、後端部分の補完を行ったRSブロックは、図35に示されるように、想定される語長から訂正コード語の位置が推定され、その結果、誤った位置が訂正コード語の位置であるとして特定されてしまう。このように誤って訂正コード語であると認識された領域のコード語に基づいて訂正が行われるため、適切に訂正は行われないことになる。
なお、ここでは、1語分の欠落が生じたものとして説明を行ったが、欠落した語数が複数語であっても、特定される訂正コード語の位置は誤った位置となることから、やはり適切に訂正は行われないことになる。
図36は、後端欠落RSブロックの補完の説明図である。図36には、後端欠落RSブロックに対して誤った補完が行われたRSブロックが示されている。後端欠落RSブロックは、本来、後端部分について補完が行われるべきであるが、やはりこの場合も、欠落したRSブロックを見ただけでは先端部分が欠落しているのか後端部分か欠落しているのかは分からない。そのため、この場合も、先端部分の補完を行ったRSブロックと、後端部分の補完を行ったRSブロックとの両方を生成する。そして、補完を行った両方のRSブロックについて訂正コード語を用いて、訂正を行うことになる。
後端部分の補完を行ったRSブロックは、正しいRSブロックとなるため、適切に訂正処理が行われ、訂正結果としてもブロック構成構文として正しい結果となる。
これに対し、先端部分の補完を行ったRSブロックは、図36に示されるように、想定される語長から訂正コード語の位置が推定され、その結果、誤った位置が訂正コード語の位置であるとして特定されてしまう。このように誤って訂正コード語であると認識された領域のコード語に基づいて訂正が行われるため、適切に訂正は行われないことになる。
なお、ここでも、1語分の欠落が生じたものとして説明を行ったが、欠落した語数が複数語であっても、特定される訂正コード語の位置は誤った位置となることから、やはり適切に訂正は行われないことになる。
図37は、両端欠落RSブロックの補完の説明図である。図37には、両端欠落RSブロックに対して誤った補完が行われた2つのRSブロックが示されている。ここでは、1語ずつ各端部で欠落が生じていることを想定している。このような両端欠落RSブロックにおいて、本来、先端部分と後端部分について1語ずつの補完が行われるべきではあるが、やはりこの場合も欠落したRSブロックを見ただけでは、どのような形態で欠落が生じているのかが分からない。
そのため、この場合には、先端部分に2語の補完を行ったRSブロックと、後端部分に2語の補完を行ったRSブロックと、各端部分に1語ずつの補完を行ったRSブロックを生成することになる。そして、それぞれ補完したRSブロックについて、訂正ブロックを用いて訂正することになる。その後の検証方法は、先端欠落RSブロックにて補完を行った場合および後端欠落RSブロックにて補完を行った場合と同様であるので、説明を省略する。
このようにして、考えられる全てのケースの補完を行って検証を行うことで、適切に補完がされたRSブロックを得ることができる。
ここでは、上記の3ケースについて説明を行ったが、欠落したデータコード語の数に応じて検証するべき数が変化する。
例えば、前述のように、データコード語が1語欠落する場合は、先端部分が1語欠落する場合と、後端部分が1語欠落する場合の2ケースが考えられることになる。
また、データコード語が2語欠落する場合は、先端部分が2語欠落する場合と、先端部分が2語欠落しかつ後端部分が1語欠落する場合と、後端部分が2語欠落する場合の3ケースが考えられることになる。
また、データコード語が3語欠落する場合は、先端部分が3語欠落する場合と、先端部分が2語欠落しかつ後端部分が1語欠落する場合と、先端部分が1語欠落しかつ後端部分が2語欠落する場合と、後端部分が3語欠落する場合の4ケースが考えられることになる。
これらの規則性からすると、端部でN語欠落している場合には、(N+1)種類の検証を行うことになる。そして、(N+1)種類の検証を行った後、適切に訂正を行えたものを採用することができる。
このように、先端部分や後端部分に欠落が生じた場合であっても、これに対応するケースだけ補完を行ったRSブロックを生成し、それぞれを検証することによって、適切に正しい補完を行うことができる。なお、極めて希に、誤った補完を行ったRSブロックにおいて訂正機能が成立してしまう場合も有りうるが、この場合、訂正後のブロックが定められたフォーマットにしたがっていない等の不具合を有することになる。そのため、これに基づいて、正常な補完ではないと判定することができる。
===第7実施形態===
次のような手法を用いて非公開情報をRSブロックに埋め込むこともできる。
図38は、第7実施形態におけるRSブロックの概要図である。図38には、前述の図5と同様に、非公開情報、モード指示子、シンボル列指示子、パリティデータ、情報本体、終端符号、パディングコード語、および、RS符号が示されている。ただし、図38では、パディングコード語が非公開情報で置き換えられる点、および、訂正コード語としてのRS符号が非公開情報を埋め込んだ後に生成される点で図5と異なっている。
JIS規格に応じて求められたRSブロックのデータコード総数が、RSブロックで収容可能な容量に満たない場合に、情報本体のコード列の終端を示す終端符号をこのコード列の最後に配置する。さらに、コード領域の空き部分にデータを表さない埋め草コード(パディングコード語)を配置する(図38の上側の図)。第7実施形態では、さらに、非公開情報をパディングコードの一部または全部に変えて、終端符号コードの後に配置する(図38の下側の図)。そして、その後、訂正コード語としてのRS符号が生成される。
このようにして生成された挿入後RSブロック(ここでは、「置換後RSブロック」との差異を明らかにするために「挿入後RSブロック」と呼ぶ)は、一般的なデコーダでは、終端符号以降のコード語は意味の無いパディングコードとして無視され捨てられてしまう。そして、情報本体のみを読み出すことができる。一方、このようなフォーマットに対応する拡張デコーダでは、終端符号以降のデータを非公開情報として抽出することができる。
===その他の実施形態===
上述の実施形態では、標準QRコード、または、拡張QRコードを二次元コードの一例として挙げ説明したが、他の二次元コードを用いることができることは言うまでもない。また、二次元コードの一部を何らかの保護マスク(JIS規格で定められている前述の標準マスクパターンのように用途が他に規定されているものを除く)でマスク化すること(マスキング)も上記実施形態における保護符号化の範疇である。同様に、この保護マスクを解除することも上記実施形態における保護復号化の範疇である。また、「保護符号化」における「符号化」は「エンコード」ということもでき、同様に、「保護復号化」における「復号化」は「デコード」ということもできる。
以上、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
10 拡張エンコーダ、
11 制御部、11a 演算部、11b 記憶部、
13 表示装置、14 印刷装置、15 入力装置、
20 拡張デコーダ、
21 制御部、21a 演算部、21b 記憶部、
22 撮像装置、23 表示装置、24 印刷装置、25 入力装置

Claims (24)

  1. 少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いた秘匿対象情報の隠蔽方法であって、
    前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
    前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
    を含むことを特徴とする秘匿対象情報の隠蔽方法。
  2. 請求項1に記載の秘匿対象情報の隠蔽方法であって、
    前記保護符号化用データの適用は、前記第2二次元コードのデータコード語及び訂正コード語と前記保護符号化用データとの排他的論理和が演算されることにより行われることを特徴とする秘匿対象情報の隠蔽方法。
  3. 請求項1または請求項2に記載の秘匿対象情報の隠蔽方法であって、
    前記第1二次元コードは、第1公開情報を含み、
    前記第1公開情報を含む第1公開データコード語と、前記第1公開データコード語の誤りを訂正しうる第1訂正コード語と、を含むデータブロックの一部を前記第1非公開情報を含む第1非公開データコード語で置換した第1置換後データブロックに基づいて前記第1二次元コードが生成されることを特徴とする秘匿対象情報の隠蔽方法。
  4. 請求項3に記載の秘匿対象情報の隠蔽方法であって、
    前記第1非公開データコード語の語数は、前記第1訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の隠蔽方法。
  5. 請求項3または請求項4に記載の秘匿対象情報の隠蔽方法であって、
    前記第1公開データコード語は、第1パリティ情報を含み、
    前記第2二次元コードは、第2公開情報を含み、
    前記第1パリティ情報は、前記第1公開情報と前記第2公開情報とを所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の隠蔽方法。
  6. 請求項5に記載の秘匿対象情報の隠蔽方法であって、
    前記第2二次元コードは、前記第2公開情報を含む第2公開データコード語と、前記第2公開データコード語の誤りを訂正しうる第2訂正コード語と、を含むデータブロックの一部を前記第2非公開情報を含む第2非公開データコード語で置換した第2置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の隠蔽方法。
  7. 請求項6に記載の秘匿対象情報の隠蔽方法であって、
    前記第2非公開データコード語の語数は前記第2訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の隠蔽方法。
  8. 請求項6または請求項7に記載の秘匿対象情報の隠蔽方法であって、
    前記第2公開データコード語は、第2パリティ情報を含み、
    前記第2パリティ情報は、前記第1公開情報と前記第2公開情報とを前記所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の隠蔽方法。
  9. 請求項1乃至請求項8のいずれか一項に記載の秘匿対象情報の隠蔽方法であって、
    さらに、第1インクを用いて前記第1二次元コードを印刷するとともに、前記第1インクとは異なる光学的特性を有する第2インクを用いて前記保護符号化後第2二次元コードを印刷することを含み、
    前記第1二次元コードと前記保護符号化後第2二次元コードは互いに重なるように印刷されることを特徴とする秘匿対象情報の隠蔽方法。
  10. 少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報とを含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する秘匿対象情報隠蔽装置であって、
    前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成し、前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することを特徴とする秘匿対象情報隠蔽装置。
  11. 少なくとも第1非公開情報を含む第1二次元コードと、少なくとも第2非公開情報を含む第2二次元コードと、を用いて秘匿対象情報を隠蔽する方法をコンピュータに実行させるプログラムであって、
    前記第2二次元コードを保護符号化するための保護符号化用データを特定する保護符号化用データ情報を前記第1非公開情報に含めた前記第1二次元コードを生成することと、
    前記秘匿対象情報を前記第2非公開情報に含めた前記第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データを適用して保護符号化後第2二次元コードを生成することと、
    をコンピュータに実行させることを特徴とするプログラム。
  12. 保護符号化用データ情報を含む第1非公開情報を少なくとも有する第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報の抽出方法であって、
    前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
    前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
    前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
    前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
    を含むことを特徴とする秘匿対象情報の抽出方法。
  13. 請求項12に記載の秘匿対象情報の抽出方法であって、
    前記保護符号化コード語の保護復号化は、前記保護符号化後第2二次元コードの前記保護符号化コード語と前記保護符号化用データとの排他的論理和が演算されることにより行われることを特徴とする秘匿対象情報の抽出方法。
  14. 請求項12または請求項13に記載の秘匿対象情報の抽出方法であって、
    前記第1二次元コードは、第1パリティ情報を含み、
    前記第2二次元コードは、第2パリティ情報を含み、
    前記第1パリティ情報と前記第2パリティ情報とが一致することを条件として、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる秘匿対象情報が抽出されることを特徴とする秘匿対象情報の抽出方法。
  15. 請求項14に記載の秘匿対象情報の抽出方法であって、
    前記第1二次元コードは、第1公開情報を含み、
    前記第2二次元コードは、第2公開情報を含み、
    前記第1パリティ情報と前記第2パリティ情報は、ともに、前記第1公開情報と前記第2公開情報とを所定の方法で連結した情報のパリティ情報であることを特徴とする秘匿対象情報の抽出方法。
  16. 請求項15に記載の秘匿対象情報の抽出方法であって、
    前記第1二次元コードは、前記第1公開情報を含む第1公開データコード語と、前記第1公開データコード語の誤りを検出し訂正しうる第1訂正コード語と、を含むデータブロックの一部を前記第1非公開情報を含む第1非公開データコード語で置換した第1置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の抽出方法。
  17. 請求項16に記載の秘匿対象情報の抽出方法であって、
    前記第1二次元コードに含まれる第1非公開情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された保護符号化用データを特定することは、前記第1置換後データブロックにおける所定の位置から前記第1非公開データコード語を抽出し、当該第1非公開データコード語に含まれる保護符号化用データ情報に基づいて前記保護符号化用データを特定することを含むことを特徴とする秘匿対象情報の抽出方法。
  18. 請求項16または請求項17に記載の秘匿対象情報の抽出方法であって、
    前記第1非公開データコード語の語数は、前記第1訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の抽出方法。
  19. 請求項15乃至請求項18のいずれか一項に記載の秘匿対象情報の抽出方法であって、
    前記第2二次元コードは、前記第2公開情報を含む第2公開データコード語と、前記第2公開データコード語の誤りを検出し訂正しうる第2訂正コード語と、を含むデータブロックの一部を前記第2非公開情報を含む第2非公開データコード語で置換した第2置換後データブロックに基づいて生成されることを特徴とする秘匿対象情報の抽出方法。
  20. 請求項19に記載の秘匿対象情報の抽出方法であって、
    前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる秘匿対象情報を抽出することは、前記第2置換後データブロックにおける所定の位置から前記第2非公開データコード語を抽出し、当該第2非公開データコード語に含まれる秘匿対象情報を抽出することを含むことを特徴とする秘匿対象情報の抽出方法。
  21. 請求項19または請求項20に記載の秘匿対象情報の抽出方法であって、
    前記第2非公開データコード語の語数は、前記第2訂正コード語による誤り訂正語数を超えないことを特徴とする秘匿対象情報の抽出方法。
  22. 請求項12乃至請求項20のいずれか一項に記載の秘匿対象情報の抽出方法であって、
    前記第1二次元コードと前記保護符号化後第2二次元コードは互いに重なるように印刷され、前記第1二次元コードは第1インクを用いて印刷されるとともに、前記保護符号化後第2二次元コードは前記第1インクとは異なる光学的特性を有する第2インクを用いて印刷されているときにおいて、
    前記第1二次元コードは前記第1インクで印刷された印刷物を読み取るための第1の光源を用いて読み取られ、前記保護符号化後第2二次元コードは前記第2インクで印刷された印刷物を読み取るための第2の光源を用いて読み取られることを特徴とする秘匿対象情報の抽出方法。
  23. 保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報を抽出する秘匿対象情報抽出装置であって、
    前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取り、前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定し、前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化し、前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することを特徴とする秘匿対象情報抽出装置。
  24. 保護符号化用データ情報を含む第1非公開情報を少なくとも含む第1二次元コードと、秘匿対象情報を含む第2非公開情報を少なくとも有する第2二次元コードのデータコード語及び訂正コード語に前記保護符号化用データ情報で特定される保護符号化用データを適用して保護符号化した保護符号化後第2二次元コードと、から前記秘匿対象情報の抽出をコンピュータに実行させるプログラムであって、
    前記第1二次元コードと、前記保護符号化後第2二次元コードと、を読み取ることと、
    前記第1二次元コードに含まれる第1非公開情報の保護符号化用データ情報に基づいて前記第2二次元コードのデータコード語及び訂正コード語に適用された前記保護符号化用データを特定することと、
    前記保護符号化用データを用いて前記保護符号化後第2二次元コードの保護符号化コード語を保護復号化することと、
    前記保護符号化コード語の保護復号化により得られた前記第2二次元コードから前記第2非公開情報に含まれる前記秘匿対象情報を抽出することと、
    をコンピュータに実行させることを特徴とするプログラム。
JP2014123332A 2014-06-16 2014-06-16 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置 Active JP5914579B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014123332A JP5914579B2 (ja) 2014-06-16 2014-06-16 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置
EP15809578.6A EP3156946B1 (en) 2014-06-16 2015-05-19 Method for concealing secret information, secret information concealing device, program, method for extracting secret information, and secret information extraction device
US15/319,200 US10062023B2 (en) 2014-06-16 2015-05-19 Method for concealing hidden-object information, device and program for concealing hidden-object information, method for extracting hidden-object information, and device for extracting hidden-object information
PCT/JP2015/064335 WO2015194298A1 (ja) 2014-06-16 2015-05-19 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014123332A JP5914579B2 (ja) 2014-06-16 2014-06-16 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置

Publications (2)

Publication Number Publication Date
JP2016004357A JP2016004357A (ja) 2016-01-12
JP5914579B2 true JP5914579B2 (ja) 2016-05-11

Family

ID=54935292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014123332A Active JP5914579B2 (ja) 2014-06-16 2014-06-16 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置

Country Status (4)

Country Link
US (1) US10062023B2 (ja)
EP (1) EP3156946B1 (ja)
JP (1) JP5914579B2 (ja)
WO (1) WO2015194298A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190306385A1 (en) 2014-01-31 2019-10-03 Digimarc Corporation Concerning digital marking and reading of plastic items, useful in recycling
US11962876B2 (en) * 2014-01-31 2024-04-16 Digimarc Corporation Recycling methods and systems, and related plastic containers
JP5827738B1 (ja) * 2014-10-15 2015-12-02 株式会社トッパンTdkレーベル 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、および、二次元コード読み取り装置
JP5966053B1 (ja) * 2015-04-17 2016-08-10 株式会社トッパンTdkレーベル 情報管理方法、及び、情報管理システム
JP6927559B2 (ja) * 2015-12-17 2021-09-01 株式会社テララコード研究所 光学コード、光学コードの作成方法、光学コードの真贋判定方法、光学コードの読取装置、及び読取補助装置
US11159338B1 (en) * 2016-06-17 2021-10-26 Amazon Technologies, Inc. Device state information access through machine-readable labels
US11030630B2 (en) * 2016-07-29 2021-06-08 Hewlett-Packard Development Company, L.P. Workflow-authorizing computing device authentication
WO2019095171A1 (zh) * 2017-11-15 2019-05-23 深圳大学 二维码检测方法以及终端
US10366315B1 (en) 2018-08-15 2019-07-30 Fmr Llc Generating a quick response (QR) grid associated with a digital document
JP2020086893A (ja) * 2018-11-26 2020-06-04 合同会社Ark 二次元コード評価システム及び方法
US20220129653A1 (en) * 2019-02-15 2022-04-28 Ark Limited Dynamic two-dimensional code evaluation method, dynamic two-dimensional code evaluation system, and dynamic two-dimensional code evaluation program
CN110188554A (zh) * 2019-05-29 2019-08-30 华南师范大学 基于大数据和函数变换的信息隐藏方法和机器人系统
CN110991590B (zh) * 2020-02-27 2020-05-26 长沙像素码科技有限公司 一种图像数据处理方法及其所得像素图像与应用系统
WO2021169502A1 (en) * 2020-02-27 2021-09-02 Changsha Pixel Code Technology Co. Ltd A pixel image as well as its processing method and application system
CN112036203B (zh) * 2020-09-01 2023-03-10 前海新美思科技(深圳)有限公司 一种受保护二维码的信息追踪方法
WO2022076017A1 (en) * 2020-10-07 2022-04-14 Google Llc Quick response codes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141477A (ja) * 1993-11-16 1995-06-02 Matsushita Electric Ind Co Ltd コード情報の印刷物
JP4153271B2 (ja) * 2002-09-11 2008-09-24 シャープ株式会社 携帯端末装置、電子機器、2次元バーコード表示方法、情報表示プログラム及びそのプログラムを記録した記録媒体
JP2004147006A (ja) 2002-10-23 2004-05-20 Sharp Corp 情報送信方法及び携帯端末
CN1542689A (zh) * 2003-11-05 2004-11-03 深圳矽感科技有限公司 具有多种存储格式的信息卡及其读写设备和方法
JP4924468B2 (ja) * 2007-05-29 2012-04-25 株式会社デンソーウェーブ 二次元コードの生成方法およびその読取装置
JP5070971B2 (ja) 2007-07-26 2012-11-14 株式会社デンソーウェーブ 配送管理システム
JP5023949B2 (ja) * 2007-10-10 2012-09-12 株式会社デンソーウェーブ 二次元コードおよびその読取装置
JP5123794B2 (ja) * 2008-09-04 2013-01-23 日本放送協会 識別情報出力装置およびそのプログラム、プログラム送信装置並びにicカード
JP2012164123A (ja) * 2011-02-07 2012-08-30 Denso Wave Inc 光学的情報検証機
WO2015064334A1 (ja) * 2013-10-30 2015-05-07 株式会社トッパンTdkレーベル 二次元コード生成方法、二次元コード生成装置、二次元コード読み取り方法、二次元コード読み取り装置、二次元コード、および、プログラム
JP5810179B2 (ja) * 2014-01-21 2015-11-11 株式会社トッパンTdkレーベル 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード読み取り方法、および、二次元コード読み取り装置

Also Published As

Publication number Publication date
US10062023B2 (en) 2018-08-28
JP2016004357A (ja) 2016-01-12
EP3156946A4 (en) 2018-02-21
EP3156946B1 (en) 2020-08-26
EP3156946A1 (en) 2017-04-19
WO2015194298A1 (ja) 2015-12-23
US20170124442A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
JP5914579B2 (ja) 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置
JP5978315B2 (ja) 二次元コード生成方法、および、二次元コード読み取り方法
CN106815544B (zh) 一种基于二维码的信息隐藏方法
JP6035407B1 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム
JP5827738B1 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、および、二次元コード読み取り装置
JP6446578B1 (ja) 二次元コード生成方法、二次元コード生成システム、二次元コード評価方法、二次元コード評価システム、及び、二次元コード管理システム
CN111382398B (zh) 信息处理、隐藏信息解析和嵌入的方法、装置及设备
CN107659399B (zh) 一种基于不重复密钥对字符进行伪装、解伪装的方法
CN108063742B (zh) 一种敏感信息提供和跟踪方法及装置
CN115935299A (zh) 授权控制方法、装置、计算机设备和存储介质
JP2008192111A (ja) 誤り訂正機能を持つシンボルシステムにおいて機密性向上を導入する方法、システム及び製品
JP6709607B2 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム
EA002213B1 (ru) Способ идентификации изображения или документа
KR20240050590A (ko) 빈 블럭 삽입 악성 코드 탐지 장치 및 방법
KR20230165087A (ko) 악성 코드 탐지 장치 및 방법
Puhan et al. Restoration in secure text document image authentication using erasable watermarks
CN117371475A (zh) 二维码的构建方法、解码方法、装置、设备及存储介质
CN117375968A (zh) 数据传递多重加盐加密解密方法与装置
JP2020086893A (ja) 二次元コード評価システム及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5914579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250