説明

2次元コード読取装置

【課題】 2次元コードの読み取りにおいて当該2次元コードの画像の形状が歪んでいる場合でも、高速に当該2次元コードに含まれる情報を読み取ることができる2次元コード読取装置を提供する。
【解決手段】 本発明に係る2次元コード読取装置100は、ベクトル値を演算するベクトル値演算部と、参照座標R(0,0)を、ベクトル値、s、t、W及びWを用いて表現する第1参照座標表現部と、sまたはtが異なる場合における直線L1、直線L2の交点の参照座標Rを、s、t、W及びWに基づいて算出される定数値、及び参照座標R(0,0)を用いて表現する第2参照座標表現部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2次元コードを読み取り、当該2次元コードの画像上における位置を示す座標に基づいて、当該2次元コードに含まれる情報を取得する2次元コード読取装置に関する。
【背景技術】
【0002】
近年、数字や文字などの情報を表現する情報表現コードの一種として、縦横の2方向において情報を表現することによって、表現できる情報量をバーコードよりも増大させた2次元コードが広く用いられている。
【0003】
このような2次元コードを読み取るために用いられる読取装置(スキャナ)は、一般的に、CCDなどによって構成される画像取得部が、2次元コードを光(画像)信号として読み取り、読み取った光(画像)信号をディジタル画像データに変換している。
【0004】
また、このような読取装置によって変換されたディジタル画像データから得られる2次元コードの画像には歪みが発生し、2次元コードに含まれる情報を正確に読み取ることができない場合があることが知られている。
【0005】
すなわち、読取装置(画像取得部)が読み取り対象の2次元コードと正対していない状態において、2次元コードが読取装置(画像取得部)によって読み取られることが発生し得るため、読取装置によって変換されたディジタル画像データから得られる2次元コードの画像の形状が歪んでしまうのである。
【0006】
このような歪みの発生を抑制するため、読取装置には、2次元コードと極力正対するように補助する補助機構(例えば、ガイドマーカ)が設けられ、また、読取装置の使用者も読取装置と2次元コードとが正対するように努力するが、このような歪みの発生を完全に防止することは困難である。
【0007】
そこで、このような歪みを有する2次元コードのディジタル画像データを補正する技術が開示されている(例えば、特許文献1)。図5は、このような2次元コードのディジタル画像データの概略補正方法を説明するための説明図である。
【0008】
同図は、読取装置によって読み取られ、歪みを有する2次元コード(QRコード)の画像(2次元コード画像PC’)を模式的に示している。なお、主走査方向及び副走査方向とは、読取装置の画像取得部(CCD)の走査方向を示している。
【0009】
この補正方法では、歪みを有する2次元コード画像PC’の領域ABCDに基づいて、辺ADと辺BCとが平行な台形が仮定される。具体的には、辺ABに隣接する辺の長さ、すなわち、辺AD及び辺BCの長さを変えないことを“条件”として、辺AB側にない頂点C,Dの一方を移動させ、辺ABに隣接する辺ADと辺BCとが平行な台形が仮定される。同図では、頂点Cを移動させることによって、台形ABC’Dが仮定されている。
【0010】
次いで、このような「一定条件を満たす台形」のそれぞれの辺に分割点(内分点)、及び当該分割点同士を結んだ検査線が設定される。さらに、当該検査線に基づいて2次元コード画像に含まれるデータ領域のセルの位置が決定される。
【特許文献1】特開2000−222517号公報(第5−6頁、第7−9図)
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、上述した従来技術には、次のような問題があった。すなわち、図5を参照して説明した従来のディジタル画像データの補正方法では、頂点C’の位置を決定する際に、(1)辺ADと辺BC’とが平行になること、(2)辺BC’と辺BCとが同じ長さになることが必要となる。
【0012】
つまり、(1’)辺BC’及び辺ADと、辺ABとの角度、(2’)辺BC’及び辺BCの長さを演算する必要がある。当該角度や辺の長さの演算では、三角関数や乗算・除算が用いられるため、演算時間が長くなり、高速な処理ができないといった問題がある。
【0013】
さらに、当該補正方法では、2次元コード画像の領域を「一定条件を満たす台形」と仮定することが前提とされているが、読取装置(画像取得部)が2次元コードと正対していない状態で読み取られた2次元コード画像は、当該台形に仮定することができない場合があるといった問題があった。
【0014】
そこで、本発明は、以上の点に鑑みてなされたもので、2次元コードの読み取りにおいて当該2次元コードの画像の形状が歪んでいる場合でも、高速に当該2次元コードに含まれる情報を読み取ることができる2次元コード読取装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、2次元コード(例えば、QRコード)を読み取り、前記2次元コードの画像である2次元コード画像(2次元コード画像PC)上における位置を示す座標に基づいて、前記2次元コードに含まれる情報を取得する2次元コード読取装置(2次元コード読取装置100)であって、前記2次元コード画像の周囲において、前記2次元コード画像を囲む四辺形(四辺形A)を設定するマーカ設定部(マーカ設定部103)と、前記四辺形の何れかの頂点を原点(例えば、P0)とし、前記原点を含む第1の辺(P0〜P1)の長さである第1辺長(W)、前記原点を含む第2の辺(P0〜P2)の長さである第2辺長(W)、及び前記四辺形の頂点の位置ベクトル(P0,P1,P2,P3)に基づいて、前記原点を基準とするベクトル値(P1’,P2’,P3’)を演算するベクトル値演算部と、前記第1の辺を第1の割合(s:1−s)で内分する第1内分点(内分点p)と、前記第1の辺に対向する第1対向辺(P2〜P3)を前記第1の割合で内分する第1対向内分点(内分点p’)とを結ぶ直線(直線L1)、及び前記第2の辺を第2の割合(t:1−t)で内分する第2内分点(内分点p)と、前記第2の辺に対向する第2対向辺(P1〜P3)を前記第2の割合で内分する第2対向内分点(t:1−t)とを結ぶ直線(直線L2)の交点の座標である第1参照座標(例えば、R(0,0))を、前記ベクトル値、前記第1の割合、前記第2の割合、前記第1辺長、及び前記第2辺長を用いて表現する第1参照座標表現部と、前記第1の割合または前記第2の割合が異なる場合における前記直線の交点の座標である第2参照座標(例えば、R(1,0))を、前記ベクトル値、前記第1の割合、前記第2の割合、前記第1辺長及び前記第2辺長に基づいて算出される定数値(a,b)、及び前記第1参照座標を用いて表現する第2参照座標表現部とを備えることを要旨とする。
【0016】
かかる特徴によれば、定数値(a,b)と、参照座標R(0,0)とに基づいて参照座標(例えば、R(1,0))が表現されるため、参照座標R(1,0)を求める演算では、三角関数や乗算を用いる必要がなく、加算のみで参照座標を表現することができる。
【0017】
また、かかる特徴によれば、マーカ設定部が、2次元コード画像の周囲に四辺形を設定し、第1参照座標演算部及び第2参照座標演算部が、当該四辺形の内分点を結ぶ直線の交点を参照座標(第1参照座標及び第2参照座標)として表現するため、上述した従来技術のように、読み取った2次元コード画像を「一定の条件を満たす台形」として仮定する必要がなく、2次元コード画像の形状の多様な歪みに対応することができる。
【0018】
すなわち、かかる特徴によれば、2次元コードの読み取りにおいて当該2次元コードの画像の形状が歪んでいる場合でも、高速に当該2次元コードに含まれる情報を読み取ることができる。
【0019】
本発明の第2の特徴は、本発明の第1の特徴に係り、前記ベクトル値演算部が、前記第1辺長(W)、前記第2辺長(W)、前記原点の位置ベクトル(P0)、前記四辺形の第1頂点の位置ベクトル(P1)、前記四辺形の第2頂点の位置ベクトル(P2)、及び前記四辺形の第3頂点の位置ベクトル(P3)を用いて、
【数6】

【数7】

【数8】

【0020】
によって、前記ベクトル値(P1’,P2’,P3’)を演算することを要旨とする。
【0021】
本発明の第3の特徴は、本発明の第2の特徴に係り、前記第1参照座標表現部が、前記第1の割合(s:1−s)、及び前記第2の割合(t:1−t)をさらに用いて、前記第1参照座標を、
【数9】

【数10】

【0022】
として表現することを要旨とする。
【0023】
本発明の第4の特徴は、本発明の第3の特徴に係り、前記第2参照座標表現部が、前記定数値(a,b)を用いて、
R(n+1, m) = R(n, m)+am, a0 = A0・Y0+A1, am+1 = am+A0
R(0, m+1) = R(0, m)+b0, b0 = A0・X0+A2
によって、前記第2参照座標(R(N+1,M),R(0,M+1))を表現することを要旨とする。
【発明の効果】
【0024】
本発明によれば、2次元コードの読み取りにおいて当該2次元コードの画像の形状が歪んでいる場合でも、高速に当該2次元コードに含まれる情報を読み取ることができる2次元コード読取装置を提供することができる。
【発明を実施するための最良の形態】
【0025】
(2次元コード読取装置の構成)
本発明の実施形態について図面を参照しながら説明する。まず、図1〜図3を参照して、本実施形態に係る2次元コード読取装置100(スキャナ)の論理ブロック構成について説明する。
【0026】
図1に示すように、2次元コード読取装置100は、2次元コード画像取得部101と、マーカ設定部103と、ベクトル値演算部105と、2次元コード画像座標演算部107と、配列情報取得部109と、記憶部111と、電源部113とを備えている。
【0027】
2次元コード画像取得部101は、例えば、各種の書類や製品など、2次元コード表示対象媒体20に表示されている2次元コード10を読み取り、2次元コード10の画像(以下、2次元コード画像PC)のデータ(ディジタル画像データ)をマーカ設定部103に出力するものである。
【0028】
具体的には、2次元コード画像取得部101は、CCDセンサ(不図示)を有し、当該CCDセンサを用いて、2次元コード表示対象媒体20に表示されている2次元コード10を撮像する。さらに、2次元コード画像取得部101は、2次元コード10を撮像することによって取得した2次元コード10のディジタル画像データをマーカ設定部103に出力する。
【0029】
マーカ設定部103は、2次元コード画像PC(図2参照)の周囲において、当該2次元コード10の画像を囲む四辺形A(図2参照)を設定するものである。
【0030】
具体的には、マーカ設定部103は、2次元コード画像PCの周囲4箇所に、当該位置をマーカ設定部103が検出することができる特定パターンを有するマーカを設定する。図2では、P0〜P3の4箇所にマーカが設定されている。なお、本実施形態に係る2次元コード10では、マーカ設定部103に2次元コード10における当該位置を検出させるため、4箇所にマーカが設けられている。
【0031】
また、マーカ設定部103は、検出したマーカ(P0〜P3)の位置情報をベクトル値演算部105及び2次元コード画像座標演算部107に通知する。
【0032】
ベクトル値演算部105は、四辺形Aの何れかの頂点を原点とし、当該原点を含む第1の辺の長さである第1辺長、当該原点を含む第2の辺の長さである第2辺長、及び四辺形Aの頂点の位置ベクトルに基づいて、ベクトル値を演算するものである。
【0033】
具体的には、ベクトル値演算部105は、図2に示すように、P0を原点とし、第1辺長(W)、第2辺長(W)、原点の位置ベクトルP0、P1(第1頂点)の位置ベクトルP1、P2(第2頂点)の位置ベクトルP2、及びP3(第3頂点)の位置ベクトルP3を用いて、
【数11】

【数12】

【数13】

【0034】
によって、ベクトル値(P1’,P2’,P3’)を演算する。
【0035】
2次元コード画像座標演算部107は、図2に示すように、第1の辺(P0〜P1)をs:1−s(第1の割合)で内分する内分点p(第1内分点)と、第1の辺に対向する第1対向辺(P2〜P3)をs:1−sで内分する内分点p’(第1対向内分点)とを結ぶ直線L1、及び第2の辺をt:1−t(第2の割合)で内分する内分点p(第2内分点)と、第2の辺に対向する第2対向辺(P1〜P3)をt:1−tで内分する内分点p’(第2対向内分点)とを結ぶ直線L2の交点の参照座標R(第1参照座標、例えば、R(0,0))を、ベクトル値(P1’,P2’,P3’)、s、t、W、及びWを用いて表現するものであり、本実施形態では、第1参照座標表現部を構成する。
【0036】
具体的には、2次元コード画像座標演算部107は、参照座標R(X,Y)=R(0,0)、図2参照)を、
【数14】

【数15】

【0037】
として表現する。
【0038】
また、2次元コード画像座標演算部107は、sまたはtが異なる場合における直線L1と直線L2との交点の座標である参照座標R(第2参照座標)を、ベクトル値(P1’,P2’,P3’)、s、t、W、及びWに基づいて算出される定数値(a,b)(図3参照)と、参照座標R(第1参照座標、例えば、R(0,0))とを用いて表現するものであり、本実施形態では、第2参照座標表現部を構成する。
【0039】
具体的には、2次元コード画像座標演算部107は、定数値(a,b)を用いて、
R(n+1, m) = R(n, m)+am, a0 = A0・Y0+A1, am+1 = am+A0 …(式8−1)
R(0, m+1) = R(0, m)+b0, b0 = A0・X0+A2 …(式8−2)
によって、参照座標(R(N+1,M),R(0,M+1))を表現する。なお、2次元コード画像座標演算部107のより具体的な動作については後述する。
【0040】
配列情報取得部109は、2次元コード画像座標演算部107によって演算された参照座標Rに基づいて、2次元コード10のデータ領域10dに含まれている数字や文字などの配列情報を取得するものである。
【0041】
具体的には、配列情報取得部109は、2次元コード画像座標演算部107によって演算された参照座標Rを用いて、データ領域10dのどの領域の配列情報を取得したかを認識し、取得した配列情報を外部の他の機器に出力したり、記憶部111に記憶させたりすることができる。また、配列情報取得部109は、取得した配列情報に誤りが含まれている場合、当該誤りを訂正した配列情報を出力することができる。
【0042】
電源部113は、2次元コード読取装置100を動作させるために、上述した各機能ブロック(2次元コード画像取得部101〜記憶部111)に電源を供給するものである。
【0043】
(2次元コード読取装置の動作)
次に、図2〜図4を参照して、上述した2次元コード読取装置100による2次元コード10の読取動作について説明する。図4は、2次元コード読取装置100による2次元コード10の読取動作フローを示している。
【0044】
同図に示すように、ステップS10において、2次元コード読取装置100は、各種の書類や製品など、2次元コード表示対象媒体20に表示されている2次元コード10の画像(2次元コード画像PC)のデータを取得する。
【0045】
ここで、2次元コード読取装置100が2次元コード10と正対していない状態において、2次元コード10が2次元コード読取装置100によって読み取られることが発生し得るため、2次元コード読取装置100によって出力される2次元コード画像PCのディジタル画像データの形状が歪んでしまう場合がある。
【0046】
ただし、当該歪みは、一定の規則に従った歪みである。具体的には、2次元コード表示対象媒体20に表示されている2次元コード10は、四辺形状、つまり直線的な形状であり、2次元コード読取装置100によって読み取られた2次元コード画像PCは、曲線的になることはなく、読み取られた2次元コード画像PCの形状は、依然として直線的である。
【0047】
ステップS20において、2次元コード読取装置100は、2次元コード画像PC(図2参照)の周囲において、当該2次元コード10の画像を囲む四辺形Aを設定する。具体的には、2次元コード読取装置100は、図2に示したように、2次元コード画像PCの周囲4箇所に、当該位置を検出することができる特定パターンを有するマーカP0〜P3を設定する。
【0048】
ステップS30において、2次元コード読取装置100は、P0を原点とし、第1辺長(W)、第2辺長(W)、原点の位置ベクトルP0、P1(第1頂点)の位置ベクトルP1、P2(第2頂点)の位置ベクトルP2、及びP3(第3頂点)の位置ベクトルP3、さらに、上述した(式1)〜(式3)を用いて、ベクトル値(P1’,P2’,P3’)を演算する。
【0049】
ステップS40において、2次元コード読取装置100は、参照座標(R(0,0)、図2参照)を、上述した(式4)〜(式7)を用いて表現する。ここで、参照座標R(0,0)のベクトルRは、
【数16】

【0050】
のように表現することができる。この(式9)は、角度を用いない表現方法であるため、従来のように、三角関数などを用いた演算を回避できる利点がある。しかし、(式9)をそのまま利用してベクトルRを演算するのは好ましくない。すなわち、s:1−s及びt:1−tの演算後に3回の乗算が必要であり、2次元コード画像PCの画素数をN×Mとすると、各画素の座標を求めるには、6NM回の乗算が必要となるからである。
【0051】
つまり、2入力を有する乗算器を1台のみ有する処理系(ハードウェア)では、2次元コード画像PCの画素数(N×M)に比例して増大する演算時間(乗算時間)によって、処理の高速化が難しくなるからである。
【0052】
そこで、本実施形態では、上述した(式4)のように参照座標R(0,0)を表現することによって、参照座標R(例えば、R(1,0))を加算のみによって表現し、乗算を用いないようにした。
【0053】
ステップS50において、2次元コード読取装置100は、sまたはtが異なる場合における直線L1と直線L2との交点の座標である参照座標Rを、ベクトル値(P1’,P2’,P3’)、s、t、W、及びWに基づいて算出される定数値(a,b)と、参照座標R(0,0)とを用いて表現する。
【0054】
例えば、図3に示すように、2次元コード読取装置100は、参照座標R(1,0)について、当該座標を(X+1,Y)とするとともに、参照座標R(0,0)を表現する(式4)に準じ、(式10)が成り立つものとする。
【0055】
R(1, 0) = A0*(X0+1)*Y0+A1*(X0+1)+A2*Y0+P0 …(式10)
さらに、(式10)を整理すると、
R(1, 0) = R(0, 0)+a0
a0 = A0・Y0+A1
また、上述した参照座標R(1,0)と同様に、参照座標R(0,1)を(X,Y+1)とすると、
R(0, 1) = R(0, 0)+b0
b0 = A0・X0+A2
また、参照座標R(1,1)を(X+1,Y+1)とすると、
R(1, 1) = A0*(X0+1)*(Y0+1)+A1*(X0+1)+A2*(Y0+1)+P0
=R(0, 0)+b0+a0+A0
と表現することができ、a=a+A0が得られる。
【0056】
次いで、2次元コード読取装置100は、定数値(a,b)、及び以下に再掲する(式8−1)及び(式8−2)を用い、X軸(主走査方向)及びY軸方向(副走査方向)について、参照座標R(R(N+1,M),R(0,M+1))を表現する。
【0057】
R(n+1, m) = R(n, m)+am, a0 = A0・Y0+A1, am+1 = am+A0 …(式8−1)
R(0, m+1) = R(0, m)+b0, b0 = A0・X0+A2 …(式8−2)
すなわち、2次元コード読取装置100は、定数値(a,b)を順次加算することにより、全ての2次元コード画像PCの参照座標Rを近似的に求めることができる。
【0058】
ステップS60において、2次元コード読取装置100は、ステップS50において演算された参照座標Rに基づいて、2次元コード10のデータ領域10dに含まれている数字や文字などの配列情報を取得する。
【0059】
さらに、2次元コード読取装置100は、取得した配列情報を外部の他の機器に出力したり、内部(記憶部111)に記憶させたりする。
【0060】
(作用・効果)
以上説明した本実施形態に係る2次元コード読取装置100によれば、定数値(a,b)と、参照座標R(0,0)とに基づいて参照座標(例えば、R(1,0))が表現されるため、参照座標を求める演算では、三角関数や乗算を用いる必要がなく、加算のみで参照座標を表現することができる。
【0061】
また、2次元コード読取装置100によれば、マーカ設定部103が、2次元コード画像PCの周囲に四辺形Aを設定し、2次元コード画像座標演算部107が、四辺形Aの内分点(PとP’、P2とP2’)を結ぶ直線L1,L2の交点を参照座標R(0,0)または参照座標R(例えば、R(1,0)として表現するため、2次元コード画像取得部101によって読み取られた2次元コード画像PCを「一定の条件を満たす台形」として仮定する必要がなく、2次元コード画像PCの形状の多様な歪みに対応することができる。
【0062】
すなわち、2次元コード読取装置100によれば、2次元コード10の読み取りにおいて2次元コード10の画像の形状が歪んでいる場合でも、高速に2次元コード10に含まれる情報を読み取ることができる。
【0063】
また、2次元コード読取装置100によれば、参照座標R(0,0)、及びa,b,A0を求めた後においては、当該定数値(等差数列)を用いて参照座標を求めることができるため、加算のみで参照座標を表現することができる。このため、高速な2次元コード10の読取処理と、低消費電力とを両立することができる。
【0064】
(その他の実施形態)
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【0065】
例えば、本発明は、2次元の画像(以下、2次元画像)を用いて情報を記録、再生するホログラムメモリが用いられる場合にも適用することができる。図6は、本発明を適用することができるホログラムメモリの断面図である。
【0066】
同図に示すように、ホログラムメモリ400は、2次元画像を生成するホログラムを記録した平面型シングルモード光導波路が多層に重ねられた積層導波路ホログラムである。
【0067】
ホログラムメモリ400は、表面からクラッド層410a、コア層410b、クラッド層420a、コア層420b、クラッド層430a、コア層430b、及びクラッド層440が、順に積層されている。
【0068】
コア層410b,420b,430bは、石英やプラスティックなどの板状の透明な媒質によって構成される。また、コア層410b,420b,430bは、クラッド層410a,420a,430a,440aよりも光の屈折率が高く、屈折率を変調するなどの方法によって形成された散乱因子によって、2次元コードによって符号化された2次元符号を再生するホログラムHが形成されている。
【0069】
レーザなどの光源(不図示)から出射されたレーザ光LBは、レンズLによって集光され、ホログラムメモリ400の端面400eから入射する。端面400eから入射したレーザ光LBは、コア層420bに結合し、コア層420bの内部を導波光PBとして伝搬する。
【0070】
導波光PBは、コア層420bに形成されているホログラムHによって散乱し、回折光DBとして、ホログラムメモリ400から出射する。ホログラムメモリ400から出射した回折光DBは、ホログラム画像HP(2次元画像)を形成する。
【0071】
回折光DBによって形成されたホログラム画像HPをCCDセンサなどの光検出器を用いて読み取ることによって、コア層420bにホログラムHとして形成(記録)されている情報を取得することができる。
【0072】
また、クラッド層及びコア層が積層されている方向Vに、レーザ光LB及びレンズLを移動させることによって、コア層410bやコア層430bにレーザ光LBを結合させることができる。
【0073】
コア層410bやコア層430bにレーザ光LBを結合させることによって、コア層410bやコア層430bに記録されている情報を取得することができる。
【0074】
また、上述した2次元コード画像取得部101(CCDセンサを除く)、マーカ設定部103、ベクトル値演算部105、2次元コード画像座標演算部107及び配列情報取得部109は、コンピュータにおいて実行可能なプログラムとして提供することもできる。
【0075】
さらに、上述した本発明の実施形態では、2次元コードとしてQRコードを例として説明したが、本発明は、他の2次元コード(例えば、スタックドバーコード方式)などの情報表現コードにも勿論適用することができる。
【0076】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【0077】
【図1】本発明の実施形態に係る2次元コード読取装置の論理ブロック構成を示す図である。
【図2】本発明の実施形態に係る2次元コード読取装置の処理概要を説明するための説明図である。
【図3】本発明の実施形態に係る2次元コード読取装置の処理概要を説明するための説明図である。
【図4】本発明の実施形態に係る2次元コード読取装置の動作フロー図である。
【図5】従来の2次元コード読取装置の処理概要を説明するための説明図である。
【図6】本発明のその他の実施形態に係るホログラムメモリの断面図である。
【符号の説明】
【0078】
10…2次元コード、10d…データ領域、20…2次元コード表示対象媒体、100…2次元コード読取装置、101…2次元コード画像取得部、103…マーカ設定部、105…ベクトル値演算部、107…2次元コード画像座標演算部、109…配列情報取得部、111…記憶部、113…電源部、400…ホログラムメモリ、400e…端面、410a,420a,430a,440…クラッド層、410b,420b,430b…コア層、DB…回折光、H…ホログラム、HP…ホログラム画像、L…レンズ、LB…レーザ光、PB…導波光、PC…2次元コード画像

【特許請求の範囲】
【請求項1】
2次元コードを読み取り、前記2次元コードの画像である2次元コード画像上における位置を示す座標に基づいて、前記2次元コードに含まれる情報を取得する2次元コード読取装置であって、
前記2次元コード画像の周囲において、前記2次元コード画像を囲む四辺形を設定するマーカ設定部と、
前記四辺形の何れかの頂点を原点とし、前記原点を含む第1の辺の長さである第1辺長、前記原点を含む第2の辺の長さである第2辺長、及び前記四辺形の頂点の位置ベクトルに基づいて、ベクトル値を演算するベクトル値演算部と、
前記第1の辺を第1の割合で内分する第1内分点と、前記第1の辺に対向する第1対向辺を前記第1の割合で内分する第1対向内分点とを結ぶ直線、及び前記第2の辺を第2の割合で内分する第2内分点と、前記第2の辺に対向する第2対向辺を前記第2の割合で内分する第2対向内分点とを結ぶ直線の交点の座標である第1参照座標を、前記ベクトル値、前記第1の割合、前記第2の割合、前記第1辺長、及び前記第2辺長を用いて表現する第1参照座標表現部と、
前記第1の割合または前記第2の割合が異なる場合における前記直線の交点の座標である第2参照座標を、前記ベクトル値、前記第1の割合、前記第2の割合、前記第1辺長及び前記第2辺長に基づいて算出される定数値、及び前記第1参照座標を用いて表現する第2参照座標表現部と
を備えることを特徴とする2次元コード読取装置。
【請求項2】
前記ベクトル値演算部は、前記第1辺長(W)、前記第2辺長(W)、前記原点の位置ベクトル(P0)、前記四辺形の第1頂点の位置ベクトル(P1)、前記四辺形の第2頂点の位置ベクトル(P2)、及び前記四辺形の第3頂点の位置ベクトル(P3)を用いて、
【数1】

【数2】

【数3】

によって、前記ベクトル値(P1’,P2’,P3’)を演算することを特徴とする請求項1に記載の2次元コード読取装置。
【請求項3】
前記第1参照座標表現部は、前記第1の割合(s:1−s)、及び前記第2の割合(t:1−t)をさらに用いて、前記第1参照座標を、
【数4】

【数5】

として表現することを特徴とする請求項2に記載の2次元コード読取装置。
【請求項4】
前記第2参照座標表現部は、前記定数値(a,b)を用いて、
R(n+1, m) = R(n, m)+am, a0 = A0・Y0+A1, am+1 = am+A0
R(0, m+1) = R(0, m)+b0, b0 = A0・X0+A2
によって、前記第2参照座標(R(N+1,M),R(0,M+1))を表現することを特徴とする請求項3に記載の2次元コード読取装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate