JP6709607B2 - 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム - Google Patents

二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム Download PDF

Info

Publication number
JP6709607B2
JP6709607B2 JP2015217390A JP2015217390A JP6709607B2 JP 6709607 B2 JP6709607 B2 JP 6709607B2 JP 2015217390 A JP2015217390 A JP 2015217390A JP 2015217390 A JP2015217390 A JP 2015217390A JP 6709607 B2 JP6709607 B2 JP 6709607B2
Authority
JP
Japan
Prior art keywords
code
protection
block
code block
coding
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
JP2015217390A
Other languages
English (en)
Other versions
JP2017091039A (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 Infomedia, Co Ltd
Original Assignee
Toppan Infomedia, 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 Infomedia, Co Ltd filed Critical Toppan Infomedia, Co Ltd
Priority to JP2015217390A priority Critical patent/JP6709607B2/ja
Priority to PCT/JP2016/056819 priority patent/WO2017077721A1/ja
Publication of JP2017091039A publication Critical patent/JP2017091039A/ja
Application granted granted Critical
Publication of JP6709607B2 publication Critical patent/JP6709607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Description

本発明は、二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システムに関する。
図形コードを読み取り、そこに含まれる情報を取り出す二次元コードの技術として、たとえば、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−QRコード−」がある。そして、さらにこのような二次元コードに開示対象情報以外の秘匿対象情報を隠蔽する技術が開発されている。
特開2009−31969号公報
秘匿対象情報を隠蔽する手法として情報そのものを暗号化することが考えられる。しかしながら、情報を暗号化したのでは、少なくとも二次元コードを読み取ることまでは可能である。そうすると、二次元コードが読み取られた後、暗号化された情報に基づく暗号化コード語が取得され、暗号解析が行われることも考え得る。そして、最終的に情報の内容が第三者に抽出され、秘匿対象情報が読み出されてしまうおそれがある。よって、二次元コードを用いて秘匿対象情報をより適切に保護することが望まれる。
本発明は、上記のような課題に鑑みなされたものであって、その主な目的は、二次元コードを用いて秘匿対象情報を適切に保護することにある。
主たる本発明は、
データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求めることと、
前記保護符号化コードブロックに基づいて二次元コードを生成することと、
を含むことを特徴とする二次元コード生成方法である。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
QRコードシンボル1の説明図である。 拡張エンコーダ10のブロック図である。 第1実施形態におけるQRコードシンボル生成処理の説明図である。 第1実施形態におけるQRコードシンボル生成方法のフローチャートである。 拡張デコーダ20のブロック図である。 第1実施形態におけるQRコードシンボル読み取り処理の説明図である。 第1実施形態におけるQRコードシンボル読み取り処理のフローチャートである。
本明細書及び添付図面の記載により、少なくとも次のことが明らかにされる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求めることと、
前記保護符号化コードブロックに基づいて二次元コードを生成することと、
を含むことを特徴とする二次元コード生成方法。
かかる二次元コード生成方法によれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求め、前記保護符号化コードブロックに基づいて二次元コードを生成することを特徴とする二次元コード生成装置。
かかる二次元コード生成装置によれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求めることと、
前記保護符号化コードブロックに基づいて二次元コードを生成することと、
をコンピュータに行わせることを特徴とするプログラム。
かかるプログラムによれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成されることを特徴とする二次元コード。
かかる二次元コードによれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取ることと、
前記二次元コードから前記保護符号化コードブロックを求めることと、
前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求めることと、
前記コードブロックから前記データコード語を抽出することと、
を含むことを特徴とする二次元コード読み取り方法。
かかる二次元コード読み取り方法によれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取り、
前記二次元コードから前記保護符号化コードブロックを求め、
前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求め、
前記コードブロックから前記データコード語を抽出することを特徴とする二次元コード読み取り装置。
かかる二次元コード読み取り装置によれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取ることと、
前記二次元コードから前記保護符号化コードブロックを求めることと、
前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求めることと、
前記コードブロックから前記データコード語を抽出することと、
をコンピュータに行わせることを特徴とするプログラム。
かかるプログラムによれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
データコード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求め、前記保護符号化コードブロックに基づいて二次元コードを生成する二次元コード生成装置と、
生成された前記二次元コードを読み取り、前記二次元コードから前記保護符号化コードブロックを求め、前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求め、前記コードブロックから前記データコード語を抽出する二次元コード読み取り装置と、
を有することを特徴とする二次元コード管理システム。
かかる二次元コード管理システムによれば、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
===第1実施形態===
以下に、第1実施形態で用いられる二次元コードについて説明を行う。以下の説明で特段のことわりのない場合には、日本工業規格 JIS X 0510 : 2004「二次元コードシンボル−QRコード−」(以下、単に「JIS規格」ということがある)に準ずる。また、このJIS規格に準ずるエンコーダを標準エンコーダといい、JIS規格に準ずるデコーダを標準デコーダという。また、以下に示す保護符号化処理を行うことができるエンコーダを拡張エンコーダといい、保護復号化処理を行うことができるデコーダを拡張デコーダという。そして、これらを区別する。
また、以下の説明において、「保護符号化用パターン」は、読み出しを阻止する目的で排他的論理和を用いた保護符号化を行う際に使用されるいわば保護マスクパターンであり、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モジュールに相当する。なお、ここでは、QRコードを構成する単位セルであるモジュールMを複数集合させたものをモジュール群と呼ぶ。
タイミングパターン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コードシンボル生成処理を行うことができるQRコードシンボル1の生成装置である。拡張エンコーダ10は、制御部11と表示装置13と印刷装置14と入力装置15を備える。
制御部11は、演算部11aと記憶部11bを備える。演算部11aは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部11bは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部11bには、後述するQRコード生成処理を実行するためのプログラムが記憶されている。
表示装置13は、データの入力等に際し必要な表示機能を担う。また、表示装置13は、生成されたQRコードシンボル1を表示により出力する。印刷装置14も、生成されたQRコードシンボル1を印刷により出力する。また、入力装置15は、データの入力および拡張エンコーダ10の操作に使用される。
拡張エンコーダ10の構成は、一般的なコンピュータ、携帯電話、および、スマートフォン等に、後述する保護符号化処理を実行するためのプログラムをインストールすることによって実現することができる。
図3は、第1実施形態における拡張QRコードシンボル生成処理の説明図である。図4は、第1実施形態における拡張QRコードシンボル生成処理のフローチャートである。ここでは、後述するように、RSブロック(「コードブロック」に相当する)に対して保護符号化処理を行って、第三者による読み取りを困難にしている。そのため、ここで生成されるQRコードシンボルを、拡張QRコードシンボルと呼ぶことにする(単に、QRコードシンボルと呼ぶこともある)。以下、これらの図を参照しながら、拡張QRコードシンボル生成処理について説明する。
最初に、QRコードシンボル1に埋め込まれる情報本体が取り込まれる(S102)。情報本体の取り込みは、入力装置15を介して行ってもよいし、記憶部11bに予め記憶された情報を用いてもよい。
次に、情報本体に基づいてQRコードシンボル1の型番が決定される(S104)。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ブロックが生成される(S106)。RSブロックは、JIS規格にも規定されているように、データコード語とリード・ソロモン符号(以下、「RS符号」ということがある)からなるブロックである。データコード語には、情報本体、終端符号、および、パディングコード語が含まれる。また、JIS規格に規定される他の情報が含まれることがある。RS符号は、RSブロックの誤り訂正を行うための訂正符号である。ここで用いられるRS符号についてもJIS規格で規定されている。RSブロックを生成するため、情報本体のコード語が複数のブロックに分割される。そして、各ブロックに対して誤り訂正語が生成され、生成された訂正コード語が対応するコード語の後に付加され、RSブロックが生成される。
次に、マスクパターン参照子MPRの値が「0」に初期化される(S108)。JIS規格のマスクパターン参照子MPRによれば、マスクパターン参照子MPRの値は、0から7(「000」〜「111」)までの数値を有する。そこで、ここでは、マスクパターン参照子MPRの値を0から7まで変化させ、後述するステップS110からステップS116の処理を繰り返し行わせる。そのために、マスクパターン参照子MPRの値を「0」に初期化するのである。
次に、保護符号化用パターンが記憶部11bから取り込まれる(S110)。保護符号化用パターンは、前述のRSブロックの保護符号化に用いられるパターンである。RSブロックが保護符号化用パターンによって保護符号化されると、保護符号化後RSブロックとなる。保護符号化用パターンは、後述する処理により、RSブロックにおけるビット列との排他的論理和を行うことに用いられる。そのため、保護符号化用パターンもビット列からなるパターンということになる。
なお、本実施の形態においては、保護符号化用パターンが記憶部11bに予め記憶されているが、この保護符号化用パターンは、顧客(企業)毎に変えるようにしてもよいし、顧客(企業)にかかわらず統一された(唯一の)値としてもよい。
次に、取り込まれた保護符号化用パターンが用いられ、RSブロックの保護符号化が行われる。そして、保護符号化後RSブロック(「保護符号化コードブロック」に相当する)が生成される(S112)。図3には、RSブロックと保護符号化用パターンとのビット単位での排他的論理和が計算され、保護符号化後RSブロックが生成される様子が示されている。このように、RSブロックは、保護符号化用パターンにより保護符号化される。RSブロックは複数存在するが、これら全てのRSブロックに対して保護符号化が行われる。なお、このように、ビット単位での排他的論理和を行うこととしているので、保護符号化処理と後述する保護復号化処理とを排他的論理和を演算するという共通の処理とすることができる。
次に、保護符号化後RSブロックが用いられ、JIS規格に規定される構成方法に準じてQRコードシンボルが生成される(S114)。ただし、ここで生成されるQRコードシンボルは、JIS規格による標準マスクパターン適用前のものである。標準マスクパターン適用前のQRコードシンボルの生成手法はJIS規格に準ずるため詳細な説明は行わないが、保護符号化後RSブロックの各ビットがモジュールに変換され、これらのモジュールが対応する位置に配置されることになる。これらの複数のモジュールはモジュール群であり、モジュール群には後述する標準マスクパターンが適用されることになる。
次に、生成されたQRコードシンボルに対して、マスクパターン参照子MPRで特定される標準マスクパターンが適用される(S116)。標準マスクパターンの適用については、JIS規格に準ずるため詳細な説明を省略するが、これにより、前述のようにモジュール群に対して標準マスクパターンが適用されることになる。
次に、マスクパターン参照子MPRの値が7であるか否かが判定される(S118)。これにより、マスクパターン参照子MPRの値が0から7までの全てのケースについて、ステップS110からステップS114までの処理を行ったか否かの判定がなされることになる。そして、ステップS118において、マスクパターン参照子MPRの値が7ではない場合には、マスクパターン参照子MPRの値がインクリメントされる(S120)。
一方、ステップS118において、マスクパターン参照子MPRの値が「7」である場合には、これまでの処理で、マスクパターン参照子MPRの値を0から7まで変化させたときの全てのQRコードシンボルが生成されていることになる。そこで、これらの8個のQRコードシンボルが評価され、最適なQRコードシンボルが特定される(S122)。
ステップS122におけるQRコードシンボルの評価は、JIS規格における「マスク処理結果の評価」が適用されるため説明を省略する。この評価処理を行うことにより、モジュールが適度にばらついたQRコードシンボルが特定されることになる。
なお、上記手法によれば、8種類のQRコードシンボルをまとめて記憶しておき、ステップS122においてこれらのQRコードシンボルの評価を行うこととしたが、QRコードシンボルを生成するごとに評価処理を行うこととしてもよい。そして、今回生成したQRコードシンボルの評価値と、前のマスクパターン参照子MPRの値によるQRコードシンボルの評価値との比較を行うこととしてもよい。そして、評価値の良いQRコードシンボルだけを記憶しておき、次のマスクパターン参照子MPRの値によるQRコードシンボルの生成、評価、および、評価値の比較を行うこととしてもよい。このようにすることで、記憶容量の節約を図ることができる。
次に、ステップS122において特定されたQRコードシンボルが出力される(S124)。QRコードシンボルの出力は、表示装置13に表示させることとしてもよいし、印刷装置14により印刷させることとしてもよい。
なお、標準マスクパターンの適用については、ステップS112の保護符号化後RSブロック生成処理よりも前に行わせることもできる。ただし、QRコードシンボルにおけるモジュールの分散性という観点からすれば、標準マスクパターンの適用はステップS112の保護符号化後RSブロック生成処理よりも後に行われることが望ましい。
次に、拡張QRコードの読み取り処理について説明する。
図5は、拡張デコーダ20(二次元コード読み取り装置に相当)のブロック図である。拡張デコーダ20は、前述の拡張QRコードシンボルの読み取り処理を行うことができる読み取り装置である。拡張デコーダ20は、制御部21と撮像装置22と表示装置23と印刷装置24と入力装置25を備える。なお、一般的なQRコードの読み取り装置では、後述する保護復号化処理を行うことができないため、拡張QRコードシンボルの読み取りを適切に行うことができない。また、前述した拡張エンコーダ10と当該拡張デコーダ20とで、二次元コード管理システムが構成される。
制御部21は、演算部21aと記憶部21bを備える。演算部21aは中央演算装置等からなり、プログラムの実行および種々の演算を担う。記憶部21bは、プログラムの実行に際して、必要なデータの記憶を担う。特に、記憶部21bには、後述するQRコード読み取り処理を実行するためのプログラムが記憶されている。
撮像装置22は、拡張QRコードシンボルを撮像するための装置であって、例えば、CCDカメラなどである。
表示装置23は、データの入力等に際し必要な表示機能を担う。また、表示装置23は、QRコードから展開された情報を表示により出力する。印刷装置24も、展開された情報を印刷により出力する。また、入力装置25は、データの入力および拡張デコーダ20の操作に使用される。
拡張デコーダ20の構成は、撮像装置22を備えていれば、必ずしも専用機器でなくとも、一般的なコンピュータ、携帯電話、および、スマートフォンに、後述する拡張QRコードシンボルの読み取り処理を実行するためのプログラムをインストールすることによって実現することができる。また、前述の拡張エンコーダ10と拡張デコーダ20とを一体化して実現することも可能である。
図6は、第1実施形態における拡張QRコードシンボル読み取り処理の説明図である。図7は、第1実施形態における拡張QRコードシンボル読み取り処理のフローチャートである。以下、これらの図を参照しながら、QRコードシンボルの読み取り処理について説明する。
まず、拡張QRコードシンボルの読み取りが行われる(S202)。そして、読み取った拡張QRコードシンボルの形式情報FIからマスクパターン参照子MPRが読み出される(S204)。次に、マスクパターン参照子MPRの値に基づいて、適用された標準マスクパターンが特定され、この標準マスクパターンを用いて標準マスクパターンの解除が行われる(S206)。標準マスクパターンの特定方法、および、解除方法は、JIS規格に準ずるものであるため説明を省略する。これにより、前述のモジュール群が得られることになる。
次に、標準マスクパターンが解除された拡張QRコードシンボルのモジュール群から、複数の保護符号化後RSブロックが展開される(S208)。これら複数の保護符号化後RSブロックの展開は、JIS規格におけるRSブロックの展開に準ずる手法を採用することができる。これにより、例えば、前述の図6に示された保護符号化後RSブロックが取得される。
次に、保護符号化用パターンが記憶部21bから取り込まれる(S210)。この保護符号化パターンは、前述の拡張エンコーダ10の記憶部11bに記録されていたパターンと同一のパターンである。なお、このステップS210が実行されるのは、読み取ったQRコードシンボルが標準のデコード処理によってはデータコード語の抽出ができない場合である。当然、この場合のQRコードシンボルは通常のデコーダ(標準のデコード手段)ではデータコード語を抽出することはできない。つまり、本実施形態のように保護符号化用パターンにより保護符号化が行われたQRコードシンボルを読み取ろうとした場合にのみ、ステップS210移行の処理が行われ、それ以外のときは標準のデコード処理が行われることになる。
なお、本実施の形態においては、保護符号化用パターンが記憶部21bに予め記憶されているが、この保護符号化用パターンは、顧客(企業)毎に変えるようにしてもよいし、顧客(企業)にかかわらず統一された(唯一の)値としてもよい。また、拡張エンコーダ10と拡張デコーダ20とが一体化して実現されている場合には、保護符号化用パターンを一つ(共通)の記憶部に記録しておけばよい。
次に、生成された保護符号化用パターンが用いられ、保護符号化後RSブロックの保護復号化が行われる(S212)。図6には、保護符号化後RSブロックと保護符号化用パターンとの排他的論理和が計算され、保護復号化されたRSブロック(つまり、保護符号化される前のRSブロック)が生成される様子が示されている。保護符号化後RSブロックはほとんどの場合複数存在するが、これら全ての保護符号化後RSブロックに対して保護復号化が行われる。
次に、RSブロックからデータコード語の抽出が行われる(S214)。データコード語の抽出に際し、RS符号による誤り訂正も行われる。誤り訂正により、仮にデータコード語に汚損が生じていても、元のデータコード語へと復元することができる。そして、復元されたデータコード語が抽出される。これは、汚損などによる読み取り誤りがあったとしても、排他的論理和演算の特性から保護符号化用パターンを用いた保護復号化演算を施しても、この誤りは元のコード語の同じ位置のビットに残存することとなるため、誤り訂正符号によって適切に訂正されるためである。
次に、抽出されたデータコード語に含まれる情報本体が出力される(S216)。出力方法としては、表示装置23に表示させたり、印刷装置24に印刷させたりすることができる。
上述した通り、本実施の形態に係る二次元コード生成方法は、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)を求めることと、保護符号化コードブロック(保護符号化後RSブロック)に基づいて二次元コードを生成することと、を含むこととした。
また、本実施の形態に係る拡張エンコーダ10は、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)を求め、保護符号化コードブロック(保護符号化後RSブロック)に基づいて二次元コードを生成することとした。
また、本実施の形態に係るプログラムは、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)を求めることと、保護符号化コードブロック(保護符号化後RSブロック)に基づいて二次元コードを生成することと、をコンピュータに行わせることとした。
また、本実施の形態に係る二次元コードは、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)が求められ、保護符号化コードブロック(保護符号化後RSブロック)に基づいて生成されることとした。
また、本実施の形態に係る二次元コード読み取り方法は、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)が求められ、保護符号化コードブロック(保護符号化後RSブロック)に基づいて生成された二次元コードを読み取ることと、二次元コードから保護符号化コードブロック(保護符号化後RSブロック)を求めることと、保護符号化コードブロック(保護符号化後RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算により保護符号化コードブロック(保護符号化後RSブロック)を保護復号化したコードブロック(RSブロック)を求めることと、コードブロック(RSブロック)からデータコード語を抽出することと、を含むこととした。
また、本実施の形態に係る拡張デコーダ20は、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)が求められ、保護符号化コードブロック(保護符号化後RSブロック)に基づいて生成された二次元コードを読み取り、二次元コードから保護符号化コードブロック(保護符号化後RSブロック)を求め、保護符号化コードブロック(保護符号化後RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算により保護符号化コードブロック(保護符号化後RSブロック)を保護復号化したコードブロック(RSブロック)を求め、コードブロック(RSブロック)からデータコード語を抽出することとした。
また、本実施の形態に係るプログラムは、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)が求められ、保護符号化コードブロック(保護符号化後RSブロック)に基づいて生成された二次元コードを読み取ることと、二次元コードから保護符号化コードブロック(保護符号化後RSブロック)を求めることと、保護符号化コードブロック(保護符号化後RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算により保護符号化コードブロック(保護符号化後RSブロック)を保護復号化したコードブロック(RSブロック)を求めることと、コードブロック(RSブロック)からデータコード語を抽出することと、をコンピュータに行わせることとした。
また、本実施の形態に係る二次元コード管理システムは、データコード語を有するコードブロック(RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算によりコードブロック(RSブロック)の保護符号化を行って保護符号化コードブロック(保護符号化後RSブロック)を求め、保護符号化コードブロック(保護符号化後RSブロック)に基づいて二次元コードを生成する拡張エンコーダ10と、生成された二次元コードを読み取り、二次元コードから保護符号化コードブロック(保護符号化後RSブロック)を求め、保護符号化コードブロック(保護符号化後RSブロック)と保護符号化用パターンとのビット単位での排他的論理和演算により保護符号化コードブロック(保護符号化後RSブロック)を保護復号化したコードブロック(RSブロック)を求め、コードブロック(RSブロック)からデータコード語を抽出する拡張デコーダ20と、を有することとした。
そのため、二次元コードを用いて秘匿対象情報を適切に保護することが可能となる。
秘匿対象情報を隠蔽する手法として情報そのものを暗号化することが考えられる。しかしながら、情報を暗号化したのでは、少なくとも二次元コードを読み取ることまでは可能である。そうすると、二次元コードが読み取られた後、暗号化された情報に基づく暗号化コード語が取得され、暗号解析が行われることも考え得る。そして、最終的に情報の内容が第三者に抽出され、秘匿対象情報が読み出されてしまうおそれがある。
これに対し、本実施の形態においては、生成された二次元コード(拡張QRコードシンボル)に、保護符号化用パターンが適用されているため、一般的なQRコード読み取り装置では、保護復号化処理を行うことができず、二次元コード(拡張QRコードシンボル)の読み取りすら行うことができない。つまり、生成された二次元コード(拡張QRコードシンボル)については、見た目は通常の(非拡張)QRコードと変わらない形態を備えていても、通常のデコーダでは読み取ることができない。そのため、情報コード語そのものを暗号化する例と比べて、秘匿対象情報をより適切に保護することが可能となる。
また、コードブロック(保護符号化コードブロック)と保護符号化用パターンとのビット単位での排他的論理和演算により保護符号化(保護復号化)が行われるため、汚れ等により二次元コードの読み取りエラーが生じたときであっても、保護復号化された後に他の部分に波及することがない(つまり、エラーが生じたビットにしか悪影響が及ぼされない)というメリットを有する。
===その他の実施の形態===
上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
また、上記実施の形態においては、二次元コードとして標準的なQRコードを例に挙げて説明したが、これに限定されるものではなく、国際公開第2015/64334号や特開2009−9547号公報に記載されているような拡張されたQRコードでもよい。また、QRコードに限定されるものではなく、他の二次元コード(例えば、DataMatrix、PDF417等)でも構わない。本発明は、これらのいずれの二次元コードにも適用可能である。
また、上記実施の形態においては、保護符号化用パターンが記憶部11b(記憶部21b)に予め記憶されていることとしたが、これに限定されるものではない。例えば、保護符号化用パターンを生成するための関数が記憶部11b(記憶部21b)に記録されており、ユーザーにより入力された入力値(パスコード)を関数に代入することにより、保護符号化用パターンを生成するようにしてもよい。
以下で、三角関数(SIN関数)を例に挙げて、具体的に説明する。
ここで用いられる関数を例えば次のように定義する。
「入力値としてASCII表記の数字文字列を、表記する数字が10進数であるとしてnとする三角関数SIN(n)の値を求め、この絶対値(SIN関数は−1から+1の間の値を出力する)の小数点以下の数字を必要な長さの16進数の数列として出力する関数」
そして、例えば、保護符号化される情報文字列、および、入力値を以下とする。

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

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

出力値:8191520442・・・(=sin(7505)=-0.8191520442・・・)
これらを用いた保護符号化処理は次のようになる。情報文字列「Hello」は、16進数表記すると「0x48656C6C6F」であった。出力値(保護符号化用パターン)は、16進数表記で「0x8191520442」であった。これら両者の論理的排他和(XOR)をとると、「0xC9F43E682D」となる。つまり、上記保護符号化処理により、情報文字列「Hello」は、「0xC9F43E682D」という全く意味をなさないデータコード語へと保護符号化される。
なお、上記では、関数として三角関数(SIN関数)を例に挙げて説明したが、これに限定されるものではなく、例えば、疑似乱数発生関数、ハッシュ関数(SHA−1、MD5など)、暗号化関数(DES、AESなど)、数理関数(対数関数など)を採用することが可能である。
また、入力値の選択を入力者に任せるのではなく、顧客(企業)毎に予め入力値を決めておくようにしてもよい。
1 QRコードシンボル、
10 拡張エンコーダ、
11 制御部、11a 演算部、11b 記憶部、
13 表示装置、14 印刷装置、15 入力装置、
20 拡張デコーダ、
21 制御部、21a 演算部、21b 記憶部、
22 撮像装置、23 表示装置、24 印刷装置、25 入力装置

Claims (8)

  1. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求めることと、
    前記保護符号化コードブロックに基づいて二次元コードを生成することと、
    を含むことを特徴とする二次元コード生成方法。
  2. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求め、前記保護符号化コードブロックに基づいて二次元コードを生成することを特徴とする二次元コード生成装置。
  3. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求めることと、
    前記保護符号化コードブロックに基づいて二次元コードを生成することと、
    をコンピュータに行わせることを特徴とするプログラム。
  4. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成されることを特徴とする二次元コード。
  5. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取ることと、
    前記二次元コードから前記保護符号化コードブロックを求めることと、
    前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求めることと、
    前記コードブロックから前記データコード語及び訂正コード語を抽出することと、
    を含むことを特徴とする二次元コード読み取り方法。
  6. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取り、
    前記二次元コードから前記保護符号化コードブロックを求め、
    前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求め、
    前記コードブロックから前記データコード語及び訂正コード語を抽出することを特徴とする二次元コード読み取り装置。
  7. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックが求められ、前記保護符号化コードブロックに基づいて生成された二次元コードを読み取ることと、
    前記二次元コードから前記保護符号化コードブロックを求めることと、
    前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求めることと、
    前記コードブロックから前記データコード語及び訂正コード語を抽出することと、
    をコンピュータに行わせることを特徴とするプログラム。
  8. データコード語及び訂正コード語を有するコードブロックと保護符号化用パターンとのビット単位での排他的論理和演算により前記コードブロックの保護符号化を行って保護符号化コードブロックを求め、前記保護符号化コードブロックに基づいて二次元コードを生成する二次元コード生成装置と、
    生成された前記二次元コードを読み取り、前記二次元コードから前記保護符号化コードブロックを求め、前記保護符号化コードブロックと前記保護符号化用パターンとのビット単位での排他的論理和演算により前記保護符号化コードブロックを保護復号化した前記コードブロックを求め、前記コードブロックから前記データコード語及び訂正コード語を抽出する二次元コード読み取り装置と、
    を有することを特徴とする二次元コード管理システム。
JP2015217390A 2015-11-05 2015-11-05 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム Active JP6709607B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015217390A JP6709607B2 (ja) 2015-11-05 2015-11-05 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム
PCT/JP2016/056819 WO2017077721A1 (ja) 2015-11-05 2016-03-04 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015217390A JP6709607B2 (ja) 2015-11-05 2015-11-05 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム

Publications (2)

Publication Number Publication Date
JP2017091039A JP2017091039A (ja) 2017-05-25
JP6709607B2 true JP6709607B2 (ja) 2020-06-17

Family

ID=58661965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015217390A Active JP6709607B2 (ja) 2015-11-05 2015-11-05 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム

Country Status (2)

Country Link
JP (1) JP6709607B2 (ja)
WO (1) WO2017077721A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066884A1 (ja) * 2003-12-26 2005-07-21 Wireaction Inc. 2次元バーコードシステム、2次元バーコード生成方法およびコンピュータプログラム
JP4951743B2 (ja) * 2007-10-19 2012-06-13 株式会社デンソーウェーブ 光学的情報読取装置および光学的情報読取システム

Also Published As

Publication number Publication date
WO2017077721A1 (ja) 2017-05-11
JP2017091039A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
JP5978315B2 (ja) 二次元コード生成方法、および、二次元コード読み取り方法
JP6058245B2 (ja) 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム
JP5914579B2 (ja) 秘匿対象情報の隠蔽方法、秘匿対象情報隠蔽装置、プログラム、秘匿対象情報の抽出方法、および、秘匿対象情報抽出装置
JP6600905B2 (ja) 二次元コード、多値化二次元コード及び二次元コードの生成方法
JP2021513141A (ja) 2次元バーコードの生成及び識別
US9436852B2 (en) Two-dimensional code authenticating device, two-dimensional code generating device, two-dimensional code authenticating method, and program
JP5827738B1 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、および、二次元コード読み取り装置
Bui et al. Robust message hiding for QR code
JP6035407B1 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム
JP6020089B2 (ja) 不正検知システム
Hamdan et al. AH4S: an algorithm of text in text steganography using the structure of omega network
US8462948B2 (en) System and method for protecting data of mobile phone
RU2656734C2 (ru) Способ кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода (варианты)
JP5810179B2 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード読み取り方法、および、二次元コード読み取り装置
JP6709607B2 (ja) 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム
JP2005045760A (ja) 暗号処理方法及び装置
JP6617302B1 (ja) 光学コード、光学コード生成方法とそのプログラム、並びに、光学コード読み取り方法とそのプログラム
JP2008192111A (ja) 誤り訂正機能を持つシンボルシステムにおいて機密性向上を導入する方法、システム及び製品
JP5343659B2 (ja) 画像処理装置及び画像処理プログラム
Bhardwaj et al. Advanced encoding scheme for security
TW201541359A (zh) 資訊隱藏與發掘方法
KR20210084740A (ko) 격자 기반 퍼지 추출 장치 및 방법
Garcia-Horta et al. Document authentication scheme using characters metrics
JP2011101120A (ja) 画像処理装置、画像処理方法および画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200121

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: 20200428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200525

R150 Certificate of patent or registration of utility model

Ref document number: 6709607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250