色彩配列による自動認識コード及びそれが付された物品
【課題】色彩セルを配置して所定のデータを表す光学式自動認識コードにおいて、データの数値演算ではなく、色彩セルの配列に規則性を持たせ、その規則に則している否かにより、配列のエラーを検知する技術を提供する。
【解決手段】光学式自動認識コードを構成する色彩セルの個数に色彩毎に規則を設ける。この規則は、少なくとも1色以上の色彩について設定する。例えば、Rセルの個数について予め規定しておくという規則が好適である。また、色彩セルの個数をモジュラス式で規定する規則を設けても好ましい。色彩セルの個数にこのような規則を設けているので、データを数値演算する等の従来のエラー検知・訂正をする前、すなわち、データを復元する前に色彩の段階でエラーチェックができる。
【解決手段】光学式自動認識コードを構成する色彩セルの個数に色彩毎に規則を設ける。この規則は、少なくとも1色以上の色彩について設定する。例えば、Rセルの個数について予め規定しておくという規則が好適である。また、色彩セルの個数をモジュラス式で規定する規則を設けても好ましい。色彩セルの個数にこのような規則を設けているので、データを数値演算する等の従来のエラー検知・訂正をする前、すなわち、データを復元する前に色彩の段階でエラーチェックができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、色彩の遷移、並び、組み合せ等のみでデータを表す「色彩配列による自動認識コード」の誤読の防止技術に関する。また、このような色彩配列による自動認識コードを光学的に読み取り、デコードを行う技術に関連する。
【背景技術】
【0002】
色彩配列による自動認識コード
所定の色彩セルを複数個並べて、その色彩の並び、色彩の遷移、色彩の組み合せでデータを表現する色彩配列による自動認識コードは、その色彩の並び等のみでデータを表現しており、色彩セルの形状や大きさには依存しないものである。
【0003】
そのため、従来の光学式認識コードでは付すのが困難な物品でも付すことができ、情報量等も多い等の種々の好ましい特性を有する。従来の光学式認識コードとしては、いわゆるバーコード、QRコード(登録商標)などの2次元バーコードが良く知られているが、いずれも形状に規定があり、表面に凹凸があるものや、柔らかいものには直接印字することなどは困難であった。
【0004】
これに対して、色彩配列による自動認識コードは、形状等の制限が緩和されているので、表面に凹凸等がある物品でも直接印字等することができ、利便性が高い光学的認識コードであると考えて、本願発明者はこの色彩配列による自動認識コードについて種々の件か旧開発を行っている。
【0005】
さて、本願発明者は、この色彩配列による自動認識コードについて、長年、種々の技術を研究・開発し、独自の「色彩配列による自動認識コード」を種々発明している。本願発明者が独自に開発した色彩配列による自動認識コードの一つに、「1Dカラービットコード」と呼ぶコードがある。
【0006】
1Dカラービットコード
本願発明者は、先の特願2006−196548号(TCC−0004)において、色彩の遷移、変化によって情報を表す光学式認識コードを提案した。この光学式認識コードを「1Dカラービットコード」と呼ぶ。IDカラービットコードは、本願発明者が独自に開発した色彩配列による自動認識コードの好ましい一例である。
【0007】
この1Dカラービットコードによれば、各色彩セルの占める領域の大きさや形の制限が緩和されているので、タグ(コードシンボル)を自由な形状にすることが可能である。また、従来のバーコードでは不可能であった凹凸のある表面や、柔軟性のある素材上でもタグをマーキングすることが可能である。
【0008】
また、本願発明者は、先の特願2007−130504号(BCR−0006)において、当該1Dカラービットコードの認識方法について提案している。すなわち、1Dカラービットコードの認識は、一定領域の画像を読み込み、画像処理を行うことによって行う。このため、コードの位置や向きに関わらず認識することができる。
【0009】
また、1Dカラービットコードの端点に関する条件を設定し、セル数の異なる1Dカラービットコードが混在する場合でも正確に読み取ることができる技術を特願2007−163094(BCR−0009)で開示している。
【0010】
また、各セルが密着せずにある程度離間している離散型1Dカラービットコードについて、特願2007−292273(BCR−0014)にて開示している。
【0011】
尚、本願発明者は、独自に種々の色彩配列による自動認識コードを開発しているが、いずれも、寸法、形状に関係なく色彩によって構成されるセルの連なりのみでデータを担持するものである。このような色彩配列による自動認識コードの場合、形状が規定されていないため、セルの境界は、色彩が「異なる」「変化する」ことを手がかりとして検出することになる。従って、仮に同一の色彩のセルが隣接した場合は同一のセルと見なされる。
【0012】
言い換えれば、これは、隣接するセル同士は必ず異なった色彩となるという技術的特徴・規定を有していることになる。
【0013】
さて、本願発明者が開発したこのような寸法、形状に関係なく色彩によって構成されるセルの連なりのみでデータを担持するものを、あらためて「色彩配列による自動認識コード」と呼ぶことにする。1Dカラービットコードは、この色彩配列による自動認識コードの好適な一例となる。
【0014】
この色彩配列による自動認識コードは、撮像環境その他による祝した画像データ中の色彩のバラツキをある程度許容できるように、使用する色彩は3種類程度が一般的な用途では好ましい。例えば、「R(赤)、G(緑)、B(青)」や、「C(シアン)、M(マゼンタ)、Y(黄色)」等の3色の組が好適な一例である。
【0015】
誤読の要因
一方、何らかの外乱の影響等の理由で誤読が生じてしまうこともある。その誤読の原因を検討したところ、汚れも含めたセル色の誤認識(色彩の誤認識)が主原因であることが考えられる。また、色彩配列による自動認識コードにおいては、色彩の誤認識は見かけ上以下のような現象として表れる。
【0016】
a:コード(色彩列)を構成するセル数の減少
b:コード(色彩列)の分断、
c:セル数等が変化しない中で一部のセルの色彩が変化
のような3種の現象が考えられる。
【0017】
この中で、上記a,bに関しては構成セル数をカウントすることによって検出できる。しかし、セル数が変わらない場合(c)は何らかのチェックが必要である。
【0018】
通常、古典的な1次元バーコード(いわゆる白と黒のバーコード)などでは、デコードしたデータ値をモジュラス方式などでチェックするのが通常である。当然、「色彩配列による自動認識コード」において同様の技術の適用は可能であり実用性も高い。
【0019】
※用語について
符号(コード)を構成する要素をセルと呼んでいる。色彩配列による自動認識コードにおいては、構成する要素は、一定の色彩を有する色彩セルである。色彩セルは、実際には物品に直接印字される場合は、物品上の「所定の色彩が付された一定の領域」で実現されている。これを色彩領域と呼ぶ。
【0020】
物品に値札等のタグを介してコードを付与する場合は、そのタグ上の「一定の色彩を付した領域」である色彩領域が色彩セルとして機能する。また、色彩セルは、粘着シール上の一定の色彩領域で実現される場合もある。
【0021】
ある規定・規則によって定義された符号を用いて、あるデータを表した場合にその具体的な個別の色彩セルの固まりをコードシンボル、又は、単にシンボルと呼ぶ。
【0022】
「コード」という場合は、原則としては、「コード体系」を意味するが、1個1個のコードシンボルを総称して単に「コード」と呼ぶ場合もある。
【0023】
従来の先行特許技術
例えば、下記特許文献1には、バーコードのエラーを検出するために、マニュアルで入力されたデータと、スキャン結果を比較して、エラーを検出する技術が開示されている。
【0024】
また、下記特許文献2には、ネットワークで接続されたマルチエンティティ環境におけるバーコードのエラー検出技術が開示されている。ここに記載されている技術においては、各スキャンエンティティ毎に印刷欠陥モデルを構築し、このモデルが保存され、かつ、このモデルを利用してバーコードのエラー検出が行われる。
【0025】
【特許文献1】特開2001−175806号公報
【特許文献2】特開2001−390162号公報
【発明の開示】
【発明が解決しようとする課題】
【0026】
ところで、1次元バーコードと「色彩配列による自動認識コード」を今一度比べてみると、色彩配列による自動認識コードはセルの種類は3色(例えばR,G,B)であるのに対して、1次元バーコードは白、黒それぞれにたいして太バー、細バーがあり、少なくとも4種類の構成要素(エレメント)から構成されている。つまり、少なくとも4種の区別を付けることができるわけである。
【0027】
従って、従来の1次元バーコードでは規則性を持った複数の白黒バーのユニットで数字や文字を表す方式をとることができるため、その際の規則に当てはめて第一次のセルフチェックを行うことができる。つまり、この4種のエレメントの組み合せに一定の規則を設け、規則に合わない組み合せが生じた場合にエラーが生じたと見なすのである。
【0028】
これに対して、「色彩配列による自動認識コード」では、一般的には3色を用いており、隣接するセルの色彩をもとに数値を決めているので、データ効率の観点から、全ての配列をデータに対応付けてしまうことがほとんどである。従って、エラーとなる配列を規定することが事実上行われていなかった。
【0029】
本発明では、「色彩配列による自動認識コード」において、担持するデータを数値演算してエラー検出する以外に、色彩セルの配列に規則性を持たせ、その規則に則している否かにより、配列のエラーを検知する方式を新たに提案する。そして、実用上なるべく合理性のある手段でこのような方式を提供できることについて説明を行う。
【課題を解決するための手段】
【0030】
(1)本発明は、上記課題を解決するために、所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対して予め定められており、前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数を確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コードである。
【0031】
(2)本発明は、上記課題を解決するために、所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対してモジュラス式で予め定められており、前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数が前記モジュラス式を満たすか否か確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コードである。
【0032】
(3)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードにおいて、前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすように色彩が付された1個以上の冗長セルと、の2種類の色彩セルを含むことを特徴とする色彩配列による自動認識コードである。
【0033】
(4)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードにおいて、前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすような色彩セルの組み合せのコードシンボルのみを使用し、この使用する組み合せのコードシンボルに対して、それぞれ所定のデータが割り当てられていることを特徴とする色彩配列による自動認識コードである。
【0034】
(5)また、本発明は、上記(4)記載の色彩配列による自動認識コードにおいて、前記割り当てられるデータは、数字、英字、記号であることを特徴とする色彩配列による自動認識コードである。
【0035】
(6)また、本発明は、上記(4)記載の色彩配列による自動認識コードにおいて、色彩配列による自動認識コードの利用者が、前記使用する組み合せのコードシンボルに対して、前記規則と関連付けられたデータを割り当てることができることを特徴とする色彩配列による自動認識コードである。
【0036】
(7)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードを、複数個連結して構成した複合型の色彩配列による自動認識コードであって、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは単一のデータを表すことを特徴とする複合型の色彩配列による自動認識コードである。
【0037】
(8)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードが、接続用セルを介して互いに連結していることを特徴とする複合型の色彩配列による自動認識コードである。
【0038】
(9)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コードである。
【0039】
(10)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードに、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コードである。
【0040】
(11)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードのうち、少なくとも1個以上の小型の色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、他の小型の前記色彩配列による自動認識コードとは異なることを特徴とする複合型の色彩配列による自動認識コードである。
【0041】
(12)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、各小型の前記色彩配列による自動認識コード毎に異なることを特徴とする複合型の色彩配列による自動認識コードである。
【0042】
(13)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、それぞれの小型の色彩配列による自動認識コードが表すデータが、表したい原データと、誤り訂正のための訂正データと、から成ることを特徴とする複合型の色彩配列による自動認識コードである。
【0043】
(14)また、本発明は、上記(1)〜(13)のいずれか1項に記載の色彩配列による自動認識コードが付された物品である。
【発明の効果】
【0044】
以上述べたように、本発明によれば、色彩セルの個数に一定の規則を設けたので、チェックの行いやすい光学式自動認識コード及びそれを付した物品が得られる。つまり、データを数値演算する等の従来のエラー検知・訂正をする前、すなわち、データをデコードして復元する前に、色彩を検知する段階でエラーチェックができるので、複雑な演算を行わずにエラーチェックが可能である。
【発明を実施するための最良の形態】
【0045】
以下、本件発明の好適な実施の形態を図面に基づいて説明する。
【0046】
第1 冗長セルの追加による方法
最初に説明する方法は、冗長セルを追加して、奇偶判定方式、又は、モジュラスチェック方式を適用しようとするものである。
【0047】
上述したように、色彩配列は3色構成である限り、データとの関連付けは多くの種類のパターンを作成することは困難である。一方、色彩数を増やすと、得られるパターンは増えるが、撮像の際の光源、退色、カメラのカラーバランス等の影響をうけて色彩の誤認識を生じる恐れが格段に増加する。
【0048】
そこで、コードを構成する(各コードシンボルに含まれる)各色彩の数(その色彩のセルの個数)に着目し、これをチェック対象とする技術を説明する。又は、コード体系上チェック方の一つとして規則化する。
【0049】
例えば、R→G→B→R→方向の色彩の遷移で「0」を表し、R→B→G→R→方向の色彩の遷移で「1」を表すことにしたコード体系において、スタートをRとした場合のデータと色彩配列を考えてみる。
【0050】
この場合、0はR−G,1はR−Bで表されるが、仮に「100011」というデータを表そうとすると、得られるコードシンボルのセルの並びは、
「R−G−R−B−G−B−R」
となる。このコードシンボルから理解されるように、総セル数は7、そのうちRのセル数Cr=3,Gのセル数Cg=2,Bのセル数Cb=2である。
【0051】
例えば、セル数7は既知であるものとする。そして、Cr,Cgの奇偶判定を行ない(偶数:0奇数;1)色彩数のエラーを検知することができる。
【0052】
下に示す例では、適当な3セルをコードシンボルの末尾に追加することでCr,Cgが必ず偶数であるようにし、エラー発生時にはこれらが奇数となることでこれを検出しようとしたものである。
【0053】
例えば上記例「R−G−R−B−G−B−R」に、 B−R−Bを追加する、すなわち「R−G−R−B−G−B−R−B−R−B」とすることによって、Crパリティ、Cgパリティともに0(つまり偶数)とすることができる。
【0054】
全ての組み合せに対して、3セルを付加することによって、常に、Crパリティ、Cgパリティをともに0とすることができる。
【0055】
以下、Crパリティ、Cgパリティの組み合せの全てに対して、パリティを0にすることができる3セルの例を表にして示す。
【0056】
[表1]
Cr Cg 末尾の色彩 追加色彩
偶数 偶数 R G−B−G
偶数 偶数 G R−B−R
偶数 偶数 B R−B−R,G−B−G
奇数 奇数 R B−R−G,B−G−R,etc.
奇数 奇数 G B−R−G,B−G−R,etc.
奇数 奇数 B R−B−G,R−G−B,etc.
偶数 奇数 R B−G−B
偶数 奇数 G B−G−B
偶数 奇数 B R−G−R
奇数 偶数 R B−R−B
奇数 偶数 G B−R−B
奇数 偶数 B G−R−G
尚、この場合の総セル数は10であり、このセル数もチェックに利用することが可能である。
【0057】
Cr、Cgがともに偶数の場合は、GBG、RBR、のいずれかを加えれば良い。いずれとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0058】
Cr、Cgがともに奇数の場合は、R、G、Bがともに1個ずつ含まれる3個のセルの列を付加すれば良い。深さ列コードシンボルの末尾の色彩と異なる色彩から始まるようにすれば良い。
【0059】
Cr、Cgがそれぞれ偶数、奇数の場合は、BGB、RGRのいずれかを加えれば良い。いずれかとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0060】
Cr、Cgがそれぞれ奇数、偶数の場合は、BRB、GRGのいずれかを加えれば良い。いずれとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0061】
ところで本例は奇偶判定であり、数式的にはmod(2)に相当する。当然、冗長セル数を増加することでmod(3)(3で割ったときの余りをチェック)、mod(4),etc.,他の数のモジュラス判定も可能である。モジュラスの数値が大きくなると、それだけエラー検知の精度が向上する。
【0062】
尚、モジュラス判定は、モジュラス式を満たすか否かの判定であるが、これは「モジュロ(modulo)式」、「剰余」とも呼ばれる。これは一般に mod(n) の形で表される。この式の値による分類は、剰余類と呼ばれる場合もある。
【0063】
用語について
ここで、コードシンボルとは、複数の色彩セルからななる。色彩セルとは一定の色彩が付されたものであり、色彩セルを並べることによって、それぞれのコードシンボルが構成されている。コードシンボルとは、あるコード体系によって所定のデータを表すために構築された1個1個のシンボルを言う。
【0064】
コードとは、種々の意味がある。一般には、コードの生成規則や、デコードの規則、用いる色彩とその色彩の許容範囲となる色彩空間等からなる「コード体系」を意味するが、このコード体系に基づき構築された1個のシンボル(コードシンボル)も、便宜的に○○コードと呼ぶこともある。
【0065】
コードシンボルは、複数の色彩セルをコード規則に基づき並べて構成されるが、この色彩セルは、本実施の形態では、ある色彩が付された2次元の所定の領域を言う。
【0066】
より具体的には、色彩セルとは、本実施例においては、物品上の所定の色彩エリア(色彩領域)を言う。尚、コードシンボルを単にシンボルということもある。本実施例において、コードシンボルは色彩配列による自動認識コードとして機能し、数値などのデータを表す。
【0067】
冗長セルとデータセルについて
コードシンボルは、複数の色彩セルから構成されるが、データを表すための色彩セルをデータセルと呼び、色彩セルの個数を規則と合わせるために付加される冗長セルと区別している。すなわち、色彩セルは、
・データセル・・・データを表すための色彩の並び、色彩の組み合せ、色彩の遷移を表現するための色彩セル。
【0068】
・冗長セル ・・・色彩セルの個数の規則を満たさせるために付加される色彩セル。
【0069】
の2種類の色彩セルを含むものである。
【0070】
第2 色彩セル数完全合致方式
次に、色彩セル数の完全合致方式について説明する。これは、モジュラスチェックの特殊な条件に相当するが、所定の色彩のセルの数を規定の数になる様に規定するのである。例えばmod3で0になるように、Rセルの数Crを設定すること等が考えられる。このためには、上記第1で述べたような冗長セルを用いて、mod3が「0」となるように合わせこむことも好適である。
【0071】
しかし、モジュラスの計算を行わなくても、色彩数のカウントのみで可能である。さらに、エラー検知は、打ち消す方向のエラーが同時に生じない限り(例えば、R→G、G→Rのような変化)必ず検知できる。そのため、以下のような方式考えられる。
【0072】
2−1 ◆冗長セルを用いず規則に合致させる方式(合致しない配列を当初から除外)
つまり、冗長セルを用いずに、規則に合致するコード(色彩配列)のみを生成する(利用する)という方法が考えられる。例えば、Rのセル数が0、3、6の場合のみ正しいコードシンボルであると見なし、Rのセル数が1、2、4、5の場合(のコードシンボル)は最初から未使用とするのである。
【0073】
この方法で先に述べたように色彩セル数完全合致方式とモジュラス方式を検討する。
【0074】
2−2 *色彩セル数完全合致方式
前述したように、初めから色彩のセルの数を決めておき、規則に合わせるための冗長セルの付加を行わずに、初めからそのセルの数で取り得る色彩の配列に対してのみデータを割り付けて利用するという手法である。そのセルの数以外のコードシンボルは使用せず、もしそのようなコードシンボルが検知された場合は、エラーが生じたものと判断するのである。
【0075】
ここで、冗長セルを用いない色彩セル数完全合致方式を説明したが、同様に冗長セルを用いないでモジュラス方式で規則を設定することも可能であり好適である。色彩セル数合致方式と同様に、そのモジュラス方式に合致したコードシンボルのみにデータを割り当て、合致しないコードシンボルは初めから使用しないのである。効果としては同様の効果が得られる。
【0076】
[具体例1]
さて、ここでは冗長セル無し、色彩セル数完全一致方式の場合の具体的な例を説明する。
【0077】
図1には、セル数6,R,G,B各セル数が2、またスタートセル色がRの場合の全ての組み合せを示したものである。
【0078】
図1では、本表では、各組合せに0から9の数字を当てはめた例を示している。図1の例では、3色を用いた6セルであるので、全ての組み合せは96通りである。このうち、スタートセルがRのものは32通りあり、さらに、RGBが各2セルずつのものは、10通りある。それが図1に示されている。
【0079】
[具体例2]
また図2にはセル数9であり、R,G,Bそれぞれが3セル、スタートセルがRの例を示す。この場合組み合せ数は58通りであるので、数字の0〜9だけでなく、数字、アルファベット、その他の記号まで割り当てて利用している。
【0080】
この割り当ては、利用者が自由にカスタマイズし、設定することができる。特に、このように、セル数の規定に関連付けて割り当てが行われていることが好ましい。
【0081】
[具体例3]
一方、各色彩のセル数が同数でない場合の例を以下に示す。図3は総セル数7セル、R:3セル,G:2セル、B2セルであって、Rのセルから始まる場合の組み合せが示されている。この条件を満たすセルの組み合せは、図3に示すように、20通りである。
【0082】
[具体例4]
図4には、総セル数8セルであって、R:3セル,G:2セル、B3セルで、Rのセルから始まる場合の組み合せが示されている。
【0083】
[具体例5]
◆該当組み合せ数の計算、
ここで、さらにセル数を増やして、12セル、各色4セルの場合について検討し、その組み合せ数の計算の具体例を示そう。
【0084】
その計算の説明をするための組み合せ数のテーブルが図5、図6に示されている。組み合せ数が多いので、図5、図6では、Rセルの取り得る位置のみを示し、各右欄欄には、そのときに取り得る組み合せの数(その空きマスに入るGやBの取り得る組み合せの数)が示されている。
【0085】
つまり、図5、図6では、その空きマスの位置には、G、又は、Bが各4個配置されるわけである。
【0086】
偶数のマス目の空きスペース
連続する空きマスの連続数が偶数の時にはそのスペースに対して、GやBを配置する組み合せは明らかに2通りのみとなる。
【0087】
例えば、連続する空いているマス目の数が2の場合:「GB」と「BG」の2通りのみである。また例えば、連続する空いているマス目の数が4の場合:「GBGB」と「BGBG」との2通りのみである。
【0088】
このように、偶数スペースだけを考えると、偶数スペース数をnとするとトータルの組み合せ数は2のn乗となる。
【0089】
奇数のマス目の空きスペース
また、連続して空いているマス目の数が奇数の場合、そのスペースにおいて結果的にGかBが一つ余分になる。これは、RGB全て4個ずつであるとしているからである。
【0090】
例えば、連続して空いているマス目の数が1の場合:G、又はBがそのマスに入る。
【0091】
例えば、連続して空いているマス目の数が3の場合:GBG又はBGBがそのマスに入る。
【0092】
また例えば、連続して空いているマス目の数が5の場合:GBGBG又はBGBGBがそのマスに入る。
【0093】
従って組み合せは奇数のスペースに対する組み合せの数になる。つまり、空きのマス目が奇数個の場合は、そのマス目に入る組み合せは上述の通りそれぞれ2通りである。
【0094】
本具体例では、BとGが同数である。また奇数スペース以外は偶数スペースなのでそこにおいて配置されるGとBの数量は等しい。従って奇数スペースに配されるGとBの数量もまた等しくなるはずである。
【0095】
結論として、奇数スペースの半数が決まれば、残りの半数の組み合せも決定される。つまり、例えば、3個のマスのエリアが2エリア存在する場合は、一方のエリアが「GBG」に決まれば、他方のエリアは、「BGB」に決定する。これは、GとBとが同数であることから決定される。
【0096】
このように、マス目が奇数のエリアに着目した場合は、そのエリア数の半分のエリアに対する割り当ての組み合せ数を求めれば、それが奇数のマス目のエリア全体の組み合せ数となる。
【0097】
例えば、
・奇数スペースが2エリアある場合は、上述したとおり、半分の1エリアに対する割り当ての数を求めれば良いので、上述の通り2通りである
・奇数スペースが4エリアある場合は、4x3/(2x1)=6通り
・奇数スペースが6エリアの場合は、6x5x4/(3x2x1)=20通り
となる。
【0098】
図6においては、各Rの取り得る状態が、各行に表されている。各行毎に、すなわちRの取り得る配置状態毎に、そのスペース状況に対する割り当ての組み合せ数が、図6の右端欄に記されている。具体的には、偶数マスのスペースの数と、奇数マスのスペースの数と、による組み合せ数を乗じたものが各Rの取り得る状態(各行)に対する組み合せ数になり、右端欄に記されている。
【0099】
例えば、奇数スペースが4カ所あり、偶数スペースが1カ所の場合は、
6通り(奇数) × 2通り(偶数) = 12通り となる。
【0100】
また、偶数スペースが4カ所ある場合は、
2通り × 2通り × 2通り × 2通り = 16通り となる。
【0101】
さらにそれらを総計した数(表最下端)の1092が本条件におけるRGBが4セルづつの場合の組み合せの総数である。また、Rが先頭に立つ(表では左端に存在する)組み合せ数はその1/3の364個であることがわかる。
【0102】
本来、3色を用いて、12セルに割り当てた場合の色彩配列方式による全ての組み合せ数は、先端の色彩を固定した場合2^11=2048通りである。もちろん、隣接するセル同士は常に異なる色彩である。
【0103】
これに対して、本具体例では、上述したとおり364通りである。これはチェック用セルを3個追加した場合より符号の利用効率が良いことは容易に理解できよう。つまり、
364x(2^3)>2048である。従って、チェック方法として現実的な効率の良い方法であると考えられる。
【0104】
尚、ここでは、総セル数12で、RGBがそれぞれ4セルづつの場合を例にして説明したが、当然ながら、本具体例以外のセル数や各色彩セルの数の配分でも、同様に効率的なチェック方式を実現できると考えられる。
【0105】
また、さらに本具体例ではRセルが必ずスタート(左端)である例を示したが、必ずしもその必要がない場面も想定できる。その場合は上表の組み合せ数は3倍に増加するので、さらに利便性の高いチェック方式が実現できる。
【0106】
このようにこれまで述べた実施の形態では、複数の色彩セルをユニットとして捉えて、かつ、色彩セルの数に条件をつけることによってセル配列に所定の規則性を持たせることができた。そして、この規則性を確認することによってエラーチェックを行うことができる。すなわち、規則性が破壊されていた場合はエラーが生じたものとしてエラー検知が可能である。また、上で述べた例では、規則性を満たす組み合せに対して上図のようなデータとの対応を設定することによって、数字や文字を表素ことができることを示した。
【0107】
また、本実施の形態で説明する方式によれば、色彩の偏在が無くすことができる。従って、撮像時のホワイトバランスの偏りを減らすことができるという効果も期待できる。この効果を得るためには、上述した具体例で説明したように、RGB各色彩セルの個数を同数と規定することが好ましい。もちろん、それは使用する色彩に依存するので、使用する色彩の個数割合を適切に選択することによって、ホワイトバランスの偏りを減少させることが可能である。
【0108】
第2 奇偶判定方式、モジュラスチェック方式について
上で既に触れたことであるが、冗長セルを用いずにモジュラスチェック規則に合致するコード(色彩配列)を生成するという方法も考えられる。
【0109】
例えば、全セル数12セル、R≡3mod(5)、G≡2mod(5)とすると、これを満たすRセル、Gセルの個数は、
・Rセルの数 = 3,8,・・・
・Gのセル数 = 2,7、・・・
である。
【0110】
つまり、Rセルの数 = 4と固定するのではなく、いわゆる剰余類(モジュラス)を用いて、RセルGセルBセルの個数を定めたのである。
【0111】
このような規則を定めて、所定のセル数での色彩配列の組み合せを上述した例と同様に求めることができる。この場合は、各色彩のセル数の取り得る値が1通りではなく複数通り存在するので、個数を完全に固定した上記例と比べて、規則に則った組み合せ数が増加することが期待できる。
【0112】
また必ずしも、モジュラス方式でなくとも、単に「Rセルの個数は3個か4個」のように、各セルの取り得る個数が複数であるように、色彩数規則を定めることも好適である。この場合も、セル数が1通りに固定されている場合に比べて、(モジュラス方式と同様に)取り得る組み合せ数が増加することが期待できよう。
【0113】
第3 実用場面での発明の実施の具体例(「ユニット」による構成)
以上説明してきたように、本発明の考え方によれば、桁数の多いデータに対して、色彩の数に制限を設けてセルフチェックを行うことが可能な「色彩の列」を構成することができる。
【0114】
また、表1、図1に示したように比較的少数のセル数を「コードワード」として利用し、これを連ねることにより、直接、数字(の列)や文字(文章)等を表すこともできる。
【0115】
ここで、これら複数のコードワード等を構成する「ユニット」を連ねて一つのコードとする場合の「ユニット」間のつなぎについて考える。
【0116】
ユニットとは、内容的には上述した「比較的少数のセル数を連ねた」ものであり、上で言うコードワードである。ここでは、このコードワードを「ユニット」として利用してち長大なデータを表現する例を示す。
【0117】
尚、この長大なコードシンボルを、便宜上、複合型の色彩配列による自動認識コードと呼ぶことにする。これとの対比において、そこに含まれる「ユニット」を、小型の色彩配列による自動認識コードと呼ぶことにする。特に、請求の範囲において、そのように称している。
【0118】
まず、図7、図8、図9ではN個のユニットが一つのコード内に連なった状態が示されている。ここで、Nは自然数である。
【0119】
ここで各ユニットのセル数、色彩別セル数は既知であり、これを元にこれまで説明してきたセルフチェックができるものとする。ただし各ユニットを連結する場合、それぞれの始点、終点の色彩が異なっている必要がある。また、コード全体として始点終点が明確である必要がある。
【0120】
3−1 図7の例
図7は、各ユニットの始点が決まった色彩(本例ではR)であり終点が決まっていない場合の例が示されている。これまで説明してきた表1、図1〜図6も主としてRセルが始点である例が示されている。このとき、各ユニットの最後にRが表れると次のユニットの始点と重なってしまいセル数が変化する。そこで、予めそれを見込んで、始点から既知である各ユニットのセル数をカウントすることも考えられる。しかし、トータルセル数が一定である方がチェック上安定であるという考え方もあるので、いずれを採用すべきかはケースバイケースで判断すべきである。
【0121】
トータルのセル数が一定とした例では、その場合図7のように連結セルC1〜Cn−1を各ユニット間に挿入することが考えられる。本例のように始点がRの場合、そのコードワードの終端がGであるときは、連結セルはBとなる。隣接するセルは色彩が常に異なるからである。また、終端がBの場合は、連結セルはGとなる。さらに、終端セルがRの場合、連結セルとしてはG又はBが割り当てられる。同様に、隣接するセルの色彩を異ならせる必要があるからである。従って、終点の色彩がどのような色彩であっても、連結セルCを一つ設けることことによって、セル間の色彩条件(隣接するセルの色彩は常に異なっている)を満足させることができる。つまり、連結セルは1個で必要にして十分である。
【0122】
もちろん、この連結セルCを1個だけではなく、2個、3個・・・と加えて、冗長性をさらに増大させ、チェックセル、ユニット順、色彩セル数の指示などの機能を、この連結セルに追加することは可能である。
【0123】
もちろん、この部分に冗長性を持たせ、チェックセル、ユニット順、色彩セル数の指示などの機能を追加することは可能である。
【0124】
また「ユニット」を連結して構成したコードシンボル全体では始点終点を区別するために、終点セルを非Rにするために終端用のセルを追加している。
【0125】
この場合、単に非Rのセルとするのであれば、終端に追加するセルは1個で十分であり対応することが可能である。用途によっては、より終端を明示的に示す必要性があることもある。このような用途では、終端であることを明確にするために、GやBなどの決められた色彩を終端とする場合がある。この場合は、最大限、図7のように2セルの追加が必要である。図7のE1、E2セルがそれに相当する。
【0126】
一般に、色彩セルを列状(直線、曲線、折れ線等)に配列して成る色彩配列による自動認識コードでは、どちらが始点でどちらが終点であるのかを明示した方がデコードその他の処理の都合上好ましい場合が多い。そのような場合には、図7のように明示的に終端であることを表す方が好適である。
【0127】
3−2 図8の例
図8には、各ユニットの始点と終点がともにRセルの例が示されている。図8の例では、積極的に始点と終点セルを一体化して全体構造を簡素化している。つまり、隣接するユニットの始点と終点とを1個のRセルで共通化しているのである。
【0128】
3−3 図9の例
図9には、全てのユニットの終点始点の色彩を限定していない例が示されている。この場合、コードシンボル全体の始点と終点とを明確にするために、先端と終端に追加セルが必要となる。図9の例では、始点をS1とS2の2個のセルで表している。また、終端をE1、E2の2個のセルで表している。
【0129】
特に色彩を一つに限定する場合(R等)は2セルの追加が必要である。また非Rの色彩の様に2種に限定する場合(つまり、GかBとなる)は、最低1個のセルの追加が必要である。
【0130】
また図7の説明でも述べたが、各ユニット終端と始点が同一色彩でこれを重複使用しても各ユニットの区分けは判別できるが、総セル数の変化を伴わないようにするには各ユニット間に最低1個の連結セルCが必要である。
【0131】
また、各ユニット毎に始点又は終点を予め決められた色彩にするためには、図9のように最低2個の色彩セルCC‘を挿入する必要がある。図9では、C1、C’1等のように記されている。
【0132】
このように、各ユニット毎に始点又は終点を明示すれば、コード全体の始点、終点が何らかの原因で不明な場合でも、各ユニットの開始点と読みとり方向を推定することが容易となり、ひいてはコードシンボル全体の始点・終点の判別が容易となることが予想される。
【0133】
3−4 ユニット毎のチェック仕様の変更
上では、図7、図8、図9に基づき、ユニットを組み合せて大きなコードシンボルを構成する例を説明したが、もちろん、上記各ユニットのセル数、各色彩数(セルフチェック仕様)が予め定められており、これをもとにセルフチェックできることは、表1、図1〜図6記載のコードシンボルと何ら変わりはない。
【0134】
しかし、各ユニットのセルフチェック仕様を意図的に変えることによって、コードシンボルの全体が読み取れず、部分的・断片的に読めた場合でも、その読めた部分のユニットを認識することによって、部分的であってもデータを復元することができる可能性が高まる。
【0135】
つまり、各ユニット毎のセルフチェック仕様を種々の値に設定しておき、読み取れた部分のユニットのセルフチェック仕様から、それがどのユニットかを判別するわけである。
【0136】
このように、読み取れた部分のユニットのセルフチェック仕様を確認することで、コードの断片からでも、その断片に含まれるユニットナンバーとそれが表すデータを解読することができる確率が増すものと期待できる。
【0137】
このようにユニット毎にセルフチェック仕様を変化させる場合は、複数ユニットのセルフチェック仕様が規則性を持って変化するように定めることが好適である。このように定めておけば、読み取れた断片が、複数ユニットを含んでいる場合に、その複数ユニットのセルフチェック仕様が規則性を持つことを手がかりに、データをより正確に復元できる可能性が向上すると考えられる。
【0138】
さらに、セルフチェック仕様は、RGBセルの個数を予め決めておくことの他に、既に説明したように、モジュラス方式の仕様を採用することも好適である。この場合は、各ユニットの構成は当然データセル+冗長セルという構成を採用することになる。
【0139】
以下、ユニット毎に仕様を変えた例を示そう。
【0140】
例
ユニット1のセルフチェック仕様:セル数n、R数m、G数k
ユニット2のセルフチェック仕様:セル数n、R数m+1、G数k
ユニット3のセルフチェック仕様:セル数n、R数m、G数k+1
ユニット4のセルフチェック仕様:セル数n、R数m+1、G数k+1
ユニット5のセルフチェック仕様:セル数n、R数m、G数k−1
ユニット6のセルフチェック仕様:セル数n、R数m−1、G数k
ユニット7のセルフチェック仕様:セル数n、モジュラス仕様A(R≡2mod(3),G≡1mod(3))
ユニット8のセルフチェック仕様:セル数n、モジュラス仕様B(R≡0mod(3),G≡2mod(3))
etc...
色彩配列による自動認識コードにおいては、色彩セルの数はエラーが発生したか否かのチェック事項の一つであり、これが異なる仕様は読み取り動作等が煩雑となり、好ましくない場合もある。
【0141】
しかし、上記のように一定のルールで変化させれば、完全に別々のセルフチェック仕様を採用する場合に比べて、チェック作業は比較的容易であり複数のユニットの仕様をチェックすることで、エラーが起きているか否かを比較的容易に判別することができる。
【0142】
上の例では、各ユニットは、セル数が同一で、Rセルや、Gセルの個数の規定を変化させたが、その他セルフチェック仕様の種類を増やす目的で、スタートセルの色彩、エンドセルの色彩、連結セルの仕様(色彩、色彩配列)等を一定のルールで変化させることが好適である。
【0143】
3−5 ユニットの欠落を補正できるエラー訂正技術の採用
また、各ユニットはそれぞれ冗長性を持ちながら総合的に一つのデータを表し、いくつかのユニットの読み取りにおいてエラーが発生するか、又は、ユニットが消滅して読み取り自体が不可能な場合が生じたとしても、最終的なデータを再現できるようにエラー訂正構造を採用することも好適である。
【0144】
例えば、リードソロモン方式のように(例えば)バイト単位で訂正を行う方式が知られている。この方式を、本実施の形態のユニットに適用することが好適である。この場合、例えば、各ユニットの表すコードワードが「バイト」のデータを表し、全体としてリードソロモン符号を適用することが好適な一例となろう。
【0145】
3−6 ユニットのアドレス
また、各ユニットのアドレスは、コード内の並んだ順番そのものであることが妥当であり、逆に、その順番からアドレスを知ることができる。しかし、上記例のようにセルフチェック仕様を変化させた例では、その各ユニットのセルフチェック仕様をアドレスと対応させて、セルフチェック仕様がアドレスを表すように規定しておけば、コードが断片化して、その断片しか読み取れなかった場合でも、その断片に含まれるユニットのアドレスをセルフチェック仕様から知ることができ、原データの復号(デコード)が容易になることが期待される。
【0146】
例えば、総セル数が11セル、RGBのセル数がそれぞれ3,4,4の場合を検討する。この場合の上記図5、図6に相当する組み合せ数のテーブルが、図10に示されている。
【0147】
この場合、図10に示すように、利用できる組み合せは、総計477通りであり、1バイト=8bit=256より多い組み合せが得られる。そのため、1バイトのデータを余裕をもって表現でき、バイト構成のリードソロモン符号を適用することも容易である。
【0148】
ここで、同じ11セルでも、セルの個数の設定は種々の値を取ることができる。
【0149】
例えば、Rセル、Gセル、Bセルの個数を、それぞれ、
仕様1 (5,4,4)
仕様2 (4,5,4)
仕様3 (4,4,5)
のように種々設定することができる。ここでは、これらを便宜上、仕様1、仕様2、仕様3と呼ぶ。
【0150】
そして、4個のユニットを並べたコードシンボルを作成するとして、各ユニットが採用するセルフチェック仕様を、上記仕様1、仕様2、仕様3の中から選択する。具体的には、図11のように、仕様を割り当てるものとする。
【0151】
例えば、図11の第1行のコードは、各ユニットのセルフチェック仕様が、仕様1―仕様1―仕様2―仕様1となっていることを表している。各行とも同様である。
【0152】
この場合、4ユニットずつの9本のコードシンボルが作成できることを図11は表している。
【0153】
ここで、各行の各コードシンボルにおいては、4個のユニットのうち、1このユニットに読み取りエラーが生じて読み取り誤りがあったとしても、他の残りの3ユニットから誤りがあったことが推測することが可能である。
【0154】
また、各コードシンボル毎に全て図11に示すように、仕様の配列が異なるので、それぞれの「ユニット」が区別することができ、図11に示された都合36ユニットを区別できることになる。
【0155】
さらに、先に述べたように一つのユニットあたり、1バイトよりデータ数が多いので、総計36バイトのリードソロモン方式のデータを構成できることになる。
【0156】
第4 物品
以上、色彩セルの個数に所定の規則を設けた色彩配列による自動認識コードについて説明してきた。この光学式の色彩配列による自動認識コードを物品に付せば、エラーのチェックが容易に行え、エラーを容易に検出できるので、その物品に関する情報を読み間違えてしまう可能性をより一層低減することができる。
【図面の簡単な説明】
【0157】
【図1】セル数6,R,G,B各セル数が2、またスタートセル色がRの場合の全ての組み合せを示す説明図である。
【図2】セル数9であり、R,G,Bそれぞれが3セル、スタートセルがRの例を示す説明図である。
【図3】総セル数7セル、R:3セル,G:2セル、B2セルであって、Rのセルから始まる場合の組み合せを示す説明図である。
【図4】総セル数8セルであって、R:3セル,G:2セル、B3セルで、Rのセルから始まる場合の組み合せを示す説明図である。
【図5】総セル数12セル、各色4セルの場合についてその組み合せのテーブルを示す図である。
【図6】総セル数12セル、各色4セルの場合についてその組み合せのテーブルを示す図である。
【図7】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図8】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図9】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図10】総セル数が11セル、RGBのセル数がそれぞれ3,4,4の場合の組み合せ数のテーブルの図である。
【図11】4個のユニットを並べたコードシンボルを作成する場合に、各ユニットが採用するセルフチェック仕様を説明する説明図である。
【符号の説明】
【0158】
S1、S2 始点を表すセル
E1、E2 終点を表すセル
【技術分野】
【0001】
本発明は、色彩の遷移、並び、組み合せ等のみでデータを表す「色彩配列による自動認識コード」の誤読の防止技術に関する。また、このような色彩配列による自動認識コードを光学的に読み取り、デコードを行う技術に関連する。
【背景技術】
【0002】
色彩配列による自動認識コード
所定の色彩セルを複数個並べて、その色彩の並び、色彩の遷移、色彩の組み合せでデータを表現する色彩配列による自動認識コードは、その色彩の並び等のみでデータを表現しており、色彩セルの形状や大きさには依存しないものである。
【0003】
そのため、従来の光学式認識コードでは付すのが困難な物品でも付すことができ、情報量等も多い等の種々の好ましい特性を有する。従来の光学式認識コードとしては、いわゆるバーコード、QRコード(登録商標)などの2次元バーコードが良く知られているが、いずれも形状に規定があり、表面に凹凸があるものや、柔らかいものには直接印字することなどは困難であった。
【0004】
これに対して、色彩配列による自動認識コードは、形状等の制限が緩和されているので、表面に凹凸等がある物品でも直接印字等することができ、利便性が高い光学的認識コードであると考えて、本願発明者はこの色彩配列による自動認識コードについて種々の件か旧開発を行っている。
【0005】
さて、本願発明者は、この色彩配列による自動認識コードについて、長年、種々の技術を研究・開発し、独自の「色彩配列による自動認識コード」を種々発明している。本願発明者が独自に開発した色彩配列による自動認識コードの一つに、「1Dカラービットコード」と呼ぶコードがある。
【0006】
1Dカラービットコード
本願発明者は、先の特願2006−196548号(TCC−0004)において、色彩の遷移、変化によって情報を表す光学式認識コードを提案した。この光学式認識コードを「1Dカラービットコード」と呼ぶ。IDカラービットコードは、本願発明者が独自に開発した色彩配列による自動認識コードの好ましい一例である。
【0007】
この1Dカラービットコードによれば、各色彩セルの占める領域の大きさや形の制限が緩和されているので、タグ(コードシンボル)を自由な形状にすることが可能である。また、従来のバーコードでは不可能であった凹凸のある表面や、柔軟性のある素材上でもタグをマーキングすることが可能である。
【0008】
また、本願発明者は、先の特願2007−130504号(BCR−0006)において、当該1Dカラービットコードの認識方法について提案している。すなわち、1Dカラービットコードの認識は、一定領域の画像を読み込み、画像処理を行うことによって行う。このため、コードの位置や向きに関わらず認識することができる。
【0009】
また、1Dカラービットコードの端点に関する条件を設定し、セル数の異なる1Dカラービットコードが混在する場合でも正確に読み取ることができる技術を特願2007−163094(BCR−0009)で開示している。
【0010】
また、各セルが密着せずにある程度離間している離散型1Dカラービットコードについて、特願2007−292273(BCR−0014)にて開示している。
【0011】
尚、本願発明者は、独自に種々の色彩配列による自動認識コードを開発しているが、いずれも、寸法、形状に関係なく色彩によって構成されるセルの連なりのみでデータを担持するものである。このような色彩配列による自動認識コードの場合、形状が規定されていないため、セルの境界は、色彩が「異なる」「変化する」ことを手がかりとして検出することになる。従って、仮に同一の色彩のセルが隣接した場合は同一のセルと見なされる。
【0012】
言い換えれば、これは、隣接するセル同士は必ず異なった色彩となるという技術的特徴・規定を有していることになる。
【0013】
さて、本願発明者が開発したこのような寸法、形状に関係なく色彩によって構成されるセルの連なりのみでデータを担持するものを、あらためて「色彩配列による自動認識コード」と呼ぶことにする。1Dカラービットコードは、この色彩配列による自動認識コードの好適な一例となる。
【0014】
この色彩配列による自動認識コードは、撮像環境その他による祝した画像データ中の色彩のバラツキをある程度許容できるように、使用する色彩は3種類程度が一般的な用途では好ましい。例えば、「R(赤)、G(緑)、B(青)」や、「C(シアン)、M(マゼンタ)、Y(黄色)」等の3色の組が好適な一例である。
【0015】
誤読の要因
一方、何らかの外乱の影響等の理由で誤読が生じてしまうこともある。その誤読の原因を検討したところ、汚れも含めたセル色の誤認識(色彩の誤認識)が主原因であることが考えられる。また、色彩配列による自動認識コードにおいては、色彩の誤認識は見かけ上以下のような現象として表れる。
【0016】
a:コード(色彩列)を構成するセル数の減少
b:コード(色彩列)の分断、
c:セル数等が変化しない中で一部のセルの色彩が変化
のような3種の現象が考えられる。
【0017】
この中で、上記a,bに関しては構成セル数をカウントすることによって検出できる。しかし、セル数が変わらない場合(c)は何らかのチェックが必要である。
【0018】
通常、古典的な1次元バーコード(いわゆる白と黒のバーコード)などでは、デコードしたデータ値をモジュラス方式などでチェックするのが通常である。当然、「色彩配列による自動認識コード」において同様の技術の適用は可能であり実用性も高い。
【0019】
※用語について
符号(コード)を構成する要素をセルと呼んでいる。色彩配列による自動認識コードにおいては、構成する要素は、一定の色彩を有する色彩セルである。色彩セルは、実際には物品に直接印字される場合は、物品上の「所定の色彩が付された一定の領域」で実現されている。これを色彩領域と呼ぶ。
【0020】
物品に値札等のタグを介してコードを付与する場合は、そのタグ上の「一定の色彩を付した領域」である色彩領域が色彩セルとして機能する。また、色彩セルは、粘着シール上の一定の色彩領域で実現される場合もある。
【0021】
ある規定・規則によって定義された符号を用いて、あるデータを表した場合にその具体的な個別の色彩セルの固まりをコードシンボル、又は、単にシンボルと呼ぶ。
【0022】
「コード」という場合は、原則としては、「コード体系」を意味するが、1個1個のコードシンボルを総称して単に「コード」と呼ぶ場合もある。
【0023】
従来の先行特許技術
例えば、下記特許文献1には、バーコードのエラーを検出するために、マニュアルで入力されたデータと、スキャン結果を比較して、エラーを検出する技術が開示されている。
【0024】
また、下記特許文献2には、ネットワークで接続されたマルチエンティティ環境におけるバーコードのエラー検出技術が開示されている。ここに記載されている技術においては、各スキャンエンティティ毎に印刷欠陥モデルを構築し、このモデルが保存され、かつ、このモデルを利用してバーコードのエラー検出が行われる。
【0025】
【特許文献1】特開2001−175806号公報
【特許文献2】特開2001−390162号公報
【発明の開示】
【発明が解決しようとする課題】
【0026】
ところで、1次元バーコードと「色彩配列による自動認識コード」を今一度比べてみると、色彩配列による自動認識コードはセルの種類は3色(例えばR,G,B)であるのに対して、1次元バーコードは白、黒それぞれにたいして太バー、細バーがあり、少なくとも4種類の構成要素(エレメント)から構成されている。つまり、少なくとも4種の区別を付けることができるわけである。
【0027】
従って、従来の1次元バーコードでは規則性を持った複数の白黒バーのユニットで数字や文字を表す方式をとることができるため、その際の規則に当てはめて第一次のセルフチェックを行うことができる。つまり、この4種のエレメントの組み合せに一定の規則を設け、規則に合わない組み合せが生じた場合にエラーが生じたと見なすのである。
【0028】
これに対して、「色彩配列による自動認識コード」では、一般的には3色を用いており、隣接するセルの色彩をもとに数値を決めているので、データ効率の観点から、全ての配列をデータに対応付けてしまうことがほとんどである。従って、エラーとなる配列を規定することが事実上行われていなかった。
【0029】
本発明では、「色彩配列による自動認識コード」において、担持するデータを数値演算してエラー検出する以外に、色彩セルの配列に規則性を持たせ、その規則に則している否かにより、配列のエラーを検知する方式を新たに提案する。そして、実用上なるべく合理性のある手段でこのような方式を提供できることについて説明を行う。
【課題を解決するための手段】
【0030】
(1)本発明は、上記課題を解決するために、所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対して予め定められており、前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数を確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コードである。
【0031】
(2)本発明は、上記課題を解決するために、所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対してモジュラス式で予め定められており、前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数が前記モジュラス式を満たすか否か確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コードである。
【0032】
(3)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードにおいて、前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすように色彩が付された1個以上の冗長セルと、の2種類の色彩セルを含むことを特徴とする色彩配列による自動認識コードである。
【0033】
(4)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードにおいて、前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすような色彩セルの組み合せのコードシンボルのみを使用し、この使用する組み合せのコードシンボルに対して、それぞれ所定のデータが割り当てられていることを特徴とする色彩配列による自動認識コードである。
【0034】
(5)また、本発明は、上記(4)記載の色彩配列による自動認識コードにおいて、前記割り当てられるデータは、数字、英字、記号であることを特徴とする色彩配列による自動認識コードである。
【0035】
(6)また、本発明は、上記(4)記載の色彩配列による自動認識コードにおいて、色彩配列による自動認識コードの利用者が、前記使用する組み合せのコードシンボルに対して、前記規則と関連付けられたデータを割り当てることができることを特徴とする色彩配列による自動認識コードである。
【0036】
(7)また、本発明は、上記(1)又は(2)記載の色彩配列による自動認識コードを、複数個連結して構成した複合型の色彩配列による自動認識コードであって、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは単一のデータを表すことを特徴とする複合型の色彩配列による自動認識コードである。
【0037】
(8)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードが、接続用セルを介して互いに連結していることを特徴とする複合型の色彩配列による自動認識コードである。
【0038】
(9)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コードである。
【0039】
(10)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードに、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コードである。
【0040】
(11)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードのうち、少なくとも1個以上の小型の色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、他の小型の前記色彩配列による自動認識コードとは異なることを特徴とする複合型の色彩配列による自動認識コードである。
【0041】
(12)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、各小型の前記色彩配列による自動認識コード毎に異なることを特徴とする複合型の色彩配列による自動認識コードである。
【0042】
(13)また、本発明は、上記(7)記載の複合型の色彩配列による自動認識コードにおいて、前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、それぞれの小型の色彩配列による自動認識コードが表すデータが、表したい原データと、誤り訂正のための訂正データと、から成ることを特徴とする複合型の色彩配列による自動認識コードである。
【0043】
(14)また、本発明は、上記(1)〜(13)のいずれか1項に記載の色彩配列による自動認識コードが付された物品である。
【発明の効果】
【0044】
以上述べたように、本発明によれば、色彩セルの個数に一定の規則を設けたので、チェックの行いやすい光学式自動認識コード及びそれを付した物品が得られる。つまり、データを数値演算する等の従来のエラー検知・訂正をする前、すなわち、データをデコードして復元する前に、色彩を検知する段階でエラーチェックができるので、複雑な演算を行わずにエラーチェックが可能である。
【発明を実施するための最良の形態】
【0045】
以下、本件発明の好適な実施の形態を図面に基づいて説明する。
【0046】
第1 冗長セルの追加による方法
最初に説明する方法は、冗長セルを追加して、奇偶判定方式、又は、モジュラスチェック方式を適用しようとするものである。
【0047】
上述したように、色彩配列は3色構成である限り、データとの関連付けは多くの種類のパターンを作成することは困難である。一方、色彩数を増やすと、得られるパターンは増えるが、撮像の際の光源、退色、カメラのカラーバランス等の影響をうけて色彩の誤認識を生じる恐れが格段に増加する。
【0048】
そこで、コードを構成する(各コードシンボルに含まれる)各色彩の数(その色彩のセルの個数)に着目し、これをチェック対象とする技術を説明する。又は、コード体系上チェック方の一つとして規則化する。
【0049】
例えば、R→G→B→R→方向の色彩の遷移で「0」を表し、R→B→G→R→方向の色彩の遷移で「1」を表すことにしたコード体系において、スタートをRとした場合のデータと色彩配列を考えてみる。
【0050】
この場合、0はR−G,1はR−Bで表されるが、仮に「100011」というデータを表そうとすると、得られるコードシンボルのセルの並びは、
「R−G−R−B−G−B−R」
となる。このコードシンボルから理解されるように、総セル数は7、そのうちRのセル数Cr=3,Gのセル数Cg=2,Bのセル数Cb=2である。
【0051】
例えば、セル数7は既知であるものとする。そして、Cr,Cgの奇偶判定を行ない(偶数:0奇数;1)色彩数のエラーを検知することができる。
【0052】
下に示す例では、適当な3セルをコードシンボルの末尾に追加することでCr,Cgが必ず偶数であるようにし、エラー発生時にはこれらが奇数となることでこれを検出しようとしたものである。
【0053】
例えば上記例「R−G−R−B−G−B−R」に、 B−R−Bを追加する、すなわち「R−G−R−B−G−B−R−B−R−B」とすることによって、Crパリティ、Cgパリティともに0(つまり偶数)とすることができる。
【0054】
全ての組み合せに対して、3セルを付加することによって、常に、Crパリティ、Cgパリティをともに0とすることができる。
【0055】
以下、Crパリティ、Cgパリティの組み合せの全てに対して、パリティを0にすることができる3セルの例を表にして示す。
【0056】
[表1]
Cr Cg 末尾の色彩 追加色彩
偶数 偶数 R G−B−G
偶数 偶数 G R−B−R
偶数 偶数 B R−B−R,G−B−G
奇数 奇数 R B−R−G,B−G−R,etc.
奇数 奇数 G B−R−G,B−G−R,etc.
奇数 奇数 B R−B−G,R−G−B,etc.
偶数 奇数 R B−G−B
偶数 奇数 G B−G−B
偶数 奇数 B R−G−R
奇数 偶数 R B−R−B
奇数 偶数 G B−R−B
奇数 偶数 B G−R−G
尚、この場合の総セル数は10であり、このセル数もチェックに利用することが可能である。
【0057】
Cr、Cgがともに偶数の場合は、GBG、RBR、のいずれかを加えれば良い。いずれとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0058】
Cr、Cgがともに奇数の場合は、R、G、Bがともに1個ずつ含まれる3個のセルの列を付加すれば良い。深さ列コードシンボルの末尾の色彩と異なる色彩から始まるようにすれば良い。
【0059】
Cr、Cgがそれぞれ偶数、奇数の場合は、BGB、RGRのいずれかを加えれば良い。いずれかとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0060】
Cr、Cgがそれぞれ奇数、偶数の場合は、BRB、GRGのいずれかを加えれば良い。いずれとするかは、付加されるコードシンボルの末尾のセルの色彩に依存し、末尾の色彩と異なる色彩から始まる3個のセルを選択すれば良い。
【0061】
ところで本例は奇偶判定であり、数式的にはmod(2)に相当する。当然、冗長セル数を増加することでmod(3)(3で割ったときの余りをチェック)、mod(4),etc.,他の数のモジュラス判定も可能である。モジュラスの数値が大きくなると、それだけエラー検知の精度が向上する。
【0062】
尚、モジュラス判定は、モジュラス式を満たすか否かの判定であるが、これは「モジュロ(modulo)式」、「剰余」とも呼ばれる。これは一般に mod(n) の形で表される。この式の値による分類は、剰余類と呼ばれる場合もある。
【0063】
用語について
ここで、コードシンボルとは、複数の色彩セルからななる。色彩セルとは一定の色彩が付されたものであり、色彩セルを並べることによって、それぞれのコードシンボルが構成されている。コードシンボルとは、あるコード体系によって所定のデータを表すために構築された1個1個のシンボルを言う。
【0064】
コードとは、種々の意味がある。一般には、コードの生成規則や、デコードの規則、用いる色彩とその色彩の許容範囲となる色彩空間等からなる「コード体系」を意味するが、このコード体系に基づき構築された1個のシンボル(コードシンボル)も、便宜的に○○コードと呼ぶこともある。
【0065】
コードシンボルは、複数の色彩セルをコード規則に基づき並べて構成されるが、この色彩セルは、本実施の形態では、ある色彩が付された2次元の所定の領域を言う。
【0066】
より具体的には、色彩セルとは、本実施例においては、物品上の所定の色彩エリア(色彩領域)を言う。尚、コードシンボルを単にシンボルということもある。本実施例において、コードシンボルは色彩配列による自動認識コードとして機能し、数値などのデータを表す。
【0067】
冗長セルとデータセルについて
コードシンボルは、複数の色彩セルから構成されるが、データを表すための色彩セルをデータセルと呼び、色彩セルの個数を規則と合わせるために付加される冗長セルと区別している。すなわち、色彩セルは、
・データセル・・・データを表すための色彩の並び、色彩の組み合せ、色彩の遷移を表現するための色彩セル。
【0068】
・冗長セル ・・・色彩セルの個数の規則を満たさせるために付加される色彩セル。
【0069】
の2種類の色彩セルを含むものである。
【0070】
第2 色彩セル数完全合致方式
次に、色彩セル数の完全合致方式について説明する。これは、モジュラスチェックの特殊な条件に相当するが、所定の色彩のセルの数を規定の数になる様に規定するのである。例えばmod3で0になるように、Rセルの数Crを設定すること等が考えられる。このためには、上記第1で述べたような冗長セルを用いて、mod3が「0」となるように合わせこむことも好適である。
【0071】
しかし、モジュラスの計算を行わなくても、色彩数のカウントのみで可能である。さらに、エラー検知は、打ち消す方向のエラーが同時に生じない限り(例えば、R→G、G→Rのような変化)必ず検知できる。そのため、以下のような方式考えられる。
【0072】
2−1 ◆冗長セルを用いず規則に合致させる方式(合致しない配列を当初から除外)
つまり、冗長セルを用いずに、規則に合致するコード(色彩配列)のみを生成する(利用する)という方法が考えられる。例えば、Rのセル数が0、3、6の場合のみ正しいコードシンボルであると見なし、Rのセル数が1、2、4、5の場合(のコードシンボル)は最初から未使用とするのである。
【0073】
この方法で先に述べたように色彩セル数完全合致方式とモジュラス方式を検討する。
【0074】
2−2 *色彩セル数完全合致方式
前述したように、初めから色彩のセルの数を決めておき、規則に合わせるための冗長セルの付加を行わずに、初めからそのセルの数で取り得る色彩の配列に対してのみデータを割り付けて利用するという手法である。そのセルの数以外のコードシンボルは使用せず、もしそのようなコードシンボルが検知された場合は、エラーが生じたものと判断するのである。
【0075】
ここで、冗長セルを用いない色彩セル数完全合致方式を説明したが、同様に冗長セルを用いないでモジュラス方式で規則を設定することも可能であり好適である。色彩セル数合致方式と同様に、そのモジュラス方式に合致したコードシンボルのみにデータを割り当て、合致しないコードシンボルは初めから使用しないのである。効果としては同様の効果が得られる。
【0076】
[具体例1]
さて、ここでは冗長セル無し、色彩セル数完全一致方式の場合の具体的な例を説明する。
【0077】
図1には、セル数6,R,G,B各セル数が2、またスタートセル色がRの場合の全ての組み合せを示したものである。
【0078】
図1では、本表では、各組合せに0から9の数字を当てはめた例を示している。図1の例では、3色を用いた6セルであるので、全ての組み合せは96通りである。このうち、スタートセルがRのものは32通りあり、さらに、RGBが各2セルずつのものは、10通りある。それが図1に示されている。
【0079】
[具体例2]
また図2にはセル数9であり、R,G,Bそれぞれが3セル、スタートセルがRの例を示す。この場合組み合せ数は58通りであるので、数字の0〜9だけでなく、数字、アルファベット、その他の記号まで割り当てて利用している。
【0080】
この割り当ては、利用者が自由にカスタマイズし、設定することができる。特に、このように、セル数の規定に関連付けて割り当てが行われていることが好ましい。
【0081】
[具体例3]
一方、各色彩のセル数が同数でない場合の例を以下に示す。図3は総セル数7セル、R:3セル,G:2セル、B2セルであって、Rのセルから始まる場合の組み合せが示されている。この条件を満たすセルの組み合せは、図3に示すように、20通りである。
【0082】
[具体例4]
図4には、総セル数8セルであって、R:3セル,G:2セル、B3セルで、Rのセルから始まる場合の組み合せが示されている。
【0083】
[具体例5]
◆該当組み合せ数の計算、
ここで、さらにセル数を増やして、12セル、各色4セルの場合について検討し、その組み合せ数の計算の具体例を示そう。
【0084】
その計算の説明をするための組み合せ数のテーブルが図5、図6に示されている。組み合せ数が多いので、図5、図6では、Rセルの取り得る位置のみを示し、各右欄欄には、そのときに取り得る組み合せの数(その空きマスに入るGやBの取り得る組み合せの数)が示されている。
【0085】
つまり、図5、図6では、その空きマスの位置には、G、又は、Bが各4個配置されるわけである。
【0086】
偶数のマス目の空きスペース
連続する空きマスの連続数が偶数の時にはそのスペースに対して、GやBを配置する組み合せは明らかに2通りのみとなる。
【0087】
例えば、連続する空いているマス目の数が2の場合:「GB」と「BG」の2通りのみである。また例えば、連続する空いているマス目の数が4の場合:「GBGB」と「BGBG」との2通りのみである。
【0088】
このように、偶数スペースだけを考えると、偶数スペース数をnとするとトータルの組み合せ数は2のn乗となる。
【0089】
奇数のマス目の空きスペース
また、連続して空いているマス目の数が奇数の場合、そのスペースにおいて結果的にGかBが一つ余分になる。これは、RGB全て4個ずつであるとしているからである。
【0090】
例えば、連続して空いているマス目の数が1の場合:G、又はBがそのマスに入る。
【0091】
例えば、連続して空いているマス目の数が3の場合:GBG又はBGBがそのマスに入る。
【0092】
また例えば、連続して空いているマス目の数が5の場合:GBGBG又はBGBGBがそのマスに入る。
【0093】
従って組み合せは奇数のスペースに対する組み合せの数になる。つまり、空きのマス目が奇数個の場合は、そのマス目に入る組み合せは上述の通りそれぞれ2通りである。
【0094】
本具体例では、BとGが同数である。また奇数スペース以外は偶数スペースなのでそこにおいて配置されるGとBの数量は等しい。従って奇数スペースに配されるGとBの数量もまた等しくなるはずである。
【0095】
結論として、奇数スペースの半数が決まれば、残りの半数の組み合せも決定される。つまり、例えば、3個のマスのエリアが2エリア存在する場合は、一方のエリアが「GBG」に決まれば、他方のエリアは、「BGB」に決定する。これは、GとBとが同数であることから決定される。
【0096】
このように、マス目が奇数のエリアに着目した場合は、そのエリア数の半分のエリアに対する割り当ての組み合せ数を求めれば、それが奇数のマス目のエリア全体の組み合せ数となる。
【0097】
例えば、
・奇数スペースが2エリアある場合は、上述したとおり、半分の1エリアに対する割り当ての数を求めれば良いので、上述の通り2通りである
・奇数スペースが4エリアある場合は、4x3/(2x1)=6通り
・奇数スペースが6エリアの場合は、6x5x4/(3x2x1)=20通り
となる。
【0098】
図6においては、各Rの取り得る状態が、各行に表されている。各行毎に、すなわちRの取り得る配置状態毎に、そのスペース状況に対する割り当ての組み合せ数が、図6の右端欄に記されている。具体的には、偶数マスのスペースの数と、奇数マスのスペースの数と、による組み合せ数を乗じたものが各Rの取り得る状態(各行)に対する組み合せ数になり、右端欄に記されている。
【0099】
例えば、奇数スペースが4カ所あり、偶数スペースが1カ所の場合は、
6通り(奇数) × 2通り(偶数) = 12通り となる。
【0100】
また、偶数スペースが4カ所ある場合は、
2通り × 2通り × 2通り × 2通り = 16通り となる。
【0101】
さらにそれらを総計した数(表最下端)の1092が本条件におけるRGBが4セルづつの場合の組み合せの総数である。また、Rが先頭に立つ(表では左端に存在する)組み合せ数はその1/3の364個であることがわかる。
【0102】
本来、3色を用いて、12セルに割り当てた場合の色彩配列方式による全ての組み合せ数は、先端の色彩を固定した場合2^11=2048通りである。もちろん、隣接するセル同士は常に異なる色彩である。
【0103】
これに対して、本具体例では、上述したとおり364通りである。これはチェック用セルを3個追加した場合より符号の利用効率が良いことは容易に理解できよう。つまり、
364x(2^3)>2048である。従って、チェック方法として現実的な効率の良い方法であると考えられる。
【0104】
尚、ここでは、総セル数12で、RGBがそれぞれ4セルづつの場合を例にして説明したが、当然ながら、本具体例以外のセル数や各色彩セルの数の配分でも、同様に効率的なチェック方式を実現できると考えられる。
【0105】
また、さらに本具体例ではRセルが必ずスタート(左端)である例を示したが、必ずしもその必要がない場面も想定できる。その場合は上表の組み合せ数は3倍に増加するので、さらに利便性の高いチェック方式が実現できる。
【0106】
このようにこれまで述べた実施の形態では、複数の色彩セルをユニットとして捉えて、かつ、色彩セルの数に条件をつけることによってセル配列に所定の規則性を持たせることができた。そして、この規則性を確認することによってエラーチェックを行うことができる。すなわち、規則性が破壊されていた場合はエラーが生じたものとしてエラー検知が可能である。また、上で述べた例では、規則性を満たす組み合せに対して上図のようなデータとの対応を設定することによって、数字や文字を表素ことができることを示した。
【0107】
また、本実施の形態で説明する方式によれば、色彩の偏在が無くすことができる。従って、撮像時のホワイトバランスの偏りを減らすことができるという効果も期待できる。この効果を得るためには、上述した具体例で説明したように、RGB各色彩セルの個数を同数と規定することが好ましい。もちろん、それは使用する色彩に依存するので、使用する色彩の個数割合を適切に選択することによって、ホワイトバランスの偏りを減少させることが可能である。
【0108】
第2 奇偶判定方式、モジュラスチェック方式について
上で既に触れたことであるが、冗長セルを用いずにモジュラスチェック規則に合致するコード(色彩配列)を生成するという方法も考えられる。
【0109】
例えば、全セル数12セル、R≡3mod(5)、G≡2mod(5)とすると、これを満たすRセル、Gセルの個数は、
・Rセルの数 = 3,8,・・・
・Gのセル数 = 2,7、・・・
である。
【0110】
つまり、Rセルの数 = 4と固定するのではなく、いわゆる剰余類(モジュラス)を用いて、RセルGセルBセルの個数を定めたのである。
【0111】
このような規則を定めて、所定のセル数での色彩配列の組み合せを上述した例と同様に求めることができる。この場合は、各色彩のセル数の取り得る値が1通りではなく複数通り存在するので、個数を完全に固定した上記例と比べて、規則に則った組み合せ数が増加することが期待できる。
【0112】
また必ずしも、モジュラス方式でなくとも、単に「Rセルの個数は3個か4個」のように、各セルの取り得る個数が複数であるように、色彩数規則を定めることも好適である。この場合も、セル数が1通りに固定されている場合に比べて、(モジュラス方式と同様に)取り得る組み合せ数が増加することが期待できよう。
【0113】
第3 実用場面での発明の実施の具体例(「ユニット」による構成)
以上説明してきたように、本発明の考え方によれば、桁数の多いデータに対して、色彩の数に制限を設けてセルフチェックを行うことが可能な「色彩の列」を構成することができる。
【0114】
また、表1、図1に示したように比較的少数のセル数を「コードワード」として利用し、これを連ねることにより、直接、数字(の列)や文字(文章)等を表すこともできる。
【0115】
ここで、これら複数のコードワード等を構成する「ユニット」を連ねて一つのコードとする場合の「ユニット」間のつなぎについて考える。
【0116】
ユニットとは、内容的には上述した「比較的少数のセル数を連ねた」ものであり、上で言うコードワードである。ここでは、このコードワードを「ユニット」として利用してち長大なデータを表現する例を示す。
【0117】
尚、この長大なコードシンボルを、便宜上、複合型の色彩配列による自動認識コードと呼ぶことにする。これとの対比において、そこに含まれる「ユニット」を、小型の色彩配列による自動認識コードと呼ぶことにする。特に、請求の範囲において、そのように称している。
【0118】
まず、図7、図8、図9ではN個のユニットが一つのコード内に連なった状態が示されている。ここで、Nは自然数である。
【0119】
ここで各ユニットのセル数、色彩別セル数は既知であり、これを元にこれまで説明してきたセルフチェックができるものとする。ただし各ユニットを連結する場合、それぞれの始点、終点の色彩が異なっている必要がある。また、コード全体として始点終点が明確である必要がある。
【0120】
3−1 図7の例
図7は、各ユニットの始点が決まった色彩(本例ではR)であり終点が決まっていない場合の例が示されている。これまで説明してきた表1、図1〜図6も主としてRセルが始点である例が示されている。このとき、各ユニットの最後にRが表れると次のユニットの始点と重なってしまいセル数が変化する。そこで、予めそれを見込んで、始点から既知である各ユニットのセル数をカウントすることも考えられる。しかし、トータルセル数が一定である方がチェック上安定であるという考え方もあるので、いずれを採用すべきかはケースバイケースで判断すべきである。
【0121】
トータルのセル数が一定とした例では、その場合図7のように連結セルC1〜Cn−1を各ユニット間に挿入することが考えられる。本例のように始点がRの場合、そのコードワードの終端がGであるときは、連結セルはBとなる。隣接するセルは色彩が常に異なるからである。また、終端がBの場合は、連結セルはGとなる。さらに、終端セルがRの場合、連結セルとしてはG又はBが割り当てられる。同様に、隣接するセルの色彩を異ならせる必要があるからである。従って、終点の色彩がどのような色彩であっても、連結セルCを一つ設けることことによって、セル間の色彩条件(隣接するセルの色彩は常に異なっている)を満足させることができる。つまり、連結セルは1個で必要にして十分である。
【0122】
もちろん、この連結セルCを1個だけではなく、2個、3個・・・と加えて、冗長性をさらに増大させ、チェックセル、ユニット順、色彩セル数の指示などの機能を、この連結セルに追加することは可能である。
【0123】
もちろん、この部分に冗長性を持たせ、チェックセル、ユニット順、色彩セル数の指示などの機能を追加することは可能である。
【0124】
また「ユニット」を連結して構成したコードシンボル全体では始点終点を区別するために、終点セルを非Rにするために終端用のセルを追加している。
【0125】
この場合、単に非Rのセルとするのであれば、終端に追加するセルは1個で十分であり対応することが可能である。用途によっては、より終端を明示的に示す必要性があることもある。このような用途では、終端であることを明確にするために、GやBなどの決められた色彩を終端とする場合がある。この場合は、最大限、図7のように2セルの追加が必要である。図7のE1、E2セルがそれに相当する。
【0126】
一般に、色彩セルを列状(直線、曲線、折れ線等)に配列して成る色彩配列による自動認識コードでは、どちらが始点でどちらが終点であるのかを明示した方がデコードその他の処理の都合上好ましい場合が多い。そのような場合には、図7のように明示的に終端であることを表す方が好適である。
【0127】
3−2 図8の例
図8には、各ユニットの始点と終点がともにRセルの例が示されている。図8の例では、積極的に始点と終点セルを一体化して全体構造を簡素化している。つまり、隣接するユニットの始点と終点とを1個のRセルで共通化しているのである。
【0128】
3−3 図9の例
図9には、全てのユニットの終点始点の色彩を限定していない例が示されている。この場合、コードシンボル全体の始点と終点とを明確にするために、先端と終端に追加セルが必要となる。図9の例では、始点をS1とS2の2個のセルで表している。また、終端をE1、E2の2個のセルで表している。
【0129】
特に色彩を一つに限定する場合(R等)は2セルの追加が必要である。また非Rの色彩の様に2種に限定する場合(つまり、GかBとなる)は、最低1個のセルの追加が必要である。
【0130】
また図7の説明でも述べたが、各ユニット終端と始点が同一色彩でこれを重複使用しても各ユニットの区分けは判別できるが、総セル数の変化を伴わないようにするには各ユニット間に最低1個の連結セルCが必要である。
【0131】
また、各ユニット毎に始点又は終点を予め決められた色彩にするためには、図9のように最低2個の色彩セルCC‘を挿入する必要がある。図9では、C1、C’1等のように記されている。
【0132】
このように、各ユニット毎に始点又は終点を明示すれば、コード全体の始点、終点が何らかの原因で不明な場合でも、各ユニットの開始点と読みとり方向を推定することが容易となり、ひいてはコードシンボル全体の始点・終点の判別が容易となることが予想される。
【0133】
3−4 ユニット毎のチェック仕様の変更
上では、図7、図8、図9に基づき、ユニットを組み合せて大きなコードシンボルを構成する例を説明したが、もちろん、上記各ユニットのセル数、各色彩数(セルフチェック仕様)が予め定められており、これをもとにセルフチェックできることは、表1、図1〜図6記載のコードシンボルと何ら変わりはない。
【0134】
しかし、各ユニットのセルフチェック仕様を意図的に変えることによって、コードシンボルの全体が読み取れず、部分的・断片的に読めた場合でも、その読めた部分のユニットを認識することによって、部分的であってもデータを復元することができる可能性が高まる。
【0135】
つまり、各ユニット毎のセルフチェック仕様を種々の値に設定しておき、読み取れた部分のユニットのセルフチェック仕様から、それがどのユニットかを判別するわけである。
【0136】
このように、読み取れた部分のユニットのセルフチェック仕様を確認することで、コードの断片からでも、その断片に含まれるユニットナンバーとそれが表すデータを解読することができる確率が増すものと期待できる。
【0137】
このようにユニット毎にセルフチェック仕様を変化させる場合は、複数ユニットのセルフチェック仕様が規則性を持って変化するように定めることが好適である。このように定めておけば、読み取れた断片が、複数ユニットを含んでいる場合に、その複数ユニットのセルフチェック仕様が規則性を持つことを手がかりに、データをより正確に復元できる可能性が向上すると考えられる。
【0138】
さらに、セルフチェック仕様は、RGBセルの個数を予め決めておくことの他に、既に説明したように、モジュラス方式の仕様を採用することも好適である。この場合は、各ユニットの構成は当然データセル+冗長セルという構成を採用することになる。
【0139】
以下、ユニット毎に仕様を変えた例を示そう。
【0140】
例
ユニット1のセルフチェック仕様:セル数n、R数m、G数k
ユニット2のセルフチェック仕様:セル数n、R数m+1、G数k
ユニット3のセルフチェック仕様:セル数n、R数m、G数k+1
ユニット4のセルフチェック仕様:セル数n、R数m+1、G数k+1
ユニット5のセルフチェック仕様:セル数n、R数m、G数k−1
ユニット6のセルフチェック仕様:セル数n、R数m−1、G数k
ユニット7のセルフチェック仕様:セル数n、モジュラス仕様A(R≡2mod(3),G≡1mod(3))
ユニット8のセルフチェック仕様:セル数n、モジュラス仕様B(R≡0mod(3),G≡2mod(3))
etc...
色彩配列による自動認識コードにおいては、色彩セルの数はエラーが発生したか否かのチェック事項の一つであり、これが異なる仕様は読み取り動作等が煩雑となり、好ましくない場合もある。
【0141】
しかし、上記のように一定のルールで変化させれば、完全に別々のセルフチェック仕様を採用する場合に比べて、チェック作業は比較的容易であり複数のユニットの仕様をチェックすることで、エラーが起きているか否かを比較的容易に判別することができる。
【0142】
上の例では、各ユニットは、セル数が同一で、Rセルや、Gセルの個数の規定を変化させたが、その他セルフチェック仕様の種類を増やす目的で、スタートセルの色彩、エンドセルの色彩、連結セルの仕様(色彩、色彩配列)等を一定のルールで変化させることが好適である。
【0143】
3−5 ユニットの欠落を補正できるエラー訂正技術の採用
また、各ユニットはそれぞれ冗長性を持ちながら総合的に一つのデータを表し、いくつかのユニットの読み取りにおいてエラーが発生するか、又は、ユニットが消滅して読み取り自体が不可能な場合が生じたとしても、最終的なデータを再現できるようにエラー訂正構造を採用することも好適である。
【0144】
例えば、リードソロモン方式のように(例えば)バイト単位で訂正を行う方式が知られている。この方式を、本実施の形態のユニットに適用することが好適である。この場合、例えば、各ユニットの表すコードワードが「バイト」のデータを表し、全体としてリードソロモン符号を適用することが好適な一例となろう。
【0145】
3−6 ユニットのアドレス
また、各ユニットのアドレスは、コード内の並んだ順番そのものであることが妥当であり、逆に、その順番からアドレスを知ることができる。しかし、上記例のようにセルフチェック仕様を変化させた例では、その各ユニットのセルフチェック仕様をアドレスと対応させて、セルフチェック仕様がアドレスを表すように規定しておけば、コードが断片化して、その断片しか読み取れなかった場合でも、その断片に含まれるユニットのアドレスをセルフチェック仕様から知ることができ、原データの復号(デコード)が容易になることが期待される。
【0146】
例えば、総セル数が11セル、RGBのセル数がそれぞれ3,4,4の場合を検討する。この場合の上記図5、図6に相当する組み合せ数のテーブルが、図10に示されている。
【0147】
この場合、図10に示すように、利用できる組み合せは、総計477通りであり、1バイト=8bit=256より多い組み合せが得られる。そのため、1バイトのデータを余裕をもって表現でき、バイト構成のリードソロモン符号を適用することも容易である。
【0148】
ここで、同じ11セルでも、セルの個数の設定は種々の値を取ることができる。
【0149】
例えば、Rセル、Gセル、Bセルの個数を、それぞれ、
仕様1 (5,4,4)
仕様2 (4,5,4)
仕様3 (4,4,5)
のように種々設定することができる。ここでは、これらを便宜上、仕様1、仕様2、仕様3と呼ぶ。
【0150】
そして、4個のユニットを並べたコードシンボルを作成するとして、各ユニットが採用するセルフチェック仕様を、上記仕様1、仕様2、仕様3の中から選択する。具体的には、図11のように、仕様を割り当てるものとする。
【0151】
例えば、図11の第1行のコードは、各ユニットのセルフチェック仕様が、仕様1―仕様1―仕様2―仕様1となっていることを表している。各行とも同様である。
【0152】
この場合、4ユニットずつの9本のコードシンボルが作成できることを図11は表している。
【0153】
ここで、各行の各コードシンボルにおいては、4個のユニットのうち、1このユニットに読み取りエラーが生じて読み取り誤りがあったとしても、他の残りの3ユニットから誤りがあったことが推測することが可能である。
【0154】
また、各コードシンボル毎に全て図11に示すように、仕様の配列が異なるので、それぞれの「ユニット」が区別することができ、図11に示された都合36ユニットを区別できることになる。
【0155】
さらに、先に述べたように一つのユニットあたり、1バイトよりデータ数が多いので、総計36バイトのリードソロモン方式のデータを構成できることになる。
【0156】
第4 物品
以上、色彩セルの個数に所定の規則を設けた色彩配列による自動認識コードについて説明してきた。この光学式の色彩配列による自動認識コードを物品に付せば、エラーのチェックが容易に行え、エラーを容易に検出できるので、その物品に関する情報を読み間違えてしまう可能性をより一層低減することができる。
【図面の簡単な説明】
【0157】
【図1】セル数6,R,G,B各セル数が2、またスタートセル色がRの場合の全ての組み合せを示す説明図である。
【図2】セル数9であり、R,G,Bそれぞれが3セル、スタートセルがRの例を示す説明図である。
【図3】総セル数7セル、R:3セル,G:2セル、B2セルであって、Rのセルから始まる場合の組み合せを示す説明図である。
【図4】総セル数8セルであって、R:3セル,G:2セル、B3セルで、Rのセルから始まる場合の組み合せを示す説明図である。
【図5】総セル数12セル、各色4セルの場合についてその組み合せのテーブルを示す図である。
【図6】総セル数12セル、各色4セルの場合についてその組み合せのテーブルを示す図である。
【図7】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図8】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図9】N個のユニットが一つのコード内に連なった状態を示す説明図である。
【図10】総セル数が11セル、RGBのセル数がそれぞれ3,4,4の場合の組み合せ数のテーブルの図である。
【図11】4個のユニットを並べたコードシンボルを作成する場合に、各ユニットが採用するセルフチェック仕様を説明する説明図である。
【符号の説明】
【0158】
S1、S2 始点を表すセル
E1、E2 終点を表すセル
【特許請求の範囲】
【請求項1】
所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、
前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対して予め定められており、
前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数を確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コード。
【請求項2】
所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、
前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対してモジュラス式で予め定められており、
前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数が前記モジュラス式を満たすか否か確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コード。
【請求項3】
請求項1又は2記載の色彩配列による自動認識コードにおいて、
前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすように色彩が付された1個以上の冗長セルと、の2種類の色彩セルを含むことを特徴とする色彩配列による自動認識コード。
【請求項4】
請求項1又は2記載の色彩配列による自動認識コードにおいて、
前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすような色彩セルの組み合せのコードシンボルのみを使用し、この使用する組み合せのコードシンボルに対して、それぞれ所定のデータが割り当てられていることを特徴とする色彩配列による自動認識コード。
【請求項5】
請求項4記載の色彩配列による自動認識コードにおいて、前記割り当てられるデータは、数字、英字、記号であることを特徴とする色彩配列による自動認識コード。
【請求項6】
請求項4記載の色彩配列による自動認識コードにおいて、
色彩配列による自動認識コードの利用者が、前記使用する組み合せのコードシンボルに対して、前記規則と関連付けられたデータを割り当てることができることを特徴とする色彩配列による自動認識コード。
【請求項7】
請求項1又は2記載の色彩配列による自動認識コードを、複数個連結して構成した複合型の色彩配列による自動認識コードであって、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは単一のデータを表すことを特徴とする複合型の色彩配列による自動認識コード。
【請求項8】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードが、接続用セルを介して互いに連結していることを特徴とする複合型の色彩配列による自動認識コード。
【請求項9】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コード。
【請求項10】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードに、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コード。
【請求項11】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードのうち、少なくとも1個以上の小型の色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、他の小型の前記色彩配列による自動認識コードとは異なることを特徴とする複合型の色彩配列による自動認識コード。
【請求項12】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、各小型の前記色彩配列による自動認識コード毎に異なることを特徴とする複合型の色彩配列による自動認識コード。
【請求項13】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、それぞれの小型の色彩配列による自動認識コードが表すデータが、表したい原データと、誤り訂正のための訂正データと、から成ることを特徴とする複合型の色彩配列による自動認識コード。
【請求項14】
請求項1〜13のいずれか1項に記載の色彩配列による自動認識コードが付された物品。
【請求項1】
所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、
前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対して予め定められており、
前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数を確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コード。
【請求項2】
所定の色彩が付された色彩セルを複数個列状に配置し、色彩セルの色彩の並び、色彩の組み合せ、色彩の遷移、のいずれかでデータを表す色彩配列による自動認識コードにおいて、
前記色彩セルの各色彩毎の個数が、少なくとも1色以上に対してモジュラス式で予め定められており、
前記色彩配列による自動認識コードを読み取る際に、前記色彩毎の個数が前記モジュラス式を満たすか否か確認することによってエラーの検出を行うことが可能なことを特徴とする色彩配列による自動認識コード。
【請求項3】
請求項1又は2記載の色彩配列による自動認識コードにおいて、
前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすように色彩が付された1個以上の冗長セルと、の2種類の色彩セルを含むことを特徴とする色彩配列による自動認識コード。
【請求項4】
請求項1又は2記載の色彩配列による自動認識コードにおいて、
前記色彩配列による自動認識コードを構成する色彩セルは、データを表すデータセルと、前記予め定められた色彩セルの個数の規則を満たすような色彩セルの組み合せのコードシンボルのみを使用し、この使用する組み合せのコードシンボルに対して、それぞれ所定のデータが割り当てられていることを特徴とする色彩配列による自動認識コード。
【請求項5】
請求項4記載の色彩配列による自動認識コードにおいて、前記割り当てられるデータは、数字、英字、記号であることを特徴とする色彩配列による自動認識コード。
【請求項6】
請求項4記載の色彩配列による自動認識コードにおいて、
色彩配列による自動認識コードの利用者が、前記使用する組み合せのコードシンボルに対して、前記規則と関連付けられたデータを割り当てることができることを特徴とする色彩配列による自動認識コード。
【請求項7】
請求項1又は2記載の色彩配列による自動認識コードを、複数個連結して構成した複合型の色彩配列による自動認識コードであって、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは単一のデータを表すことを特徴とする複合型の色彩配列による自動認識コード。
【請求項8】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードが、接続用セルを介して互いに連結していることを特徴とする複合型の色彩配列による自動認識コード。
【請求項9】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コード。
【請求項10】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードに、少なくとも一方の端部に、始点又は終点であることを表す1個以上の色彩セルが配置されていることを特徴とする複合型の色彩配列による自動認識コード。
【請求項11】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードのうち、少なくとも1個以上の小型の色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、他の小型の前記色彩配列による自動認識コードとは異なることを特徴とする複合型の色彩配列による自動認識コード。
【請求項12】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、その中の色彩セルの個数に関する前記規則が、各小型の前記色彩配列による自動認識コード毎に異なることを特徴とする複合型の色彩配列による自動認識コード。
【請求項13】
請求項7記載の複合型の色彩配列による自動認識コードにおいて、
前記複合型の色彩配列による自動認識コードに含まれる複数の小型の前記色彩配列による自動認識コードは、それぞれの小型の色彩配列による自動認識コードが表すデータが、表したい原データと、誤り訂正のための訂正データと、から成ることを特徴とする複合型の色彩配列による自動認識コード。
【請求項14】
請求項1〜13のいずれか1項に記載の色彩配列による自動認識コードが付された物品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−113486(P2010−113486A)
【公開日】平成22年5月20日(2010.5.20)
【国際特許分類】
【出願番号】特願2008−284986(P2008−284986)
【出願日】平成20年11月6日(2008.11.6)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
【公開日】平成22年5月20日(2010.5.20)
【国際特許分類】
【出願日】平成20年11月6日(2008.11.6)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
[ Back to top ]