(57)【要約】【課題】表示装置に表示された二次元カラーコードを読み取る際のエラーを低減することである。【解決手段】本発明にかかる二次元カラーコード表示装置は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコード１０を表示する。二次元カラーコード１０は、データが記録されたデータ領域１３と、前記複数の色に対応し、データ領域１３からデータを読み取る際に参照される基準色Ａ〜Ｐが記録された第１の基準色領域１１と、第１の基準色領域１１と離間して配置され、第１の基準色領域１１に記録された基準色Ａ〜Ｐと対応する基準色Ａ〜Ｐが記録された第２の基準色領域１２と、を備える。【選択図】図１
2014116706.tif 000002
【特許請求の範囲】
【請求項１】
二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードを表示する二次元カラーコード表示装置であって、
前記二次元カラーコードは、
データが記録されたデータ領域と、
前記複数の色に対応し、前記データ領域から前記データを読み取る際に参照される基準色が記録された第１の基準色領域と、
前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、を備える、
二次元カラーコード表示装置。
【請求項２】
前記第１の基準色領域は前記二次元カラーコードの第１の辺側に配置されており、
前記第２の基準色領域は、前記二次元カラーコードの前記第１の辺側と対向する第２の辺側に配置されている、
請求項１に記載の二次元カラーコード表示装置。
【請求項３】
前記第１の辺は前記二次元カラーコードの上辺であり、
前記第２の辺は前記二次元カラーコードの下辺である、
請求項２に記載の二次元カラーコード表示装置。
【請求項４】
前記第１の基準色領域が備える複数のセルに付された前記基準色の並び順は、前記第２の基準色領域が備える複数のセルに付された前記基準色の並び順と同一である、請求項１乃至３のいずれか一項に記載の二次元カラーコード表示装置。
【請求項５】
前記第１および第２の基準色領域には、前記基準色として少なくとも赤色、緑色、および青色が記録されている、請求項１乃至４のいずれか一項に記載の二次元カラーコード表示装置。
【請求項６】
二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り装置であって、
前記複数の色に対応している基準色が記録された第１の基準色領域と、前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、から基準色情報を取得する色情報取得部と、
前記第１の基準色領域の基準色と、前記第２の基準色領域の基準色と、を用いて補間処理を行う基準色補間部と、
前記補間処理された基準色を参照して、前記二次元カラーコードのデータ領域の各々のセルに付された色を判別する色判別部と、
前記色判別部で判別された前記各々のセルの色に基づいてデータを生成するデータ生成部と、を備える、
二次元カラーコード読み取り装置。
【請求項７】
前記基準色補間部は、前記第１の基準色領域の基準色と読み取り対象セルとの距離である第１の距離と、前記第２の基準色領域の基準色と前記読み取り対象セルとの距離である第２の距離と、を用いて補間処理を行う、請求項６に記載の二次元カラーコード読み取り装置。
【請求項８】
前記第１の距離をｍ、前記第２の距離をｎ、前記第１の基準色領域の前記基準色のｘｙ平面上での色度をＣ１、前記第２の基準色領域の前記基準色のｘｙ平面上での色度をＣ２、前記補間処理により得られる前記対象セルに対応した基準色のｘｙ平面上での色度をＣｘとした場合、前記基準色補間部は、Ｃｘ＝（ｍ×Ｃ２＋ｎ×Ｃ１）／（ｍ＋ｎ）を用いて補間処理を行う、請求項７に記載の二次元カラーコード読み取り装置。
【請求項９】
前記第１の基準色領域は前記二次元カラーコードの第１の辺側に配置されており、
前記第２の基準色領域は、前記二次元カラーコードの前記第１の辺側と対向する第２の辺側に配置されている、
請求項６乃至８のいずれか一項に記載の二次元カラーコード読み取り装置。
【請求項１０】
前記第１の辺は前記二次元カラーコードの上辺であり、
前記第２の辺は前記二次元カラーコードの下辺である、
請求項９に記載の二次元カラーコード読み取り装置。
【請求項１１】
前記第１の基準色領域が備える複数のセルに付された前記基準色の並び順は、前記第２の基準色領域が備える複数のセルに付された前記基準色の並び順と同一である、請求項６乃至１０のいずれか一項に記載の二次元カラーコード読み取り装置。
【請求項１２】
前記第１および第２の基準色領域には、前記基準色として少なくとも赤色、緑色、および青色が記録されている、請求項６乃至１１のいずれか一項に記載の二次元カラーコード読み取り装置。
【請求項１３】
二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードの表示方法であって、
データが記録されたデータ領域を配置し、
前記複数の色に対応し、前記データ領域から前記データを読み取る際に参照される基準色が記録された第１の基準色領域を配置し、
前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域を前記第１の基準色領域と離間して配置する、
二次元カラーコードの表示方法。
【請求項１４】
前記二次元カラーコードの第１の辺側に前記第１の基準色領域を配置し、
前記二次元カラーコードの前記第１の辺側と対向する第２の辺側に前記第２の基準色領域を配置する、
請求項１３に記載の二次元カラーコードの表示方法。
【請求項１５】
前記第１の辺は前記二次元カラーコードの上辺であり、
前記第２の辺は前記二次元カラーコードの下辺である、
請求項１４に記載の二次元カラーコードの表示方法。
【請求項１６】
二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り方法であって、
前記複数の色に対応している基準色が記録された第１の基準色領域と、前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、から基準色情報を取得し、
前記第１の基準色領域の基準色と、前記第２の基準色領域の基準色と、を用いて補間処理を行い、
前記補間処理された基準色を参照して、前記二次元カラーコードのデータ領域の各々のセルに付された色を判別し、
前記判別された前記各々のセルの色に基づいてデータを生成する、
二次元カラーコード読み取り方法。
【請求項１７】
前記第１の基準色領域の基準色と読み取り対象セルとの距離である第１の距離と、前記第２の基準色領域の基準色と前記読み取り対象セルとの距離である第２の距離と、を用いて補間処理を行う、請求項１６に記載の二次元カラーコード読み取り方法。
【請求項１８】
前記第１の距離をｍ、前記第２の距離をｎ、前記第１の基準色領域の前記基準色のｘｙ平面上での色度をＣ１、前記第２の基準色領域の前記基準色のｘｙ平面上での色度をＣ２、前記補間処理により得られる前記対象セルに対応した基準色のｘｙ平面上での色度をＣｘとした場合、Ｃｘ＝（ｍ×Ｃ２＋ｎ×Ｃ１）／（ｍ＋ｎ）を用いて補間処理を行う、請求項１７に記載の二次元カラーコード読み取り方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は二次元カラーコード表示装置、表示方法、読み取り装置、及び読み取り方法に関する。
【背景技術】
【０００２】
二次元カラーコードは、カラー表現を用いて各々のセルに情報を記録するため、従来の白色および黒色を用いた二次元コードよりも高密度に情報を記録することができる。このような二次元カラーコードでは、読み取り時における光源の違いによる見た目の色変化や、経時変化による退色の影響を低減するために、基準色を所定の領域に記録する手法が提案されている。
【０００３】
特許文献１には、カラー表現される二次元コードにおいて、セルに表示される各色の基準となる参照領域を設けることができ、且つコード領域と背景とを高精度に分離できる技術が開示されている。また、特許文献２には、カラーコード内の各セル内に本来の色とは異なる色が含まれていた場合にも、確実にセルの本来の色を認識させることを可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６１２１７号公報
【特許文献２】特開２０１１−１３４０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
二次元カラーコードでは、各々異なる複数の色を用いてデータを記録している。よって、情報の記録に使用する複数の色である基準色を二次元カラーコードに記録し、二次元カラーコードを読み取る際に基準色を参照することで、二次元カラーコードに記録されているデータを正確に読み取ることができる。従来では、二次元カラーコードは商品コードやＩＣカードに使用される場合が多く、例えば紙等に印刷して用いられる場合が多かった。
【０００６】
しかしながら、二次元カラーコードを表示装置に表示した場合は、表示装置をみる角度によっては表示装置に表示される色が本来の色から変化する場合がある。このため表示装置に表示された二次元カラーコードを読み取る際にエラーが発生するという問題があった。
【０００７】
上記課題に鑑み本発明の目的は、表示装置に表示された二次元カラーコードを読み取る際のエラーを低減することができる二次元カラーコード表示装置、表示方法、読み取り装置、及び読み取り方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明にかかる二次元カラーコード表示装置は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードを表示する二次元カラーコード表示装置であって、前記二次元カラーコードは、データが記録されたデータ領域と、前記複数の色に対応し、前記データ領域から前記データを読み取る際に参照される基準色が記録された第１の基準色領域と、前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、を備える。
【０００９】
本発明にかかる二次元カラーコード読み取り装置は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り装置であって、前記複数の色に対応している基準色が記録された第１の基準色領域と、前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、から基準色情報を取得する色情報取得部と、前記第１の基準色領域の基準色と、前記第２の基準色領域の基準色と、を用いて補間処理を行う基準色補間部と、前記補間処理された基準色を参照して、前記二次元カラーコードのデータ領域の各々のセルに付された色を判別する色判別部と、前記色判別部で判別された前記各々のセルの色に基づいてデータを生成するデータ生成部と、を備える。
【００１０】
本発明にかかる二次元カラーコードの表示方法は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータを記録する二次元カラーコードの表示方法であって、データが記録されたデータ領域を配置し、前記複数の色に対応し、前記データ領域から前記データを読み取る際に参照される基準色が記録された第１の基準色領域を配置し、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域を前記第１の基準色領域と離間して配置する。
【００１１】
本発明にかかる二次元カラーコード読み取り方法は、二次元的に配置された複数のセルに、各々異なる複数の色の中から選択された所定の色を付すことでデータが記録された二次元カラーコードからデータを読み取る二次元カラーコード読み取り方法であって、前記複数の色に対応している基準色が記録された第１の基準色領域と、前記第１の基準色領域と離間して配置され、前記第１の基準色領域に記録された前記基準色と対応する基準色が記録された第２の基準色領域と、から基準色情報を取得し、前記第１の基準色領域の基準色と、前記第２の基準色領域の基準色と、を用いて補間処理を行い、前記補間処理された基準色を参照して、前記二次元カラーコードのデータ領域の各々のセルに付された色を判別し、前記判別された前記各々のセルの色に基づいてデータを生成する。
【発明の効果】
【００１２】
本発明により、表示装置に表示された二次元カラーコードを読み取る際のエラーを低減することができる二次元カラーコード表示装置、表示方法、読み取り装置、及び読み取り方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態にかかる二次元カラーコード表示装置に表示される二次元カラーコードを示す図である。
【図２】実施の形態にかかる二次元カラーコード表示装置に表示される二次元カラーコードを示す図である。
【図３】補間処理を説明するための図である。
【図４】補間処理を説明するための図である。
【図５】実施の形態にかかる二次元カラーコード読み取り装置を示すブロック図である。
【図６】実施の形態にかかる二次元カラーコード読み取り装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本実施の形態にかかる二次元カラーコード表示装置に表示される二次元カラーコードを示す図である。図１に示すように、二次元カラーコード１０は、第１の基準色領域１１、第２の基準色領域１２、およびデータ領域１３を備える。図１に示す例では、複数のセルが１６行１６列に配置されている二次元カラーコードを例として示している。しかし、セルの数や配置はこれに限定されることはなく、例えば、任意の数のセルをｐ行ｑ列（ｐ、ｑは整数である）に格子状に配置してもよい。また、セルの配置は格子状に限定されることはなく、例えば千鳥配置や円形状など、二次元的な配置であればどのような配置であってもよい。
【００１５】
第１の基準色領域１１には、データ領域１３からデータを読み取る際に参照される基準色Ａ〜Ｐが記録されている。データの記録に用いる基準色の数は複数であれば何色であってもよい。本実施の形態では基準色を１６色とした場合を例として説明する。
【００１６】
第２の基準色領域１２には、データ領域１３からデータを読み取る際に参照される基準色Ａ〜Ｐが記録されている。第２の基準色領域１２は、第１の基準色領域１１と離間して配置されている。また、第２の基準色領域１２には、第１の基準色領域１１に記録された基準色Ａ〜Ｐと対応する基準色Ａ〜Ｐが記録されている。典型的には、第１の基準色領域１１の基準色Ａ〜Ｐと、第２基準色領域１２の基準色Ａ〜Ｐはそれぞれ同じ色である。
【００１７】
図１に示す例では、第１の基準色領域１１は二次元カラーコード１０の第１の辺（上辺）側に配置されており、第２の基準色領域１２は、二次元カラーコード１０の第１の辺側と対向する第２の辺（下辺）側に配置されている。
【００１８】
また、第１の基準色領域１１が備える複数のセルに付された基準色Ａ〜Ｐの並び順は、第２の基準色領域１２が備える複数のセルに付された基準色Ａ〜Ｐの並び順と同一である。すなわち、第１の基準色領域１１の基準色Ａと第２基準色領域１２の基準色Ａとが列方向において対応する位置（つまり、１列目）に配置されている。
【００１９】
なお、図１に示す例では、第１の基準色領域１１を二次元カラーコード１０の上辺に配置し、第２の基準色領域１２を二次元カラーコード１０の下辺に配置しているが、第１および第２の基準色領域１１、１２を配置する位置はこれに限定されることはない。例えば、第１の基準色領域１１と第２の基準色領域１２とが二次元カラーコード１０の左右の位置にそれぞれ配置されるようにしてもよい。また、第１および第２の基準色領域１１、１２はそれぞれ、データ領域１３から離して配置してもよい。
【００２０】
また、第１の基準色領域１１と第２の基準色領域１２は離間して配置されていればよく、必ずしも二次元カラーコード１０の辺に配置する必要はない。例えば、第１の基準色領域１１を二次元カラーコード１０の上辺に配置し、第２の基準色領域１２を二次元カラーコード１０の中央部近傍に配置してもよい。この場合は、データ領域１３が第２の基準色領域１２によって２分割される。
【００２１】
また、図１に示す例では、第１の基準色領域１１における基準色Ａ〜Ｐの並び順が、第２の基準色領域１２における基準色Ａ〜Ｐの並び順と同一である場合を示しているが、これに限定されることはない。すなわち、第１の基準色領域１１の基準色Ａと第２基準色領域１２の基準色Ａとが列方向において対応する位置に配置されていなくてもよい。
【００２２】
また、図１に示す例では、第１および第２の基準色領域１１、１２のセルがそれぞれ１行に配列している（つまり、セルが直線状に配列している）場合を示しているが、基準色領域１１のセルは複数行に渡っていてもよい。また、図１に示す例では、第１および第２の基準色領域１１、１２のそれぞれが連続した領域となっているが、第１および第２の基準色領域１１、１２のそれぞれは二次元カラーコード１０内において離散的に配置されていてもよい。また、二次元カラーコード１０は、基準色領域を少なくとも２つ備えていればよく、例えば３つ以上の基準色領域を備えていてもよい。
【００２３】
データ領域１３には、各々異なる複数の色（基準色）の中から選択された所定の色を付すことでデータが記録される。また、データ領域１３からデータを読み取る際は、第１および第２の基準色領域１２、１３に配置された基準色が参照される。例えば、基準色はｘｙ平面上での色度を用いて定義することができる（例えば、ＩＥＥＥ規格８０２．１５．７（Visible Light Communication）参照）。
【００２４】
基準色を１６色（Ａ〜Ｐ）とした場合は、一つのセルに４ビット（１６＝２４）のデータを記録することができる。基準色として用いる色としては、例えば、白、黒、赤、緑、青、マゼンタ、シアン、黄色に加えて、これらの色の中間色（例えば、灰色、橙色、茶色など）を用いることができる。このように、基準色の種類が多くなると各々の色の区別がつきにくくなる。しかし、これらの基準色を第１および第２の基準色領域１１、１２に記録し、読み取り時に第１および第２の基準色領域１１、１２に記録された基準色を参照することで、データ領域１３からデータを正確に読み取ることができる。
【００２５】
図２は、二次元カラーコード表示装置に表示される二次元カラーコード１０を示す図であり、表示装置に表示される二次元カラーコードの色が本来の色から変化している場合を示している。例えば表示装置の一つである液晶ディスプレイでは、液晶の偏光作用を利用しているため、ユーザがディスプレイを見る角度（つまり、ディスプレイ面に対するユーザの位置）によってはディスプレイに表示される色が変化する。具体的には、図２に示すように、例えば二次元カラーコードの上側の色が下側の色よりも濃くなる。つまり、第２の基準色領域１２の基準色Ａ〜Ｐに対して、第１の基準色領域１１の基準色Ａ'〜Ｐ'が濃くなる。
【００２６】
このように、二次元カラーコードを表示装置に表示した場合は、表示装置をみる角度によって表示装置に表示される色が本来の色から変化し、二次元カラーコードを読み取る際にエラーが発生する場合があった。
【００２７】
このような問題を解決するために、本実施の形態では、基準色Ａ〜Ｐを備える第１の基準色領域１１と基準色Ａ〜Ｐを備える第２の基準色領域１２とを離間して配置している。このように、互いに同一の基準色を備える第１および第２の基準色領域１１、１２を、二次元カラーコード内において離間して配置し、データ読み取り時に第１および第２の基準色領域１１、１２の基準色を参照することで、データ領域１３からデータを正確に読み取ることができる。特に、第１の基準色領域１１と第２の基準色領域１２とを、色の差が大きい２つの領域（つまり、二次元カラーコードの上側と下側）に配置することで、より正確にデータを読み取ることができる。
【００２８】
そして、本実施の形態では、データ領域１３からデータを読み取る際、二次元カラーコード読み取り装置は、第１および第２の基準色領域１１、１２の基準色をそれぞれ用いて補間処理を行っている。すなわち、図２に示す表示装置における色の変化は、角度にほぼ比例する。よって、読み取り対象セルの位置と、第１および第２の基準色領域１１、１２の基準色とを用いて補間処理を行うことで、読み取り対象セルに対応した基準色を推定することができる。以下、補間処理について詳細に説明する。
【００２９】
図３は補間処理を説明するための図であり、図２に示す二次元カラーコード１０に対応している。図３に示すように、第１の基準色領域１１（色度Ｃ１）に表示されている基準色Ａ'〜Ｐ'は、第２の基準色領域１２（色度Ｃ２）に表示されている基準色Ａ〜Ｐよりも色が濃い。また、第１の基準色領域１１と第２の基準色領域１２との間に配置されている読み取り対象セル（色度Ｃｘ）に表示されている色Ａ''〜Ｐ''（説明のために順番をＡ''、Ｂ''、・・・、Ｐ''としている）は、第１の基準色領域１１に表示されている基準色Ａ'〜Ｐ'と第２の基準色領域１２に表示されている基準色Ａ〜Ｐとの中間の色である。
【００３０】
すなわち、図３に示す例では、第１の基準色領域１１（色度Ｃ１）に表示されている基準色Ａ'〜Ｐ'が最も濃く、第２の基準色領域１２（色度Ｃ２）に表示されている基準色Ａ〜Ｐが最も薄い。そして、第１の基準色領域１１（色度Ｃ１）と第２の基準色領域１２（色度Ｃ２）との間に配置されている読み取り対象セルの色Ａ''〜Ｐ''は、基準色Ａ〜Ｐから基準色Ａ'〜Ｐ'の間で連続的に変化する。
【００３１】
したがって、第１の基準色領域１１（色度Ｃ１）の基準色Ａ'〜Ｐ'と読み取り対象セル（色度Ｃｘ）との距離ｍ（第１の距離）と、第２の基準色領域１２（色度Ｃ２）に記録されている基準色Ａ〜Ｐと読み取り対象セル（色度Ｃｘ）との距離ｎ（第２の距離）とを用いて補間処理を行うことで、読み取り対象セルに対応した基準色Ａ''〜Ｐ''を推定することができる。
【００３２】
例えば、読み取り対象セルに対応した基準色Ａ''を補間処理で求める場合は、第１の基準色領域１１（色度Ｃ１）の基準色Ａ'と読み取り対象セル（色度Ｃｘ）との距離ｍと、第２の基準色領域１２（色度Ｃ２）に記録されている基準色Ａと読み取り対象セル（色度Ｃｘ）との距離ｎとを用いて求めることができる。つまり、距離ｍと距離ｎの比に対応した色の基準色Ａ''を求めることができる。
【００３３】
図４は、補間処理を説明するための図であり、第１の基準色領域１１に配置されている基準色の色度Ｃ１、第２の基準色領域１２に配置されている基準色の色度Ｃ２、読み取り対象セルの色度Ｃｘをそれぞれｘｙ平面上で表現した場合の位置関係を示している。ここで、第１の基準色領域１１に配置されている基準色の色度Ｃ１と読み取り対象セルの色度Ｃｘとの距離はｍであり、第２の基準色領域１２に配置されている基準色の色度Ｃ２と読み取り対象セルの色度Ｃｘとの距離はｎである。よって、読み取り対象セルの色度Ｃｘは下記の式を用いて求めることができる。
【００３４】
Ｃｘ＝（ｍ×Ｃ２＋ｎ×Ｃ１）／（ｍ＋ｎ）    ・・・式１
【００３５】
このような補間処理を行うことで、図３に示すデータ領域１３の各々の読み取り対象セルに対応した基準色Ａ''〜Ｐ''を推定することができる。つまり、図３に示すデータ領域１３の１行目から１４行目までの読み取り対象セルに対応した基準色Ａ''〜Ｐ''を推定することができる。例えば、データ領域１３の１行目に対応した基準色Ａ''は、上記式１にｍ＝１、ｎ＝１４を代入することで求めることができる。なお、この場合は、第１の基準色領域１１（色度Ｃ１）はｍ＝０、ｎ＝１５、第２の基準色領域１２（色度Ｃ２）はｍ＝１５、ｎ＝０となる。
【００３６】
読み取り対象セルに対応した基準色Ａ''〜Ｐ''は、データ領域１３の全ての行（この場合は、１４行）について求めてもよい。図３に示す例では、１行当たり１６色の基準色を求めることになる。また、所定の行毎に基準色Ａ''〜Ｐ''を求めてもよい。例えば、３行毎に基準色Ａ''〜Ｐ''を求める場合は、（ｍ、ｎ）＝（３、１２）、（６、９）、（９、６）、（１２、３）について基準色Ａ''〜Ｐ''を求める。
【００３７】
また本実施の形態では、第１および第２の基準色領域に基準色として原色の基準色（つまり、赤色、緑色、青色）を配置し、これらの原色の基準色を用いて他の中間色を補間処理によって作成してもよい。例えば、基準色Ａの位置に赤色を配置し、基準色Ｈの位置に緑色を配置し、基準色Ｐの位置に青色を配置する。そして、基準色Ａに配置した赤色と基準色Ｈに配置した緑色とを用いて基準色Ｂ〜Ｇを生成してもよい。また、基準色Ｈに配置した緑色と基準色Ｐに配置した青色とを用いて基準色Ｉ〜Ｏを生成してもよい。この場合も図４に示した方法を用いて中間色を作成することができる。つまり、ｘｙ平面上で原色（赤色、緑色、青色）を表現し、これらの原色間の比率を変えることで中間色を作成することができる。
【００３８】
次に、図５を用いて本実施の形態にかかる二次元カラーコード読み取り装置について説明する。図５に示すように、二次元カラーコード読み取り装置２０は、撮像部２１、枠検出部２２、中心位置計算部２３、色情報取得部２４、基準色補間部２５、色判別部２６、およびデータ生成部２７を備える。
【００３９】
撮像部２１は、二次元カラーコード１０の画像情報を取得する。例えば、撮像部２１はカメラを備える。撮像部２１で取得された二次元カラーコード１０の画像データ３１は、枠検出部２２および色情報取得部２４に出力される。
【００４０】
枠検出部２２は、撮像部２１で取得された二次元カラーコード１０の画像データ３１から二次元カラーコード１０の外枠（つまり、二次元カラーコード１０の外周部分）を検出する。枠検出部２２で検出された枠情報３２は中心位置計算部２３に出力される。
【００４１】
中心位置計算部２３は、枠検出部２２から出力された枠情報３２を用いて各々のセルの中心位置の座標を計算する。このとき、中心位置計算部２３は、二次元カラーコード１０の行数および列数の情報を用いて、各々のセルの中心位置の座標を計算してもよい。算出された中心位置の座標情報３３は色情報取得部２４に出力される。
【００４２】
このように各セルの中心位置の座標を予め計算しておくことで、各セルの正確な色情報を取得することができる。つまり、各セルの色情報を取得する場合は、セル同士の境界付近よりもセルの中心位置で色情報を取得したほうが正確な色情報を取得することができる。
【００４３】
色情報取得部２４は、撮像部２１で取得された二次元カラーコード１０の画像データ３１から各々のセルの色情報を取得する。このとき、色情報取得部２４は、中心位置計算部２３で算出された中心位置の座標情報３３を用いて各々のセルの色情報を取得する。色情報取得部２４は、取得した色情報のうち、第１および第２の基準色領域１１、１２の基準色Ａ〜Ｐを基準色情報３４として基準色補間部２５に出力する。また、色情報取得部２４は、取得した色情報のうち、データ領域１３の色情報３５を色判定部２６に出力する。
【００４４】
基準色補間部２５は、第１の基準色領域１１の基準色と第２の基準色領域１２の基準色とを用いて補間処理を行う。補間処理された基準色情報３６は色判別部２６に出力される。色判別部２６は、補間処理された基準色情報３６を参照して、データ領域１３の各々のセルに付された色を判別し、判別された各々のセルの色情報３７をデータ生成部２７に出力する。データ生成部２７は、色判別部２６で判別された各々のセルの色情報３７に基づいてデータを生成し、生成したデータ３８を出力する。このとき、データ領域１３の一部に誤り訂正コードを記録しておくことで、データ生成部２７は生成するデータの誤り訂正を行うことができる。
【００４５】
次に、本実施の形態にかかる二次元カラーコード読み取り装置の動作、つまり二次元カラーコードの読み取り動作について、図６に示すフローチャートを用いて説明する。
【００４６】
まず、撮像部２１は、二次元カラーコード１０の画像データ３１を取得する（ステップＳ１１）。例えば撮像部２１は、表示装置に表示されている二次元カラーコード１０を撮影して画像データを取得する。このとき、撮像部２１と表示装置の画面との角度によっては、二次元カラーコード１０の色が変化する。例えば図２に示すように、二次元カラーコードの上側の色が下側の色よりも濃くなる。つまり、第２の基準色領域１２の基準色Ａ〜Ｐに対して、第１の基準色領域１１の基準色Ａ'〜Ｐ'が濃くなる。
【００４７】
次に、枠検出部２２は、撮像部２１で取得された二次元カラーコード１０の画像データ３１から二次元カラーコード１０の外枠を検出する（ステップＳ１２）。その後、中心位置計算部２３は、枠検出部２２から出力された枠情報３２を用いて各々のセルの中心位置の座標を計算する（ステップＳ１３）。このとき、中心位置計算部２３は、二次元カラーコード１０の行数および列数の情報を用いて、各々のセルの中心位置の座標を計算してもよい。
【００４８】
次に、色情報取得部２４は、撮像部２１で取得された二次元カラーコード１０の画像データ３１から各々のセルの色情報を取得する（ステップＳ１４）。このとき、色情報取得部２４は、中心位置計算部２３で算出された中心位置の座標情報３３を用いて各々のセルの色情報を取得する。このとき得られた各々のセルの色情報は、二次元カラーコード読み取り装置２０のメモリに一時的に保存してもよい。
【００４９】
次に、基準色補間部２５は、第１の基準色領域１１の基準色と第２の基準色領域１２の基準色とを用いて補間処理を行う（ステップＳ１５）。例えば図３に示すように、第１の基準色領域１１（色度Ｃ１）の基準色Ａ'〜Ｐ'と読み取り対象セル（色度Ｃｘ）との距離ｍ（第１の距離）と、第２の基準色領域１２（色度Ｃ２）に記録されている基準色Ａ〜Ｐと読み取り対象セル（色度Ｃｘ）との距離ｎ（第２の距離）とを用いて補間処理を行い、読み取り対象セルに対応した基準色Ａ''〜Ｐ''を推定する。
【００５０】
このとき、図４に示すように、第１の基準色領域１１に配置されている基準色の色度Ｃ１と読み取り対象セルの色度Ｃｘとの距離はｍであり、第２の基準色領域１２に配置されている基準色の色度Ｃ２と読み取り対象セルの色度Ｃｘとの距離はｎであるので、上記式１を用いることで、読み取り対象セルの色度Ｃｘを求めることができる。
【００５１】
読み取り対象セルに対応した基準色Ａ''〜Ｐ''は、データ領域１３の全ての行（この場合は、１４行）について求めてもよい。図３に示す例では、１行当たり１６色の基準色を求めることになる。また、所定の行毎に基準色Ａ''〜Ｐ''を求めてもよい。所定の行毎に基準色Ａ''〜Ｐ''を求めることで、演算処理の負荷を軽減することができる。
【００５２】
色判別部２６は、補間処理された基準色情報３６を参照して、データ領域１３の各々のセルに付された色を判別する（ステップＳ１６）。色判別部２６は、色判別する対象セルに対応した基準色情報３６を参照して、対象セルの色を判別する。例えば、データ領域１３の１行１列の対象セルの色を判別する場合は、上記式１にｍ＝１、ｎ＝１４を代入することで求めた補間処理後の基準色Ａ''〜Ｐ''（つまり、データ領域１３の１行目に対応する１６色の基準色Ａ''〜Ｐ''）を参照して、対象セルの色を判別する。
【００５３】
データ生成部２７は、色判別部２６で判別された各々のセルの色情報３７に基づいてデータを生成する（ステップＳ１７）。例えば基準色を１６色（Ａ〜Ｐ）とした場合は、１つのセルから４ビット（１６＝２４）のデータを読み出すことができる。このとき、データ領域１３の一部に誤り訂正コードを記録しておくことで、生成するデータの誤りを訂正することができる。
【００５４】
背景技術で説明したように、二次元カラーコードでは各々異なる複数の色を用いてデータを記録している。よって、情報の記録に使用する複数の色である基準色を二次元カラーコードに記録し、二次元カラーコードを読み取る際に基準色を参照することで、二次元カラーコードに記録されているデータを正確に読み取ることができる。
【００５５】
例えば、従来の二次元カラーコードでは、４色から８色程度の色を用いているものが多い。この理由は、色数が多くなると読み取りが困難になるからである。また、プリンターの色再現の問題もあり、使用する色数を増加するには困難が伴った。一方で、二次元カラーコードのデータ量を増加させるには色数を増加させる必要がある。例えば、１６色（４ビット）のコードを使用すれば、４色（２ビット）の場合にくらべ２倍の情報量とすることができる。６４色のコードを用いればさらに情報量を増やすことができる。
【００５６】
このように色数を増やした場合は、それぞれの色を正確に分離する必要がある。例えば、４色の場合には、ＲＧＢの各成分における強度を比較し、最も明るい色を判別するだけで色の分離が可能であった。８色の場合にも、ＲＧＢの各成分における明るさが所定値よりも強いか弱いかを判断することで８つの色を判別することができる。光源の色や輝度、周囲の環境が多少変化した場合であっても、色の判別が出来ないと言うことは少なく、どちらかと言えば二次元カラーコードの汚れや退色による色変化の影響が大きかった。
【００５７】
一方、１６色以上の色を用いる場合は、ＲＧＢ以外の中間的な色を使用する。具体的には、灰色や橙色、茶色のような色を使用する。これらの中間色はＲＧＢの各成分における強度を判別するだけでは区別するのは困難であり、ＲＧＢの比率などを用いて色を判別する必要がある。このため、１６色以上の色を使用する場合は、二次元カラーコードで使用する基準色を二次元カラーコードに予め記録しておき、この基準色と各々のセルの色とを比較することで、光源の輝度や色が変化した場合にも二次元カラーコードを正確に読み取ることができる。
【００５８】
また従来では、二次元カラーコードは商品コードやＩＣカードに使用される場合が多く、例えば紙等に印刷して用いられる場合が多かった。一方で、二次元カラーコードはディスプレイに表示することでその応用分野が広がる。例えば、二次元カラーコードをディスプレイに表示することでデジタルサイネージに応用することができる。また、二次元カラーコードをディスプレイに表示し、当該二次元カラーコードを時間的に変化させることでデータ通信を行うことも可能である。
【００５９】
しかしながら、二次元カラーコードを表示装置に表示した場合は、表示装置をみる角度によっては表示装置に表示される色が本来の色から変化する場合がある。例えば表示装置の一つである液晶ディスプレイでは、液晶の偏光作用を利用しているため、ユーザがディスプレイを見る角度（つまり、ディスプレイ面に対するユーザの位置）によってはディスプレイに表示される色が変化する（図２参照）。よって、二次元カラーコードを表示装置に表示した場合は、表示装置をみる角度によって表示装置に表示される色が本来の色から変化し、二次元カラーコードを読み取る際にエラーが発生する場合があった。
【００６０】
そこで本実施の形態では、基準色Ａ〜Ｐを備える第１の基準色領域１１と基準色Ａ〜Ｐを備える第２の基準色領域１２とを離間して配置している。このように、互いに同一の基準色を備える第１および第２の基準色領域１１、１２を、二次元カラーコード内において離間して配置し、データ読み取り時に第１および第２の基準色領域１１、１２の基準色を参照することで、データ領域１３からデータを正確に読み取ることができる。特に、第１の基準色領域１１と第２の基準色領域１２とを、色の差が大きい２つの領域（つまり、表示装置の上側と下側）に配置することで、より正確にデータを読み取ることができる。
【００６１】
そして、本実施の形態では、データ領域１３からデータを読み取る際、第１および第２の基準色領域１１、１２の基準色をそれぞれ用いて補間処理を行っている。すなわち、図２に示す表示装置における色の変化は、角度にほぼ比例する。よって、読み取り対象セルの位置と、基準色が付された各々のセルの位置とを用いて補間処理を行うことで、読み取り対象セルに対応した基準色を推定することができる。
【００６２】
以上で説明した本実施の形態にかかる発明により、表示装置に表示された二次元カラーコードを読み取る際のエラーを低減することができる二次元カラーコード表示装置、表示方法、読み取り装置、及び読み取り方法を提供することができる。
【００６３】
以上、本発明を上記実施形態に即して説明したが、本発明は上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【００６４】
１０  二次元カラーコード
１１  第１の基準色領域
１２  第２の基準色領域
１３  データ領域
２１  撮像部
２２  枠検出部
２３  中心位置計算部
２４  色情報取得部
２５  基準色補間部
２６  色判別部
２７  データ生成部
【図１】
2014116706.tif 000003
【図５】
2014116706.tif 000004
【図６】
2014116706.tif 000005
【図２】
2014116706.tif 000006
【図３】
2014116706.tif 000007
【図４】
2014116706.tif 000008