連続コード、連続コードデコード方法、連続コードが付された物品、連続コードが付された物品収容場、および連続コード認識装置
【課題】きめ細かくかつ効率的に情報を提示するためのコードと、そのコードを検出し認識する方法および装置を提供する。
【解決手段】それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードにおいて、エレメントは、一以上の記号またはその配列を含んで形成されている。連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められている。パターンは、連続コード形成の規則にしたがって、一以上のエレメントまたは一以上の記号を単位として、周期的に形成される。
【解決手段】それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードにおいて、エレメントは、一以上の記号またはその配列を含んで形成されている。連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められている。パターンは、連続コード形成の規則にしたがって、一以上のエレメントまたは一以上の記号を単位として、周期的に形成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報符号化技術に関し、特に、物品に付す情報処理用のコードと、そのコードを認識する方法および装置に関する。
【背景技術】
【0002】
効率的な在庫管理は、製造業や小売業を中心とする厳しいコスト競争や納期短縮の競争の中にあって、非常に重要なテーマである。たとえば広大な倉庫に膨大な数の商品や部品(これらを統括的に「物品」という)を運び込んで管理する場合、どこに何がいくつあるのか正確に把握するのは煩瑣な作業である。広い図書館や書店で多数の本を管理する場合も同様である。
【0003】
一般に、何がどこにあるかを把握するためにカメラで撮影した画像を利用することは一策である。すなわち、物品が存在する空間をカメラで撮影してその画像を解析すれば物品とその位置を特定することができる。あらかじめ物品にバーコードその他の識別コードを付しておけば画像の解析は自動化しやすい。
【0004】
例えば、特許文献1には、歯車上の位置を検出するために、歯車に放射状に複数のバーコードを付す方法が記載されている。この例においては、各バーコードの表す数字が回転に伴って増加するようにバーコードが配列され、固定したバーコードリーダにてそのうちの一のバーコードを読みとることで、その時点での歯車の回転量を認識することができる。
【0005】
しかし、倉庫のような広い空間では、新たな問題が発生する。カメラで撮影しようにも、1回の撮影で広い空間やすべての物品を写すことは困難である。一方、多数の写真を撮影するとすれば、各画像がどの位置で撮影されたか把握する作業が別途必要になる。書店の在庫管理の場合、多数の本棚はいずれも似ていることが多く、しかもひとつの本棚の中ですら、そのいずれの部分かを画像から特定することは容易とはいえない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−38566号公報
【特許文献2】特許4005621号公報
【特許文献3】特開2008−287414号公報
【特許文献4】特開2009−3721号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
広い空間において、物品とその位置を自動認識技術を用いて管理するとき、カメラが取り込んだ画像が全体の中のいずれの部分であるのかを特定するための方法として、各位置に、全体に対する位置座標を表すマークやコード(以下、マーク等という)を付しておく方法がある。
書店の在庫管理の例でいうと、ある本がどの棚のどの位置にあるのかカメラが撮影した画像から特定できるように、一例として、棚板の複数個所に、その棚板上での位置を示すバーコードをそれぞれ貼り付けておく方法が考えられる。
このような場合、カメラが、少なくとも各マーク等をそれぞれを読み取るだけの解像度を有することが必要となる。
【0008】
各マーク等は、その座標を示す数値を個々に表す必要がある。座標を詳細に示そうとすると座標を示す数値の桁数が大きくなり、いきおいマーク等に詰め込む情報量が大きくなるため、マーク等がより複雑なものとなる。
しかしながら、このような座標を表すマーク等は、できるだけ在庫管理等の本来の目的に対して邪魔にならない小振りなものが望ましいと考えられる。
【0009】
書店の例でいうと、各本の収納位置をきめ細かに管理するためには、棚板上での位置を細かく特定できるようにしておく必要があり、このためには、一枚のバーコードのサイズを小さくし、数多くのコードを棚板に貼り付ける必要がある。しかも、各位置を詳細に表すためには、各位置を示す数値の桁数も大きくなり、一枚のバーコードの情報量が増えるため、バーコードの表記をより細かくせざるをえない。さらに、バーコードは棚板に貼り付けるため、できるだけ小振りなサイズが望ましい。
【0010】
さらに、位置として2次元や3次元の位置関係を表現する場合、座標を表すマーク等は2次元や3次元の座標を示すことが必要となり、ますます表現すべき情報量が増え、座標を表すマークやコードなどがより複雑になり、より細かく表記せざるをえない。
【0011】
一方、効率的に在庫管理を行うためには、カメラ一回の撮像で広い範囲を取り込むことが要求される。しかしながら、個々のバーコードを読み取るだけの解像度を確保するために、一回に撮影できる範囲が限られるため、一回に撮像できる範囲や物品数が少なくなり、在庫管理の作業効率が落ちてしまう。
【0012】
座標を表すマーク等としては、上記のバーコードのような自動認識コードの他に、たとえば座標を数字で記載し、OCRで読み取るということも考えられる。この場合でも詳細な座標位置を示そうとした場合、数字が多くなり、小さな面積で表そうとすると解像度、歪み等の原因で読み取りが困難になるものと考えられる。
【0013】
本発明はこうした課題に鑑みてなされたものであり、その目的は、きめ細かくかつ効率的に情報を提示するためのコードと、そのコードを検出し認識する方法および装置を提供することにある。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明のある態様の連続コードは、それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、エレメントは、一以上の記号またはその配列を含んで形成されており、連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含む。
【0015】
本発明のさらに別の態様は、デコード方法である。この方法は、連続コードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【0016】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続コードを認識するコード認識装置であって、 抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【0017】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、物品を収容する領域に並置して、連続コードが付されている。
【0018】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な空間を備える物品収容場であって、連続コードが付されており、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるよう連続コードが付される領域が定められている。
【0019】
本発明のさらに別の態様は、連続コードである。この連続コードは、記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、当該連続コードの全幅W1と、コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成される。
【0020】
本発明のさらに別の態様は、コード認識装置である。この装置は、記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、連続コードの一部を検出する検出部と、検出した連続コードに含まれる記号の配列を復号する復号部とを備える。当該連続コードの全幅W1と、検出部が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成される。
【0021】
本発明のさらに別の態様は、連続マトリクスコードである。この連続マトリクスコードは、複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められている。
【0022】
本発明のさらに別の態様もまた、連続マトリクスコードである。この連続マトリクスコードは、それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められている。
【0023】
本発明のさらに別の態様は、デコード方法である。この方法は、連続マトリクスコードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【0024】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続マトリクスコードを認識するコード認識装置であって、抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【0025】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されている。
【0026】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されており、物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう連続マトリクスコードが付される領域が定められている。
【0027】
本発明のさらに別の態様は、物品である。この物品は、連続コードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載している。
【0028】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記憶媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0029】
本発明によれば、きめ細かくかつ効率的に情報を提示するためのコード、そのコードを検出する方法、およびそのコードを検出する装置を提供することができる。
【図面の簡単な説明】
【0030】
【図1】実施の形態に係るコード認識装置の構成を示す図である。
【図2】図2(a)〜(c)は、実施の形態に係る連続コードの規則的パターンを示す図である。
【図3】色の付されたセルの配列により表現された連続コードの例を示す図である。
【図4】等差数列と区切り符号を組み合わせることにより作成した本発明の実施形態にかかる母数列の例を示す図である。
【図5】等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コードの例を示す図である。
【図6】図6(a)は、色の付された帯状のセルで形成される記号を示す図であり、(b)は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コードの別の例を示す図である。
【図7】ドット記号の変位を用いてパターン化した連続コードの例を示す図である。
【図8】実施形態にかかる二次元ドットマトリクスコードを示す図である。
【図9】実施形態にかかる連続マトリクスコードを示す図である。
【図10】図10(a)〜(c)は、本発明の実施形態にかかる検出マークを付した一次元連続コードの例を示す図である。
【図11】図9に示した連続マトリクスコードに、直線で表された検出マークを付した連続マトリクスコードを示す図である。
【図12】図8に示したドットマトリクスコードにおいて、各ドット記号を検出マークを用いて表したドットマトリクスコードを示す図である。
【図13】コード認識装置が、連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。
【図14】図14(a)および(b)は、母数列を繰り返し用いたデータ列を、記号の配列によるパターンとして表現した本発明の実施形態にかかる連続コードの例を示す図である。
【図15】母数列を繰り返し用いた長いデータ列をX方向とY方向に用いて、図9に関連して説明した方法と同様の方法により表現した連続マトリクスコードの例を示す図である。
【図16】繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表した連続コードの例を示す図である。
【図17】コード認識装置が、抽出された連続コードのセクションと、サイクル識別表示にもとづいて、そのセクションの位置を特定する手順を示すフローチャートである。
【図18】一次元連続コードを環状に配置した、実施形態にかかる環状連続コードの例を示す図である。
【図19】連続マトリクスコードを環状に配置した、実施形態にかかる環状マトリクスコードの例を示す図である。
【図20】連続マトリクスコードを環状に配置した、環状マトリクスコードの別の例を示す図である。
【図21】図21(a)および(b)は、一次元連続コードに別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列の例を示す図である。
【図22】連続コードが表現するデータとは別のデータを記録する情報コードを埋め込んだ連続マトリクスコードの例を示す図である。
【図23】図22の連続マトリクスコードを、線分を用いて読み取りパターン化した連続マトリクスコードを示す図である。
【図24】コード認識装置がキャプチャした画像の例を示す。
【発明を実施するための形態】
【0031】
[概要]
はじめに、実施形態に係る連続コードの概要および用語について説明する。
例えばある棚板におかれた本が、その棚板上のどこにあるのか、自動認識技術を用いて特定することを考える。この場合、棚上の任意の位置をカメラが撮影した画像から特定できるようにしておく必要がある。実施形態に係る連続コードは、例えば棚板上での位置を表すデータを、途切れのない連続的なパターンとして表す。
【0032】
一例として、図24(詳細は後述)の棚板に付してあるのが、実施形態に係る連続コード80である。棚板に並べられた各冊子が、その位置を特定すべきターゲット物体であり、各冊子にはターゲット識別コード180が付してある。ターゲット識別コードと連続コードの両方がカメラの視野に入るようにして撮影し、自動認識技術を用いることで、ターゲット識別コードに関連づけられた書籍に関する情報と、その書籍の収納位置を関連づけることができる。
【0033】
なお、本明細書においてコードとは、所定の規格に則ってデータを記号の集合であるパターンとして表現するときの、その表現されたパターンをいう。また、「マーク」や「セル」などの、パターンの一部を構成する部分を、「記号」という。
例えば、図5(詳細は後述)でR、G、Bと書かれた楕円は、赤、緑、青で彩色されたセルを示すが、それら彩色されたセルのそれぞれが、「記号」である。
【0034】
図5の連続コード80が表現するデータ列84中の”0”、”2”、”1”など、個々の数字を、「最小データ単位」または「データ単位」という。すなわち「最小データ単位」とは、コードが表現するデータの最小単位である。例えば一の数字や一の文字などであり、ディジタルデータの場合には、0または1である。
【0035】
連続コード80のパターンの一部であり、一の「最小データ単位」を表現する部分を、「エレメント」という。図5の連続コード80においては、各数字、すなわち各最小データ単位は、それぞれ二つのセルからなるエレメントで表されている。例えば、”0”はエレメント”RG”で表現され、”1”は、エレメント”RB”で表現されている。
【0036】
エレメントは、「記号」と一対一に対応することもあり、対応しないこともある。例えば図5の連続コード80においては、エレメントは記号と一対一に対応せず、二個の記号の配列が一のエレメントを構成する。
また、一の「最小データ単位」に対して一のエレメントが割り当てられるとは限らず、2以上の異なるエレメントが割り当てられることもある。図5の連続コード80においては、最小データ単位”2”に対して、2種類のエレメント”BG”と”GB”が割り当てられており、同じ色のセルが続かないように、いずれかが選択されて用いられている。
【0037】
連続コード80は、長い範囲にわたって途切れのない連続的なコードであるが、連続コード80を用いて、例えば棚板上のターゲットの位置を特定するためには、連続コード80のうち、その位置を記録している部分を読み取ればよい。この「棚板上の位置」のように、何らかの意味のある情報(以下、有意データともいう)を記録する連続コード80の部分を「セクション」という。また「セクション」が表すデータを、「セクションデータ」と呼ぶ。連続コード80は、各セクションが表現するセクションデータがすべて異なるように形成される。
【0038】
図5の連続コード80においては、各セクション98は全て、4個のエレメント、すなわち8個の彩色セルで構成されている。セクションは、その先頭をエレメント1個分ずつずらしながら、重複するように配置されている。連続コードを用いて冊子などのターゲット物体の位置を特定する場合は、あらかじめターゲット物体とセクションとを、それらの位置関係により対応付ける規則を定めておく。そして、コード認識装置が、その規則にしたがって、あるターゲット物体に対応づけられるセクションを読み取り、そのセクションが表すセクションデータを認識する。データ列84内でそのセクションデータが一意に特定可能であることから、データ列84内でそのセクションデータの位置を特定することができる。これにより、連続コード80内で、読み取ったセクションの位置情報を得ることができ、ターゲット物体の位置を特定することができる。
【0039】
このように、セクションをそれぞれ重複させて配置することにより、限られたスペースにより多くの情報を記録することができ、またコード認識装置の解像度および視野を有効に活用できる。
【0040】
セクションのサイズは、コード認識装置の視野より小さくなるよう定められる。すなわち、セクションのサイズは、コード認識装置が一回の読み取り動作で、少なくとも一のセクションを読み取ることができるように定められる。ここで、一回の読み取り動作とは、たとえば一回の撮像や一回のスキャン動作であり、一回のスキャンは、一連の複数回のサブスキャンで完成する場合もある。また、コード認識装置が一回の読み取り動作で検出できる範囲を、コード認識装置の検出ウィンドウともよぶ。
【0041】
連続コードは、各セクションが表現するセクションデータがすべて異なるように形成される。これにより、各セクションデータを読み取ることで、セクションをそれぞれ一意に特定することができる。図5の連続コード80においては、各セクション98が表現するセクションデータは、それぞれ部分数列96であり、それぞれの部分数列96はすべて異なる。データ列84において、各部分数列96は、その先頭を数字すなわち最小データ単位1個分ずつずらしながら重複するように配置されている。
【0042】
このように、たとえば各点の位置を表すデータを、途切れのない連続的なパターンとして表す連続コードは、カメラの読み取り画面範囲外にも広がりを持つことが普通であり、取り込んだ画面においてその始点終点が明らかでない。また画像取得条件によって、画像中のコードの大きさも一定とはいえない。さらに、連続コード中には、その表すデータが重複するようにマーキングされている。
連続コードは以上のような点において、通常の非連続自動認識コードと異なり、これらが、連続コードのいわゆる「切りだし」を困難とする要因になると考えられる。連続コードの自動認識にあたっては、始点終点の概念を取り除き、またデータブロックの概念を取り除いた切りだし概念を取り入れる必要がある。
【0043】
上述のように、位置関係を示すマーク等を分散重複配置させることで、たとえ詳細な位置関係を示す座標データ等であっても、コードのパターンを細かく、複雑にすることなく表現できる。また、コードのサイズを画像取得の主目的のために邪魔にならない大きさにしても、特に高解像度のカメラでなくとも読み取る可能なコードとすることができる。
また、連続コードの一定の規則的パターンを利用することで、始点、終点の明らかでないパターンであってもコードとして検出することができる。
【0044】
本明細書において、連続コードの各セクションが位置データを表す場合、連続コードのことを「位置コード」ともよぶ。ただし、各セクションが記録するデータは位置データには限られない。たとえば各セクションが表す部分数列と、そのセクションに関して記録させたい所望の情報とを関連づけた記録したテーブルを準備しておき、コード認識装置がセクションを読み取ったときにそのテーブルを参照することとしてもよい。これにより、各セクションにおいて所望の情報を記録することができる。
【0045】
以下、図面を参照して本発明の実施の形態(以下、「実施形態」という)について詳細に説明する。
【0046】
図1は、実施形態に係るコード認識装置100の構成を示す。
コード認識装置100は連続コードを用いて、たとえば冊子などのターゲット物体の位置を特定する。コード認識装置100は、ターゲット識別コードおよび連続コードを撮像して認識するコード検出部10と、認識したターゲット識別コードからターゲットの識別情報を取得するターゲットID取得部40と、読み取った連続コードからその位置を特定する位置情報取得部50と、各ターゲット物体についてその位置を特定するターゲット位置特定部60と、出力部70とを含む。
【0047】
コード検出部10は、ターゲット識別コードおよび連続コードを含む画像を取得する読み取り部12と、読み取った画像からターゲットに付されたターゲット識別コードを切り出すターゲットコード抽出部18と、読み取った画像から連続コードを切り出す位置コード抽出部24と、切り出した位置コードからセクションデータを取得するセクションデータ取得部30とを備える。読み取り部12は、コードを含む画像を光学的手段で撮像する入力部14と、コードを切り出すための前処理として取得した画像の各画素値を量子化する量子化部16とを含む。入力部14は、コードが磁気を用いて表現されている場合、磁気的手段でコードおよびその周辺環境の磁気を計測してもよい。以下、磁気的手段やその他の手段によって取得した場合も含めて、撮像や画像という言葉を用いる。
【0048】
ターゲットコード抽出部18は、読み取った画像に含まれるパターンがターゲット識別コードを構成するか否か判定するターゲット切り出し条件判定部20と、ターゲット識別コードを構成すると判定された場合にそのコードを切り出すターゲット切り出し処理部22とを含む。ターゲットコード抽出部18は、抽出したターゲット識別コードの画像中の位置に関する情報をセクションデータ取得部30に送り、切り出したターゲット識別コードに関する情報をターゲットID取得部40に送る。
【0049】
ターゲットID取得部40は、ターゲット識別コードとターゲットの識別情報(以下、ターゲットIDともいう)とを関連づけて格納する記憶部44と、ターゲットコード抽出部18から取得したターゲット識別コードに基づいて、記憶部44を参照し、そのターゲット識別コードが付されたターゲットの識別情報を取得するターゲットID特定部42とを含む。ターゲットID取得部40は、取得したターゲットの識別情報を、ターゲット位置特定部60に送信する。
【0050】
位置コード抽出部24は、読み取った画像に含まれるパターンが位置コードを構成するか否か判定する位置コード切り出し条件判定部26と、位置コード構成すると判定された場合にそのコード切り出す位置コード切り出し処理部28とを備える。
【0051】
セクションデータ取得部30は、セル認識部32と、エレメント認識部34と、エレメント復号部36と、セクション選択部38とを備える。セル認識部32は、位置コード抽出部24から受け取ったコードに含まれるパターンから、セル切り出し条件をみたすセルを抽出し、それぞれのセルを特定する。エレメント認識部34は、抽出されたセルの配列から、エレメント構成規則に基づいて各エレメントを構成するセルを抽出し、それぞれのエレメントを特定する。なお、ここでは、記号としてセルを用いる場合の例を示している。
【0052】
エレメント復号部36は、認識されたエレメントをそれぞれ最小データ単位に復号する。セクション選択部38は、エレメントから復号された最小データ単位を指定することにより、セクションデータを選択する。なお、セクション選択部38は、エレメント復号部36によってエレメントがそれぞれ最小データ単位に復号される前に、エレメントを指定することによりセクションを選択してもよい。この場合、エレメント復号部36は、セクションが選択された後、選択されたセクションに属するエレメントを、それぞれ最小データ単位に復号する。これにより、セクションデータを取得することができる。
セクションデータ取得部30は、取得したセクションデータを、位置情報取得部50に送信する。
【0053】
位置情報取得部50は、セクションデータ取得部30から取得したセクションの位置に関する情報を特定する位置情報特定部52と、選択されたセクションが属するサイクル(後述)に関する情報を特定するサイクル情報特定部54と、セクションの位置とサイクルに関する情報から、そのセクションの位置座標を計算する座標算出部56とを含む。位置情報取得部50は、取得した座標をターゲット位置特定部60に送信する。
【0054】
ターゲット位置特定部60は、ターゲットID取得部40から取得したターゲットIDと、位置情報取得部50から取得したセクションの座標とを関連づけて、各ターゲット物体の位置を特定し、出力部70に送信する。出力部70は、得られた情報を表示信号や音声信号として出力する。出力部70から出力された表示信号や音声信号は、LCDその他の表示装置やスピーカ等(図示せず)を介して、ユーザに情報として提供される。
【0055】
[規則的パターン]
連続コードは、通常のバーコードなどに比べて長い、あるいは広い範囲にわたる連続的なパターンである。したがって、通常は、コード認識装置が一の読み取り動作で連続コード全体をとらえることができず、コード認識装置の検出ウィンドウに連続コードの始点および終点がふくまれない。また、画面中に含まれる記号の数や大きさも不定である。したがって、コードを背景から切り出して読み取る際に、通常のコードとは異なる手法が必要となる。
【0056】
連続コードは、連続コードを形成するための規則にしたがって、周期的なパターンをもつよう構成される。コード認識装置は、その検出ウィンドウに連続コードの始点および終点が入っていなくとも、この周期的なパターンを認識することで、連続コード以外の背景部分と区別して連続コードを検出することができる。また、規則的パターンの周期が一以上のエレメントまたは一以上の記号を単位として現れるように連続コードを形成することで、コード認識装置が、規則的に表現されるパターンの周期と比較して、一の記号のサイズを認識することが可能となる。
【0057】
図2(a)〜(c)は、実施形態に係る連続コード形成の規則例を説明するための図である。
図2(a)は、色の付されたセルの配列により表現された連続コード80の例を示す。
このコードでは、記号として、赤、緑、または青で彩色されたセル82が用いられる。
図2(a)において、R、G、Bと表記されたセルはそれぞれ、赤、緑、青で彩色されたセルを示す。なお、以下の図においても、彩色されたセルは同様に表記される。
【0058】
図2(a)の連続コード80では、二つのセルがエレメントを構成する。1個の赤のセルと1個の緑のセルがこの順に配列されたエレメントが最小データ単位”0”を、1個の赤のセルと1個の青のセルがこの順に配列されたエレメントが最小データ単位”1”をそれぞれ表す。
【0059】
図2(a)の連続コード80は、一つおきに赤いセルが現れるという連続コード形成の規則に従って形成されている。すなわち、一のエレメントである二つのセルを一単位として、周期的に赤いセルが現れるようセルの配列が定められている。
【0060】
図2(a)〜(c)においては説明のため、連続コード80が表す一連のデータであるデータ列84を破線で囲い、連続コード80の下に並べて示している。なお、以下の図においても、パターンに変換される元のデータ列84は、同様に表記される。なお、データ列84のことを、母数列ともよぶ。
また、前述のように、連続コード80においてセクションはエレメント一個分ずつずらして重複するように配置されるが、図2(a)〜(c)の連続コード80においては、先頭から3個のセクション98のみ示す。以下の図においても同様に、先頭から3個のセクション98のみ示す。
【0061】
図2(a)の連続コード80において、各セクション98は全て4個のエレメント、すなわち8個の彩色セルで構成されている。セクションはそれぞれ、その先頭をエレメント1個分ずつ、すなわちセル二個分ずつずらしながら重複するように配置されている。
【0062】
前述のように、連続コードは、各セクションデータがすべて異なるように構成される。図2(a)の連続コード80の各セクション98が表現する各セクションデータは、データ列84中の部分数列96に、それぞれ対応する。図2(b)および(c)の連続コード80においても、元データとして同じデータ列84を用いている。連続コードのデータ列84としては、部分数列96がすべて異なるような母数列を用いる。
【0063】
図2(a)〜(c)では、それぞれの部分数列96がすべて異なるような母数列として、2進数デブルイン(DeBruijn)数列の一つである数列”0000100110101111”を用いている。この数列では、”0000”、”0001”、”0010”など、異なる先頭位置から開始する連続する4桁の数字からなる部分数列96が互いにすべて異なる。
【0064】
図2(b)は、色の付されたセルの配列により表現された連続コード80の別の例を示す。このコードにおいても、記号として赤、緑、または青で彩色されたセル82が用いられる。
図2(b)の連続コード80では、隣接する二つのセルが最小データ単位を表すエレメントを構成する。ただし、この例においては、エレメントは互いに重なりをもつ。赤いセルと緑のセル、緑のセルと青のセル、青のセルと赤のセルがこの順に並ぶエレメントが、最小データ単位”0”を表し、緑のセルと赤のセル、青のセルと緑のセル、赤のセルと青のセルがこの順に並ぶエレメントが、最小データ単位”1”を表す。
【0065】
図2(b)の連続コード80において、各セクション98は全て、4個のエレメントで構成されている。セクションはそれぞれ、その先頭をセル1個分ずつずらしながら重複するように配置されている。
【0066】
図2(b)の連続コード80は、2種類の大きさの色彩セルが交互に配置されるという連続コード形成の規則に従って形成されている。すなわち、二つの記号を一単位として、周期的に大小のセルが一つずつ配置されている。
【0067】
図2(c)は、記号●、上向き三角記号、下向き三角記号の3種類の記号の配列により表現された別の連続コード80の例を示す。この連続コード80では下向き三角記号および上向き三角記号が、最小データ単位である”0”、および”1”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すので、エレメントでもある。記号●は、チェック用記号であり、この連続コード80は、記号二つおきにチェック用記号●が現れるという連続コード形成の規則に従って形成されている。すなわち、三つの記号を一単位として、周期的に一個の記号●が配置されている。
図2(c)の連続コード80において、各セクション98は全て4個のエレメントで構成されている。セクションはそれぞれ、その先頭をエレメント1個分ずつずらしながら重複するように配置される。
【0068】
図3は、色の付されたセルの配列により表現された連続コード80の別の例を示す。図3の連続コード80でも、記号として赤、緑、または青で彩色されたセル82が用いられているが、図2(a)〜(c)の連続コード80とは異なる母関数を、図2(a)〜(c)の例とは異なる規則に基づいてパターン化することによって連続コード80が形成されている。
図2(a)〜(c)では、データ列84として2進数デブルイン数列の一を用いていたが、図3の例では、3進数デブルイン数列の一を用いている。3進数であるため、最小データ単位として、”0”、”1”、”2”の3種類の数を表現する必要があるが、彩色セルは、図2(a)および(b)と同様に、三色のみ用いているため、エレメント長が、図2(a)および(b)の例に比べて長くなっている。
【0069】
図3の連続コード80では、6個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、R、G、Bで表記すると、RGRBRGの順に配列されたエレメントが最小データ単位”0”を、RGRBRBの順に配列されたエレメントが最小データ単位”1”を、RGRBGBの順に配列されたエレメントが最小データ単位2をそれぞれ表す。
図3の連続コード80は、RGRの順に配列された三つのセルが周期的に現れるという連続コード形成の規則に従って形成されている。すなわち、6個のセルからなる一のエレメントを一単位として、周期的にRGRの三つのセルが配置されている。
【0070】
前述のように、本発明にかかる連続コードは、各セクションが表現するデータがすべて異なるように構成される。
図3では、データ列84として、部分数列96がすべて異なるような母数列である3進数デブルイン数列の一つの一部”00010020110・・・”を用いている。このデータ列84では、”000”、”001”、”010”、”100”など、異なる先頭位置から開始する連続する3個の数字からなる部分数列96が互いにすべて異なる。
【0071】
図2(a)〜(c)および図3に関して示したように、連続コード80は、連続コードを形成するための規則にしたがって、一以上のエレメントまたは一以上の記号を単位とする周期的なパターンをもつよう構成される。
上記の例の他にも、連続コード80は様々な周期的なパターンをもつよう形成することができる。例えば連続コード80は、2個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという規則にもとづいて、形成されてもよい。詳細は後述する。
【0072】
このように、連続コードを形成するための規則にしたがって、連続コード80が周期的なパターンをもつよう形成することにより、連続コードの開始点および終端点が不明確であっても、コード認識装置が連続コードを切り出す際、連続コード以外の背景画像と連続コードを区別して連続コードを切り出すことが可能となる。また、画像中に記号がいくつ含まれるのか不定であっても、コード認識装置が、パターンの周期にもとづいて一の記号や一のエレメントのサイズを認識し、それを利用して各記号を読み取ることが可能となる。
【0073】
以上、規則的パターンの例をいくつか示したが、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な規則的パターンを有する、と言う意味である。
【0074】
例えば、寸法、形状の規則が定められていなくとも、色彩配列のみに依存するコードの配列方式によって規則的パターンを形成することもできる。
このような規則的パターンの検出方法としては、例えば、本発明者による特許文献3および4に記載されている方法を応用して適用することが可能である。特許文献3および4には、色彩配列のみに依存するコードの切り出し方法が記載されている。
これらは色彩の分岐、並列条件を検出してその条件に合致した色彩配列をコードとして認識(切りだし)する方法である。これらの切り出し方法は、本出願のように始点終点を定めないという考え方のコードを対象としたものではないが、これらの文献の中で述べている方式において全体のセル数や始点、終点条件、誤り検出条件を除くことで本出願にも適用することが可能である。
【0075】
これらの例では、切り出しは色彩境界条件に依存する(特許文献3)もしくは色彩並列条件に依存する(特許文献4)ものである。
すなわち、色彩境界条件について定められた規則や、色彩並列条件について定められた規則にもとづいて検出しているといえる。このように、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な様々な規則的パターンを含む。
【0076】
[排出データ指定]
先に述べたように、本発明にかかる連続コードでは、複数のセクションデータが重複的に記録されている。このため、読み取って出力すべきデータの指定にあたって、通常と異なる方法が必要となる。
【0077】
通常の重複のない形式のコードによって複数の有意データを表す場合、パターンとしては連続するように見える場合でも、有意データが、それぞれ自己完結型のコードとして記録され、コード中に別個のコードのブロックが配置される形式となる。すなわち、各有意データを記録する区画が分かれている。したがって、このようなコードを読み取る場合には、切り出しマークなどをもちいて、一の区画をブロックとして切り出すことになる。
【0078】
これに対して、本発明にかかる連続コードでは、有意なデータであるセクションデータを表現するセクションが、重複的に配置されている。したがって、連続コードのある記号やエレメントに注目したときに、その記号やエレメントを含むセクションが複数存在する。同様に、連続コードが表現するデータ列において、ある最小データ単位に注目したときに、その最小データ単位を含むセクションデータが複数存在する。
【0079】
本実施例においては、読み取るべきセクションデータの選択にあたっては、あらかじめ、エレメントとセクションを関連づける規則、または、最小データ単位とセクションデータを関連づける規則を定めておく。そして、エレメントを指定することにより、読み取るべきセクションを指定する。あるいは連続コードを構成するエレメントをそれぞれ復号した最小データ単位の配列において、最小データ単位を指定することにより、読み取るべきセクションデータを指定する。詳細については、図13のフローチャートに関連して後述する。
【0080】
[等差数列]
本発明にかかる連続コードは、異なる先頭位置から連続する所定個数のエレメントからなるセクションが表現するデータがすべて異なる。図2および図3の例においては、デブルイン数列をパターン化することにより、連続コードを作成する例を示した。
デブルイン数列は、母数列の異なる先頭位置から連続する所定個数の数字の順列(以下、部分数列ともよぶ)が、すべて異なる性質を有する。ただし、デブルイン数列は、各部分数列の並び方に規則性はない。このため、例えば各セクションの連続コード80の中での位置を知りたい場合には、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照する必要がある。
【0081】
本発明者は、等差数列と区切り符号を組み合わせることにより、デブルイン数列と同様の性質をもち、かつ各部分数列の並び方に規則性のある母数列を作成できることを見出した。
【0082】
図4は、等差数列と区切り符号を組み合わせることにより作成した母数列90の例を示す。000、001、010、011、100、101、110、111は、2進数3桁で公差が1の等差数列の項である。図4においては、数字の”2”を区切り符号94として用いており、等差数列の項と区切り符号94が交互に並べられている。
【0083】
母数列90の先頭から連続する4個の数字からなる部分数列96a、96b、96c、・・・を順次取り出すと、2000、0002、0020、0200、2001、0012、0120、1201、2010、0102、1020、0201、2011、0112、1121、1210、2100、1002、0021、0210、2101、1012、0121、1211、2110、1102、1021、0211、2111、の29個の部分数列を取り出すことができる。これらの部分数列はすべて異なる。
【0084】
なお、2を一つ含み、あとは0か1である4個の数からなる数列は全部で32個存在するはずである。図4の母数列90の末尾に、そのはじめの3桁”200”を付け加えると、さらに3個の部分数列1112、1120、1200を取り出すことができ、32個の部分数列がすべて網羅される。すなわち、2進数3桁の等差数列を用いて部分数列がすべて異なる母数列を作る場合、等差数列の全ての項と区切り符号を交互に並べた後にさらに先頭の3桁を並べた数列が、部分数列がすべて異なる母数列としては最長の数列となる。
【0085】
このように、部分数列がすべて異なる母数列を用いると、その一の部分数列を読みとることにより、その部分数列が、母数列の中でどこに位置しているのか特定することができる。このような部分数列をパターン化した連続コードを利用することで、例えば、ターゲットとなる物体の位置や、コード認識装置自身の位置等を特定することができる。
【0086】
例えば、X軸上の各点に細かく座標を記す代わりに、図4のようにX軸に平行に母数列90を表示、または母数列90をパターン化した連続コードを表示しておく。このとき、ターゲット物体Aが図4のX軸上の白抜き矢印で示した位置にあるとする。コード認識装置が、この物体Aに最も近い位置にある数から連続する4個の数からなる部分数列”0210”を読み取る。そうすると、この部分数列96tは母数列中に一個しか存在しないため、コード認識装置はターゲット物体Aの位置を特定することができる。
【0087】
以下に、図4に示した母数列の例を一般化して、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、等差数列の桁数に一を加えた長さの部分数列がすべて異なるような母数列を作成することができることを示す。
なお、本明細書において「基数」とは、位取り記数法の底のことを指す。例えば2進数の基数は2、10進数の基数は10である。
【0088】
m桁のn進数で表した公差rの等差数列の第x項をCxとする。すなわち、
Cx+1−Cx=r (式1)
である。ここで、mおよびnは2以上の整数、rは自然数、xは0以上の整数である。
区切り符号としてZを用いて、上記の等差数列と交互に配置して母数列をつくると、
C0ZC1ZC2ZC3ZC4ZC5Z・・・・ (式2)
となる。m桁n進数の等差数列を用いる場合、区切り符号は、等差数列を構成する数と区別できるように、0からn−1までの数以外の数または文字を用いる。
この母数列の最小データ単位は一の数字または一の文字である。
【0089】
以下、この母数列について、任意の最小データ単位を先頭とする連続するm+1個の最小データ単位からなる配列(以下、部分数列ともよぶ)が、すべて異なることを示す。
ここで、部分数列の中での区切り符号の位置が異なる部分数列は、互いに異なることは明らかなので、部分数列の中での区切り符号の位置が同じ部分数列について、互いに異なることを示せばよい。
【0090】
ここで、各部分数列は、区切り符号Zと等差数列のある項を並べたものであるか、等差数列のある項の数の後半部分の数と、区切り符号Zと、等差数列のある項の数の前半部分の数とをこの順に配列したものであるとみることができる。
【0091】
部分数列が、区切り符号Zと等差数列のある項を並べたものである場合、部分数列は、C0Z、C1Z、C2Z、C3Z、C4Z、C5Z・・・のような形であるか、ZC0、ZC1、ZC2、ZC3、ZC4Z・・・のような形であるかのいずれかとなる。区切り符号Zが先頭につく部分数列と、末尾につく部分数列は、明らかに異なる。また、等差数列の各項は互いに異なるので、この場合、各部分数列は異なる。
【0092】
以下、部分数列が等差数列のある項の数の後半部分の数と、区切り符号Zと、等差数列のある項の数の前半部分の数とをこの順に配列したものである場合について考える。
このとき、各部分数列は、等差数列の第x項Cxの後半k−1桁の部分と、区切り符号Zと、等差数列の第x+1項Cx+1の前半m−k+1桁の部分の組み合わせであるとする。
ここでkは、2からm−1の任意の整数である。
kが異なる部分数列は、各部分数列における区切り符号Zの位置が異なるから、明らかに異なる。したがって、以下では、kが等しい部分数列がすべて異なることを示す。
【0093】
Cxを、一桁目からk−1桁目の数Bxと、k桁目からm桁目までの数Axとに分けて考える。Cxはm桁の数であるので、Axはm−k+1桁、Bxはk−1桁の数となる。AxとBxを用いて、等差数列の第x項を表すと、
Cx=Ax*nk−1+Bx (式3)
となる。ただし、本明細書において、記号”*”は、積を表すものとする。
この等差数列の第x+1項は、
Cx+1=Ax+1*nk−1+Bx+1 (式4)
である。
【0094】
例えば、8桁の10進数Cx=12345678について、k=6とすると、Ax=123、Bx=45678であり、
Cx=123*105+45678=12300000+45678
と表せる。
【0095】
(式2)の母数列をAxおよびBxを用いて表すと、
A0B0ZA1B1ZA2B2ZA3B3ZA4B4ZA5B5Z・・・
となる。
ここで、部分数列B0ZA1、B1ZA2、B2ZA3、B3ZA4、B4ZA5・・・が全て異なることを示す。
Zの位置はすべて等しいので、Cxの後半部分BxとCx+1の前半部分Ax+1とがこの順で形成する配列が、Cyの後半部分Byと、Cy+1の前半部分Ay+1とがこの順で形成する配列と異なることを示す。ただし、x≠yである。以下、背理法をもちいて説明する。
【0096】
Cxの後半部分BxとCx+1の前半部分Ax+1が、Cyの後半部分ByとCy+1の前半部分と、それぞれ一致すると仮定する。すなわち、
Bx=By
Ax+1=Ay+1
であると仮定する。
【0097】
この場合、
Cy=Ay*nk−1+By=Ay*nk−1+Bx (式5)
Cy+1=Ay+1*nk−1+By+1=Ax+1*nk−1+By+1 (式6)
が成り立つ。また、Cy、Cy+1は等差数列の隣接する項であるので、
Cy+1−Cy=r (式7)
である。
【0098】
ところで、(式1)、(式3)および(式4)から、
Cx+1−Cx=(Ax+1*nk−1+Bx+1)−(Ax*nk−1+Bx)=rである。よって、
Bx+1−Ax*nk−1=r−(Ax+1*nk−1−Bx) (式8)
が成り立つ。
【0099】
また、(式5)、(式6)および(式7)から、
Cy+1−Cy=(Ax+1*nk−1+By+1)−(Ay*nk−1+Bx)=r
である。よって、
By+1−Ay*nk−1=r−(Ax+1*nk−1−Bx) (式9)
【0100】
式8の右辺と式9の右辺は等しいので、
Bx+1−Ax*nk−1=By+1−Ay*nk−1
が成り立つ。この式を変形すると、
Bx+1−By+1=(Ax−Ay)*nk−1 (式10)
となるが、Bx、Byはともにk−1桁の数であるので、
Bx+1−By+1<nk−1
である。よって、式10が成り立つのは、
Bx+1=By+1かつAx=Ay (式11)
のときに限られる。
【0101】
ところが、仮定より、
Bx=Byであるので、(式11)のAx=Ayと合わせると、Cx=Cyとなる。しかし、仮定より、x≠yであり、等差数列を構成する各項は異なるので、矛盾する。
よって、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、各部分数列がすべて異なるような母数列を作成できることが証明された。
【0102】
なお、m桁のn進数を用いた場合、部分数列としては、それに区切り符号を加えたm+1個の連続する数を取り出すことで、各部分数列がすべて異なるような組み合わせとすることができる。当然、m+1個以上の連続する数を部分数列として取り出した場合にも、各部分数列はすべて異なる。
【0103】
公差は、m桁n進数で表される数の総数であるnmと互いに素である数または1のいずれかとすることが好ましい。これにより、等差数列の項数が最大となるため、母数列の長さを最大とすることができる。なお、ここで等差数列というとき、各項は与えられた桁数の範囲内で表し、与えられた桁数以上に繰り上がる場合には、繰り上がる桁の数は切り捨てるものとしている。
【0104】
例えば、図4において示した母数列90は、2進数3桁で公差が1の等差数列の項と、区切り符号である2を交互に並べて作成したものである。
これに対して、2進数3桁で公差が3の等差数列の項と区切り符号である2を交互に並べて作成した母数列は以下のようになる。
20002011211020012100211120102101
この母数列に用いた等差数列の公差である”3”は、2進数3桁の数の総数である23、すなわち8と互いに素であり、この母数列の長さは図4において示した母数列90と同じである。
【0105】
一方、2進数3桁で公差が2の等差数列の項と区切り符号である2を交互に並べて作成した母数列は以下のようになる。
2000201021002110
この母数列に用いた等差数列の公差である”2”は、2進数3桁の数の総数である23、すなわち8と互いに素ではなく、この母数列の長さは図4において示した母数列90より短くなる。
【0106】
等差数列と区切り符号を用いることにより、所望の長さ、所望の基数、所望の公差でさまざまなバリエーションをもった母数列を作成することができる。また、等差数列の各項は、算出可能である。よって、例えば各セクションの連続コード中の位置を知りたい場合に、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照したりする必要がない。
【0107】
また、等差数列の項と区切り符号とを交互に並べた母数列において、各最小データ単位をエレメントで表現すると、等差数列の各項を表現するエレメント群と、区切り符号を表現するエレメントが交互に配置されたパターンとなる。すなわち、このような母数列をデータとして作成した連続コードは、2個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという連続コード形成の規則に従って形成されることになる。これにより、コード認識装置が連続コードを切り出す際、コードの開始点および終端点が不明確であっても連続コード以外の背景画像と連続コードを区別して連続コード部分を切り出すことができる。また、コード認識装置が、パターンの周期と比較して、一の記号や一のエレメントのサイズを認識し、それを利用して各記号やエレメントを読み取ることが可能となる。
【0108】
図5は、等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コード80の例を示す。
図5の連続コード80では、2個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、R、G、Bで表記すると、RGが最小データ単位”0”を、RBが最小データ単位”1”を、それぞれ表す。
【0109】
前述のように、連続コードにおいては、一の「最小データ単位」に対して必ずしも一のエレメントが割り当てられるとは限らず、2以上の異なるエレメントが割り当てられることもある。図5の連続コード80においては、最小データ単位”2”を表すエレメントとして、BGおよびGBが割り当てられている。そして、最小データ単位”2”を表すエレメントを用いる際、隣接するセルと色が異なるように、BGおよびGBのいずれかを選択して用いる。このように、隣接するセルの色が必ず異なるように彩色セルの配列を定めることで、例えばセルの大きさが異なる場合でも、コードコード認識装置によって、一のセルの範囲を検出することができる。
【0110】
図5の連続コードでパターンとして変換される対象であるデータ列84は、2進数3桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。図5においては、データ列84のうち、区切り符号94である”2”を点線で囲んで示している。この母数列においては、異なる先頭位置から連続する4個の数からなる部分数列96は、すべて異なる。このように、m桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列においては、異なる先頭位置から連続するm+1個の数からなる部分数列が、すべて異なる。
【0111】
したがって、m桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列の各データ最小単位をそれぞれエレメントに変換した連続コードにおいては、異なる先頭位置から連続するm+1個のエレメントを含むセクションがすべて異なる。図5の連続コード80においては、異なる先頭位置から連続する4個のエレメントからなるセクション98が表現するデータがすべて異なる。
【0112】
図5の連続コード80は、3個の赤いセルが一つおきに配置され、続いて赤以外のセルが連続して3個配置されるという規則にしたがって形成されている。図5の連続コード80においては、この規則的なパターンが8個のセル、すなわち4個のエレメントを一単位として周期的に繰り返されるようセルの配列が定められている。
【0113】
図6(a)(b)は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コード80の別の例を示す。この連続コード80は、本発明と出願人が同じである特許文献2で開示されている1.5Dカラービットコードを用いて表現されている。
【0114】
1.5Dカラービットコードでは、一の数字を、三本の帯状の領域を含む記号によって表す。各帯状の領域に付される色はあらかじめ決められており、各帯状領域の各部分が、決められた色で彩色されているオン状態と彩色されていないオフ状態のいずれかをとる。三本の帯状領域のうち、一度にオン/オフ状態が切り替わるのは一の領域のみであり、一の記号において、オン/オフ状態は二回切り替わる。このような記号を、隣の記号と連続するよう配列することで、全体としても三本の帯状領域のオン/オフ状態によるパターンが形成される。開始点から三本の帯状の領域をたどっていき、各領域でオン/オフ状態が切り替わる順番のみ検出することにより、各記号を認識することができる。1.5Dカラービットコードは、寸法、形状の歪みやぼけ、ブレなどに強いという性質を有する。
【0115】
図6(a)は、最小データ単位である”0”、”1”、”2”、”3”、”4”、”Z”を表現する記号であるエレメント、および開始位置を表すスタート記号を示す。”0”から”4”の各最小データ単位については、それぞれ二通りのエレメントが準備されている。これにより、各最小データ単位をパターンに変換する際に前のエレメントに応じて用いるエレメントを適宜選択し、各エレメントと隣のエレメントとが、その境界でオン状態となる帯状領域を共有するような配列とすることができる。
【0116】
図6(b)は、下段にパターンとして変換される対象であるデータ列84を、上段に、データ列84を図6(a)の記号体系にしたがって変換し、パターンとして表現した連続コード80を示す。
図6(b)の連続コード80では、地色の他に2色を用いて、一番上の帯状領域と下の帯状領域を同一色で、真ん中の帯状領域をその色とは異なる色で示している。
【0117】
図6(b)のデータ列84は、5進数2桁の等差数列の各項と、区切り符号”Z”とを交互に配列することによって作成した母配列である。このデータ列84においては、異なる先頭位置から連続する3個の符号からなる部分配列は、すべて異なる。したがって、図6(b)の連続コード80においては、異なる先頭位置から連続する3個のエレメントからなるセクション98は、すべて異なる。
【0118】
図6(b)の連続コード80において、区切り符号”Z”を表現するエレメントを、点線で囲んで示している。1.5Dカラービットコードにおいては、一度に1個所の帯状の領域の色彩がオン/オフされる。この連続コード80は、そのような色彩がオン/オフされる特徴点を4回はさんで区切り記号が配置されるという連続コード形成の規則に従って形成されている。この規則的なパターンは、3個のエレメントを一単位として繰り返し現れる。
【0119】
このように、各帯状領域における色彩のオン/オフの変化のみによってエレメントを追跡可能な構成とすることにより、図6(b)の連続コード80は、寸法、形状の歪みやぼけ、ブレがあっても、連続性や、帯状というトポロジーが保たれていれば、読み取り可能である。したがって、ゆがみやすい物品にコードを付す場合や、印字精度の高くない環境でコードを付す場合でも、読み取り精度の高い連続コードを提供することができる。
【0120】
[一次元ドットコード]
図7は、ドット記号の変位を用いてパターン化した連続コード80の例を示す。図7の下段に示すデータ列84は、2進数4桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。この母配列においては、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なる。
【0121】
図7の連続コード80においては、各記号の所定の基準位置からの変位を用いてデータが表現されている。図7の例においては、この変位は、二段階に量子化されている。すなわち、最小データ単位”0”を表す記号は、基準位置にそのまま配置し、最小データ単位”1”を表す記号は、基準位置からXの正の方向に偏った位置に配置され、最小データ単位”2”を表す記号は、”1”のときよりも大きくXの正の方向に、偏った位置に配置されている。この例においては、一の記号およびその基準位置からの変位が、一のエレメントにあたる。
図7の連続コード80においては、異なる先頭位置から連続する5個のエレメントからなるセクションが表現するデータがすべて異なる。
【0122】
データ列84は、区切り符号”2”が4個の数をはさんで規則的に配置されている。したがって、図7の連続コード80は記号4個おきに、基準位置から最も偏った位置に配置されている記号があらわれるという連続コード形成の規則に従って形成されているといえる。すなわち連続コード80は、5個の記号またはエレメントを一単位として、周期的に、基準位置から最も偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0123】
なお、図7の例においては基準位置からの変位を用いてデータを表現しているが、各記号とその前または後の記号との距離を用いてデータを表現してもよい。図7においては、ドット記号を用いているが、任意の記号を用いてよい。また、複数の記号を用いることにより、データ列84のデータに加えて、さらに別のデータを表現してもよい。
【0124】
以上のように、線状に記号を配置した連続コードを、本明細書において、「一次元連続コード」ともいう。
【0125】
[2次元ドットマトリクスコード]
連続コードを二次元に拡張して、連続マトリクスコードを作成することができる。
図8は、連続マトリクスコードの例として、一次元ドットコードを二次元に拡張したドットマトリクスコード110を示す。このドットマトリクスコード110では、複数のドット記号が格子状に配列されており、各ドット記号は、それぞれ、その記号が配置される基準位置である格子点からの量子化された変位を用いてデータが表現されるよう配置されている。
【0126】
X方向データ列102およびY方向データ列104は、2進数4桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。これら母配列においては、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なる。
【0127】
図8において、各行のドット記号は、図7と同様の手法により、各記号の所定の基準位置からのX方向への変位を用いて、X方向データ列102を表現するよう配置されている。区切り符号として最小データ単位”2”が用いられているため、各行のドット記号の配列は、記号4個おきに、基準位置から最もX方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各行において、5個の記号またはエレメントを一単位として、周期的に、基準位置から最もX方向偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0128】
図8において各列のドット記号は、図7と同様の手法により、各記号の所定の基準位置からのY方向への変位を用いて、Y方向データ列104を表現するよう配置されている。区切り符号として最小データ単位”2”が用いられているため、各列のドット記号の配列は、記号4個おきに、基準位置から最もY方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各列において、5個の記号またはエレメントを一単位として、周期的に、基準位置から最もY方向に偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0129】
別の言葉でいうと、ドットマトリクスコード110を構成する各行は、4個の連続するエレメントを含む標識部と、1個の境界を示すエレメントとが交互に配置されて構成されているということができる。Y方向についても同様に、ドットマトリクスコード110を構成する各列は、4個の連続するエレメントを含む標識部と、1個の境界を示すエレメントとが交互に配置されて構成されている。
【0130】
例えば、図8において、★で示したターゲット106の位置を特定したい場合、ターゲット106に最も近い記号を先頭としてX方向に連続する5個のエレメントを含むセクション108を読み取って復号することにより、その記号の表すX方向位置データが”12001”であることがわかる。前述のように、X方向データ列102において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、X方向の位置を特定することができる。同様に、ターゲット106に最も近い記号を先頭としてY方向に連続する5個の記号を含むセクション112を読み取って復号することにより、その記号の表すX方向位置データが”00120”であることがわかる。そして、Y方向データ列104において、異なる先頭位置から連続する5個の数で構成される部分数列はすべて異なることから、Y方向の位置を特定することができる。
【0131】
[2次元差分マトリクスコード]
図9は、本発明の実施形態にかかる連続マトリクスコードの例として、二次元の複数の記号を含むパターンが格子状に配列されている連続マトリクスコード120を示す。図9の連続マトリクスコード120においては、説明のため、各最小データ単位である数をそのまま数字を用いた記号として示している。すなわち、ここではエレメントと記号とが一対一に対応し、記号はそのままデータである数を表している。
【0132】
図9に示したX方向データ列102およびY方向データ列104は、図8に示したX方向データ列102およびY方向データ列104と同じものであり、説明は省略する。
【0133】
図9の連続マトリクスコード120において、各エレメントである記号は、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前の列のエレメントのうち同じ行のエレメントが示す数との差によって、X方向の最小データ単位を表現している。同様に、各エレメントである記号はそれぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前の行の同じ列のエレメントが示す数との差によって、Y方向の最小データ単位を表現している。なお、上では単に”差”といったが、差が負の値にならないように、例えばmod(modulo)などを用いて調整する。
【0134】
図9において、★で示したターゲット106の位置を特定したい場合を例に説明する。まず、X方向について、ターゲット106に最も近い記号を先頭としてX方向に連続する5個のエレメントを含むセクション122を読み取る。図9では、”12111”である。
【0135】
セクション122のエレメントのうち、先頭の”1”の前の列の同じ行のエレメントをさらに読み取ると”1”であるので、(1−1)mod3を計算することで、先頭の”1”が表すデータは”0”であることが算出できる。セクション122のエレメント”12111”のうち、2番目の”2”の前の列の同じ行のエレメントは、先頭の”1”であるので、(2−1)mod3を計算することにより、2番目の”2”が表すデータは、”1”であることが算出できる。同様に、3番目の”1”が表すデータは、(1−2)mod3より”2”であり、4番目の”1”が表すデータは(1−1)mod3により”0”であり、5番目の”1”が表すデータは、(1−1)mod3により”0”であることが、コード認識装置によって算出できる。
【0136】
このようにしてコード認識装置は、セクション122のエレメントが表す部分数列として、”01200”を特定できる。前述のように、X方向データ列102において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、X方向の位置を特定することができる。
【0137】
同様に、Y方向についても、ターゲット106に最も近い記号を先頭としてY方向に連続する5個のエレメントを含むセクション124を読み取る。図9では、”11211”である。
【0138】
セクション124のエレメントのうち、先頭の”1”の前の行の同じ列のエレメントをさらに読み取ると”1”であるので、(1−1)mod3を計算することで、先頭の”1”が表すデータは”0”であることが算出できる。セクション124のエレメント”11211”のうち、2番目の”1”の前の行の同じ列のエレメントは、先頭の”1”であるので、(1−1)mod3を計算することにより、2番目の”1”が表すデータは、”0”であることが算出できる。同様に、3番目の”2”が表すデータは、(2−1)mod3により”1”であり、4番目の”1”が表すデータは、(1−2)mod3により”2”であり、5番目の”1”が表すデータは、(1−1)mod3により”0”であることが、算出できる。このようにしてコード認識装置は、セクション124のエレメントの表す部分データ列として、”00120”を特定できる。
【0139】
前述のように、Y方向データ列104において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、Y方向の位置を特定することができる。
なお、図9の例では、X方向データ列102およびY方向データ列104として、等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列を用いる例を示した。X方向データ列102およびY方向データ列104として用いる母数列はこれに限られず、異なる先頭位置から開始する所定長の部分数列がすべて異なるような母数列であれば、任意の母数列を用いてよい。例えば、デブルイン数列を用いてもよい。
【0140】
図9の連続マトリクスコード120においては、等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列を用いる例を示した。このような母数列を用いることにより、連続マトリクスコード120の各行または各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるように構成されてもよい。この場合、コード認識装置は、エレメントの配列を復号することにより、各行または各列が、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるという規則にしたがって形成されているか否か判定できる。
【0141】
図9の例においては、エレメントは、そのエレメントが含まれる列の前の列のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる列の次の列のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとしてもよい。
同様に、図9の例においては、エレメントは、そのエレメントが含まれる行の前の行のそのエレメントに対応するエレメントが示す数との差によって、Y方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる行の次の行のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとしてもよい。
【0142】
図9の連続マトリクスコード120においては、各最小データ単位である数をそのまま数字を用いた記号として示した。この他にも、図9に示したような最小データ単位を、様々な方法でパターンとして表現することにより連続マトリクスコード120を作成することができる。
例えば、エレメントは、各数字を表す記号に置き換えられて表現されてもよい。
また、エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていてもよい。
また、エレメントは、光学的に認識可能な記号に限らず、磁気により認識可能な記号を用いて表わされてもよく、この他にも様々の方法で表現されうる。
【0143】
図9の連続マトリクスコード120のように、前後に位置するエレメントの差を用いてデータを表すことにより、一定範囲の数字のみ用いて、XY方のデータ列を表現することができる。すなわち、使用する数字の数を、データ列で用いられている数字の数にとどめることができる。
【0144】
[連続マトリクスコードの変形例]
なお、図8のドットマトリクスコード110および図9の連続マトリクスコード120において、各行が表すX方向の位置情報はすべて同じであり、各列が表すY方向の位置情報はすべて同じである。したがって、上述の例においては、ターゲット106に最も近い記号を先頭としてX方向に連続する5個の記号を含むセクションを読み取ったが、最も近い記号の属する列の任意の記号を先頭としてX方向に連続する5個の記号を含むセクションを読み取っても同じ結果がえられる。Y方向についても同様である。これにより、例えばターゲット106が記号を覆い隠しているような場合にも、そのターゲット106の位置を特定することができる。
【0145】
さらに、図8のドットマトリクスコード110および図9の連続マトリクスコード120においては、X方向とY方向について、同じデータ列を用いてパターンを作成する例を示したが、X方向とY方向について、異なるデータ列を用いてもよい。例えば、X方向は、等差数列の各項と区切り符号とを交互に配列したデータ列を用い、Y方向ではデブルイン数列をデータ列として用いてもよい。
これにより、X方向とY方向とで、異なる連続コード形成の規則に従ってパターンが表現されるため、コード認識装置が容易にX方向とY方向とを判別することができる。
【0146】
本明細書において、特に断らないかぎり、「連続コード」とは、一次元連続コードと連続マトリクスコードとの両方を指すものとする。
【0147】
[切り出しアルゴリズム]
前述のように、連続コードは、コード認識装置が一回のスキャンでとらえることのできる範囲よりも長い、あるいは広い範囲にわたることが想定され、通常は、コード認識装置の検出ウィンドウに連続コード全体の始点および終点がふくまれず、画面中に含まれる記号の数も不定であるため、一の記号のサイズを特定することが難しい。このような場合であっても、連続コードを、連続コードを切り出すためのアルゴリズムの切り出し判定条件にしたがうよう構成することで、コード認識装置が連続コードを、より容易に連続コード以外の部分背景画像と区別して検出し、抽出することができる。
【0148】
連続コードを切り出すためのアルゴリズムの切り出し判定条件としては、たとえば、彩色セルの配列を含むコードについて、本発明と発明者および出願人が同じである特許文献3で開示されているように、一のセルの周囲が、白色−他色−白色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。また、ここで白色とは、彩色セルに用いられる色以外の色を、その代表色である白色と表現している。
【0149】
また、彩色セルの配列を含むコードにおいて、各セルがいわゆる飛び石状になっており、各セルが接していないことも考えられる。その場合は、各セルの領域を拡張して、上記の切り出し判定条件を適用してもよい。
【0150】
[クワイアットゾーン]
連続コードを取り囲むように、彩色セルやマークなどの記号に用いられる色以外の色から選択した一の色彩を付した領域を設けてもよい。以下、この領域をクワイアットゾーンといい、クワイアットゾーンに付す一の色彩を、スペース色とよぶ。
クワイアットゾーンは、たとえば、連続コードを構成する各セルの重心を一定位置にとどめたまま、各セルを一定比で拡大したときに覆われる領域を外縁としてもよい。
クワイアットゾーンを設けることにより、コード認識装置が、背景画像と連続コードの境界部分を認識することができるため、より簡単な手順で背景画像と区別して連続コードを切り出すことができる。
【0151】
連続コードの周りにクワイアットゾーンを付した場合、連続コードを切り出すためのアルゴリズムの切り出し判定条件として例えば、本発明と発明者および出願人が同じである特許文献3で開示されている条件を用いてもよい。すなわち、彩色セルの配列を含むコードにおいて、一のセルの周囲がスペース色−他色−スペース色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。
【0152】
[検出マーク]
上述の切り出し判定条件として、コード認識装置が連続コードを、連続コード以外の部分である背景画像と区別して検出し、抽出するための検出マークが付されていることを条件としてもよい。
【0153】
図10(a)〜(c)は、検出マークを付した一次元連続コードの例を示す。図10(a)および(c)においては、データ列84として、2進数デブルイン数列の一を用いている。このデブルイン数列では、異なる先頭位置から開始する連続する4桁の数字からなる部分数列が互いにすべて異なる。
【0154】
図10(a)は、記号●、上向き三角記号、下向き三角記号の3種類の記号の配列により表現された連続コード80の片側に検出マーク130aを、反対側に130bをそれぞれ付した例である。この連続コード80では下向き三角記号および上向き三角記号が、最小データ単位である”0”、および”1”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すエレメントでもある。記号●は、チェック用記号であり、この連続コード80は、一つおきにチェック用記号を配置するという規則にしたがって構成されている。検出マーク130aは、二本の直線を含み、検出マーク130bは一本の直線を含む。
【0155】
このように、一次元連続コードにおいて上下非対称な検出マークを付すことにより、コード認識装置が読み取り方向を特定することができる。また、連続コード80に、上向き三角記号と下向き三角記号のように上下方向が定まらないと、その表す最小データ単位が一意に決まらない記号を含まれている場合でも、コード認識装置がそれらの記号を認識することができる。
【0156】
図10(b)は、別の検出マーク132を示し、図10(c)は、この検出マーク132を付した連続コード80の例を示す。検出マーク132は、同じサイズの方眼の連続として構成される。図10(c)の連続コード80は、太さの異なる縦線を記号として用いており、細い線が0、太い線が1を表している。この連続コード80は、検出マーク132を含むよう構成されており、コード認識装置は、検出マーク13を利用して連続コード80を特定し、切り出すことができる。
【0157】
図11は、図9に示した連続マトリクスコード120に、直線で表された検出マーク134を付した例を示す。この例では、n行ごとに1本の検出マーク134が付される。すなわち、n行ごとに分けられた記号のグループが、連続マトリクスコード120を特定可能とするための検出マーク134を、それぞれ含んで形成されている。n行ごとに分けられたエレメントのグループが、それぞれ検出マーク134を含んで形成されているともいえる。図11においては、nを2として、2行ごとに1本の検出マーク134を付した例を示している。ただし、nは自然数である。
【0158】
図12は、図8に示したドットマトリクスコード110において、各ドット記号を検出マーク136である上向き三角記号で表した例を示す。X方向データ列102およびY方向データ列104は、図8において説明したX方向データ列102およびY方向データ列104と同じである。この例では、記号のそれぞれが、ドットマトリクスコード110を特定可能とするための検出マーク136としても用いられている。
【0159】
この他にも、例えばドットマトリクスコード110が、さらにドットの基準位置を示すような検出マーク136を含むように構成されてもよい。これにより、コード認識装置がドットの基準位置を直接認識することが可能となる。
【0160】
このように、検出マークを付し、またはエレメントや記号のグループに検出マークを含めることで、より容易に、連続コードを背景画像から区別して検出し、抽出することができる。また、検出マークを付すことで、コード認識装置が連続コードの1個の記号のサイズをより確実に認識することが可能となり、個々の記号を切り出すことができる。また、連続マトリクスコードにおいては、XY方向で非対称となるような検出マークを付したり、記号やエレメントまたはそのグループに、XY方向で非対称である検出マークを含めることにより、コード認識装置がXY方向を特定することが可能となる。
【0161】
[セクション認識処理]
図13は、図1のコード認識装置100が、実施形態にかかる連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。以下、図1も参照しながら説明する。なお、以下のセクション認識処理の説明においては、認識対象の連続コードが彩色セルの配列で構成され、一の彩色セルが一の記号に該当する例を想定しているが、他の構成の連続コードの場合についても、同様の手順により、セクション認識処理を行うことができる。
【0162】
まず、読み取り部12の入力部14が、連続コード80を含む場面を撮像する(S10)。撮像データに対して、量子化部16が画像をN値化したり、領域分割するなどの前処理を行い、位置コード抽出部24に処理した画像データを送る。位置コード抽出部24の位置コード切り出し条件判定部26は、画像データ中の連続コードである可能性がある領域について、あらかじめ定められた検出マークの有無や所定の連続コード形成の規則などの連続コード切り出し条件を満たすか否か判定する。切り出し条件をみたすと判定された場合、位置コード切り出し処理部28が、画像データの該当部分を位置コードと認識して切り出し(S12)、セクションデータ取得部30に送る。
【0163】
セクションデータ取得部30のセル認識部32は、切り出されたパターンから、あらかじめ定められた記号を認識するための記号判定条件にしたがう部分を記号として認識し、また各記号の種類を識別する(S14)。ここで、記号判定条件から外れるパターンは排除される。
【0164】
エレメント認識部34は、認識された記号群から、あらかじめ定められたエレメント構成規則にしたがう記号や記号の配列をエレメントとして認識し、各エレメントを識別する(S16)。エレメント構成規則は、エレメントを構成する記号の数や、その組み合わせなどを規定する規則である。このステップにおいて、セル認識部32によって認識された記号のうち、エレメント構成規則からはずれる記号が排除される。
【0165】
セクションデータ取得部30のエレメント復号部36は、認識されたエレメントを、エレメントと最小データ単位とを対応づける規則に基づいて、それぞれ最小データ単位に復号する(S18)。
【0166】
セクションデータ取得部30のセクション選択部38は、最小データ単位の配列からなるセクションデータのいずれかを選択する(S20)。具体的には、セクション選択部38が、最小データ単位の配列から一の最小データ単位を指定し、最小データ単位とセクションデータとを関連づける規則にしたがって、指定された最小データ単位と関連づけられる一のセクションデータを選択する。
【0167】
一の最小データ単位を指定する際には、例えば、一の撮像画像中の認識されたエレメントを復号してなる最小データ単位の配列において、先頭からn番目の最小データ単位を指定することとしてもよく、最小データ単位の配列の先頭からkパーセントにあたる位置にある最小データ単位を指定することとしてもよい。ここでnは自然数であり、kは0以上100以下の数である。
【0168】
最小データ単位とセクションデータとを関連づける規則は、ある一の最小データ単位に対して、その最小データ単位が属するセクションデータのうちいずれか一のセクションデータを関連づける規則である。例えば、ある最小データ単位に対して、その最小データ単位が先頭に位置するセクションデータが関連づけられてもよく、その最小データ単位が中心に位置するようなセクションデータが関連づけられてもよい。
【0169】
セクション選択部38は、一の最小データ単位を指定する代わりに、複数の最小データ単位を指定することで、一のセクションデータを選択してもよい。この場合、最小データ単位とセクションデータとを関連づける規則は、複数の最小データ単位と、一のセクションデータを関連づける。例えば、指定された複数の最小データ単位と、それら複数の最小データ単位を全て含むセクションデータとが関連づけられてもよく、指定された複数の最小データ単位と、それら複数の最小データ単位のうちより多くの最小データ単位を含むセクションデータとが関連づけられてもよい。
【0170】
このように、各エレメントを復号して数値データとした後にセクションデータを選択することで、扱うデータ量を減らすことができ、より効率的かつ迅速に処理を行うことができる。
【0171】
なお、図13のフローチャートにおいて、ステップ18と、ステップ20とは入れ替え可能である。すなわち、セクション選択部38がセクションを選択した後に、エレメント復号部36が、選択されたセクションに属するエレメントをそれぞれ復号することで、セクションデータが取得されてもよい。
【0172】
この場合、セクション選択部38は、認識されたエレメント群から、一のエレメントを指定し、エレメントとセクションとを関連づける規則にしたがって、指定されたエレメントと関連づけられる一のセクションを選択する。
【0173】
エレメントを指定する際には、撮像画面中の位置を指定することで、その位置に捕らえられたエレメントを指定してもよい。例えば、画像中の位置をピクセル単位で指定したり、画面の端からkパーセントにあたる位置などと指定したりして、その位置を含む領域を占めるエレメントを指定してもよい。ここで、kは0以上100以下の数である。
また、撮像画面中の連続コード以外のオブジェクトとの関係によりエレメントを指定してもよい。例えば、撮像画面中に含まれるターゲット識別コードとの距離が最短であるエレメントを指定することとしてもよい。
【0174】
エレメントとセクションとを関連づける規則は、ある一のエレメントに対して、そのエレメントが属するセクションのうちいずれか一のセクションを関連づける規則である。例えば、あるエレメントに対して、そのエレメントが先頭に位置するセクションを関連づけたり、そのエレメントが中心に位置するようなセクションを関連づけたりする。
【0175】
セクション選択部38は、一のエレメントを指定する代わりに、複数のエレメントを指定してもよい。この場合、エレメントとセクションとを関連づける規則は、複数のエレメントに対して、一のセクションを関連づける。例えば、指定された複数のエレメントと、それら複数のエレメントを全て含むセクションが関連づけられてもよく、指定された複数のエレメントと、それら複数のエレメントのうち、より多くのエレメントを含むセクションが関連づけられてもよい。
【0176】
このように、数値データに変換する前の画像データの段階でセクションの指定を行うことで、画面中での位置や、位置コード以外のオブジェクトとの関係なども考慮して、データを読み取るべきセクションを指定することが可能となる。
【0177】
セクション取得部分30はまた、一のセクションデータと他のセクションデータとを比較して、それらが連続コード形成の規則にしたがっているか検証することで、切り出したパターンが、確かに目的とする連続コードであるか否かを確認してもよい。
なお、上記セル認識処理、エレメント認識処理、エレメント復号処理、セクション選択処理において用いられる認識条件や排除条件は、後述するように、画面中の位置、他の記号との位置関係などにもとづいて、適宜変更されて、適用されてもよい。
以上の手順で選択されたセクションに関する情報は、位置情報取得部50に送信される。
【0178】
[一定数以上連続する記号を切り出し]
連続コードを切り出すためのアルゴリズムの切り出し判定条件として、一の検出ウィンドウ中での、記号またはエレメントの最低連続数を閾値として設定してもよい。これにより、背景画像に写っている連続コードに類似する画像などの、意味のある情報を持たないノイズを排除することができる。
【0179】
最低連続数は、例えば、一のセクションに含まれる記号またはエレメントの数としてもよい。
また、連続コードが画面よりも広い範囲にわたって付される場合が多いことを考慮して、コード認識装置100の検出ウィンドウと、連続コードを構成する記号のサイズのバランスから、最低連続数を決定してもよい。この場合、使用状況を想定して、経験や実験をもとに事前に最低連続数を設定してもよい。また、撮像のたびに、カメラと連続コードの距離が異なるような場合、撮像の都度、コード認識装置が画面中に検出された記号のサイズの平均等を用いて最低連続数を設定してもよい。後者の場合、例えば、コード認識装置は、画面中に検出される記号のサイズの平均を算出し、その平均サイズの記号が一のスキャン画面の短い辺の長さを占める個数を、最低連続数として設定してもよい。
【0180】
このように、記号やエレメントが一定数以上連続することを切り出し判定条件とすることにより、コード認識装置100の位置コード抽出部24が、連続コード以外の背景画像中の紛らわしい画像と、連続コードとを区別して検出し、抽出することができる。
【0181】
[画像ゆがみやボケへの対応]
上述のように、コード認識装置100のセクションデータ取得部30のセル認識部32は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。しかしながら、コード認識装置100の検出ウィンドウの端などにおいては、画像のゆがみ等により、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。また、ピントがあっていないため、例えば画像をN値化した際に、各記号のサイズにバラツキが出てしまい、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。
【0182】
このため、コード認識装置100の位置コード切り出し条件判定部26やセル認識部32によって、連続コードの一部であると判定されなかった記号であっても、連続コードに属すると判定された記号との位置関係が所定の条件を充たす場合、すなわち連続条件をみたす場合には、連続コードの一部であると判定されるよう定めてもよい。具体的には、連続コードの一部であると判定されなかった記号について、画面中で近傍に連続コードに属すると判定された記号がある場合には、位置コード切り出し条件判定部26またはセル認識部32が、その記号を連続コードの一部であると判定する。
【0183】
ここで、「近傍」であるか否かは、たとえば、記号間距離が相互に連続すると見なしてよいと考えられる基準距離以下であることを条件として判定してもよい。例えば記号の中心間の距離をとる場合、記号の平均サイズの1.5倍を基準距離としてもよい。基準距離はこの他にも、実験または経験により定めてよい。
【0184】
これにより、実際には連続コードの一部である記号が、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて連続コードを構成しないと判定されてしまった場合でも、連続コードに連続していると考えられる場合には、連続コードの一部であるとして、その情報を取得することができる。
【0185】
[画面中の切り出し範囲限定]
上述のように、コード認識装置は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。この際、連続コードの使用目的によっては、コード認識装置100の入力部14の検出ウィンドウの所定範囲のみ考慮すれば足りることもある。たとえば図24の冊子の例だと、連続コードは通常画面下に現れる。そこで所定の範囲として画面の下半分とすればよい。
【0186】
一般に、ターゲットの存在形態やターゲットが置かれる姿勢に応じて連続コードの画面内位置が想定できる場合がある。ターゲットが縦長であったり、複数のターゲットが横方向に並べられているような場合には、ターゲットの上や下に横方向の連続コードがありうるので、画面の下ないし上を所定の範囲とすればよい。また、ターゲットが横長であったり、複数のターゲットが縦方向に並べられているような場合には、ターゲットの右や左に縦方向に連続コードが付されうるので、画面の左ないし右を所定の範囲とすればよい。このように、ターゲットの存在形態やターゲットが置かれる姿勢に応じて想定できる連続コードの画面内位置を含む領域を、連続コード検出の対象領域とすればよい。
【0187】
このような場合、コード認識装置は、その検出ウィンドウの所定の範囲内において検出した記号のみについて、連続コードとして扱えばよい。したがって、コード認識装置100の位置コード切り出し処理部28は、検出ウィンドウの所定の範囲内において検出した記号のみについて、切り出し判定条件や、連続条件をみたすか否か判定する。
【0188】
これにより、不必要な部分についてまで、連続コードが存在するか否か、探索する処理を削減することができ、処理スピードを速めることができる。また、CPUやメモリなどのリソースを有効に使うことができる。
【0189】
[サイクル識別標示]
前述の一次元連続コードは、例えばデブルイン数列の長さや、等差数列の項数などによって定まる長さに限定されるが、一次元連続コードを複数連結することにより、連続コードの長さを所望の長さに延長することができる。
同様に、前述の連続マトリクスコードも、例えばデブルイン数列の長さや、等差数列の項数などによって定まる範囲に限定されるが、連続マトリクスコードを複数連結することにより、連続コードの範囲を所望の範囲に拡大することができる。
【0190】
前述のように、連続コードにおいては、異なる先頭位置から連続する所定数のエレメントからなるセクションはすべて異なるが、同じ連続コードを複数連結する場合、繰り返しの単位であるサイクルのうちの一のサイクル中の一のセクションと、別のサイクル中の一のセクションとが表すデータが同じである場合も生じる。このような場合、コード認識装置は、一のセクションを一意に識別できない。
以下では、同じ連続コードを複数連結して用いる場合の繰り返しの各サイクルを識別するためのサイクル識別標示について説明する。
【0191】
図14(a)および(b)は、それぞれ、母数列140を繰り返し用いたデータ列84を、記号の配列によるパターンとして表現した連続コード80の例を示す。ここで、母数列140は、2進数2桁の等差数列の各項00、01、10、11と、区切り符号”2”とを交互に配列することによって作成した数列”200201210211”である。母数列140においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。
【0192】
図14(a)(b)においては、この母数列140を繰り返し用いることにより作成した、より長いデータ列84の一部が示されている。
図14(a)(b)の連続コード80では、最小データ単位である”0”、”1”、”2”をそれぞれ記号○、◆、☆を用いて表すことで、データ列84をパターンとして表現している。
【0193】
図14(a)の連続コード80には、画像内に写っている線分の数によって各サイクルを識別可能であるように構成されたサイクル識別標示が付されている。図14(a)の例においては、サイクル識別標示142a、142b、142c、142dが、図10に示した検出マークの上側に、それぞれのサイクルに属する記号に対応づけられて付されている。図14(a)において記号とエレメントは一致するので、サイクル識別標示142a、142b、142c、142dは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【0194】
図14(b)は、繰り返しの単位である各サイクルを識別するための別のサイクル識別標示144a、144b、144c、144dを付した連続コード80の例である。サイクル識別標示144a〜dは、連続コード80の、それぞれのサイクルに属する記号に対応づけられて、記号を取り囲むように、各サイクルによってそれぞれ異なる一色で彩色された領域を付すことにより、表現されている。
図14(b)において記号とエレメントは一致するので、サイクル識別標示142a、142b、142c、142dは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【0195】
なお、図14(a)(b)のサイクル識別標示は、連続コード80を切り出すための検出マークも兼ねている。このように、検出マークとサイクル識別標示を一のマークで表現することで、コード認識装置による読み取り手順を簡易化し、またスペースを有効に活用することができる。
【0196】
図15は、母数列を繰り返し用いた長いデータ列をX方向とY方向に用いて、図9に関連して説明した方法と同様の方法により表現した連続マトリクスコード120の例を示す。ここで、X方向母数列146およびY方向母数列148は、2進数2桁の等差数列の各項00、01、10、11と、区切り符号”2”とを交互に配列することによって作成した数列”00201210211”である。この数列においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。
図15においては、このX方向母数列146およびY方向母数列148を繰り返し用いることにより作成した、より長いX方向データ列102およびY方向データ列104の一部を示している。
【0197】
図15の連続マトリクスコード120では、図9に関連して説明したように、各エレメントは、それぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、X方向の最小データ単位を表現している。同様に、各エレメントはそれぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、Y方向の最小データ単位を表現している。なお、上では単に「差」といったが、差が負の値にならないように、例えばmodなどを用いて調整している。
図15の連続マトリクスコード120においては、各最小データ単位である数をそのまま数字を用いた記号として示している。
【0198】
図15の連続マトリクスコード120においては、繰り返しの単位である各グループを識別するためのグループ識別標示として、それぞれのグループに属する記号の背景が各グループによって異なる色で彩色されている。
【0199】
一般的に、異なる先頭位置から連続する所定長の部分数列が全て異なるような母数列の長さは、用いる数の基数や、部分数列の長さによって限定される。より長い母数列を作成したいときには、用いる数の基数を大きくするか、部分数列の長さを長くする必要がある。
連続コードを複数連結し、サイクル識別標示またはグループ識別標示を付すことにより、用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【0200】
[サイクル識別パターン]
図16は、繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表している連続コード80の例である。この連続コード80では、元の連続コードを3個連結して、より長い連続コードを作成したものであるが、同一の数を表すのに各サイクルにおいて異なった色彩配列をもつエレメントを採用している。
連続コード80a、80b、80cは、それぞれ、連続コード80の第一サイクル、第二サイクル、第三サイクルの一部を示している。
【0201】
図16の連続コード80では、データ列84として、デブルイン数列”00001001101011111”を3個連結したデータを用いている。図16においては、各サイクルにおけるデブルイン数列の初めの部分のみをデータ列84として示している。
この連続コード80では、記号として、赤、緑、または青で彩色されたセルの色の配列によりデータが表現され、5個のセルが一のエレメントを構成する。以下においては、配列の説明のため、赤、緑、青のセルをそれぞれ、R、G、Bで表記する。
【0202】
第1のサイクルでは、RBGBGの順にセルが配列されたエレメントが最小データ単位”0”を、RGBGBの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第1のサイクルにおいて、連続コード80は、4個のセルを挟んで、赤いセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0203】
第2のサイクルでは、GRBRBの順にセルが配列されたエレメントが最小データ単位”0”を、GBRBRの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第2のサイクルにおいて、連続コード80は、4個のセルを挟んで、緑のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0204】
第3のサイクルでは、BGRGRの順にセルが配列されたエレメントが最小データ単位”0”を、BRGRGの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第3のサイクルにおいて、連続コード80は、4個のセルを挟んで、青のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0205】
図16の連続コード80では、各データ単位を表現するために用いられるエレメントが、連続コードの繰り返しの単位である各サイクルによって異なるように定められている。このように、各サイクルによって、数を表現する記号の配列を変えることにより、コード認識装置が各サイクルを識別することが可能となる。
同様の方法により、二次元連続マトリクスコードにおいても、連続コードの繰り返しの単位である各グループによってエレメントが異なるようにパターンを形成することができることは、当業者に理解されるところである。
【0206】
このように、連続コードを複数連結し、連続コードの繰り返しの単位である各サイクルまたはグループによって、同じデータを表現するのにエレメントを変えることで、連続コードに用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【0207】
[サイクル識別手順]
図17は、図1のコード認識装置100が、抽出された連続コードのセクションと、サイクル識別表示とにもとづいて、そのセクションの位置を算出する手順を示すフローチャートである。このセクションの位置を算出する処理は、図13のフローチャートで示したセクション認識処理の結果を受けて、位置情報取得部50において実行される。以下、図1も参照しながら説明する。
【0208】
位置情報取得部50は、セクションデータ取得部30から、セクションに関する情報を取得する(S30)。位置情報取得部50の位置情報特定部52は、取得したセクションについて、サイクル内での位置を特定する(S32)。例えば、セクションの表すデータがデブルイン数列の一部である場合には、前もって準備したテーブルを参照することで位置を特定し、セクションの表すデータが等比数列の項と区切り符号を組み合わせた母数列の一部である場合には、計算により、位置を特定する。
【0209】
サイクル情報特定部54は、位置コード抽出部24またはセクションデータ取得部30から、セクションのサイクル情報を取得する(S34)。そして、前もって準備したテーブルなどを参照することにより、そのサイクルの位置を特定する(S36)。
【0210】
座標算出部56は、取得したセクションの位置およびそのセクションの属するサイクル位置に関する情報にもとづいて、セクションの位置を算出する(S38)。セクションの位置は、例えば、あらかじめ定めた座標上の位置として算出してもよい。
【0211】
[環状コード]
図18は、一次元連続コードを環状に配置した、環状連続コード150の例を示す。環状連続コード150は、連続コード80の先頭の記号と、後尾の記号とが隣接するよう配置することにより作成される。図18の例では、データ列84としては、2進数デブルイン数列の一つである数列”0000100110101111”を環状に配置したデータ列を用いている。この数列では、異なる先頭位置から開始する連続する4桁の数字が互いにすべて異なる。
環状連続コード150では、データ列84を記号●、上向き三角記号、下向き三角記号の3種類の記号を用いて、パターン化している。下向き三角記号であるエレメントが最小データ単位”0”を、上向き三角記号あるエレメントが最小データ単位”1”を表す。記号●は、チェック用記号である。
【0212】
このように、環状に配置することで、タイヤやギアなどの円盤状やドーナツ状の物体の回転角度や位相を、環状連続コード150を用いて検知することができる。
なお、環状連続コード150の形状は円形に限られず、トポロジーとして、先頭と終端の記号が隣り合うように配置されていればよい。このように配置することで、何度も同じコースを周回しながらコードを読み取るような場合にも、コードの不連続部分、すなわち情報の空白部分を生じさせることなく、各位置に情報を記録することが可能となる。
【0213】
図19は、連続マトリクスコードを環状に配置した、環状マトリクスコード160の例を示す。環状マトリクスコード160は、連続マトリクスコードの先頭の列と後尾の列とが隣接するよう配置することによって作成される。
【0214】
図19の環状マトリクスコード160は、記号○、◆、☆が、それぞれ最小データ単位”0”、”1”、”2”を表現している。元データとしては、X方向、Y方向ともに母数列として、2進数2桁の等差数列の各項”00”、”01”、”10”、”11”と、区切り符号”2”とを交互に配列することによって作成した数列”00201210211”を用いている。この母数列においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。そして、図9に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、X、Y方向の各最小データ単位を表現している。なお、差が負の値にならないように、例えばmod演算などを用いて調整している。
【0215】
図20は、連続マトリクスコードを環状に配置した、環状マトリクスコード160の別の例を示す。元データ、記号については、図19と同じものを用いている。図20においては、環状マトリクスコード160を円筒形状の内側に配置している。
なお、環状連続コード150の形状は図19および20に示した円筒状に限られず、トポロジーとして筒状であればよく、先頭と終端の列または行が隣り合うように配置されていればよい。
このように連続マトリクスコードを環状に配置することで、例えば、幅をもつ回転体の回転角度や位相と、回転軸方向の位置の両方を検知することができる。また、ベルトコンベヤのベルトなど、始端および終端の存在しない面上における位置を、自動認識技術により特定することができる。
【0216】
[埋め込み]
連続コード80が配設されている領域に、連続コード80が表現するデータとは別のデータを記録する情報コードを埋め込むことができる。
【0217】
図21(a)は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列84の例を示す。このデータ列84は、2進数3桁で公差が1の等差数列と区切り符号を組み合わせることにより作成した母数列”0002001201021121・・”(以下、位置データとよぶ)に、別のデータ(以下、埋め込みデータとよぶ)を埋め込んだ例である。図21(a)の位置データにおいては、数字の”2”を区切り符号94として用いており、図では区切り符号94を実線の長方形で囲んで示している。埋め込みデータは、点線で囲んで示している。このデータ列84では、位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。図21(a)のデータ列84は、区切り符号94が数7個おきに配列されているという規則に従って形成されている。
【0218】
コード認識装置100は、区切り符号94を利用し、また予め定められた埋め込みデータ配置規則にもとづいて、位置データと埋め込みデータを区別して抽出することができる。
【0219】
図21(b)は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターン変換前のデータ列84の別の例を示す。
このデータ列84は、デブルイン数列の一つ”0000100110101111”(以下、位置データとよぶ)に、別のデータ(以下、埋め込みデータとよぶ)を埋め込んだ例である。埋め込みデータの最小データ単位は、点線で囲んで示している。位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。位置データは、数0、1を用いて表され、埋め込みデータは、数2、3を用いて表されている。
【0220】
図21(b)のように、区切り符号がない場合でも位置データと埋め込みデータとを、それぞれ異なる数を用いて表すなど、位置データと埋め込みデータの配列に規則を設けることで、コード認識装置100が、位置データと埋め込みデータを分離して抽出することができる。
図21(a)(b)に示したデータ列84を、前述のまたはその他の様々な方法を用いることでパターン化することで、連続コード80を形成することができる。
【0221】
図22は、連続コードが表現するデータ(位置データとよぶ)とは別のデータを記録する情報コードを埋め込んだ連続マトリクスコード170の例を示す。
位置データのX方向データ列102としては、デブルイン数列の一つ”0000010001100101001・・・”を用いている。位置データのY方向データ列104としては、2進数4桁で公差が1の等差数列と区切り符号”2”を交互に配列した母数列を用いている。そして、図9に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、X、Y方向の最小データ単位を表現している。なお、差が負の値にならないように、例えばmod(modulo)演算などを用いて調整している。
【0222】
図22の連続マトリクスコード170において、位置データは、数0、1、2を用いて、埋め込みデータは、数3、4を用いて表している。また、図を見やすくするため、埋め込みデータを灰色の円で囲んで示している。
【0223】
図23は、図22の連続マトリクスコード170を、線分を用いて読み取りパターン化した連続マトリクスコード120の例を示す。”0”を右下がり斜線で、”1”を左下がり斜線で、”2”を2本の交差する斜線で、”3”を鉛直平行線分で、”4”を水平平行線分で、それぞれ表現している。
【0224】
このように、連続コードに、別のデータを記録する情報コードを埋め込むことで、例えば、位置情報に加えて、別のデータをその位置と関連づけて記録することができる。
【0225】
[ターゲットの位置特定]
連続コードは例えば、複数の物品(以下、ターゲット物体ともよぶ)の近傍に配設され、それらの位置を特定するのに用いられてもよい。この場合、コード認識装置100は、複数の物品にそれぞれ付されたターゲット識別コードと、連続コードを同時にとらえ、それぞれのコードを検出画面上での位置と関連づけながら認識し、複数の物品のそれぞれについて、その位置を特定する。
【0226】
図24は、コード認識装置100の入力部14に入力された画像の例を示す。この画像は、ターゲット識別コード180をそれぞれ背表紙に付した冊子を棚に並べ、その下の棚板に、連続コード80を付した状態を撮像したものである。ここでは、位置を特定すべきターゲット物体は、冊子である。
【0227】
このとき、連続コード80は、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう配設されることが好ましい。これにより、コード認識装置100の検出ウィンドウに、複数のターゲット識別コードと連続コード80とが、無理なく同時に収まる。
【0228】
複数のターゲット識別コードと連続コード80との距離については、各ターゲット識別コードの重心から連続コード80におろした垂線の長さとしてもよく、各ターゲット識別コードの連続コード80に近い側の端から連続コード80におろした垂線の長さとしてもよい。そして、これら垂線の長さの平均や、最大値や最小値、中間値が所定の基準距離よりも短くなるよう連続コード80を配置する。
【0229】
所定の基準距離は、コード認識装置100の検出ウィンドウに複数のターゲット識別コードと、連続コード80が、無理なく同時に収まるように定める。例えば、所定の基準距離とターゲット識別コード長さとの和が、検出ウィンドウの一辺の半分となるように、基準距離を定めてもよい。この他にも、所定の基準距離は、実験または経験により使用状況に応じて、適宜定めてよい。
【0230】
このように、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう連続コードを配設することにより、コード認識装置100が一回の撮像または一回の読み取り動作で、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【0231】
また、連続コードは、複数の冊子が並べられる方向に対して、所定の規則にしたがって配設されることが好ましい。所定の規則は、複数の冊子の位置を連続コード80を用いて特定する際に、複数のターゲット識別コード180の位置が、連続コード80上で互いに区別できるように定める。例えば、複数のターゲットの並ぶ方向と、連続コードが平行になるように、定めてもよい。この場合、複数のターゲット識別コード180それぞれの重心について、最小二乗法によるフィッティングにより求めた線分と、連続コードが平行になるように配設することとしてもよい。所定の規則は、平行からの逸脱をどこまで許容するかを示す許容角度を定めてもよい。許容角度は例えば、45度と定めてもよく、この他にも、実験または経験により、使用状況に応じて適宜定めてよい。
【0232】
これにより、複数のターゲット物体の位置を連続コード80を用いて特定する際に、連続コード80上で多数のターゲット物体の位置が重なって特定されることなく、複数のターゲット物体の位置を区別して認識することができる。
【0233】
また、連続コードは、ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることが好ましい。例えば、ターゲット識別コードが磁気で読み取り可能であれば、連続コードも磁気で読み取り可能な形式で表現し、ターゲット識別コードが光学的に読み取り可能であれば、連続コードも光学的に読み取り可能な形式で表現する。
これにより、コード認識装置100の構成を複雑化することなく、一台のコード認識装置100によって、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【0234】
複数のターゲット物体は、棚、台、箱、ラック、床の一部など、複数の物品を収容可能な領域を備える物品収容場に収容されていてもよい。この場合、連続コードは、物品を収容する領域に並置して付される。これにより、複数のターゲット物体の位置を、連続コードを用いて特定することができる。また、物品収容場の形状や連続コードを付す位置を適宜、調整することにより、ターゲット物体と連続コードの位置関係を所定の基準範囲に収めることができ、効果的にターゲット物体の位置を特定することができる。
【0235】
連続コードは、物品収容場において、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるような領域に付されてもよい。この場合、コード認識装置100は、検出可能な連続コードを認識し、あらかじめ測定しておいた初期状態の検出可能な連続コードの分布と比較することにより、物品の収容状態の変化を特定してもよい。例えば、初期状態においては、多数の物品が収容されることで連続コードが全く検出できない状態であったにもかかわらず、あるとき特定の部分の連続コードが検出可能となったときには、その部分に収容されていた物品が存在しなくなったと判定し、表示画面などに出力することとしてもよい。これにより、複数のターゲット物体の存否を、連続コードを用いて判定することができる。
【0236】
[記号単位で精細位置特定]
エレメントを指定することによりセクションを選択する場合、上述の例においては、ターゲット物体に最も近いエレメントを先頭とするセクションや、ターゲット物体に最も近いエレメントが選択したセクションの中心に位置するようなセクションを選択して読み取るものとした。
これらの例のように選択するセクションを固定せず、その都度適切なセクションを選択することとしてもよい。
【0237】
この場合、コード認識装置100において、まず、ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号またはエレメントのうちの一とが関連づけられる。そして、セクションデータ取得部30のセクション選択部38は、関連づけられた記号またはエレメントを含むセクションのうちの適切なセクションを選択する。適切なセクションの選択にあたっては、例えば、読み取り状態のよいセクションを選択してもよい。読み取り状態のよいセクションとしては、例えば、画像の欠けやゆがみなどの影響が最も少ないセクションを選択することとしてもよい。
【0238】
また、基本的には、ターゲット物体に最も近いエレメントを先頭として、連続する所定個数のエレメントからなるセクションを選択する設定としておき、そのセクションの読み取り状態がよくないときに、関連づけられた記号またはエレメントを含むセクションの中から、読み取り状態のよいセクションを選択することとしてもよい。
【0239】
セクションデータ取得部30は、選択したセクションの示すセクションデータとともに、そのセクションに属する記号のうちターゲット物体に最も近い記号に関する情報を位置情報取得部50に提供する。これにより、ターゲット物体のより精細な位置を特定することができる。
【0240】
[コードのサイズ]
連続コードにおいて、一のセクションの長さは、コード認識装置が1回の読み取り動作にて検出できる範囲である検出ウィンドウよりも狭くなるように定める。別の言葉でいうと、前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすように構成する。連続マトリクスコードの場合には、X方向の一のセクションの占める範囲およびY方向の一のセクションの占める範囲の両方が、コード認識装置が1回の読取動作にて検出できる範囲よりも狭くなるように、X方向の一のセクションの占める範囲およびY方向の一のセクションの占める範囲を定める。
【0241】
この関係を満たす一のセクションのサイズは、典型的に使用される状況でのコード認識装置と連続コードとの間の距離や、コード認識装置の解像度などにもとづいて定める。典型的に使用される状況を想定した上で、実験により定めてもよい。
これにより、コード認識装置が1回の読み取り動作で、複数のセクションを効率的に認識することができる。
【0242】
また、コードの全長は、コード認識装置が1回の読み取り動作にて検出できる範囲である検出ウィンドウよりも長い方が好ましい。別の言葉でいうと、連続コードの全幅W1と、コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たす方が好ましい。
これにより、例えば複数のターゲット物体の位置を特定する場合に、コード認識装置の検出ウィンドウを有効に活用して、より広い範囲にあるより多くのターゲット物体について位置を特定することができる。
ただし、W1>W2なる関係を満たさない場合であっても、実施例にかかる連続コードをコード認識装置を用いて読み取ることは可能である。
【0243】
以上の連続コードは、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で、物品に搭載されてもよい。ここで物品とは例えば、シール、ラベルなどの媒体や、本棚の棚板、壁紙、床などの家具や建材およびそれらの一部も含む。
【0244】
以上、いくつかの実施形態を説明した。これら実施の形態の組み合わせもまた本発明の実施形態として有効である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態それぞれの効果をあわせもつ。
【0245】
以上の構成と動作による本発明の利用シーンを、以下、書店の在庫管理を例にして説明する。
【0246】
図24の例のように、各冊子の背表紙にあらかじめターゲット識別コードを付し、各本棚の棚板には連続コードを付しておく。
棚卸しの際、担当者は、コード認識装置のカメラを用いて、ターゲット識別コードと連続コードの両方がカメラの視野に入るように調整しながら、全ての本棚の冊子群を複数回に分けて撮像する。コード認識装置は、撮像した画像から、各ターゲット識別コードと、連続コードのそのターゲット識別コードの近傍に位置するセクションを読み取る。そして、ターゲット識別コードに関連づけられたその書籍に関する情報と、その書籍の収納位置を関連づけて記録する。
【0247】
これにより、本棚に収納されている本の在庫と収納位置に関するリストを迅速かつ簡単に作成することができる。
また、これにより、ある特定の冊子を探したいときに、探したい冊子のタイトルなどの情報をコード認識装置に入力することで、最新の在庫と収納位置に関するリストから、その書籍の詳細な収納位置を得ることができる。
【0248】
書店においては、多数の本棚のそれぞれの棚板に多数の冊子が並べられており、それぞれの本が、各棚のどの位置にあるかまで管理することは容易ではない。
連続コードを利用することにより、簡易かつ迅速に多数の冊子の在庫状況および詳細な収納位置を管理することができる。
このような在庫管理の効率化が商品や材料、部品等の無駄をなくし、納期の短縮と管理コストおよび運送費用の低減に結びつくため、製造業や小売業などの厳しい生き残り競争の中で本発明は重要な意義をもつ。
【0249】
以上、本発明を実施例にもとづいて説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能であること、またそうした変形例も本発明の範囲にあることは、当業者に理解されるところである。
【0250】
例えば、実施形態においては、等差数列の各項と区切り符号を交互に配置したデータ列を用いることにより、異なる先頭位置から連続する所定数個のエレメントからなるセクションが表現するデータがすべて異なるような連続コードを作成できることを示した。この連続コードは、DNAの塩基配列を情報担体として利用する場合にも応用可能である。塩基配列に情報を書き込む際には、同じ長さをもつ、互いに異なる塩基配列の集合の設計が必要となる。本発明の連続コードを用いて長い塩基配列を作成すれば、各セクションにおいて、塩基の配列が一致しない。そこで、作成した長い塩基配列をセクションの長さ以上の長さで切り出すことにより、同じ長さをもつ、互いに異なる塩基配列の集合を作成することができ、ミスハイブリダイゼーションを避けることができる。
【産業上の利用可能性】
【0251】
本発明は、情報処理分野において利用することができる。
【符号の説明】
【0252】
24 位置コード抽出部、 30 セクションデータ取得部、 32 セル認識部、 34 エレメント認識部、 36 エレメント復号部、 100 コード認識装置、 108 セクション、 110 ドットマトリクスコード、 112 セクション、 120 連続マトリクスコード、 122,124 セクション、 130a,130b,132,134,136 検出マーク、 142a,144a サイクル識別標示、 150 環状連続コード、 160 環状マトリクスコード、 170 連続マトリクスコード、 180 ターゲット識別コード。
【技術分野】
【0001】
本発明は、情報符号化技術に関し、特に、物品に付す情報処理用のコードと、そのコードを認識する方法および装置に関する。
【背景技術】
【0002】
効率的な在庫管理は、製造業や小売業を中心とする厳しいコスト競争や納期短縮の競争の中にあって、非常に重要なテーマである。たとえば広大な倉庫に膨大な数の商品や部品(これらを統括的に「物品」という)を運び込んで管理する場合、どこに何がいくつあるのか正確に把握するのは煩瑣な作業である。広い図書館や書店で多数の本を管理する場合も同様である。
【0003】
一般に、何がどこにあるかを把握するためにカメラで撮影した画像を利用することは一策である。すなわち、物品が存在する空間をカメラで撮影してその画像を解析すれば物品とその位置を特定することができる。あらかじめ物品にバーコードその他の識別コードを付しておけば画像の解析は自動化しやすい。
【0004】
例えば、特許文献1には、歯車上の位置を検出するために、歯車に放射状に複数のバーコードを付す方法が記載されている。この例においては、各バーコードの表す数字が回転に伴って増加するようにバーコードが配列され、固定したバーコードリーダにてそのうちの一のバーコードを読みとることで、その時点での歯車の回転量を認識することができる。
【0005】
しかし、倉庫のような広い空間では、新たな問題が発生する。カメラで撮影しようにも、1回の撮影で広い空間やすべての物品を写すことは困難である。一方、多数の写真を撮影するとすれば、各画像がどの位置で撮影されたか把握する作業が別途必要になる。書店の在庫管理の場合、多数の本棚はいずれも似ていることが多く、しかもひとつの本棚の中ですら、そのいずれの部分かを画像から特定することは容易とはいえない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−38566号公報
【特許文献2】特許4005621号公報
【特許文献3】特開2008−287414号公報
【特許文献4】特開2009−3721号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
広い空間において、物品とその位置を自動認識技術を用いて管理するとき、カメラが取り込んだ画像が全体の中のいずれの部分であるのかを特定するための方法として、各位置に、全体に対する位置座標を表すマークやコード(以下、マーク等という)を付しておく方法がある。
書店の在庫管理の例でいうと、ある本がどの棚のどの位置にあるのかカメラが撮影した画像から特定できるように、一例として、棚板の複数個所に、その棚板上での位置を示すバーコードをそれぞれ貼り付けておく方法が考えられる。
このような場合、カメラが、少なくとも各マーク等をそれぞれを読み取るだけの解像度を有することが必要となる。
【0008】
各マーク等は、その座標を示す数値を個々に表す必要がある。座標を詳細に示そうとすると座標を示す数値の桁数が大きくなり、いきおいマーク等に詰め込む情報量が大きくなるため、マーク等がより複雑なものとなる。
しかしながら、このような座標を表すマーク等は、できるだけ在庫管理等の本来の目的に対して邪魔にならない小振りなものが望ましいと考えられる。
【0009】
書店の例でいうと、各本の収納位置をきめ細かに管理するためには、棚板上での位置を細かく特定できるようにしておく必要があり、このためには、一枚のバーコードのサイズを小さくし、数多くのコードを棚板に貼り付ける必要がある。しかも、各位置を詳細に表すためには、各位置を示す数値の桁数も大きくなり、一枚のバーコードの情報量が増えるため、バーコードの表記をより細かくせざるをえない。さらに、バーコードは棚板に貼り付けるため、できるだけ小振りなサイズが望ましい。
【0010】
さらに、位置として2次元や3次元の位置関係を表現する場合、座標を表すマーク等は2次元や3次元の座標を示すことが必要となり、ますます表現すべき情報量が増え、座標を表すマークやコードなどがより複雑になり、より細かく表記せざるをえない。
【0011】
一方、効率的に在庫管理を行うためには、カメラ一回の撮像で広い範囲を取り込むことが要求される。しかしながら、個々のバーコードを読み取るだけの解像度を確保するために、一回に撮影できる範囲が限られるため、一回に撮像できる範囲や物品数が少なくなり、在庫管理の作業効率が落ちてしまう。
【0012】
座標を表すマーク等としては、上記のバーコードのような自動認識コードの他に、たとえば座標を数字で記載し、OCRで読み取るということも考えられる。この場合でも詳細な座標位置を示そうとした場合、数字が多くなり、小さな面積で表そうとすると解像度、歪み等の原因で読み取りが困難になるものと考えられる。
【0013】
本発明はこうした課題に鑑みてなされたものであり、その目的は、きめ細かくかつ効率的に情報を提示するためのコードと、そのコードを検出し認識する方法および装置を提供することにある。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明のある態様の連続コードは、それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、エレメントは、一以上の記号またはその配列を含んで形成されており、連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含む。
【0015】
本発明のさらに別の態様は、デコード方法である。この方法は、連続コードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【0016】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続コードを認識するコード認識装置であって、 抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【0017】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、物品を収容する領域に並置して、連続コードが付されている。
【0018】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な空間を備える物品収容場であって、連続コードが付されており、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるよう連続コードが付される領域が定められている。
【0019】
本発明のさらに別の態様は、連続コードである。この連続コードは、記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、当該連続コードの全幅W1と、コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成される。
【0020】
本発明のさらに別の態様は、コード認識装置である。この装置は、記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、連続コードの一部を検出する検出部と、検出した連続コードに含まれる記号の配列を復号する復号部とを備える。当該連続コードの全幅W1と、検出部が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成される。
【0021】
本発明のさらに別の態様は、連続マトリクスコードである。この連続マトリクスコードは、複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められている。
【0022】
本発明のさらに別の態様もまた、連続マトリクスコードである。この連続マトリクスコードは、それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められている。
【0023】
本発明のさらに別の態様は、デコード方法である。この方法は、連続マトリクスコードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【0024】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続マトリクスコードを認識するコード認識装置であって、抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【0025】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されている。
【0026】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されており、物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう連続マトリクスコードが付される領域が定められている。
【0027】
本発明のさらに別の態様は、物品である。この物品は、連続コードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載している。
【0028】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記憶媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0029】
本発明によれば、きめ細かくかつ効率的に情報を提示するためのコード、そのコードを検出する方法、およびそのコードを検出する装置を提供することができる。
【図面の簡単な説明】
【0030】
【図1】実施の形態に係るコード認識装置の構成を示す図である。
【図2】図2(a)〜(c)は、実施の形態に係る連続コードの規則的パターンを示す図である。
【図3】色の付されたセルの配列により表現された連続コードの例を示す図である。
【図4】等差数列と区切り符号を組み合わせることにより作成した本発明の実施形態にかかる母数列の例を示す図である。
【図5】等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コードの例を示す図である。
【図6】図6(a)は、色の付された帯状のセルで形成される記号を示す図であり、(b)は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コードの別の例を示す図である。
【図7】ドット記号の変位を用いてパターン化した連続コードの例を示す図である。
【図8】実施形態にかかる二次元ドットマトリクスコードを示す図である。
【図9】実施形態にかかる連続マトリクスコードを示す図である。
【図10】図10(a)〜(c)は、本発明の実施形態にかかる検出マークを付した一次元連続コードの例を示す図である。
【図11】図9に示した連続マトリクスコードに、直線で表された検出マークを付した連続マトリクスコードを示す図である。
【図12】図8に示したドットマトリクスコードにおいて、各ドット記号を検出マークを用いて表したドットマトリクスコードを示す図である。
【図13】コード認識装置が、連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。
【図14】図14(a)および(b)は、母数列を繰り返し用いたデータ列を、記号の配列によるパターンとして表現した本発明の実施形態にかかる連続コードの例を示す図である。
【図15】母数列を繰り返し用いた長いデータ列をX方向とY方向に用いて、図9に関連して説明した方法と同様の方法により表現した連続マトリクスコードの例を示す図である。
【図16】繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表した連続コードの例を示す図である。
【図17】コード認識装置が、抽出された連続コードのセクションと、サイクル識別表示にもとづいて、そのセクションの位置を特定する手順を示すフローチャートである。
【図18】一次元連続コードを環状に配置した、実施形態にかかる環状連続コードの例を示す図である。
【図19】連続マトリクスコードを環状に配置した、実施形態にかかる環状マトリクスコードの例を示す図である。
【図20】連続マトリクスコードを環状に配置した、環状マトリクスコードの別の例を示す図である。
【図21】図21(a)および(b)は、一次元連続コードに別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列の例を示す図である。
【図22】連続コードが表現するデータとは別のデータを記録する情報コードを埋め込んだ連続マトリクスコードの例を示す図である。
【図23】図22の連続マトリクスコードを、線分を用いて読み取りパターン化した連続マトリクスコードを示す図である。
【図24】コード認識装置がキャプチャした画像の例を示す。
【発明を実施するための形態】
【0031】
[概要]
はじめに、実施形態に係る連続コードの概要および用語について説明する。
例えばある棚板におかれた本が、その棚板上のどこにあるのか、自動認識技術を用いて特定することを考える。この場合、棚上の任意の位置をカメラが撮影した画像から特定できるようにしておく必要がある。実施形態に係る連続コードは、例えば棚板上での位置を表すデータを、途切れのない連続的なパターンとして表す。
【0032】
一例として、図24(詳細は後述)の棚板に付してあるのが、実施形態に係る連続コード80である。棚板に並べられた各冊子が、その位置を特定すべきターゲット物体であり、各冊子にはターゲット識別コード180が付してある。ターゲット識別コードと連続コードの両方がカメラの視野に入るようにして撮影し、自動認識技術を用いることで、ターゲット識別コードに関連づけられた書籍に関する情報と、その書籍の収納位置を関連づけることができる。
【0033】
なお、本明細書においてコードとは、所定の規格に則ってデータを記号の集合であるパターンとして表現するときの、その表現されたパターンをいう。また、「マーク」や「セル」などの、パターンの一部を構成する部分を、「記号」という。
例えば、図5(詳細は後述)でR、G、Bと書かれた楕円は、赤、緑、青で彩色されたセルを示すが、それら彩色されたセルのそれぞれが、「記号」である。
【0034】
図5の連続コード80が表現するデータ列84中の”0”、”2”、”1”など、個々の数字を、「最小データ単位」または「データ単位」という。すなわち「最小データ単位」とは、コードが表現するデータの最小単位である。例えば一の数字や一の文字などであり、ディジタルデータの場合には、0または1である。
【0035】
連続コード80のパターンの一部であり、一の「最小データ単位」を表現する部分を、「エレメント」という。図5の連続コード80においては、各数字、すなわち各最小データ単位は、それぞれ二つのセルからなるエレメントで表されている。例えば、”0”はエレメント”RG”で表現され、”1”は、エレメント”RB”で表現されている。
【0036】
エレメントは、「記号」と一対一に対応することもあり、対応しないこともある。例えば図5の連続コード80においては、エレメントは記号と一対一に対応せず、二個の記号の配列が一のエレメントを構成する。
また、一の「最小データ単位」に対して一のエレメントが割り当てられるとは限らず、2以上の異なるエレメントが割り当てられることもある。図5の連続コード80においては、最小データ単位”2”に対して、2種類のエレメント”BG”と”GB”が割り当てられており、同じ色のセルが続かないように、いずれかが選択されて用いられている。
【0037】
連続コード80は、長い範囲にわたって途切れのない連続的なコードであるが、連続コード80を用いて、例えば棚板上のターゲットの位置を特定するためには、連続コード80のうち、その位置を記録している部分を読み取ればよい。この「棚板上の位置」のように、何らかの意味のある情報(以下、有意データともいう)を記録する連続コード80の部分を「セクション」という。また「セクション」が表すデータを、「セクションデータ」と呼ぶ。連続コード80は、各セクションが表現するセクションデータがすべて異なるように形成される。
【0038】
図5の連続コード80においては、各セクション98は全て、4個のエレメント、すなわち8個の彩色セルで構成されている。セクションは、その先頭をエレメント1個分ずつずらしながら、重複するように配置されている。連続コードを用いて冊子などのターゲット物体の位置を特定する場合は、あらかじめターゲット物体とセクションとを、それらの位置関係により対応付ける規則を定めておく。そして、コード認識装置が、その規則にしたがって、あるターゲット物体に対応づけられるセクションを読み取り、そのセクションが表すセクションデータを認識する。データ列84内でそのセクションデータが一意に特定可能であることから、データ列84内でそのセクションデータの位置を特定することができる。これにより、連続コード80内で、読み取ったセクションの位置情報を得ることができ、ターゲット物体の位置を特定することができる。
【0039】
このように、セクションをそれぞれ重複させて配置することにより、限られたスペースにより多くの情報を記録することができ、またコード認識装置の解像度および視野を有効に活用できる。
【0040】
セクションのサイズは、コード認識装置の視野より小さくなるよう定められる。すなわち、セクションのサイズは、コード認識装置が一回の読み取り動作で、少なくとも一のセクションを読み取ることができるように定められる。ここで、一回の読み取り動作とは、たとえば一回の撮像や一回のスキャン動作であり、一回のスキャンは、一連の複数回のサブスキャンで完成する場合もある。また、コード認識装置が一回の読み取り動作で検出できる範囲を、コード認識装置の検出ウィンドウともよぶ。
【0041】
連続コードは、各セクションが表現するセクションデータがすべて異なるように形成される。これにより、各セクションデータを読み取ることで、セクションをそれぞれ一意に特定することができる。図5の連続コード80においては、各セクション98が表現するセクションデータは、それぞれ部分数列96であり、それぞれの部分数列96はすべて異なる。データ列84において、各部分数列96は、その先頭を数字すなわち最小データ単位1個分ずつずらしながら重複するように配置されている。
【0042】
このように、たとえば各点の位置を表すデータを、途切れのない連続的なパターンとして表す連続コードは、カメラの読み取り画面範囲外にも広がりを持つことが普通であり、取り込んだ画面においてその始点終点が明らかでない。また画像取得条件によって、画像中のコードの大きさも一定とはいえない。さらに、連続コード中には、その表すデータが重複するようにマーキングされている。
連続コードは以上のような点において、通常の非連続自動認識コードと異なり、これらが、連続コードのいわゆる「切りだし」を困難とする要因になると考えられる。連続コードの自動認識にあたっては、始点終点の概念を取り除き、またデータブロックの概念を取り除いた切りだし概念を取り入れる必要がある。
【0043】
上述のように、位置関係を示すマーク等を分散重複配置させることで、たとえ詳細な位置関係を示す座標データ等であっても、コードのパターンを細かく、複雑にすることなく表現できる。また、コードのサイズを画像取得の主目的のために邪魔にならない大きさにしても、特に高解像度のカメラでなくとも読み取る可能なコードとすることができる。
また、連続コードの一定の規則的パターンを利用することで、始点、終点の明らかでないパターンであってもコードとして検出することができる。
【0044】
本明細書において、連続コードの各セクションが位置データを表す場合、連続コードのことを「位置コード」ともよぶ。ただし、各セクションが記録するデータは位置データには限られない。たとえば各セクションが表す部分数列と、そのセクションに関して記録させたい所望の情報とを関連づけた記録したテーブルを準備しておき、コード認識装置がセクションを読み取ったときにそのテーブルを参照することとしてもよい。これにより、各セクションにおいて所望の情報を記録することができる。
【0045】
以下、図面を参照して本発明の実施の形態(以下、「実施形態」という)について詳細に説明する。
【0046】
図1は、実施形態に係るコード認識装置100の構成を示す。
コード認識装置100は連続コードを用いて、たとえば冊子などのターゲット物体の位置を特定する。コード認識装置100は、ターゲット識別コードおよび連続コードを撮像して認識するコード検出部10と、認識したターゲット識別コードからターゲットの識別情報を取得するターゲットID取得部40と、読み取った連続コードからその位置を特定する位置情報取得部50と、各ターゲット物体についてその位置を特定するターゲット位置特定部60と、出力部70とを含む。
【0047】
コード検出部10は、ターゲット識別コードおよび連続コードを含む画像を取得する読み取り部12と、読み取った画像からターゲットに付されたターゲット識別コードを切り出すターゲットコード抽出部18と、読み取った画像から連続コードを切り出す位置コード抽出部24と、切り出した位置コードからセクションデータを取得するセクションデータ取得部30とを備える。読み取り部12は、コードを含む画像を光学的手段で撮像する入力部14と、コードを切り出すための前処理として取得した画像の各画素値を量子化する量子化部16とを含む。入力部14は、コードが磁気を用いて表現されている場合、磁気的手段でコードおよびその周辺環境の磁気を計測してもよい。以下、磁気的手段やその他の手段によって取得した場合も含めて、撮像や画像という言葉を用いる。
【0048】
ターゲットコード抽出部18は、読み取った画像に含まれるパターンがターゲット識別コードを構成するか否か判定するターゲット切り出し条件判定部20と、ターゲット識別コードを構成すると判定された場合にそのコードを切り出すターゲット切り出し処理部22とを含む。ターゲットコード抽出部18は、抽出したターゲット識別コードの画像中の位置に関する情報をセクションデータ取得部30に送り、切り出したターゲット識別コードに関する情報をターゲットID取得部40に送る。
【0049】
ターゲットID取得部40は、ターゲット識別コードとターゲットの識別情報(以下、ターゲットIDともいう)とを関連づけて格納する記憶部44と、ターゲットコード抽出部18から取得したターゲット識別コードに基づいて、記憶部44を参照し、そのターゲット識別コードが付されたターゲットの識別情報を取得するターゲットID特定部42とを含む。ターゲットID取得部40は、取得したターゲットの識別情報を、ターゲット位置特定部60に送信する。
【0050】
位置コード抽出部24は、読み取った画像に含まれるパターンが位置コードを構成するか否か判定する位置コード切り出し条件判定部26と、位置コード構成すると判定された場合にそのコード切り出す位置コード切り出し処理部28とを備える。
【0051】
セクションデータ取得部30は、セル認識部32と、エレメント認識部34と、エレメント復号部36と、セクション選択部38とを備える。セル認識部32は、位置コード抽出部24から受け取ったコードに含まれるパターンから、セル切り出し条件をみたすセルを抽出し、それぞれのセルを特定する。エレメント認識部34は、抽出されたセルの配列から、エレメント構成規則に基づいて各エレメントを構成するセルを抽出し、それぞれのエレメントを特定する。なお、ここでは、記号としてセルを用いる場合の例を示している。
【0052】
エレメント復号部36は、認識されたエレメントをそれぞれ最小データ単位に復号する。セクション選択部38は、エレメントから復号された最小データ単位を指定することにより、セクションデータを選択する。なお、セクション選択部38は、エレメント復号部36によってエレメントがそれぞれ最小データ単位に復号される前に、エレメントを指定することによりセクションを選択してもよい。この場合、エレメント復号部36は、セクションが選択された後、選択されたセクションに属するエレメントを、それぞれ最小データ単位に復号する。これにより、セクションデータを取得することができる。
セクションデータ取得部30は、取得したセクションデータを、位置情報取得部50に送信する。
【0053】
位置情報取得部50は、セクションデータ取得部30から取得したセクションの位置に関する情報を特定する位置情報特定部52と、選択されたセクションが属するサイクル(後述)に関する情報を特定するサイクル情報特定部54と、セクションの位置とサイクルに関する情報から、そのセクションの位置座標を計算する座標算出部56とを含む。位置情報取得部50は、取得した座標をターゲット位置特定部60に送信する。
【0054】
ターゲット位置特定部60は、ターゲットID取得部40から取得したターゲットIDと、位置情報取得部50から取得したセクションの座標とを関連づけて、各ターゲット物体の位置を特定し、出力部70に送信する。出力部70は、得られた情報を表示信号や音声信号として出力する。出力部70から出力された表示信号や音声信号は、LCDその他の表示装置やスピーカ等(図示せず)を介して、ユーザに情報として提供される。
【0055】
[規則的パターン]
連続コードは、通常のバーコードなどに比べて長い、あるいは広い範囲にわたる連続的なパターンである。したがって、通常は、コード認識装置が一の読み取り動作で連続コード全体をとらえることができず、コード認識装置の検出ウィンドウに連続コードの始点および終点がふくまれない。また、画面中に含まれる記号の数や大きさも不定である。したがって、コードを背景から切り出して読み取る際に、通常のコードとは異なる手法が必要となる。
【0056】
連続コードは、連続コードを形成するための規則にしたがって、周期的なパターンをもつよう構成される。コード認識装置は、その検出ウィンドウに連続コードの始点および終点が入っていなくとも、この周期的なパターンを認識することで、連続コード以外の背景部分と区別して連続コードを検出することができる。また、規則的パターンの周期が一以上のエレメントまたは一以上の記号を単位として現れるように連続コードを形成することで、コード認識装置が、規則的に表現されるパターンの周期と比較して、一の記号のサイズを認識することが可能となる。
【0057】
図2(a)〜(c)は、実施形態に係る連続コード形成の規則例を説明するための図である。
図2(a)は、色の付されたセルの配列により表現された連続コード80の例を示す。
このコードでは、記号として、赤、緑、または青で彩色されたセル82が用いられる。
図2(a)において、R、G、Bと表記されたセルはそれぞれ、赤、緑、青で彩色されたセルを示す。なお、以下の図においても、彩色されたセルは同様に表記される。
【0058】
図2(a)の連続コード80では、二つのセルがエレメントを構成する。1個の赤のセルと1個の緑のセルがこの順に配列されたエレメントが最小データ単位”0”を、1個の赤のセルと1個の青のセルがこの順に配列されたエレメントが最小データ単位”1”をそれぞれ表す。
【0059】
図2(a)の連続コード80は、一つおきに赤いセルが現れるという連続コード形成の規則に従って形成されている。すなわち、一のエレメントである二つのセルを一単位として、周期的に赤いセルが現れるようセルの配列が定められている。
【0060】
図2(a)〜(c)においては説明のため、連続コード80が表す一連のデータであるデータ列84を破線で囲い、連続コード80の下に並べて示している。なお、以下の図においても、パターンに変換される元のデータ列84は、同様に表記される。なお、データ列84のことを、母数列ともよぶ。
また、前述のように、連続コード80においてセクションはエレメント一個分ずつずらして重複するように配置されるが、図2(a)〜(c)の連続コード80においては、先頭から3個のセクション98のみ示す。以下の図においても同様に、先頭から3個のセクション98のみ示す。
【0061】
図2(a)の連続コード80において、各セクション98は全て4個のエレメント、すなわち8個の彩色セルで構成されている。セクションはそれぞれ、その先頭をエレメント1個分ずつ、すなわちセル二個分ずつずらしながら重複するように配置されている。
【0062】
前述のように、連続コードは、各セクションデータがすべて異なるように構成される。図2(a)の連続コード80の各セクション98が表現する各セクションデータは、データ列84中の部分数列96に、それぞれ対応する。図2(b)および(c)の連続コード80においても、元データとして同じデータ列84を用いている。連続コードのデータ列84としては、部分数列96がすべて異なるような母数列を用いる。
【0063】
図2(a)〜(c)では、それぞれの部分数列96がすべて異なるような母数列として、2進数デブルイン(DeBruijn)数列の一つである数列”0000100110101111”を用いている。この数列では、”0000”、”0001”、”0010”など、異なる先頭位置から開始する連続する4桁の数字からなる部分数列96が互いにすべて異なる。
【0064】
図2(b)は、色の付されたセルの配列により表現された連続コード80の別の例を示す。このコードにおいても、記号として赤、緑、または青で彩色されたセル82が用いられる。
図2(b)の連続コード80では、隣接する二つのセルが最小データ単位を表すエレメントを構成する。ただし、この例においては、エレメントは互いに重なりをもつ。赤いセルと緑のセル、緑のセルと青のセル、青のセルと赤のセルがこの順に並ぶエレメントが、最小データ単位”0”を表し、緑のセルと赤のセル、青のセルと緑のセル、赤のセルと青のセルがこの順に並ぶエレメントが、最小データ単位”1”を表す。
【0065】
図2(b)の連続コード80において、各セクション98は全て、4個のエレメントで構成されている。セクションはそれぞれ、その先頭をセル1個分ずつずらしながら重複するように配置されている。
【0066】
図2(b)の連続コード80は、2種類の大きさの色彩セルが交互に配置されるという連続コード形成の規則に従って形成されている。すなわち、二つの記号を一単位として、周期的に大小のセルが一つずつ配置されている。
【0067】
図2(c)は、記号●、上向き三角記号、下向き三角記号の3種類の記号の配列により表現された別の連続コード80の例を示す。この連続コード80では下向き三角記号および上向き三角記号が、最小データ単位である”0”、および”1”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すので、エレメントでもある。記号●は、チェック用記号であり、この連続コード80は、記号二つおきにチェック用記号●が現れるという連続コード形成の規則に従って形成されている。すなわち、三つの記号を一単位として、周期的に一個の記号●が配置されている。
図2(c)の連続コード80において、各セクション98は全て4個のエレメントで構成されている。セクションはそれぞれ、その先頭をエレメント1個分ずつずらしながら重複するように配置される。
【0068】
図3は、色の付されたセルの配列により表現された連続コード80の別の例を示す。図3の連続コード80でも、記号として赤、緑、または青で彩色されたセル82が用いられているが、図2(a)〜(c)の連続コード80とは異なる母関数を、図2(a)〜(c)の例とは異なる規則に基づいてパターン化することによって連続コード80が形成されている。
図2(a)〜(c)では、データ列84として2進数デブルイン数列の一を用いていたが、図3の例では、3進数デブルイン数列の一を用いている。3進数であるため、最小データ単位として、”0”、”1”、”2”の3種類の数を表現する必要があるが、彩色セルは、図2(a)および(b)と同様に、三色のみ用いているため、エレメント長が、図2(a)および(b)の例に比べて長くなっている。
【0069】
図3の連続コード80では、6個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、R、G、Bで表記すると、RGRBRGの順に配列されたエレメントが最小データ単位”0”を、RGRBRBの順に配列されたエレメントが最小データ単位”1”を、RGRBGBの順に配列されたエレメントが最小データ単位2をそれぞれ表す。
図3の連続コード80は、RGRの順に配列された三つのセルが周期的に現れるという連続コード形成の規則に従って形成されている。すなわち、6個のセルからなる一のエレメントを一単位として、周期的にRGRの三つのセルが配置されている。
【0070】
前述のように、本発明にかかる連続コードは、各セクションが表現するデータがすべて異なるように構成される。
図3では、データ列84として、部分数列96がすべて異なるような母数列である3進数デブルイン数列の一つの一部”00010020110・・・”を用いている。このデータ列84では、”000”、”001”、”010”、”100”など、異なる先頭位置から開始する連続する3個の数字からなる部分数列96が互いにすべて異なる。
【0071】
図2(a)〜(c)および図3に関して示したように、連続コード80は、連続コードを形成するための規則にしたがって、一以上のエレメントまたは一以上の記号を単位とする周期的なパターンをもつよう構成される。
上記の例の他にも、連続コード80は様々な周期的なパターンをもつよう形成することができる。例えば連続コード80は、2個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという規則にもとづいて、形成されてもよい。詳細は後述する。
【0072】
このように、連続コードを形成するための規則にしたがって、連続コード80が周期的なパターンをもつよう形成することにより、連続コードの開始点および終端点が不明確であっても、コード認識装置が連続コードを切り出す際、連続コード以外の背景画像と連続コードを区別して連続コードを切り出すことが可能となる。また、画像中に記号がいくつ含まれるのか不定であっても、コード認識装置が、パターンの周期にもとづいて一の記号や一のエレメントのサイズを認識し、それを利用して各記号を読み取ることが可能となる。
【0073】
以上、規則的パターンの例をいくつか示したが、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な規則的パターンを有する、と言う意味である。
【0074】
例えば、寸法、形状の規則が定められていなくとも、色彩配列のみに依存するコードの配列方式によって規則的パターンを形成することもできる。
このような規則的パターンの検出方法としては、例えば、本発明者による特許文献3および4に記載されている方法を応用して適用することが可能である。特許文献3および4には、色彩配列のみに依存するコードの切り出し方法が記載されている。
これらは色彩の分岐、並列条件を検出してその条件に合致した色彩配列をコードとして認識(切りだし)する方法である。これらの切り出し方法は、本出願のように始点終点を定めないという考え方のコードを対象としたものではないが、これらの文献の中で述べている方式において全体のセル数や始点、終点条件、誤り検出条件を除くことで本出願にも適用することが可能である。
【0075】
これらの例では、切り出しは色彩境界条件に依存する(特許文献3)もしくは色彩並列条件に依存する(特許文献4)ものである。
すなわち、色彩境界条件について定められた規則や、色彩並列条件について定められた規則にもとづいて検出しているといえる。このように、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な様々な規則的パターンを含む。
【0076】
[排出データ指定]
先に述べたように、本発明にかかる連続コードでは、複数のセクションデータが重複的に記録されている。このため、読み取って出力すべきデータの指定にあたって、通常と異なる方法が必要となる。
【0077】
通常の重複のない形式のコードによって複数の有意データを表す場合、パターンとしては連続するように見える場合でも、有意データが、それぞれ自己完結型のコードとして記録され、コード中に別個のコードのブロックが配置される形式となる。すなわち、各有意データを記録する区画が分かれている。したがって、このようなコードを読み取る場合には、切り出しマークなどをもちいて、一の区画をブロックとして切り出すことになる。
【0078】
これに対して、本発明にかかる連続コードでは、有意なデータであるセクションデータを表現するセクションが、重複的に配置されている。したがって、連続コードのある記号やエレメントに注目したときに、その記号やエレメントを含むセクションが複数存在する。同様に、連続コードが表現するデータ列において、ある最小データ単位に注目したときに、その最小データ単位を含むセクションデータが複数存在する。
【0079】
本実施例においては、読み取るべきセクションデータの選択にあたっては、あらかじめ、エレメントとセクションを関連づける規則、または、最小データ単位とセクションデータを関連づける規則を定めておく。そして、エレメントを指定することにより、読み取るべきセクションを指定する。あるいは連続コードを構成するエレメントをそれぞれ復号した最小データ単位の配列において、最小データ単位を指定することにより、読み取るべきセクションデータを指定する。詳細については、図13のフローチャートに関連して後述する。
【0080】
[等差数列]
本発明にかかる連続コードは、異なる先頭位置から連続する所定個数のエレメントからなるセクションが表現するデータがすべて異なる。図2および図3の例においては、デブルイン数列をパターン化することにより、連続コードを作成する例を示した。
デブルイン数列は、母数列の異なる先頭位置から連続する所定個数の数字の順列(以下、部分数列ともよぶ)が、すべて異なる性質を有する。ただし、デブルイン数列は、各部分数列の並び方に規則性はない。このため、例えば各セクションの連続コード80の中での位置を知りたい場合には、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照する必要がある。
【0081】
本発明者は、等差数列と区切り符号を組み合わせることにより、デブルイン数列と同様の性質をもち、かつ各部分数列の並び方に規則性のある母数列を作成できることを見出した。
【0082】
図4は、等差数列と区切り符号を組み合わせることにより作成した母数列90の例を示す。000、001、010、011、100、101、110、111は、2進数3桁で公差が1の等差数列の項である。図4においては、数字の”2”を区切り符号94として用いており、等差数列の項と区切り符号94が交互に並べられている。
【0083】
母数列90の先頭から連続する4個の数字からなる部分数列96a、96b、96c、・・・を順次取り出すと、2000、0002、0020、0200、2001、0012、0120、1201、2010、0102、1020、0201、2011、0112、1121、1210、2100、1002、0021、0210、2101、1012、0121、1211、2110、1102、1021、0211、2111、の29個の部分数列を取り出すことができる。これらの部分数列はすべて異なる。
【0084】
なお、2を一つ含み、あとは0か1である4個の数からなる数列は全部で32個存在するはずである。図4の母数列90の末尾に、そのはじめの3桁”200”を付け加えると、さらに3個の部分数列1112、1120、1200を取り出すことができ、32個の部分数列がすべて網羅される。すなわち、2進数3桁の等差数列を用いて部分数列がすべて異なる母数列を作る場合、等差数列の全ての項と区切り符号を交互に並べた後にさらに先頭の3桁を並べた数列が、部分数列がすべて異なる母数列としては最長の数列となる。
【0085】
このように、部分数列がすべて異なる母数列を用いると、その一の部分数列を読みとることにより、その部分数列が、母数列の中でどこに位置しているのか特定することができる。このような部分数列をパターン化した連続コードを利用することで、例えば、ターゲットとなる物体の位置や、コード認識装置自身の位置等を特定することができる。
【0086】
例えば、X軸上の各点に細かく座標を記す代わりに、図4のようにX軸に平行に母数列90を表示、または母数列90をパターン化した連続コードを表示しておく。このとき、ターゲット物体Aが図4のX軸上の白抜き矢印で示した位置にあるとする。コード認識装置が、この物体Aに最も近い位置にある数から連続する4個の数からなる部分数列”0210”を読み取る。そうすると、この部分数列96tは母数列中に一個しか存在しないため、コード認識装置はターゲット物体Aの位置を特定することができる。
【0087】
以下に、図4に示した母数列の例を一般化して、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、等差数列の桁数に一を加えた長さの部分数列がすべて異なるような母数列を作成することができることを示す。
なお、本明細書において「基数」とは、位取り記数法の底のことを指す。例えば2進数の基数は2、10進数の基数は10である。
【0088】
m桁のn進数で表した公差rの等差数列の第x項をCxとする。すなわち、
Cx+1−Cx=r (式1)
である。ここで、mおよびnは2以上の整数、rは自然数、xは0以上の整数である。
区切り符号としてZを用いて、上記の等差数列と交互に配置して母数列をつくると、
C0ZC1ZC2ZC3ZC4ZC5Z・・・・ (式2)
となる。m桁n進数の等差数列を用いる場合、区切り符号は、等差数列を構成する数と区別できるように、0からn−1までの数以外の数または文字を用いる。
この母数列の最小データ単位は一の数字または一の文字である。
【0089】
以下、この母数列について、任意の最小データ単位を先頭とする連続するm+1個の最小データ単位からなる配列(以下、部分数列ともよぶ)が、すべて異なることを示す。
ここで、部分数列の中での区切り符号の位置が異なる部分数列は、互いに異なることは明らかなので、部分数列の中での区切り符号の位置が同じ部分数列について、互いに異なることを示せばよい。
【0090】
ここで、各部分数列は、区切り符号Zと等差数列のある項を並べたものであるか、等差数列のある項の数の後半部分の数と、区切り符号Zと、等差数列のある項の数の前半部分の数とをこの順に配列したものであるとみることができる。
【0091】
部分数列が、区切り符号Zと等差数列のある項を並べたものである場合、部分数列は、C0Z、C1Z、C2Z、C3Z、C4Z、C5Z・・・のような形であるか、ZC0、ZC1、ZC2、ZC3、ZC4Z・・・のような形であるかのいずれかとなる。区切り符号Zが先頭につく部分数列と、末尾につく部分数列は、明らかに異なる。また、等差数列の各項は互いに異なるので、この場合、各部分数列は異なる。
【0092】
以下、部分数列が等差数列のある項の数の後半部分の数と、区切り符号Zと、等差数列のある項の数の前半部分の数とをこの順に配列したものである場合について考える。
このとき、各部分数列は、等差数列の第x項Cxの後半k−1桁の部分と、区切り符号Zと、等差数列の第x+1項Cx+1の前半m−k+1桁の部分の組み合わせであるとする。
ここでkは、2からm−1の任意の整数である。
kが異なる部分数列は、各部分数列における区切り符号Zの位置が異なるから、明らかに異なる。したがって、以下では、kが等しい部分数列がすべて異なることを示す。
【0093】
Cxを、一桁目からk−1桁目の数Bxと、k桁目からm桁目までの数Axとに分けて考える。Cxはm桁の数であるので、Axはm−k+1桁、Bxはk−1桁の数となる。AxとBxを用いて、等差数列の第x項を表すと、
Cx=Ax*nk−1+Bx (式3)
となる。ただし、本明細書において、記号”*”は、積を表すものとする。
この等差数列の第x+1項は、
Cx+1=Ax+1*nk−1+Bx+1 (式4)
である。
【0094】
例えば、8桁の10進数Cx=12345678について、k=6とすると、Ax=123、Bx=45678であり、
Cx=123*105+45678=12300000+45678
と表せる。
【0095】
(式2)の母数列をAxおよびBxを用いて表すと、
A0B0ZA1B1ZA2B2ZA3B3ZA4B4ZA5B5Z・・・
となる。
ここで、部分数列B0ZA1、B1ZA2、B2ZA3、B3ZA4、B4ZA5・・・が全て異なることを示す。
Zの位置はすべて等しいので、Cxの後半部分BxとCx+1の前半部分Ax+1とがこの順で形成する配列が、Cyの後半部分Byと、Cy+1の前半部分Ay+1とがこの順で形成する配列と異なることを示す。ただし、x≠yである。以下、背理法をもちいて説明する。
【0096】
Cxの後半部分BxとCx+1の前半部分Ax+1が、Cyの後半部分ByとCy+1の前半部分と、それぞれ一致すると仮定する。すなわち、
Bx=By
Ax+1=Ay+1
であると仮定する。
【0097】
この場合、
Cy=Ay*nk−1+By=Ay*nk−1+Bx (式5)
Cy+1=Ay+1*nk−1+By+1=Ax+1*nk−1+By+1 (式6)
が成り立つ。また、Cy、Cy+1は等差数列の隣接する項であるので、
Cy+1−Cy=r (式7)
である。
【0098】
ところで、(式1)、(式3)および(式4)から、
Cx+1−Cx=(Ax+1*nk−1+Bx+1)−(Ax*nk−1+Bx)=rである。よって、
Bx+1−Ax*nk−1=r−(Ax+1*nk−1−Bx) (式8)
が成り立つ。
【0099】
また、(式5)、(式6)および(式7)から、
Cy+1−Cy=(Ax+1*nk−1+By+1)−(Ay*nk−1+Bx)=r
である。よって、
By+1−Ay*nk−1=r−(Ax+1*nk−1−Bx) (式9)
【0100】
式8の右辺と式9の右辺は等しいので、
Bx+1−Ax*nk−1=By+1−Ay*nk−1
が成り立つ。この式を変形すると、
Bx+1−By+1=(Ax−Ay)*nk−1 (式10)
となるが、Bx、Byはともにk−1桁の数であるので、
Bx+1−By+1<nk−1
である。よって、式10が成り立つのは、
Bx+1=By+1かつAx=Ay (式11)
のときに限られる。
【0101】
ところが、仮定より、
Bx=Byであるので、(式11)のAx=Ayと合わせると、Cx=Cyとなる。しかし、仮定より、x≠yであり、等差数列を構成する各項は異なるので、矛盾する。
よって、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、各部分数列がすべて異なるような母数列を作成できることが証明された。
【0102】
なお、m桁のn進数を用いた場合、部分数列としては、それに区切り符号を加えたm+1個の連続する数を取り出すことで、各部分数列がすべて異なるような組み合わせとすることができる。当然、m+1個以上の連続する数を部分数列として取り出した場合にも、各部分数列はすべて異なる。
【0103】
公差は、m桁n進数で表される数の総数であるnmと互いに素である数または1のいずれかとすることが好ましい。これにより、等差数列の項数が最大となるため、母数列の長さを最大とすることができる。なお、ここで等差数列というとき、各項は与えられた桁数の範囲内で表し、与えられた桁数以上に繰り上がる場合には、繰り上がる桁の数は切り捨てるものとしている。
【0104】
例えば、図4において示した母数列90は、2進数3桁で公差が1の等差数列の項と、区切り符号である2を交互に並べて作成したものである。
これに対して、2進数3桁で公差が3の等差数列の項と区切り符号である2を交互に並べて作成した母数列は以下のようになる。
20002011211020012100211120102101
この母数列に用いた等差数列の公差である”3”は、2進数3桁の数の総数である23、すなわち8と互いに素であり、この母数列の長さは図4において示した母数列90と同じである。
【0105】
一方、2進数3桁で公差が2の等差数列の項と区切り符号である2を交互に並べて作成した母数列は以下のようになる。
2000201021002110
この母数列に用いた等差数列の公差である”2”は、2進数3桁の数の総数である23、すなわち8と互いに素ではなく、この母数列の長さは図4において示した母数列90より短くなる。
【0106】
等差数列と区切り符号を用いることにより、所望の長さ、所望の基数、所望の公差でさまざまなバリエーションをもった母数列を作成することができる。また、等差数列の各項は、算出可能である。よって、例えば各セクションの連続コード中の位置を知りたい場合に、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照したりする必要がない。
【0107】
また、等差数列の項と区切り符号とを交互に並べた母数列において、各最小データ単位をエレメントで表現すると、等差数列の各項を表現するエレメント群と、区切り符号を表現するエレメントが交互に配置されたパターンとなる。すなわち、このような母数列をデータとして作成した連続コードは、2個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという連続コード形成の規則に従って形成されることになる。これにより、コード認識装置が連続コードを切り出す際、コードの開始点および終端点が不明確であっても連続コード以外の背景画像と連続コードを区別して連続コード部分を切り出すことができる。また、コード認識装置が、パターンの周期と比較して、一の記号や一のエレメントのサイズを認識し、それを利用して各記号やエレメントを読み取ることが可能となる。
【0108】
図5は、等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コード80の例を示す。
図5の連続コード80では、2個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、R、G、Bで表記すると、RGが最小データ単位”0”を、RBが最小データ単位”1”を、それぞれ表す。
【0109】
前述のように、連続コードにおいては、一の「最小データ単位」に対して必ずしも一のエレメントが割り当てられるとは限らず、2以上の異なるエレメントが割り当てられることもある。図5の連続コード80においては、最小データ単位”2”を表すエレメントとして、BGおよびGBが割り当てられている。そして、最小データ単位”2”を表すエレメントを用いる際、隣接するセルと色が異なるように、BGおよびGBのいずれかを選択して用いる。このように、隣接するセルの色が必ず異なるように彩色セルの配列を定めることで、例えばセルの大きさが異なる場合でも、コードコード認識装置によって、一のセルの範囲を検出することができる。
【0110】
図5の連続コードでパターンとして変換される対象であるデータ列84は、2進数3桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。図5においては、データ列84のうち、区切り符号94である”2”を点線で囲んで示している。この母数列においては、異なる先頭位置から連続する4個の数からなる部分数列96は、すべて異なる。このように、m桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列においては、異なる先頭位置から連続するm+1個の数からなる部分数列が、すべて異なる。
【0111】
したがって、m桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列の各データ最小単位をそれぞれエレメントに変換した連続コードにおいては、異なる先頭位置から連続するm+1個のエレメントを含むセクションがすべて異なる。図5の連続コード80においては、異なる先頭位置から連続する4個のエレメントからなるセクション98が表現するデータがすべて異なる。
【0112】
図5の連続コード80は、3個の赤いセルが一つおきに配置され、続いて赤以外のセルが連続して3個配置されるという規則にしたがって形成されている。図5の連続コード80においては、この規則的なパターンが8個のセル、すなわち4個のエレメントを一単位として周期的に繰り返されるようセルの配列が定められている。
【0113】
図6(a)(b)は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コード80の別の例を示す。この連続コード80は、本発明と出願人が同じである特許文献2で開示されている1.5Dカラービットコードを用いて表現されている。
【0114】
1.5Dカラービットコードでは、一の数字を、三本の帯状の領域を含む記号によって表す。各帯状の領域に付される色はあらかじめ決められており、各帯状領域の各部分が、決められた色で彩色されているオン状態と彩色されていないオフ状態のいずれかをとる。三本の帯状領域のうち、一度にオン/オフ状態が切り替わるのは一の領域のみであり、一の記号において、オン/オフ状態は二回切り替わる。このような記号を、隣の記号と連続するよう配列することで、全体としても三本の帯状領域のオン/オフ状態によるパターンが形成される。開始点から三本の帯状の領域をたどっていき、各領域でオン/オフ状態が切り替わる順番のみ検出することにより、各記号を認識することができる。1.5Dカラービットコードは、寸法、形状の歪みやぼけ、ブレなどに強いという性質を有する。
【0115】
図6(a)は、最小データ単位である”0”、”1”、”2”、”3”、”4”、”Z”を表現する記号であるエレメント、および開始位置を表すスタート記号を示す。”0”から”4”の各最小データ単位については、それぞれ二通りのエレメントが準備されている。これにより、各最小データ単位をパターンに変換する際に前のエレメントに応じて用いるエレメントを適宜選択し、各エレメントと隣のエレメントとが、その境界でオン状態となる帯状領域を共有するような配列とすることができる。
【0116】
図6(b)は、下段にパターンとして変換される対象であるデータ列84を、上段に、データ列84を図6(a)の記号体系にしたがって変換し、パターンとして表現した連続コード80を示す。
図6(b)の連続コード80では、地色の他に2色を用いて、一番上の帯状領域と下の帯状領域を同一色で、真ん中の帯状領域をその色とは異なる色で示している。
【0117】
図6(b)のデータ列84は、5進数2桁の等差数列の各項と、区切り符号”Z”とを交互に配列することによって作成した母配列である。このデータ列84においては、異なる先頭位置から連続する3個の符号からなる部分配列は、すべて異なる。したがって、図6(b)の連続コード80においては、異なる先頭位置から連続する3個のエレメントからなるセクション98は、すべて異なる。
【0118】
図6(b)の連続コード80において、区切り符号”Z”を表現するエレメントを、点線で囲んで示している。1.5Dカラービットコードにおいては、一度に1個所の帯状の領域の色彩がオン/オフされる。この連続コード80は、そのような色彩がオン/オフされる特徴点を4回はさんで区切り記号が配置されるという連続コード形成の規則に従って形成されている。この規則的なパターンは、3個のエレメントを一単位として繰り返し現れる。
【0119】
このように、各帯状領域における色彩のオン/オフの変化のみによってエレメントを追跡可能な構成とすることにより、図6(b)の連続コード80は、寸法、形状の歪みやぼけ、ブレがあっても、連続性や、帯状というトポロジーが保たれていれば、読み取り可能である。したがって、ゆがみやすい物品にコードを付す場合や、印字精度の高くない環境でコードを付す場合でも、読み取り精度の高い連続コードを提供することができる。
【0120】
[一次元ドットコード]
図7は、ドット記号の変位を用いてパターン化した連続コード80の例を示す。図7の下段に示すデータ列84は、2進数4桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。この母配列においては、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なる。
【0121】
図7の連続コード80においては、各記号の所定の基準位置からの変位を用いてデータが表現されている。図7の例においては、この変位は、二段階に量子化されている。すなわち、最小データ単位”0”を表す記号は、基準位置にそのまま配置し、最小データ単位”1”を表す記号は、基準位置からXの正の方向に偏った位置に配置され、最小データ単位”2”を表す記号は、”1”のときよりも大きくXの正の方向に、偏った位置に配置されている。この例においては、一の記号およびその基準位置からの変位が、一のエレメントにあたる。
図7の連続コード80においては、異なる先頭位置から連続する5個のエレメントからなるセクションが表現するデータがすべて異なる。
【0122】
データ列84は、区切り符号”2”が4個の数をはさんで規則的に配置されている。したがって、図7の連続コード80は記号4個おきに、基準位置から最も偏った位置に配置されている記号があらわれるという連続コード形成の規則に従って形成されているといえる。すなわち連続コード80は、5個の記号またはエレメントを一単位として、周期的に、基準位置から最も偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0123】
なお、図7の例においては基準位置からの変位を用いてデータを表現しているが、各記号とその前または後の記号との距離を用いてデータを表現してもよい。図7においては、ドット記号を用いているが、任意の記号を用いてよい。また、複数の記号を用いることにより、データ列84のデータに加えて、さらに別のデータを表現してもよい。
【0124】
以上のように、線状に記号を配置した連続コードを、本明細書において、「一次元連続コード」ともいう。
【0125】
[2次元ドットマトリクスコード]
連続コードを二次元に拡張して、連続マトリクスコードを作成することができる。
図8は、連続マトリクスコードの例として、一次元ドットコードを二次元に拡張したドットマトリクスコード110を示す。このドットマトリクスコード110では、複数のドット記号が格子状に配列されており、各ドット記号は、それぞれ、その記号が配置される基準位置である格子点からの量子化された変位を用いてデータが表現されるよう配置されている。
【0126】
X方向データ列102およびY方向データ列104は、2進数4桁の等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列である。これら母配列においては、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なる。
【0127】
図8において、各行のドット記号は、図7と同様の手法により、各記号の所定の基準位置からのX方向への変位を用いて、X方向データ列102を表現するよう配置されている。区切り符号として最小データ単位”2”が用いられているため、各行のドット記号の配列は、記号4個おきに、基準位置から最もX方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各行において、5個の記号またはエレメントを一単位として、周期的に、基準位置から最もX方向偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0128】
図8において各列のドット記号は、図7と同様の手法により、各記号の所定の基準位置からのY方向への変位を用いて、Y方向データ列104を表現するよう配置されている。区切り符号として最小データ単位”2”が用いられているため、各列のドット記号の配列は、記号4個おきに、基準位置から最もY方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各列において、5個の記号またはエレメントを一単位として、周期的に、基準位置から最もY方向に偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【0129】
別の言葉でいうと、ドットマトリクスコード110を構成する各行は、4個の連続するエレメントを含む標識部と、1個の境界を示すエレメントとが交互に配置されて構成されているということができる。Y方向についても同様に、ドットマトリクスコード110を構成する各列は、4個の連続するエレメントを含む標識部と、1個の境界を示すエレメントとが交互に配置されて構成されている。
【0130】
例えば、図8において、★で示したターゲット106の位置を特定したい場合、ターゲット106に最も近い記号を先頭としてX方向に連続する5個のエレメントを含むセクション108を読み取って復号することにより、その記号の表すX方向位置データが”12001”であることがわかる。前述のように、X方向データ列102において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、X方向の位置を特定することができる。同様に、ターゲット106に最も近い記号を先頭としてY方向に連続する5個の記号を含むセクション112を読み取って復号することにより、その記号の表すX方向位置データが”00120”であることがわかる。そして、Y方向データ列104において、異なる先頭位置から連続する5個の数で構成される部分数列はすべて異なることから、Y方向の位置を特定することができる。
【0131】
[2次元差分マトリクスコード]
図9は、本発明の実施形態にかかる連続マトリクスコードの例として、二次元の複数の記号を含むパターンが格子状に配列されている連続マトリクスコード120を示す。図9の連続マトリクスコード120においては、説明のため、各最小データ単位である数をそのまま数字を用いた記号として示している。すなわち、ここではエレメントと記号とが一対一に対応し、記号はそのままデータである数を表している。
【0132】
図9に示したX方向データ列102およびY方向データ列104は、図8に示したX方向データ列102およびY方向データ列104と同じものであり、説明は省略する。
【0133】
図9の連続マトリクスコード120において、各エレメントである記号は、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前の列のエレメントのうち同じ行のエレメントが示す数との差によって、X方向の最小データ単位を表現している。同様に、各エレメントである記号はそれぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前の行の同じ列のエレメントが示す数との差によって、Y方向の最小データ単位を表現している。なお、上では単に”差”といったが、差が負の値にならないように、例えばmod(modulo)などを用いて調整する。
【0134】
図9において、★で示したターゲット106の位置を特定したい場合を例に説明する。まず、X方向について、ターゲット106に最も近い記号を先頭としてX方向に連続する5個のエレメントを含むセクション122を読み取る。図9では、”12111”である。
【0135】
セクション122のエレメントのうち、先頭の”1”の前の列の同じ行のエレメントをさらに読み取ると”1”であるので、(1−1)mod3を計算することで、先頭の”1”が表すデータは”0”であることが算出できる。セクション122のエレメント”12111”のうち、2番目の”2”の前の列の同じ行のエレメントは、先頭の”1”であるので、(2−1)mod3を計算することにより、2番目の”2”が表すデータは、”1”であることが算出できる。同様に、3番目の”1”が表すデータは、(1−2)mod3より”2”であり、4番目の”1”が表すデータは(1−1)mod3により”0”であり、5番目の”1”が表すデータは、(1−1)mod3により”0”であることが、コード認識装置によって算出できる。
【0136】
このようにしてコード認識装置は、セクション122のエレメントが表す部分数列として、”01200”を特定できる。前述のように、X方向データ列102において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、X方向の位置を特定することができる。
【0137】
同様に、Y方向についても、ターゲット106に最も近い記号を先頭としてY方向に連続する5個のエレメントを含むセクション124を読み取る。図9では、”11211”である。
【0138】
セクション124のエレメントのうち、先頭の”1”の前の行の同じ列のエレメントをさらに読み取ると”1”であるので、(1−1)mod3を計算することで、先頭の”1”が表すデータは”0”であることが算出できる。セクション124のエレメント”11211”のうち、2番目の”1”の前の行の同じ列のエレメントは、先頭の”1”であるので、(1−1)mod3を計算することにより、2番目の”1”が表すデータは、”0”であることが算出できる。同様に、3番目の”2”が表すデータは、(2−1)mod3により”1”であり、4番目の”1”が表すデータは、(1−2)mod3により”2”であり、5番目の”1”が表すデータは、(1−1)mod3により”0”であることが、算出できる。このようにしてコード認識装置は、セクション124のエレメントの表す部分データ列として、”00120”を特定できる。
【0139】
前述のように、Y方向データ列104において、異なる先頭位置から連続する5個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、Y方向の位置を特定することができる。
なお、図9の例では、X方向データ列102およびY方向データ列104として、等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列を用いる例を示した。X方向データ列102およびY方向データ列104として用いる母数列はこれに限られず、異なる先頭位置から開始する所定長の部分数列がすべて異なるような母数列であれば、任意の母数列を用いてよい。例えば、デブルイン数列を用いてもよい。
【0140】
図9の連続マトリクスコード120においては、等差数列の各項と、区切り符号”2”とを交互に配列することによって作成した母数列を用いる例を示した。このような母数列を用いることにより、連続マトリクスコード120の各行または各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるように構成されてもよい。この場合、コード認識装置は、エレメントの配列を復号することにより、各行または各列が、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるという規則にしたがって形成されているか否か判定できる。
【0141】
図9の例においては、エレメントは、そのエレメントが含まれる列の前の列のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる列の次の列のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとしてもよい。
同様に、図9の例においては、エレメントは、そのエレメントが含まれる行の前の行のそのエレメントに対応するエレメントが示す数との差によって、Y方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる行の次の行のそのエレメントに対応するエレメントが示す数との差によって、X方向のデータが表現されるよう定められているとしてもよい。
【0142】
図9の連続マトリクスコード120においては、各最小データ単位である数をそのまま数字を用いた記号として示した。この他にも、図9に示したような最小データ単位を、様々な方法でパターンとして表現することにより連続マトリクスコード120を作成することができる。
例えば、エレメントは、各数字を表す記号に置き換えられて表現されてもよい。
また、エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていてもよい。
また、エレメントは、光学的に認識可能な記号に限らず、磁気により認識可能な記号を用いて表わされてもよく、この他にも様々の方法で表現されうる。
【0143】
図9の連続マトリクスコード120のように、前後に位置するエレメントの差を用いてデータを表すことにより、一定範囲の数字のみ用いて、XY方のデータ列を表現することができる。すなわち、使用する数字の数を、データ列で用いられている数字の数にとどめることができる。
【0144】
[連続マトリクスコードの変形例]
なお、図8のドットマトリクスコード110および図9の連続マトリクスコード120において、各行が表すX方向の位置情報はすべて同じであり、各列が表すY方向の位置情報はすべて同じである。したがって、上述の例においては、ターゲット106に最も近い記号を先頭としてX方向に連続する5個の記号を含むセクションを読み取ったが、最も近い記号の属する列の任意の記号を先頭としてX方向に連続する5個の記号を含むセクションを読み取っても同じ結果がえられる。Y方向についても同様である。これにより、例えばターゲット106が記号を覆い隠しているような場合にも、そのターゲット106の位置を特定することができる。
【0145】
さらに、図8のドットマトリクスコード110および図9の連続マトリクスコード120においては、X方向とY方向について、同じデータ列を用いてパターンを作成する例を示したが、X方向とY方向について、異なるデータ列を用いてもよい。例えば、X方向は、等差数列の各項と区切り符号とを交互に配列したデータ列を用い、Y方向ではデブルイン数列をデータ列として用いてもよい。
これにより、X方向とY方向とで、異なる連続コード形成の規則に従ってパターンが表現されるため、コード認識装置が容易にX方向とY方向とを判別することができる。
【0146】
本明細書において、特に断らないかぎり、「連続コード」とは、一次元連続コードと連続マトリクスコードとの両方を指すものとする。
【0147】
[切り出しアルゴリズム]
前述のように、連続コードは、コード認識装置が一回のスキャンでとらえることのできる範囲よりも長い、あるいは広い範囲にわたることが想定され、通常は、コード認識装置の検出ウィンドウに連続コード全体の始点および終点がふくまれず、画面中に含まれる記号の数も不定であるため、一の記号のサイズを特定することが難しい。このような場合であっても、連続コードを、連続コードを切り出すためのアルゴリズムの切り出し判定条件にしたがうよう構成することで、コード認識装置が連続コードを、より容易に連続コード以外の部分背景画像と区別して検出し、抽出することができる。
【0148】
連続コードを切り出すためのアルゴリズムの切り出し判定条件としては、たとえば、彩色セルの配列を含むコードについて、本発明と発明者および出願人が同じである特許文献3で開示されているように、一のセルの周囲が、白色−他色−白色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。また、ここで白色とは、彩色セルに用いられる色以外の色を、その代表色である白色と表現している。
【0149】
また、彩色セルの配列を含むコードにおいて、各セルがいわゆる飛び石状になっており、各セルが接していないことも考えられる。その場合は、各セルの領域を拡張して、上記の切り出し判定条件を適用してもよい。
【0150】
[クワイアットゾーン]
連続コードを取り囲むように、彩色セルやマークなどの記号に用いられる色以外の色から選択した一の色彩を付した領域を設けてもよい。以下、この領域をクワイアットゾーンといい、クワイアットゾーンに付す一の色彩を、スペース色とよぶ。
クワイアットゾーンは、たとえば、連続コードを構成する各セルの重心を一定位置にとどめたまま、各セルを一定比で拡大したときに覆われる領域を外縁としてもよい。
クワイアットゾーンを設けることにより、コード認識装置が、背景画像と連続コードの境界部分を認識することができるため、より簡単な手順で背景画像と区別して連続コードを切り出すことができる。
【0151】
連続コードの周りにクワイアットゾーンを付した場合、連続コードを切り出すためのアルゴリズムの切り出し判定条件として例えば、本発明と発明者および出願人が同じである特許文献3で開示されている条件を用いてもよい。すなわち、彩色セルの配列を含むコードにおいて、一のセルの周囲がスペース色−他色−スペース色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。
【0152】
[検出マーク]
上述の切り出し判定条件として、コード認識装置が連続コードを、連続コード以外の部分である背景画像と区別して検出し、抽出するための検出マークが付されていることを条件としてもよい。
【0153】
図10(a)〜(c)は、検出マークを付した一次元連続コードの例を示す。図10(a)および(c)においては、データ列84として、2進数デブルイン数列の一を用いている。このデブルイン数列では、異なる先頭位置から開始する連続する4桁の数字からなる部分数列が互いにすべて異なる。
【0154】
図10(a)は、記号●、上向き三角記号、下向き三角記号の3種類の記号の配列により表現された連続コード80の片側に検出マーク130aを、反対側に130bをそれぞれ付した例である。この連続コード80では下向き三角記号および上向き三角記号が、最小データ単位である”0”、および”1”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すエレメントでもある。記号●は、チェック用記号であり、この連続コード80は、一つおきにチェック用記号を配置するという規則にしたがって構成されている。検出マーク130aは、二本の直線を含み、検出マーク130bは一本の直線を含む。
【0155】
このように、一次元連続コードにおいて上下非対称な検出マークを付すことにより、コード認識装置が読み取り方向を特定することができる。また、連続コード80に、上向き三角記号と下向き三角記号のように上下方向が定まらないと、その表す最小データ単位が一意に決まらない記号を含まれている場合でも、コード認識装置がそれらの記号を認識することができる。
【0156】
図10(b)は、別の検出マーク132を示し、図10(c)は、この検出マーク132を付した連続コード80の例を示す。検出マーク132は、同じサイズの方眼の連続として構成される。図10(c)の連続コード80は、太さの異なる縦線を記号として用いており、細い線が0、太い線が1を表している。この連続コード80は、検出マーク132を含むよう構成されており、コード認識装置は、検出マーク13を利用して連続コード80を特定し、切り出すことができる。
【0157】
図11は、図9に示した連続マトリクスコード120に、直線で表された検出マーク134を付した例を示す。この例では、n行ごとに1本の検出マーク134が付される。すなわち、n行ごとに分けられた記号のグループが、連続マトリクスコード120を特定可能とするための検出マーク134を、それぞれ含んで形成されている。n行ごとに分けられたエレメントのグループが、それぞれ検出マーク134を含んで形成されているともいえる。図11においては、nを2として、2行ごとに1本の検出マーク134を付した例を示している。ただし、nは自然数である。
【0158】
図12は、図8に示したドットマトリクスコード110において、各ドット記号を検出マーク136である上向き三角記号で表した例を示す。X方向データ列102およびY方向データ列104は、図8において説明したX方向データ列102およびY方向データ列104と同じである。この例では、記号のそれぞれが、ドットマトリクスコード110を特定可能とするための検出マーク136としても用いられている。
【0159】
この他にも、例えばドットマトリクスコード110が、さらにドットの基準位置を示すような検出マーク136を含むように構成されてもよい。これにより、コード認識装置がドットの基準位置を直接認識することが可能となる。
【0160】
このように、検出マークを付し、またはエレメントや記号のグループに検出マークを含めることで、より容易に、連続コードを背景画像から区別して検出し、抽出することができる。また、検出マークを付すことで、コード認識装置が連続コードの1個の記号のサイズをより確実に認識することが可能となり、個々の記号を切り出すことができる。また、連続マトリクスコードにおいては、XY方向で非対称となるような検出マークを付したり、記号やエレメントまたはそのグループに、XY方向で非対称である検出マークを含めることにより、コード認識装置がXY方向を特定することが可能となる。
【0161】
[セクション認識処理]
図13は、図1のコード認識装置100が、実施形態にかかる連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。以下、図1も参照しながら説明する。なお、以下のセクション認識処理の説明においては、認識対象の連続コードが彩色セルの配列で構成され、一の彩色セルが一の記号に該当する例を想定しているが、他の構成の連続コードの場合についても、同様の手順により、セクション認識処理を行うことができる。
【0162】
まず、読み取り部12の入力部14が、連続コード80を含む場面を撮像する(S10)。撮像データに対して、量子化部16が画像をN値化したり、領域分割するなどの前処理を行い、位置コード抽出部24に処理した画像データを送る。位置コード抽出部24の位置コード切り出し条件判定部26は、画像データ中の連続コードである可能性がある領域について、あらかじめ定められた検出マークの有無や所定の連続コード形成の規則などの連続コード切り出し条件を満たすか否か判定する。切り出し条件をみたすと判定された場合、位置コード切り出し処理部28が、画像データの該当部分を位置コードと認識して切り出し(S12)、セクションデータ取得部30に送る。
【0163】
セクションデータ取得部30のセル認識部32は、切り出されたパターンから、あらかじめ定められた記号を認識するための記号判定条件にしたがう部分を記号として認識し、また各記号の種類を識別する(S14)。ここで、記号判定条件から外れるパターンは排除される。
【0164】
エレメント認識部34は、認識された記号群から、あらかじめ定められたエレメント構成規則にしたがう記号や記号の配列をエレメントとして認識し、各エレメントを識別する(S16)。エレメント構成規則は、エレメントを構成する記号の数や、その組み合わせなどを規定する規則である。このステップにおいて、セル認識部32によって認識された記号のうち、エレメント構成規則からはずれる記号が排除される。
【0165】
セクションデータ取得部30のエレメント復号部36は、認識されたエレメントを、エレメントと最小データ単位とを対応づける規則に基づいて、それぞれ最小データ単位に復号する(S18)。
【0166】
セクションデータ取得部30のセクション選択部38は、最小データ単位の配列からなるセクションデータのいずれかを選択する(S20)。具体的には、セクション選択部38が、最小データ単位の配列から一の最小データ単位を指定し、最小データ単位とセクションデータとを関連づける規則にしたがって、指定された最小データ単位と関連づけられる一のセクションデータを選択する。
【0167】
一の最小データ単位を指定する際には、例えば、一の撮像画像中の認識されたエレメントを復号してなる最小データ単位の配列において、先頭からn番目の最小データ単位を指定することとしてもよく、最小データ単位の配列の先頭からkパーセントにあたる位置にある最小データ単位を指定することとしてもよい。ここでnは自然数であり、kは0以上100以下の数である。
【0168】
最小データ単位とセクションデータとを関連づける規則は、ある一の最小データ単位に対して、その最小データ単位が属するセクションデータのうちいずれか一のセクションデータを関連づける規則である。例えば、ある最小データ単位に対して、その最小データ単位が先頭に位置するセクションデータが関連づけられてもよく、その最小データ単位が中心に位置するようなセクションデータが関連づけられてもよい。
【0169】
セクション選択部38は、一の最小データ単位を指定する代わりに、複数の最小データ単位を指定することで、一のセクションデータを選択してもよい。この場合、最小データ単位とセクションデータとを関連づける規則は、複数の最小データ単位と、一のセクションデータを関連づける。例えば、指定された複数の最小データ単位と、それら複数の最小データ単位を全て含むセクションデータとが関連づけられてもよく、指定された複数の最小データ単位と、それら複数の最小データ単位のうちより多くの最小データ単位を含むセクションデータとが関連づけられてもよい。
【0170】
このように、各エレメントを復号して数値データとした後にセクションデータを選択することで、扱うデータ量を減らすことができ、より効率的かつ迅速に処理を行うことができる。
【0171】
なお、図13のフローチャートにおいて、ステップ18と、ステップ20とは入れ替え可能である。すなわち、セクション選択部38がセクションを選択した後に、エレメント復号部36が、選択されたセクションに属するエレメントをそれぞれ復号することで、セクションデータが取得されてもよい。
【0172】
この場合、セクション選択部38は、認識されたエレメント群から、一のエレメントを指定し、エレメントとセクションとを関連づける規則にしたがって、指定されたエレメントと関連づけられる一のセクションを選択する。
【0173】
エレメントを指定する際には、撮像画面中の位置を指定することで、その位置に捕らえられたエレメントを指定してもよい。例えば、画像中の位置をピクセル単位で指定したり、画面の端からkパーセントにあたる位置などと指定したりして、その位置を含む領域を占めるエレメントを指定してもよい。ここで、kは0以上100以下の数である。
また、撮像画面中の連続コード以外のオブジェクトとの関係によりエレメントを指定してもよい。例えば、撮像画面中に含まれるターゲット識別コードとの距離が最短であるエレメントを指定することとしてもよい。
【0174】
エレメントとセクションとを関連づける規則は、ある一のエレメントに対して、そのエレメントが属するセクションのうちいずれか一のセクションを関連づける規則である。例えば、あるエレメントに対して、そのエレメントが先頭に位置するセクションを関連づけたり、そのエレメントが中心に位置するようなセクションを関連づけたりする。
【0175】
セクション選択部38は、一のエレメントを指定する代わりに、複数のエレメントを指定してもよい。この場合、エレメントとセクションとを関連づける規則は、複数のエレメントに対して、一のセクションを関連づける。例えば、指定された複数のエレメントと、それら複数のエレメントを全て含むセクションが関連づけられてもよく、指定された複数のエレメントと、それら複数のエレメントのうち、より多くのエレメントを含むセクションが関連づけられてもよい。
【0176】
このように、数値データに変換する前の画像データの段階でセクションの指定を行うことで、画面中での位置や、位置コード以外のオブジェクトとの関係なども考慮して、データを読み取るべきセクションを指定することが可能となる。
【0177】
セクション取得部分30はまた、一のセクションデータと他のセクションデータとを比較して、それらが連続コード形成の規則にしたがっているか検証することで、切り出したパターンが、確かに目的とする連続コードであるか否かを確認してもよい。
なお、上記セル認識処理、エレメント認識処理、エレメント復号処理、セクション選択処理において用いられる認識条件や排除条件は、後述するように、画面中の位置、他の記号との位置関係などにもとづいて、適宜変更されて、適用されてもよい。
以上の手順で選択されたセクションに関する情報は、位置情報取得部50に送信される。
【0178】
[一定数以上連続する記号を切り出し]
連続コードを切り出すためのアルゴリズムの切り出し判定条件として、一の検出ウィンドウ中での、記号またはエレメントの最低連続数を閾値として設定してもよい。これにより、背景画像に写っている連続コードに類似する画像などの、意味のある情報を持たないノイズを排除することができる。
【0179】
最低連続数は、例えば、一のセクションに含まれる記号またはエレメントの数としてもよい。
また、連続コードが画面よりも広い範囲にわたって付される場合が多いことを考慮して、コード認識装置100の検出ウィンドウと、連続コードを構成する記号のサイズのバランスから、最低連続数を決定してもよい。この場合、使用状況を想定して、経験や実験をもとに事前に最低連続数を設定してもよい。また、撮像のたびに、カメラと連続コードの距離が異なるような場合、撮像の都度、コード認識装置が画面中に検出された記号のサイズの平均等を用いて最低連続数を設定してもよい。後者の場合、例えば、コード認識装置は、画面中に検出される記号のサイズの平均を算出し、その平均サイズの記号が一のスキャン画面の短い辺の長さを占める個数を、最低連続数として設定してもよい。
【0180】
このように、記号やエレメントが一定数以上連続することを切り出し判定条件とすることにより、コード認識装置100の位置コード抽出部24が、連続コード以外の背景画像中の紛らわしい画像と、連続コードとを区別して検出し、抽出することができる。
【0181】
[画像ゆがみやボケへの対応]
上述のように、コード認識装置100のセクションデータ取得部30のセル認識部32は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。しかしながら、コード認識装置100の検出ウィンドウの端などにおいては、画像のゆがみ等により、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。また、ピントがあっていないため、例えば画像をN値化した際に、各記号のサイズにバラツキが出てしまい、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。
【0182】
このため、コード認識装置100の位置コード切り出し条件判定部26やセル認識部32によって、連続コードの一部であると判定されなかった記号であっても、連続コードに属すると判定された記号との位置関係が所定の条件を充たす場合、すなわち連続条件をみたす場合には、連続コードの一部であると判定されるよう定めてもよい。具体的には、連続コードの一部であると判定されなかった記号について、画面中で近傍に連続コードに属すると判定された記号がある場合には、位置コード切り出し条件判定部26またはセル認識部32が、その記号を連続コードの一部であると判定する。
【0183】
ここで、「近傍」であるか否かは、たとえば、記号間距離が相互に連続すると見なしてよいと考えられる基準距離以下であることを条件として判定してもよい。例えば記号の中心間の距離をとる場合、記号の平均サイズの1.5倍を基準距離としてもよい。基準距離はこの他にも、実験または経験により定めてよい。
【0184】
これにより、実際には連続コードの一部である記号が、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて連続コードを構成しないと判定されてしまった場合でも、連続コードに連続していると考えられる場合には、連続コードの一部であるとして、その情報を取得することができる。
【0185】
[画面中の切り出し範囲限定]
上述のように、コード認識装置は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。この際、連続コードの使用目的によっては、コード認識装置100の入力部14の検出ウィンドウの所定範囲のみ考慮すれば足りることもある。たとえば図24の冊子の例だと、連続コードは通常画面下に現れる。そこで所定の範囲として画面の下半分とすればよい。
【0186】
一般に、ターゲットの存在形態やターゲットが置かれる姿勢に応じて連続コードの画面内位置が想定できる場合がある。ターゲットが縦長であったり、複数のターゲットが横方向に並べられているような場合には、ターゲットの上や下に横方向の連続コードがありうるので、画面の下ないし上を所定の範囲とすればよい。また、ターゲットが横長であったり、複数のターゲットが縦方向に並べられているような場合には、ターゲットの右や左に縦方向に連続コードが付されうるので、画面の左ないし右を所定の範囲とすればよい。このように、ターゲットの存在形態やターゲットが置かれる姿勢に応じて想定できる連続コードの画面内位置を含む領域を、連続コード検出の対象領域とすればよい。
【0187】
このような場合、コード認識装置は、その検出ウィンドウの所定の範囲内において検出した記号のみについて、連続コードとして扱えばよい。したがって、コード認識装置100の位置コード切り出し処理部28は、検出ウィンドウの所定の範囲内において検出した記号のみについて、切り出し判定条件や、連続条件をみたすか否か判定する。
【0188】
これにより、不必要な部分についてまで、連続コードが存在するか否か、探索する処理を削減することができ、処理スピードを速めることができる。また、CPUやメモリなどのリソースを有効に使うことができる。
【0189】
[サイクル識別標示]
前述の一次元連続コードは、例えばデブルイン数列の長さや、等差数列の項数などによって定まる長さに限定されるが、一次元連続コードを複数連結することにより、連続コードの長さを所望の長さに延長することができる。
同様に、前述の連続マトリクスコードも、例えばデブルイン数列の長さや、等差数列の項数などによって定まる範囲に限定されるが、連続マトリクスコードを複数連結することにより、連続コードの範囲を所望の範囲に拡大することができる。
【0190】
前述のように、連続コードにおいては、異なる先頭位置から連続する所定数のエレメントからなるセクションはすべて異なるが、同じ連続コードを複数連結する場合、繰り返しの単位であるサイクルのうちの一のサイクル中の一のセクションと、別のサイクル中の一のセクションとが表すデータが同じである場合も生じる。このような場合、コード認識装置は、一のセクションを一意に識別できない。
以下では、同じ連続コードを複数連結して用いる場合の繰り返しの各サイクルを識別するためのサイクル識別標示について説明する。
【0191】
図14(a)および(b)は、それぞれ、母数列140を繰り返し用いたデータ列84を、記号の配列によるパターンとして表現した連続コード80の例を示す。ここで、母数列140は、2進数2桁の等差数列の各項00、01、10、11と、区切り符号”2”とを交互に配列することによって作成した数列”200201210211”である。母数列140においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。
【0192】
図14(a)(b)においては、この母数列140を繰り返し用いることにより作成した、より長いデータ列84の一部が示されている。
図14(a)(b)の連続コード80では、最小データ単位である”0”、”1”、”2”をそれぞれ記号○、◆、☆を用いて表すことで、データ列84をパターンとして表現している。
【0193】
図14(a)の連続コード80には、画像内に写っている線分の数によって各サイクルを識別可能であるように構成されたサイクル識別標示が付されている。図14(a)の例においては、サイクル識別標示142a、142b、142c、142dが、図10に示した検出マークの上側に、それぞれのサイクルに属する記号に対応づけられて付されている。図14(a)において記号とエレメントは一致するので、サイクル識別標示142a、142b、142c、142dは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【0194】
図14(b)は、繰り返しの単位である各サイクルを識別するための別のサイクル識別標示144a、144b、144c、144dを付した連続コード80の例である。サイクル識別標示144a〜dは、連続コード80の、それぞれのサイクルに属する記号に対応づけられて、記号を取り囲むように、各サイクルによってそれぞれ異なる一色で彩色された領域を付すことにより、表現されている。
図14(b)において記号とエレメントは一致するので、サイクル識別標示142a、142b、142c、142dは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【0195】
なお、図14(a)(b)のサイクル識別標示は、連続コード80を切り出すための検出マークも兼ねている。このように、検出マークとサイクル識別標示を一のマークで表現することで、コード認識装置による読み取り手順を簡易化し、またスペースを有効に活用することができる。
【0196】
図15は、母数列を繰り返し用いた長いデータ列をX方向とY方向に用いて、図9に関連して説明した方法と同様の方法により表現した連続マトリクスコード120の例を示す。ここで、X方向母数列146およびY方向母数列148は、2進数2桁の等差数列の各項00、01、10、11と、区切り符号”2”とを交互に配列することによって作成した数列”00201210211”である。この数列においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。
図15においては、このX方向母数列146およびY方向母数列148を繰り返し用いることにより作成した、より長いX方向データ列102およびY方向データ列104の一部を示している。
【0197】
図15の連続マトリクスコード120では、図9に関連して説明したように、各エレメントは、それぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、X方向の最小データ単位を表現している。同様に、各エレメントはそれぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、Y方向の最小データ単位を表現している。なお、上では単に「差」といったが、差が負の値にならないように、例えばmodなどを用いて調整している。
図15の連続マトリクスコード120においては、各最小データ単位である数をそのまま数字を用いた記号として示している。
【0198】
図15の連続マトリクスコード120においては、繰り返しの単位である各グループを識別するためのグループ識別標示として、それぞれのグループに属する記号の背景が各グループによって異なる色で彩色されている。
【0199】
一般的に、異なる先頭位置から連続する所定長の部分数列が全て異なるような母数列の長さは、用いる数の基数や、部分数列の長さによって限定される。より長い母数列を作成したいときには、用いる数の基数を大きくするか、部分数列の長さを長くする必要がある。
連続コードを複数連結し、サイクル識別標示またはグループ識別標示を付すことにより、用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【0200】
[サイクル識別パターン]
図16は、繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表している連続コード80の例である。この連続コード80では、元の連続コードを3個連結して、より長い連続コードを作成したものであるが、同一の数を表すのに各サイクルにおいて異なった色彩配列をもつエレメントを採用している。
連続コード80a、80b、80cは、それぞれ、連続コード80の第一サイクル、第二サイクル、第三サイクルの一部を示している。
【0201】
図16の連続コード80では、データ列84として、デブルイン数列”00001001101011111”を3個連結したデータを用いている。図16においては、各サイクルにおけるデブルイン数列の初めの部分のみをデータ列84として示している。
この連続コード80では、記号として、赤、緑、または青で彩色されたセルの色の配列によりデータが表現され、5個のセルが一のエレメントを構成する。以下においては、配列の説明のため、赤、緑、青のセルをそれぞれ、R、G、Bで表記する。
【0202】
第1のサイクルでは、RBGBGの順にセルが配列されたエレメントが最小データ単位”0”を、RGBGBの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第1のサイクルにおいて、連続コード80は、4個のセルを挟んで、赤いセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0203】
第2のサイクルでは、GRBRBの順にセルが配列されたエレメントが最小データ単位”0”を、GBRBRの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第2のサイクルにおいて、連続コード80は、4個のセルを挟んで、緑のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0204】
第3のサイクルでは、BGRGRの順にセルが配列されたエレメントが最小データ単位”0”を、BRGRGの順にセルが配列されたエレメントが最小データ単位”1”を、それぞれ示す。第3のサイクルにおいて、連続コード80は、4個のセルを挟んで、青のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【0205】
図16の連続コード80では、各データ単位を表現するために用いられるエレメントが、連続コードの繰り返しの単位である各サイクルによって異なるように定められている。このように、各サイクルによって、数を表現する記号の配列を変えることにより、コード認識装置が各サイクルを識別することが可能となる。
同様の方法により、二次元連続マトリクスコードにおいても、連続コードの繰り返しの単位である各グループによってエレメントが異なるようにパターンを形成することができることは、当業者に理解されるところである。
【0206】
このように、連続コードを複数連結し、連続コードの繰り返しの単位である各サイクルまたはグループによって、同じデータを表現するのにエレメントを変えることで、連続コードに用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【0207】
[サイクル識別手順]
図17は、図1のコード認識装置100が、抽出された連続コードのセクションと、サイクル識別表示とにもとづいて、そのセクションの位置を算出する手順を示すフローチャートである。このセクションの位置を算出する処理は、図13のフローチャートで示したセクション認識処理の結果を受けて、位置情報取得部50において実行される。以下、図1も参照しながら説明する。
【0208】
位置情報取得部50は、セクションデータ取得部30から、セクションに関する情報を取得する(S30)。位置情報取得部50の位置情報特定部52は、取得したセクションについて、サイクル内での位置を特定する(S32)。例えば、セクションの表すデータがデブルイン数列の一部である場合には、前もって準備したテーブルを参照することで位置を特定し、セクションの表すデータが等比数列の項と区切り符号を組み合わせた母数列の一部である場合には、計算により、位置を特定する。
【0209】
サイクル情報特定部54は、位置コード抽出部24またはセクションデータ取得部30から、セクションのサイクル情報を取得する(S34)。そして、前もって準備したテーブルなどを参照することにより、そのサイクルの位置を特定する(S36)。
【0210】
座標算出部56は、取得したセクションの位置およびそのセクションの属するサイクル位置に関する情報にもとづいて、セクションの位置を算出する(S38)。セクションの位置は、例えば、あらかじめ定めた座標上の位置として算出してもよい。
【0211】
[環状コード]
図18は、一次元連続コードを環状に配置した、環状連続コード150の例を示す。環状連続コード150は、連続コード80の先頭の記号と、後尾の記号とが隣接するよう配置することにより作成される。図18の例では、データ列84としては、2進数デブルイン数列の一つである数列”0000100110101111”を環状に配置したデータ列を用いている。この数列では、異なる先頭位置から開始する連続する4桁の数字が互いにすべて異なる。
環状連続コード150では、データ列84を記号●、上向き三角記号、下向き三角記号の3種類の記号を用いて、パターン化している。下向き三角記号であるエレメントが最小データ単位”0”を、上向き三角記号あるエレメントが最小データ単位”1”を表す。記号●は、チェック用記号である。
【0212】
このように、環状に配置することで、タイヤやギアなどの円盤状やドーナツ状の物体の回転角度や位相を、環状連続コード150を用いて検知することができる。
なお、環状連続コード150の形状は円形に限られず、トポロジーとして、先頭と終端の記号が隣り合うように配置されていればよい。このように配置することで、何度も同じコースを周回しながらコードを読み取るような場合にも、コードの不連続部分、すなわち情報の空白部分を生じさせることなく、各位置に情報を記録することが可能となる。
【0213】
図19は、連続マトリクスコードを環状に配置した、環状マトリクスコード160の例を示す。環状マトリクスコード160は、連続マトリクスコードの先頭の列と後尾の列とが隣接するよう配置することによって作成される。
【0214】
図19の環状マトリクスコード160は、記号○、◆、☆が、それぞれ最小データ単位”0”、”1”、”2”を表現している。元データとしては、X方向、Y方向ともに母数列として、2進数2桁の等差数列の各項”00”、”01”、”10”、”11”と、区切り符号”2”とを交互に配列することによって作成した数列”00201210211”を用いている。この母数列においては、異なる先頭位置から連続する3個の数からなる部分数列は、すべて異なる。そして、図9に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、X、Y方向の各最小データ単位を表現している。なお、差が負の値にならないように、例えばmod演算などを用いて調整している。
【0215】
図20は、連続マトリクスコードを環状に配置した、環状マトリクスコード160の別の例を示す。元データ、記号については、図19と同じものを用いている。図20においては、環状マトリクスコード160を円筒形状の内側に配置している。
なお、環状連続コード150の形状は図19および20に示した円筒状に限られず、トポロジーとして筒状であればよく、先頭と終端の列または行が隣り合うように配置されていればよい。
このように連続マトリクスコードを環状に配置することで、例えば、幅をもつ回転体の回転角度や位相と、回転軸方向の位置の両方を検知することができる。また、ベルトコンベヤのベルトなど、始端および終端の存在しない面上における位置を、自動認識技術により特定することができる。
【0216】
[埋め込み]
連続コード80が配設されている領域に、連続コード80が表現するデータとは別のデータを記録する情報コードを埋め込むことができる。
【0217】
図21(a)は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列84の例を示す。このデータ列84は、2進数3桁で公差が1の等差数列と区切り符号を組み合わせることにより作成した母数列”0002001201021121・・”(以下、位置データとよぶ)に、別のデータ(以下、埋め込みデータとよぶ)を埋め込んだ例である。図21(a)の位置データにおいては、数字の”2”を区切り符号94として用いており、図では区切り符号94を実線の長方形で囲んで示している。埋め込みデータは、点線で囲んで示している。このデータ列84では、位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。図21(a)のデータ列84は、区切り符号94が数7個おきに配列されているという規則に従って形成されている。
【0218】
コード認識装置100は、区切り符号94を利用し、また予め定められた埋め込みデータ配置規則にもとづいて、位置データと埋め込みデータを区別して抽出することができる。
【0219】
図21(b)は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターン変換前のデータ列84の別の例を示す。
このデータ列84は、デブルイン数列の一つ”0000100110101111”(以下、位置データとよぶ)に、別のデータ(以下、埋め込みデータとよぶ)を埋め込んだ例である。埋め込みデータの最小データ単位は、点線で囲んで示している。位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。位置データは、数0、1を用いて表され、埋め込みデータは、数2、3を用いて表されている。
【0220】
図21(b)のように、区切り符号がない場合でも位置データと埋め込みデータとを、それぞれ異なる数を用いて表すなど、位置データと埋め込みデータの配列に規則を設けることで、コード認識装置100が、位置データと埋め込みデータを分離して抽出することができる。
図21(a)(b)に示したデータ列84を、前述のまたはその他の様々な方法を用いることでパターン化することで、連続コード80を形成することができる。
【0221】
図22は、連続コードが表現するデータ(位置データとよぶ)とは別のデータを記録する情報コードを埋め込んだ連続マトリクスコード170の例を示す。
位置データのX方向データ列102としては、デブルイン数列の一つ”0000010001100101001・・・”を用いている。位置データのY方向データ列104としては、2進数4桁で公差が1の等差数列と区切り符号”2”を交互に配列した母数列を用いている。そして、図9に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、X、Y方向の最小データ単位を表現している。なお、差が負の値にならないように、例えばmod(modulo)演算などを用いて調整している。
【0222】
図22の連続マトリクスコード170において、位置データは、数0、1、2を用いて、埋め込みデータは、数3、4を用いて表している。また、図を見やすくするため、埋め込みデータを灰色の円で囲んで示している。
【0223】
図23は、図22の連続マトリクスコード170を、線分を用いて読み取りパターン化した連続マトリクスコード120の例を示す。”0”を右下がり斜線で、”1”を左下がり斜線で、”2”を2本の交差する斜線で、”3”を鉛直平行線分で、”4”を水平平行線分で、それぞれ表現している。
【0224】
このように、連続コードに、別のデータを記録する情報コードを埋め込むことで、例えば、位置情報に加えて、別のデータをその位置と関連づけて記録することができる。
【0225】
[ターゲットの位置特定]
連続コードは例えば、複数の物品(以下、ターゲット物体ともよぶ)の近傍に配設され、それらの位置を特定するのに用いられてもよい。この場合、コード認識装置100は、複数の物品にそれぞれ付されたターゲット識別コードと、連続コードを同時にとらえ、それぞれのコードを検出画面上での位置と関連づけながら認識し、複数の物品のそれぞれについて、その位置を特定する。
【0226】
図24は、コード認識装置100の入力部14に入力された画像の例を示す。この画像は、ターゲット識別コード180をそれぞれ背表紙に付した冊子を棚に並べ、その下の棚板に、連続コード80を付した状態を撮像したものである。ここでは、位置を特定すべきターゲット物体は、冊子である。
【0227】
このとき、連続コード80は、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう配設されることが好ましい。これにより、コード認識装置100の検出ウィンドウに、複数のターゲット識別コードと連続コード80とが、無理なく同時に収まる。
【0228】
複数のターゲット識別コードと連続コード80との距離については、各ターゲット識別コードの重心から連続コード80におろした垂線の長さとしてもよく、各ターゲット識別コードの連続コード80に近い側の端から連続コード80におろした垂線の長さとしてもよい。そして、これら垂線の長さの平均や、最大値や最小値、中間値が所定の基準距離よりも短くなるよう連続コード80を配置する。
【0229】
所定の基準距離は、コード認識装置100の検出ウィンドウに複数のターゲット識別コードと、連続コード80が、無理なく同時に収まるように定める。例えば、所定の基準距離とターゲット識別コード長さとの和が、検出ウィンドウの一辺の半分となるように、基準距離を定めてもよい。この他にも、所定の基準距離は、実験または経験により使用状況に応じて、適宜定めてよい。
【0230】
このように、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう連続コードを配設することにより、コード認識装置100が一回の撮像または一回の読み取り動作で、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【0231】
また、連続コードは、複数の冊子が並べられる方向に対して、所定の規則にしたがって配設されることが好ましい。所定の規則は、複数の冊子の位置を連続コード80を用いて特定する際に、複数のターゲット識別コード180の位置が、連続コード80上で互いに区別できるように定める。例えば、複数のターゲットの並ぶ方向と、連続コードが平行になるように、定めてもよい。この場合、複数のターゲット識別コード180それぞれの重心について、最小二乗法によるフィッティングにより求めた線分と、連続コードが平行になるように配設することとしてもよい。所定の規則は、平行からの逸脱をどこまで許容するかを示す許容角度を定めてもよい。許容角度は例えば、45度と定めてもよく、この他にも、実験または経験により、使用状況に応じて適宜定めてよい。
【0232】
これにより、複数のターゲット物体の位置を連続コード80を用いて特定する際に、連続コード80上で多数のターゲット物体の位置が重なって特定されることなく、複数のターゲット物体の位置を区別して認識することができる。
【0233】
また、連続コードは、ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることが好ましい。例えば、ターゲット識別コードが磁気で読み取り可能であれば、連続コードも磁気で読み取り可能な形式で表現し、ターゲット識別コードが光学的に読み取り可能であれば、連続コードも光学的に読み取り可能な形式で表現する。
これにより、コード認識装置100の構成を複雑化することなく、一台のコード認識装置100によって、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【0234】
複数のターゲット物体は、棚、台、箱、ラック、床の一部など、複数の物品を収容可能な領域を備える物品収容場に収容されていてもよい。この場合、連続コードは、物品を収容する領域に並置して付される。これにより、複数のターゲット物体の位置を、連続コードを用いて特定することができる。また、物品収容場の形状や連続コードを付す位置を適宜、調整することにより、ターゲット物体と連続コードの位置関係を所定の基準範囲に収めることができ、効果的にターゲット物体の位置を特定することができる。
【0235】
連続コードは、物品収容場において、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるような領域に付されてもよい。この場合、コード認識装置100は、検出可能な連続コードを認識し、あらかじめ測定しておいた初期状態の検出可能な連続コードの分布と比較することにより、物品の収容状態の変化を特定してもよい。例えば、初期状態においては、多数の物品が収容されることで連続コードが全く検出できない状態であったにもかかわらず、あるとき特定の部分の連続コードが検出可能となったときには、その部分に収容されていた物品が存在しなくなったと判定し、表示画面などに出力することとしてもよい。これにより、複数のターゲット物体の存否を、連続コードを用いて判定することができる。
【0236】
[記号単位で精細位置特定]
エレメントを指定することによりセクションを選択する場合、上述の例においては、ターゲット物体に最も近いエレメントを先頭とするセクションや、ターゲット物体に最も近いエレメントが選択したセクションの中心に位置するようなセクションを選択して読み取るものとした。
これらの例のように選択するセクションを固定せず、その都度適切なセクションを選択することとしてもよい。
【0237】
この場合、コード認識装置100において、まず、ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号またはエレメントのうちの一とが関連づけられる。そして、セクションデータ取得部30のセクション選択部38は、関連づけられた記号またはエレメントを含むセクションのうちの適切なセクションを選択する。適切なセクションの選択にあたっては、例えば、読み取り状態のよいセクションを選択してもよい。読み取り状態のよいセクションとしては、例えば、画像の欠けやゆがみなどの影響が最も少ないセクションを選択することとしてもよい。
【0238】
また、基本的には、ターゲット物体に最も近いエレメントを先頭として、連続する所定個数のエレメントからなるセクションを選択する設定としておき、そのセクションの読み取り状態がよくないときに、関連づけられた記号またはエレメントを含むセクションの中から、読み取り状態のよいセクションを選択することとしてもよい。
【0239】
セクションデータ取得部30は、選択したセクションの示すセクションデータとともに、そのセクションに属する記号のうちターゲット物体に最も近い記号に関する情報を位置情報取得部50に提供する。これにより、ターゲット物体のより精細な位置を特定することができる。
【0240】
[コードのサイズ]
連続コードにおいて、一のセクションの長さは、コード認識装置が1回の読み取り動作にて検出できる範囲である検出ウィンドウよりも狭くなるように定める。別の言葉でいうと、前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすように構成する。連続マトリクスコードの場合には、X方向の一のセクションの占める範囲およびY方向の一のセクションの占める範囲の両方が、コード認識装置が1回の読取動作にて検出できる範囲よりも狭くなるように、X方向の一のセクションの占める範囲およびY方向の一のセクションの占める範囲を定める。
【0241】
この関係を満たす一のセクションのサイズは、典型的に使用される状況でのコード認識装置と連続コードとの間の距離や、コード認識装置の解像度などにもとづいて定める。典型的に使用される状況を想定した上で、実験により定めてもよい。
これにより、コード認識装置が1回の読み取り動作で、複数のセクションを効率的に認識することができる。
【0242】
また、コードの全長は、コード認識装置が1回の読み取り動作にて検出できる範囲である検出ウィンドウよりも長い方が好ましい。別の言葉でいうと、連続コードの全幅W1と、コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たす方が好ましい。
これにより、例えば複数のターゲット物体の位置を特定する場合に、コード認識装置の検出ウィンドウを有効に活用して、より広い範囲にあるより多くのターゲット物体について位置を特定することができる。
ただし、W1>W2なる関係を満たさない場合であっても、実施例にかかる連続コードをコード認識装置を用いて読み取ることは可能である。
【0243】
以上の連続コードは、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で、物品に搭載されてもよい。ここで物品とは例えば、シール、ラベルなどの媒体や、本棚の棚板、壁紙、床などの家具や建材およびそれらの一部も含む。
【0244】
以上、いくつかの実施形態を説明した。これら実施の形態の組み合わせもまた本発明の実施形態として有効である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態それぞれの効果をあわせもつ。
【0245】
以上の構成と動作による本発明の利用シーンを、以下、書店の在庫管理を例にして説明する。
【0246】
図24の例のように、各冊子の背表紙にあらかじめターゲット識別コードを付し、各本棚の棚板には連続コードを付しておく。
棚卸しの際、担当者は、コード認識装置のカメラを用いて、ターゲット識別コードと連続コードの両方がカメラの視野に入るように調整しながら、全ての本棚の冊子群を複数回に分けて撮像する。コード認識装置は、撮像した画像から、各ターゲット識別コードと、連続コードのそのターゲット識別コードの近傍に位置するセクションを読み取る。そして、ターゲット識別コードに関連づけられたその書籍に関する情報と、その書籍の収納位置を関連づけて記録する。
【0247】
これにより、本棚に収納されている本の在庫と収納位置に関するリストを迅速かつ簡単に作成することができる。
また、これにより、ある特定の冊子を探したいときに、探したい冊子のタイトルなどの情報をコード認識装置に入力することで、最新の在庫と収納位置に関するリストから、その書籍の詳細な収納位置を得ることができる。
【0248】
書店においては、多数の本棚のそれぞれの棚板に多数の冊子が並べられており、それぞれの本が、各棚のどの位置にあるかまで管理することは容易ではない。
連続コードを利用することにより、簡易かつ迅速に多数の冊子の在庫状況および詳細な収納位置を管理することができる。
このような在庫管理の効率化が商品や材料、部品等の無駄をなくし、納期の短縮と管理コストおよび運送費用の低減に結びつくため、製造業や小売業などの厳しい生き残り競争の中で本発明は重要な意義をもつ。
【0249】
以上、本発明を実施例にもとづいて説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能であること、またそうした変形例も本発明の範囲にあることは、当業者に理解されるところである。
【0250】
例えば、実施形態においては、等差数列の各項と区切り符号を交互に配置したデータ列を用いることにより、異なる先頭位置から連続する所定数個のエレメントからなるセクションが表現するデータがすべて異なるような連続コードを作成できることを示した。この連続コードは、DNAの塩基配列を情報担体として利用する場合にも応用可能である。塩基配列に情報を書き込む際には、同じ長さをもつ、互いに異なる塩基配列の集合の設計が必要となる。本発明の連続コードを用いて長い塩基配列を作成すれば、各セクションにおいて、塩基の配列が一致しない。そこで、作成した長い塩基配列をセクションの長さ以上の長さで切り出すことにより、同じ長さをもつ、互いに異なる塩基配列の集合を作成することができ、ミスハイブリダイゼーションを避けることができる。
【産業上の利用可能性】
【0251】
本発明は、情報処理分野において利用することができる。
【符号の説明】
【0252】
24 位置コード抽出部、 30 セクションデータ取得部、 32 セル認識部、 34 エレメント認識部、 36 エレメント復号部、 100 コード認識装置、 108 セクション、 110 ドットマトリクスコード、 112 セクション、 120 連続マトリクスコード、 122,124 セクション、 130a,130b,132,134,136 検出マーク、 142a,144a サイクル識別標示、 150 環状連続コード、 160 環状マトリクスコード、 170 連続マトリクスコード、 180 ターゲット識別コード。
【特許請求の範囲】
【請求項1】
それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、
前記エレメントは、一以上の記号またはその配列を含んで形成されており、
前記連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含むことを特徴とする連続コード。
【請求項2】
請求項1に記載の連続コードであって、
エレメントをm個(mは2以上の整数)含む標識部と、前記標識部相互の境界を示すエレメントとが交互に配置されて構成される連続コード。
【請求項3】
前記標識部はそれぞれ、等差数列の一項であるm桁のn進数(nは2以上の整数)を表現することを特徴とする請求項2に記載の連続コード。
【請求項4】
前記等差数列の公差は、nmと互いに素である数または1のいずれかであることを特徴とする請求項3に記載の連続コード。
【請求項5】
請求項1から4のいずれかに記載の連続コードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続コード。
【請求項6】
請求項1から5のいずれかに記載の連続コードであって、当該連続コードを切り出すための検出マークを含んで構成されていることを特徴とする連続コード。
【請求項7】
所定の検出器によって読み取られる請求項1から6のいずれかに記載の連続コードであって、
前記検出器が読み取ったパターンを前記連続コードの一部として切り出すか否か判断する際の閾値となる記号またはエレメントの最低連続数が定められていることを特徴とする連続コード。
【請求項8】
請求項1から7のいずれかに記載の連続コードを複数連結してなる連続コードであって、
繰り返しの単位である各サイクルを識別するためのサイクル識別標示が、それぞれのサイクルに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続コード。
【請求項9】
請求項1から8のいずれかに記載の連続コードを複数連結してなる連続コードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続コードの繰り返しの単位である各サイクルによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続コード。
【請求項10】
請求項1から9のいずれかに記載の連続コードであって、その先頭の記号と、後尾の記号とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続コード。
【請求項11】
請求項1から10のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コードと前記連続コードとの距離が所定の基準距離よりも短くなるよう配設されていることを特徴とする連続コード。
【請求項12】
請求項1から11のいずれかに記載の連続コードであって、
前記連続コードが配設されている領域に、前記連続コードが表現するデータとは別のデータを記録する情報コードが埋め込まれていることを特徴とする連続コード。
【請求項13】
請求項1から12のいずれかに記載の連続コードであって、
それぞれターゲット識別コードが付された複数のターゲット物体の配列に対して、
それら複数のターゲット物体の位置を前記連続コードを用いて特定するために定められた規則にしたがって配設されていることを特徴とする連続コード。
【請求項14】
請求項1から13のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット物体の位置を特定することが可能であるように構成されていることを特徴とする連続コード。
【請求項15】
請求項13または14に記載の連続コードであって、
前記ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続コード。
【請求項16】
請求項1から15のいずれかに記載の連続コードであって、
前記記号は、光学的に認識可能な形式で表現されていることを特徴とする連続コード。
【請求項17】
請求項1から16のいずれかに記載の連続コードであって、
前記記号は色の付されたセルであり、前記セルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続コード。
【請求項18】
請求項1から17のいずれかに記載の連続コードであって、
前記記号は、それぞれの所定の基準位置からの変位を用いてデータが表現されるよう配置されていることを特徴とする連続コード。
【請求項19】
請求項1から18のいずれかに記載の連続コードであって、
前記連続コードは、単一の色彩による領域に取り囲まれていることを特徴とする連続コード。
【請求項20】
請求項1から19のいずれかに記載の連続コードであって、
前記セクションの占める範囲が、前記連続コードを検出する検出器が1回の読み取り動作にて検出できる範囲よりも狭くなるよう前記セクションのサイズが定められていることを特徴とする連続コード。
【請求項21】
コード認識装置が請求項1から20のいずれかに記載の連続コードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項22】
請求項21に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項23】
請求項21に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項24】
請求項23に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項25】
請求項21から24のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項26】
請求項21から25のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項27】
請求項1から20のいずれかに記載の連続コードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項28】
複数の物品を収容可能な領域を備える物品収容場であって、
前記物品を収容する領域に並置して、請求項1から20のいずれかに記載の連続コードが付されていることを特徴とする物品収容場。
【請求項29】
複数の物品を収容可能な空間を備える物品収容場であって、
請求項1から20のいずれかに記載の連続コードが付されており、
物品を収容すると、その物品により外部から前記連続コードの一部が検出不可能となるよう前記連続コードが付される領域が定められていることを特徴とする物品収容場。
【請求項30】
記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、
当該連続コードの全幅W1と、前記コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成されたことを特徴とする連続コード。
【請求項31】
記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、
前記連続コードの一部を検出する検出部と、
前記検出した連続コードに含まれる記号の配列を復号する復号部とを備え、
当該連続コードの全幅W1と、前記検出部が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成されたことを特徴とするコード認識装置。
【請求項32】
複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、
前記記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、
前記連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項33】
請求項32に記載の連続マトリクスコードであって、
前記連続マトリクスコードを構成する各行は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成され、
前記連続マトリクスコードを構成する各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成されていることを特徴とする連続マトリクスコード。
【請求項34】
請求項32または33に記載の連続マトリクスコードであって、
前記エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項35】
それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、
前記記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、
前記連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、
前記連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められていることを特徴とする連続マトリクスコード。
【請求項36】
請求項32から35のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードは、行方向と列方向とで異なる数列を利用してデータが表現されるように形成されていることを特徴とする連続マトリクスコード。
【請求項37】
請求項32から36のいずれかに記載の連続マトリクスコードであって、
前記標識部はそれぞれ、等差数列の一項である数を表現することを特徴とする連続マトリクスコード。
【請求項38】
請求項32から37のいずれかに記載の連続マトリクスコードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続マトリクスコード。
【請求項39】
請求項32から38のいずれかに記載の連続マトリクスコードであって、記号またはエレメントのそれぞれ、またはそれらのグループが、該連続マトリクスコードを切り出すための検出マークを含んで形成されていることを特徴とする連続マトリクスコード。
【請求項40】
所定の検出器によって読み出される請求項32から39のいずれかに記載の連続マトリクスコードであって、
前記コード認識装置が読み取られた記号を前記連続マトリクスコードの一部であるとして切り出すか否か判断する際の閾値となる記号の最低連続数が定められていることを特徴とする連続マトリクスコード。
【請求項41】
請求項32から40のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
繰り返しの単位である各グループを識別するためのグループ識別標示が、それぞれのグループに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続マトリクスコード。
【請求項42】
請求項32から40のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続マトリクスコードの繰り返しの単位である各グループによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続マトリクスコード。
【請求項43】
請求項32から42のいずれかに記載の連続マトリクスコードであって、その先頭の列と後尾の列とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続マトリクスコード。
【請求項44】
請求項32から43のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードが配設されている領域に、前記連続マトリクスコードが表現するデータとは別のデータを記録する情報コードがさらに埋め込まれていることを特徴とする連続マトリクスコード。
【請求項45】
請求項32から44のいずれかに記載の連続マトリクスコードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、連続マトリクスコードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット識別コードの位置を特定することが可能であるように構成されていることを特徴とする連続マトリクスコード。
【請求項46】
請求項45に記載の連続マトリクスコードであって、
前記ターゲット識別コードと、前記連続マトリクスコードとは、同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続マトリクスコード。
【請求項47】
請求項32から46のいずれかに記載の連続マトリクスコードであって、
前記各行において、各セクションはk(kは3以上の整数)個のエレメントを含んで形成されており、
前記各列において、各セクションはk(kは3以上の整数)個のエレメントを含んで形成されており、
前記連続コードのうち連続するk行の連続するk列部分を形成する部分が占める範囲が、前記連続コードを読み取るための検出器が1回の読取動作にて検出できる範囲よりも狭くなるよう前記連続マトリクスコードのサイズが定められていることを特徴とする連続マトリクスコード。
【請求項48】
コード認識装置が請求項32から47のいずれかに記載の連続マトリクスコードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項49】
請求項48に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項50】
請求項48に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項51】
請求項50に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項52】
請求項48から51のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項53】
請求項48から52のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項54】
請求項32から47のいずれかに記載の連続マトリクスコードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項55】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項32から47のいずれかに記載の連続マトリクスコードが付されていることを特徴とする物品収容場。
【請求項56】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項32から47のいずれかに記載の連続マトリクスコードが付されており、
物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう前記連続マトリクスコードが付される領域が定められていることを特徴とする物品収容場。
【請求項57】
請求項1から20のいずれかに記載の連続コードまたは請求項32から47のいずれかに記載の連続マトリクスコードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載したことを特徴とする物品。
【請求項1】
それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、
前記エレメントは、一以上の記号またはその配列を含んで形成されており、
前記連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含むことを特徴とする連続コード。
【請求項2】
請求項1に記載の連続コードであって、
エレメントをm個(mは2以上の整数)含む標識部と、前記標識部相互の境界を示すエレメントとが交互に配置されて構成される連続コード。
【請求項3】
前記標識部はそれぞれ、等差数列の一項であるm桁のn進数(nは2以上の整数)を表現することを特徴とする請求項2に記載の連続コード。
【請求項4】
前記等差数列の公差は、nmと互いに素である数または1のいずれかであることを特徴とする請求項3に記載の連続コード。
【請求項5】
請求項1から4のいずれかに記載の連続コードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続コード。
【請求項6】
請求項1から5のいずれかに記載の連続コードであって、当該連続コードを切り出すための検出マークを含んで構成されていることを特徴とする連続コード。
【請求項7】
所定の検出器によって読み取られる請求項1から6のいずれかに記載の連続コードであって、
前記検出器が読み取ったパターンを前記連続コードの一部として切り出すか否か判断する際の閾値となる記号またはエレメントの最低連続数が定められていることを特徴とする連続コード。
【請求項8】
請求項1から7のいずれかに記載の連続コードを複数連結してなる連続コードであって、
繰り返しの単位である各サイクルを識別するためのサイクル識別標示が、それぞれのサイクルに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続コード。
【請求項9】
請求項1から8のいずれかに記載の連続コードを複数連結してなる連続コードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続コードの繰り返しの単位である各サイクルによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続コード。
【請求項10】
請求項1から9のいずれかに記載の連続コードであって、その先頭の記号と、後尾の記号とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続コード。
【請求項11】
請求項1から10のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コードと前記連続コードとの距離が所定の基準距離よりも短くなるよう配設されていることを特徴とする連続コード。
【請求項12】
請求項1から11のいずれかに記載の連続コードであって、
前記連続コードが配設されている領域に、前記連続コードが表現するデータとは別のデータを記録する情報コードが埋め込まれていることを特徴とする連続コード。
【請求項13】
請求項1から12のいずれかに記載の連続コードであって、
それぞれターゲット識別コードが付された複数のターゲット物体の配列に対して、
それら複数のターゲット物体の位置を前記連続コードを用いて特定するために定められた規則にしたがって配設されていることを特徴とする連続コード。
【請求項14】
請求項1から13のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット物体の位置を特定することが可能であるように構成されていることを特徴とする連続コード。
【請求項15】
請求項13または14に記載の連続コードであって、
前記ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続コード。
【請求項16】
請求項1から15のいずれかに記載の連続コードであって、
前記記号は、光学的に認識可能な形式で表現されていることを特徴とする連続コード。
【請求項17】
請求項1から16のいずれかに記載の連続コードであって、
前記記号は色の付されたセルであり、前記セルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続コード。
【請求項18】
請求項1から17のいずれかに記載の連続コードであって、
前記記号は、それぞれの所定の基準位置からの変位を用いてデータが表現されるよう配置されていることを特徴とする連続コード。
【請求項19】
請求項1から18のいずれかに記載の連続コードであって、
前記連続コードは、単一の色彩による領域に取り囲まれていることを特徴とする連続コード。
【請求項20】
請求項1から19のいずれかに記載の連続コードであって、
前記セクションの占める範囲が、前記連続コードを検出する検出器が1回の読み取り動作にて検出できる範囲よりも狭くなるよう前記セクションのサイズが定められていることを特徴とする連続コード。
【請求項21】
コード認識装置が請求項1から20のいずれかに記載の連続コードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項22】
請求項21に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項23】
請求項21に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項24】
請求項23に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項25】
請求項21から24のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項26】
請求項21から25のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項27】
請求項1から20のいずれかに記載の連続コードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項28】
複数の物品を収容可能な領域を備える物品収容場であって、
前記物品を収容する領域に並置して、請求項1から20のいずれかに記載の連続コードが付されていることを特徴とする物品収容場。
【請求項29】
複数の物品を収容可能な空間を備える物品収容場であって、
請求項1から20のいずれかに記載の連続コードが付されており、
物品を収容すると、その物品により外部から前記連続コードの一部が検出不可能となるよう前記連続コードが付される領域が定められていることを特徴とする物品収容場。
【請求項30】
記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、
当該連続コードの全幅W1と、前記コード認識装置が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成されたことを特徴とする連続コード。
【請求項31】
記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、
前記連続コードの一部を検出する検出部と、
前記検出した連続コードに含まれる記号の配列を復号する復号部とを備え、
当該連続コードの全幅W1と、前記検出部が1回の読取動作にて検出できるウィンドウの幅W2とは、W1>W2なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数N1と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数N2とは、N1>N2なる関係を満たすよう構成されたことを特徴とするコード認識装置。
【請求項32】
複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、
前記記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、
前記連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項33】
請求項32に記載の連続マトリクスコードであって、
前記連続マトリクスコードを構成する各行は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成され、
前記連続マトリクスコードを構成する各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成されていることを特徴とする連続マトリクスコード。
【請求項34】
請求項32または33に記載の連続マトリクスコードであって、
前記エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項35】
それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、
前記記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、
前記連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、
前記連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められていることを特徴とする連続マトリクスコード。
【請求項36】
請求項32から35のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードは、行方向と列方向とで異なる数列を利用してデータが表現されるように形成されていることを特徴とする連続マトリクスコード。
【請求項37】
請求項32から36のいずれかに記載の連続マトリクスコードであって、
前記標識部はそれぞれ、等差数列の一項である数を表現することを特徴とする連続マトリクスコード。
【請求項38】
請求項32から37のいずれかに記載の連続マトリクスコードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続マトリクスコード。
【請求項39】
請求項32から38のいずれかに記載の連続マトリクスコードであって、記号またはエレメントのそれぞれ、またはそれらのグループが、該連続マトリクスコードを切り出すための検出マークを含んで形成されていることを特徴とする連続マトリクスコード。
【請求項40】
所定の検出器によって読み出される請求項32から39のいずれかに記載の連続マトリクスコードであって、
前記コード認識装置が読み取られた記号を前記連続マトリクスコードの一部であるとして切り出すか否か判断する際の閾値となる記号の最低連続数が定められていることを特徴とする連続マトリクスコード。
【請求項41】
請求項32から40のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
繰り返しの単位である各グループを識別するためのグループ識別標示が、それぞれのグループに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続マトリクスコード。
【請求項42】
請求項32から40のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続マトリクスコードの繰り返しの単位である各グループによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続マトリクスコード。
【請求項43】
請求項32から42のいずれかに記載の連続マトリクスコードであって、その先頭の列と後尾の列とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続マトリクスコード。
【請求項44】
請求項32から43のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードが配設されている領域に、前記連続マトリクスコードが表現するデータとは別のデータを記録する情報コードがさらに埋め込まれていることを特徴とする連続マトリクスコード。
【請求項45】
請求項32から44のいずれかに記載の連続マトリクスコードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、連続マトリクスコードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット識別コードの位置を特定することが可能であるように構成されていることを特徴とする連続マトリクスコード。
【請求項46】
請求項45に記載の連続マトリクスコードであって、
前記ターゲット識別コードと、前記連続マトリクスコードとは、同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続マトリクスコード。
【請求項47】
請求項32から46のいずれかに記載の連続マトリクスコードであって、
前記各行において、各セクションはk(kは3以上の整数)個のエレメントを含んで形成されており、
前記各列において、各セクションはk(kは3以上の整数)個のエレメントを含んで形成されており、
前記連続コードのうち連続するk行の連続するk列部分を形成する部分が占める範囲が、前記連続コードを読み取るための検出器が1回の読取動作にて検出できる範囲よりも狭くなるよう前記連続マトリクスコードのサイズが定められていることを特徴とする連続マトリクスコード。
【請求項48】
コード認識装置が請求項32から47のいずれかに記載の連続マトリクスコードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項49】
請求項48に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項50】
請求項48に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項51】
請求項50に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項52】
請求項48から51のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項53】
請求項48から52のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項54】
請求項32から47のいずれかに記載の連続マトリクスコードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項55】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項32から47のいずれかに記載の連続マトリクスコードが付されていることを特徴とする物品収容場。
【請求項56】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項32から47のいずれかに記載の連続マトリクスコードが付されており、
物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう前記連続マトリクスコードが付される領域が定められていることを特徴とする物品収容場。
【請求項57】
請求項1から20のいずれかに記載の連続コードまたは請求項32から47のいずれかに記載の連続マトリクスコードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載したことを特徴とする物品。
【図1】
【図4】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図18】
【図19】
【図20】
【図21】
【図23】
【図24】
【図2】
【図3】
【図5】
【図6】
【図14】
【図15】
【図16】
【図17】
【図22】
【図4】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図18】
【図19】
【図20】
【図21】
【図23】
【図24】
【図2】
【図3】
【図5】
【図6】
【図14】
【図15】
【図16】
【図17】
【図22】
【公開番号】特開2011−145826(P2011−145826A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−5036(P2010−5036)
【出願日】平成22年1月13日(2010.1.13)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月13日(2010.1.13)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
[ Back to top ]