JP2011186613A - 2次元カラーコードの作成方法および復号方法 - Google Patents
2次元カラーコードの作成方法および復号方法 Download PDFInfo
- Publication number
- JP2011186613A JP2011186613A JP2010049219A JP2010049219A JP2011186613A JP 2011186613 A JP2011186613 A JP 2011186613A JP 2010049219 A JP2010049219 A JP 2010049219A JP 2010049219 A JP2010049219 A JP 2010049219A JP 2011186613 A JP2011186613 A JP 2011186613A
- Authority
- JP
- Japan
- Prior art keywords
- color
- code
- cell
- pixel
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 67
- 238000012545 processing Methods 0.000 claims abstract description 26
- 210000004027 cell Anatomy 0.000 claims description 130
- 238000012937 correction Methods 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 10
- 210000002287 horizontal cell Anatomy 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims 2
- 238000013139 quantization Methods 0.000 abstract description 8
- 238000005259 measurement Methods 0.000 abstract description 5
- 238000004904 shortening Methods 0.000 abstract description 3
- 230000009467 reduction Effects 0.000 abstract description 2
- 238000004040 coloring Methods 0.000 abstract 1
- 239000003086 colorant Substances 0.000 description 81
- 230000008859 change Effects 0.000 description 10
- 238000007639 printing Methods 0.000 description 8
- 238000002845 discoloration Methods 0.000 description 7
- 238000005286 illumination Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000005562 fading Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000012067 mathematical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/06131—Constructional details the marking comprising a target pattern, e.g. for indicating the center of the bar code or for helping a bar code reader to properly orient the scanner or to retrieve the bar code inside of an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/0614—Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Recording Measured Values (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】電子データを2次元カラーコードに高密度で記録するためのセルの多色化と縮小を図る。
【解決手段】読取りと復号が容易なコード体系を持つガイドコード部と高密度で記録可能なコード体系を持つデータ記録コード部とからなり、画像受像装置によるガイドコード部の読取りと復号によってデータ記録コード部の位置の判定、復号、および処理時間の短縮に必要な、例えばセル数等の数値情報を得ることによって、データ記録コード部の各セルの色の判定に用いる測定画素の位置を高精度且つ短時間で判定することが可能となる。また、復号の誤りがあった場合、測定画素の位置をずらせて誤りを訂正し、更に又、各セルがどの使用色に属する色なのかの判別を、2次元コードの周辺に表示した基準色との対比で判定するのではなく、セル内の画素の色を、使用色に量子化して行うことによって、セルの色の判別の精度を維持しつつ記録密度を高め得る。
【選択図】図3
【解決手段】読取りと復号が容易なコード体系を持つガイドコード部と高密度で記録可能なコード体系を持つデータ記録コード部とからなり、画像受像装置によるガイドコード部の読取りと復号によってデータ記録コード部の位置の判定、復号、および処理時間の短縮に必要な、例えばセル数等の数値情報を得ることによって、データ記録コード部の各セルの色の判定に用いる測定画素の位置を高精度且つ短時間で判定することが可能となる。また、復号の誤りがあった場合、測定画素の位置をずらせて誤りを訂正し、更に又、各セルがどの使用色に属する色なのかの判別を、2次元コードの周辺に表示した基準色との対比で判定するのではなく、セル内の画素の色を、使用色に量子化して行うことによって、セルの色の判別の精度を維持しつつ記録密度を高め得る。
【選択図】図3
Description
本発明は、電子データを保有することができる2次元カラーコードに関する。
「白黒の限界」
従来から電子データを情報コードに変換する方法、およびその情報コードを用いてコード表示媒体上へ記録しそれらを復号する方法はさまざまな方法が提唱されている。例えば、黒と白のパターンで情報を記録する1次元バーコードや2次元バーコードがいくつか提案されている。しかし、白と黒のパターンで情報を記録するバーコードは表示面積当たりのデータ記録密度が低いために、大量のデータを持つ文書、画像或いは音声等の電子データを取扱うことができない。
従来から電子データを情報コードに変換する方法、およびその情報コードを用いてコード表示媒体上へ記録しそれらを復号する方法はさまざまな方法が提唱されている。例えば、黒と白のパターンで情報を記録する1次元バーコードや2次元バーコードがいくつか提案されている。しかし、白と黒のパターンで情報を記録するバーコードは表示面積当たりのデータ記録密度が低いために、大量のデータを持つ文書、画像或いは音声等の電子データを取扱うことができない。
「カラーの必要性とその読取り精度の限界」
そこで、表示媒体に使用する面積当たりのデータ記録密度の向上を目的としたさまざまな2次元カラーコード体系が提唱されている。符号化する電子データのビット配列を色に置き換える場合、白黒の2色ではなく、赤や青も用い使用する色(以下、「使用色」とする)の数を増やした方が、1つのブロック(以下セルという)で表せるbit数が増え、データ記録密度を向上できるからである。
そこで、表示媒体に使用する面積当たりのデータ記録密度の向上を目的としたさまざまな2次元カラーコード体系が提唱されている。符号化する電子データのビット配列を色に置き換える場合、白黒の2色ではなく、赤や青も用い使用する色(以下、「使用色」とする)の数を増やした方が、1つのブロック(以下セルという)で表せるbit数が増え、データ記録密度を向上できるからである。
「色の変化による色判定の困難」
しかし、2次元カラーコードは、使用する色(以下、「使用色」とする)の数が増えた分、退色、印刷ムラ、照明光、汚れなどの変色原因による色の変化(以下、「変色」という)によるセルの色の誤判定を起こし易いため、復号精度は、白黒の2次元コードに比べて低い。
しかし、2次元カラーコードは、使用する色(以下、「使用色」とする)の数が増えた分、退色、印刷ムラ、照明光、汚れなどの変色原因による色の変化(以下、「変色」という)によるセルの色の誤判定を起こし易いため、復号精度は、白黒の2次元コードに比べて低い。
「多色になるほど色判定が困難」
一般的に、表示された2次元カラーコードの領域や各セルの色の判定は画像受像装置によって取得した受像画素の色情報を利用しているために、使用している色の違い(色差)があるほど識別がし易い。一方、多色になればなるほど使用している色夫々が持てる領域(その色と判断される色域)が狭くなる。つまり、退色、印刷ムラ、照明光、汚れなどの影響による変色があっても使用している元の色として判別できる色域が狭くなるため、セルの色を元の色とは違う色として誤認識し易い。従って、記録密度を向上させるために使用色の数を増やすと、色の誤認識の率が高くなってしまう。
一般的に、表示された2次元カラーコードの領域や各セルの色の判定は画像受像装置によって取得した受像画素の色情報を利用しているために、使用している色の違い(色差)があるほど識別がし易い。一方、多色になればなるほど使用している色夫々が持てる領域(その色と判断される色域)が狭くなる。つまり、退色、印刷ムラ、照明光、汚れなどの影響による変色があっても使用している元の色として判別できる色域が狭くなるため、セルの色を元の色とは違う色として誤認識し易い。従って、記録密度を向上させるために使用色の数を増やすと、色の誤認識の率が高くなってしまう。
「色の境界領域における色混合とセルサイズの縮小の困難」
コード表示媒体に表示されているコードを復号するために用いる画像受像装置は、画像受像装置が持つ各センサーが受信した色の波長を、例えばRGB値のような電子媒体上で扱える情報(受像画素の色情報)に変換しているが、色の境界線付近は、隣接する互いの色の波長が混合された波長が、受像画素の色情報となるため、色の境界付近では、セルの元々の色とは違う色を受像し易い。セルサイズが小さくなればなるほど、セルの境界が密接しあうため、セルの元々の色の波長を受像できるセンサーの領域割合が減少してしまう。そのため、セルサイズの縮小は、セルに割り当てられている元々の色情報と同じ受像画素の色情報を取得することをより困難にする。
コード表示媒体に表示されているコードを復号するために用いる画像受像装置は、画像受像装置が持つ各センサーが受信した色の波長を、例えばRGB値のような電子媒体上で扱える情報(受像画素の色情報)に変換しているが、色の境界線付近は、隣接する互いの色の波長が混合された波長が、受像画素の色情報となるため、色の境界付近では、セルの元々の色とは違う色を受像し易い。セルサイズが小さくなればなるほど、セルの境界が密接しあうため、セルの元々の色の波長を受像できるセンサーの領域割合が減少してしまう。そのため、セルサイズの縮小は、セルに割り当てられている元々の色情報と同じ受像画素の色情報を取得することをより困難にする。
「従来法の限界」
従来の2次元カラーコードにおいては、色の成分分析等の画像解析に頼ったセルの境界線や色の判定手法は、画像受像装置によって取得した受像画素の色情報を解析の基礎情報に用いており、これらは、色の境界付近における色の混合だけでなく、色そのものが、退色、印刷ムラ、照明光、汚れなどの影響により変化し易い情報であるため、特に色数が多くなると一層誤判定をし易い。そのため、色変化に大きくは影響されない程度の大きな色差と大きなセルサイズを必要とする。従って、色数の増加やセルの縮小により記録効率の向上を図ることは、実用的な復号精度を維持することが原理的に困難であるので限界がある。実際に、実用環境下においては、復号精度を維持するため、限定された色数(高々白黒+3色の5色)と大きなセルサイズ(例えば最小0.5mm)しか使用されておらず、記録密度は低い。
従来の2次元カラーコードにおいては、色の成分分析等の画像解析に頼ったセルの境界線や色の判定手法は、画像受像装置によって取得した受像画素の色情報を解析の基礎情報に用いており、これらは、色の境界付近における色の混合だけでなく、色そのものが、退色、印刷ムラ、照明光、汚れなどの影響により変化し易い情報であるため、特に色数が多くなると一層誤判定をし易い。そのため、色変化に大きくは影響されない程度の大きな色差と大きなセルサイズを必要とする。従って、色数の増加やセルの縮小により記録効率の向上を図ることは、実用的な復号精度を維持することが原理的に困難であるので限界がある。実際に、実用環境下においては、復号精度を維持するため、限定された色数(高々白黒+3色の5色)と大きなセルサイズ(例えば最小0.5mm)しか使用されておらず、記録密度は低い。
又、従来法においては、2次元カラーコード領域の中に使用する全ての色を基準色(カラーバーと同義語)として表示し、読取った当該画素の色成分と、同じく読取った各使用色の色成分とを比較して、当該画素の使用色を判定することが多い。その場合、正確に高い精度で基準色が読取れるように2次元カラーコード領域に大きな基準色用スペースを取らなければならないこと、使用色の色数が多くなると色差が小さくなり光学的方法のみでは読取りに誤差が生じやすいこと、基準色領域が汚れて変色した時は基準色としての役に立たなくなること、等の問題がある。従ってカラーコードにおいて記録密度を高めるために多数の使用色を用い、その使用色を基準色としてカラーコード領域に表示してそれとデータ記録コードのセルの色とを比較して使用色を識別させる方法には、色数に限界があり高い記録密度は実用環境下においては実現できない。
「従来の開発技術と文献」
以上の課題を解決するために種々な方法が提唱されているが、未だ文書、画像、音声などの大量の電子データを高密度で記録し高精度で復号出来る2次元カラーコードは開発されていない。下記の先行技術文献にあるように、従来は、特許文献3を除いて、読取復号精度を上げるためには、セルについての特性、即ち、形、並べ方、枠取り、色、色の組合せ等に重点を置いて種々の工夫を凝らし、どのような形と色の2次元カラーコードを表示すればよいかを研究してきた。更にまた、基準色をカラーコードに直接表示する方法を脱していない。
以上の課題を解決するために種々な方法が提唱されているが、未だ文書、画像、音声などの大量の電子データを高密度で記録し高精度で復号出来る2次元カラーコードは開発されていない。下記の先行技術文献にあるように、従来は、特許文献3を除いて、読取復号精度を上げるためには、セルについての特性、即ち、形、並べ方、枠取り、色、色の組合せ等に重点を置いて種々の工夫を凝らし、どのような形と色の2次元カラーコードを表示すればよいかを研究してきた。更にまた、基準色をカラーコードに直接表示する方法を脱していない。
このような技術背景のもとに、本発明は、従来のようにセルの特性に工夫を凝らすのみではなく、2次元カラーコードからの受像画素データそのものの処理に工夫を施したこと、及び、基準色を表示しないこと、等の従来にない画期的な創作を行っている。その結果、使用色数を多くしセルサイズを縮小して記録密度を向上させても、読取復号精度を維持することが可能となり、更に読取の時間を短縮することに成功した。
Microsoft Tagと言う表題のMicrosoft社の Home Page:セル読取精度向上の一方法としてセルの特殊な形状を提唱している。
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:セル読取精度向上の一方法についてであり、記録コードの位置の判定、そのセルサイズ、その基準色等を記録コード領域とは別領域での表示を提唱している。しかし、セルサイズはデジタル表示ではなく実物表示なので小さく出来ず、記録コードの高密度化に限界がある。また受像画素の処理方法の改良についての記述はない。また、使用色をカラーコードに表示している。
2008 International Symposium on Parallel and Distributed Processing with Applications : The Use of Border in Colour 2D Barcode;Edith Cowan University, Australia:セル読取精度向上の一方法についてであり、各セルの周辺に色枠を付けることを提唱している。受像画素の処理方法の改良についての記述はない。また、基準色をカラーコードに表示している。
Four-Bit Colour Models for 2D ColourBarcodes;Edith Cowan University, Australia:16色を使った大量情報格納可能なカラーコードと、16色の組み合わせ方法は輝度と色度のスペースでユークリッド距離が最大になるような組み合わせを提唱している。受像画素の処理方法の改良についての記述はない。
以上に述べたように、従来の2次元カラーコードは、コード表示媒体上でのデータ記録密度を向上させようとすると、復号精度が低下するという弱点があるので、電子データをコード表示媒体上に高密度で記録する手段としては課題がある。現実的な使用環境下においては、黒白の2色と赤、緑、青の3色の合計5色までの色数であり、セルサイズも0.5mm以下では使用されておらず、記録密度は低い。又、基準色をカラーコードの周辺、あるいは内部に表示し、使用色の補正やセルの色を判断する基準として用いる方法は、使用色の読取りに誤差が生じたり、変色や汚れたりすることで、基準として役に立たなくなる。従って色判定の誤差を無くすには、使用色の色差を大きくし、色数は少なくしなければならないので、高記録密度コードのために色数を多くするのには限界がある。この観点からも使用色のコード表示は高密度で記録する手段としては課題がある。
2次元カラーコードを読取り復号するために、まずデジタルカメラ等の画像受像装置でコード表示媒体上の2次元カラーコードを受像する。受像した画像の中の個々のセルに対応して想定される領域内には、受像画素が画像受像装置の性能に従って何十何百とある。セルとセルの境界付近の領域においては色の混合が避けられず、セル境界領域では受像画素は隣接するセルに使用している色同士が混合した色を示すことになる。セルサイズが大きい時は、境界の混合領域は一つのセル全体に占める面積比率が小さいので、境界領域付近さえ避ければ、セル内の何処の受像画素の色情報を基にセルの色を判定する方法でも誤りは少ないが、記録密度を高めるためにセルサイズを小さくすると、セルに割り当てられる受像画素数が減少するとともに、境界の色混合領域の一つのセル全体に占める面積比率が大きくなり、セル内に境界の色混合の影響を受けない正確な色情報を持つ受像画素の領域が減少し、何処の画素を測定するかが精度上重要な問題となる。
更に、もっと記録密度を高めるために色数を多くすると(例えば、白、黒、赤、緑、青に、黄、赤緑(マゼンタと同義語)、青緑(シアンと同義語)を加えて8色を使用すると)、セルの使用色の色差が小さくなるため、正しく色判別するために個々の使用色が持てる変色に耐えうる色域が狭くなり、復号精度を維持することが益々難しくなる。そのためセルの何処の受像画素を測定してそれらのデータについてどんな処理をするかが益々重要な問題となる。従来技術はセルサイズも大きく、色数も限定されていたので、セル内の何処の画素を測定しても色判定の精度に大きな影響をあたえなかったので画素処理について工夫がなかった。
本発明は、セルサイズを小さくし色数も多くしても高い復号精度を維持するために、従来のようにセルの形状や配列パターンに対する工夫ばかりではなく、画像受像装置によって取得される受像画素の特性を考慮したコード体系やデータの処理方法を工夫した。それが可能となるようにセルの色判定に用いる受像画素の特定方法とその処理を実施するために必要となる情報(数値情報を含む)が精度高く容易に得られるような画期的な工夫を創作した。以下、本発明について述べる。
第一に、2次元カラーコードをコード表示媒体上でガイドコード部とデータ記録コード部の2領域に分け、前者では位置の判定や読み取りが容易に高精度で行えることに主眼を置いたカラーコードとし、後者では記録密度が高いことに主眼を置いたカラーコードとする。
第二に、ガイドコード部は、2次元カラーコード領域を含む受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像解析のみで、その領域の判定や復号が容易且つ正確に行え、この位置の判定または復号によって、データ記録コード部の位置の判定、復号、またはその時間の短縮に必要となる、例えばデータ記録コード部の縦横のセル数の値といった情報(以下、「前提情報」という)を取得することを目的としている。そのため、特徴的な形状やパターンを持たせた単なるマークまたはシンボルとしての役割ばかりではなく、それ自体にデータ記録コード部の位置の判定、復号、またはその時間の短縮を行うための前提情報が符号化されているコードであることに特徴がある。また、ガイドコード部はその性質上「高い復号精度」が求められるのに対し、セルの縮小や使用色の増加による「高い記録密度」を求められるデータ記録コード部は目的が異なる。従って、ガイドコード部とデータ記録コード部は、「形状」「セル数」「セルサイズ」「使用色数」のうち1つ以上の違いを持った別のコードであることも特徴としている。具体的には、互いの性質上、これらを携帯電話のデジタルカメラ等の一般的な画像受像装置でも容易且つ正確に読取るためには、ガイドコードの色情報についてはセルのサイズはデータ記録コードよりも大きくし、又、色数も少ない、データ記録コードとは別のコード体系とする。
ガイドコード部とデータ記録コード部の位置の判定方法は、ガイドコードの位置の判定または復号に完全に依存した方法でも良いし、それに依存せずに2次元カラーコード領域を含む受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像処理によっても良い。ガイドコード部に格納されている位置決めに関する色情報は、ガイドコード部の位置、ガイドコード部とデータ記録コード部との距離、上下左右、端点位置、等、採用する位置の判定方法に必要な情報である。
ガイドコード部の領域は、データ記録コード部領域から独立した領域でも良いし、凹みのない形のデータ記録コード部領域に、例えば図2に符号2aないし2fの何れかで示すように凹みを作ってまたは浮島のように含まれていても良い。つまり、ガイドコード部の位置情報を示す領域は、データ記録コード部領域内に含ませても良い。
また上記ガイドコード部が持つデータ記録コード部復号のための受像画素の測定と処理の前提条件情報は、例えば縦横セル数、セルサイズ、誤り符号検出・訂正のための冗長レベル、コードの分割数、分割の順番、コードの処理方法、等の中で少なくとも縦横セル数を含む一つ以上の数値情報を含み、ガイドコード部はそれを色情報として持つ。ここで言う色情報とはガイドコード部のセルの使用色を言い、読取装置内に、使用色の色情報(例えばRGB値)と前記の前提条件情報を対応させた変換テーブルを持たせることで、ガイドコード部の色情報を前記の前提条件情報に変換することができる。
第三に、データ記録コード部は、ガイドコード部の位置の判定または復号によって得られた情報をもとに位置の判定を行うことができる。ガイドコード部の位置とデータ記録コード部の位置関係(例えば、「データ記録コード部とガイドコード部のそれぞれの左右両端の長さは、必ず同じである」「ガイドコードの縦の長さと同じ間隔分離れた下部に位置する」といった一定の位置関係を持たすことで、それを基に、データ記録コード部の位置を判定、または判定に用いる領域を限定することができる。これにより、2次元カラーコード領域を含む受像画像からデータ記録コード部の位置の判定を容易に行うことができる。または、位置判定を行う受像画像の領域を限定できるので、受像画像が持つ各画素の色情報(例えばRGB値)を用いた色成分の分析等による画像処理の時間を短縮できる。ガイドコード部の位置とデータ記録コード部の位置関係によってデータ記録コード部の位置を判定しない方式を取ることも出来るが、その場合でも、データ記録コード部を構成するセル、或いはコードの四角(四隅と同義語)には有色(白以外の色)の使用色を用い、縦横m対nの比率で構成される四角形、または四角を頂点とする四角形を形状の特徴とし、且つデータ記録コード部の周辺には、一定幅以上の白枠を設けることで、これを前提としたデータ記録コード部の位置の判定を行える。例えば、データ記録コード部の位置の判定に用いる受像画素の各画素の色情報を「白」と「白以外の色」を持つ画素に分け、例えば「白」=「0」「白以外の色」=「1」とした場合、「1の縦横m対nの比率で構成された四角形の領域」=「データ記録コード部である」とすることで、データ記録コード部の位置を判定できる。データ記録コード部の位置を判定した後、データ記録コード部のみの受像画素の色情報(例えばRGB値)を得ることができる。
次に、データ記録コード部の受像画素の色情報は、画像受像装置によって受像されるまでの色の退色、印刷ムラ、照明光、汚れなどの変色原因によって変色しているので、もともとの色であるデータ記録コード部の作成段階において割り当てられていた使用色に変換する。
受像画素として取り込まれたデータ記録コード部の色情報(例えばRGB値)は、環境によって変色の傾向が異なるが、各使用色は、その傾向に合わせて同様の方向に変色している。例えば、暗い照明環境下で画像受像装置によって受像した画像は、全体的に黒っぽくなり、明るい照明環境下で受像した画像は、全体的に白っぽくなる。このとき、もともとの割り当てられていた色の色空間における位置関係は、その方向の色寄りの空間にゆがめられた状態になるが、同様の方向に向かって変色しているので、複数の使用色を割り当てられていた各セルの受像画素の夫々の色情報は、変色による色情報のばらつきがあったとしても、似たような色情報を持っている可能性が高く、色空間における各受像画素の色情報が示す位置は、もともとの使用色が分かれて設定されていたように、全体的に使用色の色数分のグループ群に分かれやすい傾向を持つ。そこで、使用色の色数に合わせて各受像画素の色情報の量子化(その意味は下記に定義してある)を行い、各グループの位置と、もともとの使用色の位置関係をもとに、各グループがもともとどの使用色が割り当てられていた受像画素なのかを判定することができる。これにより、2次元カラーコード周辺に変色の補正や色の判定に使用する基準色を配置する必要がない。ここで言う量子化の意味を説明する。
量子化という言葉はもともとは量子力学から来るが、ここではより一般的意味として使い、連続量を離散的量で表すことを示す。実際に測定される各画素の色情報はRGB値で表される連続量であるが、それらはもともとの使用色が持っているRGB値とはセルの変色や画像受像装置の特性によって「ずれ」が生じ必ずしも一致しない。しかし概ねはもともとの使用色のRGB値の近傍の値にばらついている。そこでそれらの実測された各画素のRGB値を最も近傍に位置するもともとの使用色のRGB値に置き換えてそれらの画素の色情報とする。従って置き換えられた色情報は全てもともとの使用色の色情報に統一される。これを量子化すると言う。量子化の数学的方法は、RGB値の3次元空間においてベクトル距離またはユークリッド距離の最短距離にあるもともとの使用色の値に置き換えたり、逆にもともとの使用色のRGB値の近傍に閾値を設定して夫々の閾値内に入る実際の測定値をもともとの使用色のRGB値に置き換えたりする方法もある。方法はその他にもあるが要するにもともとの使用色のRGB値に置き換えてしまうことである。なお測定値に異常に長いベクトル距離や閾値を越えるものがあれば異常値としてその画素は排除してもよい。
このようにして、グループ内の受像画素の色情報を、もともと設定した使用色の色情報に変換する。これにより、データ記録コード部の受像画素は、使用色の何れかの色情報が割り当てられた画素のみで構成された画像となる。
受像画素として取り込まれたデータ記録コード部の色情報(例えばRGB値)は、環境によって変色の傾向が異なるが、各使用色は、その傾向に合わせて同様の方向に変色している。例えば、暗い照明環境下で画像受像装置によって受像した画像は、全体的に黒っぽくなり、明るい照明環境下で受像した画像は、全体的に白っぽくなる。このとき、もともとの割り当てられていた色の色空間における位置関係は、その方向の色寄りの空間にゆがめられた状態になるが、同様の方向に向かって変色しているので、複数の使用色を割り当てられていた各セルの受像画素の夫々の色情報は、変色による色情報のばらつきがあったとしても、似たような色情報を持っている可能性が高く、色空間における各受像画素の色情報が示す位置は、もともとの使用色が分かれて設定されていたように、全体的に使用色の色数分のグループ群に分かれやすい傾向を持つ。そこで、使用色の色数に合わせて各受像画素の色情報の量子化(その意味は下記に定義してある)を行い、各グループの位置と、もともとの使用色の位置関係をもとに、各グループがもともとどの使用色が割り当てられていた受像画素なのかを判定することができる。これにより、2次元カラーコード周辺に変色の補正や色の判定に使用する基準色を配置する必要がない。ここで言う量子化の意味を説明する。
量子化という言葉はもともとは量子力学から来るが、ここではより一般的意味として使い、連続量を離散的量で表すことを示す。実際に測定される各画素の色情報はRGB値で表される連続量であるが、それらはもともとの使用色が持っているRGB値とはセルの変色や画像受像装置の特性によって「ずれ」が生じ必ずしも一致しない。しかし概ねはもともとの使用色のRGB値の近傍の値にばらついている。そこでそれらの実測された各画素のRGB値を最も近傍に位置するもともとの使用色のRGB値に置き換えてそれらの画素の色情報とする。従って置き換えられた色情報は全てもともとの使用色の色情報に統一される。これを量子化すると言う。量子化の数学的方法は、RGB値の3次元空間においてベクトル距離またはユークリッド距離の最短距離にあるもともとの使用色の値に置き換えたり、逆にもともとの使用色のRGB値の近傍に閾値を設定して夫々の閾値内に入る実際の測定値をもともとの使用色のRGB値に置き換えたりする方法もある。方法はその他にもあるが要するにもともとの使用色のRGB値に置き換えてしまうことである。なお測定値に異常に長いベクトル距離や閾値を越えるものがあれば異常値としてその画素は排除してもよい。
このようにして、グループ内の受像画素の色情報を、もともと設定した使用色の色情報に変換する。これにより、データ記録コード部の受像画素は、使用色の何れかの色情報が割り当てられた画素のみで構成された画像となる。
この処理の前に、ノイズ(異常値と同義語)となる受像画素の低減と、量子化を行う受像画素数の低減による処理時間を短縮するために、データ記録コード部の受像画素を、隣接しあうX×Y個の受像画素ごとに、各受像画素が持っている色情報(例えばRGB値)の平均値を求め、一つの画素に集約させても良い。これを以下で集約画素という。この集約画素を上記のように量子化してもともとの使用色を判定しても良い。
以下に、受像画素の色情報を量子化から判定した使用色の色情報に変換する方法の一例を示す。
「例」
先ず、データ記録コード部の受像画素の色情報(例えばRGB値)が示す値を、その色情報を表現している空間(以下、「色空間」という)にマッピングし、使用色の数と同様の数にグループ群に分ける。次に、全グループの夫々の中心位置から各使用色の色情報の示す位置に向けベクトル線を引き、各ベクトル線上で最も近接する使用色を見出し、そのグループを使用色に属すグループと判断し、そのグループ内の受像画素の色情報を、属する使用色の色情報に変換する。または、隣合うグループの中心位置間の中間点を求め、その値を隣合うグループ同士の閾値として使用色を判定する。
「例」
先ず、データ記録コード部の受像画素の色情報(例えばRGB値)が示す値を、その色情報を表現している空間(以下、「色空間」という)にマッピングし、使用色の数と同様の数にグループ群に分ける。次に、全グループの夫々の中心位置から各使用色の色情報の示す位置に向けベクトル線を引き、各ベクトル線上で最も近接する使用色を見出し、そのグループを使用色に属すグループと判断し、そのグループ内の受像画素の色情報を、属する使用色の色情報に変換する。または、隣合うグループの中心位置間の中間点を求め、その値を隣合うグループ同士の閾値として使用色を判定する。
次にガイドコード部の復号によって読取ったデータ記録コード部のセルの縦横数から、データ記録コード部の各セルの中心位置の受像画素の位置を判定する。セルの中心付近は、隣接する異なる使用色をもったセルの混色の影響が最も少ない部分であるため、この位置の受像画素の色情報をそのセルの使用色として判定する。このときの受像画素は、段落「0023」および段落「0024」の処理工程により既に、使用色の色情報をもっているので、その色情報をそのままそのセルの使用色として判定する。従来の方法であれば、ヒストグラム分析等による画像解析でセルの境界、数、色を判断する方法が一般的だが、この方法では隣接するセルに同じ色を割り当てることができない。そのため、セルとセルの間に境界線を設けたり、セルの配置や色の割り当て方に工夫したりする必要があった。また、その特徴を正確に把握するには、一つのセルに対しノイズとその特徴を明確に区別できるだけの十分な受像画素数を割り当てる必要があった。しかし、本発明による方法では、ガイドコード部の復号によって既にデータ記録コード部のセルの正確な縦横数を取得しているので、その値とデータ記録コード部位置の判定によって取得した受像画素の縦横の画素数の値をもとに、簡単な計算によって、中心位置の画素を判定することができる。
また、この処理工程の前に、段落「0023」および段落「0024」の処理工程を踏んでいることで、すでにデータ記録コード部の受像画素は、ノイズとなる受像画素の低減処理や量子化により分類された比較的信頼性のある使用色の色情報を持っているため、中心位置と判定した受像画素の色情報をそのままそのセルの色として判定できる。
また、この処理工程の前に、段落「0023」および段落「0024」の処理工程を踏んでいることで、すでにデータ記録コード部の受像画素は、ノイズとなる受像画素の低減処理や量子化により分類された比較的信頼性のある使用色の色情報を持っているため、中心位置と判定した受像画素の色情報をそのままそのセルの色として判定できる。
各セルの中心位置が最初に得ることにすれば、その中心位置の周辺の予め設定した数の画素または集約画素に限定して、上記の量子化による使用色の決定やセルの使用色の判定を行うことによって処理時間の短縮を行うことも出来る。
従来の方法では、仮に事前にデータ記録コード部のセルの縦横数を把握し、中心位置の受像画素を判定する事はしていない。もしそれができたとしても、その中のいくつかの受像画素は、ノイズであったり、著しく変色している受像画素であったりする場合がある。本発明のように、事前に平均化の処理や、より多くのサンプルをもとに量子化され使用色に分類されている受像画素の色情報と比較すると、事前にこうした処理がほどこされていない受像画素だけを色の判定に用いることは、正確性を欠くことになる。あるいは、中心の受像画素付近の幾つかの受像画素を選択し、各受像画素の色情報を平均化してノイズや変色の誤判定を補完するには、一つのセルに対し複数個の受像画素数が割り当てられている必要がある。
本発明によるデータ記録コード部は、隣接するセルが同じ色であっても、セルとセルの間に境界線を設ける必要がなく、セルの配置や色の割り当て方に工夫する必要もない。さらに、極論すれば、データ記録コード部のセルに割り当てられる受像画素数が1つしかない画像であったとしても、全ての画素間の量子化をすることによって理論上データ記録コード部の復号が高い精度で可能であり、セルの色の判定がより正確に行えるよう、その処理の工程を工夫している。
本発明によるデータ記録コード部は、隣接するセルが同じ色であっても、セルとセルの間に境界線を設ける必要がなく、セルの配置や色の割り当て方に工夫する必要もない。さらに、極論すれば、データ記録コード部のセルに割り当てられる受像画素数が1つしかない画像であったとしても、全ての画素間の量子化をすることによって理論上データ記録コード部の復号が高い精度で可能であり、セルの色の判定がより正確に行えるよう、その処理の工程を工夫している。
以下に各セルの中心位置の受像画素を判定する計算方法の一例を示す。
「例」
データ記録コード部は、「縦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)
となる。
「例」
データ記録コード部は、「縦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)
となる。
次に、判定した各セルの使用色からビット配列への変換を行う。
これは、予め読取装置内に持たせている使用色の色情報とビット配列を対応させた変換テーブルにもとづいて行う。
以下に変換テーブルの一例を示す。
「例」
例えば、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
このような使用色の色情報とビット配列を対応させた情報を、予め読取装置内に、変換テーブルとして持たせておくことで、判定した各セルの使用色の色情報からビット配列に変換できる。
これは、予め読取装置内に持たせている使用色の色情報とビット配列を対応させた変換テーブルにもとづいて行う。
以下に変換テーブルの一例を示す。
「例」
例えば、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
このような使用色の色情報とビット配列を対応させた情報を、予め読取装置内に、変換テーブルとして持たせておくことで、判定した各セルの使用色の色情報からビット配列に変換できる。
次に、各セルから取得したビット配列を、符号の際に配置した順番に従い結合し、符号したデータを取得する。ただし、セルの色の誤判定により、一部誤ったビット配列に変換されてしまったデータを取得してしまう場合もあるので、取得したデータの誤りを訂正するために、電子データをカラーコードする際に、予め、誤り訂正コード(冗長符号と同義語)を含んだデータを符号しておく。そうすることで、取得したデータに含まれている誤り訂正コードを用いたビット配列の検出と訂正ができる。しかし、一般的に使用されている誤り訂正の手法は、誤り訂正コードの包含率にもよるが、訂正できる誤りの量には限界がある。また、誤り訂正コードが変換されているセルの色判定を誤ってしまうと、誤り訂正コード自体が誤ったデータになってしまい、その役割を果たせなくなる場合がある。
そこで、本発明では、最初に取得したデータで誤りを訂正ができずに復号できなかった場合は、全部または一部のセルの使用色について、判定する際に採用した受像画素の隣(或いは、N個分左右上下等の予め決めておいた位置)の受像画素の色情報を、新たにそのセルの使用色として採用し、その使用色のビット配列に変換したデータを用いて、再度上記同様の誤り検出・訂正処理を行う。再度訂正できなければ更に隣(或いは逆の隣など予め順番を設定しておく)の受像画素を採用して同じ処理を行う。この作業を誤りが訂正できるまで繰り返すことで、セルの使用色に採用する受像画素の選択ミスによる誤ったビット配列の取得を補正できる。
上記の第一から第三までの3つの過程を経ることによって、受像画素の平均化、量子化、データ誤り検出・訂正、訂正不能時に受像画素の位置シフトの処理を施され、誤りや異常値の排除・訂正が行われることによって、データ記録コードの読み取り精度が向上すると共に、受像画素の集約化と限定化によって処理時間の短縮化も図ることが出来る。
本発明によって、従来は読取り復号精度が悪くなるので困難であったカラーコードの多色化とセルサイズの縮小化が、読み取り復号精度を維持しつつ大幅に可能となった。従来はカラーコードの色数は例えば5色位が高々であったし、セルサイズは0.5mm幅程度が最小であった。本発明により色数は8色またはそれ以上でも良くなり、セルサイズは画像受像装置の性能によるが0.3〜0.1mm幅まで縮小出来るようになった。そのため実用上、データ記録コードの密度が一桁高くなり表示面積当たりのデータ収容量が飛躍的に多くなった。
(1)2次元カラーコード作成方法、符号化方法
(1−1)ガイドコードとデータ記録コードの特徴
ガイドコード体系は、位置の判定やデータの復号の精度が高いものを使用する。例えば、使用する色の数は白黒またはRGBやCMYといった2色ないし3色に限定し、色差を保つことによって、色の退色、印刷ムラ、照明光、汚れなどの変色原因の影響を受け難くくしたり、セルのサイズを大きくすることで形状や色を識別しやすくする。既に実績のある一次元バーコードやQRコードでも良いが印刷面積が大きかったり印刷形状がデータ記録コードの形状と整合性が取れなかったりするので適当ではない。セルの色の並び順番でバイナリーデータを発信する特開2008−27029のような復号精度に主眼を置いたコード体系を利用することも一つの方法である。
(1−1)ガイドコードとデータ記録コードの特徴
ガイドコード体系は、位置の判定やデータの復号の精度が高いものを使用する。例えば、使用する色の数は白黒またはRGBやCMYといった2色ないし3色に限定し、色差を保つことによって、色の退色、印刷ムラ、照明光、汚れなどの変色原因の影響を受け難くくしたり、セルのサイズを大きくすることで形状や色を識別しやすくする。既に実績のある一次元バーコードやQRコードでも良いが印刷面積が大きかったり印刷形状がデータ記録コードの形状と整合性が取れなかったりするので適当ではない。セルの色の並び順番でバイナリーデータを発信する特開2008−27029のような復号精度に主眼を置いたコード体系を利用することも一つの方法である。
データ記録コード部は、電子データを記録するため記録効率を主眼にした高記録密度のコード体系であり、ビット配列に色を割り当てる一般的な符号化方法をとる。そのため、目標とする復号精度を維持できる範囲において使用可能な最大限の色数を使用すること、および印刷した際に再現可能な範囲においてセルのサイズを縮小することが理想である。
実際には、赤、緑、青、青緑、赤緑、黄、黒、白の8色とし、印刷するセルサイズは印刷性能よりも画像受像装置の性能に制約され、それに合わせて0.1〜0.3mm程度まで縮小することが可能である。
実際には、赤、緑、青、青緑、赤緑、黄、黒、白の8色とし、印刷するセルサイズは印刷性能よりも画像受像装置の性能に制約され、それに合わせて0.1〜0.3mm程度まで縮小することが可能である。
(1−2)2次元カラーコードの作成方法と符号化方法
図1に示すガイドコード部2には、2次元カラーコードの位置情報(端点位置、上下左右、ガイドコード部とデータ記録コード部の距離、等)、データ記録コード部の縦横のセルの数、セルサイズ、冗長レベル(誤り訂正能力のレベル)、2次元カラーコードの分割数、分割順番、コード処理方法、等を表す目印として、或いは数値データを色情報として符号化してコード表示媒体に印刷または表示する。これらデータの入力は、図3に示すように、パソコンにダウンロードした専用エンコードソフトウェアによって、人が直接入力しても良いし、電子データファイルから入力してもよい。エンコードの方法は、入力データを2進法ビット配列に変換し、変換するビット数の単位ごとに、予めビット情報と対応させている使用色に変換し、その色情報をガイドコード部のセルパターンの色としてコード表示媒体に印刷または表示する。
図1に示すガイドコード部2には、2次元カラーコードの位置情報(端点位置、上下左右、ガイドコード部とデータ記録コード部の距離、等)、データ記録コード部の縦横のセルの数、セルサイズ、冗長レベル(誤り訂正能力のレベル)、2次元カラーコードの分割数、分割順番、コード処理方法、等を表す目印として、或いは数値データを色情報として符号化してコード表示媒体に印刷または表示する。これらデータの入力は、図3に示すように、パソコンにダウンロードした専用エンコードソフトウェアによって、人が直接入力しても良いし、電子データファイルから入力してもよい。エンコードの方法は、入力データを2進法ビット配列に変換し、変換するビット数の単位ごとに、予めビット情報と対応させている使用色に変換し、その色情報をガイドコード部のセルパターンの色としてコード表示媒体に印刷または表示する。
次に図1に示すデータ記録コード部3は、ガイドコード部を基準にデータ記録コード部の位置特定が可能になるよう一定の位置関係になるように配置する。データ記録コード部3には、2次元カラーコードとして記録すべき文字、表、画像、音等のデータをセルで符号化して印刷する。これらデータの入力は、図3に示すように、パソコンにダウンロードした専用エンコードソフトウェアによって電子データファイルから入力する。エンコードの方法は、電子データを2進法ビット配列に変換し、後に復号した時にデータ誤り検出・訂正用の数学処理をするために必要な冗長ビットを付加し、ビット配列を3ビット単位にまとめ、それら単位ごとに予めビット情報と対応させている8使用色を示す番号に変換し、それら使用色を示す番号をそれらに対応させて予め設定されたRGB色データに変換し、その色情報をデータ記録コード部の各セルの色としてコード表示媒体に印刷または表示する。
上記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
例えば、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
対象電子データは、記録効率を向上させるために、そのままコード変換するのではなく、ZIPやLZH等、一般的な圧縮技術を用いて圧縮しても良い。
データ記録コード部の印刷は、原則的には縦横同じセル数で表記されるよう、圧縮ファイルのビット数÷3=必要セル数であるから必要セル数の累乗根の小数点以下切り上げによって算出されたセル数ごとに改行しデータ記録コードを組成する。
(2)2次元カラーコードの読取り方法と復号方法
印刷された2次元カラーコードの読取りと色情報の復号方法について図3に沿って説明する。図3に示すように、デジタルカメラなどの画像受像装置にダウンロードした専用デコードソフトウェアによって2次元カラーコードの読取りと復号が行われる。
印刷された2次元カラーコードの読取りと色情報の復号方法について図3に沿って説明する。図3に示すように、デジタルカメラなどの画像受像装置にダウンロードした専用デコードソフトウェアによって2次元カラーコードの読取りと復号が行われる。
まず、人がデジタルカメラ或いはスキャナー等の画像受像装置の画面上で、表示媒体に表示された2次元カラーコードを表示し、その位置を凡そ決めてその2次元カラーコード全体を撮影し、2次元カラーコードを含めた領域の色情報をCCD等の撮像素子の画像として取り込む。2次元カラーコードはその周囲に数ミリメートルの白地枠を設けて自動位置の判定がし易いようにする。取り込まれたCCD画像を色成分分析することによって、まずガイドコード部領域の正確な位置の判定が行われ、それを基準としてデータ記録コード部領域の位置の判定が正確に行われる。実際の位置の判定方法は、前述のようにガイドコード部が持つ色と形状の情報に全面的に依存した方法でも良いし、一般的画像処理(2値化、膨張処理、輪郭検出、ポリゴン処理、ガイドコード領域とデータ記録コード領域の抽出等)によっても良い。
また、ガイドコード部に格納されている位置の判定情報以外の情報を読取り復号する方法は、ガイドコード部のセルが色数も少なくセルサイズも大きく精度高く復号し易いコード読取り体系であり、形や大きさがデータ記録コードに対して不適当でなければ何でも良い。特開2008−27029のような復号精度に主眼を置いたコード体系を利用することも一つの方法である。
このようにして正確に位置の判定されたデータ記録コード領域の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)となりその使用色を特定できる。
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)となりその使用色を特定できる。
その特定された使用色を当該集約画素の使用色とする。それらの使用色に対応する使用色を示す番号データを得てそれらの番号を当該集約画素の使用色を示す番号としてメモリーに記憶する。この平均化と量子化は受像画素データの誤りや異常値を緩和し排除するプロセスの1つである。同時に受像画素の集約化と集約画素の限定化によって処理時間の短縮も図ることができる。
各セルの中心位置を領域に含む集約画素をそのセル(図4の14)の使用色としその使用色を示す番号を符号する。このようにして全セルの使用色とその使用色を示す番号が決まる。それらをファイルとしてメモリーに記憶する。
全セルの使用色を示す番号を搭載している対応表によって3ビットバイナリーデータに変換し、2次元カラーコードを作成した際に電子データをバイナリー符号化してコード化するときに付加したリードソロモン法等の一般的なデータ誤り検出・訂正のための数学的手法を此処で用いて検査し、誤りがあれば訂正する。誤りが訂正できない時は、当該セルの使用色として採用した集約画素の隣(上下左右のシフトのパターンは予め設定しておく)の集約画素の使用色を示す番号を当該セルの使用色を示す番号とし、上記と同様な使用している誤り検出・訂正方法を用いて、誤りの検出と訂正(以下「誤り訂正方式の復号」という)をする。誤り訂正方式の復号ができなければ更に隣(或いは逆の隣など予め順番を設定しておく)の集約画素で同じことを行う。この作業を誤り訂正方式の復号ができるまで繰り返す。誤り訂正方式の復号が完了すれば、符号化したバイナリーデータを得ることができる。このバイナリーデータをバイト等の原始電子データに変換すれば、文書、画像、音声等の原始電子データを再生することが出来る。
例えば切手大のサイズに印刷した小さなカラーコードによってでも携帯電話のデジタルカメラで読取ることによって、通信回線を経由することなく、文書、画像、音声などが瞬時に相当な量を再生することが出来るようになる。今後、文書、画像、音声等による商品説明、トレーサビリティ、セキュリティ、視覚障害者のための音声化等々種々な面での社会的貢献が期待される。
1:2次元カラーコード(ガイドコードとデータ記録コード)
2:ガイドコード
3:データ記録コード
11:データ記録コードの受像画素
12:受像した全画素
13:集約画素
2:ガイドコード
3:データ記録コード
11:データ記録コードの受像画素
12:受像した全画素
13:集約画素
Claims (5)
- 多色のセルが2次元に展開した2次元カラーコードにおいて、光学的な画像の処理と光学的な解析のみにより2次元カラーコードの領域の位置決めとデータの読取り・復号が高い精度で容易に行えるコード体系のガイドコード部と、電子データを高い密度で記録できるよう、少なくても、ガイドコード部より小さいセルを使用したデータ記録コード部から成り、ガイドコード部にはデータ記録コード部の読取り・復号のための前提条件であるデータとして、縦横セル数、セルサイズ、データの誤り検出・訂正レベル、コードの分割数、コードの分割順番、コードの処理方法、等の少なくとも1つ以上のデータを数値情報として持ち、それらの数値情報が色として符号化されていることを特徴とする2次元カラーコードの作成方法。
- ガイドコード部のデータの1つとしてデータ記録コード部の縦横のセル数を含め、それをデジタルカメラ等の画像受像装置で読取り、それらを数値情報として取得することによって、その縦横セル数とデータ記録コード部の縦横画素数を用いた数式による計算処理で、受像したデータ記録コード部の各セルの中心位置にある画素の位置を求めることができ、その中心位置又はその周辺にある設定された数の受像画素の色情報(例えば、RGB値)を使用色について設定されているもともとの色情報に対比して量子化することにより色情報を求め、それを当該セルの色種として判定することを特徴とする請求項1記載の2次元カラーコードの作成と読取り・復号の方法。
- データ記録コード部の全受像画素を縦横任意に設定するm×n個の単位で一個の仮想画素として集約し(集約画素という)、各集約画素内のm×n個の画素の色情報の平均値または量子化された値をその集約画素の色情報とし、各セルの中心位置を領域に含む集約画素又はその周辺にある設定された数の集約画素の色情報を量子化することにより色情報を求め、それを当該セルの色種として判定することを特徴とする請求項2記載の2次元カラーコードの読取り・復号の方法。
- データ記録コード部のセルの使用色の判定の誤りによる符号(ビット配列)の誤りを検出・訂正するために用いる誤り訂正方式による復号処理(誤りの検出・訂正)が出来なかった場合は、当該セルの色の判定に用いた画素または集約画素とは別の予め設定された位置にある画素または集約画素の色情報を、当該セルの使用色として判定し、その使用色に対応しているビット配列を用いて、再度誤り検出・訂正方式による復号処理を行い、誤り訂正方式による復号ができるまで、あるいは、予め設定した回数まで、当該セルの使用色の判定に用いる画素または集約画素の位置を予め設定された方式に従って代えながら誤り検出・訂正方式による復号処理を繰り返すことを特徴とする請求項2或いは3記載の2次元カラーコードの読取り・復号の方法。
- データ記録コード部のセルの使用色を判定するために、基準色を2次元カラーコード領域に印刷または表示せず、予め決めておいたセルの使用色の色情報と、受像画素の色情報、或いはそれを加工した色情報とを比較して量子化することにより色情報を求め、それを当該セルの使用色として判定することを特徴とする請求項1記載の2次元カラーコードの作成と読取り・復号の方法。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049219A JP2011186613A (ja) | 2010-03-05 | 2010-03-05 | 2次元カラーコードの作成方法および復号方法 |
CA2790925A CA2790925A1 (en) | 2010-03-05 | 2011-03-02 | Method for preparing and decoding two-dimensional color codes |
PCT/JP2011/054794 WO2011108605A1 (ja) | 2010-03-05 | 2011-03-02 | 2次元カラーコードの作成方法および復号方法 |
TW100106924A TW201142713A (en) | 2010-03-05 | 2011-03-02 | Method for creating and method for decoding two-dimensional colour code |
BR112012022354A BR112012022354A2 (pt) | 2010-03-05 | 2011-03-02 | código de cor bidimensional |
EA201290877A EA201290877A1 (ru) | 2010-03-05 | 2011-03-02 | Способы подготовки и декодирования двумерных цветовых кодов |
EP11750714A EP2544128A1 (en) | 2010-03-05 | 2011-03-02 | Method for creating and method for decoding two-dimensional colour code |
MX2012010260A MX2012010260A (es) | 2010-03-05 | 2011-03-02 | Metodos para preparar y descodificar codigos de color bidimensionales. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049219A JP2011186613A (ja) | 2010-03-05 | 2010-03-05 | 2次元カラーコードの作成方法および復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011186613A true JP2011186613A (ja) | 2011-09-22 |
Family
ID=44542252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010049219A Pending JP2011186613A (ja) | 2010-03-05 | 2010-03-05 | 2次元カラーコードの作成方法および復号方法 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP2544128A1 (ja) |
JP (1) | JP2011186613A (ja) |
BR (1) | BR112012022354A2 (ja) |
CA (1) | CA2790925A1 (ja) |
EA (1) | EA201290877A1 (ja) |
MX (1) | MX2012010260A (ja) |
TW (1) | TW201142713A (ja) |
WO (1) | WO2011108605A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013168305A1 (ja) | 2012-05-09 | 2013-11-14 | 株式会社アポロジャパン | 携帯電話向け情報埋込コード生成方法、情報埋込方法、及びその読取方法 |
WO2016121126A1 (ja) * | 2015-01-30 | 2016-08-04 | 株式会社日立製作所 | 二次元コード、二次元コード読取装置、及び符号化方法 |
JP2016177743A (ja) * | 2015-03-23 | 2016-10-06 | 李健宇 | ロバスト・インデックス・コード |
WO2019070102A1 (ko) * | 2017-10-03 | 2019-04-11 | 이건우 | 저작권 보호 인덱스 코드, 이들의 부화화 방법 및 복호화 방법 |
US10304214B2 (en) | 2015-11-09 | 2019-05-28 | Samsung Electronics Co., Ltd. | Electronic device and operating method of the same |
JP2020507831A (ja) * | 2016-12-20 | 2020-03-12 | ユニバーシダッド デ アリカンテ | 長距離高密度視覚マーカの検出および認識方法 |
US11755857B2 (en) | 2020-01-20 | 2023-09-12 | Satoshi Mizoguchi | Two-dimensional code encoder |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8864033B2 (en) * | 2012-11-28 | 2014-10-21 | Konica Minolta Laboratory U.S.A., Inc. | Robust decoding of color barcode printed with extremely small data cells |
US9970862B2 (en) | 2014-07-16 | 2018-05-15 | International Business Machines Corporation | Reflective tag and polarized light sensor for transmitting information |
US10740666B2 (en) | 2018-09-27 | 2020-08-11 | Caleb J. Webster | Two-dimensional cryptographic poly-chromatic poly-digital code |
CN110276428A (zh) * | 2019-06-05 | 2019-09-24 | 上海工程技术大学 | 一种四维码编码及解码方法 |
JP6989859B2 (ja) * | 2020-04-10 | 2022-01-12 | 有限会社バラエティーエム・ワン | 情報コード、情報コード生成装置、情報コード読取装置、プログラムおよび情報コード利用システム |
CN114239631B (zh) * | 2021-11-19 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 二维码识别方法、装置、存储介质及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3996520B2 (ja) | 2003-01-30 | 2007-10-24 | 株式会社デンソーウェーブ | 二次元情報コードおよびその生成方法 |
KR100764303B1 (ko) * | 2004-07-22 | 2007-10-05 | 마츠시타 덴끼 산교 가부시키가이샤 | 다색형 2차원 바코드 및 그 영상 표시 장치, 정보 단말장치, 표시 방법, 해독 방법, 정보 통신 시스템, 정보 통신방법 |
JP4755415B2 (ja) * | 2004-12-21 | 2011-08-24 | 株式会社アドイン研究所 | カラー二次元コード |
US7478746B2 (en) * | 2006-05-31 | 2009-01-20 | Konica Minolta Systems Laboratory, Inc. | Two-dimensional color barcode and method of generating and decoding the same |
JP2008027029A (ja) | 2006-07-19 | 2008-02-07 | B-Core Inc | 光学式シンボル及びそれが付された物品並びに光学式シンボルを物品に付す方法及び光学式シンボルのデコード方法。 |
JP4241803B2 (ja) | 2006-11-10 | 2009-03-18 | 株式会社デンソーウェーブ | 二次元情報コードの読取方法および読取装置 |
JP2009289066A (ja) * | 2008-05-29 | 2009-12-10 | B-Core Inc | 位置特定方法及び色彩特定方法及びid作成方法 |
WO2009144794A1 (ja) | 2008-05-29 | 2009-12-03 | Gmgカラー・テクノロジーズ株式会社 | 情報コード |
-
2010
- 2010-03-05 JP JP2010049219A patent/JP2011186613A/ja active Pending
-
2011
- 2011-03-02 BR BR112012022354A patent/BR112012022354A2/pt not_active IP Right Cessation
- 2011-03-02 EP EP11750714A patent/EP2544128A1/en not_active Withdrawn
- 2011-03-02 CA CA2790925A patent/CA2790925A1/en not_active Abandoned
- 2011-03-02 EA EA201290877A patent/EA201290877A1/ru unknown
- 2011-03-02 MX MX2012010260A patent/MX2012010260A/es unknown
- 2011-03-02 WO PCT/JP2011/054794 patent/WO2011108605A1/ja active Application Filing
- 2011-03-02 TW TW100106924A patent/TW201142713A/zh unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013168305A1 (ja) | 2012-05-09 | 2013-11-14 | 株式会社アポロジャパン | 携帯電話向け情報埋込コード生成方法、情報埋込方法、及びその読取方法 |
WO2016121126A1 (ja) * | 2015-01-30 | 2016-08-04 | 株式会社日立製作所 | 二次元コード、二次元コード読取装置、及び符号化方法 |
JP2016177743A (ja) * | 2015-03-23 | 2016-10-06 | 李健宇 | ロバスト・インデックス・コード |
US10304214B2 (en) | 2015-11-09 | 2019-05-28 | Samsung Electronics Co., Ltd. | Electronic device and operating method of the same |
JP2020507831A (ja) * | 2016-12-20 | 2020-03-12 | ユニバーシダッド デ アリカンテ | 長距離高密度視覚マーカの検出および認識方法 |
WO2019070102A1 (ko) * | 2017-10-03 | 2019-04-11 | 이건우 | 저작권 보호 인덱스 코드, 이들의 부화화 방법 및 복호화 방법 |
KR20190039367A (ko) * | 2017-10-03 | 2019-04-11 | 이건우 | 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법 |
KR102067321B1 (ko) | 2017-10-03 | 2020-01-16 | 이건우 | 저작권 보호 인덱스 코드, 이들의 부호화 방법 및 복호화 방법 |
US11755857B2 (en) | 2020-01-20 | 2023-09-12 | Satoshi Mizoguchi | Two-dimensional code encoder |
Also Published As
Publication number | Publication date |
---|---|
TW201142713A (en) | 2011-12-01 |
EA201290877A1 (ru) | 2013-04-30 |
WO2011108605A1 (ja) | 2011-09-09 |
MX2012010260A (es) | 2012-10-10 |
CA2790925A1 (en) | 2011-09-09 |
EP2544128A1 (en) | 2013-01-09 |
BR112012022354A2 (pt) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011108605A1 (ja) | 2次元カラーコードの作成方法および復号方法 | |
JP4838387B2 (ja) | 情報コード及び情報コード復号方法 | |
EP2178031B1 (en) | Optical code recognition apparatus, optical code and recognition method. | |
JP3923866B2 (ja) | 二次元コード読取装置設定方法、二次元コード読取設定装置、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体 | |
EP2806377B1 (en) | OK CODE: A Multidimensional Color Barcode | |
JP6590335B2 (ja) | 二次元コード、及び該二次元コードの読取方法 | |
JP2004234318A (ja) | 二次元情報コード、二次元情報コードの表示方法、二次元情報コードの生成方法、二次元情報コードの読取方法 | |
Bagherinia et al. | A theory of color barcodes | |
US20080197197A1 (en) | Multiple resolution readable color array | |
JP2008027029A (ja) | 光学式シンボル及びそれが付された物品並びに光学式シンボルを物品に付す方法及び光学式シンボルのデコード方法。 | |
KR20090035529A (ko) | 광학식 심볼 및 그것이 부착된 물품 및 광학식 심볼을 물품에 부착하는 방법, 및 광학식 인식 코드 인식 방법 | |
KR102406570B1 (ko) | 가시광 데이터 송신 방법 및 장치, 가시광 데이터 수신 방법 및 장치 | |
JP2008027036A (ja) | 光学式シンボル及びそれが付された物品並びに光学式シンボルを物品に付す方法及び光学式シンボルのデコード方法。 | |
JP2004054871A (ja) | 二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体 | |
JP2010061217A (ja) | 二次元コード | |
KR101237339B1 (ko) | 2차원 바코드 영상의 추출 및 디코딩 장치, 그 방법 | |
JP2011081832A (ja) | 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置 | |
JP5187382B2 (ja) | 2次元コード分割表示方法、2次元コード読取方法および2次元コード読取装置 | |
JP2004054645A (ja) | 二次元コード読取装置、二次元コード読取方法、二次元コード読取プログラムおよびコンピュータ読取可能な記録媒体 | |
JP2005208843A (ja) | 情報符号化/復号方法、装置及びコード表示物 | |
KR101198595B1 (ko) | 임의의 콘트라스트를 갖는 2차원 바코드 영상의 추출 및 디코딩 장치 | |
US8403221B2 (en) | Method and apparatus for reading barcode information | |
JP4241803B2 (ja) | 二次元情報コードの読取方法および読取装置 | |
JP2007047871A (ja) | バーコード読取装置及びバーコード読取方法 | |
JP2010271812A (ja) | 二次元コード読取装置 |