JP2014106887A - 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置 - Google Patents

二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置 Download PDF

Info

Publication number
JP2014106887A
JP2014106887A JP2012261351A JP2012261351A JP2014106887A JP 2014106887 A JP2014106887 A JP 2014106887A JP 2012261351 A JP2012261351 A JP 2012261351A JP 2012261351 A JP2012261351 A JP 2012261351A JP 2014106887 A JP2014106887 A JP 2014106887A
Authority
JP
Japan
Prior art keywords
data
cells
reference color
color
order
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
Application number
JP2012261351A
Other languages
English (en)
Inventor
Naozumi Sugimura
直純 杉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung R&D Institute Japan Co Ltd
Original Assignee
Samsung R&D Institute Japan Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung R&D Institute Japan Co Ltd filed Critical Samsung R&D Institute Japan Co Ltd
Priority to JP2012261351A priority Critical patent/JP2014106887A/ja
Publication of JP2014106887A publication Critical patent/JP2014106887A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】基準色領域を設けた場合であっても、記録できるデータの容量が低下することを抑制することができる二次元カラーコードを提供することである。
【解決手段】本発明にかかる二次元カラーコードは、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する。二次元カラーコード10は、第1のデータが記録されたデータ領域12と、前記複数の色に対応し、データ領域12から第1のデータを読み取る際に参照される基準色がそれぞれ付された複数のセルを備える基準色領域11と、を備える。基準色領域11には、複数のセルの各々に付される基準色の並び順に基づいて第2のデータが記録される。
【選択図】図1

Description

本発明は二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置に関する。
二次元カラーコードは、カラー表現を用いて各々のセルに情報を記録するため、従来の白色および黒色を用いた二次元コードよりも高密度に情報を記録することができる。このような二次元カラーコードでは、読み取り時における光源の違いによる見た目の色変化や、経時変化による退色の影響を低減するために、基準色を所定の領域に記録する手法が提案されている。
特許文献1には、カラー表現される二次元コードにおいて、セルに表示される各色の基準となる参照領域を設けることができ、且つコード領域と背景とを高精度に分離できる技術が開示されている。また、特許文献2には、カラーコード内の各セル内に本来の色とは異なる色が含まれていた場合にも、確実にセルの本来の色を認識させることを可能にする技術が開示されている。
特開2010−61217号公報 特開2011−134093号公報
二次元カラーコードでは、各々異なる複数の色を用いてデータを記録している。よって、情報の記録に使用する複数の色である基準色を二次元カラーコードに記録し、二次元カラーコードを読み取る際に基準色を参照することで、二次元カラーコードに記録されているデータを正確に読み取ることができる。
しかしながら、基準色を二次元カラーコードに記録するためには、基準色を記録する基準色領域を、データが記録されているデータ領域とは別に設ける必要がある。基準色領域は、基準色を記録するのみでありデータを記録することができない。このため、基準色領域を設けると、基準色領域の面積分だけ二次元カラーコードに記録できるデータの容量が減少するという問題があった。
上記課題に鑑み本発明の目的は、基準色領域を設けた場合であっても、記録できるデータの容量が低下することを抑制することができる二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置を提供することである。
本発明にかかる二次元カラーコードは、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードであって、前記二次元カラーコードは、第1のデータが記録されたデータ領域と、前記複数の色に対応し、前記データ領域から前記第1のデータを読み取る際に参照される基準色がそれぞれ付された複数のセルを備える基準色領域と、を備え、前記基準色領域には、前記複数のセルの各々に付される前記基準色の並び順に基づいて第2のデータが記録される。
本発明にかかる二次元カラーコード読み取り装置は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り装置であって、前記複数の色に対応している基準色がそれぞれ付された複数のセルを備える基準色領域を前記二次元カラーコードから抽出する基準色領域抽出部と、前記抽出された前記基準色を相互に比較することで前記基準色の各々を特定する基準色特定部と、前記基準色領域が備える複数のセルに付された前記基準色の並び順に基づいてデータを読み取る基準色領域デコード部と、を備える。
本発明にかかる二次元カラーコードの生成方法は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードの生成方法であって、データ領域に第1のデータを記録し、前記複数の色に対応し、前記データ領域から前記第1のデータを読み取る際に参照される基準色を基準色領域に配置されている複数のセルに付し、前記基準色を前記複数のセルに付す際の前記基準色の並び順に基づいて第2のデータを記録する。
本発明にかかる二次元カラーコードの読み取り方法は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコードの読み取り方法であって、前記複数の色に対応している基準色がそれぞれ付された複数のセルを備える基準色領域を前記二次元カラーコードから抽出し、前記抽出された前記基準色を相互に比較することで前記基準色の各々を特定し、前記基準色領域が備える複数のセルに付された前記基準色の並び順に基づいてデータを読み取る。
本発明により、基準色領域を設けた場合であっても、記録できるデータの容量が低下することを抑制することができる二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置を提供することができる。
実施の形態にかかる二次元カラーコードを示す図である。 実施の形態にかかる二次元カラーコードの基準色領域にデータを記録する処理を説明するためのフローチャートである。 実施の形態にかかる二次元カラーコードの基準色領域にデータを記録する処理を説明するためのフローチャートである。 実施の形態にかかる二次元カラーコードの基準色領域にデータを記録する処理の具体例を示す図である。 実施の形態にかかる二次元カラーコードの基準色領域にデータを記録する処理の具体例を示す図である。 実施の形態にかかる二次元カラーコード読み取り装置を示すブロック図である。 実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理を説明するためのフローチャートである。 実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理を説明するためのフローチャートである。 実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理の具体例を示す図である。 実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理の具体例を示す図である。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態にかかる二次元カラーコードを示す図である。図1に示すように、本実施の形態にかかる二次元カラーコード10は、基準色領域11とデータ領域12とを備える。図1に示す例では、複数のセルが16行16列に配置されている二次元カラーコードを例として示している。しかし、セルの数や配置はこれに限定されることはなく、例えば、任意の数のセルをp行q列(p、qは整数である)に格子状に配置してもよい。また、セルの配置は格子状に限定されることはなく、例えば千鳥配置や円形状など、二次元的な配置であればどのような配置であってもよい。
また、図1に示す例では、基準色領域11を二次元カラーコード10の一辺に設けているが、基準色領域を設ける場所はこれに限定されることはない。基準色領域11は、例えば、二次元カラーコードの中心付近に配置してもよく、また2辺に渡って配置してもよい。また、図1に示す例では、基準色領域11のセルが1行に配列している(つまり、セルが直線状に配列している)場合を示しているが、基準色領域11のセルは複数行に渡って配列していてもよい。また、図1に示す例では、基準色領域11は連続した領域となっているが、基準色領域11は二次元カラーコード10内において離散的に配置されていてもよい。すなわち、基準色が付されたセルが二次元カラーコード10内において離散的に配置されていてもよい。
データ領域12には、各々異なる複数の色(基準色)の中から選択された所定の色を付すことでデータ(第1のデータ)が記録される。また、データ領域12からデータを読み取る際は、基準色領域11に配置された基準色が参照される。データの記録に用いる基準色の数は複数であれば何色であってもよい。本実施の形態では基準色を16色とした場合を例として説明する。
基準色を16色とした場合は、一つのセルに4ビット(16=2)のデータを記録することができる。基準色として用いる色としては、例えば、白、黒、赤(R)、緑(G)、青(B)、マゼンタ、シアン、黄色に加えて、これらの色の中間色(例えば、灰色、橙色、茶色など)を用いることができる。このように、基準色の種類が多くなると各々の色の区別がつきにくくなる。しかし、これらの基準色を基準色領域11に記録し、読み取り時に基準色領域11に記録された基準色を参照することで、データ領域12からデータを正確に読み取ることができる。
次に、基準色領域11にデータを記録する処理について説明する。図2A、図2Bは、本実施の形態にかかる二次元カラーコード10の基準色領域11にデータを記録する処理を説明するためのフローチャートである。図3A、図3Bは、本実施の形態にかかる二次元カラーコード10の基準色領域11にデータを記録する処理の具体例を示す図である。
本実施の形態にかかる二次元カラーコード10では、基準色領域11の複数のセルの各々に付される基準色の並び順に基づいて基準色領域11にデータ(第2のデータ)を記録することができる。以下では、図3Aに示すデータ50"0011 0010 1001 1010 1110 0101 0000 0110"(32ビットのデータ)を基準色領域11に記録する場合を例として説明する。
図2Aに示すように、まず基準色の順番#0〜#15を定義する(ステップS1)。例えば1番目の基準色#0を「白」、2番目の基準色#1を「黒」、3番目の基準色#2を「赤」、4番目の基準色#3を「緑」、5番目の基準色#4を「青」、6番目の基準色#5を「マゼンタ」、7番目の基準色#6を「シアン」、8番目の基準色#7を「黄」・・・、の様に、16色の基準色のそれぞれについて順番#0〜#15を決定する。各々の基準色と順番#0〜#15の対応関係は任意に決定することができる。
次に、基準色領域11に配置されている複数のセルに順番を割り当てる。例えば、図3Aの基準色領域51に示すように、基準色領域に配置されている複数のセルを左から順番にB0〜B15とする(ステップS2)。ここで、基準色領域51の下に示しているP0〜P15は、基準色領域に配置されている複数のセルの絶対的な位置を示している。つまり、位置P0〜P15は固定されている。また、この場合は16個のセルに順番B0〜B15を割り当てることができるので、4ビット(16=2)のデータを記録することができる。また、本実施の形態では、複数のセルを左から順番にB0〜B15としているが、右から順番にB0〜B15としてもよい。順番B0〜B15は任意に割り当てることができる。
次に、記録する記録データ(第1の記録データ)の値に対応したセル(第1のセル)に基準色#0(第1の基準色)を配置する(ステップS3)。図3Aの基準色領域51にはまだ基準色が配置されていないので、16個のセルのいずれかに基準色#0を配置することができる。よって、基準色領域51には4ビットのデータを記録することができる。つまり、データ50の左側から4ビット分(ブロックAで示す)のデータを基準色領域51に記録することができる。ここで、ブロックAは"0011"(10進法で"3")であるので、"0011"に対応した位置B3のセルP3に最初の基準色#0を配置する。
次に、基準色#0を配置したセルP3を除いた複数のセルに再度順番を割り当てる。例えば、図3Aの基準色領域52に示すように、セルP3を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。ここで、セルP3には既に基準色#0が配置されているので、残りのセルの数は15個となる。この場合は4ビットのデータを記録することができないので、基準色領域52には3ビット(8=2)に対応した順番B0〜B7を割り当てる。換言すると、複数のセルに順番を割り当てる際、記録する所定のデータのビット数で表現できる最大の数の順番を割り当てる。
次に、記録する記録データ(第2の記録データ)の値に対応したセル(第2のセル)に基準色#1(第2の基準色)を配置する(ステップS5)。つまり、データ50のブロックBのデータは"001"(10進法で"1")であるので、"001"に対応した位置B1のセルP1に基準色#1を配置する。
次に、残りの基準色領域のセルの数が7個以下であるか判断する(ステップS6)。この時点では残りのセルの数が7個以下ではないので(ステップS6:No)、ステップS4〜S6の動作を繰り返す。
つまり、図3Aの基準色領域53に示すように、基準色#0、#1を配置したセルP3、P1を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックCのデータ"010"(10進法で"2")に対応した位置B2のセルP4に基準色#2を配置する(ステップS5)。
更に、図3Aの基準色領域54に示すように、基準色#0、#1、#2を配置したセルP3、P1、P4を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックDのデータ"011"(10進法で"3")に対応した位置B3のセルP6に基準色#3を配置する(ステップS5)。
更に、図3Aの基準色領域55に示すように、基準色#0、#1、#2、#3を配置したセルP3、P1、P4、P6を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックEのデータ"010"(10進法で"2")に対応した位置B2のセルP5に基準色#4を配置する(ステップS5)。
更に、図3Bの基準色領域56に示すように、基準色#0、#1、#2、#3、#4を配置したセルP3、P1、P4、P6、P5を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックFのデータ"111"(10進法で"7")に対応した位置B7のセルP12に基準色#5を配置する(ステップS5)。
更に、図3Bの基準色領域57に示すように、基準色#0、#1、#2、#3、#4、#5を配置したセルP3、P1、P4、P6、P5、P12を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックGのデータ"001"(10進法で"1")に対応した位置B1のセルP2に基準色#6を配置する(ステップS5)。
更に、図3Bの基準色領域58に示すように、基準色#0、#1、#2、#3、#4、#5、#6を配置したセルP3、P1、P4、P6、P5、P12、P2を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックHのデータ"010"(10進法で"2")に対応した位置B2のセルP8に基準色#7を配置する(ステップS5)。
更に、図3Bの基準色領域59に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7を配置したセルP3、P1、P4、P6、P5、P12、P2、P8を除いた複数のセルを左から順番にB0〜B7とする(ステップS4)。次に、データ50のブロックIのデータ"000"(10進法で"0")に対応した位置B0のセルP0に基準色#8を配置する(ステップS5)。
上記処理を一般化すると、第n−1(nは2以上の整数である)の基準色を配置した後、第1乃至第n−1のセルを除いた複数のセルに再度順番を割り当て、記録する第nの記録データの値に対応した第nのセルに第nの基準色を配置する、と表現することができる。
基準色#8を配置した時点において、残りのセルの数が7個以下となる(ステップS6:Yes)。よって、図3Bの基準色領域60に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7、#8を配置したセルP3、P1、P4、P6、P5、P12、P2、P8、P0を除いた複数のセルを左から順番にB0〜B3とする(図2BのステップS7)。ここで、基準色領域60の残りのセルの数は7個であるので、基準色領域60には3ビットのデータを記録することはできない。よって、基準色領域60には2ビット(4=2)に対応した順番B0〜B3を割り当てる。次に、データ50のブロックJのデータ"01"(10進法で"1")に対応した位置B1のセルP9に基準色#9を配置する(ステップS8)。
次に、残りの基準色領域のセルの数が3個以下であるか判断する(ステップS9)。この時点では残りのセルの数が3個以下ではないので(ステップS9:No)、ステップS7〜S9の動作を繰り返す。
つまり、図3Bの基準色領域61に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7、#8、#9を配置したセルP3、P1、P4、P6、P5、P12、P2、P8、P0、P9を除いた複数のセルを左から順番にB0〜B3とする(ステップS7)。次に、データ50のブロックKのデータ"10"(10進法で"2")に対応した位置B2のセルP11に基準色#10を配置する(ステップS8)。
図3A、図3Bに示す例では、データ50は32ビットのデータであるので、以上の動作により基準色領域11へのデータ50の記録が終了する。その後、図3Bの基準色領域62に示すように、残りのセルP7、P10、P13、P14、P15には、残りの基準色#11〜#15を配置する。このとき、基準色#11〜#15を配置する順番は任意に決定することができる。
32ビットよりも大きいデータを記録する場合は、更に図2Bに示すステップS7〜S9の動作を繰り返す。そして、残りのセルの数が3個以下となった場合(ステップS9:Yes)、基準色が配置されていない残りのセルを左から順番にB0〜B1とする(ステップS10)。この場合は、基準色領域に1ビット(2=2)のデータを記録することができる。その後、記録するデータに対応した位置に基準色を配置する(ステップS11)。
次に、残りの基準色領域のセルの数が1個以下であるか判断する(ステップS12)。残りのセルの数が1個以下でない場合は(ステップS12:No)、ステップS10〜S12の動作を繰り返す。一方、残りのセルの数が1個以下である場合は(ステップS12:Yes)、基準色領域にデータを記録することができないので、データの記録を終了する。基準色領域の残りのセルの数が1つとなった場合は、残りのセルに最後の基準色#15を配置することとなる。
以上で説明した処理により、基準色領域11にデータを記録することができる。上記の手法を用いた場合は、16個のセルを備える基準色領域11には、4+3+3+3+3+3+3+3+3+2+2+2+2+1+1=38ビットのデータを記録することができる。
また、上記の手法以外にも、基準色領域11の各々のセルに付される基準色の並び順を組み合わせることで、1616=16!≒2.09×1013となり、44ビットのデータを記録することができる。
次に、本実施の形態にかかる二次元カラーコードを読み取る二次元カラーコード読み取り装置について説明する。図4は、本実施の形態にかかる二次元カラーコード読み取り装置を示すブロック図である。図4に示すように、二次元カラーコード読み取り装置20は、撮像部21、基準色領域抽出部22、基準色特定部23、基準色領域デコード部24、データ領域抽出部25、およびデータ領域デコード部26を備える。
撮像部21は、二次元カラーコード10の画像情報を取得する。例えば、撮像部21はカメラで構成されている。撮像部21で取得された二次元カラーコード10の画像データ31は、基準色領域抽出部22およびデータ領域抽出部25に出力される。
基準色領域抽出部22は、二次元カラーコード10の画像データ31の中から基準色領域11の画像データを抽出する。抽出された基準色領域11の画像データ32は、基準色特定部に23に出力される。基準色特定部23は、基準色領域11の各々セルに記録された基準色を相互に比較し、それぞれの基準色を特定する。特定された基準色の情報33、35はそれぞれ、基準色領域デコード部24およびデータ領域デコード部26に出力される。
基準色領域デコード部24は、基準色領域11が備える複数のセルの各々に付された基準色の並び順に基づいてデータを読み取り、読み取ったデータ36を出力する。基準色領域11に記録されたデータを読み取る処理については後述する。
データ領域抽出部25は、二次元カラーコード10の画像データ31の中からデータ領域12の画像データを抽出する。抽出されたデータ領域12の画像データ34は、データ領域デコード部26に出力される。データ領域デコード部26は、データ領域12の各々のセルに付された色を特定し、各々のセルに記録されたデータを読み取る。データ領域デコード部26は、各々のセルに付された色を特定する際に、基準色特定部23で特定された基準色の情報35を参照する。データ領域デコード部26は、読み取ったデータ37を出力する。
次に、二次元カラーコードの基準色領域からデータを読み取る処理(二次元カラーコード読み取り装置の動作)について説明する。図5A、図5Bは、本実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理を説明するためのフローチャートである。図6A、図6Bは、本実施の形態にかかる二次元カラーコードの基準色領域からデータを読み取る処理の具体例を示す図である。
図5Aに示すように、撮像部21は、二次元カラーコード10の画像情報を取得する(ステップS21)。次に、基準色領域抽出部22は、二次元カラーコード10の画像データ31の中から基準色領域11の画像データを抽出する(ステップS22)。次に、基準色特定部23は、基準色領域11の各々のセルに記録された基準色を相互に比較し、それぞれの基準色を特定する(ステップS23)。
基準色領域デコード部24は、基準色領域11に配置されている複数のセルに順番を割り当てる。例えば、図6Aの基準色領域71に示すように、基準色領域に配置されている複数のセルを左から順番にB0〜B15とする(ステップS24)。ここで、基準色領域71の下に示しているP0〜P15は、基準色領域に配置されている複数のセルの絶対的な位置を示している。つまり、位置P0〜P15は固定されている。また、この場合は16個のセルに順番B0〜B15を割り当てることができるので、4ビット(16=2)のデータを読み取ることができる。また、本実施の形態では、複数のセルを左から順番にB0〜B15としているが、右から順番にB0〜B15としてもよい。順番B0〜B15は、基準色領域11にデータを記録した際のルールに従い割り当てられる。
次に、予め順番が定義された基準色#0〜#15のうちの最初の基準色#0(第1の基準色)が付されたセル(第1のセル)に割り当てられている順番に基づいて記録データ(第1の記録データ)をデコードする(ステップS25)。すなわち、図6Aの基準色領域71に示すように、基準色#0が付されたセルP3の順番B3に基づいて、記録データをデコードする。この場合は、基準色#0が付されたセルP3の順番B3は"3"であるので、4ビットのデータ"0011"(ブロックA)を取得する。
次に、基準色#0が配置されているセルP3を除いた複数のセルに再度順番を割り当てる。例えば、図6Aの基準色領域72に示すように、セルP3を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。ここで、セルP3を除いた残りのセルの数は15個となる。よって、残りのセルから読み取ることができるデータは3ビットのデータとなる。換言すると、複数のセルに順番を割り当てる際、デコードする所定のデータのビット数で表現できる最大の数の順番を割り当てる。
次に、予め順番が定義された基準色#0〜#15のうちの2番目の基準色#1(第2の基準色)が付されたセル(第2のセル)に割り当てられている順番に基づいて記録データ(第2の記録データ)をデコードする(ステップS27)。すなわち、図6Aの基準色領域72に示すように、基準色#1が付されたセルP1の順番B1に基づいて、記録データをデコードする。この場合は、基準色#1が付されたセルP1の順番B1は"1"であるので、3ビットのデータ"001"(ブロックB)を取得する。
次に、基準色#8に対応するデータ(最後の3ビットのデータに対応)を取得したか判断する(ステップS28)。この時点では、まだ基準色#8に対応するデータを取得していないので(ステップS28:No)、ステップS26〜S28の動作を繰り返す。
つまり、図6Aの基準色領域73に示すように、基準色#0、#1が配置されているセルP3、P1を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#2が付されたセルP4の順番B2に基づいて、記録データをデコードする。この場合は、基準色#2が付されたセルP4の順番B2は"2"であるので、3ビットのデータ"010"を取得する(ステップS27)。
更に、図6Aの基準色領域74に示すように、基準色#0、#1、#2が配置されているセルP3、P1、P4を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#3が付されたセルP4の順番B3(10進法で"3")に基づいて、3ビットのデータ"011"を取得する(ステップS27)。
更に、図6Aの基準色領域75に示すように、基準色#0、#1、#2、#3が配置されているセルP3、P1、P4、P6を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#4が付されたセルP5の順番B2(10進法で"2")に基づいて、3ビットのデータ"010"を取得する(ステップS27)。
更に、図6Bの基準色領域76に示すように、基準色#0、#1、#2、#3、#4が配置されているセルP3、P1、P4、P6、P5を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#5が付されたセルP12の順番B7(10進法で"7")に基づいて、3ビットのデータ"111"を取得する(ステップS27)。
更に、図6Bの基準色領域77に示すように、基準色#0、#1、#2、#3、#4、#5が配置されているセルP3、P1、P4、P6、P5、P12を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#6が付されたセルP2の順番B1(10進法で"1")に基づいて、3ビットのデータ"001"を取得する(ステップS27)。
更に、図6Bの基準色領域78に示すように、基準色#0、#1、#2、#3、#4、#5、#6が配置されているセルP3、P1、P4、P6、P5、P12、P2を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#7が付されたセルP8の順番B2(10進法で"2")に基づいて、3ビットのデータ"010"を取得する(ステップS27)。
更に、図6Bの基準色領域79に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7が配置されているセルP3、P1、P4、P6、P5、P12、P2、P8を除いた複数のセルを左から順番にB0〜B7とする(ステップS26)。次に、基準色#8が付されたセルP0の順番B0(10進法で"0")に基づいて、3ビットのデータ"000"を取得する(ステップS27)。
上記処理を一般化すると、第n−1(nは2以上の整数)の記録データをデコードした後、第1乃至第n−1のセルを除いた複数のセルに再度順番を割り当て、予め順番が定義された基準色のうちのn番目の基準色である第nの基準色が付された第nのセルに割り当てられている順番に基づいて第nの記録データをデコードする、と表現することができる。
基準色#8に対応したデータを取得した後(ステップS28:Yes)は、図6Bの基準色領域80に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7、#8が配置されているセルP3、P1、P4、P6、P5、P12、P2、P8、P0を除いた複数のセルを左から順番にB0〜B3とする(ステップS29)。ここで、残りのセルの数は7個であるので、残りのセルから読み取ることができるデータは2ビットのデータとなる。次に、基準色#9が付されたセルP9の順番B1(10進法で"1")に基づいて、2ビットのデータ"01"を取得する(ステップS30)。
次に、基準色#12に対応するデータ(最後の2ビットのデータに対応)を取得したか判断する(ステップS31)。この時点では、まだ基準色#12に対応するデータを取得していないので(ステップS31:No)、ステップS29〜S31の動作を繰り返す。
つまり、図6Bの基準色領域81に示すように、基準色#0、#1、#2、#3、#4、#5、#6、#7、#8、#9が配置されているセルP3、P1、P4、P6、P5、P12、P2、P8、P0、P9を除いた複数のセルを左から順番にB0〜B3とする(ステップS29)。次に、基準色#10が付されたセルP11の順番B2(10進法で"2")に基づいて、2ビットのデータ"10"を取得する(ステップS30)。
図6A、図6Bに示す例では、記録データ70は32ビットのデータであるので、以上の処理により基準色領域11から記録データ70を読み取る処理が終了する。なお、基準色領域11に記録されている記録データ70のサイズ情報を、予め二次元カラーコード10等に記録することで、基準色領域デコード部24は、基準色#10に対応するデータを取得した時点で記録データ70のデコード処理を終了することができる。
32ビットよりも大きいデータが記録されている場合は、更に図5Bに示すステップS29〜S31の動作を繰り返す。そして、基準色#12に対応したデータを取得した後(ステップS31:Yes)は、基準色が配置されていない残りのセルを左から順番にB0〜B1とする(ステップS32)。ここで、残りのセルの数は3個であるので、残りのセルから読み取ることができるデータは1ビットのデータとなる。その後、基準色#13が付されたセルの順番に基づいて、1ビットのデータを取得する(ステップS33)。
次に、基準色#14に対応するデータを取得したか判断する(ステップS34)。この時点では、まだ基準色#14に対応するデータを取得していないので(ステップS34:No)、ステップS32〜S34の動作を繰り返す。
つまり、基準色が配置されていない残りのセルを左から順番にB0〜B1とする(ステップS32)。その後、基準色#14が付されたセルの順番に基づいて、1ビットのデータを取得する(ステップS33)。
この時点で基準色#14に対応するデータは取得済みとなるので(ステップS34:Yes)、基準色領域デコード部24は、記録データのデコード処理を終了する。
以上で説明したデコード処理により、基準色領域11に記録されている記録データを読み取ることができる。上記の処理を用いた場合は、16個のセルを備える基準色領域11から、4+3+3+3+3+3+3+3+3+2+2+2+2+1+1=38ビットのデータを取得することができる。
背景技術で説明したように、二次元カラーコードでは各々異なる複数の色を用いてデータを記録している。よって、情報の記録に使用する複数の色である基準色を二次元カラーコードに記録し、二次元カラーコードを読み取る際に基準色を参照することで、二次元カラーコードに記録されているデータを正確に読み取ることができる。
例えば、従来の二次元カラーコードでは、4色から8色程度の色を用いているものが多い。この理由は、色数が多くなると読み取りが困難になるからである。また、プリンターの色再現の問題もあり、使用する色数を増加するには困難が伴った。一方で、二次元カラーコードのデータ量を増加させるには色数を増加させる必要がある。例えば、16色(4ビット)のコードを使用すれば、4色(2ビット)の場合にくらべ2倍の情報量とすることができる。64色のコードを用いればさらに情報量を増やすことができる。
このように色数を増やした場合は、それぞれの色を正確に分離する必要がある。例えば、4色の場合には、RGBの各成分における強度を比較し、最も明るい色を判別するだけで色の分離が可能であった。8色の場合にも、RGBの各成分における明るさが所定値よりも強いか弱いかを判断することで8つの色を判別することができる。光源の色や輝度、周囲の環境が多少変化した場合であっても、色の判別が出来ないと言うことは少なく、どちらかと言えば二次元カラーコードの汚れや退色による色変化の影響が大きかった。
一方、16色以上の色を用いる場合は、RGB以外の中間的な色を使用する。具体的には、灰色や橙色、茶色のような色を使用する。これらの中間色はRGBの各成分における強度を判別するだけでは区別するのは困難であり、RGBの比率などを用いて色を判別する必要がある。このため、16色以上の色を使用する場合は、二次元カラーコードで使用する基準色を二次元カラーコードに予め記録しておき、この基準色と各々のセルの色とを比較することで、光源の輝度や色が変化した場合にも二次元カラーコードを正確に読み取ることができる。
しかしながら、基準色を二次元カラーコードに記録するためには、基準色を記録する基準色領域を、データが記録されているデータ領域とは別に設ける必要がある。このため、基準色領域を設けると、基準色領域の面積分だけ二次元カラーコードに記録できるデータの容量が減少するという問題があった。特にこの問題は、上記で説明したように、二次元カラーコードに使用する色の数が多くなればなるほど顕著となる。例えば、色の数が16色以上となるとこの問題が顕著となる。
そこで本実施の形態にかかる二次元カラーコードでは、基準色領域に記録されている基準色の並び順に基づいてデータを記録している。よって、基準色を参照することで二次元カラーコードに記録されているデータを正確に読み取ることができ、更に基準色領域にもデータを記録することができるので二次元カラーコードに記録できるデータの容量が低下することを抑制することができる。
以上で説明した本実施の形態にかかる発明により、基準色領域を設けた場合であっても、記録できるデータの容量が低下することを抑制することができる二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置を提供することができる。
以上、本発明を上記実施形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
10 二次元カラーコード
11 基準色領域
12 データ領域
21 撮像部
22 基準色領域抽出部
23 基準色特定部
24 基準色領域デコード部
25 データ領域抽出部
26 データ領域デコード部

Claims (12)

  1. 二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードであって、
    前記二次元カラーコードは、
    第1のデータが記録されたデータ領域と、
    前記複数の色に対応し、前記データ領域から前記第1のデータを読み取る際に参照される基準色がそれぞれ付された複数のセルを備える基準色領域と、を備え、
    前記基準色領域には、前記複数のセルの各々に付される前記基準色の並び順に基づいて第2のデータが記録される、
    二次元カラーコード。
  2. 前記複数の基準色の順番を定義し、
    前記基準色領域に配置されている前記複数のセルに順番を割り当て、
    記録する第1の記録データの値に対応した第1のセルに第1の基準色を配置する、
    請求項1に記載の二次元カラーコード。
  3. 前記第1の基準色を配置した後、
    前記第1のセルを除いた前記複数のセルに再度順番を割り当て、
    記録する第2の記録データの値に対応した第2のセルに第2の基準色を配置する、
    請求項2に記載の二次元カラーコード。
  4. 第n−1(nは2以上の整数である)の基準色を配置した後、
    前記第1乃至第n−1のセルを除いた前記複数のセルに再度順番を割り当て、
    記録する第nの記録データの値に対応した第nのセルに第nの基準色を配置する、
    請求項2に記載の二次元カラーコード。
  5. 前記複数のセルに順番を割り当てる際、前記記録する所定のデータのビット数で表現できる最大の数の順番を割り当てる、請求項2乃至4のいずれか一項に記載の二次元カラーコード。
  6. 二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り装置であって、
    前記複数の色に対応している基準色がそれぞれ付された複数のセルを備える基準色領域を前記二次元カラーコードから抽出する基準色領域抽出部と、
    前記抽出された前記基準色を相互に比較することで前記基準色の各々を特定する基準色特定部と、
    前記基準色領域が備える複数のセルの各々に付された前記基準色の並び順に基づいてデータを読み取る基準色領域デコード部と、を備える、
    二次元カラーコード読み取り装置。
  7. 前記基準色領域が備える前記複数のセルに順番を割り当て、
    予め順番が定義された基準色のうちの1番目の基準色である第1の基準色が付された第1のセルに割り当てられている順番に基づいて第1の記録データをデコードする、請求項6に記載の二次元カラーコード読み取り装置。
  8. 前記第1の記録データをデコードした後、
    前記第1のセルを除いた前記複数のセルに再度順番を割り当て、
    予め順番が定義された基準色のうちの2番目の基準色である第2の基準色が付された第2のセルに割り当てられている順番に基づいて第2の記録データをデコードする、請求項7に記載の二次元カラーコード読み取り装置。
  9. 前記第n−1(nは2以上の整数)の記録データをデコードした後、
    前記第1乃至第n−1のセルを除いた前記複数のセルに再度順番を割り当て、
    予め順番が定義された基準色のうちのn番目の基準色である第nの基準色が付された第nのセルに割り当てられている順番に基づいて第nの記録データをデコードする、請求項7に記載の二次元カラーコード読み取り装置。
  10. 前記複数のセルに順番を割り当てる際、前記デコードする所定のデータのビット数で表現できる最大の数の順番を割り当てる、請求項7乃至9のいずれか一項に記載の二次元カラーコード読み取り装置。
  11. 二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードの生成方法であって、
    データ領域に第1のデータを記録し、
    前記複数の色に対応し、前記データ領域から前記第1のデータを読み取る際に参照される基準色を基準色領域に配置されている複数のセルに付し、
    前記基準色を前記複数のセルに付す際の前記基準色の並び順に基づいて第2のデータを記録する、
    二次元カラーコードの生成方法。
  12. 二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコードの読み取り方法であって、
    前記複数の色に対応している基準色がそれぞれ付された複数のセルを備える基準色領域を前記二次元カラーコードから抽出し、
    前記抽出された前記基準色を相互に比較することで前記基準色の各々を特定し、
    前記基準色領域が備える複数のセルの各々に付された前記基準色の並び順に基づいてデータを読み取る、
    二次元カラーコードの読み取り方法。
JP2012261351A 2012-11-29 2012-11-29 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置 Pending JP2014106887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012261351A JP2014106887A (ja) 2012-11-29 2012-11-29 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012261351A JP2014106887A (ja) 2012-11-29 2012-11-29 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置

Publications (1)

Publication Number Publication Date
JP2014106887A true JP2014106887A (ja) 2014-06-09

Family

ID=51028276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012261351A Pending JP2014106887A (ja) 2012-11-29 2012-11-29 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置

Country Status (1)

Country Link
JP (1) JP2014106887A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344941A (zh) * 2018-09-03 2019-02-15 佛山科学技术学院 一种大数据安全共享方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344941A (zh) * 2018-09-03 2019-02-15 佛山科学技术学院 一种大数据安全共享方法及装置
CN109344941B (zh) * 2018-09-03 2021-11-30 佛山科学技术学院 一种大数据安全共享方法及装置

Similar Documents

Publication Publication Date Title
JP3996520B2 (ja) 二次元情報コードおよびその生成方法
JP6144585B2 (ja) 多次元カラーバーコードおよび方法
JP6590335B2 (ja) 二次元コード、及び該二次元コードの読取方法
US8830533B2 (en) System and method for creating machine-readable codes in combination with other images such as logos
US20220327302A1 (en) Data matrix code, generating method and device thereof, and decoding method and device thereof
US20160100161A1 (en) Decoder, encoder, decoding method, encoding method, and codec system
JP2000196907A (ja) 画素に割り当てられる色の選択方法、ならびに画像の符号化及び記憶方法
TW201432576A (zh) 二維碼、二維碼之作成系統及解析程式
US20200177767A1 (en) Image processing system and method
RU2729399C1 (ru) Способ обнаружения и распознавания визуальных маркеров большой дальности и высокой плотности
KR20090035529A (ko) 광학식 심볼 및 그것이 부착된 물품 및 광학식 심볼을 물품에 부착하는 방법, 및 광학식 인식 코드 인식 방법
US10021405B2 (en) Encoding device, decoding device, and image processing device
JP2003178277A (ja) 2次元コード,2次元コードの作成方法、2次元コードの復号方法,それらの方法を実行する装置、それらの方法をコンピュータで実行する為のプログラム、及び、そのプログラムを記録したコンピュータ読み取り可能記録媒体
CN104683669A (zh) 估计与用全光相机获取的场景的视图的视差的方法和装置
CN106599010B (zh) 图码搜索法
JP2014106887A (ja) 二次元カラーコード、その生成方法、及びその読み取り方法、二次元カラーコード読み取り装置
JP6291189B2 (ja) ハイパースペクトル画像の分解能を制御する方法
JP2008052587A (ja) プログラム、情報記憶媒体、2次元コード生成システム、2次元コード
CN105303510A (zh) 在图像中隐藏信息的方法和设备
JP2014116706A (ja) 二次元カラーコード表示装置、表示方法、読み取り装置、及び読み取り方法
Dean et al. Quick layered response (qlr) codes
JP2005208843A (ja) 情報符号化/復号方法、装置及びコード表示物
JP4241803B2 (ja) 二次元情報コードの読取方法および読取装置
CN104243942A (zh) 图像处理方法以及图像处理装置
Niimi et al. Luminance quasi-preserving color quantization for digital steganography to palette-based images