JP4055290B2 - 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 - Google Patents
2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 Download PDFInfo
- Publication number
- JP4055290B2 JP4055290B2 JP09999999A JP9999999A JP4055290B2 JP 4055290 B2 JP4055290 B2 JP 4055290B2 JP 09999999 A JP09999999 A JP 09999999A JP 9999999 A JP9999999 A JP 9999999A JP 4055290 B2 JP4055290 B2 JP 4055290B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional code
- inspection
- detected
- line
- area
- 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 - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、2次元コードを読み取る際、2次元画像検出手段にて検出された2次元的な画像データを一時的に記憶した画像データメモリ上において、2次元コードの存在領域を検出する方法などに関する。
【0002】
【従来の技術】
従来より、バーコードや2次元コードを2次元画像検出手段にて2次元的な画像データとして検出し、その画像データを一時的に記憶した画像データメモリを走査してコード読み取りを行う手法が考えられている。例えば特開平10−198754号公報には2次元CCDセンサで2次元的に走査するものが開示されている。この特開平10−198754号公報に記載のものは、実際にはバーコードを対象としているのであるが、2次元CCDセンサから出力される全走査線信号の内、所定間隔で設定された走査線の代表である検査線を設定し、その検査線に沿って画像データを走査することで、画像データメモリ上でのバーコードの位置を早く見つけるようにしている。つまり、走査線単位で逐次画像データを走査すると時間がかかるのであるが、実際に画像データメモリ上において読取対象のコードが存在している領域は一部であるため、走査線群から抜粋した検査線単位で画像データを走査することで、早期にコードの存在を検出できるようになる。但し、画像領域中のどの位置にコードが存在するか判らないため、画像領域全体を検査できるように複数本の検査線を設定する必要はある。
【0003】
また、この検査線に関しては、例えばUSP5,764,798において、その検査方向を種々設定する旨が開示されている。検査線が走査線の代表という考え方の場合には、例えば主走査線を基準とした場合には画像領域横方向において同一の方向(通常は左から右へ向かう方向)へ走査することとなるため、検査線についても全て同一の方向へ検査することとなる。それに対して、上記USP5,764,798においては、画像領域横方向であっても左から右へ向かう検査線だけでなく、逆に右から左へ向かう検査線も設定できるようにしている。
【0004】
【発明が解決しようとする課題】
しかしながら、検査線の方向がどうであれ、これら従来技術において設定される検査線は、例えば画像領域横方向、つまり主走査線方向であれば、その主走査線の長さと同じだけの長さの検査線とされていた。もちろん、画像領域縦方向に設定する場合も同様に、縦方向長さ、つまり副走査線の長さと同じだけの長さの検査線とされていた。上述したように、画像領域中のどの位置にコードが存在するか判らないため、検査線に沿って走査しても対象のコードが検出できない場合も当然起こり得る。その場合は、画像領域の全体に適宜設定した検査線を順次用いて検査するのであるが、結果的にコードを検出できないような検査線に基づく処理にあっては、常にその検査線の長さ分だけの処理時間が生じてしまう。
【0005】
そこで、本発明は、検出対象を所定の特徴的パターンを有する2次元コードに絞り、検出された2次元的な画像データを一時的に記憶した画像データメモリ上において2次元コードの存在領域を検出する際、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間を極力短縮させることによって、存在領域検出処理自体に要する時間を短縮させることを目的とする。
【0006】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項1記載の2次元コード存在領域検出方法によって存在領域を検出する対象となる2次元コードは、外周に所定長さの実線パターンを特徴的パターンとして有するものである。具体的には、例えば矩形形状の外周の1辺が実線パターンである場合や、対向する2辺あるいは隣接する2辺が実線パターンである場合や、4辺全てが実線パターンである場合などが考えられる。
【0007】
そして、請求項1記載の発明方法は、2次元画像検出手段にて検出した2次元コードを含む1画像領域分の画像データを画像データメモリに記憶し、画像領域の水平方向及び垂直方向の少なくともいずれか一方に平行な検査線を、画像データメモリ上に設定し、その検査線に沿って画像データを検査して、前記画像データメモリ上における前記2次元コードの存在領域を検出する。
【0008】
なお、検査線に沿って画像データを検査する際には、例えば請求項4に示すような手法を採用できる。すなわち、明暗の変化点を検出する変化点検出処理を行い、明暗変化点が検出されれば変化点検出処理は一旦終了して、明暗変化点を起点として所定長さ以上の直線を検出する直線検出処理に移行する。そして、その直線検出処理において所定長さ以上の直線が検出されれば、検出された直線に基づき画像領域中における2次元コードの存在領域を検出する領域検出処理に移行する。この直線検出処理において所定長さ以上の直線が検出されなければ、当該検査線又は別の検査線に沿った変化点検出処理に移行するのである。なお、「当該検査線に沿った変化点検出処理」とは、同じ検査線を用いて、明暗変化点を検出した時点より先に進んで再度明暗変化点を検出するということである。
【0009】
なお、領域検出処理に際しては、例えば正方形の2次元コードであれば、1辺の長さだけ判れば領域全体を検出することは容易であり、また長方形のものであれば、対向する2辺あるいは隣接する2辺が判れば、これもまた領域全体を容易に検出できる。もちろん、4辺全てを検出できれば、その4辺で囲まれる領域は容易に検出できる。
【0010】
このような基本的な領域検出方法を実行する上で、検査線に対して次のような工夫を施している。すなわち、画像領域の一方の端部に始点が設定された検査線と他方の端部に始点が設定された検査線とを有する。そして、検査線の終点については、次のように設定されている。まず、いずれの端部を始点としている場合であっても、始点とは反対側の画像領域端部から離されて設定されている。さらに、一方の端部を始点として設定された検査線の長さと、他方の端部を始点として設定された検査線の長さとを足し合わせた長さが、画像領域の両端部間の長さから、検出された2次元コードが画像領域中において取り得る最小のサイズに基づいて決定される所定長さ分だけ減じた長さ以上に設定されている。
【0011】
このように画像領域の端部を始点とする検査線は、まず、始点とは反対側の画像領域端部から離されているため、従来のものよりも短くなる。そして、最大限短くなる場合は次の通りである。すなわち、両方の端部をそれぞれ始点とする検査線の長さ同士を足し合わせた長さが、画像領域の両端部間の長さから所定長さ分だけ減じた長さとなる場合である。この所定長さは、検出された2次元コードが画像領域中において取り得る最小のサイズに基づいて決定される。
【0012】
このような範囲の長さに設定される検査線に関しては、例えば請求項2に示すように限定することもできる。
すなわち、検査線の長さを、画像領域の両端部間の長さから、検出された2次元コードが画像領域中において取り得る最小のサイズに基づいて決定される所定長さ分だけ減じた長さ以上に設定するのである。この所定長さは、図3(a)であればW1が該当する。したがって、主走査線方向に平行な検査線の終点が、画像領域の端部からW1手前で終了している。
【0013】
ここで、所定長さ(W1)について説明する。検出対象の2次元コードが同一であっても、2次元画像検出手段に対する位置関係によっては、画像データメモリ上において取り得る2次元コードの画像サイズは異なってくる。一般的には、縮小光学系を用いた場合には、その光学系(結像レンズなど)から遠ざかるにつれて検出される2次元コードの画像サイズも小さくなる。但し、焦点距離からのずれが大きくなると読み取れなくなるため、適切な状態で検出されるという条件の下で、画像データメモリ上において取り得る2次元コードの最小の画像サイズが決まってくる。したがって、その「画像データメモリ上において取り得る最小のサイズ」を基準とする。図3(b)であればW0が該当する。なお、ここでは2次元コード101は正方形であることを想定しており、1辺がW0となる。
【0014】
そして、後述するように、所定長さ(W1)が長いほど検査線が短くなり、検出処理の短縮化が図れるので、極力、最小サイズ(W0)に近い長さを所定長さとすることが好ましい。したがって、理論的には、ほんの少しでも短ければよいが、実際には、2次元コードが明暗セルにて構成されていることを考えれば、その最小サイズ(W0)から1ないし2セル分程度短くした長さ(W1)を「所定長さ」とすることが現実的である。このようにすれば、最小サイズ(W0)の2次元コード101の画像データが画像領域の最端部に存在していたとしても、検査線にて検査することができる。この手法であれば、外周の所定長さの実線パターンを特徴的パターンとして有する大抵の2次元コードに対して、その2次元コードがどのように位置していても領域検出が可能となる。なお、「大抵の…」としたのは、例えば矩形形状の1辺にしか実線パターンがなく、その実線パターンが検査線に全く平行に位置してしまうというレアケースにおいては、領域検出ができない場合が生じるからである。そのようなレアケースを考えなければ、ほとんどの場合に検出可能である。
【0015】
なお、ここで、画像領域の両方の端部を始点とする検査線が設定されていることによる効果を説明する。
このように画像領域の左右いずれの方向からも検査することは、特に検出対象の2次元コードの隣接する2辺が実線パターンである場合に効果がある。その点を図を参照して説明する。検出対象の2次元コードとしては、例えば図8(a)に示すコード101や図8(b)に示すコード102などが挙げられる。これらのコード101,102は共に矩形形状の左辺と下辺に実線パターンL1,L2を有している。
【0016】
図9(a)に示すように、検査線の方向が主走査線と同じ画像領域左から右への1方向である場合を考える(方向については向かって「左」、「右」として考える。以下同様。)なお、ここでは、副走査線の方向に見て9本の検査線が設定されており、図9(a)中に記した▲1▼〜▲9▼の番号の順番で検査線を用いることとする。そして、図9(b)に示すように、上述した図8(a)のコード101が画像領域の下方にやや傾いた状態で存在している場合には、検査線を▲1▼,▲2▼,▲3▼の順番で用いて検査すると、検査線▲3▼によってコードの一部らしいものを検出する。
【0017】
具体的には明暗の変化点が検出されるので、その明暗変化点を起点として所定長さ以上の直線を検出する直線検出処理に移行する。この場合には左辺の実線パターンL1であるため所定長さ以上の直線が検出され、その検出された直線に基づき1画像領域中における2次元コードの存在領域を検出する領域検出処理に移行する。この場合には、実線パターンL1の両端のいずれかにさらに所定長さの実線パターンL2が存在するかどうかを検出し、存在すれば、それらL字パターンに基づいて2次元コードの存在領域を検出することとなる。
【0018】
しかしながら、図9(c)に示すように、コード101の傾きが大きくなり、左周りに100deg程度傾いた場合には、図9(b)と同様にはいかなくなる。つまり、実線パターンL1,L2が画像領域中において下側及び右側に移動してしまっており、左から右方向へ検査していくような検査線を用いると、いずれも、実線パターンL1,L2における明暗変化点ではなく、明暗セルがセル単位で分布している部分において明暗変化点を検出してしまう。そのため、図9(c)中の検査線▲3▼〜▲6▼のいずれにおいても、まず明暗変化点が検出された後の直線検出処理において所定長さ以上の直線が検出されない。したがって、全検査線を用いた後で、結果的に検出できないという結果になってしまう。
【0019】
そこで、図4(a)に示すように、隣り合う検査線同士の検査方向が交互になるように設定する。つまり、検査線▲1▼は左から右へ向かう方向であるが、その両脇(図中では上下)に設定される検査線▲2▼,▲3▼は右から左へ向かう方向である。それ以外も同様に交互の検査方向となっている。なお、当然ながら、各検査線の終点は画像領域の端部から所定長さだけ短くされている。
【0020】
このようにすれば、上述した図9(c)に示すようにコード101の傾きが大きくなって左周りに100deg程度傾いた場合であっても、右から左へ向かう方向の検査線によって実線パターンL2を検出できる。
一方、上述した所定範囲内の長さに設定される検査線に関しては、例えば請求項3に示すように限定してもよい。
【0021】
すなわち、両方の端部をそれぞれ始点とする検査線の長さ同士を足し合わせた長さを、画像領域の両端部間の長さよりも小さく設定するのである。なお、当然ながら、最大限短くなる場合は、検査線の長さ同士を足し合わせた長さが、画像領域の両端部間の長さから所定長さ分だけ減じた長さとなる場合である。この所定長さは、上述した請求項2にて説明した内容と同じであるので、ここでは繰り返さない。
【0022】
このように、検査線の長さを最大限短くした場合には、検査線の方向に画像データメモリ上の画像領域を3分割し、その中央の分割領域の幅を所定長さに設定し、その3分割した両端の分割領域において、それぞれ検査線の始点を画像領域端部に設定することと同等となる。例示すれば図7(a)に示すようになる。ここでは便宜上左側領域A1、右側領域A2、中央領域A3と称す。なお、図7(a)の場合には画像領域の真に中央部分に中央領域A3が設定されているが、画像領域の両方の端部をそれぞれ始点とする検査線の長さ同士を足し合わせた長さを、画像領域の両端部間の長さよりも所定長さだけ短ければよいので、左側領域A1と右側領域A2のいずれか一方が他方よりも長くてもよい。
【0023】
この図7(a)からも判るように、各検査線の長さは画像領域の幅Mの半分以下となっており、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間が、飛躍的に短縮される。但し、この場合には、読取対象の2次元コードに対する制約が大きくはなる。つまり、図7(b)に示すように、4辺全てが実線パターンの2次元コードを対象とする場合には本方法は非常に有効である。画像領域中のどの部分に2次元コード111が存在しても、左側領域A1あるいは右側領域A2のいずれかにおいて実線パターンL1〜L4のいずれかが必ず検出されることとなるからである。このように4辺全てが実線パターンの2次元コードとしては、例えば図8(c)に示すコード111や図8(d)に示すコード112などが挙げられる。これらコード111やコード112は矩形形状の4辺に実線パターンL1〜L4を有している。
【0024】
一方、例えば図8(a)に示すコード101や図8(b)に示すコード102などのように、矩形形状の左辺と下辺にのみ実線パターンL1,L2を有している場合であっても、それら実線パターンL1,L2が、図7(a)に示す中央領域A3内に全て入ってしまわない限り、検出は可能である。つまり、2次元コードが外周において有する特徴的パターンが、図7(a)に示す中央領域A3内に全て入ってしまわない限り、検出は可能である。但し、このような特徴的パターンの位置によって領域検出が可能となったり不可能となったりするのが不都合であるならば、読取対象を限定することが現実的ではある。つまり、上述した4辺に実線パターンを有する2次元コードのように、コードがどのように位置しても、特徴的パターンの一部が図7(a)に示す左側領域A1あるいは右側領域A2に位置するようなコードに限定するのである。
【0025】
以上、検査線の長さについては、読取対象の2次元コードの特徴的パターンなどに応じて適切な設定範囲が変わることを述べたが、いずれにしても、検査線自体は画像領域の両端部の長さよりも短く設定される。そのため、検出された2次元的な画像データを記憶した画像データメモリ上において2次元コードの存在領域を検出する際、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間を極力短縮させることができる。これによって、2次元コードの存在領域検出処理自体に要する時間が短縮される。そして、上述したように、従来よりも短い検査線を用いても、領域検出機能は何ら劣ることがない。
【0026】
なお、検査線に関して補足すると、上述したように、画像領域の水平方向及び垂直方向の少なくともいずれか一方に平行な検査線を設定すればよい。したがって、画像領域の水平方向に平行な検査線のみを設定してもよいし、垂直方向に平行な検査線のみを設定してもよいし、当然ながら両方を設定してもよい。但し、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間を極力短縮させるという観点からすれば、検査線数は少ない方がよい。その際、一般的には画像領域は水平方向の方が垂直方向よりも長いことが多いので、検査線についても、画像領域の水平方向に平行な検査線を設定すると、検査線数は相対的に少なくてよくなる。
【0027】
ところで、検査線の始点については、請求項5に示すように、複数設定した検査線について、隣り合う検査線同士の検査方向が交互になるように設定することも有効である。交互に設定しておけば、2次元コードの特徴的パターンをより確実に検出することができるからである。
【0028】
なお、請求項5では、検査線の方向が交互になるように設定する手法を説明したが、請求項6に示すように、検査線に直交する方向から見て同じ位置に、画像領域の両端部を始点とした検査線を設定可能にした場合には、次のような手法を採用することができる。すなわち、まず一方の画像領域端部を始点とする検査線を用いた変化点検出処理によって明暗変化点が検出され、その後の直線検出処理によって所定長さ以上の直線が検出されなかった場合には、その検査線に直交する方向から見て同じ位置であるが反対側の画像領域端部を始点とする検査線による変化点検出処理を実行するのである。例えば図4(b)を参照して説明すれば、左から右への検査方向を有する検査線▲5▼によって明暗変化点が検出されたが所定長さ以上の直線が検出されなかった場合には、反対側の画像領域端部を始点とする検査線▲5▼’による変化点検出処理を実行するのである。
【0029】
これは、一方の画像領域端部を始点とする検査線によって明暗変化点が検出されたが所定長さの直線が検出されなかった場合には、その反対側から検査すれば所定長さの直線が存在する可能性が高いと考えられるからである。特に、隣接する2辺に実線パターンを有する2次元コードの場合には、極めて高い確率で所定長さの直線を検出できる。図4(b)で言えば、コード101の傾きが左周りに100deg程度傾いているため、検査線▲5▼によって明暗変化点が検出されても所定長さ以上の直線が検出されないが、反対側の画像領域端部を始点とする検査線▲5▼’によれば、実線パターンL2を検出できる。
【0030】
このような観点からすれば、請求項7に示すように、検出対象の2次元コードとして、少なくとも2辺が実線パターンであるものに絞れば、存在領域の検出時間の短縮の面で効果的であり、さらに請求項8に示すように、隣接する2辺が実線パターンであるものに絞れば、より存在領域の検出時間の短縮が実現される。
【0031】
当然ながら、4辺全てが実線パターンであっても構わないが、4辺全てが実線パターンであれば、あえて検査線の検査方向を反対側からも設定する必要はなく、全て同一方向であっても検出できる。したがって、上述した隣接する2辺が実線パターンであるタイプのものまでに対して特に有効であると考える。
【0032】
なお、これまでに説明した各2次元コード存在領域検出方法において共通に適用できる工夫としては、次のような点が挙げられる。
検査線の間隔を非常に細かく設定すればよいが、検査線数が増加するほど処理負荷は大きくなる。そこで、請求項9に示すように、複数本設定することを前提としながら、画像領域中央付近で相対的に密に設定すれば、画像領域中央付近に2次元コードが存在する可能性が高いため、全体としては検査線の数を過度に多くせずに済む。なお、図4(a)に示した例もそのように設定されている。
【0033】
また、検出対象の2次元コードが画像領域中央付近に存在する可能性が高いという観点からすれば、請求項10に示すように、複数本の検査線を用いる順番は、画像領域中央付近から画像領域周辺へ向かう順番とすることが好ましい。このようにすれば、早期に2次元コードの存在領域を検出できることとなる。なお、図4(a)に示した例もそのように設定されている。
【0034】
ところで、以上説明したのは2次元コード存在領域検出方法であったが、一般的には、このように検出された2次元コード存在領域内の画像データに基づいて、その中に含まれている2次元コードを読み取る処理を行う。したがって、請求項11に示すように、2次元コード存在領域検出方法を実行して検出された2次元コード存在領域内の画像データに基づいて2次元コードを読み取る2次元コード読取方法という概念で技術思想を捉えることもできる。
【0035】
なお、請求項12,13に示すように、請求項1〜10のいずれか記載の2次元コード存在領域検出方法、あるいは請求項11記載の2次元コード読取方法を実行する機能は、例えば、デジタル回路やコンピュータシステム側で起動するプログラムとして備えられる。プログラムで実現する場合、例えば、フロッピーディスク、光磁気ディスク、CD−ROM、ハードディスク等の機械読み取り可能な記録媒体に記憶し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ROMやバックアップRAMを機械読み取り可能な記録媒体として前記プログラムを記憶しておき、このROMあるいはバックアップRAMをコンピュータシステムに組み込んで用いても良い。
【0036】
【発明の実施の形態】
以下に、本発明の好適な実施例を図面に基づいて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【0037】
図1のブロック図に、実施例としての2次元コード読取装置1の概略構成を示す。
2次元コード読取装置1は、制御回路10と、照明発光ダイオード(照明LED)11と、CCDエリアセンサ12と、増幅回路13と、A/D変換回路14と、同期パルス出力回路16と、アドレス発生回路17と、画像メモリ20と、スイッチ群31と、液晶表示器32と、通信I/F回路33とを中心にして構成されている。
【0038】
制御回路10は、CPU、ROM、RAM、I/O等を備えたコンピュータシステムとして構成され、ROMに記憶されているプログラムに従って後述する読取処理等を実行し、2次元コード読取装置1の各構成を制御している。
照明LED11は、読取対象の2次元コードに対して照明用の赤色光を照射するものである。
【0039】
CCDエリアセンサ12は、2次元的に配列された複数の受光素子であるCCDを有しており、外界を撮像してその2次元画像を水平方向の走査線信号として出力する。この走査線信号は増幅回路13によって増幅されてA/D変換回路14に出力される。
【0040】
増幅回路13は、制御回路10から入力したゲインコントロール電圧に対応する増幅率で、CCDエリアセンサ12から出力された走査線信号を増幅する。
A/D変換回路14は、増幅回路13にて増幅されたアナログの走査線信号をディジタル信号に変換して、画像メモリ20に出力する。
【0041】
CCDエリアセンサ12では繰り返し画像を検出するので、その検出が繰り返される度に、画像メモリ20内の画像データは更新される。
同期パルス出力回路16は、CCDエリアセンサ12から出力される2次元画像データのパルスより十分に細かい同期パルスを出力する。アドレス発生回路17はこの同期パルスをカウントして、画像メモリ20に対するそれぞれのアドレスを発生させる。
【0042】
スイッチ群31は、利用者が読取処理の開始を指示するための読取スイッチや、テンキーあるいは各種ファンクションキーを備えており、情報入力のために用いられる。
液晶表示器32は、読み込んだ2次元コードなどを表示するためなどに用いられる。
【0043】
通信I/F回路33は、ホストコンピュータなどとの間で通信を行うものであり、例えば図示しない通信用発光素子を介してデータを外部装置に送信したり、図示しない通信用受光素子を介して外部装置からの信号(例えばシステムを動かすためのプログラムや解読した2次元コードのデータ送信を指示する命令等)を受信する。もちろん、ホストコンピュータと有線で接続する構成を採用してもよい。
【0044】
このような構成を備えた本実施例の2次元コード読取装置1は、まず制御回路10の指示により、CCDエリアセンサ12にて2次元コードの2次元画像を検出する。CCDエリアセンサ12は、2次元画像を検出すると、アナログ信号にて2次元画像データを出力する。CCDエリアセンサ12から出力され増幅回路13によって増幅された走査線信号は、A/D変換回路14によってディジタルデータに変換され、この1画像領域分のデータは画像メモリ20に一時記憶される。
【0045】
具体的には、図2(a)に示すように、CCDエリアセンサ12の左上の画素を開始点の画素P1とし、左から右へ移動すると共に、上から下へ移動するような順番で最終的には右下の画素が終了点の画素Pnとなる。そして、図2(b)に示すように、その順番(P1〜Pn)で画像メモリ20内の所定のアドレスA(p1)〜A(pn)に格納される。なお、以下の説明においては、実際には画像メモリ20内のデータを用いて処理するのであるが、視覚的に理解が容易となるように、図2(a)に対応するような2次元の画像領域を想定して進めることとする。また、本実施例では、図3(a)に示すように、主走査線方向の画素数Mが640個、副走査線方向の画素数Nが480個であるとして説明を進める。
【0046】
続いて、本実施例における2次元コードの読取に係る動作について説明する。実際の読取処理に係る処理は図6に示すフローチャートに従って実行されるのであるが、その前提として、図2(a)に示す2次元画像領域上に、図4に示すような検査線▲1▼〜▲9▼を設定しておく。この検査線▲1▼〜▲9▼の設定手法が特徴的であるため、その点を説明する。
【0047】
本実施例の検査線▲1▼〜▲9▼の始点は画像領域端部に設定されているが、終点は、始点とは反対側の画像領域端部から所定長さW1だけ短く設定されている。この所定長さW1については、図3(a)を参照して既に説明した通り、画像データメモリ上において取り得る読取対象(検出対象)の2次元コード101の画像の最小サイズW0を基準に設定されている。具体的には、最小サイズW0から1〜2セル分(図3(b)では2セル分短くしている)だけ短くした長さを所定長さW1としている。
【0048】
なお、2次元コード101は、セル数に基づいて言えば、図3(c)に示すようにKセル×Kセルのサイズ(コードサイズ)とされている。一般的に使用頻度の多い2次元コード101の場合にはK=20〜150である(図3(b)では図示する都合上から8セル×8セルで示している)。そして、画像データメモリ上において1セルが取り得る最小の画像サイズを4画素×4画素とすると、W0=4K画素、W1=4(K−1又は2)画素となる。このような関係から、読み取る対象の2次元コード101のコードサイズを勘案し、所定長さW1を画素単位で決定することができる。したがって、このように決定した所定長さW1分だけ短くした検査線を設定するのである。
【0049】
また、本実施例の場合には、図4(a)に示すように、隣り合う検査線同士の検査方向が交互になるように設定する。つまり、検査線▲1▼は左から右へ向かう方向であるが、その両脇(図中では上下)に設定される検査線▲2▼,▲3▼は右から左へ向かう方向である。▲4▼〜▲9▼の検査線についても同様に交互の検査方向となっている。なお、当然ながら、各検査線▲1▼〜▲9▼の終点は画像領域の端部から所定長さW1だけ短くされている。
【0050】
さらに、本実施例の場合には、基本的には図4(a)に示すように検査線の方向が交互になるように設定されているが、副走査線方向から見て同じ位置に、元々設定されている検査線の始点とは反対側の画像領域端部を始点とした検査線を設定可能にされている。つまり、図4(b)に示すように、左から右への検査方向を有する検査線▲5▼と同じ位置(副走査線方向に見て同じ位置という意味)において、反対側の画像領域端部を始点とする検査線▲5▼’が設定可能であるということである。他の検査線▲1▼〜▲4▼、▲6▼〜▲9▼も同様である。なお、この検査線▲5▼’などを、どのような場合に設定するかは後述する。
【0051】
続いて、実際の読取処理に係る処理を図6に示すフローチャートを参照して説明する。
最初のステップS110では、変数Jを初期値1に設定し、続くS120においてJ番目の検査線に沿って画像データを検査する。続いて、その検査線に沿って検査した結果に基づいて暗パターンを検出したか否かを判定し(S130)、検出していなければ(S130:NO)、変数Jをインクリメントし(S140)、変数Jが検査線の設定本数H(図4(a)に示すように示す場合であればH=9)よりも大きいか否かを判断する(S150)。
【0052】
変数J≦設定本数Hであれば(S150:NO)、S120へ戻って、前回とは別の検査線を設定する。このようにして、暗パターンを見つけるまで、検査線を変更しながら検査していく。
なお、本実施例では、画像領域中の中央付近に2次元コードの画像が存在する可能性が高いという観点から、複数本設定された主検査線▲1▼〜▲9▼の使用順番は、画像領域の中央付近から外側へ向かう順番とされている(図4(a)参照)。
【0053】
そして、S130の判定により暗パターンを検出した場合には、S160へ移行して所定長さ(W1)以上のL字パターンの有無を検査する。つまり、図5(a)で言えば、2次元コード101の外周の隣接する2辺に存在する実線パターンの有無を検出するのである。
【0054】
具体的には、検査線によって実線パターンL1が検出された明暗変化点を基準とし、その明暗の境界線に沿って境界線の長さ、この場合であれば暗パターンの長さを調べる。通常は暗パターンの途中において検査線による明暗変化点が検出されるので、図5(a)に示すように、暗パターンの一端までの距離aと他端までの距離bとの和(a+b)が所定長さ以上であるかどうか判断する。なお、この場合の所定長さとしては、読取対象とする2次元コードの最も小さいコード画像に含まれる直線部分の長さを想定する。
【0055】
そして、このように2次元コード101の1辺に相当する暗パターン(この場合には実線パターンL1)の存在が確認された場合には、その暗パターンの端部から折れ曲がって同様に暗部の長さを調べる。この場合には、一端から折れ曲がって調べた暗部の長さcは短いが、他端から折れ曲がって調べた暗部の長さdがやはり所定長さ以上であるため、2次元コード101の他の1辺に相当する暗パターン(この場合には実線パターンL2)の存在を確認できる。これにより「L字パターン」があることが判る。
【0056】
したがって、図5(a)に示すような検査線を用いた場合には、L字パターンが存在するため(S170:YES)、S210へ移行する。S210では、2次元コード101が存在する領域(コード領域)を計算する。この場合はL字パターンが正方形の2辺であることから、容易にコード領域を計算することができる。
【0057】
そして、続くS220においては、S210で計算されたコード領域内の明暗パターンを解読し、記録されている情報を再生(デコード)する。その後、本処理ルーチンを終了する。
一方、例えば図5(b)に示すように、2次元コード101が左周りに100deg程度傾いている場合には、本来ならば2次元コード101の左側に存在する実線パターンL1が下側に移動しているため、左から右への検査方向を有する検査線▲5▼によって検出することができない。つまり、明暗変化点自体は検出できるが、図5(a)を参照して説明したような所定長さ以上の直線は検出できない(S170:NO)。そこでS180へ移行して、反対側の画像領域端部を始点とする検査線(図4(b)で言えば検査線▲5▼’)を設定する。
【0058】
そして、続くS190では、上述したS160と同様に、所定長さ以上のL字パターンの有無を検査する。図4(b)に示す検査線▲5▼’を用いた場合にはL字パターンが存在するため(S200:YES)、S210へ移行する。
なお、図5(b)に示すように、検査線▲5▼では所定長さ以上の直線は検出できない場合には、反対側の画像領域端部を始点とする検査線▲5▼’では所定長さ以上の直線が検出できることが多い。但し、2次元コード101の回転度合いによっては検出できない場合もあるので、反対側の画像領域端部を始点とする検査線を用いても検出できない場合には(S200:NO)、S140へ移行して、次の検査線による検査に委ねる。
また、検査線による検査に際して本実施例では次の点を考慮している。すなわち、図5(b)に示すように、傷などが原因で生じた線(イ)を検査線が当たった場合には暗パターンを見つけたこととなるので、直線検出処理に移行する。但し、この場合には直線は検出されない。ここで、単に他の検査線による検査に移っても、2次元コード101の実線パターンL1,L2を検出することはできない。したがって、暗パターンを見つけて直線検出処理に移行したが直線を見つけられないような場合には、再び同じ検査線による検査に戻り、従前に検査した位置より先、つまりこの場合は傷などが原因で生じた線(イ)を乗り越えて、検査を続行する。但し、無限に行うわけではなく、例えば数回程度繰り返しても直線が検出できなければ、別の検査線による検査に移行する。これによって、傷や汚れなどがあっても目的の2次元コード101ににたどり着くことができるようになる。
【0059】
ここで、図6に示した処理内容と特許請求の範囲に記載した用語との対応を簡単に説明しておく。図6中のS110〜S210の処理の実行が、2次元コード存在領域検出方法としての処理の実行に相当する。そして、S220の処理を加えることによって、2次元コード読取方法としての処理の実行に相当する。また、S120,S130の処理が変化点検出処理に相当し、S160,S190の処理が直線検出処理に相当し、S210の処理が領域検出処理に相当する。
【0060】
このように、本実施例においては、図3,4などに示したように、2次元コード101の存在領域を検出する際に用いる検査線自体を短く設定したことによって、画像データメモリ上において2次元コード101の存在領域を検出する際、結果的に2次元コード101を検出できないような検査線に基づく処理に要する時間を極力短縮させることができる。つまり、図4(b)に示す例で説明すれば、この場合は検査線▲1▼〜▲4▼によっては2次元コード101の明暗変化点自体が見つからないため、この検査線▲1▼〜▲4▼は、結果的に2次元コード101を検出できない検査線に該当する。しかし、この検査線▲1▼〜▲4▼の長さは画像領域全体を検査する目的で設定されていた従来に比べ、所定長さW1だけ短くなっている。そのため、単純に考えて、4本の検査線▲1▼〜▲4▼においてそれぞれW1分の画像データの明暗を判定する処理が不要となる。これは、2次元コード101の存在領域検出処理自体に要する時間を短縮させることとなる。
【0061】
そして、この検査線を短くする「所定長さW1」は、図3(a)を参照して既に説明した通り、画像データメモリ上において取り得る読取対象(検出対象)の2次元コード101の画像の最小サイズW0から1〜2セル分だけ短くした長さとされている。そのため、最小サイズ(W0)の2次元コード101の画像データが画像領域の最端部に存在していたとしても、いずれかの検査線にて検査することができる。つまり、従来よりも短い検査線を用いても、領域検出機能は何ら劣ることがないのである。
【0062】
また、本実施例においては、図4(a)に示すように、隣り合う検査線同士の検査方向が交互になるように設定すると共に、図4(b)に示すように、左から右への検査方向を有する検査線▲5▼によって明暗変化点が検出されたが所定長さ以上の直線が検出されなかった場合には、反対側の画像領域端部を始点とする検査線▲5▼’による変化点検出処理を実行している。これは、一方の画像領域端部を始点とする検査線によって明暗変化点が検出されたが所定長さの直線が検出されなかった場合には、その反対側から検査すれば所定長さの直線が存在する可能性が高いと考えられるからである。特に、隣接する2辺に実線パターンを有する2次元コード101の場合には、極めて高い確率で所定長さの直線を検出できる。
【0063】
[その他]
(1)上記実施例では、図3,4に示すように、検査線を主走査線方向に設定したが、理論的には、副走査線方向に設定してもよい。その場合に検査線の長さを短くする「所定長さ」については、やはり上述したW1(図3参照)である。もちろん、主走査線方向及び副走査線方向の両方に設定してもよい。
【0064】
但し、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間を極力短縮させる、という観点からすれば、検査線数は少ない方がよい。上記実施例では、図3(a)に示すように、主走査線方向の画素数Mが640個、副走査線方向の画素数Nが480個であるとした。つまり、画像領域は、主走査線方向の方が副走査線方向よりも長いため、検査線を主走査線方向に設定すると、検査線数が相対的に少なくてよくなる。
【0065】
(2)上記実施例では、図4(a)に示すように、隣り合う検査線同士の検査方向が交互になるように設定したが、検査線を短くすることによって、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間を極力短縮させる、という観点からすれば、検査線の始点を画像領域のいずれか一方の端部のみから設定してもよい。但し、図4(b)に示したように、隣接する2辺のみに実線パターンL1,L2を有する2次元コード101の場合には、左右いずれかでも検査可能な検査線を設定することによって、2次元コード101がどのように回転していても適切にコード存在領域を検出できる、というメリットを享受できる。
【0066】
このように、検出対象の2次元コードとして、隣接する2辺が実線パターンL1,L2であるものに絞れば、存在領域の検出時間の短縮がより適切に実現できることが判る。なお、図4(b)に示した手法を採用した場合には、例えば対向する2辺のみに実線パターンである場合でも有効であるし、さらには1辺のみに実線パターンを有する場合でも高い確率で2次元コードの存在領域を検出できると考えられる。
【0067】
当然ながら、4辺全てが実線パターンであっても構わないが、4辺全てが実線パターンであればあえて検査線の検査方向を反対側からも設定する必要はなく、全て同一方向であっても検出できる。
(3)4辺全てが実線パターンの2次元コードに特化するのであれば、さらなる存在領域の検出時間の短縮を考えて、次のような手法を採用してもよい。なお、この場合の検出対象の2次元コードとしては、例えば図8(c)に示すコード111や図8(d)に示すコード112などが挙げられる。これらコード111やコード112は矩形形状の4辺に実線パターンL1〜L4を有している。
【0068】
このような4辺全てが実線パターンである2次元コード111,112を対象として、検査線を次のように設定する。すなわち、検査線の方向に画像データメモリ上の画像領域を3分割する。図7(a)では左側領域A1、右側領域A2、中央領域A3と称す。そして、中央領域A3の幅を、検出された2次元コードが画像領域中において取り得る最小のサイズに基づいて決定される所定長さ、すなわち図3を参照して説明したW1に設定する。そして、左側領域A1、右側領域A2において、それぞれ検査線の始点を画像領域端部に設定するのである。このようにすると、図7(a)からも判るように、各検査線の長さは画像領域の幅Mの半分以下となっている。なお、このように検査線の設定方法が異なるのみであり、それ以外の例えば変化点検出処理や、直線検出処理や、領域検出処理については、上記実施例について説明した場合と同様である。
【0069】
このように検査線を設定すれば、結果的に2次元コードを検出できないような検査線に基づく処理に要する時間が、飛躍的に短縮される。それでいて、この場合には、4辺全てが実線パターンの2次元コードが対象であるため、図7(b)に示すように、画像領域中のどの部分に2次元コード111が存在しても、左側領域A1あるいは右側領域A2のいずれかにおいて実線パターンL1〜L4のいずれかが必ず検出されることとなる。
【0070】
また、図7においては、左側領域A1及び右側領域A2における検査線同士で、副走査線の方向の位置が一致しないよう設定してある。これは、図4(a)にて示したように、隣り合う検査線同士の検査方向を交互に設定する考え方を採用し、さらに各検査線の終点がそれぞれの属する領域(左側領域A1、右側領域A2)の端部に設定することで、検査線の長さを飛躍的に短縮させたものである。このようにすれば、各領域A1、A2内において隣接する検査線の間隔をある程度広く設定することができる。
【0071】
なお、図7(a)では中央領域A3を画像領域の丁度中央に設定したが、左右いずれかにずれていても構わない。
【図面の簡単な説明】
【図1】 実施例としての2次元コード読取装置のブロック図である。
【図2】 画像と画像データアドレスとの対応関係を示す説明図である。
【図3】 実施例における検査線の設定手法の説明図である。
【図4】 実施例における検査線の設定手法の説明図である。
【図5】 (a)は実施例におけるL字パターンの有無判断手法の説明図、(b)は検査線による検査手法の説明図である。
【図6】 実施例における2次元コードの存在領域検出及び読取に係る処理を示すフローチャートである。
【図7】 別実施例における検査線の設定手法の説明図である。
【図8】 種々の2次元コードの説明図である。
【図9】 従来の検査線の設定手法及びそれによる問題点の説明図である。
【符号の説明】
1…2次元コード読取装置 10…制御回路
11…照明LED 12…CCDエリアセンサ
13…増幅回路 14…A/D変換回路
16…同期パルス出力回路 17…アドレス発生回路
20…画像メモリ 31…スイッチ群
32…液晶表示器 33…通信I/F回路
101,102,111,112…2次元コード
A1…左側領域 A2…右側領域
A3…中央領域 L1,L2…実線パターン
Claims (13)
- 外周に所定長さの実線パターンを特徴的パターンとして有する2次元コードを2次元画像検出手段にて検出し、
前記2次元画像検出手段にて検出した2次元コードを含む1画像領域分の画像データを画像データメモリに記憶し、
画像領域の水平方向及び垂直方向の少なくともいずれか一方に平行な検査線を、前記画像データメモリ上に設定し、
前記検査線に沿って画像データを検査して、前記画像データメモリ上における前記2次元コードの存在領域を検出する方法であって、
前記検査線の始点は、前記画像領域の一方の端部に設定されたものと他方の端部に設定されたものとがあり、
一方、前記検査線の終点は、前記始点とは反対側の画像領域端部から離されて設定されていると共に、前記一方の端部を始点として設定された検査線の長さと、前記他方の端部を始点として設定された検査線の長さとを足し合わせた長さが、前記画像領域の両端部間の長さから、前記検出された2次元コードが前記画像領域中において取り得る最小のサイズに基づいて決定される所定長さ分だけ減じた長さ以上に設定されていること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1記載の2次元コード存在領域検出方法において、
前記検査線は、前記画像領域の両端部間の長さから、前記検出された2次元コードが前記画像領域中において取り得る最小のサイズに基づいて決定される所定長さ分だけ減じた長さ以上に設定されていること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1記載の2次元コード存在領域検出方法において、
前記一方の端部を始点として設定された検査線の長さと、前記他方の端部を始点として設定された検査線の長さとを足し合わせた長さが、前記画像領域の両端部間の長さよりも小さく設定されていること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜3のいずれか記載の2次元コード存在領域検出方法において、
前記検査線に沿って画像データを検査する際、明暗の変化点を検出する変化点検出処理を行い、明暗変化点が検出されれば前記変化点検出処理は一旦終了して、前記明暗変化点を起点として所定長さ以上の直線を検出する直線検出処理に移行し、
当該直線検出処理において前記所定長さ以上の直線が検出されれば、当該検出された直線に基づき画像領域中における前記2次元コードの存在領域を検出する領域検出処理に移行し、当該直線検出処理において前記所定長さ以上の直線が検出されなければ、当該検査線又は別の検査線に沿った前記変化点検出処理に移行すること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜4のいずれか記載の2次元コード存在領域検出方法において、
前記検査線は複数設定されると共に、隣り合う検査線同士の検査方向が交互に逆向きになるよう設定されていること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜5のいずれか記載の2次元コード存在領域検出方法において、
前記検査線に直交する方向から見て同じ位置に、前記画像領域の両端部を始点とした検査線を設定可能にすると共に、
まず一方の画像領域端部を始点とする検査線を用いた変化点検出処理によって明暗変化点が検出され、その後の直線検出処理によって所定長さ以上の直線が検出されなかった場合には、前記検査線に直交する方向から見て同じ位置であるが反対側の画像領域端部を始点とする検査線による前記変化点検出処理を実行すること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜6のいずれか記載の2次元コード存在領域検出方法において、
前記検出対象の2次元コードは、少なくとも2辺が実線パターンであること、
を特徴とする2次元コード存在領域検出方法。 - 請求項7記載の2次元コード存在領域検出方法において、
前記検出対象の2次元コードは、隣接する2辺が実線パターンであること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜8のいずれか記載の2次元コード存在領域検出方法において、
前記検査線が複数本設定されている場合には、前記画像領域中央付近では相対的に密に設定されていること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜9のいずれか記載の2次元コード存在領域検出方法において、
前記検査線が複数本設定されている場合には、前記検査線を用いる順番が、前記画像領域中央付近から画像領域周辺へ向かう順番であること、
を特徴とする2次元コード存在領域検出方法。 - 請求項1〜10のいずれか記載の2次元コード存在領域検出方法によって検出された2次元コード存在領域内の画像データに基づいて、その中に含まれている前記2次元コードを読み取ること、
を特徴とする2次元コード読取方法。 - 請求項1〜10のいずれか記載の2次元コード存在領域検出方法が、コンピュータシステムにて実行するプログラムとして記録されたことを特徴とする記録媒体。
- 請求項11記載の2次元コード読取方法が、コンピュータシステムにて実行するプログラムとして記録されたことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09999999A JP4055290B2 (ja) | 1999-04-07 | 1999-04-07 | 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09999999A JP4055290B2 (ja) | 1999-04-07 | 1999-04-07 | 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000293615A JP2000293615A (ja) | 2000-10-20 |
JP4055290B2 true JP4055290B2 (ja) | 2008-03-05 |
Family
ID=14262314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09999999A Expired - Lifetime JP4055290B2 (ja) | 1999-04-07 | 1999-04-07 | 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4055290B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4415010B2 (ja) * | 2004-03-04 | 2010-02-17 | シャープ株式会社 | 2次元コード領域抽出方法、2次元コード領域抽出装置、電子機器、2次元コード領域抽出プログラム及びそのプログラムを記録した記録媒体 |
-
1999
- 1999-04-07 JP JP09999999A patent/JP4055290B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000293615A (ja) | 2000-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3458737B2 (ja) | 2次元コードの読取方法及び記録媒体 | |
US5726435A (en) | Optically readable two-dimensional code and method and apparatus using the same | |
US6729542B2 (en) | Method and apparatus for recording digital information in two-dimensional pattern, carrier of digital information recorded thereby, and a method and apparatus for decoding such digital information | |
US5189292A (en) | Finder pattern for optically encoded machine readable symbols | |
US6612497B1 (en) | Two-dimensional-code related method, apparatus, and recording medium | |
JP3994595B2 (ja) | バーコード読取方法及び記録媒体 | |
US5854478A (en) | Method and apparatus for reading machine-readable symbols having surface or optical distortions | |
JP2000353210A (ja) | 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体 | |
JP3716527B2 (ja) | 2次元コードの読取方法 | |
JP3758266B2 (ja) | コード読取装置 | |
US6446866B1 (en) | Information reproducing system | |
JP4055290B2 (ja) | 2次元コード存在領域検出方法、2次元コード読取方法及び記録媒体 | |
JPH07120389B2 (ja) | 光学的文字読取装置 | |
JPH08249412A (ja) | デジタル情報解読方法 | |
JP4197768B2 (ja) | 情報読取システム | |
JP3698867B2 (ja) | 円形パターン判定方法、装置および記録媒体 | |
JP3627416B2 (ja) | 2次元コード読取装置および記憶媒体 | |
JP4329226B2 (ja) | 基準マーク検出方法、基準マーク検出装置及び光学式文字読取装置 | |
JP2996243B1 (ja) | 2次元コード読取方法、2次元コード読取装置及び記録媒体 | |
JPH0469788A (ja) | 光学的情報読取装置 | |
JP2000155800A (ja) | 光学情報読取装置及び記録媒体 | |
JPH08272980A (ja) | 閉領域抽出装置 | |
JPH11142348A (ja) | 欠陥検査装置用蛇行追従装置及び欠陥検査装置 | |
JP3339392B2 (ja) | 2次元コード読取装置および記憶媒体 | |
JP4238796B2 (ja) | 光学的情報読取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071108 |
|
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: 20071120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |