JP2000353210A - 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体 - Google Patents

情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体

Info

Publication number
JP2000353210A
JP2000353210A JP11161065A JP16106599A JP2000353210A JP 2000353210 A JP2000353210 A JP 2000353210A JP 11161065 A JP11161065 A JP 11161065A JP 16106599 A JP16106599 A JP 16106599A JP 2000353210 A JP2000353210 A JP 2000353210A
Authority
JP
Japan
Prior art keywords
area
information code
inspection
dark
light
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
JP11161065A
Other languages
English (en)
Other versions
JP4288756B2 (ja
Inventor
Hisashi Shigekusa
久志 重草
Masahiro Iida
正広 飯田
Masami Tanaka
正己 田中
Tadao Nojiri
忠雄 野尻
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 JP16106599A priority Critical patent/JP4288756B2/ja
Priority to US09/543,881 priority patent/US6678412B1/en
Publication of JP2000353210A publication Critical patent/JP2000353210A/ja
Application granted granted Critical
Publication of JP4288756B2 publication Critical patent/JP4288756B2/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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Landscapes

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

Abstract

(57)【要約】 【課題】画像データメモリ上において情報コードの概略
的な存在領域を推定することにより、その概略存在領域
に基づいて、その後に情報コードの正確な位置を検出し
てデータ解読をするまでに要する時間を短縮させる。 【解決手段】画像領域をマトリックス状に分割して検査
区域を設定し、各検査区域において、主走査線に沿って
出力される明暗パターンに基づいて明暗変化を検出す
る。その明暗変化点数を所定値と比較し、所定値以上の
検査区域と所定値未満の検査区域の配列表を作成する
((a)において斜線が施されている部分が所定値以上
の検査区域である。)。この場合は、画像領域中央に近
く、且つ面積も大きな第1候補の検索区域群が、情報コ
ードの概略存在領域として推定される。この推定された
検査区域群中にて検査線を設定すれば、すぐに2次元コ
ード101の外周の実線パターンL1が見つかり、コー
ド存在領域も計算できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バーコードや2次
元コードなどの情報コードを読み取る際、2次元画像検
出手段にて検出された2次元的な画像データを一時的に
記憶した画像データメモリ上において、情報コードの概
略的な存在領域を推定する方法などに関する。
【0002】
【従来の技術】従来より、バーコードや2次元コードを
2次元画像検出手段にて2次元的な画像データとして検
出し、その画像データを一時的に記憶した画像データメ
モリを走査してコード読み取りを行う手法が考えられて
いる。この場合の画像データの総量は非常に多い(例え
ば横640画素×縦480画素=307200画素)た
め、まず画像領域内のどの部分に情報コードが存在する
かを短時間で見い出すことが重要である。
【0003】例えば特開平10−198754号公報に
おいては、2次元CCDセンサから出力される全走査線
信号の内、所定間隔で設定された走査線の代表である検
査線を設定し、その検査線に沿って画像データを走査す
ることで、画像データメモリ上でのバーコードの位置を
早く見つけるようにしている。つまり、走査線単位で逐
次画像データを走査すると時間がかかるが、実際に画像
データメモリ上において読取対象のコードが存在してい
る領域は一部であるため、走査線群から抜粋した検査線
単位で画像データを走査することで早期にコードの存在
を検出できるようになる。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うに検査線を設定する手法の場合には、画像領域中のど
の位置にコードが存在するか判らないため、画像領域全
体を検査できるように複数本の検査線を設定する必要は
ある。そして、この検査線は、例えば画像領域横方向で
あればその横方向長さと同じだけの長さの検査線とされ
ていた。もちろん、画像領域縦方向に設定する場合も同
様に、縦方向長さと同じだけの長さの検査線とされてい
た。
【0005】このような検査線を用いる手法も有効では
あるが、例えば情報コードの周囲に枠線や文字などの記
載があると、情報コードとの判別が必要となる状況が頻
繁に発生し、1本の検査線に沿って検査するのに要する
時間が増大する。その結果、情報コードの解読に成功し
たとしても、解読までに要する時間が長く(レスポンス
が悪く)なり、作業性の低下を招来してしまう。
【0006】そこで、本発明は、検出された2次元的な
画像データを一時的に記憶した画像データメモリ上にお
いて情報コードの概略的な存在領域を推定することによ
り、その推定された概略的な存在領域に基づいて、その
後に情報コードの正確な位置を検出してデータ解読をす
る処理まで含めたコード読取処理に要する時間を短縮さ
せることを目的とする。
【0007】
【課題を解決するための手段及び発明の効果】上記目的
を達成するためになされた請求項1記載の情報コード概
略存在領域推定方法は、2次元画像検出手段にて検出し
た情報コード(バーコードや2次元コードなど)を含む
1画像領域分の画像データを画像データメモリに一時的
に記憶しておき、この画像データ中から情報コードの概
略存在領域を推定する。この推定方法の内容は後述する
が、概略存在領域としては、情報コードよりも大きく、
情報コードの全てが含まれる領域として推定されること
もあるし、あるいは情報コードの一部は含まれないよう
な概略存在領域として推定されることもある。
【0008】なお、このように情報コードの概略存在領
域を推定するのは、その後、推定された情報コードの概
略存在領域内に検査線を設定し、その設定した検査線に
沿って画像データを検査することで情報コードの正確な
存在領域を検出し、その検出された存在領域内の画像デ
ータに基づいて、その中に含まれている情報コードを読
み取ることを前提としている。したがって、このような
情報コードの正確な位置検出及びコード読取という処理
を行うための前処理という位置づけとなる。
【0009】このような前提において請求項1記載の推
定方法は、まず、画像データメモリ上における1画像領
域を複数の検査区域に分割し、その分割された検査区域
毎に、当該区域内に含まれる画像データに基づいて明暗
の変化点の数を計数する。そして、その計数された明暗
変化点数に基づいて、情報コードが存在する可能性の高
い検査区域を抽出し、その抽出された検査区域を、画像
データメモリ上における情報コードの概略的な存在領域
として推定するのである。
【0010】従来は、走査線に従って画像データメモリ
領域内の画像データを1画素ごとに検査していく手法で
あったが、本発明方法は、複数画素を1まとめにした検
査区域単位で概略的なコード存在領域を推定した後、そ
の推定された領域内においてのみ従来通りの1画素毎の
明暗パターンを検査するので、その検査範囲が小さくて
済む。また、概略的なコード存在領域の推定にあって
は、検査区域毎に計数した明暗変化点数の大小比較の
み、すなわち整数値の相対比較であるため、処理負荷は
小さくて済む。したがって、概略的な存在領域を推定し
た後に情報コードの正確な位置を検出してデータ解読を
する処理まで含めたコード読取処理に要する時間を短縮
させることができる。
【0011】なお、検査区域に関しては、特にその形状
が限定されるものではないが、処理効率を考慮すると、
請求項2に示すように設定することが好ましい。すなわ
ち、画像領域を水平方向へ走査するための主走査線及び
垂直方向へ走査するための副走査線とそれぞれ平行な線
によって区画される矩形の区域を検査区域とするのであ
る。2次元画像検出手段(例えばCCDエリアセンサ)
においては主走査線及び副走査線方向にマトリックス状
に画素が配列されているので、このように矩形領域に設
定した方がデータが扱いやすい。
【0012】また、情報コードが複数のセルによって構
成される2次元コードであり、検査区域を矩形領域に設
定する場合には、請求項3に示すように、検査区域を、
読取対象とするセルが画像データメモリ上で取り得る最
も小さいセルサイズよりも大きく設定することが好まし
い。このように、情報コードが2次元コードの場合に
は、検査区域をセルサイズよりも大きくすることによ
り、明暗セルが隣接している状態を確実に検出できる。
つまり、逆に検査区域がセルサイズよりも小さいと、実
際には2次元コードが存在している領域であるにもかか
らわず、明暗変化点が0という結果が生じてしまい、適
切でないからである。もちろん、明セル同士あるいは暗
セル同士が隣接している場合には、明暗変化点が存在し
ないこともあり得るが、少なくとも検査区域をセルサイ
ズよりも大きくすれば、明暗セルが隣接している状態を
確実に検出できる点で有効である。
【0013】この請求項3の考え方に基づけば、請求項
4に示すように、検査区域を、セルが画像データメモリ
上で取り得る最小サイズの2倍よりも大きくすることが
好ましい。この場合は、明セル同士あるいは暗セル同士
が2つ隣接している場合でも明暗変化点を確実に検出で
きる。そして、明暗セルが交互に隣接している状態の場
合には、明暗変化点がより多く検出されるため、2次元
コードの存在領域であることを、より確実に推定でき
る。つまり、単なる汚れなどの場合には明暗変化点数が
そう多くはならないが、明暗セルが交互に隣接する可能
性が高いという2次元コード特有の技術的性質に基づけ
ば、明暗変化点数が多いほど、存在の可能性が高くな
る。
【0014】また、請求項5に示すように、検査区域
を、画像領域を水平方向へ走査するための各主走査線に
対応する区域とすることも考えられる。画像領域は主走
査線に沿って走査されていくため、このように各主走査
線に対応する区域を検査区域とすれば、主走査線に沿っ
た走査が終了する毎に検査区域の明暗変化点数がされる
ため、処理負担は軽減する。但し、この場合には、主走
査線単位であるため、画像領域の副走査線方向における
明暗変化点数の多い部分を抽出することは可能である
が、主走査線方向に見た場合には、どの部分に明暗変化
点が多いかは判断できない。そこで、請求項6に示すよ
うに、上述した各主走査線に対応する区域をさらに所定
数に分割して、検査区域としてもよい。このようにすれ
ば、主走査線方向に見た場合に、どの部分に明暗変化点
が多いかの判断もできるようになる。
【0015】なお、検査区域のサイズに関しては、一般
論として、次のようなことが言える。サイズが小さけれ
ば、推定した概略的なコード存在領域が実際のコード存
在領域に近い形状として得られるが、検査区域数が多く
なるので、推定のための処理負荷は相対的に大きい。但
し、その後に実際のコード存在領域を検出(1画素毎に
処理)する場合の処理負荷は小さくなる。
【0016】反対に、サイズが大きければ、推定した概
略的なコード存在領域が実際のコード存在領域に対して
大きな形状として得られることとなる。つまり、検査区
域のほんの一部にしかコードが存在していない場合であ
っても、その(相対的に大きな)検査区域も概略的なコ
ード存在領域として扱ってしまうため、その後に実際の
コード存在領域を検出(1画素毎に処理)する場合の処
理負荷は大きくなる。但し、検査区域数が少なくなるの
で、推定のための処理負荷は相対的に小さい。
【0017】このように、検査区域の大小によって、領
域推定のための処理負荷とその後の領域検出のための処
理負荷は相反する結果となるので、両者の効果の有効性
を考慮して、適宜設定すればよい。次に、計数された明
暗変化点数に基づいてコードが存在する可能性の高い検
査区域を抽出し、その抽出された検査区域を情報コード
の概略的な存在領域として推定する際の手法について説
明する。
【0018】請求項7に示す手法は、抽出された検査区
域同士が隣接している場合には、その隣接している検査
区域群を、情報コードの概略的な存在領域として推定す
ることを前提とし、その検査区域群が複数存在する場合
の対処に関するものである。すなわち、この場合は、そ
の少なくとも一部が画像領域中央の所定範囲内に存在す
る検査区域群を、情報コードの概略的な存在領域である
可能性が高いとして推定する。
【0019】さらに、請求項8に示す手法は、請求項5
と同様に検査区域群が複数存在している場合であって、
検査区域群中に含まれる検査区域数が多いほど、情報コ
ードの概略的な存在領域である可能性が高いと推定す
る。画像領域内には情報コード以外の画像も入り込むこ
とがある。そこで、まず、対象となる情報コードが画像
領域の中央付近に存在する可能性が高いことに鑑み、請
求項7に示すように、検査区域群の少なくとも一部が画
像領域中央の所定範囲内に存在する検査区域群を、情報
コードの概略的な存在領域である可能性が高いと推定す
る。これは、コード読取操作においては、画面のなるべ
く中央にコードが来るようにユーザが操作する可能性が
高いことを考慮したものである。
【0020】そして、画像領域中央の所定範囲内に存在
する場合はもちろん、存在しない場合についても、請求
項8に示すように検査区域群のサイズに着目し、サイズ
が大きいほどコード存在領域である可能性が高いとする
ことにより、情報コードの存在領域であると考えられる
範囲を優先して取り扱うことができる。例えば図柄など
で大きな面積を持つ部分は明暗変化点数としては少なく
なるので、抽出される検査区域群が大きくなることはな
い。一般的には、情報コードに対応する検査区域群が最
大になると思われる。したがって、検査区域群の少なく
とも一部が画像領域中央の所定範囲内に含まれ、且つ検
査区域群を構成する検査区域数が多いものが、最も情報
コードの概略的な存在領域としての可能性が高いと推定
される。
【0021】ところで、検査区域に関しては、請求項9
に示すように、1の上位検査区域が複数の下位検査区域
に分割された階層構造を採用することも考えられる。も
ちろん2階層でも3階層でもよい。そして、次のような
情報コードの概略存在領域の推定を行う。すなわち、ま
ず、上位検査区域毎に当該区域内に含まれる明暗変化点
数が所定の上位検査区域用閾値以上の区域を抽出する。
続いて、その抽出された区域同士が隣接して構成される
上位検査区域群の周辺部に位置する上位検査区域につい
て、当該上位検査区域内を構成する下位検査区域毎に当
該区域内に含まれる明暗変化点数が所定の下位検査区域
用閾値以上の区域と所定の下位検査区域用閾値未満の区
域とを区別する。そして、抽出した上位検査区域群か
ら、所定の下位検査区域用閾値未満として区別された下
位検査区域を除外した領域を、画像データメモリ上にお
ける前記情報コードの概略的な存在領域として推定する
のである。
【0022】抽出された上位検査区域は、その区域内に
情報コードが含まれる可能性が高いのであるが、情報コ
ードの中央付近に該当する上位検査区域では、区域内の
全部に情報コードが存在するが、情報コードの周辺部に
該当する上位検査区域では、区域内の一部にしか情報コ
ードが存在しない場合もある。そこで、抽出された上位
検査区域同士が隣接して構成される上位検査区域群の周
辺部に位置する上位検査区域については、小さな下位検
査区域の単位で、所定の下位検査区域用閾値以上の区域
と所定の下位検査区域用閾値未満の区域とを区別する。
そして、下位検査区域用閾値未満として区別された下位
検査区域を、抽出した上位検査区域群から除外すれば、
その領域は、情報コードの実際の存在領域により近い概
略的存在領域となる。
【0023】このようにすれば、最初から小さな検査区
域を設定して、各検査区域毎に判定していく場合に比べ
て、処理効率が向上する。一方、検査区域毎の明暗変化
点数の計数に関しては、請求項10に示すような手法を
採用することができる。つまり、2次元画像検出手段に
て検出された画像データが画像データメモリに出力され
て記憶される処理と並行して実行し、その計数された明
暗変化点数と前記検査区域との対応関係をテーブル化し
て記憶しておく。そして、この記憶された変化点数に基
づいて情報コードが存在する可能性の高い検査区域を抽
出するのである。
【0024】本推定方法は、その後に、情報コードを読
み取る処理へ移行するための前処理として位置づけられ
るものであるため、2次元画像検出手段にて検出された
画像データ自体も画像データメモリに記憶しておく必要
がある。そこで、画像データメモリへ出力される過程と
並行して画像データを取得し、明暗変化点のみをカウン
トする処理を行う。このようにすれば、1画像領域分の
画像データを記憶してから、その記憶された画像データ
を走査して明暗変化点を検出するのに比べて、処理時間
の短縮が実現される。これは、コード読取全体に要する
時間の短縮にも寄与する。
【0025】また、明暗変化点数の計数方法に関して
は、請求項11に示す手法を採用してもよい。すなわ
ち、現時点までに取り込んだ画像データの明暗度合いを
示すデータの内、最も明るいデータ及び最も暗いデータ
を所定のメモリ領域に更新しながら記憶していく。それ
と共に、それら最も明るいデータ及び最も暗いデータの
中間値を計算する。そして、新たに取り込むデータにつ
いてはその中間値と比較することで明暗の判定を行い、
その明暗判定処理の結果、明暗が変化した数を計数する
のである。
【0026】2次元画像検出手段から出力される画素毎
の画像データ(輝度データ)について、それまでに検出
された最も明るい画像データと最も暗いデータの中間値
を明暗判定の基準値としていく。例えば明るさを数値化
した場合、数字が大きくなるほど明るくなる画像データ
を考え、1〜15まであるとする。最初15が入ってく
ると、最も明るい画像データと最も暗いデータは共に1
5であり、中間値も15となる。その後、15が続けて
入ってきている間は変化なしであるが、例えば9が入っ
てくると、最も暗いデータが9に更新され、中間値は1
2となる。さらに、1が入ってくると、最も暗いデータ
が1に更新され、中間値は8となる。これが収束値とな
る。したがって、8を基準として明暗判定すればよい。
【0027】なお、明暗判定の基本は中間値との比較で
ある。具体的には、入力値≧中間値であれば明、入力値
<中間値であれば暗とすることが考えられるが、明暗判
定の確実性を増すため、請求項12に示すようにするこ
とも考えられる。まず、次のような明下限値及び暗上限
値を用いることを前提とする。すなわち、最も明るいデ
ータから所定の余裕値だけ暗いデータを暗上下限値と
し、最も暗いデータから所定の余裕値だけ明るいデータ
を明下限値とする。そして、明暗判定に際しては、新た
に取り込むデータが中間値以上であり、且つ前記明下限
値以上である場合には明であると判定し、一方、新たに
取り込むデータが中間値よりも暗くて、且つ暗上限値以
下である場合には暗であると判定するのである。なお、
明下限値を定めるために用いる余裕値及び暗上限値を定
めるために用いる余裕値については、それぞれ別々の値
を設定してもよいが、両者を等しくしてもよい。
【0028】例えば、明るさの度合いを1〜15で表し
た上述の画像データにおいて、明下限値及び暗上限値を
定めるための余裕値をそれぞれ5とすると、中間値より
も小さい場合であっても、最も明るいデータよりも5以
上小さくなければ暗としては認めないようにし、また、
中間値以上であっても、最も暗いデータよりも5以上大
きくなければ明として認めないのである。このようにす
ることで、例えば中間値が3のときに明るさの度合いが
4の画像データが入ってきても、それは最も暗いデータ
よりも5以上大きくはないので「明データ」として認め
ないこととなり、実状にあった判定となる。
【0029】なお、検査区域に属する操作線が複数存在
する場合には、明暗変化点数の計数に当たっては、請求
項13に示すような手法を採用できる。つまり、1つの
走査線毎に明暗変化点数の計数を行うことを前提とし、
検査区域毎に、その検査区域内の画像データに基づく明
暗変化点数を一時的に記憶していくと共に、その検査区
域に属する1の走査線に対する計数が終了した時点で前
の走査線までに計数した明暗変化点数を累積記憶してい
く。そして、その検査区域に属する全走査線に対する計
数が終了した時点での明暗変化点数の累積値を、その検
査区域内の画像データに基づく明暗変化点数とする。一
般的には、主走査線毎に処理するため、このような計数
手法が採用されることとなる。
【0030】また、以上説明した情報コード概略存在領
域推定方法においては、情報コードが存在する可能性の
高い検査区域を抽出するために明暗変化点数に基づいて
いたが、さらに、請求項14に示すように判定指標を用
いても良い。すなわち、検査区域毎に含まれる画像デー
タの明暗度合いを示すデータの平均値を求め、その求め
た明暗度合いを示すデータの平均値も加味して、情報コ
ードが存在する可能性の高い検査区域を抽出するのであ
る。具体的には、例えば明暗度合いを示すデータの平均
値に基づいて、情報コードの存在する可能性の高い検査
区域を概略的に抽出しておき、その中から、計数された
明暗変化点数に基づいて抽出したり、あるいは、明暗変
化点数と画像データの明暗度合いを示すデータの平均値
という2つの判定指標に基づいてそれぞれ抽出した領域
の重なる部分を、最終的に抽出する、といった種々の用
い方が考えられる。
【0031】ところで、以上説明したのは情報コード概
略存在領域推定方法であったが、上述したように、本推
定方法は、その後に、情報コードを読み取る処理へ移行
するための前処理として位置づけられるものである。そ
のため、請求項15に示すように、以上説明した方法で
推定された情報コードの概略存在領域内に検査線を設定
し、その設定した検査線に沿って画像データを検査する
ことで情報コードの正確な存在領域を検出し、その検出
された存在領域内の画像データに基づいて、その中に含
まれている前記情報コードを読み取る2次元コード読取
方法という概念で技術思想を捉えることもできる。
【0032】また、この2次元コード読取方法を用いた
2次元コード読取装置としては、例えば請求項16に示
すような構成を採用することができる。すなわち、2次
元画像検出手段と、2次元画像検出手段にて検出した情
報コードを含む1画像領域分の画像データを一時的に記
憶しておく画像データメモリと、画像データメモリ上に
おける情報コードの概略的な存在領域を、請求項1〜1
3のいずれか記載の情報コード概略存在領域推定方法に
よって推定し、その推定された情報コードの概略存在領
域内に検査線を設定し、その設定した検査線に沿って画
像データを検査することで情報コードの正確な存在領域
を検出する存在領域検出手段と、存在領域検出手段にて
検出された存在領域内の画像データに基づいて、その中
に含まれている情報コードを読み取る読取手段とを備え
る構成である。
【0033】なお、請求項17,18に示すように、請
求項1〜14のいずれか記載の情報コード概略存在領域
推定方法、あるいは請求項15又は16記載の情報コー
ド読取方法を実行する機能は、例えば、デジタル回路や
コンピュータシステム側で起動するプログラムとして備
えられる。プログラムで実現する場合、例えば、フロッ
ピーディスク、光磁気ディスク、CD−ROM、ハード
ディスク等の機械読み取り可能な記録媒体に記憶し、必
要に応じてコンピュータシステムにロードして起動する
ことにより用いることができる。この他、ROMやバッ
クアップRAMを機械読み取り可能な記録媒体として前
記プログラムを記憶しておき、このROMあるいはバッ
クアップRAMをコンピュータシステムに組み込んで用
いても良い。
【0034】
【発明の実施の形態】以下に、本発明の好適な実施例を
図面に基づいて説明する。尚、本発明の実施の形態は、
下記の実施例に何ら限定されるものではなく、本発明の
技術的範囲に属する限り種々の形態を採り得ることはい
うまでもない。
【0035】[第1実施例]図1のブロック図に、実施
例としての情報コード読取装置1の概略的な構成を示
す。情報コード読取装置1は、制御回路10と、照明発
光ダイオード(照明LED)11と、CCDエリアセン
サ12と、増幅回路13と、A/D変換回路14と、同
期パルス出力回路16と、アドレス発生回路17と、画
像メモリ20と、スイッチ群31と、液晶表示器32
と、通信I/F回路33と、2値化回路50とを中心に
して構成されている。
【0036】制御回路10は、CPU、ROM、RA
M、I/O等を備えたコンピュータシステムとして構成
され、ROMに記憶されているプログラムに従って後述
する読取処理等を実行し、情報コード読取装置1の各構
成を制御している。照明LED11は、読取対象の2次
元コードに対して照明用の赤色光を照射するものであ
る。
【0037】CCDエリアセンサ12は、2次元的に配
列された複数の受光素子であるCCDを有しており、外
界を撮像してその2次元画像を水平方向の走査線信号と
して出力する。この走査線信号は増幅回路13によって
増幅されてA/D変換回路14に出力される。
【0038】増幅回路13は、制御回路10から入力し
たゲインコントロール電圧に対応する増幅率で、CCD
エリアセンサ12から出力された走査線信号を増幅す
る。A/D変換回路14は、増幅回路13にて増幅され
たアナログの走査線信号をディジタル信号に変換して、
画像メモリ20に出力する。CCDエリアセンサ12で
は繰り返し画像を検出するので、その検出が繰り返され
る度に、画像メモリ20内の画像データは更新される。
【0039】同期パルス出力回路16は、CCDエリア
センサ12から出力される2次元画像データのパルスよ
り十分に細かい同期パルスを出力する。アドレス発生回
路17はこの同期パルスをカウントして、画像メモリ2
0に対するそれぞれのアドレスを発生させる。
【0040】画像メモリ20は、画像データメモリ20
aと、変化点数メモリ20bと、2次元画像メモリ20
cとを備えている。上述したA/D変換回路14にてデ
ィジタル信号に変換された画像データは、画像メモリ2
0中の画像データメモリ20aに格納される。
【0041】また、A/D変換回路14にてディジタル
信号に変換された画像データは、2値化回路50にも出
力される。この2値化回路50については後述する。ス
イッチ群31は、利用者が読取処理の開始を指示するた
めの読取スイッチや、テンキーあるいは各種ファンクシ
ョンキーを備えており、情報入力のために用いられる。
【0042】液晶表示器32は、読み込んだ2次元コー
ドなどを表示するためなどに用いられる。通信I/F回
路33は、ホストコンピュータなどとの間で通信を行う
ものであり、例えば図示しない通信用発光素子を介して
データを外部装置に送信したり、図示しない通信用受光
素子を介して外部装置からの信号(例えばシステムを動
かすためのプログラムや、解読した情報コードのデータ
送信を指示する命令等)を受信する。もちろん、ホスト
コンピュータと有線で接続する構成を採用してもよい。
【0043】続いて、2値化回路50の詳細について、
図2,3を参照して説明する。図2は2値化回路50を
構成する要素について概略的な機能別にまとめたブロッ
ク図であり、図3は、さらに詳細な機能別にまとめたブ
ロック図である。図2に示すように、2値化回路50
は、明比較器51と、暗比較器52と、明暗判定器53
と、カウンタ54と、余裕値記憶ブロック55と、ブロ
ックアドレス制御回路56とを備えている。そして、A
/D変換回路14にてディジタル信号に変換されて出力
された画像データは、明比較器51と、暗比較器52
と、明暗判定器53とに入力する。明比較器51及び暗
比較器52から出力されるデータは明暗判定器53に入
力され、明暗判定器53からの出力データはカウンタ5
4及び画像メモリ20内の2次元画像メモリ20cへ入
力される。また、カウンタ54からの出力、つまりカウ
ント値は、画像メモリ20内の変化点数メモリ20bへ
入力される。
【0044】また、制御回路10からのリードライト制
御信号は、明比較器51、暗比較器52、明暗判定器5
3、余裕値記憶ブロック55、ブロックアドレス制御回
路56のそれぞれに入力している。一方、アドレス発生
回路17からのアドレス制御信号は、ブロックアドレス
制御回路56へ入力しており、そのブロックアドレス制
御回路56からの制御信号は、画像メモリ20内の変化
点数メモリ20bへ入力されている。なお、アドレス発
生回路17からのアドレス制御信号は、画像メモリ20
内の画像データメモリ20a及び2次元画像メモリ20
cにも入力されている。
【0045】以上は、2値化回路50の概略的な説明で
あったので、図3を参照してさらに詳しく説明する。な
お、図3においては、図2に示した要素を構成するブロ
ックであることを示すため、同じ数字の後に小文字の英
字を付した。例えば明比較器51であれば、比較ブロッ
ク51aと、明データ記憶ブロック51bと、減算ブロ
ック51cと、暗上限記憶ブロック51dとを備えると
いう具合である。それ以外の要素についても同様に示し
た。
【0046】明比較器51の構成要素については説明し
たが、暗比較器52は、比較ブロック52aと、暗デー
タ記憶ブロック52bと、加算ブロック52cと、明下
限記憶ブロック52dとを備える。また、明暗判定器5
3は、除算ブロック53aと、中間値記憶ブロック53
bと、明比較ブロック53cと、暗比較ブロック53d
と、中間比較ブロック53eと、明比較ブロック53
c、暗比較ブロック53d及び中間比較ブロック53e
からの出力信号を入力して、所定の判定条件に基づく明
暗判定を行う明暗判定ブロック53fと、直前値記憶回
路53gと、比較ブロック53hとを備えている。な
お、カウンタ54及び余裕値記憶ブロック55は図2に
示したものと同じである。また、ブロックアドレス制御
回路56は、主走査区分設定ブロック56aと、副走査
区分設定ブロック56bと、区域制御ブロック56cと
を備えている。
【0047】続いて、これらの要素間の信号のやりとり
について説明する。まず、図2の明比較器51に属する
構成に関して説明する。A/D変換回路14(図2参
照)から出力された(A/D変換後の)画像データは、
比較ブロック51a及び明データ記憶ブロック51bに
入力する。比較ブロック51aには明データ記憶ブロッ
ク51bからの出力信号も入力しており、すなわち比較
ブロック51aでは、順次入力される画像データの明る
さを示すデータを従前に入力されたデータと比較し、よ
り明るい方を明データ記憶ブロック51bへ出力する。
したがって、明データ記憶ブロック51bには、それま
でに入力された中で最も明るいデータ(以下、これを明
データと称す。)が更新されながら記憶されることとな
る。なお、本実施例においては、具体例として後述する
ように、明るさを1〜15で示しており、数字が大きく
なるほど明るいことを前提として説明を進めることとな
る。
【0048】そして、減算ブロック51cでは、余裕値
記憶ブロック55より出力された暗余裕値を、この明デ
ータ記憶ブロック51bより出力される明データから減
算して暗上限記憶ブロック51dに出力する。したがっ
て、暗上限記憶ブロック51dには、暗上限値として、
明データから暗余裕値を減算した値が更新されながら記
憶されることとなる。なお、この暗上限値とは、明暗判
定の際に「暗」と判定する上限の値を指し、それまでの
入力データの内で最も明るいとされる明データから所定
の暗余裕値を減算した値よりも大きな値となる範囲では
とても暗とは認められない、という判定のために用いる
ものである。
【0049】次に、図2の暗比較器52に属する構成に
関して説明する。A/D変換後の画像データは、比較ブ
ロック52a及び暗データ記憶ブロック52bに入力す
る。比較ブロック52aには暗データ記憶ブロック52
bからの出力信号も入力しており、すなわち比較ブロッ
ク52aでは、順次入力される画像データの明るさを示
すデータを従前に入力されたデータと比較し、より暗い
方を暗データ記憶ブロック52bへ出力する。したがっ
て、暗データ記憶ブロック52bには、それまでに入力
された中で最も暗いデータ(以下、これを暗データと称
す。)が更新されながら記憶されることとなる。そし
て、加算ブロック52cでは、余裕値記憶ブロック55
より出力された明余裕値を、この暗データ記憶ブロック
52bから出力される暗データに加算して明下限記憶ブ
ロック52dに出力する。したがって、明下限記憶ブロ
ック52dには、明下限値として、暗データに明余裕値
を加算した値が更新されながら記憶されることとなる。
なお、この明下限値とは、明暗判定の際に「明」と判定
する下限の値を指し、それまでの入力データの内で最も
暗いとされる暗データに所定の明余裕値を加算した値よ
りも小さな値となる範囲ではとても明とは認められな
い、という判定のために用いるものである。
【0050】次に、図2の明暗判定器53に属する構成
に関して説明する。除算ブロック53aには明データ記
憶ブロック51bからの明データと暗データ記憶ブロッ
ク52bからの暗データが入力しており、それらが加算
した後に2で除されて、明データと暗データの中間の値
が算出されることとなる。つまり、その時点までに入力
されている明るさを示すデータの内、最も明るいデータ
と最も暗いデータの中間の値が算出されて中間値記憶ブ
ロック53bに記憶される。
【0051】また、明比較ブロック53c、暗比較ブロ
ック53d及び中間比較ブロック53eには、それぞれ
A/D変換後の画像データが入力している。そして、明
比較ブロック53cでは、その入力された画像データの
明るさを明下限記憶ブロック52dからの明下限値と比
較し、その比較結果を明暗判定ブロック53fに出力す
る。一方、暗比較ブロック53dでは、その入力された
画像データの明るさを暗上限記憶ブロック51dからの
暗上限値と比較し、その比較結果を明暗判定ブロック5
3fに出力する。さらに、中間比較ブロック53eで
は、その入力された画像データの明るさを中間値記憶ブ
ロック53bからの中間値と比較し、その比較結果を明
暗判定ブロック53fに出力する。
【0052】この明暗判定ブロック53fにおいては、
次のような明暗判定を行う。すなわち、明であるか否か
の判定には、明比較ブロック53cにおける判定結果と
中間比較ブロック53eからの比較結果を用いて、入力
値≧中間値、且つ入力値≧明下限値であれば明と判断す
る。一方、暗であるか否かの判定には、暗比較ブロック
53dにおける判定結果と中間比較ブロック53eから
の比較結果を用いて、入力値<中間値、且つ入力値≦暗
下限値であれば暗と判断する。明暗の判定ができた場合
には、当然その判定結果を出力するが、上述した明暗の
判定条件をいずれも満たさない場合には明暗判定ができ
ないものとして、前回の判定結果を出力するようにされ
ている。なお、例えば明であれば1、暗であれば0とし
て出力する。
【0053】この明暗判定ブロック53fでの判定結果
は、図2に示す画像メモリ20内の2次元画像メモリ2
0cへ出力されると共に、直前値記憶回路53g及び比
較ブロック53hにも出力される。そして、比較ブロッ
ク53hは、明暗判定ブロック53fからの出力値を、
直前値記憶回路53gに記憶された直前値と比較し、変
化している場合にのみカウンタ54へ出力する。つま
り、明暗が変化するとカウンタ54へ出力されるのであ
る。なお、カウンタ54は、比較ブロック53hからの
出力に基づいて明暗が変化した数を計数し、その計数し
た明暗変化点数を、画像メモリ20中の変化点数メモリ
20bへ出力する。
【0054】次に、図2のブロックアドレス制御回路5
6に属する構成に関して説明する。区域制御ブロック5
6cは、アドレス発生回路17(図1参照)からのアド
レス制御信号に基づくと共に、主走査区分設定ブロック
56a及び副走査区分設定ブロック56bからの設定に
応じて区域制御を行う。詳しくは、設定された検査区域
の主走査線上の区分点と副走査線上の区分点とから検査
区域毎の変化点数の格納アドレスを制御し、カウンタ5
4を制御する。なお、区域制御ブロック56cからの区
域制御信号は、画像メモリ20中の変化点数メモリ20
bへも出力されている。
【0055】また、主走査区分設定ブロック56a及び
副走査区分設定ブロック56bは、制御回路10(図1
参照)からのリードライト制御信号によって制御されて
いる。なお、上述した暗上限記憶ブロック51d、明下
限記憶ブロック52d、中間値記憶ブロック53b及び
余裕値記憶ブロック55も、このリードライト制御信号
によって制御されている。
【0056】このような構成を備えた本実施例の情報コ
ード読取装置1は、まず制御回路10の指示により、C
CDエリアセンサ12にて2次元コードの2次元画像を
検出する。CCDエリアセンサ12は、2次元画像を検
出すると、アナログ信号にて2次元画像データを出力す
る。CCDエリアセンサ12から出力され増幅回路13
によって増幅された走査線信号はA/D変換回路14に
よってディジタルデータに変換され、この1画像領域分
のデータは画像メモリ20中の画像データメモリ20a
に一時記憶される。
【0057】具体的には、図4(a)に示すように、C
CDエリアセンサ12の左上の画素を開始点の画素P1
とし、左から右へ移動すると共に、上から下へ移動する
ような順番で最終的には右下の画素が終了点の画素Pn
となる。そして、図4(b)に示すように、その順番
(P1〜Pn)で画像データメモリ20a内の所定のア
ドレスA(P1)〜A(Pn)に格納される。なお、以
下の説明においては、実際には画像データメモリ20a
内のデータを用いて処理するのであるが、視覚的に理解
が容易となるように、図4(a)に対応するような2次
元の画像領域を想定して進めることとする。
【0058】本実施例においては、画像データメモリ2
0aに一時記憶された1画像領域分のデータの全てを対
象としてコード読取処理を行うのではなく、情報コード
の概略存在領域を推定した後、情報コード読取処理を行
う。そして、この情報コードの概略存在領域の推定に際
しては、画像データメモリ20a上における1画像領域
を複数の検査区域に分割し、その分割された検査区域毎
に、その区域内に含まれる画像データに基づいて明暗の
変化点の数を計数して、その計数値に基づいて推定を行
う。そこで、まず、この明暗変化点数の計数処理につい
て、図を参照して説明する。
【0059】最初に検査区域について説明する。図5
(a)に示すように、画像領域を水平方向へ走査するた
めの主走査線及び垂直方向へ走査するための副走査線と
それぞれ平行な線によって区画される矩形の区域を検査
区域とする。これは、CCDエリアセンサ12において
は主走査線及び副走査線方向にマトリックス状に画素が
配列されているので、このように矩形領域に設定した方
がデータが扱い易いからである。
【0060】なお、図5(a)においては、画像領域を
横G個×縦H個の検査区域に分割し、各検査区域が横a
画素×縦b画素とされている。なお、図においてはG=
8,H=10,a=b=8とされており、この想定で
は、画像領域のサイズが横80×縦64画素となってし
まう。一般的に、640×480画素といったレベルの
解像度のものが用いられるが、ここでは、図に基づく直
感的理解を容易にするために、あえてこのような簡易モ
デルを用いることとする。
【0061】そして、このような設定の検査区域におい
て、1セルが4×4画素の2次元コードの一部を図5
(b)に示すように捉えた場合を考える。明暗変化点
は、各主走査線について計数するため、この場合は、8
本の主走査線について、それぞれ、0,0,2,2,
2,2,2,2となり、それらの累積値が12となる。
したがって、この検査区域の明暗変化点数は12とな
る。このようにして、各検査区域の明暗変化点数を求め
るのである。
【0062】次に、明暗変化点数をカウントするまでの
処理内容について、図3の構成説明に際して概略を説明
したが、さらに補足説明する。CCDエリアセンサ12
から出力される画素毎の画像データについて、それまで
に検出された最も明るい画像データと最も暗いデータの
中間値を明暗判定の基準値とする。例えば数字が大きく
なるほど明るくなる画像データを「1〜15」の範囲で
考える。最初15のデータが入ってくると、明データと
暗データは共に15であり、中間値も15となる。その
後、15が続けて入ってきている間は変化なしである
が、例えば9が入ってくると、暗データが9に更新さ
れ、中間値は12となる。さらに、1が入ってくると、
暗データが1に更新され、中間値は8となる。これが収
束値となる。したがって、その後は8を基準として明暗
判定する。
【0063】また、明暗判定の基本は中間値との比較で
あるため、入力値≧中間値であれば明、入力値<中間値
であれば暗とするが、本実施例では、明暗判定の確実性
を増すために不感帯を設けている。つまり、入力値≧中
間値であっても、入力値が明下限値未満であれば明とは
判定せず、同様に、入力値<中間値であっても、入力値
が暗上限よりも大きければ暗とは判定しない。つまり、
入力値≧中間値、且つ入力値≧明下限値の場合にのみ明
とし、入力値<中間値、且つ入力値≦暗上限値の場合に
のみ暗とする。これらの条件に合致しない場合には明暗
判定はせず、上述したように前回の判定結果を援用す
る。
【0064】そのため、具体的には次のようになる。な
お、ここでは暗上限値は最大値−5であるとし、明下限
値は最小値+5を想定し、中間値の計算においては小数
点以下は切り上げている。また、明暗判定できない場合
を×で示してある。 入力順番 入力値 15,15, 8, 1, 1, 1, 8,15 最大値(明) 15,15,15,15,15,15,15,15 最小値(暗) 15,15, 8, 1, 1, 1, 1, 1 中間値 15,15,12, 8, 8, 8, 8, 8 暗上限値 10,10,10,10,10,10,10,10 明下限値 20,20,13, 6, 6, 6, 6, 6 明暗判定 × × 暗 暗 暗 暗 明 明 この具体例においては、入力順番,における入力値
が15であるので、最大値、最小値及び中間値が共に1
5になり、暗上限値は10、明下限値は20となる。入
力値(15)≧中間値(15)であるため「明」の可能
性があるが、入力値(15)は明下限値(20)以上で
はないので、明とは判定されない。当然「暗」とは判定
されないので、明暗判定不可能(×)とされる。
【0065】そして、入力順番において入力値が8と
なると、最小値も8となり、中間値が12となる。する
と、入力値(8)<中間値(12)となり、且つ入力値
(8)も暗上限値(10)以下となるので、暗と判定さ
れる。入力順番,では明暗判定不可能(×)であっ
たものがで暗となったので、この場合には明暗変化が
あったものと考える。
【0066】続くにおける入力値は1であるので、最
小値も1となり、中間値が8となる。すると、入力値
(1)<中間値(8)となり、且つ入力値(1)も暗上
限値(10)以下であるので、暗と判定される。なお、
この時点で最大値15と最小値1が出現しているので、
暗上限値10及び明下限値6はこれ以降同じとなる。入
力順番,でも同様である。
【0067】そして、入力順番において入力値が8と
なると、入力値(8)≧中間値(8)となり、且つ入力
値(8)も明下限値(6)以上となるので、明と判定さ
れる。入力順番では暗と判定されていたものがで明
となったので、この場合には明暗変化があったものと考
える。したがって、ここで示した例でいえば、明暗変化
点数が2となる。なお、入力順番では入力値が8であ
るが暗と判定されていたが、それは取り得る最小値
(1)がその時点で出現していなかったからである。上
述したように、入力順番までにおいて最大値15と最
小値1が出現して、暗上限値10及び明下限値6はこれ
以降同じとなるため、今後は、入力値が8以上であれば
明と判定され、8未満であれば暗と判定されることとな
る。
【0068】それではここで、各検査区域の明暗変化点
数を求めるための処理を図6のフローチャートを参照し
て説明する。最初のステップS110では、変数g,h
を共に初期値1に設定し、続くS120においては、J
番目の走査線に沿ってI番目の画像データを検査して、
変化点数を累積カウントする。
【0069】続いて、検査した画像データの位置を示す
Iがa×gであるか否かを判定する(S130)。これ
は、主走査線に沿って横方向にg検査区域分だけ検査し
たか否かを判定する処理であり、Iがa×gとなってい
なければ(S130:NO)、主走査線に沿ってg検査
区域分を検査していないので、S120へ戻る。一方、
Iがa×gとなれば、主走査線に沿ってg検査区域分だ
け検査したこととなるので(S130:YES)、S1
40へ移行する。
【0070】S140では、S120にて得た累積カウ
ント値を(g,h)区域の明暗変化点数に加算して記憶
する。そして、変数gをインクリメント(g=g+1)
してから(S150)、変数gが検査区域の横方向の総
数Gよりも大きいか否かを判定する(S160)。これ
は、1画像領域の横方向分だけ主走査線による検査をし
たか否かを判定する処理であり、g>Gとなっていなけ
れば(S160:NO)、S120へ戻る。一方、g>
Gとなれば、1画像領域の横方向分だけ主走査線による
検査をしたこととなるので(S160:YES)、S1
70へ移行する。
【0071】S170では、変数hが検査区域の縦方向
の総数Hに一致したか否かを判定する。これは、1画像
領域の縦方向分だけ主走査線による検査をしたか否かを
判定する処理であり、hとHが一致していなければ(S
170:NO)、検査に用いている走査線が何番目のも
のであるかを示すJがb×hであるか否かを判定する
(S180)。これは、主走査線に沿った検査を縦方向
にh検査区域分行ったか否かを判定する処理であり、J
がb×hとなっていなければ、まだ主走査線に沿った検
査を縦方向にh検査区域分行っていないので((S18
0:NO)、S120へ戻る。一方、Jがb×hとなれ
ば、主走査線に沿った検査を縦方向にh検査区域分行っ
たこととなるので(S180:YES)、S190へ移
行する。
【0072】S190で変数hをインクリメント(h=
h+1)してから、S120へ戻る。このような処理を
繰り返し、S170にて肯定判断となった場合には、1
画像領域の縦方向分だけ主走査線による検査をした、つ
まり1画像領域の全てについて検査したこととなるの
で、本処理を終了する。
【0073】このような明暗変化点数の計数処理がなさ
れると、各検査区域単位での明暗変化点数が得られる。
その各検査区域における明暗変化点数の表の一例を図5
(c)に示す。細い線や小さな点は画素単位で明暗が分
かれるので、明暗の「変化」は与えない。また、図柄な
どの大きな面積を持つ場合は、明暗変化点の数としては
少なくなる。したがって、明暗変化点数が多い部分に情
報コードが存在する可能性が高いと考えられる。
【0074】このような状況を踏まえ、各検査区域の明
暗変化点数に基づいて、情報コードの概略存在領域を推
定し、情報コードの読取を行う。この処理について、図
7のフローチャートなどを参照して説明する。図7の最
初のステップS210では、各検査区域の変化点数を所
定値と比較し、所定値以上の検査区域と所定値未満の検
査区域の配列表を作成する。図8(a)には、その配列
表の一例を示す。ここでは、理解を容易にするため、所
定値を1として、明暗変化点数が1以上の検査区域と0
の検査区域とに区別した(図8(a)では斜線の有無に
て区別している)。なお、実際には、所定値が1である
と、画像領域内のかなりの検査区域にて1以上となって
しまうおそれがあるため、もう少し大きな値が好まし
い。例えば、明暗変化点数の最大値と最小値の差分の3
分の1を最小値に加えた値などが考えられる。例えば最
大値が「18」、最小値が「0」であれば、その差分
「18」の3分の1である「6」を最小値0に加えた値
「6」を所定値とする、といった具合である。
【0075】図7のフローチャートの説明に戻り、続く
S220では、明暗変化点数が所定値以上の検査区域が
主走査線方向に連続しているか、副走査線方向に連続し
ている検査区域群を求め、各検査区域群に含まれる検査
区域数を求める。そして、S230において、所定条件
に合致する検査区域群から順に、コード記録領域の第1
候補、……第N候補とする。
【0076】本実施例では、所定条件として、まず第1
に、検査区域群の少なくとも一部が画像領域中央の所定
範囲(図8(b)参照)内に存在するか否かという条件
にて候補順位の高低を判定する。そして第2に、検査区
域群中に含まれる検査区域数が多いほど候補順位を高く
する。したがって、検査区域群の少なくとも一部が所定
範囲内に含まれ、且つ検査区域群を構成する検査区域数
が多いものが、ここでいう第1候補となる。
【0077】このように所定条件に基づいて候補順位を
決定したのは次の理由からである。画像領域内には情報
コード以外の画像も入り込むことがある。そこで、ま
ず、対象となる情報コードが画像領域の中央付近に存在
する可能性が高いことに鑑み、検査区域群の少なくとも
一部が画像領域中央の所定範囲内に存在する検査区域群
を、情報コードの概略的な存在領域である可能性が高い
と推定することとした。これは、コード読取操作におい
ては、画面のなるべく中央にコードが来るようにユーザ
が操作する可能性が高いことを考慮したものである。
【0078】そして、画像領域中央の所定範囲内に存在
する場合はもちろん、存在しない場合についても、検査
区域群のサイズに着目し、サイズが大きいほどコード存
在領域である可能性が高いとすることにより、情報コー
ドの存在領域であると考えられる範囲を優先して取り扱
うことができる。例えば図柄などで大きな面積を持つ部
分は明暗変化点数としては少なくなるので、抽出される
検査区域群が大きくなることはない。一般的には、情報
コードに対応する検査区域群が最大になると思われる。
したがって、このような所定条件が、情報コードの概略
的な存在領域としての可能性の高さを反映するものとし
て適切である。
【0079】図7に戻り、S240にて変数mを初期値
1に設定した後、第m候補の検査区域群を詳細に検査し
てコードの解読を行う(S250)。このS250にお
けるコード解読処理は、大きく分けると、コード領域検
出処理とコード読取処理の2つになる。それらについて
説明する。
【0080】ここでは、図8(c)に示すように、情報
コードとして矩形外周の隣接する2辺に実線パターンを
有する2次元コード101が存在していると仮定する。
この2次元コード101の場合には、一般的に、主走査
線に平行な検査線を設定して検査していき、暗パターン
を検出した場合には、その暗パターンを辿ることによっ
てL字パターンの有無を検査する。つまり、図8(c)
で言えば、2次元コード101の外周の隣接する2辺に
存在する実線パターンL1,L2の有無を検出するので
ある。具体的には、検査線によって実線パターンL1が
検出された明暗変化点を基準とし、その明暗の境界線に
沿って境界線の長さ、この場合であれば暗パターンの長
さを調べる。そして、このように2次元コード101の
1辺に相当する暗パターン(この場合には実線パターン
L1)の存在が確認された場合には、その暗パターンの
端部から折れ曲がって同様に暗部の長さを調べる。2次
元コード101の他の1辺に相当する暗パターン(この
場合には実線パターンL2)の存在を確認できれば、こ
れにより「L字パターン」があることが判る。
【0081】このように検査線にて実線パターンL1,
L2を検出する際、図8(c)からも判るように、設定
する検査線が検査区域群内においてのみ設定されてい
る。つまり、画像領域全体に検査線が設定されるのでは
なく、検査区域群内においてのみ設定されるため、検査
の無駄(つまり実線パターンを検出できない処理)が飛
躍的に減少する。
【0082】このようにしてL字パターンが検出できれ
ば、2次元コード101が存在する領域(コード領域)
を計算する。この場合はL字パターンが正方形の2辺で
あることから、容易にコード領域を計算することができ
る。そして、コード領域が計算できれば、その計算され
たコード領域内の明暗パターンを解読し、記録されてい
る情報を解読(デコード)する。
【0083】S250にてコードの解読ができた後は、
正常に解読できたか否かを判定する(S260)。そし
て、正常に解読できた場合には(S260:YES)、
画像メモリ20内の図示しない出力データエリアに解読
データをセットし(S270)、本処理を終了する。
【0084】一方、正常に解読できない場合には(S2
60:NO)、変数mをインクリメント(m=m+1)
してから(S280)、変数mが検査区域群の最大候補
数Nよりも大きいか否かを判定する(S290)。そし
て、m≦Nであれば(S290:NO)、S250へ戻
り、m>Nであれば(S290:YES)、S300へ
移行して解読失敗フラグをセットしてから、本処理を終
了する。
【0085】なお、図6,7に示した処理内容と特許請
求の範囲に記載した用語との対応を簡単に説明してお
く。図6の処理及び図7中のS210〜S230の処理
の実行が、情報コード概略存在領域推定方法としての処
理の実行に相当する。そして、図7中のS240〜S3
00の処理を加えることによって、情報コード読取方法
としての処理の実行に相当する。
【0086】このように、本第1実施例においては、情
報コードの概略存在領域の推定に際して、画像データメ
モリ上における1画像領域を分割した複数の検査区域毎
に、その区域内に含まれる画像データに基づいて明暗の
変化点の数を計数し、その計数された明暗変化点数に基
づいて、情報コードが存在する可能性の高い検査区域を
抽出し、その抽出された検査区域を、画像データメモリ
上における情報コードの概略的な存在領域として推定す
る。
【0087】従来は、走査線に従って画像データメモリ
領域内の画像データを1画素ごとに検査していく手法で
あったが、本実施例の場合には、複数画素を1まとめに
した検査区域単位で概略的なコード存在領域を推定した
後、その推定された領域内においてのみ従来通りの1画
素毎の明暗パターンを検査するので、その検査範囲が小
さくて済む。また、概略的なコード存在領域の推定にあ
っては、検査区域毎に計数した明暗変化点数の大小比較
のみ、すなわち整数値の相対比較であるため、処理負荷
は小さくて済む。したがって、概略的な存在領域を推定
した後に情報コードの正確な位置を検出してデータ解読
をする処理まで含めたコード読取処理に要する時間を短
縮させることができる。
【0088】また、検査区域毎の明暗変化点数の計数に
関しては、A/D変換回路14から画像データメモリ2
0aに出力されて記憶される処理と並行して実行してい
る。情報コードを読み取る処理のためには、画像データ
メモリ20aへの記憶は必要であるため、この過程と並
行して明暗変化点の計数処理を行えば、1画像領域分の
画像データを記憶してから、その記憶された画像データ
を走査して明暗変化点を検出するのに比べて、処理時間
の短縮が実現される。これは、コード読取全体に要する
時間の短縮にも寄与する。
【0089】なお、本第1実施例においては、理解を容
易にするため、図5に示すように、1の検査区域を横a
画素×縦b画素で構成し、図示する際には、1セルのサ
イズが4×4画素の場合に、検査区域を8×8画素で示
した。この場合の検査区域のサイズに関しては種々の設
定が考えられるが、基本的には、読取対象の情報コード
における発現頻度が高いセルサイズとの兼ね合いで決定
することが好ましい。つまり、細かく区画しすぎると、
その区域内に含まれる変化点数が少なすぎて検出の信頼
性が低下するし、逆に大きすぎると、特にコード周辺部
において余分なデータが含まれて好ましくない状況も生
じ易くなる。したがって、例えば、発現頻度が高いセル
サイズが5×5画素の場合に、検査区域を16×16画
素〜32×32画素程度にすることは、適当な設定であ
ると考えられる。
【0090】[第2実施例]本第2実施例の場合にも、
上述した図1〜図3の情報コード読取装置1の概略構成
はそのまま適用できるので、説明は繰り返さない。上述
した第1実施例においては、図5(a)に示すように、
画像領域を横G個×縦H個の検査区域に分割し、各検査
区域を横a画素×縦b画素で構成したが、本第2実施例
においては、検査区域を階層的に設定した。つまり、図
9に示すように、画像領域を横G個×縦H個の大検査区
域に分割し(図9(a)参照)、さらに、その各大検査
区域を横E個×縦F個の小検査区域に分割し(図9
(b)参照)、各小検査区域を横a画素×縦b画素で構
成した(図9(c)参照)。
【0091】この場合は2階層であるので、大検査区域
が「上位検査区域」に相当し、小検査区域が「下位検査
区域」に相当する。もちろん3階層以上でも構わない
が、ここでは、理解を容易にするため図9に示すように
2階層の場合で説明する。明暗変化点の計数手法は基本
的には第1実施例と同様に、主走査線に沿って画像デー
タの明暗を判定し、その明暗が変化した場合に変化点数
というカウントしていく。但し、本第2実施例の場合に
は、図9(d)に示すような小検査区域単位での明暗変
化点数の表と、図9(e)に示すような大検査区域単位
での明暗変化点数の表を作成する。
【0092】それではここで、各小検査区域及び各大検
査区域単位での明暗変化点数を求めるための処理を、図
10,11のフローチャートを参照して説明する。な
お、以下の説明においては、適宜、小検査区域を「小区
域」、大検査区域を「大区域」、明暗変化点数を「変化
点数」と略記する。
【0093】最初のステップS310では、変数などの
初期化を行う。具体的には、変数e,f,g,hを共に
初期値1に設定すると共に、累積カウント数、全小区域
の変化点数、全大区域の変化点数を共に0に設定する。
続くS320では、J番目の走査線に沿ってI番目の画
像データを検査して、変化点数を累積カウントする。
【0094】続いて、検査した画像データの位置を示す
Iがa×eであるか否かを判定する(S330)。これ
は、小区域の横方向の画素数がaであることから、主走
査線に沿って横方向にe個の小区域分だけ検査したか否
かを判定する処理であり、Iがa×eとなっていなけれ
ば(S330:NO)、主走査線に沿ってe小区域分を
検査していないので、S320へ戻る。一方、Iがa×
eとなれば、主走査線に沿ってe小区域分だけ検査した
こととなるので(S330:YES)、S340へ移行
する。
【0095】S340では、S320にて得た累積カウ
ント値を(e×g,f×h)小区域の変化点数に加算し
て記憶する。そして、累積カウントを0とする。続い
て、検査に用いている走査線が何番目のものであるかを
示すJがb×fであるか否かを判定する(S360)。
これは、主走査線に沿った検査を縦方向にf小区域分行
ったか否かを判定する処理であり、Jがb×fとなって
いなければ(S360:NO)、S320へ戻る。一
方、Jがb×fとなれば、主走査線に沿った検査を縦方
向にe小区域分行ったこととなるので(S360:YE
S)、S370へ移行する。
【0096】S370では、S340にて得た(e×
g,f×h)小区域の変化点数を、(g,f)大区域の
変化点数に加算して記憶する。その後は、図9のS38
0へ移行して、変数eが、1の大区域を構成する小区域
の横方向の総数Eに一致したか否かを判定する(S38
0)。これは、1の大区域の横方向分だけ主走査線によ
る検査をしたか否かを判定する処理であり、e=Eとな
っていなければ(S380:NO)、S390で変数e
をインクリメント(e=e+1)してから、S320へ
戻る。
【0097】一方、e=Eとなれば、1の大区域の横方
向分だけ主走査線による検査をしたこととなるので(S
380:YES)、S400へ移行して、変数eを初期
値1にセットする。続くS410では、変数gが大区域
の横方向の総数Gに一致したか否かを判定する。これ
は、1画像領域の横方向分だけ主走査線による検査をし
たか否かを判定する処理であり、g=Gとなっていなけ
れば(S410:NO)、S420で変数gをインクリ
メント(g=g+1)してから、S320へ戻る。
【0098】一方、g=Gとなれば、1画像領域の横方
向分だけ主走査線による検査をしたこととなるので(S
410:YES)、S430へ移行して、変数gを初期
値1にセットする。続くS440では、変数fが、1の
大区域を構成する小区域の縦方向の総数Fに一致したか
否かを判定する。これは、1の大区域の縦方向分だけ主
走査線による検査をしたか否かを判定する処理であり、
f=Fとなっていなければ(S440:NO)、S45
0で変数fをインクリメント(f=f+1)してから、
S320へ戻る。
【0099】一方、f=Fとなれば、1の大区域の縦方
向分だけ主走査線による検査をしたこととなるので(S
440:YES)、S460へ移行して、変数fを初期
値1にセットする。続くS470では、変数hが大区域
の縦方向の総数Hに一致したか否かを判定する。これ
は、1画像領域の縦方向分だけ主走査線による検査をし
たか否かを判定する処理であり、h=Hとなっていなけ
れば(S470:NO)、S480で変数hをインクリ
メント(h=h+1)してから、S320へ戻る。
【0100】一方、h=Hとなった場合には(S47
0:YES)、1画像領域の縦方向分だけ主走査線によ
る検査をした、つまり1画像領域の全てについて検査し
たこととなるので、本処理を終了する。このような変化
点数の計数処理がなされると、図9(d)に示す小区域
単位での変化点数の表と、図9(e)に示す大区域単位
での変化点数の表が得られる。
【0101】そして、これら2種類の変化点数表に基づ
いて、情報コードの概略存在領域を推定し、情報コード
の読取を行う。この処理について、図10のフローチャ
ートなどを参照して説明する。図12の最初のステップ
S510では、各大区域の変化点数を所定値と比較し、
所定値以上の大区域と所定値未満の大区域の配列表を作
成する。上述した第1実施例における図8(a)の配列
表例と同様に、図9(e)の表を基に、所定値以上の区
域と所定値未満の区域とが区別できるような配置列表が
作成される。なお、この場合の所定値についても、上述
した第1実施例の場合と同様の観点から設定される。例
えば、大区域単位で見た場合の変化点数の最大値と最小
値の差分の3分の1を最小値に加えた値などである。
【0102】続くS520では、明暗変化点数が所定値
以上の大区域が主走査線方向に連続しているか、副走査
線方向に連続している大区域群を求め、各大区域群に含
まれる大区域数を求める。そして、530において、所
定条件に合致する大区域群から順に、コード記録領域の
第1候補、……第N候補とする。この所定条件は、上述
した第1実施例と同じである。すなわち、まず第1に、
大区域群の少なくとも一部が画像領域中央の所定範囲
(図8(b)参照)内に存在するか否かという条件にて
候補順位の高低を判定する。そして第2に、大査区域群
中に含まれる大区域数が多いほど候補順位を高くする。
したがって、大区域群の少なくとも一部が所定範囲内に
含まれ、且つ大区域群を構成する大区域数が多いもの
が、ここでいう第1候補となる。
【0103】続くS540にて変数mを初期値1に設定
した後、S550では、第m候補の大区域群の周辺部の
大区域に属する小区域の変化点数を所定値と比較し、所
定値以上の小区域と所定値未満の小区域の配列表を作成
する。例えば図13に示すような大区域群が得られたと
すると、この大区域群の「周辺部の大区域」とは、図1
3にB1〜B14で示す区域を指す。すなわち、この場
合の大区域は矩形であるので、その少なくとも1辺が区
域群外に面しているような大区域のみを意味することと
なる。そして、図13においては大区域B1〜B3につ
いてのみ示しているが、大区域に属する小区域(図13
中では横4区域×縦4区域で示した)のそれぞれについ
て、所定値以上の小区域と所定値未満の小区域の配列表
を作成するのである。なお、この場合の所定値について
も、例えば、小区域単位で見た場合の変化点数の最大値
と最小値の差分の3分の1を最小値に加えた値などが採
用される。
【0104】このようにして、第m大区域群の周辺部の
大区域に属する小区域についての配列表が作成される
と、続くS560においては、第m大区域群から、変化
点数が所定値未満となった小区域を除外した領域を情報
コードの概略存在領域と推定し、その推定領域と対象し
て詳細に検査し、情報コードの解読を行う。このコード
解読処理については、上記第1実施例において図8
(c)を参照して説明した内容と同様である。すなわ
ち、推定領域内に検査線を設定して検査していき、暗パ
ターンを検出した場合には、その暗パターンを辿ること
によって、図13に示す2次元コード101の外周の隣
接する2辺に存在する実線パターンL1,L2(L字パ
ターン)の有無を検出する。
【0105】このように検査線にて実線パターンL1,
L2を検出する際、設定する検査線が推定領域内におい
てのみ設定される。本第2実施例においては、大区域単
位で概略存在領域を推定した結果である大区域群から、
さらに、その大区域群の周辺部の大区域に属する小区域
の内で変化点数が所定値未満となった小区域を除外した
領域を、情報コードの概略存在領域と推定している。し
たがって、より実際のコード存在領域に近い領域を推定
できる。そのため、検査の無駄(つまり実線パターンを
検出できない処理)が飛躍的に減少する。
【0106】L字パターンが検出できれば、2次元コー
ド101が存在する領域(コード領域)が計算される。
そして、コード領域が計算できれば、その計算されたコ
ード領域内の明暗パターンを解読し、記録されている情
報を解読(デコード)する。S560にてコード解読が
できた後は、S570にて、正常に解読できたか否かを
判定し、正常に解読できた場合には(S570:YE
S)、画像メモリ20内の図示しない出力データエリア
に解読データをセットし(S580)、本処理を終了す
る。
【0107】一方、正常に解読できない場合には(S5
70:NO)、変数mをインクリメント(m=m+1)
してから(S590)、変数mが大区域群の最大候補数
Nよりも大きいか否かを判定する(S600)。そし
て、m≦Nであれば(S600:NO)、S550へ戻
り、m>Nであれば(S600:YES)、S610へ
移行して解読失敗フラグをセットしてから、本処理を終
了する。
【0108】なお、図10〜12に示した処理内容と特
許請求の範囲に記載した用語との対応を簡単に説明して
おく。図10,11の処理及び図12中のS510〜S
560の処理の実行が、情報コード概略存在領域推定方
法としての処理の実行に相当する。なお、S560で実
行される処理の内、「第m大区域群から、変化点数が所
定値未満となった小区域を除外した領域を情報コードの
概略存在領域と推定する」処理までが、情報コード概略
存在領域推定方法としての処理の実行に相当する。そし
て、図12中のS560の処理中のコード解読処理及び
S570〜S610の処理の実行が、情報コード読取方
法としての処理の実行に相当する。
【0109】このように、本第2実施例においては、ま
ず、大区域毎に当該区域内に含まれる変化点数が所定値
以上の区域を抽出し、その抽出された大区域同士が隣接
して構成される大区域群の周辺部に位置する大区域につ
いて、その大区域内を構成する小区域毎にその小区域内
に含まれる変化点数が所定値以上か所定値未満かを区別
する。そして、抽出した大区域群から、所定値未満の小
区域を除外した領域を、画像データメモリ上における情
報コードの概略的な存在領域として推定する。
【0110】抽出された大区域は、その区域内に情報コ
ードが含まれる可能性が高いのであるが、情報コードの
中央付近に該当する大区域では、区域内の全部に情報コ
ードが存在するが、情報コードの周辺部に該当する大区
域では、区域内の一部にしか情報コードが存在しない場
合もある。そこで、抽出された大区域群の周辺部に位置
する大区域については、小区域単位で、さらに変化点数
による大小判定を行う。そして、(小区域用の)所定値
未満とされた小区域を、抽出した大区域群から除外すれ
ば、その領域は、情報コードの実際の存在領域により近
い概略的存在領域となる。
【0111】このようにすれば、最初から小さな検査区
域を設定して、各検査区域毎に判定していく場合に比べ
て、処理効率が向上する。なお、本第2実施例において
は、図9に示すように、画像領域を横G個×縦H個の大
検査区域に分割し、さらに、その各大検査区域を横E個
×縦F個の小検査区域に分割し、各小検査区域を横a画
素×縦b画素で構成した。この場合の区域のサイズに関
しては、種々の設定が考えられるが、この場合も、上述
した第1実施例の場合と同様の考慮をすることが適切で
ある。つまり、細かく区画しすぎると、その区域内に含
まれる変化点数が少なすぎて検出の信頼性が低下する
し、逆に大きすぎると、特にコード周辺部において余分
なデータが含まれて好ましくない状況も生じ易くなるた
め、読取対象の情報コードにおける発現頻度が高いセル
サイズとの兼ね合いで決定する。したがって、例えば発
現頻度が高いセルサイズが5×5画素の場合に、小区域
を16×16画素、大区域を64×64画素(あるいは
128×128画素)にすることは、適当な設定である
と考えられる。
【0112】[第3実施例]本第3実施例の場合には、
上述した図1〜図33にて説明した第1実施例の情報コ
ード読取装置1の構成に、図14に示す平均値算出回路
70を追加し、画像メモリ20内に平均値記憶メモリ2
0dを追加した点が異なるだけである。
【0113】図14に示すように、平均値算出回路70
は、積算ブロック71及び除算ブロック72を備えてお
り、積算ブロック71には、A/D変換後の画像データ
及びCCD読出クロックが入力している。なお、このC
CD読出クロックは、図1における同期パルス発生回路
16から入力される。
【0114】積算ブロック71では、ディジタル値に変
換された画像データをCCD読出クロックに同期して累
積加算する。そして、除算ブロック72では、この積算
ブロック71からの出力値を、1ブロックに含まれる画
素数で割って平均値を算出する。この算出された平均値
は、メモリ20内の平均値記憶メモリ20dへ出力され
る。
【0115】図15は、この平均値を算出・記憶するた
めの処理を示すフローチャートである。最初のステップ
S710で積算値をクリアした後、CCD読出クロック
毎に1画素分の画像データを積算する(S720)。そ
して、1ブロック分の画像データの積算が終了したか否
かを判断し(S730)、1ブロック分の積算が終了し
ていない場合には(S730:NO)、S720の処理
を繰り返す。一方、1ブ1ブロック分の積算が終了した
場合には(S730:YES)、その積算値を1ブロッ
クの画素数で除算する(S740)。そして、当該ブロ
ックの画像の平均値として当該ブロックに該当するアド
レスに記憶する(S750)。その後、全ブロックの積
算を終了したか否かを判断し(S760)。終了してい
なければ(S760:NO)、S710へ戻って積算値
をクリアした後、S720〜S750の処理を繰り返
す。
【0116】上述した第1実施例においては、図7のS
230にてコード記録領域の第1候補、……第N候補と
する所定条件として、次の2条件を挙げていた。すなわ
ち、検査区域群の少なくとも一部が画像領域中央の所定
範囲(図8(b)参照)内に存在するか否かという条件
と、検査区域群中に含まれる検査区域数に基づく条件で
あった。本第3実施例においては、これら2条件に、上
述の明暗度合いを示すデータの平均値に基づく条件を加
える。具体的には、平均値が大きいブロックほど候補順
位を高くする。
【0117】具体的には、例えば明暗度合いを示すデー
タの平均値に基づいて、情報コードの存在する可能性の
高い検査区域を概略的に抽出しておき、その中から、計
数された明暗変化点数に基づいて抽出したり、あるい
は、明暗変化点数と画像データの明暗度合いを示すデー
タの平均値という2つの判定指標に基づいてそれぞれ抽
出した領域の重なる部分を、最終的に抽出する、といっ
た種々の用い方が考えられる。
【0118】なお、第2実施例の場合であっても同様
に、図12のS530において明暗度合いを示すデータ
の平均値も加味して判定を行えばよい。 [その他] (1)上記各実施例では、検査区域(第2実施例におけ
る大区域及び小区域も含む)の形状を正方形としたが、
長方形であっても同様に実現できる。また、画像領域の
全てにおいて同じサイズの検査区域としたが、複数サイ
ズの検査区域を混在させることを除くものではない。も
ちろん、サイズを統一した方が処理上の都合はよい。
【0119】また、正方形や長方形などの矩形以外の形
状に設定することも可能ではあるが、上述した処理上の
都合の観点からは、やはり矩形が好ましい。 (2)上記各実施例では、明暗変化点として、明から暗
への変化点と暗から明への変化点を共に明暗変化点とし
たが、これは、いずれかの一方のみに着目して処理して
もよい。
【0120】(3)上記各実施例では、図8(c)ある
いは図13に示すように、対象のコードとして、隣接す
る2辺に実線パターンL1,L2を有する2次元コード
101を例に挙げたが、それに限らず、例えば図16
(a)に示すバーコードや、図16(b)〜(e)に示
す2次元コードなど、種々のものが読取対象として採用
可能である。
【0121】また、当然であるが、図8(c)あるいは
図13に示すように、隣接する2辺に実線パターンL
1,L2を有する2次元コード101の場合であったた
め、検査線によってその実線パターンL1,L2を見つ
けるようにしたが、図12に示すそれ以外の情報コード
の場合であれば、それぞれに合致したコード存在領域の
検出手法を採用すればよい。例えば図16(c)に示す
2次元コードの場合であれば、4つの頂点の内の3つに
配置されている、いわゆる「切り出しシンボル」を見つ
ければ、コード存在領域を計算することができる。
【図面の簡単な説明】
【図1】実施例としての情報コード読取装置のブロック
図である。
【図2】2値化回路の概略構成を示すブロック図であ
る。
【図3】2値化回路の詳細構成を示すブロック図であ
る。
【図4】画像と画像データアドレスとの対応関係を示す
説明図である。
【図5】第1実施例における検査区域などの説明図であ
る。
【図6】第1実施例における明暗変化点の計数処理を示
すフローチャートである。
【図7】第1実施例における明暗変化点に基づくコード
概略存在領域の推定及びコード読取処理を示すフローチ
ャートである。
【図8】第1実施例における明暗変化点に基づくコード
概略存在領域の推定及びコード読取処理を示す説明図で
ある。
【図9】第2実施例における検査区域などの説明図であ
る。
【図10】第2実施例における明暗変化点の計数処理の
前半を示すフローチャートである。
【図11】第2実施例における明暗変化点の計数処理の
後半を示すフローチャートである。
【図12】第2実施例における明暗変化点に基づくコー
ド概略存在領域の推定及びコード読取処理を示すフロー
チャートである。
【図13】第2実施例における明暗変化点に基づくコー
ド概略存在領域の推定処理を示す説明図である。
【図14】第3実施例としての情報コード読取装置の
内、第1実施例と異なる部分のみを示したブロック図で
ある。
【図15】第3実施例における平均値算出処理を示すフ
ローチャートである。
【図16】 情報コードとしての他の例を示しており、
(a)はバーコード、(b)〜(e)は2次元コードの
説明図である。
【符号の説明】
1…情報コード読取装置 10…制御回路 11…照明LED 12…CCDエ
リアセンサ 13…増幅回路 14…A/D変
換回路 16…同期パルス出力回路 17…アドレス
発生回路 20…画像メモリ 20a…画像デー
タメモリ 20b…変化点数メモリ 20c…2次元
画像メモリ 20d…平均値記憶メモリ 31…スイッ
チ群 32…液晶表示器 33…通信I/
F回路 50…2値化回路 51…明比較器 51a…比較ブロック 51b…明デー
タ記憶ブロック 51c…減算ブロック 51d…暗上限
記憶ブロック 52…暗比較器 52a…比較ブロ
ック 52b…暗データ記憶ブロック 52c…加算ブ
ロック 52d…明下限記憶ブロック 53…明暗判
定器 53a…除算ブロック 53b…中間値
記憶ブロック 53c…明比較ブロック 53d…暗比較
ブロック 53e…中間比較ブロック 53f…明暗判
定ブロック 53g…直前値記憶回路 53h…比較ブ
ロック 54…カウンタ 55…余裕値
記憶ブロック 56…ブロックアドレス制御回路 56a…主走査
区分設定ブロック 56b…副走査区分設定ブロック 56c…区域制
御ブロック 70…平均値算出回路 71…積算ブ
ロック 72…除算ブロック 101…2次元
コード L1,L2…実線パターン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 正己 愛知県刈谷市昭和町1丁目1番地 株式会 社デンソー内 (72)発明者 野尻 忠雄 愛知県刈谷市昭和町1丁目1番地 株式会 社デンソー内 Fターム(参考) 5B072 CC21 CC24 DD01 DD15 DD23

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】情報コードを2次元画像検出手段にて検出
    し、前記2次元画像検出手段にて検出した情報コードを
    含む1画像領域分の画像データを一時的に画像データメ
    モリに記憶しておき、当該記憶された画像データに基づ
    いて前記画像データメモリ上における前記情報コードの
    概略的な存在領域を推定する方法であって、 前記画像データメモリ上における1画像領域を複数の検
    査区域に分割し、その分割された検査区域毎に、当該区
    域内に含まれる画像データに基づいて明暗の変化点の数
    を計数し、 その計数された明暗変化点数に基づいて、情報コードが
    存在する可能性の高い検査区域を抽出し、その抽出され
    た検査区域を、前記画像データメモリ上における前記情
    報コードの概略的な存在領域として推定すること、 を特徴とする情報コード概略存在領域推定方法。
  2. 【請求項2】請求項1記載の情報コード概略存在領域推
    定方法において、 前記検査区域は、前記画像領域を水平方向へ走査するた
    めの主走査線及び垂直方向へ走査するための副走査線と
    それぞれ平行な線によって区画される矩形の区域である
    こと、 を特徴とする情報コード概略存在領域推定方法。
  3. 【請求項3】請求項2記載の情報コード概略存在領域推
    定方法において、 前記情報コードが複数のセルによって構成される2次元
    コードであり、 前記検査区域は、読取対象とする前記セルが前記画像デ
    ータメモリ上で取り得る最小サイズよりも大きく設定さ
    れていること、 を特徴とする情報コード概略存在領域推定方法。
  4. 【請求項4】請求項3記載の情報コード概略存在領域推
    定方法において、 前記検査区域は、前記セルが前記画像データメモリ上で
    取り得る最小サイズの2倍よりも大きく設定されている
    こと、 を特徴とする情報コード概略存在領域推定方法。
  5. 【請求項5】請求項1記載の情報コード概略存在領域推
    定方法において、 前記検査区域は、前記画像領域を水平方向へ走査するた
    めの各主走査線に対応する区域であること、 を特徴とする情報コード概略存在領域推定方法。
  6. 【請求項6】請求項1載の情報コード概略存在領域推定
    方法において、 前記検査区域は、前記画像領域を水平方向へ走査するた
    めの各主走査線に対応する区域を、さらに所定数に分割
    した区域であること、 を特徴とする情報コード概略存在領域推定方法。
  7. 【請求項7】請求項1〜6のいずれか記載の情報コード
    概略存在領域推定方法において、 前記抽出された検査区域同士が隣接している場合には、
    その隣接している検査区域群を、前記情報コードの概略
    的な存在領域として推定することを前提とし、 前記検査区域群が複数存在する場合には、その少なくと
    も一部が前記画像領域中央の所定範囲内に存在する検査
    区域群を、前記情報コードの概略的な存在領域である可
    能性が高いと推定すること、 を特徴とする情報コード概略存在領域推定方法。
  8. 【請求項8】請求項7記載の情報コード概略存在領域推
    定方法において、 前記検査区域群中に含まれる検査区域数が多いほど、前
    記情報コードの概略的な存在領域である可能性が高いと
    推定すること、 を特徴とする情報コード概略存在領域推定方法。
  9. 【請求項9】請求項1〜8のいずれか記載の情報コード
    概略存在領域推定方法において、 前記検査区域は、1の上位検査区域が複数の下位検査区
    域に分割された階層構造を有しており、 前記上位検査区域毎に当該区域内に含まれる明暗変化点
    数が所定の上位検査区域用閾値以上の区域を抽出し、 その抽出された区域同士が隣接して構成される上位検査
    区域群の周辺部に位置する上位検査区域について、当該
    上位検査区域内を構成する下位検査区域毎に当該区域内
    に含まれる明暗変化点数が所定の下位検査区域用閾値以
    上の区域と所定の下位検査区域用閾値未満の区域とを区
    別し、 前記抽出した上位検査区域群から、前記所定の下位検査
    区域用閾値未満として区別された下位検査区域を除外し
    た領域を、前記画像データメモリ上における前記情報コ
    ードの概略的な存在領域として推定すること、 を特徴とする情報コード概略存在領域推定方法。
  10. 【請求項10】請求項1〜9のいずれか記載の情報コー
    ド概略存在領域推定方法において、 前記検査区域毎の明暗変化点数の計数を、前記2次元画
    像検出手段にて検出された画像データが画像データメモ
    リに出力されて記憶される処理と並行して実行し、その
    計数された明暗変化点数と前記検査区域との対応関係を
    テーブル化して記憶しておき、 その記憶された変化点数に基づいて前記情報コードが存
    在する可能性の高い検査区域を抽出すること、 を特徴とする情報コード概略存在領域推定方法。
  11. 【請求項11】請求項10記載の情報コード概略存在領
    域推定方法において、 前記明暗変化点数の計数は、 現時点までに取り込んだ画像データの明暗度合いを示す
    データの内、最も明るいデータ及び最も暗いデータを所
    定のメモリ領域に更新しながら記憶していくと共に、そ
    れら最も明るいデータ及び最も暗いデータの中間値を計
    算し、新たに取り込むデータについてはその中間値と比
    較することで明暗の判定を行い、その明暗判定処理の結
    果、明暗が変化した数を計数すること、 を特徴とする情報コード概略存在領域推定方法。
  12. 【請求項12】請求項11記載の情報コード概略存在領
    域推定方法において、 前記明暗の判定に際しては、 前記最も明るいデータから所定の余裕値だけ暗いデータ
    である暗上限値及び前記最も暗いデータから所定の余裕
    値だけ明るいデータである明下限値を用いることを前提
    とし、 前記新たに取り込むデータが前記中間値以上であり、且
    つ前記明下限値以上である場合には明であると判定し、
    一方、前記新たに取り込むデータが前記中間値よりも暗
    くて、且つ前記暗上限値以下である場合には暗であると
    判定すること、 を特徴とする情報コード概略存在領域推定方法。
  13. 【請求項13】請求項9〜12のいずれか記載の情報コ
    ード概略存在領域推定方法において、 前記検査区域に属する走査線が複数存在する場合には、 1つの走査線毎に前記明暗変化点数の計数を行うことを
    前提とし、前記検査区域毎に、当該検査区域内の画像デ
    ータに基づく明暗変化点数を一時的に記憶していくと共
    に、当該検査区域に属する1の走査線に対する計数が終
    了した時点で前の走査線までに計数した明暗変化点数を
    累積記憶していき、当該検査区域に属する全走査線に対
    する計数が終了した時点での前記明暗変化点数の累積値
    を、当該検査区域内の画像データに基づく明暗変化点数
    とすること、 を特徴とする情報コード概略存在領域推定方法。
  14. 【請求項14】請求項1〜13のいずれか記載の情報コ
    ード概略存在領域推定方法において、 前記検査区域毎に含まれる画像データの明暗度合いを示
    すデータの平均値を求め、 前記情報コードが存在する可能性の高い検査区域を抽出
    する際には、前記計数された明暗変化点数に基づくと共
    に、前記求めた明暗度合いを示すデータの平均値も加味
    すること、 を特徴とする情報コード概略存在領域推定方法。
  15. 【請求項15】請求項1〜14のいずれか記載の情報コ
    ード概略存在領域推定方法によって推定された情報コー
    ドの概略存在領域内に検査線を設定し、その設定した検
    査線に沿って画像データを検査することで情報コードの
    正確な存在領域を検出し、その検出された存在領域内の
    画像データに基づいて、その中に含まれている前記情報
    コードを読み取ること、 を特徴とする情報コード読取方法。
  16. 【請求項16】2次元画像検出手段と、 該2次元画像検出手段にて検出した情報コードを含む1
    画像領域分の画像データを一時的に記憶しておく画像デ
    ータメモリと、 該画像データメモリ上における前記情報コードの概略的
    な存在領域を、請求項1〜13のいずれか記載の情報コ
    ード概略存在領域推定方法によって推定し、その推定さ
    れた情報コードの概略存在領域内に検査線を設定し、そ
    の設定した検査線に沿って画像データを検査することで
    情報コードの正確な存在領域を検出する存在領域検出手
    段と、 該存在領域検出手段にて検出された存在領域内の画像デ
    ータに基づいて、その中に含まれている前記情報コード
    を読み取る読取手段と、 を備えることを特徴とする情報コード読取装置。
  17. 【請求項17】請求項1〜14のいずれか記載の情報コ
    ード概略存在領域推定方法が、コンピュータシステムに
    て実行するプログラムとして記録されたことを特徴とす
    る記録媒体。
  18. 【請求項18】請求項15または16記載の情報コード
    読取方法が、コンピュータシステムにて実行するプログ
    ラムとして記録されたことを特徴とする記録媒体。
JP16106599A 1999-04-08 1999-06-08 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体 Expired - Fee Related JP4288756B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP16106599A JP4288756B2 (ja) 1999-04-08 1999-06-08 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体
US09/543,881 US6678412B1 (en) 1999-04-08 2000-04-06 Method for detecting a two-dimensional code existing area, method reading two-dimensional code, and a recording medium storing related programs

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10138199 1999-04-08
JP11-101381 1999-04-08
JP16106599A JP4288756B2 (ja) 1999-04-08 1999-06-08 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体

Publications (2)

Publication Number Publication Date
JP2000353210A true JP2000353210A (ja) 2000-12-19
JP4288756B2 JP4288756B2 (ja) 2009-07-01

Family

ID=26442266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16106599A Expired - Fee Related JP4288756B2 (ja) 1999-04-08 1999-06-08 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体

Country Status (2)

Country Link
US (1) US6678412B1 (ja)
JP (1) JP4288756B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100626329B1 (ko) 2003-09-08 2006-09-20 가부시끼가이샤 덴소 웨이브 광학 정보 판독 장치 및 관련 정보 판독 방법
JP2008176636A (ja) * 2007-01-19 2008-07-31 Denso Wave Inc 光学情報読取装置
US7431214B2 (en) 2003-02-21 2008-10-07 Fujitsu Limited Bar-code reader and method of reading bar code
EP2105868A1 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background
EP2105869A2 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specify cell positions and distinction from background
JP2009266190A (ja) * 2008-03-31 2009-11-12 Nidec Sankyo Corp シンボル情報読取装置及びシンボル情報読取方法
US7817878B2 (en) 2001-01-22 2010-10-19 Hand Held Products, Inc. Imaging apparatus having plurality of operating states
JP2011134309A (ja) * 2009-11-24 2011-07-07 Denso Wave Inc 光学情報読み取り装置
US8439264B2 (en) 2001-01-22 2013-05-14 Hand Held Products, Inc. Reading apparatus having partial frame operating mode
JP2014199487A (ja) * 2013-03-29 2014-10-23 日本電産サンキョー株式会社 シンボル情報読取装置、シンボル情報読取方法、およびプログラム
JP2015060531A (ja) * 2013-09-20 2015-03-30 株式会社デンソーウェーブ 情報コード読取装置
CN105590077A (zh) * 2014-10-24 2016-05-18 秀传医疗财团法人彰滨秀传纪念医院 红外线辨认定位系统及其读取方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) * 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US7304670B1 (en) * 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US20060050961A1 (en) * 2004-08-13 2006-03-09 Mohanaraj Thiyagarajah Method and system for locating and verifying a finder pattern in a two-dimensional machine-readable symbol
US7676038B2 (en) * 2005-03-08 2010-03-09 Hewlett-Packard Development Company, L.P. Secure printing method to thwart counterfeiting
US7455013B2 (en) * 2005-03-08 2008-11-25 Hewlett-Packard Development Company, L.P. Secure printing method to thwart counterfeiting
KR100828539B1 (ko) * 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8496177B2 (en) * 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8459556B2 (en) * 2009-01-09 2013-06-11 Datalogic ADC, Inc. Prioritized virtual scan line processing
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
CN103761327A (zh) * 2014-01-29 2014-04-30 百度在线网络技术(北京)有限公司 资源共享的方法、系统、终端以及服务器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
JP3233981B2 (ja) * 1992-05-26 2001-12-04 オリンパス光学工業株式会社 シンボル情報読取装置
JP3187936B2 (ja) * 1992-05-29 2001-07-16 オリンパス光学工業株式会社 バーコード読取装置
US5304787A (en) * 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP2867904B2 (ja) * 1994-12-26 1999-03-10 株式会社デンソー 2次元コード読取装置
US5764798A (en) 1996-03-18 1998-06-09 Intermec Corporation Prioritized searching methods for finding a coded symbol in a digitized image
JP3209108B2 (ja) * 1996-08-23 2001-09-17 松下電器産業株式会社 2次元コード読み取り装置
JP3758266B2 (ja) 1997-01-08 2006-03-22 株式会社デンソー コード読取装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559767B2 (en) 2001-01-22 2013-10-15 Welch Allyn Data Collection, Inc. Imaging apparatus having imaging assembly
US9582696B2 (en) 2001-01-22 2017-02-28 Hand Held Products, Inc. Imaging apparatus having imaging assembly
US9047525B2 (en) 2001-01-22 2015-06-02 Hand Held Products, Inc. Imaging apparatus having imaging assembly
US8702000B2 (en) 2001-01-22 2014-04-22 Hand Held Products, Inc. Reading apparatus having partial frame operating mode
US7817878B2 (en) 2001-01-22 2010-10-19 Hand Held Products, Inc. Imaging apparatus having plurality of operating states
US8439264B2 (en) 2001-01-22 2013-05-14 Hand Held Products, Inc. Reading apparatus having partial frame operating mode
US7431214B2 (en) 2003-02-21 2008-10-07 Fujitsu Limited Bar-code reader and method of reading bar code
CN1299229C (zh) * 2003-09-08 2007-02-07 电装波动株式会社 光学信息读取装置及相关的信息读取方法
US7503492B2 (en) 2003-09-08 2009-03-17 Denso Wave Incorporated Optical information reading apparatus and related information reading method
KR100626329B1 (ko) 2003-09-08 2006-09-20 가부시끼가이샤 덴소 웨이브 광학 정보 판독 장치 및 관련 정보 판독 방법
JP2008176636A (ja) * 2007-01-19 2008-07-31 Denso Wave Inc 光学情報読取装置
EP2653999A1 (en) 2008-03-27 2013-10-23 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background
EP2677472A2 (en) 2008-03-27 2013-12-25 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
EP2677471A2 (en) 2008-03-27 2013-12-25 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
EP2677469A2 (en) 2008-03-27 2013-12-25 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
EP2677470A2 (en) 2008-03-27 2013-12-25 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
EP2105869A2 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specify cell positions and distinction from background
EP3118777A1 (en) 2008-03-27 2017-01-18 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
EP2105868A1 (en) 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background
JP2009266190A (ja) * 2008-03-31 2009-11-12 Nidec Sankyo Corp シンボル情報読取装置及びシンボル情報読取方法
JP2011134309A (ja) * 2009-11-24 2011-07-07 Denso Wave Inc 光学情報読み取り装置
JP2014199487A (ja) * 2013-03-29 2014-10-23 日本電産サンキョー株式会社 シンボル情報読取装置、シンボル情報読取方法、およびプログラム
JP2015060531A (ja) * 2013-09-20 2015-03-30 株式会社デンソーウェーブ 情報コード読取装置
CN105590077A (zh) * 2014-10-24 2016-05-18 秀传医疗财团法人彰滨秀传纪念医院 红外线辨认定位系统及其读取方法

Also Published As

Publication number Publication date
US6678412B1 (en) 2004-01-13
JP4288756B2 (ja) 2009-07-01

Similar Documents

Publication Publication Date Title
JP2000353210A (ja) 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体
US6575367B1 (en) Image data binarization methods enabling optical reader to read fine print indicia
US4757551A (en) Character recognition method and system capable of recognizing slant characters
US6655595B1 (en) Bar code reader configured to read fine print bar code symbols
JP2000163506A (ja) 2次元コードの読取方法及び記録媒体
EP1081648B1 (en) Method for processing a digital image
JP2008182725A (ja) 画素補間回路および画素補間方法
JP4574503B2 (ja) 画像処理装置、画像処理方法およびプログラム
EP1300779A2 (en) Form recognition system, form recognition method, program and storage medium
JP3758266B2 (ja) コード読取装置
JPH07262374A (ja) 画像処理装置
JP6630341B2 (ja) シンボルの光学的検出方法
JP2001043313A (ja) 文字切出し方法
JP3994571B2 (ja) 情報コードの2値化方法、当該2値化方法を用いた光学情報読取装置、及び当該2値化方法を用いたコード品質判断補助装置
CN101853375B (zh) 图像比较容错处理系统及方法
JP2003281469A (ja) 文書画像処理方法
JP3971347B2 (ja) 光学的情報読み取り方法
JP2000011088A (ja) 読取り画像の特徴情報抽出方法、画像処理装置および郵便物宛名読取り装置
JP2009124332A (ja) 画像処理装置、画像処理方法及びプログラム
JPH0851537A (ja) 文字・写真・網点領域を判別する画像処理装置
JPH11161739A (ja) 文字認識装置
JPH08214150A (ja) 二値イメージ出力装置
JPH08272980A (ja) 閉領域抽出装置
JP2514660B2 (ja) 光学文字読取装置
JP3024929B2 (ja) 対応点探索のための画素特徴抽出方法、及び、ステレオ画像の対応点探索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080903

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

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