JP2996243B1 - 2次元コード読取方法、2次元コード読取装置及び記録媒体 - Google Patents

2次元コード読取方法、2次元コード読取装置及び記録媒体

Info

Publication number
JP2996243B1
JP2996243B1 JP10350046A JP35004698A JP2996243B1 JP 2996243 B1 JP2996243 B1 JP 2996243B1 JP 10350046 A JP10350046 A JP 10350046A JP 35004698 A JP35004698 A JP 35004698A JP 2996243 B1 JP2996243 B1 JP 2996243B1
Authority
JP
Japan
Prior art keywords
dimensional code
inspection line
inclination
cell
reference position
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.)
Expired - Fee Related
Application number
JP10350046A
Other languages
English (en)
Other versions
JP2000172777A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP10350046A priority Critical patent/JP2996243B1/ja
Application granted granted Critical
Publication of JP2996243B1 publication Critical patent/JP2996243B1/ja
Publication of JP2000172777A publication Critical patent/JP2000172777A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

【要約】 【課題】 2次元コードの読み取りにおいて、取り込ん
だ画像中の2次元コードに歪みが存在していても、2次
元コードを正確に読み取ると共に2次元コードの解読時
間を短縮する。 【解決手段】 2次元コード領域のセル配列位置を示す
特定パターンを走査し(S300)、所定セルの中心位
置を基準位置として算出すると共に(S310)、検査
線設定対象の辺に隣接する2辺の傾きを算出し(S32
0)、この2辺の傾きの差分値を基準位置に基づいて按
分することによって(S330,S340)各基準位置
に対応する傾きを算出し(S350)、この傾きに基づ
いて検査線を設定する(S360)。この検査線設定処
理では、「傾き」という量を用いることで三角関数を用
いた角度計算を一切行わない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元コードを読
み取る技術に関し、特に、歪んで取り込まれた2次元コ
ード画像を正確に、かつ、迅速に読み取る技術に関す
る。
【0002】
【従来の技術】2次元コードは、バーコードに比べ、大
量の情報を記録でき、情報が2次元的な広がりを持って
いるため、画像データの読み取りに、より大きな時間を
必要とする。
【0003】データをセル化した2次元コードでは、2
次元コードを構成するセルの種類に明(白)又は暗
(黒)を用いて情報を表している。2次元コード読取装
置が、2次元コードを正しく解読するためには、各セル
の明暗(白黒)の判別が正確に行われなくてはならな
い。このためには、各セルの中心位置の決定が重要とな
る。
【0004】例えば2次元コードの一例として図9
(a)に示すようなQRコードがあるが、このようなQ
Rコードの読み取り処理においては、最初にパターンの
特徴から3つの位置決め用シンボルA,C,Dを検出
し、次いで、この位置決め用シンボルA,C,Dの間に
存在する明、暗のセルを交互に配列したタイミングセル
E,Fを検出することで、画像処理によって、位置決め
用シンボルA,C,DおよびタイミングセルE,Fの各
セルの中心位置を検出している。これらのセルの中心位
置が決定されると、これらのセルの中心位置の座標を利
用して、他のセルの中心位置が計算にて求められる。
【0005】すなわち、位置決め用シンボルA,C,D
及びタイミングセルE,Fは、セルの縦横方向のセルの
配列位置を示しており、この配列位置に各セルはマトリ
ックス状に等間隔にならんでいる。したがって、位置決
め用シンボルA,C,D及びタイミングセルE,Fの各
セルの中心位置を通るような検査線を2次元コードの領
域に設定すれば、各検査線の交点が各セルの中心位置と
して計算にて求められるという具合である。
【0006】このように、セルの位置が決定できれば、
その位置からセルの種類、すなわち明(白)か暗(黒)
かを読み取ることにより、2次元コードを解読すること
ができる。ところが、2次元コードは、図9(a)のご
とく歪みなく検出されるとは限らず、例えば、図9
(b)に示すごとく、2次元コードが斜めに読み取ら
れ、画像に歪みが生じる場合がある。
【0007】このような場合には、位置決め用シンボル
A,C,DやタイミングセルE,Fに近いところのデー
タセルについては、計算して求めた読み取り位置と実際
のセル位置との間の位置ずれは小さいので、セルの種類
の読み取りは正確に行われるが、位置決め用シンボル
A,C,DやタイミングセルE,Fから離れるにしたが
って、読み取り位置と実際のセル位置との位置ずれが大
きくなり、セルの種類を正確に判定できなくなってしま
う。
【0008】このように斜めに読み取られることで歪み
を生じた2次元コードを正確に読み取るための一手法
が、特許第2742555号公報に開示されている。こ
こに開示される技術は、マトリックス式の2次元コード
に関するものであり、上述したように斜めに読み取られ
た2次元コードの歪みが、ある程度比例的に生じること
に着目して、上述した検査線の設定を工夫するものであ
る。これについて説明する。
【0009】図10に示すように、正方形形状の2次元
コードが、歪んだ四辺形ABCDとして読み取られた場
合を考える。この場合、読み取られた2次元コードの画
像を主走査方向及び副走査方向(画素の配列方向)に走
査し、まず最初にパターンの特徴から、2次元コードの
領域を特定する。例えば2次元コード領域の頂点A,
B,C,Dの座標を求めるという具合である。そして、
辺AB及び辺AD上にタイミングセルがあるとすると、
辺AB及び辺AD上のタイミングセルに基づいてセルの
配列位置の座標を求める。図10では、辺AB上のセル
配列位置を点a,b,cとして、また、辺AD上のセル
配列位置を点d,e,fとして示した。
【0010】ここで各検査線は、セル配列位置a〜fを
通るように設定するのであるが、2次元コード領域AB
CDが歪んでいるため、次のような工夫をしている。ま
ず、辺AB上の点a,b,cを通る検査線を設定する場
合を説明する。この場合は、辺ABと辺ADがなす角度
θ0 と、辺ABと辺BCがなす角度θ x を最初に求め
る。そして、線分AB上における点aの位置に基づき角
度θ0 と角度θx との差分を按分して角度θx1を求め、
点aを通り辺ABと角度θx1をなす直線を検査線として
設定する。同様に、線分AB上における各点b,cの位
置に基づき角度θ0 と角度θx との差分を按分して角度
θx2,θx3を求め、点bを通り辺ABと角度θx2をなす
直線及び点cを通り辺ABと角度θx3をなす直線を、そ
れぞれ検査線として設定する。
【0011】続いて、辺AD上の点d,e,fを通る検
査線を設定する場合を説明する。この場合も同様であ
る。つまり、辺ADと辺ABがなす角度θ0 、辺ADと
辺DCがなす角度θy を求め、辺AD上のセル配列位置
である点d,e,fの位置に基づき角度θ0 と角度θy
との差分を按分して角度θy1,θy2,θy3を求め、点
d,e,fを通りそれぞれ辺ADと角度θy1,θy2,θ
y3をなす直線を検査線として設定するのである。
【0012】そして、各検査線の交点(検査線と辺との
交点を含むこともある)をセル位置として特定し、セル
の種類を読み取る。この手法によれば、2次元コードが
歪んで読み取られた場合にも、各セルの中心位置を計算
にて決定できるため、2次元コードを正しく解読でき
る。
【0013】
【発明が解決しようとする課題】しかしながら、特許第
2742555号公報に開示された技術は、各セルの中
心位置を如何にして算出すればよいかという観点のみか
らなされており、2次元コードの解読時間という点につ
いては何等言及されていない。実際に上述したような方
法で各セルの中心位置を求めようとすると、その計算に
要する時間は膨大なものとなる。すなわち、2次元コー
ド読取装置において、2次元コードの解読に長時間を要
する結果になってしまう。
【0014】その理由は、辺AB及び辺ADに対する角
度計算を行う点にある。例えば、図11に示すように、
辺ABに対する辺ADの角度θ0 を求める場合、頂点D
から辺ABへの垂線を引き、垂線の足を記号Eで示す
と、 θ0 =tan-1(ED/AE) となる。
【0015】このような三角関数の演算は、乗除などの
演算と比べ、演算時間が数十倍、数百倍というような単
位で長くなることが知られている。そして、各検査線の
設定においてもこのような三角関数の演算が必要とな
る。図10を用いて説明した如くである。図10では、
辺AB及び辺AD上にタイミングセルの中心位置a〜f
がそれぞれ3個ずつある例を説明したが、タイミングセ
ルの中心位置は数十個というように多数存在するのが一
般的であり、設定される検査線の数が多くなれば、これ
に伴って繰り返し角度計算がなされることになるため、
計算時間が大きくなってしまう。
【0016】以上説明したように従来の手法では、2次
元コードの解読に要する時間が大きくなってしまうとい
う問題が生じる。本発明は、2次元コードの読み取りに
おいて、取り込んだ画像中の2次元コードに歪みが存在
していても、2次元コードを正確に読み取ると共に2次
元コードの解読時間を短縮することを目的とする。
【0017】
【課題を解決するための手段及び発明の効果】本発明の
2次元コード読取方法は、2進コードで表されるデータ
をセル化し、当該セルを縦横2方向に配列した2次元コ
ードを読み取るために用いられる。例えばマトリックス
式2次元コードには、QRコード、データコード、ベリ
コード、CPコード等が挙げられる。
【0018】本発明の2次元コード読取方法では、まず
最初に領域決定処理を行う。領域決定処理では、2次元
コードの画像を得ると共に、画像を走査し画像中の2次
元コード領域を決定する。元の2次元コードは長方形形
状(正方形形状を含む)であり、そのため、斜めに読み
取られた場合を含め、画像中の2次元コード領域は四角
形形状をしている。したがって、ここでは、画像中の四
辺形の2次元コード領域を決定する。例えば、画像中の
2次元コード領域は、4つの頂点で決定されるという具
合である。
【0019】続けて検査線設定処理を行う。検査線設定
処理は、2次元コード領域の境界を示す4辺のうちの2
組の対向する辺間を結ぶ検査線を設定する処理である。
上述したように2次元コード領域は四辺形をしており、
2組の対向する辺にて示される。したがって、各セルが
2方向に配列されているため、この配列方向に合わせた
検査線、すなわち2組の対向する辺間を結ぶ検査線を設
定する。
【0020】さらに続けてデコード処理を行う。デコー
ド処理は、設定された検査線に基づいて2次元コードの
情報を読み取る処理である。すなわち、検査線の交点
(検査線と辺との交点を含むこともある)をセル位置と
してセルの種類を読み取ることによって2次元コードを
読み取る。
【0021】このような基本手順によって、2次元コー
ドが読み取られることになるのであるが、本発明の2次
元コード読取方法においては、上述の検査線設定処理を
工夫した。これについて説明する。従来技術として上述
したように、従来の検査線の設定手法として、対向する
辺の一方の辺に対して各検査線がなす角度を求めて検査
線を設定する技術が提案されている。
【0022】これに対して、本発明の検査線設定処理
は、各検査線がなす傾きを求めて検査線を設定する点を
特徴としており、三角関数を用いた角度計算を行わな
い。つまり、各検査線毎に角度計算を強いられる従来の
手法と比較して、検査線の設定に要する時間を大幅に短
縮することができるのである。
【0023】この検査線設定処理は、次の手順(1)〜
(5)によって実行されるものである。 (1)検査線設定対象の辺方向における前記セルの配列
位置を示す特定パターンに基づき、所定セルの中心位置
である基準位置を算出すると共に、前記検査線設定対象
の辺に隣接する2辺の傾きを算出する。 (2)前記隣接する2辺のうちの一方の辺である特定辺
の傾きに対応する角度を当該特定辺に対向する辺の傾き
に対応する角度から減じた角度に対応する傾きを、前記
隣接する2辺の傾きの差分値として、角度計算を行うこ
となく前記隣接する2辺の傾きを用いて算出する。 (3)前記基準位置に基づいて前記隣接する2辺の傾き
の差分値から各基準位置における配分値を算出する。 (4)前記配分値に対応する角度と前記特定辺の傾きに
対応する角度とを加えた角度に対応する傾きを、前記各
基準位置に対応する傾きとして、角度計算を行うことな
く前記配分値及び前記特定辺の傾きを用いて算出する。 (5)前記各基準位置を通って当該基準位置に対応する
傾きを有する検査線を設定する。
【0024】この手順(1)〜(5)を具体例を参照し
て説明し、従来のように検査線毎に角度計算を行う方法
に比べて検査線設定に要する時間が短縮されることを説
明する。まず(1)では、セルの配列位置を示す特定パ
ターンに基づき、所定セルの中心位置である基準位置を
算出する。ここで特定パターンとは、タイミングセルや
位置決め用シンボル等をいう。タイミングセルは明
(白)と暗(黒)のセルが交互に配列されたものであ
り、このタイミングセルによってセル配列位置が示され
る。また、位置決め用シンボルとは、例えばQRコード
であれば、図9に示したような、走査方向に対して周波
数成分比の等しくなるパターンである。この位置決め用
シンボルは、QRコードであれば例えば7セル分に対応
するという取り決めがあるため、この位置決め用シンボ
ルによってもセル配列位置が示される。
【0025】具体的に各種コードにおける特定パターン
について言えば、例えばデータコードでは、対向する2
辺のうちの一辺がタイミングセルであり、このタイミン
グセルがセル配列位置を示す特定パターンとなってい
る。また、ベリコードやCPコードでは、対向する2辺
のうちの一辺のすぐ内側にタイミングセルがあり、この
タイミングセルが、セル配列位置を示す特定パターンと
なっている。さらに、QRコードでは、対向する辺のう
ちの一辺の近傍に位置決め用シンボル及びタイミングセ
ルがあり(図9参照)、位置決め用シンボル及びタイミ
ングセルがセル配列位置を示す特定パターンとなってい
る。
【0026】このようなセル配列位置を示す特定パター
ンには、元の2次元コードの縦方向のセル配列位置を示
すものと横方向のセル配列位置を示すものが含まれる。
したがって、手順(1)では、検査線設定対象の辺方向
における特定パターンに基づいて、所定セルの中心位置
である基準位置を算出する。例えば、検査線の設定対象
となる辺方向に特定パターンとしてのタイミングセルが
あるときは、タイミングセルを構成する明(白)又は暗
(黒)の各セルの中心位置を計算によって求めるという
具合である。
【0027】なお、ここで算出される基準位置は、2次
元コード領域の辺上にあるとは限られない。例えば図9
(a)のようなQRコードであれば、記号G,Hで示し
たセル配列位置のうち検査線設定対象の辺方向における
セル配列位置の全てのセルの中心位置が基準位置として
設定されるという具合である。
【0028】また、手順(1)では、基準位置の算出と
共に、検査線の設定対象となる辺に隣接する2辺の傾き
を算出する。ここで「傾き」は、所定の座標系に対して
定義されるものである。例えば図6は、画像中の2次元
コード領域ABCDを示している。ここで対向する2辺
AB,DC間に検査線を設定する場合を考える。このと
き検査線の設定対象となる辺はAB,DCであり、この
辺AB,DCに隣接する2辺、すなわち辺AD、辺BC
の傾きを求める。具体的に、辺ABの傾きα0は次の式
1にて示され、辺BCの傾きαn は式2にて示される。
【0029】 α0 =(y4 −y1 )/(x4 −x1 ) …式1 αn =(y3 −y2 )/(x3 −x2 ) …式2 なお、2次元コード領域ABCDは、画像を画素の配列
方向に走査して決定されるため、2次元コード領域が4
つの頂点A,B,C,Dの座標値で決定される場合、例
えば、主走査方向及び副走査方向で定義される、画素を
単位とする座標系が用いられる。
【0030】そこで、請求項2に示すように、検査線設
定処理中の「傾き」を、画像を構成する画素の配列方向
である主走査方向及び副走査方向で定義される座標系に
おける傾きとすることが考えられる。例えば図6で言え
ば、x軸を主走査方向とし、y軸を副走査方向とすると
いう具合である。このようにすれば、4つの頂点A,
B,C,Dの座標値から簡単に「傾き」を計算すること
ができるという点で有利である。
【0031】次に手順(2)では、手順(1)にて求め
た傾きの差分値を算出する。この差分値は、隣接する2
辺のうちの一方の辺である特定辺の傾きに対応する角度
を当該特定辺に対向する辺の傾きに対応する角度から減
じた角度に対応する傾きである。ここで「傾きに対応す
る角度」及び「角度に対応する傾き」とあるのは、傾き
αと角度θが、α=tanθの関係にあることをいう。
【0032】例えば図6において、特定辺ADの傾きα
0 に対応する角度、特定辺に対向する辺BCの傾きαn
に対応する角度は、それぞれ次の式3、式4で関係づけ
られる角度θ0 ,θn をいう。 α0 =tan(θ0 ) …式3 αn =tan(θn ) …式4 そして、角度θ0 を角度θn から減じた角度(θn −θ
0 )に対応する傾きである差分値αn −α0 は、次の式
5に示す如くである。
【0033】 αn (−)α0 =tan(θn −θ0 ) …式5 なお、ここでいう傾きの差分値が通常の算術計算と異な
る計算によって算出されることを示すために、「−」に
代えて「(−)」を用いた。そして、この差分値は、角
度計算を行うことなく隣接する2辺の傾きを用いて算出
する。計算方法の一例を以下に示す。
【0034】まず、上記式1で定義される傾きα0 及び
式2で示されるαn を、便宜上、次の式6,7とおく。 α0 =Δy1 /Δx1 …式6 αn =Δy2 /Δx2 …式7 式6及び式7を用いれば、上記式3〜5は、幾何学的に
図7(a)の如く示すことができる。図7(a)から明
らかなように差分値αn (−)α0 はΔy3 /Δx3
ある。差分値Δy3 /Δx3 を求めるためには、図7
(a)における点Uの座標値(ベクトルOU)を求めれ
ばよい。
【0035】求めるベクトルOUは、次の式8に示す如
くである。
【0036】
【数1】
【0037】式8中のベクトルOTは、次の式9で示さ
れる。
【0038】
【数2】
【0039】ここでベクトルOS=(Δx2 ,Δy2
であるから、ベクトルOTは次の式10で求められる。
【0040】
【数3】
【0041】一方、ベクトルTUは、ベクトルOSに直
交し線分OSから点Uの側へ向かうベクトルをaとすれ
ば、ベクトルTUは次の式11で示される。
【0042】
【数4】
【0043】ここでベクトルa=(Δy2 ,−Δx2
であるから、ベクトルTUは、次の式12で求められ
る。
【0044】
【数5】
【0045】したがって、求めるべき点Uの座標値(ベ
クトルOU)は、次の式13にて計算できる。
【0046】
【数6】
【0047】つまり、差分値αn (−)α0 は、次の式
14によって算出できるのである。
【0048】
【数7】
【0049】以上の計算方法は一具体例であるが、他の
計算方法も可能なので図7(b)を参照して以下に説明
する。ここで説明する手法は、図形の相似を巧みに利用
するものである。図7(b)に示すように、原点Oから
Y軸方向にΔx1 だけ離れた点Yt を設定する。この点
t を通りx軸に平行な直線を引き、線分OSとの交点
を点T’とする。さらに点T’からx軸方向にΔy1
け離れた点Xu を設定し、この点Xu を通りy軸に平行
な直線を引く。そして、この直線と、点T’を通り線分
OSに垂直な直線との交点を点U’とする。この点U’
の座標値を(Δx3 ’,Δy3 ’)とすれば、求めるべ
き差分値αn (−)α0 は、Δy3 ’/Δx3 ’であ
る。
【0050】このとき、点T’の座標値は(Δx2 ×Δ
1 /Δy2 ,Δx1 )である。したがって、Δx3
=Δx2 ×Δx1 /Δy2 +Δy1 となる。また、点X
u と点U’の距離は、Δx2 ×Δy1 /Δy2 である。
したがって、Δy3 ’=Δx 1 −Δx2 ×Δy1 /Δy
2 となる。
【0051】当然であるが、差分値αn (−)α0 は、
上記式14の如くとなる。上述した図7(a)では、線
分OS上に原点からΔx1 だけ離れた点Tを設定し、線
分OSからの点Tを通る垂線を引き、この垂線上に点T
からΔy1 だけ離れた点Uを設定した。これに対して、
ここではy軸方向、x軸方向にそれぞれΔx1 、Δy1
の距離を計っている。このようにしてよいのは、三角形
T’OYtと三角形U’T’Xu とが相似形となるから
である。
【0052】なお、図7(b)を用いて上述した例で
は、線分OSが第一象限にあったが、第二象限、第三象
限、第四象限にある場合も同様に点T’及び点U’を設
定して計算すればよい。第二象限に線分OSがあれば、
−x軸方向に点T’を設定し、y軸方向に点U’を設定
すればよい。同様に、第三象限にあれば、−y軸方向に
点T’を設定し、−x軸方向に点U’を設定すればよ
く、第四象限にあれば、x軸方向に点T’を設定し、−
y軸方向に点U’を設定すればよい。
【0053】以上説明したように、差分値を角度計算を
行うことなく隣接する2辺の傾きを用いて計算する。次
に手順(3)では、基準位置に基づいて傾きの差分値か
ら各基準位置における配分値を算出する。具体的には、
請求項3に示したように、基準位置の数に基づいて傾き
の差分値を比例配分して算出することが考えられる。例
えば図6において、辺AB上に(頂点A,B上を含む)
基準位置が(n+1)個ある場合に、特定辺ADに近い
側からk(k=0,1,2,・・・,n、以下同じ)番
目の基準位置における配分値Hk を次の式15によって
算出するという具合である。
【0054】
【数8】
【0055】このように基準位置の数に基づいて傾きの
差分値を按分すれば、極めて計算が簡単になる。なお、
図6において、2次元コード領域ABCDは歪んでいる
ため、各基準位置が辺AB上に等間隔に並んでいること
は保障されない。そこで、図8に示すように辺ADに近
い側からk番目にある基準位置をKとすれば、配分値H
k を次の式16によって算出することも考えられる。
【0056】
【数9】
【0057】この式16では、辺ABと線分AKとの比
率のみが問題となるため、図8に示すように頂点A、基
準位置K、頂点Bからx軸への垂線を下ろしx軸との交
点をそれぞれA’,K’,B’とすれば、次の式17に
よって算出することもできる。
【0058】
【数10】
【0059】このとき、x軸及びy軸を走査方向とすれ
ば、式17に示される計算式中のA’K’,A’B’
は、式16に示される計算式中のAK,ABと比べて、
簡単に求められることになる。手順(4)では、配分値
に対応する角度と特定辺の傾きに対応する角度とを加え
た角度に対応する傾きを、各基準位置に対応する傾きと
して、角度計算を行うことなく配分値及び特定辺の傾き
を用いて算出する。ここで配分値Hk に対応する角度と
は、上述した手順(2)と同様に、次の式18で対応付
けられる角度θ k をいう。
【0060】 Hk =tan(θk ) …式18 したがって、ここでは一方の辺ABの傾きα0 に対応す
る角度θ0 と配分値H k に対応する角度θk を足した角
度(θ0 +θk )に対応する傾きを、各基準位置に対応
する傾きとして算出する。この傾きαk は、次の式19
に示す如くである。
【0061】 αk =α0 (+)Hk =tan(θ0 +θk ) …式19 なお、通常の算術計算と異なることを示すために、
「+」に代えて「(+)」を用いた。この計算は、上述
した手順(2)と同様に、角度計算を行うことなく配分
値Hk と傾きα0 とを用いて計算する。
【0062】そして、手順(5)において、各基準位置
を通って当該基準位置に対応する傾きを有する検査線を
設定する。すなわち、特定辺ABに近い側からk番目の
基準位置では、αk の傾きを有する検査線を設定する。
すなわち、配分値Hk を式15により算出することとす
れば、式15及び式19から分かるように、手順(1)
〜(5)では、k番目の基準位置の傾きαk を次の式2
0にて算出することになる。
【0063】
【数11】
【0064】この式20から分かるように、本発明は、
検査線の設定対象となる辺に隣接する2辺の傾きを求
め、その2辺の傾きの差分値を基準位置に基づいて按分
することによって各検査線の傾きを求めることを特徴と
している。ここで2辺の傾きの差分値を基準位置に基づ
いて按分してもよい理由は、画像中の2次元コード領域
の境界を示す対向する2辺のなす角度、すなわち、図6
中のθn −θ0 が通常の読取操作においては十分に小さ
くなることである。これについて説明を加える。例えば
図9(b)は、斜めに読み取られることによって歪んだ
2次元コード画像を例示するものであるが、このような
説明図では、その歪んだ様子を誇張して表現するために
対向する2辺の角度が大きくなっているが、実際には図
9(b)に示すほど対向する2辺の角度が大きくなって
いるような場合、画像取り込み段階において焦点が合わ
ない等の別の問題が発生する。したがって、CCDセン
サ等を介して正常に取り込まれた画像の歪みにおいて
は、対向する2辺の角度は十分小さくなる。
【0065】例えば、図6で次の式21が成り立つので
ある。 tan(θn −θ0 )≒θn −θ0 …式21 すなわち、式5を用いれば、次の式22が得られる。 αn (−)α0 ≒θn −θ0 …式22 したがって、差分値αn (−)α0 は、角度と同様に按
分してもよい。
【0066】以上詳述したように、本発明の2次元コー
ド読取方法によれば、検査線設定処理において、角度計
算、すなわち三角関数を用いた演算を行うことなく、各
検査線毎の傾きを求めることができるため、従来の角度
を按分する手法に比べ、検査線の設定時間を大幅に短縮
することができる。
【0067】また、上述したように、検査線設定対象の
辺に隣接する2辺のなす角度が十分に小さくなるという
事実に着目し、隣接する2辺の傾きの差分値を按分して
いる。したがって、各基準位置を通り、各基準位置に対
応する傾きを有する検査線を設定すれば、2次元コード
領域のセルの配列位置のずれを従来と同様の精度で求め
ることができる。そのため、このような検査線を2組の
対向する辺に設定すれば、セル位置の2次元的なずれを
求めることができる。
【0068】結果として、取り込まれた2次元コード画
像に歪みが存在する場合であっても、2次元コードを正
確に読み取ると共に2次元コードの解読時間を短縮する
ことができる。また、従来の検査線設定手法では、画像
を構成する画素の配列方向である主走査方向及び副走査
方向に対して傾いている可能性のある辺AB,辺ADに
対する角度を取り扱うことが検査線の設定に要する時間
を大きくする原因の一つともなっている(図10参
照)。その理由は、角度を計算するための距離計算など
が複雑になるからである。例えば図11では、線分A
E,EDの距離計算が複雑になる。
【0069】これに対して、上述したように検査線設定
処理に用いられる「傾き」を、画像を構成する画素の配
列方向である主走査方向及び副走査方向で定義される座
標系における傾きとすれば、さらに「傾き」に関する計
算を簡単にすることができ、検査線の設定に要する時間
をより短縮できる。その結果、2次元コードの解読時間
のさらなる短縮に寄与する。
【0070】ところで、2次元コードを正確に読み取る
という観点からは、請求項4に示すように、上述した手
順(5)に代え、次の手順(6)によって検査線設定処
理を実行することが考えられる。手順(6)では、検査
線設定対象の2辺のうち前記基準位置から遠い側の辺に
又は当該辺の近傍に存在するセルのうち検査線設定対象
の辺方向の孤立セルを画像を走査して検出し、当該検出
した孤立セルに基づいて各基準位置に対応する傾きを補
正し、当該各基準位置を通り補正した傾きを有する検査
線を設定する。
【0071】孤立セルについては、実際に画像を走査し
て直接求める。そして、上記手順(1)〜(4)による
手法によって計算上得られる各基準位置に対応する傾き
を、この孤立セルに基づいて補正する。したがって、こ
の補正した傾きで検査線を設定すれば、検査線と実際の
セル配列位置のずれが少なくなり、より正確に2次元コ
ードを読み取ることができる。
【0072】孤立セルとは、セルが縦横2方向に配列さ
れた2次元コードにおいて、縦横いずれか一方の方向に
て異なる種類のセルに挟まれているものをいう。そし
て、手順(6)は、設定しようとする検査線が検査設定
対象の辺方向におけるセル配列位置を特定するものであ
る。したがって、この検査線の傾きを補正するために、
少なくともその方向、すなわち検査線設定対象の辺方向
に孤立する孤立セルを検索する。ただし、検査線設定対
象の辺方向に孤立しているものであれば十分であり、縦
横両方向にて異なる種類のセルに挟まれているものであ
っても差し支えない。
【0073】なお、基準位置から遠い側の辺にある孤立
セルを検出するのは、基準位置と孤立セルとの距離が小
さいと、孤立セルの検出誤差が検査線の傾きに大きく影
響し、基準位置から遠ざかるにつれて却って検査線の示
すセル配列位置と実際のセル配列位置とのずれが大きく
なる可能性があるからである。孤立セルの検出誤差が検
査線の傾きに大きな影響を及ぼさない範囲においては、
辺上の孤立セルだけでなく、その辺の近傍にある孤立セ
ルを用いてもよい。
【0074】さて、孤立セルに基づいて検査線を設定す
る具体的な手法としては、例えば請求項5に示すよう
に、基準位置の配列順に検査線を設定していく場合、基
準位置に対応する孤立セルがある場合には、当該基準位
置に対応する傾きを補正することによって当該孤立セル
の中心位置を通るような検査線を設定し、一方、基準位
置に対応する孤立セルがない場合には、直前に設定され
た検査線の傾きに対する補正量を用いて、当該基準位置
に対応する傾きを補正して検査線を設定することが考え
られる。
【0075】画像上での実際の孤立セルの境界の座標に
基づいて孤立セルの中心位置が求められる。したがっ
て、基準位置に対応する孤立セルがあれば、その基準位
置に対応する傾きを補正することによって、孤立セルの
中心位置を通るような検査線を設定する。基準位置に対
応する孤立セルがなければ、基準位置の配列順に検査線
を設定していくことを前提に、直前に設定された検査線
に対する補正量を用い、その基準位置に対応する傾きを
補正して検査線を設定する。この補正量は、例えば、元
の傾きを有する検査線と補正後の傾きを有する検査線と
の検査線設定対象の辺方向における「ずれ」とすること
が考えられる。
【0076】ところで、以上は2次元コード読取方法の
発明として説明してきたが、上述した請求項1に記載の
2次元コード読取方法を2次元コード読取装置として実
現するには、例えば請求項6に示す構成を採用すること
ができる。請求項6に記載の2次元コード読取装置は、
2進コードで表されるデータをセル化し、当該セルを縦
横2方向に配列した2次元コードを読み取るために用い
られるものである。
【0077】本発明の2次元コード読取装置において、
画像取込手段は、2次元コードを含む所定領域の画像を
取り込む。例えば2次元コードに読取用の光を照射し、
その反射光をCCDセンサにて読み取るという具合であ
る。領域決定手段は、画像取込手段によって取り込まれ
た前記2次元コードを含む画像を走査し、当該画像中の
2次元コードの領域を決定する。例えば、画像データと
して取り込まれた画像を走査し、2次元コードに含まれ
る特定パターンを検出することによって2次元コード領
域を決定する。ここで、特定パターンとは、例えば位置
決め用シンボル、タイミングセル等、2次元コードの領
域やセルの配列位置を示すパターンをいう。位置決め用
シンボルとは、例えばQRコードであれば、図9に示し
たような、走査方向に対して周波数成分比の等しくなる
パターンである。また、ベリコード、CPコードであれ
ば、2次元コードの外周を示す暗(黒)のセルのみから
なる配列をいう。例えば、領域決定手段は、このような
特定パターンを検出し、この特定パターンに基づいて画
像中で2次元コードの領域を決定する。なお、2次元コ
ード領域の決定は、画像を走査して行うものであればよ
く、特定パターンを検出して行うものには限らない。そ
して、元の2次元コードは長方形形状(正方形形状を含
む)のコードであるため、画像中の2次元コードの領域
は、例えば4つの頂点座標によって把握される。
【0078】続いて、検査線設定手段が、領域決定手段
によって決定された2次元コード領域において、当該領
域の境界を示す4辺のうちの2組の対向する辺間を結ぶ
検査線を設定する。そして、セル読み取り手段は、検査
線設定手段によって設定された検査線の交点を求め、当
該検査線の交点をセル位置として、各セルの種類を読み
取る。なお、検査線の交点といった場合、コード種類に
よっては、縦横の検査線同士の交点だけでなく、検査線
と2次元コードの境界辺との交点を含むこともある。
【0079】このような基本機能によって2次元コード
の解読が行われるのであるが、特に本発明の2次元コー
ド読取装置では、上述した検査線設定手段が、検査線設
定処理を実行することによって検査線の設定を行うこと
を特徴とする。検査線設定手段によって実行される検査
線設定処理は、請求項1に記載の2次元コード読取方法
における検査線設定処理と同様のものである。すなわ
ち、本発明の2次元コード読取装置によれば、検査線設
定処理において、角度計算、すなわち三角関数を用いた
演算を行うことなく、各検査線毎の傾きを求めることが
できるため、従来の角度を按分する手法に比べ、検査線
の設定時間を大幅に短縮することができる。また、検査
線設定対象の辺に隣接する2辺のなす角度が十分に小さ
くなるため、隣接する2辺の傾きの差分値を按分して
も、算出される傾きの信頼性は十分に保障される。した
がって、各基準位置を通り、各基準位置に対応する傾き
を有する検査線を設定すれば、2次元コード領域のセル
の配列位置のずれを従来と同様に求めることができる。
このような検査線を2組の対向する辺に設定することに
よって、セル位置の2次元的なずれを求めることができ
る。
【0080】すなわち、本発明の2次元コード読取装置
によれば、取り込まれた2次元コード画像に歪みが存在
する場合であっても、2次元コードを正確に読み取ると
共に2次元コードの解読時間を短縮することができる。
なお、上述した画像取込手段として30万画素程度のC
CDセンサを用いる場合、例えば主走査方向に640画
素からなり、副走査方向に480画素からなる画像デー
タとして2次元コードを読み取ることが考えられる。こ
の場合、主走査方向及び副走査方向にて定義される座標
系を用いれば、「傾き」の計算が簡単になる。さらに、
画素単位に座標値を設定すれば、x軸方向の座標値は
「0」〜「639」となり、y軸方向の座標値は「0」
〜「479」となる。
【0081】このとき、ある直線に対する「傾き」は、
直線上にある2点のx,y軸方向それぞれの座標値の差
分Δx,Δyを用いて(Δy/Δx)として表される。
したがって、傾きの最小値は「0」(Δy=0)であ
り、傾きの最大値は「無限大」(Δx=0)である。そ
のため、装置内では、ΔyのΔxによる除算を実行せ
ず、Δx,Δyの値をそのまま装置内に持つようにす
る。また、「0」、「無限大」以外で傾きの絶対値の最
小値、最大値を考えれば、最小値は「1/639」とな
り、最大値は「479/1」となる。このような「傾
き」を用いた計算を行えば、ディジタル化された有限の
大きさの2次元空間の画像データを簡便に取り扱うこと
ができる。
【0082】また、検査線設定手段の実行する検査線設
定処理は、請求項9又は10に示すように、孤立セルに
基づき基準位置毎に算出された傾きを補正し、この補正
された傾きを有する検査線を設定する処理としてもよい
ことは、上述した請求項4又は5に記載の2次元コード
読取方法における検査線設定処理と同様である。
【0083】すなわち、孤立セルを実際に画像を走査し
て直接求め、上記手順(1)〜(4)による手法によっ
て計算上得られる各基準位置に対応する傾きを、この孤
立セルに基づいて補正し、この補正した傾きで検査線を
設定すれば、検査線と実際のセル配列位置のずれが少な
くなり、より正確に2次元コードを読み取ることができ
る。
【0084】なお、以上説明した2次元コード読取方法
を実行する機能、2次元コード読取装置の各手段をコン
ピュータシステムにて実現する機能は、例えば、コンピ
ュータシステム側で起動するプログラムとして備えられ
る。このようなプログラムの場合、例えば、フロッピー
ディスク、光磁気ディスク、CD−ROM等の記録媒体
に記録し、必要に応じてコンピュータシステムにロード
して起動することにより用いることができる。この他、
ROMやバックアップRAMを記録媒体としてプログラ
ムを記録しておき、このROMあるいはバックアップR
AMをコンピュータシステムに組み込んで用いてもよ
い。
【0085】
【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面を参照して説明する。なお、本発明は、後述
する実施形態に何ら限定されるものではなく、本発明の
技術的範囲に属する限り種々の形態を採り得ることはい
うまでもない。
【0086】図1は、実施形態の2次元コード読取装置
1の概略構成を示すブロック図である。本実施形態の2
次元コード読取装置1は、制御回路10と、照明発光ダ
イオード(照明LED)11と、CCDエリアセンサ1
2と、増幅回路13と、2値化回路14と、特定比検出
回路15と、同期パルス発生回路16と、アドレス発生
回路17と、画像メモリ20と、スイッチ群31と、液
晶表示器32と、通信I/F回路33とを備えている。
【0087】制御回路10は、CPU、ROM、RA
M、I/O等を備えたコンピュータシステムとして構成
され、ROMに記憶されているプログラムに従って後述
する読取処理等を実行し、2次元コード読取装置1の各
構成を制御している。照明LED11は、読取対象の2
次元コードに対して照明用の赤色光を照射するものであ
る。
【0088】CCDエリアセンサ12は、2次元的に配
列された複数の受光素子であるCCDを有しており、外
界を撮像してその2次元画像を水平方向の走査線信号と
して出力する。この走査線信号は増幅回路13によって
増幅されて2値化回路14に出力される。
【0089】増幅回路13は、制御回路10から入力し
たゲインコントロール電圧に対応する増幅率で、CCD
エリアセンサ12から出力された走査線信号を増幅す
る。2値化回路14は、増幅回路13にて増幅された走
査線信号を、閾値に基づいて2値化し、特定比検出回路
15及び画像メモリ20に出力する。
【0090】特定比検出回路15は、2値化回路14に
て2値化された走査線信号の内から所定の周波数成分比
を検出し、その検出結果を画像メモリ20に出力する。
また、2値化回路14から出力される2値データは、画
像メモリ20に画像データとして記憶される。
【0091】CCDエリアセンサ12では繰り返し画像
を検出するので、その検出が繰り返される度に、画像メ
モリ20内の画像データである2値データは更新され
る。同期パルス出力回路16は、CCDエリアセンサ1
2から出力される2次元画像データのパルスより十分に
細かい同期パルスを出力する。アドレス発生回路17は
この同期パルスをカウントして、画像メモリ20の画像
データ記憶領域に対するアドレスを発生させる。画像デ
ータである2値データは、アドレス毎に8ビット単位で
書き込まれる。
【0092】一方、特定比検出回路15は、2値化回路
14からの信号における「1」から「0」への変化ある
いは「0」から「1」への変化を検出し、ある変化点か
ら次の変化点までの間に、同期パルス出力回路16から
出力された同期パルスをカウントすることにより、2次
元画像の中の明(白)の連続する長さ及び暗(黒)の連
続する長さを求める。この長さの比から、読取対象の2
次元コードが持つ特定のパターンに対応する比を検出す
る。
【0093】スイッチ群31は、利用者が読取処理の開
始を指示するための読取スイッチや、テンキーあるいは
各種ファンクションキーを備えており、情報入力のため
に用いられる。液晶表示器32は、例えば2階調表示の
LCDとして構成されており、読み込んだ光学情報など
を表示するためなどに用いられる。
【0094】通信I/F回路33は、図示しない外部装
置との間で通信を行うものであり、図示しない通信用発
光素子を介してデータを外部装置に送信したり、図示し
ない通信用受光素子を介して外部装置からの信号(例え
ばシステムを動かすためのプログラムや送信を待機する
命令等)を受信する。
【0095】このような構成を備えた本実施形態の2次
元コード読取装置1は、CCDエリアセンサ12から出
力される走査線信号を増幅回路13によって増幅し、そ
の増幅された走査線信号を2値化回路14によって画像
データである2値データに変換して画像メモリ20に記
憶する。そして、このように画像メモリ20に記憶され
た画像データである2値データに基づいて、制御回路1
0は、2次元コードの読取処理を行う。なお、本実施形
態では、画像データとして2値データを用いているが、
多値データを用いても差し支えない。
【0096】次に、図2及び図3のフローチャートに基
づいて、制御回路10によって実行される2次元コード
の読取処理を説明する。なお、この読取処理は、セルが
縦横2方向に配置された2次元コードを対象とする。こ
のような2次元コードとして、QRコード、データコー
ド、ベリコード、CPコード等が挙げられる。
【0097】まず最初のステップS100において、2
次元コードに特定パターンが有るか否かを判断する。こ
こで特定パターンとは、位置決め用シンボル及びタイミ
ングセルをいう。例えばQRコードにおける位置決め用
シンボルは、明部(白)又は暗部(黒)の連続する長さ
の比率が、走査方向によらず1(暗):1(明):3
(暗):1(明):1(暗)となっている。このような
明部(白)と暗部(黒)の所定の比率は、上述した特定
比検出回路15によって検出される。したがって、QR
コードの位置決め用シンボルがあるか否かは、画像メモ
リ20に記憶された特定比検出回路15の出力結果に基
づいて判断される。なお、明部とは、明(白)のセルに
よって構成される領域であり、暗部とは、暗(黒)のセ
ルによって構成される領域をいう。
【0098】また例えばデータコード等では、四角形形
状の2次元コード領域の4辺のうちの隣接する2辺が位
置決め用シンボルで構成されており、この位置決め用シ
ンボルは、暗(黒)のセルのみからなる配列である。こ
の場合、このセル配列は走査方向に対して傾きを持つこ
とも考えられるため、このようなセル配列の位置決め用
シンボルが有るか否かは、画像メモリ20に記憶された
画像データに基づいて判断される。
【0099】タイミングパターンは、明(白)と暗
(黒)のセルが交互に配列されたものであり、このタイ
ミングセルも走査方向に対して傾きを持つことが考えら
れるため、タイミングセルが有るか否かは、画像メモリ
20に記憶された画像データに基づいて判断される。
【0100】ここで特定パターンが有ると判断された場
合(S100:YES)、S110へ移行する。一方、
特定パターンがないと判断された場合(S100:N
O)、本読取処理を終了する。S110では、検出され
た特定パターンに基づいて、コードの種類を判別する。
続くS120では、S110で判断されたコードの種類
と、特定パターンとに基づいて、2次元コード領域の3
頂点の座標を算出する。読取対象の2次元コードは、長
方形形状(正方形形状を含む)であるため、画像メモリ
20に取り込まれた2次元コードは、斜めに読み取られ
て歪んだ場合であっても、四辺形の領域となる。そこで
まず、特定パターンに基づいて3頂点の座標を算出す
る。ここで座標というのは、CCDエリアセンサ12の
CCDの配列方向のうち水平方向を主走査方向とし、垂
直方向を副走査方向とする場合、この主走査方向及び副
走査方向にて定義される座標値である。すなわち、画像
を構成する画素の配列方向の座標値であり、画素単位に
座標値が設定されているものとする。例えばCCDエリ
アセンサ12が主走査方向に640、副走査方向に48
0という30万程度のCCDを有するものであれば、主
走査方向の座標値は「0」〜「639」の整数値とし
て、副走査方向の座標値は「0」〜「479」の整数値
としてディジタル化されて表現されることになる。
【0101】続いてS130では、3頂点の座標と、画
像メモリ20に記憶された画像データとから4番目の頂
点の座標を算出し、その後、図3中のS150へ移行す
る。図3中のS150では、検査線設定処理を行う。こ
の処理は、2次元コード領域の境界を示す4辺のうちで
2組の対向する辺間を結ぶ検査線を設定するものであ
る。この検査線設定処理については後述する。
【0102】続くS160では、設定された検査線の交
点をセル位置として、各セルの種類を読み取る。各セル
の種類は、明(白)又は暗(黒)である。ここでは、各
セルが明(白)であるか、暗(黒)であるかを判別す
る。このようにして各セルの種類が読み取られると、S
170にて、明を「1」、暗を「0」としてデータビッ
ト列を作成する。続くS180では、作成したデータビ
ット列の誤りを検査し、次のS190にて、誤りがある
か否かを判断する。ここで誤りがあると判断された場合
(S190:YES)、S200にて誤り訂正を行い、
その後、本読取処理を終了する。一方、誤りがないと判
断された場合(S190:NO)、S200の処理を実
行せず、本読取処理を終了する。
【0103】以上説明した読取処理において、本実施形
態では、特に上述したS150の検査線設定処理にその
特徴部分を有している。従来技術として上述したよう
に、従来の検査線の設定手法として、対向する辺の一方
の辺に対して各検査線がなす角度を求めて検査線を設定
する技術が提案されている。
【0104】これに対して、本発明の検査線設定処理
は、各検査線がなす傾きを求めて検査線を設定する点を
特徴としており、三角関数を用いた角度計算を行わな
い。つまり、各検査線毎に角度計算を強いられる従来の
手法と比較して、検査線の設定に要する時間を大幅に短
縮することができるのである。
【0105】そこで次に、この特徴的な処理であるS1
50の検査線設定処理を、図4のフローチャートに基づ
いて説明する。まず最初のステップS300において、
セル配列位置を示す特定パターンを走査する。セル配列
位置を示す特定パターンは、一般的に対向する辺の一方
の辺自体に又は辺の近傍にタイミングセル等のセル配列
位置を示す特定パターンがある。例えば、データコード
であれば、2組の対向する辺のうちの一辺がタイミング
セルであり、このタイミングセルがセル配列位置を示す
特定パターンとなっている。また、ベリコードやCPコ
ードであれば、対向する辺のうちの一辺のすぐ内側にタ
イミングセルがあり、このタイミングセルが、セル配列
位置を示す特定パターンとなっている。さらに、QRコ
ードであれば、対向する辺のうちの一辺の近傍に位置決
め用シンボル及びタイミングセルがあり(図9参照)、
位置決め用シンボル及びタイミングセルがセル配列位置
を示す特定パターンとなっている。
【0106】続くS310では、この特定パターンに基
づき、また、判別されたコード種類(図2中のS11
0)に基づいて、所定セルの中心位置を算出する。例え
ば、上述した特定パターンがタイミングセルであるとき
は、各タイミングセルの明部(白)及び暗部(黒)の中
心位置を計算によって求めるという具合である。
【0107】続いてS320では、検査線設定対象の辺
に隣接する2辺の傾きを算出する。この「傾き」は、C
CDエリアセンサ12の主走査方向及び副走査方向にて
定義される座標系に対するものである。なお、以下各ス
テップの説明においては、その説明に対する理解を容易
にするため、図6を参照しつつ具体的な説明を加えるこ
ととする。また、上述した数式を適宜引用して説明す
る。図6は、画像中の2次元コード領域ABCDを示し
ている。ここで対向する2辺AB,DC間に検査線を設
定する場合を考える。ここで図6に示すx軸がCCDエ
リアセンサ12の主走査方向に対応し、y軸がCCDエ
リアセンサ12の副走査方向に対応する。
【0108】このとき検査線の設定対象となる辺はA
B,DCであり、この辺AB,DCに隣接する2辺、す
なわち辺AD、辺BCの傾きを求める。具体的に、辺A
Bの傾きは上述した式1及び式2にて示される。本実施
形態では、このようにCCDエリアセンサ12の走査方
向にて定義される座標系に対する傾きを算出するため、
2次元コード領域の4つの頂点A,B,C,Dの座標値
をそのまま用いて傾きを計算することができる。
【0109】S320に続くS330では、S320に
て求めた隣接2辺の傾きの差分値を算出する。図6の例
で言えば、差分値として、特定辺ABの傾きα0 に対応
する角度θ0 を特定辺ABに対向する辺BCの傾きαn
に対応する角度θn から減じた角度(θn −θ0 )に対
応する傾きを算出する。ここで、特定辺ADの傾きα 0
に対応する角度、特定辺に対向する辺BCの傾きαn
対応する角度は、それぞれ上記式3及び式4で関係付け
られる角度θ0 ,θn をいう。
【0110】したがって、差分値αn (−)α0 は、上
記式5に示す如くとなる。ここで、この差分値の計算方
法の一例を以下に示す。まず、傾きα0 ,αn を、便宜
上、上記式6及び式7とおく。このようにおけば、上記
式3〜7の関係は、幾何学的に図7(a)の如く示され
る。図7(a)から明らかなように差分値αn (−)α
0 はΔy3 /Δx3 である。すなわち、差分値Δy3
Δx3 を求めるためには、点Uの座標値(ベクトルO
U)を求めればよい。
【0111】図7(a)に示される各ベクトル、ベクト
ルOU、ベクトルOT、ベクトルTUは、上述した式8
〜12の如くであるため、点Uの座標値(ベクトルO
U)は、上記式13のように示される。つまり、差分値
αn (−)α0 は、上記式14によって算出できる。
【0112】以上の計算方法は一具体例であるが、この
ように、角度計算を行うことなく隣接する2辺の傾きを
用いて差分値を計算する。この差分値を計算した後、S
340では、基準位置に基づいて、傾きの差分値から各
基準位置における配分値を算出する。本実施形態では、
S310で算出した基準位置の数に基づいて傾きの差分
値を比例配分して算出する。例えば図6において、辺A
B上に(頂点A,B上を含む)基準位置が(n+1)個
ある場合に、特定辺ADに近い側からk(k=0,1,
2,・・・,n)番目の基準位置における配分値Hk
上記式15によって算出する。
【0113】このように基準位置の数に基づいて傾きの
差分値を按分すれば、極めて計算が簡単になる。なお、
別の手法を用いることも考えられる。図6において、2
次元コード領域ABCDは歪んでいるため、各基準位置
が辺AB上に等間隔に並んでいることは保障されない。
そこで、図8に示すように辺ADに近い側からk番目に
ある基準位置をKとすれば、配分値Hk を上記式16に
より算出することも考えられる。
【0114】また、上記式16においては辺ABと線分
AKとの比率のみが問題となるため、図8に示すように
頂点A、基準位置K、頂点Bからx軸への垂線を下ろし
x軸との交点をそれぞれA’,K’,B’とすれば、上
記式17によって算出することもできる。
【0115】このようにすれば、式17に示される計算
式中のA’K’,A’B’は、式16に示される計算式
中のAK,ABと比べ、簡単に求められることになる。
続くS350では、各基準位置に対応する傾きを算出す
る。ここでは、配分値に対応する角度と特定辺の傾きに
対応する角度とを加えた角度に対応する傾きを、各基準
位置に対応する傾きとして、角度計算を行うことなく配
分値及び特定辺の傾きを用いて算出する。ここで配分値
k に対応する角度とは、上述したS330と同様に、
上記式18で対応付けられる角度θk をいう。
【0116】したがって、ここでは特定辺ABの傾きα
0 に対応する角度θ0 と配分値Hkに対応する角度θk
を足した角度(θ0 +θk )に対応する傾きを、各基準
位置に対応する傾きとして算出する。傾きαk は、上記
式19に示す如くとなる。なお、通常の算術計算と異な
ることを示すために、「+」に代えて「(+)」を用い
た。この計算は、S330と同様に、角度計算を行うこ
となく配分値Hkと傾きα0 とを用いて計算する。
【0117】そして、続くS360において、補正設定
処理を実行する。この補正設定処理は、S350にて算
出した傾きを補正し、補正した傾きを有する検査線を設
定するものである。この処理については後述する。続く
S370では、2組の対向する辺間に検査線を設定した
か否かを判断する。ここで1組の辺間にしか検査線を設
定していない場合(S370:NO)、他の対向する辺
間にも検査線を設定するために、S300からの処理を
繰り返す。一方、2組の辺間に検査線を設定した場合
(S370:YES)、本検査線設定処理を終了する。
【0118】このように本実施形態の2次元コード読取
装置1によれば、検査線設定処理において、角度計算、
すなわち三角関数を用いた演算を行うことなく、各検査
線毎の傾きを求めることができるため、従来の角度を按
分する手法に比べ、検査線の設定時間を大幅に短縮する
ことができる。
【0119】続いて図5に示したフローチャートに基づ
いて、図4中のS360の補正設定処理を説明する。こ
の処理は、各基準位置の配列順に検査線を設定していく
ものであり、図4中のS350にて、各基準位置に対応
して算出された傾きを補正し、補正した傾きを有する検
査線を設定していくものである。
【0120】まず最初のS400において、図4中のS
310にて算出した基準位置から遠い側の辺上のセルで
あって、少なくともその辺方向において異なる種類のセ
ルに挟まれた孤立セルを検出する。ここで孤立セルと
は、図12に示す如く、元の2次元コードにおいて上下
あるいは左右の両セルとは種類が異なるセルを意味して
いる。図12(a)では、セルp11自身は白であるが
左右の両セルが黒であることからx方向(横方向)での
孤立セルである。図12(b)の場合は、セルp12自
身は黒であるが上下の両セルが白であることから、y方
向(縦方向)での孤立セルである。また、図12(c)
の場合は、セルp13自身は白であるが、上下及び左右
の4つのセルが黒であることから、x方向(横方向)と
y方向(縦方向)との両方向での孤立セルである。
【0121】この孤立セルの検出は、画像データを走査
して行われる。すなわち、その辺上を走査すれば、その
辺方向における孤立セルの境界を容易に特定することが
できる。したがって、ここでは、画像データから実際の
孤立セルの中心位置を座標値として算出すると共にその
孤立セルがどの基準位置に対応するものであるかを求め
る。なお、画像データから得られた中心の座標値を以下
「実座標値」ということとする。
【0122】続くS410では、傾きの補正量を初期化
して「0」とする。次にS420では、基準位置に対応
して算出された傾きを、設定された補正量を用いて補正
し、その基準位置を通り、補正した傾きを有する仮検査
線を仮定する。
【0123】そして、S430では、この基準位置に対
応する孤立セルがあるか否かを判断する。基準位置に対
応する孤立セルがある場合(S430:YES)、S4
40へ移行する。一方、基準位置に対応する孤立セルが
ない場合(S430:NO)、S470へ移行する。
【0124】対応する孤立セルがある場合に移行するS
440では、仮検査線に基づいて計算にて孤立セルの中
心位置、すなわち中心の座標値を算出する。続くS45
0では、S440にて計算上算出された孤立セルの中心
の座標値と実座標値との差を算出し、この差を新たな補
正量とする。さらに続けてS460では、この新たな補
正量に基づき傾きを補正することによって、孤立セルの
中心座標を通る検査線を設定し、その後、S480へ移
行する。
【0125】一方、対応する孤立セルがない場合に移行
するS470では、S420にて仮定した仮検査線を検
査線として設定し、その後、S480へ移行する。S4
80では、次の基準位置があるか否かを判断する。この
処理は、基準位置の配列順に検査線を設定していく際、
未だ検査線の設定されていない基準位置があるか否かを
判断するものである。ここで次の基準位置があると判断
された場合(S480:YES)、S420からの処理
を繰り返す。一方、次の基準位置がないと判断された場
合(S480:NO)、本補正設定処理を終了する。
【0126】次に、本実施形態の2次元コード読取装置
1が発揮する効果を説明する。本実施形態の2次元コー
ド読取装置1によって実行される検査線設定処理は、該
当する2辺の傾きを按分することによって各基準位置に
対する検査線の傾きを算出して検査線を設定する。つま
り、「傾き」という量を巧みに利用することによって、
従来のような検査線毎の角度計算、すなわち計算時間の
大きくなる三角関数を用いた演算をなくしたのである。
その結果、各検査線毎に角度計算を強いられる従来の手
法と比較して、検査線の設定に要する時間を大幅に短縮
することができる。
【0127】また、従来の手法において取り扱われる角
度は、走査方向にて定義される座標系に対し平行となら
ない可能性のある2次元コード領域の辺に対して定義さ
れていた(図10参照)。これに対して、本実施形態で
は、検査線設定処理中で取り扱う「傾き」を、走査方向
にて定義された座標系における傾きとして算出する。し
たがって、傾きの算出計算が極めて簡単になり、検査線
設定に要する時間の短縮に寄与する。
【0128】さらにまた、本実施形態では、計算精度と
いう観点から言えば、従来の手法と比較して、隣接する
2辺の傾きの差分値を按分している点で異なっている。
ただし、検査線設定対象の辺に隣接する2辺のなす角度
が十分に小さくなるという事実に基づけば、このような
手法を採用した場合にも、2次元コード領域のセルの配
列位置のずれを従来と同様の精度をもって求めることが
できる。そのため、このような手法をもって検査線を2
組の対向する辺に設定すれば、セル位置の2次元的なず
れを求めることができる。
【0129】加えて、本実施形態では、孤立セルを検出
し、この孤立セルに基づいて各基準位置に対応する傾き
を算出し検査線を設定する。孤立セルについては実際に
画像を走査して直接求め、計算上得られる各基準位置に
対応する傾きを、この孤立セルに基づいて補正する。し
たがって、この補正した傾きで検査線を設定すれば、検
査線と実際のセル配列位置のずれが少なくなり、より正
確に2次元コードを読み取ることができる。なお、図1
2に示した孤立セルは、実際には、2次元コード中に極
めて多数存在し、また、孤立セルが多数存在するように
マスキング処理をかけることもできるので、孤立セルの
出現間隔は非常に短く、孤立セルに基づく検査線の補正
処理により極めて精度の高いセル位置を決定することが
できる。
【0130】結果として、取り込まれた2次元コード画
像に歪みが存在する場合であっても、2次元コードを正
確に読み取ると共に2次元コードの解読時間を短縮する
ことができる。なお、本実施形態において、CCDエリ
アセンサ12が「画像取込手段」に相当し、制御回路1
0が「領域決定手段」、「検査線設定手段」及び「セル
読み取り手段」に相当する。そして、図2中のS120
及びS130の処理が領域決定手段としての処理に相当
し、S160の処理がセル読み取り手段としての処理に
相当する。また、図2中のS150の処理、すなわち図
4に示す検査線設定処理が検査線設定手段の実行する検
査線設定処理に相当する。
【0131】以上、本発明はこのような実施形態に何等
限定されるものではなく、本発明の主旨を逸脱しない範
囲において種々なる形態で実施し得る。例えば、上記実
施形態では、上述した図5中のS400にて、基準位置
から遠い側の辺にある孤立セルを検出している。その理
由は、基準位置と孤立セルとの距離が小さいと、孤立セ
ルの検出誤差が検査線の傾きに大きく影響し、基準位置
から遠ざかるにつれ、却って検査線の示すセル配列位置
と実際のセル配列位置とのずれが大きくなる可能性があ
るからである。逆に考えれば、孤立セルの検出誤差が検
査線の傾きに大きな影響を及ぼさない範囲においては、
辺上の孤立セルだけでなく、その辺の近傍にある孤立セ
ルを用いてもよい。
【0132】また、上記実施形態では、セル位置をより
正確に算出できるように画像処理を行い孤立セルに基づ
いて各基準位置に対応して算出された傾きを補正し、こ
の補正した傾きで検査線を設定していたが、2次元コー
ドの解読時間を短縮するという観点からは、S360の
処理を実行せず、S350にて算出した傾きをそのまま
用いて検査線を設定することも考えられる。この場合、
セル位置の正確さは若干失われる可能性があるが、孤立
セルを検出するための画像処理に要する時間がさらに短
縮されるため、検査線設定処理に要する時間が短縮さ
れ、その結果、2次元コードの解読時間のさらなる短縮
が図られる。
【図面の簡単な説明】
【図1】実施形態の2次元コード読取装置のブロック図
である。
【図2】実施形態の2次元コード読取装置における読取
処理を示すフローチャートの前半部分である。
【図3】実施形態の2次元コード読取装置における読取
処理を示すフローチャートの後半部分である。
【図4】実施形態の2次元コード読取装置における読取
処理中にて実行される検査線設定処理を示すフローチャ
ートである。
【図5】実施形態の2次元コード読取装置における検査
線設定処理中にて実行される補正設定処理を示すフロー
チャートである。
【図6】検査線設定処理に係る技術思想を示すための説
明図である。
【図7】検査線設定処理における計算方法を例示するた
めの説明図である。
【図8】検査線設定処理における計算方法を例示するた
めの説明図である。
【図9】(a)はQRコードを例示する説明図であり、
(b)はQRコードが斜めに読み取られて歪みを生じた
状態を例示する説明図である。
【図10】従来の検査線の設定手法を示す説明図であ
る。
【図11】従来の検査線の設定手法に基づく計算方法を
示すための説明図である。
【図12】孤立セルを例示する説明図である。
【符号の説明】
1…光学情報読取装置 10…制御回路 11…照明発光ダイオード 12…CCDエ
リアセンサ 13…増幅回路 14…2値化回
路 15…特定比検出回路 16…同期パル
ス出力回路 17…アドレス発生回路 20…画像メモ
リ 31…スイッチ群 32…液晶表示
器 33…通信I/F回路

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】2進コードで表されるデータをセル化し、
    当該セルを縦横2方向に配列した2次元コードを読み取
    るために用いられ、 前記2次元コードの画像を得るとともに、当該画像中の
    2次元コード領域を決定する2次元コード領域決定処理
    を行い、 前記2次元コード領域の境界を示す4辺のうちの2組の
    対向する辺間に検査線を設定する検査線設定処理を行
    い、 前記設定された検査線の交点として前記セルの位置を決
    定し、前記2次元コードの情報を読み取るデコード処理
    を行う2次元コード読取方法において、 前記検査線設定処理は、次の手順(1)〜(5)によっ
    て実行されることを特徴とする2次元コード読取方法。 (1)検査線設定対象の辺方向における前記セルの配列
    位置を示す特定パターンに基づき所定セルの中心位置で
    ある基準位置を算出すると共に、前記検査線設定対象の
    辺に隣接する2辺の傾きを算出する。 (2)前記隣接する2辺のうちの一方の辺である特定辺
    の傾きに対応する角度を当該特定辺に対向する辺の傾き
    に対応する角度から減じた角度に対応する傾きを、前記
    隣接する2辺の傾きの差分値として、角度計算を行うこ
    となく前記隣接する2辺の傾きを用いて算出する。 (3)前記基準位置に基づいて前記隣接する2辺の傾き
    の差分値から各基準位置における配分値を算出する。 (4)前記配分値に対応する角度と前記特定辺の傾きに
    対応する角度とを加えた角度に対応する傾きを、前記各
    基準位置に対応する傾きとして、角度計算を行うことな
    く前記配分値及び前記特定辺の傾きを用いて算出する。 (5)前記各基準位置を通って当該基準位置に対応する
    傾きを有する検査線を設定する。
  2. 【請求項2】請求項1に記載の2次元コード読取方法に
    おいて、 前記検査線設定処理中の「傾き」は、前記画像を構成す
    る画素の配列方向である主走査方向及び副走査方向で定
    義される座標系における傾きであることを特徴とする2
    次元コード読取方法。
  3. 【請求項3】請求項1又は2に記載の2次元コード読取
    方法において、 前記手順(3)の配分値は、前記基準位置の数に基づい
    て前記傾きの差分値が比例配分されて算出されることを
    特徴とする2次元コード読取方法。
  4. 【請求項4】請求項1〜3のいずれかに記載の2次元コ
    ード読取方法において、 前記手順(5)に代え、次の手順(6)によって前記検
    査線設定処理が実行されることを特徴とする2次元コー
    ド読取方法。 (6)前記検査線設定対象の2辺のうち前記基準位置か
    ら遠い側の辺に又は当該辺の近傍に存在するセルのうち
    前記検査線設定対象の辺方向の孤立セルを検出し、当該
    検出した前記孤立セルに基づいて前記各基準位置に対応
    する傾きを補正し、当該基準位置を通り前記補正した傾
    きを有する検査線を設定する。
  5. 【請求項5】請求項4に記載の2次元コード読取方法に
    おいて、 前記手順(6)は、前記基準位置の配列順に検査線を設
    定していくものであり、検査線設定対象の基準位置に対
    応する前記孤立セルがある場合には、当該基準位置に対
    応する傾きを補正することによって当該孤立セルの中心
    位置を通るような検査線を設定し、一方、検査線設定対
    象の基準位置に対応する前記孤立セルがない場合には、
    直前に設定された検査線の傾きに対する補正量を用い
    て、当該基準位置に対応する傾きを補正して検査線を設
    定するものであることを特徴とする2次元コード読取方
    法。
  6. 【請求項6】2進コードで表されるデータをセル化し、
    当該セルを縦横2方向に配列した2次元コードを読み取
    るために用いられ、 前記2次元コードを含む所定範囲領域の画像を取り込む
    画像取込手段と、 該画像取込手段によって取り込まれた前記2次元コード
    を含む画像を走査し、当該画像中の2次元コード領域を
    決定する領域決定手段と、 該領域決定手段によって決定された2次元コード領域の
    境界を示す4辺のうちの2組の対向する辺間を結ぶ検査
    線を設定する検査線設定手段と、 前記検査線設定手段によって設定された検査線の交点を
    セル位置として決定し、決定されたセル位置からセルの
    種類を読み取るセル読み取り手段とを備える2次元コー
    ド読み取り装置において、 前記検査線設定手段は、以下の手順(1)〜(5)から
    なる検査線設定処理を実行することによって検査線の設
    定を行うことを特徴とする2次元コード読取装置。 (1)検査線設定対象の辺方向における前記セルの配列
    位置を示す特定パターンに基づき所定セルの中心位置で
    ある基準位置を算出すると共に、前記検査線設定対象の
    辺に隣接する2辺の傾きを算出する。 (2)前記隣接する2辺のうちの一方の辺である特定辺
    の傾きに対応する角度を当該特定辺に対向する辺の傾き
    に対応する角度から減じた角度に対応する傾きを、前記
    隣接する2辺の傾きの差分値として、角度計算を行うこ
    となく前記隣接する2辺の傾きを用いて算出する。 (3)前記基準位置に基づいて前記隣接する2辺の傾き
    の差分値から各基準位置における配分値を算出する。 (4)前記配分値に対応する角度と前記特定辺の傾きに
    対応する角度とを加えた角度に対応する傾きを、前記各
    基準位置に対応する傾きとして、角度計算を行うことな
    く前記配分値及び前記特定辺の傾きを用いて算出する。 (5)前記各基準位置を通って当該基準位置に対応する
    傾きを有する検査線を設定する。
  7. 【請求項7】請求項6に記載の2次元コード読取装置に
    おいて、 前記検査線設定処理中の「傾き」は、前記画像取込手段
    によって取り込まれた画像を構成する画素の配列方向で
    ある主走査方向及び副走査方向で定義される座標系にお
    ける傾きであることを特徴とする2次元コード読取装
    置。
  8. 【請求項8】請求項6又は7に記載の2次元コード読取
    装置において、 前記手順(3)の補正値は、前記基準位置の数に基づい
    て前記傾きの差分値が比例配分されて算出されることを
    特徴とする2次元コード読取装置。
  9. 【請求項9】請求項6〜8のいずれかに記載の2次元コ
    ード読取装置において、 前記検査線設定手段は、前記手順(5)に代え、次の手
    順(6)によって前記検査線設定処理を実行するよう構
    成されていることを特徴とする2次元コード読取装置。 (6)前記検査線設定対象の2辺のうち前記基準位置か
    ら遠い側の辺に又は当該辺の近傍に存在するセルのうち
    前記検査線設定対象の辺方向の孤立セルを検出し、当該
    検出した前記孤立セルに基づいて前記各基準位置に対応
    する傾きを補正し、当該基準位置を通り前記補正した傾
    きを有する検査線を設定する。
  10. 【請求項10】請求項9に記載の2次元コード読取装置
    において、 前記手順(6)は、前記基準位置の配列順に検査線を設
    定していくものであり、検査線設定対象の基準位置に対
    応する前記孤立セルがある場合には、当該基準位置に対
    応する傾きを補正することによって当該孤立セルの中心
    位置を通るような検査線を設定し、一方、検査線設定対
    象の基準位置に対応する前記孤立セルがない場合には、
    直前に設定された検査線の傾きに対する補正量を用い
    て、当該基準位置に対応する傾きを補正して検査線を設
    定するものであることを特徴とする2次元コード読取装
    置。
  11. 【請求項11】請求項1〜5のいずれかに記載の2次元
    コード読取方法又は請求項6〜10のいずれかに記載の
    2次元コード読取装置の各手段による処理が、コンピュ
    ータシステムにて実行されるプログラムとして記録され
    たことを特徴とする記録媒体。
JP10350046A 1998-12-09 1998-12-09 2次元コード読取方法、2次元コード読取装置及び記録媒体 Expired - Fee Related JP2996243B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10350046A JP2996243B1 (ja) 1998-12-09 1998-12-09 2次元コード読取方法、2次元コード読取装置及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10350046A JP2996243B1 (ja) 1998-12-09 1998-12-09 2次元コード読取方法、2次元コード読取装置及び記録媒体

Publications (2)

Publication Number Publication Date
JP2996243B1 true JP2996243B1 (ja) 1999-12-27
JP2000172777A JP2000172777A (ja) 2000-06-23

Family

ID=18407865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10350046A Expired - Fee Related JP2996243B1 (ja) 1998-12-09 1998-12-09 2次元コード読取方法、2次元コード読取装置及び記録媒体

Country Status (1)

Country Link
JP (1) JP2996243B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4301775B2 (ja) 2002-07-18 2009-07-22 シャープ株式会社 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体
JP4874706B2 (ja) * 2006-04-28 2012-02-15 シヤチハタ株式会社 Qrコード読取装置
JP4978287B2 (ja) * 2007-04-18 2012-07-18 ソニー株式会社 電子機器、2次元コード認識方法、プログラム及び2次元コード

Also Published As

Publication number Publication date
JP2000172777A (ja) 2000-06-23

Similar Documents

Publication Publication Date Title
JP2000222517A (ja) 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
JP3458737B2 (ja) 2次元コードの読取方法及び記録媒体
JP5908113B2 (ja) 二次元コード
JP4801551B2 (ja) 画像領域検出方法、該プログラム、及び該装置
US8254683B2 (en) Code image processing method
JP5791826B2 (ja) 二次元コード
JP2000235617A (ja) データ読取装置
JP4406027B2 (ja) バーコード復号方法及び装置
CN110569845A (zh) 一种试卷图像的校正方法及相关装置
JP2996243B1 (ja) 2次元コード読取方法、2次元コード読取装置及び記録媒体
JP3549936B2 (ja) デジタル情報解読方法
JP2017102841A (ja) 二次元コード、二次元コードの解析方法、二次元コードの解析装置及び二次元コードを解析するプログラム
JP3698867B2 (ja) 円形パターン判定方法、装置および記録媒体
JP4329226B2 (ja) 基準マーク検出方法、基準マーク検出装置及び光学式文字読取装置
JP3627416B2 (ja) 2次元コード読取装置および記憶媒体
JP2005322061A (ja) 2次元コード読取装置
JP4267965B2 (ja) バーコード読取装置
JP5776562B2 (ja) 二次元コード読み取り装置
JP6952846B2 (ja) 二次元コード
JP4852592B2 (ja) 文字画像補正装置及び文字画像補正方法
JP4102742B2 (ja) 光学的情報読取装置及び画像データ解析方法
JPH07192085A (ja) 文書画像傾き検出装置
JP2000276564A (ja) 2次元コード
JP4102741B2 (ja) 光学的情報読取装置及び画像データ解析方法
JPH1040367A (ja) 熱画像の歪み補正方法とその装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 14

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

LAPS Cancellation because of no payment of annual fees