JP2001307014A - 二次元コード抽出方法 - Google Patents

二次元コード抽出方法

Info

Publication number
JP2001307014A
JP2001307014A JP2000116429A JP2000116429A JP2001307014A JP 2001307014 A JP2001307014 A JP 2001307014A JP 2000116429 A JP2000116429 A JP 2000116429A JP 2000116429 A JP2000116429 A JP 2000116429A JP 2001307014 A JP2001307014 A JP 2001307014A
Authority
JP
Japan
Prior art keywords
dimensional code
block
detected
area
pixels
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.)
Granted
Application number
JP2000116429A
Other languages
English (en)
Other versions
JP4419269B2 (ja
Inventor
Kenichiro Sakai
憲一郎 酒井
Tsuguo Noda
嗣男 野田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000116429A priority Critical patent/JP4419269B2/ja
Priority to US09/835,625 priority patent/US7350710B2/en
Publication of JP2001307014A publication Critical patent/JP2001307014A/ja
Application granted granted Critical
Publication of JP4419269B2 publication Critical patent/JP4419269B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code

Landscapes

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

Abstract

(57)【要約】 【目的】本発明は、読み取られた画像から二次元コード
を抽出する二次元コード抽出方法に関し、文字やその他
の画像が含まれた文書から二次元コードをより確実に抽
出することを目的とする。 【構成】読み取られた画像をM×N(ともに正の整数)
単位で走査して、その領域毎に黒画素分布等を求めて、
二次元コードと思われるブロック(A〜D)を検出す
る。そして、検出されたブロックが連続している領域
(D)を検出し、この領域を二次元コード領域として抽
出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文書や図表ととも
に二次元コードが印刷された紙面をスキャナ等の画像入
力装置により読み取った画像データから、二次元コード
の画像を自動的に抽出する二次元コード抽出方法に関す
る。
【0002】
【従来の技術】近年、従来のバーコードよりも多くの情
報を埋め込むことができる二次元コードの開発が進み、
実用化され始めている。二次元コードを利用することに
より、文書や画像データ、音声データなどのあらゆる種
類のバイナリデータを二次元コードとして紙面に印刷す
ることが可能になった。
【0003】二次元コードを印刷した紙は、ファクシミ
リで伝送したり印刷物として配布する。受け取り側で
は、紙面の二次元コードをイメージスキャナにより画像
データとして読み取って、各二次元コードの復元に対応
したソフトウェアやハードウェアにより元のデータに復
元することができる。
【0004】二次元コードの中には一般的なイメージス
キャナでの読み取りを可能にするものもあり、専用の読
み取り装置が無くても手持ちのスキャナにより読み取っ
て元のデータを復元することができるため、読み取り手
段の汎用性が高いというメリットがある。
【0005】
【発明が解決しようとする課題】二次元コードだけを紙
面に印刷するのではなく、文書や図表とともに任意の位
置に任意の大きさの二次元コードを紙面に印刷した場
合、汎用のイメージスキャナを使って二次元コード部分
の読み取りを行うと二次元コードに加えて文字や図表の
一部も画像データとして取り込まれる可能性が非常に高
い。
【0006】このように二次元コード以外の画像が入っ
ていると、二次コード復元ソフトウェアやハードウェア
で正常に復元することができないため、イメージスキャ
ナで読み取った画像データから二次元コード部分だけを
抽出しなければならないという課題があった、
【0007】
【課題を解決するための手段】そして、この目的は、入
力した画像データをM×N画素(M、Nは正の整数)の
矩形のブロック単位に走査し、走査したブロックから所
定の条件を満たすブロックを検出し、検出されたブロッ
クの位置に基づいて二次元コードの位置を検出して入力
画像から二次元コードの画像を抽出する二次元コード抽
出方法により達成される。
【0008】また、ブロック検出は、ブロック内の白画
素/背景色と黒画素/文字色の比率が所定の範囲内にな
るブロックを検出するようにしてもよい。
【0009】また、ブロック内の総画素数に対するブロ
ック内の水平ラインおよび/または垂直ライン内の画素
値の変化点の個数の割合が所定の範囲内になるブロック
を検出する、ブロック内の黒画素の連結の仕方に基づい
てブロックを検出する、あるいはブロック内の各ライン
に含まれる黒画素の水平方向の射影または/および垂直
方向の射影の変化の度合いが所定の範囲内になるブロッ
クを検出するようにしてもよいし、これらを組み合わせ
てブロックを検出してもよい。
【0010】一方、二次元コードの検出の際には、検出
された連結領域の中でその領域を構成するブロック数が
最大の領域を選択し、,該領域を囲む矩形領域を二次元
コード領域として検出するようにしてもよい。
【0011】更に、連結領域の中で領域を構成するブロ
ック数が所定の範囲内の領域を選択し、選択されたそれ
ぞれを囲む矩形領域を二次元コード領域として検出する
ようにしてもよい。
【0012】また、二次元コード抽出に際して,二次元
コード領域内における任意の位置から垂直上下方向およ
び水平左右方向に所定の大きさの矩形ブロック単位に走
査し、走査した矩形内の黒画素数が所定の値以下になる
位置を各方向について検出して検出位置を囲む矩形領域
を二次元コードとして抽出するようにしてもよい。
【0013】また更に、二次元コード領域の周囲に所定
幅の空白を付与して抽出するようにしてもよい。
【0014】一方、二次元コード抽出にあたって二次元
コードの傾きを検出し、傾きを補正しながら二次元コー
ド画像を抽出するようにしてもよい。
【0015】その際に、二次元コードの上下端および/
または左右端それぞれの境界上における複数箇所の座標
値を直線近似して、二次元コードの傾き角度を検出する
ようにすればよい。
【0016】また、入力画像の読取方向を検出して正立
像に補正することによって、入力画像の向きを正しく補
正することが可能となる。
【0017】
【発明の実施の形態】以下、図面を用いて本発明の実施
形態を説明する。
【0018】一般的に、二次元コードはバイナリデータ
を特定のアルゴリズムにより画素パターン変換したもの
であり、文書や図等と異なり画像としての見た目の意味
を持たない。一方、画像レベルで見ると、文書や図表を
構成する画素のパターンと二次元コードを構成する画素
パターンの特徴は異なっている。この相違は見た目にも
明らかであり、文書・図表と二次元コードが混在してい
る画像から二次元コード部分を目視により容易に識別で
きる。
【0019】図1はイメージスキャナで読み取った、二
次元コードと文書や図表が混在する文書画像を表してお
り、横M画素、縦N画素(いずれも正の整数、M=Nで
あってもよい)のブロック毎に読み取られた画像を走査
した例が図示されている。図中、走査された画像中のブ
ロックは破線で囲まれた矩形で図示されている。また、
実線で囲まれた矩形は、後に詳細を説明する、本実施形
態により抽出されたブロック(特に二次元コードを構成
すると判別されたブロック)を示している。なお、図1
において二次元コードは画像の右下の矩形の領域に相当
し、また、検出されたブロック以外の文書や図表など
は、特に図中には明示していない。
【0020】なお、以降の説明では文字や図表および二
次元コードを構成する画素を「黒画素」、その背景とな
る画素を「白画素」とする。
【0021】本実施形態では、文書・図表と二次元コー
ドの画素パターンが相違する点に着目した。まず、画像
をブロック単位に走査してブロックごとに二次元コード
(あるいは二次元コードを構成するブロックと推測され
る部分)か否かを検出し、二次元コードの存在確率が高
い部分を探し出すブロックが二次元コードの一部か否か
を判断するためには、ブロック内の黒画素分布を求め
る。これは、二次元コード部分と文字領域とで相違する
ことを利用したものである。 (1)ブロック内の黒画素率により識別 この方法では、二次元コードの黒画素率がブロック単位
でみるとほぼ一定であることを利用する。この際に、ノ
イズやスキャナの特性による変動を考慮し、二次元コー
ドと判断するべきブロック内の黒画素率範囲を予め定め
ておく。この範囲は、あらかじめ二次元コードを走査し
て、その結果に基づいて設定するようにしてもよい。走
査したブロックの黒画素率がこの設定した黒画素率の範
囲内にあれば、そのブロックが二次元コードを構成する
ブロックであると判断する。二次元コードを構成してい
ないブロックについては、黒画素率が二次元コードを構
成するブロックの範囲には入らないため、上記の方法を
用いることにより、二次元コード以外のブロックの多く
を取り除くことができる。 (2)白画素と黒画素との変化点の割合により識別 この方法では、二次元コードの画素の変化パターンがブ
ロック単位で見るとほぼ一様であることを利用する。ブ
ロック内を水平または垂直に1ライン単位に走査し、各
ライン内の画素の変化点、すなわち黒画素から白画素、
または白画素から黒画素に変化した回数を計数し、ブロ
ック全ラインについて求めた変化点の総数をブロックの
総画素数で割った値を「変化点の割合」とする。二次元
コードブロックの変化点の割合を予め調べておき、ノイ
ズやスキャナ特性による変動を考慮して二次元コードと
判断する変化点の割合の範囲を定める。
【0022】走査したブロックの変化点の割合が、この
範囲内にあれば二次元コードを構成するブロックと判断
する。これにより、二次元コード以外のブロックの多く
が取り除かれる。 (3)ブロック内の黒画素の連結の仕方で識別 二次元コード内の黒画素はブロック内でほぼ一様に分布
するのに対し、文字を含むブロックでは黒画素により文
字が構成されるため、黒画素が局所的にかたまって存在
している。この方法では、上記した画像の特徴を二次元
コード検出に利用する。 (4)ブロック内の黒画素の射影の変動から識別 変化点の場合と同様に、二次元コード内の画素分布がほ
ぼ一様である。ブロックを水平または垂直に1ライン単
位に走査し、各ラインに含まれる黒画素数を計数するこ
とで該ブロックの射影を得る。二次元コードのブロック
の場合には、画素分布がほぼ一様であることからライン
間の射影の変化が小さく、文書や図表の場合には、黒画
素分布が一様でないことからライン間で射影の変化が大
きくなる。
【0023】従ってあらかじめ二次元コードと判断する
射影の変動の範囲を定めておき、走査したブロックの射
影の変動がこの範囲内であれば二次元コードのブロック
と判断する。これにより、二次元コード以外のブロック
の多くを取り除くことができる。
【0024】二次元コードブロックを検出する際に、上
記(1)〜(4)の中から2つ以上の方法を組み合わせ
ることで、二次元コードブロックの検出精度を大幅に向
上させることができる。
【0025】なお、上記の黒画素分布を利用して二次元
コードを構成するブロックを検出したとしても、二次元
コードとして検出されたブロックの中には、二次元コー
ド以外の画像が含まれる可能性がある。これは、一つの
ブロック単位でみた場合、そのブロックが二次元コード
ではないにもかかわらず、上記の黒画素分布の条件を満
たしてしまうことがあるためである。しかし、これらの
二次元コードを構成していない、言わば誤検出されたブ
ロックは、自分自身の周辺のブロックが二次元コードと
して検出される条件を満たしていない可能性が高いと考
えられる。そのため、このようなブロックに関しては、
二次元コードとして検出されたブロックが他のブロック
から孤立して存在したり(図1A)、数個程度のブロッ
クが隣接して検出される(図1B、C)に過ぎない。
【0026】一方、二次元コード領域内においては、二
次元コードとして検出されるブロックの数がは二次元コ
ード領域外に比べて多くなるため、検出されたブロック
が図1のDのように多く隣接して繋がりあっている。
【0027】そこで、二次元コードとして検出されたブ
ロックのうち、隣接して連結するブロックの個数が最大
となる領域を検出し、その領域の上下左右に所定の幅を
持たせた矩形で囲み、この領域を検出することができ
る。
【0028】ここで、上記した所定の幅を最大ブロック
の幅とすることで、常に二次元コード全体を含んだ領域
が検出される。
【0029】また、連結するブロックが所定の個数以上
の領域を選択することで、同一画像内に複数個の二次元
コードが存在する場合でも抽出することが可能となる。
【0030】さらに、以下の方法により、より正確に二
次元コードの領域を検出することができる。
【0031】図2は、前述した方法により二次元コード
として検出された、隣接ブロックの個数が最大となる領
域を拡大して示した図である。図2において、一番外側
の実線で示した矩形内(矩形領域1)が検出する二次元
コードの領域、その内側の矩形(矩形領域2)が二次元
コードとして検出されたブロックに外接する矩形領域で
ある。また、一番外側の破線と矩形領域1の間の領域
は、二次元コードと文字や図表を隔てるために設けられ
た、全ての画素が白画素の空白領域である。
【0032】まず、矩形領域2内に、基準位置を設定す
る。図2では基準位置を丸印で示しており、検出された
領域の中心に設定された例が図示される。この基準位置
を中心として画像に対して左右の方向、上下方向に向か
って二次元コードの境界を検出する処理を行う。二次元
コードの境界から外側には、所定の幅の空白領域が付与
されるのが一般的である。従って、検出基準位置から二
次元コードの縁に向かってブロック単位に走査して行
き、走査したブロック内の全画素が白画素になった時点
で上記した空白領域に達したことが判り、このブロック
の基準位置側の辺が二次元コードの境界ということにな
る。
【0033】ここで、矩形領域2の内側は二次元コード
領域とみなせるため、二次元コードの境界の検出は、図
2のA〜Dのように矩形領域2の外側から開始すればよ
い。各検出開始位置A〜Dから二次元コードの境界方向
に向かってブロック単位に上記の検出を行えば、その内
側の全画素が白画素になるブロックA’〜B’が検出さ
れる。そして、A’〜B’の検出基準位置側(すなわち
二次元コード側)の辺を通る矩形が二次元コードの矩形
領域として検出される。
【0034】上記のようにして検出した二次元コードを
抽出する際に、二次元コードを復元するソフトウェアや
ハードウェアが必要とする所定の幅の白画素を二次元コ
ードの周囲に付与することで、正しく復元できる二次元
コードの画像にすることができる。
【0035】ハンドヘルド型のイメージスキャナにより
紙面上の二次元コード部分の読み取りを行った場合、手
動でスキャナを操作するためスキャナが斜めに動き読み
取った画像に傾が生じる場合が考えられる。
【0036】そこで、二次元コードを抽出する際に同時
に二次元コードの傾き角度も検出し、二次元コード抽出
時に傾きを補正しながら抽出を行うことで、傾きのない
二次元コードを抽出することができる。
【0037】二次元コードが矩形である場合には、二次
元コード上下の辺、すなわち二次元コードの境界線が平
行であることから、二次元コードを検出する際に上下の
境界線上の点を複数箇所検出し、画像内におけるそれら
の座標値からこれらの点を直線近似することで境界線の
傾きを求め、それを二次元コードの傾き角度とすること
ができる。左右の辺についても互いに平行であるため、
同様にして傾き角度を検出することができ、上下左右か
ら傾きを検出することで傾き角度の検出精度が高まる。
【0038】手動操作型のハンドヘルドスキャナにより
読み取る場合、ハンドヘルドスキャナは上下左右いずれ
の方向にもスキャンできることから、読み取った画像が
回転したり鏡像反転して入力される場合がある。二次元
コードの検出処理を始める前に読み取り方向を検出して
正立像に補正しておいたり、二次元コードを検出した後
抽出する際に正立像になるように補正しながら抽出する
ことで、常に正しい向きの二次元コードを抽出すること
ができる。
【0039】以下、図面に基づいて本発明の実施例につ
いて詳細に説明する。
【0040】図3は本発明の全体の処理フローである。
まず、入力画像をブロック単位に走査して、上記した
(1)〜(4)の方法を用いて、所定の条件を満たすブ
ロックを検出する(S101)。次に、検出されたブロ
ックが連結している領域を検出する(S102)。続い
て、S102により検出された領域に基づいて、二次元
コードの領域を検出する(S103)。そして、検出し
た二次元コード領域から二次元コード画像を抽出する
(S104)。最後に、二次元コードの傾き角度を検出
し、必要ならば傾き補正を行なう(S105)。
【0041】図4は、入力画像から検出したブロックの
情報を格納するためのブロック情報テーブルの構成を示
す図である。ブロック番号は二次元コードの一部として
検出されたブロックに、検出した順番につける一連番号
である。検出されたブロックの最後を示すために、テー
ブル最後にEOB(End Of Block table)を格納する。
【0042】検出されたブロックごとに、ブロック左上
のX座標とY座標、そのブロックに結合するブロック
数、結合するブロックにより構成される領域の一連番号
が格納される。検出されたi番目のブロックの、ブロッ
ク情報テーブルの各項目の値の表記は、X座標をXi、
Y座標をYi、結合ブロック数をCi、領域番号をRi
で表すこととする。
【0043】以下の実施例では、本ブロック情報テーブ
ルを使用して二次元コードの検出を行なう。
【0044】図5は二次元コードのブロックを検出する
処理フローを示す図であり、図3のS101の処理に対応す
る。図中の記号は、xとyは走査するブロック左上のそ
れぞれX 座標とY 座標、M とN はそれぞれブロックの横
画素数と縦画素数を表す。また、WIDTH とHEIGHTは、そ
れぞれ入力画像の横画素数と縦画素数を表す。iは検出
したブロックの番号を示すための変数である。
【0045】まず初期設定として、x=0、y=0すな
わち入力画像の右上の原点をブロックの左上の座標に設
定し、同時に最初のブロックを示すようi=1に設定す
る(S102)。
【0046】S202では、走査するブロックを左上の座標
を(x、y)とする幅M画素、高さN画素の矩形領域に
設定し、このブロックが所定の条件、すなわち黒画素率
や変化点の個数、黒画素の連結状態が所定の値であるか
否かを識別する(S203)。S203において、該ブロックが
所定の条件を満たさないと判断した場合には処理をS206
に移し、条件を満たすと判断した場合には処理をS204に
進める。
【0047】S204では、ブロック情報テーブルのi番目
の項目を選択し、Xiにx、Yiにyをそれぞれ格納し、次
に検出されるブロックを示すようにブロック番号iに1
を加算する(S205)。
【0048】S206では、xにMを加えることで、次に走
査するブロック左上の座標をX 軸方向にM画素分移動さ
せる。S207では、x+MがWIDTH 以上か否か、すなわち
xを左上のX 座標とする幅M 画素のブロックの右端が、
入力画像の幅を超えていないか否かをチェックする。x
+M がWIDTH 未満の場合にはS 202に処理を戻す。x
+M がWIDTH 以上の場合には、S208でx=0すなわち走
査するブロックのX 座標を入力画像の左端に設定する。
【0049】S209では、yにN を加えることで、次に走
査するブロック左上の座標をY 軸方向にN 画素分移動さ
せる。S210では、x+Y がHEIGHT以上か否か、すなわち
yを左上のY 座標とする高さN 画素のブロックの下端
が、入力画像の高さを超えていないか否かをチェックす
る。y+N がHEIGHT以上の場合にはS211に処理を移す。
S211ではブロック情報テーブルのi番目のブロック番号
にEOB を格納して処理を終了する。
【0050】一方、S210においてy+N がHEIGHT未満の
場合にはS202に処理を戻す。
【0051】S202からS210までを繰り返し行なうことに
より、入力画像全体をブロック単位に走査して、図7の
太線で囲ったブロック1〜26のように、二次元コード
と識別したブロックを検出し、それら各ブロックのX 座
標およびY 座標が図8のブロック情報テーブル1〜26
に示したように検出される。
【0052】なお、図7はブロックの幅M=32画素、高
さ=32画素の場合の例である。図6は、図3のS101に
より検出したブロックが連結して構成する領域を検出す
る処理フローを示す図であり、図3のS102の処理に対応
する。
【0053】図中の記号は、iはブロック情報テーブル
内におけるブロック番号を示すための変数、kは検出し
た領域の番号を示すための変数である。
【0054】まず初期設定として、ブロック情報テーブ
ル(図4)の先頭からEOB までの結合ブロック数と領域
番号を全て0でクリアしておく(S301)。
【0055】S30 2ではブロック番号i=1すなわちブ
ロック情報テーブルの先頭を指し示すように設定し、領
域番号をk=1すなわち最初の領域を示す値を設定す
る。
【0056】S303では、i番目のブロックテーブルの領
域番号Riが0か否か、すなわちi番目のブロックが既に
何らかの領域に属しているか否かをチェックし、0なら
ば領域に属していないと判断して処理をS304に移し、0
でなければ既に領域に属していると判断してS307に処理
を移す。
【0057】S304では、例えば「境界追跡法」などの方
法によりブロックiを始点とするブロックにより構成さ
れる領域を検出し、該検出した領域を構成するブロック
の個数P を求める。なお、境界追跡法は一般的に知られ
ている方法であり、例えば「画像処理」(尾崎他著、共
立出版、1993、p187〜188 )や「画像処理工学」(谷口
・編、共立出版、1996、p116〜118 )に記載されてい
る。
【0058】S305では、ブロック情報テーブルを参照
し、S301で検出した領域に含まれる全てのブロック数Ci
にP 、領域番号Riにkを設定する。
【0059】S306では、領域番号kに1を加える。
【0060】S307では、次のブロック情報テーブルの項
目を参照するためにiに1を加える。
【0061】S308では、i番目のブロック情報テーブル
のブロック番号欄がEOB か否か、すなわちS101で検出し
た全てのブロックについて処理を終えたか否かチェック
する。ブロック番号がEOB でない場合には、処理をS303
に戻し、ブロック番号がEOBである場合には全処理を終
えたと判断して修了する。
【0062】S303からS308までの処理を繰り返し行なう
ことで、図7の領域1〜4のように二次元コードと識別
されたブロックが連結して構成する領域が検出され、図
8のブロック情報テーブルのように各ブロックについて
結合ブロック数と領域番号が求まる。例えば、ブロック
6の場合には、結合するブロック数が20個の領域に所
属し、領域番号が3となる。
【0063】図9は二次元コード領域を検出する処理の
第一の実施例を示す処理フローであり、図3のS103の処
理に対応する。
【0064】S401では、ブロック情報テーブルを参照
し、結合ブロック数の最大値を検出してRmaxとする。図
8の例では、Rmax=20 となる。
【0065】S402では、結合ブロック数がRmaxに一致す
るブロックの中で、X 座標およびY座標の最小値(Xmi
n、Ymin)と最大値(Xmax、Ymax)を求める。図8の例
では、座標の最小値(Xmin、Ymin)としてブロック6の
座標(X6、Y6)=(192 、352)、座標の最大値(Xma
x、Ymax)としてブロック26の座標(X26 、Y26 )=
(352 、448 )が検出される。
【0066】S403では、左上角の座標を(Xmin-M、Ymin
-N)、右下角の座標を(Xmax+2×M、Ymax+2×N )とす
る矩形領域を二次元コード領域として決定する。図7の
例では、図10A の領域3から一ブロック分離れた矩形
領域C が二次元コード領域として検出される。
【0067】本方法では、実際の二次元コードである図
10B に対して、大きめの領域が二次元コードとして検
出されることになる。
【0068】図11は、二次元コード領域を検出する処
理の第二の実施例を示す処理フローあり、図3のS103の
処理に対応する。
【0069】S501では、ブロック情報テーブルを参照
し、結合ブロック数の最大値を検出してRmaxとする。図
8の例では、Rmax=20 となる。
【0070】S502では、結合ブロック数がRmaxの領域の
中心を二次元コード領域検出の基準位置に決定する。図
8の例では、図10のように結合ブロック数が最大の領
域として領域3(図10A )が選択され、その中心とし
て図12D が決定される。ここでの中心位置は、領域3
に外接する矩形領域の中心で良い。
【0071】S503では、S502で決定した検出基準位置か
ら、上下および左右の方向に矩形のブロック単位に走査
し、該ブロック内の黒画素の個数がQ 個以下になる位置
を検出する。Q は0にしても良いが、ノイズなどの影響
を考慮してある程度の個数を設定しておいても良い。
【0072】図12は、図10の領域3部分を拡大した
図である。この例では、それぞれ左側でA、右側でB、
上側でC、下側でDの位置が検出される。Q=0に設定
し、ノイズがない場合には、検出したA付近は図12下
図のようになり、A’の位置すなわちブロックの基準位
置側を検出した位置に決定すればよい。
【0073】S50 4では、S503で検出した上下左右の四
点から、検出基準位置と反対方向に所定の画素数分はな
れるように矩形を二次元コードの領域として決定する。
図12では、A〜Dの各検出位置からE画素分空けた位
置を通るように設定した矩形(一番外側の矩形)が二次
元コード領域となる。
【0074】以上、二次元コード領域を検出する第一お
よび第二の実施例では、二次元コードが傾いている場合
でも、二次元コード全体を含む領域を検出することがで
きる。更に、検出した二次元コードの傾きを検出し、傾
きを補正することでより正しく二次元コードを復元でき
る。
【0075】図13は、二次元コードの傾き補正の処理
フローであり、図3のS105の処理に対応する。
【0076】S601では、二次元コード内の検出基準位置
から、上下左右に所定の間隔でブロック単位に走査し、
ブロック内の黒画素がQ 個以下になる位置を検出する。
ここでの検出方法はS503と同様である。S601の処理によ
り、二次元コード各辺における境界線上の位置が検出さ
れる。
【0077】図12の二次元コード領域の例では、図1
4のように、二次元コード上側の境界線上にA1〜A7、下
側の境界線上にB1〜B7、左側の境界線上にC1〜C5、右側
の境界線上にD1〜D5の位置がそれぞれ検出される。
【0078】S602〜S605では、上側、下側、左側、右側
の検出位置を直線近似し、それぞれの傾き角度a1〜a
4を求める。図14の例では、上側についてはA1〜A7を
通る近似直線A の傾きa1を算出する。下側、左側、右
側に関しても同様にして傾き角度を算出する。
【0079】S606では、上側と下側の傾き角度に対して
左側と右側の傾き角度が直行することを利用し、a1〜
a4の平均の傾きを計算して二次元コードの傾き角度θ
を次式により決定する。
【0080】θ=(a1+a2+(a3−90)+(a
4−90))÷4 S607では、θを所定の値θmin と比較し、θがθmin よ
り大きい場合にはS608で傾き補正処理を行って終了し、
θがθmin 以下の場合には傾き補正を行なわずに処理を
終了する。これにより、傾き角度が小さく、傾き補正の
必要のない場合には回転処理を行なわないことで、処理
時間を短縮できる。
【0081】読取方向を検出して正立像に自動補正する
方法には、公知例として「画像状態検出装置及びそれを
利用した文書画像補正装置」(特許公開平成11年第3
16798号)がある。
【0082】図3のS101の処理を行う前に、この補正処
理を行って入力画像を正立像に補正しておくことによ
り、S101以降の処理はこの正立像に補正した画像に対し
て行われるため、回転や鏡像反転が補正された二次元コ
ードが抽出される。図15は、二次元コードを構成する
ブロックを検出するためのその他の方法を説明するため
の図面であり、8×8画素のブロックにおいて着目画素
に対する黒画素間距離の求め方を説明するための図であ
る。ここで、図示左上の画素をX1、1 とし、X1、1 の右
側の画素をX2、1 、X1、1 の下側の画素をX2、1 のよう
に添え字を変えて各画素を表す。
【0083】まず、図5の黒画素X4、4 に着目し、X4、
4 に対して上下左右それぞれの方向で最も近い黒画素が
X4、3 、X4、8 、X1、4 、X6、4 であった場合、X4、4
についての黒画素間の距離D4、4 は次式で算出する D4、4 =|X4、4 − X4 、3 |+|X4、4 − X4 、8 | +|X4、4 − X1 、4 |+|X4、4 − X6 、4 | ・・・ (1) なお、上下左右のうち、黒画素が存在しない方向があっ
た場合や、着目画素がブロック外縁にあり画素が存在し
ない方向がある場合には、該方向に相当する項はゼロと
する。例えば、X1、4 を含めX4、4 の左側が全て白画素
であった場合には、X4、4 についての黒画素間の距離は
次式のようになる。
【0084】 D4、4 =|X4、4 − X4 、3 |+|X4、4 − X4 、8 | +|X4、4 − X6 、4 | ・・・(2) 一般に、着目した黒画素についての黒画素間隔は次式に
より算出する。
【0085】 Di、j =|Xi、j − Xi 、j-a |+|Xi、j − Xi 、j+b | +|Xi、j − Xi-c 、j |+|Xi、j − Xi+d 、j | =a+b+c+d ・・・(3) 式(3)の第一項から第四項は、それぞれ上下左右にa
画素、b 画素、c 画素、d 画素離れた黒画素との距離を
求めることを意味するため、着目画素Xi、j についての
黒画素間隔はa + b + c + d と表せる。
【0086】ブロック内の全ての黒画素についての黒画
素間の平均距離D は、ブロック内の黒画素数をN とし
て、次式により算出することができる。
【0087】 D = ( ΣΣDi、j ) / N ・・・(4)) ここで、最初のΣはDi、j をi=1 からN までの加算する
こと、2個目のΣはDi、j をj=1 からN まで加算するこ
とを示す。図16は、文字ブロック(A )と二次元コー
ドブロック(B )それぞれにおける黒画素分布の例であ
る。一般的に、文字ブロックでは黒画素が局所的に集ま
って存在し、二次元コードブロックでは黒画素が比較的
ばらばらな位置に存在している。
【0088】図17は、図16に図示される文字ブロッ
クと二次元コードブロックについて、前述した画素間の
距離を算出した例である。太線にて描かれた小さい矩形
は黒画素を表し、矩形内の数値は黒画素について式
(1)により黒画素間を算出した値である。
【0089】図16の例では、文字ブロック(A )の黒
画素間の合計は63、ブロック内の黒画素数は24個なので
平均黒画素間はD = 2.6(63÷24)となる。一方、二次
元コードブロック(B )の黒画素間の合計は131 、ブロ
ック内の黒画素数は27なので平均黒画素間はD = 4.9
(131 ÷27)となる。二次元コードブロックの平均黒画
素間のほうが文字ブロックよりも大きい。
【0090】平均黒画素間D は、式(3)からも明らか
なように黒画素同士の間隔が大きいほど値が大きくな
る。 図16に示したように、二次元コードブロック
(A )内の黒画素は、文字ブロック(B )に比較してば
らばらな位置に存在しているため、各黒画素の間隔が文
字ブロックよりも大きくなり、従って、二次元コードブ
ロックの平均黒画素間D も文字ブロックよりも大きな値
になる。この黒画素間隔の違いを利用してブロックが文
字の一部なのか二次元コードの一部なのかを識別する。
【0091】文字ブロックと二次元コードを識別する黒
画素間の閾値Dth は次のように決める。まず、文字のみ
を含む複数個の文書画像をブロックに分割し、全てのブ
ロックについて求めた平均黒画素間の平均D1を求める。
次に、複数個の二次元コード画像をブロック分割し、文
字ブロックの場合と同様に全ブロックの平均黒画素間の
平均D2を求める。こうして求めたD1、D2はそれぞれ文字
および二次元コードブロックの平均的な平均黒画素間を
表すと考えられるので、D1とD2の中点を閾値Dth に決定
する。
【0092】ブロックの平均黒画素間がDth 未満ならば
文字ブロック、Dth 以上ならば二次元コードブロックと
識別することができる。
【0093】
【発明の効果】以上説明したように、本発明の二次元コ
ード抽出方法によれば、二次元コードと文字や図表が混
在する画像データの中から二次元コードだけを自動的に
抽出することができる。このため、二次元コードを文書
・図表と共に印刷した紙面において、イメージスキャナ
により二次元コードを含むように読み取りを行なうと、
読み取った画像から二次元コードが自動抽出されるた
め、元のデータに正確に復元することができ、二次元コ
ードの読み取りやすさの向上に寄与するところが大き
い。
【図面の簡単な説明】
【図1】イメージスキャナで読み取られた二次元コード
と文書/図表が混在する文書画像を模式的に図示した図
面であり、M×Nのブロック単位で走査された状態を示
す。
【図2】図1で二次元コードとして検出されたブロック
を拡大した図。
【図3】本発明の一実施形態による二次元コード検出手
順を説明したフローチャート。
【図4】ブロック情報テーブルを示した図面。
【図5】二次元コードブロックの検出処理手順を示すフ
ローチャート。
【図6】隣接ブロックにより構成される領域の検出処理
手順を示すフローチャート。
【図7】二次元コード抽出を説明する図面。
【図8】ブロック情報テーブルの例を示す図。
【図9】二次元コード領域の検出処理を示すフローチャ
ート。
【図10】検出された二次元コード領域の様子を示す
図。
【図11】二次元コード良医の検出処理を示すフローチ
ャート。
【図12】図10で検出された二次元コード領域を拡大
した図面。
【図13】二次元コードの傾き検出とその補正処理を示
すフローチャート。
【図14】傾いた二次元コードの様子を示す図。
【図15】二次元コード領域検出を説明する図。
【図16】文字ブロックと二次元コードブロックの黒画
素分布を示す図。
【図17】図16に図示された文字ブロックと二次元コ
ードブロックとの黒画素間距離を算出した結果を示す
図。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】入力した画像データをM×N画素(M、N
    は正の整数)の矩形ブロック単位に走査し、 前記走査したブロックから所定の条件を満たすブロック
    を検出し、 前記検出されたブロックの中で隣接して連結しているブ
    ロックにより構成される領域を検出し、 前記連結領域の検出に基づいて二次元コードの領域を検
    出し、前記入力画像から二次元コードの画像を抽出する
    ことを特徴とする、二次元コード抽出方法。
  2. 【請求項2】請求項1記載の二次元コード抽出方法にお
    いて、 前記ブロックの検出は、ブロック内の白画素と黒画素の
    比率が所定の範囲内にあるブロックを、二次元コードを
    構成するブロックとして検出することを特徴とする二次
    元コード抽出方法。
  3. 【請求項3】請求項1記載の二次元コード抽出方法にお
    いて、 前記ブロックの検出は、ブロック内の総画素数に対する
    ブロック内の水平ラインおよび/または垂直ライン内の
    画素値の変化点の個数の割合が所定の範囲内になるブロ
    ックを、二次元コードを構成するブロックとして検出す
    ることを特徴とする二次元コード抽出方法。
  4. 【請求項4】請求項1記載の二次元コード抽出方法にお
    いて、 前記ブロックの検出は、ブロック内の各ラインに含まれ
    る黒画素の水平方向の射影または/および垂直方向の射
    影の変化の度合いが所定の範囲内になるブロックを検出
    することを特徴とする二次元コード抽出方法。
  5. 【請求項5】請求項1記載の二次元コード抽出方法にお
    いて、 前記検出された連結領域の中で当該領域を構成するブロ
    ック数が所定の範囲内の領域を選択し、該選択した領域
    を囲む領域を二次元コード領域として検出することを特
    徴とする二次元コード抽出方法。
  6. 【請求項6】請求項1記載の二次元コード抽出方法にお
    いて、 前記検出された二次元コードの領域内における任意の位
    置から、上下方向および左右方向に所定の大きさの矩形
    ブロック単位に走査し、 走査した矩形内の黒画素数が所定の値以下になる位置を
    各方向について検出し、 検出位置を囲む矩形領域を二次元コードとして抽出する
    ことを特徴とする二次元コード抽出方法。
  7. 【請求項7】請求項1記載の二次元コード抽出方法にお
    いて、 前記走査したブロック内に存在する黒画素同士の平均距
    離を求め、 前記求められた黒画素間平均距離の値が所定値以上の場
    合に、当該ブロックを二次元コードを構成するブロック
    として抽出することを特徴とする、二次元コード抽出方
    法。
JP2000116429A 2000-04-18 2000-04-18 二次元コード抽出方法 Expired - Fee Related JP4419269B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000116429A JP4419269B2 (ja) 2000-04-18 2000-04-18 二次元コード抽出方法
US09/835,625 US7350710B2 (en) 2000-04-18 2001-04-17 Two-dimensional code extracting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000116429A JP4419269B2 (ja) 2000-04-18 2000-04-18 二次元コード抽出方法

Publications (2)

Publication Number Publication Date
JP2001307014A true JP2001307014A (ja) 2001-11-02
JP4419269B2 JP4419269B2 (ja) 2010-02-24

Family

ID=18627896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000116429A Expired - Fee Related JP4419269B2 (ja) 2000-04-18 2000-04-18 二次元コード抽出方法

Country Status (2)

Country Link
US (1) US7350710B2 (ja)
JP (1) JP4419269B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004097717A1 (ja) * 2003-05-02 2006-07-13 豊 木内 2次元コード読取方法、表示方法、および実行プログラム
WO2006100720A1 (ja) * 2005-03-18 2006-09-28 Fujitsu Limited コード画像処理方法
JP2007299098A (ja) * 2006-04-28 2007-11-15 Shachihata Inc Qrコード読取装置
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
KR100962956B1 (ko) 2002-06-05 2010-06-10 롱빈 수 세계 문자 정보용 이진 운용 코드의 최적 입력 방법과 그정보 처리 시스템
JP2019003662A (ja) * 2005-03-11 2019-01-10 ハンド ヘルド プロダクツ インコーポレーティッド グローバル電子シャッター制御を持つイメージ読み取り装置
US10691907B2 (en) 2005-06-03 2020-06-23 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10721429B2 (en) 2005-03-11 2020-07-21 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4278918B2 (ja) * 2002-04-19 2009-06-17 富士通株式会社 画像データ処理装置とその方法
US7298921B2 (en) * 2003-01-29 2007-11-20 Colortrac Limited Document scanning method and document scanner
WO2004090801A1 (ja) * 2003-04-08 2004-10-21 Nippon Telegraph And Telephone Corporation 情報符号化装置、情報復号化装置ならびにその方法及びプログラム
AU2003227506A1 (en) * 2003-04-15 2004-11-04 Fujitsu Limited Code recognizing method and device
KR100828539B1 (ko) * 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
AU2008226843A1 (en) * 2007-03-08 2008-09-18 Microscan Systems, Inc. Detection and segmentation of a two-dimensional code
JP5111055B2 (ja) * 2007-10-26 2012-12-26 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム
US20100166268A1 (en) * 2008-12-30 2010-07-01 Ebm Technologies Incorporated Storage system for storing the sampling data of pathological section and method thereof
CN111539238B (zh) * 2020-04-27 2023-08-18 广州致远电子股份有限公司 二维码图像修复方法、装置、计算机设备和存储介质
CN113947097B (zh) * 2020-07-15 2024-04-09 花瓣云科技有限公司 一种二维码识别的方法及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1329263C (en) * 1989-03-01 1994-05-03 Mark Krichever Bar code scanner
US5296690A (en) * 1991-03-28 1994-03-22 Omniplanar, Inc. System for locating and determining the orientation of bar codes in a two-dimensional image
US5557091A (en) * 1994-04-15 1996-09-17 Krummel; Larry Method and system for bar code image processing
TW434520B (en) * 1998-06-30 2001-05-16 Sony Corp Two-dimensional code recognition processing method, device therefor and medium
EP0984385B1 (en) * 1998-08-31 2013-02-20 Sony Corporation Two-dimensional code recognition processing
US7050631B2 (en) * 2002-10-30 2006-05-23 Sick Auto Ident, Inc. Barcode detection system

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962956B1 (ko) 2002-06-05 2010-06-10 롱빈 수 세계 문자 정보용 이진 운용 코드의 최적 입력 방법과 그정보 처리 시스템
JPWO2004097717A1 (ja) * 2003-05-02 2006-07-13 豊 木内 2次元コード読取方法、表示方法、および実行プログラム
JP4708186B2 (ja) * 2003-05-02 2011-06-22 豊 木内 2次元コード解読プログラム
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
EP2275968A1 (en) 2003-12-05 2011-01-19 Fujitsu Limited Code type determining method and code boundary detecting method
JP2019003662A (ja) * 2005-03-11 2019-01-10 ハンド ヘルド プロダクツ インコーポレーティッド グローバル電子シャッター制御を持つイメージ読み取り装置
US11968464B2 (en) 2005-03-11 2024-04-23 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11317050B2 (en) 2005-03-11 2022-04-26 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11863897B2 (en) 2005-03-11 2024-01-02 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10721429B2 (en) 2005-03-11 2020-07-21 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10735684B2 (en) 2005-03-11 2020-08-04 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10958863B2 (en) 2005-03-11 2021-03-23 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11323650B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11323649B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
JP4531809B2 (ja) * 2005-03-18 2010-08-25 富士通株式会社 コード画像処理方法
JPWO2006100720A1 (ja) * 2005-03-18 2008-08-28 富士通株式会社 コード画像処理方法
US8254683B2 (en) 2005-03-18 2012-08-28 Fujitsu Limited Code image processing method
WO2006100720A1 (ja) * 2005-03-18 2006-09-28 Fujitsu Limited コード画像処理方法
US10949634B2 (en) 2005-06-03 2021-03-16 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238252B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238251B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11604933B2 (en) 2005-06-03 2023-03-14 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11625550B2 (en) 2005-06-03 2023-04-11 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10691907B2 (en) 2005-06-03 2020-06-23 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12001913B2 (en) 2005-06-03 2024-06-04 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12001914B2 (en) 2005-06-03 2024-06-04 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12020111B2 (en) 2005-06-03 2024-06-25 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US12026580B2 (en) 2005-06-03 2024-07-02 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
JP2007299098A (ja) * 2006-04-28 2007-11-15 Shachihata Inc Qrコード読取装置

Also Published As

Publication number Publication date
US20020051573A1 (en) 2002-05-02
JP4419269B2 (ja) 2010-02-24
US7350710B2 (en) 2008-04-01

Similar Documents

Publication Publication Date Title
JP4419269B2 (ja) 二次元コード抽出方法
JP4525787B2 (ja) 画像抽出装置、及び画像抽出プログラム
JPH03201866A (ja) 圧縮形態のデータを含むデータから画像スキュー角度を決定する方法
KR101215278B1 (ko) 런 프로파일들을 사용하여 문서 보안 마크들의 검출
JP5834866B2 (ja) 画像処理装置、画像生成方法、およびコンピュータプログラム
JP4594952B2 (ja) 文字認識装置及び文字認識方法
JP3876531B2 (ja) 文書画像の傾き補正方法
US6493470B1 (en) Image processing method and apparatus for detecting the tilt amount of input image data
JP3238504B2 (ja) 書類分類方法
JP2017161969A (ja) 文字認識装置、方法およびプログラム
US7016538B2 (en) Image processor for detecting specified pattern
EP0899679B1 (en) Line direction deciding device, image inclination detecting device and image inclination correction device
JP2018128825A (ja) 画像処理装置及び画像処理プログラム
JP4140519B2 (ja) 画像処理装置、プログラムおよび記録媒体
JP4893643B2 (ja) 検出方法および検出装置
US5113267A (en) Apparatus for and method of reconstructing a document
Lehal et al. A range free skew detection technique for digitized Gurmukhi script documents
JP3303246B2 (ja) 画像処理装置
JP2006235786A (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2006229685A (ja) 帳票歪み判定装置
US8260057B2 (en) Image processing apparatus that obtains a ruled line from a multi-value image
JP4137945B2 (ja) 画像検出方法
JP4552757B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP4517667B2 (ja) 文書画像照合装置、文書画像位置合わせ方法及びプログラム
JP7310151B2 (ja) マーク選定装置および画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090424

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091123

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees