色彩配列及び色彩配列発光方法、並びに、色彩配列を物品に付す方法及び色彩配列が付された物品
【課題】色彩の順番等でデータを表す光学式自動認識コードとして使用できる色彩配列であって、その色彩配列を、例えばひも状の物品等に連続的に付した場合に、どこから読み始めても同一の正しいデータを読み出せるコード体系を実現する。
【解決手段】色彩の順番等でデータを表す光学式自動認識コードとして使用できる色彩配列であって、その色彩配列(コードシンボル)の巡回コードもまた同一のデータを表すように色彩配列を設定する。巡回コードは、そのコードシンボルをセルを巡回するようにシフト(ローテート)させてできる色彩配列であり、6セルの色彩配列の場合は、ある色彩配列に対して、5通りの巡回コードが得られる。合計6種の色彩配列が同一のデータを表すように構成するので、連続的に色彩配列を付した場合、どこから読み始めても正しくデータを読み取ることが可能である。
【解決手段】色彩の順番等でデータを表す光学式自動認識コードとして使用できる色彩配列であって、その色彩配列(コードシンボル)の巡回コードもまた同一のデータを表すように色彩配列を設定する。巡回コードは、そのコードシンボルをセルを巡回するようにシフト(ローテート)させてできる色彩配列であり、6セルの色彩配列の場合は、ある色彩配列に対して、5通りの巡回コードが得られる。合計6種の色彩配列が同一のデータを表すように構成するので、連続的に色彩配列を付した場合、どこから読み始めても正しくデータを読み取ることが可能である。
【発明の詳細な説明】
【技術分野】
【0001】
色彩の順番でデータを返す自動認識コードが知られている。本発明は、この自動認識コードの各シンボルの、色彩順とデータとの関連に関する発明である。
【0002】
本願発明者は、寸法形状に依存せず、色彩の配列・組み合わせ・並び・順番によってデータを表現するコードシステム(いわゆる「色彩配列コード」)について、種々の研究開発を行っている。例えば、このようなコードの一種である1Dカラービットコード(特願2006−196705他)を本願発明者はこれまでに出願している。他に、特願2006−196548号等も出願している。
【0003】
このように、本発明は光学的な自動認識コードに関し、特に色彩配列を自動認識コードとして用いる場合の技術的な改良に関する。
【背景技術】
【0004】
従来の(1Dカラービットコード等の)色彩配列による自動認識コードは、一定の色彩の順序のみを認識し、これでデータを表現するという考え方である。つまり、この順受がデータに変換されるわけである。一般にこのような自動認識コードにおいては、読み取りルールにおいて、読み取りの開始位置を決めておく必要があった。
【0005】
(※「1Dカラービットコード」、「カラービットコード」は、本願出願人の自動認識コードの商品名・固有名称である)
すなわち、通常の色彩配列による自動認識コードの場合は、色彩配列の端点が明確になっており、これを画像として認識した上で端点から色彩配列を読み取り、データに変換するという工程を行っている。
【0006】
また、発明者が先に出願した自動認識コードの例においては、端点が必ずしも明確になっていなくとも、構成するセル数(色彩範囲の個数)が特定されている場合、端点を推定してデータに変換するということも可能である。但し、この場合、色彩配列にルールで定められた一定の冗長部分が必要である。
※ここで、セルとはある所定の1色が付される色彩領域を言う。
【0007】
一方、電線のような商品は、その長手方向に延々と色彩配列をマーキングする場合もある。このようなケースや、ストラップのように端点が閉じて閉ループを形成しているケースなどでは、実際に読み取れる部位はマークされたコードのごく一部であることが考えられる。
【0008】
このような場合、読み取った部位とコードの開始点、終点が一致することはまれである。また、始点又は終点付近に冗長セル(CRCコード等)を配する場合、この冗長分はデータ量に応じて大きくなるのが通常であり、読み取れる部位が限られている場合には冗長セルに遮られて肝心のデータセルを全て読み取りきれないケースもあることが予想される。
【0009】
また、本願発明者は、色彩変化を時間的に接続してこの変化によってデータを表現する自動認識コードの発明をなし、別途出願(特願2008−212973等)をしている。しかし、この自動認識コードにおいては、色彩発光の色彩の変化を認識してはじめてそのデータを知ることができる。この色彩変化の場合、少ないセル数でデータを認識することによって、読み取り開始からデータを返すまでの時間(ここでは、ターンアラウンドタイムと呼ぶ)を短縮することができるが、エラー検知・訂正等のための冗長セルが多数ある場合は、この時間(ターンアラウンドタイム)が長くなるという欠点が考えられる。
【0010】
また、データセルの損傷などでデータを読み出せない場合、一般的には、損傷していない別のデータ部位を改めて読み取る必要があるが、操作者の作業が煩雑となり、実用性を大きく損なうことが容易に想像できる。
【0011】
用語の説明
色彩配列による自動認識コードは、いわゆる光学式認識コードの一種である。光学式認識コードに関する用語を若干説明する。
【0012】
コードシンボル:
所定のデータを表す、具体的な1個1個の光学式認識コードその物、一塊りの図形・図形群を、特に「コードシンボル」と呼ぶ。又は単に「シンボル」と呼ぶ場合もある。また、自動認識コードの1単位であるので、「単位コードマーク」と呼ぶ場合もある。
【0013】
さらに、便宜上、この「コードシンボル」その物を「タグ」と呼ぶ場合もたまにある。但し、タグは、基本的には、物品(被印物)に付す媒体を言う。例えば、値段のタグ、商品タグ、等である。
本発明は、自動認識コードとして色彩配列を用いるが、この1個1個のそれぞれの色彩配列が、自動認識コードとしての「コードシンボル」に相当する。
【0014】
光学式認識コード(光学式自動認識コード):
「光学式認識コード」と言う場合は、一般に個別の具体的なコードシンボルではなく、そのようなコード「体系」を意味する言葉として用いる場合が多い。例えば「QRコード(登録商標)という名称の光学式認識コード。」のように表現し、一般には「コード体系」を表す語である。
また、光学式認識コードは、一般に機械によって自動的に認識されるので、光学式自動認識コードと呼ばれることも多い。
【0015】
被印物:
光学式認識コードのコードシンボルを付与する物品・対象物を「被印物」と呼ぶ。後述する本実施の形態では、主として「物品」を用いている。
【0016】
マーキング:
被印物に光学式認識コードの各コードシンボルを付与する作業を「マーキング」と呼ぶ。マーキングは、コードシンボルを被印物に直接「印刷」する処理の他、コードシンボルを付した「粘着シール」を貼付する動作や、コードシンボルを付したタグを「掛ける」動作、等が「マーキング」の好適な例に相当する。特に、被印物が販売の対象となる商材・商品である場合、コードシンボルを付したタグとしては、「値札」や「商品ブランドタグ」等が該当する。このような「値札」にコードシンボルを付して「商品」に取り付けることが広く行われている。この取り付けには、近年プラスチックのワイヤーが用いられることが多い。これらのような「取り付け」も、上記「マーキング」の好適な例である。
【0017】
また、被印物の容器にコードシンボルを付す行為も、実質的な面を考慮してマーキングと呼ばれることが多い。
【0018】
マーキング色:
コードシンボルに用いられる1又は2色以上の色彩を「マーキング色」と呼ぶ。マーキング色は「信号色」とも呼ばれる。マーキング色としては、典型的には3色程度が識別精度等も考慮すると妥当である。例えば、RGBの3色や、CMYの3色等が好適である。
【0019】
本発明においては、色彩配列を構成するセルに用いられる色彩がここで言うマーキング色であるが、後述する実施の形態では、主にR(赤)G(緑)B(青)を例として説明している。
【0020】
媒体:
被印物にマーキングを施す際に用いる手段・材料を「媒体」と呼ぶ。具体的には、マーキングに用いるインクや、被印物に掛ける値札、商品タグ、等が相当する。例えば、直接印刷する場合の「インク」は上記媒体の一例である。また、コードシンボルを付した商品タグを「掛ける」場合の「商品タグ」「値札」も媒体の一例である。また、上述した粘着シールもこの「媒体」の好適な一例に相当する。
【0021】
クワイアットゾーン:
マーキング色以外の色彩による領域で、コードシンボルの境界、コードシンボル以外の領域を「クワイアットゾーン」と呼ぶ。
【0022】
なお、マーキング色以外の色彩を特に、「周囲色」と呼ぶ。
【0023】
従来の先行特許技術
ここで、従来の先行特許技術を、数種説明する。
【0024】
例えば、下記特許文献1には、パリティビットが逆順に付与されたCRCコードのエラー検出装置が開示されている。
また、下記特許文献2には、時間的遷移を逆転した逆CRC回路を用いて誤り検出を行う際の処理遅延を抑制する発明が開示されている。
また、下記特許文献3には、右ブロックの逆読みによる誤差を生じることなく短時間で復調を完了させることが可能なバーコード復調装置が開示されている。
また、下記特許文献4には、巡回コードから生成したスクランブル信号を用いることによって、データの相関性を打ち消し、磁気ディスク記録装置の安定したトラッキング制御を実現する技術が開示されている。
また、下記特許文献5には、ハミング距離に基づいたトレリスコーディングが使用される光ディスクの内周にバーコードを設けて、生産日やシリアルナンバー等を記録する技術RAID装置が開示されている。
【特許文献1】特開2002−171171号公報
【特許文献2】特開2000−269826号公報
【特許文献3】特開平11−053464号公報
【特許文献4】特開2003−036598号公報
【特許文献5】特開2006−318467号公報
【発明の開示】
【発明が解決しようとする課題】
【0025】
本発明は、上記の事情に鑑みなされたものであり、連続したセル(色彩)の開始点を特に定めなくても所定のデータを返すことのできる色彩配列(コード)を得ることを目的とする。
【課題を解決するための手段】
【0026】
(1)本発明は、上記課題を解決するために、所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、前記m個の色彩配列が繰り返し連続的に配列された場合に、該繰り返された色彩配列のうち、任意の位置の連続するm個のセルからなる色彩配列が、常に同一データを表現することを特徴とする色彩配列である。ここで、前記mは、2以上の整数である。
【0027】
(2)また、本発明は、上記課題を解決するために、所定の色彩を順番にm回発光して所定のデータを表現する色彩配列発光方法であって、同一色彩が連続して発光されないように構成された色彩配列発光方法において、前記m回の発光が繰り返し連続的に引き続いて発光されている場合に、該繰り返された色彩発光の列のうち、任意のタイミングから開始される連続するm回発光された色彩の列が、常に同一データを表現することを特徴とする色彩配列発光方法である。ここで、前記mは2以上の整数である。
【0028】
(3)また、本発明は、(1)記載の色彩配列において、第1のデータを表す第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表す第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列である。ここで、nは、正の整数である。
【0029】
(4)また、本発明は、(3)記載の色彩配列において、前記色彩配列中の各桁の色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列である。
【0030】
(5)また、本発明は、(4)記載の色彩配列において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列である。
【0031】
(6)また、本発明は、(3)記載の色彩配列において、前記nは、3であることを特徴とする色彩配列である。
【0032】
(7)本発明は、上記課題を解決するために、所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、所定のデータを表す前記色彩配列を、セルについて巡回置換した色彩配列も前記所定のデータを表し、前記所定のデータを表す色彩配列群は、セルについての置換群としてグループ分けされることを特徴とする色彩配列である。ここで、前記mは2以上の整数である。
【0033】
(8)また、本発明は、(7)記載の色彩配列において、利用する色彩群は順番が設定されており、所定のデータを表す前記色彩配列を、色彩について前記順番に基づき循環置換した色彩配列は、前記所定のデータとは異なる他のデータを表し、前記他のデータを表す色彩に対する置換群としてのグループに属することを特徴とする色彩配列である。
【0034】
(9)また、本発明は、(1)記載の色彩配列において、前記色彩配列は、逆順に読んだ場合も、正順に読んだ場合と同一のデータを表すことを特徴とする色彩配列である。
【0035】
(10)また、本発明は、(1)記載の色彩配列において、前記色彩配列は、逆順に読んだ場合に、正順に読んだ場合とは異なる他のデータを表す場合は、その逆順の色彩配列が、利用できる色彩配列群から除かれていることを特徴とする色彩配列である。
【0036】
(11)また、本発明は、(1)、(3)〜(10)のいずれか1項に記載の色彩配列を物品に付す方法において、所定の前記色彩配列を連続的に列状に配置する配置ステップ、を含むことを特徴とする色彩配列を物品に付す方法である。
【0037】
(12)また、本発明は、(11)記載の色彩配列を物品に付す方法において、前記列は、直線又は曲線であることを特徴とする色彩配列を物品に付す方法である。
【0038】
(13)また、本発明は、(11)又は(12)記載の色彩配列を物品に付す方法において、複数の前記色彩配列のそれぞれに対して、前記配置ステップを適用し、各色彩配列毎に前記列状に配置を行うステップ、を含み、前記各色彩配列毎の列が互いに平行に前記物品上に配置されていることを特徴とする色彩配列を物品に付す方法である。
【0039】
(14)また、本発明は、(2)記載の色彩配列発光方法において、第1のデータを表すために発光される第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表すために発光される第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列発光方法である。ここで、nは、正の整数である。
【0040】
(15)また、本発明は、(14)記載の色彩配列発光方法において、前記色彩配列中の各セルの色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列発光方法である。
【0041】
(16)また、本発明は、(15)記載の色彩配列発光方法において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列発光方法である。
【0042】
(17)また、本発明は、(14)記載の色彩配列発光方法において、前記nは、3であることを特徴とする色彩配列発光方法である。
【0043】
(18)また、本発明は、(1)、(3)〜(10)のいずれか1項に記載の色彩配列が付された物品である。
【発明の効果】
【0044】
以上述べたように、本発明によれば、開始点を特に定めなくてもデータを表現し、読み取ることができる自動認識コードを採用したので、電線等のひも状の物品に光学式の自動認識コードを連続的に付す(マーキング)することができ、利便性の高い光学式自動認識コードを実現することができる。
【発明を実施するための最良の形態】
【0045】
以下、図面に基づき、本発明の好適な実施の形態について説明する。
【0046】
なお、本件において、色彩の「配列」とは、色彩を所定の列状に並べたものであり、直線状、曲線状であっても良い。この色彩配列はその色彩の並びによってデータを表し、いわゆる自動認識コードとして利用する。また、本件において、n、m、k等は特に断らない限り正の整数である。
【0047】
本件発明においては、色彩配列の巡回配列をコード化することによって、上記課題を解決している。巡回配列とは、その色彩配列コードを循環的にいわばローテート(rotate)して得られる全ての色彩配列群をいい、その詳細は、図1において後述する。
【0048】
本発明では色彩配列群の任意の位置のセル(これをA1と呼ぶ)から、予め定められたセル数kを経たセルAkまでの色彩配列A1:Akの返すデータDaが、任意のセルB1から、予め定められたセル数kを経たセルBkまでの色彩配列B1:Bkの返すデータDbと等しいという特性を持つ配列であるということである。
このような性質を有する色彩配列群を用いることによって、上記課題を解決しているのである。
【0049】
本実施の形態では、k個のセルから成る色彩配列を連続的に並べて色彩配列群を形成している。そして、この色彩配列の巡回配列も、元の色彩配列と同一のデータを表すように構成しているので、上記色彩配列群をどこから読み始めても、正しいデータを復元することが可能である。
【0050】
これは、例えば、通常の2進数(0、1)で表現されるデータにおいては、図1のような巡回数値をそれぞれ同一値と見ると言うことである。
図1には巡回配列を用いたコード化の概念図が示されている。図1では、色彩を用いた例ではなく、「0」と「1」とを用いて概念を説明したものである。
【0051】
例えば、図1において、「00000001」のコードに対して、1ビットずつローテートした「10000000」「01000000」「00100000」「00010000」・・・等が巡回配列となる。そして、上述したように、これらを全て同値と見なすことによって、どの位置から読み取りを開始しても、正しくデータを読み取ることができるコード体系を得ることができる。
なお、図1では、数値(0、1)を用いて巡回配列の概念を説明したが、これは色彩でも同様である。
なお、図1において、例えば00000101の符号列は、
00000101000001010000010100000101…
のように00000101が「繰り返し配置」されていると想定している。
【0052】
※色彩配列→数値変換の方法
ところで、色彩配列を数値に置き換えることは様々な方法があり、それぞれ特徴がある。
【0053】
これらについて以下に述べる。代表的な手法として、第1に、色彩遷移のみによって表される数値を採用する考え方があろう。また、第2に開始色彩の利用する考え方があると思われる。なお、これらの考え方は、本願発明者が独自に考案したものである。
説明の都合上、開始色彩を利用する例から説明する。
【0054】
1.開始色彩の利用(固定+前置数値方式)
上述したように色彩の遷移のみでデータを表現する場合(遷移数値化方式)では、開始色彩の関係で3つの異なる色彩配列が同値の数値を返す場合が多い。
【0055】
そこで、例えばRGBを数値に置き換える方法として、
R=0、G=1、Bは前置の数字と同値、という置き換え方がある。このように色彩を数値に割り当てると、同一色彩の連続を防止することができ、隣接するセル同士は必ず異なる色彩とすることができ、読み取りが行いやすくなる。
【0056】
例えば、0が連続する場合は、RBRB・・・と色彩を配置すれば良く、同一色彩が連続してしまうことがない。1が連続する場合は、GBGB・・・と色彩を配置すれば良く、この場合も同一色彩が連続してしまうことがない。
このような割り当て手法を応用すると上記の色彩配列は、
固定+前置数値方式
RGBRBG RGBRBG RGBRBG
…→100110 100110 100110
GBRGRB GBRGRB GBRGRB
…→001011 001011 001011
BRGBGR BRGBGR BRGBGR
…→110001 110001 110001
となる。
【0057】
2.色彩遷移により表される数値を採用する考え方(遷移数値化方式)
上述したように色彩遷移をそのまま0、1の数値に置き換えることが可能である。この数値を繰り返し配置することで、巡回コード対応の連続符号を表すことができる。
このとき、連続符号の任意の開始点から既知の桁数分の数値を取り込むことでデータを知ることができる。この場合、実際の信号は色彩配列なので、上述したように表現できる数値には制約が生じる。
【0058】
遷移数値化方式
開始色彩によって、異なる色彩配列を利用可能である。例えば、
R→G、G→B、B→Rという変化で「0」を表す。
【0059】
R→B、B→G、G→Rという変化で「1」を表す。とすれば、色彩配列から数値を以下のように復元できる。すなわち、
RGBRBG RGBRBG RGBRBG…→000111000111000111
GBRGRB GBRGRB GBRGRB…→000111000111000111
BRGBGR BRGBGR BRGBGR…→000111000111000111
となり、巡回数値の特性を保ったまま、それぞれ異なる値を返すことがわかる。
【0060】
色彩配列と数値配列
なお、このように色彩配列は2進数の「0、1」データ(=数値データ)と対応づけが可能であるが、これを「繰り返し配置」する場合、色彩配列と数値配列との間に以下に示すような関係が生じる。
【0061】
◆色彩配列と数値データの関係(その1)
例えば、00011という数値データを考える。これを「繰り返し配置」すると、
00011 00011 00011…となる。
【0062】
ここで00011を上述した遷移数値化方式で色彩配列で表すと、先頭をRと置いた場合は、
RGBRBG(∵RG=0、GB=0、BR=0、RB=1、BG=1)
となる。そこでこの色彩配列を「繰り返し配置」すると、
RGBRBG RGBRBG RGBRBG RGBRBG
となる。
【0063】
ところで、この繰り返された色彩配列を数値に置き換え(変換す)ると
00011「1」00011「1」00011「1」…
となり、別の数字「1」が現れてきてしまう。ここで、上記「」は、別に表れた他の数字を意味するために挿入したものである。
【0064】
この例から理解できるように、00011の数値繰り返し配置は色彩配列で表せないが、000111は表すことができる。このことは、すなわち色彩配列の繰り返し配置で表せる数値配列は一定の制約があることを意味する。
【0065】
上述した様に00011をその色彩配列で繰り返し配置し、これを数値に再び変換すると、00011「1」の繰り返しとなり、この色彩配列はRGBRBGRとなる。
これは、容易に理解できるように、要するに、数値を色彩配列で表した場合、先頭色彩(この場合”R”)と終端色彩(この場合”R”)が等しければ、上で述べたような別の数字が表れず、正常に数値を繰り返して配置することができることを意味する。
【0066】
このような条件を、数値データとして考察すると、
i個の「0(数値)」で構成される数列において、最終の色彩は
G(i=1)、B(i=2)、R(i=3)、
G(i=4)、B(i=5)、R(i=6)、…
となる。一方、「1(数値)」はRGBの進み(遷移方向)が「0」の場合と逆なので、数値に含まれる“1”の個数をmとすると、明らかに、
G(i−m=1)、B(i−m=2)、R(i−m=3)、
G(i−m=4)、B(i−m=5)、R(i−m=6)、…
となる。すなわち、数列の桁数をk、含まれる「1(数値)」の個数mとすると、
(k−2m) mod 3 ≡ 0
を満たすことが、その数列を色彩配列を繰り返して配列した場合に表せる条件となる。
【0067】
また、上述した固定+前置数値方式の場合、例えば、00110はRBGBRであるが、これを繰り返し配置すると、
RBGBR RBGBR RBGBR
となりRが重複することが判明する。すなわち、固定+前置数値方式では、先端と終端が同値、かつ終端の1つ前が異値の場合、色彩配列の繰り返しができないことが判明する。
【0068】
詳細に言えば、以下の通りとなる。
まず、先端の色彩は、0ならR、1ならGに決定する。
先端の値が0の場合を検討する。この場合は、先端の色彩は、Rである。終端も同様に、Rとなるためには、終端の数値も0である必用がある。もし、終端が1である場合には、終端の色彩は、GかBとなってしまうからである。
【0069】
終端が1の場合であっても、その終端の1つ前の値が同じく0であった場合、終端は同値を示すBとなる可能性がある。従って、終端の一つ前が0ではなかった場合に、常に先端と同一色彩となる。
このように、同一色彩が連続することを許さない色彩配列の体系を採用する場合においては、一般的に、全ての繰り返し数値配列を、色彩配列に置き換えることはできない。
【0070】
◆色彩配列と数値データの関係(その2)
ところで、000111を上述した遷移数値化方式を用いて色彩配列で表す場合、表し方としては、上述したように
RGBRBGR
がまず挙げられる。しかし、それ以外にも、
GBRGRBG 及び BRGBGRB
と言う表し方も存在する。
【0071】
従って、
000111000111000111…
を表す色彩配列は
RGBRBG RGBRBG RGBRBG…
GBRGRB GBRGRB GBRGRB…
BRGBGR BRGBGR BRGBGR…
の3種が存在する。
【0072】
この色彩配列を、巡回的に認識すると以下のように認識が行われる。巡回的に認識するとは開始点を逐次ずらして巡回させて読み取って認識を実行することを言う。
最初のRから認識を開始した場合、次のGから認識を開始した場合、・・・のように、順次開始点をずらして認識を行っていくのである(巡回的に認識)。このようにして認識した例を以下に示す。
【0073】
RGBRBG RGBRBG RGBRBG…→000111000111000111
GBRBG RGBRBG RGBRBG…→00111000111000111
BRBG RGBRBG RGBRBG…→0111000111000111
RBG RGBRBG RGBRBG…→111000111000111
BG RGBRBG RGBRBG…→11000111000111
G RGBRBG RGBRBG…→1000111000111
GBRGRB GBRGRB GBRGRB…→000111000111000111
BRGRB GBRGRB GBRGRB…→00111000111000111
RGRB GBRGRB GBRGRB…→0111000111000111
GRB GBRGRB GBRGRB…→111000111000111
RB GBRGRB GBRGRB…→11000111000111
B GBRGRB GBRGRB…→1000111000111
BRGBGR BRGBGR BRGBGR…→000111000111000111
RGBGR BRGBGR BRGBGR…→00111000111000111
GBGR BRGBGR BRGBGR…→0111000111000111
BGR BRGBGR BRGBGR…→111000111000111
GR BRGBGR BRGBGR…→11000111000111
R BRGBGR BRGBGR…→1000111000111
このように、数値は同一の数値の繰り返し配列であり、色彩は連続して同一色彩が表れることもない。つまり、常に隣接するセルでは異なった色彩が表れるような繰り返し配列であることが理解されよう。
また固定+前置数値方式では、以下に示すように始まりの状況に応じてその部分の色彩配列が異なるパターンが生じる。以下の例では、「その部分」に「」を付し、明確にしている。
【0074】
000111000111000111
…→「RBR」GBG RBRGBG RBRGBG
00111000111000111
…→「RB」GBG RBRGBG RBRGBG
0111000111000111
…→「R」GBG RBRGBG RBRGBG
111000111000111
…→「GBG」RBRGBG RBRGBG
11000111000111
…→「GB」RBRGBG RBRGBG
このように同一繰り返し数値配列は複数の異なった色彩配列で表されることがある。
【0075】
従って、本文では、以下のような状況を検討する。
【0076】
(1)連続同値(連続して複数のセルに同一色彩が付されること)を許さない色彩配列パターンを採用する場合を検討する。
(2)上記のパターンを採用した場合、そのコードシンボルを繰り返し配置した時に、全ての巡回配列を同一データと見なす方式を採用する。
【0077】
この(1)(2)のような状況下において、
(A)巡回色彩配列の性質
(B)巡回色彩配列のデータ化
について、以下詳細に検討し、説明を行う。
【0078】
※巡回色彩配列の具体的性質
以下、3種の色彩(R,G,B)で構成された色彩配列について述べる。
【0079】
「具体例1」 6セル色彩配列の例
ここで、6セル色彩(配列)とは、6セルを並べて構成した色彩配列であって、例えばRGRGBG、RGRGBG、RGRGBG、のような例であり、先頭と終端(下線部)が異なった色彩であることが条件・特徴となる。
このような6セル色彩配列の場合、巡回配列(巡回コードを作成する工程)を行っても全く同値とならないものは、図2に示す14通りである。つまり、14種のデータを表すことができる。
【0080】
ところで、本発明では、既に述べたように、巡回配列を同値と見ている。これによって、どこから読み始めても、常に正しい値が得られるものである。
巡回置換を行っても変化しない諸元は、各色彩のセル数とセル間隔配列なので、これに基づき色彩配列を分類するのが妥当と考えられる。図2では、上記14個のコードシンボルをそのような観点からグループに分類している。
【0081】
図2の表において、各グループ分けの意味は
グループA:RGB各2色、各色彩の間隔(間にあるセルの数)がいずれも1,3
グループB:RGB各2色、各色彩の間隔(間にあるセルの数)がいずれも2,2
グループC:RGBが3,2,1個ずつ。(但し順不同)
但し、C−1,C−2はそれぞれ各色彩に対して巡回置換群である。
【0082】
グループ0:RGBのうち2色のみで構成(以後の考察ではこのグループは省く。)
このような考え方によれば色彩順は考慮していないので、各グループは色彩に対して置換的である。実際に、図2に示した各グループは、R→G、G→B、B→R、もしくはR→B、G→R、B→G、という色彩の置換(変更)をすることができる循環置換群であり、置換したコードシンボル群と置換前のコードシンボルとで、各グループ毎に閉じていることが理解されよう。すなわち、これらコードシンボルは、いわゆる置換群を形成していることになる。
【0083】
また、グループC1とC2は互いに鏡像関係(R←→G、G←→B、B←→Rのみの置換)にある。一方、グループC1,C2それぞれは、巡回置換群として閉じている。
【0084】
また,グループC1+C2は、いずれかの一対の色彩同士を置き換えた置換に対して群を無し、閉じていることが理解されよう。
【0085】
※なお、本発明、本実施の形態では、「巡回置換」を配列の巡回的置換を意味する言葉として用いており、また、「循環置換」をR→G、G→B、B→Rのような構成種の循環的置換を表す言葉として用いている。
【0086】
簡単に言えば、配列を構成する各セルの位置を巡回的にずらしていくことを巡回置換といい、色彩を(予め定められた順番で)変更することを循環置換と言っているのである。
【0087】
ハミング距離
ところで色彩配列を正確に認識するためには、各色彩配列間の差異(ハミング距離)が大きいことが望ましい。
本実施の形態において特徴的なことは、色彩の間で(ハミング)距離を定義したことである。この結果、色彩の自動認識コードにおける検出精度等を数的に論じることが可能である。
【0088】
色彩配列同士のハミング距離は、各色彩配列の各桁を比較し、それらの色彩間の距離を各桁毎に求め、それらの総和である。色彩間の距離は、色彩間に順番等を設け、その順番に従ってって、色彩間の距離を定めるのが好適である。つまり、その順番において色彩が隣接していれば、そのハミング距離を1と置くのである。間に他の色彩が一種存在する場合は、それら色彩間のハミング距離は2である。そして同一の色彩の場合は当然、ハミング距離は0となる。
つまり、ある色彩と他の色彩との間にある色彩の数+1を「距離」とすることが好適である。
【0089】
従って、3色(例えばRGB)を用いる場合は、同一色彩の場合はハミング距離が0であるが、異なる色彩の場合は、ハミング距離は1である。同じく、3色(例えばRGB)を用いる場合、色彩配列同士のハミング距離は、各色彩配列の各桁を比較し、異なる色彩である桁の数である。
【0090】
但し、本考案では巡回コードを全て同一と見なすので、各データ(自動認識コードシンボル)の巡回配列同士の最小ハミング距離を、そのデータ(を表す自動認識コードシンボル)のハミング距離と見なしている。
【0091】
例えば、RGBRBGとGBRGRBの色彩配列のハミング距離は、RGBRBGと、GBRGRBの巡回コード群とを比較し、最も小さい値をRGBRBGとGBRGRBの色彩配列のハミング距離であると定義している。
以下、RGBRBGとGBRGRBの例を示す。桁が一致していない箇所に下線が引かれている。
【0092】
RGBRBG を、以下の巡回コード群とそれぞれ比較する。
【0093】
↓↑
GBRGRB ハミング距離6
↓巡回
BGBRGR ハミング距離3 上のコードを右に巡回シフト(ROTATE)
↓巡回
RBGBRG ハミング距離4 同様
↓巡回
GRBGBR ハミング距離4 同様
↓巡回
RGRBGB ハミング距離4 同様
↓巡回
BRGRBG ハミング距離3 同様
となり、最小距離は、「3」である。従って、RGBRBGとGBRGRBとのハミング距離は「3」となる。
【0094】
◆誤り対応とグループの関係
本実施の形態で提案する自動認識コードにおいては、巡回置換したコードシンボルも同値のデータを表すものとして取り扱っている。
つまり、上述した色彩配列のグループは、巡回置換に影響を受けないため、このグループがデータとの対応において本質的である。すなわち、グループがデータと直接対応している。
従って誤り対応においても、グループ間のハミング距離をもとに、使用する色彩配列を選定するのが効率的である。このハミング距離が大きければ、エラーを検知し、場合によっては訂正まで可能となる場合もある。
【0095】
・グループ間ハミング距離
まず、各グループ内において上述したように色彩は置換的である。従って、各グループ間(全ての構成要素同士)のハミング距離は、一方のグループの1つの構成要素と他のグループの関係を調べることで明らかになる。
【0096】
例えば、
グループA(A1,A2,A3、A4、A5、A6)
←→グループB(B1,B2,B3、B4、B5、B6)
は、A1←→B1、A1←→B2、A1←→B3、A1←→B4、A1←→B5、A1←→B6の関係を調べれば良い。
【0097】
ここで、A1、A2、A3、A4、A5、A6、は、グループAのメンバーである各コードシンボルである。一方、B1、B2、B3、B4、B5、B6、は、グループBのメンバーである各コードシンボルである。
【0098】
・グループ内ハミング距離
次に、グループ内のハミング距離について説明する。
同一グループ内は、グループの1つの構成メンバー(コードシンボル)と同一グループ内の他のメンバー(コードシンボル)の関係を調べることでそのグループ内のハミング距離が明らかになる。
【0099】
例えば、グループA(A1,A2,A3、A4、A5、A6)の場合
A1←→A2、A1←→A3、A1←→A4、A1←→A5、A1←→A6
ここで、「全体で所定のハミング距離を満たす条件」(全体で所定の(最小の)ハミング距離を保証する条件)は、グループ間のハミング距離及びグループ内ハミング距離が、共にその条件を満たす(最小限のハミング距離以上のハミング距離を常にある)ことである。
【0100】
この概念図が図3に示されている。図3中、白抜きの双方向矢印で示されている箇所はグループ間ハミング距離が一定の値(最小ハミング距離)以上あることを意味している。また、白抜きの円で示されているグループは、そのグループ内ハミング距離が一定の値(最小ハミング距離)以上あることを意味している。
この図3中、Xで示された範囲では、全ての色彩配列間でハミング距離が保証されている。従って、このXで示された範囲のコードを用いて自動認識コード体系を構築し、利用すれば、最小ハミング距離が保証されたコード体系を利用することができ、エラーに耐性のあるコードを用いることができる。
【0101】
例えば6セル色彩配列の場合、上述したグループ間のハミング距離は図4の表のようになる。このように、グループA―B間、グループA―C間、グループC1−C2間、においては、ハミング距離が2以下となる場合がある。
【0102】
従って、例えば、ハミング距離3以上の組み合わせを得たい場合には、
・グループB+グループC1、又は、
・グループB+グループC2
を利用することができることが図4から読み取ることができる。この場合、色彩配列はグループBの構成色彩配列2通りと、グループC1もしくはC2の構成色彩配列3通り、の合計5通りを得ることができる。グループB+グループC1の場合の様子が図5に示されている。
【0103】
◆対称性
ところで、自動認識コードの応用範囲・用途によっては、例えばひも状の物体に繰り返し色彩配列を施した場合も想定しなければならない場合もある。
この場合、繰り返してマーキングされた色彩配列(群)から切り取られた一部からは、先頭と終端の区別をつけることは困難である。
従って、かかるひも状物体の用途においては、上表のように得られた色彩配列の逆順が、他の色彩配列の正順と一致することは許されない。
さて、図5の表のデータでは、グループBの2つの色彩配列が互いにそのような関係(逆順が他のコードの正順と一致するという関係)になっている。
【0104】
つまり、
→BGRBGR=BRGBRG←:(矢印は読み順を示す)
となることが明らかである。
【0105】
このようなケースでは、BGRBGR=BRGBRGとおき、同値と見ることによって、(図5の例より1個少ないが)全体で4つの値を持つコード体系であるとして利用することができる。
【0106】
なお、例えば色彩を時間的に順番に発光するケースや、マーキングの正逆関係が予め既知の場合にはこのような事項を考慮する必要はない。この様子の説明図が図6に示されている。
【0107】
図6(a)には、上記ひも状の物体に連続的にマーキングされている場合の様子の説明図が示されている。図6(a)に示されているように、紐のこちら側を見る場合と、向こう側を見る場合とでは、コードの方向が異なる。
【0108】
図6(b)には、色彩を時間的に順番に発光するケースの説明図が示されている。色彩が空間に配置されている場合と異なり、時間的に変化(配置)されているので、図6(a)と異なり、順番が逆となることはない。
【0109】
図6(c)には、一定の幅を有する窓12を介して、物品の上に多列化してマーキングされた(付された)自動認識コードを読み取る場合の様子を示す説明図が示されている。この窓12はシャッター10に空けられたU字形状の切り欠きであり、この窓を介して見える部位が読み取り範囲である。このように、繰り返し色彩配列を多列化することでデータ数を増やすことも考えられる。
【0110】
「具体例2」 12色彩配列の例
12色彩数配列の場合を、6色彩配列の場合と同じように表に示した。この表が図7〜図12までに示されている。12色彩配列の場合は、これらの表に示すようなグループが構成されている。これらのグループ間は、いずれも各色彩数、間隔の構成が異なっており、各グループは構成色の置換操作において閉じており置換群をなしている。
【0111】
これらの各グループを調べ、グループ内ハミング距離が3未満のグループが、図13に示す表中×印で示されている。ここで、×印がグループ内ハミング距離3未満を表す。
【0112】
次に、先に示したように各グループ中の1つの構成要素(色彩配列)と、他グループとの間のハミング距離を調べた。その結果が図14の表に示されている。
【0113】
この図14においては、グループ内で既にハミング距離が3未満となっていたグループを除外し、ハミング距離が3以上のものについてグループ間(のハミング)距離を求めて図14に示した。この図14の表においては、グループ間のハミング距離が3未満を灰色(グレー)で示している。白のマス目は、ハミング距離が3以上を表している。
【0114】
図14の表において、左上部は矩形状にグレーのマスが存在していない一定の領域が観察される。この領域では、全ての構成するグループが互いにハミング距離3以上であることを示している(グループ4131,4222,25b、4121a、6a,4111b,324d,322dである)。(※なお、グループの「名称」は本願発明者らが便宜上つけたものである。)
従ってこれら(グループ4131,4222,25b、4121a、6a,4111b,324d,322d)を構成する45通りの全ての色彩配列(図15の表参照)は、巡回置換を行っても互いにハミング距離3以上を保つ。
【0115】
逆順
なお、図15の表に示した各色彩配列(コードシンボル)を逆順に呼んだ場合の配列も示した表が図16に示されている。
【0116】
さて、この図16の表において、グループ4131は逆読みをしても色彩配列順は変化しないのでそのまま使用できる。また、グループ4122、4121aは逆読みで同一グループ内の他の色彩配列と同じ値を返す。そのため、以下に示すように、それぞれのペアで1つのデータを表すものとして扱えば良い。
【0117】
グループ4122には6個の色彩配列が含まれるが、それぞれペアを組ませて1個のデータを表せば、全部で3種のデータを表すことができる。
【0118】
4122(1)と4122(6)とでペアを組ませる
4122(2)と4122(4)とでペアを組ませる
4122(5)と4122(3)とでペアを組ませる
グループ4121aも同様である。
【0119】
また、324d、322dのグループは反転読みだと異なった別のグループの要素(色彩配列)となってしまうので、逆順読みを考慮しなければならない用途においては採用することはできない。
【0120】
従って、上記表15、16で示した例では反転読みを考慮した場合、表せるデータの数は、
4131グループ:3個
4122グループ:3個
25bグループ:3個
21bグループ:6個
4121bグループ:3個
6aグループ:3個
4111bグループ:6個
となり、合計27通りのデータを表現することができる。
【0121】
まとめ・変形例
以上、自動認識コードとして用いる色彩配列の例を種々説明してきた。
【0122】
(1)
本実施の形態によれば、巡回コードを利用したので、読み取り開始がどこからでも正しくデータを読み取ることができる色彩配列が得られる。
【0123】
また、利用する色彩配列の間のハミング距離を一定値以上に設定することを提案した。ハミング距離の最低値を保証することによって、エラー検出等に寄与することができる。
【0124】
又逆順で色彩配列を呼んでしまった場合でも誤って別のデータを読み取ってしまうことがない構成も説明した。
【0125】
(2)
上述したハミング距離の値としては3程度が妥当であろう。ハミング距離が3であればエラー検知・訂正等に役立つ。一方、この値が大きすぎると、コードの利用効率が悪化し、効率的なデータの表現が困難になる恐れがある。
【0126】
(3)
これまで、自動認識コードとして色彩配列を用いる例を主として説明してきた。この色彩配列は、直線的な1列状に配置されていることを主として説明したが、連なりが追跡可能である限りにおいては、曲線のように曲がっていてもかまわないし、また直角に折れ曲がる等の「折れ」があってもかまわない。
【0127】
特に、ひも状の物品に付す場合は、紐が曲がることによって色彩配列も曲がることになるが、色彩の順番が認識できればデータが復元できるので問題はない。
【0128】
(4)
色彩配列を構成する各色彩が付される領域を記号的にはセルと呼ぶ。換言すれば、所定の色彩が付されたセルを並べることによって色彩配列が構成されている。このセルは、色彩配列を構成する色彩が付されている場所を表す記号上の概念である。もちろん実際のセルは、セルは物品の上の表面であって、所定の色彩のインク等が塗られた物理的な領域・部位である。セルは、しばしば桁とも呼ぶ。
【0129】
(5)
色彩配列が逆順に読まれる場合は、その逆順の色彩配列もまた同一のデータを表すようにグループ分けすることを上で提案した。
【0130】
しかし、単純にその逆順の色彩配列を「使用しない」ことにしても好適である。
【0131】
(6)
また、色彩配列を2列設ける構成について上で説明した。2列設ければ、表せるデータ量は2倍となる。上では2列の例について説明したが、3列でもそれ以上でもかまわない。列数に応じてデータ量を増やすことが可能である。
【0132】
なお、読み取りの手間を考慮すれば、各列は、互いに平行であることが好ましい。但し、デザイン的な観点等から故意に平行を崩すことも好適である。又は、直線の列とkじょくせんの列とを組み合わせることもデザイン的には好ましい場合もあろう。
【0133】
(7)
上で述べた例では、主として有体物である物品上に色彩配列を付して自動認識コードを構成させる例を説明した。
【0134】
このような例では、色彩をいわば空間上で並べているのである。
【0135】
上でも多少説明したが、色彩を時間軸上で並べることも好適である。この場合も、空間上を並べる場合と同様の工夫をすることができ、同様の効果が得られる。
【0136】
但し、時間軸上で色彩を順次発光させる場合は、順序が逆順に読み取ってしまうことが考えにくい。従って、上で述べた逆順に対する対処は、時間軸上の色彩発光の場合は不要である場合が多いであろう。
【0137】
特に、時間軸上で色彩を順番に発光させる場合は、その開始時点が空間の場合よりも一層検知しにくい。従って、空間に色彩を配置する場合よりも、時間軸に沿って色彩を発光する場合の方が 本発明の有用性は高い可能性がある。
【図面の簡単な説明】
【0138】
【図1】巡回コードの概念を説明する説明図である。
【図2】6セルの色彩配列の場合、巡回配列を作成した時に同値となる色彩配列のグループ分けを行い、その結果14種のグループができる例を示す説明図である。
【図3】ハミング距離の概念図である。
【図4】6セルの色彩配列の場合の、グループ間ハミング距離を示す説明図である。
【図5】ハミング距離が3以上である組み合わせを得る場合のグループの取り方の一つであるグループB+グループC1の場合の様子を示す説明図である。
【図6】(a)は、ひも状物体に連続的にマーキングされている場合の様子を示す説明図であり、(b)は、色彩を時間的に順番に発光するケースの説明図であり、(c)は、一定の幅を有する窓を介して、物品の上に多列化してマーキングされた(付された)自動認識コードを読み取る場合の様子を示す説明図である。
【図7】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図8】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図9】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図10】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図11】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図12】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図13】上記図7〜図8で示した12色彩配列における各グループの中で、グループ内ハミング距離が3未満のグループが×印で示された表である。
【図14】上記図7〜図8で示した12色彩配列における各グループの中で、グループ内ハミング距離が3未満のグループについて、グループ間ハミング距離を示した表である。
【図15】図14の左上部分を示す各グループを構成する45通りの全ての色彩配列を示す表である。
【図16】図15の表に示した各色彩配列(コードシンボル)を逆順に呼んだ場合の配列も示した表である。
【符号の説明】
【0139】
10 シャッター
12 窓
【技術分野】
【0001】
色彩の順番でデータを返す自動認識コードが知られている。本発明は、この自動認識コードの各シンボルの、色彩順とデータとの関連に関する発明である。
【0002】
本願発明者は、寸法形状に依存せず、色彩の配列・組み合わせ・並び・順番によってデータを表現するコードシステム(いわゆる「色彩配列コード」)について、種々の研究開発を行っている。例えば、このようなコードの一種である1Dカラービットコード(特願2006−196705他)を本願発明者はこれまでに出願している。他に、特願2006−196548号等も出願している。
【0003】
このように、本発明は光学的な自動認識コードに関し、特に色彩配列を自動認識コードとして用いる場合の技術的な改良に関する。
【背景技術】
【0004】
従来の(1Dカラービットコード等の)色彩配列による自動認識コードは、一定の色彩の順序のみを認識し、これでデータを表現するという考え方である。つまり、この順受がデータに変換されるわけである。一般にこのような自動認識コードにおいては、読み取りルールにおいて、読み取りの開始位置を決めておく必要があった。
【0005】
(※「1Dカラービットコード」、「カラービットコード」は、本願出願人の自動認識コードの商品名・固有名称である)
すなわち、通常の色彩配列による自動認識コードの場合は、色彩配列の端点が明確になっており、これを画像として認識した上で端点から色彩配列を読み取り、データに変換するという工程を行っている。
【0006】
また、発明者が先に出願した自動認識コードの例においては、端点が必ずしも明確になっていなくとも、構成するセル数(色彩範囲の個数)が特定されている場合、端点を推定してデータに変換するということも可能である。但し、この場合、色彩配列にルールで定められた一定の冗長部分が必要である。
※ここで、セルとはある所定の1色が付される色彩領域を言う。
【0007】
一方、電線のような商品は、その長手方向に延々と色彩配列をマーキングする場合もある。このようなケースや、ストラップのように端点が閉じて閉ループを形成しているケースなどでは、実際に読み取れる部位はマークされたコードのごく一部であることが考えられる。
【0008】
このような場合、読み取った部位とコードの開始点、終点が一致することはまれである。また、始点又は終点付近に冗長セル(CRCコード等)を配する場合、この冗長分はデータ量に応じて大きくなるのが通常であり、読み取れる部位が限られている場合には冗長セルに遮られて肝心のデータセルを全て読み取りきれないケースもあることが予想される。
【0009】
また、本願発明者は、色彩変化を時間的に接続してこの変化によってデータを表現する自動認識コードの発明をなし、別途出願(特願2008−212973等)をしている。しかし、この自動認識コードにおいては、色彩発光の色彩の変化を認識してはじめてそのデータを知ることができる。この色彩変化の場合、少ないセル数でデータを認識することによって、読み取り開始からデータを返すまでの時間(ここでは、ターンアラウンドタイムと呼ぶ)を短縮することができるが、エラー検知・訂正等のための冗長セルが多数ある場合は、この時間(ターンアラウンドタイム)が長くなるという欠点が考えられる。
【0010】
また、データセルの損傷などでデータを読み出せない場合、一般的には、損傷していない別のデータ部位を改めて読み取る必要があるが、操作者の作業が煩雑となり、実用性を大きく損なうことが容易に想像できる。
【0011】
用語の説明
色彩配列による自動認識コードは、いわゆる光学式認識コードの一種である。光学式認識コードに関する用語を若干説明する。
【0012】
コードシンボル:
所定のデータを表す、具体的な1個1個の光学式認識コードその物、一塊りの図形・図形群を、特に「コードシンボル」と呼ぶ。又は単に「シンボル」と呼ぶ場合もある。また、自動認識コードの1単位であるので、「単位コードマーク」と呼ぶ場合もある。
【0013】
さらに、便宜上、この「コードシンボル」その物を「タグ」と呼ぶ場合もたまにある。但し、タグは、基本的には、物品(被印物)に付す媒体を言う。例えば、値段のタグ、商品タグ、等である。
本発明は、自動認識コードとして色彩配列を用いるが、この1個1個のそれぞれの色彩配列が、自動認識コードとしての「コードシンボル」に相当する。
【0014】
光学式認識コード(光学式自動認識コード):
「光学式認識コード」と言う場合は、一般に個別の具体的なコードシンボルではなく、そのようなコード「体系」を意味する言葉として用いる場合が多い。例えば「QRコード(登録商標)という名称の光学式認識コード。」のように表現し、一般には「コード体系」を表す語である。
また、光学式認識コードは、一般に機械によって自動的に認識されるので、光学式自動認識コードと呼ばれることも多い。
【0015】
被印物:
光学式認識コードのコードシンボルを付与する物品・対象物を「被印物」と呼ぶ。後述する本実施の形態では、主として「物品」を用いている。
【0016】
マーキング:
被印物に光学式認識コードの各コードシンボルを付与する作業を「マーキング」と呼ぶ。マーキングは、コードシンボルを被印物に直接「印刷」する処理の他、コードシンボルを付した「粘着シール」を貼付する動作や、コードシンボルを付したタグを「掛ける」動作、等が「マーキング」の好適な例に相当する。特に、被印物が販売の対象となる商材・商品である場合、コードシンボルを付したタグとしては、「値札」や「商品ブランドタグ」等が該当する。このような「値札」にコードシンボルを付して「商品」に取り付けることが広く行われている。この取り付けには、近年プラスチックのワイヤーが用いられることが多い。これらのような「取り付け」も、上記「マーキング」の好適な例である。
【0017】
また、被印物の容器にコードシンボルを付す行為も、実質的な面を考慮してマーキングと呼ばれることが多い。
【0018】
マーキング色:
コードシンボルに用いられる1又は2色以上の色彩を「マーキング色」と呼ぶ。マーキング色は「信号色」とも呼ばれる。マーキング色としては、典型的には3色程度が識別精度等も考慮すると妥当である。例えば、RGBの3色や、CMYの3色等が好適である。
【0019】
本発明においては、色彩配列を構成するセルに用いられる色彩がここで言うマーキング色であるが、後述する実施の形態では、主にR(赤)G(緑)B(青)を例として説明している。
【0020】
媒体:
被印物にマーキングを施す際に用いる手段・材料を「媒体」と呼ぶ。具体的には、マーキングに用いるインクや、被印物に掛ける値札、商品タグ、等が相当する。例えば、直接印刷する場合の「インク」は上記媒体の一例である。また、コードシンボルを付した商品タグを「掛ける」場合の「商品タグ」「値札」も媒体の一例である。また、上述した粘着シールもこの「媒体」の好適な一例に相当する。
【0021】
クワイアットゾーン:
マーキング色以外の色彩による領域で、コードシンボルの境界、コードシンボル以外の領域を「クワイアットゾーン」と呼ぶ。
【0022】
なお、マーキング色以外の色彩を特に、「周囲色」と呼ぶ。
【0023】
従来の先行特許技術
ここで、従来の先行特許技術を、数種説明する。
【0024】
例えば、下記特許文献1には、パリティビットが逆順に付与されたCRCコードのエラー検出装置が開示されている。
また、下記特許文献2には、時間的遷移を逆転した逆CRC回路を用いて誤り検出を行う際の処理遅延を抑制する発明が開示されている。
また、下記特許文献3には、右ブロックの逆読みによる誤差を生じることなく短時間で復調を完了させることが可能なバーコード復調装置が開示されている。
また、下記特許文献4には、巡回コードから生成したスクランブル信号を用いることによって、データの相関性を打ち消し、磁気ディスク記録装置の安定したトラッキング制御を実現する技術が開示されている。
また、下記特許文献5には、ハミング距離に基づいたトレリスコーディングが使用される光ディスクの内周にバーコードを設けて、生産日やシリアルナンバー等を記録する技術RAID装置が開示されている。
【特許文献1】特開2002−171171号公報
【特許文献2】特開2000−269826号公報
【特許文献3】特開平11−053464号公報
【特許文献4】特開2003−036598号公報
【特許文献5】特開2006−318467号公報
【発明の開示】
【発明が解決しようとする課題】
【0025】
本発明は、上記の事情に鑑みなされたものであり、連続したセル(色彩)の開始点を特に定めなくても所定のデータを返すことのできる色彩配列(コード)を得ることを目的とする。
【課題を解決するための手段】
【0026】
(1)本発明は、上記課題を解決するために、所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、前記m個の色彩配列が繰り返し連続的に配列された場合に、該繰り返された色彩配列のうち、任意の位置の連続するm個のセルからなる色彩配列が、常に同一データを表現することを特徴とする色彩配列である。ここで、前記mは、2以上の整数である。
【0027】
(2)また、本発明は、上記課題を解決するために、所定の色彩を順番にm回発光して所定のデータを表現する色彩配列発光方法であって、同一色彩が連続して発光されないように構成された色彩配列発光方法において、前記m回の発光が繰り返し連続的に引き続いて発光されている場合に、該繰り返された色彩発光の列のうち、任意のタイミングから開始される連続するm回発光された色彩の列が、常に同一データを表現することを特徴とする色彩配列発光方法である。ここで、前記mは2以上の整数である。
【0028】
(3)また、本発明は、(1)記載の色彩配列において、第1のデータを表す第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表す第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列である。ここで、nは、正の整数である。
【0029】
(4)また、本発明は、(3)記載の色彩配列において、前記色彩配列中の各桁の色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列である。
【0030】
(5)また、本発明は、(4)記載の色彩配列において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列である。
【0031】
(6)また、本発明は、(3)記載の色彩配列において、前記nは、3であることを特徴とする色彩配列である。
【0032】
(7)本発明は、上記課題を解決するために、所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、所定のデータを表す前記色彩配列を、セルについて巡回置換した色彩配列も前記所定のデータを表し、前記所定のデータを表す色彩配列群は、セルについての置換群としてグループ分けされることを特徴とする色彩配列である。ここで、前記mは2以上の整数である。
【0033】
(8)また、本発明は、(7)記載の色彩配列において、利用する色彩群は順番が設定されており、所定のデータを表す前記色彩配列を、色彩について前記順番に基づき循環置換した色彩配列は、前記所定のデータとは異なる他のデータを表し、前記他のデータを表す色彩に対する置換群としてのグループに属することを特徴とする色彩配列である。
【0034】
(9)また、本発明は、(1)記載の色彩配列において、前記色彩配列は、逆順に読んだ場合も、正順に読んだ場合と同一のデータを表すことを特徴とする色彩配列である。
【0035】
(10)また、本発明は、(1)記載の色彩配列において、前記色彩配列は、逆順に読んだ場合に、正順に読んだ場合とは異なる他のデータを表す場合は、その逆順の色彩配列が、利用できる色彩配列群から除かれていることを特徴とする色彩配列である。
【0036】
(11)また、本発明は、(1)、(3)〜(10)のいずれか1項に記載の色彩配列を物品に付す方法において、所定の前記色彩配列を連続的に列状に配置する配置ステップ、を含むことを特徴とする色彩配列を物品に付す方法である。
【0037】
(12)また、本発明は、(11)記載の色彩配列を物品に付す方法において、前記列は、直線又は曲線であることを特徴とする色彩配列を物品に付す方法である。
【0038】
(13)また、本発明は、(11)又は(12)記載の色彩配列を物品に付す方法において、複数の前記色彩配列のそれぞれに対して、前記配置ステップを適用し、各色彩配列毎に前記列状に配置を行うステップ、を含み、前記各色彩配列毎の列が互いに平行に前記物品上に配置されていることを特徴とする色彩配列を物品に付す方法である。
【0039】
(14)また、本発明は、(2)記載の色彩配列発光方法において、第1のデータを表すために発光される第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表すために発光される第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列発光方法である。ここで、nは、正の整数である。
【0040】
(15)また、本発明は、(14)記載の色彩配列発光方法において、前記色彩配列中の各セルの色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列発光方法である。
【0041】
(16)また、本発明は、(15)記載の色彩配列発光方法において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列発光方法である。
【0042】
(17)また、本発明は、(14)記載の色彩配列発光方法において、前記nは、3であることを特徴とする色彩配列発光方法である。
【0043】
(18)また、本発明は、(1)、(3)〜(10)のいずれか1項に記載の色彩配列が付された物品である。
【発明の効果】
【0044】
以上述べたように、本発明によれば、開始点を特に定めなくてもデータを表現し、読み取ることができる自動認識コードを採用したので、電線等のひも状の物品に光学式の自動認識コードを連続的に付す(マーキング)することができ、利便性の高い光学式自動認識コードを実現することができる。
【発明を実施するための最良の形態】
【0045】
以下、図面に基づき、本発明の好適な実施の形態について説明する。
【0046】
なお、本件において、色彩の「配列」とは、色彩を所定の列状に並べたものであり、直線状、曲線状であっても良い。この色彩配列はその色彩の並びによってデータを表し、いわゆる自動認識コードとして利用する。また、本件において、n、m、k等は特に断らない限り正の整数である。
【0047】
本件発明においては、色彩配列の巡回配列をコード化することによって、上記課題を解決している。巡回配列とは、その色彩配列コードを循環的にいわばローテート(rotate)して得られる全ての色彩配列群をいい、その詳細は、図1において後述する。
【0048】
本発明では色彩配列群の任意の位置のセル(これをA1と呼ぶ)から、予め定められたセル数kを経たセルAkまでの色彩配列A1:Akの返すデータDaが、任意のセルB1から、予め定められたセル数kを経たセルBkまでの色彩配列B1:Bkの返すデータDbと等しいという特性を持つ配列であるということである。
このような性質を有する色彩配列群を用いることによって、上記課題を解決しているのである。
【0049】
本実施の形態では、k個のセルから成る色彩配列を連続的に並べて色彩配列群を形成している。そして、この色彩配列の巡回配列も、元の色彩配列と同一のデータを表すように構成しているので、上記色彩配列群をどこから読み始めても、正しいデータを復元することが可能である。
【0050】
これは、例えば、通常の2進数(0、1)で表現されるデータにおいては、図1のような巡回数値をそれぞれ同一値と見ると言うことである。
図1には巡回配列を用いたコード化の概念図が示されている。図1では、色彩を用いた例ではなく、「0」と「1」とを用いて概念を説明したものである。
【0051】
例えば、図1において、「00000001」のコードに対して、1ビットずつローテートした「10000000」「01000000」「00100000」「00010000」・・・等が巡回配列となる。そして、上述したように、これらを全て同値と見なすことによって、どの位置から読み取りを開始しても、正しくデータを読み取ることができるコード体系を得ることができる。
なお、図1では、数値(0、1)を用いて巡回配列の概念を説明したが、これは色彩でも同様である。
なお、図1において、例えば00000101の符号列は、
00000101000001010000010100000101…
のように00000101が「繰り返し配置」されていると想定している。
【0052】
※色彩配列→数値変換の方法
ところで、色彩配列を数値に置き換えることは様々な方法があり、それぞれ特徴がある。
【0053】
これらについて以下に述べる。代表的な手法として、第1に、色彩遷移のみによって表される数値を採用する考え方があろう。また、第2に開始色彩の利用する考え方があると思われる。なお、これらの考え方は、本願発明者が独自に考案したものである。
説明の都合上、開始色彩を利用する例から説明する。
【0054】
1.開始色彩の利用(固定+前置数値方式)
上述したように色彩の遷移のみでデータを表現する場合(遷移数値化方式)では、開始色彩の関係で3つの異なる色彩配列が同値の数値を返す場合が多い。
【0055】
そこで、例えばRGBを数値に置き換える方法として、
R=0、G=1、Bは前置の数字と同値、という置き換え方がある。このように色彩を数値に割り当てると、同一色彩の連続を防止することができ、隣接するセル同士は必ず異なる色彩とすることができ、読み取りが行いやすくなる。
【0056】
例えば、0が連続する場合は、RBRB・・・と色彩を配置すれば良く、同一色彩が連続してしまうことがない。1が連続する場合は、GBGB・・・と色彩を配置すれば良く、この場合も同一色彩が連続してしまうことがない。
このような割り当て手法を応用すると上記の色彩配列は、
固定+前置数値方式
RGBRBG RGBRBG RGBRBG
…→100110 100110 100110
GBRGRB GBRGRB GBRGRB
…→001011 001011 001011
BRGBGR BRGBGR BRGBGR
…→110001 110001 110001
となる。
【0057】
2.色彩遷移により表される数値を採用する考え方(遷移数値化方式)
上述したように色彩遷移をそのまま0、1の数値に置き換えることが可能である。この数値を繰り返し配置することで、巡回コード対応の連続符号を表すことができる。
このとき、連続符号の任意の開始点から既知の桁数分の数値を取り込むことでデータを知ることができる。この場合、実際の信号は色彩配列なので、上述したように表現できる数値には制約が生じる。
【0058】
遷移数値化方式
開始色彩によって、異なる色彩配列を利用可能である。例えば、
R→G、G→B、B→Rという変化で「0」を表す。
【0059】
R→B、B→G、G→Rという変化で「1」を表す。とすれば、色彩配列から数値を以下のように復元できる。すなわち、
RGBRBG RGBRBG RGBRBG…→000111000111000111
GBRGRB GBRGRB GBRGRB…→000111000111000111
BRGBGR BRGBGR BRGBGR…→000111000111000111
となり、巡回数値の特性を保ったまま、それぞれ異なる値を返すことがわかる。
【0060】
色彩配列と数値配列
なお、このように色彩配列は2進数の「0、1」データ(=数値データ)と対応づけが可能であるが、これを「繰り返し配置」する場合、色彩配列と数値配列との間に以下に示すような関係が生じる。
【0061】
◆色彩配列と数値データの関係(その1)
例えば、00011という数値データを考える。これを「繰り返し配置」すると、
00011 00011 00011…となる。
【0062】
ここで00011を上述した遷移数値化方式で色彩配列で表すと、先頭をRと置いた場合は、
RGBRBG(∵RG=0、GB=0、BR=0、RB=1、BG=1)
となる。そこでこの色彩配列を「繰り返し配置」すると、
RGBRBG RGBRBG RGBRBG RGBRBG
となる。
【0063】
ところで、この繰り返された色彩配列を数値に置き換え(変換す)ると
00011「1」00011「1」00011「1」…
となり、別の数字「1」が現れてきてしまう。ここで、上記「」は、別に表れた他の数字を意味するために挿入したものである。
【0064】
この例から理解できるように、00011の数値繰り返し配置は色彩配列で表せないが、000111は表すことができる。このことは、すなわち色彩配列の繰り返し配置で表せる数値配列は一定の制約があることを意味する。
【0065】
上述した様に00011をその色彩配列で繰り返し配置し、これを数値に再び変換すると、00011「1」の繰り返しとなり、この色彩配列はRGBRBGRとなる。
これは、容易に理解できるように、要するに、数値を色彩配列で表した場合、先頭色彩(この場合”R”)と終端色彩(この場合”R”)が等しければ、上で述べたような別の数字が表れず、正常に数値を繰り返して配置することができることを意味する。
【0066】
このような条件を、数値データとして考察すると、
i個の「0(数値)」で構成される数列において、最終の色彩は
G(i=1)、B(i=2)、R(i=3)、
G(i=4)、B(i=5)、R(i=6)、…
となる。一方、「1(数値)」はRGBの進み(遷移方向)が「0」の場合と逆なので、数値に含まれる“1”の個数をmとすると、明らかに、
G(i−m=1)、B(i−m=2)、R(i−m=3)、
G(i−m=4)、B(i−m=5)、R(i−m=6)、…
となる。すなわち、数列の桁数をk、含まれる「1(数値)」の個数mとすると、
(k−2m) mod 3 ≡ 0
を満たすことが、その数列を色彩配列を繰り返して配列した場合に表せる条件となる。
【0067】
また、上述した固定+前置数値方式の場合、例えば、00110はRBGBRであるが、これを繰り返し配置すると、
RBGBR RBGBR RBGBR
となりRが重複することが判明する。すなわち、固定+前置数値方式では、先端と終端が同値、かつ終端の1つ前が異値の場合、色彩配列の繰り返しができないことが判明する。
【0068】
詳細に言えば、以下の通りとなる。
まず、先端の色彩は、0ならR、1ならGに決定する。
先端の値が0の場合を検討する。この場合は、先端の色彩は、Rである。終端も同様に、Rとなるためには、終端の数値も0である必用がある。もし、終端が1である場合には、終端の色彩は、GかBとなってしまうからである。
【0069】
終端が1の場合であっても、その終端の1つ前の値が同じく0であった場合、終端は同値を示すBとなる可能性がある。従って、終端の一つ前が0ではなかった場合に、常に先端と同一色彩となる。
このように、同一色彩が連続することを許さない色彩配列の体系を採用する場合においては、一般的に、全ての繰り返し数値配列を、色彩配列に置き換えることはできない。
【0070】
◆色彩配列と数値データの関係(その2)
ところで、000111を上述した遷移数値化方式を用いて色彩配列で表す場合、表し方としては、上述したように
RGBRBGR
がまず挙げられる。しかし、それ以外にも、
GBRGRBG 及び BRGBGRB
と言う表し方も存在する。
【0071】
従って、
000111000111000111…
を表す色彩配列は
RGBRBG RGBRBG RGBRBG…
GBRGRB GBRGRB GBRGRB…
BRGBGR BRGBGR BRGBGR…
の3種が存在する。
【0072】
この色彩配列を、巡回的に認識すると以下のように認識が行われる。巡回的に認識するとは開始点を逐次ずらして巡回させて読み取って認識を実行することを言う。
最初のRから認識を開始した場合、次のGから認識を開始した場合、・・・のように、順次開始点をずらして認識を行っていくのである(巡回的に認識)。このようにして認識した例を以下に示す。
【0073】
RGBRBG RGBRBG RGBRBG…→000111000111000111
GBRBG RGBRBG RGBRBG…→00111000111000111
BRBG RGBRBG RGBRBG…→0111000111000111
RBG RGBRBG RGBRBG…→111000111000111
BG RGBRBG RGBRBG…→11000111000111
G RGBRBG RGBRBG…→1000111000111
GBRGRB GBRGRB GBRGRB…→000111000111000111
BRGRB GBRGRB GBRGRB…→00111000111000111
RGRB GBRGRB GBRGRB…→0111000111000111
GRB GBRGRB GBRGRB…→111000111000111
RB GBRGRB GBRGRB…→11000111000111
B GBRGRB GBRGRB…→1000111000111
BRGBGR BRGBGR BRGBGR…→000111000111000111
RGBGR BRGBGR BRGBGR…→00111000111000111
GBGR BRGBGR BRGBGR…→0111000111000111
BGR BRGBGR BRGBGR…→111000111000111
GR BRGBGR BRGBGR…→11000111000111
R BRGBGR BRGBGR…→1000111000111
このように、数値は同一の数値の繰り返し配列であり、色彩は連続して同一色彩が表れることもない。つまり、常に隣接するセルでは異なった色彩が表れるような繰り返し配列であることが理解されよう。
また固定+前置数値方式では、以下に示すように始まりの状況に応じてその部分の色彩配列が異なるパターンが生じる。以下の例では、「その部分」に「」を付し、明確にしている。
【0074】
000111000111000111
…→「RBR」GBG RBRGBG RBRGBG
00111000111000111
…→「RB」GBG RBRGBG RBRGBG
0111000111000111
…→「R」GBG RBRGBG RBRGBG
111000111000111
…→「GBG」RBRGBG RBRGBG
11000111000111
…→「GB」RBRGBG RBRGBG
このように同一繰り返し数値配列は複数の異なった色彩配列で表されることがある。
【0075】
従って、本文では、以下のような状況を検討する。
【0076】
(1)連続同値(連続して複数のセルに同一色彩が付されること)を許さない色彩配列パターンを採用する場合を検討する。
(2)上記のパターンを採用した場合、そのコードシンボルを繰り返し配置した時に、全ての巡回配列を同一データと見なす方式を採用する。
【0077】
この(1)(2)のような状況下において、
(A)巡回色彩配列の性質
(B)巡回色彩配列のデータ化
について、以下詳細に検討し、説明を行う。
【0078】
※巡回色彩配列の具体的性質
以下、3種の色彩(R,G,B)で構成された色彩配列について述べる。
【0079】
「具体例1」 6セル色彩配列の例
ここで、6セル色彩(配列)とは、6セルを並べて構成した色彩配列であって、例えばRGRGBG、RGRGBG、RGRGBG、のような例であり、先頭と終端(下線部)が異なった色彩であることが条件・特徴となる。
このような6セル色彩配列の場合、巡回配列(巡回コードを作成する工程)を行っても全く同値とならないものは、図2に示す14通りである。つまり、14種のデータを表すことができる。
【0080】
ところで、本発明では、既に述べたように、巡回配列を同値と見ている。これによって、どこから読み始めても、常に正しい値が得られるものである。
巡回置換を行っても変化しない諸元は、各色彩のセル数とセル間隔配列なので、これに基づき色彩配列を分類するのが妥当と考えられる。図2では、上記14個のコードシンボルをそのような観点からグループに分類している。
【0081】
図2の表において、各グループ分けの意味は
グループA:RGB各2色、各色彩の間隔(間にあるセルの数)がいずれも1,3
グループB:RGB各2色、各色彩の間隔(間にあるセルの数)がいずれも2,2
グループC:RGBが3,2,1個ずつ。(但し順不同)
但し、C−1,C−2はそれぞれ各色彩に対して巡回置換群である。
【0082】
グループ0:RGBのうち2色のみで構成(以後の考察ではこのグループは省く。)
このような考え方によれば色彩順は考慮していないので、各グループは色彩に対して置換的である。実際に、図2に示した各グループは、R→G、G→B、B→R、もしくはR→B、G→R、B→G、という色彩の置換(変更)をすることができる循環置換群であり、置換したコードシンボル群と置換前のコードシンボルとで、各グループ毎に閉じていることが理解されよう。すなわち、これらコードシンボルは、いわゆる置換群を形成していることになる。
【0083】
また、グループC1とC2は互いに鏡像関係(R←→G、G←→B、B←→Rのみの置換)にある。一方、グループC1,C2それぞれは、巡回置換群として閉じている。
【0084】
また,グループC1+C2は、いずれかの一対の色彩同士を置き換えた置換に対して群を無し、閉じていることが理解されよう。
【0085】
※なお、本発明、本実施の形態では、「巡回置換」を配列の巡回的置換を意味する言葉として用いており、また、「循環置換」をR→G、G→B、B→Rのような構成種の循環的置換を表す言葉として用いている。
【0086】
簡単に言えば、配列を構成する各セルの位置を巡回的にずらしていくことを巡回置換といい、色彩を(予め定められた順番で)変更することを循環置換と言っているのである。
【0087】
ハミング距離
ところで色彩配列を正確に認識するためには、各色彩配列間の差異(ハミング距離)が大きいことが望ましい。
本実施の形態において特徴的なことは、色彩の間で(ハミング)距離を定義したことである。この結果、色彩の自動認識コードにおける検出精度等を数的に論じることが可能である。
【0088】
色彩配列同士のハミング距離は、各色彩配列の各桁を比較し、それらの色彩間の距離を各桁毎に求め、それらの総和である。色彩間の距離は、色彩間に順番等を設け、その順番に従ってって、色彩間の距離を定めるのが好適である。つまり、その順番において色彩が隣接していれば、そのハミング距離を1と置くのである。間に他の色彩が一種存在する場合は、それら色彩間のハミング距離は2である。そして同一の色彩の場合は当然、ハミング距離は0となる。
つまり、ある色彩と他の色彩との間にある色彩の数+1を「距離」とすることが好適である。
【0089】
従って、3色(例えばRGB)を用いる場合は、同一色彩の場合はハミング距離が0であるが、異なる色彩の場合は、ハミング距離は1である。同じく、3色(例えばRGB)を用いる場合、色彩配列同士のハミング距離は、各色彩配列の各桁を比較し、異なる色彩である桁の数である。
【0090】
但し、本考案では巡回コードを全て同一と見なすので、各データ(自動認識コードシンボル)の巡回配列同士の最小ハミング距離を、そのデータ(を表す自動認識コードシンボル)のハミング距離と見なしている。
【0091】
例えば、RGBRBGとGBRGRBの色彩配列のハミング距離は、RGBRBGと、GBRGRBの巡回コード群とを比較し、最も小さい値をRGBRBGとGBRGRBの色彩配列のハミング距離であると定義している。
以下、RGBRBGとGBRGRBの例を示す。桁が一致していない箇所に下線が引かれている。
【0092】
RGBRBG を、以下の巡回コード群とそれぞれ比較する。
【0093】
↓↑
GBRGRB ハミング距離6
↓巡回
BGBRGR ハミング距離3 上のコードを右に巡回シフト(ROTATE)
↓巡回
RBGBRG ハミング距離4 同様
↓巡回
GRBGBR ハミング距離4 同様
↓巡回
RGRBGB ハミング距離4 同様
↓巡回
BRGRBG ハミング距離3 同様
となり、最小距離は、「3」である。従って、RGBRBGとGBRGRBとのハミング距離は「3」となる。
【0094】
◆誤り対応とグループの関係
本実施の形態で提案する自動認識コードにおいては、巡回置換したコードシンボルも同値のデータを表すものとして取り扱っている。
つまり、上述した色彩配列のグループは、巡回置換に影響を受けないため、このグループがデータとの対応において本質的である。すなわち、グループがデータと直接対応している。
従って誤り対応においても、グループ間のハミング距離をもとに、使用する色彩配列を選定するのが効率的である。このハミング距離が大きければ、エラーを検知し、場合によっては訂正まで可能となる場合もある。
【0095】
・グループ間ハミング距離
まず、各グループ内において上述したように色彩は置換的である。従って、各グループ間(全ての構成要素同士)のハミング距離は、一方のグループの1つの構成要素と他のグループの関係を調べることで明らかになる。
【0096】
例えば、
グループA(A1,A2,A3、A4、A5、A6)
←→グループB(B1,B2,B3、B4、B5、B6)
は、A1←→B1、A1←→B2、A1←→B3、A1←→B4、A1←→B5、A1←→B6の関係を調べれば良い。
【0097】
ここで、A1、A2、A3、A4、A5、A6、は、グループAのメンバーである各コードシンボルである。一方、B1、B2、B3、B4、B5、B6、は、グループBのメンバーである各コードシンボルである。
【0098】
・グループ内ハミング距離
次に、グループ内のハミング距離について説明する。
同一グループ内は、グループの1つの構成メンバー(コードシンボル)と同一グループ内の他のメンバー(コードシンボル)の関係を調べることでそのグループ内のハミング距離が明らかになる。
【0099】
例えば、グループA(A1,A2,A3、A4、A5、A6)の場合
A1←→A2、A1←→A3、A1←→A4、A1←→A5、A1←→A6
ここで、「全体で所定のハミング距離を満たす条件」(全体で所定の(最小の)ハミング距離を保証する条件)は、グループ間のハミング距離及びグループ内ハミング距離が、共にその条件を満たす(最小限のハミング距離以上のハミング距離を常にある)ことである。
【0100】
この概念図が図3に示されている。図3中、白抜きの双方向矢印で示されている箇所はグループ間ハミング距離が一定の値(最小ハミング距離)以上あることを意味している。また、白抜きの円で示されているグループは、そのグループ内ハミング距離が一定の値(最小ハミング距離)以上あることを意味している。
この図3中、Xで示された範囲では、全ての色彩配列間でハミング距離が保証されている。従って、このXで示された範囲のコードを用いて自動認識コード体系を構築し、利用すれば、最小ハミング距離が保証されたコード体系を利用することができ、エラーに耐性のあるコードを用いることができる。
【0101】
例えば6セル色彩配列の場合、上述したグループ間のハミング距離は図4の表のようになる。このように、グループA―B間、グループA―C間、グループC1−C2間、においては、ハミング距離が2以下となる場合がある。
【0102】
従って、例えば、ハミング距離3以上の組み合わせを得たい場合には、
・グループB+グループC1、又は、
・グループB+グループC2
を利用することができることが図4から読み取ることができる。この場合、色彩配列はグループBの構成色彩配列2通りと、グループC1もしくはC2の構成色彩配列3通り、の合計5通りを得ることができる。グループB+グループC1の場合の様子が図5に示されている。
【0103】
◆対称性
ところで、自動認識コードの応用範囲・用途によっては、例えばひも状の物体に繰り返し色彩配列を施した場合も想定しなければならない場合もある。
この場合、繰り返してマーキングされた色彩配列(群)から切り取られた一部からは、先頭と終端の区別をつけることは困難である。
従って、かかるひも状物体の用途においては、上表のように得られた色彩配列の逆順が、他の色彩配列の正順と一致することは許されない。
さて、図5の表のデータでは、グループBの2つの色彩配列が互いにそのような関係(逆順が他のコードの正順と一致するという関係)になっている。
【0104】
つまり、
→BGRBGR=BRGBRG←:(矢印は読み順を示す)
となることが明らかである。
【0105】
このようなケースでは、BGRBGR=BRGBRGとおき、同値と見ることによって、(図5の例より1個少ないが)全体で4つの値を持つコード体系であるとして利用することができる。
【0106】
なお、例えば色彩を時間的に順番に発光するケースや、マーキングの正逆関係が予め既知の場合にはこのような事項を考慮する必要はない。この様子の説明図が図6に示されている。
【0107】
図6(a)には、上記ひも状の物体に連続的にマーキングされている場合の様子の説明図が示されている。図6(a)に示されているように、紐のこちら側を見る場合と、向こう側を見る場合とでは、コードの方向が異なる。
【0108】
図6(b)には、色彩を時間的に順番に発光するケースの説明図が示されている。色彩が空間に配置されている場合と異なり、時間的に変化(配置)されているので、図6(a)と異なり、順番が逆となることはない。
【0109】
図6(c)には、一定の幅を有する窓12を介して、物品の上に多列化してマーキングされた(付された)自動認識コードを読み取る場合の様子を示す説明図が示されている。この窓12はシャッター10に空けられたU字形状の切り欠きであり、この窓を介して見える部位が読み取り範囲である。このように、繰り返し色彩配列を多列化することでデータ数を増やすことも考えられる。
【0110】
「具体例2」 12色彩配列の例
12色彩数配列の場合を、6色彩配列の場合と同じように表に示した。この表が図7〜図12までに示されている。12色彩配列の場合は、これらの表に示すようなグループが構成されている。これらのグループ間は、いずれも各色彩数、間隔の構成が異なっており、各グループは構成色の置換操作において閉じており置換群をなしている。
【0111】
これらの各グループを調べ、グループ内ハミング距離が3未満のグループが、図13に示す表中×印で示されている。ここで、×印がグループ内ハミング距離3未満を表す。
【0112】
次に、先に示したように各グループ中の1つの構成要素(色彩配列)と、他グループとの間のハミング距離を調べた。その結果が図14の表に示されている。
【0113】
この図14においては、グループ内で既にハミング距離が3未満となっていたグループを除外し、ハミング距離が3以上のものについてグループ間(のハミング)距離を求めて図14に示した。この図14の表においては、グループ間のハミング距離が3未満を灰色(グレー)で示している。白のマス目は、ハミング距離が3以上を表している。
【0114】
図14の表において、左上部は矩形状にグレーのマスが存在していない一定の領域が観察される。この領域では、全ての構成するグループが互いにハミング距離3以上であることを示している(グループ4131,4222,25b、4121a、6a,4111b,324d,322dである)。(※なお、グループの「名称」は本願発明者らが便宜上つけたものである。)
従ってこれら(グループ4131,4222,25b、4121a、6a,4111b,324d,322d)を構成する45通りの全ての色彩配列(図15の表参照)は、巡回置換を行っても互いにハミング距離3以上を保つ。
【0115】
逆順
なお、図15の表に示した各色彩配列(コードシンボル)を逆順に呼んだ場合の配列も示した表が図16に示されている。
【0116】
さて、この図16の表において、グループ4131は逆読みをしても色彩配列順は変化しないのでそのまま使用できる。また、グループ4122、4121aは逆読みで同一グループ内の他の色彩配列と同じ値を返す。そのため、以下に示すように、それぞれのペアで1つのデータを表すものとして扱えば良い。
【0117】
グループ4122には6個の色彩配列が含まれるが、それぞれペアを組ませて1個のデータを表せば、全部で3種のデータを表すことができる。
【0118】
4122(1)と4122(6)とでペアを組ませる
4122(2)と4122(4)とでペアを組ませる
4122(5)と4122(3)とでペアを組ませる
グループ4121aも同様である。
【0119】
また、324d、322dのグループは反転読みだと異なった別のグループの要素(色彩配列)となってしまうので、逆順読みを考慮しなければならない用途においては採用することはできない。
【0120】
従って、上記表15、16で示した例では反転読みを考慮した場合、表せるデータの数は、
4131グループ:3個
4122グループ:3個
25bグループ:3個
21bグループ:6個
4121bグループ:3個
6aグループ:3個
4111bグループ:6個
となり、合計27通りのデータを表現することができる。
【0121】
まとめ・変形例
以上、自動認識コードとして用いる色彩配列の例を種々説明してきた。
【0122】
(1)
本実施の形態によれば、巡回コードを利用したので、読み取り開始がどこからでも正しくデータを読み取ることができる色彩配列が得られる。
【0123】
また、利用する色彩配列の間のハミング距離を一定値以上に設定することを提案した。ハミング距離の最低値を保証することによって、エラー検出等に寄与することができる。
【0124】
又逆順で色彩配列を呼んでしまった場合でも誤って別のデータを読み取ってしまうことがない構成も説明した。
【0125】
(2)
上述したハミング距離の値としては3程度が妥当であろう。ハミング距離が3であればエラー検知・訂正等に役立つ。一方、この値が大きすぎると、コードの利用効率が悪化し、効率的なデータの表現が困難になる恐れがある。
【0126】
(3)
これまで、自動認識コードとして色彩配列を用いる例を主として説明してきた。この色彩配列は、直線的な1列状に配置されていることを主として説明したが、連なりが追跡可能である限りにおいては、曲線のように曲がっていてもかまわないし、また直角に折れ曲がる等の「折れ」があってもかまわない。
【0127】
特に、ひも状の物品に付す場合は、紐が曲がることによって色彩配列も曲がることになるが、色彩の順番が認識できればデータが復元できるので問題はない。
【0128】
(4)
色彩配列を構成する各色彩が付される領域を記号的にはセルと呼ぶ。換言すれば、所定の色彩が付されたセルを並べることによって色彩配列が構成されている。このセルは、色彩配列を構成する色彩が付されている場所を表す記号上の概念である。もちろん実際のセルは、セルは物品の上の表面であって、所定の色彩のインク等が塗られた物理的な領域・部位である。セルは、しばしば桁とも呼ぶ。
【0129】
(5)
色彩配列が逆順に読まれる場合は、その逆順の色彩配列もまた同一のデータを表すようにグループ分けすることを上で提案した。
【0130】
しかし、単純にその逆順の色彩配列を「使用しない」ことにしても好適である。
【0131】
(6)
また、色彩配列を2列設ける構成について上で説明した。2列設ければ、表せるデータ量は2倍となる。上では2列の例について説明したが、3列でもそれ以上でもかまわない。列数に応じてデータ量を増やすことが可能である。
【0132】
なお、読み取りの手間を考慮すれば、各列は、互いに平行であることが好ましい。但し、デザイン的な観点等から故意に平行を崩すことも好適である。又は、直線の列とkじょくせんの列とを組み合わせることもデザイン的には好ましい場合もあろう。
【0133】
(7)
上で述べた例では、主として有体物である物品上に色彩配列を付して自動認識コードを構成させる例を説明した。
【0134】
このような例では、色彩をいわば空間上で並べているのである。
【0135】
上でも多少説明したが、色彩を時間軸上で並べることも好適である。この場合も、空間上を並べる場合と同様の工夫をすることができ、同様の効果が得られる。
【0136】
但し、時間軸上で色彩を順次発光させる場合は、順序が逆順に読み取ってしまうことが考えにくい。従って、上で述べた逆順に対する対処は、時間軸上の色彩発光の場合は不要である場合が多いであろう。
【0137】
特に、時間軸上で色彩を順番に発光させる場合は、その開始時点が空間の場合よりも一層検知しにくい。従って、空間に色彩を配置する場合よりも、時間軸に沿って色彩を発光する場合の方が 本発明の有用性は高い可能性がある。
【図面の簡単な説明】
【0138】
【図1】巡回コードの概念を説明する説明図である。
【図2】6セルの色彩配列の場合、巡回配列を作成した時に同値となる色彩配列のグループ分けを行い、その結果14種のグループができる例を示す説明図である。
【図3】ハミング距離の概念図である。
【図4】6セルの色彩配列の場合の、グループ間ハミング距離を示す説明図である。
【図5】ハミング距離が3以上である組み合わせを得る場合のグループの取り方の一つであるグループB+グループC1の場合の様子を示す説明図である。
【図6】(a)は、ひも状物体に連続的にマーキングされている場合の様子を示す説明図であり、(b)は、色彩を時間的に順番に発光するケースの説明図であり、(c)は、一定の幅を有する窓を介して、物品の上に多列化してマーキングされた(付された)自動認識コードを読み取る場合の様子を示す説明図である。
【図7】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図8】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図9】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図10】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図11】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図12】12色彩配列の場合においても同値となる色彩配列でグループを形成し、それらグループの構成を示した表である。
【図13】上記図7〜図8で示した12色彩配列における各グループの中で、グループ内ハミング距離が3未満のグループが×印で示された表である。
【図14】上記図7〜図8で示した12色彩配列における各グループの中で、グループ内ハミング距離が3未満のグループについて、グループ間ハミング距離を示した表である。
【図15】図14の左上部分を示す各グループを構成する45通りの全ての色彩配列を示す表である。
【図16】図15の表に示した各色彩配列(コードシンボル)を逆順に呼んだ場合の配列も示した表である。
【符号の説明】
【0139】
10 シャッター
12 窓
【特許請求の範囲】
【請求項1】
所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、
前記m個の色彩配列が繰り返し連続的に配列された場合に、該繰り返された色彩配列のうち、任意の位置の連続するm個のセルからなる色彩配列が、常に同一データを表現することを特徴とする色彩配列。ここで、前記mは、2以上の整数である。
【請求項2】
所定の色彩を順番にm回発光して所定のデータを表現する色彩配列発光方法であって、同一色彩が連続して発光されないように構成された色彩配列発光方法において、
前記m回の発光が繰り返し連続的に引き続いて発光されている場合に、該繰り返された色彩発光の列のうち、任意のタイミングから開始される連続するm回発光された色彩の列が、常に同一データを表現することを特徴とする色彩配列発光方法。ここで、前記mは2以上の整数である。
【請求項3】
請求項1記載の色彩配列において、
第1のデータを表す第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表す第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列。ここで、nは、正の整数である。
【請求項4】
請求項3記載の色彩配列において、前記色彩配列中の各桁の色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列。
【請求項5】
請求項4記載の色彩配列において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列。
【請求項6】
請求項3記載の色彩配列において、前記nは、3であることを特徴とする色彩配列。
【請求項7】
所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、
所定のデータを表す前記色彩配列を、セルについて巡回置換した色彩配列も前記所定のデータを表し、前記所定のデータを表す色彩配列群は、セルについての置換群としてグループ分けされることを特徴とする色彩配列。ここで、前記mは2以上の整数である。
【請求項8】
請求項7記載の色彩配列において、
利用する色彩群は順番が設定されており、
所定のデータを表す前記色彩配列を、色彩について前記順番に基づき循環置換した色彩配列は、前記所定のデータとは異なる他のデータを表し、前記他のデータを表す色彩に対する置換群としてのグループに属することを特徴とする色彩配列。
【請求項9】
請求項1記載の色彩配列において、
前記色彩配列は、逆順に読んだ場合も、正順に読んだ場合と同一のデータを表すことを特徴とする色彩配列。
【請求項10】
請求項1記載の色彩配列において、
前記色彩配列は、逆順に読んだ場合に、正順に読んだ場合とは異なる他のデータを表す場合は、その逆順の色彩配列が、利用できる色彩配列群から除かれていることを特徴とする色彩配列。
【請求項11】
請求項1、3〜10のいずれか1項に記載の色彩配列を物品に付す方法において、
所定の前記色彩配列を連続的に列状に配置する配置ステップ、
を含むことを特徴とする色彩配列を物品に付す方法。
【請求項12】
請求項11記載の色彩配列を物品に付す方法において、
前記列は、直線又は曲線であることを特徴とする色彩配列を物品に付す方法。
【請求項13】
請求項11又は12記載の色彩配列を物品に付す方法において、
複数の前記色彩配列のそれぞれに対して、前記配置ステップを適用し、各色彩配列毎に前記列状に配置を行うステップ、
を含み、前記各色彩配列毎の列が互いに平行に前記物品上に配置されていることを特徴とする色彩配列を物品に付す方法。
【請求項14】
請求項2記載の色彩配列発光方法において、
第1のデータを表すために発光される第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表すために発光される第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列発光方法。ここで、nは、正の整数である。
【請求項15】
請求項14記載の色彩配列発光方法において、前記色彩配列中の各セルの色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列発光方法。
【請求項16】
請求項15記載の色彩配列発光方法において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列発光方法。
【請求項17】
請求項14記載の色彩配列発光方法において、前記nは、3であることを特徴とする色彩配列発光方法。
【請求項18】
請求項1、3〜10のいずれか1項に記載の色彩配列が付された物品。
【請求項1】
所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、
前記m個の色彩配列が繰り返し連続的に配列された場合に、該繰り返された色彩配列のうち、任意の位置の連続するm個のセルからなる色彩配列が、常に同一データを表現することを特徴とする色彩配列。ここで、前記mは、2以上の整数である。
【請求項2】
所定の色彩を順番にm回発光して所定のデータを表現する色彩配列発光方法であって、同一色彩が連続して発光されないように構成された色彩配列発光方法において、
前記m回の発光が繰り返し連続的に引き続いて発光されている場合に、該繰り返された色彩発光の列のうち、任意のタイミングから開始される連続するm回発光された色彩の列が、常に同一データを表現することを特徴とする色彩配列発光方法。ここで、前記mは2以上の整数である。
【請求項3】
請求項1記載の色彩配列において、
第1のデータを表す第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表す第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列。ここで、nは、正の整数である。
【請求項4】
請求項3記載の色彩配列において、前記色彩配列中の各桁の色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列。
【請求項5】
請求項4記載の色彩配列において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列。
【請求項6】
請求項3記載の色彩配列において、前記nは、3であることを特徴とする色彩配列。
【請求項7】
所定の色彩が付されたセルをm個並べて所定のデータを表現する色彩配列であって、同一色彩のセルが隣接しないように構成された色彩配列において、
所定のデータを表す前記色彩配列を、セルについて巡回置換した色彩配列も前記所定のデータを表し、前記所定のデータを表す色彩配列群は、セルについての置換群としてグループ分けされることを特徴とする色彩配列。ここで、前記mは2以上の整数である。
【請求項8】
請求項7記載の色彩配列において、
利用する色彩群は順番が設定されており、
所定のデータを表す前記色彩配列を、色彩について前記順番に基づき循環置換した色彩配列は、前記所定のデータとは異なる他のデータを表し、前記他のデータを表す色彩に対する置換群としてのグループに属することを特徴とする色彩配列。
【請求項9】
請求項1記載の色彩配列において、
前記色彩配列は、逆順に読んだ場合も、正順に読んだ場合と同一のデータを表すことを特徴とする色彩配列。
【請求項10】
請求項1記載の色彩配列において、
前記色彩配列は、逆順に読んだ場合に、正順に読んだ場合とは異なる他のデータを表す場合は、その逆順の色彩配列が、利用できる色彩配列群から除かれていることを特徴とする色彩配列。
【請求項11】
請求項1、3〜10のいずれか1項に記載の色彩配列を物品に付す方法において、
所定の前記色彩配列を連続的に列状に配置する配置ステップ、
を含むことを特徴とする色彩配列を物品に付す方法。
【請求項12】
請求項11記載の色彩配列を物品に付す方法において、
前記列は、直線又は曲線であることを特徴とする色彩配列を物品に付す方法。
【請求項13】
請求項11又は12記載の色彩配列を物品に付す方法において、
複数の前記色彩配列のそれぞれに対して、前記配置ステップを適用し、各色彩配列毎に前記列状に配置を行うステップ、
を含み、前記各色彩配列毎の列が互いに平行に前記物品上に配置されていることを特徴とする色彩配列を物品に付す方法。
【請求項14】
請求項2記載の色彩配列発光方法において、
第1のデータを表すために発光される第1の前記色彩配列と、前記第1のデータとは異なる第2のデータを表すために発光される第2の前記色彩配列とは、それらの間のハミング距離が、n以上であることを特徴とする色彩配列発光方法。ここで、nは、正の整数である。
【請求項15】
請求項14記載の色彩配列発光方法において、前記色彩配列中の各セルの色彩間のハミング距離を各桁毎に求め、求めたハミング距離の総和を前記色彩配列間のハミング距離とすることを特徴とする色彩配列発光方法。
【請求項16】
請求項15記載の色彩配列発光方法において、前記色彩配列に用いられる色彩群に順番が設定されており、その順番に従ってった色彩間の距離を前記色彩間のハミング距離とすることを特徴とする色彩配列発光方法。
【請求項17】
請求項14記載の色彩配列発光方法において、前記nは、3であることを特徴とする色彩配列発光方法。
【請求項18】
請求項1、3〜10のいずれか1項に記載の色彩配列が付された物品。
【図3】
【図6】
【図1】
【図2】
【図4】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図6】
【図1】
【図2】
【図4】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−66927(P2010−66927A)
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願番号】特願2008−231448(P2008−231448)
【出願日】平成20年9月9日(2008.9.9)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願日】平成20年9月9日(2008.9.9)
【出願人】(506226175)ビーコア株式会社 (39)
【Fターム(参考)】
[ Back to top ]