(57)【要約】【課題】きめ細かくかつ効率的に情報を提示するためのコードと、そのコードを検出し認識する方法および装置を提供する。【解決手段】それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードにおいて、エレメントは、一以上の記号またはその配列を含んで形成されている。連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められている。パターンは、連続コード形成の規則にしたがって、一以上のエレメントまたは一以上の記号を単位として、周期的に形成される。【選択図】図２
2011145826.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、
前記エレメントは、一以上の記号またはその配列を含んで形成されており、
前記連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含むことを特徴とする連続コード。
【請求項２】
請求項１に記載の連続コードであって、
エレメントをｍ個（ｍは２以上の整数）含む標識部と、前記標識部相互の境界を示すエレメントとが交互に配置されて構成される連続コード。
【請求項３】
前記標識部はそれぞれ、等差数列の一項であるｍ桁のｎ進数（ｎは２以上の整数）を表現することを特徴とする請求項２に記載の連続コード。
【請求項４】
前記等差数列の公差は、ｎｍと互いに素である数または１のいずれかであることを特徴とする請求項３に記載の連続コード。
【請求項５】
請求項１から４のいずれかに記載の連続コードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続コード。
【請求項６】
請求項１から５のいずれかに記載の連続コードであって、当該連続コードを切り出すための検出マークを含んで構成されていることを特徴とする連続コード。
【請求項７】
所定の検出器によって読み取られる請求項１から６のいずれかに記載の連続コードであって、
前記検出器が読み取ったパターンを前記連続コードの一部として切り出すか否か判断する際の閾値となる記号またはエレメントの最低連続数が定められていることを特徴とする連続コード。
【請求項８】
請求項１から７のいずれかに記載の連続コードを複数連結してなる連続コードであって、
繰り返しの単位である各サイクルを識別するためのサイクル識別標示が、それぞれのサイクルに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続コード。
【請求項９】
請求項１から８のいずれかに記載の連続コードを複数連結してなる連続コードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続コードの繰り返しの単位である各サイクルによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続コード。
【請求項１０】
請求項１から９のいずれかに記載の連続コードであって、その先頭の記号と、後尾の記号とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続コード。
【請求項１１】
請求項１から１０のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コードと前記連続コードとの距離が所定の基準距離よりも短くなるよう配設されていることを特徴とする連続コード。
【請求項１２】
請求項１から１１のいずれかに記載の連続コードであって、
前記連続コードが配設されている領域に、前記連続コードが表現するデータとは別のデータを記録する情報コードが埋め込まれていることを特徴とする連続コード。
【請求項１３】
請求項１から１２のいずれかに記載の連続コードであって、
それぞれターゲット識別コードが付された複数のターゲット物体の配列に対して、
それら複数のターゲット物体の位置を前記連続コードを用いて特定するために定められた規則にしたがって配設されていることを特徴とする連続コード。
【請求項１４】
請求項１から１３のいずれかに記載の連続コードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット物体の位置を特定することが可能であるように構成されていることを特徴とする連続コード。
【請求項１５】
請求項１３または１４に記載の連続コードであって、
前記ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続コード。
【請求項１６】
請求項１から１５のいずれかに記載の連続コードであって、
前記記号は、光学的に認識可能な形式で表現されていることを特徴とする連続コード。
【請求項１７】
請求項１から１６のいずれかに記載の連続コードであって、
前記記号は色の付されたセルであり、前記セルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続コード。
【請求項１８】
請求項１から１７のいずれかに記載の連続コードであって、
前記記号は、それぞれの所定の基準位置からの変位を用いてデータが表現されるよう配置されていることを特徴とする連続コード。
【請求項１９】
請求項１から１８のいずれかに記載の連続コードであって、
前記連続コードは、単一の色彩による領域に取り囲まれていることを特徴とする連続コード。
【請求項２０】
請求項１から１９のいずれかに記載の連続コードであって、
前記セクションの占める範囲が、前記連続コードを検出する検出器が１回の読み取り動作にて検出できる範囲よりも狭くなるよう前記セクションのサイズが定められていることを特徴とする連続コード。
【請求項２１】
コード認識装置が請求項１から２０のいずれかに記載の連続コードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項２２】
請求項２１に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項２３】
請求項２１に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項２４】
請求項２３に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項２５】
請求項２１から２４のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項２６】
請求項２１から２５のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項２７】
請求項１から２０のいずれかに記載の連続コードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項２８】
複数の物品を収容可能な領域を備える物品収容場であって、
前記物品を収容する領域に並置して、請求項１から２０のいずれかに記載の連続コードが付されていることを特徴とする物品収容場。
【請求項２９】
複数の物品を収容可能な空間を備える物品収容場であって、
請求項１から２０のいずれかに記載の連続コードが付されており、
物品を収容すると、その物品により外部から前記連続コードの一部が検出不可能となるよう前記連続コードが付される領域が定められていることを特徴とする物品収容場。
【請求項３０】
記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、
当該連続コードの全幅Ｗ１と、前記コード認識装置が１回の読取動作にて検出できるウィンドウの幅Ｗ２とは、Ｗ１＞Ｗ２なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数Ｎ１と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数Ｎ２とは、Ｎ１＞Ｎ２なる関係を満たすよう構成されたことを特徴とする連続コード。
【請求項３１】
記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、
前記連続コードの一部を検出する検出部と、
前記検出した連続コードに含まれる記号の配列を復号する復号部とを備え、
当該連続コードの全幅Ｗ１と、前記検出部が１回の読取動作にて検出できるウィンドウの幅Ｗ２とは、Ｗ１＞Ｗ２なる関係を満たし、
前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数Ｎ１と、記号の配列に含まれる記号の数であって前記コード認識装置がその意味内容を解釈可能な最少の数Ｎ２とは、Ｎ１＞Ｎ２なる関係を満たすよう構成されたことを特徴とするコード認識装置。
【請求項３２】
複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、
前記記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、
前記連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、
前記エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項３３】
請求項３２に記載の連続マトリクスコードであって、
前記連続マトリクスコードを構成する各行は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成され、
前記連続マトリクスコードを構成する各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されて構成されていることを特徴とする連続マトリクスコード。
【請求項３４】
請求項３２または３３に記載の連続マトリクスコードであって、
前記エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていることを特徴とする連続マトリクスコード。
【請求項３５】
それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、
前記記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、
前記連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、
前記連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、
前記各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められていることを特徴とする連続マトリクスコード。
【請求項３６】
請求項３２から３５のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードは、行方向と列方向とで異なる数列を利用してデータが表現されるように形成されていることを特徴とする連続マトリクスコード。
【請求項３７】
請求項３２から３６のいずれかに記載の連続マトリクスコードであって、
前記標識部はそれぞれ、等差数列の一項である数を表現することを特徴とする連続マトリクスコード。
【請求項３８】
請求項３２から３７のいずれかに記載の連続マトリクスコードであって、当該連続コードを切り出すためのアルゴリズムの切り出し判定条件に適合するよう構成されていることを特徴とする連続マトリクスコード。
【請求項３９】
請求項３２から３８のいずれかに記載の連続マトリクスコードであって、記号またはエレメントのそれぞれ、またはそれらのグループが、該連続マトリクスコードを切り出すための検出マークを含んで形成されていることを特徴とする連続マトリクスコード。
【請求項４０】
所定の検出器によって読み出される請求項３２から３９のいずれかに記載の連続マトリクスコードであって、
前記コード認識装置が読み取られた記号を前記連続マトリクスコードの一部であるとして切り出すか否か判断する際の閾値となる記号の最低連続数が定められていることを特徴とする連続マトリクスコード。
【請求項４１】
請求項３２から４０のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
繰り返しの単位である各グループを識別するためのグループ識別標示が、それぞれのグループに属する記号またはエレメントに対応づけられて付されていることを特徴とする連続マトリクスコード。
【請求項４２】
請求項３２から４０のいずれかに記載の連続マトリクスコードを複数連結してなる連続マトリクスコードであって、
各データ単位を表現するために複数のエレメントがそれぞれ用いられ、連続マトリクスコードの繰り返しの単位である各グループによって、各データ単位を表現するために異なるエレメントを用いてパターンが形成されていることを特徴とする連続マトリクスコード。
【請求項４３】
請求項３２から４２のいずれかに記載の連続マトリクスコードであって、その先頭の列と後尾の列とが隣接するよう、当該コードが閉ループ状に構成されていることを特徴とする連続マトリクスコード。
【請求項４４】
請求項３２から４３のいずれかに記載の連続マトリクスコードであって、
前記連続マトリクスコードが配設されている領域に、前記連続マトリクスコードが表現するデータとは別のデータを記録する情報コードがさらに埋め込まれていることを特徴とする連続マトリクスコード。
【請求項４５】
請求項３２から４４のいずれかに記載の連続マトリクスコードであって、
ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、連続マトリクスコードを構成する記号のうちの一とが関連づけられた場合に、
その一の記号が属するセクションが示す位置データを提示するとともに、前記セクション内でのその一の記号の位置を提示することにより、前記ターゲット識別コードの位置を特定することが可能であるように構成されていることを特徴とする連続マトリクスコード。
【請求項４６】
請求項４５に記載の連続マトリクスコードであって、
前記ターゲット識別コードと、前記連続マトリクスコードとは、同種の技術を用いて読み取ることが可能である形式で表現されていることを特徴とする連続マトリクスコード。
【請求項４７】
請求項３２から４６のいずれかに記載の連続マトリクスコードであって、
前記各行において、各セクションはｋ（ｋは３以上の整数）個のエレメントを含んで形成されており、
前記各列において、各セクションはｋ（ｋは３以上の整数）個のエレメントを含んで形成されており、
前記連続コードのうち連続するｋ行の連続するｋ列部分を形成する部分が占める範囲が、前記連続コードを読み取るための検出器が１回の読取動作にて検出できる範囲よりも狭くなるよう前記連続マトリクスコードのサイズが定められていることを特徴とする連続マトリクスコード。
【請求項４８】
コード認識装置が請求項３２から４７のいずれかに記載の連続マトリクスコードを復号し、データ列に変換するためのデコード方法であって、
一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含むことを特徴とする方法。
【請求項４９】
請求項４８に記載のデコード方法であって、
前記セクション選択ステップは、
連続コードを構成するエレメントをそれぞれ復号したデータ単位の配列において、一以上のデータ単位を指定するステップと、
前記指定されたデータ単位に関連づけられた一以上のセクションデータを選択するステップとを含むことを特徴とする方法。
【請求項５０】
請求項４８に記載のデコード方法であって、
前記セクション選択ステップは、
入力された画像において一以上の記号またはエレメントを指定するエレメント指定ステップと、
前記指定された記号またはエレメントに関連づけられた一以上のセクションを選択するステップとを含むことを特徴とする方法。
【請求項５１】
請求項５０に記載のデコード方法であって、
前記エレメント指定ステップにおいては、
画像内の前記記号またはエレメントの位置、もしくは画像内の他のオブジェクトと前記記号またはエレメントとの位置関係にもとづき、一以上の記号またはエレメントが指定されることを特徴とする方法。
【請求項５２】
請求項４８から５１のいずれかに記載のデコード方法であって、
抽出された連続コードから、記号切り出し条件をみたす記号を抽出し、それぞれの記号を特定する記号認識ステップをさらに備え、
前記記号認識ステップは、
記号切り出し条件をみたさないと判定された記号と、記号切り出し条件をみたすと判定された記号との位置関係が、記号連続条件をみたす場合に、記号切り出し条件をみたさないと判定された記号を抽出し、特定する連続記号抽出ステップを含むことを特徴とする方法。
【請求項５３】
請求項４８から５２のいずれかに記載のデコード方法であって、
前記記号認識ステップにおいては、前記検出器の検出ウィンドウの所定の範囲内において検出した記号について、前記記号切り出し条件をみたすか否か判定されることを特徴とする方法。
【請求項５４】
請求項３２から４７のいずれかに記載の連続マトリクスコードを認識するコード認識装置であって、
抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含むことを特徴とするコード認識装置。
【請求項５５】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項３２から４７のいずれかに記載の連続マトリクスコードが付されていることを特徴とする物品収容場。
【請求項５６】
複数の物品を収容可能な領域を備える物品収容場であって、
請求項３２から４７のいずれかに記載の連続マトリクスコードが付されており、
物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう前記連続マトリクスコードが付される領域が定められていることを特徴とする物品収容場。
【請求項５７】
請求項１から２０のいずれかに記載の連続コードまたは請求項３２から４７のいずれかに記載の連続マトリクスコードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載したことを特徴とする物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報符号化技術に関し、特に、物品に付す情報処理用のコードと、そのコードを認識する方法および装置に関する。
【背景技術】
【０００２】
効率的な在庫管理は、製造業や小売業を中心とする厳しいコスト競争や納期短縮の競争の中にあって、非常に重要なテーマである。たとえば広大な倉庫に膨大な数の商品や部品（これらを統括的に「物品」という）を運び込んで管理する場合、どこに何がいくつあるのか正確に把握するのは煩瑣な作業である。広い図書館や書店で多数の本を管理する場合も同様である。
【０００３】
一般に、何がどこにあるかを把握するためにカメラで撮影した画像を利用することは一策である。すなわち、物品が存在する空間をカメラで撮影してその画像を解析すれば物品とその位置を特定することができる。あらかじめ物品にバーコードその他の識別コードを付しておけば画像の解析は自動化しやすい。
【０００４】
例えば、特許文献１には、歯車上の位置を検出するために、歯車に放射状に複数のバーコードを付す方法が記載されている。この例においては、各バーコードの表す数字が回転に伴って増加するようにバーコードが配列され、固定したバーコードリーダにてそのうちの一のバーコードを読みとることで、その時点での歯車の回転量を認識することができる。
【０００５】
しかし、倉庫のような広い空間では、新たな問題が発生する。カメラで撮影しようにも、１回の撮影で広い空間やすべての物品を写すことは困難である。一方、多数の写真を撮影するとすれば、各画像がどの位置で撮影されたか把握する作業が別途必要になる。書店の在庫管理の場合、多数の本棚はいずれも似ていることが多く、しかもひとつの本棚の中ですら、そのいずれの部分かを画像から特定することは容易とはいえない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３８５６６号公報
【特許文献２】特許４００５６２１号公報
【特許文献３】特開２００８−２８７４１４号公報
【特許文献４】特開２００９−３７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
広い空間において、物品とその位置を自動認識技術を用いて管理するとき、カメラが取り込んだ画像が全体の中のいずれの部分であるのかを特定するための方法として、各位置に、全体に対する位置座標を表すマークやコード（以下、マーク等という）を付しておく方法がある。
書店の在庫管理の例でいうと、ある本がどの棚のどの位置にあるのかカメラが撮影した画像から特定できるように、一例として、棚板の複数個所に、その棚板上での位置を示すバーコードをそれぞれ貼り付けておく方法が考えられる。
このような場合、カメラが、少なくとも各マーク等をそれぞれを読み取るだけの解像度を有することが必要となる。
【０００８】
各マーク等は、その座標を示す数値を個々に表す必要がある。座標を詳細に示そうとすると座標を示す数値の桁数が大きくなり、いきおいマーク等に詰め込む情報量が大きくなるため、マーク等がより複雑なものとなる。
しかしながら、このような座標を表すマーク等は、できるだけ在庫管理等の本来の目的に対して邪魔にならない小振りなものが望ましいと考えられる。
【０００９】
書店の例でいうと、各本の収納位置をきめ細かに管理するためには、棚板上での位置を細かく特定できるようにしておく必要があり、このためには、一枚のバーコードのサイズを小さくし、数多くのコードを棚板に貼り付ける必要がある。しかも、各位置を詳細に表すためには、各位置を示す数値の桁数も大きくなり、一枚のバーコードの情報量が増えるため、バーコードの表記をより細かくせざるをえない。さらに、バーコードは棚板に貼り付けるため、できるだけ小振りなサイズが望ましい。
【００１０】
さらに、位置として２次元や３次元の位置関係を表現する場合、座標を表すマーク等は２次元や３次元の座標を示すことが必要となり、ますます表現すべき情報量が増え、座標を表すマークやコードなどがより複雑になり、より細かく表記せざるをえない。
【００１１】
一方、効率的に在庫管理を行うためには、カメラ一回の撮像で広い範囲を取り込むことが要求される。しかしながら、個々のバーコードを読み取るだけの解像度を確保するために、一回に撮影できる範囲が限られるため、一回に撮像できる範囲や物品数が少なくなり、在庫管理の作業効率が落ちてしまう。
【００１２】
座標を表すマーク等としては、上記のバーコードのような自動認識コードの他に、たとえば座標を数字で記載し、ＯＣＲで読み取るということも考えられる。この場合でも詳細な座標位置を示そうとした場合、数字が多くなり、小さな面積で表そうとすると解像度、歪み等の原因で読み取りが困難になるものと考えられる。
【００１３】
本発明はこうした課題に鑑みてなされたものであり、その目的は、きめ細かくかつ効率的に情報を提示するためのコードと、そのコードを検出し認識する方法および装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明のある態様の連続コードは、それぞれ一のデータ単位を示すエレメントを複数含むパターンとして表現されている連続コードであって、エレメントは、一以上の記号またはその配列を含んで形成されており、連続コード中のそれぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、パターンは、一以上のエレメントまたは一以上の記号を単位として、周期的に表現される規則的なパターンを含む。
【００１５】
本発明のさらに別の態様は、デコード方法である。この方法は、連続コードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【００１６】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続コードを認識するコード認識装置であって、  抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【００１７】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、物品を収容する領域に並置して、連続コードが付されている。
【００１８】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な空間を備える物品収容場であって、連続コードが付されており、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるよう連続コードが付される領域が定められている。
【００１９】
本発明のさらに別の態様は、連続コードである。この連続コードは、記号の配列を含んで形成され、所定のコード認識装置によって読み取られる連続コードであって、当該連続コードの全幅Ｗ１と、コード認識装置が１回の読取動作にて検出できるウィンドウの幅Ｗ２とは、Ｗ１＞Ｗ２なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数Ｎ１と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数Ｎ２とは、Ｎ１＞Ｎ２なる関係を満たすよう構成される。
【００２０】
本発明のさらに別の態様は、コード認識装置である。この装置は、記号の配列を含んで形成される連続コードを読み取るためのコード認識装置であって、連続コードの一部を検出する検出部と、検出した連続コードに含まれる記号の配列を復号する復号部とを備える。当該連続コードの全幅Ｗ１と、検出部が１回の読取動作にて検出できるウィンドウの幅Ｗ２とは、Ｗ１＞Ｗ２なる関係を満たし、検出ウィンドウにて読み取られる記号の配列に含まれる記号の数Ｎ１と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数Ｎ２とは、Ｎ１＞Ｎ２なる関係を満たすよう構成される。
【００２１】
本発明のさらに別の態様は、連続マトリクスコードである。この連続マトリクスコードは、複数の記号を含むパターンが格子状に配列されてなる連続マトリクスコードであって、記号の一またはその配列によって形成されるエレメントは、それぞれ一のデータ単位を表現するように形成されており、連続マトリクスコードを構成する各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、連続マトリクスコードを構成する各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるようエレメントの配列が定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前または次の行のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる行の位置に関するデータが表現されるよう定められており、エレメントは、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前または次の列のそのエレメントに対応するエレメントが示す数との差によって、そのエレメントが含まれる列の位置に関するデータが表現されるよう定められている。
【００２２】
本発明のさらに別の態様もまた、連続マトリクスコードである。この連続マトリクスコードは、それぞれ一のデータ単位を表現するエレメントである複数の記号が格子状に配列されてなる連続マトリクスコードであって、記号は、それぞれ、その記号が配置される基準位置である格子点からの変位を用いてデータが表現されるよう配置されており、連続マトリクスコードを構成する各行は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各行において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められており、連続マトリクスコードを構成する各列は、複数の連続する記号を含んで形成される標識部と、境界を示す記号とが交互に配置されて構成され、各列において、それぞれ異なる先頭位置から連続する所定個数のエレメントの配列であるセクションが表現するデータがすべて異なるよう記号の配列が定められている。
【００２３】
本発明のさらに別の態様は、デコード方法である。この方法は、連続マトリクスコードを復号し、データ列に変換するための方法であって、一以上のセクションまたは一以上のセクションデータを選択するセクション選択ステップを含む。
【００２４】
本発明のさらに別の態様は、コード認識装置である。この装置は、連続マトリクスコードを認識するコード認識装置であって、抽出された連続コードから、エレメントを抽出し、それぞれのエレメントを特定するエレメント認識部と、
エレメントそれぞれデータ単位に復号するエレメント復号部と、
セクションまたはセクションデータを選択するセクション選択部とを含む。
【００２５】
本発明のさらに別の態様は、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されている。
【００２６】
本発明のさらに別の態様もまた、物品収容場である。この物品収容場は、複数の物品を収容可能な領域を備える物品収容場であって、連続マトリクスコードが付されており、物品を収容すると、その物品により、外部から前記連続マトリクスコードの一部が検出不可能となるよう連続マトリクスコードが付される領域が定められている。
【００２７】
本発明のさらに別の態様は、物品である。この物品は、連続コードを、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で搭載している。
【００２８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記憶媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２９】
本発明によれば、きめ細かくかつ効率的に情報を提示するためのコード、そのコードを検出する方法、およびそのコードを検出する装置を提供することができる。
【図面の簡単な説明】
【００３０】
【図１】実施の形態に係るコード認識装置の構成を示す図である。
【図２】図２（ａ）〜（ｃ）は、実施の形態に係る連続コードの規則的パターンを示す図である。
【図３】色の付されたセルの配列により表現された連続コードの例を示す図である。
【図４】等差数列と区切り符号を組み合わせることにより作成した本発明の実施形態にかかる母数列の例を示す図である。
【図５】等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コードの例を示す図である。
【図６】図６（ａ）は、色の付された帯状のセルで形成される記号を示す図であり、（ｂ）は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コードの別の例を示す図である。
【図７】ドット記号の変位を用いてパターン化した連続コードの例を示す図である。
【図８】実施形態にかかる二次元ドットマトリクスコードを示す図である。
【図９】実施形態にかかる連続マトリクスコードを示す図である。
【図１０】図１０（ａ）〜（ｃ）は、本発明の実施形態にかかる検出マークを付した一次元連続コードの例を示す図である。
【図１１】図９に示した連続マトリクスコードに、直線で表された検出マークを付した連続マトリクスコードを示す図である。
【図１２】図８に示したドットマトリクスコードにおいて、各ドット記号を検出マークを用いて表したドットマトリクスコードを示す図である。
【図１３】コード認識装置が、連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。
【図１４】図１４（ａ）および（ｂ）は、母数列を繰り返し用いたデータ列を、記号の配列によるパターンとして表現した本発明の実施形態にかかる連続コードの例を示す図である。
【図１５】母数列を繰り返し用いた長いデータ列をＸ方向とＹ方向に用いて、図９に関連して説明した方法と同様の方法により表現した連続マトリクスコードの例を示す図である。
【図１６】繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表した連続コードの例を示す図である。
【図１７】コード認識装置が、抽出された連続コードのセクションと、サイクル識別表示にもとづいて、そのセクションの位置を特定する手順を示すフローチャートである。
【図１８】一次元連続コードを環状に配置した、実施形態にかかる環状連続コードの例を示す図である。
【図１９】連続マトリクスコードを環状に配置した、実施形態にかかる環状マトリクスコードの例を示す図である。
【図２０】連続マトリクスコードを環状に配置した、環状マトリクスコードの別の例を示す図である。
【図２１】図２１（ａ）および（ｂ）は、一次元連続コードに別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列の例を示す図である。
【図２２】連続コードが表現するデータとは別のデータを記録する情報コードを埋め込んだ連続マトリクスコードの例を示す図である。
【図２３】図２２の連続マトリクスコードを、線分を用いて読み取りパターン化した連続マトリクスコードを示す図である。
【図２４】コード認識装置がキャプチャした画像の例を示す。
【発明を実施するための形態】
【００３１】
［概要］
はじめに、実施形態に係る連続コードの概要および用語について説明する。
例えばある棚板におかれた本が、その棚板上のどこにあるのか、自動認識技術を用いて特定することを考える。この場合、棚上の任意の位置をカメラが撮影した画像から特定できるようにしておく必要がある。実施形態に係る連続コードは、例えば棚板上での位置を表すデータを、途切れのない連続的なパターンとして表す。
【００３２】
一例として、図２４（詳細は後述）の棚板に付してあるのが、実施形態に係る連続コード８０である。棚板に並べられた各冊子が、その位置を特定すべきターゲット物体であり、各冊子にはターゲット識別コード１８０が付してある。ターゲット識別コードと連続コードの両方がカメラの視野に入るようにして撮影し、自動認識技術を用いることで、ターゲット識別コードに関連づけられた書籍に関する情報と、その書籍の収納位置を関連づけることができる。
【００３３】
なお、本明細書においてコードとは、所定の規格に則ってデータを記号の集合であるパターンとして表現するときの、その表現されたパターンをいう。また、「マーク」や「セル」などの、パターンの一部を構成する部分を、「記号」という。
例えば、図５（詳細は後述）でＲ、Ｇ、Ｂと書かれた楕円は、赤、緑、青で彩色されたセルを示すが、それら彩色されたセルのそれぞれが、「記号」である。
【００３４】
図５の連続コード８０が表現するデータ列８４中の”０”、”２”、”１”など、個々の数字を、「最小データ単位」または「データ単位」という。すなわち「最小データ単位」とは、コードが表現するデータの最小単位である。例えば一の数字や一の文字などであり、ディジタルデータの場合には、０または１である。
【００３５】
連続コード８０のパターンの一部であり、一の「最小データ単位」を表現する部分を、「エレメント」という。図５の連続コード８０においては、各数字、すなわち各最小データ単位は、それぞれ二つのセルからなるエレメントで表されている。例えば、”０”はエレメント”ＲＧ”で表現され、”１”は、エレメント”ＲＢ”で表現されている。
【００３６】
エレメントは、「記号」と一対一に対応することもあり、対応しないこともある。例えば図５の連続コード８０においては、エレメントは記号と一対一に対応せず、二個の記号の配列が一のエレメントを構成する。
また、一の「最小データ単位」に対して一のエレメントが割り当てられるとは限らず、２以上の異なるエレメントが割り当てられることもある。図５の連続コード８０においては、最小データ単位”２”に対して、２種類のエレメント”ＢＧ”と”ＧＢ”が割り当てられており、同じ色のセルが続かないように、いずれかが選択されて用いられている。
【００３７】
連続コード８０は、長い範囲にわたって途切れのない連続的なコードであるが、連続コード８０を用いて、例えば棚板上のターゲットの位置を特定するためには、連続コード８０のうち、その位置を記録している部分を読み取ればよい。この「棚板上の位置」のように、何らかの意味のある情報（以下、有意データともいう）を記録する連続コード８０の部分を「セクション」という。また「セクション」が表すデータを、「セクションデータ」と呼ぶ。連続コード８０は、各セクションが表現するセクションデータがすべて異なるように形成される。
【００３８】
図５の連続コード８０においては、各セクション９８は全て、４個のエレメント、すなわち８個の彩色セルで構成されている。セクションは、その先頭をエレメント１個分ずつずらしながら、重複するように配置されている。連続コードを用いて冊子などのターゲット物体の位置を特定する場合は、あらかじめターゲット物体とセクションとを、それらの位置関係により対応付ける規則を定めておく。そして、コード認識装置が、その規則にしたがって、あるターゲット物体に対応づけられるセクションを読み取り、そのセクションが表すセクションデータを認識する。データ列８４内でそのセクションデータが一意に特定可能であることから、データ列８４内でそのセクションデータの位置を特定することができる。これにより、連続コード８０内で、読み取ったセクションの位置情報を得ることができ、ターゲット物体の位置を特定することができる。
【００３９】
このように、セクションをそれぞれ重複させて配置することにより、限られたスペースにより多くの情報を記録することができ、またコード認識装置の解像度および視野を有効に活用できる。
【００４０】
セクションのサイズは、コード認識装置の視野より小さくなるよう定められる。すなわち、セクションのサイズは、コード認識装置が一回の読み取り動作で、少なくとも一のセクションを読み取ることができるように定められる。ここで、一回の読み取り動作とは、たとえば一回の撮像や一回のスキャン動作であり、一回のスキャンは、一連の複数回のサブスキャンで完成する場合もある。また、コード認識装置が一回の読み取り動作で検出できる範囲を、コード認識装置の検出ウィンドウともよぶ。
【００４１】
連続コードは、各セクションが表現するセクションデータがすべて異なるように形成される。これにより、各セクションデータを読み取ることで、セクションをそれぞれ一意に特定することができる。図５の連続コード８０においては、各セクション９８が表現するセクションデータは、それぞれ部分数列９６であり、それぞれの部分数列９６はすべて異なる。データ列８４において、各部分数列９６は、その先頭を数字すなわち最小データ単位１個分ずつずらしながら重複するように配置されている。
【００４２】
このように、たとえば各点の位置を表すデータを、途切れのない連続的なパターンとして表す連続コードは、カメラの読み取り画面範囲外にも広がりを持つことが普通であり、取り込んだ画面においてその始点終点が明らかでない。また画像取得条件によって、画像中のコードの大きさも一定とはいえない。さらに、連続コード中には、その表すデータが重複するようにマーキングされている。
連続コードは以上のような点において、通常の非連続自動認識コードと異なり、これらが、連続コードのいわゆる「切りだし」を困難とする要因になると考えられる。連続コードの自動認識にあたっては、始点終点の概念を取り除き、またデータブロックの概念を取り除いた切りだし概念を取り入れる必要がある。
【００４３】
上述のように、位置関係を示すマーク等を分散重複配置させることで、たとえ詳細な位置関係を示す座標データ等であっても、コードのパターンを細かく、複雑にすることなく表現できる。また、コードのサイズを画像取得の主目的のために邪魔にならない大きさにしても、特に高解像度のカメラでなくとも読み取る可能なコードとすることができる。
また、連続コードの一定の規則的パターンを利用することで、始点、終点の明らかでないパターンであってもコードとして検出することができる。
【００４４】
本明細書において、連続コードの各セクションが位置データを表す場合、連続コードのことを「位置コード」ともよぶ。ただし、各セクションが記録するデータは位置データには限られない。たとえば各セクションが表す部分数列と、そのセクションに関して記録させたい所望の情報とを関連づけた記録したテーブルを準備しておき、コード認識装置がセクションを読み取ったときにそのテーブルを参照することとしてもよい。これにより、各セクションにおいて所望の情報を記録することができる。
【００４５】
以下、図面を参照して本発明の実施の形態（以下、「実施形態」という）について詳細に説明する。
【００４６】
図１は、実施形態に係るコード認識装置１００の構成を示す。
コード認識装置１００は連続コードを用いて、たとえば冊子などのターゲット物体の位置を特定する。コード認識装置１００は、ターゲット識別コードおよび連続コードを撮像して認識するコード検出部１０と、認識したターゲット識別コードからターゲットの識別情報を取得するターゲットＩＤ取得部４０と、読み取った連続コードからその位置を特定する位置情報取得部５０と、各ターゲット物体についてその位置を特定するターゲット位置特定部６０と、出力部７０とを含む。
【００４７】
コード検出部１０は、ターゲット識別コードおよび連続コードを含む画像を取得する読み取り部１２と、読み取った画像からターゲットに付されたターゲット識別コードを切り出すターゲットコード抽出部１８と、読み取った画像から連続コードを切り出す位置コード抽出部２４と、切り出した位置コードからセクションデータを取得するセクションデータ取得部３０とを備える。読み取り部１２は、コードを含む画像を光学的手段で撮像する入力部１４と、コードを切り出すための前処理として取得した画像の各画素値を量子化する量子化部１６とを含む。入力部１４は、コードが磁気を用いて表現されている場合、磁気的手段でコードおよびその周辺環境の磁気を計測してもよい。以下、磁気的手段やその他の手段によって取得した場合も含めて、撮像や画像という言葉を用いる。
【００４８】
ターゲットコード抽出部１８は、読み取った画像に含まれるパターンがターゲット識別コードを構成するか否か判定するターゲット切り出し条件判定部２０と、ターゲット識別コードを構成すると判定された場合にそのコードを切り出すターゲット切り出し処理部２２とを含む。ターゲットコード抽出部１８は、抽出したターゲット識別コードの画像中の位置に関する情報をセクションデータ取得部３０に送り、切り出したターゲット識別コードに関する情報をターゲットＩＤ取得部４０に送る。
【００４９】
ターゲットＩＤ取得部４０は、ターゲット識別コードとターゲットの識別情報（以下、ターゲットＩＤともいう）とを関連づけて格納する記憶部４４と、ターゲットコード抽出部１８から取得したターゲット識別コードに基づいて、記憶部４４を参照し、そのターゲット識別コードが付されたターゲットの識別情報を取得するターゲットＩＤ特定部４２とを含む。ターゲットＩＤ取得部４０は、取得したターゲットの識別情報を、ターゲット位置特定部６０に送信する。
【００５０】
位置コード抽出部２４は、読み取った画像に含まれるパターンが位置コードを構成するか否か判定する位置コード切り出し条件判定部２６と、位置コード構成すると判定された場合にそのコード切り出す位置コード切り出し処理部２８とを備える。
【００５１】
セクションデータ取得部３０は、セル認識部３２と、エレメント認識部３４と、エレメント復号部３６と、セクション選択部３８とを備える。セル認識部３２は、位置コード抽出部２４から受け取ったコードに含まれるパターンから、セル切り出し条件をみたすセルを抽出し、それぞれのセルを特定する。エレメント認識部３４は、抽出されたセルの配列から、エレメント構成規則に基づいて各エレメントを構成するセルを抽出し、それぞれのエレメントを特定する。なお、ここでは、記号としてセルを用いる場合の例を示している。
【００５２】
エレメント復号部３６は、認識されたエレメントをそれぞれ最小データ単位に復号する。セクション選択部３８は、エレメントから復号された最小データ単位を指定することにより、セクションデータを選択する。なお、セクション選択部３８は、エレメント復号部３６によってエレメントがそれぞれ最小データ単位に復号される前に、エレメントを指定することによりセクションを選択してもよい。この場合、エレメント復号部３６は、セクションが選択された後、選択されたセクションに属するエレメントを、それぞれ最小データ単位に復号する。これにより、セクションデータを取得することができる。
セクションデータ取得部３０は、取得したセクションデータを、位置情報取得部５０に送信する。
【００５３】
位置情報取得部５０は、セクションデータ取得部３０から取得したセクションの位置に関する情報を特定する位置情報特定部５２と、選択されたセクションが属するサイクル（後述）に関する情報を特定するサイクル情報特定部５４と、セクションの位置とサイクルに関する情報から、そのセクションの位置座標を計算する座標算出部５６とを含む。位置情報取得部５０は、取得した座標をターゲット位置特定部６０に送信する。
【００５４】
ターゲット位置特定部６０は、ターゲットＩＤ取得部４０から取得したターゲットＩＤと、位置情報取得部５０から取得したセクションの座標とを関連づけて、各ターゲット物体の位置を特定し、出力部７０に送信する。出力部７０は、得られた情報を表示信号や音声信号として出力する。出力部７０から出力された表示信号や音声信号は、ＬＣＤその他の表示装置やスピーカ等（図示せず）を介して、ユーザに情報として提供される。
【００５５】
［規則的パターン］
連続コードは、通常のバーコードなどに比べて長い、あるいは広い範囲にわたる連続的なパターンである。したがって、通常は、コード認識装置が一の読み取り動作で連続コード全体をとらえることができず、コード認識装置の検出ウィンドウに連続コードの始点および終点がふくまれない。また、画面中に含まれる記号の数や大きさも不定である。したがって、コードを背景から切り出して読み取る際に、通常のコードとは異なる手法が必要となる。
【００５６】
連続コードは、連続コードを形成するための規則にしたがって、周期的なパターンをもつよう構成される。コード認識装置は、その検出ウィンドウに連続コードの始点および終点が入っていなくとも、この周期的なパターンを認識することで、連続コード以外の背景部分と区別して連続コードを検出することができる。また、規則的パターンの周期が一以上のエレメントまたは一以上の記号を単位として現れるように連続コードを形成することで、コード認識装置が、規則的に表現されるパターンの周期と比較して、一の記号のサイズを認識することが可能となる。
【００５７】
図２（ａ）〜（ｃ）は、実施形態に係る連続コード形成の規則例を説明するための図である。
図２（ａ）は、色の付されたセルの配列により表現された連続コード８０の例を示す。
このコードでは、記号として、赤、緑、または青で彩色されたセル８２が用いられる。
図２（ａ）において、Ｒ、Ｇ、Ｂと表記されたセルはそれぞれ、赤、緑、青で彩色されたセルを示す。なお、以下の図においても、彩色されたセルは同様に表記される。
【００５８】
図２（ａ）の連続コード８０では、二つのセルがエレメントを構成する。１個の赤のセルと１個の緑のセルがこの順に配列されたエレメントが最小データ単位”０”を、１個の赤のセルと１個の青のセルがこの順に配列されたエレメントが最小データ単位”１”をそれぞれ表す。
【００５９】
図２（ａ）の連続コード８０は、一つおきに赤いセルが現れるという連続コード形成の規則に従って形成されている。すなわち、一のエレメントである二つのセルを一単位として、周期的に赤いセルが現れるようセルの配列が定められている。
【００６０】
図２（ａ）〜（ｃ）においては説明のため、連続コード８０が表す一連のデータであるデータ列８４を破線で囲い、連続コード８０の下に並べて示している。なお、以下の図においても、パターンに変換される元のデータ列８４は、同様に表記される。なお、データ列８４のことを、母数列ともよぶ。
また、前述のように、連続コード８０においてセクションはエレメント一個分ずつずらして重複するように配置されるが、図２（ａ）〜（ｃ）の連続コード８０においては、先頭から３個のセクション９８のみ示す。以下の図においても同様に、先頭から３個のセクション９８のみ示す。
【００６１】
図２（ａ）の連続コード８０において、各セクション９８は全て４個のエレメント、すなわち８個の彩色セルで構成されている。セクションはそれぞれ、その先頭をエレメント１個分ずつ、すなわちセル二個分ずつずらしながら重複するように配置されている。
【００６２】
前述のように、連続コードは、各セクションデータがすべて異なるように構成される。図２（ａ）の連続コード８０の各セクション９８が表現する各セクションデータは、データ列８４中の部分数列９６に、それぞれ対応する。図２（ｂ）および（ｃ）の連続コード８０においても、元データとして同じデータ列８４を用いている。連続コードのデータ列８４としては、部分数列９６がすべて異なるような母数列を用いる。
【００６３】
図２（ａ）〜（ｃ）では、それぞれの部分数列９６がすべて異なるような母数列として、２進数デブルイン（ＤｅＢｒｕｉｊｎ）数列の一つである数列”００００１００１１０１０１１１１”を用いている。この数列では、”００００”、”０００１”、”００１０”など、異なる先頭位置から開始する連続する４桁の数字からなる部分数列９６が互いにすべて異なる。
【００６４】
図２（ｂ）は、色の付されたセルの配列により表現された連続コード８０の別の例を示す。このコードにおいても、記号として赤、緑、または青で彩色されたセル８２が用いられる。
図２（ｂ）の連続コード８０では、隣接する二つのセルが最小データ単位を表すエレメントを構成する。ただし、この例においては、エレメントは互いに重なりをもつ。赤いセルと緑のセル、緑のセルと青のセル、青のセルと赤のセルがこの順に並ぶエレメントが、最小データ単位”０”を表し、緑のセルと赤のセル、青のセルと緑のセル、赤のセルと青のセルがこの順に並ぶエレメントが、最小データ単位”１”を表す。
【００６５】
図２（ｂ）の連続コード８０において、各セクション９８は全て、４個のエレメントで構成されている。セクションはそれぞれ、その先頭をセル１個分ずつずらしながら重複するように配置されている。
【００６６】
図２（ｂ）の連続コード８０は、２種類の大きさの色彩セルが交互に配置されるという連続コード形成の規則に従って形成されている。すなわち、二つの記号を一単位として、周期的に大小のセルが一つずつ配置されている。
【００６７】
図２（ｃ）は、記号●、上向き三角記号、下向き三角記号の３種類の記号の配列により表現された別の連続コード８０の例を示す。この連続コード８０では下向き三角記号および上向き三角記号が、最小データ単位である”０”、および”１”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すので、エレメントでもある。記号●は、チェック用記号であり、この連続コード８０は、記号二つおきにチェック用記号●が現れるという連続コード形成の規則に従って形成されている。すなわち、三つの記号を一単位として、周期的に一個の記号●が配置されている。
図２（ｃ）の連続コード８０において、各セクション９８は全て４個のエレメントで構成されている。セクションはそれぞれ、その先頭をエレメント１個分ずつずらしながら重複するように配置される。
【００６８】
図３は、色の付されたセルの配列により表現された連続コード８０の別の例を示す。図３の連続コード８０でも、記号として赤、緑、または青で彩色されたセル８２が用いられているが、図２（ａ）〜（ｃ）の連続コード８０とは異なる母関数を、図２（ａ）〜（ｃ）の例とは異なる規則に基づいてパターン化することによって連続コード８０が形成されている。
図２（ａ）〜（ｃ）では、データ列８４として２進数デブルイン数列の一を用いていたが、図３の例では、３進数デブルイン数列の一を用いている。３進数であるため、最小データ単位として、”０”、”１”、”２”の３種類の数を表現する必要があるが、彩色セルは、図２（ａ）および（ｂ）と同様に、三色のみ用いているため、エレメント長が、図２（ａ）および（ｂ）の例に比べて長くなっている。
【００６９】
図３の連続コード８０では、６個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、Ｒ、Ｇ、Ｂで表記すると、ＲＧＲＢＲＧの順に配列されたエレメントが最小データ単位”０”を、ＲＧＲＢＲＢの順に配列されたエレメントが最小データ単位”１”を、ＲＧＲＢＧＢの順に配列されたエレメントが最小データ単位２をそれぞれ表す。
図３の連続コード８０は、ＲＧＲの順に配列された三つのセルが周期的に現れるという連続コード形成の規則に従って形成されている。すなわち、６個のセルからなる一のエレメントを一単位として、周期的にＲＧＲの三つのセルが配置されている。
【００７０】
前述のように、本発明にかかる連続コードは、各セクションが表現するデータがすべて異なるように構成される。
図３では、データ列８４として、部分数列９６がすべて異なるような母数列である３進数デブルイン数列の一つの一部”０００１００２０１１０・・・”を用いている。このデータ列８４では、”０００”、”００１”、”０１０”、”１００”など、異なる先頭位置から開始する連続する３個の数字からなる部分数列９６が互いにすべて異なる。
【００７１】
図２（ａ）〜（ｃ）および図３に関して示したように、連続コード８０は、連続コードを形成するための規則にしたがって、一以上のエレメントまたは一以上の記号を単位とする周期的なパターンをもつよう構成される。
上記の例の他にも、連続コード８０は様々な周期的なパターンをもつよう形成することができる。例えば連続コード８０は、２個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという規則にもとづいて、形成されてもよい。詳細は後述する。
【００７２】
このように、連続コードを形成するための規則にしたがって、連続コード８０が周期的なパターンをもつよう形成することにより、連続コードの開始点および終端点が不明確であっても、コード認識装置が連続コードを切り出す際、連続コード以外の背景画像と連続コードを区別して連続コードを切り出すことが可能となる。また、画像中に記号がいくつ含まれるのか不定であっても、コード認識装置が、パターンの周期にもとづいて一の記号や一のエレメントのサイズを認識し、それを利用して各記号を読み取ることが可能となる。
【００７３】
以上、規則的パターンの例をいくつか示したが、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な規則的パターンを有する、と言う意味である。
【００７４】
例えば、寸法、形状の規則が定められていなくとも、色彩配列のみに依存するコードの配列方式によって規則的パターンを形成することもできる。
このような規則的パターンの検出方法としては、例えば、本発明者による特許文献３および４に記載されている方法を応用して適用することが可能である。特許文献３および４には、色彩配列のみに依存するコードの切り出し方法が記載されている。
これらは色彩の分岐、並列条件を検出してその条件に合致した色彩配列をコードとして認識（切りだし）する方法である。これらの切り出し方法は、本出願のように始点終点を定めないという考え方のコードを対象としたものではないが、これらの文献の中で述べている方式において全体のセル数や始点、終点条件、誤り検出条件を除くことで本出願にも適用することが可能である。
【００７５】
これらの例では、切り出しは色彩境界条件に依存する（特許文献３）もしくは色彩並列条件に依存する（特許文献４）ものである。
すなわち、色彩境界条件について定められた規則や、色彩並列条件について定められた規則にもとづいて検出しているといえる。このように、本明細書でいう規則的パターンとは、必ずしも寸法、形状に限らずその配列方式における検出可能な様々な規則的パターンを含む。
【００７６】
［排出データ指定］
先に述べたように、本発明にかかる連続コードでは、複数のセクションデータが重複的に記録されている。このため、読み取って出力すべきデータの指定にあたって、通常と異なる方法が必要となる。
【００７７】
通常の重複のない形式のコードによって複数の有意データを表す場合、パターンとしては連続するように見える場合でも、有意データが、それぞれ自己完結型のコードとして記録され、コード中に別個のコードのブロックが配置される形式となる。すなわち、各有意データを記録する区画が分かれている。したがって、このようなコードを読み取る場合には、切り出しマークなどをもちいて、一の区画をブロックとして切り出すことになる。
【００７８】
これに対して、本発明にかかる連続コードでは、有意なデータであるセクションデータを表現するセクションが、重複的に配置されている。したがって、連続コードのある記号やエレメントに注目したときに、その記号やエレメントを含むセクションが複数存在する。同様に、連続コードが表現するデータ列において、ある最小データ単位に注目したときに、その最小データ単位を含むセクションデータが複数存在する。
【００７９】
本実施例においては、読み取るべきセクションデータの選択にあたっては、あらかじめ、エレメントとセクションを関連づける規則、または、最小データ単位とセクションデータを関連づける規則を定めておく。そして、エレメントを指定することにより、読み取るべきセクションを指定する。あるいは連続コードを構成するエレメントをそれぞれ復号した最小データ単位の配列において、最小データ単位を指定することにより、読み取るべきセクションデータを指定する。詳細については、図１３のフローチャートに関連して後述する。
【００８０】
［等差数列］
本発明にかかる連続コードは、異なる先頭位置から連続する所定個数のエレメントからなるセクションが表現するデータがすべて異なる。図２および図３の例においては、デブルイン数列をパターン化することにより、連続コードを作成する例を示した。
デブルイン数列は、母数列の異なる先頭位置から連続する所定個数の数字の順列（以下、部分数列ともよぶ）が、すべて異なる性質を有する。ただし、デブルイン数列は、各部分数列の並び方に規則性はない。このため、例えば各セクションの連続コード８０の中での位置を知りたい場合には、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照する必要がある。
【００８１】
本発明者は、等差数列と区切り符号を組み合わせることにより、デブルイン数列と同様の性質をもち、かつ各部分数列の並び方に規則性のある母数列を作成できることを見出した。
【００８２】
図４は、等差数列と区切り符号を組み合わせることにより作成した母数列９０の例を示す。０００、００１、０１０、０１１、１００、１０１、１１０、１１１は、２進数３桁で公差が１の等差数列の項である。図４においては、数字の”２”を区切り符号９４として用いており、等差数列の項と区切り符号９４が交互に並べられている。
【００８３】
母数列９０の先頭から連続する４個の数字からなる部分数列９６ａ、９６ｂ、９６ｃ、・・・を順次取り出すと、２０００、０００２、００２０、０２００、２００１、００１２、０１２０、１２０１、２０１０、０１０２、１０２０、０２０１、２０１１、０１１２、１１２１、１２１０、２１００、１００２、００２１、０２１０、２１０１、１０１２、０１２１、１２１１、２１１０、１１０２、１０２１、０２１１、２１１１、の２９個の部分数列を取り出すことができる。これらの部分数列はすべて異なる。
【００８４】
なお、２を一つ含み、あとは０か１である４個の数からなる数列は全部で３２個存在するはずである。図４の母数列９０の末尾に、そのはじめの３桁”２００”を付け加えると、さらに３個の部分数列１１１２、１１２０、１２００を取り出すことができ、３２個の部分数列がすべて網羅される。すなわち、２進数３桁の等差数列を用いて部分数列がすべて異なる母数列を作る場合、等差数列の全ての項と区切り符号を交互に並べた後にさらに先頭の３桁を並べた数列が、部分数列がすべて異なる母数列としては最長の数列となる。
【００８５】
このように、部分数列がすべて異なる母数列を用いると、その一の部分数列を読みとることにより、その部分数列が、母数列の中でどこに位置しているのか特定することができる。このような部分数列をパターン化した連続コードを利用することで、例えば、ターゲットとなる物体の位置や、コード認識装置自身の位置等を特定することができる。
【００８６】
例えば、Ｘ軸上の各点に細かく座標を記す代わりに、図４のようにＸ軸に平行に母数列９０を表示、または母数列９０をパターン化した連続コードを表示しておく。このとき、ターゲット物体Ａが図４のＸ軸上の白抜き矢印で示した位置にあるとする。コード認識装置が、この物体Ａに最も近い位置にある数から連続する４個の数からなる部分数列”０２１０”を読み取る。そうすると、この部分数列９６ｔは母数列中に一個しか存在しないため、コード認識装置はターゲット物体Ａの位置を特定することができる。
【００８７】
以下に、図４に示した母数列の例を一般化して、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、等差数列の桁数に一を加えた長さの部分数列がすべて異なるような母数列を作成することができることを示す。
なお、本明細書において「基数」とは、位取り記数法の底のことを指す。例えば２進数の基数は２、１０進数の基数は１０である。
【００８８】
ｍ桁のｎ進数で表した公差ｒの等差数列の第ｘ項をＣｘとする。すなわち、
Ｃｘ＋１−Ｃｘ＝ｒ                                      （式１）
である。ここで、ｍおよびｎは２以上の整数、ｒは自然数、ｘは０以上の整数である。
区切り符号としてＺを用いて、上記の等差数列と交互に配置して母数列をつくると、
Ｃ０ＺＣ１ＺＣ２ＺＣ３ＺＣ４ＺＣ５Ｚ・・・・            （式２）
となる。ｍ桁ｎ進数の等差数列を用いる場合、区切り符号は、等差数列を構成する数と区別できるように、０からｎ−１までの数以外の数または文字を用いる。
この母数列の最小データ単位は一の数字または一の文字である。
【００８９】
以下、この母数列について、任意の最小データ単位を先頭とする連続するｍ＋１個の最小データ単位からなる配列（以下、部分数列ともよぶ）が、すべて異なることを示す。
ここで、部分数列の中での区切り符号の位置が異なる部分数列は、互いに異なることは明らかなので、部分数列の中での区切り符号の位置が同じ部分数列について、互いに異なることを示せばよい。
【００９０】
ここで、各部分数列は、区切り符号Ｚと等差数列のある項を並べたものであるか、等差数列のある項の数の後半部分の数と、区切り符号Ｚと、等差数列のある項の数の前半部分の数とをこの順に配列したものであるとみることができる。
【００９１】
部分数列が、区切り符号Ｚと等差数列のある項を並べたものである場合、部分数列は、Ｃ０Ｚ、Ｃ１Ｚ、Ｃ２Ｚ、Ｃ３Ｚ、Ｃ４Ｚ、Ｃ５Ｚ・・・のような形であるか、ＺＣ０、ＺＣ１、ＺＣ２、ＺＣ３、ＺＣ４Ｚ・・・のような形であるかのいずれかとなる。区切り符号Ｚが先頭につく部分数列と、末尾につく部分数列は、明らかに異なる。また、等差数列の各項は互いに異なるので、この場合、各部分数列は異なる。
【００９２】
以下、部分数列が等差数列のある項の数の後半部分の数と、区切り符号Ｚと、等差数列のある項の数の前半部分の数とをこの順に配列したものである場合について考える。
このとき、各部分数列は、等差数列の第ｘ項Ｃｘの後半ｋ−１桁の部分と、区切り符号Ｚと、等差数列の第ｘ＋１項Ｃｘ＋１の前半ｍ−ｋ＋１桁の部分の組み合わせであるとする。
ここでｋは、２からｍ−１の任意の整数である。
ｋが異なる部分数列は、各部分数列における区切り符号Ｚの位置が異なるから、明らかに異なる。したがって、以下では、ｋが等しい部分数列がすべて異なることを示す。
【００９３】
Ｃｘを、一桁目からｋ−１桁目の数Ｂｘと、ｋ桁目からｍ桁目までの数Ａｘとに分けて考える。Ｃｘはｍ桁の数であるので、Ａｘはｍ−ｋ＋１桁、Ｂｘはｋ−１桁の数となる。ＡｘとＢｘを用いて、等差数列の第ｘ項を表すと、
Ｃｘ＝Ａｘ＊ｎｋ−１＋Ｂｘ                                        （式３）
となる。ただし、本明細書において、記号”＊”は、積を表すものとする。
この等差数列の第ｘ＋１項は、
Ｃｘ＋１＝Ａｘ＋１＊ｎｋ−１＋Ｂｘ＋１                              （式４）
である。
【００９４】
例えば、８桁の１０進数Ｃｘ＝１２３４５６７８について、ｋ＝６とすると、Ａｘ＝１２３、Ｂｘ＝４５６７８であり、
Ｃｘ＝１２３＊１０５＋４５６７８＝１２３０００００＋４５６７８
と表せる。
【００９５】
（式２）の母数列をＡｘおよびＢｘを用いて表すと、
Ａ０Ｂ０ＺＡ１Ｂ１ＺＡ２Ｂ２ＺＡ３Ｂ３ＺＡ４Ｂ４ＺＡ５Ｂ５Ｚ・・・
となる。
ここで、部分数列Ｂ０ＺＡ１、Ｂ１ＺＡ２、Ｂ２ＺＡ３、Ｂ３ＺＡ４、Ｂ４ＺＡ５・・・が全て異なることを示す。
Ｚの位置はすべて等しいので、Ｃｘの後半部分ＢｘとＣｘ＋１の前半部分Ａｘ＋１とがこの順で形成する配列が、Ｃｙの後半部分Ｂｙと、Ｃｙ＋１の前半部分Ａｙ＋１とがこの順で形成する配列と異なることを示す。ただし、ｘ≠ｙである。以下、背理法をもちいて説明する。
【００９６】
Ｃｘの後半部分ＢｘとＣｘ＋１の前半部分Ａｘ＋１が、Ｃｙの後半部分ＢｙとＣｙ＋１の前半部分と、それぞれ一致すると仮定する。すなわち、
Ｂｘ＝Ｂｙ
Ａｘ＋１＝Ａｙ＋１
であると仮定する。
【００９７】
この場合、
Ｃｙ＝Ａｙ＊ｎｋ−１＋Ｂｙ＝Ａｙ＊ｎｋ−１＋Ｂｘ                    （式５）
Ｃｙ＋１＝Ａｙ＋１＊ｎｋ−１＋Ｂｙ＋１＝Ａｘ＋１＊ｎｋ−１＋Ｂｙ＋１  （式６）
が成り立つ。また、Ｃｙ、Ｃｙ＋１は等差数列の隣接する項であるので、
Ｃｙ＋１−Ｃｙ＝ｒ                                                （式７）
である。
【００９８】
ところで、（式１）、（式３）および（式４）から、
Ｃｘ＋１−Ｃｘ＝（Ａｘ＋１＊ｎｋ−１＋Ｂｘ＋１）−（Ａｘ＊ｎｋ−１＋Ｂｘ）＝ｒである。よって、
Ｂｘ＋１−Ａｘ＊ｎｋ−１＝ｒ−（Ａｘ＋１＊ｎｋ−１−Ｂｘ）    （式８）
が成り立つ。
【００９９】
また、（式５）、（式６）および（式７）から、
Ｃｙ＋１−Ｃｙ＝（Ａｘ＋１＊ｎｋ−１＋Ｂｙ＋１）−（Ａｙ＊ｎｋ−１＋Ｂｘ）＝ｒ
である。よって、
Ｂｙ＋１−Ａｙ＊ｎｋ−１＝ｒ−（Ａｘ＋１＊ｎｋ−１−Ｂｘ）        （式９）
【０１００】
式８の右辺と式９の右辺は等しいので、
Ｂｘ＋１−Ａｘ＊ｎｋ−１＝Ｂｙ＋１−Ａｙ＊ｎｋ−１
が成り立つ。この式を変形すると、
Ｂｘ＋１−Ｂｙ＋１＝（Ａｘ−Ａｙ）＊ｎｋ−１                （式１０）
となるが、Ｂｘ、Ｂｙはともにｋ−１桁の数であるので、
Ｂｘ＋１−Ｂｙ＋１＜ｎｋ−１
である。よって、式１０が成り立つのは、
Ｂｘ＋１＝Ｂｙ＋１かつＡｘ＝Ａｙ                              （式１１）
のときに限られる。
【０１０１】
ところが、仮定より、
Ｂｘ＝Ｂｙであるので、（式１１）のＡｘ＝Ａｙと合わせると、Ｃｘ＝Ｃｙとなる。しかし、仮定より、ｘ≠ｙであり、等差数列を構成する各項は異なるので、矛盾する。
よって、任意の桁数、任意の基数、任意の公差の等差数列と区切り符号を交互に配置することにより、各部分数列がすべて異なるような母数列を作成できることが証明された。
【０１０２】
なお、ｍ桁のｎ進数を用いた場合、部分数列としては、それに区切り符号を加えたｍ＋１個の連続する数を取り出すことで、各部分数列がすべて異なるような組み合わせとすることができる。当然、ｍ＋１個以上の連続する数を部分数列として取り出した場合にも、各部分数列はすべて異なる。
【０１０３】
公差は、ｍ桁ｎ進数で表される数の総数であるｎｍと互いに素である数または１のいずれかとすることが好ましい。これにより、等差数列の項数が最大となるため、母数列の長さを最大とすることができる。なお、ここで等差数列というとき、各項は与えられた桁数の範囲内で表し、与えられた桁数以上に繰り上がる場合には、繰り上がる桁の数は切り捨てるものとしている。
【０１０４】
例えば、図４において示した母数列９０は、２進数３桁で公差が１の等差数列の項と、区切り符号である２を交互に並べて作成したものである。
これに対して、２進数３桁で公差が３の等差数列の項と区切り符号である２を交互に並べて作成した母数列は以下のようになる。
２０００２０１１２１１０２００１２１００２１１１２０１０２１０１
この母数列に用いた等差数列の公差である”３”は、２進数３桁の数の総数である２３、すなわち８と互いに素であり、この母数列の長さは図４において示した母数列９０と同じである。
【０１０５】
一方、２進数３桁で公差が２の等差数列の項と区切り符号である２を交互に並べて作成した母数列は以下のようになる。
２０００２０１０２１００２１１０
この母数列に用いた等差数列の公差である”２”は、２進数３桁の数の総数である２３、すなわち８と互いに素ではなく、この母数列の長さは図４において示した母数列９０より短くなる。
【０１０６】
等差数列と区切り符号を用いることにより、所望の長さ、所望の基数、所望の公差でさまざまなバリエーションをもった母数列を作成することができる。また、等差数列の各項は、算出可能である。よって、例えば各セクションの連続コード中の位置を知りたい場合に、あらかじめ、部分数列と、母数列中でその部分数列の位置を対応づけたテーブル等を用意して、部分数列を読み出すたびに参照したりする必要がない。
【０１０７】
また、等差数列の項と区切り符号とを交互に並べた母数列において、各最小データ単位をエレメントで表現すると、等差数列の各項を表現するエレメント群と、区切り符号を表現するエレメントが交互に配置されたパターンとなる。すなわち、このような母数列をデータとして作成した連続コードは、２個以上のエレメントを含む標識部と、標識部相互の境界を示すエレメントとが交互に配置されるという連続コード形成の規則に従って形成されることになる。これにより、コード認識装置が連続コードを切り出す際、コードの開始点および終端点が不明確であっても連続コード以外の背景画像と連続コードを区別して連続コード部分を切り出すことができる。また、コード認識装置が、パターンの周期と比較して、一の記号や一のエレメントのサイズを認識し、それを利用して各記号やエレメントを読み取ることが可能となる。
【０１０８】
図５は、等差数列と区切り符号を用いて作成した母数列を、色の付されたセルの配列によるパターンとして表現した連続コード８０の例を示す。
図５の連続コード８０では、２個のセルが一のエレメントを構成する。赤、緑、青のセルをそれぞれ、Ｒ、Ｇ、Ｂで表記すると、ＲＧが最小データ単位”０”を、ＲＢが最小データ単位”１”を、それぞれ表す。
【０１０９】
前述のように、連続コードにおいては、一の「最小データ単位」に対して必ずしも一のエレメントが割り当てられるとは限らず、２以上の異なるエレメントが割り当てられることもある。図５の連続コード８０においては、最小データ単位”２”を表すエレメントとして、ＢＧおよびＧＢが割り当てられている。そして、最小データ単位”２”を表すエレメントを用いる際、隣接するセルと色が異なるように、ＢＧおよびＧＢのいずれかを選択して用いる。このように、隣接するセルの色が必ず異なるように彩色セルの配列を定めることで、例えばセルの大きさが異なる場合でも、コードコード認識装置によって、一のセルの範囲を検出することができる。
【０１１０】
図５の連続コードでパターンとして変換される対象であるデータ列８４は、２進数３桁の等差数列の各項と、区切り符号”２”とを交互に配列することによって作成した母数列である。図５においては、データ列８４のうち、区切り符号９４である”２”を点線で囲んで示している。この母数列においては、異なる先頭位置から連続する４個の数からなる部分数列９６は、すべて異なる。このように、ｍ桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列においては、異なる先頭位置から連続するｍ＋１個の数からなる部分数列が、すべて異なる。
【０１１１】
したがって、ｍ桁の等差数列の各項と、区切り符号とを交互に配列することによって作成した母数列の各データ最小単位をそれぞれエレメントに変換した連続コードにおいては、異なる先頭位置から連続するｍ＋１個のエレメントを含むセクションがすべて異なる。図５の連続コード８０においては、異なる先頭位置から連続する４個のエレメントからなるセクション９８が表現するデータがすべて異なる。
【０１１２】
図５の連続コード８０は、３個の赤いセルが一つおきに配置され、続いて赤以外のセルが連続して３個配置されるという規則にしたがって形成されている。図５の連続コード８０においては、この規則的なパターンが８個のセル、すなわち４個のエレメントを一単位として周期的に繰り返されるようセルの配列が定められている。
【０１１３】
図６（ａ）（ｂ）は、等差数列と区切り符号を用いて作成した母配列を、色の付された帯状のセルの配列によるパターンとして表現した連続コード８０の別の例を示す。この連続コード８０は、本発明と出願人が同じである特許文献２で開示されている１．５Ｄカラービットコードを用いて表現されている。
【０１１４】
１．５Ｄカラービットコードでは、一の数字を、三本の帯状の領域を含む記号によって表す。各帯状の領域に付される色はあらかじめ決められており、各帯状領域の各部分が、決められた色で彩色されているオン状態と彩色されていないオフ状態のいずれかをとる。三本の帯状領域のうち、一度にオン／オフ状態が切り替わるのは一の領域のみであり、一の記号において、オン／オフ状態は二回切り替わる。このような記号を、隣の記号と連続するよう配列することで、全体としても三本の帯状領域のオン／オフ状態によるパターンが形成される。開始点から三本の帯状の領域をたどっていき、各領域でオン／オフ状態が切り替わる順番のみ検出することにより、各記号を認識することができる。１．５Ｄカラービットコードは、寸法、形状の歪みやぼけ、ブレなどに強いという性質を有する。
【０１１５】
図６（ａ）は、最小データ単位である”０”、”１”、”２”、”３”、”４”、”Ｚ”を表現する記号であるエレメント、および開始位置を表すスタート記号を示す。”０”から”４”の各最小データ単位については、それぞれ二通りのエレメントが準備されている。これにより、各最小データ単位をパターンに変換する際に前のエレメントに応じて用いるエレメントを適宜選択し、各エレメントと隣のエレメントとが、その境界でオン状態となる帯状領域を共有するような配列とすることができる。
【０１１６】
図６（ｂ）は、下段にパターンとして変換される対象であるデータ列８４を、上段に、データ列８４を図６（ａ）の記号体系にしたがって変換し、パターンとして表現した連続コード８０を示す。
図６（ｂ）の連続コード８０では、地色の他に２色を用いて、一番上の帯状領域と下の帯状領域を同一色で、真ん中の帯状領域をその色とは異なる色で示している。
【０１１７】
図６（ｂ）のデータ列８４は、５進数２桁の等差数列の各項と、区切り符号”Ｚ”とを交互に配列することによって作成した母配列である。このデータ列８４においては、異なる先頭位置から連続する３個の符号からなる部分配列は、すべて異なる。したがって、図６（ｂ）の連続コード８０においては、異なる先頭位置から連続する３個のエレメントからなるセクション９８は、すべて異なる。
【０１１８】
図６（ｂ）の連続コード８０において、区切り符号”Ｚ”を表現するエレメントを、点線で囲んで示している。１．５Ｄカラービットコードにおいては、一度に１個所の帯状の領域の色彩がオン／オフされる。この連続コード８０は、そのような色彩がオン／オフされる特徴点を４回はさんで区切り記号が配置されるという連続コード形成の規則に従って形成されている。この規則的なパターンは、３個のエレメントを一単位として繰り返し現れる。
【０１１９】
このように、各帯状領域における色彩のオン／オフの変化のみによってエレメントを追跡可能な構成とすることにより、図６（ｂ）の連続コード８０は、寸法、形状の歪みやぼけ、ブレがあっても、連続性や、帯状というトポロジーが保たれていれば、読み取り可能である。したがって、ゆがみやすい物品にコードを付す場合や、印字精度の高くない環境でコードを付す場合でも、読み取り精度の高い連続コードを提供することができる。
【０１２０】
［一次元ドットコード］
図７は、ドット記号の変位を用いてパターン化した連続コード８０の例を示す。図７の下段に示すデータ列８４は、２進数４桁の等差数列の各項と、区切り符号”２”とを交互に配列することによって作成した母数列である。この母配列においては、異なる先頭位置から連続する５個の数で構成される部分数列は、すべて異なる。
【０１２１】
図７の連続コード８０においては、各記号の所定の基準位置からの変位を用いてデータが表現されている。図７の例においては、この変位は、二段階に量子化されている。すなわち、最小データ単位”０”を表す記号は、基準位置にそのまま配置し、最小データ単位”１”を表す記号は、基準位置からＸの正の方向に偏った位置に配置され、最小データ単位”２”を表す記号は、”１”のときよりも大きくＸの正の方向に、偏った位置に配置されている。この例においては、一の記号およびその基準位置からの変位が、一のエレメントにあたる。
図７の連続コード８０においては、異なる先頭位置から連続する５個のエレメントからなるセクションが表現するデータがすべて異なる。
【０１２２】
データ列８４は、区切り符号”２”が４個の数をはさんで規則的に配置されている。したがって、図７の連続コード８０は記号４個おきに、基準位置から最も偏った位置に配置されている記号があらわれるという連続コード形成の規則に従って形成されているといえる。すなわち連続コード８０は、５個の記号またはエレメントを一単位として、周期的に、基準位置から最も偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【０１２３】
なお、図７の例においては基準位置からの変位を用いてデータを表現しているが、各記号とその前または後の記号との距離を用いてデータを表現してもよい。図７においては、ドット記号を用いているが、任意の記号を用いてよい。また、複数の記号を用いることにより、データ列８４のデータに加えて、さらに別のデータを表現してもよい。
【０１２４】
以上のように、線状に記号を配置した連続コードを、本明細書において、「一次元連続コード」ともいう。
【０１２５】
［２次元ドットマトリクスコード］
連続コードを二次元に拡張して、連続マトリクスコードを作成することができる。
図８は、連続マトリクスコードの例として、一次元ドットコードを二次元に拡張したドットマトリクスコード１１０を示す。このドットマトリクスコード１１０では、複数のドット記号が格子状に配列されており、各ドット記号は、それぞれ、その記号が配置される基準位置である格子点からの量子化された変位を用いてデータが表現されるよう配置されている。
【０１２６】
Ｘ方向データ列１０２およびＹ方向データ列１０４は、２進数４桁の等差数列の各項と、区切り符号”２”とを交互に配列することによって作成した母数列である。これら母配列においては、異なる先頭位置から連続する５個の数で構成される部分数列は、すべて異なる。
【０１２７】
図８において、各行のドット記号は、図７と同様の手法により、各記号の所定の基準位置からのＸ方向への変位を用いて、Ｘ方向データ列１０２を表現するよう配置されている。区切り符号として最小データ単位”２”が用いられているため、各行のドット記号の配列は、記号４個おきに、基準位置から最もＸ方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各行において、５個の記号またはエレメントを一単位として、周期的に、基準位置から最もＸ方向偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【０１２８】
図８において各列のドット記号は、図７と同様の手法により、各記号の所定の基準位置からのＹ方向への変位を用いて、Ｙ方向データ列１０４を表現するよう配置されている。区切り符号として最小データ単位”２”が用いられているため、各列のドット記号の配列は、記号４個おきに、基準位置から最もＹ方向に偏った位置に配置されている記号が存在するという連続コード形成の規則に従って形成されている。すなわち、各列において、５個の記号またはエレメントを一単位として、周期的に、基準位置から最もＹ方向に偏った位置に配置されている記号があるという連続コード形成の規則に従って形成されている。
【０１２９】
別の言葉でいうと、ドットマトリクスコード１１０を構成する各行は、４個の連続するエレメントを含む標識部と、１個の境界を示すエレメントとが交互に配置されて構成されているということができる。Ｙ方向についても同様に、ドットマトリクスコード１１０を構成する各列は、４個の連続するエレメントを含む標識部と、１個の境界を示すエレメントとが交互に配置されて構成されている。
【０１３０】
例えば、図８において、★で示したターゲット１０６の位置を特定したい場合、ターゲット１０６に最も近い記号を先頭としてＸ方向に連続する５個のエレメントを含むセクション１０８を読み取って復号することにより、その記号の表すＸ方向位置データが”１２００１”であることがわかる。前述のように、Ｘ方向データ列１０２において、異なる先頭位置から連続する５個の数で構成される部分数列は、すべて異なるから、Ｘ方向の位置を特定することができる。同様に、ターゲット１０６に最も近い記号を先頭としてＹ方向に連続する５個の記号を含むセクション１１２を読み取って復号することにより、その記号の表すＸ方向位置データが”００１２０”であることがわかる。そして、Ｙ方向データ列１０４において、異なる先頭位置から連続する５個の数で構成される部分数列はすべて異なることから、Ｙ方向の位置を特定することができる。
【０１３１】
［２次元差分マトリクスコード］
図９は、本発明の実施形態にかかる連続マトリクスコードの例として、二次元の複数の記号を含むパターンが格子状に配列されている連続マトリクスコード１２０を示す。図９の連続マトリクスコード１２０においては、説明のため、各最小データ単位である数をそのまま数字を用いた記号として示している。すなわち、ここではエレメントと記号とが一対一に対応し、記号はそのままデータである数を表している。
【０１３２】
図９に示したＸ方向データ列１０２およびＹ方向データ列１０４は、図８に示したＸ方向データ列１０２およびＹ方向データ列１０４と同じものであり、説明は省略する。
【０１３３】
図９の連続マトリクスコード１２０において、各エレメントである記号は、それぞれ、そのエレメントが示す数と、そのエレメントが含まれる列の前の列のエレメントのうち同じ行のエレメントが示す数との差によって、Ｘ方向の最小データ単位を表現している。同様に、各エレメントである記号はそれぞれ、そのエレメントが示す数と、そのエレメントが含まれる行の前の行の同じ列のエレメントが示す数との差によって、Ｙ方向の最小データ単位を表現している。なお、上では単に”差”といったが、差が負の値にならないように、例えばｍｏｄ（ｍｏｄｕｌｏ）などを用いて調整する。
【０１３４】
図９において、★で示したターゲット１０６の位置を特定したい場合を例に説明する。まず、Ｘ方向について、ターゲット１０６に最も近い記号を先頭としてＸ方向に連続する５個のエレメントを含むセクション１２２を読み取る。図９では、”１２１１１”である。
【０１３５】
セクション１２２のエレメントのうち、先頭の”１”の前の列の同じ行のエレメントをさらに読み取ると”１”であるので、（１−１）ｍｏｄ３を計算することで、先頭の”１”が表すデータは”０”であることが算出できる。セクション１２２のエレメント”１２１１１”のうち、２番目の”２”の前の列の同じ行のエレメントは、先頭の”１”であるので、（２−１）ｍｏｄ３を計算することにより、２番目の”２”が表すデータは、”１”であることが算出できる。同様に、３番目の”１”が表すデータは、（１−２）ｍｏｄ３より”２”であり、４番目の”１”が表すデータは（１−１）ｍｏｄ３により”０”であり、５番目の”１”が表すデータは、（１−１）ｍｏｄ３により”０”であることが、コード認識装置によって算出できる。
【０１３６】
このようにしてコード認識装置は、セクション１２２のエレメントが表す部分数列として、”０１２００”を特定できる。前述のように、Ｘ方向データ列１０２において、異なる先頭位置から連続する５個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、Ｘ方向の位置を特定することができる。
【０１３７】
同様に、Ｙ方向についても、ターゲット１０６に最も近い記号を先頭としてＹ方向に連続する５個のエレメントを含むセクション１２４を読み取る。図９では、”１１２１１”である。
【０１３８】
セクション１２４のエレメントのうち、先頭の”１”の前の行の同じ列のエレメントをさらに読み取ると”１”であるので、（１−１）ｍｏｄ３を計算することで、先頭の”１”が表すデータは”０”であることが算出できる。セクション１２４のエレメント”１１２１１”のうち、２番目の”１”の前の行の同じ列のエレメントは、先頭の”１”であるので、（１−１）ｍｏｄ３を計算することにより、２番目の”１”が表すデータは、”０”であることが算出できる。同様に、３番目の”２”が表すデータは、（２−１）ｍｏｄ３により”１”であり、４番目の”１”が表すデータは、（１−２）ｍｏｄ３により”２”であり、５番目の”１”が表すデータは、（１−１）ｍｏｄ３により”０”であることが、算出できる。このようにしてコード認識装置は、セクション１２４のエレメントの表す部分データ列として、”００１２０”を特定できる。
【０１３９】
前述のように、Ｙ方向データ列１０４において、異なる先頭位置から連続する５個の数で構成される部分数列は、すべて異なるから、部分データ列を特定することにより、Ｙ方向の位置を特定することができる。
なお、図９の例では、Ｘ方向データ列１０２およびＹ方向データ列１０４として、等差数列の各項と、区切り符号”２”とを交互に配列することによって作成した母数列を用いる例を示した。Ｘ方向データ列１０２およびＹ方向データ列１０４として用いる母数列はこれに限られず、異なる先頭位置から開始する所定長の部分数列がすべて異なるような母数列であれば、任意の母数列を用いてよい。例えば、デブルイン数列を用いてもよい。
【０１４０】
図９の連続マトリクスコード１２０においては、等差数列の各項と、区切り符号”２”とを交互に配列することによって作成した母数列を用いる例を示した。このような母数列を用いることにより、連続マトリクスコード１２０の各行または各列は、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるように構成されてもよい。この場合、コード認識装置は、エレメントの配列を復号することにより、各行または各列が、複数の連続するエレメントを含んで形成される標識部と、境界を示すエレメントとが交互に配置されるという規則にしたがって形成されているか否か判定できる。
【０１４１】
図９の例においては、エレメントは、そのエレメントが含まれる列の前の列のそのエレメントに対応するエレメントが示す数との差によって、Ｘ方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる列の次の列のそのエレメントに対応するエレメントが示す数との差によって、Ｘ方向のデータが表現されるよう定められているとしてもよい。
同様に、図９の例においては、エレメントは、そのエレメントが含まれる行の前の行のそのエレメントに対応するエレメントが示す数との差によって、Ｙ方向のデータが表現されるよう定められているとした。これに限られず、エレメントは、そのエレメントが含まれる行の次の行のそのエレメントに対応するエレメントが示す数との差によって、Ｘ方向のデータが表現されるよう定められているとしてもよい。
【０１４２】
図９の連続マトリクスコード１２０においては、各最小データ単位である数をそのまま数字を用いた記号として示した。この他にも、図９に示したような最小データ単位を、様々な方法でパターンとして表現することにより連続マトリクスコード１２０を作成することができる。
例えば、エレメントは、各数字を表す記号に置き換えられて表現されてもよい。
また、エレメントは、色の付されたセルの配列、またはその配列における隣接するセル間の色彩の遷移にデータが表現されるよう定められていてもよい。
また、エレメントは、光学的に認識可能な記号に限らず、磁気により認識可能な記号を用いて表わされてもよく、この他にも様々の方法で表現されうる。
【０１４３】
図９の連続マトリクスコード１２０のように、前後に位置するエレメントの差を用いてデータを表すことにより、一定範囲の数字のみ用いて、ＸＹ方のデータ列を表現することができる。すなわち、使用する数字の数を、データ列で用いられている数字の数にとどめることができる。
【０１４４】
［連続マトリクスコードの変形例］
なお、図８のドットマトリクスコード１１０および図９の連続マトリクスコード１２０において、各行が表すＸ方向の位置情報はすべて同じであり、各列が表すＹ方向の位置情報はすべて同じである。したがって、上述の例においては、ターゲット１０６に最も近い記号を先頭としてＸ方向に連続する５個の記号を含むセクションを読み取ったが、最も近い記号の属する列の任意の記号を先頭としてＸ方向に連続する５個の記号を含むセクションを読み取っても同じ結果がえられる。Ｙ方向についても同様である。これにより、例えばターゲット１０６が記号を覆い隠しているような場合にも、そのターゲット１０６の位置を特定することができる。
【０１４５】
さらに、図８のドットマトリクスコード１１０および図９の連続マトリクスコード１２０においては、Ｘ方向とＹ方向について、同じデータ列を用いてパターンを作成する例を示したが、Ｘ方向とＹ方向について、異なるデータ列を用いてもよい。例えば、Ｘ方向は、等差数列の各項と区切り符号とを交互に配列したデータ列を用い、Ｙ方向ではデブルイン数列をデータ列として用いてもよい。
これにより、Ｘ方向とＹ方向とで、異なる連続コード形成の規則に従ってパターンが表現されるため、コード認識装置が容易にＸ方向とＹ方向とを判別することができる。
【０１４６】
本明細書において、特に断らないかぎり、「連続コード」とは、一次元連続コードと連続マトリクスコードとの両方を指すものとする。
【０１４７】
［切り出しアルゴリズム］
前述のように、連続コードは、コード認識装置が一回のスキャンでとらえることのできる範囲よりも長い、あるいは広い範囲にわたることが想定され、通常は、コード認識装置の検出ウィンドウに連続コード全体の始点および終点がふくまれず、画面中に含まれる記号の数も不定であるため、一の記号のサイズを特定することが難しい。このような場合であっても、連続コードを、連続コードを切り出すためのアルゴリズムの切り出し判定条件にしたがうよう構成することで、コード認識装置が連続コードを、より容易に連続コード以外の部分背景画像と区別して検出し、抽出することができる。
【０１４８】
連続コードを切り出すためのアルゴリズムの切り出し判定条件としては、たとえば、彩色セルの配列を含むコードについて、本発明と発明者および出願人が同じである特許文献３で開示されているように、一のセルの周囲が、白色−他色−白色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。また、ここで白色とは、彩色セルに用いられる色以外の色を、その代表色である白色と表現している。
【０１４９】
また、彩色セルの配列を含むコードにおいて、各セルがいわゆる飛び石状になっており、各セルが接していないことも考えられる。その場合は、各セルの領域を拡張して、上記の切り出し判定条件を適用してもよい。
【０１５０】
［クワイアットゾーン］
連続コードを取り囲むように、彩色セルやマークなどの記号に用いられる色以外の色から選択した一の色彩を付した領域を設けてもよい。以下、この領域をクワイアットゾーンといい、クワイアットゾーンに付す一の色彩を、スペース色とよぶ。
クワイアットゾーンは、たとえば、連続コードを構成する各セルの重心を一定位置にとどめたまま、各セルを一定比で拡大したときに覆われる領域を外縁としてもよい。
クワイアットゾーンを設けることにより、コード認識装置が、背景画像と連続コードの境界部分を認識することができるため、より簡単な手順で背景画像と区別して連続コードを切り出すことができる。
【０１５１】
連続コードの周りにクワイアットゾーンを付した場合、連続コードを切り出すためのアルゴリズムの切り出し判定条件として例えば、本発明と発明者および出願人が同じである特許文献３で開示されている条件を用いてもよい。すなわち、彩色セルの配列を含むコードにおいて、一のセルの周囲がスペース色−他色−スペース色−他色で周回が完結されていることを条件としてもよい。ここで、「他色」とは、彩色セルに用いられる色があらかじめ定められているとき、その一のセルに付されている色以外の色で、彩色セルに用いられる色をいう。
【０１５２】
［検出マーク］
上述の切り出し判定条件として、コード認識装置が連続コードを、連続コード以外の部分である背景画像と区別して検出し、抽出するための検出マークが付されていることを条件としてもよい。
【０１５３】
図１０（ａ）〜（ｃ）は、検出マークを付した一次元連続コードの例を示す。図１０（ａ）および（ｃ）においては、データ列８４として、２進数デブルイン数列の一を用いている。このデブルイン数列では、異なる先頭位置から開始する連続する４桁の数字からなる部分数列が互いにすべて異なる。
【０１５４】
図１０（ａ）は、記号●、上向き三角記号、下向き三角記号の３種類の記号の配列により表現された連続コード８０の片側に検出マーク１３０ａを、反対側に１３０ｂをそれぞれ付した例である。この連続コード８０では下向き三角記号および上向き三角記号が、最小データ単位である”０”、および”１”をそれぞれ示す。下向き三角記号および上向き三角記号は、それぞれ一の最小データ単位を表すエレメントでもある。記号●は、チェック用記号であり、この連続コード８０は、一つおきにチェック用記号を配置するという規則にしたがって構成されている。検出マーク１３０ａは、二本の直線を含み、検出マーク１３０ｂは一本の直線を含む。
【０１５５】
このように、一次元連続コードにおいて上下非対称な検出マークを付すことにより、コード認識装置が読み取り方向を特定することができる。また、連続コード８０に、上向き三角記号と下向き三角記号のように上下方向が定まらないと、その表す最小データ単位が一意に決まらない記号を含まれている場合でも、コード認識装置がそれらの記号を認識することができる。
【０１５６】
図１０（ｂ）は、別の検出マーク１３２を示し、図１０（ｃ）は、この検出マーク１３２を付した連続コード８０の例を示す。検出マーク１３２は、同じサイズの方眼の連続として構成される。図１０（ｃ）の連続コード８０は、太さの異なる縦線を記号として用いており、細い線が０、太い線が１を表している。この連続コード８０は、検出マーク１３２を含むよう構成されており、コード認識装置は、検出マーク１３を利用して連続コード８０を特定し、切り出すことができる。
【０１５７】
図１１は、図９に示した連続マトリクスコード１２０に、直線で表された検出マーク１３４を付した例を示す。この例では、ｎ行ごとに１本の検出マーク１３４が付される。すなわち、ｎ行ごとに分けられた記号のグループが、連続マトリクスコード１２０を特定可能とするための検出マーク１３４を、それぞれ含んで形成されている。ｎ行ごとに分けられたエレメントのグループが、それぞれ検出マーク１３４を含んで形成されているともいえる。図１１においては、ｎを２として、２行ごとに１本の検出マーク１３４を付した例を示している。ただし、ｎは自然数である。
【０１５８】
図１２は、図８に示したドットマトリクスコード１１０において、各ドット記号を検出マーク１３６である上向き三角記号で表した例を示す。Ｘ方向データ列１０２およびＹ方向データ列１０４は、図８において説明したＸ方向データ列１０２およびＹ方向データ列１０４と同じである。この例では、記号のそれぞれが、ドットマトリクスコード１１０を特定可能とするための検出マーク１３６としても用いられている。
【０１５９】
この他にも、例えばドットマトリクスコード１１０が、さらにドットの基準位置を示すような検出マーク１３６を含むように構成されてもよい。これにより、コード認識装置がドットの基準位置を直接認識することが可能となる。
【０１６０】
このように、検出マークを付し、またはエレメントや記号のグループに検出マークを含めることで、より容易に、連続コードを背景画像から区別して検出し、抽出することができる。また、検出マークを付すことで、コード認識装置が連続コードの１個の記号のサイズをより確実に認識することが可能となり、個々の記号を切り出すことができる。また、連続マトリクスコードにおいては、ＸＹ方向で非対称となるような検出マークを付したり、記号やエレメントまたはそのグループに、ＸＹ方向で非対称である検出マークを含めることにより、コード認識装置がＸＹ方向を特定することが可能となる。
【０１６１】
［セクション認識処理］
図１３は、図１のコード認識装置１００が、実施形態にかかる連続コードを検出し、各セクションを分離して認識する手順を示すフローチャートである。以下、図１も参照しながら説明する。なお、以下のセクション認識処理の説明においては、認識対象の連続コードが彩色セルの配列で構成され、一の彩色セルが一の記号に該当する例を想定しているが、他の構成の連続コードの場合についても、同様の手順により、セクション認識処理を行うことができる。
【０１６２】
まず、読み取り部１２の入力部１４が、連続コード８０を含む場面を撮像する（Ｓ１０）。撮像データに対して、量子化部１６が画像をＮ値化したり、領域分割するなどの前処理を行い、位置コード抽出部２４に処理した画像データを送る。位置コード抽出部２４の位置コード切り出し条件判定部２６は、画像データ中の連続コードである可能性がある領域について、あらかじめ定められた検出マークの有無や所定の連続コード形成の規則などの連続コード切り出し条件を満たすか否か判定する。切り出し条件をみたすと判定された場合、位置コード切り出し処理部２８が、画像データの該当部分を位置コードと認識して切り出し（Ｓ１２）、セクションデータ取得部３０に送る。
【０１６３】
セクションデータ取得部３０のセル認識部３２は、切り出されたパターンから、あらかじめ定められた記号を認識するための記号判定条件にしたがう部分を記号として認識し、また各記号の種類を識別する（Ｓ１４）。ここで、記号判定条件から外れるパターンは排除される。
【０１６４】
エレメント認識部３４は、認識された記号群から、あらかじめ定められたエレメント構成規則にしたがう記号や記号の配列をエレメントとして認識し、各エレメントを識別する（Ｓ１６）。エレメント構成規則は、エレメントを構成する記号の数や、その組み合わせなどを規定する規則である。このステップにおいて、セル認識部３２によって認識された記号のうち、エレメント構成規則からはずれる記号が排除される。
【０１６５】
セクションデータ取得部３０のエレメント復号部３６は、認識されたエレメントを、エレメントと最小データ単位とを対応づける規則に基づいて、それぞれ最小データ単位に復号する（Ｓ１８）。
【０１６６】
セクションデータ取得部３０のセクション選択部３８は、最小データ単位の配列からなるセクションデータのいずれかを選択する（Ｓ２０）。具体的には、セクション選択部３８が、最小データ単位の配列から一の最小データ単位を指定し、最小データ単位とセクションデータとを関連づける規則にしたがって、指定された最小データ単位と関連づけられる一のセクションデータを選択する。
【０１６７】
一の最小データ単位を指定する際には、例えば、一の撮像画像中の認識されたエレメントを復号してなる最小データ単位の配列において、先頭からｎ番目の最小データ単位を指定することとしてもよく、最小データ単位の配列の先頭からｋパーセントにあたる位置にある最小データ単位を指定することとしてもよい。ここでｎは自然数であり、ｋは０以上１００以下の数である。
【０１６８】
最小データ単位とセクションデータとを関連づける規則は、ある一の最小データ単位に対して、その最小データ単位が属するセクションデータのうちいずれか一のセクションデータを関連づける規則である。例えば、ある最小データ単位に対して、その最小データ単位が先頭に位置するセクションデータが関連づけられてもよく、その最小データ単位が中心に位置するようなセクションデータが関連づけられてもよい。
【０１６９】
セクション選択部３８は、一の最小データ単位を指定する代わりに、複数の最小データ単位を指定することで、一のセクションデータを選択してもよい。この場合、最小データ単位とセクションデータとを関連づける規則は、複数の最小データ単位と、一のセクションデータを関連づける。例えば、指定された複数の最小データ単位と、それら複数の最小データ単位を全て含むセクションデータとが関連づけられてもよく、指定された複数の最小データ単位と、それら複数の最小データ単位のうちより多くの最小データ単位を含むセクションデータとが関連づけられてもよい。
【０１７０】
このように、各エレメントを復号して数値データとした後にセクションデータを選択することで、扱うデータ量を減らすことができ、より効率的かつ迅速に処理を行うことができる。
【０１７１】
なお、図１３のフローチャートにおいて、ステップ１８と、ステップ２０とは入れ替え可能である。すなわち、セクション選択部３８がセクションを選択した後に、エレメント復号部３６が、選択されたセクションに属するエレメントをそれぞれ復号することで、セクションデータが取得されてもよい。
【０１７２】
この場合、セクション選択部３８は、認識されたエレメント群から、一のエレメントを指定し、エレメントとセクションとを関連づける規則にしたがって、指定されたエレメントと関連づけられる一のセクションを選択する。
【０１７３】
エレメントを指定する際には、撮像画面中の位置を指定することで、その位置に捕らえられたエレメントを指定してもよい。例えば、画像中の位置をピクセル単位で指定したり、画面の端からｋパーセントにあたる位置などと指定したりして、その位置を含む領域を占めるエレメントを指定してもよい。ここで、ｋは０以上１００以下の数である。
また、撮像画面中の連続コード以外のオブジェクトとの関係によりエレメントを指定してもよい。例えば、撮像画面中に含まれるターゲット識別コードとの距離が最短であるエレメントを指定することとしてもよい。
【０１７４】
エレメントとセクションとを関連づける規則は、ある一のエレメントに対して、そのエレメントが属するセクションのうちいずれか一のセクションを関連づける規則である。例えば、あるエレメントに対して、そのエレメントが先頭に位置するセクションを関連づけたり、そのエレメントが中心に位置するようなセクションを関連づけたりする。
【０１７５】
セクション選択部３８は、一のエレメントを指定する代わりに、複数のエレメントを指定してもよい。この場合、エレメントとセクションとを関連づける規則は、複数のエレメントに対して、一のセクションを関連づける。例えば、指定された複数のエレメントと、それら複数のエレメントを全て含むセクションが関連づけられてもよく、指定された複数のエレメントと、それら複数のエレメントのうち、より多くのエレメントを含むセクションが関連づけられてもよい。
【０１７６】
このように、数値データに変換する前の画像データの段階でセクションの指定を行うことで、画面中での位置や、位置コード以外のオブジェクトとの関係なども考慮して、データを読み取るべきセクションを指定することが可能となる。
【０１７７】
セクション取得部分３０はまた、一のセクションデータと他のセクションデータとを比較して、それらが連続コード形成の規則にしたがっているか検証することで、切り出したパターンが、確かに目的とする連続コードであるか否かを確認してもよい。
なお、上記セル認識処理、エレメント認識処理、エレメント復号処理、セクション選択処理において用いられる認識条件や排除条件は、後述するように、画面中の位置、他の記号との位置関係などにもとづいて、適宜変更されて、適用されてもよい。
以上の手順で選択されたセクションに関する情報は、位置情報取得部５０に送信される。
【０１７８】
［一定数以上連続する記号を切り出し］
連続コードを切り出すためのアルゴリズムの切り出し判定条件として、一の検出ウィンドウ中での、記号またはエレメントの最低連続数を閾値として設定してもよい。これにより、背景画像に写っている連続コードに類似する画像などの、意味のある情報を持たないノイズを排除することができる。
【０１７９】
最低連続数は、例えば、一のセクションに含まれる記号またはエレメントの数としてもよい。
また、連続コードが画面よりも広い範囲にわたって付される場合が多いことを考慮して、コード認識装置１００の検出ウィンドウと、連続コードを構成する記号のサイズのバランスから、最低連続数を決定してもよい。この場合、使用状況を想定して、経験や実験をもとに事前に最低連続数を設定してもよい。また、撮像のたびに、カメラと連続コードの距離が異なるような場合、撮像の都度、コード認識装置が画面中に検出された記号のサイズの平均等を用いて最低連続数を設定してもよい。後者の場合、例えば、コード認識装置は、画面中に検出される記号のサイズの平均を算出し、その平均サイズの記号が一のスキャン画面の短い辺の長さを占める個数を、最低連続数として設定してもよい。
【０１８０】
このように、記号やエレメントが一定数以上連続することを切り出し判定条件とすることにより、コード認識装置１００の位置コード抽出部２４が、連続コード以外の背景画像中の紛らわしい画像と、連続コードとを区別して検出し、抽出することができる。
【０１８１】
［画像ゆがみやボケへの対応］
上述のように、コード認識装置１００のセクションデータ取得部３０のセル認識部３２は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。しかしながら、コード認識装置１００の検出ウィンドウの端などにおいては、画像のゆがみ等により、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。また、ピントがあっていないため、例えば画像をＮ値化した際に、各記号のサイズにバラツキが出てしまい、実際には連続コードの一部である記号であっても、連続コードを構成する記号ではないと判定されてしまう可能性も考えられる。
【０１８２】
このため、コード認識装置１００の位置コード切り出し条件判定部２６やセル認識部３２によって、連続コードの一部であると判定されなかった記号であっても、連続コードに属すると判定された記号との位置関係が所定の条件を充たす場合、すなわち連続条件をみたす場合には、連続コードの一部であると判定されるよう定めてもよい。具体的には、連続コードの一部であると判定されなかった記号について、画面中で近傍に連続コードに属すると判定された記号がある場合には、位置コード切り出し条件判定部２６またはセル認識部３２が、その記号を連続コードの一部であると判定する。
【０１８３】
ここで、「近傍」であるか否かは、たとえば、記号間距離が相互に連続すると見なしてよいと考えられる基準距離以下であることを条件として判定してもよい。例えば記号の中心間の距離をとる場合、記号の平均サイズの１．５倍を基準距離としてもよい。基準距離はこの他にも、実験または経験により定めてよい。
【０１８４】
これにより、実際には連続コードの一部である記号が、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて連続コードを構成しないと判定されてしまった場合でも、連続コードに連続していると考えられる場合には、連続コードの一部であるとして、その情報を取得することができる。
【０１８５】
［画面中の切り出し範囲限定］
上述のように、コード認識装置は、連続コードを切り出すためのアルゴリズムの切り出し判定条件にもとづいて、各記号が連続コードの一部を構成するか否か判定する。この際、連続コードの使用目的によっては、コード認識装置１００の入力部１４の検出ウィンドウの所定範囲のみ考慮すれば足りることもある。たとえば図２４の冊子の例だと、連続コードは通常画面下に現れる。そこで所定の範囲として画面の下半分とすればよい。
【０１８６】
一般に、ターゲットの存在形態やターゲットが置かれる姿勢に応じて連続コードの画面内位置が想定できる場合がある。ターゲットが縦長であったり、複数のターゲットが横方向に並べられているような場合には、ターゲットの上や下に横方向の連続コードがありうるので、画面の下ないし上を所定の範囲とすればよい。また、ターゲットが横長であったり、複数のターゲットが縦方向に並べられているような場合には、ターゲットの右や左に縦方向に連続コードが付されうるので、画面の左ないし右を所定の範囲とすればよい。このように、ターゲットの存在形態やターゲットが置かれる姿勢に応じて想定できる連続コードの画面内位置を含む領域を、連続コード検出の対象領域とすればよい。
【０１８７】
このような場合、コード認識装置は、その検出ウィンドウの所定の範囲内において検出した記号のみについて、連続コードとして扱えばよい。したがって、コード認識装置１００の位置コード切り出し処理部２８は、検出ウィンドウの所定の範囲内において検出した記号のみについて、切り出し判定条件や、連続条件をみたすか否か判定する。
【０１８８】
これにより、不必要な部分についてまで、連続コードが存在するか否か、探索する処理を削減することができ、処理スピードを速めることができる。また、ＣＰＵやメモリなどのリソースを有効に使うことができる。
【０１８９】
［サイクル識別標示］
前述の一次元連続コードは、例えばデブルイン数列の長さや、等差数列の項数などによって定まる長さに限定されるが、一次元連続コードを複数連結することにより、連続コードの長さを所望の長さに延長することができる。
同様に、前述の連続マトリクスコードも、例えばデブルイン数列の長さや、等差数列の項数などによって定まる範囲に限定されるが、連続マトリクスコードを複数連結することにより、連続コードの範囲を所望の範囲に拡大することができる。
【０１９０】
前述のように、連続コードにおいては、異なる先頭位置から連続する所定数のエレメントからなるセクションはすべて異なるが、同じ連続コードを複数連結する場合、繰り返しの単位であるサイクルのうちの一のサイクル中の一のセクションと、別のサイクル中の一のセクションとが表すデータが同じである場合も生じる。このような場合、コード認識装置は、一のセクションを一意に識別できない。
以下では、同じ連続コードを複数連結して用いる場合の繰り返しの各サイクルを識別するためのサイクル識別標示について説明する。
【０１９１】
図１４（ａ）および（ｂ）は、それぞれ、母数列１４０を繰り返し用いたデータ列８４を、記号の配列によるパターンとして表現した連続コード８０の例を示す。ここで、母数列１４０は、２進数２桁の等差数列の各項００、０１、１０、１１と、区切り符号”２”とを交互に配列することによって作成した数列”２００２０１２１０２１１”である。母数列１４０においては、異なる先頭位置から連続する３個の数からなる部分数列は、すべて異なる。
【０１９２】
図１４（ａ）（ｂ）においては、この母数列１４０を繰り返し用いることにより作成した、より長いデータ列８４の一部が示されている。
図１４（ａ）（ｂ）の連続コード８０では、最小データ単位である”０”、”１”、”２”をそれぞれ記号○、◆、☆を用いて表すことで、データ列８４をパターンとして表現している。
【０１９３】
図１４（ａ）の連続コード８０には、画像内に写っている線分の数によって各サイクルを識別可能であるように構成されたサイクル識別標示が付されている。図１４（ａ）の例においては、サイクル識別標示１４２ａ、１４２ｂ、１４２ｃ、１４２ｄが、図１０に示した検出マークの上側に、それぞれのサイクルに属する記号に対応づけられて付されている。図１４（ａ）において記号とエレメントは一致するので、サイクル識別標示１４２ａ、１４２ｂ、１４２ｃ、１４２ｄは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【０１９４】
図１４（ｂ）は、繰り返しの単位である各サイクルを識別するための別のサイクル識別標示１４４ａ、１４４ｂ、１４４ｃ、１４４ｄを付した連続コード８０の例である。サイクル識別標示１４４ａ〜ｄは、連続コード８０の、それぞれのサイクルに属する記号に対応づけられて、記号を取り囲むように、各サイクルによってそれぞれ異なる一色で彩色された領域を付すことにより、表現されている。
図１４（ｂ）において記号とエレメントは一致するので、サイクル識別標示１４２ａ、１４２ｂ、１４２ｃ、１４２ｄは、それぞれのサイクルに属するエレメントに対応づけられて付されているともいえる。
【０１９５】
なお、図１４（ａ）（ｂ）のサイクル識別標示は、連続コード８０を切り出すための検出マークも兼ねている。このように、検出マークとサイクル識別標示を一のマークで表現することで、コード認識装置による読み取り手順を簡易化し、またスペースを有効に活用することができる。
【０１９６】
図１５は、母数列を繰り返し用いた長いデータ列をＸ方向とＹ方向に用いて、図９に関連して説明した方法と同様の方法により表現した連続マトリクスコード１２０の例を示す。ここで、Ｘ方向母数列１４６およびＹ方向母数列１４８は、２進数２桁の等差数列の各項００、０１、１０、１１と、区切り符号”２”とを交互に配列することによって作成した数列”００２０１２１０２１１”である。この数列においては、異なる先頭位置から連続する３個の数からなる部分数列は、すべて異なる。
図１５においては、このＸ方向母数列１４６およびＹ方向母数列１４８を繰り返し用いることにより作成した、より長いＸ方向データ列１０２およびＹ方向データ列１０４の一部を示している。
【０１９７】
図１５の連続マトリクスコード１２０では、図９に関連して説明したように、各エレメントは、それぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、Ｘ方向の最小データ単位を表現している。同様に、各エレメントはそれぞれ、そのエレメントが示す数と、その前の列の同じ行のエレメントが示す数との差によって、Ｙ方向の最小データ単位を表現している。なお、上では単に「差」といったが、差が負の値にならないように、例えばｍｏｄなどを用いて調整している。
図１５の連続マトリクスコード１２０においては、各最小データ単位である数をそのまま数字を用いた記号として示している。
【０１９８】
図１５の連続マトリクスコード１２０においては、繰り返しの単位である各グループを識別するためのグループ識別標示として、それぞれのグループに属する記号の背景が各グループによって異なる色で彩色されている。
【０１９９】
一般的に、異なる先頭位置から連続する所定長の部分数列が全て異なるような母数列の長さは、用いる数の基数や、部分数列の長さによって限定される。より長い母数列を作成したいときには、用いる数の基数を大きくするか、部分数列の長さを長くする必要がある。
連続コードを複数連結し、サイクル識別標示またはグループ識別標示を付すことにより、用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【０２００】
［サイクル識別パターン］
図１６は、繰り返しの単位である各サイクルを識別するために、各サイクルによって、異なるエレメントを用いて同一の数を表している連続コード８０の例である。この連続コード８０では、元の連続コードを３個連結して、より長い連続コードを作成したものであるが、同一の数を表すのに各サイクルにおいて異なった色彩配列をもつエレメントを採用している。
連続コード８０ａ、８０ｂ、８０ｃは、それぞれ、連続コード８０の第一サイクル、第二サイクル、第三サイクルの一部を示している。
【０２０１】
図１６の連続コード８０では、データ列８４として、デブルイン数列”００００１００１１０１０１１１１１”を３個連結したデータを用いている。図１６においては、各サイクルにおけるデブルイン数列の初めの部分のみをデータ列８４として示している。
この連続コード８０では、記号として、赤、緑、または青で彩色されたセルの色の配列によりデータが表現され、５個のセルが一のエレメントを構成する。以下においては、配列の説明のため、赤、緑、青のセルをそれぞれ、Ｒ、Ｇ、Ｂで表記する。
【０２０２】
第１のサイクルでは、ＲＢＧＢＧの順にセルが配列されたエレメントが最小データ単位”０”を、ＲＧＢＧＢの順にセルが配列されたエレメントが最小データ単位”１”を、それぞれ示す。第１のサイクルにおいて、連続コード８０は、４個のセルを挟んで、赤いセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【０２０３】
第２のサイクルでは、ＧＲＢＲＢの順にセルが配列されたエレメントが最小データ単位”０”を、ＧＢＲＢＲの順にセルが配列されたエレメントが最小データ単位”１”を、それぞれ示す。第２のサイクルにおいて、連続コード８０は、４個のセルを挟んで、緑のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【０２０４】
第３のサイクルでは、ＢＧＲＧＲの順にセルが配列されたエレメントが最小データ単位”０”を、ＢＲＧＲＧの順にセルが配列されたエレメントが最小データ単位”１”を、それぞれ示す。第３のサイクルにおいて、連続コード８０は、４個のセルを挟んで、青のセルが周期的に配置されているという連続コード形成の規則に従って形成されている。
【０２０５】
図１６の連続コード８０では、各データ単位を表現するために用いられるエレメントが、連続コードの繰り返しの単位である各サイクルによって異なるように定められている。このように、各サイクルによって、数を表現する記号の配列を変えることにより、コード認識装置が各サイクルを識別することが可能となる。
同様の方法により、二次元連続マトリクスコードにおいても、連続コードの繰り返しの単位である各グループによってエレメントが異なるようにパターンを形成することができることは、当業者に理解されるところである。
【０２０６】
このように、連続コードを複数連結し、連続コードの繰り返しの単位である各サイクルまたはグループによって、同じデータを表現するのにエレメントを変えることで、連続コードに用いる数の基数や部分数列の長さを変えることなく、連続コードの長さ、またはその範囲を所望のサイズに拡大することができる。
【０２０７】
［サイクル識別手順］
図１７は、図１のコード認識装置１００が、抽出された連続コードのセクションと、サイクル識別表示とにもとづいて、そのセクションの位置を算出する手順を示すフローチャートである。このセクションの位置を算出する処理は、図１３のフローチャートで示したセクション認識処理の結果を受けて、位置情報取得部５０において実行される。以下、図１も参照しながら説明する。
【０２０８】
位置情報取得部５０は、セクションデータ取得部３０から、セクションに関する情報を取得する（Ｓ３０）。位置情報取得部５０の位置情報特定部５２は、取得したセクションについて、サイクル内での位置を特定する（Ｓ３２）。例えば、セクションの表すデータがデブルイン数列の一部である場合には、前もって準備したテーブルを参照することで位置を特定し、セクションの表すデータが等比数列の項と区切り符号を組み合わせた母数列の一部である場合には、計算により、位置を特定する。
【０２０９】
サイクル情報特定部５４は、位置コード抽出部２４またはセクションデータ取得部３０から、セクションのサイクル情報を取得する（Ｓ３４）。そして、前もって準備したテーブルなどを参照することにより、そのサイクルの位置を特定する（Ｓ３６）。
【０２１０】
座標算出部５６は、取得したセクションの位置およびそのセクションの属するサイクル位置に関する情報にもとづいて、セクションの位置を算出する（Ｓ３８）。セクションの位置は、例えば、あらかじめ定めた座標上の位置として算出してもよい。
【０２１１】
［環状コード］
図１８は、一次元連続コードを環状に配置した、環状連続コード１５０の例を示す。環状連続コード１５０は、連続コード８０の先頭の記号と、後尾の記号とが隣接するよう配置することにより作成される。図１８の例では、データ列８４としては、２進数デブルイン数列の一つである数列”００００１００１１０１０１１１１”を環状に配置したデータ列を用いている。この数列では、異なる先頭位置から開始する連続する４桁の数字が互いにすべて異なる。
環状連続コード１５０では、データ列８４を記号●、上向き三角記号、下向き三角記号の３種類の記号を用いて、パターン化している。下向き三角記号であるエレメントが最小データ単位”０”を、上向き三角記号あるエレメントが最小データ単位”１”を表す。記号●は、チェック用記号である。
【０２１２】
このように、環状に配置することで、タイヤやギアなどの円盤状やドーナツ状の物体の回転角度や位相を、環状連続コード１５０を用いて検知することができる。
なお、環状連続コード１５０の形状は円形に限られず、トポロジーとして、先頭と終端の記号が隣り合うように配置されていればよい。このように配置することで、何度も同じコースを周回しながらコードを読み取るような場合にも、コードの不連続部分、すなわち情報の空白部分を生じさせることなく、各位置に情報を記録することが可能となる。
【０２１３】
図１９は、連続マトリクスコードを環状に配置した、環状マトリクスコード１６０の例を示す。環状マトリクスコード１６０は、連続マトリクスコードの先頭の列と後尾の列とが隣接するよう配置することによって作成される。
【０２１４】
図１９の環状マトリクスコード１６０は、記号○、◆、☆が、それぞれ最小データ単位”０”、”１”、”２”を表現している。元データとしては、Ｘ方向、Ｙ方向ともに母数列として、２進数２桁の等差数列の各項”００”、”０１”、”１０”、”１１”と、区切り符号”２”とを交互に配列することによって作成した数列”００２０１２１０２１１”を用いている。この母数列においては、異なる先頭位置から連続する３個の数からなる部分数列は、すべて異なる。そして、図９に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、Ｘ、Ｙ方向の各最小データ単位を表現している。なお、差が負の値にならないように、例えばｍｏｄ演算などを用いて調整している。
【０２１５】
図２０は、連続マトリクスコードを環状に配置した、環状マトリクスコード１６０の別の例を示す。元データ、記号については、図１９と同じものを用いている。図２０においては、環状マトリクスコード１６０を円筒形状の内側に配置している。
なお、環状連続コード１５０の形状は図１９および２０に示した円筒状に限られず、トポロジーとして筒状であればよく、先頭と終端の列または行が隣り合うように配置されていればよい。
このように連続マトリクスコードを環状に配置することで、例えば、幅をもつ回転体の回転角度や位相と、回転軸方向の位置の両方を検知することができる。また、ベルトコンベヤのベルトなど、始端および終端の存在しない面上における位置を、自動認識技術により特定することができる。
【０２１６】
［埋め込み］
連続コード８０が配設されている領域に、連続コード８０が表現するデータとは別のデータを記録する情報コードを埋め込むことができる。
【０２１７】
図２１（ａ）は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターンに変換する前のデータ列８４の例を示す。このデータ列８４は、２進数３桁で公差が１の等差数列と区切り符号を組み合わせることにより作成した母数列”０００２００１２０１０２１１２１・・”（以下、位置データとよぶ）に、別のデータ（以下、埋め込みデータとよぶ）を埋め込んだ例である。図２１（ａ）の位置データにおいては、数字の”２”を区切り符号９４として用いており、図では区切り符号９４を実線の長方形で囲んで示している。埋め込みデータは、点線で囲んで示している。このデータ列８４では、位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。図２１（ａ）のデータ列８４は、区切り符号９４が数７個おきに配列されているという規則に従って形成されている。
【０２１８】
コード認識装置１００は、区切り符号９４を利用し、また予め定められた埋め込みデータ配置規則にもとづいて、位置データと埋め込みデータを区別して抽出することができる。
【０２１９】
図２１（ｂ）は、一次元連続コードに、別のデータを記録する情報コードを埋め込む際の、パターン変換前のデータ列８４の別の例を示す。
このデータ列８４は、デブルイン数列の一つ”００００１００１１０１０１１１１”（以下、位置データとよぶ）に、別のデータ（以下、埋め込みデータとよぶ）を埋め込んだ例である。埋め込みデータの最小データ単位は、点線で囲んで示している。位置データの最小データ単位と埋め込みデータの最小データ単位が、それぞれ交互に配置されている。位置データは、数０、１を用いて表され、埋め込みデータは、数２、３を用いて表されている。
【０２２０】
図２１（ｂ）のように、区切り符号がない場合でも位置データと埋め込みデータとを、それぞれ異なる数を用いて表すなど、位置データと埋め込みデータの配列に規則を設けることで、コード認識装置１００が、位置データと埋め込みデータを分離して抽出することができる。
図２１（ａ）（ｂ）に示したデータ列８４を、前述のまたはその他の様々な方法を用いることでパターン化することで、連続コード８０を形成することができる。
【０２２１】
図２２は、連続コードが表現するデータ（位置データとよぶ）とは別のデータを記録する情報コードを埋め込んだ連続マトリクスコード１７０の例を示す。
位置データのＸ方向データ列１０２としては、デブルイン数列の一つ”０００００１０００１１００１０１００１・・・”を用いている。位置データのＹ方向データ列１０４としては、２進数４桁で公差が１の等差数列と区切り符号”２”を交互に配列した母数列を用いている。そして、図９に関連して説明した方法と同様に、前の行の数との差、および前の列との差により、Ｘ、Ｙ方向の最小データ単位を表現している。なお、差が負の値にならないように、例えばｍｏｄ（ｍｏｄｕｌｏ）演算などを用いて調整している。
【０２２２】
図２２の連続マトリクスコード１７０において、位置データは、数０、１、２を用いて、埋め込みデータは、数３、４を用いて表している。また、図を見やすくするため、埋め込みデータを灰色の円で囲んで示している。
【０２２３】
図２３は、図２２の連続マトリクスコード１７０を、線分を用いて読み取りパターン化した連続マトリクスコード１２０の例を示す。”０”を右下がり斜線で、”１”を左下がり斜線で、”２”を２本の交差する斜線で、”３”を鉛直平行線分で、”４”を水平平行線分で、それぞれ表現している。
【０２２４】
このように、連続コードに、別のデータを記録する情報コードを埋め込むことで、例えば、位置情報に加えて、別のデータをその位置と関連づけて記録することができる。
【０２２５】
［ターゲットの位置特定］
連続コードは例えば、複数の物品（以下、ターゲット物体ともよぶ）の近傍に配設され、それらの位置を特定するのに用いられてもよい。この場合、コード認識装置１００は、複数の物品にそれぞれ付されたターゲット識別コードと、連続コードを同時にとらえ、それぞれのコードを検出画面上での位置と関連づけながら認識し、複数の物品のそれぞれについて、その位置を特定する。
【０２２６】
図２４は、コード認識装置１００の入力部１４に入力された画像の例を示す。この画像は、ターゲット識別コード１８０をそれぞれ背表紙に付した冊子を棚に並べ、その下の棚板に、連続コード８０を付した状態を撮像したものである。ここでは、位置を特定すべきターゲット物体は、冊子である。
【０２２７】
このとき、連続コード８０は、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう配設されることが好ましい。これにより、コード認識装置１００の検出ウィンドウに、複数のターゲット識別コードと連続コード８０とが、無理なく同時に収まる。
【０２２８】
複数のターゲット識別コードと連続コード８０との距離については、各ターゲット識別コードの重心から連続コード８０におろした垂線の長さとしてもよく、各ターゲット識別コードの連続コード８０に近い側の端から連続コード８０におろした垂線の長さとしてもよい。そして、これら垂線の長さの平均や、最大値や最小値、中間値が所定の基準距離よりも短くなるよう連続コード８０を配置する。
【０２２９】
所定の基準距離は、コード認識装置１００の検出ウィンドウに複数のターゲット識別コードと、連続コード８０が、無理なく同時に収まるように定める。例えば、所定の基準距離とターゲット識別コード長さとの和が、検出ウィンドウの一辺の半分となるように、基準距離を定めてもよい。この他にも、所定の基準距離は、実験または経験により使用状況に応じて、適宜定めてよい。
【０２３０】
このように、複数のターゲット識別コードとの距離が所定の基準距離よりも短くなるよう連続コードを配設することにより、コード認識装置１００が一回の撮像または一回の読み取り動作で、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【０２３１】
また、連続コードは、複数の冊子が並べられる方向に対して、所定の規則にしたがって配設されることが好ましい。所定の規則は、複数の冊子の位置を連続コード８０を用いて特定する際に、複数のターゲット識別コード１８０の位置が、連続コード８０上で互いに区別できるように定める。例えば、複数のターゲットの並ぶ方向と、連続コードが平行になるように、定めてもよい。この場合、複数のターゲット識別コード１８０それぞれの重心について、最小二乗法によるフィッティングにより求めた線分と、連続コードが平行になるように配設することとしてもよい。所定の規則は、平行からの逸脱をどこまで許容するかを示す許容角度を定めてもよい。許容角度は例えば、４５度と定めてもよく、この他にも、実験または経験により、使用状況に応じて適宜定めてよい。
【０２３２】
これにより、複数のターゲット物体の位置を連続コード８０を用いて特定する際に、連続コード８０上で多数のターゲット物体の位置が重なって特定されることなく、複数のターゲット物体の位置を区別して認識することができる。
【０２３３】
また、連続コードは、ターゲット識別コードを読み取るための技術と同種の技術を用いて読み取ることが可能である形式で表現されていることが好ましい。例えば、ターゲット識別コードが磁気で読み取り可能であれば、連続コードも磁気で読み取り可能な形式で表現し、ターゲット識別コードが光学的に読み取り可能であれば、連続コードも光学的に読み取り可能な形式で表現する。
これにより、コード認識装置１００の構成を複雑化することなく、一台のコード認識装置１００によって、ターゲット識別コードと連続コードの両方を同時に検出し、ターゲットの位置を連続コードを用いて特定することができる。
【０２３４】
複数のターゲット物体は、棚、台、箱、ラック、床の一部など、複数の物品を収容可能な領域を備える物品収容場に収容されていてもよい。この場合、連続コードは、物品を収容する領域に並置して付される。これにより、複数のターゲット物体の位置を、連続コードを用いて特定することができる。また、物品収容場の形状や連続コードを付す位置を適宜、調整することにより、ターゲット物体と連続コードの位置関係を所定の基準範囲に収めることができ、効果的にターゲット物体の位置を特定することができる。
【０２３５】
連続コードは、物品収容場において、物品を収容すると、その物品により外部から連続コードの一部が検出不可能となるような領域に付されてもよい。この場合、コード認識装置１００は、検出可能な連続コードを認識し、あらかじめ測定しておいた初期状態の検出可能な連続コードの分布と比較することにより、物品の収容状態の変化を特定してもよい。例えば、初期状態においては、多数の物品が収容されることで連続コードが全く検出できない状態であったにもかかわらず、あるとき特定の部分の連続コードが検出可能となったときには、その部分に収容されていた物品が存在しなくなったと判定し、表示画面などに出力することとしてもよい。これにより、複数のターゲット物体の存否を、連続コードを用いて判定することができる。
【０２３６】
［記号単位で精細位置特定］
エレメントを指定することによりセクションを選択する場合、上述の例においては、ターゲット物体に最も近いエレメントを先頭とするセクションや、ターゲット物体に最も近いエレメントが選択したセクションの中心に位置するようなセクションを選択して読み取るものとした。
これらの例のように選択するセクションを固定せず、その都度適切なセクションを選択することとしてもよい。
【０２３７】
この場合、コード認識装置１００において、まず、ターゲット物体を識別するために用いられるターゲット識別コード上のあらかじめ定義された点と、前記連続コードを構成する記号またはエレメントのうちの一とが関連づけられる。そして、セクションデータ取得部３０のセクション選択部３８は、関連づけられた記号またはエレメントを含むセクションのうちの適切なセクションを選択する。適切なセクションの選択にあたっては、例えば、読み取り状態のよいセクションを選択してもよい。読み取り状態のよいセクションとしては、例えば、画像の欠けやゆがみなどの影響が最も少ないセクションを選択することとしてもよい。
【０２３８】
また、基本的には、ターゲット物体に最も近いエレメントを先頭として、連続する所定個数のエレメントからなるセクションを選択する設定としておき、そのセクションの読み取り状態がよくないときに、関連づけられた記号またはエレメントを含むセクションの中から、読み取り状態のよいセクションを選択することとしてもよい。
【０２３９】
セクションデータ取得部３０は、選択したセクションの示すセクションデータとともに、そのセクションに属する記号のうちターゲット物体に最も近い記号に関する情報を位置情報取得部５０に提供する。これにより、ターゲット物体のより精細な位置を特定することができる。
【０２４０】
［コードのサイズ］
連続コードにおいて、一のセクションの長さは、コード認識装置が１回の読み取り動作にて検出できる範囲である検出ウィンドウよりも狭くなるように定める。別の言葉でいうと、前記検出ウィンドウにて読み取られる記号の配列に含まれる記号の数Ｎ１と、記号の配列に含まれる記号の数であってコード認識装置がその意味内容を解釈可能な最少の数Ｎ２とは、Ｎ１＞Ｎ２なる関係を満たすように構成する。連続マトリクスコードの場合には、Ｘ方向の一のセクションの占める範囲およびＹ方向の一のセクションの占める範囲の両方が、コード認識装置が１回の読取動作にて検出できる範囲よりも狭くなるように、Ｘ方向の一のセクションの占める範囲およびＹ方向の一のセクションの占める範囲を定める。
【０２４１】
この関係を満たす一のセクションのサイズは、典型的に使用される状況でのコード認識装置と連続コードとの間の距離や、コード認識装置の解像度などにもとづいて定める。典型的に使用される状況を想定した上で、実験により定めてもよい。
これにより、コード認識装置が１回の読み取り動作で、複数のセクションを効率的に認識することができる。
【０２４２】
また、コードの全長は、コード認識装置が１回の読み取り動作にて検出できる範囲である検出ウィンドウよりも長い方が好ましい。別の言葉でいうと、連続コードの全幅Ｗ１と、コード認識装置が１回の読取動作にて検出できるウィンドウの幅Ｗ２とは、Ｗ１＞Ｗ２なる関係を満たす方が好ましい。
これにより、例えば複数のターゲット物体の位置を特定する場合に、コード認識装置の検出ウィンドウを有効に活用して、より広い範囲にあるより多くのターゲット物体について位置を特定することができる。
ただし、Ｗ１＞Ｗ２なる関係を満たさない場合であっても、実施例にかかる連続コードをコード認識装置を用いて読み取ることは可能である。
【０２４３】
以上の連続コードは、光学的ないし電磁気的手法によって一次元的または二次元的に検出可能な形で、物品に搭載されてもよい。ここで物品とは例えば、シール、ラベルなどの媒体や、本棚の棚板、壁紙、床などの家具や建材およびそれらの一部も含む。
【０２４４】
以上、いくつかの実施形態を説明した。これら実施の形態の組み合わせもまた本発明の実施形態として有効である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態それぞれの効果をあわせもつ。
【０２４５】
以上の構成と動作による本発明の利用シーンを、以下、書店の在庫管理を例にして説明する。
【０２４６】
図２４の例のように、各冊子の背表紙にあらかじめターゲット識別コードを付し、各本棚の棚板には連続コードを付しておく。
棚卸しの際、担当者は、コード認識装置のカメラを用いて、ターゲット識別コードと連続コードの両方がカメラの視野に入るように調整しながら、全ての本棚の冊子群を複数回に分けて撮像する。コード認識装置は、撮像した画像から、各ターゲット識別コードと、連続コードのそのターゲット識別コードの近傍に位置するセクションを読み取る。そして、ターゲット識別コードに関連づけられたその書籍に関する情報と、その書籍の収納位置を関連づけて記録する。
【０２４７】
これにより、本棚に収納されている本の在庫と収納位置に関するリストを迅速かつ簡単に作成することができる。
また、これにより、ある特定の冊子を探したいときに、探したい冊子のタイトルなどの情報をコード認識装置に入力することで、最新の在庫と収納位置に関するリストから、その書籍の詳細な収納位置を得ることができる。
【０２４８】
書店においては、多数の本棚のそれぞれの棚板に多数の冊子が並べられており、それぞれの本が、各棚のどの位置にあるかまで管理することは容易ではない。
連続コードを利用することにより、簡易かつ迅速に多数の冊子の在庫状況および詳細な収納位置を管理することができる。
このような在庫管理の効率化が商品や材料、部品等の無駄をなくし、納期の短縮と管理コストおよび運送費用の低減に結びつくため、製造業や小売業などの厳しい生き残り競争の中で本発明は重要な意義をもつ。
【０２４９】
以上、本発明を実施例にもとづいて説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能であること、またそうした変形例も本発明の範囲にあることは、当業者に理解されるところである。
【０２５０】
例えば、実施形態においては、等差数列の各項と区切り符号を交互に配置したデータ列を用いることにより、異なる先頭位置から連続する所定数個のエレメントからなるセクションが表現するデータがすべて異なるような連続コードを作成できることを示した。この連続コードは、ＤＮＡの塩基配列を情報担体として利用する場合にも応用可能である。塩基配列に情報を書き込む際には、同じ長さをもつ、互いに異なる塩基配列の集合の設計が必要となる。本発明の連続コードを用いて長い塩基配列を作成すれば、各セクションにおいて、塩基の配列が一致しない。そこで、作成した長い塩基配列をセクションの長さ以上の長さで切り出すことにより、同じ長さをもつ、互いに異なる塩基配列の集合を作成することができ、ミスハイブリダイゼーションを避けることができる。
【産業上の利用可能性】
【０２５１】
本発明は、情報処理分野において利用することができる。
【符号の説明】
【０２５２】
２４  位置コード抽出部、  ３０  セクションデータ取得部、  ３２  セル認識部、  ３４  エレメント認識部、  ３６  エレメント復号部、  １００  コード認識装置、  １０８  セクション、  １１０  ドットマトリクスコード、  １１２  セクション、  １２０  連続マトリクスコード、  １２２，１２４  セクション、  １３０ａ，１３０ｂ，１３２，１３４，１３６  検出マーク、  １４２ａ，１４４ａ  サイクル識別標示、  １５０  環状連続コード、  １６０  環状マトリクスコード、  １７０  連続マトリクスコード、  １８０  ターゲット識別コード。
【図１】
2011145826.tif 000003
【図４】
2011145826.tif 000004
【図７】
2011145826.tif 000005
【図８】
2011145826.tif 000006
【図９】
2011145826.tif 000007
【図１０】
2011145826.tif 000008
【図１１】
2011145826.tif 000009
【図１２】
2011145826.tif 000010
【図１３】
2011145826.tif 000011
【図１８】
2011145826.tif 000012
【図１９】
2011145826.tif 000013
【図２０】
2011145826.tif 000014
【図２１】
2011145826.tif 000015
【図２３】
2011145826.tif 000016
【図２４】
2011145826.tif 000017
【図２】
2011145826.tif 000018
【図３】
2011145826.tif 000019
【図５】
2011145826.tif 000020
【図６】
2011145826.tif 000021
【図１４】
2011145826.tif 000022
【図１５】
2011145826.tif 000023
【図１６】
2011145826.tif 000024
【図１７】
2011145826.tif 000025
【図２２】
2011145826.tif 000026