[第1実施形態]
以下、本発明の二次元コードを具現化した第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係る二次元コードを概略的に説明する説明図である。また、図2(a)は、図1の二次元コードのマトリックス構成を説明する説明図であり、(b)は、コードブロックのマトリックス構成を説明する説明図である。((c)は、コードブロックの構成について(b)とは異なる例を示す説明図である。図3は、図1の二次元コードを読み取る光学的情報読取装置を概略的に例示するブロック図である。図4は、図1の二次元コードを読み取る読取処理を例示するフローチャートである。なお、図1では、誤り訂正コードブロック12の位置を破線にて概念的に示しており、データコードブロック11の位置については実線枠内にハッチングを付して概念的に示している。また、図1では、各コードブロック10の具体的セル構成は省略して示している。
本実施形態に係る二次元コード1は、図1に示すように、複数のセルCがマトリックス状に配列されてなるものであり、複数のコードブロック10と、第1の特定パターン2と、第2の特定パターン3、4と、を備えた構成をなしている。この二次元コード1は、外形が正方形状に構成されたセルCが集合してマトリックス状に配置されたセル集合体として構成されており、図1の例では、セル数が縦横同数(11セル×11セル)となる配列で構成されている。また、二次元コード1を構成するコード領域(セルCが配置される領域)は、外形が矩形状の矩形領域とされており、図1の二次元コード1のコード領域は、外形が正方形状の正方形領域とされている。なお、図1では、一部のセルのみについて符号Cを付しており、他のセルの符号は省略している。
また、二次元コード1は、色彩又は濃度又は輝度の異なる複数種類のセルが用いられている。なお、以下の説明では、図1に示すような構成、即ち、色彩又は濃度又は輝度の異なる2種類のセル(即ち、黒色セル及び白色セル)が用いられて二次元コード1が構成された例について説明する。なお、本実施形態及びその他の実施形態を通し、黒色セルについては符号Cbで示し、白色セルについては符号Cwで示すこととする。
コードブロック10は、複数のセルCが集合してなるものであり、図1の二次元コード1では、データコードブロック11と、誤り訂正コードブロック12とに分けられている。なお、本実施形態では全てのコードブロック10がマトリックス状に構成され、縦横の違いはあるものの全て同一形状とされているが、一部のコードブロックの形状をこれとは別の形状(例えば図2(c)のような形状)としてもよい。また、本実施形態のデータコードブロック11及び誤り訂正コードブロック12は、いずれもマスク処理が施されていない非マスク化ブロックとされており、マスク処理の解除等を必要とせずにデコードしうるものである。
データコードブロック11は、デコードの対象となるデータを符号化した符号化データ(データコード語)を複数のセルによって表現したブロックであり、図1の例では、複数(図1では8つ)のセルがマトリックス状に集合した構成をなしている。データコードブロック11を構成する各セルは、予め定められた複数種類(図1の例では白黒の二種類)のセルの中からいずれかの種類のセルが選択されて用いられる。
各データコードブロック11は、全体として、デコードすべき符号化データ(データコード語)に対応したセルの配列で構成されるようになっている。本実施形態では、セルの色が、数値に対応付けられており、例えば、データ値「0」に対して白色セル、データ値「1」に対して黒色セルがそれぞれ対応付けられている。
また、本実施形態に係る二次元コード1は、データコードブロック11を二次元コード1の中心部付近に配置し、その周囲を誤り訂正コードブロック12(後述)によって囲んだ構成とされており、図1の例では、6つのデータコードブロック11が二次元コード1の中心部付近に配置され、その周囲の一部を4つの誤り訂正コードブロック12によって囲んでいる。
誤り訂正コードブロック12は、データコードブロック11の誤り訂正を行うための誤り訂正コード語によって構成されている。この誤り訂正コードブロック12を構成する誤り訂正コード語は、データコードブロック11を構成する符号化データ(データコード語)に基づいて生成されたものである。なお、データコード語に基づいて誤り訂正コード語を生成する方法としては、例えば公知のリード・ソロモン誤り訂正方式を用いることができる。
本実施形態では、データコード語に基づいて誤り訂正コード語を生成する方法として、JISX0510:2004に規定された誤り訂正コード語の生成方法(JISX0510:2004、8.5誤り訂正)を用いている。この方法の場合、誤り訂正コード語は、データコードブロック11についてのデータコード語を二進数で表した後、誤り訂正検出及び訂正(JISX0510:2004付属書A)で使用される多項式g(x)によって当該データコード語を除算して得られた剰余とされる。誤り訂正コードブロック12は、このように生成された誤り訂正コード語を複数のセルによって表現したブロックとして構成される。なお、ここでは、JISX0510に規定される方法を用いて誤り訂正コード語を生成したが、誤り訂正コード語の生成方法はこれに限られず、公知の様々な方法を用いることができる。
第1の特定パターン2は、二次元コード1の矩形領域において4つ設けられた角部5a〜5dのうち、規定の角部5aに配置されるものである。図1の例では第1の特定パターン2の外形が矩形状(詳しくは正方形状)に構成されており、第1の特定パターン2の外縁を構成する2辺によって矩形領域における規定の角部5aの角位置が定められている。この第1の特定パターン2は、矩形領域における各セルCの位置の特定するための要素として機能するものであり、具体的には、光学的情報読取装置(後述)で得られる画像データにおいて規定の角部5aの位置を特定するために用いられると共に、その画像データにおいて二次元コード1の向きを特定するために用いられる。なお、本明細書全体を通し、「特定パターン」は、二次元コードに含まれるデータ(デコードすべきデータ)に関係なく一定のパターンとして構成されるものである。
なお、図1に示す第1の特定パターン2は、中心に第1の色のセル(黒色セル2a)が1つ配置され、その第1の色のセル(黒色セル2a)の周りを第2の色のセル(白色セル2b)が矩形状に囲んでいる。さらに、その環状のセル群(白色セル2bのセル群)の周りを第1の色のセル(黒色セル2c)が囲んだ構成をなし、それが最外周のセル群として構成されている。そして、その最外周のセル群の外形が正方形状に構成され、第1の特定パターン2全体として外形が矩形状となっている。
また、第2の特定パターン3、4は、コード領域(矩形領域)の境界をなす4つの辺(4つの境界部6)のうち、第1の特定パターン2が接する境界部(第1境界部6a、6b)に隣接して配置されるものである。この第2の特定パターン3、4は、二次元コード1のコード領域(矩形領域)を背景から分離するために利用されるものであり、後述する読み取りの際に、この第2の特定パターン3,4を基準として矩形領域が背景から分離され、ひいてはコードブロック10がそれぞれ背景から分離されることとなる。
第2の特定パターン3は、矩形領域における規定の角部5a(第1の特定パターン2が配置された角部)とは異なる角部5b(角部5bは、「第2の角部」の一例に相当する)に、当該角部5bを示すエンドパターン3aを配置してなるものである。このエンドパターン3aは、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状(具体的には色彩、濃度、輝度が同一の黒色セル3a'が3つ連続して配置された直線形状と)して構成されており、このエンドパターン3aの端部(具体的には第1の特定パターン2から遠い側の端部)の黒色セル3a'における外縁を構成する2辺によってコード領域(矩形領域)における角部5bの角位置が定められている。
第2の特定パターン3において第1の特定パターン2とエンドパターン3aとの間には中間特定パターン3bが配置されている。この中間特定パターン3bは、複数色のセルが所定の配列で並んでなるものであり、本実施形態では、特定色のセル(図1の例では白色セル3b')とその特定色とは異なる色のセル(図1の例では黒色セル3b")が交互に並んだパターンとして構成されている。
また、第2の特定パターン4も同様であり、規定の角部5aとは異なる角部5c(角部5cは、「第2の角部」の一例に相当する)に、当該角部5cを示すエンドパターン4aを配置してなるものである。このエンドパターン4aも、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状(具体的には色彩、濃度、輝度が同一の黒色セル4a'が3つ連続して配置された直線形状)として構成されており、このエンドパターン4aの端部(具体的には第1の特定パターン2から遠い側の端部)の黒色セル4a'における外縁を構成する2辺によって矩形領域における角部5cの角位置が定められている。なお、本実施形態では、エンドパターン3a、4aが「第1のエンドパターン」の一例に相当する。
第2の特定パターン4において第1の特定パターン2とエンドパターン4aとの間には中間特定パターン4bが配置されている。この中間特定パターン4bも、複数色のセルが所定の配列で並んでなるものであり、本実施形態では、特定色のセル(図1の例では白色セル4b')とその特定色とは異なる色のセル(図1の例では黒色セル4b")が交互に並んだパターンとして構成されている。
また、二次元コード1のコード領域(矩形領域)における第1の特定パターン2の対角位置には、コード領域(矩形領域)の角部5dを示すエンドパターン7が配置されている。エンドパターン7は、色彩、濃度、輝度が同一の同種セルが複数連続したL字形状(具体的には、色彩、濃度、輝度が同一の黒色セル7aが3つ連続したL字形状)として構成されている。図1では、エンドパターン7の外側の外縁が直角に構成され、この外側の直角外縁によって矩形領域における角部5dの角位置が定められている。本実施形態では、エンドパターン7が「第2のエンドパターン」の一例に相当する。
なお、図1の例では、エンドパターン7に隣接するセル(エンドパターン7、誤り訂正コードブロック12、データコードブロック11に囲まれた空白セル)をどの用途に用いるか特に示していないが、例えば、データコードブロック11や誤り訂正コードブロック12の配置を変更してこれらの配置領域として利用してもよい。或いは、データコードブロック11や誤り訂正コードブロック12のデータとされない余剰ブロックとして構成してもよい。
更に、本実施形態の二次元コード1は、第1の特定パターン2がコード領域(矩形領域)の規定の角部5aに配置される一方で、コード領域(矩形領域)の境界部6のうちの、第2の特定パターン3、4が配置される側以外の境界部側(即ち、第2境界部6c、6d側)に、一部のコードブロック10が配置される構成となっている。本実施形態では、複数あるコードブロック10のうち、第2境界部6c、6dに隣接して配置されるコードブロックを「第2境界部隣接ブロック」としており、図1の例では、各第2境界部6c、6dそれぞれに隣接して誤り訂正コードブロック12が配置され、この誤り訂正コードブロック12が「第2境界部隣接ブロック」とされている。
一方の第2境界部6c側の第2境界部隣接ブロック12a(誤り訂正コードブロック)は、第2境界部6cに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル(図1の例では黒色セル)を少なくとも1つ配置する構成をなしている。即ち、誤り訂正コードブロック12は、その性質上、背景と同一色のセルが連続して並ぶ確率が極めて低いことが知られており、本実施形態では、誤り訂正コードブロック12のこのような性質を利用して第2境界部6cに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも1つ配置するようにしている。他方の第2境界部6d側の第2境界部隣接ブロック12b(誤り訂正コードブロック)も同様であり、第2境界部6dに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル(黒色セル)を少なくとも1つ配置する構成をなしている。なお、図1の例では、背景が白色として構成され、第2境界部隣接ブロック12a、12bはそれぞれ、背景と色の異なる黒色セルを少なくとも1つ第2境界部2c、2dに隣接させるように配置されるため、その黒色セルを目印として第2境界部2c、2dを精度高く特定できるようになっている。なお、具体的な特定方法は後述する。
図1の例では、第2境界部毎に誤り訂正コードブロック12を複数(図1では2つ)配置した例を示したが、これに限定されず、各第2境界部6c、6dに対し誤り訂正コードブロック12が少なくとも1つ隣接して配置されていれば、その数は、1つでも、3以上でも良い。
また、図2(a)に示すように、二次元コード1のコード領域(矩形領域)は、一辺に奇数個Lのセルが配置されたL×Lのマトリックスによって正方形領域として構成されている。図2の例では、L=11であり、コード領域(矩形領域)は11×11のマトリックスとして正方形状に構成されている。また、第1の特定パターン2の外形は、一辺にL>Mとなる奇数個Mのセルが配置されたM×Mのマトリックスによって正方形状に構成されている。なお、図2の例では、M=5であり、第1の特定パターン2は、5×5のマトリックスとして正方形状に構成されている。また、第2の特定パターン3、4はいずれも、N=L−Mとなる偶数個N(図2の例ではN=6)のセルが並んだ長さで直線状に構成されており、それぞれの長手方向が各第2境界部6c、6dに沿った方向となるように配置されている。また、図2(a)(b)に示すように、コードブロック10は、一辺に偶数個Aのセルが配置され、他辺に偶数個Bのセルが配置されたA×Bのマトリックスとして矩形状に構成されている。具体的には、データコードブロック11、誤り訂正コードブロック12のいずれも、2×4のマトリックス又は4×2のマトリックスとして矩形状に構成されている。
次に、本実施形態に係る二次元コード1の生成方法について概説する。
本実施形態に係る二次元コード1は、CPUやメモリ等を備えた情報処理装置(コンピュータ等)によって生成しうるものである。この二次元コード1を生成する場合、まず、生成しようとする二次元コード1のデータ値(デコード対象となるデータ)を取得する。さらに、そのデータ値に対する誤り訂正コードを計算により生成する。そして、データ値に対応するデータコードブロック、及び誤り訂正コードに対応する誤り訂正コードブロックを生成し、各データコードブロック、各誤り訂正コードブロックを順番に配置する。この配置においては、誤り訂正コードブロックを最後尾(図1の例では4番目の誤り訂正コードブロック12)側から順番をさかのぼるように順次配置し、誤り訂正コードブロック12の先頭まで配置し終わった場合には、その後、データコードブロック11を最後尾側から順番をさかのぼるように順次配置する。
具体的には、図1に示すように、境界部6に隣接する位置を配置の始端位置として境界部6に沿うように、誤り訂正コードブロック12を最後尾側から順番に配置している。例えば、最後尾の誤り訂正コードブロック12(図1の例では4番目の誤り訂正コードブロック12)については第2境界部6cの角部5b寄りの位置に配置し、第2境界部6c、6dに沿うように3番目、2番目、1番目の誤り訂正コードブロック12を順次配置している。そして、誤り訂正コードブロック12の先頭(一番目)まで配置し終わった後には、データコードブロック11が最後尾(6番目のデータコードブロック11)側から順次配置される。このような配置方法としているため、図1のように誤り訂正コードブロック12が第2境界部6c、6dに満遍なく配置されることとなる。
次に、本実施形態に係る二次元コード1の読取例について概説する。
本実施形態に係る二次元コード1は、例えば図3に示すような光学的情報読取装置20で読み取ることができる。図3に示す光学的情報読取装置20は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、LEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ハウジングの読取口(図3では図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、本実施形態に係る二次元コード1は、このような読取対象物Rに、印刷或いはダイレクトマーキング等によって形成されている。
受光センサ23は、読取対象物Rや二次元コード1に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能にプリント配線板(図示略)に実装されている。また、フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、 結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された二次元コード1の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学的情報読取装置20の全体システムに関する制御も行っている。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
制御回路40は、光学的情報読取装置20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が制御回路40に接続されている。なお、通信インタフェース48には、当該光学的情報読取装置20の上位システムに相当するホストコンピュータHST等が接続される。また、電源系は、電源スイッチ41、電池49等によって構成されており、制御回路40による電源スイッチ41のオンオフ制御により、電池49から上述した各装置や各回路に供給される駆動電圧の導通や遮断が制御されている。
このように構成される光学的情報読取装置20では、以下のように読取処理が行われる。まず、作業者が所定操作(例えば、操作スイッチ42のオン操作)を行うことで、図4に示す読取処理が開始され、画像データ取得処理が行われる(S1)。画像データ取得処理では、まず制御回路40が同期信号を基準に照明光源21に発光信号を出力し、当該発光信号を受けた照明光源21が、LEDを発光させて照明光Lfを照射する。すると、二次元コード1に照射された照明光Lfが反射し、その反射光Lrが読取口およびフィルタ25を介して結像レンズ27に入射する。そして、受光センサ23の受光面23aには結像レンズ27によって二次元コード1の像、つまりコード画像が結像される。これにより、受光センサ23を構成する各受光素子が露光され、それら各受光素子から二次元コード1の像に応じた受光信号がそれぞれ出力される。これら受光信号は、二次元コード1の画像データを構成するものであり、この画像データはメモリ35に一時的に記憶される。
その後、S1にて取得された画像データにおいて二次元コード1のコード領域(矩形領域)を特定する処理を行う(S2)。なお、この特定処理(S2)では、二次元コード1の画像データにおいて各境界部6を特定することとなるが、各境界部6の特定方法は、特開平10−198754号公報に示されるような方法でもよく、或いは、特開2000−353210公報に示されるような、明暗変化点数を計数してコード領域を抽出する方法でも好適に用いることができる。なお、特開2000−353210公報の技術では、二色の二次元コードを対象として明暗の変化を検出しており、図1のような二色の二次元コードの場合にはこの技術を同様に適用できる。また、二次元コードを3種類以上のセルによって構成する場合(例えば、図1の構成を変形して多色のカラーコードとしたり、或いは後述する本実施形態以外の構成等)も境界部の特定方法は基本的に同様であり、走査線に沿って検査したときのいずれかの色を示す値から他の色を示す値への変化を計数するようにすればよい。なお、画像処理の分野において異なる色の領域を区別する技術は各種提供されているため、公知の別の方法を用いて領域を特定してもよい。要するに、本実施形態のように、矩形領域の境界部6a〜6bのそれぞれに隣接して背景色と色の異なる異色セルが配置されていれば、各種画像処理方法を用いてこの異色セルを特定でき、この異色セルの外縁をつなぐことで矩形領域の境界部を正確に抽出することができる。
特に、本実施形態の二次元コード1では、各角部5a、5b、5c、5dにおいてそれぞれ、外縁部に背景とは色の異なるセルが配置されてなる第1の特定パターン2、エンドパターン3、エンドパターン4、エンドパターン7が設けられているため、各種画像処理技術を用いて角部5a、5b、5c、5dを確実に特定でき、さらに、角部5a、5b間には、背景とは色の異なるセルを第1境界部6aに隣接させて構成される中間特定パターン3bが設けられ、角部5a、5c間には、背景とは色の異なるセルを第1境界部6bに隣接させて構成される中間特定パターン4bが設けられているため、第1境界部6a、6bも各種画像処理技術を用いて確実に特定できる。さらに、角部5b、5d間には誤り訂正コードブロック12(第2境界部隣接ブロック12a)が配置されて背景とは色の異なるセルが第2境界部6cに隣接しており、角部5c、5d間には誤り訂正コードブロック12(第2境界部隣接ブロック12b)が配置されて背景とは色の異なるセルが第2境界部6dに隣接しているため、第2境界部6c、6dも各種画像処理技術を用いて確実に特定できるようになる。
なお、誤り訂正コードブロック12として構成される第2境界部隣接ブロック12a、12bはそれぞれ、長辺側が第2境界部6c、6dに隣接する構成となっており、第2境界部隣接ブロック12a、12bのそれぞれにおいて、第2境界部6c、6dに隣接するセル数が多く確保されている。このようにすれば、第2境界部隣接ブロック12a、12bのそれぞれにおいて、境界部6(第2境界部6c、6d)に隣接する部分が全て背景色と同一色となる確率を極めてゼロに近づけることができる。
図4に戻り説明を続けると、S2にてコード領域が特定された後には、その特定されたコード領域と第1の特定パターンとに基づいて二次元コードの向きを特定する処理を行う(S3)。具体的には、特定された矩形領域のどの角部に第1の特定パターン2が存在するかを検出する。その第1の特定パターン2の位置が検出されれば、画像データにおいて二次元コードの向き(姿勢)を特定できることとなる。
その後、位置及び向きが特定されたコード領域(矩形領域)に基づいてデコード処理を行う(S4)。本実施形態では、予めコード種別が光学的情報読取装置20内に記憶されており、コード領域(矩形領域)のサイズや特定パターン(第1の特定パターン2、第2の特定パターン3、4、エンドパターン7)の構成によってコード種別を特定した上で、各データコードブロック11についてデコードを行うと共に、誤り訂正コードブロック12に基づいて誤り訂正を行う。
以上説明した本実施形態の構成によれば、以下のような効果を奏する。
本実施形態の二次元コード1では、第1の特定パターン2がコード領域(矩形領域)の規定の角部5aに配置されると共に、第1の特定パターン2が接する第1境界部6a、6bに隣接して第2の特定パターン3,4が配置されているため、当該二次元コード1を読み取る際の画像データにおいて、コード領域(矩形領域)の一部の辺(第2の特定パターン3,4が配置される側の辺)を、第1の特定パターン2及び第2の特定パターン3,4に基づいて精度高く特定しやすくなる。また、第2の特定パターン3,4が配置されない第2境界部6c、6d側には、これら第2境界部6c、6dに隣接する位置に背景とは色彩又は濃度又は輝度の異なるセル(異色セル)を少なくとも1つ配置してなるコードブロック10が、各第2境界部6c、6dに少なくとも1つ配置されているため、これらコードブロック10の異色セルに基づき、第2の特定パターン3,4が配置される側以外の辺(各第2境界部6c、6d)も精度高く特定しやすくなる。さらに、第2の特定パターン3,4側の境界部以外の境界部(即ち、第2境界部6c、6d)に隣接するようにコードブロック10を配置し、このコードブロック10によって第2境界部6c、6dを特定し得るように構成されているため、全ての境界部6を特定パターンよって特定しようとする構成と比較してデータ以外に割り当てるセル数を極力抑えることができ、データに割り当てるセル数を効果的に増加させることができる。
また、各第2境界部6c、6dに、誤り訂正コードブロック12が少なくとも1つ配置されている。誤り訂正コードブロック12は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような訂正コードブロック12を境界部6の特定に兼用すれば、誤り訂正に必須となるデータを利用して境界部6を精度高く特定できるようになり、データ以外に割り当てるセル数を極力抑え得る好適例となる。
また、コード領域(矩形領域)が、一辺に奇数個Lのセルが配置されたL×Lのマトリックスによって構成される正方形領域であり、第1の特定パターン2の外形は、一辺にL>Mとなる奇数個Mのセルが配置されたM×Mのマトリックスによって正方形に構成されている。従って、コード領域(矩形領域)の辺(第1境界部6a、6b)においてそれぞれ第1の特定パターン2部分を除いた部分が偶数個(L−M)のセル領域として確保され、更に、この領域全体に第2の特定パターン3,4がそれぞれ配置されることとなる。このようにすると、矩形領域の特定の辺(第1境界部6a、6b)において一辺全体を第1の特定パターン2及び第2の特定パターン3又は4によって背景と確実に区別できるようになる。更に、このように構成した上で、コードブロック10を偶数個A×偶数個Bのマトリックスとして矩形状に構成しているため、第2の特定パターン3又は4が配置される一辺付近において、第1の特定パターン部分以外の領域にコードブロック10を効率的に配置しやすくなり、特異な形状(例えば、コードブロックの一辺の長さが1つのセル分のみである細長形状)のコードブロックを多数配置せずに済む。
また、コード領域(矩形領域)における規定の角部5a(第1の特定パターン2が配置された角部)とは異なる第2の角部5b、5cにそれぞれ、これら第2の角部5b、5cを示すエンドパターン3a、4a(第1のエンドパターン)を配置するように構成されている。このようにすると、規定の角部5aについては第1の特定パターン2によって背景と良好に区別でき、それとは異なる第2の角部5b、5cについてはエンドパターン3a、4a(第1のエンドパターン)によって背景と良好に区別できるようになる。即ち、当該二次元コード1を読み取る際に、コード領域(矩形領域)における第2の特定パターン3,4が配置される側の辺(第1境界部6a、6b)を第1の特定パターン2及び第2の特定パターン3,4によって確実に特定でき、さらに、その辺の両端部をも確実に特定できるようになる。また、これら両端部の特定は、第2の特定パターン3,4が配置される辺に隣接する二辺(即ち、第2境界部6c、6d)の特定にも寄与し、ひいては矩形領域全体の特定精度を効果的に高めることができる。
また、エンドパターン3a、4a(第1のエンドパターン)はいずれも、色彩、濃度、輝度が同一のセルが複数連続して配置された直線形状として構成されている。このようにすれば、第2の角部5b、5cを特定しやすい構成を簡易に実現できる。また、第1のエンドパターンが直線形状であるため、第1のエンドパターンに隣接するブロック形状をあまり複雑化させずに済み、第1のエンドパターンの周囲を効率的に使用しやすくなる。
また、コード領域(矩形領域)における第1の特定パターン2の対角位置に、矩形領域の角部5dを示すエンドパターン7(第2のエンドパターン)が配置されている。このようにすると、規定の角部5aについては第1の特定パターン2によって背景と良好に区別でき、それとは対角の角部5dについてはエンドパターン7によって背景と良好に区別できるようになる。更に、第2境界部6c、6dの特定をコードブロック10のみならず、エンドパターン7を利用して行うことができ、ひいては矩形領域全体の特定精度を効果的に高めることができる。
また、エンドパターン7(第2のエンドパターン)が、色彩、濃度、輝度が同一のセルが複数連続したL字形状として構成されている。このようにすれば、規定の角部5a(第1の特定パターン2が配置される角部)と対角の角部5dを特定しやすい構成を簡易に実現できる。特に、エンドパターン7がL字形状であるため、エンドパターン7の外形が、その対角の角部5dに隣接する2辺(即ち、第2境界部6c、6d)の認識にも寄与し、エンドパターン7とコードブロック10とを利用して第2境界部6c、6dを一層良好に特定できるようになる。
[第2実施形態]
次に第2実施形態について説明する。図5は、第2実施形態に係る二次元コード120を例示する説明図である。なお、図5では、誤り訂正コードブロック12の位置を破線にて概念的に示しており、圧縮データコードブロック13の位置については実線枠内にハッチングを付して概念的に示している。また、図5では、各コードブロック10の具体的セル構成は省略して示している。なお、本実施形態は、コードブロック10の構成、配置のみが第1実施形態と異なり、それ以外は第1実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については第1実施形態と同一の符号を付して詳細な説明は省略する。
本実施形態の二次元コード120のコード領域(矩形領域)も、一辺に奇数個Lのセルが配置されたL×Lのマトリックスによって正方形領域として構成されており、具体的には、図5のように11×11のマトリックスとして正方形状に構成されている。また、二次元コード120の境界部6は、第1実施形態と同一の構成となっており、第1の特定パターン2、第2の特定パターン3,4、エンドパターン7はいずれも第1実施形態と同一の構成とされている。また、図5の例でも、コードブロック10は、一辺に偶数個Aのセルが配置され、他辺に偶数個Bのセルが配置されたA×Bのマトリックスとして矩形状に構成されている。具体的には、圧縮データコードブロック13、誤り訂正コードブロック12のいずれも、2×4のマトリックス又は4×2のマトリックスとして矩形状に構成されている。
一方、本実施形態では、コードブロック10として、圧縮されたデータを格納してなる圧縮データコードブロック13が含まれており、第2の特定パターン3、4が配置された第1境界部6a、6bとは異なる境界部6(即ち第1の特定パターン2と隣接しない第2境界部6c、6d)側に複数ある圧縮データコードブロック13の一部(第2境界部隣接ブロック13a、13b)が配置されている。この圧縮データコードブロック13(第2境界部隣接ブロック13a、13b)は、これら第2境界部6c、6dに隣接する位置に背景(図5の例では白色の背景)とは色彩又は濃度又は輝度の異なるセル(図5の例では黒色セル)を少なくとも1つ配置するように機能するものである。なお、圧縮データコードブロック13は、各第2境界部6c、6dに対応して少なくとも1つ配置されていれば良く、図5の例では、各第2境界部6c、6dにそれぞれ圧縮データコードブロック13が2つずつ隣接配置されている。
圧縮データコードブロック13は、コード化すべきデータを公知の圧縮方法を用いて圧縮した圧縮データをブロック化したものである。圧縮のアルゴリズムは、ランレングス符号化やハフマン符号化等、公知の圧縮アルゴリズムであればいずれを用いてもよい。例えば、ランレングス符号化を用いる場合、デコードすべき情報が「0000000000001111」という情報であった場合、0が12個(2進数で1100)、1が4個(2進数で0100)並ぶことから、「0」「1100」「1」「0100」を並べた、「0110010100」と表すことができ、数字の連続を少なくすることできる。その結果、圧縮データコードブロック13内において背景色と同一色のセルが長く連続することを抑えることができる。図5の例では、このような圧縮データコードブロック13の長辺側を第2境界部6c、6dに隣接させるように配置しており、各圧縮データコードブロック13が何らかの情報を有する場合、各圧縮データコードブロック13における第2境界部6c、6dに隣接する部分全体(4つのセル全体)が背景色と同一となる確率が極めて低くなっている。
また、本実施形態では、一方の第1境界部6aに隣接する第2の特定パターン3の内側に、複数ある圧縮データコードブロック13の一部(内側隣接ブロック13c)が隣接して配置されており、他方の第1境界部6bに隣接する第2の特定パターン3の内側にも一部の圧縮データコードブロック13(内側隣接ブロック13d)が隣接して配置されている。また、上述の第2境界部隣接ブロック13aの一部も第2の特定パターン3の内側に隣接しており、第2境界部隣接ブロック13bの一部も第2の特定パターン4の内側に隣接している。
以上のような本実施形態の構成によれば、第1実施形態と同様の効果を奏することとなる。即ち、背景とコード領域(矩形領域)との区別を良好に行うことができ、かつデータ以外に割り当てるセル数を極力抑え、データに割り当てるセル数を効果的に増加させることができる。
特に本実施形態では、第2境界部6c、6dに隣接させるコードブロックとして圧縮データコードブロック13を用いている。この圧縮データコードブロック13は、その性質上、背景と色彩、濃度、輝度が同一のセルが長く連続する可能性が極めて低く、このような圧縮データコードブロック13を境界部6の特定に兼用すれば、データサイズを小さくできると共に、デコード対象となるデータを利用して境界部6を精度高く特定できるようになり、データ以外に割り当てるセル数を極力抑え得る好適例となる。
また、第1境界部6a、6bに隣接する第2の特定パターン3,4の内側に隣接するように圧縮データコードブロック13(内側隣接ブロック13c、13d等)が配置されている。このようにすると、コード領域(矩形領域)と背景との区別を、第2の特定パターン3,4のみならず必要に応じて圧縮データコードブロック13を利用して行うことができ、第1境界部6a、6bの認識不良を効果的に抑えることができる。例えば、汚れなどによって第2の特定パターン3、4が欠けてしまった場合であっても、その内側に存在する圧縮データコードブロック13の位置を正確に特定できるため、その圧縮データコードブロック13の位置に基づいて正規の境界部6を良好に推定できるようになる。
[第3実施形態]
次に第3実施形態について説明する。図6は、第3実施形態に係る二次元コード130を例示する説明図である。なお、図6でも、各コードブロック10の具体的セル構成は省略して示している。
第3実施形態は、第2の特定パターン133、134の構成を第1実施形態と異なるようにした点、多色のセルを用いるようにした点が第1実施形態と異なり、それ以外の構成は第1実施形態と同様である。よって異なる部分について重点的に説明し、同一の構成については第1実施形態と同一の符号を付して詳細な説明は省略する。図6の例では、第1の特定パターン2、エンドパターン7、第1境界部6a、6b、第2境界部6c、6dは、いずれも第1実施形態と同一の構成及び配置をなしている。また、複数のデータコードブロック11、複数の誤り訂正コードブロック12は、第1実施形態と同様のマトリックス構成をなしており、多色のセルによって構成されている点が第1実施形態と異なっている。
第1実施形態では、2種類のセルを用いた二次元コード1を例示したが、本実施形態の二次元コード130は、3種類以上のセルを用いたいわゆるカラーコードとして構成されている。図6の例では、例えば、黒色セル、白色セル、赤色セル、緑色セル、青色セル、シアン色セル、マゼンダ色セル、黄色セル、の8色のセルを用いて二次元コード130が構成されている。なお、本実施形態及び他の実施形態を通し、黒色セルをCb、白色セルをCwで示すとともに、緑色セルを符号Cg、赤色セルをCr、青色セルをCu、黄色セルをCy、シアン色セルをCn、マゼンダ色セルをCmとそれぞれ示すこととする。
例えば、予め定められた8色のセルを用いる場合、各データコードブロック11や各誤り訂正コードブロック12を構成する各セルはそれぞれ、その8色のセルの中からいずれかの色のセルが用いられることとなる。具体的には、セルの色が、数値に対応付けられており、例えば、データ値「0」に対して第1の色「白」、データ値「1」に対して第2の色「赤」、データ値「2」に対して第3の色「緑」、データ値「3」に対して第4の色「青」、データ値「4」、に対して第5の色「マゼンタ」、データ値「5」に対して第6の色「黄」、データ値「6」に対して第7の色「シアン」、データ値「7」、に対して第8の色「黒」、がそれぞれ対応付けられている。
また、本実施形態でも、コード領域(矩形領域)の境界部6のうちの第2の特定パターン3、4が配置される側以外の境界部側(即ち、第1の特定パターン2に隣接しない第2境界部6c、6d側)に、一部のコードブロック10が配置される構成となっている。即ち、一方の第2境界部6cに隣接して誤り訂正コードブロック12(第2境界部隣接ブロック12a)が配され、第2境界部6cに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル(8色のセルのうちの白色セル以外のセル)を少なくとも1つ配置する構成をなしている。
また、他方の第2境界部6dにも誤り訂正コードブロック12(第2境界部隣接ブロック12b)が隣接しており、第2境界部6dに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセル(8色のセルのうちの白色セル以外のセル)を少なくとも1つ配置する構成をなしている。なお、本実施形態での誤り訂正コードブロック12の生成方法も基本的に第1実施形態と同様であり、データコードブロック11についてのデータコード語に基づき第1実施形態と同様の方法で誤り訂正コード語を生成し、その生成された誤り訂正コード語を誤り訂正コードブロック12によって表現することとなる。なお、第1実施形態では2色のセルからなるブロックによって誤り訂正コード語を表現したが、本実施形態では多色のセルからなるブロックによって誤り訂正コード語を表現することとなる。
また、本実施形態でも、コード領域(矩形領域)の境界をなす4つの辺(4つの境界部6)のうち、第1の特定パターン2が接する境界部(第1境界部6a、6b)に隣接して第2の特定パターン133、134が配置されている。この第2の特定パターン133、134も又は濃度又は輝度が異なる複数のセルを含むパターンとして構成されており、第1実施形態の第2の特定パターン3,4と同様に、読取処理の際に二次元コード1のコード領域(矩形領域)を背景から分離するための目印となるように機能する。
第2の特定パターン133は、矩形領域における規定の角部5a(第1の特定パターン2が配置された角部)とは異なる角部5b(角部5bは、第2の角部の一例に相当する)に、当該角部5bを示すエンドパターン132を配置してなるものである。なお、本実施形態の第2の特定パターン133は、エンドパターン132の構成のみが第1の実施形態のエンドパターン3aと異なっており、エンドパターン132は、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置された直線形状として構成されている。具体的には、3種類のセルが、青色セル132a、赤色セル132b、黒色セル132cの順に並んでエンドパターン132が構成されており、黒色セル132cの外縁を構成する2辺によって矩形領域における角部5bの角位置が定められている。なお、第2の特定パターン133において第1の特定パターン2とエンドパターン132との間には、第1実施形態と同一の中間特定パターン3bが配置されている。
第2の特定パターン134も同様であり、規定の角部5aとは異なる角部5c(角部5cは、第2の角部の一例に相当する)に、当該角部5cを示すエンドパターン135を配置してなるものである。なお、第2の特定パターン134は、エンドパターン135の構成のみが第1の実施形態のエンドパターン4aと異なっており、エンドパターン135も、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置された直線形状として構成されている。具体的には、もう1つのエンドパターン132と同一の順序、即ち、3種類のセルが、青色セル135a、赤色セル135b、黒色セル135cの順に並んでエンドパターン135が構成されており、黒色セル135cの外縁を構成する2辺によって矩形領域における角部5cの角位置が定められている。また、第2の特定パターン134において第1の特定パターン2とエンドパターン134との間には、第1実施形態と同一の中間特定パターン4bが配置されている。なお、本実施形態では、エンドパターン132、135が「第1のエンドパターン」の一例に相当する。
本実施形態の二次元コード130では、第2の特定パターン133、134が、色彩又は濃度又は輝度が異なる複数のセルを含むパターンとして構成されている。このように、背景に隣接させて種類の異なる複数のセルを配置すれば背景と矩形領域とを良好に区別できるようになる。
また、エンドパターン132、135(第1のエンドパターン)は、色彩又は濃度又は輝度の異なる複数のセルが所定の順序で配置された直線形状として構成されている。このように種類の異なる複数のセルを所定の順序で配置すると、当該二次元コード130を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第2の角部として適当かを正確に判断できるようにもなる。従って、第2の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン132、135(第1のエンドパターン)が直線形状であるため、これらエンドパターン132、135に隣接するブロック形状をあまり複雑化させずに済み、エンドパターン132、135の周囲を効率的に使用しやすくなる。
[第4実施形態]
次に第4実施形態について説明する。図7は、第4実施形態に係る二次元コード140を例示する説明図である。なお、図7では、誤り訂正コードブロック12の位置を破線にて概念的に示しており、データコードブロック11の位置については実線枠内にハッチングを付して概念的に示している。また、図7では、各コードブロック10の具体的セル構成は省略して示している。
本実施形態に係る二次元コード140も、第1実施形態と同様に複数のセルC(図7では、一部のセルのみ符号Cを付し、他のセルの符号を省略)がマトリックス状に配置されてなるものであり、複数のコードブロック10と、第1の特定パターン2(第1実施形態と同一構成及び同一機能をなす特定パターン)と、第2の特定パターン143、144と、を備えた構成をなしている。本実施形態の二次元コード140も、外形が正方形状に構成されたセルCが集合してマトリックス状に配置されたセル集合体として構成されており、セル数が縦横同数(21セル×21セル)となる配列で構成されている。
二次元コード140は、コード領域が矩形状に構成され、背景との境界位置において直線状の4つ境界部106が存在している。第1の特定パターン2に隣接する境界部106(第1境界部106a、106b)は、第1実施形態の境界部6よりも長く構成されており、これら第1境界部106a、106bにそれぞれ隣接するように第2の特定パターン143、144が配置されている。また、第2の特定パターン143、144が配置される側の境界部106(第1境界部106a、106b)とは異なる境界部106(即ち、第1の特定パターン2に隣接しない第2境界部106c、106d)も第1実施形態の境界部6よりも長く構成されている。
また、二次元コード140のコード領域(複数のセルCによって構成される領域)も外形が矩形状の矩形領域とされており、具体的には図7のように外形が正方形状の正方形領域としてコード領域が構成されている。
二次元コード140を構成する各セルCは、色彩又は濃度又は輝度の異なる複数種類のセルから選ばれたものが用いられている。なお、図7の例でも、第1実施形態と同様に、色の異なる2種類のセル(黒色セル、白色セル)によって二次元コード140が構成されている。
また、二次元コード140に用いられるコードブロック10は、第1実施形態と同様に8つのセルCが集合してなるものであり、データコードブロック11と、誤り訂正コードブロック12とに分けられる。なお、本実施形態では一部のコードブロック10が2×4又は4×2のマトリックス状に構成されており、他のコードブロック10は、これとは別の形状とされている。また、2以上の領域に分割されたコードブロック10も存在している。また、二次元コード140のデータコードブロック11及び誤り訂正コードブロック12のいずれも、第1実施形態と同様にマスク処理が施されていない非マスク化ブロックとされており、マスク処理の解除等を必要とせずにデコードしうる構成となっている。
データコードブロック11は、第1実施形態と同様の構成、即ちデコードの対象となるデータを符号化した符号化データ(データコード語)を複数のセルによって表現したブロックとして構成されている。また、データコードブロック11を構成する各セルは、2種類のセル(黒色セル、白色セル)からいずれかが選択されて用いられている。なお、データコード語を2種類のセルによって表現する方法は第1実施形態と同様である。
また、本実施形態に係る二次元コード140でも、データコードブロック11が二次元コード140の中心部付近に配置され、その周囲が誤り訂正コードブロック12によって囲まれており、図7の例では、29個のデータコードブロック11が二次元コード140の中心部付近に配置され、その周囲を16個の誤り訂正コードブロック12によって囲んでいる。
誤り訂正コードブロック12は、データコードブロック11の誤り訂正を行うための誤り訂正コード語によって構成されている。なお、データコードブロック11に基づいて誤り訂正コード語を生成する方法、及び誤り生成コード語を2種類のセルで表現する方法は、第1実施形態と同様である。
第2の特定パターン143、144は、コード領域(矩形領域)の境界をなす4つの辺(4つの境界部106)のうち、第1の特定パターン2が接する境界部(第1境界部106a、106b)に隣接して配置されるものである。この第2の特定パターン143、144は、第1実施形態の第2の特定パターン3、4と同様の機能、即ち、二次元コード140のコード領域(矩形領域)を背景から分離するための目印としての機能を有しており、読み取りの際に、この第2の特定パターン143,144を基準とすることで矩形領域を背景から分離でき、ひいてはコードブロック10をそれぞれ背景から分離できるようになっている。
第2の特定パターン143は、矩形領域における規定の角部5a(第1の特定パターン2が配置された角部)とは異なる角部5b(第2の角部)に、当該角部5bを示すエンドパターン143aを配置してなるものである。このエンドパターン143aは、色彩、濃度、輝度が同一の同種セルが複数連続したL字形状(図7では黒色セル143a'が4つ連続したL字形状)として構成されており、具体的には3つの黒色セル143a'が直線状に並び、その3つの黒色セル143a'の端部において、その3つの黒色セル143a'の並び方向(即ち、第1境界部106aに沿った方向)と直交する方向(即ち、第2境界部106cに沿った方向)に、他の黒色セル143a'が突出しており、エンドパターン143aの外側の外縁が直角に構成されている。そして、このエンドパターン143aの外側の外縁を構成する2辺によって矩形領域における角部5bの角位置が定められている。
第2の特定パターン143において第1の特定パターン2とエンドパターン143aとの間には中間特定パターン143bが配置されている。この中間特定パターン143bは、複数色のセルが所定の配列で並んだものであり、特定色のセル(図7の例では、白色セル143b')とその特定色とは異なる色のセル(図7の例では黒色セル143b")が交互に並んだパターンとして構成されている。
また、第2の特定パターン144も同様であり、規定の角部5aとは異なる角部5c(角部5cは、第2の角部の一例に相当する)に、当該角部5cを示すエンドパターン144aを配置した構成をなしている。このエンドパターン144aも、色彩、濃度、輝度が同一の同種セルが複数連続したL字形状(図7では黒色セル144a'が4つ連続したL字形状)として構成されており、具体的には3つの黒色セル144a'が直線状に並び、その3つの黒色セル144a'の端部において、その3つの黒色セル144a'の並び方向(即ち、第1境界部106bに沿った方向)と直交する方向(即ち、第2境界部106dに沿った方向)に、他の黒色セル144a'が突出しており、エンドパターン144aの外側の外縁が直角に構成されている。そして、このエンドパターン144aの外側の外縁を構成する2辺によって矩形領域における角部5cの角位置が定められている。なお、本実施形態では、エンドパターン143a、144aが「第1のエンドパターン」の一例に相当する。
第2の特定パターン144においても、第1の特定パターン2とエンドパターン144aとの間に中間特定パターン144bが配置されている。この中間特定パターン144bは、複数色のセルが所定の配列で並んだものであり、具体的には、白色セル144b'と黒色セル144b"とが交互に並んだパターンとして構成されている。
また、二次元コード140のコード領域(矩形領域)における第1の特定パターン2の対角位置には、コード領域(矩形領域)の角部5dを示すエンドパターン147が配置されている。このエンドパターン147は、所定の色彩、濃度、輝度で構成される第1セル(白色セル147a)と、この第1セル(白色セル147a)とは色彩又は濃度又は輝度が異なる第2のセル(黒色セル147b)と、を有し、一つの白色セル147aを中心に8つの黒色セル147bで囲んだ矩形形状として構成されている。図7では、エンドパターン147の外側の外縁が直角に構成され、この外側の直角外縁によって矩形領域における角部5dの角位置が定められている。なお、本実施形態では、エンドパターン147が「第2のエンドパターン」の一例に相当する。
更に、図7の二次元コード140でも、コード領域(矩形領域)の境界部106のうち、第2の特定パターン143、144が配置される側(第1境界部106a、106b側)とは異なる境界部側(即ち、第2境界部106c、106d側)に、一部のコードブロック10が配置される構成となっている。なお、本実施形態では、複数あるコードブロック10のうち、第2境界部106c、106d側に配置されるコードブロックを「第2境界部隣接ブロック」としており、図7の例では、各第2境界部106c、106dそれぞれに誤り訂正コードブロック12が配置され、この誤り訂正コードブロック12が第2境界部隣接ブロックとされている。
一方の第2境界部106c側の第2境界部隣接ブロック12a(誤り訂正コードブロック)は、第2境界部106cに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも1つ配置する構成をなしている。他方の第2境界部106d側の第2境界部隣接ブロック12b(誤り訂正コードブロック)も同様であり、第2境界部106dに隣接する位置に、背景とは色彩又は濃度又は輝度の異なるセルを少なくとも1つ配置する構成をなしている。なお、本実施形態では、背景を白色としており、第2境界部隣接ブロック12a、12bはそれぞれ、背景と異なる色のセル(黒色セル)を少なくとも1つ第2境界部106c、106dに隣接させるように配置される。
なお、図7の例では、各第2境界部106c、106dにおける第2の特定パターン143、144及びエンドパターン147に隣接する領域以外の領域全体に対し、複数の誤り訂正コードブロック12を隣接させて配置しているが、各第2境界部106c、106dに対して少なくとも1つの誤り訂正コードブロック12が隣接していれば良く、誤り訂正コードブロック12と共に他のブロック(例えば、データコードブロック11や第2実施形態の圧縮データコードブロック13など)を各第2境界部106c、106dに隣接させるようにしてもよい。また、図7の例では、2×4又は4×2のマトリックス状に構成された誤り訂正コードブロック12の長辺側を各第2境界部106c、106dに隣接させており、そのマトリックス状の誤り訂正コードブロック12において半分のセルが各第2境界部106c、106dに隣接するようになっている。
また、本実施形態の二次元コード140のコード領域(矩形領域)も、一辺に奇数個Lのセルが配置されたL×Lのマトリックス(図7ではL=21で、21×21のマトリックス)によって構成される正方形領域とされている。また、第1の特定パターン2の外形は、一辺にL>Mとなる奇数個Mのセルが配置されたM×Mのマトリックス(図7の例では、M=5で、5×5のマトリックス)によって正方形に構成されている。また、第2の特定パターン143、144はいずれも、N=L−Mとなる偶数個N(図7の例ではN=16)のセルが並んだ長さで直線状に構成されている。コードブロック10の大部分は、一辺に偶数個Aのセルが配置され、他辺に偶数個Bのセルが配置されたA×Bのマトリックス(図7では2×4のマトリックス又は4×2のマトリックス)として矩形状に構成されている。
また、本実施形態では、一方の第1境界部106aに隣接する第2の特定パターン143の内側に、複数ある誤り訂正コードブロック12の一部(内側隣接ブロック12c)が隣接して配置されており、他方の第1境界部106bに隣接する第2の特定パターン144の内側に一部の誤り訂正コードブロック12(内側隣接ブロック12d)が隣接して配置されている。
更に本実施形態では、第2境界部106c、106dのそれぞれの一部に、コードブロック10を背景から分離するための第3の特定パターン145、146が配置されている。第3の特定パターン145は、エンドパターン143a、147のそれぞれから離れた第2境界部106cの中間部に位置し、色彩、濃度、輝度が同一の同種セルが複数並んだ直線部(具体的には黒色セル145aが3つ並んだ直線部)を有しており、この直線部が第2境界部106cに隣接するように配置されている。また、黒色セル145aが並んでなる直線部の内側には、白色セル145bが3つ並んでなる直線部が隣接して配置されている。第2境界部106cに隣接する誤り訂正コードブロック12(第2境界部隣接ブロック12a)は、この第3の特定パターン145を避けるように第2境界部106cに沿って配置されている。
本実施形態の二次元コード140では、第3の特定パターン145とエンドパターン143aとの間にコードブロック10の半数以上(4セル以上)のセル数が確保され、第3の特定パターン145とエンドパターン143aとの間に、2×4又は4×2のマトリックスとして構成される誤り訂正コードブロック12を、長辺側を第2境界部106cに隣接させる形態で配置できるように構成されている。また、第3の特定パターン145とエンドパターン147との間もコードブロック10の半数以上(4セル以上)のセル数が確保され、第3の特定パターン145とエンドパターン147との間に、2×4又は4×2のマトリックスとして構成される誤り訂正コードブロック12を、長辺側を第2境界部106cに隣接させる形態で配置できるように構成されている。このように、第3の特定パターン145の両側に誤り訂正コードブロック12が配置され、それぞれが第2境界部106cに隣接するように構成されている。
第3の特定パターン146は、一方の第3の特定パターン145と同一の形状をなしており、色彩、濃度、輝度が同一の同種セルが複数並んだ直線部(具体的には黒色セル146aが3つ並んだ直線部)を有しており、この直線部が第2境界部106dに隣接するように配置されている。また、黒色セル146aが並んでなる直線部の内側には、白色セル146bが3つ並んだ直線部が隣接して配置されている。第2境界部106dに隣接する誤り訂正コードブロック12(第2境界部隣接ブロック12b)は、この第3の特定パターン146を避けるように第2境界部106dに沿って配置されている。
第3の特定パターン146側でも、第3の特定パターン146とエンドパターン144aとの間にコードブロック10の半数以上(4セル以上)のセル数が確保され、第3の特定パターン146とエンドパターン144aとの間に、2×4又は4×2のマトリックスとして構成される誤り訂正コードブロック12を、長辺側を第2境界部106cに隣接させる形態で配置できるように構成されている。また、第3の特定パターン146とエンドパターン147との間もコードブロック10の半数以上(4セル以上)のセル数が確保され、第3の特定パターン145とエンドパターン147との間に、2×4又は4×2のマトリックスとして構成される誤り訂正コードブロック12を、長辺側を第2境界部106cに隣接させる形態で配置できるように構成されている。このように、第3の特定パターン146の両側にも誤り訂正コードブロック12が配置され、それぞれが第2境界部106cに隣接するように構成されている。
本実施形態の構成によれば、以下のような効果を奏することとなる。
本実施形態では、第2境界部106c、106dの一部に、コードブロック10を背景から分離するための第3の特定パターン145、146が配置され、第2境界部106c、106dに隣接するコードブロック10(誤り訂正コードブロック12)が、第3の特定パターン145、146を避けて配置されている。このようにすると、二次元コード140を読み取る際に第2境界部106c、106dの一部を第3の特定パターン145、146によって確実に特定でき、第3の特定パターン145、146が配置されない部分についてはコードブロック10(誤り訂正コードブロック12)を利用して良好に特定できるようになる。従って、データ領域を効果的に確保しつつ、第2境界部106c、106dを精度高く安定的に特定できるようになる。
また、エンドパターン143a、144a(第1のエンドパターン)は、色彩、濃度、輝度が同一のセルが複数連続したL字形状として構成されている。このようにすれば、角部5b、5c(第2の角部)を特定しやすい構成を簡易に実現できる。特に、エンドパターン143a、144a(第1のエンドパターン)がL字形状であるため、角部5b、5c(第2の角部)に隣接する2辺の認識にも寄与し、第2の角部及びそれに隣接する2辺を良好に特定しやすくなる。
また、第1境界部106a、106bに隣接する第2の特定パターン143,144の内側に隣接するように誤り訂正コードブロック12(内側隣接ブロック12c、12d等)が配置されている。このようにすると、コード領域(矩形領域)と背景との区別を、第2の特定パターン143,144のみならず必要に応じて誤り訂正コードブロック12を利用して行うことができ、第1境界部106a、106bの認識不良を効果的に抑えることができる。例えば、汚れなどによって第2の特定パターン143、144が欠けてしまった場合であっても、その内側に存在する誤り訂正コードブロック12の位置を正確に特定できるため、その誤り訂正コードブロック12の位置に基づいて正規の境界部を良好に推定できるようになる。
また、エンドパターン147(第2のエンドパターン)が、所定の色彩、濃度、輝度で構成される第1セル(白色セル147a)と、この第1セルとは色彩又は濃度又は輝度が異なる第2のセル(黒色セル147b)と、を有し、第1のセル(1つの白色セル147a)を中心に第2のセル(8つの黒色セル147b)で囲んだ矩形形状として構成されている。このようにすれば、規定の角部5a(第1の特定パターンが配置される角部)と対角の角部5dを特定しやすい構成を簡易に実現できる。また、エンドパターン147(第2のエンドパターン)の外形が矩形形状であるため、エンドパターン147の外形が、その対角の角部5dに隣接する2辺(第2境界部106c、106d)の認識にも寄与し、エンドパターン147とコードブロック10(誤り訂正コードブロック12)とを利用して第2境界部106c、106dを一層良好に特定できるようになる。
また、図7の構成を図8のように変えてもよい。図8は、第4実施形態に関し図7の一部を変形した変形例を示すものであり、図9は、その一部を拡大して示すものである。図8の二次元コード340は、第3の特定パターン345、346を図7とは異なるように構成した点、及び3種類以上のセル(例えば第3実施形態と同様の8色のセル)を用いたカラーコードとして構成されている点が図7とは異なり、それ以外の構成は図7と同様である。よって同様の構成については同一の符号を付し、詳細な説明は省略する。
図8、図9に示すように、二次元コード340に用いる第3の特定パターン345は、色彩又は濃度又は輝度の異なる複数種類のセル(図9の例では、シアン色セル345a、黄色セル345b、赤色セル345c、緑色セル345d、白色セル345e、黒色セル345fの6種類)によって構成されており、このうちの3種類のセルが第2境界部106cに隣接して決められた色の順序で直線状に並んでいる。図8、図9の例では、角部5b側から、第2境界部106cに隣接してシアン色セル345a、黄色セル345b、赤色セル345cと並ぶように順序が決められている。また、これら3つのセル(第2境界部106cに隣接するシアン色セル345a、黄色セル345b、赤色セル345c)の内側においてこれら3つのセル群に沿うように、角部5b側から、緑色セル345d、白色セル345e、黒色セル345fと並ぶように順序が決められている。
第3の特定パターン346も同様であり、色彩又は濃度又は輝度の異なる複数種類のセル(図8の例では、シアン色セル346a、黄色セル346b、赤色セル346c、緑色セル346d、白色セル346e、黒色セル346fの6種類)によって構成されており、このうちの3種類のセルが第2境界部106dに隣接して決められた色の順序で直線状に並んでいる。図8、図9の例では、角部5c側から、第2境界部106dに隣接してシアン色セル346a、黄色セル346b、赤色セル346cと並ぶように順序が決められている。また、これら3つのセル(第2境界部106dに隣接するシアン色セル346a、黄色セル346b、赤色セル346c)の内側においてこれら3つのセル群に沿うように、角部5c側から、緑色セル346d、白色セル346e、黒色セル34dfと並ぶように順序が決められている。
図8、図9のように、種類の異なる複数のセルを所定の順序で配置して第3の特定パターン345,346を構成すると、当該二次元コード340を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第3の特定パターン345、346として適当かを確認できるようにもなる。従って、第2境界部106c、106dの一部の特定を、形状面、内容面から行うことができ、第2境界部106c、106dの特定の精度を一層高めることができる。
[第5実施形態]
次に第5実施形態について説明する。図10は、第5実施形態に係る二次元コード150を例示する説明図である。なお、図10でも、誤り訂正コードブロック12の位置を破線にて概念的に示しており、データコードブロック11の位置については実線枠内にハッチングを付して概念的に示している。また、図10でも、各コードブロック10の具体的セル構成は省略して示している。
図10の構成は、第2の特定パターン3、4を第2の特定パターン153、154に変更し、空いたセル(第1の特定パターン2と第2の特定パターン153との間のセル、及び第1の特定パターン2と第2の特定パターン154との間のセル)を他の用途に利用しうるようにした点のみが第1実施形態の構成(即ち図1の構成)と異なり、それ以外は第1実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については図1と同一の符号を付して詳細な説明は省略する。なお、図10の例では、第1の特定パターン2、エンドパターン7、複数のデータコードブロック11、複数の誤り訂正コードブロック12、第1境界部6a、6b、第2境界部6c、6dは、いずれも図1と同一の構成及び配置をなしており、第1実施形態と同一の効果を奏するものとされている。
図10の例では、第1境界部6a、6bそれぞれに隣接するように第2の特定パターン153、154が設けられている。これらのうち、一方の第2の特定パターン153は、エンドパターン153aのみで構成されており、他方の第2の特定パターン154はエンドパターン154aのみで構成されている。なお、本実施形態では、エンドパターン153a、154aが「第1のエンドパターン」の一例に相当するものであり、矩形領域の規定の角部5aとは異なる第2の角部(角部5b、5c)を示すように機能する。
エンドパターン153aは、色彩、濃度、輝度が同一の同種セルが複数連続して配置された直線形状(具体的には色彩、濃度、輝度が同一の黒色セル153a'が3つ連続して配置された直線形状と)して構成されており、このエンドパターン153aの端部(第1の特定パターン2から遠い側の端部)の黒色セル153a'における外縁を構成する2辺によってコード領域(矩形領域)における角部5bの角位置が定められている。
また、エンドパターン154aも同様であり、色彩、濃度、輝度が同一のセルが複数連続して配置された直線形状(具体的には色彩、濃度、輝度が同一の黒色セル154a'が3つ連続して配置された直線形状)として構成されており、このエンドパターン154aの端部(第1の特定パターン2から遠い側の端部)の黒色セル154a'における外縁を構成する2辺によってコード領域(矩形領域)における角部5cの角位置が定められている。
図10の例では、第1の特定パターン2とエンドパターン153aとの間、及び第1の特定パターン2とエンドパターン154aとの間に、特定パターンが設けられず、データコードブロック11や誤り訂正コードブロック12を配置しうるようになっている。
図10のように、第2の特定パターン153をエンドパターン153aのみで構成し、第2の特定パターン154をエンドパターン154aのみで構成すると、第2の特定パターンの領域を極力抑えた構成とすることができ、データ領域を拡大しやすくなる。
また、図11のようにしてもよい。図11の構成は、第2の特定パターン133、134を第2の特定パターン253、254に変更し、空いたセル(第1の特定パターン2と第2の特定パターン253との間のセル、及び第1の特定パターン2と第2の特定パターン254との間のセル)を他の用途に利用しうるようにした点のみが第3実施形態の構成(即ち図6の構成)と異なり、それ以外は第3実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については図6と同一の符号を付して詳細な説明は省略する。
図11では、第2の特定パターン253が、図6で示したエンドパターン132のみで構成されており、第2の特定パターン254が、図6で示したエンドパターン135のみで構成されている。エンドパターン132、135(第1のエンドパターン)は、いずれも色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序(第1の特定パターン2側から青色セル、赤色セル、黒色セルと並ぶ色順序)で配置された直線形状として構成されている。
また、図12のようにしてもよい。図12の二次元コード350は、図7の一部を変更したものであり、第2の特定パターン143、144を第2の特定パターン353、354に変更し、空いたセル(第1の特定パターン2と第2の特定パターン353との間のセル、及び第1の特定パターン2と第2の特定パターン354との間のセル)を他の用途に利用しうるようにした点のみが図7と異なり、それ以外は図7と同一である。図12の二次元コード350は、第2の特定パターン353が図7と同一のエンドパターン143a(第1のエンドパターン)のみによって構成されており、第2の特定パターン354が図7と同一のエンドパターン144a(第1のエンドパターン)のみによって構成されている。
また、図13のようにしてもよい。図13の二次元コード450は、第2の特定パターン453、454を図12とは異なるように構成した点、及び3種類以上のセルを用いたカラーコードとして構成されている点が図12とは異なり、それ以外の構成は図12と同様である。よって同様の構成については同一の符号を付し、詳細な説明は省略する。
図13の二次元コード450は、第2の特定パターン453がエンドパターン452(第1のエンドパターン)のみによって構成されており、第2の特定パターン454がエンドパターン455(第1のエンドパターン)のみによって構成されている。エンドパターン452、455はいずれも、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたL字形状として構成されている。
エンドパターン452は、第1境界部106aに沿って隣接するように、第1の特定パターン2側から赤色セル452a、黄色セル452b、シアン色セル452cの順に直線状に並び、かつ、端部のシアン色セル452cから直角に折れ曲がる形態で黒色セル452dが配置されている。シアン色セル452c及び黒色セル452dは、第2境界部106cに沿って隣接するように直線状に並び、赤色セル452a、黄色セル452b、シアン色セル452cの並び方向と、シアン色セル452c及び黒色セル452dの並び方向とが直交する構成となっている。そして、エンドパターン452全体としてL字形状となるように構成されている。このエンドパターン452は、外側の外縁部の角位置が、矩形領域全体における角部5b(第2の角部)の角位置を示している。
エンドパターン454は、第1境界部106bに沿って隣接するように、第1の特定パターン2側から赤色セル455a、黄色セル455b、シアン色セル455cの順に直線状に並び、かつ、端部のシアン色セル455cから直角に折れ曲がる形態で黒色セル455dが配置されている。シアン色セル455c及び黒色セル455dは、第2境界部106dに沿って隣接するように直線状に並び、赤色セル452a、黄色セル452b、シアン色セル452cの並び方向と、シアン色セル452c及び黒色セル452dの並び方向とが直交する構成となっている。そして、エンドパターン455全体としてL字形状となるように構成されている。このエンドパターン455は、外側の外縁部の角位置が、矩形領域全体における角部5c(第2の角部)の角位置を示している。なお、エンドパターン452、455のいずれも、第1の特定パターン2側から赤色セル、黄色セル、シアン色セル、折れ曲がって黒色セル、の順に並んでおり、この色順序が「所定の順序」に相当している。
図13の二次元コード450のように、種類の異なる複数のセルを所定の順序で配置すると、当該二次元コード450を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することで第2の角部として適当かを確認できるようにもなる。従って、第2の角部の特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン452、455(第1のエンドパターン)がL字形状であるため、第2の角部に隣接する2辺の認識にも寄与し、第2の角部及びそれに隣接する2辺を良好に特定しやすくなる。即ち、エンドパターン452は、第1境界部106aの方向特定及び第2境界部106cの方向特定に寄与し、エンドパターン455は、第1境界部106bの方向特定及び第2境界部106dの方向特定にも寄与しており、角部5b、5cの位置や向きだけでなく、第1境界部106a、106b、第2境界部106c、106dの位置や向きを特定する機能をも果たしている。
また、図14のようにしてもよい。図14の二次元コード550は、図7の一部を変更したものであり、第2の特定パターン143、144を第2の特定パターン553、554に変更し、空いたセル(第1の特定パターン2と第2の特定パターン553との間のセル、及び第1の特定パターン2と第2の特定パターン554との間のセル、エンドパターン553、554に隣接するセルCa、第3の特定パターン555、556に隣接するセルCc)を他の用途に利用しうるようにした点のみが図7と異なり、それ以外は図7と同一である。
本実施形態の構成では、第3の特定パターン555、556と第2の特定パターン553、554とが同一形状(いずれも3つの黒色セルが直線状に並ぶ形状)として構成されている。具体的には、第2の特定パターン553は、黒色セル553a'が3つ並んだ直線形状からなるエンドパターン553aのみによって構成されており、端部の黒色セル553a'の外縁によって角部5bを示す構成をなしている。また、第2の特定パターン554は、黒色セル554a'が3つ並んだ直線形状からなるエンドパターン554aのみによって構成されており、端部の黒色セル554a'の外縁によって角部5cを示す構成をなしている。更に、第3の特定パターン555も、黒色パターン555aが3つ並んだ直線形状として構成され、第2境界部106cに隣接するように配置されている。また、第3の特定パターン556も同様であり、黒色パターン556aが3つ並んだ直線形状として構成され、第2境界部106dに隣接するように配置されている。このようにすると、第2の特定パターン553、554と第3の特定パターン555、556の形状を共通化でき、コード構成の簡素化を図ることができる。
また、上記図10〜図14のいずれの構成においても、第1境界部(図10、図11では第1境界部6a、6b、又は図12〜図14では第1境界部106a、106b)における第2の特定パターン(各図における第2の特定パターン)と第1の特定パターン2との間の位置に隣接するように圧縮データコードブロック(第2実施形態の圧縮データコードブロック13と同様のもの)を配置してもよく、第1境界部における第2の特定パターンと第1の特定パターン2との間の位置に隣接するように一部の誤り訂正コードブロック12を配置してもよい。この場合、これら圧縮データコードブロック或いは誤り訂正コードブロックが「第1境界部隣接ブロック」に相当し、第1境界部に隣接する位置に背景とは色彩又は濃度又は輝度の異なるセルを少なくとも1つ配置するように機能する。
このようにすると、二次元コードを読み取る際に、第1境界部(図10、図11では第1境界部6a、6b、又は図12〜図14では第1境界部106a、106b)における両端部及びその付近については第1の特定パターン2及び第2の特定パターン(各図における第2の特定パターン)によって確実に特定できるようになり、それ以外の部分(第1境界部における第1の特定パターン2及び第2の特定パターンが隣接する部分以外の部分)についてはコードブロック(第1境界部隣接ブロック)を利用して良好に特定できるようになる。したがって、第1境界部をより確実に特定できる構成を実現しつつ、第1境界部側の領域を利用してデータ領域を増大できるようになる。
[第6実施形態]
次に第6実施形態について説明する。図15は、第6実施形態に係る二次元コード160を例示する説明図である。なお、図15でも、誤り訂正コードブロック12の位置を破線にて概念的に示しており、データコードブロック11の位置については実線枠内にハッチングを付して概念的に示している。また、図15でも、各コードブロック10の具体的セル構成は省略して示している。
図15の構成は、第2の特定パターン3、4(図1)を第2の特定パターン163、164に変更し、空いたセル(第1の特定パターン2と第2の特定パターン163との間のセル、及び第1の特定パターン2と第2の特定パターン164との間のセル)を他の用途に利用しうるようにした点、エンドパターン7(図1)をエンドパターン167に変更し、空いたセル(エンドパターン167に隣接するセル)を他の用途に利用しうるようにした点のみが第1実施形態と異なり、それ以外の構成は第1実施形態と同一である。よって異なる部分について重点的に説明し、同一の構成については第1実施形態と同一の符号を付して詳細な説明は省略する。
本実施形態の二次元コード160は、第5実施形態の構成と同様に、第2の特定パターン163がエンドパターン163a(第1のエンドパターン)のみによって構成されている。一方、本実施形態では、このエンドパターン163aが、図15のように色彩又は濃度又は輝度が背景とは異なる単一のセル(具体的には黒色セル)によって構成されており、読取処理の際に、この単一セル(エンドパターン163a)の外縁によってコード領域(矩形領域)の角部5b(第2の角部)が特定されるようになっている。また、第2の特定パターン164もエンドパターン164a(第1のエンドパターン)のみによって構成されており、このエンドパターン164aも色彩又は濃度又は輝度が背景とは異なる単一のセル(黒色セル)によって構成されている。そして、読取処理の際に、この単一セル(エンドパターン164a)の外縁によって矩形領域の角部5c(第2の角部)が特定されるようになっている。
このように二次元コード160が構成されているため、エンドパターン163a、164a(第1のエンドパターン)に要する領域を極力抑えることができ、ひいてはデータ領域の増大を図ることができるようになっている。なお、図示はしていないが、第1境界部6aにおける第2の特定パターン163と第1の特定パターン2との間の位置、或いは、第1境界部6bにおける第2の特定パターン164と第1の特定パターン2との間の位置に隣接するように圧縮データコードブロック(第2実施形態の圧縮データコードブロック13と同様のもの)や、誤り訂正コードブロック12を配置すると、第1の特定パターンと第2の特定パターンとの間にデータ配置領域を大きく確保しつつ第1境界部を良好に特定できるようになる。具体的には例えば、図15におけるデータコードブロック11や誤り訂正コードブロック12の配置や形状を若干変更して第1の特定パターン2と第2の特定パターン163又は164との間に誤り訂正データコードブロック12を配置するように構成してもよく、図15において空いているセルに誤り訂正コードブロック12や圧縮データコードブロックなどを配置してもよい。
また、図15の例では、第1実施形態のエンドパターン7(図1)とは異なるエンドパターン167を用いている。このエンドパターン167は、第2のエンドパターンの一例に相当するものであり、本実施形態では、背景とは色彩又は濃度又は輝度が異なる単一のセル(黒色セル167a)によって構成されている。そして、このエンドパターン167の外側の外縁によって矩形領域の角部5dの角位置が示されている。このようにすると、規定の角部5aとは対角にある角部5dを少ないセル構成にて示すことができ、データ領域の拡大を図りやすくなる。なお、エンドパターン167に隣接するセルは、データコードブロック11や誤り訂正コードブロック12の領域としてもよく、一部を他の用途(後述する余剰ブロック等)に用いてもよい。
[第7実施形態]
次に第7実施形態について説明する。図16は、第7実施形態に係る二次元コード170を例示する説明図である。なお、図16でも、誤り訂正コードブロック12の位置を破線にて概念的に示しており、データコードブロック11の位置については実線枠内にハッチングを付して概念的に示している。また、図16でも、各コードブロック10の具体的セル構成は省略して示している。
図16の二次元コード170は、第4実施形態で示した図7の構成の一部を変更したものであり、エンドパターン147(図7)をエンドパターン177に変更した点、及び3種類以上のセル用いたカラーコードとして構成されている点が図7とは異なり、それ以外の構成は図7と同様である。よって異なる部分について重点的に説明し、同一の構成については図7と同一の符号を付して詳細な説明は省略する。
図16の二次元コード170は、コード領域(矩形領域)において、色彩又は濃度又は輝度が異なる複数種類のセルが配置されてなるものであり、本実施形態では、例えば第3実施形態と同様の8色のセルが用いられるようになっている。この二次元コード170に用いられる第2のエンドパターン177は、複数の色のセルが、予め定められた色の組み合わせで配置されてなり、かつコード領域(矩形領域)の各色を参照するための参照領域として兼用されるようになっている。
具体的には、図17に示すように、一方の第2境界部106cに沿って隣接するように角部5b側から黒色セル177a、赤色セル177b、シアン色セル177cの色順序で直線状に並んでおり、シアン色セル177cの外縁が角部5dの角位置を示すようになっている。さらに、この黒色セル177a、赤色セル177b、シアン色セル177cの並びに対し、角部5dから直角に折れ曲がってシアン色セル177c、黄色セル177g、黒色セル177jの色順序で直線状に並んで配置されている。これらシアン色セル177c、黄色セル177g、黒色セル177jは、第2境界部106dに沿って隣接するように直線状に構成されており、角部5c側から見れば、黒色セル、黄色セル、シアン色セルの色順序で配置されている。この図17の例では、直線状に構成される黒色セル177a、赤色セル177b、シアン色セル177cの外縁が第2境界部106cを示しており、同じく直線状に構成されるシアン色セル177c、黄色セル177g、黒色セル177jの外縁が第2境界部106dを示している。
また、シアン色セル177c、黄色セル177g、黒色セル177jの並びに対し、黒色セル177jから直角に折れ曲がって黒色セル177j、マゼンダ色セル177i、青色セル177hの色順序で直線状に並んで配置され、更に、この黒色セル177j、マゼンダ色セル177i、青色セル177hの並びに対し、青色セル177hから直角に折れ曲がって青色セル177h、緑色セル177e、黒色セル177aの色順序で直線状に並んでいる。エンドパターン177は、第1の特定パターン2が左上位置となるように二次元コード170を配置したときに、右上側から時計回りに、黒色セル177a、赤色セル177b、シアン色セル177c、黄色セル177g、黒色セル177j、マゼンダ色セル177i、青色セル177h、緑色セル177eの色順序で環状かつ外縁矩形状に配置されており、かつ中心位置に背景色と同一色の白色セル177fが配置されるようになっている。
エンドパターン177は、コード領域(矩形領域)に配置される可能性のある全ての色のセルを備えており、図16の例では、二次元コード170においてデータコードブロック11や誤り訂正コードブロック12などに使われる可能性のある色(図16の例では8色)を全て含んでいる。そして、読取処理の際に、矩形領域に配置されるセルの各色を
判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが、候補となる複数色(図16の例では8色)のうちのどの色に該当するかを、エンドパターン177の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かをエンドパターン177の各セルの色に基づいて判断するといったことが可能となる。
このように、図16の二次元コード170では、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されてエンドパターン177(第2のエンドパターン)が構成されており、かつ矩形領域の各色を参照するための参照領域として兼用されている。このように、対角の角部5dを特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
また、図18のようにしてもよい。図18の二次元コード270構成は、第3実施形態で示した図6の二次元コード130の一部を変更したものであり、エンドパターン7(図6)をエンドパターン277に変更した点のみが図6と異なっており、それ以外は図6と同一である。よって同一の部分については図6と同一の符号を付し、詳細な説明は省略する。
図18のエンドパターン277は、色彩又は濃度又は輝度の異なる複数種類のセルが所定の順序で配置されたL字形状として構成されている。具体的には、第2境界部6cに沿って隣接するように、角部5b側から青色セル277a、黒色セル277bの色順序で直線状に並んでおり、この青色セル277a、黒色セル277bの並びに対して直角に折れ曲がるように、黒色セル277b、赤色セル277cの順序で直線状に並んでいる。黒色セル277b、赤色セル277cは、第2境界部6dに沿って隣接するように角部5d側から黒色セル277b、赤色セル277cの色順序で並んでおり、エンドパターン277全体としてL字形状とされている。そして、青色セル277a、黒色セル277b、赤色セル277cと並ぶL字形状部の外縁によって角部5dの角位置が示されるようになっている。
図18のように、種類の異なる複数のセルを所定の順序で配置すると、二次元コード270を読み取る際にセルの配置形状を認識しやすく、更に、セルの順序が所定の順序であるか否かを確認することでエンドパターン277(第2のエンドパターン)として適当かを確認できるようにもなる。従って、対角の角部5dの特定を、形状面、内容面から行うことができ、特定の精度を一層高めることができる。また、エンドパターン277(第2のエンドパターン)がL字形状からなるため、このエンドパターン277の外形が、対角の角部5dに隣接する2辺(即ち、第2境界部6c、6d)の認識にも寄与し、エンドパターン277とコードブロック10(具体的には誤り訂正コードブロック12)とを利用して第2境界部6c、6dを一層良好に特定できるようになる。また、図18のエンドパターン277も、図16の場合と同様に二次元コード270のコード領域(矩形領域)の各色を参照するための参照領域として兼用することができ、図16と同様の効果を得ることができる。
なお、図18の例では、エンドパターン277に隣接するセルCdをどの用途に用いるか特に示していないが、例えば、データコードブロック11や誤り訂正コードブロック12を配置する領域として利用してもよい。或いは、データコードブロック11や誤り訂正コードブロック12のデータとされない余剰ブロックとして構成してもよい。
[第8実施形態]
次に第8実施形態について説明する。図19は、第4実施形態で示した図7の構成の一部を変更したものであり、図7で示した中間パターン143b、144bの領域を別の構成とした点、及び3種類以上のセル用いたカラーコードとして構成されている点が図7とは異なり、それ以外の構成は図7と同様である。よって異なる部分について重点的に説明し、同一の構成については図7と同一の符号を付して詳細な説明は省略する。
図19の二次元コード180は、第2の特定パターン183、184のそれぞれの一部において色彩又は濃度又は輝度が異なる複数種類のセルが、予め定められた種類の組み合わせで並んで配置された参照パターン182、185が設けられている。参照パターン182は、コード領域(矩形領域)の各色を参照するための参照領域として兼用されるものであり、図19では、矩形領域で用いられる全ての色を含んだ構成となっている。具体的には、第1の特定パターン2側から、黒色パターン182a、赤色パターン182b、シアン色パターン182c、黄色パターン182d、白色パターン182e、緑色パター182f、マゼンダ色パターン182g、青色パターン182hの色順序で第1境界部106aに沿って隣接するように直線状に並んでいる。同様に、参照パターン185も、コード領域(矩形領域)の各色を参照するための参照領域として兼用されるものであり、矩形領域で用いられる全ての色を含んだ構成となっている。具体的には、第1の特定パターン2側から、黒色パターン185a、赤色パターン185b、シアン色パターン185c、黄色パターン185d、白色パターン185e、緑色パター185f、マゼンダ色パターン185g、青色パターン185hの色順序で第1境界部106bに沿って隣接するように直線状に並んでいる。
なお、参照パターン182と第1の特定セル2との間、及び参照パターン185と第1の特定セル2との間は、特定パターン(例えば同一色のセルが直線状に並ぶパターン、或いは2色のセルが交互に配されるパターン等)を用いるようにしてもよく、コードブロック10の一部(例えば誤り訂正コードブロック12の一部)を配置してもよい。
参照パターン182、185は、コード領域(矩形領域)に配置される可能性のある全ての色のセルを備えており、図19の例では、二次元コード180においてデータコードブロック11や誤り訂正コードブロック12などに使われる可能性のある色(図19の例では8色)を各参照パターン182、185が全て含んでいる。そして、読取処理の際に、矩形領域に配置されるセルの各色を判断するための参照領域として用いられるようになっている。例えば、読み取りの際に、矩形領域の各セルが候補となる複数色(図19の例では8色)のうちのどの色に該当するかを、参照パターン182、185の各セルの色に基づいて判断するといったことが可能となる。或いは、ある色として認識されたセルについて、その認識が正確であるか否かを参照パターン182、185の各セルの色に基づいて判断するといったことが可能となる。このように、第1境界部106a、106bを特定するためのパターンを参照領域として兼用すれば、参照領域のための特別なパターンを別途用意する必要がなく、データ領域の増大或いはコード全体の小型化を図ることができる。
また、図20のようにしてもよい、図20の二次元コード280では、角部5b、5cにそれぞれ配置されるエンドパターン281、282(第1のエンドパターン)と、規定の角部5a(第1のエンドパターン2が配置された角部)と対角にある角部5dに配置されるエンドパターン287(第2のエンドパターン)と、第2境界部106c、106dにおいて第1のエンドパターンと第2のエンドパターンとから離れた位置に配置される第3の特定パターン285、286と、が全て同一形状とされており、色彩又は濃度又は輝度が異なる複数種類のセルが予め定められた種類の組み合わせで配置されている。具体的には、これらがいずれも、図17で示したエンドパターン177と同一形状とされており、これらエンドパターン281、282(第1のエンドパターン)、エンドパターン287(第2のエンドパターン)、第3の特定パターン285、286がいずれも、二次元コード280のコード領域(矩形領域)を参照するための参照領域として兼用しうるように構成されている。
なお、図20では、第1の特定パターン289、第2の特定パターン283、284、第3の特定パターン285、286、エンドパターン287以外の図示を省略して示しているが、第2境界部106c、106dに隣接させて誤り訂正コードブロック又は圧縮データコードブロックを配置する点は上記実施形態と同様である。また、図20では、上記実施形態で用いた第1の特定パターン2と形状の異なる第1の特定パターン289を用いているが、この第1の特定パターン289も上記実施形態の第1の特定パターン2と同様に機能させることができる。
[第9実施形態]
次に第9実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図6の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードは、図6の特徴を全て有しており、以下の説明では、適宜図6を参照して説明する。
図6に示すように、本実施形態の二次元コード130も、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部6のうち、第2の特定パターン133,134の配置側とは異なる第2境界部6c側、第2境界部6d側において、これら第2境界部6c、第2境界部6dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
更に、本実施形態では、誤り訂正コードブロック12の各セルを表示する表示色の組み合わせと、当該誤り訂正コードブロック12によって誤りが訂正されるデータコードブロック11の各セルを表示する表示色の組み合わせとが異なるように構成されている。
各ブロックについての表示色の組み合わせは様々に考えうるが、例えば、誤り訂正コードブロック12を構成するセルを、二次元コード130で用いられる色数(図6では8色)の半数の色の組み合わせによって表現し、データコードブロック11を構成するセルを、残りの半数の色の組み合わせによって表現することができる。
その一例としては、所定の色成分の画像を取得したときに暗と判断される複数色によって誤り訂正コードブロック12を表現する構成することができる。例えば、黒色セル、赤色セル、マゼンタ色セル、青色セルは、緑成分の画像において暗と判断されるセルであり、これらの4色のセルによって誤り訂正コードブロック12を表現し、残りの4色のセル(白色セル、緑色セル、シアン色セル、黄色セル)によってデータコードブロック11を表現するように構成できる。このようにすると、必要に応じて緑成分の画像を取得し、境界の明確化を図ることができる。即ち、緑成分の画像においては、誤り訂正コードブロック12を構成する黒色セル、赤色セル、マゼンタ色セル、青色セルが全て暗となるため、誤り訂正コードブロック12の領域が全て暗領域となり、背景が白色等の場合において背景との境界を明確に区別できるようになる。なお、上記二次元コード130が、赤画素、緑画素、青画素を備えた通常のカラーセンサによって撮像される場合、その内の緑画素のみを使用した画像が上記緑成分の画像に相当する。
なお、上記色の組み合わせはあくまで一例であり、別の組み合わせであってもよい。また、一部の色を両方の組み合わせに用いてもよい。例えば、誤り訂正コードブロック12を黒色セル、白色セル、赤色セル、緑色セル、青色セル、によって表現し、データコードブロック11を黒色セル、白色セル、シアン色セル、マゼンタ色セル、黄色セルによって表現してもよく、この場合、黒色セルと白色セルがいずれの組み合わせにも用いられることとなる。
本実施形態のように、誤り訂正コードブロック12の各セルを表示する表示色の組み合わせと、データコードブロック11の各セルを表示する表示色の組み合わせとを異ならせるようにすると、背景との分離に用いる誤り訂正コードブロック12の表示色をデータコードブロック11の表示色とは関係なく設定でき、誤り訂正コードブロック12の配色の自由度を高めることができる。例えば、誤り訂正コードブロック12の配色を境界の特定に有利な色に設定するといったことが可能となる。
また、圧縮データコードブロック13を境界部に隣接させて配置する構成において同様の特徴を付加してもよい。例えば、図6において第2境界部6c、6dに隣接する4つの誤り訂正コードブロック12それぞれを第2実施形態と同一の圧縮データコードブロック13(図5)に変更し、中央のデータコードブロック11を誤り訂正コードブロック12に変更するような構成において、圧縮データコードブロック13の各セルを表示する表示色の組み合わせと、誤り訂正コードブロック12の各セルを表示する表示色の組み合わせとを異ならせるようにしてもよい。
この場合も、圧縮データコードブロック13を構成するセルを、所定の色成分の画像を取得したときに暗と判断される色によって構成することができる。例えば、黒色セル、緑色セル、シアン色セル、青色セルによって圧縮データコードブロック13を表現し、残りの4色のセル(白色セル、赤色セル、マゼンダ色セル、黄色セル)によって誤り訂正タコードブロック12を表現する構成とした場合、必要に応じて赤成分の画像を取得し、境界の明確化を図ることができる。即ち、赤成分の画像においては、圧縮データコードブロック13を構成する黒色セル、緑色セル、シアン色セル、青色セルが全て暗となるため、圧縮データコードブロック13の領域が全て暗領域となり、背景が白色等の場合において背景との境界を明確に区別できるようになる。なお、このような二次元コードが赤画素、緑画素、青画素を備えた通常のカラーセンサによって撮像される場合、その内の赤画素のみを使用した画像が上記「赤成分の画像」に相当する。
この構成によれば、背景との分離に用いる圧縮データコードブロック13の表示色を誤り訂正コードブロック12の表示色とは関係なく設定でき、圧縮データコードブロック13の配色の自由度を高めることができる。例えば、圧縮データコードブロック13の配色を境界の特定に有利な色に設定するといったことが可能となる。
なお、上記説明では、図6の構成に本実施形態に係る特徴を付加した例を示したが、上記実施形態のいずれの構成(例えば、図8等)についても本実施形態の特徴を付加できる。
[第10実施形態]
次に第10実施形態について説明する。図24(a)は第10実施形態に係る二次元コード300を概略的に説明する説明図であり、図24(b)は、図24(a)の二次元コード300におけるコードブロックの暗色セルを説明する説明図である。
図24(a)の二次元コード300は、第1の特定パターン2、第2の特定パターン3、4、エンドパターン7については第1実施形態で説明した図1と同一であるのでこれと同一の符号を付し、詳細な説明は省略する.。なお、図24(a)の例では、矩形領域の境界部6に関し、白色セル部分の境界部については破線にて概念的に示している。
本実施形態の二次元コード300は、図1の特徴を全て有しており、図1の構成に更なる特徴を付加したものとされている。なお、本実施形態の二次元コード300でも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部6のうち、第2の特定パターン3,4の配置側とは異なる第2境界部6c側、第2境界部6dにおいて、これら第2境界部6c、第2境界部6dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
図24(a)では、コードブロック12のセル構成が具体的に示されており、本実施形態では、コードブロック12を構成する特定種類のセルの形状が、四角形状とは異なる図柄形状とされている。具体的には、黒色セルが「特定種類のセル」に相当しており、第1の特定パターン2及び第2の特定パターン3、4における黒色セル(特定種類のセル)の形状が四角形状とされており、コードブロック10における黒色セル(特定種類のセル)の形状が星型形状とされている。
また、図24(b)のように、コードブロック10内における特定種類のセル(即ち、黒色セル)は、図柄形状とされる図柄領域301が、背景とは色彩又は濃度又は輝度の異なるように構成されており(具体的には背景が白色等で構成され、図柄領域301がこれとは異なる黒色で塗り潰された構成をなしており)、更に、その図柄領域301が、黒色セルの各セル領域の境界位置に配置されている。図24(b)では、図柄領域301を有する黒色セルの境界位置を矩形枠302で概念的に示しており、この境界位置に達するように図柄領域301が設けられている。なお、図24(b)の例では、境界位置に達するように図柄領域301が設けられているが、図柄領域301の端部が境界位置の近傍に位置するような構成であってもよい。例えば、図24(b)の星型の図柄領域301については、その先鋭な端部が境界位置に達してなくてもよく、境界位置からわずかに離れた近傍に位置する構成であってもよい。
なお、上記の例では、「四角形状とは異なる図柄形状」として星型形状を例示したが、これに限定されず、例えば、三角形状、三日月形状、ひし形形状など、様々な形状とすることができる。
また、特定種類のセルの例として黒色セルを例示したが、図25のように、白色セルを「特定種類のセル」としてもよい。なお、図25は、図24の白黒を反転した構成とされており、背景色が黒色となっている。
また、図5のように第2境界部6c、6dに隣接させて圧縮データコードブロック13を配置する構成においても、コードブロック10内の特定種類のセル(例えば黒色セル)の形状を四角形状とは異なる形状(星型形状、三角形状等)とすることができる。
本実施形態の構成によれば、例えば以下のような効果を奏する。
本実施形態のように、矩形領域内における特定種類のセルの形状を、四角形状とは異なる図柄形状とすると、矩形領域内に四角形状とは異なる斬新な形状のセルを設けることができ、デザイン性を効果的に高めることができる。
また、第1の特定パターン2及び第2の特定パターン3,4における黒色セル(特定種類のセル)の形状が四角形状となっており、コードブロック10の黒色セル(特定種類のセル)形状が四角形状とは異なる図柄形状となっている。このようにすると、第1の特定パターン2及び第2の特定パターン3,4については四角形状のセルによって構成されるため形状を正確に特定しやすくなり、矩形領域やセル位置の基準として有利となる。一方、コードブロック10については、特定種類のセル形状を図柄形状としてデザイン性を高めることができる。
また、背景(図24では白色背景、図25では黒色背景)とは色彩又は濃度又は輝度の異なるセルの形状を図柄形状としているため、図柄形状をより際立たせることができる。更に、図24(b)のように、コードブロック10内の特定種類のセルにおいて、図柄形状とされる図柄領域301が背景とは色彩又は濃度又は輝度の異なるように構成されており、更に、その図柄領域301が特定種類の各セル領域の境界位置(矩形枠302の位置)に配置されている。このようにすると、境界部6に隣接する誤り訂正コードブロック12に設けられた図柄領域301を利用して境界部を特定できるようになり、また、図柄領域301がセル領域の境界位置に配置されているため、境界部6に隣接する位置に背景とは色彩又は濃度又は輝度の異なる部分を適切に配置することができる。なお、図柄領域301をセル領域の境界位置近傍に配置しても同様の効果が得られる。
[第11実施形態]
次に第11実施形態について説明する。
図26は、第11実施形態に係る二次元コードを概略的に説明する説明図である。図26の二次元コード310は、図7の二次元コード140の特徴を全て有しており、図7のコード領域の中央部に更なる特徴を付加したものとされている。なお、図26では、図7と同一の構成をなす部分については図7と同一の符号を付し、詳細な説明は省略する。
なお、本実施形態の二次元コード310でも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部106のうち、第2の特定パターン143,144の配置側とは異なる第2境界部106c側、第2境界部106dにおいて、これら第2境界部106c、第2境界部106dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
更に、図26の二次元コード310では、コード領域(矩形領域)内において、セルCとは異なるデザインを挿入するデザイン挿入領域311が設けられている。このデザイン挿入領域311は、図27(a)のように構成されており、図27(b)のような絵柄((図27(b)では音符絵柄312)、文字、記号等の様々なデザインを挿入して使用される構成となっている。
図27(a)に示すように、デザイン挿入領域311は、セルCのサイズよりも広い領域として構成され、且つコードブロック10の複数のセル位置に跨る構成で配置されている。なお、図27(a)では、白色で塗り潰されたデザイン挿入領域311が構成され、図27(b)ではこのような白色のデザイン挿入領域311に音符絵柄312が記録された使用例を示している。
本実施形態の構成のように、矩形領域内にデザイン挿入領域311を設けると、矩形領域内にセル以外のデザインを挿入できるようになり、デザイン性を効果的に高めることができる。特に、デザイン挿入領域311がセルのサイズよりも広い領域として構成され、且つコードブロック10の複数のセル位置に跨る構成で配置されているため、デザイン挿入領域をより広く確保でき、コード利用者により印象付けることができる。
なお、図27(a)の例では、白色で塗り潰されたデザイン挿入領域311を例示したが、デザイン挿入領域311の境界部分全体が、隣接するセルCとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていてもよい。その一例としては、例えば、図27(b)のデザイン挿入領域311全体の色を、図26の二次元コード310のコードブロック10に使用されていない色によって構成する例が挙げられる(例えば、コードブロック10の各セルが、黒、白、赤、緑、青、黄、シアン、マゼンタによって表現される場合、これら以外の一色(例えばオレンジ等)のみ)によってデザイン挿入領域311を構成すればよい)。
このように、デザイン挿入領域311における境界部分全体が、隣接するセルと比較して色彩、濃度、輝度の少なくともいずれかが異なるように構成されていると、デザイン挿入領域311と、これに隣接するセルとが明確に区別され、デザイン挿入領域311をより際立たせることができる。
また、図28、図29に示すように、デザイン挿入領域の一部が、矩形領域の境界部を構成していてもよい。なお、図28、図29の二次元コード320は、デザイン挿入領域の位置、形状が図26と異なるが、それ以外は図26と同一である。
図29に示すように、二次元コード320は、デザイン挿入領域321が白色領域として構成され、このデザイン挿入領域321の一部が矩形領域の境界部(第2境界部106d)に隣接するように配置されている。図28は、このような二次元コード320の使用例を示しており、デザイン挿入領域321内にコード領域の内外に跨る絵柄322の一部が描画されている。
図29の例では、エンドパターン144aの外縁からエンドパターン147の外縁まで結んだ線の位置が第2境界部106dとなっており、デザイン挿入領域321はこの第2境界部106dに達するように構成されている。なお、図28、図29では、デザイン挿入領域321の境界を符号106’で示している。
図29のように、デザイン挿入領域321の一部が矩形領域の境界部に達するように構成されていると、図28のように矩形領域の内外に跨るデザインを挿入しやすくなり、デザイン挿入の自由度が高められる。
また、図30のようにしてもよい。図30(a)は、図27(a)のデザイン挿入領域を変更した例を示しており、図30(b)はこのようなデザイン挿入領域の使用例を示している。この例では、デザイン挿入領域314がコードブロック10と重なるように配置され、且つデザイン挿入領域314の少なくとも一部において、当該デザイン挿入領域314と重なるコードブロック10の各セル領域が特定可能となっている。なお、図30では、デザイン挿入領域314内のセル構成のみを具体的に例示し、デザイン挿入領域314外の具体的セル構成は図示を省略している。
図30(a)では、デザイン挿入領域314と重なるコードブロック10を破線にて概念的に示しており、コードブロック10を構成するセルの一部がデザイン挿入領域314内においても特定しうるように配置されている。即ち、デザイン挿入領域314は、コードブロック10の一部を構成する領域であり、領域内がコードブロック10の各セルに対応したセル領域316に区分けされている。そして、各セル領域316がコードブロック10で表示すべきデータに対応した態様で構成され、これによって少なくとも一部のセル領域316が特定できるようになっている。
図30の例では、コードブロック10が暗色セルと明色セルとによって表現されており、デザイン挿入領域314内の複数のセル領域316の内、暗色セルとして示すべき領域については、当該領域の濃度を、デザイン挿入領域314外の暗色セルの濃度(例えば第1の特定パターン2の黒色セル濃度)よりも若干低くしている。一方、複数のセル領域316の内、明色セルとして示すべき領域については、デザイン挿入領域314外と同様白色で示している。このようにすると、デザイン挿入領域314の一部をデータ表示領域として兼用できるため、デザイン性を高めつつデータ表示領域を効果的に確保できる。
なお、上記の例では、デザイン挿入領域に挿入されるデザインとして音符絵柄等を例示したが、デザインはこれに限定されず、様々な図形、文字、記号、これらの組み合わせなど、様々なデザインを挿入できる。また、デザイン挿入領域の形状も、四角形状等に限定されず、円形、星型、ハート型等様々な形状とすることができる。また、いずれのデザイン挿入領域についても、当該デザイン挿入領域を明確に特定できるように、当該デザイン挿入領域の境界部分を太枠線や黒色以外の色彩の線で示すようにしてもよい。
また、上記デザイン挿入領域311、321、314は、誤り訂正コードブロック12によって誤り訂正がなされる領域として構成されている。例えば、デザイン挿入領域314は、コードブロック10の一部を構成する領域であり、各セル領域316が、コードブロック10で表示すべきデータに対応した態様で構成されているため、図30(a)のようにデザインが記録されていない状態では、コードブロック10の一部として読み取られることとなる。一方、図30(b)のようにデザインが記録されると、デザイン挿入領域314内の一部のセル領域がデータに対応した態様と異なる態様(即ち、誤り状態)となるため、読み取られる際に誤り訂正がなされることとなる。
また、図31のような構成であってもよい。図31の二次元コード330も、図7の二次元コード140の特徴を全て有しており、図7のコード領域の中央部に更なる特徴を付加したものとして構成されている。なお、図31の二次元コード330は、矩形領域内においてセルとは異なるデザインからなるデザイン部331が設けられている点が図7と異なり、それ以外は図7と同様である。よって図7と同様の部分については図7と同一の符号を付し、詳細な説明は省略する。
図31で表示されるデザイン部331は音符絵柄によって構成されており、コードブロック10の複数のセル位置に跨るように配置されている。このようにすると矩形領域内のデザイン性を効果的に高めることができる。
また、図31の例では、デザイン部331を黒色の音符絵柄によって構成したが、デザイン部331における全ての境界部分が、隣接するセルとは色彩、濃度、輝度の少なくともいずれかが異なるように構成されていてもよい。例えば、図31のデザイン部331を、コードブロック10で用いられない色のみ(例えば、コードブロック10の各セルが、黒、白、赤、緑、青、黄、シアン、マゼンタによって表現される場合、これら以外の一色(例えばオレンジ等)のみ)によって構成すると、デザイン部331とこれに隣接するセルとが明確に区別され、デザイン部331をより際立たせることができる。
また、図32のように、デザイン部341が矩形領域の内部と外部とに跨る構成で設けられていてもよい。このようにすると、矩形領域内のみならず矩形領域外をも利用してデザイン性を高めることができる。なお、図32の二次元コード340も、デザイン部341が設けられている点が図7と異なり、それ以外は図7と同様である。よって図7と同様の部分については図7と同一の符号を付し、詳細な説明は省略する。
また、図33の二次元コード345のように、デザイン部346をコードブロック10と重なるように配置し、デザイン部346の少なくとも一部において、当該デザイン部346と重なるコードブロック10の各セル領域を特定しうるように構成してもよい。図33では、デザイン部346と重なるコードブロックを破線10’にて概念的に示しており、コードブロック10を構成するセルの一部がデザイン部346内においても特定しうるように配置されている。
具体的には、デザイン部346は、コードブロック10の一部を構成する領域とされており、デザイン部346の領域内がコードブロック10の各セルに対応したセル領域に区分けされている。そして、デザイン部346内の少なくとも一部のセル領域がコードブロック10で表示すべきデータに対応した態様で構成され、これによって少なくとも一部のセル領域が特定できるようになっている。
図33の例では、コードブロック10が暗色セルと明色セルとによって表現されており、デザイン部346内のセル領域のうち、暗色セルとして示すべき領域については、当該領域の濃度を、デザイン部346外の暗色セルの濃度(例えば第1の特定パターン2の黒色セル濃度)よりも若干低くしている。一方、デザイン部346内のセル領域のうち、明色セルとして示すべき領域については、上記の暗色セルとして示すべき領域よりも相当濃度を低く設定している。このようにすると、暗色セルとして示すべき領域と、明色セルとして示すべき領域とが明確に区別され、デザイン部346内のセル領域を特定できるようになる。
このように、デザイン部346内の各セル領域(セルを表示する領域)をデータに対応した態様で構成すると、デザイン部346の一部をデータ表示領域として兼用でき、デザイン性を高めつつデータ表示領域を効果的に確保できる。
なお、上記の図31〜図33の例では、デザイン部の一例として音符絵柄等を例示したが、デザイン部の構成はこれに限定されず、様々な図形、文字、記号、これらの組み合わせなどを用いることができる。
[第12実施形態]
次に第12実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図1の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードでは、コードブロックのみが図1と異なっており、それ以外は図1と同様である。
本実施形態の二次元コードは、2進数でNビットの情報量となる解読対象データに、2進数でMビットの情報量となる誤り検出用データが付加されてなる複合データが、以下の式、XY−1<2N×2M<XYを満たすX種類のY個のセルで表現されるという特徴を有している。
解読対象データのビット数は様々に設定できるが、例えば、よく使われる8ビットごとにデータコードブロックを生成する場合、データコードブロック単位で表現できる情報は、白黒二値表現では、28=256までとなる。
上記のようなバイナリデータは、多色を用いてカラー表現することで必要となるセル数を減らすことができる。そこで検討すると、上記8ビットの情報(即ち、28=256の情報)を5色のセルで表現しようとした場合、例えば、3セル分で表現できる情報は53=125であるため、3セルでは256の情報(即ち8ビットのバイナリデータ)を表現できないことになる。一方、5色のセルを用いて4セル分で表現できる情報は、54=625であるため、8ビットのバイナリデータを5色のセルで表現しようとした場合、4セル分あれば表現できる。
一方、5色のセルを用いて4セル分で表現できる情報量は625であるため、図34(a)のような1ビットを加えた9ビットのバイナリデータも表現できるようになる(即ち、29(=512)<54(=625))。従って、本実施形態に係る発明では、2進数で8ビットの情報量となる解読対象データに、2進数で1ビットの情報量となる誤り検出用データが付加されてなる複合データを、5種類のセルで表現している。
なお、この関係を上記式に当てはめると、N=8、M=1、X=5であるため、5Y−1<28×21<5Yを満たすY個のセルで表現すればよく、これを満たすYは4であるため、上記説明の通りとなる。このようにすると、誤り検出を行い得るデータをより少ないセル数で効率的に表現できる。特に、各コードブロックごとに誤り検出を行うことができるようになる。
また、図34(b)では8色のセルを用いる場合を示しており、このような場合でも同様に必要セル数を求めることができる。図34(b)では、解読対象データが2進数で8ビットであり、誤り検出用データが2進数で1ビットであり、これらを結合した9ビットの複合データを8色のセルで表現する場合を示している。これを上記式に当てはめると、N=8、M=1、X=8であり、この場合、8Y−1<28×21<Yを満たすYの値(即ち3)が必要セル数として設定され、図34(b)のように3セル分で表現されることとなる。
なお、誤り検出用データは2ビット以上であってもよく、解読対象データは上記以外のビット数(例えば16ビット)であってもよい。
また、上記二次元コードは以下のような生成方法を用いて生成できる。なお、この生成方法を実現する生成処理はパーソナルコンピュータなどの情報処理装置において実行できる。当該生成処理では、まず、コード化すべき解読対象データを取得する処理を行う。この処理は「取得ステップ」の一例に相当し、例えば、上記情報処理装置に対し、ユーザによる入力装置を用いた入力、或いは外部装置からのデータ入力などが行なわれることで上記情報処理装置が解読対象データを取得する。
そして、第1の特定パターン及び第2の特定パターンのセル構成及び配置を定める処理を行う。この処理は、「特定パターン生成ステップ」の一例に相当し、例えば、ユーザが任意に型番を指定したときにその指定に応じた第1の特定パターン及び第2の特定パターン(例えば、図1に示すような第1の特定パターン2、第2の特定パターン3,4)を生成するようにしてもよく、取得したデータ量等に基づいて自動処理により第1の特定パターン及び第2の特定パターンを生成するようにしてもよい。
そして、「取得ステップ」で取得した解読対象データに基づいてコードブロックのセル構成及び配列を定める処理を行う。この処理は、「コードブロック生成ステップ」の一例に相当するものであり、図34を参照して上述したように、取得された解読対象データを、2進数でNビット(例えば8ビット)の情報量となるサイズに分けると共に、その分けられた各解読対象データそれぞれに、2進数でMビット(例えば1ビット)の情報量となる誤り検出用データを付加して各複合データを生成し、それら複合データを、以下の式、XY−1<2N×2M<XYを満たすX種類のY個のセルで表現するように、各コードブロックのセル構成及び配列を定める。なお、複合データを表現する種類数は、ユーザによって任意に入力できるようにしてもよく、予め決められた種類数を用いてもよく、型番ごとに種類数を設定しておき、型番が指定されたときにその指定に応じた種類数を用いるようにしてもよい。
そして、このようにして生成された複数のコードブロックが決められた順序及び配置(例えば指定された型番で決められた順序及び配置)に従ってコード領域内に配置されることとなる。
[第13実施形態]
次に第13実施形態について説明する。図35(a)〜(e)は、第13実施形態に係る二次元コードを概略的に説明する説明図である。図36は、エンドパターンの比率の和とコードサイズとの関係を説明する説明図である。図37は、二次元コードのサイズとエンドパターンの固有比率との関係を説明する説明図である。
なお、本実施形態の二次元コード410、420,430、440、450のいずれも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部のうち、第2の特定パターン3,4の配置側とは異なる第2境界部6c側、第2境界部6dにおいて、これら第2境界部6c、第2境界部6dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
一方、本実施形態の二次元コード410、420,430、440、450は、いずれも、第1の特定パターン2が配置された規定の角部5aと対角にある角部5dに、当該角部5dを示すエンドパターン417、427,437、447、457がそれぞれ配置されている。これらエンドパターン417、427,437、447、457は、いずれも、両方の第2境界部6c,6dに隣接しており、外縁によって矩形領域の角位置を示している。
更に、これら二次元コード410、420,430、440、450は、エンドパターン417、427,437、447、457に関し、コードサイズ毎の固有比率が予め規定されている。図37は、その規定例を示しており、例えば、9×9のサイズには1:1の比率が対応付けられており、11×11には1:2、13×13には2:2、15×15には1:3がそれぞれ対応付けられている。つまり、エンドパターンの比率が1:1であればそのサイズは9×9であることが特定でき、1:2であれば11×11であることが、2:2であれば13×13であることが特定できるようになっている。
また、これら固有比率は、エンドパターンの縦方向の長さと横方向の長さの比率(換言すれば縦方向のセル数と横方向のセル数の比率)を示すものであり、例えば図35(a)の9×9のサイズの二次元コード410は、単一の黒色セルによってエンドパターン417が構成されるため、縦横いずれも1セル分の長さであり、縦方向の長さと横方向の長さの比率は1:1となっている。なお、本実施形態ではエンドパターンが接する一方の境界部に沿った方向を縦方向とし、他方の境界部に沿った方向を横方向としている。
また、図35(b)の11×11のサイズの二次元コード420は、横に並ぶ2つの黒色セルからなるエンドパターン427が構成されるため、縦方向が1セル分の長さであり横方向が2セル分の長さであるため、縦方向の長さと横方向の長さの比率は2:1となっている。他のエンドパターン437、447、457も同様に比率が設定されている。
また、コードサイズ毎の固有比率を、コードサイズ毎に変わりうる変数C1、C2を用いてC1:C2と表したとき(但し、C1,C2は自然数)、コードサイズが大きくなるにつれ、それらC1とC2の和C1+C2が大きくなるように規定されている。例えば、図35(a)の二次元コード410のエンドパターン417の固有比率は、1:1であるため、C1=1で、C2=1であり、それらC1とC2の和C1+C2(以下、比率の和とも称する)は、2となっている。また、図35(b)の二次元コード420のエンドパターン427の固有比率は、1:2であるため、C1=1で、C2=2であり、それらC1とC2の和C1+C2は3となっている。
同様に各二次元コード430、440、450のエンドパターン437、447,457の比率の和C1+C2を求めると、それぞれ3、4、4であり、コードサイズが大きくなるにつれ、それらC1とC2の和C1+C2が大きくなるように規定されている。
また、19×19、21×21、23×23、25×25、27×27のサイズのエンドパターンは例えば図36のように構成でき、これらについても、コードサイズが大きくなるにつれ、比率の和C1+C2が大きくなるように規定されている。
なお、図36の例では、23×23、25×25のサイズのエンドパターンは、セルが矩形領域の角部境界に沿ってL字状に配置されたL字形状をなしている。このようにエンドパターンを構成すると、固有比率を認識しやすく、かつ矩形領域の角の境界を特定しやすい構成となる。
本実施形態の構成によれば、エンドパターンを、矩形領域のエンド位置の検出のみならず、コードサイズの検出にも利用できるようになる。また、コードサイズが大きくなるにつれ、比率の和C1+C2が大きくなるように規定されているため、コードサイズに応じた大きさのエンドパターンによって固有比率を示すことができ、小さいコードに大きすぎるエンドパターンが割り当てられてデータ領域が削減されるといったことがなく、データ領域を適切に確保しやすくなる。
請求項45の発明では、エンドパターンは、セルが矩形領域の角部境界に沿ってL字状に配置されたL字形状をなしている。
[第14実施形態]
次に第14実施形態について説明する。本実施形態に係る二次元コードは、上記実施形態で説明された二次元コードに更なる特徴を付加したものであり、以下では、図1の二次元コードに対し本実施形態に係る特徴を付加した例を説明する。なお、本実施形態の二次元コードは、図1の特徴を全て有しており、以下の説明では、適宜図1を参照して説明する。
図1に示すように、本実施形態の二次元コードも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部のうち、第2の特定パターン3,4の配置側とは異なる第2境界部6c側、第2境界部6d側において、これら第2境界部6c、第2境界部6dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
本実施形態のデータコードブロック11は、複数種類の記号が複数桁並んで表されるデータを符号化したものであり、そのデータは、記号の種類数をDとしたときに、以下の式、2F−1<DE<2F(但し、E,Fは自然数)を満たし、且つ、ビット変換率を示すF/Eの値が所定の低値となるE桁毎にバイナリ変換されている。そして、そのバイナリ変換後のビット列がデータコードブロック11によって表現されている。
例えば、「複数種類の記号」が10種類の数字であり、この10種類の数字が複数桁並んで表されるデータについては、2F−1<10E<2Fを満たし、ビット変換率を示すF/Eの値が最も小さくなるときのE桁毎にバイナリ変換される。
図38(a)は10種類の数字についての変換効率を示し、(b)は文字数と変換効率との対応関係をグラフ化して示すものであるが、この場合、3桁、6桁、9桁、のときが最も小さくなっている。このようにF/Eの値が最も小さくなる桁数の候補が複数あるときにはそのうちの最も小さい桁数(図38(a)の例では3桁)ごとにバイナリ変換される。
図39は、10種類の数字からなる文字列34567890が符号化の対象となるデータであるときのバイナリ変換を説明する説明図である。この例の場合、まず、「34567890」を、上記のようにして得られたE桁ごと(即ち3桁ごと)に区切り、その3桁ごとに区切った文字列をそれぞれバイナリ変換する。そして、3文字とはならない残りの文字列をバイナリ変換する。そして、それらのバイナリ変換後のデータをつなぎ合わせ、そのつなぎ合わされたバイナリ変換データの前に文字セット指示子と文字列数を付加する。本実施形態ではこのようにして生成されたバイナリ変換後のビット列がデータコードブロック11によって表現されている。
また、図40、図41のようにしてもよい。この例では、ビット変換率F/Eの値が最も小さくなるときの桁数Eの値をE1とし、ビット変換率F/Eの値が、E=E1のときに次いで小さくなるときの桁数EをE2とした場合(但し、0<E2<E1)、データはE1桁毎にバイナリ変換されると共に、E1桁未満の残余桁がE2桁毎にバイナリ変換され、それらバイナリ変換後のビット列がデータコードブロック11によって表現されている。
例えば、「複数種類の記号」が26種類のアルファベットであり、この26種類のアルファベットが複数桁並んで表されるデータについては、2F−1<26E<2Fを満たし、ビット変換率を示すF/Eの値が最も小さくなるときのE桁毎にバイナリ変換される。
図40(a)は26種類の数字についての変換効率を示し、(b)は文字数と変換効率との対応関係をグラフ化して示すものであるが、この場合、7桁のときが最も小さくなっており、7桁より小さい桁においては4桁が次に小さくなっている。このような場合、データは7桁毎にバイナリ変換され、7桁未満の残余桁は4桁毎にバイナリ変換される。
図41は、26種類の文字からなる文字列ABCRSTUVWXYZが符号化の対象となるデータであるときのバイナリ変換を説明する説明図である。この例の場合、各種類の文字が数字に対応付けられているため、まず、「ABCRSTUVWXYZ」の各文字を対応する数字に変換する。そして、それらを上記のようにして得られたE1桁ごと(即ち7桁ごと)に区切り、その7桁ごとに区切った文字列をそれぞれバイナリ変換する。
更に、7文字とはならない残余の文字列を上記のようにして得られたE2桁ごと(即ち4桁ごと)に区切り、バイナリ変換する。なお、更に残った文字についてはその残った桁数でバイナリ変換すればよい。
そして、それらのバイナリ変換後のデータをつなぎ合わせ、そのつなぎ合わされたバイナリ変換データの前に文字セット指示子と文字列数を付加する。本実施形態ではこのようにして生成されたバイナリ変換後のビット列がデータコードブロック11によって表現されている。
本実施形態の構成によれば、複数種類の記号が効率良くバイナリ変換されてデータブロック11が構成されることとなり、矩形領域により多くのデータを記録できるようになる。特に、ビット変換率F/Eの値が最も小さくなるE桁毎にバイナリ変換すると、D種類の記号をより効率的にビット列で表すことができる。
また、図40、図41の例では、ビット変換率F/Eの値が最も小さくなるE(=E1)桁ごとに効率的にバイナリ変換され、更に、E1桁未満の残余の桁についてもE2桁毎に効率的にバイナリ変換されるため、変換効率がより一層高まり、より一層効率的にデータを記録できる。
[第15実施形態]
次に第15実施形態について説明する。図42は、第15実施形態に係る二次元コードの要部を概略的に説明する説明図である。図43は、形式情報コードブロックを具体的に配置した例を説明する説明図である。図42、図43では、第15実施形態に係る二次元コードについて規定の角部5a側の一部の領域のみを拡大して示しており、それ以外の領域の図示は省略している。
本実施形態の二次元コード500も、コードブロックとして、誤り訂正を行うための誤り訂正コードブロック(第1実施形態等と同様の誤り訂正コードブロック)が含まれており、矩形領域の境界部のうち、第2の特定パターン503,504の配置側とは異なる第2境界部側(図示略)において、これら第2境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。なお、図42、図43では、データコードブロックや誤り訂正コードブロックの具体的図示は省略している。
本実施形態の二次元コード500では、同一種類の複数Cのセルが矩形状に配置されることでセルCを大型化した大型基本単位が構成されている。具体的には、二次元コード500内において図42(b)に示すような白色セルCw及び黒色セルCbが配置されており、白色セルCwが2行2列で配置されて図42(c)のような白色の大型基本単位が構成され、黒色セルCbが2行2列で配置されて図42(d)のような黒色の大型基本単位508が構成されている。これら大型基本単位とセルとは互いに相似の関係となっており、白色セルCwと図42(c)の白色の大型基本単位とが相似形(具体的には縦横それぞれ2倍とした相似形)とされ、黒色セルCbと図42(d)の黒色の大型基本単位とが相似形(縦横それぞれ2倍とした相似形)とされている。
このような大型基本単位は、第1の特定パターン502及び第2の特定パターン503に用いられている。即ち、本実施形態に係る二次元コード500では、第1の特定パターン502が、複数の大型基本単位の組み合わせによって構成されており、第2の特定パターンも大型基本単位の組み合わせによって構成されている。
第1の特定パターン502は、中心に黒色の大型基本単位502aが配置され、この周囲を8つの白色の大型基本単位が環状かつ矩形状に囲んでいる。なお、図42(a)では、その8つの白色の大型基本単位の内の1つを破線502bにて概念的に示している。更に、その8つの白色の大型基本単位の外側を黒色の大型基本単位が環状且つ矩形状に囲んでおり、それが最外周を構成している。
また、第2の基本パターン503は、第1の特定パターン502側に隣接して白色の大型基本単位503aが配置され、それに隣接して黒色の大型基本単位503bが配置されるといった形態で、これら白色の大型基本単位503a及び黒色の大型基本単位503bが第1境界部106aに隣接して交互に並んでいる。第2の基本パターン504は、第1の特定パターン502側に隣接して白色の大型基本単位504aが配置され、それに隣接して黒色の大型基本単位504bが配置されるといった形態で、これら白色の大型基本単位504a及び黒色の大型基本単位504bが第1境界部106bに隣接して交互に並んでいる。
また、二次元コード500内において、第1の特定パターン502、第2の特定パターン503に隣接する位置、及び、第1の特定パターン502、第2の特定パターン504に隣接する位置にそれぞれ形式情報ブロック509が配置されている。この形式情報ブロックは、二次元コード500の型番情報や誤り訂正レベルなどの形式情報を表すものであり、本実施形態ではこの形式情報ブロック509が複数の大型基本単位によって構成されている。図43ではその構成例を示しており、複数の白色の大型基本単位509aと、複数の黒色の大型基本単位509bとによって形式情報ブロック509が構成され、形式情報が表されている。
上述の通り、図42の例では、第1の特定パターン502及び第2の特定パターン503、504のいずれもが大型基本単位の組み合わせによって構成されているが、これら第1の特定パターン502、第2の特定パターン503,504、及び形式情報ブロック509のそれぞれの大型基本単位は全て同一サイズで構成されている。
なお、図42等では白色セルCwや黒色セルCbが2行2列で配置されて大型基本単位が構成されていたが、大型基本単位の構成はこれに限られない。例えば白色セルCwや黒色セルCbを3行3列で配置して大型基本単位を構成してもよい。
本実施形態の構成では、同一種類の複数のセルを矩形状に配置してセルを大型化した大型基本単位が設けられ、第1の特定パターン502が複数の大型基本単位の組み合わせによって構成されている。このようにすると、第1の特定パターン502をより認識しやすい構成とすることができる。
例えば、矩形領域内に配置されるセル数が多くなるにつれ、矩形領域に対してセルが相対的に小さくなるが、このような相対的に小さいセルによって第1の特定パターンを構成した場合、第1の特定パターンの認識不良を招く懸念がある。しかしながら、上記のような大型基本単位の組み合わせによって第1の特定パターン502を構成すれば、第1の特定パターンを良好に認識できるようになり、ひいては二次元コード500の読取精度向上を図ることができる。
また、第2の特定パターン503、504も大型基本単位の組み合わせによって構成されている。このようにすると、第1の特定パターン502だけでなく第2の特定パターン503、504をも認識しやすい構成とすることができる。
また、大型基本単位とセルとが互いに相似の関係となっている。このように、大型基本単位をセルと相似関係にあるシンプルな形状とすることで、大型基本単位を認識するための複雑な読取方式を設けずに済み、読取構成を簡素化できる。
また、二次元コード500の形式情報を表す形式情報ブロック509を有し、この形式情報ブロック509が複数の大型基本単位によって構成されている。このようにすると、形式情報ブロック509を表現する単位を大型化することができるため、形式情報ブロック509を、認識しやすく、汚れ等に強い構成とすることができ、これにより、重要性の高い形式情報を良好に読み取ることができるようになる。
また、形式情報ブロック509が第1の特定パターン502及び第2の特定パターンの503,504の少なくともいずれか(図42では両方)に隣接して配置されている。このようにすると、第1の特定パターン502或いは第2の特定パターン503、504を認識した後にそれに隣接する形式情報ブロック509を迅速に検出することができ、読み取りの迅速化を図ることができる。
また、第1の特定パターン502及び第2の特定パターン503,504のいずれもが大型基本単位の組み合わせによって構成されており、第1の特定パターン502、第2の特定パターン503、504、及び形式情報ブロック509のそれぞれの大型基本単位が全て同一サイズで構成されている。このようにすると、第1の特定パターン502、第2の特定パターン503,504、形式情報ブロック509の全てを、同一サイズの大型基本単位の組み合わせとして読み取ることができるため、これら全ての認識精度の向上を図りつつ読み取り方式を複雑化せずに済む。
[第16実施形態]
次に第16実施形態について説明する。図44は、第16実施形態に係る二次元コードの要部を概略的に説明する説明図である。図44では、第16実施形態に係る二次元コードについて規定の角部5a側の一部の領域のみを拡大して示しており、それ以外の領域の図示は省略している。
本実施形態の二次元コード510も、コードブロックとして、誤り訂正を行うための誤り訂正コードブロック(第1実施形態等と同様の誤り訂正コードブロック)が含まれており、矩形領域の境界部のうち、第2の特定パターン513,514の配置側(即ち第1境界部6a、6b側)とは異なる第2境界部側(図示略)において、これら第2境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。なお、図44では、データコードブロックや誤り訂正コードブロックの具体的図示は省略している。
本実施形態の二次元コード510は、コードブロックとして、所定種類の第1データを表す第1データコードブロックと、第1データとは種類の異なる第2データを表す第2データコードブロックとを有している。そして、第1の特定パターン2寄りに第1データコードブロックを配置する第1領域511が設けられ、第1領域511よりも第1の特定パターン2から離れた位置に、第2データコードブロックを配置する第2領域512が設けられている。
第1のデータ及び第2データについては様々な組み合わせを用いることができる。例えば、型番情報や誤り訂正レベルなどの情報を含んだ形式情報を第1データとし、形式情報以外のデータを第2データとすることができる。この場合、形式情報データブロックが第1領域511に配置され、それ以外のデータを表すコードブロック(例えば解読対象となるデータを表すデータコードブロックや誤り訂正コードブロックなど)が第2領域512に配置されることとなる。
また、第1データ及び第2データをいずれも解読対象となるデータとし、第1データを、第2データよりも誤り訂正レベルが高く設定されたものとすることができる。この場合、第1領域511には、誤り訂正レベルが高く設定されたデータを表すデータコードブロックが配置され、第2領域512には、第1データよりも誤り訂正レベルが低く設定された第2データを表すデータコードブロックが配置されることとなる。
本実施形態では、第1の特定パターン2寄りに第1データコードブロックを配置する第1領域511が設けられ、第1領域511よりも第1の特定パターン2から離れた位置に、第2データコードブロックを配置する第2領域512が設けられている。このようにすると、基準となる第1の特定パターン2寄りに配置される第1データコードブロックの読み取りの精度を、それよりも離れた第2データコードブロックの読み取りの精度よりも高めることができ、第1データコードブロックが重要なデータである場合などにおいて有利となる。例えば、第1データが第2データよりも誤り訂正レベルが高く設定されている場合、誤り訂正レベルの高い重要なデータの読み取りの精度を効果的に高めることができる。或いは、第1データが形式情報を示すデータであり、第2データが形式情報以外のデータによって構成されている場合、読み取りの正確性、迅速化を図る上で必要となる形式情報を確実性高く読み取ることができるようになる。
[第17実施形態]
次に第17実施形態について説明する。図45は第17実施形態に係る二次元コードを概略的に説明する説明図である。図45の二次元コード520は、図8の特徴を全て有しており、図8の構成に更なる特徴を付加したものとされている。なお、図8と同様の構成については図8と同一の符号を付し、詳細な説明は省略する。
なお、本実施形態の二次元コード520でも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部のうち、第2の特定パターン143,144の配置側とは異なる第2境界部106c側、第2境界部106dにおいて、これら第2境界部106c、第2境界部106dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
二次元コード520に設けられるコードブロック10は、図8で説明したように、有彩色を含む複数の表示色(具体的には8色)によって情報が表現されている。
一方、二次元コード520矩形領域内には、当該矩形領域よりも小さい第2の二次元コード521が配置されている。この第2の二次元コード521は、図7の二次元コード140と同一の構成をなしており、複数種類の無彩色(具体的には黒色と白色)によって情報が表されている。また、第2の二次元コード521が配置された領域は、誤り訂正コードブロック12によって誤り訂正がなされる領域として構成されている。
本実施形態のようにすると、有彩色の読み取りを行い得る光学的情報読取装置(カラーセンサを搭載したコードリーダ等)を用いたときには、矩形領域のコードブロック10、又は矩形領域のコードブロック10及び第2の二次元コード521の両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、第2の二次元コード521を読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。
また、矩形領域における第2の二次元コード521が配置された領域が、誤り訂正コードブロック12によって誤り訂正がなされる領域として構成されている。このようにすると、矩形領域内に第2の二次元コード521を設けつつ、矩形領域内のデータの解読を良好に行い得る構成となる。
また、図46のようにしてもよい。図46の二次元コードは、図7の特徴を全て有しており、図7の構成に更なる特徴を付加したものとされている。なお、図7と同様の構成については図7と同一の符号を付し、詳細な説明は省略する。
なお、本実施形態の二次元コード530でも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部のうち、第2の特定パターン143,144の配置側とは異なる第2境界部106c側、第2境界部106dにおいて、これら第2境界部106c、第2境界部106dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
二次元コード530のコードブロック10は、図7でも説明したように、複数種類の無彩色(具体的には白色と黒色の二色)によって情報が表されている。
一方、二次元コード530の矩形領域内には、当該矩形領域よりも小さい第2の二次元コード531が配置されている。この第2の二次元コード531は、図20の二次元コード280と同一の構成をなしており、有彩色を含む複数の表示色(具体的には8色)によって情報が表されている。
このようにすると、有彩色の読み取りを行い得る光学的情報読取装置(カラーセンサを搭載したコードリーダ等)を用いたときには、第2の二次元コード521、又は第2の二次元コード521及び矩形領域のコードブロック10の両方を読み取ることができ、無彩色の読み取りを行う光学的情報読取装置であっても、矩形領域のコードブロック10を読み取ることができるようになる。即ち、各種類の光学的情報読取装置に対し、それぞれの種類に応じた情報を与えることができる。なお、図45の例でも、第2の二次元コード531が配置された領域は、誤り訂正コードブロック12によって誤り訂正がなされる領域として構成されている。
[第18実施形態]
次に第18実施形態について説明する。図47(a)は第18実施形態に係る二次元コードを概略的に説明する説明図である。図47(b)は、マスクパターンを例示する説明図であり、図47(c)は、マスク処理が施される領域を説明する説明図である。
本実施形態の二次元コード540でも、コードブロック10として、誤り訂正を行うための誤り訂正コードブロック12が含まれており、矩形領域の境界部のうち、第2の特定パターン543,544の配置側とは異なる第2境界部106c側、第2境界部106dにおいて、これら第2境界部106c、第2境界部106dに隣接する位置にそれぞれ誤り訂正コードブロック12が配置されている。
更に、二次元コード540は、コードブロック10に対し、予め規定された1種類のマスクパターンを用いたマスク処理が施されている。図47(b)はその1種類のマスクパターンを例示するものであり、このマスクパターンを用いたマスク処理が、図47(c)のように、機能パターンを除いた領域(即ち、第1の特定パターン2、第2の特定パターン543、544、第3の特定パターン545、546、エンドパターン547を除いた領域)に施されている。
なお、特定のマスクパターンを用いてマスク処理を施す方法、或いはマスク処理が施された二次元コードからマスクを解除する方法についてはQRコード等の二次元コードの分野では公知であるので詳細は省略する。
本実施形態の構成によれば、誤り訂正コードブロック12以外のデータコードブロックにおいて、背景色と色彩、濃度、輝度が同一のセル(例えば白色セル)を連続させにくくすることができる。例えば図47(a)のような構成の場合、誤り訂正コードブロック12の位置では境界部を良好に特定できるがデータコードブロック11の位置において特定不良となる虞がある。しかしながら、マスク処理を用いると、このようなデータコードブロック11についても背景との区別に用いることができる。また、予め規定された1種類のマスクパターンを用いているため、どのようなマスクパターンが使用されるかを特定する情報(マスク情報)をコード領域内に設ける必要がなく、マスク情報以外の他データの記録量を削減することもない。
なお、境界部に隣接する誤り訂正コードブロック12を圧縮データコードブロック13に変更した構成においても同様の効果が得られる。
[第19実施形態]
次に第19実施形態について説明する。図48及び図49は、本実施形態に係るプログラムによって表示される内容を説明する説明図である。
本実施形態に係る発明は、上述した二次元コードを表示させるコンピュータ読み取り可能なプログラムであり、表示装置、CPU、記憶手段(ROM、RAM、HDD等)等を備えたコンピュータ(例えばパーソナルコンピュータ等)に対し、図48(a)〜(d)及び図49(a)〜(e)のような表示を実行させるように構成されている。なお、本実施形態では、図48(a)〜(d)及び図49(a)〜(e)の表示を行わせるステップが「表示ステップ」の一例に相当している。
本実施形態に係るプログラムによって行われる表示処理では、まず図48(a)のような表示を行うステップが実行される。このステップでは、後述する二次元コード800の第1の特定パターン2及び第2の特定パターン803,804が表示され、更にコード領域を特定しうる表示がなされる。具体的には、二次元コード800が表示されるべき領域を背景と異なる色彩等によって表示している。
その後、図48(b)(c)のように、コード領域内において動画(ここでは新幹線が移動する動画)を表示するステップが実行される。なお、このステップは、「デザイン動画表示ステップ」の一例に相当し、二次元コードの表示領域内にセルとは異なるデザインからなるデザイン動画を表示させるステップとされている。なお、この処理では、二次元コードの表示領域のうち、第1の特定パターン2及び第2の特定パターン803,804を表示する特定パターン表示領域以外の領域にデザイン動画を表示させている。
その後、図48(d),図49(a)(b)(c)のように、二次元コード800を徐々に表示させるステップが行われる。このステップは、「コード動画表示ステップ」の一例に相当し、二次元コード800を動画の一部として表示させるステップとされている。なお、この処理では、二次元コード800を動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させる。例えば、図49(b)のような表示状態で数秒表示を維持させる。なお、その後においても、図49(c)〜(e)のようなデザイン動画が表示されるようになっている。
なお、本明細書で説明されるいずれの二次元コードについても上記二次元コード800と同様に動画表示することができ、いずれの場合でも、コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれ、矩形領域の境界部のうち、第2の特定パターンの配置側とは異なる第2境界部側において、これら第2境界部に隣接する位置にそれぞれ誤り訂正コードブロックが配置されている。或いは、コードブロックとして圧縮データコードブロックが含まれ、第2境界部に隣接する位置にそれぞれ圧縮データコードブロックが配置される二次元コード(図5等)を上記の二次元コード800と同様に動画表示してもよい。
本実施形態に係る発明は、二次元コードの表示領域内にデザイン動画を表示させる「デザイン動画表示ステップ」を有している。このようにすると、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを良好に表示でき、更に、二次元コードのデザイン性をより一層高めることができる。
また、二次元コードの表示領域のうち、第1の特定パターン及び第2の特定パターンを表示する特定パターン表示領域以外の領域にデザイン動画を表示させている。このようにすると、動画表示によってデザイン性を高めつつ、その一方で、第1の特定パターン及び第2の特定パターンについては形状を正確に特定しやすい表示とすることができるため、第1の特定パターン或いは第2の特定パターンの認識不良に伴う読み取り精度低下を効果的に抑えることができる。
さらに、二次元コードを動画の一部として表示させた後、その表示状態を少なくとも一定時間維持させている。このようにすると、二次元コードの動画表示によって装飾性を高めることができ、動画表示後には表示状態が一定時間維持されるため読み取りを良好に行うことができるようになる。
[第20実施形態]
次に第20実施形態について説明する。図50は、本実施形態に係る生成方法を実現する二次元コード生成処理を例示するフローチャートである。また、図51は、暗セルが多い二次元コードを例示する説明図であり、図52は、明暗反転後の二次元コードを説明する説明図である。
図50の処理は、CPU、記憶手段(ROM、RAM、HDD等)等を備えた情報処理装置(例えばパーソナルコンピュータ等)によって実行されるものである。当該処理では、まず、コード化すべき解読対象データを取得する処理が行われる(S501)。この処理は、「取得ステップ」の一例に相当し、例えばユーザによる入力装置を用いた入力、或いは外部装置からの入力などによって解読対象となるデータ(即ち符号化すべきデータ)が上記情報処理装置にて取得される。
その後、特定パターンを設定する処理を行う(S502)。この処理は、第1の特定パターンや第2の特定パターンなどを設定する処理であり、例えばユーザによる型番の指定や、或いはデータ量に応じた自動的な型番指定などによって型番が決定され、第1の特定パターン、第2の特定パターンが設定される。なお、S502の処理は、「特定パターン設定処理」の一例に相当し、当該ステップにより、第1の特定パターン及び第2の特定パターンのセル構成及び配置が定められることとなる。
その後、コードブロックを生成する処理が行われる。この処理では、S501で取得した解読対象データがバイナリデータに変換され、そのバイナリデータによってコードブロックのセル構成及び配列が定められる。
更に、S502、S503で得られた第1の特定パターン、第2の特定パターン、及びコードブロックに基づいて、矩形領域における明色セルと暗色セルとの比率を算出する(S504)。なお、この処理は、「比率算出ステップ」の一例に相当する。この処理では、S502、S503で得られた第1の特定パターン、第2の特定パターン、及びコードブロックを矩形領域(コード領域)内に配置して二次元コードを生成したときの明色セルのセル数と、暗色セルのセル数とをそれぞれ算出する。
そして、S504での算出結果に基づき、矩形領域内において暗色セルの比率が明色セルの比率よりも多いか否かを判断する(S505)。なお、S505の処理は、「判断ステップ」の一例に相当する。
S505の「判断ステップ」において、暗色セルの比率のほうが多いと判断された場合には、S505にてYesに進み、明暗を反転する反転処理を行う(S506)。なお、S506の処理は、「反転ステップ」の一例に相当し、特定パターン生成ステップ(S502)及びコードブロック生成ステップ(S503)によって得られた矩形領域において明色セル及び暗色セルを反転した反転コードが生成される。
例えば、S502、S503の処理よって得られた第1の特定パターン、第2の特定パターン、及びコードブロックによって図51(a)のような矩形領域が構成される場合、当該矩形領域内において暗色セルの比率のほうが大きいため、S505にてYesに進み、図52(a)のように明暗を反転する。この反転処理では、矩形領域と共に、当該矩形領域に隣接するマージン領域の明色セル及び暗色セルをも反転している。具体的には矩形領域に隣接する1セル幅分のマージンを確保し、矩形領域の明暗の反転と共にこのマージン領域の反転をも行う(図51(a)、52(a)参照)。
図51(b)では、ダイレクトマーキングで形成する二次元コードを例示している。なお、図51(b)では、矩形領域内におけるダイレクトマーキングで形成すべきマーキングポイント(暗色セル部分)を黒色で示している。S501、S502、S503の処理によってこのような二次元コードが構成された場合、S504、S505で暗色セルの比率が大きいと判断されるため、図52(b)のように明暗を反転してマーキングポイントを減らすことができる。
反転処理(S506)の後、或いはS505にてYesに進む場合には、出力処理が行われる(S507)。この出力処理では、得られた二次元コードの画像データが表示画面や外部装置に出力される。なお、このような出力処理を行わず、反転後のデータを記憶手段に記憶しておいてもよい。
本実施形態の発明によれば、より多くのデータを記録でき、かつ矩形領域の正確な特定を可能とする二次元コードを良好に生成できる。特に、矩形領域において暗色セルの比率のほうが多い場合に、明色セルと暗色セルとを反転した反転コードを生成しているため、同一のデータ内容の二次元コードを、暗色セルを抑えて生成することができる。これにより、暗色セルを形成する時間や処理の削減を図ることができる。例えば、ダイレクトマーキングにより二次元コードを形成する場合には、ドットピンやレーザ光などで暗色セルを形成する時間や処理を削減することができる。
また、反転ステップにおいて、矩形領域と共に、当該矩形領域に隣接するマージン領域の明色セル及び暗色セルを反転している。このようにすると、暗色セルによって明色の背景と分離しようとする構成、或いは明色セルによって暗色の背景と分離しようとする構成のいずれについても、反転後において矩形領域と背景とを良好に分離できるようになる。
[第21実施形態]
次に第21実施形態について説明する。図53は、第21実施形態に係る方法を実現するための認証システムを概略的に例示するブロック図である。図54は、二次元コード生成、送信処理の流れを例示するフローチャートである。図55は、認証処理の流れを例示するフローチャートである。
図53で示される認証システム900は、送受信端末901、認証装置902、確認端末905を備えており、上記実施形態で説明されたいずれかの二次元コードを用いて被認証者の認証を行うように構成されている。
送受信端末900は、携帯電話機等の携帯端末として構成されており、入力手段としての各種キーや表示装置(例えば液晶表示装置)を備えている。
認証装置902は、CPU、ハードディスクドライブ等の記憶手段、通信手段などを備えたコンピュータによって構成されており、データベースを備えると共に携帯端末901と通信可能に構成されている。
確認端末905は、コード読取手段としての二次元コード読取装置903と、コンピュータ904とを備えており、認証装置902と通信可能に構成されている。
このシステム900では、まず、被認証者が送受信端末901の入力手段(例えばキーボード)にて個人情報(例えば、生年月日、血液型、趣味、嗜好、アレルギーなど)を入力することに応じて、当該送受信端末901により、これら個人情報と送受信端末1の端末ID(発信者番号)と対応付けてなる被認証者情報を認証装置902に送信する処理が行われる。なお、送受信端末901による当該処理が「送信ステップ」の一例に相当する。
その後、認証装置902により図54の処理が行われる。この処理では、まず、発信者番号(端末ID)と入力情報(個人情報)が受信される(S10)。そして、その発信者番号が登録済みか否かを判断する(S11)。その発信者番号に係る者が正規の顧客として顧客データベースに登録されている場合には、S11にてYesに進み、二次元コードを生成する処理を行う(S12)。この処理では、送受信端末901から送られてきた発信者番号(端末ID)と入力情報(個人情報)とをデータとして含んだ二次元コードを生成する。そして、その二次元コードを送受信端末901に送信する(S13)。
なお、S10、S11の処理が、「確認ステップ」の一例に相当し、送信ステップによって送信された被認証者情報を受信し、且つ被認証者情報にて特定される被認証者がデータベースに登録されているか否かを確認する処理とされている。
また、S12、S13が「返信ステップ」の一例に相当し、被認証者情報にて特定される被認証者がデータベースに登録されていた場合に、被認証者情報を含んだ二次元コードを生成し、且つ当該二次元コードを送受信端末に返信する処理とされている。
送受信端末901は、認証装置902から送られてきた二次元コードを受信すると、その二次元コードを当該送受信端末901内のメモリに記憶しておく。これにより、必要に応じて二次元コードを読み出すことができるようになる。なお、携帯端末901が返信された二次元コードを取得し、メモリ内に記憶する処理は「記憶ステップ」の一例に相当する。
一方、送受信端末901を有する被認証者が店舗で認証を受けるには、まず、被認証者が送受信端末901の入力手段に対して所定の確認操作を行う必要がある。例えば、送受信端末901に対して所定のキー操作を行い、上記のようにメモリに記憶された二次元コードを当該送受信端末901の表示装置に表示する。なお、所定のキー操作に応じて送受信端末901の表示装置に二次元コードを表示させる処理が「表示ステップ」の一例に相当する。
このように送受信端末901に表示される二次元コードは、店舗に設けられた二次元コード読取装置903によって読み取られる。なお、このような読取処理(即ち、二次元コード読取装置903(コード読取手段)によって送受信端末901の二次元コードを読み取る処理)が「読取ステップ」の一例に相当する。
送受信端末901の二次元コードを読み取った確認端末905は、認証装置902に対して問い合わせを行う。具体的には読み取った二次元コードに記録される発信者番号(端末ID)が確認端末905から認証装置902に対して出力され、それに応じ、認証装置902において図55のような認証処理が行われる。この処理ではまず確認端末905から送られてきた発信者番号(端末ID)を受信し(S20)、その発信者番号(端末ID)が適正なものか否かを判断する(S21)。図53の認証装置902では、二次元コードを生成した顧客が二次元コード生成者データベースとしてデータベース化されており、このデータベースに送られてきた発信者番号が登録されているか否かを判断する。発信者番号がデータベースに登録され、適正なものである場合には、S21にてYesに進み、確認端末905に対し認証信号を出力する(S22)。一方、適正なもので無い場合にはS21にてNoに進み、認証を行わずに当該処理を終了する。
確認端末905は、認証装置902に対して発信者番号(端末ID)を送信した後、図56のような処理が行われる。当該処理では、まず認証信号を受信する処理を行い(S30)、認証が正常になされたか否かを判断する(S31)。認証が正常になされた場合にはS31にてYesに進み、二次元コード内容や商品情報を表示する。例えば、二次元コードに記録される上記個人情報(趣味、嗜好、アレルギーなど)を表示し、その趣味や嗜好に合致した商品情報を表示する。一方、認証が正常になされていない場合にはS31にてNoに進み、エラー表示をする(S33)。
なお、S30、S31の処理は、読取ステップにて読み取られた二次元コードが認証装置902にて発せられた正規のものであるか否かを判断する処理であり、「判断ステップ」の一例に相当する。また、S32の処理は、二次元コードが正規のものであると判断された場合に所定の認証後処理を行うものであり、「認証後ステップ」の一例に相当する。なお、ここでは、個人情報や個人情報に合致した商品情報を表示する処理が「所定の認証後処理」の一例に相当する。また、二次元コードが正規のものであると判断された場合に被認証者に対して認証信号を送信するようにし、これを「所定の認証後処理」としてもよい。
なお、図53の構成を図57のように変更してもよい。図53では、認証装置902において、二次元コードを生成した者のデータベース(二次元コード生成者データベース)が設けられており、確認端末905から認証装置902に対して発信者番号を送信して問い合わせを行っていたが、図57では、S12、S13で生成、送信した二次元コード自体のデータベースを設けており、確認端末905は、送受信端末901から取得した二次元コードについての二次元コード信号(例えば二次元コードの固有情報)を送信し、問い合わせを行うようにしている。この場合、認証装置902では、問い合わせに係る二次元コードが既に二次元コードデータベースに登録されている場合にはS21にて適正と判断し、そうでない場合には適正と判断しないこととなる。
本実施形態の構成によれば、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを用いて被認証者の認証を行うことができる。特に、より多くのデータを記録できる二次元コードを用いているため、二次元コードに記録する被認証者情報の自由度が高まり、例えば、より詳しい被認証者情報を二次元コードに記録して認証を行うといったことが可能となる。
[第22実施形態]
次に第22実施形態について説明する。図58は、第22実施形態に係る方法を実現するための情報提供システム920で行われる情報提供の仕組みを説明する説明図である。図59は、情報提供システム920の構成を概略的に説明する説明図である。
情報提供システム920は、上記いずれかの実施形態の二次元コードが付された複数種類の広告媒体(例えば、雑誌、チラシ、ポスター等)と、携帯端末921と、サーバ923と、を用いて利用者に情報を提供するシステムとして構成されている。
携帯端末921は、液晶表示器等の表示手段と、二次元コードリーダ等の読取手段とを備え且つ通信網(ここではインターネット)に接続可能に構成されている。なお、ここでは携帯端末921として携帯電話機とPDAを例示している。
サーバ923は、データベースを構築しうる情報処理装置として構成されており、このサーバ923も通信網(ここではインターネット)に接続されている。
さて、このシステム920を利用したい広告依頼主は、サーバ923(情報センター)に広告対象の商品やサービスの詳細情報を登録しておく、情報センターでは、広告依頼主からサーバ923に所定の情報(商品やサービスの詳細情報)が登録された場合、広告依頼主に対し広告内容識別情報を付与する。この広告内容識別情報は、例えば図62(a)のような構成をなしており、広告を識別するための情報(広告識別情報)と情報センターに接続するための接続情報とが含まれている。なお、広告依頼主は、情報センターから付与された広告内容識別情報が示す二次元コードを広告媒体に印刷するように広告代理店や出版社などの広告主に対し依頼する。これにより、広告媒体に印刷された二次元コードと、情報センターのサーバ923に登録された内容とを対応付けることができる。
次に、図60を参照し携帯端末の動作について説明する。図60の処理は、携帯端末921において所定の開始条件が成立(例えば電源投入等)することで開始され、開始に伴いOFFタイマを始動させる処理が行われる(S101)。所定時間が経過し、OFFタイマがタイムアップとなったときにはS102にてYesに進み、当該処理を終了する終了処理を行う(S114)。また、タイムアップではなくても、終了操作がなされた場合にはS103にてYesに進み、同様に終了処理を行う(S114)。
また、接続操作がなされた場合にはS104にてYesに進み、S109以降の処理を行う。一方、接続操作がなされていない場合にはS104にてNoに進み、読出操作が行われたか否かを判断する(S105)。S105の処理は、既に解読されているデータを読み出す操作が行われたか否かを判断する処理であり、既にいずれかの二次元コードの解読がなされ、この解読データを読み出す指示が行われた場合にはS105にてYesに進み、蓄積されている解読データを読み出す(S108)。
また、読出操作がなされていない場合にはコードの読み取り操作が行われたか否かを判断し(S106)、読み取り操作が行われた場合にはS106にてYesに進み、S107のコード読取処理を行う。読み取り操作が行われていない場合にはS106にてNoに進みS102以降の処理を繰り返す。
例えば、雑誌などの広告媒体を見て商品やサービスに関する情報を入手したい場合、S106の操作を行って広告媒体に付された二次元コードを読み取ればよい。S107のコード読取処理は、例えば図61のような流れで行われ、まず、広告に付された二次元コードの画像が取得される(S201)。そして、その画像においてコード領域が存在するか否か(即ちコード領域を認識できるか否か)を判断する。コード領域が存在する場合には、コード領域を確定させ(S203)、コード領域のデータセルをデータビット列に変換する(S204)。そして、データビット列の誤り検査を行うと共に、誤りが存在する場合には誤り訂正データに基づいて誤り訂正処理を行う(S205)。そして、データビット列を文字コードに変換し、デコードデータを得る。(S206)
なお、S107の処理が「読取ステップ」の一例に相当し、広告利用者が携帯端末921を用いて広告媒体に付された二次元コード925の読取操作を行ったときに、携帯端末921の読取手段により、広告媒体に付された二次元コードを読み取るステップとされている。
一方、図60のS104において接続操作がなされた場合には、S104にてYesに進み、サーバ923(情報センター)への接続を行う(S109)。本実施形態では、二次元コード925に記録される広告内容識別情報には、情報センターによって管理される広告サイト(二次元コードに係る広告主が広告を提供するサイト)に接続するための接続情報が記録されているため、この接続情報に基づいて、サーバ923(情報センター)に接続する(S109)。接続情報としては、例えば、サーバ923に設定されたウェブサイトのURLが記録されており、インターネットを介してこのURLにアクセスする。
更に、サーバ923(情報センター)から広告識別コード及び媒体識別コードの送信を促す情報を受信する(S110)。本実施形態では、二次元コード925の広告識別情報において、図62(a)のように、広告識別コード、媒体識別コード、識別フラグが記録されており、S111ではこれら広告識別コード、媒体識別コードをサーバ923(情報センター)に送信する。なお、広告識別情報は、広告の種別(広告内容、及び広告地域を示す情報)を識別するための情報であり、媒体識別情報は広告媒体を識別するものであり媒体に固有のコードである。なお、識別フラグは、広告識別情報と接続情報とを区別するためのフラグである。
なお、S104、S111の処理が、「接続ステップ」の一例に相当し、読取ステップにて読み取られた二次元コードの接続情報に従ってサイトにアクセスし、且つサーバ923に対し当該二次元コードに含まれる広告内容識別情報を送信するとされている。
そして、情報センターから広告識別コードに対応する詳細情報と、アクセス履歴情報とを取得する。この詳細情報は広告識別コードに対応する具体的な広告やサービスについての情報であり、これにより利用者(携帯端末使用者)は有益な情報を得ることができる。
また、サーバ923は、携帯端末固有のIDに基づいて各ID毎にアクセス履歴を記録しており、S112ではこのようなアクセス履歴も送信している。S112の後には受信した詳細情報やアクセス履歴を携帯端末921の画面に表示する処理が行われる。
このように、サーバ923(情報センター)には携帯端末からのアクセス毎にアクセス情報が集積される。サーバ923においては、広告依頼主ごとにアクセス情報が蓄積されるようになっており、集計期間が終了したときに,広告依頼主に対して製品毎,さらには同一の製品であっても広告媒体毎,さらには同一の広告媒体であっても内容毎のアクセス数と利用者が商品を購買に至ったかどうかを示す情報に基づいて広告の効果を集計したアクセスレポートを提出する。図62(b)はそのようなアクセスレポートの一例を示している。
なお、このようなアクセス情報の蓄積処理は統計データ生成ステップの一例に相当する。即ち、サーバ923により、接続ステップが行われる毎に接続ステップで用いられた二次元コードに含まれる広告内容識別情報を取得し、且つそれら取得された広告内容識別情報に基づいてサイトへのアクセスに利用された広告媒体についての統計データを生成するステップとされている。また、アクセスレポートの提出処理は、出力ステップの一例に相当し、統計データ生成ステップによって生成された統計データに基づき、少なくともいずれかの種類の広告媒体を依頼した依頼主に対し、当該依頼主に係る広告媒体についての利用状況データを出力するステップとされている。
本実施形態の構成によれば、より多くのデータを記録でき且つ矩形領域の正確な特定を可能とする二次元コードを用い、利用者に有用な情報を提供することができる。また、本発明に係る方法では、二次元コードにサイトの接続先を特定する接続情報を含ませているため、広告利用者が携帯端末上で所定の接続操作を行ったときに当該接続情報に対応するサイトに容易にアクセスできるようになる。更に、その所定の接続操作に応じ、サーバに対し二次元コードに含まれる広告内容識別情報を送信しており、サーバは、その接続ステップが行われる毎に二次元コードに含まれる広告内容識別情報を取得している。そして、それら取得された広告内容識別情報に基づいてサイトへのアクセスに利用された広告媒体についての統計データを生成している。このようにすると、どのような広告媒体からサイトにアクセスされたかについて有効な統計データを生成でき、マーケティング等に役立てることができる。
また、生成された統計データに基づき、少なくともいずれかの種類の広告媒体を依頼した依頼主に対し、当該依頼主に係る広告媒体についての利用状況データを出力するようにしている。このようにすると、依頼主が自己の広告媒体についての利用状況を的確に把握できるようになる。
更に具体的に述べると、広告依頼主は,提出されたアクセスレポートに基づいて広告の効果を判断し、広告の効果が少ないと判断したときに広告の仕方を工夫する等の対処をとりやすくなる。また、広告依頼主は、携帯端末921から送信された広告識別情報と利用者のアクセス履歴情報とに基づいて広告の効果を具体的に知ることができるため、情報の信頼性が高く、有益な情報に基づいて適切な判断を取りやすくなる。
また,携帯端末921には広告識別情報を蓄積することができるので,利用者は,所望に応じて情報センターのWWWサーバにアクセスすることにより,商品の詳細情報を見ることができる。特に、利用者は,商品或いはサービスに関する情報を簡単に保存して何時でも見ることができる。
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
上述した図7の構成を、図63のように変更してもよい。図63の二次元コード1000は、エンドパターン1007の構成のみが図7と異なり、エンドパターン1007部分以外は図7と同一である。なお、エンドパターン1007部分以外は図7の特徴を全て有している。
図63の例では、エンドパターン1007は、5つの黒色セル1007a〜1007eがL字状に配列された構成をなしており、第2境界部106cに隣接して黒色セル1007a、1007b、1007cが3つ並んでおり、端部の1007cが第2境界部106cの端部位置を示している。また、第2境界部106dに隣接して黒色セル1007c、1007d、1007eが3つ並んでおり、端部の1007cが第2境界部106dの端部位置を示している。黒色セル1007cは、角部5dとして構成されており、黒色セル1007cの外縁が角部5dの角位置(即ち、矩形領域の角位置)を示している。
また、図1の構成を図64のように変更してもよい。図64の例では、11×11であった図1のセル配列を17×17に拡大している。また、図1の中間特定パターン3bよりも長くした中間特定パターン1003bを設け、エンドパターン3aに代えてエンドパターン1003aを設けている。同様に、中間特定パターン4bよりも長くした中間特定パターン1004bを設け、エンドパターン4aに代えてエンドパターン1004aを設けている。エンドパターン1003a、1004aはいずれも5つの黒色セルをL字状に配置した構成をなし、これらエンドパターン1003a、1004aによって角部5b、5cがそれぞれ構成されている。また、図63と同一のエンドパターン1007を角部5dに配置している。また、エンドパターン1003aとエンドパターン107との間において、第2境界部6cのほぼ中間位置に隣接するように第3の特定パターン1105が配置されている。この第3の特定パターン1105は、第2境界部6cに沿って配置され、黒色セルを3つ直線状に並べた構成をなしている。同様に、エンドパターン1004aとエンドパターン107との間において、第2境界部6dのほぼ中間位置に隣接するように第3の特定パターン1106が配置されている。この第3の特定パターン1106は、第2境界部6dに沿って配置され、黒色セルを3つ直線状に並べた構成をなしている。
また、図65のような構成としてもよい。なお、図65の二次元コード1200でも、コードブロックとして、誤り訂正を行うための誤り訂正コードブロックが含まれており、矩形領域の境界部106のうち、第2の特定パターン1203,1204の配置側とは異なる第2境界部106c、106d側において、これら第2境界部106c、第2境界部106dに隣接する位置に、それぞれ誤り訂正コードブロックが配置されている。なお、図65では誤り訂正コードブロックやデータコードブロックの具体的図示は省略している。
また、図65の例ではコード領域の中央部に、単一の白色セルを8つの黒色セルで矩形状に囲み、さらにその周囲を16個の白色セルで囲んでなるアライメントパターン1218が配置されている。なお、図65では、アライメントパターン1218の領域を破線にて概念的に示している。また、図65では、角部5b、5c、5dにそれぞれ配置されるエンドパターン1211、1212、1213や、境界部106a、106b、106c、106dの中間位置にそれぞれ隣接する特定パターン1214、1215、1216、1217のいずれも単一の白色セルを8つの黒色セルで矩形状に囲み、さらにその周囲を白色セルで囲んだ構成をなしている。なお、これらの領域も破線にて概念的に示している。
また、長方形状に二次元コードを構成する場合、例えば図66(a)(b)或いは図67(a)(b)のようにしてもよい。
図66(a)の二次元コード1300は、図22(b)よりも長く構成(それに応じて第2の特定パターン1303も長く構成)し、図22(b)のエンドパターン206aをL字状のエンドパターン1305に変更し、更に図22(b)では設けられていなかった直線状の特定パターン1308を設けた点が図22(b)と異なっている。なお、角部5dには、単一の黒色セルからなるエンドパターン1306が配置されている。
図66(b)の二次元コード1310は、角部5bにL字状のエンドパターン1315が配され、角部5cに単一黒色セルのエンドパターン1317が配され、角部5dにL字状のエンドパターン1316が配されている。また、第2境界部106dに隣接する位置においてエンドパターン1317とエンドパターン1316の中間位置に黒色セルが直線状に並ぶ特定パターン1318が配されている。第2の特定パターン1313は、図66(a)の第2の特定パターン1303と同様の構成をなしている。
図67(a)の二次元コード1320は、角部5bにL字状のエンドパターン1325が配され、角部5cにL字状のエンドパターン1327が配され、角部5dにL字状のエンドパターン1326が配されている。また、第1の特定パターン2に隣接しない境界部(第2境界部)に隣接する位置において、エンドパターン1327とエンドパターン1326の間に、2つの直線状の特定パターン1328、1329が間隔をあけてそれぞれ配されている。なお、第2の特定パターン1323は、図66(a)の第2の特定パターン1303をより長くした構成となっている。
図67(b)の二次元コード1330は、角部5bにL字状のエンドパターン1335が配され、角部5cにL字状のエンドパターン1337が配され、角部5dにL字状のエンドパターン1336が配されている。また、第1の特定パターン2に隣接しない境界部(第2境界部)に隣接する位置において、エンドパターン1337とエンドパターン1336の間に、2つの直線状の特定パターン1338、1339が間隔をあけてそれぞれ配されている。なお、第2の特定パターン1333は、図66(a)の第2の特定パターン1303をより長くした構成となっている。また、第1の特定パターン2に隣接する境界部(第1境界部)の一方に隣接するように第2の特定パターン1334が設けられている。
上記実施形態では、コード領域(矩形領域)に隣接する背景の色(背景色)を白色とし、白色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」として例示しているが、この構成でなくてもよい。例えば、背景色を黒色とし、黒色以外の色のセルを「背景とは色彩又は濃度又は輝度が異なるセル」としてもよい。
また、図1、図5、図7、図10、図12、図14、図15、図21、図22、図23等では、「二次元コード」の例として、黒色セル、白色セルによって二次元コードを構成した例を示したが、一方を黒色セル以外の暗色セルとし、他方を白色セル以外の明色セル(暗色セルよりも明度の低いセル)としてもよい。また、これら図1、図5、図7、図10、図12、図14、図15、図21、図22、図23等の構成を、三種類以上のセル(例えば、第3実施形態のような8種類のセル)を備えた構成としてもよい。
また、上記説明では、三種類以上のセルによって構成される例として、第3実施形態のような8色のセを用いた例を示したが、使用される色やその種類数はこれに限られない。三種類以上のセルによって構成されるいずれの二次元コードについても、例えば4色や12色等、第3実施形態の色数よりも多くしてもよく、使われる色の組み合わせも第3実施形態と異なる組み合わせとしてもよい。
上記実施形態では、2つある第1境界部のそれぞれに隣接して第2の特定パターンが配置される構成を例示したが、図21(a)のように、第2特定パターンがいずれかの第1境界部のみに隣接して配置される構成であってもよい。図21(a)は、第1境界部6b側にのみ第2特定パターン191が設けられており、エンドパターン191aのみによって第2特定パターン191が構成されている。エンドパターン191aは、黒色セル191a'と、白色セル191"とが交互に配置される構成となっている。そして、第2特定パターン191が配置される側の境界部(第1境界部6b)とは異なる第1境界部6a(この場合、第1境界部6aも第2境界部の一例に相当する)、第2境界部6c、6dのそれぞれに隣接するように誤り訂正コードブロック12が配置されている。
また、図21(b)のように、4つある境界部106のうち、第1の特定パターン2が隣接しない境界部196d全体に隣接するように特定パターン197を設けるようにしてもよい。図21(a)の構成では、特定パターン197が第1境界部196bにも隣接しており、第2の特定パターンとしても機能するようになっている。
上記実施形態では、第1の特定パターンとして外形が矩形状の構成を例示したが、規定の角部5aを特定し得る構成であれば、形状、セルの配列、用いられるセルの種類等はこれに限定されない。例えば、図22(a)の二次元コード200で用いられる第1の特定パターン202ようにL字形状の構成であってもよい。図22(a)の構成でも、第1境界部6a、6bそれぞれに隣接して第2の特定パターン203、204が設けられており、第2境界部6c、6dのそれぞれに隣接するように誤り訂正コードブロック12が配置されている。なお、第2の特定パターン203、204の端部(第1の特定パターン202とは反対側の端部)には、同種セル(黒色セル)が3つ並んだエンドパターン203a、204aがそれぞれ設けられている。
上記実施形態では、コード領域(矩形領域)として、外形が正方形状に構成される正方形領域を例示したが、これに限定されず、例えば、図22(b)のように、コード領域(矩形領域)の構成は、外形が長方形状に構成される長方形領域であってもよい。図22(b)の構成では、第1境界部(第1の特定パターン2と隣接する境界部)が3つ設けられ、その一つ(短辺側)が第1の特定パターン2の外縁のみによって構成され、残り2つ(長辺側)のうちの一方に隣接するように第2の特定パターン206が配置されている。なお、第2の特定パターン206の端部(第1の特定パターン2とは反対側の端部)には、同種セル(黒色セル)が3つ並んだエンドパターン206aが設けられている。この構成でも、第2の特定パターン206が設けられた側に境界部とは異なる境界部に誤り訂正コードブロック12が配置されている。
上記実施形態では、コードブロックの構成として、主に8つのセルが集合してなるブロックを例示したが、データコードブロック11、誤り訂正コードブロック12、圧縮データコードブロック13のいずれについても、セル数は8以外であってもよい。例えば、8未満(例えば、2個、4個、6個等)のセルが集合してなるブロックであってもよく、8よりも大きい数(例えば、10個、16個等)のセルが集合してなるブロックであってもよい。
第1実施形態等では、図1等に示すように、誤り訂正コードブロック12を、2×4のマトリックス又は4×2のマトリックスとして矩形状に構成したが、一部のコードブロックをこれとは異なる構成(例えば図2(c)のような構成)としてもよい。
上記実施形態では、誤り訂正の方法として、JISに規定される方法を用いたが、データコードブロックの誤りを訂正しうる方法であればこれ以外の方法を用いてもよく、要するにデコードすべきデータ内容(具体的にはデータコードブロックを構成するデータコード語)に基づいて誤り訂正コード語が生成され、データコードブロックの一部に誤りが生じた場合にこの誤り訂正コード語によって誤り訂正をし得る方法であれば周知の他の誤り訂正方法を用いてもよい。例えば、データコードブロックのデータをLDPC符号(低密度パリティ検査符号)を用いて誤り訂正を行う構成であってもよく、この場合、LDPC符号を上記誤り訂正コードブロックによって表現し、それを矩形領域の境界部に隣接させて配置すればよい。
上記いずれの実施形態の二次元コードにおいても、第1のエンドパターンの周囲に、誤り訂正コードブロック12やデータコードブロック11のデータに割り当てられない剰余のセルを格納する剰余ブロックを配置するように構成できる。例えば、図14のセルCaをこのような余剰ブロックによって構成してもよく、図20のような矩形状の第1のエンドパターンの周囲においてこのような余剰ブロックを配置してもよい。或いは、図7のようなL字形状の第1のエンドパターンの周囲に隣接させて余剰ブロックを配置してもよい。このようにすれば、第1のエンドパターンの周囲を効率的に利用して、剰余ブロックを配置できるようになる。
上記実施形態では、第2の特定パターンが1つのまとまりとして構成される例を示したが、第2の特定パターンは、第1境界部に隣接してさえいれば複数に分割された構成であってもよい。
第4実施形態等では、第3の特定パターンが1つのまとまりとして構成される例を示したが、第3の特定パターンは、第2境界部に隣接してさえいれば複数に分割された構成であってもよい。
第4実施形態では、21×21のマトリックス状のものにおいて第3の特定パターンが設けられた構成を例示したが、図1のような11×11のマトリックス状のものにおいて第3の特定パターンを設けるようにしてもよい。図23ではその一例を示しており、第3の特定パターン245、246を第2境界部6c、6dに隣接させて設けた点、誤り訂正コードブロック12を若干変更した点が図1と異なっている。第3の特定パターン245は、第2境界部6cに隣接して並ぶ黒色セル245aとその内側に並ぶ白色セル245bとによって構成されており、第3の特定パターン246は、第2境界部6dに隣接して並ぶ黒色セル246aとその内側に並ぶ白色セル246bとによって構成されている。
以上の説明では、第1の特定パターンとしていくつか例を挙げて説明したが(図1、図22等)、これらの構成に限られない。例えば、矩形領域の規定の角部5aに背景色と異なる色のセルを配置して当該規定の角部5aを特定しうる構成であれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
以上の説明では、第2の特定パターンとしていくつか例を挙げて説明したが(図1、図6、図7、図10、図11等)、これらの構成に限られない。例えば、第1境界部に背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
以上の説明では、エンドパターンとしていくつか例を挙げて説明したがこれらの構成に限られない。
例えば、第2のエンドパターンについては、対角の角部5dに背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
また、第1のエンドパターンについては、図7、図12、図16等では、第1境界部に隣接する位置に3つのセルを直線状に並べ、第2境界部に隣接する位置に2つのセルを直線状に並べたL字形状のエンドパターンを例示したが、これ以外のL字形状であってもよい。例えば、第1境界部に隣接する位置に3つのセルを直線状に並べ、第2境界部に隣接する位置に3つのセルを直線状に並べたL字形状のエンドパターンであってもよい。
第2のエンドパターンをL字形状に構成する場合も同様であり、一方の第2境界部に隣接する位置に2つのセルを直線状に並べ、他方の第2境界部に隣接する位置に2つのセルを直線状に並べたL字形状のエンドパターン(図1参照)に限らず、様々なL字構成とすることができる。
以上の説明では、第3の特定パターンとしていくつか例を挙げて説明したが(図7、図8、図20、図23等)これらの構成に限られない。例えば、第2境界部に隣接させて背景色と異なる色のセルを配置する特定パターンであれば、使用する色、セル数、形状、配置順序等は様々とすることができる。
図6、図11、図13、図18、図19、図20等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第2の特定パターンを構成する例として、3色以上のセルを所定の順序で並べた第2の特定パターンを例示したが、3色以上のセルを所定の順序で並べて第2の特定パターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
図6、図11、図13、図18、図20等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第1のエンドパターンを構成する例として、3色以上のセルを所定の順序で並べた第1のエンドパターンを例示したが、3色以上のセルを所定の順序で並べて第1のエンドパターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
図16、図18、図20等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置して第2のエンドパターンを構成する例として、3色以上のセルを所定の順序で並べた第2のエンドパターンを例示したが、3色以上のセルを所定の順序で並べて第1のエンドパターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。
図8、図20等では、色彩又は濃度又は輝度の異なる複数種類のセルを所定の順序で配置した第3の特定パターンを例示したが、3色以上のセルを所定の順序で並べて第3の特定パターンを構成する場合、使用する色、セル数、形状、配置順序等はこれらの構成に限定されず様々とすることができる。