(57)【特許請求の範囲】
【請求項１】
所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、
互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、
所定のセルとその所定のセルに隣接するセルとの距離は、前記所定のセルとその所定のセルに隣接していないセルとの距離より短いことを特徴とする光学式認識コード。
【請求項２】
所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、
互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、
本光学式認識コードの両端部に位置する端点セルと、この端点セルに隣接していないセルとの距離は、所定の最大値より大きいことを特徴とする光学式認識コード。
【請求項３】
所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、
互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、
所定のセルとその所定のセルに隣接するセルとの距離は、前記所定のセルとその所定のセルに隣接していないセルとの距離より短く、
間に一つのセルを挟んで隣接しているセル間の距離が、前記所定の最大値以下であり、
所定のセルと、その所定のセルとの間に一つのセルを挟んで隣接しているセルとの距離は、前記所定のセルと、その所定のセルに隣接するセル以外の他のセルとの距離より短いことを特徴とする光学式認識コード。
【請求項４】
請求項１〜３のいずれか１項に記載の光学式認識コードにおいて、
前記最小値及び前記最大値は、絶対寸法又は相対寸法で与えられることを特徴とする光学式認識コード。
（注：相対寸法とは、比率最大値／最小値等を言う旨の記述が後にあり）
【請求項５】
請求項１〜４のいずれか１項に記載の光学式認識コードを被印物にマーキングする方法において、
前記光学式認識コードを構成する複数の前記セルのいずれかと、前記被印物上の前記光学式認識コードを構成しない色彩エリア間の最小距離が、前記所定の最大値より大きくなるような位置に、前記光学式認識コードを前記被印物上に配置するステップ、
を含むことを特徴とする光学式認識コードのマーキング方法。
【請求項６】
請求項１〜４のいずれか１項に記載の光学式認識コードにおいて、
上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コード。
【請求項７】
請求項１〜４のいずれか１項に記載の光学式認識コードにおいて、
上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コード。
【請求項８】
請求項１〜４のいずれかの請求項に記載の光学式認識コードにおいて、
上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コード。
【請求項９】
請求項１〜４のいずれか１項に記載の光学式認識コードを読み取る方法において、
前記光学式認識コードを含む画像を撮像し、画像データを得るステップと、
得られた画像データを、各色彩毎の色彩エリアに分割し、
前記色彩エリアから、色彩に基づき前記光学式認識コードを形成するセルの候補となる色彩エリアを抽出し、
前記抽出したセル候補を、それらの間の距離に基づき追跡し、
前記追跡の結果得られた、各セルの順番に基づき、その光学式認識コードが表すデータを復元する復元ステップと、
を含み、
前記復元ステップにおいて、同色の色彩エリアが複数個連続して配列されている場合は、それら複数個の同色の色彩エリアが単一のセルを構成すると認定することを特徴とする光学式認識コード読み取り方法。
【請求項１０】
請求項１〜４のいずれか１項に記載の光学式認識コードにおいて、
前記光学式認識コードを構成するセル数が予め定められていることを特徴とする光学式認識コード。
【請求項１１】
請求項５に記載の光学式認識コードのマーキング方法において、
上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コードのマーキング方法。
【請求項１２】
請求項５に記載の光学式認識コードのマーキング方法において、
上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コードのマーキング方法。
【請求項１３】
請求項５に記載の光学式認識コードのマーキング方法において、
上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コードのマーキング方法。
【請求項１４】
請求項９に記載の光学式認識コード読み取り方法において、
上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コード読み取り方法。
【請求項１５】
請求項９に記載の光学式認識コード読み取り方法において、
上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コード読み取り方法。
【請求項１６】
請求項９に記載の光学式認識コード読み取り方法において、
上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コード読み取り方法。
【請求項１７】
請求項１〜４のいずれか１項に記載の光学式認識コードをマーキングした物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式認識コードに関する。特に、原則として、色彩の遷移、変化、組み合わせ、順番でのみデータを表す光学式認識コードに関する。より詳しくは、本願発明者が発明した１Ｄカラービットコード（特願２００６−１９６７０５号）の読み取り方法とそれに適したコードシンボル形状の詳細に関する発明である。
【背景技術】
【０００２】
従来から、光学式認識コードは広く利用されている。従来の代表的な光学式認識コードとして、いわゆる（１次元）バーコードや、２次元バーコード（ＱＲコード（登録商標）などが知られている。
【０００３】
本願発明者は、情報量を増大させるため、及び、凹凸のある面にもマーキング可能にするため、独自に１Ｄカラービットコードと呼ぶ光学式認識機コードを発明した（特願２００６−１９６７０５号）。
【０００４】
１Ｄカラービットコード
この１Ｄカラービットコードによれば、各色彩の占める領域の大きさや形の制限が緩いので、凹凸のある表面や、柔軟性のある素材上でも光学式認識コードをマーキングすることが可能である。
【０００５】
この１Ｄカラービットコードは複数の色彩（信号色：マーキング色）の配列により決められたデジタル値を返す構造となっている。その基本的な形態は、一本に連なった色彩（信号色：マーキング色）の配列（＝コードシンボル）である。
【０００６】
なお、本出願人はこの１Ｄカラービットコードに関連する以下の特許出願を行っている。
【０００７】
特願２００７−１３０５０４号  光学式認識コードの切り出し方法
特願２００７−２５８７２３号  光学式認識コードの一括読み込み・表示方法
用語の説明
光学式認識コードに関する用語を若干説明する。
【０００８】
コードシンボル：
所定のデータを表す、具体的な１個１個の光学式認識コードその物、一塊りの図形・図形群を、特に「コードシンボル」と呼ぶ。又は単に「シンボル」と呼ぶ場合もある。さらに、便宜上、この「コードシンボル」その物を「タグ」と呼ぶ場合もある。ただし、タグは、基本的には、物品（被印物）に付す媒体を言う。例えば、値段のタグ、商品タグ、等である。
【０００９】
被印物：
光学式認識コードのコードシンボルを付与する物品・対象物を「被印物」と呼ぶ。
【００１０】
マーキング：
被印物に光学式認識コードの各コードシンボルを付与する作業を「マーキング」と呼ぶ。マーキングは、コードシンボルを被印物に直接「印刷」する処理の他、コードシンボルを付した「粘着シール」を貼付する動作や、コードシンボルを付したタグを「掛ける」動作、等が「マーキング」の好適な例に相当する。特に、被印物が販売の対象となる商材・商品である場合、コードシンボルを付したタグとしては、「値札」や「商品ブランドタグ」等が該当する。このような「値札」にコードシンボルを付して「商品」に取り付けることが広く行われている。この取り付けには、近年プラスチックのワイヤーが用いられることが多い。これらのような「取り付け」も、上記「マーキング」の好適な例である。
【００１１】
マーキング色：  
コードシンボルに用いられる１又は２色以上の色彩を「マーキング色」と呼ぶ。マーキング色は「信号色」とも呼ばれる。
【００１２】
媒体：
被印物にマーキングを施す際に用いる手段・材料を「媒体」と呼ぶ。具体的には、マーキングに用いるインクや、被印物に掛ける値札、商品タグ、等が相当する。例えば、直接印刷する場合の「インク」は上記媒体の一例である。また、コードシンボルを付した商品タグを「掛ける」場合の「商品タグ」「値札」も媒体の一例である。また、上述した粘着シールもこの「媒体」の好適な一例に相当する。
【００１３】
クワイアットゾーン：
マーキング色以外の色彩による領域で、コードシンボルの境界、コードシンボル以外の領域を「クワイアットゾーン」と呼ぶ。
【００１４】
１Ｄカラービットコードの簡単な説明
さて、本願発明者が考案した１Ｄカラービットコードを説明する。１Ｄカラービットコードは、
・所定の色彩の領域「セル」が列状・線状に配列したもの（＝「セル列」）である。  
・複数の色彩が用いられ、各セルにはセル毎の色彩が付されている。  
・セル同士の包含は無い。すなわち、あるセルが他のセルに包含されることは無い。  
・配列を構成するセルの数が予め定められた数である。  
・隣接するセル同士には同色は付されず、必ず異なる色彩が付される。  
というものである。１Ｄカラービットコードは意本的にはこの条件に基づいて作成されている。
【００１５】
もちろん、セルの数、実際に用いる色彩の種類等は、各アプリケーション毎に異なる。
【００１６】
また、この１Ｄカラービットコードは、画像上、セルとなりうる候補である色彩エリアを追跡することによって、コードシンボルの読み取りを行う。このような処理は画像処理の１種であり、ある所定の色彩エリアに着目し、そこに隣接する他の色彩エリアであってマーキング色の色彩エリアを探し、次に、その探して見つけた新しい領域に着目し、そこに隣接する領域をさらに探してセルを見つけていく。このような作業を繰り返して領域を辿り、１Ｄカラービットコードを構成するセルの並び（色彩の並び）を抽出する。抽出したセルの色彩の並びに基づき、その並びが表すデータを得る。
【００１７】
したがって、形状等の制限は基本的に無く、色彩エリアの接続状態（隣接状態）のみが基本的に重要であり、その大きさや形状には特段の制限は無い。
【００１８】
このような制限が無いことから、１Ｄカラービットコードを付した対象物（被印物と呼ぶ）に曲がりや歪みがあっても読み取ることが可能である。
【００１９】
「セル」と「色彩エリア」の関係
いずれも「領域」であるが、以下の点で意味合いが異なる。
【００２０】
まず、セルとは光学式認識コードを構成する各色彩領域を言う。
【００２１】
一方、色彩エリアとは、撮影した画像データ中、所定の色彩毎の領域を言う。この色彩エリアは、所定の条件を満たすことによって、光学式認識コードを形成する「セル」と認定される。もちろん、画像データ中には、セルとはならない「背景」となる色彩エリアも存在する。
【００２２】
すなわち、画像データ中の「色彩エリア」には、「セル」となるものと、光学式認識コード以外の背景となるもの、の２種類が存在する。
【００２３】
従来の先行特許技術
ここで、従来の先行特許技術を、数種説明する。
【００２４】
例えば、下記特許文献１には、４ステートバーによりＩＤコードが印刷され、バーノーバー方式のバーコードで局内コードを印刷し、印刷が欠けてしまうことを防止する技術が開示されている。
【００２５】
また、下記特許文献２には、ＣＣＤカメラで取り込まれた対象物がかすれていてもバーコードに欠けが生じてもバーコードを読み取ることができる技術が開示されている。
【００２６】
また、下記特許文献３、４には、感熱発色層に近赤外線吸収能を有する発色性化合物を含有させ、発色パターンがカルラコードである感熱記録体が開示されている。その結果、自動認識コードに多少の欠けが生じても読み取りが可能であると記載されている。
【００２７】
【特許文献１】特開２００６−０９５５８６号公報
【特許文献２】特開２０００−２４９５１８号公報
【特許文献３】特開平８−３００８２７号公報
【特許文献４】特開平８−１８５４６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
（ａ）第１の課題
さて、１Ｄカラービットコードは、上で述べたように、複数の色の配列により構成される。この１ＤカラービットコードをＣＣＤカメラ等で取得する際には、通常、そのコードシンボルは背景とともに画像が取り込まれる。
【００２９】
その一方、１Ｄカラービットコードの特徴（デコードの方法）は、色彩の連続を追跡（「切り出し」＋「順序認識」）することであるので、背景の色彩が無規範に存在している場合、追跡が不可能となってしまう。背景の色彩中にマーキング色が表れてしまうと、誤って、背景中を追跡してしまう場合があることは容易に予想することができよう。
【００３０】
また、状況によってはマーキング色中のいくつかの色彩が汚れや照明の関係上、欠落する場合がある。このような場合、コード体系によって誤り検知や訂正の技術を導入することでデータを完全もしくは不完全に復元することは可能ではある。
【００３１】
しかし、このような誤り訂正技術、誤り検知技術は、欠落部分を除き、残りのコード部分が完全に読み取りた場合を前提としている。すなわち、１０ビット中、２ビットが誤ったことを検知することができる・・・等である。
【００３２】
これに対して、本１Ｄカラービットコードの場合は、欠落があると、その後の領域追跡ができなくなる場合が多い。なぜならば、領域の追跡は、領域が連続していることを前提としているので、追跡が途中で失敗した場合、追跡を自動的に再開する術は無いからである。したがって、欠落によって追跡できない場合に、「誤り検知」、「誤り訂正」の技術も全く意味がなくなってしまう。
【００３３】
そのため１Ｄカラービットコードのように色彩の遷移・変化でデータを表現する光学式認識コードは、欠落があっても、追跡を続行できる仕組みを実現する必要がある。
【００３４】
本発明では、多少の欠落があっても追跡が可能な１Ｄカラービットコード、及び、そのコードの追跡方法、を提供することを第１の目的とする。
【００３５】
（ｂ）第２の課題
ところで、上述したような、コードシンボルの「切り出し」と「順序認識」工程は、１Ｄカラービットコードにおける原理的な手法は、発明者が既に考案しており、別途特許出願をしている（上記特許文献１等参照）。
【００３６】
発明者が既に考案した切り出しは、色彩エリアの「境界条件」による切り出しである。１Ｄカラービットコードにおいては、この「境界条件」に基づく切り出しは、その定義から見て本質的な切り出しである。
【００３７】
すなわち、この境界条件に基づく切り出しは、隣接する色彩エリアの色彩を追っていく切り出し手法であり、色彩エリアの位置や大きさに制限の無い１Ｄカラービットコードにおいては、上述したように、原理的・本質的な切り出し方法である。
【００３８】
しかし、形状や大きさに制限の無い色彩エリアに隣接する色彩エリアを調べるには、原理的には繁雑な処理が必要となる場合が多い。まず、キャプチャーした画像から色彩に基づき、色彩エリアを構築する必要があり、さらに、それらの隣接／非隣接状態を調べるには、各色彩エリアの周囲の境界を全て追跡し、その隣接する色彩エリアを調べる必要が（原理的には）ある。そのため、大量の計算量が必要とされ、且つ、わずか１画素離れていても「隣接していない」ことになるので、正確な画像取得も必要となる。
【００３９】
１Ｄカラービットコードは、原理的には、形状や大きさ、位置に特段の制限がなく自由度が高いが、その分、上述のように、撮像、及び、読み取る作業（切り出し  ＋  順序認識）は、煩雑なものとなりがちである。
【００４０】
（ｂ−２）  
その結果、目的、用途、状況によっては、より簡易に「切り出し」、「順序認識」する方法が望まれる場合もある。
【００４１】
例えば、１Ｄカラービットコードに、何らかの「制限・限定」や、「許容」を加えて、読み出し作業をより簡便にすることが考えられる。
【００４２】
本発明では、色彩エリア間の距離に一定の制限を設けて、その距離に基づき、「切り出し」、「順序認識」を行う手法について提案する。
【００４３】
また、この場合、上述した「境界条件」による色彩エリアの認識ではないので、現在着目している色彩エリアの色彩と異なる色彩のエリアが接続しているという条件が必ずしも満たされない場合も生じる。
【００４４】
上述した原理的な「境界条件」に基づく切り出し手法では、当然のことではあるが、隣接する同一色彩は必ず同一色彩エリアと見なされるので、同一色彩の色彩エリア同士がその間に境界を持つということは想定されていない。
【００４５】
したがって、同一色彩に関する扱いも合理的である必要がある。詳しくは後に説明する。
【００４６】
本発明は、上にあげたうち、「色彩エリア間の距離に一定の制限を設けて、その距離に基づき、より容易に「切り出し」・「順序認識」を行う方法」を実現することを第２の目的とする。
【００４７】
後述する実施の形態においては、具体的な例をもとに、追跡の手法とそのためのコードシンボルに必要な要件を示していく。
【課題を解決するための手段】
【００４８】
（１）本発明は、上記課題を解決するために、所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、所定のセルとその所定のセルに隣接するセルとの距離は、前記所定のセルとその所定のセルに隣接していないセルとの距離より短いことを特徴とする光学式認識コードである。
【００４９】
この発明の側面（１）は、後述する条件１及び条件３についての発明である。
【００５０】
（２）また、本発明は、所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、本光学式認識コードの両端部に位置する端点セルと、この端点セルに隣接していないセルとの距離は、所定の最大値より大きいことを特徴とする光学式認識コードである。
【００５１】
この発明の側面（２）は、後述する条件１及び条件１０に関する発明である。
【００５２】
（３）また、本発明は、所定の色彩が付されたセルを複数個一列に配置し、前記セルに付された色彩の順序によってデータを表す光学式認識コードにおいて、互いに隣接するセル間の距離が、所定の最小値以上、所定の最大値以下、であり、所定のセルとその所定のセルに隣接するセルとの距離は、前記所定のセルとその所定のセルに隣接していないセルとの距離より短く、間に一つのセルを挟んで隣接しているセル間の距離が、前記所定の最大値以下であり、所定のセルと、その所定のセルとの間に一つのセルを挟んで隣接しているセルとの距離は、前記所定のセルと、その所定のセルに隣接するセル以外の他のセルとの距離より短いことを特徴とする光学式認識コードである。
【００５３】
この発明の側面は、条件１及び条件３、並びに、条件４及び条件６に関するものである。
【００５４】
（４）また、本発明は、上記（１）〜（３）のいずれか１項に記載の光学式認識コードにおいて、前記最小値及び前記最大値は、絶対寸法又は相対寸法で与えられることを特徴とする光学式認識コードである。
【００５５】
ここで、相対寸法とは、後述するように、最大値／最小値の比率などで寸法を相対的に表すことを言う。
【００５６】
（５）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードを被印物にマーキングする方法において、前記光学式認識コードを構成する複数の前記セルのいずれかと、前記被印物上の前記光学式認識コードを構成しない色彩エリア間の最小距離が、前記所定の最大値より大きくなるような位置に、前記光学式認識コードを前記被印物上に配置するステップ、を含むことを特徴とする光学式認識コードのマーキング方法である。
【００５７】
（６）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードにおいて、上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コードである。
【００５８】
（７）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードにおいて、上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コードである。
【００５９】
（８）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードにおいて、上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コードである。
【００６０】
（９）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードを読み取る方法において、前記光学式認識コードを含む画像を撮像し、画像データを得るステップと、得られた画像データを、各色彩毎の色彩エリアに分割し、前記色彩エリアから、色彩に基づき前記光学式認識コードを形成するセルの候補となる色彩エリアを抽出し、前記抽出したセル候補を、それらの間の距離に基づき追跡し、前記追跡の結果得られた、各セルの順番に基づき、その光学式認識コードが表すデータを復元する復元ステップと、を含み、前記復元ステップにおいて、同色の色彩エリアが複数個連続して配列されている場合は、それら複数個の同色の色彩エリアが単一のセルを構成すると認定することを特徴とする光学式認識コード読み取り方法である。
【００６１】
（１０）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードにおいて、前記光学式認識コードを構成するセル数が予め定められていることを特徴とする光学式認識コードである。
【００６２】
（１１）また、本発明は、上記（５）に記載の光学式認識コードのマーキング方法において、上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コードのマーキング方法である。
【００６３】
（１２）また、本発明は、上記（５）に記載の光学式認識コードのマーキング方法において、上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コードのマーキング方法である。
【００６４】
（１３）また、本発明は、上記（５）に記載の光学式認識コードのマーキング方法において、上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コードのマーキング方法である。
【００６５】
（１４）また、本発明は、上記（９）に記載の光学式認識コード読み取り方法において、上記セル間の距離とは、各セルの間の最小隙間であることを特徴とする光学式認識コード読み取り方法である。
【００６６】
（１５）また、本発明は、上記（９）に記載の光学式認識コード読み取り方法において、上記セル間の距離とは、各セルの間の平均隙間であることを特徴とする光学式認識コード読み取り方法である。
【００６７】
（１６）また、本発明は、上記（９）に記載の光学式認識コード読み取り方法において、上記セル間の距離とは、各セルの間の基点間距離であることを特徴とする光学式認識コード読み取り方法である。
【００６８】
（１７）また、本発明は、上記（１）〜（４）のいずれか１項に記載の光学式認識コードをマーキングした被印物である。
【発明の効果】
【００６９】
以上述べたように、本発明によれば、セル間距離に最大値と最小値とを最小値とを導入したので、距離に基づき追跡することによって読み取りが可能な光学式認識コードを提供することができる。
【００７０】
その結果、より容易に読み込み等が可能な光学式認識コードを実現できる。
【００７１】
また、セルが欠落が生じても追跡を続行することができる光学式認識コードを提供することができる。
【発明を実施するための最良の形態】
【００７２】
以下、図面に基づき、本発明の好適な実施の形態について説明する。
【００７３】
実施の形態１  離散型１Ｄカラービットコード
本実施の形態１では、色彩エリア間の距離を判別して「切り出し」、「順序認識」する離散型１Ｄカラービットコード及びそのデコード方法を順次説明する。
【００７４】
１−１  離散型１Ｄカラービットコードの概念（目的、背景技術）
この１Ｄカラービットコードの変形例は、「カラービットコードを構成する一つの色彩エリア」（＝「セル」）のそれぞれの相互間距離に予め一定の規定がなされているコードである。具体的な読み取り手法は、キャプチャー画像を処理した結果得られる各色彩エリアの相互間距離を、予め規定された値と比較して、カラービットコードセル配列を認識するものである。
【００７５】
なお、本実施の形態１において、離散型カラービットコードのセル配列を認識できるとは、以下のような条件が満たされることを言う。
【００７６】
・セルから「非セル色彩エリア（セルとはならない色彩エリア」に誤って追跡されないこと
・隣接したセルに必ず追跡されること（途中で途絶えないこと）
・隣接以外のセルに誤って追跡されないこと（順序が保たれること）
を満たすことである。
【００７７】
以上のような条件が雑音やマーキング不良、等によって満たされない場合は、「セル配列は認識できない」と言う。
【００７８】
また、仮にいずれかの色彩エリアが欠落しており、これを補う誤り訂正を行う場合には、そのそのような（色彩が欠落しているという）状況においても、上記条件を満たすことが当然のことながら必要である。
【００７９】
また、同一色彩は隣り合わないこと  が１Ｄカラービットコードの基本的な規則として定められているが、これは追跡工程の必要条件であり、本実施の形態１でも遵守される条件である。
【００８０】
１−２  構成
本実施の形態では、１Ｄカラービットコードの応用変形例の一つとして、離散型の１Ｄカラービットコードを説明する。
【００８１】
この離散型では、各セル（色彩エリア）間の距離の上限と下限とが定められていることが特徴である。
【００８２】
すなわち、先に本願発明者が提案した１Ｄカラービットコードでは、各セルは常に接して隣接しているが、この離散型１Ｄカラービットコードでは、各セル間は離間していても良く、その距離には一定の範囲が定められているというものである。
【００８３】
具体的に言えば、以下のような点が、基本的な１Ｄカラービットコードと異なる。
【００８４】
＜＜第１条件＞＞
・コードシンボルを構成する各セル間の距離ｄの上限と下限とが定められている。
【００８５】
という条件が付加されている。すなわち、コードシンボルを構成する各隣接「セル」間の距離ｄがａ１≦ｄ≦ａ２と予め定められている。
【００８６】
この距離条件は、本実施の形態で提案する離散型１Ｄカラービットコードの「第１条件」である。これについては後に又詳述する。
【００８７】
なお、セル間の距離ｄは、種々の定め方があるが、例えば重心間の距離とすることも好適な一例である。また、距離ｄをセル（色彩エリア）間の最小隙間と定めることも好適であり、これも後に詳述する。
【００８８】
１−３  メリット
１Ｄカラービットコードにおいては、各セル（色彩エリア）が常に隣接しているという要件があったため、その境界条件の探索作業が必要であり、また、少しでもセルが少しでも離間しているとその点は不連続と見なされ、セルの追跡が停止してしまうことも考えられる。
【００８９】
これに対して、離散型１Ｄカラービットコードにおいては、各セル（色彩エリア）間の距離に一定の範囲（ａ１≦ｄ≦ａ２）が許容されているので、色セル間の距離が印刷のかすれ等によって多少変化しても領域を追跡して読み取ることができるという特徴を有する。
【００９０】
さらに、各セルが離間しているので、境界条件の探索という作業は不要であり、その代わりに、所定の距離範囲中に他のセルが存在するかどうかの検査作業が必要となる。この検査作業は、一定の距離範囲を探す作業であるので定型的な処理となり、セルを構成する色彩エリアの不定型な境界を１画素づつ追跡する処理に比べて、比較的簡単な処理となる可能性があり、処理時間の短縮にも寄与しうるものである。
【００９１】
図１には、このような離散型１Ｄカラービットコードの一例が示されている。
【００９２】
図１には、ｎ個のセルからなる離散型１Ｄカラービットコードと、コードシンボルを構成しない他の色彩エリアの様子が示されている。
【００９３】
この図１においてｎ個の「セル」でコードシンボルが構成されているものとし、各隣接「セル」間の距離ｄが上述したように、ａ１≦ｄ≦ａ２と予め定められているものとする。ここで、ａ１は距離の最小値であり、ａ２は距離の最大値である。
【００９４】
１−４  追跡が成功する条件
さて、このような本実施の形態の離散型１Ｄカラービットコードにおいて、ｎ個のセルをそれぞれＣ１、Ｃ２、Ｃ３、・・・、Ｃｎと呼び、この順番の並びでデータを表す光学式認識コードを形成している。
【００９５】
そして、本特許では、セルＣｋとＣｋ＋１との距離をｄｋと記している。
【００９６】
すなわち
Ｃ１とＣ２の距離をｄ１と表す。  
Ｃ２とＣ３の距離をｄ２と表す。  
：
Ｃｎ−１とｃｎとの距離をｄｎ−１と表す。
【００９７】
すると、「セル」を周囲の色彩エリアと区別して、順序通り追跡できるための条件の一つ目は、これまで述べてきたように、以下のように記すことができる。
【００９８】
＜＜第１条件＞＞（再掲）
ａ１≦ｄ１、、、ｄｎ−１≦ａ２
すなわち、既に述べたように、互いに隣接するセルの間の距離が、所定の最小値ａ１と最大値ａ２の範囲内にあることである。
【００９９】
コードシンボルを構成しない非「セル」の色彩エリアは必ずしもこの条件を満たさないので、コードシンボルのセルの候補から排除することができる。
【０１００】
さらに、「セル」を周囲の色彩エリアと区別して、順序通り追跡できるための条件の二つ目は、以下のように記すことができる。
【０１０１】
＜＜第２条件＞＞
各「セル」と、最も近接しているコードシンボル以外の色彩エリアとの距離Ｄ１、、、Ｄｎが
（第２条件ａ）  Ｄ１、、、Ｄｎ＞ａ２
又は、別の考え方として、
（第２条件ｂ）  ｄｋ−１，ｄｋ≦Ｄｋ  （ｋ＝１  ｔｏ  ｎ）
のいずれかの条件を満たすことである。
【０１０２】
いずれの条件においても、隣接する「セル」間距離が必ず周辺の非セル色彩エリアよりも近く、誤って非セル色彩エリアを追跡することが無いという条件である。
【０１０３】
さらに、「セル」を周囲の（セルではない他の）色彩エリアと区別して、順序通り追跡できるための条件の三つ目は、以下のように記すことができる。
【０１０４】
＜＜第３条件＞＞
ｋ番目のセルＣｋの両側の隣接セルとの距離、ｄｋ−１、ｄｋについて、以下の条件が成立すること。
【０１０５】
ｄ（ｍ：ｎ）をＭ番目とＮ番目のセル間距離を表すものとすると、
ｄｋ−１  ＜  ｄ（１：ｋ），ｄ（２：ｋ），，ｄ（ｋ−２：ｋ）
ｄｋ−１  ＜  ｄ（ｋ＋２：ｋ）、、ｄ（ｎ：ｋ）
すなわち、セルＣｋと他のセルとの距離に関して、Ｃｋの両側のセルとの距離は、他のセルとの距離よりも短くばければならない。
【０１０６】
上記式は、距離ｄｋ−１は、距離ｄｋを除く他のどの距離よりも短いという条件を表している。これは距離ｄｋについても、同様であり、式としては、上式と全く同様の下記式が成立している必要がある。
【０１０７】
ｄｋ      ＜  ｄ（１：ｋ），ｄ（２：ｋ），，ｄ（ｋ−２：ｋ）、
ｄｋ      ＜  ｄ（ｋ＋２：ｋ）、、ｄ（ｎ：ｋ）
これらの式は、要するに、これら距離ｄｋ、ｄｋ−１は、セルＣｋに対する他のセルとの距離のいずれと比較しても短いという関係が成立する必要があることを意味している。
【０１０８】
この第３条件が満たされれば、近い距離を追跡すれば、そのコードシンボルが予定する所望の順番通りに追跡を行うことができ、そのコードシンボルの値を復元することが可能である。
【０１０９】
逆に、この第３条件が満たされていない場合は、距離の近いものを追跡するという処理によって、そのコードシンボルの正しいセルの順番が復元できず、誤った順番でコードシンボルを認識してしまい誤ったデータを復元してしまう可能性がある。
【０１１０】
以上の条件（第１条件、第２条件、第３条件）を満たす追跡アルゴリズムにより、カラービットコードを正確に追跡することができる。
【０１１１】
１−５  連続する同一色彩エリアの扱い
なお、本願発明者が特願２００６−１９６７０５号などで提案した１Ｄカラービットコード体系は、同一色彩が隣接して並ぶことを許容していない。色彩の変化を検知してこの変化がデータを表しているからである。換言すれば、同一色彩の領域が隣接している場合、それぞれを識別することは原理的に困難であり、１個の領域と認識していたからである。
【０１１２】
これに対して本実施の形態の離散型１Ｄカラービットコードでは、各領域が必ずしも接して隣接しているわけではないので、同一色彩の領域が「隣接」することを許容してもかまわない。
【０１１３】
しかし、本実施の形態では、従前の１Ｄカラービットコードとの互換性を保つとの観点から、同一色彩の領域が連続して並ぶ（つまり、隣接する）ことを許容していない例について説明する。
【０１１４】
したがって、本実施の形態では、このルールを遵守するために、連続して同一色彩エリアが２以上検知された場合、それらは単一の色彩エリア（＝単一のセル）であると見なすことにする。
【０１１５】
１−６  非分岐構造
１Ｄカラービットコードは、セルが分岐せずに並んでいるものを追跡する、というのが特徴である。したがって３個以上のエリアが接している様なケースはその色彩エリアは非セルであると判断することができる。
【０１１６】
しかしながら、本実施の形態のように、離散型１Ｄカラービットコードのように各色彩エリアが独立しており、且つ、各色彩エリア間の距離に基づきセルの並びを判断するので、「接している」という判断の代わりに、「距離」の概念が非常に重要となっている。次節において、距離の概念について詳細に説明する。
【０１１７】
１−７  色彩エリア間の距離の概念の定義：最小隙間
色彩エリア間の距離をどのように定めるかは、種々の定義手法がある。
【０１１８】
本実施の形態では、色彩エリアの間の「距離」を、エリア間の「最小隙間」と定義することが好ましい一例として挙げる。なお、この距離（最小隙間）の最小値を０とおけば、１Ｄカラービットコードを境界条件で追跡することと等価となる。
【０１１９】
これは、セルである色彩エリア間の距離の最小値としてａ１を用い、距離の最大値としてａ２を用いた場合に、このａ１を０とおいたことに等しい。
【０１２０】
１−７−１  最小隙間の定義
ここで、第１色彩エリアと第２色彩エリアの最小隙間とは、第１色彩エリアから１画素取り出し、第２色彩エリアから１画素を取り出し、両画素の距離が最も短くなるような画素を選んだ場合のその画素間の距離を言う。また、ここで言う画素間の距離とは、両画素の座標値の差の２乗和の平方根である。
【０１２１】
例えば、第１領域中に画素の座標を（ｘ１、ｙ１）とし、第２領域中の画素の座標を（ｘ２、ｙ２）とおけば、それらの間の距離は、
距離  ＝  （（ｘ１−ｘ２）＾２  ＋  （ｙ１−ｙ２）＾２）１／２  
である。この距離を最も短くするような画素を選びそれらの間の距離が、最小隙間である。
【０１２２】
ただし、この距離（色彩エリア間の最小隙間）は、本来的には、実世界上のコードシンボルの寸法関係の規定ではなく、キャプチャーされた状態（すなわち画像データ）の上ではじめて適用される規定・値である点に留意されたい。
【０１２３】
したがって、画像データ上で、最小距離ａ１、最大距離ａ２という規定がおかれた場合、実際に物品にコードシンボルをマーキングする場合は、適宜、読み替えが必要である。画像データを撮像する大きさ、解像度、画像品質等によって、この読替は様々であるから、実際には、使用するＣＣＤカメラ、光学系、マーキング精度、画像データの大きさ、解像度、等によって、読替の内容が決定される。
【０１２４】
このように、本実施の形態における最小値ａ１，最大値ａ２は撮像した結果に対応する値で、実質的に撮像地点から見た光学的な角度であり、これが光学仕様、距離、コードシンボルの傾きを踏まえてコードシンボル上に投影した結果がコードシンボルに適応される性質のものである。
【０１２５】
なお、色彩エリア間の距離は、最小隙間だけでなく、他の定義を利用することも好適である。例えば、それぞれの色彩エリアの重心間の距離とすることも好適である。
【０１２６】
１−８  実際のコードシンボルに対する規定
そこで、実際に被印物にコードシンボルをマーキングする場合について検討する。
【０１２７】
ここでは、上記ａ１，ａ２の値を、絶対値でなく、コードシンボルを構成するセルの間の距離のバラツキと見る例を説明する。
【０１２８】
実際の被印物上に対する、上記ａ１、ａ２の倍率係数を便宜上「ｂ」とおく。
【０１２９】
すると、このｂを用いて、上記ａ１、ａ２は、実際の被印物の表面上では、それぞれ「ｂ・ａ１」「ｂ・ａ２」となる。「ｂ・ａ１」〜「ｂ・ａ２」の範囲で、セル間の最小隙間がばらついている（分散している）と見ることができる。
【０１３０】
すなわち、このバラツキの範囲内に収まっている所定の個数（セル数）の色彩エリア群をセル群と見なすことによって、それらの色彩エリア群から構成されるコードシンボルを検出・抽出することができる。このようにして、セルを構成する色彩エリアと、セルを構成しない色彩エリア（非セルと呼ぶ）とを区別するデコード方法（考え方）を採用することも好適である。
【０１３１】
なお、セル間の距離を、セル間の「最小隙間」と定義した場合は、上記ａ１，ａ２を０からきわめて０に近い値に設定しておけば、倍率条件を気にせずに、非セル領域を区分けすることができる場合が多くなると考えられる。隙間がほとんど０の場合は、倍率がどのような値であろうと、実際の被印物上へのマーキングの世界においても、同様に隙間がほとんど０であると考えられるからである。これに対して、非セルとの間の距離は、ある程度の距離があると考えられるからである。
【０１３２】
なお、撮影対象である被印物が十分に遠方に位置する場合は、撮影手段であるカメラの位置が多少変化しても撮影倍率には大きな影響は存在しない。従って、いわゆる距離比率が大きく変化しないため、撮影側の条件、すなわちカメラ側の条件だけに基づき上述した比率を決定することも可能である。
【０１３３】
１−８ｂ  比率による規定を用いた運用
このように、距離の最小値ａ１・最大値ａ２を定めることは有用であるが、撮像する際の光学系、ＣＣＤ、画素数、等によって上記ｂの値は変動するので、実際には、最小値と最大値の比率（ａ２／ａ１）で、規定することが好ましい場合が多い。
【０１３４】
特に、光学式認識コードを被印物にマーキングする場合は、最小値ａ１と最大値ａ２の絶対的な値（ａ１：１ｍｍ、ａ２：１０ｍｍ等）を決定してもあまり有用ではない。実際には、最小値と最大値との比率を例えばａ２／ａ１＝１０倍のように決定しておき、それを実際の被印物に合わせて具体的な数値に置き換えることも好適である。
【０１３５】
そして、読み取りの際に、具体的な上記ｂの値が決定されるように構成することが好適な運用の一つである。
【０１３６】
１−９  まとめ
さて、いずれにしても、本実施の形態１では、色彩エリア間の距離が、最小距離ａ１〜最大距離ａ２の間にあるような、所定の個数（セル数）の一群の色彩エリア群をコードシンボルと判断している。
【０１３７】
本実施の形態１において特徴的なことは、このように色彩エリア間の距離によって、コードシンボルを構成するセルとなるのか、それとも、非セル（コードシンボルを構成しない背景）となるのか、の判断を行ったことである。
【０１３８】
この結果、従前の読み取り方法に比べて、判断アルゴリズムの単純化を図ることができ、より正確な判断を迅速に行うことが可能である。この従前の１Ｄカラービットコードにおいては、原理的に、ある色彩エリアに隣接する領域を全て追跡して判断する必要があった。この追跡は、色彩エリアの不定型な境界線に沿って行う必要があり、煩雑な処理となりがちであった。これに比べて、本実施の形態では、所定の距離に位置する領域を調べるだけで済むので、コンピュータの処理としてはより簡単になる可能性が高い。
【０１３９】
１−１０  離散型１Ｄカラービットコードの成立条件
これまで、種々の条件を述べてきたが、これらの条件は、１−４のタイトルにもある通り、追跡が成功する条件である。この追跡が成功する条件と、離散型１Ｄカラービットコードが成立するための条件とは、以下の点で若干異なる。
【０１４０】
例えば、上述した（第２条件）は、離散型１Ｄカラービットコードその物の条件というよりも、離散型１Ｄカラービットコードがマーキングされる際の周囲との関係に関する条件である。その意味では、厳密に言えばマーキングの条件と言えよう。
【０１４１】
したがって、本実施の形態で提案する離散型１Ｄカラービットコードの要件は、第２条件を除いた以下の通りである。
【０１４２】
＜＜第１条件＞＞（再掲）
隣接しているセル間の距離が最小値ａ１以上、最大値ａ２以下である。
【０１４３】
＜＜第３条件＞＞（再掲）
セルＣｋから見て、セルＣｋ−１は、セルＣｋ＋１を除き、最も近いセルである。同様に、セルＣｋから見て、セルＣｋ＋１は、セルＣｋ−１を除き、最も近いセルである。ｋは、２からｎ−１までの整数である。
【０１４４】
この条件は、要するに、セルＣｋに最も近いセルと、２番目に近いセルとは、隣接するＣｋ−１及びＣｋ＋１であることを意味している。つまり、そのセルが接続するべきセルは最も近い２個のセルであることを表している。なお、ここでＣｋは、端点セルではないことを前提としている。端点セルの場合は、最も近いセルに接続するので、この第３条件は直接には関係しない。
【０１４５】
読み取り処理の流れ
このような条件下で作成・マーキングされた離散型１Ｄカラービットコードの読み取りは、概ね以下のような流れで行われる。
【０１４６】
ステップ１：コードシンボルを含む画像をキャプチャー（撮像）。
【０１４７】
ステップ２：得られた画像データを、色彩に基づき、各色彩毎に領域化する。
【０１４８】
ステップ３：コードシンボルに用いられるマーキング色の領域を追跡し、各領域の接続関係を抽出する。この際、追跡は、領域間の距離に基づき行われ、最小値ａ１最大値ａ２の範囲内にある領域が隣接する領域であるとの前提の元で、色彩エリアを追跡していく。
【０１４９】
ステップ４：追跡していった結果、コードで用いる色彩と、判明した各色彩エリアの接続関係（セルの個数）等に基づき、いずれのエリアがコードを構成するか判断する。光学式コードであると判断した色彩エリアに関して、その色彩の並びを抽出し、この色彩の並びから、原データを復元する。
【０１５０】
読み取りの処理は、概ねこのように行われるが、ここで言う「距離」は、様々な定義が考えられることは既に述べた通りである。
【０１５１】
実施の形態２  セルの欠落への対処
上記実施の形態１では、コードシンボルを構成するセルとなる色彩エリアを、その間の距離に基づき追跡する手法、及びその手法に合わせた新しい光学式認識コード（離散型１Ｄカラービットコード）を提案した。
【０１５２】
本実施の形態２では、離散型１Ｄカラービットコードにおけるセルの欠落について説明する。
【０１５３】
被印物表面上の汚れ等の何らかの理由で、いずれかの箇所のセルの認識が一つ欠落した場合について検討する。なお、セルが２以上欠落して場合はここでは考慮しない。
【０１５４】
上で述べたように、欠落したセル以外のセルを追跡し、読み取ることができれば、その欠落したセルを復元することは、既存のいわゆる誤り訂正や誤り検知の技術を用いれば可能である。このようなエラー訂正技術を適用するためには、欠落したセル以外のセルが正確に読み取られている必要がある。
【０１５５】
すなわち、欠落セルの前後のセルが連続して追跡される必要がある。このために必要なことは、１セルの欠落があっても上記実施の形態１で説明した条件を満たし、欠落部分において、誤って非セル領域に追跡が向かってしまうことが無いことである。
【０１５６】
２−１  １セル欠落しても追跡（トレース）が成功するための条件
このような条件を図２及び図３に基づき説明する。
【０１５７】
図２では、一つおきに隣接している「セル」（例えば、Ｃ１とＣ３，Ｃ２とＣ４、ＣｋとＣｋ＋２）の間の距離をｓ１，ｓ２，，，ｓｎ−２と呼んでいる。すなわち、
セルＣ１とＣ３との距離      ・・・ｓ１
セルＣ２とＣ４との距離      ・・・ｓ２
セルＣｋとＣｋ＋２との距離  ・・・ｓｋ
セルＣｎ−２とＣｎとの距離  ・・・ｓｎ−２
と定める。
【０１５８】
すると、いずれか一つのセルが欠落した場合でも、「セル」を追跡できる条件群は、以下の通りとなる。
【０１５９】
＜＜第４条件＞＞
・ｓｋ≦ａ２  （ｋ＝１  ｔｏ  ｎ−２）、
まず、この第４条件は、上記一つおきの距離が、所定の最大値ａ２以下であることである。この条件が満たされれば、（他の下記条件を満たしている限り）一つのセルが欠落しても、その次のセルを追跡することが可能である。この条件が満たされない場合は、欠落した次のセルは、最大値ａ２より遠すぎる場合があり、追跡するための要件を満たさない場合があり得る。
【０１６０】
なお、上では「一つおきに隣接している」と表現したが、これは、請求の範囲の「間に一つのセルを挟んで隣接する」という表現と同一の内容を表す。
【０１６１】
＜＜第５条件＞＞
・ｓｋ＜Ｄｋ、Ｄｋ＋２  （ｋ＝１  ｔｏ  ｎ−２）
この第５条件は、ｋ番目のセルであるＣｋからＣｋ＋２までの距離が、そのセルＣｋから非セル領域への距離のうち最も短い距離であるＤｋより短いことである。この条件が満たされれば、いずれかのセルが欠落しても、さらにその次のセルＣｋ＋２までの距離が、非セル領域より近いので、誤って非セル領域に追跡が向かってしまうことが無い。
【０１６２】
＜＜第６条件＞＞
ｄ（ｍ：ｎ）をｍ番目とｎ番目のセル間距離とした場合、
ｓｋ  ＜  ｄ（１：ｋ），ｄ（２：ｋ），，ｄ（ｋ−３：ｋ）、ｄ（ｋ＋３：ｋ）、ｄ（ｋ＋４：ｋ）、・・・、ｄ（ｎ：ｋ）
ｓｋ  ＜  ｄ（１：ｋ＋２），ｄ（２：ｋ＋２）  ，，ｄ（ｋ−３：ｋ＋２）、ｄ（ｋ＋４：ｋ＋２）、ｄ（ｋ＋５：ｋ＋２）、・・・、ｄ（ｎ：ｋ＋２）
この条件は、セルＣｋに隣接するセルＣｋ＋２が他のセルより必ず近い距離にあるという条件である。セルＣｋ＋１が欠落した場合でも、この条件が満たされれば、（他の条件が満たされることを前提として）セルの追跡を行うことができる。
【０１６３】
なお、この１セル欠落を許容する離散型１Ｄカラービットコードでも、離散型であるので、実施の形態１と同様の条件が必要である。
【０１６４】
＜＜第７条件＞＞（＜＜第１条件と同じ＞＞）
図１で説明した例と同様に、セル間距離は、所定の最低値ａ１と最大値ａ２との間になければならない。すなわち、
ａ１≦ｄ１、、、ｄｎ−１≦ａ２
という条件を満たす必要がある。非セルの領域においては、この第７条件が必ずしも満たされない。この条件は、上述した第１条件と同一の条件である。
【０１６５】
＜＜第８条件＞＞（＜＜第２条件＞＞と同じ）
・各「セル」と、最も近接しているコードシンボル以外の色彩エリアとの距離Ｄ１、、、Ｄｎが下記の条件を満たしている必要がある。
【０１６６】
（第８条件ａ）
Ｄ１、、、Ｄｎ＞ａ２
又は、別の考え方として
（第８条件ｂ）
ｄｋ−１，ｄｋ≦Ｄｋ  （ｋ＝１  ｔｏ  ｎ）
のいずれか一方の条件を満たす必要がある。
【０１６７】
いずれの条件においても、隣接「セル」間距離が必ず周辺の非セルの色彩エリアよりも近く、誤って追跡することが無いという条件である。この条件は、上記第２条件と実質的に同一の条件である。
【０１６８】
＜＜第９条件＞＞（＜＜第３条件＞＞と同じ）
ｋ番目のセルＣｋの両側の隣接セルとの距離、ｄｋ−１、ｄｋについて、以下の条件が成立すること。この条件は、上記第３条件と同様の条件である。
【０１６９】
ｄ（ｍ：ｎ）をＭ番目とＮ番目のセル間距離を表すものとすると、
ｄｋ−１  ＜  ｄ（１：ｋ），ｄ（２：ｋ），，ｄ（ｋ−２：ｋ）
ｄｋ−１  ＜  ｄ（ｋ＋２：ｋ）、、ｄ（ｎ：ｋ）
すなわち、セルＣｋと他のセルとの距離に関して、Ｃｋの両側のセルとの距離は、他のセルとの距離よりも短くばければならない。
【０１７０】
上記式は、距離ｄｋ−１は、距離ｄｋを除く他のどの距離よりも短いという条件を表している。これは距離ｄｋについても、同様であり、式としては、上式と全く同様の下記式が成立している必要がある。
【０１７１】
ｄｋ      ＜  ｄ（１：ｋ），ｄ（２：ｋ），，ｄ（ｋ−２：ｋ）、
ｄｋ      ＜  ｄ（ｋ＋２：ｋ）、、ｄ（ｎ：ｋ）
結論を言えば、これら距離ｄｋ、ｄｋ−１は、セルＣｋに対する他のセルとの距離のいずれと比較しても短いという関係が成立する必要がある。
【０１７２】
この第９条件が満たされれば、近い距離を追跡すれば、そのコードシンボルが予定する所望の順番通りに追跡を行うことができ、そのコードシンボルの値を復元することが可能である。
【０１７３】
逆に、この第９条件が満たされていない場合は、距離の近いものを追跡するという処理によって、そのコードシンボルの正しいセルの順番が復元できず、誤った順番でコードシンボルを認識してしまい誤ったデータを復元してしまう可能性がある。
【０１７４】
以上のような条件を満たせば、実施の形態１に記載の離散型１Ｄカラービットコードの特徴に加えて、いずれかの１セルが欠落した場合でも、データの復元が可能な１Ｄカラービットコードが得られる。
【０１７５】
２−２  セルの欠落の個数
これまで述べた離散型１Ｄカラービットコードは、セルの欠落があっても、セルの追跡を行うことができる。欠落したセルを復元・訂正することは、所定の誤り訂正技術を用いて行う。そのような手段は、ＣＲＣを始め、種々の誤り訂正コードが従来から広く知られているので、それを用いればよい。
【０１７６】
既に説明したように、既存の誤り訂正技術を用いる場合でも、セルの追跡が完了しないと、誤り訂正を行うことができない。換言すれば、１個のセルが欠落した場合、その欠落したセル以外のセルが全て追跡できて認識される必要がある。したがって、本実施の形態では、セルの欠落があっても追跡を完遂することができる条件・手法を提案する者であり、本実施の形態の手法によって、始めて既存の誤り訂正技術を、１Ｄカラービットコードに適用することができたものである。
【０１７７】
なお、これまでの説明では、セルの欠落は１個であるとして説明をしてきたが、本実施の形態における手法では、欠落するセルの許容数は特に制限は無い。言い換えれば、訂正できるセルの欠落数は、採用する誤り訂正技術（例えばＣＲＣ等の誤り訂正コード）による。
【０１７８】
ただし、本実施の形態２で説明した手法においては、セルの離散的な欠落のみを前提としており、連続したセルの欠落（連続誤り：いわゆるバーストエラー）は前提としていない。
【０１７９】
２−３  セルの欠落を許容する離散型１Ｄカラービットコードの成立条件
これまで、セルの欠落を許容する離散型１Ｄカラービットコードの種々の条件を述べてきたが、これらの条件は、追跡が成功する条件である。
【０１８０】
この追跡が成功する条件と、セルの欠落を許容する離散型１Ｄカラービットコードが成立するための条件とは、以下の点で若干異なる。
【０１８１】
例えば、上述した（第８条件）（＝第２条件と同じ）は、離散型１Ｄカラービットコードその物の条件というよりも、離散型１Ｄカラービットコードがマーキングされる際の周囲との関係に関する条件である。その意味では、実施の形態１と同様に厳密に言えばマーキングの条件と言えよう。
【０１８２】
同様に、第８条件をセルの一つおきの距離にも適用した条件である第５条件もまたマーキング動作の条件である。
【０１８３】
したがって、本実施の形態で提案する「セルの欠落を許容する」離散型１Ｄカラービットコードの要件は、第８条件、第５条件（これらはマーキング処理の条件と考えられる）を除いた以下の通りである。
【０１８４】
＜＜第４条件＞＞  セルの一つおきの距離場最大値ａ２以下であること。この条件は、上述した第１条件を一つおきのセルにも適用した条件である。
【０１８５】
＜＜第６条件＞＞  セルＣｋから見て、セルＣｋ＋２は、セルＣｋ＋１を除き、最も近いセルである。ここで、ｋは、１からｎ−２までの整数である。この条件はセルＣｋ＋１が欠落した場合でも、セルＣｋからセルＣｋ＋１に追跡が進むための条件である。
【０１８６】
＜＜第７条件（第１条件と同じ）＞＞  隣接しているセル間の距離が最小値ａ１以上、最大値ａ２以下である。
【０１８７】
＜＜第９条件（第３条件と同じ）＞＞  セルＣｋから見て、セルＣｋ−１は、セルＣｋ＋１を除き、最も近いセルである。同様に、セルＣｋから見て、セルＣｋ＋１は、セルＣｋ−１を除き、最も近いセルである。ｋは、２からｎ−１までの整数である。
【０１８８】
この条件は、要するに、セルＣｋに最も近いセルと、２番目に近いセルとは、Ｃｋ−１と、Ｃｋ＋１であることを意味している。つまり、そのセルが接続するべきセルは最も近い２個のセルであることを表している。なお、ここでＣｋは、端点セルではないことを前提としている。端点セルの場合は、最も近いセルに接続するので、この第３条件は直接には関係しない。
【０１８９】
２−４  読み取り処理の流れ
このような条件下で作成・マーキングされた離散型１Ｄカラービットコードの読み取りは、概ね以下のような流れで行われる。
【０１９０】
ステップ１：コードシンボルを含む画像をキャプチャー（撮像）。
【０１９１】
ステップ２：得られた画像データを、色彩に基づき、各色彩毎に領域化する。
【０１９２】
ステップ３：コードシンボルに用いられるマーキング色の領域を追跡し、各領域の接続関係を抽出する。この際、追跡は、領域間の距離に基づき行われ、最小値ａ１最大値ａ２の範囲内にある領域が隣接する領域であるとの前提の元で、色彩エリアを追跡していく。
【０１９３】
この追跡においては、セルの欠落があることを考慮して、セルの数は想定外（セル数が少ない場合）であっても、光学式コードの候補として扱う。
【０１９４】
ステップ４：追跡していった結果、コードで用いる色彩と、判明した各色彩エリアの接続関係（セルの個数）等に基づき、いずれのエリアがコードを構成するか判断する。
【０１９５】
ここで、セルは、欠落があることを考慮して、セルの個数自体は想定より少なくても他の要件を満たす限り光学式コードであると判断する。
【０１９６】
光学式コードであると判断した色彩エリアに関して、その色彩の並びを抽出し、この色彩の並びから、原データを復元する。
【０１９７】
実施の形態３：  セル間距離もしくは色彩エリア間距離について
これまで「距離」としては、各領域の重心間の距離や、各領域間の最小隙間、等を用いることを提案してきた。
【０１９８】
３−１  各領域毎にある基点を定め、その間の距離を「エリア間の距離」とする。
【０１９９】
図４には、他の種類の距離の説明図が示されている。この図４に示すように、色彩エリア（又はセル）それぞれの基点を定め、その間の距離、として定義する方法が考えられる。図４では、例えば、領域Ａの重心Ｇａと領域Ｂの重心Ｇｂとの距離ＧａＧｂが示されており、領域Ｂの重心Ｇｂと領域Ｃの重心Ｇｃとの距離ＧｂＧｃが示されている。
【０２００】
もちろん、基点としては、重心以外にも種々の基点の決定方法がある。例えば、代表的な例を挙げれば、エリアの重心位置、図心位置、ｘｙ各方向の最大広がりの中点、等が好適な例である。
【０２０１】
３−２  各領域の位置や形状から定める。
【０２０２】
図５や図６に示すように、色彩エリア（又はセル）毎の基点を定めること無く、領域位置、形状の相互の関係から距離を定義する方法がある。
【０２０３】
例えば、図５においては、「距離」をエリア間の「最小隙間」として定義する考え方が示されている。図５では、領域Ａと領域Ｂとの最小隙間ｔＡＢが示されており、また、領域Ｂと領域Ｃとの最小隙間ｔＢＣが示されている。
【０２０４】
なお、最小隙間とは、領域Ａの任意の画素と、領域Ｂの任意の画素との距離のうち、最も短い距離を言う。
【０２０５】
さらに、図６に示すように、「距離」を、エリア間の「平均隙間」として定義する手法も好適である。図６に示すように、領域Ａと領域Ｂとの間に既定値Ｚの幅の帯を設け、この帯の領域Ａ側に接する辺と、領域Ｂ側に接する辺と、の間の平均距離を求める。この平均距離が、領域Ａと領域Ｂとの間の平均隙間である。また、同様に、領域Ｂと領域Ｃとの間に既定値Ｚの幅の帯を設け、この帯の領域Ｂ側に接する辺と、領域Ｃ側に接する辺と、の間の平均距離を求める。この平均距離が、領域Ａと領域Ｂとの間の平均隙間である。
【０２０６】
ここで、規定値Ｚは、人間がヒューリスティックに決定することも好適であるが、各領域の面積の平方根に一定の係数（０．６や０．５等）を掛けた値でもよい。
【０２０７】
また、隙間平均値計算領域は、各領域の重心を結ぶ線分をＺ／２ずつ太らせて作成することも好適である。また、隙間平均値計算領域は、各領域の重心を結ぶ線分を太らせて、いずれかの領域を完全に覆ってしまう程度にまで太くした領域を作成し、その領域を隙間平均値計算領域として利用することも好適である。
【０２０８】
３−３  距離の定義と、上記各種条件と、の関係
（３−３−ａ）基点を基準とした距離の定義
さて、上述した実施の形態１や実施の形態２では、先にセル間距離の条件を
・ａ１≦ｄ１、、、ｄｎ−１≦ａ２
で定義した。ここで、ａ１はセル間距離の最小値であり、ａ２はセル間距離の最大値である。このような考え方は図４のように、ある基点を定義し、その基点間の距離をセル間距離として採用する場合に、特に有効である。
【０２０９】
その理由は、図４等の場合は、最小値ａ１を規定することはセルの大きさの最小値を規定することとほぼ同等の効果が得られ、一定以下の色彩エリアを非セルとして排除できる可能性が高いからである。
【０２１０】
また、図形をＣＡＤ上で描く場合、描画の基準点を定め、その基準点をその図形の位置として取り扱うＣＡＤは多い。このような場合、その描画の基準点を上記「基点」として扱うことも好適である。
【０２１１】
（３−３−ｂ）形状等に準拠した距離の定義
その一方、隙間を「セル間距離」として扱う手法においては、比較的多くのケースで最大値ａ２だけを規定すること（だけで）十分に有効な結果が得られると予想される。最大値が定められれば、その範囲で次の追跡すべきセルを探せばよいからである。また、最小値ａ１が規定されていない場合は、当然最小値は０になり、隙間が０となるだけであり、この点は従前の１Ｄカラービットコードと同様になるからである。
【０２１２】
そのため、隙間、平均隙間などを距離として利用する場合は、最大値ａ２のみが規定されているだけでも効果的である。
【０２１３】
なおこのような最大値ａ２のみが規定されているだけで、最小値ａ０が規定されていない場合でも、微細な色彩エリアをノイズとして除去したい場合がある。この場合は、最小値ａ０の規定とは別に、微細領域のキャンセルアルゴリズム（＝通常のノイズキャンセルと同様の考え方等）を設けることで同様の効果が得られると考えられる。
【０２１４】
非零である最小値ａ１を規定するか、それとも別途微小領域のキャンセルアルゴリズムを設けるかは、ケースバイケースで最適の方法を使い分けることが好適である。
【０２１５】
実施の形態４：  端点における環状読み取りの禁止（防止）
これまで述べた手法で挙げた種々の条件で色彩エリアを追跡した場合、端点においても追跡が終了せず、再びいずれかのセルにつながってしまうケースが考えられる。つまり、端点となるべきセルの近傍に他のセルが位置し、且つ、その他のセルまでの距離が最大値ａ２以下であるような場合である。
【０２１６】
このような場合は、再びその「他のセル」の方向に追跡が開始され、読み取り不能、もしくは著しくデータの信頼性を損なう結果が生じてしまう可能性がある。
【０２１７】
これを防止するために、以下の条件を設けることが好適である。
【０２１８】
＜＜第１０条件＞＞
・端点となるセルと、その端点となるセルに接続する他の一つのセル「以外」の色彩エリアとの距離が、全て最大値ａ２より大きいこと。
【０２１９】
換言すれば、端点となるセルから距離ａ２以下にある（所定のマーキング色を付した）色彩エリアは、その端点となるセルに接続する前記他の一つのセルだけである。
【０２２０】
このような条件の説明図が図７に示されている。図７に示すように、端点のセルＣｍに接続するセルはセルＣｌである。そして、他のセルで端点のセルＣｍに次に近いのは、セルＣｄであるが、セルＣｍとセルＣｄとの距離ＧｄＧｍは、最大値ａ２より大きい。ここでは、重心に基づいて定義した距離を用いたが、基点としては重心以外の基点を採用することも好適である。また、色彩エリアの形状等から決定した隙間や平均隙間などの値を距離として用いてもよい。
【０２２１】
このような条件を追加することによって、追跡が終了すべき端点において、セルの追跡を確実に終了させることができる。
【０２２２】
これまで、種々の条件を満たす離散型１Ｄカラービットコードを種々説明してきた。しかし、本実施の形態４で説明したような条件を持つ両端点の存在を確認し、さらに構成セル数の確認、並び方の規則の確認等を行えば、その領域群が、コードシンボルを構成するか否かをチェックすることができる。
【０２２３】
実施の形態５：  変形例その他
（１）上で述べた実施の形態においては、従前の１Ｄカラービットコードとの互換性を保つために、連続した領域には必ず異なる色彩が付されることにしている。
【０２２４】
ところで、離散型１Ｄカラービットコードは、接続する領域の範囲を距離で規定している（最小値ａ１、最大値ａ２）。したがって、仮に同一の色彩が連続した２個の領域に付されていることが検知された場合は、両領域をまとめて１領域であると判断している。
【０２２５】
しかしながら、上述の如く、離散型１Ｄカラービットコードは、接続する領域の範囲を距離で規定しているので、同一の色彩が隣接する色彩エリアに付されることを許容してもかまわない場合が多い。
【０２２６】
そこで、従前の１Ｄカラービットコードとは異なる符号体系とはなるが、同一色彩を隣接する色彩エリアに付すことを許容するコード体系を採用することも好ましい。
【０２２７】
（２）これまで述べた光学式認識コードをマーキングした被印物は、その上の光学式認識コードを距離に基づく追跡（トレース）によって、読み取ることができ、容易にその表示内容を読み取ることができる。
【図面の簡単な説明】
【０２２８】
【図１】本実施の形態に係る離散型１Ｄカラービットコードの一例を示す説明図である。
【図２】本実施の形態において、セルの読み取りが一つ欠落した場合の説明図である。
【図３】本実施の形態において、セルの読み取りが一つ欠落した場合の説明図である。
【図４】他の種類の距離の説明図である。
【図５】距離をエリア間の最小隙間として定義する例を示す説明図である。
【図６】距離をエリア間の平均隙間として定義する例を示す説明図である。
【図７】環状読み取りの防止のための条件を説明する説明図である。
【符号の説明】
【０２２９】
ａ１  セル間の最小距離
ａ２  セル間の最大距離
Ｃｋ  セル（ｋは、１、・・・ｎの整数）
ｄｋ  セルＣｋとセルＣｋ＋１との距離（ｋは、１、・・・ｎ−１の整数）
Ｓｋ  セルＣｋとセルＣｋ＋２との距離（ｋは、１、・・・ｎ−２の整数）
Ｇａ  領域Ａの重心
Ｇｂ  領域Ｂの重心
Ｇｃ  領域Ｃの重心
ＧａＧｂ  領域Ａの重心と領域Ｂの重心との距離
ＧｂＧｃ  領域Ｂの重心と領域Ｃの重心との距離
ｔＡＢ  領域Ａと領域Ｂとの最小隙間
ｔＢＣ  領域Ｂと領域Ｃとの最小隙間
【図１】
0004409595.tif 000002
【図２】
0004409595.tif 000003
【図３】
0004409595.tif 000004
【図４】
0004409595.tif 000005
【図５】
0004409595.tif 000006
【図６】
0004409595.tif 000007
【図７】
0004409595.tif 000008