説明

2次元カラーコードの作成方法および復号方法

【課題】電子データを2次元カラーコードに高密度で記録するためのセルの多色化と縮小を図る。
【解決手段】読取りと復号が容易なコード体系を持つガイドコード部と高密度で記録可能なコード体系を持つデータ記録コード部とからなり、画像受像装置によるガイドコード部の読取りと復号によってデータ記録コード部の位置の判定、復号、および処理時間の短縮に必要な、例えばセル数等の数値情報を得ることによって、データ記録コード部の各セルの色の判定に用いる測定画素の位置を高精度且つ短時間で判定することが可能となる。また、復号の誤りがあった場合、測定画素の位置をずらせて誤りを訂正し、更に又、各セルがどの使用色に属する色なのかの判別を、2次元コードの周辺に表示した基準色との対比で判定するのではなく、セル内の画素の色を、使用色に量子化して行うことによって、セルの色の判別の精度を維持しつつ記録密度を高め得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子データを保有することができる2次元カラーコードに関する。
【背景技術】
【0002】
「白黒の限界」
従来から電子データを情報コードに変換する方法、およびその情報コードを用いてコード表示媒体上へ記録しそれらを復号する方法はさまざまな方法が提唱されている。例えば、黒と白のパターンで情報を記録する1次元バーコードや2次元バーコードがいくつか提案されている。しかし、白と黒のパターンで情報を記録するバーコードは表示面積当たりのデータ記録密度が低いために、大量のデータを持つ文書、画像或いは音声等の電子データを取扱うことができない。
【0003】
「カラーの必要性とその読取り精度の限界」
そこで、表示媒体に使用する面積当たりのデータ記録密度の向上を目的としたさまざまな2次元カラーコード体系が提唱されている。符号化する電子データのビット配列を色に置き換える場合、白黒の2色ではなく、赤や青も用い使用する色(以下、「使用色」とする)の数を増やした方が、1つのブロック(以下セルという)で表せるbit数が増え、データ記録密度を向上できるからである。
【0004】
「色の変化による色判定の困難」
しかし、2次元カラーコードは、使用する色(以下、「使用色」とする)の数が増えた分、退色、印刷ムラ、照明光、汚れなどの変色原因による色の変化(以下、「変色」という)によるセルの色の誤判定を起こし易いため、復号精度は、白黒の2次元コードに比べて低い。
【0005】
「多色になるほど色判定が困難」
一般的に、表示された2次元カラーコードの領域や各セルの色の判定は画像受像装置によって取得した受像画素の色情報を利用しているために、使用している色の違い(色差)があるほど識別がし易い。一方、多色になればなるほど使用している色夫々が持てる領域(その色と判断される色域)が狭くなる。つまり、退色、印刷ムラ、照明光、汚れなどの影響による変色があっても使用している元の色として判別できる色域が狭くなるため、セルの色を元の色とは違う色として誤認識し易い。従って、記録密度を向上させるために使用色の数を増やすと、色の誤認識の率が高くなってしまう。
【0006】
「色の境界領域における色混合とセルサイズの縮小の困難」
コード表示媒体に表示されているコードを復号するために用いる画像受像装置は、画像受像装置が持つ各センサーが受信した色の波長を、例えばRGB値のような電子媒体上で扱える情報(受像画素の色情報)に変換しているが、色の境界線付近は、隣接する互いの色の波長が混合された波長が、受像画素の色情報となるため、色の境界付近では、セルの元々の色とは違う色を受像し易い。セルサイズが小さくなればなるほど、セルの境界が密接しあうため、セルの元々の色の波長を受像できるセンサーの領域割合が減少してしまう。そのため、セルサイズの縮小は、セルに割り当てられている元々の色情報と同じ受像画素の色情報を取得することをより困難にする。
【0007】
「従来法の限界」
従来の2次元カラーコードにおいては、色の成分分析等の画像解析に頼ったセルの境界線や色の判定手法は、画像受像装置によって取得した受像画素の色情報を解析の基礎情報に用いており、これらは、色の境界付近における色の混合だけでなく、色そのものが、退色、印刷ムラ、照明光、汚れなどの影響により変化し易い情報であるため、特に色数が多くなると一層誤判定をし易い。そのため、色変化に大きくは影響されない程度の大きな色差と大きなセルサイズを必要とする。従って、色数の増加やセルの縮小により記録効率の向上を図ることは、実用的な復号精度を維持することが原理的に困難であるので限界がある。実際に、実用環境下においては、復号精度を維持するため、限定された色数(高々白黒+3色の5色)と大きなセルサイズ(例えば最小0.5mm)しか使用されておらず、記録密度は低い。
【0008】
又、従来法においては、2次元カラーコード領域の中に使用する全ての色を基準色(カラーバーと同義語)として表示し、読取った当該画素の色成分と、同じく読取った各使用色の色成分とを比較して、当該画素の使用色を判定することが多い。その場合、正確に高い精度で基準色が読取れるように2次元カラーコード領域に大きな基準色用スペースを取らなければならないこと、使用色の色数が多くなると色差が小さくなり光学的方法のみでは読取りに誤差が生じやすいこと、基準色領域が汚れて変色した時は基準色としての役に立たなくなること、等の問題がある。従ってカラーコードにおいて記録密度を高めるために多数の使用色を用い、その使用色を基準色としてカラーコード領域に表示してそれとデータ記録コードのセルの色とを比較して使用色を識別させる方法には、色数に限界があり高い記録密度は実用環境下においては実現できない。
【0009】
「従来の開発技術と文献」
以上の課題を解決するために種々な方法が提唱されているが、未だ文書、画像、音声などの大量の電子データを高密度で記録し高精度で復号出来る2次元カラーコードは開発されていない。下記の先行技術文献にあるように、従来は、特許文献3を除いて、読取復号精度を上げるためには、セルについての特性、即ち、形、並べ方、枠取り、色、色の組合せ等に重点を置いて種々の工夫を凝らし、どのような形と色の2次元カラーコードを表示すればよいかを研究してきた。更にまた、基準色をカラーコードに直接表示する方法を脱していない。
【0010】
このような技術背景のもとに、本発明は、従来のようにセルの特性に工夫を凝らすのみではなく、2次元カラーコードからの受像画素データそのものの処理に工夫を施したこと、及び、基準色を表示しないこと、等の従来にない画期的な創作を行っている。その結果、使用色数を多くしセルサイズを縮小して記録密度を向上させても、読取復号精度を維持することが可能となり、更に読取の時間を短縮することに成功した。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第3996520号((株)デンソーウェーブ 請求項1−5。)セル読取精度向上の一方法についてであるが、受像画素の処理方法の改良についての記述はない。また、基準色をカラーコードに表示している。
【特許文献2】特許第4241803号((株)デンソーウェーブ 請求項1−2。)セル読取精度向上の一方法についてであるが、受像画素の処理方法の改良についての記述はない。また、基準色をカラーコードに表示している。
【特許文献3】PCT/JP2008/059885=WO2009/144794A1(GMGカラー・テクノロジーズ(株) 社名変更 カラーコード・テクノロジーズ(株) 請求項 1−2。)セル読取精度向上の一方法についてであり、受像画素の処理方法の改良について記述してある。しかし、本発明の処理方法とは違う。
【非特許文献】
【0012】
【非特許文献1】Microsoft Tagと言う表題のMicrosoft社の Home Page:セル読取精度向上の一方法としてセルの特殊な形状を提唱している。
【非特許文献2】2008 International Symposium on Parallel and Distributed Processing with Applications : Development of novel finder pattern for effective color 2D-barcode detection;Edith Cowan University, Australia:セル読取精度向上の一方法についてであり、記録コードの位置の判定、そのセルサイズ、その基準色等を記録コード領域とは別領域での表示を提唱している。しかし、セルサイズはデジタル表示ではなく実物表示なので小さく出来ず、記録コードの高密度化に限界がある。また受像画素の処理方法の改良についての記述はない。また、使用色をカラーコードに表示している。
【非特許文献3】2008 International Symposium on Parallel and Distributed Processing with Applications : The Use of Border in Colour 2D Barcode;Edith Cowan University, Australia:セル読取精度向上の一方法についてであり、各セルの周辺に色枠を付けることを提唱している。受像画素の処理方法の改良についての記述はない。また、基準色をカラーコードに表示している。
【非特許文献4】Four-Bit Colour Models for 2D ColourBarcodes;Edith Cowan University, Australia:16色を使った大量情報格納可能なカラーコードと、16色の組み合わせ方法は輝度と色度のスペースでユークリッド距離が最大になるような組み合わせを提唱している。受像画素の処理方法の改良についての記述はない。
【発明の概要】
【発明が解決しようとする課題】
【0013】
以上に述べたように、従来の2次元カラーコードは、コード表示媒体上でのデータ記録密度を向上させようとすると、復号精度が低下するという弱点があるので、電子データをコード表示媒体上に高密度で記録する手段としては課題がある。現実的な使用環境下においては、黒白の2色と赤、緑、青の3色の合計5色までの色数であり、セルサイズも0.5mm以下では使用されておらず、記録密度は低い。又、基準色をカラーコードの周辺、あるいは内部に表示し、使用色の補正やセルの色を判断する基準として用いる方法は、使用色の読取りに誤差が生じたり、変色や汚れたりすることで、基準として役に立たなくなる。従って色判定の誤差を無くすには、使用色の色差を大きくし、色数は少なくしなければならないので、高記録密度コードのために色数を多くするのには限界がある。この観点からも使用色のコード表示は高密度で記録する手段としては課題がある。
【課題を解決するための手段】
【0014】
2次元カラーコードを読取り復号するために、まずデジタルカメラ等の画像受像装置でコード表示媒体上の2次元カラーコードを受像する。受像した画像の中の個々のセルに対応して想定される領域内には、受像画素が画像受像装置の性能に従って何十何百とある。セルとセルの境界付近の領域においては色の混合が避けられず、セル境界領域では受像画素は隣接するセルに使用している色同士が混合した色を示すことになる。セルサイズが大きい時は、境界の混合領域は一つのセル全体に占める面積比率が小さいので、境界領域付近さえ避ければ、セル内の何処の受像画素の色情報を基にセルの色を判定する方法でも誤りは少ないが、記録密度を高めるためにセルサイズを小さくすると、セルに割り当てられる受像画素数が減少するとともに、境界の色混合領域の一つのセル全体に占める面積比率が大きくなり、セル内に境界の色混合の影響を受けない正確な色情報を持つ受像画素の領域が減少し、何処の画素を測定するかが精度上重要な問題となる。
【0015】
更に、もっと記録密度を高めるために色数を多くすると(例えば、白、黒、赤、緑、青に、黄、赤緑(マゼンタと同義語)、青緑(シアンと同義語)を加えて8色を使用すると)、セルの使用色の色差が小さくなるため、正しく色判別するために個々の使用色が持てる変色に耐えうる色域が狭くなり、復号精度を維持することが益々難しくなる。そのためセルの何処の受像画素を測定してそれらのデータについてどんな処理をするかが益々重要な問題となる。従来技術はセルサイズも大きく、色数も限定されていたので、セル内の何処の画素を測定しても色判定の精度に大きな影響をあたえなかったので画素処理について工夫がなかった。
【0016】
本発明は、セルサイズを小さくし色数も多くしても高い復号精度を維持するために、従来のようにセルの形状や配列パターンに対する工夫ばかりではなく、画像受像装置によって取得される受像画素の特性を考慮したコード体系やデータの処理方法を工夫した。それが可能となるようにセルの色判定に用いる受像画素の特定方法とその処理を実施するために必要となる情報(数値情報を含む)が精度高く容易に得られるような画期的な工夫を創作した。以下、本発明について述べる。
【0017】
第一に、2次元カラーコードをコード表示媒体上でガイドコード部とデータ記録コード部の2領域に分け、前者では位置の判定や読み取りが容易に高精度で行えることに主眼を置いたカラーコードとし、後者では記録密度が高いことに主眼を置いたカラーコードとする。
【0018】
第二に、ガイドコード部は、2次元カラーコード領域を含む受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像解析のみで、その領域の判定や復号が容易且つ正確に行え、この位置の判定または復号によって、データ記録コード部の位置の判定、復号、またはその時間の短縮に必要となる、例えばデータ記録コード部の縦横のセル数の値といった情報(以下、「前提情報」という)を取得することを目的としている。そのため、特徴的な形状やパターンを持たせた単なるマークまたはシンボルとしての役割ばかりではなく、それ自体にデータ記録コード部の位置の判定、復号、またはその時間の短縮を行うための前提情報が符号化されているコードであることに特徴がある。また、ガイドコード部はその性質上「高い復号精度」が求められるのに対し、セルの縮小や使用色の増加による「高い記録密度」を求められるデータ記録コード部は目的が異なる。従って、ガイドコード部とデータ記録コード部は、「形状」「セル数」「セルサイズ」「使用色数」のうち1つ以上の違いを持った別のコードであることも特徴としている。具体的には、互いの性質上、これらを携帯電話のデジタルカメラ等の一般的な画像受像装置でも容易且つ正確に読取るためには、ガイドコードの色情報についてはセルのサイズはデータ記録コードよりも大きくし、又、色数も少ない、データ記録コードとは別のコード体系とする。
【0019】
ガイドコード部とデータ記録コード部の位置の判定方法は、ガイドコードの位置の判定または復号に完全に依存した方法でも良いし、それに依存せずに2次元カラーコード領域を含む受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像処理によっても良い。ガイドコード部に格納されている位置決めに関する色情報は、ガイドコード部の位置、ガイドコード部とデータ記録コード部との距離、上下左右、端点位置、等、採用する位置の判定方法に必要な情報である。
【0020】
ガイドコード部の領域は、データ記録コード部領域から独立した領域でも良いし、凹みのない形のデータ記録コード部領域に、例えば図2に符号2aないし2fの何れかで示すように凹みを作ってまたは浮島のように含まれていても良い。つまり、ガイドコード部の位置情報を示す領域は、データ記録コード部領域内に含ませても良い。
【0021】
また上記ガイドコード部が持つデータ記録コード部復号のための受像画素の測定と処理の前提条件情報は、例えば縦横セル数、セルサイズ、誤り符号検出・訂正のための冗長レベル、コードの分割数、分割の順番、コードの処理方法、等の中で少なくとも縦横セル数を含む一つ以上の数値情報を含み、ガイドコード部はそれを色情報として持つ。ここで言う色情報とはガイドコード部のセルの使用色を言い、読取装置内に、使用色の色情報(例えばRGB値)と前記の前提条件情報を対応させた変換テーブルを持たせることで、ガイドコード部の色情報を前記の前提条件情報に変換することができる。
【0022】
第三に、データ記録コード部は、ガイドコード部の位置の判定または復号によって得られた情報をもとに位置の判定を行うことができる。ガイドコード部の位置とデータ記録コード部の位置関係(例えば、「データ記録コード部とガイドコード部のそれぞれの左右両端の長さは、必ず同じである」「ガイドコードの縦の長さと同じ間隔分離れた下部に位置する」といった一定の位置関係を持たすことで、それを基に、データ記録コード部の位置を判定、または判定に用いる領域を限定することができる。これにより、2次元カラーコード領域を含む受像画像からデータ記録コード部の位置の判定を容易に行うことができる。または、位置判定を行う受像画像の領域を限定できるので、受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像処理の時間を短縮できる。ガイドコード部の位置とデータ記録コード部の位置関係によってデータ記録コード部の位置を判定しない方式を取ることも出来るが、その場合でも、データ記録コード部を構成するセル、或いはコードの四角(四隅と同義語)には有色(白以外の色)の使用色を用い、縦横m対nの比率で構成される四角形、または四角を頂点とする四角形を形状の特徴とし、且つデータ記録コード部の周辺には、一定幅以上の白枠を設けることで、これを前提としたデータ記録コード部の位置の判定を行える。例えば、データ記録コード部の位置の判定に用いる受像画素の各画素の色情報を「白」と「白以外の色」を持つ画素に分け、例えば「白」=「0」「白以外の色」=「1」とした場合、「1の縦横m対nの比率で構成された四角形の領域」=「データ記録コード部である」とすることで、データ記録コード部の位置を判定できる。データ記録コード部の位置を判定した後、データ記録コード部のみの受像画素の色情報(例えばRGB値)を得ることができる。
【0023】
次に、データ記録コード部の受像画素の色情報は、画像受像装置によって受像されるまでの色の退色、印刷ムラ、照明光、汚れなどの変色原因によって変色しているので、もともとの色であるデータ記録コード部の作成段階において割り当てられていた使用色に変換する。
受像画素として取り込まれたデータ記録コード部の色情報(例えばRGB値)は、環境によって変色の傾向が異なるが、各使用色は、その傾向に合わせて同様の方向に変色している。例えば、暗い照明環境下で画像受像装置によって受像した画像は、全体的に黒っぽくなり、明るい照明環境下で受像した画像は、全体的に白っぽくなる。このとき、もともとの割り当てられていた色の色空間における位置関係は、その方向の色寄りの空間にゆがめられた状態になるが、同様の方向に向かって変色しているので、複数の使用色を割り当てられていた各セルの受像画素の夫々の色情報は、変色による色情報のばらつきがあったとしても、似たような色情報を持っている可能性が高く、色空間における各受像画素の色情報が示す位置は、もともとの使用色が分かれて設定されていたように、全体的に使用色の色数分のグループ群に分かれやすい傾向を持つ。そこで、使用色の色数に合わせて各受像画素の色情報の量子化(その意味は下記に定義してある)を行い、各グループの位置と、もともとの使用色の位置関係をもとに、各グループがもともとどの使用色が割り当てられていた受像画素なのかを判定することができる。これにより、2次元カラーコード周辺に変色の補正や色の判定に使用する基準色を配置する必要がない。ここで言う量子化の意味を説明する。
量子化という言葉はもともとは量子力学から来るが、ここではより一般的意味として使い、連続量を離散的量で表すことを示す。実際に測定される各画素の色情報はRGB値で表される連続量であるが、それらはもともとの使用色が持っているRGB値とはセルの変色や画像受像装置の特性によって「ずれ」が生じ必ずしも一致しない。しかし概ねはもともとの使用色のRGB値の近傍の値にばらついている。そこでそれらの実測された各画素のRGB値を最も近傍に位置するもともとの使用色のRGB値に置き換えてそれらの画素の色情報とする。従って置き換えられた色情報は全てもともとの使用色の色情報に統一される。これを量子化すると言う。量子化の数学的方法は、RGB値の3次元空間においてベクトル距離またはユークリッド距離の最短距離にあるもともとの使用色の値に置き換えたり、逆にもともとの使用色のRGB値の近傍に閾値を設定して夫々の閾値内に入る実際の測定値をもともとの使用色のRGB値に置き換えたりする方法もある。方法はその他にもあるが要するにもともとの使用色のRGB値に置き換えてしまうことである。なお測定値に異常に長いベクトル距離や閾値を越えるものがあれば異常値としてその画素は排除してもよい。
このようにして、グループ内の受像画素の色情報を、もともと設定した使用色の色情報に変換する。これにより、データ記録コード部の受像画素は、使用色の何れかの色情報が割り当てられた画素のみで構成された画像となる。
【0024】
この処理の前に、ノイズ(異常値と同義語)となる受像画素の低減と、量子化を行う受像画素数の低減による処理時間を短縮するために、データ記録コード部の受像画素を、隣接しあうX×Y個の受像画素ごとに、各受像画素が持っている色情報(例えばRGB値)の平均値を求め、一つの画素に集約させても良い。これを以下で集約画素という。この集約画素を上記のように量子化してもともとの使用色を判定しても良い。
【0025】
以下に、受像画素の色情報を量子化から判定した使用色の色情報に変換する方法の一例を示す。
「例」
先ず、データ記録コード部の受像画素の色情報(例えばRGB値)が示す値を、その色情報を表現している空間(以下、「色空間」という)にマッピングし、使用色の数と同様の数にグループ群に分ける。次に、全グループの夫々の中心位置から各使用色の色情報の示す位置に向けベクトル線を引き、各ベクトル線上で最も近接する使用色を見出し、そのグループを使用色に属すグループと判断し、そのグループ内の受像画素の色情報を、属する使用色の色情報に変換する。または、隣合うグループの中心位置間の中間点を求め、その値を隣合うグループ同士の閾値として使用色を判定する。
【0026】
次にガイドコード部の復号によって読取ったデータ記録コード部のセルの縦横数から、データ記録コード部の各セルの中心位置の受像画素の位置を判定する。セルの中心付近は、隣接する異なる使用色をもったセルの混色の影響が最も少ない部分であるため、この位置の受像画素の色情報をそのセルの使用色として判定する。このときの受像画素は、段落「0023」および段落「0024」の処理工程により既に、使用色の色情報をもっているので、その色情報をそのままそのセルの使用色として判定する。従来の方法であれば、ヒストグラム分析等による画像解析でセルの境界、数、色を判断する方法が一般的だが、この方法では隣接するセルに同じ色を割り当てることができない。そのため、セルとセルの間に境界線を設けたり、セルの配置や色の割り当て方に工夫したりする必要があった。また、その特徴を正確に把握するには、一つのセルに対しノイズとその特徴を明確に区別できるだけの十分な受像画素数を割り当てる必要があった。しかし、本発明による方法では、ガイドコード部の復号によって既にデータ記録コード部のセルの正確な縦横数を取得しているので、その値とデータ記録コード部位置の判定によって取得した受像画素の縦横の画素数の値をもとに、簡単な計算によって、中心位置の画素を判定することができる。
また、この処理工程の前に、段落「0023」および段落「0024」の処理工程を踏んでいることで、すでにデータ記録コード部の受像画素は、ノイズとなる受像画素の低減処理や量子化により分類された比較的信頼性のある使用色の色情報を持っているため、中心位置と判定した受像画素の色情報をそのままそのセルの色として判定できる。
【0027】
各セルの中心位置が最初に得ることにすれば、その中心位置の周辺の予め設定した数の画素または集約画素に限定して、上記の量子化による使用色の決定やセルの使用色の判定を行うことによって処理時間の短縮を行うことも出来る。
【0028】
従来の方法では、仮に事前にデータ記録コード部のセルの縦横数を把握し、中心位置の受像画素を判定する事はしていない。もしそれができたとしても、その中のいくつかの受像画素は、ノイズであったり、著しく変色している受像画素であったりする場合がある。本発明のように、事前に平均化の処理や、より多くのサンプルをもとに量子化され使用色に分類されている受像画素の色情報と比較すると、事前にこうした処理がほどこされていない受像画素だけを色の判定に用いることは、正確性を欠くことになる。あるいは、中心の受像画素付近の幾つかの受像画素を選択し、各受像画素の色情報を平均化してノイズや変色の誤判定を補完するには、一つのセルに対し複数個の受像画素数が割り当てられている必要がある。
本発明によるデータ記録コード部は、隣接するセルが同じ色であっても、セルとセルの間に境界線を設ける必要がなく、セルの配置や色の割り当て方に工夫する必要もない。さらに、極論すれば、データ記録コード部のセルに割り当てられる受像画素数が1つしかない画像であったとしても、全ての画素間の量子化をすることによって理論上データ記録コード部の復号が高い精度で可能であり、セルの色の判定がより正確に行えるよう、その処理の工程を工夫している。
【0029】
以下に各セルの中心位置の受像画素を判定する計算方法の一例を示す。
「例」
データ記録コード部は、「縦m個」×「横n個」の受像画素によって構成された画像であり、ガイドコード部の復号によって得られたデータ記録コード部の「縦のセル数=a」「横のセル数=b」(縦a個×横b個のセルで構成されたデータ記録コード部である)とした場合
このとき、「縦Nc番目」且つ「横Mc番目」に位置するセルの中心にあたる受像画素の位置「縦Pp番目」と「横Qp番目」を求める式は、サフィックスcはcellを表しpはpixelを表すとして、
Pp=(Nc−1)×(m÷a)+((m÷a)÷2)
Qp=(Mc−1)×(n÷b)+((n÷b)÷2)
となる。
【0030】
次に、判定した各セルの使用色からビット配列への変換を行う。
これは、予め読取装置内に持たせている使用色の色情報とビット配列を対応させた変換テーブルにもとづいて行う。
以下に変換テーブルの一例を示す。
「例」
例えば、3bit分の各ビット配列を色に変換する場合、ビット配列は「000」「001」「010」「011」「100」「101」「110」「111」の8パターンあるので、それぞれを異なる色に変換するには、使用色は8色必要となる。例えば、赤、緑、青、青緑、赤緑、黄、黒、白、の8色を使用し、以下のように対応させ、それぞれに識別する番号を割り当てたとする。
000=赤=1、001=緑=2、010=青=3、011=青緑=4、100=赤緑=5、101=黄=6、110=黒=7、111=白=8
例えば、RGB値を用いて使用色の色情報を表現すると、以下のような対応表となる。
番号 ビット配列 使用色 RGB値
1 000 赤 255,0,0
2 001 緑 0,255,0
3 010 青 0,0,255
4 011 青緑 0,255,255
5 100 赤緑 255,0,255
6 101 黄 255,255,0
7 110 黒 0,0,0
8 111 白 255,255,255
このような使用色の色情報とビット配列を対応させた情報を、予め読取装置内に、変換テーブルとして持たせておくことで、判定した各セルの使用色の色情報からビット配列に変換できる。
【0031】
次に、各セルから取得したビット配列を、符号の際に配置した順番に従い結合し、符号したデータを取得する。ただし、セルの色の誤判定により、一部誤ったビット配列に変換されてしまったデータを取得してしまう場合もあるので、取得したデータの誤りを訂正するために、電子データをカラーコードする際に、予め、誤り訂正コード(冗長符号と同義語)を含んだデータを符号しておく。そうすることで、取得したデータに含まれている誤り訂正コードを用いたビット配列の検出と訂正ができる。しかし、一般的に使用されている誤り訂正の手法は、誤り訂正コードの包含率にもよるが、訂正できる誤りの量には限界がある。また、誤り訂正コードが変換されているセルの色判定を誤ってしまうと、誤り訂正コード自体が誤ったデータになってしまい、その役割を果たせなくなる場合がある。
【0032】
そこで、本発明では、最初に取得したデータで誤りを訂正ができずに復号できなかった場合は、全部または一部のセルの使用色について、判定する際に採用した受像画素の隣(或いは、N個分左右上下等の予め決めておいた位置)の受像画素の色情報を、新たにそのセルの使用色として採用し、その使用色のビット配列に変換したデータを用いて、再度上記同様の誤り検出・訂正処理を行う。再度訂正できなければ更に隣(或いは逆の隣など予め順番を設定しておく)の受像画素を採用して同じ処理を行う。この作業を誤りが訂正できるまで繰り返すことで、セルの使用色に採用する受像画素の選択ミスによる誤ったビット配列の取得を補正できる。
【0033】
上記の第一から第三までの3つの過程を経ることによって、受像画素の平均化、量子化、データ誤り検出・訂正、訂正不能時に受像画素の位置シフトの処理を施され、誤りや異常値の排除・訂正が行われることによって、データ記録コードの読み取り精度が向上すると共に、受像画素の集約化と限定化によって処理時間の短縮化も図ることが出来る。
【発明の効果】
【0034】
本発明によって、従来は読取り復号精度が悪くなるので困難であったカラーコードの多色化とセルサイズの縮小化が、読み取り復号精度を維持しつつ大幅に可能となった。従来はカラーコードの色数は例えば5色位が高々であったし、セルサイズは0.5mm幅程度が最小であった。本発明により色数は8色またはそれ以上でも良くなり、セルサイズは画像受像装置の性能によるが0.3〜0.1mm幅まで縮小出来るようになった。そのため実用上、データ記録コードの密度が一桁高くなり表示面積当たりのデータ収容量が飛躍的に多くなった。
【図面の簡単な説明】
【0035】
【図1】実施の形態の表示された2次元カラーコードの基本形態を示す図。
【図2】実施の形態の表示された2次元カラーコードの変形形態を示す図。
【図3】実施の形態の2次元カラーコードの作成と読取り復号の全体を示す構成図。
【図4】実施の形態の受像画素、集約画素、セルの構成図。
【発明を実施するための形態】
【0036】
(1)2次元カラーコード作成方法、符号化方法
(1−1)ガイドコードとデータ記録コードの特徴
ガイドコード体系は、位置の判定やデータの復号の精度が高いものを使用する。例えば、使用する色の数は白黒またはRGBやCMYといった2色ないし3色に限定し、色差を保つことによって、色の退色、印刷ムラ、照明光、汚れなどの変色原因の影響を受け難くくしたり、セルのサイズを大きくすることで形状や色を識別しやすくする。既に実績のある一次元バーコードやQRコードでも良いが印刷面積が大きかったり印刷形状がデータ記録コードの形状と整合性が取れなかったりするので適当ではない。セルの色の並び順番でバイナリーデータを発信する特開2008−27029のような復号精度に主眼を置いたコード体系を利用することも一つの方法である。
【0037】
データ記録コード部は、電子データを記録するため記録効率を主眼にした高記録密度のコード体系であり、ビット配列に色を割り当てる一般的な符号化方法をとる。そのため、目標とする復号精度を維持できる範囲において使用可能な最大限の色数を使用すること、および印刷した際に再現可能な範囲においてセルのサイズを縮小することが理想である。
実際には、赤、緑、青、青緑、赤緑、黄、黒、白の8色とし、印刷するセルサイズは印刷性能よりも画像受像装置の性能に制約され、それに合わせて0.1〜0.3mm程度まで縮小することが可能である。
【0038】
(1−2)2次元カラーコードの作成方法と符号化方法
図1に示すガイドコード部2には、2次元カラーコードの位置情報(端点位置、上下左右、ガイドコード部とデータ記録コード部の距離、等)、データ記録コード部の縦横のセルの数、セルサイズ、冗長レベル(誤り訂正能力のレベル)、2次元カラーコードの分割数、分割順番、コード処理方法、等を表す目印として、或いは数値データを色情報として符号化してコード表示媒体に印刷または表示する。これらデータの入力は、図3に示すように、パソコンにダウンロードした専用エンコードソフトウェアによって、人が直接入力しても良いし、電子データファイルから入力してもよい。エンコードの方法は、入力データを2進法ビット配列に変換し、変換するビット数の単位ごとに、予めビット情報と対応させている使用色に変換し、その色情報をガイドコード部のセルパターンの色としてコード表示媒体に印刷または表示する。
【0039】
次に図1に示すデータ記録コード部3は、ガイドコード部を基準にデータ記録コード部の位置特定が可能になるよう一定の位置関係になるように配置する。データ記録コード部3には、2次元カラーコードとして記録すべき文字、表、画像、音等のデータをセルで符号化して印刷する。これらデータの入力は、図3に示すように、パソコンにダウンロードした専用エンコードソフトウェアによって電子データファイルから入力する。エンコードの方法は、電子データを2進法ビット配列に変換し、後に復号した時にデータ誤り検出・訂正用の数学処理をするために必要な冗長ビットを付加し、ビット配列を3ビット単位にまとめ、それら単位ごとに予めビット情報と対応させている8使用色を示す番号に変換し、それら使用色を示す番号をそれらに対応させて予め設定されたRGB色データに変換し、その色情報をデータ記録コード部の各セルの色としてコード表示媒体に印刷または表示する。
【0040】
上記2進法ビット配列(バイナリーデータと同義語)と使用色との関係をもう少し説明する。
例えば、3bit分の各ビット配列を色に変換する場合、ビット配列は「000」「001」「010」「011」「100」「101」「110」「111」の8パターンあるので、それぞれを異なる色に変換するには、使用色は8色必要となる。例えば、赤、緑、青、青緑、赤緑、黄、黒、白、の8色を使用し、以下のように対応させ、それぞれに識別する番号を割り当てたとする。
000=赤=1、001=緑=2、010=青=3、011=青緑=4、100=赤緑=5、101=黄=6、110=黒=7、111=白=8
例えば、RGB値を用いて使用色の色情報を表現すると、以下のような対応表となる。
番号 ビット配列 使用色 RGB値
1 000 赤 255,0,0
2 001 緑 0,255,0
3 010 青 0,0,255
4 011 青緑 0,255,255
5 100 赤緑 255,0,255
6 101 黄 255,255,0
7 110 黒 0,0,0
8 111 白 255,255,255
【0041】
対象電子データは、記録効率を向上させるために、そのままコード変換するのではなく、ZIPやLZH等、一般的な圧縮技術を用いて圧縮しても良い。
【0042】
データ記録コード部の印刷は、原則的には縦横同じセル数で表記されるよう、圧縮ファイルのビット数÷3=必要セル数であるから必要セル数の累乗根の小数点以下切り上げによって算出されたセル数ごとに改行しデータ記録コードを組成する。
【0043】
(2)2次元カラーコードの読取り方法と復号方法
印刷された2次元カラーコードの読取りと色情報の復号方法について図3に沿って説明する。図3に示すように、デジタルカメラなどの画像受像装置にダウンロードした専用デコードソフトウェアによって2次元カラーコードの読取りと復号が行われる。
【0044】
まず、人がデジタルカメラ或いはスキャナー等の画像受像装置の画面上で、表示媒体に表示された2次元カラーコードを表示し、その位置を凡そ決めてその2次元カラーコード全体を撮影し、2次元カラーコードを含めた領域の色情報をCCD等の撮像素子の画像として取り込む。2次元カラーコードはその周囲に数ミリメートルの白地枠を設けて自動位置の判定がし易いようにする。取り込まれたCCD画像を色成分分析することによって、まずガイドコード部領域の正確な位置の判定が行われ、それを基準としてデータ記録コード部領域の位置の判定が正確に行われる。実際の位置の判定方法は、前述のようにガイドコード部が持つ色と形状の情報に全面的に依存した方法でも良いし、一般的画像処理(2値化、膨張処理、輪郭検出、ポリゴン処理、ガイドコード領域とデータ記録コード領域の抽出等)によっても良い。
【0045】
また、ガイドコード部に格納されている位置の判定情報以外の情報を読取り復号する方法は、ガイドコード部のセルが色数も少なくセルサイズも大きく精度高く復号し易いコード読取り体系であり、形や大きさがデータ記録コードに対して不適当でなければ何でも良い。特開2008−27029のような復号精度に主眼を置いたコード体系を利用することも一つの方法である。
【0046】
このようにして正確に位置の判定されたデータ記録コード領域のCCD受像画素(図4の11とその集合体である4の12)のRGB色成分データがファイルとしてデジタル撮影装置のメモリーに記憶される。受像画素の縦横m×n個を1つの集約画素(図4の13)として全画素を集約画素に区分する。次にガイドコードの色情報から得た縦横セル数データからデータ記録コード画面内の各セルの中心位置を計算する。各セルの中心位置を領域内に含む集約画素とその周辺の予め設定され限定された数の集約画素について、個々の集約画素に含まれている縦横m×nの画素のR、G、B値夫々について平均値を計算し、これらの平均値をデータ記録コードの全集約画素について求め、RGB色空間にマッピングすると8つのグループに分かれるので、各集約画素を量子化によってもともとの8つの使用色に帰属させて各集約画素の色を判定する。或いはグループ化せずに各集約画素の平均値に最も近い値を持つ使用色のR、G、B値に対してそれらの平均値を量子化し、その量子化されたRGB値を持つ使用色を得てもよい。例えば縦横m×n個の画素(A、B、C、D、E、F、・・・・の各画素)のRGB値が
A(R255、G010、B004)
B(R245、G006、B002)
C(R250、G020、B020)
D(R239、G000、B000)
E(R248、G013、B014)
F(R251、G003、B006)
G(R254、G010、B001)
H(R255、G002、B000)
I(R255、G001、B004)



とすると、それらの平均値が(R250.2、G7.2、B5.6)であるとすれば、予め使用色として決めた赤、緑、青、青緑、赤緑、黄、黒、白の色成分(色情報と同義語)にもっとも近い色としてその平均値を量子化すると、R(R255、G000、B000)となりその使用色を特定できる。
【0047】
その特定された使用色を当該集約画素の使用色とする。それらの使用色に対応する使用色を示す番号データを得てそれらの番号を当該集約画素の使用色を示す番号としてメモリーに記憶する。この平均化と量子化は受像画素データの誤りや異常値を緩和し排除するプロセスの1つである。同時に受像画素の集約化と集約画素の限定化によって処理時間の短縮も図ることができる。
【0048】
各セルの中心位置を領域に含む集約画素をそのセル(図4の14)の使用色としその使用色を示す番号を符号する。このようにして全セルの使用色とその使用色を示す番号が決まる。それらをファイルとしてメモリーに記憶する。
【0049】
全セルの使用色を示す番号を搭載している対応表によって3ビットバイナリーデータに変換し、2次元カラーコードを作成した際に電子データをバイナリー符号化してコード化するときに付加したリードソロモン法等の一般的なデータ誤り検出・訂正のための数学的手法を此処で用いて検査し、誤りがあれば訂正する。誤りが訂正できない時は、当該セルの使用色として採用した集約画素の隣(上下左右のシフトのパターンは予め設定しておく)の集約画素の使用色を示す番号を当該セルの使用色を示す番号とし、上記と同様な使用している誤り検出・訂正方法を用いて、誤りの検出と訂正(以下「誤り訂正方式の復号」という)をする。誤り訂正方式の復号ができなければ更に隣(或いは逆の隣など予め順番を設定しておく)の集約画素で同じことを行う。この作業を誤り訂正方式の復号ができるまで繰り返す。誤り訂正方式の復号が完了すれば、符号化したバイナリーデータを得ることができる。このバイナリーデータをバイト等の原始電子データに変換すれば、文書、画像、音声等の原始電子データを再生することが出来る。
【産業上の利用可能性】
【0050】
例えば切手大のサイズに印刷した小さなカラーコードによってでも携帯電話のデジタルカメラで読取ることによって、通信回線を経由することなく、文書、画像、音声などが瞬時に相当な量を再生することが出来るようになる。今後、文書、画像、音声等による商品説明、トレーサビリティ、セキュリティ、視覚障害者のための音声化等々種々な面での社会的貢献が期待される。
【符号の説明】
【0051】
1:2次元カラーコード(ガイドコードとデータ記録コード)
2:ガイドコード
3:データ記録コード
11:データ記録コードの受像画素
12:受像した全画素
13:集約画素


【特許請求の範囲】
【請求項1】
多色のセルが2次元に展開した2次元カラーコードにおいて、光学的な画像の処理と光学的な解析のみにより2次元カラーコードの領域の位置決めとデータの読取り・復号が高い精度で容易に行えるコード体系のガイドコード部と、電子データを高い密度で記録できるよう、少なくても、ガイドコード部より小さいセルを使用したデータ記録コード部から成り、ガイドコード部にはデータ記録コード部の読取り・復号のための前提条件であるデータとして、縦横セル数、セルサイズ、データの誤り検出・訂正レベル、コードの分割数、コードの分割順番、コードの処理方法、等の少なくとも1つ以上のデータを数値情報として持ち、それらの数値情報が色として符号化されていることを特徴とする2次元カラーコードの作成方法。
【請求項2】
ガイドコード部のデータの1つとしてデータ記録コード部の縦横のセル数を含め、それをデジタルカメラ等の画像受像装置で読取り、それらを数値情報として取得することによって、その縦横セル数とデータ記録コード部の縦横画素数を用いた数式による計算処理で、受像したデータ記録コード部の各セルの中心位置にある画素の位置を求めることができ、その中心位置又はその周辺にある設定された数の受像画素の色情報(例えば、RGB値)を使用色について設定されているもともとの色情報に対比して量子化することにより色情報を求め、それを当該セルの色種として判定することを特徴とする請求項1記載の2次元カラーコードの作成と読取り・復号の方法。
【請求項3】
データ記録コード部の全受像画素を縦横任意に設定するm×n個の単位で一個の仮想画素として集約し(集約画素という)、各集約画素内のm×n個の画素の色情報の平均値または量子化された値をその集約画素の色情報とし、各セルの中心位置を領域に含む集約画素又はその周辺にある設定された数の集約画素の色情報を量子化することにより色情報を求め、それを当該セルの色種として判定することを特徴とする請求項2記載の2次元カラーコードの読取り・復号の方法。
【請求項4】
データ記録コード部のセルの使用色の判定の誤りによる符号(ビット配列)の誤りを検出・訂正するために用いる誤り訂正方式による復号処理(誤りの検出・訂正)が出来なかった場合は、当該セルの色の判定に用いた画素または集約画素とは別の予め設定された位置にある画素または集約画素の色情報を、当該セルの使用色として判定し、その使用色に対応しているビット配列を用いて、再度誤り検出・訂正方式による復号処理を行い、誤り訂正方式による復号ができるまで、あるいは、予め設定した回数まで、当該セルの使用色の判定に用いる画素または集約画素の位置を予め設定された方式に従って代えながら誤り検出・訂正方式による復号処理を繰り返すことを特徴とする請求項2或いは3記載の2次元カラーコードの読取り・復号の方法。
【請求項5】
データ記録コード部のセルの使用色を判定するために、基準色を2次元カラーコード領域に印刷または表示せず、予め決めておいたセルの使用色の色情報と、受像画素の色情報、或いはそれを加工した色情報とを比較して量子化することにより色情報を求め、それを当該セルの使用色として判定することを特徴とする請求項1記載の2次元カラーコードの作成と読取り・復号の方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−186613(P2011−186613A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−49219(P2010−49219)
【出願日】平成22年3月5日(2010.3.5)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(510062147)カラーコード・テクノロジーズ株式会社 (1)
【Fターム(参考)】