JP2000163506A - 2次元コードの読取方法及び記録媒体 - Google Patents

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

Info

Publication number
JP2000163506A
JP2000163506A JP10337773A JP33777398A JP2000163506A JP 2000163506 A JP2000163506 A JP 2000163506A JP 10337773 A JP10337773 A JP 10337773A JP 33777398 A JP33777398 A JP 33777398A JP 2000163506 A JP2000163506 A JP 2000163506A
Authority
JP
Japan
Prior art keywords
pattern
dimensional code
cell
dark
alignment
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
JP10337773A
Other languages
English (en)
Other versions
JP3458737B2 (ja
Inventor
Kiyokuka You
旭華 楊
Hisashi Shigekusa
久志 重草
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 JP33777398A priority Critical patent/JP3458737B2/ja
Priority to US09/447,885 priority patent/US6360948B1/en
Publication of JP2000163506A publication Critical patent/JP2000163506A/ja
Application granted granted Critical
Publication of JP3458737B2 publication Critical patent/JP3458737B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction
    • 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】アラインメントパターンを有する2次元コード
の読取に際して、アラインメントパターンの中心位置を
迅速且つ正確に検出できるようにし、結果的に読取時間
の短縮を実現する。 【解決手段】計算にて求めた中心位置の周りに1セル分
離れた8つの検査点を設定し、計算中心位置及び周囲の
8つの検査点からなる9点の明暗パターンを、9つの参
照パターン(a)〜(i)と比較して合致するものを見
つける。参照パターンは、互いに形状データが異なり、
いずれもアラインメントパターンの中心セルeが含まれ
るよう設定されているため、合致する参照パターンが見
つかれば、アラインメントパターンの中心セルeがその
参照パターンのどの部分に対応するかが判る。例えば、
参照パターン(a)であれば、右下のセルが中心セルe
に該当する。したがって、その特定した中心セルの中心
位置を算出すれば、正確に中心位置の特定が可能とな
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元コードの読
取方法に関する。
【0002】
【従来の技術】従来、提案されている2次元コードの例
としては特開平7−254037号公報記載のものがあ
り、この2次元コードは、図19(b)に一例を示すご
とく情報が2次元的な広がりを持ち、図19(a)に示
すバーコードに比べて格段に大量の情報を記録できる
が、構造は複雑なものとなっている。
【0003】すなわち、図20に示すごとく、2次元コ
ード300の存在位置の確定を容易にするために、例え
ば、特定寸法比率の正方形を組み合わせた特定パターン
310a,310b,310cを3個を持っている。ま
た、3個の特定パターン310a,310b,310c
相互の間には白と黒とが交互に組み合わせられた各デー
タセル位置の指標となる基準パターンであるタイミング
セル320a,320bがある。
【0004】2次元コード300の内部は、n×nの正
方形の升目(以下、これをセルという)に区切られてお
り、特定パターン310a,310b,310cは、例
えば、一辺の長さが7セルに相当する黒い正方形31
2、一辺の長さが5セルに相当する白い正方形314、
一辺の長さが3セルに相当する黒い正方形316を同心
状に重ね合わせた時にできる図形である。
【0005】この特定パターン310a,310b,3
10cの中心付近を直線的に横切ると、黒、白、黒、
日、黒のパターンが1:1:3:1:1の比率で検出さ
れるので、この性質を利用して、前記比率で黒と白が交
互に検出された場合、そのパターンを特定パターン31
0a,310b,310cの有力な候補と判断し、2次
元コード300の存在位置を確定するために優先的に検
査する。
【0006】そして、2次元コード300の形状は、3
個の特定パターン310a,310b,310cで一義
的に決まる平行四辺形の範囲であると推定できる。な
お、データは、特定パターンや基準パターンなどを除外
した領域330のセル(すなわち、データセル)で表さ
れ、各データセルを白あるいは黒に色分けすることによ
り、各データセルを1ビットのデータに対応させてい
る。ただし、図20ではデータセルの白黒のパターンは
判り易くするために省略されている。
【0007】各データセルの位置は、3個の特定パター
ン310a,310b,310cの中心と2つのタイミ
ングセル320a,320bを、それぞれ縦方向と横方
向の座標の指標として、簡単な計算により求めることが
できる。このように位置が決定した、各データセルの中
心付近が黒であるか白であるかを判定して、黒を例えば
1,白を例えば0に対応させることにより、2値データ
として認識でき、解読することができる。
【0008】但し、2次元コード300の画像をその中
心で垂直な方向から捉えることができず、斜めの方向か
ら捉えた場合や、2次元コード300が曲面上に付けら
れているなどの場合、得られた画像が、図21(a)に
示すごとく、元の形状に比べて大きく歪んでいることが
ある。また、例えば円筒形のビンの表面などに付けられ
た2次元コード300は、図21(b)に示すごとく中
心から外れるほど歪みを生じている。
【0009】したがって、歪み量が大きく、前述の方法
で各データセルの中心を求めた場合、実際のデータセル
の中心と計算で求めたデータセルの中心とのずれがデー
タセルのサイズの半分より大きくなっていた場合には、
正しい結果が得られなくなる。このような読み取りミス
を生じる歪み量は、情報量を多くするために2次元コー
ド300を大きくするほど大きなものとなる。2次元コ
ードの応用分野として、画像の検出時に2次元コードが
正面を向いていなかったり、ビンや缶容器などの曲面に
付されていたりすることは、現実の問題であり、何等か
の対策が望まれていた。
【0010】そこで、本願出願人は、特開平10−20
8001号公報に開示されているように、前記例示した
ごとくの歪みがあっても正しく情報を読み取ることがで
きる2次元コードおよびその読取方法を提供した。その
2次元コードの一例の概略図を図2に示す。この2次元
コード52は、3個の特定パターン54A,54B,5
4C、データ領域56、および6個のアラインメントパ
ターン(補助シンボルとも称する)60A,60B,6
0C,60D,60E,60Fなどを備えている。な
お、図2では便宜上、データ領域56のデータセルの白
黒のパターンは省略している。
【0011】3つの特定パターン54A,54B,54
Cは、上述した図20の特定パターン310a,310
b,310cと同じ役割である。また、6つのアライン
メントパターン60A〜60Fは、図6に示すごとく、
2次元コード52内を2次元コード52の縦横の辺S
1,S2,S3,S4のいずれかに沿った境界L1,L
2,L3,L4にてセルを分けて区画することで想定し
た9つの矩形領域R1,R2,R3,R4,R5,R
6,R7,R8,R9の内、特定パターン54A,54
B,54Cが存在しない6つの矩形領域R2,R4,R
5,R6,R8,R9に各1つ配置されている。
【0012】そして、このアラインメントパターン60
A〜60Fは特定パターン54A,54B,54Cに対
して所定の位置に配置されているため、アラインメント
パターン60A〜60Fの中心位置を、特定パターン5
4A,54B,54Cを構成しているセルの形状と中心
位置とに基づいて求めることができる。
【0013】したがって、各矩形領域R1〜R9におい
ては、その矩形領域R1〜R9内に配置されている特定
パターン54A,54B,54Cまたはアラインメント
パターン60A〜60Fのセルの中心位置、セル形状、
セル配列に基づいて、データセルの位置を決定すること
ができる。このため2次元コード52の読み取り画像に
歪みが存在しても、矩形領域R1〜R9毎の歪みは、そ
の矩形領域R1〜R9に配置されている特定パターン5
4A,54B,54Cまたはアラインメントパターン6
0A〜60Fのセルの中心位置、セル形状、セル配列に
現れているので、データセルの位置決定に画像の歪みが
反映されて、正確にデータセルの中心位置が決定でき、
2次元コード52が表すコードを正確に読み取ることが
できるのである。
【0014】
【発明が解決しようとする課題】ところで、上述した特
開平10−208001号公報に開示されている技術に
おいては、まず、アラインメントパターン60A〜60
Fの中心位置を、特定パターン54A,54B,54C
を構成しているセルの形状と中心位置とに基づいて計算
で求める。そして、計算位置周辺にて画像を精査して所
定の形状をしているアラインメントパターン60A〜6
0Fを見つけることによって、正確な位置を決定してい
る。
【0015】このパターンを見つける場合の画像の精査
手法については、例えば特開平8−185492号公報
に開示されている。この公報記載の精査方法について説
明する。当該公報記載においては、中央の黒セルを再帰
的な探索で確定し、中央黒セルの周りに存在する明環状
部を左手法で確定する手法が開示されている。
【0016】まず、中央が黒セルであることを確定する
処理については、この公報記載の図16のフローチャー
トのステップS66に示されているように、連結してい
る黒ドットを再帰的に探す。例えば、本明細書添付の図
16に示すように、中央の黒セルが5×5画素であった
場合には、図中に太線で示す7×7画素の範囲を検査す
ることとなる。
【0017】また、明環状部であることを確定する処理
については、公報記載の図16のフローチャートのステ
ップS72に示されているように左手法を用いるのであ
るが、この左手法は、本明細書添付の図17(A)中に
実線矢印で示すように、明暗領域の境界画素をジグザグ
に辿って、破線矢印のように1周できるかどうかを検査
するものである。図17(B)は、1セルが複数画素で
構成されている場合の明暗領域の境界画素部分を拡大し
たものを示したものであるが、この図からも判るよう
に、明暗領域の境界画素をジグザグに辿っていく処理
は、検査対象の画素が非常に多くなる。
【0018】このような手順でアラインメントパターン
の中心位置を確定する場合には、上述した左手法などを
用いているため処理時間が長くなる。迅速な読取処理を
実現する上では、正確な中心位置を検出するステップに
要する処理時間をより短くすることが希求されるのであ
る。
【0019】そこで、本発明は、上述したようなアライ
ンメントパターンを有する2次元コードの読取に際し
て、アラインメントパターンの中心位置を迅速且つ正確
に検出できるようにし、結果的に読取時間の短縮を実現
することを目的とする。
【0020】
【課題を解決するための手段及び発明の効果】請求項1
記載の2次元コードの読取方法は、次のような2次元コ
ードを読み取ることを前提としている。つまり、セルの
分布パターンにより情報を表現する2次元コード内の所
定位置に配置され、2次元コードの位置を特定するため
の特定パターンと、2次元コード内にて特定パターンと
は異なる位置に配置され、特定パターンの位置と自身の
パターンとに基づいて位置検出されるアラインメントパ
ターンとを備える2次元コードである。
【0021】そしてその読取方法は、まず、2次元コー
ドの画像を得るとともに、画像中での特定パターンの位
置を検出する2次元コード位置決め処理を行う。次に、
アラインメントパターンの配置が特定パターンに対する
位置関係あるいは複数存在する場合にはアラインメント
パターン相互の位置関係によって予め定義されているこ
とを利用し、特定パターンの位置とアラインメントパタ
ーンとに基づいて、画像中でのアラインメントパターン
の位置を検出するアラインメントパターン位置決め処理
を行い、次に、2次元コード内のデータセルの位置を、
該データセルの近傍に存在する特定パターンの位置また
はアラインメントパターンの位置に基づいて検出するセ
ル位置決め処理を行う。次に、位置が検出されたデータ
セルに基づいて、2次元コードの情報を読み取るデコー
ド処理を行うのである。
【0022】このような読取方法を行うことを基本とす
るのであるが、本発明の2次元コードの読取方法におい
ては、上述したアラインメントパターンの位置決め処理
に特徴がある。すなわち、アラインメントパターンの一
部を抽出したものであって、中心のセルが含まれ且つ互
いに形状データの異なる所定数の参照パターンを記憶し
ておくことを前提とし、次の手順にて位置決めを行う。
【0023】まず、予め定義された位置関係に基づいて
アラインメントパターンの中心位置を計算で求める。次
に、計算で求めた中心位置(計算中心位置)を基点検査
点として、その基点検査点の周囲の所定位置(参照パタ
ーンを構成するセルに対応する位置)に検査点を設定す
る。次に、基点検査点を含む全検査点の明暗パターン
を、参照パターンを構成するセルの明暗パターンと比較
して、明暗パターンが一致する参照パターンを決定す
る。次に、決定された参照パターンの中心セルに対応す
る検査点の位置及びアラインメントパターンの形状に基
づいて、計算中心位置を補正するのである。
【0024】この読取方法の効果をより明確にするた
め、請求項2に示すように、アラインメントパターンと
して、中心に1セル分の暗パターン、その周囲に1セル
幅の枠状正方形状の明パターン、さらにその周囲に1セ
ル幅の枠状正方形状の暗パターンにて構成されるか、あ
るいはその明暗を逆にしたパターンにて構成されたもの
を想定し、参照パターンとしては、3セル×3セルから
成る9つのパターンを想定して説明を進める。
【0025】図11(A)には、中心に1セル分の暗パ
ターン、その周囲に1セル幅の枠状正方形状の明パター
ン、さらにその周囲に1セル幅の枠状正方形状の暗パタ
ーンを配置して構成したアラインメントパターンを示し
た。そして、この場合の「中心のセルが含まれ且つ互い
に形状データの異なる9つの参照パターン」は、図11
(B)に示すようになる。すなわち、3セル×3セルの
参照パターンの中心セルが、アラインメントパターンの
どの部分に該当するかで示している。
【0026】具体的には、図11(A)に示すアライン
メントパターンの中心の暗パターンのセルをeとし、そ
の周囲の枠状正方形状の明パターンが8セルあるので、
それらをそれぞれa,b,c,d,f,g,h,iとし
た場合に、その周囲の8セル分を含めた計9セルで9種
類の参照パターンが構成される。この図11(B)から
も判るように、これら9種類の参照パターンは、互いに
形状データが異なり、いずれもアラインメントパターン
の中心セル(e)が含まれる。
【0027】そこで、計算にて求めた中心位置を基点検
査点として3セル×3セルのパターンに対応する検査点
(計9個)を設定し、それら9個の検査点の明暗パター
ンを図11(b)に示す参照パターンと順次比較してい
き、一致するものを見つける。一致する参照パターンが
見つかれば、アラインメントパターンの中心セルがその
参照パターンのどの部分に対応するかが判るため、計算
中心位置を補正することができる。
【0028】このように、本発明の読取方法によれば、
アラインメントパターンの中心位置を確定するための処
理が簡単になって処理時間を短縮することができる。そ
のため、結果的に読取時間の短縮を実現することができ
るのである。この点をより明確にするため、上述した特
開平8−185492号公報記載の左手法及び再帰的な
探索手法を用いる場合と比較して説明することとする。
【0029】上述の公報記載の左手法及び再帰的な探索
手法の場合は画素単位での検査であるのに対して、本発
明の場合には、セル単位でのパターンマッチングであ
る。本発明においては、アラインメントパターンは明
暗セルの組合せで構成されており、その明暗セルは既
知の大きさである(つまり複数画素で構成されていて
も、何画素×何画素であるかが判っている)ことを最大
限に利用し、セルの大きさを単位にして検査すべき点を
設定し、上述した左手法のような手間の掛かる方法では
なく、参照パターンとの一致を判定するという簡単な手
法を採用している。このように、アラインメントパター
ンをセル単位で捉えようとしているため、たとえ1セル
が複数画素によって構成されていても、検査対象となる
画素数は少なくなり、この点でも処理の迅速化が図れ
る。
【0030】また、上述の公報記載の図16のフローチ
ャートにおいては、ステップS63〜S65に示すよう
に、計算にて求めたアラインメントパターンの中心位置
Pを探索し、中心セルCSが暗セルであればその中心位
置Pの画素も暗(黒)であるので、該当位置のドット値
が黒かどうかを判断する(S63)。そして、黒でない
場合には、計算中心位置Pから一定の範囲内を全て検索
して(S64,S65)黒の画素となる部分を探してい
る。しかしながら、本明細書添付の図18に例示するよ
うに、計算中心位置Pが明環状部C1に属している場合
に、計算中心位置Pから外側へ検査範囲を広げていくと
(S64)、その計算中心位置Pから距離的に近い外側
の暗環状部C2の画素が先に検出される。そのようにし
て処理が進んでS72での左手法を実行した場合には、
当然探索が失敗(S76)する。つまり、処理時間の掛
かる左手法を実行した上で探索が失敗となり、やり直し
することとなるため、結果的に無駄且つ時間の掛かる処
理を実行してしまうこととなる。
【0031】それに対して、本発明のようにセル単位で
のパターンマッチングを用いる場合には、このような明
らかな無駄な処理を避けることができ、その点でも処理
時間の増大を防止できる。このように、セル単位でのパ
ターンマッチングを基本とはするが、1つのセルが複数
の画素で構成されている場合には、上述した基点検査点
を含む全検査点は1画素に対応させる。つまり、計算に
よって位置を求める場合は画素単位で行うことが常識的
である。但し、1つの画素が明部であるか暗部であるか
を判定する場合、その1つの画素だけで判断すると、例
えば汚れの付着などがあった場合に明暗の判定間違いを
起こす可能性がある。したがって、請求項3に示すよう
に、各検査点の明暗を判定する場合には、その検査点の
画素の周囲の画素の明暗も加味して行うことが好まし
い。
【0032】例えば、請求項4に示すように、検査点の
画素及び周囲の画素の明暗の多数決によることが考えら
れる。また、請求項5に示すようにしてもよい。すなわ
ち、まず、基点検査点の画素及び周囲の画素の明暗を調
べて明部と暗部が混在しているかどうかを判定する周囲
画素判定を行う。そして、その周囲画素判定の結果、明
暗が混在している場合には、基点検査点を、アラインメ
ントパターンの形状及び明暗に基づく所定方向に所定量
だけ移動させ、その移動後の位置において周囲画素判定
を行う、という一連の処理を、明暗が混在しなくなるま
で繰り返し実行する。次に、基点検査点以外の検査点の
明暗を判定する。
【0033】このようにすれば、明暗を間違って判定し
てしまう可能性が少なくなる。そして、このように移動
しても、上述した9つの参照パターンの内のいずれかに
一致すれば、結果的に計算中心位置の補正は行えるの
で、明暗を誤認しないような位置に移動してから判定を
行う本手法は有効である。
【0034】なお、周囲画素判定にて明暗が混在してい
る場合に基点検査点を移動させる所定方向としては、例
えば請求項6に示すように、検査点の画素及び周囲の画
素の明暗の多数を占める方向とすることが考えられる。
多数を占める方向へ移動させることで、一般的には、明
暗が混在しなくなる可能性は高くなると考えられるから
である。また、請求項7に示すように、アラインメント
パターンの中心セルの周囲に存在する1セル幅の枠状正
方形状の明暗いずれかのパターンの方向としてもよい。
【0035】また、周囲画素判定にて明暗が混在してい
る場合に前記基点検査点を移動させる所定量としては、
例えば請求項8に示すように、1セルの大きさに対する
所定比率の画素数分とすることが考えられる。特に、請
求項9に示すように2分の1セルの画素数分だけ移動さ
せることとすれば、処理効率などの点で適切であると考
えられる。つまり、明暗が混在するということは、明セ
ルと暗セルの境界付近に基点検査点が存在する場合であ
るため、2分の1セルの画素数分だけ移動させれば、セ
ルの中央付近に移動することが期待できるからである。
もちろん、3分の1セルの画素数分だけ移動させたり、
4分の1セルの画素数分だけ移動させるようにしてもよ
い。但し、例えば4分の1セルの画素数分だけ移動させ
た場合、1セルを構成する画素数によっては移動後の位
置でも再度明暗が混在する可能性もあり、さらに移動を
必要としてしまう。したがって、2分の1セルの画素数
分だけ移動させることは、上述したように処理効率の点
などからも好ましいと言える。
【0036】なお、周囲画素判定にて明暗が混在してい
る場合に基点検査点を移動させる所定量としては、請求
項10に示すように、セルの大きさに無関係な所定画素
数分としてもよい。但し、上述したように、移動後の位
置における明暗の再度の混在を極力なくすような適切な
移動量という観点からは、やはり上述の2分の1セルの
画素数分だけ移動させることの方が好ましい。
【0037】ところで、アラインメントパターンの中心
位置を計算で求める際には、アラインメントパターンの
配置に関する定義に基づいて行っている。基本的には特
定パターンを位置の基準とした計算となるため、その特
定パターンから遠いアラインメントパターンほど歪みの
影響が大きく現れる可能性が高い。そこで、請求項11
に示すように、まず、特定パターンに対するアラインメ
ントパターンの位置関係のみによって求めることのでき
るアラインメントパターンの中心位置を求め、次に、そ
の中心位置の求められたアラインメントパターンと特定
パターンとの位置関係に基づくか、あるいは中心位置の
求められたアラインメントパターンとの位置関係に基づ
いて、該当するアラインメントパターンの中心位置を求
めるようにすることが考えられる。このようにすれば、
歪みによる影響によって計算中心位置が実際のアライン
メントパターンの中心位置からずれる量を極力低減する
ことができる。したがって、上述した参照パターンによ
るマッチング処理を有効利用できる範囲に計算中心位置
を収めることができ易くなる。
【0038】ここで、アラインメントパターンの配置に
関する定義の取得に関して説明する。例えばアラインメ
ントパターンの配置が一定の2次元コードのみを読取対
象とするのであれば、その1種類の定義内容を考慮した
読取方法のロジックを作成すればよい。しかし、現実的
には、アラインメントパターンといっても、その数や位
置が異なる複数種類の配置がある。したがって、2次元
コード中にその定義情報を含ませておくことが現実的で
ある。そこで、請求項12に示すように、アラインメン
トパターンの配置に関する定義情報は、特定パターンに
対する所定位置に配置されたフォーマットコードに含ま
せておく。そして、2次元コード位置決め処理を行った
後、検出された特定パターンの位置に基づいてフォーマ
ットコードを検出し、そのフォーマットコードが表すア
ラインメントパターンの配置に関する定義情報を取得す
る。その後、取得した定義情報に基づいてアラインメン
トパターン位置決め処理を行うのである。
【0039】なお、請求項13に示すように、このフォ
ーマットコードに2次元コード内のデータセルの個数に
関する情報も含ませておくことも考えられる。そして、
2次元コード位置決め処理を行った後、検出された特定
パターンの位置に基づいてフォーマットコードを検出
し、そのフォーマットコードが表すデータセルの個数に
関する情報を取得する。その後、取得したデータセルの
個数に関する情報にも基づいて前記セル位置決め処理を
行うのである。
【0040】なお、このような2次元コードの読取方法
を実行する機能は、例えば、デジタル回路やコンピュー
タシステム側で起動するプログラムとして備えられる。
プログラムで実現する場合、例えば、フロッピーディス
ク、光磁気ディスク、CD−ROM、ハードディスク等
の機械読み取り可能な記録媒体に記憶し、必要に応じて
コンピュータシステムにロードして起動することにより
用いることができる。この他、ROMやバックアップR
AMを機械読み取り可能な記録媒体としてプログラムを
記憶しておき、このROMあるいはバックアップRAM
をコンピュータシステムに組み込んで用いても良い。
【0041】
【発明の実施の形態】以下、本発明が適用された実施例
について図面を用いて説明する。なお、本発明の実施の
形態は、下記の実施例に何ら限定されることなく、本発
明の技術的範囲に属する限り、種々の形態を採り得るこ
とは言うまでもない。
【0042】図1のブロック図に、上述した発明が適用
された2次元コード読取装置1の概略構成を示す。2次
元コード読取装置1は、制御回路10と、照明発光ダイ
オード(照明LED)11と、CCDエリアセンサ12
と、増幅回路13と、2値化回路14と、特定比検出回
路15と、同期パルス出力回路16と、アドレス発生回
路17と、画像メモリ20と、スイッチ群31と、液晶
表示器32と、通信I/F回路33と中心にして構成さ
れている。
【0043】制御回路10は、CPU、ROM、RA
M、I/O等を備えたコンピュータシステムとして構成
され、ROMに記憶されているプログラムに従って後述
する読取処理等を実行し、2次元コード読取装置1の各
構成を制御している。照明LED11は、読取対象の2
次元コードに対して照明用の赤色光を照射するものであ
る。
【0044】CCDエリアセンサ12は、2次元的に配
列された複数の受光素子であるCCDを有しており、外
界を撮像してその2次元画像を水平方向の走査線信号と
して出力する。この走査線信号は増幅回路13によって
増幅されて2値化回路14に出力される。
【0045】増幅回路13は、制御回路10から入力し
たゲインコントロール電圧に対応する増幅率で、CCD
エリアセンサ12から出力された走査線信号を増幅す
る。2値化回路14は、増幅回路13にて増幅された走
査線信号を、閾値に基づいて2値化し、特定比検出回路
15及び画像メモリ20に出力する。
【0046】特定比検出回路15は、2値化回路14に
て2値化された走査線信号の内から所定の周波数成分比
を検出し、その検出結果は画像メモリ20に出力する。
また、2値化回路14から出力される2値データは、画
像メモリ20の2値データ記憶領域20aに記憶され
る。
【0047】CCDエリアセンサ12では繰り返し画像
を検出するので、その検出が繰り返される度に、画像メ
モリ20の2値データ記憶領域20a内の画像データは
更新される。同期パルス出力回路16は、CCDエリア
センサ12から出力される2次元画像データのパルスよ
り十分に細かい同期パルスを出力する。アドレス発生回
路17はこの同期パルスをカウントして、画像メモリ2
0の2値データ記憶領域20aに対するそれぞれのアド
レスを発生させる。2値データあるいは多値データは、
それぞれのアドレス毎に8ビット単位で、2値データ記
憶領域20aに書き込まれる。
【0048】一方、特定比検出回路15は、2値化回路
14からの信号における「1」から「0」への変化ある
いは「0」から「1」への変化を検出し、ある変化点か
ら次の変化点までの間に、同期パルス出力回路16から
出力された同期パルスをカウントすることにより、2次
元画像の中の明(1)の連続する長さ及び暗(0)の連
続する長さを求める。この長さの比から、読取対象の2
次元コードが持つ特定のパターンに対応する比を検出す
る。
【0049】スイッチ群31は、利用者が読取処理の開
始を指示するための読取スイッチや、テンキーあるいは
各種ファンクションキーを備えており、情報入力のため
に用いられる。液晶表示器32は、例えば2階調表示の
LCDとして構成されており、読み込んだ光学情報など
を表示するためなどに用いられる。
【0050】通信I/F回路33は、図示しない外部装
置との間で通信を行うものであり、図示しない通信用発
光素子を介してデータを外部装置に送信したり、図示し
ない通信用受光素子を介して外部装置からの信号(例え
ばシステムを動かすためのプログラムや送信を待機する
命令等)を受信する。
【0051】ここで、2次元コード読取装置1にて検出
される2次元コードの概略図を図2に示す。この2次元
コード52は、白色の台紙53の上に印刷されており、
3個の特定パターン54A,54B,54C、データ領
域56、6個のアラインメントパターン60A,60
B,60C,60D,60E,60F、フォーマットコ
ード70及びタイミングセル80a,80bなどから構
成されている。
【0052】これら全体のサイズは、53セル×53セ
ルの正方形状とされている。各セルは、光学的に異なっ
た2種類のセルから選ばれており、図および説明上では
白(明)・黒(暗)で区別して表す。なお、図2では便
宜上、データ領域56のデータセルの白黒のパターンは
省略している。
【0053】3つの特定パターン54A,54B,54
Cは、2次元コード52の4つの頂点の内、3つに配置
されている。この特定パターン54A,54B,54C
のセルの明暗配置は、図3(A)に示すごとく、1セル
幅の黒部からなる枠状正方形55a内の中心部分に、1
セル幅の白部からなる縮小した枠状正方形55bが形成
され、その内側の中心部分に黒部からなる3セル×3セ
ルの大きさの正方形55cが形成されているパターンで
ある。
【0054】また、6つのアラインメントパターン60
A〜60Fは、図4に示すごとく、2次元コード52内
を2次元コード52の縦横の辺S1,S2,S3,S4
のいずれかに沿った境界L1,L2,L3,L4にてセ
ルを分けて区画することで想定した9つの矩形領域R
1,R2,R3,R4,R5,R6,R7,R8,R9
の内、特定パターン54A,54B,54Cが存在しな
い6つの矩形領域R2,R4,R5,R6,R8,R9
に各1つ配置されている。
【0055】これらのアラインメントパターン60A〜
60Fのセルの明暗配置は、図5に示すごとく、1セル
幅の黒部からなる枠状正方形61a内の中心部分に、1
セル幅の白部からなる縮小した枠状正方形61bが形成
され、その内側の中心部分に1セルの黒部からなる正方
形61cが形成されているパターンである。
【0056】一方、フォーマットコード70は、特定パ
ターン54Aの近傍に配置されており、アラインメント
パターン60A〜60Fの配置を示す情報、データセル
の個数(Nセル×Nセル)を示す情報などを明暗パター
ンによって示すものである。つまり、図2に示したもの
は一例であり、これ以外にもアラインメントパターンの
配置やデータセルの個数が異なるものが存在し、それら
に対応したフォーマット情報がここに記憶されているの
である。
【0057】なお、この場合のフォーマットコード70
は、アラインメントパターンの配置情報、データセルの
個数情報を直接示していてもよいし、あるいは間接的に
示すものであってもよい。つまり、アラインメントパタ
ーンの配置情報、データセルの個数情報などの違いによ
って例えばデータ種別分類をし、その分類を示す情報
(例えば数字など)のみをフォーマットコードとして有
するものであってもよい。この場合には、2次元コード
読取装置1の例えば制御回路10内のRAM等に、分類
情報と、アラインメントパターンの配置情報、データセ
ルの個数情報などとの対応関係を例えばテーブル化して
格納しておけば対処できる。
【0058】また、タイミングセル80a,80bは、
特定パターン54A,54B,54C間に配置されてお
り、白と黒とが交互に組み合わせられた各データセル位
置の指標となる基準パターンとして用いられる。このよ
うな構成を備えた本実施例の2次元コード読取装置1
は、まず制御回路10の指示により、CCDエリアセン
サ12にて2次元コード52の2次元画像を検出する。
CCDエリアセンサ12は、2次元画像を検出すると、
図6(A)に示すごとくの多段階のレベルからなる信号
にて2次元画像データを出力する。CCDエリアセンサ
12から出力される信号は増幅回路13によって増幅さ
れて2値化回路14に出力される。2値化回路14は制
御回路10から指示された閾値にて2値化して、図6
(B)に示すごとくの1(ハイ)/0(ロー)の2つの
レベルからなる信号に変換する。そして、2値化回路1
4からの2値データは、画像メモリ20の2値データ記
憶領域20aに記憶される。走査線信号はCCDエリア
センサ12の画素列単位で走査され、同期パルスは1画
素に対応する間隔で出力されるので、結果として、2次
元画像は1画素単位で明暗度合いが検出されることとな
る。
【0059】一方、特定比検出回路15は、2値化回路
14からの信号における「1」から「0」への変化ある
いは「0」から「1」への変化タイミングを捉えて、2
次元画像の中の明(1)の連続する長さおよび暗(0)
の連続する長さを求める。この長さの比から、2次元コ
ード52の特定パターン54A,54B,54Cに該当
するパターンを検出することができる。図3(A)に示
したごとく、特定パターン54A,54B,54Cのほ
ぼ中心を代表的な角度で横切るCCD4の走査線
(a),(b),(c)での明暗パターンは、図3
(B)に示すごとく、すべて同じ明暗成分比を持つ構造
になっている。すなわち、特定パターン54A,54
B,54Cの中心を横切るそれぞれの走査線(a),
(b),(c)の明暗成分比は暗:明:暗:明:暗=
1:1:3:1:1となっている。勿論、走査線
(a),(b),(c)の中間の角度の走査線において
も比率は1:1:3:1:1である。また、図3(A)
の図形が、CCD4側から見て斜めの面に配置されてい
たとしても、前記走査線(a),(b),(c)の明暗
成分比は暗:明:暗:明:暗=1:1:3:1:1を維
持する。なお、図3(B)は、2値化回路14からの2
値化された信号に該当する。
【0060】このことにより、特定比検出回路15は、
この「1:1:3:1:1」なる明暗成分比を検出す
る。そして、検出した場合は、そのタイミングにアドレ
ス発生回路17にて発生されている画像メモリ20のア
ドレスをアドレス記憶領域20bに記憶する。
【0061】したがって、CCDエリアセンサ12が1
フレーム分の2次元画像データを検出すると、画像メモ
リ20の2値データ記憶領域20aには、2値化された
2次元画像データが記憶され、アドレス記憶領域20b
には、検出された分の特定パターン54A,54B,5
4Cのアドレスが記憶されている。
【0062】なお、最初の2次元画像の1フレーム分の
画像が得られると、制御回路10は、画像メモリ20内
のデータに基づいて後述する2次元コード読取処理を行
い、この処理が終了すれば、制御回路10は、続けて、
CCDエリアセンサ12に次の1フレームの2次元画像
の検出を指示する。したがって、CCDエリアセンサ1
2からは、再度、2次元画像が増幅回路13に出力さ
れ、上述したごとくの処理が繰り返される。
【0063】次に、1フレーム分の2次元コード52の
画像とその特定パターン54A,54B,54Cのアド
レスが、画像メモリ20の2値データ記憶領域20aお
よびアドレス記憶領域20bにそれぞれ記憶された後
に、制御回路10は、2次元コード読取処理を実行す
る。この2次元コード読取処理を図7のフローチャート
に示す。なお画像は歪みのあるデータが得られているも
のとする。
【0064】処理が開始されると、まず、特定パターン
54A,54B,54Cの検出処理が行われる(S10
0)。この処理では、画像メモリ20の2値データ記憶
領域20aおよびアドレス記憶領域20bに対してアク
セスし、その記憶内容から特定パターン54A,54
B,54Cが適切な位置に、3つ存在しているか否かの
判断と特定パターン54A,54B,54Cの画像上で
の正確な形状と中心位置とを決定する。
【0065】この処理は、まずアドレス記憶領域20b
に多数検出された特定パターン54A,54B,54C
のアドレスが、位置的に3つのグループに分けられるか
を、そのアドレス値と2値データ記憶領域20aの画像
とを参照しつつ判断する。更に、各特定パターン54
A,54B,54Cの形状と中心位置とを、2値データ
記憶領域20aの画像の1(白)/0(黒)のパターン
から決定し、その3つが図2に示したごとく3つの頂点
に存在する配置状態になっているかを判断する。
【0066】次に、ステップS100にて適切な3つの
特定パターン54A,54B,54Cが検出されたか否
かが判定され(S110)、検出されていなければ(S
110で「NO」)、次の画像の検出をCCDエリアセ
ンサ12に指示して(S210)、処理を終了する。
【0067】適切な3つの特定パターン54A,54
B,54Cが検出されると(S110で「YES」)、
次に新しい2次元コード52か否かが判定される(S1
20)。この処理は、前回以前に検出された2次元コー
ド52がいまだCCD4により検出され続けている場合
に、別の2次元コードとして解読するのを防止するため
である。例えば、前回または所定回数前の本処理にて、
適切な3つの特定パターン54A,54B,54Cが検
出され、更にそのコード内容も既に適切に読み取られて
いた場合には、同一の2次元コード52を検出している
ものとして(S120で「NO」)、次の画像の検出を
CCDエリアセンサ12に指示して(S210)、処理
を終了する。
【0068】新しい2次元コード52であると判定する
と(S120で「YES」)、次に特定パターン54
A,54B,54Cの形状に応じて、各特定パターン5
4A,54B,54Cを構成する各セルの形状と中心位
置が計算される(S130)。すなわち、まず、特定パ
ターン54A,54B,54Cについては、図8に示す
ごとく、黒の枠状正方形55aの幅が1セル分、白の枠
状正方形55bの幅が1セル分、および黒の正方形55
cの幅が3セル分の形状であることから、画像メモリ2
0の2値データ記憶領域20a内の各特定パターン54
A,54B,54C全体の高さLyと幅Lxとから、次
式のごとく、その高さLyと幅Lxとをそれぞれ7で割
ることにより、各特定パターン54A,54B,54C
の位置におけるセルの高さWyと幅Wxの値、すなわち
セルの形状を各3つ得る。
【0069】Wx=Lx/7,Wy=Ly/7 そして、このようにして求められた各特定パターン54
A,54B,54Cにおけるセルの高さWyと幅Wxに
基づいて、各特定パターン54A,54B,54Cにお
ける各セル位置を決定する。
【0070】次に、特定パターン54Aに基づいてフォ
ーマットコード70の検出処理を行う(S140)。こ
のフォーマットコード70は、特定パターン54Aの最
外周の枠状正方形55a(図3(A)参照)を構成する
4辺の内、特定パターン54B,54Cに対向する辺に
対して、1セル分だけ離れて平行に配置されている。し
たがって、この関係に基づけばフォーマットコード70
の位置が判り、そのフォーマットコード70からアライ
ンメントパターン60A〜60Fの配置やデータセルの
個数(図2の場合であれば53×53セル)を取得でき
る。
【0071】そして、続くS150では、アラインメン
トパターン60A〜60Fの中心位置を検出する処理を
行う。この内容については、後で図9などを用いて詳述
することとし、図7の説明を続ける。S150にてアラ
インメントパターン60A〜60Fの中心位置を検出し
た後は、S160に移行して、各アラインメントパター
ン60A〜60Fに対して、ステップS130で各特定
パターン54A,54B,54Cにて行ったと同様にし
て、各アラインメントパターン60A〜60Fを構成す
る各セルの形状と中心位置とを決定する(S160)。
【0072】次に、上述のごとく得られた特定パターン
54A,54B,54Cおよびアラインメントパターン
60A〜60Fのデータに基づいて、他のセル、すなわ
ち、データ領域56内のデータセルの中心位置を、前述
した矩形領域R1〜R9毎に決定する(S170)。
【0073】すなわち、矩形領域R1については、特定
パターン54Aを構成するセルの中心位置、形状、およ
びセルの配列方向により、矩形領域R1内をセル単位に
分割することで、矩形領域R1内の全てのデータセル中
心位置のxy座標位置を決定する。矩形領域R3は特定
パターン54Bに基づき、また矩形領域R7は特定パタ
ーン54Cに基づき、同様にして矩形領域R3,R7内
の全てのデータセル中心位置のxy座標位置を決定す
る。
【0074】矩形領域R2,R4,R5,R6,R8,
R9については、それぞれに配置されているアラインメ
ントパターン60A,60B,60C,60D,60
E,60Fを構成するセルの中心位置、形状、およびセ
ルの配列方向により、同様にして、矩形領域R2,R
4,R5,R6,R8,R9内の全てのデータセル中心
位置のxy座標位置を決定する。
【0075】そして、全てのデータセルの中心位置の画
素から2値を読み取り、各セルの種類を決定しコード内
容を得る(S180)。こうして、2次元コード52が
表している情報が得られる。次にこのコード内容が正常
なものか否かが判定される(S190)。例えば、白と
黒とのセル数が予め決められている特定の数になってい
るか否か、あるいは表されているデータを所定の計算方
法で計算した結果が2次元コード52内の所定範囲に表
示されているチェック用データと一致しているか否か等
により、正常にコードが読み取られているか否かが判定
される。
【0076】正常なコードでなければ(S190で「N
O」)、次の画像の検出をCCDエリアセンサ12に指
示して(S210)、処理を終了する。正常なコードで
あれば(S190で「YES」)、そのコード内容をホ
ストコンピュータ等の他の装置へ出力したり、そのコー
ド内容を特定のメモリに記憶したり、そのコード内容に
対応した処理を実行したり、あるいはそのコード内容に
対応した指示を出力したりする処理が行われる(S20
0)。
【0077】そして、次の新たな2次元コードの読み取
りのために、画像の検出をCCDエリアセンサ12に指
示して(S210)、処理を終了する。次に、上述した
S150でのアラインメントパターン60A〜60Fの
中心位置の検出処理について図9のフローチャートなど
を参照して説明する。なお、この図9のフローチャート
は、1つのアラインメントパターンの中心位置を検出す
る処理を示すものである。そのため、本実施例の場合に
は6つのアラインメントパターン60A〜60Fがある
ため、各アラインメントパターン60A〜60Fに対し
て図9の処理が実行されて中心位置が検出されることと
なる。
【0078】図9の最初のステップS1510において
は、アラインメントパターン60A〜60Fの中心位置
を計算によって求める。このようにして求めた中心位置
を計算中心位置と呼ぶ。この計算中心位置の求め方につ
いては、アラインメントパターン60A〜60Fによっ
て異なるので、それを説明する。
【0079】上述した図7のS140にてフォーマット
コード70を検出したが、そのフォーマットコード70
からアラインメントパターン60A〜60Fの配置やデ
ータセルの個数(図2の場合であれば53×53セル)
を取得できる。したがって、その情報に基づいてアライ
ンメントパターン60A〜60Fの中心位置を順次求め
ていく。本実施例では6つのアラインメントパターン6
0A〜60Fがあるため、図10に示すような順番で求
めていく。
【0080】例えば、図10における、左上の特定パタ
ーン54Aと右上の特定パターン54Bとの間のアライ
ンメントパターン60Aを最初に求める。フォーマット
コード70には、アラインメントパターン60Aがこれ
ら2つの特定パターン54A,54Bの間のどの位置に
配置されているかが定義されているので、それに基づい
て中心位置を求める。同様にして、左上の特定パターン
54Aと左下の特定パターン54Cとの間のアラインメ
ントパターン60Bの中心位置と求める。これらを先に
求めるのは、特定パターン54A〜54Cの位置は正確
に求められているため、それを基準とすれば、計算中心
位置がある程度正確に求められる可能性が高いからであ
る。
【0081】そして、次に、正確に求められた2次元コ
ード52上側中央のアラインメントパターン60Aの中
心位置から、左上の特定パターン54Aと左下の特定パ
ターン54Cとを結ぶ直線に平行に直線を伸ばし、更
に、正確に求められた2次元コード52左側中央のアラ
インメントパターン60Bの中心位置から、左上の特定
パターン54Aと右上の特定パターン54Bとを結ぶ直
線に平行に直線を伸ばし、その交叉点の位置を計算す
る。その位置を、2次元コード52の中央のアラインメ
ントパターン60Cの中心位置とする。
【0082】次に、正確に求められた2次元コード52
中央のアラインメントパターン60Cの中心位置から、
左上の特定パターン54Aと右上の特定パターン54B
とを結ぶ直線に平行に直線を伸ばし、更に、右上の特定
パターン54Bの基準位置から、左上の特定パターン5
4Aと左下の特定パターン54Cとを結ぶ直線に平行に
直線を伸ばし、その交叉点の位置を計算する。その位置
を、2次元コード52の右側中央のアラインメントパタ
ーン60Dの中心位置とする。
【0083】次に、正確に求められた2次元コード52
中央のアラインメントパターン60Cの中心位置から、
左上の特定パターン54Aと左下の特定パターン54C
とを結ぶ直線に平行に直線を伸ばし、更に、左下の特定
パターン54Cの基準位置から、左上の特定パターン5
4Aと右上の特定パターン54Bとを結ぶ直線に平行に
直線を伸ばし、その交叉点の位置を計算する。その位置
を、2次元コード52の下側中央のアラインメントパタ
ーン60Eの中心位置とする。
【0084】次に、正確に求められた2次元コード52
右側中央のアラインメントパターン60Dの中心位置か
ら、左上の特定パターン54Aと左下の特定パターン5
4Cとを結ぶ直線に平行に直線を伸ばし、更に、正確に
求められた2次元コード52下側中央のアラインメント
パターン60Eの中心位置から、左上の特定パターン5
4Aと右上の特定パターン54Bとを結ぶ直線に平行に
直線を伸ばし、その交叉点の位置を計算する。その位置
を、2次元コード52の右下のアラインメントパターン
60Fの中心位置とする。
【0085】なお、上述した順序に限定されるものでは
なく、特定パターン54A〜54Cあるいは正確に求め
られたアラインメントパターン60A〜60Fに基づい
て位置を求めていくのであれば任意の順序で構わない。
当然ながら、図10中に破線で示すように、右上の特定
パターン54Bや左下の特定パターン54Cの側から求
めていってもよい。
【0086】以上は、アラインメントパターン60A〜
60Fの中心位置を計算で求める処理(S1510)で
あり、その配置場所によって求め方が相違したが、図9
のS1520以降の処理は、配置場所によって変わるこ
とはない。まず、S1520〜S1620にて実行する
処理の概要について最初に説明しておく。本処理の前提
として、S1510で求めた計算中心位置が、図11
(A)に示す中心部分の正方形61c(eで示すセル)
か、あるいはその周りの枠状正方形60b(a,b,
c,d,f,g,h,iで示すセル)に存在する程度の
誤差しか持たないことが必要である。但し、現実的に
は、この程度の範囲の誤差に収まることが多い。そし
て、計算中心位置の周りに、計算中心位置から1セル分
離れた8つの検査点を設定し、計算中心位置も含めた計
9つの検査点の明暗パターンを、図11(B)に示す9
つの参照パターン(a)〜(i)と比較して合致するも
のを見つける。そして、その合致した参照パターンから
中心セルを特定し、その特定した中心セルの中心位置を
算出するのである。
【0087】それでは、図9のS1520〜S1620
の処理をステップの順番に説明していく。S1520で
は、S1510にて求めたアラインメントパターン60
A〜60Fの計算中心位置の明暗を判定する。本実施例
では1セルが6×6画素で構成されており、計算は画素
を単位として行うのであるが、1つの点が明部であるか
暗部であるを判定する場合に、1画素だけに着目して判
定すると、例えば汚れなどの付着にとって誤判定する可
能性もある。そこで、本実施例では周囲画素の明暗も加
味して判定する。例えば、図12(A)に示すように本
来の明暗判定画素が(●)である場合に、その周囲にあ
る4つの画素(□)も併せて検査したり、図12(B)
に示すように本来の明暗判定画素が(●)である場合
に、その周囲にある8つの画素(□)も併せて検査す
る。そして、例えば明暗の多数決によって本来の検査対
象の明暗判定を行うのである。このようにすれば、例え
ば図13(B)に示すように明セル部分に汚点があった
場合、その周囲画素の明暗も併せて判定すれば、当然な
がら明部が多くなるため、本来の検査対象画素自体は暗
部であったとしても明部であると正しく判定できる。
【0088】なお、検査対象画素が明暗セルの境界に近
い場合には、図12(A)の手法で明暗判定すると、図
12(C)に示すように明暗が入り混じった結果とな
る。この場合に多数決をすると、いずれにしても3対2
となって検査対象画素の明暗によって決まってしまうた
め、適切な明暗判定が難しくなる可能性がある。そこ
で、図12(D)のような検査パターンでの明暗判定も
加え、図12(E)に示すように検査対象画素周囲の1
2の画素(□)の明暗を加味して判定するようにしても
よい。この例では、検査対象画素周囲の12の画素
(□)の明暗は7対5となっているため、検査対象画素
が明であれば明暗が8対5となり、検査対象画素が暗で
あっても明暗が8対6となるため、明部であると判定し
て問題ない。
【0089】但し、本実施例の場合には、多数決によっ
て明暗を判定するのではなく、明暗が混在しない位置に
移動させるという手法を採用している(S1600〜S
1620)。この点については後述するが、その結果、
このS1520では、明暗が混在しているかどうかまで
が判るような判定で構わない。
【0090】図9のフローチャートの説明に戻り、S1
520での明暗判定の結果に基づき、S1530では、
明暗画素が混在するかどうか判定する。そして、明暗画
素が混在しない場合には(S1530で「NO」)、S
1540へ移行し、計算中心位置の周りに、計算中心位
置から1セル分離れた8つの検査点を設定する。例えば
図13に示す黒丸(●)が計算中心位置であるとする
と、白丸(○)が8つの検査点である。これは、計算中
心位置が3×3セルの中心セルの中央位置とした場合の
残りの8セルの中央位置に相当する。
【0091】そして、続くS1550では、その8つの
検査点の明暗判定を行う。この明暗判定については、S
1520にて計算中心位置に対して行ったのと同様に、
周囲画素も加味した明暗判定を行うのであるが、この場
合には、多数決によって明暗いずれかまで決定する。
【0092】続くS1560では、計算中心位置及び周
囲の8つの検査点からなる9点の明暗パターンを、図1
1(B)に示す9つの参照パターンと比較して合致する
ものを見つける。例えば図13に示す例の場合には、図
11(B)の参照パターン(c)に合致する。
【0093】合致する参照パターンがある場合には(S
1570で「YES」)、S1580へ移行して、その
合致する参照パターンから中心セルを特定する。この参
照パターンは、上述したa〜iの9つのセルをそれぞれ
中心として、その周囲の8セル分を含めた計9セルで9
種類の参照パターンが構成される。
【0094】この図11(B)の(a)〜(i)で示す
9種類の参照パターンは、互いに形状データが異なり、
いずれもアラインメントパターンの中心セルeが含まれ
るよう設定されている。そして、これらの内で合致する
参照パターンが見つかれば、アラインメントパターン6
0A〜60Fの中心セルeがその参照パターンのどの部
分に対応するかが判る。例えば、図11(B)の参照パ
ターン(a)であれば、右下のセルが中心セルeに該当
することが判り、また参照パターン(b)であれば、下
中央のセルが中心セルeに該当することが判る。このよ
うにし、いずれの参照パターンにおいてもどの部分が中
心セルeに該当するかが判る。図11(B)の参照パタ
ーン(c)に合致した場合には、その参照パターン
(c)において左下のセルが中心セルに該当するので、
8つの検査点の内、左下の点(図14(A)で言えば矢
印イで示す点)がアラインメントパターン60A〜60
Fの中心セルに属していることが判る。
【0095】そして、S1590では、S1580で特
定した中心セルの中心位置を算出する。この算出は次の
ようにして行う。例えば、図14(A)中に矢印イで示
す検査点がアラインメントパターン60A〜60Fの中
心セルに属することが判った場合には、図14(B)に
示すように、その中心セルの正方形61cにおける横幅
aと縦幅bに基づきその中央位置を求めるか、あるいは
その周りの枠状正方形60bの横幅Aと縦幅Bに基づき
その中央位置を求めるのである。
【0096】この内、後者の求め方を例にとり、図14
(C)を参照して説明する。矢印イで示す検査点を基準
として枠状正方形60bの外周に至るまで横方向に画素
をカウントすると左方向にA1、右方向にA2となる。
この場合、A1+A2=Aとなる。同様に、縦方向に画
素をカウントすると上方向にB1、下方向にB2とな
る。この場合、B1+B2=Bとなる。したがって、枠
状正方形60bの縦横の長さが判るので、その中心位置
も正確に算出できることとなる。
【0097】以上は、S1530で明暗画素が混在しな
い場合について説明したが、当然ながら、計算中心位置
と真の中心とのずれの大きさによっては、明暗画素が混
在する状態も生じる。その場合に本実施例では、上述し
た多数決によって明暗を判定するのではなく、明暗が混
在しない位置に移動させる。
【0098】つまり、明暗画素が混在していれば(S1
530で「YES」)、S1600へ移行して、変数n
をインクリメント(n=n+1)する。なお、フローチ
ャートに明示していないが、nの初期値は0である。そ
して、S1610では変数nが8以上となっていないか
どうか判断し、n≦8であれば(S1610で「N
O」)、S1620へ移行して、計算中心位置を2分の
1セル分移動した位置を、計算中心位置として再設定す
る。そして、S1520へ戻って明暗判定し、明暗画素
が混在するかどうかを判断する(S1530)。
【0099】このようにして、明暗画素が混在しなくな
るまで移動するのであるが、移動回数は最大8回であ
る。変数n>8となると(S1610で「YES」)、
そのまま本処理ルーチンを終了する。これは、移動後に
おいても図11(B)に示した参照パターンのいずれか
に合致するパターン位置に存在しなくては意味がないの
で、その点から最大8回に限定したのである。
【0100】また、移動距離は上述したように2分の1
セル分であるが、移動方向については、例えば計算中
心位置の画素及び周囲の画素の明暗の多数を占める方向
や、中心セルの周りの枠状正方形60bの明暗と同じ
側(この場合は明側)が考えられる。の場合には、多
数を占める方向へ移動させることで、一般的には、明暗
が混在しなくなる可能性は高くなると考えられる。ま
た、図11(B)に示す9つの参照パターンの内の8つ
は枠状正方形60bのいずれかのセルを想定しているの
で、この枠状正方形60bの側へ近づくように移動させ
ることも有効である。
【0101】例えば図15中の矢印αで示す移動前の計
算中心位置(●)は、明暗の境界部分に位置するので、
周囲画素を加味した明暗判定(S1520)の結果、明
暗画素が混在することとなる。したがって、この場合は
上述した,のいずれの移動方向を採用しても明側へ
移動することとなる。図15中の矢印βで示す移動後の
計算中心位置(●)については、周囲画素も含めて全て
明部となるため、明暗画素が混在しなくなり(S153
0で「NO」)、S1540以降の処理を行うことがで
きる。この場合、S1550での8つの検査点における
明暗判定においても、明暗が混在しない可能性が高くな
るため、多数決による明暗判定の信頼性が向上する。
【0102】なお、移動方向としては一方向には限らな
い。例えば図15中に矢印α1で示す位置に移動前の計
算中心位置(◎)がある場合を想定する。この場合に
は、例えば1回目の移動で、図15中に矢印α2で示す
位置に移動する。しかし、この位置でも同様に明暗が混
在するため、2回目の移動が必要である。この2回目の
移動に際しては、上述した,のいずれの移動方向を
採用しても明側へ移動することとなるため、図15中の
矢印βで示す位置に移動することとなる。つまり、最初
は横方向へ移動し、次は縦方向へ移動する、というよう
な移動も行うということである。もちろん、位置α1→
位置α→位置βという移動順序であってもよい。
【0103】以上説明したように、本実施例の2次元コ
ード読取装置1は、各矩形領域R1〜R9において、そ
の矩形領域R1〜R9内に配置されている特定パターン
54A,54B,54Cまたはアラインメントパターン
60A〜60Fのセルの中心位置、セル形状、セル配列
に基づいて、データセルの位置が決定されている。この
ため2次元コード52の読み取り画像に歪みが存在して
も、矩形領域R1〜R9毎の歪みは、その矩形領域R1
〜R9に配置されている特定パターン54A,54B,
54Cまたはアラインメントパターン60A〜60Fの
セルの中心位置、セル形状、セル配列に現れているの
で、データセルの位置決定に画像の歪みが反映されて、
正確にデータセルの中心位置が決定でき、2次元コード
52が表すコードを正確に読み取ることができる。
【0104】このような効果を奏することを前提とし
て、本実施例の2次元コード読取装置1はさらに、アラ
インメントパターン60A〜60Fの中心位置を確定す
るための処理が簡単になって処理時間を短縮することが
できる。従来技術として説明した特開平8−18549
2号公報記載の左手法及び再帰的な探索手法を用いる場
合は画素単位での検査であるのに対して、本実施例の場
合には、セル単位でのパターンマッチングを用いてい
る。つまり、アラインメントパターン60A〜60F
は明暗セルの組合せで構成されており、その明暗セル
は既知の大きさ(本実施例の場合には6×6画素)であ
ることを最大限に利用し、セルの大きさを単位にして検
査すべき点を設定し、上述した左手法のような手間の掛
かる方法ではなく、図11(B)に示すような参照パタ
ーンとの一致を判定するという簡単な手法を採用してい
る。このように、アラインメントパターン60A〜60
Fをセル単位で捉えようとしているため、たとえ1セル
が複数画素によって構成されていても、検査対象となる
画素数は少なくなり、この点でも処理の迅速化が図れ
る。
【0105】また、上述の公報記載の図16のフローチ
ャートにおいては、ステップS63〜S65に示すよう
に、計算にて求めたアラインメントパターンの中心位置
Pを探索し、中心セルCSが暗セルであればその中心位
置Pの画素も暗(黒)であるので、該当位置のドット値
が黒かどうかを判断する(S63)。そして、黒でない
場合には、計算中心位置Pから一定の範囲内を全て検索
して(S64,S65)黒の画素となる部分を探してい
る。しかしながら、図18に例示するように、計算中心
位置Pが明環状部C1に属している場合に、計算中心位
置Pから外側へ検査範囲を広げていくと(S64)、そ
の計算中心位置Pから距離的に近い外側の暗環状部C2
の画素が先に検出される。そのようにして処理が進んで
S72での左手法を実行した場合には、当然探索が失敗
(S76)する。つまり、処理時間の掛かる左手法を実
行した上で探索が失敗となり、やり直しすることとなる
ため、結果的に無駄且つ時間の掛かる処理を実行してし
まうこととなる。
【0106】それに対して、本実施例のようにセル単位
でのパターンマッチングを用いる場合には、このような
明らかな無駄な処理を避けることができ、その点でも処
理時間の増大を防止できる。このように、本実施例の2
次元コード読取装置1によれば、アラインメントパター
ン60A〜60Fの中心位置を確定するための処理が簡
単になって処理時間を短縮することができるため、上述
した基本的な効果を得られながら、2次元コード52の
読取時間の短縮を実現することができるのである。
【0107】[その他] (1)上述した実施例においては、計算中心位置の明暗
判定の結果、明暗画素が混在している場合に前記計算中
心位置を移動させる所定量としては、2分の1セル分と
したが、3分の1セルの画素数分あるいは4分の1セル
の画素数分というように、1セルの大きさに対する所定
比率の画素数分としてもよい。但し、上述した実施例の
ように2分の1セルの画素数分だけ移動させることとす
れば、処理効率などの点で適切であると考えられる。つ
まり、明暗が混在するということは、明セルと暗セルの
境界付近に基点検査点が存在する場合であるため、2分
の1セルの画素数分だけ移動させれば、セルの中央付近
に移動することが期待できるからである。それに対し
て、3分の1セルの画素数分あるいは4分の1セルの画
素数分だけ移動させた場合には、1セルを構成する画素
数によっては移動後の位置でも再度明暗が混在する可能
性もあり、さらに移動を必要としてしまう。したがっ
て、2分の1セルの画素数分だけ移動させることは、上
述したように処理効率の点などからも好ましいと言え
る。
【0108】なお、この移動量として、セルの大きさに
無関係な所定画素数分としてもよい。但し、上述したよ
うに、移動後の位置における明暗の再度の混在を極力な
くすような適切な移動量という観点からは、やはり上述
の2分の1セルの画素数分だけ移動させることの方が好
ましい。
【0109】(2)また、上述した実施例ではアライン
メントパターン60A〜60Fとして、図5に示すよう
な形状のものを採用したが、このような形状に限定され
ることはない。例えば 上述した図5に示すアラインメ
ントパターン60A〜60Fは、枠状正方形61a及び
内側の枠状正方形61bは共に1セル幅であり、その内
側の正方形61cは1セルで構成されていたが、枠状正
方形61a及び内側の枠状正方形61bについて複数セ
ル幅としてもよいし、内側の正方形61cを複数セルで
構成してもよい。また、全体の形状として正方形以外の
形状でもよい。
【0110】なお、当然であるが、上述した実施例の明
暗が全く逆の2次元コードであってもよい。 (3)また、例えば図3に示すように、特定パターン5
4A〜54Cを二重の正方形で、中心を横切る周波数成
分比が黒:白:黒:白:黒=1:1:3:1:1の図形
で表していたが、円形や六角形、あるいは他の正多角形
でも良い。即ち、同心状に相似形の図形が重なり合う形
に形成したものであればよく、図7のS100にて行う
特定パターン検出処理の内容はなんら変わらない。さら
に、中心を横切る周波数成分比があらゆる角度で同じな
らば、図形を何重にしても良い。この場合には、対応す
る周波数成分比を検出する処理が、図5のS100にて
行う特定パターン検出処理となるだけである。
【0111】(4)さらに、上述した実施例では、例え
ば図2に示すように、読取対象の2次元コード52の外
形を正方形で示したが、長方形でも良い。また、例えば
図1に示すように、特定パターン54A〜54Cは、2
次元コード52の4つの頂点の内、3つに配置されてい
たが、2次元コード52内での配置は任意である。また
1つの2次元コード52に4つ以上の特定パターンを設
けても良い。
【0112】また特定パターンは2つでも良い。この場
合に対角の2頂点に特定パターンを配置すれば2次元コ
ード52の配置は決定する。また、対角以外の2頂点
に、あるいは頂点以外に特定パターンを配置した場合に
も、アラインメントパターン60A〜60Fのパターン
を検出することで、データ領域56の配置を検出するこ
とができる。このようにアラインメントパターン60A
〜60Fのパターンの検出を利用すれば、特定パターン
は1つでも良く、例えば、2次元コード52の中心に特
定パターンが1つ存在し、その周囲にアラインメントパ
ターンが配置されているようにしても良く、2次元コー
ド52内の何れの位置に特定パターンを配置してもデー
タセルの位置を求めることができる。
【0113】また、前記実施例では、特定パターン54
A〜54Cは特定比検出回路15によりハード的に検出
していたがソフト的に検出することも可能である。
【図面の簡単な説明】
【図1】 実施例における2次元コード読取装置の概略
構成を表すブロック図である。
【図2】 実施例における2次元コードの概略構成説明
図である。
【図3】 実施例における特定パターンを走査した場合
の明暗検出の説明図である。
【図4】 実施例における矩形領域の配置説明図であ
る。
【図5】 実施例におけるアラインメントパターンの説
明図である。
【図6】 実施例におけるCCDと2値化回路との出力
信号の説明図である。
【図7】 実施例における2次元コード読取処理の全体
を示すフローチャートである。
【図8】 実施例における特定パターンからセルサイズ
を求める場合の説明図である。
【図9】 実施例における2次元コード読取処理内で実
行されるアラインメントパターン中心位置検出処理ルー
チンを示すフローチャートである。
【図10】 アラインメントパターンの検出順序を示す
説明図である。
【図11】 アラインメントパターン検出のための参照
パターンの説明図である。
【図12】 周辺画素も加味した明暗判定の説明図であ
る。
【図13】 計算中心位置及び8つの検査点の具体例を
示す説明図である。
【図14】 特定した中心セルの中心位置を求める手法
の説明図である。
【図15】 計算中心位置が明暗境界に位置する場合の
移動方向や距離などを示す説明図である。
【図16】 従来技術の内容を示すための説明図であ
る。
【図17】 従来技術の内容を示すための説明図であ
る。
【図18】 従来技術の内容を示すための説明図であ
る。
【図19】 従来のバーコードおよび2次元コードの説
明図である。
【図20】 従来の2次元コードの概略構成説明図であ
る。
【図21】 2次元コードの歪み状態の説明図である。
【符号の説明】
1…2次元コード読取装置 10…制御回路 11…照明LED 12…CCDエリ
アセンサ 13…増幅回路 14…2値化回路 15…特定比検出回路 16…同期パルス
出力回路 17…アドレス発生回路 20…画像メモリ 20a…2値データ記憶領域 20b…アドレス
記憶領域 31…スイッチ群 32…液晶表示器 33…通信I/F回路 52…2次元コー
ド 53…台紙 54A〜54C…特定パター
ン 55a…枠状正方形 55b…枠状正方
形 55c…正方形 56…データ領
域 60A〜60F…アラインメントパターン 60b…枠状正方形 61b…枠状正方
形 61c…正方形 70…フォーマ
ットコード 80a,80b…タイミングセル L1〜L4…境界 R1〜R7…矩形領域

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】セルの分布パターンにより情報を表現する
    2次元コード内の所定位置に配置され、2次元コードの
    位置を特定するための特定パターンと、2次元コード内
    にて前記特定パターンとは異なる位置に配置され、前記
    特定パターンの位置と自身のパターンとに基づいて位置
    検出されるアラインメントパターンとを備える2次元コ
    ードの画像を得るとともに、前記画像中での前記特定パ
    ターンの位置を検出する2次元コード位置決め処理を行
    い、 次に、前記アラインメントパターンの配置が前記特定パ
    ターンに対する位置関係あるいは複数存在する場合には
    アラインメントパターン相互の位置関係によって予め定
    義されていることを利用し、前記特定パターンの位置と
    前記アラインメントパターンとに基づいて、前記画像中
    での前記アラインメントパターンの位置を検出するアラ
    インメントパターン位置決め処理を行い、 次に、前記2次元コード内の前記データセルの位置を、
    該データセルの近傍に存在する前記特定パターンの位置
    または前記アラインメントパターンの位置に基づいて検
    出するセル位置決め処理を行い、 次に、前記位置が検出されたデータセルに基づいて、2
    次元コードの情報を読み取るデコード処理を行うことを
    特徴とする2次元コードの読取方法であって、 前記アラインメントパターンの一部を抽出したものであ
    って、中心のセルが含まれ且つ互いに形状データの異な
    る所定数の参照パターンを記憶しておき、 前記アラインメントパターン位置決め処理は、 まず、前記予め定義された位置関係に基づいてアライン
    メントパターンの中心位置を計算で求め、 次に、前記計算で求めた中心位置(計算中心位置)を基
    点検査点として、当該基点検査点の周囲の所定位置(前
    記参照パターンを構成するセルに対応する位置)に検査
    点を設定し、 次に、前記基点検査点を含む全検査点の明暗パターン
    を、前記参照パターンを構成するセルの明暗パターンと
    比較して、明暗パターンが一致する参照パターンを決定
    し、 次に、前記決定された参照パターンの中心セルに対応す
    る検査点の位置及びアラインメントパターンの形状に基
    づいて、前記計算中心位置を補正することを特徴とする
    2次元コードの読取方法。
  2. 【請求項2】請求項1記載の2次元コードの読取方法に
    おいて、 前記アラインメントパターンは、中心に1セル分の暗パ
    ターン、その周囲に1セル幅の枠状正方形状の明パター
    ン、さらにその周囲に1セル幅の枠状正方形状の暗パタ
    ーンにて構成されるか、あるいはその明暗を逆にしたパ
    ターンにて構成されており、 前記参照パターンは、3セル×3セルから成る9つのパ
    ターンであること、 を特徴とする2次元コードの読取方法。
  3. 【請求項3】請求項2記載の2次元コードの読取方法に
    おいて、 前記1つのセルは複数の画素に対応していると共に、前
    記基点検査点を含む全検査点は1画素に対応しており、 前記各検査点の明暗を判定する場合には、当該検査点の
    画素の周囲の画素の明暗パターンも加味して行うこと、 を特徴とする2次元コードの読取方法。
  4. 【請求項4】請求項3記載の2次元コードの読取方法に
    おいて、 前記各検査点の明暗を判定する場合には、当該検査点の
    画素及び周囲の画素の明暗の多数決によること、 を特徴とする2次元コードの読取方法。
  5. 【請求項5】請求項3記載の2次元コードの読取方法に
    おいて、 前記各検査点の明暗を判定する場合には、 まず、前記基点検査点の画素及び周囲の画素の明暗を調
    べて明部と暗部が混在しているかどうかを判定する周囲
    画素判定を行い、当該周囲画素判定の結果、明暗が混在
    している場合には、前記基点検査点を、前記アラインメ
    ントパターンの形状及び明暗に基づく所定方向に所定量
    だけ移動させ、当該移動後の位置において前記周囲画素
    判定を行う、という一連の処理を、前記明暗が混在しな
    くなるまで繰り返し実行し、 次に、基点検査点以外の検査点の明暗を判定すること、 を特徴とする2次元コードの読取方法。
  6. 【請求項6】請求項5記載の2次元コードの読取方法に
    おいて、 前記周囲画素判定にて明暗が混在している場合に前記基
    点検査点を移動させる所定方向は、前記検査点の画素及
    び周囲の画素の明暗の多数を占める方向であること、 を特徴とする2次元コードの読取方法。
  7. 【請求項7】請求項5記載の2次元コードの読取方法に
    おいて、 前記周囲画素判定にて明暗が混在している場合に前記基
    点検査点を移動させる所定方向は、前記アラインメント
    パターンの中心セルの周囲に存在する1セル幅の枠状正
    方形状の明暗いずれかのパターンの方向であること、 を特徴とする2次元コードの読取方法。
  8. 【請求項8】請求項5〜7のいずれか記載の2次元コー
    ドの読取方法において、 前記周囲画素判定にて明暗が混在している場合に前記基
    点検査点を移動させる所定量は、1セルの大きさに対す
    る所定比率の画素数分であること、 を特徴とする2次元コードの読取方法。
  9. 【請求項9】請求項8記載の2次元コードの読取方法に
    おいて、 前記周囲画素判定にて明暗が混在している場合に前記基
    点検査点を移動させる所定量は、2分の1セルの画素数
    分であること、 を特徴とする2次元コードの読取方法。
  10. 【請求項10】請求項5〜7のいずれか記載の2次元コ
    ードの読取方法において、 前記周囲画素判定にて明暗が混在している場合に前記基
    点検査点を移動させる所定量は、セルの大きさに無関係
    な所定画素数分であること、 を特徴とする2次元コードの読取方法。
  11. 【請求項11】請求項1〜10のいずれか記載の2次元
    コードの読取方法において、 前記アラインメントパターンの中心位置を計算で求める
    際には、 まず、前記特定パターンに対する前記アラインメントパ
    ターンの位置関係のみによって求めることのできるアラ
    インメントパターンの中心位置を求め、 次に、その中心位置の求められたアラインメントパター
    ンと特定パターンとの位置関係に基づくか、あるいは中
    心位置の求められたアラインメントパターンとの位置関
    係に基づいて、該当するアラインメントパターンの中心
    位置を求めること、 を特徴とする2次元コードの読取方法。
  12. 【請求項12】請求項1〜11のいずれか記載の2次元
    コードの読取方法において、 前記アラインメントパターンの配置に関する定義情報
    は、前記特定パターンに対する所定位置に配置されたフ
    ォーマットコードに含まれており、 前記2次元コード位置決め処理を行った後、検出された
    前記特定パターンの位置に基づいて前記フォーマットコ
    ードを検出し、そのフォーマットコードが表すアライン
    メントパターンの配置に関する定義情報を取得し、 その取得した定義情報に基づいて前記アラインメントパ
    ターン位置決め処理を行うこと、 を特徴とする2次元コードの読取方法。
  13. 【請求項13】請求項12記載の2次元コードの読取方
    法において、 前記フォーマットコードには2次元コード内のデータセ
    ルの個数に関する情報も含まれており、 前記2次元コード位置決め処理を行った後、検出された
    前記特定パターンの位置に基づいて前記フォーマットコ
    ードを検出し、そのフォーマットコードが表すデータセ
    ルの個数に関する情報を取得し、 その取得したデータセルの個数に関する情報にも基づい
    て前記セル位置決め処理を行うこと、 を特徴とする2次元コードの読取方法。
  14. 【請求項14】請求項1〜13のいずれか記載の2次元
    コードの読取方法が、コンピュータシステムにて実行す
    るプログラムとして記録されたことを特徴とする記録媒
    体。
JP33777398A 1998-11-27 1998-11-27 2次元コードの読取方法及び記録媒体 Expired - Lifetime JP3458737B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33777398A JP3458737B2 (ja) 1998-11-27 1998-11-27 2次元コードの読取方法及び記録媒体
US09/447,885 US6360948B1 (en) 1998-11-27 1999-11-24 Method of reading two-dimensional code and storage medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33777398A JP3458737B2 (ja) 1998-11-27 1998-11-27 2次元コードの読取方法及び記録媒体

Publications (2)

Publication Number Publication Date
JP2000163506A true JP2000163506A (ja) 2000-06-16
JP3458737B2 JP3458737B2 (ja) 2003-10-20

Family

ID=18311836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33777398A Expired - Lifetime JP3458737B2 (ja) 1998-11-27 1998-11-27 2次元コードの読取方法及び記録媒体

Country Status (2)

Country Link
US (1) US6360948B1 (ja)
JP (1) JP3458737B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269121A (ja) * 2007-04-18 2008-11-06 Sony Corp 電子機器、2次元コード認識方法、プログラム及び2次元コード
JP2012221261A (ja) * 2011-04-08 2012-11-12 Nintendo Co Ltd 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム
JP2013131057A (ja) * 2011-12-21 2013-07-04 Fuji Xerox Co Ltd 二次元コード、記録装置、識別装置及びプログラム
JP2013206347A (ja) * 2012-03-29 2013-10-07 Denso Wave Inc 情報コード読取装置
JP6984836B1 (ja) * 2021-04-07 2021-12-22 有限会社バラエティーエム・ワン 情報コード、情報コード生成装置、情報コード読取装置、プログラムおよび情報コード利用システム
WO2021253633A1 (zh) * 2020-06-18 2021-12-23 福州富昌维控电子科技有限公司 一种批量二维码的识别方法及识别终端
US11907777B2 (en) 2020-04-10 2024-02-20 Variety M-1 Inc. Information code, information code generation device, information code readout device, program, and information code utilization system

Families Citing this family (50)

* 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
JP2000222517A (ja) * 1998-11-27 2000-08-11 Denso Corp 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
DE29924323U1 (de) * 1999-03-24 2002-12-05 Anitra Medienprojekte Gmbh Träger für Muster und Lesegerät zur Positionsbestimmung
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
US6678425B1 (en) * 1999-12-06 2004-01-13 Xerox Corporation Method and apparatus for decoding angular orientation of lattice codes
US20040039982A1 (en) * 2000-09-12 2004-02-26 Hideki Chujo Dot code and dot code reader
ATE335246T1 (de) 2001-01-22 2006-08-15 Hand Held Prod Inc Optischer leser mit teilbild-ausschnitt-funktion
US6637658B2 (en) * 2001-01-22 2003-10-28 Welch Allyn, Inc. Optical reader having partial frame operating mode
US7268924B2 (en) * 2001-01-22 2007-09-11 Hand Held Products, Inc. Optical reader having reduced parameter determination delay
US7270273B2 (en) * 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
JP2003058841A (ja) * 2001-08-09 2003-02-28 Satoshi Mizoguchi 二次元コード
JP3930891B2 (ja) 2002-09-26 2007-06-13 健治 吉田 ドットパターンを用いた情報再生装置
DE602004030434D1 (de) * 2003-04-16 2011-01-20 L 1 Secure Credentialing Inc Dreidimensionale datenspeicherung
JP4076906B2 (ja) * 2003-05-16 2008-04-16 株式会社トプコン 外観検査方法
US7823789B2 (en) 2004-12-21 2010-11-02 Cognex Technology And Investment Corporation Low profile illumination for direct part mark readers
US9070031B2 (en) 2003-10-24 2015-06-30 Cognex Technology And Investment Llc Integrated illumination assembly for symbology reader
US9536124B1 (en) 2003-10-24 2017-01-03 Cognex Corporation Integrated illumination assembly for symbology reader
US7823783B2 (en) 2003-10-24 2010-11-02 Cognex Technology And Investment Corporation Light pipe illumination system and method
US7874487B2 (en) 2005-10-24 2011-01-25 Cognex Technology And Investment Corporation Integrated illumination assembly for symbology reader
US7604174B2 (en) 2003-10-24 2009-10-20 Cognex Technology And Investment Corporation Method and apparatus for providing omnidirectional lighting in a scanning device
US7825809B2 (en) * 2004-01-07 2010-11-02 Seagate Technology Llc Marking system for a flex circuit or printed cable
US20080112304A1 (en) * 2004-04-21 2008-05-15 Koninklijke Philips Electronics, N.V. Spot Alignment For Parrallel Read-Out Of Two-Dimensional Encoded Optical Storage Media
GB2416894B (en) * 2004-07-29 2009-04-29 Hewlett Packard Development Co Products with data encoding pattern
US7490773B2 (en) * 2004-12-03 2009-02-17 Mcvicker Henry J Apparatus and method for obtaining an image of an arcuate surface
US7617984B2 (en) * 2004-12-16 2009-11-17 Cognex Technology And Investment Corporation Hand held symbology reader illumination diffuser
US9292724B1 (en) 2004-12-16 2016-03-22 Cognex Corporation Hand held symbology reader illumination diffuser with aimer optics
JP4270133B2 (ja) * 2005-01-26 2009-05-27 株式会社デンソーウェーブ 情報読取装置
US20060180672A1 (en) * 2005-02-11 2006-08-17 Chu Lonny L Method and system for multi-dimensional symbol coding system
AU2005331401B2 (en) 2005-04-28 2012-07-12 Kenji Yoshida Information input/output method using dot pattern
JP3771252B1 (ja) 2005-07-01 2006-04-26 健治 吉田 ドットパターン
WO2007063195A1 (fr) * 2005-12-02 2007-06-07 Universite Paris 7 Denis Diderot Procede de codage sous forme graphique
JP5314428B2 (ja) * 2005-12-23 2013-10-16 ジーコデール システムズ アクチボラゲット 測位用パターン
US7614563B1 (en) 2005-12-29 2009-11-10 Cognex Technology And Investment Corporation System and method for providing diffuse illumination in a symbology reader
JP4670658B2 (ja) * 2006-01-25 2011-04-13 富士ゼロックス株式会社 画像処理装置、画像処理方法及びプログラム
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
GB2446424A (en) * 2007-02-07 2008-08-13 Peachinc Ltd Two dimensional bar code with locating symbols
JP5111055B2 (ja) * 2007-10-26 2012-12-26 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US8757490B2 (en) * 2010-06-11 2014-06-24 Josef Bigun Method and apparatus for encoding and reading optical machine-readable data codes
WO2016119239A1 (zh) * 2015-01-30 2016-08-04 深圳市民德电子科技股份有限公司 矩阵式二维码及其编码方法和译码方法
US9501681B1 (en) 2015-07-14 2016-11-22 A9.Com, Inc. Decoding visual codes
WO2017046967A1 (ja) * 2015-09-15 2017-03-23 大日本印刷株式会社 情報保存装置および情報読出装置
US10235542B2 (en) 2016-06-02 2019-03-19 NanoRosetta, LLC Jewelry including etched or printed information and method to optically or wirelessly access digital replica of the etched or printed information
CN111291584B (zh) 2016-07-22 2023-05-02 创新先进技术有限公司 识别二维码位置的方法及其系统
DK3855342T3 (da) * 2020-01-27 2022-02-07 Sick Ag Læsning af optiske koder
US11429804B2 (en) 2020-09-18 2022-08-30 Google Llc Platform for registering and processing visual encodings
WO2022171935A1 (fr) * 2021-02-11 2022-08-18 Franck Guigan Dispositifs de securite optique deformes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
US5756981A (en) * 1992-02-27 1998-05-26 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means
US5487115A (en) * 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
US5404003A (en) * 1993-02-01 1995-04-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using byte-based searching
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP2938338B2 (ja) 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
JP2867904B2 (ja) 1994-12-26 1999-03-10 株式会社デンソー 2次元コード読取装置
JPH08185429A (ja) 1994-12-28 1996-07-16 Sony Corp 画像表示装置及び画像表示方法
JP3668275B2 (ja) 1995-03-15 2005-07-06 シャープ株式会社 デジタル情報記録方法、解読方法および解読装置
JP3716527B2 (ja) 1997-01-28 2005-11-16 株式会社デンソー 2次元コードの読取方法
US6201901B1 (en) * 1998-06-01 2001-03-13 Matsushita Electronic Industrial Co., Ltd. Border-less clock free two-dimensional barcode and method for printing and reading the same
US6082619A (en) * 1998-12-16 2000-07-04 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269121A (ja) * 2007-04-18 2008-11-06 Sony Corp 電子機器、2次元コード認識方法、プログラム及び2次元コード
JP2012221261A (ja) * 2011-04-08 2012-11-12 Nintendo Co Ltd 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム
JP2013131057A (ja) * 2011-12-21 2013-07-04 Fuji Xerox Co Ltd 二次元コード、記録装置、識別装置及びプログラム
JP2013206347A (ja) * 2012-03-29 2013-10-07 Denso Wave Inc 情報コード読取装置
US11907777B2 (en) 2020-04-10 2024-02-20 Variety M-1 Inc. Information code, information code generation device, information code readout device, program, and information code utilization system
WO2021253633A1 (zh) * 2020-06-18 2021-12-23 福州富昌维控电子科技有限公司 一种批量二维码的识别方法及识别终端
JP6984836B1 (ja) * 2021-04-07 2021-12-22 有限会社バラエティーエム・ワン 情報コード、情報コード生成装置、情報コード読取装置、プログラムおよび情報コード利用システム
JP2022160808A (ja) * 2021-04-07 2022-10-20 有限会社バラエティーエム・ワン 情報コード、情報コード生成装置、情報コード読取装置、プログラムおよび情報コード利用システム

Also Published As

Publication number Publication date
JP3458737B2 (ja) 2003-10-20
US6360948B1 (en) 2002-03-26

Similar Documents

Publication Publication Date Title
JP3458737B2 (ja) 2次元コードの読取方法及び記録媒体
JP4288756B2 (ja) 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体
US6181839B1 (en) Two-dimensional code reader
JP2938338B2 (ja) 二次元コード
US5726435A (en) Optically readable two-dimensional code and method and apparatus using the same
KR101801217B1 (ko) 이차원 코드
US5189292A (en) Finder pattern for optically encoded machine readable symbols
KR101679720B1 (ko) 이차원 코드, 이차원 코드 생성 시스템 및 분석 프로그램
US6655595B1 (en) Bar code reader configured to read fine print bar code symbols
US6000614A (en) Two-dimensional code reading apparatus
CN100377167C (zh) 一种用于二维码识别的二维码区域精确定位方法
JP2004234318A (ja) 二次元情報コード、二次元情報コードの表示方法、二次元情報コードの生成方法、二次元情報コードの読取方法
US5945661A (en) Data symbol reader and method including data symbol position evaluation
JP3716527B2 (ja) 2次元コードの読取方法
JP2000222517A (ja) 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
JPH06309485A (ja) 光学的情報読取装置
JP2000215268A (ja) バ―コ―ド読取方法及び記録媒体
JP3758266B2 (ja) コード読取装置
JP4392907B2 (ja) 文字切出し方法
JPH07120389B2 (ja) 光学的文字読取装置
JPH0311483A (ja) データ読取方法及び装置
JP3627416B2 (ja) 2次元コード読取装置および記憶媒体
JP2996243B1 (ja) 2次元コード読取方法、2次元コード読取装置及び記録媒体
JP2726969B2 (ja) データ読取装置
JPH0311484A (ja) データ読取方法及び装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100808

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100808

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 10

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