二次元コードリーダおよびプログラム

【課題】レイアウトの自由度が従来よりも低くなることを防止しつつ、情報量を充分に確保した二次元コードにつき、この二次元コードを読み取って情報を認識するのに適した二次元コードリーダを提供する。
【解決手段】画像から二次元コードで示される画像領域を特定し、この画像領域から二次元コードにおけるセルに付けられたマークそれぞれの色を特定した後、こうして特定された1以上のセルの色または色の組み合わせに対応する情報それぞれをデータベースに基づいて特定し、それら情報それぞれからなる情報を、二次元コードで示される情報として認識する(s230〜s290)。画像から二次元コードで示される画像領域を特定する際には、二次元コードの位置を特定するためのパターンを抽出し、このパターンの形成された領域を、二次元コードを構成するあらかじめ定められたセルとして、二次元コード全体の画像領域を特定する(s230)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セルが配列されてなる二次元コードを読み取って認識する二次元コードリーダに関する。
【背景技術】
【0002】
近年、バーコードよりも情報容量の大きい二次元コードとして、情報を表したセルを二次元のマトリクス状に配置した二次元コードが普及してきている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2938338号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した二次元コードでは、バーコードよりも情報量が多いとはいえ、より情報量を増やすことが容易とはいえない。
例えば、情報量を増やすために、二次元コードを構成するセルの数を増やすことが考えられるが、そのような対策では、二次元コードを配置するためのスペースがより多く必要となってしまう。その結果、このような二次元コードを記録する記録媒体におけるレイアウトの自由度が低くなってしまう。
【0005】
本発明は、このような課題を解決するためになされたものであり、その目的は、レイアウトの自由度が従来よりも低くなることを防止しつつ、情報量を充分に確保した二次元コードにつき、この二次元コードを読み取って情報を認識するのに適した二次元コードリーダを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため第1の構成に係る二次元コードは、m×n(m,nは1以上の正数)にセルが配列されてなる二次元コードである。そして、m×nに配列されたセルのうち、1以上のセルからなるセル群には、それぞれ異なる情報が対応づけられた色または色の組み合わせのうち、このセル群で示すべき情報の対応づけられた色または色の組み合わせによりマークが付けられる。
【0007】
このように構成された二次元コードによれば、セル群それぞれには、そのセル群で示すべき情報の対応づけられた色または色の組み合わせによりマークが付けられることになる。つまり、各セル群は、それぞれマークが付けられる色の数,または,色の組み合わせの種類に応じた情報量を持っていることになる。
【0008】
このことから、本二次元コードにおいては、マークが付けられうる色の数を増やすことにより、二次元コードを配置するためのスペースを増加させることなく、各セル群の情報量を増やすことができる。そのため、二次元コードとしての情報量を増やしても、二次元コードを記録する記録媒体におけるレイアウトの自由度が低くなってしまうことがない。
【0009】
さらに、この構成では、各セル群それぞれと情報との対応関係が異なっていれば、その二次元コードで示される情報を全く異なる,または,無意味なものとすることができる。つまり、二次元コードにおいて、各セル群それぞれと情報との対応関係が知られてしまわない限り、二次元コードで示される情報が第3者に知得されてしまうことを防止することができる。このような秘匿性を多くの二次元コードそれぞれにおいて確保するためには、
各セル群それぞれと情報との対応関係を増やすことが有効である。
【0010】
また、この構成における二次元コードは、m×nに配列されたセルのうち、あらかじめ定められたセルは、当該二次元コードの位置を特定するための特定セルとして割り当てられており、この特定セルをマークした色によって、当該二次元コードの位置を特定するためのパターンを形成している。
【0011】
このように構成すれば、特定セルを基準にして二次元コードの位置を特定することができる。
また、上述した特定セルにおける「二次元コードの位置を特定するためのパターン」は、特定セルをマークした色により形成されるものであって、二次元コードの位置を特定することができる色であれば、その具体的な色については特に限定されない。
【0012】
また、第2の構成に係る二次元コードでは、一列に配列されたn個のセルのうち、先頭および最後尾のいずれか一方または両方のセルが、特定セルとして割り当てられている。
この構成において、特定セルが先頭のセルであれば、特定セルを特定して、そこから二次元コードを構成するセルの数分だけ、最後尾側(列の後側,以下同様)へ向けて離れた位置までの領域を、二次元コードに対応する領域として特定することができる。また、特定セルが最後尾のセルであれば、特定セルを特定して、そこから二次元コードを構成するセルクの数分だけ、列の先頭側へ向けて離れた位置までの領域を、二次元コードに対応する領域として特定することができる。そして、特定セルが先頭および最後尾のセルであれば、特定セルを特定して、それら特定セルに挟まれた領域を、二次元コードに対応する領域として特定することができる。
【0013】
また、上述したセルに対して「マークを付ける」とは、例えば、セルを塗りつぶす,セルに特定の記号を記録する,特定の図形(例えば、丸や多角形など各種図形)を記録する,などといったことである。
【0014】
なお、上述したように、セルで示すべき情報の対応づけられた色によりマークが付けられる二次元コードにおいては、その色を正確に特定しなければ、そのセルで示される情報を間違って特定してしまう恐れがある。
【0015】
このようなことを防止するためには、例えば、第3の構成に係る二次元コードのように構成することが考えられる。この二次元コードでは、m×nに配列されたセル付近における所定の位置に、それぞれ異なる情報が対応づけられた色全てを所定の順番で配置してなるリファレンス領域が1以上設けられている。
【0016】
このように構成すれば、個々のセルに付けられたマークの色が正確に判断できない場合であっても、1以上のセルからなるセル群で示される情報を、リファレンス領域における色と照らし合わせることで、正確に特定することができる。
【0017】
このリファレンス領域は、情報が対応づけられた全ての色を所定の順番で配置したものである。そのため、これと照らし合わせることで、各セルに付けられたマークの色が、それぞれリファレンス領域におけるどの位置に配置された色であるのかを特定することができる。
【0018】
そうすると、実際にセルから読み取った色をどの色として読み取ったかとは無関係に、リファレンス領域との対比でそのセルに付けられたマークの色を判断できるため、セルに付けられたマークの色を周辺環境などの影響で誤って読み取ったとしても、その色を正確に特定することができる。
【0019】
その後、こうして特定した色,または,それら色の組み合わせに対応づけられている情報を、例えば、その対応関係が登録されたデータベースなどから特定することで、1以上のセルからなるセル群で示される情報を特定することができる。
【0020】
なお、この構成におけるリファレンス領域は、セル付近における所定の位置に設けられたものであればよく、その具体的な位置は特に限定されない。また、このリファレンス領域は、1のリファレンス領域を二次元コードに対して設けた構成とすればよい。また、二次元コードに対して複数のリファレンス領域が設けられた構成としてもよい。また、二次元コードを構成する1以上のセルからなるセル群それぞれに対する複数のリファレンス領域が設けられた構成としてもよい。
【0021】
また、第4の構成に係る二次元コードにおいて、前記m×nに配列された各セルは、前記特定セルをマークした色と同じ色の背景領域上に、それぞれ一定の間隔を設けた状態で配置されており、前記特定セルをマークした色,および,前記背景領域により、当該二次元コードの一を特定するためのパターンを形成している。
【0022】
また、第5の構成に係る二次元コードリーダは、m×n(m,nは1以上の正数)にセルが配列されてなる二次元コードにつき、該二次元コードを読み取って情報を認識する二次元コードリーダである。
【0023】
ここで、前記二次元コードは、前記m×nに配列されたセルのうち、あらかじめ定められたセルが、当該二次元コードの位置を特定するための特定セルとして割り当てられており、該特定セルをマークした色によって、当該二次元コードの位置を特定するためのパターンを形成している。
【0024】
また、この二次元コードリーダは、二次元コードを示す画像を取得する画像取得手段と、この画像取得手段により取得された画像から、二次元コードで示される画像領域を特定する領域特定手段と、この領域特定手段により特定された画像領域から、二次元コードにおけるセルに付けられたマークそれぞれの色を特定するセル特定手段と、このセル特定手段により特定された1以上のセルの色または色の組み合わせに対応する情報それぞれを、1以上のセルからなるセル群の色または色の組み合わせと情報との対応関係が登録された第1データベースに基づいて特定し、こうして特定した情報それぞれからなる情報を、二次元コードで示される情報として認識する情報認識手段と、を備えている。
【0025】
そして、前記領域特定手段は、前記画像取得手段により取得された画像から、二次元コードの位置を特定するためのパターンを抽出し、このパターンの形成された領域を、二次元コードを構成するあらかじめ定められたセルとして、二次元コード全体で示される画像領域を特定する。
【0026】
このように構成された二次元コードリーダによれば、上述した各二次元コードを読み取って情報を認識するのに適している。
また、この構成において、領域特定手段は、第6の構成のように、画像取得手段により取得された画像における特定セルの領域を基準に、この特定セルから最後尾および先頭のいずれか一方に向かうn個分のセルに相当する領域、または、特定セルで挟まれたn個分のセルに相当する領域を抽出して、この領域からなる画像領域を二次元コードで示される画像領域として特定する、ように構成するとよい。
【0027】
このように構成した二次元コードリーダは、上述した二次元コードを読み取って情報を認識するのに適している。
また、上述したように、それぞれm×nにセルが配列されてなる複数のブロックで構成された二次元コードを読み取って情報を認識する二次元コードリーダにおいて、画像取得手段が、二次元コードで示される画像領域が含まれる画像を取得する場合であれば、領域特定手段により二次元コードで示される画像領域を特定するために、例えば、第7の構成に係る二次元コードリーダのように構成するとよい。
【0028】
この二次元コードリーダにおいて、領域特定手段は、画像取得手段により取得された画像を構成する複数の領域それぞれについてのパターンの抽出を、あらかじめ定められた順番で試みる、ように構成されている。
【0029】
この構成であれば、複数の領域それぞれについてのパターンの抽出を、例えば、二次元コードが配置されている確率が高いと推定される順(例えば、画像の縁に位置する領域から中心に位置する領域に向かう順)で試みるようにすると、より二次元コードで示される画像領域を特定するまでの時間を短縮することが期待できる。また、二次元コードを配置すべき画像の最適領域をユーザなどに周知しておくと共に、その領域からパターンの抽出を試みるようにすると、ユーザが最適領域に二次元コードを配置した画像を画像取得手段により取得させることを条件に、より一層二次元コードで示される画像領域を特定するまでの時間を短縮することができる。
【0030】
また、上述したように、m×nにセルが配列されてなる二次元コードを読み取って情報を認識する二次元コードリーダにおいて、二次元コードが第3の構成となっている場合、第8の構成に係る二次元コードリーダのように構成するとよい。
【0031】
この二次元コードリーダは、領域特定手段により特定された画像領域から、所定の位置に設けられたリファレンス領域を抽出するリファレンス抽出手段を備えている。また、セル特定手段は、二次元コードにおけるセルに付けられたマークそれぞれの色が、リファレンス抽出手段により抽出されたリファレンス領域におけるどの位置に配置された色であるかを特定する。そして、情報認識手段は、セル特定手段により特定された色,または,それら色の組み合わせに対応づけられている情報を、リファレンス領域における色または色の組み合わせと情報との対応関係が登録された第2データベースに基づいて特定する。
【0032】
このように構成した二次元コードリーダは、上述した二次元コードを読み取って情報を認識するのに適している。
また、第9の構成に係る二次元コードリーダは、以下のような構成となっている。すなわち、前記セル特定手段は、前記リファレンス領域を除く各セルに付けられたマークの色の特定を試みた結果、正常に色を特定できなかった場合に、その色が前記リファレンス抽出手段により抽出されたリファレンス領域におけるどの位置に配置された色であるかを特定する。そして、前記情報認識手段は、前記セル特定手段が前記リファレンス領域に基づいてセルに付けられたマークの色を特定した場合であれば、該色またはそれら色の組み合わせに対応づけられた情報を、前記第2データベースに基づいて特定するのに対し、前記リファレンス領域に基づかずにセルに付けられたマークの色を特定した場合であれば、該色またはそれら色の組み合わせに対応づけられた情報を、前記第1データベースに基づいて特定する、ように構成されている。
【0033】
また、上述したように、それぞれm×nにセルが配列されてなる複数のブロックで構成された二次元コードを読み取って情報を認識する二次元コードリーダにおいて、画像取得手段が、二次元コードで示される画像領域が含まれる画像を取得する場合であれば、領域特定手段により二次元コードで示される画像領域を特定するために、例えば、第10の構成に係る二次元コードリーダのように構成するとよい。
【0034】
この二次元コードリーダにおいて、領域特定手段は、画像取得手段により取得された画像のうち、二次元コードのセルをマークするのに用いられる色成分を有する領域から、優先的にパターンの抽出を試みる、ように構成されている。
【0035】
このように構成すれば、画像取得手段により取得された画像から、二次元コードで示される画像領域を短時間で特定することができる。
また、画像取得手段が、二次元コードで示される画像領域が含まれる画像を取得する場合には、第11の構成のように、前記画像取得手段により取得された画像のうち、二次元コードのセルをマークするのに用いられる色成分を有する領域以外の領域に対して、色成分を無関係な色で塗りつぶす無意味化処理を施した後で、領域特定手段が、パターンの抽出を試みることとしてもよい。こうすれば、無意味ではない色成分を有する領域を特定しやすくなるため、二次元コードで示される画像領域を特定するまでの時間を短縮することが期待できる。
【0036】
また、上述したように、それぞれm×nにセルが配列されてなる複数のブロックで構成された二次元コードを読み取って情報を認識する二次元コードリーダにおいて、領域特定手段により二次元コードで示される画像領域を特定する際には、以下に記載の二次元コードリーダのように構成してもよい。この二次元コードリーダにおいて、領域特定手段は、画像取得手段により取得された画像のうち、二次元コードのセルをマークするのに用いられる色成分を有する領域の配色が、二次元コードのセルをマークする場合に想定される配色と一致する場合に、パターンであるとして抽出を行う、ように構成されている。
【0037】
例えば、画像取得手段により取得された画像領域のうち、二次元コードではない領域が、二次元コードのセルをマークするのに用いられる色成分を有していたとしても、そのような領域は、二次元コードではないため、二次元コードのセルをマークする場合に想定される配色になっている可能性は低い。そのため、この構成のように配色に基づいて該当するパターンであるか否かを判定すれば、二次元コードではない領域を二次元コードの領域であるとして、不必要な領域の特定,および,情報の認識をしてしまうことを防止することができる。
【0038】
なお、上述した各二次元コードリーダにおける画像取得手段は、カメラなどの撮像手段により自身で画像を示すデータを取得できる手段とすることが考えられる。また、二次元コードリーダ外部から入力することで、画像を示すデータを取得する手段とすることも考えられる。
【0039】
また、第12の構成に係る二次元コードリーダは、前記領域特定手段により前記二次元コードで示される画像領域が複数特定された場合に、前記セル特定手段による特定および前記情報認識手段による情報認識を、前記複数の画像領域それぞれに対して実行させる実行指令手段を備えている。
【0040】
また、第13の構成に係る二次元コードリーダは、前記実行指令手段による指令がなされなくなるまでの間に、前記情報認識手段により繰り返し認識された情報それぞれからなる情報列を生成する情報列生成手段を備えている。
【0041】
また、二次元コードにおける前記m×nに配列された各セルが、前記特定セルをマークした色と同じ色の背景領域上に、それぞれ一定の間隔を設けた状態で配置されており、前記特定セルをマークした色,および,前記背景領域により、当該二次元コードの一を特定するためのパターンを形成している場合には、第14の構成に係る二次元コードリーダのようにするとよい。
【0042】
このバーコードリーダにおいて、前記セル特定手段は、前記領域特定手段により特定された画像領域から、前記背景領域を挟んで配置された領域それぞれを前記二次元コードにおけるセルとして、該セルに付けられたマークそれぞれの色を特定する。
【0043】
また、第15の構成に係るプログラムは、第5から14のいずれかの構成に係る二次元コードリーダが備える全ての手段として機能させるための各種処理手順をコンピュータシステムに実行させるためのプログラムである。
【0044】
このようなプログラムにより制御されるコンピュータシステムは、第5から14のいずれかの構成に係る二次元コードリーダの一部を構成することができる。
なお、上述した各プログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介して二次元コードリーダやこれを利用するユーザに提供されるものである。
【図面の簡単な説明】
【0045】
【図1】二次元コードリーダの構成を示すブロック図
【図2】実施形態における二次元コードを示す図
【図3】実施形態の変形例としての認識処理を示すフローチャート
【発明を実施するための形態】
【0046】
以下に本発明の実施形態を図面と共に説明する。
(1)全体構成
二次元コードリーダ1は、図1に示すように、二次元コードリーダ1全体を制御する制御部10,各種情報を表示する表示部20,ユーザからの操作を受け付ける操作部30,メディアを介して二次元コードリーダ1外部からデータを入力可能なメディアドライブ40,画像を示す画像データを取得可能なカメラ50などを備えている。
【0047】
なお、この二次元コードリーダ1は、例えば、携帯電話端末や携帯情報端末などに実装されるものとして構成してもよい。また、周知のパーソナルコンピュータなどに実装されるものとして構成してもよい。
(2)二次元コードについて
本実施形態の二次元コードリーダは、以下に示す二次元コード200を読み取るためのものであるため、その二次元コード200について説明する。
【0048】
二次元コード200は、図2に示すように、黒色の背景領域210上にp×n(本実施形態においては、p=5,n=8,以下同様)でセルC11〜Cpnが配列された構成となっている。なお、セルCそれぞれは、一定の隙間が設けられた状態で配列されている。
【0049】
この二次元コード200を構成する2行目以降のセルC21〜Cpnは、行毎に、それぞれ1以上のセルCからなるセル群に分けられており、そのセル群で示すべき情報の対応づけられた色または色の組み合わせで塗りつぶされる。なお、以降、セルCが塗りつぶされることを「セルCにマークが付けられる」という。
【0050】
また、各行のセルCのうち、先頭(図2における左端,以下同様)に位置するセルC11〜Cp1は、二次元コード200の位置を特定するための特定セルとして割り当てられている。そして、この特定セルに付けられた色(本実施形態では、黒(k))と、背景領域210とにより、二次元コード200の位置を特定するためのパターンを形成している。
【0051】
また、1行目のセルC11〜C1nは、二次元コード200の各セルCに付けられるう
るマークの色全てにより、順番にマークが付けられたリファレンス領域となっている。本実施形態においては、セルCに付けられうるマークの色として、各セルが、黒(k),シアン(c),マゼンタ(m),イエロー(y),赤(r),緑(g),青(b),白(w)の順番にマークを付けられた構成となっている。
(3)二次元コードリーダによる認識処理
以下に、二次元コードリーダ(の制御部)により実行される認識処理の処理手順を図3に基づいて説明する。この認識処理は、認識処理を開始するための操作が操作部30に対してなされた際に開始される。
【0052】
まず、図3のs120と同様、画像データが取得される(s220)。
次に、s220にて取得された画像データについて、この画像データで示される画像の中に二次元コードが存在するか否かがチェックされる(s230)。ここでは、まず、s220にて取得された画像データで示される画像から、二次元コード200のセルCをマークするために用いられる色成分を有する領域以外の領域について、無関係な色で塗りつぶすなど色成分が無意味化される。続いて、無意味化されていない色成分を有する領域を優先して、二次元コード200の位置を特定するためのパターンの検索が行われる。そして、そのようなパターン,つまり特定セルおよび背景領域210からなる領域が検出されたことをもって、二次元コード200が存在すると判定される。
【0053】
このs220による検索で、二次元コード200が存在しないと判定された場合(s230:NO)、本認識処理が終了する。
一方、s220による検索で、二次元コード200が存在すると判定された場合(s230:YES)、画像データで示される画像から、その二次元コード200の領域がそれぞれ抽出される(s240)。ここでは、s220にて取得された画像データで示される画像から、二次元コード200の位置を特定するためのパターンとなっている領域が、それぞれ二次元コード200の領域として抽出される。そして、このようにして抽出された領域画像からなる画像データそれぞれが生成される。
【0054】
次に、s240にて抽出された二次元コード200の領域のうち、未処理の領域が存在するか否かがチェックされる(s242)。ここでは、s240にて抽出された二次元コード200の領域の中に、以降の処理でセルCの分割および情報の認識が行われていない未処理の領域が存在するか否かがチェックされる。
【0055】
このs242で未処理の領域が存在すると判定された場合には(s242:YES)、そのような未処理の領域のうち、s240において抽出された順番が最も早い領域について、その領域からリファレンス領域の領域が抽出される(s250)。ここでは、s240で抽出された領域のうち、二次元コード200における1行目のセルC11〜C1nが抽出される。そして、s240で抽出された領域から、リファレンス領域,および,リファレンス領域の除去された領域からなる画像データそれぞれが生成される。
【0056】
次に、s240で抽出された領域のうち、リファレンス領域を除く領域について、その領域が、セルC毎の領域に分割される(s260)。ここでは、リファレンス領域の除去された領域について、各行に先頭から最後尾のセルに向けて順に走査され、背景領域210の色(黒)が検出されてから次に背景領域210の色(黒)が検出されるまでの領域それぞれに分割される。そして、こうして分割された分割画像を示す分割画像データそれぞれが生成される。
【0057】
次に、s260にて分割されたセルC毎の領域それぞれについて、その領域で示される情報の認識が行われる(s270)。ここでは、まず、分割画像であるセルCそれぞれに付けられているマークが、分割された順番で、s250にて抽出されたリファレンス領域
におけるどの位置の色にて付けられているかがチェックされる。本実施形態において、制御部10の内部メモリには、リファレンス領域における各色またはその組み合わせに対し、それぞれ1以上の数字やアルファベットなどからなる文字列が対応づけて登録されたデータベースが記憶されている。そのため、こうして、セルCそれぞれに付けられているマークが、リファレンス領域におけるどの位置の色で付けられているかがチェックされた後、その位置の色またはその組み合わせに対応づけられた情報が、上記データベースに基づいて特定される。
【0058】
こうして、s270による認識が行われたら、s242へ戻り、以降、s242からs270までが、s240にて抽出された全ての二次元コード200に対して行われるまで繰り返される。
【0059】
そして、s242にて未処理の領域が存在しないと判定された,つまりs242からs270までが全ての二次元コード200に対して行われたら(s242:NO)、s270にて認識された各情報を並べた情報列が、表示部20に表示された後(s290)、本認識処理が終了される。なお、このs290では、表示部20に情報列が表示された後、操作部30に対して所定の操作が行われたら、この情報列がRAM16やメディアドライブ40にセットされたメディアに記録される。
(4)作用,効果
上述した実施形態において、二次元コード200における1以上のセルCからなるセル群それぞれには、そのセル群で示すべき情報の対応づけられた色または色の組み合わせによりマークが付けられることになる。つまり、各セル群は、それぞれマークが付けられる色の数,または,色の組み合わせの種類に応じた情報量を持っていることになる。
【0060】
このことから、二次元コード200においては、マークが付けられうる色の数を増やすことにより、二次元コード200を配置するためのスペースを増加させることなく、各セル群の情報量を増やすことができる。そのため、二次元コード200としての情報量を増やしても、二次元コード200を記録する記録媒体におけるレイアウトの自由度が低くなってしまうことがない。
【0061】
さらに、この構成では、各セル群それぞれと情報との対応関係が異なっていれば、その二次元コードで示される情報を全く異なる,または,無意味なものとすることができる。つまり、二次元コード200において、各セル群それぞれと情報との対応関係が知られてしまわない限り、二次元コード200で示される情報が第3者に知得されてしまうことを防止することができる。このような秘匿性を多くの二次元コード200それぞれにおいて確保するためには、各セル群それぞれと情報との対応関係を増やすことが有効である。
【0062】
また、二次元コード200では、各行の先頭に位置するセルCが特定セルとして割り当てられており、この特定セルに付けられた色により二次元コード200の位置を特定するためのパターンを形成している。そのため、この特定セルを基準にして二次元コード200の位置を特定することができる。具体的には、図3のs230で特定セルおよび背景領域210を基準として二次元コード200の位置を特定している。そして、同図s240において、この特定セルである先頭のセルCと背景領域210とで形成されるパターンの領域を、二次元コード200の領域として特定することができる。
【0063】
また、上記実施形態では、二次元コード200における1行目がリファレンス領域として割り当てられている。このリファレンス領域は、セルCに付けられうるマークの色を所定の順番で配置したものである。そのため、これと照らし合わせることで、各セルに付けられたマークの色が、それぞれリファレンス領域におけるどの位置に配置された色であるのかを特定することができる。
【0064】
つまり、この構成では、実際にセルCから読み取った色をどの色として読み取ったかとは無関係に、リファレンス領域との対比でそのセルCに付けられたマークの色が判断されることになる。そのため、セルCに付けられたマークの色を周辺環境などの影響で誤って読み取ったとしても、その色を正確に特定することができる。
【0065】
そして、図3のs270において、こうして特定した色またはその組み合わせに対応づけられている情報をデータベースから特定することで、1以上のセルCからなるセル群で示される情報を特定することができる。
【0066】
また、図3のs230において、画像の中に二次元コード200が存在するか否かをチェックする際には、二次元コード200のセルCをマークするのに用いられる色成分以外の領域が無意味化された後、無意味化されていない色成分を有する領域を優先してチェックが行われる。無意味化された領域は、二次元コード200のセルCをマークするのに用いられない色成分の領域であるため、このような領域に二次元コード200が存在することはない。そのため、上述のように、無意味化されていない色成分を有する領域を優先してチェックを行う構成であれば、画像の中における二次元コード200を短時間で特定することができる。
【0067】
さらに、色成分を無意味化することによって、無意味ではない色成分を有する領域を特定しやすくなるため、これによっても、二次元コード200を特定するまでの時間を短縮することが期待できる。
【0068】
また、上記実施形態では、画像の中から、二次元コード200の領域それぞれが抽出され(図3のs240)、これら領域それぞれについて情報の認識までの処理が繰り返し行われる(s242〜s270)。そのため、画像の中に複数の二次元コード200が配置されているような場合であっても、それぞれの二次元コード200で示される情報を一連の情報列として認識することができる。これにより、複数の二次元コード200それぞれからなる一連の情報列の認識を行わせるにあたって、ユーザは、二次元コード200が配置された画像を示す画像データを、1つの二次元コード200毎に別の画像データとして生成する必要がない。
【0069】
例えば、カメラ50にて画像データを取得する場合であれば、全ての二次元コード200が含まれる画像を撮影して画像データを取得するだけでよい。これによって、カメラ50の分解能と二次元コード200における各セルCの大きさとの関係で決まる距離だけ離れた場所からであっても、複数の二次元コード200からなる多くの情報を認識することができる。
(5)変形例
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【0070】
例えば、上記実施形態においては、二次元コード200の各行の先頭セルCが特定セルとして割り当てられている構成を例示した。しかし、最後尾のセルCnを特定セルとして割り当てた構成としてもよい。
【0071】
また、上記実施形態においては、図3のs230,s240で、特定セルと背景領域210とに基づいて、二次元コード200の領域を特定するように構成されたものを例示した。しかし、特定セルのみで二次元コード200の領域を特定するように構成してもよい。例えば、先頭(または最後尾)のセルを特定セルとした場合であれば、特定セルである
先頭(または最後尾)のセルCから最後尾(または先頭)のセルCまでの領域に相当する領域を、二次元コード200の領域として特定することができる。
【0072】
また、先頭のセルCおよび最後尾のセルC両方を特定セルとして割り当てた場合であれば、特定セルである先頭のセルCおよび最後尾のセルCで挟まれた領域を、二次元コード200の領域として特定することができる。
【0073】
また、上記実施形態においては、セルCを塗りつぶすことをもって、そのセルCにマークが付けられていることを示している構成を例示した。しかし、例えば、セルCに特定の記号を記録する,特定の図形(例えば、丸や多角形など各種図形)を記録する,などといったことを、セルCにマークが付けられていることとして扱うようにしてもよい。
【0074】
また、上記実施形態においては、二次元コード200における最上行のセルC11〜C1nがリファレンス領域として割り当てられている構成を例示した。しかし、このリファレンス領域は、m×nに配列されたセルC付近における所定の位置に設けられたものであれば、他の位置に設けられた構成としてもよい(m=p−1)。
【0075】
また、上記実施形態においては、画像の中に複数の二次元コード200が配置されているような場合に、それぞれの二次元コード200で示される情報を一連の情報列として認識する(図3のs290)構成となっているものを例示した。しかし、それぞれの二次元コード200で示される情報を別の情報として認識するように構成してもよい。
【0076】
また、上記実施形態において、画像の中に二次元コードが存在するか否かがチェックされる際に、画像を構成する複数の領域それぞれについてのパターンの抽出を、あらかじめ定められた順番で試みる、ように構成してもよい。この場合、複数の領域それぞれについてのパターンの抽出を、例えば、二次元コード200が配置されている確率が高いと推定される順(例えば、画像の縁に位置する領域から中心に位置する領域に向かう順)で試みるようにすると、より二次元コード200で示される画像領域を特定するまでの時間を短縮することが期待できる。また、二次元コード200を配置すべき画像の最適領域をユーザなどに周知しておくと共に、その領域からパターンの抽出を試みるようにすると、ユーザが最適領域に二次元コード200を配置した画像を二次元コードリーダ1に取得させることを条件に(図3のs220)、より一層二次元コード200で示される画像領域を特定するまでの時間を短縮することができる。
【0077】
また、上記実施形態においては、二次元コード200に対して1つのリファレンス領域が設けられた構成を例示した。しかし、このリファレンス領域は、1行または数行分のセルそれぞれに対して設けられた構成としてもよい。
【0078】
また、上記実施形態においては、二次元コード200について情報の認識を行うにあたり、常にリファレンス領域に基づいて情報の認識を行うように構成されたものを例示した(図3のs250〜s270)。しかし、リファレンス領域に基づいて情報の認識を行うのは、二次元コード200の各セルに付けられたマークの色を特定できない場合のみとしてもよい。このためには、例えば、以下に示すように構成するとよい。すなわち、図3のs242で「YES」と判定された場合に、リファレンス領域を除く各セルCの色を識別できたか否かをチェックする。ここで、色を識別できなかった場合にのみ、s250へ移行する。その一方、色を識別できた場合にs250を行うことなく、s260へ移行し、s270にて情報の認識を行うように構成するとよい。そして、この場合のs270では、まず、分割画像であるセルCそれぞれに付けられているマークが、分割された順番で、どの色にて付けられているかがチェックされる。ここでは、制御部10の内部メモリに、各色またはその組み合わせに対し、それぞれ1以上の数字やアルファベットなどからなる
文字列が対応づけて登録されたデータベースも記憶されていることとする。そのため、こうして、セルCそれぞれに付けられているマークが、どの色で付けられているかがチェックされた後、その色またはその組み合わせに対応づけられた情報が、上記データベースに基づいて特定される。
【0079】
このように構成すれば、個々のセルに付けられたマークの色が正確に判断できない場合であっても、1以上のセルからなるセル群で示される情報を、リファレンス領域における色と照らし合わせることで、正確に特定することができる。
【0080】
このリファレンス領域は、情報が対応づけられた全ての色を所定の順番で配置したものである。そのため、これと照らし合わせることで、各セルに付けられたマークの色が、それぞれリファレンス領域におけるどの位置に配置された色であるのかを特定することができる。そうすると、実際にセルから読み取った色をどの色として読み取ったかとは無関係に、リファレンス領域との対比でそのセルに付けられたマークの色を判断できるため、セルに付けられたマークの色を周辺環境などの影響で誤って読み取ったとしても、その色を正確に特定することができる。
(6)本発明との対応関係
以上説明した実施形態において、図3のs220は本発明における画像取得手段であり、s230,s240は本発明における領域特定手段であり、s270は本発明におけるセル特定手段および情報認識手段であり、s250は本発明におけるリファレンス抽出手段である。
【符号の説明】
【0081】
1…二次元コードリーダ、10…制御部、20…表示部、30…操作部、40…メディアドライブ、50…カメラ、100…二次元コード、200…二次元コード、210…背景領域。

【特許請求の範囲】
【請求項1】
m×n(m,nは1以上の正数)にセルが配列されてなる二次元コードにつき、該二次元コードを読み取って情報を認識する二次元コードリーダであって、
前記二次元コードは、前記m×nに配列されたセルのうち、あらかじめ定められたセルが、当該二次元コードの位置を特定するための特定セルとして割り当てられており、該特定セルをマークした色によって、当該二次元コードの位置を特定するためのパターンを形成しており、
前記二次元コードを示す画像を取得する画像取得手段と、
該画像取得手段により取得された画像から、前記二次元コードで示される画像領域を特定する領域特定手段と、
該領域特定手段により特定された画像領域から、前記二次元コードにおけるセルに付けられたマークそれぞれの色を特定するセル特定手段と、
該セル特定手段により特定された1以上のセルの色または色の組み合わせに対応する情報それぞれを、1以上のセルからなるセル群の色または色の組み合わせと情報との対応関係が登録された第1データベースに基づいて特定し、該特定した情報それぞれからなる情報を、前記二次元コードで示される情報として認識する情報認識手段と、を備えており、
前記領域特定手段は、前記画像取得手段により取得された画像から、二次元コードの位置を特定するためのパターンを抽出し、このパターンの形成された領域を、二次元コードを構成するあらかじめ定められたセルとして、二次元コード全体で示される画像領域を特定しており、
前記二次元コードは、前記m×nに配列されたセル付近における所定の位置に、それぞれ異なる情報が対応づけられた色全てを所定の順番で配置してなるリファレンス領域が設けられており、
さらに、前記領域特定手段により特定された画像領域から、前記所定の位置に形成された前記リファレンス領域を抽出するリファレンス抽出手段を備えており、
前記セル特定手段は、前記二次元コードにおけるセルに付けられたマークそれぞれの色が、前記リファレンス抽出手段により抽出されたリファレンス領域におけるどの位置に配置された色であるかを特定して、
前記情報認識手段は、前記セル特定手段により特定された色,または,それら色の組み合わせに対応づけられている情報を、前記リファレンス領域における色または色の組み合わせと情報との対応関係が登録された第2データベースに基づいて特定しており、
前記セル特定手段は、前記リファレンス領域を除く各セルに付けられたマークの色の特定を試みた結果、正常に色を特定できなかった場合に、その色が前記リファレンス抽出手段により抽出されたリファレンス領域におけるどの位置に配置された色であるかを特定して、
前記情報認識手段は、前記セル特定手段が前記リファレンス領域に基づいてセルに付けられたマークの色を特定した場合であれば、該色またはそれら色の組み合わせに対応づけられた情報を、前記第2データベースに基づいて特定するのに対し、前記リファレンス領域に基づかずにセルに付けられたマークの色を特定した場合であれば、該色またはそれら色の組み合わせに対応づけられた情報を、前記第1データベースに基づいて特定する
ことを特徴とする二次元コードリーダ。
【請求項2】
前記二次元コードは、一列に配列されたn個のセルのうち、先頭および最後尾のいずれか一方または両方のセルが、前記特定セルとして割り当てられており、
前記領域特定手段は、前記画像取得手段により取得された画像における前記特定セルの領域を基準に、該特定セルから最後尾および先頭のいずれか一方に向かうn個分のセルに
相当する領域、または、前記特定セルで挟まれたn個分のセルに相当する領域を抽出して、この領域からなる画像領域を前記二次元コードで示される画像領域として特定する
ことを特徴とする請求項1に記載の二次元コードリーダ。
【請求項3】
前記画像取得手段は、前記二次元コードで示される画像領域が含まれる画像を取得して、
前記領域特定手段は、前記画像取得手段により取得された画像を構成する複数の領域それぞれについてのパターンの抽出を、二次元コードが配置されている確率が高いと推定される領域,または,あらかじめ二次元コードを配置すべき最適領域として定められた領域から順番に試みる
ことを特徴とする請求項1または請求項2に記載の二次元コードリーダ。
【請求項4】
前記画像取得手段は、前記二次元コードで示される画像領域が含まれる画像を取得して、
前記領域特定手段は、前記画像取得手段により取得された画像のうち、前記二次元コードのセルをマークするのに用いられる色成分を有する領域から、優先的にパターンの抽出を試みる
ことを特徴とする請求項1から3のいずれか一項に記載の二次元コードリーダ。
【請求項5】
前記画像取得手段は、前記二次元コードで示される画像領域が含まれる画像を取得して、
前記領域特定手段は、前記画像取得手段により取得された画像のうち、前記二次元コードのセルをマークするのに用いられる色成分を有する領域以外の領域に対して、色成分を無関係な色で塗りつぶす無意味化処理を施した後で、パターンの抽出を試みる
ことを特徴とする請求項1から3いずれか一項に記載の二次元コードリーダ。
【請求項6】
前記領域特定手段により前記二次元コードで示される画像領域が複数特定された場合に、前記セル特定手段による特定および前記情報認識手段による情報認識を、前記複数の画像領域それぞれに対して実行させる実行指令手段を備えている
ことを特徴とする請求項1から5のいずれか一項に記載の二次元コードリーダ。
【請求項7】
前記実行指令手段による指令がなされなくなるまでの間に、前記情報認識手段により繰り返し認識された情報それぞれからなる情報列を生成する情報列生成手段を備えている
ことを特報とする請求項6に記載の二次元コードリーダ。
【請求項8】
請求項1から7のいずれか一項に記載の二次元コードリーダが備える全ての手段として機能させるための各種処理手順をコンピュータシステムに実行させるためのプログラム。

【図1】
image rotate

【図3】
image rotate

【図2】
image rotate


【公開番号】特開2010−33588(P2010−33588A)
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2009−234226(P2009−234226)
【出願日】平成21年10月8日(2009.10.8)
【分割の表示】特願2009−102126(P2009−102126)の分割
【原出願日】平成17年8月10日(2005.8.10)
【出願人】(504312966)
【出願人】(505302786)
【Fターム(参考)】