[第1実施形態]
以下、本発明を具現化した第1実施形態について、図面を参照して説明する。
図1に示す情報コード利用システム1は、所定のコード領域の内部に情報を表示する単位となるセルを配列した情報コード100を生成する情報コード生成装置2と、情報コード生成装置2によって生成された情報コード100を読み取る情報コード読取装置10とを備えた構成をなしている。なお、情報コード利用システム1は、情報コード読取システムの一例に相当する。
(情報コード生成装置)
情報コード生成装置2は、例えばパーソナルコンピュータ等の情報処理装置として構成されており、CPUなどからなる制御部3と、キーボード、マウス、その他の入力装置からなる操作部4と、ROM、RAM、HDD、不揮発性メモリ等の記憶装置からなる記憶部5と、公知の表示装置(液晶ディスプレイやその他の表示デバイス)などからなる表示部6と、外部装置と有線通信或いは無線通信を行うための通信インタフェースとして機能する通信部7と、公知のプリンタ等と同様のハードウェア構成をなし且つ制御部3からの印刷データに基づいて情報コード100等を印刷可能な印刷部8(印刷装置)とを備えている。
(情報コード読取装置)
次に、情報コード読取装置10の全体構成について説明する。図2に示すように、情報コード読取装置10は、ハードウェア的には二次元コードを読取可能なコードリーダとして構成されており、図示しないケース(筐体)によって外郭が構成され、このケース内に各種電子部品が収容された構成をなしている。
この情報コード読取装置10は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいはケース(図示略)内に内装される構成で、ケース(筐体)に一体的に組み付けられている。
光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、ケースに形成された読取口(図示略)を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rとしては、例えば、樹脂材料、金属材料、表示装置等の様々な対象が考えられ、このような読取対象物Rに例えば図1のような情報コード100(後述)が印刷などによって形成されていたり、或いは表示部での表示によって表されるようになっている。
受光センサ23は、情報コード100(後述)を撮像可能な「撮像部」の一例に相当し、読取対象物Rや情報コード100に照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ23は、結像レンズ27を介して入射する入射光を受光面23aで受光可能に図略のプリント配線板に実装されている。
フィルタ25は、例えば反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ケースに形成された読取口(図示略)と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。また、結像レンズ27は、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとによって構成されており、本構成では、ケースに形成された読取口(図示略)に入射する反射光Lrを集光し、受光センサ23の受光面23aに情報コード100のコード画像を結像するように構成されている。
マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、マイコン(情報処理装置)として機能し得る制御回路40及びメモリ35を中心として構成され、前述した光学系によって撮像された情報コード100の画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。
光学系の受光センサ23から出力される画像信号(アナログ信号)は、増幅回路31に入力されることにより所定ゲインで増幅され、その後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ(画像情報)は、メモリ35に入力され、当該メモリ35の画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
メモリ35は、例えば半導体メモリ装置などによって構成され、例えばRAM、ROM、その他の不揮発性メモリなどがこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
制御回路40は、情報コード読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるものであり、情報処理機能を有している。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)が接続されており、本構成の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。また、通信インタフェース48は、読取装置10の外部に設けられた外部装置との間で、公知の有線通信方式又は無線通信方式によって通信を行い得る装置である。読取装置10は、この通信インタフェース48を介して外部装置に対して情報を送信したり、或いは通信インタフェース48を介して外部装置から情報を受信したりしている。
電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、電池49から供給される駆動電圧の導通や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。
(情報コード)
次に、図1の情報コード利用システムで利用される情報コード100について図1、図5等を参照して説明する。なお、図1の例と図5右図の例では、セル配列や特定パターンのサイズ等が若干異なるが基本的な考えは同様であり、同様の特徴を有している。図1、図5等に示す情報コード100は、例えば上述の情報コード生成装置2によって生成されるものであり、所定のコード領域の内部に情報を表示する単位となるセル102を配列した構成となっている。なお、図1、図5等の情報コード100において、「コード領域」は、複数配列された暗色セルを全て含み得る矩形状の領域であり、情報コード100を構成するセルを全て含む最小の正方形領域又は長方形領域となっている。具体的には、3つの位置検出パターン(切り出しシンボル)104を全て含む最小の正方形領域又は長方形領域となっている。なお、図1、図5等の例では、複数のセル102が、矩形状(例えば外径が正方形状)の明色(白色)セル及び暗色(黒色)セルのいずれかによって構成されており、コード領域の内部において後述する空き領域110の周囲にこれらセル102がマトリックス状に配置されている。明色セル及び暗色セルは、それぞれ白色セル、黒色セルに限られるものではなく、暗色セルが所定の明度で構成される場合、明色セルはそれよりも明度が高ければよい。また、情報コード100において上記コード領域の周囲には、当該コード領域を取り囲むように明色又は暗色のマージン領域が構成されるようになっており、図1、図5等の例では、明色(例えば、白色或いは暗色セルよりも明度の大きい他色)のマージン領域がコード領域の周囲に隣接して配置されている。
この情報コード100は、矩形状(例えば、正方形状或いは長方形状等)のコード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、複数種類のセル102によってデータを記録するデータ記録領域と、複数種類のセル102によって誤り訂正符号を記録する誤り訂正符号記録領域とが設けられている。図1、図5等のように、情報コード100の特定パターンは、例えば、QRコード(登録商標)の公知の所定型番(図5の例では、JIS等で規格化されたQRコードの所定型番)の特定パターンと同一の形状及び位置となっており、図1、図5等の例では、コード領域の3つの角部にそれぞれ、特定パターンとしての位置検出パターン(切り出しシンボル)104が配置されている。また、上記所定型番において予め定められた位置に、特定パターンとしてのタイミングパターン106やアライメントパターン108も設けられている。このように、情報コード100では、予め定められた位置に決まった形状の特定パターン(位置検出パターン104、タイミングパターン106、アライメントパターン108(図5では省略))が配置されるようになっている。なお、コード領域の内部において、後述する空き領域110以外の位置は、このような特定パターンの領域、記録領域(データ記録領域及び誤り訂正符号記録領域のいずれかからなる領域)などによって構成されている。
情報コード100のセルの行数及び列数、特定パターンの形状及び位置、フォーマット情報の位置、コードワードの候補位置(コードワードの配置順序を特定するアドレス)等は読取装置がどのような方法で把握してもよい。例えば、情報コード100の種別において複数の型番が設けられていてもよく、この場合、型番毎にセルの行数及び列数、特定パターンの形状及び位置、フォーマット情報の位置、コードワードを配置する候補位置(アドレス)が予め定められていればよい。そして、上記型番を特定する型番情報がコード領域内の決められた位置(予約領域)に配置されていれば、読取装置はこの型番情報に基づいて情報コード100のセルの行数及び列数、特定パターンの形状及び位置、コードワードの候補位置(アドレス)を把握できるようになる。なお、この方法に限定されるものではなく、読取装置が把握し得る方法であれば他の方法でもよい。
そして、コード領域の内部において、特定パターン領域、データ記録領域、誤り訂正符号記録領域、ヘッダ格納領域以外の位置には、セル102によってデータが記録されない領域であり且つ誤り訂正符号による誤り訂正の対象にならない領域である空き領域110が、単一のセル102のサイズよりも大きいサイズで設けられている。なお、図1、図5等の例では、コード領域の中央部(コード領域の中心を含む所定領域)に空き領域110が構成されている。この空き領域110は、特定パターン領域、データ記録領域、ヘッダ格納領域(基本情報記録領域)、誤り訂正符号記録領域以外の位置に、データ記録領域にデータを記録する方法とは異なる方法で、データの記録又はデザインの表示の少なくともいずれかが可能となる領域である。なお、「セル102によってデータが記録されない領域」とは、即ち、後述するデータコードワードや誤り訂正コードワードなどのコードワードが記録されない領域であり、且つフォーマット情報やヘッダデータなどが記録されない領域であることを意味する。また、「誤り訂正符号による誤り訂正の対象にならない領域」とは、即ち、誤り訂正符号記録領域に記録された誤り訂正符号を用いた誤り訂正が行われない領域であることを意味する。従って、空き領域110に何らかの情報が記録されていても、空き領域110の周囲に存在する誤り訂正符号記録領域の誤り訂正符号によってその情報に対する誤り訂正がなされることはない。
なお、以下の説明では、図5右図のような上記所定型番に対応する構成と、図5左図のような所定型番よりもサイズが小さい別の型番(Ver.番号)とが対応付けられ、図5右図の情報コード100の各コードワードの位置と、図5左図の他種コード120の各コードワードの位置とが図5下図のような配置変換表によって対応付けられている例を代表例として説明する。この例では、図5左図の他種コード120で格納し得るデータ量であれば、図5右図のような情報コード100により、空き領域110を設けた上で表現できるようになっている。逆に、図5右図の情報コード100を読み取る場合には、情報コード100の各コードワードを、図5左図のような他種コード120のコードワードとして読み取ることができるようになっている。
また、図5右図では、空き領域110の周囲に配置される各コードワードの領域を破線枠等によって概念的に示している。また、フォーマット情報を記録する領域(所定位置105)は、所定種類のハッチングにて概念的に示している。また、ヘッダデータを記録するヘッダ格納領域112(基本情報記録領域)は、二点鎖線の枠で概念的に示している。なお、図5右図では、フォーマット情報を記録する領域、ヘッダデータを記録する領域、コードワードを記録する領域では、升目のみを示し、明色セルや暗色セルの具体的配列を省略して示している。また、図5右図の例では、セル配列と対応付けるべく空き領域110(コード領域の中央部分)の内部にも升目を付しているが、空き領域110の構成は自由であり、図1のように構成してもよく、その他の構成であってもよい。
フォーマット情報(形式情報)は、例えば図6のように構成されて情報コード100内の所定位置105(所定種類のハッチング位置)に特定のフォーマット構成で記録されている。このフォーマット情報は、誤り訂正レベルを特定する訂正レベル情報と、マスク番号を特定するマスク番号情報とを含んでいる。訂正レベル情報は、情報コード100で用いる誤り訂正レベルを特定する情報であり、例えば他種コード120に変換して読み取る場合の当該他種コード120で用いる誤り訂正レベルにも相当する。また、マスク番号は、情報コード100のコードワード領域(データコードワードや誤り訂正コードワードが記録されている領域)にかけられているマスクがどのマスク種別であるかを特定する情報である。
図6に示すようにフォーマット情報は、所定種類のマスクパターン(特定マスク)を反映した状態で記録されており、公知のQRコードと同様の方法でフォーマット情報のマスク種別を識別することで、図5右図に示すような特定のコード種別(空き領域110を設けた種別)であることを検出できるようになっている。公知規格のQRコードでは、例えばモデル1として構成する場合には、図6のようなフォーマット情報に対してモデル1用のマスクをかけたときに表現されるデータ(セル配列)を所定位置に記録し、モデル2として構成する場合には、図6のようなフォーマット情報に対してモデル2用のマスクをかけたときに表現されるデータ(セル配列)を所定位置に記録するようになっている。一方、図5に示す本実施形態の情報コード100(空き領域110を有する特別種類のコード)では、図6のようなフォーマット情報に対してモデル1、2とは異なる種類の特定マスク(図6ではフレームQR用と例示)をかけたときに表現されるデータ(セル配列)を所定位置105に記録するようになっている。そして、公知規格のモデル1及びモデル2、情報コード100の種別のいずれの場合でも、記録する訂正レベル(訂正レベル情報)及びマスク番号(マスク番号情報)に対応するチェックデジットが付された上でフォーマット情報が構成されており、その上で各種別用のマスクがかけられるようになっている。具体的には、各種別用のマスクパターンを用いて公知の方法でマスク処理が行われ、マスク処理後のビットパターンが所定位置105に記録されるようになっている。従って、情報コード100のようにフォーマット情報に対して特定マスク(図6ではフレームQR用と例示)をかけた上で所定位置105に記録する場合、このように所定位置105に記録された情報を上記特定マスクに基づいてマスク処理を解除して解読すればチェックデジットが合うため、情報コード100の種別であることを特定することができる。逆に、情報コード100の所定位置105のデータを、モデル1やモデル2のマスクに基づいてマスクを外しても、チェックデジットが合わなくなるため、公知規格のモデル1やモデル2でないことを特定することができる。
この情報コード100では、特定パターン(位置検出パターン104等)を検出し、公知のQRコードと同様の方法でコード領域、コードの向き、各セル位置を特定した後、公知のQRコードと同様の方法でフォーマット情報が記録された所定位置105を解読することで、解読時に成功したマスクの種別により情報コード100の種別(空き領域110を有する特別種類)であることを特定することができる。なお、フォーマット情報が記録された所定位置105は、位置検出パターン104に対する相対的位置関係が決められた位置関係で固定化されたものであるため、位置検出パターン104が検出されば、決められた位置関係に従って所定位置105の位置を特定することができる。そして、このように特定された所定位置105のセル配列を解読して得られたフォーマット情報により、情報コード100で用いる誤り訂正レベルを特定でき、且つ情報コード100のコードワード領域(セルによってデータコードワードや誤り訂正コードワードが記録されている領域)にかけられているマスク種別を特定できるようになっている。
図3で概念的に示すように、情報コード100には、フォーマット情報、ヘッダデータ(フレームQR用ヘッダー)、入力データ(解読対象データ)、誤り訂正符号(誤り訂正データ)などが記録される。これらのうち、フォーマット情報とヘッダデータは、予め決められた固定領域(静的領域)に記録される。例えば、フォーマット情報は、図5で示す所定領域105に記録され、ヘッダデータは、図5で示すヘッダ格納領域112に記録される。また、入力データ(解読対象データ)及び誤り訂正符号(誤り訂正データ)は、コードワードとして、コードワードの記録が予定された動的領域に記録される。なお、情報コード100で用いるヘッダデータは、以降の説明では、「フレームQR用ヘッダー」とも称する。また、図3の例では、入力データ(解読対象データ)については、例えば公知の方法で圧縮し、データワード(データコードワード)に変換しているが、このような圧縮を行わなくてもよい。
本明細書では、入力データ(解読対象データ)のデータワード(データコードワード)を記録する領域が「データ記録領域」の一例に相当する。また、後述する誤り訂正符号を記録する領域が誤り訂正符号記録領域の一例に相当する。更に、ヘッダデータ(フレームQR用ヘッダー)を記録するヘッダ格納領域112が基本情報記録領域の一例に相当する。
ヘッダ格納領域112は、データ記録領域に記録される入力データ(解読対象データ)を読み取るための基本情報(ヘッダデータ)を記録する領域である。図3の例では、ヘッダデータ(フレームQR用ヘッダー)として、後述する他種コード120(情報コード100を解読するために用いるコード種別であり、配置変換表(図5)によって情報コード100と対応付けられたコード)の種別(型番)を特定し得る情報(図3では、Ver.番号と例示)、空き領域内の「形式」を特定し得る識別情報、空き領域110内の位置を特定し得る「空き領域位置情報」などが記録されている。更に、「特定情報」が記録されており、この特定情報は、後述する特徴領域でのセルの評価方法を特定するための情報となっている。なお、特定情報については、後に詳述する。
図3、図5の例では、空き領域110の列位置及び行位置を特定し得る情報が空き領域位置情報(位置データ)として記録されている。より具体的には、図5に示すような矩形状に構成される情報コード100を、矩形状の小領域が複数行且つ複数列に並ぶように格子状に分割したときの空き領域110の左上の行位置及び列位置の組み合わせと、空き領域110の右下の行位置及び列位置の組み合わせとが空き領域位置情報(位置データ)として記録されている。なお、ここでは、空き領域110の左上の行位置及び列位置の組み合わせを示す情報(13,10)と、空き領域110の右下の行位置及び列位置の組み合わせを示す情報(24,23)とを、空き領域位置情報(位置データ)としている。なお、空き領域位置情報の例はこのような情報に限定されず、空き領域110の四隅の各位置における行位置及び列位置の組み合わせを空き領域位置情報(位置データ)としてもよい。
また、本構成では、図3のように、動的領域に複数のコードワードが記録されるようになっており、この動的領域に記録されるデータ列は、入力データ(解読対象データ)を表す複数のコードワード(データコードワード)の後に、この入力データの誤り訂正を行うための誤り訂正符号を表す複数の誤り訂正コードワード(ECCワード)が続くようなデータ列となっている。情報コード100では、入力データ(解読対象データ)を記録する領域がデータ記録領域であり、誤り訂正符号を記録する領域が誤り訂正符号記録領域となる。なお、入力データ(解読対象データ)のデータワード(データコードワード)に基づいて、この入力データ(解読対象データ)の誤りを訂正するための誤り訂正符号(誤り訂正コードワード)を生成する方法は、公知の二次元コード(QRコード等)の規格で定められた方法などを用いることができる。例えば、データワード(データコードワード)に基づいて誤り訂正コードワードを生成する方法として、JISX0510:2004に規定された誤り訂正コード語の生成方法(JISX0510:2004、8.5誤り訂正)などを用いることができる。なお、誤り訂正コードワードの生成方法はこれに限られず、公知の様々な方法を用いることができる。
また、情報コード100では、入力データ(解読対象データ)を表現する各データワード(データコードワード)や誤り訂正コードワードが、予め定められた配置位置情報に基づいてコード領域内に配置されている。本構成では、図5のように、情報コード100のコード領域内において確保された所定の動的領域に、予め各コードワードの配置候補位置が定められており、各配置候補位置にそれぞれ番号(アドレス)が割り当てられている。そして、配置位置情報は、図3に示す記録内容(動的領域に記録すべき内容)を構成する各コードワードをそれぞれどの配置候補位置に配置すべきかを特定する情報となっている。なお、図5右図の例では、動的領域のうちの1〜25番の配置候補位置を概略的に例示しており、各配置候補位置では、先頭と最後のビット部分に番号を付して明示している。また、図5右図では、26番以降の配置候補位置は省略している。
具体的には、他種コード120(公知のQRコード)の型番(図3に示すヘッダデータで特定される他種コード120の型番)では、各順番のコードワードを他種コード120内のどの位置に配置すべきかが公知規格等により予め定められており、他種コード120を解読する場合にはこのように定められた配置に基づいて各順番のコードワードを解読する。例えば、図5左図に示す他種コード120(一般的な、QRコード)の例では、0番目のコードワードを右下に配置し、1番目のコードワードをその上に配置し、2番目のコードワードをその上に配置するといった具合に各コードワードの配置位置が予め決められている。従って、この他種コード120を解読する場合には、このように決められた配置に基づいて0番目のコードワード、1番目のコードワード、2番目のコードワード、3番目のコードワード・・・といった具合に順番に解読することになる。なお、図5左図で示すコードワードの配置はあくまで説明のための例示であり、この配置に限定されるものではない。
一方、図5に示す配置位置情報(配置変換表)では、このように他種コード120で予め定められた各配置位置(各順番のコードワードの配置位置)の番号を、情報コード100において予め定められた候補位置(各コードワードの配置候補位置)の番号にそれぞれ対応付けている。具体的には、「他種コード120における1番目のコードワードの配置位置が情報コード100の1番目の配置候補位置に相当」、「他種コード120における2番目のコードワードの配置位置が情報コード100の2番目の配置候補位置に相当」、「他種コード120における3番目のコードワードの配置位置が情報コード100の3番目の配置候補位置に相当」といった情報が、例えばテーブルデータなどとしてそれぞれ記録されており、他種コード120における各番号のコードワードの配置位置を、情報コード100の各配置候補位置にそれぞれ対応付けている。このように構成されているため、情報コード100を解読する場合には、コード領域内の各配置候補位置のコードワード(各アドレスのコードワード)を配置位置情報(配置変換表)で対応付けられた他種コード120の各配置位置にそれぞれ配置し直し、このように配置し直された他種コード120を公知の方法で解読すれば良い。例えば、図5下図に示す配置変換表を用いて情報コード100の解読を行う場合、情報コード100の1番目の配置候補位置のコードワードを他種コード120における1番目のコードワードの配置位置に配置し、情報コード100の2番目の配置候補位置のコードワードを他種コード120における2番目のコードワードの配置位置に配置し、情報コード100のN番目の配置候補位置のコードワードを他種コード120において当該N番目の配置候補位置に対応付けられているM番目のコードワードの配置位置に配置するといった具合にそれぞれ配置し直した上で、このように配置し直された他種コード(QRコード)を公知の方法で解読すればよい。なお、上述の配置位置情報(配置変換表)については、情報コード100を生成する情報コード生成装置2及び情報コード100を読み取る情報コード読取装置10に共通のデータ(共通の配置変換表)がそれぞれ設けられていることが望ましい。
(情報コードの生成処理)
次に、図7等を参照して情報コード生成処理及び情報コード生成方法について説明する。以下では、図5のように他種コード120がQRコード(登録商標)であり、情報コード100がQRコードと同様の特定パターン(位置検出パターン104)を有する場合を例に挙げて説明する。なお、この例では、空き領域110を有する情報コード100を「フレームQR」とも称する。
図7の情報コード生成処理は、情報コード生成装置2によって行われる処理であり、例えば、操作部4での所定操作によって実行開始される。この処理では、まず、外部からコード化するデータ(解読対象データ)と、属性データと、コード種別データ(情報コード100を生成するか、一般的な二次元コード(例えば一般的なQRコード)を生成するかを特定するデータ)を取得する(S1)。なお、本構成では、制御部3、操作部4が「データ取得部」の一例に相当し、解読対象データ(外部からの入力データ)を取得するように機能する。また、このような例に限らず、例えば、制御部3と通信部7が「データ取得部」として構成され、外部から通信によって入力されるデータを解読対象データとして取得するように機能してもよい。
S1でデータを取得した後には、その取得したデータを圧縮する方法を公知の方法で定め(S2)、入力データを圧縮したデータ(解読対象データ)を複数のデータワード(データコードワード)で表現する(S3)。そして、S3の後には、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)であるか否かを判断する。S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)である場合には、S4にてYesに進み、空き領域110を有する情報コード100の種別(フレームQR)で用いられる特有のヘッダデータ(上述)を生成する。図3のヘッダデータには、上述したように、図5右図に示す他種コード120の種別(型番)を特定し得る情報(バージョン番号情報等)と、空き領域110の形式を特定する情報(第1情報)と、空き領域110内の位置を特定し得る情報(第2情報に相当する「空き領域位置情報」)と、後述する特定情報(第3情報)とが記録されることになる。一方、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)でない場合(一般的な二次元コードを選択するデータ(例えば、モデル1又はモデル2を選択するデータ)である場合)には、S4にてNoに進む。
S4でNoに進む場合、S3で生成されたデータワード(データコードワード)の構成に基づいて公知の方法で誤り訂正符号を生成し、この誤り訂正符号を表現する複数の誤り訂正ワード(誤り訂正コードワード)を生成する(S6)。一方、S4からS5に進む場合にも、S3で生成されたデータワード(入力データを表現する複数のデータコードワード)の構成に基づいて公知の方法で誤り訂正符号を生成し、この誤り訂正符号を表現する複数の誤り訂正ワード(誤り訂正コードワード)を生成する(S6)。
S6の後には、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)であるか否かを判断し(S7)、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)でない場合には、S7にてNoに進み、公知の方法で二次元コード(例えばQRコード)を生成することになる。S7でNoに進む場合、S3で生成されたデータワード(データコードワード)及びS6で生成された誤り訂正ワード(誤り訂正コードワード)を格納しうるサイズの二次元コードの型番(この例では、規格化された公知のQRコードの複数の型番において、S3で生成されたデータワード及びS6で生成された誤り訂正ワードを格納しうるサイズの型番)を決定し、当該型番で予め定められた配置パターンに従い、S3で生成されたデータワード及びS6で生成された誤り訂正ワードを配置する(S9)。
一方、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)である場合には、S7にてYesに進み、S3で生成されたデータワード(データコードワード)と、S6で生成された誤り訂正ワード(誤り訂正コードワード)と、空き領域と、を格納しうる情報コード100の型番を決定する(S10)。なお、空き領域のサイズは、予め定められた一定サイズであってもよく、S10の前段階でユーザが入力などによって指定してもよい。また、空き領域のサイズは、行数及び列数で特定してもよく、何ワード分に相当するか、あるいは何セル分に相当するか等の情報によって特定してもよい。図5、図7の例では、例えば情報コード100の種別で予め定められた複数の型番(サイズ)において、S3で生成されたデータワード(データコードワード)、S6で生成された誤り訂正ワード(誤り訂正コードワード)、及び空き領域を格納しうるサイズの型番を決定することになる。なお、情報コード100の種別で複数の型番を使用可能とする場合、各型番毎に、行数及び列数、特定パターンの形状及び配置、フォーマット情報(所定領域)の配置、ヘッダーデータ(ヘッダ格納領域)の配置、各コードワードの配置候補位置をそれぞれ定めておけばよい。また、S3で生成されたデータワード(データコードワード)、S6で生成された誤り訂正ワード(誤り訂正コードワード)、及び空き領域を格納しうるサイズの型番が複数存在する場合には、その中から一番小さい型番(サイズ)を決定するようにしてもよく、ユーザがその中からいずれかの型番(サイズ)を指定できるようにしてもよい。そして、情報コード100を生成する際には、このように決定された型番において予め定められたサイズ(行数及び列数)、特定パターンの配置、コードワードの各配置候補位置を用いると共に、具体的な各コードワードの配置位置は、上述の配置変換表(この型番に対応付けられた、配置変換表)に従って決定することになる。なお、以下では、S10において図5右図のような型番が決定された例について具体的に説明する。
S10の後には、S3で生成されたデータワード(データコードワード)及びS6で生成された誤り訂正ワード(誤り訂正コードワード)を上述の配置位置情報(配置変換表)に基づいて配置することになる。情報コード生成装置2では、上述の配置位置情報(配置変換表)が記憶部5に記憶されており、この配置変換表では、上述したように他種コード120で定められた各配置位置(各順番のコードワードの配置位置)を、情報コード100において予め定められた候補位置(各コードワードの配置候補位置)にそれぞれ対応付けている。S11の処理では、記録すべきコードワード(S3で生成されたデータワード(データコードワード)及びS6で生成された誤り訂正ワード(誤り訂正コードワード))を、図4、図5左図で示す他種コード120(情報コード100よりもサイズが小さく、且つS3で生成されたデータワード及びS6で生成された誤り訂正ワードを格納し得るサイズの二次元コード)で表現するときの各コードワード(各順番のコードワード)の配置位置を特定した上で、それら各順番のコードワードを、配置位置情報(配置変換表)によって各順番のコードワードの配置位置に対応付けられている情報コード100内の各配置候補位置に配置する。例えば、図5の配置位置情報(配置変換表)では、他種コード120での1番目のコードワードの配置位置と、情報コード100の1番の配置候補位置とが対応付けられているため、記録すべきコードワード(S3で生成されたデータワード及びS6で生成された誤り訂正ワード)のうち、1番目のコードワードについては情報コード100内の1番の配置候補位置に配置する。また、他種コード120での2番目のコードワードの配置位置と、情報コード100の2番の配置候補位置とが対応付けられているため、記録すべきコードワードのうち、2番目のコードワードについては情報コード100内の2番の配置候補位置に配置する。このように、記録すべきコードワードにおいてN番目のコードワードを配置する他種コード120での配置位置(N番目のコードワードの配置位置)と、情報コード100のM番の配置候補位置とが対応付けられていれば、記録すべきコードワードのうち、N番目のコードワードについては情報コード100内のM番の配置候補位置に配置することになる。
つまり、S3で生成されたデータワード及びS6で生成された誤り訂正ワードだけなら、情報コード100よりも小サイズの他種コード120(公知のQRコードとして構成されたもの)で表現できるが、S3で生成されたデータワード、S6で生成された誤り訂正ワード、及び空き領域110を格納する場合には、これよりも大きいサイズの情報コード100によって表現する必要がある。そこで、本実施形態では、S3で生成されたデータワード、S6で生成された誤り訂正ワード、及び空き領域110を、他種コード120よりも大きいサイズの情報コード100によって表し、S3で生成されたデータワード及びS6で生成された誤り訂正ワードを他種コード120(公知のQRコード)で表現した場合のコードワードの各配置と、これよりも大きいサイズの情報コード100に格納する場合のコードワードの各配置との対応関係を、予め定められた配置変換表によって特定できるようにしている。
また、S11の処理では、最終的なヘッダデータ(フレームQRヘッダー)を、ヘッダ格納領域112(静的領域)に配置する。後述する特徴領域が存在しない場合には、ヘッダデータは、S5で生成されたデータであり、特徴領域が存在する場合には、ヘッダデータは、S5で生成されたデータに対し、特定情報(特徴情報)が追加されたデータとなる。いずれにしても、最終的なヘッダデータを予め定められた固定領域(ヘッダ格納領域112)に配置する。
S9又はS11の後には、S9又はS11で配置場所が決定されたコードワードに対してかけるべきマスクパターンを公知の所定方法(例えばQRコードで用いられる公知方法)で決定し、その決定されたマスクパターンをS9又はS11で配置場所が決定されたコードワードに反映するように公知のマスク処理方法でマスクをかける(S12)。そして、S12で設定したマスクパターンの情報(マスク番号)及び誤り訂正レベルの情報に基づいてチェックデジットを算出し、図6のように誤り訂正レベル、マスク番号、チェックデジットを含んだフォーマット情報を生成する(S13)。なお、フォーマット情報として記録するマスク番号や誤り訂正レベルなどのデータは、S1で入力できるようにしてもよい。
そして、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)である場合には、S14にてYesに進み、S13で生成されたフォーマット情報に、上述の特定マスク(フレームQRマスク)を反映するようにマスク処理を行う(図6参照)。一方、S1で取得されたコード種別データが、空き領域110を有する情報コード100の種別(フレームQR)でない場合には、S14にてNoに進み、S16で設定するマスクパターンとは異なるマスクパターンのマスク(モデル1のマスク又はモデル2のマスク)をセットする。S15又はS16によりフォーマット情報に対してマスクをかけた後には、そのマスク処理後のフォーマット情報をコード領域内の所定領域105(静的領域)に配置する(S17)。
このようにして、特定パターン領域、データ記録領域、誤り訂正領域、所定領域105(フォーマット領域)、ヘッダ格納領域112が構成された後には、空き領域110の構成要素を配置する(S18)。図3の例では、空き領域の位置がそれぞれ行位置及び列位置によって指定されているため、S18では、このように指定された位置に空き領域110の画像データを配置する。なお、空き領域110に表すデータは、例えば、S1で取得(例えば、外部装置からの入力や、生成装置2に記憶された画像データの読み出しなどによって取得)してもよい。
なお、このようにして情報コード100又は他の二次元コードが生成された後には、そのコードを印刷部8によって印刷してもよい。或いは、印刷に代えて、表示部6にて情報コード100等の表示を行ってもよく、情報コード100等のデータを外部装置(例えば、携帯端末やコンピュータ等の情報機器)に送信してもよい。
(特徴領域)
次に、情報コードを生成する上での更なる特徴について説明する。
情報コード100は、上述した図7のような流れで生成することができる。そして、この情報コード100を生成する際には、更なる特徴を付加することもできる。
図8には、情報コード100を生成する上で確保された矩形状(例えば、正方形状、又は長方形状)のコード領域Ca1と、そのコード領域Ca1を複数の小領域Ca2に分割したときの領域構造を概念的に示している。具体的には、矩形状のコード領域Ca1の外縁における所定の一辺(横方向の一辺)の方向を行方向とし、この一辺の方向と直交する方向を列方向とする形で、外縁が矩形状(例えば、正方形状又は長方形状)に構成された小領域がマトリックス状に並んでいる。コード領域Ca1は、内部に設定された縦方向の境界線(等間隔で設定された縦方向の境界線)によって複数の列(小領域Ca2の列)に区分けされ、横方向の境界線(等間隔で設定された横方向の境界線)によって複数の行(小領域Ca2の行)に区分けされている。
情報コード生成装置2で情報コード100を生成する場合、このようにコード領域Ca1の内部に定められる複数の小領域Ca1の各々に、情報を表示する単位となるセル102を配列した形で情報コード100を生成することになる。図1の例では、空き領域110以外の領域において、各小領域を、黒色で塗り潰された正方形の図形又は白色で塗り潰された正方形の図形で表したが、少なくとも一部の領域については、セルの状態を、このような図形以外の所定状態にすることができる。以下では、その方法を説明する。
図7を参照して説明した基本的な生成処理において、S10で情報コード100(フレームQR)の型番が決定した場合、コード領域Ca1内の基本構造(予め型番と対応付けられた基本構造)が決定する。具体的には、コード領域Ca1の行数及び列数が決定し、位置検出パターン104やタイミングパターン106が配置される特定パターン領域の位置、フォーマット情報が配置される所定領域105の位置、ヘッダ情報が配置されるヘッダ格納領域112の位置、コードワード領域114の位置及び各コードワードのアドレスなども決定する。なお、情報コード100(フレームQR)の型番の決定方法は、上述した方法のほか、他の方法(例えば、S10においてユーザが型番を入力して指定する方法など)を用いることもできる。
ここで、図7のS10の処理において、図9のような基本構造をなす型番が選択された場合を説明する。図9のような基本構造をなす型番では、QRコード(登録商標)の切り出しシンボルと同構造をなす位置検出パターン104、QRコード(登録商標)のセパレータと同構造をなすL状のセパレータ109、QRコード(登録商標)のタイミングパターンと同構造をなすタイミングパターン106が特定パターンとなっており、これらの配置領域が特定パターン領域となっている。なお、位置検出パターン104、セパレータ109、タイミングパターン106については、図9の構造とセル行数及びセル列数がそれぞれ同じであるQRコードの位置検出パターン、セパレータ、タイミングパターンと同一の形状及び位置となっている。また、図9では、特定パターン領域についてのみ各小領域Ca2の構造を具体的に示しており、各小領域Ca2が黒色一色の塗り潰しとなっている領域と、各小領域Ca2が白色一色の塗り潰しとなっている領域とが特定パターン領域である。
次に、コードワード領域114を構成する各セル102の図形について説明する。
図10(A)は、1つのセルを配列し得る最大領域(小領域Ca2)の外縁を二点鎖線にて示すものである。本構成では、この小領域Ca2に配置し得る暗色セル102bとして、複数種類の暗色セル102bが用意されており、例えば、図10(B)のように、小領域Ca2内の全領域を暗色(例えば黒色)にした暗色セルB1(種類1)、図10(C)のように、小領域Ca2内の一部領域を三日月形にした暗色セルB2(種類2)、図10(D)のように、小領域Ca2内の一部領域をドーナツ型にした暗色セルB3(種類)、図示しないその他の種類の暗色セルなどが用意されている。また、小領域Ca2に配置し得る明色セル102wとしても、複数種類の明色セル102wが用意されており、例えば、図10(E)のように全領域を明色(例えば、白色)にした明色セルW1(種類1)や、図示しないその他の種類の明色セル(例えば、図10(C)、図10(D)のような図形を明暗暗転した図形など)が用意されている。
上述した図7の処理において、S11でコードワードを配置する場合、特に指定がなければ、各コードワードの小領域に、図10(B)のような暗色セル(小領域全体を暗色(例えば黒色)で塗り潰したセル)、又は図10(E)のような明色セル(小領域全体を明色(例えば白色)で塗り潰したセル)を配置するようにコードワードを構成することになる。
図11(A)は、コードワード領域114の一部を構成する複数の小領域Ca2を概念的に示している。なお、図11(A)では、説明のため、各小領域に対して便宜的に番号を付している。このような一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bについては、図10(B)のように小領域Ca2の全体を暗色(例えば黒色)で塗り潰したセルB1とし、明色セル102wについては、図10(E)のような小領域Ca2の全体を明色(例えば白色)で塗り潰したセルとする場合、この一部領域でのセルの配列、構造は図11(B)のようになる。
一方、コードワード領域114(図9)の一部又は全部の領域においていずれかの種類のセルを特徴構造に変化する指定があった場合、その指定された領域では、指定された種類のセルを指定された特徴構造で配置する。つまり、このような指定があった場合には、図9で概念的に示すコード領域Ca1の内部において少なくとも特定パターン領域104以外の一部又は全部のセル配列領域を特徴領域(小領域Ca2内でのセルの状態を所定状態とするような領域)とすることができる。なお、このような指定は、S1でなされてもよく、S11でなされてもよい。
例えば、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bを図10(C)のような特徴状態にする指定があり、明色セル102wを図10(E)のような状態にする指定があった場合、この一部領域は、図12(A)のように表現されることになる。
別例として、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bを図10(D)のような特徴状態にする指定があり、明色セル102wを図10(E)のような状態にする指定があった場合、この一部領域は図12(B)のように表現される。
また、このようなセル状態の指定は、コードワード領域114に設定される複数の領域に対してそれぞれ別個に行うことができる。例えば、図9のような型番の情報コード100(フレームQR)が生成される場合に、図7のS11の処理において領域E1(図18参照)が指定され、更に、この領域E1の暗色セルを図10(C)の状態とし、この領域E1の明色セルを図10(E)の状態にする指定(例えば、ユーザによってなされた入力による指定)があった場合、この領域E1の明色セル、暗色セルのそれぞれの構造は、図12(A)で示す明色セル、暗色セルのそれぞれと同様の構造になる。また、図7のS11の処理において領域E2(図18参照)が指定され、この領域E2の暗色セルを図10(D)の状態とし、この領域E2の明色セルを図10(E)の状態にする指定があった場合、この領域E2の明色セル、暗色セルのそれぞれの構造は、図12(B)で示す明色セル、暗色セルのそれぞれと同様の構造にする。なお、特に指定がなされていない領域(上記個別領域E1,E2以外の領域)については、デフォルトの明暗構造(例えば、暗色セルを図10(B)の状態とし、明色セルを図10(E)の状態とする構造)とする。
そして、このような特徴領域を設ける場合には、特徴領域における小領域でのセルの評価方法を特定するための特定情報を生成し、この特定情報を最終的にヘッダ格納領域112(基本情報記録領域)に記録することになる。例えば、図18のように、特徴領域を複数種類の個別領域E1、E2によって構成し、各々の個別領域毎にセルの状態を定めた場合、各々の個別領域の各位置をそれぞれ特定するための個別領域位置情報と、各々の個別領域の小領域におけるセルの評価方法をそれぞれ特定するための個別領域評価情報と、をそれぞれ生成し、それらを特定情報としてヘッダ格納領域112(基本情報記録領域)に記録する。図15は、この特定情報を概念的に示しており、個別領域E1に関する情報として、コード領域Ca1内での個別領域E1の位置を特定する領域位置情報(個別領域位置情報)と、個別領域E1の小領域Ca2内でのセル位置を特定するセル位置情報(個別領域評価情報)とが対応付けられている。また、個別領域E2に関する情報として、コード領域Ca1内での個別領域E2の位置を特定する領域位置情報(個別領域位置情報)と、個別領域E2の小領域Ca2内でのセル位置を特定するセル位置情報(個別領域評価情報)とが対応付けられている。
コード領域Ca1内での各個別領域E1,E2の位置を特定する領域位置情報(個別領域位置情報)としては、例えば、各個別領域E1,E2の四隅の座標(個別領域の四隅を構成する各小領域の行位置、列位置の組み合わせ)などが挙げられる。例えば、個別領域E1を特定する情報として、領域E1の四隅にある各小領域の行位置、列位置の情報を用いればよい。或いは、個別領域E1に含まれるコードワードのアドレスを領域位置情報として用いてもよい。このような例に限らず、コード領域内において個別領域E1の位置を特定し得る情報であれば様々な位置情報を用いることができる。また、個別領域E2についても同様であり、個別領域E2を特定する情報として、領域E2の四隅にある各小領域の行位置、列位置の情報を用いてもよく、その他の方法で領域E2の位置を特定してもよい。
次に、個別領域毎に定められる評価情報(個別領域評価情報)について説明する。本構成では、特徴領域を構成する各個別領域において小領域Ca2内のセルの配置及び形状を所定のセル配置且つ所定のセル形状としており、個別領域を構成する毎に、この個別領域と対応付けて当該個別領域の小領域でのセルの存在位置を特定するセル位置情報(当該個別領域内の小領域でのセルの評価方法を特定するための個別領域評価情報)を生成する。
ここで、個別領域毎に定められるセル位置情報について説明する。本構成では、図8のように、内部に多数の小領域Ca2が設定されたコード領域Ca1が想定されており、更に、各小領域Ca2は、図13のように、予め定められた細分化方法によって複数の細分化領域に分けることが想定されている。例えば、矩形状の小領域Ca2の外縁における所定の一辺(横方向の一辺)の方向を行方向とし、この一片の方向と直交する方向を列方向とする形で、外縁が矩形状(例えば、正方形状又は長方形状)に構成された細分化領域A1〜A25がマトリックス状に並んでいる。小領域Ca2は、内部に設定された縦方向の境界線(等間隔で設定された縦方向の境界線)によって複数の列(細分化領域の列)に区分けされ、横方向の境界線(等間隔で設定された横方向の境界線)によって複数の行(細分化領域の行)に区分けされている。
特徴領域を設ける場合、個別領域毎にセル位置情報を定めておくことができる。例えば、図12(A)のように、暗色セルとしては、図10(C)のような暗色セルB2を用い、明色セルとしては、図10(E)のような明色セルW1を用いる場合、図14(A)のように、複数の細分化領域A1〜A25(図13)のうち、暗色セルB2が少なくとも中心位置に存在する「領域A11」の情報を、当該個別領域についてのセル位置情報とすることができる。仮に、図18で示す個別領域E1の一部が図12(A)のような明暗構造で構成される場合、このような「領域A11」の情報を、当該個別領域E1についてのセル位置情報としておけば、個別領域E1の小領域Ca2の明暗を判定する際には、各小領域Ca2のうちの領域A11(細分化領域)から抽出された輝度(具体的には領域A11における縦方向及び横方向の中心位置から抽出された輝度等)が閾値を超えるか否かを判断することによって各小領域Caのセルが明色セルであるか、暗色セルであるかを判定することができる。具体的には、小領域Ca2における領域A11の中心位置P11の輝度が閾値を超える場合には、この小領域Ca2を明色セルと判定し、小領域Ca2における領域A11の中心位置P11の輝度が閾値以下の場合には、この小領域Ca2を暗色セルと判定するといった方法が挙げられる。
図10(C)、図12(A)で示すような暗色セルB2では、小領域の中心位置の輝度を評価するような通常の方法を用いると、図16(A)のように、暗色セルであるにもかかわらず明色セルと判定されてしまうことになる。これに対し、上述したように、セル位置情報に従って「領域A11」の位置をセル位置とし、この位置の明暗を判定する方法(例えば、領域A11の縦方向及び横方向の中心位置P11の輝度が閾値を超えるか否かによって明暗を判定する方法)を用いれば、図16(B)のように、正確に暗色セルと判定されやすくなる。しかも、上述したように、暗色がより集中する領域A11をセル位置情報として指定すれば、図17のようにボケが生じた場合でも、正確に暗色と判定されやすくなる。
なお、個別領域が図12(A)のような明暗構造をなす場合に、明暗を正確に判定する方法は、図14(A)のように領域A11(細分化領域)の情報をセル位置情報とする例に限られない。例えば、図14(B)のように、複数の細分化領域A1〜A25のうち、暗色セルが中心位置に配置される各細分化領域A6,A11,A16の情報を、当該個別領域についてのセル位置情報としてもよい。この場合、当該個別領域において小領域Ca2の明暗を判定する際には、例えば、当該小領域Ca2のうちの領域A6,A11,A16(各細分化領域)の中心位置から抽出された輝度の平均が閾値を超えるか否かを判断することによって各小領域Caのセルが明色セルであるか、暗色セルであるかを判定することができる。具体的には、小領域Ca2における領域A6,A11,A16の中心位置P6,P11,P16の輝度の平均値が閾値を超える場合には、この小領域Ca2を明色セルと判定し、閾値以下の場合には、この小領域Ca2を暗色セルと判定するといった方法が挙げられる。
或いは、図12(B)のように、暗色セル102bとしては、図10(D)のような暗色セルB3を用い、明色セル102wとしては、図10(E)のような明色セルW1を用いる場合、複数の細分化領域A1〜A25(図13)のうちの、「領域A3」の情報を、当該個別領域についてのセル位置情報とすることができる。仮に、図18で示す個別領域E2の一部が図12(B)のような明暗構造で構成される場合、このような「領域A3」の情報を、当該個別領域E2についてのセル位置情報としておけば、個別領域E2の小領域Ca2の明暗を判定する際には、各小領域Ca2のうちの領域A3(細分化領域)から抽出された輝度(具体的には領域A3における縦方向及び横方向の中心位置から抽出された輝度等)が閾値を超えるか否かを判断することによって各小領域Caのセルが明色セルであるか、暗色セルであるかを判定することができる。具体的には、小領域Ca2における領域A3の中心位置の輝度が閾値を超える場合には、この小領域Ca2を明色セルと判定し、閾値以下の場合には、この小領域Ca2を暗色セルと判定するといった方法が挙げられる。
なお、個別領域が図12(B)のような明暗構造をなす場合に、明暗を正確に判定する方法は、領域A3(細分化領域)の情報をセル位置情報とする例に限られない。例えば、複数の細分化領域A1〜A25のうちの、「領域A3,A11,A15、A23」の情報を、当該個別領域についてのセル位置情報としてもよい。この場合、当該個別領域において小領域Ca2の明暗を判定する際には、例えば、当該小領域Ca2のうちの領域A3,A11,A15、A23(各細分化領域)の中心位置から抽出された輝度の平均が閾値を超えるか否かを判断することによって各小領域Caのセルが明色セルであるか、暗色セルであるかを判定することができる。具体的には、小領域Ca2における領域A3,A11,A15、A23の中心位置の輝度の平均値が閾値を超える場合には、この小領域Ca2を明色セルと判定し、閾値以下の場合には、この小領域Ca2を暗色セルと判定するといった方法が挙げられる。
このように、個別領域毎に定められるセル位置情報は、小領域Ca2を予め定められた細分化方法で区分けして構成される複数の細分化領域A1〜A25の中で、少なくともセルが存在している領域(具体的には、明色セル及び暗色セルのいずれもがその中心位置に存在している領域)を指定する領域指定情報となっている。
以上のように、コードワード領域114の内部構造が決定し、特徴領域を設ける構造である場合、特徴領域における小領域でのセルの評価方法を特定するための特定情報と、特徴領域の位置を特定するための特徴領域位置情報とを生成をしておく。例えば、図18のように、特徴領域を複数種類の個別領域E1,E2によって構成し、各々の個別領域毎にセルの状態を定めた場合には、図15のように、各々の個別領域E1,E2の各位置をそれぞれ特定するための個別領域位置情報と、各々の個別領域の小領域におけるセルの評価方法をそれぞれ特定するための個別領域評価情報と、を生成する。そして、このように生成された個別領域毎の特定情報(個別領域毎に定められる個別領域位置情報及び個別領域評価情報:図15参照)は、図3のようにヘッダデータの一部としてヘッダ格納領域112(基本情報記録領域)に格納しておくことになる。なお、S11で生成された特定情報は、S5で生成されたヘッダデータに追加し、最終的に生成されたヘッダデータをS11にてヘッダ格納領域に配置すればよい。
このように、情報コード生成装置2は、特徴領域を備えた情報コード100(フレームQR)を生成する場合、コード領域内における予め定められた固定領域に基本情報記録領域(ヘッダ格納領域112)を設けた形で情報コード100を生成することになる。
(情報コードの読取処理)
次に、図2の情報コード読取装置10によって図5右図、図9等に示す情報コード100を読み取る場合の処理について説明する。図19の読取処理は、例えばユーザによって所定操作(例えば、操作スイッチ42の操作等)がなされたときに実行されるものであり、まず、受光センサ23の撮像エリアにある二次元コードを撮像して当該二次元コードの撮像画像を取得すると共に、その二次元コードの形を検出する。具体的には、位置検出パターン104の認識や二次元コードの外形の検出を公知の方法で試みる。例えば、QRコード(登録商標)で行われる、1:1:3:1:1の波形を検出する公知の方法等により位置検出パターン104を検出し(S201)、撮像された二次元コードの外形をQRコード(登録商標)で行われる公知の方法で検出する(S202)。このような外形検出処理を行い得る構成では、情報コード100が撮像されている場合には、情報コード100の外形が検出されることになる。なお、外形検出方法は、特定パターンの形状や二次元コードの外形を検出し得る方法であれば他の方法であってもよい。
本構成では、受光センサ23が「撮像部」の一例に相当し、情報コード生成装置2によって生成された情報コード100を撮像するように機能する。
情報コード100の外形を検出し、情報コード100のコード領域を抽出できた場合には、情報コード100の所定位置105の情報(フォーマット情報)を解読し、撮像された情報コードの種別及びマスク訂正レベルを取得する(S203)。具体的には、例えば、上述したように所定位置105に記録された情報を上述の特定マスク(フレームQR用マスク)に基づいてマスク処理を解除して解読を試みる。上述の特定マスクのマスクを解除し得る方法でマスク処理を解除した時にチェックデジットが合う場合(即ち、所定位置105を解読したときの訂正レベルのデータとマスク番号のデータとに基づいて算出されたチェックデジットが、所定位置105に記録されたチェックデジットと合うような場合)には、情報コード100の種別(空き領域110を有する種別であるフレームQR)であることを特定することでき、フォーマット情報に含まれる誤り訂正レベル及びマスク番号も取得できることとなる。
S203の後には、S203で解読されたフォーマット情報に含まれるマスク番号に基づいてコード全体のマスクを解除する(S204)。その後、フォーマット情報の読み取り結果に基づいて情報コード100の種別(フレームQR)であるか否かを判断し、情報コード100の種別(フレームQR)である場合、即ち、上述の特定のマスクに基づいて所定領域105のマスク処理が解除されているときには、S205にてYesに進む。一方、図6に示すモデル1用のマスクやモデル2用のマスクなど、特定のマスク(フレームQR用マスク)以外の他のマスクによってマスク処理が解除されているときには、S205にてNoに進む。
S205でYesに進む場合、ヘッダ格納領域112に記録されるヘッダデータ(フレームQRヘッダー)を読み取る(S206)。そして、このヘッダデータから、情報コード100(フレームQR)の型番、形式、空き領域の位置情報、特定情報などを読み取る。この処理によって特定された型番により、図9のような基本構造、即ち、コード領域の行数及び列数、特定パターン領域の配置などを特定する(S207)。
S207の後には、コードワード領域を特定する(S208)。情報コード100(フレームQR)は、型番毎にコードワードの配置候補位置が定められているため、ヘッダデータによって型番が特定されれば、コード領域内でのコードワードの各配置候補位置が特定されることになる。そして、読み取り装置10に図5と同様の配置変換表が存在すれば、図5右図に示すような情報コード100の各配置候補位置のコードワード(データコードワード及び誤り訂正コードワード)をどの順番で読み取るかを特定することができる。なお、S205でNoに進む場合、S208では、一般的なQRコード(登録商標)を読み取る場合と同様の方法で、QRコード内の各コードワードの領域を特定する。
S208の後には、読取対象が情報コード100の種別(フレームQR)であるか否かを判断する。読取対象が一般的なQRコード(登録商標)の場合には、S209でNoに進み、公知の方法で二値化処理を行い(S211)、その後、各コードワードの内容を解読する。S211で二値化処理を行う場合、例えば、各小領域の中心位置の輝度を所定の閾値と比較し、中心の輝度が閾値を超える小領域については明色セルの領域と判定し、中心の輝度が閾値以下の小領域については暗色セルの領域と判定するように二値化処理を行えばよい。
一方、S209において、読取対象が情報コード100の種別(フレームQR)であると判定された場合には、S209にてYesに進み、ヘッダデータに記録された特定情報に基づく二値化処理を行う(S210)。この処理では、S208で位置が特定された各コードワード領域での明暗配列を特定する。具体的には、それぞれのコードワード領域において、各小領域を明色セル領域又は暗色セル領域のいずれかに分類する。
例えば、図18のような情報コード100のヘッダ格納領域112において図15のような特定情報が記録されていた場合、S206でこのようなヘッダデータが読み取られることで、特徴領域の位置(具体的には、各個別領域E1,E2の各位置)と、特徴領域でのセルの評価方法(具体的には、各個別領域E1,E2におけるセルの存在位置)とが特定される。そして、S210の二値化処理では、コードワード領域114のうち、ヘッダデータで特定される特徴領域(図18の例では個別領域E1,E2)については、ヘッダデータに記録された評価方法(具体的には、各個別領域E1,E2におけるセルの存在位置)に従って二値化処理を行い、それ以外の領域については、予め定められた一般的な方法で二値化処理を行う。
まず、図18で例示される特徴領域の二値化について説明する。ヘッダ格納領域112から特定情報を読み取った場合、個別領域E1に対応付けられた位置情報1(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E1の位置(図18参照)を特定することができ、個別領域E1に対応付けられた評価情報1(個別領域評価情報)により、個別領域E1を構成する各小領域Ca2でのセルの存在位置(個別領域E1を構成する小領域を複数の細分化領域A1〜A25に区分けしたときの、セルが存在する位置の細分化領域)を特定することができる。具体的には、位置情報1で特定される個別領域E1が図12(A)のような明暗構造が用いられている場合(即ち、暗色セルが図10(C)のような構造であり、明色セルが図10(E)のような構造である場合)、各小領域Ca2の明暗を判定する際には、図14(A)のように各小領域Ca2における領域A11の位置の輝度(具体的には、領域A11の縦方向及び横方向の中心位置P11の輝度)を検出する。そして、領域A11の中心位置P11の輝度が閾値を超えている小領域については、明色セルの領域と判定し、領域A11の中心位置P11の輝度が閾値以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E1内の各小領域の明暗を判定することができ、個別領域E1を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。
同様に、個別領域E2に対応付けられた位置情報2(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E2の位置(図18参照)を特定することができ、個別領域E2に対応付けられた評価情報2(個別領域評価情報)により、個別領域E2を構成する各小領域Ca2でのセルの存在位置(個別領域E2の小領域を複数の細分化領域A1〜A25に区分けしたときの、セルが存在する位置の細分化領域)を特定することができる。具体的には、位置情報2で特定される個別領域E2が図12(B)のような明暗構造が用いられている場合(即ち、暗色セルが図10(D)のような構造であり、明色セルが図10(E)のような構造である場合)、各小領域の明暗を判定する際に、各小領域における領域A3(図13)の位置の輝度(具体的には、領域A3の縦方向及び横方向の中心位置の輝度)を検出する。そして、領域A3の中心位置の輝度が閾値を超えている小領域については明色セルの領域と判定し、領域A3の中心位置の輝度が閾値以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E2内の各小領域の明暗を判定することができ、個別領域E2を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。
また、コードワード領域114のうちの特徴領域(個別領域E1,E2)以外の領域については、各小領域の中心位置の輝度(即ち、図13で示す領域A13の縦方向及び横方向の中心位置の輝度)を所定の閾値と比較し、中心位置の輝度が閾値を超える小領域については明色セルの領域と判定し、中心位置の輝度が閾値以下の小領域については暗色セルの領域と判定するように二値化処理を行えばよい。これにより、特徴領域(個別領域E1,E2)以外の領域においても、各コードワードでの明色セルと暗色セルの配列が決定することになる。
本構成では制御回路40が読取部の一例に相当する。また、制御回路40は、特定情報読取部の一例に相当し、受光センサ23(撮像部)によって撮像された情報コード100の撮像画像において、ヘッダ格納領域112(基本情報記録領域)を解析し、特定情報を読み取るように機能する。また、制御回路40は、特徴領域解読部の一例に相当し、特定情報読取部によって読み取られた特定情報に基づいて、特徴領域(例えば、図18の個別領域E1,E2)における小領域Ca2でのセルの評価方法を特定し、特徴領域に記録されたデータを解読するように機能する。
(本構成の効果の例)
本構成では、情報コード100の生成において、コード領域Ca1の内部において、少なくとも特定パターン領域以外の一部又は全部のセル配列領域を、小領域Ca2内でのセルの状態を所定状態とするような特徴領域(個別領域E1,E2)とする。そして、コード領域Ca1内の一部をなす基本情報記録領域(ヘッダ格納領域112)には、特徴領域(個別領域E1,E2)における小領域Ca2でのセルの評価方法を特定するための特定情報を記録する。
この方法によれば、コード領域Ca1内において、セルが所定状態となるような特徴的な領域を構成することができる。更に、基本情報記録領域(ヘッダ格納領域112)には、この特徴領域(個別領域E1,E2)でのセルの評価方法を特定する情報(特定情報)が記録されるため、特徴領域のセルを、当該情報コードと対応付けて予め定められた基準(セル評価方法)に基づいて評価することが可能となり、特徴領域のセルをより適正に読み取り易くなる。
具体的には、特徴領域(個別領域E1,E2)において、小領域内におけるセルの配置及び形状を所定のセル配置且つ所定のセル形状とし、基本情報記録領域(ヘッダ格納領域112)には、特定情報として、特徴領域の小領域におけるセルの存在位置を特定するセル位置情報を記録する。このように構成された情報コード100を読取装置10によって読み取る場合、基本情報記録領域(ヘッダ格納領域112)の内容を把握すれば特徴領域(個別領域E1,E2)における各小領域でのセルの存在位置をより正確に特定することが可能となる。つまり、一般的な読取方法を一律に行うのではなく、この情報コードの特徴領域を把握するために予め用意された特有の情報を利用して各小領域でのセル存在位置を特定することができるため、より正確に位置を特定した形で各セルを評価することができる。
また、小領域Caを複数の細分化領域に分ける細分化方法が予め定められており、特徴領域に応じてセル位置情報を生成・記録する場合、当該特徴領域の小領域を当該細分化方法で分けてなる複数の細分化領域の中で、少なくともセルが存在している領域を指定する領域指定情報を生成し、この領域指定情報をセル位置情報として基本情報記録領域(ヘッダ格納領域112)に格納する。このようにすれば、予め定められた細分化方法で分けられる複数の細分化領域の中でセルが存在している領域を指定するといった方法でセルの存在位置を示すことができるため、セルの存在位置を示すための情報量をそれほど大きくすることなく、しかもその情報をそれほど複雑化することなく、セルの存在位置をより具体的に示しやすくなる。
また、基本情報記録領域(ヘッダ格納領域112)には、特徴領域(個別領域E1,E2)の位置を特定するための特徴領域位置情報も記録している。この方法で生成された情報コード100を読み取る場合、基本情報記録領域(ヘッダ格納領域112)の内容を把握することで特徴領域の位置をより正確に特定すること可能となる。そして、少なくとも、このように正確に特定された特徴領域に対しては、一般的な方法を一律に適用するのではなく、当該特徴領域を評価するために予め定められた基準(セル評価方法)に基づいて評価することが可能となり、特徴領域のセルをより適正に読み取り易くなる。
また、本構成では、特徴領域を複数種類の個別領域E1,E2によって構成し、各々の個別領域毎にセルの状態を定めている。そして、基本情報記録領域(ヘッダ格納領域112)には、各々の個別領域E1,E2の各位置をそれぞれ特定するための個別領域位置情報と、各々の個別領域E1,E2の小領域におけるセルの評価方法をそれぞれ特定するための個別領域評価情報と、を記録する。この方法で生成された情報コード100を読み取る場合、基本情報記録領域(ヘッダ格納領域112)の内容を把握することで、複数の特徴領域(個別領域E1,E2)の各位置をより正確に特定すること可能となる。そして、このように位置が正確に特定された各個別領域E1,E2において、それぞれの個別領域のために予め定められた各基準(各セル評価方法)に基づく評価が可能となり、複数の個別領域のそれぞれにおいて、セルをより適正に読み取り易くなる。
また、本構成では、基本情報記録領域(ヘッダ格納領域112)を、コード領域Ca1内において予め定められた固定領域に設けている。この方法で生成された情報コード100を読み取る場合、予め決められた固定領域を解析すれば、特徴領域でのセルの評価方法を特定する情報(特定情報)を把握することが可能となる。
また、本構成では、コード領域Ca1の内部に、特定パターン領域と、データ記録領域と、基本情報記録領域(ヘッダ格納領域112)と、複数種類のセルによって誤り訂正符号を記録する誤り訂正符号記録領域と、を設けている。そして、コード領域Ca1の内部において、特定パターン領域、データ記録領域、基本情報記録領域、誤り訂正符号記録領域以外の位置に、データ記録領域にデータを記録する方法とは異なる方法で、データの記録又はデザインの表示の少なくともいずれかが可能となる空き領域110を、単一のセルのサイズよりも大きい所定サイズで設けている。この方法で情報コード100を生成すれば、コード領域の内部において特定パターン領域、データ記録領域、基本情報記録領域、誤り訂正符号記録領域以外の位置に、データ記録領域にデータを記録する方法とは異なる方法で、データの記録又はデザインの表示の少なくともいずれかが可能となる空き領域を確保することができる。このように、データ記録領域や誤り訂正符号記録領域の影響を受けにくい領域を確保すれば、情報コードを構成する上での自由度が増し、情報コードを利用する上での利便性をより高めやすくなる。
[第2実施形態]
次に、第2実施形態について説明する。
第2実施形態は、特徴領域における小領域の具体的内容と、小領域での評価方法のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。本構成では、特徴領域を構成する個別領域E1と個別領域E2とで、小領域におけるセルの濃度又は輝度を異ならせている点が主な相違点となっている。なお、上述した(情報コード生成装置)(情報コード読取措置)(情報コード)(情報コードの生成処理)などの基本的な内容は第1実施形態と同様であるため、これらについての詳細な説明は省略すると共に、適宜、図1〜図19を参照することとする。
本構成でも、情報コード100は、上述した図7のような流れで生成することができる。そして、この情報コード100を生成する際には、更なる特徴を付加することもできる。なお、情報コード100を生成する上での基本構成は、例えば、図8、図9と同様になっている。
この例でも、図7を参照して説明した基本的な生成処理(第1実施形態で説明した(情報コードの生成処理))において、S10で情報コード100(フレームQR)の型番が決定した場合、コード領域Ca1内の基本構造(予め型番と対応付けられた基本構造)が決定する。具体的には、コード領域Ca1の行数及び列数が決定し、位置検出パターン104やタイミングパターン106が配置される特定パターン領域の位置、フォーマット情報が配置される所定領域105の位置、ヘッダ情報が配置されるヘッダ格納領域112の位置、コードワード領域114の位置及び各コードワードのアドレスなども決定する。
以下では、図7のS10の処理において、図9のような基本構造をなす型番が選択された場合を説明する。なお、図9の基本構造は、第1実施形態と同様であるため、基本構造についての詳細な説明は省略する。
ここで、コードワード領域114を構成する各セル102の図形について説明する。図20(A)は、1つのセルを配列し得る最大領域(小領域Ca2)の外縁を二点鎖線にて示すものである。本構成では、この小領域Ca2に配置し得る暗色セル102bとして、複数種類の暗色セル102bが用意されており、例えば、図20(B)のように、小領域Ca2内の全領域を大きな濃度(第1濃度)にした暗色セルB1(種類1)、図20(C)のように、小領域Ca2内の全領域を中程度の濃度(第1濃度よりも小さい第2濃度)にした暗色セルB2(種類2)、図20(D)のように、小領域Ca2内の全領域を低い濃度(第2濃度よりも小さい第3濃度)にした暗色セルB3(種類3)などが用意されている。また、小領域Ca2に配置し得る明色セル102wとして全領域を所定濃度の明色(例えば、白色)にした明色セルW1が用意されている。
上述した図7の処理において、S11でコードワードを配置する場合、特に指定がなければ、各コードワードの小領域に、図20(B)のような暗色セル(小領域全体を第1濃度の暗色(例えば黒色)で塗り潰したセル)、又は図20(E)のような明色セル(小領域全体を明色(例えば白色)で塗り潰したセル)を配置するようにコードワードを構成することになる。
この例でも、図11(A)のような一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bについては、図20(B)のように小領域Ca2の全体を第1濃度の暗色(例えば黒色)で塗り潰したセルB1とし、明色セル102wについては、図20(E)のような小領域Ca2の全体を明色(例えば白色)で塗り潰したセルとする場合、この一部領域でのセルの配列、構造は図11(B)のようになる。
一方、コードワード領域114(図9)の一部又は全部の領域においていずれかの種類のセルを特徴構造に変化させる指定があった場合、その指定された領域では、指定された種類のセルを指定された特徴構造で配置する。つまり、このような指定があった場合には、図9で概念的に示すコード領域Ca1の内部において少なくとも特定パターン領域104以外の一部又は全部のセル配列領域を特徴領域(小領域Ca2内でのセルの状態を所定状態とするような領域)とすることができる。この場合も、指定は、S1でなされてもよく、S11でなされてもよい。
例えば、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bを図20(C)のような特徴状態(第2濃度の暗色)にする指定があり、明色セル102wを図20(E)のような状態にする指定があった場合、この一部領域は、図21(A)のように表現されることになる。
別例として、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bを図20(D)のような特徴状態(第3濃度の暗色)にする指定があり、明色セル102wを図20(E)のような状態にする指定があった場合、この一部領域は図21(B)のように表現される。
そして、このようなセル状態の指定は、コードワード領域114に設定される複数の領域に対してそれぞれ別個に行うことができる。例えば、図9のような型番の情報コード100(フレームQR)が生成される場合に、図7のS11の処理において領域E1(図18参照)が指定され、更に、この領域E1の暗色セルを図20(C)の状態とし、この領域E1の明色セルを図20(E)の状態にする指定(例えば、ユーザによってなされた入力による指定)があった場合、この領域E1の明色セル、暗色セルのそれぞれの構造は、図21(A)で示す明色セル、暗色セルのそれぞれと同様の構造になる。また、図7のS11の処理において領域E2(図18参照)が指定され、この領域E2の暗色セルを図20(D)の状態とし、この領域E2の明色セルを図20(E)の状態にする指定があった場合、この領域E2の明色セル、暗色セルのそれぞれの構造は、図21(B)で示す明色セル、暗色セルのそれぞれと同様の構造にする。なお、特に指定がなされていない領域(上記個別領域E1,E2以外の領域)については、デフォルトの明暗構造(例えば、暗色セルを図20(B)の状態とし、明色セルを図20(E)の状態とする構造)とする。
そして、このような特徴領域を設ける場合にも、特徴領域における小領域でのセルの評価方法を特定するための特定情報を生成し、この特定情報を最終的にヘッダ格納領域112(基本情報記録領域)に記録することになる。例えば、図18のように、特徴領域を複数種類の個別領域E1、E2によって構成し、各々の個別領域毎にセルの状態を定めた場合、各々の個別領域の各位置をそれぞれ特定するための個別領域位置情報と、各々の個別領域の小領域におけるセルの評価方法をそれぞれ特定するための個別領域評価情報と、をそれぞれ生成し、それらを特定情報としてヘッダ格納領域112(基本情報記録領域)に記録する。具体的には、図15と同様、個別領域E1に関する情報として、コード領域Ca1内での個別領域E1の位置を特定する位置情報1(個別領域位置情報)と、個別領域E1を評価するための評価情報1(個別領域評価情報)とが対応付けられている。また、個別領域E2に関する情報として、コード領域Ca1内での個別領域E2の位置を特定する位置情報2(個別領域位置情報)と、個別領域E2を評価するための評価情報2(個別領域評価情報)とが対応付けられている。
コード領域Ca1内での各個別領域E1,E2の位置をそれぞれ特定する位置情報1,2(個別領域位置情報)は第1実施形態と同様であり、例えば、各個別領域E1,E2で四隅の座標(個別領域の四隅を構成する各小領域の行位置、列位置の組み合わせ)などが挙げられる。
次に、個別領域毎に定められる評価情報(個別領域評価情報)について説明する。本構成では、図18のような情報コードの特徴領域を構成する各個別領域E1,E2において、小領域Ca2内の暗色セルの濃度をデフォルトの濃度とは異なる特徴的な濃度としている。例えば、個別領域E1については、暗色セルを図20(C)のような第2濃度の暗色(黒色)としており、この個別領域E1と対応付ける形で、当該個別領域E1の小領域でのセルの識別に用いる閾値情報(個別領域E1の各小領域が明色セル又は暗色セルのいずれに属するかを識別するために、各小領域から検出される輝度を比較するための閾値Th1)をセル評価情報(特定情報、個別領域評価情報)として生成する。つまり、閾値Th1は、暗色セルB2にて表される第2濃度の暗色と、明色セルW1にて表される明色とを識別するための閾値となっている。同様に、個別領域E2については、暗色セルを図20(D)のような第3濃度の暗色としており、この個別領域E2と対応付ける形で、当該個別領域E2の小領域でのセルの識別に用いる閾値情報(個別領域E2の各小領域が明色セル又は暗色セルのいずれに属するかを識別するために、各小領域から検出される輝度を比較するための閾値Th2)をセル評価情報(特定情報、個別領域評価情報)として生成する。閾値Th2は、暗色セルB3にて表される第3濃度の暗色と、明色セルW1にて表される明色とを識別するための閾値となっている。そして、このように生成された個別領域毎の特定情報(個別領域毎に定められる個別領域位置情報及び個別領域評価情報:図15参照)は、図3のようにヘッダデータの一部としてヘッダ格納領域112(基本情報記録領域)に格納しておくことになる。この例でも、情報コード生成装置2は、特徴領域を備えた情報コード100(フレームQR)を生成する場合、コード領域内における予め定められた固定領域に基本情報記録領域(ヘッダ格納領域112)を設けた形で情報コード100を生成することになる。
このように生成された情報コード100を読み取る場合、第1実施形態で説明した図19と同様の流れで読み取りを行うことができ、S210の処理のみを第1実施形態と異ならせればよい。この例では、S206にてヘッダ格納領域112から特定情報を読み取った場合、個別領域E1に対応付けられた位置情報1(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E1の位置(図18参照)を特定することができ、個別領域E1に対応付けられた評価情報1(個別領域評価情報)により、個別領域E1を構成する各小領域Ca2での判別に適用される閾値Th1(明色セルと暗色セルとを識別するための閾値情報)を特定することができる。具体的には、位置情報1で特定される個別領域E1が図21(A)のような明暗構造が用いられている場合(即ち、暗色セルが図20(C)のような構造であり、明色セルが図20(E)のような構造である場合)、各小領域Ca2の明暗を判定する際には、例えば各小領域Ca2の中心位置の輝度(具体的には、図13で示す領域A13の縦方向及び横方向の中心位置の輝度)を検出する。そして、領域A13の中心位置の輝度が上記閾値Th1を超えている小領域については、明色セルの領域と判定し、領域A13の中心位置の輝度が閾値Th1以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E1内の各小領域の明暗を判定することができ、個別領域E1を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。なお、本明細書では、撮像画像における各画素の輝度を評価する場合、例えば、所定の最大レベルの輝度をTmax(例えば255)とし、所定の最低レベルの輝度をTmin(例えば0)とし、最大レベルと最小レベルの間の各レベルの輝度をTmax〜Tminの各数値で段階的に示すことができる。
同様に、個別領域E2に対応付けられた位置情報2(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E2の位置(図18参照)を特定することができ、個別領域E2に対応付けられた評価情報2(個別領域評価情報)により、個別領域E2を構成する各小領域Ca2での判別に適用される閾値Th2(明色セルと暗色セルとを識別するための閾値情報)を特定することができる。具体的には、位置情報2で特定される個別領域E2が図21(B)のような明暗構造が用いられている場合(即ち、暗色セルが図20(D)のような構造であり、明色セルが図20(E)のような構造である場合)、各小領域Ca2の明暗を判定する際には、例えば各小領域Ca2の中心位置(具体的には、図13で示す領域A13の縦方向及び横方向の中心位置の輝度)を検出する。そして、領域A13の中心位置の輝度が上記閾値Th2を超えている小領域については、明色セルの領域と判定し、領域A13の中心位置の輝度が閾値Th2以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E2内の各小領域の明暗を判定することができ、個別領域E2を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。
また、コードワード領域114のうちの特徴領域(個別領域E1,E2)以外の領域については、各小領域の中心位置の輝度(即ち、図13で示す領域A13の縦方向及び横方向の中心位置の輝度)を所定の閾値Th3と比較し、中心位置の輝度が閾値Th3を超える小領域については明色セルの領域と判定し、中心位置の輝度が閾値Th3以下の小領域については暗色セルの領域と判定するように二値化処理を行えばよい。これにより、特徴領域(個別領域E1,E2)以外の領域においても、各コードワードでの明色セルと暗色セルの配列が決定することになる。なお、閾値Th1,Th2,Th3の関係は、例えば、Th1>Th2>Th3としてもよく、Th1<Th2<Th3としてもよい。
本構成では、ヘッダ格納領域112(基本情報記録領域)に、特徴領域(個別領域E1,E2)の小領域におけるセルの濃度の評価方法を特定するためのセル表示評価情報を特定情報として記録している。この方法で生成された情報コードの特徴領域を読み取る場合、一般的な読取方法を一律に行うのではなく、この特徴領域を構成するセルの濃度を評価するために予め用意された評価方法を利用して各セルの状態を評価することができるため、この情報コードに対応付けられた特有の評価方法に基づく適切な評価が可能となる。
具体的には、コード領域内に、セルとして、明色セルと暗色セルとを配列し、ヘッダ格納領域112(基本情報記録領域)には、セル表示評価情報として、特徴領域(個別領域E1,E2)の小領域において明色セルと暗色セルとを識別するための閾値情報を記録している。具体的には、個別領域E1と対応付ける形で、当該個別領域E1の小領域において明色セルと暗色セルとを識別するための第1閾値情報を記録し、個別領域E2と対応付ける形で、当該個別領域E2の小領域において明色セルと暗色セルとを識別するための第2閾値情報を記録している。この方法で生成された情報コードの特徴領域(個別領域E1,E2)を読み取る場合、一般的な閾値を一律に用いるのではなく、特徴領域(個別領域E1,E2)のセルを識別するために予め用意された閾値を利用して各セルの明暗を安定できるようになる。よって、この情報コードに対応付けられた特有の閾値に基づく適切な判定が可能となる。
なお、第2実施形態についての上記代表例では、印刷などによって構成される情報コード100を想定し、個別領域毎に暗色領域の濃度を異ならせ、個別領域毎に、二値化処理に用いる閾値を定める例を示したが、この例に限られない。例えば、表示装置などによって表される情報コード100を想定した場合、個別領域毎に暗色領域の輝度を異ならせるようにしてもよい。この場合も、個別領域毎に暗色領域の輝度を異ならせる点以外は代表例と同様であり、個別領域E1,E2のそれぞれに対応付けて二値化処理に用いる閾値を代表例と同様に定め、それぞれの閾値を個別領域評価情報(特定情報)としてヘッダ格納領域112に記憶しておけばよい。この場合、個別領域E1,E2のそれぞれに対応付けて定められる閾値が、セルの輝度の評価方法を特定するためのセル表示評価情報に相当する。
[第3実施形態]
次に、第3実施形態について説明する。
第3実施形態は、特徴領域における小領域の具体的内容と、小領域での評価方法のみが第1実施形態と異なり、それ以外は第1実施形態と同様である。本構成では、特徴領域を構成する個別領域E1と個別領域E2とで、小領域におけるセルの色(色相)を異ならせている点が主な相違点となっている。なお、上述した(情報コード生成装置)(情報コード読取措置)(情報コード)(情報コードの生成処理)などの基本的な内容は第1実施形態と同様であるため、これらについての詳細な説明は省略すると共に、適宜、図1〜図19を参照することとする。
本構成でも、情報コード100は、上述した図7のような流れで生成することができる。そして、この情報コード100を生成する際には、更なる特徴を付加することもできる。なお、情報コード100を生成する上での基本構成は、例えば、図8、図9と同様になっている。
この例でも、図7を参照して説明した基本的な生成処理(第1実施形態で説明した(情報コードの生成処理))において、S10で情報コード100(フレームQR)の型番が決定した場合、コード領域Ca1内の基本構造(予め型番と対応付けられた基本構造)が決定する。具体的には、コード領域Ca1の行数及び列数が決定し、位置検出パターン104やタイミングパターン106が配置される特定パターン領域の位置、フォーマット情報が配置される所定領域105の位置、ヘッダ情報が配置されるヘッダ格納領域112の位置、コードワード領域114の位置及び各コードワードのアドレスなども決定する。
以下では、図7のS10の処理において、図9のような基本構造をなす型番が選択された場合を説明する。なお、図9の基本構造は、第1実施形態と同様であるため、基本構造についての詳細な説明は省略する。
ここで、コードワード領域114を構成する各セル102の図形について説明する。図22(A)は、1つのセルを配列し得る最大領域(小領域Ca2)の外縁を二点鎖線にて示すものである。本構成では、この小領域Ca2に配置し得る暗色セル102bとして、例えば、図22(B)のように、小領域Ca2内の全領域を黒色にした暗色セルB1が用意されている。また、小領域Ca2に配置し得る明色セル102wとして、図22(E)のように、全領域を白色にした明色セルW1(種類1)、図22(C)のように、小領域Ca2内の全領域を青色にした明色セルW2(種類2)、図22(D)のように、小領域Ca2内の全領域を赤色にした明色セルW3(種類3)などが用意されている。
上述した図7の処理において、S11でコードワードを配置する場合、特に指定がなければ、各コードワードの小領域に、図22(B)のような暗色セル(黒色で塗り潰したセル)、又は図22(E)のような明色セル(小領域全体を明色(例えば白色)で塗り潰したセル)を配置するようにコードワードを構成することになる。
この例でも、図11(A)のような一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、暗色セル102bについては、図22(B)のように小領域Ca2の全体を第1濃度の暗色(例えば黒色)で塗り潰したセルB1とし、明色セル102wについては、図22(E)のような小領域Ca2の全体を明色(例えば白色)で塗り潰したセルとする場合、この一部領域でのセルの配列、構造は図11(B)のようになる。
一方、コードワード領域114(図9)の一部又は全部の領域においていずれかの種類のセルを特徴構造に変化させる指定があった場合、その指定された領域では、指定された種類のセルを指定された特徴構造で配置する。つまり、このような指定があった場合には、図9で概念的に示すコード領域Ca1の内部において少なくとも特定パターン領域104以外の一部又は全部のセル配列領域を特徴領域(小領域Ca2内でのセルの状態を所定状態とするような領域)とすることができる。この場合も、指定は、S1でなされてもよく、S11でなされてもよい。
例えば、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、明色セル102wを図22(C)のような特徴状態(青色)にする指定があり、暗色セル102bを図22(B)のような状態にする指定があった場合、この一部領域は、図23(A)のように青色セルW2と黒色セルB1との明暗配列で表現されることになる。
別例として、図11(A)で示すような一部領域が指定され、この一部領域において、領域1、3、4、5、6、9、11、14、16を暗色セル102bで表わし、その他の領域を明色セル102wで表す場合、明色セル102wを図22(D)のような特徴状態(赤色)にする指定があり、暗色セル102bを図22(B)のような状態にする指定があった場合、この一部領域は、図23(B)のように赤色セルW3と黒色セルB1との明暗配列で表現されることになる。
そして、このようなセル状態の指定は、コードワード領域114に設定される複数の領域に対してそれぞれ別個に行うことができる。例えば、図9のような型番の情報コード100(フレームQR)が生成される場合に、図7のS11の処理において領域E1(図18参照)が指定され、更に、この領域E1の暗色セルを図22(B)の状態とし、この領域E1の明色セルを図22(C)の状態にする指定(例えば、ユーザによってなされた入力による指定)があった場合、この領域E1の明色セル、暗色セルのそれぞれの構造は、図23(A)で示す明色セル、暗色セルのそれぞれと同様の構造になる。また、図7のS11の処理において領域E2(図18参照)が指定され、この領域E2の暗色セルを図22(B)の状態とし、この領域E2の明色セルを図22(D)の状態にする指定があった場合、この領域E2の明色セル、暗色セルのそれぞれの構造は、図23(B)で示す明色セル、暗色セルのそれぞれと同様の構造にする。なお、特に指定がなされていない領域(上記個別領域E1,E2以外の領域)については、デフォルトの明暗構造(例えば、暗色セルを図22(B)の状態とし、明色セルを図22(E)の状態とする構造)とする。
そして、このような特徴領域を設ける場合にも、特徴領域における小領域でのセルの評価方法を特定するための特定情報を生成し、この特定情報を最終的にヘッダ格納領域112(基本情報記録領域)に記録することになる。例えば、図18のように、特徴領域を複数種類の個別領域E1、E2によって構成し、各々の個別領域毎にセルの状態を定めた場合、各々の個別領域の各位置をそれぞれ特定するための個別領域位置情報と、各々の個別領域の小領域におけるセルの評価方法をそれぞれ特定するための個別領域評価情報と、をそれぞれ生成し、それらを特定情報としてヘッダ格納領域112(基本情報記録領域)に記録する。具体的には、図15と同様、個別領域E1に関する情報として、コード領域Ca1内での個別領域E1の位置を特定する位置情報1(個別領域位置情報)と、個別領域E1を評価するための評価情報1(個別領域評価情報)とが対応付けられている。また、個別領域E2に関する情報として、コード領域Ca1内での個別領域E2の位置を特定する位置情報2(個別領域位置情報)と、個別領域E2を評価するための評価情報2(個別領域評価情報)とが対応付けられている。
コード領域Ca1内での各個別領域E1,E2の位置をそれぞれ特定する位置情報1,2(個別領域位置情報)は第1実施形態と同様であり、例えば、各個別領域E1,E2で四隅の座標(個別領域の四隅を構成する各小領域の行位置、列位置の組み合わせ)などが挙げられる。
次に、個別領域毎に定められる評価情報(個別領域評価情報)について説明する。本構成では、図18のような情報コードの特徴領域を構成する各個別領域E1,E2において、小領域Ca2内の明色セルの色(色相)をデフォルトの色(白色)とは異なる特徴的な色(色相)としている。例えば、個別領域E1については、明色セルを図22(C)のような青色セルB2としており、図15のように、個別領域E1と対応付ける形で、「重み付け指定情報」(評価情報1)をセル評価情報(特定情報、個別領域評価情報)として生成する。なお、ここでの「重み付け指定情報」(評価情報1)は、特徴領域E1の小領域におけるセルの色相の評価方法を特定するためのセル評価情報に相当し、具体的には、特徴領域E1の小領域に配置されたセルの撮像画像を解析する上での、R要素の重み付けα、G要素の重み付けβ、B要素の重み付けγを指定する情報となっている。
本システムで用いられる読取装置10では、受光センサ23がカラーセンサとして構成され、多数行多数列配列された各素子において、受光される光のR要素(R成分の輝度値)、G要素(G成分の輝度値)、B要素(B成分の輝度値)を検出できるようになっている。そして、各素子で検出されたR要素(R成分の輝度値)、G要素(G成分の輝度値)、B要素(B成分の輝度値)に基づき、各素子の輝度値(即ち、撮像画像を構成する各画素の輝度値)を図24(A)の式(L=αR+βG+γB)で算出している。なお、この式では、Lは画素の輝度値であり、αは、R成分の重み付けであり、Rは、当該画素でのR成分の輝度値であり、βは、G成分の重み付けであり、Gは、当該画素でのG成分の輝度値であり、γは、B成分の重み付けであり、Bは、当該画素でのB成分の輝度値である。なお、α+β+γ=1である。また、デフォルトの重み付けは、例えば、α=0,299、β=0.587、γ=0.144となっている。
図15のように個別領域E1と対応付けられる「重み付け指定情報」(評価情報1)は、例えばα=0、β=0、γ=1の情報となっており、B要素(B成分)の重み付けを最も大きくすることを指定する情報となっている。例えば、図24(B)のように、情報コード100を撮像したときの撮像画像における一画素(具体的には、図22(C)で示す青色セルW2の中心位置の画素)での各成分の輝度の検出結果が、R=0、G=0、B=255であった場合、上述したデフォルトの重み付けを用いた場合の当該画素の輝度の算出結果は29.07となる。一方、図24(C)のように、上述した「重み付け指定情報」(評価情報1)で指定された重み付けを用いた場合の当該画素の輝度の算出結果は255となる。このように、青色又は青色の度合いが大きくなるような明色セルを用いる場合、「重み付け指定情報」(評価情報1)によって指定された重み付けを用いて算出を行えば、青色をより評価する輝度値が得られることになり、暗色セルで検出される輝度値との差が大きくなりやすい(つまり、明暗をより正確に区別しやすい)。なお、本構成では、R成分の輝度が所定の最低レベルのときにR成分の輝度を0とし、所定の最高レベルのときにR成分の輝度を255とする。同様に、G成分の輝度が所定の最低レベルのときにG成分の輝度を0とし、所定の最高レベルのときにG成分の輝度を255とする。また、B成分の輝度が所定の最低レベルのときにB成分の輝度を0とし、所定の最高レベルのときにB成分の輝度を255とする。
また、個別領域E2については、明色セルを図22(D)のような赤色セルE3としており、図15のように、この個別領域E2と対応付ける形で、「重み付け指定情報」(評価情報2)をセル評価情報(特定情報、個別領域評価情報)として生成する。この「重み付け指定情報」(評価情報2)は、特徴領域E2の小領域に配置されたセルの撮像画像を解析する上での、R要素の重み付けα、G要素の重み付けβ、B要素の重み付けγを指定する情報となっている。個別領域E2と対応付けられる「重み付け指定情報」(評価情報2)は、例えばα=1、β=0、γ=0となっており、R要素(R成分)の重み付けを最も大きくすることを指定する情報となっている。例えば、図24(D)のように、情報コード100を撮像したときの撮像画像における一画素(例えば、赤色セルE3の中心位置の画素)の輝度の検出結果が、R=255、G=0、B=0であった場合、上述した「重み付け指定情報」(評価情報2)で指定された重み付けを用いた場合の当該画素の輝度の算出結果は255となる。このように、赤色又は赤色の度合いが大きくなるような明色セルを用いる場合、「重み付け指定情報」(評価情報2)によって指定された重み付けを用いて算出を行えば、赤色をより評価する輝度値が得られることになり、暗色セルで検出される輝度値との差が大きくなりやすい(つまり、明暗をより正確に区別しやすい)。
そして、このように生成された個別領域毎の特定情報(個別領域毎に定められる個別領域位置情報及び個別領域評価情報:図15参照)は、図3のようにヘッダデータの一部としてヘッダ格納領域112(基本情報記録領域)に格納しておくことになる。この例でも、情報コード生成装置2は、特徴領域を備えた情報コード100(フレームQR)を生成する場合、コード領域内における予め定められた固定領域に基本情報記録領域(ヘッダ格納領域112)を設けた形で情報コード100を生成することになる。
このように生成された情報コード100を読み取る場合、第1実施形態で説明した図19と同様の流れで読み取りを行うことができ、S210の処理のみを第1実施形態と異ならせればよい。この例では、S206にてヘッダ格納領域112から特定情報を読み取った場合、個別領域E1に対応付けられた位置情報1(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E1の位置(図18参照)を特定することができ、個別領域E1に対応付けられた評価情報1(個別領域評価情報)により、個別領域E1を構成する各小領域Ca2での判別に適用される重み付けα、β、γを特定することができる。具体的には、位置情報1で特定される個別領域E1が図23(A)のような明暗構造が用いられている場合(即ち、暗色セルが図22(B)のような構造であり、明色セルが図22(C)のような構造である場合)、各小領域Ca2の輝度を算出する際に、α=0,β=0、γ=1の重み付けを用いる。各小領域Ca2の明暗を判定する際には、例えば各小領域Ca2の中心位置(具体的には、図13で示す領域A13の縦方向及び横方向の中心位置)の画素の輝度Lを、この重み付け(α=0、β=0、γ=1)を用いた図24(A)の式によって算出する。そして、領域A13(図13)の中心位置の画素の輝度(具体的には、小領域の中心位置の画素におけるB成分の輝度値)が所定の閾値Tを超えている小領域については、明色セルの領域と判定し、領域A13の中心位置の画素の輝度が閾値T以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E1内の各小領域の明暗を判定することができ、個別領域E1を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。
同様に、個別領域E2に対応付けられた位置情報2(個別領域位置情報)によって、コード領域Ca1全体の中での個別領域E2の位置(図18参照)を特定することができ、個別領域E2に対応付けられた評価情報2(個別領域評価情報)により、個別領域E2を構成する各小領域Ca2での判別に適用される重み付けα、β、γを特定することができる。具体的には、位置情報2で特定される個別領域E2が図23(B)のような明暗構造が用いられている場合(即ち、暗色セルが図22(B)のような構造であり、明色セルが図22(D)のような構造である場合)、各小領域Ca2の輝度を算出する際に、α=1、β=0、γ=0の重み付けを用いる。各小領域Ca2の明暗を判定する際には、例えば各小領域Ca2の中心位置(具体的には、図13で示す領域A13の縦方向及び横方向の中心位置)の画素の輝度Lを、この重み付け(α=1,β=0、γ=0)を用いた図24(A)の式によって算出する。そして、領域A13(図13)の中心位置の画素の輝度(具体的には、小領域の中心位置の画素におけるR成分の輝度値)が所定の閾値Tを超えている小領域については、明色セルの領域と判定し、領域A13の中心位置の画素の輝度が閾値T以下の小領域については暗色セルの領域と判定する。このようにして、個別領域E2内の各小領域の明暗を判定することができ、個別領域E2を構成する各コードワードにおいて明色セルと暗色セルの配列が決定することになる。
また、コードワード領域114(図18)のうちの特徴領域(個別領域E1,E2)以外の領域については、各小領域Ca2の輝度を算出する際に、デフォルトの重み付け(α=0.299、β=0.587、γ=0.144の重み付け)を用いる。そして、この領域において各小領域Ca2の明暗を判定する際には、例えば各小領域Ca2の中心位置(具体的には、図13で示す領域A13の縦方向及び横方向の中心位置)の画素の輝度Lを、この重み付け(α=0.299、β=0.587、γ=0.144)を用いた図24(A)の式によって算出する。そして、領域A13(図13)の中心位置の画素の輝度が所定の閾値Tを超えている小領域については、明色セルの領域と判定し、領域A13の中心位置の画素の輝度が閾値T以下の小領域については暗色セルの領域と判定する。これにより、特徴領域(個別領域E1,E2)以外の領域においても、各コードワードでの明色セルと暗色セルの配列が決定することになる。
以上のように、本構成では、ヘッダ格納領域112(基本情報記録領域)に、特徴領域(個別領域E1,E2)の小領域におけるセルの色相の評価方法を特定するためのセル表示評価情報を特定情報として記録している。この方法で生成された情報コードの特徴領域を読み取る場合、一般的な読取方法を一律に行うのではなく、この特徴領域を構成するセルの色相を評価するために予め用意された評価方法を利用して各セルの状態を評価することができるため、この情報コードに対応付けられた特有の評価方法に基づく適切な評価が可能となる。
具体的には、セル表示評価情報として、特徴領域(個別領域E1,E2)の小領域に配置されたセルの撮像画像を解析する上での、R要素、G要素、B要素の重み付けを指定する重み付け指定情報をヘッダ格納領域112(基本情報記録領域)に記録する。例えば、個別領域E1の小領域に配置されたセルの撮像画像を解析する上での、R要素、G要素、B要素の重み付けを指定する第1重み付け指定情報(α=0、β=0、γ=1)と、個別領域E2の小領域に配置されたセルの撮像画像を解析する上での、R要素、G要素、B要素の重み付けを指定する第2重み付け指定情報(α=1、β=0、γ=0)とをヘッダ格納領域112(基本情報記録領域)に記録する。この方法で生成された情報コードのヘッダ格納領域112(基本情報記録領域)を読み取る場合、一般的な読取方法を一律に行うのではなく、この特徴領域(個別領域E1,E2)を構成するセルの撮像画像を解析するために予め用意された重み付け(R要素、G要素、B要素の重み付け)を利用して各セルの状態を評価することができるため、この情報コードに対応付けられた特有の評価方法(RGBの各要素の重み付けの設定方法)に基づく適切な評価が可能となる。
[第4実施形態]
次に、第4実施形態について説明する。
第4実施形態は、第1実施形態の説明で上述した(情報コード生成装置)(情報コード読取措置)(情報コード)(情報コードの生成処理)などの基本的な内容は、ヘッダデータに特徴情報を記録しない点以外は、第1実施形態と同様である。よって、これらについての詳細な説明は省略すると共に、適宜、図1〜図19を参照することとする。
本構成でも、第1実施形態と同様のハードウェア構成をなす情報コード生成装置2により、所定のコード領域の内部における複数の小領域の各々に、情報を表示する単位となるセルを配列した形で情報コード100(図25)を生成するようになっている。また、第1実施形態と同様のハードウェア構成をなす情報コード読取装置10により、この情報コード100を読み取ることができる。
情報コード生成装置2による生成処理の基本的な流れは図7と同様である。そして、この情報コード100を生成する際には、更なる特徴を付加することもできる。なお、情報コード100を生成する上での基本構成は、例えば、図8、図9と同様になっている。即ち、本構成でも、情報コード生成装置2は、コード領域Ca1(図8、図9)の内部に、予め定められた形状の特定パターンが配置される特定パターン領域(位置検出パターン104、セパレータ109、タイミングパターン106の領域)と、複数種類のセルによって解読対象データを記録するデータ記録領域(コードワード領域114のうち、解読対象となるデータが記録される領域)と、誤り訂正データ記録領域(コードワード領域114のうち、誤り訂正符号が記録される領域)と、データ記録領域に記録された解読対象データを読み取るための基本情報を記録する基本情報記録領域と、空き領域110と、を設けた形で情報コード100を生成する。なお、特定パターン領域、データ記録領域、誤り訂正データ記録領域、空き領域110、コードワード領域114、所定領域105(フォーマット領域)、ヘッダ格納領域112の配置や記録内容は、ヘッダ格納領域112に特定情報を記録していない点以外は第1実施形態で示した情報コード100(図9)と同様となっている。なお、以下では、所定領域105(フォーマット領域)が基本情報記録領域に相当する例を代表例として説明する。
本構成に係る生成装置2では、図25のように、コード領域Ca1の内部において、少なくとも特定パターン領域以外のセル配列領域であって且つ基本情報記録領域(所定領域105)を含んだ領域を、小領域Ca2内でのセルの状態が予め用意された複数種類の候補状態の中から選ばれるいずれかの候補状態となるような特徴領域とした形で情報コード100を生成している。この例では、特定パターン領域(位置検出パターン104、セパレータ109、タイミングパターン106)以外の領域が全て特徴領域となっており、この特徴領域での明色セルと暗色セルの組み合わせは、予め決められた複数の組み合わせ候補の中から選ばれるようになっている。
生成装置2では、複数の組み合わせ候補として、例えば、明色セルを図10(E)の構造とし、暗色セルを図10(B)の構造とする組み合わせ(第1候補)と、明色セルを図10(E)の構造とし、暗色セルを図10(C)の構造とする組み合わせ(第2候補)と、明色セルを図10(E)の構造とし、暗色セルを図10(D)の構造とする組み合わせ(第3候補)とが決められている。そして、生成装置2が情報コード100を生成する際には、特定パターン領域と空き領域以外の全領域(特徴領域)を、いずれかの候補の明暗配列とする。なお、図25では、第2候補の明暗配列とした例を示しており、例えば、所定領域105(フォーマット領域)において、小領域全体が白色で表わされた明色セル(図10(E)と同様の明色セル)と、小領域の一部に三日月形の黒色塗り潰し領域が表された暗色セル(図10(C)と同様の暗色セル)とが配列されている。また、ヘッダ格納領域112や、コードワード領域114についても、小領域全体が白色で表わされた明色セル(図10(E)と同様の明色セル)と、小領域の一部に三日月形の黒色塗り潰し領域が表された暗色セル(図10(C)と同様の暗色セル)とによってデータを表すことになる。このように、本構成では、特徴領域において、小領域Ca2内での明色セルの配置及び形状を所定の明色セル配置且つ所定の明色セル形状(上述した組み合わせで定まる配置及び形状)としており、小領域Ca2内での暗色セルの配置及び形状を所定の暗色セル配置且つ所定の暗色セル形状(上述した組み合わせで定まる配置及び形状)としている。そして、小領域内でセル存在位置が特定できれば、その位置の輝度を閾値と比較することで、明色セルであるか、暗色セルであるかを判別できるようになっている。
次に、情報コード読取装置10によって、上述した情報コード100(図25)を読み取る場合について説明する。なお、この例でも、受光センサ23が情報コード100を撮像する撮像部に相当し、制御回路40が、撮像部によって撮像された情報コード100を読み取る読取部に相当することになる。
この例でも、第1実施形態で説明した図19と同様の流れで読取処理を行うことができる。但し、本構成では、ヘッダデータから特定情報を読み取るのではなく、S203でのフォーマット情報の読み取りによって、特徴領域内における各小領域でのセルの存在位置を特定するようになっている。
具体的には、S203にてフォーマット情報を読み取る場合、所定領域105(フォーマット領域)を読み取る場合、組み合わせ候補1に対応するセル位置での読み取りと、組み合わせ候補2に対応するセル位置での読み取りと、組み合わせ候補3に対応するセル位置での読み取りを全て行う。
組み合わせ候補1に対応するセル位置での読み取りは、各々の小領域において、各小領域の中心位置(図13で示す領域13の縦方向及び横方向の中心位置)の輝度を検出し、その輝度が閾値Tを超えていれば明色と判定し、その輝度が閾値を超えていなければ暗色と判定する方法(第1の方法)により、所定領域105(フォーマット領域)における明色セルと暗色セルの配列を決定し、所定領域105(フォーマット領域)の解読を行う方法である。
組み合わせ候補2に対応するセル位置での読み取りは、各々の小領域において、各小領域の左寄りの位置(図13で示す領域11の縦方向及び横方向の中心位置)の輝度を検出し、その輝度が閾値Tを超えていれば明色と判定し、その輝度が閾値を超えていなければ暗色と判定する方法(第2の方法)により、所定領域105(フォーマット領域)における明色セルと暗色セルの配列を決定し、所定領域105(フォーマット領域)の解読を行う方法である。
組み合わせ候補3に対応するセル位置での読み取りは、各々の小領域において、各小領域の上寄りの位置(図13で示す領域3の縦方向及び横方向の中心位置)の輝度を検出し、その輝度が閾値Tを超えていれば明色と判定し、その輝度が閾値を超えていなければ暗色と判定する方法(第3の方法)により、所定領域105(フォーマット領域)における明色セルと暗色セルの配列を決定し、所定領域105(フォーマット領域)の解読を行う方法である。
そして、S203において、いずれかの候補に対応する読み取り方法が成功した場合(即ち、いずれかの候補に対応する読み取り方法によって読み取りを行った場合に、チェックデジットが適正であった場合)、S210では、その成功した方法を用いてS210の二値化処理を行う。例えば、図25の例は、所定領域105が、組み合わせ候補2の明暗配列となっている。このような例では、組み合わせ候補2に対応するセル位置での読み取りを行い、各々の小領域において、各小領域の左寄りの位置(図13で示す領域11の縦方向及び横方向の中心位置)の輝度を検出し、その輝度が閾値Tを超えていれば明色と判定し、その輝度が閾値を超えていなければ暗色と判定する方法(第2の方法)を用いれば、各小領域においてセル位置の輝度を正確に判定できるようになり、所定領域105の明暗配列が正確に決定できることになるため、所定領域105の読み取りが成功することになる。このような場合には、それ以外のヘッダ格納領域112や、コードワード領域114についても、組み合わせ候補2に対応するセル位置での読み取りを行えばよい。即ち、これらの領域を構成する各小領域の明暗を判定する場合、各小領域の左寄りの位置(図13で示す領域11の縦方向及び横方向の中心位置)の輝度を検出し、その輝度が閾値Tを超えていれば明色と判定し、その輝度が閾値を超えていなければ暗色と判定する方法(第2の方法)を用いればよい。なお、明色セルと暗色セルが特定された後の解読方法は、第1実施形態と同様である。
本構成では、制御回路40が評価方法特定部の一例に相当し、撮像部によって撮像された情報コード100の撮像画像における基本情報記録領域(例えば、所定領域105)の画像を、予め用意された複数種類の評価方法をそれぞれ用いて解析し、基本情報記録領域(例えば、所定領域105)を読取可能な評価方法を特定するように機能する。また、制御回路40が、特徴領域解読部の一例に相当し、評価方法特定部によって特定された読取可能な評価方法に基づいて、特徴領域に記録されたデータを解読するように機能する。
本構成によれば、情報コード生成装置2により、小領域内でのセルの状態がいずれかの候補状態となるような特徴的な領域を設けた形で情報コード100を生成することができる。また、生成される情報コード100は、基本情報記録領域(例えば、フォーマット領域として構成される所定領域105)のセルが上記候補状態となるため、基本情報記録領域を解析することで候補状態が特定できるようになる。一方、情報コード読取装置10には、評価方法特定部が設けられ、撮像部によって撮像された情報コードの撮像画像における基本情報記録領域(所定領域105)の画像を、予め用意された複数種類の評価方法をそれぞれ用いて解析し、基本情報記録領域を読取可能な評価方法を特定するように構成されている。このように構成されているため、情報コード生成装置によって生成された情報コードを情報コード読取装置によって読み取る際には、基本情報記録領域を読取可能な評価方法(即ち、特徴領域でのセル状態に適した評価方法)を、評価方法特定部によって特定できるようになる。そして、このように得られた適切な評価方法に基づき、特徴領域に記録されたデータを特徴領域解読部によって解読することができる。
[第5実施形態]
次に、第5実施形態について、図面を参照して説明する。
第5実施形態の情報コード利用システムは、ハードウェア構成については第1実施形態と同一であり、上述した図1、図2のような構成が用いられる。
上述した実施形態では、フレームQRとして構成される特徴的な情報コード100を例示したが、このような例に限られない。例えば、誤り訂正が可能な一般的な二次元コード(例えばQRコード等)のセル配置領域に、上述したような空き領域を上書き等によって設け、このような空き領域によって潰れた領域のデータを誤り訂正によって復元するようにしてもよい。このように、空き領域が誤り訂正によって復元できる構成であれば、様々な構成に適用できるが、以下では、その一例を説明する。
第5実施形態の情報コード利用システムでは、情報コード生成装置2(図1等参照)により図26(B)のような情報コード200を生成する。この構成でも、コード領域の内部に、予め定められた形状の特定パターン(位置検出パターン204)が配置される特定パターン領域と、複数種類のセルによってデータを記録するデータ記録領域と、データ記録領域にデータを記録する方法とは異なる方法で、データの記録又はデザインの表示の少なくともいずれかが可能となる空き領域210とを設けている。
この構成では、空き領域210内の構成以外は、公知のQRコード(登録商標)として構成されており、まず、図26(A)のように、コード領域の内部に、特定パターン領域と、データ記録領域と、複数種類のセルによって誤り訂正符号を記録する誤り訂正符号記録領域とを設けている。なお、データ記録領域でのデータコードワードの記録方法及び誤り訂正符号記録領域での誤り訂正コードワードの記録方法は公知のQRコード(登録商標)と同様であり、例えば、JISX0510で規定される方式でコード領域内の位置検出パターン204の配置、データ記録領域におけるデータコードワードの配置、誤り訂正符号記録領域での誤り訂正コードワードの配置が定められている。
但し、図26(A)のように、一部領域のコードワードを、白セルのみによって表現されるコードワードとして構成した情報コード200’を生成し、このように白セルのみによって表現される領域ARを空き領域210としている。そして、図26(B)の例では、空き領域210内に、第1実施形態の図1と同様の画像を表している。このように構成した場合、図26(A)のような本来のデータ表示とは異なった構成になるが、この空き領域210でのデータの誤りは、誤り訂正符号記録領域に記録された誤り訂正符号を用いて公知の誤り訂正を行えばよい。
また、図26(B)に示す情報コード200では、空き領域210の位置が予め特定されるため、空き領域210内にデザインや情報を付加して表示する場合にはこの表示による誤り位置が予め分かっていることになる。従って、空き領域210の位置を誤り位置として消失訂正を行うように誤り訂正符号記録領域の誤り訂正符号を構成することもできる。この場合、空き領域210の位置を示す情報を予めデータ記録領域に記録しておいたり、或いは、予め読取装置10(図1)内に記憶しておくことで、読取時に読取装置10が空き領域210の位置(即ち、誤りが生じているデータコードワードの位置)を特定することができるようになり、読取装置10は、このように位置が特定された空き領域210に存在するデータコードワードの誤りを訂正するように、誤り訂正符号記録領域に記録された誤り訂正符号を用いて消失訂正を行うようにすればよい。
また、図26のように既存のQRコード(登録商標)の一部を空き領域210として構成する場合、データ記録領域に記録されるデータにおいて、図28(A)のような識別情報を含ませておけばよい。図28(A)は、データ記録領域に記録される解読対象データ構成を概念的に示しており、この例では、解読対象データの先頭部分に、所定構成(%%IMAGE%%)のデータが付されている。このように構成しておけば、読取装置10は、データ記録領域に記録される解読対象データの中からこの識別情報(%%IMAGE%%)を検出したときに、例えば、空き領域210の画像認識処理を行うことができるようになり、逆に、識別情報(%%IMAGA%%)を検出できないときには通常のデコード処理を行うことになる。また、この例では、データ記録領域のデータとして、通常のデータ以外に、空き領域210の位置を特定する位置データや、その他の付随情報が含まれていることが望ましい。また、図28(A)に示すデータは、データ記録領域に記録されるデータの内、終端子よりも前に配置される解読対象データを示しており、終端子よりも後に配置される埋め草コードは省略している。本構成では、例えば、この埋め草コードの領域を全て白セルのみで表示するようにし、この領域を空き領域210として扱うようにすることができる。
そして、このような例でも、第4実施形態と同様の方法で特徴領域(例えば、図26(B)の二点鎖線で示すフォーマット領域を含んだ領域であって、特定パターン領域及び空き領域210以外の領域)を構成することができ、この特徴領域の明暗を、第4実施形態で説明したいずれかの組み合わせ候補(組み合わせ候補1、2、3のいずれか)によって構成することができる。そして、解読の際には、固定領域(図26(B)の二点鎖線で示すフォーマット領域等)に対して、組み合わせ候補1に対応するセル位置での読み取りと、組み合わせ候補2に対応するセル位置での読み取りと、組み合わせ候補3に対応するセル位置での読み取りを全て行い、読み取りが成功する組み合わせ候補を特定し、その成功した組み合わせ候補に対応付けられた読取方法で、その他の領域(データ記録領域や誤り訂正データ記録領域など)を解読すればよい。例えば、二点鎖線で示すフォーマット領域、データ記録領域、誤り訂正データ記録領域が、組み合わせ候補2(第2候補)で構成される場合、即ち、小領域全体が白色で表わされた明色セル(図10(E)と同様の明色セル)と、小領域の一部に三日月形の黒色塗り潰し領域が表された暗色セル(図10(C)と同様の暗色セル)とが配列されている場合、二点鎖線で示すフォーマット領域は、組み合わせ候補2に対応する読取方法(組み合わせ候補2に対応するセル位置での読み取り)での読み取りが成功することになるため、データ記録領域や誤り訂正データ記録領域も、組み合わせ候補2に対応する読み取り方法で読み取りを行うことになる。
なお、この例では、空き領域210を備えたQRコード(登録商標)を例に挙げたが、空き領域210を有さないQRコードでも同様に特徴領域を構成することができ、この場合でも、固定領域(フォーマット情報の領域等)に対する複数方法の解読結果に基づいて、セルの認識方法を特定し、その特定結果をその他の領域に適用すればよい。
[第6実施形態]
次に、第6実施形態について説明する。
第6実施形態の情報コード利用システムも、ハードウェア構成については第1実施形態と同一であり、上述した図1、図2のような構成が用いられる。
第6実施形態の情報コード利用システムでは、情報コード生成装置2(図1等参照)により図27(B)のような情報コード300を生成する。この構成でも、コード領域の内部に、予め定められた形状の特定パターン(L字状のアライメントパターン304a及び明色セルと暗色セルが1セルずつ交互に配置され、コード領域の境界に沿ったL字状の領域を構成するタイミングパターン(タイミングセル)304b)が配置される特定パターン領域と、複数種類のセルによってデータを記録するデータ記録領域とを設け、コード領域の内部において、特定パターン領域以外の位置に、データ記録領域にデータを記録する方法とは異なる方法で、データの記録又はデザインの表示の少なくともいずれかが可能となる空き領域310を、単一のセルのサイズよりも大きい所定サイズで設けている。
この構成では、空き領域310の構成以外は、公知のデータマトリックスコードとして構成されており、まず、図27(A)のように、コード領域の内部に、特定パターン領域と、データ記録領域と、複数種類のセルによって誤り訂正符号を記録する誤り訂正符号記録領域とを設けている。なお、データ記録領域でのデータコードワードの記録方法及び誤り訂正符号記録領域での誤り訂正コードワードの記録方法は公知のデータマトリックスコードと同様であり、コード領域内のアライメントパターン304aやタイミングパターン304bの配置、データ記録領域におけるデータコードワードの配置、誤り訂正符号記録領域での誤り訂正コードワードの配置は、例えばECC200バージョンに従って定められている。
但し、図27(A)のように、一部領域のコードワードを、白セルのみによって表現されるコードワードとして構成した情報コード300’を生成し、このように白セルのみによって表現される領域ARを空き領域310として、図27(B)のように、この空き領域310内に画像を表している。図27(B)のように空き領域310に画像を表す場合、図27(A)のような本来のデータ表示とは異なった構成になるが、この空き領域310でのデータの誤りは、誤り訂正符号記録領域に記録された誤り訂正符号を用いて公知の誤り訂正を行えばよい。
また、図27(B)に示す情報コード300では、空き領域310の位置が予め特定されるため、空き領域310内にデザインや情報を付加して表示する場合にはこの表示による誤り位置が予め分かっていることになる。従って、空き領域310の位置を誤り位置として消失訂正を行うように誤り訂正符号記録領域の誤り訂正符号を構成することもできる。この場合、空き領域310の位置を示す情報を予めデータ記録領域に記録しておいたり、或いは、予め読取装置10(図1)内に記憶しておくことで、読取時に読取装置10が空き領域310の位置(即ち、誤りが生じているデータコードワードの位置)を特定することができるようになり、読取装置10は、このように位置が特定された空き領域310に存在するデータコードワードの誤りを訂正するように、誤り訂正符号記録領域に記録された誤り訂正符号を用いて消失訂正を行うようにすればよい。
また、図27のように既存のデータマトリックスコードの一部を空き領域310として構成する場合、データ記録領域に記録されるデータにおいて、図28(B)のような識別情報を含ませておけばよい。図28(B)は、データ記録領域に記録される解読対象データ構成を概念的に示しており、この例では、解読対象データの先頭部分に、所定構成(%%IMAGE%%)のデータが付されている。このように構成しておけば、読取装置10は、データ記録領域に記録される解読対象データの中からこの識別情報(%%IMAGE%%)を検出したときに、空き領域310の画像認識処理を行うことができるようになり、逆に、識別情報(%%IMAGE%%)を検出できないときには通常のデコード処理を行うことになる。また、この例では、データ記録領域のデータとして、通常のデータ以外に、画像領域の位置を特定する位置データや、その他の付随情報が含まれていることが望ましい。
そして、このような例でも、第4、第5実施形態と同様の方法で特徴領域を構成することができ、この特徴領域の明暗を、第4実施形態で説明したいずれかの組み合わせ候補によって構成することができる。そして、解読の際には、いずれかの固定領域に対して、組み合わせ候補1に対応するセル位置での読み取りと、組み合わせ候補2に対応するセル位置での読み取りと、組み合わせ候補3に対応するセル位置での読み取りを全て行い、読み取りが成功する組み合わせ候補を特定し、その成功した組み合わせ候補に対応付けられた読取方法で、その他の領域(データ記録領域や誤り訂正データ記録領域など)を解読すればよい。
なお、この例では、空き領域310を備えたデータマトリックスコードを例に挙げたが、空き領域310を有さないデータマトリックスコードでも同様に特徴領域を構成することができ、この場合でも、固定領域に対する複数方法の解読結果に基づいて、セルの認識方法を特定し、その特定結果をその他の領域に適用すればよい。
[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
本発明は、上述したいずれか1又は複数若しくは全ての情報コードを表示し得る表示装置として構成することもできる。また、上述したいずれか1又は複数若しくは全ての情報コードを印刷し得る印刷装置として構成することもできる。更に、上述したいずれか1又は複数若しくは全ての情報コードを生成するためのコンピュータ読取可能なプログラムとして構成することもできる。また、上述した1又は複数若しくは全ての情報コードを生成するためのプログラムを記録した記録媒体として構成することもできる。更に、上述した1又は複数若しくは全ての情報コードが付された情報コード媒体(印刷物、ダイレクトマーキング等によって構成された形成物など)として把握することもできる。また、上述した1又は複数若しくは全ての情報コードが表示された表示画像として把握することもできる。
図1等の構成では、情報コード生成装置2と情報コード読取装置10が別々の装置として構成された例を示しているが、情報コード生成装置2が情報コード読取装置10として構成されていてもよい。また、情報コード生成装置2が、複数の装置によって構成されていてもよく、情報コード読取装置10が複数の装置によって構成されていてもよい。
上記実施形態では、他種コードとしてQRコードを例に挙げ、情報コード100で用いる特定パターンとしてQRコードの特定パターンを例に挙げたが、これ以外の種類の二次元コードを用いてもよい。例えば、他種コードとしてデータマトリックスコードを用い、情報コード100で用いる特定パターンをデータマトリックスコードの特定パターンとしてもよい。
上述した様々な実施形態では、主に、コード領域の中央部に空き領域110を設けた例を示したが、空き領域110の配置はこの例に限られない。例えば、コード領域の周縁付近に空き領域を設けてもよい。また、空き領域のデザインとしては、図形、模様、色彩又はこれらの結合からなる構成であれば他の様々なデザインを採用することができる。また、デザインに代えて、或いはデザインと共に情報を表示する場合、その情報の内容は様々である。また、「コード領域」は、情報コードを構成する複数種類のセルを全て含む最小の正方形領域又は長方形領域であればよく、コード領域の内縁部の一部にセルが配列されていなくてもよい。
例えば、図29の情報コード800ように、空き領域810がコード領域の周縁部に隣接して形成されていてもよい。この場合、情報コード800を構成する複数種類のセルを全て含む最小の正方形領域又は長方形領域は、一点鎖線ARのようになり、空き領域810の外縁は、例えば二点鎖線AR2のようになる。また、空き領域はコード領域内に少なくとも一部が存在すればよく、図30の画像領域AR3ように、空き領域810から続く絵柄等(図30では画像612)がコード領域外に存在するような構成であってもよい。図30のような例では、予め画像領域AR3(空き領域810の画像とそれに続く外側の画像の領域)がどのような範囲になるかを特定する情報をデータ記録領域に記録しておけばよい。
上述した様々な実施形態では、主に、コード領域内を構成する複数種類のセルとして、白色セルなどの明セルと黒色セルなどの暗セルを例示したが、コード領域内の特定パターン領域、データ記録領域、誤り訂正符号記録領域が、所定の濃度、輝度、色彩の第1種セルと、この第1種セルとは濃度、輝度、色彩のいずれかが異なる第2種セルに構成されていてもよい。或いは、コード領域内の特定パターン領域、データ記録領域、誤り訂正符号記録領域が、濃度、輝度、色彩のいずれかがそれぞれ異なる三種類以上のセルによって構成されていてもよい。
上記実施形態(主に、第1、第4実施形態)では、セルの形状として、正方形状のセル、三日月形のセル、ドーナツ型のセルを例示したが、セルの形状はこれら以外の図形(例えば、四角形以外の多角形や、円形、楕円形などの図形)であってもよい。
上記実施形態では、特定パターンの例として位置検出パターン104、タイミングパターン106、セパレータ109などを例示したが、データ記録領域及び誤り訂正符号記録領域の内容に関係なく固定のパターンとして構成される領域であれば、特定パターンを構成する図形は他の固有図形であってもよい。
上記実施形態では、空き領域の一例を示したが、空き領域は、セルによって解読対象データが記録されない領域であり、データ記録領域にデータを記録する方法とは異なる方法で情報の表示又は画像の表示がなされる領域であればよい。例えば、第1実施形態のように、コードワードが全く配置されない領域として空き領域が構成されていてもよく、公知のQRコードなどにおいて、誤り訂正符号を表現する誤り訂正コードワードや解読対象データを表現するデータコードワードが配置されず、埋め草コードワードが配置される領域を空き領域としてもよい。また、いずれの空き領域の場合でも、「セルによってデータ記録領域にデータを記録する方法とは異なる方法で情報の表示」を行うことができ、この情報の表示は、上記実施形態で例示される情報のほか、例えば、文字、数字、その他の記号などによるその他の情報であってもよく、商標などによって特定の商品やサービスを表すような情報の表示方法であってもよい。また、空き領域では、「セルによってデータ記録領域にデータを記録する方法とは異なる方法では画像の表示」を行うことができ、この画像の表示は、上記実施形態で例示される画像のほか、様々な形状、模様、色彩、それらの結合などを表すことができる。
また、図31の情報コード900のように構成してもよい。この例は、第1実施形態と同様の空き領域を設ける構成であるが、空き領域の特定方法などが第1実施形態と異なっている。なお、図31の例では、一部の特定パターン以外の領域の具体的内容は省略して示しており、実際は、空き領域910外の外部領域に明色セルや暗色セルが配置されることになる。また、空き領域910内は、例えば第1実施形態の空き領域110と同様の画像、或いは他の実施形態の空き領域と同様の画像が表示される。
本構成でも、情報コード900の種別において複数の型番が用意されており、型番毎にセルの行数及び列数、特定パターンの形状及び位置、フォーマット情報の位置、コードワードの候補位置(アドレス)が予め定められている。そして、生成装置2が情報コード900を生成する際には、型番情報をコード領域内の決められた位置(図31の例では、ヘッダ格納領域としての予約領域107)に配置するようになっている。なお、予約領域107は、あくまで一例であり、これよりも広い固定領域として設けてもよい。読取装置10が情報コード900を読み取る際には、情報コード900のコード画像を解析し、所定位置に配置された型番情報を読み取ることで、情報コード900のセルの行数及び列数、特定パターンの形状及び位置、フォーマット情報の位置、コードワードの候補位置(アドレス)を把握できることになる。
情報コード900を生成する際には、予め用意された複数の型番の中からいずれかの型番を選択する。これにより、コード領域内の基本構成(特定パターン104の位置、セルの行数及び列数、コードワードの候補位置)が決定する。例えば、図31に示す構成の型番では、29行29列のセル配列となっており、予め定められた3つの角部に、QRコード(登録商標)の切り出しシンボルと同一の構造の特定パターン104が配置されるようになっている。そして、特定パターン104の近くの所定位置に、フォーマット情報を記録する領域(所定位置105)が設けられている。また、29行29列のマトリックス領域において、特定パターン104及び所定位置105以外の位置に、予めコードワードの候補位置が定められており、各候補位置に0〜67までのアドレスが割り当てられている。このように、型番に対応する構成で予めコード領域内の構成が規定されているため、型番が特定されれば、どの順番のコードワードがどの位置に配置されるかを特定することが可能となる。なお、決定した型番の情報は、その型番の配列において予め定められた固定位置に記録される。例えば図31の例では、所定種類のハッチングで特定される領域107に型番の情報が記録されるようになっている。
そして、型番が決定し、コード領域内の基本構成が決定した後には、空き領域の形状及び位置を決定する。空き領域の形状の決定方法は、例えば、予め用意された複数の候補形状の中から選定する方式で決定してもよく、或いは、情報コード生成装置2に対して外部から入力された形状指定情報に従った形状に設定する方式で決定してもよい。或いは、決められた固定形状のみに決定してもよい。また、空き領域の位置については、予め決められた固定位置に決定してもよく、ユーザが位置を指定する情報を入力することで、その位置に決定するようにしてもよい。空き領域の位置や形状の情報は、上述した予約領域107やその他の領域に記憶しておけば、読み取りの際に空き領域の位置を特定できるようになる。
そして、空き領域が決定した後には、決定された空き領域の位置から外れるコードワードの候補位置に、データ記録領域のコードワード及び誤り訂正符号記録領域のコードワードをそれぞれ配置する構成で情報コード900を生成する。例えば、図31のような構成の型番では、3つの角部に特定パターン104が配置され、これら特定パターン104の位置を基準として、0〜67の番号が付された68個のコードワードの候補位置が予め規定されている。このようなレイアウトにおいて、図31のように空き領域910が決定した場合、少なくとも一部が空き領域910内に入るコードワードの候補位置を配置対象位置から除外し、その除外されたコードワードの位置を飛ばすようにして、順番にコードワードを配置する。例えば、図31の例では、50、51番、53、54番、60〜67番のコードワードの候補位置に入り込むように空き領域910が設定されているため、これら50、51番、53、54番、60〜67番のコードワードの候補位置にはコードワードを配置しないようにする。即ち、0〜49番の位置に順番にコードワードを配置した後、50、51番を飛ばして52番の位置にコードワードを配置し、その後、53、54番を飛ばして55〜59番の位置にコードワードを順番に配置することになる。このようにすれば、解読対象データを符号化したデータコードワードと、誤り訂正符号を表す誤り訂正コードワードとを、空き領域910から外れた候補位置に確実に配置することができる。
このように特定パターン領域(特定パターン104やその他の特定パターンの領域)、フォーマット領域(所定位置105)、型番領域107、各コードワード領域などを決定した後には、空き領域910の具体的な内容を決定する。この情報コード900でも、空き領域910に、空き領域110と同様の画像を表すことで、図1と同様の機能を有する情報コード900を構成することができる。なお、情報コード900の利用方法は第1実施形態やその他の実施形態と同様である。
なお、この例では、第1実施形態と同様の方法を適用してもよい。例えば、いずれかの領域を、固定領域として構成されるヘッダ格納領域とし、このヘッダ格納領域に特徴情報を記録する一方で、この特徴情報で指定される特徴領域内の小領域の状態を、当該特徴情報でセル位置が特定されるような構造としてもよい。或いは、第1実施形態以外のその他の実施形態の思想を適用してもよい。