説明

二次元コードおよびその読取装置

【課題】設備コストやランニングコストの増加を招くことなく、また二次元コードの利用者には暗号化されていることを認識され難い二次元コードおよびその読取装置を提供する。
【解決手段】QRコード10では、QRコードのコード化に用いられる単位モジュール11である明モジュールと暗モジュールを用いたパターンに所定の暗号鍵をコード化した鍵パターン18を、データパターン15および誤り訂正パターン16の少なくとも一方に重複して記録している。これにより、鍵パターン18は、QRコード10のデータパターン15を構成する単位モジュール11である明暗モジュールを用いて構成されるので、異形状セルを必要としないため、QRコード10を構成するデータパターン15やその誤り訂正パターン16を印刷可能なラベルプリンタによりこのような鍵パターン18も印刷できるので、特に印刷精度を高める必要や特殊な印刷特性を必要としない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元コードおよびその読取装置に関するものである。
【背景技術】
【0002】
一部または全部が暗号化されたデータを二次元コードのコード仕様でコード化したデータコード語と、このデータコード語の誤りを検出し訂正し得る誤り訂正データをコード仕様でコード化した誤り訂正コード語と、を記録している二次元コードとして、例えば、下記特許文献1に開示される「2次元コード」がある。
【0003】
これによると、二次元コードとして記録されたデータに秘匿性を持たせるため、暗号鍵を特定可能な文字列情報を、当該二次元コードを構成する暗色の単位セルの形状に対応させた構成にする。例えば、10ドット×10ドットにより構成される単位セルに対して2ドット×2ドット分の欠落領域とその欠落領域の数と位置とによって10種類の形状を構成しそれぞれの形状に対応して10種類の文字(例えば0,1〜9の数字)に対応づけることで、暗号鍵を特定可能な文字列を構成する。
【特許文献1】特開2006−4378号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に開示される技術によると、単位セルの異形状に対応させた文字列の組み合わせから、暗号鍵の特定は可能にはなるものの、このような欠落領域を有する異形状セルを紙やフィルム等の表示媒体に印刷する場合には、印刷精度を高める必要や、印刷に用いられるインクや紙について印刷の掠れやインクの滲みあるいはインクの乗りといった印刷特性の面においても技術的に要求されるものが高くなる。
【0005】
このため、汎用性の高いラベルプリンタやラベル用紙等では対応し難いことから、設備コストやランニングコストの増加を招いてしまうという問題がある。
【0006】
また、このような外見上違和感のある異形状セルが二次元コードに含まれていることに起因して、当該二次元コードが暗号化されていることを認識し得る使用者に対しては、当該暗号の解読を試みようとする不用意な動機を与える可能性があることから、セキュリティ上の問題も生じ得る。
【0007】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、設備コストやランニングコストの増加を招くことなく、また二次元コードの利用者には暗号化されていることを認識され難い二次元コードおよびその読取装置を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、特許請求の範囲に記載の請求項1の二次元コードでは、一部または全部が暗号化されたデータを二次元コードのコード仕様でコード化したデータコード語と、このデータコード語の誤りを検出し訂正し得る誤り訂正データを前記コード仕様でコード化した誤り訂正コード語と、を記録している二次元コードであって、前記コード化に用いられる単位セルである明暗モジュールを用いたパターンに前記データの解読に用いる鍵データをコード化した鍵コードパターンを、前記データコード語および前記誤り訂正コード語の少なくとも一方に重複して記録していることを技術的特徴とする。ここで、「モジュール」とは、当該二次元コードを構成する最小構成要素のことで、「明暗モジュール」とは、当該モジュールが明色(例えば白色等の明度の高い色)と暗色(例えば黒色等の明度の低い色)の2種類で構成される場合における明色のモジュール(明モジュール)と暗色のモジュール(暗モジュール)との双方を表す概念である。
【0009】
特許請求の範囲に記載の請求項2の二次元コードでは、請求項1記載の二次元コードにおいて、前記鍵コードパターンは、前記データコード語をデコードするのに要する機能パターンを避けて配置されていることを技術的特徴とする。
【0010】
特許請求の範囲に記載の請求項3の二次元コードの読取装置では、請求項1または2記載の二次元コードをデコードするとともに、前記暗号化されたデータを前記鍵データを用いて解読する二次元コードの読取装置であって、前記データコード語の誤りを検出する誤り検出手段と、前記誤り検出手段により検出された誤りの発生した位置が、前記鍵コードパターンが記録されている範囲情報で予め有するものに基づいて特定される所定範囲内に存在する場合、この所定範囲内に記録されている前記鍵コードパターンを取得する鍵コードパターン取得手段と、前記鍵コードパターン取得手段により取得された前記鍵コードパターンをデコードして前記鍵データを生成する鍵データデコード手段と、前記鍵データデコード手段によりデコードされた前記鍵データを用いて前記暗号化されたデータを解読する暗号解読手段と、を備えることを技術的特徴とする。
【0011】
特許請求の範囲に記載の請求項4の二次元コードの読取装置では、請求項3記載の二次元コードの読取装置において、前記鍵コードパターン取得手段は、前記誤りの発生した位置が前記所定範囲内に複数存在する場合に限って、前記所定範囲内に記録されている前記鍵コードパターンを取得することを技術的特徴とする。
【発明の効果】
【0012】
請求項1の発明では、コード化に用いられる単位セルである明暗モジュールを用いたパターンにデータの解読に用いる鍵データをコード化した鍵コードパターンを、データコード語および誤り訂正コード語の少なくとも一方に重複して記録している。これにより、鍵コードパターンは、二次元コードのデータコード語を構成する単位セルである明暗モジュールを用いて構成されるので、前述した特許文献1に開示されるような異形状セルを必要としない。このため、当該二次元コードを構成するデータコード語やその誤り訂正コード語を記録するのに必要な印刷技術によりこのような鍵コードパターンも印刷できるので、特に印刷精度を高める必要や特殊な印刷特性を必要としない。また、このような鍵コードパターンは、データコード語および誤り訂正コード語の少なくとも一方に重複して記録されるので、視覚的にこれらのコード語と識別することが困難になる。したがって、設備コストやランニングコストの増加を招くことなく、また二次元コードの利用者には暗号化されていることを認識され難くすることができる。
【0013】
請求項2の発明では、鍵コードパターンは、データコード語をデコードするのに要する機能パターンを避けて配置されている。これにより、当該二次元コードを読み取る読取装置においては、そのデコード処理の妨げになることなく、鍵コードパターンによる鍵データを読取装置に読み込ませることができる。
【0014】
請求項3の発明では、検出手段によりデータコード語の誤りを検出し、誤り検出手段により検出された誤りの発生した位置が、鍵コードパターンが記録されている範囲情報で予め有するものに基づいて特定される所定範囲内に存在する場合、この所定範囲内に記録されている鍵コードパターンを鍵コードパターン取得手段により取得する。そして、鍵コードパターン取得手段により取得された鍵コードパターンを鍵データデコード手段によりデコードして鍵データを生成し、鍵データデコード手段によりデコードされた鍵データを用いて暗号化されたデータを暗号解読手段により解読する。これにより、データコード語および誤り訂正コード語の少なくとも一方に鍵コードパターンが重複して記録されていない通常の二次元コードを読み取ったときには、偶然そのような所定範囲内でデータコード語の誤りが発生する場合を除いて、鍵コードパターンではないコードパターンを鍵コードパターンであると誤って読み取ることを防止することができる。したがって、このような鍵コードパターンを含む二次元コードと含まない通常の二次元コードとを区別してこれらのデータをデコードすることができる。
【0015】
請求項4の発明では、鍵コードパターン取得手段は、誤りの発生した位置が所定範囲内に複数存在する場合に限って、所定範囲内に記録されている鍵コードパターンを取得することから、例えば、所定範囲内で偶然、データコード語の誤りが発生しても、そのような偶然が同一の所定範囲内で複数箇所以上に発生しない限り、当該所定範囲内に記録されている鍵コードパターンを取得することはない。したがって、このような鍵コードパターンを含む二次元コードと含まない通常の二次元コードとの区別をより高精度に行ったうえでこれらのデータをデコードすることができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の二次元コードおよびその読取装置の実施形態について図を参照して説明する。まず、本発明の二次元コードに係る実施形態を図1〜図3に基づいて説明する。なお本実施形態では、二次元コードとして、QRコードを例示して説明するが、当該二次元コードにコード化されたデータをデコードするのに要する機能パターンと、このデータおよびそれに付随する情報をコード化したデータパターンと、を記録している二次元コードであれば、例えば、データマトリックスコード、マキシコード、ベリコード、カルラコード、CPコード等であっても本発明を適用することができる。
【0017】
図1に示すように、本実施形態に係るQRコード10は、QRコードの基本仕様(日本工業規格;JIS X 0510:2004、以下これを単に「JIS規格」という。)にほぼ準拠して構成されるもので、ファインダパターン12、アライメントパターン13、タイミングパターン14等からなる機能パターンと、データパターン15と、誤り訂正パターン16と、鍵パターン18と、から構成されている。なお、図1に示すQRコード10は、単位モジュール11を45行45列のマトリックス状に配置した7型に相当し、誤り訂正レベルHは設定されている。
【0018】
ファインダパターン12は、切り出しシンボルや位置合わせパターンとも称されるもので、QRコード10の3箇所の隅に位置する正方形に配置される複数の単位モジュール11の集合体で、QRコードの位置、大きさ、傾きを検出可能に構成されて記録されている。具体的には、例えば黒色の単位モジュール11を3行3列のマトリックス状に配置した3×3暗モジュールと、これを取り囲むように白色の単位モジュール11を5行5列のマトリックス状に配置した5×5明モジュールと、さらにこれらの周囲を取り囲むように黒色の単位モジュール11を7行7列のマトリックス状に配置した7×7暗モジュールと、により構成される。このため、ファインダパターン12を横断または縦断するように明暗情報を走査すると、暗、明、暗、明、暗の順番で同色モジュールの連続比率が1:1:3:1:1となることを利用して当該画像範囲が当該ファインダパターン12であることや当該ファインダパターン12の中心位置を検出している。つまり、ファインダパターン12によって360度全方向でQRコード10の検出を可能にしている。
【0019】
アライメントパターン13も、正方形に配置される複数の単位モジュール11の集合体で、QRコード10の歪みを補正可能に構成されて記録されており、3箇所のファインダパターン12によって規定される正方形範囲内の所定箇所に位置している。具体的には、1単位モジュール11分の独立した例えば黒色の1×1暗モジュールと、この1×1暗モジュールの周囲を囲む8個の白色の3×3明モジュールと、この正方形状の3×3明モジュールの周囲を囲む16個の黒色の5×5暗モジュールとから構成されている。このアライメントパターン13により、中心座標を検出を容易にしている。
【0020】
タイミングパターン14は、各単位モジュール11の中心座標を求めるためのタイミング抽出を可能にする、白色や黒色の単位モジュール11が繰り返し現れる単位モジュール11の繰り返しパターンで、白色の1×1明モジュールと黒色の1×1暗モジュールとを直線状に交互に配置されて構成されている。例えば、QRコード10が歪んだり、単位モジュール11のピッチに誤差が生じている場合、単位モジュール11の中心座標を補正するために用いられる。タイミングパターン14は、アライメントパターン13の中心を通るように、QRコード10の縦方向および横方向のそれぞれに記録されている。
【0021】
データパターン15は、例えば、単位モジュール11を4行2列に配置して構成されるもので、ビット0〜ビット7の8ビット分のデータを表現可能にしている。図1では、データコード語D1〜D66の66語で構成される例が図示されている。このデータパターン15の一部または全部は、後述するように、所定の暗号鍵(鍵データ)により暗号化されたデータ(以下「暗号データ」という。)をQRコードのデータパターン化したものである。そのため、通常仕様の二次元コードリーダで、QRコード10を読み取っても、この暗号化された部分のデータは、意味不明な文字列としてデコードされる。
【0022】
誤り訂正パターン16も、データパターン15と同様に、例えば、単位モジュール11を4行2列に配置して構成されて8ビット分のデータを表現可能にするもので、データパターン(データコード語)15に対して例えばリードソロモン誤り訂正のアルゴリズムを実行するために必要なする誤り訂正データを構成している。図1では、誤り訂正コード語E1〜E130の130語で構成される例が図示されている。
【0023】
なお、データパターン15および誤り訂正パターン16は、ファインダパターン12、アライメントパターン13およびタイミングパターン14が配置されている機能パターン領域以外のデータパターン領域に記録されている。また、QRコード10の周囲には、上述したファインダパターン12の輪郭や存在をQRコード10の読取装置が認識する必要から、4モジュール幅(4個分の単位モジュール11)のクワイエットゾーンが確保されている。
【0024】
JIS規格に準拠するQRコードは、例えば、このように構成されるが、本実施形態に係るQRコード10は、図1に示すように、例えば、誤り訂正パターン16に対して上書きして重複するように、鍵パターン18が重ねて配置されている。図1に示す例では、誤り訂正パターン16のうちの、E45,E68,E118の部分に重複して鍵パターン18を配置している。
【0025】
この鍵パターン18は、データパターン15のうち暗号化された部分の暗号データを復号するために用いられるもので、例えば、誤り訂正パターン16やデータパターン15に上書きをするように重ねて配置されている。このように鍵パターン18を誤り訂正パターン16等に重ねて配置することで、重なった誤り訂正パターン16の一部は、データが壊れることなるが、これにより壊れた当該部分のデータはQRコードが有する誤り訂正機能により訂正される。そのため、鍵パターン18が配置される最大範囲は、当該QRコードの誤り訂正レベルによって決定される。
【0026】
即ち、JIS規格によると、QRコード10の誤り訂正レベルが「L」に設定されている場合には、リードソロモン誤り訂正による復元能力が7%であることから、データパターン15および誤り訂正パターン16の全体に対して7%の範囲まで鍵パターン18を配置することができる。また、誤り訂正レベルが「M」に設定されている場合には復元能力が15%であることから全体の15%の範囲まで鍵パターン18を配置することができ、また誤り訂正レベルが「Q」に設定されている場合には復元能力が25%であることから全体の25%の範囲まで鍵パターン18を配置することができる。さらに、本実施形態の例のように、誤り訂正レベルが「H」に設定されている場合には復元能力が30%であることから全体の30%の範囲、つまり58語(=(66語+130語)×0.3)相当が占める面積の範囲まで鍵パターン18をこれらに重複して配置することができる。
【0027】
鍵パターン18の配置例としては、例えば図2に示すように、誤り訂正パターン領域またはデータパターン領域において、データパターン15または誤り訂正パターン16を横方向にまたがるように配置される鍵パターン18α(破線αの範囲)、データパターン15または誤り訂正パターン16を縦方向にまたがるように配置される鍵パターン18β(破線βの範囲)またはデータパターン15または誤り訂正パターン16を四方向にまたがるように配置される鍵パターン18γ(破線γの範囲)がある。なお、ここでいう「横方向」とは、データパターン15や誤り訂正パターン16を構成する4行2列の単位モジュール11に対する列方向(短手方向)を意味し、また「縦方向」とは、同4行2列の単位モジュール11に対する行方向(長手方向)を意味する。
【0028】
また、図示されていないが、横方向の鍵パターン18αと縦方向の鍵パターン18βとが混在するもの、横方向の鍵パターン18αと四方向の鍵パターン18γとが混在するもの、縦方向の鍵パターン18βと縦方向の鍵パターン18βとが混在するものや、横方向の鍵パターン18αと縦方向の鍵パターン18βと四方向の鍵パターン18γとが混在するもの、といったこれらの組み合わせであっても良い。
【0029】
なお、図2に示す例のように、誤り訂正パターン領域またはデータパターン領域において、鍵パターン18α等が複数箇所に点在する場合には、点在する鍵パターン18α等の合計面積が先に述べた鍵パターン18が配置される最大範囲(L:7%、M:15%、Q:25%、H:30%)内にある必要がある。また、誤り訂正パターン領域およびデータパターン領域は、図3に示すとおりで、ファインダパターン12等の機能パターンを除いた範囲で、鍵パターン18α等は優先的に誤り訂正パターン領域から配置される。これにより、後述する当該QRコード10を読み取る二次元コードリーダ20においては、そのデコード処理の妨げになることなく、鍵パターン18による鍵データを当該二次元コードリーダ20に読み込むことが可能となる。
【0030】
次に、QRコード10の生成方法を図4および図5に基づいて説明する。なお、この生成方法は、例えば、パーソナルコンピュータ(以下「パソコン」という。)等の情報処理装置により行われるもので、ここでは図略のパソコンにより生成されて、当該パソコンに接続されたラベルプリンタからラベルにQRコードが印刷されて出力されるものとして説明する。
【0031】
図4に示すように、まずステップS011によりQRコードとしてコード化するデータを取り込むデータ取込処理が行われる。このデータは、例えば、図5に示すようなデータフォーマットに従って構成されている。図5に示す開示データAおよび開示データBは、暗号化する必要のないデータで、また秘匿データCおよび秘匿データDは、第三者には開示したくない(秘密にしたい)暗号化する必要のあるデータである。なお、秘匿データC等の前には、秘匿識別子と秘匿データ全体のデータ長が格納されている。
【0032】
そして、この取り込んだデータの一部または全部を次のステップS013により暗号化する処理が行われる。このステップS013による暗号化処理は、前述した所定の暗号鍵を用いて行われ、図5に示すデータの例では、秘匿データCおよび秘匿データDが暗号化の対象となる。
【0033】
続くステップS015の全体データパターン生成処理では、ステップS013により暗号化された暗号データ(秘匿データC,D)と暗号化されていない非暗号データ(開示データA,B)とからなる全体データを、JIS規格の仕様に基づいてQRコードのデータパターン15および誤り訂正パターン16として生成する処理、つまりパターン化処理が行われる。なお、このQRコードのデータパターン15および誤り訂正パターン16は、印刷されて出力されるものではなく、当該パソコンのメモリ空間に記憶されている。
【0034】
次にステップS017では鍵データパターン生成処理が行われる。この処理は、前述した所定の暗号鍵である鍵データをQRコードのパターンとして生成するもので、これにより生成されたパターンが前述した鍵パターン18、18α、18β、18γ(以下「鍵パターン18等」という。)に相当する。
【0035】
ステップS019では、パターンデータ合成処理が行われる。即ち、ステップS017により生成された鍵パターン18等を、ステップS015により生成されたデータパターン15および誤り訂正パターン16に上書きする処理が行われる。この上書きは、メモリ空間上で行われるもので、前述したように、誤り訂正パターン領域から優先して誤り訂正パターン16に鍵パターン18等が重ねて配置、つまり上書きされる。
【0036】
このようにして合成されたパターンデータは、ステップS021によってラベルプリンタに出力されることで、本実施例に係るQRコード10がラベルに印刷される。なお、ここでは、出力装置として、ラベルプリンタを想定して説明したが、これに限られることはなく、紙やフィルム等の印刷媒体に印刷可能なプリンタの他に、液晶ディスプレィ等の表示媒体にQRコード10を出力する構成を採っても良い。
【0037】
以上説明したように、本実施形態に係るQRコード10によると、QRコードのコード化に用いられる単位モジュール11である明モジュールと暗モジュール(明暗モジュール)を用いたパターンに所定の暗号鍵(鍵データ)をコード化した鍵パターン18等を、データパターン15(データコード語)および誤り訂正パターン16(誤り訂正コード語)の少なくとも一方に重複して記録している。
【0038】
これにより、鍵パターン18等は、QRコード10のデータパターン15を構成する単位モジュール11である明暗モジュールを用いて構成されるので、前述した特許文献1に開示されるような異形状セルを必要としない。このため、当該QRコード10を構成するデータパターン15やその誤り訂正パターン16を印刷可能なラベルプリンタ等によりこのような鍵パターン18も印刷(記録)できるので、特に印刷精度を高める必要や特殊な印刷特性を必要としない。
【0039】
また、このような鍵パターン18等は、データパターン15および誤り訂正パターン16の少なくとも一方に重複して、さりげなく印刷(記録)されるので、視覚的にこれらのパターンと識別することが困難になる。これにより、例えば、福袋のように、中身は異なっても商品の外観が統一されており外見では区別できずしかも開封できないもの等を、商品管理する場合に、中身の商品情報を暗号データにした当該QRコード10が印刷されたラベル等を貼付することで、後述の二次元コードリーダ20では読めても、買い物客個人の携帯電話機ではQRコード読取機能があっても当該QRコード10の暗号データを読むことができず福袋の中身を知られずにすむといったアプリケーション例を構成できる。
【0040】
このように本実施形態に係るQRコード10では、設備コストやランニングコストの増加を招くことなく、QRコード10の利用者には暗号化されていることを認識され難くすることができる。
【0041】
次に、本発明の二次元コードの読取装置に係る二次元コード(QRコード)リーダ20の構成等を図6〜図9を参照して説明する。なお、図6には、本実施形態に係る二次元コードリーダ20のハードウェア構成例を示すブロック図が図示されている。
【0042】
図6に示すように、二次元コードリーダ20は、主に、照明光源21、受光センサ23、結像レンズ22等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイコン系と、電源スイッチ41、バッテリ49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されており、ハードウェア的には一般仕様のQRコードリーダ(読取装置)と同様に構成されている。
【0043】
光学系は、照明光源21、受光センサ23、結像レンズ22等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のケースの読取口を介してラベルPに向けて照明光Lfを照射可能に構成されている。このラベルPには、前述したQRコード10が印刷されている。
【0044】
受光センサ23は、ラベルPやQRコード10に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ22を介して入射する入射光をこの受光面23aで受光可能に図略のプリント配線板に実装されている。
【0045】
結像レンズ22は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
【0046】
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコンとして機能し得る制御回路40およびメモリ35と中心に構成される。
【0047】
光学系の受光センサ23から出力される画像信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
【0048】
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またROMには、後述するデコード処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
【0049】
制御回路40は、二次元コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなり、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。
【0050】
これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取ったQRコードによるコード内容を画面表示可能な液晶表示器46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該二次元コードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。
【0051】
電源系は、電源スイッチ41、バッテリ49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、バッテリ49から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ49は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ49は不要となる。
【0052】
このように二次元コードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、QRコード10の読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、利用者がトリガースイッチを引いてオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。
【0053】
すると、QRコード10に照射された照明光Lfが反射し、その反射光Lrが読取口を介して結像レンズ27に入射するため、受光センサ23の受光面23aには、QRコード10の像が結像される。これにより、QRコード10の像が受光センサ23を露光するため、上述したマイコン系によって画像処理された当該QRコード10の画像データが、メモリ35の画像データ蓄積領域を介して、次に説明するデコード処理に渡される。
【0054】
ここで、デコード処理を図7〜図9に基づいて説明する。なお、図7には、デコード処理の流れを示すフローチャートが図示されている。また図8には、図7に示す誤り位置検出処理の流れを示すフローチャートが図示されている。また、図9には、図7に示す誤り位置一致判定処理の概念を示す説明図が図示されている。
【0055】
図7に示すように、デコード処理は、二次元コードリーダ20の電源投入により起動する制御回路40およびメモリ35によって開始され、まずステップS101により画像データ取込処理が行われる。この処理は、メモリ35の画像データ蓄積領域に蓄えされた画像データを読み込むものである。
【0056】
ステップS103では、全体デコード処理が行われる。この処理は、JIS規格に従ってQRコード10を構成するファインダパターン12、アライメントパターン13、タイミングパターン14および誤り訂正パターン16に基づいて、データパターン15をデコードするものである。
【0057】
なお、QRコード10では、前述したように、データパターン15の一部(秘匿データC,D)を暗号化していることから、開示データA,Bは意味のある文字列としてデコードできても、暗号データについてはこのステップS103では意味不明な文字列としてデコードされる。また、誤り訂正パターン16やデータパターン15に重ねて鍵パターン18等を配置して印刷(記録)していることから、この処理では「データ誤り」が必ず発生する。このため、次のステップS105によりこのデータ誤りが発生する位置を検出等している。なお、ステップS105はその詳細が図8に図示されているため、ここからは図8を参照しながら説明する。
【0058】
図8に示すように、誤り位置検出処理では、まずステップS201により、誤り検出処理が行われる。この処理は、データパターン15および誤り訂正パターン16について、JIS規格によるリードソロモン誤り検出のアルゴリズムに従って行われる。例えば、図1に示す例では、誤り訂正パターン16のうちの、E45,E68,E118の部分に重複して鍵パターン18を配置しているため、これに対応するデータパターン15について誤りが検出される。
【0059】
そして、このステップS201より誤りが検出されると(S203;Yes)、続くステップS205により、リードソロモン誤り訂正アルゴリズムによって当該データ誤りのあるデータパターン15に対して誤り訂正された後、ステップS207による誤り位置記憶処理によって誤り検出された位置(QRコードのコード配置に相当するもの)が記憶される。一方、このステップS201より誤りが検出されなければ(S203;No)、ステップS209に処理を移行する。
【0060】
そして、ステップS209により全てのデータパターン15について誤り検出されたかい否かが判断され、全データが終了していなければ(S209;No)、ステップS201に戻って次のデータパターン15について誤り検出処理が行われる。
【0061】
ステップS209により全データが終了したと判断されると(S209;Yes)、本誤り位置検出処理を終了して、図7のステップS107に処理を移行する。
【0062】
図7に戻ると、ステップS107により誤り位置分析処理が行われる。この処理は、前述した誤り位置検出処理の誤り位置記憶処理(S207)によって記憶された各誤り位置を、例えば図9に示すように分析する。なお、図9(A) は、デコードして読み取れるデータパターン15を模式的に一列につなげたもので、図9(B) は予め予定している誤り発生位置を模式的に示したもの、図9(C) 〜図9(G) は実際に発生した誤り位置を模式的に示したものである。
【0063】
ステップS107では、例えば、図9(B) に示すように、鍵パターン18等を重複配置されていることにより、データパターン15のうち、B3,B4,B7の位置に予め誤り検出されることが予定されている場合、これらの位置と誤り検出された位置(QRコードのコード配置に相当するもの)とを比較する。なお、予め誤り検出されることが予定されている位置(範囲情報)は、当該二次元コードリーダ20の工場調整時や出荷時等にメモリ35に記憶されている。
【0064】
これにより、例えば、図9(C) に示すように、予め誤り検出されることが予定されている位置(B3,B4,B7)と、誤り検出された位置(C3,C4,C7)とが完全に一致した場合には、これらC3,C4,C7は、いずれも鍵パターン18等が配置されていることによるものであると推測されるので、続くステップS109では誤りが特定範囲に集中していると判断し(S109;Yes)、さらにステップS111では鍵パターン18等の位置に一致していると判断して(S111;Yes)、ステップS113に処理を移行する。
【0065】
これに対し、例えば、図9(D) に示すように、予め誤り検出されることが予定されている位置(B3,B4,B7)とは関連性がないような位置に誤り検出された位置(D2,D6)がばらついている場合には、これらD2,D6は、いずれも鍵パターン18等が配置されていることによるものではなく、全く別の要因によるデータ誤りであると推測されるので、続くステップS109では誤りが特定範囲に集中していないと判断して(S109;No)、ステップS117に処理を移行する。
【0066】
また、図9(E) や図9(F) に示すように、予め誤り検出されることが予定されている位置(B3,B4,B7)と、誤り検出された位置(E3,E4,E5,E7)や(F3,F4,E7,F8)とが完全には一致しないが予定されている位置(B3,B4,B7)を含んでいる場合には、これらE3,E4,E5,E7やF3,F4,E7,F8は、いずれも鍵パターン18等が配置されていることによるものであると推測されるので、続くステップS109では誤りが特定範囲に集中していると判断し(S109;Yes)、さらにステップS111では鍵パターン18等の位置に一致していると判断して(S111;Yes)、ステップS117に処理を移行する。
【0067】
さらに、例えば、図9(G) に示すように、予め誤り検出されることが予定されている位置(B3,B4,B7)と、誤り検出された位置(G3,G4,G5)とが一部一致した場合には、図9(D) の場合と同様に、鍵パターン18等が配置されていることによるものではないと推測されるので、続くステップS109では誤りが特定範囲に集中していると判断されても(S109;Yes)、ステップS111では鍵パターン18等の位置に一致していないと判断して(S111;No)、ステップS117に処理を移行する。
【0068】
ステップS113では、鍵パターン18等を取得する処理が行われ、これにより得られた画像データを次のステップS115により鍵データをデコードする。
【0069】
続くステップS117では、ステップS115によりデコードされた鍵データ、つまり所定の暗号鍵を用いて暗号データをデコードすることによって、ステップS103では意味不明な文字列としてデコードされた暗号データを秘匿データC,Dとしてデコードすることが可能となる。
【0070】
ステップS119では、ステップS103によりデコードされたデータ(開示データA,B)とステップS117によりデコードされたデータ(秘匿データC,D)と、を液晶表示器46に出力したり、通信インタフェース48を介してホストコンピュータHSTに出力するデータ出力処理が行われる。
【0071】
以上説明したように、本実施形態に係る二次元コードリーダ20によると、制御回路40やメモリ35(以下「制御回路40等」という。)によりデータパターン15の誤りを検出し(S105,203)、検出された誤りの発生した位置が、鍵パターン18等が記録されているために予め誤り検出されることが予定されている位置(範囲情報)で予め有するものに基づいて特定される所定範囲内に存在する場合(S111;Yes)、この所定範囲内に記録されている鍵パターン18等を制御回路40等により取得する(S113)。そして、取得された鍵パターン18等を制御回路40等によりデコードして所定の暗号鍵(鍵データ)を生成し(S115)、所定の暗号鍵を用いて暗号化されたデータを制御回路40等により解読する(S117)。
【0072】
これにより、データパターン15および誤り訂正パターン16の少なくとも一方に鍵パターン18等が重複して記録されていない通常のQRコードを読み取ったときには、偶然そのような所定範囲内でデータパターン15の誤りが発生する場合を除いて、鍵パターン18等ではないコードパターンを鍵パターン18等であると誤って読み取ることを防止することができる。したがって、このような鍵パターン18等を含むQRコード10と含まない通常のQRコードとを区別してこれらのデータをデコードすることができる。
【0073】
なお、図9(C) 〜図9(G) に示すような誤りの発生した位置が、予め誤り検出されることが予定されている所定範囲内に複数存在する場合に限って、ステップS109以降の処理を実行するように構成しても良い。これにより、例えば、所定範囲内で偶然、データパターン15の誤りが発生しても、そのような偶然が同一の所定範囲内で複数箇所以上に発生しない限り、所定範囲内に記録されている鍵パターン18等を取得することはない。したがって、このような鍵パターン18等を含むQRコード10と含まない通常のQRコードとの区別をより高精度に行ったうえでこれらのデータをデコードすることができる。
【図面の簡単な説明】
【0074】
【図1】本発明の実施形態に係るQRコードの構成例を示す説明図である。
【図2】本発明の実施形態に係るQRコードの他の構成例を示す説明図である。
【図3】QRコードの一般的な構成を示す説明図である。
【図4】本実施形態に係るQRコードの生成方法を示すフローチャートである。
【図5】図4に示すQRコードの生成方法により情報処理されるデータのフォーマット例を示す説明図である。
【図6】本発明の実施形態に係る二次元コードリーダの構成例を示すブロック図である。
【図7】本実施形態に係る二次元コードリーダによるデコード処理の流れを示すフローチャートである。
【図8】図7に示す誤り位置検出処理の流れを示すフローチャートである。
【図9】図7に示す誤り位置一致判定処理の概念を示す説明図である。
【符号の説明】
【0075】
10、10’…QRコード(二次元コード)
11…単位モジュール(単位セル)
12…ファインダパターン(機能パターン)
13…アライメントパターン(機能パターン)
14…タイミングパターン(機能パターン)
15…データパターン(データコード語)
16…誤り訂正パターン(誤り訂正コード語)
18、18α、18β、18γ…鍵パターン(鍵コードパターン)
20…二次元コードリーダ(二次元コードの読取装置)
35…メモリ(誤り検出手段、鍵コードパターン取得手段、鍵データデコード手段、暗号解読手段)
36…アドレス発生回路
38…同期信号発生回路
40…制御回路(誤り検出手段、鍵コードパターン取得手段、鍵データデコード手段、暗号解読手段)
46…液晶表示器
48…通信インタフェース
S201(誤り検出手段)、S113(鍵コードパターン取得手段)、S115(鍵データデコード手段)、S117(暗号解読手段)

【特許請求の範囲】
【請求項1】
一部または全部が暗号化されたデータを二次元コードのコード仕様でコード化したデータコード語と、このデータコード語の誤りを検出し訂正し得る誤り訂正データを前記コード仕様でコード化した誤り訂正コード語と、を記録している二次元コードであって、
前記コード化に用いられる単位セルである明暗モジュールを用いたパターンに前記データの解読に用いる鍵データをコード化した鍵コードパターンを、前記データコード語および前記誤り訂正コード語の少なくとも一方に重複して記録していることを特徴とする二次元コード。
【請求項2】
前記鍵コードパターンは、前記データコード語をデコードするのに要する機能パターンを避けて配置されていることを特徴とする請求項1記載の二次元コード。
【請求項3】
請求項1または2記載の二次元コードをデコードするとともに、前記暗号化されたデータを前記鍵データを用いて解読する二次元コードの読取装置であって、
前記データコード語の誤りを検出する誤り検出手段と、
前記誤り検出手段により検出された誤りの発生した位置が、前記鍵コードパターンが記録されている範囲情報で予め有するものに基づいて特定される所定範囲内に存在する場合、この所定範囲内に記録されている前記鍵コードパターンを取得する鍵コードパターン取得手段と、
前記鍵コードパターン取得手段により取得された前記鍵コードパターンをデコードして前記鍵データを生成する鍵データデコード手段と、
前記鍵データデコード手段によりデコードされた前記鍵データを用いて前記暗号化されたデータを解読する暗号解読手段と、
を備えることを特徴とする二次元コードの読取装置。
【請求項4】
前記鍵コードパターン取得手段は、前記誤りの発生した位置が前記所定範囲内に複数存在する場合に限って、前記所定範囲内に記録されている前記鍵コードパターンを取得することを特徴とする請求項3記載の二次元コードの読取装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−93443(P2009−93443A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2007−263899(P2007−263899)
【出願日】平成19年10月10日(2007.10.10)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】