(57)【要約】【課題】本願発明者らが開発した１．５Ｄカラービットコードの特長を生かした寸法、形状の歪みやぼけ、ブレなどに強い、また従来の二次元バーコードよりシンプルな切り出しの手法を提案する。【解決手段】１．５Ｄカラービットコードを含んだ画像をエリアセンサ等の撮像手段で取り込む。この画像を青、赤、緑、無彩色に区分けし、色領域を作成する。互いに接している色領域２０を集めて「色領域群」を作成する。この結果、全体画像はいくつかの「色領域群」に区分けされる。色領域群に含まれる色領域の個数が正しいか否かで色領域群の中から候補を絞る。色領域群に含まれる同一の色領域同士を結んだ「線」の交点数が偶数であるか／奇数であるかを基準にさらに候補を絞る。また、１．５Ｄカラービットコードの配列規則に合っているか否かで更に候補を絞り最終的な認識対象を得る。これをデコードして原データを得る。【選択図】図５
2009003721.tif 000002
【特許請求の範囲】
【請求項１】
取り込まれた画像データから、光学式認識コードを切り出す切り出し方法において、
前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化ステップと、
前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成ステップと、
前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込みステップと、
を含むことを特徴とする光学式認識コード切り出し方法。ここで、前記Ｎは、２以上の正の整数である。
【請求項２】
請求項１記載の光学式認識コード切り出し方法において、
前記Ｎは４であり、前記光学式認識コードのマーキングに用いられる色彩の個数が３であり、前記光学式認識コード以外の背景部分の色彩の個数が１であることを特徴とする光学式認識コード切り出し方法。
【請求項３】
請求項１記載の光学式認識コード切り出し方法において、
前記絞り込みステップは、前記色領域群の配置状態に基づき光学式認識コードであると判断される色領域群を単数個又は複数個選び出すことを特徴とする光学式認識コード切り出し方法。
【請求項４】
請求項１記載の光学式認識コード切り出し方法において、
前記Ｎ値化した画像データの中の各色領域を所定量拡大させる領域拡大ステップ、
を含み、
前記色領域群作成ステップにおいては、前記拡大後の前記Ｎ値化した画像データに基づき、前記色領域群を作成することを特徴とする光学式認識コード切り出し方法。
【請求項５】
請求項１記載の光学式認識コード切り出し方法において、
前記絞り込みステップは、前記色領域群に含まれる前記色領域の個数に基づき光学式認識コードであると判断される色領域群を単数個又は複数個選び出すことを特徴とする光学式認識コード切り出し方法。
【請求項６】
請求項１記載の光学式認識コード切り出し方法において、
前記絞り込みステップは、
前記色領域群に含まれる前記色領域を、各色彩毎に分け、同一色の色領域同士を線で結ぶ結線ステップと、
前記結線ステップで結んだ各色彩の線のうち、任意の２色の線を取り出し、それら２本の線間の交点が偶数個か／奇数個かを検査し、前記交点が奇数個であった色領域群を色領域群から除外する交点検査ステップと、
を含むことを特徴とする光学式認識コード切り出し方法。
【請求項７】
請求項６記載の光学式認識コード切り出し方法において、
前記結線ステップにおける前記線は、同一色の色領域の重心又は中心を結ぶ線分の集合であることを特徴とする光学式認識コード切り出し方法。
【請求項８】
請求項６記載の光学式認識コード切り出し方法において、
前記結線ステップにおける前記線は、同一色の色領域の重心又は中心を結ぶ曲線の集合であることを特徴とする光学式認識コード切り出し方法。
【請求項９】
請求項１記載の光学式認識コード切り出し方法において、
前記絞り込みステップは、前記色領域群に含まれる前記色領域の並びが、光学式認識コードの配列規則に則っているか否か検査し、前記配列規則に反する前記色領域群を色領域群から除外することを特徴とする光学式認識コード切り出し方法。
【請求項１０】
請求項１又は４記載の光学式認識コード切り出し方法において、
前記色領域群作成ステップは、
前記Ｎ値化した画像データ中の各色領域に対して、隣接している複数の色領域を集合させて色領域の集合である色領域群を作成することを特徴とする光学式認識コード切り出し方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載の光学式認識コード切り出し方法において、
前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とする光学式認識コード切り出し方法。
【請求項１２】
請求項１〜１１のいずれか１項に記載の光学式認識コード切り出し方法を用いて光学式認識コードとなる色領域群を切り出すステップと、
前記切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得るステップと、
を含むことを特徴とする光学式認識コード認識方法。
【請求項１３】
取り込まれた画像データから、光学式認識コードを切り出す切り出し装置において、
前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化手段と、
前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成手段と、
前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込み手段と、
を含むことを特徴とする光学式認識コード切り出し装置。ここで、前記Ｎは、２以上の正の整数である。
【請求項１４】
請求項１３に記載の光学式認識コード切り出し装置において、
前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とする光学式認識コード切り出し装置。
【請求項１５】
請求項１３に記載の光学式認識コード切り出し装置と、
前記請求項１３に記載の光学式認識コード切り出し装置が切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得る手段と、
を含むことを特徴とする光学式認識コード認識装置。
【請求項１６】
コンピュータを、取り込まれた画像データから、光学式認識コードを切り出す切り出し装置として動作させるプログラムにおいて、
前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化手順と、
前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成手順と、
前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込み手順と、
を含むことを特徴とするプログラム。ここで、前記Ｎは、２以上の正の整数である。
【請求項１７】
請求項１６に記載のプログラムにおいて、
前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とするプログラム。
【請求項１８】
請求項１６に記載のプログラムにおいて、
さらに、前記コンピュータに、
前記請求項１６に記載のプログラムを前記コンピュータが実行して切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得る手順、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式認識コードの切り出し手法に関する。特に、本願発明者らが発明した新しい光学式認識コード（１．５Ｄカラービットコードと呼ぶ（特願２００６−１９６５４８））の認識（切り出し）手法に関する。
【背景技術】
【０００２】
二次元バーコードの読み取り
従来のいわゆる二次元バーコードは、一般的には、マス目状に位置が規定されたセグメントの白黒（明暗）でデータを表すものであるが、通常、「マーキングパターン」（該当するバーコードの模様、クワイアットゾーンを含む）はマーキングを付加する物体である「被印物」と一体になっている。したがって、光学的キャプチャ操作（エリアセンサ等で二次元画像データとしてデータを取り込む）においては、これら「被印物」の一部が一緒に写り込んでしまう。
【０００３】
仮に「マーキングパターン」だけが空中に浮いている様な場合でも、通常、何らかの背景がマーキングパターンと一緒に取り込まれてしまうことは避けられない。この場合、「マーキングパターン」以外の入力された画像を「背景画像」、「マーキングパターン」の入力画像を「マーキング画像」と呼ぶ。
【０００４】
さて、「マーキング画像」をデコードし元のデータを取得するために、その最初のステップとしては、
・「マーキング画像」と「背景画像」を区別し、
・「マーキング画像」の正確な範囲を認識する
ことが必要である。これを通常、「マーキング画像」の「切り出し」と称している。
【０００５】
二次元バーコードにおける切り出しは、典型的には以下のように行われる。
【０００６】
まず、エリアセンサで所定の領域をキャプチャして、このキャプチャした画像の中から、特定パターン（通常、「切り出しマーク」と呼ぶ）を画像認識的に探しだし、該「切り出しマーク」の大きさと位置関係から、二次元バーコードの存在領域を推定、更に該当二次元バーコードのパターン範囲と寸法を推測してその範囲をセグメント化、二次元バーコードの存在の確認を行うという手順をとる。
【０００７】
一方、古典的な一次元バーコードは白黒（明暗）バーの太さでデータを表すものであるが、「切り出しマーク」に相当するものは両端のバーとクワイアットゾーンなどに相当する。
【０００８】
しかし一次元バーコードは、直線状の「スキャンライン」を想定してそのライン上の明暗パターンを読み取る仕様なので、背景からマーキングパターンを切り出すという作業は事実上行われない。現実には「スキャンライン」を一次元バーコードのバーの並びに合わせる作業が必要であり、通常これは操作者が目視で行っている。
【０００９】
あるいは、ラスタースキャンのように多数のスキャンラインを出射するという方式で、スキャンラインの存在する範囲内にバーコードをあてがい、デコードするという方法が一般的である。
【００１０】
従って一次元バーコードは切り出しの考え方が二次元バーコードに比べて手軽であるが、一方、一次元の場合は、バーコードの「マーキングパターン」に一定の幅（太細バーの長さ）が必要であり、これが細かったり、あるいは曲がって並んでいる場合などにはデコードが非常に困難である。
【００１１】
先行特許文献の例
例えば、下記特許文献１には、３色を用いたバーコードが開示されている。このバーコードは、色彩を第１の順番で遷移させた場合は「１」を表し、第２の順番で遷移させた場合は「０」を表すように構成したバーコードである。
【００１２】
また、下記特許文献２には、３原色の各色の色彩濃度を複数の段階にすることによって、データの収容能力を増やすことができるコードが示されている。
【００１３】
また、下記特許文献３には、複数の２次元コードを合成した合成２次元コードを表す技術が開示されている。
【００１４】
【特許文献１】特開昭６３−２５５７８３号公報（特許第２５２１０８８号）
【特許文献２】特開２００２−３４２７０２号公報
【特許文献３】特開２００３−３２３５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本願発明者らが開発した「１．５Ｄカラービットコード」は、エリアセンサの二次元画像を使用する点で、また「マーキングパターン」の太さや曲がりを許容しているので、従来の二次元バーコードと対比しながら説明を行うのが適切であると考えられる。
【００１６】
以下そのように説明を行う。
【００１７】
さて、二次元バーコードの切り出し方法は上述したとおりであるが、切り出しパターンが正確に認知できないと切り出しが出来ないということが技術的に大きな問題点になっている。つまり、二次元バーコードでは、平面上に配列されているという前提を持たないと正しく認識できない。さらに、「切り出しマーク」の特定のパターンを探す作業を複雑な「背景パターン」のある中で行うのであるから、切り出しマークの歪みの推測、大きさの推測、平面が曲がっている場合の許容等を、様々な背景パターンと区分けして行う必要があり、通常、その処理量は膨大である。
【００１８】
従って、実用面では、画面全体に対して「マーキング画像」の占める範囲を大きく取るようにエリアセンサの撮影範囲の調整等が行われている。また、実際に使用する際に使用者が画面を見ながら（画面内の）「マーキング画像」の位置を調節する（位置合わせする）という補助操作もしばしば行われている。
【００１９】
従って、画像の中に複数個のバーコードが存在する場合などは、更に処理や位置合わせが複雑かつ高精度を求められるため、実現性は非常に困難であり、事実上ほとんど行われていないのが現状である。
【００２０】
然るに、本願発明者らが開発した１．５Ｄカラービットコードは、本来色の「ＯＮ／ＯＦＦ」する順番のみを認識・追跡するものであり、寸法、形状の歪みやぼけ、ブレなどに強いという特徴を持っている。
【００２１】
この１．５Ｄカラービットコードにおいても、当然、読み取りにはエリアセンサなどで周囲とともに取り込んだ画像から１．５Ｄカラービットコードを切り出す必要がある。
【００２２】
しかし、従来の２次元バーコードとは異なり、１．５Ｄカラービットコードは、色彩のＯＮ／ＯＦＦの順でデータを表現し、寸法や形状には特段の制限が存在しない。したがって、既存の２次元バーコードのように、切り出しマーク等を検出して、領域を推定するという手法はそのままでは適用できない。
【００２３】
本発明は、係る課題に鑑みなされたものであり、その目的は、１．５Ｄカラービットコードの特長を生かした寸法、形状の歪みやぼけ、ブレなどに強い、また二次元バーコードと違ったシンプルな切り出しの手法を提案することである。
【００２４】
また、本発明の他の目的は、画像内に複数の１．５Ｄカラービットコードがあっても容易に切り出せる手法を提案することである。
【課題を解決するための手段】
【００２５】
（１）本発明は、上記目的を達成するために、取り込まれた画像データから、光学式認識コードを切り出す切り出し方法において、前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化ステップと、前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成ステップと、前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込みステップと、を含むことを特徴とする光学式認識コード切り出し方法である。ここで、前記Ｎは、２以上の正の整数である。
【００２６】
（２）また、本発明は、（１）記載の光学式認識コード切り出し方法において、前記Ｎは４であり、前記光学式認識コードのマーキングに用いられる色彩の個数が３であり、前記光学式認識コード以外の背景部分の色彩の個数が１であることを特徴とする光学式認識コード切り出し方法である。
【００２７】
（３）また、本発明は、（１）記載の光学式認識コード切り出し方法において、前記絞り込みステップは、前記色領域群の配置状態に基づき光学式認識コードであると判断される色領域群を単数個又は複数個選び出すことを特徴とする光学式認識コード切り出し方法である。
【００２８】
（４）また、本発明は、（１）記載の光学式認識コード切り出し方法において、前記Ｎ値化した画像データの中の各色領域を所定量拡大させる領域拡大ステップ、を含み、前記色領域群作成ステップにおいては、前記拡大後の前記Ｎ値化した画像データに基づき、前記色領域群を作成することを特徴とする光学式認識コード切り出し方法である。
【００２９】
（５）また、本発明は、（１）請求項１記載の光学式認識コード切り出し方法において、前記絞り込みステップは、前記色領域群に含まれる前記色領域の個数に基づき光学式認識コードであると判断される色領域群を単数個又は複数個選び出すことを特徴とする光学式認識コード切り出し方法である。
【００３０】
（６）また、本発明は、（１）記載の光学式認識コード切り出し方法において、前記絞り込みステップは、前記色領域群に含まれる前記色領域を、各色彩毎に分け、同一色の色領域同士を線で結ぶ結線ステップと、前記結線ステップで結んだ各色彩の線のうち、任意の２色の線を取り出し、それら２本の線間の交点が偶数個か／奇数個かを検査し、前記交点が奇数個であった色領域群を色領域群から除外する交点検査ステップと、を含むことを特徴とする光学式認識コード切り出し方法である。
【００３１】
（７）また、本発明は、（６）記載の光学式認識コード切り出し方法において、前記結線ステップにおける前記線は、同一色の色領域の重心又は中心を結ぶ線分の集合であることを特徴とする光学式認識コード切り出し方法である。
【００３２】
（８）また、本発明は、（６）記載の光学式認識コード切り出し方法において、前記結線ステップにおける前記線は、同一色の色領域の重心又は中心を結ぶ曲線の集合であることを特徴とする光学式認識コード切り出し方法である。
【００３３】
（９）また、本発明は、（１）記載の光学式認識コード切り出し方法において、前記絞り込みステップは、前記色領域群に含まれる前記色領域の並びが、光学式認識コードの配列規則に則っているか否か検査し、前記配列規則に反する前記色領域群を色領域群から除外することを特徴とする光学式認識コード切り出し方法である。
【００３４】
（１０）また、本発明は、上記（１）又は（４）に記載の光学式認識コード切り出し方法において、前記色領域群作成ステップは、前記Ｎ値化した画像データ中の各色領域に対して、隣接している複数の色領域を集合させて色領域の集合である色領域群を作成することを特徴とする光学式認識コード切り出し方法である。
【００３５】
（１１）また、本発明は、上記（１）〜（１０）のいずれかに記載の光学式認識コード切り出し方法において、前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とする光学式認識コード切り出し方法である。
【００３６】
（１２）また、本発明は、上記（１）〜（１１）のいずれかに記載の光学式認識コード切り出し方法を用いて光学式認識コードとなる色領域群を切り出すステップと、前記切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得るステップと、を含むことを特徴とする光学式認識コード認識方法である。
【００３７】
（１３）また、本発明は、取り込まれた画像データから、光学式認識コードを切り出す切り出し装置において、前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化手段と、前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成手段と、前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込み手段と、を含むことを特徴とする光学式認識コード切り出し装置である。ここで、前記Ｎは、２以上の正の整数である。
【００３８】
（１４）また、本発明は、（１３）に記載の光学式認識コード切り出し装置において、前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とする光学式認識コード切り出し装置である。
【００３９】
（１５）また、本発明は、（１３）に記載の光学式認識コード切り出し装置と、前記請求項１３に記載の光学式認識コード切り出し装置が切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得る手段と、を含むことを特徴とする光学式認識コード認識装置である。
【００４０】
（１６）また、本発明は、コンピュータを、取り込まれた画像データから、光学式認識コードを切り出す切り出し装置として動作させるプログラムにおいて、前記取り込まれた画像データを、各画素の色彩に基づきＮ値化するＮ値化手順と、前記Ｎ値化した画像データ中の各色領域に対して、各色領域間の距離に基づいて複数の色領域の集合である色領域群を１個又は複数個作成する色領域群作成手順と、前記色領域群から、光学式認識コードに合致する色領域群を選択する絞り込み手順と、を含むことを特徴とするプログラムである。ここで、前記Ｎは、２以上の正の整数である。
【００４１】
（１７）また、本発明は、（１６）に記載のプログラムにおいて、前記光学式認識コードは、１．５Ｄカラービットコードであることを特徴とするプログラムである。
【００４２】
（１８）また、本発明は、（１６）に記載のプログラムにおいて、さらに、前記コンピュータに、（１６）に記載のプログラムを前記コンピュータが実行して切り出した１個又は２個以上の色領域群を光学式認識コードの規則に従ってデコードし、データを得る手順、を実行させることを特徴とするプログラムである。
【発明の効果】
【００４３】
以上述べたように、本発明は、画像全体の中から１．５Ｄカラービットコード等の光学式認識コードの「マーキングパターン」の条件に合ったセル群をその特徴により「背景画像」から抽出するというものである。すなわち、従来の２次元コードとは異なり、「切り出しマーク」が無くても切り出しが可能である。
【００４４】
従って、切り出しマークを見つけるようなプロセスは存在せず、画像全体を一定の方法で処理することで、「マーキングパターン」に相当するパターンが区分けされる。
【００４５】
従って、従来の二次元バーコードのように切り出しのための複雑な画像認識を行う必要が無く、画像処理、画像認識処理が簡単になり処理速度の向上が期待される。
【００４６】
また、撮影した画像の全体に対してパターンで光学式認識コードを認識しているので、切り出しマークを探して、位置合わせするような精密な画像処理や複雑な処理は必要ないという効果を奏する。この結果、画像キャプチャの処理負担が減少し、従来必要であった複雑な画像処理操作を単純化することができる。単純化の結果、操作性が向上すると考えられる。
【００４７】
同時に、読み取り機器や画像処理のソフト、ソフトの乗っている電気回路等も簡単なものでおさまるため、より安価、小型化が期待できる。
【００４８】
また、マーキングそのものの精度もラフなもので良いので、より簡単なマーキング方法・装置を用いることができると考えられる。
【００４９】
また、本発明によれば、複数個の光学式認識コード（例えば１．５Ｄカラービットコード）が同一画像内に含まれていれば特に特別な手段を講じること無く、すべての光学式認識コード（例えば１．５Ｄカラービットコード）を捕捉できるので、光学式認識コードが複数個になった場合でも単純な読み取り作業で光学式認識コードの認識を行うことができる。
【発明を実施するための最良の形態】
【００５０】
以下、本発明の好適な実施の形態を図面に基づき説明する。
【００５１】
第１  １．５Ｄカラービットコードの概要
まず、本願発明者らが開発した１．５Ｄカラービットコードの概要の説明を行う。ここで説明する１．５Ｄカラービットコードは、マーキング色として３色を用いる例である。例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、（Ｃ、Ｍ、Ｙでも良い）の３色である。また、クワイアットゾーンを構成するクワイアットカラー色としてＷ（白）である例を示す。
【００５２】
１．５Ｄカラービットコードは、色彩の異なる３本の線が平行にほぼ等間隔に列を構成する。
【００５３】
３列中の各列は途中何カ所か途切れており、途切れた部分はクワイアットゾーンに相当する色彩（つまりＷ）となっている。両端を含めた各列の途切れた部分をその色の出入りがあったと見て、「ＯＮ／ＯＦＦ」箇所とする。なお、途切れるとはマーキング色（Ｒ、Ｇ、Ｂ等）の色彩が欠落し、マーキング色以外の色（Ｗ）が表れることを言う。
【００５４】
３色の列の「ＯＮ／ＯＦＦ」の箇所の位置関係でデータを表現する。
【００５５】
両端以外の中間部分では、３色がすべて途切れてしまうことは無い。
【００５６】
３色の並び方、「ＯＮ／ＯＦＦ」の位置関係の規則はデータやチェック方法でその都度規定する。
【００５７】
各列の途切れ（色が示されていない部分）に挟まれた一つの色で構成される範囲を「セル」、同一列内のセルとセルに挟まれた部分を「掩蔽部」と呼ぶ。従って、各列は「セル」と「掩蔽部」で構成されている。一つの１．５Ｄカラービットコードを構成する「マーキングパターン」は一定の数のセルで構成される。この結論は、１．５Ｄカラービットコードのパターン定義から数学的に導き出される（詳細は省略する）。
【００５８】
「マーキングパターン」の周囲は定められた色彩（Ｗ）のクワイアットゾーンで一定範囲以上取り囲まれている。
【００５９】
以上が１．５Ｄカラービットコードの概要であり、１．５Ｄカラービットコードはこのような条件に基づいて作成されている。
【００６０】
第２  切り出し処理
（１）色領域の区分け
（ａ）まず、１．５Ｄカラービットコードを含んだ画像をエリアセンサ等の撮像手段で取り込む。
【００６１】
（ｂ）次に、上記画像を定義に基づき複数の色の領域に区分けする。本実施の形態では、青、赤、緑および白に区分けした例を示す。なお、本実施の形態では１．５Ｄカラービットコードは青、赤、緑の「セル」の列であり、「セル」数は８であるものとして説明する。
【００６２】
さて、元々取り込まれた「原画像」は背景も含めて様々な色彩で構成されており、それらのパターンも様々であるが、色彩を色空間の中で青、赤、緑、無彩色に区分けし各画素の色彩をいずれかの領域に当てはめる「色彩量子化処理」を行う。
【００６３】
ここで、１．５Ｄカラービットコードを構成する色彩（青、赤、緑）は、マーキングパターンとして定義された色彩であり、照明、彩色、退色等のばらつきを考慮して一定の範囲を色空間上でとった「マーキング色彩範囲」である。
【００６４】
無彩色は、「マーキング色彩範囲」以外として定義され、クワイアットゾーンの色彩を含むものとする。
【００６５】
なお、「原画像」に対して上記のごとく「色彩量子化処理」をするにあたり、ノイズ成分の混入は通常避けられないので、ノイズに相当する微少部位の色彩異変は周囲の色彩に合わせる、色彩を平均化する等の「ノイズ除去処理」等の一般的なノイズ除去処理を予め行っておく。
【００６６】
さて、以上のようにして、色彩量子化処理を行い、図１に示すような像が得られる。
【００６７】
この図１では「背景パターン」を故意に本来の１．５Ｄカラービットコードと紛らわしいものとしている。また、この図１中で検出されるべきカラービットコードは一つのみである。
【００６８】
（２）各色の色領域拡大化
上述した「色彩量子化処理」を行った後、各色の領域（これを、原初色領域１０と呼ぶ）に予め定められた幅を加えて「色領域拡大化」を行なう。これは、原初色領域１０に数ドットづつ画素を付け加えていわば「太らせる」処理であり、線分の太線化等、従来から画像処理では良く知られている処理である。
【００６９】
この色領域拡大化を行った後の各色領域２０の様子が図２に示されている。この図２では、図１に対して、実際に領域を拡大した場合の輪郭線を書き加えている。
【００７０】
（３）「色領域群」の形成
さて、互いに接している色領域２０を集めて、「色領域群」を作成する。この結果、全体の画像は、いくつかの「色領域群」に区分けされる。
【００７１】
この処理により本来認識対象である「マーキング画像」は、少なくとも一つの「色領域群」を形成するはずである。なお、所定の領域が接している、すなわち隣接しているかどうかは基本的な画像処理として広く実行されているので、当業者であればそのような処理をコンピュータに行わせるのは容易である。
【００７２】
このようにして作成した色領域群３０の様子が図３に示されている。図３の例では色領域群３０が、６個作成されている（３０ａ、３０ｂ、３０ｃ、３０ｄ、３０ｅ、３０ｆ）。ここで、本来の認識対象は、色領域群３０ｂである。
【００７３】
なおここで、上で述べた１．５Ｄカラービットコードの定義中で、「マーキングパターンの各色のセル列はほぼ均一の間隔を取る」を思い出されたい。
【００７４】
また、１．５Ｄカラービットコードの領域が一つの群になるためには周囲に一定の白領域（クワイアットゾーン）が必要である。この点に関しては、上で述べた１．５Ｄカラービットコードの定義中、「マーキングパターンの周囲は定められた色彩のクワイアットゾーンで一定範囲以上取り囲まれている」ことを思い出されたい。
【００７５】
（４）コード候補の絞り込み（非コード領域の排除）
図３に示す例では、色領域群３０は６個作成されており、これらがコードシンボル（単にコードと呼ぶ場合もある）の候補である。以下、この中から、本来の認識対象を探すために、コード候補を絞り込んでいく。
【００７６】
（ａ）色領域の数による絞り込み
色領域群を形成する「色領域」の数的条件として「コードを形成する「色領域」の数は、桁数が同じなら必ず同じ。」という規則が１．５Ｄカラービットコードには存在する。これを便宜上規則１と呼ぶ。
【００７７】
この規則１を利用して、さらに、コード候補の絞り込みを行うことができる。すなわち、正しい領域数の候補のみを残し、他を候補から外すのである。
【００７８】
この規則１が成立することを証明しよう。
【００７９】
≪証明≫
まず、用語を説明する。赤の帯が開始されることをＲ−ＯＮと呼び、赤の帯が掩蔽され始めることをＲ−ＯＦＦと呼ぶ。同様に、青の帯が開始されることをＢ−ＯＮと呼び、青の帯が掩蔽されることをＢ−ＯＦＦと呼ぶ。また、緑の帯が開始されることをＧ−ＯＮと呼び、緑の帯が掩蔽されることをＧ−ＯＦＦと呼ぶ。
【００８０】
まず、図４は典型的な１．５Ｄカラービットコードの一例である。この図４の場合、左から見ると、
Ｒ−ＯＮ、
Ｇ，Ｂ−ＯＮ
の開始端マークの後、以下のように各セルが並ぶ。なお、開始マークは２セル使用している。
【００８１】
１ｓｔｅｐ：  Ｇ−ＯＦＦ
２ｓｔｅｐ：  Ｂ−ＯＦＦ
３ｓｔｅｐ：  Ｇ−ＯＮ
４ｓｔｅｐ：  Ｂ−ＯＮ
５ｓｔｅｐ：  Ｒ−ＯＦＦ
６ｓｔｅｐ：  Ｂ−ＯＦＦ
７ｓｔｅｐ：  Ｂ−ＯＮ
８ｓｔｅｐ：  Ｂ−ＯＦＦ
９ｓｔｅｐ：  Ｒ−ＯＮ
１０ｓｔｅｐ：  Ｒ−ＯＦＦ
１１ｓｔｅｐ：  Ｒ−ＯＮ
１２ｓｔｅｐ：  Ｒ−ＯＦＦ
１３ｓｔｅｐ：  Ｇ−ＯＦＦ
１４ｓｔｅｐ：  Ｒ−ＯＮ
１５ｓｔｅｐ：  Ｒ−ＯＦＦ
１６ｓｔｅｐ：  Ｇ−ＯＮ
１７ｓｔｅｐ：  Ｂ−ＯＦＦ
１８ｓｔｅｐ：  Ｂ−ＯＮ
１９ｓｔｅｐ：  Ｇ−ＯＦＦ
２０ｓｔｅｐ：  Ｇ−ＯＮ
２１ｓｔｅｐ：  Ｂ−ＯＦＦ
２２ｓｔｅｐ：  Ｒ−ＯＮ
２３ｓｔｅｐ：  Ｂ−ＯＮ
以下、終端マークに繋がる。終端マークは、
Ｒ−ＯＦＦ
Ｇ、Ｂ−ＯＦＦ
の２セルを使用する。
【００８２】
ここで、桁数はステップ数で決まるので、使用する桁数とステップ数とは仕様として既知であることを前提として説明をする。
【００８３】
また、開始端と終端のマーク形状が決まっている（ここで説明する例は、１ｓｔｅｐの直前と２３ｓｔｅｐ直後が必ずＲＧＢ３本が表れるという仕様を採用している）。
【００８４】
このように、開始端と終端でＲＧＢの表れ方が決まっているので各色ともにＯＮとＯＦＦの回数の差がきまる。（例の場合は必ずＯＮとＯＦＦの回数は同じ）
左から順に見ていくと、各色ともにＯＮの時に新しい色領域が始まり、ＯＦＦで地色となる。
【００８５】
ステップ数（すなわち、桁数）が決まっており、ＯＮとＯＦＦの差が決まっている。そして、色領域の数はＯＮの数で与えられるから、明らかに色領域の個数は一定である。
【００８６】
≪証明終わり≫
（ｂ）１．５Ｄカラービットコードの配列規則による絞り込み
次に、「１．５Ｄカラービットコードの定義「３色のうち一つづつのＯＮ／ＯＦＦがなされ、かつ、３色がすべてＯＦＦになることは無い」という規則２が存在する。この規則は、厳密には１．５Ｄカラービットコードの定義と言うべきものである。
【００８７】
（ｃ）色帯の平行配置の検査
本実施の形態で利用する１．５Ｄカラービットコードは、これまで述べたように複数の色の帯が平行して配置され、各色が、表れ（ＯＮと呼ぶ）、掩蔽され（ＯＦＦと呼ぶ）て光学式認識コードを形成している。
【００８８】
そのため、基本的には、群を形成する同一色（の色領域）同士が並行して並んでいるはずである。
【００８９】
本ステップでは、この平行配置を検査する。
【００９０】
この検査は、具体的には、以下の条件を検査する。
【００９１】
「条件」  
各色領域を線で結ぶ（Ｒ−Ｒ−Ｒ−，Ｇ−Ｇ−Ｇ−という具合に）。そして、できた３本の線の中から、任意の２本（ＲとＢ、ＢとＧ、ＧとＲ等）を選んだ時、その２本（２色）の交点が（０を含めて）偶数であること、
すなわち、交点が（０を含めて）偶数か／奇数かを検査するのである。
【００９２】
なお、「線」は、色領域の重心や中心を結ぶ。また、「線」は直線（線分）でも良いし、曲線でも良い。曲線の場合は、各色領域の中心等を結ぶ滑らかな曲線とすることが好ましい。例えば、スプライン曲線や、ベジェ曲線等を利用することが好適である。
【００９３】
本ステップでは、この条件に反するものを排除し、コードシンボルとしての候補を絞り込んでいく。すなわち、交点が奇数個存在する場合は、コードの候補から外すのである。
【００９４】
なお、本ステップｅにおける条件は、１．５Ｄカラービットコードの定義のうち「一列と見なせる色彩の異なる３本の線が平行にほぼ等間隔に列を構成する」に由来する。
【００９５】
これら規則（ａ）色領域の数及び（ｂ）１．５Ｄカラービットコードの配列規則及び（ｃ）色帯の平行配置に合致するか否かを検査することによって、コードの候補をより絞り込むことができる。
【００９６】
以上のような絞り込みの一連の処理によって、最終的に候補として残った結果を図５に示す。図５では、色領域群３０ａは、上記平行配置のチェックで候補から除外されている。色領域群３０ｃは、それを構成する色領域の数が条件を満たさないので、候補から外されている。色領域群３０ｄも、真ん中に白があるので、候補から外されている。また、色領域群３０ｅは、それを構成する色領域の数が多すぎるので、候補から外されている。規則色領域群３０ｆも、それを構成する色領域の数が条件を満たさないので、候補から外されている。
【００９７】
このようにして、最終的に色領域群３０ｂのみが残り、これを１．５Ｄカラービットコードであるとして認識を行う。
【００９８】
第３  認識処理
このような一連の処理によって、それぞれの色領域群の中から、１．５Ｄカラービットコードであると推定された色領域群をデコードし、元データを得る。このように、画像を撮影し、得られた画像データから、コードシンボルであると推定する色領域群を１個以上得、得た１個以上の色領域群に対して、デコード処理を実行し、原データを出力する。これら一連の処理を「認識処理」と呼ぶ。
【００９９】
デコードは、データを符号化する逆の演算であり、それぞれの符号規則に従って行われる。
【０１００】
第４  コンピュータとソフトウェア
これまで述べた一連の処理は、コンピュータに所定のプログラムを実行させることによって、実現される。その場合、そのコンピュータは、１．５Ｄカラービットコード切り出し装置を構成する。さらに、切り出した色領域群に対してデコード処理を行い、原データを出力すれば、それは１．５Ｄカラービットコード認識装置と呼べる装置となる。
【０１０１】
これらの装置は、ＣＣＤカメラ、ビデオカメラ等の撮像手段と、コンピュータ等から構成することが好ましい。上で述べた各処理・動作は、このコンピュータのプログラムによって実現することが好ましい。
【０１０２】
領域の配置の状態を調べること、拡大処理を行うこと、等、従来から知られている処理が多く、それらの動作をコンピュータ上で行うプログラムを作成することは当業者であれば容易である。
【０１０３】
このようなプログラムは、コンピュータ上のハードディスクなどの記憶手段に格納しておくことが好ましいが、ＣＤＲＯＭや、ＤＶＤＲＯＭ等の記憶媒体に格納しておくことも好ましい。また、このプログラムをサーバー上に格納しておき、クライアントコンピュータが適宜サーバーからそのプログラムを利用する形態を採用することも好適である。
【０１０４】
また、デコード処理は、従来のデコード処理をそのまま利用可能である。
【０１０５】
第５  変形例
以上、主として１．５Ｄカラービットコードを例にして説明したが、複数の色領域から構成される光学式認識コードであれば、本発明を適用できる場合がある。
【０１０６】
例えば、色彩の領域の配置によって、候補を作成することは、光学式認識コードに広く適用可能であると考えられる。また、領域を拡大することも、複数の色領域から構成される光学式認識コードであれば適用することができる場合もあると考えられる。
【図面の簡単な説明】
【０１０７】
【図１】色彩量子化後の原初色領域の様子を示す説明図である。
【図２】本実施の形態における色領域の様子を示す説明図である。
【図３】本実施の形態における色領域群の様子を示す説明図である。
【図４】１．５Ｄカラービットコードの様子を示す説明図である。
【図５】本実施の形態における最終的にコード候補を絞り込んだ様子を示す説明図である。
【符号の説明】
【０１０８】
１０  原初色領域
２０  色領域
３０  色領域群
【図１】
2009003721.tif 000003
【図２】
2009003721.tif 000004
【図３】
2009003721.tif 000005
【図４】
2009003721.tif 000006
【図５】
2009003721.tif 000007