説明

二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体

【課題】二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、二次元コード読取装置による二次元コードの認識率を向上させる。
【解決手段】バイナリデータがセル化され、当該セルが縦横の2方向に配列されることで二次元マトリックス状に構成されたデータ要素領域MDAと、データ要素領域を囲む破線10、20、30、40から成る矩形部1と、矩形部を成す破線の各線分から垂直に延出された見出し線とから構成されると共に、破線の線分及び見出し線で形成されデータ要素領域の切り出しと位置決めを行うためのデータ認識用T字形マーカを破線の線分の数だけ有する二次元コードを読み取ることで、その二次元コードの画像データからデータ認識用T字形マーカを検出して、その検出した数がデータ要素領域の切り出しと位置決めを行うことができる予め定められた最低数に達しているか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ等の画像入力装置で取り込んだ二次元コード画像から二次元コードを読み取るための二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体に関する。
【背景技術】
【0002】
従来から、大量のデータを記録することが可能で、読み取り精度が高くなる二次元コード及び二次元コードの読取方法が開示されている(例えば、特許文献1参照。)。この二次元コードは図4(A)に示すように、二進化されたデータが明暗の正方形にセル化され、当該セルが縦横の2方向に配列されることで二次元マトリックス状に構成されたデータ要素領域MDAと、データ要素領域MDAを囲む破線10、20、30、40から成る矩形部1と、矩形部1を成す破線10の線分11、12、13、14、15、破線20の線分21、22、23、24、25、破線30の線分31、32、33、34、35、破線40の線分41、42、43、44、45からそれぞれ垂直に延出された見出し線IL11、IL12、IL13、IL14、IL15、IL21、IL22、IL23、IL24、IL25、IL31、IL32、IL33、IL34、IL35、IL41、IL42、IL43、IL44、IL45とから構成されている。
【0003】
また、矩形部1の隣接する2つの破線10、20の各線分11、12、13、14、15、21、22、23、24、25から延出した見出し線IL11、IL12、IL13、IL14、IL15、IL21、IL22、IL23、IL24、IL25は、データ要素領域G方向に向けて当該データ要素領域MDAに重ならないように配置され、この2つの破線10、20とは別の隣接する2つの破線30、40の各線分31、32、33、34、35、41、42、43、44、45から延出した見出し線IL31、IL32、IL33、IL34、IL35、IL41、IL42、IL43、IL44、IL45は、矩形部1の外方向に向けて配置されている。
【0004】
このように構成された二次元コードの読取方法は、破線10と破線20との交点から線分が突出していないので、この交点をデータ要素領域MDAが有する各データセルの位置座標を特定するための二次元コードの原点とすることができ、また、見出し線IL11、IL12、IL13、IL14、IL15、IL21、IL22、IL23、IL24、IL25、IL31、IL32、IL33、IL34、IL35、IL41、IL42、IL43、IL44、IL45によってデータ要素領域MDAの各データセルの位置座標を特定することができる。したがって、データ要素領域MDAの中に切り出しや位置決めのためのシンボルが存在しなくても、大容量の情報を高密度で格納するデータ要素領域MDAを読み取ることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−76962号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、背景技術に記載した二次元コードの読取方法では、二次元コードの周りに4セル分以上の白色のマージン(余白)を確保しないと、二次元コードの近くにある文字、デザイン等をデータセルとして認識して二次元コード読取装置で読み取りにくくなり、二次元コード読取装置による二次元コードの認識率を低下させる難点があった。
【0007】
本発明は、このような従来の難点を解消するためになされたもので、二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、二次元コード読取装置による二次元コードの認識率を向上させる二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の目的を達成する本発明の第1の態様である二次元コード読取方法は、バイナリデータがセル化され、当該セルが縦横の2方向に配列されることで二次元マトリックス状に構成されたデータ要素領域と、データ要素領域を囲む破線から成る矩形部と、矩形部を成す破線の各線分から垂直に延出された見出し線とから構成されると共に、破線の線分及び見出し線でT字形に形成されデータ要素領域の切り出しと位置決めを行うためのデータ認識用T字形マーカを破線の線分の数だけ有する二次元コードを読み取ることで、データ要素領域に記録された情報を得ることができる二次元コード読取方法であって、二次元コードの画像データを取得する第1のステップと、第1のステップで取得した画像データからT字形状の連続したピクセル領域を検出する第2のステップと、第2のステップで検出したT字形状の連続したピクセル領域が、データ認識用T字形マーカであるか否かを判定する第3のステップと、第3のステップでデータ認識用T字形マーカと判定されたT字形状の連続したピクセル領域の数が、データ要素領域の切り出しと位置決めを行うことができる予め定められた最低数に達しているか否かを判定する第4のステップと、第4のステップで切り出しと位置決めを行うことができる予め定められた最低数に達していると判定すると、データ認識用T字形マーカと判定されたT字形状の連続したピクセル領域群を使用してデータ要素領域のセル配列を検出する第5のステップと、第5のステップで検出したデータ要素領域のセル配列に基づき、当該データ要素領域から情報を取得する第6のステップとを有するものである。
【0009】
このような第1の態様である二次元コード読取方法によれば、T字形状の連続したピクセル領域をイメージデータとして検出して、標準であるデータ認識用T字形マーカと形状を比較するだけで、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセル領域群を検出することができるので、二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、二次元コード読取装置による二次元コードの認識率を向上させることが可能になる。
【0010】
本発明の第2の態様は第1の態様である二次元コード読取方法において、第3のステップは、第2のステップで検出したT字形状の連続したピクセル領域の幅及び長さが、ピクセル数を基準にしてデータ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にあるか否かを判定するステップと、第2のステップで検出したT字形状の連続したピクセル領域の幅及び長さが、データ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にある場合には、当該誤差範囲内にあるT字形状の連続したピクセル領域におけるすべてのピクセルのX座標及びY座標の平均値である検出用基準センターポイントが、当該誤差範囲内にあるT字形状の連続したピクセル領域内にあるか否かを判定するステップとを有するものである。
【0011】
このような第2の態様である二次元コード読取方法は、T字形状の連続したピクセル領域のイメージデータ全体でデータ認識用T字形マーカを検索しているので、T字形状の連続したピクセル領域の幅及び長さを判定することにより、データ認識用T字形マーカの大きさで形成されているピクセル領域を検出し、さらに検出用基準センターポイントが、そのピクセル領域内にあるか否かを判定することにより、ある程度T字形状を保っているものを検出することができるので、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を、背景技術に記載した二次元コードの読取方法より精度よく検出することができる。
【0012】
本発明の第3の態様は第2の態様である二次元コード読取方法において、第3のステップは、データ認識用T字形マーカを、当該データ認識用T字形マーカの領域におけるすべてのピクセルのX座標及びY座標の平均値であるマーカ用基準センターポイントから、予め定められた領域分離用セル数で見出し線の先端部、及び破線の線分の両端部の3領域に分離するにあたり、当該3領域のサイズを見出し線の先端部の大きさが一番小さく、破線の線分の両端部が同一の大きさになるように、予め3領域の大きさを求めておき、第3の態様におけるステップで、誤差範囲内にあるT字形状の連続したピクセル領域内に検出用基準センターポイントがある場合には、誤差範囲内にあるT字形状の連続したピクセル領域を、検出用基準センターポイントから領域分離用セル数で、当該誤差範囲内にあるT字形状の連続したピクセル領域の見出し線の先端部、及び破線の線分の両端部の3領域に分離するにあたり、当該3領域のサイズを見出し線の先端部の大きさが一番小さく、破線の線分の両端部が同一の大きさになるように、3領域の大きさを求めて、誤差範囲内にあるT字形状の連続したピクセル領域の3領域それぞれの大きさが、ピクセル数を基準にしてデータ認識用T字形マーカの3領域それぞれの予め定められた誤差範囲内にあるか否かを判定するステップを有するものである。
【0013】
このような第3の態様である二次元コード読取方法によれば、第2の態様よりT字形状を精度よく検出することができるので、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を、第2の態様より精度よく検出することができる。
【0014】
本発明の第4の態様は第3の態様である二次元コード読取方法において、第3のステップは、第3の態様におけるステップで、誤差範囲内にあるT字形状の連続したピクセル領域の3領域それぞれの大きさが、データ認識用T字形マーカの3領域それぞれの予め定められた誤差範囲内にある場合には、当該誤差範囲内にあるT字形状の連続したピクセル領域の当該3領域それぞれにおけるすべてのピクセルのX座標及びY座標の平均値であるセンターポイントが、対応する各領域内から外れているか否かを判定するステップを有するものである。
【0015】
このような第4の態様である二次元コード読取方法によれば、第3の態様よりT字形状を精度よく検出することができるので、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を、第3の態様より精度よく検出することができる。
【0016】
本発明の第5の態様は第4の態様である二次元コード読取方法において、第3のステップは、第4の態様におけるステップで、誤差範囲内にあるT字形状の連続したピクセル領域の3領域それぞれがセンターポイントを領域内に有している場合には、誤差範囲内にあるT字形状の連続したピクセル領域の検出用基準センターポイントと、誤差範囲内にあるT字形状の連続したピクセル領域における見出し線の先端部の領域が有するセンターポイントとを通過する第1の直線を求め、誤差範囲内にあるT字形状の連続したピクセル領域における破線の線分の両端部の各領域が有するセンターポイントを通過する第2の直線を求めて、第1の直線及び第2の直線による所定位置の挟角が予め定められた角度範囲内か否かを判定するステップを有するものである。
【0017】
このような第5の態様である二次元コード読取方法は、第4の態様でデータ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を検出した場合においても、この第1の直線及び第2の直線の所定位置の挟角が予め定められた角度範囲外の場合には、T字形状が崩れているとしてデータ認識用T字形マーカの対象から外すことになる。T字形状が崩れていると、データ要素領域の切り出しと位置決めの精度が低下するからである。したがって、第5の態様である二次元コード読取方法によれば、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を、第4の態様より精度よく検出することができる。
【0018】
本発明の第6の態様は第5の態様である二次元コード読取方法において、第3のステップは、第5の態様におけるステップで、第1の直線及び第2の直線の所定位置の挟角が予め定められた角度範囲内にある場合には、当該第1の直線及び当該第2の直線をデータ認識用T字形マーカの幅まで太くして、ピクセル数を基準にして当該データ認識用T字形マーカの当該幅の予め定められた誤差範囲から外れる場合には、当該データ認識用T字形マーカの対象から除外するステップを有するものである。
【0019】
このような第6の態様である二次元コード読取方法によれば、第5の態様よりT字形状を精度よく検出することができるので、データ要素領域の周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の連続したピクセルの領域群を、第5の態様より精度よく検出することができる。
【0020】
また、本発明の第7の態様である二次元コードは、第1の態様乃至第6の態様のうち何れか1つである二次元コード読取方法を実施するための二次元コードであって、すべてのデータ認識用T字形マーカは、データ要素領域に対して離れているものである。
【0021】
このような第7の態様である二次元コードによれば、第1の態様乃至第6の態様のうち何れか1つである二次元コード読取方法において、T字形状の連続したピクセルの領域のイメージデータ全体でデータ認識用T字形マーカを検索しているので、データ要素領域の外形である矩形の4辺の周囲に配置されたすべてのT字形状の連続したピクセルの領域を、データ認識用T字形マーカとして検出することができるようになる。したがって、二次元コードの読み取り精度が向上する。
【0022】
また、本発明の第8の態様である記録媒体は、第1の態様乃至第6の態様のうち何れか1つである二次元コード読取方法によって実現するためのプログラムを記憶したコンピュータ読み取り可能なものである。
【0023】
このような第8の態様である記録媒体によれば、第1の態様乃至第6の態様のうち何れか1つである二次元コード読取方法が二次元コード読取装置の演算処理装置によって実行されるプログラムは、コンピュータ読み取り可能なCD、DVD等の記録媒体に記録させておくことで、複数のコンピュータで利用可能になる。
【発明の効果】
【0024】
本発明の二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体によれば、二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、読取装置による二次元コードの認識率を向上させることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の二次元コード読取方法による好ましい実施の形態例を示すフローチャート図である。
【図2】本発明の二次元コード読取方法による好ましい実施の形態例を示すフローチャート図である。
【図3】本発明の二次元コード読取方法の解析手順を示す説明図で、(A)は二次元コードの画像データから検出したT字形状の連続したピクセル領域とその検出用基準センターポイントを示す図、(B)はその検出したT字形状の連続したピクセル領域を3領域に分離した状態を示す図、(C)はその検出したT字形状の連続したピクセル領域の解析手順を示す図である。
【図4】本発明の二次元コード読取方法で読み取るための従来の二次元コードを示す説明図である。
【発明を実施するための形態】
【0026】
以下、本発明の二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体を実施するための最良の形態例について、図面に基づき説明する。
【0027】
なお、本発明の二次元コード読取方法で読み取るための二次元コードは、背景技術に記載した二次元コードと同じものであるので、図4(A)を流用して説明を省略するが、データ要素領域MDAは図4(A)においては、x方向及びy方向ともにそれぞれ4個が隣接して並べられた16個の小領域で構成され、この小領域は、x方向及びy方向ともにそれぞれN個(Nは自然数)のデータセルが互いに隣接して配置されることで構成されている。この小領域を位置決めすることで、データ要素領域MDAのデータを読み取ることができる。また、このデータセルは、白黒の正方形とするが、これに限らず、明暗の正方形でもよい。
【0028】
このように構成された二次元コードを読み取るための二次元コード読取方法について、以下、図1〜図3に基づき説明する。この二次元コードを読み取る二次元コード読取装置は、主として、二次元コードを取り込むCCDエリアセンサ等の画像入力部と、画像入力部で取り込まれた画像データを表示する表示部と、二次元コードを読み取るためのプログラム等を格納するハードディスクやROM等の記憶部と、各部の処理を制御するCPU等の制御部とを備えている(図示せず。)。
【0029】
この二次元コード読取装置の記憶部に格納されているプログラムは図1に示すように、以下に示す二次元コード読取方法によるデータ処理手順で処理される。
【0030】
まず、画像入力部で二次元コードの画像データを取り込む(ステップ101)。ステップ101で取り込んだ画像データから、T字形状の連続した黒のピクセル領域(以下、「T字形状の黒領域」と称する。)を検出する(ステップ102)。このステップ102では、T字形状の黒領域をイメージデータとして検出している。
【0031】
ステップ102で検出したT字形状の黒領域のイメージデータが、データ認識用T字形マーカであるか否かを判定する(ステップ103)。データ認識用T字形マーカの情報は、記憶部に格納され、制御部が判定の際に読み取りにいく。
【0032】
このデータ認識用T字形マーカは、二次元コードの破線の線分及び見出し線でT字形に形成され、データ要素領域の切り出しと位置決めを行うためのものである。図4においては、破線10では、線分12と見出線IL12、線分13と見出線IL13、線分14と見出線IL14の各組み合わせがT字形に形成され、破線20では、線分22と見出線IL22、線分23と見出線IL23、線分24と見出線IL24の各組み合わせがT字形に形成され、破線30では、線分32と見出線IL32、線分33と見出線IL33、線分34と見出線IL34の各組み合わせがT字形に形成され、破線40では、線分42と見出線IL42、線分43と見出線IL43、線分44と見出線IL44の各組み合わせがT字形に形成されるので、二次元コードには16個のデータ認識用T字形マーカが配置されている。破線10〜40は切り出しに、見出線IL12、IL13、IL14、IL22、IL23、IL24、IL32、IL33、IL34、IL42、IL43、IL44は位置決めにそれぞれ使用する。
【0033】
なお、破線10の線分11と見出し線IL11から成るT字形と、破線40の線分45と見出し線IL45から成るT字形とは、見出し線IL11及び線分45が接触して1本の線になっているので、これらはデータ認識用T字形マーカとして認識されない。同様に、破線10の線分15と見出し線IL15から成るT字形と、破線20の線分21と見出し線IL21から成るT字形とは、線分15及び線分21が接触して1本の線に、また、破線20の線分25と見出し線IL25から成るT字形と、破線30の線分31と見出し線IL31から成るT字形とは、見出し線IL25及び線分31が接触して1本の線に、さらに、破線30の線分35と見出し線IL35から成るT字形と、破線40の線分41と見出し線IL41から成るT字形とは、線分35及び見出し線IL41が合体し、且つ線分41及び見出し線IL35が合体してそれぞれ1本の線になっているので、これらもデータ認識用T字形マーカとして認識されない。
【0034】
このステップ103では、ステップ102で検出したT字形状の黒領域が、データ認識用T字形マーカでない場合は、そのT字形状の黒領域を処理対象から除外する。
【0035】
ステップ102においてデータ認識用T字形マーカとして検出されたすべてのT字形状の黒領域を、ステップ103で判定後、データ認識用T字形マーカと判定されたT字形状の黒領域の数が、データ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数に達しているか否かを判定する(ステップ104)。このデータ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数は、記憶部に格納され、制御部が判定の際に読み取りにいく。このステップ104では、データ認識用T字形マーカと判定されたT字形状の黒領域の数が、データ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数に達していない場合には、二次元コード読取方法によるデータ処理を終了する。
【0036】
ここで、データ認識用T字形マーカと判定されたT字形状の黒領域の数が、データ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数について説明する。データ要素領域MDAの切り出し用の破線は、一辺に2つの線分があればその一辺を求めることができるが、データ要素領域MDAの位置決め用の見出し線は、位置決め用のデータベースラインDBLを引くのに必要な数となる。したがって、データ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数は、位置決め用のデータベースラインDBLを引くことが可能な数によって定まる。
【0037】
ステップ104で、データ認識用T字形マーカと判定されたT字形状の黒領域の数が、データ要素領域MDAの切り出しと位置決めを行うことができる予め定められた最低数に達していると判定すると、データ要素領域MDAを囲む破線10、20、30、40によって、データ要素領域MDAの切り出しを行うことで、そのデータ要素領域MDAを囲む破線10、20、30、40から成る矩形部1と、基準となる水平線及び垂直線との間に傾きがある場合には、基準となる水平線及び垂直線に、矩形部1を合わせるために、コード画像の角度を補正する(ステップ105)。そして、データ認識用T字形マーカと判定されたT字形状の黒領域群を使用してデータ要素領域MDAのセル配列を検出する(ステップ106)。
【0038】
このステップ106は、破線10の線分12、13、14、破線20の線分22、23、24、破線30の線分32、33、34、破線40の線分42、43、44からそれぞれ垂直に延出された見出し線IL12、IL13、IL14、IL22、IL23、IL24、IL32、IL33、IL34、IL42、IL43、IL44によってデータ要素領域MDAの位置決めを行うことができる。例えば、見出し線IL12と見出し線IL34とを結ぶことでデータベースラインDBLを求めることができるが、何れか一方の見出し線が存在すれば、破線20あるいは破線40に平行な線を求めることで、このデータベースラインDBLを求めることができる。したがって、見出し線IL13と見出し線IL33とを結ぶデータベースラインDBL、及び見出し線IL14と見出し線IL32とを結ぶデータベースラインDBLも、それぞれ何れか一方の見出し線が存在すれば、破線20あるいは破線40に平行な線を求めることで、このデータベースラインDBLを求めることができる。また、見出し線IL24と見出し線IL42とを結ぶデータベースラインDBL、見出し線IL22と見出し線IL44とを結ぶデータベースラインDBL、及び見出し線IL23と見出し線IL43とを結ぶデータベースラインDBLも、それぞれ何れか一方の見出し線が存在すれば、破線10あるいは破線30に平行な線を求めることで、このデータベースラインDBLを求めることができる。
【0039】
なお、見出し線の数は、データ要素領域MDAのデータ数に応じて水平方向(X軸方向)、垂直方向(Y軸方向)の各方向で独立して決定されているので、データ認識用T字形マーカと判定された各T字形状の黒領域で認識された見出し線の数に応じて、データ要素領域MDAの容量を決定することができる。
【0040】
ステップ106で検出したデータ要素領域MDAのセル配列に基づき、当該データ要素領域MDAから情報を取得する(ステップ107)。このステップ107では、既知である見出し線でデータ要素領域MDA内のデータセルを等分割してその位置座標を求め、各データセルの二進数の値をサンプリングしてビット列のデータとすることで、元のデータを復元することができる。なお、二次元コードのビット列データに誤り訂正符号が付加されている場合には、誤り訂正を行うことになる。
【0041】
このように、本発明の二次元コード読取方法によれば、T字形状の黒領域をイメージデータとして検出して、標準であるデータ認識用T字形マーカと形状を比較するだけで、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて複数配設されているT字形状の黒領域群を検出することができるので、二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、二次元コード読取装置による二次元コードの認識率を向上させることが可能になる。
【0042】
なお、ステップ103では、さらに、図2に示すフローチャートのようなデータ処理手順を行うようにしてもよい。
【0043】
このデータ処理手順は図2に示すように、ステップ102で、T字形状の黒領域のイメージデータをすべて検出後、そのすべてのT字形状の黒領域の幅及び長さが、ピクセル数を基準にしてデータ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にあるか否かを判定する(ステップ201)。ここで、T字形状の黒領域の幅及び長さやデータ認識用T字形マーカの幅及び長さとは、T字形を矩形とみなして一辺を幅、その一辺と直交する他辺を長さとし、ピクセルのX座標及びY座標それぞれにおいて一つの座標でもその誤差範囲内にあればデータ認識用T字形マーカとして認識することになる。また、この誤差範囲は、画像入力部の読取精度、プリンタの印字精度等によって定まる。なお、線分の幅及び見出し線の幅は、データセルの一辺の長さと同じである。
【0044】
このステップ201において、T字形状の黒領域の幅及び長さが、データ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にない場合には、このT字形状の黒領域をデータ認識用T字形マーカの対象から除外する。一方、T字形状の黒領域の幅及び長さが、データ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にある場合には次のステップ202に移行する。
【0045】
このステップ202は図3(A)に示すように、当該誤差範囲内にあるT字形状の黒領域TPAにおけるすべてのピクセルのX座標及びY座標の平均値である検出用基準センターポイントCが、T字形状の黒領域TPA内にあるか否かを判定する。なお、図3(A)、(B)では、図を見易くするために、ピクセルの黒領域を白、白領域を黒で示しており、TPAが、ステップ201でデータ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にあるT字形状の黒領域、LSが破線の線分、ILが見出し線をそれぞれ示している。
【0046】
このステップ201、202では、T字形状黒領域TPAのイメージデータ全体でデータ認識用T字形マーカを検索しているので、T字形状黒領域TPAの幅及び長さを判定することにより、データ認識用T字形マーカの大きさで形成されているT字形状黒領域TPAを検出し、さらに検出用基準センターポイントCが、そのT字形状黒領域TPA内にあるか否かを判定することにより、ある程度T字形状を保っているものを検出することができるので、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状黒領域TPA群を、背景技術に記載した二次元コードの読取方法より精度よく検出することができる。
【0047】
このステップ202において、ステップ201における誤差範囲内にあるT字形状の黒領域TPA内に検出用基準センターポイントCがない場合には、このT字形状の黒領域TPAをデータ認識用T字形マーカの対象から除外する。一方、ステップ201における誤差範囲内にあるT字形状の黒領域TPA内に検出用基準センターポイントCがある場合には、次のステップ203に移行する。
【0048】
このステップ203では、データ認識用T字形マーカを、当該データ認識用T字形マーカの領域におけるすべてのピクセルのX座標及びY座標の平均値であるマーカ用基準センターポイントから、予め定められた領域分離用セル数で見出し線の先端部、及び破線の線分の両端部の3領域に分離するにあたり、当該3領域のサイズを見出し線の先端部の大きさが一番小さく、破線の線分の両端部が同一の大きさになるように、予め3領域の大きさを求めておく。これらデータは記憶部に格納され、制御部が判定の際に読み取りにいく。
【0049】
このステップ203は図3(A)、(B)に示すように、ステップ202において誤差範囲内にあるT字形状の黒領域TPA内に検出用基準センターポイントCがある場合には、ステップ202において誤差範囲内にあるT字形状の黒領域TPAを、検出用基準センターポイントCからデータ認識用T字形マーカで使用した領域分離用セル数で、当該ステップ202において誤差範囲内にあるT字形状の黒領域TPAの見出し線ILの先端部A1、及び破線の線分LSの両端部A2、A3の3領域に分離するにあたり、当該3領域のサイズを見出し線ILの先端部A1の大きさが一番小さく、破線の線分の両端部A2、A3が同一の大きさになるように、3領域の大きさを求めて、ステップ202において誤差範囲内にあるT字形状の黒領域TPAの3領域それぞれの大きさが、ピクセル数を基準にしてデータ認識用T字形マーカの3領域それぞれの予め定められた誤差範囲内にあるか否かを判定する(S203)。ここで、この誤差範囲は、画像入力部の読取精度、プリンタの印字精度等によって定まる。
【0050】
このステップ203では、ステップ202よりT字形状を精度よく検出することができるので、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状の黒領域TPA群を、ステップ202より精度よく検出することができる。
【0051】
このステップ203において、T字形状の黒領域TPAの3領域それぞれの大きさが、データ認識用T字形マーカの3領域それぞれの予め定められた誤差範囲内にない場合には、データ認識用T字形マーカの対象から除外する。一方、T字形状の黒領域TPAの3領域それぞれの大きさが、データ認識用T字形マーカの3領域それぞれの予め定められた誤差範囲内にある場合には次のステップ204に移行する。
【0052】
このステップ204は図3(C)に示すように、ステップ203において誤差範囲内にあるT字形状の黒領域TPAの3領域それぞれにおけるすべてのピクセルのX座標及びY座標の平均値であるセンターポイントC1、C2、C3が、対応する各領域内に位置するか否かを判定する(S204)。
【0053】
即ち、T字形状の黒領域TPAの見出し線ILの先端部A1の領域内にセンターポイントC1、破線の線分LSの一端部A2の領域内にセンターポイントC2、破線の線分LSの他端部A3の領域内にセンターポイントC3がそれぞれ位置するか否かを判定する。ここで、一端部A2、他端部A3と称しているが、これら端部は、ある程度の面積を有している。
【0054】
このステップ204では、ステップ203よりT字形状を精度よく検出することができるので、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状の黒領域TPA群を、ステップ203より精度よく検出することができる。
【0055】
このステップ204において、T字形状の黒領域TPAの3領域の何れか1つの領域でもセンターポイントがない場合には、データ認識用T字形マーカの対象から除外する。一方、T字形状の黒領域TPAの3領域のすべてにセンターポイントがある場合には次のステップ205に移行する。
【0056】
このステップ205は図3(C)に示すように、ステップ204において誤差範囲内にあるT字形状の黒領域TPAの3領域それぞれがセンターポイントC1、C2、C3を領域内に有している場合には、ステップ204において誤差範囲内にあるT字形状の黒領域TPAの検出用基準センターポイントCと、ステップ204において誤差範囲内にあるT字形状の黒領域TPAにおける見出し線ILの先端部A1の領域が有するセンターポイントC1とを通過する第1の直線L1を求め、ステップ204において誤差範囲内にあるT字形状の黒領域TPAにおける破線の線分LSの両端部A2、A3の各領域が有するセンターポイントC2、C3を通過する第2の直線L2を求めて、第1の直線L1及び第2の直線L2による所定位置の挟角θが予め定められた角度範囲内か否かを判定する。
【0057】
このステップ205を備えたのは、ステップ204でデータ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状の黒領域TPA群を検出した場合においても、この第1の直線L1及び第2の直線L2の所定位置の挟角が予め定められた角度範囲外の場合には、T字形状が崩れているとしてデータ認識用T字形マーカの対象から外すことになる。T字形状が崩れていると、データ要素領域の切り出しと位置決めの精度が低下するからである。このことから、予め定められた角度範囲は85度より大きく95度より小さくするとよい。図3(C)においては、第1象限であるが、第2象限〜第4象限においても角度範囲を85度より大きく95度より小さくすることで、T字形状が崩れている否かを判断することができる。したがって、ステップ205は、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状の黒領域TPA群を、ステップ204より精度よく検出することができる。
【0058】
このステップ205において、第1の直線L1及び第2の直線L2の所定位置の挟角θが予め定められた角度範囲外の場合には、データ認識用T字形マーカの対象から除外する。一方、第1の直線L1及び第2の直線L2の所定位置の挟角θが予め定められた角度範囲内の場合には、ステップ206に移行する。
【0059】
このステップ206は図3(C)に示すように、第1の直線L1をデータ認識用T字形マーカの破線の線分の幅W、及び第2の直線L2をデータ認識用T字形マーカの見出し線の幅Wまで太くして、当該データ認識用T字形マーカの当該幅Wの予め定められた誤差範囲から外れる場合には、データ認識用T字形マーカの対象から除外する。
【0060】
このステップ206では、ステップ205よりT字形状を精度よく検出することができるので、データ要素領域MDAの周りに当該領域の切り出しと位置決めに応じて12個配設されているT字形状の黒領域TPA群を、ステップ205より精度よく検出することができる。
【0061】
なお、ステップ201からステップ104に移行してもよく、また、ステップ202〜206からそれぞれステップ104に移行してもよい。何れにしても、二次元コードの周りに4セル分以上の白色のマージンを確保しなくとも、読取装置による二次元コードの認識率を向上させることができる。
【0062】
ここで、検出用基準センターポイントCや領域分離用センターポイントC1、C2、C3の具体的な求め方について説明する。
【0063】
センターポイントを求めるには、連続した黒のピクセル領域の全ピクセルの座標を求める。その結果、{(X0、Y0)、(X1、Y1)、・・・・・・、(Xn、Yn)}となるので、センターポイント(Xc、Yc)は次式により求めることができる。
Xc=(X0+X1+・・・・・・Xn)/(n+1)
Yc=(Y0+Y1+・・・・・・Yn)/(n+1)
この式では、連続した黒のピクセル領域の全ピクセルのX座標及びY座標の平均値から、センターポイントを求めている。
【0064】
また、第1の直線L1及び第2の直線L2の所定位置の挟角を求めるには、第1の直線L1と第2の直線L2との交点を基準にして、例えば、この交点より図3(C)において上に位置する第2の直線L2上の予め定められた位置の座標P_L2(Xa、Yb)を求め、交点より図3(C)において右に位置する第1の直線L1上の予め定められた位置の座標P_L1(Xc、Yd)を求める。そして、座標P_L1と座標P_L2との間の角度を次式により求めることができる。
R=arctan2(Yd−Yb、Xc−Xa)
Rは、単位がラジアンである。
A=R×(180/Pi)
Aは、単位が度で、Pi=3.14159265である。
【0065】
このAが第1の直線L1及び第2の直線L2による所定位置の挟角となる。
【0066】
また、上述した二次元コード読取方法を実施するための二次元コードは、すべてのデータ認識用T字形マーカが、データ要素領域に対して離れているとよい。このように、すべてのデータ認識用T字形マーカが、データ要素領域に対して離れていると、T字形状の連続したピクセルの領域のイメージデータ全体でデータ認識用T字形マーカを検索しているので、データ要素領域の外形である矩形の4辺の周囲に配置されたすべてのT字形状の黒領域を、データ認識用T字形マーカとして正確に検出することができるようになる。なお、データ認識用T字形マーカとデータ要素領域との隙間は、1ドットでも、上述した本発明の二次元コード読取方法ならば、T字形状の黒領域をデータ認識用T字形マーカとして正確に検出できることが本発明者の二次元コード読取試験により確認できている。
【0067】
このようなデータ処理手順が二次元コード読取装置の制御部によって実行されるプログラムは、コンピュータ読み取り可能なCD、DVD等の記録媒体に記録させておくことで、複数の二次元コード読取装置やコンピュータで利用可能になる。
【0068】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0069】
1……矩形部
10……破線
11、12、13、14、15……線分
IL11、IL12、IL13、IL14、IL15……見出線
20……破線
21、22、23、24、25……線分
IL21、IL22、IL23、IL24、IL25……見出線
30……破線
31、32、33、34、35……線分
IL31、IL32、IL33、IL34、IL35……見出線
40……破線
41、42、43、44、45……線分
IL41、IL42、IL43、IL44、IL45……見出線

MDA……データ要素領域
TPA……T字形状の黒領域(T字形状の連続したピクセル領域)

【特許請求の範囲】
【請求項1】
バイナリデータがセル化され、当該セルが縦横の2方向に配列されることで二次元マトリックス状に構成されたデータ要素領域と、前記データ要素領域を囲む破線から成る矩形部と、前記矩形部を成す前記破線の各線分から垂直に延出された見出し線とから構成されると共に、前記破線の前記線分及び前記見出し線でT字形に形成され前記データ要素領域の切り出しと位置決めを行うためのデータ認識用T字形マーカを有する二次元コードを読み取ることで、前記データ要素領域に記録された情報を得ることができる二次元コード読取方法であって、
前記二次元コードの画像データを取得する第1のステップと、
前記第1のステップで取得した前記画像データからT字形状の連続したピクセル領域を検出する第2のステップと、
前記第2のステップで検出した前記T字形状の連続したピクセル領域が、前記データ認識用T字形マーカであるか否かを判定する第3のステップと、
前記第3のステップで前記データ認識用T字形マーカと判定された前記T字形状の連続したピクセル領域の数が、前記データ要素領域の前記切り出しと前記位置決めを行うことができる予め定められた最低数に達しているか否かを判定する第4のステップと、
前記第4のステップで前記データ認識用T字形マーカと判定された前記T字形状の連続したピクセル領域の数が、前記切り出しと前記位置決めを行うことができる予め定められた最低数に達していると判定すると、前記データ認識用T字形マーカと判定された前記T字形状の連続したピクセル領域群を使用して前記データ要素領域のセル配列を検出する第5のステップと、
前記第5のステップで検出した前記データ要素領域のセル配列に基づき、当該データ要素領域から前記情報を取得する第6のステップとを有することを特徴とする二次元コード読取方法。
【請求項2】
前記第3のステップは、
前記第2のステップで検出した前記T字形状の連続したピクセル領域の幅及び長さが、ピクセル数を基準にして前記データ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にあるか否かを判定するステップと、
前記第2のステップで検出した前記T字形状の連続したピクセル領域の幅及び長さが、前記データ認識用T字形マーカの幅及び長さの予め定められた誤差範囲内にある場合には、当該誤差範囲内にあるT字形状の連続したピクセル領域におけるすべてのピクセルのX座標及びY座標の平均値である検出用基準センターポイントが、当該誤差範囲内にあるT字形状の連続したピクセル領域内にあるか否かを判定するステップとを有することを特徴とする請求項1記載の二次元コード読取方法。
【請求項3】
前記第3のステップは、
前記データ認識用T字形マーカを、当該データ認識用T字形マーカの領域におけるすべてのピクセルのX座標及びY座標の平均値であるマーカ用基準センターポイントから、予め定められた領域分離用セル数で前記見出し線の先端部、及び前記破線の前記線分の両端部の3領域に分離するにあたり、当該3領域のサイズを前記見出し線の先端部の大きさが一番小さく、前記破線の前記線分の両端部が同一の大きさになるように、予め前記3領域の大きさを求めておき、
請求項3のステップで、前記誤差範囲内にあるT字形状の連続したピクセル領域内に前記検出用基準センターポイントがある場合には、前記誤差範囲内にあるT字形状の連続したピクセル領域を、前記検出用基準センターポイントから前記領域分離用セル数で、当該誤差範囲内にあるT字形状の連続したピクセル領域の見出し線の先端部、及び破線の線分の両端部の3領域に分離するにあたり、当該3領域のサイズを前記見出し線の前記先端部の大きさが一番小さく、前記破線の前記線分の前記両端部が同一の大きさになるように、前記3領域の大きさを求めて、前記誤差範囲内にあるT字形状の連続したピクセル領域の前記3領域それぞれの大きさが、前記ピクセル数を基準にして前記データ認識用T字形マーカの前記3領域それぞれの予め定められた誤差範囲内にあるか否かを判定するステップを有することを特徴とする請求項2記載の二次元コード読取方法。
【請求項4】
前記第3のステップは、
請求項4のステップで、前記誤差範囲内にあるT字形状の連続したピクセル領域の前記3領域それぞれの大きさが、前記データ認識用T字形マーカの前記3領域それぞれの予め定められた誤差範囲内にある場合には、当該誤差範囲内にあるT字形状の連続したピクセル領域の当該3領域それぞれにおけるすべてのピクセルのX座標及びY座標の平均値であるセンターポイントが、対応する各領域内から外れているか否かを判定するステップを有することを特徴とする請求項3記載の二次元コード読取方法。
【請求項5】
前記第3のステップは、
請求項5のステップで、前記誤差範囲内にあるT字形状の連続したピクセル領域の前記3領域それぞれが前記センターポイントを領域内に有している場合には、前記誤差範囲内にあるT字形状の連続したピクセル領域の前記検出用基準センターポイントと、前記誤差範囲内にあるT字形状の連続したピクセル領域における前記見出し線の前記先端部の前記領域が有する前記センターポイントとを通過する第1の直線を求め、前記誤差範囲内にあるT字形状の連続したピクセル領域における前記破線の前記線分の前記両端部の前記各領域が有する前記センターポイントを通過する第2の直線を求めて、前記第1の直線及び前記第2の直線による所定位置の挟角が予め定められた角度範囲内か否かを判定するステップを有することを特徴とする請求項4記載の二次元コード読取方法。
【請求項6】
前記第3のステップは、
請求項6のステップで、前記第1の直線及び前記第2の直線の所定位置の挟角が予め定められた角度範囲内にある場合には、当該第1の直線及び当該第2の直線を前記データ認識用T字形マーカの前記幅まで太くして、前記ピクセル数を基準にして当該データ認識用T字形マーカの当該幅の前記予め定められた誤差範囲から外れる場合には、当該データ認識用T字形マーカの対象から除外するステップを有することを特徴とする請求項5記載の二次元コード読取方法。
【請求項7】
請求項1乃至請求項6のうち何れか1項に記載の二次元コード読取方法を実施するための二次元コードであって、前記すべてのデータ認識用T字形マーカは、前記データ要素領域に対して離れていることを特徴とする二次元コード。
【請求項8】
請求項1乃至請求項6のうち何れか1項に記載の二次元コード読取方法によって実現するためのプログラムを記憶したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate